]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux...
authorLothar Waßmann <LW@KARO-electronics.de>
Wed, 2 Jul 2014 12:13:45 +0000 (14:13 +0200)
committerLothar Waßmann <LW@KARO-electronics.de>
Wed, 2 Jul 2014 12:13:45 +0000 (14:13 +0200)
218 files changed:
Documentation/devicetree/bindings/fb/mxsfb.txt
Documentation/devicetree/bindings/input/touchscreen/elan-ts.txt [new file with mode: 0644]
Documentation/devicetree/bindings/mlb/mlb150.txt [new file with mode: 0644]
Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
Documentation/devicetree/bindings/sound/imx-audio-cs42888.txt [new file with mode: 0644]
Documentation/devicetree/bindings/sound/imx-audio-si476x.txt [new file with mode: 0644]
Documentation/devicetree/bindings/video/fsl,mipi-csi2.txt [new file with mode: 0644]
Documentation/devicetree/bindings/video/fsl,pxp.txt [new file with mode: 0644]
Documentation/devicetree/bindings/video/fsl,v4l2-capture.txt [new file with mode: 0644]
Documentation/devicetree/bindings/video/hannstar,cabc.txt [new file with mode: 0644]
Documentation/devicetree/bindings/video/mxc_hdmi_video.txt [new file with mode: 0644]
arch/arm/Kconfig
arch/arm/boot/dts/Makefile
arch/arm/boot/dts/imx6dl-tx6dl-comtft.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6dl-tx6u-801x.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6dl-tx6u-811x.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6dl.dtsi
arch/arm/boot/dts/imx6q-arm2-hsic.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6q-tx6q-1010-comtft.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6q-tx6q-1010.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6q-tx6q-1020-comtft.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6q-tx6q-1020.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6q-tx6q-1110.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6q.dtsi
arch/arm/boot/dts/imx6qdl-tx6.dtsi [new file with mode: 0644]
arch/arm/boot/dts/imx6qdl.dtsi
arch/arm/configs/imx_v6_v7_defconfig
arch/arm/configs/imx_v7_defconfig [new file with mode: 0644]
arch/arm/configs/imx_v7_mfg_defconfig [new file with mode: 0644]
arch/arm/configs/tx6_defconfig [new file with mode: 0644]
arch/arm/mach-imx/anatop.c
arch/arm/mach-imx/clk-gate2.c
arch/arm/mach-imx/clk-imx6q.c
arch/arm/mach-imx/clk-imx6sl.c
arch/arm/mach-imx/clk-pfd.c
arch/arm/mach-imx/clk-pllv3.c
arch/arm/mach-imx/clk.h
arch/arm/mach-imx/hardware.h
arch/arm/mach-imx/mx6.h [new file with mode: 0644]
arch/arm/mach-imx/mxc.h
arch/arm/mach-imx/system.c
drivers/Kconfig
drivers/Makefile
drivers/char/Kconfig
drivers/char/Makefile
drivers/char/fsl_otp.c [new file with mode: 0644]
drivers/char/mxs_viim.c [new file with mode: 0644]
drivers/dma/Kconfig
drivers/dma/Makefile
drivers/dma/pxp/Makefile [new file with mode: 0644]
drivers/dma/pxp/pxp_device.c [new file with mode: 0644]
drivers/dma/pxp/pxp_dma_v2.c [new file with mode: 0644]
drivers/dma/pxp/regs-pxp_v2.h [new file with mode: 0644]
drivers/gpu/drm/Kconfig
drivers/gpu/drm/Makefile
drivers/gpu/drm/vivante/Makefile [new file with mode: 0644]
drivers/gpu/drm/vivante/vivante_drv.c [new file with mode: 0644]
drivers/gpu/drm/vivante/vivante_drv.h [new file with mode: 0644]
drivers/input/keyboard/gpio_keys.c
drivers/input/keyboard/imx_keypad.c
drivers/input/misc/mma8450.c
drivers/media/platform/Kconfig
drivers/media/platform/Makefile
drivers/media/platform/mxc/capture/Kconfig [new file with mode: 0644]
drivers/media/platform/mxc/capture/Makefile [new file with mode: 0644]
drivers/media/platform/mxc/capture/adv7180.c [new file with mode: 0644]
drivers/media/platform/mxc/capture/csi_v4l2_capture.c [new file with mode: 0644]
drivers/media/platform/mxc/capture/fsl_csi.c [new file with mode: 0644]
drivers/media/platform/mxc/capture/fsl_csi.h [new file with mode: 0644]
drivers/media/platform/mxc/capture/ipu_bg_overlay_sdc.c [new file with mode: 0644]
drivers/media/platform/mxc/capture/ipu_csi_enc.c [new file with mode: 0644]
drivers/media/platform/mxc/capture/ipu_fg_overlay_sdc.c [new file with mode: 0644]
drivers/media/platform/mxc/capture/ipu_prp_enc.c [new file with mode: 0644]
drivers/media/platform/mxc/capture/ipu_prp_sw.h [new file with mode: 0644]
drivers/media/platform/mxc/capture/ipu_prp_vf_sdc.c [new file with mode: 0644]
drivers/media/platform/mxc/capture/ipu_prp_vf_sdc_bg.c [new file with mode: 0644]
drivers/media/platform/mxc/capture/ipu_still.c [new file with mode: 0644]
drivers/media/platform/mxc/capture/mxc_v4l2_capture.c [new file with mode: 0755]
drivers/media/platform/mxc/capture/mxc_v4l2_capture.h [new file with mode: 0644]
drivers/media/platform/mxc/capture/ov5640.c [new file with mode: 0644]
drivers/media/platform/mxc/capture/ov5640_mipi.c [new file with mode: 0644]
drivers/media/platform/mxc/capture/ov5642.c [new file with mode: 0755]
drivers/media/platform/mxc/output/Kconfig [new file with mode: 0644]
drivers/media/platform/mxc/output/Makefile [new file with mode: 0644]
drivers/media/platform/mxc/output/mxc_pxp_v4l2.c [new file with mode: 0644]
drivers/media/platform/mxc/output/mxc_pxp_v4l2.h [new file with mode: 0644]
drivers/media/platform/mxc/output/mxc_vout.c [new file with mode: 0644]
drivers/media/v4l2-core/videobuf-dma-contig.c
drivers/mxc/Kconfig [new file with mode: 0644]
drivers/mxc/Makefile [new file with mode: 0644]
drivers/mxc/asrc/Kconfig [new file with mode: 0644]
drivers/mxc/asrc/Makefile [new file with mode: 0644]
drivers/mxc/asrc/mxc_asrc.c [new file with mode: 0644]
drivers/mxc/gpu-viv/Kbuild [new file with mode: 0644]
drivers/mxc/gpu-viv/Kconfig [new file with mode: 0644]
drivers/mxc/gpu-viv/arch/GC350/hal/kernel/gc_hal_kernel_hardware_command_vg.c [new file with mode: 0644]
drivers/mxc/gpu-viv/arch/GC350/hal/kernel/gc_hal_kernel_hardware_command_vg.h [new file with mode: 0644]
drivers/mxc/gpu-viv/arch/GC350/hal/kernel/gc_hal_kernel_hardware_vg.c [new file with mode: 0644]
drivers/mxc/gpu-viv/arch/GC350/hal/kernel/gc_hal_kernel_hardware_vg.h [new file with mode: 0644]
drivers/mxc/gpu-viv/arch/XAQ2/hal/kernel/gc_hal_kernel_context.c [new file with mode: 0644]
drivers/mxc/gpu-viv/arch/XAQ2/hal/kernel/gc_hal_kernel_context.h [new file with mode: 0644]
drivers/mxc/gpu-viv/arch/XAQ2/hal/kernel/gc_hal_kernel_hardware.c [new file with mode: 0644]
drivers/mxc/gpu-viv/arch/XAQ2/hal/kernel/gc_hal_kernel_hardware.h [new file with mode: 0644]
drivers/mxc/gpu-viv/config [new file with mode: 0644]
drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel.c [new file with mode: 0644]
drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel.h [new file with mode: 0644]
drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_command.c [new file with mode: 0644]
drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_command_vg.c [new file with mode: 0644]
drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_db.c [new file with mode: 0644]
drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_debug.c [new file with mode: 0644]
drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_event.c [new file with mode: 0644]
drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_heap.c [new file with mode: 0644]
drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_interrupt_vg.c [new file with mode: 0644]
drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_mmu.c [new file with mode: 0644]
drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_mmu_vg.c [new file with mode: 0644]
drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_power.c [new file with mode: 0644]
drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_precomp.h [new file with mode: 0644]
drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_vg.c [new file with mode: 0644]
drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_vg.h [new file with mode: 0644]
drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_video_memory.c [new file with mode: 0644]
drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal.h [new file with mode: 0644]
drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_base.h [new file with mode: 0644]
drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_compiler.h [new file with mode: 0644]
drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_driver.h [new file with mode: 0644]
drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_driver_vg.h [new file with mode: 0644]
drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_dump.h [new file with mode: 0644]
drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_eglplatform.h [new file with mode: 0644]
drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_eglplatform_type.h [new file with mode: 0644]
drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_engine.h [new file with mode: 0644]
drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_engine_vg.h [new file with mode: 0644]
drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_enum.h [new file with mode: 0644]
drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_kernel_buffer.h [new file with mode: 0644]
drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_mem.h [new file with mode: 0644]
drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_options.h [new file with mode: 0644]
drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_profiler.h [new file with mode: 0644]
drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_raster.h [new file with mode: 0644]
drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_rename.h [new file with mode: 0644]
drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_statistics.h [new file with mode: 0644]
drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_types.h [new file with mode: 0644]
drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_version.h [new file with mode: 0644]
drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_vg.h [new file with mode: 0644]
drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_debug.h [new file with mode: 0644]
drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_debugfs.c [new file with mode: 0644]
drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_debugfs.h [new file with mode: 0644]
drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_device.c [new file with mode: 0644]
drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_device.h [new file with mode: 0644]
drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_driver.c [new file with mode: 0644]
drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.c [new file with mode: 0644]
drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h [new file with mode: 0644]
drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_math.c [new file with mode: 0644]
drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c [new file with mode: 0644]
drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.h [new file with mode: 0644]
drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_sync.c [new file with mode: 0644]
drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_sync.h [new file with mode: 0644]
drivers/mxc/ipu3/Kconfig [new file with mode: 0644]
drivers/mxc/ipu3/Makefile [new file with mode: 0644]
drivers/mxc/ipu3/ipu_calc_stripes_sizes.c [new file with mode: 0644]
drivers/mxc/ipu3/ipu_capture.c [new file with mode: 0644]
drivers/mxc/ipu3/ipu_common.c [new file with mode: 0644]
drivers/mxc/ipu3/ipu_device.c [new file with mode: 0644]
drivers/mxc/ipu3/ipu_disp.c [new file with mode: 0644]
drivers/mxc/ipu3/ipu_ic.c [new file with mode: 0644]
drivers/mxc/ipu3/ipu_param_mem.h [new file with mode: 0644]
drivers/mxc/ipu3/ipu_pixel_clk.c [new file with mode: 0644]
drivers/mxc/ipu3/ipu_prv.h [new file with mode: 0644]
drivers/mxc/ipu3/ipu_regs.h [new file with mode: 0644]
drivers/mxc/ipu3/vdoa.c [new file with mode: 0644]
drivers/mxc/ipu3/vdoa.h [new file with mode: 0644]
drivers/mxc/vpu/Kconfig [new file with mode: 0644]
drivers/mxc/vpu/Makefile [new file with mode: 0644]
drivers/mxc/vpu/mxc_vpu.c [new file with mode: 0644]
drivers/pinctrl/pinctrl-imx.c
drivers/pinctrl/pinctrl-imx.h
drivers/pinctrl/pinctrl-imx6sl.c
drivers/regulator/core.c
drivers/rtc/rtc-snvs.c
drivers/thermal/Kconfig
drivers/thermal/Makefile
drivers/thermal/device_cooling.c [new file with mode: 0644]
drivers/thermal/imx_thermal.c
drivers/usb/host/ehci-hub.c
drivers/video/Kconfig
drivers/video/Makefile
drivers/video/fbdev/mxsfb.c
drivers/video/mxc/Kconfig [new file with mode: 0644]
drivers/video/mxc/Makefile [new file with mode: 0644]
drivers/video/mxc/ldb.c [new file with mode: 0644]
drivers/video/mxc/mxc_dispdrv.c [new file with mode: 0644]
drivers/video/mxc/mxc_dispdrv.h [new file with mode: 0644]
drivers/video/mxc/mxc_ipuv3_fb.c [new file with mode: 0644]
drivers/video/mxc/mxc_lcdif.c [new file with mode: 0644]
firmware/Makefile
firmware/imx/epdc_E060SCM.fw.ihex [new file with mode: 0644]
firmware/imx/epdc_E60_V110.fw.ihex [new file with mode: 0644]
firmware/imx/epdc_E60_V220.fw.ihex [new file with mode: 0644]
firmware/imx/epdc_E97_V110.fw.ihex [new file with mode: 0644]
firmware/imx/sdma/sdma-imx6q.bin.ihex [new file with mode: 0644]
include/linux/device_cooling.h [new file with mode: 0644]
include/linux/ipu-v3.h [new file with mode: 0644]
include/linux/ipu.h [new file with mode: 0644]
include/linux/mxc_asrc.h [new file with mode: 0644]
include/linux/mxc_v4l2.h [new file with mode: 0644]
include/linux/mxc_vpu.h [new file with mode: 0644]
include/linux/mxcfb.h [new file with mode: 0644]
include/linux/platform_data/dma-imx.h
include/linux/pxp_device.h [new file with mode: 0644]
include/linux/pxp_dma.h [new file with mode: 0644]
include/linux/regulator/consumer.h
include/linux/usb/chipidea.h
include/linux/usb/phy.h
include/uapi/linux/Kbuild
include/uapi/linux/ipu.h [new file with mode: 0644]
include/uapi/linux/mxc_asrc.h [new file with mode: 0644]
include/uapi/linux/mxc_v4l2.h [new file with mode: 0644]
include/uapi/linux/mxcfb.h [new file with mode: 0644]
include/uapi/linux/pxp_device.h [new file with mode: 0644]
include/uapi/linux/pxp_dma.h [new file with mode: 0644]
sound/soc/codecs/wm8962.c

index 96ec5179c8a00199e2056ee574c3c55aef37bae3..db41376d503e351f09156c2cf28b4e8fb4095d72 100644 (file)
@@ -3,6 +3,9 @@
 Required properties:
 - compatible: Should be "fsl,<chip>-lcdif".  Supported chips include
   imx23 and imx28.
+- pinctrl-names: Should be "default"
+- pinctrl-0: pinctrl setting for lcd
+- lcd-supply: lcd power supply, usually via GPIO
 - reg: Address and length of the register set for lcdif
 - interrupts: Should contain lcdif interrupts
 - display : phandle to display node (see below for details)
@@ -22,6 +25,10 @@ lcdif@80030000 {
        compatible = "fsl,imx28-lcdif";
        reg = <0x80030000 2000>;
        interrupts = <38 86>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&lcdif_24bit_pins_a
+                    &lcdif_pins_evk>;
+       lcd-supply = <&reg_lcd_3v3>;
 
        display: display {
                bits-per-pixel = <32>;
diff --git a/Documentation/devicetree/bindings/input/touchscreen/elan-ts.txt b/Documentation/devicetree/bindings/input/touchscreen/elan-ts.txt
new file mode 100644 (file)
index 0000000..71253bb
--- /dev/null
@@ -0,0 +1,23 @@
+* ELAN Resistive Touch Controller
+
+Required properties:
+- compatible: must be "elan,elan-touch"
+- reg: i2c slave address
+- interrupt-parent: the phandle for the interrupt controller
+- interrupts: touch controller interrupt
+- gpio_elan_cs: the gpio pin for chip select
+- gpio_elan_rst: the gpio pin for chip reset
+- gpio_intr: the gpio pin to be used for interrupt pin
+
+Example:
+
+       elan@10 {
+               compatible = "elan,elan-touch";
+               reg = <0x10>;
+               interrupt-parent = <&gpio3>;
+               interrupts = <28 3>;
+               gpio_elan_cs = <&gpio2 18 0>;
+               gpio_elan_rst = <&gpio3 8 0>;
+               gpio_intr = <&gpio3 28 0>;
+               status = "okay";
+       };
diff --git a/Documentation/devicetree/bindings/mlb/mlb150.txt b/Documentation/devicetree/bindings/mlb/mlb150.txt
new file mode 100644 (file)
index 0000000..a96f0d6
--- /dev/null
@@ -0,0 +1,22 @@
+* Freescale Media Local Bus Host Controller (MLB) for i.MX6Q/DL
+
+The Media Local Bus Host Controller on Freescale i.MX family
+provides an interface for MOST network.
+
+Required properties:
+- compatible : Should be "fsl,<chip>-mlb150"
+- reg : Should contain mlb registers location and length
+- interrupts : Should contain mlb interrupt
+- clocks: Should contain the mlb clock sources
+- clock-names: Should be the names of mlb clock sources
+- iram : phandle pointing to the SRAM device node
+
+Examples:
+mlb@0218c000 {
+       compatible = "fsl,imx6q-mlb150";
+       reg = <0x0218c000 0x4000>;
+       interrupts = <0 53 0x04 0 117 0x04 0 126 0x04>;
+       clocks = <&clks 139>, <&clks 175>;
+       clock-names = "mlb", "pll8_mlb";
+       iram = <&ocram>;
+};
index fa40a177164ce0b68ace98b0adf05855989bc623..70028f6c7138a5af0a91d5f4f59ab0282cac38bc 100644 (file)
@@ -71,6 +71,13 @@ pinctrl-names:       The list of names to assign states. List entry 0 defines the
                name for integer state ID 0, list entry 1 for state ID 1, and
                so on.
 
+pinctrl-assert-gpios:
+               List of phandles, each pointing at a GPIO which is used by some
+               board design to steer pins between two peripherals on the board.
+               It plays like a board level pin multiplexer to choose different
+               functions for given pins by pulling up/down the GPIOs.  See
+               bindings/gpio/gpio.txt for details of how to specify GPIO.
+
 For example:
 
        /* For a client device requiring named states */
diff --git a/Documentation/devicetree/bindings/sound/imx-audio-cs42888.txt b/Documentation/devicetree/bindings/sound/imx-audio-cs42888.txt
new file mode 100644 (file)
index 0000000..af746c4
--- /dev/null
@@ -0,0 +1,25 @@
+Freescale i.MX audio complex with CS42888 codec
+
+Required properties:
+- compatible : "fsl,imx-audio-cs42888"
+- model : The user-visible name of this sound complex
+- esai-controller : The phandle of the i.MX SSI controller
+- audio-codec : The phandle of the CS42888 audio codec
+
+Optional properties:
+- asrc-controller : The phandle of the i.MX ASRC controller
+- audio-routing : A list of the connections between audio components.
+  Each entry is a pair of strings, the first being the connection's sink,
+  the second being the connection's source. Valid names could be power
+  supplies, CS42888 pins, and the jacks on the board:
+
+Example:
+
+sound {
+       compatible = "fsl,imx6q-sabresd-wm8962",
+                    "fsl,imx-audio-wm8962";
+       model = "cs42888-audio";
+       esai-controller = <&esai>;
+       asrc-controller = <&asrc_p2p>;
+       audio-codec = <&codec>;
+};
diff --git a/Documentation/devicetree/bindings/sound/imx-audio-si476x.txt b/Documentation/devicetree/bindings/sound/imx-audio-si476x.txt
new file mode 100644 (file)
index 0000000..53cd34a
--- /dev/null
@@ -0,0 +1,24 @@
+Freescale i.MX audio complex with si476x codec
+
+Required properties:
+- compatible : "fsl,imx-audio-si476x"
+- model : The user-visible name of this sound complex
+- ssi-controller : The phandle of the i.MX SSI controller
+
+- mux-int-port : The internal port of the i.MX audio muxer (AUDMUX)
+- mux-ext-port : The external port of the i.MX audio muxer
+
+Note: The AUDMUX port numbering should start at 1, which is consistent with
+hardware manual.
+
+Example:
+
+sound {
+       compatible = "fsl,imx-audio-si476x",
+                    "fsl,imx-tuner-si476x";
+       model = "imx-radio-si476x";
+
+       ssi-controller = <&ssi1>;
+       mux-int-port = <2>;
+       mux-ext-port = <5>;
+};
diff --git a/Documentation/devicetree/bindings/video/fsl,mipi-csi2.txt b/Documentation/devicetree/bindings/video/fsl,mipi-csi2.txt
new file mode 100644 (file)
index 0000000..4b50280
--- /dev/null
@@ -0,0 +1,42 @@
+* Freescale MIPI CSI2 Controller for i.MX6DQ/i.MX6SDL
+
+Required properties for mipi csi2 controller:
+- compatible: should be "fsl,imx6q-mipi-csi2"
+- reg: <base addr, range> contains mipi csi2 register base address and range
+- interrupts: <type num flag> where type is a interrupt type, num is the
+  interrupt number and flag is a field that level/trigger information for
+  the interrupt.
+- clocks: the clock sources that mipi csi2 depends on.
+- clock-names: the name is related to the clock source one by one.
+- status: should be set to "disable".
+
+Required properties for mipi csi2 on specified board:
+- ipu_id: ipu id which mipi csi2 connected to.
+  should be 0 or 1 for i.MX6DQ; should be 0 for i.MX6SDL
+- csi_id: csi id which mipi csi2 connected to.
+  should be 0 or 1 for i.MX6DQ/i.MX6SDL
+- v_channel: virtual channel which send to MIPI CSI2 controller
+  should keep consistent with the input MIPI signal.
+- lanes: data lanes of input MIPI signal. The maximum data lanes is 4.
+  should keep consistent with the input MIPI signal.
+- status: should be set to "okay".
+
+Examples:
+for SOC imx6qdl.dtsi:
+       mipi_csi@021dc000 {
+               compatible = "fsl,imx6q-mipi-csi2";
+               reg = <0x021dc000 0x4000>;
+               interrupts = <0 100 0x04>, <0 101 0x04>;
+               clocks = <&clks 138>, <&clks 53>;
+               clock-names = "dphy_clk", "pixel_clk";
+               status = "disabled";
+       };
+
+for board imx6qdl-sabresd.dtsi:
+       mipi_csi@021dc000 {
+               status = "okay";
+               ipu_id = <0>;
+               csi_id = <1>;
+               v_channel = <0>;
+               lanes = <2>;
+       };
diff --git a/Documentation/devicetree/bindings/video/fsl,pxp.txt b/Documentation/devicetree/bindings/video/fsl,pxp.txt
new file mode 100644 (file)
index 0000000..5b9ea40
--- /dev/null
@@ -0,0 +1,30 @@
+* Freescale PxP Controller for i.MX6DL, i.MX6SL
+
+Required properties for PxP controller:
+- compatible: should be "fsl,<soc>-pxp-dma"
+- reg: <base addr, range> contains pxp register base address and range
+- interrupts: <type num flag> where type is an interrupt type, num is the
+  interrupt number and flag is a field that level/trigger information for
+  the interrupt.
+- clocks: the clock sources that pxp depends on.
+- clock-names: the name is related to the clock source
+
+Required properties for pxp on specified board:
+- status: should be set to "okay" if want to use PxP
+
+Examples:
+for SOC imx6dl.dtsi:
+       pxp@020f0000 {
+               compatible = "fsl,imx6dl-pxp-dma";
+               reg = <0x020f0000 0x4000>;
+               interrupts = <0 98 0x04>;
+               clocks = <&clks 133>;
+               clock-names = "pxp-axi";
+               status = "disabled";
+       };
+
+
+for board imx6dl-sabresd.dts:
+       &pxp {
+               status = "okay";
+       };
diff --git a/Documentation/devicetree/bindings/video/fsl,v4l2-capture.txt b/Documentation/devicetree/bindings/video/fsl,v4l2-capture.txt
new file mode 100644 (file)
index 0000000..a2bb11b
--- /dev/null
@@ -0,0 +1,102 @@
+* Freescale V4L2 Capture for i.MX6DQ/i.MX6SDL
+
+Required board properties for IPUv3 capture:
+- clocks: should include the clock provided by i.MX6 to sensor
+- clock-names: sensor clock's name should be "ipux_csiy"
+  x should be 1 or 2 for i.MX6DQ; should be 1 for i.MX6SDL
+  y is 0 or 1 for i.MX6DQ/i.MX6SDL
+Note: other detailed information for IPUv3, please refer to
+Documentation/devicetree/bindings/fb/fsl_ipuv3_fb.txt
+
+Required properties for v4l2_capture
+- compatible: should be "fsl,imx6q-v4l2-capture"
+- ipu_id: ipu id for v4l2 capture device
+  should be 0 or 1 for i.MX6DQ; should be 0 for i.MX6SDL
+- csi_id: csi id for v4l2 capture device
+  should be 0 or 1 for i.MX6DQ/i.MX6SDL
+- mclk_source: should be 0 or 1. two mclk sources at most now
+- status: should be set to "okay" to enable this device
+
+Required properties for sensor
+- compatible:  "<vendor>,<sensor>"
+  please check the supported sensor in the Supported Sensor fields.
+- reg: sensor I2C slave address
+- pinctrl-names: should be "default" for parallel sensor
+- pinctrl-0: should depend on the connection between sensor and i.MX
+  connection between sensor and i.MX could be MIPI-CSI2 or legacy parallel
+- clocks: should be the clock source provided to sensor.
+- clock-names: should be "csi_mclk"
+- DOVDD-supply: set according to the board.
+- AVDD-supply: set according to the board.
+- DVDD-supply: set according to the board.
+- pwn-gpios: set according to the board.
+- rst-gpios: set according to the board.
+- csi_id: csi id for v4l2 capture device
+  should be 0 or 1 for i.MX6DQ/i.MX6SDL.
+- mclk: should the value of mclk clock send out the sensor. unit is Hz.
+- mclk_source: should be 0 or 1 and should be the same as the setting in
+  v4l2_capture.
+- cvbs: 1 for CVBS input, 0 YPbPr input. This property is only needed for
+  adv7180 tv decoder.
+
+Supported Sensor
+- ov5640
+- ov5642
+- ov5640_mipi
+- adv7180
+
+
+Example for IPUv3 including capture settings on imx6q-sabresd.dts:
+       ipu1: ipu@02400000 { /* IPU1 */
+               compatible = "fsl,imx6q-ipuv3";
+               reg = <0x02400000 0x400000>;
+               interrupts = <0 5 0x04>, < 0 6 0x04>;
+               clocks = <&clks 130>, <&clks 131>, <&clks 132>, <&clks 39>, <&clks 40>, <&clks 169>;
+               clock-names = "ipu1", "ipu1_di0", "ipu1_di1", "ipu1_di0_sel", "ipu1_di1_sel", "ipu1_csi0";
+               status = "disabled";
+       };
+
+Examples for v4l2_capture:
+       v4l2_cap {
+               compatible = "fsl,imx6q-v4l2-capture";
+               ipu_id = <0>;
+               csi_id = <0>;
+               mclk_source = <0>;
+               status = "okay";
+       };
+
+Examples for sensors:
+       ov5642: ov5642@3c {
+               compatible = "ovti,ov5642";
+               reg = <0x3c>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_ipu1_2>;
+               clocks = <&clks 201>;
+               clock-names = "csi_mclk";
+               DOVDD-supply = <&vgen4_reg>; /* 1.8v */
+               AVDD-supply = <&vgen3_reg>;  /* 2.8v, on rev C board is VGEN3 */
+               DVDD-supply = <&vgen2_reg>;  /* 1.5v*/
+               pwn-gpios = <&gpio1 16 1>;   /* active low: SD1_DAT0 */
+               rst-gpios = <&gpio1 17 0>;   /* active high: SD1_DAT1 */
+               csi_id = <0>;
+               mclk = <24000000>;
+               mclk_source = <0>;
+       };
+
+       adv7180: adv7180@21 {
+               compatible = "adv,adv7180";
+               reg = <0x21>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_ipu1_3>;
+               clocks = <&clks 201>;
+               clock-names = "csi_mclk";
+               DOVDD-supply = <&reg_3p3v>; /* 3.3v, enabled via 2.8 VGEN6 */
+               AVDD-supply = <&reg_3p3v>;  /* 1.8v */
+               DVDD-supply = <&reg_3p3v>;  /* 1.8v */
+               PVDD-supply = <&reg_3p3v>;  /* 1.8v */
+               pwn-gpios = <&max7310_b 2 0>;
+               csi_id = <0>;
+               mclk = <24000000>;
+               mclk_source = <0>;
+               cvbs = <1>;
+       };
diff --git a/Documentation/devicetree/bindings/video/hannstar,cabc.txt b/Documentation/devicetree/bindings/video/hannstar,cabc.txt
new file mode 100644 (file)
index 0000000..bf582ef
--- /dev/null
@@ -0,0 +1,28 @@
+* Hannstar CABC device tree bindings
+
+The Hannstar CABC function may turn a display plane's backlight
+automatically according to the content shown on the plane.  The
+function is controlled(enabled/disabled) by a GPIO.
+
+Required properties:
+- compatible : Should be "hannstar,cabc".
+
+Each standalone CABC gpio is represented as a sub-node of "hannstar_cabc":
+Required subnode properties:
+- gpios: OF device-tree gpio specification.
+
+Optional subnode properties:
+- cabc-enable: Provide this bool property if you want to enable the CABC feature.
+
+Example:
+       hannstar_cabc {
+               compatible = "hannstar,cabc";
+
+               lvds0 {
+                       gpios = <&gpio6 15 GPIO_ACTIVE_HIGH>;
+               };
+
+               lvds1 {
+                       gpios = <&gpio6 16 GPIO_ACTIVE_HIGH>;
+               };
+       };
diff --git a/Documentation/devicetree/bindings/video/mxc_hdmi_video.txt b/Documentation/devicetree/bindings/video/mxc_hdmi_video.txt
new file mode 100644 (file)
index 0000000..cb9ca73
--- /dev/null
@@ -0,0 +1,17 @@
+Device-Tree bindings for hdmi video driver
+
+Required properties:
+- compatible: value should be "fsl,imx6q-hdmi-video".
+- fsl,phy_reg_vlev: hdmi phy register,Voltage Level Control Register offset 0x0e,
+  adjust hdmi phy signal voltage level.
+- fsl,phy_reg_cksymtx: hdmi phy register, clock symbol and transmitter control
+  register offset 0x09, adjust hdmi signal pre-emphasis.
+
+Example:
+
+       hdmi_video {
+               compatible = "fsl,imx6q-hdmi-video";
+               fsl,phy_reg_vlev = <0x0294>;
+               fsl,phy_reg_cksymtx = <0x800d>;
+       };
+
index 245058b3b0ef7d5d27b7c113d6199127d8cd5a8c..e907971f44acf97083331ae1a1f18b91116de122 100644 (file)
@@ -1758,6 +1758,7 @@ config FORCE_MAX_ZONEORDER
        range 11 64 if ARCH_SHMOBILE_LEGACY
        default "12" if SOC_AM33XX
        default "9" if SA1111 || ARCH_EFM32
+       default "14" if ARCH_MXC
        default "11"
        help
          The kernel memory allocator divides physically contiguous memory
index adb5ed9e269e196a55c380002d266062fd06c3b7..37a4c8cb88fbef2be55768a981392c3337c769e7 100644 (file)
@@ -195,6 +195,9 @@ dtb-$(CONFIG_ARCH_MXC) += \
        imx6dl-sabreauto.dtb \
        imx6dl-sabrelite.dtb \
        imx6dl-sabresd.dtb \
+       imx6dl-tx6dl-comtft.dtb \
+       imx6dl-tx6u-801x.dtb \
+       imx6dl-tx6u-811x.dtb \
        imx6dl-wandboard.dtb \
        imx6q-arm2.dtb \
        imx6q-cm-fx6.dtb \
@@ -213,6 +216,11 @@ dtb-$(CONFIG_ARCH_MXC) += \
        imx6q-sabrelite.dtb \
        imx6q-sabresd.dtb \
        imx6q-sbc6x.dtb \
+       imx6q-tx6q-1010.dtb \
+       imx6q-tx6q-1010-comtft.dtb \
+       imx6q-tx6q-1020.dtb \
+       imx6q-tx6q-1020-comtft.dtb \
+       imx6q-tx6q-1110.dtb \
        imx6q-udoo.dtb \
        imx6q-wandboard.dtb \
        imx6sl-evk.dtb \
diff --git a/arch/arm/boot/dts/imx6dl-tx6dl-comtft.dts b/arch/arm/boot/dts/imx6dl-tx6dl-comtft.dts
new file mode 100644 (file)
index 0000000..1c602a4
--- /dev/null
@@ -0,0 +1,95 @@
+/*
+ * Copyright 2014 Lothar Waßmann <LW@KARO-electronics.de>
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/dts-v1/;
+#include "imx6dl.dtsi"
+#include "imx6qdl-tx6.dtsi"
+
+/ {
+       model = "Ka-Ro electronics TX6DL Module on CoMpact TFT";
+       compatible = "karo,imx6dl-tx6dl", "fsl,imx6dl";
+
+       aliases {
+               display = &display;
+               mxcfb0 = &display;
+       };
+
+       backlight: backlight {
+               compatible = "pwm-backlight";
+               pwms = <&pwm2 0 500000>;
+               power-supply = <&reg_3v3>;
+               /*
+                * a poor man's way to create a 1:1 relationship between
+                * the PWM value and the actual duty cycle
+                */
+               brightness-levels = < 0  1  2  3  4  5  6  7  8  9
+                                    10 11 12 13 14 15 16 17 18 19
+                                    20 21 22 23 24 25 26 27 28 29
+                                    30 31 32 33 34 35 36 37 38 39
+                                    40 41 42 43 44 45 46 47 48 49
+                                    50 51 52 53 54 55 56 57 58 59
+                                    60 61 62 63 64 65 66 67 68 69
+                                    70 71 72 73 74 75 76 77 78 79
+                                    80 81 82 83 84 85 86 87 88 89
+                                    90 91 92 93 94 95 96 97 98 99
+                                   100>;
+               default-brightness-level = <50>;
+        };
+
+       display: fb@2 {
+               compatible = "fsl,mxc_sdc_fb";
+               disp_dev = "lcd";
+               interface_pix_fmt = "RGB24";
+               mode_str ="ET0500";
+               default_bpp = <32>;
+               int_clk = <1>;
+               late_init = <0>;
+               status = "okay";
+       };
+
+       lcd@0 {
+               compatible = "fsl,lcd";
+               ipu_id = <0>;
+               disp_id = <0>;
+               default_ifmt = "RGB24";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_disp0_2>;
+               status = "okay";
+       };
+};
+
+&can1 {
+       status = "disabled";
+};
+
+&can2 {
+       xceiver-supply = <&reg_3v3>;
+};
+
+&kpp {
+       status = "disabled";
+};
+
+&reg_can_xcvr {
+       status = "disabled";
+};
+
+&reg_lcd0_pwr {
+       status = "okay";
+};
+
+&reg_lcd1_pwr {
+       status = "okay";
+};
+
+&touchscreen {
+       status = "disabled";
+};
diff --git a/arch/arm/boot/dts/imx6dl-tx6u-801x.dts b/arch/arm/boot/dts/imx6dl-tx6u-801x.dts
new file mode 100644 (file)
index 0000000..288fe37
--- /dev/null
@@ -0,0 +1,75 @@
+/*
+ * Copyright 2014 Lothar Waßmann <LW@KARO-electronics.de>
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/dts-v1/;
+#include "imx6dl.dtsi"
+#include "imx6qdl-tx6.dtsi"
+
+/ {
+       model = "Ka-Ro electronics TX6U-801x Module";
+       compatible = "karo,imx6dl-tx6dl", "fsl,imx6dl";
+
+       aliases {
+               display = &display;
+               mxcfb0 = &display;
+       };
+
+       backlight: backlight {
+               compatible = "pwm-backlight";
+               pwms = <&pwm2 0 500000>;
+               power-supply = <&reg_3v3>;
+               /*
+                * a poor man's way to create a 1:1 relationship between
+                * the PWM value and the actual duty cycle
+                */
+               brightness-levels = < 0  1  2  3  4  5  6  7  8  9
+                                    10 11 12 13 14 15 16 17 18 19
+                                    20 21 22 23 24 25 26 27 28 29
+                                    30 31 32 33 34 35 36 37 38 39
+                                    40 41 42 43 44 45 46 47 48 49
+                                    50 51 52 53 54 55 56 57 58 59
+                                    60 61 62 63 64 65 66 67 68 69
+                                    70 71 72 73 74 75 76 77 78 79
+                                    80 81 82 83 84 85 86 87 88 89
+                                    90 91 92 93 94 95 96 97 98 99
+                                   100>;
+               default-brightness-level = <50>;
+        };
+
+       display: fb@2 {
+               compatible = "fsl,mxc_sdc_fb";
+               disp_dev = "lcd";
+               interface_pix_fmt = "RGB24";
+               mode_str ="ET0500";
+               default_bpp = <32>;
+               int_clk = <1>;
+               late_init = <0>;
+               status = "okay";
+       };
+
+       lcd@0 {
+               compatible = "fsl,lcd";
+               ipu_id = <0>;
+               disp_id = <0>;
+               default_ifmt = "RGB24";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_disp0_2>;
+               status = "okay";
+       };
+};
+
+&reg_lcd0_pwr {
+       status = "okay";
+};
+
+&reg_lcd1_pwr {
+       status = "okay";
+};
diff --git a/arch/arm/boot/dts/imx6dl-tx6u-811x.dts b/arch/arm/boot/dts/imx6dl-tx6u-811x.dts
new file mode 100644 (file)
index 0000000..75e8be8
--- /dev/null
@@ -0,0 +1,128 @@
+/*
+ * Copyright 2014 Lothar Waßmann <LW@KARO-electronics.de>
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/dts-v1/;
+#include "imx6dl.dtsi"
+#include "imx6qdl-tx6.dtsi"
+
+/ {
+       model = "Ka-Ro electronics TX6U-811x Module";
+       compatible = "karo,imx6dl-tx6dl", "fsl,imx6dl";
+
+       aliases {
+               display = &lvds0;
+               mxcfb0 = &lvds0;
+       };
+
+       backlight0: backlight0 {
+               compatible = "pwm-backlight";
+               pwms = <&pwm2 0 500000 0>;
+               power-supply = <&reg_lcd0_pwr>;
+               /*
+                * a poor man's way to create a 1:1 relationship between
+                * the PWM value and the actual duty cycle
+                */
+               brightness-levels = < 0  1  2  3  4  5  6  7  8  9
+                                    10 11 12 13 14 15 16 17 18 19
+                                    20 21 22 23 24 25 26 27 28 29
+                                    30 31 32 33 34 35 36 37 38 39
+                                    40 41 42 43 44 45 46 47 48 49
+                                    50 51 52 53 54 55 56 57 58 59
+                                    60 61 62 63 64 65 66 67 68 69
+                                    70 71 72 73 74 75 76 77 78 79
+                                    80 81 82 83 84 85 86 87 88 89
+                                    90 91 92 93 94 95 96 97 98 99
+                                   100>;
+               default-brightness-level = <50>;
+       };
+
+       backlight1: backlight1 {
+               compatible = "pwm-backlight";
+               pwms = <&pwm1 0 500000 0>;
+               power-supply = <&reg_lcd1_pwr>;
+               /*
+                * a poor man's way to create a 1:1 relationship between
+                * the PWM value and the actual duty cycle
+                */
+               brightness-levels = < 0  1  2  3  4  5  6  7  8  9
+                                    10 11 12 13 14 15 16 17 18 19
+                                    20 21 22 23 24 25 26 27 28 29
+                                    30 31 32 33 34 35 36 37 38 39
+                                    40 41 42 43 44 45 46 47 48 49
+                                    50 51 52 53 54 55 56 57 58 59
+                                    60 61 62 63 64 65 66 67 68 69
+                                    70 71 72 73 74 75 76 77 78 79
+                                    80 81 82 83 84 85 86 87 88 89
+                                    90 91 92 93 94 95 96 97 98 99
+                                   100>;
+               default-brightness-level = <50>;
+       };
+
+       lvds0: fb@0 {
+               compatible = "fsl,mxc_sdc_fb";
+               disp_dev = "ldb";
+               interface_pix_fmt = "RGB666";
+               mode_str ="LDB-XGA";
+               default_bpp = <32>;
+               int_clk = <0>;
+               late_init = <0>;
+               status = "okay";
+       };
+};
+
+&i2c3 {
+       polytouch1: eeti@04 {
+               compatible = "eeti,egalax_ts";
+               reg = <0x04>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_eeti>;
+               interrupt-parent = <&gpio3>;
+               interrupts = <22 0>;
+               wakeup-gpios = <&gpio3 22 GPIO_ACTIVE_HIGH>;
+               linux,wakeup;
+       };
+};
+
+&iomuxc {
+       imx6dl-tx6u-811x {
+               pinctrl_eeti: eetigrp {
+                       fsl,pins = <
+                               MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x1b0b1 /* Interrupt */
+                       >;
+               };
+       };
+};
+
+&kpp {
+       status = "disabled"; /* pads partially clash with backlight1 PWM */
+};
+
+&ldb {
+       ipu_id = <0>;
+       disp_id = <0>;
+       ext_ref = <0>;
+       mode = "sep0";
+       sec_ipu_id = <1>;
+       sec_disp_id = <1>;
+       status = "okay";
+};
+
+&pwm1 {
+       status = "okay";
+};
+
+&reg_lcd0_pwr {
+       status = "okay";
+};
+
+&reg_lcd1_pwr {
+       status = "okay";
+};
index 0a9c49d69d418c4ea46320e33f055b94d4ec2c54..8df79933a15147d2fb4f584ac5d6ab6877a16d1c 100644 (file)
        };
 
        soc {
+
+               busfreq { /* BUSFREQ */
+                       compatible = "fsl,imx6_busfreq";
+                       clocks = <&clks 171>, <&clks 6>, <&clks 11>, <&clks 104>, <&clks 172>, <&clks 58>,
+                               <&clks 18>, <&clks 60>, <&clks 20>, <&clks 3>, <&clks 22> , <&clks 8>;
+                       clock-names = "pll2_bus", "pll2_pfd2_396m", "pll2_198m", "arm", "pll3_usb_otg", "periph",
+                               "periph_pre", "periph_clk2", "periph_clk2_sel", "osc", "axi_sel", "pll3_pfd1_540m";
+                       interrupts = <0 107 0x04>, <0 112 0x4>;
+                       interrupt-names = "irq_busfreq_0", "irq_busfreq_1";
+                       fsl,max_ddr_freq = <400000000>;
+               };
+
+               gpu: gpu@00130000 {
+                       compatible = "fsl,imx6dl-gpu", "fsl,imx6q-gpu";
+                       reg = <0x00130000 0x4000>, <0x00134000 0x4000>,
+                             <0x0 0x0>;
+                       reg-names = "iobase_3d", "iobase_2d",
+                                   "phys_baseaddr";
+                       interrupts = <0 9 0x04>, <0 10 0x04>;
+                       interrupt-names = "irq_3d", "irq_2d";
+                       clocks = <&clks 143>, <&clks 27>,
+                                <&clks 121>, <&clks 122>,
+                                <&clks 0>;
+                       clock-names = "gpu2d_axi_clk", "gpu3d_axi_clk",
+                                     "gpu2d_clk", "gpu3d_clk",
+                                     "gpu3d_shader_clk";
+                       resets = <&src 0>, <&src 3>;
+                       reset-names = "gpu3d", "gpu2d";
+                       pu-supply = <&reg_pu>;
+               };
+
                ocram: sram@00900000 {
                        compatible = "mmio-sram";
-                       reg = <0x00900000 0x20000>;
+                       reg = <0x00904000 0x1C000>;
                        clocks = <&clks 142>;
                };
 
+               hdmi_core: hdmi_core@00120000 {
+                       compatible = "fsl,imx6dl-hdmi-core";
+                       reg = <0x00120000 0x9000>;
+                       clocks = <&clks 124>, <&clks 123>;
+                       clock-names = "hdmi_isfr", "hdmi_iahb";
+                       status = "disabled";
+               };
+
+               hdmi_video: hdmi_video@020e0000 {
+                       compatible = "fsl,imx6dl-hdmi-video";
+                       reg =  <0x020e0000 0x1000>;
+                       reg-names = "hdmi_gpr";
+                       interrupts = <0 115 0x04>;
+                       clocks = <&clks 124>, <&clks 123>;
+                       clock-names = "hdmi_isfr", "hdmi_iahb";
+                       status = "disabled";
+               };
+
+               hdmi_audio: hdmi_audio@00120000 {
+                       compatible = "fsl,imx6dl-hdmi-audio";
+                       clocks = <&clks 124>, <&clks 123>;
+                       clock-names = "hdmi_isfr", "hdmi_iahb";
+                       dmas = <&sdma 2 22 0>;
+                       dma-names = "tx";
+                       status = "disabled";
+               };
+
+               hdmi_cec: hdmi_cec@00120000 {
+                       compatible = "fsl,imx6dl-hdmi-cec";
+                       interrupts = <0 115 0x04>;
+                       status = "disabled";
+               };
+
                aips1: aips-bus@02000000 {
+                       vpu@02040000 {
+                               compatible = "fsl,imx6dl-vpu";
+                               iramsize = <0>;
+                               status = "okay";
+                       };
+
                        iomuxc: iomuxc@020e0000 {
                                compatible = "fsl,imx6dl-iomuxc";
                        };
 
                        pxp: pxp@020f0000 {
+                               compatible = "fsl,imx6dl-pxp-dma";
                                reg = <0x020f0000 0x4000>;
                                interrupts = <0 98 IRQ_TYPE_LEVEL_HIGH>;
+                               clocks = <&clks 133>;
+                               clock-names = "pxp-axi";
+                               status = "disabled";
                        };
 
                        epdc: epdc@020f4000 {
+                               compatible = "fsl,imx6dl-epdc";
                                reg = <0x020f4000 0x4000>;
                                interrupts = <0 97 IRQ_TYPE_LEVEL_HIGH>;
+                               clocks = <&clks 133>, <&clks 137>;
+                               clock-names = "epdc_axi", "epdc_pix";
                        };
 
                        lcdif: lcdif@020f8000 {
                };
 
                aips2: aips-bus@02100000 {
+                       mipi_dsi: mipi@021e0000 {
+                               compatible = "fsl,imx6dl-mipi-dsi";
+                               reg = <0x021e0000 0x4000>;
+                               interrupts = <0 102 0x04>;
+                               gpr = <&gpr>;
+                               clocks = <&clks 138>, <&clks 204>;
+                               clock-names = "mipi_pllref_clk", "mipi_cfg_clk";
+                               status = "disabled";
+                       };
+
                        i2c4: i2c@021f8000 {
                                #address-cells = <1>;
                                #size-cells = <0>;
                                compatible = "fsl,imx6q-i2c", "fsl,imx21-i2c";
                                reg = <0x021f8000 0x4000>;
                                interrupts = <0 35 IRQ_TYPE_LEVEL_HIGH>;
-                               clocks = <&clks 116>;
                                status = "disabled";
                        };
                };
diff --git a/arch/arm/boot/dts/imx6q-arm2-hsic.dts b/arch/arm/boot/dts/imx6q-arm2-hsic.dts
new file mode 100644 (file)
index 0000000..3b7ab4f
--- /dev/null
@@ -0,0 +1,32 @@
+/*
+ * Copyright 2013 Freescale Semiconductor, Inc.
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+#include "imx6q-arm2.dts"
+
+&fec {
+       status = "disabled";
+};
+
+&usbh2 {
+       pinctrl-names = "idle", "active";
+       pinctrl-0 = <&pinctrl_usbh2_1>;
+       pinctrl-1 = <&pinctrl_usbh2_2>;
+       osc-clkgate-delay = <0x3>;
+       status = "okay";
+};
+
+&usbh3 {
+       pinctrl-names = "idle", "active";
+       pinctrl-0 = <&pinctrl_usbh3_1>;
+       pinctrl-1 = <&pinctrl_usbh3_2>;
+       osc-clkgate-delay = <0x3>;
+       status = "okay";
+};
diff --git a/arch/arm/boot/dts/imx6q-tx6q-1010-comtft.dts b/arch/arm/boot/dts/imx6q-tx6q-1010-comtft.dts
new file mode 100644 (file)
index 0000000..8c6f6b9
--- /dev/null
@@ -0,0 +1,99 @@
+/*
+ * Copyright 2014 Lothar Waßmann <LW@KARO-electronics.de>
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/dts-v1/;
+#include "imx6q.dtsi"
+#include "imx6qdl-tx6.dtsi"
+
+/ {
+       model = "Ka-Ro electronics TX6Q-1010 Module on CoMpact TFT";
+       compatible = "karo,imx6q-tx6q", "fsl,imx6q";
+
+       aliases {
+               display = &display;
+               mxcfb0 = &display;
+       };
+
+       backlight: backlight {
+               compatible = "pwm-backlight";
+               pwms = <&pwm2 0 500000>;
+               power-supply = <&reg_3v3>;
+               /*
+                * a poor man's way to create a 1:1 relationship between
+                * the PWM value and the actual duty cycle
+                */
+               brightness-levels = < 0  1  2  3  4  5  6  7  8  9
+                                    10 11 12 13 14 15 16 17 18 19
+                                    20 21 22 23 24 25 26 27 28 29
+                                    30 31 32 33 34 35 36 37 38 39
+                                    40 41 42 43 44 45 46 47 48 49
+                                    50 51 52 53 54 55 56 57 58 59
+                                    60 61 62 63 64 65 66 67 68 69
+                                    70 71 72 73 74 75 76 77 78 79
+                                    80 81 82 83 84 85 86 87 88 89
+                                    90 91 92 93 94 95 96 97 98 99
+                                   100>;
+               default-brightness-level = <50>;
+        };
+
+       display: fb@2 {
+               compatible = "fsl,mxc_sdc_fb";
+               disp_dev = "lcd";
+               interface_pix_fmt = "RGB24";
+               mode_str ="ET0500";
+               default_bpp = <32>;
+               int_clk = <1>;
+               late_init = <0>;
+               status = "okay";
+       };
+
+       lcd@0 {
+               compatible = "fsl,lcd";
+               ipu_id = <0>;
+               disp_id = <0>;
+               default_ifmt = "RGB24";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_disp0_2>;
+               status = "okay";
+       };
+};
+
+&can1 {
+       status = "disabled";
+};
+
+&can2 {
+       xceiver-supply = <&reg_3v3>;
+};
+
+&ipu2 {
+       status = "disabled";
+};
+
+&kpp {
+       status = "disabled";
+};
+
+&reg_can_xcvr {
+       status = "disabled";
+};
+
+&reg_lcd0_pwr {
+       status = "okay";
+};
+
+&reg_lcd1_pwr {
+       status = "okay";
+};
+
+&touchscreen {
+       status = "disabled";
+};
diff --git a/arch/arm/boot/dts/imx6q-tx6q-1010.dts b/arch/arm/boot/dts/imx6q-tx6q-1010.dts
new file mode 100644 (file)
index 0000000..01c1414
--- /dev/null
@@ -0,0 +1,79 @@
+/*
+ * Copyright 2014 Lothar Waßmann <LW@KARO-electronics.de>
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/dts-v1/;
+#include "imx6q.dtsi"
+#include "imx6qdl-tx6.dtsi"
+
+/ {
+       model = "Ka-Ro electronics TX6Q-1010 Module";
+       compatible = "karo,imx6q-tx6q", "fsl,imx6q";
+
+       aliases {
+               display = &display;
+               mxcfb0 = &display;
+       };
+
+       backlight: backlight {
+               compatible = "pwm-backlight";
+               pwms = <&pwm2 0 500000>;
+               power-supply = <&reg_3v3>;
+               /*
+                * a poor man's way to create a 1:1 relationship between
+                * the PWM value and the actual duty cycle
+                */
+               brightness-levels = < 0  1  2  3  4  5  6  7  8  9
+                                    10 11 12 13 14 15 16 17 18 19
+                                    20 21 22 23 24 25 26 27 28 29
+                                    30 31 32 33 34 35 36 37 38 39
+                                    40 41 42 43 44 45 46 47 48 49
+                                    50 51 52 53 54 55 56 57 58 59
+                                    60 61 62 63 64 65 66 67 68 69
+                                    70 71 72 73 74 75 76 77 78 79
+                                    80 81 82 83 84 85 86 87 88 89
+                                    90 91 92 93 94 95 96 97 98 99
+                                   100>;
+               default-brightness-level = <50>;
+        };
+
+       display: fb@2 {
+               compatible = "fsl,mxc_sdc_fb";
+               disp_dev = "lcd";
+               interface_pix_fmt = "RGB24";
+               mode_str ="ET0500";
+               default_bpp = <32>;
+               int_clk = <1>;
+               late_init = <0>;
+               status = "okay";
+       };
+
+       lcd@0 {
+               compatible = "fsl,lcd";
+               ipu_id = <0>;
+               disp_id = <0>;
+               default_ifmt = "RGB24";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_disp0_2>;
+               status = "okay";
+       };
+};
+
+&ipu2 {
+       status = "disabled";
+};
+
+&reg_lcd0_pwr {
+       status = "okay";
+};
+
+&reg_lcd1_pwr {
+       status = "okay";
+};
diff --git a/arch/arm/boot/dts/imx6q-tx6q-1020-comtft.dts b/arch/arm/boot/dts/imx6q-tx6q-1020-comtft.dts
new file mode 100644 (file)
index 0000000..70655fe
--- /dev/null
@@ -0,0 +1,132 @@
+/*
+ * Copyright 2014 Lothar Waßmann <LW@KARO-electronics.de>
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/dts-v1/;
+#include "imx6q.dtsi"
+#include "imx6qdl-tx6.dtsi"
+
+/ {
+       model = "Ka-Ro electronics TX6Q-1020 Module on CoMpact TFT";
+       compatible = "karo,imx6q-tx6q", "fsl,imx6q";
+
+       aliases {
+               display = &display;
+               mxcfb0 = &display;
+       };
+
+       backlight: backlight {
+               compatible = "pwm-backlight";
+               pwms = <&pwm2 0 500000>;
+               power-supply = <&reg_3v3>;
+               /*
+                * a poor man's way to create a 1:1 relationship between
+                * the PWM value and the actual duty cycle
+                */
+               brightness-levels = < 0  1  2  3  4  5  6  7  8  9
+                                    10 11 12 13 14 15 16 17 18 19
+                                    20 21 22 23 24 25 26 27 28 29
+                                    30 31 32 33 34 35 36 37 38 39
+                                    40 41 42 43 44 45 46 47 48 49
+                                    50 51 52 53 54 55 56 57 58 59
+                                    60 61 62 63 64 65 66 67 68 69
+                                    70 71 72 73 74 75 76 77 78 79
+                                    80 81 82 83 84 85 86 87 88 89
+                                    90 91 92 93 94 95 96 97 98 99
+                                   100>;
+               default-brightness-level = <50>;
+        };
+
+       display: fb@2 {
+               compatible = "fsl,mxc_sdc_fb";
+               disp_dev = "lcd";
+               interface_pix_fmt = "RGB24";
+               mode_str ="ET0500";
+               default_bpp = <32>;
+               int_clk = <1>;
+               late_init = <0>;
+               status = "okay";
+       };
+
+       lcd@0 {
+               compatible = "fsl,lcd";
+               ipu_id = <0>;
+               disp_id = <0>;
+               default_ifmt = "RGB24";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_disp0_2>;
+               status = "okay";
+       };
+};
+
+&can1 {
+       status = "disabled";
+};
+
+&can2 {
+       xceiver-supply = <&reg_3v3>;
+};
+
+&ds1339 {
+       status = "disabled";
+};
+
+&gpmi {
+       status = "disabled";
+};
+
+&iomuxc {
+       imx6qdl-tx6 {
+               pinctrl_usdhc4: usdhc4grp {
+                       fsl,pins = <
+                               MX6QDL_PAD_SD4_CMD__SD4_CMD             0x070b1
+                               MX6QDL_PAD_SD4_CLK__SD4_CLK             0x070b1
+                               MX6QDL_PAD_SD4_DAT0__SD4_DATA0          0x070b1
+                               MX6QDL_PAD_SD4_DAT1__SD4_DATA1          0x070b1
+                               MX6QDL_PAD_SD4_DAT2__SD4_DATA2          0x070b1
+                               MX6QDL_PAD_SD4_DAT3__SD4_DATA3          0x070b1
+                               MX6QDL_PAD_NANDF_ALE__SD4_RESET         0x0b0b1
+                       >;
+               };
+       };
+};
+
+&ipu2 {
+       status = "disabled";
+};
+
+&kpp {
+       status = "disabled";
+};
+
+&reg_can_xcvr {
+       status = "disabled";
+};
+
+&reg_lcd0_pwr {
+       status = "okay";
+};
+
+&reg_lcd1_pwr {
+       status = "okay";
+};
+
+&touchscreen {
+       status = "disabled";
+};
+
+&usdhc4 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_usdhc4>;
+       bus-width = <4>;
+       no-1-8-v;
+       fsl,wp-controller;
+       status = "okay";
+};
diff --git a/arch/arm/boot/dts/imx6q-tx6q-1020.dts b/arch/arm/boot/dts/imx6q-tx6q-1020.dts
new file mode 100644 (file)
index 0000000..c33206d
--- /dev/null
@@ -0,0 +1,112 @@
+/*
+ * Copyright 2014 Lothar Waßmann <LW@KARO-electronics.de>
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/dts-v1/;
+#include "imx6q.dtsi"
+#include "imx6qdl-tx6.dtsi"
+
+/ {
+       model = "Ka-Ro electronics TX6Q-1020 Module";
+       compatible = "karo,imx6q-tx6q", "fsl,imx6q";
+
+       aliases {
+               display = &display;
+               mxcfb0 = &display;
+       };
+
+       backlight: backlight {
+               compatible = "pwm-backlight";
+               pwms = <&pwm2 0 500000>;
+               power-supply = <&reg_3v3>;
+               /*
+                * a poor man's way to create a 1:1 relationship between
+                * the PWM value and the actual duty cycle
+                */
+               brightness-levels = < 0  1  2  3  4  5  6  7  8  9
+                                    10 11 12 13 14 15 16 17 18 19
+                                    20 21 22 23 24 25 26 27 28 29
+                                    30 31 32 33 34 35 36 37 38 39
+                                    40 41 42 43 44 45 46 47 48 49
+                                    50 51 52 53 54 55 56 57 58 59
+                                    60 61 62 63 64 65 66 67 68 69
+                                    70 71 72 73 74 75 76 77 78 79
+                                    80 81 82 83 84 85 86 87 88 89
+                                    90 91 92 93 94 95 96 97 98 99
+                                   100>;
+               default-brightness-level = <50>;
+        };
+
+       display: fb@2 {
+               compatible = "fsl,mxc_sdc_fb";
+               disp_dev = "lcd";
+               interface_pix_fmt = "RGB24";
+               mode_str ="ET0500";
+               default_bpp = <32>;
+               int_clk = <1>;
+               late_init = <0>;
+               status = "okay";
+       };
+
+       lcd@0 {
+               compatible = "fsl,lcd";
+               ipu_id = <0>;
+               disp_id = <0>;
+               default_ifmt = "RGB24";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_disp0_2>;
+               status = "okay";
+       };
+};
+
+&ds1339 {
+       status = "disabled";
+};
+
+&gpmi {
+       status = "disabled";
+};
+
+&ipu2 {
+       status = "disabled";
+};
+
+&iomuxc {
+       imx6qdl-tx6 {
+               pinctrl_usdhc4: usdhc4grp {
+                       fsl,pins = <
+                               MX6QDL_PAD_SD4_CMD__SD4_CMD             0x070b1
+                               MX6QDL_PAD_SD4_CLK__SD4_CLK             0x070b1
+                               MX6QDL_PAD_SD4_DAT0__SD4_DATA0          0x070b1
+                               MX6QDL_PAD_SD4_DAT1__SD4_DATA1          0x070b1
+                               MX6QDL_PAD_SD4_DAT2__SD4_DATA2          0x070b1
+                               MX6QDL_PAD_SD4_DAT3__SD4_DATA3          0x070b1
+                               MX6QDL_PAD_NANDF_ALE__SD4_RESET         0x0b0b1
+                       >;
+               };
+       };
+};
+
+&reg_lcd0_pwr {
+       status = "okay";
+};
+
+&reg_lcd1_pwr {
+       status = "okay";
+};
+
+&usdhc4 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_usdhc4>;
+       bus-width = <4>;
+       no-1-8-v;
+       fsl,wp-controller;
+       status = "okay";
+};
diff --git a/arch/arm/boot/dts/imx6q-tx6q-1110.dts b/arch/arm/boot/dts/imx6q-tx6q-1110.dts
new file mode 100644 (file)
index 0000000..75fdbde
--- /dev/null
@@ -0,0 +1,137 @@
+/*
+ * Copyright 2014 Lothar Waßmann <LW@KARO-electronics.de>
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/dts-v1/;
+#include "imx6q.dtsi"
+#include "imx6qdl-tx6.dtsi"
+
+/ {
+       model = "Ka-Ro electronics TX6Q-1110 Module";
+       compatible = "karo,imx6q-tx6q", "fsl,imx6q";
+
+       aliases {
+               display = &lvds0;
+               ipu1 = &ipu2;
+               mxcfb0 = &lvds0;
+       };
+
+       backlight0: backlight0 {
+               compatible = "pwm-backlight";
+               pwms = <&pwm2 0 500000 0>;
+               power-supply = <&reg_lcd0_pwr>;
+               /*
+                * a poor man's way to create a 1:1 relationship between
+                * the PWM value and the actual duty cycle
+                */
+               brightness-levels = < 0  1  2  3  4  5  6  7  8  9
+                                    10 11 12 13 14 15 16 17 18 19
+                                    20 21 22 23 24 25 26 27 28 29
+                                    30 31 32 33 34 35 36 37 38 39
+                                    40 41 42 43 44 45 46 47 48 49
+                                    50 51 52 53 54 55 56 57 58 59
+                                    60 61 62 63 64 65 66 67 68 69
+                                    70 71 72 73 74 75 76 77 78 79
+                                    80 81 82 83 84 85 86 87 88 89
+                                    90 91 92 93 94 95 96 97 98 99
+                                   100>;
+               default-brightness-level = <50>;
+       };
+
+       backlight1: backlight1 {
+               compatible = "pwm-backlight";
+               pwms = <&pwm1 0 500000 0>;
+               power-supply = <&reg_lcd1_pwr>;
+               /*
+                * a poor man's way to create a 1:1 relationship between
+                * the PWM value and the actual duty cycle
+                */
+               brightness-levels = < 0  1  2  3  4  5  6  7  8  9
+                                    10 11 12 13 14 15 16 17 18 19
+                                    20 21 22 23 24 25 26 27 28 29
+                                    30 31 32 33 34 35 36 37 38 39
+                                    40 41 42 43 44 45 46 47 48 49
+                                    50 51 52 53 54 55 56 57 58 59
+                                    60 61 62 63 64 65 66 67 68 69
+                                    70 71 72 73 74 75 76 77 78 79
+                                    80 81 82 83 84 85 86 87 88 89
+                                    90 91 92 93 94 95 96 97 98 99
+                                   100>;
+               default-brightness-level = <50>;
+       };
+
+       lvds0: fb@0 {
+               compatible = "fsl,mxc_sdc_fb";
+               disp_dev = "ldb";
+               interface_pix_fmt = "RGB666";
+               mode_str ="LDB-XGA";
+               default_bpp = <32>;
+               int_clk = <0>;
+               late_init = <0>;
+               status = "okay";
+       };
+};
+
+&i2c3 {
+       polytouch1: eeti@04 {
+               compatible = "eeti,egalax_ts";
+               reg = <0x04>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_eeti>;
+               interrupt-parent = <&gpio3>;
+               interrupts = <22 0>;
+               wakeup-gpios = <&gpio3 22 GPIO_ACTIVE_HIGH>;
+               linux,wakeup;
+       };
+};
+
+&iomuxc {
+       imx6q-tx6q-1110 {
+               pinctrl_eeti: eetigrp {
+                       fsl,pins = <
+                               MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x1b0b1 /* Interrupt */
+                       >;
+               };
+       };
+};
+
+&ipu2 {
+       status = "disabled";
+};
+
+&kpp {
+       status = "disabled"; /* pads partially clash with backlight1 PWM */
+};
+
+&ldb {
+       ipu_id = <0>;
+       disp_id = <0>;
+       ext_ref = <0>;
+       mode = "sep0";
+       sec_ipu_id = <1>;
+       sec_disp_id = <1>;
+       status = "okay";
+};
+
+&pwm1 {
+       status = "okay";
+};
+
+&reg_lcd0_pwr {
+       status = "okay";
+};
+
+&reg_lcd1_pwr {
+       status = "okay";
+};
+
+&sata {
+       status = "okay";
+};
index addd3f881ce2b6358cbfce34822e3273af714a63..c346a7e88217655339ea20068531e134b37812db 100644 (file)
@@ -14,6 +14,7 @@
 
 / {
        aliases {
+               ipu1 = &ipu2;
                spi4 = &ecspi5;
        };
 
        };
 
        soc {
+
+               busfreq { /* BUSFREQ */
+                       compatible = "fsl,imx6_busfreq";
+                       clocks = <&clks 171>, <&clks 6>, <&clks 11>, <&clks 104>, <&clks 172>, <&clks 58>,
+                               <&clks 18>, <&clks 60>, <&clks 20>, <&clks 3>;
+                       clock-names = "pll2_bus", "pll2_pfd2_396m", "pll2_198m", "arm", "pll3_usb_otg", "periph",
+                               "periph_pre", "periph_clk2", "periph_clk2_sel", "osc";
+                       interrupts = <0 107 0x04>, <0 112 0x4>, <0 113 0x4>, <0 114 0x4>;
+                       interrupt-names = "irq_busfreq_0", "irq_busfreq_1", "irq_busfreq_2", "irq_busfreq_3";
+                       fsl,max_ddr_freq = <528000000>;
+               };
+
+               gpu: gpu@00130000 {
+                       compatible = "fsl,imx6q-gpu";
+                       reg = <0x00130000 0x4000>, <0x00134000 0x4000>,
+                             <0x02204000 0x4000>, <0x0 0x0>;
+                       reg-names = "iobase_3d", "iobase_2d",
+                                   "iobase_vg", "phys_baseaddr";
+                       interrupts = <0 9 0x04>, <0 10 0x04>,<0 11 0x04>;
+                       interrupt-names = "irq_3d", "irq_2d", "irq_vg";
+                       clocks = <&clks 26>, <&clks 143>,
+                                <&clks 27>, <&clks 121>,
+                                <&clks 122>, <&clks 74>;
+                       clock-names = "gpu2d_axi_clk", "openvg_axi_clk",
+                                     "gpu3d_axi_clk", "gpu2d_clk",
+                                     "gpu3d_clk", "gpu3d_shader_clk";
+                       resets = <&src 0>, <&src 3>, <&src 3>;
+                       reset-names = "gpu3d", "gpu2d", "gpuvg";
+                       pu-supply = <&reg_pu>;
+               };
+
                ocram: sram@00900000 {
                        compatible = "mmio-sram";
-                       reg = <0x00900000 0x40000>;
+                       reg = <0x00904000 0x3C000>;
                        clocks = <&clks 142>;
                };
 
+               hdmi_core: hdmi_core@00120000 {
+                       compatible = "fsl,imx6q-hdmi-core";
+                       reg = <0x00120000 0x9000>;
+                       clocks = <&clks 124>, <&clks 123>;
+                       clock-names = "hdmi_isfr", "hdmi_iahb";
+                       status = "disabled";
+               };
+
+               hdmi_video: hdmi_video@020e0000 {
+                       compatible = "fsl,imx6q-hdmi-video";
+                       reg = <0x020e0000 0x1000>;
+                       reg-names = "hdmi_gpr";
+                       interrupts = <0 115 0x04>;
+                       clocks = <&clks 124>, <&clks 123>;
+                       clock-names = "hdmi_isfr", "hdmi_iahb";
+                       status = "disabled";
+               };
+
+               hdmi_audio: hdmi_audio@00120000 {
+                       compatible = "fsl,imx6q-hdmi-audio";
+                       clocks = <&clks 124>, <&clks 123>;
+                       clock-names = "hdmi_isfr", "hdmi_iahb";
+                       dmas = <&sdma 2 22 0>;
+                       dma-names = "tx";
+                       status = "disabled";
+               };
+
+               hdmi_cec: hdmi_cec@00120000 {
+                       compatible = "fsl,imx6q-hdmi-cec";
+                       interrupts = <0 115 0x04>;
+                       status = "disabled";
+               };
+
+
                aips-bus@02000000 { /* AIPS1 */
                        spba-bus@02000000 {
                                ecspi5: ecspi@02018000 {
                                };
                        };
 
+                       vpu@02040000 {
+                               compatible = "fsl,imx6q-vpu";
+                               status = "okay";
+                       };
+
                        iomuxc: iomuxc@020e0000 {
                                compatible = "fsl,imx6q-iomuxc";
+                       };
+               };
 
-                               ipu2 {
-                                       pinctrl_ipu2_1: ipu2grp-1 {
-                                               fsl,pins = <
-                                                       MX6QDL_PAD_DI0_DISP_CLK__IPU2_DI0_DISP_CLK 0x10
-                                                       MX6QDL_PAD_DI0_PIN15__IPU2_DI0_PIN15       0x10
-                                                       MX6QDL_PAD_DI0_PIN2__IPU2_DI0_PIN02        0x10
-                                                       MX6QDL_PAD_DI0_PIN3__IPU2_DI0_PIN03        0x10
-                                                       MX6QDL_PAD_DI0_PIN4__IPU2_DI0_PIN04        0x80000000
-                                                       MX6QDL_PAD_DISP0_DAT0__IPU2_DISP0_DATA00   0x10
-                                                       MX6QDL_PAD_DISP0_DAT1__IPU2_DISP0_DATA01   0x10
-                                                       MX6QDL_PAD_DISP0_DAT2__IPU2_DISP0_DATA02   0x10
-                                                       MX6QDL_PAD_DISP0_DAT3__IPU2_DISP0_DATA03   0x10
-                                                       MX6QDL_PAD_DISP0_DAT4__IPU2_DISP0_DATA04   0x10
-                                                       MX6QDL_PAD_DISP0_DAT5__IPU2_DISP0_DATA05   0x10
-                                                       MX6QDL_PAD_DISP0_DAT6__IPU2_DISP0_DATA06   0x10
-                                                       MX6QDL_PAD_DISP0_DAT7__IPU2_DISP0_DATA07   0x10
-                                                       MX6QDL_PAD_DISP0_DAT8__IPU2_DISP0_DATA08   0x10
-                                                       MX6QDL_PAD_DISP0_DAT9__IPU2_DISP0_DATA09   0x10
-                                                       MX6QDL_PAD_DISP0_DAT10__IPU2_DISP0_DATA10  0x10
-                                                       MX6QDL_PAD_DISP0_DAT11__IPU2_DISP0_DATA11  0x10
-                                                       MX6QDL_PAD_DISP0_DAT12__IPU2_DISP0_DATA12  0x10
-                                                       MX6QDL_PAD_DISP0_DAT13__IPU2_DISP0_DATA13  0x10
-                                                       MX6QDL_PAD_DISP0_DAT14__IPU2_DISP0_DATA14  0x10
-                                                       MX6QDL_PAD_DISP0_DAT15__IPU2_DISP0_DATA15  0x10
-                                                       MX6QDL_PAD_DISP0_DAT16__IPU2_DISP0_DATA16  0x10
-                                                       MX6QDL_PAD_DISP0_DAT17__IPU2_DISP0_DATA17  0x10
-                                                       MX6QDL_PAD_DISP0_DAT18__IPU2_DISP0_DATA18  0x10
-                                                       MX6QDL_PAD_DISP0_DAT19__IPU2_DISP0_DATA19  0x10
-                                                       MX6QDL_PAD_DISP0_DAT20__IPU2_DISP0_DATA20  0x10
-                                                       MX6QDL_PAD_DISP0_DAT21__IPU2_DISP0_DATA21  0x10
-                                                       MX6QDL_PAD_DISP0_DAT22__IPU2_DISP0_DATA22  0x10
-                                                       MX6QDL_PAD_DISP0_DAT23__IPU2_DISP0_DATA23  0x10
-                                               >;
-                                       };
-                               };
+               aips-bus@02100000 { /* AIPS2 */
+                       mipi_dsi: mipi@021e0000 {
+                               compatible = "fsl,imx6q-mipi-dsi";
+                               reg = <0x021e0000 0x4000>;
+                               interrupts = <0 102 0x04>;
+                               gpr = <&gpr>;
+                               clocks = <&clks 138>, <&clks 204>;
+                               clock-names = "mipi_pllref_clk", "mipi_cfg_clk";
+                               status = "disabled";
                        };
                };
 
                        reg = <0x02800000 0x400000>;
                        interrupts = <0 8 IRQ_TYPE_LEVEL_HIGH>,
                                     <0 7 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&clks 133>, <&clks 134>, <&clks 137>;
-                       clock-names = "bus", "di0", "di1";
+                       clocks = <&clks 133>, <&clks 134>, <&clks 137>,
+                                <&clks 41>, <&clks 42>,
+                                <&clks 135>, <&clks 136>;
+                       clock-names = "bus", "di0", "di1",
+                                     "di0_sel", "di1_sel",
+                                     "ldb_di0", "ldb_di1";
                        resets = <&src 4>;
+                       bypass_reset = <0>;
 
                        ipu2_di0: port@2 {
                                #address-cells = <1>;
 };
 
 &ldb {
-       clocks = <&clks 33>, <&clks 34>,
-                <&clks 39>, <&clks 40>, <&clks 41>, <&clks 42>,
-                <&clks 135>, <&clks 136>;
-       clock-names = "di0_pll", "di1_pll",
-                     "di0_sel", "di1_sel", "di2_sel", "di3_sel",
-                     "di0", "di1";
-
        lvds-channel@0 {
                port@2 {
                        reg = <2>;
diff --git a/arch/arm/boot/dts/imx6qdl-tx6.dtsi b/arch/arm/boot/dts/imx6qdl-tx6.dtsi
new file mode 100644 (file)
index 0000000..8f817c0
--- /dev/null
@@ -0,0 +1,702 @@
+/*
+ * Copyright 2014 Lothar Waßmann <LW@KARO-electronics.de>
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+#include <dt-bindings/gpio/gpio.h>
+
+
+/ {
+       aliases {
+               can0 = &can2;
+               can1 = &can1;
+               ethernet0 = &fec;
+               lcdif_23bit_pins_a = &pinctrl_disp0_1;
+               lcdif_24bit_pins_a = &pinctrl_disp0_2;
+               pwm0 = &pwm1;
+               pwm1 = &pwm2;
+               reg_can_xcvr = &reg_can_xcvr;
+               stk5led = &user_led;
+               usbotg = &usbotg;
+               sdhc0 = &usdhc1;
+               sdhc1 = &usdhc2;
+       };
+
+       memory {
+               reg = <0 0>; /* will be filled by U-Boot */
+       };
+
+       clocks {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               mclk: clock@0 {
+                       compatible = "fixed-clock";
+                       reg = <0>;
+                       #clock-cells = <0>;
+                       clock-frequency = <27000000>;
+               };
+       };
+
+       gpio-keys {
+               compatible = "gpio-keys";
+
+               power {
+                       label = "Power Button";
+                       gpios = <&gpio5 2 GPIO_ACTIVE_HIGH>;
+                       linux,code = <116>; /* KEY_POWER */
+                       gpio-key,wakeup;
+               };
+       };
+
+       leds {
+               compatible = "gpio-leds";
+
+               user_led: user {
+                       label = "Heartbeat";
+                       gpios = <&gpio2 20 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "heartbeat";
+               };
+       };
+
+       regulators {
+               compatible = "simple-bus";
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               reg_3v3_etn: regulator@0 {
+                       compatible = "regulator-fixed";
+                       reg = <0>;
+                       regulator-name = "3V3_ETN";
+                       regulator-min-microvolt = <3300000>;
+                       regulator-max-microvolt = <3300000>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&pinctrl_etnphy_power>;
+                       gpio = <&gpio3 20 GPIO_ACTIVE_HIGH>;
+                       enable-active-high;
+               };
+
+               reg_2v5: regulator@1 {
+                       compatible = "regulator-fixed";
+                       reg = <1>;
+                       regulator-name = "2V5";
+                       regulator-min-microvolt = <2500000>;
+                       regulator-max-microvolt = <2500000>;
+                       regulator-always-on;
+               };
+
+               reg_3v3: regulator@2 {
+                       compatible = "regulator-fixed";
+                       reg = <2>;
+                       regulator-name = "3V3";
+                       regulator-min-microvolt = <3300000>;
+                       regulator-max-microvolt = <3300000>;
+                       regulator-always-on;
+               };
+
+               reg_can_xcvr: regulator@3 {
+                       compatible = "regulator-fixed";
+                       reg = <3>;
+                       regulator-name = "CAN XCVR";
+                       regulator-min-microvolt = <3300000>;
+                       regulator-max-microvolt = <3300000>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&pinctrl_flexcan_xcvr>;
+                       gpio = <&gpio4 21 GPIO_ACTIVE_HIGH>;
+                       enable-active-low;
+               };
+
+               reg_lcd0_pwr: regulator@4 {
+                       compatible = "regulator-fixed";
+                       reg = <4>;
+                       regulator-name = "LCD0 POWER";
+                       regulator-min-microvolt = <3300000>;
+                       regulator-max-microvolt = <3300000>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&pinctrl_lcd0_pwr>;
+                       gpio = <&gpio3 29 GPIO_ACTIVE_HIGH>;
+                       enable-active-high;
+                       regulator-boot-on;
+                       regulator-always-on;
+                       status = "disabled";
+               };
+
+               reg_lcd1_pwr: regulator@5 {
+                       compatible = "regulator-fixed";
+                       reg = <5>;
+                       regulator-name = "LCD1 POWER";
+                       regulator-min-microvolt = <3300000>;
+                       regulator-max-microvolt = <3300000>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&pinctrl_lcd1_pwr>;
+                       gpio = <&gpio2 31 GPIO_ACTIVE_HIGH>;
+                       enable-active-high;
+                       regulator-boot-on;
+                       regulator-always-on;
+                       status = "disabled";
+               };
+
+               reg_usbh1_vbus: regulator@6 {
+                       compatible = "regulator-fixed";
+                       reg = <6>;
+                       regulator-name = "usbh1_vbus";
+                       regulator-min-microvolt = <5000000>;
+                       regulator-max-microvolt = <5000000>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&pinctrl_usbh1_vbus>;
+                       gpio = <&gpio3 31 GPIO_ACTIVE_HIGH>;
+                       enable-active-high;
+               };
+
+               reg_usbotg_vbus: regulator@7 {
+                       compatible = "regulator-fixed";
+                       reg = <7>;
+                       regulator-name = "usbotg_vbus";
+                       regulator-min-microvolt = <5000000>;
+                       regulator-max-microvolt = <5000000>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&pinctrl_usbotg_vbus>;
+                       gpio = <&gpio1 7 GPIO_ACTIVE_HIGH>;
+                       enable-active-high;
+               };
+       };
+
+       sound {
+               compatible = "karo,imx6qdl-tx6qdl-sgtl5000",
+                            "fsl,imx-audio-sgtl5000";
+               model = "sgtl5000-audio";
+               ssi-controller = <&ssi1>;
+               audio-codec = <&sgtl5000>;
+               audio-routing =
+                       "MIC_IN", "Mic Jack",
+                       "Mic Jack", "Mic Bias",
+                       "Headphone Jack", "HP_OUT";
+               mux-int-port = <1>;
+               mux-ext-port = <5>;
+       };
+
+       v4l2_out {
+               compatible = "fsl,mxc_v4l2_output";
+               status = "okay";
+       };
+};
+
+&audmux {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_audmux>;
+       status = "okay";
+};
+
+&can1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_flexcan1>;
+       xceiver-supply = <&reg_can_xcvr>;
+       status = "okay";
+};
+
+&can2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_flexcan2>;
+       xceiver-supply = <&reg_can_xcvr>;
+       status = "okay";
+};
+
+&ecspi1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_ecspi1>;
+       fsl,spi-num-chipselects = <2>;
+       cs-gpios = <
+               &gpio2 30 GPIO_ACTIVE_HIGH
+               &gpio3 19 GPIO_ACTIVE_HIGH
+       >;
+       status = "okay";
+
+       spidev0: spi@0 {
+               compatible = "spidev";
+               reg = <0>;
+               spi-max-frequency = <54000000>;
+       };
+
+       spidev1: spi@1 {
+               compatible = "spidev";
+               reg = <1>;
+               spi-max-frequency = <54000000>;
+       };
+};
+
+&fec {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_enet>;
+       phy-mode = "rmii";
+       phy-reset-gpios = <&gpio7 6 GPIO_ACTIVE_HIGH>;
+       phy-supply = <&reg_3v3_etn>;
+       status = "okay";
+};
+
+&gpmi {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_gpmi_nand>;
+       nand-on-flash-bbt;
+       fsl,no-blockmark-swap;
+       status = "okay";
+};
+
+&i2c1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_i2c1>;
+       clock-frequency = <400000>;
+       status = "okay";
+
+       ds1339: rtc@68 {
+               compatible = "dallas,ds1339";
+               reg = <0x68>;
+       };
+};
+
+&i2c3 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_i2c3>;
+       clock-frequency = <400000>;
+       status = "okay";
+
+       sgtl5000: sgtl5000@0a {
+               compatible = "fsl,sgtl5000";
+               reg = <0x0a>;
+               VDDA-supply = <&reg_2v5>;
+               VDDIO-supply = <&reg_3v3>;
+               clocks = <&mclk>;
+       };
+
+       polytouch: edt-ft5x06@38 {
+               compatible = "edt,edt-ft5x06";
+               reg = <0x38>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_edt_ft5x06>;
+               interrupt-parent = <&gpio6>;
+               interrupts = <15 0>;
+               reset-gpios = <&gpio2 22 GPIO_ACTIVE_LOW>;
+               wake-gpios = <&gpio2 21 GPIO_ACTIVE_HIGH>;
+               linux,wakeup;
+       };
+
+       touchscreen: tsc2007@48 {
+               compatible = "ti,tsc2007";
+               reg = <0x48>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_tsc2007>;
+               interrupt-parent = <&gpio3>;
+               interrupts = <26 0>;
+               gpios = <&gpio3 26 GPIO_ACTIVE_LOW>;
+               ti,x-plate-ohms = <660>;
+               linux,wakeup;
+       };
+};
+
+&iomuxc {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_hog>;
+
+       imx6qdl-tx6 {
+               pinctrl_hog: hoggrp {
+                       fsl,pins = <
+                               MX6QDL_PAD_EIM_A18__GPIO2_IO20          0x1b0b1 /* LED */
+                               MX6QDL_PAD_SD3_DAT2__GPIO7_IO06         0x1b0b1 /* ETN PHY RESET */
+                               MX6QDL_PAD_SD3_DAT4__GPIO7_IO01         0x1b0b1 /* ETN PHY INT */
+                               MX6QDL_PAD_EIM_A25__GPIO5_IO02          0x1b0b1 /* PWR BTN */
+                       >;
+               };
+
+               pinctrl_audmux: audmuxgrp {
+                       fsl,pins = <
+                               MX6QDL_PAD_KEY_ROW1__AUD5_RXD           0x130b0 /* SSI1_RXD */
+                               MX6QDL_PAD_KEY_ROW0__AUD5_TXD           0x110b0 /* SSI1_TXD */
+                               MX6QDL_PAD_KEY_COL0__AUD5_TXC           0x130b0 /* SSI1_CLK */
+                               MX6QDL_PAD_KEY_COL1__AUD5_TXFS          0x130b0 /* SSI1_FS */
+                       >;
+               };
+
+               pinctrl_disp0_1: disp0grp-1 {
+                       fsl,pins = <
+                               MX6QDL_PAD_DI0_DISP_CLK__IPU1_DI0_DISP_CLK 0x10
+                               MX6QDL_PAD_DI0_PIN15__IPU1_DI0_PIN15       0x10
+                               MX6QDL_PAD_DI0_PIN2__IPU1_DI0_PIN02        0x10
+                               MX6QDL_PAD_DI0_PIN3__IPU1_DI0_PIN03        0x10
+                               /* PAD DISP0_DAT0 is used for the Flexcan transceiver control */
+                               MX6QDL_PAD_DISP0_DAT1__IPU1_DISP0_DATA01   0x10
+                               MX6QDL_PAD_DISP0_DAT2__IPU1_DISP0_DATA02   0x10
+                               MX6QDL_PAD_DISP0_DAT3__IPU1_DISP0_DATA03   0x10
+                               MX6QDL_PAD_DISP0_DAT4__IPU1_DISP0_DATA04   0x10
+                               MX6QDL_PAD_DISP0_DAT5__IPU1_DISP0_DATA05   0x10
+                               MX6QDL_PAD_DISP0_DAT6__IPU1_DISP0_DATA06   0x10
+                               MX6QDL_PAD_DISP0_DAT7__IPU1_DISP0_DATA07   0x10
+                               MX6QDL_PAD_DISP0_DAT8__IPU1_DISP0_DATA08   0x10
+                               MX6QDL_PAD_DISP0_DAT9__IPU1_DISP0_DATA09   0x10
+                               MX6QDL_PAD_DISP0_DAT10__IPU1_DISP0_DATA10  0x10
+                               MX6QDL_PAD_DISP0_DAT11__IPU1_DISP0_DATA11  0x10
+                               MX6QDL_PAD_DISP0_DAT12__IPU1_DISP0_DATA12  0x10
+                               MX6QDL_PAD_DISP0_DAT13__IPU1_DISP0_DATA13  0x10
+                               MX6QDL_PAD_DISP0_DAT14__IPU1_DISP0_DATA14  0x10
+                               MX6QDL_PAD_DISP0_DAT15__IPU1_DISP0_DATA15  0x10
+                               MX6QDL_PAD_DISP0_DAT16__IPU1_DISP0_DATA16  0x10
+                               MX6QDL_PAD_DISP0_DAT17__IPU1_DISP0_DATA17  0x10
+                               MX6QDL_PAD_DISP0_DAT18__IPU1_DISP0_DATA18  0x10
+                               MX6QDL_PAD_DISP0_DAT19__IPU1_DISP0_DATA19  0x10
+                               MX6QDL_PAD_DISP0_DAT20__IPU1_DISP0_DATA20  0x10
+                               MX6QDL_PAD_DISP0_DAT21__IPU1_DISP0_DATA21  0x10
+                               MX6QDL_PAD_DISP0_DAT22__IPU1_DISP0_DATA22  0x10
+                               MX6QDL_PAD_DISP0_DAT23__IPU1_DISP0_DATA23  0x10
+                       >;
+               };
+
+               pinctrl_disp0_2: disp0grp-2 {
+                       fsl,pins = <
+                               MX6QDL_PAD_DI0_DISP_CLK__IPU1_DI0_DISP_CLK 0x10
+                               MX6QDL_PAD_DI0_PIN15__IPU1_DI0_PIN15       0x10
+                               MX6QDL_PAD_DI0_PIN2__IPU1_DI0_PIN02        0x10
+                               MX6QDL_PAD_DI0_PIN3__IPU1_DI0_PIN03        0x10
+                               MX6QDL_PAD_DISP0_DAT0__IPU1_DISP0_DATA00   0x10
+                               MX6QDL_PAD_DISP0_DAT1__IPU1_DISP0_DATA01   0x10
+                               MX6QDL_PAD_DISP0_DAT2__IPU1_DISP0_DATA02   0x10
+                               MX6QDL_PAD_DISP0_DAT3__IPU1_DISP0_DATA03   0x10
+                               MX6QDL_PAD_DISP0_DAT4__IPU1_DISP0_DATA04   0x10
+                               MX6QDL_PAD_DISP0_DAT5__IPU1_DISP0_DATA05   0x10
+                               MX6QDL_PAD_DISP0_DAT6__IPU1_DISP0_DATA06   0x10
+                               MX6QDL_PAD_DISP0_DAT7__IPU1_DISP0_DATA07   0x10
+                               MX6QDL_PAD_DISP0_DAT8__IPU1_DISP0_DATA08   0x10
+                               MX6QDL_PAD_DISP0_DAT9__IPU1_DISP0_DATA09   0x10
+                               MX6QDL_PAD_DISP0_DAT10__IPU1_DISP0_DATA10  0x10
+                               MX6QDL_PAD_DISP0_DAT11__IPU1_DISP0_DATA11  0x10
+                               MX6QDL_PAD_DISP0_DAT12__IPU1_DISP0_DATA12  0x10
+                               MX6QDL_PAD_DISP0_DAT13__IPU1_DISP0_DATA13  0x10
+                               MX6QDL_PAD_DISP0_DAT14__IPU1_DISP0_DATA14  0x10
+                               MX6QDL_PAD_DISP0_DAT15__IPU1_DISP0_DATA15  0x10
+                               MX6QDL_PAD_DISP0_DAT16__IPU1_DISP0_DATA16  0x10
+                               MX6QDL_PAD_DISP0_DAT17__IPU1_DISP0_DATA17  0x10
+                               MX6QDL_PAD_DISP0_DAT18__IPU1_DISP0_DATA18  0x10
+                               MX6QDL_PAD_DISP0_DAT19__IPU1_DISP0_DATA19  0x10
+                               MX6QDL_PAD_DISP0_DAT20__IPU1_DISP0_DATA20  0x10
+                               MX6QDL_PAD_DISP0_DAT21__IPU1_DISP0_DATA21  0x10
+                               MX6QDL_PAD_DISP0_DAT22__IPU1_DISP0_DATA22  0x10
+                               MX6QDL_PAD_DISP0_DAT23__IPU1_DISP0_DATA23  0x10
+                       >;
+               };
+
+               pinctrl_ecspi1: ecspi1grp {
+                       fsl,pins = <
+                               MX6QDL_PAD_EIM_D18__ECSPI1_MOSI         0x0b0b0
+                               MX6QDL_PAD_EIM_D17__ECSPI1_MISO         0x0b0b0
+                               MX6QDL_PAD_EIM_D16__ECSPI1_SCLK         0x0b0b0
+                               MX6QDL_PAD_GPIO_19__ECSPI1_RDY          0x0b0b0
+                               MX6QDL_PAD_EIM_EB2__GPIO2_IO30          0x0b0b0 /* SPI CS0 */
+                               MX6QDL_PAD_EIM_D19__GPIO3_IO19          0x0b0b0 /* SPI CS1 */
+                       >;
+               };
+
+               pinctrl_edt_ft5x06: edt-ft5x06grp {
+                       fsl,pins = <
+                               MX6QDL_PAD_NANDF_CS2__GPIO6_IO15        0x1b0b0 /* Interrupt */
+                               MX6QDL_PAD_EIM_A16__GPIO2_IO22          0x1b0b0 /* Reset */
+                               MX6QDL_PAD_EIM_A17__GPIO2_IO21          0x1b0b0 /* Wake */
+                       >;
+               };
+
+               pinctrl_enet: enetgrp {
+                       fsl,pins = <
+                               MX6QDL_PAD_ENET_MDC__ENET_MDC           0x1b0b0
+                               MX6QDL_PAD_ENET_MDIO__ENET_MDIO         0x1b0b0
+                               MX6QDL_PAD_ENET_RXD0__ENET_RX_DATA0     0x1b0b0
+                               MX6QDL_PAD_ENET_RXD1__ENET_RX_DATA1     0x1b0b0
+                               MX6QDL_PAD_ENET_RX_ER__ENET_RX_ER       0x1b0b0
+                               MX6QDL_PAD_ENET_TX_EN__ENET_TX_EN       0x1b0b0
+                               MX6QDL_PAD_ENET_TXD0__ENET_TX_DATA0     0x1b0b0
+                               MX6QDL_PAD_ENET_TXD1__ENET_TX_DATA1     0x1b0b0
+                               MX6QDL_PAD_ENET_CRS_DV__ENET_RX_EN      0x1b0b0
+                       >;
+               };
+
+               pinctrl_etnphy_power: etnphy-pwrgrp {
+                       fsl,pins = <
+                               MX6QDL_PAD_EIM_D20__GPIO3_IO20          0x1b0b1 /* ETN PHY POWER */
+                       >;
+               };
+
+               pinctrl_flexcan1: flexcan1grp {
+                       fsl,pins = <
+                               MX6QDL_PAD_GPIO_7__FLEXCAN1_TX          0x1b0b0
+                               MX6QDL_PAD_GPIO_8__FLEXCAN1_RX          0x1b0b0
+                       >;
+               };
+
+               pinctrl_flexcan2: flexcan2grp {
+                       fsl,pins = <
+                               MX6QDL_PAD_KEY_COL4__FLEXCAN2_TX        0x1b0b0
+                               MX6QDL_PAD_KEY_ROW4__FLEXCAN2_RX        0x1b0b0
+                       >;
+               };
+
+               pinctrl_flexcan_xcvr: flexcan-xcvrgrp {
+                       fsl,pins = <
+                               MX6QDL_PAD_DISP0_DAT0__GPIO4_IO21       0x1b0b0 /* Flexcan XCVR enable */
+                       >;
+               };
+
+               pinctrl_gpmi_nand: gpminandgrp {
+                       fsl,pins = <
+                               MX6QDL_PAD_NANDF_CLE__NAND_CLE          0x0b0b1
+                               MX6QDL_PAD_NANDF_ALE__NAND_ALE          0x0b0b1
+                               MX6QDL_PAD_NANDF_WP_B__NAND_WP_B        0x0b0b1
+                               MX6QDL_PAD_NANDF_RB0__NAND_READY_B      0x0b000
+                               MX6QDL_PAD_NANDF_CS0__NAND_CE0_B        0x0b0b1
+                               MX6QDL_PAD_SD4_CMD__NAND_RE_B           0x0b0b1
+                               MX6QDL_PAD_SD4_CLK__NAND_WE_B           0x0b0b1
+                               MX6QDL_PAD_NANDF_D0__NAND_DATA00        0x0b0b1
+                               MX6QDL_PAD_NANDF_D1__NAND_DATA01        0x0b0b1
+                               MX6QDL_PAD_NANDF_D2__NAND_DATA02        0x0b0b1
+                               MX6QDL_PAD_NANDF_D3__NAND_DATA03        0x0b0b1
+                               MX6QDL_PAD_NANDF_D4__NAND_DATA04        0x0b0b1
+                               MX6QDL_PAD_NANDF_D5__NAND_DATA05        0x0b0b1
+                               MX6QDL_PAD_NANDF_D6__NAND_DATA06        0x0b0b1
+                               MX6QDL_PAD_NANDF_D7__NAND_DATA07        0x0b0b1
+                       >;
+               };
+
+               pinctrl_i2c1: i2c1grp {
+                       fsl,pins = <
+                               MX6QDL_PAD_EIM_D21__I2C1_SCL            0x4001b8b1
+                               MX6QDL_PAD_EIM_D28__I2C1_SDA            0x4001b8b1
+                       >;
+               };
+
+               pinctrl_i2c3: i2c3grp {
+                       fsl,pins = <
+                               MX6QDL_PAD_GPIO_3__I2C3_SCL             0x4001b8b1
+                               MX6QDL_PAD_GPIO_6__I2C3_SDA             0x4001b8b1
+                       >;
+               };
+
+               pinctrl_kpp: kppgrp {
+                       fsl,pins = <
+                               MX6QDL_PAD_GPIO_9__KEY_COL6             0x1b0b1
+                               MX6QDL_PAD_GPIO_4__KEY_COL7             0x1b0b1
+                               MX6QDL_PAD_KEY_COL2__KEY_COL2           0x1b0b1
+                               MX6QDL_PAD_KEY_COL3__KEY_COL3           0x1b0b1
+                               MX6QDL_PAD_GPIO_2__KEY_ROW6             0x1b0b1
+                               MX6QDL_PAD_GPIO_5__KEY_ROW7             0x1b0b1
+                               MX6QDL_PAD_KEY_ROW2__KEY_ROW2           0x1b0b1
+                               MX6QDL_PAD_KEY_ROW3__KEY_ROW3           0x1b0b1
+                       >;
+               };
+
+               pinctrl_lcd0_pwr: lcd0-pwrgrp {
+                       fsl,pins = <
+                               MX6QDL_PAD_EIM_D29__GPIO3_IO29          0x1b0b1 /* LCD Reset */
+                       >;
+               };
+
+               pinctrl_lcd1_pwr: lcd1-pwrgrp {
+                       fsl,pins = <
+                               MX6QDL_PAD_EIM_EB3__GPIO2_IO31          0x1b0b1 /* LCD Power Enable */
+                       >;
+               };
+
+               pinctrl_pwm1: pwm1grp {
+                       fsl,pins = <
+                               MX6QDL_PAD_GPIO_9__PWM1_OUT             0x1b0b1
+                       >;
+               };
+
+               pinctrl_pwm2: pwm2grp {
+                       fsl,pins = <
+                               MX6QDL_PAD_GPIO_1__PWM2_OUT             0x1b0b1
+                       >;
+               };
+
+               pinctrl_tsc2007: tsc2007grp {
+                       fsl,pins = <
+                               MX6QDL_PAD_EIM_D26__GPIO3_IO26          0x1b0b0 /* Interrupt */
+                       >;
+               };
+
+               pinctrl_uart1: uart1grp {
+                       fsl,pins = <
+                               MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA      0x1b0b1
+                               MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA      0x1b0b1
+                       >;
+               };
+
+               pinctrl_uart1_rtscts: uart1_rtsctsgrp {
+                       fsl,pins = <
+                               MX6QDL_PAD_SD3_DAT1__UART1_RTS_B        0x1b0b1
+                               MX6QDL_PAD_SD3_DAT0__UART1_CTS_B        0x1b0b1
+                       >;
+               };
+
+               pinctrl_uart2: uart2grp {
+                       fsl,pins = <
+                               MX6QDL_PAD_SD4_DAT7__UART2_TX_DATA      0x1b0b1
+                               MX6QDL_PAD_SD4_DAT4__UART2_RX_DATA      0x1b0b1
+                       >;
+               };
+
+               pinctrl_uart2_rtscts: uart2_rtsctsgrp {
+                       fsl,pins = <
+                               MX6QDL_PAD_SD4_DAT5__UART2_RTS_B        0x1b0b1
+                               MX6QDL_PAD_SD4_DAT6__UART2_CTS_B        0x1b0b1
+                       >;
+               };
+
+               pinctrl_uart3: uart3grp {
+                       fsl,pins = <
+                               MX6QDL_PAD_EIM_D24__UART3_TX_DATA       0x1b0b1
+                               MX6QDL_PAD_EIM_D25__UART3_RX_DATA       0x1b0b1
+                       >;
+               };
+
+               pinctrl_uart3_rtscts: uart3_rtsctsgrp {
+                       fsl,pins = <
+                               MX6QDL_PAD_SD3_DAT3__UART3_CTS_B        0x1b0b1
+                               MX6QDL_PAD_SD3_RST__UART3_RTS_B         0x1b0b1
+                       >;
+               };
+
+               pinctrl_usbh1_vbus: usbh1-vbusgrp {
+                       fsl,pins = <
+                               MX6QDL_PAD_EIM_D31__GPIO3_IO31          0x1b0b0 /* USBH1_VBUSEN */
+                       >;
+               };
+
+               pinctrl_usbotg: usbotggrp {
+                       fsl,pins = <
+                               MX6QDL_PAD_EIM_D23__GPIO3_IO23          0x17059
+                       >;
+               };
+
+               pinctrl_usbotg_vbus: usbotg-vbusgrp {
+                       fsl,pins = <
+                               MX6QDL_PAD_GPIO_7__GPIO1_IO07           0x1b0b0 /* USBOTG_VBUSEN */
+                       >;
+               };
+
+               pinctrl_usdhc1: usdhc1grp {
+                       fsl,pins = <
+                               MX6QDL_PAD_SD1_CMD__SD1_CMD             0x070b1
+                               MX6QDL_PAD_SD1_CLK__SD1_CLK             0x070b1
+                               MX6QDL_PAD_SD1_DAT0__SD1_DATA0          0x070b1
+                               MX6QDL_PAD_SD1_DAT1__SD1_DATA1          0x070b1
+                               MX6QDL_PAD_SD1_DAT2__SD1_DATA2          0x070b1
+                               MX6QDL_PAD_SD1_DAT3__SD1_DATA3          0x070b1
+                               MX6QDL_PAD_SD3_CMD__GPIO7_IO02          0x170b0 /* SD1 CD */
+                       >;
+               };
+
+               pinctrl_usdhc2: usdhc2grp {
+                       fsl,pins = <
+                               MX6QDL_PAD_SD2_CMD__SD2_CMD             0x070b1
+                               MX6QDL_PAD_SD2_CLK__SD2_CLK             0x070b1
+                               MX6QDL_PAD_SD2_DAT0__SD2_DATA0          0x070b1
+                               MX6QDL_PAD_SD2_DAT1__SD2_DATA1          0x070b1
+                               MX6QDL_PAD_SD2_DAT2__SD2_DATA2          0x070b1
+                               MX6QDL_PAD_SD2_DAT3__SD2_DATA3          0x070b1
+                               MX6QDL_PAD_SD3_CLK__GPIO7_IO03          0x170b0 /* SD2 CD */
+                       >;
+               };
+       };
+};
+
+&kpp {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_kpp>;
+       /* sample keymap */
+       /* row/col 0,1 are mapped to KPP row/col 6,7 */
+       linux,keymap = <
+               0x06060074 /* MATRIX_KEY(6, 6, 116) KEY_POWER */
+               0x06070052 /* MATRIX_KEY(6, 7, 82) KEY_KP0 */
+               0x0602004f /* MATRIX_KEY(6, 2, 79) KEY_KP1 */
+               0x06030050 /* MATRIX_KEY(6, 3, 80) KEY_KP2 */
+               0x07060051 /* MATRIX_KEY(7, 6, 81) KEY_KP3 */
+               0x0707004b /* MATRIX_KEY(7, 7, 75) KEY_KP4 */
+               0x0702004c /* MATRIX_KEY(7, 2, 76) KEY_KP5 */
+               0x0703004d /* MATRIX_KEY(7, 3, 77) KEY_KP6 */
+               0x02060047 /* MATRIX_KEY(2, 6, 71) KEY_KP7 */
+               0x02070048 /* MATRIX_KEY(2, 7, 72) KEY_KP8 */
+               0x02020049 /* MATRIX_KEY(2, 2, 73) KEY_KP9 */
+       >;
+};
+
+&pwm1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_pwm1>;
+       #pwm-cells = <2>;
+       status = "disabled";
+};
+
+&pwm2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_pwm2>;
+       #pwm-cells = <2>;
+       status = "okay";
+};
+
+&ssi1 {
+       fsl,mode = "i2s-slave";
+       status = "okay";
+};
+
+&uart1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart1>;
+       status = "okay";
+};
+
+&uart2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart2 &pinctrl_uart2_rtscts>;
+       status = "okay";
+};
+
+&uart3 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart3 &pinctrl_uart3_rtscts>;
+       status = "okay";
+};
+
+&usbh1 {
+       vbus-supply = <&reg_usbh1_vbus>;
+       dr_mode = "host";
+       disable-over-current;
+       status = "okay";
+};
+
+&usbotg {
+       vbus-supply = <&reg_usbotg_vbus>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_usbotg>;
+       dr_mode = "peripheral";
+       disable-over-current;
+       status = "okay";
+};
+
+&usdhc1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_usdhc1>;
+       bus-width = <4>;
+       no-1-8-v;
+       cd-gpios = <&gpio7 2 0>;
+       fsl,wp-controller;
+       status = "okay";
+};
+
+&usdhc2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_usdhc2>;
+       bus-width = <4>;
+       no-1-8-v;
+       cd-gpios = <&gpio7 3 0>;
+       fsl,wp-controller;
+       status = "okay";
+};
index ce0599134a699dd338b6f42adef8378e94a7d6e1..143cd65cff088e836d69a3fc55645cf3d7b8e998 100644 (file)
@@ -26,6 +26,7 @@
                gpio4 = &gpio5;
                gpio5 = &gpio6;
                gpio6 = &gpio7;
+               ipu0 = &ipu1;
                i2c0 = &i2c1;
                i2c1 = &i2c2;
                i2c2 = &i2c3;
                                };
 
                                esai: esai@02024000 {
+                                       compatible = "fsl,imx6q-esai";
                                        reg = <0x02024000 0x4000>;
                                        interrupts = <0 51 IRQ_TYPE_LEVEL_HIGH>;
+                                       clocks = <&clks 118>, <&clks 156>;
+                                       clock-names = "core", "dma";
+                                       fsl,esai-dma-events = <24 23>;
+                                       fsl,flags = <1>;
+                                       status = "disabled";
                                };
 
                                ssi1: ssi@02028000 {
 
                        vpu: vpu@02040000 {
                                reg = <0x02040000 0x3c000>;
+                               reg-names = "vpu_regs";
                                interrupts = <0 3 IRQ_TYPE_LEVEL_HIGH>,
                                             <0 12 IRQ_TYPE_LEVEL_HIGH>;
+                               interrupt-names = "vpu_jpu_irq", "vpu_ipi_irq";
+                               clocks = <&clks 168>, <&clks 140>, <&clks 142>;
+                               clock-names = "vpu_clk", "mmdc_ch0_axi", "ocram";
+                               iramsize = <0x21000>;
+                               iram = <&ocram>;
+                               resets = <&src 1>;
+                               pu-supply = <&reg_pu>;
+                               status = "disabled";
                        };
 
                        aipstz@0207c000 { /* AIPSTZ1 */
                        };
 
                        kpp: kpp@020b8000 {
+                               compatible = "fsl,imx6qdl-kpp", "fsl,imx21-kpp";
                                reg = <0x020b8000 0x4000>;
                                interrupts = <0 82 IRQ_TYPE_LEVEL_HIGH>;
+                               clocks = <&clks 0>;
                        };
 
                        wdog1: wdog@020bc000 {
                                #address-cells = <1>;
                                #size-cells = <0>;
                                compatible = "fsl,imx6q-ldb", "fsl,imx53-ldb";
+                               reg = <0x020e0000 0x4000>;
+                               clocks = <&clks 135>, <&clks 136>,
+                                        <&clks 39>, <&clks 40>,
+                                        <&clks 41>, <&clks 42>,
+                                        <&clks 184>, <&clks 185>,
+                                        <&clks 205>, <&clks 206>,
+                                        <&clks 207>, <&clks 208>;
+                               clock-names = "ldb_di0", "ldb_di1",
+                                             "ipu1_di0_sel", "ipu1_di1_sel",
+                                             "ipu2_di0_sel", "ipu2_di1_sel",
+                                             "di0_div_3_5", "di1_div_3_5",
+                                             "di0_div_7", "di1_div_7",
+                                             "di0_div_sel", "di1_div_sel";
                                gpr = <&gpr>;
                                status = "disabled";
 
                        reg = <0x02400000 0x400000>;
                        interrupts = <0 6 IRQ_TYPE_LEVEL_HIGH>,
                                     <0 5 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&clks 130>, <&clks 131>, <&clks 132>;
-                       clock-names = "bus", "di0", "di1";
+                       clocks = <&clks 130>, <&clks 131>, <&clks 132>,
+                                <&clks 39>, <&clks 40>,
+                                <&clks 135>, <&clks 136>;
+                       clock-names = "bus", "di0", "di1",
+                                     "di0_sel", "di1_sel",
+                                     "ldb_di0", "ldb_di1";
                        resets = <&src 2>;
+                       bypass_reset = <0>;
 
                        ipu1_di0: port@2 {
                                #address-cells = <1>;
index 59b7e45142d80931c5e46882188c524530d4b22a..0273619414cb3add2aa8c11e45be64bb73bf20cc 100644 (file)
@@ -49,6 +49,7 @@ CONFIG_CMDLINE="noinitrd console=ttymxc0,115200"
 CONFIG_CPU_FREQ=y
 CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
 CONFIG_ARM_IMX6Q_CPUFREQ=y
+CONFIG_CPU_IDLE=y
 CONFIG_VFP=y
 CONFIG_NEON=y
 CONFIG_BINFMT_MISC=m
@@ -160,6 +161,7 @@ CONFIG_SPI=y
 CONFIG_SPI_IMX=y
 CONFIG_GPIO_SYSFS=y
 CONFIG_GPIO_MC9S08DZ60=y
+CONFIG_GPIO_PCA953X=y
 # CONFIG_HWMON is not set
 CONFIG_WATCHDOG=y
 CONFIG_IMX2_WDT=y
@@ -181,6 +183,8 @@ CONFIG_MEDIA_RC_SUPPORT=y
 CONFIG_RC_DEVICES=y
 CONFIG_IR_GPIO_CIR=y
 CONFIG_V4L_PLATFORM_DRIVERS=y
+CONFIG_VIDEO_MXC_OUTPUT=y
+CONFIG_VIDEO_MXC_IPU_OUTPUT=y
 CONFIG_SOC_CAMERA=y
 CONFIG_VIDEO_MX3=y
 CONFIG_V4L_MEM2MEM_DRIVERS=y
@@ -221,6 +225,7 @@ CONFIG_USB_GADGET=y
 CONFIG_USB_ETH=m
 CONFIG_USB_MASS_STORAGE=m
 CONFIG_MMC=y
+CONFIG_MMC_UNSAFE_RESUME=y
 CONFIG_MMC_SDHCI=y
 CONFIG_MMC_SDHCI_PLTFM=y
 CONFIG_MMC_SDHCI_ESDHC_IMX=y
@@ -240,6 +245,7 @@ CONFIG_RTC_DRV_MC13XXX=y
 CONFIG_RTC_DRV_MXC=y
 CONFIG_RTC_DRV_SNVS=y
 CONFIG_DMADEVICES=y
+CONFIG_MXC_PXP_V2=y
 CONFIG_IMX_SDMA=y
 CONFIG_MXS_DMA=y
 CONFIG_STAGING=y
diff --git a/arch/arm/configs/imx_v7_defconfig b/arch/arm/configs/imx_v7_defconfig
new file mode 100644 (file)
index 0000000..beec4d0
--- /dev/null
@@ -0,0 +1,335 @@
+CONFIG_KERNEL_LZO=y
+CONFIG_SYSVIPC=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=18
+CONFIG_CGROUPS=y
+CONFIG_RELAY=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_EXPERT=y
+CONFIG_PERF_EVENTS=y
+# CONFIG_SLUB_DEBUG is not set
+# CONFIG_COMPAT_BRK is not set
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODVERSIONS=y
+CONFIG_MODULE_SRCVERSION_ALL=y
+# CONFIG_BLK_DEV_BSG is not set
+CONFIG_GPIO_PCA953X=y
+CONFIG_ARCH_MXC=y
+CONFIG_MXC_DEBUG_BOARD=y
+CONFIG_MACH_IMX51_DT=y
+CONFIG_MACH_EUKREA_CPUIMX51SD=y
+CONFIG_SOC_IMX53=y
+CONFIG_SOC_IMX6Q=y
+CONFIG_SOC_IMX6SL=y
+CONFIG_SOC_VF610=y
+# CONFIG_SWP_EMULATE is not set
+CONFIG_SMP=y
+CONFIG_VMSPLIT_2G=y
+CONFIG_PREEMPT_VOLUNTARY=y
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+CONFIG_CMDLINE="noinitrd console=ttymxc0,115200"
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=y
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
+CONFIG_ARM_IMX6_CPUFREQ=y
+CONFIG_CPU_IDLE=y
+CONFIG_VFP=y
+CONFIG_NEON=y
+CONFIG_BINFMT_MISC=m
+CONFIG_PM_RUNTIME=y
+CONFIG_PM_DEBUG=y
+CONFIG_PM_TEST_SUSPEND=y
+CONFIG_NET=y
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_INET=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
+# CONFIG_INET_XFRM_MODE_TUNNEL is not set
+# CONFIG_INET_XFRM_MODE_BEET is not set
+# CONFIG_INET_LRO is not set
+CONFIG_IPV6=y
+CONFIG_NETFILTER=y
+CONFIG_VLAN_8021Q=y
+CONFIG_CAN=y
+CONFIG_CAN_FLEXCAN=y
+CONFIG_CFG80211=y
+CONFIG_CFG80211_WEXT=y
+CONFIG_MAC80211=y
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+# CONFIG_STANDALONE is not set
+CONFIG_CMA=y
+CONFIG_CMA_SIZE_MBYTES=320
+CONFIG_IMX_WEIM=y
+CONFIG_CONNECTOR=y
+CONFIG_MTD=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_CFI=y
+CONFIG_MTD_JEDECPROBE=y
+CONFIG_MTD_CFI_INTELEXT=y
+CONFIG_MTD_CFI_AMDSTD=y
+CONFIG_MTD_CFI_STAA=y
+CONFIG_MTD_PHYSMAP_OF=y
+CONFIG_MTD_DATAFLASH=y
+CONFIG_MTD_M25P80=y
+CONFIG_MTD_SST25L=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_GPMI_NAND=y
+CONFIG_MTD_NAND_MXC=y
+CONFIG_MTD_UBI=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_SIZE=65536
+CONFIG_EEPROM_AT24=y
+CONFIG_EEPROM_AT25=y
+# CONFIG_SCSI_PROC_FS is not set
+CONFIG_BLK_DEV_SD=y
+CONFIG_SCSI_MULTI_LUN=y
+CONFIG_SCSI_CONSTANTS=y
+CONFIG_SCSI_LOGGING=y
+CONFIG_SCSI_SCAN_ASYNC=y
+# CONFIG_SCSI_LOWLEVEL is not set
+CONFIG_ATA=y
+CONFIG_SATA_AHCI_PLATFORM=y
+CONFIG_AHCI_IMX=y
+CONFIG_PATA_IMX=y
+CONFIG_NETDEVICES=y
+# CONFIG_NET_VENDOR_BROADCOM is not set
+CONFIG_CS89x0=y
+CONFIG_CS89x0_PLATFORM=y
+# CONFIG_NET_VENDOR_FARADAY is not set
+# CONFIG_NET_VENDOR_INTEL is not set
+# CONFIG_NET_VENDOR_MARVELL is not set
+# CONFIG_NET_VENDOR_MICREL is not set
+# CONFIG_NET_VENDOR_MICROCHIP is not set
+# CONFIG_NET_VENDOR_NATSEMI is not set
+# CONFIG_NET_VENDOR_SEEQ is not set
+CONFIG_SMC91X=y
+CONFIG_SMC911X=y
+CONFIG_SMSC911X=y
+# CONFIG_NET_VENDOR_STMICRO is not set
+CONFIG_ATH_CARDS=y
+CONFIG_ATH6KL=m
+CONFIG_ATH6KL_SDIO=m
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_EVBUG=m
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_IMX=y
+CONFIG_MOUSE_PS2=m
+CONFIG_MOUSE_PS2_ELANTECH=y
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_EGALAX=y
+CONFIG_TOUCHSCREEN_ELAN=y
+CONFIG_TOUCHSCREEN_MAX11801=y
+CONFIG_TOUCHSCREEN_MC13783=y
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_MMA8450=y
+CONFIG_INPUT_ISL29023=y
+CONFIG_SERIO_SERPORT=m
+CONFIG_VT_HW_CONSOLE_BINDING=y
+# CONFIG_LEGACY_PTYS is not set
+# CONFIG_DEVKMEM is not set
+CONFIG_SERIAL_IMX=y
+CONFIG_SERIAL_IMX_CONSOLE=y
+CONFIG_SERIAL_FSL_LPUART=y
+CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
+CONFIG_FSL_OTP=y
+# CONFIG_I2C_COMPAT is not set
+CONFIG_I2C_CHARDEV=y
+# CONFIG_I2C_HELPER_AUTO is not set
+CONFIG_I2C_ALGOPCF=m
+CONFIG_I2C_ALGOPCA=m
+CONFIG_I2C_IMX=y
+CONFIG_SPI=y
+CONFIG_SPI_IMX=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_POWER_SUPPLY=y
+CONFIG_SABRESD_MAX8903=y
+CONFIG_IMX6_USB_CHARGER=y
+CONFIG_SENSORS_MAX17135=y
+CONFIG_SENSORS_MAG3110=y
+CONFIG_THERMAL=y
+CONFIG_CPU_THERMAL=y
+CONFIG_IMX_THERMAL=y
+CONFIG_DEVICE_THERMAL=y
+CONFIG_WATCHDOG=y
+CONFIG_IMX2_WDT=y
+CONFIG_MFD_DA9052_I2C=y
+CONFIG_MFD_MC13XXX_SPI=y
+CONFIG_MFD_MC13XXX_I2C=y
+CONFIG_MFD_SI476X_CORE=y
+CONFIG_MFD_MAX17135=y
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+CONFIG_REGULATOR_DA9052=y
+CONFIG_REGULATOR_ANATOP=y
+CONFIG_REGULATOR_MC13783=y
+CONFIG_REGULATOR_MC13892=y
+CONFIG_REGULATOR_MAX17135=y
+CONFIG_REGULATOR_PFUZE100=y
+CONFIG_MEDIA_SUPPORT=y
+CONFIG_MEDIA_CAMERA_SUPPORT=y
+CONFIG_MEDIA_RADIO_SUPPORT=y
+CONFIG_VIDEO_V4L2_INT_DEVICE=y
+CONFIG_MEDIA_USB_SUPPORT=y
+CONFIG_USB_VIDEO_CLASS=m
+CONFIG_V4L_PLATFORM_DRIVERS=y
+CONFIG_VIDEO_MXC_OUTPUT=y
+CONFIG_VIDEO_MXC_CAPTURE=m
+CONFIG_VIDEO_MXC_CSI_CAMERA=m
+CONFIG_MXC_CAMERA_OV5640=m
+CONFIG_MXC_CAMERA_OV5642=m
+CONFIG_MXC_CAMERA_OV5640_MIPI=m
+CONFIG_MXC_TVIN_ADV7180=m
+CONFIG_MXC_IPU_DEVICE_QUEUE_SDC=m
+CONFIG_VIDEO_MXC_IPU_OUTPUT=y
+CONFIG_VIDEO_MXC_PXP_V4L2=y
+CONFIG_SOC_CAMERA=y
+CONFIG_VIDEO_MX3=y
+CONFIG_RADIO_SI476X=y
+CONFIG_SOC_CAMERA_OV2640=y
+CONFIG_DRM=y
+CONFIG_DRM_VIVANTE=y
+CONFIG_FB=y
+CONFIG_FB_MXS=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=y
+CONFIG_LCD_L4F00242T03=y
+CONFIG_LCD_PLATFORM=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_PWM=y
+CONFIG_FB_MXC_SYNC_PANEL=y
+CONFIG_FB_MXC_LDB=y
+CONFIG_FB_MXC_MIPI_DSI=y
+CONFIG_FB_MXC_TRULY_WVGA_SYNC_PANEL=y
+CONFIG_FB_MXC_HDMI=y
+CONFIG_FB_MXC_EINK_PANEL=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
+CONFIG_FONTS=y
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+CONFIG_LOGO=y
+CONFIG_SOUND=y
+CONFIG_SND=y
+CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_SOC=y
+CONFIG_SND_IMX_SOC=y
+CONFIG_SND_SOC_EUKREA_TLV320=y
+CONFIG_SND_SOC_IMX_CS42888=y
+CONFIG_SND_SOC_IMX_WM8962=y
+CONFIG_SND_SOC_IMX_SGTL5000=y
+CONFIG_SND_SOC_IMX_SPDIF=y
+CONFIG_SND_SOC_IMX_MC13783=y
+CONFIG_SND_SOC_IMX_HDMI=y
+CONFIG_SND_SOC_IMX_SI476X=y
+CONFIG_USB=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_STORAGE=y
+CONFIG_USB_CHIPIDEA=y
+CONFIG_USB_CHIPIDEA_UDC=y
+CONFIG_USB_CHIPIDEA_HOST=y
+CONFIG_USB_PHY=y
+CONFIG_NOP_USB_XCEIV=y
+CONFIG_USB_MXS_PHY=y
+CONFIG_USB_GADGET=y
+CONFIG_USB_ZERO=m
+CONFIG_USB_ETH=m
+CONFIG_USB_MASS_STORAGE=m
+CONFIG_USB_G_SERIAL=m
+CONFIG_MMC=y
+CONFIG_MMC_UNSAFE_RESUME=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_PLTFM=y
+CONFIG_MMC_SDHCI_ESDHC_IMX=y
+CONFIG_MXC_IPU=y
+CONFIG_MXC_GPU_VIV=y
+CONFIG_MXC_ASRC=y
+CONFIG_MXC_MIPI_CSI2=y
+CONFIG_MXC_MLB150=m
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_GPIO=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_INTF_DEV_UIE_EMUL=y
+CONFIG_RTC_DRV_MC13XXX=y
+CONFIG_RTC_DRV_MXC=y
+CONFIG_RTC_DRV_SNVS=y
+CONFIG_DMADEVICES=y
+CONFIG_MXC_PXP_V2=y
+CONFIG_IMX_SDMA=y
+CONFIG_MXS_DMA=y
+CONFIG_STAGING=y
+CONFIG_COMMON_CLK_DEBUG=y
+# CONFIG_IOMMU_SUPPORT is not set
+CONFIG_PWM=y
+CONFIG_PWM_IMX=y
+CONFIG_EXT2_FS=y
+CONFIG_EXT2_FS_XATTR=y
+CONFIG_EXT2_FS_POSIX_ACL=y
+CONFIG_EXT2_FS_SECURITY=y
+CONFIG_EXT3_FS=y
+CONFIG_EXT3_FS_POSIX_ACL=y
+CONFIG_EXT3_FS_SECURITY=y
+CONFIG_EXT4_FS=y
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+CONFIG_QUOTA=y
+CONFIG_QUOTA_NETLINK_INTERFACE=y
+# CONFIG_PRINT_QUOTA_WARNING is not set
+CONFIG_AUTOFS4_FS=y
+CONFIG_FUSE_FS=y
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_UDF_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=y
+CONFIG_TMPFS=y
+CONFIG_JFFS2_FS=y
+CONFIG_UBIFS_FS=y
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3_ACL=y
+CONFIG_NFS_V4=y
+CONFIG_ROOT_NFS=y
+CONFIG_NLS_DEFAULT="cp437"
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_ASCII=y
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_UTF8=y
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_SCHED_DEBUG is not set
+# CONFIG_DEBUG_BUGVERBOSE is not set
+# CONFIG_FTRACE is not set
+CONFIG_SECURITYFS=y
+CONFIG_CRYPTO_USER=y
+CONFIG_CRYPTO_CCM=y
+CONFIG_CRYPTO_GCM=y
+CONFIG_CRYPTO_CBC=y
+CONFIG_CRYPTO_CTS=y
+CONFIG_CRYPTO_ECB=y
+CONFIG_CRYPTO_LRW=y
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+CONFIG_CRYPTO_DEV_FSL_CAAM=y
+CONFIG_CRYPTO_DEV_FSL_CAAM_SM=y
+CONFIG_CRYPTO_DEV_FSL_CAAM_SM_TEST=y
+CONFIG_CRYPTO_DEV_FSL_CAAM_SECVIO=y
+CONFIG_CRC_CCITT=m
+CONFIG_CRC_T10DIF=y
+CONFIG_CRC7=m
+CONFIG_LIBCRC32C=m
diff --git a/arch/arm/configs/imx_v7_mfg_defconfig b/arch/arm/configs/imx_v7_mfg_defconfig
new file mode 100644 (file)
index 0000000..94f9fa9
--- /dev/null
@@ -0,0 +1,341 @@
+CONFIG_KERNEL_LZO=y
+CONFIG_SYSVIPC=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=18
+CONFIG_CGROUPS=y
+CONFIG_RELAY=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_EXPERT=y
+CONFIG_PERF_EVENTS=y
+# CONFIG_SLUB_DEBUG is not set
+# CONFIG_COMPAT_BRK is not set
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODVERSIONS=y
+CONFIG_MODULE_SRCVERSION_ALL=y
+# CONFIG_BLK_DEV_BSG is not set
+CONFIG_GPIO_PCA953X=y
+CONFIG_ARCH_MXC=y
+CONFIG_MXC_DEBUG_BOARD=y
+CONFIG_MACH_IMX51_DT=y
+CONFIG_MACH_EUKREA_CPUIMX51SD=y
+CONFIG_SOC_IMX53=y
+CONFIG_SOC_IMX6Q=y
+CONFIG_SOC_IMX6SL=y
+CONFIG_SOC_VF610=y
+# CONFIG_SWP_EMULATE is not set
+CONFIG_SMP=y
+CONFIG_VMSPLIT_2G=y
+CONFIG_PREEMPT_VOLUNTARY=y
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+CONFIG_CMDLINE="noinitrd console=ttymxc0,115200"
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=y
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
+CONFIG_ARM_IMX6_CPUFREQ=y
+CONFIG_CPU_IDLE=y
+CONFIG_VFP=y
+CONFIG_NEON=y
+CONFIG_BINFMT_MISC=m
+CONFIG_PM_RUNTIME=y
+CONFIG_PM_DEBUG=y
+CONFIG_PM_TEST_SUSPEND=y
+CONFIG_NET=y
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_INET=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
+# CONFIG_INET_XFRM_MODE_TUNNEL is not set
+# CONFIG_INET_XFRM_MODE_BEET is not set
+# CONFIG_INET_LRO is not set
+CONFIG_IPV6=y
+CONFIG_NETFILTER=y
+CONFIG_VLAN_8021Q=y
+CONFIG_CFG80211=y
+CONFIG_CFG80211_WEXT=y
+CONFIG_MAC80211=y
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+# CONFIG_STANDALONE is not set
+CONFIG_CMA=y
+CONFIG_CMA_SIZE_MBYTES=320
+CONFIG_IMX_WEIM=y
+CONFIG_CONNECTOR=y
+CONFIG_MTD=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_CFI=y
+CONFIG_MTD_JEDECPROBE=y
+CONFIG_MTD_CFI_INTELEXT=y
+CONFIG_MTD_CFI_AMDSTD=y
+CONFIG_MTD_CFI_STAA=y
+CONFIG_MTD_PHYSMAP_OF=y
+CONFIG_MTD_DATAFLASH=y
+CONFIG_MTD_M25P80=y
+CONFIG_MTD_SST25L=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_GPMI_NAND=y
+CONFIG_MTD_NAND_MXC=y
+CONFIG_MTD_UBI=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_SIZE=65536
+CONFIG_EEPROM_AT24=y
+CONFIG_EEPROM_AT25=y
+# CONFIG_SCSI_PROC_FS is not set
+CONFIG_BLK_DEV_SD=y
+CONFIG_SCSI_MULTI_LUN=y
+CONFIG_SCSI_CONSTANTS=y
+CONFIG_SCSI_LOGGING=y
+CONFIG_SCSI_SCAN_ASYNC=y
+# CONFIG_SCSI_LOWLEVEL is not set
+CONFIG_ATA=y
+CONFIG_SATA_AHCI_PLATFORM=y
+CONFIG_AHCI_IMX=y
+CONFIG_PATA_IMX=y
+CONFIG_NETDEVICES=y
+# CONFIG_NET_VENDOR_BROADCOM is not set
+CONFIG_CS89x0=y
+CONFIG_CS89x0_PLATFORM=y
+# CONFIG_NET_VENDOR_FARADAY is not set
+# CONFIG_NET_VENDOR_INTEL is not set
+# CONFIG_NET_VENDOR_MARVELL is not set
+# CONFIG_NET_VENDOR_MICREL is not set
+# CONFIG_NET_VENDOR_MICROCHIP is not set
+# CONFIG_NET_VENDOR_NATSEMI is not set
+# CONFIG_NET_VENDOR_SEEQ is not set
+CONFIG_SMC91X=y
+CONFIG_SMC911X=y
+CONFIG_SMSC911X=y
+# CONFIG_NET_VENDOR_STMICRO is not set
+CONFIG_ATH_CARDS=y
+CONFIG_ATH6KL=m
+CONFIG_ATH6KL_SDIO=m
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_EVBUG=m
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_IMX=y
+CONFIG_MOUSE_PS2=m
+CONFIG_MOUSE_PS2_ELANTECH=y
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_EGALAX=y
+CONFIG_TOUCHSCREEN_ELAN=y
+CONFIG_TOUCHSCREEN_MAX11801=y
+CONFIG_TOUCHSCREEN_MC13783=y
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_MMA8450=y
+CONFIG_INPUT_ISL29023=y
+CONFIG_SERIO_SERPORT=m
+CONFIG_VT_HW_CONSOLE_BINDING=y
+# CONFIG_LEGACY_PTYS is not set
+# CONFIG_DEVKMEM is not set
+CONFIG_SERIAL_IMX=y
+CONFIG_SERIAL_IMX_CONSOLE=y
+CONFIG_SERIAL_FSL_LPUART=y
+CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
+CONFIG_FSL_OTP=y
+# CONFIG_I2C_COMPAT is not set
+CONFIG_I2C_CHARDEV=y
+# CONFIG_I2C_HELPER_AUTO is not set
+CONFIG_I2C_ALGOPCF=m
+CONFIG_I2C_ALGOPCA=m
+CONFIG_I2C_IMX=y
+CONFIG_SPI=y
+CONFIG_SPI_IMX=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_POWER_SUPPLY=y
+CONFIG_SABRESD_MAX8903=y
+CONFIG_SENSORS_MAX17135=y
+CONFIG_SENSORS_MAG3110=y
+CONFIG_THERMAL=y
+CONFIG_CPU_THERMAL=y
+CONFIG_IMX_THERMAL=y
+CONFIG_DEVICE_THERMAL=y
+CONFIG_WATCHDOG=y
+CONFIG_IMX2_WDT=y
+CONFIG_MFD_DA9052_I2C=y
+CONFIG_MFD_MC13XXX_SPI=y
+CONFIG_MFD_MC13XXX_I2C=y
+CONFIG_MFD_MAX17135=y
+CONFIG_MFD_SI476X_CORE=y
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+CONFIG_REGULATOR_DA9052=y
+CONFIG_REGULATOR_ANATOP=y
+CONFIG_REGULATOR_MC13783=y
+CONFIG_REGULATOR_MC13892=y
+CONFIG_REGULATOR_MAX17135=y
+CONFIG_REGULATOR_PFUZE100=y
+CONFIG_MEDIA_SUPPORT=y
+CONFIG_MEDIA_CAMERA_SUPPORT=y
+CONFIG_MEDIA_RADIO_SUPPORT=y
+CONFIG_VIDEO_V4L2_INT_DEVICE=y
+CONFIG_MEDIA_USB_SUPPORT=y
+CONFIG_USB_VIDEO_CLASS=m
+CONFIG_V4L_PLATFORM_DRIVERS=y
+CONFIG_VIDEO_MXC_OUTPUT=y
+CONFIG_VIDEO_MXC_CAPTURE=m
+CONFIG_VIDEO_MXC_CSI_CAMERA=m
+CONFIG_MXC_CAMERA_OV5640=m
+CONFIG_MXC_CAMERA_OV5642=m
+CONFIG_MXC_CAMERA_OV5640_MIPI=m
+CONFIG_MXC_TVIN_ADV7180=m
+CONFIG_MXC_IPU_DEVICE_QUEUE_SDC=m
+CONFIG_VIDEO_MXC_IPU_OUTPUT=y
+CONFIG_VIDEO_MXC_PXP_V4L2=y
+CONFIG_SOC_CAMERA=y
+CONFIG_VIDEO_MX3=y
+CONFIG_RADIO_SI476X=y
+CONFIG_SOC_CAMERA_OV2640=y
+CONFIG_DRM=y
+CONFIG_DRM_VIVANTE=y
+CONFIG_FB=y
+CONFIG_FB_MXS=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=y
+CONFIG_LCD_L4F00242T03=y
+CONFIG_LCD_PLATFORM=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_PWM=y
+CONFIG_FB_MXC_SYNC_PANEL=y
+CONFIG_FB_MXC_LDB=y
+CONFIG_FB_MXC_MIPI_DSI=y
+CONFIG_FB_MXC_TRULY_WVGA_SYNC_PANEL=y
+CONFIG_FB_MXC_HDMI=y
+CONFIG_FB_MXC_EINK_PANEL=y
+CONFIG_FB_MXS_SII902X=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
+CONFIG_FONTS=y
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+CONFIG_LOGO=y
+CONFIG_SOUND=y
+CONFIG_SND=y
+CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_SOC=y
+CONFIG_SND_IMX_SOC=y
+CONFIG_SND_SOC_EUKREA_TLV320=y
+CONFIG_SND_SOC_IMX_CS42888=y
+CONFIG_SND_SOC_IMX_WM8962=y
+CONFIG_SND_SOC_IMX_SGTL5000=y
+CONFIG_SND_SOC_IMX_SPDIF=y
+CONFIG_SND_SOC_IMX_MC13783=y
+CONFIG_SND_SOC_IMX_HDMI=y
+CONFIG_SND_SOC_IMX_SI476X=y
+CONFIG_USB=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_STORAGE=y
+CONFIG_USB_CHIPIDEA=y
+CONFIG_USB_CHIPIDEA_UDC=y
+CONFIG_USB_CHIPIDEA_HOST=y
+CONFIG_USB_PHY=y
+CONFIG_USB_MXS_PHY=y
+CONFIG_USB_GADGET=y
+# CONFIG_USB_ZERO is not set
+# CONFIG_USB_AUDIO is not set
+# CONFIG_USB_ETH is not set
+# CONFIG_USB_G_NCM is not set
+# CONFIG_USB_GADGETFS is not set
+# CONFIG_USB_FUNCTIONFS is not set
+CONFIG_USB_MASS_STORAGE=y
+CONFIG_FSL_UTP=y
+# CONFIG_USB_G_SERIAL is not set
+# CONFIG_USB_MIDI_GADGET is not set
+# CONFIG_USB_G_PRINTER is not set
+# CONFIG_USB_CDC_COMPOSITE is not set
+# CONFIG_USB_G_ACM_MS is not set
+# CONFIG_USB_G_MULTI is not set
+# CONFIG_USB_G_HID is not set
+# CONFIG_USB_G_DBGP is not set
+# CONFIG_USB_G_WEBCAM is not set
+CONFIG_MMC=y
+CONFIG_MMC_UNSAFE_RESUME=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_PLTFM=y
+CONFIG_MMC_SDHCI_ESDHC_IMX=y
+CONFIG_MXC_IPU=y
+CONFIG_MXC_GPU_VIV=y
+CONFIG_MXC_ASRC=y
+CONFIG_MXC_MIPI_CSI2=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_INTF_DEV_UIE_EMUL=y
+CONFIG_RTC_DRV_MC13XXX=y
+CONFIG_RTC_DRV_MXC=y
+CONFIG_RTC_DRV_SNVS=y
+CONFIG_DMADEVICES=y
+CONFIG_MXC_PXP_V2=y
+CONFIG_IMX_SDMA=y
+CONFIG_MXS_DMA=y
+CONFIG_STAGING=y
+CONFIG_COMMON_CLK_DEBUG=y
+# CONFIG_IOMMU_SUPPORT is not set
+CONFIG_PWM=y
+CONFIG_PWM_IMX=y
+CONFIG_EXT2_FS=y
+CONFIG_EXT2_FS_XATTR=y
+CONFIG_EXT2_FS_POSIX_ACL=y
+CONFIG_EXT2_FS_SECURITY=y
+CONFIG_EXT3_FS=y
+CONFIG_EXT3_FS_POSIX_ACL=y
+CONFIG_EXT3_FS_SECURITY=y
+CONFIG_EXT4_FS=y
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+CONFIG_QUOTA=y
+CONFIG_QUOTA_NETLINK_INTERFACE=y
+# CONFIG_PRINT_QUOTA_WARNING is not set
+CONFIG_AUTOFS4_FS=y
+CONFIG_FUSE_FS=y
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_UDF_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=y
+CONFIG_TMPFS=y
+CONFIG_JFFS2_FS=y
+CONFIG_UBIFS_FS=y
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3_ACL=y
+CONFIG_NFS_V4=y
+CONFIG_ROOT_NFS=y
+CONFIG_NLS_DEFAULT="cp437"
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_ASCII=y
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_UTF8=y
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_SCHED_DEBUG is not set
+# CONFIG_DEBUG_BUGVERBOSE is not set
+# CONFIG_FTRACE is not set
+CONFIG_SECURITYFS=y
+CONFIG_CRYPTO_USER=y
+CONFIG_CRYPTO_CCM=y
+CONFIG_CRYPTO_GCM=y
+CONFIG_CRYPTO_CBC=y
+CONFIG_CRYPTO_CTS=y
+CONFIG_CRYPTO_ECB=y
+CONFIG_CRYPTO_LRW=y
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+CONFIG_CRYPTO_DEV_FSL_CAAM=y
+CONFIG_CRYPTO_DEV_FSL_CAAM_SM=y
+CONFIG_CRYPTO_DEV_FSL_CAAM_SM_TEST=y
+CONFIG_CRYPTO_DEV_FSL_CAAM_SECVIO=y
+CONFIG_CRC_CCITT=m
+CONFIG_CRC_T10DIF=y
+CONFIG_CRC7=m
+CONFIG_LIBCRC32C=m
diff --git a/arch/arm/configs/tx6_defconfig b/arch/arm/configs/tx6_defconfig
new file mode 100644 (file)
index 0000000..791b612
--- /dev/null
@@ -0,0 +1,340 @@
+CONFIG_COMPILE_TEST=y
+CONFIG_KERNEL_LZO=y
+CONFIG_SYSVIPC=y
+# CONFIG_USELIB is not set
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=18
+CONFIG_CGROUPS=y
+CONFIG_RELAY=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_EXPERT=y
+CONFIG_SGETMASK_SYSCALL=y
+CONFIG_PERF_EVENTS=y
+# CONFIG_SLUB_DEBUG is not set
+# CONFIG_COMPAT_BRK is not set
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODVERSIONS=y
+CONFIG_MODULE_SRCVERSION_ALL=y
+# CONFIG_BLK_DEV_BSG is not set
+CONFIG_BLK_CMDLINE_PARSER=y
+CONFIG_ARCH_MXC=y
+CONFIG_MXC_DEBUG_BOARD=y
+CONFIG_SOC_IMX6Q=y
+# CONFIG_SWP_EMULATE is not set
+CONFIG_PCI=y
+CONFIG_PCI_DEBUG=y
+CONFIG_PCI_IMX6=y
+CONFIG_PCIE_ECRC=y
+CONFIG_PCIEASPM_DEBUG=y
+CONFIG_PCIEASPM_POWERSAVE=y
+CONFIG_SMP=y
+CONFIG_VMSPLIT_2G=y
+CONFIG_PREEMPT=y
+CONFIG_AEABI=y
+CONFIG_HIGHMEM=y
+CONFIG_CMA=y
+CONFIG_CMDLINE="noinitrd console=ttymxc0,115200"
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=y
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
+CONFIG_ARM_IMX6Q_CPUFREQ=y
+CONFIG_CPU_IDLE=y
+CONFIG_VFP=y
+CONFIG_NEON=y
+CONFIG_BINFMT_MISC=m
+CONFIG_PM_AUTOSLEEP=y
+CONFIG_PM_WAKELOCKS=y
+CONFIG_PM_RUNTIME=y
+CONFIG_PM_DEBUG=y
+CONFIG_PM_ADVANCED_DEBUG=y
+CONFIG_PM_TEST_SUSPEND=y
+CONFIG_APM_EMULATION=y
+CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y
+CONFIG_NET=y
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_INET=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
+# CONFIG_INET_XFRM_MODE_TUNNEL is not set
+# CONFIG_INET_XFRM_MODE_BEET is not set
+# CONFIG_INET_LRO is not set
+CONFIG_IPV6=y
+CONFIG_NETFILTER=y
+CONFIG_VLAN_8021Q=y
+CONFIG_CAN=y
+CONFIG_CAN_FLEXCAN=y
+CONFIG_CFG80211=y
+CONFIG_CFG80211_WEXT=y
+CONFIG_MAC80211=y
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+# CONFIG_STANDALONE is not set
+CONFIG_DMA_CMA=y
+CONFIG_CMA_SIZE_MBYTES=320
+CONFIG_IMX_WEIM=y
+CONFIG_CONNECTOR=y
+CONFIG_MTD=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_CFI=y
+CONFIG_MTD_JEDECPROBE=y
+CONFIG_MTD_CFI_INTELEXT=y
+CONFIG_MTD_CFI_AMDSTD=y
+CONFIG_MTD_CFI_STAA=y
+CONFIG_MTD_PHYSMAP_OF=y
+CONFIG_MTD_DATAFLASH=y
+CONFIG_MTD_SST25L=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_GPMI_NAND=y
+CONFIG_MTD_NAND_MXC=y
+CONFIG_MTD_UBI=y
+CONFIG_MTD_UBI_BLOCK=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_SIZE=65536
+CONFIG_EEPROM_AT24=y
+CONFIG_EEPROM_AT25=y
+# CONFIG_SCSI_PROC_FS is not set
+CONFIG_BLK_DEV_SD=y
+CONFIG_SCSI_MULTI_LUN=y
+CONFIG_SCSI_CONSTANTS=y
+CONFIG_SCSI_LOGGING=y
+CONFIG_SCSI_SCAN_ASYNC=y
+# CONFIG_SCSI_LOWLEVEL is not set
+CONFIG_ATA=y
+CONFIG_SATA_AHCI_PLATFORM=y
+CONFIG_AHCI_IMX=y
+CONFIG_NETDEVICES=y
+# CONFIG_NET_VENDOR_ARC is not set
+# CONFIG_NET_VENDOR_BROADCOM is not set
+CONFIG_CS89x0=y
+CONFIG_CS89x0_PLATFORM=y
+# CONFIG_NET_VENDOR_FARADAY is not set
+# CONFIG_NET_VENDOR_HISILICON is not set
+# CONFIG_NET_VENDOR_INTEL is not set
+# CONFIG_NET_VENDOR_MARVELL is not set
+# CONFIG_NET_VENDOR_MICREL is not set
+# CONFIG_NET_VENDOR_MICROCHIP is not set
+# CONFIG_NET_VENDOR_NATSEMI is not set
+# CONFIG_NET_VENDOR_SAMSUNG is not set
+# CONFIG_NET_VENDOR_SEEQ is not set
+CONFIG_SMC91X=y
+CONFIG_SMC911X=y
+CONFIG_SMSC911X=y
+# CONFIG_NET_VENDOR_STMICRO is not set
+CONFIG_SMSC_PHY=y
+CONFIG_ATH_CARDS=y
+CONFIG_ATH6KL=m
+CONFIG_ATH6KL_SDIO=m
+# CONFIG_RTL_CARDS is not set
+# CONFIG_INPUT_MOUSEDEV is not set
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_EVBUG=m
+# CONFIG_KEYBOARD_ATKBD is not set
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_IMX=y
+# CONFIG_INPUT_MOUSE is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_EGALAX=y
+CONFIG_TOUCHSCREEN_EDT_FT5X06=y
+CONFIG_TOUCHSCREEN_TSC2007=y
+# CONFIG_SERIO is not set
+CONFIG_LEGACY_PTY_COUNT=16
+# CONFIG_DEVKMEM is not set
+CONFIG_SERIAL_IMX=y
+CONFIG_SERIAL_IMX_CONSOLE=y
+CONFIG_SERIAL_FSL_LPUART=y
+CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
+CONFIG_FSL_OTP=y
+CONFIG_HW_RANDOM=y
+CONFIG_MXS_VIIM=y
+# CONFIG_I2C_COMPAT is not set
+CONFIG_I2C_CHARDEV=y
+# CONFIG_I2C_HELPER_AUTO is not set
+CONFIG_I2C_ALGOPCF=m
+CONFIG_I2C_ALGOPCA=m
+CONFIG_I2C_IMX=y
+CONFIG_SPI=y
+CONFIG_SPI_IMX=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_PCA953X=y
+CONFIG_POWER_SUPPLY=y
+# CONFIG_HWMON is not set
+CONFIG_THERMAL=y
+CONFIG_CPU_THERMAL=y
+CONFIG_IMX_THERMAL=y
+CONFIG_DEVICE_THERMAL=y
+CONFIG_WATCHDOG=y
+CONFIG_IMX2_WDT=y
+CONFIG_MFD_DA9052_I2C=y
+CONFIG_MFD_MC13XXX_SPI=y
+CONFIG_MFD_MC13XXX_I2C=y
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+CONFIG_REGULATOR_ANATOP=y
+CONFIG_REGULATOR_DA9052=y
+CONFIG_REGULATOR_MC13783=y
+CONFIG_REGULATOR_MC13892=y
+CONFIG_REGULATOR_PFUZE100=y
+CONFIG_MEDIA_SUPPORT=y
+CONFIG_MEDIA_CAMERA_SUPPORT=y
+CONFIG_MEDIA_RADIO_SUPPORT=y
+CONFIG_MEDIA_USB_SUPPORT=y
+CONFIG_USB_VIDEO_CLASS=m
+CONFIG_V4L_PLATFORM_DRIVERS=y
+CONFIG_VIDEO_MXC_OUTPUT=y
+CONFIG_VIDEO_MXC_IPU_OUTPUT=y
+CONFIG_VIDEO_MXC_PXP_V4L2=y
+CONFIG_SOC_CAMERA=y
+CONFIG_VIDEO_MX3=y
+CONFIG_SOC_CAMERA_OV2640=y
+CONFIG_DRM=y
+CONFIG_DRM_VIVANTE=y
+CONFIG_FB=y
+# CONFIG_FB_MX3 is not set
+CONFIG_FB_MXC_SYNC_PANEL=y
+CONFIG_FB_MXC_LDB=y
+# CONFIG_FB_MXC_EDID is not set
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+# CONFIG_LCD_CLASS_DEVICE is not set
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+# CONFIG_BACKLIGHT_GENERIC is not set
+CONFIG_BACKLIGHT_PWM=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
+CONFIG_LOGO=y
+CONFIG_SOUND=y
+CONFIG_SND=y
+CONFIG_SND_VERBOSE_PRINTK=y
+CONFIG_SND_DEBUG=y
+CONFIG_SND_DEBUG_VERBOSE=y
+CONFIG_SND_PCM_XRUN_DEBUG=y
+# CONFIG_SND_DRIVERS is not set
+# CONFIG_SND_ARM is not set
+# CONFIG_SND_SPI is not set
+# CONFIG_SND_USB is not set
+CONFIG_SND_SOC=y
+CONFIG_SND_IMX_SOC=y
+CONFIG_SND_SOC_IMX_SGTL5000=y
+CONFIG_USB=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_STORAGE=y
+CONFIG_USB_CHIPIDEA=y
+CONFIG_USB_CHIPIDEA_UDC=y
+CONFIG_USB_CHIPIDEA_HOST=y
+CONFIG_NOP_USB_XCEIV=y
+CONFIG_USB_MXS_PHY=y
+CONFIG_USB_GADGET=y
+CONFIG_USB_ZERO=m
+CONFIG_USB_ETH=m
+CONFIG_USB_MASS_STORAGE=m
+CONFIG_USB_G_SERIAL=m
+CONFIG_MMC=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_PLTFM=y
+CONFIG_MMC_SDHCI_ESDHC_IMX=y
+CONFIG_MXC_IPU=y
+CONFIG_MXC_GPU_VIV=y
+CONFIG_MXC_VPU_DEBUG=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_GPIO=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_INTF_DEV_UIE_EMUL=y
+CONFIG_RTC_DRV_DS1307=y
+CONFIG_RTC_DRV_MC13XXX=y
+CONFIG_RTC_DRV_MXC=y
+CONFIG_RTC_DRV_SNVS=y
+CONFIG_DMADEVICES=y
+CONFIG_MXC_PXP_V2=y
+# CONFIG_SH_DMAE_BASE is not set
+CONFIG_IMX_SDMA=y
+CONFIG_MXS_DMA=y
+# CONFIG_IOMMU_SUPPORT is not set
+CONFIG_PWM=y
+CONFIG_PWM_IMX=y
+CONFIG_GENERIC_PHY=y
+CONFIG_EXT2_FS=y
+CONFIG_EXT2_FS_XATTR=y
+CONFIG_EXT2_FS_POSIX_ACL=y
+CONFIG_EXT2_FS_SECURITY=y
+CONFIG_EXT3_FS=y
+CONFIG_EXT3_FS_POSIX_ACL=y
+CONFIG_EXT3_FS_SECURITY=y
+CONFIG_EXT4_FS=y
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+CONFIG_QUOTA=y
+CONFIG_QUOTA_NETLINK_INTERFACE=y
+# CONFIG_PRINT_QUOTA_WARNING is not set
+CONFIG_AUTOFS4_FS=y
+CONFIG_FUSE_FS=y
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_UDF_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=y
+CONFIG_TMPFS=y
+CONFIG_JFFS2_FS=y
+CONFIG_UBIFS_FS=y
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3_ACL=y
+CONFIG_NFS_V4=y
+CONFIG_ROOT_NFS=y
+CONFIG_NLS_DEFAULT="cp437"
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_ASCII=y
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_UTF8=y
+CONFIG_DEBUG_FS=y
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_SCHED_DEBUG is not set
+# CONFIG_FTRACE is not set
+CONFIG_DEBUG_SET_MODULE_RONX=y
+CONFIG_SECURITYFS=y
+CONFIG_CRYPTO_USER=y
+CONFIG_CRYPTO_AUTHENC=y
+CONFIG_CRYPTO_TEST=m
+CONFIG_CRYPTO_GCM=y
+CONFIG_CRYPTO_CBC=y
+CONFIG_CRYPTO_CTS=y
+CONFIG_CRYPTO_ECB=y
+CONFIG_CRYPTO_LRW=y
+CONFIG_CRYPTO_XTS=y
+CONFIG_CRYPTO_MD4=y
+CONFIG_CRYPTO_MD5=y
+CONFIG_CRYPTO_MICHAEL_MIC=y
+CONFIG_CRYPTO_RMD128=y
+CONFIG_CRYPTO_RMD160=y
+CONFIG_CRYPTO_RMD256=y
+CONFIG_CRYPTO_RMD320=y
+CONFIG_CRYPTO_SHA1=y
+CONFIG_CRYPTO_SHA256=y
+CONFIG_CRYPTO_SHA512=y
+CONFIG_CRYPTO_TGR192=y
+CONFIG_CRYPTO_WP512=y
+CONFIG_CRYPTO_BLOWFISH=y
+CONFIG_CRYPTO_CAMELLIA=y
+CONFIG_CRYPTO_DES=y
+CONFIG_CRYPTO_TWOFISH=y
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+CONFIG_CRC_CCITT=m
+CONFIG_CRC_T10DIF=y
+CONFIG_CRC7=m
+CONFIG_LIBCRC32C=m
+CONFIG_FONTS=y
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
index 4a40bbb46183a850af387151c58b73569f55182a..459ba290744b6eaadafa8325015fd2060fdace23 100644 (file)
@@ -104,6 +104,15 @@ void __init imx_init_revision_from_anatop(void)
        case 2:
                revision = IMX_CHIP_REVISION_1_2;
                break;
+       case 3:
+               revision = IMX_CHIP_REVISION_1_3;
+               break;
+       case 4:
+               revision = IMX_CHIP_REVISION_1_4;
+               break;
+       case 5:
+               revision = IMX_CHIP_REVISION_1_5;
+               break;
        default:
                revision = IMX_CHIP_REVISION_UNKNOWN;
        }
index 4ba587da89d2ef69bf8d96dcdbf27cf8ad6e93aa..52d872e7d326f5f8a48867a47090a672d26e2950 100644 (file)
@@ -1,6 +1,7 @@
 /*
  * Copyright (C) 2010-2011 Canonical Ltd <jeremy.kerr@canonical.com>
  * Copyright (C) 2011-2012 Mike Turquette, Linaro Ltd <mturquette@linaro.org>
+ * Copyright (C) 2013 Freescale Semiconductor, Inc.
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
index 8e795dea02ece013f4bb0dc9caa1bda63bc5ffc1..df31db8c489c31abfe5ddf6763cc10b9afc4d401 100644 (file)
@@ -167,13 +167,13 @@ static void __init imx6q_clocks_init(struct device_node *ccm_node)
        };
 
        /*                   type                               name         parent_name  base     div_mask */
-       clk[pll1_sys]      = imx_clk_pllv3(IMX_PLLV3_SYS,       "pll1_sys",     "osc", base,        0x7f);
-       clk[pll2_bus]      = imx_clk_pllv3(IMX_PLLV3_GENERIC,   "pll2_bus",     "osc", base + 0x30, 0x1);
-       clk[pll3_usb_otg]  = imx_clk_pllv3(IMX_PLLV3_USB,       "pll3_usb_otg", "osc", base + 0x10, 0x3);
-       clk[pll4_audio]    = imx_clk_pllv3(IMX_PLLV3_AV,        "pll4_audio",   "osc", base + 0x70, 0x7f);
-       clk[pll5_video]    = imx_clk_pllv3(IMX_PLLV3_AV,        "pll5_video",   "osc", base + 0xa0, 0x7f);
-       clk[pll6_enet]     = imx_clk_pllv3(IMX_PLLV3_ENET,      "pll6_enet",    "osc", base + 0xe0, 0x3);
-       clk[pll7_usb_host] = imx_clk_pllv3(IMX_PLLV3_USB,       "pll7_usb_host","osc", base + 0x20, 0x3);
+       clk[pll1_sys]      = imx_clk_pllv3(IMX_PLLV3_SYS,       "pll1_sys",     "osc", base,        0x7f, false);
+       clk[pll2_bus]      = imx_clk_pllv3(IMX_PLLV3_GENERIC,   "pll2_bus",     "osc", base + 0x30, 0x1, false);
+       clk[pll3_usb_otg]  = imx_clk_pllv3(IMX_PLLV3_USB,       "pll3_usb_otg", "osc", base + 0x10, 0x3, false);
+       clk[pll4_audio]    = imx_clk_pllv3(IMX_PLLV3_AV,        "pll4_audio",   "osc", base + 0x70, 0x7f, false);
+       clk[pll5_video]    = imx_clk_pllv3(IMX_PLLV3_AV,        "pll5_video",   "osc", base + 0xa0, 0x7f, false);
+       clk[pll6_enet]     = imx_clk_pllv3(IMX_PLLV3_ENET,      "pll6_enet",    "osc", base + 0xe0, 0x3, false);
+       clk[pll7_usb_host] = imx_clk_pllv3(IMX_PLLV3_USB,       "pll7_usb_host",        "osc", base + 0x20, 0x3, false);
 
        /*
         * Bit 20 is the reserved and read-only bit, we do this only for:
@@ -468,6 +468,13 @@ static void __init imx6q_clocks_init(struct device_node *ccm_node)
         */
        clk_set_parent(clk[enfc_sel], clk[pll2_pfd2_396m]);
 
+       /* gpu clock initilazation */
+       clk_set_parent(clk[gpu3d_shader_sel], clk[pll2_pfd1_594m]);
+       clk_set_rate(clk[gpu3d_shader], 594000000);
+       clk_set_parent(clk[gpu3d_core_sel], clk[mmdc_ch0_axi]);
+       clk_set_rate(clk[gpu3d_core], 528000000);
+       clk_set_parent(clk[gpu2d_core_sel], clk[pll3_usb_otg]);
+
        for (i = 0; i < ARRAY_SIZE(clks_init_on); i++)
                clk_prepare_enable(clk[clks_init_on[i]]);
 
@@ -476,6 +483,26 @@ static void __init imx6q_clocks_init(struct device_node *ccm_node)
                clk_prepare_enable(clk[usbphy2_gate]);
        }
 
+       /* ipu clock initialization */
+       clk_set_parent(clk[ldb_di0_sel], clk[pll2_pfd0_352m]);
+       clk_set_parent(clk[ldb_di1_sel], clk[pll2_pfd0_352m]);
+       clk_set_parent(clk[ipu1_di0_pre_sel], clk[pll5_video_div]);
+       clk_set_parent(clk[ipu1_di1_pre_sel], clk[pll5_video_div]);
+       clk_set_parent(clk[ipu2_di0_pre_sel], clk[pll5_video_div]);
+       clk_set_parent(clk[ipu2_di1_pre_sel], clk[pll5_video_div]);
+       clk_set_parent(clk[ipu1_di0_sel], clk[ipu1_di0_pre]);
+       clk_set_parent(clk[ipu1_di1_sel], clk[ipu1_di1_pre]);
+       clk_set_parent(clk[ipu2_di0_sel], clk[ipu2_di0_pre]);
+       clk_set_parent(clk[ipu2_di1_sel], clk[ipu2_di1_pre]);
+       if (cpu_is_imx6dl()) {
+               clk_set_rate(clk[pll3_pfd1_540m], 540000000);
+               clk_set_parent(clk[ipu1_sel], clk[pll3_pfd1_540m]);
+               clk_set_parent(clk[axi_sel], clk[pll3_pfd1_540m]);
+       } else if (cpu_is_imx6q()) {
+               clk_set_parent(clk[ipu1_sel], clk[mmdc_ch0_axi]);
+               clk_set_parent(clk[ipu2_sel], clk[mmdc_ch0_axi]);
+       }
+
        /*
         * Let's initially set up CLKO with OSC24M, since this configuration
         * is widely used by imx6q board designs to clock audio codec.
@@ -488,6 +515,8 @@ static void __init imx6q_clocks_init(struct device_node *ccm_node)
 
        /* Audio-related clocks configuration */
        clk_set_parent(clk[spdif_sel], clk[pll3_pfd3_454m]);
+       clk_set_parent(clk[asrc_sel], clk[pll3_usb_otg]);
+       clk_set_rate(clk[asrc_sel], 7500000);
 
        /* All existing boards with PCIe use LVDS1 */
        if (IS_ENABLED(CONFIG_PCI_IMX6))
index 5408ca70c8d62ca01cc9d7dbf0fb331b51edec32..6163c50b08d3217f0dc0319a1fd646afc828b405 100644 (file)
@@ -182,13 +182,13 @@ static void __init imx6sl_clocks_init(struct device_node *ccm_node)
        anatop_base = base;
 
        /*                                             type               name            parent  base         div_mask */
-       clks[IMX6SL_CLK_PLL1_SYS]      = imx_clk_pllv3(IMX_PLLV3_SYS,     "pll1_sys",      "osc", base,        0x7f);
-       clks[IMX6SL_CLK_PLL2_BUS]      = imx_clk_pllv3(IMX_PLLV3_GENERIC, "pll2_bus",      "osc", base + 0x30, 0x1);
-       clks[IMX6SL_CLK_PLL3_USB_OTG]  = imx_clk_pllv3(IMX_PLLV3_USB,     "pll3_usb_otg",  "osc", base + 0x10, 0x3);
-       clks[IMX6SL_CLK_PLL4_AUDIO]    = imx_clk_pllv3(IMX_PLLV3_AV,      "pll4_audio",    "osc", base + 0x70, 0x7f);
-       clks[IMX6SL_CLK_PLL5_VIDEO]    = imx_clk_pllv3(IMX_PLLV3_AV,      "pll5_video",    "osc", base + 0xa0, 0x7f);
-       clks[IMX6SL_CLK_PLL6_ENET]     = imx_clk_pllv3(IMX_PLLV3_ENET,    "pll6_enet",     "osc", base + 0xe0, 0x3);
-       clks[IMX6SL_CLK_PLL7_USB_HOST] = imx_clk_pllv3(IMX_PLLV3_USB,     "pll7_usb_host", "osc", base + 0x20, 0x3);
+       clks[IMX6SL_CLK_PLL1_SYS]      = imx_clk_pllv3(IMX_PLLV3_SYS,     "pll1_sys",      "osc", base,        0x7f, true);
+       clks[IMX6SL_CLK_PLL2_BUS]      = imx_clk_pllv3(IMX_PLLV3_GENERIC, "pll2_bus",      "osc", base + 0x30, 0x1, true);
+       clks[IMX6SL_CLK_PLL3_USB_OTG]  = imx_clk_pllv3(IMX_PLLV3_USB,     "pll3_usb_otg",  "osc", base + 0x10, 0x3, false);
+       clks[IMX6SL_CLK_PLL4_AUDIO]    = imx_clk_pllv3(IMX_PLLV3_AV,      "pll4_audio",    "osc", base + 0x70, 0x7f, false);
+       clks[IMX6SL_CLK_PLL5_VIDEO]    = imx_clk_pllv3(IMX_PLLV3_AV,      "pll5_video",    "osc", base + 0xa0, 0x7f, false);
+       clks[IMX6SL_CLK_PLL6_ENET]     = imx_clk_pllv3(IMX_PLLV3_ENET,    "pll6_enet",     "osc", base + 0xe0, 0x3, false);
+       clks[IMX6SL_CLK_PLL7_USB_HOST] = imx_clk_pllv3(IMX_PLLV3_USB,     "pll7_usb_host", "osc", base + 0x20, 0x3, false);
 
        /*
         * usbphy1 and usbphy2 are implemented as dummy gates using reserve
@@ -255,8 +255,8 @@ static void __init imx6sl_clocks_init(struct device_node *ccm_node)
        clks[IMX6SL_CLK_EPDC_AXI_SEL]     = imx_clk_mux("epdc_axi_sel",     base + 0x34, 15, 3, epdc_pxp_sels,     ARRAY_SIZE(epdc_pxp_sels));
        clks[IMX6SL_CLK_GPU2D_OVG_SEL]    = imx_clk_mux("gpu2d_ovg_sel",    base + 0x18, 4,  2, gpu2d_ovg_sels,    ARRAY_SIZE(gpu2d_ovg_sels));
        clks[IMX6SL_CLK_GPU2D_SEL]        = imx_clk_mux("gpu2d_sel",        base + 0x18, 8,  2, gpu2d_sels,        ARRAY_SIZE(gpu2d_sels));
-       clks[IMX6SL_CLK_LCDIF_PIX_SEL]    = imx_clk_mux("lcdif_pix_sel",    base + 0x38, 6,  3, lcdif_pix_sels,    ARRAY_SIZE(lcdif_pix_sels));
-       clks[IMX6SL_CLK_EPDC_PIX_SEL]     = imx_clk_mux("epdc_pix_sel",     base + 0x38, 15, 3, epdc_pix_sels,     ARRAY_SIZE(epdc_pix_sels));
+       clks[IMX6SL_CLK_LCDIF_PIX_SEL]    = imx_clk_mux_flags("lcdif_pix_sel",    base + 0x38, 6,  3, lcdif_pix_sels,    ARRAY_SIZE(lcdif_pix_sels), CLK_SET_RATE_PARENT);
+       clks[IMX6SL_CLK_EPDC_PIX_SEL]     = imx_clk_mux_flags("epdc_pix_sel",     base + 0x38, 15, 3, epdc_pix_sels,     ARRAY_SIZE(epdc_pix_sels), CLK_SET_RATE_PARENT);
        clks[IMX6SL_CLK_SPDIF0_SEL]       = imx_clk_mux("spdif0_sel",       base + 0x30, 20, 2, audio_sels,        ARRAY_SIZE(audio_sels));
        clks[IMX6SL_CLK_SPDIF1_SEL]       = imx_clk_mux("spdif1_sel",       base + 0x30, 7,  2, audio_sels,        ARRAY_SIZE(audio_sels));
        clks[IMX6SL_CLK_EXTERN_AUDIO_SEL] = imx_clk_mux("extern_audio_sel", base + 0x20, 19, 2, audio_sels,        ARRAY_SIZE(audio_sels));
@@ -373,6 +373,15 @@ static void __init imx6sl_clocks_init(struct device_node *ccm_node)
        for (i = 0; i < ARRAY_SIZE(clks_init_on); i++)
                clk_prepare_enable(clks[clks_init_on[i]]);
 
+       /*
+        * Make sure the MMDC clk is enabled to maintain the correct usecount
+        * and enabling/disabling of parent PLLs.
+        */
+       ret = clk_prepare_enable(clks[IMX6SL_CLK_MMDC_ROOT]);
+       if (ret)
+               pr_warn("%s: failed to enable MMDC clock %d\n",
+                       __func__, ret);
+
        if (IS_ENABLED(CONFIG_USB_MXS_PHY)) {
                clk_prepare_enable(clks[IMX6SL_CLK_USBPHY1_GATE]);
                clk_prepare_enable(clks[IMX6SL_CLK_USBPHY2_GATE]);
@@ -386,5 +395,11 @@ static void __init imx6sl_clocks_init(struct device_node *ccm_node)
 
        np = of_find_compatible_node(NULL, NULL, "fsl,imx6sl-gpt");
        mxc_timer_init_dt(np);
+
+       /* Initialize Video PLLs to valid frequency (650MHz). */
+       clk_set_rate(clks[IMX6SL_CLK_PLL5_VIDEO_DIV], 650000000);
+       /* set PLL5 video as lcdif pix parent clock */
+       clk_set_parent(clks[IMX6SL_CLK_LCDIF_PIX_SEL],
+                       clks[IMX6SL_CLK_PLL5_VIDEO_DIV]);
 }
 CLK_OF_DECLARE(imx6sl, "fsl,imx6sl-ccm", imx6sl_clocks_init);
index 0b0f6f66ec56b680219bdcad3e550670e7130131..6b0ba7f3ea9bd1b2cf0e1d2ea4d998a81fa81cbe 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2012 Freescale Semiconductor, Inc.
+ * Copyright 2012-2013 Freescale Semiconductor, Inc.
  * Copyright 2012 Linaro Ltd.
  *
  * The code contained herein is licensed under the GNU General Public
@@ -17,6 +17,8 @@
 #include <linux/err.h>
 #include "clk.h"
 
+#define BYPASS_RATE            24000000
+
 /**
  * struct clk_pfd - IMX PFD clock
  * @clk_hw:    clock source
@@ -62,9 +64,14 @@ static unsigned long clk_pfd_recalc_rate(struct clk_hw *hw,
        u64 tmp = parent_rate;
        u8 frac = (readl_relaxed(pfd->reg) >> (pfd->idx * 8)) & 0x3f;
 
-       tmp *= 18;
-       do_div(tmp, frac);
-
+       /*
+        * If the parent PLL is in bypass state, the PFDs
+        * are also in bypass state.
+        */
+       if (tmp != BYPASS_RATE) {
+               tmp *= 18;
+               do_div(tmp, frac);
+       }
        return tmp;
 }
 
@@ -74,17 +81,22 @@ static long clk_pfd_round_rate(struct clk_hw *hw, unsigned long rate,
        u64 tmp = *prate;
        u8 frac;
 
-       tmp = tmp * 18 + rate / 2;
-       do_div(tmp, rate);
-       frac = tmp;
-       if (frac < 12)
-               frac = 12;
-       else if (frac > 35)
-               frac = 35;
-       tmp = *prate;
-       tmp *= 18;
-       do_div(tmp, frac);
-
+       /*
+        * If the parent PLL is in bypass state, the PFDs
+        * are also in bypass state.
+        */
+       if (tmp != BYPASS_RATE) {
+               tmp = tmp * 18 + rate / 2;
+               do_div(tmp, rate);
+               frac = tmp;
+               if (frac < 12)
+                       frac = 12;
+               else if (frac > 35)
+                       frac = 35;
+               tmp = *prate;
+               tmp *= 18;
+               do_div(tmp, frac);
+       }
        return tmp;
 }
 
@@ -95,6 +107,9 @@ static int clk_pfd_set_rate(struct clk_hw *hw, unsigned long rate,
        u64 tmp = parent_rate;
        u8 frac;
 
+       if (tmp == BYPASS_RATE)
+               return 0;
+
        tmp = tmp * 18 + rate / 2;
        do_div(tmp, rate);
        frac = tmp;
index 61364050fccdce42b477f2a7a4aaafddf136f41a..a7284e4a9da18dee9a1bb2d07fb616194f4d2cf9 100644 (file)
 #define BM_PLL_ENABLE          (0x1 << 13)
 #define BM_PLL_BYPASS          (0x1 << 16)
 #define BM_PLL_LOCK            (0x1 << 31)
+#define BYPASS_RATE            24000000
+#define BYPASS_MASK    0x10000
 
 /**
  * struct clk_pllv3 - IMX PLL clock version 3
  * @clk_hw:     clock source
  * @base:       base address of PLL registers
  * @powerup_set: set POWER bit to power up the PLL
+ * @always_on : Leave the PLL powered up all the time.
  * @div_mask:   mask of divider bits
  *
  * IMX PLL clock version 3, found on i.MX6 series.  Divider for pllv3
@@ -41,6 +44,7 @@ struct clk_pllv3 {
        struct clk_hw   hw;
        void __iomem    *base;
        bool            powerup_set;
+       bool            always_on;
        u32             div_mask;
 };
 
@@ -123,7 +127,8 @@ static void clk_pllv3_disable(struct clk_hw *hw)
        u32 val;
 
        val = readl_relaxed(pll->base);
-       val &= ~BM_PLL_ENABLE;
+       if (!pll->always_on)
+               val &= ~BM_PLL_ENABLE;
        writel_relaxed(val, pll->base);
 }
 
@@ -132,14 +137,27 @@ static unsigned long clk_pllv3_recalc_rate(struct clk_hw *hw,
 {
        struct clk_pllv3 *pll = to_clk_pllv3(hw);
        u32 div = readl_relaxed(pll->base)  & pll->div_mask;
+       u32 bypass = readl_relaxed(pll->base) & BYPASS_MASK;
+       u32 rate;
 
-       return (div == 1) ? parent_rate * 22 : parent_rate * 20;
+       if (bypass)
+               rate = BYPASS_RATE;
+       else
+               rate = (div == 1) ? parent_rate * 22 : parent_rate * 20;
+
+       return rate;
 }
 
 static long clk_pllv3_round_rate(struct clk_hw *hw, unsigned long rate,
                                 unsigned long *prate)
 {
        unsigned long parent_rate = *prate;
+       struct clk_pllv3 *pll = to_clk_pllv3(hw);
+       u32 bypass = readl_relaxed(pll->base) & BYPASS_MASK;
+
+       /* If the PLL is bypassed, its rate is 24MHz. */
+       if (bypass)
+               return BYPASS_RATE;
 
        return (rate >= parent_rate * 22) ? parent_rate * 22 :
                                            parent_rate * 20;
@@ -150,6 +168,11 @@ static int clk_pllv3_set_rate(struct clk_hw *hw, unsigned long rate,
 {
        struct clk_pllv3 *pll = to_clk_pllv3(hw);
        u32 val, div;
+       u32 bypass = readl_relaxed(pll->base) & BYPASS_MASK;
+
+       /* If the PLL is bypassed, its rate is 24MHz. */
+       if (bypass)
+               return 0;
 
        if (rate == parent_rate * 22)
                div = 1;
@@ -322,7 +345,7 @@ static const struct clk_ops clk_pllv3_enet_ops = {
 
 struct clk *imx_clk_pllv3(enum imx_pllv3_type type, const char *name,
                          const char *parent_name, void __iomem *base,
-                         u32 div_mask)
+                         u32 div_mask, bool always_on)
 {
        struct clk_pllv3 *pll;
        const struct clk_ops *ops;
@@ -352,6 +375,7 @@ struct clk *imx_clk_pllv3(enum imx_pllv3_type type, const char *name,
        }
        pll->base = base;
        pll->div_mask = div_mask;
+       pll->always_on = always_on;
 
        init.name = name;
        init.ops = ops;
index e29f6ebe9f39d0047abce6e010b9e577a1db14bc..c3b45c8387d17beefbba530942e076eb2c0f5ddb 100644 (file)
@@ -23,7 +23,8 @@ enum imx_pllv3_type {
 };
 
 struct clk *imx_clk_pllv3(enum imx_pllv3_type type, const char *name,
-               const char *parent_name, void __iomem *base, u32 div_mask);
+               const char *parent_name, void __iomem *base,
+               u32 div_mask, bool always_on);
 
 struct clk *clk_register_gate2(struct device *dev, const char *name,
                const char *parent_name, unsigned long flags,
index abf43bb47eca16d05253cb757fc823e1cdfc5645..ffb154848e0960ff6c8e0d1d4146a1bc7054b032 100644 (file)
 
 #include "mx51.h"
 #include "mx53.h"
+#include "mx6.h"
 #include "mx3x.h"
 #include "mx31.h"
 #include "mx35.h"
diff --git a/arch/arm/mach-imx/mx6.h b/arch/arm/mach-imx/mx6.h
new file mode 100644 (file)
index 0000000..16f7eea
--- /dev/null
@@ -0,0 +1,35 @@
+/*
+ * Copyright 2004-2013 Freescale Semiconductor, Inc. All Rights Reserved.
+ */
+
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#ifndef __ASM_ARCH_MXC_IOMAP_H__
+#define __ASM_ARCH_MXC_IOMAP_H__
+
+#define MX6Q_IO_P2V(x)                  IMX_IO_P2V(x)
+#define MX6Q_IO_ADDRESS(x)              IOMEM(MX6Q_IO_P2V(x))
+
+#define MX6Q_L2_BASE_ADDR               0x00a02000
+#define MX6Q_L2_SIZE                   0x1000
+#define MX6Q_IOMUXC_BASE_ADDR          0x020e0000
+#define MX6Q_IOMUXC_SIZE               0x4000
+#define MX6Q_SRC_BASE_ADDR             0x020d8000
+#define MX6Q_SRC_SIZE                  0x4000
+#define MX6Q_CCM_BASE_ADDR             0x020c4000
+#define MX6Q_CCM_SIZE                  0x4000
+#define MX6Q_ANATOP_BASE_ADDR          0x020c8000
+#define MX6Q_ANATOP_SIZE               0x1000
+#define MX6Q_GPC_BASE_ADDR             0x020dc000
+#define MX6Q_GPC_SIZE                  0x4000
+#define MX6Q_MMDC_P0_BASE_ADDR         0x021b0000
+#define MX6Q_MMDC_P0_SIZE              0x4000
+#define MX6Q_MMDC_P1_BASE_ADDR         0x021b4000
+#define MX6Q_MMDC_P1_SIZE              0x4000
+
+#define MX6_SUSPEND_IRAM_SIZE          0x1000
+#endif
index 75d6a37e1ae490f3603ac84b19369f6d3204a139..12b47f7272c84f3c3f2a159d16387a3483148e86 100644 (file)
@@ -43,6 +43,8 @@
 #define IMX_CHIP_REVISION_1_1          0x11
 #define IMX_CHIP_REVISION_1_2          0x12
 #define IMX_CHIP_REVISION_1_3          0x13
+#define IMX_CHIP_REVISION_1_4          0x14
+#define IMX_CHIP_REVISION_1_5          0x15
 #define IMX_CHIP_REVISION_2_0          0x20
 #define IMX_CHIP_REVISION_2_1          0x21
 #define IMX_CHIP_REVISION_2_2          0x22
index 3b0733edb68c2ab30e93cfd60becd1a221ffa5f8..2674daa18c8767abf7da8e696a15e8c66461e80a 100644 (file)
@@ -34,6 +34,7 @@
 
 static void __iomem *wdog_base;
 static struct clk *wdog_clk;
+static u32 wdog_source = 1; /* use WDOG1 default */
 
 /*
  * Reset the system. It is called by machine_restart().
@@ -47,6 +48,15 @@ void mxc_restart(enum reboot_mode mode, const char *cmd)
 
        if (cpu_is_mx1())
                wcr_enable = (1 << 0);
+       /*
+        * Some i.MX6 boards use WDOG2 to reset external pmic in bypass mode,
+        * so do WDOG2 reset here. Do not set SRS, since we will
+        * trigger external POR later. Use WDOG1 to reset in ldo-enable
+        * mode. You can set it by "fsl,wdog-reset" in dts.
+        */
+       else if (wdog_source == 2 && (cpu_is_imx6q() || cpu_is_imx6dl() ||
+                       cpu_is_imx6sl()))
+               wcr_enable = 0x14;
        else
                wcr_enable = (1 << 2);
 
@@ -90,12 +100,29 @@ void __init mxc_arch_reset_init(void __iomem *base)
 
 void __init mxc_arch_reset_init_dt(void)
 {
-       struct device_node *np;
+       struct device_node *np = NULL;
+
+       if (cpu_is_imx6q() || cpu_is_imx6dl())
+               np = of_find_compatible_node(NULL, NULL, "fsl,imx6q-gpc");
+       else if (cpu_is_imx6sl())
+               np = of_find_compatible_node(NULL, NULL, "fsl,imx6sl-gpc");
+
+       if (np)
+               of_property_read_u32(np, "fsl,wdog-reset", &wdog_source);
+       pr_info("Use WDOG%d as reset source\n", wdog_source);
 
        np = of_find_compatible_node(NULL, NULL, "fsl,imx21-wdt");
        wdog_base = of_iomap(np, 0);
        WARN_ON(!wdog_base);
 
+       /* Some i.MX6 boards use WDOG2 to reset board in ldo-bypass mode */
+       if (wdog_source == 2 && (cpu_is_imx6q() || cpu_is_imx6dl() ||
+               cpu_is_imx6sl())) {
+               np = of_find_compatible_node(np, NULL, "fsl,imx21-wdt");
+               wdog_base = of_iomap(np, 0);
+               WARN_ON(!wdog_base);
+       }
+
        wdog_clk = of_clk_get(np, 0);
        if (IS_ERR(wdog_clk)) {
                pr_warn("%s: failed to get wdog clock\n", __func__);
index 0e87a34b6472e65c62c1d4b4bdd3d6ac49dc3624..906f6daf6c903d772de93e43436f1c2835c9dfb4 100644 (file)
@@ -98,6 +98,8 @@ source "drivers/mmc/Kconfig"
 
 source "drivers/memstick/Kconfig"
 
+source "drivers/mxc/Kconfig"
+
 source "drivers/leds/Kconfig"
 
 source "drivers/accessibility/Kconfig"
index f98b50d8251d3849dfb871ca1fef595f0677bbc0..7c241900e5003179286a1b88433b2bd3076663c4 100644 (file)
@@ -114,6 +114,7 @@ obj-y                               += lguest/
 obj-$(CONFIG_CPU_FREQ)         += cpufreq/
 obj-$(CONFIG_CPU_IDLE)         += cpuidle/
 obj-y                          += mmc/
+obj-$(CONFIG_ARCH_MXC)         += mxc/
 obj-$(CONFIG_MEMSTICK)         += memstick/
 obj-y                          += leds/
 obj-$(CONFIG_INFINIBAND)       += infiniband/
index 6e9f74a5c0950369be357b60a320fcac21578d45..cc120f225a44af7034341993d55b5fb54a5a5a00 100644 (file)
@@ -82,6 +82,21 @@ config BFIN_OTP_WRITE_ENABLE
 
          If unsure, say N.
 
+config FSL_OTP
+       tristate "Freescale On-Chip OTP Memory Support"
+       depends on HAS_IOMEM && OF
+       help
+         If you say Y here, you will get support for a character device
+         interface into the One Time Programmable memory pages that are
+         stored on the some Freescale i.MX processors.  This will not get
+         you access to the secure memory pages however.  You will need to
+         write your own secure code and reader for that.
+
+         To compile this driver as a module, choose M here: the module
+         will be called fsl_otp.
+
+         If unsure, it is safe to say Y.
+
 config PRINTER
        tristate "Parallel printer support"
        depends on PARPORT
@@ -600,5 +615,11 @@ config TILE_SROM
          device appear much like a simple EEPROM, and knows
          how to partition a single ROM for multiple purposes.
 
+config MXS_VIIM
+       tristate "MXS Virtual IIM device driver"
+       depends on (SOC_IMX50 || SOC_IMX6Q || SOC_IMX6SL)
+       help
+         Support for access to MXS Virtual IIM device, most people should say N here.
+
 endmenu
 
index a324f9303e36da8e9c63c423f3405d777f05cdbb..cebcf945e6f462d4aa2e162ec3d14160f952b08a 100644 (file)
@@ -16,6 +16,7 @@ obj-$(CONFIG_UV_MMTIMER)      += uv_mmtimer.o
 obj-$(CONFIG_IBM_BSR)          += bsr.o
 obj-$(CONFIG_SGI_MBCS)         += mbcs.o
 obj-$(CONFIG_BFIN_OTP)         += bfin-otp.o
+obj-$(CONFIG_FSL_OTP)          += fsl_otp.o
 
 obj-$(CONFIG_PRINTER)          += lp.o
 
@@ -56,6 +57,7 @@ obj-$(CONFIG_HANGCHECK_TIMER) += hangcheck-timer.o
 obj-$(CONFIG_TCG_TPM)          += tpm/
 
 obj-$(CONFIG_PS3_FLASH)                += ps3flash.o
+obj-$(CONFIG_MXS_VIIM)         += mxs_viim.o
 
 obj-$(CONFIG_JS_RTC)           += js-rtc.o
 js-rtc-y = rtc.o
diff --git a/drivers/char/fsl_otp.c b/drivers/char/fsl_otp.c
new file mode 100644 (file)
index 0000000..face297
--- /dev/null
@@ -0,0 +1,299 @@
+/*
+ * Freescale On-Chip OTP driver
+ *
+ * Copyright (C) 2010-2013 Freescale Semiconductor, Inc. All Rights Reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ */
+
+#include <linux/clk.h>
+#include <linux/delay.h>
+#include <linux/err.h>
+#include <linux/init.h>
+#include <linux/io.h>
+#include <linux/kobject.h>
+#include <linux/module.h>
+#include <linux/mutex.h>
+#include <linux/of.h>
+#include <linux/platform_device.h>
+#include <linux/slab.h>
+#include <linux/sysfs.h>
+
+#define HW_OCOTP_CTRL                  0x00000000
+#define HW_OCOTP_CTRL_SET              0x00000004
+#define BP_OCOTP_CTRL_WR_UNLOCK                16
+#define BM_OCOTP_CTRL_WR_UNLOCK                0xFFFF0000
+#define BM_OCOTP_CTRL_RELOAD_SHADOWS   0x00000400
+#define BM_OCOTP_CTRL_ERROR            0x00000200
+#define BM_OCOTP_CTRL_BUSY             0x00000100
+#define BP_OCOTP_CTRL_ADDR             0
+#define BM_OCOTP_CTRL_ADDR             0x0000007F
+
+#define HW_OCOTP_TIMING                        0x00000010
+#define BP_OCOTP_TIMING_STROBE_READ    16
+#define BM_OCOTP_TIMING_STROBE_READ    0x003F0000
+#define BP_OCOTP_TIMING_RELAX          12
+#define BM_OCOTP_TIMING_RELAX          0x0000F000
+#define BP_OCOTP_TIMING_STROBE_PROG    0
+#define BM_OCOTP_TIMING_STROBE_PROG    0x00000FFF
+
+#define HW_OCOTP_DATA                  0x00000020
+
+#define HW_OCOTP_CUST_N(n)     (0x00000400 + (n) * 0x10)
+#define BF(value, field)       (((value) << BP_##field) & BM_##field)
+
+#define DEF_RELAX              20      /* > 16.5ns */
+
+#define BANK(a, b, c, d, e, f, g, h) { \
+       "HW_OCOTP_"#a, "HW_OCOTP_"#b, "HW_OCOTP_"#c, "HW_OCOTP_"#d, \
+       "HW_OCOTP_"#e, "HW_OCOTP_"#f, "HW_OCOTP_"#g, "HW_OCOTP_"#h, \
+}
+
+static const char *imx6q_otp_desc[16][8] = {
+       BANK(LOCK, CFG0, CFG1, CFG2, CFG3, CFG4, CFG5, CFG6),
+       BANK(MEM0, MEM1, MEM2, MEM3, MEM4, ANA0, ANA1, ANA2),
+       BANK(OTPMK0, OTPMK1, OTPMK2, OTPMK3, OTPMK4, OTPMK5, OTPMK6, OTPMK7),
+       BANK(SRK0, SRK1, SRK2, SRK3, SRK4, SRK5, SRK6, SRK7),
+       BANK(RESP0, HSJC_RESP1, MAC0, MAC1, HDCP_KSV0, HDCP_KSV1, GP1, GP2),
+       BANK(DTCP_KEY0,  DTCP_KEY1,  DTCP_KEY2,  DTCP_KEY3,  DTCP_KEY4,  MISC_CONF,  FIELD_RETURN, SRK_REVOKE),
+       BANK(HDCP_KEY0,  HDCP_KEY1,  HDCP_KEY2,  HDCP_KEY3,  HDCP_KEY4,  HDCP_KEY5,  HDCP_KEY6,  HDCP_KEY7),
+       BANK(HDCP_KEY8,  HDCP_KEY9,  HDCP_KEY10, HDCP_KEY11, HDCP_KEY12, HDCP_KEY13, HDCP_KEY14, HDCP_KEY15),
+       BANK(HDCP_KEY16, HDCP_KEY17, HDCP_KEY18, HDCP_KEY19, HDCP_KEY20, HDCP_KEY21, HDCP_KEY22, HDCP_KEY23),
+       BANK(HDCP_KEY24, HDCP_KEY25, HDCP_KEY26, HDCP_KEY27, HDCP_KEY28, HDCP_KEY29, HDCP_KEY30, HDCP_KEY31),
+       BANK(HDCP_KEY32, HDCP_KEY33, HDCP_KEY34, HDCP_KEY35, HDCP_KEY36, HDCP_KEY37, HDCP_KEY38, HDCP_KEY39),
+       BANK(HDCP_KEY40, HDCP_KEY41, HDCP_KEY42, HDCP_KEY43, HDCP_KEY44, HDCP_KEY45, HDCP_KEY46, HDCP_KEY47),
+       BANK(HDCP_KEY48, HDCP_KEY49, HDCP_KEY50, HDCP_KEY51, HDCP_KEY52, HDCP_KEY53, HDCP_KEY54, HDCP_KEY55),
+       BANK(HDCP_KEY56, HDCP_KEY57, HDCP_KEY58, HDCP_KEY59, HDCP_KEY60, HDCP_KEY61, HDCP_KEY62, HDCP_KEY63),
+       BANK(HDCP_KEY64, HDCP_KEY65, HDCP_KEY66, HDCP_KEY67, HDCP_KEY68, HDCP_KEY69, HDCP_KEY70, HDCP_KEY71),
+       BANK(CRC0, CRC1, CRC2, CRC3, CRC4, CRC5, CRC6, CRC7),
+};
+
+static DEFINE_MUTEX(otp_mutex);
+static void __iomem *otp_base;
+static struct clk *otp_clk;
+struct kobject *otp_kobj;
+struct kobj_attribute *otp_kattr;
+struct attribute_group *otp_attr_group;
+
+static void set_otp_timing(void)
+{
+       unsigned long clk_rate = 0;
+       unsigned long strobe_read, relex, strobe_prog;
+       u32 timing = 0;
+
+       clk_rate = clk_get_rate(otp_clk);
+
+       /* do optimization for too many zeros */
+       relex = clk_rate / (1000000000 / DEF_RELAX) - 1;
+       strobe_prog = clk_rate / (1000000000 / 10000) + 2 * (DEF_RELAX + 1) - 1;
+       strobe_read = clk_rate / (1000000000 / 40) + 2 * (DEF_RELAX + 1) - 1;
+
+       timing = BF(relex, OCOTP_TIMING_RELAX);
+       timing |= BF(strobe_read, OCOTP_TIMING_STROBE_READ);
+       timing |= BF(strobe_prog, OCOTP_TIMING_STROBE_PROG);
+
+       __raw_writel(timing, otp_base + HW_OCOTP_TIMING);
+}
+
+static int otp_wait_busy(u32 flags)
+{
+       int count;
+       u32 c;
+
+       for (count = 10000; count >= 0; count--) {
+               c = __raw_readl(otp_base + HW_OCOTP_CTRL);
+               if (!(c & (BM_OCOTP_CTRL_BUSY | BM_OCOTP_CTRL_ERROR | flags)))
+                       break;
+               cpu_relax();
+       }
+
+       if (count < 0)
+               return -ETIMEDOUT;
+
+       return 0;
+}
+
+static ssize_t fsl_otp_show(struct kobject *kobj, struct kobj_attribute *attr,
+                           char *buf)
+{
+       unsigned int index = attr - otp_kattr;
+       u32 value = 0;
+       int ret;
+
+       ret = clk_prepare_enable(otp_clk);
+       if (ret)
+               return 0;
+
+       mutex_lock(&otp_mutex);
+
+       set_otp_timing();
+       ret = otp_wait_busy(0);
+       if (ret)
+               goto out;
+
+       value = __raw_readl(otp_base + HW_OCOTP_CUST_N(index));
+
+out:
+       mutex_unlock(&otp_mutex);
+       clk_disable_unprepare(otp_clk);
+       return ret ? 0 : sprintf(buf, "0x%x\n", value);
+}
+
+static int otp_write_bits(int addr, u32 data, u32 magic)
+{
+       u32 c; /* for control register */
+
+       /* init the control register */
+       c = __raw_readl(otp_base + HW_OCOTP_CTRL);
+       c &= ~BM_OCOTP_CTRL_ADDR;
+       c |= BF(addr, OCOTP_CTRL_ADDR);
+       c |= BF(magic, OCOTP_CTRL_WR_UNLOCK);
+       __raw_writel(c, otp_base + HW_OCOTP_CTRL);
+
+       /* init the data register */
+       __raw_writel(data, otp_base + HW_OCOTP_DATA);
+       otp_wait_busy(0);
+
+       mdelay(2); /* Write Postamble */
+
+       return 0;
+}
+
+static ssize_t fsl_otp_store(struct kobject *kobj, struct kobj_attribute *attr,
+                            const char *buf, size_t count)
+{
+       unsigned int index = attr - otp_kattr;
+       u32 value;
+       int ret;
+
+       sscanf(buf, "0x%x", &value);
+
+       ret = clk_prepare_enable(otp_clk);
+       if (ret)
+               return 0;
+
+       mutex_lock(&otp_mutex);
+
+       set_otp_timing();
+       ret = otp_wait_busy(0);
+       if (ret)
+               goto out;
+
+       otp_write_bits(index, value, 0x3e77);
+
+       /* Reload all the shadow registers */
+       __raw_writel(BM_OCOTP_CTRL_RELOAD_SHADOWS,
+                    otp_base + HW_OCOTP_CTRL_SET);
+       udelay(1);
+       otp_wait_busy(BM_OCOTP_CTRL_RELOAD_SHADOWS);
+
+out:
+       mutex_unlock(&otp_mutex);
+       clk_disable_unprepare(otp_clk);
+       return ret ? 0 : count;
+}
+
+static int fsl_otp_probe(struct platform_device *pdev)
+{
+       struct resource *res;
+       struct attribute **attrs;
+       const char **desc;
+       int i, num;
+       int ret;
+
+       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+       otp_base = devm_ioremap_resource(&pdev->dev, res);
+       if (IS_ERR(otp_base)) {
+               ret = PTR_ERR(otp_base);
+               dev_err(&pdev->dev, "failed to ioremap resource: %d\n", ret);
+               return ret;
+       }
+
+       otp_clk = devm_clk_get(&pdev->dev, NULL);
+       if (IS_ERR(otp_clk)) {
+               ret = PTR_ERR(otp_clk);
+               dev_err(&pdev->dev, "failed to get clock: %d\n", ret);
+               return ret;
+       }
+
+       desc = (const char **) imx6q_otp_desc;
+       num = sizeof(imx6q_otp_desc) / sizeof(void *);
+
+       /* The last one is NULL, which is used to detect the end */
+       attrs = devm_kzalloc(&pdev->dev, (num + 1) * sizeof(*attrs),
+                            GFP_KERNEL);
+       otp_kattr = devm_kzalloc(&pdev->dev, num * sizeof(*otp_kattr),
+                                GFP_KERNEL);
+       otp_attr_group = devm_kzalloc(&pdev->dev, sizeof(*otp_attr_group),
+                                     GFP_KERNEL);
+       if (!attrs || !otp_kattr || !otp_attr_group)
+               return -ENOMEM;
+
+       for (i = 0; i < num; i++) {
+               sysfs_attr_init(&otp_kattr[i].attr);
+               otp_kattr[i].attr.name = desc[i];
+               otp_kattr[i].attr.mode = 0600;
+               otp_kattr[i].show = fsl_otp_show;
+               otp_kattr[i].store = fsl_otp_store;
+               attrs[i] = &otp_kattr[i].attr;
+       }
+       otp_attr_group->attrs = attrs;
+
+       otp_kobj = kobject_create_and_add("fsl_otp", NULL);
+       if (!otp_kobj) {
+               dev_err(&pdev->dev, "failed to add kobject\n");
+               return -ENOMEM;
+       }
+
+       ret = sysfs_create_group(otp_kobj, otp_attr_group);
+       if (ret) {
+               dev_err(&pdev->dev, "failed to create sysfs group: %d\n", ret);
+               kobject_put(otp_kobj);
+               return ret;
+       }
+
+       mutex_init(&otp_mutex);
+
+       return 0;
+}
+
+static int fsl_otp_remove(struct platform_device *pdev)
+{
+       sysfs_remove_group(otp_kobj, otp_attr_group);
+       kobject_put(otp_kobj);
+
+       return 0;
+}
+
+static const struct of_device_id fsl_otp_dt_ids[] = {
+       { .compatible = "fsl,imx6q-ocotp", },
+       { /* sentinel */ }
+};
+MODULE_DEVICE_TABLE(of, fsl_otp_dt_ids);
+
+static struct platform_driver fsl_otp_driver = {
+       .driver         = {
+               .name   = "imx-ocotp",
+               .owner  = THIS_MODULE,
+               .of_match_table = fsl_otp_dt_ids,
+       },
+       .probe          = fsl_otp_probe,
+       .remove         = fsl_otp_remove,
+};
+module_platform_driver(fsl_otp_driver);
+
+MODULE_LICENSE("GPL");
+MODULE_AUTHOR("Huang Shijie <b32955@freescale.com>");
+MODULE_DESCRIPTION("Freescale i.MX OCOTP driver");
diff --git a/drivers/char/mxs_viim.c b/drivers/char/mxs_viim.c
new file mode 100644 (file)
index 0000000..d0ad69b
--- /dev/null
@@ -0,0 +1,172 @@
+/*
+ * Copyright (C) 2009-2011, 2014 Freescale Semiconductor, Inc. All Rights Reserved.
+ */
+
+/*
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+#include <linux/fs.h>
+#include <linux/init.h>
+#include <linux/platform_device.h>
+#include <linux/err.h>
+#include <linux/mm.h>
+#include <linux/miscdevice.h>
+#include <linux/module.h>
+#include <linux/of.h>
+
+static unsigned long iim_reg_base0, iim_reg_end0, iim_reg_size0;
+static unsigned long iim_reg_base1, iim_reg_end1, iim_reg_size1;
+static struct device *iim_dev;
+
+/*!
+ * MXS Virtual IIM interface - memory map function
+ * This function maps one page size VIIM registers from VIIM base address0
+ * if the size of the required virtual memory space is less than or equal to
+ * one page size, otherwise this function will also map one page size VIIM
+ * registers from VIIM base address1.
+ *
+ * @param file      struct file *
+ * @param vma       structure vm_area_struct *
+ *
+ * @return          Return 0 on success or negative error code on error
+ */
+static int mxs_viim_mmap(struct file *file, struct vm_area_struct *vma)
+{
+       size_t size = vma->vm_end - vma->vm_start;
+
+       vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
+
+       /* Remap-pfn-range will mark the range VM_IO and VM_RESERVED */
+       if (remap_pfn_range(vma,
+                           vma->vm_start,
+                           iim_reg_base0 >> PAGE_SHIFT,
+                           iim_reg_size0,
+                           vma->vm_page_prot))
+               return -EAGAIN;
+
+       if (size > iim_reg_size0) {
+               if (remap_pfn_range(vma,
+                                   vma->vm_start + iim_reg_size0,
+                                   iim_reg_base1 >> PAGE_SHIFT,
+                                   iim_reg_size1,
+                                   vma->vm_page_prot))
+                       return -EAGAIN;
+       }
+
+       return 0;
+}
+
+/*!
+ * MXS Virtual IIM interface - open function
+ *
+ * @param inode             struct inode *
+ * @param filp      struct file *
+ *
+ * @return          Return 0 on success or negative error code on error
+ */
+static int mxs_viim_open(struct inode *inode, struct file *filp)
+{
+       return 0;
+}
+
+/*!
+ * MXS Virtual IIM interface - release function
+ *
+ * @param inode             struct inode *
+ * @param filp      struct file *
+ *
+ * @return          Return 0 on success or negative error code on error
+ */
+static int mxs_viim_release(struct inode *inode, struct file *filp)
+{
+       return 0;
+}
+
+static const struct file_operations mxs_viim_fops = {
+       .mmap = mxs_viim_mmap,
+       .open = mxs_viim_open,
+       .release = mxs_viim_release,
+};
+
+static struct miscdevice mxs_viim_miscdev = {
+       .minor = MISC_DYNAMIC_MINOR,
+       .name = "mxs_viim",
+       .fops = &mxs_viim_fops,
+};
+
+/*!
+ * This function is called by the driver framework to get virtual iim base/end
+ * address and register iim misc device.
+ *
+ * @param      dev     The device structure for Virtual IIM passed in by the
+ *                     driver framework.
+ *
+ * @return      Returns 0 on success or negative error code on error
+ */
+static int mxs_viim_probe(struct platform_device *pdev)
+{
+       struct resource *res;
+       int ret;
+
+       iim_dev = &pdev->dev;
+
+       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+       if (IS_ERR(res)) {
+               dev_err(iim_dev, "Unable to get Virtual IIM resource 0\n");
+               return -ENODEV;
+       }
+
+       iim_reg_base0 = res->start;
+       iim_reg_end0 = res->end;
+       iim_reg_size0 = iim_reg_end0 - iim_reg_base0 + 1;
+
+       res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
+       if (IS_ERR(res)) {
+               dev_err(iim_dev, "Unable to get Virtual IIM resource 1\n");
+               return -ENODEV;
+       }
+
+       iim_reg_base1 = res->start;
+       iim_reg_end1 = res->end;
+       iim_reg_size1 = iim_reg_end1 - iim_reg_base1 + 1;
+
+       ret = misc_register(&mxs_viim_miscdev);
+       if (ret)
+               return ret;
+
+       return 0;
+}
+
+static int mxs_viim_remove(struct platform_device *pdev)
+{
+       misc_deregister(&mxs_viim_miscdev);
+       return 0;
+}
+
+static const struct of_device_id mxs_viim_dt_ids[] = {
+       { .compatible = "fsl,mxs_viim", },
+       { /* sentinel */ }
+};
+MODULE_DEVICE_TABLE(of, mxs_viim_dt_ids);
+
+static struct platform_driver mxs_viim_driver = {
+       .driver = {
+                  .owner = THIS_MODULE,
+                  .name = "mxs_viim",
+                  .of_match_table = mxs_viim_dt_ids,
+                  },
+       .probe = mxs_viim_probe,
+       .remove = mxs_viim_remove,
+};
+module_platform_driver(mxs_viim_driver);
+
+MODULE_AUTHOR("Freescale Semiconductor, Inc.");
+MODULE_DESCRIPTION("IMX Virtual IIM driver");
+MODULE_LICENSE("GPL");
+MODULE_ALIAS_MISCDEV(MISC_DYNAMIC_MINOR);
index 1eca7b9760e6cec55e356ad0565c37d5e5e14ad9..0a350cbdaa2b89cda9ace03d098d20f4ecc64d96 100644 (file)
@@ -137,6 +137,19 @@ config MX3_IPU_IRQS
          To avoid bloating the irq_desc[] array we allocate a sufficient
          number of IRQ slots and map them dynamically to specific sources.
 
+config MXC_PXP_V2
+       bool "MXC PxP V2 support"
+       depends on ARM
+       select DMA_ENGINE
+       help
+          Support the PxP (Pixel Pipeline) on i.MX6 DualLite and i.MX6 SoloLite.
+         If unsure, select N.
+
+config MXC_PXP_CLIENT_DEVICE
+       bool "MXC PxP Client Device"
+       default y
+       depends on MXC_PXP_V2
+
 config TXX9_DMAC
        tristate "Toshiba TXx9 SoC DMA support"
        depends on MACH_TX49XX || MACH_TX39XX
index c779e1eb2db2acca9f35a1faf24dffb04dd930fb..17f2135dbf18e6a459b8ced2fd18bdf4d2ad9ff8 100644 (file)
@@ -18,6 +18,7 @@ obj-$(CONFIG_MV_XOR) += mv_xor.o
 obj-$(CONFIG_DW_DMAC_CORE) += dw/
 obj-$(CONFIG_AT_HDMAC) += at_hdmac.o
 obj-$(CONFIG_MX3_IPU) += ipu/
+obj-$(CONFIG_MXC_PXP_V2) += pxp/
 obj-$(CONFIG_TXX9_DMAC) += txx9dmac.o
 obj-$(CONFIG_SH_DMAE_BASE) += sh/
 obj-$(CONFIG_COH901318) += coh901318.o coh901318_lli.o
diff --git a/drivers/dma/pxp/Makefile b/drivers/dma/pxp/Makefile
new file mode 100644 (file)
index 0000000..498ccca
--- /dev/null
@@ -0,0 +1,2 @@
+obj-$(CONFIG_MXC_PXP_V2) += pxp_dma_v2.o
+obj-$(CONFIG_MXC_PXP_CLIENT_DEVICE) += pxp_device.o
diff --git a/drivers/dma/pxp/pxp_device.c b/drivers/dma/pxp/pxp_device.c
new file mode 100644 (file)
index 0000000..2b52ee1
--- /dev/null
@@ -0,0 +1,765 @@
+/*
+ * Copyright (C) 2010-2014 Freescale Semiconductor, Inc. All Rights Reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ *
+ */
+#include <linux/interrupt.h>
+#include <linux/miscdevice.h>
+#include <linux/platform_device.h>
+#include <linux/fs.h>
+#include <linux/slab.h>
+#include <linux/uaccess.h>
+#include <linux/delay.h>
+#include <linux/dmaengine.h>
+#include <linux/dma-mapping.h>
+#include <linux/sched.h>
+#include <linux/module.h>
+#include <linux/pxp_device.h>
+#include <linux/atomic.h>
+#include <linux/platform_data/dma-imx.h>
+
+#define BUFFER_HASH_ORDER 4
+
+static struct pxp_buffer_hash bufhash;
+static struct pxp_irq_info irq_info[NR_PXP_VIRT_CHANNEL];
+
+static int pxp_ht_create(struct pxp_buffer_hash *hash, int order)
+{
+       unsigned long i;
+       unsigned long table_size;
+
+       table_size = 1U << order;
+
+       hash->order = order;
+       hash->hash_table = kmalloc(sizeof(*hash->hash_table) * table_size, GFP_KERNEL);
+
+       if (!hash->hash_table) {
+               pr_err("%s: Out of memory for hash table\n", __func__);
+               return -ENOMEM;
+       }
+
+       for (i = 0; i < table_size; i++)
+               INIT_HLIST_HEAD(&hash->hash_table[i]);
+
+       return 0;
+}
+
+static int pxp_ht_insert_item(struct pxp_buffer_hash *hash,
+                             struct pxp_buf_obj *new)
+{
+       unsigned long hashkey;
+       struct hlist_head *h_list;
+
+       hashkey = hash_long(new->offset >> PAGE_SHIFT, hash->order);
+       h_list = &hash->hash_table[hashkey];
+
+       spin_lock(&hash->hash_lock);
+       hlist_add_head_rcu(&new->item, h_list);
+       spin_unlock(&hash->hash_lock);
+
+       return 0;
+}
+
+static int pxp_ht_remove_item(struct pxp_buffer_hash *hash,
+                             struct pxp_buf_obj *obj)
+{
+       spin_lock(&hash->hash_lock);
+       hlist_del_init_rcu(&obj->item);
+       spin_unlock(&hash->hash_lock);
+       return 0;
+}
+
+static struct hlist_node *pxp_ht_find_key(struct pxp_buffer_hash *hash,
+                                         unsigned long key)
+{
+       struct pxp_buf_obj *entry;
+       struct hlist_head *h_list;
+       unsigned long hashkey;
+
+       hashkey = hash_long(key, hash->order);
+       h_list = &hash->hash_table[hashkey];
+
+       hlist_for_each_entry_rcu(entry, h_list, item) {
+               if (entry->offset >> PAGE_SHIFT == key)
+                       return &entry->item;
+       }
+
+       return NULL;
+}
+
+static void pxp_ht_destroy(struct pxp_buffer_hash *hash)
+{
+       kfree(hash->hash_table);
+       hash->hash_table = NULL;
+}
+
+static int pxp_buffer_handle_create(struct pxp_file *file_priv,
+                                   struct pxp_buf_obj *obj,
+                                   uint32_t *handlep)
+{
+       int ret;
+
+       idr_preload(GFP_KERNEL);
+       spin_lock(&file_priv->buffer_lock);
+
+       ret = idr_alloc(&file_priv->buffer_idr, obj, 1, 0, GFP_NOWAIT);
+
+       spin_unlock(&file_priv->buffer_lock);
+       idr_preload_end();
+
+       if (ret < 0)
+               return ret;
+
+       *handlep = ret;
+
+       return 0;
+}
+
+static struct pxp_buf_obj *
+pxp_buffer_object_lookup(struct pxp_file *file_priv,
+                        uint32_t handle)
+{
+       struct pxp_buf_obj *obj;
+
+       spin_lock(&file_priv->buffer_lock);
+
+       obj = idr_find(&file_priv->buffer_idr, handle);
+       if (!obj) {
+               spin_unlock(&file_priv->buffer_lock);
+               return NULL;
+       }
+
+       spin_unlock(&file_priv->buffer_lock);
+
+       return obj;
+}
+
+static int pxp_buffer_handle_delete(struct pxp_file *file_priv,
+                                   uint32_t handle)
+{
+       struct pxp_buf_obj *obj;
+
+       spin_lock(&file_priv->buffer_lock);
+
+       obj = idr_find(&file_priv->buffer_idr, handle);
+       if (!obj) {
+               spin_unlock(&file_priv->buffer_lock);
+               return -EINVAL;
+       }
+
+       idr_remove(&file_priv->buffer_idr, handle);
+       spin_unlock(&file_priv->buffer_lock);
+
+       return 0;
+}
+
+static int pxp_channel_handle_create(struct pxp_file *file_priv,
+                                    struct pxp_chan_obj *obj,
+                                    uint32_t *handlep)
+{
+       int ret;
+
+       idr_preload(GFP_KERNEL);
+       spin_lock(&file_priv->channel_lock);
+
+       ret = idr_alloc(&file_priv->channel_idr, obj, 0, 0, GFP_NOWAIT);
+
+       spin_unlock(&file_priv->channel_lock);
+       idr_preload_end();
+
+       if (ret < 0)
+               return ret;
+
+       *handlep = ret;
+
+       return 0;
+}
+
+static struct pxp_chan_obj *
+pxp_channel_object_lookup(struct pxp_file *file_priv,
+                         uint32_t handle)
+{
+       struct pxp_chan_obj *obj;
+
+       spin_lock(&file_priv->channel_lock);
+
+       obj = idr_find(&file_priv->channel_idr, handle);
+       if (!obj) {
+               spin_unlock(&file_priv->channel_lock);
+               return NULL;
+       }
+
+       spin_unlock(&file_priv->channel_lock);
+
+       return obj;
+}
+
+static int pxp_channel_handle_delete(struct pxp_file *file_priv,
+                                    uint32_t handle)
+{
+       struct pxp_chan_obj *obj;
+
+       spin_lock(&file_priv->channel_lock);
+
+       obj = idr_find(&file_priv->channel_idr, handle);
+       if (!obj) {
+               spin_unlock(&file_priv->channel_lock);
+               return -EINVAL;
+       }
+
+       idr_remove(&file_priv->channel_idr, handle);
+       spin_unlock(&file_priv->channel_lock);
+
+       return 0;
+}
+
+static int pxp_alloc_dma_buffer(struct pxp_buf_obj *obj)
+{
+       obj->virtual = dma_alloc_coherent(NULL, PAGE_ALIGN(obj->size),
+                              (dma_addr_t *) (&obj->offset),
+                              GFP_DMA | GFP_KERNEL);
+       pr_debug("[ALLOC] mem alloc phys_addr = 0x%lx\n", obj->offset);
+
+       if (obj->virtual == NULL) {
+               printk(KERN_ERR "Physical memory allocation error!\n");
+               return -1;
+       }
+
+       return 0;
+}
+
+static void pxp_free_dma_buffer(struct pxp_buf_obj *obj)
+{
+       if (obj->virtual != NULL) {
+               dma_free_coherent(0, PAGE_ALIGN(obj->size),
+                                 obj->virtual, (dma_addr_t)obj->offset);
+       }
+}
+
+static int
+pxp_buffer_object_free(int id, void *ptr, void *data)
+{
+       struct pxp_file *file_priv = data;
+       struct pxp_buf_obj *obj = ptr;
+       int ret;
+
+       ret = pxp_buffer_handle_delete(file_priv, obj->handle);
+       if (ret < 0)
+               return ret;
+
+       pxp_ht_remove_item(&bufhash, obj);
+       pxp_free_dma_buffer(obj);
+       kfree(obj);
+
+       return 0;
+}
+
+static int
+pxp_channel_object_free(int id, void *ptr, void *data)
+{
+       struct pxp_file *file_priv = data;
+       struct pxp_chan_obj *obj = ptr;
+       int chan_id;
+
+       chan_id = obj->chan->chan_id;
+       wait_event(irq_info[chan_id].waitq,
+               atomic_read(&irq_info[chan_id].irq_pending) == 0);
+
+       pxp_channel_handle_delete(file_priv, obj->handle);
+       dma_release_channel(obj->chan);
+       kfree(obj);
+
+       return 0;
+}
+
+static void pxp_free_buffers(struct pxp_file *file_priv)
+{
+       idr_for_each(&file_priv->buffer_idr,
+                       &pxp_buffer_object_free, file_priv);
+       idr_destroy(&file_priv->buffer_idr);
+}
+
+static void pxp_free_channels(struct pxp_file *file_priv)
+{
+       idr_for_each(&file_priv->channel_idr,
+                       &pxp_channel_object_free, file_priv);
+       idr_destroy(&file_priv->channel_idr);
+}
+
+/* Callback function triggered after PxP receives an EOF interrupt */
+static void pxp_dma_done(void *arg)
+{
+       struct pxp_tx_desc *tx_desc = to_tx_desc(arg);
+       struct dma_chan *chan = tx_desc->txd.chan;
+       struct pxp_channel *pxp_chan = to_pxp_channel(chan);
+       int chan_id = pxp_chan->dma_chan.chan_id;
+
+       pr_debug("DMA Done ISR, chan_id %d\n", chan_id);
+
+       atomic_dec(&irq_info[chan_id].irq_pending);
+       irq_info[chan_id].hist_status = tx_desc->hist_status;
+
+       wake_up(&(irq_info[chan_id].waitq));
+}
+
+static int pxp_ioc_config_chan(struct pxp_file *priv, unsigned long arg)
+{
+       struct scatterlist sg[3];
+       struct pxp_tx_desc *desc;
+       struct dma_async_tx_descriptor *txd;
+       struct pxp_config_data pxp_conf;
+       dma_cookie_t cookie;
+       int handle, chan_id;
+       int i, length, ret;
+       struct dma_chan *chan;
+       struct pxp_chan_obj *obj;
+
+       ret = copy_from_user(&pxp_conf,
+                            (struct pxp_config_data *)arg,
+                            sizeof(struct pxp_config_data));
+       if (ret)
+               return -EFAULT;
+
+       handle = pxp_conf.handle;
+       obj = pxp_channel_object_lookup(priv, handle);
+       if (!obj)
+               return -EINVAL;
+       chan = obj->chan;
+       chan_id = chan->chan_id;
+
+       sg_init_table(sg, 3);
+
+       txd = chan->device->device_prep_slave_sg(chan,
+                                                sg, 3,
+                                                DMA_TO_DEVICE,
+                                                DMA_PREP_INTERRUPT,
+                                                NULL);
+       if (!txd) {
+               pr_err("Error preparing a DMA transaction descriptor.\n");
+               return -EIO;
+       }
+
+       txd->callback_param = txd;
+       txd->callback = pxp_dma_done;
+
+       desc = to_tx_desc(txd);
+
+       length = desc->len;
+       for (i = 0; i < length; i++) {
+               if (i == 0) {   /* S0 */
+                       memcpy(&desc->proc_data,
+                              &pxp_conf.proc_data,
+                              sizeof(struct pxp_proc_data));
+                       memcpy(&desc->layer_param.s0_param,
+                              &pxp_conf.s0_param,
+                              sizeof(struct pxp_layer_param));
+               } else if (i == 1) {    /* Output */
+                       memcpy(&desc->layer_param.out_param,
+                              &pxp_conf.out_param,
+                              sizeof(struct pxp_layer_param));
+               } else {
+                       /* OverLay */
+                       memcpy(&desc->layer_param.ol_param,
+                              &pxp_conf.ol_param,
+                              sizeof(struct pxp_layer_param));
+               }
+
+               desc = desc->next;
+       }
+
+       cookie = txd->tx_submit(txd);
+       if (cookie < 0) {
+               pr_err("Error tx_submit\n");
+               return -EIO;
+       }
+
+       atomic_inc(&irq_info[chan_id].irq_pending);
+
+       return 0;
+}
+
+static int pxp_device_open(struct inode *inode, struct file *filp)
+{
+       struct pxp_file *priv;
+
+       priv = kzalloc(sizeof(*priv), GFP_KERNEL);
+
+       if (!priv)
+               return -ENOMEM;
+
+       filp->private_data = priv;
+       priv->filp = filp;
+
+       idr_init(&priv->buffer_idr);
+       spin_lock_init(&priv->buffer_lock);
+
+       idr_init(&priv->channel_idr);
+       spin_lock_init(&priv->channel_lock);
+
+       return 0;
+}
+
+static int pxp_device_release(struct inode *inode, struct file *filp)
+{
+       struct pxp_file *priv = filp->private_data;
+
+       if (priv) {
+               pxp_free_channels(priv);
+               pxp_free_buffers(priv);
+               kfree(priv);
+               filp->private_data = NULL;
+       }
+
+       return 0;
+}
+
+static int pxp_device_mmap(struct file *file, struct vm_area_struct *vma)
+{
+       int request_size;
+       struct hlist_node *node;
+       struct pxp_buf_obj *obj;
+
+       request_size = vma->vm_end - vma->vm_start;
+
+       pr_debug("start=0x%x, pgoff=0x%x, size=0x%x\n",
+                (unsigned int)(vma->vm_start), (unsigned int)(vma->vm_pgoff),
+                request_size);
+
+       node = pxp_ht_find_key(&bufhash, vma->vm_pgoff);
+       if (!node)
+               return -EINVAL;
+
+       obj = list_entry(node, struct pxp_buf_obj, item);
+       if (obj->offset + (obj->size >> PAGE_SHIFT) <
+               (vma->vm_pgoff + vma_pages(vma)))
+               return -ENOMEM;
+
+       switch (obj->mem_type) {
+       case MEMORY_TYPE_UNCACHED:
+               vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
+               break;
+       case MEMORY_TYPE_WC:
+               vma->vm_page_prot = pgprot_writecombine(vma->vm_page_prot);
+               break;
+       case MEMORY_TYPE_CACHED:
+               break;
+       default:
+               pr_err("%s: invalid memory type!\n", __func__);
+               return -EINVAL;
+       }
+
+       return remap_pfn_range(vma, vma->vm_start, vma->vm_pgoff,
+                              request_size, vma->vm_page_prot) ? -EAGAIN : 0;
+}
+
+static bool chan_filter(struct dma_chan *chan, void *arg)
+{
+       if (imx_dma_is_pxp(chan))
+               return true;
+       else
+               return false;
+}
+
+static long pxp_device_ioctl(struct file *filp,
+                           unsigned int cmd, unsigned long arg)
+{
+       int ret = 0;
+       struct pxp_file *file_priv = filp->private_data;
+
+       switch (cmd) {
+       case PXP_IOC_GET_CHAN:
+               {
+                       int ret;
+                       struct dma_chan *chan = NULL;
+                       dma_cap_mask_t mask;
+                       struct pxp_chan_obj *obj = NULL;
+
+                       pr_debug("drv: PXP_IOC_GET_CHAN Line %d\n", __LINE__);
+
+                       dma_cap_zero(mask);
+                       dma_cap_set(DMA_SLAVE, mask);
+                       dma_cap_set(DMA_PRIVATE, mask);
+
+                       chan = dma_request_channel(mask, chan_filter, NULL);
+                       if (!chan) {
+                               pr_err("Unsccessfully received channel!\n");
+                               return -EBUSY;
+                       }
+
+                       pr_debug("Successfully received channel."
+                                "chan_id %d\n", chan->chan_id);
+
+                       obj = kzalloc(sizeof(*obj), GFP_KERNEL);
+                       if (!obj) {
+                               dma_release_channel(chan);
+                               return -ENOMEM;
+                       }
+                       obj->chan = chan;
+
+                       ret = pxp_channel_handle_create(file_priv, obj,
+                                                       &obj->handle);
+                       if (ret) {
+                               dma_release_channel(chan);
+                               kfree(obj);
+                               return ret;
+                       }
+
+                       init_waitqueue_head(&(irq_info[chan->chan_id].waitq));
+                       if (put_user(obj->handle, (u32 __user *) arg)) {
+                               pxp_channel_handle_delete(file_priv, obj->handle);
+                               dma_release_channel(chan);
+                               kfree(obj);
+                               return -EFAULT;
+                       }
+
+                       break;
+               }
+       case PXP_IOC_PUT_CHAN:
+               {
+                       int handle;
+                       struct pxp_chan_obj *obj;
+
+                       if (get_user(handle, (u32 __user *) arg))
+                               return -EFAULT;
+
+                       pr_debug("%d release handle %d\n", __LINE__, handle);
+
+                       obj = pxp_channel_object_lookup(file_priv, handle);
+                       if (!obj)
+                               return -EINVAL;
+
+                       pxp_channel_handle_delete(file_priv, obj->handle);
+                       dma_release_channel(obj->chan);
+                       kfree(obj);
+
+                       break;
+               }
+       case PXP_IOC_CONFIG_CHAN:
+               {
+                       int ret;
+
+                       ret = pxp_ioc_config_chan(file_priv, arg);
+                       if (ret)
+                               return ret;
+
+                       break;
+               }
+       case PXP_IOC_START_CHAN:
+               {
+                       int handle;
+                       struct pxp_chan_obj *obj = NULL;
+
+                       if (get_user(handle, (u32 __user *) arg))
+                               return -EFAULT;
+
+                       obj = pxp_channel_object_lookup(file_priv, handle);
+                       if (!obj)
+                               return -EINVAL;
+
+                       dma_async_issue_pending(obj->chan);
+
+                       break;
+               }
+       case PXP_IOC_GET_PHYMEM:
+               {
+                       struct pxp_mem_desc buffer;
+                       struct pxp_buf_obj *obj;
+
+                       ret = copy_from_user(&buffer,
+                                            (struct pxp_mem_desc *)arg,
+                                            sizeof(struct pxp_mem_desc));
+                       if (ret)
+                               return -EFAULT;
+
+                       pr_debug("[ALLOC] mem alloc size = 0x%x\n",
+                                buffer.size);
+
+                       obj = kzalloc(sizeof(*obj), GFP_KERNEL);
+                       if (!obj)
+                               return -ENOMEM;
+                       obj->size = buffer.size;
+                       obj->mem_type = buffer.mtype;
+
+                       ret = pxp_alloc_dma_buffer(obj);
+                       if (ret == -1) {
+                               printk(KERN_ERR
+                                      "Physical memory allocation error!\n");
+                               kfree(obj);
+                               return ret;
+                       }
+
+                       ret = pxp_buffer_handle_create(file_priv, obj, &obj->handle);
+                       if (ret) {
+                               pxp_free_dma_buffer(obj);
+                               kfree(obj);
+                               return ret;
+                       }
+                       buffer.handle = obj->handle;
+                       buffer.phys_addr = obj->offset;
+
+                       ret = copy_to_user((void __user *)arg, &buffer,
+                                          sizeof(struct pxp_mem_desc));
+                       if (ret) {
+                               pxp_buffer_handle_delete(file_priv, buffer.handle);
+                               pxp_free_dma_buffer(obj);
+                               kfree(obj);
+                               return -EFAULT;
+                       }
+
+                       pxp_ht_insert_item(&bufhash, obj);
+
+                       break;
+               }
+       case PXP_IOC_PUT_PHYMEM:
+               {
+                       struct pxp_mem_desc pxp_mem;
+                       struct pxp_buf_obj *obj;
+
+                       ret = copy_from_user(&pxp_mem,
+                                            (struct pxp_mem_desc *)arg,
+                                            sizeof(struct pxp_mem_desc));
+                       if (ret)
+                               return -EACCES;
+
+                       obj = pxp_buffer_object_lookup(file_priv, pxp_mem.handle);
+                       if (!obj)
+                               return -EINVAL;
+
+                       ret = pxp_buffer_handle_delete(file_priv, obj->handle);
+                       if (ret)
+                               return ret;
+
+                       pxp_ht_remove_item(&bufhash, obj);
+                       pxp_free_dma_buffer(obj);
+                       kfree(obj);
+
+                       break;
+               }
+       case PXP_IOC_FLUSH_PHYMEM:
+               {
+                       int ret;
+                       struct pxp_mem_flush flush;
+                       struct pxp_buf_obj *obj;
+
+                       ret = copy_from_user(&flush,
+                                            (struct pxp_mem_flush *)arg,
+                                            sizeof(struct pxp_mem_flush));
+                       if (ret)
+                               return -EACCES;
+
+                       obj = pxp_buffer_object_lookup(file_priv, flush.handle);
+                       if (!obj)
+                               return -EINVAL;
+
+                       switch (flush.type) {
+                       case CACHE_CLEAN:
+                               dma_sync_single_for_device(NULL, obj->offset,
+                                               obj->size, DMA_TO_DEVICE);
+                               break;
+                       case CACHE_INVALIDATE:
+                               dma_sync_single_for_device(NULL, obj->offset,
+                                               obj->size, DMA_FROM_DEVICE);
+                               break;
+                       case CACHE_FLUSH:
+                               dma_sync_single_for_device(NULL, obj->offset,
+                                               obj->size, DMA_TO_DEVICE);
+                               dma_sync_single_for_device(NULL, obj->offset,
+                                               obj->size, DMA_FROM_DEVICE);
+                               break;
+                       default:
+                               pr_err("%s: invalid cache flush type\n", __func__);
+                               return -EINVAL;
+                       }
+
+                       break;
+               }
+       case PXP_IOC_WAIT4CMPLT:
+               {
+                       struct pxp_chan_handle chan_handle;
+                       int ret, chan_id, handle;
+                       struct pxp_chan_obj *obj = NULL;
+
+                       ret = copy_from_user(&chan_handle,
+                                            (struct pxp_chan_handle *)arg,
+                                            sizeof(struct pxp_chan_handle));
+                       if (ret)
+                               return -EFAULT;
+
+                       handle = chan_handle.handle;
+                       obj = pxp_channel_object_lookup(file_priv, handle);
+                       if (!obj)
+                               return -EINVAL;
+                       chan_id = obj->chan->chan_id;
+
+                       ret = wait_event_interruptible
+                           (irq_info[chan_id].waitq,
+                            (atomic_read(&irq_info[chan_id].irq_pending) == 0));
+                       if (ret < 0) {
+                               printk(KERN_WARNING
+                                      "WAIT4CMPLT: signal received.\n");
+                               return -ERESTARTSYS;
+                       }
+
+                       chan_handle.hist_status = irq_info[chan_id].hist_status;
+                       ret = copy_to_user((struct pxp_chan_handle *)arg,
+                                          &chan_handle,
+                                          sizeof(struct pxp_chan_handle));
+                       if (ret)
+                               return -EFAULT;
+                       break;
+               }
+       default:
+               break;
+       }
+
+       return 0;
+}
+
+static const struct file_operations pxp_device_fops = {
+       .open = pxp_device_open,
+       .release = pxp_device_release,
+       .unlocked_ioctl = pxp_device_ioctl,
+       .mmap = pxp_device_mmap,
+};
+
+static struct miscdevice pxp_device_miscdev = {
+       .minor = MISC_DYNAMIC_MINOR,
+       .name = "pxp_device",
+       .fops = &pxp_device_fops,
+};
+
+int register_pxp_device(void)
+{
+       int ret;
+
+       ret = misc_register(&pxp_device_miscdev);
+       if (ret)
+               return ret;
+
+       ret = pxp_ht_create(&bufhash, BUFFER_HASH_ORDER);
+       if (ret)
+               return ret;
+       spin_lock_init(&(bufhash.hash_lock));
+
+       pr_debug("PxP_Device registered Successfully\n");
+       return 0;
+}
+
+void unregister_pxp_device(void)
+{
+       pxp_ht_destroy(&bufhash);
+       misc_deregister(&pxp_device_miscdev);
+}
diff --git a/drivers/dma/pxp/pxp_dma_v2.c b/drivers/dma/pxp/pxp_dma_v2.c
new file mode 100644 (file)
index 0000000..c671f25
--- /dev/null
@@ -0,0 +1,1854 @@
+/*
+ * Copyright (C) 2010-2013 Freescale Semiconductor, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ *
+ */
+/*
+ * Based on STMP378X PxP driver
+ * Copyright 2008-2009 Embedded Alley Solutions, Inc All Rights Reserved.
+ */
+
+#include <linux/dma-mapping.h>
+#include <linux/init.h>
+#include <linux/interrupt.h>
+#include <linux/io.h>
+#include <linux/kernel.h>
+#include <linux/module.h>
+#include <linux/mutex.h>
+#include <linux/platform_device.h>
+#include <linux/slab.h>
+#include <linux/vmalloc.h>
+#include <linux/dmaengine.h>
+#include <linux/pxp_dma.h>
+#include <linux/timer.h>
+#include <linux/clk.h>
+#include <linux/workqueue.h>
+#include <linux/sched.h>
+#include <linux/of.h>
+#include <linux/kthread.h>
+
+#include "regs-pxp_v2.h"
+
+#define        PXP_DOWNSCALE_THRESHOLD         0x4000
+
+static LIST_HEAD(head);
+static int timeout_in_ms = 600;
+static unsigned int block_size;
+static struct kmem_cache *tx_desc_cache;
+
+struct pxp_dma {
+       struct dma_device dma;
+};
+
+struct pxps {
+       struct platform_device *pdev;
+       struct clk *clk;
+       void __iomem *base;
+       int irq;                /* PXP IRQ to the CPU */
+
+       spinlock_t lock;
+       struct mutex clk_mutex;
+       int clk_stat;
+#define        CLK_STAT_OFF            0
+#define        CLK_STAT_ON             1
+       int pxp_ongoing;
+       int lut_state;
+
+       struct device *dev;
+       struct pxp_dma pxp_dma;
+       struct pxp_channel channel[NR_PXP_VIRT_CHANNEL];
+       struct work_struct work;
+
+       /* describes most recent processing configuration */
+       struct pxp_config_data pxp_conf_state;
+
+       /* to turn clock off when pxp is inactive */
+       struct timer_list clk_timer;
+
+       /* for pxp config dispatch asynchronously*/
+       struct task_struct *dispatch;
+       wait_queue_head_t thread_waitq;
+       struct completion complete;
+};
+
+#define to_pxp_dma(d) container_of(d, struct pxp_dma, dma)
+#define to_tx_desc(tx) container_of(tx, struct pxp_tx_desc, txd)
+#define to_pxp_channel(d) container_of(d, struct pxp_channel, dma_chan)
+#define to_pxp(id) container_of(id, struct pxps, pxp_dma)
+
+#define PXP_DEF_BUFS   2
+#define PXP_MIN_PIX    8
+
+static uint32_t pxp_s0_formats[] = {
+       PXP_PIX_FMT_RGB32,
+       PXP_PIX_FMT_RGB565,
+       PXP_PIX_FMT_RGB555,
+       PXP_PIX_FMT_YUV420P,
+       PXP_PIX_FMT_YUV422P,
+};
+
+/*
+ * PXP common functions
+ */
+static void dump_pxp_reg(struct pxps *pxp)
+{
+       dev_dbg(pxp->dev, "PXP_CTRL 0x%x",
+               __raw_readl(pxp->base + HW_PXP_CTRL));
+       dev_dbg(pxp->dev, "PXP_STAT 0x%x",
+               __raw_readl(pxp->base + HW_PXP_STAT));
+       dev_dbg(pxp->dev, "PXP_OUT_CTRL 0x%x",
+               __raw_readl(pxp->base + HW_PXP_OUT_CTRL));
+       dev_dbg(pxp->dev, "PXP_OUT_BUF 0x%x",
+               __raw_readl(pxp->base + HW_PXP_OUT_BUF));
+       dev_dbg(pxp->dev, "PXP_OUT_BUF2 0x%x",
+               __raw_readl(pxp->base + HW_PXP_OUT_BUF2));
+       dev_dbg(pxp->dev, "PXP_OUT_PITCH 0x%x",
+               __raw_readl(pxp->base + HW_PXP_OUT_PITCH));
+       dev_dbg(pxp->dev, "PXP_OUT_LRC 0x%x",
+               __raw_readl(pxp->base + HW_PXP_OUT_LRC));
+       dev_dbg(pxp->dev, "PXP_OUT_PS_ULC 0x%x",
+               __raw_readl(pxp->base + HW_PXP_OUT_PS_ULC));
+       dev_dbg(pxp->dev, "PXP_OUT_PS_LRC 0x%x",
+               __raw_readl(pxp->base + HW_PXP_OUT_PS_LRC));
+       dev_dbg(pxp->dev, "PXP_OUT_AS_ULC 0x%x",
+               __raw_readl(pxp->base + HW_PXP_OUT_AS_ULC));
+       dev_dbg(pxp->dev, "PXP_OUT_AS_LRC 0x%x",
+               __raw_readl(pxp->base + HW_PXP_OUT_AS_LRC));
+       dev_dbg(pxp->dev, "PXP_PS_CTRL 0x%x",
+               __raw_readl(pxp->base + HW_PXP_PS_CTRL));
+       dev_dbg(pxp->dev, "PXP_PS_BUF 0x%x",
+               __raw_readl(pxp->base + HW_PXP_PS_BUF));
+       dev_dbg(pxp->dev, "PXP_PS_UBUF 0x%x",
+               __raw_readl(pxp->base + HW_PXP_PS_UBUF));
+       dev_dbg(pxp->dev, "PXP_PS_VBUF 0x%x",
+               __raw_readl(pxp->base + HW_PXP_PS_VBUF));
+       dev_dbg(pxp->dev, "PXP_PS_PITCH 0x%x",
+               __raw_readl(pxp->base + HW_PXP_PS_PITCH));
+       dev_dbg(pxp->dev, "PXP_PS_BACKGROUND 0x%x",
+               __raw_readl(pxp->base + HW_PXP_PS_BACKGROUND));
+       dev_dbg(pxp->dev, "PXP_PS_SCALE 0x%x",
+               __raw_readl(pxp->base + HW_PXP_PS_SCALE));
+       dev_dbg(pxp->dev, "PXP_PS_OFFSET 0x%x",
+               __raw_readl(pxp->base + HW_PXP_PS_OFFSET));
+       dev_dbg(pxp->dev, "PXP_PS_CLRKEYLOW 0x%x",
+               __raw_readl(pxp->base + HW_PXP_PS_CLRKEYLOW));
+       dev_dbg(pxp->dev, "PXP_PS_CLRKEYHIGH 0x%x",
+               __raw_readl(pxp->base + HW_PXP_PS_CLRKEYHIGH));
+       dev_dbg(pxp->dev, "PXP_AS_CTRL 0x%x",
+               __raw_readl(pxp->base + HW_PXP_AS_CTRL));
+       dev_dbg(pxp->dev, "PXP_AS_BUF 0x%x",
+               __raw_readl(pxp->base + HW_PXP_AS_BUF));
+       dev_dbg(pxp->dev, "PXP_AS_PITCH 0x%x",
+               __raw_readl(pxp->base + HW_PXP_AS_PITCH));
+       dev_dbg(pxp->dev, "PXP_AS_CLRKEYLOW 0x%x",
+               __raw_readl(pxp->base + HW_PXP_AS_CLRKEYLOW));
+       dev_dbg(pxp->dev, "PXP_AS_CLRKEYHIGH 0x%x",
+               __raw_readl(pxp->base + HW_PXP_AS_CLRKEYHIGH));
+       dev_dbg(pxp->dev, "PXP_CSC1_COEF0 0x%x",
+               __raw_readl(pxp->base + HW_PXP_CSC1_COEF0));
+       dev_dbg(pxp->dev, "PXP_CSC1_COEF1 0x%x",
+               __raw_readl(pxp->base + HW_PXP_CSC1_COEF1));
+       dev_dbg(pxp->dev, "PXP_CSC1_COEF2 0x%x",
+               __raw_readl(pxp->base + HW_PXP_CSC1_COEF2));
+       dev_dbg(pxp->dev, "PXP_CSC2_CTRL 0x%x",
+               __raw_readl(pxp->base + HW_PXP_CSC2_CTRL));
+       dev_dbg(pxp->dev, "PXP_CSC2_COEF0 0x%x",
+               __raw_readl(pxp->base + HW_PXP_CSC2_COEF0));
+       dev_dbg(pxp->dev, "PXP_CSC2_COEF1 0x%x",
+               __raw_readl(pxp->base + HW_PXP_CSC2_COEF1));
+       dev_dbg(pxp->dev, "PXP_CSC2_COEF2 0x%x",
+               __raw_readl(pxp->base + HW_PXP_CSC2_COEF2));
+       dev_dbg(pxp->dev, "PXP_CSC2_COEF3 0x%x",
+               __raw_readl(pxp->base + HW_PXP_CSC2_COEF3));
+       dev_dbg(pxp->dev, "PXP_CSC2_COEF4 0x%x",
+               __raw_readl(pxp->base + HW_PXP_CSC2_COEF4));
+       dev_dbg(pxp->dev, "PXP_CSC2_COEF5 0x%x",
+               __raw_readl(pxp->base + HW_PXP_CSC2_COEF5));
+       dev_dbg(pxp->dev, "PXP_LUT_CTRL 0x%x",
+               __raw_readl(pxp->base + HW_PXP_LUT_CTRL));
+       dev_dbg(pxp->dev, "PXP_LUT_ADDR 0x%x",
+               __raw_readl(pxp->base + HW_PXP_LUT_ADDR));
+       dev_dbg(pxp->dev, "PXP_LUT_DATA 0x%x",
+               __raw_readl(pxp->base + HW_PXP_LUT_DATA));
+       dev_dbg(pxp->dev, "PXP_LUT_EXTMEM 0x%x",
+               __raw_readl(pxp->base + HW_PXP_LUT_EXTMEM));
+       dev_dbg(pxp->dev, "PXP_CFA 0x%x",
+               __raw_readl(pxp->base + HW_PXP_CFA));
+       dev_dbg(pxp->dev, "PXP_HIST_CTRL 0x%x",
+               __raw_readl(pxp->base + HW_PXP_HIST_CTRL));
+       dev_dbg(pxp->dev, "PXP_HIST2_PARAM 0x%x",
+               __raw_readl(pxp->base + HW_PXP_HIST2_PARAM));
+       dev_dbg(pxp->dev, "PXP_HIST4_PARAM 0x%x",
+               __raw_readl(pxp->base + HW_PXP_HIST4_PARAM));
+       dev_dbg(pxp->dev, "PXP_HIST8_PARAM0 0x%x",
+               __raw_readl(pxp->base + HW_PXP_HIST8_PARAM0));
+       dev_dbg(pxp->dev, "PXP_HIST8_PARAM1 0x%x",
+               __raw_readl(pxp->base + HW_PXP_HIST8_PARAM1));
+       dev_dbg(pxp->dev, "PXP_HIST16_PARAM0 0x%x",
+               __raw_readl(pxp->base + HW_PXP_HIST16_PARAM0));
+       dev_dbg(pxp->dev, "PXP_HIST16_PARAM1 0x%x",
+               __raw_readl(pxp->base + HW_PXP_HIST16_PARAM1));
+       dev_dbg(pxp->dev, "PXP_HIST16_PARAM2 0x%x",
+               __raw_readl(pxp->base + HW_PXP_HIST16_PARAM2));
+       dev_dbg(pxp->dev, "PXP_HIST16_PARAM3 0x%x",
+               __raw_readl(pxp->base + HW_PXP_HIST16_PARAM3));
+       dev_dbg(pxp->dev, "PXP_POWER 0x%x",
+               __raw_readl(pxp->base + HW_PXP_POWER));
+       dev_dbg(pxp->dev, "PXP_NEXT 0x%x",
+               __raw_readl(pxp->base + HW_PXP_NEXT));
+       dev_dbg(pxp->dev, "PXP_DEBUGCTRL 0x%x",
+               __raw_readl(pxp->base + HW_PXP_DEBUGCTRL));
+       dev_dbg(pxp->dev, "PXP_DEBUG 0x%x",
+               __raw_readl(pxp->base + HW_PXP_DEBUG));
+       dev_dbg(pxp->dev, "PXP_VERSION 0x%x",
+               __raw_readl(pxp->base + HW_PXP_VERSION));
+}
+
+static bool is_yuv(u32 pix_fmt)
+{
+       if ((pix_fmt == PXP_PIX_FMT_YUYV) |
+           (pix_fmt == PXP_PIX_FMT_UYVY) |
+           (pix_fmt == PXP_PIX_FMT_YVYU) |
+           (pix_fmt == PXP_PIX_FMT_VYUY) |
+           (pix_fmt == PXP_PIX_FMT_Y41P) |
+           (pix_fmt == PXP_PIX_FMT_YUV444) |
+           (pix_fmt == PXP_PIX_FMT_NV12) |
+           (pix_fmt == PXP_PIX_FMT_NV16) |
+           (pix_fmt == PXP_PIX_FMT_NV61) |
+           (pix_fmt == PXP_PIX_FMT_GREY) |
+           (pix_fmt == PXP_PIX_FMT_GY04) |
+           (pix_fmt == PXP_PIX_FMT_YVU410P) |
+           (pix_fmt == PXP_PIX_FMT_YUV410P) |
+           (pix_fmt == PXP_PIX_FMT_YVU420P) |
+           (pix_fmt == PXP_PIX_FMT_YUV420P) |
+           (pix_fmt == PXP_PIX_FMT_YUV420P2) |
+           (pix_fmt == PXP_PIX_FMT_YVU422P) |
+           (pix_fmt == PXP_PIX_FMT_YUV422P)) {
+               return true;
+       } else {
+               return false;
+       }
+}
+
+static void pxp_set_ctrl(struct pxps *pxp)
+{
+       struct pxp_config_data *pxp_conf = &pxp->pxp_conf_state;
+       struct pxp_proc_data *proc_data = &pxp_conf->proc_data;
+       u32 ctrl;
+       u32 fmt_ctrl;
+       int need_swap = 0;   /* to support YUYV and YVYU formats */
+
+       /* Configure S0 input format */
+       switch (pxp_conf->s0_param.pixel_fmt) {
+       case PXP_PIX_FMT_RGB32:
+               fmt_ctrl = BV_PXP_PS_CTRL_FORMAT__RGB888;
+               break;
+       case PXP_PIX_FMT_RGB565:
+               fmt_ctrl = BV_PXP_PS_CTRL_FORMAT__RGB565;
+               break;
+       case PXP_PIX_FMT_RGB555:
+               fmt_ctrl = BV_PXP_PS_CTRL_FORMAT__RGB555;
+               break;
+       case PXP_PIX_FMT_YUV420P:
+               fmt_ctrl = BV_PXP_PS_CTRL_FORMAT__YUV420;
+               break;
+       case PXP_PIX_FMT_YVU420P:
+               fmt_ctrl = BV_PXP_PS_CTRL_FORMAT__YUV420;
+               break;
+       case PXP_PIX_FMT_GREY:
+               fmt_ctrl = BV_PXP_PS_CTRL_FORMAT__Y8;
+               break;
+       case PXP_PIX_FMT_GY04:
+               fmt_ctrl = BV_PXP_PS_CTRL_FORMAT__Y4;
+               break;
+       case PXP_PIX_FMT_YUV422P:
+               fmt_ctrl = BV_PXP_PS_CTRL_FORMAT__YUV422;
+               break;
+       case PXP_PIX_FMT_UYVY:
+               fmt_ctrl = BV_PXP_PS_CTRL_FORMAT__UYVY1P422;
+               break;
+       case PXP_PIX_FMT_YUYV:
+               fmt_ctrl = BV_PXP_PS_CTRL_FORMAT__UYVY1P422;
+               need_swap = 1;
+               break;
+       case PXP_PIX_FMT_VYUY:
+               fmt_ctrl = BV_PXP_PS_CTRL_FORMAT__VYUY1P422;
+               break;
+       case PXP_PIX_FMT_YVYU:
+               fmt_ctrl = BV_PXP_PS_CTRL_FORMAT__VYUY1P422;
+               need_swap = 1;
+               break;
+       case PXP_PIX_FMT_NV12:
+               fmt_ctrl = BV_PXP_PS_CTRL_FORMAT__YUV2P420;
+               break;
+       case PXP_PIX_FMT_NV21:
+               fmt_ctrl = BV_PXP_PS_CTRL_FORMAT__YVU2P420;
+               break;
+       case PXP_PIX_FMT_NV16:
+               fmt_ctrl = BV_PXP_PS_CTRL_FORMAT__YUV2P422;
+               break;
+       case PXP_PIX_FMT_NV61:
+               fmt_ctrl = BV_PXP_PS_CTRL_FORMAT__YVU2P422;
+               break;
+       default:
+               fmt_ctrl = 0;
+       }
+
+       ctrl = BF_PXP_PS_CTRL_FORMAT(fmt_ctrl) | BF_PXP_PS_CTRL_SWAP(need_swap);
+       __raw_writel(ctrl, pxp->base + HW_PXP_PS_CTRL_SET);
+
+       /* Configure output format based on out_channel format */
+       switch (pxp_conf->out_param.pixel_fmt) {
+       case PXP_PIX_FMT_RGB32:
+               fmt_ctrl = BV_PXP_OUT_CTRL_FORMAT__RGB888;
+               break;
+       case PXP_PIX_FMT_BGRA32:
+               fmt_ctrl = BV_PXP_OUT_CTRL_FORMAT__ARGB8888;
+               break;
+       case PXP_PIX_FMT_RGB24:
+               fmt_ctrl = BV_PXP_OUT_CTRL_FORMAT__RGB888P;
+               break;
+       case PXP_PIX_FMT_RGB565:
+               fmt_ctrl = BV_PXP_OUT_CTRL_FORMAT__RGB565;
+               break;
+       case PXP_PIX_FMT_RGB555:
+               fmt_ctrl = BV_PXP_OUT_CTRL_FORMAT__RGB555;
+               break;
+       case PXP_PIX_FMT_GREY:
+               fmt_ctrl = BV_PXP_OUT_CTRL_FORMAT__Y8;
+               break;
+       case PXP_PIX_FMT_GY04:
+               fmt_ctrl = BV_PXP_OUT_CTRL_FORMAT__Y4;
+               break;
+       case PXP_PIX_FMT_UYVY:
+               fmt_ctrl = BV_PXP_OUT_CTRL_FORMAT__UYVY1P422;
+               break;
+       case PXP_PIX_FMT_VYUY:
+               fmt_ctrl = BV_PXP_OUT_CTRL_FORMAT__VYUY1P422;
+               break;
+       case PXP_PIX_FMT_NV12:
+               fmt_ctrl = BV_PXP_OUT_CTRL_FORMAT__YUV2P420;
+               break;
+       case PXP_PIX_FMT_NV21:
+               fmt_ctrl = BV_PXP_OUT_CTRL_FORMAT__YVU2P420;
+               break;
+       case PXP_PIX_FMT_NV16:
+               fmt_ctrl = BV_PXP_OUT_CTRL_FORMAT__YUV2P422;
+               break;
+       case PXP_PIX_FMT_NV61:
+               fmt_ctrl = BV_PXP_OUT_CTRL_FORMAT__YVU2P422;
+               break;
+       default:
+               fmt_ctrl = 0;
+       }
+
+       ctrl = BF_PXP_OUT_CTRL_FORMAT(fmt_ctrl);
+       __raw_writel(ctrl, pxp->base + HW_PXP_OUT_CTRL);
+
+       ctrl = 0;
+       if (proc_data->scaling)
+               ;
+       if (proc_data->vflip)
+               ctrl |= BM_PXP_CTRL_VFLIP;
+       if (proc_data->hflip)
+               ctrl |= BM_PXP_CTRL_HFLIP;
+       if (proc_data->rotate) {
+               ctrl |= BF_PXP_CTRL_ROTATE(proc_data->rotate / 90);
+               if (proc_data->rot_pos)
+                       ctrl |= BM_PXP_CTRL_ROT_POS;
+       }
+
+       /* In default, the block size is set to 8x8
+        * But block size can be set to 16x16 due to
+        * blocksize variable modification
+        */
+       ctrl |= block_size << 23;
+
+       __raw_writel(ctrl, pxp->base + HW_PXP_CTRL);
+}
+
+static int pxp_start(struct pxps *pxp)
+{
+       __raw_writel(BM_PXP_CTRL_IRQ_ENABLE, pxp->base + HW_PXP_CTRL_SET);
+       __raw_writel(BM_PXP_CTRL_ENABLE, pxp->base + HW_PXP_CTRL_SET);
+       dump_pxp_reg(pxp);
+
+       return 0;
+}
+
+static void pxp_set_outbuf(struct pxps *pxp)
+{
+       struct pxp_config_data *pxp_conf = &pxp->pxp_conf_state;
+       struct pxp_layer_param *out_params = &pxp_conf->out_param;
+
+       __raw_writel(out_params->paddr, pxp->base + HW_PXP_OUT_BUF);
+
+       __raw_writel(BF_PXP_OUT_LRC_X(out_params->width - 1) |
+                    BF_PXP_OUT_LRC_Y(out_params->height - 1),
+                    pxp->base + HW_PXP_OUT_LRC);
+
+       if (out_params->pixel_fmt == PXP_PIX_FMT_RGB24) {
+               __raw_writel(out_params->stride * 3,
+                               pxp->base + HW_PXP_OUT_PITCH);
+       } else if (out_params->pixel_fmt == PXP_PIX_FMT_BGRA32 ||
+                out_params->pixel_fmt == PXP_PIX_FMT_RGB32) {
+               __raw_writel(out_params->stride << 2,
+                               pxp->base + HW_PXP_OUT_PITCH);
+       } else if (out_params->pixel_fmt == PXP_PIX_FMT_RGB565) {
+               __raw_writel(out_params->stride << 1,
+                               pxp->base + HW_PXP_OUT_PITCH);
+       } else if (out_params->pixel_fmt == PXP_PIX_FMT_UYVY ||
+               (out_params->pixel_fmt == PXP_PIX_FMT_VYUY)) {
+               __raw_writel(out_params->stride << 1,
+                               pxp->base + HW_PXP_OUT_PITCH);
+       } else if (out_params->pixel_fmt == PXP_PIX_FMT_GREY ||
+                  out_params->pixel_fmt == PXP_PIX_FMT_NV12 ||
+                  out_params->pixel_fmt == PXP_PIX_FMT_NV21 ||
+                  out_params->pixel_fmt == PXP_PIX_FMT_NV16 ||
+                  out_params->pixel_fmt == PXP_PIX_FMT_NV61) {
+               __raw_writel(out_params->stride,
+                               pxp->base + HW_PXP_OUT_PITCH);
+       } else if (out_params->pixel_fmt == PXP_PIX_FMT_GY04) {
+               __raw_writel(out_params->stride >> 1,
+                               pxp->base + HW_PXP_OUT_PITCH);
+       } else {
+               __raw_writel(0, pxp->base + HW_PXP_OUT_PITCH);
+       }
+
+       /* set global alpha if necessary */
+       if (out_params->global_alpha_enable) {
+               __raw_writel(out_params->global_alpha << 24,
+                               pxp->base + HW_PXP_OUT_CTRL_SET);
+               __raw_writel(BM_PXP_OUT_CTRL_ALPHA_OUTPUT,
+                               pxp->base + HW_PXP_OUT_CTRL_SET);
+       }
+}
+
+static void pxp_set_s0colorkey(struct pxps *pxp)
+{
+       struct pxp_config_data *pxp_conf = &pxp->pxp_conf_state;
+       struct pxp_layer_param *s0_params = &pxp_conf->s0_param;
+
+       /* Low and high are set equal. V4L does not allow a chromakey range */
+       if (s0_params->color_key_enable == 0 || s0_params->color_key == -1) {
+               /* disable color key */
+               __raw_writel(0xFFFFFF, pxp->base + HW_PXP_PS_CLRKEYLOW);
+               __raw_writel(0, pxp->base + HW_PXP_PS_CLRKEYHIGH);
+       } else {
+               __raw_writel(s0_params->color_key,
+                            pxp->base + HW_PXP_PS_CLRKEYLOW);
+               __raw_writel(s0_params->color_key,
+                            pxp->base + HW_PXP_PS_CLRKEYHIGH);
+       }
+}
+
+static void pxp_set_olcolorkey(int layer_no, struct pxps *pxp)
+{
+       struct pxp_config_data *pxp_conf = &pxp->pxp_conf_state;
+       struct pxp_layer_param *ol_params = &pxp_conf->ol_param[layer_no];
+
+       /* Low and high are set equal. V4L does not allow a chromakey range */
+       if (ol_params->color_key_enable != 0 && ol_params->color_key != -1) {
+               __raw_writel(ol_params->color_key,
+                            pxp->base + HW_PXP_AS_CLRKEYLOW);
+               __raw_writel(ol_params->color_key,
+                            pxp->base + HW_PXP_AS_CLRKEYHIGH);
+       } else {
+               /* disable color key */
+               __raw_writel(0xFFFFFF, pxp->base + HW_PXP_AS_CLRKEYLOW);
+               __raw_writel(0, pxp->base + HW_PXP_AS_CLRKEYHIGH);
+       }
+}
+
+static void pxp_set_oln(int layer_no, struct pxps *pxp)
+{
+       struct pxp_config_data *pxp_conf = &pxp->pxp_conf_state;
+       struct pxp_layer_param *olparams_data = &pxp_conf->ol_param[layer_no];
+       dma_addr_t phys_addr = olparams_data->paddr;
+       u32 pitch = olparams_data->stride ? olparams_data->stride :
+                                           olparams_data->width;
+
+       __raw_writel(phys_addr, pxp->base + HW_PXP_AS_BUF);
+
+       /* Fixme */
+       if (olparams_data->width == 0 && olparams_data->height == 0) {
+               __raw_writel(0xffffffff, pxp->base + HW_PXP_OUT_AS_ULC);
+               __raw_writel(0x0, pxp->base + HW_PXP_OUT_AS_LRC);
+       } else {
+               __raw_writel(0x0, pxp->base + HW_PXP_OUT_AS_ULC);
+               if (pxp_conf->proc_data.rotate == 90 ||
+                   pxp_conf->proc_data.rotate == 270) {
+                       if (pxp_conf->proc_data.rot_pos == 1) {
+                               __raw_writel(BF_PXP_OUT_AS_LRC_X(olparams_data->height - 1) |
+                                       BF_PXP_OUT_AS_LRC_Y(olparams_data->width - 1),
+                                       pxp->base + HW_PXP_OUT_AS_LRC);
+                       } else {
+                               __raw_writel(BF_PXP_OUT_AS_LRC_X(olparams_data->width - 1) |
+                                       BF_PXP_OUT_AS_LRC_Y(olparams_data->height - 1),
+                                       pxp->base + HW_PXP_OUT_AS_LRC);
+                       }
+               } else {
+                       __raw_writel(BF_PXP_OUT_AS_LRC_X(olparams_data->width - 1) |
+                               BF_PXP_OUT_AS_LRC_Y(olparams_data->height - 1),
+                               pxp->base + HW_PXP_OUT_AS_LRC);
+               }
+       }
+
+       if ((olparams_data->pixel_fmt == PXP_PIX_FMT_BGRA32) |
+                (olparams_data->pixel_fmt == PXP_PIX_FMT_RGB32)) {
+               __raw_writel(pitch << 2,
+                               pxp->base + HW_PXP_AS_PITCH);
+       } else if (olparams_data->pixel_fmt == PXP_PIX_FMT_RGB565) {
+               __raw_writel(pitch << 1,
+                               pxp->base + HW_PXP_AS_PITCH);
+       } else {
+               __raw_writel(0, pxp->base + HW_PXP_AS_PITCH);
+       }
+}
+
+static void pxp_set_olparam(int layer_no, struct pxps *pxp)
+{
+       struct pxp_config_data *pxp_conf = &pxp->pxp_conf_state;
+       struct pxp_layer_param *olparams_data = &pxp_conf->ol_param[layer_no];
+       u32 olparam;
+
+       olparam = BF_PXP_AS_CTRL_ALPHA(olparams_data->global_alpha);
+       if (olparams_data->pixel_fmt == PXP_PIX_FMT_RGB32) {
+               olparam |=
+                   BF_PXP_AS_CTRL_FORMAT(BV_PXP_AS_CTRL_FORMAT__RGB888);
+       } else if (olparams_data->pixel_fmt == PXP_PIX_FMT_BGRA32) {
+               olparam |=
+                   BF_PXP_AS_CTRL_FORMAT(BV_PXP_AS_CTRL_FORMAT__ARGB8888);
+               if (!olparams_data->combine_enable) {
+                       olparam |=
+                               BF_PXP_AS_CTRL_ALPHA_CTRL
+                               (BV_PXP_AS_CTRL_ALPHA_CTRL__ROPs);
+                       olparam |= 0x3 << 16;
+               }
+       } else if (olparams_data->pixel_fmt == PXP_PIX_FMT_RGB565) {
+               olparam |=
+                   BF_PXP_AS_CTRL_FORMAT(BV_PXP_AS_CTRL_FORMAT__RGB565);
+       }
+       if (olparams_data->global_alpha_enable) {
+               if (olparams_data->global_override) {
+                       olparam |=
+                               BF_PXP_AS_CTRL_ALPHA_CTRL
+                               (BV_PXP_AS_CTRL_ALPHA_CTRL__Override);
+               } else {
+                       olparam |=
+                               BF_PXP_AS_CTRL_ALPHA_CTRL
+                               (BV_PXP_AS_CTRL_ALPHA_CTRL__Multiply);
+               }
+               if (olparams_data->alpha_invert)
+                       olparam |= BM_PXP_AS_CTRL_ALPHA_INVERT;
+       }
+       if (olparams_data->color_key_enable)
+               olparam |= BM_PXP_AS_CTRL_ENABLE_COLORKEY;
+
+       __raw_writel(olparam, pxp->base + HW_PXP_AS_CTRL);
+}
+
+static void pxp_set_s0param(struct pxps *pxp)
+{
+       struct pxp_config_data *pxp_conf = &pxp->pxp_conf_state;
+       struct pxp_proc_data *proc_data = &pxp_conf->proc_data;
+       u32 s0param;
+
+       /* contains the coordinate for the PS in the OUTPUT buffer. */
+       if ((pxp_conf->s0_param).width == 0 &&
+               (pxp_conf->s0_param).height == 0) {
+               __raw_writel(0xffffffff, pxp->base + HW_PXP_OUT_PS_ULC);
+               __raw_writel(0x0, pxp->base + HW_PXP_OUT_PS_LRC);
+       } else {
+               s0param = BF_PXP_OUT_PS_ULC_X(proc_data->drect.left);
+               s0param |= BF_PXP_OUT_PS_ULC_Y(proc_data->drect.top);
+               __raw_writel(s0param, pxp->base + HW_PXP_OUT_PS_ULC);
+               s0param = BF_PXP_OUT_PS_LRC_X(proc_data->drect.left +
+                               proc_data->drect.width - 1);
+               s0param |= BF_PXP_OUT_PS_LRC_Y(proc_data->drect.top +
+                               proc_data->drect.height - 1);
+               __raw_writel(s0param, pxp->base + HW_PXP_OUT_PS_LRC);
+       }
+}
+
+/* crop behavior is re-designed in h/w. */
+static void pxp_set_s0crop(struct pxps *pxp)
+{
+       /*
+        * place-holder, it's implemented in other functions in this driver.
+        * Refer to "Clipping source images" section in RM for detail.
+        */
+}
+
+static int pxp_set_scaling(struct pxps *pxp)
+{
+       int ret = 0;
+       u32 xscale, yscale, s0scale;
+       u32 decx, decy, xdec = 0, ydec = 0;
+       struct pxp_proc_data *proc_data = &pxp->pxp_conf_state.proc_data;
+
+       if (((proc_data->srect.width == proc_data->drect.width) &&
+           (proc_data->srect.height == proc_data->drect.height)) ||
+           ((proc_data->srect.width == 0) && (proc_data->srect.height == 0))) {
+               proc_data->scaling = 0;
+               __raw_writel(0x10001000, pxp->base + HW_PXP_PS_SCALE);
+               __raw_writel(0, pxp->base + HW_PXP_PS_CTRL);
+               goto out;
+       }
+
+       proc_data->scaling = 1;
+       decx = proc_data->srect.width / proc_data->drect.width;
+       decy = proc_data->srect.height / proc_data->drect.height;
+       if (decx > 0) {
+               if (decx >= 2 && decx < 4) {
+                       decx = 2;
+                       xdec = 1;
+               } else if (decx >= 4 && decx < 8) {
+                       decx = 4;
+                       xdec = 2;
+               } else if (decx >= 8) {
+                       decx = 8;
+                       xdec = 3;
+               }
+               xscale = proc_data->srect.width * 0x1000 /
+                        (proc_data->drect.width * decx);
+       } else
+               xscale = proc_data->srect.width * 0x1000 /
+                        proc_data->drect.width;
+       if (decy > 0) {
+               if (decy >= 2 && decy < 4) {
+                       decy = 2;
+                       ydec = 1;
+               } else if (decy >= 4 && decy < 8) {
+                       decy = 4;
+                       ydec = 2;
+               } else if (decy >= 8) {
+                       decy = 8;
+                       ydec = 3;
+               }
+               yscale = proc_data->srect.height * 0x1000 /
+                        (proc_data->drect.height * decy);
+       } else
+               yscale = proc_data->srect.height * 0x1000 /
+                        proc_data->drect.height;
+
+       __raw_writel((xdec << 10) | (ydec << 8), pxp->base + HW_PXP_PS_CTRL);
+
+       if (xscale > PXP_DOWNSCALE_THRESHOLD)
+               xscale = PXP_DOWNSCALE_THRESHOLD;
+       if (yscale > PXP_DOWNSCALE_THRESHOLD)
+               yscale = PXP_DOWNSCALE_THRESHOLD;
+       s0scale = BF_PXP_PS_SCALE_YSCALE(yscale) |
+               BF_PXP_PS_SCALE_XSCALE(xscale);
+       __raw_writel(s0scale, pxp->base + HW_PXP_PS_SCALE);
+
+out:
+       pxp_set_ctrl(pxp);
+
+       return ret;
+}
+
+static void pxp_set_bg(struct pxps *pxp)
+{
+       __raw_writel(pxp->pxp_conf_state.proc_data.bgcolor,
+                    pxp->base + HW_PXP_PS_BACKGROUND);
+}
+
+static void pxp_set_lut(struct pxps *pxp)
+{
+       struct pxp_config_data *pxp_conf = &pxp->pxp_conf_state;
+       int lut_op = pxp_conf->proc_data.lut_transform;
+       u32 reg_val;
+       int i;
+       bool use_cmap = (lut_op & PXP_LUT_USE_CMAP) ? true : false;
+       u8 *cmap = pxp_conf->proc_data.lut_map;
+       u32 entry_src;
+       u32 pix_val;
+       u8 entry[4];
+
+       /*
+        * If LUT already configured as needed, return...
+        * Unless CMAP is needed and it has been updated.
+        */
+       if ((pxp->lut_state == lut_op) &&
+               !(use_cmap && pxp_conf->proc_data.lut_map_updated))
+               return;
+
+       if (lut_op == PXP_LUT_NONE) {
+               __raw_writel(BM_PXP_LUT_CTRL_BYPASS,
+                            pxp->base + HW_PXP_LUT_CTRL);
+       } else if (((lut_op & PXP_LUT_INVERT) != 0)
+               && ((lut_op & PXP_LUT_BLACK_WHITE) != 0)) {
+               /* Fill out LUT table with inverted monochromized values */
+
+               /* clear bypass bit, set lookup mode & out mode */
+               __raw_writel(BF_PXP_LUT_CTRL_LOOKUP_MODE
+                               (BV_PXP_LUT_CTRL_LOOKUP_MODE__DIRECT_Y8) |
+                               BF_PXP_LUT_CTRL_OUT_MODE
+                               (BV_PXP_LUT_CTRL_OUT_MODE__Y8),
+                               pxp->base + HW_PXP_LUT_CTRL);
+
+               /* Initialize LUT address to 0 and set NUM_BYTES to 0 */
+               __raw_writel(0, pxp->base + HW_PXP_LUT_ADDR);
+
+               /* LUT address pointer auto-increments after each data write */
+               for (pix_val = 0; pix_val < 256; pix_val += 4) {
+                       for (i = 0; i < 4; i++) {
+                               entry_src = use_cmap ?
+                                       cmap[pix_val + i] : pix_val + i;
+                               entry[i] = (entry_src < 0x80) ? 0xFF : 0x00;
+                       }
+                       reg_val = (entry[3] << 24) | (entry[2] << 16) |
+                               (entry[1] << 8) | entry[0];
+                       __raw_writel(reg_val, pxp->base + HW_PXP_LUT_DATA);
+               }
+       } else if ((lut_op & PXP_LUT_INVERT) != 0) {
+               /* Fill out LUT table with 8-bit inverted values */
+
+               /* clear bypass bit, set lookup mode & out mode */
+               __raw_writel(BF_PXP_LUT_CTRL_LOOKUP_MODE
+                               (BV_PXP_LUT_CTRL_LOOKUP_MODE__DIRECT_Y8) |
+                               BF_PXP_LUT_CTRL_OUT_MODE
+                               (BV_PXP_LUT_CTRL_OUT_MODE__Y8),
+                               pxp->base + HW_PXP_LUT_CTRL);
+
+               /* Initialize LUT address to 0 and set NUM_BYTES to 0 */
+               __raw_writel(0, pxp->base + HW_PXP_LUT_ADDR);
+
+               /* LUT address pointer auto-increments after each data write */
+               for (pix_val = 0; pix_val < 256; pix_val += 4) {
+                       for (i = 0; i < 4; i++) {
+                               entry_src = use_cmap ?
+                                       cmap[pix_val + i] : pix_val + i;
+                               entry[i] = ~entry_src & 0xFF;
+                       }
+                       reg_val = (entry[3] << 24) | (entry[2] << 16) |
+                               (entry[1] << 8) | entry[0];
+                       __raw_writel(reg_val, pxp->base + HW_PXP_LUT_DATA);
+               }
+       } else if ((lut_op & PXP_LUT_BLACK_WHITE) != 0) {
+               /* Fill out LUT table with 8-bit monochromized values */
+
+               /* clear bypass bit, set lookup mode & out mode */
+               __raw_writel(BF_PXP_LUT_CTRL_LOOKUP_MODE
+                               (BV_PXP_LUT_CTRL_LOOKUP_MODE__DIRECT_Y8) |
+                               BF_PXP_LUT_CTRL_OUT_MODE
+                               (BV_PXP_LUT_CTRL_OUT_MODE__Y8),
+                               pxp->base + HW_PXP_LUT_CTRL);
+
+               /* Initialize LUT address to 0 and set NUM_BYTES to 0 */
+               __raw_writel(0, pxp->base + HW_PXP_LUT_ADDR);
+
+               /* LUT address pointer auto-increments after each data write */
+               for (pix_val = 0; pix_val < 256; pix_val += 4) {
+                       for (i = 0; i < 4; i++) {
+                               entry_src = use_cmap ?
+                                       cmap[pix_val + i] : pix_val + i;
+                               entry[i] = (entry_src < 0x80) ? 0x00 : 0xFF;
+                       }
+                       reg_val = (entry[3] << 24) | (entry[2] << 16) |
+                               (entry[1] << 8) | entry[0];
+                       __raw_writel(reg_val, pxp->base + HW_PXP_LUT_DATA);
+               }
+       } else if (use_cmap) {
+               /* Fill out LUT table using colormap values */
+
+               /* clear bypass bit, set lookup mode & out mode */
+               __raw_writel(BF_PXP_LUT_CTRL_LOOKUP_MODE
+                               (BV_PXP_LUT_CTRL_LOOKUP_MODE__DIRECT_Y8) |
+                               BF_PXP_LUT_CTRL_OUT_MODE
+                               (BV_PXP_LUT_CTRL_OUT_MODE__Y8),
+                               pxp->base + HW_PXP_LUT_CTRL);
+
+               /* Initialize LUT address to 0 and set NUM_BYTES to 0 */
+               __raw_writel(0, pxp->base + HW_PXP_LUT_ADDR);
+
+               /* LUT address pointer auto-increments after each data write */
+               for (pix_val = 0; pix_val < 256; pix_val += 4) {
+                       for (i = 0; i < 4; i++)
+                               entry[i] = cmap[pix_val + i];
+                       reg_val = (entry[3] << 24) | (entry[2] << 16) |
+                               (entry[1] << 8) | entry[0];
+                       __raw_writel(reg_val, pxp->base + HW_PXP_LUT_DATA);
+               }
+       }
+
+       pxp->lut_state = lut_op;
+}
+
+static void pxp_set_csc(struct pxps *pxp)
+{
+       struct pxp_config_data *pxp_conf = &pxp->pxp_conf_state;
+       struct pxp_layer_param *s0_params = &pxp_conf->s0_param;
+       struct pxp_layer_param *ol_params = &pxp_conf->ol_param[0];
+       struct pxp_layer_param *out_params = &pxp_conf->out_param;
+
+       bool input_is_YUV = is_yuv(s0_params->pixel_fmt);
+       bool output_is_YUV = is_yuv(out_params->pixel_fmt);
+
+       if (input_is_YUV && output_is_YUV) {
+               /*
+                * Input = YUV, Output = YUV
+                * No CSC unless we need to do combining
+                */
+               if (ol_params->combine_enable) {
+                       /* Must convert to RGB for combining with RGB overlay */
+
+                       /* CSC1 - YUV->RGB */
+                       __raw_writel(0x04030000, pxp->base + HW_PXP_CSC1_COEF0);
+                       __raw_writel(0x01230208, pxp->base + HW_PXP_CSC1_COEF1);
+                       __raw_writel(0x076b079c, pxp->base + HW_PXP_CSC1_COEF2);
+
+                       /* CSC2 - RGB->YUV */
+                       __raw_writel(0x4, pxp->base + HW_PXP_CSC2_CTRL);
+                       __raw_writel(0x0096004D, pxp->base + HW_PXP_CSC2_COEF0);
+                       __raw_writel(0x05DA001D, pxp->base + HW_PXP_CSC2_COEF1);
+                       __raw_writel(0x007005B6, pxp->base + HW_PXP_CSC2_COEF2);
+                       __raw_writel(0x057C009E, pxp->base + HW_PXP_CSC2_COEF3);
+                       __raw_writel(0x000005E6, pxp->base + HW_PXP_CSC2_COEF4);
+                       __raw_writel(0x00000000, pxp->base + HW_PXP_CSC2_COEF5);
+               } else {
+                       /* Input & Output both YUV, so bypass both CSCs */
+
+                       /* CSC1 - Bypass */
+                       __raw_writel(0x40000000, pxp->base + HW_PXP_CSC1_COEF0);
+
+                       /* CSC2 - Bypass */
+                       __raw_writel(0x1, pxp->base + HW_PXP_CSC2_CTRL);
+               }
+       } else if (input_is_YUV && !output_is_YUV) {
+               /*
+                * Input = YUV, Output = RGB
+                * Use CSC1 to convert to RGB
+                */
+
+               /* CSC1 - YUV->RGB */
+               __raw_writel(0x84ab01f0, pxp->base + HW_PXP_CSC1_COEF0);
+               __raw_writel(0x01980204, pxp->base + HW_PXP_CSC1_COEF1);
+               __raw_writel(0x0730079c, pxp->base + HW_PXP_CSC1_COEF2);
+
+               /* CSC2 - Bypass */
+               __raw_writel(0x1, pxp->base + HW_PXP_CSC2_CTRL);
+       } else if (!input_is_YUV && output_is_YUV) {
+               /*
+                * Input = RGB, Output = YUV
+                * Use CSC2 to convert to YUV
+                */
+
+               /* CSC1 - Bypass */
+               __raw_writel(0x40000000, pxp->base + HW_PXP_CSC1_COEF0);
+
+               /* CSC2 - RGB->YUV */
+               __raw_writel(0x4, pxp->base + HW_PXP_CSC2_CTRL);
+               __raw_writel(0x0096004D, pxp->base + HW_PXP_CSC2_COEF0);
+               __raw_writel(0x05DA001D, pxp->base + HW_PXP_CSC2_COEF1);
+               __raw_writel(0x007005B6, pxp->base + HW_PXP_CSC2_COEF2);
+               __raw_writel(0x057C009E, pxp->base + HW_PXP_CSC2_COEF3);
+               __raw_writel(0x000005E6, pxp->base + HW_PXP_CSC2_COEF4);
+               __raw_writel(0x00000000, pxp->base + HW_PXP_CSC2_COEF5);
+       } else {
+               /*
+                * Input = RGB, Output = RGB
+                * Input & Output both RGB, so bypass both CSCs
+                */
+
+               /* CSC1 - Bypass */
+               __raw_writel(0x40000000, pxp->base + HW_PXP_CSC1_COEF0);
+
+               /* CSC2 - Bypass */
+               __raw_writel(0x1, pxp->base + HW_PXP_CSC2_CTRL);
+       }
+
+       /* YCrCb colorspace */
+       /* Not sure when we use this...no YCrCb formats are defined for PxP */
+       /*
+          __raw_writel(0x84ab01f0, HW_PXP_CSCCOEFF0_ADDR);
+          __raw_writel(0x01230204, HW_PXP_CSCCOEFF1_ADDR);
+          __raw_writel(0x0730079c, HW_PXP_CSCCOEFF2_ADDR);
+        */
+
+}
+
+static void pxp_set_s0buf(struct pxps *pxp)
+{
+       struct pxp_config_data *pxp_conf = &pxp->pxp_conf_state;
+       struct pxp_layer_param *s0_params = &pxp_conf->s0_param;
+       struct pxp_proc_data *proc_data = &pxp_conf->proc_data;
+       dma_addr_t Y, U, V;
+       dma_addr_t Y1, U1, V1;
+       u32 offset, bpp = 1;
+       u32 pitch = s0_params->stride ? s0_params->stride :
+                                       s0_params->width;
+
+       Y = s0_params->paddr;
+
+       if (s0_params->pixel_fmt == PXP_PIX_FMT_RGB565)
+               bpp = 2;
+       else if (s0_params->pixel_fmt == PXP_PIX_FMT_RGB32)
+               bpp = 4;
+       offset = (proc_data->srect.top * s0_params->width +
+                proc_data->srect.left) * bpp;
+       /* clipping or cropping */
+       Y1 = Y + offset;
+       __raw_writel(Y1, pxp->base + HW_PXP_PS_BUF);
+       if ((s0_params->pixel_fmt == PXP_PIX_FMT_YUV420P) ||
+           (s0_params->pixel_fmt == PXP_PIX_FMT_YVU420P) ||
+           (s0_params->pixel_fmt == PXP_PIX_FMT_GREY)    ||
+           (s0_params->pixel_fmt == PXP_PIX_FMT_YUV422P)) {
+               /* Set to 1 if YUV format is 4:2:2 rather than 4:2:0 */
+               int s = 2;
+               if (s0_params->pixel_fmt == PXP_PIX_FMT_YUV422P)
+                       s = 1;
+
+               offset = proc_data->srect.top * s0_params->width / 4 +
+                        proc_data->srect.left / 2;
+               U = Y + (s0_params->width * s0_params->height);
+               U1 = U + offset;
+               V = U + ((s0_params->width * s0_params->height) >> s);
+               V1 = V + offset;
+               if (s0_params->pixel_fmt == PXP_PIX_FMT_YVU420P) {
+                       __raw_writel(V1, pxp->base + HW_PXP_PS_UBUF);
+                       __raw_writel(U1, pxp->base + HW_PXP_PS_VBUF);
+               } else {
+                       __raw_writel(U1, pxp->base + HW_PXP_PS_UBUF);
+                       __raw_writel(V1, pxp->base + HW_PXP_PS_VBUF);
+               }
+       } else if ((s0_params->pixel_fmt == PXP_PIX_FMT_NV12) ||
+                (s0_params->pixel_fmt == PXP_PIX_FMT_NV21) ||
+                (s0_params->pixel_fmt == PXP_PIX_FMT_NV16) ||
+                (s0_params->pixel_fmt == PXP_PIX_FMT_NV61)) {
+               int s = 2;
+               if ((s0_params->pixel_fmt == PXP_PIX_FMT_NV16) ||
+                   (s0_params->pixel_fmt == PXP_PIX_FMT_NV61))
+                       s = 1;
+
+               offset = (proc_data->srect.top * s0_params->width +
+                         proc_data->srect.left) / s;
+               U = Y + (s0_params->width * s0_params->height);
+               U1 = U + offset;
+
+               __raw_writel(U1, pxp->base + HW_PXP_PS_UBUF);
+       }
+
+       /* TODO: only support RGB565, Y8, Y4, YUV420 */
+       if (s0_params->pixel_fmt == PXP_PIX_FMT_GREY ||
+           s0_params->pixel_fmt == PXP_PIX_FMT_YUV420P ||
+           s0_params->pixel_fmt == PXP_PIX_FMT_YVU420P ||
+           s0_params->pixel_fmt == PXP_PIX_FMT_NV12 ||
+           s0_params->pixel_fmt == PXP_PIX_FMT_NV21 ||
+           s0_params->pixel_fmt == PXP_PIX_FMT_NV16 ||
+           s0_params->pixel_fmt == PXP_PIX_FMT_NV61 ||
+           s0_params->pixel_fmt == PXP_PIX_FMT_YUV422P) {
+               __raw_writel(pitch, pxp->base + HW_PXP_PS_PITCH);
+       }
+       else if (s0_params->pixel_fmt == PXP_PIX_FMT_GY04)
+               __raw_writel(pitch >> 1,
+                               pxp->base + HW_PXP_PS_PITCH);
+       else if (s0_params->pixel_fmt == PXP_PIX_FMT_RGB32)
+               __raw_writel(pitch << 2,
+                               pxp->base + HW_PXP_PS_PITCH);
+       else if (s0_params->pixel_fmt == PXP_PIX_FMT_UYVY ||
+                s0_params->pixel_fmt == PXP_PIX_FMT_YUYV ||
+                s0_params->pixel_fmt == PXP_PIX_FMT_VYUY ||
+                s0_params->pixel_fmt == PXP_PIX_FMT_YVYU)
+               __raw_writel(pitch << 1,
+                               pxp->base + HW_PXP_PS_PITCH);
+       else if (s0_params->pixel_fmt == PXP_PIX_FMT_RGB565)
+               __raw_writel(pitch << 1,
+                               pxp->base + HW_PXP_PS_PITCH);
+       else
+               __raw_writel(0, pxp->base + HW_PXP_PS_PITCH);
+}
+
+/**
+ * pxp_config() - configure PxP for a processing task
+ * @pxps:      PXP context.
+ * @pxp_chan:  PXP channel.
+ * @return:    0 on success or negative error code on failure.
+ */
+static int pxp_config(struct pxps *pxp, struct pxp_channel *pxp_chan)
+{
+       struct pxp_config_data *pxp_conf_data = &pxp->pxp_conf_state;
+       int ol_nr;
+       int i;
+
+       /* Configure PxP regs */
+       pxp_set_ctrl(pxp);
+       pxp_set_s0param(pxp);
+       pxp_set_s0crop(pxp);
+       pxp_set_scaling(pxp);
+       ol_nr = pxp_conf_data->layer_nr - 2;
+       while (ol_nr > 0) {
+               i = pxp_conf_data->layer_nr - 2 - ol_nr;
+               pxp_set_oln(i, pxp);
+               pxp_set_olparam(i, pxp);
+               /* only the color key in higher overlay will take effect. */
+               pxp_set_olcolorkey(i, pxp);
+               ol_nr--;
+       }
+       pxp_set_s0colorkey(pxp);
+       pxp_set_csc(pxp);
+       pxp_set_bg(pxp);
+       pxp_set_lut(pxp);
+
+       pxp_set_s0buf(pxp);
+       pxp_set_outbuf(pxp);
+
+       return 0;
+}
+
+static void pxp_clk_enable(struct pxps *pxp)
+{
+       mutex_lock(&pxp->clk_mutex);
+
+       if (pxp->clk_stat == CLK_STAT_ON) {
+               mutex_unlock(&pxp->clk_mutex);
+               return;
+       }
+
+       clk_prepare_enable(pxp->clk);
+       pxp->clk_stat = CLK_STAT_ON;
+
+       mutex_unlock(&pxp->clk_mutex);
+}
+
+static void pxp_clk_disable(struct pxps *pxp)
+{
+       unsigned long flags;
+
+       mutex_lock(&pxp->clk_mutex);
+
+       if (pxp->clk_stat == CLK_STAT_OFF) {
+               mutex_unlock(&pxp->clk_mutex);
+               return;
+       }
+
+       spin_lock_irqsave(&pxp->lock, flags);
+       if ((pxp->pxp_ongoing == 0) && list_empty(&head)) {
+               spin_unlock_irqrestore(&pxp->lock, flags);
+               clk_disable_unprepare(pxp->clk);
+               pxp->clk_stat = CLK_STAT_OFF;
+       } else
+               spin_unlock_irqrestore(&pxp->lock, flags);
+
+       mutex_unlock(&pxp->clk_mutex);
+}
+
+static inline void clkoff_callback(struct work_struct *w)
+{
+       struct pxps *pxp = container_of(w, struct pxps, work);
+
+       pxp_clk_disable(pxp);
+}
+
+static void pxp_clkoff_timer(unsigned long arg)
+{
+       struct pxps *pxp = (struct pxps *)arg;
+
+       if ((pxp->pxp_ongoing == 0) && list_empty(&head))
+               schedule_work(&pxp->work);
+       else
+               mod_timer(&pxp->clk_timer,
+                         jiffies + msecs_to_jiffies(timeout_in_ms));
+}
+
+static struct pxp_tx_desc *pxpdma_first_queued(struct pxp_channel *pxp_chan)
+{
+       return list_entry(pxp_chan->queue.next, struct pxp_tx_desc, list);
+}
+
+/* called with pxp_chan->lock held */
+static void __pxpdma_dostart(struct pxp_channel *pxp_chan)
+{
+       struct pxp_dma *pxp_dma = to_pxp_dma(pxp_chan->dma_chan.device);
+       struct pxps *pxp = to_pxp(pxp_dma);
+       struct pxp_tx_desc *desc;
+       struct pxp_tx_desc *child;
+       int i = 0;
+
+       /* S0 */
+       desc = list_first_entry(&head, struct pxp_tx_desc, list);
+       memcpy(&pxp->pxp_conf_state.s0_param,
+              &desc->layer_param.s0_param, sizeof(struct pxp_layer_param));
+       memcpy(&pxp->pxp_conf_state.proc_data,
+              &desc->proc_data, sizeof(struct pxp_proc_data));
+
+       /* Save PxP configuration */
+       list_for_each_entry(child, &desc->tx_list, list) {
+               if (i == 0) {   /* Output */
+                       memcpy(&pxp->pxp_conf_state.out_param,
+                              &child->layer_param.out_param,
+                              sizeof(struct pxp_layer_param));
+               } else {        /* Overlay */
+                       memcpy(&pxp->pxp_conf_state.ol_param[i - 1],
+                              &child->layer_param.ol_param,
+                              sizeof(struct pxp_layer_param));
+               }
+
+               i++;
+       }
+       pr_debug("%s:%d S0 w/h %d/%d paddr %08x\n", __func__, __LINE__,
+                pxp->pxp_conf_state.s0_param.width,
+                pxp->pxp_conf_state.s0_param.height,
+                pxp->pxp_conf_state.s0_param.paddr);
+       pr_debug("%s:%d OUT w/h %d/%d paddr %08x\n", __func__, __LINE__,
+                pxp->pxp_conf_state.out_param.width,
+                pxp->pxp_conf_state.out_param.height,
+                pxp->pxp_conf_state.out_param.paddr);
+}
+
+static void pxpdma_dostart_work(struct pxps *pxp)
+{
+       struct pxp_channel *pxp_chan = NULL;
+       unsigned long flags;
+       struct pxp_tx_desc *desc = NULL;
+
+       spin_lock_irqsave(&pxp->lock, flags);
+
+       desc = list_entry(head.next, struct pxp_tx_desc, list);
+       pxp_chan = to_pxp_channel(desc->txd.chan);
+
+       __pxpdma_dostart(pxp_chan);
+
+       /* Configure PxP */
+       pxp_config(pxp, pxp_chan);
+
+       pxp_start(pxp);
+
+       spin_unlock_irqrestore(&pxp->lock, flags);
+}
+
+static void pxpdma_dequeue(struct pxp_channel *pxp_chan, struct pxps *pxp)
+{
+       unsigned long flags;
+       struct pxp_tx_desc *desc = NULL;
+
+       do {
+               desc = pxpdma_first_queued(pxp_chan);
+               spin_lock_irqsave(&pxp->lock, flags);
+               list_move_tail(&desc->list, &head);
+               spin_unlock_irqrestore(&pxp->lock, flags);
+       } while (!list_empty(&pxp_chan->queue));
+}
+
+static dma_cookie_t pxp_tx_submit(struct dma_async_tx_descriptor *tx)
+{
+       struct pxp_tx_desc *desc = to_tx_desc(tx);
+       struct pxp_channel *pxp_chan = to_pxp_channel(tx->chan);
+       dma_cookie_t cookie;
+
+       dev_dbg(&pxp_chan->dma_chan.dev->device, "received TX\n");
+
+       /* pxp_chan->lock can be taken under ichan->lock, but not v.v. */
+       spin_lock(&pxp_chan->lock);
+
+       cookie = pxp_chan->dma_chan.cookie;
+
+       if (++cookie < 0)
+               cookie = 1;
+
+       /* from dmaengine.h: "last cookie value returned to client" */
+       pxp_chan->dma_chan.cookie = cookie;
+       tx->cookie = cookie;
+
+       /* Here we add the tx descriptor to our PxP task queue. */
+       list_add_tail(&desc->list, &pxp_chan->queue);
+
+       spin_unlock(&pxp_chan->lock);
+
+       dev_dbg(&pxp_chan->dma_chan.dev->device, "done TX\n");
+
+       return cookie;
+}
+
+/**
+ * pxp_init_channel() - initialize a PXP channel.
+ * @pxp_dma:   PXP DMA context.
+ * @pchan:  pointer to the channel object.
+ * @return      0 on success or negative error code on failure.
+ */
+static int pxp_init_channel(struct pxp_dma *pxp_dma,
+                           struct pxp_channel *pxp_chan)
+{
+       int ret = 0;
+
+       /*
+        * We are using _virtual_ channel here.
+        * Each channel contains all parameters of corresponding layers
+        * for one transaction; each layer is represented as one descriptor
+        * (i.e., pxp_tx_desc) here.
+        */
+
+       INIT_LIST_HEAD(&pxp_chan->queue);
+
+       return ret;
+}
+
+static irqreturn_t pxp_irq(int irq, void *dev_id)
+{
+       struct pxps *pxp = dev_id;
+       struct pxp_channel *pxp_chan;
+       struct pxp_tx_desc *desc;
+       struct pxp_tx_desc *child, *_child;
+       dma_async_tx_callback callback;
+       void *callback_param;
+       unsigned long flags;
+       u32 hist_status;
+
+       dump_pxp_reg(pxp);
+
+       hist_status =
+           __raw_readl(pxp->base + HW_PXP_HIST_CTRL) & BM_PXP_HIST_CTRL_STATUS;
+
+       __raw_writel(BM_PXP_STAT_IRQ, pxp->base + HW_PXP_STAT_CLR);
+
+       spin_lock_irqsave(&pxp->lock, flags);
+
+       if (list_empty(&head)) {
+               pxp->pxp_ongoing = 0;
+               spin_unlock_irqrestore(&pxp->lock, flags);
+               return IRQ_NONE;
+       }
+
+       /* Get descriptor and call callback */
+       desc = list_entry(head.next, struct pxp_tx_desc, list);
+       pxp_chan = to_pxp_channel(desc->txd.chan);
+
+       pxp_chan->completed = desc->txd.cookie;
+
+       callback = desc->txd.callback;
+       callback_param = desc->txd.callback_param;
+
+       /* Send histogram status back to caller */
+       desc->hist_status = hist_status;
+
+       if ((desc->txd.flags & DMA_PREP_INTERRUPT) && callback)
+               callback(callback_param);
+
+       pxp_chan->status = PXP_CHANNEL_INITIALIZED;
+
+       list_for_each_entry_safe(child, _child, &desc->tx_list, list) {
+               list_del_init(&child->list);
+               kmem_cache_free(tx_desc_cache, (void *)child);
+       }
+       list_del_init(&desc->list);
+       kmem_cache_free(tx_desc_cache, (void *)desc);
+
+       complete(&pxp->complete);
+       pxp->pxp_ongoing = 0;
+       mod_timer(&pxp->clk_timer, jiffies + msecs_to_jiffies(timeout_in_ms));
+
+       spin_unlock_irqrestore(&pxp->lock, flags);
+
+       return IRQ_HANDLED;
+}
+
+/* allocate/free dma tx descriptor dynamically*/
+static struct pxp_tx_desc *pxpdma_desc_alloc(struct pxp_channel *pxp_chan)
+{
+       struct pxp_tx_desc *desc = NULL;
+       struct dma_async_tx_descriptor *txd = NULL;
+
+       desc = kmem_cache_alloc(tx_desc_cache, GFP_KERNEL | __GFP_ZERO);
+       if (desc == NULL)
+               return NULL;
+
+       INIT_LIST_HEAD(&desc->list);
+       INIT_LIST_HEAD(&desc->tx_list);
+       txd = &desc->txd;
+       dma_async_tx_descriptor_init(txd, &pxp_chan->dma_chan);
+       txd->tx_submit = pxp_tx_submit;
+
+       return desc;
+}
+
+/* Allocate and initialise a transfer descriptor. */
+static struct dma_async_tx_descriptor *pxp_prep_slave_sg(struct dma_chan *chan,
+                                                        struct scatterlist
+                                                        *sgl,
+                                                        unsigned int sg_len,
+                                                        enum
+                                                        dma_transfer_direction
+                                                        direction,
+                                                        unsigned long tx_flags,
+                                                        void *context)
+{
+       struct pxp_channel *pxp_chan = to_pxp_channel(chan);
+       struct pxp_dma *pxp_dma = to_pxp_dma(chan->device);
+       struct pxps *pxp = to_pxp(pxp_dma);
+       struct pxp_tx_desc *desc = NULL;
+       struct pxp_tx_desc *first = NULL, *prev = NULL;
+       struct scatterlist *sg;
+       dma_addr_t phys_addr;
+       int i;
+
+       if (direction != DMA_DEV_TO_MEM && direction != DMA_MEM_TO_DEV) {
+               dev_err(chan->device->dev, "Invalid DMA direction %d!\n",
+                       direction);
+               return NULL;
+       }
+
+       if (unlikely(sg_len < 2))
+               return NULL;
+
+       for_each_sg(sgl, sg, sg_len, i) {
+               desc = pxpdma_desc_alloc(pxp_chan);
+               if (!desc) {
+                       dev_err(chan->device->dev, "no enough memory to allocate tx descriptor\n");
+                       return NULL;
+               }
+
+               phys_addr = sg_dma_address(sg);
+
+               if (!first) {
+                       first = desc;
+
+                       desc->layer_param.s0_param.paddr = phys_addr;
+               } else {
+                       list_add_tail(&desc->list, &first->tx_list);
+                       prev->next = desc;
+                       desc->next = NULL;
+
+                       if (i == 1)
+                               desc->layer_param.out_param.paddr = phys_addr;
+                       else
+                               desc->layer_param.ol_param.paddr = phys_addr;
+               }
+
+               prev = desc;
+       }
+
+       pxp->pxp_conf_state.layer_nr = sg_len;
+       first->txd.flags = tx_flags;
+       first->len = sg_len;
+       pr_debug("%s:%d first %p, first->len %d, flags %08x\n",
+                __func__, __LINE__, first, first->len, first->txd.flags);
+
+       return &first->txd;
+}
+
+static void pxp_issue_pending(struct dma_chan *chan)
+{
+       struct pxp_channel *pxp_chan = to_pxp_channel(chan);
+       struct pxp_dma *pxp_dma = to_pxp_dma(chan->device);
+       struct pxps *pxp = to_pxp(pxp_dma);
+
+       spin_lock(&pxp_chan->lock);
+
+       if (list_empty(&pxp_chan->queue)) {
+               spin_unlock(&pxp_chan->lock);
+               return;
+       }
+
+       pxpdma_dequeue(pxp_chan, pxp);
+       pxp_chan->status = PXP_CHANNEL_READY;
+
+       spin_unlock(&pxp_chan->lock);
+
+       pxp_clk_enable(pxp);
+       wake_up_interruptible(&pxp->thread_waitq);
+}
+
+static void __pxp_terminate_all(struct dma_chan *chan)
+{
+       struct pxp_channel *pxp_chan = to_pxp_channel(chan);
+
+       pxp_chan->status = PXP_CHANNEL_INITIALIZED;
+}
+
+static int pxp_control(struct dma_chan *chan, enum dma_ctrl_cmd cmd,
+                       unsigned long arg)
+{
+       struct pxp_channel *pxp_chan = to_pxp_channel(chan);
+
+       /* Only supports DMA_TERMINATE_ALL */
+       if (cmd != DMA_TERMINATE_ALL)
+               return -ENXIO;
+
+       spin_lock(&pxp_chan->lock);
+       __pxp_terminate_all(chan);
+       spin_unlock(&pxp_chan->lock);
+
+       return 0;
+}
+
+static int pxp_alloc_chan_resources(struct dma_chan *chan)
+{
+       struct pxp_channel *pxp_chan = to_pxp_channel(chan);
+       struct pxp_dma *pxp_dma = to_pxp_dma(chan->device);
+       int ret;
+
+       /* dmaengine.c now guarantees to only offer free channels */
+       BUG_ON(chan->client_count > 1);
+       WARN_ON(pxp_chan->status != PXP_CHANNEL_FREE);
+
+       chan->cookie = 1;
+       pxp_chan->completed = -ENXIO;
+
+       pr_debug("%s dma_chan.chan_id %d\n", __func__, chan->chan_id);
+       ret = pxp_init_channel(pxp_dma, pxp_chan);
+       if (ret < 0)
+               goto err_chan;
+
+       pxp_chan->status = PXP_CHANNEL_INITIALIZED;
+
+       dev_dbg(&chan->dev->device, "Found channel 0x%x, irq %d\n",
+               chan->chan_id, pxp_chan->eof_irq);
+
+       return ret;
+
+err_chan:
+       return ret;
+}
+
+static void pxp_free_chan_resources(struct dma_chan *chan)
+{
+       struct pxp_channel *pxp_chan = to_pxp_channel(chan);
+
+       spin_lock(&pxp_chan->lock);
+
+       __pxp_terminate_all(chan);
+
+       pxp_chan->status = PXP_CHANNEL_FREE;
+
+       spin_unlock(&pxp_chan->lock);
+}
+
+static enum dma_status pxp_tx_status(struct dma_chan *chan,
+                                    dma_cookie_t cookie,
+                                    struct dma_tx_state *txstate)
+{
+       struct pxp_channel *pxp_chan = to_pxp_channel(chan);
+
+       if (cookie != chan->cookie)
+               return DMA_ERROR;
+
+       if (txstate) {
+               txstate->last = pxp_chan->completed;
+               txstate->used = chan->cookie;
+               txstate->residue = 0;
+       }
+       return DMA_COMPLETE;
+}
+
+static int pxp_hw_init(struct pxps *pxp)
+{
+       struct pxp_config_data *pxp_conf = &pxp->pxp_conf_state;
+       struct pxp_proc_data *proc_data = &pxp_conf->proc_data;
+       u32 reg_val;
+
+       /* Pull PxP out of reset */
+       __raw_writel(0, pxp->base + HW_PXP_CTRL);
+
+       /* Config defaults */
+
+       /* Initialize non-channel-specific PxP parameters */
+       proc_data->drect.left = proc_data->srect.left = 0;
+       proc_data->drect.top = proc_data->srect.top = 0;
+       proc_data->drect.width = proc_data->srect.width = 0;
+       proc_data->drect.height = proc_data->srect.height = 0;
+       proc_data->scaling = 0;
+       proc_data->hflip = 0;
+       proc_data->vflip = 0;
+       proc_data->rotate = 0;
+       proc_data->bgcolor = 0;
+
+       /* Initialize S0 channel parameters */
+       pxp_conf->s0_param.pixel_fmt = pxp_s0_formats[0];
+       pxp_conf->s0_param.width = 0;
+       pxp_conf->s0_param.height = 0;
+       pxp_conf->s0_param.color_key = -1;
+       pxp_conf->s0_param.color_key_enable = false;
+
+       /* Initialize OL channel parameters */
+       pxp_conf->ol_param[0].combine_enable = false;
+       pxp_conf->ol_param[0].width = 0;
+       pxp_conf->ol_param[0].height = 0;
+       pxp_conf->ol_param[0].pixel_fmt = PXP_PIX_FMT_RGB565;
+       pxp_conf->ol_param[0].color_key_enable = false;
+       pxp_conf->ol_param[0].color_key = -1;
+       pxp_conf->ol_param[0].global_alpha_enable = false;
+       pxp_conf->ol_param[0].global_alpha = 0;
+       pxp_conf->ol_param[0].local_alpha_enable = false;
+
+       /* Initialize Output channel parameters */
+       pxp_conf->out_param.width = 0;
+       pxp_conf->out_param.height = 0;
+       pxp_conf->out_param.pixel_fmt = PXP_PIX_FMT_RGB565;
+
+       proc_data->overlay_state = 0;
+
+       /* Write default h/w config */
+       pxp_set_ctrl(pxp);
+       pxp_set_s0param(pxp);
+       pxp_set_s0crop(pxp);
+       /*
+        * simply program the ULC to a higher value than the LRC
+        * to avoid any AS pixels to show up in the output buffer.
+        */
+       __raw_writel(0xFFFFFFFF, pxp->base + HW_PXP_OUT_AS_ULC);
+       pxp_set_olparam(0, pxp);
+       pxp_set_olcolorkey(0, pxp);
+
+       pxp_set_s0colorkey(pxp);
+       pxp_set_csc(pxp);
+       pxp_set_bg(pxp);
+       pxp_set_lut(pxp);
+
+       /* One-time histogram configuration */
+       reg_val =
+           BF_PXP_HIST_CTRL_PANEL_MODE(BV_PXP_HIST_CTRL_PANEL_MODE__GRAY16);
+       __raw_writel(reg_val, pxp->base + HW_PXP_HIST_CTRL);
+
+       reg_val = BF_PXP_HIST2_PARAM_VALUE0(0x00) |
+           BF_PXP_HIST2_PARAM_VALUE1(0x00F);
+       __raw_writel(reg_val, pxp->base + HW_PXP_HIST2_PARAM);
+
+       reg_val = BF_PXP_HIST4_PARAM_VALUE0(0x00) |
+           BF_PXP_HIST4_PARAM_VALUE1(0x05) |
+           BF_PXP_HIST4_PARAM_VALUE2(0x0A) | BF_PXP_HIST4_PARAM_VALUE3(0x0F);
+       __raw_writel(reg_val, pxp->base + HW_PXP_HIST4_PARAM);
+
+       reg_val = BF_PXP_HIST8_PARAM0_VALUE0(0x00) |
+           BF_PXP_HIST8_PARAM0_VALUE1(0x02) |
+           BF_PXP_HIST8_PARAM0_VALUE2(0x04) | BF_PXP_HIST8_PARAM0_VALUE3(0x06);
+       __raw_writel(reg_val, pxp->base + HW_PXP_HIST8_PARAM0);
+       reg_val = BF_PXP_HIST8_PARAM1_VALUE4(0x09) |
+           BF_PXP_HIST8_PARAM1_VALUE5(0x0B) |
+           BF_PXP_HIST8_PARAM1_VALUE6(0x0D) | BF_PXP_HIST8_PARAM1_VALUE7(0x0F);
+       __raw_writel(reg_val, pxp->base + HW_PXP_HIST8_PARAM1);
+
+       reg_val = BF_PXP_HIST16_PARAM0_VALUE0(0x00) |
+           BF_PXP_HIST16_PARAM0_VALUE1(0x01) |
+           BF_PXP_HIST16_PARAM0_VALUE2(0x02) |
+           BF_PXP_HIST16_PARAM0_VALUE3(0x03);
+       __raw_writel(reg_val, pxp->base + HW_PXP_HIST16_PARAM0);
+       reg_val = BF_PXP_HIST16_PARAM1_VALUE4(0x04) |
+           BF_PXP_HIST16_PARAM1_VALUE5(0x05) |
+           BF_PXP_HIST16_PARAM1_VALUE6(0x06) |
+           BF_PXP_HIST16_PARAM1_VALUE7(0x07);
+       __raw_writel(reg_val, pxp->base + HW_PXP_HIST16_PARAM1);
+       reg_val = BF_PXP_HIST16_PARAM2_VALUE8(0x08) |
+           BF_PXP_HIST16_PARAM2_VALUE9(0x09) |
+           BF_PXP_HIST16_PARAM2_VALUE10(0x0A) |
+           BF_PXP_HIST16_PARAM2_VALUE11(0x0B);
+       __raw_writel(reg_val, pxp->base + HW_PXP_HIST16_PARAM2);
+       reg_val = BF_PXP_HIST16_PARAM3_VALUE12(0x0C) |
+           BF_PXP_HIST16_PARAM3_VALUE13(0x0D) |
+           BF_PXP_HIST16_PARAM3_VALUE14(0x0E) |
+           BF_PXP_HIST16_PARAM3_VALUE15(0x0F);
+       __raw_writel(reg_val, pxp->base + HW_PXP_HIST16_PARAM3);
+
+       return 0;
+}
+
+static int pxp_dma_init(struct pxps *pxp)
+{
+       struct pxp_dma *pxp_dma = &pxp->pxp_dma;
+       struct dma_device *dma = &pxp_dma->dma;
+       int i;
+
+       dma_cap_set(DMA_SLAVE, dma->cap_mask);
+       dma_cap_set(DMA_PRIVATE, dma->cap_mask);
+
+       /* Compulsory common fields */
+       dma->dev = pxp->dev;
+       dma->device_alloc_chan_resources = pxp_alloc_chan_resources;
+       dma->device_free_chan_resources = pxp_free_chan_resources;
+       dma->device_tx_status = pxp_tx_status;
+       dma->device_issue_pending = pxp_issue_pending;
+
+       /* Compulsory for DMA_SLAVE fields */
+       dma->device_prep_slave_sg = pxp_prep_slave_sg;
+       dma->device_control = pxp_control;
+
+       /* Initialize PxP Channels */
+       INIT_LIST_HEAD(&dma->channels);
+       for (i = 0; i < NR_PXP_VIRT_CHANNEL; i++) {
+               struct pxp_channel *pxp_chan = pxp->channel + i;
+               struct dma_chan *dma_chan = &pxp_chan->dma_chan;
+
+               spin_lock_init(&pxp_chan->lock);
+
+               /* Only one EOF IRQ for PxP, shared by all channels */
+               pxp_chan->eof_irq = pxp->irq;
+               pxp_chan->status = PXP_CHANNEL_FREE;
+               pxp_chan->completed = -ENXIO;
+               snprintf(pxp_chan->eof_name, sizeof(pxp_chan->eof_name),
+                        "PXP EOF %d", i);
+
+               dma_chan->device = &pxp_dma->dma;
+               dma_chan->cookie = 1;
+               dma_chan->chan_id = i;
+               list_add_tail(&dma_chan->device_node, &dma->channels);
+       }
+
+       return dma_async_device_register(&pxp_dma->dma);
+}
+
+static ssize_t clk_off_timeout_show(struct device *dev,
+                                   struct device_attribute *attr, char *buf)
+{
+       return sprintf(buf, "%d\n", timeout_in_ms);
+}
+
+static ssize_t clk_off_timeout_store(struct device *dev,
+                                    struct device_attribute *attr,
+                                    const char *buf, size_t count)
+{
+       int val;
+       if (sscanf(buf, "%d", &val) > 0) {
+               timeout_in_ms = val;
+               return count;
+       }
+       return -EINVAL;
+}
+
+static DEVICE_ATTR(clk_off_timeout, 0644, clk_off_timeout_show,
+                  clk_off_timeout_store);
+
+static ssize_t block_size_show(struct device *dev,
+                              struct device_attribute *attr,
+                              char *buf)
+{
+       return sprintf(buf, "%d\n", block_size);
+}
+
+static ssize_t block_size_store(struct device *dev,
+                               struct device_attribute *attr,
+                               const char *buf, size_t count)
+{
+       char **last = NULL;
+
+       block_size = simple_strtoul(buf, last, 0);
+       if (block_size > 1)
+               block_size = 1;
+
+       return count;
+}
+static DEVICE_ATTR(block_size, S_IWUSR | S_IRUGO,
+                  block_size_show, block_size_store);
+
+static const struct of_device_id imx_pxpdma_dt_ids[] = {
+       { .compatible = "fsl,imx6dl-pxp-dma", },
+       { /* sentinel */ }
+};
+MODULE_DEVICE_TABLE(of, imx_pxpdma_dt_ids);
+
+static int has_pending_task(struct pxps *pxp, struct pxp_channel *task)
+{
+       int found;
+       unsigned long flags;
+
+       spin_lock_irqsave(&pxp->lock, flags);
+       found = !list_empty(&head);
+       spin_unlock_irqrestore(&pxp->lock, flags);
+
+       return found;
+}
+
+static int pxp_dispatch_thread(void *argv)
+{
+       struct pxps *pxp = (struct pxps *)argv;
+       struct pxp_channel *pending = NULL;
+       unsigned long flags;
+
+       while (!kthread_should_stop()) {
+               int ret;
+               ret = wait_event_interruptible(pxp->thread_waitq,
+                                       has_pending_task(pxp, pending));
+               if (signal_pending(current))
+                       continue;
+
+               if (kthread_should_stop())
+                       break;
+
+               spin_lock_irqsave(&pxp->lock, flags);
+               pxp->pxp_ongoing = 1;
+               spin_unlock_irqrestore(&pxp->lock, flags);
+               init_completion(&pxp->complete);
+               pxpdma_dostart_work(pxp);
+               ret = wait_for_completion_timeout(&pxp->complete, 2 * HZ);
+               if (ret == 0) {
+                       printk(KERN_EMERG "%s: task is timeout\n\n", __func__);
+                       break;
+               }
+       }
+
+       return 0;
+}
+
+static int pxp_probe(struct platform_device *pdev)
+{
+       struct pxps *pxp;
+       struct resource *res;
+       int irq;
+       int err = 0;
+
+       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+       irq = platform_get_irq(pdev, 0);
+       if (!res || irq < 0) {
+               err = -ENODEV;
+               goto exit;
+       }
+
+       pxp = devm_kzalloc(&pdev->dev, sizeof(*pxp), GFP_KERNEL);
+       if (!pxp) {
+               dev_err(&pdev->dev, "failed to allocate control object\n");
+               err = -ENOMEM;
+               goto exit;
+       }
+
+       pxp->dev = &pdev->dev;
+
+       platform_set_drvdata(pdev, pxp);
+       pxp->irq = irq;
+
+       pxp->pxp_ongoing = 0;
+       pxp->lut_state = 0;
+
+       spin_lock_init(&pxp->lock);
+       mutex_init(&pxp->clk_mutex);
+
+       pxp->base = devm_request_and_ioremap(&pdev->dev, res);
+       if (pxp->base == NULL) {
+               dev_err(&pdev->dev, "Couldn't ioremap regs\n");
+               err = -ENODEV;
+               goto exit;
+       }
+
+       pxp->pdev = pdev;
+
+       pxp->clk = devm_clk_get(&pdev->dev, "pxp-axi");
+       clk_prepare_enable(pxp->clk);
+
+       err = pxp_hw_init(pxp);
+       clk_disable_unprepare(pxp->clk);
+       if (err) {
+               dev_err(&pdev->dev, "failed to initialize hardware\n");
+               goto exit;
+       }
+
+       err = devm_request_irq(&pdev->dev, pxp->irq, pxp_irq, 0,
+                               "pxp-dmaengine", pxp);
+       if (err)
+               goto exit;
+       /* Initialize DMA engine */
+       err = pxp_dma_init(pxp);
+       if (err < 0)
+               goto exit;
+
+       if (device_create_file(&pdev->dev, &dev_attr_clk_off_timeout)) {
+               dev_err(&pdev->dev,
+                       "Unable to create file from clk_off_timeout\n");
+               goto exit;
+       }
+
+       device_create_file(&pdev->dev, &dev_attr_block_size);
+       dump_pxp_reg(pxp);
+
+       INIT_WORK(&pxp->work, clkoff_callback);
+       init_timer(&pxp->clk_timer);
+       pxp->clk_timer.function = pxp_clkoff_timer;
+       pxp->clk_timer.data = (unsigned long)pxp;
+
+       /* allocate a kernel thread to dispatch pxp conf */
+       pxp->dispatch = kthread_run(pxp_dispatch_thread, pxp, "pxp_dispatch");
+       if (IS_ERR(pxp->dispatch)) {
+               err = PTR_ERR(pxp->dispatch);
+               goto exit;
+       }
+       init_waitqueue_head(&pxp->thread_waitq);
+       tx_desc_cache = kmem_cache_create("tx_desc", sizeof(struct pxp_tx_desc),
+                                         0, SLAB_HWCACHE_ALIGN, NULL);
+       if (!tx_desc_cache) {
+               err = -ENOMEM;
+               goto exit;
+       }
+
+       register_pxp_device();
+
+exit:
+       if (err)
+               dev_err(&pdev->dev, "Exiting (unsuccessfully) pxp_probe()\n");
+       return err;
+}
+
+static int pxp_remove(struct platform_device *pdev)
+{
+       struct pxps *pxp = platform_get_drvdata(pdev);
+
+       unregister_pxp_device();
+       kmem_cache_destroy(tx_desc_cache);
+       kthread_stop(pxp->dispatch);
+       cancel_work_sync(&pxp->work);
+       del_timer_sync(&pxp->clk_timer);
+       clk_disable_unprepare(pxp->clk);
+       device_remove_file(&pdev->dev, &dev_attr_clk_off_timeout);
+       device_remove_file(&pdev->dev, &dev_attr_block_size);
+       dma_async_device_unregister(&(pxp->pxp_dma.dma));
+
+       return 0;
+}
+
+#ifdef CONFIG_PM
+static int pxp_suspend(struct platform_device *pdev, pm_message_t state)
+{
+       struct pxps *pxp = platform_get_drvdata(pdev);
+
+       pxp_clk_enable(pxp);
+       while (__raw_readl(pxp->base + HW_PXP_CTRL) & BM_PXP_CTRL_ENABLE)
+               ;
+
+       __raw_writel(BM_PXP_CTRL_SFTRST, pxp->base + HW_PXP_CTRL);
+       pxp_clk_disable(pxp);
+
+       return 0;
+}
+
+static int pxp_resume(struct platform_device *pdev)
+{
+       struct pxps *pxp = platform_get_drvdata(pdev);
+
+       pxp_clk_enable(pxp);
+       /* Pull PxP out of reset */
+       __raw_writel(0, pxp->base + HW_PXP_CTRL);
+       pxp_clk_disable(pxp);
+
+       return 0;
+}
+#else
+#define        pxp_suspend     NULL
+#define        pxp_resume      NULL
+#endif
+
+static struct platform_driver pxp_driver = {
+       .driver = {
+                       .name = "imx-pxp",
+                       .of_match_table = of_match_ptr(imx_pxpdma_dt_ids),
+                  },
+       .probe = pxp_probe,
+       .remove = pxp_remove,
+       .suspend = pxp_suspend,
+       .resume = pxp_resume,
+};
+
+module_platform_driver(pxp_driver);
+
+
+MODULE_DESCRIPTION("i.MX PxP driver");
+MODULE_AUTHOR("Freescale Semiconductor, Inc.");
+MODULE_LICENSE("GPL");
diff --git a/drivers/dma/pxp/regs-pxp_v2.h b/drivers/dma/pxp/regs-pxp_v2.h
new file mode 100644 (file)
index 0000000..8b20dde
--- /dev/null
@@ -0,0 +1,1152 @@
+/*
+ * Freescale PXP Register Definitions
+ *
+ * Copyright (C) 2012-2013 Freescale Semiconductor, Inc. All Rights Reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ *
+ * This file is created by xml file. Don't Edit it.
+ *
+ * Xml Revision: 1.29
+ * Template revision: 1.3
+ */
+
+#ifndef __ARCH_ARM___PXP_H
+#define __ARCH_ARM___PXP_H
+
+#define HW_PXP_CTRL    (0x00000000)
+#define HW_PXP_CTRL_SET        (0x00000004)
+#define HW_PXP_CTRL_CLR        (0x00000008)
+#define HW_PXP_CTRL_TOG        (0x0000000c)
+
+#define BM_PXP_CTRL_SFTRST 0x80000000
+#define BM_PXP_CTRL_CLKGATE 0x40000000
+#define BM_PXP_CTRL_RSVD4 0x20000000
+#define BM_PXP_CTRL_EN_REPEAT 0x10000000
+#define BP_PXP_CTRL_RSVD3      26
+#define BM_PXP_CTRL_RSVD3 0x0C000000
+#define BF_PXP_CTRL_RSVD3(v)  \
+       (((v) << 26) & BM_PXP_CTRL_RSVD3)
+#define BP_PXP_CTRL_INTERLACED_INPUT     24
+#define BM_PXP_CTRL_INTERLACED_INPUT 0x03000000
+#define BF_PXP_CTRL_INTERLACED_INPUT(v)  \
+       (((v) << 24) & BM_PXP_CTRL_INTERLACED_INPUT)
+#define BV_PXP_CTRL_INTERLACED_INPUT__PROGRESSIVE 0x0
+#define BV_PXP_CTRL_INTERLACED_INPUT__FIELD0     0x2
+#define BV_PXP_CTRL_INTERLACED_INPUT__FIELD1     0x3
+#define BM_PXP_CTRL_BLOCK_SIZE 0x00800000
+#define BV_PXP_CTRL_BLOCK_SIZE__8X8   0x0
+#define BV_PXP_CTRL_BLOCK_SIZE__16X16 0x1
+#define BM_PXP_CTRL_ROT_POS 0x00400000
+#define BM_PXP_CTRL_IN_PLACE 0x00200000
+#define BP_PXP_CTRL_RSVD1      12
+#define BM_PXP_CTRL_RSVD1 0x001FF000
+#define BF_PXP_CTRL_RSVD1(v)  \
+       (((v) << 12) & BM_PXP_CTRL_RSVD1)
+#define BM_PXP_CTRL_VFLIP 0x00000800
+#define BM_PXP_CTRL_HFLIP 0x00000400
+#define BP_PXP_CTRL_ROTATE     8
+#define BM_PXP_CTRL_ROTATE 0x00000300
+#define BF_PXP_CTRL_ROTATE(v)  \
+       (((v) << 8) & BM_PXP_CTRL_ROTATE)
+#define BV_PXP_CTRL_ROTATE__ROT_0   0x0
+#define BV_PXP_CTRL_ROTATE__ROT_90  0x1
+#define BV_PXP_CTRL_ROTATE__ROT_180 0x2
+#define BV_PXP_CTRL_ROTATE__ROT_270 0x3
+#define BP_PXP_CTRL_RSVD0      5
+#define BM_PXP_CTRL_RSVD0 0x000000E0
+#define BF_PXP_CTRL_RSVD0(v)  \
+       (((v) << 5) & BM_PXP_CTRL_RSVD0)
+#define BM_PXP_CTRL_ENABLE_LCD_HANDSHAKE 0x00000010
+#define BM_PXP_CTRL_LUT_DMA_IRQ_ENABLE 0x00000008
+#define BM_PXP_CTRL_NEXT_IRQ_ENABLE 0x00000004
+#define BM_PXP_CTRL_IRQ_ENABLE 0x00000002
+#define BM_PXP_CTRL_ENABLE 0x00000001
+
+#define HW_PXP_STAT    (0x00000010)
+#define HW_PXP_STAT_SET        (0x00000014)
+#define HW_PXP_STAT_CLR        (0x00000018)
+#define HW_PXP_STAT_TOG        (0x0000001c)
+
+#define BP_PXP_STAT_BLOCKX     24
+#define BM_PXP_STAT_BLOCKX 0xFF000000
+#define BF_PXP_STAT_BLOCKX(v) \
+       (((v) << 24) & BM_PXP_STAT_BLOCKX)
+#define BP_PXP_STAT_BLOCKY     16
+#define BM_PXP_STAT_BLOCKY 0x00FF0000
+#define BF_PXP_STAT_BLOCKY(v)  \
+       (((v) << 16) & BM_PXP_STAT_BLOCKY)
+#define BP_PXP_STAT_RSVD2      9
+#define BM_PXP_STAT_RSVD2 0x0000FE00
+#define BF_PXP_STAT_RSVD2(v)  \
+       (((v) << 9) & BM_PXP_STAT_RSVD2)
+#define BM_PXP_STAT_LUT_DMA_LOAD_DONE_IRQ 0x00000100
+#define BP_PXP_STAT_AXI_ERROR_ID      4
+#define BM_PXP_STAT_AXI_ERROR_ID 0x000000F0
+#define BF_PXP_STAT_AXI_ERROR_ID(v)  \
+       (((v) << 4) & BM_PXP_STAT_AXI_ERROR_ID)
+#define BM_PXP_STAT_NEXT_IRQ 0x00000008
+#define BM_PXP_STAT_AXI_READ_ERROR 0x00000004
+#define BM_PXP_STAT_AXI_WRITE_ERROR 0x00000002
+#define BM_PXP_STAT_IRQ 0x00000001
+
+#define HW_PXP_OUT_CTRL        (0x00000020)
+#define HW_PXP_OUT_CTRL_SET    (0x00000024)
+#define HW_PXP_OUT_CTRL_CLR    (0x00000028)
+#define HW_PXP_OUT_CTRL_TOG    (0x0000002c)
+
+#define BP_PXP_OUT_CTRL_ALPHA     24
+#define BM_PXP_OUT_CTRL_ALPHA 0xFF000000
+#define BF_PXP_OUT_CTRL_ALPHA(v) \
+       (((v) << 24) & BM_PXP_OUT_CTRL_ALPHA)
+#define BM_PXP_OUT_CTRL_ALPHA_OUTPUT 0x00800000
+#define BP_PXP_OUT_CTRL_RSVD1     10
+#define BM_PXP_OUT_CTRL_RSVD1 0x007FFC00
+#define BF_PXP_OUT_CTRL_RSVD1(v)  \
+       (((v) << 10) & BM_PXP_OUT_CTRL_RSVD1)
+#define BP_PXP_OUT_CTRL_INTERLACED_OUTPUT      8
+#define BM_PXP_OUT_CTRL_INTERLACED_OUTPUT 0x00000300
+#define BF_PXP_OUT_CTRL_INTERLACED_OUTPUT(v)  \
+       (((v) << 8) & BM_PXP_OUT_CTRL_INTERLACED_OUTPUT)
+#define BV_PXP_OUT_CTRL_INTERLACED_OUTPUT__PROGRESSIVE 0x0
+#define BV_PXP_OUT_CTRL_INTERLACED_OUTPUT__FIELD0      0x1
+#define BV_PXP_OUT_CTRL_INTERLACED_OUTPUT__FIELD1      0x2
+#define BV_PXP_OUT_CTRL_INTERLACED_OUTPUT__INTERLACED  0x3
+#define BP_PXP_OUT_CTRL_RSVD0     5
+#define BM_PXP_OUT_CTRL_RSVD0 0x000000E0
+#define BF_PXP_OUT_CTRL_RSVD0(v)  \
+       (((v) << 5) & BM_PXP_OUT_CTRL_RSVD0)
+#define BP_PXP_OUT_CTRL_FORMAT     0
+#define BM_PXP_OUT_CTRL_FORMAT 0x0000001F
+#define BF_PXP_OUT_CTRL_FORMAT(v)  \
+       (((v) << 0) & BM_PXP_OUT_CTRL_FORMAT)
+#define BV_PXP_OUT_CTRL_FORMAT__ARGB8888  0x0
+#define BV_PXP_OUT_CTRL_FORMAT__RGB888   0x4
+#define BV_PXP_OUT_CTRL_FORMAT__RGB888P   0x5
+#define BV_PXP_OUT_CTRL_FORMAT__ARGB1555  0x8
+#define BV_PXP_OUT_CTRL_FORMAT__ARGB4444  0x9
+#define BV_PXP_OUT_CTRL_FORMAT__RGB555   0xC
+#define BV_PXP_OUT_CTRL_FORMAT__RGB444   0xD
+#define BV_PXP_OUT_CTRL_FORMAT__RGB565   0xE
+#define BV_PXP_OUT_CTRL_FORMAT__YUV1P444  0x10
+#define BV_PXP_OUT_CTRL_FORMAT__UYVY1P422 0x12
+#define BV_PXP_OUT_CTRL_FORMAT__VYUY1P422 0x13
+#define BV_PXP_OUT_CTRL_FORMAT__Y8       0x14
+#define BV_PXP_OUT_CTRL_FORMAT__Y4       0x15
+#define BV_PXP_OUT_CTRL_FORMAT__YUV2P422  0x18
+#define BV_PXP_OUT_CTRL_FORMAT__YUV2P420  0x19
+#define BV_PXP_OUT_CTRL_FORMAT__YVU2P422  0x1A
+#define BV_PXP_OUT_CTRL_FORMAT__YVU2P420  0x1B
+
+#define HW_PXP_OUT_BUF (0x00000030)
+
+#define BP_PXP_OUT_BUF_ADDR     0
+#define BM_PXP_OUT_BUF_ADDR 0xFFFFFFFF
+#define BF_PXP_OUT_BUF_ADDR(v)  (v)
+
+#define HW_PXP_OUT_BUF2        (0x00000040)
+
+#define BP_PXP_OUT_BUF2_ADDR     0
+#define BM_PXP_OUT_BUF2_ADDR 0xFFFFFFFF
+#define BF_PXP_OUT_BUF2_ADDR(v)   (v)
+
+#define HW_PXP_OUT_PITCH       (0x00000050)
+
+#define BP_PXP_OUT_PITCH_RSVD     16
+#define BM_PXP_OUT_PITCH_RSVD 0xFFFF0000
+#define BF_PXP_OUT_PITCH_RSVD(v) \
+       (((v) << 16) & BM_PXP_OUT_PITCH_RSVD)
+#define BP_PXP_OUT_PITCH_PITCH     0
+#define BM_PXP_OUT_PITCH_PITCH 0x0000FFFF
+#define BF_PXP_OUT_PITCH_PITCH(v)  \
+       (((v) << 0) & BM_PXP_OUT_PITCH_PITCH)
+
+#define HW_PXP_OUT_LRC (0x00000060)
+
+#define BP_PXP_OUT_LRC_RSVD1     30
+#define BM_PXP_OUT_LRC_RSVD1 0xC0000000
+#define BF_PXP_OUT_LRC_RSVD1(v) \
+       (((v) << 30) & BM_PXP_OUT_LRC_RSVD1)
+#define BP_PXP_OUT_LRC_X      16
+#define BM_PXP_OUT_LRC_X 0x3FFF0000
+#define BF_PXP_OUT_LRC_X(v)  \
+       (((v) << 16) & BM_PXP_OUT_LRC_X)
+#define BP_PXP_OUT_LRC_RSVD0     14
+#define BM_PXP_OUT_LRC_RSVD0 0x0000C000
+#define BF_PXP_OUT_LRC_RSVD0(v)  \
+       (((v) << 14) & BM_PXP_OUT_LRC_RSVD0)
+#define BP_PXP_OUT_LRC_Y      0
+#define BM_PXP_OUT_LRC_Y 0x00003FFF
+#define BF_PXP_OUT_LRC_Y(v)  \
+       (((v) << 0) & BM_PXP_OUT_LRC_Y)
+
+#define HW_PXP_OUT_PS_ULC      (0x00000070)
+
+#define BP_PXP_OUT_PS_ULC_RSVD1      30
+#define BM_PXP_OUT_PS_ULC_RSVD1 0xC0000000
+#define BF_PXP_OUT_PS_ULC_RSVD1(v) \
+       (((v) << 30) & BM_PXP_OUT_PS_ULC_RSVD1)
+#define BP_PXP_OUT_PS_ULC_X     16
+#define BM_PXP_OUT_PS_ULC_X 0x3FFF0000
+#define BF_PXP_OUT_PS_ULC_X(v) \
+       (((v) << 16) & BM_PXP_OUT_PS_ULC_X)
+#define BP_PXP_OUT_PS_ULC_RSVD0      14
+#define BM_PXP_OUT_PS_ULC_RSVD0 0x0000C000
+#define BF_PXP_OUT_PS_ULC_RSVD0(v)  \
+       (((v) << 14) & BM_PXP_OUT_PS_ULC_RSVD0)
+#define BP_PXP_OUT_PS_ULC_Y     0
+#define BM_PXP_OUT_PS_ULC_Y 0x00003FFF
+#define BF_PXP_OUT_PS_ULC_Y(v) \
+       (((v) << 0) & BM_PXP_OUT_PS_ULC_Y)
+
+#define HW_PXP_OUT_PS_LRC      (0x00000080)
+
+#define BP_PXP_OUT_PS_LRC_RSVD1      30
+#define BM_PXP_OUT_PS_LRC_RSVD1 0xC0000000
+#define BF_PXP_OUT_PS_LRC_RSVD1(v) \
+       (((v) << 30) & BM_PXP_OUT_PS_LRC_RSVD1)
+#define BP_PXP_OUT_PS_LRC_X     16
+#define BM_PXP_OUT_PS_LRC_X 0x3FFF0000
+#define BF_PXP_OUT_PS_LRC_X(v) \
+       (((v) << 16) & BM_PXP_OUT_PS_LRC_X)
+#define BP_PXP_OUT_PS_LRC_RSVD0      14
+#define BM_PXP_OUT_PS_LRC_RSVD0 0x0000C000
+#define BF_PXP_OUT_PS_LRC_RSVD0(v)  \
+       (((v) << 14) & BM_PXP_OUT_PS_LRC_RSVD0)
+#define BP_PXP_OUT_PS_LRC_Y     0
+#define BM_PXP_OUT_PS_LRC_Y 0x00003FFF
+#define BF_PXP_OUT_PS_LRC_Y(v) \
+       (((v) << 0) & BM_PXP_OUT_PS_LRC_Y)
+
+#define HW_PXP_OUT_AS_ULC      (0x00000090)
+
+#define BP_PXP_OUT_AS_ULC_RSVD1      30
+#define BM_PXP_OUT_AS_ULC_RSVD1 0xC0000000
+#define BF_PXP_OUT_AS_ULC_RSVD1(v) \
+       (((v) << 30) & BM_PXP_OUT_AS_ULC_RSVD1)
+#define BP_PXP_OUT_AS_ULC_X     16
+#define BM_PXP_OUT_AS_ULC_X 0x3FFF0000
+#define BF_PXP_OUT_AS_ULC_X(v) \
+       (((v) << 16) & BM_PXP_OUT_AS_ULC_X)
+#define BP_PXP_OUT_AS_ULC_RSVD0      14
+#define BM_PXP_OUT_AS_ULC_RSVD0 0x0000C000
+#define BF_PXP_OUT_AS_ULC_RSVD0(v)  \
+       (((v) << 14) & BM_PXP_OUT_AS_ULC_RSVD0)
+#define BP_PXP_OUT_AS_ULC_Y     0
+#define BM_PXP_OUT_AS_ULC_Y 0x00003FFF
+#define BF_PXP_OUT_AS_ULC_Y(v) \
+       (((v) << 0) & BM_PXP_OUT_AS_ULC_Y)
+
+#define HW_PXP_OUT_AS_LRC      (0x000000a0)
+
+#define BP_PXP_OUT_AS_LRC_RSVD1      30
+#define BM_PXP_OUT_AS_LRC_RSVD1 0xC0000000
+#define BF_PXP_OUT_AS_LRC_RSVD1(v) \
+       (((v) << 30) & BM_PXP_OUT_AS_LRC_RSVD1)
+#define BP_PXP_OUT_AS_LRC_X     16
+#define BM_PXP_OUT_AS_LRC_X 0x3FFF0000
+#define BF_PXP_OUT_AS_LRC_X(v) \
+       (((v) << 16) & BM_PXP_OUT_AS_LRC_X)
+#define BP_PXP_OUT_AS_LRC_RSVD0      14
+#define BM_PXP_OUT_AS_LRC_RSVD0 0x0000C000
+#define BF_PXP_OUT_AS_LRC_RSVD0(v)  \
+       (((v) << 14) & BM_PXP_OUT_AS_LRC_RSVD0)
+#define BP_PXP_OUT_AS_LRC_Y     0
+#define BM_PXP_OUT_AS_LRC_Y 0x00003FFF
+#define BF_PXP_OUT_AS_LRC_Y(v) \
+       (((v) << 0) & BM_PXP_OUT_AS_LRC_Y)
+
+#define HW_PXP_PS_CTRL (0x000000b0)
+#define HW_PXP_PS_CTRL_SET     (0x000000b4)
+#define HW_PXP_PS_CTRL_CLR     (0x000000b8)
+#define HW_PXP_PS_CTRL_TOG     (0x000000bc)
+
+#define BP_PXP_PS_CTRL_RSVD1     12
+#define BM_PXP_PS_CTRL_RSVD1 0xFFFFF000
+#define BF_PXP_PS_CTRL_RSVD1(v) \
+       (((v) << 12) & BM_PXP_PS_CTRL_RSVD1)
+#define BP_PXP_PS_CTRL_DECX     10
+#define BM_PXP_PS_CTRL_DECX 0x00000C00
+#define BF_PXP_PS_CTRL_DECX(v) \
+       (((v) << 10) & BM_PXP_PS_CTRL_DECX)
+#define BV_PXP_PS_CTRL_DECX__DISABLE 0x0
+#define BV_PXP_PS_CTRL_DECX__DECX2   0x1
+#define BV_PXP_PS_CTRL_DECX__DECX4   0x2
+#define BV_PXP_PS_CTRL_DECX__DECX8   0x3
+#define BP_PXP_PS_CTRL_DECY     8
+#define BM_PXP_PS_CTRL_DECY 0x00000300
+#define BF_PXP_PS_CTRL_DECY(v) \
+       (((v) << 8) & BM_PXP_PS_CTRL_DECY)
+#define BV_PXP_PS_CTRL_DECY__DISABLE 0x0
+#define BV_PXP_PS_CTRL_DECY__DECY2   0x1
+#define BV_PXP_PS_CTRL_DECY__DECY4   0x2
+#define BV_PXP_PS_CTRL_DECY__DECY8   0x3
+#define BP_PXP_PS_CTRL_SWAP 5
+#define BM_PXP_PS_CTRL_SWAP 0x000000E0
+#define BF_PXP_PS_CTRL_SWAP(v)  \
+       (((v) << 5) & BM_PXP_PS_CTRL_SWAP)
+#define BP_PXP_PS_CTRL_FORMAT     0
+#define BM_PXP_PS_CTRL_FORMAT 0x0000001F
+#define BF_PXP_PS_CTRL_FORMAT(v)  \
+       (((v) << 0) & BM_PXP_PS_CTRL_FORMAT)
+#define BV_PXP_PS_CTRL_FORMAT__RGB888   0x4
+#define BV_PXP_PS_CTRL_FORMAT__RGB555   0xC
+#define BV_PXP_PS_CTRL_FORMAT__RGB444   0xD
+#define BV_PXP_PS_CTRL_FORMAT__RGB565   0xE
+#define BV_PXP_PS_CTRL_FORMAT__YUV1P444  0x10
+#define BV_PXP_PS_CTRL_FORMAT__UYVY1P422 0x12
+#define BV_PXP_PS_CTRL_FORMAT__VYUY1P422 0x13
+#define BV_PXP_PS_CTRL_FORMAT__Y8       0x14
+#define BV_PXP_PS_CTRL_FORMAT__Y4       0x15
+#define BV_PXP_PS_CTRL_FORMAT__YUV2P422  0x18
+#define BV_PXP_PS_CTRL_FORMAT__YUV2P420  0x19
+#define BV_PXP_PS_CTRL_FORMAT__YVU2P422  0x1A
+#define BV_PXP_PS_CTRL_FORMAT__YVU2P420  0x1B
+#define BV_PXP_PS_CTRL_FORMAT__YUV422   0x1E
+#define BV_PXP_PS_CTRL_FORMAT__YUV420   0x1F
+
+#define HW_PXP_PS_BUF  (0x000000c0)
+
+#define BP_PXP_PS_BUF_ADDR     0
+#define BM_PXP_PS_BUF_ADDR 0xFFFFFFFF
+#define BF_PXP_PS_BUF_ADDR(v)  (v)
+
+#define HW_PXP_PS_UBUF (0x000000d0)
+
+#define BP_PXP_PS_UBUF_ADDR     0
+#define BM_PXP_PS_UBUF_ADDR 0xFFFFFFFF
+#define BF_PXP_PS_UBUF_ADDR(v)  (v)
+
+#define HW_PXP_PS_VBUF (0x000000e0)
+
+#define BP_PXP_PS_VBUF_ADDR     0
+#define BM_PXP_PS_VBUF_ADDR 0xFFFFFFFF
+#define BF_PXP_PS_VBUF_ADDR(v)  (v)
+
+#define HW_PXP_PS_PITCH        (0x000000f0)
+
+#define BP_PXP_PS_PITCH_RSVD     16
+#define BM_PXP_PS_PITCH_RSVD 0xFFFF0000
+#define BF_PXP_PS_PITCH_RSVD(v) \
+       (((v) << 16) & BM_PXP_PS_PITCH_RSVD)
+#define BP_PXP_PS_PITCH_PITCH     0
+#define BM_PXP_PS_PITCH_PITCH 0x0000FFFF
+#define BF_PXP_PS_PITCH_PITCH(v)  \
+       (((v) << 0) & BM_PXP_PS_PITCH_PITCH)
+
+#define HW_PXP_PS_BACKGROUND   (0x00000100)
+
+#define BP_PXP_PS_BACKGROUND_RSVD      24
+#define BM_PXP_PS_BACKGROUND_RSVD 0xFF000000
+#define BF_PXP_PS_BACKGROUND_RSVD(v) \
+       (((v) << 24) & BM_PXP_PS_BACKGROUND_RSVD)
+#define BP_PXP_PS_BACKGROUND_COLOR     0
+#define BM_PXP_PS_BACKGROUND_COLOR 0x00FFFFFF
+#define BF_PXP_PS_BACKGROUND_COLOR(v)  \
+       (((v) << 0) & BM_PXP_PS_BACKGROUND_COLOR)
+
+#define HW_PXP_PS_SCALE        (0x00000110)
+
+#define BM_PXP_PS_SCALE_RSVD2 0x80000000
+#define BP_PXP_PS_SCALE_YSCALE     16
+#define BM_PXP_PS_SCALE_YSCALE 0x7FFF0000
+#define BF_PXP_PS_SCALE_YSCALE(v)  \
+       (((v) << 16) & BM_PXP_PS_SCALE_YSCALE)
+#define BM_PXP_PS_SCALE_RSVD1 0x00008000
+#define BP_PXP_PS_SCALE_XSCALE     0
+#define BM_PXP_PS_SCALE_XSCALE 0x00007FFF
+#define BF_PXP_PS_SCALE_XSCALE(v)  \
+       (((v) << 0) & BM_PXP_PS_SCALE_XSCALE)
+
+#define HW_PXP_PS_OFFSET       (0x00000120)
+
+#define BP_PXP_PS_OFFSET_RSVD2     28
+#define BM_PXP_PS_OFFSET_RSVD2 0xF0000000
+#define BF_PXP_PS_OFFSET_RSVD2(v) \
+       (((v) << 28) & BM_PXP_PS_OFFSET_RSVD2)
+#define BP_PXP_PS_OFFSET_YOFFSET      16
+#define BM_PXP_PS_OFFSET_YOFFSET 0x0FFF0000
+#define BF_PXP_PS_OFFSET_YOFFSET(v)  \
+       (((v) << 16) & BM_PXP_PS_OFFSET_YOFFSET)
+#define BP_PXP_PS_OFFSET_RSVD1     12
+#define BM_PXP_PS_OFFSET_RSVD1 0x0000F000
+#define BF_PXP_PS_OFFSET_RSVD1(v)  \
+       (((v) << 12) & BM_PXP_PS_OFFSET_RSVD1)
+#define BP_PXP_PS_OFFSET_XOFFSET      0
+#define BM_PXP_PS_OFFSET_XOFFSET 0x00000FFF
+#define BF_PXP_PS_OFFSET_XOFFSET(v)  \
+       (((v) << 0) & BM_PXP_PS_OFFSET_XOFFSET)
+
+#define HW_PXP_PS_CLRKEYLOW    (0x00000130)
+
+#define BP_PXP_PS_CLRKEYLOW_RSVD1      24
+#define BM_PXP_PS_CLRKEYLOW_RSVD1 0xFF000000
+#define BF_PXP_PS_CLRKEYLOW_RSVD1(v) \
+       (((v) << 24) & BM_PXP_PS_CLRKEYLOW_RSVD1)
+#define BP_PXP_PS_CLRKEYLOW_PIXEL      0
+#define BM_PXP_PS_CLRKEYLOW_PIXEL 0x00FFFFFF
+#define BF_PXP_PS_CLRKEYLOW_PIXEL(v)  \
+       (((v) << 0) & BM_PXP_PS_CLRKEYLOW_PIXEL)
+
+#define HW_PXP_PS_CLRKEYHIGH   (0x00000140)
+
+#define BP_PXP_PS_CLRKEYHIGH_RSVD1     24
+#define BM_PXP_PS_CLRKEYHIGH_RSVD1 0xFF000000
+#define BF_PXP_PS_CLRKEYHIGH_RSVD1(v) \
+       (((v) << 24) & BM_PXP_PS_CLRKEYHIGH_RSVD1)
+#define BP_PXP_PS_CLRKEYHIGH_PIXEL     0
+#define BM_PXP_PS_CLRKEYHIGH_PIXEL 0x00FFFFFF
+#define BF_PXP_PS_CLRKEYHIGH_PIXEL(v)  \
+       (((v) << 0) & BM_PXP_PS_CLRKEYHIGH_PIXEL)
+
+#define HW_PXP_AS_CTRL (0x00000150)
+
+#define BP_PXP_AS_CTRL_RSVD1     21
+#define BM_PXP_AS_CTRL_RSVD1 0xFFE00000
+#define BF_PXP_AS_CTRL_RSVD1(v) \
+       (((v) << 21) & BM_PXP_AS_CTRL_RSVD1)
+#define BM_PXP_AS_CTRL_ALPHA_INVERT 0x00100000
+#define BP_PXP_AS_CTRL_ROP     16
+#define BM_PXP_AS_CTRL_ROP 0x000F0000
+#define BF_PXP_AS_CTRL_ROP(v)  \
+       (((v) << 16) & BM_PXP_AS_CTRL_ROP)
+#define BV_PXP_AS_CTRL_ROP__MASKAS     0x0
+#define BV_PXP_AS_CTRL_ROP__MASKNOTAS  0x1
+#define BV_PXP_AS_CTRL_ROP__MASKASNOT  0x2
+#define BV_PXP_AS_CTRL_ROP__MERGEAS    0x3
+#define BV_PXP_AS_CTRL_ROP__MERGENOTAS 0x4
+#define BV_PXP_AS_CTRL_ROP__MERGEASNOT 0x5
+#define BV_PXP_AS_CTRL_ROP__NOTCOPYAS  0x6
+#define BV_PXP_AS_CTRL_ROP__NOT        0x7
+#define BV_PXP_AS_CTRL_ROP__NOTMASKAS  0x8
+#define BV_PXP_AS_CTRL_ROP__NOTMERGEAS 0x9
+#define BV_PXP_AS_CTRL_ROP__XORAS      0xA
+#define BV_PXP_AS_CTRL_ROP__NOTXORAS   0xB
+#define BP_PXP_AS_CTRL_ALPHA     8
+#define BM_PXP_AS_CTRL_ALPHA 0x0000FF00
+#define BF_PXP_AS_CTRL_ALPHA(v)  \
+       (((v) << 8) & BM_PXP_AS_CTRL_ALPHA)
+#define BP_PXP_AS_CTRL_FORMAT     4
+#define BM_PXP_AS_CTRL_FORMAT 0x000000F0
+#define BF_PXP_AS_CTRL_FORMAT(v)  \
+       (((v) << 4) & BM_PXP_AS_CTRL_FORMAT)
+#define BV_PXP_AS_CTRL_FORMAT__ARGB8888 0x0
+#define BV_PXP_AS_CTRL_FORMAT__RGB888  0x4
+#define BV_PXP_AS_CTRL_FORMAT__ARGB1555 0x8
+#define BV_PXP_AS_CTRL_FORMAT__ARGB4444 0x9
+#define BV_PXP_AS_CTRL_FORMAT__RGB555  0xC
+#define BV_PXP_AS_CTRL_FORMAT__RGB444  0xD
+#define BV_PXP_AS_CTRL_FORMAT__RGB565  0xE
+#define BM_PXP_AS_CTRL_ENABLE_COLORKEY 0x00000008
+#define BP_PXP_AS_CTRL_ALPHA_CTRL      1
+#define BM_PXP_AS_CTRL_ALPHA_CTRL 0x00000006
+#define BF_PXP_AS_CTRL_ALPHA_CTRL(v)  \
+       (((v) << 1) & BM_PXP_AS_CTRL_ALPHA_CTRL)
+#define BV_PXP_AS_CTRL_ALPHA_CTRL__Embedded 0x0
+#define BV_PXP_AS_CTRL_ALPHA_CTRL__Override 0x1
+#define BV_PXP_AS_CTRL_ALPHA_CTRL__Multiply 0x2
+#define BV_PXP_AS_CTRL_ALPHA_CTRL__ROPs     0x3
+#define BM_PXP_AS_CTRL_RSVD0 0x00000001
+
+#define HW_PXP_AS_BUF  (0x00000160)
+
+#define BP_PXP_AS_BUF_ADDR     0
+#define BM_PXP_AS_BUF_ADDR 0xFFFFFFFF
+#define BF_PXP_AS_BUF_ADDR(v)  (v)
+
+#define HW_PXP_AS_PITCH        (0x00000170)
+
+#define BP_PXP_AS_PITCH_RSVD     16
+#define BM_PXP_AS_PITCH_RSVD 0xFFFF0000
+#define BF_PXP_AS_PITCH_RSVD(v) \
+       (((v) << 16) & BM_PXP_AS_PITCH_RSVD)
+#define BP_PXP_AS_PITCH_PITCH     0
+#define BM_PXP_AS_PITCH_PITCH 0x0000FFFF
+#define BF_PXP_AS_PITCH_PITCH(v)  \
+       (((v) << 0) & BM_PXP_AS_PITCH_PITCH)
+
+#define HW_PXP_AS_CLRKEYLOW    (0x00000180)
+
+#define BP_PXP_AS_CLRKEYLOW_RSVD1      24
+#define BM_PXP_AS_CLRKEYLOW_RSVD1 0xFF000000
+#define BF_PXP_AS_CLRKEYLOW_RSVD1(v) \
+       (((v) << 24) & BM_PXP_AS_CLRKEYLOW_RSVD1)
+#define BP_PXP_AS_CLRKEYLOW_PIXEL      0
+#define BM_PXP_AS_CLRKEYLOW_PIXEL 0x00FFFFFF
+#define BF_PXP_AS_CLRKEYLOW_PIXEL(v)  \
+       (((v) << 0) & BM_PXP_AS_CLRKEYLOW_PIXEL)
+
+#define HW_PXP_AS_CLRKEYHIGH   (0x00000190)
+
+#define BP_PXP_AS_CLRKEYHIGH_RSVD1     24
+#define BM_PXP_AS_CLRKEYHIGH_RSVD1 0xFF000000
+#define BF_PXP_AS_CLRKEYHIGH_RSVD1(v) \
+       (((v) << 24) & BM_PXP_AS_CLRKEYHIGH_RSVD1)
+#define BP_PXP_AS_CLRKEYHIGH_PIXEL     0
+#define BM_PXP_AS_CLRKEYHIGH_PIXEL 0x00FFFFFF
+#define BF_PXP_AS_CLRKEYHIGH_PIXEL(v)  \
+       (((v) << 0) & BM_PXP_AS_CLRKEYHIGH_PIXEL)
+
+#define HW_PXP_CSC1_COEF0      (0x000001a0)
+
+#define BM_PXP_CSC1_COEF0_YCBCR_MODE 0x80000000
+#define BM_PXP_CSC1_COEF0_BYPASS 0x40000000
+#define BM_PXP_CSC1_COEF0_RSVD1 0x20000000
+#define BP_PXP_CSC1_COEF0_C0     18
+#define BM_PXP_CSC1_COEF0_C0 0x1FFC0000
+#define BF_PXP_CSC1_COEF0_C0(v)  \
+       (((v) << 18) & BM_PXP_CSC1_COEF0_C0)
+#define BP_PXP_CSC1_COEF0_UV_OFFSET     9
+#define BM_PXP_CSC1_COEF0_UV_OFFSET 0x0003FE00
+#define BF_PXP_CSC1_COEF0_UV_OFFSET(v) \
+       (((v) << 9) & BM_PXP_CSC1_COEF0_UV_OFFSET)
+#define BP_PXP_CSC1_COEF0_Y_OFFSET     0
+#define BM_PXP_CSC1_COEF0_Y_OFFSET 0x000001FF
+#define BF_PXP_CSC1_COEF0_Y_OFFSET(v)  \
+       (((v) << 0) & BM_PXP_CSC1_COEF0_Y_OFFSET)
+
+#define HW_PXP_CSC1_COEF1      (0x000001b0)
+
+#define BP_PXP_CSC1_COEF1_RSVD1      27
+#define BM_PXP_CSC1_COEF1_RSVD1 0xF8000000
+#define BF_PXP_CSC1_COEF1_RSVD1(v) \
+       (((v) << 27) & BM_PXP_CSC1_COEF1_RSVD1)
+#define BP_PXP_CSC1_COEF1_C1     16
+#define BM_PXP_CSC1_COEF1_C1 0x07FF0000
+#define BF_PXP_CSC1_COEF1_C1(v)  \
+       (((v) << 16) & BM_PXP_CSC1_COEF1_C1)
+#define BP_PXP_CSC1_COEF1_RSVD0      11
+#define BM_PXP_CSC1_COEF1_RSVD0 0x0000F800
+#define BF_PXP_CSC1_COEF1_RSVD0(v)  \
+       (((v) << 11) & BM_PXP_CSC1_COEF1_RSVD0)
+#define BP_PXP_CSC1_COEF1_C4     0
+#define BM_PXP_CSC1_COEF1_C4 0x000007FF
+#define BF_PXP_CSC1_COEF1_C4(v)  \
+       (((v) << 0) & BM_PXP_CSC1_COEF1_C4)
+
+#define HW_PXP_CSC1_COEF2      (0x000001c0)
+
+#define BP_PXP_CSC1_COEF2_RSVD1      27
+#define BM_PXP_CSC1_COEF2_RSVD1 0xF8000000
+#define BF_PXP_CSC1_COEF2_RSVD1(v) \
+       (((v) << 27) & BM_PXP_CSC1_COEF2_RSVD1)
+#define BP_PXP_CSC1_COEF2_C2     16
+#define BM_PXP_CSC1_COEF2_C2 0x07FF0000
+#define BF_PXP_CSC1_COEF2_C2(v)  \
+       (((v) << 16) & BM_PXP_CSC1_COEF2_C2)
+#define BP_PXP_CSC1_COEF2_RSVD0      11
+#define BM_PXP_CSC1_COEF2_RSVD0 0x0000F800
+#define BF_PXP_CSC1_COEF2_RSVD0(v)  \
+       (((v) << 11) & BM_PXP_CSC1_COEF2_RSVD0)
+#define BP_PXP_CSC1_COEF2_C3     0
+#define BM_PXP_CSC1_COEF2_C3 0x000007FF
+#define BF_PXP_CSC1_COEF2_C3(v)  \
+       (((v) << 0) & BM_PXP_CSC1_COEF2_C3)
+
+#define HW_PXP_CSC2_CTRL       (0x000001d0)
+
+#define BP_PXP_CSC2_CTRL_RSVD     3
+#define BM_PXP_CSC2_CTRL_RSVD 0xFFFFFFF8
+#define BF_PXP_CSC2_CTRL_RSVD(v) \
+       (((v) << 3) & BM_PXP_CSC2_CTRL_RSVD)
+#define BP_PXP_CSC2_CTRL_CSC_MODE      1
+#define BM_PXP_CSC2_CTRL_CSC_MODE 0x00000006
+#define BF_PXP_CSC2_CTRL_CSC_MODE(v)  \
+       (((v) << 1) & BM_PXP_CSC2_CTRL_CSC_MODE)
+#define BV_PXP_CSC2_CTRL_CSC_MODE__YUV2RGB   0x0
+#define BV_PXP_CSC2_CTRL_CSC_MODE__YCbCr2RGB 0x1
+#define BV_PXP_CSC2_CTRL_CSC_MODE__RGB2YUV   0x2
+#define BV_PXP_CSC2_CTRL_CSC_MODE__RGB2YCbCr 0x3
+#define BM_PXP_CSC2_CTRL_BYPASS 0x00000001
+
+#define HW_PXP_CSC2_COEF0      (0x000001e0)
+
+#define BP_PXP_CSC2_COEF0_RSVD1      27
+#define BM_PXP_CSC2_COEF0_RSVD1 0xF8000000
+#define BF_PXP_CSC2_COEF0_RSVD1(v) \
+       (((v) << 27) & BM_PXP_CSC2_COEF0_RSVD1)
+#define BP_PXP_CSC2_COEF0_A2     16
+#define BM_PXP_CSC2_COEF0_A2 0x07FF0000
+#define BF_PXP_CSC2_COEF0_A2(v)  \
+       (((v) << 16) & BM_PXP_CSC2_COEF0_A2)
+#define BP_PXP_CSC2_COEF0_RSVD0      11
+#define BM_PXP_CSC2_COEF0_RSVD0 0x0000F800
+#define BF_PXP_CSC2_COEF0_RSVD0(v)  \
+       (((v) << 11) & BM_PXP_CSC2_COEF0_RSVD0)
+#define BP_PXP_CSC2_COEF0_A1     0
+#define BM_PXP_CSC2_COEF0_A1 0x000007FF
+#define BF_PXP_CSC2_COEF0_A1(v)  \
+       (((v) << 0) & BM_PXP_CSC2_COEF0_A1)
+
+#define HW_PXP_CSC2_COEF1      (0x000001f0)
+
+#define BP_PXP_CSC2_COEF1_RSVD1      27
+#define BM_PXP_CSC2_COEF1_RSVD1 0xF8000000
+#define BF_PXP_CSC2_COEF1_RSVD1(v) \
+       (((v) << 27) & BM_PXP_CSC2_COEF1_RSVD1)
+#define BP_PXP_CSC2_COEF1_B1     16
+#define BM_PXP_CSC2_COEF1_B1 0x07FF0000
+#define BF_PXP_CSC2_COEF1_B1(v)  \
+       (((v) << 16) & BM_PXP_CSC2_COEF1_B1)
+#define BP_PXP_CSC2_COEF1_RSVD0      11
+#define BM_PXP_CSC2_COEF1_RSVD0 0x0000F800
+#define BF_PXP_CSC2_COEF1_RSVD0(v)  \
+       (((v) << 11) & BM_PXP_CSC2_COEF1_RSVD0)
+#define BP_PXP_CSC2_COEF1_A3     0
+#define BM_PXP_CSC2_COEF1_A3 0x000007FF
+#define BF_PXP_CSC2_COEF1_A3(v)  \
+       (((v) << 0) & BM_PXP_CSC2_COEF1_A3)
+
+#define HW_PXP_CSC2_COEF2      (0x00000200)
+
+#define BP_PXP_CSC2_COEF2_RSVD1      27
+#define BM_PXP_CSC2_COEF2_RSVD1 0xF8000000
+#define BF_PXP_CSC2_COEF2_RSVD1(v) \
+       (((v) << 27) & BM_PXP_CSC2_COEF2_RSVD1)
+#define BP_PXP_CSC2_COEF2_B3     16
+#define BM_PXP_CSC2_COEF2_B3 0x07FF0000
+#define BF_PXP_CSC2_COEF2_B3(v)  \
+       (((v) << 16) & BM_PXP_CSC2_COEF2_B3)
+#define BP_PXP_CSC2_COEF2_RSVD0      11
+#define BM_PXP_CSC2_COEF2_RSVD0 0x0000F800
+#define BF_PXP_CSC2_COEF2_RSVD0(v)  \
+       (((v) << 11) & BM_PXP_CSC2_COEF2_RSVD0)
+#define BP_PXP_CSC2_COEF2_B2     0
+#define BM_PXP_CSC2_COEF2_B2 0x000007FF
+#define BF_PXP_CSC2_COEF2_B2(v)  \
+       (((v) << 0) & BM_PXP_CSC2_COEF2_B2)
+
+#define HW_PXP_CSC2_COEF3      (0x00000210)
+
+#define BP_PXP_CSC2_COEF3_RSVD1      27
+#define BM_PXP_CSC2_COEF3_RSVD1 0xF8000000
+#define BF_PXP_CSC2_COEF3_RSVD1(v) \
+       (((v) << 27) & BM_PXP_CSC2_COEF3_RSVD1)
+#define BP_PXP_CSC2_COEF3_C2     16
+#define BM_PXP_CSC2_COEF3_C2 0x07FF0000
+#define BF_PXP_CSC2_COEF3_C2(v)  \
+       (((v) << 16) & BM_PXP_CSC2_COEF3_C2)
+#define BP_PXP_CSC2_COEF3_RSVD0      11
+#define BM_PXP_CSC2_COEF3_RSVD0 0x0000F800
+#define BF_PXP_CSC2_COEF3_RSVD0(v)  \
+       (((v) << 11) & BM_PXP_CSC2_COEF3_RSVD0)
+#define BP_PXP_CSC2_COEF3_C1     0
+#define BM_PXP_CSC2_COEF3_C1 0x000007FF
+#define BF_PXP_CSC2_COEF3_C1(v)  \
+       (((v) << 0) & BM_PXP_CSC2_COEF3_C1)
+
+#define HW_PXP_CSC2_COEF4      (0x00000220)
+
+#define BP_PXP_CSC2_COEF4_RSVD1      25
+#define BM_PXP_CSC2_COEF4_RSVD1 0xFE000000
+#define BF_PXP_CSC2_COEF4_RSVD1(v) \
+       (((v) << 25) & BM_PXP_CSC2_COEF4_RSVD1)
+#define BP_PXP_CSC2_COEF4_D1     16
+#define BM_PXP_CSC2_COEF4_D1 0x01FF0000
+#define BF_PXP_CSC2_COEF4_D1(v)  \
+       (((v) << 16) & BM_PXP_CSC2_COEF4_D1)
+#define BP_PXP_CSC2_COEF4_RSVD0      11
+#define BM_PXP_CSC2_COEF4_RSVD0 0x0000F800
+#define BF_PXP_CSC2_COEF4_RSVD0(v)  \
+       (((v) << 11) & BM_PXP_CSC2_COEF4_RSVD0)
+#define BP_PXP_CSC2_COEF4_C3     0
+#define BM_PXP_CSC2_COEF4_C3 0x000007FF
+#define BF_PXP_CSC2_COEF4_C3(v)  \
+       (((v) << 0) & BM_PXP_CSC2_COEF4_C3)
+
+#define HW_PXP_CSC2_COEF5      (0x00000230)
+
+#define BP_PXP_CSC2_COEF5_RSVD1      25
+#define BM_PXP_CSC2_COEF5_RSVD1 0xFE000000
+#define BF_PXP_CSC2_COEF5_RSVD1(v) \
+       (((v) << 25) & BM_PXP_CSC2_COEF5_RSVD1)
+#define BP_PXP_CSC2_COEF5_D3     16
+#define BM_PXP_CSC2_COEF5_D3 0x01FF0000
+#define BF_PXP_CSC2_COEF5_D3(v)  \
+       (((v) << 16) & BM_PXP_CSC2_COEF5_D3)
+#define BP_PXP_CSC2_COEF5_RSVD0      9
+#define BM_PXP_CSC2_COEF5_RSVD0 0x0000FE00
+#define BF_PXP_CSC2_COEF5_RSVD0(v)  \
+       (((v) << 9) & BM_PXP_CSC2_COEF5_RSVD0)
+#define BP_PXP_CSC2_COEF5_D2     0
+#define BM_PXP_CSC2_COEF5_D2 0x000001FF
+#define BF_PXP_CSC2_COEF5_D2(v)  \
+       (((v) << 0) & BM_PXP_CSC2_COEF5_D2)
+
+#define HW_PXP_LUT_CTRL        (0x00000240)
+
+#define BM_PXP_LUT_CTRL_BYPASS 0x80000000
+#define BP_PXP_LUT_CTRL_RSVD3     26
+#define BM_PXP_LUT_CTRL_RSVD3 0x7C000000
+#define BF_PXP_LUT_CTRL_RSVD3(v)  \
+       (((v) << 26) & BM_PXP_LUT_CTRL_RSVD3)
+#define BP_PXP_LUT_CTRL_LOOKUP_MODE     24
+#define BM_PXP_LUT_CTRL_LOOKUP_MODE 0x03000000
+#define BF_PXP_LUT_CTRL_LOOKUP_MODE(v) \
+       (((v) << 24) & BM_PXP_LUT_CTRL_LOOKUP_MODE)
+#define BV_PXP_LUT_CTRL_LOOKUP_MODE__CACHE_RGB565  0x0
+#define BV_PXP_LUT_CTRL_LOOKUP_MODE__DIRECT_Y8    0x1
+#define BV_PXP_LUT_CTRL_LOOKUP_MODE__DIRECT_RGB444 0x2
+#define BV_PXP_LUT_CTRL_LOOKUP_MODE__DIRECT_RGB454 0x3
+#define BP_PXP_LUT_CTRL_RSVD2     18
+#define BM_PXP_LUT_CTRL_RSVD2 0x00FC0000
+#define BF_PXP_LUT_CTRL_RSVD2(v)  \
+       (((v) << 18) & BM_PXP_LUT_CTRL_RSVD2)
+#define BP_PXP_LUT_CTRL_OUT_MODE      16
+#define BM_PXP_LUT_CTRL_OUT_MODE 0x00030000
+#define BF_PXP_LUT_CTRL_OUT_MODE(v)  \
+       (((v) << 16) & BM_PXP_LUT_CTRL_OUT_MODE)
+#define BV_PXP_LUT_CTRL_OUT_MODE__RESERVED    0x0
+#define BV_PXP_LUT_CTRL_OUT_MODE__Y8         0x1
+#define BV_PXP_LUT_CTRL_OUT_MODE__RGBW4444CFA 0x2
+#define BV_PXP_LUT_CTRL_OUT_MODE__RGB888      0x3
+#define BP_PXP_LUT_CTRL_RSVD1     11
+#define BM_PXP_LUT_CTRL_RSVD1 0x0000F800
+#define BF_PXP_LUT_CTRL_RSVD1(v)  \
+       (((v) << 11) & BM_PXP_LUT_CTRL_RSVD1)
+#define BM_PXP_LUT_CTRL_SEL_8KB 0x00000400
+#define BM_PXP_LUT_CTRL_LRU_UPD 0x00000200
+#define BM_PXP_LUT_CTRL_INVALID 0x00000100
+#define BP_PXP_LUT_CTRL_RSVD0     1
+#define BM_PXP_LUT_CTRL_RSVD0 0x000000FE
+#define BF_PXP_LUT_CTRL_RSVD0(v)  \
+       (((v) << 1) & BM_PXP_LUT_CTRL_RSVD0)
+#define BM_PXP_LUT_CTRL_DMA_START 0x00000001
+
+#define HW_PXP_LUT_ADDR        (0x00000250)
+
+#define BM_PXP_LUT_ADDR_RSVD2 0x80000000
+#define BP_PXP_LUT_ADDR_NUM_BYTES      16
+#define BM_PXP_LUT_ADDR_NUM_BYTES 0x7FFF0000
+#define BF_PXP_LUT_ADDR_NUM_BYTES(v)  \
+       (((v) << 16) & BM_PXP_LUT_ADDR_NUM_BYTES)
+#define BP_PXP_LUT_ADDR_RSVD1     14
+#define BM_PXP_LUT_ADDR_RSVD1 0x0000C000
+#define BF_PXP_LUT_ADDR_RSVD1(v)  \
+       (((v) << 14) & BM_PXP_LUT_ADDR_RSVD1)
+#define BP_PXP_LUT_ADDR_ADDR     0
+#define BM_PXP_LUT_ADDR_ADDR 0x00003FFF
+#define BF_PXP_LUT_ADDR_ADDR(v)  \
+       (((v) << 0) & BM_PXP_LUT_ADDR_ADDR)
+
+#define HW_PXP_LUT_DATA        (0x00000260)
+
+#define BP_PXP_LUT_DATA_DATA     0
+#define BM_PXP_LUT_DATA_DATA 0xFFFFFFFF
+#define BF_PXP_LUT_DATA_DATA(v)   (v)
+
+#define HW_PXP_LUT_EXTMEM      (0x00000270)
+
+#define BP_PXP_LUT_EXTMEM_ADDR     0
+#define BM_PXP_LUT_EXTMEM_ADDR 0xFFFFFFFF
+#define BF_PXP_LUT_EXTMEM_ADDR(v)   (v)
+
+#define HW_PXP_CFA     (0x00000280)
+
+#define BP_PXP_CFA_DATA      0
+#define BM_PXP_CFA_DATA 0xFFFFFFFF
+#define BF_PXP_CFA_DATA(v)   (v)
+
+#define HW_PXP_HIST_CTRL       (0x00000290)
+
+#define BP_PXP_HIST_CTRL_RSVD     6
+#define BM_PXP_HIST_CTRL_RSVD 0xFFFFFFC0
+#define BF_PXP_HIST_CTRL_RSVD(v) \
+       (((v) << 6) & BM_PXP_HIST_CTRL_RSVD)
+#define BP_PXP_HIST_CTRL_PANEL_MODE     4
+#define BM_PXP_HIST_CTRL_PANEL_MODE 0x00000030
+#define BF_PXP_HIST_CTRL_PANEL_MODE(v) \
+       (((v) << 4) & BM_PXP_HIST_CTRL_PANEL_MODE)
+#define BV_PXP_HIST_CTRL_PANEL_MODE__GRAY4  0x0
+#define BV_PXP_HIST_CTRL_PANEL_MODE__GRAY8  0x1
+#define BV_PXP_HIST_CTRL_PANEL_MODE__GRAY16 0x2
+#define BV_PXP_HIST_CTRL_PANEL_MODE__GRAY32 0x3
+#define BP_PXP_HIST_CTRL_STATUS      0
+#define BM_PXP_HIST_CTRL_STATUS 0x0000000F
+#define BF_PXP_HIST_CTRL_STATUS(v)  \
+       (((v) << 0) & BM_PXP_HIST_CTRL_STATUS)
+
+#define HW_PXP_HIST2_PARAM     (0x000002a0)
+
+#define BP_PXP_HIST2_PARAM_RSVD      16
+#define BM_PXP_HIST2_PARAM_RSVD 0xFFFF0000
+#define BF_PXP_HIST2_PARAM_RSVD(v) \
+       (((v) << 16) & BM_PXP_HIST2_PARAM_RSVD)
+#define BP_PXP_HIST2_PARAM_RSVD1      13
+#define BM_PXP_HIST2_PARAM_RSVD1 0x0000E000
+#define BF_PXP_HIST2_PARAM_RSVD1(v)  \
+       (((v) << 13) & BM_PXP_HIST2_PARAM_RSVD1)
+#define BP_PXP_HIST2_PARAM_VALUE1      8
+#define BM_PXP_HIST2_PARAM_VALUE1 0x00001F00
+#define BF_PXP_HIST2_PARAM_VALUE1(v)  \
+       (((v) << 8) & BM_PXP_HIST2_PARAM_VALUE1)
+#define BP_PXP_HIST2_PARAM_RSVD0      5
+#define BM_PXP_HIST2_PARAM_RSVD0 0x000000E0
+#define BF_PXP_HIST2_PARAM_RSVD0(v)  \
+       (((v) << 5) & BM_PXP_HIST2_PARAM_RSVD0)
+#define BP_PXP_HIST2_PARAM_VALUE0      0
+#define BM_PXP_HIST2_PARAM_VALUE0 0x0000001F
+#define BF_PXP_HIST2_PARAM_VALUE0(v)  \
+       (((v) << 0) & BM_PXP_HIST2_PARAM_VALUE0)
+
+#define HW_PXP_HIST4_PARAM     (0x000002b0)
+
+#define BP_PXP_HIST4_PARAM_RSVD3      29
+#define BM_PXP_HIST4_PARAM_RSVD3 0xE0000000
+#define BF_PXP_HIST4_PARAM_RSVD3(v) \
+       (((v) << 29) & BM_PXP_HIST4_PARAM_RSVD3)
+#define BP_PXP_HIST4_PARAM_VALUE3      24
+#define BM_PXP_HIST4_PARAM_VALUE3 0x1F000000
+#define BF_PXP_HIST4_PARAM_VALUE3(v)  \
+       (((v) << 24) & BM_PXP_HIST4_PARAM_VALUE3)
+#define BP_PXP_HIST4_PARAM_RSVD2      21
+#define BM_PXP_HIST4_PARAM_RSVD2 0x00E00000
+#define BF_PXP_HIST4_PARAM_RSVD2(v)  \
+       (((v) << 21) & BM_PXP_HIST4_PARAM_RSVD2)
+#define BP_PXP_HIST4_PARAM_VALUE2      16
+#define BM_PXP_HIST4_PARAM_VALUE2 0x001F0000
+#define BF_PXP_HIST4_PARAM_VALUE2(v)  \
+       (((v) << 16) & BM_PXP_HIST4_PARAM_VALUE2)
+#define BP_PXP_HIST4_PARAM_RSVD1      13
+#define BM_PXP_HIST4_PARAM_RSVD1 0x0000E000
+#define BF_PXP_HIST4_PARAM_RSVD1(v)  \
+       (((v) << 13) & BM_PXP_HIST4_PARAM_RSVD1)
+#define BP_PXP_HIST4_PARAM_VALUE1      8
+#define BM_PXP_HIST4_PARAM_VALUE1 0x00001F00
+#define BF_PXP_HIST4_PARAM_VALUE1(v)  \
+       (((v) << 8) & BM_PXP_HIST4_PARAM_VALUE1)
+#define BP_PXP_HIST4_PARAM_RSVD0      5
+#define BM_PXP_HIST4_PARAM_RSVD0 0x000000E0
+#define BF_PXP_HIST4_PARAM_RSVD0(v)  \
+       (((v) << 5) & BM_PXP_HIST4_PARAM_RSVD0)
+#define BP_PXP_HIST4_PARAM_VALUE0      0
+#define BM_PXP_HIST4_PARAM_VALUE0 0x0000001F
+#define BF_PXP_HIST4_PARAM_VALUE0(v)  \
+       (((v) << 0) & BM_PXP_HIST4_PARAM_VALUE0)
+
+#define HW_PXP_HIST8_PARAM0    (0x000002c0)
+
+#define BP_PXP_HIST8_PARAM0_RSVD3      29
+#define BM_PXP_HIST8_PARAM0_RSVD3 0xE0000000
+#define BF_PXP_HIST8_PARAM0_RSVD3(v) \
+       (((v) << 29) & BM_PXP_HIST8_PARAM0_RSVD3)
+#define BP_PXP_HIST8_PARAM0_VALUE3     24
+#define BM_PXP_HIST8_PARAM0_VALUE3 0x1F000000
+#define BF_PXP_HIST8_PARAM0_VALUE3(v)  \
+       (((v) << 24) & BM_PXP_HIST8_PARAM0_VALUE3)
+#define BP_PXP_HIST8_PARAM0_RSVD2      21
+#define BM_PXP_HIST8_PARAM0_RSVD2 0x00E00000
+#define BF_PXP_HIST8_PARAM0_RSVD2(v)  \
+       (((v) << 21) & BM_PXP_HIST8_PARAM0_RSVD2)
+#define BP_PXP_HIST8_PARAM0_VALUE2     16
+#define BM_PXP_HIST8_PARAM0_VALUE2 0x001F0000
+#define BF_PXP_HIST8_PARAM0_VALUE2(v)  \
+       (((v) << 16) & BM_PXP_HIST8_PARAM0_VALUE2)
+#define BP_PXP_HIST8_PARAM0_RSVD1      13
+#define BM_PXP_HIST8_PARAM0_RSVD1 0x0000E000
+#define BF_PXP_HIST8_PARAM0_RSVD1(v)  \
+       (((v) << 13) & BM_PXP_HIST8_PARAM0_RSVD1)
+#define BP_PXP_HIST8_PARAM0_VALUE1     8
+#define BM_PXP_HIST8_PARAM0_VALUE1 0x00001F00
+#define BF_PXP_HIST8_PARAM0_VALUE1(v)  \
+       (((v) << 8) & BM_PXP_HIST8_PARAM0_VALUE1)
+#define BP_PXP_HIST8_PARAM0_RSVD0      5
+#define BM_PXP_HIST8_PARAM0_RSVD0 0x000000E0
+#define BF_PXP_HIST8_PARAM0_RSVD0(v)  \
+       (((v) << 5) & BM_PXP_HIST8_PARAM0_RSVD0)
+#define BP_PXP_HIST8_PARAM0_VALUE0     0
+#define BM_PXP_HIST8_PARAM0_VALUE0 0x0000001F
+#define BF_PXP_HIST8_PARAM0_VALUE0(v)  \
+       (((v) << 0) & BM_PXP_HIST8_PARAM0_VALUE0)
+
+#define HW_PXP_HIST8_PARAM1    (0x000002d0)
+
+#define BP_PXP_HIST8_PARAM1_RSVD7      29
+#define BM_PXP_HIST8_PARAM1_RSVD7 0xE0000000
+#define BF_PXP_HIST8_PARAM1_RSVD7(v) \
+       (((v) << 29) & BM_PXP_HIST8_PARAM1_RSVD7)
+#define BP_PXP_HIST8_PARAM1_VALUE7     24
+#define BM_PXP_HIST8_PARAM1_VALUE7 0x1F000000
+#define BF_PXP_HIST8_PARAM1_VALUE7(v)  \
+       (((v) << 24) & BM_PXP_HIST8_PARAM1_VALUE7)
+#define BP_PXP_HIST8_PARAM1_RSVD6      21
+#define BM_PXP_HIST8_PARAM1_RSVD6 0x00E00000
+#define BF_PXP_HIST8_PARAM1_RSVD6(v)  \
+       (((v) << 21) & BM_PXP_HIST8_PARAM1_RSVD6)
+#define BP_PXP_HIST8_PARAM1_VALUE6     16
+#define BM_PXP_HIST8_PARAM1_VALUE6 0x001F0000
+#define BF_PXP_HIST8_PARAM1_VALUE6(v)  \
+       (((v) << 16) & BM_PXP_HIST8_PARAM1_VALUE6)
+#define BP_PXP_HIST8_PARAM1_RSVD5      13
+#define BM_PXP_HIST8_PARAM1_RSVD5 0x0000E000
+#define BF_PXP_HIST8_PARAM1_RSVD5(v)  \
+       (((v) << 13) & BM_PXP_HIST8_PARAM1_RSVD5)
+#define BP_PXP_HIST8_PARAM1_VALUE5     8
+#define BM_PXP_HIST8_PARAM1_VALUE5 0x00001F00
+#define BF_PXP_HIST8_PARAM1_VALUE5(v)  \
+       (((v) << 8) & BM_PXP_HIST8_PARAM1_VALUE5)
+#define BP_PXP_HIST8_PARAM1_RSVD4      5
+#define BM_PXP_HIST8_PARAM1_RSVD4 0x000000E0
+#define BF_PXP_HIST8_PARAM1_RSVD4(v)  \
+       (((v) << 5) & BM_PXP_HIST8_PARAM1_RSVD4)
+#define BP_PXP_HIST8_PARAM1_VALUE4     0
+#define BM_PXP_HIST8_PARAM1_VALUE4 0x0000001F
+#define BF_PXP_HIST8_PARAM1_VALUE4(v)  \
+       (((v) << 0) & BM_PXP_HIST8_PARAM1_VALUE4)
+
+#define HW_PXP_HIST16_PARAM0   (0x000002e0)
+
+#define BP_PXP_HIST16_PARAM0_RSVD3     29
+#define BM_PXP_HIST16_PARAM0_RSVD3 0xE0000000
+#define BF_PXP_HIST16_PARAM0_RSVD3(v) \
+       (((v) << 29) & BM_PXP_HIST16_PARAM0_RSVD3)
+#define BP_PXP_HIST16_PARAM0_VALUE3     24
+#define BM_PXP_HIST16_PARAM0_VALUE3 0x1F000000
+#define BF_PXP_HIST16_PARAM0_VALUE3(v) \
+       (((v) << 24) & BM_PXP_HIST16_PARAM0_VALUE3)
+#define BP_PXP_HIST16_PARAM0_RSVD2     21
+#define BM_PXP_HIST16_PARAM0_RSVD2 0x00E00000
+#define BF_PXP_HIST16_PARAM0_RSVD2(v)  \
+       (((v) << 21) & BM_PXP_HIST16_PARAM0_RSVD2)
+#define BP_PXP_HIST16_PARAM0_VALUE2     16
+#define BM_PXP_HIST16_PARAM0_VALUE2 0x001F0000
+#define BF_PXP_HIST16_PARAM0_VALUE2(v) \
+       (((v) << 16) & BM_PXP_HIST16_PARAM0_VALUE2)
+#define BP_PXP_HIST16_PARAM0_RSVD1     13
+#define BM_PXP_HIST16_PARAM0_RSVD1 0x0000E000
+#define BF_PXP_HIST16_PARAM0_RSVD1(v)  \
+       (((v) << 13) & BM_PXP_HIST16_PARAM0_RSVD1)
+#define BP_PXP_HIST16_PARAM0_VALUE1     8
+#define BM_PXP_HIST16_PARAM0_VALUE1 0x00001F00
+#define BF_PXP_HIST16_PARAM0_VALUE1(v) \
+       (((v) << 8) & BM_PXP_HIST16_PARAM0_VALUE1)
+#define BP_PXP_HIST16_PARAM0_RSVD0     5
+#define BM_PXP_HIST16_PARAM0_RSVD0 0x000000E0
+#define BF_PXP_HIST16_PARAM0_RSVD0(v)  \
+       (((v) << 5) & BM_PXP_HIST16_PARAM0_RSVD0)
+#define BP_PXP_HIST16_PARAM0_VALUE0     0
+#define BM_PXP_HIST16_PARAM0_VALUE0 0x0000001F
+#define BF_PXP_HIST16_PARAM0_VALUE0(v) \
+       (((v) << 0) & BM_PXP_HIST16_PARAM0_VALUE0)
+
+#define HW_PXP_HIST16_PARAM1   (0x000002f0)
+
+#define BP_PXP_HIST16_PARAM1_RSVD7     29
+#define BM_PXP_HIST16_PARAM1_RSVD7 0xE0000000
+#define BF_PXP_HIST16_PARAM1_RSVD7(v) \
+       (((v) << 29) & BM_PXP_HIST16_PARAM1_RSVD7)
+#define BP_PXP_HIST16_PARAM1_VALUE7     24
+#define BM_PXP_HIST16_PARAM1_VALUE7 0x1F000000
+#define BF_PXP_HIST16_PARAM1_VALUE7(v) \
+       (((v) << 24) & BM_PXP_HIST16_PARAM1_VALUE7)
+#define BP_PXP_HIST16_PARAM1_RSVD6     21
+#define BM_PXP_HIST16_PARAM1_RSVD6 0x00E00000
+#define BF_PXP_HIST16_PARAM1_RSVD6(v)  \
+       (((v) << 21) & BM_PXP_HIST16_PARAM1_RSVD6)
+#define BP_PXP_HIST16_PARAM1_VALUE6     16
+#define BM_PXP_HIST16_PARAM1_VALUE6 0x001F0000
+#define BF_PXP_HIST16_PARAM1_VALUE6(v) \
+       (((v) << 16) & BM_PXP_HIST16_PARAM1_VALUE6)
+#define BP_PXP_HIST16_PARAM1_RSVD5     13
+#define BM_PXP_HIST16_PARAM1_RSVD5 0x0000E000
+#define BF_PXP_HIST16_PARAM1_RSVD5(v)  \
+       (((v) << 13) & BM_PXP_HIST16_PARAM1_RSVD5)
+#define BP_PXP_HIST16_PARAM1_VALUE5     8
+#define BM_PXP_HIST16_PARAM1_VALUE5 0x00001F00
+#define BF_PXP_HIST16_PARAM1_VALUE5(v) \
+       (((v) << 8) & BM_PXP_HIST16_PARAM1_VALUE5)
+#define BP_PXP_HIST16_PARAM1_RSVD4     5
+#define BM_PXP_HIST16_PARAM1_RSVD4 0x000000E0
+#define BF_PXP_HIST16_PARAM1_RSVD4(v)  \
+       (((v) << 5) & BM_PXP_HIST16_PARAM1_RSVD4)
+#define BP_PXP_HIST16_PARAM1_VALUE4     0
+#define BM_PXP_HIST16_PARAM1_VALUE4 0x0000001F
+#define BF_PXP_HIST16_PARAM1_VALUE4(v) \
+       (((v) << 0) & BM_PXP_HIST16_PARAM1_VALUE4)
+
+#define HW_PXP_HIST16_PARAM2   (0x00000300)
+
+#define BP_PXP_HIST16_PARAM2_RSVD11     29
+#define BM_PXP_HIST16_PARAM2_RSVD11 0xE0000000
+#define BF_PXP_HIST16_PARAM2_RSVD11(v) \
+       (((v) << 29) & BM_PXP_HIST16_PARAM2_RSVD11)
+#define BP_PXP_HIST16_PARAM2_VALUE11     24
+#define BM_PXP_HIST16_PARAM2_VALUE11 0x1F000000
+#define BF_PXP_HIST16_PARAM2_VALUE11(v)  \
+       (((v) << 24) & BM_PXP_HIST16_PARAM2_VALUE11)
+#define BP_PXP_HIST16_PARAM2_RSVD10     21
+#define BM_PXP_HIST16_PARAM2_RSVD10 0x00E00000
+#define BF_PXP_HIST16_PARAM2_RSVD10(v) \
+       (((v) << 21) & BM_PXP_HIST16_PARAM2_RSVD10)
+#define BP_PXP_HIST16_PARAM2_VALUE10     16
+#define BM_PXP_HIST16_PARAM2_VALUE10 0x001F0000
+#define BF_PXP_HIST16_PARAM2_VALUE10(v)  \
+       (((v) << 16) & BM_PXP_HIST16_PARAM2_VALUE10)
+#define BP_PXP_HIST16_PARAM2_RSVD9     13
+#define BM_PXP_HIST16_PARAM2_RSVD9 0x0000E000
+#define BF_PXP_HIST16_PARAM2_RSVD9(v)  \
+       (((v) << 13) & BM_PXP_HIST16_PARAM2_RSVD9)
+#define BP_PXP_HIST16_PARAM2_VALUE9     8
+#define BM_PXP_HIST16_PARAM2_VALUE9 0x00001F00
+#define BF_PXP_HIST16_PARAM2_VALUE9(v) \
+       (((v) << 8) & BM_PXP_HIST16_PARAM2_VALUE9)
+#define BP_PXP_HIST16_PARAM2_RSVD8     5
+#define BM_PXP_HIST16_PARAM2_RSVD8 0x000000E0
+#define BF_PXP_HIST16_PARAM2_RSVD8(v)  \
+       (((v) << 5) & BM_PXP_HIST16_PARAM2_RSVD8)
+#define BP_PXP_HIST16_PARAM2_VALUE8     0
+#define BM_PXP_HIST16_PARAM2_VALUE8 0x0000001F
+#define BF_PXP_HIST16_PARAM2_VALUE8(v) \
+       (((v) << 0) & BM_PXP_HIST16_PARAM2_VALUE8)
+
+#define HW_PXP_HIST16_PARAM3   (0x00000310)
+
+#define BP_PXP_HIST16_PARAM3_RSVD15     29
+#define BM_PXP_HIST16_PARAM3_RSVD15 0xE0000000
+#define BF_PXP_HIST16_PARAM3_RSVD15(v) \
+       (((v) << 29) & BM_PXP_HIST16_PARAM3_RSVD15)
+#define BP_PXP_HIST16_PARAM3_VALUE15     24
+#define BM_PXP_HIST16_PARAM3_VALUE15 0x1F000000
+#define BF_PXP_HIST16_PARAM3_VALUE15(v)  \
+       (((v) << 24) & BM_PXP_HIST16_PARAM3_VALUE15)
+#define BP_PXP_HIST16_PARAM3_RSVD14     21
+#define BM_PXP_HIST16_PARAM3_RSVD14 0x00E00000
+#define BF_PXP_HIST16_PARAM3_RSVD14(v) \
+       (((v) << 21) & BM_PXP_HIST16_PARAM3_RSVD14)
+#define BP_PXP_HIST16_PARAM3_VALUE14     16
+#define BM_PXP_HIST16_PARAM3_VALUE14 0x001F0000
+#define BF_PXP_HIST16_PARAM3_VALUE14(v)  \
+       (((v) << 16) & BM_PXP_HIST16_PARAM3_VALUE14)
+#define BP_PXP_HIST16_PARAM3_RSVD13     13
+#define BM_PXP_HIST16_PARAM3_RSVD13 0x0000E000
+#define BF_PXP_HIST16_PARAM3_RSVD13(v) \
+       (((v) << 13) & BM_PXP_HIST16_PARAM3_RSVD13)
+#define BP_PXP_HIST16_PARAM3_VALUE13     8
+#define BM_PXP_HIST16_PARAM3_VALUE13 0x00001F00
+#define BF_PXP_HIST16_PARAM3_VALUE13(v)  \
+       (((v) << 8) & BM_PXP_HIST16_PARAM3_VALUE13)
+#define BP_PXP_HIST16_PARAM3_RSVD12     5
+#define BM_PXP_HIST16_PARAM3_RSVD12 0x000000E0
+#define BF_PXP_HIST16_PARAM3_RSVD12(v) \
+       (((v) << 5) & BM_PXP_HIST16_PARAM3_RSVD12)
+#define BP_PXP_HIST16_PARAM3_VALUE12     0
+#define BM_PXP_HIST16_PARAM3_VALUE12 0x0000001F
+#define BF_PXP_HIST16_PARAM3_VALUE12(v)  \
+       (((v) << 0) & BM_PXP_HIST16_PARAM3_VALUE12)
+
+#define HW_PXP_POWER   (0x00000320)
+
+#define BP_PXP_POWER_CTRL      12
+#define BM_PXP_POWER_CTRL 0xFFFFF000
+#define BF_PXP_POWER_CTRL(v) \
+       (((v) << 12) & BM_PXP_POWER_CTRL)
+#define BP_PXP_POWER_ROT_MEM_LP_STATE     9
+#define BM_PXP_POWER_ROT_MEM_LP_STATE 0x00000E00
+#define BF_PXP_POWER_ROT_MEM_LP_STATE(v)  \
+       (((v) << 9) & BM_PXP_POWER_ROT_MEM_LP_STATE)
+#define BV_PXP_POWER_ROT_MEM_LP_STATE__NONE 0x0
+#define BV_PXP_POWER_ROT_MEM_LP_STATE__LS   0x1
+#define BV_PXP_POWER_ROT_MEM_LP_STATE__DS   0x2
+#define BV_PXP_POWER_ROT_MEM_LP_STATE__SD   0x4
+#define BP_PXP_POWER_LUT_LP_STATE_WAY1_BANKN     6
+#define BM_PXP_POWER_LUT_LP_STATE_WAY1_BANKN 0x000001C0
+#define BF_PXP_POWER_LUT_LP_STATE_WAY1_BANKN(v)  \
+       (((v) << 6) & BM_PXP_POWER_LUT_LP_STATE_WAY1_BANKN)
+#define BV_PXP_POWER_LUT_LP_STATE_WAY1_BANKN__NONE 0x0
+#define BV_PXP_POWER_LUT_LP_STATE_WAY1_BANKN__LS   0x1
+#define BV_PXP_POWER_LUT_LP_STATE_WAY1_BANKN__DS   0x2
+#define BV_PXP_POWER_LUT_LP_STATE_WAY1_BANKN__SD   0x4
+#define BP_PXP_POWER_LUT_LP_STATE_WAY0_BANKN     3
+#define BM_PXP_POWER_LUT_LP_STATE_WAY0_BANKN 0x00000038
+#define BF_PXP_POWER_LUT_LP_STATE_WAY0_BANKN(v)  \
+       (((v) << 3) & BM_PXP_POWER_LUT_LP_STATE_WAY0_BANKN)
+#define BV_PXP_POWER_LUT_LP_STATE_WAY0_BANKN__NONE 0x0
+#define BV_PXP_POWER_LUT_LP_STATE_WAY0_BANKN__LS   0x1
+#define BV_PXP_POWER_LUT_LP_STATE_WAY0_BANKN__DS   0x2
+#define BV_PXP_POWER_LUT_LP_STATE_WAY0_BANKN__SD   0x4
+#define BP_PXP_POWER_LUT_LP_STATE_WAY0_BANK0     0
+#define BM_PXP_POWER_LUT_LP_STATE_WAY0_BANK0 0x00000007
+#define BF_PXP_POWER_LUT_LP_STATE_WAY0_BANK0(v)  \
+       (((v) << 0) & BM_PXP_POWER_LUT_LP_STATE_WAY0_BANK0)
+#define BV_PXP_POWER_LUT_LP_STATE_WAY0_BANK0__NONE 0x0
+#define BV_PXP_POWER_LUT_LP_STATE_WAY0_BANK0__LS   0x1
+#define BV_PXP_POWER_LUT_LP_STATE_WAY0_BANK0__DS   0x2
+#define BV_PXP_POWER_LUT_LP_STATE_WAY0_BANK0__SD   0x4
+
+#define HW_PXP_NEXT    (0x00000400)
+
+#define BP_PXP_NEXT_POINTER     2
+#define BM_PXP_NEXT_POINTER 0xFFFFFFFC
+#define BF_PXP_NEXT_POINTER(v) \
+       (((v) << 2) & BM_PXP_NEXT_POINTER)
+#define BM_PXP_NEXT_RSVD 0x00000002
+#define BM_PXP_NEXT_ENABLED 0x00000001
+
+#define HW_PXP_DEBUGCTRL       (0x00000410)
+
+#define BP_PXP_DEBUGCTRL_RSVD     12
+#define BM_PXP_DEBUGCTRL_RSVD 0xFFFFF000
+#define BF_PXP_DEBUGCTRL_RSVD(v) \
+       (((v) << 12) & BM_PXP_DEBUGCTRL_RSVD)
+#define BP_PXP_DEBUGCTRL_LUT_CLR_STAT_CNT      8
+#define BM_PXP_DEBUGCTRL_LUT_CLR_STAT_CNT 0x00000F00
+#define BF_PXP_DEBUGCTRL_LUT_CLR_STAT_CNT(v)  \
+       (((v) << 8) & BM_PXP_DEBUGCTRL_LUT_CLR_STAT_CNT)
+#define BV_PXP_DEBUGCTRL_LUT_CLR_STAT_CNT__NONE     0x0
+#define BV_PXP_DEBUGCTRL_LUT_CLR_STAT_CNT__MISS_CNT 0x1
+#define BV_PXP_DEBUGCTRL_LUT_CLR_STAT_CNT__HIT_CNT  0x2
+#define BV_PXP_DEBUGCTRL_LUT_CLR_STAT_CNT__LAT_CNT  0x4
+#define BV_PXP_DEBUGCTRL_LUT_CLR_STAT_CNT__MAX_LAT  0x8
+#define BP_PXP_DEBUGCTRL_SELECT      0
+#define BM_PXP_DEBUGCTRL_SELECT 0x000000FF
+#define BF_PXP_DEBUGCTRL_SELECT(v)  \
+       (((v) << 0) & BM_PXP_DEBUGCTRL_SELECT)
+#define BV_PXP_DEBUGCTRL_SELECT__NONE       0x0
+#define BV_PXP_DEBUGCTRL_SELECT__CTRL       0x1
+#define BV_PXP_DEBUGCTRL_SELECT__PSBUF      0x2
+#define BV_PXP_DEBUGCTRL_SELECT__PSBAX      0x3
+#define BV_PXP_DEBUGCTRL_SELECT__PSBAY      0x4
+#define BV_PXP_DEBUGCTRL_SELECT__ASBUF      0x5
+#define BV_PXP_DEBUGCTRL_SELECT__ROTATION    0x6
+#define BV_PXP_DEBUGCTRL_SELECT__OUTBUF0     0x7
+#define BV_PXP_DEBUGCTRL_SELECT__OUTBUF1     0x8
+#define BV_PXP_DEBUGCTRL_SELECT__OUTBUF2     0x9
+#define BV_PXP_DEBUGCTRL_SELECT__LUT_STAT    0x10
+#define BV_PXP_DEBUGCTRL_SELECT__LUT_MISS    0x11
+#define BV_PXP_DEBUGCTRL_SELECT__LUT_HIT     0x12
+#define BV_PXP_DEBUGCTRL_SELECT__LUT_LAT     0x13
+#define BV_PXP_DEBUGCTRL_SELECT__LUT_MAX_LAT 0x14
+
+#define HW_PXP_DEBUG   (0x00000420)
+
+#define BP_PXP_DEBUG_DATA      0
+#define BM_PXP_DEBUG_DATA 0xFFFFFFFF
+#define BF_PXP_DEBUG_DATA(v)   (v)
+
+#define HW_PXP_VERSION (0x00000430)
+
+#define BP_PXP_VERSION_MAJOR     24
+#define BM_PXP_VERSION_MAJOR 0xFF000000
+#define BF_PXP_VERSION_MAJOR(v) \
+       (((v) << 24) & BM_PXP_VERSION_MAJOR)
+#define BP_PXP_VERSION_MINOR     16
+#define BM_PXP_VERSION_MINOR 0x00FF0000
+#define BF_PXP_VERSION_MINOR(v)  \
+       (((v) << 16) & BM_PXP_VERSION_MINOR)
+#define BP_PXP_VERSION_STEP     0
+#define BM_PXP_VERSION_STEP 0x0000FFFF
+#define BF_PXP_VERSION_STEP(v) \
+       (((v) << 0) & BM_PXP_VERSION_STEP)
+#endif /* __ARCH_ARM___PXP_H */
index f5120046ff800a5433df4d52bce57ff589286ddf..e902f75c035ddc82dbff8a1da87f05c91a51bb43 100644 (file)
@@ -168,6 +168,13 @@ config DRM_SAVAGE
          Choose this option if you have a Savage3D/4/SuperSavage/Pro/Twister
          chipset. If M is selected the module will be called savage.
 
+config DRM_VIVANTE
+       tristate "Vivante GCCore"
+       depends on DRM
+       help
+         Choose this option if you have a Vivante graphics card.
+         If M is selected, the module will be called vivante.
+
 source "drivers/gpu/drm/exynos/Kconfig"
 
 source "drivers/gpu/drm/vmwgfx/Kconfig"
index dd2ba4269740f563ac29eecadbe62b40bf55ade3..63185c88c81ff484e400e57f496dcf3c0b5a82b7 100644 (file)
@@ -37,6 +37,7 @@ obj-$(CONFIG_DRM)     += drm.o
 obj-$(CONFIG_DRM_MIPI_DSI) += drm_mipi_dsi.o
 obj-$(CONFIG_DRM_USB)   += drm_usb.o
 obj-$(CONFIG_DRM_TTM)  += ttm/
+obj-$(CONFIG_DRM_VIVANTE)      += vivante/
 obj-$(CONFIG_DRM_TDFX) += tdfx/
 obj-$(CONFIG_DRM_R128) += r128/
 obj-$(CONFIG_DRM_RADEON)+= radeon/
diff --git a/drivers/gpu/drm/vivante/Makefile b/drivers/gpu/drm/vivante/Makefile
new file mode 100644 (file)
index 0000000..d87c8e8
--- /dev/null
@@ -0,0 +1,29 @@
+##############################################################################
+#
+#    Copyright (C) 2005 - 2013 by Vivante Corp.
+#
+#    This program is free software; you can redistribute it and/or modify
+#    it under the terms of the GNU General Public License as published by
+#    the Free Software Foundation; either version 2 of the license, or
+#    (at your option) any later version.
+#
+#    This program is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+#    GNU General Public License for more details.
+#
+#    You should have received a copy of the GNU General Public License
+#    along with this program; if not write to the Free Software
+#    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+#
+##############################################################################
+
+
+#
+# Makefile for the drm device driver.  This driver provides support for the
+# Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher.
+
+ccflags-y := -Iinclude/drm
+vivante-y := vivante_drv.o
+
+obj-$(CONFIG_DRM_VIVANTE)      += vivante.o
diff --git a/drivers/gpu/drm/vivante/vivante_drv.c b/drivers/gpu/drm/vivante/vivante_drv.c
new file mode 100644 (file)
index 0000000..b370fd8
--- /dev/null
@@ -0,0 +1,109 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+/* vivante_drv.c -- vivante driver -*- linux-c -*-
+ *
+ *
+ * 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 (including the next
+ * paragraph) 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
+ * PRECISION INSIGHT AND/OR ITS SUPPLIERS 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.
+ *
+ * Authors:
+ *    Rickard E. (Rik) Faith <faith@valinux.com>
+ *    Daryll Strauss <daryll@valinux.com>
+ *    Gareth Hughes <gareth@valinux.com>
+ */
+
+#include <linux/version.h>
+#include <linux/module.h>
+
+#include "drmP.h"
+#include "vivante_drv.h"
+
+#include "drm_pciids.h"
+
+static char platformdevicename[] = "Vivante GCCore";
+static struct platform_device *pplatformdev;
+
+static const struct file_operations viv_driver_fops = {
+       .owner = THIS_MODULE,
+       .open = drm_open,
+       .release = drm_release,
+       .unlocked_ioctl = drm_ioctl,
+       .mmap = drm_mmap,
+       .poll = drm_poll,
+       .llseek = noop_llseek,
+};
+
+static struct drm_driver driver = {
+       .fops = &viv_driver_fops,
+       .name = DRIVER_NAME,
+       .desc = DRIVER_DESC,
+       .date = DRIVER_DATE,
+       .major = DRIVER_MAJOR,
+       .minor = DRIVER_MINOR,
+       .patchlevel = DRIVER_PATCHLEVEL,
+};
+
+static int __init vivante_init(void)
+{
+       int retcode;
+
+       pplatformdev = platform_device_register_simple(platformdevicename,
+                       -1, NULL, 0);
+       if (pplatformdev == NULL)
+               printk(KERN_ERR"Platform device is null\n");
+
+       retcode = drm_platform_init(&driver, pplatformdev);
+
+       return retcode;
+}
+
+static void __exit vivante_exit(void)
+{
+       if (pplatformdev) {
+               drm_put_dev(platform_get_drvdata(pplatformdev));
+               platform_device_unregister(pplatformdev);
+               pplatformdev = NULL;
+       }
+}
+
+module_init(vivante_init);
+module_exit(vivante_exit);
+
+MODULE_AUTHOR(DRIVER_AUTHOR);
+MODULE_DESCRIPTION(DRIVER_DESC);
+MODULE_LICENSE("GPL and additional rights");
diff --git a/drivers/gpu/drm/vivante/vivante_drv.h b/drivers/gpu/drm/vivante/vivante_drv.h
new file mode 100644 (file)
index 0000000..03f5884
--- /dev/null
@@ -0,0 +1,66 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+/* vivante_drv.h -- Vivante DRM template customization -*- linux-c -*-
+ * Created: Wed Feb 14 12:32:32 2012 by John Zhao
+ */
+/*
+ *
+ * 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 (including the next
+ * paragraph) 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
+ * VA LINUX SYSTEMS AND/OR ITS SUPPLIERS 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.
+ *
+ * Authors:
+ *    Gareth Hughes <gareth@valinux.com>
+ */
+
+#ifndef __VIVANTE_DRV_H__
+#define __VIVANTE_DRV_H__
+
+/* General customization:
+ */
+
+#define DRIVER_AUTHOR          "Vivante Inc."
+
+#define DRIVER_NAME            "vivante"
+#define DRIVER_DESC            "Vivante GCCore"
+#define DRIVER_DATE            "20120216"
+
+#define DRIVER_MAJOR           1
+#define DRIVER_MINOR           0
+#define DRIVER_PATCHLEVEL      0
+
+#endif
index 8c98e97f8e41144a08c53e4c5ee1eefca9ebfb0f..675dbf8d3aa35ad909dd8007c6d35e887ac8deab 100644 (file)
@@ -3,6 +3,7 @@
  *
  * Copyright 2005 Phil Blundell
  * Copyright 2010, 2011 David Jander <david@protonic.nl>
+ * Copyright (C) 2013 Freescale Semiconductor, Inc.
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
@@ -485,6 +486,8 @@ static int gpio_keys_setup_key(struct platform_device *pdev,
 
                isr = gpio_keys_gpio_isr;
                irqflags = IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING;
+               if (bdata->button->wakeup)
+                       irqflags |= IRQF_NO_SUSPEND;
 
        } else {
                if (!button->irq) {
index 8280cb16260be6f31840480ca3fd19a64bfffa1c..3d4cf952075e44249ad640b84f3af2ec43e9aae3 100644 (file)
@@ -1,6 +1,7 @@
 /*
  * Driver for the IMX keypad port.
  * Copyright (C) 2009 Alberto Panizzo <maramaopercheseimorto@gmail.com>
+ * Copyright (C) 2013 Freescale Semiconductor, Inc.
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
@@ -548,6 +549,8 @@ static int imx_kbd_suspend(struct device *dev)
 
        if (device_may_wakeup(&pdev->dev))
                enable_irq_wake(kbd->irq);
+       else
+               pinctrl_pm_select_sleep_state(dev);
 
        return 0;
 }
@@ -561,6 +564,8 @@ static int imx_kbd_resume(struct device *dev)
 
        if (device_may_wakeup(&pdev->dev))
                disable_irq_wake(kbd->irq);
+       else
+               pinctrl_pm_select_default_state(dev);
 
        mutex_lock(&input_dev->mutex);
 
index 59d4dcddf6de0cf4d1c5384c977a36c319d66389..9b084052aab00e5975dc0dcca3378b9b608c06a5 100644 (file)
@@ -1,7 +1,7 @@
 /*
  *  Driver for Freescale's 3-Axis Accelerometer MMA8450
  *
- *  Copyright (C) 2011 Freescale Semiconductor, Inc. All Rights Reserved.
+ *  Copyright (C) 2011-2013 Freescale Semiconductor, Inc. All Rights Reserved.
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
@@ -51,6 +51,8 @@
 
 #define MMA8450_CTRL_REG1      0x38
 #define MMA8450_CTRL_REG2      0x39
+#define MMA8450_ID             0xC6
+#define MMA8450_WHO_AM_I       0x0F
 
 /* mma8450 status */
 struct mma8450 {
@@ -172,7 +174,25 @@ static int mma8450_probe(struct i2c_client *c,
 {
        struct input_polled_dev *idev;
        struct mma8450 *m;
-       int err;
+       int err, client_id;
+       struct i2c_adapter *adapter = NULL;
+
+       adapter = to_i2c_adapter(c->dev.parent);
+       err = i2c_check_functionality(adapter,
+                                        I2C_FUNC_SMBUS_BYTE |
+                                        I2C_FUNC_SMBUS_BYTE_DATA);
+       if (!err)
+               goto err_out;
+
+       client_id = i2c_smbus_read_byte_data(c, MMA8450_WHO_AM_I);
+
+       if (MMA8450_ID != client_id) {
+               dev_err(&c->dev,
+                       "read chip ID 0x%x is not equal to 0x%x!\n", client_id,
+                       MMA8450_ID);
+               err = -EINVAL;
+               goto err_out;
+       }
 
        m = kzalloc(sizeof(struct mma8450), GFP_KERNEL);
        idev = input_allocate_polled_device();
@@ -211,6 +231,7 @@ static int mma8450_probe(struct i2c_client *c,
 err_free_mem:
        input_free_polled_device(idev);
        kfree(m);
+err_out:
        return err;
 }
 
index 8108c698b5483c9250ec532f33af815b453aae1e..d60580fb9225cc5959c171beaa2203e982f04bfb 100644 (file)
@@ -117,6 +117,21 @@ config VIDEO_S3C_CAMIF
          To compile this driver as a module, choose M here: the module
          will be called s3c-camif.
 
+config VIDEO_MXC_OUTPUT
+        tristate "MXC Video For Linux Video Output"
+        depends on VIDEO_DEV && ARCH_MXC && FB_MXC
+        select VIDEOBUF_DMA_CONTIG
+        ---help---
+        This is the video4linux2 output driver based on MXC module.
+
+config VIDEO_MXC_CAPTURE
+       tristate "MXC Video For Linux Video Capture"
+       depends on VIDEO_V4L2 && VIDEO_V4L2_INT_DEVICE
+       ---help---
+         This is the video4linux2 capture driver based on i.MX video-in module.
+
+source "drivers/media/platform/mxc/capture/Kconfig"
+source "drivers/media/platform/mxc/output/Kconfig"
 source "drivers/media/platform/soc_camera/Kconfig"
 source "drivers/media/platform/exynos4-is/Kconfig"
 source "drivers/media/platform/s5p-tv/Kconfig"
index e5269da91906bd0dea8760e361bb1d599d48b626..094a575bb2f38360cced642d1a2b122d1118403a 100644 (file)
@@ -51,4 +51,7 @@ obj-y += davinci/
 
 obj-$(CONFIG_ARCH_OMAP)        += omap/
 
+obj-$(CONFIG_VIDEO_MXC_CAPTURE)        += mxc/capture/
+obj-$(CONFIG_VIDEO_MXC_OUTPUT) += mxc/output/
+
 ccflags-y += -I$(srctree)/drivers/media/i2c
diff --git a/drivers/media/platform/mxc/capture/Kconfig b/drivers/media/platform/mxc/capture/Kconfig
new file mode 100644 (file)
index 0000000..cee7aa3
--- /dev/null
@@ -0,0 +1,86 @@
+if VIDEO_MXC_CAPTURE
+
+menu "MXC Camera/V4L2 PRP Features support"
+config VIDEO_MXC_IPU_CAMERA
+       bool
+       depends on VIDEO_MXC_CAPTURE && MXC_IPU
+       default y
+
+config VIDEO_MXC_CSI_CAMERA
+       tristate "CSI camera support"
+       depends on VIDEO_MXC_CAPTURE && VIDEO_V4L2
+       ---help---
+         This is the video4linux2 capture driver based on CSI module.
+
+config MXC_CAMERA_OV5640
+        tristate "OmniVision ov5640 camera support"
+        depends on !VIDEO_MXC_EMMA_CAMERA && I2C
+        ---help---
+          If you plan to use the ov5640 Camera with your MXC system, say Y here.
+
+config MXC_CAMERA_OV5642
+       tristate "OmniVision ov5642 camera support"
+       depends on !VIDEO_MXC_EMMA_CAMERA && I2C
+       ---help---
+         If you plan to use the ov5642 Camera with your MXC system, say Y here.
+
+config MXC_CAMERA_OV5640_MIPI
+       tristate "OmniVision ov5640 camera support using mipi"
+       depends on !VIDEO_MXC_EMMA_CAMERA && I2C
+       ---help---
+         If you plan to use the ov5640 Camera with mipi interface in your MXC system, say Y here.
+
+config MXC_TVIN_ADV7180
+       tristate "Analog Device adv7180 TV Decoder Input support"
+       depends on !VIDEO_MXC_EMMA_CAMERA && I2C
+       ---help---
+         If you plan to use the adv7180 video decoder with your MXC system, say Y here.
+
+choice
+       prompt "Select Overlay Rounting"
+       default MXC_IPU_DEVICE_QUEUE_SDC
+       depends on VIDEO_MXC_IPU_CAMERA && FB_MXC_SYNC_PANEL
+
+config MXC_IPU_DEVICE_QUEUE_SDC
+       tristate "Queue ipu device for overlay library"
+       depends on VIDEO_MXC_IPU_CAMERA
+       ---help---
+         Use case CSI->MEM->IPU DEVICE->SDC:
+               Images from sensor will be frist recieved in memory,then
+               queue to ipu device for processing if needed, and displaying
+               it on synchronous display with SDC use case.
+
+config MXC_IPU_PRP_VF_SDC
+       bool "Pre-Processor VF SDC library"
+       depends on VIDEO_MXC_IPU_CAMERA
+       ---help---
+         Use case PRP_VF_SDC:
+               Preprocessing image from smart sensor for viewfinder and
+               displaying it on synchronous display with SDC use case.
+               If SDC BG is selected, Rotation will not be supported.
+               CSI -> IC (PRP VF) -> MEM
+               MEM -> IC (ROT) -> MEM
+               MEM -> SDC (FG/BG)
+
+endchoice
+
+config MXC_IPU_PRP_ENC
+       tristate "Pre-processor Encoder library"
+       depends on VIDEO_MXC_IPU_CAMERA
+       default y
+       ---help---
+         Use case PRP_ENC:
+               Preprocessing image from smart sensor for encoder.
+               CSI -> IC (PRP ENC) -> MEM
+
+config MXC_IPU_CSI_ENC
+       tristate "IPU CSI Encoder library"
+       depends on VIDEO_MXC_IPU_CAMERA
+       default y
+       ---help---
+         Use case IPU_CSI_ENC:
+               Get raw image with CSI from smart sensor for encoder.
+               CSI -> MEM
+endmenu
+
+endif
diff --git a/drivers/media/platform/mxc/capture/Makefile b/drivers/media/platform/mxc/capture/Makefile
new file mode 100644 (file)
index 0000000..4303c0a
--- /dev/null
@@ -0,0 +1,21 @@
+obj-$(CONFIG_VIDEO_MXC_CSI_CAMERA)     += fsl_csi.o csi_v4l2_capture.o
+
+ifeq ($(CONFIG_VIDEO_MXC_IPU_CAMERA),y)
+       obj-$(CONFIG_VIDEO_MXC_CAPTURE) += mxc_v4l2_capture.o
+       obj-$(CONFIG_MXC_IPU_PRP_VF_SDC) += ipu_prp_vf_sdc.o ipu_prp_vf_sdc_bg.o
+       obj-$(CONFIG_MXC_IPU_DEVICE_QUEUE_SDC) += ipu_fg_overlay_sdc.o ipu_bg_overlay_sdc.o
+       obj-$(CONFIG_MXC_IPU_PRP_ENC) += ipu_prp_enc.o ipu_still.o
+       obj-$(CONFIG_MXC_IPU_CSI_ENC) += ipu_csi_enc.o ipu_still.o
+endif
+
+ov5640_camera-objs := ov5640.o
+obj-$(CONFIG_MXC_CAMERA_OV5640) += ov5640_camera.o
+
+ov5642_camera-objs := ov5642.o
+obj-$(CONFIG_MXC_CAMERA_OV5642) += ov5642_camera.o
+
+ov5640_camera_mipi-objs := ov5640_mipi.o
+obj-$(CONFIG_MXC_CAMERA_OV5640_MIPI) += ov5640_camera_mipi.o
+
+adv7180_tvin-objs := adv7180.o
+obj-$(CONFIG_MXC_TVIN_ADV7180) += adv7180_tvin.o
diff --git a/drivers/media/platform/mxc/capture/adv7180.c b/drivers/media/platform/mxc/capture/adv7180.c
new file mode 100644 (file)
index 0000000..ae17d7f
--- /dev/null
@@ -0,0 +1,1344 @@
+/*
+ * Copyright 2005-2013 Freescale Semiconductor, Inc. All Rights Reserved.
+ */
+
+/*
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/*!
+ * @file adv7180.c
+ *
+ * @brief Analog Device ADV7180 video decoder functions
+ *
+ * @ingroup Camera
+ */
+
+#include <linux/clk.h>
+#include <linux/delay.h>
+#include <linux/device.h>
+#include <linux/i2c.h>
+#include <linux/init.h>
+#include <linux/module.h>
+#include <linux/of_device.h>
+#include <linux/of_gpio.h>
+#include <linux/pinctrl/consumer.h>
+#include <linux/regulator/consumer.h>
+#include <media/v4l2-chip-ident.h>
+#include <media/v4l2-int-device.h>
+#include "mxc_v4l2_capture.h"
+
+#define ADV7180_VOLTAGE_ANALOG               1800000
+#define ADV7180_VOLTAGE_DIGITAL_CORE         1800000
+#define ADV7180_VOLTAGE_DIGITAL_IO           3300000
+#define ADV7180_VOLTAGE_PLL                  1800000
+
+static struct regulator *dvddio_regulator;
+static struct regulator *dvdd_regulator;
+static struct regulator *avdd_regulator;
+static struct regulator *pvdd_regulator;
+static int pwn_gpio;
+
+static int adv7180_probe(struct i2c_client *adapter,
+                        const struct i2c_device_id *id);
+static int adv7180_detach(struct i2c_client *client);
+
+static const struct i2c_device_id adv7180_id[] = {
+       {"adv7180", 0},
+       {},
+};
+
+MODULE_DEVICE_TABLE(i2c, adv7180_id);
+
+static struct i2c_driver adv7180_i2c_driver = {
+       .driver = {
+                  .owner = THIS_MODULE,
+                  .name = "adv7180",
+                  },
+       .probe = adv7180_probe,
+       .remove = adv7180_detach,
+       .id_table = adv7180_id,
+};
+
+/*!
+ * Maintains the information on the current state of the sensor.
+ */
+struct sensor {
+       struct sensor_data sen;
+       v4l2_std_id std_id;
+} adv7180_data;
+
+
+/*! List of input video formats supported. The video formats is corresponding
+ * with v4l2 id in video_fmt_t
+ */
+typedef enum {
+       ADV7180_NTSC = 0,       /*!< Locked on (M) NTSC video signal. */
+       ADV7180_PAL,            /*!< (B, G, H, I, N)PAL video signal. */
+       ADV7180_NOT_LOCKED,     /*!< Not locked on a signal. */
+} video_fmt_idx;
+
+/*! Number of video standards supported (including 'not locked' signal). */
+#define ADV7180_STD_MAX                (ADV7180_PAL + 1)
+
+/*! Video format structure. */
+typedef struct {
+       int v4l2_id;            /*!< Video for linux ID. */
+       char name[16];          /*!< Name (e.g., "NTSC", "PAL", etc.) */
+       u16 raw_width;          /*!< Raw width. */
+       u16 raw_height;         /*!< Raw height. */
+       u16 active_width;       /*!< Active width. */
+       u16 active_height;      /*!< Active height. */
+} video_fmt_t;
+
+/*! Description of video formats supported.
+ *
+ *  PAL: raw=720x625, active=720x576.
+ *  NTSC: raw=720x525, active=720x480.
+ */
+static video_fmt_t video_fmts[] = {
+       {                       /*! NTSC */
+        .v4l2_id = V4L2_STD_NTSC,
+        .name = "NTSC",
+        .raw_width = 720,      /* SENS_FRM_WIDTH */
+        .raw_height = 525,     /* SENS_FRM_HEIGHT */
+        .active_width = 720,   /* ACT_FRM_WIDTH plus 1 */
+        .active_height = 480,  /* ACT_FRM_WIDTH plus 1 */
+        },
+       {                       /*! (B, G, H, I, N) PAL */
+        .v4l2_id = V4L2_STD_PAL,
+        .name = "PAL",
+        .raw_width = 720,
+        .raw_height = 625,
+        .active_width = 720,
+        .active_height = 576,
+        },
+       {                       /*! Unlocked standard */
+        .v4l2_id = V4L2_STD_ALL,
+        .name = "Autodetect",
+        .raw_width = 720,
+        .raw_height = 625,
+        .active_width = 720,
+        .active_height = 576,
+        },
+};
+
+/*!* Standard index of ADV7180. */
+static video_fmt_idx video_idx = ADV7180_PAL;
+
+/*! @brief This mutex is used to provide mutual exclusion.
+ *
+ *  Create a mutex that can be used to provide mutually exclusive
+ *  read/write access to the globally accessible data structures
+ *  and variables that were defined above.
+ */
+static DEFINE_MUTEX(mutex);
+
+#define IF_NAME                    "adv7180"
+#define ADV7180_INPUT_CTL              0x00    /* Input Control */
+#define ADV7180_STATUS_1               0x10    /* Status #1 */
+#define ADV7180_BRIGHTNESS             0x0a    /* Brightness */
+#define ADV7180_IDENT                  0x11    /* IDENT */
+#define ADV7180_VSYNC_FIELD_CTL_1      0x31    /* VSYNC Field Control #1 */
+#define ADV7180_MANUAL_WIN_CTL         0x3d    /* Manual Window Control */
+#define ADV7180_SD_SATURATION_CB       0xe3    /* SD Saturation Cb */
+#define ADV7180_SD_SATURATION_CR       0xe4    /* SD Saturation Cr */
+#define ADV7180_PWR_MNG                0x0f     /* Power Management */
+
+/* supported controls */
+/* This hasn't been fully implemented yet.
+ * This is how it should work, though. */
+static struct v4l2_queryctrl adv7180_qctrl[] = {
+       {
+       .id = V4L2_CID_BRIGHTNESS,
+       .type = V4L2_CTRL_TYPE_INTEGER,
+       .name = "Brightness",
+       .minimum = 0,           /* check this value */
+       .maximum = 255,         /* check this value */
+       .step = 1,              /* check this value */
+       .default_value = 127,   /* check this value */
+       .flags = 0,
+       }, {
+       .id = V4L2_CID_SATURATION,
+       .type = V4L2_CTRL_TYPE_INTEGER,
+       .name = "Saturation",
+       .minimum = 0,           /* check this value */
+       .maximum = 255,         /* check this value */
+       .step = 0x1,            /* check this value */
+       .default_value = 127,   /* check this value */
+       .flags = 0,
+       }
+};
+
+static inline void adv7180_power_down(int enable)
+{
+       gpio_set_value_cansleep(pwn_gpio, !enable);
+       msleep(2);
+}
+
+static int adv7180_regulator_enable(struct device *dev)
+{
+       int ret = 0;
+
+       dvddio_regulator = devm_regulator_get(dev, "DOVDD");
+
+       if (!IS_ERR(dvddio_regulator)) {
+               regulator_set_voltage(dvddio_regulator,
+                                     ADV7180_VOLTAGE_DIGITAL_IO,
+                                     ADV7180_VOLTAGE_DIGITAL_IO);
+               ret = regulator_enable(dvddio_regulator);
+               if (ret) {
+                       dev_err(dev, "set io voltage failed\n");
+                       return ret;
+               } else {
+                       dev_dbg(dev, "set io voltage ok\n");
+               }
+       } else {
+               dev_warn(dev, "cannot get io voltage\n");
+       }
+
+       dvdd_regulator = devm_regulator_get(dev, "DVDD");
+       if (!IS_ERR(dvdd_regulator)) {
+               regulator_set_voltage(dvdd_regulator,
+                                     ADV7180_VOLTAGE_DIGITAL_CORE,
+                                     ADV7180_VOLTAGE_DIGITAL_CORE);
+               ret = regulator_enable(dvdd_regulator);
+               if (ret) {
+                       dev_err(dev, "set core voltage failed\n");
+                       return ret;
+               } else {
+                       dev_dbg(dev, "set core voltage ok\n");
+               }
+       } else {
+               dev_warn(dev, "cannot get core voltage\n");
+       }
+
+       avdd_regulator = devm_regulator_get(dev, "AVDD");
+       if (!IS_ERR(avdd_regulator)) {
+               regulator_set_voltage(avdd_regulator,
+                                     ADV7180_VOLTAGE_ANALOG,
+                                     ADV7180_VOLTAGE_ANALOG);
+               ret = regulator_enable(avdd_regulator);
+               if (ret) {
+                       dev_err(dev, "set analog voltage failed\n");
+                       return ret;
+               } else {
+                       dev_dbg(dev, "set analog voltage ok\n");
+               }
+       } else {
+               dev_warn(dev, "cannot get analog voltage\n");
+       }
+
+       pvdd_regulator = devm_regulator_get(dev, "PVDD");
+       if (!IS_ERR(pvdd_regulator)) {
+               regulator_set_voltage(pvdd_regulator,
+                                     ADV7180_VOLTAGE_PLL,
+                                     ADV7180_VOLTAGE_PLL);
+               ret = regulator_enable(pvdd_regulator);
+               if (ret) {
+                       dev_err(dev, "set pll voltage failed\n");
+                       return ret;
+               } else {
+                       dev_dbg(dev, "set pll voltage ok\n");
+               }
+       } else {
+               dev_warn(dev, "cannot get pll voltage\n");
+       }
+
+       return ret;
+}
+
+
+/***********************************************************************
+ * I2C transfert.
+ ***********************************************************************/
+
+/*! Read one register from a ADV7180 i2c slave device.
+ *
+ *  @param *reg                register in the device we wish to access.
+ *
+ *  @return                   0 if success, an error code otherwise.
+ */
+static inline int adv7180_read(u8 reg)
+{
+       int val;
+
+       val = i2c_smbus_read_byte_data(adv7180_data.sen.i2c_client, reg);
+       if (val < 0) {
+               dev_dbg(&adv7180_data.sen.i2c_client->dev,
+                       "%s:read reg error: reg=%2x\n", __func__, reg);
+               return -1;
+       }
+       return val;
+}
+
+/*! Write one register of a ADV7180 i2c slave device.
+ *
+ *  @param *reg                register in the device we wish to access.
+ *
+ *  @return                   0 if success, an error code otherwise.
+ */
+static int adv7180_write_reg(u8 reg, u8 val)
+{
+       s32 ret;
+
+       ret = i2c_smbus_write_byte_data(adv7180_data.sen.i2c_client, reg, val);
+       if (ret < 0) {
+               dev_dbg(&adv7180_data.sen.i2c_client->dev,
+                       "%s:write reg error:reg=%2x,val=%2x\n", __func__,
+                       reg, val);
+               return -1;
+       }
+       return 0;
+}
+
+/***********************************************************************
+ * mxc_v4l2_capture interface.
+ ***********************************************************************/
+
+/*!
+ * Return attributes of current video standard.
+ * Since this device autodetects the current standard, this function also
+ * sets the values that need to be changed if the standard changes.
+ * There is no set std equivalent function.
+ *
+ *  @return            None.
+ */
+static void adv7180_get_std(v4l2_std_id *std)
+{
+       int tmp;
+       int idx;
+
+       dev_dbg(&adv7180_data.sen.i2c_client->dev, "In adv7180_get_std\n");
+
+       /* Read the AD_RESULT to get the detect output video standard */
+       tmp = adv7180_read(ADV7180_STATUS_1) & 0x70;
+
+       mutex_lock(&mutex);
+       if (tmp == 0x40) {
+               /* PAL */
+               *std = V4L2_STD_PAL;
+               idx = ADV7180_PAL;
+       } else if (tmp == 0) {
+               /*NTSC*/
+               *std = V4L2_STD_NTSC;
+               idx = ADV7180_NTSC;
+       } else {
+               *std = V4L2_STD_ALL;
+               idx = ADV7180_NOT_LOCKED;
+               dev_dbg(&adv7180_data.sen.i2c_client->dev,
+                       "Got invalid video standard!\n");
+       }
+       mutex_unlock(&mutex);
+
+       /* This assumes autodetect which this device uses. */
+       if (*std != adv7180_data.std_id) {
+               video_idx = idx;
+               adv7180_data.std_id = *std;
+               adv7180_data.sen.pix.width = video_fmts[video_idx].raw_width;
+               adv7180_data.sen.pix.height = video_fmts[video_idx].raw_height;
+       }
+}
+
+/***********************************************************************
+ * IOCTL Functions from v4l2_int_ioctl_desc.
+ ***********************************************************************/
+
+/*!
+ * ioctl_g_ifparm - V4L2 sensor interface handler for vidioc_int_g_ifparm_num
+ * s: pointer to standard V4L2 device structure
+ * p: pointer to standard V4L2 vidioc_int_g_ifparm_num ioctl structure
+ *
+ * Gets slave interface parameters.
+ * Calculates the required xclk value to support the requested
+ * clock parameters in p.  This value is returned in the p
+ * parameter.
+ *
+ * vidioc_int_g_ifparm returns platform-specific information about the
+ * interface settings used by the sensor.
+ *
+ * Called on open.
+ */
+static int ioctl_g_ifparm(struct v4l2_int_device *s, struct v4l2_ifparm *p)
+{
+       dev_dbg(&adv7180_data.sen.i2c_client->dev, "adv7180:ioctl_g_ifparm\n");
+
+       if (s == NULL) {
+               pr_err("   ERROR!! no slave device set!\n");
+               return -1;
+       }
+
+       /* Initialize structure to 0s then set any non-0 values. */
+       memset(p, 0, sizeof(*p));
+       p->if_type = V4L2_IF_TYPE_BT656; /* This is the only possibility. */
+       p->u.bt656.mode = V4L2_IF_TYPE_BT656_MODE_NOBT_8BIT;
+       p->u.bt656.nobt_hs_inv = 1;
+       p->u.bt656.bt_sync_correct = 1;
+
+       /* ADV7180 has a dedicated clock so no clock settings needed. */
+
+       return 0;
+}
+
+/*!
+ * Sets the camera power.
+ *
+ * s  pointer to the camera device
+ * on if 1, power is to be turned on.  0 means power is to be turned off
+ *
+ * ioctl_s_power - V4L2 sensor interface handler for vidioc_int_s_power_num
+ * @s: pointer to standard V4L2 device structure
+ * @on: power state to which device is to be set
+ *
+ * Sets devices power state to requrested state, if possible.
+ * This is called on open, close, suspend and resume.
+ */
+static int ioctl_s_power(struct v4l2_int_device *s, int on)
+{
+       struct sensor *sensor = s->priv;
+
+       dev_dbg(&adv7180_data.sen.i2c_client->dev, "adv7180:ioctl_s_power\n");
+
+       if (on && !sensor->sen.on) {
+               if (adv7180_write_reg(ADV7180_PWR_MNG, 0x04) != 0)
+                       return -EIO;
+
+               /*
+                * FIXME:Additional 400ms to wait the chip to be stable?
+                * This is a workaround for preview scrolling issue.
+                */
+               msleep(400);
+       } else if (!on && sensor->sen.on) {
+               if (adv7180_write_reg(ADV7180_PWR_MNG, 0x24) != 0)
+                       return -EIO;
+       }
+
+       sensor->sen.on = on;
+
+       return 0;
+}
+
+/*!
+ * ioctl_g_parm - V4L2 sensor interface handler for VIDIOC_G_PARM ioctl
+ * @s: pointer to standard V4L2 device structure
+ * @a: pointer to standard V4L2 VIDIOC_G_PARM ioctl structure
+ *
+ * Returns the sensor's video CAPTURE parameters.
+ */
+static int ioctl_g_parm(struct v4l2_int_device *s, struct v4l2_streamparm *a)
+{
+       struct sensor *sensor = s->priv;
+       struct v4l2_captureparm *cparm = &a->parm.capture;
+
+       dev_dbg(&adv7180_data.sen.i2c_client->dev, "In adv7180:ioctl_g_parm\n");
+
+       switch (a->type) {
+       /* These are all the possible cases. */
+       case V4L2_BUF_TYPE_VIDEO_CAPTURE:
+               pr_debug("   type is V4L2_BUF_TYPE_VIDEO_CAPTURE\n");
+               memset(a, 0, sizeof(*a));
+               a->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
+               cparm->capability = sensor->sen.streamcap.capability;
+               cparm->timeperframe = sensor->sen.streamcap.timeperframe;
+               cparm->capturemode = sensor->sen.streamcap.capturemode;
+               break;
+
+       case V4L2_BUF_TYPE_VIDEO_OUTPUT:
+       case V4L2_BUF_TYPE_VIDEO_OVERLAY:
+       case V4L2_BUF_TYPE_VBI_CAPTURE:
+       case V4L2_BUF_TYPE_VBI_OUTPUT:
+       case V4L2_BUF_TYPE_SLICED_VBI_CAPTURE:
+       case V4L2_BUF_TYPE_SLICED_VBI_OUTPUT:
+               break;
+
+       default:
+               pr_debug("ioctl_g_parm:type is unknown %d\n", a->type);
+               break;
+       }
+
+       return 0;
+}
+
+/*!
+ * ioctl_s_parm - V4L2 sensor interface handler for VIDIOC_S_PARM ioctl
+ * @s: pointer to standard V4L2 device structure
+ * @a: pointer to standard V4L2 VIDIOC_S_PARM ioctl structure
+ *
+ * Configures the sensor to use the input parameters, if possible.  If
+ * not possible, reverts to the old parameters and returns the
+ * appropriate error code.
+ *
+ * This driver cannot change these settings.
+ */
+static int ioctl_s_parm(struct v4l2_int_device *s, struct v4l2_streamparm *a)
+{
+       dev_dbg(&adv7180_data.sen.i2c_client->dev, "In adv7180:ioctl_s_parm\n");
+
+       switch (a->type) {
+       /* These are all the possible cases. */
+       case V4L2_BUF_TYPE_VIDEO_CAPTURE:
+       case V4L2_BUF_TYPE_VIDEO_OUTPUT:
+       case V4L2_BUF_TYPE_VIDEO_OVERLAY:
+       case V4L2_BUF_TYPE_VBI_CAPTURE:
+       case V4L2_BUF_TYPE_VBI_OUTPUT:
+       case V4L2_BUF_TYPE_SLICED_VBI_CAPTURE:
+       case V4L2_BUF_TYPE_SLICED_VBI_OUTPUT:
+               break;
+
+       default:
+               pr_debug("   type is unknown - %d\n", a->type);
+               break;
+       }
+
+       return 0;
+}
+
+/*!
+ * ioctl_g_fmt_cap - V4L2 sensor interface handler for ioctl_g_fmt_cap
+ * @s: pointer to standard V4L2 device structure
+ * @f: pointer to standard V4L2 v4l2_format structure
+ *
+ * Returns the sensor's current pixel format in the v4l2_format
+ * parameter.
+ */
+static int ioctl_g_fmt_cap(struct v4l2_int_device *s, struct v4l2_format *f)
+{
+       struct sensor *sensor = s->priv;
+
+       dev_dbg(&adv7180_data.sen.i2c_client->dev, "adv7180:ioctl_g_fmt_cap\n");
+
+       switch (f->type) {
+       case V4L2_BUF_TYPE_VIDEO_CAPTURE:
+               pr_debug("   Returning size of %dx%d\n",
+                        sensor->sen.pix.width, sensor->sen.pix.height);
+               f->fmt.pix = sensor->sen.pix;
+               break;
+
+       case V4L2_BUF_TYPE_PRIVATE: {
+               v4l2_std_id std;
+               adv7180_get_std(&std);
+               f->fmt.pix.pixelformat = (u32)std;
+               }
+               break;
+
+       default:
+               f->fmt.pix = sensor->sen.pix;
+               break;
+       }
+
+       return 0;
+}
+
+/*!
+ * ioctl_queryctrl - V4L2 sensor interface handler for VIDIOC_QUERYCTRL ioctl
+ * @s: pointer to standard V4L2 device structure
+ * @qc: standard V4L2 VIDIOC_QUERYCTRL ioctl structure
+ *
+ * If the requested control is supported, returns the control information
+ * from the video_control[] array.  Otherwise, returns -EINVAL if the
+ * control is not supported.
+ */
+static int ioctl_queryctrl(struct v4l2_int_device *s,
+                          struct v4l2_queryctrl *qc)
+{
+       int i;
+
+       dev_dbg(&adv7180_data.sen.i2c_client->dev, "adv7180:ioctl_queryctrl\n");
+
+       for (i = 0; i < ARRAY_SIZE(adv7180_qctrl); i++)
+               if (qc->id && qc->id == adv7180_qctrl[i].id) {
+                       memcpy(qc, &(adv7180_qctrl[i]),
+                               sizeof(*qc));
+                       return 0;
+               }
+
+       return -EINVAL;
+}
+
+/*!
+ * ioctl_g_ctrl - V4L2 sensor interface handler for VIDIOC_G_CTRL ioctl
+ * @s: pointer to standard V4L2 device structure
+ * @vc: standard V4L2 VIDIOC_G_CTRL ioctl structure
+ *
+ * If the requested control is supported, returns the control's current
+ * value from the video_control[] array.  Otherwise, returns -EINVAL
+ * if the control is not supported.
+ */
+static int ioctl_g_ctrl(struct v4l2_int_device *s, struct v4l2_control *vc)
+{
+       int ret = 0;
+       int sat = 0;
+
+       dev_dbg(&adv7180_data.sen.i2c_client->dev, "In adv7180:ioctl_g_ctrl\n");
+
+       switch (vc->id) {
+       case V4L2_CID_BRIGHTNESS:
+               dev_dbg(&adv7180_data.sen.i2c_client->dev,
+                       "   V4L2_CID_BRIGHTNESS\n");
+               adv7180_data.sen.brightness = adv7180_read(ADV7180_BRIGHTNESS);
+               vc->value = adv7180_data.sen.brightness;
+               break;
+       case V4L2_CID_CONTRAST:
+               dev_dbg(&adv7180_data.sen.i2c_client->dev,
+                       "   V4L2_CID_CONTRAST\n");
+               vc->value = adv7180_data.sen.contrast;
+               break;
+       case V4L2_CID_SATURATION:
+               dev_dbg(&adv7180_data.sen.i2c_client->dev,
+                       "   V4L2_CID_SATURATION\n");
+               sat = adv7180_read(ADV7180_SD_SATURATION_CB);
+               adv7180_data.sen.saturation = sat;
+               vc->value = adv7180_data.sen.saturation;
+               break;
+       case V4L2_CID_HUE:
+               dev_dbg(&adv7180_data.sen.i2c_client->dev,
+                       "   V4L2_CID_HUE\n");
+               vc->value = adv7180_data.sen.hue;
+               break;
+       case V4L2_CID_AUTO_WHITE_BALANCE:
+               dev_dbg(&adv7180_data.sen.i2c_client->dev,
+                       "   V4L2_CID_AUTO_WHITE_BALANCE\n");
+               break;
+       case V4L2_CID_DO_WHITE_BALANCE:
+               dev_dbg(&adv7180_data.sen.i2c_client->dev,
+                       "   V4L2_CID_DO_WHITE_BALANCE\n");
+               break;
+       case V4L2_CID_RED_BALANCE:
+               dev_dbg(&adv7180_data.sen.i2c_client->dev,
+                       "   V4L2_CID_RED_BALANCE\n");
+               vc->value = adv7180_data.sen.red;
+               break;
+       case V4L2_CID_BLUE_BALANCE:
+               dev_dbg(&adv7180_data.sen.i2c_client->dev,
+                       "   V4L2_CID_BLUE_BALANCE\n");
+               vc->value = adv7180_data.sen.blue;
+               break;
+       case V4L2_CID_GAMMA:
+               dev_dbg(&adv7180_data.sen.i2c_client->dev,
+                       "   V4L2_CID_GAMMA\n");
+               break;
+       case V4L2_CID_EXPOSURE:
+               dev_dbg(&adv7180_data.sen.i2c_client->dev,
+                       "   V4L2_CID_EXPOSURE\n");
+               vc->value = adv7180_data.sen.ae_mode;
+               break;
+       case V4L2_CID_AUTOGAIN:
+               dev_dbg(&adv7180_data.sen.i2c_client->dev,
+                       "   V4L2_CID_AUTOGAIN\n");
+               break;
+       case V4L2_CID_GAIN:
+               dev_dbg(&adv7180_data.sen.i2c_client->dev,
+                       "   V4L2_CID_GAIN\n");
+               break;
+       case V4L2_CID_HFLIP:
+               dev_dbg(&adv7180_data.sen.i2c_client->dev,
+                       "   V4L2_CID_HFLIP\n");
+               break;
+       case V4L2_CID_VFLIP:
+               dev_dbg(&adv7180_data.sen.i2c_client->dev,
+                       "   V4L2_CID_VFLIP\n");
+               break;
+       default:
+               dev_dbg(&adv7180_data.sen.i2c_client->dev,
+                       "   Default case\n");
+               vc->value = 0;
+               ret = -EPERM;
+               break;
+       }
+
+       return ret;
+}
+
+/*!
+ * ioctl_s_ctrl - V4L2 sensor interface handler for VIDIOC_S_CTRL ioctl
+ * @s: pointer to standard V4L2 device structure
+ * @vc: standard V4L2 VIDIOC_S_CTRL ioctl structure
+ *
+ * If the requested control is supported, sets the control's current
+ * value in HW (and updates the video_control[] array).  Otherwise,
+ * returns -EINVAL if the control is not supported.
+ */
+static int ioctl_s_ctrl(struct v4l2_int_device *s, struct v4l2_control *vc)
+{
+       int retval = 0;
+       u8 tmp;
+
+       dev_dbg(&adv7180_data.sen.i2c_client->dev, "In adv7180:ioctl_s_ctrl\n");
+
+       switch (vc->id) {
+       case V4L2_CID_BRIGHTNESS:
+               dev_dbg(&adv7180_data.sen.i2c_client->dev,
+                       "   V4L2_CID_BRIGHTNESS\n");
+               tmp = vc->value;
+               adv7180_write_reg(ADV7180_BRIGHTNESS, tmp);
+               adv7180_data.sen.brightness = vc->value;
+               break;
+       case V4L2_CID_CONTRAST:
+               dev_dbg(&adv7180_data.sen.i2c_client->dev,
+                       "   V4L2_CID_CONTRAST\n");
+               break;
+       case V4L2_CID_SATURATION:
+               dev_dbg(&adv7180_data.sen.i2c_client->dev,
+                       "   V4L2_CID_SATURATION\n");
+               tmp = vc->value;
+               adv7180_write_reg(ADV7180_SD_SATURATION_CB, tmp);
+               adv7180_write_reg(ADV7180_SD_SATURATION_CR, tmp);
+               adv7180_data.sen.saturation = vc->value;
+               break;
+       case V4L2_CID_HUE:
+               dev_dbg(&adv7180_data.sen.i2c_client->dev,
+                       "   V4L2_CID_HUE\n");
+               break;
+       case V4L2_CID_AUTO_WHITE_BALANCE:
+               dev_dbg(&adv7180_data.sen.i2c_client->dev,
+                       "   V4L2_CID_AUTO_WHITE_BALANCE\n");
+               break;
+       case V4L2_CID_DO_WHITE_BALANCE:
+               dev_dbg(&adv7180_data.sen.i2c_client->dev,
+                       "   V4L2_CID_DO_WHITE_BALANCE\n");
+               break;
+       case V4L2_CID_RED_BALANCE:
+               dev_dbg(&adv7180_data.sen.i2c_client->dev,
+                       "   V4L2_CID_RED_BALANCE\n");
+               break;
+       case V4L2_CID_BLUE_BALANCE:
+               dev_dbg(&adv7180_data.sen.i2c_client->dev,
+                       "   V4L2_CID_BLUE_BALANCE\n");
+               break;
+       case V4L2_CID_GAMMA:
+               dev_dbg(&adv7180_data.sen.i2c_client->dev,
+                       "   V4L2_CID_GAMMA\n");
+               break;
+       case V4L2_CID_EXPOSURE:
+               dev_dbg(&adv7180_data.sen.i2c_client->dev,
+                       "   V4L2_CID_EXPOSURE\n");
+               break;
+       case V4L2_CID_AUTOGAIN:
+               dev_dbg(&adv7180_data.sen.i2c_client->dev,
+                       "   V4L2_CID_AUTOGAIN\n");
+               break;
+       case V4L2_CID_GAIN:
+               dev_dbg(&adv7180_data.sen.i2c_client->dev,
+                       "   V4L2_CID_GAIN\n");
+               break;
+       case V4L2_CID_HFLIP:
+               dev_dbg(&adv7180_data.sen.i2c_client->dev,
+                       "   V4L2_CID_HFLIP\n");
+               break;
+       case V4L2_CID_VFLIP:
+               dev_dbg(&adv7180_data.sen.i2c_client->dev,
+                       "   V4L2_CID_VFLIP\n");
+               break;
+       default:
+               dev_dbg(&adv7180_data.sen.i2c_client->dev,
+                       "   Default case\n");
+               retval = -EPERM;
+               break;
+       }
+
+       return retval;
+}
+
+/*!
+ * ioctl_enum_framesizes - V4L2 sensor interface handler for
+ *                        VIDIOC_ENUM_FRAMESIZES ioctl
+ * @s: pointer to standard V4L2 device structure
+ * @fsize: standard V4L2 VIDIOC_ENUM_FRAMESIZES ioctl structure
+ *
+ * Return 0 if successful, otherwise -EINVAL.
+ */
+static int ioctl_enum_framesizes(struct v4l2_int_device *s,
+                                struct v4l2_frmsizeenum *fsize)
+{
+       if (fsize->index >= 1)
+               return -EINVAL;
+
+       fsize->discrete.width = video_fmts[video_idx].active_width;
+       fsize->discrete.height  = video_fmts[video_idx].active_height;
+
+       return 0;
+}
+
+/*!
+ * ioctl_g_chip_ident - V4L2 sensor interface handler for
+ *                     VIDIOC_DBG_G_CHIP_IDENT ioctl
+ * @s: pointer to standard V4L2 device structure
+ * @id: pointer to int
+ *
+ * Return 0.
+ */
+static int ioctl_g_chip_ident(struct v4l2_int_device *s, int *id)
+{
+       ((struct v4l2_dbg_chip_ident *)id)->match.type =
+                                       V4L2_CHIP_MATCH_I2C_DRIVER;
+       strcpy(((struct v4l2_dbg_chip_ident *)id)->match.name,
+                                               "adv7180_decoder");
+       ((struct v4l2_dbg_chip_ident *)id)->ident = V4L2_IDENT_ADV7180;
+
+       return 0;
+}
+
+/*!
+ * ioctl_init - V4L2 sensor interface handler for VIDIOC_INT_INIT
+ * @s: pointer to standard V4L2 device structure
+ */
+static int ioctl_init(struct v4l2_int_device *s)
+{
+       dev_dbg(&adv7180_data.sen.i2c_client->dev, "In adv7180:ioctl_init\n");
+       return 0;
+}
+
+/*!
+ * ioctl_dev_init - V4L2 sensor interface handler for vidioc_int_dev_init_num
+ * @s: pointer to standard V4L2 device structure
+ *
+ * Initialise the device when slave attaches to the master.
+ */
+static int ioctl_dev_init(struct v4l2_int_device *s)
+{
+       dev_dbg(&adv7180_data.sen.i2c_client->dev, "adv7180:ioctl_dev_init\n");
+       return 0;
+}
+
+/*!
+ * This structure defines all the ioctls for this module.
+ */
+static struct v4l2_int_ioctl_desc adv7180_ioctl_desc[] = {
+
+       {vidioc_int_dev_init_num, (v4l2_int_ioctl_func*)ioctl_dev_init},
+
+       /*!
+        * Delinitialise the dev. at slave detach.
+        * The complement of ioctl_dev_init.
+        */
+/*     {vidioc_int_dev_exit_num, (v4l2_int_ioctl_func *)ioctl_dev_exit}, */
+
+       {vidioc_int_s_power_num, (v4l2_int_ioctl_func*)ioctl_s_power},
+       {vidioc_int_g_ifparm_num, (v4l2_int_ioctl_func*)ioctl_g_ifparm},
+/*     {vidioc_int_g_needs_reset_num,
+                               (v4l2_int_ioctl_func *)ioctl_g_needs_reset}, */
+/*     {vidioc_int_reset_num, (v4l2_int_ioctl_func *)ioctl_reset}, */
+       {vidioc_int_init_num, (v4l2_int_ioctl_func*)ioctl_init},
+
+       /*!
+        * VIDIOC_ENUM_FMT ioctl for the CAPTURE buffer type.
+        */
+/*     {vidioc_int_enum_fmt_cap_num,
+                               (v4l2_int_ioctl_func *)ioctl_enum_fmt_cap}, */
+
+       /*!
+        * VIDIOC_TRY_FMT ioctl for the CAPTURE buffer type.
+        * This ioctl is used to negotiate the image capture size and
+        * pixel format without actually making it take effect.
+        */
+/*     {vidioc_int_try_fmt_cap_num,
+                               (v4l2_int_ioctl_func *)ioctl_try_fmt_cap}, */
+
+       {vidioc_int_g_fmt_cap_num, (v4l2_int_ioctl_func*)ioctl_g_fmt_cap},
+
+       /*!
+        * If the requested format is supported, configures the HW to use that
+        * format, returns error code if format not supported or HW can't be
+        * correctly configured.
+        */
+/*     {vidioc_int_s_fmt_cap_num, (v4l2_int_ioctl_func *)ioctl_s_fmt_cap}, */
+
+       {vidioc_int_g_parm_num, (v4l2_int_ioctl_func*)ioctl_g_parm},
+       {vidioc_int_s_parm_num, (v4l2_int_ioctl_func*)ioctl_s_parm},
+       {vidioc_int_queryctrl_num, (v4l2_int_ioctl_func*)ioctl_queryctrl},
+       {vidioc_int_g_ctrl_num, (v4l2_int_ioctl_func*)ioctl_g_ctrl},
+       {vidioc_int_s_ctrl_num, (v4l2_int_ioctl_func*)ioctl_s_ctrl},
+       {vidioc_int_enum_framesizes_num,
+                               (v4l2_int_ioctl_func *) ioctl_enum_framesizes},
+       {vidioc_int_g_chip_ident_num,
+                               (v4l2_int_ioctl_func *)ioctl_g_chip_ident},
+};
+
+static struct v4l2_int_slave adv7180_slave = {
+       .ioctls = adv7180_ioctl_desc,
+       .num_ioctls = ARRAY_SIZE(adv7180_ioctl_desc),
+};
+
+static struct v4l2_int_device adv7180_int_device = {
+       .module = THIS_MODULE,
+       .name = "adv7180",
+       .type = v4l2_int_type_slave,
+       .u = {
+               .slave = &adv7180_slave,
+       },
+};
+
+
+/***********************************************************************
+ * I2C client and driver.
+ ***********************************************************************/
+
+/*! ADV7180 Reset function.
+ *
+ *  @return            None.
+ */
+static void adv7180_hard_reset(bool cvbs)
+{
+       dev_dbg(&adv7180_data.sen.i2c_client->dev,
+               "In adv7180:adv7180_hard_reset\n");
+
+       if (cvbs) {
+               /* Set CVBS input on AIN1 */
+               adv7180_write_reg(ADV7180_INPUT_CTL, 0x00);
+       } else {
+               /*
+                * Set YPbPr input on AIN1,4,5 and normal
+                * operations(autodection of all stds).
+                */
+               adv7180_write_reg(ADV7180_INPUT_CTL, 0x09);
+       }
+
+       /* Datasheet recommends */
+       adv7180_write_reg(0x01, 0xc8);
+       adv7180_write_reg(0x02, 0x04);
+       adv7180_write_reg(0x03, 0x00);
+       adv7180_write_reg(0x04, 0x45);
+       adv7180_write_reg(0x05, 0x00);
+       adv7180_write_reg(0x06, 0x02);
+       adv7180_write_reg(0x07, 0x7F);
+       adv7180_write_reg(0x08, 0x80);
+       adv7180_write_reg(0x0A, 0x00);
+       adv7180_write_reg(0x0B, 0x00);
+       adv7180_write_reg(0x0C, 0x36);
+       adv7180_write_reg(0x0D, 0x7C);
+       adv7180_write_reg(0x0E, 0x00);
+       adv7180_write_reg(0x0F, 0x00);
+       adv7180_write_reg(0x13, 0x00);
+       adv7180_write_reg(0x14, 0x12);
+       adv7180_write_reg(0x15, 0x00);
+       adv7180_write_reg(0x16, 0x00);
+       adv7180_write_reg(0x17, 0x01);
+       adv7180_write_reg(0x18, 0x93);
+       adv7180_write_reg(0xF1, 0x19);
+       adv7180_write_reg(0x1A, 0x00);
+       adv7180_write_reg(0x1B, 0x00);
+       adv7180_write_reg(0x1C, 0x00);
+       adv7180_write_reg(0x1D, 0x40);
+       adv7180_write_reg(0x1E, 0x00);
+       adv7180_write_reg(0x1F, 0x00);
+       adv7180_write_reg(0x20, 0x00);
+       adv7180_write_reg(0x21, 0x00);
+       adv7180_write_reg(0x22, 0x00);
+       adv7180_write_reg(0x23, 0xC0);
+       adv7180_write_reg(0x24, 0x00);
+       adv7180_write_reg(0x25, 0x00);
+       adv7180_write_reg(0x26, 0x00);
+       adv7180_write_reg(0x27, 0x58);
+       adv7180_write_reg(0x28, 0x00);
+       adv7180_write_reg(0x29, 0x00);
+       adv7180_write_reg(0x2A, 0x00);
+       adv7180_write_reg(0x2B, 0xE1);
+       adv7180_write_reg(0x2C, 0xAE);
+       adv7180_write_reg(0x2D, 0xF4);
+       adv7180_write_reg(0x2E, 0x00);
+       adv7180_write_reg(0x2F, 0xF0);
+       adv7180_write_reg(0x30, 0x00);
+       adv7180_write_reg(0x31, 0x12);
+       adv7180_write_reg(0x32, 0x41);
+       adv7180_write_reg(0x33, 0x84);
+       adv7180_write_reg(0x34, 0x00);
+       adv7180_write_reg(0x35, 0x02);
+       adv7180_write_reg(0x36, 0x00);
+       adv7180_write_reg(0x37, 0x01);
+       adv7180_write_reg(0x38, 0x80);
+       adv7180_write_reg(0x39, 0xC0);
+       adv7180_write_reg(0x3A, 0x10);
+       adv7180_write_reg(0x3B, 0x05);
+       adv7180_write_reg(0x3C, 0x58);
+       adv7180_write_reg(0x3D, 0xB2);
+       adv7180_write_reg(0x3E, 0x64);
+       adv7180_write_reg(0x3F, 0xE4);
+       adv7180_write_reg(0x40, 0x90);
+       adv7180_write_reg(0x41, 0x01);
+       adv7180_write_reg(0x42, 0x7E);
+       adv7180_write_reg(0x43, 0xA4);
+       adv7180_write_reg(0x44, 0xFF);
+       adv7180_write_reg(0x45, 0xB6);
+       adv7180_write_reg(0x46, 0x12);
+       adv7180_write_reg(0x48, 0x00);
+       adv7180_write_reg(0x49, 0x00);
+       adv7180_write_reg(0x4A, 0x00);
+       adv7180_write_reg(0x4B, 0x00);
+       adv7180_write_reg(0x4C, 0x00);
+       adv7180_write_reg(0x4D, 0xEF);
+       adv7180_write_reg(0x4E, 0x08);
+       adv7180_write_reg(0x4F, 0x08);
+       adv7180_write_reg(0x50, 0x08);
+       adv7180_write_reg(0x51, 0x24);
+       adv7180_write_reg(0x52, 0x0B);
+       adv7180_write_reg(0x53, 0x4E);
+       adv7180_write_reg(0x54, 0x80);
+       adv7180_write_reg(0x55, 0x00);
+       adv7180_write_reg(0x56, 0x10);
+       adv7180_write_reg(0x57, 0x00);
+       adv7180_write_reg(0x58, 0x00);
+       adv7180_write_reg(0x59, 0x00);
+       adv7180_write_reg(0x5A, 0x00);
+       adv7180_write_reg(0x5B, 0x00);
+       adv7180_write_reg(0x5C, 0x00);
+       adv7180_write_reg(0x5D, 0x00);
+       adv7180_write_reg(0x5E, 0x00);
+       adv7180_write_reg(0x5F, 0x00);
+       adv7180_write_reg(0x60, 0x00);
+       adv7180_write_reg(0x61, 0x00);
+       adv7180_write_reg(0x62, 0x20);
+       adv7180_write_reg(0x63, 0x00);
+       adv7180_write_reg(0x64, 0x00);
+       adv7180_write_reg(0x65, 0x00);
+       adv7180_write_reg(0x66, 0x00);
+       adv7180_write_reg(0x67, 0x03);
+       adv7180_write_reg(0x68, 0x01);
+       adv7180_write_reg(0x69, 0x00);
+       adv7180_write_reg(0x6A, 0x00);
+       adv7180_write_reg(0x6B, 0xC0);
+       adv7180_write_reg(0x6C, 0x00);
+       adv7180_write_reg(0x6D, 0x00);
+       adv7180_write_reg(0x6E, 0x00);
+       adv7180_write_reg(0x6F, 0x00);
+       adv7180_write_reg(0x70, 0x00);
+       adv7180_write_reg(0x71, 0x00);
+       adv7180_write_reg(0x72, 0x00);
+       adv7180_write_reg(0x73, 0x10);
+       adv7180_write_reg(0x74, 0x04);
+       adv7180_write_reg(0x75, 0x01);
+       adv7180_write_reg(0x76, 0x00);
+       adv7180_write_reg(0x77, 0x3F);
+       adv7180_write_reg(0x78, 0xFF);
+       adv7180_write_reg(0x79, 0xFF);
+       adv7180_write_reg(0x7A, 0xFF);
+       adv7180_write_reg(0x7B, 0x1E);
+       adv7180_write_reg(0x7C, 0xC0);
+       adv7180_write_reg(0x7D, 0x00);
+       adv7180_write_reg(0x7E, 0x00);
+       adv7180_write_reg(0x7F, 0x00);
+       adv7180_write_reg(0x80, 0x00);
+       adv7180_write_reg(0x81, 0xC0);
+       adv7180_write_reg(0x82, 0x04);
+       adv7180_write_reg(0x83, 0x00);
+       adv7180_write_reg(0x84, 0x0C);
+       adv7180_write_reg(0x85, 0x02);
+       adv7180_write_reg(0x86, 0x03);
+       adv7180_write_reg(0x87, 0x63);
+       adv7180_write_reg(0x88, 0x5A);
+       adv7180_write_reg(0x89, 0x08);
+       adv7180_write_reg(0x8A, 0x10);
+       adv7180_write_reg(0x8B, 0x00);
+       adv7180_write_reg(0x8C, 0x40);
+       adv7180_write_reg(0x8D, 0x00);
+       adv7180_write_reg(0x8E, 0x40);
+       adv7180_write_reg(0x8F, 0x00);
+       adv7180_write_reg(0x90, 0x00);
+       adv7180_write_reg(0x91, 0x50);
+       adv7180_write_reg(0x92, 0x00);
+       adv7180_write_reg(0x93, 0x00);
+       adv7180_write_reg(0x94, 0x00);
+       adv7180_write_reg(0x95, 0x00);
+       adv7180_write_reg(0x96, 0x00);
+       adv7180_write_reg(0x97, 0xF0);
+       adv7180_write_reg(0x98, 0x00);
+       adv7180_write_reg(0x99, 0x00);
+       adv7180_write_reg(0x9A, 0x00);
+       adv7180_write_reg(0x9B, 0x00);
+       adv7180_write_reg(0x9C, 0x00);
+       adv7180_write_reg(0x9D, 0x00);
+       adv7180_write_reg(0x9E, 0x00);
+       adv7180_write_reg(0x9F, 0x00);
+       adv7180_write_reg(0xA0, 0x00);
+       adv7180_write_reg(0xA1, 0x00);
+       adv7180_write_reg(0xA2, 0x00);
+       adv7180_write_reg(0xA3, 0x00);
+       adv7180_write_reg(0xA4, 0x00);
+       adv7180_write_reg(0xA5, 0x00);
+       adv7180_write_reg(0xA6, 0x00);
+       adv7180_write_reg(0xA7, 0x00);
+       adv7180_write_reg(0xA8, 0x00);
+       adv7180_write_reg(0xA9, 0x00);
+       adv7180_write_reg(0xAA, 0x00);
+       adv7180_write_reg(0xAB, 0x00);
+       adv7180_write_reg(0xAC, 0x00);
+       adv7180_write_reg(0xAD, 0x00);
+       adv7180_write_reg(0xAE, 0x60);
+       adv7180_write_reg(0xAF, 0x00);
+       adv7180_write_reg(0xB0, 0x00);
+       adv7180_write_reg(0xB1, 0x60);
+       adv7180_write_reg(0xB2, 0x1C);
+       adv7180_write_reg(0xB3, 0x54);
+       adv7180_write_reg(0xB4, 0x00);
+       adv7180_write_reg(0xB5, 0x00);
+       adv7180_write_reg(0xB6, 0x00);
+       adv7180_write_reg(0xB7, 0x13);
+       adv7180_write_reg(0xB8, 0x03);
+       adv7180_write_reg(0xB9, 0x33);
+       adv7180_write_reg(0xBF, 0x02);
+       adv7180_write_reg(0xC0, 0x00);
+       adv7180_write_reg(0xC1, 0x00);
+       adv7180_write_reg(0xC2, 0x00);
+       adv7180_write_reg(0xC3, 0x00);
+       adv7180_write_reg(0xC4, 0x00);
+       adv7180_write_reg(0xC5, 0x81);
+       adv7180_write_reg(0xC6, 0x00);
+       adv7180_write_reg(0xC7, 0x00);
+       adv7180_write_reg(0xC8, 0x00);
+       adv7180_write_reg(0xC9, 0x04);
+       adv7180_write_reg(0xCC, 0x69);
+       adv7180_write_reg(0xCD, 0x00);
+       adv7180_write_reg(0xCE, 0x01);
+       adv7180_write_reg(0xCF, 0xB4);
+       adv7180_write_reg(0xD0, 0x00);
+       adv7180_write_reg(0xD1, 0x10);
+       adv7180_write_reg(0xD2, 0xFF);
+       adv7180_write_reg(0xD3, 0xFF);
+       adv7180_write_reg(0xD4, 0x7F);
+       adv7180_write_reg(0xD5, 0x7F);
+       adv7180_write_reg(0xD6, 0x3E);
+       adv7180_write_reg(0xD7, 0x08);
+       adv7180_write_reg(0xD8, 0x3C);
+       adv7180_write_reg(0xD9, 0x08);
+       adv7180_write_reg(0xDA, 0x3C);
+       adv7180_write_reg(0xDB, 0x9B);
+       adv7180_write_reg(0xDC, 0xAC);
+       adv7180_write_reg(0xDD, 0x4C);
+       adv7180_write_reg(0xDE, 0x00);
+       adv7180_write_reg(0xDF, 0x00);
+       adv7180_write_reg(0xE0, 0x14);
+       adv7180_write_reg(0xE1, 0x80);
+       adv7180_write_reg(0xE2, 0x80);
+       adv7180_write_reg(0xE3, 0x80);
+       adv7180_write_reg(0xE4, 0x80);
+       adv7180_write_reg(0xE5, 0x25);
+       adv7180_write_reg(0xE6, 0x44);
+       adv7180_write_reg(0xE7, 0x63);
+       adv7180_write_reg(0xE8, 0x65);
+       adv7180_write_reg(0xE9, 0x14);
+       adv7180_write_reg(0xEA, 0x63);
+       adv7180_write_reg(0xEB, 0x55);
+       adv7180_write_reg(0xEC, 0x55);
+       adv7180_write_reg(0xEE, 0x00);
+       adv7180_write_reg(0xEF, 0x4A);
+       adv7180_write_reg(0xF0, 0x44);
+       adv7180_write_reg(0xF1, 0x0C);
+       adv7180_write_reg(0xF2, 0x32);
+       adv7180_write_reg(0xF3, 0x00);
+       adv7180_write_reg(0xF4, 0x3F);
+       adv7180_write_reg(0xF5, 0xE0);
+       adv7180_write_reg(0xF6, 0x69);
+       adv7180_write_reg(0xF7, 0x10);
+       adv7180_write_reg(0xF8, 0x00);
+       adv7180_write_reg(0xF9, 0x03);
+       adv7180_write_reg(0xFA, 0xFA);
+       adv7180_write_reg(0xFB, 0x40);
+}
+
+/*! ADV7180 I2C attach function.
+ *
+ *  @param *adapter    struct i2c_adapter *.
+ *
+ *  @return            Error code indicating success or failure.
+ */
+
+/*!
+ * ADV7180 I2C probe function.
+ * Function set in i2c_driver struct.
+ * Called by insmod.
+ *
+ *  @param *adapter    I2C adapter descriptor.
+ *
+ *  @return            Error code indicating success or failure.
+ */
+static int adv7180_probe(struct i2c_client *client,
+                        const struct i2c_device_id *id)
+{
+       int rev_id;
+       int ret = 0;
+       u32 cvbs = true;
+       struct pinctrl *pinctrl;
+       struct device *dev = &client->dev;
+
+       printk(KERN_ERR"DBG sensor data is at %p\n", &adv7180_data);
+
+       /* ov5640 pinctrl */
+       pinctrl = devm_pinctrl_get_select_default(dev);
+       if (IS_ERR(pinctrl)) {
+               dev_err(dev, "setup pinctrl failed\n");
+               return PTR_ERR(pinctrl);
+       }
+
+       /* request power down pin */
+       pwn_gpio = of_get_named_gpio(dev->of_node, "pwn-gpios", 0);
+       if (!gpio_is_valid(pwn_gpio)) {
+               dev_err(dev, "no sensor pwdn pin available\n");
+               return -ENODEV;
+       }
+       ret = devm_gpio_request_one(dev, pwn_gpio, GPIOF_OUT_INIT_HIGH,
+                                       "adv7180_pwdn");
+       if (ret < 0) {
+               dev_err(dev, "no power pin available!\n");
+               return ret;
+       }
+
+       adv7180_regulator_enable(dev);
+
+       adv7180_power_down(0);
+
+       msleep(1);
+
+       /* Set initial values for the sensor struct. */
+       memset(&adv7180_data, 0, sizeof(adv7180_data));
+       adv7180_data.sen.i2c_client = client;
+       adv7180_data.sen.streamcap.timeperframe.denominator = 30;
+       adv7180_data.sen.streamcap.timeperframe.numerator = 1;
+       adv7180_data.std_id = V4L2_STD_ALL;
+       video_idx = ADV7180_NOT_LOCKED;
+       adv7180_data.sen.pix.width = video_fmts[video_idx].raw_width;
+       adv7180_data.sen.pix.height = video_fmts[video_idx].raw_height;
+       adv7180_data.sen.pix.pixelformat = V4L2_PIX_FMT_UYVY;  /* YUV422 */
+       adv7180_data.sen.pix.priv = 1;  /* 1 is used to indicate TV in */
+       adv7180_data.sen.on = true;
+
+       adv7180_data.sen.sensor_clk = devm_clk_get(dev, "csi_mclk");
+       if (IS_ERR(adv7180_data.sen.sensor_clk)) {
+               dev_err(dev, "get mclk failed\n");
+               return PTR_ERR(adv7180_data.sen.sensor_clk);
+       }
+
+       ret = of_property_read_u32(dev->of_node, "mclk",
+                                       &adv7180_data.sen.mclk);
+       if (ret) {
+               dev_err(dev, "mclk frequency is invalid\n");
+               return ret;
+       }
+
+       ret = of_property_read_u32(
+               dev->of_node, "mclk_source",
+               (u32 *) &(adv7180_data.sen.mclk_source));
+       if (ret) {
+               dev_err(dev, "mclk_source invalid\n");
+               return ret;
+       }
+
+       ret = of_property_read_u32(dev->of_node, "csi_id",
+                                       &(adv7180_data.sen.csi));
+       if (ret) {
+               dev_err(dev, "csi_id invalid\n");
+               return ret;
+       }
+
+       clk_prepare_enable(adv7180_data.sen.sensor_clk);
+
+       dev_dbg(&adv7180_data.sen.i2c_client->dev,
+               "%s:adv7180 probe i2c address is 0x%02X\n",
+               __func__, adv7180_data.sen.i2c_client->addr);
+
+       /*! Read the revision ID of the tvin chip */
+       rev_id = adv7180_read(ADV7180_IDENT);
+       dev_dbg(dev,
+               "%s:Analog Device adv7%2X0 detected!\n", __func__,
+               rev_id);
+
+       ret = of_property_read_u32(dev->of_node, "cvbs", &(cvbs));
+       if (ret) {
+               dev_err(dev, "cvbs setting is not found\n");
+               cvbs = true;
+       }
+
+       /*! ADV7180 initialization. */
+       adv7180_hard_reset(cvbs);
+
+       pr_debug("   type is %d (expect %d)\n",
+                adv7180_int_device.type, v4l2_int_type_slave);
+       pr_debug("   num ioctls is %d\n",
+                adv7180_int_device.u.slave->num_ioctls);
+
+       /* This function attaches this structure to the /dev/video0 device.
+        * The pointer in priv points to the adv7180_data structure here.*/
+       adv7180_int_device.priv = &adv7180_data;
+       ret = v4l2_int_device_register(&adv7180_int_device);
+
+       clk_disable_unprepare(adv7180_data.sen.sensor_clk);
+
+       return ret;
+}
+
+/*!
+ * ADV7180 I2C detach function.
+ * Called on rmmod.
+ *
+ *  @param *client     struct i2c_client*.
+ *
+ *  @return            Error code indicating success or failure.
+ */
+static int adv7180_detach(struct i2c_client *client)
+{
+       dev_dbg(&adv7180_data.sen.i2c_client->dev,
+               "%s:Removing %s video decoder @ 0x%02X from adapter %s\n",
+               __func__, IF_NAME, client->addr << 1, client->adapter->name);
+
+       /* Power down via i2c */
+       adv7180_write_reg(ADV7180_PWR_MNG, 0x24);
+
+       if (dvddio_regulator)
+               regulator_disable(dvddio_regulator);
+
+       if (dvdd_regulator)
+               regulator_disable(dvdd_regulator);
+
+       if (avdd_regulator)
+               regulator_disable(avdd_regulator);
+
+       if (pvdd_regulator)
+               regulator_disable(pvdd_regulator);
+
+       v4l2_int_device_unregister(&adv7180_int_device);
+
+       return 0;
+}
+
+/*!
+ * ADV7180 init function.
+ * Called on insmod.
+ *
+ * @return    Error code indicating success or failure.
+ */
+static __init int adv7180_init(void)
+{
+       u8 err = 0;
+
+       pr_debug("In adv7180_init\n");
+
+       /* Tells the i2c driver what functions to call for this driver. */
+       err = i2c_add_driver(&adv7180_i2c_driver);
+       if (err != 0)
+               pr_err("%s:driver registration failed, error=%d\n",
+                       __func__, err);
+
+       return err;
+}
+
+/*!
+ * ADV7180 cleanup function.
+ * Called on rmmod.
+ *
+ * @return   Error code indicating success or failure.
+ */
+static void __exit adv7180_clean(void)
+{
+       dev_dbg(&adv7180_data.sen.i2c_client->dev, "In adv7180_clean\n");
+       i2c_del_driver(&adv7180_i2c_driver);
+}
+
+module_init(adv7180_init);
+module_exit(adv7180_clean);
+
+MODULE_AUTHOR("Freescale Semiconductor");
+MODULE_DESCRIPTION("Anolog Device ADV7180 video decoder driver");
+MODULE_LICENSE("GPL");
diff --git a/drivers/media/platform/mxc/capture/csi_v4l2_capture.c b/drivers/media/platform/mxc/capture/csi_v4l2_capture.c
new file mode 100644 (file)
index 0000000..3a611f0
--- /dev/null
@@ -0,0 +1,2047 @@
+/*
+ * Copyright 2009-2013 Freescale Semiconductor, Inc. All Rights Reserved.
+ */
+
+/*
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/*!
+ * @file drivers/media/video/mxc/capture/csi_v4l2_capture.c
+ * This file is derived from mxc_v4l2_capture.c
+ *
+ * @brief Video For Linux 2 capture driver
+ *
+ * @ingroup MXC_V4L2_CAPTURE
+ */
+#include <linux/version.h>
+#include <linux/module.h>
+#include <linux/init.h>
+#include <linux/platform_device.h>
+#include <linux/fs.h>
+#include <linux/slab.h>
+#include <linux/ctype.h>
+#include <linux/clk.h>
+#include <linux/io.h>
+#include <linux/semaphore.h>
+#include <linux/pagemap.h>
+#include <linux/vmalloc.h>
+#include <linux/types.h>
+#include <linux/fb.h>
+#include <linux/mxcfb.h>
+#include <linux/dma-mapping.h>
+#include <media/v4l2-ioctl.h>
+#include <media/v4l2-int-device.h>
+#include <media/v4l2-chip-ident.h>
+#include "mxc_v4l2_capture.h"
+#include "fsl_csi.h"
+
+static int video_nr = -1;
+static cam_data *g_cam;
+static int req_buf_number;
+
+static int csi_v4l2_master_attach(struct v4l2_int_device *slave);
+static void csi_v4l2_master_detach(struct v4l2_int_device *slave);
+static u8 camera_power(cam_data *cam, bool cameraOn);
+struct v4l2_crop crop_current;
+struct v4l2_window win_current;
+
+/*! Information about this driver. */
+static struct v4l2_int_master csi_v4l2_master = {
+       .attach = csi_v4l2_master_attach,
+       .detach = csi_v4l2_master_detach,
+};
+
+static struct v4l2_int_device csi_v4l2_int_device = {
+       .module = THIS_MODULE,
+       .name = "csi_v4l2_cap",
+       .type = v4l2_int_type_master,
+       .u = {
+             .master = &csi_v4l2_master,
+             },
+};
+
+static struct v4l2_queryctrl pxp_controls[] = {
+       {
+               .id             = V4L2_CID_HFLIP,
+               .type           = V4L2_CTRL_TYPE_BOOLEAN,
+               .name           = "Horizontal Flip",
+               .minimum        = 0,
+               .maximum        = 1,
+               .step           = 1,
+               .default_value  = 0,
+               .flags          = 0,
+       }, {
+               .id             = V4L2_CID_VFLIP,
+               .type           = V4L2_CTRL_TYPE_BOOLEAN,
+               .name           = "Vertical Flip",
+               .minimum        = 0,
+               .maximum        = 1,
+               .step           = 1,
+               .default_value  = 0,
+               .flags          = 0,
+       }, {
+               .id             = V4L2_CID_PRIVATE_BASE,
+               .type           = V4L2_CTRL_TYPE_INTEGER,
+               .name           = "Rotation",
+               .minimum        = 0,
+               .maximum        = 270,
+               .step           = 90,
+               .default_value  = 0,
+               .flags          = 0,
+       },
+};
+
+/* Callback function triggered after PxP receives an EOF interrupt */
+static void pxp_dma_done(void *arg)
+{
+       struct pxp_tx_desc *tx_desc = to_tx_desc(arg);
+       struct dma_chan *chan = tx_desc->txd.chan;
+       struct pxp_channel *pxp_chan = to_pxp_channel(chan);
+       cam_data *cam = pxp_chan->client;
+
+       /* This call will signal wait_for_completion_timeout() */
+       complete(&cam->pxp_tx_cmpl);
+}
+
+static bool chan_filter(struct dma_chan *chan, void *arg)
+{
+       if (imx_dma_is_pxp(chan))
+               return true;
+       else
+               return false;
+}
+
+/* Function to request PXP DMA channel */
+static int pxp_chan_init(cam_data *cam)
+{
+       dma_cap_mask_t mask;
+       struct dma_chan *chan;
+
+       /* Request a free channel */
+       dma_cap_zero(mask);
+       dma_cap_set(DMA_SLAVE, mask);
+       dma_cap_set(DMA_PRIVATE, mask);
+       chan = dma_request_channel(mask, chan_filter, NULL);
+       if (!chan) {
+               pr_err("Unsuccessfully request channel!\n");
+               return -EBUSY;
+       }
+
+       cam->pxp_chan = to_pxp_channel(chan);
+       cam->pxp_chan->client = cam;
+
+       init_completion(&cam->pxp_tx_cmpl);
+
+       return 0;
+}
+
+/*
+ * Function to call PxP DMA driver and send our new V4L2 buffer
+ * through the PxP.
+ * Note: This is a blocking call, so upon return the PxP tx should be complete.
+ */
+static int pxp_process_update(cam_data *cam)
+{
+       dma_cookie_t cookie;
+       struct scatterlist *sg = cam->sg;
+       struct dma_chan *dma_chan;
+       struct pxp_tx_desc *desc;
+       struct dma_async_tx_descriptor *txd;
+       struct pxp_config_data *pxp_conf = &cam->pxp_conf;
+       struct pxp_proc_data *proc_data = &cam->pxp_conf.proc_data;
+       int i, ret;
+       int length;
+
+       pr_debug("Starting PxP Send Buffer\n");
+
+       /* First, check to see that we have acquired a PxP Channel object */
+       if (cam->pxp_chan == NULL) {
+               /*
+                * PxP Channel has not yet been created and initialized,
+                * so let's go ahead and try
+                */
+               ret = pxp_chan_init(cam);
+               if (ret) {
+                       /*
+                        * PxP channel init failed, and we can't use the
+                        * PxP until the PxP DMA driver has loaded, so we abort
+                        */
+                       pr_err("PxP chan init failed\n");
+                       return -ENODEV;
+               }
+       }
+
+       /*
+        * Init completion, so that we can be properly informed of
+        * the completion of the PxP task when it is done.
+        */
+       init_completion(&cam->pxp_tx_cmpl);
+
+       dma_chan = &cam->pxp_chan->dma_chan;
+
+       txd = dma_chan->device->device_prep_slave_sg(dma_chan, sg, 2,
+                                                    DMA_TO_DEVICE,
+                                                    DMA_PREP_INTERRUPT,
+                                                    NULL);
+       if (!txd) {
+               pr_err("Error preparing a DMA transaction descriptor.\n");
+               return -EIO;
+       }
+
+       txd->callback_param = txd;
+       txd->callback = pxp_dma_done;
+
+       /*
+        * Configure PxP for processing of new v4l2 buf
+        */
+       pxp_conf->s0_param.pixel_fmt = PXP_PIX_FMT_UYVY;
+       pxp_conf->s0_param.color_key = -1;
+       pxp_conf->s0_param.color_key_enable = false;
+       pxp_conf->s0_param.width = cam->v2f.fmt.pix.width;
+       pxp_conf->s0_param.height = cam->v2f.fmt.pix.height;
+
+       pxp_conf->ol_param[0].combine_enable = false;
+
+       proc_data->srect.top = 0;
+       proc_data->srect.left = 0;
+       proc_data->srect.width = pxp_conf->s0_param.width;
+       proc_data->srect.height = pxp_conf->s0_param.height;
+
+       if (crop_current.c.top != 0)
+               proc_data->srect.top = crop_current.c.top;
+       if (crop_current.c.left != 0)
+               proc_data->srect.left = crop_current.c.left;
+       if (crop_current.c.width != 0)
+               proc_data->srect.width = crop_current.c.width;
+       if (crop_current.c.height != 0)
+               proc_data->srect.height = crop_current.c.height;
+
+       proc_data->drect.left = 0;
+       proc_data->drect.top = 0;
+       proc_data->drect.width = proc_data->srect.width;
+       proc_data->drect.height = proc_data->srect.height;
+
+       if (win_current.w.left != 0)
+               proc_data->drect.left = win_current.w.left;
+       if (win_current.w.top != 0)
+               proc_data->drect.top = win_current.w.top;
+       if (win_current.w.width != 0)
+               proc_data->drect.width = win_current.w.width;
+       if (win_current.w.height != 0)
+               proc_data->drect.height = win_current.w.height;
+
+       pr_debug("srect l: %d, t: %d, w: %d, h: %d; "
+               "drect l: %d, t: %d, w: %d, h: %d\n",
+               proc_data->srect.left, proc_data->srect.top,
+               proc_data->srect.width, proc_data->srect.height,
+               proc_data->drect.left, proc_data->drect.top,
+               proc_data->drect.width, proc_data->drect.height);
+
+       pxp_conf->out_param.pixel_fmt = PXP_PIX_FMT_RGB565;
+       pxp_conf->out_param.width = proc_data->drect.width;
+       pxp_conf->out_param.height = proc_data->drect.height;
+
+       if (cam->rotation % 180)
+               pxp_conf->out_param.stride = pxp_conf->out_param.height;
+       else
+               pxp_conf->out_param.stride = pxp_conf->out_param.width;
+
+       desc = to_tx_desc(txd);
+       length = desc->len;
+       for (i = 0; i < length; i++) {
+               if (i == 0) {/* S0 */
+                       memcpy(&desc->proc_data, proc_data,
+                               sizeof(struct pxp_proc_data));
+                       pxp_conf->s0_param.paddr = sg_dma_address(&sg[0]);
+                       memcpy(&desc->layer_param.s0_param, &pxp_conf->s0_param,
+                               sizeof(struct pxp_layer_param));
+               } else if (i == 1) {
+                       pxp_conf->out_param.paddr = sg_dma_address(&sg[1]);
+                       memcpy(&desc->layer_param.out_param,
+                               &pxp_conf->out_param,
+                               sizeof(struct pxp_layer_param));
+               }
+
+               desc = desc->next;
+       }
+
+       /* Submitting our TX starts the PxP processing task */
+       cookie = txd->tx_submit(txd);
+       if (cookie < 0) {
+               pr_err("Error sending FB through PxP\n");
+               return -EIO;
+       }
+
+       cam->txd = txd;
+
+       /* trigger PxP */
+       dma_async_issue_pending(dma_chan);
+
+       return 0;
+}
+
+static int pxp_complete_update(cam_data *cam)
+{
+       int ret;
+       /*
+        * Wait for completion event, which will be set
+        * through our TX callback function.
+        */
+       ret = wait_for_completion_timeout(&cam->pxp_tx_cmpl, HZ / 10);
+       if (ret <= 0) {
+               pr_warning("PxP operation failed due to %s\n",
+                        ret < 0 ? "user interrupt" : "timeout");
+               dma_release_channel(&cam->pxp_chan->dma_chan);
+               cam->pxp_chan = NULL;
+               return ret ? : -ETIMEDOUT;
+       }
+
+       dma_release_channel(&cam->pxp_chan->dma_chan);
+       cam->pxp_chan = NULL;
+
+       pr_debug("TX completed\n");
+
+       return 0;
+}
+
+/*!
+ * Camera V4l2 callback function.
+ *
+ * @param mask            u32
+ * @param dev      void device structure
+ *
+ * @return none
+ */
+static void camera_callback(u32 mask, void *dev)
+{
+       struct mxc_v4l_frame *done_frame;
+       struct mxc_v4l_frame *ready_frame;
+       cam_data *cam;
+
+       cam = (cam_data *) dev;
+       if (cam == NULL)
+               return;
+
+       spin_lock(&cam->queue_int_lock);
+       spin_lock(&cam->dqueue_int_lock);
+       if (!list_empty(&cam->working_q)) {
+               done_frame = list_entry(cam->working_q.next,
+                               struct mxc_v4l_frame, queue);
+
+               if (done_frame->csi_buf_num != cam->ping_pong_csi)
+                       goto next;
+
+               if (done_frame->buffer.flags & V4L2_BUF_FLAG_QUEUED) {
+                       done_frame->buffer.flags |= V4L2_BUF_FLAG_DONE;
+                       done_frame->buffer.flags &= ~V4L2_BUF_FLAG_QUEUED;
+
+                       /* Added to the done queue */
+                       list_del(cam->working_q.next);
+                       list_add_tail(&done_frame->queue, &cam->done_q);
+                       cam->enc_counter++;
+                       wake_up_interruptible(&cam->enc_queue);
+               } else {
+                       pr_err("ERROR: v4l2 capture: %s: "
+                                       "buffer not queued\n", __func__);
+               }
+       }
+
+next:
+       if (!list_empty(&cam->ready_q)) {
+               ready_frame = list_entry(cam->ready_q.next,
+                                        struct mxc_v4l_frame, queue);
+               list_del(cam->ready_q.next);
+               list_add_tail(&ready_frame->queue, &cam->working_q);
+
+               __raw_writel(ready_frame->paddress,
+                       cam->ping_pong_csi == 1 ? CSI_CSIDMASA_FB1 :
+                                                 CSI_CSIDMASA_FB2);
+               ready_frame->csi_buf_num = cam->ping_pong_csi;
+       } else {
+               __raw_writel(cam->dummy_frame.paddress,
+                       cam->ping_pong_csi == 1 ? CSI_CSIDMASA_FB1 :
+                                                 CSI_CSIDMASA_FB2);
+       }
+       spin_unlock(&cam->dqueue_int_lock);
+       spin_unlock(&cam->queue_int_lock);
+
+       return;
+}
+
+/*!
+ * Make csi ready for capture image.
+ *
+ * @param cam      structure cam_data *
+ *
+ * @return status 0 success
+ */
+static int csi_cap_image(cam_data *cam)
+{
+       unsigned int value;
+
+       value = __raw_readl(CSI_CSICR3);
+       __raw_writel(value | BIT_FRMCNT_RST, CSI_CSICR3);
+       value = __raw_readl(CSI_CSISR);
+       __raw_writel(value, CSI_CSISR);
+
+       return 0;
+}
+
+/***************************************************************************
+ * Functions for handling Frame buffers.
+ **************************************************************************/
+
+/*!
+ * Free frame buffers
+ *
+ * @param cam      Structure cam_data *
+ *
+ * @return status  0 success.
+ */
+static int csi_free_frame_buf(cam_data *cam)
+{
+       int i;
+
+       pr_debug("MVC: In %s\n", __func__);
+
+       for (i = 0; i < FRAME_NUM; i++) {
+               if (cam->frame[i].vaddress != 0) {
+                       dma_free_coherent(0, cam->frame[i].buffer.length,
+                                            cam->frame[i].vaddress,
+                                            cam->frame[i].paddress);
+                       cam->frame[i].vaddress = 0;
+               }
+       }
+
+       if (cam->dummy_frame.vaddress != 0) {
+               dma_free_coherent(0, cam->dummy_frame.buffer.length,
+                                 cam->dummy_frame.vaddress,
+                                 cam->dummy_frame.paddress);
+               cam->dummy_frame.vaddress = 0;
+       }
+
+       return 0;
+}
+
+/*!
+ * Allocate frame buffers
+ *
+ * @param cam      Structure cam_data *
+ * @param count    int number of buffer need to allocated
+ *
+ * @return status  -0 Successfully allocated a buffer, -ENOBUFS        failed.
+ */
+static int csi_allocate_frame_buf(cam_data *cam, int count)
+{
+       int i;
+
+       pr_debug("In MVC:%s- size=%d\n",
+                __func__, cam->v2f.fmt.pix.sizeimage);
+       for (i = 0; i < count; i++) {
+               cam->frame[i].vaddress = dma_alloc_coherent(0, PAGE_ALIGN
+                                                              (cam->v2f.fmt.
+                                                              pix.sizeimage),
+                                                              &cam->frame[i].
+                                                              paddress,
+                                                              GFP_DMA |
+                                                              GFP_KERNEL);
+               if (cam->frame[i].vaddress == 0) {
+                       pr_err("ERROR: v4l2 capture: "
+                              "%s failed.\n", __func__);
+                       csi_free_frame_buf(cam);
+                       return -ENOBUFS;
+               }
+               cam->frame[i].buffer.index = i;
+               cam->frame[i].buffer.flags = V4L2_BUF_FLAG_MAPPED;
+               cam->frame[i].buffer.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
+               cam->frame[i].buffer.length = cam->v2f.fmt.pix.sizeimage;
+               cam->frame[i].buffer.memory = V4L2_MEMORY_MMAP;
+               cam->frame[i].buffer.m.offset = cam->frame[i].paddress;
+               cam->frame[i].index = i;
+               cam->frame[i].csi_buf_num = 0;
+       }
+
+       return 0;
+}
+
+/*!
+ * Free frame buffers status
+ *
+ * @param cam    Structure cam_data *
+ *
+ * @return none
+ */
+static void csi_free_frames(cam_data *cam)
+{
+       int i;
+
+       pr_debug("In MVC: %s\n", __func__);
+
+       for (i = 0; i < FRAME_NUM; i++)
+               cam->frame[i].buffer.flags = V4L2_BUF_FLAG_MAPPED;
+
+       cam->enc_counter = 0;
+       INIT_LIST_HEAD(&cam->ready_q);
+       INIT_LIST_HEAD(&cam->working_q);
+       INIT_LIST_HEAD(&cam->done_q);
+
+       return;
+}
+
+/*!
+ * Return the buffer status
+ *
+ * @param cam     Structure cam_data *
+ * @param buf      Structure v4l2_buffer *
+ *
+ * @return status  0 success, EINVAL failed.
+ */
+static int csi_v4l2_buffer_status(cam_data *cam, struct v4l2_buffer *buf)
+{
+       pr_debug("In MVC: %s\n", __func__);
+
+       if (buf->index < 0 || buf->index >= FRAME_NUM) {
+               pr_err("ERROR: v4l2 capture: %s buffers "
+                               "not allocated\n", __func__);
+               return -EINVAL;
+       }
+
+       memcpy(buf, &(cam->frame[buf->index].buffer), sizeof(*buf));
+
+       return 0;
+}
+
+static int csi_v4l2_release_bufs(cam_data *cam)
+{
+       pr_debug("In MVC:csi_v4l2_release_bufs\n");
+       return 0;
+}
+
+static int csi_v4l2_prepare_bufs(cam_data *cam, struct v4l2_buffer *buf)
+{
+       pr_debug("In MVC:csi_v4l2_prepare_bufs\n");
+
+       if (buf->index < 0 || buf->index >= FRAME_NUM || buf->length <
+                       cam->v2f.fmt.pix.sizeimage) {
+               pr_err("ERROR: v4l2 capture: csi_v4l2_prepare_bufs buffers "
+                       "not allocated,index=%d, length=%d\n", buf->index,
+                       buf->length);
+               return -EINVAL;
+       }
+
+       cam->frame[buf->index].buffer.index = buf->index;
+       cam->frame[buf->index].buffer.flags = V4L2_BUF_FLAG_MAPPED;
+       cam->frame[buf->index].buffer.length = buf->length;
+       cam->frame[buf->index].buffer.m.offset = cam->frame[buf->index].paddress
+               = buf->m.offset;
+       cam->frame[buf->index].buffer.type = buf->type;
+       cam->frame[buf->index].buffer.memory = V4L2_MEMORY_USERPTR;
+       cam->frame[buf->index].index = buf->index;
+
+       return 0;
+}
+
+/*!
+ * Indicates whether the palette is supported.
+ *
+ * @param palette V4L2_PIX_FMT_RGB565, V4L2_PIX_FMT_UYVY or V4L2_PIX_FMT_YUV420
+ *
+ * @return 0 if failed
+ */
+static inline int valid_mode(u32 palette)
+{
+       return (palette == V4L2_PIX_FMT_RGB565) ||
+           (palette == V4L2_PIX_FMT_YUYV) ||
+           (palette == V4L2_PIX_FMT_UYVY) || (palette == V4L2_PIX_FMT_YUV420);
+}
+
+/*!
+ * Start stream I/O
+ *
+ * @param cam      structure cam_data *
+ *
+ * @return status  0 Success
+ */
+static int csi_streamon(cam_data *cam)
+{
+       struct mxc_v4l_frame *frame;
+       unsigned long flags;
+       unsigned long val;
+       int timeout, timeout2;
+
+       pr_debug("In MVC: %s\n", __func__);
+
+       if (NULL == cam) {
+               pr_err("ERROR: v4l2 capture: %s cam parameter is NULL\n",
+                               __func__);
+               return -1;
+       }
+       cam->dummy_frame.vaddress = dma_alloc_coherent(0,
+                              PAGE_ALIGN(cam->v2f.fmt.pix.sizeimage),
+                              &cam->dummy_frame.paddress,
+                              GFP_DMA | GFP_KERNEL);
+       if (cam->dummy_frame.vaddress == 0) {
+               pr_err("ERROR: v4l2 capture: Allocate dummy frame "
+                      "failed.\n");
+               return -ENOBUFS;
+       }
+       cam->dummy_frame.buffer.type = V4L2_BUF_TYPE_PRIVATE;
+       cam->dummy_frame.buffer.length = cam->v2f.fmt.pix.sizeimage;
+       cam->dummy_frame.buffer.m.offset = cam->dummy_frame.paddress;
+
+       spin_lock_irqsave(&cam->queue_int_lock, flags);
+       /* move the frame from readyq to workingq */
+       if (list_empty(&cam->ready_q)) {
+               pr_err("ERROR: v4l2 capture: %s: "
+                               "ready_q queue empty\n", __func__);
+               spin_unlock_irqrestore(&cam->queue_int_lock, flags);
+               return -1;
+       }
+       frame = list_entry(cam->ready_q.next, struct mxc_v4l_frame, queue);
+       list_del(cam->ready_q.next);
+       list_add_tail(&frame->queue, &cam->working_q);
+       __raw_writel(frame->paddress, CSI_CSIDMASA_FB1);
+       frame->csi_buf_num = 1;
+
+       if (list_empty(&cam->ready_q)) {
+               pr_err("ERROR: v4l2 capture: %s: "
+                               "ready_q queue empty\n", __func__);
+               spin_unlock_irqrestore(&cam->queue_int_lock, flags);
+               return -1;
+       }
+       frame = list_entry(cam->ready_q.next, struct mxc_v4l_frame, queue);
+       list_del(cam->ready_q.next);
+       list_add_tail(&frame->queue, &cam->working_q);
+       __raw_writel(frame->paddress, CSI_CSIDMASA_FB2);
+       frame->csi_buf_num = 2;
+       spin_unlock_irqrestore(&cam->queue_int_lock, flags);
+
+       cam->capture_pid = current->pid;
+       cam->capture_on = true;
+       csi_cap_image(cam);
+
+       local_irq_save(flags);
+       for (timeout = 1000000; timeout > 0; timeout--) {
+               if (__raw_readl(CSI_CSISR) & BIT_SOF_INT) {
+                       val = __raw_readl(CSI_CSICR3);
+                       __raw_writel(val | BIT_DMA_REFLASH_RFF, CSI_CSICR3);
+                       for (timeout2 = 1000000; timeout2 > 0; timeout2--) {
+                               if (__raw_readl(CSI_CSICR3) &
+                                       BIT_DMA_REFLASH_RFF)
+                                       cpu_relax();
+                               else
+                                       break;
+                       }
+                       if (timeout2 <= 0) {
+                               pr_err("timeout when wait for reflash done.\n");
+                               local_irq_restore(flags);
+                               return -ETIME;
+                       }
+
+                       csi_dmareq_rff_enable();
+                       csi_enable_int(1);
+                       break;
+               } else
+                       cpu_relax();
+       }
+       if (timeout <= 0) {
+               pr_err("timeout when wait for SOF\n");
+               local_irq_restore(flags);
+               return -ETIME;
+       }
+       local_irq_restore(flags);
+
+       return 0;
+}
+
+/*!
+ * Stop stream I/O
+ *
+ * @param cam      structure cam_data *
+ *
+ * @return status  0 Success
+ */
+static int csi_streamoff(cam_data *cam)
+{
+       pr_debug("In MVC: %s\n", __func__);
+
+       if (cam->capture_on == false)
+               return 0;
+
+       csi_dmareq_rff_disable();
+       csi_disable_int();
+       cam->capture_on = false;
+
+       /* set CSI_CSIDMASA_FB1 and CSI_CSIDMASA_FB2 to default value */
+       __raw_writel(0, CSI_CSIDMASA_FB1);
+       __raw_writel(0, CSI_CSIDMASA_FB2);
+
+       csi_free_frames(cam);
+       csi_free_frame_buf(cam);
+
+       return 0;
+}
+
+/*!
+ * start the viewfinder job
+ *
+ * @param cam      structure cam_data *
+ *
+ * @return status  0 Success
+ */
+static int start_preview(cam_data *cam)
+{
+       unsigned long fb_addr = (unsigned long)cam->v4l2_fb.base;
+
+       __raw_writel(fb_addr, CSI_CSIDMASA_FB1);
+       __raw_writel(fb_addr, CSI_CSIDMASA_FB2);
+       __raw_writel(__raw_readl(CSI_CSICR3) | BIT_DMA_REFLASH_RFF, CSI_CSICR3);
+
+       csi_enable_int(0);
+
+       return 0;
+}
+
+/*!
+ * shut down the viewfinder job
+ *
+ * @param cam      structure cam_data *
+ *
+ * @return status  0 Success
+ */
+static int stop_preview(cam_data *cam)
+{
+       csi_disable_int();
+
+       /* set CSI_CSIDMASA_FB1 and CSI_CSIDMASA_FB2 to default value */
+       __raw_writel(0, CSI_CSIDMASA_FB1);
+       __raw_writel(0, CSI_CSIDMASA_FB2);
+       __raw_writel(__raw_readl(CSI_CSICR3) | BIT_DMA_REFLASH_RFF, CSI_CSICR3);
+
+       return 0;
+}
+
+/***************************************************************************
+ * VIDIOC Functions.
+ **************************************************************************/
+
+/*!
+ *
+ * @param cam         structure cam_data *
+ *
+ * @param f           structure v4l2_format *
+ *
+ * @return  status    0 success, EINVAL failed
+ */
+static int csi_v4l2_g_fmt(cam_data *cam, struct v4l2_format *f)
+{
+       int retval = 0;
+
+       switch (f->type) {
+       case V4L2_BUF_TYPE_VIDEO_CAPTURE:
+               pr_debug("   type is V4L2_BUF_TYPE_VIDEO_CAPTURE\n");
+               f->fmt.pix = cam->v2f.fmt.pix;
+               break;
+       case V4L2_BUF_TYPE_VIDEO_OVERLAY:
+               pr_debug("   type is V4L2_BUF_TYPE_VIDEO_OVERLAY\n");
+               f->fmt.win = cam->win;
+               break;
+       default:
+               pr_debug("   type is invalid\n");
+               retval = -EINVAL;
+       }
+
+       pr_debug("End of %s: v2f pix widthxheight %d x %d\n",
+                __func__, cam->v2f.fmt.pix.width, cam->v2f.fmt.pix.height);
+
+       return retval;
+}
+
+/*!
+ * V4L2 - csi_v4l2_s_fmt function
+ *
+ * @param cam         structure cam_data *
+ *
+ * @param f           structure v4l2_format *
+ *
+ * @return  status    0 success, EINVAL failed
+ */
+static int csi_v4l2_s_fmt(cam_data *cam, struct v4l2_format *f)
+{
+       int retval = 0;
+       int size = 0;
+       int bytesperline = 0;
+       int *width, *height;
+
+       pr_debug("In MVC: %s\n", __func__);
+
+       switch (f->type) {
+       case V4L2_BUF_TYPE_VIDEO_CAPTURE:
+               pr_debug("   type=V4L2_BUF_TYPE_VIDEO_CAPTURE\n");
+               if (!valid_mode(f->fmt.pix.pixelformat)) {
+                       pr_err("ERROR: v4l2 capture: %s: format "
+                              "not supported\n", __func__);
+                       return -EINVAL;
+               }
+
+               /* Handle case where size requested is larger than cuurent
+                * camera setting. */
+               if ((f->fmt.pix.width > cam->crop_bounds.width)
+                   || (f->fmt.pix.height > cam->crop_bounds.height)) {
+                       /* Need the logic here, calling vidioc_s_param if
+                        * camera can change. */
+                       pr_debug("csi_v4l2_s_fmt size changed\n");
+               }
+               if (cam->rotation % 180) {
+                       height = &f->fmt.pix.width;
+                       width = &f->fmt.pix.height;
+               } else {
+                       width = &f->fmt.pix.width;
+                       height = &f->fmt.pix.height;
+               }
+
+               if ((cam->crop_bounds.width / *width > 8) ||
+                   ((cam->crop_bounds.width / *width == 8) &&
+                    (cam->crop_bounds.width % *width))) {
+                       *width = cam->crop_bounds.width / 8;
+                       if (*width % 8)
+                               *width += 8 - *width % 8;
+                       pr_err("ERROR: v4l2 capture: width exceeds limit "
+                              "resize to %d.\n", *width);
+               }
+
+               if ((cam->crop_bounds.height / *height > 8) ||
+                   ((cam->crop_bounds.height / *height == 8) &&
+                    (cam->crop_bounds.height % *height))) {
+                       *height = cam->crop_bounds.height / 8;
+                       if (*height % 8)
+                               *height += 8 - *height % 8;
+                       pr_err("ERROR: v4l2 capture: height exceeds limit "
+                              "resize to %d.\n", *height);
+               }
+
+               switch (f->fmt.pix.pixelformat) {
+               case V4L2_PIX_FMT_RGB565:
+                       size = f->fmt.pix.width * f->fmt.pix.height * 2;
+                       csi_init_format(V4L2_PIX_FMT_UYVY);
+                       csi_set_16bit_imagpara(f->fmt.pix.width,
+                                              f->fmt.pix.height);
+                       bytesperline = f->fmt.pix.width * 2;
+                       break;
+               case V4L2_PIX_FMT_UYVY:
+                       size = f->fmt.pix.width * f->fmt.pix.height * 2;
+                       csi_init_format(f->fmt.pix.pixelformat);
+                       csi_set_16bit_imagpara(f->fmt.pix.width,
+                                              f->fmt.pix.height);
+                       bytesperline = f->fmt.pix.width * 2;
+                       break;
+               case V4L2_PIX_FMT_YUYV:
+                       size = f->fmt.pix.width * f->fmt.pix.height * 2;
+                       csi_init_format(f->fmt.pix.pixelformat);
+                       csi_set_16bit_imagpara(f->fmt.pix.width,
+                                              f->fmt.pix.height);
+                       bytesperline = f->fmt.pix.width * 2;
+                       break;
+               case V4L2_PIX_FMT_YUV420:
+                       size = f->fmt.pix.width * f->fmt.pix.height * 3 / 2;
+                       csi_set_12bit_imagpara(f->fmt.pix.width,
+                                              f->fmt.pix.height);
+                       bytesperline = f->fmt.pix.width;
+                       break;
+               case V4L2_PIX_FMT_YUV422P:
+               case V4L2_PIX_FMT_RGB24:
+               case V4L2_PIX_FMT_BGR24:
+               case V4L2_PIX_FMT_BGR32:
+               case V4L2_PIX_FMT_RGB32:
+               case V4L2_PIX_FMT_NV12:
+               default:
+                       pr_debug("   case not supported\n");
+                       break;
+               }
+
+               if (f->fmt.pix.bytesperline < bytesperline)
+                       f->fmt.pix.bytesperline = bytesperline;
+               else
+                       bytesperline = f->fmt.pix.bytesperline;
+
+               if (f->fmt.pix.sizeimage < size)
+                       f->fmt.pix.sizeimage = size;
+               else
+                       size = f->fmt.pix.sizeimage;
+
+               cam->v2f.fmt.pix = f->fmt.pix;
+
+               if (cam->v2f.fmt.pix.priv != 0) {
+                       if (copy_from_user(&cam->offset,
+                                          (void *)cam->v2f.fmt.pix.priv,
+                                          sizeof(cam->offset))) {
+                               retval = -EFAULT;
+                               break;
+                       }
+               }
+               break;
+       case V4L2_BUF_TYPE_VIDEO_OVERLAY:
+               pr_debug("   type=V4L2_BUF_TYPE_VIDEO_OVERLAY\n");
+               cam->win = f->fmt.win;
+               win_current = f->fmt.win;
+               size = win_current.w.width * win_current.w.height * 2;
+               if (cam->v2f.fmt.pix.sizeimage < size)
+                       cam->v2f.fmt.pix.sizeimage = size;
+
+               break;
+       default:
+               retval = -EINVAL;
+       }
+
+       pr_debug("End of %s: v2f pix widthxheight %d x %d\n",
+                __func__, cam->v2f.fmt.pix.width, cam->v2f.fmt.pix.height);
+
+       return retval;
+}
+
+/*!
+ * V4L2 - csi_v4l2_s_param function
+ * Allows setting of capturemode and frame rate.
+ *
+ * @param cam         structure cam_data *
+ * @param parm        structure v4l2_streamparm *
+ *
+ * @return  status    0 success, EINVAL failed
+ */
+static int csi_v4l2_s_param(cam_data *cam, struct v4l2_streamparm *parm)
+{
+       struct v4l2_ifparm ifparm;
+       struct v4l2_format cam_fmt;
+       struct v4l2_streamparm currentparm;
+       int err = 0;
+
+       pr_debug("In %s\n", __func__);
+
+       if (parm->type != V4L2_BUF_TYPE_VIDEO_CAPTURE) {
+               pr_err(KERN_ERR "%s invalid type\n", __func__);
+               return -EINVAL;
+       }
+
+       /* Stop the viewfinder */
+       if (cam->overlay_on == true)
+               stop_preview(cam);
+
+       currentparm.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
+
+       /* First check that this device can support the changes requested. */
+       err = vidioc_int_g_parm(cam->sensor, &currentparm);
+       if (err) {
+               pr_err("%s: vidioc_int_g_parm returned an error %d\n",
+                      __func__, err);
+               goto exit;
+       }
+
+       pr_debug("   Current capabilities are %x\n",
+                currentparm.parm.capture.capability);
+       pr_debug("   Current capturemode is %d  change to %d\n",
+                currentparm.parm.capture.capturemode,
+                parm->parm.capture.capturemode);
+       pr_debug("   Current framerate is %d  change to %d\n",
+                currentparm.parm.capture.timeperframe.denominator,
+                parm->parm.capture.timeperframe.denominator);
+
+       err = vidioc_int_s_parm(cam->sensor, parm);
+       if (err) {
+               pr_err("%s: vidioc_int_s_parm returned an error %d\n",
+                      __func__, err);
+               goto exit;
+       }
+
+       vidioc_int_g_ifparm(cam->sensor, &ifparm);
+       cam_fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
+       vidioc_int_g_fmt_cap(cam->sensor, &cam_fmt);
+       pr_debug("   g_fmt_cap returns widthxheight of input as %d x %d\n",
+                cam_fmt.fmt.pix.width, cam_fmt.fmt.pix.height);
+
+       cam->crop_bounds.top = cam->crop_bounds.left = 0;
+       cam->crop_bounds.width = cam_fmt.fmt.pix.width;
+       cam->crop_bounds.height = cam_fmt.fmt.pix.height;
+       cam->crop_current.width = cam->crop_bounds.width;
+       cam->crop_current.height = cam->crop_bounds.height;
+
+exit:
+       return err;
+}
+
+static int pxp_set_cstate(cam_data *cam, struct v4l2_control *vc)
+{
+       struct pxp_proc_data *proc_data = &cam->pxp_conf.proc_data;
+
+       if (vc->id == V4L2_CID_HFLIP) {
+               proc_data->hflip = vc->value;
+       } else if (vc->id == V4L2_CID_VFLIP) {
+               proc_data->vflip = vc->value;
+       } else if (vc->id == V4L2_CID_PRIVATE_BASE) {
+               if (vc->value % 90)
+                       return -ERANGE;
+               proc_data->rotate = vc->value;
+               cam->rotation = vc->value;
+       }
+
+       return 0;
+}
+
+static int pxp_get_cstate(cam_data *cam, struct v4l2_control *vc)
+{
+       struct pxp_proc_data *proc_data = &cam->pxp_conf.proc_data;
+
+       if (vc->id == V4L2_CID_HFLIP)
+               vc->value = proc_data->hflip;
+       else if (vc->id == V4L2_CID_VFLIP)
+               vc->value = proc_data->vflip;
+       else if (vc->id == V4L2_CID_PRIVATE_BASE)
+               vc->value = proc_data->rotate;
+
+       return 0;
+}
+
+
+/*!
+ * Dequeue one V4L capture buffer
+ *
+ * @param cam         structure cam_data *
+ * @param buf         structure v4l2_buffer *
+ *
+ * @return  status    0 success, EINVAL invalid frame number
+ *                    ETIME timeout, ERESTARTSYS interrupted by user
+ */
+static int csi_v4l_dqueue(cam_data *cam, struct v4l2_buffer *buf)
+{
+       int retval = 0;
+       struct mxc_v4l_frame *frame;
+       unsigned long lock_flags;
+
+       if (!wait_event_interruptible_timeout(cam->enc_queue,
+                               cam->enc_counter != 0, 10 * HZ)) {
+               pr_err("ERROR: v4l2 capture: mxc_v4l_dqueue timeout "
+                       "enc_counter %x\n", cam->enc_counter);
+               return -ETIME;
+       } else if (signal_pending(current)) {
+               pr_err("ERROR: v4l2 capture: mxc_v4l_dqueue() "
+                               "interrupt received\n");
+               return -ERESTARTSYS;
+       }
+
+       if (down_interruptible(&cam->busy_lock))
+               return -EBUSY;
+
+       spin_lock_irqsave(&cam->dqueue_int_lock, lock_flags);
+
+       if (list_empty(&cam->done_q)) {
+               spin_unlock_irqrestore(&cam->dqueue_int_lock, lock_flags);
+               up(&cam->busy_lock);
+               return -EINVAL;
+       }
+
+       cam->enc_counter--;
+
+       frame = list_entry(cam->done_q.next, struct mxc_v4l_frame, queue);
+       list_del(cam->done_q.next);
+
+       if (frame->buffer.flags & V4L2_BUF_FLAG_DONE) {
+               frame->buffer.flags &= ~V4L2_BUF_FLAG_DONE;
+       } else if (frame->buffer.flags & V4L2_BUF_FLAG_QUEUED) {
+               pr_err("ERROR: v4l2 capture: VIDIOC_DQBUF: "
+                       "Buffer not filled.\n");
+               frame->buffer.flags &= ~V4L2_BUF_FLAG_QUEUED;
+               retval = -EINVAL;
+       } else if ((frame->buffer.flags & 0x7) == V4L2_BUF_FLAG_MAPPED) {
+               pr_err("ERROR: v4l2 capture: VIDIOC_DQBUF: "
+                       "Buffer not queued.\n");
+               retval = -EINVAL;
+       }
+
+       spin_unlock_irqrestore(&cam->dqueue_int_lock, lock_flags);
+
+       buf->bytesused = cam->v2f.fmt.pix.sizeimage;
+       buf->index = frame->index;
+       buf->flags = frame->buffer.flags;
+       buf->m = cam->frame[frame->index].buffer.m;
+
+       /*
+        * Note:
+        * If want to do preview on LCD, use PxP CSC to convert from UYVY
+        * to RGB565; but for encoding, usually we don't use RGB format.
+        */
+       if (cam->v2f.fmt.pix.pixelformat == V4L2_PIX_FMT_RGB565) {
+               sg_dma_address(&cam->sg[0]) = buf->m.offset;
+               sg_dma_address(&cam->sg[1]) =
+                       cam->frame[req_buf_number].paddress;
+               retval = pxp_process_update(cam);
+               if (retval) {
+                       pr_err("Unable to submit PxP update task.\n");
+                       return retval;
+               }
+               pxp_complete_update(cam);
+               if (cam->frame[buf->index].vaddress)
+                       memcpy(cam->frame[buf->index].vaddress,
+                       cam->frame[req_buf_number].vaddress,
+                       cam->v2f.fmt.pix.sizeimage);
+       }
+       up(&cam->busy_lock);
+
+       return retval;
+}
+
+/*!
+ * V4L interface - open function
+ *
+ * @param file         structure file *
+ *
+ * @return  status    0 success, ENODEV invalid device instance,
+ *                    ENODEV timeout, ERESTARTSYS interrupted by user
+ */
+static int csi_v4l_open(struct file *file)
+{
+       struct v4l2_ifparm ifparm;
+       struct v4l2_format cam_fmt;
+       struct video_device *dev = video_devdata(file);
+       cam_data *cam = video_get_drvdata(dev);
+       struct sensor_data *sensor;
+       int err = 0;
+
+       pr_debug("   device name is %s\n", dev->name);
+
+       if (!cam) {
+               pr_err("%s: Internal error, cam_data not found!\n", __func__);
+               return -EBADF;
+       }
+
+       if (!cam->sensor) {
+               pr_err("%s: Internal error, camera is not found!\n", __func__);
+               return -EBADF;
+       }
+
+       sensor = cam->sensor->priv;
+       if (!sensor) {
+               pr_err("%s: Internal error, sensor_data is not found!\n", __func__);
+               return -EBADF;
+       }
+
+       down(&cam->busy_lock);
+       err = 0;
+       if (signal_pending(current))
+               goto oops;
+
+       if (cam->open_count++ == 0) {
+               wait_event_interruptible(cam->power_queue,
+                                        cam->low_power == false);
+
+               cam->enc_counter = 0;
+               INIT_LIST_HEAD(&cam->ready_q);
+               INIT_LIST_HEAD(&cam->working_q);
+               INIT_LIST_HEAD(&cam->done_q);
+
+               vidioc_int_g_ifparm(cam->sensor, &ifparm);
+
+               cam_fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
+               clk_prepare_enable(sensor->sensor_clk);
+               vidioc_int_s_power(cam->sensor, 1);
+               vidioc_int_init(cam->sensor);
+               vidioc_int_dev_init(cam->sensor);
+       }
+
+       file->private_data = dev;
+
+oops:
+       up(&cam->busy_lock);
+       return err;
+}
+
+/*!
+ * V4L interface - close function
+ *
+ * @param file     struct file *
+ *
+ * @return         0 success
+ */
+static int csi_v4l_close(struct file *file)
+{
+       struct video_device *dev = video_devdata(file);
+       int err = 0;
+       cam_data *cam = video_get_drvdata(dev);
+       struct sensor_data *sensor;
+
+       pr_debug("In MVC:%s\n", __func__);
+
+       if (!cam) {
+               pr_err("%s: Internal error, cam_data not found!\n", __func__);
+               return -EBADF;
+       }
+
+       if (!cam->sensor) {
+               pr_err("%s: Internal error, camera is not found!\n", __func__);
+               return -EBADF;
+       }
+
+       sensor = cam->sensor->priv;
+       if (!sensor) {
+               pr_err("%s: Internal error, sensor_data is not found!\n", __func__);
+               return -EBADF;
+       }
+
+       /* for the case somebody hit the ctrl C */
+       if (cam->overlay_pid == current->pid) {
+               err = stop_preview(cam);
+               cam->overlay_on = false;
+       }
+
+       if (--cam->open_count == 0) {
+               wait_event_interruptible(cam->power_queue,
+                                        cam->low_power == false);
+               file->private_data = NULL;
+               vidioc_int_s_power(cam->sensor, 0);
+               clk_disable_unprepare(sensor->sensor_clk);
+       }
+
+       return err;
+}
+
+/*
+ * V4L interface - read function
+ *
+ * @param file       struct file *
+ * @param read buf   char *
+ * @param count      size_t
+ * @param ppos       structure loff_t *
+ *
+ * @return           bytes read
+ */
+static ssize_t csi_v4l_read(struct file *file, char *buf, size_t count,
+                           loff_t *ppos)
+{
+       int err = 0;
+       struct video_device *dev = video_devdata(file);
+       cam_data *cam = video_get_drvdata(dev);
+
+       if (down_interruptible(&cam->busy_lock))
+               return -EINTR;
+
+       /* Stop the viewfinder */
+       if (cam->overlay_on == true)
+               stop_preview(cam);
+
+       if (cam->still_buf_vaddr == NULL) {
+               cam->still_buf_vaddr = dma_alloc_coherent(0,
+                                                         PAGE_ALIGN
+                                                         (cam->v2f.fmt.
+                                                          pix.sizeimage),
+                                                         &cam->
+                                                         still_buf[0],
+                                                         GFP_DMA | GFP_KERNEL);
+               if (cam->still_buf_vaddr == NULL) {
+                       pr_err("alloc dma memory failed\n");
+                       return -ENOMEM;
+               }
+               cam->still_counter = 0;
+               __raw_writel(cam->still_buf[0], CSI_CSIDMASA_FB2);
+               __raw_writel(cam->still_buf[0], CSI_CSIDMASA_FB1);
+               __raw_writel(__raw_readl(CSI_CSICR3) | BIT_DMA_REFLASH_RFF,
+                            CSI_CSICR3);
+               __raw_writel(__raw_readl(CSI_CSISR), CSI_CSISR);
+               __raw_writel(__raw_readl(CSI_CSICR3) | BIT_FRMCNT_RST,
+                            CSI_CSICR3);
+               csi_enable_int(1);
+       }
+
+       wait_event_interruptible(cam->still_queue, cam->still_counter);
+       csi_disable_int();
+       err = copy_to_user(buf, cam->still_buf_vaddr,
+                          cam->v2f.fmt.pix.sizeimage);
+
+       if (cam->still_buf_vaddr != NULL) {
+               dma_free_coherent(0, PAGE_ALIGN(cam->v2f.fmt.pix.sizeimage),
+                                 cam->still_buf_vaddr, cam->still_buf[0]);
+               cam->still_buf[0] = 0;
+               cam->still_buf_vaddr = NULL;
+       }
+
+       if (cam->overlay_on == true)
+               start_preview(cam);
+
+       up(&cam->busy_lock);
+       if (err < 0)
+               return err;
+
+       return cam->v2f.fmt.pix.sizeimage - err;
+}
+
+/*!
+ * V4L interface - ioctl function
+ *
+ * @param file       struct file*
+ *
+ * @param ioctlnr    unsigned int
+ *
+ * @param arg        void*
+ *
+ * @return           0 success, ENODEV for invalid device instance,
+ *                   -1 for other errors.
+ */
+static long csi_v4l_do_ioctl(struct file *file,
+                           unsigned int ioctlnr, void *arg)
+{
+       struct video_device *dev = video_devdata(file);
+       cam_data *cam = video_get_drvdata(dev);
+       int retval = 0;
+       unsigned long lock_flags;
+
+       pr_debug("In MVC: %s, %x\n", __func__, ioctlnr);
+       wait_event_interruptible(cam->power_queue, cam->low_power == false);
+       /* make this _really_ smp-safe */
+       if (ioctlnr != VIDIOC_DQBUF)
+               if (down_interruptible(&cam->busy_lock))
+                       return -EBUSY;
+
+       switch (ioctlnr) {
+               /*!
+                * V4l2 VIDIOC_G_FMT ioctl
+                */
+       case VIDIOC_G_FMT:{
+                       struct v4l2_format *gf = arg;
+                       pr_debug("   case VIDIOC_G_FMT\n");
+                       retval = csi_v4l2_g_fmt(cam, gf);
+                       break;
+               }
+
+               /*!
+                * V4l2 VIDIOC_S_FMT ioctl
+                */
+       case VIDIOC_S_FMT:{
+                       struct v4l2_format *sf = arg;
+                       pr_debug("   case VIDIOC_S_FMT\n");
+                       retval = csi_v4l2_s_fmt(cam, sf);
+                       vidioc_int_s_fmt_cap(cam->sensor, sf);
+                       break;
+               }
+
+               /*!
+                * V4l2 VIDIOC_OVERLAY ioctl
+                */
+       case VIDIOC_OVERLAY:{
+                       int *on = arg;
+                       pr_debug("   case VIDIOC_OVERLAY\n");
+                       if (*on) {
+                               cam->overlay_on = true;
+                               cam->overlay_pid = current->pid;
+                               start_preview(cam);
+                       }
+                       if (!*on) {
+                               stop_preview(cam);
+                               cam->overlay_on = false;
+                       }
+                       break;
+               }
+
+               /*!
+                * V4l2 VIDIOC_G_FBUF ioctl
+                */
+       case VIDIOC_G_FBUF:{
+                       struct v4l2_framebuffer *fb = arg;
+                       *fb = cam->v4l2_fb;
+                       fb->capability = V4L2_FBUF_CAP_EXTERNOVERLAY;
+                       break;
+               }
+
+               /*!
+                * V4l2 VIDIOC_S_FBUF ioctl
+                */
+       case VIDIOC_S_FBUF:{
+                       struct v4l2_framebuffer *fb = arg;
+                       cam->v4l2_fb = *fb;
+                       break;
+               }
+
+       case VIDIOC_G_PARM:{
+                       struct v4l2_streamparm *parm = arg;
+                       pr_debug("   case VIDIOC_G_PARM\n");
+                       vidioc_int_g_parm(cam->sensor, parm);
+                       break;
+               }
+
+       case VIDIOC_S_PARM:{
+                       struct v4l2_streamparm *parm = arg;
+                       pr_debug("   case VIDIOC_S_PARM\n");
+                       retval = csi_v4l2_s_param(cam, parm);
+                       break;
+               }
+
+       case VIDIOC_QUERYCAP:{
+                       struct v4l2_capability *cap = arg;
+                       pr_debug("   case VIDIOC_QUERYCAP\n");
+                       strcpy(cap->driver, "csi_v4l2");
+                       cap->version = KERNEL_VERSION(0, 1, 11);
+                       cap->capabilities = V4L2_CAP_VIDEO_OVERLAY |
+                           V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_STREAMING |
+                           V4L2_CAP_VIDEO_OUTPUT_OVERLAY | V4L2_CAP_READWRITE;
+                       cap->card[0] = '\0';
+                       cap->bus_info[0] = '\0';
+                       break;
+               }
+
+       case VIDIOC_CROPCAP:
+       {
+               struct v4l2_cropcap *cap = arg;
+
+               if (cap->type != V4L2_BUF_TYPE_VIDEO_CAPTURE &&
+                   cap->type != V4L2_BUF_TYPE_VIDEO_OVERLAY) {
+                       retval = -EINVAL;
+                       break;
+               }
+               cap->bounds = cam->crop_bounds;
+               cap->defrect = cam->crop_defrect;
+               break;
+       }
+       case VIDIOC_S_CROP:
+       {
+               struct v4l2_crop *crop = arg;
+               struct v4l2_rect *b = &cam->crop_bounds;
+
+               if (crop->type != V4L2_BUF_TYPE_VIDEO_CAPTURE) {
+                       retval = -EINVAL;
+                       break;
+               }
+
+               crop->c.top = (crop->c.top < b->top) ? b->top
+                             : crop->c.top;
+               if (crop->c.top > b->top + b->height)
+                       crop->c.top = b->top + b->height - 1;
+               if (crop->c.height > b->top + b->height - crop->c.top)
+                       crop->c.height =
+                               b->top + b->height - crop->c.top;
+
+               crop->c.left = (crop->c.left < b->left) ? b->left
+                   : crop->c.left;
+               if (crop->c.left > b->left + b->width)
+                       crop->c.left = b->left + b->width - 1;
+               if (crop->c.width > b->left - crop->c.left + b->width)
+                       crop->c.width =
+                               b->left - crop->c.left + b->width;
+
+               crop->c.width -= crop->c.width % 8;
+               crop->c.height -= crop->c.height % 8;
+
+               crop_current.c = crop->c;
+
+               break;
+       }
+       case VIDIOC_G_CROP:
+       {
+               struct v4l2_crop *crop = arg;
+
+               if (crop->type != V4L2_BUF_TYPE_VIDEO_CAPTURE) {
+                       retval = -EINVAL;
+                       break;
+               }
+               crop->c = crop_current.c;
+
+               break;
+
+       }
+       case VIDIOC_REQBUFS: {
+               struct v4l2_requestbuffers *req = arg;
+               pr_debug("   case VIDIOC_REQBUFS\n");
+
+               if (req->count > FRAME_NUM) {
+                       pr_err("ERROR: v4l2 capture: VIDIOC_REQBUFS: "
+                                       "not enough buffers\n");
+                       req->count = FRAME_NUM;
+               }
+
+               if (req->type != V4L2_BUF_TYPE_VIDEO_CAPTURE) {
+                       pr_err("ERROR: v4l2 capture: VIDIOC_REQBUFS: "
+                                       "wrong buffer type\n");
+                       retval = -EINVAL;
+                       break;
+               }
+
+               csi_streamoff(cam);
+               if (req->memory & V4L2_MEMORY_MMAP) {
+                       csi_free_frame_buf(cam);
+                       retval = csi_allocate_frame_buf(cam, req->count + 1);
+                       req_buf_number = req->count;
+               }
+               break;
+       }
+
+       case VIDIOC_QUERYBUF: {
+               struct v4l2_buffer *buf = arg;
+               int index = buf->index;
+               pr_debug("   case VIDIOC_QUERYBUF\n");
+
+               if (buf->type != V4L2_BUF_TYPE_VIDEO_CAPTURE) {
+                       retval = -EINVAL;
+                       break;
+               }
+
+               if (buf->memory & V4L2_MEMORY_MMAP) {
+                       memset(buf, 0, sizeof(buf));
+                       buf->index = index;
+               }
+
+               down(&cam->param_lock);
+               if (buf->memory & V4L2_MEMORY_USERPTR) {
+                       csi_v4l2_release_bufs(cam);
+                       retval = csi_v4l2_prepare_bufs(cam, buf);
+               }
+               if (buf->memory & V4L2_MEMORY_MMAP)
+                       retval = csi_v4l2_buffer_status(cam, buf);
+               up(&cam->param_lock);
+               break;
+       }
+
+       case VIDIOC_QBUF: {
+               struct v4l2_buffer *buf = arg;
+               int index = buf->index;
+               pr_debug("   case VIDIOC_QBUF\n");
+
+               spin_lock_irqsave(&cam->queue_int_lock, lock_flags);
+               cam->frame[index].buffer.m.offset = buf->m.offset;
+               if ((cam->frame[index].buffer.flags & 0x7) ==
+                               V4L2_BUF_FLAG_MAPPED) {
+                       cam->frame[index].buffer.flags |= V4L2_BUF_FLAG_QUEUED;
+                       list_add_tail(&cam->frame[index].queue, &cam->ready_q);
+               } else if (cam->frame[index].buffer.flags &
+                               V4L2_BUF_FLAG_QUEUED) {
+                       pr_err("ERROR: v4l2 capture: VIDIOC_QBUF: "
+                                       "buffer already queued\n");
+                       retval = -EINVAL;
+               } else if (cam->frame[index].buffer.
+                          flags & V4L2_BUF_FLAG_DONE) {
+                       pr_err("ERROR: v4l2 capture: VIDIOC_QBUF: "
+                              "overwrite done buffer.\n");
+                       cam->frame[index].buffer.flags &=
+                           ~V4L2_BUF_FLAG_DONE;
+                       cam->frame[index].buffer.flags |=
+                           V4L2_BUF_FLAG_QUEUED;
+                       retval = -EINVAL;
+               }
+               buf->flags = cam->frame[index].buffer.flags;
+               spin_unlock_irqrestore(&cam->queue_int_lock, lock_flags);
+
+               break;
+       }
+
+       case VIDIOC_DQBUF: {
+               struct v4l2_buffer *buf = arg;
+               pr_debug("   case VIDIOC_DQBUF\n");
+
+               retval = csi_v4l_dqueue(cam, buf);
+
+               break;
+       }
+
+       case VIDIOC_STREAMON: {
+               pr_debug("   case VIDIOC_STREAMON\n");
+               retval = csi_streamon(cam);
+               break;
+       }
+
+       case VIDIOC_STREAMOFF: {
+               pr_debug("   case VIDIOC_STREAMOFF\n");
+               retval = csi_streamoff(cam);
+               break;
+       }
+       case VIDIOC_ENUM_FMT: {
+               struct v4l2_fmtdesc *fmt = arg;
+               if (cam->sensor)
+                       retval = vidioc_int_enum_fmt_cap(cam->sensor, fmt);
+               else {
+                       pr_err("ERROR: v4l2 capture: slave not found!\n");
+                       retval = -ENODEV;
+               }
+               break;
+       }
+       case VIDIOC_ENUM_FRAMESIZES: {
+               struct v4l2_frmsizeenum *fsize = arg;
+               if (cam->sensor)
+                       retval = vidioc_int_enum_framesizes(cam->sensor, fsize);
+               else {
+                       pr_err("ERROR: v4l2 capture: slave not found!\n");
+                       retval = -ENODEV;
+               }
+               break;
+       }
+       case VIDIOC_ENUM_FRAMEINTERVALS: {
+               struct v4l2_frmivalenum *fival = arg;
+               if (cam->sensor)
+                       retval = vidioc_int_enum_frameintervals(cam->sensor,
+                                                               fival);
+               else {
+                       pr_err("ERROR: v4l2 capture: slave not found!\n");
+                       retval = -ENODEV;
+               }
+               break;
+       }
+       case VIDIOC_DBG_G_CHIP_IDENT: {
+               struct v4l2_dbg_chip_ident *p = arg;
+               p->ident = V4L2_IDENT_NONE;
+               p->revision = 0;
+               if (cam->sensor)
+                       retval = vidioc_int_g_chip_ident(cam->sensor, (int *)p);
+               else {
+                       pr_err("ERROR: v4l2 capture: slave not found!\n");
+                       retval = -ENODEV;
+               }
+               break;
+       }
+
+       case VIDIOC_S_CTRL:
+       {
+               struct v4l2_control *vc = arg;
+               int i;
+
+               for (i = 0; i < ARRAY_SIZE(pxp_controls); i++)
+                       if (vc->id == pxp_controls[i].id) {
+                               if (vc->value < pxp_controls[i].minimum ||
+                                   vc->value > pxp_controls[i].maximum) {
+                                       retval = -ERANGE;
+                                       break;
+                               }
+                               retval = pxp_set_cstate(cam, vc);
+                               break;
+                       }
+
+               if (i >= ARRAY_SIZE(pxp_controls))
+                       retval = -EINVAL;
+               break;
+
+       }
+       case VIDIOC_G_CTRL:
+       {
+               struct v4l2_control *vc = arg;
+               int i;
+
+               for (i = 0; i < ARRAY_SIZE(pxp_controls); i++)
+                       if (vc->id == pxp_controls[i].id) {
+                               retval = pxp_get_cstate(cam, vc);
+                               break;
+                       }
+
+               if (i >= ARRAY_SIZE(pxp_controls))
+                       retval = -EINVAL;
+               break;
+       }
+       case VIDIOC_QUERYCTRL:
+       {
+               struct v4l2_queryctrl *qc = arg;
+               int i;
+
+               for (i = 0; i < ARRAY_SIZE(pxp_controls); i++)
+                       if (qc->id && qc->id == pxp_controls[i].id) {
+                               memcpy(qc, &(pxp_controls[i]), sizeof(*qc));
+                               break;
+                       }
+
+               if (i >= ARRAY_SIZE(pxp_controls))
+                       retval = -EINVAL;
+               break;
+       }
+       case VIDIOC_G_STD:
+       case VIDIOC_G_OUTPUT:
+       case VIDIOC_S_OUTPUT:
+       case VIDIOC_ENUMSTD:
+       case VIDIOC_S_STD:
+       case VIDIOC_TRY_FMT:
+       case VIDIOC_ENUMINPUT:
+       case VIDIOC_G_INPUT:
+       case VIDIOC_S_INPUT:
+       case VIDIOC_G_TUNER:
+       case VIDIOC_S_TUNER:
+       case VIDIOC_G_FREQUENCY:
+       case VIDIOC_S_FREQUENCY:
+       case VIDIOC_ENUMOUTPUT:
+       default:
+               pr_debug("   case not supported\n");
+               retval = -EINVAL;
+               break;
+       }
+
+       if (ioctlnr != VIDIOC_DQBUF)
+               up(&cam->busy_lock);
+       return retval;
+}
+
+/*
+ * V4L interface - ioctl function
+ *
+ * @return  None
+ */
+static long csi_v4l_ioctl(struct file *file,
+                        unsigned int cmd, unsigned long arg)
+{
+       return video_usercopy(file, cmd, arg, csi_v4l_do_ioctl);
+}
+
+/*!
+ * V4L interface - mmap function
+ *
+ * @param file        structure file *
+ *
+ * @param vma         structure vm_area_struct *
+ *
+ * @return status     0 Success, EINTR busy lock error, ENOBUFS remap_page error
+ */
+static int csi_mmap(struct file *file, struct vm_area_struct *vma)
+{
+       struct video_device *dev = video_devdata(file);
+       unsigned long size;
+       int res = 0;
+       cam_data *cam = video_get_drvdata(dev);
+
+       pr_debug("%s\n", __func__);
+       pr_debug("\npgoff=0x%lx, start=0x%lx, end=0x%lx\n",
+                vma->vm_pgoff, vma->vm_start, vma->vm_end);
+
+       /* make this _really_ smp-safe */
+       if (down_interruptible(&cam->busy_lock))
+               return -EINTR;
+
+       size = vma->vm_end - vma->vm_start;
+       vma->vm_page_prot = pgprot_writecombine(vma->vm_page_prot);
+
+       if (remap_pfn_range(vma, vma->vm_start,
+                           vma->vm_pgoff, size, vma->vm_page_prot)) {
+               pr_err("ERROR: v4l2 capture: %s : "
+                      "remap_pfn_range failed\n", __func__);
+               res = -ENOBUFS;
+               goto csi_mmap_exit;
+       }
+
+       vma->vm_flags &= ~VM_IO;        /* using shared anonymous pages */
+
+csi_mmap_exit:
+       up(&cam->busy_lock);
+       return res;
+}
+
+/*!
+ * This structure defines the functions to be called in this driver.
+ */
+static struct v4l2_file_operations csi_v4l_fops = {
+       .owner = THIS_MODULE,
+       .open = csi_v4l_open,
+       .release = csi_v4l_close,
+       .read = csi_v4l_read,
+       .ioctl = csi_v4l_ioctl,
+       .mmap = csi_mmap,
+};
+
+static struct video_device csi_v4l_template = {
+       .name = "Mx25 Camera",
+       .fops = &csi_v4l_fops,
+       .release = video_device_release,
+};
+
+/*!
+ * initialize cam_data structure
+ *
+ * @param cam      structure cam_data *
+ *
+ * @return status  0 Success
+ */
+static void init_camera_struct(cam_data *cam)
+{
+       struct pxp_proc_data *proc_data = &cam->pxp_conf.proc_data;
+       pr_debug("In MVC: %s\n", __func__);
+
+       proc_data->hflip = 0;
+       proc_data->vflip = 0;
+       proc_data->rotate = 0;
+       proc_data->bgcolor = 0;
+
+       /* Default everything to 0 */
+       memset(cam, 0, sizeof(cam_data));
+
+       sema_init(&cam->param_lock, 1);
+       sema_init(&cam->busy_lock, 1);
+
+       cam->video_dev = video_device_alloc();
+       if (cam->video_dev == NULL)
+               return;
+
+       *(cam->video_dev) = csi_v4l_template;
+
+       video_set_drvdata(cam->video_dev, cam);
+       cam->video_dev->minor = -1;
+
+       init_waitqueue_head(&cam->enc_queue);
+       init_waitqueue_head(&cam->still_queue);
+
+       cam->streamparm.parm.capture.capturemode = 0;
+
+       cam->standard.index = 0;
+       cam->standard.id = V4L2_STD_UNKNOWN;
+       cam->standard.frameperiod.denominator = 30;
+       cam->standard.frameperiod.numerator = 1;
+       cam->standard.framelines = 480;
+       cam->standard_autodetect = true;
+       cam->streamparm.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
+       cam->streamparm.parm.capture.timeperframe = cam->standard.frameperiod;
+       cam->streamparm.parm.capture.capability = V4L2_CAP_TIMEPERFRAME;
+       cam->overlay_on = false;
+       cam->capture_on = false;
+       cam->v4l2_fb.flags = V4L2_FBUF_FLAG_OVERLAY;
+
+       cam->v2f.fmt.pix.sizeimage = 480 * 640 * 2;
+       cam->v2f.fmt.pix.bytesperline = 640 * 2;
+       cam->v2f.fmt.pix.width = 640;
+       cam->v2f.fmt.pix.height = 480;
+       cam->v2f.fmt.pix.pixelformat = V4L2_PIX_FMT_UYVY;
+       cam->win.w.width = 160;
+       cam->win.w.height = 160;
+       cam->win.w.left = 0;
+       cam->win.w.top = 0;
+       cam->still_counter = 0;
+       /* setup cropping */
+       cam->crop_bounds.left = 0;
+       cam->crop_bounds.width = 640;
+       cam->crop_bounds.top = 0;
+       cam->crop_bounds.height = 480;
+       cam->crop_current = cam->crop_defrect = cam->crop_bounds;
+
+       cam->enc_callback = camera_callback;
+       csi_start_callback(cam);
+       init_waitqueue_head(&cam->power_queue);
+       spin_lock_init(&cam->queue_int_lock);
+       spin_lock_init(&cam->dqueue_int_lock);
+}
+
+/*!
+ * camera_power function
+ *    Turns Sensor power On/Off
+ *
+ * @param       cam           cam data struct
+ * @param       cameraOn      true to turn camera on, false to turn off power.
+ *
+ * @return status
+ */
+static u8 camera_power(cam_data *cam, bool cameraOn)
+{
+       pr_debug("In MVC: %s on=%d\n", __func__, cameraOn);
+
+       if (cameraOn == true) {
+               vidioc_int_s_power(cam->sensor, 1);
+       } else {
+               vidioc_int_s_power(cam->sensor, 0);
+       }
+       return 0;
+}
+
+static const struct of_device_id imx_csi_v4l2_dt_ids[] = {
+       { .compatible = "fsl,imx6sl-csi-v4l2", },
+       { /* sentinel */ }
+};
+MODULE_DEVICE_TABLE(of, imx_csi_v4l2_dt_ids);
+
+static int csi_v4l2_probe(struct platform_device *pdev)
+{
+       struct scatterlist *sg;
+       u8 err = 0;
+
+       /* Create g_cam and initialize it. */
+       g_cam = kmalloc(sizeof(cam_data), GFP_KERNEL);
+       if (g_cam == NULL) {
+               pr_err("ERROR: v4l2 capture: failed to register camera\n");
+               err = -ENOMEM;
+               goto out;
+       }
+       memset(&crop_current, 0, sizeof(crop_current));
+       memset(&win_current, 0, sizeof(win_current));
+       init_camera_struct(g_cam);
+       platform_set_drvdata(pdev, (void *)g_cam);
+
+       /* Set up the v4l2 device and register it */
+       csi_v4l2_int_device.priv = g_cam;
+       /* This function contains a bug that won't let this be rmmod'd. */
+       v4l2_int_device_register(&csi_v4l2_int_device);
+
+       /* register v4l video device */
+       if (video_register_device(g_cam->video_dev, VFL_TYPE_GRABBER, video_nr)
+           == -1) {
+               kfree(g_cam);
+               g_cam = NULL;
+               pr_err("ERROR: v4l2 capture: video_register_device failed\n");
+               err = -ENODEV;
+               goto out;
+       }
+       pr_debug("   Video device registered: %s #%d\n",
+                g_cam->video_dev->name, g_cam->video_dev->minor);
+
+       g_cam->pxp_chan = NULL;
+       /* Initialize Scatter-gather list containing 2 buffer addresses. */
+       sg = g_cam->sg;
+       sg_init_table(sg, 2);
+
+out:
+       return err;
+}
+
+static int csi_v4l2_remove(struct platform_device *pdev)
+{
+       if (g_cam->open_count) {
+               pr_err("ERROR: v4l2 capture:camera open "
+                      "-- setting ops to NULL\n");
+       } else {
+               pr_info("V4L2 freeing image input device\n");
+               v4l2_int_device_unregister(&csi_v4l2_int_device);
+               csi_stop_callback(g_cam);
+               video_unregister_device(g_cam->video_dev);
+               platform_set_drvdata(pdev, NULL);
+
+               kfree(g_cam);
+               g_cam = NULL;
+       }
+
+       return 0;
+}
+
+/*!
+ * This function is called to put the sensor in a low power state.
+ * Refer to the document driver-model/driver.txt in the kernel source tree
+ * for more information.
+ *
+ * @param   pdev  the device structure used to give information on which I2C
+ *                to suspend
+ * @param   state the power state the device is entering
+ *
+ * @return  The function returns 0 on success and -1 on failure.
+ */
+static int csi_v4l2_suspend(struct platform_device *pdev, pm_message_t state)
+{
+       cam_data *cam = platform_get_drvdata(pdev);
+
+       pr_debug("In MVC: %s\n", __func__);
+
+       if (cam == NULL)
+               return -1;
+
+       cam->low_power = true;
+
+       if (cam->overlay_on == true)
+               stop_preview(cam);
+
+       if (cam->capture_on == true || cam->overlay_on == true)
+               camera_power(cam, false);
+
+       return 0;
+}
+
+/*!
+ * This function is called to bring the sensor back from a low power state.
+ * Refer to the document driver-model/driver.txt in the kernel source tree
+ * for more information.
+ *
+ * @param   pdev   the device structure
+ *
+ * @return  The function returns 0 on success and -1 on failure
+ */
+static int csi_v4l2_resume(struct platform_device *pdev)
+{
+       cam_data *cam = platform_get_drvdata(pdev);
+
+       pr_debug("In MVC: %s\n", __func__);
+
+       if (cam == NULL)
+               return -1;
+
+       cam->low_power = false;
+       wake_up_interruptible(&cam->power_queue);
+       if (cam->capture_on == true || cam->overlay_on == true)
+               camera_power(cam, true);
+
+       if (cam->overlay_on == true)
+               start_preview(cam);
+
+       return 0;
+}
+
+/*!
+ * This structure contains pointers to the power management callback functions.
+ */
+static struct platform_driver csi_v4l2_driver = {
+       .driver = {
+                  .name = "csi_v4l2",
+                  .of_match_table = of_match_ptr(imx_csi_v4l2_dt_ids),
+                  },
+       .probe = csi_v4l2_probe,
+       .remove = csi_v4l2_remove,
+#ifdef CONFIG_PM
+       .suspend = csi_v4l2_suspend,
+       .resume = csi_v4l2_resume,
+#endif
+       .shutdown = NULL,
+};
+
+/*!
+ * Initializes the camera driver.
+ */
+static int csi_v4l2_master_attach(struct v4l2_int_device *slave)
+{
+       cam_data *cam = slave->u.slave->master->priv;
+       struct v4l2_format cam_fmt;
+
+       pr_debug("In MVC: %s\n", __func__);
+       pr_debug("   slave.name = %s\n", slave->name);
+       pr_debug("   master.name = %s\n", slave->u.slave->master->name);
+
+       cam->sensor = slave;
+       if (slave == NULL) {
+               pr_err("ERROR: v4l2 capture: slave parameter not valid.\n");
+               return -1;
+       }
+
+       cam_fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
+       vidioc_int_g_fmt_cap(cam->sensor, &cam_fmt);
+
+       /* Used to detect TV in (type 1) vs. camera (type 0) */
+       cam->device_type = cam_fmt.fmt.pix.priv;
+
+       cam->crop_bounds.top = cam->crop_bounds.left = 0;
+       cam->crop_bounds.width = cam_fmt.fmt.pix.width;
+       cam->crop_bounds.height = cam_fmt.fmt.pix.height;
+
+       /* This also is the max crop size for this device. */
+       cam->crop_defrect.top = cam->crop_defrect.left = 0;
+       cam->crop_defrect.width = cam_fmt.fmt.pix.width;
+       cam->crop_defrect.height = cam_fmt.fmt.pix.height;
+
+       /* At this point, this is also the current image size. */
+       cam->crop_current.top = cam->crop_current.left = 0;
+       cam->crop_current.width = cam_fmt.fmt.pix.width;
+       cam->crop_current.height = cam_fmt.fmt.pix.height;
+
+       pr_debug("End of %s: v2f pix widthxheight %d x %d\n",
+                __func__, cam->v2f.fmt.pix.width, cam->v2f.fmt.pix.height);
+
+       return 0;
+}
+
+/*!
+ * Disconnects the camera driver.
+ */
+static void csi_v4l2_master_detach(struct v4l2_int_device *slave)
+{
+       pr_debug("In MVC: %s\n", __func__);
+
+       vidioc_int_dev_exit(slave);
+}
+
+module_platform_driver(csi_v4l2_driver);
+
+module_param(video_nr, int, 0444);
+MODULE_AUTHOR("Freescale Semiconductor, Inc.");
+MODULE_DESCRIPTION("V4L2 capture driver for Mx25 based cameras");
+MODULE_LICENSE("GPL");
+MODULE_SUPPORTED_DEVICE("video");
diff --git a/drivers/media/platform/mxc/capture/fsl_csi.c b/drivers/media/platform/mxc/capture/fsl_csi.c
new file mode 100644 (file)
index 0000000..4ba59e8
--- /dev/null
@@ -0,0 +1,302 @@
+/*
+ * Copyright 2009-2013 Freescale Semiconductor, Inc. All Rights Reserved.
+ */
+
+/*
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/*!
+ * @file fsl_csi.c, this file is derived from mx27_csi.c
+ *
+ * @brief mx25 CMOS Sensor interface functions
+ *
+ * @ingroup CSI
+ */
+#include <linux/types.h>
+#include <linux/init.h>
+#include <linux/platform_device.h>
+#include <linux/device.h>
+#include <linux/err.h>
+#include <linux/interrupt.h>
+#include <linux/spinlock.h>
+#include <linux/module.h>
+#include <linux/clk.h>
+#include <linux/of.h>
+#include <linux/sched.h>
+
+#include "mxc_v4l2_capture.h"
+#include "fsl_csi.h"
+
+void __iomem *csi_regbase;
+EXPORT_SYMBOL(csi_regbase);
+static int irq_nr;
+static csi_irq_callback_t g_callback;
+static void *g_callback_data;
+
+static irqreturn_t csi_irq_handler(int irq, void *data)
+{
+       cam_data *cam = (cam_data *) data;
+       unsigned long status = __raw_readl(CSI_CSISR);
+
+       __raw_writel(status, CSI_CSISR);
+
+       if (status & BIT_HRESP_ERR_INT)
+               pr_warning("Hresponse error is detected.\n");
+
+       if (status & BIT_DMA_TSF_DONE_FB1) {
+               if (cam->capture_on) {
+                       spin_lock(&cam->queue_int_lock);
+                       cam->ping_pong_csi = 1;
+                       spin_unlock(&cam->queue_int_lock);
+                       cam->enc_callback(0, cam);
+               } else {
+                       cam->still_counter++;
+                       wake_up_interruptible(&cam->still_queue);
+               }
+       }
+
+       if (status & BIT_DMA_TSF_DONE_FB2) {
+               if (cam->capture_on) {
+                       spin_lock(&cam->queue_int_lock);
+                       cam->ping_pong_csi = 2;
+                       spin_unlock(&cam->queue_int_lock);
+                       cam->enc_callback(0, cam);
+               } else {
+                       cam->still_counter++;
+                       wake_up_interruptible(&cam->still_queue);
+               }
+       }
+
+       if (g_callback)
+               g_callback(g_callback_data, status);
+
+       pr_debug("CSI status = 0x%08lX\n", status);
+
+       return IRQ_HANDLED;
+}
+
+static void csihw_reset_frame_count(void)
+{
+       __raw_writel(__raw_readl(CSI_CSICR3) | BIT_FRMCNT_RST, CSI_CSICR3);
+}
+
+static void csihw_reset(void)
+{
+       csihw_reset_frame_count();
+       __raw_writel(CSICR1_RESET_VAL, CSI_CSICR1);
+       __raw_writel(CSICR2_RESET_VAL, CSI_CSICR2);
+       __raw_writel(CSICR3_RESET_VAL, CSI_CSICR3);
+}
+
+/*!
+ * csi_init_interface
+ *    Init csi interface
+ */
+void csi_init_interface(void)
+{
+       unsigned int val = 0;
+       unsigned int imag_para;
+
+       val |= BIT_SOF_POL;
+       val |= BIT_REDGE;
+       val |= BIT_GCLK_MODE;
+       val |= BIT_HSYNC_POL;
+       val |= BIT_PACK_DIR;
+       val |= BIT_FCC;
+       val |= BIT_SWAP16_EN;
+       val |= 1 << SHIFT_MCLKDIV;
+       val |= BIT_MCLKEN;
+       __raw_writel(val, CSI_CSICR1);
+
+       imag_para = (640 << 16) | 960;
+       __raw_writel(imag_para, CSI_CSIIMAG_PARA);
+
+       val = 0x1010;
+       val |= BIT_DMA_REFLASH_RFF;
+       __raw_writel(val, CSI_CSICR3);
+}
+EXPORT_SYMBOL(csi_init_interface);
+
+void csi_init_format(int fmt)
+{
+       unsigned int val;
+
+       val = __raw_readl(CSI_CSICR1);
+       if (fmt == V4L2_PIX_FMT_YUYV) {
+               val &= ~BIT_PACK_DIR;
+               val &= ~BIT_SWAP16_EN;
+       } else if (fmt == V4L2_PIX_FMT_UYVY) {
+               val |= BIT_PACK_DIR;
+               val |= BIT_SWAP16_EN;
+       } else
+               pr_warning("unsupported format, old format remains.\n");
+
+       __raw_writel(val, CSI_CSICR1);
+}
+EXPORT_SYMBOL(csi_init_format);
+
+/*!
+ * csi_read_mclk_flag
+ *
+ * @return  gcsi_mclk_source
+ */
+int csi_read_mclk_flag(void)
+{
+       return 0;
+}
+EXPORT_SYMBOL(csi_read_mclk_flag);
+
+void csi_start_callback(void *data)
+{
+       cam_data *cam = (cam_data *) data;
+
+       if (request_irq(irq_nr, csi_irq_handler, 0, "csi", cam) < 0)
+               pr_debug("CSI error: irq request fail\n");
+
+}
+EXPORT_SYMBOL(csi_start_callback);
+
+void csi_stop_callback(void *data)
+{
+       cam_data *cam = (cam_data *) data;
+
+       free_irq(irq_nr, cam);
+}
+EXPORT_SYMBOL(csi_stop_callback);
+
+void csi_enable_int(int arg)
+{
+       unsigned long cr1 = __raw_readl(CSI_CSICR1);
+
+       cr1 |= BIT_SOF_INTEN;
+       if (arg == 1) {
+               /* still capture needs DMA intterrupt */
+               cr1 |= BIT_FB1_DMA_DONE_INTEN;
+               cr1 |= BIT_FB2_DMA_DONE_INTEN;
+       }
+       __raw_writel(cr1, CSI_CSICR1);
+}
+EXPORT_SYMBOL(csi_enable_int);
+
+void csi_disable_int(void)
+{
+       unsigned long cr1 = __raw_readl(CSI_CSICR1);
+
+       cr1 &= ~BIT_SOF_INTEN;
+       cr1 &= ~BIT_FB1_DMA_DONE_INTEN;
+       cr1 &= ~BIT_FB2_DMA_DONE_INTEN;
+       __raw_writel(cr1, CSI_CSICR1);
+}
+EXPORT_SYMBOL(csi_disable_int);
+
+void csi_set_16bit_imagpara(int width, int height)
+{
+       int imag_para = 0;
+       unsigned long cr3 = __raw_readl(CSI_CSICR3);
+
+       imag_para = (width << 16) | (height * 2);
+       __raw_writel(imag_para, CSI_CSIIMAG_PARA);
+
+       /* reflash the embeded DMA controller */
+       __raw_writel(cr3 | BIT_DMA_REFLASH_RFF, CSI_CSICR3);
+}
+EXPORT_SYMBOL(csi_set_16bit_imagpara);
+
+void csi_set_12bit_imagpara(int width, int height)
+{
+       int imag_para = 0;
+       unsigned long cr3 = __raw_readl(CSI_CSICR3);
+
+       imag_para = (width << 16) | (height * 3 / 2);
+       __raw_writel(imag_para, CSI_CSIIMAG_PARA);
+
+       /* reflash the embeded DMA controller */
+       __raw_writel(cr3 | BIT_DMA_REFLASH_RFF, CSI_CSICR3);
+}
+EXPORT_SYMBOL(csi_set_12bit_imagpara);
+
+void csi_dmareq_rff_enable(void)
+{
+       unsigned long cr3 = __raw_readl(CSI_CSICR3);
+
+       cr3 |= BIT_DMA_REQ_EN_RFF;
+       cr3 |= BIT_HRESP_ERR_EN;
+       __raw_writel(cr3, CSI_CSICR3);
+}
+EXPORT_SYMBOL(csi_dmareq_rff_enable);
+
+void csi_dmareq_rff_disable(void)
+{
+       unsigned long cr3 = __raw_readl(CSI_CSICR3);
+
+       cr3 &= ~BIT_DMA_REQ_EN_RFF;
+       cr3 &= ~BIT_HRESP_ERR_EN;
+       __raw_writel(cr3, CSI_CSICR3);
+}
+EXPORT_SYMBOL(csi_dmareq_rff_disable);
+
+static const struct of_device_id fsl_csi_dt_ids[] = {
+       { .compatible = "fsl,imx6sl-csi", },
+       { /* sentinel */ }
+};
+MODULE_DEVICE_TABLE(of, fsl_csi_dt_ids);
+
+static int csi_probe(struct platform_device *pdev)
+{
+       int ret = 0;
+       struct resource *res;
+
+       res = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
+       if (!res) {
+               dev_err(&pdev->dev, "No csi irq found.\n");
+               ret = -ENODEV;
+               goto err;
+       }
+       irq_nr = res->start;
+
+       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+       if (!res) {
+               dev_err(&pdev->dev, "No csi base address found.\n");
+               ret = -ENODEV;
+               goto err;
+       }
+       csi_regbase = devm_ioremap(&pdev->dev, res->start, resource_size(res));
+       if (!csi_regbase) {
+               dev_err(&pdev->dev, "ioremap failed with csi base\n");
+               ret = -ENOMEM;
+               goto err;
+       }
+
+       csihw_reset();
+       csi_init_interface();
+       csi_dmareq_rff_disable();
+
+err:
+       return ret;
+}
+
+static int csi_remove(struct platform_device *pdev)
+{
+       return 0;
+}
+
+static struct platform_driver csi_driver = {
+       .driver = {
+                  .name = "fsl_csi",
+                  .of_match_table = of_match_ptr(fsl_csi_dt_ids),
+                  },
+       .probe = csi_probe,
+       .remove = csi_remove,
+};
+
+module_platform_driver(csi_driver);
+
+MODULE_AUTHOR("Freescale Semiconductor, Inc.");
+MODULE_DESCRIPTION("fsl CSI driver");
+MODULE_LICENSE("GPL");
diff --git a/drivers/media/platform/mxc/capture/fsl_csi.h b/drivers/media/platform/mxc/capture/fsl_csi.h
new file mode 100644 (file)
index 0000000..6dd11a0
--- /dev/null
@@ -0,0 +1,198 @@
+/*
+ * Copyright 2009-2013 Freescale Semiconductor, Inc. All Rights Reserved.
+ */
+
+/*
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/*!
+ * @file fsl_csi.h
+ *
+ * @brief mx25 CMOS Sensor interface functions
+ *
+ * @ingroup CSI
+ */
+
+#ifndef MX25_CSI_H
+#define MX25_CSI_H
+
+#include <linux/io.h>
+
+/* reset values */
+#define CSICR1_RESET_VAL       0x40000800
+#define CSICR2_RESET_VAL       0x0
+#define CSICR3_RESET_VAL       0x0
+
+/* csi control reg 1 */
+#define BIT_SWAP16_EN          (0x1 << 31)
+#define BIT_EXT_VSYNC          (0x1 << 30)
+#define BIT_EOF_INT_EN         (0x1 << 29)
+#define BIT_PRP_IF_EN          (0x1 << 28)
+#define BIT_CCIR_MODE          (0x1 << 27)
+#define BIT_COF_INT_EN         (0x1 << 26)
+#define BIT_SF_OR_INTEN                (0x1 << 25)
+#define BIT_RF_OR_INTEN                (0x1 << 24)
+#define BIT_SFF_DMA_DONE_INTEN  (0x1 << 22)
+#define BIT_STATFF_INTEN       (0x1 << 21)
+#define BIT_FB2_DMA_DONE_INTEN  (0x1 << 20)
+#define BIT_FB1_DMA_DONE_INTEN  (0x1 << 19)
+#define BIT_RXFF_INTEN         (0x1 << 18)
+#define BIT_SOF_POL            (0x1 << 17)
+#define BIT_SOF_INTEN          (0x1 << 16)
+#define BIT_MCLKDIV            (0xF << 12)
+#define BIT_HSYNC_POL          (0x1 << 11)
+#define BIT_CCIR_EN            (0x1 << 10)
+#define BIT_MCLKEN             (0x1 << 9)
+#define BIT_FCC                        (0x1 << 8)
+#define BIT_PACK_DIR           (0x1 << 7)
+#define BIT_CLR_STATFIFO       (0x1 << 6)
+#define BIT_CLR_RXFIFO         (0x1 << 5)
+#define BIT_GCLK_MODE          (0x1 << 4)
+#define BIT_INV_DATA           (0x1 << 3)
+#define BIT_INV_PCLK           (0x1 << 2)
+#define BIT_REDGE              (0x1 << 1)
+#define BIT_PIXEL_BIT          (0x1 << 0)
+
+#define SHIFT_MCLKDIV          12
+
+/* control reg 3 */
+#define BIT_FRMCNT             (0xFFFF << 16)
+#define BIT_FRMCNT_RST         (0x1 << 15)
+#define BIT_DMA_REFLASH_RFF    (0x1 << 14)
+#define BIT_DMA_REFLASH_SFF    (0x1 << 13)
+#define BIT_DMA_REQ_EN_RFF     (0x1 << 12)
+#define BIT_DMA_REQ_EN_SFF     (0x1 << 11)
+#define BIT_STATFF_LEVEL       (0x7 << 8)
+#define BIT_HRESP_ERR_EN       (0x1 << 7)
+#define BIT_RXFF_LEVEL         (0x7 << 4)
+#define BIT_TWO_8BIT_SENSOR    (0x1 << 3)
+#define BIT_ZERO_PACK_EN       (0x1 << 2)
+#define BIT_ECC_INT_EN         (0x1 << 1)
+#define BIT_ECC_AUTO_EN                (0x1 << 0)
+
+#define SHIFT_FRMCNT           16
+
+/* csi status reg */
+#define BIT_SFF_OR_INT         (0x1 << 25)
+#define BIT_RFF_OR_INT         (0x1 << 24)
+#define BIT_DMA_TSF_DONE_SFF   (0x1 << 22)
+#define BIT_STATFF_INT         (0x1 << 21)
+#define BIT_DMA_TSF_DONE_FB2   (0x1 << 20)
+#define BIT_DMA_TSF_DONE_FB1   (0x1 << 19)
+#define BIT_RXFF_INT           (0x1 << 18)
+#define BIT_EOF_INT            (0x1 << 17)
+#define BIT_SOF_INT            (0x1 << 16)
+#define BIT_F2_INT             (0x1 << 15)
+#define BIT_F1_INT             (0x1 << 14)
+#define BIT_COF_INT            (0x1 << 13)
+#define BIT_HRESP_ERR_INT      (0x1 << 7)
+#define BIT_ECC_INT            (0x1 << 1)
+#define BIT_DRDY               (0x1 << 0)
+
+#define CSI_MCLK_VF            1
+#define CSI_MCLK_ENC           2
+#define CSI_MCLK_RAW           4
+#define CSI_MCLK_I2C           8
+#endif
+
+extern void __iomem *csi_regbase;
+#define CSI_CSICR1             (csi_regbase)
+#define CSI_CSICR2             (csi_regbase + 0x4)
+#define CSI_CSICR3             (csi_regbase + 0x8)
+#define CSI_STATFIFO           (csi_regbase + 0xC)
+#define CSI_CSIRXFIFO          (csi_regbase + 0x10)
+#define CSI_CSIRXCNT           (csi_regbase + 0x14)
+#define CSI_CSISR              (csi_regbase + 0x18)
+
+#define CSI_CSIDBG             (csi_regbase + 0x1C)
+#define CSI_CSIDMASA_STATFIFO  (csi_regbase + 0x20)
+#define CSI_CSIDMATS_STATFIFO  (csi_regbase + 0x24)
+#define CSI_CSIDMASA_FB1       (csi_regbase + 0x28)
+#define CSI_CSIDMASA_FB2       (csi_regbase + 0x2C)
+#define CSI_CSIFBUF_PARA       (csi_regbase + 0x30)
+#define CSI_CSIIMAG_PARA       (csi_regbase + 0x34)
+
+static inline void csi_clear_status(unsigned long status)
+{
+       __raw_writel(status, CSI_CSISR);
+}
+
+struct csi_signal_cfg_t {
+       unsigned data_width:3;
+       unsigned clk_mode:2;
+       unsigned ext_vsync:1;
+       unsigned Vsync_pol:1;
+       unsigned Hsync_pol:1;
+       unsigned pixclk_pol:1;
+       unsigned data_pol:1;
+       unsigned sens_clksrc:1;
+};
+
+struct csi_config_t {
+       /* control reg 1 */
+       unsigned int swap16_en:1;
+       unsigned int ext_vsync:1;
+       unsigned int eof_int_en:1;
+       unsigned int prp_if_en:1;
+       unsigned int ccir_mode:1;
+       unsigned int cof_int_en:1;
+       unsigned int sf_or_inten:1;
+       unsigned int rf_or_inten:1;
+       unsigned int sff_dma_done_inten:1;
+       unsigned int statff_inten:1;
+       unsigned int fb2_dma_done_inten:1;
+       unsigned int fb1_dma_done_inten:1;
+       unsigned int rxff_inten:1;
+       unsigned int sof_pol:1;
+       unsigned int sof_inten:1;
+       unsigned int mclkdiv:4;
+       unsigned int hsync_pol:1;
+       unsigned int ccir_en:1;
+       unsigned int mclken:1;
+       unsigned int fcc:1;
+       unsigned int pack_dir:1;
+       unsigned int gclk_mode:1;
+       unsigned int inv_data:1;
+       unsigned int inv_pclk:1;
+       unsigned int redge:1;
+       unsigned int pixel_bit:1;
+
+       /* control reg 3 */
+       unsigned int frmcnt:16;
+       unsigned int frame_reset:1;
+       unsigned int dma_reflash_rff:1;
+       unsigned int dma_reflash_sff:1;
+       unsigned int dma_req_en_rff:1;
+       unsigned int dma_req_en_sff:1;
+       unsigned int statff_level:3;
+       unsigned int hresp_err_en:1;
+       unsigned int rxff_level:3;
+       unsigned int two_8bit_sensor:1;
+       unsigned int zero_pack_en:1;
+       unsigned int ecc_int_en:1;
+       unsigned int ecc_auto_en:1;
+       /* fifo counter */
+       unsigned int rxcnt;
+};
+
+typedef void (*csi_irq_callback_t) (void *data, unsigned long status);
+
+void csi_init_interface(void);
+void csi_init_format(int fmt);
+void csi_set_16bit_imagpara(int width, int height);
+void csi_set_12bit_imagpara(int width, int height);
+int csi_read_mclk_flag(void);
+void csi_start_callback(void *data);
+void csi_stop_callback(void *data);
+void csi_enable_int(int arg);
+void csi_disable_int(void);
+void csi_mclk_enable(void);
+void csi_mclk_disable(void);
+void csi_dmareq_rff_enable(void);
+void csi_dmareq_rff_disable(void);
diff --git a/drivers/media/platform/mxc/capture/ipu_bg_overlay_sdc.c b/drivers/media/platform/mxc/capture/ipu_bg_overlay_sdc.c
new file mode 100644 (file)
index 0000000..4a975b5
--- /dev/null
@@ -0,0 +1,546 @@
+
+/*
+ * Copyright 2004-2014 Freescale Semiconductor, Inc. All Rights Reserved.
+ */
+
+/*
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/*!
+ * @file ipu_bg_overlay_sdc_bg.c
+ *
+ * @brief IPU Use case for PRP-VF back-ground
+ *
+ * @ingroup IPU
+ */
+#include <linux/module.h>
+#include <linux/dma-mapping.h>
+#include <linux/fb.h>
+#include <linux/ipu.h>
+#include <linux/mipi_csi2.h>
+#include "mxc_v4l2_capture.h"
+#include "ipu_prp_sw.h"
+
+static int csi_buffer_num;
+static u32 bpp, csi_mem_bufsize = 3;
+static u32 out_format;
+static struct ipu_soc *disp_ipu;
+static u32 offset;
+
+static void csi_buf_work_func(struct work_struct *work)
+{
+       int err = 0;
+       cam_data *cam =
+               container_of(work, struct _cam_data, csi_work_struct);
+
+       struct ipu_task task;
+       memset(&task, 0, sizeof(task));
+
+       if (csi_buffer_num)
+               task.input.paddr = cam->vf_bufs[0];
+       else
+               task.input.paddr = cam->vf_bufs[1];
+       task.input.width = cam->crop_current.width;
+       task.input.height = cam->crop_current.height;
+       task.input.format = IPU_PIX_FMT_UYVY;
+
+       task.output.paddr = offset;
+       task.output.width = cam->overlay_fb->var.xres;
+       task.output.height = cam->overlay_fb->var.yres;
+       task.output.format = out_format;
+       task.output.rotate = cam->rotation;
+       task.output.crop.pos.x = cam->win.w.left;
+       task.output.crop.pos.y = cam->win.w.top;
+       if (cam->win.w.width > 1024 || cam->win.w.height > 1024) {
+               task.output.crop.w = cam->overlay_fb->var.xres;
+               task.output.crop.h = cam->overlay_fb->var.yres;
+       } else {
+               task.output.crop.w = cam->win.w.width;
+               task.output.crop.h = cam->win.w.height;
+       }
+again:
+       err = ipu_check_task(&task);
+       if (err != IPU_CHECK_OK) {
+               if (err > IPU_CHECK_ERR_MIN) {
+                       if (err == IPU_CHECK_ERR_SPLIT_INPUTW_OVER) {
+                               task.input.crop.w -= 8;
+                               goto again;
+                       }
+                       if (err == IPU_CHECK_ERR_SPLIT_INPUTH_OVER) {
+                               task.input.crop.h -= 8;
+                               goto again;
+                       }
+                       if (err == IPU_CHECK_ERR_SPLIT_OUTPUTW_OVER) {
+                                       task.output.width -= 8;
+                                       task.output.crop.w = task.output.width;
+                               goto again;
+                       }
+                       if (err == IPU_CHECK_ERR_SPLIT_OUTPUTH_OVER) {
+                                       task.output.height -= 8;
+                                       task.output.crop.h = task.output.height;
+                               goto again;
+                       }
+                       printk(KERN_ERR "check ipu taks fail\n");
+                       return;
+               }
+               printk(KERN_ERR "check ipu taks fail\n");
+               return;
+       }
+       err = ipu_queue_task(&task);
+       if (err < 0)
+               printk(KERN_ERR "queue ipu task error\n");
+}
+
+static void get_disp_ipu(cam_data *cam)
+{
+       if (cam->output > 2)
+               disp_ipu = ipu_get_soc(1); /* using DISP4 */
+       else
+               disp_ipu = ipu_get_soc(0);
+}
+
+
+/*!
+ * csi ENC callback function.
+ *
+ * @param irq       int irq line
+ * @param dev_id    void * device id
+ *
+ * @return status   IRQ_HANDLED for handled
+ */
+static irqreturn_t csi_enc_callback(int irq, void *dev_id)
+{
+       cam_data *cam = (cam_data *) dev_id;
+
+       ipu_select_buffer(cam->ipu, CSI_MEM, IPU_OUTPUT_BUFFER, csi_buffer_num);
+       schedule_work(&cam->csi_work_struct);
+       csi_buffer_num = (csi_buffer_num == 0) ? 1 : 0;
+       return IRQ_HANDLED;
+}
+
+static int csi_enc_setup(cam_data *cam)
+{
+       ipu_channel_params_t params;
+       u32 pixel_fmt;
+       int err = 0, sensor_protocol = 0;
+#ifdef CONFIG_MXC_MIPI_CSI2
+       void *mipi_csi2_info;
+       int ipu_id;
+       int csi_id;
+#endif
+
+       if (!cam) {
+               printk(KERN_ERR "cam private is NULL\n");
+               return -ENXIO;
+       }
+
+       memset(&params, 0, sizeof(ipu_channel_params_t));
+       params.csi_mem.csi = cam->csi;
+
+       sensor_protocol = ipu_csi_get_sensor_protocol(cam->ipu, cam->csi);
+       switch (sensor_protocol) {
+       case IPU_CSI_CLK_MODE_GATED_CLK:
+       case IPU_CSI_CLK_MODE_NONGATED_CLK:
+       case IPU_CSI_CLK_MODE_CCIR656_PROGRESSIVE:
+       case IPU_CSI_CLK_MODE_CCIR1120_PROGRESSIVE_DDR:
+       case IPU_CSI_CLK_MODE_CCIR1120_PROGRESSIVE_SDR:
+               params.csi_mem.interlaced = false;
+               break;
+       case IPU_CSI_CLK_MODE_CCIR656_INTERLACED:
+       case IPU_CSI_CLK_MODE_CCIR1120_INTERLACED_DDR:
+       case IPU_CSI_CLK_MODE_CCIR1120_INTERLACED_SDR:
+               params.csi_mem.interlaced = true;
+               break;
+       default:
+               printk(KERN_ERR "sensor protocol unsupported\n");
+               return -EINVAL;
+       }
+
+#ifdef CONFIG_MXC_MIPI_CSI2
+       mipi_csi2_info = mipi_csi2_get_info();
+
+       if (mipi_csi2_info) {
+               if (mipi_csi2_get_status(mipi_csi2_info)) {
+                       ipu_id = mipi_csi2_get_bind_ipu(mipi_csi2_info);
+                       csi_id = mipi_csi2_get_bind_csi(mipi_csi2_info);
+
+                       if (cam->ipu == ipu_get_soc(ipu_id)
+                               && cam->csi == csi_id) {
+                               params.csi_mem.mipi_en = true;
+                               params.csi_mem.mipi_vc =
+                               mipi_csi2_get_virtual_channel(mipi_csi2_info);
+                               params.csi_mem.mipi_id =
+                               mipi_csi2_get_datatype(mipi_csi2_info);
+
+                               mipi_csi2_pixelclk_enable(mipi_csi2_info);
+                       } else {
+                               params.csi_mem.mipi_en = false;
+                               params.csi_mem.mipi_vc = 0;
+                               params.csi_mem.mipi_id = 0;
+                       }
+               } else {
+                       params.csi_mem.mipi_en = false;
+                       params.csi_mem.mipi_vc = 0;
+                       params.csi_mem.mipi_id = 0;
+               }
+       }
+#endif
+
+       if (cam->vf_bufs_vaddr[0]) {
+               dma_free_coherent(0, cam->vf_bufs_size[0],
+                                 cam->vf_bufs_vaddr[0],
+                                 (dma_addr_t) cam->vf_bufs[0]);
+       }
+       if (cam->vf_bufs_vaddr[1]) {
+               dma_free_coherent(0, cam->vf_bufs_size[1],
+                                 cam->vf_bufs_vaddr[1],
+                                 (dma_addr_t) cam->vf_bufs[1]);
+       }
+       csi_mem_bufsize =
+               cam->crop_current.width * cam->crop_current.height * 2;
+       cam->vf_bufs_size[0] = PAGE_ALIGN(csi_mem_bufsize);
+       cam->vf_bufs_vaddr[0] = (void *)dma_alloc_coherent(0,
+                                                          cam->vf_bufs_size[0],
+                                                          (dma_addr_t *) &
+                                                          cam->vf_bufs[0],
+                                                          GFP_DMA |
+                                                          GFP_KERNEL);
+       if (cam->vf_bufs_vaddr[0] == NULL) {
+               printk(KERN_ERR "Error to allocate vf buffer\n");
+               err = -ENOMEM;
+               goto out_2;
+       }
+       cam->vf_bufs_size[1] = PAGE_ALIGN(csi_mem_bufsize);
+       cam->vf_bufs_vaddr[1] = (void *)dma_alloc_coherent(0,
+                                                          cam->vf_bufs_size[1],
+                                                          (dma_addr_t *) &
+                                                          cam->vf_bufs[1],
+                                                          GFP_DMA |
+                                                          GFP_KERNEL);
+       if (cam->vf_bufs_vaddr[1] == NULL) {
+               printk(KERN_ERR "Error to allocate vf buffer\n");
+               err = -ENOMEM;
+               goto out_1;
+       }
+       pr_debug("vf_bufs %x %x\n", cam->vf_bufs[0], cam->vf_bufs[1]);
+
+       err = ipu_init_channel(cam->ipu, CSI_MEM, &params);
+       if (err != 0) {
+               printk(KERN_ERR "ipu_init_channel %d\n", err);
+               goto out_1;
+       }
+
+       pixel_fmt = IPU_PIX_FMT_UYVY;
+       err = ipu_init_channel_buffer(cam->ipu, CSI_MEM, IPU_OUTPUT_BUFFER,
+                               pixel_fmt, cam->crop_current.width,
+                               cam->crop_current.height,
+                               cam->crop_current.width, IPU_ROTATE_NONE,
+                               cam->vf_bufs[0], cam->vf_bufs[1], 0,
+                               cam->offset.u_offset, cam->offset.u_offset);
+       if (err != 0) {
+               printk(KERN_ERR "CSI_MEM output buffer\n");
+               goto out_1;
+       }
+       err = ipu_enable_channel(cam->ipu, CSI_MEM);
+       if (err < 0) {
+               printk(KERN_ERR "ipu_enable_channel CSI_MEM\n");
+               goto out_1;
+       }
+
+       csi_buffer_num = 0;
+
+       ipu_select_buffer(cam->ipu, CSI_MEM, IPU_OUTPUT_BUFFER, 0);
+       ipu_select_buffer(cam->ipu, CSI_MEM, IPU_OUTPUT_BUFFER, 1);
+       return err;
+out_1:
+       if (cam->vf_bufs_vaddr[0]) {
+               dma_free_coherent(0, cam->vf_bufs_size[0],
+                                 cam->vf_bufs_vaddr[0],
+                                 (dma_addr_t) cam->vf_bufs[0]);
+               cam->vf_bufs_vaddr[0] = NULL;
+               cam->vf_bufs[0] = 0;
+       }
+       if (cam->vf_bufs_vaddr[1]) {
+               dma_free_coherent(0, cam->vf_bufs_size[1],
+                                 cam->vf_bufs_vaddr[1],
+                                 (dma_addr_t) cam->vf_bufs[1]);
+               cam->vf_bufs_vaddr[1] = NULL;
+               cam->vf_bufs[1] = 0;
+       }
+out_2:
+       return err;
+}
+
+/*!
+ * Enable encoder task
+ * @param private       struct cam_data * mxc capture instance
+ *
+ * @return  status
+ */
+static int csi_enc_enabling_tasks(void *private)
+{
+       cam_data *cam = (cam_data *) private;
+       int err = 0;
+
+       ipu_clear_irq(cam->ipu, IPU_IRQ_CSI0_OUT_EOF);
+       err = ipu_request_irq(cam->ipu, IPU_IRQ_CSI0_OUT_EOF,
+                             csi_enc_callback, 0, "Mxc Camera", cam);
+       if (err != 0) {
+               printk(KERN_ERR "Error registering CSI0_OUT_EOF irq\n");
+               return err;
+       }
+
+       INIT_WORK(&cam->csi_work_struct, csi_buf_work_func);
+
+       err = csi_enc_setup(cam);
+       if (err != 0) {
+               printk(KERN_ERR "csi_enc_setup %d\n", err);
+               goto out1;
+       }
+
+       return err;
+out1:
+       ipu_free_irq(cam->ipu, IPU_IRQ_CSI0_OUT_EOF, cam);
+       return err;
+}
+
+/*!
+ * bg_overlay_start - start the overlay task
+ *
+ * @param private    cam_data * mxc v4l2 main structure
+ *
+ */
+static int bg_overlay_start(void *private)
+{
+       cam_data *cam = (cam_data *) private;
+       int err = 0;
+
+       if (!cam) {
+               printk(KERN_ERR "private is NULL\n");
+               return -EIO;
+       }
+
+       if (cam->overlay_active == true) {
+               pr_debug("already start.\n");
+               return 0;
+       }
+
+       get_disp_ipu(cam);
+
+       out_format = cam->v4l2_fb.fmt.pixelformat;
+       if (cam->v4l2_fb.fmt.pixelformat == IPU_PIX_FMT_BGR24) {
+               bpp = 3, csi_mem_bufsize = 3;
+               pr_info("BGR24\n");
+       } else if (cam->v4l2_fb.fmt.pixelformat == IPU_PIX_FMT_RGB565) {
+               bpp = 2, csi_mem_bufsize = 2;
+               pr_info("RGB565\n");
+       } else if (cam->v4l2_fb.fmt.pixelformat == IPU_PIX_FMT_BGR32) {
+               bpp = 4, csi_mem_bufsize = 4;
+               pr_info("BGR32\n");
+       } else {
+               printk(KERN_ERR
+                      "unsupported fix format from the framebuffer.\n");
+               return -EINVAL;
+       }
+
+       offset = cam->v4l2_fb.fmt.bytesperline * cam->win.w.top +
+           csi_mem_bufsize * cam->win.w.left;
+
+       if (cam->v4l2_fb.base == 0)
+               printk(KERN_ERR "invalid frame buffer address.\n");
+       else
+               offset += (u32) cam->v4l2_fb.base;
+
+       csi_mem_bufsize = cam->win.w.width * cam->win.w.height
+                               * csi_mem_bufsize;
+
+       err = csi_enc_enabling_tasks(cam);
+       if (err != 0) {
+               printk(KERN_ERR "Error csi enc enable fail\n");
+               return err;
+       }
+
+       cam->overlay_active = true;
+       return err;
+}
+
+/*!
+ * bg_overlay_stop - stop the overlay task
+ *
+ * @param private    cam_data * mxc v4l2 main structure
+ *
+ */
+static int bg_overlay_stop(void *private)
+{
+       int err = 0;
+       cam_data *cam = (cam_data *) private;
+#ifdef CONFIG_MXC_MIPI_CSI2
+       void *mipi_csi2_info;
+       int ipu_id;
+       int csi_id;
+#endif
+
+       if (cam->overlay_active == false)
+               return 0;
+
+       err = ipu_disable_channel(cam->ipu, CSI_MEM, true);
+
+       ipu_uninit_channel(cam->ipu, CSI_MEM);
+
+       csi_buffer_num = 0;
+
+#ifdef CONFIG_MXC_MIPI_CSI2
+       mipi_csi2_info = mipi_csi2_get_info();
+
+       if (mipi_csi2_info) {
+               if (mipi_csi2_get_status(mipi_csi2_info)) {
+                       ipu_id = mipi_csi2_get_bind_ipu(mipi_csi2_info);
+                       csi_id = mipi_csi2_get_bind_csi(mipi_csi2_info);
+
+                       if (cam->ipu == ipu_get_soc(ipu_id)
+                               && cam->csi == csi_id)
+                               mipi_csi2_pixelclk_disable(mipi_csi2_info);
+               }
+       }
+#endif
+
+       flush_work(&cam->csi_work_struct);
+       cancel_work_sync(&cam->csi_work_struct);
+
+       if (cam->vf_bufs_vaddr[0]) {
+               dma_free_coherent(0, cam->vf_bufs_size[0],
+                                 cam->vf_bufs_vaddr[0], cam->vf_bufs[0]);
+               cam->vf_bufs_vaddr[0] = NULL;
+               cam->vf_bufs[0] = 0;
+       }
+       if (cam->vf_bufs_vaddr[1]) {
+               dma_free_coherent(0, cam->vf_bufs_size[1],
+                                 cam->vf_bufs_vaddr[1], cam->vf_bufs[1]);
+               cam->vf_bufs_vaddr[1] = NULL;
+               cam->vf_bufs[1] = 0;
+       }
+       if (cam->rot_vf_bufs_vaddr[0]) {
+               dma_free_coherent(0, cam->rot_vf_buf_size[0],
+                                 cam->rot_vf_bufs_vaddr[0],
+                                 cam->rot_vf_bufs[0]);
+               cam->rot_vf_bufs_vaddr[0] = NULL;
+               cam->rot_vf_bufs[0] = 0;
+       }
+       if (cam->rot_vf_bufs_vaddr[1]) {
+               dma_free_coherent(0, cam->rot_vf_buf_size[1],
+                                 cam->rot_vf_bufs_vaddr[1],
+                                 cam->rot_vf_bufs[1]);
+               cam->rot_vf_bufs_vaddr[1] = NULL;
+               cam->rot_vf_bufs[1] = 0;
+       }
+
+       cam->overlay_active = false;
+       return err;
+}
+
+/*!
+ * Enable csi
+ * @param private       struct cam_data * mxc capture instance
+ *
+ * @return  status
+ */
+static int bg_overlay_enable_csi(void *private)
+{
+       cam_data *cam = (cam_data *) private;
+
+       return ipu_enable_csi(cam->ipu, cam->csi);
+}
+
+/*!
+ * Disable csi
+ * @param private       struct cam_data * mxc capture instance
+ *
+ * @return  status
+ */
+static int bg_overlay_disable_csi(void *private)
+{
+       cam_data *cam = (cam_data *) private;
+
+       /* free csi eof irq firstly.
+        * when disable csi, wait for idmac eof.
+        * it requests eof irq again */
+       ipu_free_irq(cam->ipu, IPU_IRQ_CSI0_OUT_EOF, cam);
+
+       return ipu_disable_csi(cam->ipu, cam->csi);
+}
+
+/*!
+ * function to select bg as the working path
+ *
+ * @param private    cam_data * mxc v4l2 main structure
+ *
+ * @return  status
+ */
+int bg_overlay_sdc_select(void *private)
+{
+       cam_data *cam = (cam_data *) private;
+
+       if (cam) {
+               cam->vf_start_sdc = bg_overlay_start;
+               cam->vf_stop_sdc = bg_overlay_stop;
+               cam->vf_enable_csi = bg_overlay_enable_csi;
+               cam->vf_disable_csi = bg_overlay_disable_csi;
+               cam->overlay_active = false;
+       }
+
+       return 0;
+}
+EXPORT_SYMBOL(bg_overlay_sdc_select);
+
+/*!
+ * function to de-select bg as the working path
+ *
+ * @param private    cam_data * mxc v4l2 main structure
+ *
+ * @return  status
+ */
+int bg_overlay_sdc_deselect(void *private)
+{
+       cam_data *cam = (cam_data *) private;
+
+       if (cam) {
+               cam->vf_start_sdc = NULL;
+               cam->vf_stop_sdc = NULL;
+               cam->vf_enable_csi = NULL;
+               cam->vf_disable_csi = NULL;
+       }
+       return 0;
+}
+EXPORT_SYMBOL(bg_overlay_sdc_deselect);
+
+/*!
+ * Init background overlay task.
+ *
+ * @return  Error code indicating success or failure
+ */
+__init int bg_overlay_sdc_init(void)
+{
+       return 0;
+}
+
+/*!
+ * Deinit background overlay task.
+ *
+ * @return  Error code indicating success or failure
+ */
+void __exit bg_overlay_sdc_exit(void)
+{
+}
+
+module_init(bg_overlay_sdc_init);
+module_exit(bg_overlay_sdc_exit);
+
+MODULE_AUTHOR("Freescale Semiconductor, Inc.");
+MODULE_DESCRIPTION("IPU PRP VF SDC Backgroud Driver");
+MODULE_LICENSE("GPL");
diff --git a/drivers/media/platform/mxc/capture/ipu_csi_enc.c b/drivers/media/platform/mxc/capture/ipu_csi_enc.c
new file mode 100644 (file)
index 0000000..fb3c6a2
--- /dev/null
@@ -0,0 +1,418 @@
+/*
+ * Copyright 2009-2014 Freescale Semiconductor, Inc. All Rights Reserved.
+ */
+
+/*
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/*!
+ * @file ipu_csi_enc.c
+ *
+ * @brief CSI Use case for video capture
+ *
+ * @ingroup IPU
+ */
+
+#include <linux/module.h>
+#include <linux/platform_device.h>
+#include <linux/dma-mapping.h>
+#include <linux/ipu.h>
+#include <linux/mipi_csi2.h>
+#include "mxc_v4l2_capture.h"
+#include "ipu_prp_sw.h"
+
+#ifdef CAMERA_DBG
+       #define CAMERA_TRACE(x) (printk)x
+#else
+       #define CAMERA_TRACE(x)
+#endif
+
+/*
+ * Function definitions
+ */
+
+/*!
+ * csi ENC callback function.
+ *
+ * @param irq       int irq line
+ * @param dev_id    void * device id
+ *
+ * @return status   IRQ_HANDLED for handled
+ */
+static irqreturn_t csi_enc_callback(int irq, void *dev_id)
+{
+       cam_data *cam = (cam_data *) dev_id;
+
+       if (cam->enc_callback == NULL)
+               return IRQ_HANDLED;
+
+       cam->enc_callback(irq, dev_id);
+       return IRQ_HANDLED;
+}
+
+/*!
+ * CSI ENC enable channel setup function
+ *
+ * @param cam       struct cam_data * mxc capture instance
+ *
+ * @return  status
+ */
+static int csi_enc_setup(cam_data *cam)
+{
+       ipu_channel_params_t params;
+       u32 pixel_fmt;
+       int err = 0, sensor_protocol = 0;
+       dma_addr_t dummy = cam->dummy_frame.buffer.m.offset;
+#ifdef CONFIG_MXC_MIPI_CSI2
+       void *mipi_csi2_info;
+       int ipu_id;
+       int csi_id;
+#endif
+
+       CAMERA_TRACE("In csi_enc_setup\n");
+       if (!cam) {
+               printk(KERN_ERR "cam private is NULL\n");
+               return -ENXIO;
+       }
+
+       memset(&params, 0, sizeof(ipu_channel_params_t));
+       params.csi_mem.csi = cam->csi;
+
+       sensor_protocol = ipu_csi_get_sensor_protocol(cam->ipu, cam->csi);
+       switch (sensor_protocol) {
+       case IPU_CSI_CLK_MODE_GATED_CLK:
+       case IPU_CSI_CLK_MODE_NONGATED_CLK:
+       case IPU_CSI_CLK_MODE_CCIR656_PROGRESSIVE:
+       case IPU_CSI_CLK_MODE_CCIR1120_PROGRESSIVE_DDR:
+       case IPU_CSI_CLK_MODE_CCIR1120_PROGRESSIVE_SDR:
+               params.csi_mem.interlaced = false;
+               break;
+       case IPU_CSI_CLK_MODE_CCIR656_INTERLACED:
+       case IPU_CSI_CLK_MODE_CCIR1120_INTERLACED_DDR:
+       case IPU_CSI_CLK_MODE_CCIR1120_INTERLACED_SDR:
+               params.csi_mem.interlaced = true;
+               break;
+       default:
+               printk(KERN_ERR "sensor protocol unsupported\n");
+               return -EINVAL;
+       }
+
+       if (cam->v2f.fmt.pix.pixelformat == V4L2_PIX_FMT_YUV420)
+               pixel_fmt = IPU_PIX_FMT_YUV420P;
+       else if (cam->v2f.fmt.pix.pixelformat == V4L2_PIX_FMT_YVU420)
+               pixel_fmt = IPU_PIX_FMT_YVU420P;
+       else if (cam->v2f.fmt.pix.pixelformat == V4L2_PIX_FMT_YUV422P)
+               pixel_fmt = IPU_PIX_FMT_YUV422P;
+       else if (cam->v2f.fmt.pix.pixelformat == V4L2_PIX_FMT_UYVY)
+               pixel_fmt = IPU_PIX_FMT_UYVY;
+       else if (cam->v2f.fmt.pix.pixelformat == V4L2_PIX_FMT_YUYV)
+               pixel_fmt = IPU_PIX_FMT_YUYV;
+       else if (cam->v2f.fmt.pix.pixelformat == V4L2_PIX_FMT_NV12)
+               pixel_fmt = IPU_PIX_FMT_NV12;
+       else if (cam->v2f.fmt.pix.pixelformat == V4L2_PIX_FMT_BGR24)
+               pixel_fmt = IPU_PIX_FMT_BGR24;
+       else if (cam->v2f.fmt.pix.pixelformat == V4L2_PIX_FMT_RGB24)
+               pixel_fmt = IPU_PIX_FMT_RGB24;
+       else if (cam->v2f.fmt.pix.pixelformat == V4L2_PIX_FMT_RGB565)
+               pixel_fmt = IPU_PIX_FMT_RGB565;
+       else if (cam->v2f.fmt.pix.pixelformat == V4L2_PIX_FMT_BGR32)
+               pixel_fmt = IPU_PIX_FMT_BGR32;
+       else if (cam->v2f.fmt.pix.pixelformat == V4L2_PIX_FMT_RGB32)
+               pixel_fmt = IPU_PIX_FMT_RGB32;
+       else {
+               printk(KERN_ERR "format not supported\n");
+               return -EINVAL;
+       }
+
+#ifdef CONFIG_MXC_MIPI_CSI2
+       mipi_csi2_info = mipi_csi2_get_info();
+
+       if (mipi_csi2_info) {
+               if (mipi_csi2_get_status(mipi_csi2_info)) {
+                       ipu_id = mipi_csi2_get_bind_ipu(mipi_csi2_info);
+                       csi_id = mipi_csi2_get_bind_csi(mipi_csi2_info);
+
+                       if (cam->ipu == ipu_get_soc(ipu_id)
+                               && cam->csi == csi_id) {
+                               params.csi_mem.mipi_en = true;
+                               params.csi_mem.mipi_vc =
+                               mipi_csi2_get_virtual_channel(mipi_csi2_info);
+                               params.csi_mem.mipi_id =
+                               mipi_csi2_get_datatype(mipi_csi2_info);
+
+                               mipi_csi2_pixelclk_enable(mipi_csi2_info);
+                       } else {
+                               params.csi_mem.mipi_en = false;
+                               params.csi_mem.mipi_vc = 0;
+                               params.csi_mem.mipi_id = 0;
+                       }
+               } else {
+                       params.csi_mem.mipi_en = false;
+                       params.csi_mem.mipi_vc = 0;
+                       params.csi_mem.mipi_id = 0;
+               }
+       }
+#endif
+
+       err = ipu_init_channel(cam->ipu, CSI_MEM, &params);
+       if (err != 0) {
+               printk(KERN_ERR "ipu_init_channel %d\n", err);
+               return err;
+       }
+
+       err = ipu_init_channel_buffer(cam->ipu, CSI_MEM, IPU_OUTPUT_BUFFER,
+                                     pixel_fmt, cam->v2f.fmt.pix.width,
+                                     cam->v2f.fmt.pix.height,
+                                     cam->v2f.fmt.pix.bytesperline,
+                                     IPU_ROTATE_NONE,
+                                     dummy, dummy, 0,
+                                     cam->offset.u_offset,
+                                     cam->offset.v_offset);
+       if (err != 0) {
+               printk(KERN_ERR "CSI_MEM output buffer\n");
+               return err;
+       }
+       err = ipu_enable_channel(cam->ipu, CSI_MEM);
+       if (err < 0) {
+               printk(KERN_ERR "ipu_enable_channel CSI_MEM\n");
+               return err;
+       }
+
+       return err;
+}
+
+/*!
+ * function to update physical buffer address for encorder IDMA channel
+ *
+ * @param eba         physical buffer address for encorder IDMA channel
+ * @param buffer_num  int buffer 0 or buffer 1
+ *
+ * @return  status
+ */
+static int csi_enc_eba_update(struct ipu_soc *ipu, dma_addr_t eba,
+                             int *buffer_num)
+{
+       int err = 0;
+
+       pr_debug("eba %x\n", eba);
+       err = ipu_update_channel_buffer(ipu, CSI_MEM, IPU_OUTPUT_BUFFER,
+                                       *buffer_num, eba);
+       if (err != 0) {
+               ipu_clear_buffer_ready(ipu, CSI_MEM, IPU_OUTPUT_BUFFER,
+                                      *buffer_num);
+
+               err = ipu_update_channel_buffer(ipu, CSI_MEM, IPU_OUTPUT_BUFFER,
+                                               *buffer_num, eba);
+               if (err != 0) {
+                       pr_err("ERROR: v4l2 capture: fail to update "
+                              "buf%d\n", *buffer_num);
+                       return err;
+               }
+       }
+
+       ipu_select_buffer(ipu, CSI_MEM, IPU_OUTPUT_BUFFER, *buffer_num);
+
+       *buffer_num = (*buffer_num == 0) ? 1 : 0;
+
+       return 0;
+}
+
+/*!
+ * Enable encoder task
+ * @param private       struct cam_data * mxc capture instance
+ *
+ * @return  status
+ */
+static int csi_enc_enabling_tasks(void *private)
+{
+       cam_data *cam = (cam_data *) private;
+       int err = 0;
+       CAMERA_TRACE("IPU:In csi_enc_enabling_tasks\n");
+
+       cam->dummy_frame.vaddress = dma_alloc_coherent(0,
+                              PAGE_ALIGN(cam->v2f.fmt.pix.sizeimage),
+                              &cam->dummy_frame.paddress,
+                              GFP_DMA | GFP_KERNEL);
+       if (cam->dummy_frame.vaddress == 0) {
+               pr_err("ERROR: v4l2 capture: Allocate dummy frame "
+                      "failed.\n");
+               return -ENOBUFS;
+       }
+       cam->dummy_frame.buffer.type = V4L2_BUF_TYPE_PRIVATE;
+       cam->dummy_frame.buffer.length =
+           PAGE_ALIGN(cam->v2f.fmt.pix.sizeimage);
+       cam->dummy_frame.buffer.m.offset = cam->dummy_frame.paddress;
+
+       ipu_clear_irq(cam->ipu, IPU_IRQ_CSI0_OUT_EOF);
+       err = ipu_request_irq(cam->ipu, IPU_IRQ_CSI0_OUT_EOF,
+                             csi_enc_callback, 0, "Mxc Camera", cam);
+       if (err != 0) {
+               printk(KERN_ERR "Error registering rot irq\n");
+               return err;
+       }
+
+       err = csi_enc_setup(cam);
+       if (err != 0) {
+               printk(KERN_ERR "csi_enc_setup %d\n", err);
+               return err;
+       }
+
+       return err;
+}
+
+/*!
+ * Disable encoder task
+ * @param private       struct cam_data * mxc capture instance
+ *
+ * @return  int
+ */
+static int csi_enc_disabling_tasks(void *private)
+{
+       cam_data *cam = (cam_data *) private;
+       int err = 0;
+#ifdef CONFIG_MXC_MIPI_CSI2
+       void *mipi_csi2_info;
+       int ipu_id;
+       int csi_id;
+#endif
+
+       err = ipu_disable_channel(cam->ipu, CSI_MEM, true);
+
+       ipu_uninit_channel(cam->ipu, CSI_MEM);
+
+       if (cam->dummy_frame.vaddress != 0) {
+               dma_free_coherent(0, cam->dummy_frame.buffer.length,
+                                 cam->dummy_frame.vaddress,
+                                 cam->dummy_frame.paddress);
+               cam->dummy_frame.vaddress = 0;
+       }
+
+#ifdef CONFIG_MXC_MIPI_CSI2
+       mipi_csi2_info = mipi_csi2_get_info();
+
+       if (mipi_csi2_info) {
+               if (mipi_csi2_get_status(mipi_csi2_info)) {
+                       ipu_id = mipi_csi2_get_bind_ipu(mipi_csi2_info);
+                       csi_id = mipi_csi2_get_bind_csi(mipi_csi2_info);
+
+                       if (cam->ipu == ipu_get_soc(ipu_id)
+                               && cam->csi == csi_id)
+                               mipi_csi2_pixelclk_disable(mipi_csi2_info);
+               }
+       }
+#endif
+
+       return err;
+}
+
+/*!
+ * Enable csi
+ * @param private       struct cam_data * mxc capture instance
+ *
+ * @return  status
+ */
+static int csi_enc_enable_csi(void *private)
+{
+       cam_data *cam = (cam_data *) private;
+
+       return ipu_enable_csi(cam->ipu, cam->csi);
+}
+
+/*!
+ * Disable csi
+ * @param private       struct cam_data * mxc capture instance
+ *
+ * @return  status
+ */
+static int csi_enc_disable_csi(void *private)
+{
+       cam_data *cam = (cam_data *) private;
+
+       /* free csi eof irq firstly.
+        * when disable csi, wait for idmac eof.
+        * it requests eof irq again */
+       ipu_free_irq(cam->ipu, IPU_IRQ_CSI0_OUT_EOF, cam);
+
+       return ipu_disable_csi(cam->ipu, cam->csi);
+}
+
+/*!
+ * function to select CSI ENC as the working path
+ *
+ * @param private       struct cam_data * mxc capture instance
+ *
+ * @return  int
+ */
+int csi_enc_select(void *private)
+{
+       cam_data *cam = (cam_data *) private;
+       int err = 0;
+
+       if (cam) {
+               cam->enc_update_eba = csi_enc_eba_update;
+               cam->enc_enable = csi_enc_enabling_tasks;
+               cam->enc_disable = csi_enc_disabling_tasks;
+               cam->enc_enable_csi = csi_enc_enable_csi;
+               cam->enc_disable_csi = csi_enc_disable_csi;
+       } else {
+               err = -EIO;
+       }
+
+       return err;
+}
+EXPORT_SYMBOL(csi_enc_select);
+
+/*!
+ * function to de-select CSI ENC as the working path
+ *
+ * @param private       struct cam_data * mxc capture instance
+ *
+ * @return  int
+ */
+int csi_enc_deselect(void *private)
+{
+       cam_data *cam = (cam_data *) private;
+       int err = 0;
+
+       if (cam) {
+               cam->enc_update_eba = NULL;
+               cam->enc_enable = NULL;
+               cam->enc_disable = NULL;
+               cam->enc_enable_csi = NULL;
+               cam->enc_disable_csi = NULL;
+       }
+
+       return err;
+}
+EXPORT_SYMBOL(csi_enc_deselect);
+
+/*!
+ * Init the Encorder channels
+ *
+ * @return  Error code indicating success or failure
+ */
+__init int csi_enc_init(void)
+{
+       return 0;
+}
+
+/*!
+ * Deinit the Encorder channels
+ *
+ */
+void __exit csi_enc_exit(void)
+{
+}
+
+module_init(csi_enc_init);
+module_exit(csi_enc_exit);
+
+MODULE_AUTHOR("Freescale Semiconductor, Inc.");
+MODULE_DESCRIPTION("CSI ENC Driver");
+MODULE_LICENSE("GPL");
diff --git a/drivers/media/platform/mxc/capture/ipu_fg_overlay_sdc.c b/drivers/media/platform/mxc/capture/ipu_fg_overlay_sdc.c
new file mode 100644 (file)
index 0000000..8013615
--- /dev/null
@@ -0,0 +1,634 @@
+/*
+ * Copyright 2004-2014 Freescale Semiconductor, Inc. All Rights Reserved.
+ */
+/* * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/*!
+ * @file ipu_foreground_sdc.c
+ *
+ * @brief IPU Use case for PRP-VF
+ *
+ * @ingroup IPU
+ */
+
+#include <linux/module.h>
+#include <linux/dma-mapping.h>
+#include <linux/console.h>
+#include <linux/ipu.h>
+#include <linux/mxcfb.h>
+#include <linux/mipi_csi2.h>
+
+#include "mxc_v4l2_capture.h"
+#include "ipu_prp_sw.h"
+
+#ifdef CAMERA_DBG
+       #define CAMERA_TRACE(x) (printk)x
+#else
+       #define CAMERA_TRACE(x)
+#endif
+
+static int csi_buffer_num, buffer_num;
+static u32 csi_mem_bufsize;
+static struct ipu_soc *disp_ipu;
+static struct fb_info *fbi;
+static struct fb_var_screeninfo fbvar;
+static u32 vf_out_format;
+static void csi_buf_work_func(struct work_struct *work)
+{
+       int err = 0;
+       cam_data *cam =
+               container_of(work, struct _cam_data, csi_work_struct);
+
+       struct ipu_task task;
+       memset(&task, 0, sizeof(task));
+
+       if (csi_buffer_num)
+               task.input.paddr = cam->vf_bufs[0];
+       else
+               task.input.paddr = cam->vf_bufs[1];
+       task.input.width = cam->crop_current.width;
+       task.input.height = cam->crop_current.height;
+       task.input.format = IPU_PIX_FMT_NV12;
+
+       if (buffer_num == 0)
+               task.output.paddr = fbi->fix.smem_start +
+                               (fbi->fix.line_length * fbvar.yres);
+       else
+               task.output.paddr = fbi->fix.smem_start;
+       task.output.width = cam->win.w.width;
+       task.output.height = cam->win.w.height;
+       task.output.format = vf_out_format;
+       task.output.rotate = cam->rotation;
+again:
+       err = ipu_check_task(&task);
+       if (err != IPU_CHECK_OK) {
+               if (err > IPU_CHECK_ERR_MIN) {
+                       if (err == IPU_CHECK_ERR_SPLIT_INPUTW_OVER) {
+                               task.input.crop.w -= 8;
+                               goto again;
+                       }
+                       if (err == IPU_CHECK_ERR_SPLIT_INPUTH_OVER) {
+                               task.input.crop.h -= 8;
+                               goto again;
+                       }
+                       if (err == IPU_CHECK_ERR_SPLIT_OUTPUTW_OVER) {
+                                       task.output.width -= 8;
+                                       task.output.crop.w = task.output.width;
+                               goto again;
+                       }
+                       if (err == IPU_CHECK_ERR_SPLIT_OUTPUTH_OVER) {
+                                       task.output.height -= 8;
+                                       task.output.crop.h = task.output.height;
+                               goto again;
+                       }
+                       printk(KERN_ERR "check ipu taks fail\n");
+                       return;
+               }
+               printk(KERN_ERR "check ipu taks fail\n");
+               return;
+       }
+       err = ipu_queue_task(&task);
+       if (err < 0)
+               printk(KERN_ERR "queue ipu task error\n");
+       ipu_select_buffer(disp_ipu, MEM_FG_SYNC, IPU_INPUT_BUFFER, buffer_num);
+       buffer_num = (buffer_num == 0) ? 1 : 0;
+}
+
+static void get_disp_ipu(cam_data *cam)
+{
+       if (cam->output > 2)
+               disp_ipu = ipu_get_soc(1); /* using DISP4 */
+       else
+               disp_ipu = ipu_get_soc(0);
+}
+
+/*!
+ * csi ENC callback function.
+ *
+ * @param irq       int irq line
+ * @param dev_id    void * device id
+ *
+ * @return status   IRQ_HANDLED for handled
+ */
+static irqreturn_t csi_enc_callback(int irq, void *dev_id)
+{
+       cam_data *cam = (cam_data *) dev_id;
+
+       ipu_select_buffer(cam->ipu, CSI_MEM, IPU_OUTPUT_BUFFER, csi_buffer_num);
+       if ((cam->crop_current.width != cam->win.w.width) ||
+               (cam->crop_current.height != cam->win.w.height) ||
+               (vf_out_format != IPU_PIX_FMT_NV12) ||
+               (cam->rotation >= IPU_ROTATE_VERT_FLIP))
+               schedule_work(&cam->csi_work_struct);
+       csi_buffer_num = (csi_buffer_num == 0) ? 1 : 0;
+       return IRQ_HANDLED;
+}
+
+static int csi_enc_setup(cam_data *cam)
+{
+       ipu_channel_params_t params;
+       int err = 0, sensor_protocol = 0;
+#ifdef CONFIG_MXC_MIPI_CSI2
+       void *mipi_csi2_info;
+       int ipu_id;
+       int csi_id;
+#endif
+
+       CAMERA_TRACE("In csi_enc_setup\n");
+       if (!cam) {
+               printk(KERN_ERR "cam private is NULL\n");
+               return -ENXIO;
+       }
+
+       memset(&params, 0, sizeof(ipu_channel_params_t));
+       params.csi_mem.csi = cam->csi;
+
+       sensor_protocol = ipu_csi_get_sensor_protocol(cam->ipu, cam->csi);
+       switch (sensor_protocol) {
+       case IPU_CSI_CLK_MODE_GATED_CLK:
+       case IPU_CSI_CLK_MODE_NONGATED_CLK:
+       case IPU_CSI_CLK_MODE_CCIR656_PROGRESSIVE:
+       case IPU_CSI_CLK_MODE_CCIR1120_PROGRESSIVE_DDR:
+       case IPU_CSI_CLK_MODE_CCIR1120_PROGRESSIVE_SDR:
+               params.csi_mem.interlaced = false;
+               break;
+       case IPU_CSI_CLK_MODE_CCIR656_INTERLACED:
+       case IPU_CSI_CLK_MODE_CCIR1120_INTERLACED_DDR:
+       case IPU_CSI_CLK_MODE_CCIR1120_INTERLACED_SDR:
+               params.csi_mem.interlaced = true;
+               break;
+       default:
+               printk(KERN_ERR "sensor protocol unsupported\n");
+               return -EINVAL;
+       }
+
+#ifdef CONFIG_MXC_MIPI_CSI2
+       mipi_csi2_info = mipi_csi2_get_info();
+
+       if (mipi_csi2_info) {
+               if (mipi_csi2_get_status(mipi_csi2_info)) {
+                       ipu_id = mipi_csi2_get_bind_ipu(mipi_csi2_info);
+                       csi_id = mipi_csi2_get_bind_csi(mipi_csi2_info);
+
+                       if (cam->ipu == ipu_get_soc(ipu_id)
+                               && cam->csi == csi_id) {
+                               params.csi_mem.mipi_en = true;
+                               params.csi_mem.mipi_vc =
+                               mipi_csi2_get_virtual_channel(mipi_csi2_info);
+                               params.csi_mem.mipi_id =
+                               mipi_csi2_get_datatype(mipi_csi2_info);
+
+                               mipi_csi2_pixelclk_enable(mipi_csi2_info);
+                       } else {
+                               params.csi_mem.mipi_en = false;
+                               params.csi_mem.mipi_vc = 0;
+                               params.csi_mem.mipi_id = 0;
+                       }
+               } else {
+                       params.csi_mem.mipi_en = false;
+                       params.csi_mem.mipi_vc = 0;
+                       params.csi_mem.mipi_id = 0;
+               }
+       }
+#endif
+
+       if (cam->vf_bufs_vaddr[0]) {
+               dma_free_coherent(0, cam->vf_bufs_size[0],
+                                 cam->vf_bufs_vaddr[0],
+                                 (dma_addr_t) cam->vf_bufs[0]);
+       }
+       if (cam->vf_bufs_vaddr[1]) {
+               dma_free_coherent(0, cam->vf_bufs_size[1],
+                                 cam->vf_bufs_vaddr[1],
+                                 (dma_addr_t) cam->vf_bufs[1]);
+       }
+       csi_mem_bufsize = cam->crop_current.width *
+                         cam->crop_current.height * 3/2;
+       cam->vf_bufs_size[0] = PAGE_ALIGN(csi_mem_bufsize);
+       cam->vf_bufs_vaddr[0] = (void *)dma_alloc_coherent(0,
+                                                          cam->vf_bufs_size[0],
+                                                          (dma_addr_t *) &
+                                                          cam->vf_bufs[0],
+                                                          GFP_DMA |
+                                                          GFP_KERNEL);
+       if (cam->vf_bufs_vaddr[0] == NULL) {
+               printk(KERN_ERR "Error to allocate vf buffer\n");
+               err = -ENOMEM;
+               goto out_2;
+       }
+       cam->vf_bufs_size[1] = PAGE_ALIGN(csi_mem_bufsize);
+       cam->vf_bufs_vaddr[1] = (void *)dma_alloc_coherent(0,
+                                                          cam->vf_bufs_size[1],
+                                                          (dma_addr_t *) &
+                                                          cam->vf_bufs[1],
+                                                          GFP_DMA |
+                                                          GFP_KERNEL);
+       if (cam->vf_bufs_vaddr[1] == NULL) {
+               printk(KERN_ERR "Error to allocate vf buffer\n");
+               err = -ENOMEM;
+               goto out_1;
+       }
+       pr_debug("vf_bufs %x %x\n", cam->vf_bufs[0], cam->vf_bufs[1]);
+
+       err = ipu_init_channel(cam->ipu, CSI_MEM, &params);
+       if (err != 0) {
+               printk(KERN_ERR "ipu_init_channel %d\n", err);
+               goto out_1;
+       }
+
+       if ((cam->crop_current.width == cam->win.w.width) &&
+               (cam->crop_current.height == cam->win.w.height) &&
+               (vf_out_format == IPU_PIX_FMT_NV12) &&
+               (cam->rotation < IPU_ROTATE_VERT_FLIP)) {
+               err = ipu_init_channel_buffer(cam->ipu, CSI_MEM,
+                       IPU_OUTPUT_BUFFER,
+                       IPU_PIX_FMT_NV12,
+                       cam->crop_current.width,
+                       cam->crop_current.height,
+                       cam->crop_current.width, IPU_ROTATE_NONE,
+                       fbi->fix.smem_start +
+                       (fbi->fix.line_length * fbvar.yres),
+                       fbi->fix.smem_start, 0,
+                       cam->offset.u_offset, cam->offset.u_offset);
+       } else {
+               err = ipu_init_channel_buffer(cam->ipu, CSI_MEM,
+                       IPU_OUTPUT_BUFFER,
+                       IPU_PIX_FMT_NV12,
+                       cam->crop_current.width,
+                       cam->crop_current.height,
+                       cam->crop_current.width, IPU_ROTATE_NONE,
+                       cam->vf_bufs[0], cam->vf_bufs[1], 0,
+                       cam->offset.u_offset, cam->offset.u_offset);
+       }
+       if (err != 0) {
+               printk(KERN_ERR "CSI_MEM output buffer\n");
+               goto out_1;
+       }
+       err = ipu_enable_channel(cam->ipu, CSI_MEM);
+       if (err < 0) {
+               printk(KERN_ERR "ipu_enable_channel CSI_MEM\n");
+               goto out_1;
+       }
+
+       csi_buffer_num = 0;
+
+       ipu_select_buffer(cam->ipu, CSI_MEM, IPU_OUTPUT_BUFFER, 0);
+       ipu_select_buffer(cam->ipu, CSI_MEM, IPU_OUTPUT_BUFFER, 1);
+       return err;
+out_1:
+       if (cam->vf_bufs_vaddr[0]) {
+               dma_free_coherent(0, cam->vf_bufs_size[0],
+                                 cam->vf_bufs_vaddr[0],
+                                 (dma_addr_t) cam->vf_bufs[0]);
+               cam->vf_bufs_vaddr[0] = NULL;
+               cam->vf_bufs[0] = 0;
+       }
+       if (cam->vf_bufs_vaddr[1]) {
+               dma_free_coherent(0, cam->vf_bufs_size[1],
+                                 cam->vf_bufs_vaddr[1],
+                                 (dma_addr_t) cam->vf_bufs[1]);
+               cam->vf_bufs_vaddr[1] = NULL;
+               cam->vf_bufs[1] = 0;
+       }
+out_2:
+       return err;
+}
+
+/*!
+ * Enable encoder task
+ * @param private       struct cam_data * mxc capture instance
+ *
+ * @return  status
+ */
+static int csi_enc_enabling_tasks(void *private)
+{
+       cam_data *cam = (cam_data *) private;
+       int err = 0;
+       CAMERA_TRACE("IPU:In csi_enc_enabling_tasks\n");
+
+       ipu_clear_irq(cam->ipu, IPU_IRQ_CSI0_OUT_EOF);
+       err = ipu_request_irq(cam->ipu, IPU_IRQ_CSI0_OUT_EOF,
+                             csi_enc_callback, 0, "Mxc Camera", cam);
+       if (err != 0) {
+               printk(KERN_ERR "Error registering CSI0_OUT_EOF irq\n");
+               return err;
+       }
+
+       INIT_WORK(&cam->csi_work_struct, csi_buf_work_func);
+
+       err = csi_enc_setup(cam);
+       if (err != 0) {
+               printk(KERN_ERR "csi_enc_setup %d\n", err);
+               goto out1;
+       }
+
+       return err;
+out1:
+       ipu_free_irq(cam->ipu, IPU_IRQ_CSI0_OUT_EOF, cam);
+       return err;
+}
+
+/*
+ * Function definitions
+ */
+
+/*!
+ * foreground_start - start the vf task
+ *
+ * @param private    cam_data * mxc v4l2 main structure
+ *
+ */
+static int foreground_start(void *private)
+{
+       cam_data *cam = (cam_data *) private;
+       int err = 0, i = 0, screen_size;
+       char *base;
+
+       if (!cam) {
+               printk(KERN_ERR "private is NULL\n");
+               return -EIO;
+       }
+
+       if (cam->overlay_active == true) {
+               pr_debug("already started.\n");
+               return 0;
+       }
+
+       get_disp_ipu(cam);
+
+       for (i = 0; i < num_registered_fb; i++) {
+               char *idstr = registered_fb[i]->fix.id;
+               if (((strcmp(idstr, "DISP3 FG") == 0) && (cam->output < 3)) ||
+                   ((strcmp(idstr, "DISP4 FG") == 0) && (cam->output >= 3))) {
+                       fbi = registered_fb[i];
+                       break;
+               }
+       }
+
+       if (fbi == NULL) {
+               printk(KERN_ERR "DISP FG fb not found\n");
+               return -EPERM;
+       }
+
+       fbvar = fbi->var;
+
+       /* Store the overlay frame buffer's original std */
+       cam->fb_origin_std = fbvar.nonstd;
+
+       if (cam->devtype == IMX5_V4L2 || cam->devtype == IMX6_V4L2) {
+               /* Use DP to do CSC so that we can get better performance */
+               vf_out_format = IPU_PIX_FMT_NV12;
+               fbvar.nonstd = vf_out_format;
+       } else {
+               vf_out_format = IPU_PIX_FMT_RGB565;
+               fbvar.nonstd = 0;
+       }
+
+       fbvar.bits_per_pixel = 16;
+       fbvar.xres = fbvar.xres_virtual = cam->win.w.width;
+       fbvar.yres = cam->win.w.height;
+       fbvar.yres_virtual = cam->win.w.height * 2;
+       fbvar.yoffset = 0;
+       fbvar.vmode &= ~FB_VMODE_YWRAP;
+       fbvar.accel_flags = FB_ACCEL_DOUBLE_FLAG;
+       fbvar.activate |= FB_ACTIVATE_FORCE;
+       fb_set_var(fbi, &fbvar);
+
+       ipu_disp_set_window_pos(disp_ipu, MEM_FG_SYNC, cam->win.w.left,
+                       cam->win.w.top);
+
+       /* Fill black color for framebuffer */
+       base = (char *) fbi->screen_base;
+       screen_size = fbi->var.xres * fbi->var.yres;
+       if (cam->devtype == IMX5_V4L2 || cam->devtype == IMX6_V4L2) {
+               memset(base, 0, screen_size);
+               base += screen_size;
+               for (i = 0; i < screen_size / 2; i++, base++)
+                       *base = 0x80;
+       } else {
+               for (i = 0; i < screen_size * 2; i++, base++)
+                       *base = 0x00;
+       }
+
+       console_lock();
+       fb_blank(fbi, FB_BLANK_UNBLANK);
+       console_unlock();
+
+       /* correct display ch buffer address */
+       ipu_update_channel_buffer(disp_ipu, MEM_FG_SYNC, IPU_INPUT_BUFFER,
+                               0, fbi->fix.smem_start +
+                               (fbi->fix.line_length * fbvar.yres));
+       ipu_update_channel_buffer(disp_ipu, MEM_FG_SYNC, IPU_INPUT_BUFFER,
+                                       1, fbi->fix.smem_start);
+
+       err = csi_enc_enabling_tasks(cam);
+       if (err != 0) {
+               printk(KERN_ERR "Error csi enc enable fail\n");
+               return err;
+       }
+
+       cam->overlay_active = true;
+       return err;
+
+}
+
+/*!
+ * foreground_stop - stop the vf task
+ *
+ * @param private    cam_data * mxc v4l2 main structure
+ *
+ */
+static int foreground_stop(void *private)
+{
+       cam_data *cam = (cam_data *) private;
+       int err = 0, i = 0;
+       struct fb_info *fbi = NULL;
+       struct fb_var_screeninfo fbvar;
+
+#ifdef CONFIG_MXC_MIPI_CSI2
+       void *mipi_csi2_info;
+       int ipu_id;
+       int csi_id;
+#endif
+
+       if (cam->overlay_active == false)
+               return 0;
+
+       err = ipu_disable_channel(cam->ipu, CSI_MEM, true);
+
+       ipu_uninit_channel(cam->ipu, CSI_MEM);
+
+       csi_buffer_num = 0;
+       buffer_num = 0;
+
+       for (i = 0; i < num_registered_fb; i++) {
+               char *idstr = registered_fb[i]->fix.id;
+               if (((strcmp(idstr, "DISP3 FG") == 0) && (cam->output < 3)) ||
+                   ((strcmp(idstr, "DISP4 FG") == 0) && (cam->output >= 3))) {
+                       fbi = registered_fb[i];
+                       break;
+               }
+       }
+
+       if (fbi == NULL) {
+               printk(KERN_ERR "DISP FG fb not found\n");
+               return -EPERM;
+       }
+
+       console_lock();
+       fb_blank(fbi, FB_BLANK_POWERDOWN);
+       console_unlock();
+
+       /* Set the overlay frame buffer std to what it is used to be */
+       fbvar = fbi->var;
+       fbvar.accel_flags = FB_ACCEL_TRIPLE_FLAG;
+       fbvar.nonstd = cam->fb_origin_std;
+       fbvar.activate |= FB_ACTIVATE_FORCE;
+       fb_set_var(fbi, &fbvar);
+
+#ifdef CONFIG_MXC_MIPI_CSI2
+       mipi_csi2_info = mipi_csi2_get_info();
+
+       if (mipi_csi2_info) {
+               if (mipi_csi2_get_status(mipi_csi2_info)) {
+                       ipu_id = mipi_csi2_get_bind_ipu(mipi_csi2_info);
+                       csi_id = mipi_csi2_get_bind_csi(mipi_csi2_info);
+
+                       if (cam->ipu == ipu_get_soc(ipu_id)
+                               && cam->csi == csi_id)
+                               mipi_csi2_pixelclk_disable(mipi_csi2_info);
+               }
+       }
+#endif
+
+       flush_work(&cam->csi_work_struct);
+       cancel_work_sync(&cam->csi_work_struct);
+
+       if (cam->vf_bufs_vaddr[0]) {
+               dma_free_coherent(0, cam->vf_bufs_size[0],
+                                 cam->vf_bufs_vaddr[0],
+                                 (dma_addr_t) cam->vf_bufs[0]);
+               cam->vf_bufs_vaddr[0] = NULL;
+               cam->vf_bufs[0] = 0;
+       }
+       if (cam->vf_bufs_vaddr[1]) {
+               dma_free_coherent(0, cam->vf_bufs_size[1],
+                                 cam->vf_bufs_vaddr[1],
+                                 (dma_addr_t) cam->vf_bufs[1]);
+               cam->vf_bufs_vaddr[1] = NULL;
+               cam->vf_bufs[1] = 0;
+       }
+
+       cam->overlay_active = false;
+       return err;
+}
+
+/*!
+ * Enable csi
+ * @param private       struct cam_data * mxc capture instance
+ *
+ * @return  status
+ */
+static int foreground_enable_csi(void *private)
+{
+       cam_data *cam = (cam_data *) private;
+
+       return ipu_enable_csi(cam->ipu, cam->csi);
+}
+
+/*!
+ * Disable csi
+ * @param private       struct cam_data * mxc capture instance
+ *
+ * @return  status
+ */
+static int foreground_disable_csi(void *private)
+{
+       cam_data *cam = (cam_data *) private;
+
+       /* free csi eof irq firstly.
+        * when disable csi, wait for idmac eof.
+        * it requests eof irq again */
+       ipu_free_irq(cam->ipu, IPU_IRQ_CSI0_OUT_EOF, cam);
+
+       return ipu_disable_csi(cam->ipu, cam->csi);
+}
+
+/*!
+ * function to select foreground as the working path
+ *
+ * @param private    cam_data * mxc v4l2 main structure
+ *
+ * @return  status
+ */
+int foreground_sdc_select(void *private)
+{
+       cam_data *cam;
+       int err = 0;
+       if (private) {
+               cam = (cam_data *) private;
+               cam->vf_start_sdc = foreground_start;
+               cam->vf_stop_sdc = foreground_stop;
+               cam->vf_enable_csi = foreground_enable_csi;
+               cam->vf_disable_csi = foreground_disable_csi;
+               cam->overlay_active = false;
+       } else
+               err = -EIO;
+
+       return err;
+}
+EXPORT_SYMBOL(foreground_sdc_select);
+
+/*!
+ * function to de-select foreground as the working path
+ *
+ * @param private    cam_data * mxc v4l2 main structure
+ *
+ * @return  int
+ */
+int foreground_sdc_deselect(void *private)
+{
+       cam_data *cam;
+
+       if (private) {
+               cam = (cam_data *) private;
+               cam->vf_start_sdc = NULL;
+               cam->vf_stop_sdc = NULL;
+               cam->vf_enable_csi = NULL;
+               cam->vf_disable_csi = NULL;
+       }
+       return 0;
+}
+EXPORT_SYMBOL(foreground_sdc_deselect);
+
+/*!
+ * Init viewfinder task.
+ *
+ * @return  Error code indicating success or failure
+ */
+__init int foreground_sdc_init(void)
+{
+       return 0;
+}
+
+/*!
+ * Deinit viewfinder task.
+ *
+ * @return  Error code indicating success or failure
+ */
+void __exit foreground_sdc_exit(void)
+{
+}
+
+module_init(foreground_sdc_init);
+module_exit(foreground_sdc_exit);
+
+MODULE_AUTHOR("Freescale Semiconductor, Inc.");
+MODULE_DESCRIPTION("IPU PRP VF SDC Driver");
+MODULE_LICENSE("GPL");
diff --git a/drivers/media/platform/mxc/capture/ipu_prp_enc.c b/drivers/media/platform/mxc/capture/ipu_prp_enc.c
new file mode 100644 (file)
index 0000000..af419e3
--- /dev/null
@@ -0,0 +1,595 @@
+/*
+ * Copyright 2004-2014 Freescale Semiconductor, Inc. All Rights Reserved.
+ */
+
+/*
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/*!
+ * @file ipu_prp_enc.c
+ *
+ * @brief IPU Use case for PRP-ENC
+ *
+ * @ingroup IPU
+ */
+
+#include <linux/module.h>
+#include <linux/dma-mapping.h>
+#include <linux/platform_device.h>
+#include <linux/ipu.h>
+#include <linux/mipi_csi2.h>
+#include "mxc_v4l2_capture.h"
+#include "ipu_prp_sw.h"
+
+#ifdef CAMERA_DBG
+       #define CAMERA_TRACE(x) (printk)x
+#else
+       #define CAMERA_TRACE(x)
+#endif
+
+static ipu_rotate_mode_t grotation = IPU_ROTATE_NONE;
+
+/*
+ * Function definitions
+ */
+
+/*!
+ * IPU ENC callback function.
+ *
+ * @param irq       int irq line
+ * @param dev_id    void * device id
+ *
+ * @return status   IRQ_HANDLED for handled
+ */
+static irqreturn_t prp_enc_callback(int irq, void *dev_id)
+{
+       cam_data *cam = (cam_data *) dev_id;
+
+       if (cam->enc_callback == NULL)
+               return IRQ_HANDLED;
+
+       cam->enc_callback(irq, dev_id);
+
+       return IRQ_HANDLED;
+}
+
+/*!
+ * PrpENC enable channel setup function
+ *
+ * @param cam       struct cam_data * mxc capture instance
+ *
+ * @return  status
+ */
+static int prp_enc_setup(cam_data *cam)
+{
+       ipu_channel_params_t enc;
+       int err = 0;
+       dma_addr_t dummy = cam->dummy_frame.buffer.m.offset;
+#ifdef CONFIG_MXC_MIPI_CSI2
+       void *mipi_csi2_info;
+       int ipu_id;
+       int csi_id;
+#endif
+
+       CAMERA_TRACE("In prp_enc_setup\n");
+       if (!cam) {
+               printk(KERN_ERR "cam private is NULL\n");
+               return -ENXIO;
+       }
+       memset(&enc, 0, sizeof(ipu_channel_params_t));
+
+       ipu_csi_get_window_size(cam->ipu, &enc.csi_prp_enc_mem.in_width,
+                               &enc.csi_prp_enc_mem.in_height, cam->csi);
+
+       enc.csi_prp_enc_mem.in_pixel_fmt = IPU_PIX_FMT_UYVY;
+       enc.csi_prp_enc_mem.out_width = cam->v2f.fmt.pix.width;
+       enc.csi_prp_enc_mem.out_height = cam->v2f.fmt.pix.height;
+       enc.csi_prp_enc_mem.csi = cam->csi;
+       if (cam->rotation >= IPU_ROTATE_90_RIGHT) {
+               enc.csi_prp_enc_mem.out_width = cam->v2f.fmt.pix.height;
+               enc.csi_prp_enc_mem.out_height = cam->v2f.fmt.pix.width;
+       }
+
+       if (cam->v2f.fmt.pix.pixelformat == V4L2_PIX_FMT_YUV420) {
+               enc.csi_prp_enc_mem.out_pixel_fmt = IPU_PIX_FMT_YUV420P;
+               pr_info("YUV420\n");
+       } else if (cam->v2f.fmt.pix.pixelformat == V4L2_PIX_FMT_YVU420) {
+               enc.csi_prp_enc_mem.out_pixel_fmt = IPU_PIX_FMT_YVU420P;
+               pr_info("YVU420\n");
+       } else if (cam->v2f.fmt.pix.pixelformat == V4L2_PIX_FMT_YUV422P) {
+               enc.csi_prp_enc_mem.out_pixel_fmt = IPU_PIX_FMT_YUV422P;
+               pr_info("YUV422P\n");
+       } else if (cam->v2f.fmt.pix.pixelformat == V4L2_PIX_FMT_YUYV) {
+               enc.csi_prp_enc_mem.out_pixel_fmt = IPU_PIX_FMT_YUYV;
+               pr_info("YUYV\n");
+       } else if (cam->v2f.fmt.pix.pixelformat == V4L2_PIX_FMT_UYVY) {
+               enc.csi_prp_enc_mem.out_pixel_fmt = IPU_PIX_FMT_UYVY;
+               pr_info("UYVY\n");
+       } else if (cam->v2f.fmt.pix.pixelformat == V4L2_PIX_FMT_NV12) {
+               enc.csi_prp_enc_mem.out_pixel_fmt = IPU_PIX_FMT_NV12;
+               pr_info("NV12\n");
+       } else if (cam->v2f.fmt.pix.pixelformat == V4L2_PIX_FMT_BGR24) {
+               enc.csi_prp_enc_mem.out_pixel_fmt = IPU_PIX_FMT_BGR24;
+               pr_info("BGR24\n");
+       } else if (cam->v2f.fmt.pix.pixelformat == V4L2_PIX_FMT_RGB24) {
+               enc.csi_prp_enc_mem.out_pixel_fmt = IPU_PIX_FMT_RGB24;
+               pr_info("RGB24\n");
+       } else if (cam->v2f.fmt.pix.pixelformat == V4L2_PIX_FMT_RGB565) {
+               enc.csi_prp_enc_mem.out_pixel_fmt = IPU_PIX_FMT_RGB565;
+               pr_info("RGB565\n");
+       } else if (cam->v2f.fmt.pix.pixelformat == V4L2_PIX_FMT_BGR32) {
+               enc.csi_prp_enc_mem.out_pixel_fmt = IPU_PIX_FMT_BGR32;
+               pr_info("BGR32\n");
+       } else if (cam->v2f.fmt.pix.pixelformat == V4L2_PIX_FMT_RGB32) {
+               enc.csi_prp_enc_mem.out_pixel_fmt = IPU_PIX_FMT_RGB32;
+               pr_info("RGB32\n");
+       } else {
+               printk(KERN_ERR "format not supported\n");
+               return -EINVAL;
+       }
+
+#ifdef CONFIG_MXC_MIPI_CSI2
+       mipi_csi2_info = mipi_csi2_get_info();
+
+       if (mipi_csi2_info) {
+               if (mipi_csi2_get_status(mipi_csi2_info)) {
+                       ipu_id = mipi_csi2_get_bind_ipu(mipi_csi2_info);
+                       csi_id = mipi_csi2_get_bind_csi(mipi_csi2_info);
+
+                       if (cam->ipu == ipu_get_soc(ipu_id)
+                               && cam->csi == csi_id) {
+                               enc.csi_prp_enc_mem.mipi_en = true;
+                               enc.csi_prp_enc_mem.mipi_vc =
+                               mipi_csi2_get_virtual_channel(mipi_csi2_info);
+                               enc.csi_prp_enc_mem.mipi_id =
+                               mipi_csi2_get_datatype(mipi_csi2_info);
+
+                               mipi_csi2_pixelclk_enable(mipi_csi2_info);
+                       } else {
+                               enc.csi_prp_enc_mem.mipi_en = false;
+                               enc.csi_prp_enc_mem.mipi_vc = 0;
+                               enc.csi_prp_enc_mem.mipi_id = 0;
+                       }
+               } else {
+                       enc.csi_prp_enc_mem.mipi_en = false;
+                       enc.csi_prp_enc_mem.mipi_vc = 0;
+                       enc.csi_prp_enc_mem.mipi_id = 0;
+               }
+       }
+#endif
+
+       err = ipu_init_channel(cam->ipu, CSI_PRP_ENC_MEM, &enc);
+       if (err != 0) {
+               printk(KERN_ERR "ipu_init_channel %d\n", err);
+               return err;
+       }
+
+       grotation = cam->rotation;
+       if (cam->rotation >= IPU_ROTATE_90_RIGHT) {
+               if (cam->rot_enc_bufs_vaddr[0]) {
+                       dma_free_coherent(0, cam->rot_enc_buf_size[0],
+                                         cam->rot_enc_bufs_vaddr[0],
+                                         cam->rot_enc_bufs[0]);
+               }
+               if (cam->rot_enc_bufs_vaddr[1]) {
+                       dma_free_coherent(0, cam->rot_enc_buf_size[1],
+                                         cam->rot_enc_bufs_vaddr[1],
+                                         cam->rot_enc_bufs[1]);
+               }
+               cam->rot_enc_buf_size[0] =
+                   PAGE_ALIGN(cam->v2f.fmt.pix.sizeimage);
+               cam->rot_enc_bufs_vaddr[0] =
+                   (void *)dma_alloc_coherent(0, cam->rot_enc_buf_size[0],
+                                              &cam->rot_enc_bufs[0],
+                                              GFP_DMA | GFP_KERNEL);
+               if (!cam->rot_enc_bufs_vaddr[0]) {
+                       printk(KERN_ERR "alloc enc_bufs0\n");
+                       return -ENOMEM;
+               }
+               cam->rot_enc_buf_size[1] =
+                   PAGE_ALIGN(cam->v2f.fmt.pix.sizeimage);
+               cam->rot_enc_bufs_vaddr[1] =
+                   (void *)dma_alloc_coherent(0, cam->rot_enc_buf_size[1],
+                                              &cam->rot_enc_bufs[1],
+                                              GFP_DMA | GFP_KERNEL);
+               if (!cam->rot_enc_bufs_vaddr[1]) {
+                       dma_free_coherent(0, cam->rot_enc_buf_size[0],
+                                         cam->rot_enc_bufs_vaddr[0],
+                                         cam->rot_enc_bufs[0]);
+                       cam->rot_enc_bufs_vaddr[0] = NULL;
+                       cam->rot_enc_bufs[0] = 0;
+                       printk(KERN_ERR "alloc enc_bufs1\n");
+                       return -ENOMEM;
+               }
+
+               err = ipu_init_channel_buffer(cam->ipu, CSI_PRP_ENC_MEM,
+                                             IPU_OUTPUT_BUFFER,
+                                             enc.csi_prp_enc_mem.out_pixel_fmt,
+                                             enc.csi_prp_enc_mem.out_width,
+                                             enc.csi_prp_enc_mem.out_height,
+                                             enc.csi_prp_enc_mem.out_width,
+                                             IPU_ROTATE_NONE,
+                                             cam->rot_enc_bufs[0],
+                                             cam->rot_enc_bufs[1], 0, 0, 0);
+               if (err != 0) {
+                       printk(KERN_ERR "CSI_PRP_ENC_MEM err\n");
+                       return err;
+               }
+
+               err = ipu_init_channel(cam->ipu, MEM_ROT_ENC_MEM, NULL);
+               if (err != 0) {
+                       printk(KERN_ERR "MEM_ROT_ENC_MEM channel err\n");
+                       return err;
+               }
+
+               err = ipu_init_channel_buffer(cam->ipu, MEM_ROT_ENC_MEM,
+                                             IPU_INPUT_BUFFER,
+                                             enc.csi_prp_enc_mem.out_pixel_fmt,
+                                             enc.csi_prp_enc_mem.out_width,
+                                             enc.csi_prp_enc_mem.out_height,
+                                             enc.csi_prp_enc_mem.out_width,
+                                             cam->rotation,
+                                             cam->rot_enc_bufs[0],
+                                             cam->rot_enc_bufs[1], 0, 0, 0);
+               if (err != 0) {
+                       printk(KERN_ERR "MEM_ROT_ENC_MEM input buffer\n");
+                       return err;
+               }
+
+               err =
+                   ipu_init_channel_buffer(cam->ipu, MEM_ROT_ENC_MEM,
+                                           IPU_OUTPUT_BUFFER,
+                                           enc.csi_prp_enc_mem.out_pixel_fmt,
+                                           enc.csi_prp_enc_mem.out_height,
+                                           enc.csi_prp_enc_mem.out_width,
+                                           cam->v2f.fmt.pix.bytesperline /
+                                           bytes_per_pixel(enc.csi_prp_enc_mem.
+                                                           out_pixel_fmt),
+                                           IPU_ROTATE_NONE,
+                                           dummy, dummy, 0,
+                                           cam->offset.u_offset,
+                                           cam->offset.v_offset);
+               if (err != 0) {
+                       printk(KERN_ERR "MEM_ROT_ENC_MEM output buffer\n");
+                       return err;
+               }
+
+               err = ipu_link_channels(cam->ipu,
+                                       CSI_PRP_ENC_MEM, MEM_ROT_ENC_MEM);
+               if (err < 0) {
+                       printk(KERN_ERR
+                              "link CSI_PRP_ENC_MEM-MEM_ROT_ENC_MEM\n");
+                       return err;
+               }
+
+               err = ipu_enable_channel(cam->ipu, CSI_PRP_ENC_MEM);
+               if (err < 0) {
+                       printk(KERN_ERR "ipu_enable_channel CSI_PRP_ENC_MEM\n");
+                       return err;
+               }
+               err = ipu_enable_channel(cam->ipu, MEM_ROT_ENC_MEM);
+               if (err < 0) {
+                       printk(KERN_ERR "ipu_enable_channel MEM_ROT_ENC_MEM\n");
+                       return err;
+               }
+
+               ipu_select_buffer(cam->ipu, CSI_PRP_ENC_MEM,
+                                 IPU_OUTPUT_BUFFER, 0);
+               ipu_select_buffer(cam->ipu, CSI_PRP_ENC_MEM,
+                                 IPU_OUTPUT_BUFFER, 1);
+       } else {
+               err =
+                   ipu_init_channel_buffer(cam->ipu, CSI_PRP_ENC_MEM,
+                                           IPU_OUTPUT_BUFFER,
+                                           enc.csi_prp_enc_mem.out_pixel_fmt,
+                                           enc.csi_prp_enc_mem.out_width,
+                                           enc.csi_prp_enc_mem.out_height,
+                                           cam->v2f.fmt.pix.bytesperline /
+                                           bytes_per_pixel(enc.csi_prp_enc_mem.
+                                                           out_pixel_fmt),
+                                           cam->rotation,
+                                           dummy, dummy, 0,
+                                           cam->offset.u_offset,
+                                           cam->offset.v_offset);
+               if (err != 0) {
+                       printk(KERN_ERR "CSI_PRP_ENC_MEM output buffer\n");
+                       return err;
+               }
+               err = ipu_enable_channel(cam->ipu, CSI_PRP_ENC_MEM);
+               if (err < 0) {
+                       printk(KERN_ERR "ipu_enable_channel CSI_PRP_ENC_MEM\n");
+                       return err;
+               }
+       }
+
+       return err;
+}
+
+/*!
+ * function to update physical buffer address for encorder IDMA channel
+ *
+ * @param eba         physical buffer address for encorder IDMA channel
+ * @param buffer_num  int buffer 0 or buffer 1
+ *
+ * @return  status
+ */
+static int prp_enc_eba_update(struct ipu_soc *ipu, dma_addr_t eba,
+                             int *buffer_num)
+{
+       int err = 0;
+
+       pr_debug("eba %x\n", eba);
+       if (grotation >= IPU_ROTATE_90_RIGHT) {
+               err = ipu_update_channel_buffer(ipu, MEM_ROT_ENC_MEM,
+                                               IPU_OUTPUT_BUFFER, *buffer_num,
+                                               eba);
+       } else {
+               err = ipu_update_channel_buffer(ipu, CSI_PRP_ENC_MEM,
+                                               IPU_OUTPUT_BUFFER, *buffer_num,
+                                               eba);
+       }
+       if (err != 0) {
+               if (grotation >= IPU_ROTATE_90_RIGHT) {
+                       ipu_clear_buffer_ready(ipu, MEM_ROT_ENC_MEM,
+                                              IPU_OUTPUT_BUFFER,
+                                              *buffer_num);
+                       err = ipu_update_channel_buffer(ipu, MEM_ROT_ENC_MEM,
+                                                       IPU_OUTPUT_BUFFER,
+                                                       *buffer_num,
+                                                       eba);
+               } else {
+                       ipu_clear_buffer_ready(ipu, CSI_PRP_ENC_MEM,
+                                              IPU_OUTPUT_BUFFER,
+                                              *buffer_num);
+                       err = ipu_update_channel_buffer(ipu, CSI_PRP_ENC_MEM,
+                                                       IPU_OUTPUT_BUFFER,
+                                                       *buffer_num,
+                                                       eba);
+               }
+
+               if (err != 0) {
+                       pr_err("ERROR: v4l2 capture: fail to update "
+                              "buf%d\n", *buffer_num);
+                       return err;
+               }
+       }
+
+       if (grotation >= IPU_ROTATE_90_RIGHT) {
+               ipu_select_buffer(ipu, MEM_ROT_ENC_MEM, IPU_OUTPUT_BUFFER,
+                                 *buffer_num);
+       } else {
+               ipu_select_buffer(ipu, CSI_PRP_ENC_MEM, IPU_OUTPUT_BUFFER,
+                                 *buffer_num);
+       }
+
+       *buffer_num = (*buffer_num == 0) ? 1 : 0;
+       return 0;
+}
+
+/*!
+ * Enable encoder task
+ * @param private       struct cam_data * mxc capture instance
+ *
+ * @return  status
+ */
+static int prp_enc_enabling_tasks(void *private)
+{
+       cam_data *cam = (cam_data *) private;
+       int err = 0;
+       CAMERA_TRACE("IPU:In prp_enc_enabling_tasks\n");
+
+       cam->dummy_frame.vaddress = dma_alloc_coherent(0,
+                              PAGE_ALIGN(cam->v2f.fmt.pix.sizeimage),
+                              &cam->dummy_frame.paddress,
+                              GFP_DMA | GFP_KERNEL);
+       if (cam->dummy_frame.vaddress == 0) {
+               pr_err("ERROR: v4l2 capture: Allocate dummy frame "
+                      "failed.\n");
+               return -ENOBUFS;
+       }
+       cam->dummy_frame.buffer.type = V4L2_BUF_TYPE_PRIVATE;
+       cam->dummy_frame.buffer.length =
+           PAGE_ALIGN(cam->v2f.fmt.pix.sizeimage);
+       cam->dummy_frame.buffer.m.offset = cam->dummy_frame.paddress;
+
+       if (cam->rotation >= IPU_ROTATE_90_RIGHT) {
+               err = ipu_request_irq(cam->ipu, IPU_IRQ_PRP_ENC_ROT_OUT_EOF,
+                                     prp_enc_callback, 0, "Mxc Camera", cam);
+       } else {
+               err = ipu_request_irq(cam->ipu, IPU_IRQ_PRP_ENC_OUT_EOF,
+                                     prp_enc_callback, 0, "Mxc Camera", cam);
+       }
+       if (err != 0) {
+               printk(KERN_ERR "Error registering rot irq\n");
+               return err;
+       }
+
+       err = prp_enc_setup(cam);
+       if (err != 0) {
+               printk(KERN_ERR "prp_enc_setup %d\n", err);
+               return err;
+       }
+
+       return err;
+}
+
+/*!
+ * Disable encoder task
+ * @param private       struct cam_data * mxc capture instance
+ *
+ * @return  int
+ */
+static int prp_enc_disabling_tasks(void *private)
+{
+       cam_data *cam = (cam_data *) private;
+       int err = 0;
+#ifdef CONFIG_MXC_MIPI_CSI2
+       void *mipi_csi2_info;
+       int ipu_id;
+       int csi_id;
+#endif
+
+       if (cam->rotation >= IPU_ROTATE_90_RIGHT) {
+               ipu_free_irq(cam->ipu, IPU_IRQ_PRP_ENC_ROT_OUT_EOF, cam);
+               ipu_unlink_channels(cam->ipu, CSI_PRP_ENC_MEM, MEM_ROT_ENC_MEM);
+       }
+
+       err = ipu_disable_channel(cam->ipu, CSI_PRP_ENC_MEM, true);
+       if (cam->rotation >= IPU_ROTATE_90_RIGHT)
+               err |= ipu_disable_channel(cam->ipu, MEM_ROT_ENC_MEM, true);
+
+       ipu_uninit_channel(cam->ipu, CSI_PRP_ENC_MEM);
+       if (cam->rotation >= IPU_ROTATE_90_RIGHT)
+               ipu_uninit_channel(cam->ipu, MEM_ROT_ENC_MEM);
+
+       if (cam->dummy_frame.vaddress != 0) {
+               dma_free_coherent(0, cam->dummy_frame.buffer.length,
+                                 cam->dummy_frame.vaddress,
+                                 cam->dummy_frame.paddress);
+               cam->dummy_frame.vaddress = 0;
+       }
+
+#ifdef CONFIG_MXC_MIPI_CSI2
+       mipi_csi2_info = mipi_csi2_get_info();
+
+       if (mipi_csi2_info) {
+               if (mipi_csi2_get_status(mipi_csi2_info)) {
+                       ipu_id = mipi_csi2_get_bind_ipu(mipi_csi2_info);
+                       csi_id = mipi_csi2_get_bind_csi(mipi_csi2_info);
+
+                       if (cam->ipu == ipu_get_soc(ipu_id)
+                               && cam->csi == csi_id)
+                               mipi_csi2_pixelclk_disable(mipi_csi2_info);
+               }
+       }
+#endif
+
+       return err;
+}
+
+/*!
+ * Enable csi
+ * @param private       struct cam_data * mxc capture instance
+ *
+ * @return  status
+ */
+static int prp_enc_enable_csi(void *private)
+{
+       cam_data *cam = (cam_data *) private;
+
+       return ipu_enable_csi(cam->ipu, cam->csi);
+}
+
+/*!
+ * Disable csi
+ * @param private       struct cam_data * mxc capture instance
+ *
+ * @return  status
+ */
+static int prp_enc_disable_csi(void *private)
+{
+       cam_data *cam = (cam_data *) private;
+
+       /* free csi eof irq firstly.
+        * when disable csi, wait for idmac eof.
+        * it requests eof irq again */
+       if (cam->rotation < IPU_ROTATE_90_RIGHT)
+               ipu_free_irq(cam->ipu, IPU_IRQ_PRP_ENC_OUT_EOF, cam);
+
+       return ipu_disable_csi(cam->ipu, cam->csi);
+}
+
+/*!
+ * function to select PRP-ENC as the working path
+ *
+ * @param private       struct cam_data * mxc capture instance
+ *
+ * @return  int
+ */
+int prp_enc_select(void *private)
+{
+       cam_data *cam = (cam_data *) private;
+       int err = 0;
+
+       if (cam) {
+               cam->enc_update_eba = prp_enc_eba_update;
+               cam->enc_enable = prp_enc_enabling_tasks;
+               cam->enc_disable = prp_enc_disabling_tasks;
+               cam->enc_enable_csi = prp_enc_enable_csi;
+               cam->enc_disable_csi = prp_enc_disable_csi;
+       } else {
+               err = -EIO;
+       }
+
+       return err;
+}
+EXPORT_SYMBOL(prp_enc_select);
+
+/*!
+ * function to de-select PRP-ENC as the working path
+ *
+ * @param private       struct cam_data * mxc capture instance
+ *
+ * @return  int
+ */
+int prp_enc_deselect(void *private)
+{
+       cam_data *cam = (cam_data *) private;
+       int err = 0;
+
+       if (cam) {
+               cam->enc_update_eba = NULL;
+               cam->enc_enable = NULL;
+               cam->enc_disable = NULL;
+               cam->enc_enable_csi = NULL;
+               cam->enc_disable_csi = NULL;
+               if (cam->rot_enc_bufs_vaddr[0]) {
+                       dma_free_coherent(0, cam->rot_enc_buf_size[0],
+                                         cam->rot_enc_bufs_vaddr[0],
+                                         cam->rot_enc_bufs[0]);
+                       cam->rot_enc_bufs_vaddr[0] = NULL;
+                       cam->rot_enc_bufs[0] = 0;
+               }
+               if (cam->rot_enc_bufs_vaddr[1]) {
+                       dma_free_coherent(0, cam->rot_enc_buf_size[1],
+                                         cam->rot_enc_bufs_vaddr[1],
+                                         cam->rot_enc_bufs[1]);
+                       cam->rot_enc_bufs_vaddr[1] = NULL;
+                       cam->rot_enc_bufs[1] = 0;
+               }
+       }
+
+       return err;
+}
+EXPORT_SYMBOL(prp_enc_deselect);
+
+/*!
+ * Init the Encorder channels
+ *
+ * @return  Error code indicating success or failure
+ */
+__init int prp_enc_init(void)
+{
+       return 0;
+}
+
+/*!
+ * Deinit the Encorder channels
+ *
+ */
+void __exit prp_enc_exit(void)
+{
+}
+
+module_init(prp_enc_init);
+module_exit(prp_enc_exit);
+
+MODULE_AUTHOR("Freescale Semiconductor, Inc.");
+MODULE_DESCRIPTION("IPU PRP ENC Driver");
+MODULE_LICENSE("GPL");
diff --git a/drivers/media/platform/mxc/capture/ipu_prp_sw.h b/drivers/media/platform/mxc/capture/ipu_prp_sw.h
new file mode 100644 (file)
index 0000000..f2f7fd8
--- /dev/null
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2004-2013 Freescale Semiconductor, Inc. All Rights Reserved.
+ */
+
+/*
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/*!
+ * @file ipu_prp_sw.h
+ *
+ * @brief This file contains the IPU PRP use case driver header.
+ *
+ * @ingroup IPU
+ */
+
+#ifndef _INCLUDE_IPU__PRP_SW_H_
+#define _INCLUDE_IPU__PRP_SW_H_
+
+int csi_enc_select(void *private);
+int csi_enc_deselect(void *private);
+int prp_enc_select(void *private);
+int prp_enc_deselect(void *private);
+#ifdef CONFIG_MXC_IPU_PRP_VF_SDC
+int prp_vf_sdc_select(void *private);
+int prp_vf_sdc_deselect(void *private);
+int prp_vf_sdc_select_bg(void *private);
+int prp_vf_sdc_deselect_bg(void *private);
+#else
+int foreground_sdc_select(void *private);
+int foreground_sdc_deselect(void *private);
+int bg_overlay_sdc_select(void *private);
+int bg_overlay_sdc_deselect(void *private);
+#endif
+int prp_still_select(void *private);
+int prp_still_deselect(void *private);
+
+#endif
diff --git a/drivers/media/platform/mxc/capture/ipu_prp_vf_sdc.c b/drivers/media/platform/mxc/capture/ipu_prp_vf_sdc.c
new file mode 100644 (file)
index 0000000..b9610f1
--- /dev/null
@@ -0,0 +1,582 @@
+/*
+ * Copyright 2004-2014 Freescale Semiconductor, Inc. All Rights Reserved.
+ */
+/* * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/*!
+ * @file ipu_prp_vf_sdc.c
+ *
+ * @brief IPU Use case for PRP-VF
+ *
+ * @ingroup IPU
+ */
+
+#include <linux/dma-mapping.h>
+#include <linux/console.h>
+#include <linux/ipu.h>
+#include <linux/module.h>
+#include <linux/mxcfb.h>
+#include <mach/hardware.h>
+#include <mach/mipi_csi2.h>
+#include "mxc_v4l2_capture.h"
+#include "ipu_prp_sw.h"
+
+static int buffer_num;
+static struct ipu_soc *disp_ipu;
+
+static void get_disp_ipu(cam_data *cam)
+{
+       if (cam->output > 2)
+               disp_ipu = ipu_get_soc(1); /* using DISP4 */
+       else
+               disp_ipu = ipu_get_soc(0);
+}
+
+static irqreturn_t prpvf_rot_eof_callback(int irq, void *dev_id)
+{
+       cam_data *cam = dev_id;
+       pr_debug("buffer_num %d\n",  buffer_num);
+
+       if (cam->vf_rotation >= IPU_ROTATE_VERT_FLIP) {
+               ipu_select_buffer(disp_ipu, MEM_FG_SYNC,
+                                 IPU_INPUT_BUFFER, buffer_num);
+               buffer_num = (buffer_num == 0) ? 1 : 0;
+               ipu_select_buffer(cam->ipu, MEM_ROT_VF_MEM,
+                                 IPU_OUTPUT_BUFFER, buffer_num);
+       } else {
+               ipu_select_buffer(disp_ipu, MEM_FG_SYNC,
+                                 IPU_INPUT_BUFFER, buffer_num);
+               buffer_num = (buffer_num == 0) ? 1 : 0;
+               ipu_select_buffer(cam->ipu, CSI_PRP_VF_MEM,
+                                 IPU_OUTPUT_BUFFER, buffer_num);
+       }
+       return IRQ_HANDLED;
+}
+/*
+ * Function definitions
+ */
+
+/*!
+ * prpvf_start - start the vf task
+ *
+ * @param private    cam_data * mxc v4l2 main structure
+ *
+ */
+static int prpvf_start(void *private)
+{
+       struct fb_var_screeninfo fbvar;
+       struct fb_info *fbi = NULL;
+       cam_data *cam = (cam_data *) private;
+       ipu_channel_params_t vf;
+       u32 vf_out_format = 0;
+       u32 size = 2, temp = 0;
+       int err = 0, i = 0;
+       short *tmp, color;
+#ifdef CONFIG_MXC_MIPI_CSI2
+       void *mipi_csi2_info;
+       int ipu_id;
+       int csi_id;
+#endif
+
+       if (!cam) {
+               printk(KERN_ERR "private is NULL\n");
+               return -EIO;
+       }
+
+       if (cam->overlay_active == true) {
+               pr_debug("already started.\n");
+               return 0;
+       }
+
+       get_disp_ipu(cam);
+
+       for (i = 0; i < num_registered_fb; i++) {
+               char *idstr = registered_fb[i]->fix.id;
+               if (((strcmp(idstr, "DISP3 FG") == 0) && (cam->output < 3)) ||
+                   ((strcmp(idstr, "DISP4 FG") == 0) && (cam->output >= 3))) {
+                       fbi = registered_fb[i];
+                       break;
+               }
+       }
+
+       if (fbi == NULL) {
+               printk(KERN_ERR "DISP FG fb not found\n");
+               return -EPERM;
+       }
+
+       fbvar = fbi->var;
+
+       /* Store the overlay frame buffer's original std */
+       cam->fb_origin_std = fbvar.nonstd;
+
+       if (cam->devtype == IMX5_V4L2 || cam->devtype == IMX6_V4L2) {
+               /* Use DP to do CSC so that we can get better performance */
+               vf_out_format = IPU_PIX_FMT_UYVY;
+               fbvar.nonstd = vf_out_format;
+               color = 0x80;
+       } else {
+               vf_out_format = IPU_PIX_FMT_RGB565;
+               fbvar.nonstd = 0;
+               color = 0x0;
+       }
+
+       fbvar.bits_per_pixel = 16;
+       fbvar.xres = fbvar.xres_virtual = cam->win.w.width;
+       fbvar.yres = cam->win.w.height;
+       fbvar.yres_virtual = cam->win.w.height * 2;
+       fbvar.yoffset = 0;
+       fbvar.accel_flags = FB_ACCEL_DOUBLE_FLAG;
+       fbvar.activate |= FB_ACTIVATE_FORCE;
+       fb_set_var(fbi, &fbvar);
+
+       ipu_disp_set_window_pos(disp_ipu, MEM_FG_SYNC, cam->win.w.left,
+                       cam->win.w.top);
+
+       /* Fill black color for framebuffer */
+       tmp = (short *) fbi->screen_base;
+       for (i = 0; i < (fbi->fix.line_length * fbi->var.yres)/2;
+                       i++, tmp++)
+               *tmp = color;
+
+       console_lock();
+       fb_blank(fbi, FB_BLANK_UNBLANK);
+       console_unlock();
+
+       /* correct display ch buffer address */
+       ipu_update_channel_buffer(disp_ipu, MEM_FG_SYNC, IPU_INPUT_BUFFER,
+                               0, fbi->fix.smem_start +
+                               (fbi->fix.line_length * fbvar.yres));
+       ipu_update_channel_buffer(disp_ipu, MEM_FG_SYNC, IPU_INPUT_BUFFER,
+                                       1, fbi->fix.smem_start);
+
+       memset(&vf, 0, sizeof(ipu_channel_params_t));
+       ipu_csi_get_window_size(cam->ipu, &vf.csi_prp_vf_mem.in_width,
+                               &vf.csi_prp_vf_mem.in_height, cam->csi);
+       vf.csi_prp_vf_mem.in_pixel_fmt = IPU_PIX_FMT_UYVY;
+       vf.csi_prp_vf_mem.out_width = cam->win.w.width;
+       vf.csi_prp_vf_mem.out_height = cam->win.w.height;
+       vf.csi_prp_vf_mem.csi = cam->csi;
+       if (cam->vf_rotation >= IPU_ROTATE_90_RIGHT) {
+               vf.csi_prp_vf_mem.out_width = cam->win.w.height;
+               vf.csi_prp_vf_mem.out_height = cam->win.w.width;
+       }
+       vf.csi_prp_vf_mem.out_pixel_fmt = vf_out_format;
+       size = cam->win.w.width * cam->win.w.height * size;
+
+#ifdef CONFIG_MXC_MIPI_CSI2
+       mipi_csi2_info = mipi_csi2_get_info();
+
+       if (mipi_csi2_info) {
+               if (mipi_csi2_get_status(mipi_csi2_info)) {
+                       ipu_id = mipi_csi2_get_bind_ipu(mipi_csi2_info);
+                       csi_id = mipi_csi2_get_bind_csi(mipi_csi2_info);
+
+                       if (cam->ipu == ipu_get_soc(ipu_id)
+                               && cam->csi == csi_id) {
+                               vf.csi_prp_vf_mem.mipi_en = true;
+                               vf.csi_prp_vf_mem.mipi_vc =
+                               mipi_csi2_get_virtual_channel(mipi_csi2_info);
+                               vf.csi_prp_vf_mem.mipi_id =
+                               mipi_csi2_get_datatype(mipi_csi2_info);
+
+                               mipi_csi2_pixelclk_enable(mipi_csi2_info);
+                       } else {
+                               vf.csi_prp_vf_mem.mipi_en = false;
+                               vf.csi_prp_vf_mem.mipi_vc = 0;
+                               vf.csi_prp_vf_mem.mipi_id = 0;
+                       }
+               } else {
+                       vf.csi_prp_vf_mem.mipi_en = false;
+                       vf.csi_prp_vf_mem.mipi_vc = 0;
+                       vf.csi_prp_vf_mem.mipi_id = 0;
+               }
+       }
+#endif
+
+       err = ipu_init_channel(cam->ipu, CSI_PRP_VF_MEM, &vf);
+       if (err != 0)
+               goto out_5;
+
+       if (cam->vf_bufs_vaddr[0]) {
+               dma_free_coherent(0, cam->vf_bufs_size[0],
+                                 cam->vf_bufs_vaddr[0],
+                                 (dma_addr_t) cam->vf_bufs[0]);
+       }
+       if (cam->vf_bufs_vaddr[1]) {
+               dma_free_coherent(0, cam->vf_bufs_size[1],
+                                 cam->vf_bufs_vaddr[1],
+                                 (dma_addr_t) cam->vf_bufs[1]);
+       }
+       cam->vf_bufs_size[0] = PAGE_ALIGN(size);
+       cam->vf_bufs_vaddr[0] = (void *)dma_alloc_coherent(0,
+                                                          cam->vf_bufs_size[0],
+                                                          (dma_addr_t *) &
+                                                          cam->vf_bufs[0],
+                                                          GFP_DMA |
+                                                          GFP_KERNEL);
+       if (cam->vf_bufs_vaddr[0] == NULL) {
+               printk(KERN_ERR "Error to allocate vf buffer\n");
+               err = -ENOMEM;
+               goto out_4;
+       }
+       cam->vf_bufs_size[1] = PAGE_ALIGN(size);
+       cam->vf_bufs_vaddr[1] = (void *)dma_alloc_coherent(0,
+                                                          cam->vf_bufs_size[1],
+                                                          (dma_addr_t *) &
+                                                          cam->vf_bufs[1],
+                                                          GFP_DMA |
+                                                          GFP_KERNEL);
+       if (cam->vf_bufs_vaddr[1] == NULL) {
+               printk(KERN_ERR "Error to allocate vf buffer\n");
+               err = -ENOMEM;
+               goto out_3;
+       }
+       pr_debug("vf_bufs %x %x\n", cam->vf_bufs[0], cam->vf_bufs[1]);
+
+       if (cam->vf_rotation >= IPU_ROTATE_VERT_FLIP) {
+               err = ipu_init_channel_buffer(cam->ipu, CSI_PRP_VF_MEM,
+                                             IPU_OUTPUT_BUFFER,
+                                             vf_out_format,
+                                             vf.csi_prp_vf_mem.out_width,
+                                             vf.csi_prp_vf_mem.out_height,
+                                             vf.csi_prp_vf_mem.out_width,
+                                             IPU_ROTATE_NONE,
+                                             cam->vf_bufs[0], cam->vf_bufs[1],
+                                             0, 0, 0);
+               if (err != 0)
+                       goto out_3;
+
+               err = ipu_init_channel(cam->ipu, MEM_ROT_VF_MEM, NULL);
+               if (err != 0) {
+                       printk(KERN_ERR "Error MEM_ROT_VF_MEM channel\n");
+                       goto out_3;
+               }
+
+               err = ipu_init_channel_buffer(cam->ipu, MEM_ROT_VF_MEM,
+                                             IPU_INPUT_BUFFER,
+                                             vf_out_format,
+                                             vf.csi_prp_vf_mem.out_width,
+                                             vf.csi_prp_vf_mem.out_height,
+                                             vf.csi_prp_vf_mem.out_width,
+                                             cam->vf_rotation,
+                                             cam->vf_bufs[0],
+                                             cam->vf_bufs[1],
+                                             0, 0, 0);
+               if (err != 0) {
+                       printk(KERN_ERR "Error MEM_ROT_VF_MEM input buffer\n");
+                       goto out_2;
+               }
+
+               if (cam->vf_rotation < IPU_ROTATE_90_RIGHT) {
+                       temp = vf.csi_prp_vf_mem.out_width;
+                       vf.csi_prp_vf_mem.out_width =
+                                               vf.csi_prp_vf_mem.out_height;
+                       vf.csi_prp_vf_mem.out_height = temp;
+               }
+
+               err = ipu_init_channel_buffer(cam->ipu, MEM_ROT_VF_MEM,
+                                             IPU_OUTPUT_BUFFER,
+                                             vf_out_format,
+                                             vf.csi_prp_vf_mem.out_height,
+                                             vf.csi_prp_vf_mem.out_width,
+                                             vf.csi_prp_vf_mem.out_height,
+                                             IPU_ROTATE_NONE,
+                                             fbi->fix.smem_start +
+                                             (fbi->fix.line_length *
+                                              fbi->var.yres),
+                                             fbi->fix.smem_start, 0, 0, 0);
+
+               if (err != 0) {
+                       printk(KERN_ERR "Error MEM_ROT_VF_MEM output buffer\n");
+                       goto out_2;
+               }
+
+               ipu_clear_irq(cam->ipu, IPU_IRQ_PRP_VF_ROT_OUT_EOF);
+               err = ipu_request_irq(cam->ipu, IPU_IRQ_PRP_VF_ROT_OUT_EOF,
+                                     prpvf_rot_eof_callback,
+                             0, "Mxc Camera", cam);
+               if (err < 0) {
+                       printk(KERN_ERR "Error request irq:IPU_IRQ_PRP_VF_ROT_OUT_EOF\n");
+                       goto out_2;
+               }
+
+               err = ipu_link_channels(cam->ipu,
+                                       CSI_PRP_VF_MEM, MEM_ROT_VF_MEM);
+               if (err < 0) {
+                       printk(KERN_ERR
+                              "Error link CSI_PRP_VF_MEM-MEM_ROT_VF_MEM\n");
+                       goto out_1;
+               }
+
+               ipu_enable_channel(cam->ipu, CSI_PRP_VF_MEM);
+               ipu_enable_channel(cam->ipu, MEM_ROT_VF_MEM);
+
+               ipu_select_buffer(cam->ipu, CSI_PRP_VF_MEM,
+                                 IPU_OUTPUT_BUFFER, 0);
+               ipu_select_buffer(cam->ipu, CSI_PRP_VF_MEM,
+                                 IPU_OUTPUT_BUFFER, 1);
+               ipu_select_buffer(cam->ipu, MEM_ROT_VF_MEM,
+                                 IPU_OUTPUT_BUFFER, 0);
+       } else {
+               err = ipu_init_channel_buffer(cam->ipu, CSI_PRP_VF_MEM,
+                                             IPU_OUTPUT_BUFFER,
+                                             vf_out_format, cam->win.w.width,
+                                             cam->win.w.height,
+                                             cam->win.w.width,
+                                             cam->vf_rotation,
+                                             fbi->fix.smem_start +
+                                             (fbi->fix.line_length *
+                                              fbi->var.yres),
+                                             fbi->fix.smem_start, 0, 0, 0);
+               if (err != 0) {
+                       printk(KERN_ERR "Error initializing CSI_PRP_VF_MEM\n");
+                       goto out_4;
+               }
+               ipu_clear_irq(cam->ipu, IPU_IRQ_PRP_VF_OUT_EOF);
+               err = ipu_request_irq(cam->ipu, IPU_IRQ_PRP_VF_OUT_EOF,
+                                     prpvf_rot_eof_callback,
+                             0, "Mxc Camera", cam);
+               if (err < 0) {
+                       printk(KERN_ERR "Error request irq:IPU_IRQ_PRP_VF_OUT_EOF\n");
+                       goto out_4;
+               }
+
+               ipu_enable_channel(cam->ipu, CSI_PRP_VF_MEM);
+
+               ipu_select_buffer(cam->ipu, CSI_PRP_VF_MEM,
+                                 IPU_OUTPUT_BUFFER, 0);
+       }
+
+       cam->overlay_active = true;
+       return err;
+
+out_1:
+       ipu_free_irq(cam->ipu, IPU_IRQ_PRP_VF_OUT_EOF, NULL);
+out_2:
+       if (cam->vf_rotation >= IPU_ROTATE_VERT_FLIP)
+               ipu_uninit_channel(cam->ipu, MEM_ROT_VF_MEM);
+out_3:
+       if (cam->vf_bufs_vaddr[0]) {
+               dma_free_coherent(0, cam->vf_bufs_size[0],
+                                 cam->vf_bufs_vaddr[0],
+                                 (dma_addr_t) cam->vf_bufs[0]);
+               cam->vf_bufs_vaddr[0] = NULL;
+               cam->vf_bufs[0] = 0;
+       }
+       if (cam->vf_bufs_vaddr[1]) {
+               dma_free_coherent(0, cam->vf_bufs_size[1],
+                                 cam->vf_bufs_vaddr[1],
+                                 (dma_addr_t) cam->vf_bufs[1]);
+               cam->vf_bufs_vaddr[1] = NULL;
+               cam->vf_bufs[1] = 0;
+       }
+out_4:
+       ipu_uninit_channel(cam->ipu, CSI_PRP_VF_MEM);
+out_5:
+       return err;
+}
+
+/*!
+ * prpvf_stop - stop the vf task
+ *
+ * @param private    cam_data * mxc v4l2 main structure
+ *
+ */
+static int prpvf_stop(void *private)
+{
+       cam_data *cam = (cam_data *) private;
+       int err = 0, i = 0;
+       struct fb_info *fbi = NULL;
+       struct fb_var_screeninfo fbvar;
+#ifdef CONFIG_MXC_MIPI_CSI2
+       void *mipi_csi2_info;
+       int ipu_id;
+       int csi_id;
+#endif
+
+       if (cam->overlay_active == false)
+               return 0;
+
+       for (i = 0; i < num_registered_fb; i++) {
+               char *idstr = registered_fb[i]->fix.id;
+               if (((strcmp(idstr, "DISP3 FG") == 0) && (cam->output < 3)) ||
+                   ((strcmp(idstr, "DISP4 FG") == 0) && (cam->output >= 3))) {
+                       fbi = registered_fb[i];
+                       break;
+               }
+       }
+
+       if (fbi == NULL) {
+               printk(KERN_ERR "DISP FG fb not found\n");
+               return -EPERM;
+       }
+
+       if (cam->vf_rotation >= IPU_ROTATE_VERT_FLIP) {
+               ipu_unlink_channels(cam->ipu, CSI_PRP_VF_MEM, MEM_ROT_VF_MEM);
+               ipu_free_irq(cam->ipu, IPU_IRQ_PRP_VF_ROT_OUT_EOF, cam);
+       }
+       buffer_num = 0;
+
+       ipu_disable_channel(cam->ipu, CSI_PRP_VF_MEM, true);
+
+       if (cam->vf_rotation >= IPU_ROTATE_VERT_FLIP) {
+               ipu_disable_channel(cam->ipu, MEM_ROT_VF_MEM, true);
+               ipu_uninit_channel(cam->ipu, MEM_ROT_VF_MEM);
+       }
+       ipu_uninit_channel(cam->ipu, CSI_PRP_VF_MEM);
+
+       console_lock();
+       fb_blank(fbi, FB_BLANK_POWERDOWN);
+       console_unlock();
+
+       /* Set the overlay frame buffer std to what it is used to be */
+       fbvar = fbi->var;
+       fbvar.accel_flags = FB_ACCEL_TRIPLE_FLAG;
+       fbvar.nonstd = cam->fb_origin_std;
+       fbvar.activate |= FB_ACTIVATE_FORCE;
+       fb_set_var(fbi, &fbvar);
+
+#ifdef CONFIG_MXC_MIPI_CSI2
+       mipi_csi2_info = mipi_csi2_get_info();
+
+       if (mipi_csi2_info) {
+               if (mipi_csi2_get_status(mipi_csi2_info)) {
+                       ipu_id = mipi_csi2_get_bind_ipu(mipi_csi2_info);
+                       csi_id = mipi_csi2_get_bind_csi(mipi_csi2_info);
+
+                       if (cam->ipu == ipu_get_soc(ipu_id)
+                               && cam->csi == csi_id)
+                               mipi_csi2_pixelclk_disable(mipi_csi2_info);
+               }
+       }
+#endif
+
+       if (cam->vf_bufs_vaddr[0]) {
+               dma_free_coherent(0, cam->vf_bufs_size[0],
+                                 cam->vf_bufs_vaddr[0],
+                                 (dma_addr_t) cam->vf_bufs[0]);
+               cam->vf_bufs_vaddr[0] = NULL;
+               cam->vf_bufs[0] = 0;
+       }
+       if (cam->vf_bufs_vaddr[1]) {
+               dma_free_coherent(0, cam->vf_bufs_size[1],
+                                 cam->vf_bufs_vaddr[1],
+                                 (dma_addr_t) cam->vf_bufs[1]);
+               cam->vf_bufs_vaddr[1] = NULL;
+               cam->vf_bufs[1] = 0;
+       }
+
+       cam->overlay_active = false;
+       return err;
+}
+
+/*!
+ * Enable csi
+ * @param private       struct cam_data * mxc capture instance
+ *
+ * @return  status
+ */
+static int prp_vf_enable_csi(void *private)
+{
+       cam_data *cam = (cam_data *) private;
+
+       return ipu_enable_csi(cam->ipu, cam->csi);
+}
+
+/*!
+ * Disable csi
+ * @param private       struct cam_data * mxc capture instance
+ *
+ * @return  status
+ */
+static int prp_vf_disable_csi(void *private)
+{
+       cam_data *cam = (cam_data *) private;
+
+       /* free csi eof irq firstly.
+        * when disable csi, wait for idmac eof.
+        * it requests eof irq again */
+       if (cam->vf_rotation < IPU_ROTATE_VERT_FLIP)
+               ipu_free_irq(cam->ipu, IPU_IRQ_PRP_VF_OUT_EOF, cam);
+
+       return ipu_disable_csi(cam->ipu, cam->csi);
+}
+
+/*!
+ * function to select PRP-VF as the working path
+ *
+ * @param private    cam_data * mxc v4l2 main structure
+ *
+ * @return  status
+ */
+int prp_vf_sdc_select(void *private)
+{
+       cam_data *cam;
+       int err = 0;
+       if (private) {
+               cam = (cam_data *) private;
+               cam->vf_start_sdc = prpvf_start;
+               cam->vf_stop_sdc = prpvf_stop;
+               cam->vf_enable_csi = prp_vf_enable_csi;
+               cam->vf_disable_csi = prp_vf_disable_csi;
+               cam->overlay_active = false;
+       } else
+               err = -EIO;
+
+       return err;
+}
+EXPORT_SYMBOL(prp_vf_sdc_select);
+
+/*!
+ * function to de-select PRP-VF as the working path
+ *
+ * @param private    cam_data * mxc v4l2 main structure
+ *
+ * @return  int
+ */
+int prp_vf_sdc_deselect(void *private)
+{
+       cam_data *cam;
+
+       if (private) {
+               cam = (cam_data *) private;
+               cam->vf_start_sdc = NULL;
+               cam->vf_stop_sdc = NULL;
+               cam->vf_enable_csi = NULL;
+               cam->vf_disable_csi = NULL;
+       }
+       return 0;
+}
+EXPORT_SYMBOL(prp_vf_sdc_deselect);
+
+/*!
+ * Init viewfinder task.
+ *
+ * @return  Error code indicating success or failure
+ */
+__init int prp_vf_sdc_init(void)
+{
+       return 0;
+}
+
+/*!
+ * Deinit viewfinder task.
+ *
+ * @return  Error code indicating success or failure
+ */
+void __exit prp_vf_sdc_exit(void)
+{
+}
+
+module_init(prp_vf_sdc_init);
+module_exit(prp_vf_sdc_exit);
+
+MODULE_AUTHOR("Freescale Semiconductor, Inc.");
+MODULE_DESCRIPTION("IPU PRP VF SDC Driver");
+MODULE_LICENSE("GPL");
diff --git a/drivers/media/platform/mxc/capture/ipu_prp_vf_sdc_bg.c b/drivers/media/platform/mxc/capture/ipu_prp_vf_sdc_bg.c
new file mode 100644 (file)
index 0000000..a24d82d
--- /dev/null
@@ -0,0 +1,521 @@
+/*
+ * Copyright 2004-2014 Freescale Semiconductor, Inc. All Rights Reserved.
+ */
+
+/*
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/*!
+ * @file ipu_prp_vf_sdc_bg.c
+ *
+ * @brief IPU Use case for PRP-VF back-ground
+ *
+ * @ingroup IPU
+ */
+#include <linux/dma-mapping.h>
+#include <linux/fb.h>
+#include <linux/ipu.h>
+#include <linux/module.h>
+#include <mach/mipi_csi2.h>
+#include "mxc_v4l2_capture.h"
+#include "ipu_prp_sw.h"
+
+static int buffer_num;
+static int buffer_ready;
+static struct ipu_soc *disp_ipu;
+
+static void get_disp_ipu(cam_data *cam)
+{
+       if (cam->output > 2)
+               disp_ipu = ipu_get_soc(1); /* using DISP4 */
+       else
+               disp_ipu = ipu_get_soc(0);
+}
+
+/*
+ * Function definitions
+ */
+
+/*!
+ * SDC V-Sync callback function.
+ *
+ * @param irq       int irq line
+ * @param dev_id    void * device id
+ *
+ * @return status   IRQ_HANDLED for handled
+ */
+static irqreturn_t prpvf_sdc_vsync_callback(int irq, void *dev_id)
+{
+       cam_data *cam = dev_id;
+       if (buffer_ready > 0) {
+               ipu_select_buffer(cam->ipu, MEM_ROT_VF_MEM,
+                                 IPU_OUTPUT_BUFFER, 0);
+               buffer_ready--;
+       }
+
+       return IRQ_HANDLED;
+}
+
+/*!
+ * VF EOF callback function.
+ *
+ * @param irq       int irq line
+ * @param dev_id    void * device id
+ *
+ * @return status   IRQ_HANDLED for handled
+ */
+static irqreturn_t prpvf_vf_eof_callback(int irq, void *dev_id)
+{
+       cam_data *cam = dev_id;
+       pr_debug("buffer_ready %d buffer_num %d\n", buffer_ready, buffer_num);
+
+       ipu_select_buffer(cam->ipu, MEM_ROT_VF_MEM,
+                         IPU_INPUT_BUFFER, buffer_num);
+       buffer_num = (buffer_num == 0) ? 1 : 0;
+       ipu_select_buffer(cam->ipu, CSI_PRP_VF_MEM,
+                         IPU_OUTPUT_BUFFER, buffer_num);
+       buffer_ready++;
+       return IRQ_HANDLED;
+}
+
+/*!
+ * prpvf_start - start the vf task
+ *
+ * @param private    cam_data * mxc v4l2 main structure
+ *
+ */
+static int prpvf_start(void *private)
+{
+       cam_data *cam = (cam_data *) private;
+       ipu_channel_params_t vf;
+       u32 format;
+       u32 offset;
+       u32 bpp, size = 3;
+       int err = 0;
+#ifdef CONFIG_MXC_MIPI_CSI2
+       void *mipi_csi2_info;
+       int ipu_id;
+       int csi_id;
+#endif
+
+       if (!cam) {
+               printk(KERN_ERR "private is NULL\n");
+               return -EIO;
+       }
+
+       if (cam->overlay_active == true) {
+               pr_debug("already start.\n");
+               return 0;
+       }
+
+       get_disp_ipu(cam);
+
+       format = cam->v4l2_fb.fmt.pixelformat;
+       if (cam->v4l2_fb.fmt.pixelformat == IPU_PIX_FMT_BGR24) {
+               bpp = 3, size = 3;
+               pr_info("BGR24\n");
+       } else if (cam->v4l2_fb.fmt.pixelformat == IPU_PIX_FMT_RGB565) {
+               bpp = 2, size = 2;
+               pr_info("RGB565\n");
+       } else if (cam->v4l2_fb.fmt.pixelformat == IPU_PIX_FMT_BGR32) {
+               bpp = 4, size = 4;
+               pr_info("BGR32\n");
+       } else {
+               printk(KERN_ERR
+                      "unsupported fix format from the framebuffer.\n");
+               return -EINVAL;
+       }
+
+       offset = cam->v4l2_fb.fmt.bytesperline * cam->win.w.top +
+           size * cam->win.w.left;
+
+       if (cam->v4l2_fb.base == 0)
+               printk(KERN_ERR "invalid frame buffer address.\n");
+       else
+               offset += (u32) cam->v4l2_fb.base;
+
+       memset(&vf, 0, sizeof(ipu_channel_params_t));
+       ipu_csi_get_window_size(cam->ipu, &vf.csi_prp_vf_mem.in_width,
+                               &vf.csi_prp_vf_mem.in_height, cam->csi);
+       vf.csi_prp_vf_mem.in_pixel_fmt = IPU_PIX_FMT_UYVY;
+       vf.csi_prp_vf_mem.out_width = cam->win.w.width;
+       vf.csi_prp_vf_mem.out_height = cam->win.w.height;
+       vf.csi_prp_vf_mem.csi = cam->csi;
+       if (cam->vf_rotation >= IPU_ROTATE_90_RIGHT) {
+               vf.csi_prp_vf_mem.out_width = cam->win.w.height;
+               vf.csi_prp_vf_mem.out_height = cam->win.w.width;
+       }
+       vf.csi_prp_vf_mem.out_pixel_fmt = format;
+       size = cam->win.w.width * cam->win.w.height * size;
+
+#ifdef CONFIG_MXC_MIPI_CSI2
+       mipi_csi2_info = mipi_csi2_get_info();
+
+       if (mipi_csi2_info) {
+               if (mipi_csi2_get_status(mipi_csi2_info)) {
+                       ipu_id = mipi_csi2_get_bind_ipu(mipi_csi2_info);
+                       csi_id = mipi_csi2_get_bind_csi(mipi_csi2_info);
+
+                       if (cam->ipu == ipu_get_soc(ipu_id)
+                               && cam->csi == csi_id) {
+                               vf.csi_prp_vf_mem.mipi_en = true;
+                               vf.csi_prp_vf_mem.mipi_vc =
+                               mipi_csi2_get_virtual_channel(mipi_csi2_info);
+                               vf.csi_prp_vf_mem.mipi_id =
+                               mipi_csi2_get_datatype(mipi_csi2_info);
+
+                               mipi_csi2_pixelclk_enable(mipi_csi2_info);
+                       } else {
+                               vf.csi_prp_vf_mem.mipi_en = false;
+                               vf.csi_prp_vf_mem.mipi_vc = 0;
+                               vf.csi_prp_vf_mem.mipi_id = 0;
+                       }
+               } else {
+                       vf.csi_prp_vf_mem.mipi_en = false;
+                       vf.csi_prp_vf_mem.mipi_vc = 0;
+                       vf.csi_prp_vf_mem.mipi_id = 0;
+               }
+       }
+#endif
+
+       err = ipu_init_channel(cam->ipu, CSI_PRP_VF_MEM, &vf);
+       if (err != 0)
+               goto out_4;
+
+       if (cam->vf_bufs_vaddr[0]) {
+               dma_free_coherent(0, cam->vf_bufs_size[0],
+                                 cam->vf_bufs_vaddr[0], cam->vf_bufs[0]);
+       }
+       if (cam->vf_bufs_vaddr[1]) {
+               dma_free_coherent(0, cam->vf_bufs_size[1],
+                                 cam->vf_bufs_vaddr[1], cam->vf_bufs[1]);
+       }
+       cam->vf_bufs_size[0] = PAGE_ALIGN(size);
+       cam->vf_bufs_vaddr[0] = (void *)dma_alloc_coherent(0,
+                                                          cam->vf_bufs_size[0],
+                                                          &cam->vf_bufs[0],
+                                                          GFP_DMA |
+                                                          GFP_KERNEL);
+       if (cam->vf_bufs_vaddr[0] == NULL) {
+               printk(KERN_ERR "Error to allocate vf buffer\n");
+               err = -ENOMEM;
+               goto out_3;
+       }
+       cam->vf_bufs_size[1] = PAGE_ALIGN(size);
+       cam->vf_bufs_vaddr[1] = (void *)dma_alloc_coherent(0,
+                                                          cam->vf_bufs_size[1],
+                                                          &cam->vf_bufs[1],
+                                                          GFP_DMA |
+                                                          GFP_KERNEL);
+       if (cam->vf_bufs_vaddr[1] == NULL) {
+               printk(KERN_ERR "Error to allocate vf buffer\n");
+               err = -ENOMEM;
+               goto out_3;
+       }
+
+       err = ipu_init_channel_buffer(cam->ipu, CSI_PRP_VF_MEM,
+                                     IPU_OUTPUT_BUFFER,
+                                     format, vf.csi_prp_vf_mem.out_width,
+                                     vf.csi_prp_vf_mem.out_height,
+                                     vf.csi_prp_vf_mem.out_width,
+                                     IPU_ROTATE_NONE,
+                                     cam->vf_bufs[0],
+                                     cam->vf_bufs[1],
+                                     0, 0, 0);
+       if (err != 0) {
+               printk(KERN_ERR "Error initializing CSI_PRP_VF_MEM\n");
+               goto out_3;
+       }
+       err = ipu_init_channel(cam->ipu, MEM_ROT_VF_MEM, NULL);
+       if (err != 0) {
+               printk(KERN_ERR "Error MEM_ROT_VF_MEM channel\n");
+               goto out_3;
+       }
+
+       err = ipu_init_channel_buffer(cam->ipu, MEM_ROT_VF_MEM,
+                                     IPU_INPUT_BUFFER,
+                                     format, vf.csi_prp_vf_mem.out_width,
+                                     vf.csi_prp_vf_mem.out_height,
+                                     vf.csi_prp_vf_mem.out_width,
+                                     cam->vf_rotation,
+                                     cam->vf_bufs[0],
+                                     cam->vf_bufs[1],
+                                     0, 0, 0);
+       if (err != 0) {
+               printk(KERN_ERR "Error MEM_ROT_VF_MEM input buffer\n");
+               goto out_2;
+       }
+
+       if (cam->vf_rotation >= IPU_ROTATE_90_RIGHT) {
+               err = ipu_init_channel_buffer(cam->ipu, MEM_ROT_VF_MEM,
+                                             IPU_OUTPUT_BUFFER,
+                                             format,
+                                             vf.csi_prp_vf_mem.out_height,
+                                             vf.csi_prp_vf_mem.out_width,
+                                             cam->overlay_fb->var.xres * bpp,
+                                             IPU_ROTATE_NONE,
+                                             offset, 0, 0, 0, 0);
+
+               if (err != 0) {
+                       printk(KERN_ERR "Error MEM_ROT_VF_MEM output buffer\n");
+                       goto out_2;
+               }
+       } else {
+               err = ipu_init_channel_buffer(cam->ipu, MEM_ROT_VF_MEM,
+                                             IPU_OUTPUT_BUFFER,
+                                             format,
+                                             vf.csi_prp_vf_mem.out_width,
+                                             vf.csi_prp_vf_mem.out_height,
+                                             cam->overlay_fb->var.xres * bpp,
+                                             IPU_ROTATE_NONE,
+                                             offset, 0, 0, 0, 0);
+               if (err != 0) {
+                       printk(KERN_ERR "Error MEM_ROT_VF_MEM output buffer\n");
+                       goto out_2;
+               }
+       }
+
+       ipu_clear_irq(cam->ipu, IPU_IRQ_PRP_VF_OUT_EOF);
+       err = ipu_request_irq(cam->ipu, IPU_IRQ_PRP_VF_OUT_EOF,
+                             prpvf_vf_eof_callback,
+                             0, "Mxc Camera", cam);
+       if (err != 0) {
+               printk(KERN_ERR
+                      "Error registering IPU_IRQ_PRP_VF_OUT_EOF irq.\n");
+               goto out_2;
+       }
+
+       ipu_clear_irq(disp_ipu, IPU_IRQ_BG_SF_END);
+       err = ipu_request_irq(disp_ipu, IPU_IRQ_BG_SF_END,
+                             prpvf_sdc_vsync_callback,
+                             0, "Mxc Camera", cam);
+       if (err != 0) {
+               printk(KERN_ERR "Error registering IPU_IRQ_BG_SF_END irq.\n");
+               goto out_1;
+       }
+
+       ipu_enable_channel(cam->ipu, CSI_PRP_VF_MEM);
+       ipu_enable_channel(cam->ipu, MEM_ROT_VF_MEM);
+
+       buffer_num = 0;
+       buffer_ready = 0;
+       ipu_select_buffer(cam->ipu, CSI_PRP_VF_MEM, IPU_OUTPUT_BUFFER, 0);
+
+       cam->overlay_active = true;
+       return err;
+
+out_1:
+       ipu_free_irq(cam->ipu, IPU_IRQ_PRP_VF_OUT_EOF, NULL);
+out_2:
+       ipu_uninit_channel(cam->ipu, MEM_ROT_VF_MEM);
+out_3:
+       ipu_uninit_channel(cam->ipu, CSI_PRP_VF_MEM);
+out_4:
+       if (cam->vf_bufs_vaddr[0]) {
+               dma_free_coherent(0, cam->vf_bufs_size[0],
+                                 cam->vf_bufs_vaddr[0], cam->vf_bufs[0]);
+               cam->vf_bufs_vaddr[0] = NULL;
+               cam->vf_bufs[0] = 0;
+       }
+       if (cam->vf_bufs_vaddr[1]) {
+               dma_free_coherent(0, cam->vf_bufs_size[1],
+                                 cam->vf_bufs_vaddr[1], cam->vf_bufs[1]);
+               cam->vf_bufs_vaddr[1] = NULL;
+               cam->vf_bufs[1] = 0;
+       }
+       if (cam->rot_vf_bufs_vaddr[0]) {
+               dma_free_coherent(0, cam->rot_vf_buf_size[0],
+                                 cam->rot_vf_bufs_vaddr[0],
+                                 cam->rot_vf_bufs[0]);
+               cam->rot_vf_bufs_vaddr[0] = NULL;
+               cam->rot_vf_bufs[0] = 0;
+       }
+       if (cam->rot_vf_bufs_vaddr[1]) {
+               dma_free_coherent(0, cam->rot_vf_buf_size[1],
+                                 cam->rot_vf_bufs_vaddr[1],
+                                 cam->rot_vf_bufs[1]);
+               cam->rot_vf_bufs_vaddr[1] = NULL;
+               cam->rot_vf_bufs[1] = 0;
+       }
+       return err;
+}
+
+/*!
+ * prpvf_stop - stop the vf task
+ *
+ * @param private    cam_data * mxc v4l2 main structure
+ *
+ */
+static int prpvf_stop(void *private)
+{
+       cam_data *cam = (cam_data *) private;
+#ifdef CONFIG_MXC_MIPI_CSI2
+       void *mipi_csi2_info;
+       int ipu_id;
+       int csi_id;
+#endif
+
+       if (cam->overlay_active == false)
+               return 0;
+
+       ipu_free_irq(disp_ipu, IPU_IRQ_BG_SF_END, cam);
+
+       ipu_disable_channel(cam->ipu, CSI_PRP_VF_MEM, true);
+       ipu_disable_channel(cam->ipu, MEM_ROT_VF_MEM, true);
+       ipu_uninit_channel(cam->ipu, CSI_PRP_VF_MEM);
+       ipu_uninit_channel(cam->ipu, MEM_ROT_VF_MEM);
+
+#ifdef CONFIG_MXC_MIPI_CSI2
+       mipi_csi2_info = mipi_csi2_get_info();
+
+       if (mipi_csi2_info) {
+               if (mipi_csi2_get_status(mipi_csi2_info)) {
+                       ipu_id = mipi_csi2_get_bind_ipu(mipi_csi2_info);
+                       csi_id = mipi_csi2_get_bind_csi(mipi_csi2_info);
+
+                       if (cam->ipu == ipu_get_soc(ipu_id)
+                               && cam->csi == csi_id)
+                               mipi_csi2_pixelclk_disable(mipi_csi2_info);
+               }
+       }
+#endif
+
+       if (cam->vf_bufs_vaddr[0]) {
+               dma_free_coherent(0, cam->vf_bufs_size[0],
+                                 cam->vf_bufs_vaddr[0], cam->vf_bufs[0]);
+               cam->vf_bufs_vaddr[0] = NULL;
+               cam->vf_bufs[0] = 0;
+       }
+       if (cam->vf_bufs_vaddr[1]) {
+               dma_free_coherent(0, cam->vf_bufs_size[1],
+                                 cam->vf_bufs_vaddr[1], cam->vf_bufs[1]);
+               cam->vf_bufs_vaddr[1] = NULL;
+               cam->vf_bufs[1] = 0;
+       }
+       if (cam->rot_vf_bufs_vaddr[0]) {
+               dma_free_coherent(0, cam->rot_vf_buf_size[0],
+                                 cam->rot_vf_bufs_vaddr[0],
+                                 cam->rot_vf_bufs[0]);
+               cam->rot_vf_bufs_vaddr[0] = NULL;
+               cam->rot_vf_bufs[0] = 0;
+       }
+       if (cam->rot_vf_bufs_vaddr[1]) {
+               dma_free_coherent(0, cam->rot_vf_buf_size[1],
+                                 cam->rot_vf_bufs_vaddr[1],
+                                 cam->rot_vf_bufs[1]);
+               cam->rot_vf_bufs_vaddr[1] = NULL;
+               cam->rot_vf_bufs[1] = 0;
+       }
+
+       buffer_num = 0;
+       buffer_ready = 0;
+       cam->overlay_active = false;
+       return 0;
+}
+
+/*!
+ * Enable csi
+ * @param private       struct cam_data * mxc capture instance
+ *
+ * @return  status
+ */
+static int prp_vf_enable_csi(void *private)
+{
+       cam_data *cam = (cam_data *) private;
+
+       return ipu_enable_csi(cam->ipu, cam->csi);
+}
+
+/*!
+ * Disable csi
+ * @param private       struct cam_data * mxc capture instance
+ *
+ * @return  status
+ */
+static int prp_vf_disable_csi(void *private)
+{
+       cam_data *cam = (cam_data *) private;
+
+       /* free csi eof irq firstly.
+        * when disable csi, wait for idmac eof.
+        * it requests eof irq again */
+       ipu_free_irq(cam->ipu, IPU_IRQ_PRP_VF_OUT_EOF, cam);
+
+       return ipu_disable_csi(cam->ipu, cam->csi);
+}
+
+/*!
+ * function to select PRP-VF as the working path
+ *
+ * @param private    cam_data * mxc v4l2 main structure
+ *
+ * @return  status
+ */
+int prp_vf_sdc_select_bg(void *private)
+{
+       cam_data *cam = (cam_data *) private;
+
+       if (cam) {
+               cam->vf_start_sdc = prpvf_start;
+               cam->vf_stop_sdc = prpvf_stop;
+               cam->vf_enable_csi = prp_vf_enable_csi;
+               cam->vf_disable_csi = prp_vf_disable_csi;
+               cam->overlay_active = false;
+       }
+
+       return 0;
+}
+EXPORT_SYMBOL(prp_vf_sdc_select_bg);
+
+/*!
+ * function to de-select PRP-VF as the working path
+ *
+ * @param private    cam_data * mxc v4l2 main structure
+ *
+ * @return  status
+ */
+int prp_vf_sdc_deselect_bg(void *private)
+{
+       cam_data *cam = (cam_data *) private;
+
+       if (cam) {
+               cam->vf_start_sdc = NULL;
+               cam->vf_stop_sdc = NULL;
+               cam->vf_enable_csi = NULL;
+               cam->vf_disable_csi = NULL;
+       }
+       return 0;
+}
+EXPORT_SYMBOL(prp_vf_sdc_deselect_bg);
+
+/*!
+ * Init viewfinder task.
+ *
+ * @return  Error code indicating success or failure
+ */
+__init int prp_vf_sdc_init_bg(void)
+{
+       return 0;
+}
+
+/*!
+ * Deinit viewfinder task.
+ *
+ * @return  Error code indicating success or failure
+ */
+void __exit prp_vf_sdc_exit_bg(void)
+{
+}
+
+module_init(prp_vf_sdc_init_bg);
+module_exit(prp_vf_sdc_exit_bg);
+
+MODULE_AUTHOR("Freescale Semiconductor, Inc.");
+MODULE_DESCRIPTION("IPU PRP VF SDC Backgroud Driver");
+MODULE_LICENSE("GPL");
diff --git a/drivers/media/platform/mxc/capture/ipu_still.c b/drivers/media/platform/mxc/capture/ipu_still.c
new file mode 100644 (file)
index 0000000..b295a18
--- /dev/null
@@ -0,0 +1,268 @@
+/*
+ * Copyright 2004-2013 Freescale Semiconductor, Inc. All Rights Reserved.
+ */
+
+/*
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/*!
+ * @file ipu_still.c
+ *
+ * @brief IPU Use case for still image capture
+ *
+ * @ingroup IPU
+ */
+
+#include <linux/module.h>
+#include <linux/semaphore.h>
+#include <linux/sched.h>
+#include <linux/ipu.h>
+#include "mxc_v4l2_capture.h"
+#include "ipu_prp_sw.h"
+
+static int callback_eof_flag;
+#ifndef CONFIG_MXC_IPU_V1
+static int buffer_num;
+#endif
+
+#ifdef CONFIG_MXC_IPU_V1
+static int callback_flag;
+/*
+ * Function definitions
+ */
+/*!
+ * CSI EOF callback function.
+ *
+ * @param irq       int irq line
+ * @param dev_id    void * device id
+ *
+ * @return status   IRQ_HANDLED for handled
+ */
+static irqreturn_t prp_csi_eof_callback(int irq, void *dev_id)
+{
+       cam_data *cam = devid;
+       ipu_select_buffer(cam->ipu, CSI_MEM, IPU_OUTPUT_BUFFER,
+                         callback_flag%2 ? 1 : 0);
+       if (callback_flag == 0)
+               ipu_enable_channel(cam->ipu, CSI_MEM);
+
+       callback_flag++;
+       return IRQ_HANDLED;
+}
+#endif
+
+/*!
+ * CSI callback function.
+ *
+ * @param irq       int irq line
+ * @param dev_id    void * device id
+ *
+ * @return status   IRQ_HANDLED for handled
+ */
+static irqreturn_t prp_still_callback(int irq, void *dev_id)
+{
+       cam_data *cam = (cam_data *) dev_id;
+
+       callback_eof_flag++;
+       if (callback_eof_flag < 5) {
+#ifndef CONFIG_MXC_IPU_V1
+               buffer_num = (buffer_num == 0) ? 1 : 0;
+               ipu_select_buffer(cam->ipu, CSI_MEM,
+                                 IPU_OUTPUT_BUFFER, buffer_num);
+#endif
+       } else {
+               cam->still_counter++;
+               wake_up_interruptible(&cam->still_queue);
+       }
+
+       return IRQ_HANDLED;
+}
+
+/*!
+ * start csi->mem task
+ * @param private       struct cam_data * mxc capture instance
+ *
+ * @return  status
+ */
+static int prp_still_start(void *private)
+{
+       cam_data *cam = (cam_data *) private;
+       u32 pixel_fmt;
+       int err;
+       ipu_channel_params_t params;
+
+       if (cam->v2f.fmt.pix.pixelformat == V4L2_PIX_FMT_YUV420)
+               pixel_fmt = IPU_PIX_FMT_YUV420P;
+       else if (cam->v2f.fmt.pix.pixelformat == V4L2_PIX_FMT_NV12)
+               pixel_fmt = IPU_PIX_FMT_NV12;
+       else if (cam->v2f.fmt.pix.pixelformat == V4L2_PIX_FMT_YUV422P)
+               pixel_fmt = IPU_PIX_FMT_YUV422P;
+       else if (cam->v2f.fmt.pix.pixelformat == V4L2_PIX_FMT_UYVY)
+               pixel_fmt = IPU_PIX_FMT_UYVY;
+       else if (cam->v2f.fmt.pix.pixelformat == V4L2_PIX_FMT_YUYV)
+               pixel_fmt = IPU_PIX_FMT_YUYV;
+       else if (cam->v2f.fmt.pix.pixelformat == V4L2_PIX_FMT_BGR24)
+               pixel_fmt = IPU_PIX_FMT_BGR24;
+       else if (cam->v2f.fmt.pix.pixelformat == V4L2_PIX_FMT_RGB24)
+               pixel_fmt = IPU_PIX_FMT_RGB24;
+       else if (cam->v2f.fmt.pix.pixelformat == V4L2_PIX_FMT_RGB565)
+               pixel_fmt = IPU_PIX_FMT_RGB565;
+       else if (cam->v2f.fmt.pix.pixelformat == V4L2_PIX_FMT_BGR32)
+               pixel_fmt = IPU_PIX_FMT_BGR32;
+       else if (cam->v2f.fmt.pix.pixelformat == V4L2_PIX_FMT_RGB32)
+               pixel_fmt = IPU_PIX_FMT_RGB32;
+       else {
+               printk(KERN_ERR "format not supported\n");
+               return -EINVAL;
+       }
+
+       memset(&params, 0, sizeof(params));
+       err = ipu_init_channel(cam->ipu, CSI_MEM, &params);
+       if (err != 0)
+               return err;
+
+       err = ipu_init_channel_buffer(cam->ipu, CSI_MEM, IPU_OUTPUT_BUFFER,
+                                     pixel_fmt, cam->v2f.fmt.pix.width,
+                                     cam->v2f.fmt.pix.height,
+                                     cam->v2f.fmt.pix.width, IPU_ROTATE_NONE,
+                                     cam->still_buf[0], cam->still_buf[1], 0,
+                                     0, 0);
+       if (err != 0)
+               return err;
+
+#ifdef CONFIG_MXC_IPU_V1
+       ipu_clear_irq(IPU_IRQ_SENSOR_OUT_EOF);
+       err = ipu_request_irq(IPU_IRQ_SENSOR_OUT_EOF, prp_still_callback,
+                             0, "Mxc Camera", cam);
+       if (err != 0) {
+               printk(KERN_ERR "Error registering irq.\n");
+               return err;
+       }
+       callback_flag = 0;
+       callback_eof_flag = 0;
+       ipu_clear_irq(IPU_IRQ_SENSOR_EOF);
+       err = ipu_request_irq(IPU_IRQ_SENSOR_EOF, prp_csi_eof_callback,
+                             0, "Mxc Camera", cam);
+       if (err != 0) {
+               printk(KERN_ERR "Error IPU_IRQ_SENSOR_EOF\n");
+               return err;
+       }
+#else
+       callback_eof_flag = 0;
+       buffer_num = 0;
+
+       ipu_clear_irq(cam->ipu, IPU_IRQ_CSI0_OUT_EOF);
+       err = ipu_request_irq(cam->ipu, IPU_IRQ_CSI0_OUT_EOF,
+                             prp_still_callback,
+                             0, "Mxc Camera", cam);
+       if (err != 0) {
+               printk(KERN_ERR "Error registering irq.\n");
+               return err;
+       }
+
+       ipu_select_buffer(cam->ipu, CSI_MEM, IPU_OUTPUT_BUFFER, 0);
+       ipu_enable_channel(cam->ipu, CSI_MEM);
+       ipu_enable_csi(cam->ipu, cam->csi);
+#endif
+
+       return err;
+}
+
+/*!
+ * stop csi->mem encoder task
+ * @param private       struct cam_data * mxc capture instance
+ *
+ * @return  status
+ */
+static int prp_still_stop(void *private)
+{
+       cam_data *cam = (cam_data *) private;
+       int err = 0;
+
+#ifdef CONFIG_MXC_IPU_V1
+       ipu_free_irq(IPU_IRQ_SENSOR_EOF, NULL);
+       ipu_free_irq(IPU_IRQ_SENSOR_OUT_EOF, cam);
+#else
+       ipu_free_irq(cam->ipu, IPU_IRQ_CSI0_OUT_EOF, cam);
+#endif
+
+       ipu_disable_csi(cam->ipu, cam->csi);
+       ipu_disable_channel(cam->ipu, CSI_MEM, true);
+       ipu_uninit_channel(cam->ipu, CSI_MEM);
+
+       return err;
+}
+
+/*!
+ * function to select CSI_MEM as the working path
+ *
+ * @param private       struct cam_data * mxc capture instance
+ *
+ * @return  status
+ */
+int prp_still_select(void *private)
+{
+       cam_data *cam = (cam_data *) private;
+
+       if (cam) {
+               cam->csi_start = prp_still_start;
+               cam->csi_stop = prp_still_stop;
+       }
+
+       return 0;
+}
+EXPORT_SYMBOL(prp_still_select);
+
+/*!
+ * function to de-select CSI_MEM as the working path
+ *
+ * @param private       struct cam_data * mxc capture instance
+ *
+ * @return  status
+ */
+int prp_still_deselect(void *private)
+{
+       cam_data *cam = (cam_data *) private;
+       int err = 0;
+
+       err = prp_still_stop(cam);
+
+       if (cam) {
+               cam->csi_start = NULL;
+               cam->csi_stop = NULL;
+       }
+
+       return err;
+}
+EXPORT_SYMBOL(prp_still_deselect);
+
+/*!
+ * Init the Encorder channels
+ *
+ * @return  Error code indicating success or failure
+ */
+__init int prp_still_init(void)
+{
+       return 0;
+}
+
+/*!
+ * Deinit the Encorder channels
+ *
+ */
+void __exit prp_still_exit(void)
+{
+}
+
+module_init(prp_still_init);
+module_exit(prp_still_exit);
+
+MODULE_AUTHOR("Freescale Semiconductor, Inc.");
+MODULE_DESCRIPTION("IPU PRP STILL IMAGE Driver");
+MODULE_LICENSE("GPL");
diff --git a/drivers/media/platform/mxc/capture/mxc_v4l2_capture.c b/drivers/media/platform/mxc/capture/mxc_v4l2_capture.c
new file mode 100755 (executable)
index 0000000..84b6e4e
--- /dev/null
@@ -0,0 +1,3102 @@
+/*
+ * Copyright 2004-2014 Freescale Semiconductor, Inc. All Rights Reserved.
+ */
+
+/*
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/*!
+ * @file drivers/media/video/mxc/capture/mxc_v4l2_capture.c
+ *
+ * @brief Mxc Video For Linux 2 driver
+ *
+ * @ingroup MXC_V4L2_CAPTURE
+ */
+#include <linux/version.h>
+#include <linux/module.h>
+#include <linux/init.h>
+#include <linux/platform_device.h>
+#include <linux/fs.h>
+#include <linux/slab.h>
+#include <linux/ctype.h>
+#include <linux/clk.h>
+#include <linux/io.h>
+#include <linux/semaphore.h>
+#include <linux/pagemap.h>
+#include <linux/vmalloc.h>
+#include <linux/types.h>
+#include <linux/fb.h>
+#include <linux/dma-mapping.h>
+#include <linux/delay.h>
+#include <linux/mxcfb.h>
+#include <linux/of_device.h>
+#include <media/v4l2-chip-ident.h>
+#include <media/v4l2-ioctl.h>
+#include <media/v4l2-int-device.h>
+#include <linux/fsl_devices.h>
+#include "mxc_v4l2_capture.h"
+#include "ipu_prp_sw.h"
+
+#define init_MUTEX(sem)         sema_init(sem, 1)
+
+static struct platform_device_id imx_v4l2_devtype[] = {
+       {
+               .name = "v4l2-capture-imx5",
+               .driver_data = IMX5_V4L2,
+       }, {
+               .name = "v4l2-capture-imx6",
+               .driver_data = IMX6_V4L2,
+       }, {
+               /* sentinel */
+       }
+};
+MODULE_DEVICE_TABLE(platform, imx_v4l2_devtype);
+
+static const struct of_device_id mxc_v4l2_dt_ids[] = {
+       {
+               .compatible = "fsl,imx6q-v4l2-capture",
+               .data = &imx_v4l2_devtype[IMX6_V4L2],
+       }, {
+               /* sentinel */
+       }
+};
+MODULE_DEVICE_TABLE(of, mxc_v4l2_dt_ids);
+
+static int video_nr = -1;
+
+/*! This data is used for the output to the display. */
+#define MXC_V4L2_CAPTURE_NUM_OUTPUTS   6
+#define MXC_V4L2_CAPTURE_NUM_INPUTS    2
+static struct v4l2_output mxc_capture_outputs[MXC_V4L2_CAPTURE_NUM_OUTPUTS] = {
+       {
+        .index = 0,
+        .name = "DISP3 BG",
+        .type = V4L2_OUTPUT_TYPE_ANALOG,
+        .audioset = 0,
+        .modulator = 0,
+        .std = V4L2_STD_UNKNOWN,
+        },
+       {
+        .index = 1,
+        .name = "DISP3 BG - DI1",
+        .type = V4L2_OUTPUT_TYPE_ANALOG,
+        .audioset = 0,
+        .modulator = 0,
+        .std = V4L2_STD_UNKNOWN,
+        },
+       {
+        .index = 2,
+        .name = "DISP3 FG",
+        .type = V4L2_OUTPUT_TYPE_ANALOG,
+        .audioset = 0,
+        .modulator = 0,
+        .std = V4L2_STD_UNKNOWN,
+        },
+       {
+        .index = 3,
+        .name = "DISP4 BG",
+        .type = V4L2_OUTPUT_TYPE_ANALOG,
+        .audioset = 0,
+        .modulator = 0,
+        .std = V4L2_STD_UNKNOWN,
+        },
+       {
+        .index = 4,
+        .name = "DISP4 BG - DI1",
+        .type = V4L2_OUTPUT_TYPE_ANALOG,
+        .audioset = 0,
+        .modulator = 0,
+        .std = V4L2_STD_UNKNOWN,
+        },
+       {
+        .index = 5,
+        .name = "DISP4 FG",
+        .type = V4L2_OUTPUT_TYPE_ANALOG,
+        .audioset = 0,
+        .modulator = 0,
+        .std = V4L2_STD_UNKNOWN,
+        },
+};
+
+static struct v4l2_input mxc_capture_inputs[MXC_V4L2_CAPTURE_NUM_INPUTS] = {
+       {
+        .index = 0,
+        .name = "CSI IC MEM",
+        .type = V4L2_INPUT_TYPE_CAMERA,
+        .audioset = 0,
+        .tuner = 0,
+        .std = V4L2_STD_UNKNOWN,
+        .status = 0,
+        },
+       {
+        .index = 1,
+        .name = "CSI MEM",
+        .type = V4L2_INPUT_TYPE_CAMERA,
+        .audioset = 0,
+        .tuner = 0,
+        .std = V4L2_STD_UNKNOWN,
+        .status = V4L2_IN_ST_NO_POWER,
+        },
+};
+
+/*! List of TV input video formats supported. The video formats is corresponding
+ * to the v4l2_id in video_fmt_t.
+ * Currently, only PAL and NTSC is supported. Needs to be expanded in the
+ * future.
+ */
+typedef enum {
+       TV_NTSC = 0,            /*!< Locked on (M) NTSC video signal. */
+       TV_PAL,                 /*!< (B, G, H, I, N)PAL video signal. */
+       TV_NOT_LOCKED,          /*!< Not locked on a signal. */
+} video_fmt_idx;
+
+/*! Number of video standards supported (including 'not locked' signal). */
+#define TV_STD_MAX             (TV_NOT_LOCKED + 1)
+
+/*! Video format structure. */
+typedef struct {
+       int v4l2_id;            /*!< Video for linux ID. */
+       char name[16];          /*!< Name (e.g., "NTSC", "PAL", etc.) */
+       u16 raw_width;          /*!< Raw width. */
+       u16 raw_height;         /*!< Raw height. */
+       u16 active_width;       /*!< Active width. */
+       u16 active_height;      /*!< Active height. */
+       u16 active_top;         /*!< Active top. */
+       u16 active_left;        /*!< Active left. */
+} video_fmt_t;
+
+/*!
+ * Description of video formats supported.
+ *
+ *  PAL: raw=720x625, active=720x576.
+ *  NTSC: raw=720x525, active=720x480.
+ */
+static video_fmt_t video_fmts[] = {
+       {                       /*! NTSC */
+        .v4l2_id = V4L2_STD_NTSC,
+        .name = "NTSC",
+        .raw_width = 720,              /* SENS_FRM_WIDTH */
+        .raw_height = 525,             /* SENS_FRM_HEIGHT */
+        .active_width = 720,           /* ACT_FRM_WIDTH */
+        .active_height = 480,          /* ACT_FRM_HEIGHT */
+        .active_top = 13,
+        .active_left = 0,
+        },
+       {                       /*! (B, G, H, I, N) PAL */
+        .v4l2_id = V4L2_STD_PAL,
+        .name = "PAL",
+        .raw_width = 720,
+        .raw_height = 625,
+        .active_width = 720,
+        .active_height = 576,
+        .active_top = 0,
+        .active_left = 0,
+        },
+       {                       /*! Unlocked standard */
+        .v4l2_id = V4L2_STD_ALL,
+        .name = "Autodetect",
+        .raw_width = 720,
+        .raw_height = 625,
+        .active_width = 720,
+        .active_height = 576,
+        .active_top = 0,
+        .active_left = 0,
+        },
+};
+
+/*!* Standard index of TV. */
+static video_fmt_idx video_index = TV_NOT_LOCKED;
+
+static int mxc_v4l2_master_attach(struct v4l2_int_device *slave);
+static void mxc_v4l2_master_detach(struct v4l2_int_device *slave);
+static int start_preview(cam_data *cam);
+static int stop_preview(cam_data *cam);
+
+/*! Information about this driver. */
+static struct v4l2_int_master mxc_v4l2_master = {
+       .attach = mxc_v4l2_master_attach,
+       .detach = mxc_v4l2_master_detach,
+};
+
+/***************************************************************************
+ * Functions for handling Frame buffers.
+ **************************************************************************/
+
+/*!
+ * Free frame buffers
+ *
+ * @param cam      Structure cam_data *
+ *
+ * @return status  0 success.
+ */
+static int mxc_free_frame_buf(cam_data *cam)
+{
+       int i;
+
+       pr_debug("MVC: In mxc_free_frame_buf\n");
+
+       for (i = 0; i < FRAME_NUM; i++) {
+               if (cam->frame[i].vaddress != 0) {
+                       dma_free_coherent(0, cam->frame[i].buffer.length,
+                                         cam->frame[i].vaddress,
+                                         cam->frame[i].paddress);
+                       cam->frame[i].vaddress = 0;
+               }
+       }
+
+       return 0;
+}
+
+/*!
+ * Allocate frame buffers
+ *
+ * @param cam      Structure cam_data*
+ * @param count    int number of buffer need to allocated
+ *
+ * @return status  -0 Successfully allocated a buffer, -ENOBUFS        failed.
+ */
+static int mxc_allocate_frame_buf(cam_data *cam, int count)
+{
+       int i;
+
+       pr_debug("In MVC:mxc_allocate_frame_buf - size=%d\n",
+               cam->v2f.fmt.pix.sizeimage);
+
+       for (i = 0; i < count; i++) {
+               cam->frame[i].vaddress =
+                   dma_alloc_coherent(0,
+                                      PAGE_ALIGN(cam->v2f.fmt.pix.sizeimage),
+                                      &cam->frame[i].paddress,
+                                      GFP_DMA | GFP_KERNEL);
+               if (cam->frame[i].vaddress == 0) {
+                       pr_err("ERROR: v4l2 capture: "
+                               "mxc_allocate_frame_buf failed.\n");
+                       mxc_free_frame_buf(cam);
+                       return -ENOBUFS;
+               }
+               cam->frame[i].buffer.index = i;
+               cam->frame[i].buffer.flags = V4L2_BUF_FLAG_MAPPED;
+               cam->frame[i].buffer.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
+               cam->frame[i].buffer.length =
+                   PAGE_ALIGN(cam->v2f.fmt.pix.sizeimage);
+               cam->frame[i].buffer.memory = V4L2_MEMORY_MMAP;
+               cam->frame[i].buffer.m.offset = cam->frame[i].paddress;
+               cam->frame[i].index = i;
+       }
+
+       return 0;
+}
+
+/*!
+ * Free frame buffers status
+ *
+ * @param cam    Structure cam_data *
+ *
+ * @return none
+ */
+static void mxc_free_frames(cam_data *cam)
+{
+       int i;
+
+       pr_debug("In MVC:mxc_free_frames\n");
+
+       for (i = 0; i < FRAME_NUM; i++)
+               cam->frame[i].buffer.flags = V4L2_BUF_FLAG_MAPPED;
+
+       cam->enc_counter = 0;
+       INIT_LIST_HEAD(&cam->ready_q);
+       INIT_LIST_HEAD(&cam->working_q);
+       INIT_LIST_HEAD(&cam->done_q);
+}
+
+/*!
+ * Return the buffer status
+ *
+ * @param cam     Structure cam_data *
+ * @param buf     Structure v4l2_buffer *
+ *
+ * @return status  0 success, EINVAL failed.
+ */
+static int mxc_v4l2_buffer_status(cam_data *cam, struct v4l2_buffer *buf)
+{
+       pr_debug("In MVC:mxc_v4l2_buffer_status\n");
+
+       if (buf->index < 0 || buf->index >= FRAME_NUM) {
+               pr_err("ERROR: v4l2 capture: mxc_v4l2_buffer_status buffers "
+                      "not allocated\n");
+               return -EINVAL;
+       }
+
+       memcpy(buf, &(cam->frame[buf->index].buffer), sizeof(*buf));
+       return 0;
+}
+
+static int mxc_v4l2_release_bufs(cam_data *cam)
+{
+       pr_debug("In MVC:mxc_v4l2_release_bufs\n");
+       return 0;
+}
+
+static int mxc_v4l2_prepare_bufs(cam_data *cam, struct v4l2_buffer *buf)
+{
+       pr_debug("In MVC:mxc_v4l2_prepare_bufs\n");
+
+       if (buf->index < 0 || buf->index >= FRAME_NUM || buf->length <
+                       PAGE_ALIGN(cam->v2f.fmt.pix.sizeimage)) {
+               pr_err("ERROR: v4l2 capture: mxc_v4l2_prepare_bufs buffers "
+                       "not allocated,index=%d, length=%d\n", buf->index,
+                       buf->length);
+               return -EINVAL;
+       }
+
+       cam->frame[buf->index].buffer.index = buf->index;
+       cam->frame[buf->index].buffer.flags = V4L2_BUF_FLAG_MAPPED;
+       cam->frame[buf->index].buffer.length = buf->length;
+       cam->frame[buf->index].buffer.m.offset = cam->frame[buf->index].paddress
+               = buf->m.offset;
+       cam->frame[buf->index].buffer.type = buf->type;
+       cam->frame[buf->index].buffer.memory = V4L2_MEMORY_USERPTR;
+       cam->frame[buf->index].index = buf->index;
+
+       return 0;
+}
+
+/***************************************************************************
+ * Functions for handling the video stream.
+ **************************************************************************/
+
+/*!
+ * Indicates whether the palette is supported.
+ *
+ * @param palette V4L2_PIX_FMT_RGB565, V4L2_PIX_FMT_BGR24 or V4L2_PIX_FMT_BGR32
+ *
+ * @return 0 if failed
+ */
+static inline int valid_mode(u32 palette)
+{
+       return ((palette == V4L2_PIX_FMT_RGB565) ||
+               (palette == V4L2_PIX_FMT_BGR24) ||
+               (palette == V4L2_PIX_FMT_RGB24) ||
+               (palette == V4L2_PIX_FMT_BGR32) ||
+               (palette == V4L2_PIX_FMT_RGB32) ||
+               (palette == V4L2_PIX_FMT_YUV422P) ||
+               (palette == V4L2_PIX_FMT_UYVY) ||
+               (palette == V4L2_PIX_FMT_YUYV) ||
+               (palette == V4L2_PIX_FMT_YUV420) ||
+               (palette == V4L2_PIX_FMT_YVU420) ||
+               (palette == V4L2_PIX_FMT_NV12));
+}
+
+/*!
+ * Start the encoder job
+ *
+ * @param cam      structure cam_data *
+ *
+ * @return status  0 Success
+ */
+static int mxc_streamon(cam_data *cam)
+{
+       struct mxc_v4l_frame *frame;
+       unsigned long lock_flags;
+       int err = 0;
+
+       pr_debug("In MVC:mxc_streamon\n");
+
+       if (NULL == cam) {
+               pr_err("ERROR! cam parameter is NULL\n");
+               return -1;
+       }
+
+       if (cam->capture_on) {
+               pr_err("ERROR: v4l2 capture: Capture stream has been turned "
+                      " on\n");
+               return -1;
+       }
+
+       if (list_empty(&cam->ready_q)) {
+               pr_err("ERROR: v4l2 capture: mxc_streamon buffer has not been "
+                       "queued yet\n");
+               return -EINVAL;
+       }
+       if (cam->enc_update_eba &&
+               cam->ready_q.prev == cam->ready_q.next) {
+               pr_err("ERROR: v4l2 capture: mxc_streamon buffer need "
+                      "ping pong at least two buffers\n");
+               return -EINVAL;
+       }
+
+       cam->capture_pid = current->pid;
+
+       if (cam->overlay_on == true)
+               stop_preview(cam);
+
+       if (cam->enc_enable) {
+               err = cam->enc_enable(cam);
+               if (err != 0)
+                       return err;
+       }
+
+       spin_lock_irqsave(&cam->queue_int_lock, lock_flags);
+       cam->ping_pong_csi = 0;
+       cam->local_buf_num = 0;
+       if (cam->enc_update_eba) {
+               frame =
+                   list_entry(cam->ready_q.next, struct mxc_v4l_frame, queue);
+               list_del(cam->ready_q.next);
+               list_add_tail(&frame->queue, &cam->working_q);
+               frame->ipu_buf_num = cam->ping_pong_csi;
+               err = cam->enc_update_eba(cam->ipu, frame->buffer.m.offset,
+                                         &cam->ping_pong_csi);
+
+               frame =
+                   list_entry(cam->ready_q.next, struct mxc_v4l_frame, queue);
+               list_del(cam->ready_q.next);
+               list_add_tail(&frame->queue, &cam->working_q);
+               frame->ipu_buf_num = cam->ping_pong_csi;
+               err |= cam->enc_update_eba(cam->ipu, frame->buffer.m.offset,
+                                          &cam->ping_pong_csi);
+               spin_unlock_irqrestore(&cam->queue_int_lock, lock_flags);
+       } else {
+               spin_unlock_irqrestore(&cam->queue_int_lock, lock_flags);
+               return -EINVAL;
+       }
+
+       if (cam->overlay_on == true)
+               start_preview(cam);
+
+       if (cam->enc_enable_csi) {
+               err = cam->enc_enable_csi(cam);
+               if (err != 0)
+                       return err;
+       }
+
+       cam->capture_on = true;
+
+       return err;
+}
+
+/*!
+ * Shut down the encoder job
+ *
+ * @param cam      structure cam_data *
+ *
+ * @return status  0 Success
+ */
+static int mxc_streamoff(cam_data *cam)
+{
+       int err = 0;
+
+       pr_debug("In MVC:mxc_streamoff\n");
+
+       if (cam->capture_on == false)
+               return 0;
+
+       /* For both CSI--MEM and CSI--IC--MEM
+        * 1. wait for idmac eof
+        * 2. disable csi first
+        * 3. disable idmac
+        * 4. disable smfc (CSI--MEM channel)
+        */
+       if (mxc_capture_inputs[cam->current_input].name != NULL) {
+               if (cam->enc_disable_csi) {
+                       err = cam->enc_disable_csi(cam);
+                       if (err != 0)
+                               return err;
+               }
+               if (cam->enc_disable) {
+                       err = cam->enc_disable(cam);
+                       if (err != 0)
+                               return err;
+               }
+       }
+
+       mxc_free_frames(cam);
+       mxc_capture_inputs[cam->current_input].status |= V4L2_IN_ST_NO_POWER;
+       cam->capture_on = false;
+       return err;
+}
+
+/*!
+ * Valid and adjust the overlay window size, position
+ *
+ * @param cam      structure cam_data *
+ * @param win      struct v4l2_window  *
+ *
+ * @return 0
+ */
+static int verify_preview(cam_data *cam, struct v4l2_window *win)
+{
+       int i = 0, width_bound = 0, height_bound = 0;
+       int *width, *height;
+       unsigned int ipu_ch = CHAN_NONE;
+       struct fb_info *bg_fbi = NULL, *fbi = NULL;
+       bool foregound_fb = false;
+       mm_segment_t old_fs;
+
+       pr_debug("In MVC: verify_preview\n");
+
+       do {
+               fbi = (struct fb_info *)registered_fb[i];
+               if (fbi == NULL) {
+                       pr_err("ERROR: verify_preview frame buffer NULL.\n");
+                       return -1;
+               }
+
+               /* Which DI supports 2 layers? */
+               if (((strncmp(fbi->fix.id, "DISP3 BG", 8) == 0) &&
+                                       (cam->output < 3)) ||
+                   ((strncmp(fbi->fix.id, "DISP4 BG", 8) == 0) &&
+                                       (cam->output >= 3))) {
+                       if (fbi->fbops->fb_ioctl) {
+                               old_fs = get_fs();
+                               set_fs(KERNEL_DS);
+                               fbi->fbops->fb_ioctl(fbi, MXCFB_GET_FB_IPU_CHAN,
+                                               (unsigned long)&ipu_ch);
+                               set_fs(old_fs);
+                       }
+                       if (ipu_ch == MEM_BG_SYNC) {
+                               bg_fbi = fbi;
+                               pr_debug("Found background frame buffer.\n");
+                       }
+               }
+
+               /* Found the frame buffer to preview on. */
+               if (strcmp(fbi->fix.id,
+                           mxc_capture_outputs[cam->output].name) == 0) {
+                       if (((strcmp(fbi->fix.id, "DISP3 FG") == 0) &&
+                                               (cam->output < 3)) ||
+                           ((strcmp(fbi->fix.id, "DISP4 FG") == 0) &&
+                                               (cam->output >= 3)))
+                               foregound_fb = true;
+
+                       cam->overlay_fb = fbi;
+                       break;
+               }
+       } while (++i < FB_MAX);
+
+       if (foregound_fb) {
+               width_bound = bg_fbi->var.xres;
+               height_bound = bg_fbi->var.yres;
+
+               if (win->w.width + win->w.left > bg_fbi->var.xres ||
+                   win->w.height + win->w.top > bg_fbi->var.yres) {
+                       pr_err("ERROR: FG window position exceeds.\n");
+                       return -1;
+               }
+       } else {
+               /* 4 bytes alignment for BG */
+               width_bound = cam->overlay_fb->var.xres;
+               height_bound = cam->overlay_fb->var.yres;
+
+               if (cam->overlay_fb->var.bits_per_pixel == 24)
+                       win->w.left -= win->w.left % 4;
+               else if (cam->overlay_fb->var.bits_per_pixel == 16)
+                       win->w.left -= win->w.left % 2;
+
+               if (win->w.width + win->w.left > cam->overlay_fb->var.xres)
+                       win->w.width = cam->overlay_fb->var.xres - win->w.left;
+               if (win->w.height + win->w.top > cam->overlay_fb->var.yres)
+                       win->w.height = cam->overlay_fb->var.yres - win->w.top;
+       }
+
+       /* stride line limitation */
+       win->w.height -= win->w.height % 8;
+       win->w.width -= win->w.width % 8;
+
+       if (cam->rotation >= IPU_ROTATE_90_RIGHT) {
+               height = &win->w.width;
+               width = &win->w.height;
+       } else {
+               width = &win->w.width;
+               height = &win->w.height;
+       }
+
+       if (*width == 0 || *height == 0) {
+               pr_err("ERROR: v4l2 capture: width or height"
+                       " too small.\n");
+               return -EINVAL;
+       }
+
+       if ((cam->crop_bounds.width / *width > 8) ||
+           ((cam->crop_bounds.width / *width == 8) &&
+            (cam->crop_bounds.width % *width))) {
+               *width = cam->crop_bounds.width / 8;
+               if (*width % 8)
+                       *width += 8 - *width % 8;
+               if (*width + win->w.left > width_bound) {
+                       pr_err("ERROR: v4l2 capture: width exceeds "
+                               "resize limit.\n");
+                       return -1;
+               }
+               pr_err("ERROR: v4l2 capture: width exceeds limit. "
+                       "Resize to %d.\n",
+                       *width);
+       }
+
+       if ((cam->crop_bounds.height / *height > 8) ||
+           ((cam->crop_bounds.height / *height == 8) &&
+            (cam->crop_bounds.height % *height))) {
+               *height = cam->crop_bounds.height / 8;
+               if (*height % 8)
+                       *height += 8 - *height % 8;
+               if (*height + win->w.top > height_bound) {
+                       pr_err("ERROR: v4l2 capture: height exceeds "
+                               "resize limit.\n");
+                       return -1;
+               }
+               pr_err("ERROR: v4l2 capture: height exceeds limit "
+                       "resize to %d.\n",
+                       *height);
+       }
+
+       return 0;
+}
+
+/*!
+ * start the viewfinder job
+ *
+ * @param cam      structure cam_data *
+ *
+ * @return status  0 Success
+ */
+static int start_preview(cam_data *cam)
+{
+       int err = 0;
+
+       pr_debug("MVC: start_preview\n");
+
+       if (cam->v4l2_fb.flags == V4L2_FBUF_FLAG_OVERLAY)
+       #ifdef CONFIG_MXC_IPU_PRP_VF_SDC
+               err = prp_vf_sdc_select(cam);
+       #else
+               err = foreground_sdc_select(cam);
+       #endif
+       else if (cam->v4l2_fb.flags == V4L2_FBUF_FLAG_PRIMARY)
+       #ifdef CONFIG_MXC_IPU_PRP_VF_SDC
+               err = prp_vf_sdc_select_bg(cam);
+       #else
+               err = bg_overlay_sdc_select(cam);
+       #endif
+       if (err != 0)
+               return err;
+
+       if (cam->vf_start_sdc) {
+               err = cam->vf_start_sdc(cam);
+               if (err != 0)
+                       return err;
+       }
+
+       if (cam->vf_enable_csi)
+               err = cam->vf_enable_csi(cam);
+
+       pr_debug("End of %s: v2f pix widthxheight %d x %d\n",
+                __func__,
+                cam->v2f.fmt.pix.width, cam->v2f.fmt.pix.height);
+       pr_debug("End of %s: crop_bounds widthxheight %d x %d\n",
+                __func__,
+                cam->crop_bounds.width, cam->crop_bounds.height);
+       pr_debug("End of %s: crop_defrect widthxheight %d x %d\n",
+                __func__,
+                cam->crop_defrect.width, cam->crop_defrect.height);
+       pr_debug("End of %s: crop_current widthxheight %d x %d\n",
+                __func__,
+                cam->crop_current.width, cam->crop_current.height);
+
+       return err;
+}
+
+/*!
+ * shut down the viewfinder job
+ *
+ * @param cam      structure cam_data *
+ *
+ * @return status  0 Success
+ */
+static int stop_preview(cam_data *cam)
+{
+       int err = 0;
+
+       if (cam->vf_disable_csi) {
+               err = cam->vf_disable_csi(cam);
+               if (err != 0)
+                       return err;
+       }
+
+       if (cam->vf_stop_sdc) {
+               err = cam->vf_stop_sdc(cam);
+               if (err != 0)
+                       return err;
+       }
+
+       if (cam->v4l2_fb.flags == V4L2_FBUF_FLAG_OVERLAY)
+       #ifdef CONFIG_MXC_IPU_PRP_VF_SDC
+               err = prp_vf_sdc_deselect(cam);
+       #else
+               err = foreground_sdc_deselect(cam);
+       #endif
+       else if (cam->v4l2_fb.flags == V4L2_FBUF_FLAG_PRIMARY)
+       #ifdef CONFIG_MXC_IPU_PRP_VF_SDC
+               err = prp_vf_sdc_deselect_bg(cam);
+       #else
+               err = bg_overlay_sdc_deselect(cam);
+       #endif
+
+       return err;
+}
+
+/***************************************************************************
+ * VIDIOC Functions.
+ **************************************************************************/
+
+/*!
+ * V4L2 - mxc_v4l2_g_fmt function
+ *
+ * @param cam         structure cam_data *
+ *
+ * @param f           structure v4l2_format *
+ *
+ * @return  status    0 success, EINVAL failed
+ */
+static int mxc_v4l2_g_fmt(cam_data *cam, struct v4l2_format *f)
+{
+       int retval = 0;
+
+       pr_debug("In MVC: mxc_v4l2_g_fmt type=%d\n", f->type);
+
+       switch (f->type) {
+       case V4L2_BUF_TYPE_VIDEO_CAPTURE:
+               pr_debug("   type is V4L2_BUF_TYPE_VIDEO_CAPTURE\n");
+               f->fmt.pix = cam->v2f.fmt.pix;
+               break;
+       case V4L2_BUF_TYPE_VIDEO_OVERLAY:
+               pr_debug("   type is V4L2_BUF_TYPE_VIDEO_OVERLAY\n");
+               f->fmt.win = cam->win;
+               break;
+       default:
+               pr_debug("   type is invalid\n");
+               retval = -EINVAL;
+       }
+
+       pr_debug("End of %s: v2f pix widthxheight %d x %d\n",
+                __func__,
+                cam->v2f.fmt.pix.width, cam->v2f.fmt.pix.height);
+       pr_debug("End of %s: crop_bounds widthxheight %d x %d\n",
+                __func__,
+                cam->crop_bounds.width, cam->crop_bounds.height);
+       pr_debug("End of %s: crop_defrect widthxheight %d x %d\n",
+                __func__,
+                cam->crop_defrect.width, cam->crop_defrect.height);
+       pr_debug("End of %s: crop_current widthxheight %d x %d\n",
+                __func__,
+                cam->crop_current.width, cam->crop_current.height);
+
+       return retval;
+}
+
+/*!
+ * V4L2 - mxc_v4l2_s_fmt function
+ *
+ * @param cam         structure cam_data *
+ *
+ * @param f           structure v4l2_format *
+ *
+ * @return  status    0 success, EINVAL failed
+ */
+static int mxc_v4l2_s_fmt(cam_data *cam, struct v4l2_format *f)
+{
+       int retval = 0;
+       int size = 0;
+       int bytesperline = 0;
+       int *width, *height;
+
+       pr_debug("In MVC: mxc_v4l2_s_fmt\n");
+
+       switch (f->type) {
+       case V4L2_BUF_TYPE_VIDEO_CAPTURE:
+               pr_debug("   type=V4L2_BUF_TYPE_VIDEO_CAPTURE\n");
+               if (!valid_mode(f->fmt.pix.pixelformat)) {
+                       pr_err("ERROR: v4l2 capture: mxc_v4l2_s_fmt: format "
+                              "not supported\n");
+                       return -EINVAL;
+               }
+
+               /*
+                * Force the capture window resolution to be crop bounds
+                * for CSI MEM input mode.
+                */
+               if (strcmp(mxc_capture_inputs[cam->current_input].name,
+                          "CSI MEM") == 0) {
+                       f->fmt.pix.width = cam->crop_current.width;
+                       f->fmt.pix.height = cam->crop_current.height;
+               }
+
+               if (cam->rotation >= IPU_ROTATE_90_RIGHT) {
+                       height = &f->fmt.pix.width;
+                       width = &f->fmt.pix.height;
+               } else {
+                       width = &f->fmt.pix.width;
+                       height = &f->fmt.pix.height;
+               }
+
+               /* stride line limitation */
+               *width -= *width % 8;
+               *height -= *height % 8;
+
+               if (*width == 0 || *height == 0) {
+                       pr_err("ERROR: v4l2 capture: width or height"
+                               " too small.\n");
+                       return -EINVAL;
+               }
+
+               if ((cam->crop_current.width / *width > 8) ||
+                   ((cam->crop_current.width / *width == 8) &&
+                    (cam->crop_current.width % *width))) {
+                       *width = cam->crop_current.width / 8;
+                       if (*width % 8)
+                               *width += 8 - *width % 8;
+                       pr_err("ERROR: v4l2 capture: width exceeds limit "
+                               "resize to %d.\n",
+                              *width);
+               }
+
+               if ((cam->crop_current.height / *height > 8) ||
+                   ((cam->crop_current.height / *height == 8) &&
+                    (cam->crop_current.height % *height))) {
+                       *height = cam->crop_current.height / 8;
+                       if (*height % 8)
+                               *height += 8 - *height % 8;
+                       pr_err("ERROR: v4l2 capture: height exceeds limit "
+                              "resize to %d.\n",
+                              *height);
+               }
+
+               switch (f->fmt.pix.pixelformat) {
+               case V4L2_PIX_FMT_RGB565:
+                       size = f->fmt.pix.width * f->fmt.pix.height * 2;
+                       bytesperline = f->fmt.pix.width * 2;
+                       break;
+               case V4L2_PIX_FMT_BGR24:
+                       size = f->fmt.pix.width * f->fmt.pix.height * 3;
+                       bytesperline = f->fmt.pix.width * 3;
+                       break;
+               case V4L2_PIX_FMT_RGB24:
+                       size = f->fmt.pix.width * f->fmt.pix.height * 3;
+                       bytesperline = f->fmt.pix.width * 3;
+                       break;
+               case V4L2_PIX_FMT_BGR32:
+                       size = f->fmt.pix.width * f->fmt.pix.height * 4;
+                       bytesperline = f->fmt.pix.width * 4;
+                       break;
+               case V4L2_PIX_FMT_RGB32:
+                       size = f->fmt.pix.width * f->fmt.pix.height * 4;
+                       bytesperline = f->fmt.pix.width * 4;
+                       break;
+               case V4L2_PIX_FMT_YUV422P:
+                       size = f->fmt.pix.width * f->fmt.pix.height * 2;
+                       bytesperline = f->fmt.pix.width;
+                       break;
+               case V4L2_PIX_FMT_UYVY:
+               case V4L2_PIX_FMT_YUYV:
+                       size = f->fmt.pix.width * f->fmt.pix.height * 2;
+                       bytesperline = f->fmt.pix.width * 2;
+                       break;
+               case V4L2_PIX_FMT_YUV420:
+               case V4L2_PIX_FMT_YVU420:
+                       size = f->fmt.pix.width * f->fmt.pix.height * 3 / 2;
+                       bytesperline = f->fmt.pix.width;
+                       break;
+               case V4L2_PIX_FMT_NV12:
+                       size = f->fmt.pix.width * f->fmt.pix.height * 3 / 2;
+                       bytesperline = f->fmt.pix.width;
+                       break;
+               default:
+                       break;
+               }
+
+               if (f->fmt.pix.bytesperline < bytesperline)
+                       f->fmt.pix.bytesperline = bytesperline;
+               else
+                       bytesperline = f->fmt.pix.bytesperline;
+
+               if (f->fmt.pix.sizeimage < size)
+                       f->fmt.pix.sizeimage = size;
+               else
+                       size = f->fmt.pix.sizeimage;
+
+               cam->v2f.fmt.pix = f->fmt.pix;
+
+               if (cam->v2f.fmt.pix.priv != 0) {
+                       if (copy_from_user(&cam->offset,
+                                          (void *)cam->v2f.fmt.pix.priv,
+                                          sizeof(cam->offset))) {
+                               retval = -EFAULT;
+                               break;
+                       }
+               }
+               break;
+       case V4L2_BUF_TYPE_VIDEO_OVERLAY:
+               pr_debug("   type=V4L2_BUF_TYPE_VIDEO_OVERLAY\n");
+               retval = verify_preview(cam, &f->fmt.win);
+               cam->win = f->fmt.win;
+               break;
+       default:
+               retval = -EINVAL;
+       }
+
+       pr_debug("End of %s: v2f pix widthxheight %d x %d\n",
+                __func__,
+                cam->v2f.fmt.pix.width, cam->v2f.fmt.pix.height);
+       pr_debug("End of %s: crop_bounds widthxheight %d x %d\n",
+                __func__,
+                cam->crop_bounds.width, cam->crop_bounds.height);
+       pr_debug("End of %s: crop_defrect widthxheight %d x %d\n",
+                __func__,
+                cam->crop_defrect.width, cam->crop_defrect.height);
+       pr_debug("End of %s: crop_current widthxheight %d x %d\n",
+                __func__,
+                cam->crop_current.width, cam->crop_current.height);
+
+       return retval;
+}
+
+/*!
+ * get control param
+ *
+ * @param cam         structure cam_data *
+ *
+ * @param c           structure v4l2_control *
+ *
+ * @return  status    0 success, EINVAL failed
+ */
+static int mxc_v4l2_g_ctrl(cam_data *cam, struct v4l2_control *c)
+{
+       int status = 0;
+
+       pr_debug("In MVC:mxc_v4l2_g_ctrl\n");
+
+       /* probably don't need to store the values that can be retrieved,
+        * locally, but they are for now. */
+       switch (c->id) {
+       case V4L2_CID_HFLIP:
+               /* This is handled in the ipu. */
+               if (cam->rotation == IPU_ROTATE_HORIZ_FLIP)
+                       c->value = 1;
+               break;
+       case V4L2_CID_VFLIP:
+               /* This is handled in the ipu. */
+               if (cam->rotation == IPU_ROTATE_VERT_FLIP)
+                       c->value = 1;
+               break;
+       case V4L2_CID_MXC_ROT:
+               /* This is handled in the ipu. */
+               c->value = cam->rotation;
+               break;
+       case V4L2_CID_BRIGHTNESS:
+               if (cam->sensor) {
+                       c->value = cam->bright;
+                       status = vidioc_int_g_ctrl(cam->sensor, c);
+                       cam->bright = c->value;
+               } else {
+                       pr_err("ERROR: v4l2 capture: slave not found!\n");
+                       status = -ENODEV;
+               }
+               break;
+       case V4L2_CID_HUE:
+               if (cam->sensor) {
+                       c->value = cam->hue;
+                       status = vidioc_int_g_ctrl(cam->sensor, c);
+                       cam->hue = c->value;
+               } else {
+                       pr_err("ERROR: v4l2 capture: slave not found!\n");
+                       status = -ENODEV;
+               }
+               break;
+       case V4L2_CID_CONTRAST:
+               if (cam->sensor) {
+                       c->value = cam->contrast;
+                       status = vidioc_int_g_ctrl(cam->sensor, c);
+                       cam->contrast = c->value;
+               } else {
+                       pr_err("ERROR: v4l2 capture: slave not found!\n");
+                       status = -ENODEV;
+               }
+               break;
+       case V4L2_CID_SATURATION:
+               if (cam->sensor) {
+                       c->value = cam->saturation;
+                       status = vidioc_int_g_ctrl(cam->sensor, c);
+                       cam->saturation = c->value;
+               } else {
+                       pr_err("ERROR: v4l2 capture: slave not found!\n");
+                       status = -ENODEV;
+               }
+               break;
+       case V4L2_CID_RED_BALANCE:
+               if (cam->sensor) {
+                       c->value = cam->red;
+                       status = vidioc_int_g_ctrl(cam->sensor, c);
+                       cam->red = c->value;
+               } else {
+                       pr_err("ERROR: v4l2 capture: slave not found!\n");
+                       status = -ENODEV;
+               }
+               break;
+       case V4L2_CID_BLUE_BALANCE:
+               if (cam->sensor) {
+                       c->value = cam->blue;
+                       status = vidioc_int_g_ctrl(cam->sensor, c);
+                       cam->blue = c->value;
+               } else {
+                       pr_err("ERROR: v4l2 capture: slave not found!\n");
+                       status = -ENODEV;
+               }
+               break;
+       case V4L2_CID_BLACK_LEVEL:
+               if (cam->sensor) {
+                       c->value = cam->ae_mode;
+                       status = vidioc_int_g_ctrl(cam->sensor, c);
+                       cam->ae_mode = c->value;
+               } else {
+                       pr_err("ERROR: v4l2 capture: slave not found!\n");
+                       status = -ENODEV;
+               }
+               break;
+       default:
+               pr_err("ERROR: v4l2 capture: unsupported ioctrl!\n");
+       }
+
+       return status;
+}
+
+/*!
+ * V4L2 - set_control function
+ *          V4L2_CID_PRIVATE_BASE is the extention for IPU preprocessing.
+ *          0 for normal operation
+ *          1 for vertical flip
+ *          2 for horizontal flip
+ *          3 for horizontal and vertical flip
+ *          4 for 90 degree rotation
+ * @param cam         structure cam_data *
+ *
+ * @param c           structure v4l2_control *
+ *
+ * @return  status    0 success, EINVAL failed
+ */
+static int mxc_v4l2_s_ctrl(cam_data *cam, struct v4l2_control *c)
+{
+       int i, ret = 0;
+       int tmp_rotation = IPU_ROTATE_NONE;
+       struct sensor_data *sensor_data;
+
+       pr_debug("In MVC:mxc_v4l2_s_ctrl\n");
+
+       switch (c->id) {
+       case V4L2_CID_HFLIP:
+               /* This is done by the IPU */
+               if (c->value == 1) {
+                       if ((cam->rotation != IPU_ROTATE_VERT_FLIP) &&
+                           (cam->rotation != IPU_ROTATE_180))
+                               cam->rotation = IPU_ROTATE_HORIZ_FLIP;
+                       else
+                               cam->rotation = IPU_ROTATE_180;
+               } else {
+                       if (cam->rotation == IPU_ROTATE_HORIZ_FLIP)
+                               cam->rotation = IPU_ROTATE_NONE;
+                       if (cam->rotation == IPU_ROTATE_180)
+                               cam->rotation = IPU_ROTATE_VERT_FLIP;
+               }
+               break;
+       case V4L2_CID_VFLIP:
+               /* This is done by the IPU */
+               if (c->value == 1) {
+                       if ((cam->rotation != IPU_ROTATE_HORIZ_FLIP) &&
+                           (cam->rotation != IPU_ROTATE_180))
+                               cam->rotation = IPU_ROTATE_VERT_FLIP;
+                       else
+                               cam->rotation = IPU_ROTATE_180;
+               } else {
+                       if (cam->rotation == IPU_ROTATE_VERT_FLIP)
+                               cam->rotation = IPU_ROTATE_NONE;
+                       if (cam->rotation == IPU_ROTATE_180)
+                               cam->rotation = IPU_ROTATE_HORIZ_FLIP;
+               }
+               break;
+       case V4L2_CID_MXC_ROT:
+       case V4L2_CID_MXC_VF_ROT:
+               /* This is done by the IPU */
+               switch (c->value) {
+               case V4L2_MXC_ROTATE_NONE:
+                       tmp_rotation = IPU_ROTATE_NONE;
+                       break;
+               case V4L2_MXC_ROTATE_VERT_FLIP:
+                       tmp_rotation = IPU_ROTATE_VERT_FLIP;
+                       break;
+               case V4L2_MXC_ROTATE_HORIZ_FLIP:
+                       tmp_rotation = IPU_ROTATE_HORIZ_FLIP;
+                       break;
+               case V4L2_MXC_ROTATE_180:
+                       tmp_rotation = IPU_ROTATE_180;
+                       break;
+               case V4L2_MXC_ROTATE_90_RIGHT:
+                       tmp_rotation = IPU_ROTATE_90_RIGHT;
+                       break;
+               case V4L2_MXC_ROTATE_90_RIGHT_VFLIP:
+                       tmp_rotation = IPU_ROTATE_90_RIGHT_VFLIP;
+                       break;
+               case V4L2_MXC_ROTATE_90_RIGHT_HFLIP:
+                       tmp_rotation = IPU_ROTATE_90_RIGHT_HFLIP;
+                       break;
+               case V4L2_MXC_ROTATE_90_LEFT:
+                       tmp_rotation = IPU_ROTATE_90_LEFT;
+                       break;
+               default:
+                       ret = -EINVAL;
+               }
+               #ifdef CONFIG_MXC_IPU_PRP_VF_SDC
+               if (c->id == V4L2_CID_MXC_VF_ROT)
+                       cam->vf_rotation = tmp_rotation;
+               else
+                       cam->rotation = tmp_rotation;
+               #else
+                       cam->rotation = tmp_rotation;
+               #endif
+
+               break;
+       case V4L2_CID_HUE:
+               if (cam->sensor) {
+                       cam->hue = c->value;
+                       ret = vidioc_int_s_ctrl(cam->sensor, c);
+               } else {
+                       pr_err("ERROR: v4l2 capture: slave not found!\n");
+                       ret = -ENODEV;
+               }
+               break;
+       case V4L2_CID_CONTRAST:
+               if (cam->sensor) {
+                       cam->contrast = c->value;
+                       ret = vidioc_int_s_ctrl(cam->sensor, c);
+               } else {
+                       pr_err("ERROR: v4l2 capture: slave not found!\n");
+                       ret = -ENODEV;
+               }
+               break;
+       case V4L2_CID_BRIGHTNESS:
+               if (cam->sensor) {
+                       cam->bright = c->value;
+                       ret = vidioc_int_s_ctrl(cam->sensor, c);
+               } else {
+                       pr_err("ERROR: v4l2 capture: slave not found!\n");
+                       ret = -ENODEV;
+               }
+               break;
+       case V4L2_CID_SATURATION:
+               if (cam->sensor) {
+                       cam->saturation = c->value;
+                       ret = vidioc_int_s_ctrl(cam->sensor, c);
+               } else {
+                       pr_err("ERROR: v4l2 capture: slave not found!\n");
+                       ret = -ENODEV;
+               }
+               break;
+       case V4L2_CID_RED_BALANCE:
+               if (cam->sensor) {
+                       cam->red = c->value;
+                       ret = vidioc_int_s_ctrl(cam->sensor, c);
+               } else {
+                       pr_err("ERROR: v4l2 capture: slave not found!\n");
+                       ret = -ENODEV;
+               }
+               break;
+       case V4L2_CID_BLUE_BALANCE:
+               if (cam->sensor) {
+                       cam->blue = c->value;
+                       ret = vidioc_int_s_ctrl(cam->sensor, c);
+               } else {
+                       pr_err("ERROR: v4l2 capture: slave not found!\n");
+                       ret = -ENODEV;
+               }
+               break;
+       case V4L2_CID_EXPOSURE:
+               if (cam->sensor) {
+                       cam->ae_mode = c->value;
+                       ret = vidioc_int_s_ctrl(cam->sensor, c);
+               } else {
+                       pr_err("ERROR: v4l2 capture: slave not found!\n");
+                       ret = -ENODEV;
+               }
+               break;
+       case V4L2_CID_MXC_FLASH:
+#ifdef CONFIG_MXC_IPU_V1
+               ipu_csi_flash_strobe(true);
+#endif
+               break;
+       case V4L2_CID_MXC_SWITCH_CAM:
+               if (cam->sensor == cam->all_sensors[c->value])
+                       break;
+
+               /* power down other cameraes before enable new one */
+               for (i = 0; i < cam->sensor_index; i++) {
+                       if (i != c->value) {
+                               vidioc_int_dev_exit(cam->all_sensors[i]);
+                               vidioc_int_s_power(cam->all_sensors[i], 0);
+                               if (cam->mclk_on[cam->mclk_source]) {
+                                       ipu_csi_enable_mclk_if(cam->ipu,
+                                                       CSI_MCLK_I2C,
+                                                       cam->mclk_source,
+                                                       false, false);
+                                       cam->mclk_on[cam->mclk_source] =
+                                                               false;
+                               }
+                       }
+               }
+               sensor_data = cam->all_sensors[c->value]->priv;
+               if (sensor_data->io_init)
+                       sensor_data->io_init();
+               cam->sensor = cam->all_sensors[c->value];
+               cam->mclk_source = sensor_data->mclk_source;
+               ipu_csi_enable_mclk_if(cam->ipu, CSI_MCLK_I2C,
+                                      cam->mclk_source, true, true);
+               cam->mclk_on[cam->mclk_source] = true;
+               vidioc_int_s_power(cam->sensor, 1);
+               vidioc_int_dev_init(cam->sensor);
+               break;
+       default:
+               pr_debug("   default case\n");
+               ret = -EINVAL;
+               break;
+       }
+
+       return ret;
+}
+
+/*!
+ * V4L2 - mxc_v4l2_s_param function
+ * Allows setting of capturemode and frame rate.
+ *
+ * @param cam         structure cam_data *
+ * @param parm        structure v4l2_streamparm *
+ *
+ * @return  status    0 success, EINVAL failed
+ */
+static int mxc_v4l2_s_param(cam_data *cam, struct v4l2_streamparm *parm)
+{
+       struct v4l2_ifparm ifparm;
+       struct v4l2_format cam_fmt;
+       struct v4l2_streamparm currentparm;
+       ipu_csi_signal_cfg_t csi_param;
+       u32 current_fps, parm_fps;
+       int err = 0;
+
+       pr_debug("In mxc_v4l2_s_param\n");
+
+       if (parm->type != V4L2_BUF_TYPE_VIDEO_CAPTURE) {
+               pr_err(KERN_ERR "mxc_v4l2_s_param invalid type\n");
+               return -EINVAL;
+       }
+
+       /* Stop the viewfinder */
+       if (cam->overlay_on == true)
+               stop_preview(cam);
+
+       currentparm.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
+
+       /* First check that this device can support the changes requested. */
+       err = vidioc_int_g_parm(cam->sensor, &currentparm);
+       if (err) {
+               pr_err("%s: vidioc_int_g_parm returned an error %d\n",
+                       __func__, err);
+               goto exit;
+       }
+
+       current_fps = currentparm.parm.capture.timeperframe.denominator
+                       / currentparm.parm.capture.timeperframe.numerator;
+       parm_fps = parm->parm.capture.timeperframe.denominator
+                       / parm->parm.capture.timeperframe.numerator;
+
+       pr_debug("   Current capabilities are %x\n",
+                       currentparm.parm.capture.capability);
+       pr_debug("   Current capturemode is %d  change to %d\n",
+                       currentparm.parm.capture.capturemode,
+                       parm->parm.capture.capturemode);
+       pr_debug("   Current framerate is %d  change to %d\n",
+                       current_fps, parm_fps);
+
+       /* This will change any camera settings needed. */
+       err = vidioc_int_s_parm(cam->sensor, parm);
+       if (err) {
+               pr_err("%s: vidioc_int_s_parm returned an error %d\n",
+                       __func__, err);
+               goto exit;
+       }
+
+       /* If resolution changed, need to re-program the CSI */
+       /* Get new values. */
+       vidioc_int_g_ifparm(cam->sensor, &ifparm);
+
+       csi_param.data_width = 0;
+       csi_param.clk_mode = 0;
+       csi_param.ext_vsync = 0;
+       csi_param.Vsync_pol = 0;
+       csi_param.Hsync_pol = 0;
+       csi_param.pixclk_pol = 0;
+       csi_param.data_pol = 0;
+       csi_param.sens_clksrc = 0;
+       csi_param.pack_tight = 0;
+       csi_param.force_eof = 0;
+       csi_param.data_en_pol = 0;
+       csi_param.data_fmt = 0;
+       csi_param.csi = cam->csi;
+       csi_param.mclk = 0;
+
+       pr_debug("   clock_curr=mclk=%d\n", ifparm.u.bt656.clock_curr);
+       if (ifparm.u.bt656.clock_curr == 0)
+               csi_param.clk_mode = IPU_CSI_CLK_MODE_CCIR656_INTERLACED;
+       else
+               csi_param.clk_mode = IPU_CSI_CLK_MODE_GATED_CLK;
+
+       csi_param.pixclk_pol = ifparm.u.bt656.latch_clk_inv;
+
+       if (ifparm.u.bt656.mode == V4L2_IF_TYPE_BT656_MODE_NOBT_8BIT) {
+               csi_param.data_width = IPU_CSI_DATA_WIDTH_8;
+       } else if (ifparm.u.bt656.mode
+                               == V4L2_IF_TYPE_BT656_MODE_NOBT_10BIT) {
+               csi_param.data_width = IPU_CSI_DATA_WIDTH_10;
+       } else {
+               csi_param.data_width = IPU_CSI_DATA_WIDTH_8;
+       }
+
+       csi_param.Vsync_pol = ifparm.u.bt656.nobt_vs_inv;
+       csi_param.Hsync_pol = ifparm.u.bt656.nobt_hs_inv;
+       csi_param.ext_vsync = ifparm.u.bt656.bt_sync_correct;
+
+       /* if the capturemode changed, the size bounds will have changed. */
+       cam_fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
+       vidioc_int_g_fmt_cap(cam->sensor, &cam_fmt);
+       pr_debug("   g_fmt_cap returns widthxheight of input as %d x %d\n",
+                       cam_fmt.fmt.pix.width, cam_fmt.fmt.pix.height);
+
+       csi_param.data_fmt = cam_fmt.fmt.pix.pixelformat;
+
+       cam->crop_bounds.top = cam->crop_bounds.left = 0;
+       cam->crop_bounds.width = cam_fmt.fmt.pix.width;
+       cam->crop_bounds.height = cam_fmt.fmt.pix.height;
+
+       /*
+        * Set the default current cropped resolution to be the same with
+        * the cropping boundary(except for tvin module).
+        */
+       if (cam->device_type != 1) {
+               cam->crop_current.width = cam->crop_bounds.width;
+               cam->crop_current.height = cam->crop_bounds.height;
+       }
+
+       /* This essentially loses the data at the left and bottom of the image
+        * giving a digital zoom image, if crop_current is less than the full
+        * size of the image. */
+       ipu_csi_set_window_size(cam->ipu, cam->crop_current.width,
+                               cam->crop_current.height, cam->csi);
+       ipu_csi_set_window_pos(cam->ipu, cam->crop_current.left,
+                              cam->crop_current.top,
+                              cam->csi);
+       ipu_csi_init_interface(cam->ipu, cam->crop_bounds.width,
+                              cam->crop_bounds.height,
+                              cam_fmt.fmt.pix.pixelformat, csi_param);
+
+
+exit:
+       if (cam->overlay_on == true)
+               start_preview(cam);
+
+       return err;
+}
+
+/*!
+ * V4L2 - mxc_v4l2_s_std function
+ *
+ * Sets the TV standard to be used.
+ *
+ * @param cam        structure cam_data *
+ * @param parm       structure v4l2_streamparm *
+ *
+ * @return  status    0 success, EINVAL failed
+ */
+static int mxc_v4l2_s_std(cam_data *cam, v4l2_std_id e)
+{
+       pr_debug("In mxc_v4l2_s_std %Lx\n", e);
+
+       if (e == V4L2_STD_PAL) {
+               pr_debug("   Setting standard to PAL %Lx\n", V4L2_STD_PAL);
+               cam->standard.id = V4L2_STD_PAL;
+               video_index = TV_PAL;
+       } else if (e == V4L2_STD_NTSC) {
+               pr_debug("   Setting standard to NTSC %Lx\n",
+                               V4L2_STD_NTSC);
+               /* Get rid of the white dot line in NTSC signal input */
+               cam->standard.id = V4L2_STD_NTSC;
+               video_index = TV_NTSC;
+       } else {
+               cam->standard.id = V4L2_STD_ALL;
+               video_index = TV_NOT_LOCKED;
+               pr_err("ERROR: unrecognized std! %Lx (PAL=%Lx, NTSC=%Lx\n",
+                       e, V4L2_STD_PAL, V4L2_STD_NTSC);
+       }
+
+       cam->standard.index = video_index;
+       strcpy(cam->standard.name, video_fmts[video_index].name);
+       cam->crop_bounds.width = video_fmts[video_index].raw_width;
+       cam->crop_bounds.height = video_fmts[video_index].raw_height;
+       cam->crop_current.width = video_fmts[video_index].active_width;
+       cam->crop_current.height = video_fmts[video_index].active_height;
+       cam->crop_current.top = video_fmts[video_index].active_top;
+       cam->crop_current.left = video_fmts[video_index].active_left;
+
+       return 0;
+}
+
+/*!
+ * V4L2 - mxc_v4l2_g_std function
+ *
+ * Gets the TV standard from the TV input device.
+ *
+ * @param cam        structure cam_data *
+ *
+ * @param e          structure v4l2_streamparm *
+ *
+ * @return  status    0 success, EINVAL failed
+ */
+static int mxc_v4l2_g_std(cam_data *cam, v4l2_std_id *e)
+{
+       struct v4l2_format tv_fmt;
+
+       pr_debug("In mxc_v4l2_g_std\n");
+
+       if (cam->device_type == 1) {
+               /* Use this function to get what the TV-In device detects the
+                * format to be. pixelformat is used to return the std value
+                * since the interface has no vidioc_g_std.*/
+               tv_fmt.type = V4L2_BUF_TYPE_PRIVATE;
+               vidioc_int_g_fmt_cap(cam->sensor, &tv_fmt);
+
+               /* If the TV-in automatically detects the standard, then if it
+                * changes, the settings need to change. */
+               if (cam->standard_autodetect) {
+                       if (cam->standard.id != tv_fmt.fmt.pix.pixelformat) {
+                               pr_debug("MVC: mxc_v4l2_g_std: "
+                                       "Changing standard\n");
+                               mxc_v4l2_s_std(cam, tv_fmt.fmt.pix.pixelformat);
+                       }
+               }
+
+               *e = tv_fmt.fmt.pix.pixelformat;
+       }
+
+       return 0;
+}
+
+/*!
+ * Dequeue one V4L capture buffer
+ *
+ * @param cam         structure cam_data *
+ * @param buf         structure v4l2_buffer *
+ *
+ * @return  status    0 success, EINVAL invalid frame number,
+ *                    ETIME timeout, ERESTARTSYS interrupted by user
+ */
+static int mxc_v4l_dqueue(cam_data *cam, struct v4l2_buffer *buf)
+{
+       int retval = 0;
+       struct mxc_v4l_frame *frame;
+       unsigned long lock_flags;
+
+       pr_debug("In MVC:mxc_v4l_dqueue\n");
+
+       if (!wait_event_interruptible_timeout(cam->enc_queue,
+                                             cam->enc_counter != 0, 10 * HZ)) {
+               pr_err("ERROR: v4l2 capture: mxc_v4l_dqueue timeout "
+                       "enc_counter %x\n",
+                      cam->enc_counter);
+               return -ETIME;
+       } else if (signal_pending(current)) {
+               pr_err("ERROR: v4l2 capture: mxc_v4l_dqueue() "
+                       "interrupt received\n");
+               return -ERESTARTSYS;
+       }
+
+       if (down_interruptible(&cam->busy_lock))
+               return -EBUSY;
+
+       spin_lock_irqsave(&cam->dqueue_int_lock, lock_flags);
+       cam->enc_counter--;
+
+       frame = list_entry(cam->done_q.next, struct mxc_v4l_frame, queue);
+       list_del(cam->done_q.next);
+       if (frame->buffer.flags & V4L2_BUF_FLAG_DONE) {
+               frame->buffer.flags &= ~V4L2_BUF_FLAG_DONE;
+       } else if (frame->buffer.flags & V4L2_BUF_FLAG_QUEUED) {
+               pr_err("ERROR: v4l2 capture: VIDIOC_DQBUF: "
+                       "Buffer not filled.\n");
+               frame->buffer.flags &= ~V4L2_BUF_FLAG_QUEUED;
+               retval = -EINVAL;
+       } else if ((frame->buffer.flags & 0x7) == V4L2_BUF_FLAG_MAPPED) {
+               pr_err("ERROR: v4l2 capture: VIDIOC_DQBUF: "
+                       "Buffer not queued.\n");
+               retval = -EINVAL;
+       }
+
+       cam->frame[frame->index].buffer.field = cam->device_type ?
+                               V4L2_FIELD_INTERLACED : V4L2_FIELD_NONE;
+
+       buf->bytesused = cam->v2f.fmt.pix.sizeimage;
+       buf->index = frame->index;
+       buf->flags = frame->buffer.flags;
+       buf->m = cam->frame[frame->index].buffer.m;
+       buf->timestamp = cam->frame[frame->index].buffer.timestamp;
+       buf->field = cam->frame[frame->index].buffer.field;
+       spin_unlock_irqrestore(&cam->dqueue_int_lock, lock_flags);
+
+       up(&cam->busy_lock);
+       return retval;
+}
+
+/*!
+ * V4L interface - open function
+ *
+ * @param file         structure file *
+ *
+ * @return  status    0 success, ENODEV invalid device instance,
+ *                    ENODEV timeout, ERESTARTSYS interrupted by user
+ */
+static int mxc_v4l_open(struct file *file)
+{
+       struct v4l2_ifparm ifparm;
+       struct v4l2_format cam_fmt;
+       ipu_csi_signal_cfg_t csi_param;
+       struct video_device *dev = video_devdata(file);
+       cam_data *cam = video_get_drvdata(dev);
+       int err = 0;
+       struct sensor_data *sensor;
+
+       pr_debug("\nIn MVC: mxc_v4l_open\n");
+       pr_debug("   device name is %s\n", dev->name);
+
+       if (!cam) {
+               pr_err("ERROR: v4l2 capture: Internal error, "
+                       "cam_data not found!\n");
+               return -EBADF;
+       }
+
+       if (cam->sensor == NULL ||
+           cam->sensor->type != v4l2_int_type_slave) {
+               pr_err("ERROR: v4l2 capture: slave not found!\n");
+               return -EAGAIN;
+       }
+
+       sensor = cam->sensor->priv;
+       if (!sensor) {
+               pr_err("%s: Internal error, sensor_data is not found!\n", __func__);
+               return -EBADF;
+       }
+
+       down(&cam->busy_lock);
+       err = 0;
+       if (signal_pending(current))
+               goto oops;
+
+       if (cam->open_count++ == 0) {
+               wait_event_interruptible(cam->power_queue,
+                                        cam->low_power == false);
+
+               if (strcmp(mxc_capture_inputs[cam->current_input].name,
+                          "CSI MEM") == 0) {
+#if defined(CONFIG_MXC_IPU_CSI_ENC) || defined(CONFIG_MXC_IPU_CSI_ENC_MODULE)
+                       err = csi_enc_select(cam);
+#endif
+               } else if (strcmp(mxc_capture_inputs[cam->current_input].name,
+                                 "CSI IC MEM") == 0) {
+#if defined(CONFIG_MXC_IPU_PRP_ENC) || defined(CONFIG_MXC_IPU_PRP_ENC_MODULE)
+                       err = prp_enc_select(cam);
+#endif
+               }
+
+               cam->enc_counter = 0;
+               INIT_LIST_HEAD(&cam->ready_q);
+               INIT_LIST_HEAD(&cam->working_q);
+               INIT_LIST_HEAD(&cam->done_q);
+
+               vidioc_int_g_ifparm(cam->sensor, &ifparm);
+
+               csi_param.sens_clksrc = 0;
+
+               csi_param.clk_mode = 0;
+               csi_param.data_pol = 0;
+               csi_param.ext_vsync = 0;
+
+               csi_param.pack_tight = 0;
+               csi_param.force_eof = 0;
+               csi_param.data_en_pol = 0;
+
+               csi_param.mclk = ifparm.u.bt656.clock_curr;
+
+               csi_param.pixclk_pol = ifparm.u.bt656.latch_clk_inv;
+
+               if (ifparm.u.bt656.mode
+                               == V4L2_IF_TYPE_BT656_MODE_NOBT_8BIT)
+                       csi_param.data_width = IPU_CSI_DATA_WIDTH_8;
+               else if (ifparm.u.bt656.mode
+                               == V4L2_IF_TYPE_BT656_MODE_NOBT_10BIT)
+                       csi_param.data_width = IPU_CSI_DATA_WIDTH_10;
+               else
+                       csi_param.data_width = IPU_CSI_DATA_WIDTH_8;
+
+
+               csi_param.Vsync_pol = ifparm.u.bt656.nobt_vs_inv;
+               csi_param.Hsync_pol = ifparm.u.bt656.nobt_hs_inv;
+
+               csi_param.csi = cam->csi;
+
+               cam_fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
+               vidioc_int_g_fmt_cap(cam->sensor, &cam_fmt);
+
+               /* Reset the sizes.  Needed to prevent carryover of last
+                * operation.*/
+               cam->crop_bounds.top = cam->crop_bounds.left = 0;
+               cam->crop_bounds.width = cam_fmt.fmt.pix.width;
+               cam->crop_bounds.height = cam_fmt.fmt.pix.height;
+
+               /* This also is the max crop size for this device. */
+               cam->crop_defrect.top = cam->crop_defrect.left = 0;
+               cam->crop_defrect.width = cam_fmt.fmt.pix.width;
+               cam->crop_defrect.height = cam_fmt.fmt.pix.height;
+
+               /* At this point, this is also the current image size. */
+               cam->crop_current.top = cam->crop_current.left = 0;
+               cam->crop_current.width = cam_fmt.fmt.pix.width;
+               cam->crop_current.height = cam_fmt.fmt.pix.height;
+
+               pr_debug("End of %s: v2f pix widthxheight %d x %d\n",
+                       __func__,
+                       cam->v2f.fmt.pix.width, cam->v2f.fmt.pix.height);
+               pr_debug("End of %s: crop_bounds widthxheight %d x %d\n",
+                       __func__,
+                       cam->crop_bounds.width, cam->crop_bounds.height);
+               pr_debug("End of %s: crop_defrect widthxheight %d x %d\n",
+                       __func__,
+                       cam->crop_defrect.width, cam->crop_defrect.height);
+               pr_debug("End of %s: crop_current widthxheight %d x %d\n",
+                       __func__,
+                       cam->crop_current.width, cam->crop_current.height);
+
+               csi_param.data_fmt = cam_fmt.fmt.pix.pixelformat;
+               pr_debug("On Open: Input to ipu size is %d x %d\n",
+                               cam_fmt.fmt.pix.width, cam_fmt.fmt.pix.height);
+               ipu_csi_set_window_size(cam->ipu, cam->crop_current.width,
+                                       cam->crop_current.height,
+                                       cam->csi);
+               ipu_csi_set_window_pos(cam->ipu, cam->crop_current.left,
+                                       cam->crop_current.top,
+                                       cam->csi);
+               ipu_csi_init_interface(cam->ipu, cam->crop_bounds.width,
+                                       cam->crop_bounds.height,
+                                       cam_fmt.fmt.pix.pixelformat,
+                                       csi_param);
+               clk_prepare_enable(sensor->sensor_clk);
+               vidioc_int_s_power(cam->sensor, 1);
+               vidioc_int_init(cam->sensor);
+               vidioc_int_dev_init(cam->sensor);
+       }
+
+       file->private_data = dev;
+
+oops:
+       up(&cam->busy_lock);
+       return err;
+}
+
+/*!
+ * V4L interface - close function
+ *
+ * @param file     struct file *
+ *
+ * @return         0 success
+ */
+static int mxc_v4l_close(struct file *file)
+{
+       struct video_device *dev = video_devdata(file);
+       int err = 0;
+       cam_data *cam = video_get_drvdata(dev);
+       struct sensor_data *sensor;
+       pr_debug("In MVC:mxc_v4l_close\n");
+
+       if (!cam) {
+               pr_err("ERROR: v4l2 capture: Internal error, "
+                       "cam_data not found!\n");
+               return -EBADF;
+       }
+
+       if (!cam->sensor) {
+               pr_err("%s: Internal error, camera is not found!\n", __func__);
+               return -EBADF;
+       }
+
+       sensor = cam->sensor->priv;
+       if (!sensor) {
+               pr_err("%s: Internal error, sensor_data is not found!\n", __func__);
+               return -EBADF;
+       }
+
+       down(&cam->busy_lock);
+
+       /* for the case somebody hit the ctrl C */
+       if (cam->overlay_pid == current->pid && cam->overlay_on) {
+               err = stop_preview(cam);
+               cam->overlay_on = false;
+       }
+       if (cam->capture_pid == current->pid) {
+               err |= mxc_streamoff(cam);
+               wake_up_interruptible(&cam->enc_queue);
+       }
+
+       if (--cam->open_count == 0) {
+               vidioc_int_s_power(cam->sensor, 0);
+               clk_disable_unprepare(sensor->sensor_clk);
+               wait_event_interruptible(cam->power_queue,
+                                        cam->low_power == false);
+               pr_debug("mxc_v4l_close: release resource\n");
+
+               if (strcmp(mxc_capture_inputs[cam->current_input].name,
+                          "CSI MEM") == 0) {
+#if defined(CONFIG_MXC_IPU_CSI_ENC) || defined(CONFIG_MXC_IPU_CSI_ENC_MODULE)
+                       err |= csi_enc_deselect(cam);
+#endif
+               } else if (strcmp(mxc_capture_inputs[cam->current_input].name,
+                                 "CSI IC MEM") == 0) {
+#if defined(CONFIG_MXC_IPU_PRP_ENC) || defined(CONFIG_MXC_IPU_PRP_ENC_MODULE)
+                       err |= prp_enc_deselect(cam);
+#endif
+               }
+
+               mxc_free_frame_buf(cam);
+               file->private_data = NULL;
+
+               /* capture off */
+               wake_up_interruptible(&cam->enc_queue);
+               mxc_free_frames(cam);
+               cam->enc_counter++;
+       }
+
+       up(&cam->busy_lock);
+
+       return err;
+}
+
+#if defined(CONFIG_MXC_IPU_PRP_ENC) || defined(CONFIG_MXC_IPU_CSI_ENC) || \
+    defined(CONFIG_MXC_IPU_PRP_ENC_MODULE) || \
+    defined(CONFIG_MXC_IPU_CSI_ENC_MODULE)
+/*
+ * V4L interface - read function
+ *
+ * @param file       struct file *
+ * @param read buf   char *
+ * @param count      size_t
+ * @param ppos       structure loff_t *
+ *
+ * @return           bytes read
+ */
+static ssize_t mxc_v4l_read(struct file *file, char *buf, size_t count,
+                           loff_t *ppos)
+{
+       int err = 0;
+       u8 *v_address[2];
+       struct video_device *dev = video_devdata(file);
+       cam_data *cam = video_get_drvdata(dev);
+
+       if (down_interruptible(&cam->busy_lock))
+               return -EINTR;
+
+       /* Stop the viewfinder */
+       if (cam->overlay_on == true)
+               stop_preview(cam);
+
+       v_address[0] = dma_alloc_coherent(0,
+                                      PAGE_ALIGN(cam->v2f.fmt.pix.sizeimage),
+                                      &cam->still_buf[0],
+                                      GFP_DMA | GFP_KERNEL);
+
+       v_address[1] = dma_alloc_coherent(0,
+                                      PAGE_ALIGN(cam->v2f.fmt.pix.sizeimage),
+                                      &cam->still_buf[1],
+                                      GFP_DMA | GFP_KERNEL);
+
+       if (!v_address[0] || !v_address[1]) {
+               err = -ENOBUFS;
+               goto exit0;
+       }
+
+       err = prp_still_select(cam);
+       if (err != 0) {
+               err = -EIO;
+               goto exit0;
+       }
+
+       cam->still_counter = 0;
+       err = cam->csi_start(cam);
+       if (err != 0) {
+               err = -EIO;
+               goto exit1;
+       }
+
+       if (!wait_event_interruptible_timeout(cam->still_queue,
+                                             cam->still_counter != 0,
+                                             10 * HZ)) {
+               pr_err("ERROR: v4l2 capture: mxc_v4l_read timeout counter %x\n",
+                      cam->still_counter);
+               err = -ETIME;
+               goto exit1;
+       }
+       err = copy_to_user(buf, v_address[1], cam->v2f.fmt.pix.sizeimage);
+
+exit1:
+       prp_still_deselect(cam);
+
+exit0:
+       if (v_address[0] != 0)
+               dma_free_coherent(0, cam->v2f.fmt.pix.sizeimage, v_address[0],
+                                 cam->still_buf[0]);
+       if (v_address[1] != 0)
+               dma_free_coherent(0, cam->v2f.fmt.pix.sizeimage, v_address[1],
+                                 cam->still_buf[1]);
+
+       cam->still_buf[0] = cam->still_buf[1] = 0;
+
+       if (cam->overlay_on == true)
+               start_preview(cam);
+
+       up(&cam->busy_lock);
+       if (err < 0)
+               return err;
+
+       return cam->v2f.fmt.pix.sizeimage - err;
+}
+#endif
+
+/*!
+ * V4L interface - ioctl function
+ *
+ * @param file       struct file*
+ *
+ * @param ioctlnr    unsigned int
+ *
+ * @param arg        void*
+ *
+ * @return           0 success, ENODEV for invalid device instance,
+ *                   -1 for other errors.
+ */
+static long mxc_v4l_do_ioctl(struct file *file,
+                           unsigned int ioctlnr, void *arg)
+{
+       struct video_device *dev = video_devdata(file);
+       cam_data *cam = video_get_drvdata(dev);
+       int retval = 0;
+       unsigned long lock_flags;
+
+       pr_debug("In MVC: mxc_v4l_do_ioctl %x\n", ioctlnr);
+       wait_event_interruptible(cam->power_queue, cam->low_power == false);
+       /* make this _really_ smp-safe */
+       if (ioctlnr != VIDIOC_DQBUF)
+               if (down_interruptible(&cam->busy_lock))
+                       return -EBUSY;
+
+       switch (ioctlnr) {
+       /*!
+        * V4l2 VIDIOC_QUERYCAP ioctl
+        */
+       case VIDIOC_QUERYCAP: {
+               struct v4l2_capability *cap = arg;
+               pr_debug("   case VIDIOC_QUERYCAP\n");
+               strcpy(cap->driver, "mxc_v4l2");
+               cap->version = KERNEL_VERSION(0, 1, 11);
+               cap->capabilities = V4L2_CAP_VIDEO_CAPTURE |
+                                   V4L2_CAP_VIDEO_OVERLAY |
+                                   V4L2_CAP_STREAMING |
+                                   V4L2_CAP_READWRITE;
+               cap->card[0] = '\0';
+               cap->bus_info[0] = '\0';
+               break;
+       }
+
+       /*!
+        * V4l2 VIDIOC_G_FMT ioctl
+        */
+       case VIDIOC_G_FMT: {
+               struct v4l2_format *gf = arg;
+               pr_debug("   case VIDIOC_G_FMT\n");
+               retval = mxc_v4l2_g_fmt(cam, gf);
+               break;
+       }
+
+       /*!
+        * V4l2 VIDIOC_S_FMT ioctl
+        */
+       case VIDIOC_S_FMT: {
+               struct v4l2_format *sf = arg;
+               pr_debug("   case VIDIOC_S_FMT\n");
+               retval = mxc_v4l2_s_fmt(cam, sf);
+               break;
+       }
+
+       /*!
+        * V4l2 VIDIOC_REQBUFS ioctl
+        */
+       case VIDIOC_REQBUFS: {
+               struct v4l2_requestbuffers *req = arg;
+               pr_debug("   case VIDIOC_REQBUFS\n");
+
+               if (req->count > FRAME_NUM) {
+                       pr_err("ERROR: v4l2 capture: VIDIOC_REQBUFS: "
+                              "not enough buffers\n");
+                       req->count = FRAME_NUM;
+               }
+
+               if ((req->type != V4L2_BUF_TYPE_VIDEO_CAPTURE)) {
+                       pr_err("ERROR: v4l2 capture: VIDIOC_REQBUFS: "
+                              "wrong buffer type\n");
+                       retval = -EINVAL;
+                       break;
+               }
+
+               mxc_streamoff(cam);
+               if (req->memory & V4L2_MEMORY_MMAP) {
+                       mxc_free_frame_buf(cam);
+                       retval = mxc_allocate_frame_buf(cam, req->count);
+               }
+               break;
+       }
+
+       /*!
+        * V4l2 VIDIOC_QUERYBUF ioctl
+        */
+       case VIDIOC_QUERYBUF: {
+               struct v4l2_buffer *buf = arg;
+               int index = buf->index;
+               pr_debug("   case VIDIOC_QUERYBUF\n");
+
+               if (buf->type != V4L2_BUF_TYPE_VIDEO_CAPTURE) {
+                       pr_err("ERROR: v4l2 capture: "
+                              "VIDIOC_QUERYBUFS: "
+                              "wrong buffer type\n");
+                       retval = -EINVAL;
+                       break;
+               }
+
+               if (buf->memory & V4L2_MEMORY_MMAP) {
+                       memset(buf, 0, sizeof(buf));
+                       buf->index = index;
+               }
+
+               down(&cam->param_lock);
+               if (buf->memory & V4L2_MEMORY_USERPTR) {
+                       mxc_v4l2_release_bufs(cam);
+                       retval = mxc_v4l2_prepare_bufs(cam, buf);
+               }
+
+               if (buf->memory & V4L2_MEMORY_MMAP)
+                       retval = mxc_v4l2_buffer_status(cam, buf);
+               up(&cam->param_lock);
+               break;
+       }
+
+       /*!
+        * V4l2 VIDIOC_QBUF ioctl
+        */
+       case VIDIOC_QBUF: {
+               struct v4l2_buffer *buf = arg;
+               int index = buf->index;
+               pr_debug("   case VIDIOC_QBUF\n");
+
+               spin_lock_irqsave(&cam->queue_int_lock, lock_flags);
+               if ((cam->frame[index].buffer.flags & 0x7) ==
+                   V4L2_BUF_FLAG_MAPPED) {
+                       cam->frame[index].buffer.flags |=
+                           V4L2_BUF_FLAG_QUEUED;
+                       list_add_tail(&cam->frame[index].queue,
+                                     &cam->ready_q);
+               } else if (cam->frame[index].buffer.
+                          flags & V4L2_BUF_FLAG_QUEUED) {
+                       pr_err("ERROR: v4l2 capture: VIDIOC_QBUF: "
+                              "buffer already queued\n");
+                       retval = -EINVAL;
+               } else if (cam->frame[index].buffer.
+                          flags & V4L2_BUF_FLAG_DONE) {
+                       pr_err("ERROR: v4l2 capture: VIDIOC_QBUF: "
+                              "overwrite done buffer.\n");
+                       cam->frame[index].buffer.flags &=
+                           ~V4L2_BUF_FLAG_DONE;
+                       cam->frame[index].buffer.flags |=
+                           V4L2_BUF_FLAG_QUEUED;
+                       retval = -EINVAL;
+               }
+
+               buf->flags = cam->frame[index].buffer.flags;
+               spin_unlock_irqrestore(&cam->queue_int_lock, lock_flags);
+               break;
+       }
+
+       /*!
+        * V4l2 VIDIOC_DQBUF ioctl
+        */
+       case VIDIOC_DQBUF: {
+               struct v4l2_buffer *buf = arg;
+               pr_debug("   case VIDIOC_DQBUF\n");
+
+               if ((cam->enc_counter == 0) &&
+                       (file->f_flags & O_NONBLOCK)) {
+                       retval = -EAGAIN;
+                       break;
+               }
+
+               retval = mxc_v4l_dqueue(cam, buf);
+               break;
+       }
+
+       /*!
+        * V4l2 VIDIOC_STREAMON ioctl
+        */
+       case VIDIOC_STREAMON: {
+               pr_debug("   case VIDIOC_STREAMON\n");
+               retval = mxc_streamon(cam);
+               break;
+       }
+
+       /*!
+        * V4l2 VIDIOC_STREAMOFF ioctl
+        */
+       case VIDIOC_STREAMOFF: {
+               pr_debug("   case VIDIOC_STREAMOFF\n");
+               retval = mxc_streamoff(cam);
+               break;
+       }
+
+       /*!
+        * V4l2 VIDIOC_G_CTRL ioctl
+        */
+       case VIDIOC_G_CTRL: {
+               pr_debug("   case VIDIOC_G_CTRL\n");
+               retval = mxc_v4l2_g_ctrl(cam, arg);
+               break;
+       }
+
+       /*!
+        * V4l2 VIDIOC_S_CTRL ioctl
+        */
+       case VIDIOC_S_CTRL: {
+               pr_debug("   case VIDIOC_S_CTRL\n");
+               retval = mxc_v4l2_s_ctrl(cam, arg);
+               break;
+       }
+
+       /*!
+        * V4l2 VIDIOC_CROPCAP ioctl
+        */
+       case VIDIOC_CROPCAP: {
+               struct v4l2_cropcap *cap = arg;
+               pr_debug("   case VIDIOC_CROPCAP\n");
+               if (cap->type != V4L2_BUF_TYPE_VIDEO_CAPTURE &&
+                   cap->type != V4L2_BUF_TYPE_VIDEO_OVERLAY) {
+                       retval = -EINVAL;
+                       break;
+               }
+               cap->bounds = cam->crop_bounds;
+               cap->defrect = cam->crop_defrect;
+               break;
+       }
+
+       /*!
+        * V4l2 VIDIOC_G_CROP ioctl
+        */
+       case VIDIOC_G_CROP: {
+               struct v4l2_crop *crop = arg;
+               pr_debug("   case VIDIOC_G_CROP\n");
+
+               if (crop->type != V4L2_BUF_TYPE_VIDEO_CAPTURE &&
+                   crop->type != V4L2_BUF_TYPE_VIDEO_OVERLAY) {
+                       retval = -EINVAL;
+                       break;
+               }
+               crop->c = cam->crop_current;
+               break;
+       }
+
+       /*!
+        * V4l2 VIDIOC_S_CROP ioctl
+        */
+       case VIDIOC_S_CROP: {
+               struct v4l2_crop *crop = arg;
+               struct v4l2_rect *b = &cam->crop_bounds;
+               pr_debug("   case VIDIOC_S_CROP\n");
+
+               if (crop->type != V4L2_BUF_TYPE_VIDEO_CAPTURE &&
+                   crop->type != V4L2_BUF_TYPE_VIDEO_OVERLAY) {
+                       retval = -EINVAL;
+                       break;
+               }
+
+               crop->c.top = (crop->c.top < b->top) ? b->top
+                             : crop->c.top;
+               if (crop->c.top > b->top + b->height)
+                       crop->c.top = b->top + b->height - 1;
+               if (crop->c.height > b->top + b->height - crop->c.top)
+                       crop->c.height =
+                               b->top + b->height - crop->c.top;
+
+               crop->c.left = (crop->c.left < b->left) ? b->left
+                   : crop->c.left;
+               if (crop->c.left > b->left + b->width)
+                       crop->c.left = b->left + b->width - 1;
+               if (crop->c.width > b->left - crop->c.left + b->width)
+                       crop->c.width =
+                               b->left - crop->c.left + b->width;
+
+               crop->c.width -= crop->c.width % 8;
+               crop->c.left -= crop->c.left % 4;
+               cam->crop_current = crop->c;
+
+               pr_debug("   Cropping Input to ipu size %d x %d\n",
+                               cam->crop_current.width,
+                               cam->crop_current.height);
+               ipu_csi_set_window_size(cam->ipu, cam->crop_current.width,
+                                       cam->crop_current.height,
+                                       cam->csi);
+               ipu_csi_set_window_pos(cam->ipu, cam->crop_current.left,
+                                      cam->crop_current.top,
+                                      cam->csi);
+               break;
+       }
+
+       /*!
+        * V4l2 VIDIOC_OVERLAY ioctl
+        */
+       case VIDIOC_OVERLAY: {
+               int *on = arg;
+               pr_debug("   VIDIOC_OVERLAY on=%d\n", *on);
+               if (*on) {
+                       cam->overlay_on = true;
+                       cam->overlay_pid = current->pid;
+                       retval = start_preview(cam);
+               }
+               if (!*on) {
+                       retval = stop_preview(cam);
+                       cam->overlay_on = false;
+               }
+               break;
+       }
+
+       /*!
+        * V4l2 VIDIOC_G_FBUF ioctl
+        */
+       case VIDIOC_G_FBUF: {
+               struct v4l2_framebuffer *fb = arg;
+               pr_debug("   case VIDIOC_G_FBUF\n");
+               *fb = cam->v4l2_fb;
+               fb->capability = V4L2_FBUF_CAP_EXTERNOVERLAY;
+               break;
+       }
+
+       /*!
+        * V4l2 VIDIOC_S_FBUF ioctl
+        */
+       case VIDIOC_S_FBUF: {
+               struct v4l2_framebuffer *fb = arg;
+               pr_debug("   case VIDIOC_S_FBUF\n");
+               cam->v4l2_fb = *fb;
+               break;
+       }
+
+       case VIDIOC_G_PARM: {
+               struct v4l2_streamparm *parm = arg;
+               pr_debug("   case VIDIOC_G_PARM\n");
+               if (cam->sensor)
+                       retval = vidioc_int_g_parm(cam->sensor, parm);
+               else {
+                       pr_err("ERROR: v4l2 capture: slave not found!\n");
+                       retval = -ENODEV;
+               }
+               break;
+       }
+
+       case VIDIOC_S_PARM:  {
+               struct v4l2_streamparm *parm = arg;
+               pr_debug("   case VIDIOC_S_PARM\n");
+               if (cam->sensor)
+                       retval = mxc_v4l2_s_param(cam, parm);
+               else {
+                       pr_err("ERROR: v4l2 capture: slave not found!\n");
+                       retval = -ENODEV;
+               }
+               break;
+       }
+
+       /* linux v4l2 bug, kernel c0485619 user c0405619 */
+       case VIDIOC_ENUMSTD: {
+               struct v4l2_standard *e = arg;
+               pr_debug("   case VIDIOC_ENUMSTD\n");
+               *e = cam->standard;
+               break;
+       }
+
+       case VIDIOC_G_STD: {
+               v4l2_std_id *e = arg;
+               pr_debug("   case VIDIOC_G_STD\n");
+               if (cam->sensor)
+                       retval = mxc_v4l2_g_std(cam, e);
+               else {
+                       pr_err("ERROR: v4l2 capture: slave not found!\n");
+                       retval = -ENODEV;
+               }
+               break;
+       }
+
+       case VIDIOC_S_STD: {
+               v4l2_std_id *e = arg;
+               pr_debug("   case VIDIOC_S_STD\n");
+               retval = mxc_v4l2_s_std(cam, *e);
+
+               break;
+       }
+
+       case VIDIOC_ENUMOUTPUT: {
+               struct v4l2_output *output = arg;
+               pr_debug("   case VIDIOC_ENUMOUTPUT\n");
+               if (output->index >= MXC_V4L2_CAPTURE_NUM_OUTPUTS) {
+                       retval = -EINVAL;
+                       break;
+               }
+               *output = mxc_capture_outputs[output->index];
+
+               break;
+       }
+       case VIDIOC_G_OUTPUT: {
+               int *p_output_num = arg;
+               pr_debug("   case VIDIOC_G_OUTPUT\n");
+               *p_output_num = cam->output;
+               break;
+       }
+
+       case VIDIOC_S_OUTPUT: {
+               int *p_output_num = arg;
+               pr_debug("   case VIDIOC_S_OUTPUT\n");
+               if (*p_output_num >= MXC_V4L2_CAPTURE_NUM_OUTPUTS) {
+                       retval = -EINVAL;
+                       break;
+               }
+               cam->output = *p_output_num;
+               break;
+       }
+
+       case VIDIOC_ENUMINPUT: {
+               struct v4l2_input *input = arg;
+               pr_debug("   case VIDIOC_ENUMINPUT\n");
+               if (input->index >= MXC_V4L2_CAPTURE_NUM_INPUTS) {
+                       retval = -EINVAL;
+                       break;
+               }
+               *input = mxc_capture_inputs[input->index];
+               break;
+       }
+
+       case VIDIOC_G_INPUT: {
+               int *index = arg;
+               pr_debug("   case VIDIOC_G_INPUT\n");
+               *index = cam->current_input;
+               break;
+       }
+
+       case VIDIOC_S_INPUT: {
+               int *index = arg;
+               pr_debug("   case VIDIOC_S_INPUT\n");
+               if (*index >= MXC_V4L2_CAPTURE_NUM_INPUTS) {
+                       retval = -EINVAL;
+                       break;
+               }
+
+               if (*index == cam->current_input)
+                       break;
+
+               if ((mxc_capture_inputs[cam->current_input].status &
+                   V4L2_IN_ST_NO_POWER) == 0) {
+                       retval = mxc_streamoff(cam);
+                       if (retval)
+                               break;
+                       mxc_capture_inputs[cam->current_input].status |=
+                                                       V4L2_IN_ST_NO_POWER;
+               }
+
+               if (strcmp(mxc_capture_inputs[*index].name, "CSI MEM") == 0) {
+#if defined(CONFIG_MXC_IPU_CSI_ENC) || defined(CONFIG_MXC_IPU_CSI_ENC_MODULE)
+                       retval = csi_enc_select(cam);
+                       if (retval)
+                               break;
+#endif
+               } else if (strcmp(mxc_capture_inputs[*index].name,
+                                 "CSI IC MEM") == 0) {
+#if defined(CONFIG_MXC_IPU_PRP_ENC) || defined(CONFIG_MXC_IPU_PRP_ENC_MODULE)
+                       retval = prp_enc_select(cam);
+                       if (retval)
+                               break;
+#endif
+               }
+
+               mxc_capture_inputs[*index].status &= ~V4L2_IN_ST_NO_POWER;
+               cam->current_input = *index;
+               break;
+       }
+       case VIDIOC_ENUM_FMT: {
+               struct v4l2_fmtdesc *f = arg;
+               if (cam->sensor)
+                       retval = vidioc_int_enum_fmt_cap(cam->sensor, f);
+               else {
+                       pr_err("ERROR: v4l2 capture: slave not found!\n");
+                       retval = -ENODEV;
+               }
+               break;
+       }
+       case VIDIOC_ENUM_FRAMESIZES: {
+               struct v4l2_frmsizeenum *fsize = arg;
+               if (cam->sensor)
+                       retval = vidioc_int_enum_framesizes(cam->sensor, fsize);
+               else {
+                       pr_err("ERROR: v4l2 capture: slave not found!\n");
+                       retval = -ENODEV;
+               }
+               break;
+       }
+       case VIDIOC_DBG_G_CHIP_IDENT: {
+               struct v4l2_dbg_chip_ident *p = arg;
+               p->ident = V4L2_IDENT_NONE;
+               p->revision = 0;
+               if (cam->sensor)
+                       retval = vidioc_int_g_chip_ident(cam->sensor, (int *)p);
+               else {
+                       pr_err("ERROR: v4l2 capture: slave not found!\n");
+                       retval = -ENODEV;
+               }
+               break;
+       }
+       case VIDIOC_TRY_FMT:
+       case VIDIOC_QUERYCTRL:
+       case VIDIOC_G_TUNER:
+       case VIDIOC_S_TUNER:
+       case VIDIOC_G_FREQUENCY:
+       case VIDIOC_S_FREQUENCY:
+       default:
+               pr_debug("   case default or not supported\n");
+               retval = -EINVAL;
+               break;
+       }
+
+       if (ioctlnr != VIDIOC_DQBUF)
+               up(&cam->busy_lock);
+       return retval;
+}
+
+/*
+ * V4L interface - ioctl function
+ *
+ * @return  None
+ */
+static long mxc_v4l_ioctl(struct file *file, unsigned int cmd,
+                        unsigned long arg)
+{
+       pr_debug("In MVC:mxc_v4l_ioctl\n");
+       return video_usercopy(file, cmd, arg, mxc_v4l_do_ioctl);
+}
+
+/*!
+ * V4L interface - mmap function
+ *
+ * @param file        structure file *
+ *
+ * @param vma         structure vm_area_struct *
+ *
+ * @return status     0 Success, EINTR busy lock error, ENOBUFS remap_page error
+ */
+static int mxc_mmap(struct file *file, struct vm_area_struct *vma)
+{
+       struct video_device *dev = video_devdata(file);
+       unsigned long size;
+       int res = 0;
+       cam_data *cam = video_get_drvdata(dev);
+
+       pr_debug("In MVC:mxc_mmap\n");
+       pr_debug("   pgoff=0x%lx, start=0x%lx, end=0x%lx\n",
+                vma->vm_pgoff, vma->vm_start, vma->vm_end);
+
+       /* make this _really_ smp-safe */
+       if (down_interruptible(&cam->busy_lock))
+               return -EINTR;
+
+       size = vma->vm_end - vma->vm_start;
+       vma->vm_page_prot = pgprot_writecombine(vma->vm_page_prot);
+
+       if (remap_pfn_range(vma, vma->vm_start,
+                           vma->vm_pgoff, size, vma->vm_page_prot)) {
+               pr_err("ERROR: v4l2 capture: mxc_mmap: "
+                       "remap_pfn_range failed\n");
+               res = -ENOBUFS;
+               goto mxc_mmap_exit;
+       }
+
+       vma->vm_flags &= ~VM_IO;        /* using shared anonymous pages */
+
+mxc_mmap_exit:
+       up(&cam->busy_lock);
+       return res;
+}
+
+/*!
+ * V4L interface - poll function
+ *
+ * @param file       structure file *
+ *
+ * @param wait       structure poll_table_struct *
+ *
+ * @return  status   POLLIN | POLLRDNORM
+ */
+static unsigned int mxc_poll(struct file *file, struct poll_table_struct *wait)
+{
+       struct video_device *dev = video_devdata(file);
+       cam_data *cam = video_get_drvdata(dev);
+       wait_queue_head_t *queue = NULL;
+       int res = POLLIN | POLLRDNORM;
+
+       pr_debug("In MVC:mxc_poll\n");
+
+       if (down_interruptible(&cam->busy_lock))
+               return -EINTR;
+
+       queue = &cam->enc_queue;
+       poll_wait(file, queue, wait);
+
+       up(&cam->busy_lock);
+
+       return res;
+}
+
+/*!
+ * This structure defines the functions to be called in this driver.
+ */
+static struct v4l2_file_operations mxc_v4l_fops = {
+       .owner = THIS_MODULE,
+       .open = mxc_v4l_open,
+       .release = mxc_v4l_close,
+       .read = mxc_v4l_read,
+       .ioctl = mxc_v4l_ioctl,
+       .mmap = mxc_mmap,
+       .poll = mxc_poll,
+};
+
+static struct video_device mxc_v4l_template = {
+       .name = "Mxc Camera",
+       .fops = &mxc_v4l_fops,
+       .release = video_device_release,
+};
+
+/*!
+ * This function can be used to release any platform data on closing.
+ */
+static void camera_platform_release(struct device *device)
+{
+}
+
+/*!
+ * Camera V4l2 callback function.
+ *
+ * @param mask      u32
+ *
+ * @param dev       void device structure
+ *
+ * @return status
+ */
+static void camera_callback(u32 mask, void *dev)
+{
+       struct mxc_v4l_frame *done_frame;
+       struct mxc_v4l_frame *ready_frame;
+       struct timeval cur_time;
+
+       cam_data *cam = (cam_data *) dev;
+       if (cam == NULL)
+               return;
+
+       pr_debug("In MVC:camera_callback\n");
+
+       spin_lock(&cam->queue_int_lock);
+       spin_lock(&cam->dqueue_int_lock);
+       if (!list_empty(&cam->working_q)) {
+               do_gettimeofday(&cur_time);
+
+               done_frame = list_entry(cam->working_q.next,
+                                       struct mxc_v4l_frame,
+                                       queue);
+
+               if (done_frame->ipu_buf_num != cam->local_buf_num)
+                       goto next;
+
+               /*
+                * Set the current time to done frame buffer's
+                * timestamp. Users can use this information to judge
+                * the frame's usage.
+                */
+               done_frame->buffer.timestamp = cur_time;
+
+               if (done_frame->buffer.flags & V4L2_BUF_FLAG_QUEUED) {
+                       done_frame->buffer.flags |= V4L2_BUF_FLAG_DONE;
+                       done_frame->buffer.flags &= ~V4L2_BUF_FLAG_QUEUED;
+
+                       /* Added to the done queue */
+                       list_del(cam->working_q.next);
+                       list_add_tail(&done_frame->queue, &cam->done_q);
+
+                       /* Wake up the queue */
+                       cam->enc_counter++;
+                       wake_up_interruptible(&cam->enc_queue);
+               } else
+                       pr_err("ERROR: v4l2 capture: camera_callback: "
+                               "buffer not queued\n");
+       }
+
+next:
+       if (!list_empty(&cam->ready_q)) {
+               ready_frame = list_entry(cam->ready_q.next,
+                                        struct mxc_v4l_frame,
+                                        queue);
+               if (cam->enc_update_eba)
+                       if (cam->enc_update_eba(cam->ipu,
+                                               ready_frame->buffer.m.offset,
+                                               &cam->ping_pong_csi) == 0) {
+                               list_del(cam->ready_q.next);
+                               list_add_tail(&ready_frame->queue,
+                                             &cam->working_q);
+                               ready_frame->ipu_buf_num = cam->local_buf_num;
+                       }
+       } else {
+               if (cam->enc_update_eba)
+                       cam->enc_update_eba(
+                               cam->ipu, cam->dummy_frame.buffer.m.offset,
+                               &cam->ping_pong_csi);
+       }
+
+       cam->local_buf_num = (cam->local_buf_num == 0) ? 1 : 0;
+       spin_unlock(&cam->dqueue_int_lock);
+       spin_unlock(&cam->queue_int_lock);
+
+       return;
+}
+
+/*!
+ * initialize cam_data structure
+ *
+ * @param cam      structure cam_data *
+ *
+ * @return status  0 Success
+ */
+static int init_camera_struct(cam_data *cam, struct platform_device *pdev)
+{
+       const struct of_device_id *of_id =
+                       of_match_device(mxc_v4l2_dt_ids, &pdev->dev);
+       struct device_node *np = pdev->dev.of_node;
+       int ipu_id, csi_id, mclk_source;
+       int ret = 0;
+
+       pr_debug("In MVC: init_camera_struct\n");
+
+       ret = of_property_read_u32(np, "ipu_id", &ipu_id);
+       if (ret) {
+               dev_err(&pdev->dev, "ipu_id missing or invalid\n");
+               return ret;
+       }
+
+       ret = of_property_read_u32(np, "csi_id", &csi_id);
+       if (ret) {
+               dev_err(&pdev->dev, "csi_id missing or invalid\n");
+               return ret;
+       }
+
+       ret = of_property_read_u32(np, "mclk_source", &mclk_source);
+       if (ret) {
+               dev_err(&pdev->dev, "sensor mclk missing or invalid\n");
+               return ret;
+       }
+
+       /* Default everything to 0 */
+       memset(cam, 0, sizeof(cam_data));
+
+       /* get devtype to distinguish if the cpu is imx5 or imx6
+        * IMX5_V4L2 specify the cpu is imx5
+        * IMX6_V4L2 specify the cpu is imx6q or imx6sdl
+        */
+       if (of_id)
+               pdev->id_entry = of_id->data;
+       cam->devtype = pdev->id_entry->driver_data;
+
+       cam->ipu = ipu_get_soc(ipu_id);
+       if (cam->ipu == NULL) {
+               pr_err("ERROR: v4l2 capture: failed to get ipu\n");
+               return -EINVAL;
+       } else if (cam->ipu == ERR_PTR(-ENODEV)) {
+               pr_err("ERROR: v4l2 capture: get invalid ipu\n");
+               return -ENODEV;
+       }
+
+       init_MUTEX(&cam->param_lock);
+       init_MUTEX(&cam->busy_lock);
+
+       cam->video_dev = video_device_alloc();
+       if (cam->video_dev == NULL)
+               return -ENODEV;
+
+       *(cam->video_dev) = mxc_v4l_template;
+
+       video_set_drvdata(cam->video_dev, cam);
+       dev_set_drvdata(&pdev->dev, (void *)cam);
+       cam->video_dev->minor = -1;
+
+       init_waitqueue_head(&cam->enc_queue);
+       init_waitqueue_head(&cam->still_queue);
+
+       /* setup cropping */
+       cam->crop_bounds.left = 0;
+       cam->crop_bounds.width = 640;
+       cam->crop_bounds.top = 0;
+       cam->crop_bounds.height = 480;
+       cam->crop_current = cam->crop_defrect = cam->crop_bounds;
+       ipu_csi_set_window_size(cam->ipu, cam->crop_current.width,
+                               cam->crop_current.height, cam->csi);
+       ipu_csi_set_window_pos(cam->ipu, cam->crop_current.left,
+                               cam->crop_current.top, cam->csi);
+       cam->streamparm.parm.capture.capturemode = 0;
+
+       cam->standard.index = 0;
+       cam->standard.id = V4L2_STD_UNKNOWN;
+       cam->standard.frameperiod.denominator = 30;
+       cam->standard.frameperiod.numerator = 1;
+       cam->standard.framelines = 480;
+       cam->standard_autodetect = true;
+       cam->streamparm.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
+       cam->streamparm.parm.capture.timeperframe = cam->standard.frameperiod;
+       cam->streamparm.parm.capture.capability = V4L2_CAP_TIMEPERFRAME;
+       cam->overlay_on = false;
+       cam->capture_on = false;
+       cam->v4l2_fb.flags = V4L2_FBUF_FLAG_OVERLAY;
+
+       cam->v2f.fmt.pix.sizeimage = 352 * 288 * 3 / 2;
+       cam->v2f.fmt.pix.bytesperline = 288 * 3 / 2;
+       cam->v2f.fmt.pix.width = 288;
+       cam->v2f.fmt.pix.height = 352;
+       cam->v2f.fmt.pix.pixelformat = V4L2_PIX_FMT_YUV420;
+       cam->win.w.width = 160;
+       cam->win.w.height = 160;
+       cam->win.w.left = 0;
+       cam->win.w.top = 0;
+
+       cam->ipu_id = ipu_id;
+       cam->csi = csi_id;
+       cam->mclk_source = mclk_source;
+       cam->mclk_on[cam->mclk_source] = false;
+
+       cam->enc_callback = camera_callback;
+       init_waitqueue_head(&cam->power_queue);
+       spin_lock_init(&cam->queue_int_lock);
+       spin_lock_init(&cam->dqueue_int_lock);
+
+       cam->self = kmalloc(sizeof(struct v4l2_int_device), GFP_KERNEL);
+       cam->self->module = THIS_MODULE;
+       sprintf(cam->self->name, "mxc_v4l2_cap%d", cam->csi);
+       cam->self->type = v4l2_int_type_master;
+       cam->self->u.master = &mxc_v4l2_master;
+
+       return 0;
+}
+
+static ssize_t show_streaming(struct device *dev,
+                       struct device_attribute *attr, char *buf)
+{
+       struct video_device *video_dev = container_of(dev,
+                                               struct video_device, dev);
+       cam_data *cam = video_get_drvdata(video_dev);
+
+       if (cam->capture_on)
+               return sprintf(buf, "stream on\n");
+       else
+               return sprintf(buf, "stream off\n");
+}
+static DEVICE_ATTR(fsl_v4l2_capture_property, S_IRUGO, show_streaming, NULL);
+
+static ssize_t show_overlay(struct device *dev,
+                       struct device_attribute *attr, char *buf)
+{
+       struct video_device *video_dev = container_of(dev,
+                                               struct video_device, dev);
+       cam_data *cam = video_get_drvdata(video_dev);
+
+       if (cam->overlay_on)
+               return sprintf(buf, "overlay on\n");
+       else
+               return sprintf(buf, "overlay off\n");
+}
+static DEVICE_ATTR(fsl_v4l2_overlay_property, S_IRUGO, show_overlay, NULL);
+
+static ssize_t show_csi(struct device *dev,
+                       struct device_attribute *attr, char *buf)
+{
+       struct video_device *video_dev = container_of(dev,
+                                               struct video_device, dev);
+       cam_data *cam = video_get_drvdata(video_dev);
+
+       return sprintf(buf, "ipu%d_csi%d\n", cam->ipu_id, cam->csi);
+}
+static DEVICE_ATTR(fsl_csi_property, S_IRUGO, show_csi, NULL);
+
+/*!
+ * This function is called to probe the devices if registered.
+ *
+ * @param   pdev  the device structure used to give information on which device
+ *                to probe
+ *
+ * @return  The function returns 0 on success and -1 on failure.
+ */
+static int mxc_v4l2_probe(struct platform_device *pdev)
+{
+       /* Create cam and initialize it. */
+       cam_data *cam = kmalloc(sizeof(cam_data), GFP_KERNEL);
+       if (cam == NULL) {
+               pr_err("ERROR: v4l2 capture: failed to register camera\n");
+               return -1;
+       }
+
+       init_camera_struct(cam, pdev);
+       pdev->dev.release = camera_platform_release;
+
+       /* Set up the v4l2 device and register it*/
+       cam->self->priv = cam;
+       v4l2_int_device_register(cam->self);
+
+       /* register v4l video device */
+       if (video_register_device(cam->video_dev, VFL_TYPE_GRABBER, video_nr)
+           == -1) {
+               kfree(cam);
+               cam = NULL;
+               pr_err("ERROR: v4l2 capture: video_register_device failed\n");
+               return -1;
+       }
+       pr_debug("   Video device registered: %s #%d\n",
+                cam->video_dev->name, cam->video_dev->minor);
+
+       if (device_create_file(&cam->video_dev->dev,
+                       &dev_attr_fsl_v4l2_capture_property))
+               dev_err(&pdev->dev, "Error on creating sysfs file"
+                       " for capture\n");
+
+       if (device_create_file(&cam->video_dev->dev,
+                       &dev_attr_fsl_v4l2_overlay_property))
+               dev_err(&pdev->dev, "Error on creating sysfs file"
+                       " for overlay\n");
+
+       if (device_create_file(&cam->video_dev->dev,
+                       &dev_attr_fsl_csi_property))
+               dev_err(&pdev->dev, "Error on creating sysfs file"
+                       " for csi number\n");
+
+       return 0;
+}
+
+/*!
+ * This function is called to remove the devices when device unregistered.
+ *
+ * @param   pdev  the device structure used to give information on which device
+ *                to remove
+ *
+ * @return  The function returns 0 on success and -1 on failure.
+ */
+static int mxc_v4l2_remove(struct platform_device *pdev)
+{
+       cam_data *cam = (cam_data *)platform_get_drvdata(pdev);
+       if (cam->open_count) {
+               pr_err("ERROR: v4l2 capture:camera open "
+                       "-- setting ops to NULL\n");
+               return -EBUSY;
+       } else {
+               device_remove_file(&cam->video_dev->dev,
+                       &dev_attr_fsl_v4l2_capture_property);
+               device_remove_file(&cam->video_dev->dev,
+                       &dev_attr_fsl_v4l2_overlay_property);
+               device_remove_file(&cam->video_dev->dev,
+                       &dev_attr_fsl_csi_property);
+
+               pr_info("V4L2 freeing image input device\n");
+               v4l2_int_device_unregister(cam->self);
+               video_unregister_device(cam->video_dev);
+
+               mxc_free_frame_buf(cam);
+               kfree(cam);
+       }
+
+       pr_info("V4L2 unregistering video\n");
+       return 0;
+}
+
+/*!
+ * This function is called to put the sensor in a low power state.
+ * Refer to the document driver-model/driver.txt in the kernel source tree
+ * for more information.
+ *
+ * @param   pdev  the device structure used to give information on which I2C
+ *                to suspend
+ * @param   state the power state the device is entering
+ *
+ * @return  The function returns 0 on success and -1 on failure.
+ */
+static int mxc_v4l2_suspend(struct platform_device *pdev, pm_message_t state)
+{
+       cam_data *cam = platform_get_drvdata(pdev);
+
+       pr_debug("In MVC:mxc_v4l2_suspend\n");
+
+       if (cam == NULL)
+               return -1;
+
+       down(&cam->busy_lock);
+
+       cam->low_power = true;
+
+       if (cam->overlay_on == true)
+               stop_preview(cam);
+       if ((cam->capture_on == true) && cam->enc_disable)
+               cam->enc_disable(cam);
+
+       if (cam->sensor && cam->open_count) {
+               if (cam->mclk_on[cam->mclk_source]) {
+                       ipu_csi_enable_mclk_if(cam->ipu, CSI_MCLK_I2C,
+                                              cam->mclk_source,
+                                              false, false);
+                       cam->mclk_on[cam->mclk_source] = false;
+               }
+               vidioc_int_s_power(cam->sensor, 0);
+       }
+
+       up(&cam->busy_lock);
+
+       return 0;
+}
+
+/*!
+ * This function is called to bring the sensor back from a low power state.
+ * Refer to the document driver-model/driver.txt in the kernel source tree
+ * for more information.
+ *
+ * @param   pdev   the device structure
+ *
+ * @return  The function returns 0 on success and -1 on failure
+ */
+static int mxc_v4l2_resume(struct platform_device *pdev)
+{
+       cam_data *cam = platform_get_drvdata(pdev);
+
+       pr_debug("In MVC:mxc_v4l2_resume\n");
+
+       if (cam == NULL)
+               return -1;
+
+       down(&cam->busy_lock);
+
+       cam->low_power = false;
+       wake_up_interruptible(&cam->power_queue);
+
+       if (cam->sensor && cam->open_count) {
+               vidioc_int_s_power(cam->sensor, 1);
+
+               if (!cam->mclk_on[cam->mclk_source]) {
+                       ipu_csi_enable_mclk_if(cam->ipu, CSI_MCLK_I2C,
+                                              cam->mclk_source,
+                                              true, true);
+                       cam->mclk_on[cam->mclk_source] = true;
+               }
+       }
+
+       if (cam->overlay_on == true)
+               start_preview(cam);
+       if (cam->capture_on == true)
+               mxc_streamon(cam);
+
+       up(&cam->busy_lock);
+
+       return 0;
+}
+
+/*!
+ * This structure contains pointers to the power management callback functions.
+ */
+static struct platform_driver mxc_v4l2_driver = {
+       .driver = {
+                  .name = "mxc_v4l2_capture",
+                  .owner = THIS_MODULE,
+                  .of_match_table = mxc_v4l2_dt_ids,
+                  },
+       .id_table = imx_v4l2_devtype,
+       .probe = mxc_v4l2_probe,
+       .remove = mxc_v4l2_remove,
+       .suspend = mxc_v4l2_suspend,
+       .resume = mxc_v4l2_resume,
+       .shutdown = NULL,
+};
+
+/*!
+ * Initializes the camera driver.
+ */
+static int mxc_v4l2_master_attach(struct v4l2_int_device *slave)
+{
+       cam_data *cam = slave->u.slave->master->priv;
+       struct v4l2_format cam_fmt;
+       int i;
+       struct sensor_data *sdata = slave->priv;
+
+       pr_debug("In MVC: mxc_v4l2_master_attach\n");
+       pr_debug("   slave.name = %s\n", slave->name);
+       pr_debug("   master.name = %s\n", slave->u.slave->master->name);
+
+       if (slave == NULL) {
+               pr_err("ERROR: v4l2 capture: slave parameter not valid.\n");
+               return -1;
+       }
+
+       if (sdata->csi != cam->csi) {
+               pr_debug("%s: csi doesn't match\n", __func__);
+               return -1;
+       }
+
+       cam->sensor = slave;
+
+       if (cam->sensor_index < MXC_SENSOR_NUM) {
+               cam->all_sensors[cam->sensor_index] = slave;
+               cam->sensor_index++;
+       } else {
+               pr_err("ERROR: v4l2 capture: slave number exceeds the maximum.\n");
+               return -1;
+       }
+
+       for (i = 0; i < cam->sensor_index; i++) {
+               vidioc_int_dev_exit(cam->all_sensors[i]);
+               vidioc_int_s_power(cam->all_sensors[i], 0);
+       }
+
+       cam_fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
+       vidioc_int_g_fmt_cap(cam->sensor, &cam_fmt);
+
+       /* Used to detect TV in (type 1) vs. camera (type 0)*/
+       cam->device_type = cam_fmt.fmt.pix.priv;
+
+       /* Set the input size to the ipu for this device */
+       cam->crop_bounds.top = cam->crop_bounds.left = 0;
+       cam->crop_bounds.width = cam_fmt.fmt.pix.width;
+       cam->crop_bounds.height = cam_fmt.fmt.pix.height;
+
+       /* This also is the max crop size for this device. */
+       cam->crop_defrect.top = cam->crop_defrect.left = 0;
+       cam->crop_defrect.width = cam_fmt.fmt.pix.width;
+       cam->crop_defrect.height = cam_fmt.fmt.pix.height;
+
+       /* At this point, this is also the current image size. */
+       cam->crop_current.top = cam->crop_current.left = 0;
+       cam->crop_current.width = cam_fmt.fmt.pix.width;
+       cam->crop_current.height = cam_fmt.fmt.pix.height;
+
+       pr_debug("End of %s: v2f pix widthxheight %d x %d\n",
+                __func__,
+                cam->v2f.fmt.pix.width, cam->v2f.fmt.pix.height);
+       pr_debug("End of %s: crop_bounds widthxheight %d x %d\n",
+                __func__,
+                cam->crop_bounds.width, cam->crop_bounds.height);
+       pr_debug("End of %s: crop_defrect widthxheight %d x %d\n",
+                __func__,
+                cam->crop_defrect.width, cam->crop_defrect.height);
+       pr_debug("End of %s: crop_current widthxheight %d x %d\n",
+                __func__,
+                cam->crop_current.width, cam->crop_current.height);
+
+       return 0;
+}
+
+/*!
+ * Disconnects the camera driver.
+ */
+static void mxc_v4l2_master_detach(struct v4l2_int_device *slave)
+{
+       unsigned int i;
+       cam_data *cam = slave->u.slave->master->priv;
+
+       pr_debug("In MVC:mxc_v4l2_master_detach\n");
+
+       if (cam->sensor_index > 1) {
+               for (i = 0; i < cam->sensor_index; i++) {
+                       if (cam->all_sensors[i] != slave)
+                               continue;
+                       /* Move all the sensors behind this
+                        * sensor one step forward
+                        */
+                       for (; i <= MXC_SENSOR_NUM - 2; i++)
+                               cam->all_sensors[i] = cam->all_sensors[i+1];
+                       break;
+               }
+               /* Point current sensor to the last one */
+               cam->sensor = cam->all_sensors[cam->sensor_index - 2];
+       } else
+               cam->sensor = NULL;
+
+       cam->sensor_index--;
+       vidioc_int_dev_exit(slave);
+}
+
+/*!
+ * Entry point for the V4L2
+ *
+ * @return  Error code indicating success or failure
+ */
+static __init int camera_init(void)
+{
+       u8 err = 0;
+
+       pr_debug("In MVC:camera_init\n");
+
+       /* Register the device driver structure. */
+       err = platform_driver_register(&mxc_v4l2_driver);
+       if (err != 0) {
+               pr_err("ERROR: v4l2 capture:camera_init: "
+                       "platform_driver_register failed.\n");
+               return err;
+       }
+
+       return err;
+}
+
+/*!
+ * Exit and cleanup for the V4L2
+ */
+static void __exit camera_exit(void)
+{
+       pr_debug("In MVC: camera_exit\n");
+
+       platform_driver_unregister(&mxc_v4l2_driver);
+}
+
+module_init(camera_init);
+module_exit(camera_exit);
+
+module_param(video_nr, int, 0444);
+MODULE_AUTHOR("Freescale Semiconductor, Inc.");
+MODULE_DESCRIPTION("V4L2 capture driver for Mxc based cameras");
+MODULE_LICENSE("GPL");
+MODULE_SUPPORTED_DEVICE("video");
diff --git a/drivers/media/platform/mxc/capture/mxc_v4l2_capture.h b/drivers/media/platform/mxc/capture/mxc_v4l2_capture.h
new file mode 100644 (file)
index 0000000..09a421f
--- /dev/null
@@ -0,0 +1,260 @@
+/*
+ * Copyright 2004-2013 Freescale Semiconductor, Inc. All Rights Reserved.
+ */
+
+/*
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/*!
+ * @defgroup MXC_V4L2_CAPTURE MXC V4L2 Video Capture Driver
+ */
+/*!
+ * @file mxc_v4l2_capture.h
+ *
+ * @brief mxc V4L2 capture device API  Header file
+ *
+ * It include all the defines for frame operations, also three structure defines
+ * use case ops structure, common v4l2 driver structure and frame structure.
+ *
+ * @ingroup MXC_V4L2_CAPTURE
+ */
+#ifndef __MXC_V4L2_CAPTURE_H__
+#define __MXC_V4L2_CAPTURE_H__
+
+#include <linux/uaccess.h>
+#include <linux/list.h>
+#include <linux/mxc_v4l2.h>
+#include <linux/completion.h>
+#include <linux/dmaengine.h>
+#include <linux/pxp_dma.h>
+#include <linux/ipu-v3.h>
+#include <linux/platform_data/dma-imx.h>
+
+#include <media/v4l2-dev.h>
+#include <media/v4l2-int-device.h>
+
+
+#define FRAME_NUM 10
+#define MXC_SENSOR_NUM 2
+
+enum imx_v4l2_devtype {
+       IMX5_V4L2,
+       IMX6_V4L2,
+};
+
+/*!
+ * v4l2 frame structure.
+ */
+struct mxc_v4l_frame {
+       u32 paddress;
+       void *vaddress;
+       int count;
+       int width;
+       int height;
+
+       struct v4l2_buffer buffer;
+       struct list_head queue;
+       int index;
+       union {
+               int ipu_buf_num;
+               int csi_buf_num;
+       };
+};
+
+/* Only for old version.  Will go away soon. */
+typedef struct {
+       u8 clk_mode;
+       u8 ext_vsync;
+       u8 Vsync_pol;
+       u8 Hsync_pol;
+       u8 pixclk_pol;
+       u8 data_pol;
+       u8 data_width;
+       u8 pack_tight;
+       u8 force_eof;
+       u8 data_en_pol;
+       u16 width;
+       u16 height;
+       u32 pixel_fmt;
+       u32 mclk;
+       u16 active_width;
+       u16 active_height;
+} sensor_interface;
+
+/* Sensor control function */
+/* Only for old version.  Will go away soon. */
+struct camera_sensor {
+       void (*set_color) (int bright, int saturation, int red, int green,
+                          int blue);
+       void (*get_color) (int *bright, int *saturation, int *red, int *green,
+                          int *blue);
+       void (*set_ae_mode) (int ae_mode);
+       void (*get_ae_mode) (int *ae_mode);
+       sensor_interface *(*config) (int *frame_rate, int high_quality);
+       sensor_interface *(*reset) (void);
+       void (*get_std) (v4l2_std_id *std);
+       void (*set_std) (v4l2_std_id std);
+       unsigned int csi;
+};
+
+/*!
+ * common v4l2 driver structure.
+ */
+typedef struct _cam_data {
+       struct video_device *video_dev;
+       int device_type;
+
+       /* semaphore guard against SMP multithreading */
+       struct semaphore busy_lock;
+
+       int open_count;
+
+       /* params lock for this camera */
+       struct semaphore param_lock;
+
+       /* Encoder */
+       struct list_head ready_q;
+       struct list_head done_q;
+       struct list_head working_q;
+       int ping_pong_csi;
+       spinlock_t queue_int_lock;
+       spinlock_t dqueue_int_lock;
+       struct mxc_v4l_frame frame[FRAME_NUM];
+       struct mxc_v4l_frame dummy_frame;
+       wait_queue_head_t enc_queue;
+       int enc_counter;
+       dma_addr_t rot_enc_bufs[2];
+       void *rot_enc_bufs_vaddr[2];
+       int rot_enc_buf_size[2];
+       enum v4l2_buf_type type;
+
+       /* still image capture */
+       wait_queue_head_t still_queue;
+       int still_counter;
+       dma_addr_t still_buf[2];
+       void *still_buf_vaddr;
+
+       /* overlay */
+       struct v4l2_window win;
+       struct v4l2_framebuffer v4l2_fb;
+       dma_addr_t vf_bufs[2];
+       void *vf_bufs_vaddr[2];
+       int vf_bufs_size[2];
+       dma_addr_t rot_vf_bufs[2];
+       void *rot_vf_bufs_vaddr[2];
+       int rot_vf_buf_size[2];
+       bool overlay_active;
+       int output;
+       struct fb_info *overlay_fb;
+       int fb_origin_std;
+       struct work_struct csi_work_struct;
+
+       /* v4l2 format */
+       struct v4l2_format v2f;
+       int rotation;   /* for IPUv1 and IPUv3, this means encoder rotation */
+       int vf_rotation; /* viewfinder rotation only for IPUv1 and IPUv3 */
+       struct v4l2_mxc_offset offset;
+
+       /* V4l2 control bit */
+       int bright;
+       int hue;
+       int contrast;
+       int saturation;
+       int red;
+       int green;
+       int blue;
+       int ae_mode;
+
+       /* standard */
+       struct v4l2_streamparm streamparm;
+       struct v4l2_standard standard;
+       bool standard_autodetect;
+
+       /* crop */
+       struct v4l2_rect crop_bounds;
+       struct v4l2_rect crop_defrect;
+       struct v4l2_rect crop_current;
+
+       int (*enc_update_eba) (struct ipu_soc *ipu, dma_addr_t eba,
+                              int *bufferNum);
+       int (*enc_enable) (void *private);
+       int (*enc_disable) (void *private);
+       int (*enc_enable_csi) (void *private);
+       int (*enc_disable_csi) (void *private);
+       void (*enc_callback) (u32 mask, void *dev);
+       int (*vf_start_adc) (void *private);
+       int (*vf_stop_adc) (void *private);
+       int (*vf_start_sdc) (void *private);
+       int (*vf_stop_sdc) (void *private);
+       int (*vf_enable_csi) (void *private);
+       int (*vf_disable_csi) (void *private);
+       int (*csi_start) (void *private);
+       int (*csi_stop) (void *private);
+
+       /* misc status flag */
+       bool overlay_on;
+       bool capture_on;
+       int overlay_pid;
+       int capture_pid;
+       bool low_power;
+       wait_queue_head_t power_queue;
+       unsigned int ipu_id;
+       unsigned int csi;
+       u8 mclk_source;
+       bool mclk_on[2];        /* two mclk sources at most now */
+       int current_input;
+
+       int local_buf_num;
+
+       /* camera sensor interface */
+       struct camera_sensor *cam_sensor;       /* old version */
+       struct v4l2_int_device *all_sensors[MXC_SENSOR_NUM];
+       struct v4l2_int_device *sensor;
+       struct v4l2_int_device *self;
+       int sensor_index;
+       void *ipu;
+       enum imx_v4l2_devtype devtype;
+
+       /* v4l2 buf elements related to PxP DMA */
+       struct completion pxp_tx_cmpl;
+       struct pxp_channel *pxp_chan;
+       struct pxp_config_data pxp_conf;
+       struct dma_async_tx_descriptor *txd;
+       dma_cookie_t cookie;
+       struct scatterlist sg[2];
+} cam_data;
+
+struct sensor_data {
+       const struct ov5642_platform_data *platform_data;
+       struct v4l2_int_device *v4l2_int_device;
+       struct i2c_client *i2c_client;
+       struct v4l2_pix_format pix;
+       struct v4l2_captureparm streamcap;
+       bool on;
+
+       /* control settings */
+       int brightness;
+       int hue;
+       int contrast;
+       int saturation;
+       int red;
+       int green;
+       int blue;
+       int ae_mode;
+
+       u32 mclk;
+       u8 mclk_source;
+       struct clk *sensor_clk;
+       int csi;
+
+       void (*io_init)(void);
+};
+
+void set_mclk_rate(uint32_t *p_mclk_freq, uint32_t csi);
+#endif                         /* __MXC_V4L2_CAPTURE_H__ */
diff --git a/drivers/media/platform/mxc/capture/ov5640.c b/drivers/media/platform/mxc/capture/ov5640.c
new file mode 100644 (file)
index 0000000..4759b9a
--- /dev/null
@@ -0,0 +1,1951 @@
+/*
+ * Copyright (C) 2012-2013 Freescale Semiconductor, Inc. All Rights Reserved.
+ */
+
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#include <linux/clk.h>
+#include <linux/delay.h>
+#include <linux/device.h>
+#include <linux/i2c.h>
+#include <linux/init.h>
+#include <linux/module.h>
+#include <linux/of_device.h>
+#include <linux/of_gpio.h>
+#include <linux/pinctrl/consumer.h>
+#include <linux/regulator/consumer.h>
+#include <media/v4l2-chip-ident.h>
+#include <media/v4l2-int-device.h>
+#include "mxc_v4l2_capture.h"
+
+#define OV5640_VOLTAGE_ANALOG               2800000
+#define OV5640_VOLTAGE_DIGITAL_CORE         1500000
+#define OV5640_VOLTAGE_DIGITAL_IO           1800000
+
+#define MIN_FPS 15
+#define MAX_FPS 30
+#define DEFAULT_FPS 30
+
+#define OV5640_XCLK_MIN 6000000
+#define OV5640_XCLK_MAX 24000000
+
+#define OV5640_CHIP_ID_HIGH_BYTE        0x300A
+#define OV5640_CHIP_ID_LOW_BYTE         0x300B
+
+enum ov5640_mode {
+       ov5640_mode_MIN = 0,
+       ov5640_mode_VGA_640_480 = 0,
+       ov5640_mode_QVGA_320_240 = 1,
+       ov5640_mode_NTSC_720_480 = 2,
+       ov5640_mode_PAL_720_576 = 3,
+       ov5640_mode_720P_1280_720 = 4,
+       ov5640_mode_1080P_1920_1080 = 5,
+       ov5640_mode_QSXGA_2592_1944 = 6,
+       ov5640_mode_QCIF_176_144 = 7,
+       ov5640_mode_XGA_1024_768 = 8,
+       ov5640_mode_MAX = 8
+};
+
+enum ov5640_frame_rate {
+       ov5640_15_fps,
+       ov5640_30_fps
+};
+
+static int ov5640_framerates[] = {
+       [ov5640_15_fps] = 15,
+       [ov5640_30_fps] = 30,
+};
+
+struct reg_value {
+       u16 u16RegAddr;
+       u8 u8Val;
+       u8 u8Mask;
+       u32 u32Delay_ms;
+};
+
+struct ov5640_mode_info {
+       enum ov5640_mode mode;
+       u32 width;
+       u32 height;
+       struct reg_value *init_data_ptr;
+       u32 init_data_size;
+};
+
+/*!
+ * Maintains the information on the current state of the sesor.
+ */
+static struct sensor_data ov5640_data;
+static int pwn_gpio, rst_gpio;
+static int prev_sysclk;
+static int AE_Target = 52, night_mode;
+static int prev_HTS;
+static int AE_high, AE_low;
+
+static struct reg_value ov5640_global_init_setting[] = {
+       {0x3008, 0x42, 0, 0},
+       {0x3103, 0x03, 0, 0}, {0x3017, 0xff, 0, 0}, {0x3018, 0xff, 0, 0},
+       {0x3034, 0x1a, 0, 0}, {0x3037, 0x13, 0, 0}, {0x3108, 0x01, 0, 0},
+       {0x3630, 0x36, 0, 0}, {0x3631, 0x0e, 0, 0}, {0x3632, 0xe2, 0, 0},
+       {0x3633, 0x12, 0, 0}, {0x3621, 0xe0, 0, 0}, {0x3704, 0xa0, 0, 0},
+       {0x3703, 0x5a, 0, 0}, {0x3715, 0x78, 0, 0}, {0x3717, 0x01, 0, 0},
+       {0x370b, 0x60, 0, 0}, {0x3705, 0x1a, 0, 0}, {0x3905, 0x02, 0, 0},
+       {0x3906, 0x10, 0, 0}, {0x3901, 0x0a, 0, 0}, {0x3731, 0x12, 0, 0},
+       {0x3600, 0x08, 0, 0}, {0x3601, 0x33, 0, 0}, {0x302d, 0x60, 0, 0},
+       {0x3620, 0x52, 0, 0}, {0x371b, 0x20, 0, 0}, {0x471c, 0x50, 0, 0},
+       {0x3a13, 0x43, 0, 0}, {0x3a18, 0x00, 0, 0}, {0x3a19, 0x7c, 0, 0},
+       {0x3635, 0x13, 0, 0}, {0x3636, 0x03, 0, 0}, {0x3634, 0x40, 0, 0},
+       {0x3622, 0x01, 0, 0}, {0x3c01, 0x34, 0, 0}, {0x3c04, 0x28, 0, 0},
+       {0x3c05, 0x98, 0, 0}, {0x3c06, 0x00, 0, 0}, {0x3c07, 0x07, 0, 0},
+       {0x3c08, 0x00, 0, 0}, {0x3c09, 0x1c, 0, 0}, {0x3c0a, 0x9c, 0, 0},
+       {0x3c0b, 0x40, 0, 0}, {0x3810, 0x00, 0, 0}, {0x3811, 0x10, 0, 0},
+       {0x3812, 0x00, 0, 0}, {0x3708, 0x64, 0, 0}, {0x4001, 0x02, 0, 0},
+       {0x4005, 0x1a, 0, 0}, {0x3000, 0x00, 0, 0}, {0x3004, 0xff, 0, 0},
+       {0x300e, 0x58, 0, 0}, {0x302e, 0x00, 0, 0}, {0x4300, 0x30, 0, 0},
+       {0x501f, 0x00, 0, 0}, {0x440e, 0x00, 0, 0}, {0x5000, 0xa7, 0, 0},
+       {0x3008, 0x02, 0, 0},
+};
+
+static struct reg_value ov5640_init_setting_30fps_VGA[] = {
+       {0x3008, 0x42, 0, 0},
+       {0x3103, 0x03, 0, 0}, {0x3017, 0xff, 0, 0}, {0x3018, 0xff, 0, 0},
+       {0x3034, 0x1a, 0, 0}, {0x3035, 0x11, 0, 0}, {0x3036, 0x46, 0, 0},
+       {0x3037, 0x13, 0, 0}, {0x3108, 0x01, 0, 0}, {0x3630, 0x36, 0, 0},
+       {0x3631, 0x0e, 0, 0}, {0x3632, 0xe2, 0, 0}, {0x3633, 0x12, 0, 0},
+       {0x3621, 0xe0, 0, 0}, {0x3704, 0xa0, 0, 0}, {0x3703, 0x5a, 0, 0},
+       {0x3715, 0x78, 0, 0}, {0x3717, 0x01, 0, 0}, {0x370b, 0x60, 0, 0},
+       {0x3705, 0x1a, 0, 0}, {0x3905, 0x02, 0, 0}, {0x3906, 0x10, 0, 0},
+       {0x3901, 0x0a, 0, 0}, {0x3731, 0x12, 0, 0}, {0x3600, 0x08, 0, 0},
+       {0x3601, 0x33, 0, 0}, {0x302d, 0x60, 0, 0}, {0x3620, 0x52, 0, 0},
+       {0x371b, 0x20, 0, 0}, {0x471c, 0x50, 0, 0}, {0x3a13, 0x43, 0, 0},
+       {0x3a18, 0x00, 0, 0}, {0x3a19, 0xf8, 0, 0}, {0x3635, 0x13, 0, 0},
+       {0x3636, 0x03, 0, 0}, {0x3634, 0x40, 0, 0}, {0x3622, 0x01, 0, 0},
+       {0x3c01, 0x34, 0, 0}, {0x3c04, 0x28, 0, 0}, {0x3c05, 0x98, 0, 0},
+       {0x3c06, 0x00, 0, 0}, {0x3c07, 0x08, 0, 0}, {0x3c08, 0x00, 0, 0},
+       {0x3c09, 0x1c, 0, 0}, {0x3c0a, 0x9c, 0, 0}, {0x3c0b, 0x40, 0, 0},
+       {0x3820, 0x41, 0, 0}, {0x3821, 0x07, 0, 0}, {0x3814, 0x31, 0, 0},
+       {0x3815, 0x31, 0, 0}, {0x3800, 0x00, 0, 0}, {0x3801, 0x00, 0, 0},
+       {0x3802, 0x00, 0, 0}, {0x3803, 0x04, 0, 0}, {0x3804, 0x0a, 0, 0},
+       {0x3805, 0x3f, 0, 0}, {0x3806, 0x07, 0, 0}, {0x3807, 0x9b, 0, 0},
+       {0x3808, 0x02, 0, 0}, {0x3809, 0x80, 0, 0}, {0x380a, 0x01, 0, 0},
+       {0x380b, 0xe0, 0, 0}, {0x380c, 0x07, 0, 0}, {0x380d, 0x68, 0, 0},
+       {0x380e, 0x03, 0, 0}, {0x380f, 0xd8, 0, 0}, {0x3810, 0x00, 0, 0},
+       {0x3811, 0x10, 0, 0}, {0x3812, 0x00, 0, 0}, {0x3813, 0x06, 0, 0},
+       {0x3618, 0x00, 0, 0}, {0x3612, 0x29, 0, 0}, {0x3708, 0x64, 0, 0},
+       {0x3709, 0x52, 0, 0}, {0x370c, 0x03, 0, 0}, {0x3a02, 0x03, 0, 0},
+       {0x3a03, 0xd8, 0, 0}, {0x3a08, 0x01, 0, 0}, {0x3a09, 0x27, 0, 0},
+       {0x3a0a, 0x00, 0, 0}, {0x3a0b, 0xf6, 0, 0}, {0x3a0e, 0x03, 0, 0},
+       {0x3a0d, 0x04, 0, 0}, {0x3a14, 0x03, 0, 0}, {0x3a15, 0xd8, 0, 0},
+       {0x4001, 0x02, 0, 0}, {0x4004, 0x02, 0, 0}, {0x3000, 0x00, 0, 0},
+       {0x3002, 0x1c, 0, 0}, {0x3004, 0xff, 0, 0}, {0x3006, 0xc3, 0, 0},
+       {0x300e, 0x58, 0, 0}, {0x302e, 0x00, 0, 0}, {0x4300, 0x30, 0, 0},
+       {0x501f, 0x00, 0, 0}, {0x4713, 0x03, 0, 0}, {0x4407, 0x04, 0, 0},
+       {0x440e, 0x00, 0, 0}, {0x460b, 0x35, 0, 0}, {0x460c, 0x22, 0, 0},
+       {0x4837, 0x22, 0, 0}, {0x3824, 0x02, 0, 0}, {0x5000, 0xa7, 0, 0},
+       {0x5001, 0xa3, 0, 0}, {0x5180, 0xff, 0, 0}, {0x5181, 0xf2, 0, 0},
+       {0x5182, 0x00, 0, 0}, {0x5183, 0x14, 0, 0}, {0x5184, 0x25, 0, 0},
+       {0x5185, 0x24, 0, 0}, {0x5186, 0x09, 0, 0}, {0x5187, 0x09, 0, 0},
+       {0x5188, 0x09, 0, 0}, {0x5189, 0x88, 0, 0}, {0x518a, 0x54, 0, 0},
+       {0x518b, 0xee, 0, 0}, {0x518c, 0xb2, 0, 0}, {0x518d, 0x50, 0, 0},
+       {0x518e, 0x34, 0, 0}, {0x518f, 0x6b, 0, 0}, {0x5190, 0x46, 0, 0},
+       {0x5191, 0xf8, 0, 0}, {0x5192, 0x04, 0, 0}, {0x5193, 0x70, 0, 0},
+       {0x5194, 0xf0, 0, 0}, {0x5195, 0xf0, 0, 0}, {0x5196, 0x03, 0, 0},
+       {0x5197, 0x01, 0, 0}, {0x5198, 0x04, 0, 0}, {0x5199, 0x6c, 0, 0},
+       {0x519a, 0x04, 0, 0}, {0x519b, 0x00, 0, 0}, {0x519c, 0x09, 0, 0},
+       {0x519d, 0x2b, 0, 0}, {0x519e, 0x38, 0, 0}, {0x5381, 0x1e, 0, 0},
+       {0x5382, 0x5b, 0, 0}, {0x5383, 0x08, 0, 0}, {0x5384, 0x0a, 0, 0},
+       {0x5385, 0x7e, 0, 0}, {0x5386, 0x88, 0, 0}, {0x5387, 0x7c, 0, 0},
+       {0x5388, 0x6c, 0, 0}, {0x5389, 0x10, 0, 0}, {0x538a, 0x01, 0, 0},
+       {0x538b, 0x98, 0, 0}, {0x5300, 0x08, 0, 0}, {0x5301, 0x30, 0, 0},
+       {0x5302, 0x10, 0, 0}, {0x5303, 0x00, 0, 0}, {0x5304, 0x08, 0, 0},
+       {0x5305, 0x30, 0, 0}, {0x5306, 0x08, 0, 0}, {0x5307, 0x16, 0, 0},
+       {0x5309, 0x08, 0, 0}, {0x530a, 0x30, 0, 0}, {0x530b, 0x04, 0, 0},
+       {0x530c, 0x06, 0, 0}, {0x5480, 0x01, 0, 0}, {0x5481, 0x08, 0, 0},
+       {0x5482, 0x14, 0, 0}, {0x5483, 0x28, 0, 0}, {0x5484, 0x51, 0, 0},
+       {0x5485, 0x65, 0, 0}, {0x5486, 0x71, 0, 0}, {0x5487, 0x7d, 0, 0},
+       {0x5488, 0x87, 0, 0}, {0x5489, 0x91, 0, 0}, {0x548a, 0x9a, 0, 0},
+       {0x548b, 0xaa, 0, 0}, {0x548c, 0xb8, 0, 0}, {0x548d, 0xcd, 0, 0},
+       {0x548e, 0xdd, 0, 0}, {0x548f, 0xea, 0, 0}, {0x5490, 0x1d, 0, 0},
+       {0x5580, 0x02, 0, 0}, {0x5583, 0x40, 0, 0}, {0x5584, 0x10, 0, 0},
+       {0x5589, 0x10, 0, 0}, {0x558a, 0x00, 0, 0}, {0x558b, 0xf8, 0, 0},
+       {0x5800, 0x23, 0, 0}, {0x5801, 0x14, 0, 0}, {0x5802, 0x0f, 0, 0},
+       {0x5803, 0x0f, 0, 0}, {0x5804, 0x12, 0, 0}, {0x5805, 0x26, 0, 0},
+       {0x5806, 0x0c, 0, 0}, {0x5807, 0x08, 0, 0}, {0x5808, 0x05, 0, 0},
+       {0x5809, 0x05, 0, 0}, {0x580a, 0x08, 0, 0}, {0x580b, 0x0d, 0, 0},
+       {0x580c, 0x08, 0, 0}, {0x580d, 0x03, 0, 0}, {0x580e, 0x00, 0, 0},
+       {0x580f, 0x00, 0, 0}, {0x5810, 0x03, 0, 0}, {0x5811, 0x09, 0, 0},
+       {0x5812, 0x07, 0, 0}, {0x5813, 0x03, 0, 0}, {0x5814, 0x00, 0, 0},
+       {0x5815, 0x01, 0, 0}, {0x5816, 0x03, 0, 0}, {0x5817, 0x08, 0, 0},
+       {0x5818, 0x0d, 0, 0}, {0x5819, 0x08, 0, 0}, {0x581a, 0x05, 0, 0},
+       {0x581b, 0x06, 0, 0}, {0x581c, 0x08, 0, 0}, {0x581d, 0x0e, 0, 0},
+       {0x581e, 0x29, 0, 0}, {0x581f, 0x17, 0, 0}, {0x5820, 0x11, 0, 0},
+       {0x5821, 0x11, 0, 0}, {0x5822, 0x15, 0, 0}, {0x5823, 0x28, 0, 0},
+       {0x5824, 0x46, 0, 0}, {0x5825, 0x26, 0, 0}, {0x5826, 0x08, 0, 0},
+       {0x5827, 0x26, 0, 0}, {0x5828, 0x64, 0, 0}, {0x5829, 0x26, 0, 0},
+       {0x582a, 0x24, 0, 0}, {0x582b, 0x22, 0, 0}, {0x582c, 0x24, 0, 0},
+       {0x582d, 0x24, 0, 0}, {0x582e, 0x06, 0, 0}, {0x582f, 0x22, 0, 0},
+       {0x5830, 0x40, 0, 0}, {0x5831, 0x42, 0, 0}, {0x5832, 0x24, 0, 0},
+       {0x5833, 0x26, 0, 0}, {0x5834, 0x24, 0, 0}, {0x5835, 0x22, 0, 0},
+       {0x5836, 0x22, 0, 0}, {0x5837, 0x26, 0, 0}, {0x5838, 0x44, 0, 0},
+       {0x5839, 0x24, 0, 0}, {0x583a, 0x26, 0, 0}, {0x583b, 0x28, 0, 0},
+       {0x583c, 0x42, 0, 0}, {0x583d, 0xce, 0, 0}, {0x5025, 0x00, 0, 0},
+       {0x3a0f, 0x30, 0, 0}, {0x3a10, 0x28, 0, 0}, {0x3a1b, 0x30, 0, 0},
+       {0x3a1e, 0x26, 0, 0}, {0x3a11, 0x60, 0, 0}, {0x3a1f, 0x14, 0, 0},
+       {0x3008, 0x02, 0, 0}, {0x3034, 0x1a, 0, 0}, {0x3035, 0x11, 0, 0},
+       {0x3036, 0x46, 0, 0}, {0x3037, 0x13, 0, 0},
+};
+
+static struct reg_value ov5640_setting_30fps_VGA_640_480[] = {
+       {0x3c07, 0x08, 0, 0}, {0x3820, 0x41, 0, 0}, {0x3821, 0x07, 0, 0},
+       {0x3814, 0x31, 0, 0}, {0x3815, 0x31, 0, 0}, {0x3800, 0x00, 0, 0},
+       {0x3801, 0x00, 0, 0}, {0x3802, 0x00, 0, 0}, {0x3803, 0x04, 0, 0},
+       {0x3804, 0x0a, 0, 0}, {0x3805, 0x3f, 0, 0}, {0x3806, 0x07, 0, 0},
+       {0x3807, 0x9b, 0, 0}, {0x3808, 0x02, 0, 0}, {0x3809, 0x80, 0, 0},
+       {0x380a, 0x01, 0, 0}, {0x380b, 0xe0, 0, 0}, {0x380c, 0x07, 0, 0},
+       {0x380d, 0x68, 0, 0}, {0x380e, 0x03, 0, 0}, {0x380f, 0xd8, 0, 0},
+       {0x3813, 0x06, 0, 0}, {0x3618, 0x00, 0, 0}, {0x3612, 0x29, 0, 0},
+       {0x3709, 0x52, 0, 0}, {0x370c, 0x03, 0, 0}, {0x3a02, 0x0b, 0, 0},
+       {0x3a03, 0x88, 0, 0}, {0x3a14, 0x0b, 0, 0}, {0x3a15, 0x88, 0, 0},
+       {0x4004, 0x02, 0, 0}, {0x3002, 0x1c, 0, 0}, {0x3006, 0xc3, 0, 0},
+       {0x4713, 0x03, 0, 0}, {0x4407, 0x04, 0, 0}, {0x460b, 0x35, 0, 0},
+       {0x460c, 0x22, 0, 0}, {0x4837, 0x22, 0, 0}, {0x3824, 0x02, 0, 0},
+       {0x5001, 0xa3, 0, 0}, {0x3034, 0x1a, 0, 0}, {0x3035, 0x11, 0, 0},
+       {0x3036, 0x46, 0, 0}, {0x3037, 0x13, 0, 0}, {0x3503, 0x00, 0, 0},
+};
+
+static struct reg_value ov5640_setting_15fps_VGA_640_480[] = {
+       {0x3c07, 0x08, 0, 0}, {0x3820, 0x41, 0, 0}, {0x3821, 0x07, 0, 0},
+       {0x3814, 0x31, 0, 0}, {0x3815, 0x31, 0, 0}, {0x3800, 0x00, 0, 0},
+       {0x3801, 0x00, 0, 0}, {0x3802, 0x00, 0, 0}, {0x3803, 0x04, 0, 0},
+       {0x3804, 0x0a, 0, 0}, {0x3805, 0x3f, 0, 0}, {0x3806, 0x07, 0, 0},
+       {0x3807, 0x9b, 0, 0}, {0x3808, 0x02, 0, 0}, {0x3809, 0x80, 0, 0},
+       {0x380a, 0x01, 0, 0}, {0x380b, 0xe0, 0, 0}, {0x380c, 0x07, 0, 0},
+       {0x380d, 0x68, 0, 0}, {0x380e, 0x03, 0, 0}, {0x380f, 0xd8, 0, 0},
+       {0x3813, 0x06, 0, 0}, {0x3618, 0x00, 0, 0}, {0x3612, 0x29, 0, 0},
+       {0x3709, 0x52, 0, 0}, {0x370c, 0x03, 0, 0}, {0x3a02, 0x0b, 0, 0},
+       {0x3a03, 0x88, 0, 0}, {0x3a14, 0x0b, 0, 0}, {0x3a15, 0x88, 0, 0},
+       {0x4004, 0x02, 0, 0}, {0x3002, 0x1c, 0, 0}, {0x3006, 0xc3, 0, 0},
+       {0x4713, 0x03, 0, 0}, {0x4407, 0x04, 0, 0}, {0x460b, 0x35, 0, 0},
+       {0x460c, 0x22, 0, 0}, {0x4837, 0x22, 0, 0}, {0x3824, 0x02, 0, 0},
+       {0x5001, 0xa3, 0, 0}, {0x3034, 0x1a, 0, 0}, {0x3035, 0x21, 0, 0},
+       {0x3036, 0x46, 0, 0}, {0x3037, 0x13, 0, 0}, {0x3503, 0x00, 0, 0},
+};
+
+static struct reg_value ov5640_setting_30fps_QVGA_320_240[] = {
+       {0x3c07, 0x08, 0, 0}, {0x3820, 0x41, 0, 0}, {0x3821, 0x07, 0, 0},
+       {0x3814, 0x31, 0, 0}, {0x3815, 0x31, 0, 0}, {0x3800, 0x00, 0, 0},
+       {0x3801, 0x00, 0, 0}, {0x3802, 0x00, 0, 0}, {0x3803, 0x04, 0, 0},
+       {0x3804, 0x0a, 0, 0}, {0x3805, 0x3f, 0, 0}, {0x3806, 0x07, 0, 0},
+       {0x3807, 0x9b, 0, 0}, {0x3808, 0x01, 0, 0}, {0x3809, 0x40, 0, 0},
+       {0x380a, 0x00, 0, 0}, {0x380b, 0xf0, 0, 0}, {0x380c, 0x07, 0, 0},
+       {0x380d, 0x68, 0, 0}, {0x380e, 0x03, 0, 0}, {0x380f, 0xd8, 0, 0},
+       {0x3813, 0x06, 0, 0}, {0x3618, 0x00, 0, 0}, {0x3612, 0x29, 0, 0},
+       {0x3709, 0x52, 0, 0}, {0x370c, 0x03, 0, 0}, {0x3a02, 0x0b, 0, 0},
+       {0x3a03, 0x88, 0, 0}, {0x3a14, 0x0b, 0, 0}, {0x3a15, 0x88, 0, 0},
+       {0x4004, 0x02, 0, 0}, {0x3002, 0x1c, 0, 0}, {0x3006, 0xc3, 0, 0},
+       {0x4713, 0x03, 0, 0}, {0x4407, 0x04, 0, 0}, {0x460b, 0x35, 0, 0},
+       {0x460c, 0x22, 0, 0}, {0x4837, 0x22, 0, 0}, {0x3824, 0x02, 0, 0},
+       {0x5001, 0xa3, 0, 0}, {0x3034, 0x1a, 0, 0}, {0x3035, 0x11, 0, 0},
+       {0x3036, 0x46, 0, 0}, {0x3037, 0x13, 0, 0},
+};
+
+static struct reg_value ov5640_setting_15fps_QVGA_320_240[] = {
+       {0x3c07, 0x08, 0, 0}, {0x3820, 0x41, 0, 0}, {0x3821, 0x07, 0, 0},
+       {0x3814, 0x31, 0, 0}, {0x3815, 0x31, 0, 0}, {0x3800, 0x00, 0, 0},
+       {0x3801, 0x00, 0, 0}, {0x3802, 0x00, 0, 0}, {0x3803, 0x04, 0, 0},
+       {0x3804, 0x0a, 0, 0}, {0x3805, 0x3f, 0, 0}, {0x3806, 0x07, 0, 0},
+       {0x3807, 0x9b, 0, 0}, {0x3808, 0x01, 0, 0}, {0x3809, 0x40, 0, 0},
+       {0x380a, 0x00, 0, 0}, {0x380b, 0xf0, 0, 0}, {0x380c, 0x07, 0, 0},
+       {0x380d, 0x68, 0, 0}, {0x380e, 0x03, 0, 0}, {0x380f, 0xd8, 0, 0},
+       {0x3813, 0x06, 0, 0}, {0x3618, 0x00, 0, 0}, {0x3612, 0x29, 0, 0},
+       {0x3709, 0x52, 0, 0}, {0x370c, 0x03, 0, 0}, {0x3a02, 0x0b, 0, 0},
+       {0x3a03, 0x88, 0, 0}, {0x3a14, 0x0b, 0, 0}, {0x3a15, 0x88, 0, 0},
+       {0x4004, 0x02, 0, 0}, {0x3002, 0x1c, 0, 0}, {0x3006, 0xc3, 0, 0},
+       {0x4713, 0x03, 0, 0}, {0x4407, 0x04, 0, 0}, {0x460b, 0x35, 0, 0},
+       {0x460c, 0x22, 0, 0}, {0x4837, 0x22, 0, 0}, {0x3824, 0x02, 0, 0},
+       {0x5001, 0xa3, 0, 0}, {0x3034, 0x1a, 0, 0}, {0x3035, 0x21, 0, 0},
+       {0x3036, 0x46, 0, 0}, {0x3037, 0x13, 0, 0},
+};
+
+static struct reg_value ov5640_setting_30fps_NTSC_720_480[] = {
+       {0x3c07, 0x08, 0, 0}, {0x3820, 0x41, 0, 0}, {0x3821, 0x07, 0, 0},
+       {0x3814, 0x31, 0, 0}, {0x3815, 0x31, 0, 0}, {0x3800, 0x00, 0, 0},
+       {0x3801, 0x00, 0, 0}, {0x3802, 0x00, 0, 0}, {0x3803, 0x04, 0, 0},
+       {0x3804, 0x0a, 0, 0}, {0x3805, 0x3f, 0, 0}, {0x3806, 0x06, 0, 0},
+       {0x3807, 0xd4, 0, 0}, {0x3808, 0x02, 0, 0}, {0x3809, 0xd0, 0, 0},
+       {0x380a, 0x01, 0, 0}, {0x380b, 0xe0, 0, 0}, {0x380c, 0x07, 0, 0},
+       {0x380d, 0x68, 0, 0}, {0x380e, 0x03, 0, 0}, {0x380f, 0xd8, 0, 0},
+       {0x3813, 0x06, 0, 0}, {0x3618, 0x00, 0, 0}, {0x3612, 0x29, 0, 0},
+       {0x3709, 0x52, 0, 0}, {0x370c, 0x03, 0, 0}, {0x3a02, 0x0b, 0, 0},
+       {0x3a03, 0x88, 0, 0}, {0x3a14, 0x0b, 0, 0}, {0x3a15, 0x88, 0, 0},
+       {0x4004, 0x02, 0, 0}, {0x3002, 0x1c, 0, 0}, {0x3006, 0xc3, 0, 0},
+       {0x4713, 0x03, 0, 0}, {0x4407, 0x04, 0, 0}, {0x460b, 0x35, 0, 0},
+       {0x460c, 0x22, 0, 0}, {0x4837, 0x22, 0, 0}, {0x3824, 0x02, 0, 0},
+       {0x5001, 0xa3, 0, 0}, {0x3034, 0x1a, 0, 0}, {0x3035, 0x11, 0, 0},
+       {0x3036, 0x46, 0, 0}, {0x3037, 0x13, 0, 0},
+};
+
+static struct reg_value ov5640_setting_15fps_NTSC_720_480[] = {
+       {0x3c07, 0x08, 0, 0}, {0x3820, 0x41, 0, 0}, {0x3821, 0x07, 0, 0},
+       {0x3814, 0x31, 0, 0}, {0x3815, 0x31, 0, 0}, {0x3800, 0x00, 0, 0},
+       {0x3801, 0x00, 0, 0}, {0x3802, 0x00, 0, 0}, {0x3803, 0x04, 0, 0},
+       {0x3804, 0x0a, 0, 0}, {0x3805, 0x3f, 0, 0}, {0x3806, 0x06, 0, 0},
+       {0x3807, 0xd4, 0, 0}, {0x3808, 0x02, 0, 0}, {0x3809, 0xd0, 0, 0},
+       {0x380a, 0x01, 0, 0}, {0x380b, 0xe0, 0, 0}, {0x380c, 0x07, 0, 0},
+       {0x380d, 0x68, 0, 0}, {0x380e, 0x03, 0, 0}, {0x380f, 0xd8, 0, 0},
+       {0x3813, 0x06, 0, 0}, {0x3618, 0x00, 0, 0}, {0x3612, 0x29, 0, 0},
+       {0x3709, 0x52, 0, 0}, {0x370c, 0x03, 0, 0}, {0x3a02, 0x0b, 0, 0},
+       {0x3a03, 0x88, 0, 0}, {0x3a14, 0x0b, 0, 0}, {0x3a15, 0x88, 0, 0},
+       {0x4004, 0x02, 0, 0}, {0x3002, 0x1c, 0, 0}, {0x3006, 0xc3, 0, 0},
+       {0x4713, 0x03, 0, 0}, {0x4407, 0x04, 0, 0}, {0x460b, 0x35, 0, 0},
+       {0x460c, 0x22, 0, 0}, {0x4837, 0x22, 0, 0}, {0x3824, 0x02, 0, 0},
+       {0x5001, 0xa3, 0, 0}, {0x3034, 0x1a, 0, 0}, {0x3035, 0x21, 0, 0},
+       {0x3036, 0x46, 0, 0}, {0x3037, 0x13, 0, 0},
+};
+
+static struct reg_value ov5640_setting_30fps_PAL_720_576[] = {
+       {0x3c07, 0x08, 0, 0}, {0x3820, 0x41, 0, 0}, {0x3821, 0x07, 0, 0},
+       {0x3814, 0x31, 0, 0}, {0x3815, 0x31, 0, 0}, {0x3800, 0x00, 0, 0},
+       {0x3801, 0x60, 0, 0}, {0x3802, 0x00, 0, 0}, {0x3803, 0x04, 0, 0},
+       {0x3804, 0x09, 0, 0}, {0x3805, 0x7e, 0, 0}, {0x3806, 0x07, 0, 0},
+       {0x3807, 0x9b, 0, 0}, {0x3808, 0x02, 0, 0}, {0x3809, 0xd0, 0, 0},
+       {0x380a, 0x02, 0, 0}, {0x380b, 0x40, 0, 0}, {0x380c, 0x07, 0, 0},
+       {0x380d, 0x68, 0, 0}, {0x380e, 0x03, 0, 0}, {0x380f, 0xd8, 0, 0},
+       {0x3813, 0x06, 0, 0}, {0x3618, 0x00, 0, 0}, {0x3612, 0x29, 0, 0},
+       {0x3709, 0x52, 0, 0}, {0x370c, 0x03, 0, 0}, {0x3a02, 0x0b, 0, 0},
+       {0x3a03, 0x88, 0, 0}, {0x3a14, 0x0b, 0, 0}, {0x3a15, 0x88, 0, 0},
+       {0x4004, 0x02, 0, 0}, {0x3002, 0x1c, 0, 0}, {0x3006, 0xc3, 0, 0},
+       {0x4713, 0x03, 0, 0}, {0x4407, 0x04, 0, 0}, {0x460b, 0x35, 0, 0},
+       {0x460c, 0x22, 0, 0}, {0x4837, 0x22, 0, 0}, {0x3824, 0x02, 0, 0},
+       {0x5001, 0xa3, 0, 0}, {0x3034, 0x1a, 0, 0}, {0x3035, 0x11, 0, 0},
+       {0x3036, 0x46, 0, 0}, {0x3037, 0x13, 0, 0},
+};
+
+static struct reg_value ov5640_setting_15fps_PAL_720_576[] = {
+       {0x3c07, 0x08, 0, 0}, {0x3820, 0x41, 0, 0}, {0x3821, 0x07, 0, 0},
+       {0x3814, 0x31, 0, 0}, {0x3815, 0x31, 0, 0}, {0x3800, 0x00, 0, 0},
+       {0x3801, 0x60, 0, 0}, {0x3802, 0x00, 0, 0}, {0x3803, 0x04, 0, 0},
+       {0x3804, 0x09, 0, 0}, {0x3805, 0x7e, 0, 0}, {0x3806, 0x07, 0, 0},
+       {0x3807, 0x9b, 0, 0}, {0x3808, 0x02, 0, 0}, {0x3809, 0xd0, 0, 0},
+       {0x380a, 0x02, 0, 0}, {0x380b, 0x40, 0, 0}, {0x380c, 0x07, 0, 0},
+       {0x380d, 0x68, 0, 0}, {0x380e, 0x03, 0, 0}, {0x380f, 0xd8, 0, 0},
+       {0x3813, 0x06, 0, 0}, {0x3618, 0x00, 0, 0}, {0x3612, 0x29, 0, 0},
+       {0x3709, 0x52, 0, 0}, {0x370c, 0x03, 0, 0}, {0x3a02, 0x0b, 0, 0},
+       {0x3a03, 0x88, 0, 0}, {0x3a14, 0x0b, 0, 0}, {0x3a15, 0x88, 0, 0},
+       {0x4004, 0x02, 0, 0}, {0x3002, 0x1c, 0, 0}, {0x3006, 0xc3, 0, 0},
+       {0x4713, 0x03, 0, 0}, {0x4407, 0x04, 0, 0}, {0x460b, 0x35, 0, 0},
+       {0x460c, 0x22, 0, 0}, {0x4837, 0x22, 0, 0}, {0x3824, 0x02, 0, 0},
+       {0x5001, 0xa3, 0, 0}, {0x3034, 0x1a, 0, 0}, {0x3035, 0x21, 0, 0},
+       {0x3036, 0x46, 0, 0}, {0x3037, 0x13, 0, 0},
+};
+
+static struct reg_value ov5640_setting_30fps_720P_1280_720[] = {
+       {0x3035, 0x21, 0, 0}, {0x3036, 0x69, 0, 0}, {0x3c07, 0x07, 0, 0},
+       {0x3820, 0x41, 0, 0}, {0x3821, 0x07, 0, 0}, {0x3814, 0x31, 0, 0},
+       {0x3815, 0x31, 0, 0}, {0x3800, 0x00, 0, 0}, {0x3801, 0x00, 0, 0},
+       {0x3802, 0x00, 0, 0}, {0x3803, 0xfa, 0, 0}, {0x3804, 0x0a, 0, 0},
+       {0x3805, 0x3f, 0, 0}, {0x3806, 0x06, 0, 0}, {0x3807, 0xa9, 0, 0},
+       {0x3808, 0x05, 0, 0}, {0x3809, 0x00, 0, 0}, {0x380a, 0x02, 0, 0},
+       {0x380b, 0xd0, 0, 0}, {0x380c, 0x07, 0, 0}, {0x380d, 0x64, 0, 0},
+       {0x380e, 0x02, 0, 0}, {0x380f, 0xe4, 0, 0}, {0x3813, 0x04, 0, 0},
+       {0x3618, 0x00, 0, 0}, {0x3612, 0x29, 0, 0}, {0x3709, 0x52, 0, 0},
+       {0x370c, 0x03, 0, 0}, {0x3a02, 0x02, 0, 0}, {0x3a03, 0xe0, 0, 0},
+       {0x3a14, 0x02, 0, 0}, {0x3a15, 0xe0, 0, 0}, {0x4004, 0x02, 0, 0},
+       {0x3002, 0x1c, 0, 0}, {0x3006, 0xc3, 0, 0}, {0x4713, 0x03, 0, 0},
+       {0x4407, 0x04, 0, 0}, {0x460b, 0x37, 0, 0}, {0x460c, 0x20, 0, 0},
+       {0x4837, 0x16, 0, 0}, {0x3824, 0x04, 0, 0}, {0x5001, 0x83, 0, 0},
+       {0x3503, 0x00, 0, 0},
+};
+
+static struct reg_value ov5640_setting_15fps_720P_1280_720[] = {
+       {0x3035, 0x41, 0, 0}, {0x3036, 0x69, 0, 0}, {0x3c07, 0x07, 0, 0},
+       {0x3820, 0x41, 0, 0}, {0x3821, 0x07, 0, 0}, {0x3814, 0x31, 0, 0},
+       {0x3815, 0x31, 0, 0}, {0x3800, 0x00, 0, 0}, {0x3801, 0x00, 0, 0},
+       {0x3802, 0x00, 0, 0}, {0x3803, 0xfa, 0, 0}, {0x3804, 0x0a, 0, 0},
+       {0x3805, 0x3f, 0, 0}, {0x3806, 0x06, 0, 0}, {0x3807, 0xa9, 0, 0},
+       {0x3808, 0x05, 0, 0}, {0x3809, 0x00, 0, 0}, {0x380a, 0x02, 0, 0},
+       {0x380b, 0xd0, 0, 0}, {0x380c, 0x07, 0, 0}, {0x380d, 0x64, 0, 0},
+       {0x380e, 0x02, 0, 0}, {0x380f, 0xe4, 0, 0}, {0x3813, 0x04, 0, 0},
+       {0x3618, 0x00, 0, 0}, {0x3612, 0x29, 0, 0}, {0x3709, 0x52, 0, 0},
+       {0x370c, 0x03, 0, 0}, {0x3a02, 0x02, 0, 0}, {0x3a03, 0xe0, 0, 0},
+       {0x3a14, 0x02, 0, 0}, {0x3a15, 0xe0, 0, 0}, {0x4004, 0x02, 0, 0},
+       {0x3002, 0x1c, 0, 0}, {0x3006, 0xc3, 0, 0}, {0x4713, 0x03, 0, 0},
+       {0x4407, 0x04, 0, 0}, {0x460b, 0x37, 0, 0}, {0x460c, 0x20, 0, 0},
+       {0x4837, 0x16, 0, 0}, {0x3824, 0x04, 0, 0}, {0x5001, 0x83, 0, 0},
+       {0x3503, 0x00, 0, 0},
+};
+
+static struct reg_value ov5640_setting_30fps_QCIF_176_144[] = {
+       {0x3c07, 0x08, 0, 0}, {0x3820, 0x41, 0, 0}, {0x3821, 0x07, 0, 0},
+       {0x3814, 0x31, 0, 0}, {0x3815, 0x31, 0, 0}, {0x3800, 0x00, 0, 0},
+       {0x3801, 0x00, 0, 0}, {0x3802, 0x00, 0, 0}, {0x3803, 0x04, 0, 0},
+       {0x3804, 0x0a, 0, 0}, {0x3805, 0x3f, 0, 0}, {0x3806, 0x07, 0, 0},
+       {0x3807, 0x9b, 0, 0}, {0x3808, 0x00, 0, 0}, {0x3809, 0xb0, 0, 0},
+       {0x380a, 0x00, 0, 0}, {0x380b, 0x90, 0, 0}, {0x380c, 0x07, 0, 0},
+       {0x380d, 0x68, 0, 0}, {0x380e, 0x03, 0, 0}, {0x380f, 0xd8, 0, 0},
+       {0x3813, 0x06, 0, 0}, {0x3618, 0x00, 0, 0}, {0x3612, 0x29, 0, 0},
+       {0x3709, 0x52, 0, 0}, {0x370c, 0x03, 0, 0}, {0x3a02, 0x0b, 0, 0},
+       {0x3a03, 0x88, 0, 0}, {0x3a14, 0x0b, 0, 0}, {0x3a15, 0x88, 0, 0},
+       {0x4004, 0x02, 0, 0}, {0x3002, 0x1c, 0, 0}, {0x3006, 0xc3, 0, 0},
+       {0x4713, 0x03, 0, 0}, {0x4407, 0x04, 0, 0}, {0x460b, 0x35, 0, 0},
+       {0x460c, 0x22, 0, 0}, {0x4837, 0x22, 0, 0}, {0x3824, 0x02, 0, 0},
+       {0x5001, 0xa3, 0, 0}, {0x3034, 0x1a, 0, 0}, {0x3035, 0x11, 0, 0},
+       {0x3036, 0x46, 0, 0}, {0x3037, 0x13, 0, 0},
+};
+
+static struct reg_value ov5640_setting_15fps_QCIF_176_144[] = {
+       {0x3c07, 0x08, 0, 0}, {0x3820, 0x41, 0, 0}, {0x3821, 0x07, 0, 0},
+       {0x3814, 0x31, 0, 0}, {0x3815, 0x31, 0, 0}, {0x3800, 0x00, 0, 0},
+       {0x3801, 0x00, 0, 0}, {0x3802, 0x00, 0, 0}, {0x3803, 0x04, 0, 0},
+       {0x3804, 0x0a, 0, 0}, {0x3805, 0x3f, 0, 0}, {0x3806, 0x07, 0, 0},
+       {0x3807, 0x9b, 0, 0}, {0x3808, 0x00, 0, 0}, {0x3809, 0xb0, 0, 0},
+       {0x380a, 0x00, 0, 0}, {0x380b, 0x90, 0, 0}, {0x380c, 0x07, 0, 0},
+       {0x380d, 0x68, 0, 0}, {0x380e, 0x03, 0, 0}, {0x380f, 0xd8, 0, 0},
+       {0x3813, 0x06, 0, 0}, {0x3618, 0x00, 0, 0}, {0x3612, 0x29, 0, 0},
+       {0x3709, 0x52, 0, 0}, {0x370c, 0x03, 0, 0}, {0x3a02, 0x0b, 0, 0},
+       {0x3a03, 0x88, 0, 0}, {0x3a14, 0x0b, 0, 0}, {0x3a15, 0x88, 0, 0},
+       {0x4004, 0x02, 0, 0}, {0x3002, 0x1c, 0, 0}, {0x3006, 0xc3, 0, 0},
+       {0x4713, 0x03, 0, 0}, {0x4407, 0x04, 0, 0}, {0x460b, 0x35, 0, 0},
+       {0x460c, 0x22, 0, 0}, {0x4837, 0x22, 0, 0}, {0x3824, 0x02, 0, 0},
+       {0x5001, 0xa3, 0, 0}, {0x3034, 0x1a, 0, 0}, {0x3035, 0x21, 0, 0},
+       {0x3036, 0x46, 0, 0}, {0x3037, 0x13, 0, 0},
+};
+
+static struct reg_value ov5640_setting_30fps_XGA_1024_768[] = {
+       {0x3c07, 0x08, 0, 0}, {0x3820, 0x41, 0, 0}, {0x3821, 0x07, 0, 0},
+       {0x3814, 0x31, 0, 0}, {0x3815, 0x31, 0, 0}, {0x3800, 0x00, 0, 0},
+       {0x3801, 0x00, 0, 0}, {0x3802, 0x00, 0, 0}, {0x3803, 0x04, 0, 0},
+       {0x3804, 0x0a, 0, 0}, {0x3805, 0x3f, 0, 0}, {0x3806, 0x07, 0, 0},
+       {0x3807, 0x9b, 0, 0}, {0x3808, 0x04, 0, 0}, {0x3809, 0x00, 0, 0},
+       {0x380a, 0x03, 0, 0}, {0x380b, 0x00, 0, 0}, {0x380c, 0x07, 0, 0},
+       {0x380d, 0x68, 0, 0}, {0x380e, 0x03, 0, 0}, {0x380f, 0xd8, 0, 0},
+       {0x3813, 0x06, 0, 0}, {0x3618, 0x00, 0, 0}, {0x3612, 0x29, 0, 0},
+       {0x3709, 0x52, 0, 0}, {0x370c, 0x03, 0, 0}, {0x3a02, 0x0b, 0, 0},
+       {0x3a03, 0x88, 0, 0}, {0x3a14, 0x0b, 0, 0}, {0x3a15, 0x88, 0, 0},
+       {0x4004, 0x02, 0, 0}, {0x3002, 0x1c, 0, 0}, {0x3006, 0xc3, 0, 0},
+       {0x4713, 0x03, 0, 0}, {0x4407, 0x04, 0, 0}, {0x460b, 0x35, 0, 0},
+       {0x460c, 0x20, 0, 0}, {0x4837, 0x22, 0, 0}, {0x3824, 0x01, 0, 0},
+       {0x5001, 0xa3, 0, 0}, {0x3034, 0x1a, 0, 0}, {0x3035, 0x21, 0, 0},
+       {0x3036, 0x69, 0, 0}, {0x3037, 0x13, 0, 0},
+};
+
+static struct reg_value ov5640_setting_15fps_XGA_1024_768[] = {
+       {0x3c07, 0x08, 0, 0}, {0x3820, 0x41, 0, 0}, {0x3821, 0x07, 0, 0},
+       {0x3814, 0x31, 0, 0}, {0x3815, 0x31, 0, 0}, {0x3800, 0x00, 0, 0},
+       {0x3801, 0x00, 0, 0}, {0x3802, 0x00, 0, 0}, {0x3803, 0x04, 0, 0},
+       {0x3804, 0x0a, 0, 0}, {0x3805, 0x3f, 0, 0}, {0x3806, 0x07, 0, 0},
+       {0x3807, 0x9b, 0, 0}, {0x3808, 0x04, 0, 0}, {0x3809, 0x00, 0, 0},
+       {0x380a, 0x03, 0, 0}, {0x380b, 0x00, 0, 0}, {0x380c, 0x07, 0, 0},
+       {0x380d, 0x68, 0, 0}, {0x380e, 0x03, 0, 0}, {0x380f, 0xd8, 0, 0},
+       {0x3813, 0x06, 0, 0}, {0x3618, 0x00, 0, 0}, {0x3612, 0x29, 0, 0},
+       {0x3709, 0x52, 0, 0}, {0x370c, 0x03, 0, 0}, {0x3a02, 0x0b, 0, 0},
+       {0x3a03, 0x88, 0, 0}, {0x3a14, 0x0b, 0, 0}, {0x3a15, 0x88, 0, 0},
+       {0x4004, 0x02, 0, 0}, {0x3002, 0x1c, 0, 0}, {0x3006, 0xc3, 0, 0},
+       {0x4713, 0x03, 0, 0}, {0x4407, 0x04, 0, 0}, {0x460b, 0x35, 0, 0},
+       {0x460c, 0x20, 0, 0}, {0x4837, 0x22, 0, 0}, {0x3824, 0x01, 0, 0},
+       {0x5001, 0xa3, 0, 0}, {0x3034, 0x1a, 0, 0}, {0x3035, 0x21, 0, 0},
+       {0x3036, 0x46, 0, 0}, {0x3037, 0x13, 0, 0},
+};
+
+
+static struct reg_value ov5640_setting_15fps_1080P_1920_1080[] = {
+       {0x3c07, 0x07, 0, 0}, {0x3820, 0x40, 0, 0}, {0x3821, 0x06, 0, 0},
+       {0x3814, 0x11, 0, 0}, {0x3815, 0x11, 0, 0}, {0x3800, 0x00, 0, 0},
+       {0x3801, 0x00, 0, 0}, {0x3802, 0x00, 0, 0}, {0x3803, 0xee, 0, 0},
+       {0x3804, 0x0a, 0, 0}, {0x3805, 0x3f, 0, 0}, {0x3806, 0x05, 0, 0},
+       {0x3807, 0xc3, 0, 0}, {0x3808, 0x07, 0, 0}, {0x3809, 0x80, 0, 0},
+       {0x380a, 0x04, 0, 0}, {0x380b, 0x38, 0, 0}, {0x380c, 0x0b, 0, 0},
+       {0x380d, 0x1c, 0, 0}, {0x380e, 0x07, 0, 0}, {0x380f, 0xb0, 0, 0},
+       {0x3813, 0x04, 0, 0}, {0x3618, 0x04, 0, 0}, {0x3612, 0x2b, 0, 0},
+       {0x3709, 0x12, 0, 0}, {0x370c, 0x00, 0, 0}, {0x3a02, 0x07, 0, 0},
+       {0x3a03, 0xae, 0, 0}, {0x3a14, 0x07, 0, 0}, {0x3a15, 0xae, 0, 0},
+       {0x4004, 0x06, 0, 0}, {0x3002, 0x1c, 0, 0}, {0x3006, 0xc3, 0, 0},
+       {0x4713, 0x02, 0, 0}, {0x4407, 0x0c, 0, 0}, {0x460b, 0x37, 0, 0},
+       {0x460c, 0x20, 0, 0}, {0x4837, 0x2c, 0, 0}, {0x3824, 0x01, 0, 0},
+       {0x5001, 0x83, 0, 0}, {0x3034, 0x1a, 0, 0}, {0x3035, 0x21, 0, 0},
+       {0x3036, 0x69, 0, 0}, {0x3037, 0x13, 0, 0},
+};
+
+static struct reg_value ov5640_setting_15fps_QSXGA_2592_1944[] = {
+       {0x3c07, 0x07, 0, 0}, {0x3820, 0x40, 0, 0}, {0x3821, 0x06, 0, 0},
+       {0x3814, 0x11, 0, 0}, {0x3815, 0x11, 0, 0}, {0x3800, 0x00, 0, 0},
+       {0x3801, 0x00, 0, 0}, {0x3802, 0x00, 0, 0}, {0x3803, 0x00, 0, 0},
+       {0x3804, 0x0a, 0, 0}, {0x3805, 0x3f, 0, 0}, {0x3806, 0x07, 0, 0},
+       {0x3807, 0x9f, 0, 0}, {0x3808, 0x0a, 0, 0}, {0x3809, 0x20, 0, 0},
+       {0x380a, 0x07, 0, 0}, {0x380b, 0x98, 0, 0}, {0x380c, 0x0b, 0, 0},
+       {0x380d, 0x1c, 0, 0}, {0x380e, 0x07, 0, 0}, {0x380f, 0xb0, 0, 0},
+       {0x3813, 0x04, 0, 0}, {0x3618, 0x04, 0, 0}, {0x3612, 0x2b, 0, 0},
+       {0x3709, 0x12, 0, 0}, {0x370c, 0x00, 0, 0}, {0x3a02, 0x07, 0, 0},
+       {0x3a03, 0xae, 0, 0}, {0x3a14, 0x07, 0, 0}, {0x3a15, 0xae, 0, 0},
+       {0x4004, 0x06, 0, 0}, {0x3002, 0x1c, 0, 0}, {0x3006, 0xc3, 0, 0},
+       {0x4713, 0x02, 0, 0}, {0x4407, 0x0c, 0, 0}, {0x460b, 0x37, 0, 0},
+       {0x460c, 0x20, 0, 0}, {0x4837, 0x2c, 0, 0}, {0x3824, 0x01, 0, 0},
+       {0x5001, 0x83, 0, 0}, {0x3034, 0x1a, 0, 0}, {0x3035, 0x21, 0, 0},
+       {0x3036, 0x69, 0, 0}, {0x3037, 0x13, 0, 0},
+};
+
+static struct ov5640_mode_info ov5640_mode_info_data[2][ov5640_mode_MAX + 1] = {
+       {
+               {ov5640_mode_VGA_640_480,      640,  480,
+               ov5640_setting_15fps_VGA_640_480,
+               ARRAY_SIZE(ov5640_setting_15fps_VGA_640_480)},
+               {ov5640_mode_QVGA_320_240,     320,  240,
+               ov5640_setting_15fps_QVGA_320_240,
+               ARRAY_SIZE(ov5640_setting_15fps_QVGA_320_240)},
+               {ov5640_mode_NTSC_720_480,     720,  480,
+               ov5640_setting_15fps_NTSC_720_480,
+               ARRAY_SIZE(ov5640_setting_15fps_NTSC_720_480)},
+               {ov5640_mode_PAL_720_576,      720,  576,
+               ov5640_setting_15fps_PAL_720_576,
+               ARRAY_SIZE(ov5640_setting_15fps_PAL_720_576)},
+               {ov5640_mode_720P_1280_720,   1280,  720,
+               ov5640_setting_15fps_720P_1280_720,
+               ARRAY_SIZE(ov5640_setting_15fps_720P_1280_720)},
+               {ov5640_mode_1080P_1920_1080, 1920, 1080,
+               ov5640_setting_15fps_1080P_1920_1080,
+               ARRAY_SIZE(ov5640_setting_15fps_1080P_1920_1080)},
+               {ov5640_mode_QSXGA_2592_1944, 2592, 1944,
+               ov5640_setting_15fps_QSXGA_2592_1944,
+               ARRAY_SIZE(ov5640_setting_15fps_QSXGA_2592_1944)},
+               {ov5640_mode_QCIF_176_144,     176,  144,
+               ov5640_setting_15fps_QCIF_176_144,
+               ARRAY_SIZE(ov5640_setting_15fps_QCIF_176_144)},
+               {ov5640_mode_XGA_1024_768,    1024,  768,
+               ov5640_setting_15fps_XGA_1024_768,
+               ARRAY_SIZE(ov5640_setting_15fps_XGA_1024_768)},
+       },
+       {
+               {ov5640_mode_VGA_640_480,      640,  480,
+               ov5640_setting_30fps_VGA_640_480,
+               ARRAY_SIZE(ov5640_setting_30fps_VGA_640_480)},
+               {ov5640_mode_QVGA_320_240,     320,  240,
+               ov5640_setting_30fps_QVGA_320_240,
+               ARRAY_SIZE(ov5640_setting_30fps_QVGA_320_240)},
+               {ov5640_mode_NTSC_720_480,     720,  480,
+               ov5640_setting_30fps_NTSC_720_480,
+               ARRAY_SIZE(ov5640_setting_30fps_NTSC_720_480)},
+               {ov5640_mode_PAL_720_576,      720,  576,
+               ov5640_setting_30fps_PAL_720_576,
+               ARRAY_SIZE(ov5640_setting_30fps_PAL_720_576)},
+               {ov5640_mode_720P_1280_720,   1280,  720,
+               ov5640_setting_30fps_720P_1280_720,
+               ARRAY_SIZE(ov5640_setting_30fps_720P_1280_720)},
+               {ov5640_mode_1080P_1920_1080, 0, 0, NULL, 0},
+               {ov5640_mode_QSXGA_2592_1944, 0, 0, NULL, 0},
+               {ov5640_mode_QCIF_176_144,     176,  144,
+               ov5640_setting_30fps_QCIF_176_144,
+               ARRAY_SIZE(ov5640_setting_30fps_QCIF_176_144)},
+               {ov5640_mode_XGA_1024_768,    1024,  768,
+               ov5640_setting_30fps_XGA_1024_768,
+               ARRAY_SIZE(ov5640_setting_30fps_XGA_1024_768)},
+       },
+};
+
+static struct regulator *io_regulator;
+static struct regulator *core_regulator;
+static struct regulator *analog_regulator;
+
+static int ov5640_probe(struct i2c_client *adapter,
+                               const struct i2c_device_id *device_id);
+static int ov5640_remove(struct i2c_client *client);
+
+static s32 ov5640_read_reg(u16 reg, u8 *val);
+static s32 ov5640_write_reg(u16 reg, u8 val);
+
+static const struct i2c_device_id ov5640_id[] = {
+       {"ov5640", 0},
+       {"ov564x", 0},
+       {},
+};
+
+MODULE_DEVICE_TABLE(i2c, ov5640_id);
+
+static struct i2c_driver ov5640_i2c_driver = {
+       .driver = {
+                 .owner = THIS_MODULE,
+                 .name  = "ov5640",
+                 },
+       .probe  = ov5640_probe,
+       .remove = ov5640_remove,
+       .id_table = ov5640_id,
+};
+
+static inline void ov5640_power_down(int enable)
+{
+       gpio_set_value(pwn_gpio, enable);
+
+       msleep(2);
+}
+
+static inline void ov5640_reset(void)
+{
+       /* camera reset */
+       gpio_set_value(rst_gpio, 1);
+
+       /* camera power down */
+       gpio_set_value(pwn_gpio, 1);
+       msleep(5);
+       gpio_set_value(pwn_gpio, 0);
+       msleep(5);
+       gpio_set_value(rst_gpio, 0);
+       msleep(1);
+       gpio_set_value(rst_gpio, 1);
+       msleep(5);
+       gpio_set_value(pwn_gpio, 1);
+}
+
+static int ov5640_regulator_enable(struct device *dev)
+{
+       int ret = 0;
+
+       io_regulator = devm_regulator_get(dev, "DOVDD");
+       if (!IS_ERR(io_regulator)) {
+               regulator_set_voltage(io_regulator,
+                                     OV5640_VOLTAGE_DIGITAL_IO,
+                                     OV5640_VOLTAGE_DIGITAL_IO);
+               ret = regulator_enable(io_regulator);
+               if (ret) {
+                       dev_err(dev, "set io voltage failed\n");
+                       return ret;
+               } else {
+                       dev_dbg(dev, "set io voltage ok\n");
+               }
+       } else {
+               io_regulator = NULL;
+               dev_warn(dev, "cannot get io voltage\n");
+       }
+
+       core_regulator = devm_regulator_get(dev, "DVDD");
+       if (!IS_ERR(core_regulator)) {
+               regulator_set_voltage(core_regulator,
+                                     OV5640_VOLTAGE_DIGITAL_CORE,
+                                     OV5640_VOLTAGE_DIGITAL_CORE);
+               ret = regulator_enable(core_regulator);
+               if (ret) {
+                       dev_err(dev, "set core voltage failed\n");
+                       return ret;
+               } else {
+                       dev_dbg(dev, "set core voltage ok\n");
+               }
+       } else {
+               core_regulator = NULL;
+               dev_warn(dev, "cannot get core voltage\n");
+       }
+
+       analog_regulator = devm_regulator_get(dev, "AVDD");
+       if (!IS_ERR(analog_regulator)) {
+               regulator_set_voltage(analog_regulator,
+                                     OV5640_VOLTAGE_ANALOG,
+                                     OV5640_VOLTAGE_ANALOG);
+               ret = regulator_enable(analog_regulator);
+               if (ret) {
+                       dev_err(dev, "set analog voltage failed\n");
+                       return ret;
+               } else {
+                       dev_dbg(dev, "set analog voltage ok\n");
+               }
+       } else {
+               analog_regulator = NULL;
+               dev_warn(dev, "cannot get analog voltage\n");
+       }
+
+       return ret;
+}
+
+static s32 ov5640_write_reg(u16 reg, u8 val)
+{
+       u8 au8Buf[3] = {0};
+
+       au8Buf[0] = reg >> 8;
+       au8Buf[1] = reg & 0xff;
+       au8Buf[2] = val;
+
+       if (i2c_master_send(ov5640_data.i2c_client, au8Buf, 3) < 0) {
+               pr_err("%s:write reg error:reg=%x,val=%x\n",
+                       __func__, reg, val);
+               return -1;
+       }
+
+       return 0;
+}
+
+static s32 ov5640_read_reg(u16 reg, u8 *val)
+{
+       u8 au8RegBuf[2] = {0};
+       u8 u8RdVal = 0;
+
+       au8RegBuf[0] = reg >> 8;
+       au8RegBuf[1] = reg & 0xff;
+
+       if (2 != i2c_master_send(ov5640_data.i2c_client, au8RegBuf, 2)) {
+               pr_err("%s:write reg error:reg=%x\n",
+                               __func__, reg);
+               return -1;
+       }
+
+       if (1 != i2c_master_recv(ov5640_data.i2c_client, &u8RdVal, 1)) {
+               pr_err("%s:read reg error:reg=%x,val=%x\n",
+                               __func__, reg, u8RdVal);
+               return -1;
+       }
+
+       *val = u8RdVal;
+
+       return u8RdVal;
+}
+
+static void ov5640_soft_reset(void)
+{
+       /* sysclk from pad */
+       ov5640_write_reg(0x3103, 0x11);
+
+       /* software reset */
+       ov5640_write_reg(0x3008, 0x82);
+
+       /* delay at least 5ms */
+       msleep(10);
+}
+
+/* set sensor driver capability
+ * 0x302c[7:6] - strength
+       00     - 1x
+       01     - 2x
+       10     - 3x
+       11     - 4x
+ */
+static int ov5640_driver_capability(int strength)
+{
+       u8 temp = 0;
+
+       if (strength > 4 || strength < 1) {
+               pr_err("The valid driver capability of ov5640 is 1x~4x\n");
+               return -EINVAL;
+       }
+
+       ov5640_read_reg(0x302c, &temp);
+
+       temp &= ~0xc0;  /* clear [7:6] */
+       temp |= ((strength - 1) << 6);  /* set [7:6] */
+
+       ov5640_write_reg(0x302c, temp);
+
+       return 0;
+}
+
+/* calculate sysclk */
+static int ov5640_get_sysclk(void)
+{
+       int xvclk = ov5640_data.mclk / 10000;
+       int sysclk;
+       int temp1, temp2;
+       int Multiplier, PreDiv, VCO, SysDiv, Pll_rdiv, Bit_div2x, sclk_rdiv;
+       int sclk_rdiv_map[] = {1, 2, 4, 8};
+       u8 regval = 0;
+
+       temp1 = ov5640_read_reg(0x3034, &regval);
+       temp2 = temp1 & 0x0f;
+       if (temp2 == 8 || temp2 == 10) {
+               Bit_div2x = temp2 / 2;
+       } else {
+               pr_err("ov5640: unsupported bit mode %d\n", temp2);
+               return -1;
+       }
+
+       temp1 = ov5640_read_reg(0x3035, &regval);
+       SysDiv = temp1 >> 4;
+       if (SysDiv == 0)
+               SysDiv = 16;
+
+       temp1 = ov5640_read_reg(0x3036, &regval);
+       Multiplier = temp1;
+       temp1 = ov5640_read_reg(0x3037, &regval);
+       PreDiv = temp1 & 0x0f;
+       Pll_rdiv = ((temp1 >> 4) & 0x01) + 1;
+
+       temp1 = ov5640_read_reg(0x3108, &regval);
+       temp2 = temp1 & 0x03;
+
+       sclk_rdiv = sclk_rdiv_map[temp2];
+       VCO = xvclk * Multiplier / PreDiv;
+       sysclk = VCO / SysDiv / Pll_rdiv * 2 / Bit_div2x / sclk_rdiv;
+
+       return sysclk;
+}
+
+/* read HTS from register settings */
+static int ov5640_get_HTS(void)
+{
+       int HTS;
+       u8 temp = 0;
+
+       HTS = ov5640_read_reg(0x380c, &temp);
+       HTS = (HTS<<8) + ov5640_read_reg(0x380d, &temp);
+       return HTS;
+}
+
+/* read VTS from register settings */
+static int ov5640_get_VTS(void)
+{
+       int VTS;
+       u8 temp = 0;
+
+       VTS = ov5640_read_reg(0x380e, &temp);
+       VTS = (VTS<<8) + ov5640_read_reg(0x380f, &temp);
+
+       return VTS;
+}
+
+/* write VTS to registers */
+static int ov5640_set_VTS(int VTS)
+{
+       int temp;
+
+       temp = VTS & 0xff;
+       ov5640_write_reg(0x380f, temp);
+
+       temp = VTS>>8;
+       ov5640_write_reg(0x380e, temp);
+       return 0;
+}
+
+/* read shutter, in number of line period */
+static int ov5640_get_shutter(void)
+{
+       int shutter;
+       u8 regval;
+
+       shutter = (ov5640_read_reg(0x03500, &regval) & 0x0f);
+
+       shutter = (shutter<<8) + ov5640_read_reg(0x3501, &regval);
+       shutter = (shutter<<4) + (ov5640_read_reg(0x3502, &regval)>>4);
+
+       return shutter;
+}
+
+/* write shutter, in number of line period */
+static int ov5640_set_shutter(int shutter)
+{
+       int temp;
+
+       shutter = shutter & 0xffff;
+       temp = shutter & 0x0f;
+       temp = temp<<4;
+       ov5640_write_reg(0x3502, temp);
+
+       temp = shutter & 0xfff;
+       temp = temp>>4;
+       ov5640_write_reg(0x3501, temp);
+
+       temp = shutter>>12;
+       ov5640_write_reg(0x3500, temp);
+
+       return 0;
+}
+
+/* read gain, 16 = 1x */
+static int ov5640_get_gain16(void)
+{
+       int gain16;
+       u8 regval;
+
+       gain16 = ov5640_read_reg(0x350a, &regval) & 0x03;
+       gain16 = (gain16<<8) + ov5640_read_reg(0x350b, &regval);
+
+       return gain16;
+}
+
+/* write gain, 16 = 1x */
+static int ov5640_set_gain16(int gain16)
+{
+       int temp;
+
+       gain16 = gain16 & 0x3ff;
+       temp = gain16 & 0xff;
+
+       ov5640_write_reg(0x350b, temp);
+       temp = gain16>>8;
+
+       ov5640_write_reg(0x350a, temp);
+       return 0;
+}
+
+/* get banding filter value */
+static int ov5640_get_light_freq(void)
+{
+       int temp, temp1, light_frequency;
+       u8 regval;
+
+       temp = ov5640_read_reg(0x3c01, &regval);
+       if (temp & 0x80) {
+               /* manual */
+               temp1 = ov5640_read_reg(0x3c00, &regval);
+               if (temp1 & 0x04) {
+                       /* 50Hz */
+                       light_frequency = 50;
+               } else {
+                       /* 60Hz */
+                       light_frequency = 60;
+               }
+       } else {
+               /* auto */
+               temp1 = ov5640_read_reg(0x3c0c, &regval);
+               if (temp1 & 0x01) {
+                       /* 50Hz */
+                       light_frequency = 50;
+               } else {
+                       /* 60Hz */
+                       light_frequency = 60;
+               }
+       }
+
+       return light_frequency;
+}
+
+static void ov5640_set_bandingfilter(void)
+{
+       int prev_VTS;
+       int band_step60, max_band60, band_step50, max_band50;
+
+       /* read preview PCLK */
+       prev_sysclk = ov5640_get_sysclk();
+
+       /* read preview HTS */
+       prev_HTS = ov5640_get_HTS();
+
+       /* read preview VTS */
+       prev_VTS = ov5640_get_VTS();
+
+       /* calculate banding filter */
+       /* 60Hz */
+       band_step60 = prev_sysclk * 100/prev_HTS * 100/120;
+       ov5640_write_reg(0x3a0a, (band_step60 >> 8));
+       ov5640_write_reg(0x3a0b, (band_step60 & 0xff));
+
+       max_band60 = (int)((prev_VTS-4)/band_step60);
+       ov5640_write_reg(0x3a0d, max_band60);
+
+       /* 50Hz */
+       band_step50 = prev_sysclk * 100/prev_HTS;
+       ov5640_write_reg(0x3a08, (band_step50 >> 8));
+       ov5640_write_reg(0x3a09, (band_step50 & 0xff));
+
+       max_band50 = (int)((prev_VTS-4)/band_step50);
+       ov5640_write_reg(0x3a0e, max_band50);
+}
+
+/* stable in high */
+static int ov5640_set_AE_target(int target)
+{
+       int fast_high, fast_low;
+
+       AE_low = target * 23 / 25; /* 0.92 */
+       AE_high = target * 27 / 25; /* 1.08 */
+       fast_high = AE_high << 1;
+
+       if (fast_high > 255)
+               fast_high = 255;
+       fast_low = AE_low >> 1;
+
+       ov5640_write_reg(0x3a0f, AE_high);
+       ov5640_write_reg(0x3a10, AE_low);
+       ov5640_write_reg(0x3a1b, AE_high);
+       ov5640_write_reg(0x3a1e, AE_low);
+       ov5640_write_reg(0x3a11, fast_high);
+       ov5640_write_reg(0x3a1f, fast_low);
+
+       return 0;
+}
+
+/* enable = 0 to turn off night mode
+   enable = 1 to turn on night mode */
+static int ov5640_set_night_mode(int enable)
+{
+       u8 mode;
+
+       ov5640_read_reg(0x3a00, &mode);
+
+       if (enable) {
+               /* night mode on */
+               mode |= 0x04;
+               ov5640_write_reg(0x3a00, mode);
+       } else {
+               /* night mode off */
+               mode &= 0xfb;
+               ov5640_write_reg(0x3a00, mode);
+       }
+
+       return 0;
+}
+
+/* enable = 0 to turn off AEC/AGC
+   enable = 1 to turn on AEC/AGC */
+void ov5640_turn_on_AE_AG(int enable)
+{
+       u8 ae_ag_ctrl;
+
+       ov5640_read_reg(0x3503, &ae_ag_ctrl);
+       if (enable) {
+               /* turn on auto AE/AG */
+               ae_ag_ctrl = ae_ag_ctrl & ~(0x03);
+       } else {
+               /* turn off AE/AG */
+               ae_ag_ctrl = ae_ag_ctrl | 0x03;
+       }
+       ov5640_write_reg(0x3503, ae_ag_ctrl);
+}
+
+/* download ov5640 settings to sensor through i2c */
+static int ov5640_download_firmware(struct reg_value *pModeSetting, s32 ArySize)
+{
+       register u32 Delay_ms = 0;
+       register u16 RegAddr = 0;
+       register u8 Mask = 0;
+       register u8 Val = 0;
+       u8 RegVal = 0;
+       int i, retval = 0;
+
+       for (i = 0; i < ArySize; ++i, ++pModeSetting) {
+               Delay_ms = pModeSetting->u32Delay_ms;
+               RegAddr = pModeSetting->u16RegAddr;
+               Val = pModeSetting->u8Val;
+               Mask = pModeSetting->u8Mask;
+
+               if (Mask) {
+                       retval = ov5640_read_reg(RegAddr, &RegVal);
+                       if (retval < 0)
+                               goto err;
+
+                       RegVal &= ~(u8)Mask;
+                       Val &= Mask;
+                       Val |= RegVal;
+               }
+
+               retval = ov5640_write_reg(RegAddr, Val);
+               if (retval < 0)
+                       goto err;
+
+               if (Delay_ms)
+                       msleep(Delay_ms);
+       }
+err:
+       return retval;
+}
+
+static int ov5640_init_mode(void)
+{
+       struct reg_value *pModeSetting = NULL;
+       int ArySize = 0, retval = 0;
+
+       ov5640_soft_reset();
+
+       pModeSetting = ov5640_global_init_setting;
+       ArySize = ARRAY_SIZE(ov5640_global_init_setting);
+       retval = ov5640_download_firmware(pModeSetting, ArySize);
+       if (retval < 0)
+               goto err;
+
+       pModeSetting = ov5640_init_setting_30fps_VGA;
+       ArySize = ARRAY_SIZE(ov5640_init_setting_30fps_VGA);
+       retval = ov5640_download_firmware(pModeSetting, ArySize);
+       if (retval < 0)
+               goto err;
+
+       /* change driver capability to 2x according to validation board.
+        * if the image is not stable, please increase the driver strength.
+        */
+       ov5640_driver_capability(2);
+       ov5640_set_bandingfilter();
+       ov5640_set_AE_target(AE_Target);
+       ov5640_set_night_mode(night_mode);
+
+       /* skip 9 vysnc: start capture at 10th vsync */
+       msleep(300);
+
+       /* turn off night mode */
+       night_mode = 0;
+       ov5640_data.pix.width = 640;
+       ov5640_data.pix.height = 480;
+err:
+       return retval;
+}
+
+/* change to or back to subsampling mode set the mode directly
+ * image size below 1280 * 960 is subsampling mode */
+static int ov5640_change_mode_direct(enum ov5640_frame_rate frame_rate,
+                           enum ov5640_mode mode)
+{
+       struct reg_value *pModeSetting = NULL;
+       s32 ArySize = 0;
+       int retval = 0;
+
+       if (mode > ov5640_mode_MAX || mode < ov5640_mode_MIN) {
+               pr_err("Wrong ov5640 mode detected!\n");
+               return -1;
+       }
+
+       pModeSetting = ov5640_mode_info_data[frame_rate][mode].init_data_ptr;
+       ArySize =
+               ov5640_mode_info_data[frame_rate][mode].init_data_size;
+
+       ov5640_data.pix.width = ov5640_mode_info_data[frame_rate][mode].width;
+       ov5640_data.pix.height = ov5640_mode_info_data[frame_rate][mode].height;
+
+       if (ov5640_data.pix.width == 0 || ov5640_data.pix.height == 0 ||
+           pModeSetting == NULL || ArySize == 0)
+               return -EINVAL;
+
+       /* set ov5640 to subsampling mode */
+       retval = ov5640_download_firmware(pModeSetting, ArySize);
+
+       /* turn on AE AG for subsampling mode, in case the firmware didn't */
+       ov5640_turn_on_AE_AG(1);
+
+       /* calculate banding filter */
+       ov5640_set_bandingfilter();
+
+       /* set AE target */
+       ov5640_set_AE_target(AE_Target);
+
+       /* update night mode setting */
+       ov5640_set_night_mode(night_mode);
+
+       /* skip 9 vysnc: start capture at 10th vsync */
+       if (mode == ov5640_mode_XGA_1024_768 && frame_rate == ov5640_30_fps) {
+               pr_warning("ov5640: actual frame rate of XGA is 22.5fps\n");
+               /* 1/22.5 * 9*/
+               msleep(400);
+               return retval;
+       }
+
+       if (frame_rate == ov5640_15_fps) {
+               /* 1/15 * 9*/
+               msleep(600);
+       } else if (frame_rate == ov5640_30_fps) {
+               /* 1/30 * 9*/
+               msleep(300);
+       }
+
+       return retval;
+}
+
+/* change to scaling mode go through exposure calucation
+ * image size above 1280 * 960 is scaling mode */
+static int ov5640_change_mode_exposure_calc(enum ov5640_frame_rate frame_rate,
+                           enum ov5640_mode mode)
+{
+       int prev_shutter, prev_gain16, average;
+       int cap_shutter, cap_gain16;
+       int cap_sysclk, cap_HTS, cap_VTS;
+       int light_freq, cap_bandfilt, cap_maxband;
+       long cap_gain16_shutter;
+       u8 temp;
+       struct reg_value *pModeSetting = NULL;
+       s32 ArySize = 0;
+       int retval = 0;
+
+       /* check if the input mode and frame rate is valid */
+       pModeSetting =
+               ov5640_mode_info_data[frame_rate][mode].init_data_ptr;
+       ArySize =
+               ov5640_mode_info_data[frame_rate][mode].init_data_size;
+
+       ov5640_data.pix.width =
+               ov5640_mode_info_data[frame_rate][mode].width;
+       ov5640_data.pix.height =
+               ov5640_mode_info_data[frame_rate][mode].height;
+
+       if (ov5640_data.pix.width == 0 || ov5640_data.pix.height == 0 ||
+               pModeSetting == NULL || ArySize == 0)
+               return -EINVAL;
+
+       /* read preview shutter */
+       prev_shutter = ov5640_get_shutter();
+
+       /* read preview gain */
+       prev_gain16 = ov5640_get_gain16();
+
+       /* get average */
+       average = ov5640_read_reg(0x56a1, &temp);
+
+       /* turn off night mode for capture */
+       ov5640_set_night_mode(0);
+
+       /* turn off overlay */
+       ov5640_write_reg(0x3022, 0x06);
+
+       /* Write capture setting */
+       retval = ov5640_download_firmware(pModeSetting, ArySize);
+       if (retval < 0)
+               goto err;
+
+       /* turn off AE AG when capture image. */
+       ov5640_turn_on_AE_AG(0);
+
+       /* read capture VTS */
+       cap_VTS = ov5640_get_VTS();
+       cap_HTS = ov5640_get_HTS();
+       cap_sysclk = ov5640_get_sysclk();
+
+       /* calculate capture banding filter */
+       light_freq = ov5640_get_light_freq();
+       if (light_freq == 60) {
+               /* 60Hz */
+               cap_bandfilt = cap_sysclk * 100 / cap_HTS * 100 / 120;
+       } else {
+               /* 50Hz */
+               cap_bandfilt = cap_sysclk * 100 / cap_HTS;
+       }
+       cap_maxband = (int)((cap_VTS - 4)/cap_bandfilt);
+       /* calculate capture shutter/gain16 */
+       if (average > AE_low && average < AE_high) {
+               /* in stable range */
+               cap_gain16_shutter =
+                       prev_gain16 * prev_shutter * cap_sysclk/prev_sysclk *
+                       prev_HTS/cap_HTS * AE_Target / average;
+       } else {
+               cap_gain16_shutter =
+                       prev_gain16 * prev_shutter * cap_sysclk/prev_sysclk *
+                       prev_HTS/cap_HTS;
+       }
+
+       /* gain to shutter */
+       if (cap_gain16_shutter < (cap_bandfilt * 16)) {
+               /* shutter < 1/100 */
+               cap_shutter = cap_gain16_shutter/16;
+               if (cap_shutter < 1)
+                       cap_shutter = 1;
+               cap_gain16 = cap_gain16_shutter/cap_shutter;
+               if (cap_gain16 < 16)
+                       cap_gain16 = 16;
+       } else {
+               if (cap_gain16_shutter > (cap_bandfilt*cap_maxband*16)) {
+                       /* exposure reach max */
+                       cap_shutter = cap_bandfilt*cap_maxband;
+                       cap_gain16 = cap_gain16_shutter / cap_shutter;
+               } else {
+                       /* 1/100 < cap_shutter =< max, cap_shutter = n/100 */
+                       cap_shutter =
+                               ((int)(cap_gain16_shutter/16/cap_bandfilt))
+                               * cap_bandfilt;
+                       cap_gain16 = cap_gain16_shutter / cap_shutter;
+               }
+       }
+
+       /* write capture gain */
+       ov5640_set_gain16(cap_gain16);
+
+       /* write capture shutter */
+       if (cap_shutter > (cap_VTS - 4)) {
+               cap_VTS = cap_shutter + 4;
+               ov5640_set_VTS(cap_VTS);
+       }
+
+       ov5640_set_shutter(cap_shutter);
+
+       /* skip 2 vysnc: start capture at 3rd vsync
+        * frame rate of QSXGA and 1080P is 7.5fps: 1/7.5 * 2
+        */
+       pr_warning("ov5640: the actual frame rate of %s is 7.5fps\n",
+               mode == ov5640_mode_1080P_1920_1080 ? "1080P" : "QSXGA");
+       msleep(267);
+err:
+       return retval;
+}
+
+static int ov5640_change_mode(enum ov5640_frame_rate frame_rate,
+                           enum ov5640_mode mode)
+{
+       int retval = 0;
+
+       if (mode > ov5640_mode_MAX || mode < ov5640_mode_MIN) {
+               pr_err("Wrong ov5640 mode detected!\n");
+               return -1;
+       }
+
+       if (mode == ov5640_mode_1080P_1920_1080 ||
+                       mode == ov5640_mode_QSXGA_2592_1944) {
+               /* change to scaling mode go through exposure calucation
+                * image size above 1280 * 960 is scaling mode */
+               retval = ov5640_change_mode_exposure_calc(frame_rate, mode);
+       } else {
+               /* change back to subsampling modem download firmware directly
+                * image size below 1280 * 960 is subsampling mode */
+               retval = ov5640_change_mode_direct(frame_rate, mode);
+       }
+
+       return retval;
+}
+
+/* --------------- IOCTL functions from v4l2_int_ioctl_desc --------------- */
+
+static int ioctl_g_ifparm(struct v4l2_int_device *s, struct v4l2_ifparm *p)
+{
+       if (s == NULL) {
+               pr_err("   ERROR!! no slave device set!\n");
+               return -1;
+       }
+
+       memset(p, 0, sizeof(*p));
+       p->u.bt656.clock_curr = ov5640_data.mclk;
+       pr_debug("   clock_curr=mclk=%d\n", ov5640_data.mclk);
+       p->if_type = V4L2_IF_TYPE_BT656;
+       p->u.bt656.mode = V4L2_IF_TYPE_BT656_MODE_NOBT_8BIT;
+       p->u.bt656.clock_min = OV5640_XCLK_MIN;
+       p->u.bt656.clock_max = OV5640_XCLK_MAX;
+       p->u.bt656.bt_sync_correct = 1;  /* Indicate external vsync */
+
+       return 0;
+}
+
+/*!
+ * ioctl_s_power - V4L2 sensor interface handler for VIDIOC_S_POWER ioctl
+ * @s: pointer to standard V4L2 device structure
+ * @on: indicates power mode (on or off)
+ *
+ * Turns the power on or off, depending on the value of on and returns the
+ * appropriate error code.
+ */
+static int ioctl_s_power(struct v4l2_int_device *s, int on)
+{
+       struct sensor_data *sensor = s->priv;
+
+       if (on && !sensor->on) {
+               if (io_regulator)
+                       if (regulator_enable(io_regulator) != 0)
+                               return -EIO;
+               if (core_regulator)
+                       if (regulator_enable(core_regulator) != 0)
+                               return -EIO;
+               if (analog_regulator)
+                       if (regulator_enable(analog_regulator) != 0)
+                               return -EIO;
+               /* Make sure power on */
+               ov5640_power_down(0);
+       } else if (!on && sensor->on) {
+               if (analog_regulator)
+                       regulator_disable(analog_regulator);
+               if (core_regulator)
+                       regulator_disable(core_regulator);
+               if (io_regulator)
+                       regulator_disable(io_regulator);
+
+               ov5640_power_down(1);
+}
+
+       sensor->on = on;
+
+       return 0;
+}
+
+/*!
+ * ioctl_g_parm - V4L2 sensor interface handler for VIDIOC_G_PARM ioctl
+ * @s: pointer to standard V4L2 device structure
+ * @a: pointer to standard V4L2 VIDIOC_G_PARM ioctl structure
+ *
+ * Returns the sensor's video CAPTURE parameters.
+ */
+static int ioctl_g_parm(struct v4l2_int_device *s, struct v4l2_streamparm *a)
+{
+       struct sensor_data *sensor = s->priv;
+       struct v4l2_captureparm *cparm = &a->parm.capture;
+       int ret = 0;
+
+       switch (a->type) {
+       /* This is the only case currently handled. */
+       case V4L2_BUF_TYPE_VIDEO_CAPTURE:
+               memset(a, 0, sizeof(*a));
+               a->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
+               cparm->capability = sensor->streamcap.capability;
+               cparm->timeperframe = sensor->streamcap.timeperframe;
+               cparm->capturemode = sensor->streamcap.capturemode;
+               ret = 0;
+               break;
+
+       /* These are all the possible cases. */
+       case V4L2_BUF_TYPE_VIDEO_OUTPUT:
+       case V4L2_BUF_TYPE_VIDEO_OVERLAY:
+       case V4L2_BUF_TYPE_VBI_CAPTURE:
+       case V4L2_BUF_TYPE_VBI_OUTPUT:
+       case V4L2_BUF_TYPE_SLICED_VBI_CAPTURE:
+       case V4L2_BUF_TYPE_SLICED_VBI_OUTPUT:
+               ret = -EINVAL;
+               break;
+
+       default:
+               pr_debug("   type is unknown - %d\n", a->type);
+               ret = -EINVAL;
+               break;
+       }
+
+       return ret;
+}
+
+/*!
+ * ioctl_s_parm - V4L2 sensor interface handler for VIDIOC_S_PARM ioctl
+ * @s: pointer to standard V4L2 device structure
+ * @a: pointer to standard V4L2 VIDIOC_S_PARM ioctl structure
+ *
+ * Configures the sensor to use the input parameters, if possible.  If
+ * not possible, reverts to the old parameters and returns the
+ * appropriate error code.
+ */
+static int ioctl_s_parm(struct v4l2_int_device *s, struct v4l2_streamparm *a)
+{
+       struct sensor_data *sensor = s->priv;
+       struct v4l2_fract *timeperframe = &a->parm.capture.timeperframe;
+       u32 tgt_fps;    /* target frames per secound */
+       enum ov5640_frame_rate frame_rate;
+       int ret = 0;
+
+       /* Make sure power on */
+       ov5640_power_down(0);
+
+       switch (a->type) {
+       /* This is the only case currently handled. */
+       case V4L2_BUF_TYPE_VIDEO_CAPTURE:
+               /* Check that the new frame rate is allowed. */
+               if ((timeperframe->numerator == 0) ||
+                   (timeperframe->denominator == 0)) {
+                       timeperframe->denominator = DEFAULT_FPS;
+                       timeperframe->numerator = 1;
+               }
+
+               tgt_fps = timeperframe->denominator /
+                         timeperframe->numerator;
+
+               if (tgt_fps > MAX_FPS) {
+                       timeperframe->denominator = MAX_FPS;
+                       timeperframe->numerator = 1;
+               } else if (tgt_fps < MIN_FPS) {
+                       timeperframe->denominator = MIN_FPS;
+                       timeperframe->numerator = 1;
+               }
+
+               /* Actual frame rate we use */
+               tgt_fps = timeperframe->denominator /
+                         timeperframe->numerator;
+
+               if (tgt_fps == 15)
+                       frame_rate = ov5640_15_fps;
+               else if (tgt_fps == 30)
+                       frame_rate = ov5640_30_fps;
+               else {
+                       pr_err(" The camera frame rate is not supported!\n");
+                       return -EINVAL;
+               }
+
+               ret = ov5640_change_mode(frame_rate,
+                               a->parm.capture.capturemode);
+               if (ret < 0)
+                       return ret;
+
+               sensor->streamcap.timeperframe = *timeperframe;
+               sensor->streamcap.capturemode = a->parm.capture.capturemode;
+
+               break;
+
+       /* These are all the possible cases. */
+       case V4L2_BUF_TYPE_VIDEO_OUTPUT:
+       case V4L2_BUF_TYPE_VIDEO_OVERLAY:
+       case V4L2_BUF_TYPE_VBI_CAPTURE:
+       case V4L2_BUF_TYPE_VBI_OUTPUT:
+       case V4L2_BUF_TYPE_SLICED_VBI_CAPTURE:
+       case V4L2_BUF_TYPE_SLICED_VBI_OUTPUT:
+               pr_debug("   type is not " \
+                       "V4L2_BUF_TYPE_VIDEO_CAPTURE but %d\n",
+                       a->type);
+               ret = -EINVAL;
+               break;
+
+       default:
+               pr_debug("   type is unknown - %d\n", a->type);
+               ret = -EINVAL;
+               break;
+       }
+
+       return ret;
+}
+
+/*!
+ * ioctl_g_fmt_cap - V4L2 sensor interface handler for ioctl_g_fmt_cap
+ * @s: pointer to standard V4L2 device structure
+ * @f: pointer to standard V4L2 v4l2_format structure
+ *
+ * Returns the sensor's current pixel format in the v4l2_format
+ * parameter.
+ */
+static int ioctl_g_fmt_cap(struct v4l2_int_device *s, struct v4l2_format *f)
+{
+       struct sensor_data *sensor = s->priv;
+
+       f->fmt.pix = sensor->pix;
+
+       return 0;
+}
+
+/*!
+ * ioctl_g_ctrl - V4L2 sensor interface handler for VIDIOC_G_CTRL ioctl
+ * @s: pointer to standard V4L2 device structure
+ * @vc: standard V4L2 VIDIOC_G_CTRL ioctl structure
+ *
+ * If the requested control is supported, returns the control's current
+ * value from the video_control[] array.  Otherwise, returns -EINVAL
+ * if the control is not supported.
+ */
+static int ioctl_g_ctrl(struct v4l2_int_device *s, struct v4l2_control *vc)
+{
+       int ret = 0;
+
+       switch (vc->id) {
+       case V4L2_CID_BRIGHTNESS:
+               vc->value = ov5640_data.brightness;
+               break;
+       case V4L2_CID_HUE:
+               vc->value = ov5640_data.hue;
+               break;
+       case V4L2_CID_CONTRAST:
+               vc->value = ov5640_data.contrast;
+               break;
+       case V4L2_CID_SATURATION:
+               vc->value = ov5640_data.saturation;
+               break;
+       case V4L2_CID_RED_BALANCE:
+               vc->value = ov5640_data.red;
+               break;
+       case V4L2_CID_BLUE_BALANCE:
+               vc->value = ov5640_data.blue;
+               break;
+       case V4L2_CID_EXPOSURE:
+               vc->value = ov5640_data.ae_mode;
+               break;
+       default:
+               ret = -EINVAL;
+       }
+
+       return ret;
+}
+
+/*!
+ * ioctl_s_ctrl - V4L2 sensor interface handler for VIDIOC_S_CTRL ioctl
+ * @s: pointer to standard V4L2 device structure
+ * @vc: standard V4L2 VIDIOC_S_CTRL ioctl structure
+ *
+ * If the requested control is supported, sets the control's current
+ * value in HW (and updates the video_control[] array).  Otherwise,
+ * returns -EINVAL if the control is not supported.
+ */
+static int ioctl_s_ctrl(struct v4l2_int_device *s, struct v4l2_control *vc)
+{
+       int retval = 0;
+
+       pr_debug("In ov5640:ioctl_s_ctrl %d\n",
+                vc->id);
+
+       switch (vc->id) {
+       case V4L2_CID_BRIGHTNESS:
+               break;
+       case V4L2_CID_CONTRAST:
+               break;
+       case V4L2_CID_SATURATION:
+               break;
+       case V4L2_CID_HUE:
+               break;
+       case V4L2_CID_AUTO_WHITE_BALANCE:
+               break;
+       case V4L2_CID_DO_WHITE_BALANCE:
+               break;
+       case V4L2_CID_RED_BALANCE:
+               break;
+       case V4L2_CID_BLUE_BALANCE:
+               break;
+       case V4L2_CID_GAMMA:
+               break;
+       case V4L2_CID_EXPOSURE:
+               break;
+       case V4L2_CID_AUTOGAIN:
+               break;
+       case V4L2_CID_GAIN:
+               break;
+       case V4L2_CID_HFLIP:
+               break;
+       case V4L2_CID_VFLIP:
+               break;
+       default:
+               retval = -EPERM;
+               break;
+       }
+
+       return retval;
+}
+
+/*!
+ * ioctl_enum_framesizes - V4L2 sensor interface handler for
+ *                        VIDIOC_ENUM_FRAMESIZES ioctl
+ * @s: pointer to standard V4L2 device structure
+ * @fsize: standard V4L2 VIDIOC_ENUM_FRAMESIZES ioctl structure
+ *
+ * Return 0 if successful, otherwise -EINVAL.
+ */
+static int ioctl_enum_framesizes(struct v4l2_int_device *s,
+                                struct v4l2_frmsizeenum *fsize)
+{
+       if (fsize->index > ov5640_mode_MAX)
+               return -EINVAL;
+
+       fsize->pixel_format = ov5640_data.pix.pixelformat;
+       fsize->discrete.width =
+                       max(ov5640_mode_info_data[0][fsize->index].width,
+                           ov5640_mode_info_data[1][fsize->index].width);
+       fsize->discrete.height =
+                       max(ov5640_mode_info_data[0][fsize->index].height,
+                           ov5640_mode_info_data[1][fsize->index].height);
+       return 0;
+}
+
+/*!
+ * ioctl_enum_frameintervals - V4L2 sensor interface handler for
+ *                            VIDIOC_ENUM_FRAMEINTERVALS ioctl
+ * @s: pointer to standard V4L2 device structure
+ * @fival: standard V4L2 VIDIOC_ENUM_FRAMEINTERVALS ioctl structure
+ *
+ * Return 0 if successful, otherwise -EINVAL.
+ */
+static int ioctl_enum_frameintervals(struct v4l2_int_device *s,
+                                        struct v4l2_frmivalenum *fival)
+{
+       int i, j, count;
+
+       if (fival->index < 0 || fival->index > ov5640_mode_MAX)
+               return -EINVAL;
+
+       if (fival->width == 0 || fival->height == 0 ||
+           fival->pixel_format == 0) {
+               pr_warning("Please assign pixelformat, width and height.\n");
+               return -EINVAL;
+       }
+
+       fival->type = V4L2_FRMIVAL_TYPE_DISCRETE;
+       fival->discrete.numerator = 1;
+
+       count = 0;
+       for (i = 0; i < ARRAY_SIZE(ov5640_mode_info_data); i++) {
+               for (j = 0; j < (ov5640_mode_MAX + 1); j++) {
+                       if (fival->pixel_format == ov5640_data.pix.pixelformat
+                        && fival->width == ov5640_mode_info_data[i][j].width
+                        && fival->height == ov5640_mode_info_data[i][j].height
+                        && ov5640_mode_info_data[i][j].init_data_ptr != NULL) {
+                               count++;
+                       }
+                       if (fival->index == (count - 1)) {
+                               fival->discrete.denominator =
+                                               ov5640_framerates[i];
+                               return 0;
+                       }
+               }
+       }
+
+       return -EINVAL;
+}
+
+/*!
+ * ioctl_g_chip_ident - V4L2 sensor interface handler for
+ *                     VIDIOC_DBG_G_CHIP_IDENT ioctl
+ * @s: pointer to standard V4L2 device structure
+ * @id: pointer to int
+ *
+ * Return 0.
+ */
+static int ioctl_g_chip_ident(struct v4l2_int_device *s, int *id)
+{
+       ((struct v4l2_dbg_chip_ident *)id)->match.type =
+                                       V4L2_CHIP_MATCH_I2C_DRIVER;
+       strcpy(((struct v4l2_dbg_chip_ident *)id)->match.name, "ov5640_camera");
+
+       return 0;
+}
+
+/*!
+ * ioctl_init - V4L2 sensor interface handler for VIDIOC_INT_INIT
+ * @s: pointer to standard V4L2 device structure
+ */
+static int ioctl_init(struct v4l2_int_device *s)
+{
+
+       return 0;
+}
+
+/*!
+ * ioctl_enum_fmt_cap - V4L2 sensor interface handler for VIDIOC_ENUM_FMT
+ * @s: pointer to standard V4L2 device structure
+ * @fmt: pointer to standard V4L2 fmt description structure
+ *
+ * Return 0.
+ */
+static int ioctl_enum_fmt_cap(struct v4l2_int_device *s,
+                             struct v4l2_fmtdesc *fmt)
+{
+       if (fmt->index > ov5640_mode_MAX)
+               return -EINVAL;
+
+       fmt->pixelformat = ov5640_data.pix.pixelformat;
+
+       return 0;
+}
+
+/*!
+ * ioctl_dev_init - V4L2 sensor interface handler for vidioc_int_dev_init_num
+ * @s: pointer to standard V4L2 device structure
+ *
+ * Initialise the device when slave attaches to the master.
+ */
+static int ioctl_dev_init(struct v4l2_int_device *s)
+{
+       struct sensor_data *sensor = s->priv;
+       u32 tgt_xclk;   /* target xclk */
+       u32 tgt_fps;    /* target frames per secound */
+       enum ov5640_frame_rate frame_rate;
+       int ret;
+
+       ov5640_data.on = true;
+
+       /* mclk */
+       tgt_xclk = ov5640_data.mclk;
+       tgt_xclk = min(tgt_xclk, (u32)OV5640_XCLK_MAX);
+       tgt_xclk = max(tgt_xclk, (u32)OV5640_XCLK_MIN);
+       ov5640_data.mclk = tgt_xclk;
+
+       pr_debug("   Setting mclk to %d MHz\n", tgt_xclk / 1000000);
+       clk_set_rate(ov5640_data.sensor_clk, ov5640_data.mclk);
+
+       /* Default camera frame rate is set in probe */
+       tgt_fps = sensor->streamcap.timeperframe.denominator /
+                 sensor->streamcap.timeperframe.numerator;
+
+       if (tgt_fps == 15)
+               frame_rate = ov5640_15_fps;
+       else if (tgt_fps == 30)
+               frame_rate = ov5640_30_fps;
+       else
+               return -EINVAL; /* Only support 15fps or 30fps now. */
+
+       ret = ov5640_init_mode();
+       return ret;
+}
+
+/*!
+ * ioctl_dev_exit - V4L2 sensor interface handler for vidioc_int_dev_exit_num
+ * @s: pointer to standard V4L2 device structure
+ *
+ * Delinitialise the device when slave detaches to the master.
+ */
+static int ioctl_dev_exit(struct v4l2_int_device *s)
+{
+       return 0;
+}
+
+/*!
+ * This structure defines all the ioctls for this module and links them to the
+ * enumeration.
+ */
+static struct v4l2_int_ioctl_desc ov5640_ioctl_desc[] = {
+       { vidioc_int_dev_init_num,
+         (v4l2_int_ioctl_func *)ioctl_dev_init },
+       { vidioc_int_dev_exit_num,
+         ioctl_dev_exit},
+       { vidioc_int_s_power_num,
+         (v4l2_int_ioctl_func *)ioctl_s_power },
+       { vidioc_int_g_ifparm_num,
+         (v4l2_int_ioctl_func *)ioctl_g_ifparm },
+       { vidioc_int_init_num,
+         (v4l2_int_ioctl_func *)ioctl_init },
+       { vidioc_int_enum_fmt_cap_num,
+         (v4l2_int_ioctl_func *)ioctl_enum_fmt_cap },
+       { vidioc_int_g_fmt_cap_num,
+         (v4l2_int_ioctl_func *)ioctl_g_fmt_cap },
+       { vidioc_int_g_parm_num,
+         (v4l2_int_ioctl_func *)ioctl_g_parm },
+       { vidioc_int_s_parm_num,
+         (v4l2_int_ioctl_func *)ioctl_s_parm },
+       { vidioc_int_g_ctrl_num,
+         (v4l2_int_ioctl_func *)ioctl_g_ctrl },
+       { vidioc_int_s_ctrl_num,
+         (v4l2_int_ioctl_func *)ioctl_s_ctrl },
+       { vidioc_int_enum_framesizes_num,
+         (v4l2_int_ioctl_func *)ioctl_enum_framesizes },
+       { vidioc_int_enum_frameintervals_num,
+         (v4l2_int_ioctl_func *)ioctl_enum_frameintervals },
+       { vidioc_int_g_chip_ident_num,
+         (v4l2_int_ioctl_func *)ioctl_g_chip_ident },
+};
+
+static struct v4l2_int_slave ov5640_slave = {
+       .ioctls = ov5640_ioctl_desc,
+       .num_ioctls = ARRAY_SIZE(ov5640_ioctl_desc),
+};
+
+static struct v4l2_int_device ov5640_int_device = {
+       .module = THIS_MODULE,
+       .name = "ov5640",
+       .type = v4l2_int_type_slave,
+       .u = {
+               .slave = &ov5640_slave,
+       },
+};
+
+/*!
+ * ov5640 I2C probe function
+ *
+ * @param adapter            struct i2c_adapter *
+ * @return  Error code indicating success or failure
+ */
+static int ov5640_probe(struct i2c_client *client,
+                       const struct i2c_device_id *id)
+{
+       struct pinctrl *pinctrl;
+       struct device *dev = &client->dev;
+       int retval;
+       u8 chip_id_high, chip_id_low;
+
+       /* ov5640 pinctrl */
+       pinctrl = devm_pinctrl_get_select_default(dev);
+       if (IS_ERR(pinctrl)) {
+               dev_err(dev, "setup pinctrl failed\n");
+               return PTR_ERR(pinctrl);
+       }
+
+       /* request power down pin */
+       pwn_gpio = of_get_named_gpio(dev->of_node, "pwn-gpios", 0);
+       if (!gpio_is_valid(pwn_gpio)) {
+               dev_err(dev, "no sensor pwdn pin available\n");
+               return -ENODEV;
+       }
+       retval = devm_gpio_request_one(dev, pwn_gpio, GPIOF_OUT_INIT_HIGH,
+                                       "ov5640_pwdn");
+       if (retval < 0)
+               return retval;
+
+       /* request reset pin */
+       rst_gpio = of_get_named_gpio(dev->of_node, "rst-gpios", 0);
+       if (!gpio_is_valid(rst_gpio)) {
+               dev_err(dev, "no sensor reset pin available\n");
+               return -EINVAL;
+       }
+       retval = devm_gpio_request_one(dev, rst_gpio, GPIOF_OUT_INIT_HIGH,
+                                       "ov5640_reset");
+       if (retval < 0)
+               return retval;
+
+       /* Set initial values for the sensor struct. */
+       memset(&ov5640_data, 0, sizeof(ov5640_data));
+       ov5640_data.sensor_clk = devm_clk_get(dev, "csi_mclk");
+       if (IS_ERR(ov5640_data.sensor_clk)) {
+               dev_err(dev, "get mclk failed\n");
+               return PTR_ERR(ov5640_data.sensor_clk);
+       }
+
+       retval = of_property_read_u32(dev->of_node, "mclk",
+                                       &ov5640_data.mclk);
+       if (retval) {
+               dev_err(dev, "mclk frequency is invalid\n");
+               return retval;
+       }
+
+       retval = of_property_read_u32(dev->of_node, "mclk_source",
+                                       (u32 *) &(ov5640_data.mclk_source));
+       if (retval) {
+               dev_err(dev, "mclk_source invalid\n");
+               return retval;
+       }
+
+       retval = of_property_read_u32(dev->of_node, "csi_id",
+                                       &(ov5640_data.csi));
+       if (retval) {
+               dev_err(dev, "csi_id invalid\n");
+               return retval;
+       }
+
+       clk_prepare_enable(ov5640_data.sensor_clk);
+
+       ov5640_data.io_init = ov5640_reset;
+       ov5640_data.i2c_client = client;
+       ov5640_data.pix.pixelformat = V4L2_PIX_FMT_YUYV;
+       ov5640_data.pix.width = 640;
+       ov5640_data.pix.height = 480;
+       ov5640_data.streamcap.capability = V4L2_MODE_HIGHQUALITY |
+                                          V4L2_CAP_TIMEPERFRAME;
+       ov5640_data.streamcap.capturemode = 0;
+       ov5640_data.streamcap.timeperframe.denominator = DEFAULT_FPS;
+       ov5640_data.streamcap.timeperframe.numerator = 1;
+
+       ov5640_regulator_enable(&client->dev);
+
+       ov5640_reset();
+
+       ov5640_power_down(0);
+
+       retval = ov5640_read_reg(OV5640_CHIP_ID_HIGH_BYTE, &chip_id_high);
+       if (retval < 0 || chip_id_high != 0x56) {
+               clk_disable_unprepare(ov5640_data.sensor_clk);
+               pr_warning("camera ov5640 is not found\n");
+               return -ENODEV;
+       }
+       retval = ov5640_read_reg(OV5640_CHIP_ID_LOW_BYTE, &chip_id_low);
+       if (retval < 0 || chip_id_low != 0x40) {
+               clk_disable_unprepare(ov5640_data.sensor_clk);
+               pr_warning("camera ov5640 is not found\n");
+               return -ENODEV;
+       }
+
+       ov5640_power_down(1);
+
+       clk_disable_unprepare(ov5640_data.sensor_clk);
+
+       ov5640_int_device.priv = &ov5640_data;
+       retval = v4l2_int_device_register(&ov5640_int_device);
+
+       pr_info("camera ov5640 is found\n");
+       return retval;
+}
+
+/*!
+ * ov5640 I2C detach function
+ *
+ * @param client            struct i2c_client *
+ * @return  Error code indicating success or failure
+ */
+static int ov5640_remove(struct i2c_client *client)
+{
+       v4l2_int_device_unregister(&ov5640_int_device);
+
+       if (analog_regulator)
+               regulator_disable(analog_regulator);
+
+       if (core_regulator)
+               regulator_disable(core_regulator);
+
+       if (io_regulator)
+               regulator_disable(io_regulator);
+
+       return 0;
+}
+
+module_i2c_driver(ov5640_i2c_driver);
+
+MODULE_AUTHOR("Freescale Semiconductor, Inc.");
+MODULE_DESCRIPTION("OV5640 Camera Driver");
+MODULE_LICENSE("GPL");
+MODULE_VERSION("1.0");
+MODULE_ALIAS("CSI");
diff --git a/drivers/media/platform/mxc/capture/ov5640_mipi.c b/drivers/media/platform/mxc/capture/ov5640_mipi.c
new file mode 100644 (file)
index 0000000..79264bc
--- /dev/null
@@ -0,0 +1,2104 @@
+/*
+ * Copyright (C) 2011-2013 Freescale Semiconductor, Inc. All Rights Reserved.
+ */
+
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#include <linux/module.h>
+#include <linux/init.h>
+#include <linux/slab.h>
+#include <linux/ctype.h>
+#include <linux/types.h>
+#include <linux/delay.h>
+#include <linux/clk.h>
+#include <linux/of_device.h>
+#include <linux/i2c.h>
+#include <linux/of_gpio.h>
+#include <linux/pinctrl/consumer.h>
+#include <linux/regulator/consumer.h>
+#include <linux/fsl_devices.h>
+#include <linux/mipi_csi2.h>
+#include <media/v4l2-chip-ident.h>
+#include <media/v4l2-int-device.h>
+#include "mxc_v4l2_capture.h"
+
+#define OV5640_VOLTAGE_ANALOG               2800000
+#define OV5640_VOLTAGE_DIGITAL_CORE         1500000
+#define OV5640_VOLTAGE_DIGITAL_IO           1800000
+
+#define MIN_FPS 15
+#define MAX_FPS 30
+#define DEFAULT_FPS 30
+
+#define OV5640_XCLK_MIN 6000000
+#define OV5640_XCLK_MAX 24000000
+
+#define OV5640_CHIP_ID_HIGH_BYTE       0x300A
+#define OV5640_CHIP_ID_LOW_BYTE                0x300B
+
+enum ov5640_mode {
+       ov5640_mode_MIN = 0,
+       ov5640_mode_VGA_640_480 = 0,
+       ov5640_mode_QVGA_320_240 = 1,
+       ov5640_mode_NTSC_720_480 = 2,
+       ov5640_mode_PAL_720_576 = 3,
+       ov5640_mode_720P_1280_720 = 4,
+       ov5640_mode_1080P_1920_1080 = 5,
+       ov5640_mode_QSXGA_2592_1944 = 6,
+       ov5640_mode_QCIF_176_144 = 7,
+       ov5640_mode_XGA_1024_768 = 8,
+       ov5640_mode_MAX = 8,
+       ov5640_mode_INIT = 0xff, /*only for sensor init*/
+};
+
+enum ov5640_frame_rate {
+       ov5640_15_fps,
+       ov5640_30_fps
+};
+
+/* image size under 1280 * 960 are SUBSAMPLING
+ * image size upper 1280 * 960 are SCALING
+ */
+enum ov5640_downsize_mode {
+       SUBSAMPLING,
+       SCALING,
+};
+
+struct reg_value {
+       u16 u16RegAddr;
+       u8 u8Val;
+       u8 u8Mask;
+       u32 u32Delay_ms;
+};
+
+struct ov5640_mode_info {
+       enum ov5640_mode mode;
+       enum ov5640_downsize_mode dn_mode;
+       u32 width;
+       u32 height;
+       struct reg_value *init_data_ptr;
+       u32 init_data_size;
+};
+
+/*!
+ * Maintains the information on the current state of the sesor.
+ */
+static struct sensor_data ov5640_data;
+static int pwn_gpio, rst_gpio;
+
+static struct reg_value ov5640_init_setting_30fps_VGA[] = {
+
+       {0x3103, 0x11, 0, 0}, {0x3008, 0x82, 0, 5}, {0x3008, 0x42, 0, 0},
+       {0x3103, 0x03, 0, 0}, {0x3017, 0x00, 0, 0}, {0x3018, 0x00, 0, 0},
+       {0x3034, 0x18, 0, 0}, {0x3035, 0x14, 0, 0}, {0x3036, 0x38, 0, 0},
+       {0x3037, 0x13, 0, 0}, {0x3108, 0x01, 0, 0}, {0x3630, 0x36, 0, 0},
+       {0x3631, 0x0e, 0, 0}, {0x3632, 0xe2, 0, 0}, {0x3633, 0x12, 0, 0},
+       {0x3621, 0xe0, 0, 0}, {0x3704, 0xa0, 0, 0}, {0x3703, 0x5a, 0, 0},
+       {0x3715, 0x78, 0, 0}, {0x3717, 0x01, 0, 0}, {0x370b, 0x60, 0, 0},
+       {0x3705, 0x1a, 0, 0}, {0x3905, 0x02, 0, 0}, {0x3906, 0x10, 0, 0},
+       {0x3901, 0x0a, 0, 0}, {0x3731, 0x12, 0, 0}, {0x3600, 0x08, 0, 0},
+       {0x3601, 0x33, 0, 0}, {0x302d, 0x60, 0, 0}, {0x3620, 0x52, 0, 0},
+       {0x371b, 0x20, 0, 0}, {0x471c, 0x50, 0, 0}, {0x3a13, 0x43, 0, 0},
+       {0x3a18, 0x00, 0, 0}, {0x3a19, 0xf8, 0, 0}, {0x3635, 0x13, 0, 0},
+       {0x3636, 0x03, 0, 0}, {0x3634, 0x40, 0, 0}, {0x3622, 0x01, 0, 0},
+       {0x3c01, 0xa4, 0, 0}, {0x3c04, 0x28, 0, 0}, {0x3c05, 0x98, 0, 0},
+       {0x3c06, 0x00, 0, 0}, {0x3c07, 0x08, 0, 0}, {0x3c08, 0x00, 0, 0},
+       {0x3c09, 0x1c, 0, 0}, {0x3c0a, 0x9c, 0, 0}, {0x3c0b, 0x40, 0, 0},
+       {0x3820, 0x41, 0, 0}, {0x3821, 0x07, 0, 0}, {0x3814, 0x31, 0, 0},
+       {0x3815, 0x31, 0, 0}, {0x3800, 0x00, 0, 0}, {0x3801, 0x00, 0, 0},
+       {0x3802, 0x00, 0, 0}, {0x3803, 0x04, 0, 0}, {0x3804, 0x0a, 0, 0},
+       {0x3805, 0x3f, 0, 0}, {0x3806, 0x07, 0, 0}, {0x3807, 0x9b, 0, 0},
+       {0x3808, 0x02, 0, 0}, {0x3809, 0x80, 0, 0}, {0x380a, 0x01, 0, 0},
+       {0x380b, 0xe0, 0, 0}, {0x380c, 0x07, 0, 0}, {0x380d, 0x68, 0, 0},
+       {0x380e, 0x03, 0, 0}, {0x380f, 0xd8, 0, 0}, {0x3810, 0x00, 0, 0},
+       {0x3811, 0x10, 0, 0}, {0x3812, 0x00, 0, 0}, {0x3813, 0x06, 0, 0},
+       {0x3618, 0x00, 0, 0}, {0x3612, 0x29, 0, 0}, {0x3708, 0x64, 0, 0},
+       {0x3709, 0x52, 0, 0}, {0x370c, 0x03, 0, 0}, {0x3a02, 0x03, 0, 0},
+       {0x3a03, 0xd8, 0, 0}, {0x3a08, 0x01, 0, 0}, {0x3a09, 0x27, 0, 0},
+       {0x3a0a, 0x00, 0, 0}, {0x3a0b, 0xf6, 0, 0}, {0x3a0e, 0x03, 0, 0},
+       {0x3a0d, 0x04, 0, 0}, {0x3a14, 0x03, 0, 0}, {0x3a15, 0xd8, 0, 0},
+       {0x4001, 0x02, 0, 0}, {0x4004, 0x02, 0, 0}, {0x3000, 0x00, 0, 0},
+       {0x3002, 0x1c, 0, 0}, {0x3004, 0xff, 0, 0}, {0x3006, 0xc3, 0, 0},
+       {0x300e, 0x45, 0, 0}, {0x302e, 0x08, 0, 0}, {0x4300, 0x3f, 0, 0},
+       {0x501f, 0x00, 0, 0}, {0x4713, 0x03, 0, 0}, {0x4407, 0x04, 0, 0},
+       {0x440e, 0x00, 0, 0}, {0x460b, 0x35, 0, 0}, {0x460c, 0x22, 0, 0},
+       {0x4837, 0x0a, 0, 0}, {0x4800, 0x04, 0, 0}, {0x3824, 0x02, 0, 0},
+       {0x5000, 0xa7, 0, 0}, {0x5001, 0xa3, 0, 0}, {0x5180, 0xff, 0, 0},
+       {0x5181, 0xf2, 0, 0}, {0x5182, 0x00, 0, 0}, {0x5183, 0x14, 0, 0},
+       {0x5184, 0x25, 0, 0}, {0x5185, 0x24, 0, 0}, {0x5186, 0x09, 0, 0},
+       {0x5187, 0x09, 0, 0}, {0x5188, 0x09, 0, 0}, {0x5189, 0x88, 0, 0},
+       {0x518a, 0x54, 0, 0}, {0x518b, 0xee, 0, 0}, {0x518c, 0xb2, 0, 0},
+       {0x518d, 0x50, 0, 0}, {0x518e, 0x34, 0, 0}, {0x518f, 0x6b, 0, 0},
+       {0x5190, 0x46, 0, 0}, {0x5191, 0xf8, 0, 0}, {0x5192, 0x04, 0, 0},
+       {0x5193, 0x70, 0, 0}, {0x5194, 0xf0, 0, 0}, {0x5195, 0xf0, 0, 0},
+       {0x5196, 0x03, 0, 0}, {0x5197, 0x01, 0, 0}, {0x5198, 0x04, 0, 0},
+       {0x5199, 0x6c, 0, 0}, {0x519a, 0x04, 0, 0}, {0x519b, 0x00, 0, 0},
+       {0x519c, 0x09, 0, 0}, {0x519d, 0x2b, 0, 0}, {0x519e, 0x38, 0, 0},
+       {0x5381, 0x1e, 0, 0}, {0x5382, 0x5b, 0, 0}, {0x5383, 0x08, 0, 0},
+       {0x5384, 0x0a, 0, 0}, {0x5385, 0x7e, 0, 0}, {0x5386, 0x88, 0, 0},
+       {0x5387, 0x7c, 0, 0}, {0x5388, 0x6c, 0, 0}, {0x5389, 0x10, 0, 0},
+       {0x538a, 0x01, 0, 0}, {0x538b, 0x98, 0, 0}, {0x5300, 0x08, 0, 0},
+       {0x5301, 0x30, 0, 0}, {0x5302, 0x10, 0, 0}, {0x5303, 0x00, 0, 0},
+       {0x5304, 0x08, 0, 0}, {0x5305, 0x30, 0, 0}, {0x5306, 0x08, 0, 0},
+       {0x5307, 0x16, 0, 0}, {0x5309, 0x08, 0, 0}, {0x530a, 0x30, 0, 0},
+       {0x530b, 0x04, 0, 0}, {0x530c, 0x06, 0, 0}, {0x5480, 0x01, 0, 0},
+       {0x5481, 0x08, 0, 0}, {0x5482, 0x14, 0, 0}, {0x5483, 0x28, 0, 0},
+       {0x5484, 0x51, 0, 0}, {0x5485, 0x65, 0, 0}, {0x5486, 0x71, 0, 0},
+       {0x5487, 0x7d, 0, 0}, {0x5488, 0x87, 0, 0}, {0x5489, 0x91, 0, 0},
+       {0x548a, 0x9a, 0, 0}, {0x548b, 0xaa, 0, 0}, {0x548c, 0xb8, 0, 0},
+       {0x548d, 0xcd, 0, 0}, {0x548e, 0xdd, 0, 0}, {0x548f, 0xea, 0, 0},
+       {0x5490, 0x1d, 0, 0}, {0x5580, 0x02, 0, 0}, {0x5583, 0x40, 0, 0},
+       {0x5584, 0x10, 0, 0}, {0x5589, 0x10, 0, 0}, {0x558a, 0x00, 0, 0},
+       {0x558b, 0xf8, 0, 0}, {0x5800, 0x23, 0, 0}, {0x5801, 0x14, 0, 0},
+       {0x5802, 0x0f, 0, 0}, {0x5803, 0x0f, 0, 0}, {0x5804, 0x12, 0, 0},
+       {0x5805, 0x26, 0, 0}, {0x5806, 0x0c, 0, 0}, {0x5807, 0x08, 0, 0},
+       {0x5808, 0x05, 0, 0}, {0x5809, 0x05, 0, 0}, {0x580a, 0x08, 0, 0},
+       {0x580b, 0x0d, 0, 0}, {0x580c, 0x08, 0, 0}, {0x580d, 0x03, 0, 0},
+       {0x580e, 0x00, 0, 0}, {0x580f, 0x00, 0, 0}, {0x5810, 0x03, 0, 0},
+       {0x5811, 0x09, 0, 0}, {0x5812, 0x07, 0, 0}, {0x5813, 0x03, 0, 0},
+       {0x5814, 0x00, 0, 0}, {0x5815, 0x01, 0, 0}, {0x5816, 0x03, 0, 0},
+       {0x5817, 0x08, 0, 0}, {0x5818, 0x0d, 0, 0}, {0x5819, 0x08, 0, 0},
+       {0x581a, 0x05, 0, 0}, {0x581b, 0x06, 0, 0}, {0x581c, 0x08, 0, 0},
+       {0x581d, 0x0e, 0, 0}, {0x581e, 0x29, 0, 0}, {0x581f, 0x17, 0, 0},
+       {0x5820, 0x11, 0, 0}, {0x5821, 0x11, 0, 0}, {0x5822, 0x15, 0, 0},
+       {0x5823, 0x28, 0, 0}, {0x5824, 0x46, 0, 0}, {0x5825, 0x26, 0, 0},
+       {0x5826, 0x08, 0, 0}, {0x5827, 0x26, 0, 0}, {0x5828, 0x64, 0, 0},
+       {0x5829, 0x26, 0, 0}, {0x582a, 0x24, 0, 0}, {0x582b, 0x22, 0, 0},
+       {0x582c, 0x24, 0, 0}, {0x582d, 0x24, 0, 0}, {0x582e, 0x06, 0, 0},
+       {0x582f, 0x22, 0, 0}, {0x5830, 0x40, 0, 0}, {0x5831, 0x42, 0, 0},
+       {0x5832, 0x24, 0, 0}, {0x5833, 0x26, 0, 0}, {0x5834, 0x24, 0, 0},
+       {0x5835, 0x22, 0, 0}, {0x5836, 0x22, 0, 0}, {0x5837, 0x26, 0, 0},
+       {0x5838, 0x44, 0, 0}, {0x5839, 0x24, 0, 0}, {0x583a, 0x26, 0, 0},
+       {0x583b, 0x28, 0, 0}, {0x583c, 0x42, 0, 0}, {0x583d, 0xce, 0, 0},
+       {0x5025, 0x00, 0, 0}, {0x3a0f, 0x30, 0, 0}, {0x3a10, 0x28, 0, 0},
+       {0x3a1b, 0x30, 0, 0}, {0x3a1e, 0x26, 0, 0}, {0x3a11, 0x60, 0, 0},
+       {0x3a1f, 0x14, 0, 0}, {0x3008, 0x02, 0, 0}, {0x3c00, 0x04, 0, 300},
+};
+
+static struct reg_value ov5640_setting_30fps_VGA_640_480[] = {
+
+       {0x3035, 0x14, 0, 0}, {0x3036, 0x38, 0, 0}, {0x3c07, 0x08, 0, 0},
+       {0x3c09, 0x1c, 0, 0}, {0x3c0a, 0x9c, 0, 0}, {0x3c0b, 0x40, 0, 0},
+       {0x3820, 0x41, 0, 0}, {0x3821, 0x07, 0, 0}, {0x3814, 0x31, 0, 0},
+       {0x3815, 0x31, 0, 0}, {0x3800, 0x00, 0, 0}, {0x3801, 0x00, 0, 0},
+       {0x3802, 0x00, 0, 0}, {0x3803, 0x04, 0, 0}, {0x3804, 0x0a, 0, 0},
+       {0x3805, 0x3f, 0, 0}, {0x3806, 0x07, 0, 0}, {0x3807, 0x9b, 0, 0},
+       {0x3808, 0x02, 0, 0}, {0x3809, 0x80, 0, 0}, {0x380a, 0x01, 0, 0},
+       {0x380b, 0xe0, 0, 0}, {0x380c, 0x07, 0, 0}, {0x380d, 0x68, 0, 0},
+       {0x380e, 0x04, 0, 0}, {0x380f, 0x38, 0, 0}, {0x3810, 0x00, 0, 0},
+       {0x3811, 0x10, 0, 0}, {0x3812, 0x00, 0, 0}, {0x3813, 0x06, 0, 0},
+       {0x3618, 0x00, 0, 0}, {0x3612, 0x29, 0, 0}, {0x3708, 0x64, 0, 0},
+       {0x3709, 0x52, 0, 0}, {0x370c, 0x03, 0, 0}, {0x3a02, 0x03, 0, 0},
+       {0x3a03, 0xd8, 0, 0}, {0x3a08, 0x01, 0, 0}, {0x3a09, 0x0e, 0, 0},
+       {0x3a0a, 0x00, 0, 0}, {0x3a0b, 0xf6, 0, 0}, {0x3a0e, 0x03, 0, 0},
+       {0x3a0d, 0x04, 0, 0}, {0x3a14, 0x03, 0, 0}, {0x3a15, 0xd8, 0, 0},
+       {0x4001, 0x02, 0, 0}, {0x4004, 0x02, 0, 0}, {0x4713, 0x03, 0, 0},
+       {0x4407, 0x04, 0, 0}, {0x460b, 0x35, 0, 0}, {0x460c, 0x22, 0, 0},
+       {0x3824, 0x02, 0, 0}, {0x5001, 0xa3, 0, 0}, {0x3503, 0x00, 0, 0},
+};
+
+static struct reg_value ov5640_setting_15fps_VGA_640_480[] = {
+       {0x3035, 0x22, 0, 0}, {0x3036, 0x38, 0, 0}, {0x3c07, 0x08, 0, 0},
+       {0x3c09, 0x1c, 0, 0}, {0x3c0a, 0x9c, 0, 0}, {0x3c0b, 0x40, 0, 0},
+       {0x3820, 0x41, 0, 0}, {0x3821, 0x07, 0, 0}, {0x3814, 0x31, 0, 0},
+       {0x3815, 0x31, 0, 0}, {0x3800, 0x00, 0, 0}, {0x3801, 0x00, 0, 0},
+       {0x3802, 0x00, 0, 0}, {0x3803, 0x04, 0, 0}, {0x3804, 0x0a, 0, 0},
+       {0x3805, 0x3f, 0, 0}, {0x3806, 0x07, 0, 0}, {0x3807, 0x9b, 0, 0},
+       {0x3808, 0x02, 0, 0}, {0x3809, 0x80, 0, 0}, {0x380a, 0x01, 0, 0},
+       {0x380b, 0xe0, 0, 0}, {0x380c, 0x07, 0, 0}, {0x380d, 0x68, 0, 0},
+       {0x380e, 0x03, 0, 0}, {0x380f, 0xd8, 0, 0}, {0x3810, 0x00, 0, 0},
+       {0x3811, 0x10, 0, 0}, {0x3812, 0x00, 0, 0}, {0x3813, 0x06, 0, 0},
+       {0x3618, 0x00, 0, 0}, {0x3612, 0x29, 0, 0}, {0x3708, 0x64, 0, 0},
+       {0x3709, 0x52, 0, 0}, {0x370c, 0x03, 0, 0}, {0x3a02, 0x03, 0, 0},
+       {0x3a03, 0xd8, 0, 0}, {0x3a08, 0x01, 0, 0}, {0x3a09, 0x27, 0, 0},
+       {0x3a0a, 0x00, 0, 0}, {0x3a0b, 0xf6, 0, 0}, {0x3a0e, 0x03, 0, 0},
+       {0x3a0d, 0x04, 0, 0}, {0x3a14, 0x03, 0, 0}, {0x3a15, 0xd8, 0, 0},
+       {0x4001, 0x02, 0, 0}, {0x4004, 0x02, 0, 0}, {0x4713, 0x03, 0, 0},
+       {0x4407, 0x04, 0, 0}, {0x460b, 0x35, 0, 0}, {0x460c, 0x22, 0, 0},
+       {0x3824, 0x02, 0, 0}, {0x5001, 0xa3, 0, 0},
+};
+
+static struct reg_value ov5640_setting_30fps_XGA_1024_768[] = {
+
+       {0x3035, 0x14, 0, 0}, {0x3036, 0x38, 0, 0}, {0x3c07, 0x08, 0, 0},
+       {0x3c09, 0x1c, 0, 0}, {0x3c0a, 0x9c, 0, 0}, {0x3c0b, 0x40, 0, 0},
+       {0x3820, 0x41, 0, 0}, {0x3821, 0x07, 0, 0}, {0x3814, 0x31, 0, 0},
+       {0x3815, 0x31, 0, 0}, {0x3800, 0x00, 0, 0}, {0x3801, 0x00, 0, 0},
+       {0x3802, 0x00, 0, 0}, {0x3803, 0x04, 0, 0}, {0x3804, 0x0a, 0, 0},
+       {0x3805, 0x3f, 0, 0}, {0x3806, 0x07, 0, 0}, {0x3807, 0x9b, 0, 0},
+       {0x3808, 0x02, 0, 0}, {0x3809, 0x80, 0, 0}, {0x380a, 0x01, 0, 0},
+       {0x380b, 0xe0, 0, 0}, {0x380c, 0x07, 0, 0}, {0x380d, 0x68, 0, 0},
+       {0x380e, 0x04, 0, 0}, {0x380f, 0x38, 0, 0}, {0x3810, 0x00, 0, 0},
+       {0x3811, 0x10, 0, 0}, {0x3812, 0x00, 0, 0}, {0x3813, 0x06, 0, 0},
+       {0x3618, 0x00, 0, 0}, {0x3612, 0x29, 0, 0}, {0x3708, 0x64, 0, 0},
+       {0x3709, 0x52, 0, 0}, {0x370c, 0x03, 0, 0}, {0x3a02, 0x03, 0, 0},
+       {0x3a03, 0xd8, 0, 0}, {0x3a08, 0x01, 0, 0}, {0x3a09, 0x0e, 0, 0},
+       {0x3a0a, 0x00, 0, 0}, {0x3a0b, 0xf6, 0, 0}, {0x3a0e, 0x03, 0, 0},
+       {0x3a0d, 0x04, 0, 0}, {0x3a14, 0x03, 0, 0}, {0x3a15, 0xd8, 0, 0},
+       {0x4001, 0x02, 0, 0}, {0x4004, 0x02, 0, 0}, {0x4713, 0x03, 0, 0},
+       {0x4407, 0x04, 0, 0}, {0x460b, 0x35, 0, 0}, {0x460c, 0x22, 0, 0},
+       {0x3824, 0x02, 0, 0}, {0x5001, 0xa3, 0, 0}, {0x3503, 0x00, 0, 0},
+       {0x3808, 0x04, 0, 0}, {0x3809, 0x00, 0, 0}, {0x380a, 0x03, 0, 0},
+       {0x380b, 0x00, 0, 0}, {0x3035, 0x12, 0, 0},
+};
+
+static struct reg_value ov5640_setting_15fps_XGA_1024_768[] = {
+       {0x3035, 0x22, 0, 0}, {0x3036, 0x38, 0, 0}, {0x3c07, 0x08, 0, 0},
+       {0x3c09, 0x1c, 0, 0}, {0x3c0a, 0x9c, 0, 0}, {0x3c0b, 0x40, 0, 0},
+       {0x3820, 0x41, 0, 0}, {0x3821, 0x07, 0, 0}, {0x3814, 0x31, 0, 0},
+       {0x3815, 0x31, 0, 0}, {0x3800, 0x00, 0, 0}, {0x3801, 0x00, 0, 0},
+       {0x3802, 0x00, 0, 0}, {0x3803, 0x04, 0, 0}, {0x3804, 0x0a, 0, 0},
+       {0x3805, 0x3f, 0, 0}, {0x3806, 0x07, 0, 0}, {0x3807, 0x9b, 0, 0},
+       {0x3808, 0x02, 0, 0}, {0x3809, 0x80, 0, 0}, {0x380a, 0x01, 0, 0},
+       {0x380b, 0xe0, 0, 0}, {0x380c, 0x07, 0, 0}, {0x380d, 0x68, 0, 0},
+       {0x380e, 0x03, 0, 0}, {0x380f, 0xd8, 0, 0}, {0x3810, 0x00, 0, 0},
+       {0x3811, 0x10, 0, 0}, {0x3812, 0x00, 0, 0}, {0x3813, 0x06, 0, 0},
+       {0x3618, 0x00, 0, 0}, {0x3612, 0x29, 0, 0}, {0x3708, 0x64, 0, 0},
+       {0x3709, 0x52, 0, 0}, {0x370c, 0x03, 0, 0}, {0x3a02, 0x03, 0, 0},
+       {0x3a03, 0xd8, 0, 0}, {0x3a08, 0x01, 0, 0}, {0x3a09, 0x27, 0, 0},
+       {0x3a0a, 0x00, 0, 0}, {0x3a0b, 0xf6, 0, 0}, {0x3a0e, 0x03, 0, 0},
+       {0x3a0d, 0x04, 0, 0}, {0x3a14, 0x03, 0, 0}, {0x3a15, 0xd8, 0, 0},
+       {0x4001, 0x02, 0, 0}, {0x4004, 0x02, 0, 0}, {0x4713, 0x03, 0, 0},
+       {0x4407, 0x04, 0, 0}, {0x460b, 0x35, 0, 0}, {0x460c, 0x22, 0, 0},
+       {0x3824, 0x02, 0, 0}, {0x5001, 0xa3, 0, 0}, {0x3808, 0x04, 0, 0},
+       {0x3809, 0x00, 0, 0}, {0x380a, 0x03, 0, 0}, {0x380b, 0x00, 0, 0},
+};
+
+static struct reg_value ov5640_setting_30fps_QVGA_320_240[] = {
+       {0x3035, 0x14, 0, 0}, {0x3036, 0x38, 0, 0}, {0x3c07, 0x08, 0, 0},
+       {0x3c09, 0x1c, 0, 0}, {0x3c0a, 0x9c, 0, 0}, {0x3c0b, 0x40, 0, 0},
+       {0x3820, 0x41, 0, 0}, {0x3821, 0x07, 0, 0}, {0x3814, 0x31, 0, 0},
+       {0x3815, 0x31, 0, 0}, {0x3800, 0x00, 0, 0}, {0x3801, 0x00, 0, 0},
+       {0x3802, 0x00, 0, 0}, {0x3803, 0x04, 0, 0}, {0x3804, 0x0a, 0, 0},
+       {0x3805, 0x3f, 0, 0}, {0x3806, 0x07, 0, 0}, {0x3807, 0x9b, 0, 0},
+       {0x3808, 0x01, 0, 0}, {0x3809, 0x40, 0, 0}, {0x380a, 0x00, 0, 0},
+       {0x380b, 0xf0, 0, 0}, {0x380c, 0x07, 0, 0}, {0x380d, 0x68, 0, 0},
+       {0x380e, 0x03, 0, 0}, {0x380f, 0xd8, 0, 0}, {0x3810, 0x00, 0, 0},
+       {0x3811, 0x10, 0, 0}, {0x3812, 0x00, 0, 0}, {0x3813, 0x06, 0, 0},
+       {0x3618, 0x00, 0, 0}, {0x3612, 0x29, 0, 0}, {0x3708, 0x64, 0, 0},
+       {0x3709, 0x52, 0, 0}, {0x370c, 0x03, 0, 0}, {0x3a02, 0x03, 0, 0},
+       {0x3a03, 0xd8, 0, 0}, {0x3a08, 0x01, 0, 0}, {0x3a09, 0x27, 0, 0},
+       {0x3a0a, 0x00, 0, 0}, {0x3a0b, 0xf6, 0, 0}, {0x3a0e, 0x03, 0, 0},
+       {0x3a0d, 0x04, 0, 0}, {0x3a14, 0x03, 0, 0}, {0x3a15, 0xd8, 0, 0},
+       {0x4001, 0x02, 0, 0}, {0x4004, 0x02, 0, 0}, {0x4713, 0x03, 0, 0},
+       {0x4407, 0x04, 0, 0}, {0x460b, 0x35, 0, 0}, {0x460c, 0x22, 0, 0},
+       {0x3824, 0x02, 0, 0}, {0x5001, 0xa3, 0, 0},
+};
+
+static struct reg_value ov5640_setting_15fps_QVGA_320_240[] = {
+       {0x3035, 0x22, 0, 0}, {0x3036, 0x38, 0, 0}, {0x3c07, 0x08, 0, 0},
+       {0x3c09, 0x1c, 0, 0}, {0x3c0a, 0x9c, 0, 0}, {0x3c0b, 0x40, 0, 0},
+       {0x3820, 0x41, 0, 0}, {0x3821, 0x07, 0, 0}, {0x3814, 0x31, 0, 0},
+       {0x3815, 0x31, 0, 0}, {0x3800, 0x00, 0, 0}, {0x3801, 0x00, 0, 0},
+       {0x3802, 0x00, 0, 0}, {0x3803, 0x04, 0, 0}, {0x3804, 0x0a, 0, 0},
+       {0x3805, 0x3f, 0, 0}, {0x3806, 0x07, 0, 0}, {0x3807, 0x9b, 0, 0},
+       {0x3808, 0x01, 0, 0}, {0x3809, 0x40, 0, 0}, {0x380a, 0x00, 0, 0},
+       {0x380b, 0xf0, 0, 0}, {0x380c, 0x07, 0, 0}, {0x380d, 0x68, 0, 0},
+       {0x380e, 0x03, 0, 0}, {0x380f, 0xd8, 0, 0}, {0x3810, 0x00, 0, 0},
+       {0x3811, 0x10, 0, 0}, {0x3812, 0x00, 0, 0}, {0x3813, 0x06, 0, 0},
+       {0x3618, 0x00, 0, 0}, {0x3612, 0x29, 0, 0}, {0x3708, 0x64, 0, 0},
+       {0x3709, 0x52, 0, 0}, {0x370c, 0x03, 0, 0}, {0x3a02, 0x03, 0, 0},
+       {0x3a03, 0xd8, 0, 0}, {0x3a08, 0x01, 0, 0}, {0x3a09, 0x27, 0, 0},
+       {0x3a0a, 0x00, 0, 0}, {0x3a0b, 0xf6, 0, 0}, {0x3a0e, 0x03, 0, 0},
+       {0x3a0d, 0x04, 0, 0}, {0x3a14, 0x03, 0, 0}, {0x3a15, 0xd8, 0, 0},
+       {0x4001, 0x02, 0, 0}, {0x4004, 0x02, 0, 0}, {0x4713, 0x03, 0, 0},
+       {0x4407, 0x04, 0, 0}, {0x460b, 0x35, 0, 0}, {0x460c, 0x22, 0, 0},
+       {0x3824, 0x02, 0, 0}, {0x5001, 0xa3, 0, 0},
+};
+
+static struct reg_value ov5640_setting_30fps_QCIF_176_144[] = {
+       {0x3035, 0x14, 0, 0}, {0x3036, 0x38, 0, 0}, {0x3c07, 0x08, 0, 0},
+       {0x3c09, 0x1c, 0, 0}, {0x3c0a, 0x9c, 0, 0}, {0x3c0b, 0x40, 0, 0},
+       {0x3820, 0x41, 0, 0}, {0x3821, 0x07, 0, 0}, {0x3814, 0x31, 0, 0},
+       {0x3815, 0x31, 0, 0}, {0x3800, 0x00, 0, 0}, {0x3801, 0x00, 0, 0},
+       {0x3802, 0x00, 0, 0}, {0x3803, 0x04, 0, 0}, {0x3804, 0x0a, 0, 0},
+       {0x3805, 0x3f, 0, 0}, {0x3806, 0x07, 0, 0}, {0x3807, 0x9b, 0, 0},
+       {0x3808, 0x00, 0, 0}, {0x3809, 0xb0, 0, 0}, {0x380a, 0x00, 0, 0},
+       {0x380b, 0x90, 0, 0}, {0x380c, 0x07, 0, 0}, {0x380d, 0x68, 0, 0},
+       {0x380e, 0x03, 0, 0}, {0x380f, 0xd8, 0, 0}, {0x3810, 0x00, 0, 0},
+       {0x3811, 0x10, 0, 0}, {0x3812, 0x00, 0, 0}, {0x3813, 0x06, 0, 0},
+       {0x3618, 0x00, 0, 0}, {0x3612, 0x29, 0, 0}, {0x3708, 0x64, 0, 0},
+       {0x3709, 0x52, 0, 0}, {0x370c, 0x03, 0, 0}, {0x3a02, 0x03, 0, 0},
+       {0x3a03, 0xd8, 0, 0}, {0x3a08, 0x01, 0, 0}, {0x3a09, 0x27, 0, 0},
+       {0x3a0a, 0x00, 0, 0}, {0x3a0b, 0xf6, 0, 0}, {0x3a0e, 0x03, 0, 0},
+       {0x3a0d, 0x04, 0, 0}, {0x3a14, 0x03, 0, 0}, {0x3a15, 0xd8, 0, 0},
+       {0x4001, 0x02, 0, 0}, {0x4004, 0x02, 0, 0}, {0x4713, 0x03, 0, 0},
+       {0x4407, 0x04, 0, 0}, {0x460b, 0x35, 0, 0}, {0x460c, 0x22, 0, 0},
+       {0x3824, 0x02, 0, 0}, {0x5001, 0xa3, 0, 0},
+};
+static struct reg_value ov5640_setting_15fps_QCIF_176_144[] = {
+       {0x3035, 0x22, 0, 0}, {0x3036, 0x38, 0, 0}, {0x3c07, 0x08, 0, 0},
+       {0x3c09, 0x1c, 0, 0}, {0x3c0a, 0x9c, 0, 0}, {0x3c0b, 0x40, 0, 0},
+       {0x3820, 0x41, 0, 0}, {0x3821, 0x07, 0, 0}, {0x3814, 0x31, 0, 0},
+       {0x3815, 0x31, 0, 0}, {0x3800, 0x00, 0, 0}, {0x3801, 0x00, 0, 0},
+       {0x3802, 0x00, 0, 0}, {0x3803, 0x04, 0, 0}, {0x3804, 0x0a, 0, 0},
+       {0x3805, 0x3f, 0, 0}, {0x3806, 0x07, 0, 0}, {0x3807, 0x9b, 0, 0},
+       {0x3808, 0x00, 0, 0}, {0x3809, 0xb0, 0, 0}, {0x380a, 0x00, 0, 0},
+       {0x380b, 0x90, 0, 0}, {0x380c, 0x07, 0, 0}, {0x380d, 0x68, 0, 0},
+       {0x380e, 0x03, 0, 0}, {0x380f, 0xd8, 0, 0}, {0x3810, 0x00, 0, 0},
+       {0x3811, 0x10, 0, 0}, {0x3812, 0x00, 0, 0}, {0x3813, 0x06, 0, 0},
+       {0x3618, 0x00, 0, 0}, {0x3612, 0x29, 0, 0}, {0x3708, 0x64, 0, 0},
+       {0x3709, 0x52, 0, 0}, {0x370c, 0x03, 0, 0}, {0x3a02, 0x03, 0, 0},
+       {0x3a03, 0xd8, 0, 0}, {0x3a08, 0x01, 0, 0}, {0x3a09, 0x27, 0, 0},
+       {0x3a0a, 0x00, 0, 0}, {0x3a0b, 0xf6, 0, 0}, {0x3a0e, 0x03, 0, 0},
+       {0x3a0d, 0x04, 0, 0}, {0x3a14, 0x03, 0, 0}, {0x3a15, 0xd8, 0, 0},
+       {0x4001, 0x02, 0, 0}, {0x4004, 0x02, 0, 0}, {0x4713, 0x03, 0, 0},
+       {0x4407, 0x04, 0, 0}, {0x460b, 0x35, 0, 0}, {0x460c, 0x22, 0, 0},
+       {0x3824, 0x02, 0, 0}, {0x5001, 0xa3, 0, 0},
+};
+
+static struct reg_value ov5640_setting_30fps_NTSC_720_480[] = {
+       {0x3035, 0x12, 0, 0}, {0x3036, 0x38, 0, 0}, {0x3c07, 0x08, 0, 0},
+       {0x3c09, 0x1c, 0, 0}, {0x3c0a, 0x9c, 0, 0}, {0x3c0b, 0x40, 0, 0},
+       {0x3820, 0x41, 0, 0}, {0x3821, 0x07, 0, 0}, {0x3814, 0x31, 0, 0},
+       {0x3815, 0x31, 0, 0}, {0x3800, 0x00, 0, 0}, {0x3801, 0x00, 0, 0},
+       {0x3802, 0x00, 0, 0}, {0x3803, 0x04, 0, 0}, {0x3804, 0x0a, 0, 0},
+       {0x3805, 0x3f, 0, 0}, {0x3806, 0x07, 0, 0}, {0x3807, 0x9b, 0, 0},
+       {0x3808, 0x02, 0, 0}, {0x3809, 0xd0, 0, 0}, {0x380a, 0x01, 0, 0},
+       {0x380b, 0xe0, 0, 0}, {0x380c, 0x07, 0, 0}, {0x380d, 0x68, 0, 0},
+       {0x380e, 0x03, 0, 0}, {0x380f, 0xd8, 0, 0}, {0x3810, 0x00, 0, 0},
+       {0x3811, 0x10, 0, 0}, {0x3812, 0x00, 0, 0}, {0x3813, 0x3c, 0, 0},
+       {0x3618, 0x00, 0, 0}, {0x3612, 0x29, 0, 0}, {0x3708, 0x64, 0, 0},
+       {0x3709, 0x52, 0, 0}, {0x370c, 0x03, 0, 0}, {0x3a02, 0x03, 0, 0},
+       {0x3a03, 0xd8, 0, 0}, {0x3a08, 0x01, 0, 0}, {0x3a09, 0x27, 0, 0},
+       {0x3a0a, 0x00, 0, 0}, {0x3a0b, 0xf6, 0, 0}, {0x3a0e, 0x03, 0, 0},
+       {0x3a0d, 0x04, 0, 0}, {0x3a14, 0x03, 0, 0}, {0x3a15, 0xd8, 0, 0},
+       {0x4001, 0x02, 0, 0}, {0x4004, 0x02, 0, 0}, {0x4713, 0x03, 0, 0},
+       {0x4407, 0x04, 0, 0}, {0x460b, 0x35, 0, 0}, {0x460c, 0x22, 0, 0},
+       {0x3824, 0x02, 0, 0}, {0x5001, 0xa3, 0, 0},
+};
+
+static struct reg_value ov5640_setting_15fps_NTSC_720_480[] = {
+       {0x3035, 0x22, 0, 0}, {0x3036, 0x38, 0, 0}, {0x3c07, 0x08, 0, 0},
+       {0x3c09, 0x1c, 0, 0}, {0x3c0a, 0x9c, 0, 0}, {0x3c0b, 0x40, 0, 0},
+       {0x3820, 0x41, 0, 0}, {0x3821, 0x07, 0, 0}, {0x3814, 0x31, 0, 0},
+       {0x3815, 0x31, 0, 0}, {0x3800, 0x00, 0, 0}, {0x3801, 0x00, 0, 0},
+       {0x3802, 0x00, 0, 0}, {0x3803, 0x04, 0, 0}, {0x3804, 0x0a, 0, 0},
+       {0x3805, 0x3f, 0, 0}, {0x3806, 0x07, 0, 0}, {0x3807, 0x9b, 0, 0},
+       {0x3808, 0x02, 0, 0}, {0x3809, 0xd0, 0, 0}, {0x380a, 0x01, 0, 0},
+       {0x380b, 0xe0, 0, 0}, {0x380c, 0x07, 0, 0}, {0x380d, 0x68, 0, 0},
+       {0x380e, 0x03, 0, 0}, {0x380f, 0xd8, 0, 0}, {0x3810, 0x00, 0, 0},
+       {0x3811, 0x10, 0, 0}, {0x3812, 0x00, 0, 0}, {0x3813, 0x3c, 0, 0},
+       {0x3618, 0x00, 0, 0}, {0x3612, 0x29, 0, 0}, {0x3708, 0x64, 0, 0},
+       {0x3709, 0x52, 0, 0}, {0x370c, 0x03, 0, 0}, {0x3a02, 0x03, 0, 0},
+       {0x3a03, 0xd8, 0, 0}, {0x3a08, 0x01, 0, 0}, {0x3a09, 0x27, 0, 0},
+       {0x3a0a, 0x00, 0, 0}, {0x3a0b, 0xf6, 0, 0}, {0x3a0e, 0x03, 0, 0},
+       {0x3a0d, 0x04, 0, 0}, {0x3a14, 0x03, 0, 0}, {0x3a15, 0xd8, 0, 0},
+       {0x4001, 0x02, 0, 0}, {0x4004, 0x02, 0, 0}, {0x4713, 0x03, 0, 0},
+       {0x4407, 0x04, 0, 0}, {0x460b, 0x35, 0, 0}, {0x460c, 0x22, 0, 0},
+       {0x3824, 0x02, 0, 0}, {0x5001, 0xa3, 0, 0},
+};
+
+static struct reg_value ov5640_setting_30fps_PAL_720_576[] = {
+       {0x3035, 0x12, 0, 0}, {0x3036, 0x38, 0, 0}, {0x3c07, 0x08, 0, 0},
+       {0x3c09, 0x1c, 0, 0}, {0x3c0a, 0x9c, 0, 0}, {0x3c0b, 0x40, 0, 0},
+       {0x3820, 0x41, 0, 0}, {0x3821, 0x07, 0, 0}, {0x3814, 0x31, 0, 0},
+       {0x3815, 0x31, 0, 0}, {0x3800, 0x00, 0, 0}, {0x3801, 0x00, 0, 0},
+       {0x3802, 0x00, 0, 0}, {0x3803, 0x04, 0, 0}, {0x3804, 0x0a, 0, 0},
+       {0x3805, 0x3f, 0, 0}, {0x3806, 0x07, 0, 0}, {0x3807, 0x9b, 0, 0},
+       {0x3808, 0x02, 0, 0}, {0x3809, 0xd0, 0, 0}, {0x380a, 0x02, 0, 0},
+       {0x380b, 0x40, 0, 0}, {0x380c, 0x07, 0, 0}, {0x380d, 0x68, 0, 0},
+       {0x380e, 0x03, 0, 0}, {0x380f, 0xd8, 0, 0}, {0x3810, 0x00, 0, 0},
+       {0x3811, 0x38, 0, 0}, {0x3812, 0x00, 0, 0}, {0x3813, 0x06, 0, 0},
+       {0x3618, 0x00, 0, 0}, {0x3612, 0x29, 0, 0}, {0x3708, 0x64, 0, 0},
+       {0x3709, 0x52, 0, 0}, {0x370c, 0x03, 0, 0}, {0x3a02, 0x03, 0, 0},
+       {0x3a03, 0xd8, 0, 0}, {0x3a08, 0x01, 0, 0}, {0x3a09, 0x27, 0, 0},
+       {0x3a0a, 0x00, 0, 0}, {0x3a0b, 0xf6, 0, 0}, {0x3a0e, 0x03, 0, 0},
+       {0x3a0d, 0x04, 0, 0}, {0x3a14, 0x03, 0, 0}, {0x3a15, 0xd8, 0, 0},
+       {0x4001, 0x02, 0, 0}, {0x4004, 0x02, 0, 0}, {0x4713, 0x03, 0, 0},
+       {0x4407, 0x04, 0, 0}, {0x460b, 0x35, 0, 0}, {0x460c, 0x22, 0, 0},
+       {0x3824, 0x02, 0, 0}, {0x5001, 0xa3, 0, 0},
+};
+
+static struct reg_value ov5640_setting_15fps_PAL_720_576[] = {
+       {0x3035, 0x22, 0, 0}, {0x3036, 0x38, 0, 0}, {0x3c07, 0x08, 0, 0},
+       {0x3c09, 0x1c, 0, 0}, {0x3c0a, 0x9c, 0, 0}, {0x3c0b, 0x40, 0, 0},
+       {0x3820, 0x41, 0, 0}, {0x3821, 0x07, 0, 0}, {0x3814, 0x31, 0, 0},
+       {0x3815, 0x31, 0, 0}, {0x3800, 0x00, 0, 0}, {0x3801, 0x00, 0, 0},
+       {0x3802, 0x00, 0, 0}, {0x3803, 0x04, 0, 0}, {0x3804, 0x0a, 0, 0},
+       {0x3805, 0x3f, 0, 0}, {0x3806, 0x07, 0, 0}, {0x3807, 0x9b, 0, 0},
+       {0x3808, 0x02, 0, 0}, {0x3809, 0xd0, 0, 0}, {0x380a, 0x02, 0, 0},
+       {0x380b, 0x40, 0, 0}, {0x380c, 0x07, 0, 0}, {0x380d, 0x68, 0, 0},
+       {0x380e, 0x03, 0, 0}, {0x380f, 0xd8, 0, 0}, {0x3810, 0x00, 0, 0},
+       {0x3811, 0x38, 0, 0}, {0x3812, 0x00, 0, 0}, {0x3813, 0x06, 0, 0},
+       {0x3618, 0x00, 0, 0}, {0x3612, 0x29, 0, 0}, {0x3708, 0x64, 0, 0},
+       {0x3709, 0x52, 0, 0}, {0x370c, 0x03, 0, 0}, {0x3a02, 0x03, 0, 0},
+       {0x3a03, 0xd8, 0, 0}, {0x3a08, 0x01, 0, 0}, {0x3a09, 0x27, 0, 0},
+       {0x3a0a, 0x00, 0, 0}, {0x3a0b, 0xf6, 0, 0}, {0x3a0e, 0x03, 0, 0},
+       {0x3a0d, 0x04, 0, 0}, {0x3a14, 0x03, 0, 0}, {0x3a15, 0xd8, 0, 0},
+       {0x4001, 0x02, 0, 0}, {0x4004, 0x02, 0, 0}, {0x4713, 0x03, 0, 0},
+       {0x4407, 0x04, 0, 0}, {0x460b, 0x35, 0, 0}, {0x460c, 0x22, 0, 0},
+       {0x3824, 0x02, 0, 0}, {0x5001, 0xa3, 0, 0},
+};
+
+static struct reg_value ov5640_setting_30fps_720P_1280_720[] = {
+       {0x3008, 0x42, 0, 0},
+       {0x3035, 0x21, 0, 0}, {0x3036, 0x54, 0, 0}, {0x3c07, 0x07, 0, 0},
+       {0x3c09, 0x1c, 0, 0}, {0x3c0a, 0x9c, 0, 0}, {0x3c0b, 0x40, 0, 0},
+       {0x3820, 0x41, 0, 0}, {0x3821, 0x07, 0, 0}, {0x3814, 0x31, 0, 0},
+       {0x3815, 0x31, 0, 0}, {0x3800, 0x00, 0, 0}, {0x3801, 0x00, 0, 0},
+       {0x3802, 0x00, 0, 0}, {0x3803, 0xfa, 0, 0}, {0x3804, 0x0a, 0, 0},
+       {0x3805, 0x3f, 0, 0}, {0x3806, 0x06, 0, 0}, {0x3807, 0xa9, 0, 0},
+       {0x3808, 0x05, 0, 0}, {0x3809, 0x00, 0, 0}, {0x380a, 0x02, 0, 0},
+       {0x380b, 0xd0, 0, 0}, {0x380c, 0x07, 0, 0}, {0x380d, 0x64, 0, 0},
+       {0x380e, 0x02, 0, 0}, {0x380f, 0xe4, 0, 0}, {0x3810, 0x00, 0, 0},
+       {0x3811, 0x10, 0, 0}, {0x3812, 0x00, 0, 0}, {0x3813, 0x04, 0, 0},
+       {0x3618, 0x00, 0, 0}, {0x3612, 0x29, 0, 0}, {0x3708, 0x64, 0, 0},
+       {0x3709, 0x52, 0, 0}, {0x370c, 0x03, 0, 0}, {0x3a02, 0x02, 0, 0},
+       {0x3a03, 0xe4, 0, 0}, {0x3a08, 0x01, 0, 0}, {0x3a09, 0xbc, 0, 0},
+       {0x3a0a, 0x01, 0, 0}, {0x3a0b, 0x72, 0, 0}, {0x3a0e, 0x01, 0, 0},
+       {0x3a0d, 0x02, 0, 0}, {0x3a14, 0x02, 0, 0}, {0x3a15, 0xe4, 0, 0},
+       {0x4001, 0x02, 0, 0}, {0x4004, 0x02, 0, 0}, {0x4713, 0x02, 0, 0},
+       {0x4407, 0x04, 0, 0}, {0x460b, 0x37, 0, 0}, {0x460c, 0x20, 0, 0},
+       {0x3824, 0x04, 0, 0}, {0x5001, 0x83, 0, 0}, {0x4005, 0x1a, 0, 0},
+       {0x3008, 0x02, 0, 0}, {0x3503, 0,    0, 0},
+};
+
+static struct reg_value ov5640_setting_15fps_720P_1280_720[] = {
+       {0x3035, 0x41, 0, 0}, {0x3036, 0x54, 0, 0}, {0x3c07, 0x07, 0, 0},
+       {0x3c09, 0x1c, 0, 0}, {0x3c0a, 0x9c, 0, 0}, {0x3c0b, 0x40, 0, 0},
+       {0x3820, 0x41, 0, 0}, {0x3821, 0x07, 0, 0}, {0x3814, 0x31, 0, 0},
+       {0x3815, 0x31, 0, 0}, {0x3800, 0x00, 0, 0}, {0x3801, 0x00, 0, 0},
+       {0x3802, 0x00, 0, 0}, {0x3803, 0xfa, 0, 0}, {0x3804, 0x0a, 0, 0},
+       {0x3805, 0x3f, 0, 0}, {0x3806, 0x06, 0, 0}, {0x3807, 0xa9, 0, 0},
+       {0x3808, 0x05, 0, 0}, {0x3809, 0x00, 0, 0}, {0x380a, 0x02, 0, 0},
+       {0x380b, 0xd0, 0, 0}, {0x380c, 0x07, 0, 0}, {0x380d, 0x64, 0, 0},
+       {0x380e, 0x02, 0, 0}, {0x380f, 0xe4, 0, 0}, {0x3810, 0x00, 0, 0},
+       {0x3811, 0x10, 0, 0}, {0x3812, 0x00, 0, 0}, {0x3813, 0x04, 0, 0},
+       {0x3618, 0x00, 0, 0}, {0x3612, 0x29, 0, 0}, {0x3708, 0x64, 0, 0},
+       {0x3709, 0x52, 0, 0}, {0x370c, 0x03, 0, 0}, {0x3a02, 0x02, 0, 0},
+       {0x3a03, 0xe4, 0, 0}, {0x3a08, 0x01, 0, 0}, {0x3a09, 0xbc, 0, 0},
+       {0x3a0a, 0x01, 0, 0}, {0x3a0b, 0x72, 0, 0}, {0x3a0e, 0x01, 0, 0},
+       {0x3a0d, 0x02, 0, 0}, {0x3a14, 0x02, 0, 0}, {0x3a15, 0xe4, 0, 0},
+       {0x4001, 0x02, 0, 0}, {0x4004, 0x02, 0, 0}, {0x4713, 0x02, 0, 0},
+       {0x4407, 0x04, 0, 0}, {0x460b, 0x37, 0, 0}, {0x460c, 0x20, 0, 0},
+       {0x3824, 0x04, 0, 0}, {0x5001, 0x83, 0, 0},
+};
+
+static struct reg_value ov5640_setting_30fps_1080P_1920_1080[] = {
+       {0x3008, 0x42, 0, 0},
+       {0x3035, 0x21, 0, 0}, {0x3036, 0x54, 0, 0}, {0x3c07, 0x08, 0, 0},
+       {0x3c09, 0x1c, 0, 0}, {0x3c0a, 0x9c, 0, 0}, {0x3c0b, 0x40, 0, 0},
+       {0x3820, 0x40, 0, 0}, {0x3821, 0x06, 0, 0}, {0x3814, 0x11, 0, 0},
+       {0x3815, 0x11, 0, 0}, {0x3800, 0x00, 0, 0}, {0x3801, 0x00, 0, 0},
+       {0x3802, 0x00, 0, 0}, {0x3803, 0x00, 0, 0}, {0x3804, 0x0a, 0, 0},
+       {0x3805, 0x3f, 0, 0}, {0x3806, 0x07, 0, 0}, {0x3807, 0x9f, 0, 0},
+       {0x3808, 0x0a, 0, 0}, {0x3809, 0x20, 0, 0}, {0x380a, 0x07, 0, 0},
+       {0x380b, 0x98, 0, 0}, {0x380c, 0x0b, 0, 0}, {0x380d, 0x1c, 0, 0},
+       {0x380e, 0x07, 0, 0}, {0x380f, 0xb0, 0, 0}, {0x3810, 0x00, 0, 0},
+       {0x3811, 0x10, 0, 0}, {0x3812, 0x00, 0, 0}, {0x3813, 0x04, 0, 0},
+       {0x3618, 0x04, 0, 0}, {0x3612, 0x29, 0, 0}, {0x3708, 0x21, 0, 0},
+       {0x3709, 0x12, 0, 0}, {0x370c, 0x00, 0, 0}, {0x3a02, 0x03, 0, 0},
+       {0x3a03, 0xd8, 0, 0}, {0x3a08, 0x01, 0, 0}, {0x3a09, 0x27, 0, 0},
+       {0x3a0a, 0x00, 0, 0}, {0x3a0b, 0xf6, 0, 0}, {0x3a0e, 0x03, 0, 0},
+       {0x3a0d, 0x04, 0, 0}, {0x3a14, 0x03, 0, 0}, {0x3a15, 0xd8, 0, 0},
+       {0x4001, 0x02, 0, 0}, {0x4004, 0x06, 0, 0}, {0x4713, 0x03, 0, 0},
+       {0x4407, 0x04, 0, 0}, {0x460b, 0x35, 0, 0}, {0x460c, 0x22, 0, 0},
+       {0x3824, 0x02, 0, 0}, {0x5001, 0x83, 0, 0}, {0x3035, 0x11, 0, 0},
+       {0x3036, 0x54, 0, 0}, {0x3c07, 0x07, 0, 0}, {0x3c08, 0x00, 0, 0},
+       {0x3c09, 0x1c, 0, 0}, {0x3c0a, 0x9c, 0, 0}, {0x3c0b, 0x40, 0, 0},
+       {0x3800, 0x01, 0, 0}, {0x3801, 0x50, 0, 0}, {0x3802, 0x01, 0, 0},
+       {0x3803, 0xb2, 0, 0}, {0x3804, 0x08, 0, 0}, {0x3805, 0xef, 0, 0},
+       {0x3806, 0x05, 0, 0}, {0x3807, 0xf1, 0, 0}, {0x3808, 0x07, 0, 0},
+       {0x3809, 0x80, 0, 0}, {0x380a, 0x04, 0, 0}, {0x380b, 0x38, 0, 0},
+       {0x380c, 0x09, 0, 0}, {0x380d, 0xc4, 0, 0}, {0x380e, 0x04, 0, 0},
+       {0x380f, 0x60, 0, 0}, {0x3612, 0x2b, 0, 0}, {0x3708, 0x64, 0, 0},
+       {0x3a02, 0x04, 0, 0}, {0x3a03, 0x60, 0, 0}, {0x3a08, 0x01, 0, 0},
+       {0x3a09, 0x50, 0, 0}, {0x3a0a, 0x01, 0, 0}, {0x3a0b, 0x18, 0, 0},
+       {0x3a0e, 0x03, 0, 0}, {0x3a0d, 0x04, 0, 0}, {0x3a14, 0x04, 0, 0},
+       {0x3a15, 0x60, 0, 0}, {0x4713, 0x02, 0, 0}, {0x4407, 0x04, 0, 0},
+       {0x460b, 0x37, 0, 0}, {0x460c, 0x20, 0, 0}, {0x3824, 0x04, 0, 0},
+       {0x4005, 0x1a, 0, 0}, {0x3008, 0x02, 0, 0},
+       {0x3503, 0, 0, 0},
+};
+
+static struct reg_value ov5640_setting_15fps_1080P_1920_1080[] = {
+       {0x3008, 0x42, 0, 0},
+       {0x3035, 0x21, 0, 0}, {0x3036, 0x54, 0, 0}, {0x3c07, 0x08, 0, 0},
+       {0x3c09, 0x1c, 0, 0}, {0x3c0a, 0x9c, 0, 0}, {0x3c0b, 0x40, 0, 0},
+       {0x3820, 0x40, 0, 0}, {0x3821, 0x06, 0, 0}, {0x3814, 0x11, 0, 0},
+       {0x3815, 0x11, 0, 0}, {0x3800, 0x00, 0, 0}, {0x3801, 0x00, 0, 0},
+       {0x3802, 0x00, 0, 0}, {0x3803, 0x00, 0, 0}, {0x3804, 0x0a, 0, 0},
+       {0x3805, 0x3f, 0, 0}, {0x3806, 0x07, 0, 0}, {0x3807, 0x9f, 0, 0},
+       {0x3808, 0x0a, 0, 0}, {0x3809, 0x20, 0, 0}, {0x380a, 0x07, 0, 0},
+       {0x380b, 0x98, 0, 0}, {0x380c, 0x0b, 0, 0}, {0x380d, 0x1c, 0, 0},
+       {0x380e, 0x07, 0, 0}, {0x380f, 0xb0, 0, 0}, {0x3810, 0x00, 0, 0},
+       {0x3811, 0x10, 0, 0}, {0x3812, 0x00, 0, 0}, {0x3813, 0x04, 0, 0},
+       {0x3618, 0x04, 0, 0}, {0x3612, 0x29, 0, 0}, {0x3708, 0x21, 0, 0},
+       {0x3709, 0x12, 0, 0}, {0x370c, 0x00, 0, 0}, {0x3a02, 0x03, 0, 0},
+       {0x3a03, 0xd8, 0, 0}, {0x3a08, 0x01, 0, 0}, {0x3a09, 0x27, 0, 0},
+       {0x3a0a, 0x00, 0, 0}, {0x3a0b, 0xf6, 0, 0}, {0x3a0e, 0x03, 0, 0},
+       {0x3a0d, 0x04, 0, 0}, {0x3a14, 0x03, 0, 0}, {0x3a15, 0xd8, 0, 0},
+       {0x4001, 0x02, 0, 0}, {0x4004, 0x06, 0, 0}, {0x4713, 0x03, 0, 0},
+       {0x4407, 0x04, 0, 0}, {0x460b, 0x35, 0, 0}, {0x460c, 0x22, 0, 0},
+       {0x3824, 0x02, 0, 0}, {0x5001, 0x83, 0, 0}, {0x3035, 0x21, 0, 0},
+       {0x3036, 0x54, 0, 1}, {0x3c07, 0x07, 0, 0}, {0x3c08, 0x00, 0, 0},
+       {0x3c09, 0x1c, 0, 0}, {0x3c0a, 0x9c, 0, 0}, {0x3c0b, 0x40, 0, 0},
+       {0x3800, 0x01, 0, 0}, {0x3801, 0x50, 0, 0}, {0x3802, 0x01, 0, 0},
+       {0x3803, 0xb2, 0, 0}, {0x3804, 0x08, 0, 0}, {0x3805, 0xef, 0, 0},
+       {0x3806, 0x05, 0, 0}, {0x3807, 0xf1, 0, 0}, {0x3808, 0x07, 0, 0},
+       {0x3809, 0x80, 0, 0}, {0x380a, 0x04, 0, 0}, {0x380b, 0x38, 0, 0},
+       {0x380c, 0x09, 0, 0}, {0x380d, 0xc4, 0, 0}, {0x380e, 0x04, 0, 0},
+       {0x380f, 0x60, 0, 0}, {0x3612, 0x2b, 0, 0}, {0x3708, 0x64, 0, 0},
+       {0x3a02, 0x04, 0, 0}, {0x3a03, 0x60, 0, 0}, {0x3a08, 0x01, 0, 0},
+       {0x3a09, 0x50, 0, 0}, {0x3a0a, 0x01, 0, 0}, {0x3a0b, 0x18, 0, 0},
+       {0x3a0e, 0x03, 0, 0}, {0x3a0d, 0x04, 0, 0}, {0x3a14, 0x04, 0, 0},
+       {0x3a15, 0x60, 0, 0}, {0x4713, 0x02, 0, 0}, {0x4407, 0x04, 0, 0},
+       {0x460b, 0x37, 0, 0}, {0x460c, 0x20, 0, 0}, {0x3824, 0x04, 0, 0},
+       {0x4005, 0x1a, 0, 0}, {0x3008, 0x02, 0, 0}, {0x3503, 0, 0, 0},
+};
+
+static struct reg_value ov5640_setting_15fps_QSXGA_2592_1944[] = {
+       {0x4202, 0x0f, 0, 0},   /* stream off the sensor */
+       {0x3820, 0x40, 0, 0}, {0x3821, 0x06, 0, 0}, /*disable flip*/
+       {0x3035, 0x21, 0, 0}, {0x3036, 0x54, 0, 0}, {0x3c07, 0x08, 0, 0},
+       {0x3c09, 0x1c, 0, 0}, {0x3c0a, 0x9c, 0, 0}, {0x3c0b, 0x40, 0, 0},
+       {0x3820, 0x40, 0, 0}, {0x3821, 0x06, 0, 0}, {0x3814, 0x11, 0, 0},
+       {0x3815, 0x11, 0, 0}, {0x3800, 0x00, 0, 0}, {0x3801, 0x00, 0, 0},
+       {0x3802, 0x00, 0, 0}, {0x3803, 0x00, 0, 0}, {0x3804, 0x0a, 0, 0},
+       {0x3805, 0x3f, 0, 0}, {0x3806, 0x07, 0, 0}, {0x3807, 0x9f, 0, 0},
+       {0x3808, 0x0a, 0, 0}, {0x3809, 0x20, 0, 0}, {0x380a, 0x07, 0, 0},
+       {0x380b, 0x98, 0, 0}, {0x380c, 0x0b, 0, 0}, {0x380d, 0x1c, 0, 0},
+       {0x380e, 0x07, 0, 0}, {0x380f, 0xb0, 0, 0}, {0x3810, 0x00, 0, 0},
+       {0x3811, 0x10, 0, 0}, {0x3812, 0x00, 0, 0}, {0x3813, 0x04, 0, 0},
+       {0x3618, 0x04, 0, 0}, {0x3612, 0x29, 0, 0}, {0x3708, 0x21, 0, 0},
+       {0x3709, 0x12, 0, 0}, {0x370c, 0x00, 0, 0}, {0x3a02, 0x03, 0, 0},
+       {0x3a03, 0xd8, 0, 0}, {0x3a08, 0x01, 0, 0}, {0x3a09, 0x27, 0, 0},
+       {0x3a0a, 0x00, 0, 0}, {0x3a0b, 0xf6, 0, 0}, {0x3a0e, 0x03, 0, 0},
+       {0x3a0d, 0x04, 0, 0}, {0x3a14, 0x03, 0, 0}, {0x3a15, 0xd8, 0, 0},
+       {0x4001, 0x02, 0, 0}, {0x4004, 0x06, 0, 0}, {0x4713, 0x03, 0, 0},
+       {0x4407, 0x04, 0, 0}, {0x460b, 0x35, 0, 0}, {0x460c, 0x22, 0, 0},
+       {0x3824, 0x02, 0, 0}, {0x5001, 0x83, 0, 70},
+       {0x4202, 0x00, 0, 0},   /* stream on the sensor */
+};
+
+static struct ov5640_mode_info ov5640_mode_info_data[2][ov5640_mode_MAX + 1] = {
+       {
+               {ov5640_mode_VGA_640_480, SUBSAMPLING, 640,  480,
+               ov5640_setting_15fps_VGA_640_480,
+               ARRAY_SIZE(ov5640_setting_15fps_VGA_640_480)},
+               {ov5640_mode_QVGA_320_240, SUBSAMPLING, 320,  240,
+               ov5640_setting_15fps_QVGA_320_240,
+               ARRAY_SIZE(ov5640_setting_15fps_QVGA_320_240)},
+               {ov5640_mode_NTSC_720_480, SUBSAMPLING, 720, 480,
+               ov5640_setting_15fps_NTSC_720_480,
+               ARRAY_SIZE(ov5640_setting_15fps_NTSC_720_480)},
+               {ov5640_mode_PAL_720_576, SUBSAMPLING, 720, 576,
+               ov5640_setting_15fps_PAL_720_576,
+               ARRAY_SIZE(ov5640_setting_15fps_PAL_720_576)},
+               {ov5640_mode_720P_1280_720, SUBSAMPLING, 1280, 720,
+               ov5640_setting_15fps_720P_1280_720,
+               ARRAY_SIZE(ov5640_setting_15fps_720P_1280_720)},
+               {ov5640_mode_1080P_1920_1080, SCALING, 1920, 1080,
+               ov5640_setting_15fps_1080P_1920_1080,
+               ARRAY_SIZE(ov5640_setting_15fps_1080P_1920_1080)},
+               {ov5640_mode_QSXGA_2592_1944, SCALING, 2592, 1944,
+               ov5640_setting_15fps_QSXGA_2592_1944,
+               ARRAY_SIZE(ov5640_setting_15fps_QSXGA_2592_1944)},
+               {ov5640_mode_QCIF_176_144, SUBSAMPLING, 176, 144,
+               ov5640_setting_15fps_QCIF_176_144,
+               ARRAY_SIZE(ov5640_setting_15fps_QCIF_176_144)},
+               {ov5640_mode_XGA_1024_768, SUBSAMPLING, 1024, 768,
+               ov5640_setting_15fps_XGA_1024_768,
+               ARRAY_SIZE(ov5640_setting_15fps_XGA_1024_768)},
+       },
+       {
+               {ov5640_mode_VGA_640_480, SUBSAMPLING, 640,  480,
+               ov5640_setting_30fps_VGA_640_480,
+               ARRAY_SIZE(ov5640_setting_30fps_VGA_640_480)},
+               {ov5640_mode_QVGA_320_240, SUBSAMPLING, 320,  240,
+               ov5640_setting_30fps_QVGA_320_240,
+               ARRAY_SIZE(ov5640_setting_30fps_QVGA_320_240)},
+               {ov5640_mode_NTSC_720_480, SUBSAMPLING, 720, 480,
+               ov5640_setting_30fps_NTSC_720_480,
+               ARRAY_SIZE(ov5640_setting_30fps_NTSC_720_480)},
+               {ov5640_mode_PAL_720_576, SUBSAMPLING, 720, 576,
+               ov5640_setting_30fps_PAL_720_576,
+               ARRAY_SIZE(ov5640_setting_30fps_PAL_720_576)},
+               {ov5640_mode_720P_1280_720, SUBSAMPLING, 1280, 720,
+               ov5640_setting_30fps_720P_1280_720,
+               ARRAY_SIZE(ov5640_setting_30fps_720P_1280_720)},
+               {ov5640_mode_1080P_1920_1080, SCALING, 1920, 1080,
+               ov5640_setting_30fps_1080P_1920_1080,
+               ARRAY_SIZE(ov5640_setting_30fps_1080P_1920_1080)},
+               {ov5640_mode_QSXGA_2592_1944, -1, 0, 0, NULL, 0},
+               {ov5640_mode_QCIF_176_144, SUBSAMPLING, 176, 144,
+               ov5640_setting_30fps_QCIF_176_144,
+               ARRAY_SIZE(ov5640_setting_30fps_QCIF_176_144)},
+               {ov5640_mode_XGA_1024_768, SUBSAMPLING, 1024, 768,
+               ov5640_setting_30fps_XGA_1024_768,
+               ARRAY_SIZE(ov5640_setting_30fps_XGA_1024_768)},
+       },
+};
+
+static struct regulator *io_regulator;
+static struct regulator *core_regulator;
+static struct regulator *analog_regulator;
+static struct regulator *gpo_regulator;
+
+static int ov5640_probe(struct i2c_client *adapter,
+                               const struct i2c_device_id *device_id);
+static int ov5640_remove(struct i2c_client *client);
+
+static s32 ov5640_read_reg(u16 reg, u8 *val);
+static s32 ov5640_write_reg(u16 reg, u8 val);
+
+static const struct i2c_device_id ov5640_id[] = {
+       {"ov5640_mipi", 0},
+       {},
+};
+
+MODULE_DEVICE_TABLE(i2c, ov5640_id);
+
+static struct i2c_driver ov5640_i2c_driver = {
+       .driver = {
+                 .owner = THIS_MODULE,
+                 .name  = "ov5640_mipi",
+                 },
+       .probe  = ov5640_probe,
+       .remove = ov5640_remove,
+       .id_table = ov5640_id,
+};
+
+static void ov5640_standby(s32 enable)
+{
+       if (enable)
+               gpio_set_value(pwn_gpio, 1);
+       else
+               gpio_set_value(pwn_gpio, 0);
+
+       msleep(2);
+}
+
+static void ov5640_reset(void)
+{
+       /* camera reset */
+       gpio_set_value(rst_gpio, 1);
+
+       /* camera power dowmn */
+       gpio_set_value(pwn_gpio, 1);
+       msleep(5);
+
+       gpio_set_value(pwn_gpio, 0);
+       msleep(5);
+
+       gpio_set_value(rst_gpio, 0);
+       msleep(1);
+
+       gpio_set_value(rst_gpio, 1);
+       msleep(5);
+
+       gpio_set_value(pwn_gpio, 1);
+}
+
+static int ov5640_power_on(struct device *dev)
+{
+       int ret = 0;
+
+       io_regulator = devm_regulator_get(dev, "DOVDD");
+       if (!IS_ERR(io_regulator)) {
+               regulator_set_voltage(io_regulator,
+                                     OV5640_VOLTAGE_DIGITAL_IO,
+                                     OV5640_VOLTAGE_DIGITAL_IO);
+               ret = regulator_enable(io_regulator);
+               if (ret) {
+                       pr_err("%s:io set voltage error\n", __func__);
+                       return ret;
+               } else {
+                       dev_dbg(dev,
+                               "%s:io set voltage ok\n", __func__);
+               }
+       } else {
+               pr_err("%s: cannot get io voltage error\n", __func__);
+               io_regulator = NULL;
+       }
+
+       core_regulator = devm_regulator_get(dev, "DVDD");
+       if (!IS_ERR(core_regulator)) {
+               regulator_set_voltage(core_regulator,
+                                     OV5640_VOLTAGE_DIGITAL_CORE,
+                                     OV5640_VOLTAGE_DIGITAL_CORE);
+               ret = regulator_enable(core_regulator);
+               if (ret) {
+                       pr_err("%s:core set voltage error\n", __func__);
+                       return ret;
+               } else {
+                       dev_dbg(dev,
+                               "%s:core set voltage ok\n", __func__);
+               }
+       } else {
+               core_regulator = NULL;
+               pr_err("%s: cannot get core voltage error\n", __func__);
+       }
+
+       analog_regulator = devm_regulator_get(dev, "AVDD");
+       if (!IS_ERR(analog_regulator)) {
+               regulator_set_voltage(analog_regulator,
+                                     OV5640_VOLTAGE_ANALOG,
+                                     OV5640_VOLTAGE_ANALOG);
+               ret = regulator_enable(analog_regulator);
+               if (ret) {
+                       pr_err("%s:analog set voltage error\n",
+                               __func__);
+                       return ret;
+               } else {
+                       dev_dbg(dev,
+                               "%s:analog set voltage ok\n", __func__);
+               }
+       } else {
+               analog_regulator = NULL;
+               pr_err("%s: cannot get analog voltage error\n", __func__);
+       }
+
+       return ret;
+}
+
+static s32 ov5640_write_reg(u16 reg, u8 val)
+{
+       u8 au8Buf[3] = {0};
+
+       au8Buf[0] = reg >> 8;
+       au8Buf[1] = reg & 0xff;
+       au8Buf[2] = val;
+
+       if (i2c_master_send(ov5640_data.i2c_client, au8Buf, 3) < 0) {
+               pr_err("%s:write reg error:reg=%x,val=%x\n",
+                       __func__, reg, val);
+               return -1;
+       }
+
+       return 0;
+}
+
+static s32 ov5640_read_reg(u16 reg, u8 *val)
+{
+       u8 au8RegBuf[2] = {0};
+       u8 u8RdVal = 0;
+
+       au8RegBuf[0] = reg >> 8;
+       au8RegBuf[1] = reg & 0xff;
+
+       if (2 != i2c_master_send(ov5640_data.i2c_client, au8RegBuf, 2)) {
+               pr_err("%s:write reg error:reg=%x\n",
+                               __func__, reg);
+               return -1;
+       }
+
+       if (1 != i2c_master_recv(ov5640_data.i2c_client, &u8RdVal, 1)) {
+               pr_err("%s:read reg error:reg=%x,val=%x\n",
+                               __func__, reg, u8RdVal);
+               return -1;
+       }
+
+       *val = u8RdVal;
+
+       return u8RdVal;
+}
+
+static int prev_sysclk, prev_HTS;
+static int AE_low, AE_high, AE_Target = 52;
+
+void OV5640_stream_on(void)
+{
+       ov5640_write_reg(0x4202, 0x00);
+}
+
+void OV5640_stream_off(void)
+{
+       ov5640_write_reg(0x4202, 0x0f);
+}
+
+
+int OV5640_get_sysclk(void)
+{
+        /* calculate sysclk */
+       int xvclk = ov5640_data.mclk / 10000;
+       int temp1, temp2;
+       int Multiplier, PreDiv, VCO, SysDiv, Pll_rdiv;
+       int Bit_div2x = 1, sclk_rdiv, sysclk;
+       u8 temp;
+
+       int sclk_rdiv_map[] = {1, 2, 4, 8};
+
+       temp1 = ov5640_read_reg(0x3034, &temp);
+       temp2 = temp1 & 0x0f;
+       if (temp2 == 8 || temp2 == 10)
+               Bit_div2x = temp2 / 2;
+
+       temp1 = ov5640_read_reg(0x3035, &temp);
+       SysDiv = temp1>>4;
+       if (SysDiv == 0)
+               SysDiv = 16;
+
+       temp1 = ov5640_read_reg(0x3036, &temp);
+       Multiplier = temp1;
+
+       temp1 = ov5640_read_reg(0x3037, &temp);
+       PreDiv = temp1 & 0x0f;
+       Pll_rdiv = ((temp1 >> 4) & 0x01) + 1;
+
+       temp1 = ov5640_read_reg(0x3108, &temp);
+       temp2 = temp1 & 0x03;
+       sclk_rdiv = sclk_rdiv_map[temp2];
+
+       VCO = xvclk * Multiplier / PreDiv;
+
+       sysclk = VCO / SysDiv / Pll_rdiv * 2 / Bit_div2x / sclk_rdiv;
+
+       return sysclk;
+}
+
+void OV5640_set_night_mode(void)
+{
+        /* read HTS from register settings */
+       u8 mode;
+
+       ov5640_read_reg(0x3a00, &mode);
+       mode &= 0xfb;
+       ov5640_write_reg(0x3a00, mode);
+}
+
+int OV5640_get_HTS(void)
+{
+        /* read HTS from register settings */
+       int HTS;
+       u8 temp;
+
+       HTS = ov5640_read_reg(0x380c, &temp);
+       HTS = (HTS<<8) + ov5640_read_reg(0x380d, &temp);
+
+       return HTS;
+}
+
+int OV5640_get_VTS(void)
+{
+        /* read VTS from register settings */
+       int VTS;
+       u8 temp;
+
+       /* total vertical size[15:8] high byte */
+       VTS = ov5640_read_reg(0x380e, &temp);
+
+       VTS = (VTS<<8) + ov5640_read_reg(0x380f, &temp);
+
+       return VTS;
+}
+
+int OV5640_set_VTS(int VTS)
+{
+        /* write VTS to registers */
+        int temp;
+
+        temp = VTS & 0xff;
+        ov5640_write_reg(0x380f, temp);
+
+        temp = VTS>>8;
+        ov5640_write_reg(0x380e, temp);
+
+        return 0;
+}
+
+int OV5640_get_shutter(void)
+{
+        /* read shutter, in number of line period */
+       int shutter;
+       u8 temp;
+
+       shutter = (ov5640_read_reg(0x03500, &temp) & 0x0f);
+       shutter = (shutter<<8) + ov5640_read_reg(0x3501, &temp);
+       shutter = (shutter<<4) + (ov5640_read_reg(0x3502, &temp)>>4);
+
+        return shutter;
+}
+
+int OV5640_set_shutter(int shutter)
+{
+        /* write shutter, in number of line period */
+        int temp;
+
+        shutter = shutter & 0xffff;
+
+        temp = shutter & 0x0f;
+        temp = temp<<4;
+        ov5640_write_reg(0x3502, temp);
+
+        temp = shutter & 0xfff;
+        temp = temp>>4;
+        ov5640_write_reg(0x3501, temp);
+
+        temp = shutter>>12;
+        ov5640_write_reg(0x3500, temp);
+
+        return 0;
+}
+
+int OV5640_get_gain16(void)
+{
+        /* read gain, 16 = 1x */
+       int gain16;
+       u8 temp;
+
+       gain16 = ov5640_read_reg(0x350a, &temp) & 0x03;
+       gain16 = (gain16<<8) + ov5640_read_reg(0x350b, &temp);
+
+       return gain16;
+}
+
+int OV5640_set_gain16(int gain16)
+{
+       /* write gain, 16 = 1x */
+       u8 temp;
+       gain16 = gain16 & 0x3ff;
+
+       temp = gain16 & 0xff;
+       ov5640_write_reg(0x350b, temp);
+
+       temp = gain16>>8;
+       ov5640_write_reg(0x350a, temp);
+
+       return 0;
+}
+
+int OV5640_get_light_freq(void)
+{
+       /* get banding filter value */
+       int temp, temp1, light_freq = 0;
+       u8 tmp;
+
+       temp = ov5640_read_reg(0x3c01, &tmp);
+
+       if (temp & 0x80) {
+               /* manual */
+               temp1 = ov5640_read_reg(0x3c00, &tmp);
+               if (temp1 & 0x04) {
+                       /* 50Hz */
+                       light_freq = 50;
+               } else {
+                       /* 60Hz */
+                       light_freq = 60;
+               }
+       } else {
+               /* auto */
+               temp1 = ov5640_read_reg(0x3c0c, &tmp);
+               if (temp1 & 0x01) {
+                       /* 50Hz */
+                       light_freq = 50;
+               } else {
+                       /* 60Hz */
+               }
+       }
+       return light_freq;
+}
+
+void OV5640_set_bandingfilter(void)
+{
+       int prev_VTS;
+       int band_step60, max_band60, band_step50, max_band50;
+
+       /* read preview PCLK */
+       prev_sysclk = OV5640_get_sysclk();
+       /* read preview HTS */
+       prev_HTS = OV5640_get_HTS();
+
+       /* read preview VTS */
+       prev_VTS = OV5640_get_VTS();
+
+       /* calculate banding filter */
+       /* 60Hz */
+       band_step60 = prev_sysclk * 100/prev_HTS * 100/120;
+       ov5640_write_reg(0x3a0a, (band_step60 >> 8));
+       ov5640_write_reg(0x3a0b, (band_step60 & 0xff));
+
+       max_band60 = (int)((prev_VTS-4)/band_step60);
+       ov5640_write_reg(0x3a0d, max_band60);
+
+       /* 50Hz */
+       band_step50 = prev_sysclk * 100/prev_HTS;
+       ov5640_write_reg(0x3a08, (band_step50 >> 8));
+       ov5640_write_reg(0x3a09, (band_step50 & 0xff));
+
+       max_band50 = (int)((prev_VTS-4)/band_step50);
+       ov5640_write_reg(0x3a0e, max_band50);
+}
+
+int OV5640_set_AE_target(int target)
+{
+       /* stable in high */
+       int fast_high, fast_low;
+       AE_low = target * 23 / 25;      /* 0.92 */
+       AE_high = target * 27 / 25;     /* 1.08 */
+
+       fast_high = AE_high<<1;
+       if (fast_high > 255)
+               fast_high = 255;
+
+       fast_low = AE_low >> 1;
+
+       ov5640_write_reg(0x3a0f, AE_high);
+       ov5640_write_reg(0x3a10, AE_low);
+       ov5640_write_reg(0x3a1b, AE_high);
+       ov5640_write_reg(0x3a1e, AE_low);
+       ov5640_write_reg(0x3a11, fast_high);
+       ov5640_write_reg(0x3a1f, fast_low);
+
+       return 0;
+}
+
+void OV5640_turn_on_AE_AG(int enable)
+{
+       u8 ae_ag_ctrl;
+
+       ov5640_read_reg(0x3503, &ae_ag_ctrl);
+       if (enable) {
+               /* turn on auto AE/AG */
+               ae_ag_ctrl = ae_ag_ctrl & ~(0x03);
+       } else {
+               /* turn off AE/AG */
+               ae_ag_ctrl = ae_ag_ctrl | 0x03;
+       }
+       ov5640_write_reg(0x3503, ae_ag_ctrl);
+}
+
+bool binning_on(void)
+{
+       u8 temp;
+       ov5640_read_reg(0x3821, &temp);
+       temp &= 0xfe;
+       if (temp)
+               return true;
+       else
+               return false;
+}
+
+static void ov5640_set_virtual_channel(int channel)
+{
+       u8 channel_id;
+
+       ov5640_read_reg(0x4814, &channel_id);
+       channel_id &= ~(3 << 6);
+       ov5640_write_reg(0x4814, channel_id | (channel << 6));
+}
+
+/* download ov5640 settings to sensor through i2c */
+static int ov5640_download_firmware(struct reg_value *pModeSetting, s32 ArySize)
+{
+       register u32 Delay_ms = 0;
+       register u16 RegAddr = 0;
+       register u8 Mask = 0;
+       register u8 Val = 0;
+       u8 RegVal = 0;
+       int i, retval = 0;
+
+       for (i = 0; i < ArySize; ++i, ++pModeSetting) {
+               Delay_ms = pModeSetting->u32Delay_ms;
+               RegAddr = pModeSetting->u16RegAddr;
+               Val = pModeSetting->u8Val;
+               Mask = pModeSetting->u8Mask;
+
+               if (Mask) {
+                       retval = ov5640_read_reg(RegAddr, &RegVal);
+                       if (retval < 0)
+                               goto err;
+
+                       RegVal &= ~(u8)Mask;
+                       Val &= Mask;
+                       Val |= RegVal;
+               }
+
+               retval = ov5640_write_reg(RegAddr, Val);
+               if (retval < 0)
+                       goto err;
+
+               if (Delay_ms)
+                       msleep(Delay_ms);
+       }
+err:
+       return retval;
+}
+
+/* sensor changes between scaling and subsampling
+ * go through exposure calcualtion
+ */
+static int ov5640_change_mode_exposure_calc(enum ov5640_frame_rate frame_rate,
+                               enum ov5640_mode mode)
+{
+       struct reg_value *pModeSetting = NULL;
+       s32 ArySize = 0;
+       u8 average;
+       int prev_shutter, prev_gain16;
+       int cap_shutter, cap_gain16;
+       int cap_sysclk, cap_HTS, cap_VTS;
+       int light_freq, cap_bandfilt, cap_maxband;
+       long cap_gain16_shutter;
+       int retval = 0;
+
+       /* check if the input mode and frame rate is valid */
+       pModeSetting =
+               ov5640_mode_info_data[frame_rate][mode].init_data_ptr;
+       ArySize =
+               ov5640_mode_info_data[frame_rate][mode].init_data_size;
+
+       ov5640_data.pix.width =
+               ov5640_mode_info_data[frame_rate][mode].width;
+       ov5640_data.pix.height =
+               ov5640_mode_info_data[frame_rate][mode].height;
+
+       if (ov5640_data.pix.width == 0 || ov5640_data.pix.height == 0 ||
+               pModeSetting == NULL || ArySize == 0)
+               return -EINVAL;
+
+       /* auto focus */
+       /* OV5640_auto_focus();//if no af function, just skip it */
+
+       /* turn off AE/AG */
+       OV5640_turn_on_AE_AG(0);
+
+       /* read preview shutter */
+       prev_shutter = OV5640_get_shutter();
+       if ((binning_on()) && (mode != ov5640_mode_720P_1280_720)
+                       && (mode != ov5640_mode_1080P_1920_1080))
+               prev_shutter *= 2;
+
+       /* read preview gain */
+       prev_gain16 = OV5640_get_gain16();
+
+       /* get average */
+       ov5640_read_reg(0x56a1, &average);
+
+       /* turn off night mode for capture */
+       OV5640_set_night_mode();
+
+       /* turn off overlay */
+       /* ov5640_write_reg(0x3022, 0x06);//if no af function, just skip it */
+
+       OV5640_stream_off();
+
+       /* Write capture setting */
+       retval = ov5640_download_firmware(pModeSetting, ArySize);
+       if (retval < 0)
+               goto err;
+
+       /* read capture VTS */
+       cap_VTS = OV5640_get_VTS();
+       cap_HTS = OV5640_get_HTS();
+       cap_sysclk = OV5640_get_sysclk();
+
+       /* calculate capture banding filter */
+       light_freq = OV5640_get_light_freq();
+       if (light_freq == 60) {
+               /* 60Hz */
+               cap_bandfilt = cap_sysclk * 100 / cap_HTS * 100 / 120;
+       } else {
+               /* 50Hz */
+               cap_bandfilt = cap_sysclk * 100 / cap_HTS;
+       }
+       cap_maxband = (int)((cap_VTS - 4)/cap_bandfilt);
+
+       /* calculate capture shutter/gain16 */
+       if (average > AE_low && average < AE_high) {
+               /* in stable range */
+               cap_gain16_shutter =
+                 prev_gain16 * prev_shutter * cap_sysclk/prev_sysclk
+                 * prev_HTS/cap_HTS * AE_Target / average;
+       } else {
+               cap_gain16_shutter =
+                 prev_gain16 * prev_shutter * cap_sysclk/prev_sysclk
+                 * prev_HTS/cap_HTS;
+       }
+
+       /* gain to shutter */
+       if (cap_gain16_shutter < (cap_bandfilt * 16)) {
+               /* shutter < 1/100 */
+               cap_shutter = cap_gain16_shutter/16;
+               if (cap_shutter < 1)
+                       cap_shutter = 1;
+
+               cap_gain16 = cap_gain16_shutter/cap_shutter;
+               if (cap_gain16 < 16)
+                       cap_gain16 = 16;
+       } else {
+               if (cap_gain16_shutter >
+                               (cap_bandfilt * cap_maxband * 16)) {
+                       /* exposure reach max */
+                       cap_shutter = cap_bandfilt * cap_maxband;
+                       cap_gain16 = cap_gain16_shutter / cap_shutter;
+               } else {
+                       /* 1/100 < (cap_shutter = n/100) =< max */
+                       cap_shutter =
+                         ((int) (cap_gain16_shutter/16 / cap_bandfilt))
+                         *cap_bandfilt;
+                       cap_gain16 = cap_gain16_shutter / cap_shutter;
+               }
+       }
+
+       /* write capture gain */
+       OV5640_set_gain16(cap_gain16);
+
+       /* write capture shutter */
+       if (cap_shutter > (cap_VTS - 4)) {
+               cap_VTS = cap_shutter + 4;
+               OV5640_set_VTS(cap_VTS);
+       }
+       OV5640_set_shutter(cap_shutter);
+
+       OV5640_stream_on();
+
+err:
+       return retval;
+}
+
+/* if sensor changes inside scaling or subsampling
+ * change mode directly
+ * */
+static int ov5640_change_mode_direct(enum ov5640_frame_rate frame_rate,
+                               enum ov5640_mode mode)
+{
+       struct reg_value *pModeSetting = NULL;
+       s32 ArySize = 0;
+       int retval = 0;
+
+       /* check if the input mode and frame rate is valid */
+       pModeSetting =
+               ov5640_mode_info_data[frame_rate][mode].init_data_ptr;
+       ArySize =
+               ov5640_mode_info_data[frame_rate][mode].init_data_size;
+
+       ov5640_data.pix.width =
+               ov5640_mode_info_data[frame_rate][mode].width;
+       ov5640_data.pix.height =
+               ov5640_mode_info_data[frame_rate][mode].height;
+
+       if (ov5640_data.pix.width == 0 || ov5640_data.pix.height == 0 ||
+               pModeSetting == NULL || ArySize == 0)
+               return -EINVAL;
+
+       /* turn off AE/AG */
+       OV5640_turn_on_AE_AG(0);
+
+       OV5640_stream_off();
+
+       /* Write capture setting */
+       retval = ov5640_download_firmware(pModeSetting, ArySize);
+       if (retval < 0)
+               goto err;
+
+       OV5640_stream_on();
+
+       OV5640_turn_on_AE_AG(1);
+
+err:
+       return retval;
+}
+
+static int ov5640_init_mode(enum ov5640_frame_rate frame_rate,
+                           enum ov5640_mode mode, enum ov5640_mode orig_mode)
+{
+       struct reg_value *pModeSetting = NULL;
+       s32 ArySize = 0;
+       int retval = 0;
+       void *mipi_csi2_info;
+       u32 mipi_reg, msec_wait4stable = 0;
+       enum ov5640_downsize_mode dn_mode, orig_dn_mode;
+
+       if ((mode > ov5640_mode_MAX || mode < ov5640_mode_MIN)
+               && (mode != ov5640_mode_INIT)) {
+               pr_err("Wrong ov5640 mode detected!\n");
+               return -1;
+       }
+
+       mipi_csi2_info = mipi_csi2_get_info();
+
+       /* initial mipi dphy */
+       if (!mipi_csi2_info) {
+               printk(KERN_ERR "%s() in %s: Fail to get mipi_csi2_info!\n",
+                      __func__, __FILE__);
+               return -1;
+       }
+
+       if (!mipi_csi2_get_status(mipi_csi2_info))
+               mipi_csi2_enable(mipi_csi2_info);
+
+       if (!mipi_csi2_get_status(mipi_csi2_info)) {
+               pr_err("Can not enable mipi csi2 driver!\n");
+               return -1;
+       }
+
+       mipi_csi2_set_lanes(mipi_csi2_info);
+
+       /*Only reset MIPI CSI2 HW at sensor initialize*/
+       if (mode == ov5640_mode_INIT)
+               mipi_csi2_reset(mipi_csi2_info);
+
+       if (ov5640_data.pix.pixelformat == V4L2_PIX_FMT_UYVY)
+               mipi_csi2_set_datatype(mipi_csi2_info, MIPI_DT_YUV422);
+       else if (ov5640_data.pix.pixelformat == V4L2_PIX_FMT_RGB565)
+               mipi_csi2_set_datatype(mipi_csi2_info, MIPI_DT_RGB565);
+       else
+               pr_err("currently this sensor format can not be supported!\n");
+
+       dn_mode = ov5640_mode_info_data[frame_rate][mode].dn_mode;
+       orig_dn_mode = ov5640_mode_info_data[frame_rate][orig_mode].dn_mode;
+       if (mode == ov5640_mode_INIT) {
+               pModeSetting = ov5640_init_setting_30fps_VGA;
+               ArySize = ARRAY_SIZE(ov5640_init_setting_30fps_VGA);
+
+               ov5640_data.pix.width = 640;
+               ov5640_data.pix.height = 480;
+               retval = ov5640_download_firmware(pModeSetting, ArySize);
+               if (retval < 0)
+                       goto err;
+
+               pModeSetting = ov5640_setting_30fps_VGA_640_480;
+               ArySize = ARRAY_SIZE(ov5640_setting_30fps_VGA_640_480);
+               retval = ov5640_download_firmware(pModeSetting, ArySize);
+       } else if ((dn_mode == SUBSAMPLING && orig_dn_mode == SCALING) ||
+                       (dn_mode == SCALING && orig_dn_mode == SUBSAMPLING)) {
+               /* change between subsampling and scaling
+                * go through exposure calucation */
+               retval = ov5640_change_mode_exposure_calc(frame_rate, mode);
+       } else {
+               /* change inside subsampling or scaling
+                * download firmware directly */
+               retval = ov5640_change_mode_direct(frame_rate, mode);
+       }
+
+       if (retval < 0)
+               goto err;
+
+       OV5640_set_AE_target(AE_Target);
+       OV5640_get_light_freq();
+       OV5640_set_bandingfilter();
+       ov5640_set_virtual_channel(ov5640_data.csi);
+
+       /* add delay to wait for sensor stable */
+       if (mode == ov5640_mode_QSXGA_2592_1944) {
+               /* dump the first two frames: 1/7.5*2
+                * the frame rate of QSXGA is 7.5fps */
+               msec_wait4stable = 267;
+       } else if (frame_rate == ov5640_15_fps) {
+               /* dump the first nine frames: 1/15*9 */
+               msec_wait4stable = 600;
+       } else if (frame_rate == ov5640_30_fps) {
+               /* dump the first nine frames: 1/30*9 */
+               msec_wait4stable = 300;
+       }
+       msleep(msec_wait4stable);
+
+       if (mipi_csi2_info) {
+               unsigned int i;
+
+               i = 0;
+
+               /* wait for mipi sensor ready */
+               mipi_reg = mipi_csi2_dphy_status(mipi_csi2_info);
+               while ((mipi_reg == 0x200) && (i < 10)) {
+                       mipi_reg = mipi_csi2_dphy_status(mipi_csi2_info);
+                       i++;
+                       msleep(10);
+               }
+
+               if (i >= 10) {
+                       pr_err("mipi csi2 can not receive sensor clk!\n");
+                       return -1;
+               }
+
+               i = 0;
+
+               /* wait for mipi stable */
+               mipi_reg = mipi_csi2_get_error1(mipi_csi2_info);
+               while ((mipi_reg != 0x0) && (i < 10)) {
+                       mipi_reg = mipi_csi2_get_error1(mipi_csi2_info);
+                       i++;
+                       msleep(10);
+               }
+
+               if (i >= 10) {
+                       pr_err("mipi csi2 can not reveive data correctly!\n");
+                       return -1;
+               }
+       }
+err:
+       return retval;
+}
+
+/* --------------- IOCTL functions from v4l2_int_ioctl_desc --------------- */
+
+static int ioctl_g_ifparm(struct v4l2_int_device *s, struct v4l2_ifparm *p)
+{
+       if (s == NULL) {
+               pr_err("   ERROR!! no slave device set!\n");
+               return -1;
+       }
+
+       memset(p, 0, sizeof(*p));
+       p->u.bt656.clock_curr = ov5640_data.mclk;
+       pr_debug("   clock_curr=mclk=%d\n", ov5640_data.mclk);
+       p->if_type = V4L2_IF_TYPE_BT656;
+       p->u.bt656.mode = V4L2_IF_TYPE_BT656_MODE_NOBT_8BIT;
+       p->u.bt656.clock_min = OV5640_XCLK_MIN;
+       p->u.bt656.clock_max = OV5640_XCLK_MAX;
+       p->u.bt656.bt_sync_correct = 1;  /* Indicate external vsync */
+
+       return 0;
+}
+
+/*!
+ * ioctl_s_power - V4L2 sensor interface handler for VIDIOC_S_POWER ioctl
+ * @s: pointer to standard V4L2 device structure
+ * @on: indicates power mode (on or off)
+ *
+ * Turns the power on or off, depending on the value of on and returns the
+ * appropriate error code.
+ */
+static int ioctl_s_power(struct v4l2_int_device *s, int on)
+{
+       struct sensor_data *sensor = s->priv;
+
+       if (on && !sensor->on) {
+               if (io_regulator)
+                       if (regulator_enable(io_regulator) != 0)
+                               return -EIO;
+               if (core_regulator)
+                       if (regulator_enable(core_regulator) != 0)
+                               return -EIO;
+               if (gpo_regulator)
+                       if (regulator_enable(gpo_regulator) != 0)
+                               return -EIO;
+               if (analog_regulator)
+                       if (regulator_enable(analog_regulator) != 0)
+                               return -EIO;
+               /* Make sure power on */
+               ov5640_standby(0);
+       } else if (!on && sensor->on) {
+               if (analog_regulator)
+                       regulator_disable(analog_regulator);
+               if (core_regulator)
+                       regulator_disable(core_regulator);
+               if (io_regulator)
+                       regulator_disable(io_regulator);
+               if (gpo_regulator)
+                       regulator_disable(gpo_regulator);
+
+               ov5640_standby(1);
+       }
+
+       sensor->on = on;
+
+       return 0;
+}
+
+/*!
+ * ioctl_g_parm - V4L2 sensor interface handler for VIDIOC_G_PARM ioctl
+ * @s: pointer to standard V4L2 device structure
+ * @a: pointer to standard V4L2 VIDIOC_G_PARM ioctl structure
+ *
+ * Returns the sensor's video CAPTURE parameters.
+ */
+static int ioctl_g_parm(struct v4l2_int_device *s, struct v4l2_streamparm *a)
+{
+       struct sensor_data *sensor = s->priv;
+       struct v4l2_captureparm *cparm = &a->parm.capture;
+       int ret = 0;
+
+       switch (a->type) {
+       /* This is the only case currently handled. */
+       case V4L2_BUF_TYPE_VIDEO_CAPTURE:
+               memset(a, 0, sizeof(*a));
+               a->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
+               cparm->capability = sensor->streamcap.capability;
+               cparm->timeperframe = sensor->streamcap.timeperframe;
+               cparm->capturemode = sensor->streamcap.capturemode;
+               ret = 0;
+               break;
+
+       /* These are all the possible cases. */
+       case V4L2_BUF_TYPE_VIDEO_OUTPUT:
+       case V4L2_BUF_TYPE_VIDEO_OVERLAY:
+       case V4L2_BUF_TYPE_VBI_CAPTURE:
+       case V4L2_BUF_TYPE_VBI_OUTPUT:
+       case V4L2_BUF_TYPE_SLICED_VBI_CAPTURE:
+       case V4L2_BUF_TYPE_SLICED_VBI_OUTPUT:
+               ret = -EINVAL;
+               break;
+
+       default:
+               pr_debug("   type is unknown - %d\n", a->type);
+               ret = -EINVAL;
+               break;
+       }
+
+       return ret;
+}
+
+/*!
+ * ioctl_s_parm - V4L2 sensor interface handler for VIDIOC_S_PARM ioctl
+ * @s: pointer to standard V4L2 device structure
+ * @a: pointer to standard V4L2 VIDIOC_S_PARM ioctl structure
+ *
+ * Configures the sensor to use the input parameters, if possible.  If
+ * not possible, reverts to the old parameters and returns the
+ * appropriate error code.
+ */
+static int ioctl_s_parm(struct v4l2_int_device *s, struct v4l2_streamparm *a)
+{
+       struct sensor_data *sensor = s->priv;
+       struct v4l2_fract *timeperframe = &a->parm.capture.timeperframe;
+       u32 tgt_fps;    /* target frames per secound */
+       enum ov5640_frame_rate frame_rate;
+       enum ov5640_mode orig_mode;
+       int ret = 0;
+
+       /* Make sure power on */
+       ov5640_standby(0);
+
+       switch (a->type) {
+       /* This is the only case currently handled. */
+       case V4L2_BUF_TYPE_VIDEO_CAPTURE:
+               /* Check that the new frame rate is allowed. */
+               if ((timeperframe->numerator == 0) ||
+                   (timeperframe->denominator == 0)) {
+                       timeperframe->denominator = DEFAULT_FPS;
+                       timeperframe->numerator = 1;
+               }
+
+               tgt_fps = timeperframe->denominator /
+                         timeperframe->numerator;
+
+               if (tgt_fps > MAX_FPS) {
+                       timeperframe->denominator = MAX_FPS;
+                       timeperframe->numerator = 1;
+               } else if (tgt_fps < MIN_FPS) {
+                       timeperframe->denominator = MIN_FPS;
+                       timeperframe->numerator = 1;
+               }
+
+               /* Actual frame rate we use */
+               tgt_fps = timeperframe->denominator /
+                         timeperframe->numerator;
+
+               if (tgt_fps == 15)
+                       frame_rate = ov5640_15_fps;
+               else if (tgt_fps == 30)
+                       frame_rate = ov5640_30_fps;
+               else {
+                       pr_err(" The camera frame rate is not supported!\n");
+                       return -EINVAL;
+               }
+
+               orig_mode = sensor->streamcap.capturemode;
+               ret = ov5640_init_mode(frame_rate,
+                               (u32)a->parm.capture.capturemode, orig_mode);
+               if (ret < 0)
+                       return ret;
+
+               sensor->streamcap.timeperframe = *timeperframe;
+               sensor->streamcap.capturemode =
+                               (u32)a->parm.capture.capturemode;
+
+               break;
+
+       /* These are all the possible cases. */
+       case V4L2_BUF_TYPE_VIDEO_OUTPUT:
+       case V4L2_BUF_TYPE_VIDEO_OVERLAY:
+       case V4L2_BUF_TYPE_VBI_CAPTURE:
+       case V4L2_BUF_TYPE_VBI_OUTPUT:
+       case V4L2_BUF_TYPE_SLICED_VBI_CAPTURE:
+       case V4L2_BUF_TYPE_SLICED_VBI_OUTPUT:
+               pr_debug("   type is not " \
+                       "V4L2_BUF_TYPE_VIDEO_CAPTURE but %d\n",
+                       a->type);
+               ret = -EINVAL;
+               break;
+
+       default:
+               pr_debug("   type is unknown - %d\n", a->type);
+               ret = -EINVAL;
+               break;
+       }
+
+       return ret;
+}
+
+/*!
+ * ioctl_g_fmt_cap - V4L2 sensor interface handler for ioctl_g_fmt_cap
+ * @s: pointer to standard V4L2 device structure
+ * @f: pointer to standard V4L2 v4l2_format structure
+ *
+ * Returns the sensor's current pixel format in the v4l2_format
+ * parameter.
+ */
+static int ioctl_g_fmt_cap(struct v4l2_int_device *s, struct v4l2_format *f)
+{
+       struct sensor_data *sensor = s->priv;
+
+       f->fmt.pix = sensor->pix;
+
+       return 0;
+}
+
+/*!
+ * ioctl_g_ctrl - V4L2 sensor interface handler for VIDIOC_G_CTRL ioctl
+ * @s: pointer to standard V4L2 device structure
+ * @vc: standard V4L2 VIDIOC_G_CTRL ioctl structure
+ *
+ * If the requested control is supported, returns the control's current
+ * value from the video_control[] array.  Otherwise, returns -EINVAL
+ * if the control is not supported.
+ */
+static int ioctl_g_ctrl(struct v4l2_int_device *s, struct v4l2_control *vc)
+{
+       int ret = 0;
+
+       switch (vc->id) {
+       case V4L2_CID_BRIGHTNESS:
+               vc->value = ov5640_data.brightness;
+               break;
+       case V4L2_CID_HUE:
+               vc->value = ov5640_data.hue;
+               break;
+       case V4L2_CID_CONTRAST:
+               vc->value = ov5640_data.contrast;
+               break;
+       case V4L2_CID_SATURATION:
+               vc->value = ov5640_data.saturation;
+               break;
+       case V4L2_CID_RED_BALANCE:
+               vc->value = ov5640_data.red;
+               break;
+       case V4L2_CID_BLUE_BALANCE:
+               vc->value = ov5640_data.blue;
+               break;
+       case V4L2_CID_EXPOSURE:
+               vc->value = ov5640_data.ae_mode;
+               break;
+       default:
+               ret = -EINVAL;
+       }
+
+       return ret;
+}
+
+/*!
+ * ioctl_s_ctrl - V4L2 sensor interface handler for VIDIOC_S_CTRL ioctl
+ * @s: pointer to standard V4L2 device structure
+ * @vc: standard V4L2 VIDIOC_S_CTRL ioctl structure
+ *
+ * If the requested control is supported, sets the control's current
+ * value in HW (and updates the video_control[] array).  Otherwise,
+ * returns -EINVAL if the control is not supported.
+ */
+static int ioctl_s_ctrl(struct v4l2_int_device *s, struct v4l2_control *vc)
+{
+       int retval = 0;
+
+       pr_debug("In ov5640:ioctl_s_ctrl %d\n",
+                vc->id);
+
+       switch (vc->id) {
+       case V4L2_CID_BRIGHTNESS:
+               break;
+       case V4L2_CID_CONTRAST:
+               break;
+       case V4L2_CID_SATURATION:
+               break;
+       case V4L2_CID_HUE:
+               break;
+       case V4L2_CID_AUTO_WHITE_BALANCE:
+               break;
+       case V4L2_CID_DO_WHITE_BALANCE:
+               break;
+       case V4L2_CID_RED_BALANCE:
+               break;
+       case V4L2_CID_BLUE_BALANCE:
+               break;
+       case V4L2_CID_GAMMA:
+               break;
+       case V4L2_CID_EXPOSURE:
+               break;
+       case V4L2_CID_AUTOGAIN:
+               break;
+       case V4L2_CID_GAIN:
+               break;
+       case V4L2_CID_HFLIP:
+               break;
+       case V4L2_CID_VFLIP:
+               break;
+       default:
+               retval = -EPERM;
+               break;
+       }
+
+       return retval;
+}
+
+/*!
+ * ioctl_enum_framesizes - V4L2 sensor interface handler for
+ *                        VIDIOC_ENUM_FRAMESIZES ioctl
+ * @s: pointer to standard V4L2 device structure
+ * @fsize: standard V4L2 VIDIOC_ENUM_FRAMESIZES ioctl structure
+ *
+ * Return 0 if successful, otherwise -EINVAL.
+ */
+static int ioctl_enum_framesizes(struct v4l2_int_device *s,
+                                struct v4l2_frmsizeenum *fsize)
+{
+       if (fsize->index > ov5640_mode_MAX)
+               return -EINVAL;
+
+       fsize->pixel_format = ov5640_data.pix.pixelformat;
+       fsize->discrete.width =
+                       max(ov5640_mode_info_data[0][fsize->index].width,
+                           ov5640_mode_info_data[1][fsize->index].width);
+       fsize->discrete.height =
+                       max(ov5640_mode_info_data[0][fsize->index].height,
+                           ov5640_mode_info_data[1][fsize->index].height);
+       return 0;
+}
+
+/*!
+ * ioctl_g_chip_ident - V4L2 sensor interface handler for
+ *                     VIDIOC_DBG_G_CHIP_IDENT ioctl
+ * @s: pointer to standard V4L2 device structure
+ * @id: pointer to int
+ *
+ * Return 0.
+ */
+static int ioctl_g_chip_ident(struct v4l2_int_device *s, int *id)
+{
+       ((struct v4l2_dbg_chip_ident *)id)->match.type =
+                                       V4L2_CHIP_MATCH_I2C_DRIVER;
+       strcpy(((struct v4l2_dbg_chip_ident *)id)->match.name,
+               "ov5640_mipi_camera");
+
+       return 0;
+}
+
+/*!
+ * ioctl_init - V4L2 sensor interface handler for VIDIOC_INT_INIT
+ * @s: pointer to standard V4L2 device structure
+ */
+static int ioctl_init(struct v4l2_int_device *s)
+{
+
+       return 0;
+}
+
+/*!
+ * ioctl_enum_fmt_cap - V4L2 sensor interface handler for VIDIOC_ENUM_FMT
+ * @s: pointer to standard V4L2 device structure
+ * @fmt: pointer to standard V4L2 fmt description structure
+ *
+ * Return 0.
+ */
+static int ioctl_enum_fmt_cap(struct v4l2_int_device *s,
+                             struct v4l2_fmtdesc *fmt)
+{
+       if (fmt->index > ov5640_mode_MAX)
+               return -EINVAL;
+
+       fmt->pixelformat = ov5640_data.pix.pixelformat;
+
+       return 0;
+}
+
+/*!
+ * ioctl_dev_init - V4L2 sensor interface handler for vidioc_int_dev_init_num
+ * @s: pointer to standard V4L2 device structure
+ *
+ * Initialise the device when slave attaches to the master.
+ */
+static int ioctl_dev_init(struct v4l2_int_device *s)
+{
+       struct sensor_data *sensor = s->priv;
+       u32 tgt_xclk;   /* target xclk */
+       u32 tgt_fps;    /* target frames per secound */
+       int ret;
+       enum ov5640_frame_rate frame_rate;
+       void *mipi_csi2_info;
+
+       ov5640_data.on = true;
+
+       /* mclk */
+       tgt_xclk = ov5640_data.mclk;
+       tgt_xclk = min(tgt_xclk, (u32)OV5640_XCLK_MAX);
+       tgt_xclk = max(tgt_xclk, (u32)OV5640_XCLK_MIN);
+       ov5640_data.mclk = tgt_xclk;
+
+       pr_debug("   Setting mclk to %d MHz\n", tgt_xclk / 1000000);
+
+       /* Default camera frame rate is set in probe */
+       tgt_fps = sensor->streamcap.timeperframe.denominator /
+                 sensor->streamcap.timeperframe.numerator;
+
+       if (tgt_fps == 15)
+               frame_rate = ov5640_15_fps;
+       else if (tgt_fps == 30)
+               frame_rate = ov5640_30_fps;
+       else
+               return -EINVAL; /* Only support 15fps or 30fps now. */
+
+       mipi_csi2_info = mipi_csi2_get_info();
+
+       /* enable mipi csi2 */
+       if (mipi_csi2_info)
+               mipi_csi2_enable(mipi_csi2_info);
+       else {
+               printk(KERN_ERR "%s() in %s: Fail to get mipi_csi2_info!\n",
+                      __func__, __FILE__);
+               return -EPERM;
+       }
+
+       ret = ov5640_init_mode(frame_rate, ov5640_mode_INIT, ov5640_mode_INIT);
+
+       return ret;
+}
+
+/*!
+ * ioctl_dev_exit - V4L2 sensor interface handler for vidioc_int_dev_exit_num
+ * @s: pointer to standard V4L2 device structure
+ *
+ * Delinitialise the device when slave detaches to the master.
+ */
+static int ioctl_dev_exit(struct v4l2_int_device *s)
+{
+       void *mipi_csi2_info;
+
+       mipi_csi2_info = mipi_csi2_get_info();
+
+       /* disable mipi csi2 */
+       if (mipi_csi2_info)
+               if (mipi_csi2_get_status(mipi_csi2_info))
+                       mipi_csi2_disable(mipi_csi2_info);
+
+       return 0;
+}
+
+/*!
+ * This structure defines all the ioctls for this module and links them to the
+ * enumeration.
+ */
+static struct v4l2_int_ioctl_desc ov5640_ioctl_desc[] = {
+       {vidioc_int_dev_init_num, (v4l2_int_ioctl_func *) ioctl_dev_init},
+       {vidioc_int_dev_exit_num, ioctl_dev_exit},
+       {vidioc_int_s_power_num, (v4l2_int_ioctl_func *) ioctl_s_power},
+       {vidioc_int_g_ifparm_num, (v4l2_int_ioctl_func *) ioctl_g_ifparm},
+/*     {vidioc_int_g_needs_reset_num,
+                               (v4l2_int_ioctl_func *)ioctl_g_needs_reset}, */
+/*     {vidioc_int_reset_num, (v4l2_int_ioctl_func *)ioctl_reset}, */
+       {vidioc_int_init_num, (v4l2_int_ioctl_func *) ioctl_init},
+       {vidioc_int_enum_fmt_cap_num,
+                               (v4l2_int_ioctl_func *) ioctl_enum_fmt_cap},
+/*     {vidioc_int_try_fmt_cap_num,
+                               (v4l2_int_ioctl_func *)ioctl_try_fmt_cap}, */
+       {vidioc_int_g_fmt_cap_num, (v4l2_int_ioctl_func *) ioctl_g_fmt_cap},
+/*     {vidioc_int_s_fmt_cap_num, (v4l2_int_ioctl_func *) ioctl_s_fmt_cap}, */
+       {vidioc_int_g_parm_num, (v4l2_int_ioctl_func *) ioctl_g_parm},
+       {vidioc_int_s_parm_num, (v4l2_int_ioctl_func *) ioctl_s_parm},
+/*     {vidioc_int_queryctrl_num, (v4l2_int_ioctl_func *)ioctl_queryctrl}, */
+       {vidioc_int_g_ctrl_num, (v4l2_int_ioctl_func *) ioctl_g_ctrl},
+       {vidioc_int_s_ctrl_num, (v4l2_int_ioctl_func *) ioctl_s_ctrl},
+       {vidioc_int_enum_framesizes_num,
+                               (v4l2_int_ioctl_func *) ioctl_enum_framesizes},
+       {vidioc_int_g_chip_ident_num,
+                               (v4l2_int_ioctl_func *) ioctl_g_chip_ident},
+};
+
+static struct v4l2_int_slave ov5640_slave = {
+       .ioctls = ov5640_ioctl_desc,
+       .num_ioctls = ARRAY_SIZE(ov5640_ioctl_desc),
+};
+
+static struct v4l2_int_device ov5640_int_device = {
+       .module = THIS_MODULE,
+       .name = "ov5640",
+       .type = v4l2_int_type_slave,
+       .u = {
+               .slave = &ov5640_slave,
+       },
+};
+
+/*!
+ * ov5640 I2C probe function
+ *
+ * @param adapter            struct i2c_adapter *
+ * @return  Error code indicating success or failure
+ */
+static int ov5640_probe(struct i2c_client *client,
+                       const struct i2c_device_id *id)
+{
+       struct device *dev = &client->dev;
+       int retval;
+       u8 chip_id_high, chip_id_low;
+
+       /* request power down pin */
+       pwn_gpio = of_get_named_gpio(dev->of_node, "pwn-gpios", 0);
+       if (!gpio_is_valid(pwn_gpio)) {
+               dev_warn(dev, "no sensor pwdn pin available");
+               return -EINVAL;
+       }
+       retval = devm_gpio_request_one(dev, pwn_gpio, GPIOF_OUT_INIT_HIGH,
+                                       "ov5640_mipi_pwdn");
+       if (retval < 0)
+               return retval;
+
+       /* request reset pin */
+       rst_gpio = of_get_named_gpio(dev->of_node, "rst-gpios", 0);
+       if (!gpio_is_valid(rst_gpio)) {
+               dev_warn(dev, "no sensor reset pin available");
+               return -EINVAL;
+       }
+       retval = devm_gpio_request_one(dev, rst_gpio, GPIOF_OUT_INIT_HIGH,
+                                       "ov5640_mipi_reset");
+       if (retval < 0)
+               return retval;
+
+       /* Set initial values for the sensor struct. */
+       memset(&ov5640_data, 0, sizeof(ov5640_data));
+       ov5640_data.sensor_clk = devm_clk_get(dev, "csi_mclk");
+       if (IS_ERR(ov5640_data.sensor_clk)) {
+               /* assuming clock enabled by default */
+               ov5640_data.sensor_clk = NULL;
+               dev_err(dev, "clock-frequency missing or invalid\n");
+               return PTR_ERR(ov5640_data.sensor_clk);
+       }
+
+       retval = of_property_read_u32(dev->of_node, "mclk",
+                                       &(ov5640_data.mclk));
+       if (retval) {
+               dev_err(dev, "mclk missing or invalid\n");
+               return retval;
+       }
+
+       retval = of_property_read_u32(dev->of_node, "mclk_source",
+                                       (u32 *) &(ov5640_data.mclk_source));
+       if (retval) {
+               dev_err(dev, "mclk_source missing or invalid\n");
+               return retval;
+       }
+
+       retval = of_property_read_u32(dev->of_node, "csi_id",
+                                       &(ov5640_data.csi));
+       if (retval) {
+               dev_err(dev, "csi id missing or invalid\n");
+               return retval;
+       }
+
+       clk_prepare_enable(ov5640_data.sensor_clk);
+
+       ov5640_data.io_init = ov5640_reset;
+       ov5640_data.i2c_client = client;
+       ov5640_data.pix.pixelformat = V4L2_PIX_FMT_UYVY;
+       ov5640_data.pix.width = 640;
+       ov5640_data.pix.height = 480;
+       ov5640_data.streamcap.capability = V4L2_MODE_HIGHQUALITY |
+                                          V4L2_CAP_TIMEPERFRAME;
+       ov5640_data.streamcap.capturemode = 0;
+       ov5640_data.streamcap.timeperframe.denominator = DEFAULT_FPS;
+       ov5640_data.streamcap.timeperframe.numerator = 1;
+
+       ov5640_power_on(dev);
+
+       ov5640_reset();
+
+       ov5640_standby(0);
+
+       retval = ov5640_read_reg(OV5640_CHIP_ID_HIGH_BYTE, &chip_id_high);
+       if (retval < 0 || chip_id_high != 0x56) {
+               pr_warning("camera ov5640_mipi is not found\n");
+               clk_disable_unprepare(ov5640_data.sensor_clk);
+               return -ENODEV;
+       }
+       retval = ov5640_read_reg(OV5640_CHIP_ID_LOW_BYTE, &chip_id_low);
+       if (retval < 0 || chip_id_low != 0x40) {
+               pr_warning("camera ov5640_mipi is not found\n");
+               clk_disable_unprepare(ov5640_data.sensor_clk);
+               return -ENODEV;
+       }
+
+       ov5640_standby(1);
+
+       ov5640_int_device.priv = &ov5640_data;
+       retval = v4l2_int_device_register(&ov5640_int_device);
+
+       clk_disable_unprepare(ov5640_data.sensor_clk);
+
+       pr_info("camera ov5640_mipi is found\n");
+       return retval;
+}
+
+/*!
+ * ov5640 I2C detach function
+ *
+ * @param client            struct i2c_client *
+ * @return  Error code indicating success or failure
+ */
+static int ov5640_remove(struct i2c_client *client)
+{
+       v4l2_int_device_unregister(&ov5640_int_device);
+
+       if (gpo_regulator)
+               regulator_disable(gpo_regulator);
+
+       if (analog_regulator)
+               regulator_disable(analog_regulator);
+
+       if (core_regulator)
+               regulator_disable(core_regulator);
+
+       if (io_regulator)
+               regulator_disable(io_regulator);
+
+       return 0;
+}
+
+/*!
+ * ov5640 init function
+ * Called by insmod ov5640_camera.ko.
+ *
+ * @return  Error code indicating success or failure
+ */
+static __init int ov5640_init(void)
+{
+       u8 err;
+
+       err = i2c_add_driver(&ov5640_i2c_driver);
+       if (err != 0)
+               pr_err("%s:driver registration failed, error=%d\n",
+                       __func__, err);
+
+       return err;
+}
+
+/*!
+ * OV5640 cleanup function
+ * Called on rmmod ov5640_camera.ko
+ *
+ * @return  Error code indicating success or failure
+ */
+static void __exit ov5640_clean(void)
+{
+       i2c_del_driver(&ov5640_i2c_driver);
+}
+
+module_init(ov5640_init);
+module_exit(ov5640_clean);
+
+MODULE_AUTHOR("Freescale Semiconductor, Inc.");
+MODULE_DESCRIPTION("OV5640 MIPI Camera Driver");
+MODULE_LICENSE("GPL");
+MODULE_VERSION("1.0");
+MODULE_ALIAS("CSI");
diff --git a/drivers/media/platform/mxc/capture/ov5642.c b/drivers/media/platform/mxc/capture/ov5642.c
new file mode 100755 (executable)
index 0000000..0422865
--- /dev/null
@@ -0,0 +1,4252 @@
+/*
+ * Copyright (C) 2012-2013 Freescale Semiconductor, Inc. All Rights Reserved.
+ */
+
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#include <linux/module.h>
+#include <linux/init.h>
+#include <linux/slab.h>
+#include <linux/ctype.h>
+#include <linux/types.h>
+#include <linux/delay.h>
+#include <linux/clk.h>
+#include <linux/of_device.h>
+#include <linux/i2c.h>
+#include <linux/of_gpio.h>
+#include <linux/pinctrl/consumer.h>
+#include <linux/regulator/consumer.h>
+#include <linux/fsl_devices.h>
+#include <media/v4l2-chip-ident.h>
+#include <media/v4l2-int-device.h>
+#include "mxc_v4l2_capture.h"
+
+#define OV5642_VOLTAGE_ANALOG               2800000
+#define OV5642_VOLTAGE_DIGITAL_CORE         1500000
+#define OV5642_VOLTAGE_DIGITAL_IO           1800000
+
+#define MIN_FPS 15
+#define MAX_FPS 30
+#define DEFAULT_FPS 30
+
+#define OV5642_XCLK_MIN 6000000
+#define OV5642_XCLK_MAX 24000000
+
+#define OV5642_CHIP_ID_HIGH_BYTE       0x300A
+#define OV5642_CHIP_ID_LOW_BYTE                0x300B
+
+enum ov5642_mode {
+       ov5642_mode_MIN = 0,
+       ov5642_mode_VGA_640_480 = 0,
+       ov5642_mode_QVGA_320_240 = 1,
+       ov5642_mode_NTSC_720_480 = 2,
+       ov5642_mode_PAL_720_576 = 3,
+       ov5642_mode_720P_1280_720 = 4,
+       ov5642_mode_1080P_1920_1080 = 5,
+       ov5642_mode_QSXGA_2592_1944 = 6,
+       ov5642_mode_QCIF_176_144 = 7,
+       ov5642_mode_XGA_1024_768 = 8,
+       ov5642_mode_MAX = 8
+};
+
+enum ov5642_frame_rate {
+       ov5642_15_fps,
+       ov5642_30_fps
+};
+
+static int ov5642_framerates[] = {
+       [ov5642_15_fps] = 15,
+       [ov5642_30_fps] = 30,
+};
+
+struct reg_value {
+       u16 u16RegAddr;
+       u8 u8Val;
+       u8 u8Mask;
+       u32 u32Delay_ms;
+};
+
+struct ov5642_mode_info {
+       enum ov5642_mode mode;
+       u32 width;
+       u32 height;
+       struct reg_value *init_data_ptr;
+       u32 init_data_size;
+};
+
+/*!
+ * Maintains the information on the current state of the sesor.
+ */
+static struct sensor_data ov5642_data;
+static int pwn_gpio, rst_gpio;
+
+static struct reg_value ov5642_rot_none_VGA[] = {
+       {0x3818, 0xc1, 0x00, 0x00}, {0x3621, 0x87, 0x00, 0x00},
+};
+
+static struct reg_value ov5642_rot_vert_flip_VGA[] = {
+       {0x3818, 0x20, 0xbf, 0x00}, {0x3621, 0x20, 0xff, 0x00},
+};
+
+static struct reg_value ov5642_rot_horiz_flip_VGA[] = {
+       {0x3818, 0x81, 0x00, 0x01}, {0x3621, 0xa7, 0x00, 0x00},
+};
+
+static struct reg_value ov5642_rot_180_VGA[] = {
+       {0x3818, 0x60, 0xff, 0x00}, {0x3621, 0x00, 0xdf, 0x00},
+};
+
+
+static struct reg_value ov5642_rot_none_FULL[] = {
+       {0x3818, 0xc0, 0x00, 0x00}, {0x3621, 0x09, 0x00, 0x00},
+};
+
+static struct reg_value ov5642_rot_vert_flip_FULL[] = {
+       {0x3818, 0x20, 0xbf, 0x01}, {0x3621, 0x20, 0xff, 0x00},
+};
+
+static struct reg_value ov5642_rot_horiz_flip_FULL[] = {
+       {0x3818, 0x80, 0x00, 0x01}, {0x3621, 0x29, 0x00, 0x00},
+};
+
+static struct reg_value ov5642_rot_180_FULL[] = {
+       {0x3818, 0x60, 0xff, 0x00}, {0x3621, 0x00, 0xdf, 0x00},
+};
+
+
+static struct reg_value ov5642_initial_setting[] = {
+       {0x3103, 0x93, 0, 0}, {0x3008, 0x82, 0, 0}, {0x3017, 0x7f, 0, 0},
+       {0x3018, 0xfc, 0, 0}, {0x3810, 0xc2, 0, 0}, {0x3615, 0xf0, 0, 0},
+       {0x3000, 0x00, 0, 0}, {0x3001, 0x00, 0, 0}, {0x3002, 0x5c, 0, 0},
+       {0x3003, 0x00, 0, 0}, {0x3004, 0xff, 0, 0}, {0x3005, 0xff, 0, 0},
+       {0x3006, 0x43, 0, 0}, {0x3007, 0x37, 0, 0}, {0x3011, 0x08, 0, 0},
+       {0x3010, 0x00, 0, 0}, {0x460c, 0x22, 0, 0}, {0x3815, 0x04, 0, 0},
+       {0x370c, 0xa0, 0, 0}, {0x3602, 0xfc, 0, 0}, {0x3612, 0xff, 0, 0},
+       {0x3634, 0xc0, 0, 0}, {0x3613, 0x00, 0, 0}, {0x3605, 0x7c, 0, 0},
+       {0x3621, 0x09, 0, 0}, {0x3622, 0x60, 0, 0}, {0x3604, 0x40, 0, 0},
+       {0x3603, 0xa7, 0, 0}, {0x3603, 0x27, 0, 0}, {0x4000, 0x21, 0, 0},
+       {0x401d, 0x22, 0, 0}, {0x3600, 0x54, 0, 0}, {0x3605, 0x04, 0, 0},
+       {0x3606, 0x3f, 0, 0}, {0x3c00, 0x04, 0, 0}, {0x3c01, 0x80, 0, 0},
+       {0x5000, 0x4f, 0, 0}, {0x5020, 0x04, 0, 0}, {0x5181, 0x79, 0, 0},
+       {0x5182, 0x00, 0, 0}, {0x5185, 0x22, 0, 0}, {0x5197, 0x01, 0, 0},
+       {0x5001, 0xff, 0, 0}, {0x5500, 0x0a, 0, 0}, {0x5504, 0x00, 0, 0},
+       {0x5505, 0x7f, 0, 0}, {0x5080, 0x08, 0, 0}, {0x300e, 0x18, 0, 0},
+       {0x4610, 0x00, 0, 0}, {0x471d, 0x05, 0, 0}, {0x4708, 0x06, 0, 0},
+       {0x3808, 0x02, 0, 0}, {0x3809, 0x80, 0, 0}, {0x380a, 0x01, 0, 0},
+       {0x380b, 0xe0, 0, 0}, {0x380e, 0x07, 0, 0}, {0x380f, 0xd0, 0, 0},
+       {0x501f, 0x00, 0, 0}, {0x5000, 0x4f, 0, 0}, {0x4300, 0x30, 0, 0},
+       {0x3503, 0x07, 0, 0}, {0x3501, 0x73, 0, 0}, {0x3502, 0x80, 0, 0},
+       {0x350b, 0x00, 0, 0}, {0x3503, 0x07, 0, 0}, {0x3824, 0x11, 0, 0},
+       {0x3501, 0x1e, 0, 0}, {0x3502, 0x80, 0, 0}, {0x350b, 0x7f, 0, 0},
+       {0x380c, 0x0c, 0, 0}, {0x380d, 0x80, 0, 0}, {0x380e, 0x03, 0, 0},
+       {0x380f, 0xe8, 0, 0}, {0x3a0d, 0x04, 0, 0}, {0x3a0e, 0x03, 0, 0},
+       {0x3818, 0xc1, 0, 0}, {0x3705, 0xdb, 0, 0}, {0x370a, 0x81, 0, 0},
+       {0x3801, 0x80, 0, 0}, {0x3621, 0x87, 0, 0}, {0x3801, 0x50, 0, 0},
+       {0x3803, 0x08, 0, 0}, {0x3827, 0x08, 0, 0}, {0x3810, 0x40, 0, 0},
+       {0x3804, 0x05, 0, 0}, {0x3805, 0x00, 0, 0}, {0x5682, 0x05, 0, 0},
+       {0x5683, 0x00, 0, 0}, {0x3806, 0x03, 0, 0}, {0x3807, 0xc0, 0, 0},
+       {0x5686, 0x03, 0, 0}, {0x5687, 0xbc, 0, 0}, {0x3a00, 0x78, 0, 0},
+       {0x3a1a, 0x05, 0, 0}, {0x3a13, 0x30, 0, 0}, {0x3a18, 0x00, 0, 0},
+       {0x3a19, 0x7c, 0, 0}, {0x3a08, 0x12, 0, 0}, {0x3a09, 0xc0, 0, 0},
+       {0x3a0a, 0x0f, 0, 0}, {0x3a0b, 0xa0, 0, 0}, {0x350c, 0x07, 0, 0},
+       {0x350d, 0xd0, 0, 0}, {0x3500, 0x00, 0, 0}, {0x3501, 0x00, 0, 0},
+       {0x3502, 0x00, 0, 0}, {0x350a, 0x00, 0, 0}, {0x350b, 0x00, 0, 0},
+       {0x3503, 0x00, 0, 0}, {0x528a, 0x02, 0, 0}, {0x528b, 0x04, 0, 0},
+       {0x528c, 0x08, 0, 0}, {0x528d, 0x08, 0, 0}, {0x528e, 0x08, 0, 0},
+       {0x528f, 0x10, 0, 0}, {0x5290, 0x10, 0, 0}, {0x5292, 0x00, 0, 0},
+       {0x5293, 0x02, 0, 0}, {0x5294, 0x00, 0, 0}, {0x5295, 0x02, 0, 0},
+       {0x5296, 0x00, 0, 0}, {0x5297, 0x02, 0, 0}, {0x5298, 0x00, 0, 0},
+       {0x5299, 0x02, 0, 0}, {0x529a, 0x00, 0, 0}, {0x529b, 0x02, 0, 0},
+       {0x529c, 0x00, 0, 0}, {0x529d, 0x02, 0, 0}, {0x529e, 0x00, 0, 0},
+       {0x529f, 0x02, 0, 0}, {0x3a0f, 0x3c, 0, 0}, {0x3a10, 0x30, 0, 0},
+       {0x3a1b, 0x3c, 0, 0}, {0x3a1e, 0x30, 0, 0}, {0x3a11, 0x70, 0, 0},
+       {0x3a1f, 0x10, 0, 0}, {0x3030, 0x0b, 0, 0}, {0x3a02, 0x00, 0, 0},
+       {0x3a03, 0x7d, 0, 0}, {0x3a04, 0x00, 0, 0}, {0x3a14, 0x00, 0, 0},
+       {0x3a15, 0x7d, 0, 0}, {0x3a16, 0x00, 0, 0}, {0x3a00, 0x78, 0, 0},
+       {0x5193, 0x70, 0, 0}, {0x589b, 0x04, 0, 0}, {0x589a, 0xc5, 0, 0},
+       {0x401e, 0x20, 0, 0}, {0x4001, 0x42, 0, 0}, {0x401c, 0x04, 0, 0},
+       {0x528a, 0x01, 0, 0}, {0x528b, 0x04, 0, 0}, {0x528c, 0x08, 0, 0},
+       {0x528d, 0x10, 0, 0}, {0x528e, 0x20, 0, 0}, {0x528f, 0x28, 0, 0},
+       {0x5290, 0x30, 0, 0}, {0x5292, 0x00, 0, 0}, {0x5293, 0x01, 0, 0},
+       {0x5294, 0x00, 0, 0}, {0x5295, 0x04, 0, 0}, {0x5296, 0x00, 0, 0},
+       {0x5297, 0x08, 0, 0}, {0x5298, 0x00, 0, 0}, {0x5299, 0x10, 0, 0},
+       {0x529a, 0x00, 0, 0}, {0x529b, 0x20, 0, 0}, {0x529c, 0x00, 0, 0},
+       {0x529d, 0x28, 0, 0}, {0x529e, 0x00, 0, 0}, {0x529f, 0x30, 0, 0},
+       {0x5282, 0x00, 0, 0}, {0x5300, 0x00, 0, 0}, {0x5301, 0x20, 0, 0},
+       {0x5302, 0x00, 0, 0}, {0x5303, 0x7c, 0, 0}, {0x530c, 0x00, 0, 0},
+       {0x530d, 0x0c, 0, 0}, {0x530e, 0x20, 0, 0}, {0x530f, 0x80, 0, 0},
+       {0x5310, 0x20, 0, 0}, {0x5311, 0x80, 0, 0}, {0x5308, 0x20, 0, 0},
+       {0x5309, 0x40, 0, 0}, {0x5304, 0x00, 0, 0}, {0x5305, 0x30, 0, 0},
+       {0x5306, 0x00, 0, 0}, {0x5307, 0x80, 0, 0}, {0x5314, 0x08, 0, 0},
+       {0x5315, 0x20, 0, 0}, {0x5319, 0x30, 0, 0}, {0x5316, 0x10, 0, 0},
+       {0x5317, 0x00, 0, 0}, {0x5318, 0x02, 0, 0}, {0x5380, 0x01, 0, 0},
+       {0x5381, 0x00, 0, 0}, {0x5382, 0x00, 0, 0}, {0x5383, 0x4e, 0, 0},
+       {0x5384, 0x00, 0, 0}, {0x5385, 0x0f, 0, 0}, {0x5386, 0x00, 0, 0},
+       {0x5387, 0x00, 0, 0}, {0x5388, 0x01, 0, 0}, {0x5389, 0x15, 0, 0},
+       {0x538a, 0x00, 0, 0}, {0x538b, 0x31, 0, 0}, {0x538c, 0x00, 0, 0},
+       {0x538d, 0x00, 0, 0}, {0x538e, 0x00, 0, 0}, {0x538f, 0x0f, 0, 0},
+       {0x5390, 0x00, 0, 0}, {0x5391, 0xab, 0, 0}, {0x5392, 0x00, 0, 0},
+       {0x5393, 0xa2, 0, 0}, {0x5394, 0x08, 0, 0}, {0x5480, 0x14, 0, 0},
+       {0x5481, 0x21, 0, 0}, {0x5482, 0x36, 0, 0}, {0x5483, 0x57, 0, 0},
+       {0x5484, 0x65, 0, 0}, {0x5485, 0x71, 0, 0}, {0x5486, 0x7d, 0, 0},
+       {0x5487, 0x87, 0, 0}, {0x5488, 0x91, 0, 0}, {0x5489, 0x9a, 0, 0},
+       {0x548a, 0xaa, 0, 0}, {0x548b, 0xb8, 0, 0}, {0x548c, 0xcd, 0, 0},
+       {0x548d, 0xdd, 0, 0}, {0x548e, 0xea, 0, 0}, {0x548f, 0x1d, 0, 0},
+       {0x5490, 0x05, 0, 0}, {0x5491, 0x00, 0, 0}, {0x5492, 0x04, 0, 0},
+       {0x5493, 0x20, 0, 0}, {0x5494, 0x03, 0, 0}, {0x5495, 0x60, 0, 0},
+       {0x5496, 0x02, 0, 0}, {0x5497, 0xb8, 0, 0}, {0x5498, 0x02, 0, 0},
+       {0x5499, 0x86, 0, 0}, {0x549a, 0x02, 0, 0}, {0x549b, 0x5b, 0, 0},
+       {0x549c, 0x02, 0, 0}, {0x549d, 0x3b, 0, 0}, {0x549e, 0x02, 0, 0},
+       {0x549f, 0x1c, 0, 0}, {0x54a0, 0x02, 0, 0}, {0x54a1, 0x04, 0, 0},
+       {0x54a2, 0x01, 0, 0}, {0x54a3, 0xed, 0, 0}, {0x54a4, 0x01, 0, 0},
+       {0x54a5, 0xc5, 0, 0}, {0x54a6, 0x01, 0, 0}, {0x54a7, 0xa5, 0, 0},
+       {0x54a8, 0x01, 0, 0}, {0x54a9, 0x6c, 0, 0}, {0x54aa, 0x01, 0, 0},
+       {0x54ab, 0x41, 0, 0}, {0x54ac, 0x01, 0, 0}, {0x54ad, 0x20, 0, 0},
+       {0x54ae, 0x00, 0, 0}, {0x54af, 0x16, 0, 0}, {0x54b0, 0x01, 0, 0},
+       {0x54b1, 0x20, 0, 0}, {0x54b2, 0x00, 0, 0}, {0x54b3, 0x10, 0, 0},
+       {0x54b4, 0x00, 0, 0}, {0x54b5, 0xf0, 0, 0}, {0x54b6, 0x00, 0, 0},
+       {0x54b7, 0xdf, 0, 0}, {0x5402, 0x3f, 0, 0}, {0x5403, 0x00, 0, 0},
+       {0x3406, 0x00, 0, 0}, {0x5180, 0xff, 0, 0}, {0x5181, 0x52, 0, 0},
+       {0x5182, 0x11, 0, 0}, {0x5183, 0x14, 0, 0}, {0x5184, 0x25, 0, 0},
+       {0x5185, 0x24, 0, 0}, {0x5186, 0x06, 0, 0}, {0x5187, 0x08, 0, 0},
+       {0x5188, 0x08, 0, 0}, {0x5189, 0x7c, 0, 0}, {0x518a, 0x60, 0, 0},
+       {0x518b, 0xb2, 0, 0}, {0x518c, 0xb2, 0, 0}, {0x518d, 0x44, 0, 0},
+       {0x518e, 0x3d, 0, 0}, {0x518f, 0x58, 0, 0}, {0x5190, 0x46, 0, 0},
+       {0x5191, 0xf8, 0, 0}, {0x5192, 0x04, 0, 0}, {0x5193, 0x70, 0, 0},
+       {0x5194, 0xf0, 0, 0}, {0x5195, 0xf0, 0, 0}, {0x5196, 0x03, 0, 0},
+       {0x5197, 0x01, 0, 0}, {0x5198, 0x04, 0, 0}, {0x5199, 0x12, 0, 0},
+       {0x519a, 0x04, 0, 0}, {0x519b, 0x00, 0, 0}, {0x519c, 0x06, 0, 0},
+       {0x519d, 0x82, 0, 0}, {0x519e, 0x00, 0, 0}, {0x5025, 0x80, 0, 0},
+       {0x3a0f, 0x38, 0, 0}, {0x3a10, 0x30, 0, 0}, {0x3a1b, 0x3a, 0, 0},
+       {0x3a1e, 0x2e, 0, 0}, {0x3a11, 0x60, 0, 0}, {0x3a1f, 0x10, 0, 0},
+       {0x5688, 0xa6, 0, 0}, {0x5689, 0x6a, 0, 0}, {0x568a, 0xea, 0, 0},
+       {0x568b, 0xae, 0, 0}, {0x568c, 0xa6, 0, 0}, {0x568d, 0x6a, 0, 0},
+       {0x568e, 0x62, 0, 0}, {0x568f, 0x26, 0, 0}, {0x5583, 0x40, 0, 0},
+       {0x5584, 0x40, 0, 0}, {0x5580, 0x02, 0, 0}, {0x5000, 0xcf, 0, 0},
+       {0x5800, 0x27, 0, 0}, {0x5801, 0x19, 0, 0}, {0x5802, 0x12, 0, 0},
+       {0x5803, 0x0f, 0, 0}, {0x5804, 0x10, 0, 0}, {0x5805, 0x15, 0, 0},
+       {0x5806, 0x1e, 0, 0}, {0x5807, 0x2f, 0, 0}, {0x5808, 0x15, 0, 0},
+       {0x5809, 0x0d, 0, 0}, {0x580a, 0x0a, 0, 0}, {0x580b, 0x09, 0, 0},
+       {0x580c, 0x0a, 0, 0}, {0x580d, 0x0c, 0, 0}, {0x580e, 0x12, 0, 0},
+       {0x580f, 0x19, 0, 0}, {0x5810, 0x0b, 0, 0}, {0x5811, 0x07, 0, 0},
+       {0x5812, 0x04, 0, 0}, {0x5813, 0x03, 0, 0}, {0x5814, 0x03, 0, 0},
+       {0x5815, 0x06, 0, 0}, {0x5816, 0x0a, 0, 0}, {0x5817, 0x0f, 0, 0},
+       {0x5818, 0x0a, 0, 0}, {0x5819, 0x05, 0, 0}, {0x581a, 0x01, 0, 0},
+       {0x581b, 0x00, 0, 0}, {0x581c, 0x00, 0, 0}, {0x581d, 0x03, 0, 0},
+       {0x581e, 0x08, 0, 0}, {0x581f, 0x0c, 0, 0}, {0x5820, 0x0a, 0, 0},
+       {0x5821, 0x05, 0, 0}, {0x5822, 0x01, 0, 0}, {0x5823, 0x00, 0, 0},
+       {0x5824, 0x00, 0, 0}, {0x5825, 0x03, 0, 0}, {0x5826, 0x08, 0, 0},
+       {0x5827, 0x0c, 0, 0}, {0x5828, 0x0e, 0, 0}, {0x5829, 0x08, 0, 0},
+       {0x582a, 0x06, 0, 0}, {0x582b, 0x04, 0, 0}, {0x582c, 0x05, 0, 0},
+       {0x582d, 0x07, 0, 0}, {0x582e, 0x0b, 0, 0}, {0x582f, 0x12, 0, 0},
+       {0x5830, 0x18, 0, 0}, {0x5831, 0x10, 0, 0}, {0x5832, 0x0c, 0, 0},
+       {0x5833, 0x0a, 0, 0}, {0x5834, 0x0b, 0, 0}, {0x5835, 0x0e, 0, 0},
+       {0x5836, 0x15, 0, 0}, {0x5837, 0x19, 0, 0}, {0x5838, 0x32, 0, 0},
+       {0x5839, 0x1f, 0, 0}, {0x583a, 0x18, 0, 0}, {0x583b, 0x16, 0, 0},
+       {0x583c, 0x17, 0, 0}, {0x583d, 0x1e, 0, 0}, {0x583e, 0x26, 0, 0},
+       {0x583f, 0x53, 0, 0}, {0x5840, 0x10, 0, 0}, {0x5841, 0x0f, 0, 0},
+       {0x5842, 0x0d, 0, 0}, {0x5843, 0x0c, 0, 0}, {0x5844, 0x0e, 0, 0},
+       {0x5845, 0x09, 0, 0}, {0x5846, 0x11, 0, 0}, {0x5847, 0x10, 0, 0},
+       {0x5848, 0x10, 0, 0}, {0x5849, 0x10, 0, 0}, {0x584a, 0x10, 0, 0},
+       {0x584b, 0x0e, 0, 0}, {0x584c, 0x10, 0, 0}, {0x584d, 0x10, 0, 0},
+       {0x584e, 0x11, 0, 0}, {0x584f, 0x10, 0, 0}, {0x5850, 0x0f, 0, 0},
+       {0x5851, 0x0c, 0, 0}, {0x5852, 0x0f, 0, 0}, {0x5853, 0x10, 0, 0},
+       {0x5854, 0x10, 0, 0}, {0x5855, 0x0f, 0, 0}, {0x5856, 0x0e, 0, 0},
+       {0x5857, 0x0b, 0, 0}, {0x5858, 0x10, 0, 0}, {0x5859, 0x0d, 0, 0},
+       {0x585a, 0x0d, 0, 0}, {0x585b, 0x0c, 0, 0}, {0x585c, 0x0c, 0, 0},
+       {0x585d, 0x0c, 0, 0}, {0x585e, 0x0b, 0, 0}, {0x585f, 0x0c, 0, 0},
+       {0x5860, 0x0c, 0, 0}, {0x5861, 0x0c, 0, 0}, {0x5862, 0x0d, 0, 0},
+       {0x5863, 0x08, 0, 0}, {0x5864, 0x11, 0, 0}, {0x5865, 0x18, 0, 0},
+       {0x5866, 0x18, 0, 0}, {0x5867, 0x19, 0, 0}, {0x5868, 0x17, 0, 0},
+       {0x5869, 0x19, 0, 0}, {0x586a, 0x16, 0, 0}, {0x586b, 0x13, 0, 0},
+       {0x586c, 0x13, 0, 0}, {0x586d, 0x12, 0, 0}, {0x586e, 0x13, 0, 0},
+       {0x586f, 0x16, 0, 0}, {0x5870, 0x14, 0, 0}, {0x5871, 0x12, 0, 0},
+       {0x5872, 0x10, 0, 0}, {0x5873, 0x11, 0, 0}, {0x5874, 0x11, 0, 0},
+       {0x5875, 0x16, 0, 0}, {0x5876, 0x14, 0, 0}, {0x5877, 0x11, 0, 0},
+       {0x5878, 0x10, 0, 0}, {0x5879, 0x0f, 0, 0}, {0x587a, 0x10, 0, 0},
+       {0x587b, 0x14, 0, 0}, {0x587c, 0x13, 0, 0}, {0x587d, 0x12, 0, 0},
+       {0x587e, 0x11, 0, 0}, {0x587f, 0x11, 0, 0}, {0x5880, 0x12, 0, 0},
+       {0x5881, 0x15, 0, 0}, {0x5882, 0x14, 0, 0}, {0x5883, 0x15, 0, 0},
+       {0x5884, 0x15, 0, 0}, {0x5885, 0x15, 0, 0}, {0x5886, 0x13, 0, 0},
+       {0x5887, 0x17, 0, 0}, {0x3710, 0x10, 0, 0}, {0x3632, 0x51, 0, 0},
+       {0x3702, 0x10, 0, 0}, {0x3703, 0xb2, 0, 0}, {0x3704, 0x18, 0, 0},
+       {0x370b, 0x40, 0, 0}, {0x370d, 0x03, 0, 0}, {0x3631, 0x01, 0, 0},
+       {0x3632, 0x52, 0, 0}, {0x3606, 0x24, 0, 0}, {0x3620, 0x96, 0, 0},
+       {0x5785, 0x07, 0, 0}, {0x3a13, 0x30, 0, 0}, {0x3600, 0x52, 0, 0},
+       {0x3604, 0x48, 0, 0}, {0x3606, 0x1b, 0, 0}, {0x370d, 0x0b, 0, 0},
+       {0x370f, 0xc0, 0, 0}, {0x3709, 0x01, 0, 0}, {0x3823, 0x00, 0, 0},
+       {0x5007, 0x00, 0, 0}, {0x5009, 0x00, 0, 0}, {0x5011, 0x00, 0, 0},
+       {0x5013, 0x00, 0, 0}, {0x519e, 0x00, 0, 0}, {0x5086, 0x00, 0, 0},
+       {0x5087, 0x00, 0, 0}, {0x5088, 0x00, 0, 0}, {0x5089, 0x00, 0, 0},
+       {0x302b, 0x00, 0, 300},
+};
+
+static struct reg_value ov5642_setting_15fps_QCIF_176_144[] = {
+       {0x3103, 0x93, 0, 0}, {0x3008, 0x82, 0, 0}, {0x3017, 0x7f, 0, 0},
+       {0x3018, 0xfc, 0, 0}, {0x3810, 0xc2, 0, 0}, {0x3615, 0xf0, 0, 0},
+       {0x3000, 0x00, 0, 0}, {0x3001, 0x00, 0, 0}, {0x3002, 0x5c, 0, 0},
+       {0x3003, 0x00, 0, 0}, {0x3004, 0xff, 0, 0}, {0x3005, 0xff, 0, 0},
+       {0x3006, 0x43, 0, 0}, {0x3007, 0x37, 0, 0}, {0x3011, 0x08, 0, 0},
+       {0x3010, 0x10, 0, 0}, {0x460c, 0x22, 0, 0}, {0x3815, 0x04, 0, 0},
+       {0x370c, 0xa0, 0, 0}, {0x3602, 0xfc, 0, 0}, {0x3612, 0xff, 0, 0},
+       {0x3634, 0xc0, 0, 0}, {0x3613, 0x00, 0, 0}, {0x3605, 0x7c, 0, 0},
+       {0x3621, 0x09, 0, 0}, {0x3622, 0x60, 0, 0}, {0x3604, 0x40, 0, 0},
+       {0x3603, 0xa7, 0, 0}, {0x3603, 0x27, 0, 0}, {0x4000, 0x21, 0, 0},
+       {0x401d, 0x22, 0, 0}, {0x3600, 0x54, 0, 0}, {0x3605, 0x04, 0, 0},
+       {0x3606, 0x3f, 0, 0}, {0x3c01, 0x80, 0, 0}, {0x5000, 0x4f, 0, 0},
+       {0x5020, 0x04, 0, 0}, {0x5181, 0x79, 0, 0}, {0x5182, 0x00, 0, 0},
+       {0x5185, 0x22, 0, 0}, {0x5197, 0x01, 0, 0}, {0x5001, 0xff, 0, 0},
+       {0x5500, 0x0a, 0, 0}, {0x5504, 0x00, 0, 0}, {0x5505, 0x7f, 0, 0},
+       {0x5080, 0x08, 0, 0}, {0x300e, 0x18, 0, 0}, {0x4610, 0x00, 0, 0},
+       {0x471d, 0x05, 0, 0}, {0x4708, 0x06, 0, 0}, {0x3808, 0x02, 0, 0},
+       {0x3809, 0x80, 0, 0}, {0x380a, 0x01, 0, 0}, {0x380b, 0xe0, 0, 0},
+       {0x380e, 0x07, 0, 0}, {0x380f, 0xd0, 0, 0}, {0x501f, 0x00, 0, 0},
+       {0x5000, 0x4f, 0, 0}, {0x4300, 0x30, 0, 0}, {0x3503, 0x07, 0, 0},
+       {0x3501, 0x73, 0, 0}, {0x3502, 0x80, 0, 0}, {0x350b, 0x00, 0, 0},
+       {0x3503, 0x07, 0, 0}, {0x3824, 0x11, 0, 0}, {0x3501, 0x1e, 0, 0},
+       {0x3502, 0x80, 0, 0}, {0x350b, 0x7f, 0, 0}, {0x380c, 0x0c, 0, 0},
+       {0x380d, 0x80, 0, 0}, {0x380e, 0x03, 0, 0}, {0x380f, 0xe8, 0, 0},
+       {0x3a0d, 0x04, 0, 0}, {0x3a0e, 0x03, 0, 0}, {0x3818, 0xc1, 0, 0},
+       {0x3705, 0xdb, 0, 0}, {0x370a, 0x81, 0, 0}, {0x3801, 0x80, 0, 0},
+       {0x3621, 0x87, 0, 0}, {0x3801, 0x50, 0, 0}, {0x3803, 0x08, 0, 0},
+       {0x3827, 0x08, 0, 0}, {0x3810, 0x40, 0, 0}, {0x3804, 0x05, 0, 0},
+       {0x3805, 0x00, 0, 0}, {0x5682, 0x05, 0, 0}, {0x5683, 0x00, 0, 0},
+       {0x3806, 0x03, 0, 0}, {0x3807, 0xc0, 0, 0}, {0x5686, 0x03, 0, 0},
+       {0x5687, 0xbc, 0, 0}, {0x3a00, 0x78, 0, 0}, {0x3a1a, 0x05, 0, 0},
+       {0x3a13, 0x30, 0, 0}, {0x3a18, 0x00, 0, 0}, {0x3a19, 0x7c, 0, 0},
+       {0x3a08, 0x12, 0, 0}, {0x3a09, 0xc0, 0, 0}, {0x3a0a, 0x0f, 0, 0},
+       {0x3a0b, 0xa0, 0, 0}, {0x350c, 0x07, 0, 0}, {0x350d, 0xd0, 0, 0},
+       {0x3500, 0x00, 0, 0}, {0x3501, 0x00, 0, 0}, {0x3502, 0x00, 0, 0},
+       {0x350a, 0x00, 0, 0}, {0x350b, 0x00, 0, 0}, {0x3503, 0x00, 0, 0},
+       {0x528a, 0x02, 0, 0}, {0x528b, 0x04, 0, 0}, {0x528c, 0x08, 0, 0},
+       {0x528d, 0x08, 0, 0}, {0x528e, 0x08, 0, 0}, {0x528f, 0x10, 0, 0},
+       {0x5290, 0x10, 0, 0}, {0x5292, 0x00, 0, 0}, {0x5293, 0x02, 0, 0},
+       {0x5294, 0x00, 0, 0}, {0x5295, 0x02, 0, 0}, {0x5296, 0x00, 0, 0},
+       {0x5297, 0x02, 0, 0}, {0x5298, 0x00, 0, 0}, {0x5299, 0x02, 0, 0},
+       {0x529a, 0x00, 0, 0}, {0x529b, 0x02, 0, 0}, {0x529c, 0x00, 0, 0},
+       {0x529d, 0x02, 0, 0}, {0x529e, 0x00, 0, 0}, {0x529f, 0x02, 0, 0},
+       {0x3a0f, 0x3c, 0, 0}, {0x3a10, 0x30, 0, 0}, {0x3a1b, 0x3c, 0, 0},
+       {0x3a1e, 0x30, 0, 0}, {0x3a11, 0x70, 0, 0}, {0x3a1f, 0x10, 0, 0},
+       {0x3030, 0x2b, 0, 0}, {0x3a02, 0x00, 0, 0}, {0x3a03, 0x7d, 0, 0},
+       {0x3a04, 0x00, 0, 0}, {0x3a14, 0x00, 0, 0}, {0x3a15, 0x7d, 0, 0},
+       {0x3a16, 0x00, 0, 0}, {0x3a00, 0x78, 0, 0}, {0x3a08, 0x09, 0, 0},
+       {0x3a09, 0x60, 0, 0}, {0x3a0a, 0x07, 0, 0}, {0x3a0b, 0xd0, 0, 0},
+       {0x3a0d, 0x08, 0, 0}, {0x3a0e, 0x06, 0, 0}, {0x5193, 0x70, 0, 0},
+       {0x589b, 0x04, 0, 0}, {0x589a, 0xc5, 0, 0}, {0x401e, 0x20, 0, 0},
+       {0x4001, 0x42, 0, 0}, {0x401c, 0x04, 0, 0}, {0x528a, 0x01, 0, 0},
+       {0x528b, 0x04, 0, 0}, {0x528c, 0x08, 0, 0}, {0x528d, 0x10, 0, 0},
+       {0x528e, 0x20, 0, 0}, {0x528f, 0x28, 0, 0}, {0x5290, 0x30, 0, 0},
+       {0x5292, 0x00, 0, 0}, {0x5293, 0x01, 0, 0}, {0x5294, 0x00, 0, 0},
+       {0x5295, 0x04, 0, 0}, {0x5296, 0x00, 0, 0}, {0x5297, 0x08, 0, 0},
+       {0x5298, 0x00, 0, 0}, {0x5299, 0x10, 0, 0}, {0x529a, 0x00, 0, 0},
+       {0x529b, 0x20, 0, 0}, {0x529c, 0x00, 0, 0}, {0x529d, 0x28, 0, 0},
+       {0x529e, 0x00, 0, 0}, {0x529f, 0x30, 0, 0}, {0x5282, 0x00, 0, 0},
+       {0x5300, 0x00, 0, 0}, {0x5301, 0x20, 0, 0}, {0x5302, 0x00, 0, 0},
+       {0x5303, 0x7c, 0, 0}, {0x530c, 0x00, 0, 0}, {0x530d, 0x0c, 0, 0},
+       {0x530e, 0x20, 0, 0}, {0x530f, 0x80, 0, 0}, {0x5310, 0x20, 0, 0},
+       {0x5311, 0x80, 0, 0}, {0x5308, 0x20, 0, 0}, {0x5309, 0x40, 0, 0},
+       {0x5304, 0x00, 0, 0}, {0x5305, 0x30, 0, 0}, {0x5306, 0x00, 0, 0},
+       {0x5307, 0x80, 0, 0}, {0x5314, 0x08, 0, 0}, {0x5315, 0x20, 0, 0},
+       {0x5319, 0x30, 0, 0}, {0x5316, 0x10, 0, 0}, {0x5317, 0x00, 0, 0},
+       {0x5318, 0x02, 0, 0}, {0x5380, 0x01, 0, 0}, {0x5381, 0x00, 0, 0},
+       {0x5382, 0x00, 0, 0}, {0x5383, 0x4e, 0, 0}, {0x5384, 0x00, 0, 0},
+       {0x5385, 0x0f, 0, 0}, {0x5386, 0x00, 0, 0}, {0x5387, 0x00, 0, 0},
+       {0x5388, 0x01, 0, 0}, {0x5389, 0x15, 0, 0}, {0x538a, 0x00, 0, 0},
+       {0x538b, 0x31, 0, 0}, {0x538c, 0x00, 0, 0}, {0x538d, 0x00, 0, 0},
+       {0x538e, 0x00, 0, 0}, {0x538f, 0x0f, 0, 0}, {0x5390, 0x00, 0, 0},
+       {0x5391, 0xab, 0, 0}, {0x5392, 0x00, 0, 0}, {0x5393, 0xa2, 0, 0},
+       {0x5394, 0x08, 0, 0}, {0x5480, 0x14, 0, 0}, {0x5481, 0x21, 0, 0},
+       {0x5482, 0x36, 0, 0}, {0x5483, 0x57, 0, 0}, {0x5484, 0x65, 0, 0},
+       {0x5485, 0x71, 0, 0}, {0x5486, 0x7d, 0, 0}, {0x5487, 0x87, 0, 0},
+       {0x5488, 0x91, 0, 0}, {0x5489, 0x9a, 0, 0}, {0x548a, 0xaa, 0, 0},
+       {0x548b, 0xb8, 0, 0}, {0x548c, 0xcd, 0, 0}, {0x548d, 0xdd, 0, 0},
+       {0x548e, 0xea, 0, 0}, {0x548f, 0x1d, 0, 0}, {0x5490, 0x05, 0, 0},
+       {0x5491, 0x00, 0, 0}, {0x5492, 0x04, 0, 0}, {0x5493, 0x20, 0, 0},
+       {0x5494, 0x03, 0, 0}, {0x5495, 0x60, 0, 0}, {0x5496, 0x02, 0, 0},
+       {0x5497, 0xb8, 0, 0}, {0x5498, 0x02, 0, 0}, {0x5499, 0x86, 0, 0},
+       {0x549a, 0x02, 0, 0}, {0x549b, 0x5b, 0, 0}, {0x549c, 0x02, 0, 0},
+       {0x549d, 0x3b, 0, 0}, {0x549e, 0x02, 0, 0}, {0x549f, 0x1c, 0, 0},
+       {0x54a0, 0x02, 0, 0}, {0x54a1, 0x04, 0, 0}, {0x54a2, 0x01, 0, 0},
+       {0x54a3, 0xed, 0, 0}, {0x54a4, 0x01, 0, 0}, {0x54a5, 0xc5, 0, 0},
+       {0x54a6, 0x01, 0, 0}, {0x54a7, 0xa5, 0, 0}, {0x54a8, 0x01, 0, 0},
+       {0x54a9, 0x6c, 0, 0}, {0x54aa, 0x01, 0, 0}, {0x54ab, 0x41, 0, 0},
+       {0x54ac, 0x01, 0, 0}, {0x54ad, 0x20, 0, 0}, {0x54ae, 0x00, 0, 0},
+       {0x54af, 0x16, 0, 0}, {0x54b0, 0x01, 0, 0}, {0x54b1, 0x20, 0, 0},
+       {0x54b2, 0x00, 0, 0}, {0x54b3, 0x10, 0, 0}, {0x54b4, 0x00, 0, 0},
+       {0x54b5, 0xf0, 0, 0}, {0x54b6, 0x00, 0, 0}, {0x54b7, 0xdf, 0, 0},
+       {0x5402, 0x3f, 0, 0}, {0x5403, 0x00, 0, 0}, {0x3406, 0x00, 0, 0},
+       {0x5180, 0xff, 0, 0}, {0x5181, 0x52, 0, 0}, {0x5182, 0x11, 0, 0},
+       {0x5183, 0x14, 0, 0}, {0x5184, 0x25, 0, 0}, {0x5185, 0x24, 0, 0},
+       {0x5186, 0x06, 0, 0}, {0x5187, 0x08, 0, 0}, {0x5188, 0x08, 0, 0},
+       {0x5189, 0x7c, 0, 0}, {0x518a, 0x60, 0, 0}, {0x518b, 0xb2, 0, 0},
+       {0x518c, 0xb2, 0, 0}, {0x518d, 0x44, 0, 0}, {0x518e, 0x3d, 0, 0},
+       {0x518f, 0x58, 0, 0}, {0x5190, 0x46, 0, 0}, {0x5191, 0xf8, 0, 0},
+       {0x5192, 0x04, 0, 0}, {0x5193, 0x70, 0, 0}, {0x5194, 0xf0, 0, 0},
+       {0x5195, 0xf0, 0, 0}, {0x5196, 0x03, 0, 0}, {0x5197, 0x01, 0, 0},
+       {0x5198, 0x04, 0, 0}, {0x5199, 0x12, 0, 0}, {0x519a, 0x04, 0, 0},
+       {0x519b, 0x00, 0, 0}, {0x519c, 0x06, 0, 0}, {0x519d, 0x82, 0, 0},
+       {0x519e, 0x00, 0, 0}, {0x5025, 0x80, 0, 0}, {0x3a0f, 0x38, 0, 0},
+       {0x3a10, 0x30, 0, 0}, {0x3a1b, 0x3a, 0, 0}, {0x3a1e, 0x2e, 0, 0},
+       {0x3a11, 0x60, 0, 0}, {0x3a1f, 0x10, 0, 0}, {0x5688, 0xa6, 0, 0},
+       {0x5689, 0x6a, 0, 0}, {0x568a, 0xea, 0, 0}, {0x568b, 0xae, 0, 0},
+       {0x568c, 0xa6, 0, 0}, {0x568d, 0x6a, 0, 0}, {0x568e, 0x62, 0, 0},
+       {0x568f, 0x26, 0, 0}, {0x5583, 0x40, 0, 0}, {0x5584, 0x40, 0, 0},
+       {0x5580, 0x02, 0, 0}, {0x5000, 0xcf, 0, 0}, {0x5800, 0x27, 0, 0},
+       {0x5801, 0x19, 0, 0}, {0x5802, 0x12, 0, 0}, {0x5803, 0x0f, 0, 0},
+       {0x5804, 0x10, 0, 0}, {0x5805, 0x15, 0, 0}, {0x5806, 0x1e, 0, 0},
+       {0x5807, 0x2f, 0, 0}, {0x5808, 0x15, 0, 0}, {0x5809, 0x0d, 0, 0},
+       {0x580a, 0x0a, 0, 0}, {0x580b, 0x09, 0, 0}, {0x580c, 0x0a, 0, 0},
+       {0x580d, 0x0c, 0, 0}, {0x580e, 0x12, 0, 0}, {0x580f, 0x19, 0, 0},
+       {0x5810, 0x0b, 0, 0}, {0x5811, 0x07, 0, 0}, {0x5812, 0x04, 0, 0},
+       {0x5813, 0x03, 0, 0}, {0x5814, 0x03, 0, 0}, {0x5815, 0x06, 0, 0},
+       {0x5816, 0x0a, 0, 0}, {0x5817, 0x0f, 0, 0}, {0x5818, 0x0a, 0, 0},
+       {0x5819, 0x05, 0, 0}, {0x581a, 0x01, 0, 0}, {0x581b, 0x00, 0, 0},
+       {0x581c, 0x00, 0, 0}, {0x581d, 0x03, 0, 0}, {0x581e, 0x08, 0, 0},
+       {0x581f, 0x0c, 0, 0}, {0x5820, 0x0a, 0, 0}, {0x5821, 0x05, 0, 0},
+       {0x5822, 0x01, 0, 0}, {0x5823, 0x00, 0, 0}, {0x5824, 0x00, 0, 0},
+       {0x5825, 0x03, 0, 0}, {0x5826, 0x08, 0, 0}, {0x5827, 0x0c, 0, 0},
+       {0x5828, 0x0e, 0, 0}, {0x5829, 0x08, 0, 0}, {0x582a, 0x06, 0, 0},
+       {0x582b, 0x04, 0, 0}, {0x582c, 0x05, 0, 0}, {0x582d, 0x07, 0, 0},
+       {0x582e, 0x0b, 0, 0}, {0x582f, 0x12, 0, 0}, {0x5830, 0x18, 0, 0},
+       {0x5831, 0x10, 0, 0}, {0x5832, 0x0c, 0, 0}, {0x5833, 0x0a, 0, 0},
+       {0x5834, 0x0b, 0, 0}, {0x5835, 0x0e, 0, 0}, {0x5836, 0x15, 0, 0},
+       {0x5837, 0x19, 0, 0}, {0x5838, 0x32, 0, 0}, {0x5839, 0x1f, 0, 0},
+       {0x583a, 0x18, 0, 0}, {0x583b, 0x16, 0, 0}, {0x583c, 0x17, 0, 0},
+       {0x583d, 0x1e, 0, 0}, {0x583e, 0x26, 0, 0}, {0x583f, 0x53, 0, 0},
+       {0x5840, 0x10, 0, 0}, {0x5841, 0x0f, 0, 0}, {0x5842, 0x0d, 0, 0},
+       {0x5843, 0x0c, 0, 0}, {0x5844, 0x0e, 0, 0}, {0x5845, 0x09, 0, 0},
+       {0x5846, 0x11, 0, 0}, {0x5847, 0x10, 0, 0}, {0x5848, 0x10, 0, 0},
+       {0x5849, 0x10, 0, 0}, {0x584a, 0x10, 0, 0}, {0x584b, 0x0e, 0, 0},
+       {0x584c, 0x10, 0, 0}, {0x584d, 0x10, 0, 0}, {0x584e, 0x11, 0, 0},
+       {0x584f, 0x10, 0, 0}, {0x5850, 0x0f, 0, 0}, {0x5851, 0x0c, 0, 0},
+       {0x5852, 0x0f, 0, 0}, {0x5853, 0x10, 0, 0}, {0x5854, 0x10, 0, 0},
+       {0x5855, 0x0f, 0, 0}, {0x5856, 0x0e, 0, 0}, {0x5857, 0x0b, 0, 0},
+       {0x5858, 0x10, 0, 0}, {0x5859, 0x0d, 0, 0}, {0x585a, 0x0d, 0, 0},
+       {0x585b, 0x0c, 0, 0}, {0x585c, 0x0c, 0, 0}, {0x585d, 0x0c, 0, 0},
+       {0x585e, 0x0b, 0, 0}, {0x585f, 0x0c, 0, 0}, {0x5860, 0x0c, 0, 0},
+       {0x5861, 0x0c, 0, 0}, {0x5862, 0x0d, 0, 0}, {0x5863, 0x08, 0, 0},
+       {0x5864, 0x11, 0, 0}, {0x5865, 0x18, 0, 0}, {0x5866, 0x18, 0, 0},
+       {0x5867, 0x19, 0, 0}, {0x5868, 0x17, 0, 0}, {0x5869, 0x19, 0, 0},
+       {0x586a, 0x16, 0, 0}, {0x586b, 0x13, 0, 0}, {0x586c, 0x13, 0, 0},
+       {0x586d, 0x12, 0, 0}, {0x586e, 0x13, 0, 0}, {0x586f, 0x16, 0, 0},
+       {0x5870, 0x14, 0, 0}, {0x5871, 0x12, 0, 0}, {0x5872, 0x10, 0, 0},
+       {0x5873, 0x11, 0, 0}, {0x5874, 0x11, 0, 0}, {0x5875, 0x16, 0, 0},
+       {0x5876, 0x14, 0, 0}, {0x5877, 0x11, 0, 0}, {0x5878, 0x10, 0, 0},
+       {0x5879, 0x0f, 0, 0}, {0x587a, 0x10, 0, 0}, {0x587b, 0x14, 0, 0},
+       {0x587c, 0x13, 0, 0}, {0x587d, 0x12, 0, 0}, {0x587e, 0x11, 0, 0},
+       {0x587f, 0x11, 0, 0}, {0x5880, 0x12, 0, 0}, {0x5881, 0x15, 0, 0},
+       {0x5882, 0x14, 0, 0}, {0x5883, 0x15, 0, 0}, {0x5884, 0x15, 0, 0},
+       {0x5885, 0x15, 0, 0}, {0x5886, 0x13, 0, 0}, {0x5887, 0x17, 0, 0},
+       {0x3710, 0x10, 0, 0}, {0x3632, 0x51, 0, 0}, {0x3702, 0x10, 0, 0},
+       {0x3703, 0xb2, 0, 0}, {0x3704, 0x18, 0, 0}, {0x370b, 0x40, 0, 0},
+       {0x370d, 0x03, 0, 0}, {0x3631, 0x01, 0, 0}, {0x3632, 0x52, 0, 0},
+       {0x3606, 0x24, 0, 0}, {0x3620, 0x96, 0, 0}, {0x5785, 0x07, 0, 0},
+       {0x3a13, 0x30, 0, 0}, {0x3600, 0x52, 0, 0}, {0x3604, 0x48, 0, 0},
+       {0x3606, 0x1b, 0, 0}, {0x370d, 0x0b, 0, 0}, {0x370f, 0xc0, 0, 0},
+       {0x3709, 0x01, 0, 0}, {0x3823, 0x00, 0, 0}, {0x5007, 0x00, 0, 0},
+       {0x5009, 0x00, 0, 0}, {0x5011, 0x00, 0, 0}, {0x5013, 0x00, 0, 0},
+       {0x519e, 0x00, 0, 0}, {0x5086, 0x00, 0, 0}, {0x5087, 0x00, 0, 0},
+       {0x5088, 0x00, 0, 0}, {0x5089, 0x00, 0, 0}, {0x302b, 0x00, 0, 0},
+       {0x3808, 0x00, 0, 0}, {0x3809, 0xb0, 0, 0}, {0x380a, 0x00, 0, 0},
+       {0x380b, 0x90, 0, 0}, {0x3a00, 0x78, 0, 0},
+};
+
+static struct reg_value ov5642_setting_30fps_QCIF_176_144[] = {
+       {0x3103, 0x93, 0, 0}, {0x3008, 0x82, 0, 0}, {0x3017, 0x7f, 0, 0},
+       {0x3018, 0xfc, 0, 0}, {0x3810, 0xc2, 0, 0}, {0x3615, 0xf0, 0, 0},
+       {0x3000, 0x00, 0, 0}, {0x3001, 0x00, 0, 0}, {0x3002, 0x5c, 0, 0},
+       {0x3003, 0x00, 0, 0}, {0x3004, 0xff, 0, 0}, {0x3005, 0xff, 0, 0},
+       {0x3006, 0x43, 0, 0}, {0x3007, 0x37, 0, 0}, {0x3011, 0x10, 0, 0},
+       {0x3010, 0x10, 0, 0}, {0x460c, 0x22, 0, 0}, {0x3815, 0x04, 0, 0},
+       {0x370c, 0xa0, 0, 0}, {0x3602, 0xfc, 0, 0}, {0x3612, 0xff, 0, 0},
+       {0x3634, 0xc0, 0, 0}, {0x3613, 0x00, 0, 0}, {0x3605, 0x7c, 0, 0},
+       {0x3621, 0x09, 0, 0}, {0x3622, 0x60, 0, 0}, {0x3604, 0x40, 0, 0},
+       {0x3603, 0xa7, 0, 0}, {0x3603, 0x27, 0, 0}, {0x4000, 0x21, 0, 0},
+       {0x401d, 0x22, 0, 0}, {0x3600, 0x54, 0, 0}, {0x3605, 0x04, 0, 0},
+       {0x3606, 0x3f, 0, 0}, {0x3c01, 0x80, 0, 0}, {0x5000, 0x4f, 0, 0},
+       {0x5020, 0x04, 0, 0}, {0x5181, 0x79, 0, 0}, {0x5182, 0x00, 0, 0},
+       {0x5185, 0x22, 0, 0}, {0x5197, 0x01, 0, 0}, {0x5001, 0xff, 0, 0},
+       {0x5500, 0x0a, 0, 0}, {0x5504, 0x00, 0, 0}, {0x5505, 0x7f, 0, 0},
+       {0x5080, 0x08, 0, 0}, {0x300e, 0x18, 0, 0}, {0x4610, 0x00, 0, 0},
+       {0x471d, 0x05, 0, 0}, {0x4708, 0x06, 0, 0}, {0x3808, 0x02, 0, 0},
+       {0x3809, 0x80, 0, 0}, {0x380a, 0x01, 0, 0}, {0x380b, 0xe0, 0, 0},
+       {0x380e, 0x07, 0, 0}, {0x380f, 0xd0, 0, 0}, {0x501f, 0x00, 0, 0},
+       {0x5000, 0x4f, 0, 0}, {0x4300, 0x30, 0, 0}, {0x3503, 0x07, 0, 0},
+       {0x3501, 0x73, 0, 0}, {0x3502, 0x80, 0, 0}, {0x350b, 0x00, 0, 0},
+       {0x3503, 0x07, 0, 0}, {0x3824, 0x11, 0, 0}, {0x3501, 0x1e, 0, 0},
+       {0x3502, 0x80, 0, 0}, {0x350b, 0x7f, 0, 0}, {0x380c, 0x0c, 0, 0},
+       {0x380d, 0x80, 0, 0}, {0x380e, 0x03, 0, 0}, {0x380f, 0xe8, 0, 0},
+       {0x3a0d, 0x04, 0, 0}, {0x3a0e, 0x03, 0, 0}, {0x3818, 0xc1, 0, 0},
+       {0x3705, 0xdb, 0, 0}, {0x370a, 0x81, 0, 0}, {0x3801, 0x80, 0, 0},
+       {0x3621, 0x87, 0, 0}, {0x3801, 0x50, 0, 0}, {0x3803, 0x08, 0, 0},
+       {0x3827, 0x08, 0, 0}, {0x3810, 0x40, 0, 0}, {0x3804, 0x05, 0, 0},
+       {0x3805, 0x00, 0, 0}, {0x5682, 0x05, 0, 0}, {0x5683, 0x00, 0, 0},
+       {0x3806, 0x03, 0, 0}, {0x3807, 0xc0, 0, 0}, {0x5686, 0x03, 0, 0},
+       {0x5687, 0xbc, 0, 0}, {0x3a00, 0x78, 0, 0}, {0x3a1a, 0x05, 0, 0},
+       {0x3a13, 0x30, 0, 0}, {0x3a18, 0x00, 0, 0}, {0x3a19, 0x7c, 0, 0},
+       {0x3a08, 0x12, 0, 0}, {0x3a09, 0xc0, 0, 0}, {0x3a0a, 0x0f, 0, 0},
+       {0x3a0b, 0xa0, 0, 0}, {0x350c, 0x07, 0, 0}, {0x350d, 0xd0, 0, 0},
+       {0x3500, 0x00, 0, 0}, {0x3501, 0x00, 0, 0}, {0x3502, 0x00, 0, 0},
+       {0x350a, 0x00, 0, 0}, {0x350b, 0x00, 0, 0}, {0x3503, 0x00, 0, 0},
+       {0x528a, 0x02, 0, 0}, {0x528b, 0x04, 0, 0}, {0x528c, 0x08, 0, 0},
+       {0x528d, 0x08, 0, 0}, {0x528e, 0x08, 0, 0}, {0x528f, 0x10, 0, 0},
+       {0x5290, 0x10, 0, 0}, {0x5292, 0x00, 0, 0}, {0x5293, 0x02, 0, 0},
+       {0x5294, 0x00, 0, 0}, {0x5295, 0x02, 0, 0}, {0x5296, 0x00, 0, 0},
+       {0x5297, 0x02, 0, 0}, {0x5298, 0x00, 0, 0}, {0x5299, 0x02, 0, 0},
+       {0x529a, 0x00, 0, 0}, {0x529b, 0x02, 0, 0}, {0x529c, 0x00, 0, 0},
+       {0x529d, 0x02, 0, 0}, {0x529e, 0x00, 0, 0}, {0x529f, 0x02, 0, 0},
+       {0x3a0f, 0x3c, 0, 0}, {0x3a10, 0x30, 0, 0}, {0x3a1b, 0x3c, 0, 0},
+       {0x3a1e, 0x30, 0, 0}, {0x3a11, 0x70, 0, 0}, {0x3a1f, 0x10, 0, 0},
+       {0x3030, 0x2b, 0, 0}, {0x3a02, 0x00, 0, 0}, {0x3a03, 0x7d, 0, 0},
+       {0x3a04, 0x00, 0, 0}, {0x3a14, 0x00, 0, 0}, {0x3a15, 0x7d, 0, 0},
+       {0x3a16, 0x00, 0, 0}, {0x3a00, 0x78, 0, 0}, {0x3a08, 0x09, 0, 0},
+       {0x3a09, 0x60, 0, 0}, {0x3a0a, 0x07, 0, 0}, {0x3a0b, 0xd0, 0, 0},
+       {0x3a0d, 0x08, 0, 0}, {0x3a0e, 0x06, 0, 0}, {0x5193, 0x70, 0, 0},
+       {0x589b, 0x04, 0, 0}, {0x589a, 0xc5, 0, 0}, {0x401e, 0x20, 0, 0},
+       {0x4001, 0x42, 0, 0}, {0x401c, 0x04, 0, 0}, {0x528a, 0x01, 0, 0},
+       {0x528b, 0x04, 0, 0}, {0x528c, 0x08, 0, 0}, {0x528d, 0x10, 0, 0},
+       {0x528e, 0x20, 0, 0}, {0x528f, 0x28, 0, 0}, {0x5290, 0x30, 0, 0},
+       {0x5292, 0x00, 0, 0}, {0x5293, 0x01, 0, 0}, {0x5294, 0x00, 0, 0},
+       {0x5295, 0x04, 0, 0}, {0x5296, 0x00, 0, 0}, {0x5297, 0x08, 0, 0},
+       {0x5298, 0x00, 0, 0}, {0x5299, 0x10, 0, 0}, {0x529a, 0x00, 0, 0},
+       {0x529b, 0x20, 0, 0}, {0x529c, 0x00, 0, 0}, {0x529d, 0x28, 0, 0},
+       {0x529e, 0x00, 0, 0}, {0x529f, 0x30, 0, 0}, {0x5282, 0x00, 0, 0},
+       {0x5300, 0x00, 0, 0}, {0x5301, 0x20, 0, 0}, {0x5302, 0x00, 0, 0},
+       {0x5303, 0x7c, 0, 0}, {0x530c, 0x00, 0, 0}, {0x530d, 0x0c, 0, 0},
+       {0x530e, 0x20, 0, 0}, {0x530f, 0x80, 0, 0}, {0x5310, 0x20, 0, 0},
+       {0x5311, 0x80, 0, 0}, {0x5308, 0x20, 0, 0}, {0x5309, 0x40, 0, 0},
+       {0x5304, 0x00, 0, 0}, {0x5305, 0x30, 0, 0}, {0x5306, 0x00, 0, 0},
+       {0x5307, 0x80, 0, 0}, {0x5314, 0x08, 0, 0}, {0x5315, 0x20, 0, 0},
+       {0x5319, 0x30, 0, 0}, {0x5316, 0x10, 0, 0}, {0x5317, 0x00, 0, 0},
+       {0x5318, 0x02, 0, 0}, {0x5380, 0x01, 0, 0}, {0x5381, 0x00, 0, 0},
+       {0x5382, 0x00, 0, 0}, {0x5383, 0x4e, 0, 0}, {0x5384, 0x00, 0, 0},
+       {0x5385, 0x0f, 0, 0}, {0x5386, 0x00, 0, 0}, {0x5387, 0x00, 0, 0},
+       {0x5388, 0x01, 0, 0}, {0x5389, 0x15, 0, 0}, {0x538a, 0x00, 0, 0},
+       {0x538b, 0x31, 0, 0}, {0x538c, 0x00, 0, 0}, {0x538d, 0x00, 0, 0},
+       {0x538e, 0x00, 0, 0}, {0x538f, 0x0f, 0, 0}, {0x5390, 0x00, 0, 0},
+       {0x5391, 0xab, 0, 0}, {0x5392, 0x00, 0, 0}, {0x5393, 0xa2, 0, 0},
+       {0x5394, 0x08, 0, 0}, {0x5480, 0x14, 0, 0}, {0x5481, 0x21, 0, 0},
+       {0x5482, 0x36, 0, 0}, {0x5483, 0x57, 0, 0}, {0x5484, 0x65, 0, 0},
+       {0x5485, 0x71, 0, 0}, {0x5486, 0x7d, 0, 0}, {0x5487, 0x87, 0, 0},
+       {0x5488, 0x91, 0, 0}, {0x5489, 0x9a, 0, 0}, {0x548a, 0xaa, 0, 0},
+       {0x548b, 0xb8, 0, 0}, {0x548c, 0xcd, 0, 0}, {0x548d, 0xdd, 0, 0},
+       {0x548e, 0xea, 0, 0}, {0x548f, 0x1d, 0, 0}, {0x5490, 0x05, 0, 0},
+       {0x5491, 0x00, 0, 0}, {0x5492, 0x04, 0, 0}, {0x5493, 0x20, 0, 0},
+       {0x5494, 0x03, 0, 0}, {0x5495, 0x60, 0, 0}, {0x5496, 0x02, 0, 0},
+       {0x5497, 0xb8, 0, 0}, {0x5498, 0x02, 0, 0}, {0x5499, 0x86, 0, 0},
+       {0x549a, 0x02, 0, 0}, {0x549b, 0x5b, 0, 0}, {0x549c, 0x02, 0, 0},
+       {0x549d, 0x3b, 0, 0}, {0x549e, 0x02, 0, 0}, {0x549f, 0x1c, 0, 0},
+       {0x54a0, 0x02, 0, 0}, {0x54a1, 0x04, 0, 0}, {0x54a2, 0x01, 0, 0},
+       {0x54a3, 0xed, 0, 0}, {0x54a4, 0x01, 0, 0}, {0x54a5, 0xc5, 0, 0},
+       {0x54a6, 0x01, 0, 0}, {0x54a7, 0xa5, 0, 0}, {0x54a8, 0x01, 0, 0},
+       {0x54a9, 0x6c, 0, 0}, {0x54aa, 0x01, 0, 0}, {0x54ab, 0x41, 0, 0},
+       {0x54ac, 0x01, 0, 0}, {0x54ad, 0x20, 0, 0}, {0x54ae, 0x00, 0, 0},
+       {0x54af, 0x16, 0, 0}, {0x54b0, 0x01, 0, 0}, {0x54b1, 0x20, 0, 0},
+       {0x54b2, 0x00, 0, 0}, {0x54b3, 0x10, 0, 0}, {0x54b4, 0x00, 0, 0},
+       {0x54b5, 0xf0, 0, 0}, {0x54b6, 0x00, 0, 0}, {0x54b7, 0xdf, 0, 0},
+       {0x5402, 0x3f, 0, 0}, {0x5403, 0x00, 0, 0}, {0x3406, 0x00, 0, 0},
+       {0x5180, 0xff, 0, 0}, {0x5181, 0x52, 0, 0}, {0x5182, 0x11, 0, 0},
+       {0x5183, 0x14, 0, 0}, {0x5184, 0x25, 0, 0}, {0x5185, 0x24, 0, 0},
+       {0x5186, 0x06, 0, 0}, {0x5187, 0x08, 0, 0}, {0x5188, 0x08, 0, 0},
+       {0x5189, 0x7c, 0, 0}, {0x518a, 0x60, 0, 0}, {0x518b, 0xb2, 0, 0},
+       {0x518c, 0xb2, 0, 0}, {0x518d, 0x44, 0, 0}, {0x518e, 0x3d, 0, 0},
+       {0x518f, 0x58, 0, 0}, {0x5190, 0x46, 0, 0}, {0x5191, 0xf8, 0, 0},
+       {0x5192, 0x04, 0, 0}, {0x5193, 0x70, 0, 0}, {0x5194, 0xf0, 0, 0},
+       {0x5195, 0xf0, 0, 0}, {0x5196, 0x03, 0, 0}, {0x5197, 0x01, 0, 0},
+       {0x5198, 0x04, 0, 0}, {0x5199, 0x12, 0, 0}, {0x519a, 0x04, 0, 0},
+       {0x519b, 0x00, 0, 0}, {0x519c, 0x06, 0, 0}, {0x519d, 0x82, 0, 0},
+       {0x519e, 0x00, 0, 0}, {0x5025, 0x80, 0, 0}, {0x3a0f, 0x38, 0, 0},
+       {0x3a10, 0x30, 0, 0}, {0x3a1b, 0x3a, 0, 0}, {0x3a1e, 0x2e, 0, 0},
+       {0x3a11, 0x60, 0, 0}, {0x3a1f, 0x10, 0, 0}, {0x5688, 0xa6, 0, 0},
+       {0x5689, 0x6a, 0, 0}, {0x568a, 0xea, 0, 0}, {0x568b, 0xae, 0, 0},
+       {0x568c, 0xa6, 0, 0}, {0x568d, 0x6a, 0, 0}, {0x568e, 0x62, 0, 0},
+       {0x568f, 0x26, 0, 0}, {0x5583, 0x40, 0, 0}, {0x5584, 0x40, 0, 0},
+       {0x5580, 0x02, 0, 0}, {0x5000, 0xcf, 0, 0}, {0x5800, 0x27, 0, 0},
+       {0x5801, 0x19, 0, 0}, {0x5802, 0x12, 0, 0}, {0x5803, 0x0f, 0, 0},
+       {0x5804, 0x10, 0, 0}, {0x5805, 0x15, 0, 0}, {0x5806, 0x1e, 0, 0},
+       {0x5807, 0x2f, 0, 0}, {0x5808, 0x15, 0, 0}, {0x5809, 0x0d, 0, 0},
+       {0x580a, 0x0a, 0, 0}, {0x580b, 0x09, 0, 0}, {0x580c, 0x0a, 0, 0},
+       {0x580d, 0x0c, 0, 0}, {0x580e, 0x12, 0, 0}, {0x580f, 0x19, 0, 0},
+       {0x5810, 0x0b, 0, 0}, {0x5811, 0x07, 0, 0}, {0x5812, 0x04, 0, 0},
+       {0x5813, 0x03, 0, 0}, {0x5814, 0x03, 0, 0}, {0x5815, 0x06, 0, 0},
+       {0x5816, 0x0a, 0, 0}, {0x5817, 0x0f, 0, 0}, {0x5818, 0x0a, 0, 0},
+       {0x5819, 0x05, 0, 0}, {0x581a, 0x01, 0, 0}, {0x581b, 0x00, 0, 0},
+       {0x581c, 0x00, 0, 0}, {0x581d, 0x03, 0, 0}, {0x581e, 0x08, 0, 0},
+       {0x581f, 0x0c, 0, 0}, {0x5820, 0x0a, 0, 0}, {0x5821, 0x05, 0, 0},
+       {0x5822, 0x01, 0, 0}, {0x5823, 0x00, 0, 0}, {0x5824, 0x00, 0, 0},
+       {0x5825, 0x03, 0, 0}, {0x5826, 0x08, 0, 0}, {0x5827, 0x0c, 0, 0},
+       {0x5828, 0x0e, 0, 0}, {0x5829, 0x08, 0, 0}, {0x582a, 0x06, 0, 0},
+       {0x582b, 0x04, 0, 0}, {0x582c, 0x05, 0, 0}, {0x582d, 0x07, 0, 0},
+       {0x582e, 0x0b, 0, 0}, {0x582f, 0x12, 0, 0}, {0x5830, 0x18, 0, 0},
+       {0x5831, 0x10, 0, 0}, {0x5832, 0x0c, 0, 0}, {0x5833, 0x0a, 0, 0},
+       {0x5834, 0x0b, 0, 0}, {0x5835, 0x0e, 0, 0}, {0x5836, 0x15, 0, 0},
+       {0x5837, 0x19, 0, 0}, {0x5838, 0x32, 0, 0}, {0x5839, 0x1f, 0, 0},
+       {0x583a, 0x18, 0, 0}, {0x583b, 0x16, 0, 0}, {0x583c, 0x17, 0, 0},
+       {0x583d, 0x1e, 0, 0}, {0x583e, 0x26, 0, 0}, {0x583f, 0x53, 0, 0},
+       {0x5840, 0x10, 0, 0}, {0x5841, 0x0f, 0, 0}, {0x5842, 0x0d, 0, 0},
+       {0x5843, 0x0c, 0, 0}, {0x5844, 0x0e, 0, 0}, {0x5845, 0x09, 0, 0},
+       {0x5846, 0x11, 0, 0}, {0x5847, 0x10, 0, 0}, {0x5848, 0x10, 0, 0},
+       {0x5849, 0x10, 0, 0}, {0x584a, 0x10, 0, 0}, {0x584b, 0x0e, 0, 0},
+       {0x584c, 0x10, 0, 0}, {0x584d, 0x10, 0, 0}, {0x584e, 0x11, 0, 0},
+       {0x584f, 0x10, 0, 0}, {0x5850, 0x0f, 0, 0}, {0x5851, 0x0c, 0, 0},
+       {0x5852, 0x0f, 0, 0}, {0x5853, 0x10, 0, 0}, {0x5854, 0x10, 0, 0},
+       {0x5855, 0x0f, 0, 0}, {0x5856, 0x0e, 0, 0}, {0x5857, 0x0b, 0, 0},
+       {0x5858, 0x10, 0, 0}, {0x5859, 0x0d, 0, 0}, {0x585a, 0x0d, 0, 0},
+       {0x585b, 0x0c, 0, 0}, {0x585c, 0x0c, 0, 0}, {0x585d, 0x0c, 0, 0},
+       {0x585e, 0x0b, 0, 0}, {0x585f, 0x0c, 0, 0}, {0x5860, 0x0c, 0, 0},
+       {0x5861, 0x0c, 0, 0}, {0x5862, 0x0d, 0, 0}, {0x5863, 0x08, 0, 0},
+       {0x5864, 0x11, 0, 0}, {0x5865, 0x18, 0, 0}, {0x5866, 0x18, 0, 0},
+       {0x5867, 0x19, 0, 0}, {0x5868, 0x17, 0, 0}, {0x5869, 0x19, 0, 0},
+       {0x586a, 0x16, 0, 0}, {0x586b, 0x13, 0, 0}, {0x586c, 0x13, 0, 0},
+       {0x586d, 0x12, 0, 0}, {0x586e, 0x13, 0, 0}, {0x586f, 0x16, 0, 0},
+       {0x5870, 0x14, 0, 0}, {0x5871, 0x12, 0, 0}, {0x5872, 0x10, 0, 0},
+       {0x5873, 0x11, 0, 0}, {0x5874, 0x11, 0, 0}, {0x5875, 0x16, 0, 0},
+       {0x5876, 0x14, 0, 0}, {0x5877, 0x11, 0, 0}, {0x5878, 0x10, 0, 0},
+       {0x5879, 0x0f, 0, 0}, {0x587a, 0x10, 0, 0}, {0x587b, 0x14, 0, 0},
+       {0x587c, 0x13, 0, 0}, {0x587d, 0x12, 0, 0}, {0x587e, 0x11, 0, 0},
+       {0x587f, 0x11, 0, 0}, {0x5880, 0x12, 0, 0}, {0x5881, 0x15, 0, 0},
+       {0x5882, 0x14, 0, 0}, {0x5883, 0x15, 0, 0}, {0x5884, 0x15, 0, 0},
+       {0x5885, 0x15, 0, 0}, {0x5886, 0x13, 0, 0}, {0x5887, 0x17, 0, 0},
+       {0x3710, 0x10, 0, 0}, {0x3632, 0x51, 0, 0}, {0x3702, 0x10, 0, 0},
+       {0x3703, 0xb2, 0, 0}, {0x3704, 0x18, 0, 0}, {0x370b, 0x40, 0, 0},
+       {0x370d, 0x03, 0, 0}, {0x3631, 0x01, 0, 0}, {0x3632, 0x52, 0, 0},
+       {0x3606, 0x24, 0, 0}, {0x3620, 0x96, 0, 0}, {0x5785, 0x07, 0, 0},
+       {0x3a13, 0x30, 0, 0}, {0x3600, 0x52, 0, 0}, {0x3604, 0x48, 0, 0},
+       {0x3606, 0x1b, 0, 0}, {0x370d, 0x0b, 0, 0}, {0x370f, 0xc0, 0, 0},
+       {0x3709, 0x01, 0, 0}, {0x3823, 0x00, 0, 0}, {0x5007, 0x00, 0, 0},
+       {0x5009, 0x00, 0, 0}, {0x5011, 0x00, 0, 0}, {0x5013, 0x00, 0, 0},
+       {0x519e, 0x00, 0, 0}, {0x5086, 0x00, 0, 0}, {0x5087, 0x00, 0, 0},
+       {0x5088, 0x00, 0, 0}, {0x5089, 0x00, 0, 0}, {0x302b, 0x00, 0, 0},
+       {0x3808, 0x00, 0, 0}, {0x3809, 0xb0, 0, 0}, {0x380a, 0x00, 0, 0},
+       {0x380b, 0x90, 0, 0}, {0x3a00, 0x78, 0, 0},
+};
+
+static struct reg_value ov5642_setting_15fps_QSXGA_2592_1944[] = {
+       {0x3503, 0x07, 0, 0}, {0x3000, 0x00, 0, 0}, {0x3001, 0x00, 0, 0},
+       {0x3002, 0x00, 0, 0}, {0x3003, 0x00, 0, 0}, {0x3004, 0xff, 0, 0},
+       {0x3005, 0xff, 0, 0}, {0x3006, 0xff, 0, 0}, {0x3007, 0x3f, 0, 0},
+       {0x3011, 0x08, 0, 0}, {0x3010, 0x10, 0, 0}, {0x3818, 0xc0, 0, 0},
+       {0x3621, 0x09, 0, 0}, {0x350c, 0x07, 0, 0}, {0x350d, 0xd0, 0, 0},
+       {0x3602, 0xe4, 0, 0}, {0x3612, 0xac, 0, 0}, {0x3613, 0x44, 0, 0},
+       {0x3622, 0x60, 0, 0}, {0x3623, 0x22, 0, 0}, {0x3604, 0x48, 0, 0},
+       {0x3705, 0xda, 0, 0}, {0x370a, 0x80, 0, 0}, {0x3801, 0x95, 0, 0},
+       {0x3803, 0x0e, 0, 0}, {0x3804, 0x0a, 0, 0}, {0x3805, 0x20, 0, 0},
+       {0x3806, 0x07, 0, 0}, {0x3807, 0x98, 0, 0}, {0x3808, 0x0a, 0, 0},
+       {0x3809, 0x20, 0, 0}, {0x380a, 0x07, 0, 0}, {0x380b, 0x98, 0, 0},
+       {0x380c, 0x0c, 0, 0}, {0x380d, 0x80, 0, 0}, {0x380e, 0x07, 0, 0},
+       {0x380f, 0xd0, 0, 0}, {0x3810, 0xc2, 0, 0}, {0x3815, 0x44, 0, 0},
+       {0x3824, 0x11, 0, 0}, {0x3825, 0xac, 0, 0}, {0x3827, 0x0c, 0, 0},
+       {0x3a00, 0x78, 0, 0}, {0x3a0d, 0x10, 0, 0}, {0x3a0e, 0x0d, 0, 0},
+       {0x5682, 0x0a, 0, 0}, {0x5683, 0x20, 0, 0}, {0x5686, 0x07, 0, 0},
+       {0x5687, 0x98, 0, 0}, {0x5001, 0xff, 0, 0}, {0x589b, 0x00, 0, 0},
+       {0x589a, 0xc0, 0, 0}, {0x4407, 0x04, 0, 0}, {0x3008, 0x02, 0, 0},
+       {0x460b, 0x37, 0, 0}, {0x460c, 0x22, 0, 0}, {0x471d, 0x05, 0, 0},
+       {0x4713, 0x03, 0, 0}, {0x471c, 0xd0, 0, 0}, {0x3815, 0x01, 0, 0},
+       {0x501f, 0x00, 0, 0}, {0x3002, 0x1c, 0, 0}, {0x3819, 0x80, 0, 0},
+       {0x5002, 0xe0, 0, 0}, {0x530a, 0x01, 0, 0}, {0x530d, 0x10, 0, 0},
+       {0x530c, 0x04, 0, 0}, {0x5312, 0x20, 0, 0}, {0x5282, 0x01, 0, 0},
+       {0x3010, 0x10, 0, 0}, {0x3012, 0x00, 0, 0},
+};
+
+
+static struct reg_value ov5642_setting_VGA_2_QVGA[] = {
+       {0x3808, 0x01, 0, 0}, {0x3809, 0x40, 0, 0}, {0x380a, 0x00, 0, 0},
+       {0x380b, 0xf0, 0, 0}, {0x3815, 0x04, 0, 0},
+};
+
+static struct reg_value ov5642_setting_QSXGA_2_VGA[] = {
+       {0x3503, 0x00, 0, 0}, {0x3000, 0x00, 0, 0}, {0x3001, 0x00, 0, 0},
+       {0x3002, 0x5c, 0, 0}, {0x3003, 0x00, 0, 0}, {0x3004, 0xff, 0, 0},
+       {0x3005, 0xff, 0, 0}, {0x3006, 0x43, 0, 0}, {0x3007, 0x37, 0, 0},
+       {0x3010, 0x00, 0, 0}, {0x3818, 0xc1, 0, 0}, {0x3621, 0x87, 0, 0},
+       {0x350c, 0x03, 0, 0}, {0x350d, 0xe8, 0, 0}, {0x3602, 0xfc, 0, 0},
+       {0x3612, 0xff, 0, 0}, {0x3613, 0x00, 0, 0}, {0x3622, 0x60, 0, 0},
+       {0x3623, 0x01, 0, 0}, {0x3604, 0x48, 0, 0}, {0x3705, 0xdb, 0, 0},
+       {0x370a, 0x81, 0, 0}, {0x3801, 0x50, 0, 0}, {0x3803, 0x08, 0, 0},
+       {0x3804, 0x05, 0, 0}, {0x3805, 0x00, 0, 0}, {0x3806, 0x03, 0, 0},
+       {0x3807, 0xc0, 0, 0}, {0x3808, 0x02, 0, 0}, {0x3809, 0x80, 0, 0},
+       {0x380a, 0x01, 0, 0}, {0x380b, 0xe0, 0, 0}, {0x380c, 0x0c, 0, 0},
+       {0x380d, 0x80, 0, 0}, {0x380e, 0x03, 0, 0}, {0x380f, 0xe8, 0, 0},
+       {0x3810, 0x40, 0, 0}, {0x3815, 0x04, 0, 0}, {0x3824, 0x11, 0, 0},
+       {0x3825, 0xb4, 0, 0}, {0x3827, 0x08, 0, 0}, {0x3a00, 0x78, 0, 0},
+       {0x3a0d, 0x04, 0, 0}, {0x3a0e, 0x03, 0, 0}, {0x5682, 0x05, 0, 0},
+       {0x5683, 0x00, 0, 0}, {0x5686, 0x03, 0, 0}, {0x5687, 0xbc, 0, 0},
+       {0x5001, 0xff, 0, 0}, {0x589b, 0x04, 0, 0}, {0x589a, 0xc5, 0, 0},
+       {0x4407, 0x0c, 0, 0}, {0x3008, 0x02, 0, 0}, {0x460b, 0x37, 0, 0},
+       {0x460c, 0x22, 0, 0}, {0x471d, 0x05, 0, 0}, {0x4713, 0x02, 0, 0},
+       {0x471c, 0xd0, 0, 0}, {0x3815, 0x04, 0, 0}, {0x501f, 0x00, 0, 0},
+       {0x3002, 0x5c, 0, 0}, {0x3819, 0x80, 0, 0}, {0x5002, 0xe0, 0, 0},
+       {0x530a, 0x01, 0, 0}, {0x530d, 0x0c, 0, 0}, {0x530c, 0x00, 0, 0},
+       {0x5312, 0x40, 0, 0}, {0x5282, 0x00, 0, 0},
+       {0x3012, 0x02, 0, 0}, {0x3010, 0x00, 0, 0},
+};
+
+static struct reg_value ov5642_setting_30fps_VGA_640_480[] = {
+       {0x3103, 0x93, 0, 0}, {0x3008, 0x82, 0, 0}, {0x3017, 0x7f, 0, 0},
+       {0x3018, 0xfc, 0, 0}, {0x3615, 0xf0, 0, 0}, {0x3000, 0x00, 0, 0},
+       {0x3001, 0x00, 0, 0}, {0x3002, 0x5c, 0, 0}, {0x3003, 0x00, 0, 0},
+       {0x3004, 0xff, 0, 0}, {0x3005, 0xff, 0, 0}, {0x3006, 0x43, 0, 0},
+       {0x3007, 0x37, 0, 0}, {0x3011, 0x09, 0, 0}, {0x3012, 0x02, 0, 0},
+       {0x3010, 0x00, 0, 0}, {0x460c, 0x20, 0, 0}, {0x3815, 0x04, 0, 0},
+       {0x370c, 0xa0, 0, 0}, {0x3602, 0xfc, 0, 0}, {0x3612, 0xff, 0, 0},
+       {0x3634, 0xc0, 0, 0}, {0x3613, 0x00, 0, 0}, {0x3605, 0x7c, 0, 0},
+       {0x3621, 0x09, 0, 0}, {0x3622, 0x60, 0, 0}, {0x3604, 0x40, 0, 0},
+       {0x3603, 0xa7, 0, 0}, {0x3603, 0x27, 0, 0}, {0x4000, 0x21, 0, 0},
+       {0x401d, 0x22, 0, 0}, {0x3600, 0x54, 0, 0}, {0x3605, 0x04, 0, 0},
+       {0x3606, 0x3f, 0, 0}, {0x3c01, 0x80, 0, 0}, {0x5000, 0x4f, 0, 0},
+       {0x5020, 0x04, 0, 0}, {0x5181, 0x79, 0, 0}, {0x5182, 0x00, 0, 0},
+       {0x5185, 0x22, 0, 0}, {0x5197, 0x01, 0, 0}, {0x5001, 0xff, 0, 0},
+       {0x5500, 0x0a, 0, 0}, {0x5504, 0x00, 0, 0}, {0x5505, 0x7f, 0, 0},
+       {0x5080, 0x08, 0, 0}, {0x300e, 0x18, 0, 0}, {0x4610, 0x00, 0, 0},
+       {0x471d, 0x05, 0, 0}, {0x4708, 0x06, 0, 0}, {0x3808, 0x02, 0, 0},
+       {0x3809, 0x80, 0, 0}, {0x380a, 0x01, 0, 0}, {0x380b, 0xe0, 0, 0},
+       {0x380e, 0x07, 0, 0}, {0x380f, 0xd0, 0, 0}, {0x501f, 0x00, 0, 0},
+       {0x5000, 0x4f, 0, 0}, {0x4300, 0x30, 0, 0}, {0x3503, 0x07, 0, 0},
+       {0x3501, 0x73, 0, 0}, {0x3502, 0x80, 0, 0}, {0x350b, 0x00, 0, 0},
+       {0x3503, 0x07, 0, 0}, {0x3824, 0x11, 0, 0}, {0x3825, 0xb0, 0, 0},
+       {0x3501, 0x1e, 0, 0}, {0x3502, 0x80, 0, 0}, {0x350b, 0x7f, 0, 0},
+       {0x380c, 0x07, 0, 0}, {0x380d, 0x2a, 0, 0}, {0x380e, 0x03, 0, 0},
+       {0x380f, 0xe8, 0, 0}, {0x3a0d, 0x04, 0, 0}, {0x3a0e, 0x03, 0, 0},
+       {0x3818, 0xc1, 0, 0}, {0x3705, 0xdb, 0, 0}, {0x370a, 0x81, 0, 0},
+       {0x3801, 0x80, 0, 0}, {0x3621, 0xc7, 0, 0}, {0x3801, 0x50, 0, 0},
+       {0x3803, 0x08, 0, 0}, {0x3827, 0x08, 0, 0}, {0x3810, 0x80, 0, 0},
+       {0x3804, 0x05, 0, 0}, {0x3805, 0x00, 0, 0}, {0x5682, 0x05, 0, 0},
+       {0x5683, 0x00, 0, 0}, {0x3806, 0x03, 0, 0}, {0x3807, 0xc0, 0, 0},
+       {0x5686, 0x03, 0, 0}, {0x5687, 0xbc, 0, 0}, {0x3a00, 0x78, 0, 0},
+       {0x3a1a, 0x05, 0, 0}, {0x3a13, 0x30, 0, 0}, {0x3a18, 0x00, 0, 0},
+       {0x3a19, 0x7c, 0, 0}, {0x3a08, 0x12, 0, 0}, {0x3a09, 0xc0, 0, 0},
+       {0x3a0a, 0x0f, 0, 0}, {0x3a0b, 0xa0, 0, 0}, {0x350c, 0x07, 0, 0},
+       {0x350d, 0xd0, 0, 0}, {0x3500, 0x00, 0, 0}, {0x3501, 0x00, 0, 0},
+       {0x3502, 0x00, 0, 0}, {0x350a, 0x00, 0, 0}, {0x350b, 0x00, 0, 0},
+       {0x3503, 0x00, 0, 0}, {0x528a, 0x02, 0, 0}, {0x528b, 0x04, 0, 0},
+       {0x528c, 0x08, 0, 0}, {0x528d, 0x08, 0, 0}, {0x528e, 0x08, 0, 0},
+       {0x528f, 0x10, 0, 0}, {0x5290, 0x10, 0, 0}, {0x5292, 0x00, 0, 0},
+       {0x5293, 0x02, 0, 0}, {0x5294, 0x00, 0, 0}, {0x5295, 0x02, 0, 0},
+       {0x5296, 0x00, 0, 0}, {0x5297, 0x02, 0, 0}, {0x5298, 0x00, 0, 0},
+       {0x5299, 0x02, 0, 0}, {0x529a, 0x00, 0, 0}, {0x529b, 0x02, 0, 0},
+       {0x529c, 0x00, 0, 0}, {0x529d, 0x02, 0, 0}, {0x529e, 0x00, 0, 0},
+       {0x529f, 0x02, 0, 0}, {0x3a0f, 0x3c, 0, 0}, {0x3a10, 0x30, 0, 0},
+       {0x3a1b, 0x3c, 0, 0}, {0x3a1e, 0x30, 0, 0}, {0x3a11, 0x70, 0, 0},
+       {0x3a1f, 0x10, 0, 0}, {0x3030, 0x2b, 0, 0}, {0x3a02, 0x00, 0, 0},
+       {0x3a03, 0x7d, 0, 0}, {0x3a04, 0x00, 0, 0}, {0x3a14, 0x00, 0, 0},
+       {0x3a15, 0x7d, 0, 0}, {0x3a16, 0x00, 0, 0}, {0x3a00, 0x78, 0, 0},
+       {0x3a08, 0x12, 0, 0}, {0x3a09, 0xc0, 0, 0}, {0x3a0a, 0x0f, 0, 0},
+       {0x3a0b, 0xa0, 0, 0}, {0x3a0d, 0x04, 0, 0}, {0x3a0e, 0x03, 0, 0},
+       {0x5193, 0x70, 0, 0}, {0x589b, 0x04, 0, 0}, {0x589a, 0xc5, 0, 0},
+       {0x401e, 0x20, 0, 0}, {0x4001, 0x42, 0, 0}, {0x401c, 0x04, 0, 0},
+       {0x528a, 0x01, 0, 0}, {0x528b, 0x04, 0, 0}, {0x528c, 0x08, 0, 0},
+       {0x528d, 0x10, 0, 0}, {0x528e, 0x20, 0, 0}, {0x528f, 0x28, 0, 0},
+       {0x5290, 0x30, 0, 0}, {0x5292, 0x00, 0, 0}, {0x5293, 0x01, 0, 0},
+       {0x5294, 0x00, 0, 0}, {0x5295, 0x04, 0, 0}, {0x5296, 0x00, 0, 0},
+       {0x5297, 0x08, 0, 0}, {0x5298, 0x00, 0, 0}, {0x5299, 0x10, 0, 0},
+       {0x529a, 0x00, 0, 0}, {0x529b, 0x20, 0, 0}, {0x529c, 0x00, 0, 0},
+       {0x529d, 0x28, 0, 0}, {0x529e, 0x00, 0, 0}, {0x529f, 0x30, 0, 0},
+       {0x5282, 0x00, 0, 0}, {0x5300, 0x00, 0, 0}, {0x5301, 0x20, 0, 0},
+       {0x5302, 0x00, 0, 0}, {0x5303, 0x7c, 0, 0}, {0x530c, 0x00, 0, 0},
+       {0x530d, 0x0c, 0, 0}, {0x530e, 0x20, 0, 0}, {0x530f, 0x80, 0, 0},
+       {0x5310, 0x20, 0, 0}, {0x5311, 0x80, 0, 0}, {0x5308, 0x20, 0, 0},
+       {0x5309, 0x40, 0, 0}, {0x5304, 0x00, 0, 0}, {0x5305, 0x30, 0, 0},
+       {0x5306, 0x00, 0, 0}, {0x5307, 0x80, 0, 0}, {0x5314, 0x08, 0, 0},
+       {0x5315, 0x20, 0, 0}, {0x5319, 0x30, 0, 0}, {0x5316, 0x10, 0, 0},
+       {0x5317, 0x00, 0, 0}, {0x5318, 0x02, 0, 0}, {0x5380, 0x01, 0, 0},
+       {0x5381, 0x00, 0, 0}, {0x5382, 0x00, 0, 0}, {0x5383, 0x4e, 0, 0},
+       {0x5384, 0x00, 0, 0}, {0x5385, 0x0f, 0, 0}, {0x5386, 0x00, 0, 0},
+       {0x5387, 0x00, 0, 0}, {0x5388, 0x01, 0, 0}, {0x5389, 0x15, 0, 0},
+       {0x538a, 0x00, 0, 0}, {0x538b, 0x31, 0, 0}, {0x538c, 0x00, 0, 0},
+       {0x538d, 0x00, 0, 0}, {0x538e, 0x00, 0, 0}, {0x538f, 0x0f, 0, 0},
+       {0x5390, 0x00, 0, 0}, {0x5391, 0xab, 0, 0}, {0x5392, 0x00, 0, 0},
+       {0x5393, 0xa2, 0, 0}, {0x5394, 0x08, 0, 0}, {0x5480, 0x14, 0, 0},
+       {0x5481, 0x21, 0, 0}, {0x5482, 0x36, 0, 0}, {0x5483, 0x57, 0, 0},
+       {0x5484, 0x65, 0, 0}, {0x5485, 0x71, 0, 0}, {0x5486, 0x7d, 0, 0},
+       {0x5487, 0x87, 0, 0}, {0x5488, 0x91, 0, 0}, {0x5489, 0x9a, 0, 0},
+       {0x548a, 0xaa, 0, 0}, {0x548b, 0xb8, 0, 0}, {0x548c, 0xcd, 0, 0},
+       {0x548d, 0xdd, 0, 0}, {0x548e, 0xea, 0, 0}, {0x548f, 0x1d, 0, 0},
+       {0x5490, 0x05, 0, 0}, {0x5491, 0x00, 0, 0}, {0x5492, 0x04, 0, 0},
+       {0x5493, 0x20, 0, 0}, {0x5494, 0x03, 0, 0}, {0x5495, 0x60, 0, 0},
+       {0x5496, 0x02, 0, 0}, {0x5497, 0xb8, 0, 0}, {0x5498, 0x02, 0, 0},
+       {0x5499, 0x86, 0, 0}, {0x549a, 0x02, 0, 0}, {0x549b, 0x5b, 0, 0},
+       {0x549c, 0x02, 0, 0}, {0x549d, 0x3b, 0, 0}, {0x549e, 0x02, 0, 0},
+       {0x549f, 0x1c, 0, 0}, {0x54a0, 0x02, 0, 0}, {0x54a1, 0x04, 0, 0},
+       {0x54a2, 0x01, 0, 0}, {0x54a3, 0xed, 0, 0}, {0x54a4, 0x01, 0, 0},
+       {0x54a5, 0xc5, 0, 0}, {0x54a6, 0x01, 0, 0}, {0x54a7, 0xa5, 0, 0},
+       {0x54a8, 0x01, 0, 0}, {0x54a9, 0x6c, 0, 0}, {0x54aa, 0x01, 0, 0},
+       {0x54ab, 0x41, 0, 0}, {0x54ac, 0x01, 0, 0}, {0x54ad, 0x20, 0, 0},
+       {0x54ae, 0x00, 0, 0}, {0x54af, 0x16, 0, 0}, {0x54b0, 0x01, 0, 0},
+       {0x54b1, 0x20, 0, 0}, {0x54b2, 0x00, 0, 0}, {0x54b3, 0x10, 0, 0},
+       {0x54b4, 0x00, 0, 0}, {0x54b5, 0xf0, 0, 0}, {0x54b6, 0x00, 0, 0},
+       {0x54b7, 0xdf, 0, 0}, {0x5402, 0x3f, 0, 0}, {0x5403, 0x00, 0, 0},
+       {0x3406, 0x00, 0, 0}, {0x5180, 0xff, 0, 0}, {0x5181, 0x52, 0, 0},
+       {0x5182, 0x11, 0, 0}, {0x5183, 0x14, 0, 0}, {0x5184, 0x25, 0, 0},
+       {0x5185, 0x24, 0, 0}, {0x5186, 0x06, 0, 0}, {0x5187, 0x08, 0, 0},
+       {0x5188, 0x08, 0, 0}, {0x5189, 0x7c, 0, 0}, {0x518a, 0x60, 0, 0},
+       {0x518b, 0xb2, 0, 0}, {0x518c, 0xb2, 0, 0}, {0x518d, 0x44, 0, 0},
+       {0x518e, 0x3d, 0, 0}, {0x518f, 0x58, 0, 0}, {0x5190, 0x46, 0, 0},
+       {0x5191, 0xf8, 0, 0}, {0x5192, 0x04, 0, 0}, {0x5193, 0x70, 0, 0},
+       {0x5194, 0xf0, 0, 0}, {0x5195, 0xf0, 0, 0}, {0x5196, 0x03, 0, 0},
+       {0x5197, 0x01, 0, 0}, {0x5198, 0x04, 0, 0}, {0x5199, 0x12, 0, 0},
+       {0x519a, 0x04, 0, 0}, {0x519b, 0x00, 0, 0}, {0x519c, 0x06, 0, 0},
+       {0x519d, 0x82, 0, 0}, {0x519e, 0x00, 0, 0}, {0x5025, 0x80, 0, 0},
+       {0x3a0f, 0x38, 0, 0}, {0x3a10, 0x30, 0, 0}, {0x3a1b, 0x3a, 0, 0},
+       {0x3a1e, 0x2e, 0, 0}, {0x3a11, 0x60, 0, 0}, {0x3a1f, 0x10, 0, 0},
+       {0x5688, 0xa6, 0, 0}, {0x5689, 0x6a, 0, 0}, {0x568a, 0xea, 0, 0},
+       {0x568b, 0xae, 0, 0}, {0x568c, 0xa6, 0, 0}, {0x568d, 0x6a, 0, 0},
+       {0x568e, 0x62, 0, 0}, {0x568f, 0x26, 0, 0}, {0x5583, 0x40, 0, 0},
+       {0x5584, 0x40, 0, 0}, {0x5580, 0x02, 0, 0}, {0x5000, 0xcf, 0, 0},
+       {0x5800, 0x27, 0, 0}, {0x5801, 0x19, 0, 0}, {0x5802, 0x12, 0, 0},
+       {0x5803, 0x0f, 0, 0}, {0x5804, 0x10, 0, 0}, {0x5805, 0x15, 0, 0},
+       {0x5806, 0x1e, 0, 0}, {0x5807, 0x2f, 0, 0}, {0x5808, 0x15, 0, 0},
+       {0x5809, 0x0d, 0, 0}, {0x580a, 0x0a, 0, 0}, {0x580b, 0x09, 0, 0},
+       {0x580c, 0x0a, 0, 0}, {0x580d, 0x0c, 0, 0}, {0x580e, 0x12, 0, 0},
+       {0x580f, 0x19, 0, 0}, {0x5810, 0x0b, 0, 0}, {0x5811, 0x07, 0, 0},
+       {0x5812, 0x04, 0, 0}, {0x5813, 0x03, 0, 0}, {0x5814, 0x03, 0, 0},
+       {0x5815, 0x06, 0, 0}, {0x5816, 0x0a, 0, 0}, {0x5817, 0x0f, 0, 0},
+       {0x5818, 0x0a, 0, 0}, {0x5819, 0x05, 0, 0}, {0x581a, 0x01, 0, 0},
+       {0x581b, 0x00, 0, 0}, {0x581c, 0x00, 0, 0}, {0x581d, 0x03, 0, 0},
+       {0x581e, 0x08, 0, 0}, {0x581f, 0x0c, 0, 0}, {0x5820, 0x0a, 0, 0},
+       {0x5821, 0x05, 0, 0}, {0x5822, 0x01, 0, 0}, {0x5823, 0x00, 0, 0},
+       {0x5824, 0x00, 0, 0}, {0x5825, 0x03, 0, 0}, {0x5826, 0x08, 0, 0},
+       {0x5827, 0x0c, 0, 0}, {0x5828, 0x0e, 0, 0}, {0x5829, 0x08, 0, 0},
+       {0x582a, 0x06, 0, 0}, {0x582b, 0x04, 0, 0}, {0x582c, 0x05, 0, 0},
+       {0x582d, 0x07, 0, 0}, {0x582e, 0x0b, 0, 0}, {0x582f, 0x12, 0, 0},
+       {0x5830, 0x18, 0, 0}, {0x5831, 0x10, 0, 0}, {0x5832, 0x0c, 0, 0},
+       {0x5833, 0x0a, 0, 0}, {0x5834, 0x0b, 0, 0}, {0x5835, 0x0e, 0, 0},
+       {0x5836, 0x15, 0, 0}, {0x5837, 0x19, 0, 0}, {0x5838, 0x32, 0, 0},
+       {0x5839, 0x1f, 0, 0}, {0x583a, 0x18, 0, 0}, {0x583b, 0x16, 0, 0},
+       {0x583c, 0x17, 0, 0}, {0x583d, 0x1e, 0, 0}, {0x583e, 0x26, 0, 0},
+       {0x583f, 0x53, 0, 0}, {0x5840, 0x10, 0, 0}, {0x5841, 0x0f, 0, 0},
+       {0x5842, 0x0d, 0, 0}, {0x5843, 0x0c, 0, 0}, {0x5844, 0x0e, 0, 0},
+       {0x5845, 0x09, 0, 0}, {0x5846, 0x11, 0, 0}, {0x5847, 0x10, 0, 0},
+       {0x5848, 0x10, 0, 0}, {0x5849, 0x10, 0, 0}, {0x584a, 0x10, 0, 0},
+       {0x584b, 0x0e, 0, 0}, {0x584c, 0x10, 0, 0}, {0x584d, 0x10, 0, 0},
+       {0x584e, 0x11, 0, 0}, {0x584f, 0x10, 0, 0}, {0x5850, 0x0f, 0, 0},
+       {0x5851, 0x0c, 0, 0}, {0x5852, 0x0f, 0, 0}, {0x5853, 0x10, 0, 0},
+       {0x5854, 0x10, 0, 0}, {0x5855, 0x0f, 0, 0}, {0x5856, 0x0e, 0, 0},
+       {0x5857, 0x0b, 0, 0}, {0x5858, 0x10, 0, 0}, {0x5859, 0x0d, 0, 0},
+       {0x585a, 0x0d, 0, 0}, {0x585b, 0x0c, 0, 0}, {0x585c, 0x0c, 0, 0},
+       {0x585d, 0x0c, 0, 0}, {0x585e, 0x0b, 0, 0}, {0x585f, 0x0c, 0, 0},
+       {0x5860, 0x0c, 0, 0}, {0x5861, 0x0c, 0, 0}, {0x5862, 0x0d, 0, 0},
+       {0x5863, 0x08, 0, 0}, {0x5864, 0x11, 0, 0}, {0x5865, 0x18, 0, 0},
+       {0x5866, 0x18, 0, 0}, {0x5867, 0x19, 0, 0}, {0x5868, 0x17, 0, 0},
+       {0x5869, 0x19, 0, 0}, {0x586a, 0x16, 0, 0}, {0x586b, 0x13, 0, 0},
+       {0x586c, 0x13, 0, 0}, {0x586d, 0x12, 0, 0}, {0x586e, 0x13, 0, 0},
+       {0x586f, 0x16, 0, 0}, {0x5870, 0x14, 0, 0}, {0x5871, 0x12, 0, 0},
+       {0x5872, 0x10, 0, 0}, {0x5873, 0x11, 0, 0}, {0x5874, 0x11, 0, 0},
+       {0x5875, 0x16, 0, 0}, {0x5876, 0x14, 0, 0}, {0x5877, 0x11, 0, 0},
+       {0x5878, 0x10, 0, 0}, {0x5879, 0x0f, 0, 0}, {0x587a, 0x10, 0, 0},
+       {0x587b, 0x14, 0, 0}, {0x587c, 0x13, 0, 0}, {0x587d, 0x12, 0, 0},
+       {0x587e, 0x11, 0, 0}, {0x587f, 0x11, 0, 0}, {0x5880, 0x12, 0, 0},
+       {0x5881, 0x15, 0, 0}, {0x5882, 0x14, 0, 0}, {0x5883, 0x15, 0, 0},
+       {0x5884, 0x15, 0, 0}, {0x5885, 0x15, 0, 0}, {0x5886, 0x13, 0, 0},
+       {0x5887, 0x17, 0, 0}, {0x3710, 0x10, 0, 0}, {0x3632, 0x51, 0, 0},
+       {0x3702, 0x10, 0, 0}, {0x3703, 0xb2, 0, 0}, {0x3704, 0x18, 0, 0},
+       {0x370b, 0x40, 0, 0}, {0x370d, 0x03, 0, 0}, {0x3631, 0x01, 0, 0},
+       {0x3632, 0x52, 0, 0}, {0x3606, 0x24, 0, 0}, {0x3620, 0x96, 0, 0},
+       {0x5785, 0x07, 0, 0}, {0x3a13, 0x30, 0, 0}, {0x3600, 0x52, 0, 0},
+       {0x3604, 0x48, 0, 0}, {0x3606, 0x1b, 0, 0}, {0x370d, 0x0b, 0, 0},
+       {0x370f, 0xc0, 0, 0}, {0x3709, 0x01, 0, 0}, {0x3823, 0x00, 0, 0},
+       {0x5007, 0x00, 0, 0}, {0x5009, 0x00, 0, 0}, {0x5011, 0x00, 0, 0},
+       {0x5013, 0x00, 0, 0}, {0x519e, 0x00, 0, 0}, {0x5086, 0x00, 0, 0},
+       {0x5087, 0x00, 0, 0}, {0x5088, 0x00, 0, 0}, {0x5089, 0x00, 0, 0},
+       {0x302b, 0x00, 0, 0}, {0x3621, 0x87, 0, 0}, {0x3a00, 0x78, 0, 0},
+};
+
+static struct reg_value ov5642_setting_15fps_VGA_640_480[] = {
+       {0x3103, 0x93, 0, 0}, {0x3008, 0x82, 0, 0}, {0x3017, 0x7f, 0, 0},
+       {0x3018, 0xfc, 0, 0}, {0x3615, 0xf0, 0, 0}, {0x3000, 0x00, 0, 0},
+       {0x3001, 0x00, 0, 0}, {0x3002, 0x5c, 0, 0}, {0x3003, 0x00, 0, 0},
+       {0x3004, 0xff, 0, 0}, {0x3005, 0xff, 0, 0}, {0x3006, 0x43, 0, 0},
+       {0x3007, 0x37, 0, 0}, {0x3011, 0x09, 0, 0}, {0x3012, 0x02, 0, 0},
+       {0x3010, 0x00, 0, 0}, {0x460c, 0x20, 0, 0}, {0x3815, 0x04, 0, 0},
+       {0x370c, 0xa0, 0, 0}, {0x3602, 0xfc, 0, 0}, {0x3612, 0xff, 0, 0},
+       {0x3634, 0xc0, 0, 0}, {0x3613, 0x00, 0, 0}, {0x3605, 0x7c, 0, 0},
+       {0x3621, 0x09, 0, 0}, {0x3622, 0x60, 0, 0}, {0x3604, 0x40, 0, 0},
+       {0x3603, 0xa7, 0, 0}, {0x3603, 0x27, 0, 0}, {0x4000, 0x21, 0, 0},
+       {0x401d, 0x22, 0, 0}, {0x3600, 0x54, 0, 0}, {0x3605, 0x04, 0, 0},
+       {0x3606, 0x3f, 0, 0}, {0x3c01, 0x80, 0, 0}, {0x5000, 0x4f, 0, 0},
+       {0x5020, 0x04, 0, 0}, {0x5181, 0x79, 0, 0}, {0x5182, 0x00, 0, 0},
+       {0x5185, 0x22, 0, 0}, {0x5197, 0x01, 0, 0}, {0x5001, 0xff, 0, 0},
+       {0x5500, 0x0a, 0, 0}, {0x5504, 0x00, 0, 0}, {0x5505, 0x7f, 0, 0},
+       {0x5080, 0x08, 0, 0}, {0x300e, 0x18, 0, 0}, {0x4610, 0x00, 0, 0},
+       {0x471d, 0x05, 0, 0}, {0x4708, 0x06, 0, 0}, {0x3808, 0x02, 0, 0},
+       {0x3809, 0x80, 0, 0}, {0x380a, 0x01, 0, 0}, {0x380b, 0xe0, 0, 0},
+       {0x380e, 0x07, 0, 0}, {0x380f, 0xd0, 0, 0}, {0x501f, 0x00, 0, 0},
+       {0x5000, 0x4f, 0, 0}, {0x4300, 0x30, 0, 0}, {0x3503, 0x07, 0, 0},
+       {0x3501, 0x73, 0, 0}, {0x3502, 0x80, 0, 0}, {0x350b, 0x00, 0, 0},
+       {0x3503, 0x07, 0, 0}, {0x3824, 0x11, 0, 0}, {0x3825, 0xb0, 0, 0},
+       {0x3501, 0x1e, 0, 0}, {0x3502, 0x80, 0, 0}, {0x350b, 0x7f, 0, 0},
+       {0x380c, 0x07, 0, 0}, {0x380d, 0x2a, 0, 0}, {0x380e, 0x07, 0, 0},
+       {0x380f, 0xd0, 0, 0}, {0x3a0d, 0x04, 0, 0}, {0x3a0e, 0x03, 0, 0},
+       {0x3818, 0xc1, 0, 0}, {0x3705, 0xdb, 0, 0}, {0x370a, 0x81, 0, 0},
+       {0x3801, 0x80, 0, 0}, {0x3621, 0xc7, 0, 0}, {0x3801, 0x50, 0, 0},
+       {0x3803, 0x08, 0, 0}, {0x3827, 0x08, 0, 0}, {0x3810, 0x80, 0, 0},
+       {0x3804, 0x05, 0, 0}, {0x3805, 0x00, 0, 0}, {0x5682, 0x05, 0, 0},
+       {0x5683, 0x00, 0, 0}, {0x3806, 0x03, 0, 0}, {0x3807, 0xc0, 0, 0},
+       {0x5686, 0x03, 0, 0}, {0x5687, 0xbc, 0, 0}, {0x3a00, 0x78, 0, 0},
+       {0x3a1a, 0x05, 0, 0}, {0x3a13, 0x30, 0, 0}, {0x3a18, 0x00, 0, 0},
+       {0x3a19, 0x7c, 0, 0}, {0x3a08, 0x12, 0, 0}, {0x3a09, 0xc0, 0, 0},
+       {0x3a0a, 0x0f, 0, 0}, {0x3a0b, 0xa0, 0, 0}, {0x350c, 0x07, 0, 0},
+       {0x350d, 0xd0, 0, 0}, {0x3500, 0x00, 0, 0}, {0x3501, 0x00, 0, 0},
+       {0x3502, 0x00, 0, 0}, {0x350a, 0x00, 0, 0}, {0x350b, 0x00, 0, 0},
+       {0x3503, 0x00, 0, 0}, {0x528a, 0x02, 0, 0}, {0x528b, 0x04, 0, 0},
+       {0x528c, 0x08, 0, 0}, {0x528d, 0x08, 0, 0}, {0x528e, 0x08, 0, 0},
+       {0x528f, 0x10, 0, 0}, {0x5290, 0x10, 0, 0}, {0x5292, 0x00, 0, 0},
+       {0x5293, 0x02, 0, 0}, {0x5294, 0x00, 0, 0}, {0x5295, 0x02, 0, 0},
+       {0x5296, 0x00, 0, 0}, {0x5297, 0x02, 0, 0}, {0x5298, 0x00, 0, 0},
+       {0x5299, 0x02, 0, 0}, {0x529a, 0x00, 0, 0}, {0x529b, 0x02, 0, 0},
+       {0x529c, 0x00, 0, 0}, {0x529d, 0x02, 0, 0}, {0x529e, 0x00, 0, 0},
+       {0x529f, 0x02, 0, 0}, {0x3a0f, 0x3c, 0, 0}, {0x3a10, 0x30, 0, 0},
+       {0x3a1b, 0x3c, 0, 0}, {0x3a1e, 0x30, 0, 0}, {0x3a11, 0x70, 0, 0},
+       {0x3a1f, 0x10, 0, 0}, {0x3030, 0x2b, 0, 0}, {0x3a02, 0x00, 0, 0},
+       {0x3a03, 0x7d, 0, 0}, {0x3a04, 0x00, 0, 0}, {0x3a14, 0x00, 0, 0},
+       {0x3a15, 0x7d, 0, 0}, {0x3a16, 0x00, 0, 0}, {0x3a00, 0x78, 0, 0},
+       {0x3a08, 0x12, 0, 0}, {0x3a09, 0xc0, 0, 0}, {0x3a0a, 0x0f, 0, 0},
+       {0x3a0b, 0xa0, 0, 0}, {0x3a0d, 0x04, 0, 0}, {0x3a0e, 0x03, 0, 0},
+       {0x5193, 0x70, 0, 0}, {0x589b, 0x04, 0, 0}, {0x589a, 0xc5, 0, 0},
+       {0x401e, 0x20, 0, 0}, {0x4001, 0x42, 0, 0}, {0x401c, 0x04, 0, 0},
+       {0x528a, 0x01, 0, 0}, {0x528b, 0x04, 0, 0}, {0x528c, 0x08, 0, 0},
+       {0x528d, 0x10, 0, 0}, {0x528e, 0x20, 0, 0}, {0x528f, 0x28, 0, 0},
+       {0x5290, 0x30, 0, 0}, {0x5292, 0x00, 0, 0}, {0x5293, 0x01, 0, 0},
+       {0x5294, 0x00, 0, 0}, {0x5295, 0x04, 0, 0}, {0x5296, 0x00, 0, 0},
+       {0x5297, 0x08, 0, 0}, {0x5298, 0x00, 0, 0}, {0x5299, 0x10, 0, 0},
+       {0x529a, 0x00, 0, 0}, {0x529b, 0x20, 0, 0}, {0x529c, 0x00, 0, 0},
+       {0x529d, 0x28, 0, 0}, {0x529e, 0x00, 0, 0}, {0x529f, 0x30, 0, 0},
+       {0x5282, 0x00, 0, 0}, {0x5300, 0x00, 0, 0}, {0x5301, 0x20, 0, 0},
+       {0x5302, 0x00, 0, 0}, {0x5303, 0x7c, 0, 0}, {0x530c, 0x00, 0, 0},
+       {0x530d, 0x0c, 0, 0}, {0x530e, 0x20, 0, 0}, {0x530f, 0x80, 0, 0},
+       {0x5310, 0x20, 0, 0}, {0x5311, 0x80, 0, 0}, {0x5308, 0x20, 0, 0},
+       {0x5309, 0x40, 0, 0}, {0x5304, 0x00, 0, 0}, {0x5305, 0x30, 0, 0},
+       {0x5306, 0x00, 0, 0}, {0x5307, 0x80, 0, 0}, {0x5314, 0x08, 0, 0},
+       {0x5315, 0x20, 0, 0}, {0x5319, 0x30, 0, 0}, {0x5316, 0x10, 0, 0},
+       {0x5317, 0x00, 0, 0}, {0x5318, 0x02, 0, 0}, {0x5380, 0x01, 0, 0},
+       {0x5381, 0x00, 0, 0}, {0x5382, 0x00, 0, 0}, {0x5383, 0x4e, 0, 0},
+       {0x5384, 0x00, 0, 0}, {0x5385, 0x0f, 0, 0}, {0x5386, 0x00, 0, 0},
+       {0x5387, 0x00, 0, 0}, {0x5388, 0x01, 0, 0}, {0x5389, 0x15, 0, 0},
+       {0x538a, 0x00, 0, 0}, {0x538b, 0x31, 0, 0}, {0x538c, 0x00, 0, 0},
+       {0x538d, 0x00, 0, 0}, {0x538e, 0x00, 0, 0}, {0x538f, 0x0f, 0, 0},
+       {0x5390, 0x00, 0, 0}, {0x5391, 0xab, 0, 0}, {0x5392, 0x00, 0, 0},
+       {0x5393, 0xa2, 0, 0}, {0x5394, 0x08, 0, 0}, {0x5480, 0x14, 0, 0},
+       {0x5481, 0x21, 0, 0}, {0x5482, 0x36, 0, 0}, {0x5483, 0x57, 0, 0},
+       {0x5484, 0x65, 0, 0}, {0x5485, 0x71, 0, 0}, {0x5486, 0x7d, 0, 0},
+       {0x5487, 0x87, 0, 0}, {0x5488, 0x91, 0, 0}, {0x5489, 0x9a, 0, 0},
+       {0x548a, 0xaa, 0, 0}, {0x548b, 0xb8, 0, 0}, {0x548c, 0xcd, 0, 0},
+       {0x548d, 0xdd, 0, 0}, {0x548e, 0xea, 0, 0}, {0x548f, 0x1d, 0, 0},
+       {0x5490, 0x05, 0, 0}, {0x5491, 0x00, 0, 0}, {0x5492, 0x04, 0, 0},
+       {0x5493, 0x20, 0, 0}, {0x5494, 0x03, 0, 0}, {0x5495, 0x60, 0, 0},
+       {0x5496, 0x02, 0, 0}, {0x5497, 0xb8, 0, 0}, {0x5498, 0x02, 0, 0},
+       {0x5499, 0x86, 0, 0}, {0x549a, 0x02, 0, 0}, {0x549b, 0x5b, 0, 0},
+       {0x549c, 0x02, 0, 0}, {0x549d, 0x3b, 0, 0}, {0x549e, 0x02, 0, 0},
+       {0x549f, 0x1c, 0, 0}, {0x54a0, 0x02, 0, 0}, {0x54a1, 0x04, 0, 0},
+       {0x54a2, 0x01, 0, 0}, {0x54a3, 0xed, 0, 0}, {0x54a4, 0x01, 0, 0},
+       {0x54a5, 0xc5, 0, 0}, {0x54a6, 0x01, 0, 0}, {0x54a7, 0xa5, 0, 0},
+       {0x54a8, 0x01, 0, 0}, {0x54a9, 0x6c, 0, 0}, {0x54aa, 0x01, 0, 0},
+       {0x54ab, 0x41, 0, 0}, {0x54ac, 0x01, 0, 0}, {0x54ad, 0x20, 0, 0},
+       {0x54ae, 0x00, 0, 0}, {0x54af, 0x16, 0, 0}, {0x54b0, 0x01, 0, 0},
+       {0x54b1, 0x20, 0, 0}, {0x54b2, 0x00, 0, 0}, {0x54b3, 0x10, 0, 0},
+       {0x54b4, 0x00, 0, 0}, {0x54b5, 0xf0, 0, 0}, {0x54b6, 0x00, 0, 0},
+       {0x54b7, 0xdf, 0, 0}, {0x5402, 0x3f, 0, 0}, {0x5403, 0x00, 0, 0},
+       {0x3406, 0x00, 0, 0}, {0x5180, 0xff, 0, 0}, {0x5181, 0x52, 0, 0},
+       {0x5182, 0x11, 0, 0}, {0x5183, 0x14, 0, 0}, {0x5184, 0x25, 0, 0},
+       {0x5185, 0x24, 0, 0}, {0x5186, 0x06, 0, 0}, {0x5187, 0x08, 0, 0},
+       {0x5188, 0x08, 0, 0}, {0x5189, 0x7c, 0, 0}, {0x518a, 0x60, 0, 0},
+       {0x518b, 0xb2, 0, 0}, {0x518c, 0xb2, 0, 0}, {0x518d, 0x44, 0, 0},
+       {0x518e, 0x3d, 0, 0}, {0x518f, 0x58, 0, 0}, {0x5190, 0x46, 0, 0},
+       {0x5191, 0xf8, 0, 0}, {0x5192, 0x04, 0, 0}, {0x5193, 0x70, 0, 0},
+       {0x5194, 0xf0, 0, 0}, {0x5195, 0xf0, 0, 0}, {0x5196, 0x03, 0, 0},
+       {0x5197, 0x01, 0, 0}, {0x5198, 0x04, 0, 0}, {0x5199, 0x12, 0, 0},
+       {0x519a, 0x04, 0, 0}, {0x519b, 0x00, 0, 0}, {0x519c, 0x06, 0, 0},
+       {0x519d, 0x82, 0, 0}, {0x519e, 0x00, 0, 0}, {0x5025, 0x80, 0, 0},
+       {0x3a0f, 0x38, 0, 0}, {0x3a10, 0x30, 0, 0}, {0x3a1b, 0x3a, 0, 0},
+       {0x3a1e, 0x2e, 0, 0}, {0x3a11, 0x60, 0, 0}, {0x3a1f, 0x10, 0, 0},
+       {0x5688, 0xa6, 0, 0}, {0x5689, 0x6a, 0, 0}, {0x568a, 0xea, 0, 0},
+       {0x568b, 0xae, 0, 0}, {0x568c, 0xa6, 0, 0}, {0x568d, 0x6a, 0, 0},
+       {0x568e, 0x62, 0, 0}, {0x568f, 0x26, 0, 0}, {0x5583, 0x40, 0, 0},
+       {0x5584, 0x40, 0, 0}, {0x5580, 0x02, 0, 0}, {0x5000, 0xcf, 0, 0},
+       {0x5800, 0x27, 0, 0}, {0x5801, 0x19, 0, 0}, {0x5802, 0x12, 0, 0},
+       {0x5803, 0x0f, 0, 0}, {0x5804, 0x10, 0, 0}, {0x5805, 0x15, 0, 0},
+       {0x5806, 0x1e, 0, 0}, {0x5807, 0x2f, 0, 0}, {0x5808, 0x15, 0, 0},
+       {0x5809, 0x0d, 0, 0}, {0x580a, 0x0a, 0, 0}, {0x580b, 0x09, 0, 0},
+       {0x580c, 0x0a, 0, 0}, {0x580d, 0x0c, 0, 0}, {0x580e, 0x12, 0, 0},
+       {0x580f, 0x19, 0, 0}, {0x5810, 0x0b, 0, 0}, {0x5811, 0x07, 0, 0},
+       {0x5812, 0x04, 0, 0}, {0x5813, 0x03, 0, 0}, {0x5814, 0x03, 0, 0},
+       {0x5815, 0x06, 0, 0}, {0x5816, 0x0a, 0, 0}, {0x5817, 0x0f, 0, 0},
+       {0x5818, 0x0a, 0, 0}, {0x5819, 0x05, 0, 0}, {0x581a, 0x01, 0, 0},
+       {0x581b, 0x00, 0, 0}, {0x581c, 0x00, 0, 0}, {0x581d, 0x03, 0, 0},
+       {0x581e, 0x08, 0, 0}, {0x581f, 0x0c, 0, 0}, {0x5820, 0x0a, 0, 0},
+       {0x5821, 0x05, 0, 0}, {0x5822, 0x01, 0, 0}, {0x5823, 0x00, 0, 0},
+       {0x5824, 0x00, 0, 0}, {0x5825, 0x03, 0, 0}, {0x5826, 0x08, 0, 0},
+       {0x5827, 0x0c, 0, 0}, {0x5828, 0x0e, 0, 0}, {0x5829, 0x08, 0, 0},
+       {0x582a, 0x06, 0, 0}, {0x582b, 0x04, 0, 0}, {0x582c, 0x05, 0, 0},
+       {0x582d, 0x07, 0, 0}, {0x582e, 0x0b, 0, 0}, {0x582f, 0x12, 0, 0},
+       {0x5830, 0x18, 0, 0}, {0x5831, 0x10, 0, 0}, {0x5832, 0x0c, 0, 0},
+       {0x5833, 0x0a, 0, 0}, {0x5834, 0x0b, 0, 0}, {0x5835, 0x0e, 0, 0},
+       {0x5836, 0x15, 0, 0}, {0x5837, 0x19, 0, 0}, {0x5838, 0x32, 0, 0},
+       {0x5839, 0x1f, 0, 0}, {0x583a, 0x18, 0, 0}, {0x583b, 0x16, 0, 0},
+       {0x583c, 0x17, 0, 0}, {0x583d, 0x1e, 0, 0}, {0x583e, 0x26, 0, 0},
+       {0x583f, 0x53, 0, 0}, {0x5840, 0x10, 0, 0}, {0x5841, 0x0f, 0, 0},
+       {0x5842, 0x0d, 0, 0}, {0x5843, 0x0c, 0, 0}, {0x5844, 0x0e, 0, 0},
+       {0x5845, 0x09, 0, 0}, {0x5846, 0x11, 0, 0}, {0x5847, 0x10, 0, 0},
+       {0x5848, 0x10, 0, 0}, {0x5849, 0x10, 0, 0}, {0x584a, 0x10, 0, 0},
+       {0x584b, 0x0e, 0, 0}, {0x584c, 0x10, 0, 0}, {0x584d, 0x10, 0, 0},
+       {0x584e, 0x11, 0, 0}, {0x584f, 0x10, 0, 0}, {0x5850, 0x0f, 0, 0},
+       {0x5851, 0x0c, 0, 0}, {0x5852, 0x0f, 0, 0}, {0x5853, 0x10, 0, 0},
+       {0x5854, 0x10, 0, 0}, {0x5855, 0x0f, 0, 0}, {0x5856, 0x0e, 0, 0},
+       {0x5857, 0x0b, 0, 0}, {0x5858, 0x10, 0, 0}, {0x5859, 0x0d, 0, 0},
+       {0x585a, 0x0d, 0, 0}, {0x585b, 0x0c, 0, 0}, {0x585c, 0x0c, 0, 0},
+       {0x585d, 0x0c, 0, 0}, {0x585e, 0x0b, 0, 0}, {0x585f, 0x0c, 0, 0},
+       {0x5860, 0x0c, 0, 0}, {0x5861, 0x0c, 0, 0}, {0x5862, 0x0d, 0, 0},
+       {0x5863, 0x08, 0, 0}, {0x5864, 0x11, 0, 0}, {0x5865, 0x18, 0, 0},
+       {0x5866, 0x18, 0, 0}, {0x5867, 0x19, 0, 0}, {0x5868, 0x17, 0, 0},
+       {0x5869, 0x19, 0, 0}, {0x586a, 0x16, 0, 0}, {0x586b, 0x13, 0, 0},
+       {0x586c, 0x13, 0, 0}, {0x586d, 0x12, 0, 0}, {0x586e, 0x13, 0, 0},
+       {0x586f, 0x16, 0, 0}, {0x5870, 0x14, 0, 0}, {0x5871, 0x12, 0, 0},
+       {0x5872, 0x10, 0, 0}, {0x5873, 0x11, 0, 0}, {0x5874, 0x11, 0, 0},
+       {0x5875, 0x16, 0, 0}, {0x5876, 0x14, 0, 0}, {0x5877, 0x11, 0, 0},
+       {0x5878, 0x10, 0, 0}, {0x5879, 0x0f, 0, 0}, {0x587a, 0x10, 0, 0},
+       {0x587b, 0x14, 0, 0}, {0x587c, 0x13, 0, 0}, {0x587d, 0x12, 0, 0},
+       {0x587e, 0x11, 0, 0}, {0x587f, 0x11, 0, 0}, {0x5880, 0x12, 0, 0},
+       {0x5881, 0x15, 0, 0}, {0x5882, 0x14, 0, 0}, {0x5883, 0x15, 0, 0},
+       {0x5884, 0x15, 0, 0}, {0x5885, 0x15, 0, 0}, {0x5886, 0x13, 0, 0},
+       {0x5887, 0x17, 0, 0}, {0x3710, 0x10, 0, 0}, {0x3632, 0x51, 0, 0},
+       {0x3702, 0x10, 0, 0}, {0x3703, 0xb2, 0, 0}, {0x3704, 0x18, 0, 0},
+       {0x370b, 0x40, 0, 0}, {0x370d, 0x03, 0, 0}, {0x3631, 0x01, 0, 0},
+       {0x3632, 0x52, 0, 0}, {0x3606, 0x24, 0, 0}, {0x3620, 0x96, 0, 0},
+       {0x5785, 0x07, 0, 0}, {0x3a13, 0x30, 0, 0}, {0x3600, 0x52, 0, 0},
+       {0x3604, 0x48, 0, 0}, {0x3606, 0x1b, 0, 0}, {0x370d, 0x0b, 0, 0},
+       {0x370f, 0xc0, 0, 0}, {0x3709, 0x01, 0, 0}, {0x3823, 0x00, 0, 0},
+       {0x5007, 0x00, 0, 0}, {0x5009, 0x00, 0, 0}, {0x5011, 0x00, 0, 0},
+       {0x5013, 0x00, 0, 0}, {0x519e, 0x00, 0, 0}, {0x5086, 0x00, 0, 0},
+       {0x5087, 0x00, 0, 0}, {0x5088, 0x00, 0, 0}, {0x5089, 0x00, 0, 0},
+       {0x302b, 0x00, 0, 0}, {0x3621, 0x87, 0, 0}, {0x3a00, 0x78, 0, 0},
+};
+
+
+static struct reg_value ov5642_setting_30fps_XGA_1024_768[] = {
+       {0x3103, 0x93, 0, 0}, {0x3008, 0x82, 0, 0}, {0x3017, 0x7f, 0, 0},
+       {0x3018, 0xfc, 0, 0}, {0x3615, 0xf0, 0, 0}, {0x3000, 0x00, 0, 0},
+       {0x3001, 0x00, 0, 0}, {0x3002, 0x5c, 0, 0}, {0x3003, 0x00, 0, 0},
+       {0x3004, 0xff, 0, 0}, {0x3005, 0xff, 0, 0}, {0x3006, 0x43, 0, 0},
+       {0x3007, 0x37, 0, 0}, {0x3011, 0x09, 0, 0}, {0x3012, 0x02, 0, 0},
+       {0x3010, 0x00, 0, 0}, {0x460c, 0x20, 0, 0}, {0x3815, 0x04, 0, 0},
+       {0x370c, 0xa0, 0, 0}, {0x3602, 0xfc, 0, 0}, {0x3612, 0xff, 0, 0},
+       {0x3634, 0xc0, 0, 0}, {0x3613, 0x00, 0, 0}, {0x3605, 0x7c, 0, 0},
+       {0x3621, 0x09, 0, 0}, {0x3622, 0x60, 0, 0}, {0x3604, 0x40, 0, 0},
+       {0x3603, 0xa7, 0, 0}, {0x3603, 0x27, 0, 0}, {0x4000, 0x21, 0, 0},
+       {0x401d, 0x22, 0, 0}, {0x3600, 0x54, 0, 0}, {0x3605, 0x04, 0, 0},
+       {0x3606, 0x3f, 0, 0}, {0x3c01, 0x80, 0, 0}, {0x5000, 0x4f, 0, 0},
+       {0x5020, 0x04, 0, 0}, {0x5181, 0x79, 0, 0}, {0x5182, 0x00, 0, 0},
+       {0x5185, 0x22, 0, 0}, {0x5197, 0x01, 0, 0}, {0x5001, 0xff, 0, 0},
+       {0x5500, 0x0a, 0, 0}, {0x5504, 0x00, 0, 0}, {0x5505, 0x7f, 0, 0},
+       {0x5080, 0x08, 0, 0}, {0x300e, 0x18, 0, 0}, {0x4610, 0x00, 0, 0},
+       {0x471d, 0x05, 0, 0}, {0x4708, 0x06, 0, 0}, {0x3808, 0x02, 0, 0},
+       {0x3809, 0x80, 0, 0}, {0x380a, 0x01, 0, 0}, {0x380b, 0xe0, 0, 0},
+       {0x380e, 0x07, 0, 0}, {0x380f, 0xd0, 0, 0}, {0x501f, 0x00, 0, 0},
+       {0x5000, 0x4f, 0, 0}, {0x4300, 0x30, 0, 0}, {0x3503, 0x07, 0, 0},
+       {0x3501, 0x73, 0, 0}, {0x3502, 0x80, 0, 0}, {0x350b, 0x00, 0, 0},
+       {0x3503, 0x07, 0, 0}, {0x3824, 0x11, 0, 0}, {0x3825, 0xb0, 0, 0},
+       {0x3501, 0x1e, 0, 0}, {0x3502, 0x80, 0, 0}, {0x350b, 0x7f, 0, 0},
+       {0x380c, 0x07, 0, 0}, {0x380d, 0x2a, 0, 0}, {0x380e, 0x03, 0, 0},
+       {0x380f, 0xe8, 0, 0}, {0x3a0d, 0x04, 0, 0}, {0x3a0e, 0x03, 0, 0},
+       {0x3818, 0xc1, 0, 0}, {0x3705, 0xdb, 0, 0}, {0x370a, 0x81, 0, 0},
+       {0x3801, 0x80, 0, 0}, {0x3621, 0xc7, 0, 0}, {0x3801, 0x50, 0, 0},
+       {0x3803, 0x08, 0, 0}, {0x3827, 0x08, 0, 0}, {0x3810, 0x80, 0, 0},
+       {0x3804, 0x05, 0, 0}, {0x3805, 0x00, 0, 0}, {0x5682, 0x05, 0, 0},
+       {0x5683, 0x00, 0, 0}, {0x3806, 0x03, 0, 0}, {0x3807, 0xc0, 0, 0},
+       {0x5686, 0x03, 0, 0}, {0x5687, 0xbc, 0, 0}, {0x3a00, 0x78, 0, 0},
+       {0x3a1a, 0x05, 0, 0}, {0x3a13, 0x30, 0, 0}, {0x3a18, 0x00, 0, 0},
+       {0x3a19, 0x7c, 0, 0}, {0x3a08, 0x12, 0, 0}, {0x3a09, 0xc0, 0, 0},
+       {0x3a0a, 0x0f, 0, 0}, {0x3a0b, 0xa0, 0, 0}, {0x350c, 0x07, 0, 0},
+       {0x350d, 0xd0, 0, 0}, {0x3500, 0x00, 0, 0}, {0x3501, 0x00, 0, 0},
+       {0x3502, 0x00, 0, 0}, {0x350a, 0x00, 0, 0}, {0x350b, 0x00, 0, 0},
+       {0x3503, 0x00, 0, 0}, {0x528a, 0x02, 0, 0}, {0x528b, 0x04, 0, 0},
+       {0x528c, 0x08, 0, 0}, {0x528d, 0x08, 0, 0}, {0x528e, 0x08, 0, 0},
+       {0x528f, 0x10, 0, 0}, {0x5290, 0x10, 0, 0}, {0x5292, 0x00, 0, 0},
+       {0x5293, 0x02, 0, 0}, {0x5294, 0x00, 0, 0}, {0x5295, 0x02, 0, 0},
+       {0x5296, 0x00, 0, 0}, {0x5297, 0x02, 0, 0}, {0x5298, 0x00, 0, 0},
+       {0x5299, 0x02, 0, 0}, {0x529a, 0x00, 0, 0}, {0x529b, 0x02, 0, 0},
+       {0x529c, 0x00, 0, 0}, {0x529d, 0x02, 0, 0}, {0x529e, 0x00, 0, 0},
+       {0x529f, 0x02, 0, 0}, {0x3a0f, 0x3c, 0, 0}, {0x3a10, 0x30, 0, 0},
+       {0x3a1b, 0x3c, 0, 0}, {0x3a1e, 0x30, 0, 0}, {0x3a11, 0x70, 0, 0},
+       {0x3a1f, 0x10, 0, 0}, {0x3030, 0x2b, 0, 0}, {0x3a02, 0x00, 0, 0},
+       {0x3a03, 0x7d, 0, 0}, {0x3a04, 0x00, 0, 0}, {0x3a14, 0x00, 0, 0},
+       {0x3a15, 0x7d, 0, 0}, {0x3a16, 0x00, 0, 0}, {0x3a00, 0x78, 0, 0},
+       {0x3a08, 0x12, 0, 0}, {0x3a09, 0xc0, 0, 0}, {0x3a0a, 0x0f, 0, 0},
+       {0x3a0b, 0xa0, 0, 0}, {0x3a0d, 0x04, 0, 0}, {0x3a0e, 0x03, 0, 0},
+       {0x5193, 0x70, 0, 0}, {0x589b, 0x04, 0, 0}, {0x589a, 0xc5, 0, 0},
+       {0x401e, 0x20, 0, 0}, {0x4001, 0x42, 0, 0}, {0x401c, 0x04, 0, 0},
+       {0x528a, 0x01, 0, 0}, {0x528b, 0x04, 0, 0}, {0x528c, 0x08, 0, 0},
+       {0x528d, 0x10, 0, 0}, {0x528e, 0x20, 0, 0}, {0x528f, 0x28, 0, 0},
+       {0x5290, 0x30, 0, 0}, {0x5292, 0x00, 0, 0}, {0x5293, 0x01, 0, 0},
+       {0x5294, 0x00, 0, 0}, {0x5295, 0x04, 0, 0}, {0x5296, 0x00, 0, 0},
+       {0x5297, 0x08, 0, 0}, {0x5298, 0x00, 0, 0}, {0x5299, 0x10, 0, 0},
+       {0x529a, 0x00, 0, 0}, {0x529b, 0x20, 0, 0}, {0x529c, 0x00, 0, 0},
+       {0x529d, 0x28, 0, 0}, {0x529e, 0x00, 0, 0}, {0x529f, 0x30, 0, 0},
+       {0x5282, 0x00, 0, 0}, {0x5300, 0x00, 0, 0}, {0x5301, 0x20, 0, 0},
+       {0x5302, 0x00, 0, 0}, {0x5303, 0x7c, 0, 0}, {0x530c, 0x00, 0, 0},
+       {0x530d, 0x0c, 0, 0}, {0x530e, 0x20, 0, 0}, {0x530f, 0x80, 0, 0},
+       {0x5310, 0x20, 0, 0}, {0x5311, 0x80, 0, 0}, {0x5308, 0x20, 0, 0},
+       {0x5309, 0x40, 0, 0}, {0x5304, 0x00, 0, 0}, {0x5305, 0x30, 0, 0},
+       {0x5306, 0x00, 0, 0}, {0x5307, 0x80, 0, 0}, {0x5314, 0x08, 0, 0},
+       {0x5315, 0x20, 0, 0}, {0x5319, 0x30, 0, 0}, {0x5316, 0x10, 0, 0},
+       {0x5317, 0x00, 0, 0}, {0x5318, 0x02, 0, 0}, {0x5380, 0x01, 0, 0},
+       {0x5381, 0x00, 0, 0}, {0x5382, 0x00, 0, 0}, {0x5383, 0x4e, 0, 0},
+       {0x5384, 0x00, 0, 0}, {0x5385, 0x0f, 0, 0}, {0x5386, 0x00, 0, 0},
+       {0x5387, 0x00, 0, 0}, {0x5388, 0x01, 0, 0}, {0x5389, 0x15, 0, 0},
+       {0x538a, 0x00, 0, 0}, {0x538b, 0x31, 0, 0}, {0x538c, 0x00, 0, 0},
+       {0x538d, 0x00, 0, 0}, {0x538e, 0x00, 0, 0}, {0x538f, 0x0f, 0, 0},
+       {0x5390, 0x00, 0, 0}, {0x5391, 0xab, 0, 0}, {0x5392, 0x00, 0, 0},
+       {0x5393, 0xa2, 0, 0}, {0x5394, 0x08, 0, 0}, {0x5480, 0x14, 0, 0},
+       {0x5481, 0x21, 0, 0}, {0x5482, 0x36, 0, 0}, {0x5483, 0x57, 0, 0},
+       {0x5484, 0x65, 0, 0}, {0x5485, 0x71, 0, 0}, {0x5486, 0x7d, 0, 0},
+       {0x5487, 0x87, 0, 0}, {0x5488, 0x91, 0, 0}, {0x5489, 0x9a, 0, 0},
+       {0x548a, 0xaa, 0, 0}, {0x548b, 0xb8, 0, 0}, {0x548c, 0xcd, 0, 0},
+       {0x548d, 0xdd, 0, 0}, {0x548e, 0xea, 0, 0}, {0x548f, 0x1d, 0, 0},
+       {0x5490, 0x05, 0, 0}, {0x5491, 0x00, 0, 0}, {0x5492, 0x04, 0, 0},
+       {0x5493, 0x20, 0, 0}, {0x5494, 0x03, 0, 0}, {0x5495, 0x60, 0, 0},
+       {0x5496, 0x02, 0, 0}, {0x5497, 0xb8, 0, 0}, {0x5498, 0x02, 0, 0},
+       {0x5499, 0x86, 0, 0}, {0x549a, 0x02, 0, 0}, {0x549b, 0x5b, 0, 0},
+       {0x549c, 0x02, 0, 0}, {0x549d, 0x3b, 0, 0}, {0x549e, 0x02, 0, 0},
+       {0x549f, 0x1c, 0, 0}, {0x54a0, 0x02, 0, 0}, {0x54a1, 0x04, 0, 0},
+       {0x54a2, 0x01, 0, 0}, {0x54a3, 0xed, 0, 0}, {0x54a4, 0x01, 0, 0},
+       {0x54a5, 0xc5, 0, 0}, {0x54a6, 0x01, 0, 0}, {0x54a7, 0xa5, 0, 0},
+       {0x54a8, 0x01, 0, 0}, {0x54a9, 0x6c, 0, 0}, {0x54aa, 0x01, 0, 0},
+       {0x54ab, 0x41, 0, 0}, {0x54ac, 0x01, 0, 0}, {0x54ad, 0x20, 0, 0},
+       {0x54ae, 0x00, 0, 0}, {0x54af, 0x16, 0, 0}, {0x54b0, 0x01, 0, 0},
+       {0x54b1, 0x20, 0, 0}, {0x54b2, 0x00, 0, 0}, {0x54b3, 0x10, 0, 0},
+       {0x54b4, 0x00, 0, 0}, {0x54b5, 0xf0, 0, 0}, {0x54b6, 0x00, 0, 0},
+       {0x54b7, 0xdf, 0, 0}, {0x5402, 0x3f, 0, 0}, {0x5403, 0x00, 0, 0},
+       {0x3406, 0x00, 0, 0}, {0x5180, 0xff, 0, 0}, {0x5181, 0x52, 0, 0},
+       {0x5182, 0x11, 0, 0}, {0x5183, 0x14, 0, 0}, {0x5184, 0x25, 0, 0},
+       {0x5185, 0x24, 0, 0}, {0x5186, 0x06, 0, 0}, {0x5187, 0x08, 0, 0},
+       {0x5188, 0x08, 0, 0}, {0x5189, 0x7c, 0, 0}, {0x518a, 0x60, 0, 0},
+       {0x518b, 0xb2, 0, 0}, {0x518c, 0xb2, 0, 0}, {0x518d, 0x44, 0, 0},
+       {0x518e, 0x3d, 0, 0}, {0x518f, 0x58, 0, 0}, {0x5190, 0x46, 0, 0},
+       {0x5191, 0xf8, 0, 0}, {0x5192, 0x04, 0, 0}, {0x5193, 0x70, 0, 0},
+       {0x5194, 0xf0, 0, 0}, {0x5195, 0xf0, 0, 0}, {0x5196, 0x03, 0, 0},
+       {0x5197, 0x01, 0, 0}, {0x5198, 0x04, 0, 0}, {0x5199, 0x12, 0, 0},
+       {0x519a, 0x04, 0, 0}, {0x519b, 0x00, 0, 0}, {0x519c, 0x06, 0, 0},
+       {0x519d, 0x82, 0, 0}, {0x519e, 0x00, 0, 0}, {0x5025, 0x80, 0, 0},
+       {0x3a0f, 0x38, 0, 0}, {0x3a10, 0x30, 0, 0}, {0x3a1b, 0x3a, 0, 0},
+       {0x3a1e, 0x2e, 0, 0}, {0x3a11, 0x60, 0, 0}, {0x3a1f, 0x10, 0, 0},
+       {0x5688, 0xa6, 0, 0}, {0x5689, 0x6a, 0, 0}, {0x568a, 0xea, 0, 0},
+       {0x568b, 0xae, 0, 0}, {0x568c, 0xa6, 0, 0}, {0x568d, 0x6a, 0, 0},
+       {0x568e, 0x62, 0, 0}, {0x568f, 0x26, 0, 0}, {0x5583, 0x40, 0, 0},
+       {0x5584, 0x40, 0, 0}, {0x5580, 0x02, 0, 0}, {0x5000, 0xcf, 0, 0},
+       {0x5800, 0x27, 0, 0}, {0x5801, 0x19, 0, 0}, {0x5802, 0x12, 0, 0},
+       {0x5803, 0x0f, 0, 0}, {0x5804, 0x10, 0, 0}, {0x5805, 0x15, 0, 0},
+       {0x5806, 0x1e, 0, 0}, {0x5807, 0x2f, 0, 0}, {0x5808, 0x15, 0, 0},
+       {0x5809, 0x0d, 0, 0}, {0x580a, 0x0a, 0, 0}, {0x580b, 0x09, 0, 0},
+       {0x580c, 0x0a, 0, 0}, {0x580d, 0x0c, 0, 0}, {0x580e, 0x12, 0, 0},
+       {0x580f, 0x19, 0, 0}, {0x5810, 0x0b, 0, 0}, {0x5811, 0x07, 0, 0},
+       {0x5812, 0x04, 0, 0}, {0x5813, 0x03, 0, 0}, {0x5814, 0x03, 0, 0},
+       {0x5815, 0x06, 0, 0}, {0x5816, 0x0a, 0, 0}, {0x5817, 0x0f, 0, 0},
+       {0x5818, 0x0a, 0, 0}, {0x5819, 0x05, 0, 0}, {0x581a, 0x01, 0, 0},
+       {0x581b, 0x00, 0, 0}, {0x581c, 0x00, 0, 0}, {0x581d, 0x03, 0, 0},
+       {0x581e, 0x08, 0, 0}, {0x581f, 0x0c, 0, 0}, {0x5820, 0x0a, 0, 0},
+       {0x5821, 0x05, 0, 0}, {0x5822, 0x01, 0, 0}, {0x5823, 0x00, 0, 0},
+       {0x5824, 0x00, 0, 0}, {0x5825, 0x03, 0, 0}, {0x5826, 0x08, 0, 0},
+       {0x5827, 0x0c, 0, 0}, {0x5828, 0x0e, 0, 0}, {0x5829, 0x08, 0, 0},
+       {0x582a, 0x06, 0, 0}, {0x582b, 0x04, 0, 0}, {0x582c, 0x05, 0, 0},
+       {0x582d, 0x07, 0, 0}, {0x582e, 0x0b, 0, 0}, {0x582f, 0x12, 0, 0},
+       {0x5830, 0x18, 0, 0}, {0x5831, 0x10, 0, 0}, {0x5832, 0x0c, 0, 0},
+       {0x5833, 0x0a, 0, 0}, {0x5834, 0x0b, 0, 0}, {0x5835, 0x0e, 0, 0},
+       {0x5836, 0x15, 0, 0}, {0x5837, 0x19, 0, 0}, {0x5838, 0x32, 0, 0},
+       {0x5839, 0x1f, 0, 0}, {0x583a, 0x18, 0, 0}, {0x583b, 0x16, 0, 0},
+       {0x583c, 0x17, 0, 0}, {0x583d, 0x1e, 0, 0}, {0x583e, 0x26, 0, 0},
+       {0x583f, 0x53, 0, 0}, {0x5840, 0x10, 0, 0}, {0x5841, 0x0f, 0, 0},
+       {0x5842, 0x0d, 0, 0}, {0x5843, 0x0c, 0, 0}, {0x5844, 0x0e, 0, 0},
+       {0x5845, 0x09, 0, 0}, {0x5846, 0x11, 0, 0}, {0x5847, 0x10, 0, 0},
+       {0x5848, 0x10, 0, 0}, {0x5849, 0x10, 0, 0}, {0x584a, 0x10, 0, 0},
+       {0x584b, 0x0e, 0, 0}, {0x584c, 0x10, 0, 0}, {0x584d, 0x10, 0, 0},
+       {0x584e, 0x11, 0, 0}, {0x584f, 0x10, 0, 0}, {0x5850, 0x0f, 0, 0},
+       {0x5851, 0x0c, 0, 0}, {0x5852, 0x0f, 0, 0}, {0x5853, 0x10, 0, 0},
+       {0x5854, 0x10, 0, 0}, {0x5855, 0x0f, 0, 0}, {0x5856, 0x0e, 0, 0},
+       {0x5857, 0x0b, 0, 0}, {0x5858, 0x10, 0, 0}, {0x5859, 0x0d, 0, 0},
+       {0x585a, 0x0d, 0, 0}, {0x585b, 0x0c, 0, 0}, {0x585c, 0x0c, 0, 0},
+       {0x585d, 0x0c, 0, 0}, {0x585e, 0x0b, 0, 0}, {0x585f, 0x0c, 0, 0},
+       {0x5860, 0x0c, 0, 0}, {0x5861, 0x0c, 0, 0}, {0x5862, 0x0d, 0, 0},
+       {0x5863, 0x08, 0, 0}, {0x5864, 0x11, 0, 0}, {0x5865, 0x18, 0, 0},
+       {0x5866, 0x18, 0, 0}, {0x5867, 0x19, 0, 0}, {0x5868, 0x17, 0, 0},
+       {0x5869, 0x19, 0, 0}, {0x586a, 0x16, 0, 0}, {0x586b, 0x13, 0, 0},
+       {0x586c, 0x13, 0, 0}, {0x586d, 0x12, 0, 0}, {0x586e, 0x13, 0, 0},
+       {0x586f, 0x16, 0, 0}, {0x5870, 0x14, 0, 0}, {0x5871, 0x12, 0, 0},
+       {0x5872, 0x10, 0, 0}, {0x5873, 0x11, 0, 0}, {0x5874, 0x11, 0, 0},
+       {0x5875, 0x16, 0, 0}, {0x5876, 0x14, 0, 0}, {0x5877, 0x11, 0, 0},
+       {0x5878, 0x10, 0, 0}, {0x5879, 0x0f, 0, 0}, {0x587a, 0x10, 0, 0},
+       {0x587b, 0x14, 0, 0}, {0x587c, 0x13, 0, 0}, {0x587d, 0x12, 0, 0},
+       {0x587e, 0x11, 0, 0}, {0x587f, 0x11, 0, 0}, {0x5880, 0x12, 0, 0},
+       {0x5881, 0x15, 0, 0}, {0x5882, 0x14, 0, 0}, {0x5883, 0x15, 0, 0},
+       {0x5884, 0x15, 0, 0}, {0x5885, 0x15, 0, 0}, {0x5886, 0x13, 0, 0},
+       {0x5887, 0x17, 0, 0}, {0x3710, 0x10, 0, 0}, {0x3632, 0x51, 0, 0},
+       {0x3702, 0x10, 0, 0}, {0x3703, 0xb2, 0, 0}, {0x3704, 0x18, 0, 0},
+       {0x370b, 0x40, 0, 0}, {0x370d, 0x03, 0, 0}, {0x3631, 0x01, 0, 0},
+       {0x3632, 0x52, 0, 0}, {0x3606, 0x24, 0, 0}, {0x3620, 0x96, 0, 0},
+       {0x5785, 0x07, 0, 0}, {0x3a13, 0x30, 0, 0}, {0x3600, 0x52, 0, 0},
+       {0x3604, 0x48, 0, 0}, {0x3606, 0x1b, 0, 0}, {0x370d, 0x0b, 0, 0},
+       {0x370f, 0xc0, 0, 0}, {0x3709, 0x01, 0, 0}, {0x3823, 0x00, 0, 0},
+       {0x5007, 0x00, 0, 0}, {0x5009, 0x00, 0, 0}, {0x5011, 0x00, 0, 0},
+       {0x5013, 0x00, 0, 0}, {0x519e, 0x00, 0, 0}, {0x5086, 0x00, 0, 0},
+       {0x5087, 0x00, 0, 0}, {0x5088, 0x00, 0, 0}, {0x5089, 0x00, 0, 0},
+       {0x302b, 0x00, 0, 0}, {0x3621, 0x87, 0, 0}, {0x3a00, 0x78, 0, 0},
+       {0x3808, 0x04, 0, 0}, {0x3809, 0x00, 0, 0}, {0x380a, 0x03, 0, 0},
+       {0x380b, 0x00, 0, 0}, {0x3815, 0x02, 0, 0}, {0x302c, 0x60, 0x60, 0},
+};
+
+static struct reg_value ov5642_setting_15fps_XGA_1024_768[] = {
+       {0x3103, 0x93, 0, 0}, {0x3008, 0x82, 0, 0}, {0x3017, 0x7f, 0, 0},
+       {0x3018, 0xfc, 0, 0}, {0x3615, 0xf0, 0, 0}, {0x3000, 0x00, 0, 0},
+       {0x3001, 0x00, 0, 0}, {0x3002, 0x5c, 0, 0}, {0x3003, 0x00, 0, 0},
+       {0x3004, 0xff, 0, 0}, {0x3005, 0xff, 0, 0}, {0x3006, 0x43, 0, 0},
+       {0x3007, 0x37, 0, 0}, {0x3011, 0x09, 0, 0}, {0x3012, 0x02, 0, 0},
+       {0x3010, 0x00, 0, 0}, {0x460c, 0x20, 0, 0}, {0x3815, 0x04, 0, 0},
+       {0x370c, 0xa0, 0, 0}, {0x3602, 0xfc, 0, 0}, {0x3612, 0xff, 0, 0},
+       {0x3634, 0xc0, 0, 0}, {0x3613, 0x00, 0, 0}, {0x3605, 0x7c, 0, 0},
+       {0x3621, 0x09, 0, 0}, {0x3622, 0x60, 0, 0}, {0x3604, 0x40, 0, 0},
+       {0x3603, 0xa7, 0, 0}, {0x3603, 0x27, 0, 0}, {0x4000, 0x21, 0, 0},
+       {0x401d, 0x22, 0, 0}, {0x3600, 0x54, 0, 0}, {0x3605, 0x04, 0, 0},
+       {0x3606, 0x3f, 0, 0}, {0x3c01, 0x80, 0, 0}, {0x5000, 0x4f, 0, 0},
+       {0x5020, 0x04, 0, 0}, {0x5181, 0x79, 0, 0}, {0x5182, 0x00, 0, 0},
+       {0x5185, 0x22, 0, 0}, {0x5197, 0x01, 0, 0}, {0x5001, 0xff, 0, 0},
+       {0x5500, 0x0a, 0, 0}, {0x5504, 0x00, 0, 0}, {0x5505, 0x7f, 0, 0},
+       {0x5080, 0x08, 0, 0}, {0x300e, 0x18, 0, 0}, {0x4610, 0x00, 0, 0},
+       {0x471d, 0x05, 0, 0}, {0x4708, 0x06, 0, 0}, {0x3808, 0x02, 0, 0},
+       {0x3809, 0x80, 0, 0}, {0x380a, 0x01, 0, 0}, {0x380b, 0xe0, 0, 0},
+       {0x380e, 0x07, 0, 0}, {0x380f, 0xd0, 0, 0}, {0x501f, 0x00, 0, 0},
+       {0x5000, 0x4f, 0, 0}, {0x4300, 0x30, 0, 0}, {0x3503, 0x07, 0, 0},
+       {0x3501, 0x73, 0, 0}, {0x3502, 0x80, 0, 0}, {0x350b, 0x00, 0, 0},
+       {0x3503, 0x07, 0, 0}, {0x3824, 0x11, 0, 0}, {0x3825, 0xb0, 0, 0},
+       {0x3501, 0x1e, 0, 0}, {0x3502, 0x80, 0, 0}, {0x350b, 0x7f, 0, 0},
+       {0x380c, 0x07, 0, 0}, {0x380d, 0x2a, 0, 0}, {0x380e, 0x07, 0, 0},
+       {0x380f, 0xd0, 0, 0}, {0x3a0d, 0x04, 0, 0}, {0x3a0e, 0x03, 0, 0},
+       {0x3818, 0xc1, 0, 0}, {0x3705, 0xdb, 0, 0}, {0x370a, 0x81, 0, 0},
+       {0x3801, 0x80, 0, 0}, {0x3621, 0xc7, 0, 0}, {0x3801, 0x50, 0, 0},
+       {0x3803, 0x08, 0, 0}, {0x3827, 0x08, 0, 0}, {0x3810, 0x80, 0, 0},
+       {0x3804, 0x05, 0, 0}, {0x3805, 0x00, 0, 0}, {0x5682, 0x05, 0, 0},
+       {0x5683, 0x00, 0, 0}, {0x3806, 0x03, 0, 0}, {0x3807, 0xc0, 0, 0},
+       {0x5686, 0x03, 0, 0}, {0x5687, 0xbc, 0, 0}, {0x3a00, 0x78, 0, 0},
+       {0x3a1a, 0x05, 0, 0}, {0x3a13, 0x30, 0, 0}, {0x3a18, 0x00, 0, 0},
+       {0x3a19, 0x7c, 0, 0}, {0x3a08, 0x12, 0, 0}, {0x3a09, 0xc0, 0, 0},
+       {0x3a0a, 0x0f, 0, 0}, {0x3a0b, 0xa0, 0, 0}, {0x350c, 0x07, 0, 0},
+       {0x350d, 0xd0, 0, 0}, {0x3500, 0x00, 0, 0}, {0x3501, 0x00, 0, 0},
+       {0x3502, 0x00, 0, 0}, {0x350a, 0x00, 0, 0}, {0x350b, 0x00, 0, 0},
+       {0x3503, 0x00, 0, 0}, {0x528a, 0x02, 0, 0}, {0x528b, 0x04, 0, 0},
+       {0x528c, 0x08, 0, 0}, {0x528d, 0x08, 0, 0}, {0x528e, 0x08, 0, 0},
+       {0x528f, 0x10, 0, 0}, {0x5290, 0x10, 0, 0}, {0x5292, 0x00, 0, 0},
+       {0x5293, 0x02, 0, 0}, {0x5294, 0x00, 0, 0}, {0x5295, 0x02, 0, 0},
+       {0x5296, 0x00, 0, 0}, {0x5297, 0x02, 0, 0}, {0x5298, 0x00, 0, 0},
+       {0x5299, 0x02, 0, 0}, {0x529a, 0x00, 0, 0}, {0x529b, 0x02, 0, 0},
+       {0x529c, 0x00, 0, 0}, {0x529d, 0x02, 0, 0}, {0x529e, 0x00, 0, 0},
+       {0x529f, 0x02, 0, 0}, {0x3a0f, 0x3c, 0, 0}, {0x3a10, 0x30, 0, 0},
+       {0x3a1b, 0x3c, 0, 0}, {0x3a1e, 0x30, 0, 0}, {0x3a11, 0x70, 0, 0},
+       {0x3a1f, 0x10, 0, 0}, {0x3030, 0x2b, 0, 0}, {0x3a02, 0x00, 0, 0},
+       {0x3a03, 0x7d, 0, 0}, {0x3a04, 0x00, 0, 0}, {0x3a14, 0x00, 0, 0},
+       {0x3a15, 0x7d, 0, 0}, {0x3a16, 0x00, 0, 0}, {0x3a00, 0x78, 0, 0},
+       {0x3a08, 0x12, 0, 0}, {0x3a09, 0xc0, 0, 0}, {0x3a0a, 0x0f, 0, 0},
+       {0x3a0b, 0xa0, 0, 0}, {0x3a0d, 0x04, 0, 0}, {0x3a0e, 0x03, 0, 0},
+       {0x5193, 0x70, 0, 0}, {0x589b, 0x04, 0, 0}, {0x589a, 0xc5, 0, 0},
+       {0x401e, 0x20, 0, 0}, {0x4001, 0x42, 0, 0}, {0x401c, 0x04, 0, 0},
+       {0x528a, 0x01, 0, 0}, {0x528b, 0x04, 0, 0}, {0x528c, 0x08, 0, 0},
+       {0x528d, 0x10, 0, 0}, {0x528e, 0x20, 0, 0}, {0x528f, 0x28, 0, 0},
+       {0x5290, 0x30, 0, 0}, {0x5292, 0x00, 0, 0}, {0x5293, 0x01, 0, 0},
+       {0x5294, 0x00, 0, 0}, {0x5295, 0x04, 0, 0}, {0x5296, 0x00, 0, 0},
+       {0x5297, 0x08, 0, 0}, {0x5298, 0x00, 0, 0}, {0x5299, 0x10, 0, 0},
+       {0x529a, 0x00, 0, 0}, {0x529b, 0x20, 0, 0}, {0x529c, 0x00, 0, 0},
+       {0x529d, 0x28, 0, 0}, {0x529e, 0x00, 0, 0}, {0x529f, 0x30, 0, 0},
+       {0x5282, 0x00, 0, 0}, {0x5300, 0x00, 0, 0}, {0x5301, 0x20, 0, 0},
+       {0x5302, 0x00, 0, 0}, {0x5303, 0x7c, 0, 0}, {0x530c, 0x00, 0, 0},
+       {0x530d, 0x0c, 0, 0}, {0x530e, 0x20, 0, 0}, {0x530f, 0x80, 0, 0},
+       {0x5310, 0x20, 0, 0}, {0x5311, 0x80, 0, 0}, {0x5308, 0x20, 0, 0},
+       {0x5309, 0x40, 0, 0}, {0x5304, 0x00, 0, 0}, {0x5305, 0x30, 0, 0},
+       {0x5306, 0x00, 0, 0}, {0x5307, 0x80, 0, 0}, {0x5314, 0x08, 0, 0},
+       {0x5315, 0x20, 0, 0}, {0x5319, 0x30, 0, 0}, {0x5316, 0x10, 0, 0},
+       {0x5317, 0x00, 0, 0}, {0x5318, 0x02, 0, 0}, {0x5380, 0x01, 0, 0},
+       {0x5381, 0x00, 0, 0}, {0x5382, 0x00, 0, 0}, {0x5383, 0x4e, 0, 0},
+       {0x5384, 0x00, 0, 0}, {0x5385, 0x0f, 0, 0}, {0x5386, 0x00, 0, 0},
+       {0x5387, 0x00, 0, 0}, {0x5388, 0x01, 0, 0}, {0x5389, 0x15, 0, 0},
+       {0x538a, 0x00, 0, 0}, {0x538b, 0x31, 0, 0}, {0x538c, 0x00, 0, 0},
+       {0x538d, 0x00, 0, 0}, {0x538e, 0x00, 0, 0}, {0x538f, 0x0f, 0, 0},
+       {0x5390, 0x00, 0, 0}, {0x5391, 0xab, 0, 0}, {0x5392, 0x00, 0, 0},
+       {0x5393, 0xa2, 0, 0}, {0x5394, 0x08, 0, 0}, {0x5480, 0x14, 0, 0},
+       {0x5481, 0x21, 0, 0}, {0x5482, 0x36, 0, 0}, {0x5483, 0x57, 0, 0},
+       {0x5484, 0x65, 0, 0}, {0x5485, 0x71, 0, 0}, {0x5486, 0x7d, 0, 0},
+       {0x5487, 0x87, 0, 0}, {0x5488, 0x91, 0, 0}, {0x5489, 0x9a, 0, 0},
+       {0x548a, 0xaa, 0, 0}, {0x548b, 0xb8, 0, 0}, {0x548c, 0xcd, 0, 0},
+       {0x548d, 0xdd, 0, 0}, {0x548e, 0xea, 0, 0}, {0x548f, 0x1d, 0, 0},
+       {0x5490, 0x05, 0, 0}, {0x5491, 0x00, 0, 0}, {0x5492, 0x04, 0, 0},
+       {0x5493, 0x20, 0, 0}, {0x5494, 0x03, 0, 0}, {0x5495, 0x60, 0, 0},
+       {0x5496, 0x02, 0, 0}, {0x5497, 0xb8, 0, 0}, {0x5498, 0x02, 0, 0},
+       {0x5499, 0x86, 0, 0}, {0x549a, 0x02, 0, 0}, {0x549b, 0x5b, 0, 0},
+       {0x549c, 0x02, 0, 0}, {0x549d, 0x3b, 0, 0}, {0x549e, 0x02, 0, 0},
+       {0x549f, 0x1c, 0, 0}, {0x54a0, 0x02, 0, 0}, {0x54a1, 0x04, 0, 0},
+       {0x54a2, 0x01, 0, 0}, {0x54a3, 0xed, 0, 0}, {0x54a4, 0x01, 0, 0},
+       {0x54a5, 0xc5, 0, 0}, {0x54a6, 0x01, 0, 0}, {0x54a7, 0xa5, 0, 0},
+       {0x54a8, 0x01, 0, 0}, {0x54a9, 0x6c, 0, 0}, {0x54aa, 0x01, 0, 0},
+       {0x54ab, 0x41, 0, 0}, {0x54ac, 0x01, 0, 0}, {0x54ad, 0x20, 0, 0},
+       {0x54ae, 0x00, 0, 0}, {0x54af, 0x16, 0, 0}, {0x54b0, 0x01, 0, 0},
+       {0x54b1, 0x20, 0, 0}, {0x54b2, 0x00, 0, 0}, {0x54b3, 0x10, 0, 0},
+       {0x54b4, 0x00, 0, 0}, {0x54b5, 0xf0, 0, 0}, {0x54b6, 0x00, 0, 0},
+       {0x54b7, 0xdf, 0, 0}, {0x5402, 0x3f, 0, 0}, {0x5403, 0x00, 0, 0},
+       {0x3406, 0x00, 0, 0}, {0x5180, 0xff, 0, 0}, {0x5181, 0x52, 0, 0},
+       {0x5182, 0x11, 0, 0}, {0x5183, 0x14, 0, 0}, {0x5184, 0x25, 0, 0},
+       {0x5185, 0x24, 0, 0}, {0x5186, 0x06, 0, 0}, {0x5187, 0x08, 0, 0},
+       {0x5188, 0x08, 0, 0}, {0x5189, 0x7c, 0, 0}, {0x518a, 0x60, 0, 0},
+       {0x518b, 0xb2, 0, 0}, {0x518c, 0xb2, 0, 0}, {0x518d, 0x44, 0, 0},
+       {0x518e, 0x3d, 0, 0}, {0x518f, 0x58, 0, 0}, {0x5190, 0x46, 0, 0},
+       {0x5191, 0xf8, 0, 0}, {0x5192, 0x04, 0, 0}, {0x5193, 0x70, 0, 0},
+       {0x5194, 0xf0, 0, 0}, {0x5195, 0xf0, 0, 0}, {0x5196, 0x03, 0, 0},
+       {0x5197, 0x01, 0, 0}, {0x5198, 0x04, 0, 0}, {0x5199, 0x12, 0, 0},
+       {0x519a, 0x04, 0, 0}, {0x519b, 0x00, 0, 0}, {0x519c, 0x06, 0, 0},
+       {0x519d, 0x82, 0, 0}, {0x519e, 0x00, 0, 0}, {0x5025, 0x80, 0, 0},
+       {0x3a0f, 0x38, 0, 0}, {0x3a10, 0x30, 0, 0}, {0x3a1b, 0x3a, 0, 0},
+       {0x3a1e, 0x2e, 0, 0}, {0x3a11, 0x60, 0, 0}, {0x3a1f, 0x10, 0, 0},
+       {0x5688, 0xa6, 0, 0}, {0x5689, 0x6a, 0, 0}, {0x568a, 0xea, 0, 0},
+       {0x568b, 0xae, 0, 0}, {0x568c, 0xa6, 0, 0}, {0x568d, 0x6a, 0, 0},
+       {0x568e, 0x62, 0, 0}, {0x568f, 0x26, 0, 0}, {0x5583, 0x40, 0, 0},
+       {0x5584, 0x40, 0, 0}, {0x5580, 0x02, 0, 0}, {0x5000, 0xcf, 0, 0},
+       {0x5800, 0x27, 0, 0}, {0x5801, 0x19, 0, 0}, {0x5802, 0x12, 0, 0},
+       {0x5803, 0x0f, 0, 0}, {0x5804, 0x10, 0, 0}, {0x5805, 0x15, 0, 0},
+       {0x5806, 0x1e, 0, 0}, {0x5807, 0x2f, 0, 0}, {0x5808, 0x15, 0, 0},
+       {0x5809, 0x0d, 0, 0}, {0x580a, 0x0a, 0, 0}, {0x580b, 0x09, 0, 0},
+       {0x580c, 0x0a, 0, 0}, {0x580d, 0x0c, 0, 0}, {0x580e, 0x12, 0, 0},
+       {0x580f, 0x19, 0, 0}, {0x5810, 0x0b, 0, 0}, {0x5811, 0x07, 0, 0},
+       {0x5812, 0x04, 0, 0}, {0x5813, 0x03, 0, 0}, {0x5814, 0x03, 0, 0},
+       {0x5815, 0x06, 0, 0}, {0x5816, 0x0a, 0, 0}, {0x5817, 0x0f, 0, 0},
+       {0x5818, 0x0a, 0, 0}, {0x5819, 0x05, 0, 0}, {0x581a, 0x01, 0, 0},
+       {0x581b, 0x00, 0, 0}, {0x581c, 0x00, 0, 0}, {0x581d, 0x03, 0, 0},
+       {0x581e, 0x08, 0, 0}, {0x581f, 0x0c, 0, 0}, {0x5820, 0x0a, 0, 0},
+       {0x5821, 0x05, 0, 0}, {0x5822, 0x01, 0, 0}, {0x5823, 0x00, 0, 0},
+       {0x5824, 0x00, 0, 0}, {0x5825, 0x03, 0, 0}, {0x5826, 0x08, 0, 0},
+       {0x5827, 0x0c, 0, 0}, {0x5828, 0x0e, 0, 0}, {0x5829, 0x08, 0, 0},
+       {0x582a, 0x06, 0, 0}, {0x582b, 0x04, 0, 0}, {0x582c, 0x05, 0, 0},
+       {0x582d, 0x07, 0, 0}, {0x582e, 0x0b, 0, 0}, {0x582f, 0x12, 0, 0},
+       {0x5830, 0x18, 0, 0}, {0x5831, 0x10, 0, 0}, {0x5832, 0x0c, 0, 0},
+       {0x5833, 0x0a, 0, 0}, {0x5834, 0x0b, 0, 0}, {0x5835, 0x0e, 0, 0},
+       {0x5836, 0x15, 0, 0}, {0x5837, 0x19, 0, 0}, {0x5838, 0x32, 0, 0},
+       {0x5839, 0x1f, 0, 0}, {0x583a, 0x18, 0, 0}, {0x583b, 0x16, 0, 0},
+       {0x583c, 0x17, 0, 0}, {0x583d, 0x1e, 0, 0}, {0x583e, 0x26, 0, 0},
+       {0x583f, 0x53, 0, 0}, {0x5840, 0x10, 0, 0}, {0x5841, 0x0f, 0, 0},
+       {0x5842, 0x0d, 0, 0}, {0x5843, 0x0c, 0, 0}, {0x5844, 0x0e, 0, 0},
+       {0x5845, 0x09, 0, 0}, {0x5846, 0x11, 0, 0}, {0x5847, 0x10, 0, 0},
+       {0x5848, 0x10, 0, 0}, {0x5849, 0x10, 0, 0}, {0x584a, 0x10, 0, 0},
+       {0x584b, 0x0e, 0, 0}, {0x584c, 0x10, 0, 0}, {0x584d, 0x10, 0, 0},
+       {0x584e, 0x11, 0, 0}, {0x584f, 0x10, 0, 0}, {0x5850, 0x0f, 0, 0},
+       {0x5851, 0x0c, 0, 0}, {0x5852, 0x0f, 0, 0}, {0x5853, 0x10, 0, 0},
+       {0x5854, 0x10, 0, 0}, {0x5855, 0x0f, 0, 0}, {0x5856, 0x0e, 0, 0},
+       {0x5857, 0x0b, 0, 0}, {0x5858, 0x10, 0, 0}, {0x5859, 0x0d, 0, 0},
+       {0x585a, 0x0d, 0, 0}, {0x585b, 0x0c, 0, 0}, {0x585c, 0x0c, 0, 0},
+       {0x585d, 0x0c, 0, 0}, {0x585e, 0x0b, 0, 0}, {0x585f, 0x0c, 0, 0},
+       {0x5860, 0x0c, 0, 0}, {0x5861, 0x0c, 0, 0}, {0x5862, 0x0d, 0, 0},
+       {0x5863, 0x08, 0, 0}, {0x5864, 0x11, 0, 0}, {0x5865, 0x18, 0, 0},
+       {0x5866, 0x18, 0, 0}, {0x5867, 0x19, 0, 0}, {0x5868, 0x17, 0, 0},
+       {0x5869, 0x19, 0, 0}, {0x586a, 0x16, 0, 0}, {0x586b, 0x13, 0, 0},
+       {0x586c, 0x13, 0, 0}, {0x586d, 0x12, 0, 0}, {0x586e, 0x13, 0, 0},
+       {0x586f, 0x16, 0, 0}, {0x5870, 0x14, 0, 0}, {0x5871, 0x12, 0, 0},
+       {0x5872, 0x10, 0, 0}, {0x5873, 0x11, 0, 0}, {0x5874, 0x11, 0, 0},
+       {0x5875, 0x16, 0, 0}, {0x5876, 0x14, 0, 0}, {0x5877, 0x11, 0, 0},
+       {0x5878, 0x10, 0, 0}, {0x5879, 0x0f, 0, 0}, {0x587a, 0x10, 0, 0},
+       {0x587b, 0x14, 0, 0}, {0x587c, 0x13, 0, 0}, {0x587d, 0x12, 0, 0},
+       {0x587e, 0x11, 0, 0}, {0x587f, 0x11, 0, 0}, {0x5880, 0x12, 0, 0},
+       {0x5881, 0x15, 0, 0}, {0x5882, 0x14, 0, 0}, {0x5883, 0x15, 0, 0},
+       {0x5884, 0x15, 0, 0}, {0x5885, 0x15, 0, 0}, {0x5886, 0x13, 0, 0},
+       {0x5887, 0x17, 0, 0}, {0x3710, 0x10, 0, 0}, {0x3632, 0x51, 0, 0},
+       {0x3702, 0x10, 0, 0}, {0x3703, 0xb2, 0, 0}, {0x3704, 0x18, 0, 0},
+       {0x370b, 0x40, 0, 0}, {0x370d, 0x03, 0, 0}, {0x3631, 0x01, 0, 0},
+       {0x3632, 0x52, 0, 0}, {0x3606, 0x24, 0, 0}, {0x3620, 0x96, 0, 0},
+       {0x5785, 0x07, 0, 0}, {0x3a13, 0x30, 0, 0}, {0x3600, 0x52, 0, 0},
+       {0x3604, 0x48, 0, 0}, {0x3606, 0x1b, 0, 0}, {0x370d, 0x0b, 0, 0},
+       {0x370f, 0xc0, 0, 0}, {0x3709, 0x01, 0, 0}, {0x3823, 0x00, 0, 0},
+       {0x5007, 0x00, 0, 0}, {0x5009, 0x00, 0, 0}, {0x5011, 0x00, 0, 0},
+       {0x5013, 0x00, 0, 0}, {0x519e, 0x00, 0, 0}, {0x5086, 0x00, 0, 0},
+       {0x5087, 0x00, 0, 0}, {0x5088, 0x00, 0, 0}, {0x5089, 0x00, 0, 0},
+       {0x302b, 0x00, 0, 0}, {0x3621, 0x87, 0, 0}, {0x3a00, 0x78, 0, 0},
+       {0x3808, 0x04, 0, 0}, {0x3809, 0x00, 0, 0}, {0x380a, 0x03, 0, 0},
+       {0x380b, 0x00, 0, 0}, {0x3815, 0x02, 0, 0}, {0x302c, 0x60, 0x60, 0},
+};
+
+static struct reg_value ov5642_setting_30fps_QVGA_320_240[] = {
+       {0x3103, 0x93, 0, 0}, {0x3008, 0x82, 0, 0}, {0x3017, 0x7f, 0, 0},
+       {0x3018, 0xfc, 0, 0}, {0x3615, 0xf0, 0, 0}, {0x3000, 0x00, 0, 0},
+       {0x3001, 0x00, 0, 0}, {0x3002, 0x5c, 0, 0}, {0x3003, 0x00, 0, 0},
+       {0x3004, 0xff, 0, 0}, {0x3005, 0xff, 0, 0}, {0x3006, 0x43, 0, 0},
+       {0x3007, 0x37, 0, 0}, {0x3011, 0x09, 0, 0}, {0x3012, 0x02, 0, 0},
+       {0x3010, 0x00, 0, 0}, {0x460c, 0x20, 0, 0}, {0x3815, 0x04, 0, 0},
+       {0x370c, 0xa0, 0, 0}, {0x3602, 0xfc, 0, 0}, {0x3612, 0xff, 0, 0},
+       {0x3634, 0xc0, 0, 0}, {0x3613, 0x00, 0, 0}, {0x3605, 0x7c, 0, 0},
+       {0x3621, 0x09, 0, 0}, {0x3622, 0x60, 0, 0}, {0x3604, 0x40, 0, 0},
+       {0x3603, 0xa7, 0, 0}, {0x3603, 0x27, 0, 0}, {0x4000, 0x21, 0, 0},
+       {0x401d, 0x22, 0, 0}, {0x3600, 0x54, 0, 0}, {0x3605, 0x04, 0, 0},
+       {0x3606, 0x3f, 0, 0}, {0x3c01, 0x80, 0, 0}, {0x5000, 0x4f, 0, 0},
+       {0x5020, 0x04, 0, 0}, {0x5181, 0x79, 0, 0}, {0x5182, 0x00, 0, 0},
+       {0x5185, 0x22, 0, 0}, {0x5197, 0x01, 0, 0}, {0x5001, 0xff, 0, 0},
+       {0x5500, 0x0a, 0, 0}, {0x5504, 0x00, 0, 0}, {0x5505, 0x7f, 0, 0},
+       {0x5080, 0x08, 0, 0}, {0x300e, 0x18, 0, 0}, {0x4610, 0x00, 0, 0},
+       {0x471d, 0x05, 0, 0}, {0x4708, 0x06, 0, 0}, {0x3808, 0x02, 0, 0},
+       {0x3809, 0x80, 0, 0}, {0x380a, 0x01, 0, 0}, {0x380b, 0xe0, 0, 0},
+       {0x380e, 0x07, 0, 0}, {0x380f, 0xd0, 0, 0}, {0x501f, 0x00, 0, 0},
+       {0x5000, 0x4f, 0, 0}, {0x4300, 0x30, 0, 0}, {0x3503, 0x07, 0, 0},
+       {0x3501, 0x73, 0, 0}, {0x3502, 0x80, 0, 0}, {0x350b, 0x00, 0, 0},
+       {0x3503, 0x07, 0, 0}, {0x3824, 0x11, 0, 0}, {0x3825, 0xb0, 0, 0},
+       {0x3501, 0x1e, 0, 0}, {0x3502, 0x80, 0, 0}, {0x350b, 0x7f, 0, 0},
+       {0x380c, 0x07, 0, 0}, {0x380d, 0x2a, 0, 0}, {0x380e, 0x03, 0, 0},
+       {0x380f, 0xe8, 0, 0}, {0x3a0d, 0x04, 0, 0}, {0x3a0e, 0x03, 0, 0},
+       {0x3818, 0xc1, 0, 0}, {0x3705, 0xdb, 0, 0}, {0x370a, 0x81, 0, 0},
+       {0x3801, 0x80, 0, 0}, {0x3621, 0xc7, 0, 0}, {0x3801, 0x50, 0, 0},
+       {0x3803, 0x08, 0, 0}, {0x3827, 0x08, 0, 0}, {0x3810, 0x80, 0, 0},
+       {0x3804, 0x05, 0, 0}, {0x3805, 0x00, 0, 0}, {0x5682, 0x05, 0, 0},
+       {0x5683, 0x00, 0, 0}, {0x3806, 0x03, 0, 0}, {0x3807, 0xc0, 0, 0},
+       {0x5686, 0x03, 0, 0}, {0x5687, 0xbc, 0, 0}, {0x3a00, 0x78, 0, 0},
+       {0x3a1a, 0x05, 0, 0}, {0x3a13, 0x30, 0, 0}, {0x3a18, 0x00, 0, 0},
+       {0x3a19, 0x7c, 0, 0}, {0x3a08, 0x12, 0, 0}, {0x3a09, 0xc0, 0, 0},
+       {0x3a0a, 0x0f, 0, 0}, {0x3a0b, 0xa0, 0, 0}, {0x350c, 0x07, 0, 0},
+       {0x350d, 0xd0, 0, 0}, {0x3500, 0x00, 0, 0}, {0x3501, 0x00, 0, 0},
+       {0x3502, 0x00, 0, 0}, {0x350a, 0x00, 0, 0}, {0x350b, 0x00, 0, 0},
+       {0x3503, 0x00, 0, 0}, {0x528a, 0x02, 0, 0}, {0x528b, 0x04, 0, 0},
+       {0x528c, 0x08, 0, 0}, {0x528d, 0x08, 0, 0}, {0x528e, 0x08, 0, 0},
+       {0x528f, 0x10, 0, 0}, {0x5290, 0x10, 0, 0}, {0x5292, 0x00, 0, 0},
+       {0x5293, 0x02, 0, 0}, {0x5294, 0x00, 0, 0}, {0x5295, 0x02, 0, 0},
+       {0x5296, 0x00, 0, 0}, {0x5297, 0x02, 0, 0}, {0x5298, 0x00, 0, 0},
+       {0x5299, 0x02, 0, 0}, {0x529a, 0x00, 0, 0}, {0x529b, 0x02, 0, 0},
+       {0x529c, 0x00, 0, 0}, {0x529d, 0x02, 0, 0}, {0x529e, 0x00, 0, 0},
+       {0x529f, 0x02, 0, 0}, {0x3a0f, 0x3c, 0, 0}, {0x3a10, 0x30, 0, 0},
+       {0x3a1b, 0x3c, 0, 0}, {0x3a1e, 0x30, 0, 0}, {0x3a11, 0x70, 0, 0},
+       {0x3a1f, 0x10, 0, 0}, {0x3030, 0x2b, 0, 0}, {0x3a02, 0x00, 0, 0},
+       {0x3a03, 0x7d, 0, 0}, {0x3a04, 0x00, 0, 0}, {0x3a14, 0x00, 0, 0},
+       {0x3a15, 0x7d, 0, 0}, {0x3a16, 0x00, 0, 0}, {0x3a00, 0x78, 0, 0},
+       {0x3a08, 0x12, 0, 0}, {0x3a09, 0xc0, 0, 0}, {0x3a0a, 0x0f, 0, 0},
+       {0x3a0b, 0xa0, 0, 0}, {0x3a0d, 0x04, 0, 0}, {0x3a0e, 0x03, 0, 0},
+       {0x5193, 0x70, 0, 0}, {0x589b, 0x04, 0, 0}, {0x589a, 0xc5, 0, 0},
+       {0x401e, 0x20, 0, 0}, {0x4001, 0x42, 0, 0}, {0x401c, 0x04, 0, 0},
+       {0x528a, 0x01, 0, 0}, {0x528b, 0x04, 0, 0}, {0x528c, 0x08, 0, 0},
+       {0x528d, 0x10, 0, 0}, {0x528e, 0x20, 0, 0}, {0x528f, 0x28, 0, 0},
+       {0x5290, 0x30, 0, 0}, {0x5292, 0x00, 0, 0}, {0x5293, 0x01, 0, 0},
+       {0x5294, 0x00, 0, 0}, {0x5295, 0x04, 0, 0}, {0x5296, 0x00, 0, 0},
+       {0x5297, 0x08, 0, 0}, {0x5298, 0x00, 0, 0}, {0x5299, 0x10, 0, 0},
+       {0x529a, 0x00, 0, 0}, {0x529b, 0x20, 0, 0}, {0x529c, 0x00, 0, 0},
+       {0x529d, 0x28, 0, 0}, {0x529e, 0x00, 0, 0}, {0x529f, 0x30, 0, 0},
+       {0x5282, 0x00, 0, 0}, {0x5300, 0x00, 0, 0}, {0x5301, 0x20, 0, 0},
+       {0x5302, 0x00, 0, 0}, {0x5303, 0x7c, 0, 0}, {0x530c, 0x00, 0, 0},
+       {0x530d, 0x0c, 0, 0}, {0x530e, 0x20, 0, 0}, {0x530f, 0x80, 0, 0},
+       {0x5310, 0x20, 0, 0}, {0x5311, 0x80, 0, 0}, {0x5308, 0x20, 0, 0},
+       {0x5309, 0x40, 0, 0}, {0x5304, 0x00, 0, 0}, {0x5305, 0x30, 0, 0},
+       {0x5306, 0x00, 0, 0}, {0x5307, 0x80, 0, 0}, {0x5314, 0x08, 0, 0},
+       {0x5315, 0x20, 0, 0}, {0x5319, 0x30, 0, 0}, {0x5316, 0x10, 0, 0},
+       {0x5317, 0x00, 0, 0}, {0x5318, 0x02, 0, 0}, {0x5380, 0x01, 0, 0},
+       {0x5381, 0x00, 0, 0}, {0x5382, 0x00, 0, 0}, {0x5383, 0x4e, 0, 0},
+       {0x5384, 0x00, 0, 0}, {0x5385, 0x0f, 0, 0}, {0x5386, 0x00, 0, 0},
+       {0x5387, 0x00, 0, 0}, {0x5388, 0x01, 0, 0}, {0x5389, 0x15, 0, 0},
+       {0x538a, 0x00, 0, 0}, {0x538b, 0x31, 0, 0}, {0x538c, 0x00, 0, 0},
+       {0x538d, 0x00, 0, 0}, {0x538e, 0x00, 0, 0}, {0x538f, 0x0f, 0, 0},
+       {0x5390, 0x00, 0, 0}, {0x5391, 0xab, 0, 0}, {0x5392, 0x00, 0, 0},
+       {0x5393, 0xa2, 0, 0}, {0x5394, 0x08, 0, 0}, {0x5480, 0x14, 0, 0},
+       {0x5481, 0x21, 0, 0}, {0x5482, 0x36, 0, 0}, {0x5483, 0x57, 0, 0},
+       {0x5484, 0x65, 0, 0}, {0x5485, 0x71, 0, 0}, {0x5486, 0x7d, 0, 0},
+       {0x5487, 0x87, 0, 0}, {0x5488, 0x91, 0, 0}, {0x5489, 0x9a, 0, 0},
+       {0x548a, 0xaa, 0, 0}, {0x548b, 0xb8, 0, 0}, {0x548c, 0xcd, 0, 0},
+       {0x548d, 0xdd, 0, 0}, {0x548e, 0xea, 0, 0}, {0x548f, 0x1d, 0, 0},
+       {0x5490, 0x05, 0, 0}, {0x5491, 0x00, 0, 0}, {0x5492, 0x04, 0, 0},
+       {0x5493, 0x20, 0, 0}, {0x5494, 0x03, 0, 0}, {0x5495, 0x60, 0, 0},
+       {0x5496, 0x02, 0, 0}, {0x5497, 0xb8, 0, 0}, {0x5498, 0x02, 0, 0},
+       {0x5499, 0x86, 0, 0}, {0x549a, 0x02, 0, 0}, {0x549b, 0x5b, 0, 0},
+       {0x549c, 0x02, 0, 0}, {0x549d, 0x3b, 0, 0}, {0x549e, 0x02, 0, 0},
+       {0x549f, 0x1c, 0, 0}, {0x54a0, 0x02, 0, 0}, {0x54a1, 0x04, 0, 0},
+       {0x54a2, 0x01, 0, 0}, {0x54a3, 0xed, 0, 0}, {0x54a4, 0x01, 0, 0},
+       {0x54a5, 0xc5, 0, 0}, {0x54a6, 0x01, 0, 0}, {0x54a7, 0xa5, 0, 0},
+       {0x54a8, 0x01, 0, 0}, {0x54a9, 0x6c, 0, 0}, {0x54aa, 0x01, 0, 0},
+       {0x54ab, 0x41, 0, 0}, {0x54ac, 0x01, 0, 0}, {0x54ad, 0x20, 0, 0},
+       {0x54ae, 0x00, 0, 0}, {0x54af, 0x16, 0, 0}, {0x54b0, 0x01, 0, 0},
+       {0x54b1, 0x20, 0, 0}, {0x54b2, 0x00, 0, 0}, {0x54b3, 0x10, 0, 0},
+       {0x54b4, 0x00, 0, 0}, {0x54b5, 0xf0, 0, 0}, {0x54b6, 0x00, 0, 0},
+       {0x54b7, 0xdf, 0, 0}, {0x5402, 0x3f, 0, 0}, {0x5403, 0x00, 0, 0},
+       {0x3406, 0x00, 0, 0}, {0x5180, 0xff, 0, 0}, {0x5181, 0x52, 0, 0},
+       {0x5182, 0x11, 0, 0}, {0x5183, 0x14, 0, 0}, {0x5184, 0x25, 0, 0},
+       {0x5185, 0x24, 0, 0}, {0x5186, 0x06, 0, 0}, {0x5187, 0x08, 0, 0},
+       {0x5188, 0x08, 0, 0}, {0x5189, 0x7c, 0, 0}, {0x518a, 0x60, 0, 0},
+       {0x518b, 0xb2, 0, 0}, {0x518c, 0xb2, 0, 0}, {0x518d, 0x44, 0, 0},
+       {0x518e, 0x3d, 0, 0}, {0x518f, 0x58, 0, 0}, {0x5190, 0x46, 0, 0},
+       {0x5191, 0xf8, 0, 0}, {0x5192, 0x04, 0, 0}, {0x5193, 0x70, 0, 0},
+       {0x5194, 0xf0, 0, 0}, {0x5195, 0xf0, 0, 0}, {0x5196, 0x03, 0, 0},
+       {0x5197, 0x01, 0, 0}, {0x5198, 0x04, 0, 0}, {0x5199, 0x12, 0, 0},
+       {0x519a, 0x04, 0, 0}, {0x519b, 0x00, 0, 0}, {0x519c, 0x06, 0, 0},
+       {0x519d, 0x82, 0, 0}, {0x519e, 0x00, 0, 0}, {0x5025, 0x80, 0, 0},
+       {0x3a0f, 0x38, 0, 0}, {0x3a10, 0x30, 0, 0}, {0x3a1b, 0x3a, 0, 0},
+       {0x3a1e, 0x2e, 0, 0}, {0x3a11, 0x60, 0, 0}, {0x3a1f, 0x10, 0, 0},
+       {0x5688, 0xa6, 0, 0}, {0x5689, 0x6a, 0, 0}, {0x568a, 0xea, 0, 0},
+       {0x568b, 0xae, 0, 0}, {0x568c, 0xa6, 0, 0}, {0x568d, 0x6a, 0, 0},
+       {0x568e, 0x62, 0, 0}, {0x568f, 0x26, 0, 0}, {0x5583, 0x40, 0, 0},
+       {0x5584, 0x40, 0, 0}, {0x5580, 0x02, 0, 0}, {0x5000, 0xcf, 0, 0},
+       {0x5800, 0x27, 0, 0}, {0x5801, 0x19, 0, 0}, {0x5802, 0x12, 0, 0},
+       {0x5803, 0x0f, 0, 0}, {0x5804, 0x10, 0, 0}, {0x5805, 0x15, 0, 0},
+       {0x5806, 0x1e, 0, 0}, {0x5807, 0x2f, 0, 0}, {0x5808, 0x15, 0, 0},
+       {0x5809, 0x0d, 0, 0}, {0x580a, 0x0a, 0, 0}, {0x580b, 0x09, 0, 0},
+       {0x580c, 0x0a, 0, 0}, {0x580d, 0x0c, 0, 0}, {0x580e, 0x12, 0, 0},
+       {0x580f, 0x19, 0, 0}, {0x5810, 0x0b, 0, 0}, {0x5811, 0x07, 0, 0},
+       {0x5812, 0x04, 0, 0}, {0x5813, 0x03, 0, 0}, {0x5814, 0x03, 0, 0},
+       {0x5815, 0x06, 0, 0}, {0x5816, 0x0a, 0, 0}, {0x5817, 0x0f, 0, 0},
+       {0x5818, 0x0a, 0, 0}, {0x5819, 0x05, 0, 0}, {0x581a, 0x01, 0, 0},
+       {0x581b, 0x00, 0, 0}, {0x581c, 0x00, 0, 0}, {0x581d, 0x03, 0, 0},
+       {0x581e, 0x08, 0, 0}, {0x581f, 0x0c, 0, 0}, {0x5820, 0x0a, 0, 0},
+       {0x5821, 0x05, 0, 0}, {0x5822, 0x01, 0, 0}, {0x5823, 0x00, 0, 0},
+       {0x5824, 0x00, 0, 0}, {0x5825, 0x03, 0, 0}, {0x5826, 0x08, 0, 0},
+       {0x5827, 0x0c, 0, 0}, {0x5828, 0x0e, 0, 0}, {0x5829, 0x08, 0, 0},
+       {0x582a, 0x06, 0, 0}, {0x582b, 0x04, 0, 0}, {0x582c, 0x05, 0, 0},
+       {0x582d, 0x07, 0, 0}, {0x582e, 0x0b, 0, 0}, {0x582f, 0x12, 0, 0},
+       {0x5830, 0x18, 0, 0}, {0x5831, 0x10, 0, 0}, {0x5832, 0x0c, 0, 0},
+       {0x5833, 0x0a, 0, 0}, {0x5834, 0x0b, 0, 0}, {0x5835, 0x0e, 0, 0},
+       {0x5836, 0x15, 0, 0}, {0x5837, 0x19, 0, 0}, {0x5838, 0x32, 0, 0},
+       {0x5839, 0x1f, 0, 0}, {0x583a, 0x18, 0, 0}, {0x583b, 0x16, 0, 0},
+       {0x583c, 0x17, 0, 0}, {0x583d, 0x1e, 0, 0}, {0x583e, 0x26, 0, 0},
+       {0x583f, 0x53, 0, 0}, {0x5840, 0x10, 0, 0}, {0x5841, 0x0f, 0, 0},
+       {0x5842, 0x0d, 0, 0}, {0x5843, 0x0c, 0, 0}, {0x5844, 0x0e, 0, 0},
+       {0x5845, 0x09, 0, 0}, {0x5846, 0x11, 0, 0}, {0x5847, 0x10, 0, 0},
+       {0x5848, 0x10, 0, 0}, {0x5849, 0x10, 0, 0}, {0x584a, 0x10, 0, 0},
+       {0x584b, 0x0e, 0, 0}, {0x584c, 0x10, 0, 0}, {0x584d, 0x10, 0, 0},
+       {0x584e, 0x11, 0, 0}, {0x584f, 0x10, 0, 0}, {0x5850, 0x0f, 0, 0},
+       {0x5851, 0x0c, 0, 0}, {0x5852, 0x0f, 0, 0}, {0x5853, 0x10, 0, 0},
+       {0x5854, 0x10, 0, 0}, {0x5855, 0x0f, 0, 0}, {0x5856, 0x0e, 0, 0},
+       {0x5857, 0x0b, 0, 0}, {0x5858, 0x10, 0, 0}, {0x5859, 0x0d, 0, 0},
+       {0x585a, 0x0d, 0, 0}, {0x585b, 0x0c, 0, 0}, {0x585c, 0x0c, 0, 0},
+       {0x585d, 0x0c, 0, 0}, {0x585e, 0x0b, 0, 0}, {0x585f, 0x0c, 0, 0},
+       {0x5860, 0x0c, 0, 0}, {0x5861, 0x0c, 0, 0}, {0x5862, 0x0d, 0, 0},
+       {0x5863, 0x08, 0, 0}, {0x5864, 0x11, 0, 0}, {0x5865, 0x18, 0, 0},
+       {0x5866, 0x18, 0, 0}, {0x5867, 0x19, 0, 0}, {0x5868, 0x17, 0, 0},
+       {0x5869, 0x19, 0, 0}, {0x586a, 0x16, 0, 0}, {0x586b, 0x13, 0, 0},
+       {0x586c, 0x13, 0, 0}, {0x586d, 0x12, 0, 0}, {0x586e, 0x13, 0, 0},
+       {0x586f, 0x16, 0, 0}, {0x5870, 0x14, 0, 0}, {0x5871, 0x12, 0, 0},
+       {0x5872, 0x10, 0, 0}, {0x5873, 0x11, 0, 0}, {0x5874, 0x11, 0, 0},
+       {0x5875, 0x16, 0, 0}, {0x5876, 0x14, 0, 0}, {0x5877, 0x11, 0, 0},
+       {0x5878, 0x10, 0, 0}, {0x5879, 0x0f, 0, 0}, {0x587a, 0x10, 0, 0},
+       {0x587b, 0x14, 0, 0}, {0x587c, 0x13, 0, 0}, {0x587d, 0x12, 0, 0},
+       {0x587e, 0x11, 0, 0}, {0x587f, 0x11, 0, 0}, {0x5880, 0x12, 0, 0},
+       {0x5881, 0x15, 0, 0}, {0x5882, 0x14, 0, 0}, {0x5883, 0x15, 0, 0},
+       {0x5884, 0x15, 0, 0}, {0x5885, 0x15, 0, 0}, {0x5886, 0x13, 0, 0},
+       {0x5887, 0x17, 0, 0}, {0x3710, 0x10, 0, 0}, {0x3632, 0x51, 0, 0},
+       {0x3702, 0x10, 0, 0}, {0x3703, 0xb2, 0, 0}, {0x3704, 0x18, 0, 0},
+       {0x370b, 0x40, 0, 0}, {0x370d, 0x03, 0, 0}, {0x3631, 0x01, 0, 0},
+       {0x3632, 0x52, 0, 0}, {0x3606, 0x24, 0, 0}, {0x3620, 0x96, 0, 0},
+       {0x5785, 0x07, 0, 0}, {0x3a13, 0x30, 0, 0}, {0x3600, 0x52, 0, 0},
+       {0x3604, 0x48, 0, 0}, {0x3606, 0x1b, 0, 0}, {0x370d, 0x0b, 0, 0},
+       {0x370f, 0xc0, 0, 0}, {0x3709, 0x01, 0, 0}, {0x3823, 0x00, 0, 0},
+       {0x5007, 0x00, 0, 0}, {0x5009, 0x00, 0, 0}, {0x5011, 0x00, 0, 0},
+       {0x5013, 0x00, 0, 0}, {0x519e, 0x00, 0, 0}, {0x5086, 0x00, 0, 0},
+       {0x5087, 0x00, 0, 0}, {0x5088, 0x00, 0, 0}, {0x5089, 0x00, 0, 0},
+       {0x302b, 0x00, 0, 0}, {0x3621, 0x87, 0, 0}, {0x3808, 0x01, 0, 0},
+       {0x3809, 0x40, 0, 0}, {0x380a, 0x00, 0, 0}, {0x380b, 0xf0, 0, 0},
+};
+
+static struct reg_value ov5642_setting_30fps_NTSC_720_480[] = {
+       {0x3103, 0x93, 0, 0}, {0x3008, 0x82, 0, 0}, {0x3017, 0x7f, 0, 0},
+       {0x3018, 0xfc, 0, 0}, {0x3615, 0xf0, 0, 0}, {0x3000, 0x00, 0, 0},
+       {0x3001, 0x00, 0, 0}, {0x3002, 0x5c, 0, 0}, {0x3003, 0x00, 0, 0},
+       {0x3004, 0xff, 0, 0}, {0x3005, 0xff, 0, 0}, {0x3006, 0x43, 0, 0},
+       {0x3007, 0x37, 0, 0}, {0x3011, 0x09, 0, 0}, {0x3012, 0x02, 0, 0},
+       {0x3010, 0x00, 0, 0}, {0x460c, 0x20, 0, 0}, {0x3815, 0x04, 0, 0},
+       {0x370c, 0xa0, 0, 0}, {0x3602, 0xfc, 0, 0}, {0x3612, 0xff, 0, 0},
+       {0x3634, 0xc0, 0, 0}, {0x3613, 0x00, 0, 0}, {0x3605, 0x7c, 0, 0},
+       {0x3621, 0x09, 0, 0}, {0x3622, 0x60, 0, 0}, {0x3604, 0x40, 0, 0},
+       {0x3603, 0xa7, 0, 0}, {0x3603, 0x27, 0, 0}, {0x4000, 0x21, 0, 0},
+       {0x401d, 0x22, 0, 0}, {0x3600, 0x54, 0, 0}, {0x3605, 0x04, 0, 0},
+       {0x3606, 0x3f, 0, 0}, {0x3c01, 0x80, 0, 0}, {0x5000, 0x4f, 0, 0},
+       {0x5020, 0x04, 0, 0}, {0x5181, 0x79, 0, 0}, {0x5182, 0x00, 0, 0},
+       {0x5185, 0x22, 0, 0}, {0x5197, 0x01, 0, 0}, {0x5001, 0xff, 0, 0},
+       {0x5500, 0x0a, 0, 0}, {0x5504, 0x00, 0, 0}, {0x5505, 0x7f, 0, 0},
+       {0x5080, 0x08, 0, 0}, {0x300e, 0x18, 0, 0}, {0x4610, 0x00, 0, 0},
+       {0x471d, 0x05, 0, 0}, {0x4708, 0x06, 0, 0}, {0x3808, 0x02, 0, 0},
+       {0x3809, 0xd0, 0, 0}, {0x380a, 0x01, 0, 0}, {0x380b, 0xe0, 0, 0},
+       {0x380e, 0x07, 0, 0}, {0x380f, 0xd0, 0, 0}, {0x501f, 0x00, 0, 0},
+       {0x5000, 0x4f, 0, 0}, {0x4300, 0x30, 0, 0}, {0x3503, 0x07, 0, 0},
+       {0x3501, 0x73, 0, 0}, {0x3502, 0x80, 0, 0}, {0x350b, 0x00, 0, 0},
+       {0x3503, 0x07, 0, 0}, {0x3824, 0x11, 0, 0}, {0x3825, 0xb0, 0, 0},
+       {0x3501, 0x1e, 0, 0}, {0x3502, 0x80, 0, 0}, {0x350b, 0x7f, 0, 0},
+       {0x380c, 0x07, 0, 0}, {0x380d, 0x2a, 0, 0}, {0x380e, 0x03, 0, 0},
+       {0x380f, 0xe8, 0, 0}, {0x3a0d, 0x04, 0, 0}, {0x3a0e, 0x03, 0, 0},
+       {0x3818, 0xc1, 0, 0}, {0x3705, 0xdb, 0, 0}, {0x370a, 0x81, 0, 0},
+       {0x3801, 0x80, 0, 0}, {0x3621, 0xc7, 0, 0}, {0x3801, 0x50, 0, 0},
+       {0x3803, 0x08, 0, 0}, {0x3827, 0x3c, 0, 0}, {0x3810, 0x80, 0, 0},
+       {0x3804, 0x05, 0, 0}, {0x3805, 0x00, 0, 0}, {0x5682, 0x05, 0, 0},
+       {0x5683, 0x00, 0, 0}, {0x3806, 0x03, 0, 0}, {0x3807, 0x58, 0, 0},
+       {0x5686, 0x03, 0, 0}, {0x5687, 0x58, 0, 0}, {0x3a00, 0x78, 0, 0},
+       {0x3a1a, 0x05, 0, 0}, {0x3a13, 0x30, 0, 0}, {0x3a18, 0x00, 0, 0},
+       {0x3a19, 0x7c, 0, 0}, {0x3a08, 0x12, 0, 0}, {0x3a09, 0xc0, 0, 0},
+       {0x3a0a, 0x0f, 0, 0}, {0x3a0b, 0xa0, 0, 0}, {0x350c, 0x07, 0, 0},
+       {0x350d, 0xd0, 0, 0}, {0x3500, 0x00, 0, 0}, {0x3501, 0x00, 0, 0},
+       {0x3502, 0x00, 0, 0}, {0x350a, 0x00, 0, 0}, {0x350b, 0x00, 0, 0},
+       {0x3503, 0x00, 0, 0}, {0x528a, 0x02, 0, 0}, {0x528b, 0x04, 0, 0},
+       {0x528c, 0x08, 0, 0}, {0x528d, 0x08, 0, 0}, {0x528e, 0x08, 0, 0},
+       {0x528f, 0x10, 0, 0}, {0x5290, 0x10, 0, 0}, {0x5292, 0x00, 0, 0},
+       {0x5293, 0x02, 0, 0}, {0x5294, 0x00, 0, 0}, {0x5295, 0x02, 0, 0},
+       {0x5296, 0x00, 0, 0}, {0x5297, 0x02, 0, 0}, {0x5298, 0x00, 0, 0},
+       {0x5299, 0x02, 0, 0}, {0x529a, 0x00, 0, 0}, {0x529b, 0x02, 0, 0},
+       {0x529c, 0x00, 0, 0}, {0x529d, 0x02, 0, 0}, {0x529e, 0x00, 0, 0},
+       {0x529f, 0x02, 0, 0}, {0x3a0f, 0x3c, 0, 0}, {0x3a10, 0x30, 0, 0},
+       {0x3a1b, 0x3c, 0, 0}, {0x3a1e, 0x30, 0, 0}, {0x3a11, 0x70, 0, 0},
+       {0x3a1f, 0x10, 0, 0}, {0x3030, 0x2b, 0, 0}, {0x3a02, 0x00, 0, 0},
+       {0x3a03, 0x7d, 0, 0}, {0x3a04, 0x00, 0, 0}, {0x3a14, 0x00, 0, 0},
+       {0x3a15, 0x7d, 0, 0}, {0x3a16, 0x00, 0, 0}, {0x3a00, 0x78, 0, 0},
+       {0x3a08, 0x12, 0, 0}, {0x3a09, 0xc0, 0, 0}, {0x3a0a, 0x0f, 0, 0},
+       {0x3a0b, 0xa0, 0, 0}, {0x3a0d, 0x04, 0, 0}, {0x3a0e, 0x03, 0, 0},
+       {0x5193, 0x70, 0, 0}, {0x589b, 0x04, 0, 0}, {0x589a, 0xc5, 0, 0},
+       {0x401e, 0x20, 0, 0}, {0x4001, 0x42, 0, 0}, {0x401c, 0x04, 0, 0},
+       {0x528a, 0x01, 0, 0}, {0x528b, 0x04, 0, 0}, {0x528c, 0x08, 0, 0},
+       {0x528d, 0x10, 0, 0}, {0x528e, 0x20, 0, 0}, {0x528f, 0x28, 0, 0},
+       {0x5290, 0x30, 0, 0}, {0x5292, 0x00, 0, 0}, {0x5293, 0x01, 0, 0},
+       {0x5294, 0x00, 0, 0}, {0x5295, 0x04, 0, 0}, {0x5296, 0x00, 0, 0},
+       {0x5297, 0x08, 0, 0}, {0x5298, 0x00, 0, 0}, {0x5299, 0x10, 0, 0},
+       {0x529a, 0x00, 0, 0}, {0x529b, 0x20, 0, 0}, {0x529c, 0x00, 0, 0},
+       {0x529d, 0x28, 0, 0}, {0x529e, 0x00, 0, 0}, {0x529f, 0x30, 0, 0},
+       {0x5282, 0x00, 0, 0}, {0x5300, 0x00, 0, 0}, {0x5301, 0x20, 0, 0},
+       {0x5302, 0x00, 0, 0}, {0x5303, 0x7c, 0, 0}, {0x530c, 0x00, 0, 0},
+       {0x530d, 0x0c, 0, 0}, {0x530e, 0x20, 0, 0}, {0x530f, 0x80, 0, 0},
+       {0x5310, 0x20, 0, 0}, {0x5311, 0x80, 0, 0}, {0x5308, 0x20, 0, 0},
+       {0x5309, 0x40, 0, 0}, {0x5304, 0x00, 0, 0}, {0x5305, 0x30, 0, 0},
+       {0x5306, 0x00, 0, 0}, {0x5307, 0x80, 0, 0}, {0x5314, 0x08, 0, 0},
+       {0x5315, 0x20, 0, 0}, {0x5319, 0x30, 0, 0}, {0x5316, 0x10, 0, 0},
+       {0x5317, 0x00, 0, 0}, {0x5318, 0x02, 0, 0}, {0x5380, 0x01, 0, 0},
+       {0x5381, 0x00, 0, 0}, {0x5382, 0x00, 0, 0}, {0x5383, 0x4e, 0, 0},
+       {0x5384, 0x00, 0, 0}, {0x5385, 0x0f, 0, 0}, {0x5386, 0x00, 0, 0},
+       {0x5387, 0x00, 0, 0}, {0x5388, 0x01, 0, 0}, {0x5389, 0x15, 0, 0},
+       {0x538a, 0x00, 0, 0}, {0x538b, 0x31, 0, 0}, {0x538c, 0x00, 0, 0},
+       {0x538d, 0x00, 0, 0}, {0x538e, 0x00, 0, 0}, {0x538f, 0x0f, 0, 0},
+       {0x5390, 0x00, 0, 0}, {0x5391, 0xab, 0, 0}, {0x5392, 0x00, 0, 0},
+       {0x5393, 0xa2, 0, 0}, {0x5394, 0x08, 0, 0}, {0x5480, 0x14, 0, 0},
+       {0x5481, 0x21, 0, 0}, {0x5482, 0x36, 0, 0}, {0x5483, 0x57, 0, 0},
+       {0x5484, 0x65, 0, 0}, {0x5485, 0x71, 0, 0}, {0x5486, 0x7d, 0, 0},
+       {0x5487, 0x87, 0, 0}, {0x5488, 0x91, 0, 0}, {0x5489, 0x9a, 0, 0},
+       {0x548a, 0xaa, 0, 0}, {0x548b, 0xb8, 0, 0}, {0x548c, 0xcd, 0, 0},
+       {0x548d, 0xdd, 0, 0}, {0x548e, 0xea, 0, 0}, {0x548f, 0x1d, 0, 0},
+       {0x5490, 0x05, 0, 0}, {0x5491, 0x00, 0, 0}, {0x5492, 0x04, 0, 0},
+       {0x5493, 0x20, 0, 0}, {0x5494, 0x03, 0, 0}, {0x5495, 0x60, 0, 0},
+       {0x5496, 0x02, 0, 0}, {0x5497, 0xb8, 0, 0}, {0x5498, 0x02, 0, 0},
+       {0x5499, 0x86, 0, 0}, {0x549a, 0x02, 0, 0}, {0x549b, 0x5b, 0, 0},
+       {0x549c, 0x02, 0, 0}, {0x549d, 0x3b, 0, 0}, {0x549e, 0x02, 0, 0},
+       {0x549f, 0x1c, 0, 0}, {0x54a0, 0x02, 0, 0}, {0x54a1, 0x04, 0, 0},
+       {0x54a2, 0x01, 0, 0}, {0x54a3, 0xed, 0, 0}, {0x54a4, 0x01, 0, 0},
+       {0x54a5, 0xc5, 0, 0}, {0x54a6, 0x01, 0, 0}, {0x54a7, 0xa5, 0, 0},
+       {0x54a8, 0x01, 0, 0}, {0x54a9, 0x6c, 0, 0}, {0x54aa, 0x01, 0, 0},
+       {0x54ab, 0x41, 0, 0}, {0x54ac, 0x01, 0, 0}, {0x54ad, 0x20, 0, 0},
+       {0x54ae, 0x00, 0, 0}, {0x54af, 0x16, 0, 0}, {0x54b0, 0x01, 0, 0},
+       {0x54b1, 0x20, 0, 0}, {0x54b2, 0x00, 0, 0}, {0x54b3, 0x10, 0, 0},
+       {0x54b4, 0x00, 0, 0}, {0x54b5, 0xf0, 0, 0}, {0x54b6, 0x00, 0, 0},
+       {0x54b7, 0xdf, 0, 0}, {0x5402, 0x3f, 0, 0}, {0x5403, 0x00, 0, 0},
+       {0x3406, 0x00, 0, 0}, {0x5180, 0xff, 0, 0}, {0x5181, 0x52, 0, 0},
+       {0x5182, 0x11, 0, 0}, {0x5183, 0x14, 0, 0}, {0x5184, 0x25, 0, 0},
+       {0x5185, 0x24, 0, 0}, {0x5186, 0x06, 0, 0}, {0x5187, 0x08, 0, 0},
+       {0x5188, 0x08, 0, 0}, {0x5189, 0x7c, 0, 0}, {0x518a, 0x60, 0, 0},
+       {0x518b, 0xb2, 0, 0}, {0x518c, 0xb2, 0, 0}, {0x518d, 0x44, 0, 0},
+       {0x518e, 0x3d, 0, 0}, {0x518f, 0x58, 0, 0}, {0x5190, 0x46, 0, 0},
+       {0x5191, 0xf8, 0, 0}, {0x5192, 0x04, 0, 0}, {0x5193, 0x70, 0, 0},
+       {0x5194, 0xf0, 0, 0}, {0x5195, 0xf0, 0, 0}, {0x5196, 0x03, 0, 0},
+       {0x5197, 0x01, 0, 0}, {0x5198, 0x04, 0, 0}, {0x5199, 0x12, 0, 0},
+       {0x519a, 0x04, 0, 0}, {0x519b, 0x00, 0, 0}, {0x519c, 0x06, 0, 0},
+       {0x519d, 0x82, 0, 0}, {0x519e, 0x00, 0, 0}, {0x5025, 0x80, 0, 0},
+       {0x3a0f, 0x38, 0, 0}, {0x3a10, 0x30, 0, 0}, {0x3a1b, 0x3a, 0, 0},
+       {0x3a1e, 0x2e, 0, 0}, {0x3a11, 0x60, 0, 0}, {0x3a1f, 0x10, 0, 0},
+       {0x5688, 0xa6, 0, 0}, {0x5689, 0x6a, 0, 0}, {0x568a, 0xea, 0, 0},
+       {0x568b, 0xae, 0, 0}, {0x568c, 0xa6, 0, 0}, {0x568d, 0x6a, 0, 0},
+       {0x568e, 0x62, 0, 0}, {0x568f, 0x26, 0, 0}, {0x5583, 0x40, 0, 0},
+       {0x5584, 0x40, 0, 0}, {0x5580, 0x02, 0, 0}, {0x5000, 0xcf, 0, 0},
+       {0x5800, 0x27, 0, 0}, {0x5801, 0x19, 0, 0}, {0x5802, 0x12, 0, 0},
+       {0x5803, 0x0f, 0, 0}, {0x5804, 0x10, 0, 0}, {0x5805, 0x15, 0, 0},
+       {0x5806, 0x1e, 0, 0}, {0x5807, 0x2f, 0, 0}, {0x5808, 0x15, 0, 0},
+       {0x5809, 0x0d, 0, 0}, {0x580a, 0x0a, 0, 0}, {0x580b, 0x09, 0, 0},
+       {0x580c, 0x0a, 0, 0}, {0x580d, 0x0c, 0, 0}, {0x580e, 0x12, 0, 0},
+       {0x580f, 0x19, 0, 0}, {0x5810, 0x0b, 0, 0}, {0x5811, 0x07, 0, 0},
+       {0x5812, 0x04, 0, 0}, {0x5813, 0x03, 0, 0}, {0x5814, 0x03, 0, 0},
+       {0x5815, 0x06, 0, 0}, {0x5816, 0x0a, 0, 0}, {0x5817, 0x0f, 0, 0},
+       {0x5818, 0x0a, 0, 0}, {0x5819, 0x05, 0, 0}, {0x581a, 0x01, 0, 0},
+       {0x581b, 0x00, 0, 0}, {0x581c, 0x00, 0, 0}, {0x581d, 0x03, 0, 0},
+       {0x581e, 0x08, 0, 0}, {0x581f, 0x0c, 0, 0}, {0x5820, 0x0a, 0, 0},
+       {0x5821, 0x05, 0, 0}, {0x5822, 0x01, 0, 0}, {0x5823, 0x00, 0, 0},
+       {0x5824, 0x00, 0, 0}, {0x5825, 0x03, 0, 0}, {0x5826, 0x08, 0, 0},
+       {0x5827, 0x0c, 0, 0}, {0x5828, 0x0e, 0, 0}, {0x5829, 0x08, 0, 0},
+       {0x582a, 0x06, 0, 0}, {0x582b, 0x04, 0, 0}, {0x582c, 0x05, 0, 0},
+       {0x582d, 0x07, 0, 0}, {0x582e, 0x0b, 0, 0}, {0x582f, 0x12, 0, 0},
+       {0x5830, 0x18, 0, 0}, {0x5831, 0x10, 0, 0}, {0x5832, 0x0c, 0, 0},
+       {0x5833, 0x0a, 0, 0}, {0x5834, 0x0b, 0, 0}, {0x5835, 0x0e, 0, 0},
+       {0x5836, 0x15, 0, 0}, {0x5837, 0x19, 0, 0}, {0x5838, 0x32, 0, 0},
+       {0x5839, 0x1f, 0, 0}, {0x583a, 0x18, 0, 0}, {0x583b, 0x16, 0, 0},
+       {0x583c, 0x17, 0, 0}, {0x583d, 0x1e, 0, 0}, {0x583e, 0x26, 0, 0},
+       {0x583f, 0x53, 0, 0}, {0x5840, 0x10, 0, 0}, {0x5841, 0x0f, 0, 0},
+       {0x5842, 0x0d, 0, 0}, {0x5843, 0x0c, 0, 0}, {0x5844, 0x0e, 0, 0},
+       {0x5845, 0x09, 0, 0}, {0x5846, 0x11, 0, 0}, {0x5847, 0x10, 0, 0},
+       {0x5848, 0x10, 0, 0}, {0x5849, 0x10, 0, 0}, {0x584a, 0x10, 0, 0},
+       {0x584b, 0x0e, 0, 0}, {0x584c, 0x10, 0, 0}, {0x584d, 0x10, 0, 0},
+       {0x584e, 0x11, 0, 0}, {0x584f, 0x10, 0, 0}, {0x5850, 0x0f, 0, 0},
+       {0x5851, 0x0c, 0, 0}, {0x5852, 0x0f, 0, 0}, {0x5853, 0x10, 0, 0},
+       {0x5854, 0x10, 0, 0}, {0x5855, 0x0f, 0, 0}, {0x5856, 0x0e, 0, 0},
+       {0x5857, 0x0b, 0, 0}, {0x5858, 0x10, 0, 0}, {0x5859, 0x0d, 0, 0},
+       {0x585a, 0x0d, 0, 0}, {0x585b, 0x0c, 0, 0}, {0x585c, 0x0c, 0, 0},
+       {0x585d, 0x0c, 0, 0}, {0x585e, 0x0b, 0, 0}, {0x585f, 0x0c, 0, 0},
+       {0x5860, 0x0c, 0, 0}, {0x5861, 0x0c, 0, 0}, {0x5862, 0x0d, 0, 0},
+       {0x5863, 0x08, 0, 0}, {0x5864, 0x11, 0, 0}, {0x5865, 0x18, 0, 0},
+       {0x5866, 0x18, 0, 0}, {0x5867, 0x19, 0, 0}, {0x5868, 0x17, 0, 0},
+       {0x5869, 0x19, 0, 0}, {0x586a, 0x16, 0, 0}, {0x586b, 0x13, 0, 0},
+       {0x586c, 0x13, 0, 0}, {0x586d, 0x12, 0, 0}, {0x586e, 0x13, 0, 0},
+       {0x586f, 0x16, 0, 0}, {0x5870, 0x14, 0, 0}, {0x5871, 0x12, 0, 0},
+       {0x5872, 0x10, 0, 0}, {0x5873, 0x11, 0, 0}, {0x5874, 0x11, 0, 0},
+       {0x5875, 0x16, 0, 0}, {0x5876, 0x14, 0, 0}, {0x5877, 0x11, 0, 0},
+       {0x5878, 0x10, 0, 0}, {0x5879, 0x0f, 0, 0}, {0x587a, 0x10, 0, 0},
+       {0x587b, 0x14, 0, 0}, {0x587c, 0x13, 0, 0}, {0x587d, 0x12, 0, 0},
+       {0x587e, 0x11, 0, 0}, {0x587f, 0x11, 0, 0}, {0x5880, 0x12, 0, 0},
+       {0x5881, 0x15, 0, 0}, {0x5882, 0x14, 0, 0}, {0x5883, 0x15, 0, 0},
+       {0x5884, 0x15, 0, 0}, {0x5885, 0x15, 0, 0}, {0x5886, 0x13, 0, 0},
+       {0x5887, 0x17, 0, 0}, {0x3710, 0x10, 0, 0}, {0x3632, 0x51, 0, 0},
+       {0x3702, 0x10, 0, 0}, {0x3703, 0xb2, 0, 0}, {0x3704, 0x18, 0, 0},
+       {0x370b, 0x40, 0, 0}, {0x370d, 0x03, 0, 0}, {0x3631, 0x01, 0, 0},
+       {0x3632, 0x52, 0, 0}, {0x3606, 0x24, 0, 0}, {0x3620, 0x96, 0, 0},
+       {0x5785, 0x07, 0, 0}, {0x3a13, 0x30, 0, 0}, {0x3600, 0x52, 0, 0},
+       {0x3604, 0x48, 0, 0}, {0x3606, 0x1b, 0, 0}, {0x370d, 0x0b, 0, 0},
+       {0x370f, 0xc0, 0, 0}, {0x3709, 0x01, 0, 0}, {0x3823, 0x00, 0, 0},
+       {0x5007, 0x00, 0, 0}, {0x5009, 0x00, 0, 0}, {0x5011, 0x00, 0, 0},
+       {0x5013, 0x00, 0, 0}, {0x519e, 0x00, 0, 0}, {0x5086, 0x00, 0, 0},
+       {0x5087, 0x00, 0, 0}, {0x5088, 0x00, 0, 0}, {0x5089, 0x00, 0, 0},
+       {0x302b, 0x00, 0, 0}, {0x3621, 0x87, 0, 0}, {0x3a00, 0x78, 0, 0},
+       {0x302c, 0x60, 0x60, 0},
+};
+
+static struct reg_value ov5642_setting_30fps_PAL_720_576[] = {
+       {0x3103, 0x93, 0, 0}, {0x3008, 0x82, 0, 0}, {0x3017, 0x7f, 0, 0},
+       {0x3018, 0xfc, 0, 0}, {0x3615, 0xf0, 0, 0}, {0x3000, 0x00, 0, 0},
+       {0x3001, 0x00, 0, 0}, {0x3002, 0x5c, 0, 0}, {0x3003, 0x00, 0, 0},
+       {0x3004, 0xff, 0, 0}, {0x3005, 0xff, 0, 0}, {0x3006, 0x43, 0, 0},
+       {0x3007, 0x37, 0, 0}, {0x3011, 0x09, 0, 0}, {0x3012, 0x02, 0, 0},
+       {0x3010, 0x00, 0, 0}, {0x460c, 0x20, 0, 0}, {0x3815, 0x04, 0, 0},
+       {0x370c, 0xa0, 0, 0}, {0x3602, 0xfc, 0, 0}, {0x3612, 0xff, 0, 0},
+       {0x3634, 0xc0, 0, 0}, {0x3613, 0x00, 0, 0}, {0x3605, 0x7c, 0, 0},
+       {0x3621, 0x09, 0, 0}, {0x3622, 0x60, 0, 0}, {0x3604, 0x40, 0, 0},
+       {0x3603, 0xa7, 0, 0}, {0x3603, 0x27, 0, 0}, {0x4000, 0x21, 0, 0},
+       {0x401d, 0x22, 0, 0}, {0x3600, 0x54, 0, 0}, {0x3605, 0x04, 0, 0},
+       {0x3606, 0x3f, 0, 0}, {0x3c01, 0x80, 0, 0}, {0x5000, 0x4f, 0, 0},
+       {0x5020, 0x04, 0, 0}, {0x5181, 0x79, 0, 0}, {0x5182, 0x00, 0, 0},
+       {0x5185, 0x22, 0, 0}, {0x5197, 0x01, 0, 0}, {0x5001, 0xff, 0, 0},
+       {0x5500, 0x0a, 0, 0}, {0x5504, 0x00, 0, 0}, {0x5505, 0x7f, 0, 0},
+       {0x5080, 0x08, 0, 0}, {0x300e, 0x18, 0, 0}, {0x4610, 0x00, 0, 0},
+       {0x471d, 0x05, 0, 0}, {0x4708, 0x06, 0, 0}, {0x3808, 0x02, 0, 0},
+       {0x3809, 0xd0, 0, 0}, {0x380a, 0x02, 0, 0}, {0x380b, 0x40, 0, 0},
+       {0x380e, 0x07, 0, 0}, {0x380f, 0xd0, 0, 0}, {0x501f, 0x00, 0, 0},
+       {0x5000, 0x4f, 0, 0}, {0x4300, 0x30, 0, 0}, {0x3503, 0x07, 0, 0},
+       {0x3501, 0x73, 0, 0}, {0x3502, 0x80, 0, 0}, {0x350b, 0x00, 0, 0},
+       {0x3503, 0x07, 0, 0}, {0x3824, 0x11, 0, 0}, {0x3825, 0xd8, 0, 0},
+       {0x3501, 0x1e, 0, 0}, {0x3502, 0x80, 0, 0}, {0x350b, 0x7f, 0, 0},
+       {0x380c, 0x07, 0, 0}, {0x380d, 0x2a, 0, 0}, {0x380e, 0x03, 0, 0},
+       {0x380f, 0xe8, 0, 0}, {0x3a0d, 0x04, 0, 0}, {0x3a0e, 0x03, 0, 0},
+       {0x3818, 0xc1, 0, 0}, {0x3705, 0xdb, 0, 0}, {0x370a, 0x81, 0, 0},
+       {0x3801, 0x80, 0, 0}, {0x3621, 0xc7, 0, 0}, {0x3801, 0x50, 0, 0},
+       {0x3803, 0x08, 0, 0}, {0x3827, 0x3c, 0, 0}, {0x3810, 0x80, 0, 0},
+       {0x3804, 0x04, 0, 0}, {0x3805, 0xb0, 0, 0}, {0x5682, 0x04, 0, 0},
+       {0x5683, 0xb0, 0, 0}, {0x3806, 0x03, 0, 0}, {0x3807, 0x58, 0, 0},
+       {0x5686, 0x03, 0, 0}, {0x5687, 0x58, 0, 0}, {0x3a00, 0x78, 0, 0},
+       {0x3a1a, 0x05, 0, 0}, {0x3a13, 0x30, 0, 0}, {0x3a18, 0x00, 0, 0},
+       {0x3a19, 0x7c, 0, 0}, {0x3a08, 0x12, 0, 0}, {0x3a09, 0xc0, 0, 0},
+       {0x3a0a, 0x0f, 0, 0}, {0x3a0b, 0xa0, 0, 0}, {0x350c, 0x07, 0, 0},
+       {0x350d, 0xd0, 0, 0}, {0x3500, 0x00, 0, 0}, {0x3501, 0x00, 0, 0},
+       {0x3502, 0x00, 0, 0}, {0x350a, 0x00, 0, 0}, {0x350b, 0x00, 0, 0},
+       {0x3503, 0x00, 0, 0}, {0x528a, 0x02, 0, 0}, {0x528b, 0x04, 0, 0},
+       {0x528c, 0x08, 0, 0}, {0x528d, 0x08, 0, 0}, {0x528e, 0x08, 0, 0},
+       {0x528f, 0x10, 0, 0}, {0x5290, 0x10, 0, 0}, {0x5292, 0x00, 0, 0},
+       {0x5293, 0x02, 0, 0}, {0x5294, 0x00, 0, 0}, {0x5295, 0x02, 0, 0},
+       {0x5296, 0x00, 0, 0}, {0x5297, 0x02, 0, 0}, {0x5298, 0x00, 0, 0},
+       {0x5299, 0x02, 0, 0}, {0x529a, 0x00, 0, 0}, {0x529b, 0x02, 0, 0},
+       {0x529c, 0x00, 0, 0}, {0x529d, 0x02, 0, 0}, {0x529e, 0x00, 0, 0},
+       {0x529f, 0x02, 0, 0}, {0x3a0f, 0x3c, 0, 0}, {0x3a10, 0x30, 0, 0},
+       {0x3a1b, 0x3c, 0, 0}, {0x3a1e, 0x30, 0, 0}, {0x3a11, 0x70, 0, 0},
+       {0x3a1f, 0x10, 0, 0}, {0x3030, 0x2b, 0, 0}, {0x3a02, 0x00, 0, 0},
+       {0x3a03, 0x7d, 0, 0}, {0x3a04, 0x00, 0, 0}, {0x3a14, 0x00, 0, 0},
+       {0x3a15, 0x7d, 0, 0}, {0x3a16, 0x00, 0, 0}, {0x3a00, 0x78, 0, 0},
+       {0x3a08, 0x12, 0, 0}, {0x3a09, 0xc0, 0, 0}, {0x3a0a, 0x0f, 0, 0},
+       {0x3a0b, 0xa0, 0, 0}, {0x3a0d, 0x04, 0, 0}, {0x3a0e, 0x03, 0, 0},
+       {0x5193, 0x70, 0, 0}, {0x589b, 0x04, 0, 0}, {0x589a, 0xc5, 0, 0},
+       {0x401e, 0x20, 0, 0}, {0x4001, 0x42, 0, 0}, {0x401c, 0x04, 0, 0},
+       {0x528a, 0x01, 0, 0}, {0x528b, 0x04, 0, 0}, {0x528c, 0x08, 0, 0},
+       {0x528d, 0x10, 0, 0}, {0x528e, 0x20, 0, 0}, {0x528f, 0x28, 0, 0},
+       {0x5290, 0x30, 0, 0}, {0x5292, 0x00, 0, 0}, {0x5293, 0x01, 0, 0},
+       {0x5294, 0x00, 0, 0}, {0x5295, 0x04, 0, 0}, {0x5296, 0x00, 0, 0},
+       {0x5297, 0x08, 0, 0}, {0x5298, 0x00, 0, 0}, {0x5299, 0x10, 0, 0},
+       {0x529a, 0x00, 0, 0}, {0x529b, 0x20, 0, 0}, {0x529c, 0x00, 0, 0},
+       {0x529d, 0x28, 0, 0}, {0x529e, 0x00, 0, 0}, {0x529f, 0x30, 0, 0},
+       {0x5282, 0x00, 0, 0}, {0x5300, 0x00, 0, 0}, {0x5301, 0x20, 0, 0},
+       {0x5302, 0x00, 0, 0}, {0x5303, 0x7c, 0, 0}, {0x530c, 0x00, 0, 0},
+       {0x530d, 0x0c, 0, 0}, {0x530e, 0x20, 0, 0}, {0x530f, 0x80, 0, 0},
+       {0x5310, 0x20, 0, 0}, {0x5311, 0x80, 0, 0}, {0x5308, 0x20, 0, 0},
+       {0x5309, 0x40, 0, 0}, {0x5304, 0x00, 0, 0}, {0x5305, 0x30, 0, 0},
+       {0x5306, 0x00, 0, 0}, {0x5307, 0x80, 0, 0}, {0x5314, 0x08, 0, 0},
+       {0x5315, 0x20, 0, 0}, {0x5319, 0x30, 0, 0}, {0x5316, 0x10, 0, 0},
+       {0x5317, 0x00, 0, 0}, {0x5318, 0x02, 0, 0}, {0x5380, 0x01, 0, 0},
+       {0x5381, 0x00, 0, 0}, {0x5382, 0x00, 0, 0}, {0x5383, 0x4e, 0, 0},
+       {0x5384, 0x00, 0, 0}, {0x5385, 0x0f, 0, 0}, {0x5386, 0x00, 0, 0},
+       {0x5387, 0x00, 0, 0}, {0x5388, 0x01, 0, 0}, {0x5389, 0x15, 0, 0},
+       {0x538a, 0x00, 0, 0}, {0x538b, 0x31, 0, 0}, {0x538c, 0x00, 0, 0},
+       {0x538d, 0x00, 0, 0}, {0x538e, 0x00, 0, 0}, {0x538f, 0x0f, 0, 0},
+       {0x5390, 0x00, 0, 0}, {0x5391, 0xab, 0, 0}, {0x5392, 0x00, 0, 0},
+       {0x5393, 0xa2, 0, 0}, {0x5394, 0x08, 0, 0}, {0x5480, 0x14, 0, 0},
+       {0x5481, 0x21, 0, 0}, {0x5482, 0x36, 0, 0}, {0x5483, 0x57, 0, 0},
+       {0x5484, 0x65, 0, 0}, {0x5485, 0x71, 0, 0}, {0x5486, 0x7d, 0, 0},
+       {0x5487, 0x87, 0, 0}, {0x5488, 0x91, 0, 0}, {0x5489, 0x9a, 0, 0},
+       {0x548a, 0xaa, 0, 0}, {0x548b, 0xb8, 0, 0}, {0x548c, 0xcd, 0, 0},
+       {0x548d, 0xdd, 0, 0}, {0x548e, 0xea, 0, 0}, {0x548f, 0x1d, 0, 0},
+       {0x5490, 0x05, 0, 0}, {0x5491, 0x00, 0, 0}, {0x5492, 0x04, 0, 0},
+       {0x5493, 0x20, 0, 0}, {0x5494, 0x03, 0, 0}, {0x5495, 0x60, 0, 0},
+       {0x5496, 0x02, 0, 0}, {0x5497, 0xb8, 0, 0}, {0x5498, 0x02, 0, 0},
+       {0x5499, 0x86, 0, 0}, {0x549a, 0x02, 0, 0}, {0x549b, 0x5b, 0, 0},
+       {0x549c, 0x02, 0, 0}, {0x549d, 0x3b, 0, 0}, {0x549e, 0x02, 0, 0},
+       {0x549f, 0x1c, 0, 0}, {0x54a0, 0x02, 0, 0}, {0x54a1, 0x04, 0, 0},
+       {0x54a2, 0x01, 0, 0}, {0x54a3, 0xed, 0, 0}, {0x54a4, 0x01, 0, 0},
+       {0x54a5, 0xc5, 0, 0}, {0x54a6, 0x01, 0, 0}, {0x54a7, 0xa5, 0, 0},
+       {0x54a8, 0x01, 0, 0}, {0x54a9, 0x6c, 0, 0}, {0x54aa, 0x01, 0, 0},
+       {0x54ab, 0x41, 0, 0}, {0x54ac, 0x01, 0, 0}, {0x54ad, 0x20, 0, 0},
+       {0x54ae, 0x00, 0, 0}, {0x54af, 0x16, 0, 0}, {0x54b0, 0x01, 0, 0},
+       {0x54b1, 0x20, 0, 0}, {0x54b2, 0x00, 0, 0}, {0x54b3, 0x10, 0, 0},
+       {0x54b4, 0x00, 0, 0}, {0x54b5, 0xf0, 0, 0}, {0x54b6, 0x00, 0, 0},
+       {0x54b7, 0xdf, 0, 0}, {0x5402, 0x3f, 0, 0}, {0x5403, 0x00, 0, 0},
+       {0x3406, 0x00, 0, 0}, {0x5180, 0xff, 0, 0}, {0x5181, 0x52, 0, 0},
+       {0x5182, 0x11, 0, 0}, {0x5183, 0x14, 0, 0}, {0x5184, 0x25, 0, 0},
+       {0x5185, 0x24, 0, 0}, {0x5186, 0x06, 0, 0}, {0x5187, 0x08, 0, 0},
+       {0x5188, 0x08, 0, 0}, {0x5189, 0x7c, 0, 0}, {0x518a, 0x60, 0, 0},
+       {0x518b, 0xb2, 0, 0}, {0x518c, 0xb2, 0, 0}, {0x518d, 0x44, 0, 0},
+       {0x518e, 0x3d, 0, 0}, {0x518f, 0x58, 0, 0}, {0x5190, 0x46, 0, 0},
+       {0x5191, 0xf8, 0, 0}, {0x5192, 0x04, 0, 0}, {0x5193, 0x70, 0, 0},
+       {0x5194, 0xf0, 0, 0}, {0x5195, 0xf0, 0, 0}, {0x5196, 0x03, 0, 0},
+       {0x5197, 0x01, 0, 0}, {0x5198, 0x04, 0, 0}, {0x5199, 0x12, 0, 0},
+       {0x519a, 0x04, 0, 0}, {0x519b, 0x00, 0, 0}, {0x519c, 0x06, 0, 0},
+       {0x519d, 0x82, 0, 0}, {0x519e, 0x00, 0, 0}, {0x5025, 0x80, 0, 0},
+       {0x3a0f, 0x38, 0, 0}, {0x3a10, 0x30, 0, 0}, {0x3a1b, 0x3a, 0, 0},
+       {0x3a1e, 0x2e, 0, 0}, {0x3a11, 0x60, 0, 0}, {0x3a1f, 0x10, 0, 0},
+       {0x5688, 0xa6, 0, 0}, {0x5689, 0x6a, 0, 0}, {0x568a, 0xea, 0, 0},
+       {0x568b, 0xae, 0, 0}, {0x568c, 0xa6, 0, 0}, {0x568d, 0x6a, 0, 0},
+       {0x568e, 0x62, 0, 0}, {0x568f, 0x26, 0, 0}, {0x5583, 0x40, 0, 0},
+       {0x5584, 0x40, 0, 0}, {0x5580, 0x02, 0, 0}, {0x5000, 0xcf, 0, 0},
+       {0x5800, 0x27, 0, 0}, {0x5801, 0x19, 0, 0}, {0x5802, 0x12, 0, 0},
+       {0x5803, 0x0f, 0, 0}, {0x5804, 0x10, 0, 0}, {0x5805, 0x15, 0, 0},
+       {0x5806, 0x1e, 0, 0}, {0x5807, 0x2f, 0, 0}, {0x5808, 0x15, 0, 0},
+       {0x5809, 0x0d, 0, 0}, {0x580a, 0x0a, 0, 0}, {0x580b, 0x09, 0, 0},
+       {0x580c, 0x0a, 0, 0}, {0x580d, 0x0c, 0, 0}, {0x580e, 0x12, 0, 0},
+       {0x580f, 0x19, 0, 0}, {0x5810, 0x0b, 0, 0}, {0x5811, 0x07, 0, 0},
+       {0x5812, 0x04, 0, 0}, {0x5813, 0x03, 0, 0}, {0x5814, 0x03, 0, 0},
+       {0x5815, 0x06, 0, 0}, {0x5816, 0x0a, 0, 0}, {0x5817, 0x0f, 0, 0},
+       {0x5818, 0x0a, 0, 0}, {0x5819, 0x05, 0, 0}, {0x581a, 0x01, 0, 0},
+       {0x581b, 0x00, 0, 0}, {0x581c, 0x00, 0, 0}, {0x581d, 0x03, 0, 0},
+       {0x581e, 0x08, 0, 0}, {0x581f, 0x0c, 0, 0}, {0x5820, 0x0a, 0, 0},
+       {0x5821, 0x05, 0, 0}, {0x5822, 0x01, 0, 0}, {0x5823, 0x00, 0, 0},
+       {0x5824, 0x00, 0, 0}, {0x5825, 0x03, 0, 0}, {0x5826, 0x08, 0, 0},
+       {0x5827, 0x0c, 0, 0}, {0x5828, 0x0e, 0, 0}, {0x5829, 0x08, 0, 0},
+       {0x582a, 0x06, 0, 0}, {0x582b, 0x04, 0, 0}, {0x582c, 0x05, 0, 0},
+       {0x582d, 0x07, 0, 0}, {0x582e, 0x0b, 0, 0}, {0x582f, 0x12, 0, 0},
+       {0x5830, 0x18, 0, 0}, {0x5831, 0x10, 0, 0}, {0x5832, 0x0c, 0, 0},
+       {0x5833, 0x0a, 0, 0}, {0x5834, 0x0b, 0, 0}, {0x5835, 0x0e, 0, 0},
+       {0x5836, 0x15, 0, 0}, {0x5837, 0x19, 0, 0}, {0x5838, 0x32, 0, 0},
+       {0x5839, 0x1f, 0, 0}, {0x583a, 0x18, 0, 0}, {0x583b, 0x16, 0, 0},
+       {0x583c, 0x17, 0, 0}, {0x583d, 0x1e, 0, 0}, {0x583e, 0x26, 0, 0},
+       {0x583f, 0x53, 0, 0}, {0x5840, 0x10, 0, 0}, {0x5841, 0x0f, 0, 0},
+       {0x5842, 0x0d, 0, 0}, {0x5843, 0x0c, 0, 0}, {0x5844, 0x0e, 0, 0},
+       {0x5845, 0x09, 0, 0}, {0x5846, 0x11, 0, 0}, {0x5847, 0x10, 0, 0},
+       {0x5848, 0x10, 0, 0}, {0x5849, 0x10, 0, 0}, {0x584a, 0x10, 0, 0},
+       {0x584b, 0x0e, 0, 0}, {0x584c, 0x10, 0, 0}, {0x584d, 0x10, 0, 0},
+       {0x584e, 0x11, 0, 0}, {0x584f, 0x10, 0, 0}, {0x5850, 0x0f, 0, 0},
+       {0x5851, 0x0c, 0, 0}, {0x5852, 0x0f, 0, 0}, {0x5853, 0x10, 0, 0},
+       {0x5854, 0x10, 0, 0}, {0x5855, 0x0f, 0, 0}, {0x5856, 0x0e, 0, 0},
+       {0x5857, 0x0b, 0, 0}, {0x5858, 0x10, 0, 0}, {0x5859, 0x0d, 0, 0},
+       {0x585a, 0x0d, 0, 0}, {0x585b, 0x0c, 0, 0}, {0x585c, 0x0c, 0, 0},
+       {0x585d, 0x0c, 0, 0}, {0x585e, 0x0b, 0, 0}, {0x585f, 0x0c, 0, 0},
+       {0x5860, 0x0c, 0, 0}, {0x5861, 0x0c, 0, 0}, {0x5862, 0x0d, 0, 0},
+       {0x5863, 0x08, 0, 0}, {0x5864, 0x11, 0, 0}, {0x5865, 0x18, 0, 0},
+       {0x5866, 0x18, 0, 0}, {0x5867, 0x19, 0, 0}, {0x5868, 0x17, 0, 0},
+       {0x5869, 0x19, 0, 0}, {0x586a, 0x16, 0, 0}, {0x586b, 0x13, 0, 0},
+       {0x586c, 0x13, 0, 0}, {0x586d, 0x12, 0, 0}, {0x586e, 0x13, 0, 0},
+       {0x586f, 0x16, 0, 0}, {0x5870, 0x14, 0, 0}, {0x5871, 0x12, 0, 0},
+       {0x5872, 0x10, 0, 0}, {0x5873, 0x11, 0, 0}, {0x5874, 0x11, 0, 0},
+       {0x5875, 0x16, 0, 0}, {0x5876, 0x14, 0, 0}, {0x5877, 0x11, 0, 0},
+       {0x5878, 0x10, 0, 0}, {0x5879, 0x0f, 0, 0}, {0x587a, 0x10, 0, 0},
+       {0x587b, 0x14, 0, 0}, {0x587c, 0x13, 0, 0}, {0x587d, 0x12, 0, 0},
+       {0x587e, 0x11, 0, 0}, {0x587f, 0x11, 0, 0}, {0x5880, 0x12, 0, 0},
+       {0x5881, 0x15, 0, 0}, {0x5882, 0x14, 0, 0}, {0x5883, 0x15, 0, 0},
+       {0x5884, 0x15, 0, 0}, {0x5885, 0x15, 0, 0}, {0x5886, 0x13, 0, 0},
+       {0x5887, 0x17, 0, 0}, {0x3710, 0x10, 0, 0}, {0x3632, 0x51, 0, 0},
+       {0x3702, 0x10, 0, 0}, {0x3703, 0xb2, 0, 0}, {0x3704, 0x18, 0, 0},
+       {0x370b, 0x40, 0, 0}, {0x370d, 0x03, 0, 0}, {0x3631, 0x01, 0, 0},
+       {0x3632, 0x52, 0, 0}, {0x3606, 0x24, 0, 0}, {0x3620, 0x96, 0, 0},
+       {0x5785, 0x07, 0, 0}, {0x3a13, 0x30, 0, 0}, {0x3600, 0x52, 0, 0},
+       {0x3604, 0x48, 0, 0}, {0x3606, 0x1b, 0, 0}, {0x370d, 0x0b, 0, 0},
+       {0x370f, 0xc0, 0, 0}, {0x3709, 0x01, 0, 0}, {0x3823, 0x00, 0, 0},
+       {0x5007, 0x00, 0, 0}, {0x5009, 0x00, 0, 0}, {0x5011, 0x00, 0, 0},
+       {0x5013, 0x00, 0, 0}, {0x519e, 0x00, 0, 0}, {0x5086, 0x00, 0, 0},
+       {0x5087, 0x00, 0, 0}, {0x5088, 0x00, 0, 0}, {0x5089, 0x00, 0, 0},
+       {0x302b, 0x00, 0, 0}, {0x3621, 0x87, 0, 0}, {0x3a00, 0x78, 0, 0},
+       {0x302c, 0x60, 0x60, 0},
+};
+
+static struct reg_value ov5642_setting_15fps_720P_1280_720[] = {
+       {0x3103, 0x93, 0, 0}, {0x3008, 0x82, 0, 0}, {0x3017, 0x7f, 0, 0},
+       {0x3018, 0xfc, 0, 0}, {0x3810, 0xc2, 0, 0}, {0x3615, 0xf0, 0, 0},
+       {0x3000, 0x00, 0, 0}, {0x3001, 0x00, 0, 0}, {0x3002, 0x00, 0, 0},
+       {0x3003, 0x00, 0, 0}, {0x3004, 0xff, 0, 0}, {0x3030, 0x2b, 0, 0},
+       {0x3011, 0x08, 0, 0}, {0x3010, 0x10, 0, 0}, {0x3604, 0x60, 0, 0},
+       {0x3622, 0x60, 0, 0}, {0x3621, 0x09, 0, 0}, {0x3709, 0x00, 0, 0},
+       {0x4000, 0x21, 0, 0}, {0x401d, 0x22, 0, 0}, {0x3600, 0x54, 0, 0},
+       {0x3605, 0x04, 0, 0}, {0x3606, 0x3f, 0, 0}, {0x3c01, 0x80, 0, 0},
+       {0x300d, 0x22, 0, 0}, {0x3623, 0x22, 0, 0}, {0x5000, 0x4f, 0, 0},
+       {0x5020, 0x04, 0, 0}, {0x5181, 0x79, 0, 0}, {0x5182, 0x00, 0, 0},
+       {0x5185, 0x22, 0, 0}, {0x5197, 0x01, 0, 0}, {0x5500, 0x0a, 0, 0},
+       {0x5504, 0x00, 0, 0}, {0x5505, 0x7f, 0, 0}, {0x5080, 0x08, 0, 0},
+       {0x300e, 0x18, 0, 0}, {0x4610, 0x00, 0, 0}, {0x471d, 0x05, 0, 0},
+       {0x4708, 0x06, 0, 0}, {0x370c, 0xa0, 0, 0}, {0x3808, 0x0a, 0, 0},
+       {0x3809, 0x20, 0, 0}, {0x380a, 0x07, 0, 0}, {0x380b, 0x98, 0, 0},
+       {0x380c, 0x0c, 0, 0}, {0x380d, 0x80, 0, 0}, {0x380e, 0x07, 0, 0},
+       {0x380f, 0xd0, 0, 0}, {0x5687, 0x94, 0, 0}, {0x501f, 0x00, 0, 0},
+       {0x5000, 0x4f, 0, 0}, {0x5001, 0xcf, 0, 0}, {0x4300, 0x30, 0, 0},
+       {0x4300, 0x30, 0, 0}, {0x460b, 0x35, 0, 0}, {0x471d, 0x00, 0, 0},
+       {0x3002, 0x0c, 0, 0}, {0x3002, 0x00, 0, 0}, {0x4713, 0x03, 0, 0},
+       {0x471c, 0x50, 0, 0}, {0x4721, 0x02, 0, 0}, {0x4402, 0x90, 0, 0},
+       {0x460c, 0x22, 0, 0}, {0x3815, 0x44, 0, 0}, {0x3503, 0x07, 0, 0},
+       {0x3501, 0x73, 0, 0}, {0x3502, 0x80, 0, 0}, {0x350b, 0x00, 0, 0},
+       {0x3818, 0xc8, 0, 0}, {0x3801, 0x88, 0, 0}, {0x3824, 0x11, 0, 0},
+       {0x3a00, 0x78, 0, 0}, {0x3a1a, 0x04, 0, 0}, {0x3a13, 0x30, 0, 0},
+       {0x3a18, 0x00, 0, 0}, {0x3a19, 0x7c, 0, 0}, {0x3a08, 0x12, 0, 0},
+       {0x3a09, 0xc0, 0, 0}, {0x3a0a, 0x0f, 0, 0}, {0x3a0b, 0xa0, 0, 0},
+       {0x350c, 0x07, 0, 0}, {0x350d, 0xd0, 0, 0}, {0x3a0d, 0x08, 0, 0},
+       {0x3a0e, 0x06, 0, 0}, {0x3500, 0x00, 0, 0}, {0x3501, 0x00, 0, 0},
+       {0x3502, 0x00, 0, 0}, {0x350a, 0x00, 0, 0}, {0x350b, 0x00, 0, 0},
+       {0x3503, 0x00, 0, 0}, {0x3a0f, 0x3c, 0, 0}, {0x3a10, 0x32, 0, 0},
+       {0x3a1b, 0x3c, 0, 0}, {0x3a1e, 0x32, 0, 0}, {0x3a11, 0x80, 0, 0},
+       {0x3a1f, 0x20, 0, 0}, {0x3030, 0x2b, 0, 0}, {0x3a02, 0x00, 0, 0},
+       {0x3a03, 0x7d, 0, 0}, {0x3a04, 0x00, 0, 0}, {0x3a14, 0x00, 0, 0},
+       {0x3a15, 0x7d, 0, 0}, {0x3a16, 0x00, 0, 0}, {0x3a00, 0x78, 0, 0},
+       {0x3a08, 0x09, 0, 0}, {0x3a09, 0x60, 0, 0}, {0x3a0a, 0x07, 0, 0},
+       {0x3a0b, 0xd0, 0, 0}, {0x3a0d, 0x10, 0, 0}, {0x3a0e, 0x0d, 0, 0},
+       {0x4407, 0x04, 0, 0}, {0x5193, 0x70, 0, 0}, {0x589b, 0x00, 0, 0},
+       {0x589a, 0xc0, 0, 0}, {0x401e, 0x20, 0, 0}, {0x4001, 0x42, 0, 0},
+       {0x401c, 0x06, 0, 0}, {0x3825, 0xac, 0, 0}, {0x3827, 0x0c, 0, 0},
+       {0x528a, 0x01, 0, 0}, {0x528b, 0x04, 0, 0}, {0x528c, 0x08, 0, 0},
+       {0x528d, 0x10, 0, 0}, {0x528e, 0x20, 0, 0}, {0x528f, 0x28, 0, 0},
+       {0x5290, 0x30, 0, 0}, {0x5292, 0x00, 0, 0}, {0x5293, 0x01, 0, 0},
+       {0x5294, 0x00, 0, 0}, {0x5295, 0x04, 0, 0}, {0x5296, 0x00, 0, 0},
+       {0x5297, 0x08, 0, 0}, {0x5298, 0x00, 0, 0}, {0x5299, 0x10, 0, 0},
+       {0x529a, 0x00, 0, 0}, {0x529b, 0x20, 0, 0}, {0x529c, 0x00, 0, 0},
+       {0x529d, 0x28, 0, 0}, {0x529e, 0x00, 0, 0}, {0x529f, 0x30, 0, 0},
+       {0x5282, 0x00, 0, 0}, {0x5300, 0x00, 0, 0}, {0x5301, 0x20, 0, 0},
+       {0x5302, 0x00, 0, 0}, {0x5303, 0x7c, 0, 0}, {0x530c, 0x00, 0, 0},
+       {0x530d, 0x0c, 0, 0}, {0x530e, 0x20, 0, 0}, {0x530f, 0x80, 0, 0},
+       {0x5310, 0x20, 0, 0}, {0x5311, 0x80, 0, 0}, {0x5308, 0x20, 0, 0},
+       {0x5309, 0x40, 0, 0}, {0x5304, 0x00, 0, 0}, {0x5305, 0x30, 0, 0},
+       {0x5306, 0x00, 0, 0}, {0x5307, 0x80, 0, 0}, {0x5314, 0x08, 0, 0},
+       {0x5315, 0x20, 0, 0}, {0x5319, 0x30, 0, 0}, {0x5316, 0x10, 0, 0},
+       {0x5317, 0x00, 0, 0}, {0x5318, 0x02, 0, 0}, {0x5380, 0x01, 0, 0},
+       {0x5381, 0x00, 0, 0}, {0x5382, 0x00, 0, 0}, {0x5383, 0x4e, 0, 0},
+       {0x5384, 0x00, 0, 0}, {0x5385, 0x0f, 0, 0}, {0x5386, 0x00, 0, 0},
+       {0x5387, 0x00, 0, 0}, {0x5388, 0x01, 0, 0}, {0x5389, 0x15, 0, 0},
+       {0x538a, 0x00, 0, 0}, {0x538b, 0x31, 0, 0}, {0x538c, 0x00, 0, 0},
+       {0x538d, 0x00, 0, 0}, {0x538e, 0x00, 0, 0}, {0x538f, 0x0f, 0, 0},
+       {0x5390, 0x00, 0, 0}, {0x5391, 0xab, 0, 0}, {0x5392, 0x00, 0, 0},
+       {0x5393, 0xa2, 0, 0}, {0x5394, 0x08, 0, 0}, {0x5480, 0x14, 0, 0},
+       {0x5481, 0x21, 0, 0}, {0x5482, 0x36, 0, 0}, {0x5483, 0x57, 0, 0},
+       {0x5484, 0x65, 0, 0}, {0x5485, 0x71, 0, 0}, {0x5486, 0x7d, 0, 0},
+       {0x5487, 0x87, 0, 0}, {0x5488, 0x91, 0, 0}, {0x5489, 0x9a, 0, 0},
+       {0x548a, 0xaa, 0, 0}, {0x548b, 0xb8, 0, 0}, {0x548c, 0xcd, 0, 0},
+       {0x548d, 0xdd, 0, 0}, {0x548e, 0xea, 0, 0}, {0x548f, 0x1d, 0, 0},
+       {0x5490, 0x05, 0, 0}, {0x5491, 0x00, 0, 0}, {0x5492, 0x04, 0, 0},
+       {0x5493, 0x20, 0, 0}, {0x5494, 0x03, 0, 0}, {0x5495, 0x60, 0, 0},
+       {0x5496, 0x02, 0, 0}, {0x5497, 0xb8, 0, 0}, {0x5498, 0x02, 0, 0},
+       {0x5499, 0x86, 0, 0}, {0x549a, 0x02, 0, 0}, {0x549b, 0x5b, 0, 0},
+       {0x549c, 0x02, 0, 0}, {0x549d, 0x3b, 0, 0}, {0x549e, 0x02, 0, 0},
+       {0x549f, 0x1c, 0, 0}, {0x54a0, 0x02, 0, 0}, {0x54a1, 0x04, 0, 0},
+       {0x54a2, 0x01, 0, 0}, {0x54a3, 0xed, 0, 0}, {0x54a4, 0x01, 0, 0},
+       {0x54a5, 0xc5, 0, 0}, {0x54a6, 0x01, 0, 0}, {0x54a7, 0xa5, 0, 0},
+       {0x54a8, 0x01, 0, 0}, {0x54a9, 0x6c, 0, 0}, {0x54aa, 0x01, 0, 0},
+       {0x54ab, 0x41, 0, 0}, {0x54ac, 0x01, 0, 0}, {0x54ad, 0x20, 0, 0},
+       {0x54ae, 0x00, 0, 0}, {0x54af, 0x16, 0, 0}, {0x54b0, 0x01, 0, 0},
+       {0x54b1, 0x20, 0, 0}, {0x54b2, 0x00, 0, 0}, {0x54b3, 0x10, 0, 0},
+       {0x54b4, 0x00, 0, 0}, {0x54b5, 0xf0, 0, 0}, {0x54b6, 0x00, 0, 0},
+       {0x54b7, 0xdf, 0, 0}, {0x5402, 0x3f, 0, 0}, {0x5403, 0x00, 0, 0},
+       {0x3406, 0x00, 0, 0}, {0x5180, 0xff, 0, 0}, {0x5181, 0x52, 0, 0},
+       {0x5182, 0x11, 0, 0}, {0x5183, 0x14, 0, 0}, {0x5184, 0x25, 0, 0},
+       {0x5185, 0x24, 0, 0}, {0x5186, 0x06, 0, 0}, {0x5187, 0x08, 0, 0},
+       {0x5188, 0x08, 0, 0}, {0x5189, 0x7c, 0, 0}, {0x518a, 0x60, 0, 0},
+       {0x518b, 0xb2, 0, 0}, {0x518c, 0xb2, 0, 0}, {0x518d, 0x44, 0, 0},
+       {0x518e, 0x3d, 0, 0}, {0x518f, 0x58, 0, 0}, {0x5190, 0x46, 0, 0},
+       {0x5191, 0xf8, 0, 0}, {0x5192, 0x04, 0, 0}, {0x5193, 0x70, 0, 0},
+       {0x5194, 0xf0, 0, 0}, {0x5195, 0xf0, 0, 0}, {0x5196, 0x03, 0, 0},
+       {0x5197, 0x01, 0, 0}, {0x5198, 0x04, 0, 0}, {0x5199, 0x12, 0, 0},
+       {0x519a, 0x04, 0, 0}, {0x519b, 0x00, 0, 0}, {0x519c, 0x06, 0, 0},
+       {0x519d, 0x82, 0, 0}, {0x519e, 0x00, 0, 0}, {0x5025, 0x80, 0, 0},
+       {0x3a0f, 0x38, 0, 0}, {0x3a10, 0x30, 0, 0}, {0x3a1b, 0x3a, 0, 0},
+       {0x3a1e, 0x2e, 0, 0}, {0x3a11, 0x60, 0, 0}, {0x3a1f, 0x10, 0, 0},
+       {0x5688, 0xa6, 0, 0}, {0x5689, 0x6a, 0, 0}, {0x568a, 0xea, 0, 0},
+       {0x568b, 0xae, 0, 0}, {0x568c, 0xa6, 0, 0}, {0x568d, 0x6a, 0, 0},
+       {0x568e, 0x62, 0, 0}, {0x568f, 0x26, 0, 0}, {0x5583, 0x40, 0, 0},
+       {0x5584, 0x40, 0, 0}, {0x5580, 0x02, 0, 0}, {0x5000, 0xcf, 0, 0},
+       {0x5800, 0x27, 0, 0}, {0x5801, 0x19, 0, 0}, {0x5802, 0x12, 0, 0},
+       {0x5803, 0x0f, 0, 0}, {0x5804, 0x10, 0, 0}, {0x5805, 0x15, 0, 0},
+       {0x5806, 0x1e, 0, 0}, {0x5807, 0x2f, 0, 0}, {0x5808, 0x15, 0, 0},
+       {0x5809, 0x0d, 0, 0}, {0x580a, 0x0a, 0, 0}, {0x580b, 0x09, 0, 0},
+       {0x580c, 0x0a, 0, 0}, {0x580d, 0x0c, 0, 0}, {0x580e, 0x12, 0, 0},
+       {0x580f, 0x19, 0, 0}, {0x5810, 0x0b, 0, 0}, {0x5811, 0x07, 0, 0},
+       {0x5812, 0x04, 0, 0}, {0x5813, 0x03, 0, 0}, {0x5814, 0x03, 0, 0},
+       {0x5815, 0x06, 0, 0}, {0x5816, 0x0a, 0, 0}, {0x5817, 0x0f, 0, 0},
+       {0x5818, 0x0a, 0, 0}, {0x5819, 0x05, 0, 0}, {0x581a, 0x01, 0, 0},
+       {0x581b, 0x00, 0, 0}, {0x581c, 0x00, 0, 0}, {0x581d, 0x03, 0, 0},
+       {0x581e, 0x08, 0, 0}, {0x581f, 0x0c, 0, 0}, {0x5820, 0x0a, 0, 0},
+       {0x5821, 0x05, 0, 0}, {0x5822, 0x01, 0, 0}, {0x5823, 0x00, 0, 0},
+       {0x5824, 0x00, 0, 0}, {0x5825, 0x03, 0, 0}, {0x5826, 0x08, 0, 0},
+       {0x5827, 0x0c, 0, 0}, {0x5828, 0x0e, 0, 0}, {0x5829, 0x08, 0, 0},
+       {0x582a, 0x06, 0, 0}, {0x582b, 0x04, 0, 0}, {0x582c, 0x05, 0, 0},
+       {0x582d, 0x07, 0, 0}, {0x582e, 0x0b, 0, 0}, {0x582f, 0x12, 0, 0},
+       {0x5830, 0x18, 0, 0}, {0x5831, 0x10, 0, 0}, {0x5832, 0x0c, 0, 0},
+       {0x5833, 0x0a, 0, 0}, {0x5834, 0x0b, 0, 0}, {0x5835, 0x0e, 0, 0},
+       {0x5836, 0x15, 0, 0}, {0x5837, 0x19, 0, 0}, {0x5838, 0x32, 0, 0},
+       {0x5839, 0x1f, 0, 0}, {0x583a, 0x18, 0, 0}, {0x583b, 0x16, 0, 0},
+       {0x583c, 0x17, 0, 0}, {0x583d, 0x1e, 0, 0}, {0x583e, 0x26, 0, 0},
+       {0x583f, 0x53, 0, 0}, {0x5840, 0x10, 0, 0}, {0x5841, 0x0f, 0, 0},
+       {0x5842, 0x0d, 0, 0}, {0x5843, 0x0c, 0, 0}, {0x5844, 0x0e, 0, 0},
+       {0x5845, 0x09, 0, 0}, {0x5846, 0x11, 0, 0}, {0x5847, 0x10, 0, 0},
+       {0x5848, 0x10, 0, 0}, {0x5849, 0x10, 0, 0}, {0x584a, 0x10, 0, 0},
+       {0x584b, 0x0e, 0, 0}, {0x584c, 0x10, 0, 0}, {0x584d, 0x10, 0, 0},
+       {0x584e, 0x11, 0, 0}, {0x584f, 0x10, 0, 0}, {0x5850, 0x0f, 0, 0},
+       {0x5851, 0x0c, 0, 0}, {0x5852, 0x0f, 0, 0}, {0x5853, 0x10, 0, 0},
+       {0x5854, 0x10, 0, 0}, {0x5855, 0x0f, 0, 0}, {0x5856, 0x0e, 0, 0},
+       {0x5857, 0x0b, 0, 0}, {0x5858, 0x10, 0, 0}, {0x5859, 0x0d, 0, 0},
+       {0x585a, 0x0d, 0, 0}, {0x585b, 0x0c, 0, 0}, {0x585c, 0x0c, 0, 0},
+       {0x585d, 0x0c, 0, 0}, {0x585e, 0x0b, 0, 0}, {0x585f, 0x0c, 0, 0},
+       {0x5860, 0x0c, 0, 0}, {0x5861, 0x0c, 0, 0}, {0x5862, 0x0d, 0, 0},
+       {0x5863, 0x08, 0, 0}, {0x5864, 0x11, 0, 0}, {0x5865, 0x18, 0, 0},
+       {0x5866, 0x18, 0, 0}, {0x5867, 0x19, 0, 0}, {0x5868, 0x17, 0, 0},
+       {0x5869, 0x19, 0, 0}, {0x586a, 0x16, 0, 0}, {0x586b, 0x13, 0, 0},
+       {0x586c, 0x13, 0, 0}, {0x586d, 0x12, 0, 0}, {0x586e, 0x13, 0, 0},
+       {0x586f, 0x16, 0, 0}, {0x5870, 0x14, 0, 0}, {0x5871, 0x12, 0, 0},
+       {0x5872, 0x10, 0, 0}, {0x5873, 0x11, 0, 0}, {0x5874, 0x11, 0, 0},
+       {0x5875, 0x16, 0, 0}, {0x5876, 0x14, 0, 0}, {0x5877, 0x11, 0, 0},
+       {0x5878, 0x10, 0, 0}, {0x5879, 0x0f, 0, 0}, {0x587a, 0x10, 0, 0},
+       {0x587b, 0x14, 0, 0}, {0x587c, 0x13, 0, 0}, {0x587d, 0x12, 0, 0},
+       {0x587e, 0x11, 0, 0}, {0x587f, 0x11, 0, 0}, {0x5880, 0x12, 0, 0},
+       {0x5881, 0x15, 0, 0}, {0x5882, 0x14, 0, 0}, {0x5883, 0x15, 0, 0},
+       {0x5884, 0x15, 0, 0}, {0x5885, 0x15, 0, 0}, {0x5886, 0x13, 0, 0},
+       {0x5887, 0x17, 0, 0}, {0x3710, 0x10, 0, 0}, {0x3632, 0x51, 0, 0},
+       {0x3702, 0x10, 0, 0}, {0x3703, 0xb2, 0, 0}, {0x3704, 0x18, 0, 0},
+       {0x370b, 0x40, 0, 0}, {0x370d, 0x03, 0, 0}, {0x3631, 0x01, 0, 0},
+       {0x3632, 0x52, 0, 0}, {0x3606, 0x24, 0, 0}, {0x3620, 0x96, 0, 0},
+       {0x5785, 0x07, 0, 0}, {0x3a13, 0x30, 0, 0}, {0x3600, 0x52, 0, 0},
+       {0x3604, 0x48, 0, 0}, {0x3606, 0x1b, 0, 0}, {0x370d, 0x0b, 0, 0},
+       {0x370f, 0xc0, 0, 0}, {0x3709, 0x01, 0, 0}, {0x3823, 0x00, 0, 0},
+       {0x5007, 0x00, 0, 0}, {0x5009, 0x00, 0, 0}, {0x5011, 0x00, 0, 0},
+       {0x5013, 0x00, 0, 0}, {0x519e, 0x00, 0, 0}, {0x5086, 0x00, 0, 0},
+       {0x5087, 0x00, 0, 0}, {0x5088, 0x00, 0, 0}, {0x5089, 0x00, 0, 0},
+       {0x302b, 0x00, 0, 0}, {0x3503, 0x07, 0, 0}, {0x3011, 0x08, 0, 0},
+       {0x350c, 0x02, 0, 0}, {0x350d, 0xe4, 0, 0}, {0x3621, 0xc9, 0, 0},
+       {0x370a, 0x81, 0, 0}, {0x3803, 0x08, 0, 0}, {0x3804, 0x05, 0, 0},
+       {0x3805, 0x00, 0, 0}, {0x3806, 0x02, 0, 0}, {0x3807, 0xd0, 0, 0},
+       {0x3808, 0x05, 0, 0}, {0x3809, 0x00, 0, 0}, {0x380a, 0x02, 0, 0},
+       {0x380b, 0xd0, 0, 0}, {0x380c, 0x08, 0, 0}, {0x380d, 0x72, 0, 0},
+       {0x380e, 0x02, 0, 0}, {0x380f, 0xe4, 0, 0}, {0x3810, 0xc0, 0, 0},
+       {0x3818, 0xc9, 0, 0}, {0x381c, 0x10, 0, 0}, {0x381d, 0xa0, 0, 0},
+       {0x381e, 0x05, 0, 0}, {0x381f, 0xb0, 0, 0}, {0x3820, 0x00, 0, 0},
+       {0x3821, 0x00, 0, 0}, {0x3824, 0x11, 0, 0}, {0x3a08, 0x1b, 0, 0},
+       {0x3a09, 0xc0, 0, 0}, {0x3a0a, 0x17, 0, 0}, {0x3a0b, 0x20, 0, 0},
+       {0x3a0d, 0x02, 0, 0}, {0x3a0e, 0x01, 0, 0}, {0x401c, 0x04, 0, 0},
+       {0x5682, 0x05, 0, 0}, {0x5683, 0x00, 0, 0}, {0x5686, 0x02, 0, 0},
+       {0x5687, 0xcc, 0, 0}, {0x5001, 0x7f, 0, 0}, {0x589b, 0x06, 0, 0},
+       {0x589a, 0xc5, 0, 0}, {0x3503, 0x00, 0, 0}, {0x3010, 0x10, 0, 0},
+       {0x460c, 0x20, 0, 0}, {0x460b, 0x37, 0, 0}, {0x471c, 0xd0, 0, 0},
+       {0x471d, 0x05, 0, 0}, {0x3815, 0x01, 0, 0}, {0x3818, 0x00, 0x08, 0},
+       {0x501f, 0x00, 0, 0}, {0x4300, 0x30, 0, 0}, {0x3002, 0x1c, 0, 0},
+       {0x3819, 0x80, 0, 0}, {0x5002, 0xe0, 0, 0}, {0x3010, 0x30, 0, 0},
+       {0x3a08, 0x06, 0, 0}, {0x3a09, 0x60, 0, 0}, {0x3a0a, 0x05, 0, 0},
+       {0x3a0b, 0x50, 0, 0}, {0x3a0d, 0x08, 0, 0}, {0x3a0e, 0x07, 0, 0},
+};
+
+static struct reg_value ov5642_setting_30fps_720P_1280_720[] = {
+       {0x3103, 0x93, 0, 0}, {0x3008, 0x82, 0, 0}, {0x3017, 0x7f, 0, 0},
+       {0x3018, 0xfc, 0, 0}, {0x3810, 0xc2, 0, 0}, {0x3615, 0xf0, 0, 0},
+       {0x3000, 0x00, 0, 0}, {0x3001, 0x00, 0, 0}, {0x3002, 0x00, 0, 0},
+       {0x3003, 0x00, 0, 0}, {0x3004, 0xff, 0, 0}, {0x3030, 0x2b, 0, 0},
+       {0x3011, 0x08, 0, 0}, {0x3010, 0x10, 0, 0}, {0x3604, 0x60, 0, 0},
+       {0x3622, 0x60, 0, 0}, {0x3621, 0x09, 0, 0}, {0x3709, 0x00, 0, 0},
+       {0x4000, 0x21, 0, 0}, {0x401d, 0x22, 0, 0}, {0x3600, 0x54, 0, 0},
+       {0x3605, 0x04, 0, 0}, {0x3606, 0x3f, 0, 0}, {0x3c01, 0x80, 0, 0},
+       {0x300d, 0x22, 0, 0}, {0x3623, 0x22, 0, 0}, {0x5000, 0x4f, 0, 0},
+       {0x5020, 0x04, 0, 0}, {0x5181, 0x79, 0, 0}, {0x5182, 0x00, 0, 0},
+       {0x5185, 0x22, 0, 0}, {0x5197, 0x01, 0, 0}, {0x5500, 0x0a, 0, 0},
+       {0x5504, 0x00, 0, 0}, {0x5505, 0x7f, 0, 0}, {0x5080, 0x08, 0, 0},
+       {0x300e, 0x18, 0, 0}, {0x4610, 0x00, 0, 0}, {0x471d, 0x05, 0, 0},
+       {0x4708, 0x06, 0, 0}, {0x370c, 0xa0, 0, 0}, {0x3808, 0x0a, 0, 0},
+       {0x3809, 0x20, 0, 0}, {0x380a, 0x07, 0, 0}, {0x380b, 0x98, 0, 0},
+       {0x380c, 0x0c, 0, 0}, {0x380d, 0x80, 0, 0}, {0x380e, 0x07, 0, 0},
+       {0x380f, 0xd0, 0, 0}, {0x5687, 0x94, 0, 0}, {0x501f, 0x00, 0, 0},
+       {0x5000, 0x4f, 0, 0}, {0x5001, 0xcf, 0, 0}, {0x4300, 0x30, 0, 0},
+       {0x4300, 0x30, 0, 0}, {0x460b, 0x35, 0, 0}, {0x471d, 0x00, 0, 0},
+       {0x3002, 0x0c, 0, 0}, {0x3002, 0x00, 0, 0}, {0x4713, 0x03, 0, 0},
+       {0x471c, 0x50, 0, 0}, {0x4721, 0x02, 0, 0}, {0x4402, 0x90, 0, 0},
+       {0x460c, 0x22, 0, 0}, {0x3815, 0x44, 0, 0}, {0x3503, 0x07, 0, 0},
+       {0x3501, 0x73, 0, 0}, {0x3502, 0x80, 0, 0}, {0x350b, 0x00, 0, 0},
+       {0x3818, 0xc8, 0, 0}, {0x3801, 0x88, 0, 0}, {0x3824, 0x11, 0, 0},
+       {0x3a00, 0x78, 0, 0}, {0x3a1a, 0x04, 0, 0}, {0x3a13, 0x30, 0, 0},
+       {0x3a18, 0x00, 0, 0}, {0x3a19, 0x7c, 0, 0}, {0x3a08, 0x12, 0, 0},
+       {0x3a09, 0xc0, 0, 0}, {0x3a0a, 0x0f, 0, 0}, {0x3a0b, 0xa0, 0, 0},
+       {0x350c, 0x07, 0, 0}, {0x350d, 0xd0, 0, 0}, {0x3a0d, 0x08, 0, 0},
+       {0x3a0e, 0x06, 0, 0}, {0x3500, 0x00, 0, 0}, {0x3501, 0x00, 0, 0},
+       {0x3502, 0x00, 0, 0}, {0x350a, 0x00, 0, 0}, {0x350b, 0x00, 0, 0},
+       {0x3503, 0x00, 0, 0}, {0x3a0f, 0x3c, 0, 0}, {0x3a10, 0x32, 0, 0},
+       {0x3a1b, 0x3c, 0, 0}, {0x3a1e, 0x32, 0, 0}, {0x3a11, 0x80, 0, 0},
+       {0x3a1f, 0x20, 0, 0}, {0x3030, 0x2b, 0, 0}, {0x3a02, 0x00, 0, 0},
+       {0x3a03, 0x7d, 0, 0}, {0x3a04, 0x00, 0, 0}, {0x3a14, 0x00, 0, 0},
+       {0x3a15, 0x7d, 0, 0}, {0x3a16, 0x00, 0, 0}, {0x3a00, 0x78, 0, 0},
+       {0x3a08, 0x09, 0, 0}, {0x3a09, 0x60, 0, 0}, {0x3a0a, 0x07, 0, 0},
+       {0x3a0b, 0xd0, 0, 0}, {0x3a0d, 0x10, 0, 0}, {0x3a0e, 0x0d, 0, 0},
+       {0x4407, 0x04, 0, 0}, {0x5193, 0x70, 0, 0}, {0x589b, 0x00, 0, 0},
+       {0x589a, 0xc0, 0, 0}, {0x401e, 0x20, 0, 0}, {0x4001, 0x42, 0, 0},
+       {0x401c, 0x06, 0, 0}, {0x3825, 0xac, 0, 0}, {0x3827, 0x0c, 0, 0},
+       {0x528a, 0x01, 0, 0}, {0x528b, 0x04, 0, 0}, {0x528c, 0x08, 0, 0},
+       {0x528d, 0x10, 0, 0}, {0x528e, 0x20, 0, 0}, {0x528f, 0x28, 0, 0},
+       {0x5290, 0x30, 0, 0}, {0x5292, 0x00, 0, 0}, {0x5293, 0x01, 0, 0},
+       {0x5294, 0x00, 0, 0}, {0x5295, 0x04, 0, 0}, {0x5296, 0x00, 0, 0},
+       {0x5297, 0x08, 0, 0}, {0x5298, 0x00, 0, 0}, {0x5299, 0x10, 0, 0},
+       {0x529a, 0x00, 0, 0}, {0x529b, 0x20, 0, 0}, {0x529c, 0x00, 0, 0},
+       {0x529d, 0x28, 0, 0}, {0x529e, 0x00, 0, 0}, {0x529f, 0x30, 0, 0},
+       {0x5282, 0x00, 0, 0}, {0x5300, 0x00, 0, 0}, {0x5301, 0x20, 0, 0},
+       {0x5302, 0x00, 0, 0}, {0x5303, 0x7c, 0, 0}, {0x530c, 0x00, 0, 0},
+       {0x530d, 0x0c, 0, 0}, {0x530e, 0x20, 0, 0}, {0x530f, 0x80, 0, 0},
+       {0x5310, 0x20, 0, 0}, {0x5311, 0x80, 0, 0}, {0x5308, 0x20, 0, 0},
+       {0x5309, 0x40, 0, 0}, {0x5304, 0x00, 0, 0}, {0x5305, 0x30, 0, 0},
+       {0x5306, 0x00, 0, 0}, {0x5307, 0x80, 0, 0}, {0x5314, 0x08, 0, 0},
+       {0x5315, 0x20, 0, 0}, {0x5319, 0x30, 0, 0}, {0x5316, 0x10, 0, 0},
+       {0x5317, 0x00, 0, 0}, {0x5318, 0x02, 0, 0}, {0x5380, 0x01, 0, 0},
+       {0x5381, 0x00, 0, 0}, {0x5382, 0x00, 0, 0}, {0x5383, 0x4e, 0, 0},
+       {0x5384, 0x00, 0, 0}, {0x5385, 0x0f, 0, 0}, {0x5386, 0x00, 0, 0},
+       {0x5387, 0x00, 0, 0}, {0x5388, 0x01, 0, 0}, {0x5389, 0x15, 0, 0},
+       {0x538a, 0x00, 0, 0}, {0x538b, 0x31, 0, 0}, {0x538c, 0x00, 0, 0},
+       {0x538d, 0x00, 0, 0}, {0x538e, 0x00, 0, 0}, {0x538f, 0x0f, 0, 0},
+       {0x5390, 0x00, 0, 0}, {0x5391, 0xab, 0, 0}, {0x5392, 0x00, 0, 0},
+       {0x5393, 0xa2, 0, 0}, {0x5394, 0x08, 0, 0}, {0x5480, 0x14, 0, 0},
+       {0x5481, 0x21, 0, 0}, {0x5482, 0x36, 0, 0}, {0x5483, 0x57, 0, 0},
+       {0x5484, 0x65, 0, 0}, {0x5485, 0x71, 0, 0}, {0x5486, 0x7d, 0, 0},
+       {0x5487, 0x87, 0, 0}, {0x5488, 0x91, 0, 0}, {0x5489, 0x9a, 0, 0},
+       {0x548a, 0xaa, 0, 0}, {0x548b, 0xb8, 0, 0}, {0x548c, 0xcd, 0, 0},
+       {0x548d, 0xdd, 0, 0}, {0x548e, 0xea, 0, 0}, {0x548f, 0x1d, 0, 0},
+       {0x5490, 0x05, 0, 0}, {0x5491, 0x00, 0, 0}, {0x5492, 0x04, 0, 0},
+       {0x5493, 0x20, 0, 0}, {0x5494, 0x03, 0, 0}, {0x5495, 0x60, 0, 0},
+       {0x5496, 0x02, 0, 0}, {0x5497, 0xb8, 0, 0}, {0x5498, 0x02, 0, 0},
+       {0x5499, 0x86, 0, 0}, {0x549a, 0x02, 0, 0}, {0x549b, 0x5b, 0, 0},
+       {0x549c, 0x02, 0, 0}, {0x549d, 0x3b, 0, 0}, {0x549e, 0x02, 0, 0},
+       {0x549f, 0x1c, 0, 0}, {0x54a0, 0x02, 0, 0}, {0x54a1, 0x04, 0, 0},
+       {0x54a2, 0x01, 0, 0}, {0x54a3, 0xed, 0, 0}, {0x54a4, 0x01, 0, 0},
+       {0x54a5, 0xc5, 0, 0}, {0x54a6, 0x01, 0, 0}, {0x54a7, 0xa5, 0, 0},
+       {0x54a8, 0x01, 0, 0}, {0x54a9, 0x6c, 0, 0}, {0x54aa, 0x01, 0, 0},
+       {0x54ab, 0x41, 0, 0}, {0x54ac, 0x01, 0, 0}, {0x54ad, 0x20, 0, 0},
+       {0x54ae, 0x00, 0, 0}, {0x54af, 0x16, 0, 0}, {0x54b0, 0x01, 0, 0},
+       {0x54b1, 0x20, 0, 0}, {0x54b2, 0x00, 0, 0}, {0x54b3, 0x10, 0, 0},
+       {0x54b4, 0x00, 0, 0}, {0x54b5, 0xf0, 0, 0}, {0x54b6, 0x00, 0, 0},
+       {0x54b7, 0xdf, 0, 0}, {0x5402, 0x3f, 0, 0}, {0x5403, 0x00, 0, 0},
+       {0x3406, 0x00, 0, 0}, {0x5180, 0xff, 0, 0}, {0x5181, 0x52, 0, 0},
+       {0x5182, 0x11, 0, 0}, {0x5183, 0x14, 0, 0}, {0x5184, 0x25, 0, 0},
+       {0x5185, 0x24, 0, 0}, {0x5186, 0x06, 0, 0}, {0x5187, 0x08, 0, 0},
+       {0x5188, 0x08, 0, 0}, {0x5189, 0x7c, 0, 0}, {0x518a, 0x60, 0, 0},
+       {0x518b, 0xb2, 0, 0}, {0x518c, 0xb2, 0, 0}, {0x518d, 0x44, 0, 0},
+       {0x518e, 0x3d, 0, 0}, {0x518f, 0x58, 0, 0}, {0x5190, 0x46, 0, 0},
+       {0x5191, 0xf8, 0, 0}, {0x5192, 0x04, 0, 0}, {0x5193, 0x70, 0, 0},
+       {0x5194, 0xf0, 0, 0}, {0x5195, 0xf0, 0, 0}, {0x5196, 0x03, 0, 0},
+       {0x5197, 0x01, 0, 0}, {0x5198, 0x04, 0, 0}, {0x5199, 0x12, 0, 0},
+       {0x519a, 0x04, 0, 0}, {0x519b, 0x00, 0, 0}, {0x519c, 0x06, 0, 0},
+       {0x519d, 0x82, 0, 0}, {0x519e, 0x00, 0, 0}, {0x5025, 0x80, 0, 0},
+       {0x3a0f, 0x38, 0, 0}, {0x3a10, 0x30, 0, 0}, {0x3a1b, 0x3a, 0, 0},
+       {0x3a1e, 0x2e, 0, 0}, {0x3a11, 0x60, 0, 0}, {0x3a1f, 0x10, 0, 0},
+       {0x5688, 0xa6, 0, 0}, {0x5689, 0x6a, 0, 0}, {0x568a, 0xea, 0, 0},
+       {0x568b, 0xae, 0, 0}, {0x568c, 0xa6, 0, 0}, {0x568d, 0x6a, 0, 0},
+       {0x568e, 0x62, 0, 0}, {0x568f, 0x26, 0, 0}, {0x5583, 0x40, 0, 0},
+       {0x5584, 0x40, 0, 0}, {0x5580, 0x02, 0, 0}, {0x5000, 0xcf, 0, 0},
+       {0x5800, 0x27, 0, 0}, {0x5801, 0x19, 0, 0}, {0x5802, 0x12, 0, 0},
+       {0x5803, 0x0f, 0, 0}, {0x5804, 0x10, 0, 0}, {0x5805, 0x15, 0, 0},
+       {0x5806, 0x1e, 0, 0}, {0x5807, 0x2f, 0, 0}, {0x5808, 0x15, 0, 0},
+       {0x5809, 0x0d, 0, 0}, {0x580a, 0x0a, 0, 0}, {0x580b, 0x09, 0, 0},
+       {0x580c, 0x0a, 0, 0}, {0x580d, 0x0c, 0, 0}, {0x580e, 0x12, 0, 0},
+       {0x580f, 0x19, 0, 0}, {0x5810, 0x0b, 0, 0}, {0x5811, 0x07, 0, 0},
+       {0x5812, 0x04, 0, 0}, {0x5813, 0x03, 0, 0}, {0x5814, 0x03, 0, 0},
+       {0x5815, 0x06, 0, 0}, {0x5816, 0x0a, 0, 0}, {0x5817, 0x0f, 0, 0},
+       {0x5818, 0x0a, 0, 0}, {0x5819, 0x05, 0, 0}, {0x581a, 0x01, 0, 0},
+       {0x581b, 0x00, 0, 0}, {0x581c, 0x00, 0, 0}, {0x581d, 0x03, 0, 0},
+       {0x581e, 0x08, 0, 0}, {0x581f, 0x0c, 0, 0}, {0x5820, 0x0a, 0, 0},
+       {0x5821, 0x05, 0, 0}, {0x5822, 0x01, 0, 0}, {0x5823, 0x00, 0, 0},
+       {0x5824, 0x00, 0, 0}, {0x5825, 0x03, 0, 0}, {0x5826, 0x08, 0, 0},
+       {0x5827, 0x0c, 0, 0}, {0x5828, 0x0e, 0, 0}, {0x5829, 0x08, 0, 0},
+       {0x582a, 0x06, 0, 0}, {0x582b, 0x04, 0, 0}, {0x582c, 0x05, 0, 0},
+       {0x582d, 0x07, 0, 0}, {0x582e, 0x0b, 0, 0}, {0x582f, 0x12, 0, 0},
+       {0x5830, 0x18, 0, 0}, {0x5831, 0x10, 0, 0}, {0x5832, 0x0c, 0, 0},
+       {0x5833, 0x0a, 0, 0}, {0x5834, 0x0b, 0, 0}, {0x5835, 0x0e, 0, 0},
+       {0x5836, 0x15, 0, 0}, {0x5837, 0x19, 0, 0}, {0x5838, 0x32, 0, 0},
+       {0x5839, 0x1f, 0, 0}, {0x583a, 0x18, 0, 0}, {0x583b, 0x16, 0, 0},
+       {0x583c, 0x17, 0, 0}, {0x583d, 0x1e, 0, 0}, {0x583e, 0x26, 0, 0},
+       {0x583f, 0x53, 0, 0}, {0x5840, 0x10, 0, 0}, {0x5841, 0x0f, 0, 0},
+       {0x5842, 0x0d, 0, 0}, {0x5843, 0x0c, 0, 0}, {0x5844, 0x0e, 0, 0},
+       {0x5845, 0x09, 0, 0}, {0x5846, 0x11, 0, 0}, {0x5847, 0x10, 0, 0},
+       {0x5848, 0x10, 0, 0}, {0x5849, 0x10, 0, 0}, {0x584a, 0x10, 0, 0},
+       {0x584b, 0x0e, 0, 0}, {0x584c, 0x10, 0, 0}, {0x584d, 0x10, 0, 0},
+       {0x584e, 0x11, 0, 0}, {0x584f, 0x10, 0, 0}, {0x5850, 0x0f, 0, 0},
+       {0x5851, 0x0c, 0, 0}, {0x5852, 0x0f, 0, 0}, {0x5853, 0x10, 0, 0},
+       {0x5854, 0x10, 0, 0}, {0x5855, 0x0f, 0, 0}, {0x5856, 0x0e, 0, 0},
+       {0x5857, 0x0b, 0, 0}, {0x5858, 0x10, 0, 0}, {0x5859, 0x0d, 0, 0},
+       {0x585a, 0x0d, 0, 0}, {0x585b, 0x0c, 0, 0}, {0x585c, 0x0c, 0, 0},
+       {0x585d, 0x0c, 0, 0}, {0x585e, 0x0b, 0, 0}, {0x585f, 0x0c, 0, 0},
+       {0x5860, 0x0c, 0, 0}, {0x5861, 0x0c, 0, 0}, {0x5862, 0x0d, 0, 0},
+       {0x5863, 0x08, 0, 0}, {0x5864, 0x11, 0, 0}, {0x5865, 0x18, 0, 0},
+       {0x5866, 0x18, 0, 0}, {0x5867, 0x19, 0, 0}, {0x5868, 0x17, 0, 0},
+       {0x5869, 0x19, 0, 0}, {0x586a, 0x16, 0, 0}, {0x586b, 0x13, 0, 0},
+       {0x586c, 0x13, 0, 0}, {0x586d, 0x12, 0, 0}, {0x586e, 0x13, 0, 0},
+       {0x586f, 0x16, 0, 0}, {0x5870, 0x14, 0, 0}, {0x5871, 0x12, 0, 0},
+       {0x5872, 0x10, 0, 0}, {0x5873, 0x11, 0, 0}, {0x5874, 0x11, 0, 0},
+       {0x5875, 0x16, 0, 0}, {0x5876, 0x14, 0, 0}, {0x5877, 0x11, 0, 0},
+       {0x5878, 0x10, 0, 0}, {0x5879, 0x0f, 0, 0}, {0x587a, 0x10, 0, 0},
+       {0x587b, 0x14, 0, 0}, {0x587c, 0x13, 0, 0}, {0x587d, 0x12, 0, 0},
+       {0x587e, 0x11, 0, 0}, {0x587f, 0x11, 0, 0}, {0x5880, 0x12, 0, 0},
+       {0x5881, 0x15, 0, 0}, {0x5882, 0x14, 0, 0}, {0x5883, 0x15, 0, 0},
+       {0x5884, 0x15, 0, 0}, {0x5885, 0x15, 0, 0}, {0x5886, 0x13, 0, 0},
+       {0x5887, 0x17, 0, 0}, {0x3710, 0x10, 0, 0}, {0x3632, 0x51, 0, 0},
+       {0x3702, 0x10, 0, 0}, {0x3703, 0xb2, 0, 0}, {0x3704, 0x18, 0, 0},
+       {0x370b, 0x40, 0, 0}, {0x370d, 0x03, 0, 0}, {0x3631, 0x01, 0, 0},
+       {0x3632, 0x52, 0, 0}, {0x3606, 0x24, 0, 0}, {0x3620, 0x96, 0, 0},
+       {0x5785, 0x07, 0, 0}, {0x3a13, 0x30, 0, 0}, {0x3600, 0x52, 0, 0},
+       {0x3604, 0x48, 0, 0}, {0x3606, 0x1b, 0, 0}, {0x370d, 0x0b, 0, 0},
+       {0x370f, 0xc0, 0, 0}, {0x3709, 0x01, 0, 0}, {0x3823, 0x00, 0, 0},
+       {0x5007, 0x00, 0, 0}, {0x5009, 0x00, 0, 0}, {0x5011, 0x00, 0, 0},
+       {0x5013, 0x00, 0, 0}, {0x519e, 0x00, 0, 0}, {0x5086, 0x00, 0, 0},
+       {0x5087, 0x00, 0, 0}, {0x5088, 0x00, 0, 0}, {0x5089, 0x00, 0, 0},
+       {0x302b, 0x00, 0, 0}, {0x3503, 0x07, 0, 0}, {0x3011, 0x08, 0, 0},
+       {0x350c, 0x02, 0, 0}, {0x350d, 0xe4, 0, 0}, {0x3621, 0xc9, 0, 0},
+       {0x370a, 0x81, 0, 0}, {0x3803, 0x08, 0, 0}, {0x3804, 0x05, 0, 0},
+       {0x3805, 0x00, 0, 0}, {0x3806, 0x02, 0, 0}, {0x3807, 0xd0, 0, 0},
+       {0x3808, 0x05, 0, 0}, {0x3809, 0x00, 0, 0}, {0x380a, 0x02, 0, 0},
+       {0x380b, 0xd0, 0, 0}, {0x380c, 0x08, 0, 0}, {0x380d, 0x72, 0, 0},
+       {0x380e, 0x02, 0, 0}, {0x380f, 0xe4, 0, 0}, {0x3810, 0xc0, 0, 0},
+       {0x3818, 0xc9, 0, 0}, {0x381c, 0x10, 0, 0}, {0x381d, 0xa0, 0, 0},
+       {0x381e, 0x05, 0, 0}, {0x381f, 0xb0, 0, 0}, {0x3820, 0x00, 0, 0},
+       {0x3821, 0x00, 0, 0}, {0x3824, 0x11, 0, 0}, {0x3a08, 0x1b, 0, 0},
+       {0x3a09, 0xc0, 0, 0}, {0x3a0a, 0x17, 0, 0}, {0x3a0b, 0x20, 0, 0},
+       {0x3a0d, 0x02, 0, 0}, {0x3a0e, 0x01, 0, 0}, {0x401c, 0x04, 0, 0},
+       {0x5682, 0x05, 0, 0}, {0x5683, 0x00, 0, 0}, {0x5686, 0x02, 0, 0},
+       {0x5687, 0xcc, 0, 0}, {0x5001, 0x7f, 0, 0}, {0x589b, 0x06, 0, 0},
+       {0x589a, 0xc5, 0, 0}, {0x3503, 0x00, 0, 0}, {0x3010, 0x10, 0, 0},
+       {0x460c, 0x20, 0, 0}, {0x460b, 0x37, 0, 0}, {0x471c, 0xd0, 0, 0},
+       {0x471d, 0x05, 0, 0}, {0x3815, 0x01, 0, 0}, {0x3818, 0x00, 0x08, 0},
+       {0x501f, 0x00, 0, 0}, {0x4300, 0x30, 0, 0}, {0x3002, 0x1c, 0, 0},
+       {0x3819, 0x80, 0, 0}, {0x5002, 0xe0, 0, 0},
+};
+
+static struct reg_value ov5642_setting_15fps_1080P_1920_1080[] = {
+       {0x3103, 0x93, 0, 0}, {0x3008, 0x82, 0, 0}, {0x3017, 0x7f, 0, 0},
+       {0x3018, 0xfc, 0, 0}, {0x3810, 0xc2, 0, 0}, {0x3615, 0xf0, 0, 0},
+       {0x3000, 0x00, 0, 0}, {0x3001, 0x00, 0, 0}, {0x3002, 0x00, 0, 0},
+       {0x3003, 0x00, 0, 0}, {0x3004, 0xff, 0, 0}, {0x3030, 0x2b, 0, 0},
+       {0x3011, 0x08, 0, 0}, {0x3010, 0x10, 0, 0}, {0x3604, 0x60, 0, 0},
+       {0x3622, 0x60, 0, 0}, {0x3621, 0x09, 0, 0}, {0x3709, 0x00, 0, 0},
+       {0x4000, 0x21, 0, 0}, {0x401d, 0x22, 0, 0}, {0x3600, 0x54, 0, 0},
+       {0x3605, 0x04, 0, 0}, {0x3606, 0x3f, 0, 0}, {0x3c01, 0x80, 0, 0},
+       {0x300d, 0x22, 0, 0}, {0x3623, 0x22, 0, 0}, {0x5000, 0x4f, 0, 0},
+       {0x5020, 0x04, 0, 0}, {0x5181, 0x79, 0, 0}, {0x5182, 0x00, 0, 0},
+       {0x5185, 0x22, 0, 0}, {0x5197, 0x01, 0, 0}, {0x5500, 0x0a, 0, 0},
+       {0x5504, 0x00, 0, 0}, {0x5505, 0x7f, 0, 0}, {0x5080, 0x08, 0, 0},
+       {0x300e, 0x18, 0, 0}, {0x4610, 0x00, 0, 0}, {0x471d, 0x05, 0, 0},
+       {0x4708, 0x06, 0, 0}, {0x370c, 0xa0, 0, 0}, {0x3808, 0x0a, 0, 0},
+       {0x3809, 0x20, 0, 0}, {0x380a, 0x07, 0, 0}, {0x380b, 0x98, 0, 0},
+       {0x380c, 0x0c, 0, 0}, {0x380d, 0x80, 0, 0}, {0x380e, 0x07, 0, 0},
+       {0x380f, 0xd0, 0, 0}, {0x5687, 0x94, 0, 0}, {0x501f, 0x00, 0, 0},
+       {0x5000, 0x4f, 0, 0}, {0x5001, 0xcf, 0, 0}, {0x4300, 0x30, 0, 0},
+       {0x4300, 0x30, 0, 0}, {0x460b, 0x35, 0, 0}, {0x471d, 0x00, 0, 0},
+       {0x3002, 0x0c, 0, 0}, {0x3002, 0x00, 0, 0}, {0x4713, 0x03, 0, 0},
+       {0x471c, 0x50, 0, 0}, {0x4721, 0x02, 0, 0}, {0x4402, 0x90, 0, 0},
+       {0x460c, 0x22, 0, 0}, {0x3815, 0x44, 0, 0}, {0x3503, 0x07, 0, 0},
+       {0x3501, 0x73, 0, 0}, {0x3502, 0x80, 0, 0}, {0x350b, 0x00, 0, 0},
+       {0x3818, 0xc8, 0, 0}, {0x3801, 0x88, 0, 0}, {0x3824, 0x11, 0, 0},
+       {0x3a00, 0x78, 0, 0}, {0x3a1a, 0x04, 0, 0}, {0x3a13, 0x30, 0, 0},
+       {0x3a18, 0x00, 0, 0}, {0x3a19, 0x7c, 0, 0}, {0x3a08, 0x12, 0, 0},
+       {0x3a09, 0xc0, 0, 0}, {0x3a0a, 0x0f, 0, 0}, {0x3a0b, 0xa0, 0, 0},
+       {0x350c, 0x07, 0, 0}, {0x350d, 0xd0, 0, 0}, {0x3a0d, 0x08, 0, 0},
+       {0x3a0e, 0x06, 0, 0}, {0x3500, 0x00, 0, 0}, {0x3501, 0x00, 0, 0},
+       {0x3502, 0x00, 0, 0}, {0x350a, 0x00, 0, 0}, {0x350b, 0x00, 0, 0},
+       {0x3503, 0x00, 0, 0}, {0x3a0f, 0x3c, 0, 0}, {0x3a10, 0x32, 0, 0},
+       {0x3a1b, 0x3c, 0, 0}, {0x3a1e, 0x32, 0, 0}, {0x3a11, 0x80, 0, 0},
+       {0x3a1f, 0x20, 0, 0}, {0x3030, 0x2b, 0, 0}, {0x3a02, 0x00, 0, 0},
+       {0x3a03, 0x7d, 0, 0}, {0x3a04, 0x00, 0, 0}, {0x3a14, 0x00, 0, 0},
+       {0x3a15, 0x7d, 0, 0}, {0x3a16, 0x00, 0, 0}, {0x3a00, 0x78, 0, 0},
+       {0x3a08, 0x09, 0, 0}, {0x3a09, 0x60, 0, 0}, {0x3a0a, 0x07, 0, 0},
+       {0x3a0b, 0xd0, 0, 0}, {0x3a0d, 0x10, 0, 0}, {0x3a0e, 0x0d, 0, 0},
+       {0x4407, 0x04, 0, 0}, {0x5193, 0x70, 0, 0}, {0x589b, 0x00, 0, 0},
+       {0x589a, 0xc0, 0, 0}, {0x401e, 0x20, 0, 0}, {0x4001, 0x42, 0, 0},
+       {0x401c, 0x06, 0, 0}, {0x3825, 0xac, 0, 0}, {0x3827, 0x0c, 0, 0},
+       {0x528a, 0x01, 0, 0}, {0x528b, 0x04, 0, 0}, {0x528c, 0x08, 0, 0},
+       {0x528d, 0x10, 0, 0}, {0x528e, 0x20, 0, 0}, {0x528f, 0x28, 0, 0},
+       {0x5290, 0x30, 0, 0}, {0x5292, 0x00, 0, 0}, {0x5293, 0x01, 0, 0},
+       {0x5294, 0x00, 0, 0}, {0x5295, 0x04, 0, 0}, {0x5296, 0x00, 0, 0},
+       {0x5297, 0x08, 0, 0}, {0x5298, 0x00, 0, 0}, {0x5299, 0x10, 0, 0},
+       {0x529a, 0x00, 0, 0}, {0x529b, 0x20, 0, 0}, {0x529c, 0x00, 0, 0},
+       {0x529d, 0x28, 0, 0}, {0x529e, 0x00, 0, 0}, {0x529f, 0x30, 0, 0},
+       {0x5282, 0x00, 0, 0}, {0x5300, 0x00, 0, 0}, {0x5301, 0x20, 0, 0},
+       {0x5302, 0x00, 0, 0}, {0x5303, 0x7c, 0, 0}, {0x530c, 0x00, 0, 0},
+       {0x530d, 0x0c, 0, 0}, {0x530e, 0x20, 0, 0}, {0x530f, 0x80, 0, 0},
+       {0x5310, 0x20, 0, 0}, {0x5311, 0x80, 0, 0}, {0x5308, 0x20, 0, 0},
+       {0x5309, 0x40, 0, 0}, {0x5304, 0x00, 0, 0}, {0x5305, 0x30, 0, 0},
+       {0x5306, 0x00, 0, 0}, {0x5307, 0x80, 0, 0}, {0x5314, 0x08, 0, 0},
+       {0x5315, 0x20, 0, 0}, {0x5319, 0x30, 0, 0}, {0x5316, 0x10, 0, 0},
+       {0x5317, 0x00, 0, 0}, {0x5318, 0x02, 0, 0}, {0x5380, 0x01, 0, 0},
+       {0x5381, 0x00, 0, 0}, {0x5382, 0x00, 0, 0}, {0x5383, 0x4e, 0, 0},
+       {0x5384, 0x00, 0, 0}, {0x5385, 0x0f, 0, 0}, {0x5386, 0x00, 0, 0},
+       {0x5387, 0x00, 0, 0}, {0x5388, 0x01, 0, 0}, {0x5389, 0x15, 0, 0},
+       {0x538a, 0x00, 0, 0}, {0x538b, 0x31, 0, 0}, {0x538c, 0x00, 0, 0},
+       {0x538d, 0x00, 0, 0}, {0x538e, 0x00, 0, 0}, {0x538f, 0x0f, 0, 0},
+       {0x5390, 0x00, 0, 0}, {0x5391, 0xab, 0, 0}, {0x5392, 0x00, 0, 0},
+       {0x5393, 0xa2, 0, 0}, {0x5394, 0x08, 0, 0}, {0x5480, 0x14, 0, 0},
+       {0x5481, 0x21, 0, 0}, {0x5482, 0x36, 0, 0}, {0x5483, 0x57, 0, 0},
+       {0x5484, 0x65, 0, 0}, {0x5485, 0x71, 0, 0}, {0x5486, 0x7d, 0, 0},
+       {0x5487, 0x87, 0, 0}, {0x5488, 0x91, 0, 0}, {0x5489, 0x9a, 0, 0},
+       {0x548a, 0xaa, 0, 0}, {0x548b, 0xb8, 0, 0}, {0x548c, 0xcd, 0, 0},
+       {0x548d, 0xdd, 0, 0}, {0x548e, 0xea, 0, 0}, {0x548f, 0x1d, 0, 0},
+       {0x5490, 0x05, 0, 0}, {0x5491, 0x00, 0, 0}, {0x5492, 0x04, 0, 0},
+       {0x5493, 0x20, 0, 0}, {0x5494, 0x03, 0, 0}, {0x5495, 0x60, 0, 0},
+       {0x5496, 0x02, 0, 0}, {0x5497, 0xb8, 0, 0}, {0x5498, 0x02, 0, 0},
+       {0x5499, 0x86, 0, 0}, {0x549a, 0x02, 0, 0}, {0x549b, 0x5b, 0, 0},
+       {0x549c, 0x02, 0, 0}, {0x549d, 0x3b, 0, 0}, {0x549e, 0x02, 0, 0},
+       {0x549f, 0x1c, 0, 0}, {0x54a0, 0x02, 0, 0}, {0x54a1, 0x04, 0, 0},
+       {0x54a2, 0x01, 0, 0}, {0x54a3, 0xed, 0, 0}, {0x54a4, 0x01, 0, 0},
+       {0x54a5, 0xc5, 0, 0}, {0x54a6, 0x01, 0, 0}, {0x54a7, 0xa5, 0, 0},
+       {0x54a8, 0x01, 0, 0}, {0x54a9, 0x6c, 0, 0}, {0x54aa, 0x01, 0, 0},
+       {0x54ab, 0x41, 0, 0}, {0x54ac, 0x01, 0, 0}, {0x54ad, 0x20, 0, 0},
+       {0x54ae, 0x00, 0, 0}, {0x54af, 0x16, 0, 0}, {0x54b0, 0x01, 0, 0},
+       {0x54b1, 0x20, 0, 0}, {0x54b2, 0x00, 0, 0}, {0x54b3, 0x10, 0, 0},
+       {0x54b4, 0x00, 0, 0}, {0x54b5, 0xf0, 0, 0}, {0x54b6, 0x00, 0, 0},
+       {0x54b7, 0xdf, 0, 0}, {0x5402, 0x3f, 0, 0}, {0x5403, 0x00, 0, 0},
+       {0x3406, 0x00, 0, 0}, {0x5180, 0xff, 0, 0}, {0x5181, 0x52, 0, 0},
+       {0x5182, 0x11, 0, 0}, {0x5183, 0x14, 0, 0}, {0x5184, 0x25, 0, 0},
+       {0x5185, 0x24, 0, 0}, {0x5186, 0x06, 0, 0}, {0x5187, 0x08, 0, 0},
+       {0x5188, 0x08, 0, 0}, {0x5189, 0x7c, 0, 0}, {0x518a, 0x60, 0, 0},
+       {0x518b, 0xb2, 0, 0}, {0x518c, 0xb2, 0, 0}, {0x518d, 0x44, 0, 0},
+       {0x518e, 0x3d, 0, 0}, {0x518f, 0x58, 0, 0}, {0x5190, 0x46, 0, 0},
+       {0x5191, 0xf8, 0, 0}, {0x5192, 0x04, 0, 0}, {0x5193, 0x70, 0, 0},
+       {0x5194, 0xf0, 0, 0}, {0x5195, 0xf0, 0, 0}, {0x5196, 0x03, 0, 0},
+       {0x5197, 0x01, 0, 0}, {0x5198, 0x04, 0, 0}, {0x5199, 0x12, 0, 0},
+       {0x519a, 0x04, 0, 0}, {0x519b, 0x00, 0, 0}, {0x519c, 0x06, 0, 0},
+       {0x519d, 0x82, 0, 0}, {0x519e, 0x00, 0, 0}, {0x5025, 0x80, 0, 0},
+       {0x3a0f, 0x38, 0, 0}, {0x3a10, 0x30, 0, 0}, {0x3a1b, 0x3a, 0, 0},
+       {0x3a1e, 0x2e, 0, 0}, {0x3a11, 0x60, 0, 0}, {0x3a1f, 0x10, 0, 0},
+       {0x5688, 0xa6, 0, 0}, {0x5689, 0x6a, 0, 0}, {0x568a, 0xea, 0, 0},
+       {0x568b, 0xae, 0, 0}, {0x568c, 0xa6, 0, 0}, {0x568d, 0x6a, 0, 0},
+       {0x568e, 0x62, 0, 0}, {0x568f, 0x26, 0, 0}, {0x5583, 0x40, 0, 0},
+       {0x5584, 0x40, 0, 0}, {0x5580, 0x02, 0, 0}, {0x5000, 0xcf, 0, 0},
+       {0x5800, 0x27, 0, 0}, {0x5801, 0x19, 0, 0}, {0x5802, 0x12, 0, 0},
+       {0x5803, 0x0f, 0, 0}, {0x5804, 0x10, 0, 0}, {0x5805, 0x15, 0, 0},
+       {0x5806, 0x1e, 0, 0}, {0x5807, 0x2f, 0, 0}, {0x5808, 0x15, 0, 0},
+       {0x5809, 0x0d, 0, 0}, {0x580a, 0x0a, 0, 0}, {0x580b, 0x09, 0, 0},
+       {0x580c, 0x0a, 0, 0}, {0x580d, 0x0c, 0, 0}, {0x580e, 0x12, 0, 0},
+       {0x580f, 0x19, 0, 0}, {0x5810, 0x0b, 0, 0}, {0x5811, 0x07, 0, 0},
+       {0x5812, 0x04, 0, 0}, {0x5813, 0x03, 0, 0}, {0x5814, 0x03, 0, 0},
+       {0x5815, 0x06, 0, 0}, {0x5816, 0x0a, 0, 0}, {0x5817, 0x0f, 0, 0},
+       {0x5818, 0x0a, 0, 0}, {0x5819, 0x05, 0, 0}, {0x581a, 0x01, 0, 0},
+       {0x581b, 0x00, 0, 0}, {0x581c, 0x00, 0, 0}, {0x581d, 0x03, 0, 0},
+       {0x581e, 0x08, 0, 0}, {0x581f, 0x0c, 0, 0}, {0x5820, 0x0a, 0, 0},
+       {0x5821, 0x05, 0, 0}, {0x5822, 0x01, 0, 0}, {0x5823, 0x00, 0, 0},
+       {0x5824, 0x00, 0, 0}, {0x5825, 0x03, 0, 0}, {0x5826, 0x08, 0, 0},
+       {0x5827, 0x0c, 0, 0}, {0x5828, 0x0e, 0, 0}, {0x5829, 0x08, 0, 0},
+       {0x582a, 0x06, 0, 0}, {0x582b, 0x04, 0, 0}, {0x582c, 0x05, 0, 0},
+       {0x582d, 0x07, 0, 0}, {0x582e, 0x0b, 0, 0}, {0x582f, 0x12, 0, 0},
+       {0x5830, 0x18, 0, 0}, {0x5831, 0x10, 0, 0}, {0x5832, 0x0c, 0, 0},
+       {0x5833, 0x0a, 0, 0}, {0x5834, 0x0b, 0, 0}, {0x5835, 0x0e, 0, 0},
+       {0x5836, 0x15, 0, 0}, {0x5837, 0x19, 0, 0}, {0x5838, 0x32, 0, 0},
+       {0x5839, 0x1f, 0, 0}, {0x583a, 0x18, 0, 0}, {0x583b, 0x16, 0, 0},
+       {0x583c, 0x17, 0, 0}, {0x583d, 0x1e, 0, 0}, {0x583e, 0x26, 0, 0},
+       {0x583f, 0x53, 0, 0}, {0x5840, 0x10, 0, 0}, {0x5841, 0x0f, 0, 0},
+       {0x5842, 0x0d, 0, 0}, {0x5843, 0x0c, 0, 0}, {0x5844, 0x0e, 0, 0},
+       {0x5845, 0x09, 0, 0}, {0x5846, 0x11, 0, 0}, {0x5847, 0x10, 0, 0},
+       {0x5848, 0x10, 0, 0}, {0x5849, 0x10, 0, 0}, {0x584a, 0x10, 0, 0},
+       {0x584b, 0x0e, 0, 0}, {0x584c, 0x10, 0, 0}, {0x584d, 0x10, 0, 0},
+       {0x584e, 0x11, 0, 0}, {0x584f, 0x10, 0, 0}, {0x5850, 0x0f, 0, 0},
+       {0x5851, 0x0c, 0, 0}, {0x5852, 0x0f, 0, 0}, {0x5853, 0x10, 0, 0},
+       {0x5854, 0x10, 0, 0}, {0x5855, 0x0f, 0, 0}, {0x5856, 0x0e, 0, 0},
+       {0x5857, 0x0b, 0, 0}, {0x5858, 0x10, 0, 0}, {0x5859, 0x0d, 0, 0},
+       {0x585a, 0x0d, 0, 0}, {0x585b, 0x0c, 0, 0}, {0x585c, 0x0c, 0, 0},
+       {0x585d, 0x0c, 0, 0}, {0x585e, 0x0b, 0, 0}, {0x585f, 0x0c, 0, 0},
+       {0x5860, 0x0c, 0, 0}, {0x5861, 0x0c, 0, 0}, {0x5862, 0x0d, 0, 0},
+       {0x5863, 0x08, 0, 0}, {0x5864, 0x11, 0, 0}, {0x5865, 0x18, 0, 0},
+       {0x5866, 0x18, 0, 0}, {0x5867, 0x19, 0, 0}, {0x5868, 0x17, 0, 0},
+       {0x5869, 0x19, 0, 0}, {0x586a, 0x16, 0, 0}, {0x586b, 0x13, 0, 0},
+       {0x586c, 0x13, 0, 0}, {0x586d, 0x12, 0, 0}, {0x586e, 0x13, 0, 0},
+       {0x586f, 0x16, 0, 0}, {0x5870, 0x14, 0, 0}, {0x5871, 0x12, 0, 0},
+       {0x5872, 0x10, 0, 0}, {0x5873, 0x11, 0, 0}, {0x5874, 0x11, 0, 0},
+       {0x5875, 0x16, 0, 0}, {0x5876, 0x14, 0, 0}, {0x5877, 0x11, 0, 0},
+       {0x5878, 0x10, 0, 0}, {0x5879, 0x0f, 0, 0}, {0x587a, 0x10, 0, 0},
+       {0x587b, 0x14, 0, 0}, {0x587c, 0x13, 0, 0}, {0x587d, 0x12, 0, 0},
+       {0x587e, 0x11, 0, 0}, {0x587f, 0x11, 0, 0}, {0x5880, 0x12, 0, 0},
+       {0x5881, 0x15, 0, 0}, {0x5882, 0x14, 0, 0}, {0x5883, 0x15, 0, 0},
+       {0x5884, 0x15, 0, 0}, {0x5885, 0x15, 0, 0}, {0x5886, 0x13, 0, 0},
+       {0x5887, 0x17, 0, 0}, {0x3710, 0x10, 0, 0}, {0x3632, 0x51, 0, 0},
+       {0x3702, 0x10, 0, 0}, {0x3703, 0xb2, 0, 0}, {0x3704, 0x18, 0, 0},
+       {0x370b, 0x40, 0, 0}, {0x370d, 0x03, 0, 0}, {0x3631, 0x01, 0, 0},
+       {0x3632, 0x52, 0, 0}, {0x3606, 0x24, 0, 0}, {0x3620, 0x96, 0, 0},
+       {0x5785, 0x07, 0, 0}, {0x3a13, 0x30, 0, 0}, {0x3600, 0x52, 0, 0},
+       {0x3604, 0x48, 0, 0}, {0x3606, 0x1b, 0, 0}, {0x370d, 0x0b, 0, 0},
+       {0x370f, 0xc0, 0, 0}, {0x3709, 0x01, 0, 0}, {0x3823, 0x00, 0, 0},
+       {0x5007, 0x00, 0, 0}, {0x5009, 0x00, 0, 0}, {0x5011, 0x00, 0, 0},
+       {0x5013, 0x00, 0, 0}, {0x519e, 0x00, 0, 0}, {0x5086, 0x00, 0, 0},
+       {0x5087, 0x00, 0, 0}, {0x5088, 0x00, 0, 0}, {0x5089, 0x00, 0, 0},
+       {0x302b, 0x00, 0, 0}, {0x3503, 0x07, 0, 0}, {0x3011, 0x07, 0, 0},
+       {0x350c, 0x04, 0, 0}, {0x350d, 0x58, 0, 0}, {0x3801, 0x8a, 0, 0},
+       {0x3803, 0x0a, 0, 0}, {0x3804, 0x07, 0, 0}, {0x3805, 0x80, 0, 0},
+       {0x3806, 0x04, 0, 0}, {0x3807, 0x39, 0, 0}, {0x3808, 0x07, 0, 0},
+       {0x3809, 0x80, 0, 0}, {0x380a, 0x04, 0, 0}, {0x380b, 0x38, 0, 0},
+       {0x380c, 0x09, 0, 0}, {0x380d, 0xd6, 0, 0}, {0x380e, 0x04, 0, 0},
+       {0x380f, 0x58, 0, 0}, {0x381c, 0x11, 0, 0}, {0x381d, 0xba, 0, 0},
+       {0x381e, 0x04, 0, 0}, {0x381f, 0x48, 0, 0}, {0x3820, 0x04, 0, 0},
+       {0x3821, 0x18, 0, 0}, {0x3a08, 0x14, 0, 0}, {0x3a09, 0xe0, 0, 0},
+       {0x3a0a, 0x11, 0, 0}, {0x3a0b, 0x60, 0, 0}, {0x3a0d, 0x04, 0, 0},
+       {0x3a0e, 0x03, 0, 0}, {0x5682, 0x07, 0, 0}, {0x5683, 0x60, 0, 0},
+       {0x5686, 0x04, 0, 0}, {0x5687, 0x1c, 0, 0}, {0x5001, 0x7f, 0, 0},
+       {0x3503, 0x00, 0, 0}, {0x3010, 0x10, 0, 0}, {0x460c, 0x20, 0, 0},
+       {0x460b, 0x37, 0, 0}, {0x471c, 0xd0, 0, 0}, {0x471d, 0x05, 0, 0},
+       {0x3815, 0x01, 0, 0}, {0x3818, 0x00, 0x08, 0}, {0x501f, 0x00, 0, 0},
+       {0x4300, 0x30, 0, 0}, {0x3002, 0x1c, 0, 0}, {0x3819, 0x80, 0, 0},
+       {0x5002, 0xe0, 0, 0},
+};
+
+static struct reg_value ov5642_setting_15fps_QVGA_320_240[] = {
+       {0x3103, 0x93, 0, 0}, {0x3008, 0x82, 0, 0}, {0x3017, 0x7f, 0, 0},
+       {0x3018, 0xfc, 0, 0}, {0x3810, 0xc2, 0, 0}, {0x3615, 0xf0, 0, 0},
+       {0x3000, 0x00, 0, 0}, {0x3001, 0x00, 0, 0}, {0x3002, 0x5c, 0, 0},
+       {0x3003, 0x00, 0, 0}, {0x3004, 0xff, 0, 0}, {0x3005, 0xff, 0, 0},
+       {0x3006, 0x43, 0, 0}, {0x3007, 0x37, 0, 0}, {0x3011, 0x08, 0, 0},
+       {0x3010, 0x10, 0, 0}, {0x460c, 0x22, 0, 0}, {0x3815, 0x04, 0, 0},
+       {0x370c, 0xa0, 0, 0}, {0x3602, 0xfc, 0, 0}, {0x3612, 0xff, 0, 0},
+       {0x3634, 0xc0, 0, 0}, {0x3613, 0x00, 0, 0}, {0x3605, 0x7c, 0, 0},
+       {0x3621, 0x09, 0, 0}, {0x3622, 0x60, 0, 0}, {0x3604, 0x40, 0, 0},
+       {0x3603, 0xa7, 0, 0}, {0x3603, 0x27, 0, 0}, {0x4000, 0x21, 0, 0},
+       {0x401d, 0x22, 0, 0}, {0x3600, 0x54, 0, 0}, {0x3605, 0x04, 0, 0},
+       {0x3606, 0x3f, 0, 0}, {0x3c01, 0x80, 0, 0}, {0x5000, 0x4f, 0, 0},
+       {0x5020, 0x04, 0, 0}, {0x5181, 0x79, 0, 0}, {0x5182, 0x00, 0, 0},
+       {0x5185, 0x22, 0, 0}, {0x5197, 0x01, 0, 0}, {0x5001, 0xff, 0, 0},
+       {0x5500, 0x0a, 0, 0}, {0x5504, 0x00, 0, 0}, {0x5505, 0x7f, 0, 0},
+       {0x5080, 0x08, 0, 0}, {0x300e, 0x18, 0, 0}, {0x4610, 0x00, 0, 0},
+       {0x471d, 0x05, 0, 0}, {0x4708, 0x06, 0, 0}, {0x3808, 0x02, 0, 0},
+       {0x3809, 0x80, 0, 0}, {0x380a, 0x01, 0, 0}, {0x380b, 0xe0, 0, 0},
+       {0x380e, 0x07, 0, 0}, {0x380f, 0xd0, 0, 0}, {0x501f, 0x00, 0, 0},
+       {0x5000, 0x4f, 0, 0}, {0x4300, 0x30, 0, 0}, {0x3503, 0x07, 0, 0},
+       {0x3501, 0x73, 0, 0}, {0x3502, 0x80, 0, 0}, {0x350b, 0x00, 0, 0},
+       {0x3503, 0x07, 0, 0}, {0x3824, 0x11, 0, 0}, {0x3501, 0x1e, 0, 0},
+       {0x3502, 0x80, 0, 0}, {0x350b, 0x7f, 0, 0}, {0x380c, 0x0c, 0, 0},
+       {0x380d, 0x80, 0, 0}, {0x380e, 0x03, 0, 0}, {0x380f, 0xe8, 0, 0},
+       {0x3a0d, 0x04, 0, 0}, {0x3a0e, 0x03, 0, 0}, {0x3818, 0xc1, 0, 0},
+       {0x3705, 0xdb, 0, 0}, {0x370a, 0x81, 0, 0}, {0x3801, 0x80, 0, 0},
+       {0x3621, 0x87, 0, 0}, {0x3801, 0x50, 0, 0}, {0x3803, 0x08, 0, 0},
+       {0x3827, 0x08, 0, 0}, {0x3810, 0x40, 0, 0}, {0x3804, 0x05, 0, 0},
+       {0x3805, 0x00, 0, 0}, {0x5682, 0x05, 0, 0}, {0x5683, 0x00, 0, 0},
+       {0x3806, 0x03, 0, 0}, {0x3807, 0xc0, 0, 0}, {0x5686, 0x03, 0, 0},
+       {0x5687, 0xbc, 0, 0}, {0x3a00, 0x78, 0, 0}, {0x3a1a, 0x05, 0, 0},
+       {0x3a13, 0x30, 0, 0}, {0x3a18, 0x00, 0, 0}, {0x3a19, 0x7c, 0, 0},
+       {0x3a08, 0x12, 0, 0}, {0x3a09, 0xc0, 0, 0}, {0x3a0a, 0x0f, 0, 0},
+       {0x3a0b, 0xa0, 0, 0}, {0x350c, 0x07, 0, 0}, {0x350d, 0xd0, 0, 0},
+       {0x3500, 0x00, 0, 0}, {0x3501, 0x00, 0, 0}, {0x3502, 0x00, 0, 0},
+       {0x350a, 0x00, 0, 0}, {0x350b, 0x00, 0, 0}, {0x3503, 0x00, 0, 0},
+       {0x528a, 0x02, 0, 0}, {0x528b, 0x04, 0, 0}, {0x528c, 0x08, 0, 0},
+       {0x528d, 0x08, 0, 0}, {0x528e, 0x08, 0, 0}, {0x528f, 0x10, 0, 0},
+       {0x5290, 0x10, 0, 0}, {0x5292, 0x00, 0, 0}, {0x5293, 0x02, 0, 0},
+       {0x5294, 0x00, 0, 0}, {0x5295, 0x02, 0, 0}, {0x5296, 0x00, 0, 0},
+       {0x5297, 0x02, 0, 0}, {0x5298, 0x00, 0, 0}, {0x5299, 0x02, 0, 0},
+       {0x529a, 0x00, 0, 0}, {0x529b, 0x02, 0, 0}, {0x529c, 0x00, 0, 0},
+       {0x529d, 0x02, 0, 0}, {0x529e, 0x00, 0, 0}, {0x529f, 0x02, 0, 0},
+       {0x3a0f, 0x3c, 0, 0}, {0x3a10, 0x30, 0, 0}, {0x3a1b, 0x3c, 0, 0},
+       {0x3a1e, 0x30, 0, 0}, {0x3a11, 0x70, 0, 0}, {0x3a1f, 0x10, 0, 0},
+       {0x3030, 0x2b, 0, 0}, {0x3a02, 0x00, 0, 0}, {0x3a03, 0x7d, 0, 0},
+       {0x3a04, 0x00, 0, 0}, {0x3a14, 0x00, 0, 0}, {0x3a15, 0x7d, 0, 0},
+       {0x3a16, 0x00, 0, 0}, {0x3a00, 0x78, 0, 0}, {0x3a08, 0x09, 0, 0},
+       {0x3a09, 0x60, 0, 0}, {0x3a0a, 0x07, 0, 0}, {0x3a0b, 0xd0, 0, 0},
+       {0x3a0d, 0x08, 0, 0}, {0x3a0e, 0x06, 0, 0}, {0x5193, 0x70, 0, 0},
+       {0x589b, 0x04, 0, 0}, {0x589a, 0xc5, 0, 0}, {0x401e, 0x20, 0, 0},
+       {0x4001, 0x42, 0, 0}, {0x401c, 0x04, 0, 0}, {0x528a, 0x01, 0, 0},
+       {0x528b, 0x04, 0, 0}, {0x528c, 0x08, 0, 0}, {0x528d, 0x10, 0, 0},
+       {0x528e, 0x20, 0, 0}, {0x528f, 0x28, 0, 0}, {0x5290, 0x30, 0, 0},
+       {0x5292, 0x00, 0, 0}, {0x5293, 0x01, 0, 0}, {0x5294, 0x00, 0, 0},
+       {0x5295, 0x04, 0, 0}, {0x5296, 0x00, 0, 0}, {0x5297, 0x08, 0, 0},
+       {0x5298, 0x00, 0, 0}, {0x5299, 0x10, 0, 0}, {0x529a, 0x00, 0, 0},
+       {0x529b, 0x20, 0, 0}, {0x529c, 0x00, 0, 0}, {0x529d, 0x28, 0, 0},
+       {0x529e, 0x00, 0, 0}, {0x529f, 0x30, 0, 0}, {0x5282, 0x00, 0, 0},
+       {0x5300, 0x00, 0, 0}, {0x5301, 0x20, 0, 0}, {0x5302, 0x00, 0, 0},
+       {0x5303, 0x7c, 0, 0}, {0x530c, 0x00, 0, 0}, {0x530d, 0x0c, 0, 0},
+       {0x530e, 0x20, 0, 0}, {0x530f, 0x80, 0, 0}, {0x5310, 0x20, 0, 0},
+       {0x5311, 0x80, 0, 0}, {0x5308, 0x20, 0, 0}, {0x5309, 0x40, 0, 0},
+       {0x5304, 0x00, 0, 0}, {0x5305, 0x30, 0, 0}, {0x5306, 0x00, 0, 0},
+       {0x5307, 0x80, 0, 0}, {0x5314, 0x08, 0, 0}, {0x5315, 0x20, 0, 0},
+       {0x5319, 0x30, 0, 0}, {0x5316, 0x10, 0, 0}, {0x5317, 0x00, 0, 0},
+       {0x5318, 0x02, 0, 0}, {0x5380, 0x01, 0, 0}, {0x5381, 0x00, 0, 0},
+       {0x5382, 0x00, 0, 0}, {0x5383, 0x4e, 0, 0}, {0x5384, 0x00, 0, 0},
+       {0x5385, 0x0f, 0, 0}, {0x5386, 0x00, 0, 0}, {0x5387, 0x00, 0, 0},
+       {0x5388, 0x01, 0, 0}, {0x5389, 0x15, 0, 0}, {0x538a, 0x00, 0, 0},
+       {0x538b, 0x31, 0, 0}, {0x538c, 0x00, 0, 0}, {0x538d, 0x00, 0, 0},
+       {0x538e, 0x00, 0, 0}, {0x538f, 0x0f, 0, 0}, {0x5390, 0x00, 0, 0},
+       {0x5391, 0xab, 0, 0}, {0x5392, 0x00, 0, 0}, {0x5393, 0xa2, 0, 0},
+       {0x5394, 0x08, 0, 0}, {0x5480, 0x14, 0, 0}, {0x5481, 0x21, 0, 0},
+       {0x5482, 0x36, 0, 0}, {0x5483, 0x57, 0, 0}, {0x5484, 0x65, 0, 0},
+       {0x5485, 0x71, 0, 0}, {0x5486, 0x7d, 0, 0}, {0x5487, 0x87, 0, 0},
+       {0x5488, 0x91, 0, 0}, {0x5489, 0x9a, 0, 0}, {0x548a, 0xaa, 0, 0},
+       {0x548b, 0xb8, 0, 0}, {0x548c, 0xcd, 0, 0}, {0x548d, 0xdd, 0, 0},
+       {0x548e, 0xea, 0, 0}, {0x548f, 0x1d, 0, 0}, {0x5490, 0x05, 0, 0},
+       {0x5491, 0x00, 0, 0}, {0x5492, 0x04, 0, 0}, {0x5493, 0x20, 0, 0},
+       {0x5494, 0x03, 0, 0}, {0x5495, 0x60, 0, 0}, {0x5496, 0x02, 0, 0},
+       {0x5497, 0xb8, 0, 0}, {0x5498, 0x02, 0, 0}, {0x5499, 0x86, 0, 0},
+       {0x549a, 0x02, 0, 0}, {0x549b, 0x5b, 0, 0}, {0x549c, 0x02, 0, 0},
+       {0x549d, 0x3b, 0, 0}, {0x549e, 0x02, 0, 0}, {0x549f, 0x1c, 0, 0},
+       {0x54a0, 0x02, 0, 0}, {0x54a1, 0x04, 0, 0}, {0x54a2, 0x01, 0, 0},
+       {0x54a3, 0xed, 0, 0}, {0x54a4, 0x01, 0, 0}, {0x54a5, 0xc5, 0, 0},
+       {0x54a6, 0x01, 0, 0}, {0x54a7, 0xa5, 0, 0}, {0x54a8, 0x01, 0, 0},
+       {0x54a9, 0x6c, 0, 0}, {0x54aa, 0x01, 0, 0}, {0x54ab, 0x41, 0, 0},
+       {0x54ac, 0x01, 0, 0}, {0x54ad, 0x20, 0, 0}, {0x54ae, 0x00, 0, 0},
+       {0x54af, 0x16, 0, 0}, {0x54b0, 0x01, 0, 0}, {0x54b1, 0x20, 0, 0},
+       {0x54b2, 0x00, 0, 0}, {0x54b3, 0x10, 0, 0}, {0x54b4, 0x00, 0, 0},
+       {0x54b5, 0xf0, 0, 0}, {0x54b6, 0x00, 0, 0}, {0x54b7, 0xdf, 0, 0},
+       {0x5402, 0x3f, 0, 0}, {0x5403, 0x00, 0, 0}, {0x3406, 0x00, 0, 0},
+       {0x5180, 0xff, 0, 0}, {0x5181, 0x52, 0, 0}, {0x5182, 0x11, 0, 0},
+       {0x5183, 0x14, 0, 0}, {0x5184, 0x25, 0, 0}, {0x5185, 0x24, 0, 0},
+       {0x5186, 0x06, 0, 0}, {0x5187, 0x08, 0, 0}, {0x5188, 0x08, 0, 0},
+       {0x5189, 0x7c, 0, 0}, {0x518a, 0x60, 0, 0}, {0x518b, 0xb2, 0, 0},
+       {0x518c, 0xb2, 0, 0}, {0x518d, 0x44, 0, 0}, {0x518e, 0x3d, 0, 0},
+       {0x518f, 0x58, 0, 0}, {0x5190, 0x46, 0, 0}, {0x5191, 0xf8, 0, 0},
+       {0x5192, 0x04, 0, 0}, {0x5193, 0x70, 0, 0}, {0x5194, 0xf0, 0, 0},
+       {0x5195, 0xf0, 0, 0}, {0x5196, 0x03, 0, 0}, {0x5197, 0x01, 0, 0},
+       {0x5198, 0x04, 0, 0}, {0x5199, 0x12, 0, 0}, {0x519a, 0x04, 0, 0},
+       {0x519b, 0x00, 0, 0}, {0x519c, 0x06, 0, 0}, {0x519d, 0x82, 0, 0},
+       {0x519e, 0x00, 0, 0}, {0x5025, 0x80, 0, 0}, {0x3a0f, 0x38, 0, 0},
+       {0x3a10, 0x30, 0, 0}, {0x3a1b, 0x3a, 0, 0}, {0x3a1e, 0x2e, 0, 0},
+       {0x3a11, 0x60, 0, 0}, {0x3a1f, 0x10, 0, 0}, {0x5688, 0xa6, 0, 0},
+       {0x5689, 0x6a, 0, 0}, {0x568a, 0xea, 0, 0}, {0x568b, 0xae, 0, 0},
+       {0x568c, 0xa6, 0, 0}, {0x568d, 0x6a, 0, 0}, {0x568e, 0x62, 0, 0},
+       {0x568f, 0x26, 0, 0}, {0x5583, 0x40, 0, 0}, {0x5584, 0x40, 0, 0},
+       {0x5580, 0x02, 0, 0}, {0x5000, 0xcf, 0, 0}, {0x5800, 0x27, 0, 0},
+       {0x5801, 0x19, 0, 0}, {0x5802, 0x12, 0, 0}, {0x5803, 0x0f, 0, 0},
+       {0x5804, 0x10, 0, 0}, {0x5805, 0x15, 0, 0}, {0x5806, 0x1e, 0, 0},
+       {0x5807, 0x2f, 0, 0}, {0x5808, 0x15, 0, 0}, {0x5809, 0x0d, 0, 0},
+       {0x580a, 0x0a, 0, 0}, {0x580b, 0x09, 0, 0}, {0x580c, 0x0a, 0, 0},
+       {0x580d, 0x0c, 0, 0}, {0x580e, 0x12, 0, 0}, {0x580f, 0x19, 0, 0},
+       {0x5810, 0x0b, 0, 0}, {0x5811, 0x07, 0, 0}, {0x5812, 0x04, 0, 0},
+       {0x5813, 0x03, 0, 0}, {0x5814, 0x03, 0, 0}, {0x5815, 0x06, 0, 0},
+       {0x5816, 0x0a, 0, 0}, {0x5817, 0x0f, 0, 0}, {0x5818, 0x0a, 0, 0},
+       {0x5819, 0x05, 0, 0}, {0x581a, 0x01, 0, 0}, {0x581b, 0x00, 0, 0},
+       {0x581c, 0x00, 0, 0}, {0x581d, 0x03, 0, 0}, {0x581e, 0x08, 0, 0},
+       {0x581f, 0x0c, 0, 0}, {0x5820, 0x0a, 0, 0}, {0x5821, 0x05, 0, 0},
+       {0x5822, 0x01, 0, 0}, {0x5823, 0x00, 0, 0}, {0x5824, 0x00, 0, 0},
+       {0x5825, 0x03, 0, 0}, {0x5826, 0x08, 0, 0}, {0x5827, 0x0c, 0, 0},
+       {0x5828, 0x0e, 0, 0}, {0x5829, 0x08, 0, 0}, {0x582a, 0x06, 0, 0},
+       {0x582b, 0x04, 0, 0}, {0x582c, 0x05, 0, 0}, {0x582d, 0x07, 0, 0},
+       {0x582e, 0x0b, 0, 0}, {0x582f, 0x12, 0, 0}, {0x5830, 0x18, 0, 0},
+       {0x5831, 0x10, 0, 0}, {0x5832, 0x0c, 0, 0}, {0x5833, 0x0a, 0, 0},
+       {0x5834, 0x0b, 0, 0}, {0x5835, 0x0e, 0, 0}, {0x5836, 0x15, 0, 0},
+       {0x5837, 0x19, 0, 0}, {0x5838, 0x32, 0, 0}, {0x5839, 0x1f, 0, 0},
+       {0x583a, 0x18, 0, 0}, {0x583b, 0x16, 0, 0}, {0x583c, 0x17, 0, 0},
+       {0x583d, 0x1e, 0, 0}, {0x583e, 0x26, 0, 0}, {0x583f, 0x53, 0, 0},
+       {0x5840, 0x10, 0, 0}, {0x5841, 0x0f, 0, 0}, {0x5842, 0x0d, 0, 0},
+       {0x5843, 0x0c, 0, 0}, {0x5844, 0x0e, 0, 0}, {0x5845, 0x09, 0, 0},
+       {0x5846, 0x11, 0, 0}, {0x5847, 0x10, 0, 0}, {0x5848, 0x10, 0, 0},
+       {0x5849, 0x10, 0, 0}, {0x584a, 0x10, 0, 0}, {0x584b, 0x0e, 0, 0},
+       {0x584c, 0x10, 0, 0}, {0x584d, 0x10, 0, 0}, {0x584e, 0x11, 0, 0},
+       {0x584f, 0x10, 0, 0}, {0x5850, 0x0f, 0, 0}, {0x5851, 0x0c, 0, 0},
+       {0x5852, 0x0f, 0, 0}, {0x5853, 0x10, 0, 0}, {0x5854, 0x10, 0, 0},
+       {0x5855, 0x0f, 0, 0}, {0x5856, 0x0e, 0, 0}, {0x5857, 0x0b, 0, 0},
+       {0x5858, 0x10, 0, 0}, {0x5859, 0x0d, 0, 0}, {0x585a, 0x0d, 0, 0},
+       {0x585b, 0x0c, 0, 0}, {0x585c, 0x0c, 0, 0}, {0x585d, 0x0c, 0, 0},
+       {0x585e, 0x0b, 0, 0}, {0x585f, 0x0c, 0, 0}, {0x5860, 0x0c, 0, 0},
+       {0x5861, 0x0c, 0, 0}, {0x5862, 0x0d, 0, 0}, {0x5863, 0x08, 0, 0},
+       {0x5864, 0x11, 0, 0}, {0x5865, 0x18, 0, 0}, {0x5866, 0x18, 0, 0},
+       {0x5867, 0x19, 0, 0}, {0x5868, 0x17, 0, 0}, {0x5869, 0x19, 0, 0},
+       {0x586a, 0x16, 0, 0}, {0x586b, 0x13, 0, 0}, {0x586c, 0x13, 0, 0},
+       {0x586d, 0x12, 0, 0}, {0x586e, 0x13, 0, 0}, {0x586f, 0x16, 0, 0},
+       {0x5870, 0x14, 0, 0}, {0x5871, 0x12, 0, 0}, {0x5872, 0x10, 0, 0},
+       {0x5873, 0x11, 0, 0}, {0x5874, 0x11, 0, 0}, {0x5875, 0x16, 0, 0},
+       {0x5876, 0x14, 0, 0}, {0x5877, 0x11, 0, 0}, {0x5878, 0x10, 0, 0},
+       {0x5879, 0x0f, 0, 0}, {0x587a, 0x10, 0, 0}, {0x587b, 0x14, 0, 0},
+       {0x587c, 0x13, 0, 0}, {0x587d, 0x12, 0, 0}, {0x587e, 0x11, 0, 0},
+       {0x587f, 0x11, 0, 0}, {0x5880, 0x12, 0, 0}, {0x5881, 0x15, 0, 0},
+       {0x5882, 0x14, 0, 0}, {0x5883, 0x15, 0, 0}, {0x5884, 0x15, 0, 0},
+       {0x5885, 0x15, 0, 0}, {0x5886, 0x13, 0, 0}, {0x5887, 0x17, 0, 0},
+       {0x3710, 0x10, 0, 0}, {0x3632, 0x51, 0, 0}, {0x3702, 0x10, 0, 0},
+       {0x3703, 0xb2, 0, 0}, {0x3704, 0x18, 0, 0}, {0x370b, 0x40, 0, 0},
+       {0x370d, 0x03, 0, 0}, {0x3631, 0x01, 0, 0}, {0x3632, 0x52, 0, 0},
+       {0x3606, 0x24, 0, 0}, {0x3620, 0x96, 0, 0}, {0x5785, 0x07, 0, 0},
+       {0x3a13, 0x30, 0, 0}, {0x3600, 0x52, 0, 0}, {0x3604, 0x48, 0, 0},
+       {0x3606, 0x1b, 0, 0}, {0x370d, 0x0b, 0, 0}, {0x370f, 0xc0, 0, 0},
+       {0x3709, 0x01, 0, 0}, {0x3823, 0x00, 0, 0}, {0x5007, 0x00, 0, 0},
+       {0x5009, 0x00, 0, 0}, {0x5011, 0x00, 0, 0}, {0x5013, 0x00, 0, 0},
+       {0x519e, 0x00, 0, 0}, {0x5086, 0x00, 0, 0}, {0x5087, 0x00, 0, 0},
+       {0x5088, 0x00, 0, 0}, {0x5089, 0x00, 0, 0}, {0x302b, 0x00, 0, 0},
+       {0x3808, 0x01, 0, 0}, {0x3809, 0x40, 0, 0}, {0x380a, 0x00, 0, 0},
+       {0x380b, 0xf0, 0, 0}, {0x3a00, 0x78, 0, 0},
+};
+
+static struct reg_value ov5642_setting_15fps_NTSC_720_480[] = {
+       {0x3103, 0x93, 0, 0}, {0x3008, 0x82, 0, 0}, {0x3017, 0x7f, 0, 0},
+       {0x3018, 0xfc, 0, 0}, {0x3810, 0xc2, 0, 0}, {0x3615, 0xf0, 0, 0},
+       {0x3000, 0x00, 0, 0}, {0x3001, 0x00, 0, 0}, {0x3002, 0x5c, 0, 0},
+       {0x3003, 0x00, 0, 0}, {0x3004, 0xff, 0, 0}, {0x3005, 0xff, 0, 0},
+       {0x3006, 0x43, 0, 0}, {0x3007, 0x37, 0, 0}, {0x3011, 0x08, 0, 0},
+       {0x3010, 0x10, 0, 0}, {0x460c, 0x22, 0, 0}, {0x3815, 0x04, 0, 0},
+       {0x370c, 0xa0, 0, 0}, {0x3602, 0xfc, 0, 0}, {0x3612, 0xff, 0, 0},
+       {0x3634, 0xc0, 0, 0}, {0x3613, 0x00, 0, 0}, {0x3605, 0x7c, 0, 0},
+       {0x3621, 0x09, 0, 0}, {0x3622, 0x60, 0, 0}, {0x3604, 0x40, 0, 0},
+       {0x3603, 0xa7, 0, 0}, {0x3603, 0x27, 0, 0}, {0x4000, 0x21, 0, 0},
+       {0x401d, 0x22, 0, 0}, {0x3600, 0x54, 0, 0}, {0x3605, 0x04, 0, 0},
+       {0x3606, 0x3f, 0, 0}, {0x3c01, 0x80, 0, 0}, {0x5000, 0x4f, 0, 0},
+       {0x5020, 0x04, 0, 0}, {0x5181, 0x79, 0, 0}, {0x5182, 0x00, 0, 0},
+       {0x5185, 0x22, 0, 0}, {0x5197, 0x01, 0, 0}, {0x5001, 0xff, 0, 0},
+       {0x5500, 0x0a, 0, 0}, {0x5504, 0x00, 0, 0}, {0x5505, 0x7f, 0, 0},
+       {0x5080, 0x08, 0, 0}, {0x300e, 0x18, 0, 0}, {0x4610, 0x00, 0, 0},
+       {0x471d, 0x05, 0, 0}, {0x4708, 0x06, 0, 0}, {0x3808, 0x02, 0, 0},
+       {0x3809, 0x80, 0, 0}, {0x380a, 0x01, 0, 0}, {0x380b, 0xe0, 0, 0},
+       {0x380e, 0x07, 0, 0}, {0x380f, 0xd0, 0, 0}, {0x501f, 0x00, 0, 0},
+       {0x5000, 0x4f, 0, 0}, {0x4300, 0x30, 0, 0}, {0x3503, 0x07, 0, 0},
+       {0x3501, 0x73, 0, 0}, {0x3502, 0x80, 0, 0}, {0x350b, 0x00, 0, 0},
+       {0x3503, 0x07, 0, 0}, {0x3824, 0x11, 0, 0}, {0x3501, 0x1e, 0, 0},
+       {0x3502, 0x80, 0, 0}, {0x350b, 0x7f, 0, 0}, {0x380c, 0x0c, 0, 0},
+       {0x380d, 0x80, 0, 0}, {0x380e, 0x03, 0, 0}, {0x380f, 0xe8, 0, 0},
+       {0x3a0d, 0x04, 0, 0}, {0x3a0e, 0x03, 0, 0}, {0x3818, 0xc1, 0, 0},
+       {0x3705, 0xdb, 0, 0}, {0x370a, 0x81, 0, 0}, {0x3801, 0x80, 0, 0},
+       {0x3621, 0x87, 0, 0}, {0x3801, 0x50, 0, 0}, {0x3803, 0x08, 0, 0},
+       {0x3827, 0x08, 0, 0}, {0x3810, 0x40, 0, 0}, {0x3804, 0x05, 0, 0},
+       {0x3805, 0x00, 0, 0}, {0x5682, 0x05, 0, 0}, {0x5683, 0x00, 0, 0},
+       {0x3806, 0x03, 0, 0}, {0x3807, 0xc0, 0, 0}, {0x5686, 0x03, 0, 0},
+       {0x5687, 0xbc, 0, 0}, {0x3a00, 0x78, 0, 0}, {0x3a1a, 0x05, 0, 0},
+       {0x3a13, 0x30, 0, 0}, {0x3a18, 0x00, 0, 0}, {0x3a19, 0x7c, 0, 0},
+       {0x3a08, 0x12, 0, 0}, {0x3a09, 0xc0, 0, 0}, {0x3a0a, 0x0f, 0, 0},
+       {0x3a0b, 0xa0, 0, 0}, {0x350c, 0x07, 0, 0}, {0x350d, 0xd0, 0, 0},
+       {0x3500, 0x00, 0, 0}, {0x3501, 0x00, 0, 0}, {0x3502, 0x00, 0, 0},
+       {0x350a, 0x00, 0, 0}, {0x350b, 0x00, 0, 0}, {0x3503, 0x00, 0, 0},
+       {0x528a, 0x02, 0, 0}, {0x528b, 0x04, 0, 0}, {0x528c, 0x08, 0, 0},
+       {0x528d, 0x08, 0, 0}, {0x528e, 0x08, 0, 0}, {0x528f, 0x10, 0, 0},
+       {0x5290, 0x10, 0, 0}, {0x5292, 0x00, 0, 0}, {0x5293, 0x02, 0, 0},
+       {0x5294, 0x00, 0, 0}, {0x5295, 0x02, 0, 0}, {0x5296, 0x00, 0, 0},
+       {0x5297, 0x02, 0, 0}, {0x5298, 0x00, 0, 0}, {0x5299, 0x02, 0, 0},
+       {0x529a, 0x00, 0, 0}, {0x529b, 0x02, 0, 0}, {0x529c, 0x00, 0, 0},
+       {0x529d, 0x02, 0, 0}, {0x529e, 0x00, 0, 0}, {0x529f, 0x02, 0, 0},
+       {0x3a0f, 0x3c, 0, 0}, {0x3a10, 0x30, 0, 0}, {0x3a1b, 0x3c, 0, 0},
+       {0x3a1e, 0x30, 0, 0}, {0x3a11, 0x70, 0, 0}, {0x3a1f, 0x10, 0, 0},
+       {0x3030, 0x2b, 0, 0}, {0x3a02, 0x00, 0, 0}, {0x3a03, 0x7d, 0, 0},
+       {0x3a04, 0x00, 0, 0}, {0x3a14, 0x00, 0, 0}, {0x3a15, 0x7d, 0, 0},
+       {0x3a16, 0x00, 0, 0}, {0x3a00, 0x78, 0, 0}, {0x3a08, 0x09, 0, 0},
+       {0x3a09, 0x60, 0, 0}, {0x3a0a, 0x07, 0, 0}, {0x3a0b, 0xd0, 0, 0},
+       {0x3a0d, 0x08, 0, 0}, {0x3a0e, 0x06, 0, 0}, {0x5193, 0x70, 0, 0},
+       {0x589b, 0x04, 0, 0}, {0x589a, 0xc5, 0, 0}, {0x401e, 0x20, 0, 0},
+       {0x4001, 0x42, 0, 0}, {0x401c, 0x04, 0, 0}, {0x528a, 0x01, 0, 0},
+       {0x528b, 0x04, 0, 0}, {0x528c, 0x08, 0, 0}, {0x528d, 0x10, 0, 0},
+       {0x528e, 0x20, 0, 0}, {0x528f, 0x28, 0, 0}, {0x5290, 0x30, 0, 0},
+       {0x5292, 0x00, 0, 0}, {0x5293, 0x01, 0, 0}, {0x5294, 0x00, 0, 0},
+       {0x5295, 0x04, 0, 0}, {0x5296, 0x00, 0, 0}, {0x5297, 0x08, 0, 0},
+       {0x5298, 0x00, 0, 0}, {0x5299, 0x10, 0, 0}, {0x529a, 0x00, 0, 0},
+       {0x529b, 0x20, 0, 0}, {0x529c, 0x00, 0, 0}, {0x529d, 0x28, 0, 0},
+       {0x529e, 0x00, 0, 0}, {0x529f, 0x30, 0, 0}, {0x5282, 0x00, 0, 0},
+       {0x5300, 0x00, 0, 0}, {0x5301, 0x20, 0, 0}, {0x5302, 0x00, 0, 0},
+       {0x5303, 0x7c, 0, 0}, {0x530c, 0x00, 0, 0}, {0x530d, 0x0c, 0, 0},
+       {0x530e, 0x20, 0, 0}, {0x530f, 0x80, 0, 0}, {0x5310, 0x20, 0, 0},
+       {0x5311, 0x80, 0, 0}, {0x5308, 0x20, 0, 0}, {0x5309, 0x40, 0, 0},
+       {0x5304, 0x00, 0, 0}, {0x5305, 0x30, 0, 0}, {0x5306, 0x00, 0, 0},
+       {0x5307, 0x80, 0, 0}, {0x5314, 0x08, 0, 0}, {0x5315, 0x20, 0, 0},
+       {0x5319, 0x30, 0, 0}, {0x5316, 0x10, 0, 0}, {0x5317, 0x00, 0, 0},
+       {0x5318, 0x02, 0, 0}, {0x5380, 0x01, 0, 0}, {0x5381, 0x00, 0, 0},
+       {0x5382, 0x00, 0, 0}, {0x5383, 0x4e, 0, 0}, {0x5384, 0x00, 0, 0},
+       {0x5385, 0x0f, 0, 0}, {0x5386, 0x00, 0, 0}, {0x5387, 0x00, 0, 0},
+       {0x5388, 0x01, 0, 0}, {0x5389, 0x15, 0, 0}, {0x538a, 0x00, 0, 0},
+       {0x538b, 0x31, 0, 0}, {0x538c, 0x00, 0, 0}, {0x538d, 0x00, 0, 0},
+       {0x538e, 0x00, 0, 0}, {0x538f, 0x0f, 0, 0}, {0x5390, 0x00, 0, 0},
+       {0x5391, 0xab, 0, 0}, {0x5392, 0x00, 0, 0}, {0x5393, 0xa2, 0, 0},
+       {0x5394, 0x08, 0, 0}, {0x5480, 0x14, 0, 0}, {0x5481, 0x21, 0, 0},
+       {0x5482, 0x36, 0, 0}, {0x5483, 0x57, 0, 0}, {0x5484, 0x65, 0, 0},
+       {0x5485, 0x71, 0, 0}, {0x5486, 0x7d, 0, 0}, {0x5487, 0x87, 0, 0},
+       {0x5488, 0x91, 0, 0}, {0x5489, 0x9a, 0, 0}, {0x548a, 0xaa, 0, 0},
+       {0x548b, 0xb8, 0, 0}, {0x548c, 0xcd, 0, 0}, {0x548d, 0xdd, 0, 0},
+       {0x548e, 0xea, 0, 0}, {0x548f, 0x1d, 0, 0}, {0x5490, 0x05, 0, 0},
+       {0x5491, 0x00, 0, 0}, {0x5492, 0x04, 0, 0}, {0x5493, 0x20, 0, 0},
+       {0x5494, 0x03, 0, 0}, {0x5495, 0x60, 0, 0}, {0x5496, 0x02, 0, 0},
+       {0x5497, 0xb8, 0, 0}, {0x5498, 0x02, 0, 0}, {0x5499, 0x86, 0, 0},
+       {0x549a, 0x02, 0, 0}, {0x549b, 0x5b, 0, 0}, {0x549c, 0x02, 0, 0},
+       {0x549d, 0x3b, 0, 0}, {0x549e, 0x02, 0, 0}, {0x549f, 0x1c, 0, 0},
+       {0x54a0, 0x02, 0, 0}, {0x54a1, 0x04, 0, 0}, {0x54a2, 0x01, 0, 0},
+       {0x54a3, 0xed, 0, 0}, {0x54a4, 0x01, 0, 0}, {0x54a5, 0xc5, 0, 0},
+       {0x54a6, 0x01, 0, 0}, {0x54a7, 0xa5, 0, 0}, {0x54a8, 0x01, 0, 0},
+       {0x54a9, 0x6c, 0, 0}, {0x54aa, 0x01, 0, 0}, {0x54ab, 0x41, 0, 0},
+       {0x54ac, 0x01, 0, 0}, {0x54ad, 0x20, 0, 0}, {0x54ae, 0x00, 0, 0},
+       {0x54af, 0x16, 0, 0}, {0x54b0, 0x01, 0, 0}, {0x54b1, 0x20, 0, 0},
+       {0x54b2, 0x00, 0, 0}, {0x54b3, 0x10, 0, 0}, {0x54b4, 0x00, 0, 0},
+       {0x54b5, 0xf0, 0, 0}, {0x54b6, 0x00, 0, 0}, {0x54b7, 0xdf, 0, 0},
+       {0x5402, 0x3f, 0, 0}, {0x5403, 0x00, 0, 0}, {0x3406, 0x00, 0, 0},
+       {0x5180, 0xff, 0, 0}, {0x5181, 0x52, 0, 0}, {0x5182, 0x11, 0, 0},
+       {0x5183, 0x14, 0, 0}, {0x5184, 0x25, 0, 0}, {0x5185, 0x24, 0, 0},
+       {0x5186, 0x06, 0, 0}, {0x5187, 0x08, 0, 0}, {0x5188, 0x08, 0, 0},
+       {0x5189, 0x7c, 0, 0}, {0x518a, 0x60, 0, 0}, {0x518b, 0xb2, 0, 0},
+       {0x518c, 0xb2, 0, 0}, {0x518d, 0x44, 0, 0}, {0x518e, 0x3d, 0, 0},
+       {0x518f, 0x58, 0, 0}, {0x5190, 0x46, 0, 0}, {0x5191, 0xf8, 0, 0},
+       {0x5192, 0x04, 0, 0}, {0x5193, 0x70, 0, 0}, {0x5194, 0xf0, 0, 0},
+       {0x5195, 0xf0, 0, 0}, {0x5196, 0x03, 0, 0}, {0x5197, 0x01, 0, 0},
+       {0x5198, 0x04, 0, 0}, {0x5199, 0x12, 0, 0}, {0x519a, 0x04, 0, 0},
+       {0x519b, 0x00, 0, 0}, {0x519c, 0x06, 0, 0}, {0x519d, 0x82, 0, 0},
+       {0x519e, 0x00, 0, 0}, {0x5025, 0x80, 0, 0}, {0x3a0f, 0x38, 0, 0},
+       {0x3a10, 0x30, 0, 0}, {0x3a1b, 0x3a, 0, 0}, {0x3a1e, 0x2e, 0, 0},
+       {0x3a11, 0x60, 0, 0}, {0x3a1f, 0x10, 0, 0}, {0x5688, 0xa6, 0, 0},
+       {0x5689, 0x6a, 0, 0}, {0x568a, 0xea, 0, 0}, {0x568b, 0xae, 0, 0},
+       {0x568c, 0xa6, 0, 0}, {0x568d, 0x6a, 0, 0}, {0x568e, 0x62, 0, 0},
+       {0x568f, 0x26, 0, 0}, {0x5583, 0x40, 0, 0}, {0x5584, 0x40, 0, 0},
+       {0x5580, 0x02, 0, 0}, {0x5000, 0xcf, 0, 0}, {0x5800, 0x27, 0, 0},
+       {0x5801, 0x19, 0, 0}, {0x5802, 0x12, 0, 0}, {0x5803, 0x0f, 0, 0},
+       {0x5804, 0x10, 0, 0}, {0x5805, 0x15, 0, 0}, {0x5806, 0x1e, 0, 0},
+       {0x5807, 0x2f, 0, 0}, {0x5808, 0x15, 0, 0}, {0x5809, 0x0d, 0, 0},
+       {0x580a, 0x0a, 0, 0}, {0x580b, 0x09, 0, 0}, {0x580c, 0x0a, 0, 0},
+       {0x580d, 0x0c, 0, 0}, {0x580e, 0x12, 0, 0}, {0x580f, 0x19, 0, 0},
+       {0x5810, 0x0b, 0, 0}, {0x5811, 0x07, 0, 0}, {0x5812, 0x04, 0, 0},
+       {0x5813, 0x03, 0, 0}, {0x5814, 0x03, 0, 0}, {0x5815, 0x06, 0, 0},
+       {0x5816, 0x0a, 0, 0}, {0x5817, 0x0f, 0, 0}, {0x5818, 0x0a, 0, 0},
+       {0x5819, 0x05, 0, 0}, {0x581a, 0x01, 0, 0}, {0x581b, 0x00, 0, 0},
+       {0x581c, 0x00, 0, 0}, {0x581d, 0x03, 0, 0}, {0x581e, 0x08, 0, 0},
+       {0x581f, 0x0c, 0, 0}, {0x5820, 0x0a, 0, 0}, {0x5821, 0x05, 0, 0},
+       {0x5822, 0x01, 0, 0}, {0x5823, 0x00, 0, 0}, {0x5824, 0x00, 0, 0},
+       {0x5825, 0x03, 0, 0}, {0x5826, 0x08, 0, 0}, {0x5827, 0x0c, 0, 0},
+       {0x5828, 0x0e, 0, 0}, {0x5829, 0x08, 0, 0}, {0x582a, 0x06, 0, 0},
+       {0x582b, 0x04, 0, 0}, {0x582c, 0x05, 0, 0}, {0x582d, 0x07, 0, 0},
+       {0x582e, 0x0b, 0, 0}, {0x582f, 0x12, 0, 0}, {0x5830, 0x18, 0, 0},
+       {0x5831, 0x10, 0, 0}, {0x5832, 0x0c, 0, 0}, {0x5833, 0x0a, 0, 0},
+       {0x5834, 0x0b, 0, 0}, {0x5835, 0x0e, 0, 0}, {0x5836, 0x15, 0, 0},
+       {0x5837, 0x19, 0, 0}, {0x5838, 0x32, 0, 0}, {0x5839, 0x1f, 0, 0},
+       {0x583a, 0x18, 0, 0}, {0x583b, 0x16, 0, 0}, {0x583c, 0x17, 0, 0},
+       {0x583d, 0x1e, 0, 0}, {0x583e, 0x26, 0, 0}, {0x583f, 0x53, 0, 0},
+       {0x5840, 0x10, 0, 0}, {0x5841, 0x0f, 0, 0}, {0x5842, 0x0d, 0, 0},
+       {0x5843, 0x0c, 0, 0}, {0x5844, 0x0e, 0, 0}, {0x5845, 0x09, 0, 0},
+       {0x5846, 0x11, 0, 0}, {0x5847, 0x10, 0, 0}, {0x5848, 0x10, 0, 0},
+       {0x5849, 0x10, 0, 0}, {0x584a, 0x10, 0, 0}, {0x584b, 0x0e, 0, 0},
+       {0x584c, 0x10, 0, 0}, {0x584d, 0x10, 0, 0}, {0x584e, 0x11, 0, 0},
+       {0x584f, 0x10, 0, 0}, {0x5850, 0x0f, 0, 0}, {0x5851, 0x0c, 0, 0},
+       {0x5852, 0x0f, 0, 0}, {0x5853, 0x10, 0, 0}, {0x5854, 0x10, 0, 0},
+       {0x5855, 0x0f, 0, 0}, {0x5856, 0x0e, 0, 0}, {0x5857, 0x0b, 0, 0},
+       {0x5858, 0x10, 0, 0}, {0x5859, 0x0d, 0, 0}, {0x585a, 0x0d, 0, 0},
+       {0x585b, 0x0c, 0, 0}, {0x585c, 0x0c, 0, 0}, {0x585d, 0x0c, 0, 0},
+       {0x585e, 0x0b, 0, 0}, {0x585f, 0x0c, 0, 0}, {0x5860, 0x0c, 0, 0},
+       {0x5861, 0x0c, 0, 0}, {0x5862, 0x0d, 0, 0}, {0x5863, 0x08, 0, 0},
+       {0x5864, 0x11, 0, 0}, {0x5865, 0x18, 0, 0}, {0x5866, 0x18, 0, 0},
+       {0x5867, 0x19, 0, 0}, {0x5868, 0x17, 0, 0}, {0x5869, 0x19, 0, 0},
+       {0x586a, 0x16, 0, 0}, {0x586b, 0x13, 0, 0}, {0x586c, 0x13, 0, 0},
+       {0x586d, 0x12, 0, 0}, {0x586e, 0x13, 0, 0}, {0x586f, 0x16, 0, 0},
+       {0x5870, 0x14, 0, 0}, {0x5871, 0x12, 0, 0}, {0x5872, 0x10, 0, 0},
+       {0x5873, 0x11, 0, 0}, {0x5874, 0x11, 0, 0}, {0x5875, 0x16, 0, 0},
+       {0x5876, 0x14, 0, 0}, {0x5877, 0x11, 0, 0}, {0x5878, 0x10, 0, 0},
+       {0x5879, 0x0f, 0, 0}, {0x587a, 0x10, 0, 0}, {0x587b, 0x14, 0, 0},
+       {0x587c, 0x13, 0, 0}, {0x587d, 0x12, 0, 0}, {0x587e, 0x11, 0, 0},
+       {0x587f, 0x11, 0, 0}, {0x5880, 0x12, 0, 0}, {0x5881, 0x15, 0, 0},
+       {0x5882, 0x14, 0, 0}, {0x5883, 0x15, 0, 0}, {0x5884, 0x15, 0, 0},
+       {0x5885, 0x15, 0, 0}, {0x5886, 0x13, 0, 0}, {0x5887, 0x17, 0, 0},
+       {0x3710, 0x10, 0, 0}, {0x3632, 0x51, 0, 0}, {0x3702, 0x10, 0, 0},
+       {0x3703, 0xb2, 0, 0}, {0x3704, 0x18, 0, 0}, {0x370b, 0x40, 0, 0},
+       {0x370d, 0x03, 0, 0}, {0x3631, 0x01, 0, 0}, {0x3632, 0x52, 0, 0},
+       {0x3606, 0x24, 0, 0}, {0x3620, 0x96, 0, 0}, {0x5785, 0x07, 0, 0},
+       {0x3a13, 0x30, 0, 0}, {0x3600, 0x52, 0, 0}, {0x3604, 0x48, 0, 0},
+       {0x3606, 0x1b, 0, 0}, {0x370d, 0x0b, 0, 0}, {0x370f, 0xc0, 0, 0},
+       {0x3709, 0x01, 0, 0}, {0x3823, 0x00, 0, 0}, {0x5007, 0x00, 0, 0},
+       {0x5009, 0x00, 0, 0}, {0x5011, 0x00, 0, 0}, {0x5013, 0x00, 0, 0},
+       {0x519e, 0x00, 0, 0}, {0x5086, 0x00, 0, 0}, {0x5087, 0x00, 0, 0},
+       {0x5088, 0x00, 0, 0}, {0x5089, 0x00, 0, 0}, {0x302b, 0x00, 0, 0},
+       {0x3824, 0x11, 0, 0}, {0x3825, 0xb4, 0, 0}, {0x3826, 0x00, 0, 0},
+       {0x3827, 0x3d, 0, 0}, {0x380c, 0x0c, 0, 0}, {0x380d, 0x80, 0, 0},
+       {0x380e, 0x03, 0, 0}, {0x380f, 0xe8, 0, 0}, {0x3808, 0x02, 0, 0},
+       {0x3809, 0xd0, 0, 0}, {0x380A, 0x01, 0, 0}, {0x380B, 0xe0, 0, 0},
+       {0x3804, 0x05, 0, 0}, {0x3805, 0x00, 0, 0}, {0x3806, 0x03, 0, 0},
+       {0x3807, 0x55, 0, 0}, {0x5686, 0x03, 0, 0}, {0x5687, 0x55, 0, 0},
+       {0x5682, 0x05, 0, 0}, {0x5683, 0x00, 0, 0},
+};
+
+static struct reg_value ov5642_setting_15fps_PAL_720_576[] = {
+       {0x3103, 0x93, 0, 0}, {0x3008, 0x82, 0, 0}, {0x3017, 0x7f, 0, 0},
+       {0x3018, 0xfc, 0, 0}, {0x3810, 0xc2, 0, 0}, {0x3615, 0xf0, 0, 0},
+       {0x3000, 0x00, 0, 0}, {0x3001, 0x00, 0, 0}, {0x3002, 0x5c, 0, 0},
+       {0x3003, 0x00, 0, 0}, {0x3004, 0xff, 0, 0}, {0x3005, 0xff, 0, 0},
+       {0x3006, 0x43, 0, 0}, {0x3007, 0x37, 0, 0}, {0x3011, 0x08, 0, 0},
+       {0x3010, 0x10, 0, 0}, {0x460c, 0x22, 0, 0}, {0x3815, 0x04, 0, 0},
+       {0x370c, 0xa0, 0, 0}, {0x3602, 0xfc, 0, 0}, {0x3612, 0xff, 0, 0},
+       {0x3634, 0xc0, 0, 0}, {0x3613, 0x00, 0, 0}, {0x3605, 0x7c, 0, 0},
+       {0x3621, 0x09, 0, 0}, {0x3622, 0x60, 0, 0}, {0x3604, 0x40, 0, 0},
+       {0x3603, 0xa7, 0, 0}, {0x3603, 0x27, 0, 0}, {0x4000, 0x21, 0, 0},
+       {0x401d, 0x22, 0, 0}, {0x3600, 0x54, 0, 0}, {0x3605, 0x04, 0, 0},
+       {0x3606, 0x3f, 0, 0}, {0x3c01, 0x80, 0, 0}, {0x5000, 0x4f, 0, 0},
+       {0x5020, 0x04, 0, 0}, {0x5181, 0x79, 0, 0}, {0x5182, 0x00, 0, 0},
+       {0x5185, 0x22, 0, 0}, {0x5197, 0x01, 0, 0}, {0x5001, 0xff, 0, 0},
+       {0x5500, 0x0a, 0, 0}, {0x5504, 0x00, 0, 0}, {0x5505, 0x7f, 0, 0},
+       {0x5080, 0x08, 0, 0}, {0x300e, 0x18, 0, 0}, {0x4610, 0x00, 0, 0},
+       {0x471d, 0x05, 0, 0}, {0x4708, 0x06, 0, 0}, {0x3808, 0x02, 0, 0},
+       {0x3809, 0x80, 0, 0}, {0x380a, 0x01, 0, 0}, {0x380b, 0xe0, 0, 0},
+       {0x380e, 0x07, 0, 0}, {0x380f, 0xd0, 0, 0}, {0x501f, 0x00, 0, 0},
+       {0x5000, 0x4f, 0, 0}, {0x4300, 0x30, 0, 0}, {0x3503, 0x07, 0, 0},
+       {0x3501, 0x73, 0, 0}, {0x3502, 0x80, 0, 0}, {0x350b, 0x00, 0, 0},
+       {0x3503, 0x07, 0, 0}, {0x3824, 0x11, 0, 0}, {0x3501, 0x1e, 0, 0},
+       {0x3502, 0x80, 0, 0}, {0x350b, 0x7f, 0, 0}, {0x380c, 0x0c, 0, 0},
+       {0x380d, 0x80, 0, 0}, {0x380e, 0x03, 0, 0}, {0x380f, 0xe8, 0, 0},
+       {0x3a0d, 0x04, 0, 0}, {0x3a0e, 0x03, 0, 0}, {0x3818, 0xc1, 0, 0},
+       {0x3705, 0xdb, 0, 0}, {0x370a, 0x81, 0, 0}, {0x3801, 0x80, 0, 0},
+       {0x3621, 0x87, 0, 0}, {0x3801, 0x50, 0, 0}, {0x3803, 0x08, 0, 0},
+       {0x3827, 0x08, 0, 0}, {0x3810, 0x40, 0, 0}, {0x3804, 0x05, 0, 0},
+       {0x3805, 0x00, 0, 0}, {0x5682, 0x05, 0, 0}, {0x5683, 0x00, 0, 0},
+       {0x3806, 0x03, 0, 0}, {0x3807, 0xc0, 0, 0}, {0x5686, 0x03, 0, 0},
+       {0x5687, 0xbc, 0, 0}, {0x3a00, 0x78, 0, 0}, {0x3a1a, 0x05, 0, 0},
+       {0x3a13, 0x30, 0, 0}, {0x3a18, 0x00, 0, 0}, {0x3a19, 0x7c, 0, 0},
+       {0x3a08, 0x12, 0, 0}, {0x3a09, 0xc0, 0, 0}, {0x3a0a, 0x0f, 0, 0},
+       {0x3a0b, 0xa0, 0, 0}, {0x350c, 0x07, 0, 0}, {0x350d, 0xd0, 0, 0},
+       {0x3500, 0x00, 0, 0}, {0x3501, 0x00, 0, 0}, {0x3502, 0x00, 0, 0},
+       {0x350a, 0x00, 0, 0}, {0x350b, 0x00, 0, 0}, {0x3503, 0x00, 0, 0},
+       {0x528a, 0x02, 0, 0}, {0x528b, 0x04, 0, 0}, {0x528c, 0x08, 0, 0},
+       {0x528d, 0x08, 0, 0}, {0x528e, 0x08, 0, 0}, {0x528f, 0x10, 0, 0},
+       {0x5290, 0x10, 0, 0}, {0x5292, 0x00, 0, 0}, {0x5293, 0x02, 0, 0},
+       {0x5294, 0x00, 0, 0}, {0x5295, 0x02, 0, 0}, {0x5296, 0x00, 0, 0},
+       {0x5297, 0x02, 0, 0}, {0x5298, 0x00, 0, 0}, {0x5299, 0x02, 0, 0},
+       {0x529a, 0x00, 0, 0}, {0x529b, 0x02, 0, 0}, {0x529c, 0x00, 0, 0},
+       {0x529d, 0x02, 0, 0}, {0x529e, 0x00, 0, 0}, {0x529f, 0x02, 0, 0},
+       {0x3a0f, 0x3c, 0, 0}, {0x3a10, 0x30, 0, 0}, {0x3a1b, 0x3c, 0, 0},
+       {0x3a1e, 0x30, 0, 0}, {0x3a11, 0x70, 0, 0}, {0x3a1f, 0x10, 0, 0},
+       {0x3030, 0x2b, 0, 0}, {0x3a02, 0x00, 0, 0}, {0x3a03, 0x7d, 0, 0},
+       {0x3a04, 0x00, 0, 0}, {0x3a14, 0x00, 0, 0}, {0x3a15, 0x7d, 0, 0},
+       {0x3a16, 0x00, 0, 0}, {0x3a00, 0x78, 0, 0}, {0x3a08, 0x09, 0, 0},
+       {0x3a09, 0x60, 0, 0}, {0x3a0a, 0x07, 0, 0}, {0x3a0b, 0xd0, 0, 0},
+       {0x3a0d, 0x08, 0, 0}, {0x3a0e, 0x06, 0, 0}, {0x5193, 0x70, 0, 0},
+       {0x589b, 0x04, 0, 0}, {0x589a, 0xc5, 0, 0}, {0x401e, 0x20, 0, 0},
+       {0x4001, 0x42, 0, 0}, {0x401c, 0x04, 0, 0}, {0x528a, 0x01, 0, 0},
+       {0x528b, 0x04, 0, 0}, {0x528c, 0x08, 0, 0}, {0x528d, 0x10, 0, 0},
+       {0x528e, 0x20, 0, 0}, {0x528f, 0x28, 0, 0}, {0x5290, 0x30, 0, 0},
+       {0x5292, 0x00, 0, 0}, {0x5293, 0x01, 0, 0}, {0x5294, 0x00, 0, 0},
+       {0x5295, 0x04, 0, 0}, {0x5296, 0x00, 0, 0}, {0x5297, 0x08, 0, 0},
+       {0x5298, 0x00, 0, 0}, {0x5299, 0x10, 0, 0}, {0x529a, 0x00, 0, 0},
+       {0x529b, 0x20, 0, 0}, {0x529c, 0x00, 0, 0}, {0x529d, 0x28, 0, 0},
+       {0x529e, 0x00, 0, 0}, {0x529f, 0x30, 0, 0}, {0x5282, 0x00, 0, 0},
+       {0x5300, 0x00, 0, 0}, {0x5301, 0x20, 0, 0}, {0x5302, 0x00, 0, 0},
+       {0x5303, 0x7c, 0, 0}, {0x530c, 0x00, 0, 0}, {0x530d, 0x0c, 0, 0},
+       {0x530e, 0x20, 0, 0}, {0x530f, 0x80, 0, 0}, {0x5310, 0x20, 0, 0},
+       {0x5311, 0x80, 0, 0}, {0x5308, 0x20, 0, 0}, {0x5309, 0x40, 0, 0},
+       {0x5304, 0x00, 0, 0}, {0x5305, 0x30, 0, 0}, {0x5306, 0x00, 0, 0},
+       {0x5307, 0x80, 0, 0}, {0x5314, 0x08, 0, 0}, {0x5315, 0x20, 0, 0},
+       {0x5319, 0x30, 0, 0}, {0x5316, 0x10, 0, 0}, {0x5317, 0x00, 0, 0},
+       {0x5318, 0x02, 0, 0}, {0x5380, 0x01, 0, 0}, {0x5381, 0x00, 0, 0},
+       {0x5382, 0x00, 0, 0}, {0x5383, 0x4e, 0, 0}, {0x5384, 0x00, 0, 0},
+       {0x5385, 0x0f, 0, 0}, {0x5386, 0x00, 0, 0}, {0x5387, 0x00, 0, 0},
+       {0x5388, 0x01, 0, 0}, {0x5389, 0x15, 0, 0}, {0x538a, 0x00, 0, 0},
+       {0x538b, 0x31, 0, 0}, {0x538c, 0x00, 0, 0}, {0x538d, 0x00, 0, 0},
+       {0x538e, 0x00, 0, 0}, {0x538f, 0x0f, 0, 0}, {0x5390, 0x00, 0, 0},
+       {0x5391, 0xab, 0, 0}, {0x5392, 0x00, 0, 0}, {0x5393, 0xa2, 0, 0},
+       {0x5394, 0x08, 0, 0}, {0x5480, 0x14, 0, 0}, {0x5481, 0x21, 0, 0},
+       {0x5482, 0x36, 0, 0}, {0x5483, 0x57, 0, 0}, {0x5484, 0x65, 0, 0},
+       {0x5485, 0x71, 0, 0}, {0x5486, 0x7d, 0, 0}, {0x5487, 0x87, 0, 0},
+       {0x5488, 0x91, 0, 0}, {0x5489, 0x9a, 0, 0}, {0x548a, 0xaa, 0, 0},
+       {0x548b, 0xb8, 0, 0}, {0x548c, 0xcd, 0, 0}, {0x548d, 0xdd, 0, 0},
+       {0x548e, 0xea, 0, 0}, {0x548f, 0x1d, 0, 0}, {0x5490, 0x05, 0, 0},
+       {0x5491, 0x00, 0, 0}, {0x5492, 0x04, 0, 0}, {0x5493, 0x20, 0, 0},
+       {0x5494, 0x03, 0, 0}, {0x5495, 0x60, 0, 0}, {0x5496, 0x02, 0, 0},
+       {0x5497, 0xb8, 0, 0}, {0x5498, 0x02, 0, 0}, {0x5499, 0x86, 0, 0},
+       {0x549a, 0x02, 0, 0}, {0x549b, 0x5b, 0, 0}, {0x549c, 0x02, 0, 0},
+       {0x549d, 0x3b, 0, 0}, {0x549e, 0x02, 0, 0}, {0x549f, 0x1c, 0, 0},
+       {0x54a0, 0x02, 0, 0}, {0x54a1, 0x04, 0, 0}, {0x54a2, 0x01, 0, 0},
+       {0x54a3, 0xed, 0, 0}, {0x54a4, 0x01, 0, 0}, {0x54a5, 0xc5, 0, 0},
+       {0x54a6, 0x01, 0, 0}, {0x54a7, 0xa5, 0, 0}, {0x54a8, 0x01, 0, 0},
+       {0x54a9, 0x6c, 0, 0}, {0x54aa, 0x01, 0, 0}, {0x54ab, 0x41, 0, 0},
+       {0x54ac, 0x01, 0, 0}, {0x54ad, 0x20, 0, 0}, {0x54ae, 0x00, 0, 0},
+       {0x54af, 0x16, 0, 0}, {0x54b0, 0x01, 0, 0}, {0x54b1, 0x20, 0, 0},
+       {0x54b2, 0x00, 0, 0}, {0x54b3, 0x10, 0, 0}, {0x54b4, 0x00, 0, 0},
+       {0x54b5, 0xf0, 0, 0}, {0x54b6, 0x00, 0, 0}, {0x54b7, 0xdf, 0, 0},
+       {0x5402, 0x3f, 0, 0}, {0x5403, 0x00, 0, 0}, {0x3406, 0x00, 0, 0},
+       {0x5180, 0xff, 0, 0}, {0x5181, 0x52, 0, 0}, {0x5182, 0x11, 0, 0},
+       {0x5183, 0x14, 0, 0}, {0x5184, 0x25, 0, 0}, {0x5185, 0x24, 0, 0},
+       {0x5186, 0x06, 0, 0}, {0x5187, 0x08, 0, 0}, {0x5188, 0x08, 0, 0},
+       {0x5189, 0x7c, 0, 0}, {0x518a, 0x60, 0, 0}, {0x518b, 0xb2, 0, 0},
+       {0x518c, 0xb2, 0, 0}, {0x518d, 0x44, 0, 0}, {0x518e, 0x3d, 0, 0},
+       {0x518f, 0x58, 0, 0}, {0x5190, 0x46, 0, 0}, {0x5191, 0xf8, 0, 0},
+       {0x5192, 0x04, 0, 0}, {0x5193, 0x70, 0, 0}, {0x5194, 0xf0, 0, 0},
+       {0x5195, 0xf0, 0, 0}, {0x5196, 0x03, 0, 0}, {0x5197, 0x01, 0, 0},
+       {0x5198, 0x04, 0, 0}, {0x5199, 0x12, 0, 0}, {0x519a, 0x04, 0, 0},
+       {0x519b, 0x00, 0, 0}, {0x519c, 0x06, 0, 0}, {0x519d, 0x82, 0, 0},
+       {0x519e, 0x00, 0, 0}, {0x5025, 0x80, 0, 0}, {0x3a0f, 0x38, 0, 0},
+       {0x3a10, 0x30, 0, 0}, {0x3a1b, 0x3a, 0, 0}, {0x3a1e, 0x2e, 0, 0},
+       {0x3a11, 0x60, 0, 0}, {0x3a1f, 0x10, 0, 0}, {0x5688, 0xa6, 0, 0},
+       {0x5689, 0x6a, 0, 0}, {0x568a, 0xea, 0, 0}, {0x568b, 0xae, 0, 0},
+       {0x568c, 0xa6, 0, 0}, {0x568d, 0x6a, 0, 0}, {0x568e, 0x62, 0, 0},
+       {0x568f, 0x26, 0, 0}, {0x5583, 0x40, 0, 0}, {0x5584, 0x40, 0, 0},
+       {0x5580, 0x02, 0, 0}, {0x5000, 0xcf, 0, 0}, {0x5800, 0x27, 0, 0},
+       {0x5801, 0x19, 0, 0}, {0x5802, 0x12, 0, 0}, {0x5803, 0x0f, 0, 0},
+       {0x5804, 0x10, 0, 0}, {0x5805, 0x15, 0, 0}, {0x5806, 0x1e, 0, 0},
+       {0x5807, 0x2f, 0, 0}, {0x5808, 0x15, 0, 0}, {0x5809, 0x0d, 0, 0},
+       {0x580a, 0x0a, 0, 0}, {0x580b, 0x09, 0, 0}, {0x580c, 0x0a, 0, 0},
+       {0x580d, 0x0c, 0, 0}, {0x580e, 0x12, 0, 0}, {0x580f, 0x19, 0, 0},
+       {0x5810, 0x0b, 0, 0}, {0x5811, 0x07, 0, 0}, {0x5812, 0x04, 0, 0},
+       {0x5813, 0x03, 0, 0}, {0x5814, 0x03, 0, 0}, {0x5815, 0x06, 0, 0},
+       {0x5816, 0x0a, 0, 0}, {0x5817, 0x0f, 0, 0}, {0x5818, 0x0a, 0, 0},
+       {0x5819, 0x05, 0, 0}, {0x581a, 0x01, 0, 0}, {0x581b, 0x00, 0, 0},
+       {0x581c, 0x00, 0, 0}, {0x581d, 0x03, 0, 0}, {0x581e, 0x08, 0, 0},
+       {0x581f, 0x0c, 0, 0}, {0x5820, 0x0a, 0, 0}, {0x5821, 0x05, 0, 0},
+       {0x5822, 0x01, 0, 0}, {0x5823, 0x00, 0, 0}, {0x5824, 0x00, 0, 0},
+       {0x5825, 0x03, 0, 0}, {0x5826, 0x08, 0, 0}, {0x5827, 0x0c, 0, 0},
+       {0x5828, 0x0e, 0, 0}, {0x5829, 0x08, 0, 0}, {0x582a, 0x06, 0, 0},
+       {0x582b, 0x04, 0, 0}, {0x582c, 0x05, 0, 0}, {0x582d, 0x07, 0, 0},
+       {0x582e, 0x0b, 0, 0}, {0x582f, 0x12, 0, 0}, {0x5830, 0x18, 0, 0},
+       {0x5831, 0x10, 0, 0}, {0x5832, 0x0c, 0, 0}, {0x5833, 0x0a, 0, 0},
+       {0x5834, 0x0b, 0, 0}, {0x5835, 0x0e, 0, 0}, {0x5836, 0x15, 0, 0},
+       {0x5837, 0x19, 0, 0}, {0x5838, 0x32, 0, 0}, {0x5839, 0x1f, 0, 0},
+       {0x583a, 0x18, 0, 0}, {0x583b, 0x16, 0, 0}, {0x583c, 0x17, 0, 0},
+       {0x583d, 0x1e, 0, 0}, {0x583e, 0x26, 0, 0}, {0x583f, 0x53, 0, 0},
+       {0x5840, 0x10, 0, 0}, {0x5841, 0x0f, 0, 0}, {0x5842, 0x0d, 0, 0},
+       {0x5843, 0x0c, 0, 0}, {0x5844, 0x0e, 0, 0}, {0x5845, 0x09, 0, 0},
+       {0x5846, 0x11, 0, 0}, {0x5847, 0x10, 0, 0}, {0x5848, 0x10, 0, 0},
+       {0x5849, 0x10, 0, 0}, {0x584a, 0x10, 0, 0}, {0x584b, 0x0e, 0, 0},
+       {0x584c, 0x10, 0, 0}, {0x584d, 0x10, 0, 0}, {0x584e, 0x11, 0, 0},
+       {0x584f, 0x10, 0, 0}, {0x5850, 0x0f, 0, 0}, {0x5851, 0x0c, 0, 0},
+       {0x5852, 0x0f, 0, 0}, {0x5853, 0x10, 0, 0}, {0x5854, 0x10, 0, 0},
+       {0x5855, 0x0f, 0, 0}, {0x5856, 0x0e, 0, 0}, {0x5857, 0x0b, 0, 0},
+       {0x5858, 0x10, 0, 0}, {0x5859, 0x0d, 0, 0}, {0x585a, 0x0d, 0, 0},
+       {0x585b, 0x0c, 0, 0}, {0x585c, 0x0c, 0, 0}, {0x585d, 0x0c, 0, 0},
+       {0x585e, 0x0b, 0, 0}, {0x585f, 0x0c, 0, 0}, {0x5860, 0x0c, 0, 0},
+       {0x5861, 0x0c, 0, 0}, {0x5862, 0x0d, 0, 0}, {0x5863, 0x08, 0, 0},
+       {0x5864, 0x11, 0, 0}, {0x5865, 0x18, 0, 0}, {0x5866, 0x18, 0, 0},
+       {0x5867, 0x19, 0, 0}, {0x5868, 0x17, 0, 0}, {0x5869, 0x19, 0, 0},
+       {0x586a, 0x16, 0, 0}, {0x586b, 0x13, 0, 0}, {0x586c, 0x13, 0, 0},
+       {0x586d, 0x12, 0, 0}, {0x586e, 0x13, 0, 0}, {0x586f, 0x16, 0, 0},
+       {0x5870, 0x14, 0, 0}, {0x5871, 0x12, 0, 0}, {0x5872, 0x10, 0, 0},
+       {0x5873, 0x11, 0, 0}, {0x5874, 0x11, 0, 0}, {0x5875, 0x16, 0, 0},
+       {0x5876, 0x14, 0, 0}, {0x5877, 0x11, 0, 0}, {0x5878, 0x10, 0, 0},
+       {0x5879, 0x0f, 0, 0}, {0x587a, 0x10, 0, 0}, {0x587b, 0x14, 0, 0},
+       {0x587c, 0x13, 0, 0}, {0x587d, 0x12, 0, 0}, {0x587e, 0x11, 0, 0},
+       {0x587f, 0x11, 0, 0}, {0x5880, 0x12, 0, 0}, {0x5881, 0x15, 0, 0},
+       {0x5882, 0x14, 0, 0}, {0x5883, 0x15, 0, 0}, {0x5884, 0x15, 0, 0},
+       {0x5885, 0x15, 0, 0}, {0x5886, 0x13, 0, 0}, {0x5887, 0x17, 0, 0},
+       {0x3710, 0x10, 0, 0}, {0x3632, 0x51, 0, 0}, {0x3702, 0x10, 0, 0},
+       {0x3703, 0xb2, 0, 0}, {0x3704, 0x18, 0, 0}, {0x370b, 0x40, 0, 0},
+       {0x370d, 0x03, 0, 0}, {0x3631, 0x01, 0, 0}, {0x3632, 0x52, 0, 0},
+       {0x3606, 0x24, 0, 0}, {0x3620, 0x96, 0, 0}, {0x5785, 0x07, 0, 0},
+       {0x3a13, 0x30, 0, 0}, {0x3600, 0x52, 0, 0}, {0x3604, 0x48, 0, 0},
+       {0x3606, 0x1b, 0, 0}, {0x370d, 0x0b, 0, 0}, {0x370f, 0xc0, 0, 0},
+       {0x3709, 0x01, 0, 0}, {0x3823, 0x00, 0, 0}, {0x5007, 0x00, 0, 0},
+       {0x5009, 0x00, 0, 0}, {0x5011, 0x00, 0, 0}, {0x5013, 0x00, 0, 0},
+       {0x519e, 0x00, 0, 0}, {0x5086, 0x00, 0, 0}, {0x5087, 0x00, 0, 0},
+       {0x5088, 0x00, 0, 0}, {0x5089, 0x00, 0, 0}, {0x302b, 0x00, 0, 0},
+       {0x3824, 0x11, 0, 0}, {0x3825, 0xdc, 0, 0}, {0x3826, 0x00, 0, 0},
+       {0x3827, 0x08, 0, 0}, {0x380c, 0x0c, 0, 0}, {0x380d, 0x80, 0, 0},
+       {0x380e, 0x03, 0, 0}, {0x380f, 0xe8, 0, 0}, {0x3808, 0x02, 0, 0},
+       {0x3809, 0xd0, 0, 0}, {0x380A, 0x02, 0, 0}, {0x380B, 0x40, 0, 0},
+       {0x3804, 0x04, 0, 0}, {0x3805, 0xb0, 0, 0}, {0x3806, 0x03, 0, 0},
+       {0x3807, 0xc0, 0, 0}, {0x5686, 0x03, 0, 0}, {0x5687, 0xc0, 0, 0},
+       {0x5682, 0x04, 0, 0}, {0x5683, 0xb0, 0, 0},
+};
+
+static struct ov5642_mode_info ov5642_mode_info_data[2][ov5642_mode_MAX + 1] = {
+       {
+               {ov5642_mode_VGA_640_480,    640,  480,
+               ov5642_setting_15fps_VGA_640_480,
+               ARRAY_SIZE(ov5642_setting_15fps_VGA_640_480)},
+               {ov5642_mode_QVGA_320_240,   320,  240,
+               ov5642_setting_15fps_QVGA_320_240,
+               ARRAY_SIZE(ov5642_setting_15fps_QVGA_320_240)},
+               {ov5642_mode_NTSC_720_480,   720,  480,
+               ov5642_setting_15fps_NTSC_720_480,
+               ARRAY_SIZE(ov5642_setting_15fps_NTSC_720_480)},
+               {ov5642_mode_PAL_720_576,   720,  576,
+               ov5642_setting_15fps_PAL_720_576,
+               ARRAY_SIZE(ov5642_setting_15fps_PAL_720_576)},
+               {ov5642_mode_720P_1280_720,  1280, 720,
+               ov5642_setting_15fps_720P_1280_720,
+               ARRAY_SIZE(ov5642_setting_15fps_720P_1280_720)},
+               {ov5642_mode_1080P_1920_1080, 1920, 1080,
+               ov5642_setting_15fps_1080P_1920_1080,
+               ARRAY_SIZE(ov5642_setting_15fps_1080P_1920_1080)},
+               {ov5642_mode_QSXGA_2592_1944, 2592, 1944,
+               ov5642_setting_15fps_QSXGA_2592_1944,
+               ARRAY_SIZE(ov5642_setting_15fps_QSXGA_2592_1944)},
+               {ov5642_mode_QCIF_176_144, 176, 144,
+               ov5642_setting_15fps_QCIF_176_144,
+               ARRAY_SIZE(ov5642_setting_15fps_QCIF_176_144)},
+               {ov5642_mode_XGA_1024_768, 1024, 768,
+               ov5642_setting_15fps_XGA_1024_768,
+               ARRAY_SIZE(ov5642_setting_15fps_XGA_1024_768)},
+       },
+       {
+               {ov5642_mode_VGA_640_480,    640,  480,
+               ov5642_setting_30fps_VGA_640_480,
+               ARRAY_SIZE(ov5642_setting_30fps_VGA_640_480)},
+               {ov5642_mode_QVGA_320_240,   320,  240,
+               ov5642_setting_30fps_QVGA_320_240,
+               ARRAY_SIZE(ov5642_setting_30fps_QVGA_320_240)},
+               {ov5642_mode_NTSC_720_480,   720, 480,
+               ov5642_setting_30fps_NTSC_720_480,
+               ARRAY_SIZE(ov5642_setting_30fps_NTSC_720_480)},
+               {ov5642_mode_PAL_720_576,    720, 576,
+               ov5642_setting_30fps_PAL_720_576,
+               ARRAY_SIZE(ov5642_setting_30fps_PAL_720_576)},
+               {ov5642_mode_720P_1280_720,  1280, 720,
+               ov5642_setting_30fps_720P_1280_720,
+               ARRAY_SIZE(ov5642_setting_30fps_720P_1280_720)},
+               {ov5642_mode_1080P_1920_1080, 0, 0, NULL, 0},
+               {ov5642_mode_QSXGA_2592_1944, 0, 0, NULL, 0},
+               {ov5642_mode_QCIF_176_144, 176, 144,
+               ov5642_setting_30fps_QCIF_176_144,
+               ARRAY_SIZE(ov5642_setting_30fps_QCIF_176_144)},
+               {ov5642_mode_XGA_1024_768, 1024, 768,
+               ov5642_setting_30fps_XGA_1024_768,
+               ARRAY_SIZE(ov5642_setting_30fps_XGA_1024_768)},
+       },
+};
+
+static struct regulator *io_regulator;
+static struct regulator *core_regulator;
+static struct regulator *analog_regulator;
+static struct regulator *gpo_regulator;
+
+static int ov5642_probe(struct i2c_client *adapter,
+                               const struct i2c_device_id *device_id);
+static int ov5642_remove(struct i2c_client *client);
+
+static s32 ov5642_read_reg(u16 reg, u8 *val);
+static s32 ov5642_write_reg(u16 reg, u8 val);
+
+static const struct i2c_device_id ov5642_id[] = {
+       {"ov5642", 0},
+       {"ov564x", 0},
+       {},
+};
+
+MODULE_DEVICE_TABLE(i2c, ov5642_id);
+
+static struct i2c_driver ov5642_i2c_driver = {
+       .driver = {
+                 .owner = THIS_MODULE,
+                 .name  = "ov5642",
+                 },
+       .probe  = ov5642_probe,
+       .remove = ov5642_remove,
+       .id_table = ov5642_id,
+};
+
+static void ov5642_standby(s32 enable)
+{
+       if (enable)
+               gpio_set_value(pwn_gpio, 1);
+       else
+               gpio_set_value(pwn_gpio, 0);
+
+       msleep(2);
+}
+
+static void ov5642_reset(void)
+{
+       /* camera reset */
+       gpio_set_value(rst_gpio, 1);
+
+       /* camera power down */
+       gpio_set_value(pwn_gpio, 1);
+       msleep(5);
+
+       gpio_set_value(pwn_gpio, 0);
+       msleep(5);
+
+       gpio_set_value(rst_gpio, 0);
+       msleep(1);
+
+       gpio_set_value(rst_gpio, 1);
+       msleep(5);
+
+       gpio_set_value(pwn_gpio, 1);
+}
+
+static int ov5642_power_on(struct device *dev)
+{
+       int ret = 0;
+
+       io_regulator = devm_regulator_get(dev, "DOVDD");
+       if (!IS_ERR(io_regulator)) {
+               regulator_set_voltage(io_regulator,
+                                     OV5642_VOLTAGE_DIGITAL_IO,
+                                     OV5642_VOLTAGE_DIGITAL_IO);
+               ret = regulator_enable(io_regulator);
+               if (ret) {
+                       pr_err("%s:io set voltage error\n", __func__);
+                       return ret;
+               } else {
+                       dev_dbg(dev,
+                               "%s:io set voltage ok\n", __func__);
+               }
+       } else {
+               pr_err("%s: cannot get io voltage error\n", __func__);
+               io_regulator = NULL;
+       }
+
+       core_regulator = devm_regulator_get(dev, "DVDD");
+       if (!IS_ERR(core_regulator)) {
+               regulator_set_voltage(core_regulator,
+                                     OV5642_VOLTAGE_DIGITAL_CORE,
+                                     OV5642_VOLTAGE_DIGITAL_CORE);
+               ret = regulator_enable(core_regulator);
+               if (ret) {
+                       pr_err("%s:core set voltage error\n", __func__);
+                       return ret;
+               } else {
+                       dev_dbg(dev,
+                               "%s:core set voltage ok\n", __func__);
+               }
+       } else {
+               core_regulator = NULL;
+               pr_err("%s: cannot get core voltage error\n", __func__);
+       }
+
+       analog_regulator = devm_regulator_get(dev, "AVDD");
+       if (!IS_ERR(analog_regulator)) {
+               regulator_set_voltage(analog_regulator,
+                                     OV5642_VOLTAGE_ANALOG,
+                                     OV5642_VOLTAGE_ANALOG);
+               ret = regulator_enable(analog_regulator);
+               if (ret) {
+                       pr_err("%s:analog set voltage error\n",
+                               __func__);
+                       return ret;
+               } else {
+                       dev_dbg(dev,
+                               "%s:analog set voltage ok\n", __func__);
+               }
+       } else {
+               analog_regulator = NULL;
+               pr_err("%s: cannot get analog voltage error\n", __func__);
+       }
+
+       return ret;
+}
+
+static s32 ov5642_write_reg(u16 reg, u8 val)
+{
+       u8 au8Buf[3] = {0};
+
+       au8Buf[0] = reg >> 8;
+       au8Buf[1] = reg & 0xff;
+       au8Buf[2] = val;
+
+       if (i2c_master_send(ov5642_data.i2c_client, au8Buf, 3) < 0) {
+               pr_err("%s:write reg error:reg=%x,val=%x\n",
+                       __func__, reg, val);
+               return -1;
+       }
+
+       return 0;
+}
+
+static s32 ov5642_read_reg(u16 reg, u8 *val)
+{
+       u8 au8RegBuf[2] = {0};
+       u8 u8RdVal = 0;
+
+       au8RegBuf[0] = reg >> 8;
+       au8RegBuf[1] = reg & 0xff;
+
+       if (2 != i2c_master_send(ov5642_data.i2c_client, au8RegBuf, 2)) {
+               pr_err("%s:write reg error:reg=%x\n",
+                               __func__, reg);
+               return -1;
+       }
+
+       if (1 != i2c_master_recv(ov5642_data.i2c_client, &u8RdVal, 1)) {
+               pr_err("%s:read reg error:reg=%x,val=%x\n",
+                               __func__, reg, u8RdVal);
+               return -1;
+       }
+
+       *val = u8RdVal;
+
+       return u8RdVal;
+}
+
+static int ov5642_set_rot_mode(struct reg_value *rot_mode)
+{
+       s32 i = 0;
+       s32 iModeSettingArySize = 2;
+       register u32 Delay_ms = 0;
+       register u16 RegAddr = 0;
+       register u8 Mask = 0;
+       register u8 Val = 0;
+       u8 RegVal = 0;
+       int retval = 0;
+       for (i = 0; i < iModeSettingArySize; ++i, ++rot_mode) {
+               Delay_ms = rot_mode->u32Delay_ms;
+               RegAddr = rot_mode->u16RegAddr;
+               Val = rot_mode->u8Val;
+               Mask = rot_mode->u8Mask;
+
+               if (Mask) {
+                       retval = ov5642_read_reg(RegAddr, &RegVal);
+                       if (retval < 0) {
+                               pr_err("%s, read reg 0x%x failed\n",
+                                               __func__, RegAddr);
+                               goto err;
+                       }
+
+                       Val |= RegVal;
+                       Val &= Mask;
+               }
+
+               retval = ov5642_write_reg(RegAddr, Val);
+               if (retval < 0) {
+                       pr_err("%s, write reg 0x%x failed\n",
+                                       __func__, RegAddr);
+                       goto err;
+               }
+
+               if (Delay_ms)
+                       mdelay(Delay_ms);
+       }
+err:
+       return retval;
+}
+static int ov5642_init_mode(enum ov5642_frame_rate frame_rate,
+               enum ov5642_mode mode);
+static int ov5642_write_snapshot_para(enum ov5642_frame_rate frame_rate,
+               enum ov5642_mode mode);
+static int ov5642_change_mode(enum ov5642_frame_rate new_frame_rate,
+               enum ov5642_frame_rate old_frame_rate,
+               enum ov5642_mode new_mode,
+               enum ov5642_mode orig_mode)
+{
+       struct reg_value *pModeSetting = NULL;
+       s32 i = 0;
+       s32 iModeSettingArySize = 0;
+       register u32 Delay_ms = 0;
+       register u16 RegAddr = 0;
+       register u8 Mask = 0;
+       register u8 Val = 0;
+       u8 RegVal = 0;
+       int retval = 0;
+
+       if (new_mode > ov5642_mode_MAX || new_mode < ov5642_mode_MIN) {
+               pr_err("Wrong ov5642 mode detected!\n");
+               return -1;
+       }
+
+       if ((new_frame_rate == old_frame_rate) &&
+           (new_mode == ov5642_mode_VGA_640_480) &&
+               (orig_mode == ov5642_mode_QSXGA_2592_1944)) {
+               pModeSetting = ov5642_setting_QSXGA_2_VGA;
+               iModeSettingArySize = ARRAY_SIZE(ov5642_setting_QSXGA_2_VGA);
+               ov5642_data.pix.width = 640;
+               ov5642_data.pix.height = 480;
+       } else if ((new_frame_rate == old_frame_rate) &&
+           (new_mode == ov5642_mode_QVGA_320_240) &&
+               (orig_mode == ov5642_mode_VGA_640_480)) {
+               pModeSetting = ov5642_setting_VGA_2_QVGA;
+               iModeSettingArySize = ARRAY_SIZE(ov5642_setting_VGA_2_QVGA);
+               ov5642_data.pix.width = 320;
+               ov5642_data.pix.height = 240;
+       } else {
+               retval = ov5642_write_snapshot_para(new_frame_rate, new_mode);
+               goto err;
+       }
+
+       if (ov5642_data.pix.width == 0 || ov5642_data.pix.height == 0 ||
+                       pModeSetting == NULL || iModeSettingArySize == 0)
+               return -EINVAL;
+
+       for (i = 0; i < iModeSettingArySize; ++i, ++pModeSetting) {
+               Delay_ms = pModeSetting->u32Delay_ms;
+               RegAddr = pModeSetting->u16RegAddr;
+               Val = pModeSetting->u8Val;
+               Mask = pModeSetting->u8Mask;
+
+               if (Mask) {
+                       retval = ov5642_read_reg(RegAddr, &RegVal);
+                       if (retval < 0) {
+                               pr_err("read reg error addr=0x%x", RegAddr);
+                               goto err;
+                       }
+
+                       RegVal &= ~(u8)Mask;
+                       Val &= Mask;
+                       Val |= RegVal;
+               }
+
+               retval = ov5642_write_reg(RegAddr, Val);
+               if (retval < 0) {
+                       pr_err("write reg error addr=0x%x", RegAddr);
+                       goto err;
+               }
+
+               if (Delay_ms)
+                       msleep(Delay_ms);
+       }
+err:
+       return retval;
+}
+static int ov5642_init_mode(enum ov5642_frame_rate frame_rate,
+                           enum ov5642_mode mode)
+{
+       struct reg_value *pModeSetting = NULL;
+       s32 i = 0;
+       s32 iModeSettingArySize = 0;
+       register u32 Delay_ms = 0;
+       register u16 RegAddr = 0;
+       register u8 Mask = 0;
+       register u8 Val = 0;
+       u8 RegVal = 0;
+       int retval = 0;
+
+       if (mode > ov5642_mode_MAX || mode < ov5642_mode_MIN) {
+               pr_err("Wrong ov5642 mode detected!\n");
+               return -1;
+       }
+
+       pModeSetting = ov5642_mode_info_data[frame_rate][mode].init_data_ptr;
+       iModeSettingArySize =
+               ov5642_mode_info_data[frame_rate][mode].init_data_size;
+
+       ov5642_data.pix.width = ov5642_mode_info_data[frame_rate][mode].width;
+       ov5642_data.pix.height = ov5642_mode_info_data[frame_rate][mode].height;
+
+       if (ov5642_data.pix.width == 0 || ov5642_data.pix.height == 0 ||
+           pModeSetting == NULL || iModeSettingArySize == 0)
+               return -EINVAL;
+
+       for (i = 0; i < iModeSettingArySize; ++i, ++pModeSetting) {
+               Delay_ms = pModeSetting->u32Delay_ms;
+               RegAddr = pModeSetting->u16RegAddr;
+               Val = pModeSetting->u8Val;
+               Mask = pModeSetting->u8Mask;
+
+               if (Mask) {
+                       retval = ov5642_read_reg(RegAddr, &RegVal);
+                       if (retval < 0) {
+                               pr_err("read reg error addr=0x%x", RegAddr);
+                               goto err;
+                       }
+
+                       RegVal &= ~(u8)Mask;
+                       Val &= Mask;
+                       Val |= RegVal;
+               }
+
+               retval = ov5642_write_reg(RegAddr, Val);
+               if (retval < 0) {
+                       pr_err("write reg error addr=0x%x", RegAddr);
+                       goto err;
+               }
+
+               if (Delay_ms)
+                       msleep(Delay_ms);
+       }
+err:
+       return retval;
+}
+
+static int ov5642_write_snapshot_para(enum ov5642_frame_rate frame_rate,
+       enum ov5642_mode mode)
+{
+       int ret = 0;
+       bool m_60Hz = false;
+       u16 cap_frame_rate = 50;
+       u16 g_prev_frame_rate = 225;
+
+       u8 ev_low, ev_mid, ev_high;
+       u8 ret_l, ret_m, ret_h, gain, lines_10ms;
+       u16 ulcap_ev, icap_gain, prev_maxlines;
+       u32 ulcap_ev_gain, cap_maxlines, g_prev_ev;
+
+       ov5642_write_reg(0x3503, 0x07);
+
+       ret_h = ret_m = ret_l = 0;
+       g_prev_ev = 0;
+       ov5642_read_reg(0x3500, &ret_h);
+       ov5642_read_reg(0x3501, &ret_m);
+       ov5642_read_reg(0x3502, &ret_l);
+       g_prev_ev = (ret_h << 12) + (ret_m << 4) + (ret_l >> 4);
+
+       ret_h = ret_m = ret_l = 0;
+       prev_maxlines = 0;
+       ov5642_read_reg(0x380e, &ret_h);
+       ov5642_read_reg(0x380f, &ret_l);
+       prev_maxlines = (ret_h << 8) + ret_l;
+       /*Read back AGC Gain for preview*/
+       gain = 0;
+       ov5642_read_reg(0x350b, &gain);
+
+       ret = ov5642_init_mode(frame_rate, mode);
+       if (ret < 0)
+               return ret;
+
+       ret_h = ret_m = ret_l = 0;
+       ov5642_read_reg(0x380e, &ret_h);
+       ov5642_read_reg(0x380f, &ret_l);
+       cap_maxlines = (ret_h << 8) + ret_l;
+       if (m_60Hz == true)
+               lines_10ms = cap_frame_rate * cap_maxlines/12000;
+       else
+               lines_10ms = cap_frame_rate * cap_maxlines/10000;
+
+       if (prev_maxlines == 0)
+               prev_maxlines = 1;
+
+       ulcap_ev = (g_prev_ev*(cap_frame_rate)*(cap_maxlines))/
+               (((prev_maxlines)*(g_prev_frame_rate)));
+       icap_gain = (gain & 0x0f) + 16;
+       if (gain & 0x10)
+               icap_gain = icap_gain << 1;
+
+       if (gain & 0x20)
+               icap_gain = icap_gain << 1;
+
+       if (gain & 0x40)
+               icap_gain = icap_gain << 1;
+
+       if (gain & 0x80)
+               icap_gain = icap_gain << 1;
+
+       ulcap_ev_gain = 2 * ulcap_ev * icap_gain;
+
+       if (ulcap_ev_gain < cap_maxlines*16) {
+               ulcap_ev = ulcap_ev_gain/16;
+               if (ulcap_ev > lines_10ms) {
+                       ulcap_ev /= lines_10ms;
+                       ulcap_ev *= lines_10ms;
+               }
+       } else
+               ulcap_ev = cap_maxlines;
+
+       if (ulcap_ev == 0)
+               ulcap_ev = 1;
+
+       icap_gain = (ulcap_ev_gain*2/ulcap_ev + 1)/2;
+       ev_low = ((unsigned char)ulcap_ev)<<4;
+       ev_mid = (unsigned char)(ulcap_ev >> 4) & 0xff;
+       ev_high = (unsigned char)(ulcap_ev >> 12);
+
+       gain = 0;
+       if (icap_gain > 31) {
+               gain |= 0x10;
+               icap_gain = icap_gain >> 1;
+       }
+       if (icap_gain > 31) {
+               gain |= 0x20;
+               icap_gain = icap_gain >> 1;
+       }
+       if (icap_gain > 31) {
+               gain |= 0x40;
+               icap_gain = icap_gain >> 1;
+       }
+       if (icap_gain > 31) {
+               gain |= 0x80;
+               icap_gain = icap_gain >> 1;
+       }
+       if (icap_gain > 16)
+               gain |= ((icap_gain - 16) & 0x0f);
+
+       if (gain == 0x10)
+               gain = 0x11;
+
+       ov5642_write_reg(0x350b, gain);
+       ov5642_write_reg(0x3502, ev_low);
+       ov5642_write_reg(0x3501, ev_mid);
+       ov5642_write_reg(0x3500, ev_high);
+       msleep(500);
+
+       return ret ;
+}
+
+
+/* --------------- IOCTL functions from v4l2_int_ioctl_desc --------------- */
+
+static int ioctl_g_ifparm(struct v4l2_int_device *s, struct v4l2_ifparm *p)
+{
+       if (s == NULL) {
+               pr_err("   ERROR!! no slave device set!\n");
+               return -1;
+       }
+
+       memset(p, 0, sizeof(*p));
+       p->u.bt656.clock_curr = ov5642_data.mclk;
+       pr_debug("   clock_curr=mclk=%d\n", ov5642_data.mclk);
+       p->if_type = V4L2_IF_TYPE_BT656;
+       p->u.bt656.mode = V4L2_IF_TYPE_BT656_MODE_NOBT_8BIT;
+       p->u.bt656.clock_min = OV5642_XCLK_MIN;
+       p->u.bt656.clock_max = OV5642_XCLK_MAX;
+       p->u.bt656.bt_sync_correct = 1;  /* Indicate external vsync */
+
+       return 0;
+}
+
+/*!
+ * ioctl_s_power - V4L2 sensor interface handler for VIDIOC_S_POWER ioctl
+ * @s: pointer to standard V4L2 device structure
+ * @on: indicates power mode (on or off)
+ *
+ * Turns the power on or off, depending on the value of on and returns the
+ * appropriate error code.
+ */
+static int ioctl_s_power(struct v4l2_int_device *s, int on)
+{
+       struct sensor_data *sensor = s->priv;
+
+       if (on && !sensor->on) {
+               if (io_regulator)
+                       if (regulator_enable(io_regulator) != 0)
+                               return -EIO;
+               if (core_regulator)
+                       if (regulator_enable(core_regulator) != 0)
+                               return -EIO;
+               if (gpo_regulator)
+                       if (regulator_enable(gpo_regulator) != 0)
+                               return -EIO;
+               if (analog_regulator)
+                       if (regulator_enable(analog_regulator) != 0)
+                               return -EIO;
+               /* Make sure power on */
+               ov5642_standby(0);
+       } else if (!on && sensor->on) {
+               if (analog_regulator)
+                       regulator_disable(analog_regulator);
+               if (core_regulator)
+                       regulator_disable(core_regulator);
+               if (io_regulator)
+                       regulator_disable(io_regulator);
+               if (gpo_regulator)
+                       regulator_disable(gpo_regulator);
+
+               ov5642_standby(1);
+       }
+
+       sensor->on = on;
+
+       return 0;
+}
+
+/*!
+ * ioctl_g_parm - V4L2 sensor interface handler for VIDIOC_G_PARM ioctl
+ * @s: pointer to standard V4L2 device structure
+ * @a: pointer to standard V4L2 VIDIOC_G_PARM ioctl structure
+ *
+ * Returns the sensor's video CAPTURE parameters.
+ */
+static int ioctl_g_parm(struct v4l2_int_device *s, struct v4l2_streamparm *a)
+{
+       struct sensor_data *sensor = s->priv;
+       struct v4l2_captureparm *cparm = &a->parm.capture;
+       int ret = 0;
+
+       switch (a->type) {
+       /* This is the only case currently handled. */
+       case V4L2_BUF_TYPE_VIDEO_CAPTURE:
+               memset(a, 0, sizeof(*a));
+               a->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
+               cparm->capability = sensor->streamcap.capability;
+               cparm->timeperframe = sensor->streamcap.timeperframe;
+               cparm->capturemode = sensor->streamcap.capturemode;
+               ret = 0;
+               break;
+
+       /* These are all the possible cases. */
+       case V4L2_BUF_TYPE_VIDEO_OUTPUT:
+       case V4L2_BUF_TYPE_VIDEO_OVERLAY:
+       case V4L2_BUF_TYPE_VBI_CAPTURE:
+       case V4L2_BUF_TYPE_VBI_OUTPUT:
+       case V4L2_BUF_TYPE_SLICED_VBI_CAPTURE:
+       case V4L2_BUF_TYPE_SLICED_VBI_OUTPUT:
+               ret = -EINVAL;
+               break;
+
+       default:
+               pr_debug("   type is unknown - %d\n", a->type);
+               ret = -EINVAL;
+               break;
+       }
+
+       return ret;
+}
+
+/*!
+ * ioctl_s_parm - V4L2 sensor interface handler for VIDIOC_S_PARM ioctl
+ * @s: pointer to standard V4L2 device structure
+ * @a: pointer to standard V4L2 VIDIOC_S_PARM ioctl structure
+ *
+ * Configures the sensor to use the input parameters, if possible.  If
+ * not possible, reverts to the old parameters and returns the
+ * appropriate error code.
+ */
+static int ioctl_s_parm(struct v4l2_int_device *s, struct v4l2_streamparm *a)
+{
+       struct sensor_data *sensor = s->priv;
+       struct v4l2_fract *timeperframe = &a->parm.capture.timeperframe;
+       u32 tgt_fps, old_fps;   /* target frames per secound */
+       enum ov5642_frame_rate new_frame_rate, old_frame_rate;
+       int ret = 0;
+
+       /* Make sure power on */
+       ov5642_standby(0);
+
+       switch (a->type) {
+       /* This is the only case currently handled. */
+       case V4L2_BUF_TYPE_VIDEO_CAPTURE:
+               /* Check that the new frame rate is allowed. */
+               if ((timeperframe->numerator == 0) ||
+                   (timeperframe->denominator == 0)) {
+                       timeperframe->denominator = DEFAULT_FPS;
+                       timeperframe->numerator = 1;
+               }
+
+               tgt_fps = timeperframe->denominator /
+                         timeperframe->numerator;
+
+               if (tgt_fps > MAX_FPS) {
+                       timeperframe->denominator = MAX_FPS;
+                       timeperframe->numerator = 1;
+               } else if (tgt_fps < MIN_FPS) {
+                       timeperframe->denominator = MIN_FPS;
+                       timeperframe->numerator = 1;
+               }
+
+               /* Actual frame rate we use */
+               tgt_fps = timeperframe->denominator /
+                         timeperframe->numerator;
+
+               if (tgt_fps == 15)
+                       new_frame_rate = ov5642_15_fps;
+               else if (tgt_fps == 30)
+                       new_frame_rate = ov5642_30_fps;
+               else {
+                       pr_err(" The camera frame rate is not supported!\n");
+                       return -EINVAL;
+               }
+
+               if (sensor->streamcap.timeperframe.numerator != 0)
+                       old_fps = sensor->streamcap.timeperframe.denominator /
+                               sensor->streamcap.timeperframe.numerator;
+               else
+                       old_fps = 30;
+
+               if (old_fps == 15)
+                       old_frame_rate = ov5642_15_fps;
+               else if (old_fps == 30)
+                       old_frame_rate = ov5642_30_fps;
+               else {
+                       pr_warning(" No valid frame rate set!\n");
+                       old_frame_rate = ov5642_30_fps;
+               }
+
+               ret = ov5642_change_mode(new_frame_rate, old_frame_rate,
+                               a->parm.capture.capturemode,
+                               sensor->streamcap.capturemode);
+               if (ret < 0)
+                       return ret;
+
+               sensor->streamcap.timeperframe = *timeperframe;
+               sensor->streamcap.capturemode =
+                               (u32)a->parm.capture.capturemode;
+               break;
+
+       /* These are all the possible cases. */
+       case V4L2_BUF_TYPE_VIDEO_OUTPUT:
+       case V4L2_BUF_TYPE_VIDEO_OVERLAY:
+       case V4L2_BUF_TYPE_VBI_CAPTURE:
+       case V4L2_BUF_TYPE_VBI_OUTPUT:
+       case V4L2_BUF_TYPE_SLICED_VBI_CAPTURE:
+       case V4L2_BUF_TYPE_SLICED_VBI_OUTPUT:
+               pr_debug("   type is not " \
+                       "V4L2_BUF_TYPE_VIDEO_CAPTURE but %d\n",
+                       a->type);
+               ret = -EINVAL;
+               break;
+
+       default:
+               pr_debug("   type is unknown - %d\n", a->type);
+               ret = -EINVAL;
+               break;
+       }
+
+       return ret;
+}
+
+/*!
+ * ioctl_g_fmt_cap - V4L2 sensor interface handler for ioctl_g_fmt_cap
+ * @s: pointer to standard V4L2 device structure
+ * @f: pointer to standard V4L2 v4l2_format structure
+ *
+ * Returns the sensor's current pixel format in the v4l2_format
+ * parameter.
+ */
+static int ioctl_g_fmt_cap(struct v4l2_int_device *s, struct v4l2_format *f)
+{
+       struct sensor_data *sensor = s->priv;
+
+       f->fmt.pix = sensor->pix;
+
+       return 0;
+}
+
+/*!
+ * ioctl_g_ctrl - V4L2 sensor interface handler for VIDIOC_G_CTRL ioctl
+ * @s: pointer to standard V4L2 device structure
+ * @vc: standard V4L2 VIDIOC_G_CTRL ioctl structure
+ *
+ * If the requested control is supported, returns the control's current
+ * value from the video_control[] array.  Otherwise, returns -EINVAL
+ * if the control is not supported.
+ */
+static int ioctl_g_ctrl(struct v4l2_int_device *s, struct v4l2_control *vc)
+{
+       int ret = 0;
+
+       switch (vc->id) {
+       case V4L2_CID_BRIGHTNESS:
+               vc->value = ov5642_data.brightness;
+               break;
+       case V4L2_CID_HUE:
+               vc->value = ov5642_data.hue;
+               break;
+       case V4L2_CID_CONTRAST:
+               vc->value = ov5642_data.contrast;
+               break;
+       case V4L2_CID_SATURATION:
+               vc->value = ov5642_data.saturation;
+               break;
+       case V4L2_CID_RED_BALANCE:
+               vc->value = ov5642_data.red;
+               break;
+       case V4L2_CID_BLUE_BALANCE:
+               vc->value = ov5642_data.blue;
+               break;
+       case V4L2_CID_EXPOSURE:
+               vc->value = ov5642_data.ae_mode;
+               break;
+       default:
+               ret = -EINVAL;
+       }
+
+       return ret;
+}
+
+/*!
+ * ioctl_s_ctrl - V4L2 sensor interface handler for VIDIOC_S_CTRL ioctl
+ * @s: pointer to standard V4L2 device structure
+ * @vc: standard V4L2 VIDIOC_S_CTRL ioctl structure
+ *
+ * If the requested control is supported, sets the control's current
+ * value in HW (and updates the video_control[] array).  Otherwise,
+ * returns -EINVAL if the control is not supported.
+ */
+static int ioctl_s_ctrl(struct v4l2_int_device *s, struct v4l2_control *vc)
+{
+       int retval = 0;
+       struct sensor_data *sensor = s->priv;
+       __u32 captureMode = sensor->streamcap.capturemode;
+       struct reg_value *rot_mode = NULL;
+
+       pr_debug("In ov5642:ioctl_s_ctrl %d\n",
+                vc->id);
+
+       switch (vc->id) {
+       case V4L2_CID_BRIGHTNESS:
+               break;
+       case V4L2_CID_CONTRAST:
+               break;
+       case V4L2_CID_SATURATION:
+               break;
+       case V4L2_CID_HUE:
+               break;
+       case V4L2_CID_AUTO_WHITE_BALANCE:
+               break;
+       case V4L2_CID_DO_WHITE_BALANCE:
+               break;
+       case V4L2_CID_RED_BALANCE:
+               break;
+       case V4L2_CID_BLUE_BALANCE:
+               break;
+       case V4L2_CID_GAMMA:
+               break;
+       case V4L2_CID_EXPOSURE:
+               break;
+       case V4L2_CID_AUTOGAIN:
+               break;
+       case V4L2_CID_GAIN:
+               break;
+       case V4L2_CID_HFLIP:
+               break;
+       case V4L2_CID_VFLIP:
+               break;
+       case V4L2_CID_MXC_ROT:
+       case V4L2_CID_MXC_VF_ROT:
+               switch (vc->value) {
+               case V4L2_MXC_ROTATE_NONE:
+                       if (captureMode == ov5642_mode_QSXGA_2592_1944)
+                               rot_mode = ov5642_rot_none_FULL;
+                       else
+                               rot_mode = ov5642_rot_none_VGA;
+
+                       if (ov5642_set_rot_mode(rot_mode))
+                               retval = -EPERM;
+                       break;
+               case V4L2_MXC_ROTATE_VERT_FLIP:
+                       if (captureMode == ov5642_mode_QSXGA_2592_1944)
+                               rot_mode = ov5642_rot_vert_flip_FULL;
+                       else
+                               rot_mode = ov5642_rot_vert_flip_VGA ;
+
+                       if (ov5642_set_rot_mode(rot_mode))
+                               retval = -EPERM;
+                       break;
+               case V4L2_MXC_ROTATE_HORIZ_FLIP:
+                       if (captureMode == ov5642_mode_QSXGA_2592_1944)
+                               rot_mode = ov5642_rot_horiz_flip_FULL;
+                       else
+                               rot_mode = ov5642_rot_horiz_flip_VGA;
+
+                       if (ov5642_set_rot_mode(rot_mode))
+                               retval = -EPERM;
+                       break;
+               case V4L2_MXC_ROTATE_180:
+                       if (captureMode == ov5642_mode_QSXGA_2592_1944)
+                               rot_mode = ov5642_rot_180_FULL;
+                       else
+                               rot_mode = ov5642_rot_180_VGA;
+
+                       if (ov5642_set_rot_mode(rot_mode))
+                               retval = -EPERM;
+                       break;
+               default:
+                       retval = -EPERM;
+                       break;
+               }
+               break;
+       default:
+               retval = -EPERM;
+               break;
+       }
+
+       return retval;
+}
+
+/*!
+ * ioctl_enum_framesizes - V4L2 sensor interface handler for
+ *                        VIDIOC_ENUM_FRAMESIZES ioctl
+ * @s: pointer to standard V4L2 device structure
+ * @fsize: standard V4L2 VIDIOC_ENUM_FRAMESIZES ioctl structure
+ *
+ * Return 0 if successful, otherwise -EINVAL.
+ */
+static int ioctl_enum_framesizes(struct v4l2_int_device *s,
+                                struct v4l2_frmsizeenum *fsize)
+{
+       if (fsize->index > ov5642_mode_MAX)
+               return -EINVAL;
+
+       fsize->pixel_format = ov5642_data.pix.pixelformat;
+       fsize->discrete.width =
+                       max(ov5642_mode_info_data[0][fsize->index].width,
+                           ov5642_mode_info_data[1][fsize->index].width);
+       fsize->discrete.height =
+                       max(ov5642_mode_info_data[0][fsize->index].height,
+                           ov5642_mode_info_data[1][fsize->index].height);
+       return 0;
+}
+
+/*!
+ * ioctl_enum_frameintervals - V4L2 sensor interface handler for
+ *                            VIDIOC_ENUM_FRAMEINTERVALS ioctl
+ * @s: pointer to standard V4L2 device structure
+ * @fival: standard V4L2 VIDIOC_ENUM_FRAMEINTERVALS ioctl structure
+ *
+ * Return 0 if successful, otherwise -EINVAL.
+ */
+static int ioctl_enum_frameintervals(struct v4l2_int_device *s,
+                                        struct v4l2_frmivalenum *fival)
+{
+       int i, j, count;
+
+       if (fival->index < 0 || fival->index > ov5642_mode_MAX)
+               return -EINVAL;
+
+       if (fival->pixel_format == 0 || fival->width == 0 ||
+                       fival->height == 0) {
+               pr_warning("Please assign pixelformat, width and height.\n");
+               return -EINVAL;
+       }
+
+       fival->type = V4L2_FRMIVAL_TYPE_DISCRETE;
+       fival->discrete.numerator = 1;
+
+       count = 0;
+       for (i = 0; i < ARRAY_SIZE(ov5642_mode_info_data); i++) {
+               for (j = 0; j < (ov5642_mode_MAX + 1); j++) {
+                       if (fival->pixel_format == ov5642_data.pix.pixelformat
+                        && fival->width == ov5642_mode_info_data[i][j].width
+                        && fival->height == ov5642_mode_info_data[i][j].height
+                        && ov5642_mode_info_data[i][j].init_data_ptr != NULL) {
+                               count++;
+                       }
+                       if (fival->index == (count - 1)) {
+                               fival->discrete.denominator =
+                                               ov5642_framerates[i];
+                               return 0;
+                       }
+               }
+       }
+
+       return -EINVAL;
+}
+
+/*!
+ * ioctl_g_chip_ident - V4L2 sensor interface handler for
+ *                     VIDIOC_DBG_G_CHIP_IDENT ioctl
+ * @s: pointer to standard V4L2 device structure
+ * @id: pointer to int
+ *
+ * Return 0.
+ */
+static int ioctl_g_chip_ident(struct v4l2_int_device *s, int *id)
+{
+       ((struct v4l2_dbg_chip_ident *)id)->match.type =
+                                       V4L2_CHIP_MATCH_I2C_DRIVER;
+       strcpy(((struct v4l2_dbg_chip_ident *)id)->match.name, "ov5642_camera");
+
+       return 0;
+}
+
+/*!
+ * ioctl_init - V4L2 sensor interface handler for VIDIOC_INT_INIT
+ * @s: pointer to standard V4L2 device structure
+ */
+static int ioctl_init(struct v4l2_int_device *s)
+{
+
+       return 0;
+}
+
+/*!
+ * ioctl_enum_fmt_cap - V4L2 sensor interface handler for VIDIOC_ENUM_FMT
+ * @s: pointer to standard V4L2 device structure
+ * @fmt: pointer to standard V4L2 fmt description structure
+ *
+ * Return 0.
+ */
+static int ioctl_enum_fmt_cap(struct v4l2_int_device *s,
+                             struct v4l2_fmtdesc *fmt)
+{
+       if (fmt->index > 0)     /* only 1 pixelformat support so far */
+               return -EINVAL;
+
+       fmt->pixelformat = ov5642_data.pix.pixelformat;
+
+       return 0;
+}
+
+/*!
+ * ioctl_dev_init - V4L2 sensor interface handler for vidioc_int_dev_init_num
+ * @s: pointer to standard V4L2 device structure
+ *
+ * Initialise the device when slave attaches to the master.
+ */
+static int ioctl_dev_init(struct v4l2_int_device *s)
+{
+       struct reg_value *pModeSetting = NULL;
+       s32 i = 0;
+       s32 iModeSettingArySize = 0;
+       register u32 Delay_ms = 0;
+       register u16 RegAddr = 0;
+       register u8 Mask = 0;
+       register u8 Val = 0;
+       u8 RegVal = 0;
+       int retval = 0;
+
+       struct sensor_data *sensor = s->priv;
+       u32 tgt_xclk;   /* target xclk */
+       u32 tgt_fps;    /* target frames per secound */
+       enum ov5642_frame_rate frame_rate;
+
+       ov5642_data.on = true;
+
+       /* mclk */
+       tgt_xclk = ov5642_data.mclk;
+       tgt_xclk = min(tgt_xclk, (u32)OV5642_XCLK_MAX);
+       tgt_xclk = max(tgt_xclk, (u32)OV5642_XCLK_MIN);
+       ov5642_data.mclk = tgt_xclk;
+
+       pr_debug("   Setting mclk to %d MHz\n", tgt_xclk / 1000000);
+
+       /* Default camera frame rate is set in probe */
+       tgt_fps = sensor->streamcap.timeperframe.denominator /
+                 sensor->streamcap.timeperframe.numerator;
+
+       if (tgt_fps == 15)
+               frame_rate = ov5642_15_fps;
+       else if (tgt_fps == 30)
+               frame_rate = ov5642_30_fps;
+       else
+               return -EINVAL; /* Only support 15fps or 30fps now. */
+
+       pModeSetting = ov5642_initial_setting;
+       iModeSettingArySize = ARRAY_SIZE(ov5642_initial_setting);
+
+       for (i = 0; i < iModeSettingArySize; ++i, ++pModeSetting) {
+               Delay_ms = pModeSetting->u32Delay_ms;
+               RegAddr = pModeSetting->u16RegAddr;
+               Val = pModeSetting->u8Val;
+               Mask = pModeSetting->u8Mask;
+               if (Mask) {
+                       retval = ov5642_read_reg(RegAddr, &RegVal);
+                       if (retval < 0)
+                               goto err;
+
+                       RegVal &= ~(u8)Mask;
+                       Val &= Mask;
+                       Val |= RegVal;
+               }
+
+               retval = ov5642_write_reg(RegAddr, Val);
+               if (retval < 0)
+                       goto err;
+
+               if (Delay_ms)
+                       msleep(Delay_ms);
+       }
+err:
+       return retval;
+}
+
+/*!
+ * ioctl_dev_exit - V4L2 sensor interface handler for vidioc_int_dev_exit_num
+ * @s: pointer to standard V4L2 device structure
+ *
+ * Delinitialise the device when slave detaches to the master.
+ */
+static int ioctl_dev_exit(struct v4l2_int_device *s)
+{
+       return 0;
+}
+
+/*!
+ * This structure defines all the ioctls for this module and links them to the
+ * enumeration.
+ */
+static struct v4l2_int_ioctl_desc ov5642_ioctl_desc[] = {
+       { vidioc_int_dev_init_num,
+         (v4l2_int_ioctl_func *)ioctl_dev_init },
+       { vidioc_int_dev_exit_num, ioctl_dev_exit},
+       { vidioc_int_s_power_num,
+         (v4l2_int_ioctl_func *)ioctl_s_power },
+       { vidioc_int_g_ifparm_num,
+         (v4l2_int_ioctl_func *)ioctl_g_ifparm },
+/*     { vidioc_int_g_needs_reset_num,
+         (v4l2_int_ioctl_func *)ioctl_g_needs_reset }, */
+/*     { vidioc_int_reset_num,
+         (v4l2_int_ioctl_func *)ioctl_reset }, */
+       { vidioc_int_init_num,
+         (v4l2_int_ioctl_func *)ioctl_init },
+       { vidioc_int_enum_fmt_cap_num,
+         (v4l2_int_ioctl_func *)ioctl_enum_fmt_cap },
+/*     { vidioc_int_try_fmt_cap_num,
+         (v4l2_int_ioctl_func *)ioctl_try_fmt_cap }, */
+       { vidioc_int_g_fmt_cap_num,
+         (v4l2_int_ioctl_func *)ioctl_g_fmt_cap },
+/*     { vidioc_int_s_fmt_cap_num,
+         (v4l2_int_ioctl_func *)ioctl_s_fmt_cap }, */
+       { vidioc_int_g_parm_num,
+         (v4l2_int_ioctl_func *)ioctl_g_parm },
+       { vidioc_int_s_parm_num,
+         (v4l2_int_ioctl_func *)ioctl_s_parm },
+/*     { vidioc_int_queryctrl_num,
+         (v4l2_int_ioctl_func *)ioctl_queryctrl }, */
+       { vidioc_int_g_ctrl_num,
+         (v4l2_int_ioctl_func *)ioctl_g_ctrl },
+       { vidioc_int_s_ctrl_num,
+         (v4l2_int_ioctl_func *)ioctl_s_ctrl },
+       { vidioc_int_enum_framesizes_num,
+         (v4l2_int_ioctl_func *)ioctl_enum_framesizes },
+       { vidioc_int_enum_frameintervals_num,
+         (v4l2_int_ioctl_func *)ioctl_enum_frameintervals },
+       { vidioc_int_g_chip_ident_num,
+         (v4l2_int_ioctl_func *)ioctl_g_chip_ident },
+};
+
+static struct v4l2_int_slave ov5642_slave = {
+       .ioctls = ov5642_ioctl_desc,
+       .num_ioctls = ARRAY_SIZE(ov5642_ioctl_desc),
+};
+
+static struct v4l2_int_device ov5642_int_device = {
+       .module = THIS_MODULE,
+       .name = "ov5642",
+       .type = v4l2_int_type_slave,
+       .u = {
+               .slave = &ov5642_slave,
+       },
+};
+
+/*!
+ * ov5642 I2C probe function
+ *
+ * @param adapter            struct i2c_adapter *
+ * @return  Error code indicating success or failure
+ */
+static int ov5642_probe(struct i2c_client *client,
+                       const struct i2c_device_id *id)
+{
+       struct pinctrl *pinctrl;
+       struct device *dev = &client->dev;
+       int retval;
+       u8 chip_id_high, chip_id_low;
+
+       /* ov5642 pinctrl */
+       pinctrl = devm_pinctrl_get_select_default(dev);
+       if (IS_ERR(pinctrl)) {
+               dev_err(dev, "ov5642 setup pinctrl failed!");
+               return PTR_ERR(pinctrl);
+       }
+
+       /* request power down pin */
+       pwn_gpio = of_get_named_gpio(dev->of_node, "pwn-gpios", 0);
+       if (!gpio_is_valid(pwn_gpio)) {
+               dev_warn(dev, "no sensor pwdn pin available");
+               return -EINVAL;
+       }
+       retval = devm_gpio_request_one(dev, pwn_gpio, GPIOF_OUT_INIT_HIGH,
+                                       "ov5642_pwdn");
+       if (retval < 0)
+               return retval;
+
+       /* request reset pin */
+       rst_gpio = of_get_named_gpio(dev->of_node, "rst-gpios", 0);
+       if (!gpio_is_valid(rst_gpio)) {
+               dev_warn(dev, "no sensor reset pin available");
+               return -EINVAL;
+       }
+       retval = devm_gpio_request_one(dev, rst_gpio, GPIOF_OUT_INIT_HIGH,
+                                       "ov5642_reset");
+       if (retval < 0)
+               return retval;
+
+       /* Set initial values for the sensor struct. */
+       memset(&ov5642_data, 0, sizeof(ov5642_data));
+       ov5642_data.sensor_clk = devm_clk_get(dev, "csi_mclk");
+       if (IS_ERR(ov5642_data.sensor_clk)) {
+               /* assuming clock enabled by default */
+               ov5642_data.sensor_clk = NULL;
+               dev_err(dev, "clock-frequency missing or invalid\n");
+               return PTR_ERR(ov5642_data.sensor_clk);
+       }
+
+       retval = of_property_read_u32(dev->of_node, "mclk",
+                                       (u32 *) &(ov5642_data.mclk));
+       if (retval) {
+               dev_err(dev, "mclk missing or invalid\n");
+               return retval;
+       }
+
+       retval = of_property_read_u32(dev->of_node, "mclk_source",
+                                       (u32 *) &(ov5642_data.mclk_source));
+       if (retval) {
+               dev_err(dev, "mclk_source missing or invalid\n");
+               return retval;
+       }
+
+       retval = of_property_read_u32(dev->of_node, "csi_id",
+                                       &(ov5642_data.csi));
+       if (retval) {
+               dev_err(dev, "csi_id missing or invalid\n");
+               return retval;
+       }
+
+       clk_prepare_enable(ov5642_data.sensor_clk);
+
+       ov5642_data.io_init = ov5642_reset;
+       ov5642_data.i2c_client = client;
+       ov5642_data.pix.pixelformat = V4L2_PIX_FMT_YUYV;
+       ov5642_data.pix.width = 640;
+       ov5642_data.pix.height = 480;
+       ov5642_data.streamcap.capability = V4L2_MODE_HIGHQUALITY |
+                                          V4L2_CAP_TIMEPERFRAME;
+       ov5642_data.streamcap.capturemode = 0;
+       ov5642_data.streamcap.timeperframe.denominator = DEFAULT_FPS;
+       ov5642_data.streamcap.timeperframe.numerator = 1;
+
+       ov5642_power_on(&client->dev);
+
+       ov5642_reset();
+
+       ov5642_standby(0);
+
+       retval = ov5642_read_reg(OV5642_CHIP_ID_HIGH_BYTE, &chip_id_high);
+       if (retval < 0 || chip_id_high != 0x56) {
+               pr_warning("camera ov5642 is not found\n");
+               clk_disable_unprepare(ov5642_data.sensor_clk);
+               return -ENODEV;
+       }
+       retval = ov5642_read_reg(OV5642_CHIP_ID_LOW_BYTE, &chip_id_low);
+       if (retval < 0 || chip_id_low != 0x42) {
+               pr_warning("camera ov5642 is not found\n");
+               clk_disable_unprepare(ov5642_data.sensor_clk);
+               return -ENODEV;
+       }
+
+       ov5642_standby(1);
+
+       ov5642_int_device.priv = &ov5642_data;
+       retval = v4l2_int_device_register(&ov5642_int_device);
+
+       clk_disable_unprepare(ov5642_data.sensor_clk);
+
+       pr_info("camera ov5642 is found\n");
+       return retval;
+}
+
+/*!
+ * ov5642 I2C detach function
+ *
+ * @param client            struct i2c_client *
+ * @return  Error code indicating success or failure
+ */
+static int ov5642_remove(struct i2c_client *client)
+{
+       v4l2_int_device_unregister(&ov5642_int_device);
+
+       if (gpo_regulator)
+               regulator_disable(gpo_regulator);
+
+       if (analog_regulator)
+               regulator_disable(analog_regulator);
+
+       if (core_regulator)
+               regulator_disable(core_regulator);
+
+       if (io_regulator)
+               regulator_disable(io_regulator);
+
+       return 0;
+}
+
+/*!
+ * ov5642 init function
+ * Called by insmod ov5642_camera.ko.
+ *
+ * @return  Error code indicating success or failure
+ */
+static __init int ov5642_init(void)
+{
+       u8 err;
+
+       err = i2c_add_driver(&ov5642_i2c_driver);
+       if (err != 0)
+               pr_err("%s:driver registration failed, error=%d\n",
+                       __func__, err);
+
+       return err;
+}
+
+/*!
+ * OV5642 cleanup function
+ * Called on rmmod ov5642_camera.ko
+ *
+ * @return  Error code indicating success or failure
+ */
+static void __exit ov5642_clean(void)
+{
+       i2c_del_driver(&ov5642_i2c_driver);
+}
+
+module_init(ov5642_init);
+module_exit(ov5642_clean);
+
+MODULE_AUTHOR("Freescale Semiconductor, Inc.");
+MODULE_DESCRIPTION("OV5642 Camera Driver");
+MODULE_LICENSE("GPL");
+MODULE_VERSION("1.0");
+MODULE_ALIAS("CSI");
diff --git a/drivers/media/platform/mxc/output/Kconfig b/drivers/media/platform/mxc/output/Kconfig
new file mode 100644 (file)
index 0000000..237f8a8
--- /dev/null
@@ -0,0 +1,16 @@
+config VIDEO_MXC_IPU_OUTPUT
+       tristate "IPU v4l2 output support"
+       depends on VIDEO_MXC_OUTPUT && MXC_IPU
+       ---help---
+       This is the video4linux2 driver for IPU post processing video output.
+
+config VIDEO_MXC_PXP_V4L2
+        tristate "MXC PxP V4L2 driver"
+        depends on VIDEO_DEV && VIDEO_V4L2
+        select VIDEOBUF_DMA_CONTIG
+        ---help---
+          This is a video4linux driver for the Freescale PxP
+          (Pixel Pipeline). This module supports output overlay of
+          the MXC framebuffer on a video stream.
+
+          To compile this driver as a module, choose M here.
diff --git a/drivers/media/platform/mxc/output/Makefile b/drivers/media/platform/mxc/output/Makefile
new file mode 100644 (file)
index 0000000..88f1a9f
--- /dev/null
@@ -0,0 +1,2 @@
+obj-$(CONFIG_VIDEO_MXC_IPU_OUTPUT) += mxc_vout.o
+obj-$(CONFIG_VIDEO_MXC_PXP_V4L2)   += mxc_pxp_v4l2.o
diff --git a/drivers/media/platform/mxc/output/mxc_pxp_v4l2.c b/drivers/media/platform/mxc/output/mxc_pxp_v4l2.c
new file mode 100644 (file)
index 0000000..7b7629b
--- /dev/null
@@ -0,0 +1,1291 @@
+/*
+ * Copyright (C) 2010-2014 Freescale Semiconductor, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ *
+ */
+/*
+ * Based on STMP378X PxP driver
+ * Copyright 2008-2009 Embedded Alley Solutions, Inc All Rights Reserved.
+ */
+
+#include <linux/dma-mapping.h>
+#include <linux/fb.h>
+#include <linux/init.h>
+#include <linux/interrupt.h>
+#include <linux/io.h>
+#include <linux/kernel.h>
+#include <linux/module.h>
+#include <linux/mutex.h>
+#include <linux/platform_device.h>
+#include <linux/vmalloc.h>
+#include <linux/videodev2.h>
+#include <linux/dmaengine.h>
+#include <linux/pxp_dma.h>
+#include <linux/delay.h>
+#include <linux/console.h>
+#include <linux/mxcfb.h>
+
+#include <media/videobuf-dma-contig.h>
+#include <media/v4l2-common.h>
+#include <media/v4l2-dev.h>
+#include <media/v4l2-ioctl.h>
+
+#include "mxc_pxp_v4l2.h"
+
+#define PXP_DRIVER_NAME                        "pxp-v4l2"
+#define PXP_DRIVER_MAJOR               2
+#define PXP_DRIVER_MINOR               0
+
+#define PXP_DEF_BUFS                   2
+#define PXP_MIN_PIX                    8
+
+#define V4L2_OUTPUT_TYPE_INTERNAL      4
+
+static int video_nr = -1;      /* -1 ==> auto assign */
+static struct pxp_data_format pxp_s0_formats[] = {
+       {
+               .name = "24-bit RGB",
+               .bpp = 4,
+               .fourcc = V4L2_PIX_FMT_RGB24,
+               .colorspace = V4L2_COLORSPACE_SRGB,
+       }, {
+               .name = "16-bit RGB 5:6:5",
+               .bpp = 2,
+               .fourcc = V4L2_PIX_FMT_RGB565,
+               .colorspace = V4L2_COLORSPACE_SRGB,
+       }, {
+               .name = "16-bit RGB 5:5:5",
+               .bpp = 2,
+               .fourcc = V4L2_PIX_FMT_RGB555,
+               .colorspace = V4L2_COLORSPACE_SRGB,
+       }, {
+               .name = "YUV 4:2:0 Planar",
+               .bpp = 2,
+               .fourcc = V4L2_PIX_FMT_YUV420,
+               .colorspace = V4L2_COLORSPACE_JPEG,
+       }, {
+               .name = "YUV 4:2:2 Planar",
+               .bpp = 2,
+               .fourcc = V4L2_PIX_FMT_YUV422P,
+               .colorspace = V4L2_COLORSPACE_JPEG,
+       }, {
+               .name = "UYVY",
+               .bpp = 2,
+               .fourcc = V4L2_PIX_FMT_UYVY,
+               .colorspace = V4L2_COLORSPACE_JPEG,
+       },
+};
+
+static unsigned int v4l2_fmt_to_pxp_fmt(u32 v4l2_pix_fmt)
+{
+       u32 pxp_fmt = 0;
+
+       if (v4l2_pix_fmt == V4L2_PIX_FMT_RGB24)
+               pxp_fmt = PXP_PIX_FMT_RGB24;
+       else if (v4l2_pix_fmt == V4L2_PIX_FMT_RGB565)
+               pxp_fmt = PXP_PIX_FMT_RGB565;
+       else if (v4l2_pix_fmt == V4L2_PIX_FMT_RGB555)
+               pxp_fmt = PXP_PIX_FMT_RGB555;
+       else if (v4l2_pix_fmt == V4L2_PIX_FMT_RGB555)
+               pxp_fmt = PXP_PIX_FMT_RGB555;
+       else if (v4l2_pix_fmt == V4L2_PIX_FMT_YUV420)
+               pxp_fmt = PXP_PIX_FMT_YUV420P;
+       else if (v4l2_pix_fmt == V4L2_PIX_FMT_YUV422P)
+               pxp_fmt = PXP_PIX_FMT_YUV422P;
+       else if (v4l2_pix_fmt == V4L2_PIX_FMT_UYVY)
+               pxp_fmt = PXP_PIX_FMT_UYVY;
+
+       return pxp_fmt;
+}
+struct v4l2_queryctrl pxp_controls[] = {
+       {
+               .id             = V4L2_CID_HFLIP,
+               .type           = V4L2_CTRL_TYPE_BOOLEAN,
+               .name           = "Horizontal Flip",
+               .minimum        = 0,
+               .maximum        = 1,
+               .step           = 1,
+               .default_value  = 0,
+               .flags          = 0,
+       }, {
+               .id             = V4L2_CID_VFLIP,
+               .type           = V4L2_CTRL_TYPE_BOOLEAN,
+               .name           = "Vertical Flip",
+               .minimum        = 0,
+               .maximum        = 1,
+               .step           = 1,
+               .default_value  = 0,
+               .flags          = 0,
+       }, {
+               .id             = V4L2_CID_PRIVATE_BASE,
+               .type           = V4L2_CTRL_TYPE_INTEGER,
+               .name           = "Rotation",
+               .minimum        = 0,
+               .maximum        = 270,
+               .step           = 90,
+               .default_value  = 0,
+               .flags          = 0,
+       }, {
+               .id             = V4L2_CID_PRIVATE_BASE + 1,
+               .name           = "Background Color",
+               .minimum        = 0,
+               .maximum        = 0xFFFFFF,
+               .step           = 1,
+               .default_value  = 0,
+               .flags          = 0,
+               .type           = V4L2_CTRL_TYPE_INTEGER,
+       }, {
+               .id             = V4L2_CID_PRIVATE_BASE + 2,
+               .name           = "Set S0 Chromakey",
+               .minimum        = -1,
+               .maximum        = 0xFFFFFF,
+               .step           = 1,
+               .default_value  = -1,
+               .flags          = 0,
+               .type           = V4L2_CTRL_TYPE_INTEGER,
+       }, {
+               .id             = V4L2_CID_PRIVATE_BASE + 3,
+               .name           = "YUV Colorspace",
+               .minimum        = 0,
+               .maximum        = 1,
+               .step           = 1,
+               .default_value  = 0,
+               .flags          = 0,
+               .type           = V4L2_CTRL_TYPE_BOOLEAN,
+       },
+};
+
+static void free_dma_buf(struct pxps *pxp, struct dma_mem *buf)
+{
+       dma_free_coherent(&pxp->pdev->dev, buf->size, buf->vaddr, buf->paddr);
+       dev_dbg(&pxp->pdev->dev,
+                       "free dma size:0x%x, paddr:0x%x\n",
+                       buf->size, buf->paddr);
+       memset(buf, 0, sizeof(*buf));
+}
+
+static int alloc_dma_buf(struct pxps *pxp, struct dma_mem *buf)
+{
+
+       buf->vaddr = dma_alloc_coherent(&pxp->pdev->dev, buf->size, &buf->paddr,
+                                               GFP_DMA | GFP_KERNEL);
+       if (!buf->vaddr) {
+               dev_err(&pxp->pdev->dev,
+                       "cannot get dma buf size:0x%x\n", buf->size);
+               return -ENOMEM;
+       }
+       dev_dbg(&pxp->pdev->dev,
+               "alloc dma buf size:0x%x, paddr:0x%x\n", buf->size, buf->paddr);
+       return 0;
+}
+
+/* callback function */
+static void video_dma_done(void *arg)
+{
+       struct pxp_tx_desc *tx_desc = to_tx_desc(arg);
+       struct dma_chan *chan = tx_desc->txd.chan;
+       struct pxp_channel *pxp_chan = to_pxp_channel(chan);
+       struct pxps *pxp = pxp_chan->client;
+       struct videobuf_buffer *vb;
+
+       dev_dbg(chan->device->dev, "callback cookie %d, active DMA 0x%08x\n",
+                       tx_desc->txd.cookie,
+                       pxp->active ? sg_dma_address(&pxp->active->sg[0]) : 0);
+
+       spin_lock(&pxp->lock);
+       if (pxp->active) {
+               vb = &pxp->active->vb;
+
+               list_del_init(&vb->queue);
+               vb->state = VIDEOBUF_DONE;
+               do_gettimeofday(&vb->ts);
+               vb->field_count++;
+               wake_up(&vb->done);
+       }
+
+       if (list_empty(&pxp->outq)) {
+               pxp->active = NULL;
+               spin_unlock(&pxp->lock);
+
+               return;
+       }
+
+       pxp->active = list_entry(pxp->outq.next,
+                                    struct pxp_buffer, vb.queue);
+       pxp->active->vb.state = VIDEOBUF_ACTIVE;
+       spin_unlock(&pxp->lock);
+}
+
+static int acquire_dma_channel(struct pxps *pxp)
+{
+       dma_cap_mask_t mask;
+       struct dma_chan *chan;
+       struct pxp_channel **pchan = &pxp->pxp_channel[0];
+
+       if (*pchan) {
+               struct videobuf_buffer *vb, *_vb;
+               dma_release_channel(&(*pchan)->dma_chan);
+               *pchan = NULL;
+               pxp->active = NULL;
+               list_for_each_entry_safe(vb, _vb, &pxp->outq, queue) {
+                       list_del_init(&vb->queue);
+                       vb->state = VIDEOBUF_ERROR;
+                       wake_up(&vb->done);
+               }
+       }
+
+       dma_cap_zero(mask);
+       dma_cap_set(DMA_SLAVE, mask);
+       dma_cap_set(DMA_PRIVATE, mask);
+       chan = dma_request_channel(mask, NULL, NULL);
+       if (!chan)
+               return -EBUSY;
+
+       *pchan = to_pxp_channel(chan);
+       (*pchan)->client = pxp;
+
+       return 0;
+}
+
+static int _get_fbinfo(struct fb_info **fbi)
+{
+       int i;
+       for (i = 0; i < num_registered_fb; i++) {
+               char *idstr = registered_fb[i]->fix.id;
+               if (strcmp(idstr, "mxs") == 0) {
+                       *fbi = registered_fb[i];
+                       return 0;
+               }
+       }
+
+       return -ENODEV;
+}
+
+static int pxp_set_fbinfo(struct pxps *pxp)
+{
+       struct v4l2_framebuffer *fb = &pxp->fb;
+       int err;
+
+       err = _get_fbinfo(&pxp->fbi);
+       if (err)
+               return err;
+
+       fb->fmt.width = pxp->fbi->var.xres;
+       fb->fmt.height = pxp->fbi->var.yres;
+       pxp->pxp_conf.out_param.stride = pxp->fbi->var.xres;
+       if (pxp->fbi->var.bits_per_pixel == 16)
+               fb->fmt.pixelformat = V4L2_PIX_FMT_RGB565;
+       else
+               fb->fmt.pixelformat = V4L2_PIX_FMT_RGB24;
+
+       fb->base = (void *)pxp->fbi->fix.smem_start;
+
+       return 0;
+}
+
+static int _get_cur_fb_blank(struct pxps *pxp)
+{
+       struct fb_info *fbi;
+       mm_segment_t old_fs;
+       int err = 0;
+
+       err = _get_fbinfo(&fbi);
+       if (err)
+               return err;
+
+       if (fbi->fbops->fb_ioctl) {
+               old_fs = get_fs();
+               set_fs(KERNEL_DS);
+               err = fbi->fbops->fb_ioctl(fbi, MXCFB_GET_FB_BLANK,
+                               (unsigned int)(&pxp->fb_blank));
+               set_fs(old_fs);
+       }
+
+       return err;
+}
+
+static int pxp_show_buf(struct pxps *pxp, unsigned long paddr)
+{
+       struct fb_info *fbi = pxp->fbi;
+       int ret = -EINVAL;
+
+       if (paddr == 0) {
+               dev_err(&pxp->pdev->dev, "Invalid paddr\n");
+               return ret;
+       }
+
+       console_lock();
+       fbi->fix.smem_start = paddr;
+       ret = fb_pan_display(fbi, &fbi->var);
+       console_unlock();
+
+       return ret;
+}
+
+static int set_fb_blank(int blank)
+{
+       struct fb_info *fbi;
+       int err = 0;
+
+       err = _get_fbinfo(&fbi);
+       if (err)
+               return err;
+
+       console_lock();
+       fb_blank(fbi, blank);
+       console_unlock();
+
+       return err;
+}
+
+static int pxp_set_cstate(struct pxps *pxp, struct v4l2_control *vc)
+{
+
+       if (vc->id == V4L2_CID_HFLIP) {
+               pxp->pxp_conf.proc_data.hflip = vc->value;
+       } else if (vc->id == V4L2_CID_VFLIP) {
+               pxp->pxp_conf.proc_data.vflip = vc->value;
+       } else if (vc->id == V4L2_CID_PRIVATE_BASE) {
+               if (vc->value % 90)
+                       return -ERANGE;
+               pxp->pxp_conf.proc_data.rotate = vc->value;
+       } else if (vc->id == V4L2_CID_PRIVATE_BASE + 1) {
+               pxp->pxp_conf.proc_data.bgcolor = vc->value;
+       } else if (vc->id == V4L2_CID_PRIVATE_BASE + 2) {
+               pxp->pxp_conf.s0_param.color_key = vc->value;
+       } else if (vc->id == V4L2_CID_PRIVATE_BASE + 3) {
+               pxp->pxp_conf.proc_data.yuv = vc->value;
+       }
+
+       return 0;
+}
+
+static int pxp_get_cstate(struct pxps *pxp, struct v4l2_control *vc)
+{
+       if (vc->id == V4L2_CID_HFLIP)
+               vc->value = pxp->pxp_conf.proc_data.hflip;
+       else if (vc->id == V4L2_CID_VFLIP)
+               vc->value = pxp->pxp_conf.proc_data.vflip;
+       else if (vc->id == V4L2_CID_PRIVATE_BASE)
+               vc->value = pxp->pxp_conf.proc_data.rotate;
+       else if (vc->id == V4L2_CID_PRIVATE_BASE + 1)
+               vc->value = pxp->pxp_conf.proc_data.bgcolor;
+       else if (vc->id == V4L2_CID_PRIVATE_BASE + 2)
+               vc->value = pxp->pxp_conf.s0_param.color_key;
+       else if (vc->id == V4L2_CID_PRIVATE_BASE + 3)
+               vc->value = pxp->pxp_conf.proc_data.yuv;
+
+       return 0;
+}
+
+static int pxp_enumoutput(struct file *file, void *fh,
+                       struct v4l2_output *o)
+{
+       struct pxps *pxp = video_get_drvdata(video_devdata(file));
+
+       if ((o->index < 0) || (o->index > 1))
+               return -EINVAL;
+
+       memset(o, 0, sizeof(struct v4l2_output));
+       if (o->index == 0) {
+               strcpy(o->name, "PxP Display Output");
+               pxp->output = 0;
+       } else {
+               strcpy(o->name, "PxP Virtual Output");
+               pxp->output = 1;
+       }
+       o->type = V4L2_OUTPUT_TYPE_INTERNAL;
+       o->std = 0;
+       o->reserved[0] = pxp->outbuf.paddr;
+
+       return 0;
+}
+
+static int pxp_g_output(struct file *file, void *fh,
+                       unsigned int *i)
+{
+       struct pxps *pxp = video_get_drvdata(video_devdata(file));
+
+       *i = pxp->output;
+
+       return 0;
+}
+
+static int pxp_s_output(struct file *file, void *fh,
+                       unsigned int i)
+{
+       struct pxps *pxp = video_get_drvdata(video_devdata(file));
+       struct v4l2_pix_format *fmt = &pxp->fb.fmt;
+       u32 size;
+       int ret, bpp;
+
+       if ((i < 0) || (i > 1))
+               return -EINVAL;
+
+       /* Output buffer is same format as fbdev */
+       if (fmt->pixelformat == V4L2_PIX_FMT_RGB24)
+               bpp = 4;
+       else
+               bpp = 2;
+
+       size = fmt->width * fmt->height * bpp;
+       if (size > pxp->outbuf.size) {
+               if (pxp->outbuf.vaddr)
+                       free_dma_buf(pxp, &pxp->outbuf);
+               pxp->outbuf.size = size;
+               ret = alloc_dma_buf(pxp, &pxp->outbuf);
+               if (ret < 0)
+                       return ret;
+       }
+
+       pxp->pxp_conf.out_param.width = fmt->width;
+       pxp->pxp_conf.out_param.height = fmt->height;
+       if (fmt->pixelformat == V4L2_PIX_FMT_RGB24)
+               pxp->pxp_conf.out_param.pixel_fmt = PXP_PIX_FMT_RGB24;
+       else
+               pxp->pxp_conf.out_param.pixel_fmt = PXP_PIX_FMT_RGB565;
+
+       return 0;
+}
+
+static int pxp_enum_fmt_video_output(struct file *file, void *fh,
+                               struct v4l2_fmtdesc *fmt)
+{
+       enum v4l2_buf_type type = fmt->type;
+       int index = fmt->index;
+
+       if ((fmt->index < 0) || (fmt->index >= ARRAY_SIZE(pxp_s0_formats)))
+               return -EINVAL;
+
+       memset(fmt, 0, sizeof(struct v4l2_fmtdesc));
+       fmt->index = index;
+       fmt->type = type;
+       fmt->pixelformat = pxp_s0_formats[index].fourcc;
+       strcpy(fmt->description, pxp_s0_formats[index].name);
+
+       return 0;
+}
+
+static int pxp_g_fmt_video_output(struct file *file, void *fh,
+                               struct v4l2_format *f)
+{
+       struct v4l2_pix_format *pf = &f->fmt.pix;
+       struct pxps *pxp = video_get_drvdata(video_devdata(file));
+       struct pxp_data_format *fmt = pxp->s0_fmt;
+
+       pf->width = pxp->pxp_conf.s0_param.width;
+       pf->height = pxp->pxp_conf.s0_param.height;
+       pf->pixelformat = fmt->fourcc;
+       pf->field = V4L2_FIELD_NONE;
+       pf->bytesperline = fmt->bpp * pf->width;
+       pf->sizeimage = pf->bytesperline * pf->height;
+       pf->colorspace = fmt->colorspace;
+       pf->priv = 0;
+
+       return 0;
+}
+
+static struct pxp_data_format *pxp_get_format(struct v4l2_format *f)
+{
+       struct pxp_data_format *fmt;
+       int i;
+
+       for (i = 0; i < ARRAY_SIZE(pxp_s0_formats); i++) {
+               fmt = &pxp_s0_formats[i];
+               if (fmt->fourcc == f->fmt.pix.pixelformat)
+                       break;
+       }
+
+       if (i == ARRAY_SIZE(pxp_s0_formats))
+               return NULL;
+
+       return &pxp_s0_formats[i];
+}
+
+static int pxp_try_fmt_video_output(struct file *file, void *fh,
+                               struct v4l2_format *f)
+{
+       int w = f->fmt.pix.width;
+       int h = f->fmt.pix.height;
+       struct pxp_data_format *fmt = pxp_get_format(f);
+
+       if (!fmt)
+               return -EINVAL;
+
+       w = min(w, 2040);
+       w = max(w, 8);
+       h = min(h, 2040);
+       h = max(h, 8);
+       f->fmt.pix.field = V4L2_FIELD_NONE;
+       f->fmt.pix.width = w;
+       f->fmt.pix.height = h;
+       f->fmt.pix.pixelformat = fmt->fourcc;
+
+       return 0;
+}
+
+static int pxp_s_fmt_video_output(struct file *file, void *fh,
+                               struct v4l2_format *f)
+{
+       struct pxps *pxp = video_get_drvdata(video_devdata(file));
+       struct v4l2_pix_format *pf = &f->fmt.pix;
+       int ret;
+
+       ret = acquire_dma_channel(pxp);
+       if (ret < 0)
+               return ret;
+
+       ret = pxp_try_fmt_video_output(file, fh, f);
+       if (ret == 0) {
+               pxp->s0_fmt = pxp_get_format(f);
+               pxp->pxp_conf.s0_param.pixel_fmt =
+                       v4l2_fmt_to_pxp_fmt(pxp->s0_fmt->fourcc);
+               pxp->pxp_conf.s0_param.width = pf->width;
+               pxp->pxp_conf.s0_param.height = pf->height;
+       }
+
+
+       return ret;
+}
+
+static int pxp_g_fmt_output_overlay(struct file *file, void *fh,
+                               struct v4l2_format *f)
+{
+       struct pxps *pxp = video_get_drvdata(video_devdata(file));
+       struct v4l2_window *wf = &f->fmt.win;
+
+       memset(wf, 0, sizeof(struct v4l2_window));
+       wf->chromakey = pxp->s1_chromakey;
+       wf->global_alpha = pxp->global_alpha;
+       wf->field = V4L2_FIELD_NONE;
+       wf->clips = NULL;
+       wf->clipcount = 0;
+       wf->bitmap = NULL;
+       wf->w.left = pxp->pxp_conf.proc_data.srect.left;
+       wf->w.top = pxp->pxp_conf.proc_data.srect.top;
+       wf->w.width = pxp->pxp_conf.proc_data.srect.width;
+       wf->w.height = pxp->pxp_conf.proc_data.srect.height;
+
+       return 0;
+}
+
+static int pxp_try_fmt_output_overlay(struct file *file, void *fh,
+                               struct v4l2_format *f)
+{
+       struct pxps *pxp = video_get_drvdata(video_devdata(file));
+       struct v4l2_window *wf = &f->fmt.win;
+       struct v4l2_rect srect;
+       u32 s1_chromakey = wf->chromakey;
+       u8 global_alpha = wf->global_alpha;
+
+       memcpy(&srect, &(wf->w), sizeof(struct v4l2_rect));
+
+       pxp_g_fmt_output_overlay(file, fh, f);
+
+       wf->chromakey = s1_chromakey;
+       wf->global_alpha = global_alpha;
+
+       /* Constrain parameters to the input buffer */
+       wf->w.left = srect.left;
+       wf->w.top = srect.top;
+       wf->w.width = min(srect.width,
+                       ((__u32)pxp->pxp_conf.s0_param.width - wf->w.left));
+       wf->w.height = min(srect.height,
+                       ((__u32)pxp->pxp_conf.s0_param.height - wf->w.top));
+
+       return 0;
+}
+
+static int pxp_s_fmt_output_overlay(struct file *file, void *fh,
+                                       struct v4l2_format *f)
+{
+       struct pxps *pxp = video_get_drvdata(video_devdata(file));
+       struct v4l2_window *wf = &f->fmt.win;
+       int ret = pxp_try_fmt_output_overlay(file, fh, f);
+
+       if (ret == 0) {
+               pxp->global_alpha = wf->global_alpha;
+               pxp->s1_chromakey = wf->chromakey;
+               pxp->pxp_conf.proc_data.srect.left = wf->w.left;
+               pxp->pxp_conf.proc_data.srect.top = wf->w.top;
+               pxp->pxp_conf.proc_data.srect.width = wf->w.width;
+               pxp->pxp_conf.proc_data.srect.height = wf->w.height;
+               pxp->pxp_conf.ol_param[0].global_alpha = pxp->global_alpha;
+               pxp->pxp_conf.ol_param[0].color_key = pxp->s1_chromakey;
+               pxp->pxp_conf.ol_param[0].color_key_enable =
+                                       pxp->s1_chromakey_state;
+       }
+
+       return ret;
+}
+
+static int pxp_reqbufs(struct file *file, void *priv,
+                       struct v4l2_requestbuffers *r)
+{
+       struct pxps *pxp = video_get_drvdata(video_devdata(file));
+
+       return videobuf_reqbufs(&pxp->s0_vbq, r);
+}
+
+static int pxp_querybuf(struct file *file, void *priv,
+                       struct v4l2_buffer *b)
+{
+       struct pxps *pxp = video_get_drvdata(video_devdata(file));
+
+       return videobuf_querybuf(&pxp->s0_vbq, b);
+}
+
+static int pxp_qbuf(struct file *file, void *priv,
+                       struct v4l2_buffer *b)
+{
+       struct pxps *pxp = video_get_drvdata(video_devdata(file));
+
+       return videobuf_qbuf(&pxp->s0_vbq, b);
+}
+
+static int pxp_dqbuf(struct file *file, void *priv,
+                       struct v4l2_buffer *b)
+{
+       struct pxps *pxp = video_get_drvdata(video_devdata(file));
+
+       return videobuf_dqbuf(&pxp->s0_vbq, b, file->f_flags & O_NONBLOCK);
+}
+
+static int pxp_streamon(struct file *file, void *priv,
+                       enum v4l2_buf_type t)
+{
+       struct pxps *pxp = video_get_drvdata(video_devdata(file));
+       int ret = 0;
+
+       if (t != V4L2_BUF_TYPE_VIDEO_OUTPUT)
+               return -EINVAL;
+
+       _get_cur_fb_blank(pxp);
+       set_fb_blank(FB_BLANK_UNBLANK);
+
+       ret = videobuf_streamon(&pxp->s0_vbq);
+
+       if (!ret && (pxp->output == 0))
+               pxp_show_buf(pxp, pxp->outbuf.paddr);
+
+       return ret;
+}
+
+static int pxp_streamoff(struct file *file, void *priv,
+                       enum v4l2_buf_type t)
+{
+       struct pxps *pxp = video_get_drvdata(video_devdata(file));
+       int ret = 0;
+
+       if ((t != V4L2_BUF_TYPE_VIDEO_OUTPUT))
+               return -EINVAL;
+
+       ret = videobuf_streamoff(&pxp->s0_vbq);
+
+       pxp_show_buf(pxp, (unsigned long)pxp->fb.base);
+
+       if (pxp->fb_blank)
+               set_fb_blank(FB_BLANK_POWERDOWN);
+
+       return ret;
+}
+
+static int pxp_buf_setup(struct videobuf_queue *q,
+                       unsigned int *count, unsigned *size)
+{
+       struct pxps *pxp = q->priv_data;
+
+       *size = pxp->pxp_conf.s0_param.width *
+               pxp->pxp_conf.s0_param.height * pxp->s0_fmt->bpp;
+
+       if (0 == *count)
+               *count = PXP_DEF_BUFS;
+
+       return 0;
+}
+
+static void pxp_buf_free(struct videobuf_queue *q, struct pxp_buffer *buf)
+{
+       struct videobuf_buffer *vb = &buf->vb;
+
+       BUG_ON(in_interrupt());
+
+       pr_debug("%s (vb=0x%p) 0x%08lx %d\n", __func__,
+               vb, vb->baddr, vb->bsize);
+
+       /*
+        * This waits until this buffer is out of danger, i.e., until it is no
+        * longer in STATE_QUEUED or STATE_ACTIVE
+        */
+       videobuf_waiton(q, vb, 0, 0);
+
+       videobuf_dma_contig_free(q, vb);
+       buf->txd = NULL;
+
+       vb->state = VIDEOBUF_NEEDS_INIT;
+}
+
+static int pxp_buf_prepare(struct videobuf_queue *q,
+                       struct videobuf_buffer *vb,
+                       enum v4l2_field field)
+{
+       struct pxps *pxp = q->priv_data;
+       struct pxp_config_data *pxp_conf = &pxp->pxp_conf;
+       struct pxp_proc_data *proc_data = &pxp_conf->proc_data;
+       struct pxp_buffer *buf = container_of(vb, struct pxp_buffer, vb);
+       struct pxp_tx_desc *desc;
+       int ret = 0;
+       int i, length;
+
+       if (!pxp->outbuf.paddr)  {
+               dev_err(&pxp->pdev->dev, "Not allocate memory for "
+                       "PxP Out buffer?\n");
+               return -ENOMEM;
+       }
+
+       vb->width = pxp->pxp_conf.s0_param.width;
+       vb->height = pxp->pxp_conf.s0_param.height;
+       vb->size = vb->width * vb->height * pxp->s0_fmt->bpp;
+       vb->field = V4L2_FIELD_NONE;
+       if (vb->state != VIDEOBUF_NEEDS_INIT)
+               pxp_buf_free(q, buf);
+
+       if (vb->state == VIDEOBUF_NEEDS_INIT) {
+               struct pxp_channel *pchan = pxp->pxp_channel[0];
+               struct scatterlist *sg = &buf->sg[0];
+
+               /* This actually (allocates and) maps buffers */
+               ret = videobuf_iolock(q, vb, NULL);
+               if (ret) {
+                       pr_err("fail to call videobuf_iolock, ret = %d\n", ret);
+                       goto fail;
+               }
+
+               /*
+                * sg[0] for input(S0)
+                * Sg[1] for output
+                */
+               sg_init_table(sg, 3);
+
+               buf->txd = pchan->dma_chan.device->device_prep_slave_sg(
+                       &pchan->dma_chan, sg, 3, DMA_FROM_DEVICE,
+                       DMA_PREP_INTERRUPT, NULL);
+               if (!buf->txd) {
+                       ret = -EIO;
+                       goto fail;
+               }
+
+               buf->txd->callback_param        = buf->txd;
+               buf->txd->callback              = video_dma_done;
+
+               desc = to_tx_desc(buf->txd);
+               length = desc->len;
+               for (i = 0; i < length; i++) {
+                       if (i == 0) {/* S0 */
+                               memcpy(&desc->proc_data, proc_data,
+                                       sizeof(struct pxp_proc_data));
+                               pxp_conf->s0_param.paddr =
+                                               videobuf_to_dma_contig(vb);
+                               memcpy(&desc->layer_param.s0_param,
+                                       &pxp_conf->s0_param,
+                                       sizeof(struct pxp_layer_param));
+                       } else if (i == 1) { /* Output */
+                               if (proc_data->rotate % 180) {
+                                       pxp_conf->out_param.width =
+                                               pxp->fb.fmt.height;
+                                       pxp_conf->out_param.height =
+                                               pxp->fb.fmt.width;
+                               } else {
+                                       pxp_conf->out_param.width =
+                                               pxp->fb.fmt.width;
+                                       pxp_conf->out_param.height =
+                                               pxp->fb.fmt.height;
+                               }
+
+                               pxp_conf->out_param.paddr = pxp->outbuf.paddr;
+                               memcpy(&desc->layer_param.out_param,
+                                       &pxp_conf->out_param,
+                                       sizeof(struct pxp_layer_param));
+                       } else if (pxp_conf->ol_param[0].combine_enable) {
+                               /* Overlay */
+                               pxp_conf->ol_param[0].paddr =
+                                               (dma_addr_t)pxp->fb.base;
+                               pxp_conf->ol_param[0].width = pxp->fb.fmt.width;
+                               pxp_conf->ol_param[0].height =
+                                               pxp->fb.fmt.height;
+                               pxp_conf->ol_param[0].pixel_fmt =
+                                               pxp_conf->out_param.pixel_fmt;
+                               memcpy(&desc->layer_param.ol_param,
+                                      &pxp_conf->ol_param[0],
+                                      sizeof(struct pxp_layer_param));
+                       }
+
+                       desc = desc->next;
+               }
+
+               vb->state = VIDEOBUF_PREPARED;
+       }
+
+       return 0;
+
+fail:
+       pxp_buf_free(q, buf);
+       return ret;
+}
+
+
+static void pxp_buf_queue(struct videobuf_queue *q,
+                       struct videobuf_buffer *vb)
+{
+       struct pxps *pxp = q->priv_data;
+       struct pxp_buffer *buf = container_of(vb, struct pxp_buffer, vb);
+       struct dma_async_tx_descriptor *txd = buf->txd;
+       struct pxp_channel *pchan = pxp->pxp_channel[0];
+       dma_cookie_t cookie;
+
+       BUG_ON(!irqs_disabled());
+
+       list_add_tail(&vb->queue, &pxp->outq);
+
+       if (!pxp->active) {
+               pxp->active = buf;
+               vb->state = VIDEOBUF_ACTIVE;
+       } else {
+               vb->state = VIDEOBUF_QUEUED;
+       }
+
+       spin_unlock_irq(&pxp->lock);
+
+       cookie = txd->tx_submit(txd);
+       dev_dbg(&pxp->pdev->dev, "Submitted cookie %d DMA 0x%08x\n",
+                               cookie, sg_dma_address(&buf->sg[0]));
+       mdelay(5);
+       /* trigger ePxP */
+       dma_async_issue_pending(&pchan->dma_chan);
+
+       spin_lock_irq(&pxp->lock);
+
+       if (cookie >= 0)
+               return;
+
+       /* Submit error */
+       pr_err("%s: Submit error\n", __func__);
+       vb->state = VIDEOBUF_PREPARED;
+
+       list_del_init(&vb->queue);
+
+       if (pxp->active == buf)
+               pxp->active = NULL;
+}
+
+static void pxp_buf_release(struct videobuf_queue *q,
+                       struct videobuf_buffer *vb)
+{
+       struct pxps *pxp = q->priv_data;
+       struct pxp_buffer *buf = container_of(vb, struct pxp_buffer, vb);
+       unsigned long flags;
+
+       spin_lock_irqsave(&pxp->lock, flags);
+       if ((vb->state == VIDEOBUF_ACTIVE || vb->state == VIDEOBUF_QUEUED) &&
+           !list_empty(&vb->queue)) {
+               vb->state = VIDEOBUF_ERROR;
+
+               list_del_init(&vb->queue);
+               if (pxp->active == buf)
+                       pxp->active = NULL;
+       }
+       spin_unlock_irqrestore(&pxp->lock, flags);
+
+       pxp_buf_free(q, buf);
+}
+
+static struct videobuf_queue_ops pxp_vbq_ops = {
+       .buf_setup      = pxp_buf_setup,
+       .buf_prepare    = pxp_buf_prepare,
+       .buf_queue      = pxp_buf_queue,
+       .buf_release    = pxp_buf_release,
+};
+
+static int pxp_querycap(struct file *file, void *fh,
+                       struct v4l2_capability *cap)
+{
+       struct pxps *pxp = video_get_drvdata(video_devdata(file));
+
+       memset(cap, 0, sizeof(*cap));
+       strcpy(cap->driver, "pxp");
+       strcpy(cap->card, "pxp");
+       strlcpy(cap->bus_info, dev_name(&pxp->pdev->dev),
+               sizeof(cap->bus_info));
+
+       cap->version = (PXP_DRIVER_MAJOR << 8) + PXP_DRIVER_MINOR;
+
+       cap->capabilities = V4L2_CAP_VIDEO_OUTPUT |
+                               V4L2_CAP_VIDEO_OUTPUT_OVERLAY |
+                               V4L2_CAP_STREAMING;
+
+       return 0;
+}
+
+static int pxp_g_fbuf(struct file *file, void *priv,
+                       struct v4l2_framebuffer *fb)
+{
+       struct pxps *pxp = video_get_drvdata(video_devdata(file));
+
+       memset(fb, 0, sizeof(*fb));
+
+       fb->capability = V4L2_FBUF_CAP_EXTERNOVERLAY |
+                        V4L2_FBUF_CAP_CHROMAKEY |
+                        V4L2_FBUF_CAP_LOCAL_ALPHA |
+                        V4L2_FBUF_CAP_GLOBAL_ALPHA;
+
+       if (pxp->global_alpha_state)
+               fb->flags |= V4L2_FBUF_FLAG_GLOBAL_ALPHA;
+       if (pxp->s1_chromakey_state)
+               fb->flags |= V4L2_FBUF_FLAG_CHROMAKEY;
+
+       return 0;
+}
+
+static int pxp_s_fbuf(struct file *file, void *priv,
+                       const struct v4l2_framebuffer *fb)
+{
+       struct pxps *pxp = video_get_drvdata(video_devdata(file));
+
+       pxp->overlay_state =
+               (fb->flags & V4L2_FBUF_FLAG_OVERLAY) != 0;
+       pxp->global_alpha_state =
+               (fb->flags & V4L2_FBUF_FLAG_GLOBAL_ALPHA) != 0;
+       pxp->s1_chromakey_state =
+               (fb->flags & V4L2_FBUF_FLAG_CHROMAKEY) != 0;
+
+       pxp->pxp_conf.ol_param[0].combine_enable = pxp->overlay_state;
+       pxp->pxp_conf.ol_param[0].global_alpha_enable = pxp->global_alpha_state;
+
+       return 0;
+}
+
+static int pxp_g_crop(struct file *file, void *fh,
+                       struct v4l2_crop *c)
+{
+       struct pxps *pxp = video_get_drvdata(video_devdata(file));
+
+       if (c->type != V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY)
+               return -EINVAL;
+
+       c->c.left = pxp->pxp_conf.proc_data.drect.left;
+       c->c.top = pxp->pxp_conf.proc_data.drect.top;
+       c->c.width = pxp->pxp_conf.proc_data.drect.width;
+       c->c.height = pxp->pxp_conf.proc_data.drect.height;
+
+       return 0;
+}
+
+static int pxp_s_crop(struct file *file, void *fh,
+                       const struct v4l2_crop *c)
+{
+       struct pxps *pxp = video_get_drvdata(video_devdata(file));
+       int l = c->c.left;
+       int t = c->c.top;
+       int w = c->c.width;
+       int h = c->c.height;
+       int fbw = pxp->fb.fmt.width;
+       int fbh = pxp->fb.fmt.height;
+
+       if (c->type != V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY)
+               return -EINVAL;
+
+       /* Constrain parameters to FB limits */
+       w = min(w, fbw);
+       w = max(w, PXP_MIN_PIX);
+       h = min(h, fbh);
+       h = max(h, PXP_MIN_PIX);
+       if ((l + w) > fbw)
+               l = 0;
+       if ((t + h) > fbh)
+               t = 0;
+
+       /* Round up values to PxP pixel block */
+       l = roundup(l, PXP_MIN_PIX);
+       t = roundup(t, PXP_MIN_PIX);
+       w = roundup(w, PXP_MIN_PIX);
+       h = roundup(h, PXP_MIN_PIX);
+
+       pxp->pxp_conf.proc_data.drect.left = l;
+       pxp->pxp_conf.proc_data.drect.top = t;
+       pxp->pxp_conf.proc_data.drect.width = w;
+       pxp->pxp_conf.proc_data.drect.height = h;
+
+       return 0;
+}
+
+static int pxp_queryctrl(struct file *file, void *priv,
+                        struct v4l2_queryctrl *qc)
+{
+       int i;
+
+       for (i = 0; i < ARRAY_SIZE(pxp_controls); i++)
+               if (qc->id && qc->id == pxp_controls[i].id) {
+                       memcpy(qc, &(pxp_controls[i]), sizeof(*qc));
+                       return 0;
+               }
+
+       return -EINVAL;
+}
+
+static int pxp_g_ctrl(struct file *file, void *priv,
+                        struct v4l2_control *vc)
+{
+       int i;
+
+       struct pxps *pxp = video_get_drvdata(video_devdata(file));
+
+       for (i = 0; i < ARRAY_SIZE(pxp_controls); i++)
+               if (vc->id == pxp_controls[i].id)
+                       return pxp_get_cstate(pxp, vc);
+
+       return -EINVAL;
+}
+
+static int pxp_s_ctrl(struct file *file, void *priv,
+                        struct v4l2_control *vc)
+{
+       int i;
+       struct pxps *pxp = video_get_drvdata(video_devdata(file));
+
+       for (i = 0; i < ARRAY_SIZE(pxp_controls); i++)
+               if (vc->id == pxp_controls[i].id) {
+                       if (vc->value < pxp_controls[i].minimum ||
+                           vc->value > pxp_controls[i].maximum)
+                               return -ERANGE;
+                       return pxp_set_cstate(pxp, vc);
+               }
+
+       return -EINVAL;
+}
+
+void pxp_release(struct video_device *vfd)
+{
+       struct pxps *pxp = video_get_drvdata(vfd);
+
+       spin_lock(&pxp->lock);
+       video_device_release(vfd);
+       spin_unlock(&pxp->lock);
+}
+
+static int pxp_open(struct file *file)
+{
+       struct pxps *pxp = video_get_drvdata(video_devdata(file));
+       int ret = 0;
+
+       mutex_lock(&pxp->mutex);
+       pxp->users++;
+
+       if (pxp->users > 1) {
+               pxp->users--;
+               ret = -EBUSY;
+               goto out;
+       }
+out:
+       mutex_unlock(&pxp->mutex);
+       if (ret)
+               return ret;
+
+       ret = pxp_set_fbinfo(pxp);
+       if (ret) {
+               dev_err(&pxp->pdev->dev, "failed to call pxp_set_fbinfo\n");
+               return ret;
+       }
+
+       videobuf_queue_dma_contig_init(&pxp->s0_vbq,
+                               &pxp_vbq_ops,
+                               &pxp->pdev->dev,
+                               &pxp->lock,
+                               V4L2_BUF_TYPE_VIDEO_OUTPUT,
+                               V4L2_FIELD_NONE,
+                               sizeof(struct pxp_buffer),
+                               pxp,
+                               NULL);
+       dev_dbg(&pxp->pdev->dev, "call pxp_open\n");
+
+       return 0;
+}
+
+static int pxp_close(struct file *file)
+{
+       struct pxps *pxp = video_get_drvdata(video_devdata(file));
+
+       pxp_streamoff(file, NULL, V4L2_BUF_TYPE_VIDEO_OUTPUT);
+       videobuf_stop(&pxp->s0_vbq);
+       videobuf_mmap_free(&pxp->s0_vbq);
+       pxp->active = NULL;
+
+       mutex_lock(&pxp->mutex);
+       pxp->users--;
+       mutex_unlock(&pxp->mutex);
+
+       return 0;
+}
+
+static int pxp_mmap(struct file *file, struct vm_area_struct *vma)
+{
+       struct pxps *pxp = video_get_drvdata(video_devdata(file));
+       int ret;
+
+       ret = videobuf_mmap_mapper(&pxp->s0_vbq, vma);
+
+       return ret;
+}
+
+static const struct v4l2_file_operations pxp_fops = {
+       .owner          = THIS_MODULE,
+       .open           = pxp_open,
+       .release        = pxp_close,
+       .unlocked_ioctl = video_ioctl2,
+       .mmap           = pxp_mmap,
+};
+
+static const struct v4l2_ioctl_ops pxp_ioctl_ops = {
+       .vidioc_querycap                = pxp_querycap,
+
+       .vidioc_reqbufs                 = pxp_reqbufs,
+       .vidioc_querybuf                = pxp_querybuf,
+       .vidioc_qbuf                    = pxp_qbuf,
+       .vidioc_dqbuf                   = pxp_dqbuf,
+
+       .vidioc_streamon                = pxp_streamon,
+       .vidioc_streamoff               = pxp_streamoff,
+
+       .vidioc_enum_output             = pxp_enumoutput,
+       .vidioc_g_output                = pxp_g_output,
+       .vidioc_s_output                = pxp_s_output,
+
+       .vidioc_enum_fmt_vid_out        = pxp_enum_fmt_video_output,
+       .vidioc_try_fmt_vid_out         = pxp_try_fmt_video_output,
+       .vidioc_g_fmt_vid_out           = pxp_g_fmt_video_output,
+       .vidioc_s_fmt_vid_out           = pxp_s_fmt_video_output,
+
+       .vidioc_try_fmt_vid_out_overlay = pxp_try_fmt_output_overlay,
+       .vidioc_g_fmt_vid_out_overlay   = pxp_g_fmt_output_overlay,
+       .vidioc_s_fmt_vid_out_overlay   = pxp_s_fmt_output_overlay,
+
+       .vidioc_g_fbuf                  = pxp_g_fbuf,
+       .vidioc_s_fbuf                  = pxp_s_fbuf,
+
+       .vidioc_g_crop                  = pxp_g_crop,
+       .vidioc_s_crop                  = pxp_s_crop,
+
+       .vidioc_queryctrl               = pxp_queryctrl,
+       .vidioc_g_ctrl                  = pxp_g_ctrl,
+       .vidioc_s_ctrl                  = pxp_s_ctrl,
+};
+
+static const struct video_device pxp_template = {
+       .name                           = "PxP",
+       .vfl_type                       = V4L2_CAP_VIDEO_OUTPUT |
+                                               V4L2_CAP_VIDEO_OVERLAY |
+                                               V4L2_CAP_STREAMING,
+       .vfl_dir                        = VFL_DIR_TX,
+       .fops                           = &pxp_fops,
+       .release                        = pxp_release,
+       .minor                          = -1,
+       .ioctl_ops                      = &pxp_ioctl_ops,
+};
+
+static const struct of_device_id imx_pxpv4l2_dt_ids[] = {
+       { .compatible = "fsl,imx6sl-pxp-v4l2", },
+       { /* sentinel */ }
+};
+MODULE_DEVICE_TABLE(of, imx_pxpv4l2_dt_ids);
+
+static int pxp_probe(struct platform_device *pdev)
+{
+       struct pxps *pxp;
+       int err = 0;
+
+       pxp = kzalloc(sizeof(*pxp), GFP_KERNEL);
+       if (!pxp) {
+               dev_err(&pdev->dev, "failed to allocate control object\n");
+               err = -ENOMEM;
+               goto exit;
+       }
+
+       dev_set_drvdata(&pdev->dev, pxp);
+
+       INIT_LIST_HEAD(&pxp->outq);
+       spin_lock_init(&pxp->lock);
+       mutex_init(&pxp->mutex);
+
+       pxp->pdev = pdev;
+
+       pxp->vdev = video_device_alloc();
+       if (!pxp->vdev) {
+               dev_err(&pdev->dev, "video_device_alloc() failed\n");
+               err = -ENOMEM;
+               goto freeirq;
+       }
+
+       memcpy(pxp->vdev, &pxp_template, sizeof(pxp_template));
+       video_set_drvdata(pxp->vdev, pxp);
+
+       err = video_register_device(pxp->vdev, VFL_TYPE_GRABBER, video_nr);
+       if (err) {
+               dev_err(&pdev->dev, "failed to register video device\n");
+               goto freevdev;
+       }
+
+       dev_info(&pdev->dev, "initialized\n");
+
+exit:
+       return err;
+
+freevdev:
+       video_device_release(pxp->vdev);
+
+freeirq:
+       kfree(pxp);
+
+       return err;
+}
+
+static int pxp_remove(struct platform_device *pdev)
+{
+       struct pxps *pxp = platform_get_drvdata(pdev);
+
+       video_unregister_device(pxp->vdev);
+       video_device_release(pxp->vdev);
+
+       free_dma_buf(pxp, &pxp->outbuf);
+
+       kfree(pxp);
+
+       return 0;
+}
+
+static struct platform_driver pxp_driver = {
+       .driver         = {
+               .name   = PXP_DRIVER_NAME,
+               .of_match_table = of_match_ptr(imx_pxpv4l2_dt_ids),
+       },
+       .probe          = pxp_probe,
+       .remove         = pxp_remove,
+};
+
+module_platform_driver(pxp_driver);
+
+module_param(video_nr, int, 0444);
+MODULE_DESCRIPTION("MXC PxP V4L2 driver");
+MODULE_AUTHOR("Freescale Semiconductor, Inc.");
+MODULE_LICENSE("GPL");
diff --git a/drivers/media/platform/mxc/output/mxc_pxp_v4l2.h b/drivers/media/platform/mxc/output/mxc_pxp_v4l2.h
new file mode 100644 (file)
index 0000000..8abb4c1
--- /dev/null
@@ -0,0 +1,87 @@
+/*
+ * Copyright (C) 2010-2014 Freescale Semiconductor, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ *
+ */
+/*
+ * Based on STMP378X PxP driver
+ * Copyright 2008-2009 Embedded Alley Solutions, Inc All Rights Reserved.
+ */
+
+#ifndef        _MXC_PXP_V4L2_H
+#define        _MXC_PXP_V4L2_H
+
+#include <linux/dmaengine.h>
+#include <linux/pxp_dma.h>
+
+struct pxp_buffer {
+       /* Must be first! */
+       struct videobuf_buffer vb;
+
+       /* One descriptor per scatterlist (per frame) */
+       struct dma_async_tx_descriptor          *txd;
+
+       struct scatterlist                      sg[3];
+};
+
+struct dma_mem {
+       void *vaddr;
+       dma_addr_t paddr;
+       size_t size;
+};
+
+struct pxps {
+       struct platform_device *pdev;
+
+       spinlock_t lock;
+       struct mutex mutex;
+       int users;
+
+       struct video_device *vdev;
+
+       struct videobuf_queue s0_vbq;
+       struct pxp_buffer *active;
+       struct list_head outq;
+       struct pxp_channel      *pxp_channel[1];        /* We need 1 channel */
+       struct pxp_config_data pxp_conf;
+       struct dma_mem outbuf;
+
+       int output;
+
+       /* Current S0 configuration */
+       struct pxp_data_format *s0_fmt;
+
+       struct fb_info *fbi;
+       struct v4l2_framebuffer fb;
+
+       /* Output overlay support */
+       int overlay_state;
+       int global_alpha_state;
+       u8  global_alpha;
+       int s1_chromakey_state;
+       u32 s1_chromakey;
+
+       int fb_blank;
+};
+
+struct pxp_data_format {
+       char *name;
+       unsigned int bpp;
+       u32 fourcc;
+       enum v4l2_colorspace colorspace;
+};
+
+#endif
diff --git a/drivers/media/platform/mxc/output/mxc_vout.c b/drivers/media/platform/mxc/output/mxc_vout.c
new file mode 100644 (file)
index 0000000..bd7d1f0
--- /dev/null
@@ -0,0 +1,2265 @@
+/*
+ * Copyright (C) 2011-2013 Freescale Semiconductor, Inc. All Rights Reserved.
+ */
+
+/*
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+#include <linux/console.h>
+#include <linux/dma-mapping.h>
+#include <linux/init.h>
+#include <linux/ipu-v3.h>
+#include <linux/module.h>
+#include <linux/mxcfb.h>
+#include <linux/mxc_v4l2.h>
+#include <linux/platform_device.h>
+#include <linux/sched.h>
+#include <linux/types.h>
+#include <linux/videodev2.h>
+#include <linux/vmalloc.h>
+
+#include <media/videobuf-dma-contig.h>
+#include <media/v4l2-device.h>
+#include <media/v4l2-ioctl.h>
+
+#define UYVY_BLACK     (0x00800080)
+#define RGB_BLACK      (0x0)
+#define UV_BLACK       (0x80)
+#define Y_BLACK                (0x0)
+
+#define MAX_FB_NUM     6
+#define FB_BUFS                3
+#define VDOA_FB_BUFS   (FB_BUFS - 1)
+#define VALID_HEIGHT_1080P     (1080)
+#define FRAME_HEIGHT_1080P     (1088)
+#define FRAME_WIDTH_1080P      (1920)
+#define CHECK_TILED_1080P_DISPLAY(vout)        \
+       ((((vout)->task.input.format == IPU_PIX_FMT_TILED_NV12) ||      \
+              ((vout)->task.input.format == IPU_PIX_FMT_TILED_NV12F)) &&\
+              ((vout)->task.input.width == FRAME_WIDTH_1080P) &&       \
+              ((vout)->task.input.height == FRAME_HEIGHT_1080P) &&     \
+              ((vout)->task.input.crop.w == FRAME_WIDTH_1080P) &&      \
+              (((vout)->task.input.crop.h == FRAME_HEIGHT_1080P) ||    \
+              ((vout)->task.input.crop.h == VALID_HEIGHT_1080P)) &&    \
+              ((vout)->task.output.width == FRAME_WIDTH_1080P) &&      \
+              ((vout)->task.output.height == VALID_HEIGHT_1080P) &&    \
+              ((vout)->task.output.crop.w == FRAME_WIDTH_1080P) &&     \
+              ((vout)->task.output.crop.h == VALID_HEIGHT_1080P))
+#define CHECK_TILED_1080P_STREAM(vout) \
+       ((((vout)->task.input.format == IPU_PIX_FMT_TILED_NV12) ||      \
+              ((vout)->task.input.format == IPU_PIX_FMT_TILED_NV12F)) &&\
+              ((vout)->task.input.width == FRAME_WIDTH_1080P) &&       \
+              ((vout)->task.input.crop.w == FRAME_WIDTH_1080P) &&      \
+              ((vout)->task.input.height == FRAME_HEIGHT_1080P) &&     \
+              ((vout)->task.input.crop.h == FRAME_HEIGHT_1080P))
+#define IS_PLANAR_PIXEL_FORMAT(format) \
+       (format == IPU_PIX_FMT_NV12 ||          \
+           format == IPU_PIX_FMT_YUV420P2 ||   \
+           format == IPU_PIX_FMT_YUV420P ||    \
+           format == IPU_PIX_FMT_YVU420P ||    \
+           format == IPU_PIX_FMT_YUV422P ||    \
+           format == IPU_PIX_FMT_YVU422P ||    \
+           format == IPU_PIX_FMT_YUV444P)
+
+#define NSEC_PER_FRAME_30FPS           (33333333)
+
+struct mxc_vout_fb {
+       char *name;
+       int ipu_id;
+       struct v4l2_rect crop_bounds;
+       unsigned int disp_fmt;
+       bool disp_support_csc;
+       bool disp_support_windows;
+};
+
+struct dma_mem {
+       void *vaddr;
+       dma_addr_t paddr;
+       size_t size;
+};
+
+struct mxc_vout_output {
+       int open_cnt;
+       struct fb_info *fbi;
+       unsigned long fb_smem_start;
+       unsigned long fb_smem_len;
+       struct video_device *vfd;
+       struct mutex mutex;
+       struct mutex task_lock;
+       enum v4l2_buf_type type;
+
+       struct videobuf_queue vbq;
+       spinlock_t vbq_lock;
+
+       struct list_head queue_list;
+       struct list_head active_list;
+
+       struct v4l2_rect crop_bounds;
+       unsigned int disp_fmt;
+       struct mxcfb_pos win_pos;
+       bool disp_support_windows;
+       bool disp_support_csc;
+
+       bool fmt_init;
+       bool release;
+       bool linear_bypass_pp;
+       bool vdoa_1080p;
+       bool tiled_bypass_pp;
+       struct v4l2_rect in_rect;
+       struct ipu_task task;
+       struct ipu_task vdoa_task;
+       struct dma_mem vdoa_work;
+       struct dma_mem vdoa_output[VDOA_FB_BUFS];
+
+       bool timer_stop;
+       struct hrtimer timer;
+       struct workqueue_struct *v4l_wq;
+       struct work_struct disp_work;
+       unsigned long frame_count;
+       unsigned long vdi_frame_cnt;
+       ktime_t start_ktime;
+
+       int ctrl_rotate;
+       int ctrl_vflip;
+       int ctrl_hflip;
+
+       dma_addr_t disp_bufs[FB_BUFS];
+
+       struct videobuf_buffer *pre1_vb;
+       struct videobuf_buffer *pre2_vb;
+};
+
+struct mxc_vout_dev {
+       struct device   *dev;
+       struct v4l2_device v4l2_dev;
+       struct mxc_vout_output *out[MAX_FB_NUM];
+       int out_num;
+};
+
+/* Driver Configuration macros */
+#define VOUT_NAME              "mxc_vout"
+
+/* Variables configurable through module params*/
+static int debug;
+static int vdi_rate_double;
+static int video_nr = 16;
+
+/* Module parameters */
+module_param(video_nr, int, S_IRUGO);
+MODULE_PARM_DESC(video_nr, "video device numbers");
+module_param(debug, int, 0600);
+MODULE_PARM_DESC(debug, "Debug level (0-1)");
+module_param(vdi_rate_double, int, 0600);
+MODULE_PARM_DESC(vdi_rate_double, "vdi frame rate double on/off");
+
+static const struct v4l2_fmtdesc mxc_formats[] = {
+       {
+               .description = "RGB565",
+               .pixelformat = V4L2_PIX_FMT_RGB565,
+       },
+       {
+               .description = "BGR24",
+               .pixelformat = V4L2_PIX_FMT_BGR24,
+       },
+       {
+               .description = "RGB24",
+               .pixelformat = V4L2_PIX_FMT_RGB24,
+       },
+       {
+               .description = "RGB32",
+               .pixelformat = V4L2_PIX_FMT_RGB32,
+       },
+       {
+               .description = "BGR32",
+               .pixelformat = V4L2_PIX_FMT_BGR32,
+       },
+       {
+               .description = "NV12",
+               .pixelformat = V4L2_PIX_FMT_NV12,
+       },
+       {
+               .description = "UYVY",
+               .pixelformat = V4L2_PIX_FMT_UYVY,
+       },
+       {
+               .description = "YUYV",
+               .pixelformat = V4L2_PIX_FMT_YUYV,
+       },
+       {
+               .description = "YUV422 planar",
+               .pixelformat = V4L2_PIX_FMT_YUV422P,
+       },
+       {
+               .description = "YUV444",
+               .pixelformat = V4L2_PIX_FMT_YUV444,
+       },
+       {
+               .description = "YUV420",
+               .pixelformat = V4L2_PIX_FMT_YUV420,
+       },
+       {
+               .description = "YVU420",
+               .pixelformat = V4L2_PIX_FMT_YVU420,
+       },
+       {
+               .description = "TILED NV12P",
+               .pixelformat = IPU_PIX_FMT_TILED_NV12,
+       },
+       {
+               .description = "TILED NV12F",
+               .pixelformat = IPU_PIX_FMT_TILED_NV12F,
+       },
+       {
+               .description = "YUV444 planar",
+               .pixelformat = IPU_PIX_FMT_YUV444P,
+       },
+};
+
+#define NUM_MXC_VOUT_FORMATS (ARRAY_SIZE(mxc_formats))
+
+#define DEF_INPUT_WIDTH                320
+#define DEF_INPUT_HEIGHT       240
+
+static int mxc_vidioc_streamoff(struct file *file, void *fh,
+                                       enum v4l2_buf_type i);
+
+static struct mxc_vout_fb g_fb_setting[MAX_FB_NUM];
+static int config_disp_output(struct mxc_vout_output *vout);
+static void release_disp_output(struct mxc_vout_output *vout);
+
+static unsigned int get_frame_size(struct mxc_vout_output *vout)
+{
+       unsigned int size;
+
+       if (IPU_PIX_FMT_TILED_NV12 == vout->task.input.format)
+               size = TILED_NV12_FRAME_SIZE(vout->task.input.width,
+                                       vout->task.input.height);
+       else if (IPU_PIX_FMT_TILED_NV12F == vout->task.input.format) {
+               size = TILED_NV12_FRAME_SIZE(vout->task.input.width,
+                                       vout->task.input.height/2);
+               size *= 2;
+       } else
+               size = vout->task.input.width * vout->task.input.height *
+                               fmt_to_bpp(vout->task.input.format)/8;
+
+       return size;
+}
+
+static void free_dma_buf(struct mxc_vout_output *vout, struct dma_mem *buf)
+{
+       dma_free_coherent(vout->vbq.dev, buf->size, buf->vaddr, buf->paddr);
+       v4l2_dbg(1, debug, vout->vfd->v4l2_dev,
+                       "free dma size:0x%x, paddr:0x%x\n",
+                       buf->size, buf->paddr);
+       memset(buf, 0, sizeof(*buf));
+}
+
+static int alloc_dma_buf(struct mxc_vout_output *vout, struct dma_mem *buf)
+{
+
+       buf->vaddr = dma_alloc_coherent(vout->vbq.dev, buf->size, &buf->paddr,
+                                               GFP_DMA | GFP_KERNEL);
+       if (!buf->vaddr) {
+               v4l2_err(vout->vfd->v4l2_dev,
+                       "cannot get dma buf size:0x%x\n", buf->size);
+               return -ENOMEM;
+       }
+       v4l2_dbg(1, debug, vout->vfd->v4l2_dev,
+               "alloc dma buf size:0x%x, paddr:0x%x\n", buf->size, buf->paddr);
+       return 0;
+}
+
+static ipu_channel_t get_ipu_channel(struct fb_info *fbi)
+{
+       ipu_channel_t ipu_ch = CHAN_NONE;
+       mm_segment_t old_fs;
+
+       if (fbi->fbops->fb_ioctl) {
+               old_fs = get_fs();
+               set_fs(KERNEL_DS);
+               fbi->fbops->fb_ioctl(fbi, MXCFB_GET_FB_IPU_CHAN,
+                               (unsigned long)&ipu_ch);
+               set_fs(old_fs);
+       }
+
+       return ipu_ch;
+}
+
+static unsigned int get_ipu_fmt(struct fb_info *fbi)
+{
+       mm_segment_t old_fs;
+       unsigned int fb_fmt;
+
+       if (fbi->fbops->fb_ioctl) {
+               old_fs = get_fs();
+               set_fs(KERNEL_DS);
+               fbi->fbops->fb_ioctl(fbi, MXCFB_GET_DIFMT,
+                               (unsigned long)&fb_fmt);
+               set_fs(old_fs);
+       }
+
+       return fb_fmt;
+}
+
+static void update_display_setting(void)
+{
+       int i;
+       struct fb_info *fbi;
+       struct v4l2_rect bg_crop_bounds[2];
+
+       for (i = 0; i < num_registered_fb; i++) {
+               fbi = registered_fb[i];
+
+               memset(&g_fb_setting[i], 0, sizeof(struct mxc_vout_fb));
+
+               if (!strncmp(fbi->fix.id, "DISP3", 5))
+                       g_fb_setting[i].ipu_id = 0;
+               else
+                       g_fb_setting[i].ipu_id = 1;
+
+               g_fb_setting[i].name = fbi->fix.id;
+               g_fb_setting[i].crop_bounds.left = 0;
+               g_fb_setting[i].crop_bounds.top = 0;
+               g_fb_setting[i].crop_bounds.width = fbi->var.xres;
+               g_fb_setting[i].crop_bounds.height = fbi->var.yres;
+               g_fb_setting[i].disp_fmt = get_ipu_fmt(fbi);
+
+               if (get_ipu_channel(fbi) == MEM_BG_SYNC) {
+                       bg_crop_bounds[g_fb_setting[i].ipu_id] =
+                               g_fb_setting[i].crop_bounds;
+                       g_fb_setting[i].disp_support_csc = true;
+               } else if (get_ipu_channel(fbi) == MEM_FG_SYNC) {
+                       g_fb_setting[i].disp_support_csc = true;
+                       g_fb_setting[i].disp_support_windows = true;
+               }
+       }
+
+       for (i = 0; i < num_registered_fb; i++) {
+               fbi = registered_fb[i];
+
+               if (get_ipu_channel(fbi) == MEM_FG_SYNC)
+                       g_fb_setting[i].crop_bounds =
+                               bg_crop_bounds[g_fb_setting[i].ipu_id];
+       }
+}
+
+/* called after g_fb_setting filled by update_display_setting */
+static int update_setting_from_fbi(struct mxc_vout_output *vout,
+                       struct fb_info *fbi)
+{
+       int i;
+       bool found = false;
+
+       for (i = 0; i < MAX_FB_NUM; i++) {
+               if (g_fb_setting[i].name) {
+                       if (!strcmp(fbi->fix.id, g_fb_setting[i].name)) {
+                               vout->crop_bounds = g_fb_setting[i].crop_bounds;
+                               vout->disp_fmt = g_fb_setting[i].disp_fmt;
+                               vout->disp_support_csc =
+                                       g_fb_setting[i].disp_support_csc;
+                               vout->disp_support_windows =
+                                       g_fb_setting[i].disp_support_windows;
+                               found = true;
+                               break;
+                       }
+               }
+       }
+
+       if (!found) {
+               v4l2_err(vout->vfd->v4l2_dev, "can not find output\n");
+               return -EINVAL;
+       }
+       strlcpy(vout->vfd->name, fbi->fix.id, sizeof(vout->vfd->name));
+
+       memset(&vout->task, 0, sizeof(struct ipu_task));
+
+       vout->task.input.width = DEF_INPUT_WIDTH;
+       vout->task.input.height = DEF_INPUT_HEIGHT;
+       vout->task.input.crop.pos.x = 0;
+       vout->task.input.crop.pos.y = 0;
+       vout->task.input.crop.w = DEF_INPUT_WIDTH;
+       vout->task.input.crop.h = DEF_INPUT_HEIGHT;
+
+       vout->task.output.width = vout->crop_bounds.width;
+       vout->task.output.height = vout->crop_bounds.height;
+       vout->task.output.crop.pos.x = 0;
+       vout->task.output.crop.pos.y = 0;
+       vout->task.output.crop.w = vout->crop_bounds.width;
+       vout->task.output.crop.h = vout->crop_bounds.height;
+       if (colorspaceofpixel(vout->disp_fmt) == YUV_CS)
+               vout->task.output.format = IPU_PIX_FMT_UYVY;
+       else
+               vout->task.output.format = IPU_PIX_FMT_RGB565;
+
+       return 0;
+}
+
+static inline unsigned long get_jiffies(struct timeval *t)
+{
+       struct timeval cur;
+
+       if (t->tv_usec >= 1000000) {
+               t->tv_sec += t->tv_usec / 1000000;
+               t->tv_usec = t->tv_usec % 1000000;
+       }
+
+       do_gettimeofday(&cur);
+       if ((t->tv_sec < cur.tv_sec)
+           || ((t->tv_sec == cur.tv_sec) && (t->tv_usec < cur.tv_usec)))
+               return jiffies;
+
+       if (t->tv_usec < cur.tv_usec) {
+               cur.tv_sec = t->tv_sec - cur.tv_sec - 1;
+               cur.tv_usec = t->tv_usec + 1000000 - cur.tv_usec;
+       } else {
+               cur.tv_sec = t->tv_sec - cur.tv_sec;
+               cur.tv_usec = t->tv_usec - cur.tv_usec;
+       }
+
+       return jiffies + timeval_to_jiffies(&cur);
+}
+
+static bool deinterlace_3_field(struct mxc_vout_output *vout)
+{
+       return (vout->task.input.deinterlace.enable &&
+               (vout->task.input.deinterlace.motion != HIGH_MOTION));
+}
+
+static int set_field_fmt(struct mxc_vout_output *vout, enum v4l2_field field)
+{
+       struct ipu_deinterlace *deinterlace = &vout->task.input.deinterlace;
+
+       switch (field) {
+       /* Images are in progressive format, not interlaced */
+       case V4L2_FIELD_NONE:
+       case V4L2_FIELD_ANY:
+               deinterlace->enable = false;
+               deinterlace->field_fmt = 0;
+               v4l2_dbg(1, debug, vout->vfd->v4l2_dev, "Progressive frame.\n");
+               break;
+       case V4L2_FIELD_INTERLACED_TB:
+               v4l2_dbg(1, debug, vout->vfd->v4l2_dev,
+                               "Enable deinterlace TB.\n");
+               deinterlace->enable = true;
+               deinterlace->field_fmt = IPU_DEINTERLACE_FIELD_TOP;
+               break;
+       case V4L2_FIELD_INTERLACED_BT:
+               v4l2_dbg(1, debug, vout->vfd->v4l2_dev,
+                               "Enable deinterlace BT.\n");
+               deinterlace->enable = true;
+               deinterlace->field_fmt = IPU_DEINTERLACE_FIELD_BOTTOM;
+               break;
+       default:
+               v4l2_err(vout->vfd->v4l2_dev,
+                       "field format:%d not supported yet!\n", field);
+               return -EINVAL;
+       }
+
+       if (IPU_PIX_FMT_TILED_NV12F == vout->task.input.format) {
+               v4l2_dbg(1, debug, vout->vfd->v4l2_dev,
+                               "tiled fmt enable deinterlace.\n");
+               deinterlace->enable = true;
+       }
+
+       if (deinterlace->enable && vdi_rate_double)
+               deinterlace->field_fmt |= IPU_DEINTERLACE_RATE_EN;
+
+       return 0;
+}
+
+static bool is_pp_bypass(struct mxc_vout_output *vout)
+{
+       if ((IPU_PIX_FMT_TILED_NV12 == vout->task.input.format) ||
+               (IPU_PIX_FMT_TILED_NV12F == vout->task.input.format))
+               return false;
+       if ((vout->task.input.width == vout->task.output.width) &&
+               (vout->task.input.height == vout->task.output.height) &&
+               (vout->task.input.crop.w == vout->task.output.crop.w) &&
+               (vout->task.input.crop.h == vout->task.output.crop.h) &&
+               (vout->task.output.rotate < IPU_ROTATE_HORIZ_FLIP) &&
+               !vout->task.input.deinterlace.enable) {
+               if (vout->disp_support_csc)
+                       return true;
+               else if (!need_csc(vout->task.input.format, vout->disp_fmt))
+                       return true;
+       /*
+        * input crop show to full output which can show based on
+        * xres_virtual/yres_virtual
+        */
+       } else if ((vout->task.input.crop.w == vout->task.output.crop.w) &&
+                       (vout->task.output.crop.w == vout->task.output.width) &&
+                       (vout->task.input.crop.h == vout->task.output.crop.h) &&
+                       (vout->task.output.crop.h ==
+                               vout->task.output.height) &&
+                       (vout->task.output.rotate < IPU_ROTATE_HORIZ_FLIP) &&
+                       !vout->task.input.deinterlace.enable) {
+               if (vout->disp_support_csc)
+                       return true;
+               else if (!need_csc(vout->task.input.format, vout->disp_fmt))
+                       return true;
+       }
+       return false;
+}
+
+static void setup_buf_timer(struct mxc_vout_output *vout,
+                       struct videobuf_buffer *vb)
+{
+       ktime_t expiry_time, now;
+
+       /* if timestamp is 0, then default to 30fps */
+       if ((vb->ts.tv_sec == 0) && (vb->ts.tv_usec == 0))
+               expiry_time = ktime_add_ns(vout->start_ktime,
+                               NSEC_PER_FRAME_30FPS * vout->frame_count);
+       else
+               expiry_time = timeval_to_ktime(vb->ts);
+
+       now = hrtimer_cb_get_time(&vout->timer);
+       if ((now.tv64 > expiry_time.tv64)) {
+               v4l2_dbg(1, debug, vout->vfd->v4l2_dev,
+                               "warning: timer timeout already expired.\n");
+               expiry_time = now;
+       }
+
+       hrtimer_start(&vout->timer, expiry_time, HRTIMER_MODE_ABS);
+
+       v4l2_dbg(1, debug, vout->vfd->v4l2_dev, "timer handler next "
+               "schedule: %lldnsecs\n", expiry_time.tv64);
+}
+
+static int show_buf(struct mxc_vout_output *vout, int idx,
+       struct ipu_pos *ipos)
+{
+       struct fb_info *fbi = vout->fbi;
+       struct fb_var_screeninfo var;
+       int ret;
+       u32 fb_base = 0;
+
+       memcpy(&var, &fbi->var, sizeof(var));
+
+       if (vout->linear_bypass_pp || vout->tiled_bypass_pp) {
+               /*
+                * crack fb base
+                * NOTE: should not do other fb operation during v4l2
+                */
+               console_lock();
+               fb_base = fbi->fix.smem_start;
+               fbi->fix.smem_start = vout->task.output.paddr;
+               fbi->var.yoffset = ipos->y + 1;
+               var.xoffset = ipos->x;
+               var.yoffset = ipos->y;
+               var.vmode |= FB_VMODE_YWRAP;
+               ret = fb_pan_display(fbi, &var);
+               fbi->fix.smem_start = fb_base;
+               console_unlock();
+       } else {
+               console_lock();
+               var.yoffset = idx * fbi->var.yres;
+               var.vmode &= ~FB_VMODE_YWRAP;
+               ret = fb_pan_display(fbi, &var);
+               console_unlock();
+       }
+
+       return ret;
+}
+
+static void disp_work_func(struct work_struct *work)
+{
+       struct mxc_vout_output *vout =
+               container_of(work, struct mxc_vout_output, disp_work);
+       struct videobuf_queue *q = &vout->vbq;
+       struct videobuf_buffer *vb, *vb_next = NULL;
+       unsigned long flags = 0;
+       struct ipu_pos ipos;
+       int ret = 0;
+       u32 in_fmt = 0;
+       u32 vdi_cnt = 0;
+       u32 vdi_frame;
+       u32 index = 0;
+       u32 ocrop_h = 0;
+       u32 o_height = 0;
+       u32 tiled_interlaced = 0;
+       bool tiled_fmt = false;
+
+       v4l2_dbg(1, debug, vout->vfd->v4l2_dev, "disp work begin one frame\n");
+
+       spin_lock_irqsave(q->irqlock, flags);
+
+       if (list_empty(&vout->active_list)) {
+               v4l2_warn(vout->vfd->v4l2_dev,
+                       "no entry in active_list, should not be here\n");
+               spin_unlock_irqrestore(q->irqlock, flags);
+               return;
+       }
+
+       vb = list_first_entry(&vout->active_list,
+                       struct videobuf_buffer, queue);
+       ret = set_field_fmt(vout, vb->field);
+       if (ret < 0) {
+               spin_unlock_irqrestore(q->irqlock, flags);
+               return;
+       }
+       if (deinterlace_3_field(vout)) {
+               if (list_is_singular(&vout->active_list)) {
+                       if (list_empty(&vout->queue_list)) {
+                               vout->timer_stop = true;
+                               spin_unlock_irqrestore(q->irqlock, flags);
+                               v4l2_warn(vout->vfd->v4l2_dev,
+                                       "no enough entry for 3 fields "
+                                       "deinterlacer\n");
+                               return;
+                       }
+
+                       /*
+                        * We need to use the next vb even if it is
+                        * not on the active list.
+                        */
+                       vb_next = list_first_entry(&vout->queue_list,
+                                       struct videobuf_buffer, queue);
+               } else
+                       vb_next = list_first_entry(vout->active_list.next,
+                                               struct videobuf_buffer, queue);
+               v4l2_dbg(1, debug, vout->vfd->v4l2_dev,
+                       "cur field_fmt:%d, next field_fmt:%d.\n",
+                       vb->field, vb_next->field);
+               /* repeat the last field during field format changing */
+               if ((vb->field != vb_next->field) &&
+                       (vb_next->field != V4L2_FIELD_NONE))
+                       vb_next = vb;
+       }
+
+       spin_unlock_irqrestore(q->irqlock, flags);
+
+vdi_frame_rate_double:
+       mutex_lock(&vout->task_lock);
+
+       v4l2_dbg(1, debug, vout->vfd->v4l2_dev,
+               "v4l2 frame_cnt:%ld, vb_field:%d, fmt:%d\n",
+               vout->frame_count, vb->field,
+               vout->task.input.deinterlace.field_fmt);
+       if (vb->memory == V4L2_MEMORY_USERPTR)
+               vout->task.input.paddr = vb->baddr;
+       else
+               vout->task.input.paddr = videobuf_to_dma_contig(vb);
+
+       if (vout->task.input.deinterlace.field_fmt & IPU_DEINTERLACE_RATE_EN)
+               index = vout->vdi_frame_cnt % FB_BUFS;
+       else
+               index = vout->frame_count % FB_BUFS;
+       if (vout->linear_bypass_pp) {
+               vout->task.output.paddr = vout->task.input.paddr;
+               ipos.x = vout->task.input.crop.pos.x;
+               ipos.y = vout->task.input.crop.pos.y;
+       } else {
+               if (deinterlace_3_field(vout)) {
+                       if (vb->memory == V4L2_MEMORY_USERPTR)
+                               vout->task.input.paddr_n = vb_next->baddr;
+                       else
+                               vout->task.input.paddr_n =
+                                       videobuf_to_dma_contig(vb_next);
+               }
+               vout->task.output.paddr = vout->disp_bufs[index];
+               if (vout->vdoa_1080p) {
+                       o_height =  vout->task.output.height;
+                       ocrop_h = vout->task.output.crop.h;
+                       vout->task.output.height = FRAME_HEIGHT_1080P;
+                       vout->task.output.crop.h = FRAME_HEIGHT_1080P;
+               }
+               tiled_fmt =
+                       (IPU_PIX_FMT_TILED_NV12 == vout->task.input.format) ||
+                       (IPU_PIX_FMT_TILED_NV12F == vout->task.input.format);
+               if (vout->tiled_bypass_pp) {
+                       ipos.x = vout->task.input.crop.pos.x;
+                       ipos.y = vout->task.input.crop.pos.y;
+               } else if (tiled_fmt) {
+                       vout->vdoa_task.input.paddr = vout->task.input.paddr;
+                       if (deinterlace_3_field(vout))
+                               vout->vdoa_task.input.paddr_n =
+                                               vout->task.input.paddr_n;
+                       vout->vdoa_task.output.paddr = vout->vdoa_work.paddr;
+                       ret = ipu_queue_task(&vout->vdoa_task);
+                       if (ret < 0) {
+                               mutex_unlock(&vout->task_lock);
+                               goto err;
+                       }
+                       vout->task.input.paddr = vout->vdoa_task.output.paddr;
+                       in_fmt = vout->task.input.format;
+                       vout->task.input.format = vout->vdoa_task.output.format;
+                       if (vout->task.input.deinterlace.enable) {
+                               tiled_interlaced = 1;
+                               vout->task.input.deinterlace.enable = 0;
+                       }
+                       v4l2_dbg(1, debug, vout->vfd->v4l2_dev,
+                                       "tiled queue task\n");
+               }
+               ret = ipu_queue_task(&vout->task);
+               if ((!vout->tiled_bypass_pp) && tiled_fmt)
+                       vout->task.input.format = in_fmt;
+               if (tiled_interlaced)
+                       vout->task.input.deinterlace.enable = 1;
+               if (ret < 0) {
+                       mutex_unlock(&vout->task_lock);
+                       goto err;
+               }
+               if (vout->vdoa_1080p) {
+                       vout->task.output.crop.h = ocrop_h;
+                       vout->task.output.height = o_height;
+               }
+       }
+
+       mutex_unlock(&vout->task_lock);
+
+       ret = show_buf(vout, index, &ipos);
+       if (ret < 0)
+               v4l2_dbg(1, debug, vout->vfd->v4l2_dev,
+                       "show buf with ret %d\n", ret);
+
+       if (vout->task.input.deinterlace.field_fmt & IPU_DEINTERLACE_RATE_EN) {
+               vdi_frame = vout->task.input.deinterlace.field_fmt
+                               & IPU_DEINTERLACE_RATE_FRAME1;
+               if (vdi_frame)
+                       vout->task.input.deinterlace.field_fmt &=
+                       ~IPU_DEINTERLACE_RATE_FRAME1;
+               else
+                       vout->task.input.deinterlace.field_fmt |=
+                       IPU_DEINTERLACE_RATE_FRAME1;
+               vout->vdi_frame_cnt++;
+               vdi_cnt++;
+               if (vdi_cnt < IPU_DEINTERLACE_MAX_FRAME)
+                       goto vdi_frame_rate_double;
+       }
+       spin_lock_irqsave(q->irqlock, flags);
+
+       list_del(&vb->queue);
+
+       /*
+        * The videobuf before the last one has been shown. Set
+        * VIDEOBUF_DONE state here to avoid tearing issue in ic bypass
+        * case, which makes sure a buffer being shown will not be
+        * dequeued to be overwritten. It also brings side-effect that
+        * the last 2 buffers can not be dequeued correctly, apps need
+        * to take care of it.
+        */
+       if (vout->pre2_vb) {
+               vout->pre2_vb->state = VIDEOBUF_DONE;
+               wake_up_interruptible(&vout->pre2_vb->done);
+               vout->pre2_vb = NULL;
+       }
+
+       if (vout->linear_bypass_pp) {
+               vout->pre2_vb = vout->pre1_vb;
+               vout->pre1_vb = vb;
+       } else {
+               if (vout->pre1_vb) {
+                       vout->pre1_vb->state = VIDEOBUF_DONE;
+                       wake_up_interruptible(&vout->pre1_vb->done);
+                       vout->pre1_vb = NULL;
+               }
+               vb->state = VIDEOBUF_DONE;
+               wake_up_interruptible(&vb->done);
+       }
+
+       vout->frame_count++;
+
+       /* pick next queue buf to setup timer */
+       if (list_empty(&vout->queue_list))
+               vout->timer_stop = true;
+       else {
+               vb = list_first_entry(&vout->queue_list,
+                               struct videobuf_buffer, queue);
+               setup_buf_timer(vout, vb);
+       }
+
+       spin_unlock_irqrestore(q->irqlock, flags);
+
+       v4l2_dbg(1, debug, vout->vfd->v4l2_dev, "disp work finish one frame\n");
+
+       return;
+err:
+       v4l2_err(vout->vfd->v4l2_dev, "display work fail ret = %d\n", ret);
+       vout->timer_stop = true;
+       vb->state = VIDEOBUF_ERROR;
+       return;
+}
+
+static enum hrtimer_restart mxc_vout_timer_handler(struct hrtimer *timer)
+{
+       struct mxc_vout_output *vout = container_of(timer,
+                                                   struct mxc_vout_output,
+                                                   timer);
+       struct videobuf_queue *q = &vout->vbq;
+       struct videobuf_buffer *vb;
+       unsigned long flags = 0;
+
+       spin_lock_irqsave(q->irqlock, flags);
+
+       /*
+        * put first queued entry into active, if previous entry did not
+        * finish, setup current entry's timer again.
+        */
+       if (list_empty(&vout->queue_list)) {
+               spin_unlock_irqrestore(q->irqlock, flags);
+               return HRTIMER_NORESTART;
+       }
+
+       /* move videobuf from queued list to active list */
+       vb = list_first_entry(&vout->queue_list,
+                       struct videobuf_buffer, queue);
+       list_del(&vb->queue);
+       list_add_tail(&vb->queue, &vout->active_list);
+
+       if (queue_work(vout->v4l_wq, &vout->disp_work) == 0) {
+               v4l2_warn(vout->vfd->v4l2_dev,
+               "disp work was in queue already, queue buf again next time\n");
+               list_del(&vb->queue);
+               list_add(&vb->queue, &vout->queue_list);
+               spin_unlock_irqrestore(q->irqlock, flags);
+               return HRTIMER_NORESTART;
+       }
+
+       vb->state = VIDEOBUF_ACTIVE;
+
+       spin_unlock_irqrestore(q->irqlock, flags);
+
+       return HRTIMER_NORESTART;
+}
+
+/* Video buffer call backs */
+
+/*
+ * Buffer setup function is called by videobuf layer when REQBUF ioctl is
+ * called. This is used to setup buffers and return size and count of
+ * buffers allocated. After the call to this buffer, videobuf layer will
+ * setup buffer queue depending on the size and count of buffers
+ */
+static int mxc_vout_buffer_setup(struct videobuf_queue *q, unsigned int *count,
+                         unsigned int *size)
+{
+       struct mxc_vout_output *vout = q->priv_data;
+       unsigned int frame_size;
+
+       if (!vout)
+               return -EINVAL;
+
+       if (V4L2_BUF_TYPE_VIDEO_OUTPUT != q->type)
+               return -EINVAL;
+
+       frame_size = get_frame_size(vout);
+       *size = PAGE_ALIGN(frame_size);
+
+       return 0;
+}
+
+/*
+ * This function will be called when VIDIOC_QBUF ioctl is called.
+ * It prepare buffers before give out for the display. This function
+ * converts user space virtual address into physical address if userptr memory
+ * exchange mechanism is used.
+ */
+static int mxc_vout_buffer_prepare(struct videobuf_queue *q,
+                           struct videobuf_buffer *vb,
+                           enum v4l2_field field)
+{
+       vb->state = VIDEOBUF_PREPARED;
+       return 0;
+}
+
+/*
+ * Buffer queue funtion will be called from the videobuf layer when _QBUF
+ * ioctl is called. It is used to enqueue buffer, which is ready to be
+ * displayed.
+ * This function is protected by q->irqlock.
+ */
+static void mxc_vout_buffer_queue(struct videobuf_queue *q,
+                         struct videobuf_buffer *vb)
+{
+       struct mxc_vout_output *vout = q->priv_data;
+       struct videobuf_buffer *active_vb;
+
+       list_add_tail(&vb->queue, &vout->queue_list);
+       vb->state = VIDEOBUF_QUEUED;
+
+       if (vout->timer_stop) {
+               if (deinterlace_3_field(vout) &&
+                       !list_empty(&vout->active_list)) {
+                       active_vb = list_first_entry(&vout->active_list,
+                                       struct videobuf_buffer, queue);
+                       setup_buf_timer(vout, active_vb);
+               } else {
+                       setup_buf_timer(vout, vb);
+               }
+               vout->timer_stop = false;
+       }
+}
+
+/*
+ * Buffer release function is called from videobuf layer to release buffer
+ * which are already allocated
+ */
+static void mxc_vout_buffer_release(struct videobuf_queue *q,
+                           struct videobuf_buffer *vb)
+{
+       vb->state = VIDEOBUF_NEEDS_INIT;
+}
+
+static int mxc_vout_mmap(struct file *file, struct vm_area_struct *vma)
+{
+       int ret;
+       struct mxc_vout_output *vout = file->private_data;
+
+       if (!vout)
+               return -ENODEV;
+
+       ret = videobuf_mmap_mapper(&vout->vbq, vma);
+       if (ret < 0)
+               v4l2_err(vout->vfd->v4l2_dev,
+                               "offset invalid [offset=0x%lx]\n",
+                               (vma->vm_pgoff << PAGE_SHIFT));
+
+       return ret;
+}
+
+static int mxc_vout_release(struct file *file)
+{
+       unsigned int ret = 0;
+       struct videobuf_queue *q;
+       struct mxc_vout_output *vout = file->private_data;
+
+       if (!vout)
+               return 0;
+
+       if (--vout->open_cnt == 0) {
+               q = &vout->vbq;
+               if (q->streaming)
+                       mxc_vidioc_streamoff(file, vout, vout->type);
+               else {
+                       release_disp_output(vout);
+                       videobuf_queue_cancel(q);
+               }
+               destroy_workqueue(vout->v4l_wq);
+               ret = videobuf_mmap_free(q);
+       }
+
+       return ret;
+}
+
+static int mxc_vout_open(struct file *file)
+{
+       struct mxc_vout_output *vout = NULL;
+       int ret = 0;
+
+       vout = video_drvdata(file);
+
+       if (vout == NULL)
+               return -ENODEV;
+
+       if (vout->open_cnt++ == 0) {
+               vout->ctrl_rotate = 0;
+               vout->ctrl_vflip = 0;
+               vout->ctrl_hflip = 0;
+               update_display_setting();
+               ret = update_setting_from_fbi(vout, vout->fbi);
+               if (ret < 0)
+                       goto err;
+
+               vout->v4l_wq = create_singlethread_workqueue("v4l2q");
+               if (!vout->v4l_wq) {
+                       v4l2_err(vout->vfd->v4l2_dev,
+                                       "Could not create work queue\n");
+                       ret = -ENOMEM;
+                       goto err;
+               }
+
+               INIT_WORK(&vout->disp_work, disp_work_func);
+
+               INIT_LIST_HEAD(&vout->queue_list);
+               INIT_LIST_HEAD(&vout->active_list);
+
+               vout->fmt_init = false;
+               vout->frame_count = 0;
+               vout->vdi_frame_cnt = 0;
+
+               vout->win_pos.x = 0;
+               vout->win_pos.y = 0;
+               vout->release = true;
+       }
+
+       file->private_data = vout;
+
+err:
+       return ret;
+}
+
+/*
+ * V4L2 ioctls
+ */
+static int mxc_vidioc_querycap(struct file *file, void *fh,
+               struct v4l2_capability *cap)
+{
+       struct mxc_vout_output *vout = fh;
+
+       strlcpy(cap->driver, VOUT_NAME, sizeof(cap->driver));
+       strlcpy(cap->card, vout->vfd->name, sizeof(cap->card));
+       cap->bus_info[0] = '\0';
+       cap->capabilities = V4L2_CAP_STREAMING | V4L2_CAP_VIDEO_OUTPUT;
+
+       return 0;
+}
+
+static int mxc_vidioc_enum_fmt_vid_out(struct file *file, void *fh,
+                       struct v4l2_fmtdesc *fmt)
+{
+       if (fmt->index >= NUM_MXC_VOUT_FORMATS)
+               return -EINVAL;
+
+       strlcpy(fmt->description, mxc_formats[fmt->index].description,
+                       sizeof(fmt->description));
+       fmt->pixelformat = mxc_formats[fmt->index].pixelformat;
+
+       return 0;
+}
+
+static int mxc_vidioc_g_fmt_vid_out(struct file *file, void *fh,
+                       struct v4l2_format *f)
+{
+       struct mxc_vout_output *vout = fh;
+       struct v4l2_rect rect;
+
+       f->fmt.pix.width = vout->task.input.width;
+       f->fmt.pix.height = vout->task.input.height;
+       f->fmt.pix.pixelformat = vout->task.input.format;
+       f->fmt.pix.sizeimage = get_frame_size(vout);
+
+       if (f->fmt.pix.priv) {
+               rect.left = vout->task.input.crop.pos.x;
+               rect.top = vout->task.input.crop.pos.y;
+               rect.width = vout->task.input.crop.w;
+               rect.height = vout->task.input.crop.h;
+               if (copy_to_user((void __user *)f->fmt.pix.priv,
+                               &rect, sizeof(rect)))
+                       return -EFAULT;
+       }
+       v4l2_dbg(1, debug, vout->vfd->v4l2_dev,
+                       "frame_size:0x%x, pix_fmt:0x%x\n",
+                       f->fmt.pix.sizeimage,
+                       vout->task.input.format);
+
+       return 0;
+}
+
+static inline int ipu_try_task(struct mxc_vout_output *vout)
+{
+       int ret;
+       struct ipu_task *task = &vout->task;
+
+again:
+       ret = ipu_check_task(task);
+       if (ret != IPU_CHECK_OK) {
+               if (ret > IPU_CHECK_ERR_MIN) {
+                       if (ret == IPU_CHECK_ERR_SPLIT_INPUTW_OVER ||
+                           ret == IPU_CHECK_ERR_W_DOWNSIZE_OVER) {
+                               task->input.crop.w -= 8;
+                               goto again;
+                       }
+                       if (ret == IPU_CHECK_ERR_SPLIT_INPUTH_OVER ||
+                           ret == IPU_CHECK_ERR_H_DOWNSIZE_OVER) {
+                               task->input.crop.h -= 8;
+                               goto again;
+                       }
+                       if (ret == IPU_CHECK_ERR_SPLIT_OUTPUTW_OVER) {
+                               if (vout->disp_support_windows) {
+                                       task->output.width -= 8;
+                                       task->output.crop.w =
+                                               task->output.width;
+                               } else
+                                       task->output.crop.w -= 8;
+                               goto again;
+                       }
+                       if (ret == IPU_CHECK_ERR_SPLIT_OUTPUTH_OVER) {
+                               if (vout->disp_support_windows) {
+                                       task->output.height -= 8;
+                                       task->output.crop.h =
+                                               task->output.height;
+                               } else
+                                       task->output.crop.h -= 8;
+                               goto again;
+                       }
+                       ret = -EINVAL;
+               }
+       } else
+               ret = 0;
+
+       return ret;
+}
+
+static inline int vdoaipu_try_task(struct mxc_vout_output *vout)
+{
+       int ret;
+       int is_1080p_stream;
+       size_t size;
+       struct ipu_task *ipu_task = &vout->task;
+       struct ipu_crop *icrop = &ipu_task->input.crop;
+       struct ipu_task *vdoa_task = &vout->vdoa_task;
+       u32 deinterlace = 0;
+       u32 in_fmt;
+
+       if (vout->task.input.deinterlace.enable)
+               deinterlace = 1;
+
+       memset(vdoa_task, 0, sizeof(*vdoa_task));
+       vdoa_task->output.format = IPU_PIX_FMT_NV12;
+       memcpy(&vdoa_task->input, &ipu_task->input,
+                       sizeof(ipu_task->input));
+       if ((icrop->w % IPU_PIX_FMT_TILED_NV12_MBALIGN) ||
+               (icrop->h % IPU_PIX_FMT_TILED_NV12_MBALIGN)) {
+               vdoa_task->input.crop.w =
+                       ALIGN(icrop->w, IPU_PIX_FMT_TILED_NV12_MBALIGN);
+               vdoa_task->input.crop.h =
+                       ALIGN(icrop->h, IPU_PIX_FMT_TILED_NV12_MBALIGN);
+       }
+       vdoa_task->output.width = vdoa_task->input.crop.w;
+       vdoa_task->output.height = vdoa_task->input.crop.h;
+       vdoa_task->output.crop.w = vdoa_task->input.crop.w;
+       vdoa_task->output.crop.h = vdoa_task->input.crop.h;
+
+       size = PAGE_ALIGN(vdoa_task->input.crop.w *
+                                       vdoa_task->input.crop.h *
+                                       fmt_to_bpp(vdoa_task->output.format)/8);
+       if (size > vout->vdoa_work.size) {
+               if (vout->vdoa_work.vaddr)
+                       free_dma_buf(vout, &vout->vdoa_work);
+               vout->vdoa_work.size = size;
+               ret = alloc_dma_buf(vout, &vout->vdoa_work);
+               if (ret < 0)
+                       return ret;
+       }
+       ret = ipu_check_task(vdoa_task);
+       if (ret != IPU_CHECK_OK)
+               return -EINVAL;
+
+       is_1080p_stream = CHECK_TILED_1080P_STREAM(vout);
+       if (is_1080p_stream)
+               ipu_task->input.crop.h = VALID_HEIGHT_1080P;
+       in_fmt = ipu_task->input.format;
+       ipu_task->input.format = vdoa_task->output.format;
+       ipu_task->input.height = vdoa_task->output.height;
+       ipu_task->input.width = vdoa_task->output.width;
+       if (deinterlace)
+               ipu_task->input.deinterlace.enable = 0;
+       ret = ipu_try_task(vout);
+       if (deinterlace)
+               ipu_task->input.deinterlace.enable = 1;
+       ipu_task->input.format = in_fmt;
+
+       return ret;
+}
+
+static int mxc_vout_try_task(struct mxc_vout_output *vout)
+{
+       int ret = 0;
+       struct ipu_output *output = &vout->task.output;
+       struct ipu_input *input = &vout->task.input;
+       struct ipu_crop *crop = &input->crop;
+       u32 o_height = 0;
+       u32 ocrop_h = 0;
+       bool tiled_fmt = false;
+       bool tiled_need_pp = false;
+
+       vout->vdoa_1080p = CHECK_TILED_1080P_DISPLAY(vout);
+       if (vout->vdoa_1080p) {
+               input->crop.h = FRAME_HEIGHT_1080P;
+               o_height = output->height;
+               ocrop_h = output->crop.h;
+               output->height = FRAME_HEIGHT_1080P;
+               output->crop.h = FRAME_HEIGHT_1080P;
+       }
+
+       if ((IPU_PIX_FMT_TILED_NV12 == input->format) ||
+               (IPU_PIX_FMT_TILED_NV12F == input->format)) {
+               if ((input->width % IPU_PIX_FMT_TILED_NV12_MBALIGN) ||
+                       (input->height % IPU_PIX_FMT_TILED_NV12_MBALIGN) ||
+                       (crop->pos.x % IPU_PIX_FMT_TILED_NV12_MBALIGN) ||
+                       (crop->pos.y % IPU_PIX_FMT_TILED_NV12_MBALIGN)) {
+                       v4l2_err(vout->vfd->v4l2_dev,
+                               "ERR: tiled fmt needs 16 pixel align.\n");
+                       return -EINVAL;
+               }
+               if ((crop->w % IPU_PIX_FMT_TILED_NV12_MBALIGN) ||
+                       (crop->h % IPU_PIX_FMT_TILED_NV12_MBALIGN))
+                       tiled_need_pp = true;
+       } else {
+               crop->w -= crop->w % 8;
+               crop->h -= crop->h % 8;
+       }
+       /* assume task.output already set by S_CROP */
+       vout->linear_bypass_pp = is_pp_bypass(vout);
+       if (vout->linear_bypass_pp) {
+               v4l2_info(vout->vfd->v4l2_dev, "Bypass IC.\n");
+               output->format = input->format;
+       } else {
+               /* if need CSC, choose IPU-DP or IPU_IC do it */
+               if (vout->disp_support_csc) {
+                       if (colorspaceofpixel(input->format) == YUV_CS)
+                               output->format = IPU_PIX_FMT_UYVY;
+                       else
+                               output->format = IPU_PIX_FMT_RGB565;
+               } else {
+                       if (colorspaceofpixel(vout->disp_fmt) == YUV_CS)
+                               output->format = IPU_PIX_FMT_UYVY;
+                       else
+                               output->format = IPU_PIX_FMT_RGB565;
+               }
+
+               vout->tiled_bypass_pp = false;
+               if ((IPU_PIX_FMT_TILED_NV12 == input->format) ||
+                       (IPU_PIX_FMT_TILED_NV12F == input->format)) {
+                       /* check resize/rotate/flip, or csc task */
+                       if (!(tiled_need_pp ||
+                               (IPU_ROTATE_NONE != output->rotate) ||
+                               (input->crop.w != output->crop.w) ||
+                               (input->crop.h != output->crop.h) ||
+                               (!vout->disp_support_csc &&
+                               (colorspaceofpixel(vout->disp_fmt) == RGB_CS)))
+                               ) {
+                               /* IC bypass */
+                               output->format = IPU_PIX_FMT_NV12;
+                               v4l2_dbg(1, debug, vout->vfd->v4l2_dev,
+                                               "tiled bypass pp\n");
+                               vout->tiled_bypass_pp = true;
+                       }
+                       tiled_fmt = true;
+               }
+
+               if ((!vout->tiled_bypass_pp) && tiled_fmt)
+                       ret = vdoaipu_try_task(vout);
+               else
+                       ret = ipu_try_task(vout);
+       }
+
+       if (vout->vdoa_1080p) {
+               output->height = o_height;
+               output->crop.h = ocrop_h;
+       }
+
+       v4l2_dbg(1, debug, vout->vfd->v4l2_dev,
+                       "icrop.w:%u, icrop.h:%u, iw:%u, ih:%u,"
+                       "ocrop.w:%u, ocrop.h:%u, ow:%u, oh:%u\n",
+                       input->crop.w, input->crop.h,
+                       input->width, input->height,
+                       output->crop.w, output->crop.h,
+                       output->width, output->height);
+       return ret;
+}
+
+static int mxc_vout_try_format(struct mxc_vout_output *vout,
+                               struct v4l2_format *f)
+{
+       int ret = 0;
+       struct v4l2_rect rect;
+
+       if ((f->fmt.pix.field != V4L2_FIELD_NONE) &&
+               (IPU_PIX_FMT_TILED_NV12 == vout->task.input.format)) {
+               v4l2_err(vout->vfd->v4l2_dev,
+                       "progressive tiled fmt should used V4L2_FIELD_NONE!\n");
+               return -EINVAL;
+       }
+
+       if (f->fmt.pix.priv && copy_from_user(&rect,
+               (void __user *)f->fmt.pix.priv, sizeof(rect)))
+               return -EFAULT;
+
+       vout->task.input.width = f->fmt.pix.width;
+       vout->task.input.height = f->fmt.pix.height;
+       vout->task.input.format = f->fmt.pix.pixelformat;
+
+       ret = set_field_fmt(vout, f->fmt.pix.field);
+       if (ret < 0)
+               return ret;
+
+       if (f->fmt.pix.priv) {
+               vout->task.input.crop.pos.x = rect.left;
+               vout->task.input.crop.pos.y = rect.top;
+               vout->task.input.crop.w = rect.width;
+               vout->task.input.crop.h = rect.height;
+       } else {
+               vout->task.input.crop.pos.x = 0;
+               vout->task.input.crop.pos.y = 0;
+               vout->task.input.crop.w = f->fmt.pix.width;
+               vout->task.input.crop.h = f->fmt.pix.height;
+       }
+       memcpy(&vout->in_rect, &vout->task.input.crop, sizeof(vout->in_rect));
+
+       ret = mxc_vout_try_task(vout);
+       if (!ret) {
+               if (f->fmt.pix.priv) {
+                       rect.width = vout->task.input.crop.w;
+                       rect.height = vout->task.input.crop.h;
+                       if (copy_to_user((void __user *)f->fmt.pix.priv,
+                               &rect, sizeof(rect)))
+                               ret = -EFAULT;
+               } else {
+                       f->fmt.pix.width = vout->task.input.crop.w;
+                       f->fmt.pix.height = vout->task.input.crop.h;
+               }
+       }
+
+       return ret;
+}
+
+static bool mxc_vout_need_fb_reconfig(struct mxc_vout_output *vout,
+                                     struct mxc_vout_output *pre_vout)
+{
+       if (!vout->vbq.streaming)
+               return false;
+
+       if (vout->tiled_bypass_pp)
+               return true;
+
+       if (vout->linear_bypass_pp != pre_vout->linear_bypass_pp)
+               return true;
+
+       /* cropped output resolution or format are changed */
+       if (vout->task.output.format != pre_vout->task.output.format ||
+           vout->task.output.crop.w != pre_vout->task.output.crop.w ||
+           vout->task.output.crop.h != pre_vout->task.output.crop.h)
+               return true;
+
+       /* overlay: window position or resolution are changed */
+       if (vout->disp_support_windows &&
+           (vout->win_pos.x != pre_vout->win_pos.x ||
+            vout->win_pos.y != pre_vout->win_pos.y ||
+            vout->task.output.width  != pre_vout->task.output.width ||
+            vout->task.output.height != pre_vout->task.output.height))
+               return true;
+
+       /* background: cropped position is changed */
+       if (!vout->disp_support_windows &&
+           (vout->task.output.crop.pos.x !=
+            pre_vout->task.output.crop.pos.x ||
+            vout->task.output.crop.pos.y !=
+            pre_vout->task.output.crop.pos.y))
+               return true;
+
+       return false;
+}
+
+static int mxc_vidioc_s_fmt_vid_out(struct file *file, void *fh,
+                       struct v4l2_format *f)
+{
+       struct mxc_vout_output *vout = fh;
+       int ret = 0;
+
+       if (vout->vbq.streaming)
+               return -EBUSY;
+
+       mutex_lock(&vout->task_lock);
+       ret = mxc_vout_try_format(vout, f);
+       if (ret >= 0)
+               vout->fmt_init = true;
+       mutex_unlock(&vout->task_lock);
+
+       return ret;
+}
+
+static int mxc_vidioc_cropcap(struct file *file, void *fh,
+               struct v4l2_cropcap *cropcap)
+{
+       struct mxc_vout_output *vout = fh;
+
+       if (cropcap->type != V4L2_BUF_TYPE_VIDEO_OUTPUT)
+               return -EINVAL;
+
+       cropcap->bounds = vout->crop_bounds;
+       cropcap->defrect = vout->crop_bounds;
+
+       return 0;
+}
+
+static int mxc_vidioc_g_crop(struct file *file, void *fh,
+                               struct v4l2_crop *crop)
+{
+       struct mxc_vout_output *vout = fh;
+
+       if (crop->type != V4L2_BUF_TYPE_VIDEO_OUTPUT)
+               return -EINVAL;
+
+       if (vout->disp_support_windows) {
+               crop->c.left = vout->win_pos.x;
+               crop->c.top = vout->win_pos.y;
+               crop->c.width = vout->task.output.width;
+               crop->c.height = vout->task.output.height;
+       } else {
+               if (vout->task.output.crop.w && vout->task.output.crop.h) {
+                       crop->c.left = vout->task.output.crop.pos.x;
+                       crop->c.top = vout->task.output.crop.pos.y;
+                       crop->c.width = vout->task.output.crop.w;
+                       crop->c.height = vout->task.output.crop.h;
+               } else {
+                       crop->c.left = 0;
+                       crop->c.top = 0;
+                       crop->c.width = vout->task.output.width;
+                       crop->c.height = vout->task.output.height;
+               }
+       }
+
+       return 0;
+}
+
+static int mxc_vidioc_s_crop(struct file *file, void *fh,
+                               const struct v4l2_crop *crop)
+{
+       struct mxc_vout_output *vout = fh, *pre_vout;
+       struct v4l2_rect *b = &vout->crop_bounds;
+       struct v4l2_crop fix_up_crop;
+       int ret = 0;
+
+       memcpy(&fix_up_crop, crop, sizeof(*crop));
+
+       if (crop->type != V4L2_BUF_TYPE_VIDEO_OUTPUT)
+               return -EINVAL;
+
+       if (crop->c.width < 0 || crop->c.height < 0)
+               return -EINVAL;
+
+       if (crop->c.width == 0)
+               fix_up_crop.c.width = b->width - b->left;
+       if (crop->c.height == 0)
+               fix_up_crop.c.height = b->height - b->top;
+
+       if (crop->c.top < b->top)
+               fix_up_crop.c.top = b->top;
+       if (crop->c.top >= b->top + b->height)
+               fix_up_crop.c.top = b->top + b->height - 1;
+       if (crop->c.height > b->top - crop->c.top + b->height)
+               fix_up_crop.c.height =
+                       b->top - fix_up_crop.c.top + b->height;
+
+       if (crop->c.left < b->left)
+               fix_up_crop.c.left = b->left;
+       if (crop->c.left >= b->left + b->width)
+               fix_up_crop.c.left = b->left + b->width - 1;
+       if (crop->c.width > b->left - crop->c.left + b->width)
+               fix_up_crop.c.width =
+                       b->left - fix_up_crop.c.left + b->width;
+
+       /* stride line limitation */
+       fix_up_crop.c.height -= fix_up_crop.c.height % 8;
+       fix_up_crop.c.width -= fix_up_crop.c.width % 8;
+       if ((fix_up_crop.c.width <= 0) || (fix_up_crop.c.height <= 0) ||
+               ((fix_up_crop.c.left + fix_up_crop.c.width) >
+                (b->left + b->width)) ||
+               ((fix_up_crop.c.top + fix_up_crop.c.height) >
+                (b->top + b->height))) {
+               v4l2_err(vout->vfd->v4l2_dev, "s_crop err: %d, %d, %d, %d",
+                       fix_up_crop.c.left, fix_up_crop.c.top,
+                       fix_up_crop.c.width, fix_up_crop.c.height);
+               return -EINVAL;
+       }
+
+       /* the same setting, return */
+       if (vout->disp_support_windows) {
+               if ((vout->win_pos.x == fix_up_crop.c.left) &&
+                       (vout->win_pos.y == fix_up_crop.c.top) &&
+                       (vout->task.output.crop.w == fix_up_crop.c.width) &&
+                       (vout->task.output.crop.h == fix_up_crop.c.height))
+                       return 0;
+       } else {
+               if ((vout->task.output.crop.pos.x == fix_up_crop.c.left) &&
+                       (vout->task.output.crop.pos.y == fix_up_crop.c.top) &&
+                       (vout->task.output.crop.w == fix_up_crop.c.width) &&
+                       (vout->task.output.crop.h == fix_up_crop.c.height))
+                       return 0;
+       }
+
+       pre_vout = vmalloc(sizeof(*pre_vout));
+       if (!pre_vout)
+               return -ENOMEM;
+
+       /* wait current work finish */
+       if (vout->vbq.streaming)
+               flush_workqueue(vout->v4l_wq);
+
+       mutex_lock(&vout->task_lock);
+
+       memcpy(pre_vout, vout, sizeof(*vout));
+
+       if (vout->disp_support_windows) {
+               vout->task.output.crop.pos.x = 0;
+               vout->task.output.crop.pos.y = 0;
+               vout->win_pos.x = fix_up_crop.c.left;
+               vout->win_pos.y = fix_up_crop.c.top;
+               vout->task.output.width = fix_up_crop.c.width;
+               vout->task.output.height = fix_up_crop.c.height;
+       } else {
+               vout->task.output.crop.pos.x = fix_up_crop.c.left;
+               vout->task.output.crop.pos.y = fix_up_crop.c.top;
+       }
+
+       vout->task.output.crop.w = fix_up_crop.c.width;
+       vout->task.output.crop.h = fix_up_crop.c.height;
+
+       /*
+        * must S_CROP before S_FMT, for fist time S_CROP, will not check
+        * ipu task, it will check in S_FMT, after S_FMT, S_CROP should
+        * check ipu task too.
+        */
+       if (vout->fmt_init) {
+               memcpy(&vout->task.input.crop, &vout->in_rect,
+                       sizeof(vout->in_rect));
+               ret = mxc_vout_try_task(vout);
+               if (ret < 0) {
+                       v4l2_err(vout->vfd->v4l2_dev,
+                                       "vout check task failed\n");
+                       memcpy(vout, pre_vout, sizeof(*vout));
+                       goto done;
+               }
+
+               if (mxc_vout_need_fb_reconfig(vout, pre_vout)) {
+                       ret = config_disp_output(vout);
+                       if (ret < 0)
+                               v4l2_err(vout->vfd->v4l2_dev,
+                                       "Config display output failed\n");
+               }
+       }
+
+done:
+       vfree(pre_vout);
+       mutex_unlock(&vout->task_lock);
+
+       return ret;
+}
+
+static int mxc_vidioc_queryctrl(struct file *file, void *fh,
+               struct v4l2_queryctrl *ctrl)
+{
+       int ret = 0;
+
+       switch (ctrl->id) {
+       case V4L2_CID_ROTATE:
+               ret = v4l2_ctrl_query_fill(ctrl, 0, 270, 90, 0);
+               break;
+       case V4L2_CID_VFLIP:
+               ret = v4l2_ctrl_query_fill(ctrl, 0, 1, 1, 0);
+               break;
+       case V4L2_CID_HFLIP:
+               ret = v4l2_ctrl_query_fill(ctrl, 0, 1, 1, 0);
+               break;
+       case V4L2_CID_MXC_MOTION:
+               ret = v4l2_ctrl_query_fill(ctrl, 0, 2, 1, 0);
+               break;
+       default:
+               ctrl->name[0] = '\0';
+               ret = -EINVAL;
+       }
+       return ret;
+}
+
+static int mxc_vidioc_g_ctrl(struct file *file, void *fh,
+                               struct v4l2_control *ctrl)
+{
+       int ret = 0;
+       struct mxc_vout_output *vout = fh;
+
+       switch (ctrl->id) {
+       case V4L2_CID_ROTATE:
+               ctrl->value = vout->ctrl_rotate;
+               break;
+       case V4L2_CID_VFLIP:
+               ctrl->value = vout->ctrl_vflip;
+               break;
+       case V4L2_CID_HFLIP:
+               ctrl->value = vout->ctrl_hflip;
+               break;
+       case V4L2_CID_MXC_MOTION:
+               if (vout->task.input.deinterlace.enable)
+                       ctrl->value = vout->task.input.deinterlace.motion;
+               else
+                       ctrl->value = 0;
+               break;
+       default:
+               ret = -EINVAL;
+       }
+       return ret;
+}
+
+static void setup_task_rotation(struct mxc_vout_output *vout)
+{
+       if (vout->ctrl_rotate == 0) {
+               if (vout->ctrl_vflip && vout->ctrl_hflip)
+                       vout->task.output.rotate = IPU_ROTATE_180;
+               else if (vout->ctrl_vflip)
+                       vout->task.output.rotate = IPU_ROTATE_VERT_FLIP;
+               else if (vout->ctrl_hflip)
+                       vout->task.output.rotate = IPU_ROTATE_HORIZ_FLIP;
+               else
+                       vout->task.output.rotate = IPU_ROTATE_NONE;
+       } else if (vout->ctrl_rotate == 90) {
+               if (vout->ctrl_vflip && vout->ctrl_hflip)
+                       vout->task.output.rotate = IPU_ROTATE_90_LEFT;
+               else if (vout->ctrl_vflip)
+                       vout->task.output.rotate = IPU_ROTATE_90_RIGHT_VFLIP;
+               else if (vout->ctrl_hflip)
+                       vout->task.output.rotate = IPU_ROTATE_90_RIGHT_HFLIP;
+               else
+                       vout->task.output.rotate = IPU_ROTATE_90_RIGHT;
+       } else if (vout->ctrl_rotate == 180) {
+               if (vout->ctrl_vflip && vout->ctrl_hflip)
+                       vout->task.output.rotate = IPU_ROTATE_NONE;
+               else if (vout->ctrl_vflip)
+                       vout->task.output.rotate = IPU_ROTATE_HORIZ_FLIP;
+               else if (vout->ctrl_hflip)
+                       vout->task.output.rotate = IPU_ROTATE_VERT_FLIP;
+               else
+                       vout->task.output.rotate = IPU_ROTATE_180;
+       } else if (vout->ctrl_rotate == 270) {
+               if (vout->ctrl_vflip && vout->ctrl_hflip)
+                       vout->task.output.rotate = IPU_ROTATE_90_RIGHT;
+               else if (vout->ctrl_vflip)
+                       vout->task.output.rotate = IPU_ROTATE_90_RIGHT_HFLIP;
+               else if (vout->ctrl_hflip)
+                       vout->task.output.rotate = IPU_ROTATE_90_RIGHT_VFLIP;
+               else
+                       vout->task.output.rotate = IPU_ROTATE_90_LEFT;
+       }
+}
+
+static int mxc_vidioc_s_ctrl(struct file *file, void *fh,
+                               struct v4l2_control *ctrl)
+{
+       int ret = 0;
+       struct mxc_vout_output *vout = fh, *pre_vout;
+
+       pre_vout = vmalloc(sizeof(*pre_vout));
+       if (!pre_vout)
+               return -ENOMEM;
+
+       /* wait current work finish */
+       if (vout->vbq.streaming)
+               flush_workqueue(vout->v4l_wq);
+
+       mutex_lock(&vout->task_lock);
+
+       memcpy(pre_vout, vout, sizeof(*vout));
+
+       switch (ctrl->id) {
+       case V4L2_CID_ROTATE:
+       {
+               vout->ctrl_rotate = (ctrl->value/90) * 90;
+               if (vout->ctrl_rotate > 270)
+                       vout->ctrl_rotate = 270;
+               setup_task_rotation(vout);
+               break;
+       }
+       case V4L2_CID_VFLIP:
+       {
+               vout->ctrl_vflip = ctrl->value;
+               setup_task_rotation(vout);
+               break;
+       }
+       case V4L2_CID_HFLIP:
+       {
+               vout->ctrl_hflip = ctrl->value;
+               setup_task_rotation(vout);
+               break;
+       }
+       case V4L2_CID_MXC_MOTION:
+       {
+               vout->task.input.deinterlace.motion = ctrl->value;
+               break;
+       }
+       default:
+               ret = -EINVAL;
+               goto done;
+       }
+
+       if (vout->fmt_init) {
+               memcpy(&vout->task.input.crop, &vout->in_rect,
+                               sizeof(vout->in_rect));
+               ret = mxc_vout_try_task(vout);
+               if (ret < 0) {
+                       v4l2_err(vout->vfd->v4l2_dev,
+                                       "vout check task failed\n");
+                       memcpy(vout, pre_vout, sizeof(*vout));
+                       goto done;
+               }
+
+               if (mxc_vout_need_fb_reconfig(vout, pre_vout)) {
+                       ret = config_disp_output(vout);
+                       if (ret < 0)
+                               v4l2_err(vout->vfd->v4l2_dev,
+                                       "Config display output failed\n");
+               }
+       }
+
+done:
+       vfree(pre_vout);
+       mutex_unlock(&vout->task_lock);
+
+       return ret;
+}
+
+static int mxc_vidioc_reqbufs(struct file *file, void *fh,
+                       struct v4l2_requestbuffers *req)
+{
+       int ret = 0;
+       struct mxc_vout_output *vout = fh;
+       struct videobuf_queue *q = &vout->vbq;
+
+       if (req->type != V4L2_BUF_TYPE_VIDEO_OUTPUT)
+               return -EINVAL;
+
+       /* should not be here after streaming, videobuf_reqbufs will control */
+       mutex_lock(&vout->task_lock);
+
+       ret = videobuf_reqbufs(q, req);
+
+       mutex_unlock(&vout->task_lock);
+       return ret;
+}
+
+static int mxc_vidioc_querybuf(struct file *file, void *fh,
+                       struct v4l2_buffer *b)
+{
+       int ret;
+       struct mxc_vout_output *vout = fh;
+
+       ret = videobuf_querybuf(&vout->vbq, b);
+       if (!ret) {
+               /* return physical address */
+               struct videobuf_buffer *vb = vout->vbq.bufs[b->index];
+               if (b->flags & V4L2_BUF_FLAG_MAPPED)
+                       b->m.offset = videobuf_to_dma_contig(vb);
+       }
+
+       return ret;
+}
+
+static int mxc_vidioc_qbuf(struct file *file, void *fh,
+                       struct v4l2_buffer *buffer)
+{
+       struct mxc_vout_output *vout = fh;
+
+       return videobuf_qbuf(&vout->vbq, buffer);
+}
+
+static int mxc_vidioc_dqbuf(struct file *file, void *fh, struct v4l2_buffer *b)
+{
+       struct mxc_vout_output *vout = fh;
+
+       if (!vout->vbq.streaming)
+               return -EINVAL;
+
+       if (file->f_flags & O_NONBLOCK)
+               return videobuf_dqbuf(&vout->vbq, (struct v4l2_buffer *)b, 1);
+       else
+               return videobuf_dqbuf(&vout->vbq, (struct v4l2_buffer *)b, 0);
+}
+
+static int set_window_position(struct mxc_vout_output *vout,
+                               struct mxcfb_pos *pos)
+{
+       struct fb_info *fbi = vout->fbi;
+       mm_segment_t old_fs;
+       int ret = 0;
+
+       if (vout->disp_support_windows) {
+               old_fs = get_fs();
+               set_fs(KERNEL_DS);
+               ret = fbi->fbops->fb_ioctl(fbi, MXCFB_SET_OVERLAY_POS,
+                               (unsigned long)pos);
+               set_fs(old_fs);
+       }
+
+       return ret;
+}
+
+static int config_disp_output(struct mxc_vout_output *vout)
+{
+       struct dma_mem *buf = NULL;
+       struct fb_info *fbi = vout->fbi;
+       struct fb_var_screeninfo var;
+       struct mxcfb_pos pos;
+       int i, fb_num, ret;
+       u32 fb_base;
+       u32 size;
+       u32 display_buf_size;
+       u32 *pixel = NULL;
+       u32 color;
+       int j;
+
+       memcpy(&var, &fbi->var, sizeof(var));
+       fb_base = fbi->fix.smem_start;
+
+       var.xres = vout->task.output.width;
+       var.yres = vout->task.output.height;
+       if (vout->linear_bypass_pp || vout->tiled_bypass_pp) {
+               fb_num = 1;
+               /* input crop */
+               if (vout->task.input.width > vout->task.output.width)
+                       var.xres_virtual = vout->task.input.width;
+               else
+                       var.xres_virtual = var.xres;
+               if (vout->task.input.height > vout->task.output.height)
+                       var.yres_virtual = vout->task.input.height;
+               else
+                       var.yres_virtual = var.yres;
+               var.rotate = vout->task.output.rotate;
+               var.vmode |= FB_VMODE_YWRAP;
+       } else {
+               fb_num = FB_BUFS;
+               var.xres_virtual = var.xres;
+               var.yres_virtual = fb_num * var.yres;
+               var.vmode &= ~FB_VMODE_YWRAP;
+       }
+       var.bits_per_pixel = fmt_to_bpp(vout->task.output.format);
+       var.nonstd = vout->task.output.format;
+
+       v4l2_dbg(1, debug, vout->vfd->v4l2_dev,
+                       "set display fb to %d %d\n",
+                       var.xres, var.yres);
+
+       /*
+        * To setup the overlay fb from scratch without
+        * the last time overlay fb position or resolution's
+        * impact, we take the following steps:
+        * - blank fb
+        * - set fb position to the starting point
+        * - reconfigure fb
+        * - set fb position to a specific point
+        * - unblank fb
+        * This procedure applies to non-overlay fbs as well.
+        */
+       console_lock();
+       fbi->flags |= FBINFO_MISC_USEREVENT;
+       fb_blank(fbi, FB_BLANK_POWERDOWN);
+       fbi->flags &= ~FBINFO_MISC_USEREVENT;
+       console_unlock();
+
+       pos.x = 0;
+       pos.y = 0;
+       ret = set_window_position(vout, &pos);
+       if (ret < 0) {
+               v4l2_err(vout->vfd->v4l2_dev, "failed to set fb position "
+                       "to starting point\n");
+               return ret;
+       }
+
+       /* Init display channel through fb API */
+       var.yoffset = 0;
+       var.activate |= FB_ACTIVATE_FORCE;
+       console_lock();
+       fbi->flags |= FBINFO_MISC_USEREVENT;
+       ret = fb_set_var(fbi, &var);
+       fbi->flags &= ~FBINFO_MISC_USEREVENT;
+       console_unlock();
+       if (ret < 0) {
+               v4l2_err(vout->vfd->v4l2_dev,
+                               "ERR:%s fb_set_var ret:%d\n", __func__, ret);
+               return ret;
+       }
+
+       ret = set_window_position(vout, &vout->win_pos);
+       if (ret < 0) {
+               v4l2_err(vout->vfd->v4l2_dev, "failed to set fb position\n");
+               return ret;
+       }
+
+       if (vout->linear_bypass_pp || vout->tiled_bypass_pp)
+               display_buf_size = fbi->fix.line_length * fbi->var.yres_virtual;
+       else
+               display_buf_size = fbi->fix.line_length * fbi->var.yres;
+       for (i = 0; i < fb_num; i++)
+               vout->disp_bufs[i] = fbi->fix.smem_start + i * display_buf_size;
+       if (vout->tiled_bypass_pp) {
+               size = PAGE_ALIGN(vout->task.input.crop.w *
+                                       vout->task.input.crop.h *
+                                       fmt_to_bpp(vout->task.output.format)/8);
+               if (size > vout->vdoa_output[0].size) {
+                       for (i = 0; i < VDOA_FB_BUFS; i++) {
+                               buf = &vout->vdoa_output[i];
+                               if (buf->vaddr)
+                                       free_dma_buf(vout, buf);
+                               buf->size = size;
+                               ret = alloc_dma_buf(vout, buf);
+                               if (ret < 0)
+                                       goto err;
+                       }
+               }
+               for (i = fb_num; i < (fb_num + VDOA_FB_BUFS); i++)
+                       vout->disp_bufs[i] =
+                               vout->vdoa_output[i - fb_num].paddr;
+       }
+       vout->fb_smem_len = fbi->fix.smem_len;
+       vout->fb_smem_start = fbi->fix.smem_start;
+       if (fb_base != fbi->fix.smem_start) {
+               v4l2_dbg(1, debug, vout->vfd->v4l2_dev,
+                       "realloc fb mem size:0x%x@0x%lx,old paddr @0x%x\n",
+                       fbi->fix.smem_len, fbi->fix.smem_start, fb_base);
+       }
+
+       /* fill black when video config changed */
+       color = colorspaceofpixel(vout->task.output.format) == YUV_CS ?
+                       UYVY_BLACK : RGB_BLACK;
+       if (IS_PLANAR_PIXEL_FORMAT(vout->task.output.format)) {
+               size = display_buf_size * 8 /
+                       fmt_to_bpp(vout->task.output.format);
+               memset(fbi->screen_base, Y_BLACK, size);
+               memset(fbi->screen_base + size, UV_BLACK,
+                               display_buf_size - size);
+       } else {
+               pixel = (u32 *)fbi->screen_base;
+               for (i = 0; i < (display_buf_size >> 2); i++)
+                       *pixel++ = color;
+       }
+       console_lock();
+       fbi->flags |= FBINFO_MISC_USEREVENT;
+       ret = fb_blank(fbi, FB_BLANK_UNBLANK);
+       fbi->flags &= ~FBINFO_MISC_USEREVENT;
+       console_unlock();
+       vout->release = false;
+
+       return ret;
+err:
+       for (j = i - 1; j >= 0; j--) {
+               buf = &vout->vdoa_output[j];
+               if (buf->vaddr)
+                       free_dma_buf(vout, buf);
+       }
+       return ret;
+}
+
+static inline void wait_for_vsync(struct mxc_vout_output *vout)
+{
+       struct fb_info *fbi = vout->fbi;
+       mm_segment_t old_fs;
+
+       if (fbi->fbops->fb_ioctl) {
+               old_fs = get_fs();
+               set_fs(KERNEL_DS);
+               fbi->fbops->fb_ioctl(fbi, MXCFB_WAIT_FOR_VSYNC,
+                               (unsigned long)NULL);
+               set_fs(old_fs);
+       }
+
+       return;
+}
+
+static void release_disp_output(struct mxc_vout_output *vout)
+{
+       struct fb_info *fbi = vout->fbi;
+       struct mxcfb_pos pos;
+
+       if (vout->release)
+               return;
+       console_lock();
+       fbi->flags |= FBINFO_MISC_USEREVENT;
+       fb_blank(fbi, FB_BLANK_POWERDOWN);
+       fbi->flags &= ~FBINFO_MISC_USEREVENT;
+       console_unlock();
+
+       /* restore pos to 0,0 avoid fb pan display hang? */
+       pos.x = 0;
+       pos.y = 0;
+       set_window_position(vout, &pos);
+
+       if (get_ipu_channel(fbi) == MEM_BG_SYNC) {
+               console_lock();
+               fbi->fix.smem_start = vout->disp_bufs[0];
+               fbi->flags |= FBINFO_MISC_USEREVENT;
+               fb_blank(fbi, FB_BLANK_UNBLANK);
+               fbi->flags &= ~FBINFO_MISC_USEREVENT;
+               console_unlock();
+
+       }
+
+       vout->release = true;
+}
+
+static int mxc_vidioc_streamon(struct file *file, void *fh,
+                               enum v4l2_buf_type i)
+{
+       struct mxc_vout_output *vout = fh;
+       struct videobuf_queue *q = &vout->vbq;
+       int ret;
+
+       if (q->streaming) {
+               v4l2_err(vout->vfd->v4l2_dev,
+                               "video output already run\n");
+               ret = -EBUSY;
+               goto done;
+       }
+
+       if (deinterlace_3_field(vout) && list_is_singular(&q->stream)) {
+               v4l2_err(vout->vfd->v4l2_dev,
+                       "deinterlacing: need queue 2 frame before streamon\n");
+               ret = -EINVAL;
+               goto done;
+       }
+
+       ret = config_disp_output(vout);
+       if (ret < 0) {
+               v4l2_err(vout->vfd->v4l2_dev,
+                               "Config display output failed\n");
+               goto done;
+       }
+
+       hrtimer_init(&vout->timer, CLOCK_REALTIME, HRTIMER_MODE_ABS);
+       vout->timer.function = mxc_vout_timer_handler;
+       vout->timer_stop = true;
+
+       vout->start_ktime = hrtimer_cb_get_time(&vout->timer);
+
+       vout->pre1_vb = NULL;
+       vout->pre2_vb = NULL;
+
+       ret = videobuf_streamon(q);
+done:
+       return ret;
+}
+
+static int mxc_vidioc_streamoff(struct file *file, void *fh,
+                               enum v4l2_buf_type i)
+{
+       struct mxc_vout_output *vout = fh;
+       struct videobuf_queue *q = &vout->vbq;
+       int ret = 0;
+
+       if (q->streaming) {
+               flush_workqueue(vout->v4l_wq);
+
+               hrtimer_cancel(&vout->timer);
+
+               /*
+                * Wait for 2 vsyncs to make sure
+                * frames are drained on triple
+                * buffer.
+                */
+               wait_for_vsync(vout);
+               wait_for_vsync(vout);
+
+               release_disp_output(vout);
+
+               ret = videobuf_streamoff(&vout->vbq);
+       }
+       INIT_LIST_HEAD(&vout->queue_list);
+       INIT_LIST_HEAD(&vout->active_list);
+
+       return ret;
+}
+
+static const struct v4l2_ioctl_ops mxc_vout_ioctl_ops = {
+       .vidioc_querycap                        = mxc_vidioc_querycap,
+       .vidioc_enum_fmt_vid_out                = mxc_vidioc_enum_fmt_vid_out,
+       .vidioc_g_fmt_vid_out                   = mxc_vidioc_g_fmt_vid_out,
+       .vidioc_s_fmt_vid_out                   = mxc_vidioc_s_fmt_vid_out,
+       .vidioc_cropcap                         = mxc_vidioc_cropcap,
+       .vidioc_g_crop                          = mxc_vidioc_g_crop,
+       .vidioc_s_crop                          = mxc_vidioc_s_crop,
+       .vidioc_queryctrl                       = mxc_vidioc_queryctrl,
+       .vidioc_g_ctrl                          = mxc_vidioc_g_ctrl,
+       .vidioc_s_ctrl                          = mxc_vidioc_s_ctrl,
+       .vidioc_reqbufs                         = mxc_vidioc_reqbufs,
+       .vidioc_querybuf                        = mxc_vidioc_querybuf,
+       .vidioc_qbuf                            = mxc_vidioc_qbuf,
+       .vidioc_dqbuf                           = mxc_vidioc_dqbuf,
+       .vidioc_streamon                        = mxc_vidioc_streamon,
+       .vidioc_streamoff                       = mxc_vidioc_streamoff,
+};
+
+static const struct v4l2_file_operations mxc_vout_fops = {
+       .owner          = THIS_MODULE,
+       .unlocked_ioctl = video_ioctl2,
+       .mmap           = mxc_vout_mmap,
+       .open           = mxc_vout_open,
+       .release        = mxc_vout_release,
+};
+
+static struct video_device mxc_vout_template = {
+       .name           = "MXC Video Output",
+       .fops           = &mxc_vout_fops,
+       .ioctl_ops      = &mxc_vout_ioctl_ops,
+       .release        = video_device_release,
+};
+
+static struct videobuf_queue_ops mxc_vout_vbq_ops = {
+       .buf_setup = mxc_vout_buffer_setup,
+       .buf_prepare = mxc_vout_buffer_prepare,
+       .buf_release = mxc_vout_buffer_release,
+       .buf_queue = mxc_vout_buffer_queue,
+};
+
+static void mxc_vout_free_output(struct mxc_vout_dev *dev)
+{
+       int i;
+       int j;
+       struct mxc_vout_output *vout;
+       struct video_device *vfd;
+
+       for (i = 0; i < dev->out_num; i++) {
+               vout = dev->out[i];
+               vfd = vout->vfd;
+               if (vout->vdoa_work.vaddr)
+                       free_dma_buf(vout, &vout->vdoa_work);
+               for (j = 0; j < VDOA_FB_BUFS; j++) {
+                       if (vout->vdoa_output[j].vaddr)
+                               free_dma_buf(vout, &vout->vdoa_output[j]);
+               }
+               if (vfd) {
+                       if (!video_is_registered(vfd))
+                               video_device_release(vfd);
+                       else
+                               video_unregister_device(vfd);
+               }
+               kfree(vout);
+       }
+}
+
+static int mxc_vout_setup_output(struct mxc_vout_dev *dev)
+{
+       struct videobuf_queue *q;
+       struct fb_info *fbi;
+       struct mxc_vout_output *vout;
+       int i, ret = 0;
+
+       update_display_setting();
+
+       /* all output/overlay based on fb */
+       for (i = 0; i < num_registered_fb; i++) {
+               fbi = registered_fb[i];
+
+               vout = kzalloc(sizeof(struct mxc_vout_output), GFP_KERNEL);
+               if (!vout) {
+                       ret = -ENOMEM;
+                       break;
+               }
+
+               dev->out[dev->out_num] = vout;
+               dev->out_num++;
+
+               vout->fbi = fbi;
+               vout->type = V4L2_BUF_TYPE_VIDEO_OUTPUT;
+               vout->vfd = video_device_alloc();
+               if (!vout->vfd) {
+                       ret = -ENOMEM;
+                       break;
+               }
+
+               *vout->vfd = mxc_vout_template;
+               vout->vfd->debug = debug;
+               vout->vfd->v4l2_dev = &dev->v4l2_dev;
+               vout->vfd->lock = &vout->mutex;
+               vout->vfd->vfl_dir = VFL_DIR_TX;
+
+               mutex_init(&vout->mutex);
+               mutex_init(&vout->task_lock);
+
+               strlcpy(vout->vfd->name, fbi->fix.id, sizeof(vout->vfd->name));
+
+               video_set_drvdata(vout->vfd, vout);
+
+               if (video_register_device(vout->vfd,
+                       VFL_TYPE_GRABBER, video_nr + i) < 0) {
+                       ret = -ENODEV;
+                       break;
+               }
+
+               q = &vout->vbq;
+               q->dev = dev->dev;
+               spin_lock_init(&vout->vbq_lock);
+               videobuf_queue_dma_contig_init(q, &mxc_vout_vbq_ops, q->dev,
+                               &vout->vbq_lock, vout->type, V4L2_FIELD_NONE,
+                               sizeof(struct videobuf_buffer), vout, NULL);
+
+               v4l2_info(vout->vfd->v4l2_dev, "V4L2 device registered as %s\n",
+                               video_device_node_name(vout->vfd));
+
+       }
+
+       return ret;
+}
+
+static int mxc_vout_probe(struct platform_device *pdev)
+{
+       int ret;
+       struct mxc_vout_dev *dev;
+
+       dev = kzalloc(sizeof(*dev), GFP_KERNEL);
+       if (!dev)
+               return -ENOMEM;
+
+       dev->dev = &pdev->dev;
+       dev->dev->dma_mask = kmalloc(sizeof(*dev->dev->dma_mask), GFP_KERNEL);
+       *dev->dev->dma_mask = DMA_BIT_MASK(32);
+       dev->dev->coherent_dma_mask = DMA_BIT_MASK(32);
+
+       ret = v4l2_device_register(dev->dev, &dev->v4l2_dev);
+       if (ret) {
+               dev_err(dev->dev, "v4l2_device_register failed\n");
+               goto free_dev;
+       }
+
+       ret = mxc_vout_setup_output(dev);
+       if (ret < 0)
+               goto rel_vdev;
+
+       return 0;
+
+rel_vdev:
+       mxc_vout_free_output(dev);
+       v4l2_device_unregister(&dev->v4l2_dev);
+free_dev:
+       kfree(dev);
+       return ret;
+}
+
+static int mxc_vout_remove(struct platform_device *pdev)
+{
+       struct v4l2_device *v4l2_dev = platform_get_drvdata(pdev);
+       struct mxc_vout_dev *dev = container_of(v4l2_dev, struct
+                       mxc_vout_dev, v4l2_dev);
+
+       mxc_vout_free_output(dev);
+       v4l2_device_unregister(v4l2_dev);
+       kfree(dev);
+       return 0;
+}
+
+static const struct of_device_id mxc_v4l2_dt_ids[] = {
+       { .compatible = "fsl,mxc_v4l2_output", },
+       { /* sentinel */ }
+};
+
+static struct platform_driver mxc_vout_driver = {
+       .driver = {
+               .name = "mxc_v4l2_output",
+               .of_match_table = mxc_v4l2_dt_ids,
+       },
+       .probe = mxc_vout_probe,
+       .remove = mxc_vout_remove,
+};
+
+static int __init mxc_vout_init(void)
+{
+       if (platform_driver_register(&mxc_vout_driver) != 0) {
+               printk(KERN_ERR VOUT_NAME ":Could not register Video driver\n");
+               return -EINVAL;
+       }
+       return 0;
+}
+
+static void mxc_vout_cleanup(void)
+{
+       platform_driver_unregister(&mxc_vout_driver);
+}
+
+module_init(mxc_vout_init);
+module_exit(mxc_vout_cleanup);
+
+MODULE_AUTHOR("Freescale Semiconductor, Inc.");
+MODULE_DESCRIPTION("V4L2-driver for MXC video output");
+MODULE_LICENSE("GPL");
index bf80f0f7dfb853ab367887fb76cfc1d0be6c907e..14830e71f558f62459532085d56f88ebb24af885 100644 (file)
@@ -304,8 +304,12 @@ static int __videobuf_mmap_mapper(struct videobuf_queue *q,
 
        /* Try to remap memory */
        size = vma->vm_end - vma->vm_start;
-       vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
-       retval = vm_iomap_memory(vma, mem->dma_handle, size);
+       size = (size < mem->size) ? size : mem->size;
+
+       vma->vm_page_prot = pgprot_writecombine(vma->vm_page_prot);
+       retval = remap_pfn_range(vma, vma->vm_start,
+                                mem->dma_handle >> PAGE_SHIFT,
+                                size, vma->vm_page_prot);
        if (retval) {
                dev_err(q->dev, "mmap: remap failed with error %d. ",
                        retval);
diff --git a/drivers/mxc/Kconfig b/drivers/mxc/Kconfig
new file mode 100644 (file)
index 0000000..8aa5640
--- /dev/null
@@ -0,0 +1,21 @@
+# drivers/mxc/Kconfig
+
+if ARCH_MXC
+
+menu "MXC support drivers"
+
+config MXC_IPU
+       bool "Image Processing Unit Driver"
+       select MXC_IPU_V3
+       help
+         If you plan to use the Image Processing unit, say
+         Y here. IPU is needed by Framebuffer and V4L2 drivers.
+
+source "drivers/mxc/gpu-viv/Kconfig"
+source "drivers/mxc/ipu3/Kconfig"
+source "drivers/mxc/asrc/Kconfig"
+source "drivers/mxc/vpu/Kconfig"
+
+endmenu
+
+endif
diff --git a/drivers/mxc/Makefile b/drivers/mxc/Makefile
new file mode 100644 (file)
index 0000000..e18b67a
--- /dev/null
@@ -0,0 +1,4 @@
+obj-$(CONFIG_MXC_GPU_VIV) += gpu-viv/
+obj-$(CONFIG_MXC_IPU_V3) += ipu3/
+obj-$(CONFIG_MXC_ASRC) += asrc/
+obj-$(CONFIG_MXC_VPU) += vpu/
diff --git a/drivers/mxc/asrc/Kconfig b/drivers/mxc/asrc/Kconfig
new file mode 100644 (file)
index 0000000..ddf85e6
--- /dev/null
@@ -0,0 +1,14 @@
+#
+# ASRC configuration
+#
+
+menu "MXC Asynchronous Sample Rate Converter support"
+
+config MXC_ASRC
+       tristate "ASRC support"
+       depends on SOC_IMX35 || SOC_IMX53 || SOC_IMX6Q
+       select SND_SOC_FSL_ASRC
+       ---help---
+         Say Y to get the ASRC service.
+
+endmenu
diff --git a/drivers/mxc/asrc/Makefile b/drivers/mxc/asrc/Makefile
new file mode 100644 (file)
index 0000000..7e9aba3
--- /dev/null
@@ -0,0 +1,4 @@
+#
+# Makefile for the kernel Asynchronous Sample Rate Converter driver
+#
+obj-$(CONFIG_MXC_ASRC) += mxc_asrc.o
diff --git a/drivers/mxc/asrc/mxc_asrc.c b/drivers/mxc/asrc/mxc_asrc.c
new file mode 100644 (file)
index 0000000..74507c6
--- /dev/null
@@ -0,0 +1,2066 @@
+/*
+ * Copyright 2008-2013 Freescale Semiconductor, Inc. All Rights Reserved.
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file mxc_asrc.c
+ *
+ * @brief MXC Asynchronous Sample Rate Converter
+ *
+ * @ingroup Audio
+ */
+
+#include <linux/module.h>
+#include <linux/platform_device.h>
+#include <linux/miscdevice.h>
+#include <linux/kernel.h>
+#include <linux/init.h>
+#include <linux/clk.h>
+#include <linux/slab.h>
+#include <linux/ctype.h>
+#include <linux/regmap.h>
+#include <linux/pagemap.h>
+#include <linux/vmalloc.h>
+#include <linux/types.h>
+#include <linux/version.h>
+#include <linux/interrupt.h>
+#include <linux/proc_fs.h>
+#include <linux/dma-mapping.h>
+#include <linux/fsl_devices.h>
+#include <linux/sched.h>
+#include <asm/irq.h>
+#include <linux/memory.h>
+#include <linux/delay.h>
+#include <linux/of_address.h>
+#include <linux/of_irq.h>
+#include <linux/of_platform.h>
+#include <linux/platform_data/dma-imx.h>
+#include <linux/mxc_asrc.h>
+
+#define ASRC_PROC_PATH "driver/asrc"
+
+#define ASRC_RATIO_DECIMAL_DEPTH 26
+
+DEFINE_SPINLOCK(data_lock);
+DEFINE_SPINLOCK(pair_lock);
+
+/* Sample rates are aligned with that defined in pcm.h file */
+static const unsigned char asrc_process_table[][8][2] = {
+       /* 32kHz 44.1kHz 48kHz   64kHz   88.2kHz 96kHz   176kHz  192kHz */
+       {{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0},},      /* 5512Hz */
+       {{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0},},      /* 8kHz */
+       {{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0},},      /* 11025Hz */
+       {{0, 1}, {0, 1}, {0, 1}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0},},      /* 16kHz */
+       {{0, 1}, {0, 1}, {0, 1}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0},},      /* 22050Hz */
+       {{0, 1}, {0, 1}, {0, 1}, {0, 1}, {0, 1}, {0, 0}, {0, 0}, {0, 0},},      /* 32kHz */
+       {{0, 2}, {0, 1}, {0, 1}, {0, 1}, {0, 1}, {0, 1}, {0, 0}, {0, 0},},      /* 44.1kHz */
+       {{0, 2}, {0, 2}, {0, 1}, {0, 1}, {0, 1}, {0, 1}, {0, 0}, {0, 0},},      /* 48kHz */
+       {{1, 2}, {0, 2}, {0, 2}, {0, 1}, {0, 1}, {0, 1}, {0, 1}, {0, 0},},      /* 64kHz */
+       {{1, 2}, {1, 2}, {1, 2}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1},},      /* 88.2kHz */
+       {{1, 2}, {1, 2}, {1, 2}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1},},      /* 96kHz */
+       {{2, 2}, {2, 2}, {2, 2}, {2, 1}, {2, 1}, {2, 1}, {2, 1}, {2, 1},},      /* 176kHz */
+       {{2, 2}, {2, 2}, {2, 2}, {2, 1}, {2, 1}, {2, 1}, {2, 1}, {2, 1},},      /* 192kHz */
+};
+
+static struct asrc_data *asrc;
+
+/*
+ * The following tables map the relationship between asrc_inclk/asrc_outclk in
+ * mxc_asrc.h and the registers of ASRCSR
+ */
+static unsigned char input_clk_map_v1[] = {
+       0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf,
+};
+
+static unsigned char output_clk_map_v1[] = {
+       0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf,
+};
+
+/* V2 uses the same map for input and output */
+static unsigned char input_clk_map_v2[] = {
+/*     0x0  0x1  0x2  0x3  0x4  0x5  0x6  0x7  0x8  0x9  0xa  0xb  0xc  0xd  0xe  0xf*/
+       0x0, 0x1, 0x2, 0x7, 0x4, 0x5, 0x6, 0x3, 0x8, 0x9, 0xa, 0xb, 0xc, 0xf, 0xe, 0xd,
+};
+
+static unsigned char output_clk_map_v2[] = {
+/*     0x0  0x1  0x2  0x3  0x4  0x5  0x6  0x7  0x8  0x9  0xa  0xb  0xc  0xd  0xe  0xf*/
+       0x8, 0x9, 0xa, 0x7, 0xc, 0x5, 0x6, 0xb, 0x0, 0x1, 0x2, 0x3, 0x4, 0xf, 0xe, 0xd,
+};
+
+static unsigned char *input_clk_map, *output_clk_map;
+
+/* ALL registers of ASRC are 24-bit efficient */
+static u32 asrc_regmap_read(struct regmap *map, unsigned int reg,
+                             unsigned int *val)
+{
+#ifndef ASRC_USE_REGMAP
+       *val = readl((void __iomem *)asrc->vaddr + reg) & 0xffffff;
+       return *val;
+#else
+       return regmap_read(map, reg, val);
+#endif
+}
+
+static void asrc_regmap_write(struct regmap *map, unsigned int reg,
+                              unsigned int val)
+{
+#ifndef ASRC_USE_REGMAP
+       writel(val & 0xffffff, (void __iomem *)asrc->vaddr + reg);
+#else
+       return regmap_write(map, reg, val);
+#endif
+}
+
+static void asrc_regmap_update_bits(struct regmap *map, unsigned int reg,
+                                    unsigned int mask, unsigned int val)
+{
+#ifndef ASRC_USE_REGMAP
+       u32 regval;
+
+       regval = readl((void __iomem *)asrc->vaddr + reg) & 0xffffff;
+       regval = (regval & ~mask) | (val & mask);
+       writel(regval & 0xffffff, (void __iomem *)asrc->vaddr + reg);
+#else
+       regmap_update_bits(map, reg, mask, val);
+#endif
+}
+
+/* Set ASRC_REG_ASRCNCR reg, only supporting one-pair setting at once */
+static int asrc_set_channel_number(enum asrc_pair_index index, u32 val)
+{
+       u32 num;
+
+       asrc_regmap_read(asrc->regmap, REG_ASRCNCR, &num);
+
+       switch (index) {
+       case ASRC_PAIR_A:
+               num &= ~ASRCNCR_ANCA_MASK(asrc->channel_bits);
+               num |= val;
+               break;
+       case ASRC_PAIR_B:
+               num &= ~ASRCNCR_ANCB_MASK(asrc->channel_bits);
+               num |= val << asrc->channel_bits;
+               break;
+       case ASRC_PAIR_C:
+               num &= ~ASRCNCR_ANCC_MASK(asrc->channel_bits);
+               num |= val << asrc->channel_bits * 2;
+               break;
+       default:
+               dev_err(asrc->dev, "ASRC pair number not exists.\n");
+               return -EINVAL;
+       }
+
+       asrc_regmap_write(asrc->regmap, REG_ASRCNCR, num);
+
+       return 0;
+}
+
+#ifdef DEBUG
+u32 asrc_reg[] = {
+       REG_ASRCTR,
+       REG_ASRIER,
+       REG_ASRCNCR,
+       REG_ASRCFG,
+       REG_ASRCSR,
+       REG_ASRCDR1,
+       REG_ASRCDR2,
+       REG_ASRSTR,
+       REG_ASRRA,
+       REG_ASRRB,
+       REG_ASRRC,
+       REG_ASRPM1,
+       REG_ASRPM2,
+       REG_ASRPM3,
+       REG_ASRPM4,
+       REG_ASRPM5,
+       REG_ASRTFR1,
+       REG_ASRCCR,
+       REG_ASRIDRHA,
+       REG_ASRIDRLA,
+       REG_ASRIDRHB,
+       REG_ASRIDRLB,
+       REG_ASRIDRHC,
+       REG_ASRIDRLC,
+       REG_ASR76K,
+       REG_ASR56K,
+       REG_ASRMCRA,
+       REG_ASRFSTA,
+       REG_ASRMCRB,
+       REG_ASRFSTB,
+       REG_ASRMCRC,
+       REG_ASRFSTC,
+       REG_ASRMCR1A,
+       REG_ASRMCR1B,
+       REG_ASRMCR1C,
+};
+
+static void dump_regs(void)
+{
+       u32 reg, val;
+       int i;
+
+       for (i = 0; i < ARRAY_SIZE(asrc_reg); i++) {
+               reg = asrc_reg[i];
+               asrc_regmap_read(asrc->regmap, reg, &val);
+               pr_debug("REG addr=0x%x val=0x%x\n", reg, val);
+       }
+}
+#else
+static void dump_regs(void) {}
+#endif
+
+/* Only used for Ideal Ratio mode */
+static int asrc_set_clock_ratio(enum asrc_pair_index index,
+               int inrate, int outrate)
+{
+       unsigned long val = 0;
+       int integ;
+       int i;
+
+       if (outrate == 0) {
+               dev_err(asrc->dev, "Wrong output sample rate: %d\n", outrate);
+               return -EINVAL;
+       }
+
+       /* Formula: r = (1 << ASRC_RATIO_DECIMAL_DEPTH) / outrate * inrate; */
+       for (integ = 0; inrate >= outrate; integ++)
+               inrate -= outrate;
+
+       val |= (integ << ASRC_RATIO_DECIMAL_DEPTH);
+
+       for (i = 1; i <= ASRC_RATIO_DECIMAL_DEPTH; i++) {
+               if ((inrate * 2) >= outrate) {
+                       val |= (1 << (ASRC_RATIO_DECIMAL_DEPTH - i));
+                       inrate = inrate * 2 - outrate;
+               } else
+                       inrate = inrate << 1;
+
+               if (inrate == 0)
+                       break;
+       }
+
+       asrc_regmap_write(asrc->regmap, REG_ASRIDRL(index), val);
+       asrc_regmap_write(asrc->regmap, REG_ASRIDRH(index), (val >> 24));
+
+       return 0;
+}
+
+/* Corresponding to asrc_process_table */
+static int supported_input_rate[] = {
+       5512, 8000, 11025, 16000, 22050, 32000, 44100, 48000, 64000, 88200,
+       96000, 176400, 192000,
+};
+
+static int supported_output_rate[] = {
+       32000, 44100, 48000, 64000, 88200, 96000, 176400, 192000,
+};
+
+static int asrc_set_process_configuration(enum asrc_pair_index index,
+               int inrate, int outrate)
+{
+       int in, out;
+
+       for (in = 0; in < ARRAY_SIZE(supported_input_rate); in++) {
+               if (inrate == supported_input_rate[in])
+                       break;
+       }
+
+       if (in == ARRAY_SIZE(supported_input_rate)) {
+               dev_err(asrc->dev, "Unsupported input sample rate: %d\n", in);
+               return -EINVAL;
+       }
+
+       for (out = 0; out < ARRAY_SIZE(supported_output_rate); out++) {
+               if (outrate == supported_output_rate[out])
+                       break;
+       }
+
+       if (out == ARRAY_SIZE(supported_output_rate)) {
+               dev_err(asrc->dev, "Unsupported output sample rate: %d\n", out);
+               return -EINVAL;
+       }
+
+       asrc_regmap_update_bits(asrc->regmap, REG_ASRCFG,
+                       ASRCFG_PREMODx_MASK(index) | ASRCFG_POSTMODx_MASK(index),
+                       ASRCFG_PREMOD(index, asrc_process_table[in][out][0]) |
+                       ASRCFG_POSTMOD(index, asrc_process_table[in][out][1]));
+
+       return 0;
+}
+
+static int asrc_get_asrck_clock_divider(int samplerate)
+{
+       unsigned int prescaler, divider;
+       unsigned int ratio, ra;
+       unsigned long bitclk;
+       unsigned int i;
+
+       if (samplerate == 0) {
+               dev_err(asrc->dev, "Wrong sample rate: %d\n", samplerate);
+               return -EINVAL;
+       }
+
+       bitclk = clk_get_rate(asrc->asrc_clk);
+
+       ra = bitclk/samplerate;
+       ratio = ra;
+
+       /* Calculate the prescaler */
+       for (i = 0; ratio > 8; i++)
+               ratio >>= 1;
+
+       prescaler = i;
+
+       /* Calculate the divider */
+       if (i)
+               divider = ((ra + (1 << (i - 1)) - 1) >> i) - 1;
+       else
+               divider = ra - 1;
+
+       /* The totally divider is (2 ^ prescaler) * divider */
+       return (divider << ASRCDRx_AxCPx_WIDTH) + prescaler;
+}
+
+int asrc_req_pair(int chn_num, enum asrc_pair_index *index)
+{
+       struct asrc_pair *pair;
+       unsigned long lock_flags;
+       int imax = 0, busy = 0, i, ret = 0;
+
+       spin_lock_irqsave(&data_lock, lock_flags);
+
+       for (i = ASRC_PAIR_A; i < ASRC_PAIR_MAX_NUM; i++) {
+               pair = &asrc->asrc_pair[i];
+               if (chn_num > pair->chn_max) {
+                       imax++;
+                       continue;
+               } else if (pair->active) {
+                       busy++;
+                       continue;
+               }
+               /* Save the current qualified pair */
+               *index = i;
+
+               /* Check if this pair is a perfect one */
+               if (chn_num == pair->chn_max)
+                       break;
+       }
+
+       if (imax == ASRC_PAIR_MAX_NUM) {
+               dev_err(asrc->dev, "No pair could afford requested channel number.\n");
+               ret = -EINVAL;
+       } else if (busy == ASRC_PAIR_MAX_NUM) {
+               dev_err(asrc->dev, "All pairs are busy now.\n");
+               ret = -EBUSY;
+       } else if (busy + imax >= ASRC_PAIR_MAX_NUM) {
+               pr_err("All affordable pairs are busy now.\n");
+               ret = -EBUSY;
+       } else {
+               pair = &asrc->asrc_pair[*index];
+               pair->chn_num = chn_num;
+               pair->active = 1;
+       }
+
+       spin_unlock_irqrestore(&data_lock, lock_flags);
+
+       if (!ret)
+               clk_enable(asrc->asrc_clk);
+
+       return ret;
+}
+EXPORT_SYMBOL(asrc_req_pair);
+
+void asrc_release_pair(enum asrc_pair_index index)
+{
+       struct asrc_pair *pair = &asrc->asrc_pair[index];
+       unsigned long lock_flags;
+
+       spin_lock_irqsave(&data_lock, lock_flags);
+
+       pair->active = 0;
+       pair->overload_error = 0;
+
+       /* Disable PAIR */
+       asrc_regmap_update_bits(asrc->regmap, REG_ASRCTR,
+                       ASRCTR_ASRCEx_MASK(index), 0);
+
+       spin_unlock_irqrestore(&data_lock, lock_flags);
+}
+EXPORT_SYMBOL(asrc_release_pair);
+
+int asrc_config_pair(struct asrc_config *config)
+{
+       u32 inrate = config->input_sample_rate, indiv;
+       u32 outrate = config->output_sample_rate, outdiv;
+       unsigned long lock_flags;
+       int index = config->pair;
+       int channel_num;
+       int ret;
+
+       /* Set the channel number */
+       spin_lock_irqsave(&data_lock, lock_flags);
+       asrc->asrc_pair[index].chn_num = config->channel_num;
+       spin_unlock_irqrestore(&data_lock, lock_flags);
+
+       if (asrc->channel_bits > 3)
+               channel_num = config->channel_num;
+       else
+               channel_num = (config->channel_num + 1) / 2;
+
+       asrc_set_channel_number(index, channel_num);
+
+       /* Set the clock source */
+       asrc_regmap_update_bits(asrc->regmap, REG_ASRCSR,
+                       ASRCSR_AICSx_MASK(index) | ASRCSR_AOCSx_MASK(index),
+                       ASRCSR_AICS(index, input_clk_map[config->inclk]) |
+                       ASRCSR_AOCS(index, output_clk_map[config->outclk]));
+
+       /* Default setting: Automatic selection for processing mode */
+       asrc_regmap_update_bits(asrc->regmap, REG_ASRCTR,
+                       ASRCTR_ATSx_MASK(index), ASRCTR_ATS(index));
+       asrc_regmap_update_bits(asrc->regmap, REG_ASRCTR,
+                       ASRCTR_USRx_MASK(index), 0);
+
+       /* Default Input Clock Divider Setting */
+       switch (config->inclk & ASRCSR_AxCSx_MASK) {
+       case INCLK_SPDIF_RX:
+               indiv = ASRC_PRESCALER_SPDIF_RX;
+               break;
+       case INCLK_SPDIF_TX:
+               indiv = ASRC_PRESCALER_SPDIF_TX;
+               break;
+       case INCLK_ASRCK1_CLK:
+               indiv = asrc_get_asrck_clock_divider(inrate);
+               break;
+       default:
+               switch (config->input_word_width) {
+               case ASRC_WIDTH_16_BIT:
+                       indiv = ASRC_PRESCALER_I2S_16BIT;
+                       break;
+               case ASRC_WIDTH_24_BIT:
+                       indiv = ASRC_PRESCALER_I2S_24BIT;
+                       break;
+               default:
+                       dev_err(asrc->dev, "Unsupported input word width %d\n",
+                                       config->input_word_width);
+                       return -EINVAL;
+               }
+               break;
+       }
+
+       /* Default Output Clock Divider Setting */
+       switch (config->outclk & ASRCSR_AxCSx_MASK) {
+       case OUTCLK_SPDIF_RX:
+               outdiv = ASRC_PRESCALER_SPDIF_RX;
+               break;
+       case OUTCLK_SPDIF_TX:
+               outdiv = ASRC_PRESCALER_SPDIF_TX;
+               break;
+       case OUTCLK_ASRCK1_CLK:
+               if ((config->inclk & ASRCSR_AxCSx_MASK) == INCLK_NONE)
+                       outdiv = ASRC_PRESCALER_IDEAL_RATIO;
+               else
+                       outdiv = asrc_get_asrck_clock_divider(outrate);
+               break;
+       default:
+               switch (config->output_word_width) {
+               case ASRC_WIDTH_16_BIT:
+                       outdiv = ASRC_PRESCALER_I2S_16BIT;
+                       break;
+               case ASRC_WIDTH_24_BIT:
+                       outdiv = ASRC_PRESCALER_I2S_24BIT;
+                       break;
+               default:
+                       dev_err(asrc->dev, "Unsupported output word width %d\n",
+                                       config->input_word_width);
+                       return -EINVAL;
+               }
+               break;
+       }
+
+       /* indiv and outdiv'd include prescaler's value, so add its MASK too */
+       asrc_regmap_update_bits(asrc->regmap, REG_ASRCDR(index),
+                       ASRCDRx_AOCPx_MASK(index) | ASRCDRx_AICPx_MASK(index) |
+                       ASRCDRx_AOCDx_MASK(index) | ASRCDRx_AICDx_MASK(index),
+                       ASRCDRx_AOCP(index, outdiv) | ASRCDRx_AICP(index, indiv));
+
+       /* Check whether ideal ratio is a must */
+       switch (config->inclk & ASRCSR_AxCSx_MASK) {
+       case INCLK_NONE:
+               /* Clear ASTSx bit to use ideal ratio */
+               asrc_regmap_update_bits(asrc->regmap, REG_ASRCTR,
+                               ASRCTR_ATSx_MASK(index), 0);
+
+               asrc_regmap_update_bits(asrc->regmap, REG_ASRCTR,
+                               ASRCTR_IDRx_MASK(index) | ASRCTR_USRx_MASK(index),
+                               ASRCTR_IDR(index) | ASRCTR_USR(index));
+
+               ret = asrc_set_clock_ratio(index, inrate, outrate);
+               if (ret)
+                       return ret;
+
+               ret = asrc_set_process_configuration(index, inrate, outrate);
+               if (ret)
+                       return ret;
+
+               break;
+       case INCLK_ASRCK1_CLK:
+               /* This case and default are both remained for v1 */
+               if (inrate == 44100 || inrate == 88200) {
+                       dev_err(asrc->dev, "Unsupported sample rate %d by ASRC clock.\n",
+                                       inrate);
+                       return -EINVAL;
+               }
+               break;
+       default:
+               if ((config->outclk & ASRCSR_AxCSx_MASK) != OUTCLK_ASRCK1_CLK)
+                       break;
+
+               if (outrate == 44100 || outrate == 88200) {
+                       dev_err(asrc->dev, "Unsupported sample rate %d by ASRC clock.\n",
+                                       outrate);
+                       return -EINVAL;
+               }
+               break;
+       }
+
+       /* Config input and output wordwidth */
+       if (config->output_word_width == ASRC_WIDTH_8_BIT) {
+               dev_err(asrc->dev, "Unsupported wordwidth for output: 8bit.\n");
+               dev_err(asrc->dev, "Output only support: 16bit or 24bit.\n");
+               return -EINVAL;
+       }
+
+       asrc_regmap_update_bits(asrc->regmap, REG_ASRMCR1(index),
+                       ASRMCR1x_OW16_MASK | ASRMCR1x_IWD_MASK,
+                       ASRMCR1x_OW16(config->output_word_width) |
+                       ASRMCR1x_IWD(config->input_word_width));
+
+       /* Enable BUFFER STALL */
+       asrc_regmap_update_bits(asrc->regmap, REG_ASRMCR(index),
+                       ASRMCRx_BUFSTALLx_MASK, ASRMCRx_BUFSTALLx);
+
+       /* Set Threshold for input and output FIFO */
+       ret = asrc_set_watermark(index, ASRC_INPUTFIFO_THRESHOLD,
+                       ASRC_INPUTFIFO_THRESHOLD);
+
+       return ret;
+}
+EXPORT_SYMBOL(asrc_config_pair);
+
+#define ASRC_MAX_FIFO_THRESHOLD                63
+
+int asrc_set_watermark(enum asrc_pair_index index, u32 in_wm, u32 out_wm)
+{
+       if (in_wm > ASRC_MAX_FIFO_THRESHOLD ||
+                       out_wm > ASRC_MAX_FIFO_THRESHOLD) {
+               dev_err(asrc->dev, "Error watermark!\n");
+               return -EINVAL;
+       }
+
+       asrc_regmap_update_bits(asrc->regmap, REG_ASRMCR(index),
+                       ASRMCRx_EXTTHRSHx_MASK | ASRMCRx_INFIFO_THRESHOLD_MASK |
+                       ASRMCRx_OUTFIFO_THRESHOLD_MASK,
+                       ASRMCRx_EXTTHRSHx | ASRMCRx_INFIFO_THRESHOLD(in_wm) |
+                       ASRMCRx_OUTFIFO_THRESHOLD(out_wm));
+
+       return 0;
+}
+EXPORT_SYMBOL(asrc_set_watermark);
+
+void asrc_start_conv(enum asrc_pair_index index)
+{
+       unsigned long lock_flags;
+       int reg, retry;
+
+       spin_lock_irqsave(&data_lock, lock_flags);
+
+       asrc_regmap_update_bits(asrc->regmap, REG_ASRCTR,
+                       ASRCTR_ASRCEx_MASK(index), ASRCTR_ASRCE(index));
+
+       /* Wait for status of initialization */
+       for (retry = 10, reg = 0; !reg && retry; --retry) {
+               udelay(5);
+               asrc_regmap_read(asrc->regmap, REG_ASRCFG, &reg);
+               reg &= ASRCFG_INIRQx_MASK(index);
+       }
+
+       /* Overload Interrupt Enable */
+       asrc_regmap_write(asrc->regmap, REG_ASRIER, ASRIER_AOLIE);
+
+       spin_unlock_irqrestore(&data_lock, lock_flags);
+
+       return;
+}
+EXPORT_SYMBOL(asrc_start_conv);
+
+void asrc_stop_conv(enum asrc_pair_index index)
+{
+       unsigned long lock_flags;
+
+       spin_lock_irqsave(&data_lock, lock_flags);
+
+       asrc_regmap_update_bits(asrc->regmap, REG_ASRCTR,
+                       ASRCTR_ASRCEx_MASK(index), 0);
+
+       spin_unlock_irqrestore(&data_lock, lock_flags);
+
+       return;
+}
+EXPORT_SYMBOL(asrc_stop_conv);
+
+void asrc_finish_conv(enum asrc_pair_index index)
+{
+       clk_disable(asrc->asrc_clk);
+       return;
+}
+EXPORT_SYMBOL(asrc_finish_conv);
+
+#define SET_OVERLOAD_ERR(index, err) \
+       do {asrc->asrc_pair[index].overload_error |= err; } while (0)
+
+static irqreturn_t asrc_isr(int irq, void *dev_id)
+{
+       enum asrc_pair_index index;
+       u32 status;
+
+       asrc_regmap_read(asrc->regmap, REG_ASRSTR, &status);
+
+       for (index = ASRC_PAIR_A; index < ASRC_PAIR_MAX_NUM; index++) {
+               if (asrc->asrc_pair[index].active == 0)
+                       continue;
+               if (status & ASRSTR_ATQOL)
+                       SET_OVERLOAD_ERR(index, ASRC_TASK_Q_OVERLOAD);
+               if (status & ASRSTR_AOOL(index))
+                       SET_OVERLOAD_ERR(index, ASRC_OUTPUT_TASK_OVERLOAD);
+               if (status & ASRSTR_AIOL(index))
+                       SET_OVERLOAD_ERR(index, ASRC_INPUT_TASK_OVERLOAD);
+               if (status & ASRSTR_AODO(index))
+                       SET_OVERLOAD_ERR(index, ASRC_OUTPUT_BUFFER_OVERFLOW);
+               if (status & ASRSTR_AIDU(index))
+                       SET_OVERLOAD_ERR(index, ASRC_INPUT_BUFFER_UNDERRUN);
+       }
+
+       /* Clean overload error  */
+       asrc_regmap_update_bits(asrc->regmap, REG_ASRSTR,
+                       ASRSTR_AOLE_MASK, ASRSTR_AOLE);
+
+       return IRQ_HANDLED;
+}
+
+void asrc_get_status(struct asrc_status_flags *flags)
+{
+       enum asrc_pair_index index = flags->index;
+       unsigned long lock_flags;
+
+       spin_lock_irqsave(&data_lock, lock_flags);
+
+       flags->overload_error = asrc->asrc_pair[index].overload_error;
+
+       spin_unlock_irqrestore(&data_lock, lock_flags);
+
+       return;
+}
+EXPORT_SYMBOL(asrc_get_status);
+
+u32 asrc_get_per_addr(enum asrc_pair_index index, bool in)
+{
+       u32 addr = in ? REG_ASRDI(index) : REG_ASRDO(index);
+
+       return asrc->paddr + addr;
+}
+EXPORT_SYMBOL(asrc_get_per_addr);
+
+static int mxc_init_asrc(void)
+{
+       clk_enable(asrc->asrc_clk);
+
+       /* Halt ASRC internal FP when input FIFO needs data for pair A, B, C */
+       asrc_regmap_write(asrc->regmap, REG_ASRCTR, ASRCTR_ASRCEN);
+
+       /* Disable interrupt by default */
+       asrc_regmap_write(asrc->regmap, REG_ASRIER, 0x0);
+
+       /* Default 2: 6: 2 channel assignment */
+       asrc_set_channel_number(ASRC_PAIR_A, 2);
+       asrc_set_channel_number(ASRC_PAIR_B, 6);
+       asrc_set_channel_number(ASRC_PAIR_C, 2);
+
+       /* Parameter Registers recommended settings */
+       asrc_regmap_write(asrc->regmap, REG_ASRPM1, 0x7fffff);
+       asrc_regmap_write(asrc->regmap, REG_ASRPM2, 0x255555);
+       asrc_regmap_write(asrc->regmap, REG_ASRPM3, 0xff7280);
+       asrc_regmap_write(asrc->regmap, REG_ASRPM4, 0xff7280);
+       asrc_regmap_write(asrc->regmap, REG_ASRPM5, 0xff7280);
+
+       /* Base address for task queue FIFO. Set to 0x7C */
+       asrc_regmap_update_bits(asrc->regmap, REG_ASRTFR1,
+                       ASRTFR1_TF_BASE_MASK, ASRTFR1_TF_BASE(0xfc));
+
+       /* Set the processing clock for 76KHz, 133M */
+       asrc_regmap_write(asrc->regmap, REG_ASR76K, 0x06D6);
+
+       /* Set the processing clock for 56KHz, 133M */
+       asrc_regmap_write(asrc->regmap, REG_ASR56K, 0x0947);
+
+       clk_disable(asrc->asrc_clk);
+
+       return 0;
+}
+
+#define ASRC_xPUT_DMA_CALLBACK(in) \
+       ((in) ? asrc_input_dma_callback : asrc_output_dma_callback)
+
+static void asrc_input_dma_callback(void *data)
+{
+       struct asrc_pair_params *params = (struct asrc_pair_params *)data;
+
+       dma_unmap_sg(NULL, params->input_sg, params->input_sg_nodes,
+                       DMA_MEM_TO_DEV);
+
+       complete(&params->input_complete);
+
+       schedule_work(&params->task_output_work);
+
+       return;
+}
+
+static void asrc_output_dma_callback(void *data)
+{
+       struct asrc_pair_params *params = (struct asrc_pair_params *)data;
+
+       dma_unmap_sg(NULL, params->output_sg, params->output_sg_nodes,
+                       DMA_DEV_TO_MEM);
+
+       complete(&params->output_complete);
+}
+
+static unsigned int asrc_get_output_FIFO_size(enum asrc_pair_index index)
+{
+       u32 val;
+
+       asrc_regmap_read(asrc->regmap, REG_ASRFST(index), &val);
+
+       val &= ASRFSTx_OUTPUT_FIFO_MASK;
+
+       return val >> ASRFSTx_OUTPUT_FIFO_SHIFT;
+}
+
+static unsigned int asrc_get_input_FIFO_size(enum asrc_pair_index index)
+{
+       u32 val;
+
+       asrc_regmap_read(asrc->regmap, REG_ASRFST(index), &val);
+
+       val &= ASRFSTx_INPUT_FIFO_MASK;
+
+       return val >> ASRFSTx_INPUT_FIFO_SHIFT;
+}
+
+static u32 asrc_read_one_from_output_FIFO(enum asrc_pair_index index)
+{
+       u32 val;
+
+       asrc_regmap_read(asrc->regmap, REG_ASRDO(index), &val);
+
+       return val;
+}
+
+static void asrc_write_one_to_output_FIFO(enum asrc_pair_index index, u32 val)
+{
+       asrc_regmap_write(asrc->regmap, REG_ASRDI(index), val);
+}
+
+static void asrc_read_output_FIFO(struct asrc_pair_params *params)
+{
+       u32 *reg24 = params->output_last_period.dma_vaddr;
+       u16 *reg16 = params->output_last_period.dma_vaddr;
+       enum asrc_pair_index index = params->index;
+       u32 i, j, reg, size, t_size;
+       bool bit24 = false;
+
+       if (params->output_word_width == ASRC_WIDTH_24_BIT)
+               bit24 = true;
+
+       t_size = 0;
+       do {
+               size = asrc_get_output_FIFO_size(index);
+               for (i = 0; i < size; i++) {
+                       for (j = 0; j < params->channel_nums; j++) {
+                               reg = asrc_read_one_from_output_FIFO(index);
+                               if (bit24) {
+                                       *(reg24) = reg;
+                                       reg24++;
+                               } else {
+                                       *(reg16) = (u16)reg;
+                                       reg16++;
+                               }
+                       }
+               }
+               t_size += size;
+       } while (size);
+
+       if (t_size > params->last_period_sample)
+               t_size = params->last_period_sample;
+
+       params->output_last_period.length = t_size * params->channel_nums * 2;
+       if (bit24)
+               params->output_last_period.length *= 2;
+}
+
+static void asrc_output_task_worker(struct work_struct *w)
+{
+       struct asrc_pair_params *params =
+               container_of(w, struct asrc_pair_params, task_output_work);
+       unsigned long lock_flags;
+
+       if (!params->pair_hold)
+               return;
+
+       if (!wait_for_completion_interruptible_timeout(&params->output_complete, HZ)) {
+               dev_err(asrc->dev, "output dma callback timeout for Pair %c\n",
+                               'A' + params->index);
+               return;
+       }
+
+       init_completion(&params->output_complete);
+
+       spin_lock_irqsave(&pair_lock, lock_flags);
+       asrc_read_output_FIFO(params);
+       spin_unlock_irqrestore(&pair_lock, lock_flags);
+
+       complete(&params->lastperiod_complete);
+}
+
+static void mxc_free_dma_buf(struct asrc_pair_params *params)
+{
+       if (params->input_dma_total.dma_vaddr != NULL) {
+               kfree(params->input_dma_total.dma_vaddr);
+               params->input_dma_total.dma_vaddr = NULL;
+       }
+
+       if (params->output_dma_total.dma_vaddr != NULL) {
+               kfree(params->output_dma_total.dma_vaddr);
+               params->output_dma_total.dma_vaddr = NULL;
+       }
+
+       if (params->output_last_period.dma_vaddr) {
+               dma_free_coherent(asrc->dev, 1024 * params->last_period_sample,
+                               params->output_last_period.dma_vaddr,
+                               params->output_last_period.dma_paddr);
+               params->output_last_period.dma_vaddr = NULL;
+       }
+
+       return;
+}
+
+static int mxc_allocate_dma_buf(struct asrc_pair_params *params)
+{
+       struct dma_block *input_a, *output_a, *last_period;
+
+       input_a = &params->input_dma_total;
+       output_a = &params->output_dma_total;
+       last_period = &params->output_last_period;
+
+       input_a->dma_vaddr = kzalloc(input_a->length, GFP_KERNEL);
+       if (!input_a->dma_vaddr) {
+               dev_err(asrc->dev, "failed to allocate input dma buffer!\n");
+               goto exit;
+       }
+       input_a->dma_paddr = virt_to_dma(NULL, input_a->dma_vaddr);
+
+       output_a->dma_vaddr = kzalloc(output_a->length, GFP_KERNEL);
+       if (!output_a->dma_vaddr) {
+               dev_err(asrc->dev, "failed to allocate output dma buffer!\n");
+               goto exit;
+       }
+       output_a->dma_paddr = virt_to_dma(NULL, output_a->dma_vaddr);
+
+       last_period->dma_vaddr = dma_alloc_coherent(asrc->dev,
+                       1024 * params->last_period_sample,
+                       &last_period->dma_paddr, GFP_KERNEL);
+
+       return 0;
+
+exit:
+       mxc_free_dma_buf(params);
+       dev_err(asrc->dev, "failed to allocate buffer.\n");
+
+       return -ENOBUFS;
+}
+
+static struct dma_chan *imx_asrc_dma_request_channel(
+               struct asrc_pair_params *params, bool in)
+{
+       char name[4];
+
+       sprintf(name, "%cx%c", in ? 'r' : 't', params->index + 'a');
+
+       return dma_request_slave_channel(asrc->dev, name);
+}
+
+static int imx_asrc_dma_config(struct asrc_pair_params *params,
+               struct dma_chan *chan, u32 dma_addr, void *buf_addr,
+               u32 buf_len, bool in, enum asrc_word_width word_width)
+{
+       struct dma_async_tx_descriptor *desc;
+       struct dma_slave_config slave_config;
+       enum dma_slave_buswidth buswidth;
+       struct scatterlist *sg;
+       unsigned int sg_nent, i;
+       int ret;
+
+       if (in) {
+               sg = params->input_sg;
+               sg_nent = params->input_sg_nodes;
+               desc = params->desc_in;
+       } else {
+               sg = params->output_sg;
+               sg_nent = params->output_sg_nodes;
+               desc = params->desc_out;
+       }
+
+       switch (word_width) {
+       case ASRC_WIDTH_16_BIT:
+               buswidth = DMA_SLAVE_BUSWIDTH_2_BYTES;
+               break;
+       case ASRC_WIDTH_24_BIT:
+               buswidth = DMA_SLAVE_BUSWIDTH_4_BYTES;
+               break;
+       default:
+               dev_err(asrc->dev, "Error word_width.\n");
+               return -EINVAL;
+       }
+
+       slave_config.dma_request0 = 0;
+       slave_config.dma_request1 = 0;
+
+       if (in) {
+               slave_config.direction = DMA_MEM_TO_DEV;
+               slave_config.dst_addr = dma_addr;
+               slave_config.dst_addr_width = buswidth;
+               slave_config.dst_maxburst =
+                       params->input_wm * params->channel_nums / buswidth;
+       } else {
+               slave_config.direction = DMA_DEV_TO_MEM;
+               slave_config.src_addr = dma_addr;
+               slave_config.src_addr_width = buswidth;
+               slave_config.src_maxburst =
+                       params->output_wm * params->channel_nums / buswidth;
+       }
+       ret = dmaengine_slave_config(chan, &slave_config);
+       if (ret) {
+               dev_err(asrc->dev, "imx_asrc_dma_config(%d) failed: %d\r\n", in, ret);
+               return -EINVAL;
+       }
+
+       sg_init_table(sg, sg_nent);
+       switch (sg_nent) {
+       case 1:
+               sg_init_one(sg, buf_addr, buf_len);
+               break;
+       case 2:
+       case 3:
+       case 4:
+               for (i = 0; i < (sg_nent - 1); i++)
+                       sg_set_buf(&sg[i], buf_addr + i * ASRC_MAX_BUFFER_SIZE,
+                                       ASRC_MAX_BUFFER_SIZE);
+
+               sg_set_buf(&sg[i], buf_addr + i * ASRC_MAX_BUFFER_SIZE,
+                               buf_len - ASRC_MAX_BUFFER_SIZE * i);
+               break;
+       default:
+               dev_err(asrc->dev, "Error Input DMA nodes number[%d]!\n", sg_nent);
+               return -EINVAL;
+       }
+
+       ret = dma_map_sg(NULL, sg, sg_nent, slave_config.direction);
+       if (ret != sg_nent) {
+               dev_err(asrc->dev, "DMA mapping error!\n");
+               return -EINVAL;
+       }
+
+       desc = chan->device->device_prep_slave_sg(chan, sg, sg_nent,
+                       slave_config.direction, 1, NULL);
+
+       if (in) {
+               params->desc_in = desc;
+               params->desc_in->callback = asrc_input_dma_callback;
+       } else {
+               params->desc_out = desc;
+               params->desc_out->callback = asrc_output_dma_callback;
+       }
+
+       if (desc) {
+               desc->callback = ASRC_xPUT_DMA_CALLBACK(in);
+               desc->callback_param = params;
+       } else {
+               return -EINVAL;
+       }
+
+       return 0;
+}
+
+static int mxc_asrc_prepare_io_buffer(struct asrc_pair_params *params,
+               struct asrc_convert_buffer *pbuf, bool in)
+{
+       struct dma_chan *dma_channel;
+       enum asrc_word_width width;
+       unsigned int *dma_len, *sg_nodes, buf_len, wm;
+       void __user *buf_vaddr;
+       void *dma_vaddr;
+       u32 word_size, fifo_addr;
+
+       if (in) {
+               dma_channel = params->input_dma_channel;
+               dma_vaddr = params->input_dma_total.dma_vaddr;
+               dma_len = &params->input_dma_total.length;
+               width = params->input_word_width;
+               sg_nodes = &params->input_sg_nodes;
+               wm = params->input_wm;
+               buf_vaddr = (void __user *)pbuf->input_buffer_vaddr;
+               buf_len = pbuf->input_buffer_length;
+       } else {
+               dma_channel = params->output_dma_channel;
+               dma_vaddr = params->output_dma_total.dma_vaddr;
+               dma_len = &params->output_dma_total.length;
+               width = params->output_word_width;
+               sg_nodes = &params->output_sg_nodes;
+               wm = params->last_period_sample;
+               buf_vaddr = (void __user *)pbuf->output_buffer_vaddr;
+               buf_len = pbuf->output_buffer_length;
+       }
+
+       switch (width) {
+       case ASRC_WIDTH_24_BIT:
+               word_size = 4;
+               break;
+       case ASRC_WIDTH_16_BIT:
+       case ASRC_WIDTH_8_BIT:
+               word_size = 2;
+               break;
+       default:
+               dev_err(asrc->dev, "error %s word size!\n", in ? "input" : "output");
+               return -EINVAL;
+       }
+
+       if (buf_len < word_size * params->channel_nums * wm) {
+               dev_err(asrc->dev, "%s buffer size[%d] is too small!\n",
+                               in ? "input" : "output", buf_len);
+               return -EINVAL;
+       }
+
+       /* Copy origin data into input buffer */
+       if (in && copy_from_user(dma_vaddr, buf_vaddr, buf_len))
+               return -EFAULT;
+
+       *dma_len = buf_len;
+       if (!in)
+               *dma_len -= wm * word_size * params->channel_nums;
+
+       *sg_nodes = *dma_len / ASRC_MAX_BUFFER_SIZE + 1;
+
+       fifo_addr = asrc_get_per_addr(params->index, in);
+
+       return imx_asrc_dma_config(params, dma_channel, fifo_addr, dma_vaddr,
+                       *dma_len, in, width);
+}
+
+static int mxc_asrc_prepare_buffer(struct asrc_pair_params *params,
+               struct asrc_convert_buffer *pbuf)
+{
+       int ret;
+
+       ret = mxc_asrc_prepare_io_buffer(params, pbuf, true);
+       if (ret) {
+               dev_err(asrc->dev, "failed to prepare input buffer: %d\n", ret);
+               return ret;
+       }
+
+       ret = mxc_asrc_prepare_io_buffer(params, pbuf, false);
+       if (ret) {
+               dev_err(asrc->dev, "failed to prepare output buffer: %d\n", ret);
+               return ret;
+       }
+
+       return 0;
+}
+
+int mxc_asrc_process_io_buffer(struct asrc_pair_params *params,
+               struct asrc_convert_buffer *pbuf, bool in)
+{
+       void *last_vaddr = params->output_last_period.dma_vaddr;
+       unsigned int *last_len = &params->output_last_period.length;
+       unsigned int dma_len, *buf_len;
+       struct completion *complete;
+       void __user *buf_vaddr;
+       void *dma_vaddr;
+
+       if (in) {
+               dma_vaddr = params->input_dma_total.dma_vaddr;
+               dma_len = params->input_dma_total.length;
+               buf_len = &pbuf->input_buffer_length;
+               complete = &params->input_complete;
+               buf_vaddr = (void __user *)pbuf->input_buffer_vaddr;
+       } else {
+               dma_vaddr = params->output_dma_total.dma_vaddr;
+               dma_len = params->output_dma_total.length;
+               buf_len = &pbuf->output_buffer_length;
+               complete = &params->lastperiod_complete;
+               buf_vaddr = (void __user *)pbuf->output_buffer_vaddr;
+       }
+
+       if (!wait_for_completion_interruptible_timeout(complete, 10 * HZ)) {
+               dev_err(asrc->dev, "ASRC_DQ_OUTBUF timeout\n");
+               return -ETIME;
+       } else if (signal_pending(current)) {
+               dev_err(asrc->dev, "ASRC_DQ_INBUF interrupt received.\n");
+               return -ERESTARTSYS;
+       }
+
+       init_completion(complete);
+
+       *buf_len = dma_len;
+
+       /* Only output need return data to user space */
+       if (!in) {
+               if (copy_to_user(buf_vaddr, dma_vaddr, dma_len))
+                       return -EFAULT;
+
+               *buf_len += *last_len;
+
+               if (copy_to_user(buf_vaddr + dma_len, last_vaddr, *last_len))
+                       return -EFAULT;
+       }
+
+       return 0;
+}
+
+int mxc_asrc_process_buffer(struct asrc_pair_params *params,
+               struct asrc_convert_buffer *pbuf)
+{
+       int ret;
+
+       ret = mxc_asrc_process_io_buffer(params, pbuf, true);
+       if (ret) {
+               dev_err(asrc->dev, "failed to process input buffer: %d\n", ret);
+               return ret;
+       }
+
+       ret = mxc_asrc_process_io_buffer(params, pbuf, false);
+       if (ret) {
+               dev_err(asrc->dev, "failed to process output buffer: %d\n", ret);
+               return ret;
+       }
+
+       return 0;
+}
+
+#ifdef ASRC_POLLING_WITHOUT_DMA
+static void asrc_write_one_to_input_FIFO(enum asrc_pair_index index, u32 val)
+{
+       regmap_write(asrc->regmap, REG_ASRDI(index), val);
+}
+
+/* THIS FUNCTION ONLY EXISTS FOR DEBUGGING AND ONLY SUPPORTS TWO CHANNELS */
+static void asrc_polling_debug(struct asrc_pair_params *params)
+{
+       enum asrc_pair_index index = params->index;
+       u32 *in24 = params->input_dma_total.dma_vaddr;
+       u32 dma_len = params->input_dma_total.length / (params->channel_nums * 4);
+       u32 size, i, j, t_size, reg;
+       u32 *reg24 = params->output_dma_total.dma_vaddr;
+
+       t_size = 0;
+
+       for (i = 0; i < dma_len; ) {
+               for (j = 0; j < 2; j++) {
+                       asrc_write_one_to_input_FIFO(index, *in24);
+                       in24++;
+                       asrc_write_one_to_input_FIFO(index, *in24);
+                       in24++;
+                       i++;
+               }
+               udelay(50);
+               udelay(50 * params->output_sample_rate / params->input_sample_rate);
+
+               size = asrc_get_output_FIFO_size(index);
+               for (j = 0; j < size; j++) {
+                       reg = asrc_read_one_from_output_FIFO(index);
+                       *(reg24) = reg;
+                       reg24++;
+                       reg = asrc_read_one_from_output_FIFO(index);
+                       *(reg24) = reg;
+                       reg24++;
+               }
+               t_size += size;
+       }
+
+       mdelay(1);
+       size = asrc_get_output_FIFO_size(index);
+       for (j = 0; j < size; j++) {
+               reg = asrc_read_one_from_output_FIFO(index);
+               *(reg24) = reg;
+               reg24++;
+               reg = asrc_read_one_from_output_FIFO(index);
+               *(reg24) = reg;
+               reg24++;
+       }
+       t_size += size;
+
+       params->output_dma_total.length = t_size * params->channel_nums * 4;
+       params->output_last_period.length = 0;
+
+       dma_unmap_sg(NULL, params->input_sg, params->input_sg_nodes,
+                       DMA_MEM_TO_DEV);
+       dma_unmap_sg(NULL, params->output_sg, params->output_sg_nodes,
+                       DMA_DEV_TO_MEM);
+
+       complete(&params->input_complete);
+       complete(&params->lastperiod_complete);
+}
+#else
+static void mxc_asrc_submit_dma(struct asrc_pair_params *params)
+{
+       enum asrc_pair_index index = params->index;
+       u32 size = asrc_get_output_FIFO_size(params->index);
+       int i, j;
+
+       /* Read all data in OUTPUT FIFO */
+       while (size) {
+               for (j = 0; j < size; j++)
+                       for (i = 0; i < params->channel_nums; i++)
+                               asrc_read_one_from_output_FIFO(index);
+               /*
+                * delay before size-getting should be:
+                * 1s / output_sample_rate * last_period_sample
+                * but we don't know last time's output_sample_rate and
+                * last_period_sample, and in order to cover max case
+                * so use min(sample_rate)=32kHz and max(last_period_sample)=32
+                * Thus 1s / 32k * 32 = 1ms
+                */
+               mdelay(1);
+
+               size = asrc_get_output_FIFO_size(index);
+       }
+
+       /* Fill the input FIFO until reach the stall level */
+       size = asrc_get_input_FIFO_size(index);
+       while (size < 3) {
+               for (i = 0; i < params->channel_nums; i++)
+                       asrc_write_one_to_output_FIFO(index, 0);
+               size = asrc_get_input_FIFO_size(index);
+       }
+
+       /* Submit dma request */
+       dmaengine_submit(params->desc_in);
+       dma_async_issue_pending(params->desc_in->chan);
+
+       dmaengine_submit(params->desc_out);
+       dma_async_issue_pending(params->desc_out->chan);
+
+       sdma_set_event_pending(params->input_dma_channel);
+}
+#endif
+
+static long asrc_ioctl_req_pair(struct asrc_pair_params *params,
+               void __user *user)
+{
+       struct asrc_req req;
+       long ret;
+
+       ret = copy_from_user(&req, user, sizeof(req));
+       if (ret) {
+               dev_err(asrc->dev, "failed to get req from user space: %ld\n", ret);
+               return ret;
+       }
+
+       ret = asrc_req_pair(req.chn_num, &req.index);
+       if (ret) {
+               dev_err(asrc->dev, "failed to request pair: %ld\n", ret);
+               return ret;
+       }
+
+       params->pair_hold = 1;
+       params->index = req.index;
+       params->channel_nums = req.chn_num;
+
+       ret = copy_to_user(user, &req, sizeof(req));
+       if (ret) {
+               dev_err(asrc->dev, "failed to send req to user space: %ld\n", ret);
+               return ret;
+       }
+
+       return 0;
+}
+
+static long asrc_ioctl_config_pair(struct asrc_pair_params *params,
+               void __user *user)
+{
+       struct asrc_config config;
+       enum asrc_pair_index index;
+       long ret;
+
+       ret = copy_from_user(&config, user, sizeof(config));
+       if (ret) {
+               dev_err(asrc->dev, "failed to get config from user space: %ld\n", ret);
+               return ret;
+       }
+
+       ret = asrc_config_pair(&config);
+       if (ret) {
+               dev_err(asrc->dev, "failed to config pair: %ld\n", ret);
+               return ret;
+       }
+
+       index = config.pair;
+
+       params->input_wm = 4;
+       params->output_wm = 2;
+
+       ret = asrc_set_watermark(index, params->input_wm, params->output_wm);
+       if (ret)
+               return ret;
+
+       params->output_buffer_size = config.dma_buffer_size;
+       params->input_buffer_size = config.dma_buffer_size;
+       if (config.buffer_num > ASRC_DMA_BUFFER_NUM)
+               params->buffer_num = ASRC_DMA_BUFFER_NUM;
+       else
+               params->buffer_num = config.buffer_num;
+
+       params->input_dma_total.length = ASRC_DMA_BUFFER_SIZE;
+       params->output_dma_total.length = ASRC_DMA_BUFFER_SIZE;
+
+       params->input_word_width = config.input_word_width;
+       params->output_word_width = config.output_word_width;
+
+       params->input_sample_rate = config.input_sample_rate;
+       params->output_sample_rate = config.output_sample_rate;
+
+       params->last_period_sample = ASRC_OUTPUT_LAST_SAMPLE_DEFAULT;
+
+       /* Expand last period buffer if output_sample_rate is much bigger */
+       if (params->output_sample_rate / params->input_sample_rate > 2)
+               params->last_period_sample *= 5;
+       else if (params->output_sample_rate / params->input_sample_rate > 1)
+               params->last_period_sample *= 3;
+
+       ret = mxc_allocate_dma_buf(params);
+       if (ret) {
+               dev_err(asrc->dev, "failed to allocate dma buffer: %ld\n", ret);
+               return ret;
+       }
+
+       /* Request DMA channel for both input and output */
+       params->input_dma_channel =
+                       imx_asrc_dma_request_channel(params, true);
+       if (params->input_dma_channel == NULL) {
+               dev_err(asrc->dev, "failed to request rx channel for Pair %c\n",
+                               'A' + index);
+               return  -EBUSY;
+       }
+
+       params->output_dma_channel =
+                       imx_asrc_dma_request_channel(params, false);
+       if (params->output_dma_channel == NULL) {
+               dev_err(asrc->dev, "failed to request tx channel for Pair %c\n",
+                               'A' + index);
+               return  -EBUSY;
+       }
+
+       init_completion(&params->input_complete);
+       init_completion(&params->output_complete);
+       init_completion(&params->lastperiod_complete);
+
+       /* Add work struct to receive last period of output data */
+       INIT_WORK(&params->task_output_work, asrc_output_task_worker);
+
+       ret = copy_to_user(user, &config, sizeof(config));
+       if (ret) {
+               dev_err(asrc->dev, "failed to send config to user space: %ld\n", ret);
+               return ret;
+       }
+
+       return 0;
+}
+
+static long asrc_ioctl_release_pair(struct asrc_pair_params *params,
+               void __user *user)
+{
+       enum asrc_pair_index index;
+       unsigned long lock_flags;
+       long ret;
+
+       ret = copy_from_user(&index, user, sizeof(index));
+       if (ret) {
+               dev_err(asrc->dev, "failed to get index from user space: %ld\n", ret);
+               return ret;
+       }
+
+       /* index might be not valid due to some application failure. */
+       if (index < 0)
+               return -EINVAL;
+
+       params->asrc_active = 0;
+
+       spin_lock_irqsave(&pair_lock, lock_flags);
+       params->pair_hold = 0;
+       spin_unlock_irqrestore(&pair_lock, lock_flags);
+
+       if (params->input_dma_channel)
+               dma_release_channel(params->input_dma_channel);
+       if (params->output_dma_channel)
+               dma_release_channel(params->output_dma_channel);
+       mxc_free_dma_buf(params);
+       asrc_release_pair(index);
+       asrc_finish_conv(index);
+
+       return 0;
+}
+
+static long asrc_ioctl_convert(struct asrc_pair_params *params,
+               void __user *user)
+{
+       struct asrc_convert_buffer buf;
+       long ret;
+
+       ret = copy_from_user(&buf, user, sizeof(buf));
+       if (ret) {
+               dev_err(asrc->dev, "failed to get buf from user space: %ld\n", ret);
+               return ret;
+       }
+
+       ret = mxc_asrc_prepare_buffer(params, &buf);
+       if (ret) {
+               dev_err(asrc->dev, "failed to prepare buffer: %ld\n", ret);
+               return ret;
+       }
+
+#ifdef ASRC_POLLING_WITHOUT_DMA
+       asrc_polling_debug(params);
+#else
+       mxc_asrc_submit_dma(params);
+#endif
+
+       ret = mxc_asrc_process_buffer(params, &buf);
+       if (ret) {
+               dev_err(asrc->dev, "failed to process buffer: %ld\n", ret);
+               return ret;
+       }
+
+       ret = copy_to_user(user, &buf, sizeof(buf));
+       if (ret) {
+               dev_err(asrc->dev, "failed to send buf to user space: %ld\n", ret);
+               return ret;
+       }
+
+       return 0;
+}
+
+static long asrc_ioctl_start_conv(struct asrc_pair_params *params,
+               void __user *user)
+{
+       enum asrc_pair_index index;
+       long ret;
+
+       ret = copy_from_user(&index, user, sizeof(index));
+       if (ret) {
+               dev_err(asrc->dev, "failed to get index from user space: %ld\n", ret);
+               return ret;
+       }
+
+       params->asrc_active = 1;
+       asrc_start_conv(index);
+
+       return 0;
+}
+
+static long asrc_ioctl_stop_conv(struct asrc_pair_params *params,
+               void __user *user)
+{
+       enum asrc_pair_index index;
+       long ret;
+
+       ret = copy_from_user(&index, user, sizeof(index));
+       if (ret) {
+               dev_err(asrc->dev, "failed to get index from user space: %ld\n", ret);
+               return ret;
+       }
+
+       dmaengine_terminate_all(params->input_dma_channel);
+       dmaengine_terminate_all(params->output_dma_channel);
+
+       asrc_stop_conv(index);
+       params->asrc_active = 0;
+
+       return 0;
+}
+
+static long asrc_ioctl_status(struct asrc_pair_params *params,
+               void __user *user)
+{
+       struct asrc_status_flags flags;
+       long ret;
+
+       ret = copy_from_user(&flags, user, sizeof(flags));
+       if (ret) {
+               dev_err(asrc->dev, "failed to get flags from user space: %ld\n", ret);
+               return ret;
+       }
+
+       asrc_get_status(&flags);
+
+       ret = copy_to_user(user, &flags, sizeof(flags));
+       if (ret) {
+               dev_err(asrc->dev, "failed to send flags to user space: %ld\n", ret);
+               return ret;
+       }
+
+       return 0;
+}
+
+static long asrc_ioctl_flush(struct asrc_pair_params *params,
+               void __user *user)
+{
+       enum asrc_pair_index index = params->index;
+
+       init_completion(&params->input_complete);
+       init_completion(&params->output_complete);
+       init_completion(&params->lastperiod_complete);
+
+       /* Release DMA and request again */
+       dma_release_channel(params->input_dma_channel);
+       dma_release_channel(params->output_dma_channel);
+
+       params->input_dma_channel = imx_asrc_dma_request_channel(params, true);
+       if (params->input_dma_channel == NULL) {
+               dev_err(asrc->dev, "failed to request rx channel for Pair %c\n",
+                               'A' + index);
+               return -EBUSY;
+       }
+
+       params->output_dma_channel =
+                       imx_asrc_dma_request_channel(params, false);
+       if (params->output_dma_channel == NULL) {
+               dev_err(asrc->dev, "failed to request tx channel for Pair %c\n",
+                               'A' + index);
+               return -EBUSY;
+       }
+
+       return 0;
+}
+
+static long asrc_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
+{
+       struct asrc_pair_params *params = file->private_data;
+       void __user *user = (void __user *)arg;
+       long ret = 0;
+
+       switch (cmd) {
+       case ASRC_REQ_PAIR:
+               ret = asrc_ioctl_req_pair(params, user);
+               break;
+       case ASRC_CONFIG_PAIR:
+               ret = asrc_ioctl_config_pair(params, user);
+               break;
+       case ASRC_RELEASE_PAIR:
+               ret = asrc_ioctl_release_pair(params, user);
+               break;
+       case ASRC_CONVERT:
+               ret = asrc_ioctl_convert(params, user);
+               break;
+       case ASRC_START_CONV:
+               ret = asrc_ioctl_start_conv(params, user);
+               dump_regs();
+               break;
+       case ASRC_STOP_CONV:
+               ret = asrc_ioctl_stop_conv(params, user);
+               break;
+       case ASRC_STATUS:
+               ret = asrc_ioctl_status(params, user);
+               break;
+       case ASRC_FLUSH:
+               ret = asrc_ioctl_flush(params, user);
+               break;
+       default:
+               dev_err(asrc->dev, "Unsupported ioctl cmd!\n");
+               break;
+       }
+
+       return ret;
+}
+
+static int mxc_asrc_open(struct inode *inode, struct file *file)
+{
+       struct asrc_pair_params *pair_params;
+       int ret = 0;
+
+       ret = signal_pending(current);
+       if (ret) {
+               dev_err(asrc->dev, "Current process has a signal pending.\n");
+               return ret;
+       }
+
+       pair_params = kzalloc(sizeof(struct asrc_pair_params), GFP_KERNEL);
+       if (pair_params == NULL) {
+               dev_err(asrc->dev, "failed to allocate pair_params.\n");
+               return -ENOBUFS;
+       }
+
+       file->private_data = pair_params;
+
+       return ret;
+}
+
+static int mxc_asrc_close(struct inode *inode, struct file *file)
+{
+       struct asrc_pair_params *pair_params;
+       unsigned long lock_flags;
+
+       pair_params = file->private_data;
+
+       if (!pair_params)
+               return 0;
+
+       if (pair_params->asrc_active) {
+               pair_params->asrc_active = 0;
+
+               dmaengine_terminate_all(pair_params->input_dma_channel);
+               dmaengine_terminate_all(pair_params->output_dma_channel);
+
+               asrc_stop_conv(pair_params->index);
+
+               complete(&pair_params->input_complete);
+               complete(&pair_params->output_complete);
+               complete(&pair_params->lastperiod_complete);
+       }
+       if (pair_params->pair_hold) {
+               spin_lock_irqsave(&pair_lock, lock_flags);
+               pair_params->pair_hold = 0;
+               spin_unlock_irqrestore(&pair_lock, lock_flags);
+
+               if (pair_params->input_dma_channel)
+                       dma_release_channel(pair_params->input_dma_channel);
+               if (pair_params->output_dma_channel)
+                       dma_release_channel(pair_params->output_dma_channel);
+
+               mxc_free_dma_buf(pair_params);
+
+               asrc_release_pair(pair_params->index);
+               asrc_finish_conv(pair_params->index);
+       }
+
+       kfree(pair_params);
+       file->private_data = NULL;
+
+       return 0;
+}
+
+static int mxc_asrc_mmap(struct file *file, struct vm_area_struct *vma)
+{
+       unsigned long size = vma->vm_end - vma->vm_start;
+       int ret;
+
+       vma->vm_page_prot = pgprot_writecombine(vma->vm_page_prot);
+
+       ret = remap_pfn_range(vma, vma->vm_start, vma->vm_pgoff,
+                       size, vma->vm_page_prot);
+       if (ret) {
+               dev_err(asrc->dev, "failed to memory map!\n");
+               return ret;
+       }
+
+       vma->vm_flags &= ~VM_IO;
+
+       return ret;
+}
+
+static const struct file_operations asrc_fops = {
+       .owner          = THIS_MODULE,
+       .unlocked_ioctl = asrc_ioctl,
+       .mmap           = mxc_asrc_mmap,
+       .open           = mxc_asrc_open,
+       .release        = mxc_asrc_close,
+};
+
+static struct miscdevice asrc_miscdev = {
+       .name   = "mxc_asrc",
+       .fops   = &asrc_fops,
+       .minor  = MISC_DYNAMIC_MINOR,
+};
+
+static int asrc_read_proc_attr(struct file *file, char __user *buf,
+                               size_t count, loff_t *off)
+{
+       char tmpbuf[80];
+       int len = 0;
+       u32 reg;
+
+       if (*off)
+               return 0;
+
+       asrc_regmap_read(asrc->regmap, REG_ASRCNCR, &reg);
+
+       len += sprintf(tmpbuf, "ANCA: %d\nANCB: %d\nANCC: %d\n",
+                       (int)ASRCNCR_ANCA_get(reg, asrc->channel_bits),
+                       (int)ASRCNCR_ANCB_get(reg, asrc->channel_bits),
+                       (int)ASRCNCR_ANCC_get(reg, asrc->channel_bits));
+
+       if (len > count)
+               return 0;
+
+       if (copy_to_user(buf, &tmpbuf, len))
+               return -EFAULT;
+
+       *off += len;
+
+       return len;
+}
+
+#define ASRC_MAX_PROC_BUFFER_SIZE 63
+
+static int asrc_write_proc_attr(struct file *file, const char __user *buffer,
+                               size_t count, loff_t *data)
+{
+       char buf[ASRC_MAX_PROC_BUFFER_SIZE];
+       int na, nb, nc;
+       int total;
+
+       if (count > ASRC_MAX_PROC_BUFFER_SIZE) {
+               dev_err(asrc->dev, "Attr proc write: The input string was too long.\n");
+               return -EINVAL;
+       }
+
+       if (copy_from_user(buf, buffer, count)) {
+               dev_err(asrc->dev, "Attr proc write: Failed to copy buffer from user.\n");
+               return -EFAULT;
+       }
+
+       sscanf(buf, "ANCA: %d\nANCB: %d\nANCC: %d", &na, &nb, &nc);
+
+       total = asrc->channel_bits > 3 ? 10 : 5;
+
+       if (na + nb + nc > total) {
+               dev_err(asrc->dev, "Don't surpass %d for total.\n", total);
+               return -EINVAL;
+       } else if (na % 2 != 0 || nb % 2 != 0 || nc % 2 != 0) {
+               dev_err(asrc->dev, "Please set an even number for each pair.\n");
+               return -EINVAL;
+       } else if (na < 0 || nb < 0 || nc < 0) {
+               dev_err(asrc->dev, "Please set an positive number for each pair.\n");
+               return -EINVAL;
+       }
+
+
+       asrc->asrc_pair[ASRC_PAIR_A].chn_max = na;
+       asrc->asrc_pair[ASRC_PAIR_B].chn_max = nb;
+       asrc->asrc_pair[ASRC_PAIR_C].chn_max = nc;
+
+       asrc_set_channel_number(ASRC_PAIR_A, na);
+       asrc_set_channel_number(ASRC_PAIR_B, nb);
+       asrc_set_channel_number(ASRC_PAIR_C, nc);
+
+       return count;
+}
+
+static const struct file_operations asrc_proc_fops = {
+       .read           = asrc_read_proc_attr,
+       .write          = asrc_write_proc_attr,
+};
+
+static void asrc_proc_create(void)
+{
+       struct proc_dir_entry *proc_attr;
+
+       asrc->proc_asrc = proc_mkdir(ASRC_PROC_PATH, NULL);
+       if (!asrc->proc_asrc) {
+               dev_err(asrc->dev, "failed to create proc entry %s\n", ASRC_PROC_PATH);
+               return;
+       }
+
+       proc_attr = proc_create("ChSettings", S_IFREG | S_IRUGO | S_IWUSR,
+                       asrc->proc_asrc, &asrc_proc_fops);
+       if (!proc_attr) {
+               remove_proc_entry(ASRC_PROC_PATH, NULL);
+               dev_err(asrc->dev, "failed to create proc attribute entry.\n");
+       }
+}
+
+static void asrc_proc_remove(void)
+{
+       remove_proc_entry("ChSettings", asrc->proc_asrc);
+       remove_proc_entry(ASRC_PROC_PATH, NULL);
+}
+
+
+#ifdef ASRC_USE_REGMAP
+/* ============= ASRC REGMAP ============= */
+
+static bool asrc_readable_reg(struct device *dev, unsigned int reg)
+{
+       switch (reg) {
+       case REG_ASRCTR:
+       case REG_ASRIER:
+       case REG_ASRCNCR:
+       case REG_ASRCFG:
+       case REG_ASRCSR:
+       case REG_ASRCDR1:
+       case REG_ASRCDR2:
+       case REG_ASRSTR:
+       case REG_ASRPM1:
+       case REG_ASRPM2:
+       case REG_ASRPM3:
+       case REG_ASRPM4:
+       case REG_ASRPM5:
+       case REG_ASRTFR1:
+       case REG_ASRCCR:
+       case REG_ASRDOA:
+       case REG_ASRDOB:
+       case REG_ASRDOC:
+       case REG_ASRIDRHA:
+       case REG_ASRIDRLA:
+       case REG_ASRIDRHB:
+       case REG_ASRIDRLB:
+       case REG_ASRIDRHC:
+       case REG_ASRIDRLC:
+       case REG_ASR76K:
+       case REG_ASR56K:
+       case REG_ASRMCRA:
+       case REG_ASRFSTA:
+       case REG_ASRMCRB:
+       case REG_ASRFSTB:
+       case REG_ASRMCRC:
+       case REG_ASRFSTC:
+       case REG_ASRMCR1A:
+       case REG_ASRMCR1B:
+       case REG_ASRMCR1C:
+               return true;
+       default:
+               return false;
+       }
+}
+
+static bool asrc_writeable_reg(struct device *dev, unsigned int reg)
+{
+       switch (reg) {
+       case REG_ASRCTR:
+       case REG_ASRIER:
+       case REG_ASRCNCR:
+       case REG_ASRCFG:
+       case REG_ASRCSR:
+       case REG_ASRCDR1:
+       case REG_ASRCDR2:
+       case REG_ASRPM1:
+       case REG_ASRPM2:
+       case REG_ASRPM3:
+       case REG_ASRPM4:
+       case REG_ASRPM5:
+       case REG_ASRTFR1:
+       case REG_ASRCCR:
+       case REG_ASRDIA:
+       case REG_ASRDIB:
+       case REG_ASRDIC:
+       case REG_ASRIDRHA:
+       case REG_ASRIDRLA:
+       case REG_ASRIDRHB:
+       case REG_ASRIDRLB:
+       case REG_ASRIDRHC:
+       case REG_ASRIDRLC:
+       case REG_ASR76K:
+       case REG_ASR56K:
+       case REG_ASRMCRA:
+       case REG_ASRMCRB:
+       case REG_ASRMCRC:
+       case REG_ASRMCR1A:
+       case REG_ASRMCR1B:
+       case REG_ASRMCR1C:
+               return true;
+       default:
+               return false;
+       }
+}
+
+static bool asrc_volatile_reg(struct device *dev, unsigned int reg)
+{
+       /* Sync all registers after reset */
+       return true;
+}
+
+static const struct regmap_config asrc_regmap_config = {
+       .reg_bits = 32,
+       .reg_stride = 4,
+       .val_bits = 32,
+
+       .max_register = REG_ASRMCR1C,
+       .readable_reg = asrc_readable_reg,
+       .writeable_reg = asrc_writeable_reg,
+       .volatile_reg = asrc_volatile_reg,
+       .cache_type = REGCACHE_RBTREE,
+};
+#endif
+
+static int mxc_asrc_probe(struct platform_device *pdev)
+{
+       struct device_node *np = pdev->dev.of_node;
+       struct resource res;
+       void __iomem *regs;
+       int ret;
+
+       /* Check if the device is existed */
+       if (!of_device_is_available(np)) {
+               dev_err(&pdev->dev, "improper devicetree status.\n");
+               return -ENODEV;
+       }
+
+       asrc = devm_kzalloc(&pdev->dev, sizeof(struct asrc_data), GFP_KERNEL);
+       if (asrc == NULL) {
+               dev_err(&pdev->dev, "failed to allocate asrc.\n");
+               return -ENOMEM;
+       }
+
+       asrc->dev = &pdev->dev;
+       asrc->dev->coherent_dma_mask = DMA_BIT_MASK(32);
+
+       asrc->asrc_pair[ASRC_PAIR_A].chn_max = 2;
+       asrc->asrc_pair[ASRC_PAIR_B].chn_max = 6;
+       asrc->asrc_pair[ASRC_PAIR_C].chn_max = 2;
+       asrc->asrc_pair[ASRC_PAIR_A].overload_error = 0;
+       asrc->asrc_pair[ASRC_PAIR_B].overload_error = 0;
+       asrc->asrc_pair[ASRC_PAIR_C].overload_error = 0;
+
+       /* Map the address */
+       ret = of_address_to_resource(np, 0, &res);
+       if (ret) {
+               dev_err(&pdev->dev, "failed to map address: %d\n", ret);
+               return ret;
+       }
+       asrc->paddr = res.start;
+
+       regs = of_iomap(np, 0);
+       if (IS_ERR(regs)) {
+               dev_err(&pdev->dev, "failed to map io resources.\n");
+               return IS_ERR(regs);
+       }
+       asrc->vaddr = (unsigned long)regs;
+
+#ifdef ASRC_USE_REGMAP
+       asrc->regmap = devm_regmap_init_mmio_clk(&pdev->dev,
+                       "core", regs, &asrc_regmap_config);
+       if (IS_ERR(asrc->regmap)) {
+               dev_err(&pdev->dev, "regmap init failed\n");
+               ret = PTR_ERR(asrc->regmap);
+       }
+
+       regcache_cache_only(asrc->regmap, false);
+#endif
+
+       asrc->irq = irq_of_parse_and_map(np, 0);
+       if (asrc->irq == NO_IRQ) {
+               dev_err(&pdev->dev, "no irq for node %s\n", np->full_name);
+               goto err_iomap;
+       }
+
+       ret = devm_request_irq(&pdev->dev, asrc->irq,
+                       asrc_isr, 0, "asrc", NULL);
+       if (ret) {
+               dev_err(&pdev->dev, "failed to request IRQ: %d\n", ret);
+               goto err_iomap;
+       }
+
+       asrc->asrc_clk = devm_clk_get(&pdev->dev, NULL);
+       if (IS_ERR(asrc->asrc_clk)) {
+               ret = PTR_ERR(asrc->asrc_clk);
+               goto err_iomap;
+       }
+#ifndef ASRC_USE_REGMAP
+       clk_prepare(asrc->asrc_clk);
+#endif
+
+       ret = of_property_read_u32_array(pdev->dev.of_node,
+                       "fsl,clk-channel-bits", &asrc->channel_bits, 1);
+       if (ret) {
+               dev_err(&pdev->dev, "failed to get clk-channel-bits.\n");
+               goto err_iomap;
+       }
+
+       ret = of_property_read_u32_array(pdev->dev.of_node,
+                       "fsl,clk-map-version", &asrc->clk_map_ver, 1);
+       if (ret) {
+               dev_err(&pdev->dev, "failed to get clk-map-version.\n");
+               goto err_iomap;
+       }
+
+       switch (asrc->clk_map_ver) {
+       case 1:
+               input_clk_map = input_clk_map_v1;
+               output_clk_map = output_clk_map_v1;
+               break;
+       case 2:
+       default:
+               input_clk_map = input_clk_map_v2;
+               output_clk_map = output_clk_map_v2;
+               break;
+       }
+
+       ret = misc_register(&asrc_miscdev);
+       if (ret) {
+               dev_err(&pdev->dev, "failed to register char device %d\n", ret);
+               goto err_iomap;
+       }
+
+       asrc_proc_create();
+
+       ret = mxc_init_asrc();
+       if (ret)
+               goto err_misc;
+
+       dev_info(&pdev->dev, "mxc_asrc registered.\n");
+
+       return ret;
+
+err_misc:
+       misc_deregister(&asrc_miscdev);
+err_iomap:
+       iounmap(regs);
+
+       dev_err(&pdev->dev, "mxc_asrc register failed: err %d\n", ret);
+
+       return ret;
+}
+
+static int mxc_asrc_remove(struct platform_device *pdev)
+{
+#ifndef ASRC_USE_REGMAP
+       clk_unprepare(asrc->asrc_clk);
+#endif
+       asrc_proc_remove();
+       misc_deregister(&asrc_miscdev);
+
+       return 0;
+}
+
+static const struct of_device_id fsl_asrc_ids[] = {
+       { .compatible = "fsl,imx6q-asrc", },
+       {}
+};
+
+static struct platform_driver mxc_asrc_driver = {
+       .driver = {
+               .name = "mxc_asrc",
+               .of_match_table = fsl_asrc_ids,
+       },
+       .probe = mxc_asrc_probe,
+       .remove = mxc_asrc_remove,
+};
+
+module_platform_driver(mxc_asrc_driver);
+
+MODULE_AUTHOR("Freescale Semiconductor, Inc.");
+MODULE_DESCRIPTION("Asynchronous Sample Rate Converter");
+MODULE_LICENSE("GPL");
diff --git a/drivers/mxc/gpu-viv/Kbuild b/drivers/mxc/gpu-viv/Kbuild
new file mode 100644 (file)
index 0000000..2b277d6
--- /dev/null
@@ -0,0 +1,236 @@
+##############################################################################
+#
+#    Copyright (C) 2005 - 2013 by Vivante Corp.
+#
+#    This program is free software; you can redistribute it and/or modify
+#    it under the terms of the GNU General Public License as published by
+#    the Free Software Foundation; either version 2 of the license, or
+#    (at your option) any later version.
+#
+#    This program is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+#    GNU General Public License for more details.
+#
+#    You should have received a copy of the GNU General Public License
+#    along with this program; if not write to the Free Software
+#    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+#
+##############################################################################
+
+
+#
+# Linux build file for kernel HAL driver.
+#
+
+AQROOT := $(srctree)/drivers/mxc/gpu-viv
+AQARCH := $(AQROOT)/arch/XAQ2
+AQVGARCH := $(AQROOT)/arch/GC350
+
+include $(AQROOT)/config
+
+KERNEL_DIR ?= $(TOOL_DIR)/kernel
+
+OS_KERNEL_DIR   := hal/os/linux/kernel
+ARCH_KERNEL_DIR := arch/$(notdir $(AQARCH))/hal/kernel
+ARCH_VG_KERNEL_DIR := arch/$(notdir $(AQVGARCH))/hal/kernel
+HAL_KERNEL_DIR  := hal/kernel
+
+EXTRA_CFLAGS += -Werror
+
+OBJS := $(OS_KERNEL_DIR)/gc_hal_kernel_device.o \
+        $(OS_KERNEL_DIR)/gc_hal_kernel_driver.o \
+        $(OS_KERNEL_DIR)/gc_hal_kernel_linux.o \
+        $(OS_KERNEL_DIR)/gc_hal_kernel_math.o \
+        $(OS_KERNEL_DIR)/gc_hal_kernel_os.o \
+        $(OS_KERNEL_DIR)/gc_hal_kernel_debugfs.o
+
+OBJS += $(HAL_KERNEL_DIR)/gc_hal_kernel.o \
+        $(HAL_KERNEL_DIR)/gc_hal_kernel_command.o \
+        $(HAL_KERNEL_DIR)/gc_hal_kernel_db.o \
+        $(HAL_KERNEL_DIR)/gc_hal_kernel_debug.o \
+        $(HAL_KERNEL_DIR)/gc_hal_kernel_event.o \
+        $(HAL_KERNEL_DIR)/gc_hal_kernel_heap.o \
+        $(HAL_KERNEL_DIR)/gc_hal_kernel_mmu.o \
+        $(HAL_KERNEL_DIR)/gc_hal_kernel_video_memory.o \
+        $(HAL_KERNEL_DIR)/gc_hal_kernel_power.o
+
+OBJS += $(ARCH_KERNEL_DIR)/gc_hal_kernel_context.o \
+        $(ARCH_KERNEL_DIR)/gc_hal_kernel_hardware.o
+
+ifeq ($(VIVANTE_ENABLE_VG), 1)
+OBJS +=\
+          $(HAL_KERNEL_DIR)/gc_hal_kernel_vg.o\
+          $(HAL_KERNEL_DIR)/gc_hal_kernel_command_vg.o\
+          $(HAL_KERNEL_DIR)/gc_hal_kernel_interrupt_vg.o\
+          $(HAL_KERNEL_DIR)/gc_hal_kernel_mmu_vg.o\
+          $(ARCH_VG_KERNEL_DIR)/gc_hal_kernel_hardware_command_vg.o\
+          $(ARCH_VG_KERNEL_DIR)/gc_hal_kernel_hardware_vg.o
+endif
+
+ifneq ($(CONFIG_SYNC),)
+OBJS += $(OS_KERNEL_DIR)/gc_hal_kernel_sync.o
+endif
+
+ifeq ($(KERNELRELEASE), )
+
+.PHONY: all clean install
+
+# Define targets.
+all:
+       @make V=$(V) ARCH=$(ARCH_TYPE) -C $(KERNEL_DIR) SUBDIRS=`pwd` modules
+
+clean:
+       @rm -rf $(OBJS)
+       @rm -rf modules.order Module.symvers
+       @find $(AQROOT) -name ".gc_*.cmd" | xargs rm -f
+
+install: all
+       @mkdir -p $(SDK_DIR)/drivers
+
+else
+
+
+EXTRA_CFLAGS += -DLINUX -DDRIVER
+
+ifeq ($(ENUM_WORKAROUND), 1)
+EXTRA_CFLAGS += -DENUM_WORKAROUND=1
+else
+EXTRA_CFLAGS += -DENUM_WORKAROUND=0
+endif
+
+ifeq ($(FLAREON),1)
+EXTRA_CFLAGS += -DFLAREON
+endif
+
+ifeq ($(DEBUG), 1)
+EXTRA_CFLAGS += -DDBG=1 -DDEBUG -D_DEBUG
+else
+EXTRA_CFLAGS += -DDBG=0
+endif
+
+ifeq ($(NO_DMA_COHERENT), 1)
+EXTRA_CFLAGS += -DNO_DMA_COHERENT
+endif
+
+ifeq ($(CONFIG_DOVE_GPU), 1)
+EXTRA_CFLAGS += -DCONFIG_DOVE_GPU=1
+endif
+
+ifneq ($(USE_PLATFORM_DRIVER), 0)
+EXTRA_CFLAGS += -DUSE_PLATFORM_DRIVER=1
+else
+EXTRA_CFLAGS += -DUSE_PLATFORM_DRIVER=0
+endif
+
+
+EXTRA_CFLAGS += -DVIVANTE_PROFILER=1
+EXTRA_CFLAGS += -DVIVANTE_PROFILER_CONTEXT=1
+
+
+ifeq ($(ANDROID), 1)
+EXTRA_CFLAGS += -DANDROID=1
+endif
+
+ifeq ($(ENABLE_GPU_CLOCK_BY_DRIVER), 1)
+EXTRA_CFLAGS += -DENABLE_GPU_CLOCK_BY_DRIVER=1
+else
+EXTRA_CFLAGS += -DENABLE_GPU_CLOCK_BY_DRIVER=0
+endif
+
+ifeq ($(USE_NEW_LINUX_SIGNAL), 1)
+EXTRA_CFLAGS += -DUSE_NEW_LINUX_SIGNAL=1
+else
+EXTRA_CFLAGS += -DUSE_NEW_LINUX_SIGNAL=0
+endif
+
+ifeq ($(NO_USER_DIRECT_ACCESS_FROM_KERNEL), 1)
+EXTRA_CFLAGS += -DNO_USER_DIRECT_ACCESS_FROM_KERNEL=1
+else
+EXTRA_CFLAGS += -DNO_USER_DIRECT_ACCESS_FROM_KERNEL=0
+endif
+
+ifeq ($(FORCE_ALL_VIDEO_MEMORY_CACHED), 1)
+EXTRA_CFLAGS += -DgcdPAGED_MEMORY_CACHEABLE=1
+else
+EXTRA_CFLAGS += -DgcdPAGED_MEMORY_CACHEABLE=0
+endif
+
+ifeq ($(NONPAGED_MEMORY_CACHEABLE), 1)
+EXTRA_CFLAGS += -DgcdNONPAGED_MEMORY_CACHEABLE=1
+else
+EXTRA_CFLAGS += -DgcdNONPAGED_MEMORY_CACHEABLE=0
+endif
+
+ifeq ($(NONPAGED_MEMORY_BUFFERABLE), 1)
+EXTRA_CFLAGS += -DgcdNONPAGED_MEMORY_BUFFERABLE=1
+else
+EXTRA_CFLAGS += -DgcdNONPAGED_MEMORY_BUFFERABLE=0
+endif
+
+ifeq ($(CACHE_FUNCTION_UNIMPLEMENTED), 1)
+EXTRA_CFLAGS += -DgcdCACHE_FUNCTION_UNIMPLEMENTED=1
+else
+EXTRA_CFLAGS += -DgcdCACHE_FUNCTION_UNIMPLEMENTED=0
+endif
+
+ifeq ($(SUPPORT_SWAP_RECTANGLE), 1)
+EXTRA_CFLAGS += -DgcdSUPPORT_SWAP_RECTANGLE=1
+else
+EXTRA_CFLAGS += -DgcdSUPPORT_SWAP_RECTANGLE=0
+endif
+
+ifeq ($(VIVANTE_ENABLE_VG), 1)
+EXTRA_CFLAGS += -DgcdENABLE_VG=1
+else
+EXTRA_CFLAGS += -DgcdENABLE_VG=0
+endif
+
+ifeq ($(CONFIG_SMP), y)
+EXTRA_CFLAGS += -DgcdSMP=1
+else
+EXTRA_CFLAGS += -DgcdSMP=0
+endif
+
+ifeq ($(VIVANTE_NO_3D),1)
+EXTRA_CFLAGS += -DVIVANTE_NO_3D
+endif
+
+ifeq ($(ENABLE_OUTER_CACHE_PATCH), 1)
+EXTRA_CFLAGS += -DgcdENABLE_OUTER_CACHE_PATCH=1
+else
+EXTRA_CFLAGS += -DgcdENABLE_OUTER_CACHE_PATCH=0
+endif
+
+ifeq ($(USE_BANK_ALIGNMENT), 1)
+    EXTRA_CFLAGS += -DgcdENABLE_BANK_ALIGNMENT=1
+    ifneq ($(BANK_BIT_START), 0)
+               ifneq ($(BANK_BIT_END), 0)
+                   EXTRA_CFLAGS += -DgcdBANK_BIT_START=$(BANK_BIT_START)
+                   EXTRA_CFLAGS += -DgcdBANK_BIT_END=$(BANK_BIT_END)
+               endif
+    endif
+
+    ifneq ($(BANK_CHANNEL_BIT), 0)
+        EXTRA_CFLAGS += -DgcdBANK_CHANNEL_BIT=$(BANK_CHANNEL_BIT)
+    endif
+endif
+
+ifneq ($(CONFIG_SYNC),)
+EXTRA_CFLAGS += -DgcdANDROID_NATIVE_FENCE_SYNC=1
+endif
+
+EXTRA_CFLAGS += -I$(AQROOT)/hal/kernel/inc
+EXTRA_CFLAGS += -I$(AQROOT)/hal/kernel
+EXTRA_CFLAGS += -I$(AQARCH)/hal/kernel
+EXTRA_CFLAGS += -I$(AQROOT)/hal/os/linux/kernel
+
+ifeq ($(VIVANTE_ENABLE_VG), 1)
+EXTRA_CFLAGS += -I$(AQVGARCH)/hal/kernel
+endif
+
+obj-$(CONFIG_MXC_GPU_VIV) += galcore.o
+
+galcore-objs  := $(OBJS)
+
+endif
diff --git a/drivers/mxc/gpu-viv/Kconfig b/drivers/mxc/gpu-viv/Kconfig
new file mode 100644 (file)
index 0000000..e9cc4b2
--- /dev/null
@@ -0,0 +1,9 @@
+menu "MXC Vivante GPU support"
+       depends on SOC_IMX6Q
+
+config MXC_GPU_VIV
+       tristate "MXC Vivante GPU support"
+       ---help---
+         Say Y to get the GPU driver support.
+
+endmenu
diff --git a/drivers/mxc/gpu-viv/arch/GC350/hal/kernel/gc_hal_kernel_hardware_command_vg.c b/drivers/mxc/gpu-viv/arch/GC350/hal/kernel/gc_hal_kernel_hardware_command_vg.c
new file mode 100644 (file)
index 0000000..cf40e3f
--- /dev/null
@@ -0,0 +1,932 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#include "gc_hal.h"
+#include "gc_hal_kernel.h"
+
+#if gcdENABLE_VG
+
+#include "gc_hal_kernel_hardware_command_vg.h"
+
+#define _GC_OBJ_ZONE    gcvZONE_COMMAND
+
+/******************************************************************************\
+****************************** gckVGCOMMAND API code *****************************
+\******************************************************************************/
+
+/*******************************************************************************
+**
+**  gckVGCOMMAND_InitializeInfo
+**
+**  Initialize architecture dependent command buffer information.
+**
+**  INPUT:
+**
+**      gckVGCOMMAND Command
+**          Pointer to the Command object.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckVGCOMMAND_InitializeInfo(
+    IN gckVGCOMMAND Command
+    )
+{
+    gceSTATUS status;
+    gcmkHEADER_ARG("Command=0x%x", Command);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Command, gcvOBJ_COMMAND);
+
+    do
+    {
+        /* Reset interrupts. */
+        Command->info.feBufferInt   = -1;
+        Command->info.tsOverflowInt = -1;
+
+        /* Set command buffer attributes. */
+        Command->info.addressAlignment = 64;
+        Command->info.commandAlignment = 8;
+
+        /* Determine command alignment address mask. */
+        Command->info.addressMask = ((((gctUINT32) (Command->info.addressAlignment - 1)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 1:0) - (0 ? 1:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ? 1:0))) | (((gctUINT32) ((gctUINT32) (0 ) & ((gctUINT32) ((((1 ? 1:0) - (0 ? 1:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ? 1:0)));
+
+        /* Query the number of bytes needed by the STATE command. */
+        gcmkERR_BREAK(gckVGCOMMAND_StateCommand(
+            Command, 0x0, gcvNULL, (gctUINT32)~0, 0,
+            &Command->info.stateCommandSize
+            ));
+
+        /* Query the number of bytes needed by the RESTART command. */
+        gcmkERR_BREAK(gckVGCOMMAND_RestartCommand(
+            Command, gcvNULL, (gctUINT32)~0, 0,
+            &Command->info.restartCommandSize
+            ));
+
+        /* Query the number of bytes needed by the FETCH command. */
+        gcmkERR_BREAK(gckVGCOMMAND_FetchCommand(
+            Command, gcvNULL, (gctUINT32)~0, 0,
+            &Command->info.fetchCommandSize
+            ));
+
+        /* Query the number of bytes needed by the CALL command. */
+        gcmkERR_BREAK(gckVGCOMMAND_CallCommand(
+            Command, gcvNULL, (gctUINT32)~0, 0,
+            &Command->info.callCommandSize
+            ));
+
+        /* Query the number of bytes needed by the RETURN command. */
+        gcmkERR_BREAK(gckVGCOMMAND_ReturnCommand(
+            Command, gcvNULL,
+            &Command->info.returnCommandSize
+            ));
+
+        /* Query the number of bytes needed by the EVENT command. */
+        gcmkERR_BREAK(gckVGCOMMAND_EventCommand(
+            Command, gcvNULL, gcvBLOCK_PIXEL, -1,
+            &Command->info.eventCommandSize
+            ));
+
+        /* Query the number of bytes needed by the END command. */
+        gcmkERR_BREAK(gckVGCOMMAND_EndCommand(
+            Command, gcvNULL, -1,
+            &Command->info.endCommandSize
+            ));
+
+        /* Determine the tail reserve size. */
+        Command->info.staticTailSize = gcmMAX(
+            Command->info.fetchCommandSize,
+            gcmMAX(
+                Command->info.returnCommandSize,
+                Command->info.endCommandSize
+                )
+            );
+
+        /* Determine the maximum tail size. */
+        Command->info.dynamicTailSize
+            = Command->info.staticTailSize
+            + Command->info.eventCommandSize * gcvBLOCK_COUNT;
+    }
+    while (gcvFALSE);
+
+    gcmkFOOTER();
+    /* Return status. */
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckVGCOMMAND_StateCommand
+**
+**  Append a STATE command at the specified location in the command buffer.
+**
+**  INPUT:
+**
+**      gckVGCOMMAND Command
+**          Pointer to an gckVGCOMMAND object.
+**
+**      gctUINT32 Pipe
+**          Harwdare destination pipe.
+**
+**      gctPOINTER Logical
+**          Pointer to the current location inside the command buffer to append
+**          STATE command at or gcvNULL to query the size of the command.
+**
+**      gctUINT32 Address
+**          Starting register address of the state buffer.
+**          If 'Logical' is gcvNULL, this argument is ignored.
+**
+**      gctUINT32 Count
+**          Number of states in state buffer.
+**          If 'Logical' is gcvNULL, this argument is ignored.
+**
+**      gctSIZE_T * Bytes
+**          Pointer to the number of bytes available for the STATE command.
+**          If 'Logical' is gcvNULL, the value from this argument is ignored.
+**
+**  OUTPUT:
+**
+**      gctSIZE_T * Bytes
+**          Pointer to a variable that will receive the number of bytes required
+**          for the STATE command.  If 'Bytes' is gcvNULL, nothing is returned.
+*/
+gceSTATUS
+gckVGCOMMAND_StateCommand(
+    IN gckVGCOMMAND Command,
+    IN gctUINT32 Pipe,
+    IN gctPOINTER Logical,
+    IN gctUINT32 Address,
+    IN gctSIZE_T Count,
+    IN OUT gctSIZE_T * Bytes
+    )
+{
+    gcmkHEADER_ARG("Command=0x%x Pipe=0x%x Logical=0x%x Address=0x%x Count=0x%x Bytes = 0x%x",
+                   Command, Pipe, Logical, Address, Count, Bytes);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Command, gcvOBJ_COMMAND);
+
+    if (Command->fe20)
+    {
+        if (Logical != gcvNULL)
+        {
+            gctUINT32_PTR buffer;
+
+            /* Cast the buffer pointer. */
+            buffer = (gctUINT32_PTR) Logical;
+
+            /* Append STATE. */
+            buffer[0]
+                = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:28) - (0 ? 31:28) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:28) - (0 ? 31:28) + 1))))))) << (0 ? 31:28))) | (((gctUINT32) (0x3 & ((gctUINT32) ((((1 ? 31:28) - (0 ? 31:28) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:28) - (0 ? 31:28) + 1))))))) << (0 ? 31:28)))
+                | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 11:0) - (0 ? 11:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 11:0) - (0 ? 11:0) + 1))))))) << (0 ? 11:0))) | (((gctUINT32) ((gctUINT32) (Address) & ((gctUINT32) ((((1 ? 11:0) - (0 ? 11:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 11:0) - (0 ? 11:0) + 1))))))) << (0 ? 11:0)))
+                | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 27:16) - (0 ? 27:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 27:16) - (0 ? 27:16) + 1))))))) << (0 ? 27:16))) | (((gctUINT32) ((gctUINT32) (Count) & ((gctUINT32) ((((1 ? 27:16) - (0 ? 27:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 27:16) - (0 ? 27:16) + 1))))))) << (0 ? 27:16)))
+                | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 13:12) - (0 ? 13:12) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 13:12) - (0 ? 13:12) + 1))))))) << (0 ? 13:12))) | (((gctUINT32) ((gctUINT32) (Pipe) & ((gctUINT32) ((((1 ? 13:12) - (0 ? 13:12) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 13:12) - (0 ? 13:12) + 1))))))) << (0 ? 13:12)));
+        }
+
+        if (Bytes != gcvNULL)
+        {
+            /* Return number of bytes required by the STATE command. */
+            *Bytes = 4 * (Count + 1);
+        }
+    }
+    else
+    {
+        if (Logical != gcvNULL)
+        {
+            gctUINT32_PTR buffer;
+
+            /* Cast the buffer pointer. */
+            buffer = (gctUINT32_PTR) Logical;
+
+            /* Append LOAD_STATE. */
+            buffer[0]
+                = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+                | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (Count) & ((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
+                | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0))) | (((gctUINT32) ((gctUINT32) (Address) & ((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
+        }
+
+        if (Bytes != gcvNULL)
+        {
+            /* Return number of bytes required by the STATE command. */
+            *Bytes = 4 * (Count + 1);
+        }
+    }
+
+    gcmkFOOTER_NO();
+    /* Success. */
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckVGCOMMAND_RestartCommand
+**
+**  Form a RESTART command at the specified location in the command buffer.
+**
+**  INPUT:
+**
+**      gckVGCOMMAND Command
+**          Pointer to an gckVGCOMMAND object.
+**
+**      gctPOINTER Logical
+**          Pointer to the current location inside the command buffer to append
+**          RESTART command at or gcvNULL to query the size of the command.
+**
+**      gctUINT32 FetchAddress
+**          The address of another command buffer to be executed by this RESTART
+**          command.  If 'Logical' is gcvNULL, this argument is ignored.
+**
+**      gctUINT FetchCount
+**          The number of 64-bit data quantities in another command buffer to
+**          be executed by this RESTART command.  If 'Logical' is gcvNULL, this
+**          argument is ignored.
+**
+**      gctSIZE_T * Bytes
+**          Pointer to the number of bytes available for the RESTART command.
+**          If 'Logical' is gcvNULL, the value from this argument is ignored.
+**
+**  OUTPUT:
+**
+**      gctSIZE_T * Bytes
+**          Pointer to a variable that will receive the number of bytes required
+**          for the RESTART command.  If 'Bytes' is gcvNULL, nothing is returned.
+*/
+gceSTATUS
+gckVGCOMMAND_RestartCommand(
+    IN gckVGCOMMAND Command,
+    IN gctPOINTER Logical,
+    IN gctUINT32 FetchAddress,
+    IN gctUINT FetchCount,
+    IN OUT gctSIZE_T * Bytes
+    )
+{
+    gcmkHEADER_ARG("Command=0x%x Logical=0x%x FetchAddress=0x%x FetchCount=0x%x Bytes = 0x%x",
+                   Command, Logical, FetchAddress, FetchCount, Bytes);
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Command, gcvOBJ_COMMAND);
+
+    if (Command->fe20)
+    {
+        if (Logical != gcvNULL)
+        {
+            gctUINT32_PTR buffer;
+            gctUINT32 beginEndMark;
+
+            /* Cast the buffer pointer. */
+            buffer = (gctUINT32_PTR) Logical;
+
+            /* Determine Begin/End flag. */
+            beginEndMark = (FetchCount > 0)
+                ? ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 24:24) - (0 ? 24:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 24:24) - (0 ? 24:24) + 1))))))) << (0 ? 24:24))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 24:24) - (0 ? 24:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 24:24) - (0 ? 24:24) + 1))))))) << (0 ? 24:24)))
+                : ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 24:24) - (0 ? 24:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 24:24) - (0 ? 24:24) + 1))))))) << (0 ? 24:24))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 24:24) - (0 ? 24:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 24:24) - (0 ? 24:24) + 1))))))) << (0 ? 24:24)));
+
+            /* Append RESTART. */
+            buffer[0]
+                = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:28) - (0 ? 31:28) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:28) - (0 ? 31:28) + 1))))))) << (0 ? 31:28))) | (((gctUINT32) (0x9 & ((gctUINT32) ((((1 ? 31:28) - (0 ? 31:28) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:28) - (0 ? 31:28) + 1))))))) << (0 ? 31:28)))
+                | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 20:0) - (0 ? 20:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 20:0) - (0 ? 20:0) + 1))))))) << (0 ? 20:0))) | (((gctUINT32) ((gctUINT32) (FetchCount) & ((gctUINT32) ((((1 ? 20:0) - (0 ? 20:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 20:0) - (0 ? 20:0) + 1))))))) << (0 ? 20:0)))
+                | beginEndMark;
+
+            buffer[1]
+                = FetchAddress;
+        }
+
+        if (Bytes != gcvNULL)
+        {
+            /* Return number of bytes required by the RESTART command. */
+            *Bytes = 8;
+        }
+    }
+    else
+    {
+        gcmkFOOTER_NO();
+        return gcvSTATUS_NOT_SUPPORTED;
+    }
+
+
+    gcmkFOOTER_NO();
+    /* Success. */
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckVGCOMMAND_FetchCommand
+**
+**  Form a FETCH command at the specified location in the command buffer.
+**
+**  INPUT:
+**
+**      gckVGCOMMAND Command
+**          Pointer to an gckVGCOMMAND object.
+**
+**      gctPOINTER Logical
+**          Pointer to the current location inside the command buffer to append
+**          FETCH command at or gcvNULL to query the size of the command.
+**
+**      gctUINT32 FetchAddress
+**          The address of another command buffer to be executed by this FETCH
+**          command.  If 'Logical' is gcvNULL, this argument is ignored.
+**
+**      gctUINT FetchCount
+**          The number of 64-bit data quantities in another command buffer to
+**          be executed by this FETCH command.  If 'Logical' is gcvNULL, this
+**          argument is ignored.
+**
+**      gctSIZE_T * Bytes
+**          Pointer to the number of bytes available for the FETCH command.
+**          If 'Logical' is gcvNULL, the value from this argument is ignored.
+**
+**  OUTPUT:
+**
+**      gctSIZE_T * Bytes
+**          Pointer to a variable that will receive the number of bytes required
+**          for the FETCH command.  If 'Bytes' is gcvNULL, nothing is returned.
+*/
+gceSTATUS
+gckVGCOMMAND_FetchCommand(
+    IN gckVGCOMMAND Command,
+    IN gctPOINTER Logical,
+    IN gctUINT32 FetchAddress,
+    IN gctUINT FetchCount,
+    IN OUT gctSIZE_T * Bytes
+    )
+{
+    gcmkHEADER_ARG("Command=0x%x Logical=0x%x FetchAddress=0x%x FetchCount=0x%x Bytes = 0x%x",
+                   Command, Logical, FetchAddress, FetchCount, Bytes);
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Command, gcvOBJ_COMMAND);
+
+    if (Command->fe20)
+    {
+        if (Logical != gcvNULL)
+        {
+            gctUINT32_PTR buffer;
+
+            /* Cast the buffer pointer. */
+            buffer = (gctUINT32_PTR) Logical;
+
+            /* Append FETCH. */
+            buffer[0]
+                = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:28) - (0 ? 31:28) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:28) - (0 ? 31:28) + 1))))))) << (0 ? 31:28))) | (((gctUINT32) (0x5 & ((gctUINT32) ((((1 ? 31:28) - (0 ? 31:28) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:28) - (0 ? 31:28) + 1))))))) << (0 ? 31:28)))
+                | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 20:0) - (0 ? 20:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 20:0) - (0 ? 20:0) + 1))))))) << (0 ? 20:0))) | (((gctUINT32) ((gctUINT32) (FetchCount) & ((gctUINT32) ((((1 ? 20:0) - (0 ? 20:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 20:0) - (0 ? 20:0) + 1))))))) << (0 ? 20:0)));
+
+            buffer[1]
+                = gcmkFIXADDRESS(FetchAddress);
+        }
+
+        if (Bytes != gcvNULL)
+        {
+            /* Return number of bytes required by the FETCH command. */
+            *Bytes = 8;
+        }
+    }
+    else
+    {
+        if (Logical != gcvNULL)
+        {
+            gctUINT32_PTR buffer;
+
+            /* Cast the buffer pointer. */
+            buffer = (gctUINT32_PTR) Logical;
+
+            /* Append LINK. */
+            buffer[0]
+                = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x08 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+                | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0))) | (((gctUINT32) ((gctUINT32) (FetchCount) & ((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
+
+            buffer[1]
+                = gcmkFIXADDRESS(FetchAddress);
+        }
+
+        if (Bytes != gcvNULL)
+        {
+            /* Return number of bytes required by the LINK command. */
+            *Bytes = 8;
+        }
+    }
+
+    gcmkFOOTER_NO();
+    /* Success. */
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckVGCOMMAND_CallCommand
+**
+**  Append a CALL command at the specified location in the command buffer.
+**
+**  INPUT:
+**
+**      gckVGCOMMAND Command
+**          Pointer to an gckVGCOMMAND object.
+**
+**      gctPOINTER Logical
+**          Pointer to the current location inside the command buffer to append
+**          CALL command at or gcvNULL to query the size of the command.
+**
+**      gctUINT32 FetchAddress
+**          The address of another command buffer to be executed by this CALL
+**          command.  If 'Logical' is gcvNULL, this argument is ignored.
+**
+**      gctUINT FetchCount
+**          The number of 64-bit data quantities in another command buffer to
+**          be executed by this CALL command.  If 'Logical' is gcvNULL, this
+**          argument is ignored.
+**
+**      gctSIZE_T * Bytes
+**          Pointer to the number of bytes available for the CALL command.
+**          If 'Logical' is gcvNULL, the value from this argument is ignored.
+**
+**  OUTPUT:
+**
+**      gctSIZE_T * Bytes
+**          Pointer to a variable that will receive the number of bytes required
+**          for the CALL command.  If 'Bytes' is gcvNULL, nothing is returned.
+*/
+gceSTATUS
+gckVGCOMMAND_CallCommand(
+    IN gckVGCOMMAND Command,
+    IN gctPOINTER Logical,
+    IN gctUINT32 FetchAddress,
+    IN gctUINT FetchCount,
+    IN OUT gctSIZE_T * Bytes
+    )
+{
+    gcmkHEADER_ARG("Command=0x%x Logical=0x%x FetchAddress=0x%x FetchCount=0x%x Bytes = 0x%x",
+                   Command, Logical, FetchAddress, FetchCount, Bytes);
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Command, gcvOBJ_COMMAND);
+
+    if (Command->fe20)
+    {
+        if (Logical != gcvNULL)
+        {
+            gctUINT32_PTR buffer;
+
+            /* Cast the buffer pointer. */
+            buffer = (gctUINT32_PTR) Logical;
+
+            /* Append CALL. */
+            buffer[0]
+                = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:28) - (0 ? 31:28) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:28) - (0 ? 31:28) + 1))))))) << (0 ? 31:28))) | (((gctUINT32) (0x6 & ((gctUINT32) ((((1 ? 31:28) - (0 ? 31:28) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:28) - (0 ? 31:28) + 1))))))) << (0 ? 31:28)))
+                | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 20:0) - (0 ? 20:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 20:0) - (0 ? 20:0) + 1))))))) << (0 ? 20:0))) | (((gctUINT32) ((gctUINT32) (FetchCount) & ((gctUINT32) ((((1 ? 20:0) - (0 ? 20:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 20:0) - (0 ? 20:0) + 1))))))) << (0 ? 20:0)));
+
+            buffer[1]
+                = gcmkFIXADDRESS(FetchAddress);
+        }
+
+        if (Bytes != gcvNULL)
+        {
+            /* Return number of bytes required by the CALL command. */
+            *Bytes = 8;
+        }
+    }
+    else
+    {
+        gcmkFOOTER_NO();
+        return gcvSTATUS_NOT_SUPPORTED;
+    }
+
+    gcmkFOOTER_NO();
+    /* Success. */
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckVGCOMMAND_ReturnCommand
+**
+**  Append a RETURN command at the specified location in the command buffer.
+**
+**  INPUT:
+**
+**      gckVGCOMMAND Command
+**          Pointer to an gckVGCOMMAND object.
+**
+**      gctPOINTER Logical
+**          Pointer to the current location inside the command buffer to append
+**          RETURN command at or gcvNULL to query the size of the command.
+**
+**      gctSIZE_T * Bytes
+**          Pointer to the number of bytes available for the RETURN command.
+**          If 'Logical' is gcvNULL, the value from this argument is ignored.
+**
+**  OUTPUT:
+**
+**      gctSIZE_T * Bytes
+**          Pointer to a variable that will receive the number of bytes required
+**          for the RETURN command.  If 'Bytes' is gcvNULL, nothing is returned.
+*/
+gceSTATUS
+gckVGCOMMAND_ReturnCommand(
+    IN gckVGCOMMAND Command,
+    IN gctPOINTER Logical,
+    IN OUT gctSIZE_T * Bytes
+    )
+{
+    gcmkHEADER_ARG("Command=0x%x Logical=0x%x  Bytes = 0x%x",
+                   Command, Logical, Bytes);
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Command, gcvOBJ_COMMAND);
+
+    if (Command->fe20)
+    {
+        if (Logical != gcvNULL)
+        {
+            gctUINT32_PTR buffer;
+
+            /* Cast the buffer pointer. */
+            buffer = (gctUINT32_PTR) Logical;
+
+            /* Append RETURN. */
+            buffer[0]
+                = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:28) - (0 ? 31:28) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:28) - (0 ? 31:28) + 1))))))) << (0 ? 31:28))) | (((gctUINT32) (0x7 & ((gctUINT32) ((((1 ? 31:28) - (0 ? 31:28) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:28) - (0 ? 31:28) + 1))))))) << (0 ? 31:28)));
+        }
+
+        if (Bytes != gcvNULL)
+        {
+            /* Return number of bytes required by the RETURN command. */
+            *Bytes = 8;
+        }
+    }
+    else
+    {
+        gcmkFOOTER_NO();
+        return gcvSTATUS_NOT_SUPPORTED;
+    }
+
+    gcmkFOOTER_NO();
+    /* Success. */
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckVGCOMMAND_EventCommand
+**
+**  Form an EVENT command at the specified location in the command buffer.
+**
+**  INPUT:
+**
+**      gckVGCOMMAND Command
+**          Pointer to the Command object.
+**
+**      gctPOINTER Logical
+**          Pointer to the current location inside the command buffer to append
+**          EVENT command at or gcvNULL to query the size of the command.
+**
+**      gctINT32 InterruptId
+**          The ID of the interrupt to generate.
+**          If 'Logical' is gcvNULL, this argument is ignored.
+**
+**      gceBLOCK Block
+**          Block that will generate the interrupt.
+**
+**      gctSIZE_T * Bytes
+**          Pointer to the number of bytes available for the EVENT command.
+**          If 'Logical' is gcvNULL, the value from this argument is ignored.
+**
+**  OUTPUT:
+**
+**      gctSIZE_T * Bytes
+**          Pointer to a variable that will receive the number of bytes required
+**          for the END command.  If 'Bytes' is gcvNULL, nothing is returned.
+*/
+gceSTATUS
+gckVGCOMMAND_EventCommand(
+    IN gckVGCOMMAND Command,
+    IN gctPOINTER Logical,
+    IN gceBLOCK Block,
+    IN gctINT32 InterruptId,
+    IN OUT gctSIZE_T * Bytes
+    )
+{
+    gcmkHEADER_ARG("Command=0x%x Logical=0x%x Block=0x%x InterruptId=0x%x Bytes = 0x%x",
+                   Command, Logical, Block, InterruptId, Bytes);
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Command, gcvOBJ_COMMAND);
+
+    if (Command->fe20)
+    {
+        typedef struct _gcsEVENTSTATES
+        {
+            /* Chips before VG21 use these values. */
+            gctUINT     eventFromFE;
+            gctUINT     eventFromPE;
+
+            /* VG21 chips and later use SOURCE field. */
+            gctUINT     eventSource;
+        }
+        gcsEVENTSTATES;
+
+        static gcsEVENTSTATES states[] =
+        {
+            /* gcvBLOCK_COMMAND */
+            {
+                (gctUINT)~0,
+                (gctUINT)~0,
+                (gctUINT)~0
+            },
+
+            /* gcvBLOCK_TESSELLATOR */
+            {
+                0x0,
+                0x1,
+                0x10
+            },
+
+            /* gcvBLOCK_TESSELLATOR2 */
+            {
+                0x0,
+                0x1,
+                0x12
+            },
+
+            /* gcvBLOCK_TESSELLATOR3 */
+            {
+                0x0,
+                0x1,
+                0x14
+            },
+
+            /* gcvBLOCK_RASTER */
+            {
+                0x0,
+                0x1,
+                0x07,
+            },
+
+            /* gcvBLOCK_VG */
+            {
+                0x0,
+                0x1,
+                0x0F
+            },
+
+            /* gcvBLOCK_VG2 */
+            {
+                0x0,
+                0x1,
+                0x11
+            },
+
+            /* gcvBLOCK_VG3 */
+            {
+                0x0,
+                0x1,
+                0x13
+            },
+
+            /* gcvBLOCK_PIXEL */
+            {
+                0x0,
+                0x1,
+                0x07
+            },
+        };
+
+        /* Verify block ID. */
+        gcmkVERIFY_ARGUMENT(gcmIS_VALID_INDEX(Block, states));
+
+        if (Logical != gcvNULL)
+        {
+            gctUINT32_PTR buffer;
+
+            /* Verify the event ID. */
+            gcmkVERIFY_ARGUMENT(InterruptId >= 0);
+            gcmkVERIFY_ARGUMENT(InterruptId <= ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))));
+
+            /* Cast the buffer pointer. */
+            buffer = (gctUINT32_PTR) Logical;
+
+            /* Append EVENT. */
+            buffer[0]
+                = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:28) - (0 ? 31:28) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:28) - (0 ? 31:28) + 1))))))) << (0 ? 31:28))) | (((gctUINT32) (0x3 & ((gctUINT32) ((((1 ? 31:28) - (0 ? 31:28) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:28) - (0 ? 31:28) + 1))))))) << (0 ? 31:28)))
+                | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 11:0) - (0 ? 11:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 11:0) - (0 ? 11:0) + 1))))))) << (0 ? 11:0))) | (((gctUINT32) ((gctUINT32) (0x0E01) & ((gctUINT32) ((((1 ? 11:0) - (0 ? 11:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 11:0) - (0 ? 11:0) + 1))))))) << (0 ? 11:0)))
+                | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 27:16) - (0 ? 27:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 27:16) - (0 ? 27:16) + 1))))))) << (0 ? 27:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 27:16) - (0 ? 27:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 27:16) - (0 ? 27:16) + 1))))))) << (0 ? 27:16)))
+                | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 13:12) - (0 ? 13:12) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 13:12) - (0 ? 13:12) + 1))))))) << (0 ? 13:12))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 13:12) - (0 ? 13:12) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 13:12) - (0 ? 13:12) + 1))))))) << (0 ? 13:12)));
+
+            /* Determine chip version. */
+            if (Command->vg21)
+            {
+                /* Get the event source for the block. */
+                gctUINT eventSource = states[Block].eventSource;
+
+                /* Supported? */
+                if (eventSource == ~0)
+                {
+                    gcmkFOOTER_NO();
+                    return gcvSTATUS_NOT_SUPPORTED;
+                }
+
+                buffer[1]
+                    = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0))) | (((gctUINT32) ((gctUINT32) (InterruptId) & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
+                    | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8))) | (((gctUINT32) ((gctUINT32) (eventSource) & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
+            }
+            else
+            {
+                /* Get the event source for the block. */
+                gctUINT eventFromFE = states[Block].eventFromFE;
+                gctUINT eventFromPE = states[Block].eventFromPE;
+
+                /* Supported? */
+                if (eventFromFE == ~0)
+                {
+                    gcmkFOOTER_NO();
+                    return gcvSTATUS_NOT_SUPPORTED;
+                }
+
+                buffer[1]
+                    = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0))) | (((gctUINT32) ((gctUINT32) (InterruptId) & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
+                    | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 5:5) - (0 ? 5:5) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ? 5:5))) | (((gctUINT32) ((gctUINT32) (eventFromFE) & ((gctUINT32) ((((1 ? 5:5) - (0 ? 5:5) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ? 5:5)))
+                    | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 6:6) - (0 ? 6:6) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ? 6:6))) | (((gctUINT32) ((gctUINT32) (eventFromPE) & ((gctUINT32) ((((1 ? 6:6) - (0 ? 6:6) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ? 6:6)));
+            }
+        }
+
+        if (Bytes != gcvNULL)
+        {
+            /* Make sure the events are directly supported for the block. */
+            if (states[Block].eventSource == ~0)
+            {
+                gcmkFOOTER_NO();
+                return gcvSTATUS_NOT_SUPPORTED;
+            }
+
+            /* Return number of bytes required by the END command. */
+            *Bytes = 8;
+        }
+    }
+    else
+    {
+        if (Logical != gcvNULL)
+        {
+            gctUINT32_PTR buffer;
+
+            /* Verify the event ID. */
+            gcmkVERIFY_ARGUMENT(InterruptId >= 0);
+            gcmkVERIFY_ARGUMENT(InterruptId <= ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))));
+
+            /* Cast the buffer pointer. */
+            buffer = (gctUINT32_PTR) Logical;
+
+            /* Append EVENT. */
+            buffer[0]
+                = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+                | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E01) & ((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+                | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
+
+            /* Determine event source. */
+            if (Block == gcvBLOCK_COMMAND)
+            {
+                buffer[1]
+                    = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0))) | (((gctUINT32) ((gctUINT32) (InterruptId) & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
+                    | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 5:5) - (0 ? 5:5) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ? 5:5))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 5:5) - (0 ? 5:5) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ? 5:5)));
+            }
+            else
+            {
+                buffer[1]
+                    = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0))) | (((gctUINT32) ((gctUINT32) (InterruptId) & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
+                    | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 6:6) - (0 ? 6:6) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ? 6:6))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 6:6) - (0 ? 6:6) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ? 6:6)));
+            }
+        }
+
+        if (Bytes != gcvNULL)
+        {
+            /* Return number of bytes required by the EVENT and END commands. */
+            *Bytes = 8;
+        }
+    }
+
+    gcmkFOOTER_NO();
+    /* Success. */
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckVGCOMMAND_EndCommand
+**
+**  Form an END command at the specified location in the command buffer.
+**
+**  INPUT:
+**
+**      gckVGCOMMAND Command
+**          Pointer to the Command object.
+**
+**      gctPOINTER Logical
+**          Pointer to the current location inside the command buffer to append
+**          END command at or gcvNULL to query the size of the command.
+**
+**      gctINT32 InterruptId
+**          The ID of the interrupt to generate.
+**          If 'Logical' is gcvNULL, this argument will be ignored.
+**
+**      gctSIZE_T * Bytes
+**          Pointer to the number of bytes available for the END command.
+**          If 'Logical' is gcvNULL, the value from this argument is ignored.
+**
+**  OUTPUT:
+**
+**      gctSIZE_T * Bytes
+**          Pointer to a variable that will receive the number of bytes required
+**          for the END command.  If 'Bytes' is gcvNULL, nothing is returned.
+*/
+gceSTATUS
+gckVGCOMMAND_EndCommand(
+    IN gckVGCOMMAND Command,
+    IN gctPOINTER Logical,
+    IN gctINT32 InterruptId,
+    IN OUT gctSIZE_T * Bytes
+    )
+{
+    gcmkHEADER_ARG("Command=0x%x Logical=0x%x InterruptId=0x%x Bytes = 0x%x",
+                   Command, Logical, InterruptId, Bytes);
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Command, gcvOBJ_COMMAND);
+
+    if (Command->fe20)
+    {
+        if (Logical != gcvNULL)
+        {
+            gctUINT32_PTR buffer;
+
+            /* Verify the event ID. */
+            gcmkVERIFY_ARGUMENT(InterruptId >= 0);
+
+            /* Cast the buffer pointer. */
+            buffer = (gctUINT32_PTR) Logical;
+
+            /* Append END. */
+            buffer[0]
+                = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:28) - (0 ? 31:28) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:28) - (0 ? 31:28) + 1))))))) << (0 ? 31:28))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 31:28) - (0 ? 31:28) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:28) - (0 ? 31:28) + 1))))))) << (0 ? 31:28)))
+                | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0))) | (((gctUINT32) ((gctUINT32) (InterruptId) & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)));
+        }
+
+        if (Bytes != gcvNULL)
+        {
+            /* Return number of bytes required by the END command. */
+            *Bytes = 8;
+        }
+    }
+    else
+    {
+        if (Logical != gcvNULL)
+        {
+            gctUINT32_PTR memory;
+
+            /* Verify the event ID. */
+            gcmkVERIFY_ARGUMENT(InterruptId >= 0);
+
+            /* Cast the buffer pointer. */
+            memory = (gctUINT32_PTR) Logical;
+
+            /* Append EVENT. */
+            memory[0]
+                = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+                | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E01) & ((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+                | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
+
+            memory[1]
+                = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0))) | (((gctUINT32) ((gctUINT32) (InterruptId) & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
+                | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 6:6) - (0 ? 6:6) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ? 6:6))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 6:6) - (0 ? 6:6) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ? 6:6)));
+
+            /* Append END. */
+            memory[2]
+                = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x02 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)));
+        }
+
+        if (Bytes != gcvNULL)
+        {
+            /* Return number of bytes required by the EVENT and END commands. */
+            *Bytes = 16;
+        }
+    }
+
+    gcmkFOOTER_NO();
+    /* Success. */
+    return gcvSTATUS_OK;
+}
+
+#endif /* gcdENABLE_VG */
+
diff --git a/drivers/mxc/gpu-viv/arch/GC350/hal/kernel/gc_hal_kernel_hardware_command_vg.h b/drivers/mxc/gpu-viv/arch/GC350/hal/kernel/gc_hal_kernel_hardware_command_vg.h
new file mode 100644 (file)
index 0000000..aa767ee
--- /dev/null
@@ -0,0 +1,319 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#ifndef __gc_hal_kernel_hardware_command_vg_h_
+#define __gc_hal_kernel_hardware_command_vg_h_
+
+/******************************************************************************\
+******************* Task and Interrupt Management Structures. ******************
+\******************************************************************************/
+
+/* Task storage header. */
+typedef struct _gcsTASK_STORAGE * gcsTASK_STORAGE_PTR;
+typedef struct _gcsTASK_STORAGE
+{
+    /* Next allocated storage buffer. */
+    gcsTASK_STORAGE_PTR         next;
+}
+gcsTASK_STORAGE;
+
+/* Task container header. */
+typedef struct _gcsTASK_CONTAINER * gcsTASK_CONTAINER_PTR;
+typedef struct _gcsTASK_CONTAINER
+{
+    /* The number of tasks left to be processed in the container. */
+    gctINT                      referenceCount;
+
+    /* Size of the buffer. */
+    gctUINT                     size;
+
+    /* Link to the previous and the next allocated containers. */
+    gcsTASK_CONTAINER_PTR       allocPrev;
+    gcsTASK_CONTAINER_PTR       allocNext;
+
+    /* Link to the previous and the next containers in the free list. */
+    gcsTASK_CONTAINER_PTR       freePrev;
+    gcsTASK_CONTAINER_PTR       freeNext;
+}
+gcsTASK_CONTAINER;
+
+/* Kernel space task master table entry. */
+typedef struct _gcsBLOCK_TASK_ENTRY * gcsBLOCK_TASK_ENTRY_PTR;
+typedef struct _gcsBLOCK_TASK_ENTRY
+{
+    /* Pointer to the current task container for the block. */
+    gcsTASK_CONTAINER_PTR       container;
+
+    /* Pointer to the current task data within the container. */
+    gcsTASK_HEADER_PTR          task;
+
+    /* Pointer to the last link task within the container. */
+    gcsTASK_LINK_PTR            link;
+
+    /* Number of interrupts allocated for this block. */
+    gctUINT                     interruptCount;
+
+    /* The index of the current interrupt. */
+    gctUINT                     interruptIndex;
+
+    /* Interrupt semaphore. */
+    gctSEMAPHORE                interruptSemaphore;
+
+    /* Interrupt value array. */
+    gctINT32                    interruptArray[32];
+}
+gcsBLOCK_TASK_ENTRY;
+
+
+/******************************************************************************\
+********************* Command Queue Management Structures. *********************
+\******************************************************************************/
+
+/* Command queue kernel element pointer. */
+typedef struct _gcsKERNEL_CMDQUEUE * gcsKERNEL_CMDQUEUE_PTR;
+
+/* Command queue object handler function type. */
+typedef gceSTATUS (* gctOBJECT_HANDLER) (
+    gckVGKERNEL Kernel,
+    gcsKERNEL_CMDQUEUE_PTR Entry
+    );
+
+/* Command queue kernel element. */
+typedef struct _gcsKERNEL_CMDQUEUE
+{
+    /* The number of buffers in the queue. */
+    gcsCMDBUFFER_PTR            commandBuffer;
+
+    /* Pointer to the object handler function. */
+    gctOBJECT_HANDLER           handler;
+}
+gcsKERNEL_CMDQUEUE;
+
+/* Command queue header. */
+typedef struct _gcsKERNEL_QUEUE_HEADER * gcsKERNEL_QUEUE_HEADER_PTR;
+typedef struct _gcsKERNEL_QUEUE_HEADER
+{
+    /* The size of the buffer in bytes. */
+    gctUINT                     size;
+
+    /* The number of pending entries to be processed. */
+    volatile gctUINT            pending;
+
+    /* The current command queue entry. */
+    gcsKERNEL_CMDQUEUE_PTR      currentEntry;
+
+    /* Next buffer. */
+    gcsKERNEL_QUEUE_HEADER_PTR  next;
+}
+gcsKERNEL_QUEUE_HEADER;
+
+
+/******************************************************************************\
+******************************* gckVGCOMMAND Object *******************************
+\******************************************************************************/
+
+/* gckVGCOMMAND object. */
+struct _gckVGCOMMAND
+{
+    /***************************************************************************
+    ** Object data and pointers.
+    */
+
+    gcsOBJECT                   object;
+    gckVGKERNEL                 kernel;
+    gckOS                       os;
+    gckVGHARDWARE                   hardware;
+
+    /* Features. */
+    gctBOOL                     fe20;
+    gctBOOL                     vg20;
+    gctBOOL                     vg21;
+
+
+    /***************************************************************************
+    ** Enable command queue dumping.
+    */
+
+    gctBOOL                     enableDumping;
+
+
+    /***************************************************************************
+    ** Bus Error interrupt.
+    */
+
+    gctINT32                    busErrorInt;
+
+
+    /***************************************************************************
+    ** Command buffer information.
+    */
+
+    gcsCOMMAND_BUFFER_INFO      info;
+
+
+    /***************************************************************************
+    ** Synchronization objects.
+    */
+
+    gctPOINTER                  queueMutex;
+    gctPOINTER                  taskMutex;
+    gctPOINTER                  commitMutex;
+
+
+    /***************************************************************************
+    ** Task management.
+    */
+
+    /* The head of the storage buffer linked list. */
+    gcsTASK_STORAGE_PTR         taskStorage;
+
+    /* Allocation size. */
+    gctUINT                     taskStorageGranularity;
+    gctUINT                     taskStorageUsable;
+
+    /* The free container list. */
+    gcsTASK_CONTAINER_PTR       taskFreeHead;
+    gcsTASK_CONTAINER_PTR       taskFreeTail;
+
+    /* Task table */
+    gcsBLOCK_TASK_ENTRY         taskTable[gcvBLOCK_COUNT];
+
+
+    /***************************************************************************
+    ** Command queue.
+    */
+
+    /* Pointer to the allocated queue memory. */
+    gcsKERNEL_QUEUE_HEADER_PTR  queue;
+
+    /* Pointer to the current available queue from which new queue entries
+       will be allocated. */
+    gcsKERNEL_QUEUE_HEADER_PTR  queueHead;
+
+    /* If different from queueHead, points to the command queue which is
+       currently being executed by the hardware. */
+    gcsKERNEL_QUEUE_HEADER_PTR  queueTail;
+
+    /* Points to the queue to merge the tail with when the tail is processed. */
+    gcsKERNEL_QUEUE_HEADER_PTR  mergeQueue;
+
+    /* Queue overflow counter. */
+    gctUINT                     queueOverflow;
+
+
+    /***************************************************************************
+    ** Context.
+    */
+
+    /* Context counter used for unique ID. */
+    gctUINT64                   contextCounter;
+
+    /* Current context ID. */
+    gctUINT64                   currentContext;
+
+    /* Command queue power semaphore. */
+    gctPOINTER                  powerSemaphore;
+    gctINT32                    powerStallInt;
+    gcsCMDBUFFER_PTR            powerStallBuffer;
+    gctSIGNAL                   powerStallSignal;
+
+};
+
+/******************************************************************************\
+************************ gckVGCOMMAND Object Internal API. ***********************
+\******************************************************************************/
+
+/* Initialize architecture dependent command buffer information. */
+gceSTATUS
+gckVGCOMMAND_InitializeInfo(
+    IN gckVGCOMMAND Command
+    );
+
+/* Form a STATE command at the specified location in the command buffer. */
+gceSTATUS
+gckVGCOMMAND_StateCommand(
+    IN gckVGCOMMAND Command,
+    IN gctUINT32 Pipe,
+    IN gctPOINTER Logical,
+    IN gctUINT32 Address,
+    IN gctSIZE_T Count,
+    IN OUT gctSIZE_T * Bytes
+    );
+
+/* Form a RESTART command at the specified location in the command buffer. */
+gceSTATUS
+gckVGCOMMAND_RestartCommand(
+    IN gckVGCOMMAND Command,
+    IN gctPOINTER Logical,
+    IN gctUINT32 FetchAddress,
+    IN gctUINT FetchCount,
+    IN OUT gctSIZE_T * Bytes
+    );
+
+/* Form a FETCH command at the specified location in the command buffer. */
+gceSTATUS
+gckVGCOMMAND_FetchCommand(
+    IN gckVGCOMMAND Command,
+    IN gctPOINTER Logical,
+    IN gctUINT32 FetchAddress,
+    IN gctUINT FetchCount,
+    IN OUT gctSIZE_T * Bytes
+    );
+
+/* Form a CALL command at the specified location in the command buffer. */
+gceSTATUS
+gckVGCOMMAND_CallCommand(
+    IN gckVGCOMMAND Command,
+    IN gctPOINTER Logical,
+    IN gctUINT32 FetchAddress,
+    IN gctUINT FetchCount,
+    IN OUT gctSIZE_T * Bytes
+    );
+
+/* Form a RETURN command at the specified location in the command buffer. */
+gceSTATUS
+gckVGCOMMAND_ReturnCommand(
+    IN gckVGCOMMAND Command,
+    IN gctPOINTER Logical,
+    IN OUT gctSIZE_T * Bytes
+    );
+
+/* Form an EVENT command at the specified location in the command buffer. */
+gceSTATUS
+gckVGCOMMAND_EventCommand(
+    IN gckVGCOMMAND Command,
+    IN gctPOINTER Logical,
+    IN gceBLOCK Block,
+    IN gctINT32 InterruptId,
+    IN OUT gctSIZE_T * Bytes
+    );
+
+/* Form an END command at the specified location in the command buffer. */
+gceSTATUS
+gckVGCOMMAND_EndCommand(
+    IN gckVGCOMMAND Command,
+    IN gctPOINTER Logical,
+    IN gctINT32 InterruptId,
+    IN OUT gctSIZE_T * Bytes
+    );
+
+#endif  /* __gc_hal_kernel_hardware_command_h_ */
+
diff --git a/drivers/mxc/gpu-viv/arch/GC350/hal/kernel/gc_hal_kernel_hardware_vg.c b/drivers/mxc/gpu-viv/arch/GC350/hal/kernel/gc_hal_kernel_hardware_vg.c
new file mode 100644 (file)
index 0000000..a17d2fd
--- /dev/null
@@ -0,0 +1,2110 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#include "gc_hal.h"
+#include "gc_hal_kernel.h"
+#include "gc_hal_kernel_hardware_command_vg.h"
+
+#if gcdENABLE_VG
+
+#define _GC_OBJ_ZONE    gcvZONE_HARDWARE
+
+typedef enum
+{
+    gcvPOWER_FLAG_INITIALIZE    = 1 << 0,
+    gcvPOWER_FLAG_STALL         = 1 << 1,
+    gcvPOWER_FLAG_STOP          = 1 << 2,
+    gcvPOWER_FLAG_START         = 1 << 3,
+    gcvPOWER_FLAG_RELEASE       = 1 << 4,
+    gcvPOWER_FLAG_DELAY         = 1 << 5,
+    gcvPOWER_FLAG_SAVE          = 1 << 6,
+    gcvPOWER_FLAG_ACQUIRE       = 1 << 7,
+    gcvPOWER_FLAG_POWER_OFF     = 1 << 8,
+    gcvPOWER_FLAG_CLOCK_OFF     = 1 << 9,
+    gcvPOWER_FLAG_CLOCK_ON      = 1 << 10,
+    gcvPOWER_FLAG_NOP           = 1 << 11,
+}
+gcePOWER_FLAGS;
+
+/******************************************************************************\
+********************************* Support Code *********************************
+\******************************************************************************/
+static gceSTATUS
+_ResetGPU(
+    IN gckOS Os
+    )
+{
+    gctUINT32 control, idle;
+    gceSTATUS status;
+
+    /* Read register. */
+    gcmkONERROR(gckOS_ReadRegisterEx(Os,
+                                     gcvCORE_VG,
+                                     0x00000,
+                                     &control));
+
+    for (;;)
+    {
+        /* Disable clock gating. */
+        gcmkONERROR(gckOS_WriteRegisterEx(Os,
+                    gcvCORE_VG,
+                    0x00104,
+                    0x00000000));
+
+        /* Wait for clock being stable. */
+        gcmkONERROR(gckOS_Delay(Os, 1));
+
+        /* Isolate the GPU. */
+        control = ((((gctUINT32) (control)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 19:19) - (0 ? 19:19) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 19:19) - (0 ? 19:19) + 1))))))) << (0 ? 19:19))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 19:19) - (0 ? 19:19) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 19:19) - (0 ? 19:19) + 1))))))) << (0 ? 19:19)));
+
+        gcmkONERROR(gckOS_WriteRegisterEx(Os,
+                                          gcvCORE_VG,
+                                          0x00000,
+                                          control));
+
+        /* Set soft reset. */
+        gcmkONERROR(gckOS_WriteRegisterEx(Os,
+                                          gcvCORE_VG,
+                                          0x00000,
+                                          ((((gctUINT32) (control)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 12:12) - (0 ? 12:12) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:12) - (0 ? 12:12) + 1))))))) << (0 ? 12:12))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 12:12) - (0 ? 12:12) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:12) - (0 ? 12:12) + 1))))))) << (0 ? 12:12)))));
+
+        /* Wait for reset. */
+        gcmkONERROR(gckOS_Delay(Os, 1));
+
+        /* Reset soft reset bit. */
+        gcmkONERROR(gckOS_WriteRegisterEx(Os,
+                                          gcvCORE_VG,
+                                          0x00000,
+                                          ((((gctUINT32) (control)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 12:12) - (0 ? 12:12) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:12) - (0 ? 12:12) + 1))))))) << (0 ? 12:12))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 12:12) - (0 ? 12:12) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:12) - (0 ? 12:12) + 1))))))) << (0 ? 12:12)))));
+
+        /* Reset GPU isolation. */
+        control = ((((gctUINT32) (control)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 19:19) - (0 ? 19:19) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 19:19) - (0 ? 19:19) + 1))))))) << (0 ? 19:19))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 19:19) - (0 ? 19:19) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 19:19) - (0 ? 19:19) + 1))))))) << (0 ? 19:19)));
+
+        gcmkONERROR(gckOS_WriteRegisterEx(Os,
+                                          gcvCORE_VG,
+                                          0x00000,
+                                          control));
+
+        /* Read idle register. */
+        gcmkONERROR(gckOS_ReadRegisterEx(Os,
+                                         gcvCORE_VG,
+                                         0x00004,
+                                         &idle));
+
+        if ((((((gctUINT32) (idle)) >> (0 ? 0:0)) & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1)))))) ) == 0)
+        {
+            continue;
+        }
+
+        /* Read reset register. */
+        gcmkONERROR(gckOS_ReadRegisterEx(Os,
+                                         gcvCORE_VG,
+                                         0x00000,
+                                         &control));
+
+        if (((((((gctUINT32) (control)) >> (0 ? 16:16)) & ((gctUINT32) ((((1 ? 16:16) - (0 ? 16:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 16:16) - (0 ? 16:16) + 1)))))) ) == 0)
+        ||  ((((((gctUINT32) (control)) >> (0 ? 17:17)) & ((gctUINT32) ((((1 ? 17:17) - (0 ? 17:17) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 17:17) - (0 ? 17:17) + 1)))))) ) == 0)
+        )
+        {
+            continue;
+        }
+
+        /* GPU is idle. */
+        break;
+    }
+
+    /* Success. */
+    return gcvSTATUS_OK;
+
+OnError:
+
+    /* Return the error. */
+    return status;
+}
+
+
+static gceSTATUS
+_IdentifyHardware(
+    IN gckOS Os,
+    OUT gceCHIPMODEL * ChipModel,
+    OUT gctUINT32 * ChipRevision,
+    OUT gctUINT32 * ChipFeatures,
+    OUT gctUINT32 * ChipMinorFeatures,
+    OUT gctUINT32 * ChipMinorFeatures2
+    )
+{
+    gceSTATUS status;
+    gctUINT32 chipIdentity;
+
+    do
+    {
+        /* Read chip identity register. */
+        gcmkERR_BREAK(gckOS_ReadRegisterEx(Os, gcvCORE_VG, 0x00018, &chipIdentity));
+
+        /* Special case for older graphic cores. */
+        if (((((gctUINT32) (chipIdentity)) >> (0 ? 31:24) & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1)))))) == (0x01 & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))))
+        {
+            *ChipModel    = gcv500;
+            *ChipRevision = (((((gctUINT32) (chipIdentity)) >> (0 ? 15:12)) & ((gctUINT32) ((((1 ? 15:12) - (0 ? 15:12) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:12) - (0 ? 15:12) + 1)))))) );
+        }
+
+        else
+        {
+            /* Read chip identity register. */
+            gcmkERR_BREAK(gckOS_ReadRegisterEx(Os, gcvCORE_VG,
+                                            0x00020,
+                                            (gctUINT32 *) ChipModel));
+
+            /* Read CHIP_REV register. */
+            gcmkERR_BREAK(gckOS_ReadRegisterEx(Os, gcvCORE_VG,
+                                            0x00024,
+                                            ChipRevision));
+        }
+
+        /* Read chip feature register. */
+        gcmkERR_BREAK(gckOS_ReadRegisterEx(
+            Os, gcvCORE_VG, 0x0001C, ChipFeatures
+            ));
+
+        /* Read chip minor feature register. */
+        gcmkERR_BREAK(gckOS_ReadRegisterEx(
+            Os, gcvCORE_VG, 0x00034, ChipMinorFeatures
+            ));
+
+        /* Read chip minor feature register #2. */
+        gcmkERR_BREAK(gckOS_ReadRegisterEx(
+            Os, gcvCORE_VG, 0x00074, ChipMinorFeatures2
+            ));
+
+        gcmkTRACE(
+            gcvLEVEL_VERBOSE,
+            "ChipModel=0x%08X\n"
+            "ChipRevision=0x%08X\n"
+            "ChipFeatures=0x%08X\n"
+            "ChipMinorFeatures=0x%08X\n"
+            "ChipMinorFeatures2=0x%08X\n",
+            *ChipModel,
+            *ChipRevision,
+            *ChipFeatures,
+            *ChipMinorFeatures,
+            *ChipMinorFeatures2
+            );
+
+        /* Success. */
+        return gcvSTATUS_OK;
+    }
+    while (gcvFALSE);
+
+    /* Return the status. */
+    return status;
+}
+
+#if gcdPOWEROFF_TIMEOUT
+void
+_VGPowerTimerFunction(
+    gctPOINTER Data
+    )
+{
+    gckVGHARDWARE hardware = (gckVGHARDWARE)Data;
+    gcmkVERIFY_OK(
+        gckVGHARDWARE_SetPowerManagementState(hardware, gcvPOWER_OFF_TIMEOUT));
+}
+#endif
+
+/******************************************************************************\
+****************************** gckVGHARDWARE API code *****************************
+\******************************************************************************/
+
+/*******************************************************************************
+**
+**  gckVGHARDWARE_Construct
+**
+**  Construct a new gckVGHARDWARE object.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an initialized gckOS object.
+**
+**  OUTPUT:
+**
+**      gckVGHARDWARE * Hardware
+**          Pointer to a variable that will hold the pointer to the gckVGHARDWARE
+**          object.
+*/
+gceSTATUS
+gckVGHARDWARE_Construct(
+    IN gckOS Os,
+    OUT gckVGHARDWARE * Hardware
+    )
+{
+    gckVGHARDWARE hardware = gcvNULL;
+    gceSTATUS status;
+    gceCHIPMODEL chipModel;
+    gctUINT32 chipRevision;
+    gctUINT32 chipFeatures;
+    gctUINT32 chipMinorFeatures;
+    gctUINT32 chipMinorFeatures2;
+
+    gcmkHEADER_ARG("Os=0x%x Hardware=0x%x ", Os, Hardware);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Hardware != gcvNULL);
+
+    do
+    {
+        gcmkERR_BREAK(gckOS_SetGPUPower(Os, gcvCORE_VG, gcvTRUE, gcvTRUE));
+
+        status = _ResetGPU(Os);
+
+        if (status != gcvSTATUS_OK)
+        {
+            gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
+                "_ResetGPU failed: status=%d\n", status);
+        }
+
+        /* Identify the hardware. */
+        gcmkERR_BREAK(_IdentifyHardware(Os,
+            &chipModel, &chipRevision,
+            &chipFeatures, &chipMinorFeatures, &chipMinorFeatures2
+            ));
+
+        /* Allocate the gckVGHARDWARE object. */
+        gcmkERR_BREAK(gckOS_Allocate(Os,
+            gcmSIZEOF(struct _gckVGHARDWARE), (gctPOINTER *) &hardware
+            ));
+
+        /* Initialize the gckVGHARDWARE object. */
+        hardware->object.type = gcvOBJ_HARDWARE;
+        hardware->os = Os;
+
+        /* Set chip identity. */
+        hardware->chipModel          = chipModel;
+        hardware->chipRevision       = chipRevision;
+        hardware->chipFeatures       = chipFeatures;
+        hardware->chipMinorFeatures  = chipMinorFeatures;
+        hardware->chipMinorFeatures2 = chipMinorFeatures2;
+
+        hardware->powerMutex            = gcvNULL;
+        hardware->chipPowerState        = gcvPOWER_ON;
+        hardware->chipPowerStateGlobal  = gcvPOWER_ON;
+        hardware->clockState            = gcvTRUE;
+        hardware->powerState            = gcvTRUE;
+
+        hardware->powerOffTime          = 0;
+#if gcdPOWEROFF_TIMEOUT
+        hardware->powerOffTimeout = gcdPOWEROFF_TIMEOUT;
+
+        gcmkVERIFY_OK(gckOS_CreateTimer(Os,
+                                        _VGPowerTimerFunction,
+                                        (gctPOINTER)hardware,
+                                        &hardware->powerOffTimer));
+#endif
+
+        /* Determine whether FE 2.0 is present. */
+        hardware->fe20 = ((((gctUINT32) (hardware->chipFeatures)) >> (0 ? 28:28) & ((gctUINT32) ((((1 ? 28:28) - (0 ? 28:28) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 28:28) - (0 ? 28:28) + 1)))))) == (0x1  & ((gctUINT32) ((((1 ? 28:28) - (0 ? 28:28) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 28:28) - (0 ? 28:28) + 1)))))));
+
+        /* Determine whether VG 2.0 is present. */
+        hardware->vg20 = ((((gctUINT32) (hardware->chipMinorFeatures)) >> (0 ? 13:13) & ((gctUINT32) ((((1 ? 13:13) - (0 ? 13:13) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 13:13) - (0 ? 13:13) + 1)))))) == (0x1  & ((gctUINT32) ((((1 ? 13:13) - (0 ? 13:13) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 13:13) - (0 ? 13:13) + 1)))))));
+
+        /* Determine whether VG 2.1 is present. */
+        hardware->vg21 = ((((gctUINT32) (hardware->chipMinorFeatures)) >> (0 ? 18:18) & ((gctUINT32) ((((1 ? 18:18) - (0 ? 18:18) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 18:18) - (0 ? 18:18) + 1)))))) == (0x1  & ((gctUINT32) ((((1 ? 18:18) - (0 ? 18:18) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 18:18) - (0 ? 18:18) + 1)))))));
+
+        /* Set default event mask. */
+        hardware->eventMask = 0xFFFFFFFF;
+
+        gcmkERR_BREAK(gckOS_AtomConstruct(Os, &hardware->pageTableDirty));
+
+        /* Set fast clear to auto. */
+        gcmkVERIFY_OK(gckVGHARDWARE_SetFastClear(hardware, -1));
+
+        gcmkERR_BREAK(gckOS_CreateMutex(Os, &hardware->powerMutex));
+
+        /* Enable power management by default. */
+        hardware->powerManagement = gcvTRUE;
+
+        /* Return pointer to the gckVGHARDWARE object. */
+        *Hardware = hardware;
+
+        gcmkFOOTER_NO();
+        /* Success. */
+        return gcvSTATUS_OK;
+    }
+    while (gcvFALSE);
+
+#if gcdPOWEROFF_TIMEOUT
+        if (hardware->powerOffTimer != gcvNULL)
+        {
+            gcmkVERIFY_OK(gckOS_StopTimer(Os, hardware->powerOffTimer));
+            gcmkVERIFY_OK(gckOS_DestroyTimer(Os, hardware->powerOffTimer));
+        }
+#endif
+
+    if (hardware->pageTableDirty != gcvNULL)
+    {
+        gcmkVERIFY_OK(gckOS_AtomDestroy(Os, hardware->pageTableDirty));
+    }
+
+    if (hardware != gcvNULL)
+    {
+        gcmkVERIFY_OK(gckOS_Free(Os, hardware));
+    }
+
+    gcmkVERIFY_OK(gckOS_SetGPUPower(Os, gcvCORE_VG, gcvFALSE, gcvFALSE));
+
+    gcmkFOOTER();
+    /* Return the status. */
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckVGHARDWARE_Destroy
+**
+**  Destroy an gckVGHARDWARE object.
+**
+**  INPUT:
+**
+**      gckVGHARDWARE Hardware
+**          Pointer to the gckVGHARDWARE object that needs to be destroyed.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckVGHARDWARE_Destroy(
+    IN gckVGHARDWARE Hardware
+    )
+{
+    gceSTATUS status;
+    gcmkHEADER_ARG("Hardware=0x%x ", Hardware);
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+
+    /* Mark the object as unknown. */
+    Hardware->object.type = gcvOBJ_UNKNOWN;
+
+    if (Hardware->powerMutex != gcvNULL)
+    {
+        gcmkVERIFY_OK(gckOS_DeleteMutex(
+            Hardware->os, Hardware->powerMutex));
+    }
+
+#if gcdPOWEROFF_TIMEOUT
+    gcmkVERIFY_OK(gckOS_StopTimer(Hardware->os, Hardware->powerOffTimer));
+    gcmkVERIFY_OK(gckOS_DestroyTimer(Hardware->os, Hardware->powerOffTimer));
+#endif
+
+    if (Hardware->pageTableDirty != gcvNULL)
+    {
+        gcmkVERIFY_OK(gckOS_AtomDestroy(Hardware->os, Hardware->pageTableDirty));
+    }
+
+    /* Free the object. */
+    status = gckOS_Free(Hardware->os, Hardware);
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckVGHARDWARE_QueryMemory
+**
+**  Query the amount of memory available on the hardware.
+**
+**  INPUT:
+**
+**      gckVGHARDWARE Hardware
+**          Pointer to the gckVGHARDWARE object.
+**
+**  OUTPUT:
+**
+**      gctSIZE_T * InternalSize
+**          Pointer to a variable that will hold the size of the internal video
+**          memory in bytes.  If 'InternalSize' is gcvNULL, no information of the
+**          internal memory will be returned.
+**
+**      gctUINT32 * InternalBaseAddress
+**          Pointer to a variable that will hold the hardware's base address for
+**          the internal video memory.  This pointer cannot be gcvNULL if
+**          'InternalSize' is also non-gcvNULL.
+**
+**      gctUINT32 * InternalAlignment
+**          Pointer to a variable that will hold the hardware's base address for
+**          the internal video memory.  This pointer cannot be gcvNULL if
+**          'InternalSize' is also non-gcvNULL.
+**
+**      gctSIZE_T * ExternalSize
+**          Pointer to a variable that will hold the size of the external video
+**          memory in bytes.  If 'ExternalSize' is gcvNULL, no information of the
+**          external memory will be returned.
+**
+**      gctUINT32 * ExternalBaseAddress
+**          Pointer to a variable that will hold the hardware's base address for
+**          the external video memory.  This pointer cannot be gcvNULL if
+**          'ExternalSize' is also non-gcvNULL.
+**
+**      gctUINT32 * ExternalAlignment
+**          Pointer to a variable that will hold the hardware's base address for
+**          the external video memory.  This pointer cannot be gcvNULL if
+**          'ExternalSize' is also non-gcvNULL.
+**
+**      gctUINT32 * HorizontalTileSize
+**          Number of horizontal pixels per tile.  If 'HorizontalTileSize' is
+**          gcvNULL, no horizontal pixel per tile will be returned.
+**
+**      gctUINT32 * VerticalTileSize
+**          Number of vertical pixels per tile.  If 'VerticalTileSize' is
+**          gcvNULL, no vertical pixel per tile will be returned.
+*/
+gceSTATUS
+gckVGHARDWARE_QueryMemory(
+    IN gckVGHARDWARE Hardware,
+    OUT gctSIZE_T * InternalSize,
+    OUT gctUINT32 * InternalBaseAddress,
+    OUT gctUINT32 * InternalAlignment,
+    OUT gctSIZE_T * ExternalSize,
+    OUT gctUINT32 * ExternalBaseAddress,
+    OUT gctUINT32 * ExternalAlignment,
+    OUT gctUINT32 * HorizontalTileSize,
+    OUT gctUINT32 * VerticalTileSize
+    )
+{
+    gcmkHEADER_ARG("Hardware=0x%x InternalSize=0x%x InternalBaseAddress=0x%x InternalAlignment=0x%x"
+        "ExternalSize=0x%x ExternalBaseAddress=0x%x ExternalAlignment=0x%x HorizontalTileSize=0x%x VerticalTileSize=0x%x",
+        Hardware, InternalSize, InternalBaseAddress, InternalAlignment,
+        ExternalSize, ExternalBaseAddress, ExternalAlignment, HorizontalTileSize, VerticalTileSize);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+
+    if (InternalSize != gcvNULL)
+    {
+        /* No internal memory. */
+        *InternalSize = 0;
+    }
+
+    if (ExternalSize != gcvNULL)
+    {
+        /* No external memory. */
+        *ExternalSize = 0;
+    }
+
+    if (HorizontalTileSize != gcvNULL)
+    {
+        /* 4x4 tiles. */
+        *HorizontalTileSize = 4;
+    }
+
+    if (VerticalTileSize != gcvNULL)
+    {
+        /* 4x4 tiles. */
+        *VerticalTileSize = 4;
+    }
+
+    gcmkFOOTER_NO();
+    /* Success. */
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckVGHARDWARE_QueryChipIdentity
+**
+**  Query the identity of the hardware.
+**
+**  INPUT:
+**
+**      gckVGHARDWARE Hardware
+**          Pointer to the gckVGHARDWARE object.
+**
+**  OUTPUT:
+**
+**      gceCHIPMODEL * ChipModel
+**          If 'ChipModel' is not gcvNULL, the variable it points to will
+**          receive the model of the chip.
+**
+**      gctUINT32 * ChipRevision
+**          If 'ChipRevision' is not gcvNULL, the variable it points to will
+**          receive the revision of the chip.
+**
+**      gctUINT32 * ChipFeatures
+**          If 'ChipFeatures' is not gcvNULL, the variable it points to will
+**          receive the feature set of the chip.
+**
+**      gctUINT32 * ChipMinorFeatures
+**          If 'ChipMinorFeatures' is not gcvNULL, the variable it points to
+**          will receive the minor feature set of the chip.
+**
+**      gctUINT32 * ChipMinorFeatures2
+**          If 'ChipMinorFeatures2' is not gcvNULL, the variable it points to
+**          will receive the minor feature set of the chip.
+**
+*/
+gceSTATUS
+gckVGHARDWARE_QueryChipIdentity(
+    IN gckVGHARDWARE Hardware,
+    OUT gceCHIPMODEL * ChipModel,
+    OUT gctUINT32 * ChipRevision,
+    OUT gctUINT32* ChipFeatures,
+    OUT gctUINT32* ChipMinorFeatures,
+    OUT gctUINT32* ChipMinorFeatures2
+    )
+{
+    gcmkHEADER_ARG("Hardware=0x%x ChipModel=0x%x ChipRevision=0x%x ChipFeatures = 0x%x ChipMinorFeatures = 0x%x ChipMinorFeatures2 = 0x%x",
+                   Hardware, ChipModel, ChipRevision, ChipFeatures, ChipMinorFeatures, ChipMinorFeatures2);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+
+    /* Return chip model. */
+    if (ChipModel != gcvNULL)
+    {
+        *ChipModel = Hardware->chipModel;
+    }
+
+    /* Return revision number. */
+    if (ChipRevision != gcvNULL)
+    {
+        *ChipRevision = Hardware->chipRevision;
+    }
+
+    /* Return feature set. */
+    if (ChipFeatures != gcvNULL)
+    {
+        gctUINT32 features = Hardware->chipFeatures;
+
+        if ((((((gctUINT32) (features)) >> (0 ? 0:0)) & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1)))))) ))
+        {
+            features = ((((gctUINT32) (features)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0))) | (((gctUINT32) ((gctUINT32) (Hardware->allowFastClear) & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
+        }
+
+        /* Mark 2D pipe as available for GC500.0 since it did not have this *\
+        \* bit.                                                             */
+        if ((Hardware->chipModel == gcv500)
+        &&  (Hardware->chipRevision == 0)
+        )
+        {
+            features = ((((gctUINT32) (features)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 9:9) - (0 ? 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ? 9:9))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 9:9) - (0 ? 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ? 9:9)));
+        }
+
+        /* Mark 2D pipe as available for GC300 since it did not have this   *\
+        \* bit.                                                             */
+        if (Hardware->chipModel == gcv300)
+        {
+            features = ((((gctUINT32) (features)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 9:9) - (0 ? 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ? 9:9))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 9:9) - (0 ? 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ? 9:9)));
+        }
+
+        *ChipFeatures = features;
+    }
+
+    /* Return minor feature set. */
+    if (ChipMinorFeatures != gcvNULL)
+    {
+        *ChipMinorFeatures = Hardware->chipMinorFeatures;
+    }
+
+    /* Return minor feature set #2. */
+    if (ChipMinorFeatures2 != gcvNULL)
+    {
+        *ChipMinorFeatures2 = Hardware->chipMinorFeatures2;
+    }
+
+    gcmkFOOTER_NO();
+    /* Success. */
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckVGHARDWARE_ConvertFormat
+**
+**  Convert an API format to hardware parameters.
+**
+**  INPUT:
+**
+**      gckVGHARDWARE Hardware
+**          Pointer to the gckVGHARDWARE object.
+**
+**      gceSURF_FORMAT Format
+**          API format to convert.
+**
+**  OUTPUT:
+**
+**      gctUINT32 * BitsPerPixel
+**          Pointer to a variable that will hold the number of bits per pixel.
+**
+**      gctUINT32 * BytesPerTile
+**          Pointer to a variable that will hold the number of bytes per tile.
+*/
+gceSTATUS
+gckVGHARDWARE_ConvertFormat(
+    IN gckVGHARDWARE Hardware,
+    IN gceSURF_FORMAT Format,
+    OUT gctUINT32 * BitsPerPixel,
+    OUT gctUINT32 * BytesPerTile
+    )
+{
+    gctUINT32 bitsPerPixel;
+    gctUINT32 bytesPerTile;
+
+    gcmkHEADER_ARG("Hardware=0x%x Format=0x%x BitsPerPixel=0x%x BytesPerTile = 0x%x",
+                   Hardware, Format, BitsPerPixel, BytesPerTile);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+
+    /* Dispatch on format. */
+    switch (Format)
+    {
+    case gcvSURF_A1:
+    case gcvSURF_L1:
+        /* 1-bpp format. */
+        bitsPerPixel  = 1;
+        bytesPerTile  = (1 * 4 * 4) / 8;
+        break;
+
+    case gcvSURF_A4:
+        /* 4-bpp format. */
+        bitsPerPixel  = 4;
+        bytesPerTile  = (4 * 4 * 4) / 8;
+        break;
+
+    case gcvSURF_INDEX8:
+    case gcvSURF_A8:
+    case gcvSURF_L8:
+        /* 8-bpp format. */
+        bitsPerPixel  = 8;
+        bytesPerTile  = (8 * 4 * 4) / 8;
+        break;
+
+    case gcvSURF_YV12:
+        /* 12-bpp planar YUV formats. */
+        bitsPerPixel  = 12;
+        bytesPerTile  = (12 * 4 * 4) / 8;
+        break;
+
+    case gcvSURF_NV12:
+        /* 12-bpp planar YUV formats. */
+        bitsPerPixel  = 12;
+        bytesPerTile  = (12 * 4 * 4) / 8;
+        break;
+
+    /* 4444 variations. */
+    case gcvSURF_X4R4G4B4:
+    case gcvSURF_A4R4G4B4:
+    case gcvSURF_R4G4B4X4:
+    case gcvSURF_R4G4B4A4:
+    case gcvSURF_B4G4R4X4:
+    case gcvSURF_B4G4R4A4:
+    case gcvSURF_X4B4G4R4:
+    case gcvSURF_A4B4G4R4:
+
+    /* 1555 variations. */
+    case gcvSURF_X1R5G5B5:
+    case gcvSURF_A1R5G5B5:
+    case gcvSURF_R5G5B5X1:
+    case gcvSURF_R5G5B5A1:
+    case gcvSURF_X1B5G5R5:
+    case gcvSURF_A1B5G5R5:
+    case gcvSURF_B5G5R5X1:
+    case gcvSURF_B5G5R5A1:
+
+    /* 565 variations. */
+    case gcvSURF_R5G6B5:
+    case gcvSURF_B5G6R5:
+
+    case gcvSURF_A8L8:
+    case gcvSURF_YUY2:
+    case gcvSURF_UYVY:
+    case gcvSURF_D16:
+        /* 16-bpp format. */
+        bitsPerPixel  = 16;
+        bytesPerTile  = (16 * 4 * 4) / 8;
+        break;
+
+    case gcvSURF_X8R8G8B8:
+    case gcvSURF_A8R8G8B8:
+    case gcvSURF_X8B8G8R8:
+    case gcvSURF_A8B8G8R8:
+    case gcvSURF_R8G8B8X8:
+    case gcvSURF_R8G8B8A8:
+    case gcvSURF_B8G8R8X8:
+    case gcvSURF_B8G8R8A8:
+    case gcvSURF_D32:
+        /* 32-bpp format. */
+        bitsPerPixel  = 32;
+        bytesPerTile  = (32 * 4 * 4) / 8;
+        break;
+
+    case gcvSURF_D24S8:
+        /* 24-bpp format. */
+        bitsPerPixel  = 32;
+        bytesPerTile  = (32 * 4 * 4) / 8;
+        break;
+
+    case gcvSURF_DXT1:
+    case gcvSURF_ETC1:
+        bitsPerPixel  = 4;
+        bytesPerTile  = (4 * 4 * 4) / 8;
+        break;
+
+    case gcvSURF_DXT2:
+    case gcvSURF_DXT3:
+    case gcvSURF_DXT4:
+    case gcvSURF_DXT5:
+        bitsPerPixel  = 8;
+        bytesPerTile  = (8 * 4 * 4) / 8;
+        break;
+
+    default:
+        /* Invalid format. */
+        gcmkFOOTER_NO();
+        return gcvSTATUS_INVALID_ARGUMENT;
+    }
+
+    /* Set the result. */
+    if (BitsPerPixel != gcvNULL)
+    {
+        * BitsPerPixel = bitsPerPixel;
+    }
+
+    if (BytesPerTile != gcvNULL)
+    {
+        * BytesPerTile = bytesPerTile;
+    }
+
+    gcmkFOOTER_NO();
+    /* Success. */
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckVGHARDWARE_SplitMemory
+**
+**  Split a hardware specific memory address into a pool and offset.
+**
+**  INPUT:
+**
+**      gckVGHARDWARE Hardware
+**          Pointer to the gckVGHARDWARE object.
+**
+**      gctUINT32 Address
+**          Address in hardware specific format.
+**
+**  OUTPUT:
+**
+**      gcePOOL * Pool
+**          Pointer to a variable that will hold the pool type for the address.
+**
+**      gctUINT32 * Offset
+**          Pointer to a variable that will hold the offset for the address.
+*/
+gceSTATUS
+gckVGHARDWARE_SplitMemory(
+    IN gckVGHARDWARE Hardware,
+    IN gctUINT32 Address,
+    OUT gcePOOL * Pool,
+    OUT gctUINT32 * Offset
+    )
+{
+    gcmkHEADER_ARG("Hardware=0x%x Address=0x%x Pool=0x%x Offset = 0x%x",
+                   Hardware, Address, Pool, Offset);
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+    gcmkVERIFY_ARGUMENT(Pool != gcvNULL);
+    gcmkVERIFY_ARGUMENT(Offset != gcvNULL);
+
+    /* Dispatch on memory type. */
+    switch ((((((gctUINT32) (Address)) >> (0 ? 1:0)) & ((gctUINT32) ((((1 ? 1:0) - (0 ? 1:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:0) - (0 ? 1:0) + 1)))))) ))
+    {
+    case 0x0:
+        /* System memory. */
+        *Pool = gcvPOOL_SYSTEM;
+        break;
+
+    case 0x2:
+        /* Virtual memory. */
+        *Pool = gcvPOOL_VIRTUAL;
+        break;
+
+    default:
+        /* Invalid memory type. */
+        gcmkFOOTER_NO();
+        return gcvSTATUS_INVALID_ARGUMENT;
+    }
+
+    /* Return offset of address. */
+    *Offset = ((((gctUINT32) (Address)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 1:0) - (0 ? 1:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ? 1:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 1:0) - (0 ? 1:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ? 1:0)));
+
+    gcmkFOOTER_NO();
+    /* Success. */
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckVGHARDWARE_Execute
+**
+**  Kickstart the hardware's command processor with an initialized command
+**  buffer.
+**
+**  INPUT:
+**
+**      gckVGHARDWARE Hardware
+**          Pointer to the gckVGHARDWARE object.
+**
+**      gctUINT32 Address
+**          Address of the command buffer.
+**
+**      gctSIZE_T Count
+**          Number of command-sized data units to be executed.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckVGHARDWARE_Execute(
+    IN gckVGHARDWARE Hardware,
+    IN gctUINT32 Address,
+    IN gctSIZE_T Count
+    )
+{
+    gceSTATUS status;
+
+    gcmkHEADER_ARG("Hardware=0x%x Address=0x%x Count=0x%x",
+                   Hardware, Address, Count);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+
+    do
+    {
+        /* Enable all events. */
+        gcmkERR_BREAK(gckOS_WriteRegisterEx(
+            Hardware->os,
+            gcvCORE_VG,
+            0x00014,
+            Hardware->eventMask
+            ));
+
+        if (Hardware->fe20)
+        {
+            /* Write address register. */
+            gcmkERR_BREAK(gckOS_WriteRegisterEx(
+                Hardware->os,
+                gcvCORE_VG,
+                0x00500,
+                gcmkFIXADDRESS(Address)
+                ));
+
+            /* Write control register. */
+            gcmkERR_BREAK(gckOS_WriteRegisterEx(
+                Hardware->os,
+                gcvCORE_VG,
+                0x00504,
+                Count
+                ));
+        }
+        else
+        {
+            /* Write address register. */
+            gcmkERR_BREAK(gckOS_WriteRegisterEx(
+                Hardware->os,
+                gcvCORE_VG,
+                0x00654,
+                gcmkFIXADDRESS(Address)
+                ));
+
+            /* Write control register. */
+            gcmkERR_BREAK(gckOS_WriteRegisterEx(
+                Hardware->os,
+                gcvCORE_VG,
+                0x00658,
+                ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 16:16) - (0 ? 16:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 16:16) - (0 ? 16:16) + 1))))))) << (0 ? 16:16))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 16:16) - (0 ? 16:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 16:16) - (0 ? 16:16) + 1))))))) << (0 ? 16:16))) |
+                ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0))) | (((gctUINT32) ((gctUINT32) (Count) & ((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+                ));
+        }
+
+        /* Success. */
+        gcmkFOOTER();
+        return gcvSTATUS_OK;
+    }
+    while (gcvFALSE);
+
+
+    gcmkFOOTER();
+    /* Return the status. */
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckVGHARDWARE_AlignToTile
+**
+**  Align the specified width and height to tile boundaries.
+**
+**  INPUT:
+**
+**      gckVGHARDWARE Hardware
+**          Pointer to an gckVGHARDWARE object.
+**
+**      gceSURF_TYPE Type
+**          Type of alignment.
+**
+**      gctUINT32 * Width
+**          Pointer to the width to be aligned.  If 'Width' is gcvNULL, no width
+**          will be aligned.
+**
+**      gctUINT32 * Height
+**          Pointer to the height to be aligned.  If 'Height' is gcvNULL, no height
+**          will be aligned.
+**
+**  OUTPUT:
+**
+**      gctUINT32 * Width
+**          Pointer to a variable that will receive the aligned width.
+**
+**      gctUINT32 * Height
+**          Pointer to a variable that will receive the aligned height.
+*/
+gceSTATUS
+gckVGHARDWARE_AlignToTile(
+    IN gckVGHARDWARE Hardware,
+    IN gceSURF_TYPE Type,
+    IN OUT gctUINT32 * Width,
+    IN OUT gctUINT32 * Height
+    )
+{
+    gcmkHEADER_ARG("Hardware=0x%x Type=0x%x Width=0x%x Height=0x%x",
+                   Hardware, Type, Width, Height);
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+
+    if (Width != gcvNULL)
+    {
+        /* Align the width. */
+        *Width = gcmALIGN(*Width, (Type == gcvSURF_TEXTURE) ? 4 : 16);
+    }
+
+    if (Height != gcvNULL)
+    {
+        /* Special case for VG images. */
+        if ((*Height == 0) && (Type == gcvSURF_IMAGE))
+        {
+            *Height = 4;
+        }
+        else
+        {
+            /* Align the height. */
+            *Height = gcmALIGN(*Height, 4);
+        }
+    }
+
+    gcmkFOOTER_NO();
+    /* Success. */
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckVGHARDWARE_ConvertLogical
+**
+**  Convert a logical system address into a hardware specific address.
+**
+**  INPUT:
+**
+**      gckVGHARDWARE Hardware
+**          Pointer to an gckVGHARDWARE object.
+**
+**      gctPOINTER Logical
+**          Logical address to convert.
+**
+**      gctUINT32* Address
+**          Return hardware specific address.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckVGHARDWARE_ConvertLogical(
+    IN gckVGHARDWARE Hardware,
+    IN gctPOINTER Logical,
+    OUT gctUINT32 * Address
+    )
+{
+    gctUINT32 address;
+    gceSTATUS status;
+
+    gcmkHEADER_ARG("Hardware=0x%x Logical=0x%x Address=0x%x",
+                   Hardware, Logical, Address);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+    gcmkVERIFY_ARGUMENT(Logical != gcvNULL);
+    gcmkVERIFY_ARGUMENT(Address != gcvNULL);
+
+    do
+    {
+        /* Convert logical address into a physical address. */
+        gcmkERR_BREAK(gckOS_GetPhysicalAddress(
+            Hardware->os, Logical, &address
+            ));
+
+        /* Return hardware specific address. */
+        *Address = ((((gctUINT32) (address)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 1:0) - (0 ? 1:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ? 1:0))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 1:0) - (0 ? 1:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ? 1:0)));
+
+        /* Success. */
+        gcmkFOOTER();
+        return gcvSTATUS_OK;
+    }
+    while (gcvFALSE);
+
+    gcmkFOOTER();
+    /* Return the status. */
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckVGHARDWARE_QuerySystemMemory
+**
+**  Query the command buffer alignment and number of reserved bytes.
+**
+**  INPUT:
+**
+**      gckVGHARDWARE Harwdare
+**          Pointer to an gckVGHARDWARE object.
+**
+**  OUTPUT:
+**
+**      gctSIZE_T * SystemSize
+**          Pointer to a variable that receives the maximum size of the system
+**          memory.
+**
+**      gctUINT32 * SystemBaseAddress
+**          Poinetr to a variable that receives the base address for system
+**          memory.
+*/
+gceSTATUS gckVGHARDWARE_QuerySystemMemory(
+    IN gckVGHARDWARE Hardware,
+    OUT gctSIZE_T * SystemSize,
+    OUT gctUINT32 * SystemBaseAddress
+    )
+{
+    gcmkHEADER_ARG("Hardware=0x%x SystemSize=0x%x SystemBaseAddress=0x%x",
+                   Hardware, SystemSize, SystemBaseAddress);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+
+    if (SystemSize != gcvNULL)
+    {
+        /* Maximum system memory can be 2GB. */
+        *SystemSize = (gctSIZE_T)(1 << 31);
+    }
+
+    if (SystemBaseAddress != gcvNULL)
+    {
+        /* Set system memory base address. */
+        *SystemBaseAddress = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 1:0) - (0 ? 1:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ? 1:0))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 1:0) - (0 ? 1:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ? 1:0)));
+    }
+
+    gcmkFOOTER_NO();
+    /* Success. */
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckVGHARDWARE_SetMMU
+**
+**  Set the page table base address.
+**
+**  INPUT:
+**
+**      gckVGHARDWARE Harwdare
+**          Pointer to an gckVGHARDWARE object.
+**
+**      gctPOINTER Logical
+**          Logical address of the page table.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS gckVGHARDWARE_SetMMU(
+    IN gckVGHARDWARE Hardware,
+    IN gctPOINTER Logical
+    )
+{
+    gceSTATUS status;
+    gctUINT32 address = 0;
+
+    gcmkHEADER_ARG("Hardware=0x%x Logical=0x%x",
+                   Hardware, Logical);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+    gcmkVERIFY_ARGUMENT(Logical != gcvNULL);
+
+    do
+    {
+        /* Convert the logical address into an hardware address. */
+        gcmkERR_BREAK(gckVGHARDWARE_ConvertLogical(Hardware, Logical, &address) );
+
+        /* Write the AQMemoryFePageTable register. */
+        gcmkERR_BREAK(gckOS_WriteRegisterEx(Hardware->os, gcvCORE_VG,
+                                      0x00400,
+                                      gcmkFIXADDRESS(address)) );
+
+        /* Write the AQMemoryTxPageTable register. */
+        gcmkERR_BREAK(gckOS_WriteRegisterEx(Hardware->os, gcvCORE_VG,
+                                      0x00404,
+                                      gcmkFIXADDRESS(address)) );
+
+        /* Write the AQMemoryPePageTable register. */
+        gcmkERR_BREAK(gckOS_WriteRegisterEx(Hardware->os, gcvCORE_VG,
+                                      0x00408,
+                                      gcmkFIXADDRESS(address)) );
+
+        /* Write the AQMemoryPezPageTable register. */
+        gcmkERR_BREAK(gckOS_WriteRegisterEx(Hardware->os, gcvCORE_VG,
+                                      0x0040C,
+                                      gcmkFIXADDRESS(address)) );
+
+        /* Write the AQMemoryRaPageTable register. */
+        gcmkERR_BREAK(gckOS_WriteRegisterEx(Hardware->os, gcvCORE_VG,
+                                      0x00410,
+                                      gcmkFIXADDRESS(address)) );
+    }
+    while (gcvFALSE);
+
+    gcmkFOOTER();
+    /* Return the status. */
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckVGHARDWARE_FlushMMU
+**
+**  Flush the page table.
+**
+**  INPUT:
+**
+**      gckVGHARDWARE Harwdare
+**          Pointer to an gckVGHARDWARE object.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS gckVGHARDWARE_FlushMMU(
+    IN gckVGHARDWARE Hardware
+    )
+{
+    gceSTATUS status;
+    gckVGCOMMAND command;
+
+    gcmkHEADER_ARG("Hardware=0x%x ", Hardware);
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+
+    do
+    {
+        gcsCMDBUFFER_PTR commandBuffer;
+        gctUINT32_PTR buffer;
+
+        /* Create a shortcut to the command buffer object. */
+        command = Hardware->kernel->command;
+
+        /* Allocate command buffer space. */
+        gcmkERR_BREAK(gckVGCOMMAND_Allocate(
+            command, 8, &commandBuffer, (gctPOINTER *) &buffer
+            ));
+
+        buffer[0]
+            = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E04) & ((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
+
+        buffer[1]
+            = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 1:1) - (0 ? 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 1:1) - (0 ? 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 2:2) - (0 ? 2:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ? 2:2))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 2:2) - (0 ? 2:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ? 2:2)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 3:3) - (0 ? 3:3) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ? 3:3))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 3:3) - (0 ? 3:3) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ? 3:3)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 4:4) - (0 ? 4:4) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ? 4:4))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 4:4) - (0 ? 4:4) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ? 4:4)));
+    }
+    while(gcvFALSE);
+
+    gcmkFOOTER();
+    /* Return the status. */
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckVGHARDWARE_BuildVirtualAddress
+**
+**  Build a virtual address.
+**
+**  INPUT:
+**
+**      gckVGHARDWARE Harwdare
+**          Pointer to an gckVGHARDWARE object.
+**
+**      gctUINT32 Index
+**          Index into page table.
+**
+**      gctUINT32 Offset
+**          Offset into page.
+**
+**  OUTPUT:
+**
+**      gctUINT32 * Address
+**          Pointer to a variable receiving te hardware address.
+*/
+gceSTATUS gckVGHARDWARE_BuildVirtualAddress(
+    IN gckVGHARDWARE Hardware,
+    IN gctUINT32 Index,
+    IN gctUINT32 Offset,
+    OUT gctUINT32 * Address
+    )
+{
+    gctUINT32 address;
+
+    gcmkHEADER_ARG("Hardware=0x%x Index=0x%x Offset=0x%x Address=0x%x",
+                   Hardware, Index, Offset, Address);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+    gcmkVERIFY_ARGUMENT(Address != gcvNULL);
+
+    /* Build virtual address. */
+    address = (Index << 12) | Offset;
+
+    /* Set virtual type. */
+    address = ((((gctUINT32) (address)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 1:0) - (0 ? 1:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ? 1:0))) | (((gctUINT32) (0x2 & ((gctUINT32) ((((1 ? 1:0) - (0 ? 1:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ? 1:0)));
+
+    /* Set the result. */
+    *Address = address;
+
+    gcmkFOOTER_NO();
+    /* Success. */
+    return gcvSTATUS_OK;
+}
+
+gceSTATUS
+gckVGHARDWARE_GetIdle(
+    IN gckVGHARDWARE Hardware,
+    OUT gctUINT32 * Data
+    )
+{
+    gceSTATUS status;
+    gcmkHEADER_ARG("Hardware=0x%x Data=0x%x", Hardware, Data);
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+    gcmkVERIFY_ARGUMENT(Data != gcvNULL);
+
+    /* Read register and return. */
+    status = gckOS_ReadRegisterEx(Hardware->os, gcvCORE_VG, 0x00004, Data);
+    gcmkFOOTER();
+    return status;
+}
+
+gceSTATUS
+gckVGHARDWARE_SetFastClear(
+    IN gckVGHARDWARE Hardware,
+    IN gctINT Enable
+    )
+{
+    gctUINT32 debug;
+    gceSTATUS status;
+
+    if (!(((((gctUINT32) (Hardware->chipFeatures)) >> (0 ? 0:0)) & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1)))))) ))
+    {
+        return gcvSTATUS_OK;
+    }
+
+    do
+    {
+        if (Enable == -1)
+        {
+            Enable = (Hardware->chipModel > gcv500) ||
+                ((Hardware->chipModel == gcv500) && (Hardware->chipRevision >= 3));
+        }
+
+        gcmkERR_BREAK(gckOS_ReadRegisterEx(Hardware->os, gcvCORE_VG,
+                                        0x00414,
+                    &debug));
+
+        debug = ((((gctUINT32) (debug)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 20:20) - (0 ? 20:20) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 20:20) - (0 ? 20:20) + 1))))))) << (0 ? 20:20))) | (((gctUINT32) ((gctUINT32) (Enable == 0) & ((gctUINT32) ((((1 ? 20:20) - (0 ? 20:20) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 20:20) - (0 ? 20:20) + 1))))))) << (0 ? 20:20)));
+
+#ifdef AQ_MEMORY_DEBUG_DISABLE_Z_COMPRESSION
+        debug = ((((gctUINT32) (debug)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? AQ_MEMORY_DEBUG_DISABLE_Z_COMPRESSION) - (0 ? AQ_MEMORY_DEBUG_DISABLE_Z_COMPRESSION) + 1) == 32) ? ~0 : (~(~0 << ((1 ? AQ_MEMORY_DEBUG_DISABLE_Z_COMPRESSION) - (0 ? AQ_MEMORY_DEBUG_DISABLE_Z_COMPRESSION) + 1))))))) << (0 ? AQ_MEMORY_DEBUG_DISABLE_Z_COMPRESSION))) | (((gctUINT32) ((gctUINT32) (Enable == 0) & ((gctUINT32) ((((1 ? AQ_MEMORY_DEBUG_DISABLE_Z_COMPRESSION) - (0 ? AQ_MEMORY_DEBUG_DISABLE_Z_COMPRESSION) + 1) == 32) ? ~0 : (~(~0 << ((1 ? AQ_MEMORY_DEBUG_DISABLE_Z_COMPRESSION) - (0 ? AQ_MEMORY_DEBUG_DISABLE_Z_COMPRESSION) + 1))))))) << (0 ? AQ_MEMORY_DEBUG_DISABLE_Z_COMPRESSION)));
+#endif
+
+        gcmkERR_BREAK(gckOS_WriteRegisterEx(Hardware->os, gcvCORE_VG,
+                                     0x00414,
+                     debug));
+
+        Hardware->allowFastClear = Enable;
+
+        status = gcvFALSE;
+    }
+    while (gcvFALSE);
+
+    return status;
+}
+
+gceSTATUS
+gckVGHARDWARE_ReadInterrupt(
+    IN gckVGHARDWARE Hardware,
+    OUT gctUINT32_PTR IDs
+    )
+{
+    gceSTATUS status;
+    gcmkHEADER_ARG("Hardware=0x%x IDs=0x%x", Hardware, IDs);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+    gcmkVERIFY_ARGUMENT(IDs != gcvNULL);
+
+    /* Read AQIntrAcknowledge register. */
+    status = gckOS_ReadRegisterEx(Hardware->os, gcvCORE_VG,
+                              0x00010,
+                              IDs);
+    gcmkFOOTER();
+    return status;
+}
+
+static gceSTATUS _CommandStall(
+    gckVGHARDWARE Hardware)
+{
+    gceSTATUS status;
+    gckVGCOMMAND command;
+
+    gcmkHEADER_ARG("Hardware=0x%x", Hardware);
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+
+    do
+    {
+        gctUINT32_PTR buffer;
+        command = Hardware->kernel->command;
+
+        /* Allocate command buffer space. */
+        gcmkERR_BREAK(gckVGCOMMAND_Allocate(
+            command, 8, &command->powerStallBuffer,
+            (gctPOINTER *) &buffer
+            ));
+
+        gcmkERR_BREAK(gckVGCOMMAND_EventCommand(
+            command, buffer, gcvBLOCK_PIXEL,
+            command->powerStallInt, gcvNULL));
+
+        gcmkERR_BREAK(gckVGCOMMAND_Execute(
+            command,
+            command->powerStallBuffer
+            ));
+
+        /* Wait the signal. */
+        gcmkERR_BREAK(gckOS_WaitSignal(
+            command->os,
+            command->powerStallSignal,
+            gcdGPU_TIMEOUT));
+
+
+    }
+    while(gcvFALSE);
+
+    gcmkFOOTER();
+    /* Return the status. */
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckHARDWARE_SetPowerManagementState
+**
+**  Set GPU to a specified power state.
+**
+**  INPUT:
+**
+**      gckHARDWARE Harwdare
+**          Pointer to an gckHARDWARE object.
+**
+**      gceCHIPPOWERSTATE State
+**          Power State.
+**
+*/
+gceSTATUS
+gckVGHARDWARE_SetPowerManagementState(
+    IN gckVGHARDWARE Hardware,
+    IN gceCHIPPOWERSTATE State
+    )
+{
+    gceSTATUS status;
+    gckVGCOMMAND command = gcvNULL;
+    gckOS os;
+    gctUINT flag/*, clock*/;
+
+    gctBOOL acquired        = gcvFALSE;
+    gctBOOL stall           = gcvTRUE;
+    gctBOOL commitMutex     = gcvFALSE;
+    gctBOOL mutexAcquired   = gcvFALSE;
+
+#if gcdPOWEROFF_TIMEOUT
+    gctBOOL timeout = gcvFALSE;
+    gctBOOL isAfter = gcvFALSE;
+    gctUINT32 currentTime;
+#endif
+
+    gctBOOL broadcast = gcvFALSE;
+    gctUINT32 process, thread;
+    gctBOOL global = gcvFALSE;
+
+#if gcdENABLE_PROFILING
+    gctUINT64 time, freq, mutexTime, onTime, stallTime, stopTime, delayTime,
+              initTime, offTime, startTime, totalTime;
+#endif
+
+    /* State transition flags. */
+    static const gctUINT flags[4][4] =
+    {
+        /* gcvPOWER_ON           */
+        {   /* ON                */ 0,
+            /* OFF               */ gcvPOWER_FLAG_ACQUIRE   |
+                                    gcvPOWER_FLAG_STALL     |
+                                    gcvPOWER_FLAG_STOP      |
+                                    gcvPOWER_FLAG_POWER_OFF |
+                                    gcvPOWER_FLAG_CLOCK_OFF,
+            /* IDLE              */ gcvPOWER_FLAG_NOP,
+            /* SUSPEND           */ gcvPOWER_FLAG_ACQUIRE   |
+                                    gcvPOWER_FLAG_STALL     |
+                                    gcvPOWER_FLAG_STOP      |
+                                    gcvPOWER_FLAG_CLOCK_OFF,
+        },
+
+        /* gcvPOWER_OFF          */
+        {   /* ON                */ gcvPOWER_FLAG_INITIALIZE |
+                                    gcvPOWER_FLAG_START      |
+                                    gcvPOWER_FLAG_RELEASE    |
+                                    gcvPOWER_FLAG_DELAY,
+            /* OFF               */ 0,
+            /* IDLE              */ gcvPOWER_FLAG_INITIALIZE |
+                                    gcvPOWER_FLAG_START      |
+                                    gcvPOWER_FLAG_RELEASE    |
+                                    gcvPOWER_FLAG_DELAY,
+            /* SUSPEND           */ gcvPOWER_FLAG_INITIALIZE |
+                                    gcvPOWER_FLAG_CLOCK_OFF,
+        },
+
+        /* gcvPOWER_IDLE         */
+        {   /* ON                */ gcvPOWER_FLAG_NOP,
+            /* OFF               */ gcvPOWER_FLAG_ACQUIRE   |
+                                    gcvPOWER_FLAG_STOP      |
+                                    gcvPOWER_FLAG_POWER_OFF |
+                                    gcvPOWER_FLAG_CLOCK_OFF,
+            /* IDLE              */ 0,
+            /* SUSPEND           */ gcvPOWER_FLAG_ACQUIRE   |
+                                    gcvPOWER_FLAG_STOP      |
+                                    gcvPOWER_FLAG_CLOCK_OFF,
+        },
+
+        /* gcvPOWER_SUSPEND      */
+        {   /* ON                */ gcvPOWER_FLAG_START     |
+                                    gcvPOWER_FLAG_RELEASE   |
+                                    gcvPOWER_FLAG_DELAY     |
+                                    gcvPOWER_FLAG_CLOCK_ON,
+            /* OFF               */ gcvPOWER_FLAG_SAVE      |
+                                    gcvPOWER_FLAG_POWER_OFF |
+                                    gcvPOWER_FLAG_CLOCK_OFF,
+            /* IDLE              */ gcvPOWER_FLAG_START     |
+                                    gcvPOWER_FLAG_DELAY     |
+                                    gcvPOWER_FLAG_RELEASE   |
+                                    gcvPOWER_FLAG_CLOCK_ON,
+            /* SUSPEND           */ 0,
+        },
+    };
+
+    gcmkHEADER_ARG("Hardware=0x%x State=%d", Hardware, State);
+#if gcmIS_DEBUG(gcdDEBUG_TRACE)
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
+                   "Switching to power state %d",
+                   State);
+#endif
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+
+    /* Get the gckOS object pointer. */
+    os = Hardware->os;
+    gcmkVERIFY_OBJECT(os, gcvOBJ_OS);
+
+    /* Get the gckCOMMAND object pointer. */
+    gcmkVERIFY_OBJECT(Hardware->kernel, gcvOBJ_KERNEL);
+    command = Hardware->kernel->command;
+    gcmkVERIFY_OBJECT(command, gcvOBJ_COMMAND);
+
+    if (Hardware->powerManagement == gcvFALSE)
+    {
+        gcmkFOOTER_NO();
+        return gcvSTATUS_OK;
+    }
+
+    /* Start profiler. */
+    gcmkPROFILE_INIT(freq, time);
+
+    /* Convert the broadcast power state. */
+    switch (State)
+    {
+    case gcvPOWER_SUSPEND_ATPOWERON:
+        /* Convert to SUSPEND and don't wait for STALL. */
+        State = gcvPOWER_SUSPEND;
+        stall = gcvFALSE;
+        break;
+
+    case gcvPOWER_OFF_ATPOWERON:
+        /* Convert to OFF and don't wait for STALL. */
+        State = gcvPOWER_OFF;
+        stall = gcvFALSE;
+        break;
+
+    case gcvPOWER_IDLE_BROADCAST:
+        /* Convert to IDLE and note we are inside broadcast. */
+        State     = gcvPOWER_IDLE;
+        broadcast = gcvTRUE;
+        break;
+
+    case gcvPOWER_SUSPEND_BROADCAST:
+        /* Convert to SUSPEND and note we are inside broadcast. */
+        State     = gcvPOWER_SUSPEND;
+        broadcast = gcvTRUE;
+        break;
+
+    case gcvPOWER_OFF_BROADCAST:
+        /* Convert to OFF and note we are inside broadcast. */
+        State     = gcvPOWER_OFF;
+        broadcast = gcvTRUE;
+        break;
+
+    case gcvPOWER_OFF_RECOVERY:
+        /* Convert to OFF and note we are inside recovery. */
+        State     = gcvPOWER_OFF;
+        stall     = gcvFALSE;
+        broadcast = gcvTRUE;
+        break;
+
+    case gcvPOWER_ON_AUTO:
+        /* Convert to ON and note we are inside recovery. */
+        State = gcvPOWER_ON;
+        break;
+
+    case gcvPOWER_ON:
+    case gcvPOWER_IDLE:
+    case gcvPOWER_SUSPEND:
+    case gcvPOWER_OFF:
+        /* Mark as global power management. */
+        global = gcvTRUE;
+        break;
+
+#if gcdPOWEROFF_TIMEOUT
+    case gcvPOWER_OFF_TIMEOUT:
+        /* Convert to OFF and note we are inside broadcast. */
+        State     = gcvPOWER_OFF;
+        broadcast = gcvTRUE;
+        /* Check time out */
+        timeout = gcvTRUE;
+        break;
+#endif
+
+    default:
+        break;
+    }
+
+    /* Get current process and thread IDs. */
+    gcmkONERROR(gckOS_GetProcessID(&process));
+    gcmkONERROR(gckOS_GetThreadID(&thread));
+
+    /* Acquire the power mutex. */
+    if (broadcast)
+    {
+        /* Try to acquire the power mutex. */
+        status = gckOS_AcquireMutex(os, Hardware->powerMutex, 0);
+
+        if (status == gcvSTATUS_TIMEOUT)
+        {
+            /* Check if we already own this mutex. */
+            if ((Hardware->powerProcess == process)
+            &&  (Hardware->powerThread  == thread)
+            )
+            {
+                /* Bail out on recursive power management. */
+                gcmkFOOTER_NO();
+                return gcvSTATUS_OK;
+            }
+            else if (State == gcvPOWER_IDLE)
+            {
+                /* gcvPOWER_IDLE_BROADCAST is from IST,
+                ** so waiting here will cause deadlock,
+                ** if lock holder call gckCOMMAND_Stall() */
+                gcmkONERROR(gcvSTATUS_INVALID_REQUEST);
+            }
+            else
+            {
+                /* Acquire the power mutex. */
+                gcmkONERROR(gckOS_AcquireMutex(os,
+                                               Hardware->powerMutex,
+                                               gcvINFINITE));
+            }
+        }
+    }
+    else
+    {
+        /* Acquire the power mutex. */
+        gcmkONERROR(gckOS_AcquireMutex(os, Hardware->powerMutex, gcvINFINITE));
+    }
+
+    /* Get time until mtuex acquired. */
+    gcmkPROFILE_QUERY(time, mutexTime);
+
+    Hardware->powerProcess = process;
+    Hardware->powerThread  = thread;
+    mutexAcquired          = gcvTRUE;
+
+    /* Grab control flags and clock. */
+    flag  = flags[Hardware->chipPowerState][State];
+    /*clock = clocks[State];*/
+
+#if gcdPOWEROFF_TIMEOUT
+    if (timeout)
+    {
+        gcmkONERROR(gckOS_GetTicks(&currentTime));
+
+        gcmkONERROR(
+            gckOS_TicksAfter(Hardware->powerOffTime, currentTime, &isAfter));
+
+        /* powerOffTime is pushed forward, give up.*/
+        if (isAfter
+        /* Expect a transition start from IDLE. */
+        ||  (Hardware->chipPowerState == gcvPOWER_ON)
+        ||  (Hardware->chipPowerState == gcvPOWER_OFF)
+        )
+        {
+            /* Release the power mutex. */
+            gcmkONERROR(gckOS_ReleaseMutex(os, Hardware->powerMutex));
+
+            /* No need to do anything. */
+            gcmkFOOTER_NO();
+            return gcvSTATUS_OK;
+        }
+    }
+#endif
+
+    if (flag == 0)
+    {
+        /* Release the power mutex. */
+        gcmkONERROR(gckOS_ReleaseMutex(os, Hardware->powerMutex));
+
+        /* No need to do anything. */
+        gcmkFOOTER_NO();
+        return gcvSTATUS_OK;
+    }
+
+    /* internal power control */
+    if (!global)
+    {
+        if (Hardware->chipPowerStateGlobal == gcvPOWER_OFF)
+        {
+            /* Release the power mutex. */
+            gcmkONERROR(gckOS_ReleaseMutex(os, Hardware->powerMutex));
+
+            /* No need to do anything. */
+            gcmkFOOTER_NO();
+            return gcvSTATUS_OK;
+        }
+    }
+    else
+    {
+        if (flag & gcvPOWER_FLAG_ACQUIRE)
+        {
+            /* Acquire the power management semaphore. */
+            gcmkONERROR(gckOS_AcquireSemaphore(os, command->powerSemaphore));
+            acquired = gcvTRUE;
+
+            /* avoid acquiring again. */
+            flag &= ~gcvPOWER_FLAG_ACQUIRE;
+        }
+    }
+
+    if (flag & (gcvPOWER_FLAG_INITIALIZE | gcvPOWER_FLAG_CLOCK_ON))
+    {
+        /* Turn on the power. */
+        gcmkONERROR(gckOS_SetGPUPower(os, gcvCORE_VG, gcvTRUE, gcvTRUE));
+
+        /* Mark clock and power as enabled. */
+        Hardware->clockState = gcvTRUE;
+        Hardware->powerState = gcvTRUE;
+    }
+
+    /* Get time until powered on. */
+    gcmkPROFILE_QUERY(time, onTime);
+
+    if ((flag & gcvPOWER_FLAG_STALL) && stall)
+    {
+        /* Acquire the mutex. */
+        gcmkONERROR(gckOS_AcquireMutex(
+            command->os,
+            command->commitMutex,
+            gcvINFINITE
+            ));
+
+        commitMutex = gcvTRUE;
+
+        gcmkONERROR(_CommandStall(Hardware));
+    }
+
+    /* Get time until stalled. */
+    gcmkPROFILE_QUERY(time, stallTime);
+
+    if (flag & gcvPOWER_FLAG_ACQUIRE)
+    {
+        /* Acquire the power management semaphore. */
+        gcmkONERROR(gckOS_AcquireSemaphore(os, command->powerSemaphore));
+
+        acquired = gcvTRUE;
+    }
+
+    if (flag & gcvPOWER_FLAG_STOP)
+    {
+    }
+
+    /* Get time until stopped. */
+    gcmkPROFILE_QUERY(time, stopTime);
+
+    /* Only process this when hardware is enabled. */
+    if (Hardware->clockState && Hardware->powerState)
+    {
+    }
+
+    if (flag & gcvPOWER_FLAG_DELAY)
+    {
+        /* Wait for the specified amount of time to settle coming back from
+        ** power-off or suspend state. */
+        gcmkONERROR(gckOS_Delay(os, gcdPOWER_CONTROL_DELAY));
+    }
+
+    /* Get time until delayed. */
+    gcmkPROFILE_QUERY(time, delayTime);
+
+    if (flag & gcvPOWER_FLAG_INITIALIZE)
+    {
+        gcmkONERROR(gckVGHARDWARE_SetMMU(Hardware, Hardware->kernel->mmu->pageTableLogical));
+
+        /* Force the command queue to reload the next context. */
+        command->currentContext = 0;
+    }
+
+    /* Get time until initialized. */
+    gcmkPROFILE_QUERY(time, initTime);
+
+    if (flag & (gcvPOWER_FLAG_POWER_OFF | gcvPOWER_FLAG_CLOCK_OFF))
+    {
+        /* Turn off the GPU power. */
+        gcmkONERROR(
+            gckOS_SetGPUPower(os,
+                              gcvCORE_VG,
+                              (flag & gcvPOWER_FLAG_CLOCK_OFF) ? gcvFALSE
+                                                               : gcvTRUE,
+                              (flag & gcvPOWER_FLAG_POWER_OFF) ? gcvFALSE
+                                                               : gcvTRUE));
+
+        /* Save current hardware power and clock states. */
+        Hardware->clockState = (flag & gcvPOWER_FLAG_CLOCK_OFF) ? gcvFALSE
+                                                                : gcvTRUE;
+        Hardware->powerState = (flag & gcvPOWER_FLAG_POWER_OFF) ? gcvFALSE
+                                                                : gcvTRUE;
+    }
+
+    /* Get time until off. */
+    gcmkPROFILE_QUERY(time, offTime);
+
+    if (flag & gcvPOWER_FLAG_START)
+    {
+    }
+
+    /* Get time until started. */
+    gcmkPROFILE_QUERY(time, startTime);
+
+    if (flag & gcvPOWER_FLAG_RELEASE)
+    {
+        /* Release the power management semaphore. */
+        gcmkONERROR(gckOS_ReleaseSemaphore(os, command->powerSemaphore));
+        acquired = gcvFALSE;
+    }
+
+    /* Save the new power state. */
+    Hardware->chipPowerState = State;
+
+    if (global)
+    {
+        /* Save the new power state. */
+        Hardware->chipPowerStateGlobal = State;
+    }
+
+    if (commitMutex)
+    {
+        /* Acquire the mutex. */
+        gcmkVERIFY_OK(gckOS_ReleaseMutex(
+            command->os,
+            command->commitMutex
+            ));
+    }
+
+#if gcdPOWEROFF_TIMEOUT
+    /* Reset power off time */
+    gcmkONERROR(gckOS_GetTicks(&currentTime));
+
+    Hardware->powerOffTime = currentTime + Hardware->powerOffTimeout;
+
+    if (State == gcvPOWER_IDLE)
+    {
+        /* Start a timer to power off GPU when GPU enters IDLE or SUSPEND. */
+        gcmkVERIFY_OK(gckOS_StartTimer(os,
+                                       Hardware->powerOffTimer,
+                                       Hardware->powerOffTimeout));
+    }
+    else
+    {
+        gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE, "Cancel powerOfftimer");
+
+        /* Cancel running timer when GPU enters ON or OFF. */
+        gcmkVERIFY_OK(gckOS_StopTimer(os, Hardware->powerOffTimer));
+    }
+#endif
+
+    /* Release the power mutex. */
+    gcmkONERROR(gckOS_ReleaseMutex(os, Hardware->powerMutex));
+
+    /* Get total time. */
+    gcmkPROFILE_QUERY(time, totalTime);
+#if gcdENABLE_PROFILING
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
+                   "PROF(%llu): mutex:%llu on:%llu stall:%llu stop:%llu",
+                   freq, mutexTime, onTime, stallTime, stopTime);
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
+                   "  delay:%llu init:%llu off:%llu start:%llu total:%llu",
+                   delayTime, initTime, offTime, startTime, totalTime);
+#endif
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+
+    if (acquired)
+    {
+        /* Release semaphore. */
+        gcmkVERIFY_OK(gckOS_ReleaseSemaphore(Hardware->os,
+                                             command->powerSemaphore));
+    }
+
+    if (mutexAcquired)
+    {
+        gcmkVERIFY_OK(gckOS_ReleaseMutex(Hardware->os, Hardware->powerMutex));
+    }
+
+    if (commitMutex)
+    {
+        /* Acquire the mutex. */
+        gcmkVERIFY_OK(gckOS_ReleaseMutex(
+            command->os,
+            command->commitMutex
+            ));
+    }
+
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckHARDWARE_QueryPowerManagementState
+**
+**  Get GPU power state.
+**
+**  INPUT:
+**
+**      gckHARDWARE Harwdare
+**          Pointer to an gckHARDWARE object.
+**
+**      gceCHIPPOWERSTATE* State
+**          Power State.
+**
+*/
+gceSTATUS
+gckVGHARDWARE_QueryPowerManagementState(
+    IN gckVGHARDWARE Hardware,
+    OUT gceCHIPPOWERSTATE* State
+    )
+{
+    gcmkHEADER_ARG("Hardware=0x%x", Hardware);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+    gcmkVERIFY_ARGUMENT(State != gcvNULL);
+
+    /* Return the statue. */
+    *State = Hardware->chipPowerState;
+
+    /* Success. */
+    gcmkFOOTER_ARG("*State=%d", *State);
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckVGHARDWARE_SetPowerManagement
+**
+**  Configure GPU power management function.
+**  Only used in driver initialization stage.
+**
+**  INPUT:
+**
+**      gckVGHARDWARE Harwdare
+**          Pointer to an gckHARDWARE object.
+**
+**      gctBOOL PowerManagement
+**          Power Mangement State.
+**
+*/
+gceSTATUS
+gckVGHARDWARE_SetPowerManagement(
+    IN gckVGHARDWARE Hardware,
+    IN gctBOOL PowerManagement
+    )
+{
+    gcmkHEADER_ARG("Hardware=0x%x", Hardware);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+
+    Hardware->powerManagement = PowerManagement;
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+gceSTATUS
+gckVGHARDWARE_SetPowerOffTimeout(
+    IN gckVGHARDWARE  Hardware,
+    IN gctUINT32    Timeout
+    )
+{
+    gcmkHEADER_ARG("Hardware=0x%x Timeout=%d", Hardware, Timeout);
+
+    Hardware->powerOffTimeout = Timeout;
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+
+gceSTATUS
+gckVGHARDWARE_QueryPowerOffTimeout(
+    IN gckVGHARDWARE  Hardware,
+    OUT gctUINT32*  Timeout
+    )
+{
+    gcmkHEADER_ARG("Hardware=0x%x", Hardware);
+
+    *Timeout = Hardware->powerOffTimeout;
+
+    gcmkFOOTER_ARG("*Timeout=%d", *Timeout);
+    return gcvSTATUS_OK;
+}
+
+gceSTATUS
+gckVGHARDWARE_QueryIdle(
+    IN gckVGHARDWARE Hardware,
+    OUT gctBOOL_PTR IsIdle
+    )
+{
+    gceSTATUS status;
+    gctUINT32 idle;
+
+    gcmkHEADER_ARG("Hardware=0x%x", Hardware);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+    gcmkVERIFY_ARGUMENT(IsIdle != gcvNULL);
+
+    /* We are idle when the power is not ON. */
+    if (Hardware->chipPowerState != gcvPOWER_ON)
+    {
+        *IsIdle = gcvTRUE;
+    }
+
+    else
+    {
+        /* Read idle register. */
+        gcmkONERROR(
+            gckOS_ReadRegisterEx(Hardware->os, gcvCORE_VG, 0x00004, &idle));
+
+        /* Pipe must be idle. */
+        if (((((((gctUINT32) (idle)) >> (0 ? 0:0)) & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1)))))) ) != 1)
+        ||  ((((((gctUINT32) (idle)) >> (0 ? 8:8)) & ((gctUINT32) ((((1 ? 8:8) - (0 ? 8:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 8:8) - (0 ? 8:8) + 1)))))) ) != 1)
+        ||  ((((((gctUINT32) (idle)) >> (0 ? 9:9)) & ((gctUINT32) ((((1 ? 9:9) - (0 ? 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1)))))) ) != 1)
+        ||  ((((((gctUINT32) (idle)) >> (0 ? 10:10)) & ((gctUINT32) ((((1 ? 10:10) - (0 ? 10:10) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 10:10) - (0 ? 10:10) + 1)))))) ) != 1)
+        ||  ((((((gctUINT32) (idle)) >> (0 ? 11:11)) & ((gctUINT32) ((((1 ? 11:11) - (0 ? 11:11) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 11:11) - (0 ? 11:11) + 1)))))) ) != 1)
+        )
+        {
+            /* Something is busy. */
+            *IsIdle = gcvFALSE;
+        }
+
+        else
+        {
+            *IsIdle = gcvTRUE;
+        }
+    }
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+#endif /* gcdENABLE_VG */
+
diff --git a/drivers/mxc/gpu-viv/arch/GC350/hal/kernel/gc_hal_kernel_hardware_vg.h b/drivers/mxc/gpu-viv/arch/GC350/hal/kernel/gc_hal_kernel_hardware_vg.h
new file mode 100644 (file)
index 0000000..73d4594
--- /dev/null
@@ -0,0 +1,75 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#ifndef __gc_hal_kernel_hardware_vg_h_
+#define __gc_hal_kernel_hardware_vg_h_
+
+/* gckHARDWARE object. */
+struct _gckVGHARDWARE
+{
+    /* Object. */
+    gcsOBJECT                   object;
+
+    /* Pointer to gckKERNEL object. */
+    gckVGKERNEL                 kernel;
+
+    /* Pointer to gckOS object. */
+    gckOS                       os;
+
+    /* Chip characteristics. */
+    gceCHIPMODEL                chipModel;
+    gctUINT32                   chipRevision;
+    gctUINT32                   chipFeatures;
+    gctUINT32                   chipMinorFeatures;
+    gctUINT32                   chipMinorFeatures2;
+    gctBOOL                     allowFastClear;
+
+    /* Features. */
+    gctBOOL                     fe20;
+    gctBOOL                     vg20;
+    gctBOOL                     vg21;
+
+    /* Event mask. */
+    gctUINT32                   eventMask;
+
+    gctBOOL                     clockState;
+    gctBOOL                     powerState;
+    gctPOINTER                  powerMutex;
+    gctUINT32                   powerProcess;
+    gctUINT32                   powerThread;
+    gceCHIPPOWERSTATE           chipPowerState;
+    gceCHIPPOWERSTATE           chipPowerStateGlobal;
+    gctISRMANAGERFUNC           startIsr;
+    gctISRMANAGERFUNC           stopIsr;
+    gctPOINTER                  isrContext;
+    gctPOINTER                  pageTableDirty;
+
+#if gcdPOWEROFF_TIMEOUT
+    gctUINT32                   powerOffTime;
+    gctUINT32                   powerOffTimeout;
+    gctPOINTER                  powerOffTimer;
+#endif
+
+    gctBOOL                     powerManagement;
+};
+
+#endif /* __gc_hal_kernel_hardware_h_ */
+
diff --git a/drivers/mxc/gpu-viv/arch/XAQ2/hal/kernel/gc_hal_kernel_context.c b/drivers/mxc/gpu-viv/arch/XAQ2/hal/kernel/gc_hal_kernel_context.c
new file mode 100644 (file)
index 0000000..e277a21
--- /dev/null
@@ -0,0 +1,1735 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#include "gc_hal.h"
+#include "gc_hal_kernel.h"
+#include "gc_hal_kernel_context.h"
+#include "gc_hal_kernel_buffer.h"
+
+/******************************************************************************\
+******************************** Debugging Macro *******************************
+\******************************************************************************/
+
+/* Zone used for header/footer. */
+#define _GC_OBJ_ZONE    gcvZONE_HARDWARE
+
+
+/******************************************************************************\
+************************** Context State Buffer Helpers ************************
+\******************************************************************************/
+
+#define _STATE(reg)                                                            \
+    _State(\
+        Context, index, \
+        reg ## _Address >> 2, \
+        reg ## _ResetValue, \
+        reg ## _Count, \
+        gcvFALSE, gcvFALSE                                                     \
+        )
+
+#define _STATE_COUNT(reg, count)                                               \
+    _State(\
+        Context, index, \
+        reg ## _Address >> 2, \
+        reg ## _ResetValue, \
+        count, \
+        gcvFALSE, gcvFALSE                                                     \
+        )
+
+#define _STATE_COUNT_OFFSET(reg, offset, count)                                \
+    _State(\
+        Context, index, \
+        (reg ## _Address >> 2) + offset, \
+        reg ## _ResetValue, \
+        count, \
+        gcvFALSE, gcvFALSE                                                     \
+        )
+
+#define _STATE_MIRROR_COUNT(reg, mirror, count)                                \
+    _StateMirror(\
+        Context, \
+        reg ## _Address >> 2, \
+        count, \
+        mirror ## _Address >> 2                                                \
+        )
+
+#define _STATE_HINT(reg)                                                       \
+    _State(\
+        Context, index, \
+        reg ## _Address >> 2, \
+        reg ## _ResetValue, \
+        reg ## _Count, \
+        gcvFALSE, gcvTRUE                                                      \
+        )
+
+#define _STATE_HINT_BLOCK(reg, block, count)                                   \
+    _State(\
+        Context, index, \
+        (reg ## _Address >> 2) + (block << reg ## _BLK), \
+        reg ## _ResetValue, \
+        count, \
+        gcvFALSE, gcvTRUE                                                      \
+        )
+
+#define _STATE_X(reg)                                                          \
+    _State(\
+        Context, index, \
+        reg ## _Address >> 2, \
+        reg ## _ResetValue, \
+        reg ## _Count, \
+        gcvTRUE, gcvFALSE                                                      \
+        )
+
+#define _CLOSE_RANGE()                                                         \
+    _TerminateStateBlock(Context, index)
+
+#define _ENABLE(reg, field)                                                    \
+    do                                                                         \
+    {                                                                          \
+        if (gcmVERIFYFIELDVALUE(data, reg, MASK_ ## field, ENABLED))           \
+        {                                                                      \
+            enable |= gcmFIELDMASK(reg, field);                                \
+        }                                                                      \
+    }                                                                          \
+    while (gcvFALSE)
+
+#define _BLOCK_COUNT(reg)                                                      \
+    ((reg ## _Count) >> (reg ## _BLK))
+
+
+/******************************************************************************\
+*********************** Support Functions and Definitions **********************
+\******************************************************************************/
+
+#define gcdSTATE_MASK \
+    (((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x03 | 0xC0FFEE & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))))
+
+#if !defined(VIVANTE_NO_3D)
+static gctSIZE_T
+_TerminateStateBlock(
+    IN gckCONTEXT Context,
+    IN gctSIZE_T Index
+    )
+{
+    gctUINT32_PTR buffer;
+    gctSIZE_T align;
+
+    /* Determine if we need alignment. */
+    align = (Index & 1) ? 1 : 0;
+
+    /* Address correct index. */
+    buffer = (Context->buffer == gcvNULL)
+        ? gcvNULL
+        : Context->buffer->logical;
+
+    /* Flush the current state block; make sure no pairing with the states
+       to follow happens. */
+    if (align && (buffer != gcvNULL))
+    {
+        buffer[Index] = 0xDEADDEAD;
+    }
+
+    /* Reset last address. */
+    Context->lastAddress = ~0U;
+
+    /* Return alignment requirement. */
+    return align;
+}
+#endif
+
+
+static gctSIZE_T
+_FlushPipe(
+    IN gckCONTEXT Context,
+    IN gctSIZE_T Index,
+    IN gcePIPE_SELECT Pipe
+    )
+{
+    if (Context->buffer != gcvNULL)
+    {
+        gctUINT32_PTR buffer;
+
+        /* Address correct index. */
+        buffer = Context->buffer->logical + Index;
+
+        /* Flush the current pipe. */
+        *buffer++
+            = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E03) & ((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
+
+        *buffer++
+            = (Pipe == gcvPIPE_2D)
+                ?   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 3:3) - (0 ? 3:3) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ? 3:3))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 3:3) - (0 ? 3:3) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ? 3:3)))
+                :   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)))
+                  | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 1:1) - (0 ? 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 1:1) - (0 ? 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1)))
+                  | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 2:2) - (0 ? 2:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ? 2:2))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 2:2) - (0 ? 2:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ? 2:2)))
+                  | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 4:4) - (0 ? 4:4) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ? 4:4))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 4:4) - (0 ? 4:4) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ? 4:4)));
+
+        /* Semaphore from FE to PE. */
+        *buffer++
+            = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
+
+        *buffer++
+            = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
+
+        /* Stall from FE to PE. */
+        *buffer++
+            = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)));
+
+        *buffer
+            = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
+    }
+
+    /* Flushing 3D pipe takes 6 slots. */
+    return 6;
+}
+
+#if !defined(VIVANTE_NO_3D)
+static gctSIZE_T
+_SemaphoreStall(
+    IN gckCONTEXT Context,
+    IN gctSIZE_T Index
+    )
+{
+    if (Context->buffer != gcvNULL)
+    {
+        gctUINT32_PTR buffer;
+
+        /* Address correct index. */
+        buffer = Context->buffer->logical + Index;
+
+        /* Semaphore from FE to PE. */
+        *buffer++
+            = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
+
+        *buffer++
+            = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
+
+        /* Stall from FE to PE. */
+        *buffer++
+            = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)));
+
+        *buffer
+            = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
+    }
+
+    /* Semaphore/stall takes 4 slots. */
+    return 4;
+}
+#endif
+
+static gctSIZE_T
+_SwitchPipe(
+    IN gckCONTEXT Context,
+    IN gctSIZE_T Index,
+    IN gcePIPE_SELECT Pipe
+    )
+{
+    if (Context->buffer != gcvNULL)
+    {
+        gctUINT32_PTR buffer;
+
+        /* Address correct index. */
+        buffer = Context->buffer->logical + Index;
+
+        /* LoadState(AQPipeSelect, 1), pipe. */
+        *buffer++
+            = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E00) & ((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
+
+        *buffer
+            = (Pipe == gcvPIPE_2D)
+                ? 0x1
+                : 0x0;
+    }
+
+    return 2;
+}
+
+#if !defined(VIVANTE_NO_3D)
+static gctSIZE_T
+_State(
+    IN gckCONTEXT Context,
+    IN gctSIZE_T Index,
+    IN gctUINT32 Address,
+    IN gctUINT32 Value,
+    IN gctSIZE_T Size,
+    IN gctBOOL FixedPoint,
+    IN gctBOOL Hinted
+    )
+{
+    gctUINT32_PTR buffer;
+    gctSIZE_T align, i;
+
+    /* Determine if we need alignment. */
+    align = (Index & 1) ? 1 : 0;
+
+    /* Address correct index. */
+    buffer = (Context->buffer == gcvNULL)
+        ? gcvNULL
+        : Context->buffer->logical;
+
+    if ((buffer == gcvNULL) && (Address + Size > Context->stateCount))
+    {
+        /* Determine maximum state. */
+        Context->stateCount = Address + Size;
+    }
+
+    /* Do we need a new entry? */
+    if ((Address != Context->lastAddress) || (FixedPoint != Context->lastFixed))
+    {
+        if (buffer != gcvNULL)
+        {
+            if (align)
+            {
+                /* Add filler. */
+                buffer[Index++] = 0xDEADDEAD;
+            }
+
+            /* LoadState(Address, Count). */
+            gcmkASSERT((Index & 1) == 0);
+
+            if (FixedPoint)
+            {
+                buffer[Index]
+                    = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+                    | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 26:26) - (0 ? 26:26) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 26:26) - (0 ? 26:26) + 1))))))) << (0 ? 26:26))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 26:26) - (0 ? 26:26) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 26:26) - (0 ? 26:26) + 1))))))) << (0 ? 26:26)))
+                    | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (Size) & ((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
+                    | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0))) | (((gctUINT32) ((gctUINT32) (Address) & ((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
+            }
+            else
+            {
+                buffer[Index]
+                    = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+                    | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 26:26) - (0 ? 26:26) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 26:26) - (0 ? 26:26) + 1))))))) << (0 ? 26:26))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 26:26) - (0 ? 26:26) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 26:26) - (0 ? 26:26) + 1))))))) << (0 ? 26:26)))
+                    | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (Size) & ((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
+                    | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0))) | (((gctUINT32) ((gctUINT32) (Address) & ((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
+            }
+
+            /* Walk all the states. */
+            for (i = 0; i < Size; i += 1)
+            {
+                /* Set state to uninitialized value. */
+                buffer[Index + 1 + i] = Value;
+
+                /* Set index in state mapping table. */
+                Context->map[Address + i].index = Index + 1 + i;
+
+#if gcdSECURE_USER
+                /* Save hint. */
+                if (Context->hint != gcvNULL)
+                {
+                    Context->hint[Address + i] = Hinted;
+                }
+#endif
+            }
+        }
+
+        /* Save information for this LoadState. */
+        Context->lastIndex   = Index;
+        Context->lastAddress = Address + Size;
+        Context->lastSize    = Size;
+        Context->lastFixed   = FixedPoint;
+
+        /* Return size for load state. */
+        return align + 1 + Size;
+    }
+
+    /* Append this state to the previous one. */
+    if (buffer != gcvNULL)
+    {
+        /* Update last load state. */
+        buffer[Context->lastIndex] =
+            ((((gctUINT32) (buffer[Context->lastIndex])) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (Context->lastSize + Size) & ((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
+
+        /* Walk all the states. */
+        for (i = 0; i < Size; i += 1)
+        {
+            /* Set state to uninitialized value. */
+            buffer[Index + i] = Value;
+
+            /* Set index in state mapping table. */
+            Context->map[Address + i].index = Index + i;
+
+#if gcdSECURE_USER
+            /* Save hint. */
+            if (Context->hint != gcvNULL)
+            {
+                Context->hint[Address + i] = Hinted;
+            }
+#endif
+        }
+    }
+
+    /* Update last address and size. */
+    Context->lastAddress += Size;
+    Context->lastSize    += Size;
+
+    /* Return number of slots required. */
+    return Size;
+}
+
+static gctSIZE_T
+_StateMirror(
+    IN gckCONTEXT Context,
+    IN gctUINT32 Address,
+    IN gctSIZE_T Size,
+    IN gctUINT32 AddressMirror
+    )
+{
+    gctSIZE_T i;
+
+    /* Process when buffer is set. */
+    if (Context->buffer != gcvNULL)
+    {
+        /* Walk all states. */
+        for (i = 0; i < Size; i++)
+        {
+            /* Copy the mapping address. */
+            Context->map[Address + i].index =
+                Context->map[AddressMirror + i].index;
+        }
+    }
+
+    /* Return the number of required maps. */
+    return Size;
+}
+#endif
+
+static gceSTATUS
+_InitializeContextBuffer(
+    IN gckCONTEXT Context
+    )
+{
+    gctUINT32_PTR buffer;
+    gctSIZE_T index;
+
+#if !defined(VIVANTE_NO_3D)
+    gctUINT i;
+    gctUINT vertexUniforms, fragmentUniforms;
+    gctUINT fe2vsCount;
+    gctBOOL halti0;
+#endif
+
+    /* Reset the buffer index. */
+    index = 0;
+
+    /* Reset the last state address. */
+    Context->lastAddress = ~0U;
+
+    /* Get the buffer pointer. */
+    buffer = (Context->buffer == gcvNULL)
+        ? gcvNULL
+        : Context->buffer->logical;
+
+
+    /**************************************************************************/
+    /* Build 2D states. *******************************************************/
+
+
+#if !defined(VIVANTE_NO_3D)
+    /**************************************************************************/
+    /* Build 3D states. *******************************************************/
+    halti0 = (((((gctUINT32) (Context->hardware->identity.chipMinorFeatures1)) >> (0 ? 23:23)) & ((gctUINT32) ((((1 ? 23:23) - (0 ? 23:23) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:23) - (0 ? 23:23) + 1)))))) );
+
+    /* Query shader support. */
+    gcmkVERIFY_OK(gckHARDWARE_QueryShaderCaps(
+        Context->hardware, &vertexUniforms, &fragmentUniforms, gcvNULL));
+
+    /* Store the 3D entry index. */
+    Context->entryOffset3D = index * gcmSIZEOF(gctUINT32);
+
+    /* Flush 2D pipe. */
+    index += _FlushPipe(Context, index, gcvPIPE_2D);
+
+    /* Switch to 3D pipe. */
+    index += _SwitchPipe(Context, index, gcvPIPE_3D);
+
+    /* Current context pointer. */
+#if gcdDEBUG
+    index += _State(Context, index, 0x03850 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+#endif
+
+    index += _FlushPipe(Context, index, gcvPIPE_3D);
+
+    /* Global states. */
+    index += _State(Context, index, 0x03814 >> 2, 0x00000001, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x03818 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x0381C >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x03820 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x03828 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x0382C >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x03834 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x03838 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x0384C >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+
+    /* Front End states. */
+       fe2vsCount = 12;
+       if ((((((gctUINT32) (Context->hardware->identity.chipMinorFeatures1)) >> (0 ? 23:23)) & ((gctUINT32) ((((1 ? 23:23) - (0 ? 23:23) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:23) - (0 ? 23:23) + 1)))))) ))
+       {
+               fe2vsCount = 16;
+       }
+    index += _State(Context, index, 0x00600 >> 2, 0x00000000, fe2vsCount, gcvFALSE, gcvFALSE);
+    index += _CLOSE_RANGE();
+
+    index += _State(Context, index, 0x00644 >> 2, 0x00000000, 1, gcvFALSE, gcvTRUE);
+    index += _State(Context, index, 0x00648 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x0064C >> 2, 0x00000000, 1, gcvFALSE, gcvTRUE);
+    index += _State(Context, index, 0x00650 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x00680 >> 2, 0x00000000, 8, gcvFALSE, gcvTRUE);
+    index += _State(Context, index, 0x006A0 >> 2, 0x00000000, 8, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x00670 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x00678 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x0067C >> 2, 0xFFFFFFFF, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x006C0 >> 2, 0x00000000, 16, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x00700 >> 2, 0x00000000, 16, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x00740 >> 2, 0x00000000, 16, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x00780 >> 2, 0x3F800000, 16, gcvFALSE, gcvFALSE);
+
+    /* Vertex Shader states. */
+    index += _State(Context, index, 0x00800 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x00804 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x00808 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x0080C >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x00810 >> 2, 0x00000000, 4, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x00820 >> 2, 0x00000000, 4, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x00830 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x00838 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    if (Context->hardware->identity.instructionCount <= 256)
+    {
+        index += _State(Context, index, 0x04000 >> 2, 0x00000000, 1024, gcvFALSE, gcvFALSE);
+    }
+
+    index += _CLOSE_RANGE();
+    index += _State(Context, index, 0x05000 >> 2, 0x00000000, vertexUniforms * 4, gcvFALSE, gcvFALSE);
+
+    /* Primitive Assembly states. */
+    index += _State(Context, index, 0x00A00 >> 2, 0x00000000, 1, gcvTRUE, gcvFALSE);
+    index += _State(Context, index, 0x00A04 >> 2, 0x00000000, 1, gcvTRUE, gcvFALSE);
+    index += _State(Context, index, 0x00A08 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x00A0C >> 2, 0x00000000, 1, gcvTRUE, gcvFALSE);
+    index += _State(Context, index, 0x00A10 >> 2, 0x00000000, 1, gcvTRUE, gcvFALSE);
+    index += _State(Context, index, 0x00A14 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x00A18 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x00A1C >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x00A28 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x00A2C >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x00A30 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x00A40 >> 2, 0x00000000, 10, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x00A34 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x00A38 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x00A3C >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x00A80 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x00A84 >> 2, 0x00000000, 1, gcvTRUE, gcvFALSE);
+    index += _State(Context, index, 0x00A8C >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+
+    /* Setup states. */
+    index += _State(Context, index, 0x00C00 >> 2, 0x00000000, 1, gcvTRUE, gcvFALSE);
+    index += _State(Context, index, 0x00C04 >> 2, 0x00000000, 1, gcvTRUE, gcvFALSE);
+    index += _State(Context, index, 0x00C08 >> 2, 0x45000000, 1, gcvTRUE, gcvFALSE);
+    index += _State(Context, index, 0x00C0C >> 2, 0x45000000, 1, gcvTRUE, gcvFALSE);
+    index += _State(Context, index, 0x00C10 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x00C14 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x00C18 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x00C1C >> 2, 0x42000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x00C20 >> 2, 0x00000000, 1, gcvTRUE, gcvFALSE);
+    index += _State(Context, index, 0x00C24 >> 2, 0x00000000, 1, gcvTRUE, gcvFALSE);
+
+    /* Raster states. */
+    index += _State(Context, index, 0x00E00 >> 2, 0x00000001, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x00E10 >> 2, 0x00000000, 4, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x00E04 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x00E40 >> 2, 0x00000000, 16, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x00E08 >> 2, 0x00000031, 1, gcvFALSE, gcvFALSE);
+
+    /* Pixel Shader states. */
+    index += _State(Context, index, 0x01000 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x01004 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x01008 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x0100C >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x01010 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x01018 >> 2, 0x01000000, 1, gcvFALSE, gcvFALSE);
+    if (Context->hardware->identity.instructionCount <= 256)
+    {
+        index += _State(Context, index, 0x06000 >> 2, 0x00000000, 1024, gcvFALSE, gcvFALSE);
+    }
+
+    index += _CLOSE_RANGE();
+    index += _State(Context, index, 0x07000 >> 2, 0x00000000, fragmentUniforms * 4, gcvFALSE, gcvFALSE);
+
+    /* Texture states. */
+    index += _State(Context, index, 0x02000 >> 2, 0x00000000, 12, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x02040 >> 2, 0x00000000, 12, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x02080 >> 2, 0x00000000, 12, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x020C0 >> 2, 0x00000000, 12, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x02100 >> 2, 0x00000000, 12, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x02140 >> 2, 0x00000000, 12, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x02180 >> 2, 0x00000000, 12, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x021C0 >> 2, 0x00321000, 12, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x02200 >> 2, 0x00000000, 12, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x02240 >> 2, 0x00000000, 12, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, (0x02400 >> 2) + (0 << 4), 0x00000000, 12, gcvFALSE, gcvTRUE);
+    index += _State(Context, index, (0x02440 >> 2) + (0 << 4), 0x00000000, 12, gcvFALSE, gcvTRUE);
+    index += _State(Context, index, (0x02480 >> 2) + (0 << 4), 0x00000000, 12, gcvFALSE, gcvTRUE);
+    index += _State(Context, index, (0x024C0 >> 2) + (0 << 4), 0x00000000, 12, gcvFALSE, gcvTRUE);
+    index += _State(Context, index, (0x02500 >> 2) + (0 << 4), 0x00000000, 12, gcvFALSE, gcvTRUE);
+    index += _State(Context, index, (0x02540 >> 2) + (0 << 4), 0x00000000, 12, gcvFALSE, gcvTRUE);
+    index += _State(Context, index, (0x02580 >> 2) + (0 << 4), 0x00000000, 12, gcvFALSE, gcvTRUE);
+    index += _State(Context, index, (0x025C0 >> 2) + (0 << 4), 0x00000000, 12, gcvFALSE, gcvTRUE);
+    index += _State(Context, index, (0x02600 >> 2) + (0 << 4), 0x00000000, 12, gcvFALSE, gcvTRUE);
+    index += _State(Context, index, (0x02640 >> 2) + (0 << 4), 0x00000000, 12, gcvFALSE, gcvTRUE);
+    index += _State(Context, index, (0x02680 >> 2) + (0 << 4), 0x00000000, 12, gcvFALSE, gcvTRUE);
+    index += _State(Context, index, (0x026C0 >> 2) + (0 << 4), 0x00000000, 12, gcvFALSE, gcvTRUE);
+    index += _State(Context, index, (0x02700 >> 2) + (0 << 4), 0x00000000, 12, gcvFALSE, gcvTRUE);
+    index += _State(Context, index, (0x02740 >> 2) + (0 << 4), 0x00000000, 12, gcvFALSE, gcvTRUE);
+    index += _CLOSE_RANGE();
+
+    if ((((((gctUINT32) (Context->hardware->identity.chipMinorFeatures2)) >> (0 ? 11:11)) & ((gctUINT32) ((((1 ? 11:11) - (0 ? 11:11) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 11:11) - (0 ? 11:11) + 1)))))) ))
+    {
+        gctUINT texBlockCount;
+
+        /* New texture block. */
+        index += _State(Context, index, 0x10000 >> 2, 0x00000000, 32, gcvFALSE, gcvFALSE);
+        index += _State(Context, index, 0x10080 >> 2, 0x00000000, 32, gcvFALSE, gcvFALSE);
+        index += _State(Context, index, 0x10100 >> 2, 0x00000000, 32, gcvFALSE, gcvFALSE);
+        index += _State(Context, index, 0x10180 >> 2, 0x00000000, 32, gcvFALSE, gcvFALSE);
+        index += _State(Context, index, 0x10200 >> 2, 0x00000000, 32, gcvFALSE, gcvFALSE);
+        index += _State(Context, index, 0x10280 >> 2, 0x00000000, 32, gcvFALSE, gcvFALSE);
+        for (i = 0; i < 256 / 16; i += 1)
+        {
+            index += _State(Context, index, (0x02C00 >> 2) + i * 16, 0x00000000, 14, gcvFALSE, gcvFALSE);
+        }
+        index += _State(Context, index, 0x10300 >> 2, 0x00000000, 32, gcvFALSE, gcvFALSE);
+        index += _State(Context, index, 0x10380 >> 2, 0x00321000, 32, gcvFALSE, gcvFALSE);
+        index += _State(Context, index, 0x10400 >> 2, 0x00000000, 32, gcvFALSE, gcvFALSE);
+        index += _State(Context, index, 0x10480 >> 2, 0x00000000, 32, gcvFALSE, gcvFALSE);
+
+        if ((((((gctUINT32) (Context->hardware->identity.chipMinorFeatures2)) >> (0 ? 15:15)) & ((gctUINT32) ((((1 ? 15:15) - (0 ? 15:15) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:15) - (0 ? 15:15) + 1)))))) ))
+        {
+            index += _State(Context, index, 0x12000 >> 2, 0x00000000, 256, gcvFALSE, gcvFALSE);
+            index += _State(Context, index, 0x12400 >> 2, 0x00000000, 256, gcvFALSE, gcvFALSE);
+        }
+
+        if ((Context->hardware->identity.chipModel == gcv2000)
+         && (Context->hardware->identity.chipRevision == 0x5108))
+        {
+            texBlockCount = 12;
+        }
+        else
+        {
+            texBlockCount = ((512) >> (4));
+        }
+        for (i = 0; i < texBlockCount; i += 1)
+        {
+            index += _State(Context, index, (0x10800 >> 2) + (i << 4), 0x00000000, 14, gcvFALSE, gcvTRUE);
+        }
+    }
+
+    /* YUV. */
+    index += _State(Context, index, 0x01678 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x0167C >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x01680 >> 2, 0x00000000, 1, gcvFALSE, gcvTRUE);
+    index += _State(Context, index, 0x01684 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x01688 >> 2, 0x00000000, 1, gcvFALSE, gcvTRUE);
+    index += _State(Context, index, 0x0168C >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x01690 >> 2, 0x00000000, 1, gcvFALSE, gcvTRUE);
+    index += _State(Context, index, 0x01694 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x01698 >> 2, 0x00000000, 1, gcvFALSE, gcvTRUE);
+    index += _State(Context, index, 0x0169C >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _CLOSE_RANGE();
+
+    /* Thread walker states. */
+    index += _State(Context, index, 0x00900 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x00904 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x00908 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x0090C >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x00910 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x00914 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x00918 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x0091C >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x00924 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _CLOSE_RANGE();
+
+       if (Context->hardware->identity.instructionCount > 1024)
+       {
+               /* New Shader instruction memory. */
+               index += _State(Context, index, 0x0085C >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+               index += _State(Context, index, 0x0101C >> 2, 0x00000100, 1, gcvFALSE, gcvFALSE);
+               index += _State(Context, index, 0x00860 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+               index += _CLOSE_RANGE();
+
+               for (i = 0;
+                    i < Context->hardware->identity.instructionCount << 2;
+                    i += 256 << 2
+                    )
+               {
+                       index += _State(Context, index, (0x20000 >> 2) + i, 0x00000000, 256 << 2, gcvFALSE, gcvFALSE);
+                       index += _CLOSE_RANGE();
+               }
+       }
+       else if (Context->hardware->identity.instructionCount > 256)
+       {
+               /* New Shader instruction memory. */
+               index += _State(Context, index, 0x0085C >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+               index += _State(Context, index, 0x0101C >> 2, 0x00000100, 1, gcvFALSE, gcvFALSE);
+               index += _CLOSE_RANGE();
+
+               /* VX instruction memory. */
+               for (i = 0;
+                    i < Context->hardware->identity.instructionCount << 2;
+                    i += 256 << 2
+                    )
+               {
+                       index += _State(Context, index, (0x0C000 >> 2) + i, 0x00000000, 256 << 2, gcvFALSE, gcvFALSE);
+                       index += _CLOSE_RANGE();
+               }
+
+               _StateMirror(Context, 0x08000 >> 2, Context->hardware->identity.instructionCount << 2 , 0x0C000 >> 2);
+       }
+
+    /* Store the index of the "XD" entry. */
+    Context->entryOffsetXDFrom3D = index * gcmSIZEOF(gctUINT32);
+
+
+    /* Pixel Engine states. */
+    index += _State(Context, index, 0x01400 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x01404 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x01408 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x0140C >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x01414 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x01418 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x0141C >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x01420 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x01424 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x01428 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x0142C >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x01434 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x01454 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x01458 >> 2, 0x00000000, 1, gcvFALSE, gcvTRUE);
+    index += _State(Context, index, 0x0145C >> 2, 0x00000010, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x014A0 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x014A8 >> 2, 0xFFFFFFFF, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x014AC >> 2, 0xFFFFFFFF, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x014B0 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x014B4 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x014A4 >> 2, 0x000E400C, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x01580 >> 2, 0x00000000, 3, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x014B8 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+
+    /* Composition states. */
+    index += _State(Context, index, 0x03008 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+
+    if (Context->hardware->identity.pixelPipes == 1)
+    {
+        index += _State(Context, index, 0x01460 >> 2, 0x00000000, 8, gcvFALSE, gcvTRUE);
+
+        index += _State(Context, index, 0x01430 >> 2, 0x00000000, 1, gcvFALSE, gcvTRUE);
+        index += _State(Context, index, 0x01410 >> 2, 0x00000000, 1, gcvFALSE, gcvTRUE);
+    }
+    else
+    {
+        index += _State(Context, index, (0x01460 >> 2) + (0 << 3), 0x00000000, Context->hardware->identity.pixelPipes, gcvFALSE, gcvTRUE);
+
+        for (i = 0; i < 2; i++)
+        {
+            index += _State(Context, index, (0x01500 >> 2) + (i << 3), 0x00000000, Context->hardware->identity.pixelPipes, gcvFALSE, gcvTRUE);
+        }
+    }
+
+    if (Context->hardware->identity.pixelPipes > 1 || halti0)
+    {
+        index += _State(Context, index, (0x01480 >> 2) + (0 << 3), 0x00000000, Context->hardware->identity.pixelPipes, gcvFALSE, gcvTRUE);
+    }
+
+    /* Resolve states. */
+    index += _State(Context, index, 0x01604 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x01608 >> 2, 0x00000000, 1, gcvFALSE, gcvTRUE);
+    index += _State(Context, index, 0x0160C >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x01610 >> 2, 0x00000000, 1, gcvFALSE, gcvTRUE);
+    index += _State(Context, index, 0x01614 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x01620 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x01630 >> 2, 0x00000000, 2, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x01640 >> 2, 0x00000000, 4, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x0163C >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x016A0 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x016B4 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _CLOSE_RANGE();
+
+    if (Context->hardware->identity.pixelPipes > 1)
+    {
+        index += _State(Context, index, (0x016C0 >> 2) + (0 << 3), 0x00000000, Context->hardware->identity.pixelPipes, gcvFALSE, gcvTRUE);
+
+        index += _State(Context, index, (0x016E0 >> 2) + (0 << 3), 0x00000000, Context->hardware->identity.pixelPipes, gcvFALSE, gcvTRUE);
+
+        index += _State(Context, index, 0x01700 >> 2, 0x00000000, Context->hardware->identity.pixelPipes, gcvFALSE, gcvFALSE);
+    }
+
+    /* Tile status. */
+    index += _State(Context, index, 0x01654 >> 2, 0x00200000, 1, gcvFALSE, gcvFALSE);
+
+    index += _CLOSE_RANGE();
+    index += _State(Context, index, 0x01658 >> 2, 0x00000000, 1, gcvFALSE, gcvTRUE);
+    index += _State(Context, index, 0x0165C >> 2, 0x00000000, 1, gcvFALSE, gcvTRUE);
+    index += _State(Context, index, 0x01660 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x01664 >> 2, 0x00000000, 1, gcvFALSE, gcvTRUE);
+    index += _State(Context, index, 0x01668 >> 2, 0x00000000, 1, gcvFALSE, gcvTRUE);
+    index += _State(Context, index, 0x0166C >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x01670 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x01674 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x016A4 >> 2, 0x00000000, 1, gcvFALSE, gcvTRUE);
+    index += _State(Context, index, 0x016AC >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x016A8 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x01720 >> 2, 0x00000000, 8, gcvFALSE, gcvFALSE);
+    index += _State(Context, index, 0x01740 >> 2, 0x00000000, 8, gcvFALSE, gcvTRUE);
+    index += _State(Context, index, 0x01760 >> 2, 0x00000000, 8, gcvFALSE, gcvFALSE);
+    index += _CLOSE_RANGE();
+
+    /* Semaphore/stall. */
+    index += _SemaphoreStall(Context, index);
+#endif
+
+    /**************************************************************************/
+    /* Link to another address. ***********************************************/
+
+    Context->linkIndex3D = index;
+
+    if (buffer != gcvNULL)
+    {
+        buffer[index + 0]
+            = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x08 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
+
+        buffer[index + 1]
+            = 0;
+    }
+
+    index += 2;
+
+    /* Store the end of the context buffer. */
+    Context->bufferSize = index * gcmSIZEOF(gctUINT32);
+
+
+    /**************************************************************************/
+    /* Pipe switch for the case where neither 2D nor 3D are used. *************/
+
+    /* Store the 3D entry index. */
+    Context->entryOffsetXDFrom2D = index * gcmSIZEOF(gctUINT32);
+
+    /* Flush 2D pipe. */
+    index += _FlushPipe(Context, index, gcvPIPE_2D);
+
+    /* Switch to 3D pipe. */
+    index += _SwitchPipe(Context, index, gcvPIPE_3D);
+
+    /* Store the location of the link. */
+    Context->linkIndexXD = index;
+
+    if (buffer != gcvNULL)
+    {
+        buffer[index + 0]
+            = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x08 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
+
+        buffer[index + 1]
+            = 0;
+    }
+
+    index += 2;
+
+
+    /**************************************************************************/
+    /* Save size for buffer. **************************************************/
+
+    Context->totalSize = index * gcmSIZEOF(gctUINT32);
+
+
+    /* Success. */
+    return gcvSTATUS_OK;
+}
+
+static gceSTATUS
+_DestroyContext(
+    IN gckCONTEXT Context
+    )
+{
+    gceSTATUS status = gcvSTATUS_OK;
+
+    if (Context != gcvNULL)
+    {
+        gcsCONTEXT_PTR bufferHead;
+
+        /* Free context buffers. */
+        for (bufferHead = Context->buffer; Context->buffer != gcvNULL;)
+        {
+            /* Get a shortcut to the current buffer. */
+            gcsCONTEXT_PTR buffer = Context->buffer;
+
+            /* Get the next buffer. */
+            gcsCONTEXT_PTR next = buffer->next;
+
+            /* Last item? */
+            if (next == bufferHead)
+            {
+                next = gcvNULL;
+            }
+
+            /* Destroy the signal. */
+            if (buffer->signal != gcvNULL)
+            {
+                gcmkONERROR(gckOS_DestroySignal(
+                    Context->os, buffer->signal
+                    ));
+
+                buffer->signal = gcvNULL;
+            }
+
+            /* Free state delta map. */
+            if (buffer->logical != gcvNULL)
+            {
+#if gcdVIRTUAL_COMMAND_BUFFER
+                gcmkONERROR(gckEVENT_DestroyVirtualCommandBuffer(
+                    Context->hardware->kernel->eventObj,
+                    Context->totalSize,
+                    buffer->physical,
+                    buffer->logical,
+                    gcvKERNEL_PIXEL
+                    ));
+
+#else
+                gcmkONERROR(gckEVENT_FreeContiguousMemory(
+                    Context->hardware->kernel->eventObj,
+                    Context->totalSize,
+                    buffer->physical,
+                    buffer->logical,
+                    gcvKERNEL_PIXEL
+                    ));
+#endif
+
+                buffer->logical = gcvNULL;
+            }
+
+            /* Free context buffer. */
+            gcmkONERROR(gcmkOS_SAFE_FREE(Context->os, buffer));
+
+            /* Remove from the list. */
+            Context->buffer = next;
+        }
+
+#if gcdSECURE_USER
+        /* Free the hint array. */
+        if (Context->hint != gcvNULL)
+        {
+            gcmkONERROR(gcmkOS_SAFE_FREE(Context->os, Context->hint));
+        }
+#endif
+        /* Free record array copy. */
+        if (Context->recordArray != gcvNULL)
+        {
+            gcmkONERROR(gcmkOS_SAFE_FREE(Context->os, Context->recordArray));
+        }
+
+        /* Free the state mapping. */
+        if (Context->map != gcvNULL)
+        {
+            gcmkONERROR(gcmkOS_SAFE_FREE(Context->os, Context->map));
+        }
+
+        /* Mark the gckCONTEXT object as unknown. */
+        Context->object.type = gcvOBJ_UNKNOWN;
+
+        /* Free the gckCONTEXT object. */
+        gcmkONERROR(gcmkOS_SAFE_FREE(Context->os, Context));
+    }
+
+OnError:
+    return status;
+}
+
+
+/******************************************************************************\
+**************************** Context Management API ****************************
+\******************************************************************************/
+
+/******************************************************************************\
+**
+**  gckCONTEXT_Construct
+**
+**  Construct a new gckCONTEXT object.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to gckOS object.
+**
+**      gctUINT32 ProcessID
+**          Current process ID.
+**
+**      gckHARDWARE Hardware
+**          Pointer to gckHARDWARE object.
+**
+**  OUTPUT:
+**
+**      gckCONTEXT * Context
+**          Pointer to a variable thet will receive the gckCONTEXT object
+**          pointer.
+*/
+gceSTATUS
+gckCONTEXT_Construct(
+    IN gckOS Os,
+    IN gckHARDWARE Hardware,
+    IN gctUINT32 ProcessID,
+    OUT gckCONTEXT * Context
+    )
+{
+    gceSTATUS status;
+    gckCONTEXT context = gcvNULL;
+    gctSIZE_T allocationSize;
+    gctUINT i;
+    gctPOINTER pointer = gcvNULL;
+
+    gcmkHEADER_ARG("Os=0x%08X Hardware=0x%08X", Os, Hardware);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Context != gcvNULL);
+
+
+    /**************************************************************************/
+    /* Allocate and initialize basic fields of gckCONTEXT. ********************/
+
+    /* The context object size. */
+    allocationSize = gcmSIZEOF(struct _gckCONTEXT);
+
+    /* Allocate the object. */
+    gcmkONERROR(gckOS_Allocate(
+        Os, allocationSize, &pointer
+        ));
+
+    context = pointer;
+
+    /* Reset the entire object. */
+    gcmkONERROR(gckOS_ZeroMemory(context, allocationSize));
+
+    /* Initialize the gckCONTEXT object. */
+    context->object.type = gcvOBJ_CONTEXT;
+    context->os          = Os;
+    context->hardware    = Hardware;
+
+
+#if defined(VIVANTE_NO_3D)
+    context->entryPipe = gcvPIPE_2D;
+    context->exitPipe  = gcvPIPE_2D;
+#elif gcdCMD_NO_2D_CONTEXT
+    context->entryPipe = gcvPIPE_3D;
+    context->exitPipe  = gcvPIPE_3D;
+#else
+    context->entryPipe
+        = (((((gctUINT32) (context->hardware->identity.chipFeatures)) >> (0 ? 9:9)) & ((gctUINT32) ((((1 ? 9:9) - (0 ? 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1)))))) )
+            ? gcvPIPE_2D
+            : gcvPIPE_3D;
+    context->exitPipe = gcvPIPE_3D;
+#endif
+
+    /* Get the command buffer requirements. */
+    gcmkONERROR(gckHARDWARE_QueryCommandBuffer(
+        Hardware,
+        &context->alignment,
+        &context->reservedHead,
+        &context->reservedTail
+        ));
+
+    /* Mark the context as dirty to force loading of the entire state table
+       the first time. */
+    context->dirty = gcvTRUE;
+
+
+    /**************************************************************************/
+    /* Get the size of the context buffer. ************************************/
+
+    gcmkONERROR(_InitializeContextBuffer(context));
+
+
+    /**************************************************************************/
+    /* Compute the size of the record array. **********************************/
+
+    context->recordArraySize
+        = gcmSIZEOF(gcsSTATE_DELTA_RECORD) * context->stateCount;
+
+
+    if (context->stateCount > 0)
+    {
+        /**************************************************************************/
+        /* Allocate and reset the state mapping table. ****************************/
+
+        /* Allocate the state mapping table. */
+        gcmkONERROR(gckOS_Allocate(
+            Os,
+            gcmSIZEOF(gcsSTATE_MAP) * context->stateCount,
+            &pointer
+            ));
+
+        context->map = pointer;
+
+        /* Zero the state mapping table. */
+        gcmkONERROR(gckOS_ZeroMemory(
+            context->map, gcmSIZEOF(gcsSTATE_MAP) * context->stateCount
+            ));
+
+
+        /**************************************************************************/
+        /* Allocate the hint array. ***********************************************/
+
+#if gcdSECURE_USER
+        /* Allocate hints. */
+        gcmkONERROR(gckOS_Allocate(
+            Os,
+            gcmSIZEOF(gctBOOL) * context->stateCount,
+            &pointer
+            ));
+
+        context->hint = pointer;
+#endif
+    }
+
+    /**************************************************************************/
+    /* Allocate the context and state delta buffers. **************************/
+
+    for (i = 0; i < gcdCONTEXT_BUFFER_COUNT; i += 1)
+    {
+        /* Allocate a context buffer. */
+        gcsCONTEXT_PTR buffer;
+
+        /* Allocate the context buffer structure. */
+        gcmkONERROR(gckOS_Allocate(
+            Os,
+            gcmSIZEOF(gcsCONTEXT),
+            &pointer
+            ));
+
+        buffer = pointer;
+
+        /* Reset the context buffer structure. */
+        gcmkVERIFY_OK(gckOS_ZeroMemory(
+            buffer, gcmSIZEOF(gcsCONTEXT)
+            ));
+
+        /* Append to the list. */
+        if (context->buffer == gcvNULL)
+        {
+            buffer->next    = buffer;
+            context->buffer = buffer;
+        }
+        else
+        {
+            buffer->next          = context->buffer->next;
+            context->buffer->next = buffer;
+        }
+
+        /* Set the number of delta in the order of creation. */
+#if gcmIS_DEBUG(gcdDEBUG_CODE)
+        buffer->num = i;
+#endif
+
+        /* Create the busy signal. */
+        gcmkONERROR(gckOS_CreateSignal(
+            Os, gcvFALSE, &buffer->signal
+            ));
+
+        /* Set the signal, buffer is currently not busy. */
+        gcmkONERROR(gckOS_Signal(
+            Os, buffer->signal, gcvTRUE
+            ));
+
+        /* Create a new physical context buffer. */
+#if gcdVIRTUAL_COMMAND_BUFFER
+        gcmkONERROR(gckKERNEL_AllocateVirtualCommandBuffer(
+            context->hardware->kernel,
+            gcvFALSE,
+            &context->totalSize,
+            &buffer->physical,
+            &pointer
+            ));
+
+#else
+        gcmkONERROR(gckOS_AllocateContiguous(
+            Os,
+            gcvFALSE,
+            &context->totalSize,
+            &buffer->physical,
+            &pointer
+            ));
+#endif
+
+        buffer->logical = pointer;
+
+        /* Set gckEVENT object pointer. */
+        buffer->eventObj = Hardware->kernel->eventObj;
+
+        /* Set the pointers to the LINK commands. */
+        if (context->linkIndex2D != 0)
+        {
+            buffer->link2D = &buffer->logical[context->linkIndex2D];
+        }
+
+        if (context->linkIndex3D != 0)
+        {
+            buffer->link3D = &buffer->logical[context->linkIndex3D];
+        }
+
+        if (context->linkIndexXD != 0)
+        {
+            gctPOINTER xdLink;
+            gctUINT8_PTR xdEntryLogical;
+            gctSIZE_T xdEntrySize;
+            gctSIZE_T linkBytes;
+
+            /* Determine LINK parameters. */
+            xdLink
+                = &buffer->logical[context->linkIndexXD];
+
+            xdEntryLogical
+                = (gctUINT8_PTR) buffer->logical
+                + context->entryOffsetXDFrom3D;
+
+            xdEntrySize
+                = context->bufferSize
+                - context->entryOffsetXDFrom3D;
+
+            /* Query LINK size. */
+            gcmkONERROR(gckHARDWARE_Link(
+                Hardware, gcvNULL, gcvNULL, 0, &linkBytes
+                ));
+
+            /* Generate a LINK. */
+            gcmkONERROR(gckHARDWARE_Link(
+                Hardware,
+                xdLink,
+                xdEntryLogical,
+                xdEntrySize,
+                &linkBytes
+                ));
+        }
+    }
+
+
+    /**************************************************************************/
+    /* Initialize the context buffers. ****************************************/
+
+    /* Initialize the current context buffer. */
+    gcmkONERROR(_InitializeContextBuffer(context));
+
+    /* Make all created contexts equal. */
+    {
+        gcsCONTEXT_PTR currContext, tempContext;
+
+        /* Set the current context buffer. */
+        currContext = context->buffer;
+
+        /* Get the next context buffer. */
+        tempContext = currContext->next;
+
+        /* Loop through all buffers. */
+        while (tempContext != currContext)
+        {
+            if (tempContext == gcvNULL)
+            {
+                gcmkONERROR(gcvSTATUS_NOT_FOUND);
+            }
+
+            /* Copy the current context. */
+            gckOS_MemCopy(
+                tempContext->logical,
+                currContext->logical,
+                context->totalSize
+                );
+
+            /* Get the next context buffer. */
+            tempContext = tempContext->next;
+        }
+    }
+
+    /* Return pointer to the gckCONTEXT object. */
+    *Context = context;
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Context=0x%08X", *Context);
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Roll back on error. */
+    gcmkVERIFY_OK(_DestroyContext(context));
+
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/******************************************************************************\
+**
+**  gckCONTEXT_Destroy
+**
+**  Destroy a gckCONTEXT object.
+**
+**  INPUT:
+**
+**      gckCONTEXT Context
+**          Pointer to an gckCONTEXT object.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckCONTEXT_Destroy(
+    IN gckCONTEXT Context
+    )
+{
+    gceSTATUS status;
+
+    gcmkHEADER_ARG("Context=0x%08X", Context);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Context, gcvOBJ_CONTEXT);
+
+    /* Destroy the context and all related objects. */
+    status = _DestroyContext(Context);
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return status;
+}
+
+/******************************************************************************\
+**
+**  gckCONTEXT_Update
+**
+**  Merge all pending state delta buffers into the current context buffer.
+**
+**  INPUT:
+**
+**      gckCONTEXT Context
+**          Pointer to an gckCONTEXT object.
+**
+**      gctUINT32 ProcessID
+**          Current process ID.
+**
+**      gcsSTATE_DELTA_PTR StateDelta
+**          Pointer to the state delta.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckCONTEXT_Update(
+    IN gckCONTEXT Context,
+    IN gctUINT32 ProcessID,
+    IN gcsSTATE_DELTA_PTR StateDelta
+    )
+{
+#ifndef VIVANTE_NO_3D
+    gceSTATUS status = gcvSTATUS_OK;
+    gcsSTATE_DELTA _stateDelta;
+    gckKERNEL kernel;
+    gcsCONTEXT_PTR buffer;
+    gcsSTATE_MAP_PTR map;
+    gctBOOL needCopy = gcvFALSE;
+    gcsSTATE_DELTA_PTR nDelta;
+    gcsSTATE_DELTA_PTR uDelta = gcvNULL;
+    gcsSTATE_DELTA_PTR kDelta = gcvNULL;
+    gcsSTATE_DELTA_RECORD_PTR record;
+    gcsSTATE_DELTA_RECORD_PTR recordArray = gcvNULL;
+    gctUINT elementCount;
+    gctUINT address;
+    gctUINT32 mask;
+    gctUINT32 data;
+    gctUINT index;
+    gctUINT i, j;
+
+#if gcdSECURE_USER
+    gcskSECURE_CACHE_PTR cache;
+#endif
+
+    gcmkHEADER_ARG(
+        "Context=0x%08X ProcessID=%d StateDelta=0x%08X",
+        Context, ProcessID, StateDelta
+        );
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Context, gcvOBJ_CONTEXT);
+
+    /* Get a shortcut to the kernel object. */
+    kernel = Context->hardware->kernel;
+
+    /* Check wehther we need to copy the structures or not. */
+    gcmkONERROR(gckOS_QueryNeedCopy(Context->os, ProcessID, &needCopy));
+
+    /* Allocate the copy buffer for the user record array. */
+    if (needCopy && (Context->recordArray == gcvNULL))
+    {
+        /* Allocate the buffer. */
+        gcmkONERROR(gckOS_Allocate(
+            Context->os,
+            Context->recordArraySize,
+            (gctPOINTER *) &Context->recordArray
+            ));
+    }
+
+    /* Get the current context buffer. */
+    buffer = Context->buffer;
+
+    /* Wait until the context buffer becomes available; this will
+       also reset the signal and mark the buffer as busy. */
+    gcmkONERROR(gckOS_WaitSignal(
+        Context->os, buffer->signal, gcvINFINITE
+        ));
+
+#if gcdSECURE_USER
+    /* Get the cache form the database. */
+    gcmkONERROR(gckKERNEL_GetProcessDBCache(kernel, ProcessID, &cache));
+#endif
+
+#if gcmIS_DEBUG(gcdDEBUG_CODE) && 1 && !defined(VIVANTE_NO_3D)
+    /* Update current context token. */
+    buffer->logical[Context->map[0x0E14].index]
+        = gcmPTR2INT(Context);
+#endif
+
+    /* Are there any pending deltas? */
+    if (buffer->deltaCount != 0)
+    {
+        /* Get the state map. */
+        map = Context->map;
+
+        /* Get the first delta item. */
+        uDelta = buffer->delta;
+
+        /* Reset the vertex stream count. */
+        elementCount = 0;
+
+        /* Merge all pending deltas. */
+        for (i = 0; i < buffer->deltaCount; i += 1)
+        {
+            /* Get access to the state delta. */
+            gcmkONERROR(gckKERNEL_OpenUserData(
+                kernel, needCopy,
+                &_stateDelta,
+                uDelta, gcmSIZEOF(gcsSTATE_DELTA),
+                (gctPOINTER *) &kDelta
+                ));
+
+            /* Get access to the state records. */
+            gcmkONERROR(gckKERNEL_OpenUserData(
+                kernel, needCopy,
+                Context->recordArray,
+                gcmUINT64_TO_PTR(kDelta->recordArray), Context->recordArraySize,
+                (gctPOINTER *) &recordArray
+                ));
+
+            /* Merge all pending states. */
+            for (j = 0; j < kDelta->recordCount; j += 1)
+            {
+                if (j >= Context->stateCount)
+                {
+                    break;
+                }
+
+                /* Get the current state record. */
+                record = &recordArray[j];
+
+                /* Get the state address. */
+                address = record->address;
+
+                /* Make sure the state is a part of the mapping table. */
+                if (address >= Context->stateCount)
+                {
+                    gcmkTRACE(
+                        gcvLEVEL_ERROR,
+                        "%s(%d): State 0x%04X is not mapped.\n",
+                        __FUNCTION__, __LINE__,
+                        address
+                        );
+
+                    continue;
+                }
+
+                /* Get the state index. */
+                index = map[address].index;
+
+                /* Skip the state if not mapped. */
+                if (index == 0)
+                {
+#if gcdDEBUG
+                    if ((address != 0x0594)
+                     && (address != 0x0E00)
+                     && (address != 0x0E03)
+                        )
+                    {
+#endif
+                        gcmkTRACE(
+                            gcvLEVEL_ERROR,
+                            "%s(%d): State 0x%04X is not mapped.\n",
+                            __FUNCTION__, __LINE__,
+                            address
+                            );
+#if gcdDEBUG
+                    }
+#endif
+                    continue;
+                }
+
+                /* Get the data mask. */
+                mask = record->mask;
+
+                /* Masked states that are being completly reset or regular states. */
+                if ((mask == 0) || (mask == ~0U))
+                {
+                    /* Get the new data value. */
+                    data = record->data;
+
+                    /* Process special states. */
+                    if (address == 0x0595)
+                    {
+                        /* Force auto-disable to be disabled. */
+                        data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 5:5) - (0 ? 5:5) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ? 5:5))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 5:5) - (0 ? 5:5) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ? 5:5)));
+                        data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 4:4) - (0 ? 4:4) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ? 4:4))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 4:4) - (0 ? 4:4) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ? 4:4)));
+                        data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 13:13) - (0 ? 13:13) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 13:13) - (0 ? 13:13) + 1))))))) << (0 ? 13:13))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 13:13) - (0 ? 13:13) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 13:13) - (0 ? 13:13) + 1))))))) << (0 ? 13:13)));
+                    }
+
+#if gcdSECURE_USER
+                    /* Do we need to convert the logical address? */
+                    if (Context->hint[address])
+                    {
+                        /* Map handle into physical address. */
+                        gcmkONERROR(gckKERNEL_MapLogicalToPhysical(
+                            kernel, cache, (gctPOINTER) &data
+                            ));
+                    }
+#endif
+
+                    /* Set new data. */
+                    buffer->logical[index] = data;
+                }
+
+                /* Masked states that are being set partially. */
+                else
+                {
+                    buffer->logical[index]
+                        = (~mask & buffer->logical[index])
+                        | (mask & record->data);
+                }
+            }
+
+            /* Get the element count. */
+            if (kDelta->elementCount != 0)
+            {
+                elementCount = kDelta->elementCount;
+            }
+
+            /* Dereference delta. */
+            kDelta->refCount -= 1;
+            gcmkASSERT(kDelta->refCount >= 0);
+
+            /* Get the next state delta. */
+            nDelta = gcmUINT64_TO_PTR(kDelta->next);
+
+            /* Get access to the state records. */
+            gcmkONERROR(gckKERNEL_CloseUserData(
+                kernel, needCopy,
+                gcvFALSE,
+                gcmUINT64_TO_PTR(kDelta->recordArray), Context->recordArraySize,
+                (gctPOINTER *) &recordArray
+                ));
+
+            /* Close access to the current state delta. */
+            gcmkONERROR(gckKERNEL_CloseUserData(
+                kernel, needCopy,
+                gcvTRUE,
+                uDelta, gcmSIZEOF(gcsSTATE_DELTA),
+                (gctPOINTER *) &kDelta
+                ));
+
+            /* Update the user delta pointer. */
+            uDelta = nDelta;
+        }
+
+        /* Hardware disables all input streams when the stream 0 is programmed,
+           it then reenables those streams that were explicitely programmed by
+           the software. Because of this we cannot program the entire array of
+           values, otherwise we'll get all streams reenabled, but rather program
+           only those that are actully needed by the software. */
+        if (elementCount != 0)
+        {
+            gctUINT base;
+            gctUINT nopCount;
+            gctUINT32_PTR nop;
+            gctUINT fe2vsCount = 12;
+
+            if ((((((gctUINT32) (Context->hardware->identity.chipMinorFeatures1)) >> (0 ? 23:23)) & ((gctUINT32) ((((1 ? 23:23) - (0 ? 23:23) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:23) - (0 ? 23:23) + 1)))))) ))
+            {
+                fe2vsCount = 16;
+            }
+
+            /* Determine the base index of the vertex stream array. */
+            base = map[0x0180].index;
+
+            /* Set the proper state count. */
+            buffer->logical[base - 1]
+                = ((((gctUINT32) (buffer->logical[base - 1])) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (elementCount ) & ((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
+
+            /* Determine the number of NOP commands. */
+            nopCount
+                = (fe2vsCount / 2)
+                - (elementCount / 2);
+
+            /* Determine the location of the first NOP. */
+            nop = &buffer->logical[base + (elementCount | 1)];
+
+            /* Fill the unused space with NOPs. */
+            for (i = 0; i < nopCount; i += 1)
+            {
+                if (nop >= buffer->logical + Context->totalSize)
+                {
+                    break;
+                }
+
+                /* Generate a NOP command. */
+                *nop = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x03 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)));
+
+                /* Advance. */
+                nop += 2;
+            }
+        }
+
+        /* Reset pending deltas. */
+        buffer->deltaCount = 0;
+        buffer->delta      = gcvNULL;
+    }
+
+    /* Set state delta user pointer. */
+    uDelta = StateDelta;
+
+    /* Get access to the state delta. */
+    gcmkONERROR(gckKERNEL_OpenUserData(
+        kernel, needCopy,
+        &_stateDelta,
+        uDelta, gcmSIZEOF(gcsSTATE_DELTA),
+        (gctPOINTER *) &kDelta
+        ));
+
+    /* State delta cannot be attached to anything yet. */
+    if (kDelta->refCount != 0)
+    {
+        gcmkTRACE(
+            gcvLEVEL_ERROR,
+            "%s(%d): kDelta->refCount = %d (has to be 0).\n",
+            __FUNCTION__, __LINE__,
+            kDelta->refCount
+            );
+    }
+
+    /* Attach to all contexts. */
+    buffer = Context->buffer;
+
+    do
+    {
+        /* Attach to the context if nothing is attached yet. If a delta
+           is allready attached, all we need to do is to increment
+           the number of deltas in the context. */
+        if (buffer->delta == gcvNULL)
+        {
+            buffer->delta = uDelta;
+        }
+
+        /* Update reference count. */
+        kDelta->refCount += 1;
+
+        /* Update counters. */
+        buffer->deltaCount += 1;
+
+        /* Get the next context buffer. */
+        buffer = buffer->next;
+
+               if (buffer == gcvNULL)
+               {
+                       gcmkONERROR(gcvSTATUS_NOT_FOUND);
+               }
+    }
+    while (Context->buffer != buffer);
+
+    /* Close access to the current state delta. */
+    gcmkONERROR(gckKERNEL_CloseUserData(
+        kernel, needCopy,
+        gcvTRUE,
+        uDelta, gcmSIZEOF(gcsSTATE_DELTA),
+        (gctPOINTER *) &kDelta
+        ));
+
+    /* Schedule an event to mark the context buffer as available. */
+    gcmkONERROR(gckEVENT_Signal(
+        buffer->eventObj, buffer->signal, gcvKERNEL_PIXEL
+        ));
+
+    /* Advance to the next context buffer. */
+    Context->buffer = buffer->next;
+
+    /* Return the status. */
+    gcmkFOOTER();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Get access to the state records. */
+       if (kDelta != gcvNULL)
+       {
+        gcmkVERIFY_OK(gckKERNEL_CloseUserData(
+            kernel, needCopy,
+            gcvFALSE,
+            gcmUINT64_TO_PTR(kDelta->recordArray), Context->recordArraySize,
+            (gctPOINTER *) &recordArray
+            ));
+       }
+
+    /* Close access to the current state delta. */
+    gcmkVERIFY_OK(gckKERNEL_CloseUserData(
+        kernel, needCopy,
+        gcvTRUE,
+        uDelta, gcmSIZEOF(gcsSTATE_DELTA),
+        (gctPOINTER *) &kDelta
+        ));
+
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+#else
+    return gcvSTATUS_OK;
+#endif
+}
+
diff --git a/drivers/mxc/gpu-viv/arch/XAQ2/hal/kernel/gc_hal_kernel_context.h b/drivers/mxc/gpu-viv/arch/XAQ2/hal/kernel/gc_hal_kernel_context.h
new file mode 100644 (file)
index 0000000..5d2c7c7
--- /dev/null
@@ -0,0 +1,157 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#ifndef __gc_hal_kernel_context_h_
+#define __gc_hal_kernel_context_h_
+
+#include "gc_hal_kernel_buffer.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Maps state locations within the context buffer. */
+typedef struct _gcsSTATE_MAP * gcsSTATE_MAP_PTR;
+typedef struct _gcsSTATE_MAP
+{
+    /* Index of the state in the context buffer. */
+    gctUINT                     index;
+
+    /* State mask. */
+    gctUINT32                   mask;
+}
+gcsSTATE_MAP;
+
+/* Context buffer. */
+typedef struct _gcsCONTEXT * gcsCONTEXT_PTR;
+typedef struct _gcsCONTEXT
+{
+    /* For debugging: the number of context buffer in the order of creation. */
+#if gcmIS_DEBUG(gcdDEBUG_CODE)
+    gctUINT                     num;
+#endif
+
+    /* Pointer to gckEVENT object. */
+    gckEVENT                    eventObj;
+
+    /* Context busy signal. */
+    gctSIGNAL                   signal;
+
+    /* Physical address of the context buffer. */
+    gctPHYS_ADDR                physical;
+
+    /* Logical address of the context buffer. */
+    gctUINT32_PTR               logical;
+
+    /* Pointer to the LINK commands. */
+    gctPOINTER                  link2D;
+    gctPOINTER                  link3D;
+
+    /* The number of pending state deltas. */
+    gctUINT                     deltaCount;
+
+    /* Pointer to the first delta to be applied. */
+    gcsSTATE_DELTA_PTR          delta;
+
+    /* Next context buffer. */
+    gcsCONTEXT_PTR              next;
+}
+gcsCONTEXT;
+
+/* gckCONTEXT structure that hold the current context. */
+struct _gckCONTEXT
+{
+    /* Object. */
+    gcsOBJECT                   object;
+
+    /* Pointer to gckOS object. */
+    gckOS                       os;
+
+    /* Pointer to gckHARDWARE object. */
+    gckHARDWARE                 hardware;
+
+    /* Command buffer alignment. */
+    gctSIZE_T                   alignment;
+    gctSIZE_T                   reservedHead;
+    gctSIZE_T                   reservedTail;
+
+    /* Context buffer metrics. */
+    gctSIZE_T                   stateCount;
+    gctSIZE_T                   totalSize;
+    gctSIZE_T                   bufferSize;
+    gctUINT32                   linkIndex2D;
+    gctUINT32                   linkIndex3D;
+    gctUINT32                   linkIndexXD;
+    gctUINT32                   entryOffset3D;
+    gctUINT32                   entryOffsetXDFrom2D;
+    gctUINT32                   entryOffsetXDFrom3D;
+
+    /* Dirty flags. */
+    gctBOOL                     dirty;
+    gctBOOL                     dirty2D;
+    gctBOOL                     dirty3D;
+    gcsCONTEXT_PTR              dirtyBuffer;
+
+    /* State mapping. */
+    gcsSTATE_MAP_PTR            map;
+
+    /* List of context buffers. */
+    gcsCONTEXT_PTR              buffer;
+
+    /* A copy of the user record array. */
+    gctUINT                     recordArraySize;
+    gcsSTATE_DELTA_RECORD_PTR   recordArray;
+
+    /* Requested pipe select for context. */
+    gcePIPE_SELECT              entryPipe;
+    gcePIPE_SELECT              exitPipe;
+
+    /* Variables used for building state buffer. */
+    gctUINT32                   lastAddress;
+    gctSIZE_T                   lastSize;
+    gctUINT32                   lastIndex;
+    gctBOOL                     lastFixed;
+
+    /* Hint array. */
+#if gcdSECURE_USER
+    gctBOOL_PTR                 hint;
+#endif
+
+#if VIVANTE_PROFILER_CONTEXT
+    gcsPROFILER_COUNTERS        latestProfiler;
+    gcsPROFILER_COUNTERS        histroyProfiler;
+    gctUINT32                   prevVSInstCount;
+    gctUINT32                   prevVSBranchInstCount;
+    gctUINT32                   prevVSTexInstCount;
+    gctUINT32                   prevVSVertexCount;
+    gctUINT32                   prevPSInstCount;
+    gctUINT32                   prevPSBranchInstCount;
+    gctUINT32                   prevPSTexInstCount;
+    gctUINT32                   prevPSPixelCount;
+#endif
+};
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __gc_hal_kernel_context_h_ */
+
diff --git a/drivers/mxc/gpu-viv/arch/XAQ2/hal/kernel/gc_hal_kernel_hardware.c b/drivers/mxc/gpu-viv/arch/XAQ2/hal/kernel/gc_hal_kernel_hardware.c
new file mode 100644 (file)
index 0000000..e8ad2ea
--- /dev/null
@@ -0,0 +1,7257 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#include "gc_hal.h"
+#include "gc_hal_kernel.h"
+#if VIVANTE_PROFILER_CONTEXT
+#include "gc_hal_kernel_context.h"
+#endif
+
+#define _GC_OBJ_ZONE    gcvZONE_HARDWARE
+
+typedef struct _gcsiDEBUG_REGISTERS * gcsiDEBUG_REGISTERS_PTR;
+typedef struct _gcsiDEBUG_REGISTERS
+{
+    gctSTRING       module;
+    gctUINT         index;
+    gctUINT         shift;
+    gctUINT         data;
+    gctUINT         count;
+    gctUINT32       signature;
+}
+gcsiDEBUG_REGISTERS;
+
+extern int gpu3DMinClock;
+/******************************************************************************\
+********************************* Support Code *********************************
+\******************************************************************************/
+static gceSTATUS
+_ResetGPU(
+    IN gckHARDWARE Hardware,
+    IN gckOS Os,
+    IN gceCORE Core
+    );
+
+static gceSTATUS
+_IdentifyHardware(
+    IN gckOS Os,
+    IN gceCORE Core,
+    OUT gcsHAL_QUERY_CHIP_IDENTITY_PTR Identity
+    )
+{
+    gceSTATUS status;
+
+    gctUINT32 chipIdentity;
+
+    gctUINT32 streamCount = 0;
+    gctUINT32 registerMax = 0;
+    gctUINT32 threadCount = 0;
+    gctUINT32 shaderCoreCount = 0;
+    gctUINT32 vertexCacheSize = 0;
+    gctUINT32 vertexOutputBufferSize = 0;
+    gctUINT32 pixelPipes = 0;
+    gctUINT32 instructionCount = 0;
+    gctUINT32 numConstants = 0;
+    gctUINT32 bufferSize = 0;
+    gctUINT32 varyingsCount = 0;
+    gctBOOL useHZ;
+
+    gcmkHEADER_ARG("Os=0x%x", Os);
+
+    /***************************************************************************
+    ** Get chip ID and revision.
+    */
+
+    /* Read chip identity register. */
+    gcmkONERROR(
+        gckOS_ReadRegisterEx(Os, Core,
+                             0x00018,
+                             &chipIdentity));
+
+    /* Special case for older graphic cores. */
+    if (((((gctUINT32) (chipIdentity)) >> (0 ? 31:24) & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1)))))) == (0x01 & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))))
+    {
+        Identity->chipModel    = gcv500;
+        Identity->chipRevision = (((((gctUINT32) (chipIdentity)) >> (0 ? 15:12)) & ((gctUINT32) ((((1 ? 15:12) - (0 ? 15:12) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:12) - (0 ? 15:12) + 1)))))) );
+    }
+
+    else
+    {
+        /* Read chip identity register. */
+        gcmkONERROR(
+            gckOS_ReadRegisterEx(Os, Core,
+                                 0x00020,
+                                 (gctUINT32_PTR) &Identity->chipModel));
+
+        /* !!!! HACK ALERT !!!! */
+        /* Because people change device IDs without letting software know
+        ** about it - here is the hack to make it all look the same.  Only
+        ** for GC400 family.  Next time - TELL ME!!! */
+        if (((Identity->chipModel & 0xFF00) == 0x0400)
+          && (Identity->chipModel != 0x0420))
+        {
+            Identity->chipModel = (gceCHIPMODEL) (Identity->chipModel & 0x0400);
+        }
+
+        /* Read CHIP_REV register. */
+        gcmkONERROR(
+            gckOS_ReadRegisterEx(Os, Core,
+                                 0x00024,
+                                 &Identity->chipRevision));
+
+        if ((Identity->chipModel    == gcv300)
+        &&  (Identity->chipRevision == 0x2201)
+        )
+        {
+            gctUINT32 chipDate;
+            gctUINT32 chipTime;
+
+            /* Read date and time registers. */
+            gcmkONERROR(
+                gckOS_ReadRegisterEx(Os, Core,
+                                     0x00028,
+                                     &chipDate));
+
+            gcmkONERROR(
+                gckOS_ReadRegisterEx(Os, Core,
+                                     0x0002C,
+                                     &chipTime));
+
+            if ((chipDate == 0x20080814) && (chipTime == 0x12051100))
+            {
+                /* This IP has an ECO; put the correct revision in it. */
+                Identity->chipRevision = 0x1051;
+            }
+        }
+    }
+
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
+                   "Identity: chipModel=%X",
+                   Identity->chipModel);
+
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
+                   "Identity: chipRevision=%X",
+                   Identity->chipRevision);
+
+
+    /***************************************************************************
+    ** Get chip features.
+    */
+
+    /* Read chip feature register. */
+    gcmkONERROR(
+        gckOS_ReadRegisterEx(Os, Core,
+                             0x0001C,
+                             &Identity->chipFeatures));
+
+#ifndef VIVANTE_NO_3D
+    /* Disable fast clear on GC700. */
+    if (Identity->chipModel == gcv700)
+    {
+        Identity->chipFeatures
+            = ((((gctUINT32) (Identity->chipFeatures)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
+    }
+#endif
+
+    if (((Identity->chipModel == gcv500) && (Identity->chipRevision < 2))
+    ||  ((Identity->chipModel == gcv300) && (Identity->chipRevision < 0x2000))
+    )
+    {
+        /* GC500 rev 1.x and GC300 rev < 2.0 doesn't have these registers. */
+        Identity->chipMinorFeatures  = 0;
+        Identity->chipMinorFeatures1 = 0;
+        Identity->chipMinorFeatures2 = 0;
+        Identity->chipMinorFeatures3 = 0;
+        Identity->chipMinorFeatures4 = 0;
+    }
+    else
+    {
+        /* Read chip minor feature register #0. */
+        gcmkONERROR(
+            gckOS_ReadRegisterEx(Os, Core,
+                                 0x00034,
+                                 &Identity->chipMinorFeatures));
+
+        if (((((gctUINT32) (Identity->chipMinorFeatures)) >> (0 ? 21:21) & ((gctUINT32) ((((1 ? 21:21) - (0 ? 21:21) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 21:21) - (0 ? 21:21) + 1)))))) == (0x1 & ((gctUINT32) ((((1 ? 21:21) - (0 ? 21:21) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 21:21) - (0 ? 21:21) + 1)))))))
+        )
+        {
+            /* Read chip minor featuress register #1. */
+            gcmkONERROR(
+                gckOS_ReadRegisterEx(Os, Core,
+                                     0x00074,
+                                     &Identity->chipMinorFeatures1));
+
+            /* Read chip minor featuress register #2. */
+            gcmkONERROR(
+                gckOS_ReadRegisterEx(Os, Core,
+                                     0x00084,
+                                     &Identity->chipMinorFeatures2));
+
+            /*Identity->chipMinorFeatures2 &= ~(0x1 << 3);*/
+
+            /* Read chip minor featuress register #1. */
+            gcmkONERROR(
+                gckOS_ReadRegisterEx(Os, Core,
+                                     0x00088,
+                                     &Identity->chipMinorFeatures3));
+
+            /*The BG2 chip has no compression supertiled, and the bit of GCMinorFeature3BugFixes15 is n/a*/
+            if(Identity->chipModel == gcv1000 && Identity->chipRevision == 0x5036)
+            {
+                Identity->chipMinorFeatures3
+                    = ((((gctUINT32) (Identity->chipMinorFeatures3)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 5:5) - (0 ? 5:5) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ? 5:5))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 5:5) - (0 ? 5:5) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ? 5:5)));
+                Identity->chipMinorFeatures3
+                    = ((((gctUINT32) (Identity->chipMinorFeatures3)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 27:27) - (0 ? 27:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 27:27) - (0 ? 27:27) + 1))))))) << (0 ? 27:27))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 27:27) - (0 ? 27:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 27:27) - (0 ? 27:27) + 1))))))) << (0 ? 27:27)));
+            }
+
+            /* Read chip minor featuress register #4. */
+            gcmkONERROR(
+                gckOS_ReadRegisterEx(Os, Core,
+                                     0x00094,
+                                     &Identity->chipMinorFeatures4));
+        }
+        else
+        {
+            /* Chip doesn't has minor features register #1 or 2 or 3 or 4. */
+            Identity->chipMinorFeatures1 = 0;
+            Identity->chipMinorFeatures2 = 0;
+            Identity->chipMinorFeatures3 = 0;
+            Identity->chipMinorFeatures4 = 0;
+        }
+    }
+
+    /* Get the Supertile layout in the hardware. */
+    if (((((gctUINT32) (Identity->chipMinorFeatures3)) >> (0 ? 26:26) & ((gctUINT32) ((((1 ? 26:26) - (0 ? 26:26) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 26:26) - (0 ? 26:26) + 1)))))) == (0x1 & ((gctUINT32) ((((1 ? 26:26) - (0 ? 26:26) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 26:26) - (0 ? 26:26) + 1)))))))
+     || ((((gctUINT32) (Identity->chipMinorFeatures3)) >> (0 ? 8:8) & ((gctUINT32) ((((1 ? 8:8) - (0 ? 8:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 8:8) - (0 ? 8:8) + 1)))))) == (0x1 & ((gctUINT32) ((((1 ? 8:8) - (0 ? 8:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 8:8) - (0 ? 8:8) + 1))))))))
+    {
+        Identity->superTileMode = 2;
+    }
+    else if (((((gctUINT32) (Identity->chipMinorFeatures)) >> (0 ? 27:27) & ((gctUINT32) ((((1 ? 27:27) - (0 ? 27:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 27:27) - (0 ? 27:27) + 1)))))) == (0x1 & ((gctUINT32) ((((1 ? 27:27) - (0 ? 27:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 27:27) - (0 ? 27:27) + 1))))))))
+    {
+        Identity->superTileMode = 1;
+    }
+    else
+    {
+        Identity->superTileMode = 0;
+    }
+
+    /* Exception for GC1000, revision 5035 &  GC800, revision 4612 */
+    if (((Identity->chipModel == gcv1000) && ((Identity->chipRevision == 0x5035)
+                                           || (Identity->chipRevision == 0x5036)
+                                           || (Identity->chipRevision == 0x5037)))
+        || ((Identity->chipModel == gcv800) && (Identity->chipRevision == 0x4612))
+     || ((Identity->chipModel == gcv860) && (Identity->chipRevision == 0x4647)))
+    {
+        Identity->superTileMode = 1;
+    }
+
+    if (Identity->chipModel == gcv4000 && Identity->chipRevision == 0x5245)
+    {
+        useHZ = ((((gctUINT32) (Identity->chipMinorFeatures3)) >> (0 ? 26:26) & ((gctUINT32) ((((1 ? 26:26) - (0 ? 26:26) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 26:26) - (0 ? 26:26) + 1)))))) == (0x1 & ((gctUINT32) ((((1 ? 26:26) - (0 ? 26:26) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 26:26) - (0 ? 26:26) + 1)))))))
+             || ((((gctUINT32) (Identity->chipMinorFeatures3)) >> (0 ? 8:8) & ((gctUINT32) ((((1 ? 8:8) - (0 ? 8:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 8:8) - (0 ? 8:8) + 1)))))) == (0x1 & ((gctUINT32) ((((1 ? 8:8) - (0 ? 8:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 8:8) - (0 ? 8:8) + 1)))))));
+    }
+    else
+    {
+        useHZ = gcvFALSE;
+    }
+
+    if (useHZ)
+    {
+        /* Disable EZ. */
+        Identity->chipFeatures
+            = ((((gctUINT32) (Identity->chipFeatures)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 16:16) - (0 ? 16:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 16:16) - (0 ? 16:16) + 1))))))) << (0 ? 16:16))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 16:16) - (0 ? 16:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 16:16) - (0 ? 16:16) + 1))))))) << (0 ? 16:16)));
+    }
+
+    /* Disable HZ when EZ is present for older chips. */
+    else if (!((((gctUINT32) (Identity->chipFeatures)) >> (0 ? 16:16) & ((gctUINT32) ((((1 ? 16:16) - (0 ? 16:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 16:16) - (0 ? 16:16) + 1)))))) == (0x1 & ((gctUINT32) ((((1 ? 16:16) - (0 ? 16:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 16:16) - (0 ? 16:16) + 1))))))))
+    {
+        /* Disable HIERARCHICAL_Z. */
+        Identity->chipMinorFeatures
+            = ((((gctUINT32) (Identity->chipMinorFeatures)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 27:27) - (0 ? 27:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 27:27) - (0 ? 27:27) + 1))))))) << (0 ? 27:27))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 27:27) - (0 ? 27:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 27:27) - (0 ? 27:27) + 1))))))) << (0 ? 27:27)));
+    }
+
+    /* Disable rectangle primitive when chip is gc880_5_1_0_rc6*/
+    if ((Identity->chipModel == gcv880) && (Identity->chipRevision == 0x5106))
+    {
+        /* Disable rectangle primitive. */
+        Identity->chipMinorFeatures2
+            = ((((gctUINT32) (Identity->chipMinorFeatures2)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 5:5) - (0 ? 5:5) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ? 5:5))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 5:5) - (0 ? 5:5) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ? 5:5)));
+    }
+
+    if ((Identity->chipModel == gcv800) && (Identity->chipRevision == 0x4605))
+    {
+        /* Correct feature bit: RTL does not have such feature. */
+        Identity->chipFeatures
+            = ((((gctUINT32) (Identity->chipFeatures)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:31) - (0 ? 31:31) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:31) - (0 ? 31:31) + 1))))))) << (0 ? 31:31))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 31:31) - (0 ? 31:31) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:31) - (0 ? 31:31) + 1))))))) << (0 ? 31:31)));
+    }
+
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
+                   "Identity: chipFeatures=0x%08X",
+                   Identity->chipFeatures);
+
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
+                   "Identity: chipMinorFeatures=0x%08X",
+                   Identity->chipMinorFeatures);
+
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
+                   "Identity: chipMinorFeatures1=0x%08X",
+                   Identity->chipMinorFeatures1);
+
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
+                   "Identity: chipMinorFeatures2=0x%08X",
+                   Identity->chipMinorFeatures2);
+
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
+                   "Identity: chipMinorFeatures3=0x%08X",
+                   Identity->chipMinorFeatures3);
+
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
+                   "Identity: chipMinorFeatures4=0x%08X",
+                   Identity->chipMinorFeatures4);
+
+    /***************************************************************************
+    ** Get chip specs.
+    */
+
+    if (((((gctUINT32) (Identity->chipMinorFeatures)) >> (0 ? 21:21) & ((gctUINT32) ((((1 ? 21:21) - (0 ? 21:21) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 21:21) - (0 ? 21:21) + 1)))))) == (0x1 & ((gctUINT32) ((((1 ? 21:21) - (0 ? 21:21) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 21:21) - (0 ? 21:21) + 1))))))))
+    {
+        gctUINT32 specs, specs2, specs3;
+
+        /* Read gcChipSpecs register. */
+        gcmkONERROR(
+            gckOS_ReadRegisterEx(Os, Core,
+                                 0x00048,
+                                 &specs));
+
+        /* Extract the fields. */
+        streamCount            = (((((gctUINT32) (specs)) >> (0 ? 3:0)) & ((gctUINT32) ((((1 ? 3:0) - (0 ? 3:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 3:0) - (0 ? 3:0) + 1)))))) );
+        registerMax            = (((((gctUINT32) (specs)) >> (0 ? 7:4)) & ((gctUINT32) ((((1 ? 7:4) - (0 ? 7:4) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:4) - (0 ? 7:4) + 1)))))) );
+        threadCount            = (((((gctUINT32) (specs)) >> (0 ? 11:8)) & ((gctUINT32) ((((1 ? 11:8) - (0 ? 11:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 11:8) - (0 ? 11:8) + 1)))))) );
+        shaderCoreCount        = (((((gctUINT32) (specs)) >> (0 ? 24:20)) & ((gctUINT32) ((((1 ? 24:20) - (0 ? 24:20) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 24:20) - (0 ? 24:20) + 1)))))) );
+        vertexCacheSize        = (((((gctUINT32) (specs)) >> (0 ? 16:12)) & ((gctUINT32) ((((1 ? 16:12) - (0 ? 16:12) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 16:12) - (0 ? 16:12) + 1)))))) );
+        vertexOutputBufferSize = (((((gctUINT32) (specs)) >> (0 ? 31:28)) & ((gctUINT32) ((((1 ? 31:28) - (0 ? 31:28) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:28) - (0 ? 31:28) + 1)))))) );
+        pixelPipes             = (((((gctUINT32) (specs)) >> (0 ? 27:25)) & ((gctUINT32) ((((1 ? 27:25) - (0 ? 27:25) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 27:25) - (0 ? 27:25) + 1)))))) );
+
+        /* Read gcChipSpecs2 register. */
+        gcmkONERROR(
+            gckOS_ReadRegisterEx(Os, Core,
+                                 0x00080,
+                                 &specs2));
+
+        instructionCount       = (((((gctUINT32) (specs2)) >> (0 ? 15:8)) & ((gctUINT32) ((((1 ? 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1)))))) );
+        numConstants           = (((((gctUINT32) (specs2)) >> (0 ? 31:16)) & ((gctUINT32) ((((1 ? 31:16) - (0 ? 31:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:16) - (0 ? 31:16) + 1)))))) );
+        bufferSize             = (((((gctUINT32) (specs2)) >> (0 ? 7:0)) & ((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1)))))) );
+
+        /* Read gcChipSpecs3 register. */
+        gcmkONERROR(
+            gckOS_ReadRegisterEx(Os, Core,
+                                 0x0008C,
+                                 &specs3));
+
+        varyingsCount          = (((((gctUINT32) (specs3)) >> (0 ? 8:4)) & ((gctUINT32) ((((1 ? 8:4) - (0 ? 8:4) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 8:4) - (0 ? 8:4) + 1)))))) );
+    }
+
+    /* Get the number of pixel pipes. */
+    Identity->pixelPipes = gcmMAX(pixelPipes, 1);
+
+    /* Get the stream count. */
+    Identity->streamCount = (streamCount != 0)
+                          ? streamCount
+                          : (Identity->chipModel >= gcv1000) ? 4 : 1;
+
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
+                   "Specs: streamCount=%u%s",
+                   Identity->streamCount,
+                   (streamCount == 0) ? " (default)" : "");
+
+    /* Get the vertex output buffer size. */
+    Identity->vertexOutputBufferSize = (vertexOutputBufferSize != 0)
+                                     ? 1 << vertexOutputBufferSize
+                                     : (Identity->chipModel == gcv400)
+                                       ? (Identity->chipRevision < 0x4000) ? 512
+                                       : (Identity->chipRevision < 0x4200) ? 256
+                                       : 128
+                                     : (Identity->chipModel == gcv530)
+                                       ? (Identity->chipRevision < 0x4200) ? 512
+                                       : 128
+                                     : 512;
+
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
+                   "Specs: vertexOutputBufferSize=%u%s",
+                   Identity->vertexOutputBufferSize,
+                   (vertexOutputBufferSize == 0) ? " (default)" : "");
+
+    /* Get the maximum number of threads. */
+    Identity->threadCount = (threadCount != 0)
+                          ? 1 << threadCount
+                          : (Identity->chipModel == gcv400) ? 64
+                          : (Identity->chipModel == gcv500) ? 128
+                          : (Identity->chipModel == gcv530) ? 128
+                          : 256;
+
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
+                   "Specs: threadCount=%u%s",
+                   Identity->threadCount,
+                   (threadCount == 0) ? " (default)" : "");
+
+    /* Get the number of shader cores. */
+    Identity->shaderCoreCount = (shaderCoreCount != 0)
+                              ? shaderCoreCount
+                              : (Identity->chipModel >= gcv1000) ? 2
+                              : 1;
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
+                   "Specs: shaderCoreCount=%u%s",
+                   Identity->shaderCoreCount,
+                   (shaderCoreCount == 0) ? " (default)" : "");
+
+    /* Get the vertex cache size. */
+    Identity->vertexCacheSize = (vertexCacheSize != 0)
+                              ? vertexCacheSize
+                              : 8;
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
+                   "Specs: vertexCacheSize=%u%s",
+                   Identity->vertexCacheSize,
+                   (vertexCacheSize == 0) ? " (default)" : "");
+
+    /* Get the maximum number of temporary registers. */
+    Identity->registerMax = (registerMax != 0)
+        /* Maximum of registerMax/4 registers are accessible to 1 shader */
+                          ? 1 << registerMax
+                          : (Identity->chipModel == gcv400) ? 32
+                          : 64;
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
+                   "Specs: registerMax=%u%s",
+                   Identity->registerMax,
+                   (registerMax == 0) ? " (default)" : "");
+
+    /* Get the instruction count. */
+    Identity->instructionCount = (instructionCount == 0) ? 256
+                               : (instructionCount == 1) ? 1024
+                               : (instructionCount == 2) ? 2048
+                               : (instructionCount == 0xFF) ? 512
+                               : 256;
+
+    if (Identity->instructionCount == 256)
+    {
+        if ((Identity->chipModel == gcv2000 && Identity->chipRevision == 0x5108)
+        ||  Identity->chipModel == gcv880)
+        {
+            Identity->instructionCount = 512;
+        }
+    }
+
+    if (((((gctUINT32) (Identity->chipMinorFeatures3)) >> (0 ? 3:3) & ((gctUINT32) ((((1 ? 3:3) - (0 ? 3:3) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 3:3) - (0 ? 3:3) + 1)))))) == (0x1 & ((gctUINT32) ((((1 ? 3:3) - (0 ? 3:3) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 3:3) - (0 ? 3:3) + 1))))))))
+    {
+        Identity->instructionCount = 512;
+    }
+
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
+                   "Specs: instructionCount=%u%s",
+                   Identity->instructionCount,
+                   (instructionCount == 0) ? " (default)" : "");
+
+    /* Get the number of constants. */
+    Identity->numConstants = (numConstants == 0) ? 168 : numConstants;
+
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
+                   "Specs: numConstants=%u%s",
+                   Identity->numConstants,
+                   (numConstants == 0) ? " (default)" : "");
+
+    /* Get the buffer size. */
+    Identity->bufferSize = bufferSize;
+
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
+                   "Specs: bufferSize=%u%s",
+                   Identity->bufferSize,
+                   (bufferSize == 0) ? " (default)" : "");
+
+
+     if (varyingsCount != 0)
+     {
+         /* Bug 4480. */
+         /*Identity->varyingsCount = varyingsCount;*/
+         Identity->varyingsCount = 12;
+     }
+     else if (((((gctUINT32) (Identity->chipMinorFeatures1)) >> (0 ? 23:23) & ((gctUINT32) ((((1 ? 23:23) - (0 ? 23:23) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:23) - (0 ? 23:23) + 1)))))) == (0x1 & ((gctUINT32) ((((1 ? 23:23) - (0 ? 23:23) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:23) - (0 ? 23:23) + 1))))))))
+     {
+         Identity->varyingsCount = 12;
+     }
+     else
+     {
+         Identity->varyingsCount = 8;
+     }
+
+     /* For some cores, it consumes two varying for position, so the max varying vectors should minus one. */
+     if ((Identity->chipModel == gcv4000 && Identity->chipRevision == 0x5222) ||
+         (Identity->chipModel == gcv4000 && Identity->chipRevision == 0x5208) ||
+         ((Identity->chipModel == gcv2100 || Identity->chipModel == gcv2000) && Identity->chipRevision == 0x5108) ||
+         (Identity->chipModel == gcv880 && (Identity->chipRevision == 0x5107 || Identity->chipRevision == 0x5106)))
+     {
+         Identity->varyingsCount -= 1;
+     }
+
+    /* Success. */
+    gcmkFOOTER();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+#if gcdPOWEROFF_TIMEOUT
+void
+_PowerTimerFunction(
+    gctPOINTER Data
+    )
+{
+    gckHARDWARE hardware = (gckHARDWARE)Data;
+    gcmkVERIFY_OK(
+        gckHARDWARE_SetPowerManagementState(hardware, gcvPOWER_OFF_TIMEOUT));
+}
+#endif
+
+static gceSTATUS
+_VerifyDMA(
+    IN gckOS Os,
+    IN gceCORE Core,
+    gctUINT32_PTR Address1,
+    gctUINT32_PTR Address2,
+    gctUINT32_PTR State1,
+    gctUINT32_PTR State2
+    )
+{
+    gceSTATUS status;
+    gctUINT32 i;
+
+    gcmkONERROR(gckOS_ReadRegisterEx(Os, Core, 0x660, State1));
+    gcmkONERROR(gckOS_ReadRegisterEx(Os, Core, 0x664, Address1));
+
+    for (i = 0; i < 500; i += 1)
+    {
+        gcmkONERROR(gckOS_ReadRegisterEx(Os, Core, 0x660, State2));
+        gcmkONERROR(gckOS_ReadRegisterEx(Os, Core, 0x664, Address2));
+
+        if (*Address1 != *Address2)
+        {
+            break;
+        }
+
+        if (*State1 != *State2)
+        {
+            break;
+        }
+    }
+
+OnError:
+    return status;
+}
+
+static gceSTATUS
+_DumpDebugRegisters(
+    IN gckOS Os,
+    IN gceCORE Core,
+    IN gcsiDEBUG_REGISTERS_PTR Descriptor
+    )
+{
+    gceSTATUS status = gcvSTATUS_OK;
+    gctUINT32 select;
+    gctUINT32 data = 0;
+    gctUINT i;
+
+    gcmkHEADER_ARG("Os=0x%X Descriptor=0x%X", Os, Descriptor);
+
+    gcmkPRINT_N(4, "    %s debug registers:\n", Descriptor->module);
+
+    for (i = 0; i < Descriptor->count; i += 1)
+    {
+        select = i << Descriptor->shift;
+
+        gcmkONERROR(gckOS_WriteRegisterEx(Os, Core, Descriptor->index, select));
+#if gcdFPGA_BUILD
+        gcmkONERROR(gckOS_Delay(Os, 1000));
+#endif
+        gcmkONERROR(gckOS_ReadRegisterEx(Os, Core, Descriptor->data, &data));
+
+        gcmkPRINT_N(12, "      [0x%02X] 0x%08X\n", i, data);
+    }
+
+    select = 0xF << Descriptor->shift;
+
+    for (i = 0; i < 500; i += 1)
+    {
+        gcmkONERROR(gckOS_WriteRegisterEx(Os, Core, Descriptor->index, select));
+#if gcdFPGA_BUILD
+        gcmkONERROR(gckOS_Delay(Os, 1000));
+#endif
+        gcmkONERROR(gckOS_ReadRegisterEx(Os, Core, Descriptor->data, &data));
+
+        if (data == Descriptor->signature)
+        {
+            break;
+        }
+    }
+
+    if (i == 500)
+    {
+        gcmkPRINT_N(4, "      failed to obtain the signature (read 0x%08X).\n", data);
+    }
+    else
+    {
+        gcmkPRINT_N(8, "      signature = 0x%08X (%d read attempt(s))\n", data, i + 1);
+    }
+
+OnError:
+    /* Return the error. */
+    gcmkFOOTER();
+    return status;
+}
+
+static gceSTATUS
+_IsGPUPresent(
+    IN gckHARDWARE Hardware
+    )
+{
+    gceSTATUS status;
+    gcsHAL_QUERY_CHIP_IDENTITY identity;
+    gctUINT32 control;
+
+    gcmkHEADER_ARG("Hardware=0x%x", Hardware);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+
+    gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os,
+                                     Hardware->core,
+                                     0x00000,
+                                     &control));
+
+    control = ((((gctUINT32) (control)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 1:1) - (0 ? 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 1:1) - (0 ? 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1)));
+    control = ((((gctUINT32) (control)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
+
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os,
+                                      Hardware->core,
+                                      0x00000,
+                                      control));
+
+    /* Identify the hardware. */
+    gcmkONERROR(_IdentifyHardware(Hardware->os,
+                                  Hardware->core,
+                                  &identity));
+
+    /* Check if these are the same values as saved before. */
+    if ((Hardware->identity.chipModel          != identity.chipModel)
+    ||  (Hardware->identity.chipRevision       != identity.chipRevision)
+    ||  (Hardware->identity.chipFeatures       != identity.chipFeatures)
+    ||  (Hardware->identity.chipMinorFeatures  != identity.chipMinorFeatures)
+    ||  (Hardware->identity.chipMinorFeatures1 != identity.chipMinorFeatures1)
+    ||  (Hardware->identity.chipMinorFeatures2 != identity.chipMinorFeatures2)
+    )
+    {
+        gcmkPRINT("[galcore]: GPU is not present.");
+        gcmkONERROR(gcvSTATUS_GPU_NOT_RESPONDING);
+    }
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the error. */
+    gcmkFOOTER();
+    return status;
+}
+
+gceSTATUS
+_FlushCache(
+    gckHARDWARE Hardware,
+    gckCOMMAND Command
+    )
+{
+    gceSTATUS status;
+    gctSIZE_T bytes, requested;
+    gctPOINTER buffer;
+
+    /* Get the size of the flush command. */
+    gcmkONERROR(gckHARDWARE_Flush(Hardware,
+                                  gcvFLUSH_ALL,
+                                  gcvNULL,
+                                  &requested));
+
+    /* Reserve space in the command queue. */
+    gcmkONERROR(gckCOMMAND_Reserve(Command,
+                                   requested,
+                                   &buffer,
+                                   &bytes));
+
+    /* Append a flush. */
+    gcmkONERROR(gckHARDWARE_Flush(
+        Hardware, gcvFLUSH_ALL, buffer, &bytes
+        ));
+
+    /* Execute the command queue. */
+    gcmkONERROR(gckCOMMAND_Execute(Command, requested));
+
+    return gcvSTATUS_OK;
+
+OnError:
+    return status;
+}
+
+/******************************************************************************\
+****************************** gckHARDWARE API code *****************************
+\******************************************************************************/
+
+/*******************************************************************************
+**
+**  gckHARDWARE_Construct
+**
+**  Construct a new gckHARDWARE object.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an initialized gckOS object.
+**
+**      gceCORE Core
+**          Specified core.
+**
+**  OUTPUT:
+**
+**      gckHARDWARE * Hardware
+**          Pointer to a variable that will hold the pointer to the gckHARDWARE
+**          object.
+*/
+gceSTATUS
+gckHARDWARE_Construct(
+    IN gckOS Os,
+    IN gceCORE Core,
+    OUT gckHARDWARE * Hardware
+    )
+{
+    gceSTATUS status;
+    gckHARDWARE hardware = gcvNULL;
+    gctUINT16 data = 0xff00;
+    gctUINT32 axi_ot;
+    gctPOINTER pointer = gcvNULL;
+
+    gcmkHEADER_ARG("Os=0x%x", Os);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Hardware != gcvNULL);
+
+    /* Enable the GPU. */
+    gcmkONERROR(gckOS_SetGPUPower(Os, Core, gcvTRUE, gcvTRUE));
+    gcmkONERROR(gckOS_WriteRegisterEx(Os,
+                                      Core,
+                                      0x00000,
+                                      0x00000900));
+
+    /* Allocate the gckHARDWARE object. */
+    gcmkONERROR(gckOS_Allocate(Os,
+                               gcmSIZEOF(struct _gckHARDWARE),
+                               &pointer));
+
+    hardware = (gckHARDWARE) pointer;
+
+    /* Initialize the gckHARDWARE object. */
+    hardware->object.type = gcvOBJ_HARDWARE;
+    hardware->os          = Os;
+    hardware->core        = Core;
+
+    /* Identify the hardware. */
+    gcmkONERROR(_IdentifyHardware(Os, Core, &hardware->identity));
+
+    /* Determine the hardware type */
+    switch (hardware->identity.chipModel)
+    {
+    case gcv350:
+    case gcv355:
+        hardware->type = gcvHARDWARE_VG;
+        break;
+
+    case gcv300:
+    case gcv320:
+    case gcv420:
+        hardware->type = gcvHARDWARE_2D;
+        /*set outstanding limit*/
+        gcmkONERROR(gckOS_ReadRegisterEx(Os, Core, 0x00414, &axi_ot));
+        axi_ot = (axi_ot & (~0xFF)) | 0x10;
+        gcmkONERROR(gckOS_WriteRegisterEx(Os, Core, 0x00414, axi_ot));
+        break;
+
+    default:
+        hardware->type = gcvHARDWARE_3D;
+        if(hardware->identity.chipModel == gcv880)
+        {
+            /*set outstanding limit*/
+            gcmkONERROR(gckOS_ReadRegisterEx(Os, Core, 0x00414, &axi_ot));
+            axi_ot = (axi_ot & (~0xFF)) | 0x10;
+            gcmkONERROR(gckOS_WriteRegisterEx(Os, Core, 0x00414, axi_ot));
+        }
+
+        if ((((((gctUINT32) (hardware->identity.chipFeatures)) >> (0 ? 9:9)) & ((gctUINT32) ((((1 ? 9:9) - (0 ? 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1)))))) ))
+        {
+            hardware->type = (gceHARDWARE_TYPE) (hardware->type | gcvHARDWARE_2D);
+        }
+    }
+
+    hardware->powerBaseAddress
+        = ((hardware->identity.chipModel   == gcv300)
+        && (hardware->identity.chipRevision < 0x2000))
+            ? 0x0100
+            : 0x0000;
+
+    /* _ResetGPU need powerBaseAddress. */
+    status = _ResetGPU(hardware, Os, Core);
+
+    if (status != gcvSTATUS_OK)
+    {
+        gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
+            "_ResetGPU failed: status=%d\n", status);
+    }
+
+    hardware->powerMutex = gcvNULL;
+
+    hardware->mmuVersion
+        = (((((gctUINT32) (hardware->identity.chipMinorFeatures1)) >> (0 ? 28:28)) & ((gctUINT32) ((((1 ? 28:28) - (0 ? 28:28) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 28:28) - (0 ? 28:28) + 1)))))) );
+
+    /* Determine whether bug fixes #1 are present. */
+    hardware->extraEventStates = ((((gctUINT32) (hardware->identity.chipMinorFeatures1)) >> (0 ? 3:3) & ((gctUINT32) ((((1 ? 3:3) - (0 ? 3:3) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 3:3) - (0 ? 3:3) + 1)))))) == (0x0 & ((gctUINT32) ((((1 ? 3:3) - (0 ? 3:3) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 3:3) - (0 ? 3:3) + 1)))))));
+
+    /* Check if big endian */
+    hardware->bigEndian = (*(gctUINT8 *)&data == 0xff);
+
+    /* Initialize the fast clear. */
+    gcmkONERROR(gckHARDWARE_SetFastClear(hardware, -1, -1));
+
+#if !gcdENABLE_128B_MERGE
+
+    if (((((gctUINT32) (hardware->identity.chipMinorFeatures2)) >> (0 ? 21:21) & ((gctUINT32) ((((1 ? 21:21) - (0 ? 21:21) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 21:21) - (0 ? 21:21) + 1)))))) == (0x1  & ((gctUINT32) ((((1 ? 21:21) - (0 ? 21:21) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 21:21) - (0 ? 21:21) + 1))))))))
+    {
+        /* 128B merge is turned on by default. Disable it. */
+        gcmkONERROR(gckOS_WriteRegisterEx(Os, Core, 0x00558, 0));
+    }
+
+#endif
+
+    /* Set power state to ON. */
+    hardware->chipPowerState  = gcvPOWER_ON;
+    hardware->clockState      = gcvTRUE;
+    hardware->powerState      = gcvTRUE;
+    hardware->lastWaitLink    = ~0U;
+    hardware->globalSemaphore = gcvNULL;
+#if gcdENABLE_FSCALE_VAL_ADJUST
+    hardware->powerOnFscaleVal = 64;
+#endif
+
+    gcmkONERROR(gckOS_CreateMutex(Os, &hardware->powerMutex));
+    gcmkONERROR(gckOS_CreateSemaphore(Os, &hardware->globalSemaphore));
+    hardware->startIsr = gcvNULL;
+    hardware->stopIsr = gcvNULL;
+
+#if gcdPOWEROFF_TIMEOUT
+    hardware->powerOffTimeout = gcdPOWEROFF_TIMEOUT;
+
+    gcmkVERIFY_OK(gckOS_CreateTimer(Os,
+                                    _PowerTimerFunction,
+                                    (gctPOINTER)hardware,
+                                    &hardware->powerOffTimer));
+#endif
+
+    gcmkONERROR(gckOS_AtomConstruct(Os, &hardware->pageTableDirty));
+
+#if gcdLINK_QUEUE_SIZE
+    hardware->linkQueue.front = 0;
+    hardware->linkQueue.rear = 0;
+    hardware->linkQueue.count = 0;
+#endif
+
+    /* Enable power management by default. */
+    hardware->powerManagement = gcvTRUE;
+
+    /* Disable profiler by default */
+    hardware->gpuProfiler = gcvFALSE;
+
+    /* Return pointer to the gckHARDWARE object. */
+    *Hardware = hardware;
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Hardware=0x%x", *Hardware);
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Roll back. */
+    if (hardware != gcvNULL)
+    {
+        /* Turn off the power. */
+        gcmkVERIFY_OK(gckOS_SetGPUPower(Os, Core, gcvFALSE, gcvFALSE));
+
+        if (hardware->globalSemaphore != gcvNULL)
+        {
+            /* Destroy the global semaphore. */
+            gcmkVERIFY_OK(gckOS_DestroySemaphore(Os,
+                                                 hardware->globalSemaphore));
+        }
+
+        if (hardware->powerMutex != gcvNULL)
+        {
+            /* Destroy the power mutex. */
+            gcmkVERIFY_OK(gckOS_DeleteMutex(Os, hardware->powerMutex));
+        }
+
+#if gcdPOWEROFF_TIMEOUT
+        if (hardware->powerOffTimer != gcvNULL)
+        {
+            gcmkVERIFY_OK(gckOS_StopTimer(Os, hardware->powerOffTimer));
+            gcmkVERIFY_OK(gckOS_DestroyTimer(Os, hardware->powerOffTimer));
+        }
+#endif
+
+        if (hardware->pageTableDirty != gcvNULL)
+        {
+            gcmkVERIFY_OK(gckOS_AtomDestroy(Os, hardware->pageTableDirty));
+        }
+
+        gcmkVERIFY_OK(gcmkOS_SAFE_FREE(Os, hardware));
+    }
+
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckHARDWARE_Destroy
+**
+**  Destroy an gckHARDWARE object.
+**
+**  INPUT:
+**
+**      gckHARDWARE Hardware
+**          Pointer to the gckHARDWARE object that needs to be destroyed.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckHARDWARE_Destroy(
+    IN gckHARDWARE Hardware
+    )
+{
+    gceSTATUS status;
+
+    gcmkHEADER_ARG("Hardware=0x%x", Hardware);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+
+    /* Destroy the power semaphore. */
+    gcmkVERIFY_OK(gckOS_DestroySemaphore(Hardware->os,
+                                         Hardware->globalSemaphore));
+
+    /* Destroy the power mutex. */
+    gcmkVERIFY_OK(gckOS_DeleteMutex(Hardware->os, Hardware->powerMutex));
+
+#if gcdPOWEROFF_TIMEOUT
+    gcmkVERIFY_OK(gckOS_StopTimer(Hardware->os, Hardware->powerOffTimer));
+    gcmkVERIFY_OK(gckOS_DestroyTimer(Hardware->os, Hardware->powerOffTimer));
+#endif
+
+    gcmkVERIFY_OK(gckOS_AtomDestroy(Hardware->os, Hardware->pageTableDirty));
+
+    /* Mark the object as unknown. */
+    Hardware->object.type = gcvOBJ_UNKNOWN;
+
+    /* Free the object. */
+    gcmkONERROR(gcmkOS_SAFE_FREE(Hardware->os, Hardware));
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckHARDWARE_GetType
+**
+**  Get the hardware type.
+**
+**  INPUT:
+**
+**      gckHARDWARE Harwdare
+**          Pointer to an gckHARDWARE object.
+**
+**  OUTPUT:
+**
+**      gceHARDWARE_TYPE * Type
+**          Pointer to a variable that receives the type of hardware object.
+*/
+gceSTATUS
+gckHARDWARE_GetType(
+    IN gckHARDWARE Hardware,
+    OUT gceHARDWARE_TYPE * Type
+    )
+{
+    gcmkHEADER_ARG("Hardware=0x%x", Hardware);
+    gcmkVERIFY_ARGUMENT(Type != gcvNULL);
+
+    *Type = Hardware->type;
+
+    gcmkFOOTER_ARG("*Type=%d", *Type);
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckHARDWARE_InitializeHardware
+**
+**  Initialize the hardware.
+**
+**  INPUT:
+**
+**      gckHARDWARE Hardware
+**          Pointer to the gckHARDWARE object.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckHARDWARE_InitializeHardware(
+    IN gckHARDWARE Hardware
+    )
+{
+    gceSTATUS status;
+    gctUINT32 baseAddress;
+    gctUINT32 chipRev;
+    gctUINT32 control;
+
+    gcmkHEADER_ARG("Hardware=0x%x", Hardware);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+
+    /* Read the chip revision register. */
+    gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os,
+                                     Hardware->core,
+                                     0x00024,
+                                     &chipRev));
+
+    if (chipRev != Hardware->identity.chipRevision)
+    {
+        /* Chip is not there! */
+        gcmkONERROR(gcvSTATUS_CONTEXT_LOSSED);
+    }
+
+    /* Disable isolate GPU bit. */
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os,
+                                      Hardware->core,
+                                      0x00000,
+                                      ((((gctUINT32) (0x00000900)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 19:19) - (0 ? 19:19) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 19:19) - (0 ? 19:19) + 1))))))) << (0 ? 19:19))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 19:19) - (0 ? 19:19) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 19:19) - (0 ? 19:19) + 1))))))) << (0 ? 19:19)))));
+
+    gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os,
+                                     Hardware->core,
+                                     0x00000,
+                                     &control));
+
+    /* Enable debug register. */
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os,
+                                      Hardware->core,
+                                      0x00000,
+                                      ((((gctUINT32) (control)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 11:11) - (0 ? 11:11) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 11:11) - (0 ? 11:11) + 1))))))) << (0 ? 11:11))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 11:11) - (0 ? 11:11) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 11:11) - (0 ? 11:11) + 1))))))) << (0 ? 11:11)))));
+
+    /* Reset memory counters. */
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os,
+                                      Hardware->core,
+                                      0x0003C,
+                                      ~0U));
+
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os,
+                                      Hardware->core,
+                                      0x0003C,
+                                      0));
+
+    /* Get the system's physical base address. */
+    gcmkONERROR(gckOS_GetBaseAddress(Hardware->os, &baseAddress));
+
+    /* Program the base addesses. */
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os,
+                                      Hardware->core,
+                                      0x0041C,
+                                      baseAddress));
+
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os,
+                                      Hardware->core,
+                                      0x00418,
+                                      baseAddress));
+
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os,
+                                      Hardware->core,
+                                      0x00428,
+                                      baseAddress));
+
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os,
+                                      Hardware->core,
+                                      0x00420,
+                                      baseAddress));
+
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os,
+                                      Hardware->core,
+                                      0x00424,
+                                      baseAddress));
+
+#if !VIVANTE_PROFILER
+    {
+        gctUINT32 data;
+
+        gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os,
+                                         Hardware->core,
+                                         Hardware->powerBaseAddress +
+                                         0x00100,
+                                         &data));
+
+        /* Enable clock gating. */
+        data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
+
+        if ((Hardware->identity.chipRevision == 0x4301)
+        ||  (Hardware->identity.chipRevision == 0x4302)
+        )
+        {
+            /* Disable stall module level clock gating for 4.3.0.1 and 4.3.0.2
+            ** revisions. */
+            data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 1:1) - (0 ? 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 1:1) - (0 ? 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1)));
+        }
+
+        gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os,
+                                          Hardware->core,
+                                          Hardware->powerBaseAddress
+                                          + 0x00100,
+                                          data));
+
+#ifndef VIVANTE_NO_3D
+        /* Disable PE clock gating on revs < 5.0 when HZ is present without a
+        ** bug fix. */
+        if ((Hardware->identity.chipRevision < 0x5000)
+        &&  ((((gctUINT32) (Hardware->identity.chipMinorFeatures1)) >> (0 ? 9:9) & ((gctUINT32) ((((1 ? 9:9) - (0 ? 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1)))))) == (0x0 & ((gctUINT32) ((((1 ? 9:9) - (0 ? 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1)))))))
+        &&  ((((gctUINT32) (Hardware->identity.chipMinorFeatures)) >> (0 ? 27:27) & ((gctUINT32) ((((1 ? 27:27) - (0 ? 27:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 27:27) - (0 ? 27:27) + 1)))))) == (0x1 & ((gctUINT32) ((((1 ? 27:27) - (0 ? 27:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 27:27) - (0 ? 27:27) + 1)))))))
+        )
+        {
+            gcmkONERROR(
+                gckOS_ReadRegisterEx(Hardware->os,
+                                     Hardware->core,
+                                     Hardware->powerBaseAddress
+                                     + 0x00104,
+                                     &data));
+
+            /* Disable PE clock gating. */
+            data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 2:2) - (0 ? 2:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ? 2:2))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 2:2) - (0 ? 2:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ? 2:2)));
+
+            gcmkONERROR(
+                gckOS_WriteRegisterEx(Hardware->os,
+                                      Hardware->core,
+                                      Hardware->powerBaseAddress
+                                      + 0x00104,
+                                      data));
+        }
+
+#endif
+    }
+#endif
+
+    /* Special workaround for this core
+    ** Make sure pulse eater kicks in only when SH is idle */
+    if (Hardware->identity.chipModel == gcv4000 &&
+        Hardware->identity.chipRevision == 0x5208)
+    {
+               gcmkONERROR(
+            gckOS_WriteRegisterEx(Hardware->os,
+                                  Hardware->core,
+                                  0x0010C,
+                                  ((((gctUINT32) (0x01590880)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 23:23) - (0 ? 23:23) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:23) - (0 ? 23:23) + 1))))))) << (0 ? 23:23))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 23:23) - (0 ? 23:23) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:23) - (0 ? 23:23) + 1))))))) << (0 ? 23:23)))));
+    }
+
+    if ((gckHARDWARE_IsFeatureAvailable(Hardware, gcvFEATURE_HALTI2) == gcvFALSE)
+     || (gckHARDWARE_IsFeatureAvailable(Hardware, gcvFEATURE_HALTI2) && (Hardware->identity.chipRevision < 0x5422))
+    )
+    {
+        gctUINT32 data;
+
+        gcmkONERROR(
+            gckOS_ReadRegisterEx(Hardware->os,
+                                 Hardware->core,
+                                 Hardware->powerBaseAddress
+                                 + 0x00104,
+                                 &data));
+
+
+        data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:15) - (0 ? 15:15) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:15) - (0 ? 15:15) + 1))))))) << (0 ? 15:15))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 15:15) - (0 ? 15:15) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:15) - (0 ? 15:15) + 1))))))) << (0 ? 15:15)));
+
+
+        gcmkONERROR(
+            gckOS_WriteRegisterEx(Hardware->os,
+                                  Hardware->core,
+                                  Hardware->powerBaseAddress
+                                  + 0x00104,
+                                  data));
+    }
+
+    /* Special workaround for this core
+    ** Make sure FE and TX are on different buses */
+    if ((Hardware->identity.chipModel == gcv2000)
+    &&  (Hardware->identity.chipRevision  == 0x5108))
+    {
+        gctUINT32 data;
+
+        gcmkONERROR(
+            gckOS_ReadRegisterEx(Hardware->os,
+                                 Hardware->core,
+                                 0x00480,
+                                 &data));
+
+        /* Set FE bus to one, TX bus to zero */
+        data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 3:3) - (0 ? 3:3) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ? 3:3))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 3:3) - (0 ? 3:3) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ? 3:3)));
+        data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 7:7) - (0 ? 7:7) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ? 7:7))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 7:7) - (0 ? 7:7) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ? 7:7)));
+
+        gcmkONERROR(
+            gckOS_WriteRegisterEx(Hardware->os,
+                                  Hardware->core,
+                                  0x00480,
+                                  data));
+    }
+
+    /* Test if MMU is initialized. */
+    if ((Hardware->kernel      != gcvNULL)
+    &&  (Hardware->kernel->mmu != gcvNULL)
+    )
+    {
+        /* Reset MMU. */
+        if (Hardware->mmuVersion == 0)
+        {
+            gcmkONERROR(
+                    gckHARDWARE_SetMMU(Hardware,
+                        Hardware->kernel->mmu->pageTableLogical));
+        }
+    }
+
+    if (Hardware->identity.chipModel >= gcv400
+    &&  Hardware->identity.chipModel != gcv420
+    &&  (((((gctUINT32) (Hardware->identity.chipMinorFeatures3)) >> (0 ? 15:15) & ((gctUINT32) ((((1 ? 15:15) - (0 ? 15:15) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:15) - (0 ? 15:15) + 1)))))) == (0x1 & ((gctUINT32) ((((1 ? 15:15) - (0 ? 15:15) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:15) - (0 ? 15:15) + 1))))))) != gcvTRUE)
+    )
+    {
+               gctUINT32 data;
+
+        gcmkONERROR(
+            gckOS_ReadRegisterEx(Hardware->os,
+                                 Hardware->core,
+                                 Hardware->powerBaseAddress
+                                 + 0x00104,
+                                 &data));
+
+        /* Disable PA clock gating. */
+        data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 4:4) - (0 ? 4:4) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ? 4:4))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 4:4) - (0 ? 4:4) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ? 4:4)));
+
+        gcmkONERROR(
+            gckOS_WriteRegisterEx(Hardware->os,
+                                  Hardware->core,
+                                  Hardware->powerBaseAddress
+                                  + 0x00104,
+                                  data));
+    }
+
+#if gcdHZ_L2_DISALBE
+    /* Disable HZ-L2. */
+    if (((((gctUINT32) (Hardware->identity.chipMinorFeatures3)) >> (0 ? 26:26) & ((gctUINT32) ((((1 ? 26:26) - (0 ? 26:26) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 26:26) - (0 ? 26:26) + 1)))))) == (0x1 & ((gctUINT32) ((((1 ? 26:26) - (0 ? 26:26) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 26:26) - (0 ? 26:26) + 1))))))) == gcvTRUE ||
+            ((((gctUINT32) (Hardware->identity.chipMinorFeatures3)) >> (0 ? 8:8) & ((gctUINT32) ((((1 ? 8:8) - (0 ? 8:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 8:8) - (0 ? 8:8) + 1)))))) == (0x1 & ((gctUINT32) ((((1 ? 8:8) - (0 ? 8:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 8:8) - (0 ? 8:8) + 1))))))) == gcvTRUE)
+    {
+               gctUINT32 data;
+
+        gcmkONERROR(
+            gckOS_ReadRegisterEx(Hardware->os,
+                                 Hardware->core,
+                                 0x00414,
+                                 &data));
+
+        data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 12:12) - (0 ? 12:12) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:12) - (0 ? 12:12) + 1))))))) << (0 ? 12:12))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 12:12) - (0 ? 12:12) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:12) - (0 ? 12:12) + 1))))))) << (0 ? 12:12)));
+
+        gcmkONERROR(
+            gckOS_WriteRegisterEx(Hardware->os,
+                                  Hardware->core,
+                                  0x00414,
+                                  data));
+    }
+#endif
+
+    /* Limit 2D outstanding request. */
+    if(Hardware->identity.chipModel == gcv880)
+    {
+        gctUINT32 axi_ot;
+        gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00414, &axi_ot));
+        axi_ot = (axi_ot & (~0xFF)) | 0x10;
+        gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00414, axi_ot));
+    }
+
+    if ((Hardware->identity.chipModel == gcv320)
+        && ((Hardware->identity.chipRevision == 0x5007)
+        || (Hardware->identity.chipRevision == 0x5220)))
+    {
+               gctUINT32 data;
+
+        gcmkONERROR(
+            gckOS_ReadRegisterEx(Hardware->os,
+                                 Hardware->core,
+                                 0x0002C,
+                                 &data));
+        if (data != 33956864)
+        {
+            gcmkONERROR(
+                gckOS_ReadRegisterEx(Hardware->os,
+                                     Hardware->core,
+                                     0x00414,
+                                     &data));
+
+            data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) | (((gctUINT32) ((gctUINT32) (Hardware->identity.chipRevision == 0x5220 ? 8 : (Hardware->identity.chipRevision == 0x5007 ? 16 : 0)) & ((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0)));
+
+            gcmkONERROR(
+                gckOS_WriteRegisterEx(Hardware->os,
+                                      Hardware->core,
+                                      0x00414,
+                                      data));
+        }
+    }
+
+    /* Update GPU AXI cache atttribute. */
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os,
+                                      Hardware->core,
+                                      0x00008,
+                                      0x00002200));
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the error. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckHARDWARE_QueryMemory
+**
+**  Query the amount of memory available on the hardware.
+**
+**  INPUT:
+**
+**      gckHARDWARE Hardware
+**          Pointer to the gckHARDWARE object.
+**
+**  OUTPUT:
+**
+**      gctSIZE_T * InternalSize
+**          Pointer to a variable that will hold the size of the internal video
+**          memory in bytes.  If 'InternalSize' is gcvNULL, no information of the
+**          internal memory will be returned.
+**
+**      gctUINT32 * InternalBaseAddress
+**          Pointer to a variable that will hold the hardware's base address for
+**          the internal video memory.  This pointer cannot be gcvNULL if
+**          'InternalSize' is also non-gcvNULL.
+**
+**      gctUINT32 * InternalAlignment
+**          Pointer to a variable that will hold the hardware's base address for
+**          the internal video memory.  This pointer cannot be gcvNULL if
+**          'InternalSize' is also non-gcvNULL.
+**
+**      gctSIZE_T * ExternalSize
+**          Pointer to a variable that will hold the size of the external video
+**          memory in bytes.  If 'ExternalSize' is gcvNULL, no information of the
+**          external memory will be returned.
+**
+**      gctUINT32 * ExternalBaseAddress
+**          Pointer to a variable that will hold the hardware's base address for
+**          the external video memory.  This pointer cannot be gcvNULL if
+**          'ExternalSize' is also non-gcvNULL.
+**
+**      gctUINT32 * ExternalAlignment
+**          Pointer to a variable that will hold the hardware's base address for
+**          the external video memory.  This pointer cannot be gcvNULL if
+**          'ExternalSize' is also non-gcvNULL.
+**
+**      gctUINT32 * HorizontalTileSize
+**          Number of horizontal pixels per tile.  If 'HorizontalTileSize' is
+**          gcvNULL, no horizontal pixel per tile will be returned.
+**
+**      gctUINT32 * VerticalTileSize
+**          Number of vertical pixels per tile.  If 'VerticalTileSize' is
+**          gcvNULL, no vertical pixel per tile will be returned.
+*/
+gceSTATUS
+gckHARDWARE_QueryMemory(
+    IN gckHARDWARE Hardware,
+    OUT gctSIZE_T * InternalSize,
+    OUT gctUINT32 * InternalBaseAddress,
+    OUT gctUINT32 * InternalAlignment,
+    OUT gctSIZE_T * ExternalSize,
+    OUT gctUINT32 * ExternalBaseAddress,
+    OUT gctUINT32 * ExternalAlignment,
+    OUT gctUINT32 * HorizontalTileSize,
+    OUT gctUINT32 * VerticalTileSize
+    )
+{
+    gcmkHEADER_ARG("Hardware=0x%x", Hardware);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+
+    if (InternalSize != gcvNULL)
+    {
+        /* No internal memory. */
+        *InternalSize = 0;
+    }
+
+    if (ExternalSize != gcvNULL)
+    {
+        /* No external memory. */
+        *ExternalSize = 0;
+    }
+
+    if (HorizontalTileSize != gcvNULL)
+    {
+        /* 4x4 tiles. */
+        *HorizontalTileSize = 4;
+    }
+
+    if (VerticalTileSize != gcvNULL)
+    {
+        /* 4x4 tiles. */
+        *VerticalTileSize = 4;
+    }
+
+    /* Success. */
+    gcmkFOOTER_ARG("*InternalSize=%lu *InternalBaseAddress=0x%08x "
+                   "*InternalAlignment=0x%08x *ExternalSize=%lu "
+                   "*ExternalBaseAddress=0x%08x *ExtenalAlignment=0x%08x "
+                   "*HorizontalTileSize=%u *VerticalTileSize=%u",
+                   gcmOPT_VALUE(InternalSize),
+                   gcmOPT_VALUE(InternalBaseAddress),
+                   gcmOPT_VALUE(InternalAlignment),
+                   gcmOPT_VALUE(ExternalSize),
+                   gcmOPT_VALUE(ExternalBaseAddress),
+                   gcmOPT_VALUE(ExternalAlignment),
+                   gcmOPT_VALUE(HorizontalTileSize),
+                   gcmOPT_VALUE(VerticalTileSize));
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckHARDWARE_QueryChipIdentity
+**
+**  Query the identity of the hardware.
+**
+**  INPUT:
+**
+**      gckHARDWARE Hardware
+**          Pointer to the gckHARDWARE object.
+**
+**  OUTPUT:
+**
+**      gcsHAL_QUERY_CHIP_IDENTITY_PTR Identity
+**          Pointer to the identity structure.
+**
+*/
+gceSTATUS
+gckHARDWARE_QueryChipIdentity(
+    IN gckHARDWARE Hardware,
+    OUT gcsHAL_QUERY_CHIP_IDENTITY_PTR Identity
+    )
+{
+    gctUINT32 features;
+
+    gcmkHEADER_ARG("Hardware=0x%x", Hardware);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+    gcmkVERIFY_ARGUMENT(Identity != gcvNULL);
+
+    /* Return chip model and revision. */
+    Identity->chipModel = Hardware->identity.chipModel;
+    Identity->chipRevision = Hardware->identity.chipRevision;
+
+    /* Return feature set. */
+    features = Hardware->identity.chipFeatures;
+
+    if ((((((gctUINT32) (features)) >> (0 ? 0:0)) & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1)))))) ))
+    {
+        /* Override fast clear by command line. */
+        features = ((((gctUINT32) (features)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0))) | (((gctUINT32) ((gctUINT32) (Hardware->allowFastClear) & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
+    }
+
+    if ((((((gctUINT32) (features)) >> (0 ? 5:5)) & ((gctUINT32) ((((1 ? 5:5) - (0 ? 5:5) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 5:5) - (0 ? 5:5) + 1)))))) ))
+    {
+        /* Override compression by command line. */
+        features = ((((gctUINT32) (features)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 5:5) - (0 ? 5:5) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ? 5:5))) | (((gctUINT32) ((gctUINT32) (Hardware->allowCompression) & ((gctUINT32) ((((1 ? 5:5) - (0 ? 5:5) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ? 5:5)));
+    }
+
+    /* Mark 2D pipe as available for GC500.0 through GC500.2 and GC300,
+    ** since they did not have this bit. */
+    if (((Hardware->identity.chipModel == gcv500) && (Hardware->identity.chipRevision <= 2))
+    ||   (Hardware->identity.chipModel == gcv300)
+    )
+    {
+        features = ((((gctUINT32) (features)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 9:9) - (0 ? 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ? 9:9))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 9:9) - (0 ? 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ? 9:9)));
+    }
+
+    Identity->chipFeatures = features;
+
+    /* Return minor features. */
+    Identity->chipMinorFeatures  = Hardware->identity.chipMinorFeatures;
+    Identity->chipMinorFeatures1 = Hardware->identity.chipMinorFeatures1;
+    Identity->chipMinorFeatures2 = Hardware->identity.chipMinorFeatures2;
+    Identity->chipMinorFeatures3 = Hardware->identity.chipMinorFeatures3;
+    Identity->chipMinorFeatures4 = Hardware->identity.chipMinorFeatures4;
+
+    /* Return chip specs. */
+    Identity->streamCount            = Hardware->identity.streamCount;
+    Identity->registerMax            = Hardware->identity.registerMax;
+    Identity->threadCount            = Hardware->identity.threadCount;
+    Identity->shaderCoreCount        = Hardware->identity.shaderCoreCount;
+    Identity->vertexCacheSize        = Hardware->identity.vertexCacheSize;
+    Identity->vertexOutputBufferSize = Hardware->identity.vertexOutputBufferSize;
+    Identity->pixelPipes             = Hardware->identity.pixelPipes;
+    Identity->instructionCount       = Hardware->identity.instructionCount;
+    Identity->numConstants           = Hardware->identity.numConstants;
+    Identity->bufferSize             = Hardware->identity.bufferSize;
+    Identity->varyingsCount          = Hardware->identity.varyingsCount;
+    Identity->superTileMode          = Hardware->identity.superTileMode;
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckHARDWARE_SplitMemory
+**
+**  Split a hardware specific memory address into a pool and offset.
+**
+**  INPUT:
+**
+**      gckHARDWARE Hardware
+**          Pointer to the gckHARDWARE object.
+**
+**      gctUINT32 Address
+**          Address in hardware specific format.
+**
+**  OUTPUT:
+**
+**      gcePOOL * Pool
+**          Pointer to a variable that will hold the pool type for the address.
+**
+**      gctUINT32 * Offset
+**          Pointer to a variable that will hold the offset for the address.
+*/
+gceSTATUS
+gckHARDWARE_SplitMemory(
+    IN gckHARDWARE Hardware,
+    IN gctUINT32 Address,
+    OUT gcePOOL * Pool,
+    OUT gctUINT32 * Offset
+    )
+{
+    gcmkHEADER_ARG("Hardware=0x%x Addres=0x%08x", Hardware, Address);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+    gcmkVERIFY_ARGUMENT(Pool != gcvNULL);
+    gcmkVERIFY_ARGUMENT(Offset != gcvNULL);
+
+    if (Hardware->mmuVersion == 0)
+    {
+        /* Dispatch on memory type. */
+        switch ((((((gctUINT32) (Address)) >> (0 ? 31:31)) & ((gctUINT32) ((((1 ? 31:31) - (0 ? 31:31) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:31) - (0 ? 31:31) + 1)))))) ))
+        {
+        case 0x0:
+            /* System memory. */
+            *Pool = gcvPOOL_SYSTEM;
+            break;
+
+        case 0x1:
+            /* Virtual memory. */
+            *Pool = gcvPOOL_VIRTUAL;
+            break;
+
+        default:
+            /* Invalid memory type. */
+            gcmkFOOTER_ARG("status=%d", gcvSTATUS_INVALID_ARGUMENT);
+            return gcvSTATUS_INVALID_ARGUMENT;
+        }
+
+        /* Return offset of address. */
+        *Offset = (((((gctUINT32) (Address)) >> (0 ? 30:0)) & ((gctUINT32) ((((1 ? 30:0) - (0 ? 30:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 30:0) - (0 ? 30:0) + 1)))))) );
+    }
+    else
+    {
+        *Pool = gcvPOOL_SYSTEM;
+        *Offset = Address;
+    }
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Pool=%d *Offset=0x%08x", *Pool, *Offset);
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckHARDWARE_Execute
+**
+**  Kickstart the hardware's command processor with an initialized command
+**  buffer.
+**
+**  INPUT:
+**
+**      gckHARDWARE Hardware
+**          Pointer to the gckHARDWARE object.
+**
+**      gctPOINTER Logical
+**          Logical address of command buffer.
+**
+**      gctSIZE_T Bytes
+**          Number of bytes for the prefetch unit (until after the first LINK).
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckHARDWARE_Execute(
+    IN gckHARDWARE Hardware,
+    IN gctPOINTER Logical,
+#ifdef __QNXNTO__
+    IN gctPOINTER Physical,
+    IN gctBOOL PhysicalAddresses,
+#endif
+    IN gctSIZE_T Bytes
+    )
+{
+    gceSTATUS status;
+    gctUINT32 address = 0, control;
+
+    gcmkHEADER_ARG("Hardware=0x%x Logical=0x%x Bytes=%lu",
+                   Hardware, Logical, Bytes);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+    gcmkVERIFY_ARGUMENT(Logical != gcvNULL);
+
+#ifdef __QNXNTO__
+    if (PhysicalAddresses && (Hardware->mmuVersion == 0))
+    {
+        /* Convert physical into hardware specific address. */
+        gcmkONERROR(
+            gckHARDWARE_ConvertPhysical(Hardware, Physical, &address));
+    }
+    else
+    {
+#endif
+    /* Convert logical into hardware specific address. */
+    gcmkONERROR(
+        gckHARDWARE_ConvertLogical(Hardware, Logical, &address));
+#ifdef __QNXNTO__
+    }
+#endif
+
+    /* Enable all events. */
+    gcmkONERROR(
+        gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00014, ~0U));
+
+    /* Write address register. */
+    gcmkONERROR(
+        gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00654, address));
+
+    /* Build control register. */
+    control = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 16:16) - (0 ? 16:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 16:16) - (0 ? 16:16) + 1))))))) << (0 ? 16:16))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 16:16) - (0 ? 16:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 16:16) - (0 ? 16:16) + 1))))))) << (0 ? 16:16)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0))) | (((gctUINT32) ((gctUINT32) ((Bytes + 7) >> 3) & ((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
+
+    /* Set big endian */
+    if (Hardware->bigEndian)
+    {
+        control |= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 21:20) - (0 ? 21:20) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 21:20) - (0 ? 21:20) + 1))))))) << (0 ? 21:20))) | (((gctUINT32) (0x2 & ((gctUINT32) ((((1 ? 21:20) - (0 ? 21:20) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 21:20) - (0 ? 21:20) + 1))))))) << (0 ? 21:20)));
+    }
+
+    /* Write control register. */
+    gcmkONERROR(
+        gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00658, control));
+
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
+                  "Started command buffer @ 0x%08x",
+                  address);
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckHARDWARE_WaitLink
+**
+**  Append a WAIT/LINK command sequence at the specified location in the command
+**  queue.
+**
+**  INPUT:
+**
+**      gckHARDWARE Hardware
+**          Pointer to an gckHARDWARE object.
+**
+**      gctPOINTER Logical
+**          Pointer to the current location inside the command queue to append
+**          WAIT/LINK command sequence at or gcvNULL just to query the size of the
+**          WAIT/LINK command sequence.
+**
+**      gctUINT32 Offset
+**          Offset into command buffer required for alignment.
+**
+**      gctSIZE_T * Bytes
+**          Pointer to the number of bytes available for the WAIT/LINK command
+**          sequence.  If 'Logical' is gcvNULL, this argument will be ignored.
+**
+**  OUTPUT:
+**
+**      gctSIZE_T * Bytes
+**          Pointer to a variable that will receive the number of bytes required
+**          by the WAIT/LINK command sequence.  If 'Bytes' is gcvNULL, nothing will
+**          be returned.
+**
+**      gctUINT32 * WaitOffset
+**          Pointer to a variable that will receive the offset of the WAIT command
+**          from the specified logcial pointer.
+**          If 'WaitOffset' is gcvNULL nothing will be returned.
+**
+**      gctSIZE_T * WaitSize
+**          Pointer to a variable that will receive the number of bytes used by
+**          the WAIT command.  If 'LinkSize' is gcvNULL nothing will be returned.
+*/
+gceSTATUS
+gckHARDWARE_WaitLink(
+    IN gckHARDWARE Hardware,
+    IN gctPOINTER Logical,
+    IN gctUINT32 Offset,
+    IN OUT gctSIZE_T * Bytes,
+    OUT gctUINT32 * WaitOffset,
+    OUT gctSIZE_T * WaitSize
+    )
+{
+    static const gctUINT waitCount = 200;
+
+    gceSTATUS status;
+    gctUINT32 address;
+    gctUINT32_PTR logical;
+    gctSIZE_T bytes;
+
+    gcmkHEADER_ARG("Hardware=0x%x Logical=0x%x Offset=0x%08x *Bytes=%lu",
+                   Hardware, Logical, Offset, gcmOPT_VALUE(Bytes));
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+    gcmkVERIFY_ARGUMENT((Logical != gcvNULL) || (Bytes != gcvNULL));
+
+    /* Compute number of bytes required. */
+#if gcd6000_SUPPORT
+    bytes = gcmALIGN(Offset + 96, 8) - Offset;
+#else
+    bytes = gcmALIGN(Offset + 16, 8) - Offset;
+#endif
+
+    /* Cast the input pointer. */
+    logical = (gctUINT32_PTR) Logical;
+
+    if (logical != gcvNULL)
+    {
+        /* Not enough space? */
+        if (*Bytes < bytes)
+        {
+            /* Command queue too small. */
+            gcmkONERROR(gcvSTATUS_BUFFER_TOO_SMALL);
+        }
+
+        /* Convert logical into hardware specific address. */
+        gcmkONERROR(gckHARDWARE_ConvertLogical(Hardware, logical, &address));
+
+        /* Store the WAIT/LINK address. */
+        Hardware->lastWaitLink = address;
+
+        /* Append WAIT(count). */
+        logical[0]
+            = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0))) | (((gctUINT32) ((gctUINT32) (waitCount) & ((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
+
+#if gcd6000_SUPPORT
+        /* Send FE-PE sempahore token. */
+        logical[2]
+            = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
+
+        logical[3]
+            = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
+
+        /* Send FE-PE stall token. */
+        logical[4]
+            = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)));
+
+        logical[5]
+            = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
+
+        /*************************************************************/
+        /* Enable chip ID 0. */
+        logical[6] =
+            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x0D & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+            | (1 << 0);
+
+        /* Send semaphore from FE to ChipID 1. */
+        logical[8] =
+              ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
+
+        logical[9] =
+              ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8))) | (((gctUINT32) (0x0F & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 27:24) - (0 ? 27:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 27:24) - (0 ? 27:24) + 1))))))) << (0 ? 27:24))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 27:24) - (0 ? 27:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 27:24) - (0 ? 27:24) + 1))))))) << (0 ? 27:24)));
+
+        /* Send semaphore from FE to ChipID 1. */
+        logical[10] =
+              ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)));
+
+        logical[11] =
+              ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8))) | (((gctUINT32) (0x0F & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 27:24) - (0 ? 27:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 27:24) - (0 ? 27:24) + 1))))))) << (0 ? 27:24))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 27:24) - (0 ? 27:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 27:24) - (0 ? 27:24) + 1))))))) << (0 ? 27:24)));
+
+        /*************************************************************/
+        /* Enable chip ID 1. */
+        logical[12] =
+            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x0D & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+            | (1 << 1);
+
+        /* Send semaphore from FE to ChipID 1. */
+        logical[14] =
+              ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
+
+        logical[15] =
+              ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8))) | (((gctUINT32) (0x0F & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 27:24) - (0 ? 27:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 27:24) - (0 ? 27:24) + 1))))))) << (0 ? 27:24))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 27:24) - (0 ? 27:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 27:24) - (0 ? 27:24) + 1))))))) << (0 ? 27:24)));
+
+        /* Wait for semaphore from ChipID 0. */
+        logical[16] =
+              ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)));
+
+        logical[17] =
+              ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8))) | (((gctUINT32) (0x0F & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 27:24) - (0 ? 27:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 27:24) - (0 ? 27:24) + 1))))))) << (0 ? 27:24))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 27:24) - (0 ? 27:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 27:24) - (0 ? 27:24) + 1))))))) << (0 ? 27:24)));
+
+        /*************************************************************/
+        /* Enable all chips. */
+        logical[18] =
+            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x0D & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+            | (0xFFFF);
+
+        /* LoadState(AQFlush, 1), flush. */
+        logical[20]
+            = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E03) & ((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
+
+        logical[21]
+            = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 6:6) - (0 ? 6:6) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ? 6:6))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 6:6) - (0 ? 6:6) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ? 6:6)));
+
+        /* Append LINK(2, address). */
+        logical[22]
+            = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x08 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0))) | (((gctUINT32) ((gctUINT32) (bytes >> 3) & ((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
+
+        logical[23] = address;
+#else
+        /* Append LINK(2, address). */
+        logical[2]
+            = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x08 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0))) | (((gctUINT32) ((gctUINT32) (bytes >> 3) & ((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
+
+        logical[3] = address;
+
+        gcmkTRACE_ZONE(
+            gcvLEVEL_INFO, gcvZONE_HARDWARE,
+            "0x%08x: WAIT %u", address, waitCount
+            );
+
+        gcmkTRACE_ZONE(
+            gcvLEVEL_INFO, gcvZONE_HARDWARE,
+            "0x%08x: LINK 0x%08x, #%lu",
+            address + 8, address, bytes
+            );
+#endif
+
+        if (WaitOffset != gcvNULL)
+        {
+            /* Return the offset pointer to WAIT command. */
+            *WaitOffset = 0;
+        }
+
+        if (WaitSize != gcvNULL)
+        {
+            /* Return number of bytes used by the WAIT command. */
+            *WaitSize = 8;
+        }
+    }
+
+    if (Bytes != gcvNULL)
+    {
+        /* Return number of bytes required by the WAIT/LINK command
+        ** sequence. */
+        *Bytes = bytes;
+    }
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Bytes=%lu *WaitOffset=0x%x *WaitSize=%lu",
+                   gcmOPT_VALUE(Bytes), gcmOPT_VALUE(WaitOffset),
+                   gcmOPT_VALUE(WaitSize));
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckHARDWARE_End
+**
+**  Append an END command at the specified location in the command queue.
+**
+**  INPUT:
+**
+**      gckHARDWARE Hardware
+**          Pointer to an gckHARDWARE object.
+**
+**      gctPOINTER Logical
+**          Pointer to the current location inside the command queue to append
+**          END command at or gcvNULL just to query the size of the END command.
+**
+**      gctSIZE_T * Bytes
+**          Pointer to the number of bytes available for the END command.  If
+**          'Logical' is gcvNULL, this argument will be ignored.
+**
+**  OUTPUT:
+**
+**      gctSIZE_T * Bytes
+**          Pointer to a variable that will receive the number of bytes required
+**          for the END command.  If 'Bytes' is gcvNULL, nothing will be returned.
+*/
+gceSTATUS
+gckHARDWARE_End(
+    IN gckHARDWARE Hardware,
+    IN gctPOINTER Logical,
+    IN OUT gctSIZE_T * Bytes
+    )
+{
+    gctUINT32_PTR logical = (gctUINT32_PTR) Logical;
+    gceSTATUS status;
+
+    gcmkHEADER_ARG("Hardware=0x%x Logical=0x%x *Bytes=%lu",
+                   Hardware, Logical, gcmOPT_VALUE(Bytes));
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+    gcmkVERIFY_ARGUMENT((Logical == gcvNULL) || (Bytes != gcvNULL));
+
+    if (Logical != gcvNULL)
+    {
+        if (*Bytes < 8)
+        {
+            /* Command queue too small. */
+            gcmkONERROR(gcvSTATUS_BUFFER_TOO_SMALL);
+        }
+
+        /* Append END. */
+       logical[0] =
+            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x02 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)));
+
+        gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE, "0x%x: END", Logical);
+
+        /* Make sure the CPU writes out the data to memory. */
+        gcmkONERROR(
+            gckOS_MemoryBarrier(Hardware->os, Logical));
+    }
+
+    if (Bytes != gcvNULL)
+    {
+        /* Return number of bytes required by the END command. */
+        *Bytes = 8;
+    }
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Bytes=%lu", gcmOPT_VALUE(Bytes));
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckHARDWARE_Nop
+**
+**  Append a NOP command at the specified location in the command queue.
+**
+**  INPUT:
+**
+**      gckHARDWARE Hardware
+**          Pointer to an gckHARDWARE object.
+**
+**      gctPOINTER Logical
+**          Pointer to the current location inside the command queue to append
+**          NOP command at or gcvNULL just to query the size of the NOP command.
+**
+**      gctSIZE_T * Bytes
+**          Pointer to the number of bytes available for the NOP command.  If
+**          'Logical' is gcvNULL, this argument will be ignored.
+**
+**  OUTPUT:
+**
+**      gctSIZE_T * Bytes
+**          Pointer to a variable that will receive the number of bytes required
+**          for the NOP command.  If 'Bytes' is gcvNULL, nothing will be returned.
+*/
+gceSTATUS
+gckHARDWARE_Nop(
+    IN gckHARDWARE Hardware,
+    IN gctPOINTER Logical,
+    IN OUT gctSIZE_T * Bytes
+    )
+{
+    gctUINT32_PTR logical = (gctUINT32_PTR) Logical;
+    gceSTATUS status;
+
+    gcmkHEADER_ARG("Hardware=0x%x Logical=0x%x *Bytes=%lu",
+                   Hardware, Logical, gcmOPT_VALUE(Bytes));
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+    gcmkVERIFY_ARGUMENT((Logical == gcvNULL) || (Bytes != gcvNULL));
+
+    if (Logical != gcvNULL)
+    {
+        if (*Bytes < 8)
+        {
+            /* Command queue too small. */
+            gcmkONERROR(gcvSTATUS_BUFFER_TOO_SMALL);
+        }
+
+        /* Append NOP. */
+        logical[0] = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x03 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)));
+
+        gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE, "0x%x: NOP", Logical);
+    }
+
+    if (Bytes != gcvNULL)
+    {
+        /* Return number of bytes required by the NOP command. */
+        *Bytes = 8;
+    }
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Bytes=%lu", gcmOPT_VALUE(Bytes));
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckHARDWARE_Wait
+**
+**  Append a WAIT command at the specified location in the command queue.
+**
+**  INPUT:
+**
+**      gckHARDWARE Hardware
+**          Pointer to an gckHARDWARE object.
+**
+**      gctPOINTER Logical
+**          Pointer to the current location inside the command queue to append
+**          WAIT command at or gcvNULL just to query the size of the WAIT command.
+**
+**      gctUINT32 Count
+**          Number of cycles to wait.
+**
+**      gctSIZE_T * Bytes
+**          Pointer to the number of bytes available for the WAIT command.  If
+**          'Logical' is gcvNULL, this argument will be ignored.
+**
+**  OUTPUT:
+**
+**      gctSIZE_T * Bytes
+**          Pointer to a variable that will receive the number of bytes required
+**          for the NOP command.  If 'Bytes' is gcvNULL, nothing will be returned.
+*/
+gceSTATUS
+gckHARDWARE_Wait(
+    IN gckHARDWARE Hardware,
+    IN gctPOINTER Logical,
+    IN gctUINT32 Count,
+    IN OUT gctSIZE_T * Bytes
+    )
+{
+    gceSTATUS status;
+    gctUINT32_PTR logical;
+
+    gcmkHEADER_ARG("Hardware=0x%x Logical=0x%x Count=%u *Bytes=%lu",
+                   Hardware, Logical, Count, gcmOPT_VALUE(Bytes));
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+    gcmkVERIFY_ARGUMENT((Logical == gcvNULL) || (Bytes != gcvNULL));
+
+    /* Cast the input pointer. */
+    logical = (gctUINT32_PTR) Logical;
+
+    if (Logical != gcvNULL)
+    {
+        if (*Bytes < 8)
+        {
+            /* Command queue too small. */
+            gcmkONERROR(gcvSTATUS_BUFFER_TOO_SMALL);
+        }
+
+        /* Append WAIT. */
+        logical[0] = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+                   | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0))) | (((gctUINT32) ((gctUINT32) (Count) & ((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
+
+#if gcmIS_DEBUG(gcdDEBUG_TRACE)
+        {
+            gctUINT32 address;
+
+            /* Convert logical into hardware specific address. */
+            gcmkONERROR(gckHARDWARE_ConvertLogical(
+                Hardware, logical, &address
+                ));
+
+            gcmkTRACE_ZONE(
+                gcvLEVEL_INFO, gcvZONE_HARDWARE,
+                "0x%08x: WAIT %u", address, Count
+                );
+        }
+#endif
+    }
+
+    if (Bytes != gcvNULL)
+    {
+        /* Return number of bytes required by the WAIT command. */
+        *Bytes = 8;
+    }
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Bytes=%lu", gcmOPT_VALUE(Bytes));
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckHARDWARE_Event
+**
+**  Append an EVENT command at the specified location in the command queue.
+**
+**  INPUT:
+**
+**      gckHARDWARE Hardware
+**          Pointer to an gckHARDWARE object.
+**
+**      gctPOINTER Logical
+**          Pointer to the current location inside the command queue to append
+**          the EVENT command at or gcvNULL just to query the size of the EVENT
+**          command.
+**
+**      gctUINT8 Event
+**          Event ID to program.
+**
+**      gceKERNEL_WHERE FromWhere
+**          Location of the pipe to send the event.
+**
+**      gctSIZE_T * Bytes
+**          Pointer to the number of bytes available for the EVENT command.  If
+**          'Logical' is gcvNULL, this argument will be ignored.
+**
+**  OUTPUT:
+**
+**      gctSIZE_T * Bytes
+**          Pointer to a variable that will receive the number of bytes required
+**          for the EVENT command.  If 'Bytes' is gcvNULL, nothing will be
+**          returned.
+*/
+gceSTATUS
+gckHARDWARE_Event(
+    IN gckHARDWARE Hardware,
+    IN gctPOINTER Logical,
+    IN gctUINT8 Event,
+    IN gceKERNEL_WHERE FromWhere,
+    IN OUT gctSIZE_T * Bytes
+    )
+{
+    gctUINT size;
+    gctUINT32 destination = 0;
+    gctUINT32_PTR logical = (gctUINT32_PTR) Logical;
+    gceSTATUS status;
+
+    gcmkHEADER_ARG("Hardware=0x%x Logical=0x%x Event=%u FromWhere=%d *Bytes=%lu",
+                   Hardware, Logical, Event, FromWhere, gcmOPT_VALUE(Bytes));
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+    gcmkVERIFY_ARGUMENT((Logical == gcvNULL) || (Bytes != gcvNULL));
+    gcmkVERIFY_ARGUMENT(Event < 32);
+
+    /* Determine the size of the command. */
+
+    size = (Hardware->extraEventStates && (FromWhere == gcvKERNEL_PIXEL))
+         ? gcmALIGN(8 + (1 + 5) * 4, 8) /* EVENT + 5 STATES */
+         : 8;
+
+    if (Logical != gcvNULL)
+    {
+        if (*Bytes < size)
+        {
+            /* Command queue too small. */
+            gcmkONERROR(gcvSTATUS_BUFFER_TOO_SMALL);
+        }
+
+        switch (FromWhere)
+        {
+        case gcvKERNEL_COMMAND:
+            /* From command processor. */
+            destination = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 5:5) - (0 ? 5:5) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ? 5:5))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 5:5) - (0 ? 5:5) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ? 5:5)));
+            break;
+
+        case gcvKERNEL_PIXEL:
+            /* From pixel engine. */
+            destination = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 6:6) - (0 ? 6:6) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ? 6:6))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 6:6) - (0 ? 6:6) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ? 6:6)));
+            break;
+
+        default:
+            gcmkONERROR(gcvSTATUS_INVALID_ARGUMENT);
+        }
+
+        /* Append EVENT(Event, destiantion). */
+        logical[0] = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+                   | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E01) & ((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+                   | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
+
+        logical[1] = ((((gctUINT32) (destination)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0))) | (((gctUINT32) ((gctUINT32) (Event) & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)));
+
+        /* Make sure the event ID gets written out before GPU can access it. */
+        gcmkONERROR(
+            gckOS_MemoryBarrier(Hardware->os, logical + 1));
+
+#if gcmIS_DEBUG(gcdDEBUG_TRACE)
+        {
+            gctUINT32 phys;
+            gckOS_GetPhysicalAddress(Hardware->os, Logical, &phys);
+            gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
+                           "0x%08x: EVENT %d", phys, Event);
+        }
+#endif
+
+        /* Append the extra states. These are needed for the chips that do not
+        ** support back-to-back events due to the async interface. The extra
+        ** states add the necessary delay to ensure that event IDs do not
+        ** collide. */
+        if (size > 8)
+        {
+            logical[2] = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+                       | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0))) | (((gctUINT32) ((gctUINT32) (0x0100) & ((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+                       | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (5) & ((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
+            logical[3] = 0;
+            logical[4] = 0;
+            logical[5] = 0;
+            logical[6] = 0;
+            logical[7] = 0;
+        }
+    }
+
+    if (Bytes != gcvNULL)
+    {
+        /* Return number of bytes required by the EVENT command. */
+        *Bytes = size;
+    }
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Bytes=%lu", gcmOPT_VALUE(Bytes));
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckHARDWARE_PipeSelect
+**
+**  Append a PIPESELECT command at the specified location in the command queue.
+**
+**  INPUT:
+**
+**      gckHARDWARE Hardware
+**          Pointer to an gckHARDWARE object.
+**
+**      gctPOINTER Logical
+**          Pointer to the current location inside the command queue to append
+**          the PIPESELECT command at or gcvNULL just to query the size of the
+**          PIPESELECT command.
+**
+**      gcePIPE_SELECT Pipe
+**          Pipe value to select.
+**
+**      gctSIZE_T * Bytes
+**          Pointer to the number of bytes available for the PIPESELECT command.
+**          If 'Logical' is gcvNULL, this argument will be ignored.
+**
+**  OUTPUT:
+**
+**      gctSIZE_T * Bytes
+**          Pointer to a variable that will receive the number of bytes required
+**          for the PIPESELECT command.  If 'Bytes' is gcvNULL, nothing will be
+**          returned.
+*/
+gceSTATUS
+gckHARDWARE_PipeSelect(
+    IN gckHARDWARE Hardware,
+    IN gctPOINTER Logical,
+    IN gcePIPE_SELECT Pipe,
+    IN OUT gctSIZE_T * Bytes
+    )
+{
+    gctUINT32_PTR logical = (gctUINT32_PTR) Logical;
+    gceSTATUS status;
+
+    gcmkHEADER_ARG("Hardware=0x%x Logical=0x%x Pipe=%d *Bytes=%lu",
+                   Hardware, Logical, Pipe, gcmOPT_VALUE(Bytes));
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+    gcmkVERIFY_ARGUMENT((Logical == gcvNULL) || (Bytes != gcvNULL));
+
+    /* Append a PipeSelect. */
+    if (Logical != gcvNULL)
+    {
+        gctUINT32 flush, stall;
+
+        if (*Bytes < 32)
+        {
+            /* Command queue too small. */
+            gcmkONERROR(gcvSTATUS_BUFFER_TOO_SMALL);
+        }
+
+        flush = (Pipe == gcvPIPE_2D)
+              ? ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 1:1) - (0 ? 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 1:1) - (0 ? 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1)))
+              | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)))
+              : ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 3:3) - (0 ? 3:3) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ? 3:3))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 3:3) - (0 ? 3:3) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ? 3:3)));
+
+        stall = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
+              | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
+
+        /* LoadState(AQFlush, 1), flush. */
+        logical[0]
+            = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E03) & ((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
+
+        logical[1]
+            = flush;
+
+        gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
+                       "0x%x: FLUSH 0x%x", logical, flush);
+
+        /* LoadState(AQSempahore, 1), stall. */
+        logical[2]
+            = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
+
+        logical[3]
+            = stall;
+
+        gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
+                       "0x%x: SEMAPHORE 0x%x", logical + 2, stall);
+
+        /* Stall, stall. */
+        logical[4] = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)));
+        logical[5] = stall;
+
+        gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
+                       "0x%x: STALL 0x%x", logical + 4, stall);
+
+        /* LoadState(AQPipeSelect, 1), pipe. */
+        logical[6]
+            = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E00) & ((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
+
+        logical[7] = (Pipe == gcvPIPE_2D)
+            ? 0x1
+            : 0x0;
+
+        gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
+                       "0x%x: PIPE %d", logical + 6, Pipe);
+    }
+
+    if (Bytes != gcvNULL)
+    {
+        /* Return number of bytes required by the PIPESELECT command. */
+        *Bytes = 32;
+    }
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Bytes=%lu", gcmOPT_VALUE(Bytes));
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckHARDWARE_Link
+**
+**  Append a LINK command at the specified location in the command queue.
+**
+**  INPUT:
+**
+**      gckHARDWARE Hardware
+**          Pointer to an gckHARDWARE object.
+**
+**      gctPOINTER Logical
+**          Pointer to the current location inside the command queue to append
+**          the LINK command at or gcvNULL just to query the size of the LINK
+**          command.
+**
+**      gctPOINTER FetchAddress
+**          Logical address of destination of LINK.
+**
+**      gctSIZE_T FetchSize
+**          Number of bytes in destination of LINK.
+**
+**      gctSIZE_T * Bytes
+**          Pointer to the number of bytes available for the LINK command.  If
+**          'Logical' is gcvNULL, this argument will be ignored.
+**
+**  OUTPUT:
+**
+**      gctSIZE_T * Bytes
+**          Pointer to a variable that will receive the number of bytes required
+**          for the LINK command.  If 'Bytes' is gcvNULL, nothing will be returned.
+*/
+gceSTATUS
+gckHARDWARE_Link(
+    IN gckHARDWARE Hardware,
+    IN gctPOINTER Logical,
+    IN gctPOINTER FetchAddress,
+    IN gctSIZE_T FetchSize,
+    IN OUT gctSIZE_T * Bytes
+    )
+{
+    gceSTATUS status;
+    gctSIZE_T bytes;
+    gctUINT32 address;
+    gctUINT32 link;
+    gctUINT32_PTR logical = (gctUINT32_PTR) Logical;
+
+    gcmkHEADER_ARG("Hardware=0x%x Logical=0x%x FetchAddress=0x%x FetchSize=%lu "
+                   "*Bytes=%lu",
+                   Hardware, Logical, FetchAddress, FetchSize,
+                   gcmOPT_VALUE(Bytes));
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+    gcmkVERIFY_ARGUMENT((Logical == gcvNULL) || (Bytes != gcvNULL));
+
+    if (Logical != gcvNULL)
+    {
+        if (*Bytes < 8)
+        {
+            /* Command queue too small. */
+            gcmkONERROR(gcvSTATUS_BUFFER_TOO_SMALL);
+        }
+
+        /* Convert logical address to hardware address. */
+        gcmkONERROR(
+            gckHARDWARE_ConvertLogical(Hardware, FetchAddress, &address));
+
+        gcmkONERROR(
+            gckOS_WriteMemory(Hardware->os, logical + 1, address));
+
+        /* Make sure the address got written before the LINK command. */
+        gcmkONERROR(
+            gckOS_MemoryBarrier(Hardware->os, logical + 1));
+
+        /* Compute number of 64-byte aligned bytes to fetch. */
+        bytes = gcmALIGN(address + FetchSize, 64) - address;
+
+        /* Append LINK(bytes / 8), FetchAddress. */
+        link = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x08 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0))) | (((gctUINT32) ((gctUINT32) (bytes >> 3) & ((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
+
+        gcmkONERROR(
+            gckOS_WriteMemory(Hardware->os, logical, link));
+
+        /* Memory barrier. */
+        gcmkONERROR(
+            gckOS_MemoryBarrier(Hardware->os, logical));
+
+#if gcdLINK_QUEUE_SIZE && gcdVIRTUAL_COMMAND_BUFFER
+        if (address >= 0x80000000)
+        {
+            gckLINKQUEUE_Enqueue(&Hardware->linkQueue, address, address + bytes);
+        }
+#endif
+    }
+
+    if (Bytes != gcvNULL)
+    {
+        /* Return number of bytes required by the LINK command. */
+        *Bytes = 8;
+    }
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Bytes=%lu", gcmOPT_VALUE(Bytes));
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckHARDWARE_UpdateQueueTail
+**
+**  Update the tail of the command queue.
+**
+**  INPUT:
+**
+**      gckHARDWARE Hardware
+**          Pointer to an gckHARDWARE object.
+**
+**      gctPOINTER Logical
+**          Logical address of the start of the command queue.
+**
+**      gctUINT32 Offset
+**          Offset into the command queue of the tail (last command).
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckHARDWARE_UpdateQueueTail(
+    IN gckHARDWARE Hardware,
+    IN gctPOINTER Logical,
+    IN gctUINT32 Offset
+    )
+{
+    gceSTATUS status;
+
+    gcmkHEADER_ARG("Hardware=0x%x Logical=0x%x Offset=0x%08x",
+                   Hardware, Logical, Offset);
+
+    /* Verify the hardware. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+
+    /* Force a barrier. */
+    gcmkONERROR(
+        gckOS_MemoryBarrier(Hardware->os, Logical));
+
+    /* Notify gckKERNEL object of change. */
+    gcmkONERROR(
+        gckKERNEL_Notify(Hardware->kernel,
+                         gcvNOTIFY_COMMAND_QUEUE,
+                         gcvFALSE));
+
+    if (status == gcvSTATUS_CHIP_NOT_READY)
+    {
+        gcmkONERROR(gcvSTATUS_GPU_NOT_RESPONDING);
+    }
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckHARDWARE_ConvertLogical
+**
+**  Convert a logical system address into a hardware specific address.
+**
+**  INPUT:
+**
+**      gckHARDWARE Hardware
+**          Pointer to an gckHARDWARE object.
+**
+**      gctPOINTER Logical
+**          Logical address to convert.
+**
+**      gctUINT32* Address
+**          Return hardware specific address.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckHARDWARE_ConvertLogical(
+    IN gckHARDWARE Hardware,
+    IN gctPOINTER Logical,
+    OUT gctUINT32 * Address
+    )
+{
+    gctUINT32 address;
+    gceSTATUS status;
+    gctUINT32 baseAddress;
+
+    gcmkHEADER_ARG("Hardware=0x%x Logical=0x%x", Hardware, Logical);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+    gcmkVERIFY_ARGUMENT(Logical != gcvNULL);
+    gcmkVERIFY_ARGUMENT(Address != gcvNULL);
+
+#if gcdVIRTUAL_COMMAND_BUFFER
+    status = gckKERNEL_GetGPUAddress(Hardware->kernel, Logical, Address);
+
+    if (status == gcvSTATUS_INVALID_ADDRESS)
+#endif
+    {
+        /* Convert logical address into a physical address. */
+        gcmkONERROR(
+            gckOS_GetPhysicalAddress(Hardware->os, Logical, &address));
+
+        /* For old MMU, get GPU address according to baseAddress. */
+        if (Hardware->mmuVersion == 0)
+        {
+            gcmkONERROR(gckOS_GetBaseAddress(Hardware->os, &baseAddress));
+
+            /* Subtract base address to get a GPU address. */
+            gcmkASSERT(address >= baseAddress);
+            address -= baseAddress;
+        }
+
+        /* Return hardware specific address. */
+        *Address = (Hardware->mmuVersion == 0)
+                 ? ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:31) - (0 ? 31:31) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:31) - (0 ? 31:31) + 1))))))) << (0 ? 31:31))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 31:31) - (0 ? 31:31) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:31) - (0 ? 31:31) + 1))))))) << (0 ? 31:31)))
+                   | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 30:0) - (0 ? 30:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 30:0) - (0 ? 30:0) + 1))))))) << (0 ? 30:0))) | (((gctUINT32) ((gctUINT32) (address) & ((gctUINT32) ((((1 ? 30:0) - (0 ? 30:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 30:0) - (0 ? 30:0) + 1))))))) << (0 ? 30:0)))
+                 : address;
+    }
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Address=0x%08x", *Address);
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckHARDWARE_ConvertPhysical
+**
+**  Convert a physical address into a hardware specific address.
+**
+**  INPUT:
+**
+**      gckHARDWARE Hardware
+**          Pointer to an gckHARDWARE object.
+**
+**      gctPHYS_ADDR Physical
+**          Physical address to convert.
+**
+**      gctUINT32* Address
+**          Return hardware specific address.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckHARDWARE_ConvertPhysical(
+    IN gckHARDWARE Hardware,
+    IN gctPHYS_ADDR Physical,
+    OUT gctUINT32 * Address
+    )
+{
+    gctUINT32 address;
+    gctUINT32 baseAddress;
+
+    gcmkHEADER_ARG("Hardware=0x%x Physical=0x%x", Hardware, Physical);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+    gcmkVERIFY_ARGUMENT(Physical != gcvNULL);
+    gcmkVERIFY_ARGUMENT(Address != gcvNULL);
+
+    address = gcmPTR2INT(Physical);
+
+    /* For old MMU, get GPU address according to baseAddress. */
+    if (Hardware->mmuVersion == 0)
+    {
+        gcmkVERIFY_OK(gckOS_GetBaseAddress(Hardware->os, &baseAddress));
+
+        /* Subtract base address to get a GPU address. */
+        gcmkASSERT(address >= baseAddress);
+        address -= baseAddress;
+    }
+
+    /* Return hardware specific address. */
+    *Address = (Hardware->mmuVersion == 0)
+             ? ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:31) - (0 ? 31:31) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:31) - (0 ? 31:31) + 1))))))) << (0 ? 31:31))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 31:31) - (0 ? 31:31) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:31) - (0 ? 31:31) + 1))))))) << (0 ? 31:31)))
+               | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 30:0) - (0 ? 30:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 30:0) - (0 ? 30:0) + 1))))))) << (0 ? 30:0))) | (((gctUINT32) ((gctUINT32) (address) & ((gctUINT32) ((((1 ? 30:0) - (0 ? 30:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 30:0) - (0 ? 30:0) + 1))))))) << (0 ? 30:0)))
+             : address;
+
+    /* Return the status. */
+    gcmkFOOTER_ARG("*Address=0x%08x", *Address);
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckHARDWARE_Interrupt
+**
+**  Process an interrupt.
+**
+**  INPUT:
+**
+**      gckHARDWARE Hardware
+**          Pointer to an gckHARDWARE object.
+**
+**      gctBOOL InterruptValid
+**          If gcvTRUE, this function will read the interrupt acknowledge
+**          register, stores the data, and return whether or not the interrupt
+**          is ours or not.  If gcvFALSE, this functions will read the interrupt
+**          acknowledge register and combine it with any stored value to handle
+**          the event notifications.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckHARDWARE_Interrupt(
+    IN gckHARDWARE Hardware,
+    IN gctBOOL InterruptValid
+    )
+{
+    gckEVENT eventObj;
+    gctUINT32 data;
+    gceSTATUS status;
+
+    gcmkHEADER_ARG("Hardware=0x%x InterruptValid=%d", Hardware, InterruptValid);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+
+    /* Extract gckEVENT object. */
+    eventObj = Hardware->kernel->eventObj;
+    gcmkVERIFY_OBJECT(eventObj, gcvOBJ_EVENT);
+
+    if (InterruptValid)
+    {
+        /* Read AQIntrAcknowledge register. */
+        gcmkONERROR(
+            gckOS_ReadRegisterEx(Hardware->os,
+                                 Hardware->core,
+                                 0x00010,
+                                 &data));
+
+        if (data == 0)
+        {
+            /* Not our interrupt. */
+            status = gcvSTATUS_NOT_OUR_INTERRUPT;
+        }
+        else
+        {
+            /* Inform gckEVENT of the interrupt. */
+            status = gckEVENT_Interrupt(eventObj, data);
+        }
+    }
+    else
+    {
+        /* Handle events. */
+        status = gckEVENT_Notify(eventObj, 0);
+    }
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckHARDWARE_QueryCommandBuffer
+**
+**  Query the command buffer alignment and number of reserved bytes.
+**
+**  INPUT:
+**
+**      gckHARDWARE Harwdare
+**          Pointer to an gckHARDWARE object.
+**
+**  OUTPUT:
+**
+**      gctSIZE_T * Alignment
+**          Pointer to a variable receiving the alignment for each command.
+**
+**      gctSIZE_T * ReservedHead
+**          Pointer to a variable receiving the number of reserved bytes at the
+**          head of each command buffer.
+**
+**      gctSIZE_T * ReservedTail
+**          Pointer to a variable receiving the number of bytes reserved at the
+**          tail of each command buffer.
+*/
+gceSTATUS
+gckHARDWARE_QueryCommandBuffer(
+    IN gckHARDWARE Hardware,
+    OUT gctSIZE_T * Alignment,
+    OUT gctSIZE_T * ReservedHead,
+    OUT gctSIZE_T * ReservedTail
+    )
+{
+    gcmkHEADER_ARG("Hardware=0x%x", Hardware);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+
+    if (Alignment != gcvNULL)
+    {
+        /* Align every 8 bytes. */
+        *Alignment = 8;
+    }
+
+    if (ReservedHead != gcvNULL)
+    {
+        /* Reserve space for SelectPipe(). */
+        *ReservedHead = 32;
+    }
+
+    if (ReservedTail != gcvNULL)
+    {
+        /* Reserve space for Link(). */
+        *ReservedTail = 8;
+    }
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Alignment=%lu *ReservedHead=%lu *ReservedTail=%lu",
+                   gcmOPT_VALUE(Alignment), gcmOPT_VALUE(ReservedHead),
+                   gcmOPT_VALUE(ReservedTail));
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckHARDWARE_QuerySystemMemory
+**
+**  Query the command buffer alignment and number of reserved bytes.
+**
+**  INPUT:
+**
+**      gckHARDWARE Harwdare
+**          Pointer to an gckHARDWARE object.
+**
+**  OUTPUT:
+**
+**      gctSIZE_T * SystemSize
+**          Pointer to a variable that receives the maximum size of the system
+**          memory.
+**
+**      gctUINT32 * SystemBaseAddress
+**          Poinetr to a variable that receives the base address for system
+**          memory.
+*/
+gceSTATUS
+gckHARDWARE_QuerySystemMemory(
+    IN gckHARDWARE Hardware,
+    OUT gctSIZE_T * SystemSize,
+    OUT gctUINT32 * SystemBaseAddress
+    )
+{
+    gcmkHEADER_ARG("Hardware=0x%x", Hardware);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+
+    if (SystemSize != gcvNULL)
+    {
+        /* Maximum system memory can be 2GB. */
+        *SystemSize = 1U << 31;
+    }
+
+    if (SystemBaseAddress != gcvNULL)
+    {
+        /* Set system memory base address. */
+        *SystemBaseAddress = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:31) - (0 ? 31:31) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:31) - (0 ? 31:31) + 1))))))) << (0 ? 31:31))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 31:31) - (0 ? 31:31) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:31) - (0 ? 31:31) + 1))))))) << (0 ? 31:31)));
+    }
+
+    /* Success. */
+    gcmkFOOTER_ARG("*SystemSize=%lu *SystemBaseAddress=%lu",
+                   gcmOPT_VALUE(SystemSize), gcmOPT_VALUE(SystemBaseAddress));
+    return gcvSTATUS_OK;
+}
+
+#ifndef VIVANTE_NO_3D
+/*******************************************************************************
+**
+**  gckHARDWARE_QueryShaderCaps
+**
+**  Query the shader capabilities.
+**
+**  INPUT:
+**
+**      Nothing.
+**
+**  OUTPUT:
+**
+**      gctUINT * VertexUniforms
+**          Pointer to a variable receiving the number of uniforms in the vertex
+**          shader.
+**
+**      gctUINT * FragmentUniforms
+**          Pointer to a variable receiving the number of uniforms in the
+**          fragment shader.
+**
+**      gctUINT * Varyings
+**          Pointer to a variable receiving the maimum number of varyings.
+*/
+gceSTATUS
+gckHARDWARE_QueryShaderCaps(
+    IN gckHARDWARE Hardware,
+    OUT gctUINT * VertexUniforms,
+    OUT gctUINT * FragmentUniforms,
+    OUT gctUINT * Varyings
+    )
+{
+    gctUINT32 vsConstMax;
+    gctUINT32 psConstMax;
+
+    gcmkHEADER_ARG("Hardware=0x%x VertexUniforms=0x%x "
+                   "FragmentUniforms=0x%x Varyings=0x%x",
+                   Hardware, VertexUniforms,
+                   FragmentUniforms, Varyings);
+
+    if ((Hardware->identity.chipModel == gcv2000)
+     && (Hardware->identity.chipRevision == 0x5118))
+    {
+        vsConstMax   = 256;
+        psConstMax   = 64;
+    }
+    else if (Hardware->identity.numConstants > 256)
+    {
+        vsConstMax   = 256;
+        psConstMax   = 256;
+    }
+    else if (Hardware->identity.numConstants == 256)
+    {
+        vsConstMax   = 256;
+        psConstMax   = 256;
+    }
+    else
+    {
+        vsConstMax   = 168;
+        psConstMax   = 64;
+    }
+
+    if (VertexUniforms != gcvNULL)
+    {
+        *VertexUniforms = vsConstMax;
+    }
+
+    if (FragmentUniforms != gcvNULL)
+    {
+        *FragmentUniforms = psConstMax;
+    }
+
+    if (Varyings != gcvNULL)
+    {
+               /* Return the shader varyings count. */
+        *Varyings = Hardware->identity.varyingsCount;
+    }
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+#endif
+
+/*******************************************************************************
+**
+**  gckHARDWARE_SetMMU
+**
+**  Set the page table base address.
+**
+**  INPUT:
+**
+**      gckHARDWARE Harwdare
+**          Pointer to an gckHARDWARE object.
+**
+**      gctPOINTER Logical
+**          Logical address of the page table.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckHARDWARE_SetMMU(
+    IN gckHARDWARE Hardware,
+    IN gctPOINTER Logical
+    )
+{
+    gceSTATUS status;
+    gctUINT32 address = 0;
+    gctUINT32 baseAddress;
+
+    gcmkHEADER_ARG("Hardware=0x%x Logical=0x%x", Hardware, Logical);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+    gcmkVERIFY_ARGUMENT(Logical != gcvNULL);
+
+    /* Convert the logical address into an hardware address. */
+    gcmkONERROR(
+        gckHARDWARE_ConvertLogical(Hardware, Logical, &address));
+
+    /* Also get the base address - we need a real physical address. */
+    gcmkONERROR(
+        gckOS_GetBaseAddress(Hardware->os, &baseAddress));
+
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
+                   "Setting page table to 0x%08X",
+                   address + baseAddress);
+
+    /* Write the AQMemoryFePageTable register. */
+    gcmkONERROR(
+        gckOS_WriteRegisterEx(Hardware->os,
+                              Hardware->core,
+                              0x00400,
+                              address + baseAddress));
+
+    /* Write the AQMemoryRaPageTable register. */
+    gcmkONERROR(
+        gckOS_WriteRegisterEx(Hardware->os,
+                              Hardware->core,
+                              0x00410,
+                              address + baseAddress));
+
+    /* Write the AQMemoryTxPageTable register. */
+    gcmkONERROR(
+        gckOS_WriteRegisterEx(Hardware->os,
+                              Hardware->core,
+                              0x00404,
+                              address + baseAddress));
+
+
+    /* Write the AQMemoryPePageTable register. */
+    gcmkONERROR(
+        gckOS_WriteRegisterEx(Hardware->os,
+                              Hardware->core,
+                              0x00408,
+                              address + baseAddress));
+
+    /* Write the AQMemoryPezPageTable register. */
+    gcmkONERROR(
+        gckOS_WriteRegisterEx(Hardware->os,
+                              Hardware->core,
+                              0x0040C,
+                              address + baseAddress));
+
+    /* Return the status. */
+    gcmkFOOTER_NO();
+    return status;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckHARDWARE_FlushMMU
+**
+**  Flush the page table.
+**
+**  INPUT:
+**
+**      gckHARDWARE Harwdare
+**          Pointer to an gckHARDWARE object.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckHARDWARE_FlushMMU(
+    IN gckHARDWARE Hardware
+    )
+{
+    gceSTATUS status;
+    gckCOMMAND command;
+    gctUINT32_PTR buffer;
+    gctSIZE_T bufferSize;
+    gctBOOL commitEntered = gcvFALSE;
+    gctPOINTER pointer = gcvNULL;
+    gctUINT32 flushSize;
+    gctUINT32 count;
+    gctUINT32 physical;
+
+    gcmkHEADER_ARG("Hardware=0x%x", Hardware);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+
+    /* Verify the gckCOMMAND object pointer. */
+    command = Hardware->kernel->command;
+
+    /* Acquire the command queue. */
+    gcmkONERROR(gckCOMMAND_EnterCommit(command, gcvFALSE));
+    commitEntered = gcvTRUE;
+
+    /* Flush the memory controller. */
+    if (Hardware->mmuVersion == 0)
+    {
+        gcmkONERROR(gckCOMMAND_Reserve(
+            command, 8, &pointer, &bufferSize
+            ));
+
+        buffer = (gctUINT32_PTR) pointer;
+
+        buffer[0]
+            = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E04) & ((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
+
+        buffer[1]
+            = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 1:1) - (0 ? 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 1:1) - (0 ? 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 2:2) - (0 ? 2:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ? 2:2))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 2:2) - (0 ? 2:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ? 2:2)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 3:3) - (0 ? 3:3) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ? 3:3))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 3:3) - (0 ? 3:3) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ? 3:3)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 4:4) - (0 ? 4:4) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ? 4:4))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 4:4) - (0 ? 4:4) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ? 4:4)));
+
+        gcmkONERROR(gckCOMMAND_Execute(command, 8));
+    }
+    else
+    {
+        flushSize =  16 * 4;
+
+        gcmkONERROR(gckCOMMAND_Reserve(
+            command, flushSize, &pointer, &bufferSize
+            ));
+
+        buffer = (gctUINT32_PTR) pointer;
+
+        count = (bufferSize - flushSize + 7) >> 3;
+
+        gcmkONERROR(gckOS_GetPhysicalAddress(command->os, buffer, &physical));
+
+        /* Flush cache. */
+        buffer[0]
+            = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E03) & ((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
+
+        buffer[1]
+            = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 3:3) - (0 ? 3:3) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ? 3:3))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 3:3) - (0 ? 3:3) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ? 3:3)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 1:1) - (0 ? 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 1:1) - (0 ? 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 2:2) - (0 ? 2:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ? 2:2))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 2:2) - (0 ? 2:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ? 2:2)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 4:4) - (0 ? 4:4) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ? 4:4))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 4:4) - (0 ? 4:4) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ? 4:4)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 5:5) - (0 ? 5:5) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ? 5:5))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 5:5) - (0 ? 5:5) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ? 5:5)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 6:6) - (0 ? 6:6) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ? 6:6))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 6:6) - (0 ? 6:6) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ? 6:6)));
+
+        /* Arm the PE-FE Semaphore. */
+        buffer[2]
+            = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
+
+        buffer[3]
+            = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
+
+        /* STALL FE until PE is done flushing. */
+        buffer[4]
+            = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)));
+
+        buffer[5]
+            = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
+
+        /* LINK to next slot to flush FE FIFO. */
+        buffer[6]
+            = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x08 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0))) | (((gctUINT32) ((gctUINT32) (4) & ((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
+
+        buffer[7]
+            = physical + 8 * gcmSIZEOF(gctUINT32);
+
+        /* Flush MMU cache. */
+        buffer[8]
+            = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0))) | (((gctUINT32) ((gctUINT32) (0x0061) & ((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
+
+        buffer[9]
+            = (((((gctUINT32) (~0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 4:4) - (0 ? 4:4) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ? 4:4))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 4:4) - (0 ? 4:4) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ? 4:4))) &  ((((gctUINT32) (~0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 7:7) - (0 ? 7:7) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ? 7:7))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 7:7) - (0 ? 7:7) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ? 7:7))));
+
+        /* Arm the PE-FE Semaphore. */
+        buffer[10]
+            = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
+
+        buffer[11]
+            = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
+
+        /* STALL FE until PE is done flushing. */
+        buffer[12]
+            = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)));
+
+        buffer[13]
+            = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
+
+        /* LINK to next slot to flush FE FIFO. */
+        buffer[14]
+            = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x08 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0))) | (((gctUINT32) ((gctUINT32) (count) & ((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
+
+        buffer[15]
+            = physical + flushSize;
+
+        gcmkONERROR(gckCOMMAND_Execute(command, flushSize));
+    }
+
+    /* Release the command queue. */
+    gcmkONERROR(gckCOMMAND_ExitCommit(command, gcvFALSE));
+    commitEntered = gcvFALSE;
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    if (commitEntered)
+    {
+        /* Release the command queue mutex. */
+        gcmkVERIFY_OK(gckCOMMAND_ExitCommit(Hardware->kernel->command,
+                                            gcvFALSE));
+    }
+
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckHARDWARE_SetMMUv2
+**
+**  Set the page table base address.
+**
+**  INPUT:
+**
+**      gckHARDWARE Harwdare
+**          Pointer to an gckHARDWARE object.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckHARDWARE_SetMMUv2(
+    IN gckHARDWARE Hardware,
+    IN gctBOOL Enable,
+    IN gctPOINTER MtlbAddress,
+    IN gceMMU_MODE Mode,
+    IN gctPOINTER SafeAddress,
+    IN gctBOOL FromPower
+    )
+{
+    gceSTATUS status;
+    gctUINT32 config, address;
+    gckCOMMAND command;
+    gctUINT32_PTR buffer;
+    gctSIZE_T bufferSize;
+    gctBOOL commitEntered = gcvFALSE;
+    gctPOINTER pointer = gcvNULL;
+    gctBOOL acquired = gcvFALSE;
+    gctBOOL config2D;
+    gctSIZE_T configSize;
+
+    gcmkHEADER_ARG("Hardware=0x%x Enable=%d", Hardware, Enable);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+
+    config2D =  gckHARDWARE_IsFeatureAvailable(Hardware, gcvFEATURE_PIPE_3D)
+             && gckHARDWARE_IsFeatureAvailable(Hardware, gcvFEATURE_PIPE_2D);
+
+    configSize = 4 * 4;
+
+    if (config2D)
+    {
+        configSize +=
+            /* Pipe Select. */
+            4 * 4
+            /* Configure MMU States. */
+          + 4 * 4;
+    }
+
+    /* Convert logical address into physical address. */
+    gcmkONERROR(
+        gckOS_GetPhysicalAddress(Hardware->os, MtlbAddress, &config));
+
+    gcmkONERROR(
+        gckOS_GetPhysicalAddress(Hardware->os, SafeAddress, &address));
+
+    if (address & 0x3F)
+    {
+        gcmkONERROR(gcvSTATUS_NOT_ALIGNED);
+    }
+
+    switch (Mode)
+    {
+    case gcvMMU_MODE_1K:
+        if (config & 0x3FF)
+        {
+            gcmkONERROR(gcvSTATUS_NOT_ALIGNED);
+        }
+
+        config |= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
+
+        break;
+
+    case gcvMMU_MODE_4K:
+        if (config & 0xFFF)
+        {
+            gcmkONERROR(gcvSTATUS_NOT_ALIGNED);
+        }
+
+        config |= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
+
+        break;
+
+    default:
+        gcmkONERROR(gcvSTATUS_INVALID_ARGUMENT);
+    }
+
+    /* Verify the gckCOMMAND object pointer. */
+    command = Hardware->kernel->command;
+
+    /* Acquire the command queue. */
+    gcmkONERROR(gckCOMMAND_EnterCommit(command, FromPower));
+    commitEntered = gcvTRUE;
+
+    gcmkONERROR(gckCOMMAND_Reserve(
+        command, configSize, &pointer, &bufferSize
+        ));
+
+    buffer = pointer;
+
+    buffer[0]
+        = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0))) | (((gctUINT32) ((gctUINT32) (0x0061) & ((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
+
+    buffer[1] = config;
+
+    buffer[2]
+        = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0))) | (((gctUINT32) ((gctUINT32) (0x0060) & ((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
+
+    buffer[3] = address;
+
+    if (config2D)
+    {
+        /* LoadState(AQPipeSelect, 1), pipe. */
+        buffer[4]
+            = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E00) & ((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
+
+        buffer[5] = 0x1;
+
+        buffer[6]
+            = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0))) | (((gctUINT32) ((gctUINT32) (0x0061) & ((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
+
+        buffer[7] = config;
+
+        buffer[8]
+            = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0))) | (((gctUINT32) ((gctUINT32) (0x0060) & ((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
+
+        buffer[9] = address;
+
+        /* LoadState(AQPipeSelect, 1), pipe. */
+        buffer[10]
+            = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E00) & ((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+            | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
+
+        buffer[11] = 0x0;
+    }
+
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
+        "Setup MMU: config=%08x, Safe Address=%08x\n.", config, address);
+
+    gcmkONERROR(gckCOMMAND_Execute(command, configSize));
+
+    if (FromPower == gcvFALSE)
+    {
+        /* Acquire global semaphore to suspend power management until MMU
+        ** is enabled. And acquired it before gckCOMMAND_ExitCommit to
+        ** make sure GPU keeps ON. */
+        gcmkONERROR(
+            gckOS_AcquireSemaphore(Hardware->os, Hardware->globalSemaphore));
+
+        acquired = gcvTRUE;
+    }
+
+    /* Release the command queue. */
+    gcmkONERROR(gckCOMMAND_ExitCommit(command, FromPower));
+    commitEntered = gcvFALSE;
+
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
+        "call gckCOMMAND_Stall to make sure the config is done.\n ");
+
+    gcmkONERROR(gckCOMMAND_Stall(command, FromPower));
+
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
+        "Enable MMU through GCREG_MMU_CONTROL.");
+
+    /* Enable MMU. */
+    gcmkONERROR(
+        gckOS_WriteRegisterEx(Hardware->os,
+                              Hardware->core,
+                              0x0018C,
+                              ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0))) | (((gctUINT32) ((gctUINT32) (Enable) & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)))));
+
+    if (FromPower == gcvFALSE)
+    {
+        /* Relase global semaphore. */
+        gcmkVERIFY_OK(
+            gckOS_ReleaseSemaphore(Hardware->os, Hardware->globalSemaphore));
+
+        acquired = gcvFALSE;
+    }
+
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
+        "call gckCOMMAND_Stall to check MMU available.\n");
+
+    gcmkONERROR(gckCOMMAND_Stall(command, FromPower));
+
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
+        "The MMU is available.\n");
+
+    /* Return the status. */
+    gcmkFOOTER_NO();
+    return status;
+
+OnError:
+    if (commitEntered)
+    {
+        /* Release the command queue mutex. */
+        gcmkVERIFY_OK(gckCOMMAND_ExitCommit(Hardware->kernel->command,
+                                            FromPower));
+    }
+
+    if (acquired)
+    {
+        gcmkVERIFY_OK(
+            gckOS_ReleaseSemaphore(Hardware->os, Hardware->globalSemaphore));
+    }
+
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckHARDWARE_BuildVirtualAddress
+**
+**  Build a virtual address.
+**
+**  INPUT:
+**
+**      gckHARDWARE Harwdare
+**          Pointer to an gckHARDWARE object.
+**
+**      gctUINT32 Index
+**          Index into page table.
+**
+**      gctUINT32 Offset
+**          Offset into page.
+**
+**  OUTPUT:
+**
+**      gctUINT32 * Address
+**          Pointer to a variable receiving te hardware address.
+*/
+gceSTATUS
+gckHARDWARE_BuildVirtualAddress(
+    IN gckHARDWARE Hardware,
+    IN gctUINT32 Index,
+    IN gctUINT32 Offset,
+    OUT gctUINT32 * Address
+    )
+{
+    gcmkHEADER_ARG("Hardware=0x%x Index=%u Offset=%u", Hardware, Index, Offset);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+    gcmkVERIFY_ARGUMENT(Address != gcvNULL);
+
+    /* Build virtual address. */
+    *Address = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:31) - (0 ? 31:31) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:31) - (0 ? 31:31) + 1))))))) << (0 ? 31:31))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 31:31) - (0 ? 31:31) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:31) - (0 ? 31:31) + 1))))))) << (0 ? 31:31)))
+             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 30:0) - (0 ? 30:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 30:0) - (0 ? 30:0) + 1))))))) << (0 ? 30:0))) | (((gctUINT32) ((gctUINT32) (Offset | (Index << 12)) & ((gctUINT32) ((((1 ? 30:0) - (0 ? 30:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 30:0) - (0 ? 30:0) + 1))))))) << (0 ? 30:0)));
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Address=0x%08x", *Address);
+    return gcvSTATUS_OK;
+}
+
+gceSTATUS
+gckHARDWARE_GetIdle(
+    IN gckHARDWARE Hardware,
+    IN gctBOOL Wait,
+    OUT gctUINT32 * Data
+    )
+{
+    gceSTATUS status;
+    gctUINT32 idle = 0;
+    gctINT retry, poll, pollCount;
+
+    gcmkHEADER_ARG("Hardware=0x%x Wait=%d", Hardware, Wait);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+    gcmkVERIFY_ARGUMENT(Data != gcvNULL);
+
+
+    /* If we have to wait, try 100 polls per millisecond. */
+    pollCount = Wait ? 100 : 1;
+
+    /* At most, try for 1 second. */
+    for (retry = 0; retry < 1000; ++retry)
+    {
+        /* If we have to wait, try 100 polls per millisecond. */
+        for (poll = pollCount; poll > 0; --poll)
+        {
+            /* Read register. */
+            gcmkONERROR(
+                gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00004, &idle));
+
+            /* See if we have to wait for FE idle. */
+            if ((((((gctUINT32) (idle)) >> (0 ? 0:0)) & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1)))))) ))
+            {
+                /* FE is idle. */
+                break;
+            }
+        }
+
+        /* Check if we need to wait for FE and FE is busy. */
+        if (Wait && !(((((gctUINT32) (idle)) >> (0 ? 0:0)) & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1)))))) ))
+        {
+            /* Wait a little. */
+            gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
+                           "%s: Waiting for idle: 0x%08X",
+                           __FUNCTION__, idle);
+
+            gcmkVERIFY_OK(gckOS_Delay(Hardware->os, 1));
+        }
+        else
+        {
+            break;
+        }
+    }
+
+    /* Return idle to caller. */
+    *Data = idle;
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Data=0x%08x", *Data);
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/* Flush the caches. */
+gceSTATUS
+gckHARDWARE_Flush(
+    IN gckHARDWARE Hardware,
+    IN gceKERNEL_FLUSH Flush,
+    IN gctPOINTER Logical,
+    IN OUT gctSIZE_T * Bytes
+    )
+{
+    gctUINT32 pipe;
+    gctUINT32 flush = 0;
+    gctUINT32_PTR logical = (gctUINT32_PTR) Logical;
+    gceSTATUS status;
+    gctBOOL fcFlushStall;
+    gctUINT32 reserveBytes = 8;
+
+    gcmkHEADER_ARG("Hardware=0x%x Flush=0x%x Logical=0x%x *Bytes=%lu",
+                   Hardware, Flush, Logical, gcmOPT_VALUE(Bytes));
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+
+    /* Get current pipe. */
+    pipe = Hardware->kernel->command->pipeSelect;
+
+    fcFlushStall
+        = ((((gctUINT32) (Hardware->identity.chipMinorFeatures1)) >> (0 ? 31:31) & ((gctUINT32) ((((1 ? 31:31) - (0 ? 31:31) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:31) - (0 ? 31:31) + 1)))))) == (0x1 & ((gctUINT32) ((((1 ? 31:31) - (0 ? 31:31) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:31) - (0 ? 31:31) + 1)))))))
+        && (Flush == gcvFLUSH_ALL)
+        ;
+
+    if (fcFlushStall)
+    {
+        reserveBytes += 8;
+    }
+
+    /* Flush 3D color cache. */
+    if ((Flush & gcvFLUSH_COLOR) && (pipe == 0x0))
+    {
+        flush |= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 1:1) - (0 ? 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 1:1) - (0 ? 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1)));
+    }
+
+    /* Flush 3D depth cache. */
+    if ((Flush & gcvFLUSH_DEPTH) && (pipe == 0x0))
+    {
+        flush |= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
+    }
+
+    /* Flush 3D texture cache. */
+    if ((Flush & gcvFLUSH_TEXTURE) && (pipe == 0x0))
+    {
+        flush |= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 2:2) - (0 ? 2:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ? 2:2))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 2:2) - (0 ? 2:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ? 2:2)));
+        flush |= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 4:4) - (0 ? 4:4) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ? 4:4))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 4:4) - (0 ? 4:4) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ? 4:4)));
+    }
+
+    /* Flush 2D cache. */
+    if ((Flush & gcvFLUSH_2D) && (pipe == 0x1))
+    {
+        flush |= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 3:3) - (0 ? 3:3) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ? 3:3))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 3:3) - (0 ? 3:3) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ? 3:3)));
+    }
+
+    /* See if there is a valid flush. */
+    if (flush == 0)
+    {
+        if (Bytes != gcvNULL)
+        {
+            /* No bytes required. */
+            *Bytes = 0;
+        }
+    }
+
+    else
+    {
+        /* Copy to command queue. */
+        if (Logical != gcvNULL)
+        {
+            if (*Bytes < reserveBytes)
+            {
+                /* Command queue too small. */
+                gcmkONERROR(gcvSTATUS_BUFFER_TOO_SMALL);
+            }
+
+            /* Append LOAD_STATE to AQFlush. */
+            logical[0] = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+                       | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E03) & ((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+                       | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
+
+            logical[1] = flush;
+
+            gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
+                           "0x%x: FLUSH 0x%x", logical, flush);
+
+            if (fcFlushStall)
+            {
+                logical[2] = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+                           | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0))) | (((gctUINT32) ((gctUINT32) (0x0594) & ((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+                           | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
+
+                logical[3] = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
+
+
+                gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
+                               "0x%x: FLUSH 0x%x", logical + 3, logical[3]);
+            }
+
+        }
+
+        if (Bytes != gcvNULL)
+        {
+            /* bytes required. */
+            *Bytes = reserveBytes;
+        }
+    }
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Bytes=%lu", gcmOPT_VALUE(Bytes));
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+gceSTATUS
+gckHARDWARE_SetFastClear(
+    IN gckHARDWARE Hardware,
+    IN gctINT Enable,
+    IN gctINT Compression
+    )
+{
+#ifndef VIVANTE_NO_3D
+    gctUINT32 debug;
+    gceSTATUS status;
+
+    gcmkHEADER_ARG("Hardware=0x%x Enable=%d Compression=%d",
+                   Hardware, Enable, Compression);
+
+    /* Only process if fast clear is available. */
+    if ((((((gctUINT32) (Hardware->identity.chipFeatures)) >> (0 ? 0:0)) & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1)))))) ))
+    {
+        if (Enable == -1)
+        {
+            /* Determine automatic value for fast clear. */
+            Enable = ((Hardware->identity.chipModel    != gcv500)
+                     || (Hardware->identity.chipRevision >= 3)
+                     ) ? 1 : 0;
+        }
+
+        if (Compression == -1)
+        {
+            /* Determine automatic value for compression. */
+            Compression = Enable
+                        & (((((gctUINT32) (Hardware->identity.chipFeatures)) >> (0 ? 5:5)) & ((gctUINT32) ((((1 ? 5:5) - (0 ? 5:5) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 5:5) - (0 ? 5:5) + 1)))))) );
+        }
+
+        /* Read AQMemoryDebug register. */
+        gcmkONERROR(
+            gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00414, &debug));
+
+        /* Set fast clear bypass. */
+        debug = ((((gctUINT32) (debug)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 20:20) - (0 ? 20:20) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 20:20) - (0 ? 20:20) + 1))))))) << (0 ? 20:20))) | (((gctUINT32) ((gctUINT32) (Enable == 0) & ((gctUINT32) ((((1 ? 20:20) - (0 ? 20:20) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 20:20) - (0 ? 20:20) + 1))))))) << (0 ? 20:20)));
+
+        if (
+            ((((gctUINT32) (Hardware->identity.chipMinorFeatures2)) >> (0 ? 27:27) & ((gctUINT32) ((((1 ? 27:27) - (0 ? 27:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 27:27) - (0 ? 27:27) + 1)))))) == (0x1 & ((gctUINT32) ((((1 ? 27:27) - (0 ? 27:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 27:27) - (0 ? 27:27) + 1))))))) ||
+            (Hardware->identity.chipModel >= gcv4000))
+        {
+            /* Set compression bypass. */
+            debug = ((((gctUINT32) (debug)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 21:21) - (0 ? 21:21) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 21:21) - (0 ? 21:21) + 1))))))) << (0 ? 21:21))) | (((gctUINT32) ((gctUINT32) (Compression == 0) & ((gctUINT32) ((((1 ? 21:21) - (0 ? 21:21) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 21:21) - (0 ? 21:21) + 1))))))) << (0 ? 21:21)));
+        }
+
+        /* Write back AQMemoryDebug register. */
+        gcmkONERROR(
+            gckOS_WriteRegisterEx(Hardware->os,
+                                  Hardware->core,
+                                  0x00414,
+                                  debug));
+
+        /* Store fast clear and comprersison flags. */
+        Hardware->allowFastClear   = Enable;
+        Hardware->allowCompression = Compression;
+
+        gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
+                       "FastClear=%d Compression=%d", Enable, Compression);
+    }
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+#else
+    return gcvSTATUS_OK;
+#endif
+}
+
+typedef enum
+{
+    gcvPOWER_FLAG_INITIALIZE    = 1 << 0,
+    gcvPOWER_FLAG_STALL         = 1 << 1,
+    gcvPOWER_FLAG_STOP          = 1 << 2,
+    gcvPOWER_FLAG_START         = 1 << 3,
+    gcvPOWER_FLAG_RELEASE       = 1 << 4,
+    gcvPOWER_FLAG_DELAY         = 1 << 5,
+    gcvPOWER_FLAG_SAVE          = 1 << 6,
+    gcvPOWER_FLAG_ACQUIRE       = 1 << 7,
+    gcvPOWER_FLAG_POWER_OFF     = 1 << 8,
+    gcvPOWER_FLAG_CLOCK_OFF     = 1 << 9,
+    gcvPOWER_FLAG_CLOCK_ON      = 1 << 10,
+}
+gcePOWER_FLAGS;
+
+#if gcmIS_DEBUG(gcdDEBUG_TRACE)
+static gctCONST_STRING
+_PowerEnum(gceCHIPPOWERSTATE State)
+{
+    const gctCONST_STRING states[] =
+    {
+        gcmSTRING(gcvPOWER_ON),
+        gcmSTRING(gcvPOWER_OFF),
+        gcmSTRING(gcvPOWER_IDLE),
+        gcmSTRING(gcvPOWER_SUSPEND),
+        gcmSTRING(gcvPOWER_SUSPEND_ATPOWERON),
+        gcmSTRING(gcvPOWER_OFF_ATPOWERON),
+        gcmSTRING(gcvPOWER_IDLE_BROADCAST),
+        gcmSTRING(gcvPOWER_SUSPEND_BROADCAST),
+        gcmSTRING(gcvPOWER_OFF_BROADCAST),
+        gcmSTRING(gcvPOWER_OFF_RECOVERY),
+        gcmSTRING(gcvPOWER_ON_AUTO)
+    };
+
+    if ((State >= gcvPOWER_ON) && (State <= gcvPOWER_ON_AUTO))
+    {
+        return states[State - gcvPOWER_ON];
+    }
+
+    return "unknown";
+}
+#endif
+
+/*******************************************************************************
+**
+**  gckHARDWARE_SetPowerManagementState
+**
+**  Set GPU to a specified power state.
+**
+**  INPUT:
+**
+**      gckHARDWARE Harwdare
+**          Pointer to an gckHARDWARE object.
+**
+**      gceCHIPPOWERSTATE State
+**          Power State.
+**
+*/
+gceSTATUS
+gckHARDWARE_SetPowerManagementState(
+    IN gckHARDWARE Hardware,
+    IN gceCHIPPOWERSTATE State
+    )
+{
+    gceSTATUS status;
+    gckCOMMAND command = gcvNULL;
+    gckOS os;
+    gctUINT flag, clock;
+    gctPOINTER buffer;
+    gctSIZE_T bytes, requested;
+    gctBOOL acquired = gcvFALSE;
+    gctBOOL mutexAcquired = gcvFALSE;
+    gctBOOL stall = gcvTRUE;
+    gctBOOL broadcast = gcvFALSE;
+#if gcdPOWEROFF_TIMEOUT
+    gctBOOL timeout = gcvFALSE;
+    gctBOOL isAfter = gcvFALSE;
+    gctUINT32 currentTime;
+#endif
+    gctUINT32 process, thread;
+    gctBOOL commitEntered = gcvFALSE;
+    gctBOOL commandStarted = gcvFALSE;
+    gctBOOL isrStarted = gcvFALSE;
+
+#if gcdENABLE_PROFILING
+    gctUINT64 time, freq, mutexTime, onTime, stallTime, stopTime, delayTime,
+              initTime, offTime, startTime, totalTime;
+#endif
+    gctBOOL global = gcvFALSE;
+    gctBOOL globalAcquired = gcvFALSE;
+    gctBOOL configMmu = gcvFALSE;
+
+    /* State transition flags. */
+    static const gctUINT flags[4][4] =
+    {
+        /* gcvPOWER_ON           */
+        {   /* ON                */ 0,
+            /* OFF               */ gcvPOWER_FLAG_ACQUIRE   |
+                                    gcvPOWER_FLAG_STALL     |
+                                    gcvPOWER_FLAG_STOP      |
+                                    gcvPOWER_FLAG_POWER_OFF |
+                                    gcvPOWER_FLAG_CLOCK_OFF,
+            /* IDLE              */ gcvPOWER_FLAG_ACQUIRE   |
+                                    gcvPOWER_FLAG_STALL,
+            /* SUSPEND           */ gcvPOWER_FLAG_ACQUIRE   |
+                                    gcvPOWER_FLAG_STALL     |
+                                    gcvPOWER_FLAG_STOP      |
+                                    gcvPOWER_FLAG_CLOCK_OFF,
+        },
+
+        /* gcvPOWER_OFF          */
+        {   /* ON                */ gcvPOWER_FLAG_INITIALIZE |
+                                    gcvPOWER_FLAG_START      |
+                                    gcvPOWER_FLAG_RELEASE    |
+                                    gcvPOWER_FLAG_DELAY,
+            /* OFF               */ 0,
+            /* IDLE              */ gcvPOWER_FLAG_INITIALIZE |
+                                    gcvPOWER_FLAG_START      |
+                                    gcvPOWER_FLAG_DELAY,
+            /* SUSPEND           */ gcvPOWER_FLAG_INITIALIZE |
+                                    gcvPOWER_FLAG_CLOCK_OFF,
+        },
+
+        /* gcvPOWER_IDLE         */
+        {   /* ON                */ gcvPOWER_FLAG_RELEASE,
+            /* OFF               */ gcvPOWER_FLAG_STOP      |
+                                    gcvPOWER_FLAG_POWER_OFF |
+                                    gcvPOWER_FLAG_CLOCK_OFF,
+            /* IDLE              */ 0,
+            /* SUSPEND           */ gcvPOWER_FLAG_STOP      |
+                                    gcvPOWER_FLAG_CLOCK_OFF,
+        },
+
+        /* gcvPOWER_SUSPEND      */
+        {   /* ON                */ gcvPOWER_FLAG_START     |
+                                    gcvPOWER_FLAG_RELEASE   |
+                                    gcvPOWER_FLAG_DELAY     |
+                                    gcvPOWER_FLAG_CLOCK_ON,
+            /* OFF               */ gcvPOWER_FLAG_SAVE      |
+                                    gcvPOWER_FLAG_POWER_OFF |
+                                    gcvPOWER_FLAG_CLOCK_OFF,
+            /* IDLE              */ gcvPOWER_FLAG_START     |
+                                    gcvPOWER_FLAG_DELAY     |
+                                    gcvPOWER_FLAG_CLOCK_ON,
+            /* SUSPEND           */ 0,
+        },
+    };
+
+    /* Clocks. */
+    static const gctUINT clocks[4] =
+    {
+        /* gcvPOWER_ON */
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0))) |
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 1:1) - (0 ? 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 1:1) - (0 ? 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1))) |
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 8:2) - (0 ? 8:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ? 8:2))) | (((gctUINT32) ((gctUINT32) (64) & ((gctUINT32) ((((1 ? 8:2) - (0 ? 8:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ? 8:2))) |
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 9:9) - (0 ? 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ? 9:9))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 9:9) - (0 ? 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ? 9:9))),
+
+        /* gcvPOWER_OFF */
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0))) |
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 1:1) - (0 ? 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 1:1) - (0 ? 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1))) |
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 8:2) - (0 ? 8:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ? 8:2))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 8:2) - (0 ? 8:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ? 8:2))) |
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 9:9) - (0 ? 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ? 9:9))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 9:9) - (0 ? 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ? 9:9))),
+
+        /* gcvPOWER_IDLE */
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0))) |
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 1:1) - (0 ? 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 1:1) - (0 ? 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1))) |
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 8:2) - (0 ? 8:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ? 8:2))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 8:2) - (0 ? 8:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ? 8:2))) |
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 9:9) - (0 ? 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ? 9:9))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 9:9) - (0 ? 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ? 9:9))),
+
+        /* gcvPOWER_SUSPEND */
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0))) |
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 1:1) - (0 ? 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 1:1) - (0 ? 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1))) |
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 8:2) - (0 ? 8:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ? 8:2))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 8:2) - (0 ? 8:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ? 8:2))) |
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 9:9) - (0 ? 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ? 9:9))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 9:9) - (0 ? 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ? 9:9))),
+    };
+
+    gcmkHEADER_ARG("Hardware=0x%x State=%d", Hardware, State);
+#if gcmIS_DEBUG(gcdDEBUG_TRACE)
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
+                   "Switching to power state %d(%s)",
+                   State, _PowerEnum(State));
+#endif
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+
+    /* Get the gckOS object pointer. */
+    os = Hardware->os;
+    gcmkVERIFY_OBJECT(os, gcvOBJ_OS);
+
+    /* Get the gckCOMMAND object pointer. */
+    gcmkVERIFY_OBJECT(Hardware->kernel, gcvOBJ_KERNEL);
+    command = Hardware->kernel->command;
+    gcmkVERIFY_OBJECT(command, gcvOBJ_COMMAND);
+
+    if (Hardware->powerManagement == gcvFALSE)
+    {
+        gcmkFOOTER_NO();
+        return gcvSTATUS_OK;
+    }
+
+    /* Start profiler. */
+    gcmkPROFILE_INIT(freq, time);
+
+    /* Convert the broadcast power state. */
+    switch (State)
+    {
+    case gcvPOWER_SUSPEND_ATPOWERON:
+        /* Convert to SUSPEND and don't wait for STALL. */
+        State = gcvPOWER_SUSPEND;
+        stall = gcvFALSE;
+        break;
+
+    case gcvPOWER_OFF_ATPOWERON:
+        /* Convert to OFF and don't wait for STALL. */
+        State = gcvPOWER_OFF;
+        stall = gcvFALSE;
+        break;
+
+    case gcvPOWER_IDLE_BROADCAST:
+        /* Convert to IDLE and note we are inside broadcast. */
+        State     = gcvPOWER_IDLE;
+        broadcast = gcvTRUE;
+        break;
+
+    case gcvPOWER_SUSPEND_BROADCAST:
+        /* Convert to SUSPEND and note we are inside broadcast. */
+        State     = gcvPOWER_SUSPEND;
+        broadcast = gcvTRUE;
+        break;
+
+    case gcvPOWER_OFF_BROADCAST:
+        /* Convert to OFF and note we are inside broadcast. */
+        State     = gcvPOWER_OFF;
+        broadcast = gcvTRUE;
+        break;
+
+    case gcvPOWER_OFF_RECOVERY:
+        /* Convert to OFF and note we are inside recovery. */
+        State     = gcvPOWER_OFF;
+        stall     = gcvFALSE;
+        broadcast = gcvTRUE;
+        break;
+
+    case gcvPOWER_ON_AUTO:
+        /* Convert to ON and note we are inside recovery. */
+        State = gcvPOWER_ON;
+        break;
+
+    case gcvPOWER_ON:
+    case gcvPOWER_IDLE:
+    case gcvPOWER_SUSPEND:
+    case gcvPOWER_OFF:
+        /* Mark as global power management. */
+        global = gcvTRUE;
+        break;
+
+#if gcdPOWEROFF_TIMEOUT
+    case gcvPOWER_OFF_TIMEOUT:
+        /* Convert to OFF and note we are inside broadcast. */
+        State     = gcvPOWER_OFF;
+        broadcast = gcvTRUE;
+        /* Check time out */
+        timeout = gcvTRUE;
+        break;
+#endif
+
+    default:
+        break;
+    }
+
+    /* Get current process and thread IDs. */
+    gcmkONERROR(gckOS_GetProcessID(&process));
+    gcmkONERROR(gckOS_GetThreadID(&thread));
+
+    if (broadcast)
+    {
+        /* Try to acquire the power mutex. */
+        status = gckOS_AcquireMutex(os, Hardware->powerMutex, 0);
+
+        if (status == gcvSTATUS_TIMEOUT)
+        {
+            /* Check if we already own this mutex. */
+            if ((Hardware->powerProcess == process)
+            &&  (Hardware->powerThread  == thread)
+            )
+            {
+                /* Bail out on recursive power management. */
+                gcmkFOOTER_NO();
+                return gcvSTATUS_OK;
+            }
+            else if (State == gcvPOWER_IDLE || State == gcvPOWER_SUSPEND)
+            {
+                /* Called from IST,
+                ** so waiting here will cause deadlock,
+                ** if lock holder call gckCOMMAND_Stall() */
+                gcmkONERROR(gcvSTATUS_INVALID_REQUEST);
+            }
+#if gcdPOWEROFF_TIMEOUT
+            else if(State == gcvPOWER_OFF && timeout == gcvTRUE)
+            {
+                /*
+                ** try to aqcuire the mutex with more milliseconds,
+                ** flush_delayed_work should be running with timeout,
+                ** so waiting here will cause deadlock */
+                status = gckOS_AcquireMutex(os, Hardware->powerMutex, gcdPOWEROFF_TIMEOUT);
+
+                if (status == gcvSTATUS_TIMEOUT)
+                {
+                    gckOS_Print("GPU Timer deadlock, exit by timeout!!!!\n");
+
+                    gcmkONERROR(gcvSTATUS_INVALID_REQUEST);
+                }
+            }
+#endif
+            else
+            {
+                /* Acquire the power mutex. */
+                gcmkONERROR(gckOS_AcquireMutex(os,
+                                               Hardware->powerMutex,
+                                               gcvINFINITE));
+            }
+        }
+    }
+    else
+    {
+        /* Acquire the power mutex. */
+        gcmkONERROR(gckOS_AcquireMutex(os, Hardware->powerMutex, gcvINFINITE));
+    }
+
+    /* Get time until mtuex acquired. */
+    gcmkPROFILE_QUERY(time, mutexTime);
+
+    Hardware->powerProcess = process;
+    Hardware->powerThread  = thread;
+    mutexAcquired          = gcvTRUE;
+
+    /* Grab control flags and clock. */
+    flag  = flags[Hardware->chipPowerState][State];
+    clock = clocks[State];
+
+#if gcdENABLE_FSCALE_VAL_ADJUST
+    if (State == gcvPOWER_ON)
+    {
+        clock = ((((gctUINT32) (clock)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 8:2) - (0 ? 8:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ? 8:2))) | (((gctUINT32) ((gctUINT32) (Hardware->powerOnFscaleVal) & ((gctUINT32) ((((1 ? 8:2) - (0 ? 8:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ? 8:2)));
+    }
+#endif
+
+    if (State == gcvPOWER_SUSPEND && Hardware->chipPowerState == gcvPOWER_OFF && broadcast)
+    {
+#if gcdPOWER_SUSNPEND_WHEN_IDLE
+       /* Do nothing */
+
+       /* Release the power mutex. */
+        gcmkONERROR(gckOS_ReleaseMutex(os, Hardware->powerMutex));
+
+               gcmkFOOTER_NO();
+        return gcvSTATUS_OK;
+#else
+       /* Clock should be on when switch power from off to suspend */
+        clock = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0))) |
+                ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 1:1) - (0 ? 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 1:1) - (0 ? 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1))) |
+                ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 8:2) - (0 ? 8:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ? 8:2))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 8:2) - (0 ? 8:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ? 8:2))) |
+                ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 9:9) - (0 ? 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ? 9:9))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 9:9) - (0 ? 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ? 9:9))) ;
+#endif
+    }
+
+#if gcdPOWEROFF_TIMEOUT
+    if (timeout)
+    {
+        gcmkONERROR(gckOS_GetTicks(&currentTime));
+
+        gcmkONERROR(
+            gckOS_TicksAfter(Hardware->powerOffTime, currentTime, &isAfter));
+
+        /* powerOffTime is pushed forward, give up.*/
+        if (isAfter
+        /* Expect a transition start from IDLE or SUSPEND. */
+        ||  (Hardware->chipPowerState == gcvPOWER_ON)
+        ||  (Hardware->chipPowerState == gcvPOWER_OFF)
+        )
+        {
+            /* Release the power mutex. */
+            gcmkONERROR(gckOS_ReleaseMutex(os, Hardware->powerMutex));
+
+            /* No need to do anything. */
+            gcmkFOOTER_NO();
+            return gcvSTATUS_OK;
+        }
+
+        gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
+                       "Power Off GPU[%d] at %u [supposed to be at %u]",
+                       Hardware->core, currentTime, Hardware->powerOffTime);
+    }
+#endif
+
+    if (flag == 0)
+    {
+        /* Release the power mutex. */
+        gcmkONERROR(gckOS_ReleaseMutex(os, Hardware->powerMutex));
+
+        /* No need to do anything. */
+        gcmkFOOTER_NO();
+        return gcvSTATUS_OK;
+    }
+
+    /* If this is an internal power management, we have to check if we can grab
+    ** the global power semaphore. If we cannot, we have to wait until the
+    ** external world changes power management. */
+    if (!global)
+    {
+        /* Try to acquire the global semaphore. */
+        status = gckOS_TryAcquireSemaphore(os, Hardware->globalSemaphore);
+        if (status == gcvSTATUS_TIMEOUT)
+        {
+            if (State == gcvPOWER_IDLE || State == gcvPOWER_SUSPEND)
+            {
+                /* Called from thread routine which should NEVER sleep.*/
+                gcmkONERROR(gcvSTATUS_INVALID_REQUEST);
+            }
+
+            /* Release the power mutex. */
+            gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
+                           "Releasing the power mutex.");
+            gcmkONERROR(gckOS_ReleaseMutex(os, Hardware->powerMutex));
+            mutexAcquired = gcvFALSE;
+
+            /* Wait for the semaphore. */
+            gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
+                           "Waiting for global semaphore.");
+            gcmkONERROR(gckOS_AcquireSemaphore(os, Hardware->globalSemaphore));
+            globalAcquired = gcvTRUE;
+
+            /* Acquire the power mutex. */
+            gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
+                           "Reacquiring the power mutex.");
+            gcmkONERROR(gckOS_AcquireMutex(os,
+                                           Hardware->powerMutex,
+                                           gcvINFINITE));
+            mutexAcquired = gcvTRUE;
+
+            /* chipPowerState may be changed by external world during the time
+            ** we give up powerMutex, so updating flag now is necessary. */
+            flag = flags[Hardware->chipPowerState][State];
+
+            if (flag == 0)
+            {
+                gcmkONERROR(gckOS_ReleaseSemaphore(os, Hardware->globalSemaphore));
+                globalAcquired = gcvFALSE;
+
+                gcmkONERROR(gckOS_ReleaseMutex(os, Hardware->powerMutex));
+                mutexAcquired = gcvFALSE;
+
+                gcmkFOOTER_NO();
+                return gcvSTATUS_OK;
+            }
+        }
+        else
+        {
+            /* Error. */
+            gcmkONERROR(status);
+        }
+
+        /* Release the global semaphore again. */
+        gcmkONERROR(gckOS_ReleaseSemaphore(os, Hardware->globalSemaphore));
+        globalAcquired = gcvFALSE;
+    }
+    else
+    {
+        if (State == gcvPOWER_OFF || State == gcvPOWER_SUSPEND || State == gcvPOWER_IDLE)
+        {
+            /* Acquire the global semaphore if it has not been acquired. */
+            status = gckOS_TryAcquireSemaphore(os, Hardware->globalSemaphore);
+            if (status == gcvSTATUS_OK)
+            {
+                globalAcquired = gcvTRUE;
+            }
+            else if (status != gcvSTATUS_TIMEOUT)
+            {
+                /* Other errors. */
+                gcmkONERROR(status);
+            }
+            /* Ignore gcvSTATUS_TIMEOUT and leave globalAcquired as gcvFALSE.
+            ** gcvSTATUS_TIMEOUT means global semaphore has already
+            ** been acquired before this operation, so even if we fail,
+            ** we should not release it in our error handling. It should be
+            ** released by the next successful global gcvPOWER_ON. */
+        }
+
+        /* Global power management can't be aborted, so sync with
+        ** proceeding last commit. */
+        if (flag & gcvPOWER_FLAG_ACQUIRE)
+        {
+            /* Acquire the power management semaphore. */
+            gcmkONERROR(gckOS_AcquireSemaphore(os, command->powerSemaphore));
+            acquired = gcvTRUE;
+
+            /* avoid acquiring again. */
+            flag &= ~gcvPOWER_FLAG_ACQUIRE;
+        }
+    }
+
+    if (flag & (gcvPOWER_FLAG_INITIALIZE | gcvPOWER_FLAG_CLOCK_ON))
+    {
+        /* Turn on the power. */
+        gcmkONERROR(gckOS_SetGPUPower(os, Hardware->core, gcvTRUE, gcvTRUE));
+
+        /* Mark clock and power as enabled. */
+        Hardware->clockState = gcvTRUE;
+        Hardware->powerState = gcvTRUE;
+
+        for (;;)
+        {
+            /* Check if GPU is present and awake. */
+            status = _IsGPUPresent(Hardware);
+
+            /* Check if the GPU is not responding. */
+            if (status == gcvSTATUS_GPU_NOT_RESPONDING)
+            {
+                /* Turn off the power and clock. */
+                gcmkONERROR(gckOS_SetGPUPower(os, Hardware->core, gcvFALSE, gcvFALSE));
+
+                Hardware->clockState = gcvFALSE;
+                Hardware->powerState = gcvFALSE;
+
+                /* Wait a little. */
+                gckOS_Delay(os, 1);
+
+                /* Turn on the power and clock. */
+                gcmkONERROR(gckOS_SetGPUPower(os, Hardware->core, gcvTRUE, gcvTRUE));
+
+                Hardware->clockState = gcvTRUE;
+                Hardware->powerState = gcvTRUE;
+
+                /* We need to initialize the hardware and start the command
+                 * processor. */
+                flag |= gcvPOWER_FLAG_INITIALIZE | gcvPOWER_FLAG_START;
+            }
+            else
+            {
+                /* Test for error. */
+                gcmkONERROR(status);
+
+                /* Break out of loop. */
+                break;
+            }
+        }
+    }
+
+    /* Get time until powered on. */
+    gcmkPROFILE_QUERY(time, onTime);
+
+    if ((flag & gcvPOWER_FLAG_STALL) && stall)
+    {
+        gctBOOL idle;
+        gctINT32 atomValue;
+
+        /* For global operation, all pending commits have already been
+        ** blocked by globalSemaphore or powerSemaphore.*/
+        if (!global)
+        {
+            /* Check commit atom. */
+            gcmkONERROR(gckOS_AtomGet(os, command->atomCommit, &atomValue));
+
+            if (atomValue > 0)
+            {
+                /* Commits are pending - abort power management. */
+                status = broadcast ? gcvSTATUS_CHIP_NOT_READY
+                                   : gcvSTATUS_MORE_DATA;
+                goto OnError;
+            }
+        }
+
+        if (broadcast)
+        {
+            /* Check for idle. */
+            gcmkONERROR(gckHARDWARE_QueryIdle(Hardware, &idle));
+
+            if (!idle)
+            {
+                status = gcvSTATUS_CHIP_NOT_READY;
+                goto OnError;
+            }
+        }
+
+        else
+        {
+            /* Acquire the command queue. */
+            gcmkONERROR(gckCOMMAND_EnterCommit(command, gcvTRUE));
+            commitEntered = gcvTRUE;
+
+            /* Get the size of the flush command. */
+            gcmkONERROR(gckHARDWARE_Flush(Hardware,
+                                          gcvFLUSH_ALL,
+                                          gcvNULL,
+                                          &requested));
+
+            /* Reserve space in the command queue. */
+            gcmkONERROR(gckCOMMAND_Reserve(command,
+                                           requested,
+                                           &buffer,
+                                           &bytes));
+
+            /* Append a flush. */
+            gcmkONERROR(gckHARDWARE_Flush(
+                Hardware, gcvFLUSH_ALL, buffer, &bytes
+                ));
+
+            /* Execute the command queue. */
+            gcmkONERROR(gckCOMMAND_Execute(command, requested));
+
+            /* Release the command queue. */
+            gcmkONERROR(gckCOMMAND_ExitCommit(command, gcvTRUE));
+            commitEntered = gcvFALSE;
+
+            /* Wait to finish all commands. */
+            gcmkONERROR(gckCOMMAND_Stall(command, gcvTRUE));
+        }
+    }
+
+    /* Get time until stalled. */
+    gcmkPROFILE_QUERY(time, stallTime);
+
+    if (flag & gcvPOWER_FLAG_ACQUIRE)
+    {
+        /* Acquire the power management semaphore. */
+        gcmkONERROR(gckOS_AcquireSemaphore(os, command->powerSemaphore));
+        acquired = gcvTRUE;
+    }
+
+    if (flag & gcvPOWER_FLAG_STOP)
+    {
+        /* Stop the command parser. */
+        gcmkONERROR(gckCOMMAND_Stop(command, gcvFALSE));
+
+        /* Stop the Isr. */
+        if (Hardware->stopIsr)
+        {
+            gcmkONERROR(Hardware->stopIsr(Hardware->isrContext));
+        }
+    }
+
+    /* Flush Cache before Power Off. */
+    if (flag & gcvPOWER_FLAG_POWER_OFF)
+    {
+        if (Hardware->clockState == gcvFALSE)
+        {
+            /* Turn off the GPU power. */
+            gcmkONERROR(
+                    gckOS_SetGPUPower(os,
+                        Hardware->core,
+                        gcvTRUE,
+                        gcvTRUE));
+
+            Hardware->clockState = gcvTRUE;
+
+            if (gckHARDWARE_IsFeatureAvailable(Hardware, gcvFEATURE_DYNAMIC_FREQUENCY_SCALING) != gcvTRUE)
+            {
+                /* Write the clock control register. */
+                gcmkONERROR(gckOS_WriteRegisterEx(os,
+                                                  Hardware->core,
+                                                  0x00000,
+                                                  clocks[0]));
+
+                /* Done loading the frequency scaler. */
+                gcmkONERROR(gckOS_WriteRegisterEx(os,
+                                                  Hardware->core,
+                                                  0x00000,
+                                                  ((((gctUINT32) (clocks[0])) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 9:9) - (0 ? 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ? 9:9))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 9:9) - (0 ? 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ? 9:9)))));
+            }
+        }
+
+        gcmkONERROR(gckCOMMAND_Start(command));
+
+        gcmkONERROR(_FlushCache(Hardware, command));
+
+        gckOS_Delay(gcvNULL, 1);
+
+        /* Stop the command parser. */
+        gcmkONERROR(gckCOMMAND_Stop(command, gcvFALSE));
+
+        flag |= gcvPOWER_FLAG_CLOCK_OFF;
+    }
+
+    /* Get time until stopped. */
+    gcmkPROFILE_QUERY(time, stopTime);
+
+    /* Only process this when hardware is enabled. */
+    if (Hardware->clockState && Hardware->powerState
+    /* Don't touch clock control if dynamic frequency scaling is available. */
+    && gckHARDWARE_IsFeatureAvailable(Hardware, gcvFEATURE_DYNAMIC_FREQUENCY_SCALING) != gcvTRUE
+    )
+    {
+        if (flag & (gcvPOWER_FLAG_POWER_OFF | gcvPOWER_FLAG_CLOCK_OFF))
+        {
+            if (Hardware->identity.chipModel == gcv4000
+            && Hardware->identity.chipRevision == 0x5208)
+            {
+                clock &= ~2U;
+            }
+        }
+
+        /* Write the clock control register. */
+        gcmkONERROR(gckOS_WriteRegisterEx(os,
+                                          Hardware->core,
+                                          0x00000,
+                                          clock));
+
+        /* Done loading the frequency scaler. */
+        gcmkONERROR(gckOS_WriteRegisterEx(os,
+                                          Hardware->core,
+                                          0x00000,
+                                          ((((gctUINT32) (clock)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 9:9) - (0 ? 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ? 9:9))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 9:9) - (0 ? 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ? 9:9)))));
+    }
+
+    if (flag & gcvPOWER_FLAG_DELAY)
+    {
+        /* Wait for the specified amount of time to settle coming back from
+        ** power-off or suspend state. */
+        gcmkONERROR(gckOS_Delay(os, gcdPOWER_CONTROL_DELAY));
+    }
+
+    /* Get time until delayed. */
+    gcmkPROFILE_QUERY(time, delayTime);
+
+    if (flag & gcvPOWER_FLAG_INITIALIZE)
+    {
+        /* Initialize hardware. */
+        gcmkONERROR(gckHARDWARE_InitializeHardware(Hardware));
+
+        gcmkONERROR(gckHARDWARE_SetFastClear(Hardware,
+                                             Hardware->allowFastClear,
+                                             Hardware->allowCompression));
+
+        /* Force the command queue to reload the next context. */
+        command->currContext = gcvNULL;
+
+        /* Need to config mmu after command start. */
+        configMmu = gcvTRUE;
+    }
+
+    /* Get time until initialized. */
+    gcmkPROFILE_QUERY(time, initTime);
+
+    if (flag & (gcvPOWER_FLAG_POWER_OFF | gcvPOWER_FLAG_CLOCK_OFF))
+    {
+        /* Turn off the GPU power. */
+        gcmkONERROR(
+            gckOS_SetGPUPower(os,
+                              Hardware->core,
+                              (flag & gcvPOWER_FLAG_CLOCK_OFF) ? gcvFALSE
+                                                               : gcvTRUE,
+                              (flag & gcvPOWER_FLAG_POWER_OFF) ? gcvFALSE
+                                                               : gcvTRUE));
+
+        /* Save current hardware power and clock states. */
+        Hardware->clockState = (flag & gcvPOWER_FLAG_CLOCK_OFF) ? gcvFALSE
+                                                                : gcvTRUE;
+        Hardware->powerState = (flag & gcvPOWER_FLAG_POWER_OFF) ? gcvFALSE
+                                                                : gcvTRUE;
+    }
+
+    /* Get time until off. */
+    gcmkPROFILE_QUERY(time, offTime);
+
+    if (flag & gcvPOWER_FLAG_START)
+    {
+        /* Start the command processor. */
+        gcmkONERROR(gckCOMMAND_Start(command));
+        commandStarted = gcvTRUE;
+
+        if (Hardware->startIsr)
+        {
+            /* Start the Isr. */
+            gcmkONERROR(Hardware->startIsr(Hardware->isrContext));
+            isrStarted = gcvTRUE;
+        }
+
+        /* Set NEW MMU. */
+        if (Hardware->mmuVersion != 0 && configMmu)
+        {
+            gcmkONERROR(
+                    gckHARDWARE_SetMMUv2(
+                        Hardware,
+                        gcvTRUE,
+                        Hardware->kernel->mmu->mtlbLogical,
+                        gcvMMU_MODE_4K,
+                        (gctUINT8_PTR)Hardware->kernel->mmu->mtlbLogical + gcdMMU_MTLB_SIZE,
+                        gcvTRUE
+                        ));
+        }
+    }
+
+    /* Get time until started. */
+    gcmkPROFILE_QUERY(time, startTime);
+
+    if (flag & gcvPOWER_FLAG_RELEASE)
+    {
+        /* Release the power management semaphore. */
+        gcmkONERROR(gckOS_ReleaseSemaphore(os, command->powerSemaphore));
+        acquired = gcvFALSE;
+
+        if (global)
+        {
+            /* Verify global semaphore has been acquired already before
+            ** we release it.
+            ** If it was acquired, gckOS_TryAcquireSemaphore will return
+            ** gcvSTATUS_TIMEOUT and we release it. Otherwise, global
+            ** semaphore will be acquried now, but it still is released
+            ** immediately. */
+            status = gckOS_TryAcquireSemaphore(os, Hardware->globalSemaphore);
+            if (status != gcvSTATUS_TIMEOUT)
+            {
+                gcmkONERROR(status);
+            }
+
+            /* Release the global semaphore. */
+            gcmkONERROR(gckOS_ReleaseSemaphore(os, Hardware->globalSemaphore));
+            globalAcquired = gcvFALSE;
+        }
+    }
+
+    /* Save the new power state. */
+    Hardware->chipPowerState = State;
+
+#if gcdDVFS
+    if (State == gcvPOWER_ON && Hardware->kernel->dvfs)
+    {
+        gckDVFS_Start(Hardware->kernel->dvfs);
+    }
+#endif
+
+#if gcdPOWEROFF_TIMEOUT
+    /* Reset power off time */
+    gcmkONERROR(gckOS_GetTicks(&currentTime));
+
+    Hardware->powerOffTime = currentTime + Hardware->powerOffTimeout;
+
+    if (State == gcvPOWER_IDLE || State == gcvPOWER_SUSPEND)
+    {
+        /* Start a timer to power off GPU when GPU enters IDLE or SUSPEND. */
+        gcmkVERIFY_OK(gckOS_StartTimer(os,
+                                       Hardware->powerOffTimer,
+                                       Hardware->powerOffTimeout));
+    }
+    else
+    {
+        gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE, "Cancel powerOfftimer");
+
+        /* Cancel running timer when GPU enters ON or OFF. */
+        gcmkVERIFY_OK(gckOS_StopTimer(os, Hardware->powerOffTimer));
+    }
+#endif
+
+    /* Release the power mutex. */
+    gcmkONERROR(gckOS_ReleaseMutex(os, Hardware->powerMutex));
+
+    /* Get total time. */
+    gcmkPROFILE_QUERY(time, totalTime);
+#if gcdENABLE_PROFILING
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
+                   "PROF(%llu): mutex:%llu on:%llu stall:%llu stop:%llu",
+                   freq, mutexTime, onTime, stallTime, stopTime);
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
+                   "  delay:%llu init:%llu off:%llu start:%llu total:%llu",
+                   delayTime, initTime, offTime, startTime, totalTime);
+#endif
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    if (commandStarted)
+    {
+        gcmkVERIFY_OK(gckCOMMAND_Stop(command, gcvFALSE));
+    }
+
+    if (isrStarted)
+    {
+        gcmkVERIFY_OK(Hardware->stopIsr(Hardware->isrContext));
+    }
+
+    if (commitEntered)
+    {
+        /* Release the command queue mutex. */
+        gcmkVERIFY_OK(gckCOMMAND_ExitCommit(command, gcvTRUE));
+    }
+
+    if (acquired)
+    {
+        /* Release semaphore. */
+        gcmkVERIFY_OK(gckOS_ReleaseSemaphore(Hardware->os,
+                                             command->powerSemaphore));
+    }
+
+    if (globalAcquired)
+    {
+        gcmkVERIFY_OK(gckOS_ReleaseSemaphore(Hardware->os,
+                                             Hardware->globalSemaphore));
+    }
+
+    if (mutexAcquired)
+    {
+        gcmkVERIFY_OK(gckOS_ReleaseMutex(Hardware->os, Hardware->powerMutex));
+    }
+
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckHARDWARE_QueryPowerManagementState
+**
+**  Get GPU power state.
+**
+**  INPUT:
+**
+**      gckHARDWARE Harwdare
+**          Pointer to an gckHARDWARE object.
+**
+**      gceCHIPPOWERSTATE* State
+**          Power State.
+**
+*/
+gceSTATUS
+gckHARDWARE_QueryPowerManagementState(
+    IN gckHARDWARE Hardware,
+    OUT gceCHIPPOWERSTATE* State
+    )
+{
+    gcmkHEADER_ARG("Hardware=0x%x", Hardware);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+    gcmkVERIFY_ARGUMENT(State != gcvNULL);
+
+    /* Return the statue. */
+    *State = Hardware->chipPowerState;
+
+    /* Success. */
+    gcmkFOOTER_ARG("*State=%d", *State);
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckHARDWARE_SetPowerManagement
+**
+**  Configure GPU power management function.
+**  Only used in driver initialization stage.
+**
+**  INPUT:
+**
+**      gckHARDWARE Harwdare
+**          Pointer to an gckHARDWARE object.
+**
+**      gctBOOL PowerManagement
+**          Power Mangement State.
+**
+*/
+gceSTATUS
+gckHARDWARE_SetPowerManagement(
+    IN gckHARDWARE Hardware,
+    IN gctBOOL PowerManagement
+    )
+{
+    gcmkHEADER_ARG("Hardware=0x%x", Hardware);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+
+    Hardware->powerManagement = PowerManagement;
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckHARDWARE_SetGpuProfiler
+**
+**  Configure GPU profiler function.
+**  Only used in driver initialization stage.
+**
+**  INPUT:
+**
+**      gckHARDWARE Harwdare
+**          Pointer to an gckHARDWARE object.
+**
+**      gctBOOL GpuProfiler
+**          GOU Profiler State.
+**
+*/
+gceSTATUS
+gckHARDWARE_SetGpuProfiler(
+    IN gckHARDWARE Hardware,
+    IN gctBOOL GpuProfiler
+    )
+{
+    gcmkHEADER_ARG("Hardware=0x%x", Hardware);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+
+    Hardware->gpuProfiler = GpuProfiler;
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+#if gcdENABLE_FSCALE_VAL_ADJUST
+gceSTATUS
+gckHARDWARE_SetFscaleValue(
+    IN gckHARDWARE Hardware,
+    IN gctUINT32   FscaleValue
+    )
+{
+    gceSTATUS status;
+    gctUINT32 clock;
+    gctBOOL acquired = gcvFALSE;
+
+    gcmkHEADER_ARG("Hardware=0x%x FscaleValue=%d", Hardware, FscaleValue);
+
+    gcmkVERIFY_ARGUMENT(FscaleValue > 0 && FscaleValue <= 64);
+
+    gcmkONERROR(
+        gckOS_AcquireMutex(Hardware->os, Hardware->powerMutex, gcvINFINITE));
+    acquired =  gcvTRUE;
+
+    Hardware->powerOnFscaleVal = FscaleValue;
+
+    if (Hardware->chipPowerState == gcvPOWER_ON)
+    {
+               gctUINT32 data;
+
+        gcmkONERROR(
+            gckOS_ReadRegisterEx(Hardware->os,
+                                 Hardware->core,
+                                 Hardware->powerBaseAddress
+                                 + 0x00104,
+                                 &data));
+
+        /* Disable all clock gating. */
+        gcmkONERROR(
+            gckOS_WriteRegisterEx(Hardware->os,
+                                  Hardware->core,
+                                  Hardware->powerBaseAddress
+                                  + 0x00104,
+                                  ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)))
+                                  | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 1:1) - (0 ? 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 1:1) - (0 ? 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1)))
+                                  | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 2:2) - (0 ? 2:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ? 2:2))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 2:2) - (0 ? 2:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ? 2:2)))
+                                  | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 3:3) - (0 ? 3:3) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ? 3:3))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 3:3) - (0 ? 3:3) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ? 3:3)))
+                                  | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 4:4) - (0 ? 4:4) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ? 4:4))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 4:4) - (0 ? 4:4) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ? 4:4)))
+                                  | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 5:5) - (0 ? 5:5) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ? 5:5))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 5:5) - (0 ? 5:5) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ? 5:5)))
+                                  | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 6:6) - (0 ? 6:6) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ? 6:6))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 6:6) - (0 ? 6:6) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ? 6:6)))
+                                  | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 7:7) - (0 ? 7:7) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ? 7:7))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 7:7) - (0 ? 7:7) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ? 7:7)))
+                                  | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 8:8) - (0 ? 8:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 8:8) - (0 ? 8:8) + 1))))))) << (0 ? 8:8))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 8:8) - (0 ? 8:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 8:8) - (0 ? 8:8) + 1))))))) << (0 ? 8:8)))
+                                  | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 9:9) - (0 ? 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ? 9:9))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 9:9) - (0 ? 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ? 9:9)))
+                                  | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 11:11) - (0 ? 11:11) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 11:11) - (0 ? 11:11) + 1))))))) << (0 ? 11:11))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 11:11) - (0 ? 11:11) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 11:11) - (0 ? 11:11) + 1))))))) << (0 ? 11:11)))));
+
+        clock = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)))
+              | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 1:1) - (0 ? 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 1:1) - (0 ? 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1)))
+              | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 8:2) - (0 ? 8:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ? 8:2))) | (((gctUINT32) ((gctUINT32) (FscaleValue) & ((gctUINT32) ((((1 ? 8:2) - (0 ? 8:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ? 8:2)))
+              | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 9:9) - (0 ? 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ? 9:9))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 9:9) - (0 ? 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ? 9:9)));
+
+        gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os,
+                                          Hardware->core,
+                                          0x00000,
+                                          clock));
+
+        /* Done loading the frequency scaler. */
+        gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os,
+                                          Hardware->core,
+                                          0x00000,
+                                          ((((gctUINT32) (clock)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 9:9) - (0 ? 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ? 9:9))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 9:9) - (0 ? 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ? 9:9)))));
+
+        /* Restore all clock gating. */
+        gcmkONERROR(
+            gckOS_WriteRegisterEx(Hardware->os,
+                                  Hardware->core,
+                                  Hardware->powerBaseAddress
+                                  + 0x00104,
+                                  data));
+    }
+
+    gcmkVERIFY(gckOS_ReleaseMutex(Hardware->os, Hardware->powerMutex));
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    if (acquired)
+    {
+        gcmkVERIFY(gckOS_ReleaseMutex(Hardware->os, Hardware->powerMutex));
+    }
+
+    gcmkFOOTER();
+    return status;
+}
+
+gceSTATUS
+gckHARDWARE_GetFscaleValue(
+    IN gckHARDWARE Hardware,
+    IN gctUINT * FscaleValue,
+    IN gctUINT * MinFscaleValue,
+    IN gctUINT * MaxFscaleValue
+    )
+{
+    *FscaleValue = Hardware->powerOnFscaleVal;
+    if ((gpu3DMinClock > 0) && (gpu3DMinClock <= 64) && (Hardware->core == gcvCORE_MAJOR))
+        *MinFscaleValue = gpu3DMinClock;
+    else
+        *MinFscaleValue = 1;
+    *MaxFscaleValue = 64;
+
+    return gcvSTATUS_OK;
+}
+
+#endif
+
+#if gcdPOWEROFF_TIMEOUT
+gceSTATUS
+gckHARDWARE_SetPowerOffTimeout(
+    IN gckHARDWARE  Hardware,
+    IN gctUINT32    Timeout
+)
+{
+    gcmkHEADER_ARG("Hardware=0x%x Timeout=%d", Hardware, Timeout);
+
+    Hardware->powerOffTimeout = Timeout;
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+
+gceSTATUS
+gckHARDWARE_QueryPowerOffTimeout(
+    IN gckHARDWARE  Hardware,
+    OUT gctUINT32*  Timeout
+)
+{
+    gcmkHEADER_ARG("Hardware=0x%x", Hardware);
+
+    *Timeout = Hardware->powerOffTimeout;
+
+    gcmkFOOTER_ARG("*Timeout=%d", *Timeout);
+    return gcvSTATUS_OK;
+}
+#endif
+
+gceSTATUS
+gckHARDWARE_QueryIdle(
+    IN gckHARDWARE Hardware,
+    OUT gctBOOL_PTR IsIdle
+    )
+{
+    gceSTATUS status;
+    gctUINT32 idle, address;
+
+    gcmkHEADER_ARG("Hardware=0x%x", Hardware);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+    gcmkVERIFY_ARGUMENT(IsIdle != gcvNULL);
+
+    /* We are idle when the power is not ON. */
+    if (Hardware->chipPowerState != gcvPOWER_ON)
+    {
+        *IsIdle = gcvTRUE;
+    }
+
+    else
+    {
+        /* Read idle register. */
+        gcmkONERROR(
+            gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00004, &idle));
+
+        /* Pipe must be idle. */
+        if (((((((gctUINT32) (idle)) >> (0 ? 1:1)) & ((gctUINT32) ((((1 ? 1:1) - (0 ? 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1)))))) ) != 1)
+        ||  ((((((gctUINT32) (idle)) >> (0 ? 3:3)) & ((gctUINT32) ((((1 ? 3:3) - (0 ? 3:3) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 3:3) - (0 ? 3:3) + 1)))))) ) != 1)
+        ||  ((((((gctUINT32) (idle)) >> (0 ? 4:4)) & ((gctUINT32) ((((1 ? 4:4) - (0 ? 4:4) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:4) - (0 ? 4:4) + 1)))))) ) != 1)
+        ||  ((((((gctUINT32) (idle)) >> (0 ? 5:5)) & ((gctUINT32) ((((1 ? 5:5) - (0 ? 5:5) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 5:5) - (0 ? 5:5) + 1)))))) ) != 1)
+        ||  ((((((gctUINT32) (idle)) >> (0 ? 6:6)) & ((gctUINT32) ((((1 ? 6:6) - (0 ? 6:6) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 6:6) - (0 ? 6:6) + 1)))))) ) != 1)
+        ||  ((((((gctUINT32) (idle)) >> (0 ? 7:7)) & ((gctUINT32) ((((1 ? 7:7) - (0 ? 7:7) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:7) - (0 ? 7:7) + 1)))))) ) != 1)
+        ||  ((((((gctUINT32) (idle)) >> (0 ? 2:2)) & ((gctUINT32) ((((1 ? 2:2) - (0 ? 2:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 2:2) - (0 ? 2:2) + 1)))))) ) != 1)
+        )
+        {
+            /* Something is busy. */
+            *IsIdle = gcvFALSE;
+        }
+
+        else
+        {
+            /* Read the current FE address. */
+            gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os,
+                                             Hardware->core,
+                                             0x00664,
+                                             &address));
+
+            /* Test if address is inside the last WAIT/LINK sequence. */
+            if ((address >= Hardware->lastWaitLink)
+            &&  (address <= Hardware->lastWaitLink + 16)
+            )
+            {
+                /* FE is in last WAIT/LINK and the pipe is idle. */
+                *IsIdle = gcvTRUE;
+            }
+            else
+            {
+                /* FE is not in WAIT/LINK yet. */
+                *IsIdle = gcvFALSE;
+            }
+        }
+    }
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+** Handy macros that will help in reading those debug registers.
+*/
+
+#define gcmkREAD_DEBUG_REGISTER(control, block, index, data) \
+    gcmkONERROR(\
+        gckOS_WriteRegisterEx(Hardware->os, \
+                              Hardware->core, \
+                              GC_DEBUG_CONTROL##control##_Address, \
+                              gcmSETFIELD(0, \
+                                          GC_DEBUG_CONTROL##control, \
+                                          block, \
+                                          index))); \
+    gcmkONERROR(\
+        gckOS_ReadRegisterEx(Hardware->os, \
+                             Hardware->core, \
+                             GC_DEBUG_SIGNALS_##block##_Address, \
+                             &profiler->data))
+
+#define gcmkREAD_DEBUG_REGISTER_N(control, block, index, data) \
+    gcmkONERROR(\
+        gckOS_WriteRegisterEx(Hardware->os, \
+                              Hardware->core, \
+                              GC_DEBUG_CONTROL##control##_Address, \
+                              gcmSETFIELD(0, \
+                                          GC_DEBUG_CONTROL##control, \
+                                          block, \
+                                          index))); \
+    gcmkONERROR(\
+        gckOS_ReadRegisterEx(Hardware->os, \
+                             Hardware->core, \
+                             GC_DEBUG_SIGNALS_##block##_Address, \
+                             &data))
+
+#define gcmkRESET_DEBUG_REGISTER(control, block) \
+    gcmkONERROR(\
+        gckOS_WriteRegisterEx(Hardware->os, \
+                              Hardware->core, \
+                              GC_DEBUG_CONTROL##control##_Address, \
+                              gcmSETFIELD(0, \
+                                          GC_DEBUG_CONTROL##control, \
+                                          block, \
+                                          15))); \
+    gcmkONERROR(\
+        gckOS_WriteRegisterEx(Hardware->os, \
+                              Hardware->core, \
+                              GC_DEBUG_CONTROL##control##_Address, \
+                              gcmSETFIELD(0, \
+                                          GC_DEBUG_CONTROL##control, \
+                                          block, \
+                                          0)))
+
+/*******************************************************************************
+**
+**  gckHARDWARE_ProfileEngine2D
+**
+**  Read the profile registers available in the 2D engine and sets them in the
+**  profile.  The function will also reset the pixelsRendered counter every time.
+**
+**  INPUT:
+**
+**      gckHARDWARE Hardware
+**          Pointer to an gckHARDWARE object.
+**
+**      OPTIONAL gcs2D_PROFILE_PTR Profile
+**          Pointer to a gcs2D_Profile structure.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckHARDWARE_ProfileEngine2D(
+    IN gckHARDWARE Hardware,
+    OPTIONAL gcs2D_PROFILE_PTR Profile
+    )
+{
+    gceSTATUS status;
+    gcs2D_PROFILE_PTR profiler = Profile;
+
+    gcmkHEADER_ARG("Hardware=0x%x", Hardware);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+
+    if (Profile != gcvNULL)
+    {
+        /* Read the cycle count. */
+        gcmkONERROR(
+            gckOS_ReadRegisterEx(Hardware->os,
+                                 Hardware->core,
+                                 0x00438,
+                                 &Profile->cycleCount));
+
+        /* Read pixels rendered by 2D engine. */
+        gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (11) & ((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00454, &profiler->pixelsRendered));
+
+        /* Reset counter. */
+        gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (15) & ((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) ));
+gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16)))
+));
+    }
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+#if VIVANTE_PROFILER
+gceSTATUS
+gckHARDWARE_QueryProfileRegisters(
+    IN gckHARDWARE Hardware,
+    IN gctBOOL   Reset,
+    OUT gcsPROFILER_COUNTERS * Counters
+    )
+{
+    gceSTATUS status;
+    gcsPROFILER_COUNTERS * profiler = Counters;
+    gctUINT i, clock;
+    gctUINT32 colorKilled, colorDrawn, depthKilled, depthDrawn;
+    gctUINT32 totalRead, totalWrite;
+
+    gcmkHEADER_ARG("Hardware=0x%x Counters=0x%x", Hardware, Counters);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+
+    /* Read the counters. */
+    gcmkONERROR(
+        gckOS_ReadRegisterEx(Hardware->os,
+                             Hardware->core,
+                             0x00438,
+                             &profiler->gpuCyclesCounter));
+
+    gcmkONERROR(
+        gckOS_ReadRegisterEx(Hardware->os,
+                             Hardware->core,
+                             0x00078,
+                             &profiler->gpuTotalCyclesCounter));
+
+    gcmkONERROR(
+        gckOS_ReadRegisterEx(Hardware->os,
+                            Hardware->core,
+                             0x0007C,
+                             &profiler->gpuIdleCyclesCounter));
+
+
+    /* Read clock control register. */
+    gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os,
+                                     Hardware->core,
+                                     0x00000,
+                                     &clock));
+
+    profiler->gpuTotalRead64BytesPerFrame = 0;
+    profiler->gpuTotalWrite64BytesPerFrame = 0;
+    profiler->pe_pixel_count_killed_by_color_pipe = 0;
+    profiler->pe_pixel_count_killed_by_depth_pipe = 0;
+    profiler->pe_pixel_count_drawn_by_color_pipe = 0;
+    profiler->pe_pixel_count_drawn_by_depth_pipe = 0;
+
+     /* Walk through all avaiable pixel pipes. */
+    for (i = 0; i < Hardware->identity.pixelPipes; ++i)
+    {
+        /* Select proper pipe. */
+        gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os,
+                                           Hardware->core,
+                                           0x00000,
+                                           ((((gctUINT32) (clock)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 23:20) - (0 ? 23:20) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:20) - (0 ? 23:20) + 1))))))) << (0 ? 23:20))) | (((gctUINT32) ((gctUINT32) (i) & ((gctUINT32) ((((1 ? 23:20) - (0 ? 23:20) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:20) - (0 ? 23:20) + 1))))))) << (0 ? 23:20)))));
+
+        /* BW */
+        gcmkONERROR(
+        gckOS_ReadRegisterEx(Hardware->os,
+                             Hardware->core,
+                             0x00040,
+                             &totalRead));
+        gcmkONERROR(
+        gckOS_ReadRegisterEx(Hardware->os,
+                             Hardware->core,
+                             0x00044,
+                             &totalWrite));
+
+        profiler->gpuTotalRead64BytesPerFrame += totalRead;
+        profiler->gpuTotalWrite64BytesPerFrame += totalWrite;
+
+        /* PE */
+        gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16)))));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00454, &colorKilled));
+        gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16)))));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00454, &depthKilled));
+        gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (2) & ((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16)))));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00454, &colorDrawn));
+        gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (3) & ((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16)))));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00454, &depthDrawn));
+
+        profiler->pe_pixel_count_killed_by_color_pipe += colorKilled;
+        profiler->pe_pixel_count_killed_by_depth_pipe += depthKilled;
+        profiler->pe_pixel_count_drawn_by_color_pipe += colorDrawn;
+        profiler->pe_pixel_count_drawn_by_depth_pipe += depthDrawn;
+    }
+
+    /* Reset clock control register. */
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os,
+                                      Hardware->core,
+                                      0x00000,
+                                      clock));
+
+    if(Reset){
+            /* Reset counters. */
+            gcmkONERROR(
+                gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x0003C, 1));
+            gcmkONERROR(
+                gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x0003C, 0));
+            gcmkONERROR(
+                gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00438, 0));
+            gcmkONERROR(
+                gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00078, 0));
+            gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (15) & ((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) ));
+gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16)))
+));
+    }
+
+    /* SH */
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (7) & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler->ps_inst_counter));
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (8) & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler->rendered_pixel_counter));
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (9) & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler->vs_inst_counter));
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (10) & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler->rendered_vertice_counter));
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (11) & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler->vtx_branch_inst_counter));
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (12) & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler->vtx_texld_inst_counter));
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (13) & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler->pxl_branch_inst_counter));
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (14) & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler->pxl_texld_inst_counter));
+    if(Reset){  gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (15) & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24)))
+));}
+
+    /* PA */
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) | (((gctUINT32) ((gctUINT32) (3) & ((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460, &profiler->pa_input_vtx_counter));
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) | (((gctUINT32) ((gctUINT32) (4) & ((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460, &profiler->pa_input_prim_counter));
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) | (((gctUINT32) ((gctUINT32) (5) & ((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460, &profiler->pa_output_prim_counter));
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) | (((gctUINT32) ((gctUINT32) (6) & ((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460, &profiler->pa_depth_clipped_counter));
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) | (((gctUINT32) ((gctUINT32) (7) & ((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460, &profiler->pa_trivial_rejected_counter));
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) | (((gctUINT32) ((gctUINT32) (8) & ((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460, &profiler->pa_culled_counter));
+    if(Reset){ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) | (((gctUINT32) ((gctUINT32) (15) & ((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
+gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0)))
+));}
+
+    /* SE */
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler->se_culled_triangle_count));
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler->se_culled_lines_count));
+    if(Reset){ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) | (((gctUINT32) ((gctUINT32) (15) & ((gctUINT32) ((((1 ? 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) ));
+gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8)))
+));}
+
+    /* RA */
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448, &profiler->ra_valid_pixel_count));
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448, &profiler->ra_total_quad_count));
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (2) & ((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448, &profiler->ra_valid_quad_count_after_early_z));
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (3) & ((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448, &profiler->ra_total_primitive_count));
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (9) & ((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448, &profiler->ra_pipe_cache_miss_counter));
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (10) & ((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448, &profiler->ra_prefetch_cache_miss_counter));
+    if(Reset){ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (15) & ((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) ));
+gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16)))
+));}
+
+    /* TX */
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler->tx_total_bilinear_requests));
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler->tx_total_trilinear_requests));
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (2) & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler->tx_total_discarded_texture_requests));
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (3) & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler->tx_total_texture_requests));
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (5) & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler->tx_mem_read_count));
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (6) & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler->tx_mem_read_in_8B_count));
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (7) & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler->tx_cache_miss_count));
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (8) & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler->tx_cache_hit_texel_count));
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (9) & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler->tx_cache_miss_texel_count));
+    if(Reset){ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (15) & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24)))
+));}
+
+    /* MC */
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profiler->mc_total_read_req_8B_from_pipeline));
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) | (((gctUINT32) ((gctUINT32) (2) & ((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profiler->mc_total_read_req_8B_from_IP));
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) | (((gctUINT32) ((gctUINT32) (3) & ((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profiler->mc_total_write_req_8B_from_pipeline));
+    if(Reset){ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) | (((gctUINT32) ((gctUINT32) (15) & ((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
+gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0)))
+));}
+
+    /* HI */
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0046C, &profiler->hi_axi_cycles_read_request_stalled));
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0046C, &profiler->hi_axi_cycles_write_request_stalled));
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) | (((gctUINT32) ((gctUINT32) (2) & ((gctUINT32) ((((1 ? 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0046C, &profiler->hi_axi_cycles_write_data_stalled));
+    if(Reset){ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) | (((gctUINT32) ((gctUINT32) (15) & ((gctUINT32) ((((1 ? 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) ));
+gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8)))
+));}
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+#endif
+
+#if VIVANTE_PROFILER_CONTEXT
+#define gcmkUPDATE_PROFILE_DATA(data) \
+    profilerHistroy->data += profiler->data
+
+gceSTATUS
+gckHARDWARE_QueryContextProfile(
+    IN gckHARDWARE Hardware,
+    IN gctBOOL   Reset,
+    IN gckCONTEXT Context,
+    OUT gcsPROFILER_COUNTERS * Counters
+    )
+{
+    gceSTATUS status;
+    gckCOMMAND command = Hardware->kernel->command;
+    gcsPROFILER_COUNTERS * profiler = Counters;
+
+    gcmkHEADER_ARG("Hardware=0x%x Counters=0x%x", Hardware, Counters);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+
+    /* Acquire the context sequnence mutex. */
+    gcmkONERROR(gckOS_AcquireMutex(
+        command->os, command->mutexContextSeq, gcvINFINITE
+        ));
+
+    /* Read the counters. */
+    gcmkVERIFY_OK(gckOS_MemCopy(
+        profiler, &Context->histroyProfiler, gcmSIZEOF(gcsPROFILER_COUNTERS)
+        ));
+
+    if (Reset)
+    {
+        /* Reset counters. */
+        gcmkVERIFY_OK(gckOS_ZeroMemory(
+            &Context->histroyProfiler, gcmSIZEOF(gcsPROFILER_COUNTERS)
+            ));
+    }
+
+    gcmkVERIFY_OK(gckOS_ReleaseMutex(
+        command->os, command->mutexContextSeq
+        ));
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+
+gceSTATUS
+gckHARDWARE_UpdateContextProfile(
+    IN gckHARDWARE Hardware,
+    IN gckCONTEXT Context
+    )
+{
+    gceSTATUS status;
+    gcsPROFILER_COUNTERS * profiler = &Context->latestProfiler;
+    gcsPROFILER_COUNTERS * profilerHistroy = &Context->histroyProfiler;
+    gctUINT i, clock;
+    gctUINT32 colorKilled, colorDrawn, depthKilled, depthDrawn;
+    gctUINT32 totalRead, totalWrite;
+    gceCHIPMODEL chipModel;
+    gctUINT32 chipRevision;
+    gctUINT32 temp;
+    gctBOOL needResetShader = gcvFALSE;
+
+    gcmkHEADER_ARG("Hardware=0x%x Context=0x%x", Hardware, Context);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+    gcmkVERIFY_OBJECT(Context, gcvOBJ_CONTEXT);
+
+    chipModel = Hardware->identity.chipModel;
+    chipRevision = Hardware->identity.chipRevision;
+    if (chipModel == gcv2000 || (chipModel == gcv2100 && chipRevision == 0x5118))
+    {
+        needResetShader = gcvTRUE;
+    }
+
+    /* Read the counters. */
+    gcmkONERROR(
+        gckOS_ReadRegisterEx(Hardware->os,
+                             Hardware->core,
+                             0x00438,
+                             &profiler->gpuCyclesCounter));
+    gcmkUPDATE_PROFILE_DATA(gpuCyclesCounter);
+
+    gcmkONERROR(
+        gckOS_ReadRegisterEx(Hardware->os,
+                             Hardware->core,
+                             0x00078,
+                             &profiler->gpuTotalCyclesCounter));
+    gcmkUPDATE_PROFILE_DATA(gpuTotalCyclesCounter);
+
+    gcmkONERROR(
+        gckOS_ReadRegisterEx(Hardware->os,
+                             Hardware->core,
+                             0x0007C,
+                             &profiler->gpuIdleCyclesCounter));
+    gcmkUPDATE_PROFILE_DATA(gpuIdleCyclesCounter);
+
+    /* Read clock control register. */
+    gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os,
+                                     Hardware->core,
+                                     0x00000,
+                                     &clock));
+
+    profiler->gpuTotalRead64BytesPerFrame = 0;
+    profiler->gpuTotalWrite64BytesPerFrame = 0;
+    profiler->pe_pixel_count_killed_by_color_pipe = 0;
+    profiler->pe_pixel_count_killed_by_depth_pipe = 0;
+    profiler->pe_pixel_count_drawn_by_color_pipe = 0;
+    profiler->pe_pixel_count_drawn_by_depth_pipe = 0;
+
+    /* Walk through all avaiable pixel pipes. */
+    for (i = 0; i < Hardware->identity.pixelPipes; ++i)
+    {
+        /* Select proper pipe. */
+        gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os,
+                                           Hardware->core,
+                                           0x00000,
+                                           ((((gctUINT32) (clock)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 23:20) - (0 ? 23:20) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:20) - (0 ? 23:20) + 1))))))) << (0 ? 23:20))) | (((gctUINT32) ((gctUINT32) (i) & ((gctUINT32) ((((1 ? 23:20) - (0 ? 23:20) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:20) - (0 ? 23:20) + 1))))))) << (0 ? 23:20)))));
+
+        /* BW */
+        gcmkONERROR(
+        gckOS_ReadRegisterEx(Hardware->os,
+                             Hardware->core,
+                             0x00040,
+                             &totalRead));
+        gcmkONERROR(
+        gckOS_ReadRegisterEx(Hardware->os,
+                             Hardware->core,
+                             0x00044,
+                             &totalWrite));
+
+        profiler->gpuTotalRead64BytesPerFrame += totalRead;
+        profiler->gpuTotalWrite64BytesPerFrame += totalWrite;
+        gcmkUPDATE_PROFILE_DATA(gpuTotalRead64BytesPerFrame);
+        gcmkUPDATE_PROFILE_DATA(gpuTotalWrite64BytesPerFrame);
+
+        /* PE */
+        gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16)))));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00454, &colorKilled));
+        gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16)))));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00454, &depthKilled));
+        gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (2) & ((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16)))));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00454, &colorDrawn));
+        gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (3) & ((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16)))));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00454, &depthDrawn));
+
+        profiler->pe_pixel_count_killed_by_color_pipe += colorKilled;
+        profiler->pe_pixel_count_killed_by_depth_pipe += depthKilled;
+        profiler->pe_pixel_count_drawn_by_color_pipe += colorDrawn;
+        profiler->pe_pixel_count_drawn_by_depth_pipe += depthDrawn;
+        gcmkUPDATE_PROFILE_DATA(pe_pixel_count_killed_by_color_pipe);
+        gcmkUPDATE_PROFILE_DATA(pe_pixel_count_killed_by_depth_pipe);
+        gcmkUPDATE_PROFILE_DATA(pe_pixel_count_drawn_by_color_pipe);
+        gcmkUPDATE_PROFILE_DATA(pe_pixel_count_drawn_by_depth_pipe);
+    }
+
+    /* Reset clock control register. */
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os,
+                                      Hardware->core,
+                                      0x00000,
+                                      clock));
+
+
+
+
+    /* Reset counters. */
+    gcmkONERROR(
+        gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x0003C, 1));
+    gcmkONERROR(
+        gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x0003C, 0));
+    gcmkONERROR(
+        gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00438, 0));
+    gcmkONERROR(
+        gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00078, 0));
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (15) & ((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) ));
+gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16)))
+));
+
+    /* SH */
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (7) & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler->ps_inst_counter));
+    if (needResetShader)
+    {
+        temp = profiler->ps_inst_counter;
+        profiler->ps_inst_counter -= Context->prevPSInstCount;
+        Context->prevPSInstCount = temp;
+    }
+    gcmkUPDATE_PROFILE_DATA(ps_inst_counter);
+
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (8) & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler->rendered_pixel_counter));
+    if (needResetShader)
+    {
+        temp = profiler->rendered_pixel_counter;
+        profiler->rendered_pixel_counter -= Context->prevPSPixelCount;
+        Context->prevPSPixelCount = temp;
+    }
+    gcmkUPDATE_PROFILE_DATA(rendered_pixel_counter);
+
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (9) & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler->vs_inst_counter));
+    if (needResetShader)
+    {
+        temp = profiler->vs_inst_counter;
+        profiler->vs_inst_counter -= Context->prevVSInstCount;
+        Context->prevVSInstCount = temp;
+    }
+    gcmkUPDATE_PROFILE_DATA(vs_inst_counter);
+
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (10) & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler->rendered_vertice_counter));
+    if (needResetShader)
+    {
+        temp = profiler->rendered_vertice_counter;
+        profiler->rendered_vertice_counter -= Context->prevVSVertexCount;
+        Context->prevVSVertexCount = temp;
+    }
+    gcmkUPDATE_PROFILE_DATA(rendered_vertice_counter);
+
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (11) & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler->vtx_branch_inst_counter));
+    if (needResetShader)
+    {
+        temp = profiler->vtx_branch_inst_counter;
+        profiler->vtx_branch_inst_counter -= Context->prevVSBranchInstCount;
+        Context->prevVSBranchInstCount = temp;
+    }
+    gcmkUPDATE_PROFILE_DATA(vtx_branch_inst_counter);
+
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (12) & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler->vtx_texld_inst_counter));
+    if (needResetShader)
+    {
+        temp = profiler->vtx_texld_inst_counter;
+        profiler->vtx_texld_inst_counter -= Context->prevVSTexInstCount;
+        Context->prevVSTexInstCount = temp;
+    }
+    gcmkUPDATE_PROFILE_DATA(vtx_texld_inst_counter);
+
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (13) & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler->pxl_branch_inst_counter));
+    if (needResetShader)
+    {
+        temp = profiler->pxl_branch_inst_counter;
+        profiler->pxl_branch_inst_counter -= Context->prevPSBranchInstCount;
+        Context->prevPSBranchInstCount = temp;
+    }
+    gcmkUPDATE_PROFILE_DATA(pxl_branch_inst_counter);
+
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (14) & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler->pxl_texld_inst_counter));
+    if (needResetShader)
+    {
+        temp = profiler->pxl_texld_inst_counter;
+        profiler->pxl_texld_inst_counter -= Context->prevPSTexInstCount;
+        Context->prevPSTexInstCount = temp;
+    }
+    gcmkUPDATE_PROFILE_DATA(pxl_texld_inst_counter);
+
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (15) & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24)))
+));
+
+    /* PA */
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) | (((gctUINT32) ((gctUINT32) (3) & ((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460, &profiler->pa_input_vtx_counter));
+    gcmkUPDATE_PROFILE_DATA(pa_input_vtx_counter);
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) | (((gctUINT32) ((gctUINT32) (4) & ((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460, &profiler->pa_input_prim_counter));
+    gcmkUPDATE_PROFILE_DATA(pa_input_prim_counter);
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) | (((gctUINT32) ((gctUINT32) (5) & ((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460, &profiler->pa_output_prim_counter));
+    gcmkUPDATE_PROFILE_DATA(pa_output_prim_counter);
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) | (((gctUINT32) ((gctUINT32) (6) & ((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460, &profiler->pa_depth_clipped_counter));
+    gcmkUPDATE_PROFILE_DATA(pa_depth_clipped_counter);
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) | (((gctUINT32) ((gctUINT32) (7) & ((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460, &profiler->pa_trivial_rejected_counter));
+    gcmkUPDATE_PROFILE_DATA(pa_trivial_rejected_counter);
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) | (((gctUINT32) ((gctUINT32) (8) & ((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460, &profiler->pa_culled_counter));
+    gcmkUPDATE_PROFILE_DATA(pa_culled_counter);
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) | (((gctUINT32) ((gctUINT32) (15) & ((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
+gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0)))
+));
+
+    /* SE */
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler->se_culled_triangle_count));
+    gcmkUPDATE_PROFILE_DATA(se_culled_triangle_count);
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler->se_culled_lines_count));
+    gcmkUPDATE_PROFILE_DATA(se_culled_lines_count);
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) | (((gctUINT32) ((gctUINT32) (15) & ((gctUINT32) ((((1 ? 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) ));
+gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8)))
+));
+
+    /* RA */
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448, &profiler->ra_valid_pixel_count));
+    gcmkUPDATE_PROFILE_DATA(ra_valid_pixel_count);
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448, &profiler->ra_total_quad_count));
+    gcmkUPDATE_PROFILE_DATA(ra_total_quad_count);
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (2) & ((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448, &profiler->ra_valid_quad_count_after_early_z));
+    gcmkUPDATE_PROFILE_DATA(ra_valid_quad_count_after_early_z);
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (3) & ((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448, &profiler->ra_total_primitive_count));
+    gcmkUPDATE_PROFILE_DATA(ra_total_primitive_count);
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (9) & ((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448, &profiler->ra_pipe_cache_miss_counter));
+    gcmkUPDATE_PROFILE_DATA(ra_pipe_cache_miss_counter);
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (10) & ((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448, &profiler->ra_prefetch_cache_miss_counter));
+    gcmkUPDATE_PROFILE_DATA(ra_prefetch_cache_miss_counter);
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (15) & ((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) ));
+gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16)))
+));
+
+    /* TX */
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler->tx_total_bilinear_requests));
+    gcmkUPDATE_PROFILE_DATA(tx_total_bilinear_requests);
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler->tx_total_trilinear_requests));
+    gcmkUPDATE_PROFILE_DATA(tx_total_trilinear_requests);
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (2) & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler->tx_total_discarded_texture_requests));
+    gcmkUPDATE_PROFILE_DATA(tx_total_discarded_texture_requests);
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (3) & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler->tx_total_texture_requests));
+    gcmkUPDATE_PROFILE_DATA(tx_total_texture_requests);
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (5) & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler->tx_mem_read_count));
+    gcmkUPDATE_PROFILE_DATA(tx_mem_read_count);
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (6) & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler->tx_mem_read_in_8B_count));
+    gcmkUPDATE_PROFILE_DATA(tx_mem_read_in_8B_count);
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (7) & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler->tx_cache_miss_count));
+    gcmkUPDATE_PROFILE_DATA(tx_cache_miss_count);
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (8) & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler->tx_cache_hit_texel_count));
+    gcmkUPDATE_PROFILE_DATA(tx_cache_hit_texel_count);
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (9) & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler->tx_cache_miss_texel_count));
+    gcmkUPDATE_PROFILE_DATA(tx_cache_miss_texel_count);
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (15) & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24)))
+));
+
+    /* MC */
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profiler->mc_total_read_req_8B_from_pipeline));
+    gcmkUPDATE_PROFILE_DATA(mc_total_read_req_8B_from_pipeline);
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) | (((gctUINT32) ((gctUINT32) (2) & ((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profiler->mc_total_read_req_8B_from_IP));
+    gcmkUPDATE_PROFILE_DATA(mc_total_read_req_8B_from_IP);
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) | (((gctUINT32) ((gctUINT32) (3) & ((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profiler->mc_total_write_req_8B_from_pipeline));
+    gcmkUPDATE_PROFILE_DATA(mc_total_write_req_8B_from_pipeline);
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) | (((gctUINT32) ((gctUINT32) (15) & ((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
+gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0)))
+));
+
+    /* HI */
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0046C, &profiler->hi_axi_cycles_read_request_stalled));
+    gcmkUPDATE_PROFILE_DATA(hi_axi_cycles_read_request_stalled);
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0046C, &profiler->hi_axi_cycles_write_request_stalled));
+    gcmkUPDATE_PROFILE_DATA(hi_axi_cycles_write_request_stalled);
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) | (((gctUINT32) ((gctUINT32) (2) & ((gctUINT32) ((((1 ? 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0046C, &profiler->hi_axi_cycles_write_data_stalled));
+    gcmkUPDATE_PROFILE_DATA(hi_axi_cycles_write_data_stalled);
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) | (((gctUINT32) ((gctUINT32) (15) & ((gctUINT32) ((((1 ? 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) ));
+gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8)))
+));
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+#endif
+
+static gceSTATUS
+_ResetGPU(
+    IN gckHARDWARE Hardware,
+    IN gckOS Os,
+    IN gceCORE Core
+    )
+{
+    gctUINT32 control, idle;
+    gceSTATUS status;
+
+    for (;;)
+    {
+        /* Disable clock gating. */
+        gcmkONERROR(gckOS_WriteRegisterEx(Os,
+                    Core,
+                    Hardware->powerBaseAddress +
+                    0x00104,
+                    0x00000000));
+
+        control = ((((gctUINT32) (0x01590880)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 17:17) - (0 ? 17:17) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 17:17) - (0 ? 17:17) + 1))))))) << (0 ? 17:17))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 17:17) - (0 ? 17:17) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 17:17) - (0 ? 17:17) + 1))))))) << (0 ? 17:17)));
+
+        /* Disable pulse-eater. */
+        gcmkONERROR(gckOS_WriteRegisterEx(Os,
+                    Core,
+                    0x0010C,
+                    control));
+
+        gcmkONERROR(gckOS_WriteRegisterEx(Os,
+                    Core,
+                    0x0010C,
+                    ((((gctUINT32) (control)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)))));
+
+        gcmkONERROR(gckOS_WriteRegisterEx(Os,
+                    Core,
+                    0x0010C,
+                    control));
+
+        gcmkONERROR(gckOS_WriteRegisterEx(Os,
+                    Core,
+                    0x00000,
+                    ((((gctUINT32) (0x00000900)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 9:9) - (0 ? 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ? 9:9))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 9:9) - (0 ? 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ? 9:9)))));
+
+        gcmkONERROR(gckOS_WriteRegisterEx(Os,
+                    Core,
+                    0x00000,
+                    0x00000900));
+
+        /* Wait for clock being stable. */
+        gcmkONERROR(gckOS_Delay(Os, 1));
+
+        /* Isolate the GPU. */
+        control = ((((gctUINT32) (0x00000900)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 19:19) - (0 ? 19:19) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 19:19) - (0 ? 19:19) + 1))))))) << (0 ? 19:19))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 19:19) - (0 ? 19:19) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 19:19) - (0 ? 19:19) + 1))))))) << (0 ? 19:19)));
+
+        gcmkONERROR(gckOS_WriteRegisterEx(Os,
+                                          Core,
+                                          0x00000,
+                                          control));
+
+        /* Set soft reset. */
+        gcmkONERROR(gckOS_WriteRegisterEx(Os,
+                                          Core,
+                                          0x00000,
+                                          ((((gctUINT32) (control)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 12:12) - (0 ? 12:12) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:12) - (0 ? 12:12) + 1))))))) << (0 ? 12:12))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 12:12) - (0 ? 12:12) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:12) - (0 ? 12:12) + 1))))))) << (0 ? 12:12)))));
+
+        /* Wait for reset. */
+        gcmkONERROR(gckOS_Delay(Os, 1));
+
+        /* Reset soft reset bit. */
+        gcmkONERROR(gckOS_WriteRegisterEx(Os,
+                                          Core,
+                                          0x00000,
+                                          ((((gctUINT32) (control)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 12:12) - (0 ? 12:12) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:12) - (0 ? 12:12) + 1))))))) << (0 ? 12:12))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 12:12) - (0 ? 12:12) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:12) - (0 ? 12:12) + 1))))))) << (0 ? 12:12)))));
+
+        /* Reset GPU isolation. */
+        control = ((((gctUINT32) (control)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 19:19) - (0 ? 19:19) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 19:19) - (0 ? 19:19) + 1))))))) << (0 ? 19:19))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 19:19) - (0 ? 19:19) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 19:19) - (0 ? 19:19) + 1))))))) << (0 ? 19:19)));
+
+        gcmkONERROR(gckOS_WriteRegisterEx(Os,
+                                          Core,
+                                          0x00000,
+                                          control));
+
+        /* Read idle register. */
+        gcmkONERROR(gckOS_ReadRegisterEx(Os,
+                                         Core,
+                                         0x00004,
+                                         &idle));
+
+        if ((((((gctUINT32) (idle)) >> (0 ? 0:0)) & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1)))))) ) == 0)
+        {
+            continue;
+        }
+
+        /* Read reset register. */
+        gcmkONERROR(gckOS_ReadRegisterEx(Os,
+                                         Core,
+                                         0x00000,
+                                         &control));
+
+        if (((((((gctUINT32) (control)) >> (0 ? 16:16)) & ((gctUINT32) ((((1 ? 16:16) - (0 ? 16:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 16:16) - (0 ? 16:16) + 1)))))) ) == 0)
+        ||  ((((((gctUINT32) (control)) >> (0 ? 17:17)) & ((gctUINT32) ((((1 ? 17:17) - (0 ? 17:17) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 17:17) - (0 ? 17:17) + 1)))))) ) == 0)
+        )
+        {
+            continue;
+        }
+
+        /* GPU is idle. */
+        break;
+    }
+
+    /* Success. */
+    return gcvSTATUS_OK;
+
+OnError:
+
+    /* Return the error. */
+    return status;
+}
+
+gceSTATUS
+gckHARDWARE_Reset(
+    IN gckHARDWARE Hardware
+    )
+{
+    gceSTATUS status;
+    gckCOMMAND command;
+    gctBOOL acquired = gcvFALSE;
+    gctBOOL mutexAcquired = gcvFALSE;
+    gctUINT32 process, thread;
+
+    gcmkHEADER_ARG("Hardware=0x%x", Hardware);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+    gcmkVERIFY_OBJECT(Hardware->kernel, gcvOBJ_KERNEL);
+    command = Hardware->kernel->command;
+    gcmkVERIFY_OBJECT(command, gcvOBJ_COMMAND);
+
+    if (Hardware->identity.chipRevision < 0x4600)
+    {
+        /* Not supported - we need the isolation bit. */
+        gcmkONERROR(gcvSTATUS_NOT_SUPPORTED);
+    }
+
+    status = gckOS_AcquireMutex(Hardware->os, Hardware->powerMutex, 0);
+    if (status == gcvSTATUS_TIMEOUT)
+    {
+        gcmkONERROR(gckOS_GetProcessID(&process));
+        gcmkONERROR(gckOS_GetThreadID(&thread));
+
+        if ((Hardware->powerProcess == process)
+        &&  (Hardware->powerThread  == thread))
+        {
+            /* No way to recovery from a error in power management. */
+            gcmkFOOTER_NO();
+            return gcvSTATUS_OK;
+        }
+    }
+    else
+    {
+        mutexAcquired = gcvTRUE;
+    }
+
+    if (Hardware->chipPowerState == gcvPOWER_ON)
+    {
+        /* Acquire the power management semaphore. */
+        gcmkONERROR(
+            gckOS_AcquireSemaphore(Hardware->os, command->powerSemaphore));
+        acquired = gcvTRUE;
+    }
+
+    if ((Hardware->chipPowerState == gcvPOWER_ON)
+    ||  (Hardware->chipPowerState == gcvPOWER_IDLE)
+    )
+    {
+        /* Stop the command processor. */
+        gcmkONERROR(gckCOMMAND_Stop(command, gcvTRUE));
+    }
+
+    /* Stop isr, we will start it again when power on GPU. */
+    if (Hardware->stopIsr)
+    {
+        gcmkONERROR(Hardware->stopIsr(Hardware->isrContext));
+    }
+
+    /* Hardware reset. */
+    status = gckOS_ResetGPU(Hardware->os, Hardware->core);
+
+    if (gcmIS_ERROR(status))
+    {
+        /* Soft reset. */
+        gcmkONERROR(_ResetGPU(Hardware, Hardware->os, Hardware->core));
+    }
+
+    /* Force an OFF to ON power switch. */
+    Hardware->chipPowerState = gcvPOWER_OFF;
+
+    gcmkONERROR(gckOS_ReleaseMutex(Hardware->os, Hardware->powerMutex));
+    mutexAcquired = gcvFALSE;
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    if (acquired)
+    {
+        /* Release the power management semaphore. */
+        gcmkVERIFY_OK(
+            gckOS_ReleaseSemaphore(Hardware->os, command->powerSemaphore));
+    }
+
+    if (mutexAcquired)
+    {
+        gckOS_ReleaseMutex(Hardware->os, Hardware->powerMutex);
+    }
+
+    /* Return the error. */
+    gcmkFOOTER();
+    return status;
+}
+
+gceSTATUS
+gckHARDWARE_GetBaseAddress(
+    IN gckHARDWARE Hardware,
+    OUT gctUINT32_PTR BaseAddress
+    )
+{
+    gceSTATUS status;
+
+    gcmkHEADER_ARG("Hardware=0x%x", Hardware);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+    gcmkVERIFY_ARGUMENT(BaseAddress != gcvNULL);
+
+    /* Test if we have a new Memory Controller. */
+    if (((((gctUINT32) (Hardware->identity.chipMinorFeatures)) >> (0 ? 22:22) & ((gctUINT32) ((((1 ? 22:22) - (0 ? 22:22) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 22:22) - (0 ? 22:22) + 1)))))) == (0x1 & ((gctUINT32) ((((1 ? 22:22) - (0 ? 22:22) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 22:22) - (0 ? 22:22) + 1))))))))
+    {
+        /* No base address required. */
+        *BaseAddress = 0;
+    }
+    else
+    {
+        /* Get the base address from the OS. */
+        gcmkONERROR(gckOS_GetBaseAddress(Hardware->os, BaseAddress));
+    }
+
+    /* Success. */
+    gcmkFOOTER_ARG("*BaseAddress=0x%08x", *BaseAddress);
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+gceSTATUS
+gckHARDWARE_NeedBaseAddress(
+    IN gckHARDWARE Hardware,
+    IN gctUINT32 State,
+    OUT gctBOOL_PTR NeedBase
+    )
+{
+    gctBOOL need = gcvFALSE;
+
+    gcmkHEADER_ARG("Hardware=0x%x State=0x%08x", Hardware, State);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+    gcmkVERIFY_ARGUMENT(NeedBase != gcvNULL);
+
+    /* Make sure this is a load state. */
+    if (((((gctUINT32) (State)) >> (0 ? 31:27) & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1)))))) == (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))))
+    {
+#ifndef VIVANTE_NO_3D
+        /* Get the state address. */
+        switch ((((((gctUINT32) (State)) >> (0 ? 15:0)) & ((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1)))))) ))
+        {
+        case 0x0596:
+        case 0x0597:
+        case 0x0599:
+        case 0x059A:
+        case 0x05A9:
+            /* These states need a TRUE physical address. */
+            need = gcvTRUE;
+            break;
+        }
+#else
+        /* 2D addresses don't need a base address. */
+#endif
+    }
+
+    /* Return the flag. */
+    *NeedBase = need;
+
+    /* Success. */
+    gcmkFOOTER_ARG("*NeedBase=%d", *NeedBase);
+    return gcvSTATUS_OK;
+}
+
+gceSTATUS
+gckHARDWARE_SetIsrManager(
+   IN gckHARDWARE Hardware,
+   IN gctISRMANAGERFUNC StartIsr,
+   IN gctISRMANAGERFUNC StopIsr,
+   IN gctPOINTER Context
+   )
+{
+    gceSTATUS status = gcvSTATUS_OK;
+
+    gcmkHEADER_ARG("Hardware=0x%x, StartIsr=0x%x, StopIsr=0x%x, Context=0x%x",
+                   Hardware, StartIsr, StopIsr, Context);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+
+    if (StartIsr == gcvNULL ||
+        StopIsr == gcvNULL ||
+        Context == gcvNULL)
+    {
+        status = gcvSTATUS_INVALID_ARGUMENT;
+
+        gcmkFOOTER();
+        return status;
+    }
+
+    Hardware->startIsr = StartIsr;
+    Hardware->stopIsr = StopIsr;
+    Hardware->isrContext = Context;
+
+    /* Success. */
+    gcmkFOOTER();
+
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckHARDWARE_Compose
+**
+**  Start a composition.
+**
+**  INPUT:
+**
+**      gckHARDWARE Hardware
+**          Pointer to the gckHARDWARE object.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckHARDWARE_Compose(
+    IN gckHARDWARE Hardware,
+    IN gctUINT32 ProcessID,
+    IN gctPHYS_ADDR Physical,
+    IN gctPOINTER Logical,
+    IN gctSIZE_T Offset,
+    IN gctSIZE_T Size,
+    IN gctUINT8 EventID
+    )
+{
+#ifndef VIVANTE_NO_3D
+    gceSTATUS status;
+    gctUINT32_PTR triggerState;
+
+    gcmkHEADER_ARG("Hardware=0x%x Physical=0x%x Logical=0x%x"
+                   " Offset=%d Size=%d EventID=%d",
+                   Hardware, Physical, Logical, Offset, Size, EventID);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+    gcmkVERIFY_ARGUMENT(((Size + 8) & 63) == 0);
+    gcmkVERIFY_ARGUMENT(Logical != gcvNULL);
+
+    /* Program the trigger state. */
+    triggerState = (gctUINT32_PTR) ((gctUINT8_PTR) Logical + Offset + Size);
+    triggerState[0] = 0x0C03;
+    triggerState[1]
+        = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 1:0) - (0 ? 1:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ? 1:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 1:0) - (0 ? 1:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ? 1:0)))
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 5:4) - (0 ? 5:4) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 5:4) - (0 ? 5:4) + 1))))))) << (0 ? 5:4))) | (((gctUINT32) (0x3 & ((gctUINT32) ((((1 ? 5:4) - (0 ? 5:4) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 5:4) - (0 ? 5:4) + 1))))))) << (0 ? 5:4)))
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 8:8) - (0 ? 8:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 8:8) - (0 ? 8:8) + 1))))))) << (0 ? 8:8))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 8:8) - (0 ? 8:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 8:8) - (0 ? 8:8) + 1))))))) << (0 ? 8:8)))
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 24:24) - (0 ? 24:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 24:24) - (0 ? 24:24) + 1))))))) << (0 ? 24:24))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 24:24) - (0 ? 24:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 24:24) - (0 ? 24:24) + 1))))))) << (0 ? 24:24)))
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 12:12) - (0 ? 12:12) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:12) - (0 ? 12:12) + 1))))))) << (0 ? 12:12))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 12:12) - (0 ? 12:12) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:12) - (0 ? 12:12) + 1))))))) << (0 ? 12:12)))
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 20:16) - (0 ? 20:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 20:16) - (0 ? 20:16) + 1))))))) << (0 ? 20:16))) | (((gctUINT32) ((gctUINT32) (EventID) & ((gctUINT32) ((((1 ? 20:16) - (0 ? 20:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 20:16) - (0 ? 20:16) + 1))))))) << (0 ? 20:16)))
+        ;
+
+#if gcdNONPAGED_MEMORY_CACHEABLE
+    /* Flush the cache for the wait/link. */
+    gcmkONERROR(gckOS_CacheClean(
+        Hardware->os, ProcessID, gcvNULL,
+        Physical, Logical, Offset + Size
+        ));
+#endif
+
+    /* Start composition. */
+    gcmkONERROR(gckOS_WriteRegisterEx(
+        Hardware->os, Hardware->core, 0x00554,
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 1:0) - (0 ? 1:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ? 1:0))) | (((gctUINT32) (0x3 & ((gctUINT32) ((((1 ? 1:0) - (0 ? 1:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ? 1:0)))
+        ));
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+#else
+    /* Return the status. */
+    return gcvSTATUS_NOT_SUPPORTED;
+#endif
+}
+
+/*******************************************************************************
+**
+**  gckHARDWARE_IsFeatureAvailable
+**
+**  Verifies whether the specified feature is available in hardware.
+**
+**  INPUT:
+**
+**      gckHARDWARE Hardware
+**          Pointer to an gckHARDWARE object.
+**
+**      gceFEATURE Feature
+**          Feature to be verified.
+*/
+gceSTATUS
+gckHARDWARE_IsFeatureAvailable(
+    IN gckHARDWARE Hardware,
+    IN gceFEATURE Feature
+    )
+{
+    gctBOOL available;
+
+    gcmkHEADER_ARG("Hardware=0x%x Feature=%d", Hardware, Feature);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+
+    /* Only features needed by common kernel logic added here. */
+    switch (Feature)
+    {
+    case gcvFEATURE_END_EVENT:
+        /*available = gcmVERIFYFIELDVALUE(Hardware->identity.chipMinorFeatures2,
+            GC_MINOR_FEATURES2, END_EVENT, AVAILABLE
+            );*/
+        available = gcvFALSE;
+        break;
+    case gcvFEATURE_MC20:
+        available = ((((gctUINT32) (Hardware->identity.chipMinorFeatures)) >> (0 ? 22:22) & ((gctUINT32) ((((1 ? 22:22) - (0 ? 22:22) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 22:22) - (0 ? 22:22) + 1)))))) == (0x1  & ((gctUINT32) ((((1 ? 22:22) - (0 ? 22:22) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 22:22) - (0 ? 22:22) + 1)))))));
+        break;
+    case gcvFEATURE_DYNAMIC_FREQUENCY_SCALING:
+        /* This feature doesn't apply for 2D cores. */
+        available = ((((gctUINT32) (Hardware->identity.chipMinorFeatures2)) >> (0 ? 14:14) & ((gctUINT32) ((((1 ? 14:14) - (0 ? 14:14) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 14:14) - (0 ? 14:14) + 1)))))) == (0x1 & ((gctUINT32) ((((1 ? 14:14) - (0 ? 14:14) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 14:14) - (0 ? 14:14) + 1)))))))
+            &&      ((((gctUINT32) (Hardware->identity.chipFeatures)) >> (0 ? 2:2) & ((gctUINT32) ((((1 ? 2:2) - (0 ? 2:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 2:2) - (0 ? 2:2) + 1)))))) == (0x1 & ((gctUINT32) ((((1 ? 2:2) - (0 ? 2:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 2:2) - (0 ? 2:2) + 1)))))));
+        break;
+
+    case gcvFEATURE_PIPE_2D:
+        available = ((((gctUINT32) (Hardware->identity.chipFeatures)) >> (0 ? 9:9) & ((gctUINT32) ((((1 ? 9:9) - (0 ? 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1)))))) == (0x1  & ((gctUINT32) ((((1 ? 9:9) - (0 ? 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1)))))));
+        break;
+
+    case gcvFEATURE_PIPE_3D:
+#ifndef VIVANTE_NO_3D
+        available = ((((gctUINT32) (Hardware->identity.chipFeatures)) >> (0 ? 2:2) & ((gctUINT32) ((((1 ? 2:2) - (0 ? 2:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 2:2) - (0 ? 2:2) + 1)))))) == (0x1  & ((gctUINT32) ((((1 ? 2:2) - (0 ? 2:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 2:2) - (0 ? 2:2) + 1)))))));
+#else
+        available = gcvFALSE;
+#endif
+        break;
+
+    case gcvFEATURE_HALTI2:
+        available = ((((gctUINT32) (Hardware->identity.chipMinorFeatures4)) >> (0 ? 16:16) & ((gctUINT32) ((((1 ? 16:16) - (0 ? 16:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 16:16) - (0 ? 16:16) + 1)))))) == (0x1 & ((gctUINT32) ((((1 ? 16:16) - (0 ? 16:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 16:16) - (0 ? 16:16) + 1)))))));
+        break;
+
+    default:
+        gcmkFATAL("Invalid feature has been requested.");
+        available = gcvFALSE;
+    }
+
+    /* Return result. */
+    gcmkFOOTER_ARG("%d", available ? gcvSTATUS_TRUE : gcvSTATUS_OK);
+    return available ? gcvSTATUS_TRUE : gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckHARDWARE_DumpMMUException
+**
+**  Dump the MMU debug info on an MMU exception.
+**
+**  INPUT:
+**
+**      gckHARDWARE Harwdare
+**          Pointer to an gckHARDWARE object.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckHARDWARE_DumpMMUException(
+    IN gckHARDWARE Hardware
+    )
+{
+#if !gcdPOWER_SUSNPEND_WHEN_IDLE && !gcdPOWEROFF_TIMEOUT
+    gctUINT32 mmu, mmuStatus, address, i;
+#if gcdDEBUG
+    gctUINT32 mtlb, stlb, offset;
+#endif
+
+    gcmkHEADER_ARG("Hardware=0x%x", Hardware);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+
+    gcmkPRINT("GPU[%d](ChipModel=0x%x ChipRevision=0x%x):\n",
+              Hardware->core,
+              Hardware->identity.chipModel,
+              Hardware->identity.chipRevision);
+
+    gcmkPRINT("**************************\n");
+    gcmkPRINT("***   MMU ERROR DUMP   ***\n");
+    gcmkPRINT("**************************\n");
+
+    gcmkVERIFY_OK(
+        gckOS_ReadRegisterEx(Hardware->os,
+                             Hardware->core,
+                             0x00188,
+                             &mmuStatus));
+
+    gcmkPRINT("  MMU status = 0x%08X\n", mmuStatus);
+
+    for (i = 0; i < 4; i += 1)
+    {
+        mmu = mmuStatus & 0xF;
+        mmuStatus >>= 4;
+
+        if (mmu == 0)
+        {
+            continue;
+        }
+
+        switch (mmu)
+        {
+        case 1:
+              gcmkPRINT("  MMU%d: slave not present\n", i);
+              break;
+
+        case 2:
+              gcmkPRINT("  MMU%d: page not present\n", i);
+              break;
+
+        case 3:
+              gcmkPRINT("  MMU%d: write violation\n", i);
+              break;
+
+        default:
+              gcmkPRINT("  MMU%d: unknown state\n", i);
+        }
+
+        gcmkVERIFY_OK(
+            gckOS_ReadRegisterEx(Hardware->os,
+                                 Hardware->core,
+                                 0x00190 + i * 4,
+                                 &address));
+
+        mtlb   = (address & gcdMMU_MTLB_MASK) >> gcdMMU_MTLB_SHIFT;
+        stlb   = (address & gcdMMU_STLB_4K_MASK) >> gcdMMU_STLB_4K_SHIFT;
+        offset =  address & gcdMMU_OFFSET_4K_MASK;
+
+        gcmkPRINT("  MMU%d: exception address = 0x%08X\n", i, address);
+
+        gcmkPRINT("    MTLB entry = %d\n", mtlb);
+
+        gcmkPRINT("    STLB entry = %d\n", stlb);
+
+        gcmkPRINT("    Offset = 0x%08X (%d)\n", offset, offset);
+
+        gckMMU_DumpPageTableEntry(Hardware->kernel->mmu, address);
+
+    }
+
+       gcmkFOOTER_NO();
+#else
+    /* If clock could be off automatically, we can't read mmu debug
+    ** register here; build driver with gcdPOWER_SUSPEND_WHEN_IDLE = 0
+    ** and gcdPOWEROFF_TIMEOUT = 0 to make it safe to read mmu register. */
+    gcmkPRINT("[galcore] %s(%d): MMU Exception!", __FUNCTION__, __LINE__);
+#endif
+
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckHARDWARE_DumpGPUState
+**
+**  Dump the GPU debug registers.
+**
+**  INPUT:
+**
+**      gckHARDWARE Harwdare
+**          Pointer to an gckHARDWARE object.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckHARDWARE_DumpGPUState(
+    IN gckHARDWARE Hardware
+    )
+{
+    static gctCONST_STRING _cmdState[] =
+    {
+        "PAR_IDLE_ST", "PAR_DEC_ST", "PAR_ADR0_ST", "PAR_LOAD0_ST",
+        "PAR_ADR1_ST", "PAR_LOAD1_ST", "PAR_3DADR_ST", "PAR_3DCMD_ST",
+        "PAR_3DCNTL_ST", "PAR_3DIDXCNTL_ST", "PAR_INITREQDMA_ST",
+        "PAR_DRAWIDX_ST", "PAR_DRAW_ST", "PAR_2DRECT0_ST", "PAR_2DRECT1_ST",
+        "PAR_2DDATA0_ST", "PAR_2DDATA1_ST", "PAR_WAITFIFO_ST", "PAR_WAIT_ST",
+        "PAR_LINK_ST", "PAR_END_ST", "PAR_STALL_ST"
+    };
+
+    static gctCONST_STRING _cmdDmaState[] =
+    {
+        "CMD_IDLE_ST", "CMD_START_ST", "CMD_REQ_ST", "CMD_END_ST"
+    };
+
+    static gctCONST_STRING _cmdFetState[] =
+    {
+        "FET_IDLE_ST", "FET_RAMVALID_ST", "FET_VALID_ST"
+    };
+
+    static gctCONST_STRING _reqDmaState[] =
+    {
+        "REQ_IDLE_ST", "REQ_WAITIDX_ST", "REQ_CAL_ST"
+    };
+
+    static gctCONST_STRING _calState[] =
+    {
+        "CAL_IDLE_ST", "CAL_LDADR_ST", "CAL_IDXCALC_ST"
+    };
+
+    static gctCONST_STRING _veReqState[] =
+    {
+        "VER_IDLE_ST", "VER_CKCACHE_ST", "VER_MISS_ST"
+    };
+
+    static gcsiDEBUG_REGISTERS _dbgRegs[] =
+    {
+        { "RA", 0x474, 16, 0x448, 16, 0x12344321 },
+        { "TX", 0x474, 24, 0x44C, 16, 0x12211221 },
+        { "FE", 0x470, 0, 0x450, 16, 0xBABEF00D },
+        { "PE", 0x470, 16, 0x454, 16, 0xBABEF00D },
+        { "DE", 0x470, 8, 0x458, 16, 0xBABEF00D },
+        { "SH", 0x470, 24, 0x45C, 16, 0xDEADBEEF },
+        { "PA", 0x474, 0, 0x460, 16, 0x0000AAAA },
+        { "SE", 0x474, 8, 0x464, 16, 0x5E5E5E5E },
+        { "MC", 0x478, 0, 0x468, 16, 0x12345678 },
+        { "HI", 0x478, 8, 0x46C, 16, 0xAAAAAAAA }
+    };
+
+    static gctUINT32 _otherRegs[] =
+    {
+        0x040, 0x044, 0x04C, 0x050, 0x054, 0x058, 0x05C, 0x060,
+        0x43c, 0x440, 0x444, 0x414,
+    };
+
+    gceSTATUS status;
+    gckKERNEL kernel;
+    gctUINT32 idle, axi;
+    gctUINT32 dmaAddress1, dmaAddress2;
+    gctUINT32 dmaState1, dmaState2;
+    gctUINT32 dmaLow, dmaHigh;
+    gctUINT32 cmdState, cmdDmaState, cmdFetState;
+    gctUINT32 dmaReqState, calState, veReqState;
+    gctUINT i;
+    gctUINT pipe, pixelPipes;
+    gctUINT32 control, oldControl;
+    gckOS os = Hardware->os;
+    gceCORE core = Hardware->core;
+
+    gcmkHEADER_ARG("Hardware=0x%X", Hardware);
+
+    kernel = Hardware->kernel;
+
+    gcmkPRINT_N(12, "GPU[%d](ChipModel=0x%x ChipRevision=0x%x):\n",
+                core,
+                Hardware->identity.chipModel,
+                Hardware->identity.chipRevision);
+
+    pixelPipes = Hardware->identity.pixelPipes
+               ? Hardware->identity.pixelPipes
+               : 1;
+
+    /* Reset register values. */
+    idle        = axi         =
+    dmaState1   = dmaState2   =
+    dmaAddress1 = dmaAddress2 =
+    dmaLow      = dmaHigh     = 0;
+
+    /* Verify whether DMA is running. */
+    gcmkONERROR(_VerifyDMA(
+        os, core, &dmaAddress1, &dmaAddress2, &dmaState1, &dmaState2
+        ));
+
+    cmdState    =  dmaState2        & 0x1F;
+    cmdDmaState = (dmaState2 >>  8) & 0x03;
+    cmdFetState = (dmaState2 >> 10) & 0x03;
+    dmaReqState = (dmaState2 >> 12) & 0x03;
+    calState    = (dmaState2 >> 14) & 0x03;
+    veReqState  = (dmaState2 >> 16) & 0x03;
+
+    gcmkONERROR(gckOS_ReadRegisterEx(os, core, 0x004, &idle));
+    gcmkONERROR(gckOS_ReadRegisterEx(os, core, 0x00C, &axi));
+    gcmkONERROR(gckOS_ReadRegisterEx(os, core, 0x668, &dmaLow));
+    gcmkONERROR(gckOS_ReadRegisterEx(os, core, 0x66C, &dmaHigh));
+
+    gcmkPRINT_N(0, "**************************\n");
+    gcmkPRINT_N(0, "***   GPU STATE DUMP   ***\n");
+    gcmkPRINT_N(0, "**************************\n");
+
+    gcmkPRINT_N(4, "  axi      = 0x%08X\n", axi);
+
+    gcmkPRINT_N(4, "  idle     = 0x%08X\n", idle);
+    if ((idle & 0x00000001) == 0) gcmkPRINT_N(0, "    FE not idle\n");
+    if ((idle & 0x00000002) == 0) gcmkPRINT_N(0, "    DE not idle\n");
+    if ((idle & 0x00000004) == 0) gcmkPRINT_N(0, "    PE not idle\n");
+    if ((idle & 0x00000008) == 0) gcmkPRINT_N(0, "    SH not idle\n");
+    if ((idle & 0x00000010) == 0) gcmkPRINT_N(0, "    PA not idle\n");
+    if ((idle & 0x00000020) == 0) gcmkPRINT_N(0, "    SE not idle\n");
+    if ((idle & 0x00000040) == 0) gcmkPRINT_N(0, "    RA not idle\n");
+    if ((idle & 0x00000080) == 0) gcmkPRINT_N(0, "    TX not idle\n");
+    if ((idle & 0x00000100) == 0) gcmkPRINT_N(0, "    VG not idle\n");
+    if ((idle & 0x00000200) == 0) gcmkPRINT_N(0, "    IM not idle\n");
+    if ((idle & 0x00000400) == 0) gcmkPRINT_N(0, "    FP not idle\n");
+    if ((idle & 0x00000800) == 0) gcmkPRINT_N(0, "    TS not idle\n");
+    if ((idle & 0x80000000) != 0) gcmkPRINT_N(0, "    AXI low power mode\n");
+
+    if (
+        (dmaAddress1 == dmaAddress2)
+     && (dmaState1 == dmaState2)
+    )
+    {
+        gcmkPRINT_N(0, "  DMA appears to be stuck at this address:\n");
+        gcmkPRINT_N(4, "    0x%08X\n", dmaAddress1);
+    }
+    else
+    {
+        if (dmaAddress1 == dmaAddress2)
+        {
+            gcmkPRINT_N(0, "  DMA address is constant, but state is changing:\n");
+            gcmkPRINT_N(4, "    0x%08X\n", dmaState1);
+            gcmkPRINT_N(4, "    0x%08X\n", dmaState2);
+        }
+        else
+        {
+            gcmkPRINT_N(0, "  DMA is running; known addresses are:\n");
+            gcmkPRINT_N(4, "    0x%08X\n", dmaAddress1);
+            gcmkPRINT_N(4, "    0x%08X\n", dmaAddress2);
+        }
+    }
+    gcmkPRINT_N(4, "  dmaLow   = 0x%08X\n", dmaLow);
+    gcmkPRINT_N(4, "  dmaHigh  = 0x%08X\n", dmaHigh);
+    gcmkPRINT_N(4, "  dmaState = 0x%08X\n", dmaState2);
+    gcmkPRINT_N(8, "    command state       = %d (%s)\n", cmdState, _cmdState   [cmdState]);
+    gcmkPRINT_N(8, "    command DMA state   = %d (%s)\n", cmdDmaState, _cmdDmaState[cmdDmaState]);
+    gcmkPRINT_N(8, "    command fetch state = %d (%s)\n", cmdFetState, _cmdFetState[cmdFetState]);
+    gcmkPRINT_N(8, "    DMA request state   = %d (%s)\n", dmaReqState, _reqDmaState[dmaReqState]);
+    gcmkPRINT_N(8, "    cal state           = %d (%s)\n", calState, _calState   [calState]);
+    gcmkPRINT_N(8, "    VE request state    = %d (%s)\n", veReqState, _veReqState [veReqState]);
+
+    /* Record control. */
+    gckOS_ReadRegisterEx(os, core, 0x0, &oldControl);
+
+    for (pipe = 0; pipe < pixelPipes; pipe++)
+    {
+        gcmkPRINT_N(4, "  Debug registers of pipe[%d]:\n", pipe);
+
+        /* Switch pipe. */
+        gckOS_ReadRegisterEx(os, core, 0x0, &control);
+        control &= ~(0xF << 20);
+        control |= (pipe << 20);
+        gckOS_WriteRegisterEx(os, core, 0x0, control);
+
+        for (i = 0; i < gcmCOUNTOF(_dbgRegs); i += 1)
+        {
+            gcmkONERROR(_DumpDebugRegisters(os, core, &_dbgRegs[i]));
+        }
+
+        gcmkPRINT_N(0, "    Other Registers:\n");
+        for (i = 0; i < gcmCOUNTOF(_otherRegs); i += 1)
+        {
+            gctUINT32 read;
+            gcmkONERROR(gckOS_ReadRegisterEx(os, core, _otherRegs[i], &read));
+            gcmkPRINT_N(12, "      [0x%04X] 0x%08X\n", _otherRegs[i], read);
+        }
+    }
+
+    if (kernel->hardware->identity.chipFeatures & (1 << 4))
+    {
+        gctUINT32 read0, read1, write;
+
+        read0 = read1 = write = 0;
+
+        gcmkONERROR(gckOS_ReadRegisterEx(os, core, 0x43C, &read0));
+        gcmkONERROR(gckOS_ReadRegisterEx(os, core, 0x440, &read1));
+        gcmkONERROR(gckOS_ReadRegisterEx(os, core, 0x444, &write));
+
+        gcmkPRINT_N(4, "  read0    = 0x%08X\n", read0);
+        gcmkPRINT_N(4, "  read1    = 0x%08X\n", read1);
+        gcmkPRINT_N(4, "  write    = 0x%08X\n", write);
+    }
+
+    /* Restore control. */
+    gckOS_WriteRegisterEx(os, core, 0x0, oldControl);
+
+    /* dump stack. */
+    gckOS_DumpCallStack(os);
+
+OnError:
+
+    /* Return the error. */
+    gcmkFOOTER();
+    return status;
+}
+
+
+#if gcdFRAME_DB
+static gceSTATUS
+gckHARDWARE_ReadPerformanceRegister(
+    IN gckHARDWARE Hardware,
+    IN gctUINT PerformanceAddress,
+    IN gctUINT IndexAddress,
+    IN gctUINT IndexShift,
+    IN gctUINT Index,
+    OUT gctUINT32_PTR Value
+    )
+{
+    gceSTATUS status;
+
+    gcmkHEADER_ARG("Hardware=0x%x PerformanceAddress=0x%x IndexAddress=0x%x "
+                   "IndexShift=%u Index=%u",
+                   Hardware, PerformanceAddress, IndexAddress, IndexShift,
+                   Index);
+
+    /* Write the index. */
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os,
+                                      Hardware->core,
+                                      IndexAddress,
+                                      Index << IndexShift));
+
+    /* Read the register. */
+    gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os,
+                                     Hardware->core,
+                                     PerformanceAddress,
+                                     Value));
+
+    /* Test for reset. */
+    if (Index == 15)
+    {
+        /* Index another register to get out of reset. */
+        gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, IndexAddress, 0));
+    }
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Value=0x%x", *Value);
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+gceSTATUS
+gckHARDWARE_GetFrameInfo(
+    IN gckHARDWARE Hardware,
+    OUT gcsHAL_FRAME_INFO * FrameInfo
+    )
+{
+    gceSTATUS status;
+    gctUINT i, clock;
+    gcsHAL_FRAME_INFO info;
+#if gcdFRAME_DB_RESET
+       gctUINT reset;
+#endif
+
+    gcmkHEADER_ARG("Hardware=0x%x", Hardware);
+
+    /* Get profile tick. */
+    gcmkONERROR(gckOS_GetProfileTick(&info.ticks));
+
+    /* Read SH counters and reset them. */
+    gcmkONERROR(gckHARDWARE_ReadPerformanceRegister(
+        Hardware,
+        0x0045C,
+        0x00470,
+        24,
+        4,
+        &info.shaderCycles));
+    gcmkONERROR(gckHARDWARE_ReadPerformanceRegister(
+        Hardware,
+        0x0045C,
+        0x00470,
+        24,
+        9,
+        &info.vsInstructionCount));
+    gcmkONERROR(gckHARDWARE_ReadPerformanceRegister(
+        Hardware,
+        0x0045C,
+        0x00470,
+        24,
+        12,
+        &info.vsTextureCount));
+    gcmkONERROR(gckHARDWARE_ReadPerformanceRegister(
+        Hardware,
+        0x0045C,
+        0x00470,
+        24,
+        7,
+        &info.psInstructionCount));
+    gcmkONERROR(gckHARDWARE_ReadPerformanceRegister(
+        Hardware,
+        0x0045C,
+        0x00470,
+        24,
+        14,
+        &info.psTextureCount));
+#if gcdFRAME_DB_RESET
+    gcmkONERROR(gckHARDWARE_ReadPerformanceRegister(
+        Hardware,
+        0x0045C,
+        0x00470,
+        24,
+        15,
+        &reset));
+#endif
+
+    /* Read PA counters and reset them. */
+    gcmkONERROR(gckHARDWARE_ReadPerformanceRegister(
+        Hardware,
+        0x00460,
+        0x00474,
+        0,
+        3,
+        &info.vertexCount));
+    gcmkONERROR(gckHARDWARE_ReadPerformanceRegister(
+        Hardware,
+        0x00460,
+        0x00474,
+        0,
+        4,
+        &info.primitiveCount));
+    gcmkONERROR(gckHARDWARE_ReadPerformanceRegister(
+        Hardware,
+        0x00460,
+        0x00474,
+        0,
+        7,
+        &info.rejectedPrimitives));
+    gcmkONERROR(gckHARDWARE_ReadPerformanceRegister(
+        Hardware,
+        0x00460,
+        0x00474,
+        0,
+        8,
+        &info.culledPrimitives));
+    gcmkONERROR(gckHARDWARE_ReadPerformanceRegister(
+        Hardware,
+        0x00460,
+        0x00474,
+        0,
+        6,
+        &info.clippedPrimitives));
+    gcmkONERROR(gckHARDWARE_ReadPerformanceRegister(
+        Hardware,
+        0x00460,
+        0x00474,
+        0,
+        5,
+        &info.outPrimitives));
+#if gcdFRAME_DB_RESET
+    gcmkONERROR(gckHARDWARE_ReadPerformanceRegister(
+        Hardware,
+        0x00460,
+        0x00474,
+        0,
+        15,
+        &reset));
+#endif
+
+    /* Read RA counters and reset them. */
+    gcmkONERROR(gckHARDWARE_ReadPerformanceRegister(
+        Hardware,
+        0x00448,
+        0x00474,
+        16,
+        3,
+        &info.inPrimitives));
+    gcmkONERROR(gckHARDWARE_ReadPerformanceRegister(
+        Hardware,
+        0x00448,
+        0x00474,
+        16,
+        11,
+        &info.culledQuadCount));
+    gcmkONERROR(gckHARDWARE_ReadPerformanceRegister(
+        Hardware,
+        0x00448,
+        0x00474,
+        16,
+        1,
+        &info.totalQuadCount));
+    gcmkONERROR(gckHARDWARE_ReadPerformanceRegister(
+        Hardware,
+        0x00448,
+        0x00474,
+        16,
+        2,
+        &info.quadCount));
+    gcmkONERROR(gckHARDWARE_ReadPerformanceRegister(
+        Hardware,
+        0x00448,
+        0x00474,
+        16,
+        0,
+        &info.totalPixelCount));
+#if gcdFRAME_DB_RESET
+    gcmkONERROR(gckHARDWARE_ReadPerformanceRegister(
+        Hardware,
+        0x00448,
+        0x00474,
+        16,
+        15,
+        &reset));
+#endif
+
+    /* Read TX counters and reset them. */
+    gcmkONERROR(gckHARDWARE_ReadPerformanceRegister(
+        Hardware,
+        0x0044C,
+        0x00474,
+        24,
+        0,
+        &info.bilinearRequests));
+    gcmkONERROR(gckHARDWARE_ReadPerformanceRegister(
+        Hardware,
+        0x0044C,
+        0x00474,
+        24,
+        1,
+        &info.trilinearRequests));
+    gcmkONERROR(gckHARDWARE_ReadPerformanceRegister(
+        Hardware,
+        0x0044C,
+        0x00474,
+        24,
+        8,
+        &info.txHitCount));
+    gcmkONERROR(gckHARDWARE_ReadPerformanceRegister(
+        Hardware,
+        0x0044C,
+        0x00474,
+        24,
+        9,
+        &info.txMissCount));
+    gcmkONERROR(gckHARDWARE_ReadPerformanceRegister(
+        Hardware,
+        0x0044C,
+        0x00474,
+        24,
+        6,
+        &info.txBytes8));
+#if gcdFRAME_DB_RESET
+    gcmkONERROR(gckHARDWARE_ReadPerformanceRegister(
+        Hardware,
+        0x0044C,
+        0x00474,
+        24,
+        15,
+        &reset));
+#endif
+
+    /* Read clock control register. */
+    gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os,
+                                     Hardware->core,
+                                     0x00000,
+                                     &clock));
+
+    /* Walk through all avaiable pixel pipes. */
+    for (i = 0; i < Hardware->identity.pixelPipes; ++i)
+    {
+        /* Select proper pipe. */
+        gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os,
+                                          Hardware->core,
+                                          0x00000,
+                                          ((((gctUINT32) (clock)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 23:20) - (0 ? 23:20) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:20) - (0 ? 23:20) + 1))))))) << (0 ? 23:20))) | (((gctUINT32) ((gctUINT32) (i) & ((gctUINT32) ((((1 ? 23:20) - (0 ? 23:20) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:20) - (0 ? 23:20) + 1))))))) << (0 ? 23:20)))));
+
+        /* Read cycle registers. */
+        gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os,
+                                         Hardware->core,
+                                         0x00078,
+                                         &info.cycles[i]));
+        gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os,
+                                         Hardware->core,
+                                         0x0007C,
+                                         &info.idleCycles[i]));
+        gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os,
+                                         Hardware->core,
+                                         0x00438,
+                                         &info.mcCycles[i]));
+
+        /* Read bandwidth registers. */
+        gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os,
+                                         Hardware->core,
+                                         0x0005C,
+                                         &info.readRequests[i]));
+        gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os,
+                                         Hardware->core,
+                                         0x00040,
+                                         &info.readBytes8[i]));
+        gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os,
+                                         Hardware->core,
+                                         0x00050,
+                                         &info.writeRequests[i]));
+        gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os,
+                                         Hardware->core,
+                                         0x00044,
+                                         &info.writeBytes8[i]));
+
+        /* Read PE counters. */
+        gcmkONERROR(gckHARDWARE_ReadPerformanceRegister(
+            Hardware,
+            0x00454,
+            0x00470,
+            16,
+            0,
+            &info.colorKilled[i]));
+        gcmkONERROR(gckHARDWARE_ReadPerformanceRegister(
+            Hardware,
+            0x00454,
+            0x00470,
+            16,
+            2,
+            &info.colorDrawn[i]));
+        gcmkONERROR(gckHARDWARE_ReadPerformanceRegister(
+            Hardware,
+            0x00454,
+            0x00470,
+            16,
+            1,
+            &info.depthKilled[i]));
+        gcmkONERROR(gckHARDWARE_ReadPerformanceRegister(
+            Hardware,
+            0x00454,
+            0x00470,
+            16,
+            3,
+            &info.depthDrawn[i]));
+    }
+
+    /* Zero out remaning reserved counters. */
+    for (; i < 8; ++i)
+    {
+        info.readBytes8[i]    = 0;
+        info.writeBytes8[i]   = 0;
+        info.cycles[i]        = 0;
+        info.idleCycles[i]    = 0;
+        info.mcCycles[i]      = 0;
+        info.readRequests[i]  = 0;
+        info.writeRequests[i] = 0;
+        info.colorKilled[i]   = 0;
+        info.colorDrawn[i]    = 0;
+        info.depthKilled[i]   = 0;
+        info.depthDrawn[i]    = 0;
+    }
+
+    /* Reset clock control register. */
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os,
+                                      Hardware->core,
+                                      0x00000,
+                                      clock));
+
+    /* Reset cycle and bandwidth counters. */
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os,
+                                      Hardware->core,
+                                      0x0003C,
+                                      1));
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os,
+                                      Hardware->core,
+                                      0x0003C,
+                                      0));
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os,
+                                      Hardware->core,
+                                      0x00078,
+                                      0));
+
+#if gcdFRAME_DB_RESET
+    /* Reset PE counters. */
+    gcmkONERROR(gckHARDWARE_ReadPerformanceRegister(
+        Hardware,
+        0x00454,
+        0x00470,
+        16,
+        15,
+        &reset));
+#endif
+
+    /* Copy to user. */
+    gcmkONERROR(gckOS_CopyToUserData(Hardware->os,
+                                     &info,
+                                     FrameInfo,
+                                     gcmSIZEOF(info)));
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+#endif
+
+#if gcdDVFS
+#define READ_FROM_EATER1 0
+
+gceSTATUS
+gckHARDWARE_QueryLoad(
+    IN gckHARDWARE Hardware,
+    OUT gctUINT32 * Load
+    )
+{
+    gctUINT32 debug1;
+    gceSTATUS status;
+    gcmkHEADER_ARG("Hardware=0x%X", Hardware);
+
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+    gcmkVERIFY_ARGUMENT(Load != gcvNULL);
+
+    gckOS_AcquireMutex(Hardware->os, Hardware->powerMutex, gcvINFINITE);
+
+    if (Hardware->chipPowerState == gcvPOWER_ON)
+    {
+        gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os,
+                                         Hardware->core,
+                                         0x00110,
+                                         Load));
+#if READ_FROM_EATER1
+        gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os,
+                                         Hardware->core,
+                                         0x00134,
+                                         Load));
+#endif
+
+        gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os,
+                                         Hardware->core,
+                                         0x00114,
+                                         &debug1));
+
+        /* Patch result of 0x110 with result of 0x114. */
+        if ((debug1 & 0xFF) == 1)
+        {
+            *Load &= ~0xFF;
+            *Load |= 1;
+        }
+
+        if (((debug1 & 0xFF00) >> 8) == 1)
+        {
+            *Load &= ~(0xFF << 8);
+            *Load |= 1 << 8;
+        }
+
+        if (((debug1 & 0xFF0000) >> 16) == 1)
+        {
+            *Load &= ~(0xFF << 16);
+            *Load |= 1 << 16;
+        }
+
+        if (((debug1 & 0xFF000000) >> 24) == 1)
+        {
+            *Load &= ~(0xFF << 24);
+            *Load |= 1 << 24;
+        }
+    }
+    else
+    {
+        status = gcvSTATUS_INVALID_REQUEST;
+    }
+
+OnError:
+
+    gckOS_ReleaseMutex(Hardware->os, Hardware->powerMutex);
+
+    gcmkFOOTER();
+    return status;
+}
+
+gceSTATUS
+gckHARDWARE_SetDVFSPeroid(
+    IN gckHARDWARE Hardware,
+    OUT gctUINT32 Frequency
+    )
+{
+    gceSTATUS status;
+    gctUINT32 period;
+    gctUINT32 eater;
+
+#if READ_FROM_EATER1
+    gctUINT32 period1;
+    gctUINT32 eater1;
+#endif
+
+    gcmkHEADER_ARG("Hardware=0x%X Frequency=%d", Hardware, Frequency);
+
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+
+    period = 0;
+
+    while((64 << period) < (gcdDVFS_ANAYLSE_WINDOW * Frequency * 1000) )
+    {
+        period++;
+    }
+
+#if READ_FROM_EATER1
+    /*
+    *  Peroid = F * 1000 * 1000 / (60 * 16 * 1024);
+    */
+    period1 = Frequency * 6250 / 6114;
+#endif
+
+    gckOS_AcquireMutex(Hardware->os, Hardware->powerMutex, gcvINFINITE);
+
+    if (Hardware->chipPowerState == gcvPOWER_ON)
+    {
+        /* Get current configure. */
+        gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os,
+                                         Hardware->core,
+                                         0x0010C,
+                                         &eater));
+
+        /* Change peroid. */
+        gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os,
+                                          Hardware->core,
+                                          0x0010C,
+                                          ((((gctUINT32) (eater)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) | (((gctUINT32) ((gctUINT32) (period) & ((gctUINT32) ((((1 ? 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8)))));
+
+#if READ_FROM_EATER1
+        /* Config eater1. */
+        gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os,
+                                         Hardware->core,
+                                         0x00130,
+                                         &eater1));
+
+        gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os,
+                                          Hardware->core,
+                                          0x00130,
+                                          ((((gctUINT32) (eater1)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:16) - (0 ? 31:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:16) - (0 ? 31:16) + 1))))))) << (0 ? 31:16))) | (((gctUINT32) ((gctUINT32) (period1) & ((gctUINT32) ((((1 ? 31:16) - (0 ? 31:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:16) - (0 ? 31:16) + 1))))))) << (0 ? 31:16)))));
+#endif
+    }
+    else
+    {
+        status = gcvSTATUS_INVALID_REQUEST;
+    }
+
+OnError:
+    gckOS_ReleaseMutex(Hardware->os, Hardware->powerMutex);
+
+    gcmkFOOTER();
+    return status;
+}
+
+gceSTATUS
+gckHARDWARE_InitDVFS(
+    IN gckHARDWARE Hardware
+    )
+{
+    gceSTATUS status;
+    gctUINT32 data;
+
+    gcmkHEADER_ARG("Hardware=0x%X", Hardware);
+
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+
+    gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os,
+                                     Hardware->core,
+                                     0x0010C,
+                                     &data));
+
+    data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 16:16) - (0 ? 16:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 16:16) - (0 ? 16:16) + 1))))))) << (0 ? 16:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 16:16) - (0 ? 16:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 16:16) - (0 ? 16:16) + 1))))))) << (0 ? 16:16)));
+    data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 18:18) - (0 ? 18:18) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 18:18) - (0 ? 18:18) + 1))))))) << (0 ? 18:18))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 18:18) - (0 ? 18:18) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 18:18) - (0 ? 18:18) + 1))))))) << (0 ? 18:18)));
+    data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 19:19) - (0 ? 19:19) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 19:19) - (0 ? 19:19) + 1))))))) << (0 ? 19:19))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 19:19) - (0 ? 19:19) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 19:19) - (0 ? 19:19) + 1))))))) << (0 ? 19:19)));
+    data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 20:20) - (0 ? 20:20) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 20:20) - (0 ? 20:20) + 1))))))) << (0 ? 20:20))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 20:20) - (0 ? 20:20) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 20:20) - (0 ? 20:20) + 1))))))) << (0 ? 20:20)));
+    data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 23:23) - (0 ? 23:23) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:23) - (0 ? 23:23) + 1))))))) << (0 ? 23:23))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 23:23) - (0 ? 23:23) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:23) - (0 ? 23:23) + 1))))))) << (0 ? 23:23)));
+    data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 22:22) - (0 ? 22:22) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 22:22) - (0 ? 22:22) + 1))))))) << (0 ? 22:22))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 22:22) - (0 ? 22:22) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 22:22) - (0 ? 22:22) + 1))))))) << (0 ? 22:22)));
+
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
+                   "DVFS Configure=0x%X",
+                   data);
+
+    gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os,
+                                      Hardware->core,
+                                      0x0010C,
+                                      data));
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    gcmkFOOTER();
+    return status;
+}
+#endif
+
+
diff --git a/drivers/mxc/gpu-viv/arch/XAQ2/hal/kernel/gc_hal_kernel_hardware.h b/drivers/mxc/gpu-viv/arch/XAQ2/hal/kernel/gc_hal_kernel_hardware.h
new file mode 100644 (file)
index 0000000..287ea60
--- /dev/null
@@ -0,0 +1,136 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#ifndef __gc_hal_kernel_hardware_h_
+#define __gc_hal_kernel_hardware_h_
+
+#if gcdENABLE_VG
+#include "gc_hal_kernel_hardware_vg.h"
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* gckHARDWARE object. */
+struct _gckHARDWARE
+{
+    /* Object. */
+    gcsOBJECT                   object;
+
+    /* Pointer to gctKERNEL object. */
+    gckKERNEL                   kernel;
+
+    /* Pointer to gctOS object. */
+    gckOS                       os;
+
+    /* Core */
+    gceCORE                     core;
+
+    /* Chip characteristics. */
+    gcsHAL_QUERY_CHIP_IDENTITY  identity;
+    gctBOOL                     allowFastClear;
+    gctBOOL                     allowCompression;
+    gctUINT32                   powerBaseAddress;
+    gctBOOL                     extraEventStates;
+
+    /* Big endian */
+    gctBOOL                     bigEndian;
+
+    /* Chip status */
+    gctPOINTER                  powerMutex;
+    gctUINT32                   powerProcess;
+    gctUINT32                   powerThread;
+    gceCHIPPOWERSTATE           chipPowerState;
+    gctUINT32                   lastWaitLink;
+    gctBOOL                     clockState;
+    gctBOOL                     powerState;
+    gctPOINTER                  globalSemaphore;
+
+    gctISRMANAGERFUNC           startIsr;
+    gctISRMANAGERFUNC           stopIsr;
+    gctPOINTER                  isrContext;
+
+    gctUINT32                   mmuVersion;
+
+    /* Type */
+    gceHARDWARE_TYPE            type;
+
+#if gcdPOWEROFF_TIMEOUT
+    gctUINT32                   powerOffTime;
+    gctUINT32                   powerOffTimeout;
+    gctPOINTER                  powerOffTimer;
+#endif
+
+    gctPOINTER                  pageTableDirty;
+
+#if gcdENABLE_FSCALE_VAL_ADJUST
+    /* FSCALE_VAL when gcvPOWER_ON. */
+    gctUINT32                   powerOnFscaleVal;
+#endif
+
+#if gcdLINK_QUEUE_SIZE
+    struct _gckLINKQUEUE        linkQueue;
+#endif
+
+    gctBOOL                     powerManagement;
+    gctBOOL                     gpuProfiler;
+};
+
+gceSTATUS
+gckHARDWARE_GetBaseAddress(
+    IN gckHARDWARE Hardware,
+    OUT gctUINT32_PTR BaseAddress
+    );
+
+gceSTATUS
+gckHARDWARE_NeedBaseAddress(
+    IN gckHARDWARE Hardware,
+    IN gctUINT32 State,
+    OUT gctBOOL_PTR NeedBase
+    );
+
+gceSTATUS
+gckHARDWARE_GetFrameInfo(
+    IN gckHARDWARE Hardware,
+    OUT gcsHAL_FRAME_INFO * FrameInfo
+    );
+
+gceSTATUS
+gckHARDWARE_SetFscaleValue(
+    IN gckHARDWARE Hardware,
+    IN gctUINT32   FscaleValue
+    );
+
+gceSTATUS
+gckHARDWARE_GetFscaleValue(
+    IN gckHARDWARE Hardware,
+    IN gctUINT * FscaleValue,
+    IN gctUINT * MinFscaleValue,
+    IN gctUINT * MaxFscaleValue
+    );
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __gc_hal_kernel_hardware_h_ */
+
diff --git a/drivers/mxc/gpu-viv/config b/drivers/mxc/gpu-viv/config
new file mode 100644 (file)
index 0000000..cdd143e
--- /dev/null
@@ -0,0 +1,38 @@
+##############################################################################
+#
+#    Copyright (C) 2005 - 2013 by Vivante Corp.
+#
+#    This program is free software; you can redistribute it and/or modify
+#    it under the terms of the GNU General Public License as published by
+#    the Free Software Foundation; either version 2 of the license, or
+#    (at your option) any later version.
+#
+#    This program is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+#    GNU General Public License for more details.
+#
+#    You should have received a copy of the GNU General Public License
+#    along with this program; if not write to the Free Software
+#    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+#
+##############################################################################
+
+
+ARCH_TYPE                         ?= arm
+SDK_DIR                           ?= $(AQROOT)/build/sdk
+USE_3D_VG                         ?= 1
+FORCE_ALL_VIDEO_MEMORY_CACHED     ?= 0
+NONPAGED_MEMORY_CACHEABLE         ?= 0
+NONPAGED_MEMORY_BUFFERABLE        ?= 1
+CACHE_FUNCTION_UNIMPLEMENTED      ?= 0
+VIVANTE_ENABLE_VG                 ?= 1
+NO_USER_DIRECT_ACCESS_FROM_KERNEL ?= 1
+VIVANTE_NO_3D                     ?= 0
+ENABLE_OUTER_CACHE_PATCH          ?= 1
+USE_BANK_ALIGNMENT                ?= 1
+BANK_BIT_START                    ?= 13
+BANK_BIT_END                      ?= 15
+BANK_CHANNEL_BIT                  ?= 12
+ENABLE_GPU_CLOCK_BY_DRIVER        = 1
+
diff --git a/drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel.c b/drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel.c
new file mode 100644 (file)
index 0000000..879d467
--- /dev/null
@@ -0,0 +1,3965 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#include "gc_hal_kernel_precomp.h"
+
+#define _GC_OBJ_ZONE    gcvZONE_KERNEL
+
+/*******************************************************************************
+***** Version Signature *******************************************************/
+
+#define _gcmTXT2STR(t) #t
+#define gcmTXT2STR(t) _gcmTXT2STR(t)
+const char * _VERSION = "\n\0$VERSION$"
+                        gcmTXT2STR(gcvVERSION_MAJOR) "."
+                        gcmTXT2STR(gcvVERSION_MINOR) "."
+                        gcmTXT2STR(gcvVERSION_PATCH) ":"
+                        gcmTXT2STR(gcvVERSION_BUILD) "$\n";
+
+/******************************************************************************\
+******************************* gckKERNEL API Code ******************************
+\******************************************************************************/
+
+#if gcmIS_DEBUG(gcdDEBUG_TRACE)
+#define gcmDEFINE2TEXT(d) #d
+gctCONST_STRING _DispatchText[] =
+{
+    gcmDEFINE2TEXT(gcvHAL_QUERY_VIDEO_MEMORY),
+    gcmDEFINE2TEXT(gcvHAL_QUERY_CHIP_IDENTITY),
+    gcmDEFINE2TEXT(gcvHAL_ALLOCATE_NON_PAGED_MEMORY),
+    gcmDEFINE2TEXT(gcvHAL_FREE_NON_PAGED_MEMORY),
+    gcmDEFINE2TEXT(gcvHAL_ALLOCATE_CONTIGUOUS_MEMORY),
+    gcmDEFINE2TEXT(gcvHAL_FREE_CONTIGUOUS_MEMORY),
+    gcmDEFINE2TEXT(gcvHAL_ALLOCATE_VIDEO_MEMORY),
+    gcmDEFINE2TEXT(gcvHAL_ALLOCATE_LINEAR_VIDEO_MEMORY),
+    gcmDEFINE2TEXT(gcvHAL_FREE_VIDEO_MEMORY),
+    gcmDEFINE2TEXT(gcvHAL_MAP_MEMORY),
+    gcmDEFINE2TEXT(gcvHAL_UNMAP_MEMORY),
+    gcmDEFINE2TEXT(gcvHAL_MAP_USER_MEMORY),
+    gcmDEFINE2TEXT(gcvHAL_UNMAP_USER_MEMORY),
+    gcmDEFINE2TEXT(gcvHAL_LOCK_VIDEO_MEMORY),
+    gcmDEFINE2TEXT(gcvHAL_UNLOCK_VIDEO_MEMORY),
+    gcmDEFINE2TEXT(gcvHAL_EVENT_COMMIT),
+    gcmDEFINE2TEXT(gcvHAL_USER_SIGNAL),
+    gcmDEFINE2TEXT(gcvHAL_SIGNAL),
+    gcmDEFINE2TEXT(gcvHAL_WRITE_DATA),
+    gcmDEFINE2TEXT(gcvHAL_COMMIT),
+    gcmDEFINE2TEXT(gcvHAL_STALL),
+    gcmDEFINE2TEXT(gcvHAL_READ_REGISTER),
+    gcmDEFINE2TEXT(gcvHAL_WRITE_REGISTER),
+    gcmDEFINE2TEXT(gcvHAL_GET_PROFILE_SETTING),
+    gcmDEFINE2TEXT(gcvHAL_SET_PROFILE_SETTING),
+    gcmDEFINE2TEXT(gcvHAL_READ_ALL_PROFILE_REGISTERS),
+#if VIVANTE_PROFILER_PERDRAW
+    gcmDEFINE2TEXT(gcvHAL_READ_PROFILER_REGISTER_SETTING),
+#endif
+    gcmDEFINE2TEXT(gcvHAL_PROFILE_REGISTERS_2D),
+    gcmDEFINE2TEXT(gcvHAL_SET_POWER_MANAGEMENT_STATE),
+    gcmDEFINE2TEXT(gcvHAL_QUERY_POWER_MANAGEMENT_STATE),
+    gcmDEFINE2TEXT(gcvHAL_GET_BASE_ADDRESS),
+    gcmDEFINE2TEXT(gcvHAL_SET_IDLE),
+    gcmDEFINE2TEXT(gcvHAL_QUERY_KERNEL_SETTINGS),
+    gcmDEFINE2TEXT(gcvHAL_RESET),
+    gcmDEFINE2TEXT(gcvHAL_MAP_PHYSICAL),
+    gcmDEFINE2TEXT(gcvHAL_DEBUG),
+    gcmDEFINE2TEXT(gcvHAL_CACHE),
+    gcmDEFINE2TEXT(gcvHAL_TIMESTAMP),
+    gcmDEFINE2TEXT(gcvHAL_DATABASE),
+    gcmDEFINE2TEXT(gcvHAL_VERSION),
+    gcmDEFINE2TEXT(gcvHAL_CHIP_INFO),
+    gcmDEFINE2TEXT(gcvHAL_ATTACH),
+    gcmDEFINE2TEXT(gcvHAL_DETACH)
+};
+#endif
+
+#if gcdENABLE_RECOVERY
+void
+_ResetFinishFunction(
+    gctPOINTER Data
+    )
+{
+    gckKERNEL kernel = (gckKERNEL)Data;
+
+    gckOS_AtomSet(kernel->os, kernel->resetAtom, 0);
+}
+#endif
+
+/*******************************************************************************
+**
+**  gckKERNEL_Construct
+**
+**  Construct a new gckKERNEL object.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      gceCORE Core
+**          Specified core.
+**
+**      IN gctPOINTER Context
+**          Pointer to a driver defined context.
+**
+**      IN gckDB SharedDB,
+**          Pointer to a shared DB.
+**
+**  OUTPUT:
+**
+**      gckKERNEL * Kernel
+**          Pointer to a variable that will hold the pointer to the gckKERNEL
+**          object.
+*/
+
+gceSTATUS
+gckKERNEL_Construct(
+    IN gckOS Os,
+    IN gceCORE Core,
+    IN gctPOINTER Context,
+    IN gckDB SharedDB,
+    OUT gckKERNEL * Kernel
+    )
+{
+    gckKERNEL kernel = gcvNULL;
+    gceSTATUS status;
+    gctSIZE_T i;
+    gctPOINTER pointer = gcvNULL;
+
+    gcmkHEADER_ARG("Os=0x%x Context=0x%x", Os, Context);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Kernel != gcvNULL);
+
+    /* Allocate the gckKERNEL object. */
+    gcmkONERROR(gckOS_Allocate(Os,
+                               gcmSIZEOF(struct _gckKERNEL),
+                               &pointer));
+
+    kernel = pointer;
+
+    /* Zero the object pointers. */
+    kernel->hardware     = gcvNULL;
+    kernel->command      = gcvNULL;
+    kernel->eventObj     = gcvNULL;
+    kernel->mmu          = gcvNULL;
+#if gcdDVFS
+    kernel->dvfs         = gcvNULL;
+#endif
+
+    /* Initialize the gckKERNEL object. */
+    kernel->object.type = gcvOBJ_KERNEL;
+    kernel->os          = Os;
+    kernel->core        = Core;
+
+
+    if (SharedDB == gcvNULL)
+    {
+        gcmkONERROR(gckOS_Allocate(Os,
+                                   gcmSIZEOF(struct _gckDB),
+                                   &pointer));
+
+        kernel->db               = pointer;
+        kernel->dbCreated        = gcvTRUE;
+        kernel->db->freeDatabase = gcvNULL;
+        kernel->db->freeRecord   = gcvNULL;
+        kernel->db->dbMutex      = gcvNULL;
+        kernel->db->lastDatabase = gcvNULL;
+        kernel->db->idleTime     = 0;
+        kernel->db->lastIdle     = 0;
+        kernel->db->lastSlowdown = 0;
+
+        for (i = 0; i < gcmCOUNTOF(kernel->db->db); ++i)
+        {
+            kernel->db->db[i] = gcvNULL;
+        }
+
+        /* Construct a database mutex. */
+        gcmkONERROR(gckOS_CreateMutex(Os, &kernel->db->dbMutex));
+
+        /* Construct a id-pointer database. */
+        gcmkONERROR(gckKERNEL_CreateIntegerDatabase(kernel, &kernel->db->pointerDatabase));
+
+        /* Construct a id-pointer database mutex. */
+        gcmkONERROR(gckOS_CreateMutex(Os, &kernel->db->pointerDatabaseMutex));
+    }
+    else
+    {
+        kernel->db               = SharedDB;
+        kernel->dbCreated        = gcvFALSE;
+    }
+
+    for (i = 0; i < gcmCOUNTOF(kernel->timers); ++i)
+    {
+        kernel->timers[i].startTime = 0;
+        kernel->timers[i].stopTime = 0;
+    }
+
+    kernel->timeOut      = gcdGPU_TIMEOUT;
+
+    /* Save context. */
+    kernel->context = Context;
+
+#if gcdVIRTUAL_COMMAND_BUFFER
+    kernel->virtualBufferHead =
+    kernel->virtualBufferTail = gcvNULL;
+
+    gcmkONERROR(
+        gckOS_CreateMutex(Os, (gctPOINTER)&kernel->virtualBufferLock));
+#endif
+
+    /* Construct atom holding number of clients. */
+    kernel->atomClients = gcvNULL;
+    gcmkONERROR(gckOS_AtomConstruct(Os, &kernel->atomClients));
+
+#if gcdENABLE_VG
+    kernel->vg = gcvNULL;
+
+    if (Core == gcvCORE_VG)
+    {
+        /* Construct the gckMMU object. */
+        gcmkONERROR(
+            gckVGKERNEL_Construct(Os, Context, kernel, &kernel->vg));
+    }
+    else
+#endif
+    {
+        /* Construct the gckHARDWARE object. */
+        gcmkONERROR(
+            gckHARDWARE_Construct(Os, kernel->core, &kernel->hardware));
+
+        /* Set pointer to gckKERNEL object in gckHARDWARE object. */
+        kernel->hardware->kernel = kernel;
+
+        /* Initialize the hardware. */
+        gcmkONERROR(
+            gckHARDWARE_InitializeHardware(kernel->hardware));
+
+        /* Construct the gckCOMMAND object. */
+        gcmkONERROR(
+            gckCOMMAND_Construct(kernel, &kernel->command));
+
+        /* Construct the gckEVENT object. */
+        gcmkONERROR(
+            gckEVENT_Construct(kernel, &kernel->eventObj));
+
+        /* Construct the gckMMU object. */
+        gcmkONERROR(
+            gckMMU_Construct(kernel, gcdMMU_SIZE, &kernel->mmu));
+
+#if gcdENABLE_RECOVERY
+        gcmkONERROR(
+            gckOS_AtomConstruct(Os, &kernel->resetAtom));
+
+        gcmkVERIFY_OK(
+            gckOS_CreateTimer(Os,
+                              (gctTIMERFUNCTION)_ResetFinishFunction,
+                              (gctPOINTER)kernel,
+                              &kernel->resetFlagClearTimer));
+        kernel->resetTimeStamp = 0;
+#endif
+
+#if gcdDVFS
+        if (gckHARDWARE_IsFeatureAvailable(kernel->hardware,
+                                           gcvFEATURE_DYNAMIC_FREQUENCY_SCALING))
+        {
+            gcmkONERROR(gckDVFS_Construct(kernel->hardware, &kernel->dvfs));
+            gcmkONERROR(gckDVFS_Start(kernel->dvfs));
+        }
+#endif
+    }
+
+#if VIVANTE_PROFILER
+    /* Initialize profile setting */
+    kernel->profileEnable = gcvFALSE;
+    kernel->profileCleanRegister = gcvTRUE;
+#endif
+
+#if gcdANDROID_NATIVE_FENCE_SYNC
+    gcmkONERROR(gckOS_CreateSyncTimeline(Os, &kernel->timeline));
+#endif
+
+    /* Return pointer to the gckKERNEL object. */
+    *Kernel = kernel;
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Kernel=0x%x", *Kernel);
+    return gcvSTATUS_OK;
+
+OnError:
+    if (kernel != gcvNULL)
+    {
+#if gcdENABLE_VG
+        if (Core != gcvCORE_VG)
+#endif
+        {
+            if (kernel->eventObj != gcvNULL)
+            {
+                gcmkVERIFY_OK(gckEVENT_Destroy(kernel->eventObj));
+            }
+
+            if (kernel->command != gcvNULL)
+            {
+            gcmkVERIFY_OK(gckCOMMAND_Destroy(kernel->command));
+            }
+
+            if (kernel->hardware != gcvNULL)
+            {
+                /* Turn off the power. */
+                gcmkVERIFY_OK(gckOS_SetGPUPower(kernel->hardware->os,
+                                                kernel->hardware->core,
+                                                gcvFALSE,
+                                                gcvFALSE));
+                gcmkVERIFY_OK(gckHARDWARE_Destroy(kernel->hardware));
+            }
+        }
+
+        if (kernel->atomClients != gcvNULL)
+        {
+            gcmkVERIFY_OK(gckOS_AtomDestroy(Os, kernel->atomClients));
+        }
+
+#if gcdENABLE_RECOVERY
+        if (kernel->resetAtom != gcvNULL)
+        {
+            gcmkVERIFY_OK(gckOS_AtomDestroy(Os, kernel->resetAtom));
+        }
+
+        if (kernel->resetFlagClearTimer)
+        {
+            gcmkVERIFY_OK(gckOS_StopTimer(Os, kernel->resetFlagClearTimer));
+            gcmkVERIFY_OK(gckOS_DestroyTimer(Os, kernel->resetFlagClearTimer));
+        }
+#endif
+
+        if (kernel->dbCreated && kernel->db != gcvNULL)
+        {
+            if (kernel->db->dbMutex != gcvNULL)
+            {
+                /* Destroy the database mutex. */
+                gcmkVERIFY_OK(gckOS_DeleteMutex(Os, kernel->db->dbMutex));
+            }
+
+            gcmkVERIFY_OK(gcmkOS_SAFE_FREE(Os, kernel->db));
+        }
+
+#if gcdVIRTUAL_COMMAND_BUFFER
+        if (kernel->virtualBufferLock != gcvNULL)
+        {
+            /* Destroy the virtual command buffer mutex. */
+            gcmkVERIFY_OK(gckOS_DeleteMutex(Os, kernel->virtualBufferLock));
+        }
+#endif
+
+#if gcdDVFS
+        if (kernel->dvfs)
+        {
+            gcmkVERIFY_OK(gckDVFS_Stop(kernel->dvfs));
+            gcmkVERIFY_OK(gckDVFS_Destroy(kernel->dvfs));
+        }
+#endif
+
+#if gcdANDROID_NATIVE_FENCE_SYNC
+        if (kernel->timeline)
+        {
+            gcmkVERIFY_OK(gckOS_DestroySyncTimeline(Os, kernel->timeline));
+        }
+#endif
+
+        gcmkVERIFY_OK(gcmkOS_SAFE_FREE(Os, kernel));
+    }
+
+    /* Return the error. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckKERNEL_Destroy
+**
+**  Destroy an gckKERNEL object.
+**
+**  INPUT:
+**
+**      gckKERNEL Kernel
+**          Pointer to an gckKERNEL object to destroy.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckKERNEL_Destroy(
+    IN gckKERNEL Kernel
+    )
+{
+    gctSIZE_T i;
+    gcsDATABASE_PTR database, databaseNext;
+    gcsDATABASE_RECORD_PTR record, recordNext;
+
+    gcmkHEADER_ARG("Kernel=0x%x", Kernel);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Kernel, gcvOBJ_KERNEL);
+#if QNX_SINGLE_THREADED_DEBUGGING
+    gcmkVERIFY_OK(gckOS_DeleteMutex(Kernel->os, Kernel->debugMutex));
+#endif
+
+    /* Destroy the database. */
+    if (Kernel->dbCreated)
+    {
+        for (i = 0; i < gcmCOUNTOF(Kernel->db->db); ++i)
+        {
+            if (Kernel->db->db[i] != gcvNULL)
+            {
+                gcmkVERIFY_OK(
+                    gckKERNEL_DestroyProcessDB(Kernel, Kernel->db->db[i]->processID));
+            }
+        }
+
+        /* Free all databases. */
+        for (database = Kernel->db->freeDatabase;
+             database != gcvNULL;
+             database = databaseNext)
+        {
+            databaseNext = database->next;
+            gcmkVERIFY_OK(gcmkOS_SAFE_FREE(Kernel->os, database));
+        }
+
+        if (Kernel->db->lastDatabase != gcvNULL)
+        {
+            gcmkVERIFY_OK(gcmkOS_SAFE_FREE(Kernel->os, Kernel->db->lastDatabase));
+        }
+
+        /* Free all database records. */
+        for (record = Kernel->db->freeRecord; record != gcvNULL; record = recordNext)
+        {
+            recordNext = record->next;
+            gcmkVERIFY_OK(gcmkOS_SAFE_FREE(Kernel->os, record));
+        }
+
+        /* Destroy the database mutex. */
+        gcmkVERIFY_OK(gckOS_DeleteMutex(Kernel->os, Kernel->db->dbMutex));
+
+
+        /* Destroy id-pointer database. */
+        gcmkVERIFY_OK(gckKERNEL_DestroyIntegerDatabase(Kernel, Kernel->db->pointerDatabase));
+
+        /* Destroy id-pointer database mutex. */
+        gcmkVERIFY_OK(gckOS_DeleteMutex(Kernel->os, Kernel->db->pointerDatabaseMutex));
+    }
+
+#if gcdENABLE_VG
+    if (Kernel->vg)
+    {
+        gcmkVERIFY_OK(gckVGKERNEL_Destroy(Kernel->vg));
+    }
+    else
+#endif
+    {
+        /* Destroy the gckMMU object. */
+        gcmkVERIFY_OK(gckMMU_Destroy(Kernel->mmu));
+
+        /* Destroy the gckCOMMNAND object. */
+        gcmkVERIFY_OK(gckCOMMAND_Destroy(Kernel->command));
+
+        /* Destroy the gckEVENT object. */
+        gcmkVERIFY_OK(gckEVENT_Destroy(Kernel->eventObj));
+
+        /* Destroy the gckHARDWARE object. */
+        gcmkVERIFY_OK(gckHARDWARE_Destroy(Kernel->hardware));
+
+#if gcdENABLE_RECOVERY
+        gcmkVERIFY_OK(gckOS_AtomDestroy(Kernel->os, Kernel->resetAtom));
+
+        if (Kernel->resetFlagClearTimer)
+        {
+            gcmkVERIFY_OK(gckOS_StopTimer(Kernel->os, Kernel->resetFlagClearTimer));
+            gcmkVERIFY_OK(gckOS_DestroyTimer(Kernel->os, Kernel->resetFlagClearTimer));
+        }
+#endif
+    }
+
+    /* Detsroy the client atom. */
+    gcmkVERIFY_OK(gckOS_AtomDestroy(Kernel->os, Kernel->atomClients));
+
+#if gcdVIRTUAL_COMMAND_BUFFER
+    gcmkVERIFY_OK(gckOS_DeleteMutex(Kernel->os, Kernel->virtualBufferLock));
+#endif
+
+#if gcdDVFS
+    if (Kernel->dvfs)
+    {
+        gcmkVERIFY_OK(gckDVFS_Stop(Kernel->dvfs));
+        gcmkVERIFY_OK(gckDVFS_Destroy(Kernel->dvfs));
+    }
+#endif
+
+#if gcdANDROID_NATIVE_FENCE_SYNC
+    gcmkVERIFY_OK(gckOS_DestroySyncTimeline(Kernel->os, Kernel->timeline));
+#endif
+
+    /* Mark the gckKERNEL object as unknown. */
+    Kernel->object.type = gcvOBJ_UNKNOWN;
+
+    /* Free the gckKERNEL object. */
+    gcmkVERIFY_OK(gcmkOS_SAFE_FREE(Kernel->os, Kernel));
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+#ifdef CONFIG_ANDROID_RESERVED_MEMORY_ACCOUNT
+#include <linux/kernel.h>
+#include <linux/mm.h>
+#include <linux/oom.h>
+#include <linux/sched.h>
+#include <linux/notifier.h>
+
+extern struct task_struct *lowmem_deathpending;
+static unsigned long lowmem_deathpending_timeout;
+
+static int force_contiguous_lowmem_shrink(IN gckKERNEL Kernel)
+{
+       struct task_struct *p;
+       struct task_struct *selected = NULL;
+       int tasksize;
+        int ret = -1;
+       int min_adj = 0;
+       int selected_tasksize = 0;
+       int selected_oom_adj;
+       /*
+        * If we already have a death outstanding, then
+        * bail out right away; indicating to vmscan
+        * that we have nothing further to offer on
+        * this pass.
+        *
+        */
+       if (lowmem_deathpending &&
+           time_before_eq(jiffies, lowmem_deathpending_timeout))
+               return 0;
+       selected_oom_adj = min_adj;
+
+       read_lock(&tasklist_lock);
+       for_each_process(p) {
+               struct mm_struct *mm;
+               struct signal_struct *sig;
+                gcuDATABASE_INFO info;
+               int oom_adj;
+
+               task_lock(p);
+               mm = p->mm;
+               sig = p->signal;
+               if (!mm || !sig) {
+                       task_unlock(p);
+                       continue;
+               }
+               oom_adj = sig->oom_adj;
+               if (oom_adj < min_adj) {
+                       task_unlock(p);
+                       continue;
+               }
+
+               tasksize = 0;
+               if (gckKERNEL_QueryProcessDB(Kernel, p->pid, gcvFALSE, gcvDB_VIDEO_MEMORY, &info) == gcvSTATUS_OK){
+                       tasksize += info.counters.bytes / PAGE_SIZE;
+               }
+               if (gckKERNEL_QueryProcessDB(Kernel, p->pid, gcvFALSE, gcvDB_CONTIGUOUS, &info) == gcvSTATUS_OK){
+                       tasksize += info.counters.bytes / PAGE_SIZE;
+               }
+
+               task_unlock(p);
+
+               if (tasksize <= 0)
+                       continue;
+
+               gckOS_Print("<gpu> pid %d (%s), adj %d, size %d \n", p->pid, p->comm, oom_adj, tasksize);
+
+               if (selected) {
+                       if (oom_adj < selected_oom_adj)
+                               continue;
+                       if (oom_adj == selected_oom_adj &&
+                           tasksize <= selected_tasksize)
+                               continue;
+               }
+               selected = p;
+               selected_tasksize = tasksize;
+               selected_oom_adj = oom_adj;
+       }
+       if (selected) {
+               gckOS_Print("<gpu> send sigkill to %d (%s), adj %d, size %d\n",
+                            selected->pid, selected->comm,
+                            selected_oom_adj, selected_tasksize);
+               lowmem_deathpending = selected;
+               lowmem_deathpending_timeout = jiffies + HZ;
+               force_sig(SIGKILL, selected);
+               ret = 0;
+       }
+       read_unlock(&tasklist_lock);
+       return ret;
+}
+
+#endif
+
+/*******************************************************************************
+**
+**  _AllocateMemory
+**
+**  Private function to walk all required memory pools to allocate the requested
+**  amount of video memory.
+**
+**  INPUT:
+**
+**      gckKERNEL Kernel
+**          Pointer to an gckKERNEL object.
+**
+**      gcsHAL_INTERFACE * Interface
+**          Pointer to a gcsHAL_INTERFACE structure that defines the command to
+**          be dispatched.
+**
+**  OUTPUT:
+**
+**      gcsHAL_INTERFACE * Interface
+**          Pointer to a gcsHAL_INTERFACE structure that receives any data to be
+**          returned.
+*/
+static gceSTATUS
+_AllocateMemory(
+    IN gckKERNEL Kernel,
+    IN OUT gcePOOL * Pool,
+    IN gctSIZE_T Bytes,
+    IN gctSIZE_T Alignment,
+    IN gceSURF_TYPE Type,
+    OUT gcuVIDMEM_NODE_PTR * Node
+    )
+{
+    gcePOOL pool;
+    gceSTATUS status;
+    gckVIDMEM videoMemory;
+    gctINT loopCount;
+    gcuVIDMEM_NODE_PTR node = gcvNULL;
+    gctBOOL tileStatusInVirtual;
+    gctBOOL forceContiguous = gcvFALSE;
+
+    gcmkHEADER_ARG("Kernel=0x%x *Pool=%d Bytes=%lu Alignment=%lu Type=%d",
+                   Kernel, *Pool, Bytes, Alignment, Type);
+
+    gcmkVERIFY_ARGUMENT(Pool != gcvNULL);
+    gcmkVERIFY_ARGUMENT(Bytes != 0);
+
+#ifdef CONFIG_ANDROID_RESERVED_MEMORY_ACCOUNT
+_AllocateMemory_Retry:
+#endif
+    /* Get initial pool. */
+    switch (pool = *Pool)
+    {
+    case gcvPOOL_DEFAULT_FORCE_CONTIGUOUS:
+        forceContiguous = gcvTRUE;
+    case gcvPOOL_DEFAULT:
+    case gcvPOOL_LOCAL:
+        pool      = gcvPOOL_LOCAL_INTERNAL;
+        loopCount = (gctINT) gcvPOOL_NUMBER_OF_POOLS;
+        break;
+
+    case gcvPOOL_UNIFIED:
+        pool      = gcvPOOL_SYSTEM;
+        loopCount = (gctINT) gcvPOOL_NUMBER_OF_POOLS;
+        break;
+
+    case gcvPOOL_CONTIGUOUS:
+        loopCount = (gctINT) gcvPOOL_NUMBER_OF_POOLS;
+        break;
+
+    case gcvPOOL_DEFAULT_FORCE_CONTIGUOUS_CACHEABLE:
+        pool      = gcvPOOL_CONTIGUOUS;
+        loopCount = 1;
+        forceContiguous = gcvTRUE;
+        break;
+
+    default:
+        loopCount = 1;
+        break;
+    }
+
+    while (loopCount-- > 0)
+    {
+        if (pool == gcvPOOL_VIRTUAL)
+        {
+            /* Create a gcuVIDMEM_NODE for virtual memory. */
+            gcmkONERROR(
+                gckVIDMEM_ConstructVirtual(Kernel, gcvFALSE, Bytes, &node));
+
+            /* Success. */
+            break;
+        }
+
+        else
+        if (pool == gcvPOOL_CONTIGUOUS)
+        {
+#if gcdCONTIGUOUS_SIZE_LIMIT
+            if (Bytes > gcdCONTIGUOUS_SIZE_LIMIT && forceContiguous == gcvFALSE)
+            {
+                status = gcvSTATUS_OUT_OF_MEMORY;
+            }
+            else
+#endif
+            {
+                /* Create a gcuVIDMEM_NODE from contiguous memory. */
+                status = gckVIDMEM_ConstructVirtual(Kernel, gcvTRUE, Bytes, &node);
+            }
+
+            if (gcmIS_SUCCESS(status) || forceContiguous == gcvTRUE)
+            {
+                /* Memory allocated. */
+                if(node && forceContiguous == gcvTRUE)
+                {
+                    gctUINT32 physAddr=0;
+                    gctUINT32 baseAddress = 0;
+
+                    gcmkONERROR(
+                        gckOS_LockPages(Kernel->os,
+                                        node->Virtual.physical,
+                                        node->Virtual.bytes,
+                                        gcvFALSE,
+                                        &node->Virtual.logical,
+                                        &node->Virtual.pageCount));
+
+                    /* Convert logical address into a physical address. */
+                    gcmkONERROR(
+                        gckOS_GetPhysicalAddress(Kernel->os,
+                                                 node->Virtual.logical,
+                                                 &physAddr));
+
+                    gcmkONERROR(
+                        gckOS_UnlockPages(Kernel->os,
+                                          node->Virtual.physical,
+                                          node->Virtual.bytes,
+                                          node->Virtual.logical));
+
+                    gcmkONERROR(gckOS_GetBaseAddress(Kernel->os, &baseAddress));
+
+                    gcmkASSERT(physAddr >= baseAddress);
+
+                    /* Subtract baseAddress to get a GPU address used for programming. */
+                    physAddr -= baseAddress;
+
+                    if((physAddr & 0x80000000) || ((physAddr + Bytes) & 0x80000000))
+                    {
+                        gckOS_Print("gpu virtual memory 0x%x cannot be allocated in force contiguous request!\n", physAddr);
+
+                        gcmkONERROR(gckVIDMEM_Free(node));
+
+                        node = gcvNULL;
+                    }
+                }
+
+                break;
+            }
+        }
+
+        else
+        {
+            /* Get pointer to gckVIDMEM object for pool. */
+#if gcdUSE_VIDMEM_PER_PID
+            gctUINT32 pid;
+            gckOS_GetProcessID(&pid);
+
+            status = gckKERNEL_GetVideoMemoryPoolPid(Kernel, pool, pid, &videoMemory);
+            if (status == gcvSTATUS_NOT_FOUND)
+            {
+                /* Create VidMem pool for this process. */
+                status = gckKERNEL_CreateVideoMemoryPoolPid(Kernel, pool, pid, &videoMemory);
+            }
+#else
+            status = gckKERNEL_GetVideoMemoryPool(Kernel, pool, &videoMemory);
+#endif
+
+            if (gcmIS_SUCCESS(status))
+            {
+                /* Allocate memory. */
+                status = gckVIDMEM_AllocateLinear(videoMemory,
+                                                  Bytes,
+                                                  Alignment,
+                                                  Type,
+                                                  &node);
+
+                if (gcmIS_SUCCESS(status))
+                {
+                    /* Memory allocated. */
+                    node->VidMem.pool = pool;
+                    break;
+                }
+            }
+        }
+
+        if (pool == gcvPOOL_LOCAL_INTERNAL)
+        {
+            /* Advance to external memory. */
+            pool = gcvPOOL_LOCAL_EXTERNAL;
+        }
+
+        else
+        if (pool == gcvPOOL_LOCAL_EXTERNAL)
+        {
+            /* Advance to contiguous system memory. */
+            pool = gcvPOOL_SYSTEM;
+        }
+
+        else
+        if (pool == gcvPOOL_SYSTEM)
+        {
+            /* Advance to contiguous memory. */
+            pool = gcvPOOL_CONTIGUOUS;
+        }
+
+        else
+        if (pool == gcvPOOL_CONTIGUOUS)
+        {
+            tileStatusInVirtual =
+                gckHARDWARE_IsFeatureAvailable(Kernel->hardware,
+                                               gcvFEATURE_MC20);
+
+            if (Type == gcvSURF_TILE_STATUS && tileStatusInVirtual != gcvTRUE)
+            {
+                gcmkONERROR(gcvSTATUS_OUT_OF_MEMORY);
+            }
+
+            /* Advance to virtual memory. */
+            pool = gcvPOOL_VIRTUAL;
+        }
+
+        else
+        {
+            /* Out of pools. */
+            gcmkONERROR(gcvSTATUS_OUT_OF_MEMORY);
+        }
+    }
+
+    if (node == gcvNULL)
+    {
+
+#ifdef CONFIG_ANDROID_RESERVED_MEMORY_ACCOUNT
+        if(forceContiguous == gcvTRUE)
+        {
+            if(force_contiguous_lowmem_shrink(Kernel) == 0)
+            {
+                 /* Sleep 1 millisecond. */
+                 gckOS_Delay(gcvNULL, 1);
+                 goto _AllocateMemory_Retry;
+            }
+        }
+#endif
+        /* Nothing allocated. */
+        gcmkONERROR(gcvSTATUS_OUT_OF_MEMORY);
+    }
+
+    /* Return node and pool used for allocation. */
+    *Node = node;
+    *Pool = pool;
+
+    /* Return status. */
+    gcmkFOOTER_ARG("*Pool=%d *Node=0x%x", *Pool, *Node);
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckKERNEL_Dispatch
+**
+**  Dispatch a command received from the user HAL layer.
+**
+**  INPUT:
+**
+**      gckKERNEL Kernel
+**          Pointer to an gckKERNEL object.
+**
+**      gctBOOL FromUser
+**          whether the call is from the user space.
+**
+**      gcsHAL_INTERFACE * Interface
+**          Pointer to a gcsHAL_INTERFACE structure that defines the command to
+**          be dispatched.
+**
+**  OUTPUT:
+**
+**      gcsHAL_INTERFACE * Interface
+**          Pointer to a gcsHAL_INTERFACE structure that receives any data to be
+**          returned.
+*/
+
+gceSTATUS
+gckKERNEL_Dispatch(
+    IN gckKERNEL Kernel,
+    IN gctBOOL FromUser,
+    IN OUT gcsHAL_INTERFACE * Interface
+    )
+{
+    gceSTATUS status = gcvSTATUS_OK;
+    gctSIZE_T bytes;
+    gcuVIDMEM_NODE_PTR node;
+    gctBOOL locked = gcvFALSE;
+    gctPHYS_ADDR physical = gcvNULL;
+    gctPOINTER logical = gcvNULL;
+    gctPOINTER info = gcvNULL;
+    gckCONTEXT context = gcvNULL;
+    gctUINT32 address;
+    gctUINT32 processID;
+    gckKERNEL kernel = Kernel;
+#if gcdSECURE_USER
+    gcskSECURE_CACHE_PTR cache;
+#endif
+    gctBOOL asynchronous;
+    gctPOINTER paddr = gcvNULL;
+#if !USE_NEW_LINUX_SIGNAL
+    gctSIGNAL   signal;
+#endif
+    gceSURF_TYPE type;
+
+    gcmkHEADER_ARG("Kernel=0x%x FromUser=%d Interface=0x%x",
+                   Kernel, FromUser, Interface);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Kernel, gcvOBJ_KERNEL);
+    gcmkVERIFY_ARGUMENT(Interface != gcvNULL);
+
+#if gcmIS_DEBUG(gcdDEBUG_TRACE)
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_KERNEL,
+                   "Dispatching command %d (%s)",
+                   Interface->command, _DispatchText[Interface->command]);
+#endif
+#if QNX_SINGLE_THREADED_DEBUGGING
+    gckOS_AcquireMutex(Kernel->os, Kernel->debugMutex, gcvINFINITE);
+#endif
+
+    /* Get the current process ID. */
+    gcmkONERROR(gckOS_GetProcessID(&processID));
+
+#if gcdSECURE_USER
+    gcmkONERROR(gckKERNEL_GetProcessDBCache(Kernel, processID, &cache));
+#endif
+
+    /* Dispatch on command. */
+    switch (Interface->command)
+    {
+    case gcvHAL_GET_BASE_ADDRESS:
+        /* Get base address. */
+        gcmkONERROR(
+            gckOS_GetBaseAddress(Kernel->os,
+                                 &Interface->u.GetBaseAddress.baseAddress));
+        break;
+
+    case gcvHAL_QUERY_VIDEO_MEMORY:
+        /* Query video memory size. */
+        gcmkONERROR(gckKERNEL_QueryVideoMemory(Kernel, Interface));
+        break;
+
+    case gcvHAL_QUERY_CHIP_IDENTITY:
+        /* Query chip identity. */
+        gcmkONERROR(
+            gckHARDWARE_QueryChipIdentity(
+                Kernel->hardware,
+                &Interface->u.QueryChipIdentity));
+        break;
+
+    case gcvHAL_MAP_MEMORY:
+        physical = gcmINT2PTR(Interface->u.MapMemory.physical);
+
+        /* Map memory. */
+        gcmkONERROR(
+            gckKERNEL_MapMemory(Kernel,
+                                physical,
+                                (gctSIZE_T) Interface->u.MapMemory.bytes,
+                                &logical));
+
+        Interface->u.MapMemory.logical = gcmPTR_TO_UINT64(logical);
+
+        gcmkVERIFY_OK(
+            gckKERNEL_AddProcessDB(Kernel,
+                                   processID, gcvDB_MAP_MEMORY,
+                                   logical,
+                                   physical,
+                                   (gctSIZE_T) Interface->u.MapMemory.bytes));
+        break;
+
+    case gcvHAL_UNMAP_MEMORY:
+        physical = gcmINT2PTR(Interface->u.UnmapMemory.physical);
+
+        /* Unmap memory. */
+        gcmkONERROR(
+            gckKERNEL_UnmapMemory(Kernel,
+                                  physical,
+                                  (gctSIZE_T) Interface->u.UnmapMemory.bytes,
+                                  gcmUINT64_TO_PTR(Interface->u.UnmapMemory.logical)));
+        gcmkVERIFY_OK(
+            gckKERNEL_RemoveProcessDB(Kernel,
+                                      processID, gcvDB_MAP_MEMORY,
+                                      gcmUINT64_TO_PTR(Interface->u.UnmapMemory.logical)));
+        break;
+
+    case gcvHAL_ALLOCATE_NON_PAGED_MEMORY:
+        bytes = (gctSIZE_T) Interface->u.AllocateNonPagedMemory.bytes;
+
+        /* Allocate non-paged memory. */
+        gcmkONERROR(
+            gckOS_AllocateNonPagedMemory(
+                Kernel->os,
+                FromUser,
+                &bytes,
+                &physical,
+                &logical));
+
+        Interface->u.AllocateNonPagedMemory.bytes    = bytes;
+        Interface->u.AllocateNonPagedMemory.logical  = gcmPTR_TO_UINT64(logical);
+        Interface->u.AllocateNonPagedMemory.physical = gcmPTR_TO_NAME(physical);
+
+        gcmkVERIFY_OK(
+            gckKERNEL_AddProcessDB(Kernel,
+                                   processID, gcvDB_NON_PAGED,
+                                   logical,
+                                   gcmINT2PTR(Interface->u.AllocateNonPagedMemory.physical),
+                                   bytes));
+
+        break;
+
+    case gcvHAL_ALLOCATE_VIRTUAL_COMMAND_BUFFER:
+#if gcdVIRTUAL_COMMAND_BUFFER
+        bytes = (gctSIZE_T) Interface->u.AllocateVirtualCommandBuffer.bytes;
+
+        gcmkONERROR(
+            gckKERNEL_AllocateVirtualCommandBuffer(
+                Kernel,
+                FromUser,
+                &bytes,
+                &physical,
+                &logical));
+
+        Interface->u.AllocateVirtualCommandBuffer.bytes    = bytes;
+        Interface->u.AllocateVirtualCommandBuffer.logical  = gcmPTR_TO_UINT64(logical);
+        Interface->u.AllocateVirtualCommandBuffer.physical = gcmPTR_TO_NAME(physical);
+
+        gcmkVERIFY_OK(
+            gckKERNEL_AddProcessDB(Kernel,
+                                   processID, gcvDB_COMMAND_BUFFER,
+                                   logical,
+                                   gcmINT2PTR(Interface->u.AllocateVirtualCommandBuffer.physical),
+                                   bytes));
+#else
+        status = gcvSTATUS_NOT_SUPPORTED;
+#endif
+        break;
+
+    case gcvHAL_FREE_NON_PAGED_MEMORY:
+        physical = gcmNAME_TO_PTR(Interface->u.FreeNonPagedMemory.physical);
+
+        /* Unmap user logical out of physical memory first. */
+        gcmkONERROR(gckOS_UnmapUserLogical(Kernel->os,
+                                           physical,
+                                           (gctSIZE_T) Interface->u.FreeNonPagedMemory.bytes,
+                                           gcmUINT64_TO_PTR(Interface->u.FreeNonPagedMemory.logical)));
+
+        /* Free non-paged memory. */
+        gcmkONERROR(
+            gckOS_FreeNonPagedMemory(Kernel->os,
+                                     (gctSIZE_T) Interface->u.FreeNonPagedMemory.bytes,
+                                     physical,
+                                     gcmUINT64_TO_PTR(Interface->u.FreeNonPagedMemory.logical)));
+
+        gcmkVERIFY_OK(
+            gckKERNEL_RemoveProcessDB(Kernel,
+                                      processID, gcvDB_NON_PAGED,
+                                      gcmUINT64_TO_PTR(Interface->u.FreeNonPagedMemory.logical)));
+
+#if gcdSECURE_USER
+        gcmkVERIFY_OK(gckKERNEL_FlushTranslationCache(
+            Kernel,
+            cache,
+            gcmUINT64_TO_PTR(Interface->u.FreeNonPagedMemory.logical),
+            Interface->u.FreeNonPagedMemory.bytes));
+#endif
+
+        gcmRELEASE_NAME(Interface->u.FreeNonPagedMemory.physical);
+
+        break;
+
+    case gcvHAL_ALLOCATE_CONTIGUOUS_MEMORY:
+        bytes = (gctSIZE_T) Interface->u.AllocateContiguousMemory.bytes;
+
+        /* Allocate contiguous memory. */
+        gcmkONERROR(gckOS_AllocateContiguous(
+            Kernel->os,
+            FromUser,
+            &bytes,
+            &physical,
+            &logical));
+
+        Interface->u.AllocateContiguousMemory.bytes    = bytes;
+        Interface->u.AllocateContiguousMemory.logical  = gcmPTR_TO_UINT64(logical);
+        Interface->u.AllocateContiguousMemory.physical = gcmPTR_TO_NAME(physical);
+
+        gcmkONERROR(gckHARDWARE_ConvertLogical(
+            Kernel->hardware,
+            gcmUINT64_TO_PTR(Interface->u.AllocateContiguousMemory.logical),
+            &Interface->u.AllocateContiguousMemory.address));
+
+        gcmkVERIFY_OK(gckKERNEL_AddProcessDB(
+            Kernel,
+            processID, gcvDB_CONTIGUOUS,
+            logical,
+            gcmINT2PTR(Interface->u.AllocateContiguousMemory.physical),
+            bytes));
+
+        break;
+
+    case gcvHAL_FREE_CONTIGUOUS_MEMORY:
+        physical = gcmNAME_TO_PTR(Interface->u.FreeContiguousMemory.physical);
+
+        /* Unmap user logical out of physical memory first. */
+        gcmkONERROR(gckOS_UnmapUserLogical(Kernel->os,
+                                           physical,
+                                           (gctSIZE_T) Interface->u.FreeContiguousMemory.bytes,
+                                           gcmUINT64_TO_PTR(Interface->u.FreeContiguousMemory.logical)));
+
+        /* Free contiguous memory. */
+        gcmkONERROR(
+            gckOS_FreeContiguous(Kernel->os,
+                                 physical,
+                                 gcmUINT64_TO_PTR(Interface->u.FreeContiguousMemory.logical),
+                                 (gctSIZE_T) Interface->u.FreeContiguousMemory.bytes));
+
+        gcmkVERIFY_OK(
+            gckKERNEL_RemoveProcessDB(Kernel,
+                                      processID, gcvDB_CONTIGUOUS,
+                                      gcmUINT64_TO_PTR(Interface->u.FreeNonPagedMemory.logical)));
+
+#if gcdSECURE_USER
+        gcmkVERIFY_OK(gckKERNEL_FlushTranslationCache(
+            Kernel,
+            cache,
+            gcmUINT64_TO_PTR(Interface->u.FreeContiguousMemory.logical),
+            Interface->u.FreeContiguousMemory.bytes));
+#endif
+
+        gcmRELEASE_NAME(Interface->u.FreeContiguousMemory.physical);
+
+        break;
+
+    case gcvHAL_ALLOCATE_VIDEO_MEMORY:
+
+        gcmkONERROR(gcvSTATUS_NOT_SUPPORTED);
+
+        break;
+
+    case gcvHAL_ALLOCATE_LINEAR_VIDEO_MEMORY:
+        type = Interface->u.AllocateLinearVideoMemory.type;
+
+        /* Allocate memory. */
+        gcmkONERROR(
+            _AllocateMemory(Kernel,
+                            &Interface->u.AllocateLinearVideoMemory.pool,
+                            Interface->u.AllocateLinearVideoMemory.bytes,
+                            Interface->u.AllocateLinearVideoMemory.alignment,
+                            Interface->u.AllocateLinearVideoMemory.type,
+                            &node));
+
+        if (node->VidMem.memory->object.type == gcvOBJ_VIDMEM)
+        {
+            bytes = node->VidMem.bytes;
+            node->VidMem.type = type;
+
+            gcmkONERROR(
+                gckKERNEL_AddProcessDB(Kernel,
+                                   processID, gcvDB_VIDEO_MEMORY_RESERVED,
+                                   node,
+                                   gcvNULL,
+                                   bytes));
+        }
+        else
+        {
+            bytes = node->Virtual.bytes;
+            node->Virtual.type = type;
+
+            if(node->Virtual.contiguous)
+            {
+                gcmkONERROR(
+                    gckKERNEL_AddProcessDB(Kernel,
+                                   processID, gcvDB_VIDEO_MEMORY_CONTIGUOUS,
+                                   node,
+                                   gcvNULL,
+                                   bytes));
+            }
+            else
+            {
+                gcmkONERROR(
+                    gckKERNEL_AddProcessDB(Kernel,
+                                   processID, gcvDB_VIDEO_MEMORY_VIRTUAL,
+                                   node,
+                                   gcvNULL,
+                                   bytes));
+            }
+
+        }
+
+        gcmkONERROR(
+            gckKERNEL_AddProcessDB(Kernel,
+                                   processID, gcvDB_VIDEO_MEMORY,
+                                   node,
+                                   gcvNULL,
+                                   bytes));
+
+        /* Get the node. */
+        Interface->u.AllocateLinearVideoMemory.node = gcmPTR_TO_UINT64(node);
+        break;
+
+    case gcvHAL_FREE_VIDEO_MEMORY:
+        node = gcmUINT64_TO_PTR(Interface->u.FreeVideoMemory.node);
+#ifdef __QNXNTO__
+        if (node->VidMem.memory->object.type == gcvOBJ_VIDMEM
+         && node->VidMem.logical != gcvNULL)
+        {
+            gcmkONERROR(
+                    gckKERNEL_UnmapVideoMemory(Kernel,
+                                               node->VidMem.logical,
+                                               processID,
+                                               node->VidMem.bytes));
+            node->VidMem.logical = gcvNULL;
+        }
+#endif
+        /* Free video memory. */
+        gcmkONERROR(
+            gckVIDMEM_Free(node));
+
+        gcmkONERROR(
+            gckKERNEL_RemoveProcessDB(Kernel,
+                                      processID, gcvDB_VIDEO_MEMORY,
+                                      node));
+
+        if (node->VidMem.memory->object.type == gcvOBJ_VIDMEM)
+        {
+           gcmkONERROR(
+                gckKERNEL_RemoveProcessDB(Kernel,
+                                      processID, gcvDB_VIDEO_MEMORY_RESERVED,
+                                      node));
+        }
+        else if(node->Virtual.contiguous)
+        {
+            gcmkONERROR(
+                gckKERNEL_RemoveProcessDB(Kernel,
+                                      processID, gcvDB_VIDEO_MEMORY_CONTIGUOUS,
+                                      node));
+        }
+        else
+        {
+            gcmkONERROR(
+                gckKERNEL_RemoveProcessDB(Kernel,
+                                      processID, gcvDB_VIDEO_MEMORY_VIRTUAL,
+                                      node));
+        }
+
+        break;
+
+    case gcvHAL_LOCK_VIDEO_MEMORY:
+        node = gcmUINT64_TO_PTR(Interface->u.LockVideoMemory.node);
+
+        /* Lock video memory. */
+        gcmkONERROR(
+            gckVIDMEM_Lock(Kernel,
+                           node,
+                           Interface->u.LockVideoMemory.cacheable,
+                           &Interface->u.LockVideoMemory.address));
+
+        locked = gcvTRUE;
+
+        if (node->VidMem.memory->object.type == gcvOBJ_VIDMEM)
+        {
+            /* Map video memory address into user space. */
+#ifdef __QNXNTO__
+        if (node->VidMem.logical == gcvNULL)
+        {
+            gcmkONERROR(
+                gckKERNEL_MapVideoMemory(Kernel,
+                                         FromUser,
+                                         Interface->u.LockVideoMemory.address,
+                                         processID,
+                                         node->VidMem.bytes,
+                                         &node->VidMem.logical));
+        }
+        gcmkASSERT(node->VidMem.logical != gcvNULL);
+
+        Interface->u.LockVideoMemory.memory = gcmPTR_TO_UINT64(node->VidMem.logical);
+#else
+            gcmkONERROR(
+                gckKERNEL_MapVideoMemory(Kernel,
+                                         FromUser,
+                                         Interface->u.LockVideoMemory.address,
+                                         &logical));
+
+            Interface->u.LockVideoMemory.memory = gcmPTR_TO_UINT64(logical);
+#endif
+        }
+        else
+        {
+            Interface->u.LockVideoMemory.memory = gcmPTR_TO_UINT64(node->Virtual.logical);
+
+            /* Success. */
+            status = gcvSTATUS_OK;
+        }
+
+#if gcdSECURE_USER
+        /* Return logical address as physical address. */
+        Interface->u.LockVideoMemory.address =
+            Interface->u.LockVideoMemory.memory;
+#endif
+        gcmkONERROR(
+            gckKERNEL_AddProcessDB(Kernel,
+                                   processID, gcvDB_VIDEO_MEMORY_LOCKED,
+                                   node,
+                                   gcvNULL,
+                                   0));
+
+        break;
+
+    case gcvHAL_UNLOCK_VIDEO_MEMORY:
+        /* Unlock video memory. */
+        node = gcmUINT64_TO_PTR(Interface->u.UnlockVideoMemory.node);
+
+#if gcdSECURE_USER
+        /* Save node information before it disappears. */
+        if (node->VidMem.memory->object.type == gcvOBJ_VIDMEM)
+        {
+            logical = gcvNULL;
+            bytes   = 0;
+        }
+        else
+        {
+            logical = node->Virtual.logical;
+            bytes   = node->Virtual.bytes;
+        }
+#endif
+
+        /* Unlock video memory. */
+        gcmkONERROR(
+            gckVIDMEM_Unlock(Kernel,
+                             node,
+                             Interface->u.UnlockVideoMemory.type,
+                             &Interface->u.UnlockVideoMemory.asynchroneous));
+
+#if gcdSECURE_USER
+        /* Flush the translation cache for virtual surfaces. */
+        if (logical != gcvNULL)
+        {
+            gcmkVERIFY_OK(gckKERNEL_FlushTranslationCache(Kernel,
+                                                          cache,
+                                                          logical,
+                                                          bytes));
+        }
+#endif
+        if (Interface->u.UnlockVideoMemory.asynchroneous == gcvFALSE)
+        {
+            /* There isn't a event to unlock this node, remove record now */
+            gcmkONERROR(
+                gckKERNEL_RemoveProcessDB(Kernel,
+                                          processID, gcvDB_VIDEO_MEMORY_LOCKED,
+                                          node));
+        }
+        break;
+
+    case gcvHAL_EVENT_COMMIT:
+        /* Commit an event queue. */
+        gcmkONERROR(
+            gckEVENT_Commit(Kernel->eventObj,
+                            gcmUINT64_TO_PTR(Interface->u.Event.queue)));
+        break;
+
+    case gcvHAL_COMMIT:
+        /* Commit a command and context buffer. */
+        gcmkONERROR(
+            gckCOMMAND_Commit(Kernel->command,
+                              Interface->u.Commit.context ?
+                                  gcmNAME_TO_PTR(Interface->u.Commit.context) : gcvNULL,
+                              gcmUINT64_TO_PTR(Interface->u.Commit.commandBuffer),
+                              gcmUINT64_TO_PTR(Interface->u.Commit.delta),
+                              gcmUINT64_TO_PTR(Interface->u.Commit.queue),
+                              processID));
+        break;
+
+    case gcvHAL_STALL:
+        /* Stall the command queue. */
+        gcmkONERROR(gckCOMMAND_Stall(Kernel->command, gcvFALSE));
+        break;
+
+    case gcvHAL_MAP_USER_MEMORY:
+        /* Map user memory to DMA. */
+        gcmkONERROR(
+            gckOS_MapUserMemory(Kernel->os,
+                                Kernel->core,
+                                gcmUINT64_TO_PTR(Interface->u.MapUserMemory.memory),
+                                Interface->u.MapUserMemory.physical,
+                                (gctSIZE_T) Interface->u.MapUserMemory.size,
+                                &info,
+                                &Interface->u.MapUserMemory.address));
+
+        Interface->u.MapUserMemory.info = gcmPTR_TO_NAME(info);
+
+        gcmkVERIFY_OK(
+            gckKERNEL_AddProcessDB(Kernel,
+                                   processID, gcvDB_MAP_USER_MEMORY,
+                                   gcmINT2PTR(Interface->u.MapUserMemory.info),
+                                   gcmUINT64_TO_PTR(Interface->u.MapUserMemory.memory),
+                                   (gctSIZE_T) Interface->u.MapUserMemory.size));
+        break;
+
+    case gcvHAL_UNMAP_USER_MEMORY:
+        address = Interface->u.UnmapUserMemory.address;
+        info = gcmNAME_TO_PTR(Interface->u.UnmapUserMemory.info);
+
+        /* Unmap user memory. */
+        gcmkONERROR(
+            gckOS_UnmapUserMemory(Kernel->os,
+                                  Kernel->core,
+                                  gcmUINT64_TO_PTR(Interface->u.UnmapUserMemory.memory),
+                                  (gctSIZE_T) Interface->u.UnmapUserMemory.size,
+                                  info,
+                                  address));
+
+#if gcdSECURE_USER
+        gcmkVERIFY_OK(gckKERNEL_FlushTranslationCache(
+            Kernel,
+            cache,
+            gcmUINT64_TO_PTR(Interface->u.UnmapUserMemory.memory),
+            Interface->u.UnmapUserMemory.size));
+#endif
+        gcmkVERIFY_OK(
+            gckKERNEL_RemoveProcessDB(Kernel,
+                                      processID, gcvDB_MAP_USER_MEMORY,
+                                      gcmINT2PTR(Interface->u.UnmapUserMemory.info)));
+
+        gcmRELEASE_NAME(Interface->u.UnmapUserMemory.info);
+
+        break;
+
+#if !USE_NEW_LINUX_SIGNAL
+    case gcvHAL_USER_SIGNAL:
+        /* Dispatch depends on the user signal subcommands. */
+        switch(Interface->u.UserSignal.command)
+        {
+        case gcvUSER_SIGNAL_CREATE:
+            /* Create a signal used in the user space. */
+            gcmkONERROR(
+                gckOS_CreateUserSignal(Kernel->os,
+                                       Interface->u.UserSignal.manualReset,
+                                       &Interface->u.UserSignal.id));
+
+            gcmkVERIFY_OK(
+                gckKERNEL_AddProcessDB(Kernel,
+                                       processID, gcvDB_SIGNAL,
+                                       gcmINT2PTR(Interface->u.UserSignal.id),
+                                       gcvNULL,
+                                       0));
+            break;
+
+        case gcvUSER_SIGNAL_DESTROY:
+            /* Destroy the signal. */
+            gcmkONERROR(
+                gckOS_DestroyUserSignal(Kernel->os,
+                                        Interface->u.UserSignal.id));
+
+            gcmkVERIFY_OK(gckKERNEL_RemoveProcessDB(
+                Kernel,
+                processID, gcvDB_SIGNAL,
+                gcmINT2PTR(Interface->u.UserSignal.id)));
+            break;
+
+        case gcvUSER_SIGNAL_SIGNAL:
+            /* Signal the signal. */
+            gcmkONERROR(
+                gckOS_SignalUserSignal(Kernel->os,
+                                       Interface->u.UserSignal.id,
+                                       Interface->u.UserSignal.state));
+            break;
+
+        case gcvUSER_SIGNAL_WAIT:
+#if gcdGPU_TIMEOUT
+            if (Interface->u.UserSignal.wait == gcvINFINITE)
+            {
+                gckHARDWARE hardware;
+                gctUINT32 timer = 0;
+
+                for(;;)
+                {
+                    /* Wait on the signal. */
+                    status = gckOS_WaitUserSignal(Kernel->os,
+                                                  Interface->u.UserSignal.id,
+                                                  gcdGPU_ADVANCETIMER);
+
+                    if (status == gcvSTATUS_TIMEOUT)
+                    {
+                        gcmkONERROR(
+                            gckOS_SignalQueryHardware(Kernel->os,
+                                                      (gctSIGNAL)(gctUINTPTR_T)Interface->u.UserSignal.id,
+                                                      &hardware));
+
+                        if (hardware)
+                        {
+                            /* This signal is bound to a hardware,
+                            ** so the timeout is limited by Kernel->timeOut.
+                            */
+                            timer += gcdGPU_ADVANCETIMER;
+                        }
+
+                        if (timer >= Kernel->timeOut)
+                        {
+                            gcmkONERROR(
+                                gckOS_Broadcast(Kernel->os,
+                                                hardware,
+                                                gcvBROADCAST_GPU_STUCK));
+
+                            timer = 0;
+
+                            /* If a few process try to reset GPU, only one
+                            ** of them can do the real reset, other processes
+                            ** still need to wait for this signal is triggered,
+                            ** which menas reset is finished.
+                            */
+                            continue;
+                        }
+                    }
+                    else
+                    {
+                        /* Bail out on other error. */
+                        gcmkONERROR(status);
+
+                        /* Wait for signal successfully. */
+                        break;
+                    }
+                }
+            }
+            else
+#endif
+            {
+                /* Wait on the signal. */
+                status = gckOS_WaitUserSignal(Kernel->os,
+                                              Interface->u.UserSignal.id,
+                                              Interface->u.UserSignal.wait);
+            }
+
+            break;
+
+        case gcvUSER_SIGNAL_MAP:
+            gcmkONERROR(
+                gckOS_MapSignal(Kernel->os,
+                               (gctSIGNAL)(gctUINTPTR_T)Interface->u.UserSignal.id,
+                               (gctHANDLE)(gctUINTPTR_T)processID,
+                               &signal));
+
+            gcmkVERIFY_OK(
+                gckKERNEL_AddProcessDB(Kernel,
+                                       processID, gcvDB_SIGNAL,
+                                       gcmINT2PTR(Interface->u.UserSignal.id),
+                                       gcvNULL,
+                                       0));
+            break;
+
+        case gcvUSER_SIGNAL_UNMAP:
+            /* Destroy the signal. */
+            gcmkONERROR(
+                gckOS_DestroyUserSignal(Kernel->os,
+                                        Interface->u.UserSignal.id));
+
+            gcmkVERIFY_OK(gckKERNEL_RemoveProcessDB(
+                Kernel,
+                processID, gcvDB_SIGNAL,
+                gcmINT2PTR(Interface->u.UserSignal.id)));
+            break;
+
+        default:
+            /* Invalid user signal command. */
+            gcmkONERROR(gcvSTATUS_INVALID_ARGUMENT);
+        }
+        break;
+#endif
+
+    case gcvHAL_SET_POWER_MANAGEMENT_STATE:
+        /* Set the power management state. */
+        gcmkONERROR(
+            gckHARDWARE_SetPowerManagementState(
+                Kernel->hardware,
+                Interface->u.SetPowerManagement.state));
+        break;
+
+    case gcvHAL_QUERY_POWER_MANAGEMENT_STATE:
+        /* Chip is not idle. */
+        Interface->u.QueryPowerManagement.isIdle = gcvFALSE;
+
+        /* Query the power management state. */
+        gcmkONERROR(gckHARDWARE_QueryPowerManagementState(
+            Kernel->hardware,
+            &Interface->u.QueryPowerManagement.state));
+
+        /* Query the idle state. */
+        gcmkONERROR(
+            gckHARDWARE_QueryIdle(Kernel->hardware,
+                                  &Interface->u.QueryPowerManagement.isIdle));
+        break;
+
+    case gcvHAL_READ_REGISTER:
+#if gcdREGISTER_ACCESS_FROM_USER
+        {
+            gceCHIPPOWERSTATE power;
+
+            gckOS_AcquireMutex(Kernel->os, Kernel->hardware->powerMutex, gcvINFINITE);
+            gcmkONERROR(gckHARDWARE_QueryPowerManagementState(Kernel->hardware,
+                                                              &power));
+            if (power == gcvPOWER_ON)
+            {
+                /* Read a register. */
+                gcmkONERROR(gckOS_ReadRegisterEx(
+                    Kernel->os,
+                    Kernel->core,
+                    Interface->u.ReadRegisterData.address,
+                    &Interface->u.ReadRegisterData.data));
+            }
+            else
+            {
+                /* Chip is in power-state. */
+                Interface->u.ReadRegisterData.data = 0;
+                status = gcvSTATUS_CHIP_NOT_READY;
+            }
+            gcmkONERROR(gckOS_ReleaseMutex(Kernel->os, Kernel->hardware->powerMutex));
+        }
+#else
+        /* No access from user land to read registers. */
+        Interface->u.ReadRegisterData.data = 0;
+        status = gcvSTATUS_NOT_SUPPORTED;
+#endif
+        break;
+
+    case gcvHAL_WRITE_REGISTER:
+#if gcdREGISTER_ACCESS_FROM_USER
+        {
+            gceCHIPPOWERSTATE power;
+
+            gckOS_AcquireMutex(Kernel->os, Kernel->hardware->powerMutex, gcvINFINITE);
+            gcmkONERROR(gckHARDWARE_QueryPowerManagementState(Kernel->hardware,
+                                                                  &power));
+            if (power == gcvPOWER_ON)
+            {
+                /* Write a register. */
+                gcmkONERROR(
+                    gckOS_WriteRegisterEx(Kernel->os,
+                                          Kernel->core,
+                                          Interface->u.WriteRegisterData.address,
+                                          Interface->u.WriteRegisterData.data));
+            }
+            else
+            {
+                /* Chip is in power-state. */
+                Interface->u.WriteRegisterData.data = 0;
+                status = gcvSTATUS_CHIP_NOT_READY;
+            }
+            gcmkONERROR(gckOS_ReleaseMutex(Kernel->os, Kernel->hardware->powerMutex));
+        }
+#else
+        /* No access from user land to write registers. */
+        status = gcvSTATUS_NOT_SUPPORTED;
+#endif
+        break;
+
+    case gcvHAL_READ_ALL_PROFILE_REGISTERS:
+#if VIVANTE_PROFILER && VIVANTE_PROFILER_CONTEXT
+        /* Read profile data according to the context. */
+        gcmkONERROR(
+            gckHARDWARE_QueryContextProfile(
+                Kernel->hardware,
+                Kernel->profileCleanRegister,
+                gcmNAME_TO_PTR(Interface->u.RegisterProfileData.context),
+                &Interface->u.RegisterProfileData.counters));
+#elif VIVANTE_PROFILER
+        /* Read all 3D profile registers. */
+        gcmkONERROR(
+            gckHARDWARE_QueryProfileRegisters(
+                Kernel->hardware,
+                Kernel->profileCleanRegister,
+                &Interface->u.RegisterProfileData.counters));
+#else
+        status = gcvSTATUS_OK;
+#endif
+        break;
+
+    case gcvHAL_PROFILE_REGISTERS_2D:
+#if VIVANTE_PROFILER
+        /* Read all 2D profile registers. */
+        gcmkONERROR(
+            gckHARDWARE_ProfileEngine2D(
+                Kernel->hardware,
+                gcmUINT64_TO_PTR(Interface->u.RegisterProfileData2D.hwProfile2D)));
+#else
+        status = gcvSTATUS_OK;
+#endif
+        break;
+
+    case gcvHAL_GET_PROFILE_SETTING:
+#if VIVANTE_PROFILER
+        /* Get profile setting */
+        Interface->u.GetProfileSetting.enable = Kernel->profileEnable;
+#endif
+
+        status = gcvSTATUS_OK;
+        break;
+    case gcvHAL_SET_PROFILE_SETTING:
+#if VIVANTE_PROFILER
+        /* Set profile setting */
+        if(Kernel->hardware->gpuProfiler)
+            Kernel->profileEnable = Interface->u.SetProfileSetting.enable;
+        else
+        {
+            status = gcvSTATUS_NOT_SUPPORTED;
+            break;
+        }
+#endif
+
+        status = gcvSTATUS_OK;
+        break;
+
+#if VIVANTE_PROFILER_PERDRAW
+    case gcvHAL_READ_PROFILER_REGISTER_SETTING:
+    #if VIVANTE_PROFILER
+        Kernel->profileCleanRegister = Interface->u.SetProfilerRegisterClear.bclear;
+    #endif
+        status = gcvSTATUS_OK;
+        break;
+#endif
+
+    case gcvHAL_QUERY_KERNEL_SETTINGS:
+        /* Get kernel settings. */
+        gcmkONERROR(
+            gckKERNEL_QuerySettings(Kernel,
+                                    &Interface->u.QueryKernelSettings.settings));
+        break;
+
+    case gcvHAL_RESET:
+        /* Reset the hardware. */
+        gckKERNEL_Recovery(Kernel);
+        break;
+
+    case gcvHAL_DEBUG:
+        /* Set debug level and zones. */
+        if (Interface->u.Debug.set)
+        {
+            gckOS_SetDebugLevel(Interface->u.Debug.level);
+            gckOS_SetDebugZones(Interface->u.Debug.zones,
+                                Interface->u.Debug.enable);
+        }
+
+        if (Interface->u.Debug.message[0] != '\0')
+        {
+            /* Print a message to the debugger. */
+            if (Interface->u.Debug.type == gcvMESSAGE_TEXT)
+            {
+               gckOS_CopyPrint(Interface->u.Debug.message);
+            }
+            else
+            {
+               gckOS_DumpBuffer(Kernel->os,
+                                Interface->u.Debug.message,
+                                Interface->u.Debug.messageSize,
+                                gceDUMP_BUFFER_FROM_USER,
+                                gcvTRUE);
+            }
+        }
+        status = gcvSTATUS_OK;
+        break;
+
+    case gcvHAL_DUMP_GPU_STATE:
+        /* Dump GPU state */
+        {
+            gceCHIPPOWERSTATE power;
+            gcmkONERROR(gckHARDWARE_QueryPowerManagementState(Kernel->hardware,
+                                                              &power));
+            if (power == gcvPOWER_ON)
+            {
+                Interface->u.ReadRegisterData.data = 1;
+                gcmkVERIFY_OK(
+                    gckHARDWARE_DumpGPUState(Kernel->hardware));
+#if gcdVIRTUAL_COMMAND_BUFFER
+                gcmkVERIFY_OK(
+                    gckCOMMAND_DumpExecutingBuffer(Kernel->command));
+#endif
+            }
+            else
+            {
+                Interface->u.ReadRegisterData.data = 0;
+                status = gcvSTATUS_CHIP_NOT_READY;
+            }
+        }
+        break;
+
+    case gcvHAL_DUMP_EVENT:
+        /* Dump GPU event */
+        gcmkVERIFY_OK(gckEVENT_Dump(Kernel->eventObj));
+
+        /* Dump Process DB. */
+        gcmkVERIFY_OK(gckKERNEL_DumpProcessDB(Kernel));
+        break;
+
+    case gcvHAL_CACHE:
+        node = gcmUINT64_TO_PTR(Interface->u.Cache.node);
+        if (node == gcvNULL)
+        {
+            /* FIXME Surface wrap some memory which is not allocated by us,
+            ** So we don't have physical address to handle outer cache, ignore it*/
+            status = gcvSTATUS_OK;
+            break;
+        }
+        else if (node->VidMem.memory->object.type == gcvOBJ_VIDMEM)
+        {
+            /* Video memory has no physical handles. */
+            physical = gcvNULL;
+        }
+        else
+        {
+            /* Grab physical handle. */
+            physical = node->Virtual.physical;
+        }
+
+        logical = gcmUINT64_TO_PTR(Interface->u.Cache.logical);
+        bytes = (gctSIZE_T) Interface->u.Cache.bytes;
+        switch(Interface->u.Cache.operation)
+        {
+        case gcvCACHE_FLUSH:
+            /* Clean and invalidate the cache. */
+            status = gckOS_CacheFlush(Kernel->os,
+                                      processID,
+                                      physical,
+                                      paddr,
+                                      logical,
+                                      bytes);
+            break;
+        case gcvCACHE_CLEAN:
+            /* Clean the cache. */
+            status = gckOS_CacheClean(Kernel->os,
+                                      processID,
+                                      physical,
+                                      paddr,
+                                      logical,
+                                      bytes);
+            break;
+        case gcvCACHE_INVALIDATE:
+            /* Invalidate the cache. */
+            status = gckOS_CacheInvalidate(Kernel->os,
+                                           processID,
+                                           physical,
+                                           paddr,
+                                           logical,
+                                           bytes);
+            break;
+
+       case gcvCACHE_MEMORY_BARRIER:
+          status = gckOS_MemoryBarrier(Kernel->os,
+                                        logical);
+          break;
+        default:
+            status = gcvSTATUS_INVALID_ARGUMENT;
+            break;
+        }
+        break;
+
+    case gcvHAL_TIMESTAMP:
+        /* Check for invalid timer. */
+        if ((Interface->u.TimeStamp.timer >= gcmCOUNTOF(Kernel->timers))
+        ||  (Interface->u.TimeStamp.request != 2))
+        {
+            Interface->u.TimeStamp.timeDelta = 0;
+            gcmkONERROR(gcvSTATUS_INVALID_ARGUMENT);
+        }
+
+        /* Return timer results and reset timer. */
+        {
+            gcsTIMER_PTR timer = &(Kernel->timers[Interface->u.TimeStamp.timer]);
+            gctUINT64 timeDelta = 0;
+
+            if (timer->stopTime < timer->startTime )
+            {
+                Interface->u.TimeStamp.timeDelta = 0;
+                gcmkONERROR(gcvSTATUS_TIMER_OVERFLOW);
+            }
+
+            timeDelta = timer->stopTime - timer->startTime;
+
+            /* Check truncation overflow. */
+            Interface->u.TimeStamp.timeDelta = (gctINT32) timeDelta;
+                       /*bit0~bit30 is available*/
+            if (timeDelta>>31)
+            {
+                Interface->u.TimeStamp.timeDelta = 0;
+                gcmkONERROR(gcvSTATUS_TIMER_OVERFLOW);
+            }
+
+            status = gcvSTATUS_OK;
+        }
+        break;
+
+    case gcvHAL_DATABASE:
+        /* Query video memory. */
+        gcmkONERROR(
+            gckKERNEL_QueryProcessDB(Kernel,
+                                     Interface->u.Database.processID,
+                                     !Interface->u.Database.validProcessID,
+                                     gcvDB_VIDEO_MEMORY,
+                                     &Interface->u.Database.vidMem));
+
+        /* Query non-paged memory. */
+        gcmkONERROR(
+            gckKERNEL_QueryProcessDB(Kernel,
+                                     Interface->u.Database.processID,
+                                     !Interface->u.Database.validProcessID,
+                                     gcvDB_NON_PAGED,
+                                     &Interface->u.Database.nonPaged));
+
+        /* Query contiguous memory. */
+        gcmkONERROR(
+            gckKERNEL_QueryProcessDB(Kernel,
+                                     Interface->u.Database.processID,
+                                     !Interface->u.Database.validProcessID,
+                                     gcvDB_CONTIGUOUS,
+                                     &Interface->u.Database.contiguous));
+
+        /* Query GPU idle time. */
+        gcmkONERROR(
+            gckKERNEL_QueryProcessDB(Kernel,
+                                     Interface->u.Database.processID,
+                                     !Interface->u.Database.validProcessID,
+                                     gcvDB_IDLE,
+                                     &Interface->u.Database.gpuIdle));
+        break;
+
+    case gcvHAL_VIDMEM_DATABASE:
+        /* Query reserved video memory. */
+        gcmkONERROR(
+            gckKERNEL_QueryProcessDB(Kernel,
+                                     Interface->u.VidMemDatabase.processID,
+                                     !Interface->u.VidMemDatabase.validProcessID,
+                                     gcvDB_VIDEO_MEMORY_RESERVED,
+                                     &Interface->u.VidMemDatabase.vidMemResv));
+
+        /* Query contiguous video memory. */
+        gcmkONERROR(
+            gckKERNEL_QueryProcessDB(Kernel,
+                                     Interface->u.VidMemDatabase.processID,
+                                     !Interface->u.VidMemDatabase.validProcessID,
+                                     gcvDB_VIDEO_MEMORY_CONTIGUOUS,
+                                     &Interface->u.VidMemDatabase.vidMemCont));
+
+        /* Query virtual video memory. */
+        gcmkONERROR(
+            gckKERNEL_QueryProcessDB(Kernel,
+                                     Interface->u.VidMemDatabase.processID,
+                                     !Interface->u.VidMemDatabase.validProcessID,
+                                     gcvDB_VIDEO_MEMORY_VIRTUAL,
+                                     &Interface->u.VidMemDatabase.vidMemVirt));
+
+        break;
+
+    case gcvHAL_VERSION:
+        Interface->u.Version.major = gcvVERSION_MAJOR;
+        Interface->u.Version.minor = gcvVERSION_MINOR;
+        Interface->u.Version.patch = gcvVERSION_PATCH;
+        Interface->u.Version.build = gcvVERSION_BUILD;
+#if gcmIS_DEBUG(gcdDEBUG_TRACE)
+        gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_KERNEL,
+                       "KERNEL version %d.%d.%d build %u %s %s",
+                       gcvVERSION_MAJOR, gcvVERSION_MINOR, gcvVERSION_PATCH,
+                       gcvVERSION_BUILD, gcvVERSION_DATE, gcvVERSION_TIME);
+#endif
+        break;
+
+    case gcvHAL_CHIP_INFO:
+        /* Only if not support multi-core */
+        Interface->u.ChipInfo.count = 1;
+        Interface->u.ChipInfo.types[0] = Kernel->hardware->type;
+        break;
+
+    case gcvHAL_ATTACH:
+        /* Attach user process. */
+        gcmkONERROR(
+            gckCOMMAND_Attach(Kernel->command,
+                              &context,
+                              &bytes,
+                              processID));
+
+        Interface->u.Attach.stateCount = bytes;
+        Interface->u.Attach.context = gcmPTR_TO_NAME(context);
+
+        gcmkVERIFY_OK(
+            gckKERNEL_AddProcessDB(Kernel,
+                                   processID, gcvDB_CONTEXT,
+                                   gcmINT2PTR(Interface->u.Attach.context),
+                                   gcvNULL,
+                                   0));
+        break;
+
+    case gcvHAL_DETACH:
+        /* Detach user process. */
+        gcmkONERROR(
+            gckCOMMAND_Detach(Kernel->command,
+                              gcmNAME_TO_PTR(Interface->u.Detach.context)));
+
+        gcmkVERIFY_OK(
+            gckKERNEL_RemoveProcessDB(Kernel,
+                              processID, gcvDB_CONTEXT,
+                              gcmINT2PTR(Interface->u.Detach.context)));
+
+        gcmRELEASE_NAME(Interface->u.Detach.context);
+        break;
+
+    case gcvHAL_COMPOSE:
+        Interface->u.Compose.physical = gcmPTR_TO_UINT64(gcmNAME_TO_PTR(Interface->u.Compose.physical));
+        /* Start composition. */
+        gcmkONERROR(
+            gckEVENT_Compose(Kernel->eventObj,
+                             &Interface->u.Compose));
+        break;
+
+    case gcvHAL_SET_TIMEOUT:
+         /* set timeOut value from user */
+         gckKERNEL_SetTimeOut(Kernel, Interface->u.SetTimeOut.timeOut);
+        break;
+
+#if gcdFRAME_DB
+    case gcvHAL_GET_FRAME_INFO:
+        gcmkONERROR(gckHARDWARE_GetFrameInfo(
+            Kernel->hardware,
+            gcmUINT64_TO_PTR(Interface->u.GetFrameInfo.frameInfo)));
+        break;
+#endif
+
+    case gcvHAL_GET_SHARED_INFO:
+        if (Interface->u.GetSharedInfo.data == gcvNULL)
+        {
+            gcmkONERROR(gcvSTATUS_INVALID_ARGUMENT);
+        }
+        else
+        {
+            gctUINT32 pid    = Interface->u.GetSharedInfo.pid;
+            gctUINT32 dataId = Interface->u.GetSharedInfo.dataId;
+            gctSIZE_T bytes  = Interface->u.GetSharedInfo.bytes;
+            gctPOINTER data  = Interface->u.GetSharedInfo.data;
+            gcsDATABASE_RECORD record;
+
+            /* Find record. */
+            gcmkONERROR(
+                gckKERNEL_FindProcessDB(Kernel,
+                                        pid,
+                                        0,
+                                        gcvDB_SHARED_INFO,
+                                        gcmINT2PTR(dataId),
+                                        &record));
+
+            /* Check memory size. */
+            if (bytes < record.bytes)
+            {
+                /* Insufficient memory to hold shared data. */
+                gcmkONERROR(gcvSTATUS_INVALID_ARGUMENT);
+            }
+
+            /* Copy to user. */
+            status = gckOS_CopyToUserData(Kernel->os,
+                                          record.physical,
+                                          data,
+                                          record.bytes);
+
+            /*
+             * Remove from process db.
+             * Every time when shared info is taken, the record is erased in
+             * kernel side.
+             */
+            gcmkVERIFY_OK(
+                gckKERNEL_RemoveProcessDB(Kernel,
+                                          pid,
+                                          gcvDB_SHARED_INFO,
+                                          gcmINT2PTR(dataId)));
+            /* Free existed data. */
+            gcmkVERIFY_OK(
+                gckOS_FreeMemory(Kernel->os, record.physical));
+        }
+        break;
+
+    case gcvHAL_SET_SHARED_INFO:
+        {
+            gctUINT32 dataId = Interface->u.SetSharedInfo.dataId;
+            gctPOINTER data  = Interface->u.SetSharedInfo.data;
+            gctUINT32 bytes  = Interface->u.SetSharedInfo.bytes;
+            gctPOINTER memory = gcvNULL;
+            gcsDATABASE_RECORD record;
+
+            if (gcmIS_SUCCESS(gckKERNEL_FindProcessDB(Kernel,
+                                                     processID,
+                                                     0,
+                                                     gcvDB_SHARED_INFO,
+                                                     gcmINT2PTR(dataId),
+                                                     &record)))
+            {
+                /* Find a record with the same id. */
+                if (bytes != record.bytes)
+                {
+                    /* Remove from process db. */
+                    gcmkVERIFY_OK(
+                        gckKERNEL_RemoveProcessDB(Kernel,
+                                                  processID,
+                                                  gcvDB_SHARED_INFO,
+                                                  gcmINT2PTR(dataId)));
+
+                    /* Free existed data. */
+                    gcmkVERIFY_OK(
+                        gckOS_FreeMemory(Kernel->os, record.physical));
+                }
+                else
+                {
+                    /* Re-use allocated memory. */
+                    memory = record.physical;
+                }
+            }
+
+            if ((data == gcvNULL) || (bytes == 0))
+            {
+                /* Nothing to record. */
+                break;
+            }
+
+            if (bytes > 1024)
+            {
+                /* Limite data size. */
+                gcmkONERROR(gcvSTATUS_TOO_COMPLEX);
+            }
+
+            if (memory == gcvNULL)
+            {
+                /* Allocate memory for holding shared data. */
+                gcmkONERROR(
+                    gckOS_AllocateMemory(Kernel->os, bytes, &memory));
+
+                /* Add to process db. */
+                status = gckKERNEL_AddProcessDB(Kernel,
+                                                processID,
+                                                gcvDB_SHARED_INFO,
+                                                gcmINT2PTR(dataId),
+                                                memory,
+                                                bytes);
+
+                if (gcmIS_ERROR(status))
+                {
+                    /* Failed to add process db. Free allocated memory. */
+                    gcmkVERIFY_OK(gckOS_FreeMemory(Kernel->os, memory));
+                    break;
+                }
+            }
+
+            /* Copy shared data to kernel memory. */
+            gcmkONERROR(
+                gckOS_CopyFromUserData(Kernel->os,
+                                       memory,
+                                       data,
+                                       bytes));
+        }
+        break;
+
+    case gcvHAL_SET_FSCALE_VALUE:
+#if gcdENABLE_FSCALE_VAL_ADJUST
+        status = gckHARDWARE_SetFscaleValue(Kernel->hardware,
+                                            Interface->u.SetFscaleValue.value);
+#else
+        status = gcvSTATUS_NOT_SUPPORTED;
+#endif
+        break;
+    case gcvHAL_GET_FSCALE_VALUE:
+#if gcdENABLE_FSCALE_VAL_ADJUST
+        status = gckHARDWARE_GetFscaleValue(Kernel->hardware,
+                                            &Interface->u.GetFscaleValue.value,
+                                            &Interface->u.GetFscaleValue.minValue,
+                                            &Interface->u.GetFscaleValue.maxValue);
+#else
+        status = gcvSTATUS_NOT_SUPPORTED;
+#endif
+        break;
+
+    case gcvHAL_QUERY_RESET_TIME_STAMP:
+#if gcdENABLE_RECOVERY
+        Interface->u.QueryResetTimeStamp.timeStamp = Kernel->resetTimeStamp;
+#else
+        Interface->u.QueryResetTimeStamp.timeStamp = 0;
+#endif
+        break;
+
+#if gcdANDROID_NATIVE_FENCE_SYNC
+    case gcvHAL_SYNC_POINT:
+        {
+            gctSYNC_POINT syncPoint;
+
+            switch (Interface->u.SyncPoint.command)
+            {
+            case gcvSYNC_POINT_CREATE:
+                gcmkONERROR(gckOS_CreateSyncPoint(Kernel->os, &syncPoint));
+
+                Interface->u.SyncPoint.syncPoint = gcmPTR_TO_UINT64(syncPoint);
+
+                gcmkVERIFY_OK(
+                    gckKERNEL_AddProcessDB(Kernel,
+                                           processID, gcvDB_SYNC_POINT,
+                                           syncPoint,
+                                           gcvNULL,
+                                           0));
+                break;
+
+            case gcvSYNC_POINT_DESTROY:
+                syncPoint = gcmUINT64_TO_PTR(Interface->u.SyncPoint.syncPoint);
+
+                gcmkONERROR(gckOS_DestroySyncPoint(Kernel->os, syncPoint));
+
+                gcmkVERIFY_OK(
+                    gckKERNEL_RemoveProcessDB(Kernel,
+                                              processID, gcvDB_SYNC_POINT,
+                                              syncPoint));
+                break;
+
+            default:
+                gcmkONERROR(gcvSTATUS_INVALID_ARGUMENT);
+                break;
+            }
+        }
+        break;
+
+    case gcvHAL_CREATE_NATIVE_FENCE:
+        {
+            gctINT fenceFD;
+            gctSYNC_POINT syncPoint =
+                gcmUINT64_TO_PTR(Interface->u.CreateNativeFence.syncPoint);
+
+            gcmkONERROR(
+                gckOS_CreateNativeFence(Kernel->os,
+                                        Kernel->timeline,
+                                        syncPoint,
+                                        &fenceFD));
+
+            Interface->u.CreateNativeFence.fenceFD = fenceFD;
+        }
+        break;
+#endif
+
+    default:
+        /* Invalid command. */
+        gcmkONERROR(gcvSTATUS_INVALID_ARGUMENT);
+    }
+
+OnError:
+    /* Save status. */
+    Interface->status = status;
+
+    if (gcmIS_ERROR(status))
+    {
+        if (locked)
+        {
+            /* Roll back the lock. */
+            gcmkVERIFY_OK(
+                gckVIDMEM_Unlock(Kernel,
+                                 gcmUINT64_TO_PTR(Interface->u.LockVideoMemory.node),
+                                 gcvSURF_TYPE_UNKNOWN,
+                                 &asynchronous));
+
+            if (gcvTRUE == asynchronous)
+            {
+                /* Bottom Half */
+                gcmkVERIFY_OK(
+                    gckVIDMEM_Unlock(Kernel,
+                                     gcmUINT64_TO_PTR(Interface->u.LockVideoMemory.node),
+                                     gcvSURF_TYPE_UNKNOWN,
+                                     gcvNULL));
+            }
+        }
+    }
+
+#if QNX_SINGLE_THREADED_DEBUGGING
+    gckOS_ReleaseMutex(Kernel->os, Kernel->debugMutex);
+#endif
+
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**  gckKERNEL_AttachProcess
+**
+**  Attach or detach a process.
+**
+**  INPUT:
+**
+**      gckKERNEL Kernel
+**          Pointer to an gckKERNEL object.
+**
+**      gctBOOL Attach
+**          gcvTRUE if a new process gets attached or gcFALSE when a process
+**          gets detatched.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckKERNEL_AttachProcess(
+    IN gckKERNEL Kernel,
+    IN gctBOOL Attach
+    )
+{
+    gceSTATUS status;
+    gctUINT32 processID;
+
+    gcmkHEADER_ARG("Kernel=0x%x Attach=%d", Kernel, Attach);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Kernel, gcvOBJ_KERNEL);
+
+    /* Get current process ID. */
+    gcmkONERROR(gckOS_GetProcessID(&processID));
+
+    gcmkONERROR(gckKERNEL_AttachProcessEx(Kernel, Attach, processID));
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**  gckKERNEL_AttachProcessEx
+**
+**  Attach or detach a process with the given PID. Can be paired with gckKERNEL_AttachProcess
+**     provided the programmer is aware of the consequences.
+**
+**  INPUT:
+**
+**      gckKERNEL Kernel
+**          Pointer to an gckKERNEL object.
+**
+**      gctBOOL Attach
+**          gcvTRUE if a new process gets attached or gcFALSE when a process
+**          gets detatched.
+**
+**      gctUINT32 PID
+**          PID of the process to attach or detach.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckKERNEL_AttachProcessEx(
+    IN gckKERNEL Kernel,
+    IN gctBOOL Attach,
+    IN gctUINT32 PID
+    )
+{
+    gceSTATUS status;
+    gctINT32 old;
+
+    gcmkHEADER_ARG("Kernel=0x%x Attach=%d PID=%d", Kernel, Attach, PID);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Kernel, gcvOBJ_KERNEL);
+
+    if (Attach)
+    {
+        /* Increment the number of clients attached. */
+        gcmkONERROR(
+            gckOS_AtomIncrement(Kernel->os, Kernel->atomClients, &old));
+
+        if (old == 0)
+        {
+#if gcdENABLE_VG
+            if (Kernel->vg == gcvNULL)
+#endif
+            {
+                gcmkONERROR(gckOS_Broadcast(Kernel->os,
+                                            Kernel->hardware,
+                                            gcvBROADCAST_FIRST_PROCESS));
+            }
+        }
+
+        if (Kernel->dbCreated)
+        {
+            /* Create the process database. */
+            gcmkONERROR(gckKERNEL_CreateProcessDB(Kernel, PID));
+        }
+    }
+    else
+    {
+        if (Kernel->dbCreated)
+        {
+            /* Clean up the process database. */
+            gcmkONERROR(gckKERNEL_DestroyProcessDB(Kernel, PID));
+
+            /* Save the last know process ID. */
+            Kernel->db->lastProcessID = PID;
+        }
+
+#if gcdENABLE_VG
+        if (Kernel->vg == gcvNULL)
+#endif
+        {
+            status = gckEVENT_Submit(Kernel->eventObj, gcvTRUE, gcvFALSE);
+
+            if (status == gcvSTATUS_INTERRUPTED && Kernel->eventObj->submitTimer)
+            {
+                gcmkONERROR(gckOS_StartTimer(Kernel->os,
+                                             Kernel->eventObj->submitTimer,
+                                             1));
+            }
+            else
+            {
+                gcmkONERROR(status);
+            }
+        }
+
+        /* Decrement the number of clients attached. */
+        gcmkONERROR(
+            gckOS_AtomDecrement(Kernel->os, Kernel->atomClients, &old));
+
+        if (old == 1)
+        {
+#if gcdENABLE_VG
+            if (Kernel->vg == gcvNULL)
+#endif
+            {
+                /* Last client detached, switch to SUSPEND power state. */
+                gcmkONERROR(gckOS_Broadcast(Kernel->os,
+                                            Kernel->hardware,
+                                            gcvBROADCAST_LAST_PROCESS));
+            }
+
+            /* Flush the debug cache. */
+            gcmkDEBUGFLUSH(~0U);
+        }
+    }
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+#if gcdSECURE_USER
+gceSTATUS
+gckKERNEL_MapLogicalToPhysical(
+    IN gckKERNEL Kernel,
+    IN gcskSECURE_CACHE_PTR Cache,
+    IN OUT gctPOINTER * Data
+    )
+{
+    gceSTATUS status;
+    static gctBOOL baseAddressValid = gcvFALSE;
+    static gctUINT32 baseAddress;
+    gctBOOL needBase;
+    gcskLOGICAL_CACHE_PTR slot;
+
+    gcmkHEADER_ARG("Kernel=0x%x Cache=0x%x *Data=0x%x",
+                   Kernel, Cache, gcmOPT_POINTER(Data));
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Kernel, gcvOBJ_KERNEL);
+
+    if (!baseAddressValid)
+    {
+        /* Get base address. */
+        gcmkONERROR(gckHARDWARE_GetBaseAddress(Kernel->hardware, &baseAddress));
+
+        baseAddressValid = gcvTRUE;
+    }
+
+    /* Does this state load need a base address? */
+    gcmkONERROR(gckHARDWARE_NeedBaseAddress(Kernel->hardware,
+                                            ((gctUINT32_PTR) Data)[-1],
+                                            &needBase));
+
+#if gcdSECURE_CACHE_METHOD == gcdSECURE_CACHE_LRU
+    {
+        gcskLOGICAL_CACHE_PTR next;
+        gctINT i;
+
+        /* Walk all used cache slots. */
+        for (i = 1, slot = Cache->cache[0].next, next = gcvNULL;
+             (i <= gcdSECURE_CACHE_SLOTS) && (slot->logical != gcvNULL);
+             ++i, slot = slot->next
+        )
+        {
+            if (slot->logical == *Data)
+            {
+                /* Bail out. */
+                next = slot;
+                break;
+            }
+        }
+
+        /* See if we had a miss. */
+        if (next == gcvNULL)
+        {
+            /* Use the tail of the cache. */
+            slot = Cache->cache[0].prev;
+
+            /* Initialize the cache line. */
+            slot->logical = *Data;
+
+            /* Map the logical address to a DMA address. */
+            gcmkONERROR(
+                gckOS_GetPhysicalAddress(Kernel->os, *Data, &slot->dma));
+        }
+
+        /* Move slot to head of list. */
+        if (slot != Cache->cache[0].next)
+        {
+            /* Unlink. */
+            slot->prev->next = slot->next;
+            slot->next->prev = slot->prev;
+
+            /* Move to head of chain. */
+            slot->prev       = &Cache->cache[0];
+            slot->next       = Cache->cache[0].next;
+            slot->prev->next = slot;
+            slot->next->prev = slot;
+        }
+    }
+#elif gcdSECURE_CACHE_METHOD == gcdSECURE_CACHE_LINEAR
+    {
+        gctINT i;
+        gcskLOGICAL_CACHE_PTR next = gcvNULL;
+        gcskLOGICAL_CACHE_PTR oldestSlot = gcvNULL;
+        slot = gcvNULL;
+
+        if (Cache->cacheIndex != gcvNULL)
+        {
+            /* Walk the cache forwards. */
+            for (i = 1, slot = Cache->cacheIndex;
+                 (i <= gcdSECURE_CACHE_SLOTS) && (slot->logical != gcvNULL);
+                 ++i, slot = slot->next)
+            {
+                if (slot->logical == *Data)
+                {
+                    /* Bail out. */
+                    next = slot;
+                    break;
+                }
+
+                /* Determine age of this slot. */
+                if ((oldestSlot       == gcvNULL)
+                ||  (oldestSlot->stamp > slot->stamp)
+                )
+                {
+                    oldestSlot = slot;
+                }
+            }
+
+            if (next == gcvNULL)
+            {
+                /* Walk the cache backwards. */
+                for (slot = Cache->cacheIndex->prev;
+                     (i <= gcdSECURE_CACHE_SLOTS) && (slot->logical != gcvNULL);
+                     ++i, slot = slot->prev)
+                {
+                    if (slot->logical == *Data)
+                    {
+                        /* Bail out. */
+                        next = slot;
+                        break;
+                    }
+
+                    /* Determine age of this slot. */
+                    if ((oldestSlot       == gcvNULL)
+                    ||  (oldestSlot->stamp > slot->stamp)
+                    )
+                    {
+                        oldestSlot = slot;
+                    }
+                }
+            }
+        }
+
+        /* See if we had a miss. */
+        if (next == gcvNULL)
+        {
+            if (Cache->cacheFree != 0)
+            {
+                slot = &Cache->cache[Cache->cacheFree];
+                gcmkASSERT(slot->logical == gcvNULL);
+
+                ++ Cache->cacheFree;
+                if (Cache->cacheFree >= gcmCOUNTOF(Cache->cache))
+                {
+                    Cache->cacheFree = 0;
+                }
+            }
+            else
+            {
+                /* Use the oldest cache slot. */
+                gcmkASSERT(oldestSlot != gcvNULL);
+                slot = oldestSlot;
+
+                /* Unlink from the chain. */
+                slot->prev->next = slot->next;
+                slot->next->prev = slot->prev;
+
+                /* Append to the end. */
+                slot->prev       = Cache->cache[0].prev;
+                slot->next       = &Cache->cache[0];
+                slot->prev->next = slot;
+                slot->next->prev = slot;
+            }
+
+            /* Initialize the cache line. */
+            slot->logical = *Data;
+
+            /* Map the logical address to a DMA address. */
+            gcmkONERROR(
+                gckOS_GetPhysicalAddress(Kernel->os, *Data, &slot->dma));
+        }
+
+        /* Save time stamp. */
+        slot->stamp = ++ Cache->cacheStamp;
+
+        /* Save current slot for next lookup. */
+        Cache->cacheIndex = slot;
+    }
+#elif gcdSECURE_CACHE_METHOD == gcdSECURE_CACHE_HASH
+    {
+        gctINT i;
+        gctUINT32 data = gcmPTR2INT(*Data);
+        gctUINT32 key, index;
+        gcskLOGICAL_CACHE_PTR hash;
+
+        /* Generate a hash key. */
+        key   = (data >> 24) + (data >> 16) + (data >> 8) + data;
+        index = key % gcmCOUNTOF(Cache->hash);
+
+        /* Get the hash entry. */
+        hash = &Cache->hash[index];
+
+        for (slot = hash->nextHash, i = 0;
+             (slot != gcvNULL) && (i < gcdSECURE_CACHE_SLOTS);
+             slot = slot->nextHash, ++i
+        )
+        {
+            if (slot->logical == (*Data))
+            {
+                break;
+            }
+        }
+
+        if (slot == gcvNULL)
+        {
+            /* Grab from the tail of the cache. */
+            slot = Cache->cache[0].prev;
+
+            /* Unlink slot from any hash table it is part of. */
+            if (slot->prevHash != gcvNULL)
+            {
+                slot->prevHash->nextHash = slot->nextHash;
+            }
+            if (slot->nextHash != gcvNULL)
+            {
+                slot->nextHash->prevHash = slot->prevHash;
+            }
+
+            /* Initialize the cache line. */
+            slot->logical = *Data;
+
+            /* Map the logical address to a DMA address. */
+            gcmkONERROR(
+                gckOS_GetPhysicalAddress(Kernel->os, *Data, &slot->dma));
+
+            if (hash->nextHash != gcvNULL)
+            {
+                gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_KERNEL,
+                               "Hash Collision: logical=0x%x key=0x%08x",
+                               *Data, key);
+            }
+
+            /* Insert the slot at the head of the hash list. */
+            slot->nextHash     = hash->nextHash;
+            if (slot->nextHash != gcvNULL)
+            {
+                slot->nextHash->prevHash = slot;
+            }
+            slot->prevHash     = hash;
+            hash->nextHash     = slot;
+        }
+
+        /* Move slot to head of list. */
+        if (slot != Cache->cache[0].next)
+        {
+            /* Unlink. */
+            slot->prev->next = slot->next;
+            slot->next->prev = slot->prev;
+
+            /* Move to head of chain. */
+            slot->prev       = &Cache->cache[0];
+            slot->next       = Cache->cache[0].next;
+            slot->prev->next = slot;
+            slot->next->prev = slot;
+        }
+    }
+#elif gcdSECURE_CACHE_METHOD == gcdSECURE_CACHE_TABLE
+    {
+        gctUINT32 index = (gcmPTR2INT(*Data) % gcdSECURE_CACHE_SLOTS) + 1;
+
+        /* Get cache slot. */
+        slot = &Cache->cache[index];
+
+        /* Check for cache miss. */
+        if (slot->logical != *Data)
+        {
+            /* Initialize the cache line. */
+            slot->logical = *Data;
+
+            /* Map the logical address to a DMA address. */
+            gcmkONERROR(
+                gckOS_GetPhysicalAddress(Kernel->os, *Data, &slot->dma));
+        }
+    }
+#endif
+
+    /* Return DMA address. */
+    *Data = gcmINT2PTR(slot->dma + (needBase ? baseAddress : 0));
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Data=0x%08x", *Data);
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+gceSTATUS
+gckKERNEL_FlushTranslationCache(
+    IN gckKERNEL Kernel,
+    IN gcskSECURE_CACHE_PTR Cache,
+    IN gctPOINTER Logical,
+    IN gctSIZE_T Bytes
+    )
+{
+    gctINT i;
+    gcskLOGICAL_CACHE_PTR slot;
+    gctUINT8_PTR ptr;
+
+    gcmkHEADER_ARG("Kernel=0x%x Cache=0x%x Logical=0x%x Bytes=%lu",
+                   Kernel, Cache, Logical, Bytes);
+
+    /* Do we need to flush the entire cache? */
+    if (Logical == gcvNULL)
+    {
+        /* Clear all cache slots. */
+        for (i = 1; i <= gcdSECURE_CACHE_SLOTS; ++i)
+        {
+            Cache->cache[i].logical  = gcvNULL;
+
+#if gcdSECURE_CACHE_METHOD == gcdSECURE_CACHE_HASH
+            Cache->cache[i].nextHash = gcvNULL;
+            Cache->cache[i].prevHash = gcvNULL;
+#endif
+}
+
+#if gcdSECURE_CACHE_METHOD == gcdSECURE_CACHE_HASH
+        /* Zero the hash table. */
+        for (i = 0; i < gcmCOUNTOF(Cache->hash); ++i)
+        {
+            Cache->hash[i].nextHash = gcvNULL;
+        }
+#endif
+
+        /* Reset the cache functionality. */
+        Cache->cacheIndex = gcvNULL;
+        Cache->cacheFree  = 1;
+        Cache->cacheStamp = 0;
+    }
+
+    else
+    {
+        gctUINT8_PTR low  = (gctUINT8_PTR) Logical;
+        gctUINT8_PTR high = low + Bytes;
+
+#if gcdSECURE_CACHE_METHOD == gcdSECURE_CACHE_LRU
+        gcskLOGICAL_CACHE_PTR next;
+
+        /* Walk all used cache slots. */
+        for (i = 1, slot = Cache->cache[0].next;
+             (i <= gcdSECURE_CACHE_SLOTS) && (slot->logical != gcvNULL);
+             ++i, slot = next
+        )
+        {
+            /* Save pointer to next slot. */
+            next = slot->next;
+
+            /* Test if this slot falls within the range to flush. */
+            ptr = (gctUINT8_PTR) slot->logical;
+            if ((ptr >= low) && (ptr < high))
+            {
+                /* Unlink slot. */
+                slot->prev->next = slot->next;
+                slot->next->prev = slot->prev;
+
+                /* Append slot to tail of cache. */
+                slot->prev       = Cache->cache[0].prev;
+                slot->next       = &Cache->cache[0];
+                slot->prev->next = slot;
+                slot->next->prev = slot;
+
+                /* Mark slot as empty. */
+                slot->logical = gcvNULL;
+            }
+        }
+
+#elif gcdSECURE_CACHE_METHOD == gcdSECURE_CACHE_LINEAR
+        gcskLOGICAL_CACHE_PTR next;
+
+        for (i = 1, slot = Cache->cache[0].next;
+             (i <= gcdSECURE_CACHE_SLOTS) && (slot->logical != gcvNULL);
+             ++i, slot = next)
+        {
+            /* Save pointer to next slot. */
+            next = slot->next;
+
+            /* Test if this slot falls within the range to flush. */
+            ptr = (gctUINT8_PTR) slot->logical;
+            if ((ptr >= low) && (ptr < high))
+            {
+                /* Test if this slot is the current slot. */
+                if (slot == Cache->cacheIndex)
+                {
+                    /* Move to next or previous slot. */
+                    Cache->cacheIndex = (slot->next->logical != gcvNULL)
+                                      ? slot->next
+                                      : (slot->prev->logical != gcvNULL)
+                                      ? slot->prev
+                                      : gcvNULL;
+                }
+
+                /* Unlink slot from cache. */
+                slot->prev->next = slot->next;
+                slot->next->prev = slot->prev;
+
+                /* Insert slot to head of cache. */
+                slot->prev       = &Cache->cache[0];
+                slot->next       = Cache->cache[0].next;
+                slot->prev->next = slot;
+                slot->next->prev = slot;
+
+                /* Mark slot as empty. */
+                slot->logical = gcvNULL;
+                slot->stamp   = 0;
+            }
+        }
+
+#elif gcdSECURE_CACHE_METHOD == gcdSECURE_CACHE_HASH
+        gctINT j;
+        gcskLOGICAL_CACHE_PTR hash, next;
+
+        /* Walk all hash tables. */
+        for (i = 0, hash = Cache->hash;
+             i < gcmCOUNTOF(Cache->hash);
+             ++i, ++hash)
+        {
+            /* Walk all slots in the hash. */
+            for (j = 0, slot = hash->nextHash;
+                 (j < gcdSECURE_CACHE_SLOTS) && (slot != gcvNULL);
+                 ++j, slot = next)
+            {
+                /* Save pointer to next slot. */
+                next = slot->next;
+
+                /* Test if this slot falls within the range to flush. */
+                ptr = (gctUINT8_PTR) slot->logical;
+                if ((ptr >= low) && (ptr < high))
+                {
+                    /* Unlink slot from hash table. */
+                    if (slot->prevHash == hash)
+                    {
+                        hash->nextHash = slot->nextHash;
+                    }
+                    else
+                    {
+                        slot->prevHash->nextHash = slot->nextHash;
+                    }
+
+                    if (slot->nextHash != gcvNULL)
+                    {
+                        slot->nextHash->prevHash = slot->prevHash;
+                    }
+
+                    /* Unlink slot from cache. */
+                    slot->prev->next = slot->next;
+                    slot->next->prev = slot->prev;
+
+                    /* Append slot to tail of cache. */
+                    slot->prev       = Cache->cache[0].prev;
+                    slot->next       = &Cache->cache[0];
+                    slot->prev->next = slot;
+                    slot->next->prev = slot;
+
+                    /* Mark slot as empty. */
+                    slot->logical  = gcvNULL;
+                    slot->prevHash = gcvNULL;
+                    slot->nextHash = gcvNULL;
+                }
+            }
+        }
+
+#elif gcdSECURE_CACHE_METHOD == gcdSECURE_CACHE_TABLE
+        gctUINT32 index;
+
+        /* Loop while inside the range. */
+        for (i = 1; (low < high) && (i <= gcdSECURE_CACHE_SLOTS); ++i)
+        {
+            /* Get index into cache for this range. */
+            index = (gcmPTR2INT(low) % gcdSECURE_CACHE_SLOTS) + 1;
+            slot  = &Cache->cache[index];
+
+            /* Test if this slot falls within the range to flush. */
+            ptr = (gctUINT8_PTR) slot->logical;
+            if ((ptr >= low) && (ptr < high))
+            {
+                /* Remove entry from cache. */
+                slot->logical = gcvNULL;
+            }
+
+            /* Next block. */
+            low += gcdSECURE_CACHE_SLOTS;
+        }
+#endif
+    }
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+#endif
+
+/*******************************************************************************
+**
+**  gckKERNEL_Recovery
+**
+**  Try to recover the GPU from a fatal error.
+**
+**  INPUT:
+**
+**      gckKERNEL Kernel
+**          Pointer to an gckKERNEL object.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckKERNEL_Recovery(
+    IN gckKERNEL Kernel
+    )
+{
+#if gcdENABLE_RECOVERY
+#define gcdEVENT_MASK 0x3FFFFFFF
+    gceSTATUS status;
+    gckEVENT eventObj;
+    gckHARDWARE hardware;
+#if gcdSECURE_USER
+    gctUINT32 processID;
+    gcskSECURE_CACHE_PTR cache;
+#endif
+    gctUINT32 oldValue;
+    gcmkHEADER_ARG("Kernel=0x%x", Kernel);
+
+    /* Validate the arguemnts. */
+    gcmkVERIFY_OBJECT(Kernel, gcvOBJ_KERNEL);
+
+    /* Grab gckEVENT object. */
+    eventObj = Kernel->eventObj;
+    gcmkVERIFY_OBJECT(eventObj, gcvOBJ_EVENT);
+
+    /* Grab gckHARDWARE object. */
+    hardware = Kernel->hardware;
+    gcmkVERIFY_OBJECT(hardware, gcvOBJ_HARDWARE);
+
+#if gcdSECURE_USER
+    /* Flush the secure mapping cache. */
+    gcmkONERROR(gckOS_GetProcessID(&processID));
+    gcmkONERROR(gckKERNEL_GetProcessDBCache(Kernel, processID, &cache));
+    gcmkONERROR(gckKERNEL_FlushTranslationCache(Kernel, cache, gcvNULL, 0));
+#endif
+
+    gcmkONERROR(
+        gckOS_AtomicExchange(Kernel->os, Kernel->resetAtom, 1, &oldValue));
+
+    if (oldValue)
+    {
+        /* Some one else will recovery GPU. */
+        return gcvSTATUS_OK;
+    }
+
+    gcmkPRINT("[galcore]: GPU[%d] hang, automatic recovery.", Kernel->core);
+
+    /* Start a timer to clear reset flag, before timer is expired,
+    ** other recovery request is ignored. */
+    gcmkVERIFY_OK(
+        gckOS_StartTimer(Kernel->os,
+                         Kernel->resetFlagClearTimer,
+                         gcdGPU_TIMEOUT - 500));
+
+
+    /* Try issuing a soft reset for the GPU. */
+    status = gckHARDWARE_Reset(hardware);
+    if (status == gcvSTATUS_NOT_SUPPORTED)
+    {
+        /* Switch to OFF power.  The next submit should return the GPU to ON
+        ** state. */
+        gcmkONERROR(
+            gckHARDWARE_SetPowerManagementState(hardware,
+                                                gcvPOWER_OFF_RECOVERY));
+    }
+    else
+    {
+        /* Bail out on reset error. */
+        gcmkONERROR(status);
+    }
+
+    /* Handle all outstanding events now. */
+#if gcdSMP
+    gcmkONERROR(gckOS_AtomSet(Kernel->os, eventObj->pending, gcdEVENT_MASK));
+#else
+    eventObj->pending = gcdEVENT_MASK;
+#endif
+    gcmkONERROR(gckEVENT_Notify(eventObj, 1));
+
+    /* Again in case more events got submitted. */
+#if gcdSMP
+    gcmkONERROR(gckOS_AtomSet(Kernel->os, eventObj->pending, gcdEVENT_MASK));
+#else
+    eventObj->pending = gcdEVENT_MASK;
+#endif
+    gcmkONERROR(gckEVENT_Notify(eventObj, 2));
+
+    Kernel->resetTimeStamp++;
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+#else
+    return gcvSTATUS_OK;
+#endif
+}
+
+/*******************************************************************************
+**
+**  gckKERNEL_OpenUserData
+**
+**  Get access to the user data.
+**
+**  INPUT:
+**
+**      gckKERNEL Kernel
+**          Pointer to an gckKERNEL object.
+**
+**      gctBOOL NeedCopy
+**          The flag indicating whether or not the data should be copied.
+**
+**      gctPOINTER StaticStorage
+**          Pointer to the kernel storage where the data is to be copied if
+**          NeedCopy is gcvTRUE.
+**
+**      gctPOINTER UserPointer
+**          User pointer to the data.
+**
+**      gctSIZE_T Size
+**          Size of the data.
+**
+**  OUTPUT:
+**
+**      gctPOINTER * KernelPointer
+**          Pointer to the kernel pointer that will be pointing to the data.
+*/
+gceSTATUS
+gckKERNEL_OpenUserData(
+    IN gckKERNEL Kernel,
+    IN gctBOOL NeedCopy,
+    IN gctPOINTER StaticStorage,
+    IN gctPOINTER UserPointer,
+    IN gctSIZE_T Size,
+    OUT gctPOINTER * KernelPointer
+    )
+{
+    gceSTATUS status;
+
+    gcmkHEADER_ARG(
+        "Kernel=0x%08X NeedCopy=%d StaticStorage=0x%08X "
+        "UserPointer=0x%08X Size=%lu KernelPointer=0x%08X",
+        Kernel, NeedCopy, StaticStorage, UserPointer, Size, KernelPointer
+        );
+
+    /* Validate the arguemnts. */
+    gcmkVERIFY_OBJECT(Kernel, gcvOBJ_KERNEL);
+    gcmkVERIFY_ARGUMENT(!NeedCopy || (StaticStorage != gcvNULL));
+    gcmkVERIFY_ARGUMENT(UserPointer != gcvNULL);
+    gcmkVERIFY_ARGUMENT(KernelPointer != gcvNULL);
+    gcmkVERIFY_ARGUMENT(Size > 0);
+
+    if (NeedCopy)
+    {
+        /* Copy the user data to the static storage. */
+        gcmkONERROR(gckOS_CopyFromUserData(
+            Kernel->os, StaticStorage, UserPointer, Size
+            ));
+
+        /* Set the kernel pointer. */
+        * KernelPointer = StaticStorage;
+    }
+    else
+    {
+        gctPOINTER pointer = gcvNULL;
+
+        /* Map the user pointer. */
+        gcmkONERROR(gckOS_MapUserPointer(
+            Kernel->os, UserPointer, Size, &pointer
+            ));
+
+        /* Set the kernel pointer. */
+        * KernelPointer = pointer;
+    }
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckKERNEL_CloseUserData
+**
+**  Release resources associated with the user data connection opened by
+**  gckKERNEL_OpenUserData.
+**
+**  INPUT:
+**
+**      gckKERNEL Kernel
+**          Pointer to an gckKERNEL object.
+**
+**      gctBOOL NeedCopy
+**          The flag indicating whether or not the data should be copied.
+**
+**      gctBOOL FlushData
+**          If gcvTRUE, the data is written back to the user.
+**
+**      gctPOINTER UserPointer
+**          User pointer to the data.
+**
+**      gctSIZE_T Size
+**          Size of the data.
+**
+**  OUTPUT:
+**
+**      gctPOINTER * KernelPointer
+**          Kernel pointer to the data.
+*/
+gceSTATUS
+gckKERNEL_CloseUserData(
+    IN gckKERNEL Kernel,
+    IN gctBOOL NeedCopy,
+    IN gctBOOL FlushData,
+    IN gctPOINTER UserPointer,
+    IN gctSIZE_T Size,
+    OUT gctPOINTER * KernelPointer
+    )
+{
+    gceSTATUS status = gcvSTATUS_OK;
+    gctPOINTER pointer;
+
+    gcmkHEADER_ARG(
+        "Kernel=0x%08X NeedCopy=%d FlushData=%d "
+        "UserPointer=0x%08X Size=%lu KernelPointer=0x%08X",
+        Kernel, NeedCopy, FlushData, UserPointer, Size, KernelPointer
+        );
+
+    /* Validate the arguemnts. */
+    gcmkVERIFY_OBJECT(Kernel, gcvOBJ_KERNEL);
+    gcmkVERIFY_ARGUMENT(UserPointer != gcvNULL);
+    gcmkVERIFY_ARGUMENT(KernelPointer != gcvNULL);
+    gcmkVERIFY_ARGUMENT(Size > 0);
+
+    /* Get a shortcut to the kernel pointer. */
+    pointer = * KernelPointer;
+
+    if (pointer != gcvNULL)
+    {
+        if (NeedCopy)
+        {
+            if (FlushData)
+            {
+                gcmkONERROR(gckOS_CopyToUserData(
+                    Kernel->os, * KernelPointer, UserPointer, Size
+                    ));
+            }
+        }
+        else
+        {
+            /* Unmap record from kernel memory. */
+            gcmkONERROR(gckOS_UnmapUserPointer(
+                Kernel->os,
+                UserPointer,
+                Size,
+                * KernelPointer
+                ));
+        }
+
+        /* Reset the kernel pointer. */
+        * KernelPointer = gcvNULL;
+    }
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+void
+gckKERNEL_SetTimeOut(
+    IN gckKERNEL Kernel,
+    IN gctUINT32 timeOut
+    )
+{
+    gcmkHEADER_ARG("Kernel=0x%x timeOut=%d", Kernel, timeOut);
+#if gcdGPU_TIMEOUT
+    Kernel->timeOut = timeOut;
+#endif
+    gcmkFOOTER_NO();
+}
+
+#if gcdVIRTUAL_COMMAND_BUFFER
+gceSTATUS
+gckKERNEL_AllocateVirtualCommandBuffer(
+    IN gckKERNEL Kernel,
+    IN gctBOOL InUserSpace,
+    IN OUT gctSIZE_T * Bytes,
+    OUT gctPHYS_ADDR * Physical,
+    OUT gctPOINTER * Logical
+    )
+{
+    gckOS os = Kernel->os;
+    gceSTATUS status;
+    gctPOINTER logical;
+    gctSIZE_T pageCount;
+    gctSIZE_T bytes = *Bytes;
+    gckVIRTUAL_COMMAND_BUFFER_PTR buffer;
+
+    gcmkHEADER_ARG("Os=0x%X InUserSpace=%d *Bytes=%lu",
+                   os, InUserSpace, gcmOPT_VALUE(Bytes));
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Bytes != gcvNULL);
+    gcmkVERIFY_ARGUMENT(*Bytes > 0);
+    gcmkVERIFY_ARGUMENT(Physical != gcvNULL);
+    gcmkVERIFY_ARGUMENT(Logical != gcvNULL);
+
+    gcmkONERROR(gckOS_Allocate(os,
+                               sizeof(gckVIRTUAL_COMMAND_BUFFER),
+                               (gctPOINTER)&buffer));
+
+    gcmkONERROR(gckOS_ZeroMemory(buffer, sizeof(gckVIRTUAL_COMMAND_BUFFER)));
+
+    gcmkONERROR(gckOS_AllocatePagedMemoryEx(os,
+                                            gcvFALSE,
+                                            bytes,
+                                            &buffer->physical));
+
+    if (InUserSpace)
+    {
+        gcmkONERROR(gckOS_LockPages(os,
+                                    buffer->physical,
+                                    bytes,
+                                    gcvFALSE,
+                                    &logical,
+                                    &pageCount));
+
+        *Logical =
+        buffer->userLogical = logical;
+    }
+    else
+    {
+        gcmkONERROR(
+            gckOS_CreateKernelVirtualMapping(buffer->physical,
+                                             &pageCount,
+                                             &logical));
+        *Logical =
+        buffer->kernelLogical = logical;
+    }
+
+    buffer->pageCount = pageCount;
+    buffer->kernel = Kernel;
+
+    gcmkONERROR(gckOS_GetProcessID(&buffer->pid));
+
+    gcmkONERROR(gckMMU_AllocatePages(Kernel->mmu,
+                                     pageCount,
+                                     &buffer->pageTable,
+                                     &buffer->gpuAddress));
+
+    gcmkONERROR(gckOS_MapPagesEx(os,
+                                 Kernel->core,
+                                 buffer->physical,
+                                 pageCount,
+                                 buffer->pageTable));
+
+    gcmkONERROR(gckMMU_Flush(Kernel->mmu));
+
+    *Physical = buffer;
+
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_KERNEL,
+                   "gpuAddress = %x pageCount = %d kernelLogical = %x userLogical=%x",
+                   buffer->gpuAddress, buffer->pageCount,
+                   buffer->kernelLogical, buffer->userLogical);
+
+    gcmkVERIFY_OK(gckOS_AcquireMutex(os, Kernel->virtualBufferLock, gcvINFINITE));
+
+    if (Kernel->virtualBufferHead == gcvNULL)
+    {
+        Kernel->virtualBufferHead =
+        Kernel->virtualBufferTail = buffer;
+    }
+    else
+    {
+        buffer->prev = Kernel->virtualBufferTail;
+        Kernel->virtualBufferTail->next = buffer;
+        Kernel->virtualBufferTail = buffer;
+    }
+
+    gcmkVERIFY_OK(gckOS_ReleaseMutex(os, Kernel->virtualBufferLock));
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    if (buffer->gpuAddress)
+    {
+        gcmkVERIFY_OK(
+            gckMMU_FreePages(Kernel->mmu, buffer->pageTable, buffer->pageCount));
+    }
+
+    if (buffer->userLogical)
+    {
+        gcmkVERIFY_OK(
+            gckOS_UnlockPages(os, buffer->physical, bytes, buffer->userLogical));
+    }
+
+    if (buffer->kernelLogical)
+    {
+        gcmkVERIFY_OK(
+            gckOS_DestroyKernelVirtualMapping(buffer->kernelLogical));
+    }
+
+    if (buffer->physical)
+    {
+        gcmkVERIFY_OK(gckOS_FreePagedMemory(os, buffer->physical, bytes));
+    }
+
+    gcmkVERIFY_OK(gckOS_Free(os, buffer));
+
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+gceSTATUS
+gckKERNEL_DestroyVirtualCommandBuffer(
+    IN gckKERNEL Kernel,
+    IN gctSIZE_T Bytes,
+    IN gctPHYS_ADDR Physical,
+    IN gctPOINTER Logical
+    )
+{
+    gckOS os;
+    gckKERNEL kernel;
+    gckVIRTUAL_COMMAND_BUFFER_PTR buffer = (gckVIRTUAL_COMMAND_BUFFER_PTR)Physical;
+
+    gcmkHEADER();
+    gcmkVERIFY_ARGUMENT(buffer != gcvNULL);
+
+    kernel = buffer->kernel;
+    os = kernel->os;
+
+    if (buffer->userLogical)
+    {
+        gcmkVERIFY_OK(gckOS_UnlockPages(os, buffer->physical, Bytes, Logical));
+    }
+    else
+    {
+        gcmkVERIFY_OK(gckOS_DestroyKernelVirtualMapping(Logical));
+    }
+
+    gcmkVERIFY_OK(
+        gckMMU_FreePages(kernel->mmu, buffer->pageTable, buffer->pageCount));
+
+    gcmkVERIFY_OK(gckOS_FreePagedMemory(os, buffer->physical, Bytes));
+
+    gcmkVERIFY_OK(gckOS_AcquireMutex(os, kernel->virtualBufferLock, gcvINFINITE));
+
+    if (buffer == kernel->virtualBufferHead)
+    {
+        if ((kernel->virtualBufferHead = buffer->next) == gcvNULL)
+        {
+            kernel->virtualBufferTail = gcvNULL;
+        }
+    }
+    else
+    {
+        buffer->prev->next = buffer->next;
+
+        if (buffer == kernel->virtualBufferTail)
+        {
+            kernel->virtualBufferTail = buffer->prev;
+        }
+        else
+        {
+            buffer->next->prev = buffer->prev;
+        }
+    }
+
+    gcmkVERIFY_OK(gckOS_ReleaseMutex(os, kernel->virtualBufferLock));
+
+    gcmkVERIFY_OK(gckOS_Free(os, buffer));
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+gceSTATUS
+gckKERNEL_GetGPUAddress(
+    IN gckKERNEL Kernel,
+    IN gctPOINTER Logical,
+    OUT gctUINT32 * Address
+    )
+{
+    gceSTATUS status;
+    gckVIRTUAL_COMMAND_BUFFER_PTR buffer;
+    gctPOINTER start;
+    gctINT pid;
+
+    gcmkHEADER_ARG("Logical = %x", Logical);
+
+    gckOS_GetProcessID(&pid);
+
+    status = gcvSTATUS_INVALID_ADDRESS;
+
+    gcmkVERIFY_OK(gckOS_AcquireMutex(Kernel->os, Kernel->virtualBufferLock, gcvINFINITE));
+
+    /* Walk all command buffer. */
+    for (buffer = Kernel->virtualBufferHead; buffer != gcvNULL; buffer = buffer->next)
+    {
+        if (buffer->userLogical)
+        {
+            start = buffer->userLogical;
+        }
+        else
+        {
+            start = buffer->kernelLogical;
+        }
+
+        if (Logical >= start
+        && (Logical < (start + buffer->pageCount * 4096))
+        && pid == buffer->pid
+        )
+        {
+            * Address = buffer->gpuAddress + (Logical - start);
+            status = gcvSTATUS_OK;
+            break;
+        }
+    }
+
+    gcmkVERIFY_OK(gckOS_ReleaseMutex(Kernel->os, Kernel->virtualBufferLock));
+
+    gcmkFOOTER_NO();
+    return status;
+}
+
+gceSTATUS
+gckKERNEL_QueryGPUAddress(
+    IN gckKERNEL Kernel,
+    IN gctUINT32 GpuAddress,
+    OUT gckVIRTUAL_COMMAND_BUFFER_PTR * Buffer
+    )
+{
+    gckVIRTUAL_COMMAND_BUFFER_PTR buffer;
+    gctUINT32 start;
+    gceSTATUS status = gcvSTATUS_NOT_SUPPORTED;
+
+    gcmkVERIFY_OK(gckOS_AcquireMutex(Kernel->os, Kernel->virtualBufferLock, gcvINFINITE));
+
+    /* Walk all command buffers. */
+    for (buffer = Kernel->virtualBufferHead; buffer != gcvNULL; buffer = buffer->next)
+    {
+        start = (gctUINT32)buffer->gpuAddress;
+
+        if (GpuAddress >= start && GpuAddress < (start + buffer->pageCount * 4096))
+        {
+            /* Find a range matched. */
+            *Buffer = buffer;
+            status = gcvSTATUS_OK;
+            break;
+        }
+    }
+
+    gcmkVERIFY_OK(gckOS_ReleaseMutex(Kernel->os, Kernel->virtualBufferLock));
+
+    return status;
+}
+#endif
+
+#if gcdLINK_QUEUE_SIZE
+static void
+gckLINKQUEUE_Dequeue(
+    IN gckLINKQUEUE LinkQueue
+    )
+{
+    gcmkASSERT(LinkQueue->count == gcdLINK_QUEUE_SIZE);
+
+    LinkQueue->count--;
+    LinkQueue->front = (LinkQueue->front + 1) % gcdLINK_QUEUE_SIZE;
+}
+
+void
+gckLINKQUEUE_Enqueue(
+    IN gckLINKQUEUE LinkQueue,
+    IN gctUINT32 start,
+    IN gctUINT32 end
+    )
+{
+    if (LinkQueue->count == gcdLINK_QUEUE_SIZE)
+    {
+        gckLINKQUEUE_Dequeue(LinkQueue);
+    }
+
+    gcmkASSERT(LinkQueue->count < gcdLINK_QUEUE_SIZE);
+
+    LinkQueue->count++;
+
+    LinkQueue->data[LinkQueue->rear].start = start;
+    LinkQueue->data[LinkQueue->rear].end = end;
+
+    gcmkVERIFY_OK(
+        gckOS_GetProcessID(&LinkQueue->data[LinkQueue->rear].pid));
+
+    LinkQueue->rear = (LinkQueue->rear + 1) % gcdLINK_QUEUE_SIZE;
+}
+
+void
+gckLINKQUEUE_GetData(
+    IN gckLINKQUEUE LinkQueue,
+    IN gctUINT32 Index,
+    OUT gckLINKDATA * Data
+    )
+{
+    gcmkASSERT(Index >= 0 && Index < gcdLINK_QUEUE_SIZE);
+
+    *Data = &LinkQueue->data[(Index + LinkQueue->front) % gcdLINK_QUEUE_SIZE];
+}
+#endif
+
+/******************************************************************************\
+*************************** Pointer - ID translation ***************************
+\******************************************************************************/
+#define gcdID_TABLE_LENGTH 1024
+typedef struct _gcsINTEGERDB * gckINTEGERDB;
+typedef struct _gcsINTEGERDB
+{
+    gckOS                       os;
+    gctPOINTER*                 table;
+    gctPOINTER                  mutex;
+    gctUINT32                   tableLen;
+    gctUINT32                   currentID;
+    gctUINT32                   unused;
+}
+gcsINTEGERDB;
+
+gceSTATUS
+gckKERNEL_CreateIntegerDatabase(
+    IN gckKERNEL Kernel,
+    OUT gctPOINTER * Database
+    )
+{
+    gceSTATUS status;
+    gckINTEGERDB database = gcvNULL;
+
+    gcmkHEADER_ARG("Kernel=0x%08X Datbase=0x%08X", Kernel, Database);
+
+    gcmkVERIFY_OBJECT(Kernel, gcvOBJ_KERNEL);
+    gcmkVERIFY_ARGUMENT(Database != gcvNULL);
+
+    /* Allocate a database. */
+    gcmkONERROR(gckOS_Allocate(
+        Kernel->os, gcmSIZEOF(gcsINTEGERDB), (gctPOINTER *)&database));
+
+    gckOS_ZeroMemory(database, gcmSIZEOF(gcsINTEGERDB));
+
+    /* Allocate a pointer table. */
+    gcmkONERROR(gckOS_Allocate(
+        Kernel->os, gcmSIZEOF(gctPOINTER) * gcdID_TABLE_LENGTH, (gctPOINTER *)&database->table));
+
+    gckOS_ZeroMemory(database->table, gcmSIZEOF(gctPOINTER) * gcdID_TABLE_LENGTH);
+
+    /* Allocate a database mutex. */
+    gcmkONERROR(gckOS_CreateMutex(Kernel->os, &database->mutex));
+
+    /* Initialize. */
+    database->currentID = 0;
+    database->unused = gcdID_TABLE_LENGTH;
+    database->os = Kernel->os;
+    database->tableLen = gcdID_TABLE_LENGTH;
+
+    *Database = database;
+
+    gcmkFOOTER_ARG("*Database=0x%08X", *Database);
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Rollback. */
+    if (database)
+    {
+        if (database->table)
+        {
+            gcmkOS_SAFE_FREE(Kernel->os, database->table);
+        }
+
+        gcmkOS_SAFE_FREE(Kernel->os, database);
+    }
+
+    gcmkFOOTER();
+    return status;
+}
+
+gceSTATUS
+gckKERNEL_DestroyIntegerDatabase(
+    IN gckKERNEL Kernel,
+    IN gctPOINTER Database
+    )
+{
+    gckINTEGERDB database = Database;
+
+    gcmkHEADER_ARG("Kernel=0x%08X Datbase=0x%08X", Kernel, Database);
+
+    gcmkVERIFY_OBJECT(Kernel, gcvOBJ_KERNEL);
+    gcmkVERIFY_ARGUMENT(Database != gcvNULL);
+
+    /* Destroy pointer table. */
+    gcmkOS_SAFE_FREE(Kernel->os, database->table);
+
+    /* Destroy database mutex. */
+    gcmkVERIFY_OK(gckOS_DeleteMutex(Kernel->os, database->mutex));
+
+    /* Destroy database. */
+    gcmkOS_SAFE_FREE(Kernel->os, database);
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+gceSTATUS
+gckKERNEL_AllocateIntegerId(
+    IN gctPOINTER Database,
+    IN gctPOINTER Pointer,
+    OUT gctUINT32 * Id
+    )
+{
+    gceSTATUS status;
+    gckINTEGERDB database = Database;
+    gctUINT32 i, unused, currentID, tableLen;
+    gctPOINTER * table;
+    gckOS os = database->os;
+    gctBOOL acquired = gcvFALSE;
+
+    gcmkHEADER_ARG("Database=0x%08X Pointer=0x%08X", Database, Pointer);
+
+    gcmkVERIFY_ARGUMENT(Id != gcvNULL);
+
+    gcmkVERIFY_OK(gckOS_AcquireMutex(os, database->mutex, gcvINFINITE));
+    acquired = gcvTRUE;
+
+    if (database->unused < 1)
+    {
+        /* Extend table. */
+        gcmkONERROR(
+            gckOS_Allocate(os,
+                           gcmSIZEOF(gctPOINTER) * (database->tableLen + gcdID_TABLE_LENGTH),
+                           (gctPOINTER *)&table));
+
+        gckOS_ZeroMemory(table + database->tableLen,
+                         gcmSIZEOF(gctPOINTER) * gcdID_TABLE_LENGTH);
+
+        /* Copy data from old table. */
+        gckOS_MemCopy(table,
+                      database->table,
+                      database->tableLen * gcmSIZEOF(gctPOINTER));
+
+        gcmkOS_SAFE_FREE(os, database->table);
+
+        /* Update databse with new allocated table. */
+        database->table = table;
+        database->currentID = database->tableLen;
+        database->tableLen += gcdID_TABLE_LENGTH;
+        database->unused += gcdID_TABLE_LENGTH;
+    }
+
+    table = database->table;
+    currentID = database->currentID;
+    tableLen = database->tableLen;
+    unused = database->unused;
+
+    /* Connect id with pointer. */
+    table[currentID] = Pointer;
+
+    *Id = currentID + 1;
+
+    /* Update the currentID. */
+    if (--unused > 0)
+    {
+        for (i = 0; i < tableLen; i++)
+        {
+            if (++currentID >= tableLen)
+            {
+                /* Wrap to the begin. */
+                currentID = 0;
+            }
+
+            if (table[currentID] == gcvNULL)
+            {
+                break;
+            }
+        }
+    }
+
+    database->table = table;
+    database->currentID = currentID;
+    database->tableLen = tableLen;
+    database->unused = unused;
+
+    gcmkVERIFY_OK(gckOS_ReleaseMutex(os, database->mutex));
+    acquired = gcvFALSE;
+
+    gcmkFOOTER_ARG("*Id=%d", *Id);
+    return gcvSTATUS_OK;
+
+OnError:
+    if (acquired)
+    {
+        gcmkVERIFY_OK(gckOS_ReleaseMutex(os, database->mutex));
+    }
+
+    gcmkFOOTER();
+    return status;
+}
+
+gceSTATUS
+gckKERNEL_FreeIntegerId(
+    IN gctPOINTER Database,
+    IN gctUINT32 Id
+    )
+{
+    gceSTATUS status;
+    gckINTEGERDB database = Database;
+    gckOS os = database->os;
+    gctBOOL acquired = gcvFALSE;
+
+    gcmkHEADER_ARG("Database=0x%08X Id=%d", Database, Id);
+
+    gcmkVERIFY_OK(gckOS_AcquireMutex(os, database->mutex, gcvINFINITE));
+    acquired = gcvTRUE;
+
+    if (!(Id > 0 && Id <= database->tableLen))
+    {
+        gcmkONERROR(gcvSTATUS_NOT_FOUND);
+    }
+
+    Id -= 1;
+
+    database->table[Id] = gcvNULL;
+
+    if (database->unused++ == 0)
+    {
+        database->currentID = Id;
+    }
+
+    gcmkVERIFY_OK(gckOS_ReleaseMutex(os, database->mutex));
+    acquired = gcvFALSE;
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    if (acquired)
+    {
+        gcmkVERIFY_OK(gckOS_ReleaseMutex(os, database->mutex));
+    }
+
+    gcmkFOOTER();
+    return status;
+}
+
+gceSTATUS
+gckKERNEL_QueryIntegerId(
+    IN gctPOINTER Database,
+    IN gctUINT32 Id,
+    OUT gctPOINTER * Pointer
+    )
+{
+    gceSTATUS status;
+    gckINTEGERDB database = Database;
+    gctPOINTER pointer;
+    gckOS os = database->os;
+    gctBOOL acquired = gcvFALSE;
+
+    gcmkHEADER_ARG("Database=0x%08X Id=%d", Database, Id);
+    gcmkVERIFY_ARGUMENT(Pointer != gcvNULL);
+
+    gcmkVERIFY_OK(gckOS_AcquireMutex(os, database->mutex, gcvINFINITE));
+    acquired = gcvTRUE;
+
+    if (!(Id > 0 && Id <= database->tableLen))
+    {
+        gcmkONERROR(gcvSTATUS_NOT_FOUND);
+    }
+
+    Id -= 1;
+
+    pointer = database->table[Id];
+
+    gcmkVERIFY_OK(gckOS_ReleaseMutex(os, database->mutex));
+    acquired = gcvFALSE;
+
+    if (pointer)
+    {
+        *Pointer = pointer;
+    }
+    else
+    {
+        gcmkONERROR(gcvSTATUS_NOT_FOUND);
+    }
+
+    gcmkFOOTER_ARG("*Pointer=0x%08X", *Pointer);
+    return gcvSTATUS_OK;
+
+OnError:
+    if (acquired)
+    {
+        gcmkVERIFY_OK(gckOS_ReleaseMutex(os, database->mutex));
+    }
+
+    gcmkFOOTER();
+    return status;
+}
+
+
+gctUINT32
+gckKERNEL_AllocateNameFromPointer(
+    IN gckKERNEL Kernel,
+    IN gctPOINTER Pointer
+    )
+{
+    gceSTATUS status;
+    gctUINT32 name;
+    gctPOINTER database = Kernel->db->pointerDatabase;
+
+    gcmkHEADER_ARG("Kernel=0x%X Pointer=0x%X", Kernel, Pointer);
+
+    gcmkONERROR(
+        gckKERNEL_AllocateIntegerId(database, Pointer, &name));
+
+    gcmkFOOTER_ARG("name=%d", name);
+    return name;
+
+OnError:
+    gcmkFOOTER();
+    return 0;
+}
+
+gctPOINTER
+gckKERNEL_QueryPointerFromName(
+    IN gckKERNEL Kernel,
+    IN gctUINT32 Name
+    )
+{
+    gceSTATUS status;
+    gctPOINTER pointer = gcvNULL;
+    gctPOINTER database = Kernel->db->pointerDatabase;
+
+    gcmkHEADER_ARG("Kernel=0x%X Name=%d", Kernel, Name);
+
+    /* Lookup in database to get pointer. */
+    gcmkONERROR(gckKERNEL_QueryIntegerId(database, Name, &pointer));
+
+    gcmkFOOTER_ARG("pointer=0x%X", pointer);
+    return pointer;
+
+OnError:
+    gcmkFOOTER();
+    return gcvNULL;
+}
+
+gceSTATUS
+gckKERNEL_DeleteName(
+    IN gckKERNEL Kernel,
+    IN gctUINT32 Name
+    )
+{
+    gctPOINTER database = Kernel->db->pointerDatabase;
+
+    gcmkHEADER_ARG("Kernel=0x%X Name=0x%X", Kernel, Name);
+
+    /* Free name if exists. */
+    gcmkVERIFY_OK(gckKERNEL_FreeIntegerId(database, Name));
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+/*******************************************************************************
+***** Test Code ****************************************************************
+*******************************************************************************/
+
diff --git a/drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel.h b/drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel.h
new file mode 100644 (file)
index 0000000..d7ff9cf
--- /dev/null
@@ -0,0 +1,1007 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#ifndef __gc_hal_kernel_h_
+#define __gc_hal_kernel_h_
+
+#include "gc_hal.h"
+#include "gc_hal_kernel_hardware.h"
+#include "gc_hal_driver.h"
+
+#if gcdENABLE_VG
+#include "gc_hal_kernel_vg.h"
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/*******************************************************************************
+***** New MMU Defination *******************************************************/
+#define gcdMMU_MTLB_SHIFT           22
+#define gcdMMU_STLB_4K_SHIFT        12
+#define gcdMMU_STLB_64K_SHIFT       16
+
+#define gcdMMU_MTLB_BITS            (32 - gcdMMU_MTLB_SHIFT)
+#define gcdMMU_PAGE_4K_BITS         gcdMMU_STLB_4K_SHIFT
+#define gcdMMU_STLB_4K_BITS         (32 - gcdMMU_MTLB_BITS - gcdMMU_PAGE_4K_BITS)
+#define gcdMMU_PAGE_64K_BITS        gcdMMU_STLB_64K_SHIFT
+#define gcdMMU_STLB_64K_BITS        (32 - gcdMMU_MTLB_BITS - gcdMMU_PAGE_64K_BITS)
+
+#define gcdMMU_MTLB_ENTRY_NUM       (1 << gcdMMU_MTLB_BITS)
+#define gcdMMU_MTLB_SIZE            (gcdMMU_MTLB_ENTRY_NUM << 2)
+#define gcdMMU_STLB_4K_ENTRY_NUM    (1 << gcdMMU_STLB_4K_BITS)
+#define gcdMMU_STLB_4K_SIZE         (gcdMMU_STLB_4K_ENTRY_NUM << 2)
+#define gcdMMU_PAGE_4K_SIZE         (1 << gcdMMU_STLB_4K_SHIFT)
+#define gcdMMU_STLB_64K_ENTRY_NUM   (1 << gcdMMU_STLB_64K_BITS)
+#define gcdMMU_STLB_64K_SIZE        (gcdMMU_STLB_64K_ENTRY_NUM << 2)
+#define gcdMMU_PAGE_64K_SIZE        (1 << gcdMMU_STLB_64K_SHIFT)
+
+#define gcdMMU_MTLB_MASK            (~((1U << gcdMMU_MTLB_SHIFT)-1))
+#define gcdMMU_STLB_4K_MASK         ((~0U << gcdMMU_STLB_4K_SHIFT) ^ gcdMMU_MTLB_MASK)
+#define gcdMMU_PAGE_4K_MASK         (gcdMMU_PAGE_4K_SIZE - 1)
+#define gcdMMU_STLB_64K_MASK        ((~((1U << gcdMMU_STLB_64K_SHIFT)-1)) ^ gcdMMU_MTLB_MASK)
+#define gcdMMU_PAGE_64K_MASK        (gcdMMU_PAGE_64K_SIZE - 1)
+
+/* Page offset definitions. */
+#define gcdMMU_OFFSET_4K_BITS       (32 - gcdMMU_MTLB_BITS - gcdMMU_STLB_4K_BITS)
+#define gcdMMU_OFFSET_4K_MASK       ((1U << gcdMMU_OFFSET_4K_BITS) - 1)
+#define gcdMMU_OFFSET_16K_BITS      (32 - gcdMMU_MTLB_BITS - gcdMMU_STLB_16K_BITS)
+#define gcdMMU_OFFSET_16K_MASK      ((1U << gcdMMU_OFFSET_16K_BITS) - 1)
+
+/*******************************************************************************
+***** Process Secure Cache ****************************************************/
+
+#define gcdSECURE_CACHE_LRU         1
+#define gcdSECURE_CACHE_LINEAR      2
+#define gcdSECURE_CACHE_HASH        3
+#define gcdSECURE_CACHE_TABLE       4
+
+typedef struct _gcskLOGICAL_CACHE * gcskLOGICAL_CACHE_PTR;
+typedef struct _gcskLOGICAL_CACHE   gcskLOGICAL_CACHE;
+struct _gcskLOGICAL_CACHE
+{
+    /* Logical address. */
+    gctPOINTER                      logical;
+
+    /* DMAable address. */
+    gctUINT32                       dma;
+
+#if gcdSECURE_CACHE_METHOD == gcdSECURE_CACHE_HASH
+    /* Pointer to the previous and next hash tables. */
+    gcskLOGICAL_CACHE_PTR           nextHash;
+    gcskLOGICAL_CACHE_PTR           prevHash;
+#endif
+
+#if gcdSECURE_CACHE_METHOD != gcdSECURE_CACHE_TABLE
+    /* Pointer to the previous and next slot. */
+    gcskLOGICAL_CACHE_PTR           next;
+    gcskLOGICAL_CACHE_PTR           prev;
+#endif
+
+#if gcdSECURE_CACHE_METHOD == gcdSECURE_CACHE_LINEAR
+    /* Time stamp. */
+    gctUINT64                       stamp;
+#endif
+};
+
+typedef struct _gcskSECURE_CACHE * gcskSECURE_CACHE_PTR;
+typedef struct _gcskSECURE_CACHE
+{
+    /* Cache memory. */
+    gcskLOGICAL_CACHE               cache[1 + gcdSECURE_CACHE_SLOTS];
+
+    /* Last known index for LINEAR mode. */
+    gcskLOGICAL_CACHE_PTR           cacheIndex;
+
+    /* Current free slot for LINEAR mode. */
+    gctUINT32                       cacheFree;
+
+    /* Time stamp for LINEAR mode. */
+    gctUINT64                       cacheStamp;
+
+#if gcdSECURE_CACHE_METHOD == gcdSECURE_CACHE_HASH
+    /* Hash table for HASH mode. */
+    gcskLOGICAL_CACHE              hash[256];
+#endif
+}
+gcskSECURE_CACHE;
+
+/*******************************************************************************
+***** Process Database Management *********************************************/
+
+typedef enum _gceDATABASE_TYPE
+{
+    gcvDB_VIDEO_MEMORY = 1,             /* Video memory created. */
+    gcvDB_COMMAND_BUFFER,               /* Command Buffer. */
+    gcvDB_NON_PAGED,                    /* Non paged memory. */
+    gcvDB_CONTIGUOUS,                   /* Contiguous memory. */
+    gcvDB_SIGNAL,                       /* Signal. */
+    gcvDB_VIDEO_MEMORY_LOCKED,          /* Video memory locked. */
+    gcvDB_CONTEXT,                      /* Context */
+    gcvDB_IDLE,                         /* GPU idle. */
+    gcvDB_MAP_MEMORY,                   /* Map memory */
+    gcvDB_SHARED_INFO,                  /* Private data */
+    gcvDB_MAP_USER_MEMORY,              /* Map user memory */
+    gcvDB_SYNC_POINT,                   /* Sync point. */
+    gcvDB_VIDEO_MEMORY_RESERVED,        /* Reserved video memory */
+    gcvDB_VIDEO_MEMORY_CONTIGUOUS,      /* Contiguous video memory */
+    gcvDB_VIDEO_MEMORY_VIRTUAL,         /* Virtual video memory */
+}
+gceDATABASE_TYPE;
+
+typedef struct _gcsDATABASE_RECORD *    gcsDATABASE_RECORD_PTR;
+typedef struct _gcsDATABASE_RECORD
+{
+    /* Pointer to kernel. */
+    gckKERNEL                           kernel;
+
+    /* Pointer to next database record. */
+    gcsDATABASE_RECORD_PTR              next;
+
+    /* Type of record. */
+    gceDATABASE_TYPE                    type;
+
+    /* Data for record. */
+    gctPOINTER                          data;
+    gctPHYS_ADDR                        physical;
+    gctSIZE_T                           bytes;
+}
+gcsDATABASE_RECORD;
+
+typedef struct _gcsDATABASE *           gcsDATABASE_PTR;
+typedef struct _gcsDATABASE
+{
+    /* Pointer to next entry is hash list. */
+    gcsDATABASE_PTR                     next;
+    gctSIZE_T                           slot;
+
+    /* Process ID. */
+    gctUINT32                           processID;
+
+    /* Sizes to query. */
+    gcsDATABASE_COUNTERS                vidMem;
+    gcsDATABASE_COUNTERS                nonPaged;
+    gcsDATABASE_COUNTERS                contiguous;
+    gcsDATABASE_COUNTERS                mapUserMemory;
+    gcsDATABASE_COUNTERS                mapMemory;
+    gcsDATABASE_COUNTERS                vidMemResv;
+    gcsDATABASE_COUNTERS                vidMemCont;
+    gcsDATABASE_COUNTERS                vidMemVirt;
+
+    /* Idle time management. */
+    gctUINT64                           lastIdle;
+    gctUINT64                           idle;
+
+    /* Pointer to database. */
+    gcsDATABASE_RECORD_PTR              list[48];
+
+#if gcdSECURE_USER
+    /* Secure cache. */
+    gcskSECURE_CACHE                    cache;
+#endif
+
+    gctPOINTER                          handleDatabase;
+    gctPOINTER                          handleDatabaseMutex;
+}
+gcsDATABASE;
+
+/* Create a process database that will contain all its allocations. */
+gceSTATUS
+gckKERNEL_CreateProcessDB(
+    IN gckKERNEL Kernel,
+    IN gctUINT32 ProcessID
+    );
+
+/* Add a record to the process database. */
+gceSTATUS
+gckKERNEL_AddProcessDB(
+    IN gckKERNEL Kernel,
+    IN gctUINT32 ProcessID,
+    IN gceDATABASE_TYPE Type,
+    IN gctPOINTER Pointer,
+    IN gctPHYS_ADDR Physical,
+    IN gctSIZE_T Size
+    );
+
+/* Remove a record to the process database. */
+gceSTATUS
+gckKERNEL_RemoveProcessDB(
+    IN gckKERNEL Kernel,
+    IN gctUINT32 ProcessID,
+    IN gceDATABASE_TYPE Type,
+    IN gctPOINTER Pointer
+    );
+
+/* Destroy the process database. */
+gceSTATUS
+gckKERNEL_DestroyProcessDB(
+    IN gckKERNEL Kernel,
+    IN gctUINT32 ProcessID
+    );
+
+/* Find a record to the process database. */
+gceSTATUS
+gckKERNEL_FindProcessDB(
+    IN gckKERNEL Kernel,
+    IN gctUINT32 ProcessID,
+    IN gctUINT32 ThreadID,
+    IN gceDATABASE_TYPE Type,
+    IN gctPOINTER Pointer,
+    OUT gcsDATABASE_RECORD_PTR Record
+    );
+
+/* Query the process database. */
+gceSTATUS
+gckKERNEL_QueryProcessDB(
+    IN gckKERNEL Kernel,
+    IN gctUINT32 ProcessID,
+    IN gctBOOL LastProcessID,
+    IN gceDATABASE_TYPE Type,
+    OUT gcuDATABASE_INFO * Info
+    );
+
+/* Dump the process database. */
+gceSTATUS
+gckKERNEL_DumpProcessDB(
+    IN gckKERNEL Kernel
+    );
+
+/* ID database */
+gceSTATUS
+gckKERNEL_CreateIntegerDatabase(
+    IN gckKERNEL Kernel,
+    OUT gctPOINTER * Database
+    );
+
+gceSTATUS
+gckKERNEL_DestroyIntegerDatabase(
+    IN gckKERNEL Kernel,
+    IN gctPOINTER Database
+    );
+
+gceSTATUS
+gckKERNEL_AllocateIntegerId(
+    IN gctPOINTER Database,
+    IN gctPOINTER Pointer,
+    OUT gctUINT32 * Id
+    );
+
+gceSTATUS
+gckKERNEL_FreeIntegerId(
+    IN gctPOINTER Database,
+    IN gctUINT32 Id
+    );
+
+gceSTATUS
+gckKERNEL_QueryIntegerId(
+    IN gctPOINTER Database,
+    IN gctUINT32 Id,
+    OUT gctPOINTER * Pointer
+    );
+
+gctUINT32
+gckKERNEL_AllocateNameFromPointer(
+    IN gckKERNEL Kernel,
+    IN gctPOINTER Pointer
+    );
+
+gctPOINTER
+gckKERNEL_QueryPointerFromName(
+    IN gckKERNEL Kernel,
+    IN gctUINT32 Name
+    );
+
+gceSTATUS
+gckKERNEL_DeleteName(
+    IN gckKERNEL Kernel,
+    IN gctUINT32 Name
+    );
+
+#if gcdSECURE_USER
+/* Get secure cache from the process database. */
+gceSTATUS
+gckKERNEL_GetProcessDBCache(
+    IN gckKERNEL Kernel,
+    IN gctUINT32 ProcessID,
+    OUT gcskSECURE_CACHE_PTR * Cache
+    );
+#endif
+
+/*******************************************************************************
+********* Timer Management ****************************************************/
+typedef struct _gcsTIMER *           gcsTIMER_PTR;
+typedef struct _gcsTIMER
+{
+    /* Start and Stop time holders. */
+    gctUINT64                           startTime;
+    gctUINT64                           stopTime;
+}
+gcsTIMER;
+
+/******************************************************************************\
+********************************** Structures **********************************
+\******************************************************************************/
+
+/* gckDB object. */
+struct _gckDB
+{
+    /* Database management. */
+    gcsDATABASE_PTR             db[16];
+    gctPOINTER                  dbMutex;
+    gcsDATABASE_PTR             freeDatabase;
+    gcsDATABASE_RECORD_PTR      freeRecord;
+    gcsDATABASE_PTR             lastDatabase;
+    gctUINT32                   lastProcessID;
+    gctUINT64                   lastIdle;
+    gctUINT64                   idleTime;
+    gctUINT64                   lastSlowdown;
+    gctUINT64                   lastSlowdownIdle;
+    /* ID - Pointer database*/
+    gctPOINTER                  pointerDatabase;
+    gctPOINTER                  pointerDatabaseMutex;
+};
+
+#if gcdVIRTUAL_COMMAND_BUFFER
+typedef struct _gckVIRTUAL_COMMAND_BUFFER * gckVIRTUAL_COMMAND_BUFFER_PTR;
+typedef struct _gckVIRTUAL_COMMAND_BUFFER
+{
+    gctPHYS_ADDR                physical;
+    gctPOINTER                  userLogical;
+    gctPOINTER                  kernelLogical;
+    gctSIZE_T                   pageCount;
+    gctPOINTER                  pageTable;
+    gctUINT32                   gpuAddress;
+    gctUINT                     pid;
+    gckVIRTUAL_COMMAND_BUFFER_PTR   next;
+    gckVIRTUAL_COMMAND_BUFFER_PTR   prev;
+    gckKERNEL                   kernel;
+}
+gckVIRTUAL_COMMAND_BUFFER;
+#endif
+
+/* gckKERNEL object. */
+struct _gckKERNEL
+{
+    /* Object. */
+    gcsOBJECT                   object;
+
+    /* Pointer to gckOS object. */
+    gckOS                       os;
+
+    /* Core */
+    gceCORE                     core;
+
+    /* Pointer to gckHARDWARE object. */
+    gckHARDWARE                 hardware;
+
+    /* Pointer to gckCOMMAND object. */
+    gckCOMMAND                  command;
+
+    /* Pointer to gckEVENT object. */
+    gckEVENT                    eventObj;
+
+    /* Pointer to context. */
+    gctPOINTER                  context;
+
+    /* Pointer to gckMMU object. */
+    gckMMU                      mmu;
+
+    /* Arom holding number of clients. */
+    gctPOINTER                  atomClients;
+
+#if VIVANTE_PROFILER
+    /* Enable profiling */
+    gctBOOL                     profileEnable;
+
+    /* Clear profile register or not*/
+    gctBOOL                     profileCleanRegister;
+
+#endif
+
+#ifdef QNX_SINGLE_THREADED_DEBUGGING
+    gctPOINTER                  debugMutex;
+#endif
+
+    /* Database management. */
+    gckDB                       db;
+    gctBOOL                     dbCreated;
+
+#if gcdENABLE_RECOVERY
+    gctPOINTER                  resetFlagClearTimer;
+    gctPOINTER                  resetAtom;
+    gctUINT64                   resetTimeStamp;
+#endif
+
+    /* Pointer to gckEVENT object. */
+    gcsTIMER                    timers[8];
+    gctUINT32                   timeOut;
+
+#if gcdENABLE_VG
+    gckVGKERNEL                 vg;
+#endif
+
+#if gcdVIRTUAL_COMMAND_BUFFER
+    gckVIRTUAL_COMMAND_BUFFER_PTR virtualBufferHead;
+    gckVIRTUAL_COMMAND_BUFFER_PTR virtualBufferTail;
+    gctPOINTER                    virtualBufferLock;
+#endif
+
+#if gcdDVFS
+    gckDVFS                     dvfs;
+#endif
+
+#if gcdANDROID_NATIVE_FENCE_SYNC
+    gctHANDLE                   timeline;
+#endif
+};
+
+struct _FrequencyHistory
+{
+    gctUINT32                   frequency;
+    gctUINT32                   count;
+};
+
+/* gckDVFS object. */
+struct _gckDVFS
+{
+    gckOS                       os;
+    gckHARDWARE                 hardware;
+    gctPOINTER                  timer;
+    gctUINT32                   pollingTime;
+    gctBOOL                     stop;
+    gctUINT32                   totalConfig;
+    gctUINT32                   loads[8];
+    gctUINT8                    currentScale;
+    struct _FrequencyHistory    frequencyHistory[16];
+};
+
+/* gckCOMMAND object. */
+struct _gckCOMMAND
+{
+    /* Object. */
+    gcsOBJECT                   object;
+
+    /* Pointer to required object. */
+    gckKERNEL                   kernel;
+    gckOS                       os;
+
+    /* Number of bytes per page. */
+    gctSIZE_T                   pageSize;
+
+    /* Current pipe select. */
+    gcePIPE_SELECT              pipeSelect;
+
+    /* Command queue running flag. */
+    gctBOOL                     running;
+
+    /* Idle flag and commit stamp. */
+    gctBOOL                     idle;
+    gctUINT64                   commitStamp;
+
+    /* Command queue mutex. */
+    gctPOINTER                  mutexQueue;
+
+    /* Context switching mutex. */
+    gctPOINTER                  mutexContext;
+
+#if VIVANTE_PROFILER_CONTEXT
+    /* Context sequence mutex. */
+    gctPOINTER                  mutexContextSeq;
+#endif
+
+    /* Command queue power semaphore. */
+    gctPOINTER                  powerSemaphore;
+
+    /* Current command queue. */
+    struct _gcskCOMMAND_QUEUE
+    {
+        gctSIGNAL               signal;
+        gctPHYS_ADDR            physical;
+        gctPOINTER              logical;
+    }
+    queues[gcdCOMMAND_QUEUES];
+
+    gctPHYS_ADDR                physical;
+    gctPOINTER                  logical;
+    gctUINT32                   offset;
+    gctINT                      index;
+#if gcmIS_DEBUG(gcdDEBUG_TRACE)
+    gctUINT                     wrapCount;
+#endif
+
+    /* The command queue is new. */
+    gctBOOL                     newQueue;
+
+    /* Context management. */
+    gckCONTEXT                  currContext;
+
+    /* Pointer to last WAIT command. */
+    gctPHYS_ADDR                waitPhysical;
+    gctPOINTER                  waitLogical;
+    gctSIZE_T                   waitSize;
+
+    /* Command buffer alignment. */
+    gctSIZE_T                   alignment;
+    gctSIZE_T                   reservedHead;
+    gctSIZE_T                   reservedTail;
+
+    /* Commit counter. */
+    gctPOINTER                  atomCommit;
+
+    /* Kernel process ID. */
+    gctUINT32                   kernelProcessID;
+
+    /* End Event signal. */
+    gctSIGNAL                   endEventSignal;
+
+#if gcdSECURE_USER
+    /* Hint array copy buffer. */
+    gctBOOL                     hintArrayAllocated;
+    gctUINT                     hintArraySize;
+    gctUINT32_PTR               hintArray;
+#endif
+};
+
+typedef struct _gcsEVENT *      gcsEVENT_PTR;
+
+/* Structure holding one event to be processed. */
+typedef struct _gcsEVENT
+{
+    /* Pointer to next event in queue. */
+    gcsEVENT_PTR                next;
+
+    /* Event information. */
+    gcsHAL_INTERFACE            info;
+
+    /* Process ID owning the event. */
+    gctUINT32                   processID;
+
+#ifdef __QNXNTO__
+    /* Kernel. */
+    gckKERNEL                   kernel;
+#endif
+
+    gctBOOL                     fromKernel;
+}
+gcsEVENT;
+
+/* Structure holding a list of events to be processed by an interrupt. */
+typedef struct _gcsEVENT_QUEUE * gcsEVENT_QUEUE_PTR;
+typedef struct _gcsEVENT_QUEUE
+{
+    /* Time stamp. */
+    gctUINT64                   stamp;
+
+    /* Source of the event. */
+    gceKERNEL_WHERE             source;
+
+    /* Pointer to head of event queue. */
+    gcsEVENT_PTR                head;
+
+    /* Pointer to tail of event queue. */
+    gcsEVENT_PTR                tail;
+
+    /* Next list of events. */
+    gcsEVENT_QUEUE_PTR          next;
+}
+gcsEVENT_QUEUE;
+
+/*
+    gcdREPO_LIST_COUNT defines the maximum number of event queues with different
+    hardware module sources that may coexist at the same time. Only two sources
+    are supported - gcvKERNEL_COMMAND and gcvKERNEL_PIXEL. gcvKERNEL_COMMAND
+    source is used only for managing the kernel command queue and is only issued
+    when the current command queue gets full. Since we commit event queues every
+    time we commit command buffers, in the worst case we can have up to three
+    pending event queues:
+        - gcvKERNEL_PIXEL
+        - gcvKERNEL_COMMAND (queue overflow)
+        - gcvKERNEL_PIXEL
+*/
+#define gcdREPO_LIST_COUNT      3
+
+/* gckEVENT object. */
+struct _gckEVENT
+{
+    /* The object. */
+    gcsOBJECT                   object;
+
+    /* Pointer to required objects. */
+    gckOS                       os;
+    gckKERNEL                   kernel;
+
+    /* Time stamp. */
+    gctUINT64                   stamp;
+    gctUINT64                   lastCommitStamp;
+
+    /* Queue mutex. */
+    gctPOINTER                  eventQueueMutex;
+
+    /* Array of event queues. */
+    gcsEVENT_QUEUE              queues[30];
+    gctUINT8                    lastID;
+    gctPOINTER                  freeAtom;
+
+    /* Pending events. */
+#if gcdSMP
+    gctPOINTER                  pending;
+#else
+    volatile gctUINT            pending;
+#endif
+
+    /* List of free event structures and its mutex. */
+    gcsEVENT_PTR                freeEventList;
+    gctSIZE_T                   freeEventCount;
+    gctPOINTER                  freeEventMutex;
+
+    /* Event queues. */
+    gcsEVENT_QUEUE_PTR          queueHead;
+    gcsEVENT_QUEUE_PTR          queueTail;
+    gcsEVENT_QUEUE_PTR          freeList;
+    gcsEVENT_QUEUE              repoList[gcdREPO_LIST_COUNT];
+    gctPOINTER                  eventListMutex;
+
+    gctPOINTER                  submitTimer;
+
+    volatile gctBOOL            inNotify;
+};
+
+/* Free all events belonging to a process. */
+gceSTATUS
+gckEVENT_FreeProcess(
+    IN gckEVENT Event,
+    IN gctUINT32 ProcessID
+    );
+
+gceSTATUS
+gckEVENT_Stop(
+    IN gckEVENT Event,
+    IN gctUINT32 ProcessID,
+    IN gctPHYS_ADDR Handle,
+    IN gctPOINTER Logical,
+    IN gctSIGNAL Signal,
+       IN OUT gctSIZE_T * waitSize
+    );
+
+gceSTATUS
+gckEVENT_WaitEmpty(
+    IN gckEVENT Event
+    );
+
+/* gcuVIDMEM_NODE structure. */
+typedef union _gcuVIDMEM_NODE
+{
+    /* Allocated from gckVIDMEM. */
+    struct _gcsVIDMEM_NODE_VIDMEM
+    {
+        /* Owner of this node. */
+        gckVIDMEM               memory;
+
+        /* Dual-linked list of nodes. */
+        gcuVIDMEM_NODE_PTR      next;
+        gcuVIDMEM_NODE_PTR      prev;
+
+        /* Dual linked list of free nodes. */
+        gcuVIDMEM_NODE_PTR      nextFree;
+        gcuVIDMEM_NODE_PTR      prevFree;
+
+        /* Information for this node. */
+        gctUINT32               offset;
+        gctSIZE_T               bytes;
+        gctUINT32               alignment;
+
+#ifdef __QNXNTO__
+        /* Client/server vaddr (mapped using mmap_join). */
+        gctPOINTER              logical;
+#endif
+
+        /* Locked counter. */
+        gctINT32                locked;
+
+        /* Memory pool. */
+        gcePOOL                 pool;
+        gctUINT32               physical;
+
+        /* Process ID owning this memory. */
+        gctUINT32               processID;
+
+        /* Prevent compositor from freeing until client unlocks. */
+        gctBOOL                 freePending;
+
+        /* */
+        gcsVIDMEM_NODE_SHARED_INFO sharedInfo;
+
+#if gcdDYNAMIC_MAP_RESERVED_MEMORY && gcdENABLE_VG
+        gctPOINTER              kernelVirtual;
+#endif
+
+        /* Surface type. */
+        gceSURF_TYPE            type;
+    }
+    VidMem;
+
+    /* Allocated from gckOS. */
+    struct _gcsVIDMEM_NODE_VIRTUAL
+    {
+        /* Pointer to gckKERNEL object. */
+        gckKERNEL               kernel;
+
+        /* Information for this node. */
+        /* Contiguously allocated? */
+        gctBOOL                 contiguous;
+        /* mdl record pointer... a kmalloc address. Process agnostic. */
+        gctPHYS_ADDR            physical;
+        gctSIZE_T               bytes;
+        /* do_mmap_pgoff address... mapped per-process. */
+        gctPOINTER              logical;
+
+        /* Page table information. */
+        /* Used only when node is not contiguous */
+        gctSIZE_T               pageCount;
+
+        /* Used only when node is not contiguous */
+        gctPOINTER              pageTables[gcdMAX_GPU_COUNT];
+        /* Pointer to gckKERNEL object who lock this. */
+        gckKERNEL               lockKernels[gcdMAX_GPU_COUNT];
+        /* Actual physical address */
+        gctUINT32               addresses[gcdMAX_GPU_COUNT];
+
+        /* Mutex. */
+        gctPOINTER              mutex;
+
+        /* Locked counter. */
+        gctINT32                lockeds[gcdMAX_GPU_COUNT];
+
+#ifdef __QNXNTO__
+        /* Single linked list of nodes. */
+        gcuVIDMEM_NODE_PTR      next;
+
+        /* Unlock pending flag. */
+        gctBOOL                 unlockPendings[gcdMAX_GPU_COUNT];
+
+        /* Free pending flag. */
+        gctBOOL                 freePending;
+#endif
+
+        /* Process ID owning this memory. */
+        gctUINT32               processID;
+
+        /* Owner process sets freed to true
+         * when it trys to free a locked
+         * node */
+        gctBOOL                 freed;
+
+        /* */
+        gcsVIDMEM_NODE_SHARED_INFO sharedInfo;
+
+        /* Surface type. */
+        gceSURF_TYPE            type;
+    }
+    Virtual;
+}
+gcuVIDMEM_NODE;
+
+/* gckVIDMEM object. */
+struct _gckVIDMEM
+{
+    /* Object. */
+    gcsOBJECT                   object;
+
+    /* Pointer to gckOS object. */
+    gckOS                       os;
+
+    /* Information for this video memory heap. */
+    gctUINT32                   baseAddress;
+    gctSIZE_T                   bytes;
+    gctSIZE_T                   freeBytes;
+
+    /* Mapping for each type of surface. */
+    gctINT                      mapping[gcvSURF_NUM_TYPES];
+
+    /* Sentinel nodes for up to 8 banks. */
+    gcuVIDMEM_NODE              sentinel[8];
+
+    /* Allocation threshold. */
+    gctSIZE_T                   threshold;
+
+    /* The heap mutex. */
+    gctPOINTER                  mutex;
+
+#if gcdUSE_VIDMEM_PER_PID
+    /* The Pid this VidMem belongs to. */
+    gctUINT32                   pid;
+
+    struct _gckVIDMEM*          next;
+#endif
+};
+
+/* gckMMU object. */
+struct _gckMMU
+{
+    /* The object. */
+    gcsOBJECT                   object;
+
+    /* Pointer to gckOS object. */
+    gckOS                       os;
+
+    /* Pointer to gckHARDWARE object. */
+    gckHARDWARE                 hardware;
+
+    /* The page table mutex. */
+    gctPOINTER                  pageTableMutex;
+
+    /* Page table information. */
+    gctSIZE_T                   pageTableSize;
+    gctPHYS_ADDR                pageTablePhysical;
+    gctUINT32_PTR               pageTableLogical;
+    gctUINT32                   pageTableEntries;
+
+    /* Master TLB information. */
+    gctSIZE_T                   mtlbSize;
+    gctPHYS_ADDR                mtlbPhysical;
+    gctUINT32_PTR               mtlbLogical;
+    gctUINT32                   mtlbEntries;
+
+    /* Free entries. */
+    gctUINT32                   heapList;
+    gctBOOL                     freeNodes;
+
+    gctPOINTER                  staticSTLB;
+    gctBOOL                     enabled;
+
+    gctUINT32                   dynamicMappingStart;
+
+#ifdef __QNXNTO__
+    /* Single linked list of all allocated nodes. */
+    gctPOINTER                  nodeMutex;
+    gcuVIDMEM_NODE_PTR          nodeList;
+#endif
+};
+
+#if gcdVIRTUAL_COMMAND_BUFFER
+gceSTATUS
+gckOS_CreateKernelVirtualMapping(
+    IN gctPHYS_ADDR Physical,
+    OUT gctSIZE_T * PageCount,
+    OUT gctPOINTER * Logical
+    );
+
+gceSTATUS
+gckOS_DestroyKernelVirtualMapping(
+    IN gctPOINTER Logical
+    );
+
+gceSTATUS
+gckKERNEL_AllocateVirtualCommandBuffer(
+    IN gckKERNEL Kernel,
+    IN gctBOOL InUserSpace,
+    IN OUT gctSIZE_T * Bytes,
+    OUT gctPHYS_ADDR * Physical,
+    OUT gctPOINTER * Logical
+    );
+
+gceSTATUS
+gckKERNEL_DestroyVirtualCommandBuffer(
+    IN gckKERNEL Kernel,
+    IN gctSIZE_T Bytes,
+    IN gctPHYS_ADDR Physical,
+    IN gctPOINTER Logical
+    );
+
+gceSTATUS
+gckKERNEL_GetGPUAddress(
+    IN gckKERNEL Kernel,
+    IN gctPOINTER Logical,
+    OUT gctUINT32 * Address
+    );
+
+gceSTATUS
+gckKERNEL_QueryGPUAddress(
+    IN gckKERNEL Kernel,
+    IN gctUINT32 GpuAddress,
+    OUT gckVIRTUAL_COMMAND_BUFFER_PTR * Buffer
+    );
+#endif
+
+gceSTATUS
+gckKERNEL_AttachProcess(
+    IN gckKERNEL Kernel,
+    IN gctBOOL Attach
+    );
+
+gceSTATUS
+gckKERNEL_AttachProcessEx(
+    IN gckKERNEL Kernel,
+    IN gctBOOL Attach,
+    IN gctUINT32 PID
+    );
+
+#if gcdSECURE_USER
+gceSTATUS
+gckKERNEL_MapLogicalToPhysical(
+    IN gckKERNEL Kernel,
+    IN gcskSECURE_CACHE_PTR Cache,
+    IN OUT gctPOINTER * Data
+    );
+
+gceSTATUS
+gckKERNEL_FlushTranslationCache(
+    IN gckKERNEL Kernel,
+    IN gcskSECURE_CACHE_PTR Cache,
+    IN gctPOINTER Logical,
+    IN gctSIZE_T Bytes
+    );
+#endif
+
+gceSTATUS
+gckHARDWARE_QueryIdle(
+    IN gckHARDWARE Hardware,
+    OUT gctBOOL_PTR IsIdle
+    );
+
+/******************************************************************************\
+******************************* gckCONTEXT Object *******************************
+\******************************************************************************/
+
+gceSTATUS
+gckCONTEXT_Construct(
+    IN gckOS Os,
+    IN gckHARDWARE Hardware,
+    IN gctUINT32 ProcessID,
+    OUT gckCONTEXT * Context
+    );
+
+gceSTATUS
+gckCONTEXT_Destroy(
+    IN gckCONTEXT Context
+    );
+
+gceSTATUS
+gckCONTEXT_Update(
+    IN gckCONTEXT Context,
+    IN gctUINT32 ProcessID,
+    IN gcsSTATE_DELTA_PTR StateDelta
+    );
+
+#if gcdLINK_QUEUE_SIZE
+void
+gckLINKQUEUE_Enqueue(
+    IN gckLINKQUEUE LinkQueue,
+    IN gctUINT32 start,
+    IN gctUINT32 end
+    );
+
+void
+gckLINKQUEUE_GetData(
+    IN gckLINKQUEUE LinkQueue,
+    IN gctUINT32 Index,
+    OUT gckLINKDATA * Data
+    );
+#endif
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __gc_hal_kernel_h_ */
diff --git a/drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_command.c b/drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_command.c
new file mode 100644 (file)
index 0000000..73dab81
--- /dev/null
@@ -0,0 +1,3042 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#include "gc_hal_kernel_precomp.h"
+#include "gc_hal_kernel_context.h"
+
+#ifdef __QNXNTO__
+#include <sys/slog.h>
+#endif
+
+#define _GC_OBJ_ZONE            gcvZONE_COMMAND
+
+/******************************************************************************\
+********************************* Support Code *********************************
+\******************************************************************************/
+
+/*******************************************************************************
+**
+**  _NewQueue
+**
+**  Allocate a new command queue.
+**
+**  INPUT:
+**
+**      gckCOMMAND Command
+**          Pointer to an gckCOMMAND object.
+**
+**  OUTPUT:
+**
+**      gckCOMMAND Command
+**          gckCOMMAND object has been updated with a new command queue.
+*/
+static gceSTATUS
+_NewQueue(
+    IN OUT gckCOMMAND Command
+    )
+{
+    gceSTATUS status;
+    gctINT currentIndex, newIndex;
+
+    gcmkHEADER_ARG("Command=0x%x", Command);
+
+    /* Switch to the next command buffer. */
+    currentIndex = Command->index;
+    newIndex     = (currentIndex + 1) % gcdCOMMAND_QUEUES;
+
+    /* Wait for availability. */
+#if gcdDUMP_COMMAND
+    gcmkPRINT("@[kernel.waitsignal]");
+#endif
+
+    gcmkONERROR(gckOS_WaitSignal(
+        Command->os,
+        Command->queues[newIndex].signal,
+        gcvINFINITE
+        ));
+
+#if gcmIS_DEBUG(gcdDEBUG_TRACE)
+    if (newIndex < currentIndex)
+    {
+        Command->wrapCount += 1;
+
+        gcmkTRACE_ZONE_N(
+            gcvLEVEL_INFO, gcvZONE_COMMAND,
+            2 * 4,
+            "%s(%d): queue array wrapped around.\n",
+            __FUNCTION__, __LINE__
+            );
+    }
+
+    gcmkTRACE_ZONE_N(
+        gcvLEVEL_INFO, gcvZONE_COMMAND,
+        3 * 4,
+        "%s(%d): total queue wrap arounds %d.\n",
+        __FUNCTION__, __LINE__, Command->wrapCount
+        );
+
+    gcmkTRACE_ZONE_N(
+        gcvLEVEL_INFO, gcvZONE_COMMAND,
+        3 * 4,
+        "%s(%d): switched to queue %d.\n",
+        __FUNCTION__, __LINE__, newIndex
+        );
+#endif
+
+    /* Update gckCOMMAND object with new command queue. */
+    Command->index    = newIndex;
+    Command->newQueue = gcvTRUE;
+    Command->logical  = Command->queues[newIndex].logical;
+    Command->offset   = 0;
+
+    gcmkONERROR(
+        gckOS_GetPhysicalAddress(
+            Command->os,
+            Command->logical,
+            (gctUINT32 *) &Command->physical
+            ));
+
+    if (currentIndex != -1)
+    {
+        /* Mark the command queue as available. */
+        gcmkONERROR(gckEVENT_Signal(
+            Command->kernel->eventObj,
+            Command->queues[currentIndex].signal,
+            gcvKERNEL_COMMAND
+            ));
+    }
+
+    /* Success. */
+    gcmkFOOTER_ARG("Command->index=%d", Command->index);
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+static gceSTATUS
+_IncrementCommitAtom(
+    IN gckCOMMAND Command,
+    IN gctBOOL Increment
+    )
+{
+    gceSTATUS status;
+    gckHARDWARE hardware;
+    gctINT32 atomValue;
+    gctBOOL powerAcquired = gcvFALSE;
+
+    gcmkHEADER_ARG("Command=0x%x", Command);
+
+    /* Extract the gckHARDWARE and gckEVENT objects. */
+    hardware = Command->kernel->hardware;
+    gcmkVERIFY_OBJECT(hardware, gcvOBJ_HARDWARE);
+
+    /* Grab the power mutex. */
+    gcmkONERROR(gckOS_AcquireMutex(
+        Command->os, hardware->powerMutex, gcvINFINITE
+        ));
+    powerAcquired = gcvTRUE;
+
+    /* Increment the commit atom. */
+    if (Increment)
+    {
+        gcmkONERROR(gckOS_AtomIncrement(
+            Command->os, Command->atomCommit, &atomValue
+            ));
+    }
+    else
+    {
+        gcmkONERROR(gckOS_AtomDecrement(
+            Command->os, Command->atomCommit, &atomValue
+            ));
+    }
+
+    /* Release the power mutex. */
+    gcmkONERROR(gckOS_ReleaseMutex(
+        Command->os, hardware->powerMutex
+        ));
+    powerAcquired = gcvFALSE;
+
+    /* Success. */
+    gcmkFOOTER();
+    return gcvSTATUS_OK;
+
+OnError:
+    if (powerAcquired)
+    {
+        /* Release the power mutex. */
+        gcmkVERIFY_OK(gckOS_ReleaseMutex(
+            Command->os, hardware->powerMutex
+            ));
+    }
+
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+#if gcdSECURE_USER
+static gceSTATUS
+_ProcessHints(
+    IN gckCOMMAND Command,
+    IN gctUINT32 ProcessID,
+    IN gcoCMDBUF CommandBuffer
+    )
+{
+    gceSTATUS status = gcvSTATUS_OK;
+    gckKERNEL kernel;
+    gctBOOL needCopy = gcvFALSE;
+    gcskSECURE_CACHE_PTR cache;
+    gctUINT8_PTR commandBufferLogical;
+    gctUINT8_PTR hintedData;
+    gctUINT32_PTR hintArray;
+    gctUINT i, hintCount;
+
+    gcmkHEADER_ARG(
+        "Command=0x%08X ProcessID=%d CommandBuffer=0x%08X",
+        Command, ProcessID, CommandBuffer
+        );
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Command, gcvOBJ_COMMAND);
+
+    /* Reset state array pointer. */
+    hintArray = gcvNULL;
+
+    /* Get the kernel object. */
+    kernel = Command->kernel;
+
+    /* Get the cache form the database. */
+    gcmkONERROR(gckKERNEL_GetProcessDBCache(kernel, ProcessID, &cache));
+
+    /* Determine the start of the command buffer. */
+    commandBufferLogical
+        = (gctUINT8_PTR) CommandBuffer->logical
+        +                CommandBuffer->startOffset;
+
+    /* Determine the number of records in the state array. */
+    hintCount = CommandBuffer->hintArrayTail - CommandBuffer->hintArray;
+
+    /* Check wehther we need to copy the structures or not. */
+    gcmkONERROR(gckOS_QueryNeedCopy(Command->os, ProcessID, &needCopy));
+
+    /* Get access to the state array. */
+    if (needCopy)
+    {
+        gctUINT copySize;
+
+        if (Command->hintArrayAllocated &&
+            (Command->hintArraySize < CommandBuffer->hintArraySize))
+        {
+            gcmkONERROR(gcmkOS_SAFE_FREE(Command->os, gcmUINT64_TO_PTR(Command->hintArray)));
+            Command->hintArraySize = gcvFALSE;
+        }
+
+        if (!Command->hintArrayAllocated)
+        {
+            gctPOINTER pointer = gcvNULL;
+
+            gcmkONERROR(gckOS_Allocate(
+                Command->os,
+                CommandBuffer->hintArraySize,
+                &pointer
+                ));
+
+            Command->hintArray          = gcmPTR_TO_UINT64(pointer);
+            Command->hintArrayAllocated = gcvTRUE;
+            Command->hintArraySize      = CommandBuffer->hintArraySize;
+        }
+
+        hintArray = gcmUINT64_TO_PTR(Command->hintArray);
+        copySize   = hintCount * gcmSIZEOF(gctUINT32);
+
+        gcmkONERROR(gckOS_CopyFromUserData(
+            Command->os,
+            hintArray,
+            gcmUINT64_TO_PTR(CommandBuffer->hintArray),
+            copySize
+            ));
+    }
+    else
+    {
+        gctPOINTER pointer = gcvNULL;
+
+        gcmkONERROR(gckOS_MapUserPointer(
+            Command->os,
+            gcmUINT64_TO_PTR(CommandBuffer->hintArray),
+            CommandBuffer->hintArraySize,
+            &pointer
+            ));
+
+        hintArray = pointer;
+    }
+
+    /* Scan through the buffer. */
+    for (i = 0; i < hintCount; i += 1)
+    {
+        /* Determine the location of the hinted data. */
+        hintedData = commandBufferLogical + hintArray[i];
+
+        /* Map handle into physical address. */
+        gcmkONERROR(gckKERNEL_MapLogicalToPhysical(
+            kernel, cache, (gctPOINTER) hintedData
+            ));
+    }
+
+OnError:
+    /* Get access to the state array. */
+    if (!needCopy && (hintArray != gcvNULL))
+    {
+        gcmkVERIFY_OK(gckOS_UnmapUserPointer(
+            Command->os,
+            gcmUINT64_TO_PTR(CommandBuffer->hintArray),
+            CommandBuffer->hintArraySize,
+            hintArray
+            ));
+    }
+
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+#endif
+
+static gceSTATUS
+_FlushMMU(
+    IN gckCOMMAND Command
+    )
+{
+    gceSTATUS status;
+    gctUINT32 oldValue;
+    gckHARDWARE hardware = Command->kernel->hardware;
+
+    gcmkONERROR(gckOS_AtomicExchange(Command->os,
+                                     hardware->pageTableDirty,
+                                     0,
+                                     &oldValue));
+
+    if (oldValue)
+    {
+        /* Page Table is upated, flush mmu before commit. */
+        gcmkONERROR(gckHARDWARE_FlushMMU(hardware));
+    }
+
+    return gcvSTATUS_OK;
+OnError:
+    return status;
+}
+
+#if gcdVIRTUAL_COMMAND_BUFFER
+static void
+_DumpBuffer(
+    IN gctPOINTER Buffer,
+    IN gctUINT32 GpuAddress,
+    IN gctSIZE_T Size
+    )
+{
+    gctINT i, line, left;
+    gctUINT32_PTR data = Buffer;
+
+    line = Size / 32;
+    left = Size % 32;
+
+
+    for (i = 0; i < line; i++)
+    {
+        gcmkPRINT("%X : %08X %08X %08X %08X %08X %08X %08X %08X ",
+                  GpuAddress, data[0], data[1], data[2], data[3], data[4], data[5], data[6], data[7]);
+        data += 8;
+        GpuAddress += 8 * 4;
+    }
+
+    switch(left)
+    {
+        case 28:
+            gcmkPRINT("%X : %08X %08X %08X %08X %08X %08X %08X ",
+                      GpuAddress, data[0], data[1], data[2], data[3], data[4], data[5], data[6]);
+            break;
+        case 24:
+            gcmkPRINT("%X : %08X %08X %08X %08X %08X %08X ",
+                      GpuAddress, data[0], data[1], data[2], data[3], data[4], data[5]);
+            break;
+        case 20:
+            gcmkPRINT("%X : %08X %08X %08X %08X %08X ",
+                      GpuAddress, data[0], data[1], data[2], data[3], data[4]);
+            break;
+        case 16:
+            gcmkPRINT("%X : %08X %08X %08X %08X ",
+                      GpuAddress, data[0], data[1], data[2], data[3]);
+            break;
+        case 12:
+            gcmkPRINT("%X : %08X %08X %08X ",
+                      GpuAddress, data[0], data[1], data[2]);
+            break;
+        case 8:
+            gcmkPRINT("%X : %08X %08X ",
+                      GpuAddress, data[0], data[1]);
+            break;
+        case 4:
+            gcmkPRINT("%X : %08X ",
+                      GpuAddress, data[0]);
+            break;
+        default:
+            break;
+    }
+}
+
+static void
+_DumpKernelCommandBuffer(
+    IN gckCOMMAND Command
+)
+{
+    gctINT i;
+    gctUINT32 physical;
+    gctPOINTER entry;
+
+    for (i = 0; i < gcdCOMMAND_QUEUES; i++)
+    {
+        entry = Command->queues[i].logical;
+
+        gckOS_GetPhysicalAddress(Command->os, entry, &physical);
+
+        gcmkPRINT("Kernel command buffer %d\n", i);
+
+        _DumpBuffer(entry, physical, Command->pageSize);
+    }
+}
+#endif
+
+/******************************************************************************\
+****************************** gckCOMMAND API Code ******************************
+\******************************************************************************/
+
+/*******************************************************************************
+**
+**  gckCOMMAND_Construct
+**
+**  Construct a new gckCOMMAND object.
+**
+**  INPUT:
+**
+**      gckKERNEL Kernel
+**          Pointer to an gckKERNEL object.
+**
+**  OUTPUT:
+**
+**      gckCOMMAND * Command
+**          Pointer to a variable that will hold the pointer to the gckCOMMAND
+**          object.
+*/
+gceSTATUS
+gckCOMMAND_Construct(
+    IN gckKERNEL Kernel,
+    OUT gckCOMMAND * Command
+    )
+{
+    gckOS os;
+    gckCOMMAND command = gcvNULL;
+    gceSTATUS status;
+    gctINT i;
+    gctPOINTER pointer = gcvNULL;
+
+    gcmkHEADER_ARG("Kernel=0x%x", Kernel);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Kernel, gcvOBJ_KERNEL);
+    gcmkVERIFY_ARGUMENT(Command != gcvNULL);
+
+    /* Extract the gckOS object. */
+    os = Kernel->os;
+
+    /* Allocate the gckCOMMAND structure. */
+    gcmkONERROR(gckOS_Allocate(os, gcmSIZEOF(struct _gckCOMMAND), &pointer));
+    command = pointer;
+
+    /* Reset the entire object. */
+    gcmkONERROR(gckOS_ZeroMemory(command, gcmSIZEOF(struct _gckCOMMAND)));
+
+    /* Initialize the gckCOMMAND object.*/
+    command->object.type    = gcvOBJ_COMMAND;
+    command->kernel         = Kernel;
+    command->os             = os;
+
+    /* Get the command buffer requirements. */
+    gcmkONERROR(gckHARDWARE_QueryCommandBuffer(
+        Kernel->hardware,
+        &command->alignment,
+        &command->reservedHead,
+        &command->reservedTail
+        ));
+
+    /* Create the command queue mutex. */
+    gcmkONERROR(gckOS_CreateMutex(os, &command->mutexQueue));
+
+    /* Create the context switching mutex. */
+    gcmkONERROR(gckOS_CreateMutex(os, &command->mutexContext));
+
+#if VIVANTE_PROFILER_CONTEXT
+    /* Create the context switching mutex. */
+    gcmkONERROR(gckOS_CreateMutex(os, &command->mutexContextSeq));
+#endif
+
+    /* Create the power management semaphore. */
+    gcmkONERROR(gckOS_CreateSemaphore(os, &command->powerSemaphore));
+
+    /* Create the commit atom. */
+    gcmkONERROR(gckOS_AtomConstruct(os, &command->atomCommit));
+
+    /* Get the page size from teh OS. */
+    gcmkONERROR(gckOS_GetPageSize(os, &command->pageSize));
+
+    /* Get process ID. */
+    gcmkONERROR(gckOS_GetProcessID(&command->kernelProcessID));
+
+    /* Set hardware to pipe 0. */
+    command->pipeSelect = gcvPIPE_INVALID;
+
+    /* Pre-allocate the command queues. */
+    for (i = 0; i < gcdCOMMAND_QUEUES; ++i)
+    {
+        gcmkONERROR(gckOS_AllocateNonPagedMemory(
+            os,
+            gcvFALSE,
+            &command->pageSize,
+            &command->queues[i].physical,
+            &command->queues[i].logical
+            ));
+
+        gcmkONERROR(gckOS_CreateSignal(
+            os, gcvFALSE, &command->queues[i].signal
+            ));
+
+        gcmkONERROR(gckOS_Signal(
+            os, command->queues[i].signal, gcvTRUE
+            ));
+    }
+
+    /* No command queue in use yet. */
+    command->index    = -1;
+    command->logical  = gcvNULL;
+    command->newQueue = gcvFALSE;
+
+    /* Command is not yet running. */
+    command->running = gcvFALSE;
+
+    /* Command queue is idle. */
+    command->idle = gcvTRUE;
+
+    /* Commit stamp is zero. */
+    command->commitStamp = 0;
+
+    /* END event signal not created. */
+    command->endEventSignal = gcvNULL;
+
+    /* Return pointer to the gckCOMMAND object. */
+    *Command = command;
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Command=0x%x", *Command);
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Roll back. */
+    if (command != gcvNULL)
+    {
+        if (command->atomCommit != gcvNULL)
+        {
+            gcmkVERIFY_OK(gckOS_AtomDestroy(os, command->atomCommit));
+        }
+
+        if (command->powerSemaphore != gcvNULL)
+        {
+            gcmkVERIFY_OK(gckOS_DestroySemaphore(os, command->powerSemaphore));
+        }
+
+        if (command->mutexContext != gcvNULL)
+        {
+            gcmkVERIFY_OK(gckOS_DeleteMutex(os, command->mutexContext));
+        }
+
+#if VIVANTE_PROFILER_CONTEXT
+        if (command->mutexContextSeq != gcvNULL)
+        {
+            gcmkVERIFY_OK(gckOS_DeleteMutex(os, command->mutexContextSeq));
+        }
+#endif
+
+        if (command->mutexQueue != gcvNULL)
+        {
+            gcmkVERIFY_OK(gckOS_DeleteMutex(os, command->mutexQueue));
+        }
+
+        for (i = 0; i < gcdCOMMAND_QUEUES; ++i)
+        {
+            if (command->queues[i].signal != gcvNULL)
+            {
+                gcmkVERIFY_OK(gckOS_DestroySignal(
+                    os, command->queues[i].signal
+                    ));
+            }
+
+            if (command->queues[i].logical != gcvNULL)
+            {
+                gcmkVERIFY_OK(gckOS_FreeNonPagedMemory(
+                    os,
+                    command->pageSize,
+                    command->queues[i].physical,
+                    command->queues[i].logical
+                    ));
+            }
+        }
+
+        gcmkVERIFY_OK(gcmkOS_SAFE_FREE(os, command));
+    }
+
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckCOMMAND_Destroy
+**
+**  Destroy an gckCOMMAND object.
+**
+**  INPUT:
+**
+**      gckCOMMAND Command
+**          Pointer to an gckCOMMAND object to destroy.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckCOMMAND_Destroy(
+    IN gckCOMMAND Command
+    )
+{
+    gctINT i;
+
+    gcmkHEADER_ARG("Command=0x%x", Command);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Command, gcvOBJ_COMMAND);
+
+    /* Stop the command queue. */
+    gcmkVERIFY_OK(gckCOMMAND_Stop(Command, gcvFALSE));
+
+    for (i = 0; i < gcdCOMMAND_QUEUES; ++i)
+    {
+        gcmkASSERT(Command->queues[i].signal != gcvNULL);
+        gcmkVERIFY_OK(gckOS_DestroySignal(
+            Command->os, Command->queues[i].signal
+            ));
+
+        gcmkASSERT(Command->queues[i].logical != gcvNULL);
+        gcmkVERIFY_OK(gckOS_FreeNonPagedMemory(
+            Command->os,
+            Command->pageSize,
+            Command->queues[i].physical,
+            Command->queues[i].logical
+            ));
+    }
+
+    /* END event signal. */
+    if (Command->endEventSignal != gcvNULL)
+    {
+        gcmkVERIFY_OK(gckOS_DestroySignal(
+            Command->os, Command->endEventSignal
+            ));
+    }
+
+    /* Delete the context switching mutex. */
+    gcmkVERIFY_OK(gckOS_DeleteMutex(Command->os, Command->mutexContext));
+
+#if VIVANTE_PROFILER_CONTEXT
+    if (Command->mutexContextSeq != gcvNULL)
+        gcmkVERIFY_OK(gckOS_DeleteMutex(Command->os, Command->mutexContextSeq));
+#endif
+
+    /* Delete the command queue mutex. */
+    gcmkVERIFY_OK(gckOS_DeleteMutex(Command->os, Command->mutexQueue));
+
+    /* Destroy the power management semaphore. */
+    gcmkVERIFY_OK(gckOS_DestroySemaphore(Command->os, Command->powerSemaphore));
+
+    /* Destroy the commit atom. */
+    gcmkVERIFY_OK(gckOS_AtomDestroy(Command->os, Command->atomCommit));
+
+#if gcdSECURE_USER
+    /* Free state array. */
+    if (Command->hintArrayAllocated)
+    {
+        gcmkVERIFY_OK(gcmkOS_SAFE_FREE(Command->os, gcmUINT64_TO_PTR(Command->hintArray)));
+        Command->hintArrayAllocated = gcvFALSE;
+    }
+#endif
+
+    /* Mark object as unknown. */
+    Command->object.type = gcvOBJ_UNKNOWN;
+
+    /* Free the gckCOMMAND object. */
+    gcmkVERIFY_OK(gcmkOS_SAFE_FREE(Command->os, Command));
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckCOMMAND_EnterCommit
+**
+**  Acquire command queue synchronization objects.
+**
+**  INPUT:
+**
+**      gckCOMMAND Command
+**          Pointer to an gckCOMMAND object to destroy.
+**
+**      gctBOOL FromPower
+**          Determines whether the call originates from inside the power
+**          management or not.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckCOMMAND_EnterCommit(
+    IN gckCOMMAND Command,
+    IN gctBOOL FromPower
+    )
+{
+    gceSTATUS status;
+    gckHARDWARE hardware;
+    gctBOOL atomIncremented = gcvFALSE;
+    gctBOOL semaAcquired = gcvFALSE;
+
+    gcmkHEADER_ARG("Command=0x%x", Command);
+
+    /* Extract the gckHARDWARE and gckEVENT objects. */
+    hardware = Command->kernel->hardware;
+    gcmkVERIFY_OBJECT(hardware, gcvOBJ_HARDWARE);
+
+    if (!FromPower)
+    {
+        /* Increment COMMIT atom to let power management know that a commit is
+        ** in progress. */
+        gcmkONERROR(_IncrementCommitAtom(Command, gcvTRUE));
+        atomIncremented = gcvTRUE;
+
+        /* Notify the system the GPU has a commit. */
+        gcmkONERROR(gckOS_Broadcast(Command->os,
+                                    hardware,
+                                    gcvBROADCAST_GPU_COMMIT));
+
+        /* Acquire the power management semaphore. */
+        gcmkONERROR(gckOS_AcquireSemaphore(Command->os,
+                                           Command->powerSemaphore));
+        semaAcquired = gcvTRUE;
+    }
+
+    /* Grab the conmmand queue mutex. */
+    gcmkONERROR(gckOS_AcquireMutex(Command->os,
+                                   Command->mutexQueue,
+                                   gcvINFINITE));
+
+    /* Success. */
+    gcmkFOOTER();
+    return gcvSTATUS_OK;
+
+OnError:
+    if (semaAcquired)
+    {
+        /* Release the power management semaphore. */
+        gcmkVERIFY_OK(gckOS_ReleaseSemaphore(
+            Command->os, Command->powerSemaphore
+            ));
+    }
+
+    if (atomIncremented)
+    {
+        /* Decrement the commit atom. */
+        gcmkVERIFY_OK(_IncrementCommitAtom(
+            Command, gcvFALSE
+            ));
+    }
+
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckCOMMAND_ExitCommit
+**
+**  Release command queue synchronization objects.
+**
+**  INPUT:
+**
+**      gckCOMMAND Command
+**          Pointer to an gckCOMMAND object to destroy.
+**
+**      gctBOOL FromPower
+**          Determines whether the call originates from inside the power
+**          management or not.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckCOMMAND_ExitCommit(
+    IN gckCOMMAND Command,
+    IN gctBOOL FromPower
+    )
+{
+    gceSTATUS status;
+
+    gcmkHEADER_ARG("Command=0x%x", Command);
+
+    /* Release the power mutex. */
+    gcmkONERROR(gckOS_ReleaseMutex(Command->os, Command->mutexQueue));
+
+    if (!FromPower)
+    {
+        /* Release the power management semaphore. */
+        gcmkONERROR(gckOS_ReleaseSemaphore(Command->os,
+                                           Command->powerSemaphore));
+
+        /* Decrement the commit atom. */
+        gcmkONERROR(_IncrementCommitAtom(Command, gcvFALSE));
+    }
+
+    /* Success. */
+    gcmkFOOTER();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckCOMMAND_Start
+**
+**  Start up the command queue.
+**
+**  INPUT:
+**
+**      gckCOMMAND Command
+**          Pointer to an gckCOMMAND object to start.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckCOMMAND_Start(
+    IN gckCOMMAND Command
+    )
+{
+    gceSTATUS status;
+    gckHARDWARE hardware;
+    gctUINT32 waitOffset;
+    gctSIZE_T waitLinkBytes;
+
+    gcmkHEADER_ARG("Command=0x%x", Command);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Command, gcvOBJ_COMMAND);
+
+    if (Command->running)
+    {
+        /* Command queue already running. */
+        gcmkFOOTER_NO();
+        return gcvSTATUS_OK;
+    }
+
+    /* Extract the gckHARDWARE object. */
+    hardware = Command->kernel->hardware;
+    gcmkVERIFY_OBJECT(hardware, gcvOBJ_HARDWARE);
+
+    if (Command->logical == gcvNULL)
+    {
+        /* Start at beginning of a new queue. */
+        gcmkONERROR(_NewQueue(Command));
+    }
+
+    /* Start at beginning of page. */
+    Command->offset = 0;
+
+    /* Set abvailable number of bytes for WAIT/LINK command sequence. */
+    waitLinkBytes = Command->pageSize;
+
+    /* Append WAIT/LINK. */
+    gcmkONERROR(gckHARDWARE_WaitLink(
+        hardware,
+        Command->logical,
+        0,
+        &waitLinkBytes,
+        &waitOffset,
+        &Command->waitSize
+        ));
+
+    Command->waitLogical  = (gctUINT8_PTR) Command->logical  + waitOffset;
+    Command->waitPhysical = (gctUINT8_PTR) Command->physical + waitOffset;
+
+#if gcdNONPAGED_MEMORY_CACHEABLE
+    /* Flush the cache for the wait/link. */
+    gcmkONERROR(gckOS_CacheClean(
+        Command->os,
+        Command->kernelProcessID,
+        gcvNULL,
+        Command->physical,
+        Command->logical,
+        waitLinkBytes
+        ));
+#endif
+
+    /* Adjust offset. */
+    Command->offset   = waitLinkBytes;
+    Command->newQueue = gcvFALSE;
+
+    /* Enable command processor. */
+#ifdef __QNXNTO__
+    gcmkONERROR(gckHARDWARE_Execute(
+        hardware,
+        Command->logical,
+        Command->physical,
+        gcvTRUE,
+        waitLinkBytes
+        ));
+#else
+    gcmkONERROR(gckHARDWARE_Execute(
+        hardware,
+        Command->logical,
+        waitLinkBytes
+        ));
+#endif
+
+    /* Command queue is running. */
+    Command->running = gcvTRUE;
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckCOMMAND_Stop
+**
+**  Stop the command queue.
+**
+**  INPUT:
+**
+**      gckCOMMAND Command
+**          Pointer to an gckCOMMAND object to stop.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckCOMMAND_Stop(
+    IN gckCOMMAND Command,
+    IN gctBOOL FromRecovery
+    )
+{
+    gckHARDWARE hardware;
+    gceSTATUS status;
+    gctUINT32 idle;
+
+    gcmkHEADER_ARG("Command=0x%x", Command);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Command, gcvOBJ_COMMAND);
+
+    if (!Command->running)
+    {
+        /* Command queue is not running. */
+        gcmkFOOTER_NO();
+        return gcvSTATUS_OK;
+    }
+
+    /* Extract the gckHARDWARE object. */
+    hardware = Command->kernel->hardware;
+    gcmkVERIFY_OBJECT(hardware, gcvOBJ_HARDWARE);
+
+    if (gckHARDWARE_IsFeatureAvailable(hardware,
+                                       gcvFEATURE_END_EVENT) == gcvSTATUS_TRUE)
+    {
+        /* Allocate the signal. */
+        if (Command->endEventSignal == gcvNULL)
+        {
+            gcmkONERROR(gckOS_CreateSignal(Command->os,
+                                           gcvTRUE,
+                                           &Command->endEventSignal));
+        }
+
+        /* Append the END EVENT command to trigger the signal. */
+        gcmkONERROR(gckEVENT_Stop(Command->kernel->eventObj,
+                                  Command->kernelProcessID,
+                                  Command->waitPhysical,
+                                  Command->waitLogical,
+                                  Command->endEventSignal,
+                                                                 &Command->waitSize));
+    }
+    else
+    {
+        /* Replace last WAIT with END. */
+        gcmkONERROR(gckHARDWARE_End(
+            hardware, Command->waitLogical, &Command->waitSize
+            ));
+
+        /* Update queue tail pointer. */
+        gcmkONERROR(gckHARDWARE_UpdateQueueTail(Command->kernel->hardware,
+                                                Command->logical,
+                                                Command->offset));
+
+#if gcdNONPAGED_MEMORY_CACHEABLE
+        /* Flush the cache for the END. */
+        gcmkONERROR(gckOS_CacheClean(
+            Command->os,
+            Command->kernelProcessID,
+            gcvNULL,
+            Command->waitPhysical,
+            Command->waitLogical,
+            Command->waitSize
+            ));
+#endif
+
+        /* Wait for idle. */
+        gcmkONERROR(gckHARDWARE_GetIdle(hardware, !FromRecovery, &idle));
+    }
+
+    /* Command queue is no longer running. */
+    Command->running = gcvFALSE;
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckCOMMAND_Commit
+**
+**  Commit a command buffer to the command queue.
+**
+**  INPUT:
+**
+**      gckCOMMAND Command
+**          Pointer to a gckCOMMAND object.
+**
+**      gckCONTEXT Context
+**          Pointer to a gckCONTEXT object.
+**
+**      gcoCMDBUF CommandBuffer
+**          Pointer to a gcoCMDBUF object.
+**
+**      gcsSTATE_DELTA_PTR StateDelta
+**          Pointer to the state delta.
+**
+**      gctUINT32 ProcessID
+**          Current process ID.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckCOMMAND_Commit(
+    IN gckCOMMAND Command,
+    IN gckCONTEXT Context,
+    IN gcoCMDBUF CommandBuffer,
+    IN gcsSTATE_DELTA_PTR StateDelta,
+    IN gcsQUEUE_PTR EventQueue,
+    IN gctUINT32 ProcessID
+    )
+{
+    gceSTATUS status;
+    gctBOOL commitEntered = gcvFALSE;
+    gctBOOL contextAcquired = gcvFALSE;
+    gckHARDWARE hardware;
+    gctBOOL needCopy = gcvFALSE;
+    gcsQUEUE_PTR eventRecord = gcvNULL;
+    gcsQUEUE _eventRecord;
+    gcsQUEUE_PTR nextEventRecord;
+    gctBOOL commandBufferMapped = gcvFALSE;
+    gcoCMDBUF commandBufferObject = gcvNULL;
+
+#if !gcdNULL_DRIVER
+    gcsCONTEXT_PTR contextBuffer;
+    struct _gcoCMDBUF _commandBufferObject;
+    gctPHYS_ADDR commandBufferPhysical;
+    gctUINT8_PTR commandBufferLogical;
+    gctUINT8_PTR commandBufferLink;
+    gctUINT commandBufferSize;
+    gctSIZE_T nopBytes;
+    gctSIZE_T pipeBytes;
+    gctSIZE_T linkBytes;
+    gctSIZE_T bytes;
+    gctUINT32 offset;
+#if gcdNONPAGED_MEMORY_CACHEABLE
+    gctPHYS_ADDR entryPhysical;
+#endif
+    gctPOINTER entryLogical;
+    gctSIZE_T entryBytes;
+#if gcdNONPAGED_MEMORY_CACHEABLE
+    gctPHYS_ADDR exitPhysical;
+#endif
+    gctPOINTER exitLogical;
+    gctSIZE_T exitBytes;
+    gctPHYS_ADDR waitLinkPhysical;
+    gctPOINTER waitLinkLogical;
+    gctSIZE_T waitLinkBytes;
+    gctPHYS_ADDR waitPhysical;
+    gctPOINTER waitLogical;
+    gctUINT32 waitOffset;
+    gctSIZE_T waitSize;
+
+#if gcdDUMP_COMMAND
+    gctPOINTER contextDumpLogical = gcvNULL;
+    gctSIZE_T contextDumpBytes = 0;
+    gctPOINTER bufferDumpLogical = gcvNULL;
+    gctSIZE_T bufferDumpBytes = 0;
+# endif
+#endif
+
+#if VIVANTE_PROFILER_CONTEXT
+    gctBOOL sequenceAcquired = gcvFALSE;
+#endif
+
+    gctPOINTER pointer = gcvNULL;
+
+    gcmkHEADER_ARG(
+        "Command=0x%x CommandBuffer=0x%x ProcessID=%d",
+        Command, CommandBuffer, ProcessID
+        );
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Command, gcvOBJ_COMMAND);
+
+    if (Command->kernel->core == gcvCORE_2D)
+    {
+        /* There is no context for 2D. */
+        Context = gcvNULL;
+    }
+
+    gcmkONERROR(_FlushMMU(Command));
+
+#if VIVANTE_PROFILER_CONTEXT
+    if((Command->kernel->hardware->gpuProfiler) && (Command->kernel->profileEnable))
+    {
+        /* Acquire the context sequnence mutex. */
+        gcmkONERROR(gckOS_AcquireMutex(
+            Command->os, Command->mutexContextSeq, gcvINFINITE
+            ));
+        sequenceAcquired = gcvTRUE;
+    }
+#endif
+
+    /* Acquire the command queue. */
+    gcmkONERROR(gckCOMMAND_EnterCommit(Command, gcvFALSE));
+    commitEntered = gcvTRUE;
+
+    /* Acquire the context switching mutex. */
+    gcmkONERROR(gckOS_AcquireMutex(
+        Command->os, Command->mutexContext, gcvINFINITE
+        ));
+    contextAcquired = gcvTRUE;
+
+    /* Extract the gckHARDWARE and gckEVENT objects. */
+    hardware = Command->kernel->hardware;
+
+    /* Check wehther we need to copy the structures or not. */
+    gcmkONERROR(gckOS_QueryNeedCopy(Command->os, ProcessID, &needCopy));
+
+#if gcdNULL_DRIVER
+    /* Context switch required? */
+    if ((Context != gcvNULL) && (Command->currContext != Context))
+    {
+        /* Yes, merge in the deltas. */
+        gckCONTEXT_Update(Context, ProcessID, StateDelta);
+
+               /* Update the current context. */
+               Command->currContext = Context;
+       }
+#else
+    if (needCopy)
+    {
+        commandBufferObject = &_commandBufferObject;
+
+        gcmkONERROR(gckOS_CopyFromUserData(
+            Command->os,
+            commandBufferObject,
+            CommandBuffer,
+            gcmSIZEOF(struct _gcoCMDBUF)
+            ));
+
+        gcmkVERIFY_OBJECT(commandBufferObject, gcvOBJ_COMMANDBUFFER);
+    }
+    else
+    {
+        gcmkONERROR(gckOS_MapUserPointer(
+            Command->os,
+            CommandBuffer,
+            gcmSIZEOF(struct _gcoCMDBUF),
+            &pointer
+            ));
+
+        commandBufferObject = pointer;
+
+        gcmkVERIFY_OBJECT(commandBufferObject, gcvOBJ_COMMANDBUFFER);
+        commandBufferMapped = gcvTRUE;
+    }
+
+    /* Query the size of NOP command. */
+    gcmkONERROR(gckHARDWARE_Nop(
+        hardware, gcvNULL, &nopBytes
+        ));
+
+    /* Query the size of pipe select command sequence. */
+    gcmkONERROR(gckHARDWARE_PipeSelect(
+        hardware, gcvNULL, gcvPIPE_3D, &pipeBytes
+        ));
+
+    /* Query the size of LINK command. */
+    gcmkONERROR(gckHARDWARE_Link(
+        hardware, gcvNULL, gcvNULL, 0, &linkBytes
+        ));
+
+    /* Compute the command buffer entry and the size. */
+    commandBufferLogical
+        = (gctUINT8_PTR) gcmUINT64_TO_PTR(commandBufferObject->logical)
+        +                commandBufferObject->startOffset;
+
+    gcmkONERROR(gckOS_GetPhysicalAddress(
+        Command->os,
+        commandBufferLogical,
+        (gctUINT32_PTR)&commandBufferPhysical
+        ));
+
+    commandBufferSize
+        = commandBufferObject->offset
+        + Command->reservedTail
+        - commandBufferObject->startOffset;
+
+    /* Get the current offset. */
+    offset = Command->offset;
+
+    /* Compute number of bytes left in current kernel command queue. */
+    bytes = Command->pageSize - offset;
+
+    /* Query the size of WAIT/LINK command sequence. */
+    gcmkONERROR(gckHARDWARE_WaitLink(
+        hardware,
+        gcvNULL,
+        offset,
+        &waitLinkBytes,
+        gcvNULL,
+        gcvNULL
+        ));
+
+    /* Is there enough space in the current command queue? */
+    if (bytes < waitLinkBytes)
+    {
+        /* No, create a new one. */
+        gcmkONERROR(_NewQueue(Command));
+
+        /* Get the new current offset. */
+        offset = Command->offset;
+
+        /* Recompute the number of bytes in the new kernel command queue. */
+        bytes = Command->pageSize - offset;
+        gcmkASSERT(bytes >= waitLinkBytes);
+    }
+
+    /* Compute the location if WAIT/LINK command sequence. */
+    waitLinkPhysical = (gctUINT8_PTR) Command->physical + offset;
+    waitLinkLogical  = (gctUINT8_PTR) Command->logical  + offset;
+
+    /* Context switch required? */
+    if (Context == gcvNULL)
+    {
+        /* See if we have to switch pipes for the command buffer. */
+        if (commandBufferObject->entryPipe == Command->pipeSelect)
+        {
+            /* Skip pipe switching sequence. */
+            offset = pipeBytes;
+        }
+        else
+        {
+            /* The current hardware and the entry command buffer pipes
+            ** are different, switch to the correct pipe. */
+            gcmkONERROR(gckHARDWARE_PipeSelect(
+                Command->kernel->hardware,
+                commandBufferLogical,
+                commandBufferObject->entryPipe,
+                &pipeBytes
+                ));
+
+            /* Do not skip pipe switching sequence. */
+            offset = 0;
+        }
+
+        /* Compute the entry. */
+#if gcdNONPAGED_MEMORY_CACHEABLE
+        entryPhysical = (gctUINT8_PTR) commandBufferPhysical + offset;
+#endif
+        entryLogical  =                commandBufferLogical  + offset;
+        entryBytes    =                commandBufferSize     - offset;
+    }
+    else if (Command->currContext != Context)
+    {
+        /* Temporary disable context length oprimization. */
+        Context->dirty = gcvTRUE;
+
+        /* Get the current context buffer. */
+        contextBuffer = Context->buffer;
+
+        /* Yes, merge in the deltas. */
+        gcmkONERROR(gckCONTEXT_Update(Context, ProcessID, StateDelta));
+
+        /* Determine context entry and exit points. */
+        if (0)
+        {
+            /* Reset 2D dirty flag. */
+            Context->dirty2D = gcvFALSE;
+
+            if (Context->dirty || commandBufferObject->using3D)
+            {
+                /***************************************************************
+                ** SWITCHING CONTEXT: 2D and 3D are used.
+                */
+
+                /* Reset 3D dirty flag. */
+                Context->dirty3D = gcvFALSE;
+
+                /* Compute the entry. */
+                if (Command->pipeSelect == gcvPIPE_2D)
+                {
+#if gcdNONPAGED_MEMORY_CACHEABLE
+                    entryPhysical = (gctUINT8_PTR) contextBuffer->physical + pipeBytes;
+#endif
+                    entryLogical  = (gctUINT8_PTR) contextBuffer->logical  + pipeBytes;
+                    entryBytes    =                Context->bufferSize     - pipeBytes;
+                }
+                else
+                {
+#if gcdNONPAGED_MEMORY_CACHEABLE
+                    entryPhysical = (gctUINT8_PTR) contextBuffer->physical;
+#endif
+                    entryLogical  = (gctUINT8_PTR) contextBuffer->logical;
+                    entryBytes    =                Context->bufferSize;
+                }
+
+                /* See if we have to switch pipes between the context
+                   and command buffers. */
+                if (commandBufferObject->entryPipe == gcvPIPE_3D)
+                {
+                    /* Skip pipe switching sequence. */
+                    offset = pipeBytes;
+                }
+                else
+                {
+                    /* The current hardware and the initial context pipes are
+                       different, switch to the correct pipe. */
+                    gcmkONERROR(gckHARDWARE_PipeSelect(
+                        Command->kernel->hardware,
+                        commandBufferLogical,
+                        commandBufferObject->entryPipe,
+                        &pipeBytes
+                        ));
+
+                    /* Do not skip pipe switching sequence. */
+                    offset = 0;
+                }
+
+                /* Ensure the NOP between 2D and 3D is in place so that the
+                   execution falls through from 2D to 3D. */
+                gcmkONERROR(gckHARDWARE_Nop(
+                    hardware,
+                    contextBuffer->link2D,
+                    &nopBytes
+                    ));
+
+                /* Generate a LINK from the context buffer to
+                   the command buffer. */
+                gcmkONERROR(gckHARDWARE_Link(
+                    hardware,
+                    contextBuffer->link3D,
+                    commandBufferLogical + offset,
+                    commandBufferSize    - offset,
+                    &linkBytes
+                    ));
+
+                /* Mark context as not dirty. */
+                Context->dirty = gcvFALSE;
+            }
+            else
+            {
+                /***************************************************************
+                ** SWITCHING CONTEXT: 2D only command buffer.
+                */
+
+                /* Mark 3D as dirty. */
+                Context->dirty3D = gcvTRUE;
+
+                /* Compute the entry. */
+                if (Command->pipeSelect == gcvPIPE_2D)
+                {
+#if gcdNONPAGED_MEMORY_CACHEABLE
+                    entryPhysical = (gctUINT8_PTR) contextBuffer->physical + pipeBytes;
+#endif
+                    entryLogical  = (gctUINT8_PTR) contextBuffer->logical  + pipeBytes;
+                    entryBytes    =                Context->entryOffset3D  - pipeBytes;
+                }
+                else
+                {
+#if gcdNONPAGED_MEMORY_CACHEABLE
+                    entryPhysical = (gctUINT8_PTR) contextBuffer->physical;
+#endif
+                    entryLogical  = (gctUINT8_PTR) contextBuffer->logical;
+                    entryBytes    =                Context->entryOffset3D;
+                }
+
+                /* Store the current context buffer. */
+                Context->dirtyBuffer = contextBuffer;
+
+                /* See if we have to switch pipes between the context
+                   and command buffers. */
+                if (commandBufferObject->entryPipe == gcvPIPE_2D)
+                {
+                    /* Skip pipe switching sequence. */
+                    offset = pipeBytes;
+                }
+                else
+                {
+                    /* The current hardware and the initial context pipes are
+                       different, switch to the correct pipe. */
+                    gcmkONERROR(gckHARDWARE_PipeSelect(
+                        Command->kernel->hardware,
+                        commandBufferLogical,
+                        commandBufferObject->entryPipe,
+                        &pipeBytes
+                        ));
+
+                    /* Do not skip pipe switching sequence. */
+                    offset = 0;
+                }
+
+                /* 3D is not used, generate a LINK from the end of 2D part of
+                   the context buffer to the command buffer. */
+                gcmkONERROR(gckHARDWARE_Link(
+                    hardware,
+                    contextBuffer->link2D,
+                    commandBufferLogical + offset,
+                    commandBufferSize    - offset,
+                    &linkBytes
+                    ));
+            }
+        }
+
+        /* Not using 2D. */
+        else
+        {
+            /* Mark 2D as dirty. */
+            Context->dirty2D = gcvTRUE;
+
+            /* Store the current context buffer. */
+            Context->dirtyBuffer = contextBuffer;
+
+            if (Context->dirty || commandBufferObject->using3D)
+            {
+                /***************************************************************
+                ** SWITCHING CONTEXT: 3D only command buffer.
+                */
+
+                /* Reset 3D dirty flag. */
+                Context->dirty3D = gcvFALSE;
+
+                /* Determine context buffer entry offset. */
+                offset = (Command->pipeSelect == gcvPIPE_3D)
+
+                    /* Skip pipe switching sequence. */
+                    ? Context->entryOffset3D + pipeBytes
+
+                    /* Do not skip pipe switching sequence. */
+                    : Context->entryOffset3D;
+
+                /* Compute the entry. */
+#if gcdNONPAGED_MEMORY_CACHEABLE
+                entryPhysical = (gctUINT8_PTR) contextBuffer->physical + offset;
+#endif
+                entryLogical  = (gctUINT8_PTR) contextBuffer->logical  + offset;
+                entryBytes    =                Context->bufferSize     - offset;
+
+                /* See if we have to switch pipes between the context
+                   and command buffers. */
+                if (commandBufferObject->entryPipe == gcvPIPE_3D)
+                {
+                    /* Skip pipe switching sequence. */
+                    offset = pipeBytes;
+                }
+                else
+                {
+                    /* The current hardware and the initial context pipes are
+                       different, switch to the correct pipe. */
+                    gcmkONERROR(gckHARDWARE_PipeSelect(
+                        Command->kernel->hardware,
+                        commandBufferLogical,
+                        commandBufferObject->entryPipe,
+                        &pipeBytes
+                        ));
+
+                    /* Do not skip pipe switching sequence. */
+                    offset = 0;
+                }
+
+                /* Generate a LINK from the context buffer to
+                   the command buffer. */
+                gcmkONERROR(gckHARDWARE_Link(
+                    hardware,
+                    contextBuffer->link3D,
+                    commandBufferLogical + offset,
+                    commandBufferSize    - offset,
+                    &linkBytes
+                    ));
+            }
+            else
+            {
+                /***************************************************************
+                ** SWITCHING CONTEXT: "XD" command buffer - neither 2D nor 3D.
+                */
+
+                /* Mark 3D as dirty. */
+                Context->dirty3D = gcvTRUE;
+
+                /* Compute the entry. */
+                if (Command->pipeSelect == gcvPIPE_3D)
+                {
+#if gcdNONPAGED_MEMORY_CACHEABLE
+                    entryPhysical
+                        = (gctUINT8_PTR) contextBuffer->physical
+                        + Context->entryOffsetXDFrom3D;
+#endif
+                    entryLogical
+                        = (gctUINT8_PTR) contextBuffer->logical
+                        + Context->entryOffsetXDFrom3D;
+
+                    entryBytes
+                        = Context->bufferSize
+                        - Context->entryOffsetXDFrom3D;
+                }
+                else
+                {
+#if gcdNONPAGED_MEMORY_CACHEABLE
+                    entryPhysical
+                        = (gctUINT8_PTR) contextBuffer->physical
+                        + Context->entryOffsetXDFrom2D;
+#endif
+                    entryLogical
+                        = (gctUINT8_PTR) contextBuffer->logical
+                        + Context->entryOffsetXDFrom2D;
+
+                    entryBytes
+                        = Context->totalSize
+                        - Context->entryOffsetXDFrom2D;
+                }
+
+                /* See if we have to switch pipes between the context
+                   and command buffers. */
+                if (commandBufferObject->entryPipe == gcvPIPE_3D)
+                {
+                    /* Skip pipe switching sequence. */
+                    offset = pipeBytes;
+                }
+                else
+                {
+                    /* The current hardware and the initial context pipes are
+                       different, switch to the correct pipe. */
+                    gcmkONERROR(gckHARDWARE_PipeSelect(
+                        Command->kernel->hardware,
+                        commandBufferLogical,
+                        commandBufferObject->entryPipe,
+                        &pipeBytes
+                        ));
+
+                    /* Do not skip pipe switching sequence. */
+                    offset = 0;
+                }
+
+                /* Generate a LINK from the context buffer to
+                   the command buffer. */
+                gcmkONERROR(gckHARDWARE_Link(
+                    hardware,
+                    contextBuffer->link3D,
+                    commandBufferLogical + offset,
+                    commandBufferSize    - offset,
+                    &linkBytes
+                    ));
+            }
+        }
+
+#if gcdNONPAGED_MEMORY_CACHEABLE
+        /* Flush the context buffer cache. */
+        gcmkONERROR(gckOS_CacheClean(
+            Command->os,
+            Command->kernelProcessID,
+            gcvNULL,
+            entryPhysical,
+            entryLogical,
+            entryBytes
+            ));
+#endif
+
+        /* Update the current context. */
+        Command->currContext = Context;
+
+#if gcdDUMP_COMMAND
+        contextDumpLogical = entryLogical;
+        contextDumpBytes   = entryBytes;
+#endif
+    }
+
+    /* Same context. */
+    else
+    {
+        /* Determine context entry and exit points. */
+        if (commandBufferObject->using2D && Context->dirty2D)
+        {
+            /* Reset 2D dirty flag. */
+            Context->dirty2D = gcvFALSE;
+
+            /* Get the "dirty" context buffer. */
+            contextBuffer = Context->dirtyBuffer;
+
+            if (commandBufferObject->using3D && Context->dirty3D)
+            {
+                /* Reset 3D dirty flag. */
+                Context->dirty3D = gcvFALSE;
+
+                /* Compute the entry. */
+                if (Command->pipeSelect == gcvPIPE_2D)
+                {
+#if gcdNONPAGED_MEMORY_CACHEABLE
+                    entryPhysical = (gctUINT8_PTR) contextBuffer->physical + pipeBytes;
+#endif
+                    entryLogical  = (gctUINT8_PTR) contextBuffer->logical  + pipeBytes;
+                    entryBytes    =                Context->bufferSize     - pipeBytes;
+                }
+                else
+                {
+#if gcdNONPAGED_MEMORY_CACHEABLE
+                    entryPhysical = (gctUINT8_PTR) contextBuffer->physical;
+#endif
+                    entryLogical  = (gctUINT8_PTR) contextBuffer->logical;
+                    entryBytes    =                Context->bufferSize;
+                }
+
+                /* See if we have to switch pipes between the context
+                   and command buffers. */
+                if (commandBufferObject->entryPipe == gcvPIPE_3D)
+                {
+                    /* Skip pipe switching sequence. */
+                    offset = pipeBytes;
+                }
+                else
+                {
+                    /* The current hardware and the initial context pipes are
+                       different, switch to the correct pipe. */
+                    gcmkONERROR(gckHARDWARE_PipeSelect(
+                        Command->kernel->hardware,
+                        commandBufferLogical,
+                        commandBufferObject->entryPipe,
+                        &pipeBytes
+                        ));
+
+                    /* Do not skip pipe switching sequence. */
+                    offset = 0;
+                }
+
+                /* Ensure the NOP between 2D and 3D is in place so that the
+                   execution falls through from 2D to 3D. */
+                gcmkONERROR(gckHARDWARE_Nop(
+                    hardware,
+                    contextBuffer->link2D,
+                    &nopBytes
+                    ));
+
+                /* Generate a LINK from the context buffer to
+                   the command buffer. */
+                gcmkONERROR(gckHARDWARE_Link(
+                    hardware,
+                    contextBuffer->link3D,
+                    commandBufferLogical + offset,
+                    commandBufferSize    - offset,
+                    &linkBytes
+                    ));
+            }
+            else
+            {
+                /* Compute the entry. */
+                if (Command->pipeSelect == gcvPIPE_2D)
+                {
+#if gcdNONPAGED_MEMORY_CACHEABLE
+                    entryPhysical = (gctUINT8_PTR) contextBuffer->physical + pipeBytes;
+#endif
+                    entryLogical  = (gctUINT8_PTR) contextBuffer->logical  + pipeBytes;
+                    entryBytes    =                Context->entryOffset3D  - pipeBytes;
+                }
+                else
+                {
+#if gcdNONPAGED_MEMORY_CACHEABLE
+                    entryPhysical = (gctUINT8_PTR) contextBuffer->physical;
+#endif
+                    entryLogical  = (gctUINT8_PTR) contextBuffer->logical;
+                    entryBytes    =                Context->entryOffset3D;
+                }
+
+                /* See if we have to switch pipes between the context
+                   and command buffers. */
+                if (commandBufferObject->entryPipe == gcvPIPE_2D)
+                {
+                    /* Skip pipe switching sequence. */
+                    offset = pipeBytes;
+                }
+                else
+                {
+                    /* The current hardware and the initial context pipes are
+                       different, switch to the correct pipe. */
+                    gcmkONERROR(gckHARDWARE_PipeSelect(
+                        Command->kernel->hardware,
+                        commandBufferLogical,
+                        commandBufferObject->entryPipe,
+                        &pipeBytes
+                        ));
+
+                    /* Do not skip pipe switching sequence. */
+                    offset = 0;
+                }
+
+                /* 3D is not used, generate a LINK from the end of 2D part of
+                   the context buffer to the command buffer. */
+                gcmkONERROR(gckHARDWARE_Link(
+                    hardware,
+                    contextBuffer->link2D,
+                    commandBufferLogical + offset,
+                    commandBufferSize    - offset,
+                    &linkBytes
+                    ));
+            }
+        }
+        else
+        {
+            if (commandBufferObject->using3D && Context->dirty3D)
+            {
+                /* Reset 3D dirty flag. */
+                Context->dirty3D = gcvFALSE;
+
+                /* Get the "dirty" context buffer. */
+                contextBuffer = Context->dirtyBuffer;
+
+                /* Determine context buffer entry offset. */
+                offset = (Command->pipeSelect == gcvPIPE_3D)
+
+                    /* Skip pipe switching sequence. */
+                    ? Context->entryOffset3D + pipeBytes
+
+                    /* Do not skip pipe switching sequence. */
+                    : Context->entryOffset3D;
+
+                /* Compute the entry. */
+#if gcdNONPAGED_MEMORY_CACHEABLE
+                entryPhysical = (gctUINT8_PTR) contextBuffer->physical + offset;
+#endif
+                entryLogical  = (gctUINT8_PTR) contextBuffer->logical  + offset;
+                entryBytes    =                Context->bufferSize     - offset;
+
+                /* See if we have to switch pipes between the context
+                   and command buffers. */
+                if (commandBufferObject->entryPipe == gcvPIPE_3D)
+                {
+                    /* Skip pipe switching sequence. */
+                    offset = pipeBytes;
+                }
+                else
+                {
+                    /* The current hardware and the initial context pipes are
+                       different, switch to the correct pipe. */
+                    gcmkONERROR(gckHARDWARE_PipeSelect(
+                        Command->kernel->hardware,
+                        commandBufferLogical,
+                        commandBufferObject->entryPipe,
+                        &pipeBytes
+                        ));
+
+                    /* Do not skip pipe switching sequence. */
+                    offset = 0;
+                }
+
+                /* Generate a LINK from the context buffer to
+                   the command buffer. */
+                gcmkONERROR(gckHARDWARE_Link(
+                    hardware,
+                    contextBuffer->link3D,
+                    commandBufferLogical + offset,
+                    commandBufferSize    - offset,
+                    &linkBytes
+                    ));
+            }
+            else
+            {
+                /* See if we have to switch pipes for the command buffer. */
+                if (commandBufferObject->entryPipe == Command->pipeSelect)
+                {
+                    /* Skip pipe switching sequence. */
+                    offset = pipeBytes;
+                }
+                else
+                {
+                    /* The current hardware and the entry command buffer pipes
+                    ** are different, switch to the correct pipe. */
+                    gcmkONERROR(gckHARDWARE_PipeSelect(
+                        Command->kernel->hardware,
+                        commandBufferLogical,
+                        commandBufferObject->entryPipe,
+                        &pipeBytes
+                        ));
+
+                    /* Do not skip pipe switching sequence. */
+                    offset = 0;
+                }
+
+                /* Compute the entry. */
+#if gcdNONPAGED_MEMORY_CACHEABLE
+                entryPhysical = (gctUINT8_PTR) commandBufferPhysical + offset;
+#endif
+                entryLogical  =                commandBufferLogical  + offset;
+                entryBytes    =                commandBufferSize     - offset;
+            }
+        }
+    }
+
+#if gcdDUMP_COMMAND
+    bufferDumpLogical = commandBufferLogical + offset;
+    bufferDumpBytes   = commandBufferSize    - offset;
+#endif
+
+#if gcdSECURE_USER
+    /* Process user hints. */
+    gcmkONERROR(_ProcessHints(Command, ProcessID, commandBufferObject));
+#endif
+
+    /* Determine the location to jump to for the command buffer being
+    ** scheduled. */
+    if (Command->newQueue)
+    {
+        /* New command queue, jump to the beginning of it. */
+#if gcdNONPAGED_MEMORY_CACHEABLE
+        exitPhysical = Command->physical;
+#endif
+        exitLogical  = Command->logical;
+        exitBytes    = Command->offset + waitLinkBytes;
+    }
+    else
+    {
+        /* Still within the preexisting command queue, jump to the new
+           WAIT/LINK command sequence. */
+#if gcdNONPAGED_MEMORY_CACHEABLE
+        exitPhysical = waitLinkPhysical;
+#endif
+        exitLogical  = waitLinkLogical;
+        exitBytes    = waitLinkBytes;
+    }
+
+    /* Add a new WAIT/LINK command sequence. When the command buffer which is
+       currently being scheduled is fully executed by the GPU, the FE will
+       jump to this WAIT/LINK sequence. */
+    gcmkONERROR(gckHARDWARE_WaitLink(
+        hardware,
+        waitLinkLogical,
+        offset,
+        &waitLinkBytes,
+        &waitOffset,
+        &waitSize
+        ));
+
+    /* Compute the location if WAIT command. */
+    waitPhysical = (gctUINT8_PTR) waitLinkPhysical + waitOffset;
+    waitLogical  = (gctUINT8_PTR) waitLinkLogical  + waitOffset;
+
+#if gcdNONPAGED_MEMORY_CACHEABLE
+    /* Flush the command queue cache. */
+    gcmkONERROR(gckOS_CacheClean(
+        Command->os,
+        Command->kernelProcessID,
+        gcvNULL,
+        exitPhysical,
+        exitLogical,
+        exitBytes
+        ));
+#endif
+
+    /* Determine the location of the LINK command in the command buffer. */
+    commandBufferLink
+        = (gctUINT8_PTR) gcmUINT64_TO_PTR(commandBufferObject->logical)
+        +                commandBufferObject->offset;
+
+    /* Generate a LINK from the end of the command buffer being scheduled
+       back to the kernel command queue. */
+    gcmkONERROR(gckHARDWARE_Link(
+        hardware,
+        commandBufferLink,
+        exitLogical,
+        exitBytes,
+        &linkBytes
+        ));
+
+#if gcdNONPAGED_MEMORY_CACHEABLE
+    /* Flush the command buffer cache. */
+    gcmkONERROR(gckOS_CacheClean(
+        Command->os,
+        ProcessID,
+        gcvNULL,
+        commandBufferPhysical,
+        commandBufferLogical,
+        commandBufferSize
+        ));
+#endif
+
+    /* Generate a LINK from the previous WAIT/LINK command sequence to the
+       entry determined above (either the context or the command buffer).
+       This LINK replaces the WAIT instruction from the previous WAIT/LINK
+       pair, therefore we use WAIT metrics for generation of this LINK.
+       This action will execute the entire sequence. */
+    gcmkONERROR(gckHARDWARE_Link(
+        hardware,
+        Command->waitLogical,
+        entryLogical,
+        entryBytes,
+        &Command->waitSize
+        ));
+
+#if gcdNONPAGED_MEMORY_CACHEABLE
+    /* Flush the cache for the link. */
+    gcmkONERROR(gckOS_CacheClean(
+        Command->os,
+        Command->kernelProcessID,
+        gcvNULL,
+        Command->waitPhysical,
+        Command->waitLogical,
+        Command->waitSize
+        ));
+#endif
+
+    gcmkDUMPCOMMAND(
+        Command->os,
+        Command->waitLogical,
+        Command->waitSize,
+        gceDUMP_BUFFER_LINK,
+        gcvFALSE
+        );
+
+    gcmkDUMPCOMMAND(
+        Command->os,
+        contextDumpLogical,
+        contextDumpBytes,
+        gceDUMP_BUFFER_CONTEXT,
+        gcvFALSE
+        );
+
+    gcmkDUMPCOMMAND(
+        Command->os,
+        bufferDumpLogical,
+        bufferDumpBytes,
+        gceDUMP_BUFFER_USER,
+        gcvFALSE
+        );
+
+    gcmkDUMPCOMMAND(
+        Command->os,
+        waitLinkLogical,
+        waitLinkBytes,
+        gceDUMP_BUFFER_WAITLINK,
+        gcvFALSE
+        );
+
+    /* Update the current pipe. */
+    Command->pipeSelect = commandBufferObject->exitPipe;
+
+    /* Update command queue offset. */
+    Command->offset  += waitLinkBytes;
+    Command->newQueue = gcvFALSE;
+
+    /* Update address of last WAIT. */
+    Command->waitPhysical = waitPhysical;
+    Command->waitLogical  = waitLogical;
+    Command->waitSize     = waitSize;
+
+    /* Update queue tail pointer. */
+    gcmkONERROR(gckHARDWARE_UpdateQueueTail(
+        hardware, Command->logical, Command->offset
+        ));
+
+#if gcdDUMP_COMMAND
+    gcmkPRINT("@[kernel.commit]");
+#endif
+#endif /* gcdNULL_DRIVER */
+
+    /* Release the context switching mutex. */
+    gcmkONERROR(gckOS_ReleaseMutex(Command->os, Command->mutexContext));
+    contextAcquired = gcvFALSE;
+
+    /* Release the command queue. */
+    gcmkONERROR(gckCOMMAND_ExitCommit(Command, gcvFALSE));
+    commitEntered = gcvFALSE;
+
+#if VIVANTE_PROFILER_CONTEXT
+    if(sequenceAcquired)
+    {
+        gcmkONERROR(gckCOMMAND_Stall(Command, gcvTRUE));
+        if (Command->currContext)
+        {
+            gcmkONERROR(gckHARDWARE_UpdateContextProfile(
+                hardware,
+                Command->currContext));
+        }
+
+        /* Release the context switching mutex. */
+        gcmkONERROR(gckOS_ReleaseMutex(Command->os, Command->mutexContextSeq));
+        sequenceAcquired = gcvFALSE;
+    }
+#endif
+
+    /* Loop while there are records in the queue. */
+    while (EventQueue != gcvNULL)
+    {
+        if (needCopy)
+        {
+            /* Point to stack record. */
+            eventRecord = &_eventRecord;
+
+            /* Copy the data from the client. */
+            gcmkONERROR(gckOS_CopyFromUserData(
+                Command->os, eventRecord, EventQueue, gcmSIZEOF(gcsQUEUE)
+                ));
+        }
+        else
+        {
+            /* Map record into kernel memory. */
+            gcmkONERROR(gckOS_MapUserPointer(Command->os,
+                                             EventQueue,
+                                             gcmSIZEOF(gcsQUEUE),
+                                             &pointer));
+
+            eventRecord = pointer;
+        }
+
+        /* Append event record to event queue. */
+        gcmkONERROR(gckEVENT_AddList(
+            Command->kernel->eventObj, &eventRecord->iface, gcvKERNEL_PIXEL, gcvTRUE, gcvFALSE
+            ));
+
+        /* Next record in the queue. */
+        nextEventRecord = gcmUINT64_TO_PTR(eventRecord->next);
+
+        if (!needCopy)
+        {
+            /* Unmap record from kernel memory. */
+            gcmkONERROR(gckOS_UnmapUserPointer(
+                Command->os, EventQueue, gcmSIZEOF(gcsQUEUE), (gctPOINTER *) eventRecord
+                ));
+
+            eventRecord = gcvNULL;
+        }
+
+        EventQueue = nextEventRecord;
+    }
+
+    if (Command->kernel->eventObj->queueHead == gcvNULL
+     && Command->kernel->hardware->powerManagement == gcvTRUE
+    )
+    {
+        /* Commit done event by which work thread knows all jobs done. */
+        gcmkVERIFY_OK(
+            gckEVENT_CommitDone(Command->kernel->eventObj, gcvKERNEL_PIXEL));
+    }
+
+    /* Submit events. */
+    status = gckEVENT_Submit(Command->kernel->eventObj, gcvTRUE, gcvFALSE);
+
+    if (status == gcvSTATUS_INTERRUPTED)
+    {
+        gcmkTRACE(
+            gcvLEVEL_INFO,
+            "%s(%d): Intterupted in gckEVENT_Submit",
+            __FUNCTION__, __LINE__
+            );
+        status = gcvSTATUS_OK;
+    }
+    else
+    {
+        gcmkONERROR(status);
+    }
+
+    /* Unmap the command buffer pointer. */
+    if (commandBufferMapped)
+    {
+        gcmkONERROR(gckOS_UnmapUserPointer(
+            Command->os,
+            CommandBuffer,
+            gcmSIZEOF(struct _gcoCMDBUF),
+            commandBufferObject
+            ));
+
+        commandBufferMapped = gcvFALSE;
+    }
+
+    /* Return status. */
+    gcmkFOOTER();
+    return gcvSTATUS_OK;
+
+OnError:
+    if ((eventRecord != gcvNULL) && !needCopy)
+    {
+        /* Roll back. */
+        gcmkVERIFY_OK(gckOS_UnmapUserPointer(
+            Command->os,
+            EventQueue,
+            gcmSIZEOF(gcsQUEUE),
+            (gctPOINTER *) eventRecord
+            ));
+    }
+
+    if (contextAcquired)
+    {
+        /* Release the context switching mutex. */
+        gcmkVERIFY_OK(gckOS_ReleaseMutex(Command->os, Command->mutexContext));
+    }
+
+    if (commitEntered)
+    {
+        /* Release the command queue mutex. */
+        gcmkVERIFY_OK(gckCOMMAND_ExitCommit(Command, gcvFALSE));
+    }
+
+#if VIVANTE_PROFILER_CONTEXT
+    if (sequenceAcquired)
+    {
+        /* Release the context sequence mutex. */
+        gcmkVERIFY_OK(gckOS_ReleaseMutex(Command->os, Command->mutexContextSeq));
+    }
+#endif
+
+    /* Unmap the command buffer pointer. */
+    if (commandBufferMapped)
+    {
+        gcmkVERIFY_OK(gckOS_UnmapUserPointer(
+            Command->os,
+            CommandBuffer,
+            gcmSIZEOF(struct _gcoCMDBUF),
+            commandBufferObject
+            ));
+    }
+
+    /* Return status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckCOMMAND_Reserve
+**
+**  Reserve space in the command queue.  Also acquire the command queue mutex.
+**
+**  INPUT:
+**
+**      gckCOMMAND Command
+**          Pointer to an gckCOMMAND object.
+**
+**      gctSIZE_T RequestedBytes
+**          Number of bytes previously reserved.
+**
+**  OUTPUT:
+**
+**      gctPOINTER * Buffer
+**          Pointer to a variable that will receive the address of the reserved
+**          space.
+**
+**      gctSIZE_T * BufferSize
+**          Pointer to a variable that will receive the number of bytes
+**          available in the command queue.
+*/
+gceSTATUS
+gckCOMMAND_Reserve(
+    IN gckCOMMAND Command,
+    IN gctSIZE_T RequestedBytes,
+    OUT gctPOINTER * Buffer,
+    OUT gctSIZE_T * BufferSize
+    )
+{
+    gceSTATUS status;
+    gctSIZE_T bytes;
+    gctSIZE_T requiredBytes;
+    gctUINT32 requestedAligned;
+
+    gcmkHEADER_ARG("Command=0x%x RequestedBytes=%lu", Command, RequestedBytes);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Command, gcvOBJ_COMMAND);
+
+    /* Compute aligned number of reuested bytes. */
+    requestedAligned = gcmALIGN(RequestedBytes, Command->alignment);
+
+    /* Another WAIT/LINK command sequence will have to be appended after
+       the requested area being reserved. Compute the number of bytes
+       required for WAIT/LINK at the location after the reserved area. */
+    gcmkONERROR(gckHARDWARE_WaitLink(
+        Command->kernel->hardware,
+        gcvNULL,
+        Command->offset + requestedAligned,
+        &requiredBytes,
+        gcvNULL,
+        gcvNULL
+        ));
+
+    /* Compute total number of bytes required. */
+    requiredBytes += requestedAligned;
+
+    /* Compute number of bytes available in command queue. */
+    bytes = Command->pageSize - Command->offset;
+
+    /* Is there enough space in the current command queue? */
+    if (bytes < requiredBytes)
+    {
+        /* Create a new command queue. */
+        gcmkONERROR(_NewQueue(Command));
+
+        /* Recompute the number of bytes in the new kernel command queue. */
+        bytes = Command->pageSize - Command->offset;
+
+        /* Still not enough space? */
+        if (bytes < requiredBytes)
+        {
+            /* Rare case, not enough room in command queue. */
+            gcmkONERROR(gcvSTATUS_BUFFER_TOO_SMALL);
+        }
+    }
+
+    /* Return pointer to empty slot command queue. */
+    *Buffer = (gctUINT8 *) Command->logical + Command->offset;
+
+    /* Return number of bytes left in command queue. */
+    *BufferSize = bytes;
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Buffer=0x%x *BufferSize=%lu", *Buffer, *BufferSize);
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckCOMMAND_Execute
+**
+**  Execute a previously reserved command queue by appending a WAIT/LINK command
+**  sequence after it and modifying the last WAIT into a LINK command.  The
+**  command FIFO mutex will be released whether this function succeeds or not.
+**
+**  INPUT:
+**
+**      gckCOMMAND Command
+**          Pointer to an gckCOMMAND object.
+**
+**      gctSIZE_T RequestedBytes
+**          Number of bytes previously reserved.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckCOMMAND_Execute(
+    IN gckCOMMAND Command,
+    IN gctSIZE_T RequestedBytes
+    )
+{
+    gceSTATUS status;
+
+    gctPHYS_ADDR waitLinkPhysical;
+    gctUINT8_PTR waitLinkLogical;
+    gctUINT32 waitLinkOffset;
+    gctSIZE_T waitLinkBytes;
+
+    gctPHYS_ADDR waitPhysical;
+    gctPOINTER waitLogical;
+    gctUINT32 waitOffset;
+    gctSIZE_T waitBytes;
+
+#if gcdNONPAGED_MEMORY_CACHEABLE
+    gctPHYS_ADDR execPhysical;
+#endif
+    gctPOINTER execLogical;
+    gctSIZE_T execBytes;
+
+    gcmkHEADER_ARG("Command=0x%x RequestedBytes=%lu", Command, RequestedBytes);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Command, gcvOBJ_COMMAND);
+
+    /* Compute offset for WAIT/LINK. */
+    waitLinkOffset = Command->offset + RequestedBytes;
+
+    /* Compute number of bytes left in command queue. */
+    waitLinkBytes = Command->pageSize - waitLinkOffset;
+
+    /* Compute the location if WAIT/LINK command sequence. */
+    waitLinkPhysical = (gctUINT8_PTR) Command->physical + waitLinkOffset;
+    waitLinkLogical  = (gctUINT8_PTR) Command->logical  + waitLinkOffset;
+
+    /* Append WAIT/LINK in command queue. */
+    gcmkONERROR(gckHARDWARE_WaitLink(
+        Command->kernel->hardware,
+        waitLinkLogical,
+        waitLinkOffset,
+        &waitLinkBytes,
+        &waitOffset,
+        &waitBytes
+        ));
+
+    /* Compute the location if WAIT command. */
+    waitPhysical = (gctUINT8_PTR) waitLinkPhysical + waitOffset;
+    waitLogical  =                waitLinkLogical  + waitOffset;
+
+    /* Determine the location to jump to for the command buffer being
+    ** scheduled. */
+    if (Command->newQueue)
+    {
+        /* New command queue, jump to the beginning of it. */
+#if gcdNONPAGED_MEMORY_CACHEABLE
+        execPhysical = Command->physical;
+#endif
+        execLogical  = Command->logical;
+        execBytes    = waitLinkOffset + waitLinkBytes;
+    }
+    else
+    {
+        /* Still within the preexisting command queue, jump directly to the
+           reserved area. */
+#if gcdNONPAGED_MEMORY_CACHEABLE
+        execPhysical = (gctUINT8 *) Command->physical + Command->offset;
+#endif
+        execLogical  = (gctUINT8 *) Command->logical  + Command->offset;
+        execBytes    = RequestedBytes + waitLinkBytes;
+    }
+
+#if gcdNONPAGED_MEMORY_CACHEABLE
+    /* Flush the cache. */
+    gcmkONERROR(gckOS_CacheClean(
+        Command->os,
+        Command->kernelProcessID,
+        gcvNULL,
+        execPhysical,
+        execLogical,
+        execBytes
+        ));
+#endif
+
+    /* Convert the last WAIT into a LINK. */
+    gcmkONERROR(gckHARDWARE_Link(
+        Command->kernel->hardware,
+        Command->waitLogical,
+        execLogical,
+        execBytes,
+        &Command->waitSize
+        ));
+
+#if gcdNONPAGED_MEMORY_CACHEABLE
+    /* Flush the cache. */
+    gcmkONERROR(gckOS_CacheClean(
+        Command->os,
+        Command->kernelProcessID,
+        gcvNULL,
+        Command->waitPhysical,
+        Command->waitLogical,
+        Command->waitSize
+        ));
+#endif
+
+    gcmkDUMPCOMMAND(
+        Command->os,
+        Command->waitLogical,
+        Command->waitSize,
+        gceDUMP_BUFFER_LINK,
+        gcvFALSE
+        );
+
+    gcmkDUMPCOMMAND(
+        Command->os,
+        execLogical,
+        execBytes,
+        gceDUMP_BUFFER_KERNEL,
+        gcvFALSE
+        );
+
+    /* Update the pointer to the last WAIT. */
+    Command->waitPhysical = waitPhysical;
+    Command->waitLogical  = waitLogical;
+    Command->waitSize     = waitBytes;
+
+    /* Update the command queue. */
+    Command->offset  += RequestedBytes + waitLinkBytes;
+    Command->newQueue = gcvFALSE;
+
+    /* Update queue tail pointer. */
+    gcmkONERROR(gckHARDWARE_UpdateQueueTail(
+        Command->kernel->hardware, Command->logical, Command->offset
+        ));
+
+#if gcdDUMP_COMMAND
+    gcmkPRINT("@[kernel.execute]");
+#endif
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckCOMMAND_Stall
+**
+**  The calling thread will be suspended until the command queue has been
+**  completed.
+**
+**  INPUT:
+**
+**      gckCOMMAND Command
+**          Pointer to an gckCOMMAND object.
+**
+**      gctBOOL FromPower
+**          Determines whether the call originates from inside the power
+**          management or not.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckCOMMAND_Stall(
+    IN gckCOMMAND Command,
+    IN gctBOOL FromPower
+    )
+{
+#if gcdNULL_DRIVER
+    /* Do nothing with infinite hardware. */
+    return gcvSTATUS_OK;
+#else
+    gckOS os;
+    gckHARDWARE hardware;
+    gckEVENT eventObject;
+    gceSTATUS status;
+    gctSIGNAL signal = gcvNULL;
+    gctUINT timer = 0;
+
+    gcmkHEADER_ARG("Command=0x%x", Command);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Command, gcvOBJ_COMMAND);
+
+    /* Extract the gckOS object pointer. */
+    os = Command->os;
+    gcmkVERIFY_OBJECT(os, gcvOBJ_OS);
+
+    /* Extract the gckHARDWARE object pointer. */
+    hardware = Command->kernel->hardware;
+    gcmkVERIFY_OBJECT(hardware, gcvOBJ_HARDWARE);
+
+    /* Extract the gckEVENT object pointer. */
+    eventObject = Command->kernel->eventObj;
+    gcmkVERIFY_OBJECT(eventObject, gcvOBJ_EVENT);
+
+    /* Allocate the signal. */
+    gcmkONERROR(gckOS_CreateSignal(os, gcvTRUE, &signal));
+
+    /* Append the EVENT command to trigger the signal. */
+    gcmkONERROR(gckEVENT_Signal(eventObject, signal, gcvKERNEL_PIXEL));
+
+    /* Submit the event queue. */
+    gcmkONERROR(gckEVENT_Submit(eventObject, gcvTRUE, FromPower));
+
+#if gcdDUMP_COMMAND
+    gcmkPRINT("@[kernel.stall]");
+#endif
+
+    if (status == gcvSTATUS_CHIP_NOT_READY)
+    {
+        /* Error. */
+        goto OnError;
+    }
+
+    do
+    {
+        /* Wait for the signal. */
+        status = gckOS_WaitSignal(os, signal, gcdGPU_ADVANCETIMER);
+
+        if (status == gcvSTATUS_TIMEOUT)
+        {
+#if gcmIS_DEBUG(gcdDEBUG_CODE)
+            gctUINT32 idle;
+
+            /* Read idle register. */
+            gcmkVERIFY_OK(gckHARDWARE_GetIdle(
+                hardware, gcvFALSE, &idle
+                ));
+
+            gcmkTRACE(
+                gcvLEVEL_ERROR,
+                "%s(%d): idle=%08x",
+                __FUNCTION__, __LINE__, idle
+                );
+
+            gcmkONERROR(gckOS_MemoryBarrier(os, gcvNULL));
+
+#ifdef __QNXNTO__
+            gctUINT32 reg_cmdbuf_fetch;
+            gctUINT32 reg_intr;
+
+            gcmkVERIFY_OK(gckOS_ReadRegisterEx(
+                Command->kernel->hardware->os, Command->kernel->core, 0x0664, &reg_cmdbuf_fetch
+                ));
+
+            if (idle == 0x7FFFFFFE)
+            {
+                /*
+                 * GPU is idle so there should not be pending interrupts.
+                 * Just double check.
+                 *
+                 * Note that reading interrupt register clears it.
+                 * That's why we don't read it in all cases.
+                 */
+                gcmkVERIFY_OK(gckOS_ReadRegisterEx(
+                    Command->kernel->hardware->os, Command->kernel->core, 0x10, &reg_intr
+                    ));
+
+                slogf(
+                    _SLOG_SETCODE(1, 0),
+                    _SLOG_CRITICAL,
+                    "GALcore: Stall timeout (idle = 0x%X, command buffer fetch = 0x%X, interrupt = 0x%X)",
+                    idle, reg_cmdbuf_fetch, reg_intr
+                    );
+            }
+            else
+            {
+                slogf(
+                    _SLOG_SETCODE(1, 0),
+                    _SLOG_CRITICAL,
+                    "GALcore: Stall timeout (idle = 0x%X, command buffer fetch = 0x%X)",
+                    idle, reg_cmdbuf_fetch
+                    );
+            }
+#endif
+#endif
+            /* Advance timer. */
+            timer += gcdGPU_ADVANCETIMER;
+        }
+        else if (status == gcvSTATUS_INTERRUPTED)
+        {
+            gcmkONERROR(gcvSTATUS_INTERRUPTED);
+        }
+
+    }
+    while (gcmIS_ERROR(status)
+#if gcdGPU_TIMEOUT
+           && (timer < Command->kernel->timeOut)
+#endif
+           );
+
+    /* Bail out on timeout. */
+    if (gcmIS_ERROR(status))
+    {
+        /* Broadcast the stuck GPU. */
+        gcmkONERROR(gckOS_Broadcast(
+            os, hardware, gcvBROADCAST_GPU_STUCK
+            ));
+    }
+
+    /* Delete the signal. */
+    gcmkVERIFY_OK(gckOS_DestroySignal(os, signal));
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    if (signal != gcvNULL)
+    {
+        /* Free the signal. */
+        gcmkVERIFY_OK(gckOS_DestroySignal(os, signal));
+    }
+
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+#endif
+}
+
+/*******************************************************************************
+**
+**  gckCOMMAND_Attach
+**
+**  Attach user process.
+**
+**  INPUT:
+**
+**      gckCOMMAND Command
+**          Pointer to a gckCOMMAND object.
+**
+**      gctUINT32 ProcessID
+**          Current process ID.
+**
+**  OUTPUT:
+**
+**      gckCONTEXT * Context
+**          Pointer to a variable that will receive a pointer to a new
+**          gckCONTEXT object.
+**
+**      gctSIZE_T * StateCount
+**          Pointer to a variable that will receive the number of states
+**          in the context buffer.
+*/
+gceSTATUS
+gckCOMMAND_Attach(
+    IN gckCOMMAND Command,
+    OUT gckCONTEXT * Context,
+    OUT gctSIZE_T * StateCount,
+    IN gctUINT32 ProcessID
+    )
+{
+    gceSTATUS status;
+    gctBOOL acquired = gcvFALSE;
+
+    gcmkHEADER_ARG("Command=0x%x", Command);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Command, gcvOBJ_COMMAND);
+
+    /* Acquire the context switching mutex. */
+    gcmkONERROR(gckOS_AcquireMutex(
+        Command->os, Command->mutexContext, gcvINFINITE
+        ));
+    acquired = gcvTRUE;
+
+    /* Construct a gckCONTEXT object. */
+    gcmkONERROR(gckCONTEXT_Construct(
+        Command->os,
+        Command->kernel->hardware,
+        ProcessID,
+        Context
+        ));
+
+    /* Return the number of states in the context. */
+    * StateCount = (* Context)->stateCount;
+
+    /* Release the context switching mutex. */
+    gcmkONERROR(gckOS_ReleaseMutex(Command->os, Command->mutexContext));
+    acquired = gcvFALSE;
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Context=0x%x", *Context);
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Release mutex. */
+    if (acquired)
+    {
+        /* Release the context switching mutex. */
+        gcmkVERIFY_OK(gckOS_ReleaseMutex(Command->os, Command->mutexContext));
+        acquired = gcvFALSE;
+    }
+
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckCOMMAND_Detach
+**
+**  Detach user process.
+**
+**  INPUT:
+**
+**      gckCOMMAND Command
+**          Pointer to a gckCOMMAND object.
+**
+**      gckCONTEXT Context
+**          Pointer to a gckCONTEXT object to be destroyed.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckCOMMAND_Detach(
+    IN gckCOMMAND Command,
+    IN gckCONTEXT Context
+    )
+{
+    gceSTATUS status;
+    gctBOOL acquired = gcvFALSE;
+
+    gcmkHEADER_ARG("Command=0x%x Context=0x%x", Command, Context);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Command, gcvOBJ_COMMAND);
+
+    /* Acquire the context switching mutex. */
+    gcmkONERROR(gckOS_AcquireMutex(
+        Command->os, Command->mutexContext, gcvINFINITE
+        ));
+    acquired = gcvTRUE;
+
+    /* Construct a gckCONTEXT object. */
+    gcmkONERROR(gckCONTEXT_Destroy(Context));
+
+    if (Command->currContext == Context)
+    {
+        /* Detach from gckCOMMAND object if the destoryed context is current context. */
+        Command->currContext = gcvNULL;
+    }
+
+    /* Release the context switching mutex. */
+    gcmkONERROR(gckOS_ReleaseMutex(Command->os, Command->mutexContext));
+    acquired = gcvFALSE;
+
+    /* Return the status. */
+    gcmkFOOTER();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Release mutex. */
+    if (acquired)
+    {
+        /* Release the context switching mutex. */
+        gcmkVERIFY_OK(gckOS_ReleaseMutex(Command->os, Command->mutexContext));
+        acquired = gcvFALSE;
+    }
+
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+#if gcdVIRTUAL_COMMAND_BUFFER
+/*******************************************************************************
+**
+**  gckCOMMAND_DumpExecutingBuffer
+**
+**  Dump the command buffer which GPU is executing.
+**
+**  INPUT:
+**
+**      gckCOMMAND Command
+**          Pointer to a gckCOMMAND object.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckCOMMAND_DumpExecutingBuffer(
+    IN gckCOMMAND Command
+    )
+{
+    gceSTATUS status;
+    gckVIRTUAL_COMMAND_BUFFER_PTR buffer;
+    gctUINT32 gpuAddress;
+    gctSIZE_T pageCount;
+    gctPOINTER entry;
+    gckOS os = Command->os;
+    gckKERNEL kernel = Command->kernel;
+#if gcdLINK_QUEUE_SIZE
+    gctINT pid;
+    gctINT i, rear;
+    gctUINT32 start, end;
+    gctUINT32 dumpFront, dumpRear;
+    gckLINKQUEUE queue = &kernel->hardware->linkQueue;
+    gckLINKQUEUE queueMirror;
+    gctUINT32 bytes;
+    gckLINKDATA linkData;
+#endif
+
+    gcmkPRINT("**************************\n");
+    gcmkPRINT("**** COMMAND BUF DUMP ****\n");
+    gcmkPRINT("**************************\n");
+
+    gcmkVERIFY_OK(gckOS_ReadRegisterEx(os, kernel->core, 0x664, &gpuAddress));
+
+    gcmkPRINT("DMA Address 0x%08X", gpuAddress);
+
+#if gcdLINK_QUEUE_SIZE
+    /* Duplicate queue because it will be changed.*/
+    gcmkONERROR(gckOS_AllocateMemory(os,
+                                     sizeof(struct _gckLINKQUEUE),
+                                     (gctPOINTER *)&queueMirror));
+
+    gcmkONERROR(gckOS_MemCopy(queueMirror,
+                              queue,
+                              sizeof(struct _gckLINKQUEUE)));
+
+    /* If kernel command buffer link to a context buffer, then link to a user command
+    ** buffer, the second link will be in queue first, so we must fix this.
+    **     In Queue:    C1 U1 U2 C2 U3 U4 U5 C3
+    **         Real: C1 X1 U1 C2 U2 U3 U4 C3 U5
+    ** Command buffer X1 which is after C1 is out of queue, so C1 is meaningless.
+    */
+    for (i = 0; i < gcdLINK_QUEUE_SIZE; i++)
+    {
+        gckLINKQUEUE_GetData(queueMirror, i, &linkData);
+
+        status = gckKERNEL_QueryGPUAddress(kernel, linkData->start, &buffer);
+
+        if (gcmIS_ERROR(status))
+        {
+            /* Can't find it in virtual command buffer list, ignore it. */
+            continue;
+        }
+
+        if (buffer->kernelLogical)
+        {
+            /* It is a context buffer. */
+            if (i == 0)
+            {
+                /* The real command buffer is out, so clear this slot. */
+                linkData->start = 0;
+                linkData->end = 0;
+                linkData->pid = 0;
+            }
+            else
+            {
+                /* switch context buffer and command buffer. */
+                struct _gckLINKDATA tmp = *linkData;
+                gckLINKDATA linkDataPrevious;
+
+                gckLINKQUEUE_GetData(queueMirror, i - 1, &linkDataPrevious);
+                *linkData = *linkDataPrevious;
+                *linkDataPrevious = tmp;
+           }
+        }
+    }
+
+    /* Clear search result. */
+    dumpFront = dumpRear = gcvINFINITE;
+
+    gcmkPRINT("Link Stack:");
+
+    /* Search stuck address in link queue from rear. */
+    rear = gcdLINK_QUEUE_SIZE - 1;
+    for (i = 0; i < gcdLINK_QUEUE_SIZE; i++)
+    {
+        gckLINKQUEUE_GetData(queueMirror, rear, &linkData);
+
+        start = linkData->start;
+        end = linkData->end;
+        pid = linkData->pid;
+
+        if (gpuAddress >= start && gpuAddress < end)
+        {
+            /* Find latest matched command buffer. */
+            gcmkPRINT("  %d, [%08X - %08X]", pid, start, end);
+
+            /* Initiliaze dump information. */
+            dumpFront = dumpRear = rear;
+        }
+
+        /* Advance to previous one. */
+        rear--;
+
+        if (dumpFront != gcvINFINITE)
+        {
+            break;
+        }
+    }
+
+    if (dumpFront == gcvINFINITE)
+    {
+        /* Can't find matched record in link queue, dump kernel command buffer. */
+        _DumpKernelCommandBuffer(Command);
+
+        /* Free local copy. */
+        gcmkOS_SAFE_FREE(os, queueMirror);
+        return gcvSTATUS_OK;
+    }
+
+    /* Search the last context buffer linked. */
+    while (rear >= 0)
+    {
+        gckLINKQUEUE_GetData(queueMirror, rear, &linkData);
+
+        gcmkPRINT("  %d, [%08X - %08X]",
+                  linkData->pid,
+                  linkData->start,
+                  linkData->end);
+
+        status = gckKERNEL_QueryGPUAddress(kernel, linkData->start, &buffer);
+
+        if (gcmIS_SUCCESS(status) && buffer->kernelLogical)
+        {
+            /* Find a context buffer. */
+            dumpFront = rear;
+            break;
+        }
+
+        rear--;
+    }
+
+    /* Dump from last context buffer to last command buffer where hang happens. */
+    for (i = dumpFront; i <= dumpRear; i++)
+    {
+        gckLINKQUEUE_GetData(queueMirror, i, &linkData);
+
+        /* Get gpu address of this command buffer. */
+        gpuAddress = linkData->start;
+        bytes = linkData->end - gpuAddress;
+
+        /* Get the whole buffer. */
+        status = gckKERNEL_QueryGPUAddress(kernel, gpuAddress, &buffer);
+
+        if (gcmIS_ERROR(status))
+        {
+            gcmkPRINT("Buffer [%08X - %08X] is lost",
+                      linkData->start,
+                      linkData->end);
+            continue;
+        }
+
+        /* Get kernel logical for dump. */
+        if (buffer->kernelLogical)
+        {
+            /* Get kernel logical directly if it is a context buffer. */
+            entry = buffer->kernelLogical;
+            gcmkPRINT("Context Buffer:");
+        }
+        else
+        {
+            /* Make it accessiable by kernel if it is a user command buffer. */
+            gcmkVERIFY_OK(
+                gckOS_CreateKernelVirtualMapping(buffer->physical,
+                                                 &pageCount,
+                                                 &entry));
+            gcmkPRINT("User Command Buffer:");
+        }
+
+        /* Dump from the entry. */
+        _DumpBuffer(entry + (gpuAddress - buffer->gpuAddress), gpuAddress, bytes);
+
+        /* Release kernel logical address if neccessary. */
+        if (!buffer->kernelLogical)
+        {
+            gcmkVERIFY_OK(gckOS_DestroyKernelVirtualMapping(entry));
+        }
+    }
+
+    /* Free local copy. */
+    gcmkOS_SAFE_FREE(os, queueMirror);
+    return gcvSTATUS_OK;
+OnError:
+    return status;
+#else
+    /* Without link queue information, we don't know the entry of last command
+    ** buffer, just dump the page where GPU stuck. */
+    status = gckKERNEL_QueryGPUAddress(kernel, gpuAddress, &buffer);
+
+    if (gcmIS_SUCCESS(status))
+    {
+        gcmkVERIFY_OK(
+            gckOS_CreateKernelVirtualMapping(buffer->physical, &pageCount, &entry));
+
+        if (entry)
+        {
+            gctUINT32 offset = gpuAddress - buffer->gpuAddress;
+            gctPOINTER entryDump = entry;
+
+            /* Dump one pages. */
+            gctUINT32 bytes = 4096;
+
+            /* Align to page. */
+            offset &= 0xfffff000;
+
+            /* Kernel address of page where stall point stay. */
+            entryDump += offset;
+
+            /* Align to page. */
+            gpuAddress &= 0xfffff000;
+
+            gcmkPRINT("User Command Buffer:\n");
+            _DumpBuffer(entryDump, gpuAddress, bytes);
+        }
+
+        gcmkVERIFY_OK(
+            gckOS_DestroyKernelVirtualMapping(entry));
+    }
+    else
+    {
+        _DumpKernelCommandBuffer(Command);
+    }
+
+    return gcvSTATUS_OK;
+#endif
+}
+#endif
diff --git a/drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_command_vg.c b/drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_command_vg.c
new file mode 100644 (file)
index 0000000..ce2c18a
--- /dev/null
@@ -0,0 +1,3677 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#include "gc_hal_kernel_precomp.h"
+
+#if gcdENABLE_VG
+
+#include "gc_hal_kernel_hardware_command_vg.h"
+
+#define _GC_OBJ_ZONE            gcvZONE_COMMAND
+
+/******************************************************************************\
+*********************************** Debugging **********************************
+\******************************************************************************/
+
+#define gcvDISABLE_TIMEOUT      1
+#define gcvDUMP_COMMAND_BUFFER  0
+#define gcvDUMP_COMMAND_LINES   0
+
+
+#if gcvDEBUG || defined(EMULATOR) || gcvDISABLE_TIMEOUT
+#   define gcvQUEUE_TIMEOUT ~0
+#else
+#   define gcvQUEUE_TIMEOUT 10
+#endif
+
+
+/******************************************************************************\
+********************************** Definitions *********************************
+\******************************************************************************/
+
+/* Minimum buffer size. */
+#define gcvMINUMUM_BUFFER \
+    gcmSIZEOF(gcsKERNEL_QUEUE_HEADER) + \
+    gcmSIZEOF(gcsKERNEL_CMDQUEUE) * 2
+
+#define gcmDECLARE_INTERRUPT_HANDLER(Block, Number) \
+    static gceSTATUS \
+    _EventHandler_##Block##_##Number( \
+        IN gckVGKERNEL Kernel \
+        )
+
+#define gcmDEFINE_INTERRUPT_HANDLER(Block, Number) \
+    gcmDECLARE_INTERRUPT_HANDLER(Block, Number) \
+    { \
+        return _EventHandler_Block( \
+            Kernel, \
+            &Kernel->command->taskTable[gcvBLOCK_##Block], \
+            gcvFALSE \
+            ); \
+    }
+
+#define gcmDEFINE_INTERRUPT_HANDLER_ENTRY(Block, Number) \
+    { gcvBLOCK_##Block, _EventHandler_##Block##_##Number }
+
+/* Block interrupt handling table entry. */
+typedef struct _gcsBLOCK_INTERRUPT_HANDLER * gcsBLOCK_INTERRUPT_HANDLER_PTR;
+typedef struct _gcsBLOCK_INTERRUPT_HANDLER
+{
+    gceBLOCK                block;
+    gctINTERRUPT_HANDLER    handler;
+}
+gcsBLOCK_INTERRUPT_HANDLER;
+
+/* Queue control functions. */
+typedef struct _gcsQUEUE_UPDATE_CONTROL * gcsQUEUE_UPDATE_CONTROL_PTR;
+typedef struct _gcsQUEUE_UPDATE_CONTROL
+{
+    gctOBJECT_HANDLER       execute;
+    gctOBJECT_HANDLER       update;
+    gctOBJECT_HANDLER       lastExecute;
+    gctOBJECT_HANDLER       lastUpdate;
+}
+gcsQUEUE_UPDATE_CONTROL;
+
+
+/******************************************************************************\
+********************************* Support Code *********************************
+\******************************************************************************/
+static gceSTATUS
+_FlushMMU(
+    IN gckVGCOMMAND Command
+    )
+{
+    gceSTATUS status;
+    gctUINT32 oldValue;
+    gckVGHARDWARE hardware = Command->hardware;
+
+    gcmkONERROR(gckOS_AtomicExchange(Command->os,
+                                     hardware->pageTableDirty,
+                                     0,
+                                     &oldValue));
+
+    if (oldValue)
+    {
+        /* Page Table is upated, flush mmu before commit. */
+        gcmkONERROR(gckVGHARDWARE_FlushMMU(hardware));
+    }
+
+    return gcvSTATUS_OK;
+OnError:
+    return status;
+}
+
+static gceSTATUS
+_WaitForIdle(
+    IN gckVGCOMMAND Command,
+    IN gcsKERNEL_QUEUE_HEADER_PTR Queue
+    )
+{
+    gceSTATUS status = gcvSTATUS_OK;
+    gctUINT32 idle;
+    gctUINT timeout = 0;
+
+    /* Loop while not idle. */
+    while (Queue->pending)
+    {
+        /* Did we reach the timeout limit? */
+        if (timeout == gcvQUEUE_TIMEOUT)
+        {
+            /* Hardware is probably dead... */
+            return gcvSTATUS_TIMEOUT;
+        }
+
+        /* Sleep for 100ms. */
+        gcmkERR_BREAK(gckOS_Delay(Command->os, 100));
+
+        /* Not the first loop? */
+        if (timeout > 0)
+        {
+            /* Read IDLE register. */
+            gcmkVERIFY_OK(gckVGHARDWARE_GetIdle(Command->hardware, &idle));
+
+            gcmkTRACE_ZONE(
+                gcvLEVEL_ERROR, gcvZONE_COMMAND,
+                "%s: timeout, IDLE=%08X\n",
+                __FUNCTION__, idle
+                );
+        }
+
+        /* Increment the timeout counter. */
+        timeout += 1;
+    }
+
+    /* Return status. */
+    return status;
+}
+
+static gctINT32
+_GetNextInterrupt(
+    IN gckVGCOMMAND Command,
+    IN gceBLOCK Block
+    )
+{
+    gctUINT index;
+    gcsBLOCK_TASK_ENTRY_PTR entry;
+    gctINT32 interrupt;
+
+    /* Get the block entry. */
+    entry = &Command->taskTable[Block];
+
+    /* Make sure we have initialized interrupts. */
+    gcmkASSERT(entry->interruptCount > 0);
+
+    /* Decrement the interrupt usage semaphore. */
+    gcmkVERIFY_OK(gckOS_DecrementSemaphore(
+        Command->os, entry->interruptSemaphore
+        ));
+
+    /* Get the value index. */
+    index = entry->interruptIndex;
+
+    /* Get the interrupt value. */
+    interrupt = entry->interruptArray[index];
+
+    /* Must be a valid value. */
+    gcmkASSERT((interrupt >= 0) && (interrupt <= 31));
+
+    /* Advance the index to the next value. */
+    index += 1;
+
+    /* Set the new index. */
+    entry->interruptIndex = (index == entry->interruptCount)
+        ? 0
+        : index;
+
+    /* Return interrupt value. */
+    return interrupt;
+}
+
+
+/******************************************************************************\
+***************************** Task Storage Management **************************
+\******************************************************************************/
+
+/* Minimum task buffer size. */
+#define gcvMIN_TASK_BUFFER \
+( \
+    gcmSIZEOF(gcsTASK_CONTAINER) + 128 \
+)
+
+/* Free list terminator. */
+#define gcvFREE_TASK_TERMINATOR \
+( \
+    (gcsTASK_CONTAINER_PTR) gcmINT2PTR(~0) \
+)
+
+
+/*----------------------------------------------------------------------------*/
+/*------------------- Allocated Task Buffer List Management ------------------*/
+
+static void
+_InsertTaskBuffer(
+    IN gcsTASK_CONTAINER_PTR AddAfter,
+    IN gcsTASK_CONTAINER_PTR Buffer
+    )
+{
+    gcsTASK_CONTAINER_PTR addBefore;
+
+    /* Cannot add before the first buffer. */
+    gcmkASSERT(AddAfter != gcvNULL);
+
+    /* Create a shortcut to the next buffer. */
+    addBefore = AddAfter->allocNext;
+
+    /* Initialize the links. */
+    Buffer->allocPrev = AddAfter;
+    Buffer->allocNext = addBefore;
+
+    /* Link to the previous buffer. */
+    AddAfter->allocNext = Buffer;
+
+    /* Link to the next buffer. */
+    if (addBefore != gcvNULL)
+    {
+        addBefore->allocPrev = Buffer;
+    }
+}
+
+static void
+_RemoveTaskBuffer(
+    IN gcsTASK_CONTAINER_PTR Buffer
+    )
+{
+    gcsTASK_CONTAINER_PTR prev;
+    gcsTASK_CONTAINER_PTR next;
+
+    /* Cannot remove the first buffer. */
+    gcmkASSERT(Buffer->allocPrev != gcvNULL);
+
+    /* Create shortcuts to the previous and next buffers. */
+    prev = Buffer->allocPrev;
+    next = Buffer->allocNext;
+
+    /* Tail buffer? */
+    if (next == gcvNULL)
+    {
+        /* Remove from the list. */
+        prev->allocNext = gcvNULL;
+    }
+
+    /* Buffer from the middle. */
+    else
+    {
+        prev->allocNext = next;
+        next->allocPrev = prev;
+    }
+}
+
+
+/*----------------------------------------------------------------------------*/
+/*--------------------- Free Task Buffer List Management ---------------------*/
+
+static void
+_AppendToFreeList(
+    IN gckVGCOMMAND Command,
+    IN gcsTASK_CONTAINER_PTR Buffer
+    )
+{
+    /* Cannot be a part of the free list already. */
+    gcmkASSERT(Buffer->freePrev == gcvNULL);
+    gcmkASSERT(Buffer->freeNext == gcvNULL);
+
+    /* First buffer to add? */
+    if (Command->taskFreeHead == gcvNULL)
+    {
+        /* Terminate the links. */
+        Buffer->freePrev = gcvFREE_TASK_TERMINATOR;
+        Buffer->freeNext = gcvFREE_TASK_TERMINATOR;
+
+        /* Initialize the list pointer. */
+        Command->taskFreeHead = Command->taskFreeTail = Buffer;
+    }
+
+    /* Not the first, add after the tail. */
+    else
+    {
+        /* Initialize the new tail buffer. */
+        Buffer->freePrev = Command->taskFreeTail;
+        Buffer->freeNext = gcvFREE_TASK_TERMINATOR;
+
+        /* Add after the tail. */
+        Command->taskFreeTail->freeNext = Buffer;
+        Command->taskFreeTail = Buffer;
+    }
+}
+
+static void
+_RemoveFromFreeList(
+    IN gckVGCOMMAND Command,
+    IN gcsTASK_CONTAINER_PTR Buffer
+    )
+{
+    /* Has to be a part of the free list. */
+    gcmkASSERT(Buffer->freePrev != gcvNULL);
+    gcmkASSERT(Buffer->freeNext != gcvNULL);
+
+    /* Head buffer? */
+    if (Buffer->freePrev == gcvFREE_TASK_TERMINATOR)
+    {
+        /* Tail buffer as well? */
+        if (Buffer->freeNext == gcvFREE_TASK_TERMINATOR)
+        {
+            /* Reset the list pointer. */
+            Command->taskFreeHead = Command->taskFreeTail = gcvNULL;
+        }
+
+        /* No, just the head. */
+        else
+        {
+            /* Update the head. */
+            Command->taskFreeHead = Buffer->freeNext;
+
+            /* Terminate the next buffer. */
+            Command->taskFreeHead->freePrev = gcvFREE_TASK_TERMINATOR;
+        }
+    }
+
+    /* Not the head. */
+    else
+    {
+        /* Tail buffer? */
+        if (Buffer->freeNext == gcvFREE_TASK_TERMINATOR)
+        {
+            /* Update the tail. */
+            Command->taskFreeTail = Buffer->freePrev;
+
+            /* Terminate the previous buffer. */
+            Command->taskFreeTail->freeNext = gcvFREE_TASK_TERMINATOR;
+        }
+
+        /* A buffer in the middle. */
+        else
+        {
+            /* Remove the buffer from the list. */
+            Buffer->freePrev->freeNext = Buffer->freeNext;
+            Buffer->freeNext->freePrev = Buffer->freePrev;
+        }
+    }
+
+    /* Reset free list pointers. */
+    Buffer->freePrev = gcvNULL;
+    Buffer->freeNext = gcvNULL;
+}
+
+
+/*----------------------------------------------------------------------------*/
+/*-------------------------- Task Buffer Allocation --------------------------*/
+
+static void
+_SplitTaskBuffer(
+    IN gckVGCOMMAND Command,
+    IN gcsTASK_CONTAINER_PTR Buffer,
+    IN gctUINT Size
+    )
+{
+    /* Determine the size of the new buffer. */
+    gctINT splitBufferSize = Buffer->size - Size;
+    gcmkASSERT(splitBufferSize >= 0);
+
+    /* Is the split buffer big enough to become a separate buffer? */
+    if (splitBufferSize >= gcvMIN_TASK_BUFFER)
+    {
+        /* Place the new path data. */
+        gcsTASK_CONTAINER_PTR splitBuffer = (gcsTASK_CONTAINER_PTR)
+        (
+            (gctUINT8_PTR) Buffer + Size
+        );
+
+        /* Set the trimmed buffer size. */
+        Buffer->size = Size;
+
+        /* Initialize the split buffer. */
+        splitBuffer->referenceCount = 0;
+        splitBuffer->size           = splitBufferSize;
+        splitBuffer->freePrev       = gcvNULL;
+        splitBuffer->freeNext       = gcvNULL;
+
+        /* Link in. */
+        _InsertTaskBuffer(Buffer, splitBuffer);
+        _AppendToFreeList(Command, splitBuffer);
+    }
+}
+
+static gceSTATUS
+_AllocateTaskContainer(
+    IN gckVGCOMMAND Command,
+    IN gctUINT Size,
+    OUT gcsTASK_CONTAINER_PTR * Buffer
+    )
+{
+    gceSTATUS status;
+
+    gcmkHEADER_ARG("Command=0x%x Size=0x%x, Buffer ==0x%x", Command, Size, Buffer);
+
+    /* Verify arguments. */
+    gcmkVERIFY_ARGUMENT(Buffer != gcvNULL);
+
+    do
+    {
+        gcsTASK_STORAGE_PTR storage;
+        gcsTASK_CONTAINER_PTR buffer;
+
+        /* Adjust the size. */
+        Size += gcmSIZEOF(gcsTASK_CONTAINER);
+
+        /* Adjust the allocation size if not big enough. */
+        if (Size > Command->taskStorageUsable)
+        {
+            Command->taskStorageGranularity
+                = gcmALIGN(Size + gcmSIZEOF(gcsTASK_STORAGE), 1024);
+
+            Command->taskStorageUsable
+                = Command->taskStorageGranularity - gcmSIZEOF(gcsTASK_STORAGE);
+        }
+
+        /* Is there a free buffer available? */
+        else if (Command->taskFreeHead != gcvNULL)
+        {
+            /* Set the initial free buffer. */
+            gcsTASK_CONTAINER_PTR buffer = Command->taskFreeHead;
+
+            do
+            {
+                /* Is the buffer big enough? */
+                if (buffer->size >= Size)
+                {
+                    /* Remove the buffer from the free list. */
+                    _RemoveFromFreeList(Command, buffer);
+
+                    /* Split the buffer. */
+                    _SplitTaskBuffer(Command, buffer, Size);
+
+                    /* Set the result. */
+                    * Buffer = buffer;
+
+                    gcmkFOOTER_ARG("*Buffer=0x%x",*Buffer);
+                    /* Success. */
+                    return gcvSTATUS_OK;
+                }
+
+                /* Get the next free buffer. */
+                buffer = buffer->freeNext;
+            }
+            while (buffer != gcvFREE_TASK_TERMINATOR);
+        }
+
+        /* Allocate a container. */
+        gcmkERR_BREAK(gckOS_Allocate(
+            Command->os,
+            Command->taskStorageGranularity,
+            (gctPOINTER *) &storage
+            ));
+
+        /* Link in the storage buffer. */
+        storage->next = Command->taskStorage;
+        Command->taskStorage = storage;
+
+        /* Place the task buffer. */
+        buffer = (gcsTASK_CONTAINER_PTR) (storage + 1);
+
+        /* Determine the size of the buffer. */
+        buffer->size
+            = Command->taskStorageGranularity
+            - gcmSIZEOF(gcsTASK_STORAGE);
+
+        /* Initialize the task buffer. */
+        buffer->referenceCount = 0;
+        buffer->allocPrev      = gcvNULL;
+        buffer->allocNext      = gcvNULL;
+        buffer->freePrev       = gcvNULL;
+        buffer->freeNext       = gcvNULL;
+
+        /* Split the buffer. */
+        _SplitTaskBuffer(Command, buffer, Size);
+
+        /* Set the result. */
+        * Buffer = buffer;
+
+        gcmkFOOTER_ARG("*Buffer=0x%x",*Buffer);
+        /* Success. */
+        return gcvSTATUS_OK;
+    }
+    while (gcvFALSE);
+
+    gcmkFOOTER();
+    /* Return status. */
+    return status;
+}
+
+static void
+_FreeTaskContainer(
+    IN gckVGCOMMAND Command,
+    IN gcsTASK_CONTAINER_PTR Buffer
+    )
+{
+    gcsTASK_CONTAINER_PTR prev;
+    gcsTASK_CONTAINER_PTR next;
+    gcsTASK_CONTAINER_PTR merged;
+
+    gctSIZE_T mergedSize;
+
+    /* Verify arguments. */
+    gcmkASSERT(Buffer != gcvNULL);
+    gcmkASSERT(Buffer->freePrev == gcvNULL);
+    gcmkASSERT(Buffer->freeNext == gcvNULL);
+
+    /* Get shortcuts to the previous and next path data buffers. */
+    prev = Buffer->allocPrev;
+    next = Buffer->allocNext;
+
+    /* Is the previous path data buffer already free? */
+    if (prev && prev->freeNext)
+    {
+        /* The previous path data buffer is the one that remains. */
+        merged = prev;
+
+        /* Is the next path data buffer already free? */
+        if (next && next->freeNext)
+        {
+            /* Merge all three path data buffers into the previous. */
+            mergedSize = prev->size + Buffer->size + next->size;
+
+            /* Remove the next path data buffer. */
+            _RemoveFromFreeList(Command, next);
+            _RemoveTaskBuffer(next);
+        }
+        else
+        {
+            /* Merge the current path data buffer into the previous. */
+            mergedSize = prev->size + Buffer->size;
+        }
+
+        /* Delete the current path data buffer. */
+        _RemoveTaskBuffer(Buffer);
+
+        /* Set new size. */
+        merged->size = mergedSize;
+    }
+    else
+    {
+        /* The current path data buffer is the one that remains. */
+        merged = Buffer;
+
+        /* Is the next buffer already free? */
+        if (next && next->freeNext)
+        {
+            /* Merge the next into the current. */
+            mergedSize = Buffer->size + next->size;
+
+            /* Remove the next buffer. */
+            _RemoveFromFreeList(Command, next);
+            _RemoveTaskBuffer(next);
+
+            /* Set new size. */
+            merged->size = mergedSize;
+        }
+
+        /* Add the current buffer into the free list. */
+        _AppendToFreeList(Command, merged);
+    }
+}
+
+gceSTATUS
+_RemoveRecordFromProcesDB(
+    IN gckVGCOMMAND Command,
+    IN gcsTASK_HEADER_PTR Task
+    )
+{
+    gcsTASK_PTR task = (gcsTASK_PTR)((gctUINT8_PTR)Task - sizeof(gcsTASK));
+    gcsTASK_FREE_VIDEO_MEMORY_PTR freeVideoMemory;
+    gcsTASK_UNLOCK_VIDEO_MEMORY_PTR unlockVideoMemory;
+    gctINT pid;
+    gctUINT32 size;
+
+    /* Get the total size of all tasks. */
+    size = task->size;
+
+    gcmkVERIFY_OK(gckOS_GetProcessID((gctUINT32_PTR)&pid));
+
+    do
+    {
+        switch (Task->id)
+        {
+        case gcvTASK_FREE_VIDEO_MEMORY:
+            freeVideoMemory = (gcsTASK_FREE_VIDEO_MEMORY_PTR)Task;
+
+            /* Remove record from process db. */
+            gcmkVERIFY_OK(gckKERNEL_RemoveProcessDB(
+                Command->kernel->kernel,
+                pid,
+                gcvDB_VIDEO_MEMORY,
+                gcmUINT64_TO_PTR(freeVideoMemory->node)));
+
+            /* Advance to next task. */
+            size -= sizeof(gcsTASK_FREE_VIDEO_MEMORY);
+            Task = (gcsTASK_HEADER_PTR)(freeVideoMemory + 1);
+
+            break;
+        case gcvTASK_UNLOCK_VIDEO_MEMORY:
+            unlockVideoMemory = (gcsTASK_UNLOCK_VIDEO_MEMORY_PTR)Task;
+
+            /* Remove record from process db. */
+            gcmkVERIFY_OK(gckKERNEL_RemoveProcessDB(
+                Command->kernel->kernel,
+                pid,
+                gcvDB_VIDEO_MEMORY_LOCKED,
+                gcmUINT64_TO_PTR(unlockVideoMemory->node)));
+
+            /* Advance to next task. */
+            size -= sizeof(gcsTASK_UNLOCK_VIDEO_MEMORY);
+            Task = (gcsTASK_HEADER_PTR)(unlockVideoMemory + 1);
+
+            break;
+        default:
+            /* Skip the whole task. */
+            size = 0;
+            break;
+        }
+    }
+    while(size);
+
+    return gcvSTATUS_OK;
+}
+
+/******************************************************************************\
+********************************* Task Scheduling ******************************
+\******************************************************************************/
+
+static gceSTATUS
+_ScheduleTasks(
+    IN gckVGCOMMAND Command,
+    IN gcsTASK_MASTER_TABLE_PTR TaskTable,
+    IN gctUINT8_PTR PreviousEnd
+    )
+{
+    gceSTATUS status;
+
+    do
+    {
+        gctINT block;
+        gcsTASK_CONTAINER_PTR container;
+        gcsTASK_MASTER_ENTRY_PTR userTaskEntry;
+        gcsBLOCK_TASK_ENTRY_PTR kernelTaskEntry;
+        gcsTASK_PTR userTask;
+        gctUINT8_PTR kernelTask;
+        gctINT32 interrupt;
+        gctUINT8_PTR eventCommand;
+
+        /* Nothing to schedule? */
+        if (TaskTable->size == 0)
+        {
+            status = gcvSTATUS_OK;
+            break;
+        }
+
+        /* Acquire the mutex. */
+        gcmkERR_BREAK(gckOS_AcquireMutex(
+            Command->os,
+            Command->taskMutex,
+            gcvINFINITE
+            ));
+
+        gcmkTRACE_ZONE(
+            gcvLEVEL_VERBOSE, gcvZONE_COMMAND,
+            "%s(%d)\n",
+            __FUNCTION__, __LINE__
+            );
+
+        do
+        {
+            gcmkTRACE_ZONE(
+                gcvLEVEL_VERBOSE, gcvZONE_COMMAND,
+                "  number of tasks scheduled   = %d\n"
+                "  size of event data in bytes = %d\n",
+                TaskTable->count,
+                TaskTable->size
+                );
+
+            /* Allocate task buffer. */
+            gcmkERR_BREAK(_AllocateTaskContainer(
+                Command,
+                TaskTable->size,
+                &container
+                ));
+
+            /* Determine the task data pointer. */
+            kernelTask = (gctUINT8_PTR) (container + 1);
+
+            /* Initialize the reference count. */
+            container->referenceCount = TaskTable->count;
+
+            /* Process tasks. */
+            for (block = gcvBLOCK_COUNT - 1; block >= 0; block -= 1)
+            {
+                /* Get the current user table entry. */
+                userTaskEntry = &TaskTable->table[block];
+
+                /* Are there tasks scheduled? */
+                if (userTaskEntry->head == gcvNULL)
+                {
+                    /* No, skip to the next block. */
+                    continue;
+                }
+
+                gcmkTRACE_ZONE(
+                    gcvLEVEL_VERBOSE, gcvZONE_COMMAND,
+                    "  processing tasks for block %d\n",
+                    block
+                    );
+
+                /* Get the current kernel table entry. */
+                kernelTaskEntry = &Command->taskTable[block];
+
+                /* Are there tasks for the current block scheduled? */
+                if (kernelTaskEntry->container == gcvNULL)
+                {
+                    gcmkTRACE_ZONE(
+                        gcvLEVEL_VERBOSE, gcvZONE_COMMAND,
+                        "  first task container for the block added\n",
+                        block
+                        );
+
+                    /* Nothing yet, set the container buffer pointer. */
+                    kernelTaskEntry->container = container;
+                    kernelTaskEntry->task      = (gcsTASK_HEADER_PTR) kernelTask;
+                }
+
+                /* Yes, append to the end. */
+                else
+                {
+                    kernelTaskEntry->link->cotainer = container;
+                    kernelTaskEntry->link->task     = (gcsTASK_HEADER_PTR) kernelTask;
+                }
+
+                /* Set initial task. */
+                userTask = userTaskEntry->head;
+
+                gcmkTRACE_ZONE(
+                    gcvLEVEL_VERBOSE, gcvZONE_COMMAND,
+                    "  copying user tasks over to the kernel\n"
+                    );
+
+                /* Copy tasks. */
+                do
+                {
+                    gcsTASK_HEADER_PTR taskHeader = (gcsTASK_HEADER_PTR) (userTask + 1);
+
+                    gcmkVERIFY_OK(_RemoveRecordFromProcesDB(Command, taskHeader));
+
+                    gcmkTRACE_ZONE(
+                        gcvLEVEL_VERBOSE, gcvZONE_COMMAND,
+                        "    task ID = %d, size = %d\n",
+                        ((gcsTASK_HEADER_PTR) (userTask + 1))->id,
+                        userTask->size
+                        );
+
+#ifdef __QNXNTO__
+                    if (taskHeader->id == gcvTASK_SIGNAL)
+                    {
+                        ((gcsTASK_SIGNAL_PTR)taskHeader)->coid  = TaskTable->coid;
+                        ((gcsTASK_SIGNAL_PTR)taskHeader)->rcvid = TaskTable->rcvid;
+                    }
+#endif /* __QNXNTO__ */
+                    /* Copy the task data. */
+                    gcmkVERIFY_OK(gckOS_MemCopy(
+                        kernelTask, taskHeader, userTask->size
+                        ));
+
+                    /* Advance to the next task. */
+                    kernelTask += userTask->size;
+                    userTask    = userTask->next;
+                }
+                while (userTask != gcvNULL);
+
+                /* Update link pointer in the header. */
+                kernelTaskEntry->link = (gcsTASK_LINK_PTR) kernelTask;
+
+                /* Initialize link task. */
+                kernelTaskEntry->link->id       = gcvTASK_LINK;
+                kernelTaskEntry->link->cotainer = gcvNULL;
+                kernelTaskEntry->link->task     = gcvNULL;
+
+                /* Advance the task data pointer. */
+                kernelTask += gcmSIZEOF(gcsTASK_LINK);
+            }
+        }
+        while (gcvFALSE);
+
+        /* Release the mutex. */
+        gcmkERR_BREAK(gckOS_ReleaseMutex(
+            Command->os,
+            Command->taskMutex
+            ));
+
+        /* Assign interrupts to the blocks. */
+        eventCommand = PreviousEnd;
+
+        for (block = gcvBLOCK_COUNT - 1; block >= 0; block -= 1)
+        {
+            /* Get the current user table entry. */
+            userTaskEntry = &TaskTable->table[block];
+
+            /* Are there tasks scheduled? */
+            if (userTaskEntry->head == gcvNULL)
+            {
+                /* No, skip to the next block. */
+                continue;
+            }
+
+            /* Get the interrupt number. */
+            interrupt = _GetNextInterrupt(Command, block);
+
+            gcmkTRACE_ZONE(
+                gcvLEVEL_VERBOSE, gcvZONE_COMMAND,
+                "%s(%d): block = %d interrupt = %d\n",
+                __FUNCTION__, __LINE__,
+                block, interrupt
+                );
+
+            /* Determine the command position. */
+            eventCommand -= Command->info.eventCommandSize;
+
+            /* Append an EVENT command. */
+            gcmkERR_BREAK(gckVGCOMMAND_EventCommand(
+                Command, eventCommand, block, interrupt, gcvNULL
+                ));
+        }
+    }
+    while (gcvFALSE);
+
+    /* Return status. */
+    return status;
+}
+
+
+/******************************************************************************\
+******************************** Memory Management *****************************
+\******************************************************************************/
+
+static gceSTATUS
+_HardwareToKernel(
+    IN gckOS Os,
+    IN gcuVIDMEM_NODE_PTR Node,
+    IN gctUINT32 Address,
+    OUT gctPOINTER * KernelPointer
+    )
+{
+    gceSTATUS status;
+    gckVIDMEM memory;
+    gctUINT32 offset;
+#if gcdDYNAMIC_MAP_RESERVED_MEMORY
+    gctUINT32 nodePhysical;
+#endif
+    status = gcvSTATUS_OK;
+    /* Assume a non-virtual node and get the pool manager object. */
+    memory = Node->VidMem.memory;
+
+#if gcdDYNAMIC_MAP_RESERVED_MEMORY
+    nodePhysical = memory->baseAddress
+                 + Node->VidMem.offset
+                 + Node->VidMem.alignment;
+
+    if (Node->VidMem.kernelVirtual == gcvNULL)
+    {
+        status = gckOS_MapPhysical(Os,
+                        nodePhysical,
+                        Node->VidMem.bytes,
+                        (gctPOINTER *)&Node->VidMem.kernelVirtual);
+
+        if (gcmkIS_ERROR(status))
+        {
+            return status;
+        }
+    }
+
+    offset = Address - nodePhysical;
+    *KernelPointer = (gctPOINTER)((gctUINT8_PTR)Node->VidMem.kernelVirtual + offset);
+#else
+    /* Determine the header offset within the pool it is allocated in. */
+    offset = Address - memory->baseAddress;
+
+    /* Translate the offset into the kernel side pointer. */
+    status = gckOS_GetKernelLogicalEx(
+        Os,
+        gcvCORE_VG,
+        offset,
+        KernelPointer
+        );
+#endif
+
+    /* Return status. */
+    return status;
+}
+
+static gceSTATUS
+_ConvertUserCommandBufferPointer(
+    IN gckVGCOMMAND Command,
+    IN gcsCMDBUFFER_PTR UserCommandBuffer,
+    OUT gcsCMDBUFFER_PTR * KernelCommandBuffer
+    )
+{
+    gceSTATUS status, last;
+    gcsCMDBUFFER_PTR mappedUserCommandBuffer = gcvNULL;
+
+    do
+    {
+        gctUINT32 headerAddress;
+
+        /* Map the command buffer structure into the kernel space. */
+        gcmkERR_BREAK(gckOS_MapUserPointer(
+            Command->os,
+            UserCommandBuffer,
+            gcmSIZEOF(gcsCMDBUFFER),
+            (gctPOINTER *) &mappedUserCommandBuffer
+            ));
+
+        /* Determine the address of the header. */
+        headerAddress
+            = mappedUserCommandBuffer->address
+            - mappedUserCommandBuffer->bufferOffset;
+
+        /* Translate the logical address to the kernel space. */
+        gcmkERR_BREAK(_HardwareToKernel(
+            Command->os,
+            gcmUINT64_TO_PTR(mappedUserCommandBuffer->node),
+            headerAddress,
+            (gctPOINTER *) KernelCommandBuffer
+            ));
+    }
+    while (gcvFALSE);
+
+    /* Unmap the user command buffer. */
+    if (mappedUserCommandBuffer != gcvNULL)
+    {
+        gcmkCHECK_STATUS(gckOS_UnmapUserPointer(
+            Command->os,
+            UserCommandBuffer,
+            gcmSIZEOF(gcsCMDBUFFER),
+            mappedUserCommandBuffer
+            ));
+    }
+
+    /* Return status. */
+    return status;
+}
+
+static gceSTATUS
+_AllocateLinear(
+    IN gckVGCOMMAND Command,
+    IN gctUINT Size,
+    IN gctUINT Alignment,
+    OUT gcuVIDMEM_NODE_PTR * Node,
+    OUT gctUINT32 * Address,
+    OUT gctPOINTER * Logical
+    )
+{
+    gceSTATUS status, last;
+    gcuVIDMEM_NODE_PTR node = gcvNULL;
+    gctUINT32 address = (gctUINT32)~0;
+
+    do
+    {
+        gcePOOL pool;
+        gctPOINTER logical;
+
+        /* Allocate from the system pool. */
+        pool = gcvPOOL_SYSTEM;
+
+        /* Allocate memory. */
+        gcmkERR_BREAK(gckKERNEL_AllocateLinearMemory(
+            Command->kernel->kernel, &pool,
+            Size, Alignment,
+            gcvSURF_TYPE_UNKNOWN,
+            &node
+            ));
+
+        /* Do not accept virtual pools for now because we don't handle the
+           kernel pointer translation at the moment. */
+        if (pool == gcvPOOL_VIRTUAL)
+        {
+            status = gcvSTATUS_OUT_OF_MEMORY;
+            break;
+        }
+
+        /* Lock the command buffer. */
+        gcmkERR_BREAK(gckVIDMEM_Lock(
+            Command->kernel->kernel,
+            node,
+            gcvFALSE,
+            &address
+            ));
+
+        /* Translate the logical address to the kernel space. */
+        gcmkERR_BREAK(_HardwareToKernel(
+            Command->os,
+            node,
+            address,
+            &logical
+            ));
+
+        /* Set return values. */
+        * Node    = node;
+        * Address = address;
+        * Logical = logical;
+
+        /* Success. */
+        return gcvSTATUS_OK;
+    }
+    while (gcvFALSE);
+
+    /* Roll back. */
+    if (node != gcvNULL)
+    {
+        /* Unlock the command buffer. */
+        if (address != ~0)
+        {
+            gcmkCHECK_STATUS(gckVIDMEM_Unlock(
+                Command->kernel->kernel, node, gcvSURF_TYPE_UNKNOWN, gcvNULL
+                ));
+        }
+
+        /* Free the command buffer. */
+        gcmkCHECK_STATUS(gckVIDMEM_Free(
+            node
+            ));
+    }
+
+    /* Return status. */
+    return status;
+}
+
+static gceSTATUS
+_FreeLinear(
+    IN gckVGKERNEL Kernel,
+    IN gcuVIDMEM_NODE_PTR Node
+    )
+{
+    gceSTATUS status;
+
+    do
+    {
+        /* Unlock the linear buffer. */
+        gcmkERR_BREAK(gckVIDMEM_Unlock(Kernel->kernel, Node, gcvSURF_TYPE_UNKNOWN, gcvNULL));
+
+        /* Free the linear buffer. */
+        gcmkERR_BREAK(gckVIDMEM_Free(Node));
+    }
+    while (gcvFALSE);
+
+    /* Return status. */
+    return status;
+}
+
+gceSTATUS
+_AllocateCommandBuffer(
+    IN gckVGCOMMAND Command,
+    IN gctSIZE_T Size,
+    OUT gcsCMDBUFFER_PTR * CommandBuffer
+    )
+{
+    gceSTATUS status, last;
+    gcuVIDMEM_NODE_PTR node = gcvNULL;
+
+    do
+    {
+        gctUINT alignedHeaderSize;
+        gctUINT requestedSize;
+        gctUINT allocationSize;
+        gctUINT32 address = 0;
+        gcsCMDBUFFER_PTR commandBuffer;
+        gctUINT8_PTR endCommand;
+
+        /* Determine the aligned header size. */
+        alignedHeaderSize
+            = gcmALIGN(gcmSIZEOF(gcsCMDBUFFER), Command->info.addressAlignment);
+
+        /* Align the requested size. */
+        requestedSize
+            = gcmALIGN(Size, Command->info.commandAlignment);
+
+        /* Determine the size of the buffer to allocate. */
+        allocationSize
+            = alignedHeaderSize
+            + requestedSize
+            + Command->info.staticTailSize;
+
+        /* Allocate the command buffer. */
+        gcmkERR_BREAK(_AllocateLinear(
+            Command,
+            allocationSize,
+            Command->info.addressAlignment,
+            &node,
+            &address,
+            (gctPOINTER *) &commandBuffer
+            ));
+
+        /* Initialize the structure. */
+        commandBuffer->completion    = gcvVACANT_BUFFER;
+        commandBuffer->node          = gcmPTR_TO_UINT64(node);
+        commandBuffer->address       = address + alignedHeaderSize;
+        commandBuffer->bufferOffset  = alignedHeaderSize;
+        commandBuffer->size          = requestedSize;
+        commandBuffer->offset        = requestedSize;
+        commandBuffer->nextAllocated = gcvNULL;
+        commandBuffer->nextSubBuffer = gcvNULL;
+
+        /* Determine the data count. */
+        commandBuffer->dataCount
+            = (requestedSize + Command->info.staticTailSize)
+            / Command->info.commandAlignment;
+
+        /* Determine the location of the END command. */
+        endCommand
+            = (gctUINT8_PTR) commandBuffer
+            + alignedHeaderSize
+            + requestedSize;
+
+        /* Append an END command. */
+        gcmkERR_BREAK(gckVGCOMMAND_EndCommand(
+            Command,
+            endCommand,
+            Command->info.feBufferInt,
+            gcvNULL
+            ));
+
+        /* Set the return pointer. */
+        * CommandBuffer = commandBuffer;
+
+        /* Success. */
+        return gcvSTATUS_OK;
+    }
+    while (gcvFALSE);
+
+    /* Roll back. */
+    if (node != gcvNULL)
+    {
+        /* Free the command buffer. */
+        gcmkCHECK_STATUS(_FreeLinear(Command->kernel, node));
+    }
+
+    /* Return status. */
+    return status;
+}
+
+static gceSTATUS
+_FreeCommandBuffer(
+    IN gckVGKERNEL Kernel,
+    IN gcsCMDBUFFER_PTR CommandBuffer
+    )
+{
+    gceSTATUS status;
+
+    /* Free the buffer. */
+    status = _FreeLinear(Kernel, gcmUINT64_TO_PTR(CommandBuffer->node));
+
+    /* Return status. */
+    return status;
+}
+
+
+/******************************************************************************\
+****************************** TS Overflow Handler *****************************
+\******************************************************************************/
+
+static gceSTATUS
+_EventHandler_TSOverflow(
+    IN gckVGKERNEL Kernel
+    )
+{
+    gcmkTRACE(
+        gcvLEVEL_ERROR,
+        "%s(%d): **** TS OVERFLOW ENCOUNTERED ****\n",
+        __FUNCTION__, __LINE__
+        );
+
+    return gcvSTATUS_OK;
+}
+
+
+/******************************************************************************\
+****************************** Bus Error Handler *******************************
+\******************************************************************************/
+
+static gceSTATUS
+_EventHandler_BusError(
+    IN gckVGKERNEL Kernel
+    )
+{
+    gcmkTRACE(
+        gcvLEVEL_ERROR,
+        "%s(%d): **** BUS ERROR ENCOUNTERED ****\n",
+        __FUNCTION__, __LINE__
+        );
+
+    return gcvSTATUS_OK;
+}
+
+/******************************************************************************\
+****************************** Power Stall Handler *******************************
+\******************************************************************************/
+
+static gceSTATUS
+_EventHandler_PowerStall(
+    IN gckVGKERNEL Kernel
+    )
+{
+    /* Signal. */
+    return gckOS_Signal(
+        Kernel->os,
+        Kernel->command->powerStallSignal,
+        gcvTRUE);
+}
+
+/******************************************************************************\
+******************************** Task Routines *********************************
+\******************************************************************************/
+
+typedef gceSTATUS (* gctTASKROUTINE) (
+    gckVGCOMMAND Command,
+    gcsBLOCK_TASK_ENTRY_PTR TaskHeader
+    );
+
+static gceSTATUS
+_TaskLink(
+    gckVGCOMMAND Command,
+    gcsBLOCK_TASK_ENTRY_PTR TaskHeader
+    );
+
+static gceSTATUS
+_TaskCluster(
+    gckVGCOMMAND Command,
+    gcsBLOCK_TASK_ENTRY_PTR TaskHeader
+    );
+
+static gceSTATUS
+_TaskIncrement(
+    gckVGCOMMAND Command,
+    gcsBLOCK_TASK_ENTRY_PTR TaskHeader
+    );
+
+static gceSTATUS
+_TaskDecrement(
+    gckVGCOMMAND Command,
+    gcsBLOCK_TASK_ENTRY_PTR TaskHeader
+    );
+
+static gceSTATUS
+_TaskSignal(
+    gckVGCOMMAND Command,
+    gcsBLOCK_TASK_ENTRY_PTR TaskHeader
+    );
+
+static gceSTATUS
+_TaskLockdown(
+    gckVGCOMMAND Command,
+    gcsBLOCK_TASK_ENTRY_PTR TaskHeader
+    );
+
+static gceSTATUS
+_TaskUnlockVideoMemory(
+    gckVGCOMMAND Command,
+    gcsBLOCK_TASK_ENTRY_PTR TaskHeader
+    );
+
+static gceSTATUS
+_TaskFreeVideoMemory(
+    gckVGCOMMAND Command,
+    gcsBLOCK_TASK_ENTRY_PTR TaskHeader
+    );
+
+static gceSTATUS
+_TaskFreeContiguousMemory(
+    gckVGCOMMAND Command,
+    gcsBLOCK_TASK_ENTRY_PTR TaskHeader
+    );
+
+static gceSTATUS
+_TaskUnmapUserMemory(
+    gckVGCOMMAND Command,
+    gcsBLOCK_TASK_ENTRY_PTR TaskHeader
+    );
+
+static gctTASKROUTINE _taskRoutine[] =
+{
+    _TaskLink,                  /* gcvTASK_LINK                   */
+    _TaskCluster,               /* gcvTASK_CLUSTER                */
+    _TaskIncrement,             /* gcvTASK_INCREMENT              */
+    _TaskDecrement,             /* gcvTASK_DECREMENT              */
+    _TaskSignal,                /* gcvTASK_SIGNAL                 */
+    _TaskLockdown,              /* gcvTASK_LOCKDOWN               */
+    _TaskUnlockVideoMemory,     /* gcvTASK_UNLOCK_VIDEO_MEMORY    */
+    _TaskFreeVideoMemory,       /* gcvTASK_FREE_VIDEO_MEMORY      */
+    _TaskFreeContiguousMemory,  /* gcvTASK_FREE_CONTIGUOUS_MEMORY */
+    _TaskUnmapUserMemory,       /* gcvTASK_UNMAP_USER_MEMORY      */
+};
+
+static gceSTATUS
+_TaskLink(
+    gckVGCOMMAND Command,
+    gcsBLOCK_TASK_ENTRY_PTR TaskHeader
+    )
+{
+    /* Cast the task pointer. */
+    gcsTASK_LINK_PTR task = (gcsTASK_LINK_PTR) TaskHeader->task;
+
+    /* Save the pointer to the container. */
+    gcsTASK_CONTAINER_PTR container = TaskHeader->container;
+
+    /* No more tasks in the list? */
+    if (task->task == gcvNULL)
+    {
+        /* Reset the entry. */
+        TaskHeader->container = gcvNULL;
+        TaskHeader->task      = gcvNULL;
+        TaskHeader->link      = gcvNULL;
+    }
+    else
+    {
+        /* Update the entry. */
+        TaskHeader->container = task->cotainer;
+        TaskHeader->task      = task->task;
+    }
+
+    /* Decrement the task buffer reference. */
+    gcmkASSERT(container->referenceCount >= 0);
+    if (container->referenceCount == 0)
+    {
+        /* Free the container. */
+        _FreeTaskContainer(Command, container);
+    }
+
+    /* Success. */
+    return gcvSTATUS_OK;
+}
+
+static gceSTATUS
+_TaskCluster(
+    gckVGCOMMAND Command,
+    gcsBLOCK_TASK_ENTRY_PTR TaskHeader
+    )
+{
+    gceSTATUS status = gcvSTATUS_OK;
+
+    /* Cast the task pointer. */
+    gcsTASK_CLUSTER_PTR cluster = (gcsTASK_CLUSTER_PTR) TaskHeader->task;
+
+    /* Get the number of tasks. */
+    gctUINT taskCount = cluster->taskCount;
+
+    /* Advance to the next task. */
+    TaskHeader->task = (gcsTASK_HEADER_PTR) (cluster + 1);
+
+    /* Perform all tasks in the cluster. */
+    while (taskCount)
+    {
+        /* Perform the current task. */
+        gcmkERR_BREAK(_taskRoutine[TaskHeader->task->id](
+            Command,
+            TaskHeader
+            ));
+
+        /* Update the task count. */
+        taskCount -= 1;
+    }
+
+    /* Return status. */
+    return status;
+}
+
+static gceSTATUS
+_TaskIncrement(
+    gckVGCOMMAND Command,
+    gcsBLOCK_TASK_ENTRY_PTR TaskHeader
+    )
+{
+    gceSTATUS status;
+
+    do
+    {
+        /* Cast the task pointer. */
+        gcsTASK_INCREMENT_PTR task = (gcsTASK_INCREMENT_PTR) TaskHeader->task;
+
+        /* Convert physical into logical address. */
+        gctUINT32_PTR logical;
+        gcmkERR_BREAK(gckOS_MapPhysical(
+            Command->os,
+            task->address,
+            gcmSIZEOF(gctUINT32),
+            (gctPOINTER *) &logical
+            ));
+
+        /* Increment data. */
+        (* logical) += 1;
+
+        /* Unmap the physical memory. */
+        gcmkERR_BREAK(gckOS_UnmapPhysical(
+            Command->os,
+            logical,
+            gcmSIZEOF(gctUINT32)
+            ));
+
+        /* Update the reference counter. */
+        TaskHeader->container->referenceCount -= 1;
+
+        /* Update the task pointer. */
+        TaskHeader->task = (gcsTASK_HEADER_PTR) (task + 1);
+    }
+    while (gcvFALSE);
+
+    /* Return status. */
+    return status;
+}
+
+static gceSTATUS
+_TaskDecrement(
+    gckVGCOMMAND Command,
+    gcsBLOCK_TASK_ENTRY_PTR TaskHeader
+    )
+{
+    gceSTATUS status;
+
+    do
+    {
+        /* Cast the task pointer. */
+        gcsTASK_DECREMENT_PTR task = (gcsTASK_DECREMENT_PTR) TaskHeader->task;
+
+        /* Convert physical into logical address. */
+        gctUINT32_PTR logical;
+        gcmkERR_BREAK(gckOS_MapPhysical(
+            Command->os,
+            task->address,
+            gcmSIZEOF(gctUINT32),
+            (gctPOINTER *) &logical
+            ));
+
+        /* Decrement data. */
+        (* logical) -= 1;
+
+        /* Unmap the physical memory. */
+        gcmkERR_BREAK(gckOS_UnmapPhysical(
+            Command->os,
+            logical,
+            gcmSIZEOF(gctUINT32)
+            ));
+
+        /* Update the reference counter. */
+        TaskHeader->container->referenceCount -= 1;
+
+        /* Update the task pointer. */
+        TaskHeader->task = (gcsTASK_HEADER_PTR) (task + 1);
+    }
+    while (gcvFALSE);
+
+    /* Return status. */
+    return status;
+}
+
+static gceSTATUS
+_TaskSignal(
+    gckVGCOMMAND Command,
+    gcsBLOCK_TASK_ENTRY_PTR TaskHeader
+    )
+{
+    gceSTATUS status;
+
+    do
+    {
+        /* Cast the task pointer. */
+        gcsTASK_SIGNAL_PTR task = (gcsTASK_SIGNAL_PTR) TaskHeader->task;
+
+
+        /* Map the signal into kernel space. */
+#ifdef __QNXNTO__
+        gcmkERR_BREAK(gckOS_UserSignal(
+            Command->os, task->signal, task->rcvid, task->coid
+            ));
+#else
+        gcmkERR_BREAK(gckOS_UserSignal(
+            Command->os, task->signal, task->process
+            ));
+#endif /* __QNXNTO__ */
+
+        /* Update the reference counter. */
+        TaskHeader->container->referenceCount -= 1;
+
+        /* Update the task pointer. */
+        TaskHeader->task = (gcsTASK_HEADER_PTR) (task + 1);
+    }
+    while (gcvFALSE);
+
+    /* Return status. */
+    return status;
+}
+
+static gceSTATUS
+_TaskLockdown(
+    gckVGCOMMAND Command,
+    gcsBLOCK_TASK_ENTRY_PTR TaskHeader
+    )
+{
+    gceSTATUS status;
+    gctUINT32_PTR userCounter   = gcvNULL;
+    gctUINT32_PTR kernelCounter = gcvNULL;
+    gctSIGNAL signal            = gcvNULL;
+
+    do
+    {
+        /* Cast the task pointer. */
+        gcsTASK_LOCKDOWN_PTR task = (gcsTASK_LOCKDOWN_PTR) TaskHeader->task;
+
+        /* Convert physical addresses into logical. */
+        gcmkERR_BREAK(gckOS_MapPhysical(
+            Command->os,
+            task->userCounter,
+            gcmSIZEOF(gctUINT32),
+            (gctPOINTER *) &userCounter
+            ));
+
+        gcmkERR_BREAK(gckOS_MapPhysical(
+            Command->os,
+            task->kernelCounter,
+            gcmSIZEOF(gctUINT32),
+            (gctPOINTER *) &kernelCounter
+            ));
+
+        /* Update the kernel counter. */
+        (* kernelCounter) += 1;
+
+        /* Are the counters equal? */
+        if ((* userCounter) == (* kernelCounter))
+        {
+            /* Map the signal into kernel space. */
+            gcmkERR_BREAK(gckOS_MapSignal(
+                Command->os, task->signal, task->process, &signal
+                ));
+
+            if (signal == gcvNULL)
+            {
+                /* Signal. */
+                gcmkERR_BREAK(gckOS_Signal(
+                    Command->os, task->signal, gcvTRUE
+                    ));
+            }
+            else
+            {
+                /* Signal. */
+                gcmkERR_BREAK(gckOS_Signal(
+                    Command->os, signal, gcvTRUE
+                    ));
+            }
+        }
+
+        /* Update the reference counter. */
+        TaskHeader->container->referenceCount -= 1;
+
+        /* Update the task pointer. */
+        TaskHeader->task = (gcsTASK_HEADER_PTR) (task + 1);
+    }
+    while (gcvFALSE);
+
+    /* Destroy the mapped signal. */
+    if (signal != gcvNULL)
+    {
+        gcmkVERIFY_OK(gckOS_DestroySignal(
+            Command->os, signal
+            ));
+    }
+
+    /* Unmap the physical memory. */
+    if (kernelCounter != gcvNULL)
+    {
+        gcmkVERIFY_OK(gckOS_UnmapPhysical(
+            Command->os,
+            kernelCounter,
+            gcmSIZEOF(gctUINT32)
+            ));
+    }
+
+    if (userCounter != gcvNULL)
+    {
+        gcmkVERIFY_OK(gckOS_UnmapPhysical(
+            Command->os,
+            userCounter,
+            gcmSIZEOF(gctUINT32)
+            ));
+    }
+
+    /* Return status. */
+    return status;
+}
+
+static gceSTATUS
+_TaskUnlockVideoMemory(
+    gckVGCOMMAND Command,
+    gcsBLOCK_TASK_ENTRY_PTR TaskHeader
+    )
+{
+    gceSTATUS status;
+
+    do
+    {
+        /* Cast the task pointer. */
+        gcsTASK_UNLOCK_VIDEO_MEMORY_PTR task
+            = (gcsTASK_UNLOCK_VIDEO_MEMORY_PTR) TaskHeader->task;
+
+        /* Unlock video memory. */
+        gcmkERR_BREAK(gckVIDMEM_Unlock(
+            Command->kernel->kernel,
+            gcmUINT64_TO_PTR(task->node),
+            gcvSURF_TYPE_UNKNOWN,
+            gcvNULL));
+
+        /* Update the reference counter. */
+        TaskHeader->container->referenceCount -= 1;
+
+        /* Update the task pointer. */
+        TaskHeader->task = (gcsTASK_HEADER_PTR) (task + 1);
+    }
+    while (gcvFALSE);
+
+    /* Return status. */
+    return status;
+}
+
+static gceSTATUS
+_TaskFreeVideoMemory(
+    gckVGCOMMAND Command,
+    gcsBLOCK_TASK_ENTRY_PTR TaskHeader
+    )
+{
+    gceSTATUS status;
+
+    do
+    {
+        /* Cast the task pointer. */
+        gcsTASK_FREE_VIDEO_MEMORY_PTR task
+            = (gcsTASK_FREE_VIDEO_MEMORY_PTR) TaskHeader->task;
+
+        /* Free video memory. */
+        gcmkERR_BREAK(gckVIDMEM_Free(gcmUINT64_TO_PTR(task->node)));
+
+        /* Update the reference counter. */
+        TaskHeader->container->referenceCount -= 1;
+
+        /* Update the task pointer. */
+        TaskHeader->task = (gcsTASK_HEADER_PTR) (task + 1);
+    }
+    while (gcvFALSE);
+
+    /* Return status. */
+    return status;
+}
+
+static gceSTATUS
+_TaskFreeContiguousMemory(
+    gckVGCOMMAND Command,
+    gcsBLOCK_TASK_ENTRY_PTR TaskHeader
+    )
+{
+    gceSTATUS status;
+
+    do
+    {
+        /* Cast the task pointer. */
+        gcsTASK_FREE_CONTIGUOUS_MEMORY_PTR task
+            = (gcsTASK_FREE_CONTIGUOUS_MEMORY_PTR) TaskHeader->task;
+
+        /* Free contiguous memory. */
+        gcmkERR_BREAK(gckOS_FreeContiguous(
+            Command->os, task->physical, task->logical, task->bytes
+            ));
+
+        /* Update the reference counter. */
+        TaskHeader->container->referenceCount -= 1;
+
+        /* Update the task pointer. */
+        TaskHeader->task = (gcsTASK_HEADER_PTR) (task + 1);
+    }
+    while (gcvFALSE);
+
+    /* Return status. */
+    return status;
+}
+
+static gceSTATUS
+_TaskUnmapUserMemory(
+    gckVGCOMMAND Command,
+    gcsBLOCK_TASK_ENTRY_PTR TaskHeader
+    )
+{
+    gceSTATUS status;
+
+    do
+    {
+        /* Cast the task pointer. */
+        gcsTASK_UNMAP_USER_MEMORY_PTR task
+            = (gcsTASK_UNMAP_USER_MEMORY_PTR) TaskHeader->task;
+
+        /* Unmap the user memory. */
+        gcmkERR_BREAK(gckOS_UnmapUserMemory(
+            Command->os, gcvCORE_VG, task->memory, task->size, task->info, task->address
+            ));
+
+        /* Update the reference counter. */
+        TaskHeader->container->referenceCount -= 1;
+
+        /* Update the task pointer. */
+        TaskHeader->task = (gcsTASK_HEADER_PTR) (task + 1);
+    }
+    while (gcvFALSE);
+
+    /* Return status. */
+    return status;
+}
+
+/******************************************************************************\
+************ Hardware Block Interrupt Handlers For Scheduled Events ************
+\******************************************************************************/
+
+static gceSTATUS
+_EventHandler_Block(
+    IN gckVGKERNEL Kernel,
+    IN gcsBLOCK_TASK_ENTRY_PTR TaskHeader,
+    IN gctBOOL ProcessAll
+    )
+{
+    gceSTATUS status, last;
+
+    gcmkHEADER_ARG("Kernel=0x%x TaskHeader=0x%x ProcessAll=0x%x", Kernel, TaskHeader, ProcessAll);
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Kernel, gcvOBJ_KERNEL);
+
+    do
+    {
+        gckVGCOMMAND command;
+
+        /* Get the command buffer object. */
+        command = Kernel->command;
+
+        /* Increment the interrupt usage semaphore. */
+        gcmkERR_BREAK(gckOS_IncrementSemaphore(
+            command->os, TaskHeader->interruptSemaphore
+            ));
+
+        /* Acquire the mutex. */
+        gcmkERR_BREAK(gckOS_AcquireMutex(
+            command->os,
+            command->taskMutex,
+            gcvINFINITE
+            ));
+
+        /* Verify inputs. */
+        gcmkASSERT(TaskHeader            != gcvNULL);
+        gcmkASSERT(TaskHeader->container != gcvNULL);
+        gcmkASSERT(TaskHeader->task      != gcvNULL);
+        gcmkASSERT(TaskHeader->link      != gcvNULL);
+
+        /* Process tasks. */
+        do
+        {
+            /* Process the current task. */
+            gcmkERR_BREAK(_taskRoutine[TaskHeader->task->id](
+                command,
+                TaskHeader
+                ));
+
+            /* Is the next task is LINK? */
+            if (TaskHeader->task->id == gcvTASK_LINK)
+            {
+                gcmkERR_BREAK(_taskRoutine[TaskHeader->task->id](
+                    command,
+                    TaskHeader
+                    ));
+
+                /* Done. */
+                break;
+            }
+        }
+        while (ProcessAll);
+
+        /* Release the mutex. */
+        gcmkCHECK_STATUS(gckOS_ReleaseMutex(
+            command->os,
+            command->taskMutex
+            ));
+    }
+    while (gcvFALSE);
+
+    gcmkFOOTER();
+    /* Return status. */
+    return status;
+}
+
+gcmDECLARE_INTERRUPT_HANDLER(COMMAND, 0)
+{
+    gceSTATUS status, last;
+
+    gcmkHEADER_ARG("Kernel=0x%x ", Kernel);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Kernel, gcvOBJ_KERNEL);
+
+
+    do
+    {
+        gckVGCOMMAND command;
+        gcsKERNEL_QUEUE_HEADER_PTR mergeQueue;
+        gcsKERNEL_QUEUE_HEADER_PTR queueTail;
+        gcsKERNEL_CMDQUEUE_PTR entry;
+        gctUINT entryCount;
+
+        /* Get the command buffer object. */
+        command = Kernel->command;
+
+        /* Acquire the mutex. */
+        gcmkERR_BREAK(gckOS_AcquireMutex(
+            command->os,
+            command->queueMutex,
+            gcvINFINITE
+            ));
+
+        /* Get the current queue. */
+        queueTail = command->queueTail;
+
+        /* Get the current queue entry. */
+        entry = queueTail->currentEntry;
+
+        /* Get the number of entries in the queue. */
+        entryCount = queueTail->pending;
+
+        /* Process all entries. */
+        while (gcvTRUE)
+        {
+            /* Call post-execution function. */
+            status = entry->handler(Kernel, entry);
+
+            /* Failed? */
+            if (gcmkIS_ERROR(status))
+            {
+                gcmkTRACE_ZONE(
+                    gcvLEVEL_ERROR,
+                    gcvZONE_COMMAND,
+                    "[%s] line %d: post action failed.\n",
+                    __FUNCTION__, __LINE__
+                    );
+            }
+
+            /* Executed the next buffer? */
+            if (status == gcvSTATUS_EXECUTED)
+            {
+                /* Update the queue. */
+                queueTail->pending      = entryCount;
+                queueTail->currentEntry = entry;
+
+                /* Success. */
+                status = gcvSTATUS_OK;
+
+                /* Break out of the loop. */
+                break;
+            }
+
+            /* Advance to the next entry. */
+            entry      += 1;
+            entryCount -= 1;
+
+            /* Last entry? */
+            if (entryCount == 0)
+            {
+                /* Reset the queue to idle. */
+                queueTail->pending = 0;
+
+                /* Get a shortcut to the queue to merge with. */
+                mergeQueue = command->mergeQueue;
+
+                /* Merge the queues if necessary. */
+                if (mergeQueue != queueTail)
+                {
+                    gcmkASSERT(mergeQueue < queueTail);
+                    gcmkASSERT(mergeQueue->next == queueTail);
+
+                    mergeQueue->size
+                        += gcmSIZEOF(gcsKERNEL_QUEUE_HEADER)
+                        + queueTail->size;
+
+                    mergeQueue->next = queueTail->next;
+                }
+
+                /* Advance to the next queue. */
+                queueTail = queueTail->next;
+
+                /* Did it wrap around? */
+                if (command->queue == queueTail)
+                {
+                    /* Reset merge queue. */
+                    command->mergeQueue = queueTail;
+                }
+
+                /* Set new queue. */
+                command->queueTail = queueTail;
+
+                /* Is the next queue scheduled? */
+                if (queueTail->pending > 0)
+                {
+                    gcsCMDBUFFER_PTR commandBuffer;
+
+                    /* The first entry must be a command buffer. */
+                    commandBuffer = queueTail->currentEntry->commandBuffer;
+
+                    /* Start the command processor. */
+                    status = gckVGHARDWARE_Execute(
+                        command->hardware,
+                        commandBuffer->address,
+                        commandBuffer->dataCount
+                        );
+
+                    /* Failed? */
+                    if (gcmkIS_ERROR(status))
+                    {
+                        gcmkTRACE_ZONE(
+                            gcvLEVEL_ERROR,
+                            gcvZONE_COMMAND,
+                            "[%s] line %d: failed to start the next queue.\n",
+                            __FUNCTION__, __LINE__
+                            );
+                    }
+                }
+                else
+                {
+                    status = gckVGHARDWARE_SetPowerManagementState(
+                                Kernel->command->hardware, gcvPOWER_IDLE_BROADCAST
+                                );
+                }
+
+                /* Break out of the loop. */
+                break;
+            }
+        }
+
+        /* Release the mutex. */
+        gcmkCHECK_STATUS(gckOS_ReleaseMutex(
+            command->os,
+            command->queueMutex
+            ));
+    }
+    while (gcvFALSE);
+
+
+    gcmkFOOTER();
+    /* Return status. */
+    return status;
+}
+
+/* Define standard block interrupt handlers. */
+gcmDEFINE_INTERRUPT_HANDLER(TESSELLATOR, 0)
+gcmDEFINE_INTERRUPT_HANDLER(VG,          0)
+gcmDEFINE_INTERRUPT_HANDLER(PIXEL,       0)
+gcmDEFINE_INTERRUPT_HANDLER(PIXEL,       1)
+gcmDEFINE_INTERRUPT_HANDLER(PIXEL,       2)
+gcmDEFINE_INTERRUPT_HANDLER(PIXEL,       3)
+gcmDEFINE_INTERRUPT_HANDLER(PIXEL,       4)
+gcmDEFINE_INTERRUPT_HANDLER(PIXEL,       5)
+gcmDEFINE_INTERRUPT_HANDLER(PIXEL,       6)
+gcmDEFINE_INTERRUPT_HANDLER(PIXEL,       7)
+gcmDEFINE_INTERRUPT_HANDLER(PIXEL,       8)
+gcmDEFINE_INTERRUPT_HANDLER(PIXEL,       9)
+
+/* The entries in the array are arranged by event priority. */
+static gcsBLOCK_INTERRUPT_HANDLER _blockHandlers[] =
+{
+    gcmDEFINE_INTERRUPT_HANDLER_ENTRY(TESSELLATOR, 0),
+    gcmDEFINE_INTERRUPT_HANDLER_ENTRY(VG,          0),
+    gcmDEFINE_INTERRUPT_HANDLER_ENTRY(PIXEL,       0),
+    gcmDEFINE_INTERRUPT_HANDLER_ENTRY(PIXEL,       1),
+    gcmDEFINE_INTERRUPT_HANDLER_ENTRY(PIXEL,       2),
+    gcmDEFINE_INTERRUPT_HANDLER_ENTRY(PIXEL,       3),
+    gcmDEFINE_INTERRUPT_HANDLER_ENTRY(PIXEL,       4),
+    gcmDEFINE_INTERRUPT_HANDLER_ENTRY(PIXEL,       5),
+    gcmDEFINE_INTERRUPT_HANDLER_ENTRY(PIXEL,       6),
+    gcmDEFINE_INTERRUPT_HANDLER_ENTRY(PIXEL,       7),
+    gcmDEFINE_INTERRUPT_HANDLER_ENTRY(PIXEL,       8),
+    gcmDEFINE_INTERRUPT_HANDLER_ENTRY(PIXEL,       9),
+    gcmDEFINE_INTERRUPT_HANDLER_ENTRY(COMMAND,     0),
+};
+
+
+/******************************************************************************\
+************************* Static Command Buffer Handlers ***********************
+\******************************************************************************/
+
+static gceSTATUS
+_UpdateStaticCommandBuffer(
+    IN gckVGKERNEL Kernel,
+    IN gcsKERNEL_CMDQUEUE_PTR Entry
+    )
+{
+    gcmkTRACE_ZONE(
+        gcvLEVEL_VERBOSE, gcvZONE_COMMAND,
+        "%s(%d)\n",
+        __FUNCTION__, __LINE__
+        );
+
+    /* Success. */
+    return gcvSTATUS_OK;
+}
+
+static gceSTATUS
+_ExecuteStaticCommandBuffer(
+    IN gckVGKERNEL Kernel,
+    IN gcsKERNEL_CMDQUEUE_PTR Entry
+    )
+{
+    gceSTATUS status;
+
+    do
+    {
+        gcsCMDBUFFER_PTR commandBuffer;
+
+        /* Cast the command buffer header. */
+        commandBuffer = Entry->commandBuffer;
+
+        /* Set to update the command buffer next time. */
+        Entry->handler = _UpdateStaticCommandBuffer;
+
+        gcmkTRACE_ZONE(
+            gcvLEVEL_VERBOSE, gcvZONE_COMMAND,
+            "%s(%d): executing next buffer @ 0x%08X, data count = %d\n",
+            __FUNCTION__, __LINE__,
+            commandBuffer->address,
+            commandBuffer->dataCount
+            );
+
+        /* Start the command processor. */
+        gcmkERR_BREAK(gckVGHARDWARE_Execute(
+            Kernel->hardware,
+            commandBuffer->address,
+            commandBuffer->dataCount
+            ));
+
+        /* Success. */
+        return gcvSTATUS_EXECUTED;
+    }
+    while (gcvFALSE);
+
+    /* Return status. */
+    return status;
+}
+
+static gceSTATUS
+_UpdateLastStaticCommandBuffer(
+    IN gckVGKERNEL Kernel,
+    IN gcsKERNEL_CMDQUEUE_PTR Entry
+    )
+{
+#if gcvDEBUG || gcdFORCE_MESSAGES
+    /* Get the command buffer header. */
+    gcsCMDBUFFER_PTR commandBuffer = Entry->commandBuffer;
+
+    /* Validate the command buffer. */
+    gcmkASSERT(commandBuffer->completion != gcvNULL);
+    gcmkASSERT(commandBuffer->completion != gcvVACANT_BUFFER);
+
+#endif
+
+    gcmkTRACE_ZONE(
+        gcvLEVEL_VERBOSE, gcvZONE_COMMAND,
+        "%s(%d): processing all tasks scheduled for FE.\n",
+        __FUNCTION__, __LINE__
+        );
+
+    /* Perform scheduled tasks. */
+    return _EventHandler_Block(
+        Kernel,
+        &Kernel->command->taskTable[gcvBLOCK_COMMAND],
+        gcvTRUE
+        );
+}
+
+static gceSTATUS
+_ExecuteLastStaticCommandBuffer(
+    IN gckVGKERNEL Kernel,
+    IN gcsKERNEL_CMDQUEUE_PTR Entry
+    )
+{
+    gceSTATUS status;
+
+    do
+    {
+        /* Cast the command buffer header. */
+        gcsCMDBUFFER_PTR commandBuffer = Entry->commandBuffer;
+
+        /* Set to update the command buffer next time. */
+        Entry->handler = _UpdateLastStaticCommandBuffer;
+
+        gcmkTRACE_ZONE(
+            gcvLEVEL_VERBOSE, gcvZONE_COMMAND,
+            "%s(%d): executing next buffer @ 0x%08X, data count = %d\n",
+            __FUNCTION__, __LINE__,
+            commandBuffer->address,
+            commandBuffer->dataCount
+            );
+
+        /* Start the command processor. */
+        gcmkERR_BREAK(gckVGHARDWARE_Execute(
+            Kernel->hardware,
+            commandBuffer->address,
+            commandBuffer->dataCount
+            ));
+
+        /* Success. */
+        return gcvSTATUS_EXECUTED;
+    }
+    while (gcvFALSE);
+
+    /* Return status. */
+    return status;
+}
+
+
+/******************************************************************************\
+************************* Dynamic Command Buffer Handlers **********************
+\******************************************************************************/
+
+static gceSTATUS
+_UpdateDynamicCommandBuffer(
+    IN gckVGKERNEL Kernel,
+    IN gcsKERNEL_CMDQUEUE_PTR Entry
+    )
+{
+    gcmkTRACE_ZONE(
+        gcvLEVEL_VERBOSE, gcvZONE_COMMAND,
+        "%s(%d)\n",
+        __FUNCTION__, __LINE__
+        );
+
+    /* Success. */
+    return gcvSTATUS_OK;
+}
+
+static gceSTATUS
+_ExecuteDynamicCommandBuffer(
+    IN gckVGKERNEL Kernel,
+    IN gcsKERNEL_CMDQUEUE_PTR Entry
+    )
+{
+    gceSTATUS status;
+
+    do
+    {
+        /* Cast the command buffer header. */
+        gcsCMDBUFFER_PTR commandBuffer = Entry->commandBuffer;
+
+        /* Set to update the command buffer next time. */
+        Entry->handler = _UpdateDynamicCommandBuffer;
+
+        gcmkTRACE_ZONE(
+            gcvLEVEL_VERBOSE, gcvZONE_COMMAND,
+            "%s(%d): executing next buffer @ 0x%08X, data count = %d\n",
+            __FUNCTION__, __LINE__,
+            commandBuffer->address,
+            commandBuffer->dataCount
+            );
+
+        /* Start the command processor. */
+        gcmkERR_BREAK(gckVGHARDWARE_Execute(
+            Kernel->hardware,
+            commandBuffer->address,
+            commandBuffer->dataCount
+            ));
+
+        /* Success. */
+        return gcvSTATUS_EXECUTED;
+    }
+    while (gcvFALSE);
+
+    /* Return status. */
+    return status;
+}
+
+static gceSTATUS
+_UpdateLastDynamicCommandBuffer(
+    IN gckVGKERNEL Kernel,
+    IN gcsKERNEL_CMDQUEUE_PTR Entry
+    )
+{
+#if gcvDEBUG || gcdFORCE_MESSAGES
+    /* Get the command buffer header. */
+    gcsCMDBUFFER_PTR commandBuffer = Entry->commandBuffer;
+
+    /* Validate the command buffer. */
+    gcmkASSERT(commandBuffer->completion != gcvNULL);
+    gcmkASSERT(commandBuffer->completion != gcvVACANT_BUFFER);
+
+#endif
+
+    gcmkTRACE_ZONE(
+        gcvLEVEL_VERBOSE, gcvZONE_COMMAND,
+        "%s(%d): processing all tasks scheduled for FE.\n",
+        __FUNCTION__, __LINE__
+        );
+
+    /* Perform scheduled tasks. */
+    return _EventHandler_Block(
+        Kernel,
+        &Kernel->command->taskTable[gcvBLOCK_COMMAND],
+        gcvTRUE
+        );
+}
+
+static gceSTATUS
+_ExecuteLastDynamicCommandBuffer(
+    IN gckVGKERNEL Kernel,
+    IN gcsKERNEL_CMDQUEUE_PTR Entry
+    )
+{
+    gceSTATUS status;
+
+    do
+    {
+        /* Cast the command buffer header. */
+        gcsCMDBUFFER_PTR commandBuffer = Entry->commandBuffer;
+
+        /* Set to update the command buffer next time. */
+        Entry->handler = _UpdateLastDynamicCommandBuffer;
+
+        gcmkTRACE_ZONE(
+            gcvLEVEL_VERBOSE, gcvZONE_COMMAND,
+            "%s(%d): executing next buffer @ 0x%08X, data count = %d\n",
+            __FUNCTION__, __LINE__,
+            commandBuffer->address,
+            commandBuffer->dataCount
+            );
+
+        /* Start the command processor. */
+        gcmkERR_BREAK(gckVGHARDWARE_Execute(
+            Kernel->hardware,
+            commandBuffer->address,
+            commandBuffer->dataCount
+            ));
+
+        /* Success. */
+        return gcvSTATUS_EXECUTED;
+    }
+    while (gcvFALSE);
+
+    /* Return status. */
+    return status;
+}
+
+
+/******************************************************************************\
+********************************* Other Handlers *******************************
+\******************************************************************************/
+
+static gceSTATUS
+_FreeKernelCommandBuffer(
+    IN gckVGKERNEL Kernel,
+    IN gcsKERNEL_CMDQUEUE_PTR Entry
+    )
+{
+    gceSTATUS status;
+
+    /* Free the command buffer. */
+    status = _FreeCommandBuffer(Kernel, Entry->commandBuffer);
+
+    /* Return status. */
+    return status;
+}
+
+
+/******************************************************************************\
+******************************* Queue Management *******************************
+\******************************************************************************/
+
+#if gcvDUMP_COMMAND_BUFFER
+static void
+_DumpCommandQueue(
+    IN gckVGCOMMAND Command,
+    IN gcsKERNEL_QUEUE_HEADER_PTR QueueHeader,
+    IN gctUINT EntryCount
+    )
+{
+    gcsKERNEL_CMDQUEUE_PTR entry;
+    gctUINT queueIndex;
+
+#if defined(gcvCOMMAND_BUFFER_NAME)
+    static gctUINT arrayCount = 0;
+#endif
+
+    /* Is dumpinng enabled? */
+    if (!Commad->enableDumping)
+    {
+        return;
+    }
+
+#if !defined(gcvCOMMAND_BUFFER_NAME)
+    gcmkTRACE_ZONE(
+        gcvLEVEL_INFO, gcvZONE_COMMAND,
+        "COMMAND QUEUE DUMP: %d entries\n", EntryCount
+        );
+#endif
+
+    /* Get the pointer to the first entry. */
+    entry = QueueHeader->currentEntry;
+
+    /* Iterate through the queue. */
+    for (queueIndex = 0; queueIndex < EntryCount; queueIndex += 1)
+    {
+        gcsCMDBUFFER_PTR buffer;
+        gctUINT bufferCount;
+        gctUINT bufferIndex;
+        gctUINT i, count;
+        gctUINT size;
+        gctUINT32_PTR data;
+
+#if gcvDUMP_COMMAND_LINES
+        gctUINT lineNumber;
+#endif
+
+#if !defined(gcvCOMMAND_BUFFER_NAME)
+        gcmkTRACE_ZONE(
+            gcvLEVEL_INFO, gcvZONE_COMMAND,
+            "ENTRY %d\n", queueIndex
+            );
+#endif
+
+        /* Reset the count. */
+        bufferCount = 0;
+
+        /* Set the initial buffer. */
+        buffer = entry->commandBuffer;
+
+        /* Loop through all subbuffers. */
+        while (buffer)
+        {
+            /* Update the count. */
+            bufferCount += 1;
+
+            /* Advance to the next subbuffer. */
+            buffer = buffer->nextSubBuffer;
+        }
+
+#if !defined(gcvCOMMAND_BUFFER_NAME)
+        if (bufferCount > 1)
+        {
+            gcmkTRACE_ZONE(
+                gcvLEVEL_INFO,
+                gcvZONE_COMMAND,
+                "  COMMAND BUFFER SET: %d buffers.\n",
+                bufferCount
+                );
+        }
+#endif
+
+        /* Reset the buffer index. */
+        bufferIndex = 0;
+
+        /* Set the initial buffer. */
+        buffer = entry->commandBuffer;
+
+        /* Loop through all subbuffers. */
+        while (buffer)
+        {
+            /* Determine the size of the buffer. */
+            size = buffer->dataCount * Command->info.commandAlignment;
+
+#if !defined(gcvCOMMAND_BUFFER_NAME)
+            /* A single buffer? */
+            if (bufferCount == 1)
+            {
+                gcmkTRACE_ZONE(
+                    gcvLEVEL_INFO,
+                    gcvZONE_COMMAND,
+                    "  COMMAND BUFFER: count=%d (0x%X), size=%d bytes @ %08X.\n",
+                    buffer->dataCount,
+                    buffer->dataCount,
+                    size,
+                    buffer->address
+                    );
+            }
+            else
+            {
+                gcmkTRACE_ZONE(
+                    gcvLEVEL_INFO,
+                    gcvZONE_COMMAND,
+                    "  COMMAND BUFFER %d: count=%d (0x%X), size=%d bytes @ %08X\n",
+                    bufferIndex,
+                    buffer->dataCount,
+                    buffer->dataCount,
+                    size,
+                    buffer->address
+                    );
+            }
+#endif
+
+            /* Determine the number of double words to print. */
+            count = size / 4;
+
+            /* Determine the buffer location. */
+            data = (gctUINT32_PTR)
+            (
+                (gctUINT8_PTR) buffer + buffer->bufferOffset
+            );
+
+#if defined(gcvCOMMAND_BUFFER_NAME)
+            gcmkTRACE_ZONE(
+                gcvLEVEL_INFO,
+                gcvZONE_COMMAND,
+                "unsigned int _" gcvCOMMAND_BUFFER_NAME "_%d[] =\n",
+                arrayCount
+                );
+
+            gcmkTRACE_ZONE(
+                gcvLEVEL_INFO,
+                gcvZONE_COMMAND,
+                "{\n"
+                );
+
+            arrayCount += 1;
+#endif
+
+#if gcvDUMP_COMMAND_LINES
+            /* Reset the line number. */
+            lineNumber = 0;
+#endif
+
+#if defined(gcvCOMMAND_BUFFER_NAME)
+            count -= 2;
+#endif
+
+            for (i = 0; i < count; i += 1)
+            {
+                if ((i % 8) == 0)
+                {
+#if defined(gcvCOMMAND_BUFFER_NAME)
+                    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_COMMAND, "\t");
+#else
+                    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_COMMAND, "    ");
+#endif
+                }
+
+#if gcvDUMP_COMMAND_LINES
+                if (lineNumber == gcvDUMP_COMMAND_LINES)
+                {
+                    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_COMMAND, " . . . . . . . . .\n");
+                    break;
+                }
+#endif
+                gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_COMMAND, "0x%08X", data[i]);
+
+                if (i + 1 == count)
+                {
+                    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_COMMAND, "\n");
+
+#if gcvDUMP_COMMAND_LINES
+                    lineNumber += 1;
+#endif
+                }
+                else
+                {
+                    if (((i + 1) % 8) == 0)
+                    {
+                        gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_COMMAND, ",\n");
+
+#if gcvDUMP_COMMAND_LINES
+                        lineNumber += 1;
+#endif
+                    }
+                    else
+                    {
+                        gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_COMMAND, ", ");
+                    }
+                }
+            }
+
+#if defined(gcvCOMMAND_BUFFER_NAME)
+            gcmkTRACE_ZONE(
+                gcvLEVEL_INFO,
+                gcvZONE_COMMAND,
+                "};\n\n"
+                );
+#endif
+
+            /* Advance to the next subbuffer. */
+            buffer = buffer->nextSubBuffer;
+            bufferIndex += 1;
+        }
+
+        /* Advance to the next entry. */
+        entry += 1;
+    }
+}
+#endif
+
+static gceSTATUS
+_LockCurrentQueue(
+    IN gckVGCOMMAND Command,
+    OUT gcsKERNEL_CMDQUEUE_PTR * Entries,
+    OUT gctUINT_PTR EntryCount
+    )
+{
+    gceSTATUS status;
+
+    do
+    {
+        gcsKERNEL_QUEUE_HEADER_PTR queueHead;
+
+        /* Get a shortcut to the head of the queue. */
+        queueHead = Command->queueHead;
+
+        /* Is the head buffer still being worked on? */
+        if (queueHead->pending)
+        {
+            /* Increment overflow count. */
+            Command->queueOverflow += 1;
+
+            /* Wait until the head becomes idle. */
+            gcmkERR_BREAK(_WaitForIdle(Command, queueHead));
+        }
+
+        /* Acquire the mutex. */
+        gcmkERR_BREAK(gckOS_AcquireMutex(
+            Command->os,
+            Command->queueMutex,
+            gcvINFINITE
+            ));
+
+        /* Determine the first queue entry. */
+        queueHead->currentEntry = (gcsKERNEL_CMDQUEUE_PTR)
+        (
+            (gctUINT8_PTR) queueHead + gcmSIZEOF(gcsKERNEL_QUEUE_HEADER)
+        );
+
+        /* Set the pointer to the first entry. */
+        * Entries = queueHead->currentEntry;
+
+        /* Determine the number of available entries. */
+        * EntryCount = queueHead->size / gcmSIZEOF(gcsKERNEL_CMDQUEUE);
+
+        /* Success. */
+        return gcvSTATUS_OK;
+    }
+    while (gcvFALSE);
+
+    /* Return status. */
+    return status;
+}
+
+static gceSTATUS
+_UnlockCurrentQueue(
+    IN gckVGCOMMAND Command,
+    IN gctUINT EntryCount
+    )
+{
+    gceSTATUS status;
+
+    do
+    {
+#if !gcdENABLE_INFINITE_SPEED_HW
+        gcsKERNEL_QUEUE_HEADER_PTR queueTail;
+        gcsKERNEL_QUEUE_HEADER_PTR queueHead;
+        gcsKERNEL_QUEUE_HEADER_PTR queueNext;
+        gctUINT queueSize;
+        gctUINT newSize;
+        gctUINT unusedSize;
+
+        /* Get shortcut to the head and to the tail of the queue. */
+        queueTail = Command->queueTail;
+        queueHead = Command->queueHead;
+
+        /* Dump the command buffer. */
+#if gcvDUMP_COMMAND_BUFFER
+        _DumpCommandQueue(Command, queueHead, EntryCount);
+#endif
+
+        /* Get a shortcut to the current queue size. */
+        queueSize = queueHead->size;
+
+        /* Determine the new queue size. */
+        newSize = EntryCount * gcmSIZEOF(gcsKERNEL_CMDQUEUE);
+        gcmkASSERT(newSize <= queueSize);
+
+        /* Determine the size of the unused area. */
+        unusedSize = queueSize - newSize;
+
+        /* Is the unused area big enough to become a buffer? */
+        if (unusedSize >= gcvMINUMUM_BUFFER)
+        {
+            gcsKERNEL_QUEUE_HEADER_PTR nextHead;
+
+            /* Place the new header. */
+            nextHead = (gcsKERNEL_QUEUE_HEADER_PTR)
+            (
+                (gctUINT8_PTR) queueHead
+                    + gcmSIZEOF(gcsKERNEL_QUEUE_HEADER)
+                    + newSize
+            );
+
+            /* Initialize the buffer. */
+            nextHead->size    = unusedSize - gcmSIZEOF(gcsKERNEL_QUEUE_HEADER);
+            nextHead->pending = 0;
+
+            /* Link the buffer in. */
+            nextHead->next  = queueHead->next;
+            queueHead->next = nextHead;
+            queueNext       = nextHead;
+
+            /* Update the size of the current buffer. */
+            queueHead->size = newSize;
+        }
+
+        /* Not big enough. */
+        else
+        {
+            /* Determine the next queue. */
+            queueNext = queueHead->next;
+        }
+
+        /* Mark the buffer as busy. */
+        queueHead->pending = EntryCount;
+
+        /* Advance to the next buffer. */
+        Command->queueHead = queueNext;
+
+        /* Start the command processor if the queue was empty. */
+        if (queueTail == queueHead)
+        {
+            gcsCMDBUFFER_PTR commandBuffer;
+
+            /* The first entry must be a command buffer. */
+            commandBuffer = queueTail->currentEntry->commandBuffer;
+
+            /* Start the command processor. */
+            gcmkERR_BREAK(gckVGHARDWARE_Execute(
+                Command->hardware,
+                commandBuffer->address,
+                commandBuffer->dataCount
+                ));
+        }
+
+        /* The queue was not empty. */
+        else
+        {
+            /* Advance the merge buffer if needed. */
+            if (queueHead == Command->mergeQueue)
+            {
+                Command->mergeQueue = queueNext;
+            }
+        }
+#endif
+
+        /* Release the mutex. */
+        gcmkERR_BREAK(gckOS_ReleaseMutex(
+            Command->os,
+            Command->queueMutex
+            ));
+
+        /* Success. */
+        return gcvSTATUS_OK;
+    }
+    while (gcvFALSE);
+
+    /* Return status. */
+    return status;
+}
+
+
+
+/******************************************************************************\
+****************************** gckVGCOMMAND API Code *****************************
+\******************************************************************************/
+gceSTATUS
+gckVGCOMMAND_Construct(
+    IN gckVGKERNEL Kernel,
+    IN gctUINT TaskGranularity,
+    IN gctUINT QueueSize,
+    OUT gckVGCOMMAND * Command
+    )
+{
+    gceSTATUS status, last;
+    gckVGCOMMAND command = gcvNULL;
+    gcsKERNEL_QUEUE_HEADER_PTR queue;
+    gctUINT i, j;
+
+    gcmkHEADER_ARG("Kernel=0x%x TaskGranularity=0x%x QueueSize=0x%x Command=0x%x",
+        Kernel, TaskGranularity, QueueSize, Command);
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Kernel, gcvOBJ_KERNEL);
+    gcmkVERIFY_ARGUMENT(QueueSize >= gcvMINUMUM_BUFFER);
+    gcmkVERIFY_ARGUMENT(Command != gcvNULL);
+
+    do
+    {
+        /***********************************************************************
+        ** Generic object initialization.
+        */
+
+        /* Allocate the gckVGCOMMAND structure. */
+        gcmkERR_BREAK(gckOS_Allocate(
+            Kernel->os,
+            gcmSIZEOF(struct _gckVGCOMMAND),
+            (gctPOINTER *) &command
+            ));
+
+        /* Initialize the object. */
+        command->object.type = gcvOBJ_COMMAND;
+
+        /* Set the object pointers. */
+        command->kernel      = Kernel;
+        command->os          = Kernel->os;
+        command->hardware    = Kernel->hardware;
+
+        /* Reset pointers. */
+        command->queue       = gcvNULL;
+        command->queueMutex  = gcvNULL;
+        command->taskMutex   = gcvNULL;
+        command->commitMutex = gcvNULL;
+
+        command->powerStallBuffer   = gcvNULL;
+        command->powerStallSignal   = gcvNULL;
+        command->powerSemaphore     = gcvNULL;
+
+        /* Reset context states. */
+        command->contextCounter = 0;
+        command->currentContext = 0;
+
+        /* Enable command buffer dumping. */
+        command->enableDumping = gcvTRUE;
+
+        /* Set features. */
+        command->fe20 = Kernel->hardware->fe20;
+        command->vg20 = Kernel->hardware->vg20;
+        command->vg21 = Kernel->hardware->vg21;
+
+        /* Reset task table .*/
+        gcmkVERIFY_OK(gckOS_ZeroMemory(
+            command->taskTable, gcmSIZEOF(command->taskTable)
+            ));
+
+        /* Query command buffer attributes. */
+        gcmkERR_BREAK(gckVGCOMMAND_InitializeInfo(command));
+
+        /* Create the control mutexes. */
+        gcmkERR_BREAK(gckOS_CreateMutex(Kernel->os, &command->queueMutex));
+        gcmkERR_BREAK(gckOS_CreateMutex(Kernel->os, &command->taskMutex));
+        gcmkERR_BREAK(gckOS_CreateMutex(Kernel->os, &command->commitMutex));
+
+        /* Create the power management semaphore. */
+        gcmkERR_BREAK(gckOS_CreateSemaphore(Kernel->os,
+            &command->powerSemaphore));
+
+        gcmkERR_BREAK(gckOS_CreateSignal(Kernel->os,
+            gcvFALSE, &command->powerStallSignal));
+
+        /***********************************************************************
+        ** Command queue initialization.
+        */
+
+        /* Allocate the command queue. */
+        gcmkERR_BREAK(gckOS_Allocate(
+            Kernel->os,
+            QueueSize,
+            (gctPOINTER *) &command->queue
+            ));
+
+        /* Initialize the command queue. */
+        queue = command->queue;
+
+        queue->size    = QueueSize - gcmSIZEOF(gcsKERNEL_QUEUE_HEADER);
+        queue->pending = 0;
+        queue->next    = queue;
+
+        command->queueHead  =
+        command->queueTail  =
+        command->mergeQueue = command->queue;
+
+        command->queueOverflow = 0;
+
+
+        /***********************************************************************
+        ** Enable TS overflow interrupt.
+        */
+
+        command->info.tsOverflowInt = 0;
+        gcmkERR_BREAK(gckVGINTERRUPT_Enable(
+            Kernel->interrupt,
+            &command->info.tsOverflowInt,
+            _EventHandler_TSOverflow
+            ));
+
+        /* Mask out the interrupt. */
+        Kernel->hardware->eventMask &= ~(1 << command->info.tsOverflowInt);
+
+
+        /***********************************************************************
+        ** Enable Bus Error interrupt.
+        */
+
+        /* Hardwired to bit 31. */
+        command->busErrorInt = 31;
+
+        /* Enable the interrupt. */
+        gcmkERR_BREAK(gckVGINTERRUPT_Enable(
+            Kernel->interrupt,
+            &command->busErrorInt,
+            _EventHandler_BusError
+            ));
+
+
+        command->powerStallInt = 30;
+        /* Enable the interrupt. */
+        gcmkERR_BREAK(gckVGINTERRUPT_Enable(
+            Kernel->interrupt,
+            &command->powerStallInt,
+            _EventHandler_PowerStall
+            ));
+
+        /***********************************************************************
+        ** Task management initialization.
+        */
+
+        command->taskStorage            = gcvNULL;
+        command->taskStorageGranularity = TaskGranularity;
+        command->taskStorageUsable      = TaskGranularity - gcmSIZEOF(gcsTASK_STORAGE);
+
+        command->taskFreeHead = gcvNULL;
+        command->taskFreeTail = gcvNULL;
+
+        /* Enable block handlers. */
+        for (i = 0; i < gcmCOUNTOF(_blockHandlers); i += 1)
+        {
+            /* Get the target hardware block. */
+            gceBLOCK block = _blockHandlers[i].block;
+
+            /* Get the interrupt array entry. */
+            gcsBLOCK_TASK_ENTRY_PTR entry = &command->taskTable[block];
+
+            /* Determine the interrupt value index. */
+            gctUINT index = entry->interruptCount;
+
+            /* Create the block semaphore. */
+            if (entry->interruptSemaphore == gcvNULL)
+            {
+                gcmkERR_BREAK(gckOS_CreateSemaphoreVG(
+                    command->os, &entry->interruptSemaphore
+                    ));
+            }
+
+            /* Enable auto-detection. */
+            entry->interruptArray[index] = -1;
+
+            /* Enable interrupt for the block. */
+            gcmkERR_BREAK(gckVGINTERRUPT_Enable(
+                Kernel->interrupt,
+                &entry->interruptArray[index],
+                _blockHandlers[i].handler
+                ));
+
+            /* Update the number of registered interrupts. */
+            entry->interruptCount += 1;
+
+            /* Inrement the semaphore to allow the usage of the registered
+               interrupt. */
+            gcmkERR_BREAK(gckOS_IncrementSemaphore(
+                command->os, entry->interruptSemaphore
+                ));
+
+        }
+
+        /* Error? */
+        if (gcmkIS_ERROR(status))
+        {
+            break;
+        }
+
+        /* Get the FE interrupt. */
+        command->info.feBufferInt
+            = command->taskTable[gcvBLOCK_COMMAND].interruptArray[0];
+
+        /* Return gckVGCOMMAND object pointer. */
+        *Command = command;
+
+        gcmkFOOTER_ARG("*Command=0x%x",*Command);
+        /* Success. */
+        return gcvSTATUS_OK;
+    }
+    while (gcvFALSE);
+
+    /* Roll back. */
+    if (command != gcvNULL)
+    {
+        /* Disable block handlers. */
+        for (i = 0; i < gcvBLOCK_COUNT; i += 1)
+        {
+            /* Get the task table entry. */
+            gcsBLOCK_TASK_ENTRY_PTR entry = &command->taskTable[i];
+
+            /* Destroy the semaphore. */
+            if (entry->interruptSemaphore != gcvNULL)
+            {
+                gcmkCHECK_STATUS(gckOS_DestroySemaphore(
+                    command->os, entry->interruptSemaphore
+                    ));
+            }
+
+            /* Disable all enabled interrupts. */
+            for (j = 0; j < entry->interruptCount; j += 1)
+            {
+                /* Must be a valid value. */
+                gcmkASSERT(entry->interruptArray[j] >= 0);
+                gcmkASSERT(entry->interruptArray[j] <= 31);
+
+                /* Disable the interrupt. */
+                gcmkCHECK_STATUS(gckVGINTERRUPT_Disable(
+                    Kernel->interrupt,
+                    entry->interruptArray[j]
+                    ));
+            }
+        }
+
+        /* Disable the bus error interrupt. */
+        gcmkCHECK_STATUS(gckVGINTERRUPT_Disable(
+            Kernel->interrupt,
+            command->busErrorInt
+            ));
+
+        /* Disable TS overflow interrupt. */
+        if (command->info.tsOverflowInt != -1)
+        {
+            gcmkCHECK_STATUS(gckVGINTERRUPT_Disable(
+                Kernel->interrupt,
+                command->info.tsOverflowInt
+                ));
+        }
+
+        /* Delete the commit mutex. */
+        if (command->commitMutex != gcvNULL)
+        {
+            gcmkCHECK_STATUS(gckOS_DeleteMutex(
+                Kernel->os, command->commitMutex
+                ));
+        }
+
+        /* Delete the command queue mutex. */
+        if (command->taskMutex != gcvNULL)
+        {
+            gcmkCHECK_STATUS(gckOS_DeleteMutex(
+                Kernel->os, command->taskMutex
+                ));
+        }
+
+        /* Delete the command queue mutex. */
+        if (command->queueMutex != gcvNULL)
+        {
+            gcmkCHECK_STATUS(gckOS_DeleteMutex(
+                Kernel->os, command->queueMutex
+                ));
+        }
+
+        /* Delete the command queue. */
+        if (command->queue != gcvNULL)
+        {
+            gcmkCHECK_STATUS(gckOS_Free(
+                Kernel->os, command->queue
+                ));
+        }
+
+        if (command->powerSemaphore != gcvNULL)
+        {
+            gcmkVERIFY_OK(gckOS_DestroySemaphore(
+                Kernel->os, command->powerSemaphore));
+        }
+
+        if (command->powerStallSignal != gcvNULL)
+        {
+            /* Create the power management semaphore. */
+            gcmkVERIFY_OK(gckOS_DestroySignal(
+                Kernel->os,
+                command->powerStallSignal));
+        }
+
+        /* Free the gckVGCOMMAND structure. */
+        gcmkCHECK_STATUS(gckOS_Free(
+            Kernel->os, command
+            ));
+    }
+
+    gcmkFOOTER();
+    /* Return the error. */
+    return status;
+}
+
+gceSTATUS
+gckVGCOMMAND_Destroy(
+    OUT gckVGCOMMAND Command
+    )
+{
+    gceSTATUS status = gcvSTATUS_OK;
+
+    gcmkHEADER_ARG("Command=0x%x", Command);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Command, gcvOBJ_COMMAND);
+
+    do
+    {
+        gctUINT i;
+        gcsTASK_STORAGE_PTR nextStorage;
+
+        if (Command->queueHead != gcvNULL)
+        {
+            /* Wait until the head becomes idle. */
+            gcmkERR_BREAK(_WaitForIdle(Command, Command->queueHead));
+        }
+
+        /* Disable block handlers. */
+        for (i = 0; i < gcvBLOCK_COUNT; i += 1)
+        {
+            /* Get the interrupt array entry. */
+            gcsBLOCK_TASK_ENTRY_PTR entry = &Command->taskTable[i];
+
+            /* Determine the index of the last interrupt in the array. */
+            gctINT index = entry->interruptCount - 1;
+
+            /* Destroy the semaphore. */
+            if (entry->interruptSemaphore != gcvNULL)
+            {
+                gcmkERR_BREAK(gckOS_DestroySemaphore(
+                    Command->os, entry->interruptSemaphore
+                    ));
+            }
+
+            /* Disable all enabled interrupts. */
+            while (index >= 0)
+            {
+                /* Must be a valid value. */
+                gcmkASSERT(entry->interruptArray[index] >= 0);
+                gcmkASSERT(entry->interruptArray[index] <= 31);
+
+                /* Disable the interrupt. */
+                gcmkERR_BREAK(gckVGINTERRUPT_Disable(
+                    Command->kernel->interrupt,
+                    entry->interruptArray[index]
+                    ));
+
+                /* Update to the next interrupt. */
+                index                 -= 1;
+                entry->interruptCount -= 1;
+            }
+
+            /* Error? */
+            if (gcmkIS_ERROR(status))
+            {
+                break;
+            }
+        }
+
+        /* Error? */
+        if (gcmkIS_ERROR(status))
+        {
+            break;
+        }
+
+        /* Disable the bus error interrupt. */
+        gcmkERR_BREAK(gckVGINTERRUPT_Disable(
+            Command->kernel->interrupt,
+            Command->busErrorInt
+            ));
+
+        /* Disable TS overflow interrupt. */
+        if (Command->info.tsOverflowInt != -1)
+        {
+            gcmkERR_BREAK(gckVGINTERRUPT_Disable(
+                Command->kernel->interrupt,
+                Command->info.tsOverflowInt
+                ));
+
+            Command->info.tsOverflowInt = -1;
+        }
+
+        /* Delete the commit mutex. */
+        if (Command->commitMutex != gcvNULL)
+        {
+            gcmkERR_BREAK(gckOS_DeleteMutex(
+                Command->os, Command->commitMutex
+                ));
+
+            Command->commitMutex = gcvNULL;
+        }
+
+        /* Delete the command queue mutex. */
+        if (Command->taskMutex != gcvNULL)
+        {
+            gcmkERR_BREAK(gckOS_DeleteMutex(
+                Command->os, Command->taskMutex
+                ));
+
+            Command->taskMutex = gcvNULL;
+        }
+
+        /* Delete the command queue mutex. */
+        if (Command->queueMutex != gcvNULL)
+        {
+            gcmkERR_BREAK(gckOS_DeleteMutex(
+                Command->os, Command->queueMutex
+                ));
+
+            Command->queueMutex = gcvNULL;
+        }
+
+        if (Command->powerSemaphore != gcvNULL)
+        {
+            /* Destroy the power management semaphore. */
+            gcmkERR_BREAK(gckOS_DestroySemaphore(
+                Command->os, Command->powerSemaphore));
+        }
+
+        if (Command->powerStallSignal != gcvNULL)
+        {
+            /* Create the power management semaphore. */
+            gcmkERR_BREAK(gckOS_DestroySignal(
+                Command->os,
+                Command->powerStallSignal));
+        }
+
+        if (Command->queue != gcvNULL)
+        {
+            /* Delete the command queue. */
+            gcmkERR_BREAK(gckOS_Free(
+                Command->os, Command->queue
+                ));
+        }
+
+        /* Destroy all allocated buffers. */
+        while (Command->taskStorage)
+        {
+            /* Copy the buffer pointer. */
+            nextStorage = Command->taskStorage->next;
+
+            /* Free the current container. */
+            gcmkERR_BREAK(gckOS_Free(
+                Command->os, Command->taskStorage
+                ));
+
+            /* Advance to the next one. */
+            Command->taskStorage = nextStorage;
+        }
+
+        /* Error? */
+        if (gcmkIS_ERROR(status))
+        {
+            break;
+        }
+
+        /* Mark the object as unknown. */
+        Command->object.type = gcvOBJ_UNKNOWN;
+
+        /* Free the gckVGCOMMAND structure. */
+        gcmkERR_BREAK(gckOS_Free(Command->os, Command));
+
+        gcmkFOOTER_NO();
+        /* Success. */
+        return gcvSTATUS_OK;
+    }
+    while (gcvFALSE);
+
+    /* Restore the object type if failed. */
+    Command->object.type = gcvOBJ_COMMAND;
+
+    gcmkFOOTER();
+    /* Return the error. */
+    return status;
+}
+
+gceSTATUS
+gckVGCOMMAND_QueryCommandBuffer(
+    IN gckVGCOMMAND Command,
+    OUT gcsCOMMAND_BUFFER_INFO_PTR Information
+    )
+{
+    gcmkHEADER_ARG("Command=0x%x Information=0x%x", Command, Information);
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Command, gcvOBJ_COMMAND);
+    gcmkVERIFY_ARGUMENT(Information != gcvNULL);
+
+    /* Copy the information. */
+    gcmkVERIFY_OK(gckOS_MemCopy(
+        Information, &Command->info, sizeof(gcsCOMMAND_BUFFER_INFO)
+        ));
+
+    gcmkFOOTER_NO();
+    /* Success. */
+    return gcvSTATUS_OK;
+}
+
+gceSTATUS
+gckVGCOMMAND_Allocate(
+    IN gckVGCOMMAND Command,
+    IN gctSIZE_T Size,
+    OUT gcsCMDBUFFER_PTR * CommandBuffer,
+    OUT gctPOINTER * Data
+    )
+{
+    gceSTATUS status;
+
+    gcmkHEADER_ARG("Command=0x%x Size=0x%x CommandBuffer=0x%x Data=0x%x",
+        Command, Size, CommandBuffer, Data);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Command, gcvOBJ_COMMAND);
+    gcmkVERIFY_ARGUMENT(Data != gcvNULL);
+
+    do
+    {
+        /* Allocate the buffer. */
+        gcmkERR_BREAK(_AllocateCommandBuffer(Command, Size, CommandBuffer));
+
+        /* Determine the data pointer. */
+        * Data = (gctUINT8_PTR) (*CommandBuffer) + (* CommandBuffer)->bufferOffset;
+    }
+    while (gcvFALSE);
+
+    gcmkFOOTER();
+    /* Return status. */
+    return status;
+}
+
+gceSTATUS
+gckVGCOMMAND_Free(
+    IN gckVGCOMMAND Command,
+    IN gcsCMDBUFFER_PTR CommandBuffer
+    )
+{
+    gceSTATUS status;
+
+    gcmkHEADER_ARG("Command=0x%x CommandBuffer=0x%x",
+        Command, CommandBuffer);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Command, gcvOBJ_COMMAND);
+    gcmkVERIFY_ARGUMENT(CommandBuffer != gcvNULL);
+
+    /* Free command buffer. */
+    status = _FreeCommandBuffer(Command->kernel, CommandBuffer);
+
+    gcmkFOOTER();
+    /* Return status. */
+    return status;
+}
+
+gceSTATUS
+gckVGCOMMAND_Execute(
+    IN gckVGCOMMAND Command,
+    IN gcsCMDBUFFER_PTR CommandBuffer
+    )
+{
+    gceSTATUS status;
+
+    gcmkHEADER_ARG("Command=0x%x CommandBuffer=0x%x",
+        Command, CommandBuffer);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Command, gcvOBJ_COMMAND);
+    gcmkVERIFY_ARGUMENT(CommandBuffer != gcvNULL);
+
+    do
+    {
+        gctUINT queueLength;
+        gcsKERNEL_CMDQUEUE_PTR kernelEntry;
+
+        /* Lock the current queue. */
+        gcmkERR_BREAK(_LockCurrentQueue(
+            Command, &kernelEntry, &queueLength
+            ));
+
+        /* Set the buffer. */
+        kernelEntry->commandBuffer = CommandBuffer;
+        kernelEntry->handler = _FreeKernelCommandBuffer;
+
+        /* Lock the current queue. */
+        gcmkERR_BREAK(_UnlockCurrentQueue(
+            Command, 1
+            ));
+    }
+    while (gcvFALSE);
+
+    gcmkFOOTER();
+    /* Return status. */
+    return status;
+}
+
+gceSTATUS
+gckVGCOMMAND_Commit(
+    IN gckVGCOMMAND Command,
+    IN gcsVGCONTEXT_PTR Context,
+    IN gcsVGCMDQUEUE_PTR Queue,
+    IN gctUINT EntryCount,
+    IN gcsTASK_MASTER_TABLE_PTR TaskTable
+    )
+{
+    /*
+        The first buffer is executed through a direct gckVGHARDWARE_Execute call,
+        therefore only an update is needed after the execution is over. All
+        consequent buffers need to be executed upon the first update call from
+        the FE interrupt handler.
+    */
+
+    static gcsQUEUE_UPDATE_CONTROL _dynamicBuffer[] =
+    {
+        {
+            _UpdateDynamicCommandBuffer,
+            _UpdateDynamicCommandBuffer,
+            _UpdateLastDynamicCommandBuffer,
+            _UpdateLastDynamicCommandBuffer
+        },
+        {
+            _ExecuteDynamicCommandBuffer,
+            _UpdateDynamicCommandBuffer,
+            _ExecuteLastDynamicCommandBuffer,
+            _UpdateLastDynamicCommandBuffer
+        }
+    };
+
+    static gcsQUEUE_UPDATE_CONTROL _staticBuffer[] =
+    {
+        {
+            _UpdateStaticCommandBuffer,
+            _UpdateStaticCommandBuffer,
+            _UpdateLastStaticCommandBuffer,
+            _UpdateLastStaticCommandBuffer
+        },
+        {
+            _ExecuteStaticCommandBuffer,
+            _UpdateStaticCommandBuffer,
+            _ExecuteLastStaticCommandBuffer,
+            _UpdateLastStaticCommandBuffer
+        }
+    };
+
+    gceSTATUS status, last;
+
+    gcmkHEADER_ARG("Command=0x%x Context=0x%x Queue=0x%x EntryCount=0x%x TaskTable=0x%x",
+        Command, Context, Queue, EntryCount, TaskTable);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Command, gcvOBJ_COMMAND);
+    gcmkVERIFY_ARGUMENT(Context != gcvNULL);
+    gcmkVERIFY_ARGUMENT(Queue != gcvNULL);
+    gcmkVERIFY_ARGUMENT(EntryCount > 1);
+
+#ifdef __QNXNTO__
+    TaskTable->coid     = Context->coid;
+    TaskTable->rcvid    = Context->rcvid;
+#endif /* __QNXNTO__ */
+
+    do
+    {
+        gctBOOL haveFETasks;
+        gctUINT queueSize;
+        gcsVGCMDQUEUE_PTR mappedQueue;
+        gcsVGCMDQUEUE_PTR userEntry;
+        gcsKERNEL_CMDQUEUE_PTR kernelEntry;
+        gcsQUEUE_UPDATE_CONTROL_PTR queueControl;
+        gctUINT currentLength;
+        gctUINT queueLength;
+        gctUINT entriesQueued;
+        gctUINT8_PTR previousEnd;
+        gctBOOL previousDynamic;
+        gctBOOL previousExecuted;
+        gctUINT controlIndex;
+
+        gcmkERR_BREAK(gckVGHARDWARE_SetPowerManagementState(
+            Command->hardware, gcvPOWER_ON_AUTO
+            ));
+
+        /* Acquire the power semaphore. */
+        gcmkERR_BREAK(gckOS_AcquireSemaphore(
+            Command->os, Command->powerSemaphore
+            ));
+
+        /* Acquire the mutex. */
+        status = gckOS_AcquireMutex(
+            Command->os,
+            Command->commitMutex,
+            gcvINFINITE
+            );
+
+        if (gcmIS_ERROR(status))
+        {
+            gcmkVERIFY_OK(gckOS_ReleaseSemaphore(
+                Command->os, Command->powerSemaphore));
+            break;
+        }
+
+        do
+        {
+            gcmkERR_BREAK(_FlushMMU(Command));
+
+            /* Assign a context ID if not yet assigned. */
+            if (Context->id == 0)
+            {
+                /* Assign the next context number. */
+                Context->id = ++ Command->contextCounter;
+
+                /* See if we overflowed. */
+                if (Command->contextCounter == 0)
+                {
+                    /* We actually did overflow, wow... */
+                    status = gcvSTATUS_OUT_OF_RESOURCES;
+                    break;
+                }
+            }
+
+            /* The first entry in the queue is always the context buffer.
+               Verify whether the user context is the same as the current
+               context and if that's the case, skip the first entry. */
+            if (Context->id == Command->currentContext)
+            {
+                /* Same context as before, skip the first entry. */
+                EntryCount -= 1;
+                Queue      += 1;
+
+                /* Set the signal to avoid user waiting. */
+#ifdef __QNXNTO__
+                gcmkERR_BREAK(gckOS_UserSignal(
+                    Command->os, Context->signal, Context->rcvid, Context->coid
+                    ));
+#else
+                gcmkERR_BREAK(gckOS_UserSignal(
+                    Command->os, Context->signal, Context->process
+                    ));
+
+#endif /* __QNXNTO__ */
+
+            }
+            else
+            {
+                /* Different user context - keep the first entry.
+                   Set the user context as the current one. */
+                Command->currentContext = Context->id;
+            }
+
+            /* Reset pointers. */
+            queueControl = gcvNULL;
+            previousEnd  = gcvNULL;
+
+            /* Determine whether there are FE tasks to be performed. */
+            haveFETasks = (TaskTable->table[gcvBLOCK_COMMAND].head != gcvNULL);
+
+            /* Determine the size of the queue. */
+            queueSize = EntryCount * gcmSIZEOF(gcsVGCMDQUEUE);
+
+            /* Map the command queue into the kernel space. */
+            gcmkERR_BREAK(gckOS_MapUserPointer(
+                Command->os,
+                Queue,
+                queueSize,
+                (gctPOINTER *) &mappedQueue
+                ));
+
+            /* Set the first entry. */
+            userEntry = mappedQueue;
+
+            /* Process the command queue. */
+            while (EntryCount)
+            {
+                /* Lock the current queue. */
+                gcmkERR_BREAK(_LockCurrentQueue(
+                    Command, &kernelEntry, &queueLength
+                    ));
+
+                /* Determine the number of entries to process. */
+                currentLength = (queueLength < EntryCount)
+                    ? queueLength
+                    : EntryCount;
+
+                /* Update the number of the entries left to process. */
+                EntryCount -= currentLength;
+
+                /* Reset previous flags. */
+                previousDynamic  = gcvFALSE;
+                previousExecuted = gcvFALSE;
+
+                /* Set the initial control index. */
+                controlIndex = 0;
+
+                /* Process entries. */
+                for (entriesQueued = 0; entriesQueued < currentLength; entriesQueued += 1)
+                {
+                    /* Get the kernel pointer to the command buffer header. */
+                    gcsCMDBUFFER_PTR commandBuffer = gcvNULL;
+                    gcmkERR_BREAK(_ConvertUserCommandBufferPointer(
+                        Command,
+                        userEntry->commandBuffer,
+                        &commandBuffer
+                        ));
+
+                    /* Is it a dynamic command buffer? */
+                    if (userEntry->dynamic)
+                    {
+                        /* Select dynamic buffer control functions. */
+                        queueControl = &_dynamicBuffer[controlIndex];
+                    }
+
+                    /* No, a static command buffer. */
+                    else
+                    {
+                        /* Select static buffer control functions. */
+                        queueControl = &_staticBuffer[controlIndex];
+                    }
+
+                    /* Set the command buffer pointer to the entry. */
+                    kernelEntry->commandBuffer = commandBuffer;
+
+                    /* If the previous entry was a dynamic command buffer,
+                       link it to the current. */
+                    if (previousDynamic)
+                    {
+                        gcmkERR_BREAK(gckVGCOMMAND_FetchCommand(
+                            Command,
+                            previousEnd,
+                            commandBuffer->address,
+                            commandBuffer->dataCount,
+                            gcvNULL
+                            ));
+
+                        /* The buffer will be auto-executed, only need to
+                           update it after it has been executed. */
+                        kernelEntry->handler = queueControl->update;
+
+                        /* The buffer is only being updated. */
+                        previousExecuted = gcvFALSE;
+                    }
+                    else
+                    {
+                        /* Set the buffer up for execution. */
+                        kernelEntry->handler = queueControl->execute;
+
+                        /* The buffer is being updated. */
+                        previousExecuted = gcvTRUE;
+                    }
+
+                    /* The current buffer's END command becomes the last END. */
+                    previousEnd
+                        = ((gctUINT8_PTR) commandBuffer)
+                        + commandBuffer->bufferOffset
+                        + commandBuffer->dataCount * Command->info.commandAlignment
+                        - Command->info.staticTailSize;
+
+                    /* Update the last entry info. */
+                    previousDynamic = userEntry->dynamic;
+
+                    /* Advance entries. */
+                    userEntry   += 1;
+                    kernelEntry += 1;
+
+                    /* Update the control index. */
+                    controlIndex = 1;
+                }
+
+                /* If the previous entry was a dynamic command buffer,
+                   terminate it with an END. */
+                if (previousDynamic)
+                {
+                    gcmkERR_BREAK(gckVGCOMMAND_EndCommand(
+                        Command,
+                        previousEnd,
+                        Command->info.feBufferInt,
+                        gcvNULL
+                        ));
+                }
+
+                /* Last buffer? */
+                if (EntryCount == 0)
+                {
+                    /* Modify the last command buffer's routines to handle
+                       tasks if any.*/
+                    if (haveFETasks)
+                    {
+                        if (previousExecuted)
+                        {
+                            kernelEntry[-1].handler = queueControl->lastExecute;
+                        }
+                        else
+                        {
+                            kernelEntry[-1].handler = queueControl->lastUpdate;
+                        }
+                    }
+
+                    /* Release the mutex. */
+                    gcmkERR_BREAK(gckOS_ReleaseMutex(
+                        Command->os,
+                        Command->queueMutex
+                        ));
+                    /* Schedule tasks. */
+                    gcmkERR_BREAK(_ScheduleTasks(Command, TaskTable, previousEnd));
+
+                    /* Acquire the mutex. */
+                    gcmkERR_BREAK(gckOS_AcquireMutex(
+                        Command->os,
+                        Command->queueMutex,
+                        gcvINFINITE
+                        ));
+                }
+
+                /* Unkock and schedule the current queue for execution. */
+                gcmkERR_BREAK(_UnlockCurrentQueue(
+                    Command, currentLength
+                    ));
+            }
+
+
+            /* Unmap the user command buffer. */
+            gcmkERR_BREAK(gckOS_UnmapUserPointer(
+                Command->os,
+                Queue,
+                queueSize,
+                mappedQueue
+                ));
+        }
+        while (gcvFALSE);
+
+        /* Release the mutex. */
+        gcmkCHECK_STATUS(gckOS_ReleaseMutex(
+            Command->os,
+            Command->commitMutex
+            ));
+
+        gcmkVERIFY_OK(gckOS_ReleaseSemaphore(
+            Command->os, Command->powerSemaphore));
+    }
+    while (gcvFALSE);
+
+    gcmkFOOTER();
+    /* Return status. */
+    return status;
+}
+
+#endif /* gcdENABLE_VG */
diff --git a/drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_db.c b/drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_db.c
new file mode 100644 (file)
index 0000000..b181f55
--- /dev/null
@@ -0,0 +1,1604 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#include "gc_hal_kernel_precomp.h"
+
+#define _GC_OBJ_ZONE    gcvZONE_DATABASE
+
+/*******************************************************************************
+***** Private fuctions ********************************************************/
+
+#define _GetSlot(database, x) \
+    (gctUINT32)(((gcmPTR_TO_UINT64(x) >> 7) % gcmCOUNTOF(database->list)))
+
+/*******************************************************************************
+**  gckKERNEL_NewDatabase
+**
+**  Create a new database structure and insert it to the head of the hash list.
+**
+**  INPUT:
+**
+**      gckKERNEL Kernel
+**          Pointer to a gckKERNEL object.
+**
+**      gctUINT32 ProcessID
+**          ProcessID that identifies the database.
+**
+**  OUTPUT:
+**
+**      gcsDATABASE_PTR * Database
+**          Pointer to a variable receiving the database structure pointer on
+**          success.
+*/
+static gceSTATUS
+gckKERNEL_NewDatabase(
+    IN gckKERNEL Kernel,
+    IN gctUINT32 ProcessID,
+    OUT gcsDATABASE_PTR * Database
+    )
+{
+    gceSTATUS status;
+    gcsDATABASE_PTR database;
+    gctBOOL acquired = gcvFALSE;
+    gctSIZE_T slot;
+    gcsDATABASE_PTR existingDatabase;
+
+    gcmkHEADER_ARG("Kernel=0x%x ProcessID=%d", Kernel, ProcessID);
+
+    /* Acquire the database mutex. */
+    gcmkONERROR(gckOS_AcquireMutex(Kernel->os, Kernel->db->dbMutex, gcvINFINITE));
+    acquired = gcvTRUE;
+
+    /* Compute the hash for the database. */
+    slot = ProcessID % gcmCOUNTOF(Kernel->db->db);
+
+    /* Walk the hash list. */
+    for (existingDatabase = Kernel->db->db[slot];
+         existingDatabase != gcvNULL;
+         existingDatabase = existingDatabase->next)
+    {
+        if (existingDatabase->processID == ProcessID)
+        {
+            /* One process can't be added twice. */
+            gcmkONERROR(gcvSTATUS_NOT_SUPPORTED);
+        }
+    }
+
+    if (Kernel->db->freeDatabase != gcvNULL)
+    {
+        /* Allocate a database from the free list. */
+        database             = Kernel->db->freeDatabase;
+        Kernel->db->freeDatabase = database->next;
+    }
+    else
+    {
+        gctPOINTER pointer = gcvNULL;
+
+        /* Allocate a new database from the heap. */
+        gcmkONERROR(gckOS_Allocate(Kernel->os,
+                                   gcmSIZEOF(gcsDATABASE),
+                                   &pointer));
+
+        database = pointer;
+    }
+
+    /* Insert the database into the hash. */
+    database->next   = Kernel->db->db[slot];
+    Kernel->db->db[slot] = database;
+
+    /* Save the hash slot. */
+    database->slot = slot;
+
+    /* Release the database mutex. */
+    gcmkONERROR(gckOS_ReleaseMutex(Kernel->os, Kernel->db->dbMutex));
+
+    /* Return the database. */
+    *Database = database;
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Database=0x%x", *Database);
+    return gcvSTATUS_OK;
+
+OnError:
+    if (acquired)
+    {
+        /* Release the database mutex. */
+        gcmkVERIFY_OK(gckOS_ReleaseMutex(Kernel->os, Kernel->db->dbMutex));
+    }
+
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**  gckKERNEL_FindDatabase
+**
+**  Find a database identified by a process ID and move it to the head of the
+**  hash list.
+**
+**  INPUT:
+**
+**      gckKERNEL Kernel
+**          Pointer to a gckKERNEL object.
+**
+**      gctUINT32 ProcessID
+**          ProcessID that identifies the database.
+**
+**      gctBOOL LastProcessID
+**          gcvTRUE if searching for the last known process ID.  gcvFALSE if
+**          we need to search for the process ID specified by the ProcessID
+**          argument.
+**
+**  OUTPUT:
+**
+**      gcsDATABASE_PTR * Database
+**          Pointer to a variable receiving the database structure pointer on
+**          success.
+*/
+static gceSTATUS
+gckKERNEL_FindDatabase(
+    IN gckKERNEL Kernel,
+    IN gctUINT32 ProcessID,
+    IN gctBOOL LastProcessID,
+    OUT gcsDATABASE_PTR * Database
+    )
+{
+    gceSTATUS status;
+    gcsDATABASE_PTR database, previous;
+    gctSIZE_T slot;
+    gctBOOL acquired = gcvFALSE;
+
+    gcmkHEADER_ARG("Kernel=0x%x ProcessID=%d LastProcessID=%d",
+                   Kernel, ProcessID, LastProcessID);
+
+    /* Compute the hash for the database. */
+    slot = ProcessID % gcmCOUNTOF(Kernel->db->db);
+
+    /* Acquire the database mutex. */
+    gcmkONERROR(
+        gckOS_AcquireMutex(Kernel->os, Kernel->db->dbMutex, gcvINFINITE));
+    acquired = gcvTRUE;
+
+    /* Check whether we are getting the last known database. */
+    if (LastProcessID)
+    {
+        /* Use last database. */
+        database = Kernel->db->lastDatabase;
+
+        if (database == gcvNULL)
+        {
+            /* Database not found. */
+            gcmkONERROR(gcvSTATUS_INVALID_DATA);
+        }
+    }
+    else
+    {
+        /* Walk the hash list. */
+        for (previous = gcvNULL, database = Kernel->db->db[slot];
+             database != gcvNULL;
+             database = database->next)
+        {
+            if (database->processID == ProcessID)
+            {
+                /* Found it! */
+                break;
+            }
+
+            previous = database;
+        }
+
+        if (database == gcvNULL)
+        {
+            /* Database not found. */
+            gcmkONERROR(gcvSTATUS_INVALID_DATA);
+        }
+
+        if (previous != gcvNULL)
+        {
+            /* Move database to the head of the hash list. */
+            previous->next   = database->next;
+            database->next   = Kernel->db->db[slot];
+            Kernel->db->db[slot] = database;
+        }
+    }
+
+    /* Release the database mutex. */
+    gcmkONERROR(gckOS_ReleaseMutex(Kernel->os, Kernel->db->dbMutex));
+
+    /* Return the database. */
+    *Database = database;
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Database=0x%x", *Database);
+    return gcvSTATUS_OK;
+
+OnError:
+    if (acquired)
+    {
+        /* Release the database mutex. */
+        gcmkVERIFY_OK(gckOS_ReleaseMutex(Kernel->os, Kernel->db->dbMutex));
+    }
+
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**  gckKERNEL_DeleteDatabase
+**
+**  Remove a database from the hash list and delete its structure.
+**
+**  INPUT:
+**
+**      gckKERNEL Kernel
+**          Pointer to a gckKERNEL object.
+**
+**      gcsDATABASE_PTR Database
+**          Pointer to the database structure to remove.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+static gceSTATUS
+gckKERNEL_DeleteDatabase(
+    IN gckKERNEL Kernel,
+    IN gcsDATABASE_PTR Database
+    )
+{
+    gceSTATUS status;
+    gctBOOL acquired = gcvFALSE;
+    gcsDATABASE_PTR database;
+
+    gcmkHEADER_ARG("Kernel=0x%x Database=0x%x", Kernel, Database);
+
+    /* Acquire the database mutex. */
+    gcmkONERROR(
+        gckOS_AcquireMutex(Kernel->os, Kernel->db->dbMutex, gcvINFINITE));
+    acquired = gcvTRUE;
+
+    /* Check slot value. */
+    gcmkVERIFY_ARGUMENT(Database->slot < gcmCOUNTOF(Kernel->db->db));
+
+    if (Database->slot < gcmCOUNTOF(Kernel->db->db))
+    {
+        /* Check if database if the head of the hash list. */
+        if (Kernel->db->db[Database->slot] == Database)
+        {
+            /* Remove the database from the hash list. */
+            Kernel->db->db[Database->slot] = Database->next;
+        }
+        else
+        {
+            /* Walk the has list to find the database. */
+            for (database = Kernel->db->db[Database->slot];
+                 database != gcvNULL;
+                 database = database->next
+            )
+            {
+                /* Check if the next list entry is this database. */
+                if (database->next == Database)
+                {
+                    /* Remove the database from the hash list. */
+                    database->next = Database->next;
+                    break;
+                }
+            }
+
+            if (database == gcvNULL)
+            {
+                /* Ouch!  Something got corrupted. */
+                gcmkONERROR(gcvSTATUS_INVALID_DATA);
+            }
+        }
+    }
+
+    if (Kernel->db->lastDatabase != gcvNULL)
+    {
+        /* Insert database to the free list. */
+        Kernel->db->lastDatabase->next = Kernel->db->freeDatabase;
+        Kernel->db->freeDatabase       = Kernel->db->lastDatabase;
+    }
+
+    /* Keep database as the last database. */
+    Kernel->db->lastDatabase = Database;
+
+    /* Release the database mutex. */
+    gcmkONERROR(gckOS_ReleaseMutex(Kernel->os, Kernel->db->dbMutex));
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    if (acquired)
+    {
+        /* Release the database mutex. */
+        gcmkVERIFY_OK(gckOS_ReleaseMutex(Kernel->os, Kernel->db->dbMutex));
+    }
+
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**  gckKERNEL_NewRecord
+**
+**  Create a new database record structure and insert it to the head of the
+**  database.
+**
+**  INPUT:
+**
+**      gckKERNEL Kernel
+**          Pointer to a gckKERNEL object.
+**
+**      gcsDATABASE_PTR Database
+**          Pointer to a database structure.
+**
+**  OUTPUT:
+**
+**      gcsDATABASE_RECORD_PTR * Record
+**          Pointer to a variable receiving the database record structure
+**          pointer on success.
+*/
+static gceSTATUS
+gckKERNEL_NewRecord(
+    IN gckKERNEL Kernel,
+    IN gcsDATABASE_PTR Database,
+    IN gctUINT32 Slot,
+    OUT gcsDATABASE_RECORD_PTR * Record
+    )
+{
+    gceSTATUS status;
+    gctBOOL acquired = gcvFALSE;
+    gcsDATABASE_RECORD_PTR record = gcvNULL;
+
+    gcmkHEADER_ARG("Kernel=0x%x Database=0x%x", Kernel, Database);
+
+    /* Acquire the database mutex. */
+    gcmkONERROR(
+        gckOS_AcquireMutex(Kernel->os, Kernel->db->dbMutex, gcvINFINITE));
+    acquired = gcvTRUE;
+
+    if (Kernel->db->freeRecord != gcvNULL)
+    {
+        /* Allocate the record from the free list. */
+        record             = Kernel->db->freeRecord;
+        Kernel->db->freeRecord = record->next;
+    }
+    else
+    {
+        gctPOINTER pointer = gcvNULL;
+
+        /* Allocate the record from the heap. */
+        gcmkONERROR(gckOS_Allocate(Kernel->os,
+                                   gcmSIZEOF(gcsDATABASE_RECORD),
+                                   &pointer));
+
+        record = pointer;
+    }
+
+    /* Insert the record in the database. */
+    record->next         = Database->list[Slot];
+    Database->list[Slot] = record;
+
+    /* Release the database mutex. */
+    gcmkONERROR(gckOS_ReleaseMutex(Kernel->os, Kernel->db->dbMutex));
+
+    /* Return the record. */
+    *Record = record;
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Record=0x%x", *Record);
+    return gcvSTATUS_OK;
+
+OnError:
+    if (acquired)
+    {
+        /* Release the database mutex. */
+        gcmkVERIFY_OK(gckOS_ReleaseMutex(Kernel->os, Kernel->db->dbMutex));
+    }
+    if (record != gcvNULL)
+    {
+        gcmkVERIFY_OK(gcmkOS_SAFE_FREE(Kernel->os, record));
+    }
+
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**  gckKERNEL_DeleteRecord
+**
+**  Remove a database record from the database and delete its structure.
+**
+**  INPUT:
+**
+**      gckKERNEL Kernel
+**          Pointer to a gckKERNEL object.
+**
+**      gcsDATABASE_PTR Database
+**          Pointer to a database structure.
+**
+**      gceDATABASE_TYPE Type
+**          Type of the record to remove.
+**
+**      gctPOINTER Data
+**          Data of the record to remove.
+**
+**  OUTPUT:
+**
+**      gctSIZE_T_PTR Bytes
+**          Pointer to a variable that receives the size of the record deleted.
+**          Can be gcvNULL if the size is not required.
+*/
+static gceSTATUS
+gckKERNEL_DeleteRecord(
+    IN gckKERNEL Kernel,
+    IN gcsDATABASE_PTR Database,
+    IN gceDATABASE_TYPE Type,
+    IN gctPOINTER Data,
+    OUT gctSIZE_T_PTR Bytes OPTIONAL
+    )
+{
+    gceSTATUS status;
+    gctBOOL acquired = gcvFALSE;
+    gcsDATABASE_RECORD_PTR record, previous;
+    gctUINT32 slot = _GetSlot(Database, Data);
+
+    gcmkHEADER_ARG("Kernel=0x%x Database=0x%x Type=%d Data=0x%x",
+                   Kernel, Database, Type, Data);
+
+    /* Acquire the database mutex. */
+    gcmkONERROR(
+        gckOS_AcquireMutex(Kernel->os, Kernel->db->dbMutex, gcvINFINITE));
+    acquired = gcvTRUE;
+
+
+    /* Scan the database for this record. */
+    for (record = Database->list[slot], previous = gcvNULL;
+         record != gcvNULL;
+         record = record->next
+    )
+    {
+        if ((record->type == Type)
+        &&  (record->data == Data)
+        )
+        {
+            /* Found it! */
+            break;
+        }
+
+        previous = record;
+    }
+
+    if (record == gcvNULL)
+    {
+        /* Ouch!  This record is not found? */
+        gcmkONERROR(gcvSTATUS_INVALID_DATA);
+    }
+
+    if (Bytes != gcvNULL)
+    {
+        /* Return size of record. */
+        *Bytes = record->bytes;
+    }
+
+    /* Remove record from database. */
+    if (previous == gcvNULL)
+    {
+        Database->list[slot] = record->next;
+    }
+    else
+    {
+        previous->next = record->next;
+    }
+
+    /* Insert record in free list. */
+    record->next       = Kernel->db->freeRecord;
+    Kernel->db->freeRecord = record;
+
+    /* Release the database mutex. */
+    gcmkONERROR(gckOS_ReleaseMutex(Kernel->os, Kernel->db->dbMutex));
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Bytes=%lu", gcmOPT_VALUE(Bytes));
+    return gcvSTATUS_OK;
+
+OnError:
+    if (acquired)
+    {
+        /* Release the database mutex. */
+        gcmkVERIFY_OK(gckOS_ReleaseMutex(Kernel->os, Kernel->db->dbMutex));
+    }
+
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**  gckKERNEL_FindRecord
+**
+**  Find a database record from the database.
+**
+**  INPUT:
+**
+**      gckKERNEL Kernel
+**          Pointer to a gckKERNEL object.
+**
+**      gcsDATABASE_PTR Database
+**          Pointer to a database structure.
+**
+**      gceDATABASE_TYPE Type
+**          Type of the record to remove.
+**
+**      gctPOINTER Data
+**          Data of the record to remove.
+**
+**  OUTPUT:
+**
+**      gctSIZE_T_PTR Bytes
+**          Pointer to a variable that receives the size of the record deleted.
+**          Can be gcvNULL if the size is not required.
+*/
+static gceSTATUS
+gckKERNEL_FindRecord(
+    IN gckKERNEL Kernel,
+    IN gcsDATABASE_PTR Database,
+    IN gceDATABASE_TYPE Type,
+    IN gctPOINTER Data,
+    OUT gcsDATABASE_RECORD_PTR Record
+    )
+{
+    gceSTATUS status;
+    gctBOOL acquired = gcvFALSE;
+    gcsDATABASE_RECORD_PTR record;
+    gctUINT32 slot = _GetSlot(Database, Data);
+
+    gcmkHEADER_ARG("Kernel=0x%x Database=0x%x Type=%d Data=0x%x",
+                   Kernel, Database, Type, Data);
+
+    /* Acquire the database mutex. */
+    gcmkONERROR(
+        gckOS_AcquireMutex(Kernel->os, Kernel->db->dbMutex, gcvINFINITE));
+    acquired = gcvTRUE;
+
+    /* Scan the database for this record. */
+    for (record = Database->list[slot];
+         record != gcvNULL;
+         record = record->next
+    )
+    {
+        if ((record->type == Type)
+        &&  (record->data == Data)
+        )
+        {
+            /* Found it! */
+            break;
+        }
+    }
+
+    if (record == gcvNULL)
+    {
+        /* Ouch!  This record is not found? */
+        gcmkONERROR(gcvSTATUS_INVALID_DATA);
+    }
+
+    if (Record != gcvNULL)
+    {
+        /* Return information of record. */
+        gcmkONERROR(
+            gckOS_MemCopy(Record, record, sizeof(gcsDATABASE_RECORD)));
+    }
+
+    /* Release the database mutex. */
+    gcmkONERROR(gckOS_ReleaseMutex(Kernel->os, Kernel->db->dbMutex));
+
+    /* Success. */
+    gcmkFOOTER_ARG("Record=0x%x", Record);
+    return gcvSTATUS_OK;
+
+OnError:
+    if (acquired)
+    {
+        /* Release the database mutex. */
+        gcmkVERIFY_OK(gckOS_ReleaseMutex(Kernel->os, Kernel->db->dbMutex));
+    }
+
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+
+/*******************************************************************************
+***** Public API **************************************************************/
+
+/*******************************************************************************
+**  gckKERNEL_CreateProcessDB
+**
+**  Create a new process database.
+**
+**  INPUT:
+**
+**      gckKERNEL Kernel
+**          Pointer to a gckKERNEL object.
+**
+**      gctUINT32 ProcessID
+**          Process ID used to identify the database.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckKERNEL_CreateProcessDB(
+    IN gckKERNEL Kernel,
+    IN gctUINT32 ProcessID
+    )
+{
+    gceSTATUS status;
+    gcsDATABASE_PTR database = gcvNULL;
+    gctUINT32 i;
+
+    gcmkHEADER_ARG("Kernel=0x%x ProcessID=%d", Kernel, ProcessID);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Kernel, gcvOBJ_KERNEL);
+
+    /* Create a new database. */
+    gcmkONERROR(gckKERNEL_NewDatabase(Kernel, ProcessID, &database));
+
+    /* Initialize the database. */
+    database->processID             = ProcessID;
+    database->vidMem.bytes          = 0;
+    database->vidMem.maxBytes       = 0;
+    database->vidMem.totalBytes     = 0;
+    database->nonPaged.bytes        = 0;
+    database->nonPaged.maxBytes     = 0;
+    database->nonPaged.totalBytes   = 0;
+    database->contiguous.bytes      = 0;
+    database->contiguous.maxBytes   = 0;
+    database->contiguous.totalBytes = 0;
+    database->mapMemory.bytes          = 0;
+    database->mapMemory.maxBytes       = 0;
+    database->mapMemory.totalBytes     = 0;
+    database->mapUserMemory.bytes      = 0;
+    database->mapUserMemory.maxBytes   = 0;
+    database->mapUserMemory.totalBytes = 0;
+    database->vidMemResv.bytes         = 0;
+    database->vidMemResv.maxBytes      = 0;
+    database->vidMemResv.totalBytes    = 0;
+    database->vidMemCont.bytes         = 0;
+    database->vidMemCont.maxBytes      = 0;
+    database->vidMemCont.totalBytes    = 0;
+    database->vidMemVirt.bytes         = 0;
+    database->vidMemVirt.maxBytes      = 0;
+    database->vidMemVirt.totalBytes    = 0;
+
+    for (i = 0; i < gcmCOUNTOF(database->list); i++)
+    {
+        database->list[i]              = gcvNULL;
+    }
+
+#if gcdSECURE_USER
+    {
+        gctINT slot;
+        gcskSECURE_CACHE * cache = &database->cache;
+
+        /* Setup the linked list of cache nodes. */
+        for (slot = 1; slot <= gcdSECURE_CACHE_SLOTS; ++slot)
+        {
+            cache->cache[slot].logical = gcvNULL;
+
+#if gcdSECURE_CACHE_METHOD != gcdSECURE_CACHE_TABLE
+            cache->cache[slot].prev = &cache->cache[slot - 1];
+            cache->cache[slot].next = &cache->cache[slot + 1];
+#   endif
+#if gcdSECURE_CACHE_METHOD == gcdSECURE_CACHE_HASH
+            cache->cache[slot].nextHash = gcvNULL;
+            cache->cache[slot].prevHash = gcvNULL;
+#   endif
+        }
+
+#if gcdSECURE_CACHE_METHOD != gcdSECURE_CACHE_TABLE
+        /* Setup the head and tail of the cache. */
+        cache->cache[0].next    = &cache->cache[1];
+        cache->cache[0].prev    = &cache->cache[gcdSECURE_CACHE_SLOTS];
+        cache->cache[0].logical = gcvNULL;
+
+        /* Fix up the head and tail pointers. */
+        cache->cache[0].next->prev = &cache->cache[0];
+        cache->cache[0].prev->next = &cache->cache[0];
+#   endif
+
+#if gcdSECURE_CACHE_METHOD == gcdSECURE_CACHE_HASH
+        /* Zero out the hash table. */
+        for (slot = 0; slot < gcmCOUNTOF(cache->hash); ++slot)
+        {
+            cache->hash[slot].logical  = gcvNULL;
+            cache->hash[slot].nextHash = gcvNULL;
+        }
+#   endif
+
+        /* Initialize cache index. */
+        cache->cacheIndex = gcvNULL;
+        cache->cacheFree  = 1;
+        cache->cacheStamp = 0;
+    }
+#endif
+
+    /* Reset idle timer. */
+    Kernel->db->lastIdle = 0;
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**  gckKERNEL_AddProcessDB
+**
+**  Add a record to a process database.
+**
+**  INPUT:
+**
+**      gckKERNEL Kernel
+**          Pointer to a gckKERNEL object.
+**
+**      gctUINT32 ProcessID
+**          Process ID used to identify the database.
+**
+**      gceDATABASE_TYPE TYPE
+**          Type of the record to add.
+**
+**      gctPOINTER Pointer
+**          Data of the record to add.
+**
+**      gctPHYS_ADDR Physical
+**          Physical address of the record to add.
+**
+**      gctSIZE_T Size
+**          Size of the record to add.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckKERNEL_AddProcessDB(
+    IN gckKERNEL Kernel,
+    IN gctUINT32 ProcessID,
+    IN gceDATABASE_TYPE Type,
+    IN gctPOINTER Pointer,
+    IN gctPHYS_ADDR Physical,
+    IN gctSIZE_T Size
+    )
+{
+    gceSTATUS status;
+    gcsDATABASE_PTR database;
+    gcsDATABASE_RECORD_PTR record = gcvNULL;
+    gcsDATABASE_COUNTERS * count;
+
+    gcmkHEADER_ARG("Kernel=0x%x ProcessID=%d Type=%d Pointer=0x%x "
+                   "Physical=0x%x Size=%lu",
+                   Kernel, ProcessID, Type, Pointer, Physical, Size);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Kernel, gcvOBJ_KERNEL);
+
+    /* Special case the idle record. */
+    if (Type == gcvDB_IDLE)
+    {
+        gctUINT64 time;
+
+        /* Get the current profile time. */
+        gcmkONERROR(gckOS_GetProfileTick(&time));
+
+        if ((ProcessID == 0) && (Kernel->db->lastIdle != 0))
+        {
+            /* Out of idle, adjust time it was idle. */
+            Kernel->db->idleTime += time - Kernel->db->lastIdle;
+            Kernel->db->lastIdle  = 0;
+        }
+        else if (ProcessID == 1)
+        {
+            /* Save current idle time. */
+            Kernel->db->lastIdle = time;
+        }
+
+#if gcdDYNAMIC_SPEED
+        {
+            /* Test for first call. */
+            if (Kernel->db->lastSlowdown == 0)
+            {
+                /* Save milliseconds. */
+                Kernel->db->lastSlowdown     = time;
+                Kernel->db->lastSlowdownIdle = Kernel->db->idleTime;
+            }
+            else
+            {
+                /* Compute ellapsed time in milliseconds. */
+                gctUINT delta = gckOS_ProfileToMS(time - Kernel->db->lastSlowdown);
+
+                /* Test for end of period. */
+                if (delta >= gcdDYNAMIC_SPEED)
+                {
+                    /* Compute number of idle milliseconds. */
+                    gctUINT idle = gckOS_ProfileToMS(
+                        Kernel->db->idleTime  - Kernel->db->lastSlowdownIdle);
+
+                    /* Broadcast to slow down the GPU. */
+                    gcmkONERROR(gckOS_BroadcastCalibrateSpeed(Kernel->os,
+                                                              Kernel->hardware,
+                                                              idle,
+                                                              delta));
+
+                    /* Save current time. */
+                    Kernel->db->lastSlowdown     = time;
+                    Kernel->db->lastSlowdownIdle = Kernel->db->idleTime;
+                }
+            }
+        }
+#endif
+
+        /* Success. */
+        gcmkFOOTER_NO();
+        return gcvSTATUS_OK;
+    }
+
+    /* Verify the arguments. */
+    gcmkVERIFY_ARGUMENT(Pointer != gcvNULL);
+
+    /* Find the database. */
+    gcmkONERROR(gckKERNEL_FindDatabase(Kernel, ProcessID, gcvFALSE, &database));
+
+    /* Create a new record in the database. */
+    gcmkONERROR(gckKERNEL_NewRecord(Kernel, database, _GetSlot(database, Pointer), &record));
+
+    /* Initialize the record. */
+    record->kernel   = Kernel;
+    record->type     = Type;
+    record->data     = Pointer;
+    record->physical = Physical;
+    record->bytes    = Size;
+
+    /* Get pointer to counters. */
+    switch (Type)
+    {
+    case gcvDB_VIDEO_MEMORY:
+        count = &database->vidMem;
+        break;
+
+    case gcvDB_NON_PAGED:
+        count = &database->nonPaged;
+        break;
+
+    case gcvDB_CONTIGUOUS:
+        count = &database->contiguous;
+        break;
+
+    case gcvDB_MAP_MEMORY:
+        count = &database->mapMemory;
+        break;
+
+    case gcvDB_MAP_USER_MEMORY:
+        count = &database->mapUserMemory;
+        break;
+
+    case gcvDB_VIDEO_MEMORY_RESERVED:
+        count = &database->vidMemResv;
+        break;
+
+    case gcvDB_VIDEO_MEMORY_CONTIGUOUS:
+        count = &database->vidMemCont;
+        break;
+
+    case gcvDB_VIDEO_MEMORY_VIRTUAL:
+        count = &database->vidMemVirt;
+        break;
+
+    default:
+        count = gcvNULL;
+        break;
+    }
+
+    if (count != gcvNULL)
+    {
+        /* Adjust counters. */
+        count->totalBytes += Size;
+        count->bytes      += Size;
+
+        if (count->bytes > count->maxBytes)
+        {
+            count->maxBytes = count->bytes;
+        }
+    }
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**  gckKERNEL_RemoveProcessDB
+**
+**  Remove a record from a process database.
+**
+**  INPUT:
+**
+**      gckKERNEL Kernel
+**          Pointer to a gckKERNEL object.
+**
+**      gctUINT32 ProcessID
+**          Process ID used to identify the database.
+**
+**      gceDATABASE_TYPE TYPE
+**          Type of the record to remove.
+**
+**      gctPOINTER Pointer
+**          Data of the record to remove.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckKERNEL_RemoveProcessDB(
+    IN gckKERNEL Kernel,
+    IN gctUINT32 ProcessID,
+    IN gceDATABASE_TYPE Type,
+    IN gctPOINTER Pointer
+    )
+{
+    gceSTATUS status;
+    gcsDATABASE_PTR database;
+    gctSIZE_T bytes = 0;
+
+    gcmkHEADER_ARG("Kernel=0x%x ProcessID=%d Type=%d Pointer=0x%x",
+                   Kernel, ProcessID, Type, Pointer);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Kernel, gcvOBJ_KERNEL);
+    gcmkVERIFY_ARGUMENT(Pointer != gcvNULL);
+
+    /* Find the database. */
+    gcmkONERROR(gckKERNEL_FindDatabase(Kernel, ProcessID, gcvFALSE, &database));
+
+    /* Delete the record. */
+    gcmkONERROR(
+        gckKERNEL_DeleteRecord(Kernel, database, Type, Pointer, &bytes));
+
+    /* Update counters. */
+    switch (Type)
+    {
+    case gcvDB_VIDEO_MEMORY:
+        database->vidMem.bytes -= bytes;
+        break;
+
+    case gcvDB_NON_PAGED:
+        database->nonPaged.bytes -= bytes;
+        break;
+
+    case gcvDB_CONTIGUOUS:
+        database->contiguous.bytes -= bytes;
+        break;
+
+    case gcvDB_MAP_MEMORY:
+        database->mapMemory.bytes -= bytes;
+        break;
+
+    case gcvDB_MAP_USER_MEMORY:
+        database->mapUserMemory.bytes -= bytes;
+        break;
+
+    case gcvDB_VIDEO_MEMORY_RESERVED:
+        database->vidMemResv.bytes -= bytes;
+        break;
+
+    case gcvDB_VIDEO_MEMORY_CONTIGUOUS:
+        database->vidMemCont.bytes -= bytes;
+        break;
+
+    case gcvDB_VIDEO_MEMORY_VIRTUAL:
+        database->vidMemVirt.bytes -= bytes;
+        break;
+
+    default:
+        break;
+    }
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**  gckKERNEL_FindProcessDB
+**
+**  Find a record from a process database.
+**
+**  INPUT:
+**
+**      gckKERNEL Kernel
+**          Pointer to a gckKERNEL object.
+**
+**      gctUINT32 ProcessID
+**          Process ID used to identify the database.
+**
+**      gceDATABASE_TYPE TYPE
+**          Type of the record to remove.
+**
+**      gctPOINTER Pointer
+**          Data of the record to remove.
+**
+**  OUTPUT:
+**
+**      gcsDATABASE_RECORD_PTR Record
+**          Copy of record.
+*/
+gceSTATUS
+gckKERNEL_FindProcessDB(
+    IN gckKERNEL Kernel,
+    IN gctUINT32 ProcessID,
+    IN gctUINT32 ThreadID,
+    IN gceDATABASE_TYPE Type,
+    IN gctPOINTER Pointer,
+    OUT gcsDATABASE_RECORD_PTR Record
+    )
+{
+    gceSTATUS status;
+    gcsDATABASE_PTR database;
+
+    gcmkHEADER_ARG("Kernel=0x%x ProcessID=%d Type=%d Pointer=0x%x",
+                   Kernel, ProcessID, ThreadID, Type, Pointer);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Kernel, gcvOBJ_KERNEL);
+    gcmkVERIFY_ARGUMENT(Pointer != gcvNULL);
+
+    /* Find the database. */
+    gcmkONERROR(gckKERNEL_FindDatabase(Kernel, ProcessID, gcvFALSE, &database));
+
+    /* Find the record. */
+    gcmkONERROR(
+        gckKERNEL_FindRecord(Kernel, database, Type, Pointer, Record));
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**  gckKERNEL_DestroyProcessDB
+**
+**  Destroy a process database.  If the database contains any records, the data
+**  inside those records will be deleted as well.  This aids in the cleanup if
+**  a process has died unexpectedly or has memory leaks.
+**
+**  INPUT:
+**
+**      gckKERNEL Kernel
+**          Pointer to a gckKERNEL object.
+**
+**      gctUINT32 ProcessID
+**          Process ID used to identify the database.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckKERNEL_DestroyProcessDB(
+    IN gckKERNEL Kernel,
+    IN gctUINT32 ProcessID
+    )
+{
+    gceSTATUS status;
+    gcsDATABASE_PTR database;
+    gcsDATABASE_RECORD_PTR record, next;
+    gctBOOL asynchronous;
+    gctPHYS_ADDR physical;
+    gcuVIDMEM_NODE_PTR node;
+    gckKERNEL kernel = Kernel;
+    gctUINT32 i;
+
+    gcmkHEADER_ARG("Kernel=0x%x ProcessID=%d", Kernel, ProcessID);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Kernel, gcvOBJ_KERNEL);
+
+    /* Find the database. */
+    gcmkONERROR(gckKERNEL_FindDatabase(Kernel, ProcessID, gcvFALSE, &database));
+
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_DATABASE,
+                   "DB(%d): VidMem: total=%lu max=%lu",
+                   ProcessID, database->vidMem.totalBytes,
+                   database->vidMem.maxBytes);
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_DATABASE,
+                   "DB(%d): NonPaged: total=%lu max=%lu",
+                   ProcessID, database->nonPaged.totalBytes,
+                   database->nonPaged.maxBytes);
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_DATABASE,
+                   "DB(%d): Contiguous: total=%lu max=%lu",
+                   ProcessID, database->contiguous.totalBytes,
+                   database->contiguous.maxBytes);
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_DATABASE,
+                   "DB(%d): Idle time=%llu",
+                   ProcessID, Kernel->db->idleTime);
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_DATABASE,
+                   "DB(%d): Map: total=%lu max=%lu",
+                   ProcessID, database->mapMemory.totalBytes,
+                   database->mapMemory.maxBytes);
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_DATABASE,
+                   "DB(%d): Map: total=%lu max=%lu",
+                   ProcessID, database->mapUserMemory.totalBytes,
+                   database->mapUserMemory.maxBytes);
+
+    if (database->list != gcvNULL)
+    {
+        gcmkTRACE_ZONE(gcvLEVEL_WARNING, gcvZONE_DATABASE,
+                       "Process %d has entries in its database:",
+                       ProcessID);
+    }
+
+    for(i = 0; i < gcmCOUNTOF(database->list); i++)
+    {
+
+    /* Walk all records. */
+    for (record = database->list[i]; record != gcvNULL; record = next)
+    {
+        /* Next next record. */
+        next = record->next;
+
+        /* Dispatch on record type. */
+        switch (record->type)
+        {
+        case gcvDB_VIDEO_MEMORY:
+            /* Free the video memory. */
+            status = gckVIDMEM_Free(gcmUINT64_TO_PTR(record->data));
+
+            gcmkTRACE_ZONE(gcvLEVEL_WARNING, gcvZONE_DATABASE,
+                           "DB: VIDEO_MEMORY 0x%x (status=%d)",
+                           record->data, status);
+            break;
+
+        case gcvDB_NON_PAGED:
+            physical = gcmNAME_TO_PTR(record->physical);
+            /* Unmap user logical memory first. */
+            status = gckOS_UnmapUserLogical(Kernel->os,
+                                            physical,
+                                            record->bytes,
+                                            record->data);
+
+            /* Free the non paged memory. */
+            status = gckOS_FreeNonPagedMemory(Kernel->os,
+                                              record->bytes,
+                                              physical,
+                                              record->data);
+            gcmRELEASE_NAME(record->physical);
+
+            gcmkTRACE_ZONE(gcvLEVEL_WARNING, gcvZONE_DATABASE,
+                           "DB: NON_PAGED 0x%x, bytes=%lu (status=%d)",
+                           record->data, record->bytes, status);
+            break;
+
+#if gcdVIRTUAL_COMMAND_BUFFER
+        case gcvDB_COMMAND_BUFFER:
+            /* Free the command buffer. */
+            status = gckEVENT_DestroyVirtualCommandBuffer(record->kernel->eventObj,
+                                                          record->bytes,
+                                                          gcmNAME_TO_PTR(record->physical),
+                                                          record->data,
+                                                          gcvKERNEL_PIXEL);
+            gcmRELEASE_NAME(record->physical);
+
+            gcmkTRACE_ZONE(gcvLEVEL_WARNING, gcvZONE_DATABASE,
+                           "DB: COMMAND_BUFFER 0x%x, bytes=%lu (status=%d)",
+                           record->data, record->bytes, status);
+            break;
+#endif
+
+        case gcvDB_CONTIGUOUS:
+            physical = gcmNAME_TO_PTR(record->physical);
+            /* Unmap user logical memory first. */
+            status = gckOS_UnmapUserLogical(Kernel->os,
+                                            physical,
+                                            record->bytes,
+                                            record->data);
+
+            /* Free the contiguous memory. */
+            status = gckEVENT_FreeContiguousMemory(Kernel->eventObj,
+                                                   record->bytes,
+                                                   physical,
+                                                   record->data,
+                                                   gcvKERNEL_PIXEL);
+            gcmRELEASE_NAME(record->physical);
+
+            gcmkTRACE_ZONE(gcvLEVEL_WARNING, gcvZONE_DATABASE,
+                           "DB: CONTIGUOUS 0x%x bytes=%lu (status=%d)",
+                           record->data, record->bytes, status);
+            break;
+
+        case gcvDB_SIGNAL:
+#if USE_NEW_LINUX_SIGNAL
+            status = gcvSTATUS_NOT_SUPPORTED;
+#else
+            /* Free the user signal. */
+            status = gckOS_DestroyUserSignal(Kernel->os,
+                                             gcmPTR2INT(record->data));
+#endif /* USE_NEW_LINUX_SIGNAL */
+
+            gcmkTRACE_ZONE(gcvLEVEL_WARNING, gcvZONE_DATABASE,
+                           "DB: SIGNAL %d (status=%d)",
+                           (gctINT)(gctUINTPTR_T)record->data, status);
+            break;
+
+        case gcvDB_VIDEO_MEMORY_LOCKED:
+            node = gcmUINT64_TO_PTR(record->data);
+            /* Unlock what we still locked */
+            status = gckVIDMEM_Unlock(record->kernel,
+                                      node,
+                                      gcvSURF_TYPE_UNKNOWN,
+                                      &asynchronous);
+
+            if (gcmIS_SUCCESS(status) && (gcvTRUE == asynchronous))
+            {
+                /* TODO: we maybe need to schedule a event here */
+                status = gckVIDMEM_Unlock(record->kernel,
+                                          node,
+                                          gcvSURF_TYPE_UNKNOWN,
+                                          gcvNULL);
+            }
+
+            gcmkTRACE_ZONE(gcvLEVEL_WARNING, gcvZONE_DATABASE,
+                           "DB: VIDEO_MEMORY_LOCKED 0x%x (status=%d)",
+                           node, status);
+            break;
+
+        case gcvDB_CONTEXT:
+            /* TODO: Free the context */
+            status = gckCOMMAND_Detach(Kernel->command, gcmNAME_TO_PTR(record->data));
+            gcmRELEASE_NAME(record->data);
+
+            gcmkTRACE_ZONE(gcvLEVEL_WARNING, gcvZONE_DATABASE,
+                           "DB: CONTEXT 0x%x (status=%d)",
+                           record->data, status);
+            break;
+
+        case gcvDB_MAP_MEMORY:
+            /* Unmap memory. */
+            status = gckKERNEL_UnmapMemory(Kernel,
+                                           record->physical,
+                                           record->bytes,
+                                           record->data);
+
+            gcmkTRACE_ZONE(gcvLEVEL_WARNING, gcvZONE_DATABASE,
+                           "DB: MAP MEMORY %d (status=%d)",
+                           gcmPTR2INT(record->data), status);
+            break;
+
+        case gcvDB_MAP_USER_MEMORY:
+            /* TODO: Unmap user memory. */
+            status = gckOS_UnmapUserMemory(Kernel->os,
+                                           Kernel->core,
+                                           record->physical,
+                                           record->bytes,
+                                           gcmNAME_TO_PTR(record->data),
+                                           0);
+            gcmRELEASE_NAME(record->data);
+
+            gcmkTRACE_ZONE(gcvLEVEL_WARNING, gcvZONE_DATABASE,
+                           "DB: MAP USER MEMORY %d (status=%d)",
+                           gcmPTR2INT(record->data), status);
+            break;
+
+        case gcvDB_SHARED_INFO:
+            status = gckOS_FreeMemory(Kernel->os, record->physical);
+            break;
+
+#if gcdANDROID_NATIVE_FENCE_SYNC
+        case gcvDB_SYNC_POINT:
+            /* Free the user signal. */
+            status = gckOS_DestroySyncPoint(Kernel->os,
+                                            (gctSYNC_POINT) record->data);
+
+            gcmkTRACE_ZONE(gcvLEVEL_WARNING, gcvZONE_DATABASE,
+                           "DB: SYNC POINT %d (status=%d)",
+                           (gctINT)(gctUINTPTR_T)record->data, status);
+            break;
+#endif
+
+        case gcvDB_VIDEO_MEMORY_RESERVED:
+        case gcvDB_VIDEO_MEMORY_CONTIGUOUS:
+        case gcvDB_VIDEO_MEMORY_VIRTUAL:
+            break;//Nothing to do
+
+        default:
+            gcmkTRACE_ZONE(gcvLEVEL_ERROR, gcvZONE_DATABASE,
+                           "DB: Correcupted record=0x%08x type=%d",
+                           record, record->type);
+            break;
+        }
+
+        /* Delete the record. */
+        gcmkONERROR(gckKERNEL_DeleteRecord(Kernel,
+                                           database,
+                                           record->type,
+                                           record->data,
+                                           gcvNULL));
+    }
+
+    }
+
+    /* Delete the database. */
+    gcmkONERROR(gckKERNEL_DeleteDatabase(Kernel, database));
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**  gckKERNEL_QueryProcessDB
+**
+**  Query a process database for the current usage of a particular record type.
+**
+**  INPUT:
+**
+**      gckKERNEL Kernel
+**          Pointer to a gckKERNEL object.
+**
+**      gctUINT32 ProcessID
+**          Process ID used to identify the database.
+**
+**      gctBOOL LastProcessID
+**          gcvTRUE if searching for the last known process ID.  gcvFALSE if
+**          we need to search for the process ID specified by the ProcessID
+**          argument.
+**
+**      gceDATABASE_TYPE Type
+**          Type of the record to query.
+**
+**  OUTPUT:
+**
+**      gcuDATABASE_INFO * Info
+**          Pointer to a variable that receives the requested information.
+*/
+gceSTATUS
+gckKERNEL_QueryProcessDB(
+    IN gckKERNEL Kernel,
+    IN gctUINT32 ProcessID,
+    IN gctBOOL LastProcessID,
+    IN gceDATABASE_TYPE Type,
+    OUT gcuDATABASE_INFO * Info
+    )
+{
+    gceSTATUS status;
+    gcsDATABASE_PTR database;
+
+    gcmkHEADER_ARG("Kernel=0x%x ProcessID=%d Type=%d Info=0x%x",
+                   Kernel, ProcessID, Type, Info);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Kernel, gcvOBJ_KERNEL);
+    gcmkVERIFY_ARGUMENT(Info != gcvNULL);
+
+    /* Find the database. */
+    gcmkONERROR(
+        gckKERNEL_FindDatabase(Kernel, ProcessID, LastProcessID, &database));
+
+    /* Get pointer to counters. */
+    switch (Type)
+    {
+    case gcvDB_VIDEO_MEMORY:
+        gckOS_MemCopy(&Info->counters,
+                                  &database->vidMem,
+                                  gcmSIZEOF(database->vidMem));
+        break;
+
+    case gcvDB_NON_PAGED:
+        gckOS_MemCopy(&Info->counters,
+                                  &database->nonPaged,
+                                  gcmSIZEOF(database->vidMem));
+        break;
+
+    case gcvDB_CONTIGUOUS:
+        gckOS_MemCopy(&Info->counters,
+                                  &database->contiguous,
+                                  gcmSIZEOF(database->vidMem));
+        break;
+
+    case gcvDB_IDLE:
+        Info->time           = Kernel->db->idleTime;
+        Kernel->db->idleTime = 0;
+        break;
+
+    case gcvDB_MAP_MEMORY:
+        gckOS_MemCopy(&Info->counters,
+                                  &database->mapMemory,
+                                  gcmSIZEOF(database->mapMemory));
+        break;
+
+    case gcvDB_MAP_USER_MEMORY:
+        gckOS_MemCopy(&Info->counters,
+                                  &database->mapUserMemory,
+                                  gcmSIZEOF(database->mapUserMemory));
+        break;
+
+    case gcvDB_VIDEO_MEMORY_RESERVED:
+        gckOS_MemCopy(&Info->counters,
+                                  &database->vidMemResv,
+                                  gcmSIZEOF(database->vidMemResv));
+        break;
+
+    case gcvDB_VIDEO_MEMORY_CONTIGUOUS:
+        gckOS_MemCopy(&Info->counters,
+                                  &database->vidMemCont,
+                                  gcmSIZEOF(database->vidMemCont));
+        break;
+
+    case gcvDB_VIDEO_MEMORY_VIRTUAL:
+        gckOS_MemCopy(&Info->counters,
+                                  &database->vidMemVirt,
+                                  gcmSIZEOF(database->vidMemVirt));
+        break;
+
+    default:
+        break;
+    }
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+#if gcdSECURE_USER
+/*******************************************************************************
+**  gckKERNEL_GetProcessDBCache
+**
+**  Get teh secure cache from a process database.
+**
+**  INPUT:
+**
+**      gckKERNEL Kernel
+**          Pointer to a gckKERNEL object.
+**
+**      gctUINT32 ProcessID
+**          Process ID used to identify the database.
+**
+**  OUTPUT:
+**
+**      gcskSECURE_CACHE_PTR * Cache
+**          Pointer to a variable that receives the secure cache pointer.
+*/
+gceSTATUS
+gckKERNEL_GetProcessDBCache(
+    IN gckKERNEL Kernel,
+    IN gctUINT32 ProcessID,
+    OUT gcskSECURE_CACHE_PTR * Cache
+    )
+{
+    gceSTATUS status;
+    gcsDATABASE_PTR database;
+
+    gcmkHEADER_ARG("Kernel=0x%x ProcessID=%d", Kernel, ProcessID);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Kernel, gcvOBJ_KERNEL);
+    gcmkVERIFY_ARGUMENT(Cache != gcvNULL);
+
+    /* Find the database. */
+    gcmkONERROR(gckKERNEL_FindDatabase(Kernel, ProcessID, gcvFALSE, &database));
+
+    /* Return the pointer to the cache. */
+    *Cache = &database->cache;
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Cache=0x%x", *Cache);
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+#endif
+
+gceSTATUS
+gckKERNEL_DumpProcessDB(
+    IN gckKERNEL Kernel
+    )
+{
+    gcsDATABASE_PTR database;
+    gctINT i, pid;
+    gctUINT8 name[24];
+
+    gcmkHEADER_ARG("Kernel=0x%x", Kernel);
+
+    /* Acquire the database mutex. */
+    gcmkVERIFY_OK(
+        gckOS_AcquireMutex(Kernel->os, Kernel->db->dbMutex, gcvINFINITE));
+
+    gcmkPRINT("**************************\n");
+    gcmkPRINT("***  PROCESS DB DUMP   ***\n");
+    gcmkPRINT("**************************\n");
+
+    gcmkPRINT_N(8, "%-8s%s\n", "PID", "NAME");
+    /* Walk the databases. */
+    for (i = 0; i < gcmCOUNTOF(Kernel->db->db); ++i)
+    {
+        for (database = Kernel->db->db[i];
+             database != gcvNULL;
+             database = database->next)
+        {
+            pid = database->processID;
+
+            gcmkVERIFY_OK(gckOS_ZeroMemory(name, gcmSIZEOF(name)));
+
+            gcmkVERIFY_OK(gckOS_GetProcessNameByPid(pid, gcmSIZEOF(name), name));
+
+            gcmkPRINT_N(8, "%-8d%s\n", pid, name);
+        }
+    }
+
+    /* Release the database mutex. */
+    gcmkVERIFY_OK(gckOS_ReleaseMutex(Kernel->os, Kernel->db->dbMutex));
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
diff --git a/drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_debug.c b/drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_debug.c
new file mode 100644 (file)
index 0000000..a36de6e
--- /dev/null
@@ -0,0 +1,2559 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#include "gc_hal_kernel_precomp.h"
+#include <gc_hal_kernel_debug.h>
+
+/******************************************************************************\
+******************************** Debug Variables *******************************
+\******************************************************************************/
+
+static gceSTATUS _lastError  = gcvSTATUS_OK;
+static gctUINT32 _debugLevel = gcvLEVEL_ERROR;
+/*
+_debugZones config value
+Please Reference define in gc_hal_base.h
+*/
+static gctUINT32 _debugZones = gcvZONE_NONE;
+
+/******************************************************************************\
+********************************* Debug Switches *******************************
+\******************************************************************************/
+
+/*
+    gcdBUFFERED_OUTPUT
+
+    When set to non-zero, all output is collected into a buffer with the
+    specified size.  Once the buffer gets full, the debug buffer will be
+    printed to the console. gcdBUFFERED_SIZE determines the size of the buffer.
+*/
+#define gcdBUFFERED_OUTPUT  0
+
+/*
+    gcdBUFFERED_SIZE
+
+    When set to non-zero, all output is collected into a buffer with the
+    specified size.  Once the buffer gets full, the debug buffer will be
+    printed to the console.
+*/
+#define gcdBUFFERED_SIZE    (1024 * 1024 * 2)
+
+/*
+    gcdDMA_BUFFER_COUNT
+
+    If greater then zero, the debugger will attempt to find the command buffer
+    where DMA is currently executing and then print this buffer and
+    (gcdDMA_BUFFER_COUNT - 1) buffers before the current one. If set to zero
+    or the current buffer is not found, all buffers are printed.
+*/
+#define gcdDMA_BUFFER_COUNT 0
+
+/*
+    gcdTHREAD_BUFFERS
+
+    When greater then one, will accumulate messages from the specified number
+    of threads in separate output buffers.
+*/
+#define gcdTHREAD_BUFFERS   1
+
+/*
+    gcdENABLE_OVERFLOW
+
+    When set to non-zero, and the output buffer gets full, instead of being
+    printed, it will be allowed to overflow removing the oldest messages.
+*/
+#define gcdENABLE_OVERFLOW  1
+
+/*
+    gcdSHOW_LINE_NUMBER
+
+    When enabledm each print statement will be preceeded with the current
+    line number.
+*/
+#define gcdSHOW_LINE_NUMBER 0
+
+/*
+    gcdSHOW_PROCESS_ID
+
+    When enabledm each print statement will be preceeded with the current
+    process ID.
+*/
+#define gcdSHOW_PROCESS_ID  0
+
+/*
+    gcdSHOW_THREAD_ID
+
+    When enabledm each print statement will be preceeded with the current
+    thread ID.
+*/
+#define gcdSHOW_THREAD_ID   0
+
+/*
+    gcdSHOW_TIME
+
+    When enabled each print statement will be preceeded with the current
+    high-resolution time.
+*/
+#define gcdSHOW_TIME        0
+
+
+/******************************************************************************\
+****************************** Miscellaneous Macros ****************************
+\******************************************************************************/
+
+#if gcmIS_DEBUG(gcdDEBUG_TRACE)
+#   define gcmDBGASSERT(Expression, Format, Value) \
+        if (!(Expression)) \
+        { \
+            _DirectPrint( \
+                "*** gcmDBGASSERT ***************************\n" \
+                "    function     : %s\n" \
+                "    line         : %d\n" \
+                "    expression   : " #Expression "\n" \
+                "    actual value : " Format "\n", \
+                __FUNCTION__, __LINE__, Value \
+                ); \
+        }
+#else
+#   define gcmDBGASSERT(Expression, Format, Value)
+#endif
+
+#define gcmPTRALIGNMENT(Pointer, Alignemnt) \
+( \
+    gcmALIGN(gcmPTR2INT(Pointer), Alignemnt) - gcmPTR2INT(Pointer) \
+)
+
+#if gcdALIGNBYSIZE
+#   define gcmISALIGNED(Offset, Alignment) \
+        (((Offset) & ((Alignment) - 1)) == 0)
+
+#   define gcmkALIGNPTR(Type, Pointer, Alignment) \
+        Pointer = (Type) gcmINT2PTR(gcmALIGN(gcmPTR2INT(Pointer), Alignment))
+#else
+#   define gcmISALIGNED(Offset, Alignment) \
+        gcvTRUE
+
+#   define gcmkALIGNPTR(Type, Pointer, Alignment)
+#endif
+
+#define gcmALIGNSIZE(Offset, Size) \
+    ((Size - Offset) + Size)
+
+#define gcdHAVEPREFIX \
+( \
+       gcdSHOW_TIME \
+    || gcdSHOW_LINE_NUMBER \
+    || gcdSHOW_PROCESS_ID \
+    || gcdSHOW_THREAD_ID \
+)
+
+#if gcdHAVEPREFIX
+
+#   define gcdOFFSET                    0
+
+#if gcdSHOW_TIME
+#if gcmISALIGNED(gcdOFFSET, 8)
+#           define gcdTIMESIZE          gcmSIZEOF(gctUINT64)
+#       elif gcdOFFSET == 4
+#           define gcdTIMESIZE          gcmALIGNSIZE(4, gcmSIZEOF(gctUINT64))
+#       else
+#           error "Unexpected offset value."
+#       endif
+#       undef  gcdOFFSET
+#       define gcdOFFSET                8
+#if !defined(gcdPREFIX_LEADER)
+#           define gcdPREFIX_LEADER     gcmSIZEOF(gctUINT64)
+#           define gcdTIMEFORMAT        "0x%016llX"
+#       else
+#           define gcdTIMEFORMAT        ", 0x%016llX"
+#       endif
+#   else
+#       define gcdTIMESIZE              0
+#       define gcdTIMEFORMAT
+#   endif
+
+#if gcdSHOW_LINE_NUMBER
+#if gcmISALIGNED(gcdOFFSET, 8)
+#           define gcdNUMSIZE           gcmSIZEOF(gctUINT64)
+#       elif gcdOFFSET == 4
+#           define gcdNUMSIZE           gcmALIGNSIZE(4, gcmSIZEOF(gctUINT64))
+#       else
+#           error "Unexpected offset value."
+#       endif
+#       undef  gcdOFFSET
+#       define gcdOFFSET                8
+#if !defined(gcdPREFIX_LEADER)
+#           define gcdPREFIX_LEADER     gcmSIZEOF(gctUINT64)
+#           define gcdNUMFORMAT         "%8llu"
+#       else
+#           define gcdNUMFORMAT         ", %8llu"
+#       endif
+#   else
+#       define gcdNUMSIZE               0
+#       define gcdNUMFORMAT
+#   endif
+
+#if gcdSHOW_PROCESS_ID
+#if gcmISALIGNED(gcdOFFSET, 4)
+#           define gcdPIDSIZE           gcmSIZEOF(gctUINT32)
+#       else
+#           error "Unexpected offset value."
+#       endif
+#       undef  gcdOFFSET
+#       define gcdOFFSET                4
+#if !defined(gcdPREFIX_LEADER)
+#           define gcdPREFIX_LEADER     gcmSIZEOF(gctUINT32)
+#           define gcdPIDFORMAT         "pid=%5d"
+#       else
+#           define gcdPIDFORMAT         ", pid=%5d"
+#       endif
+#   else
+#       define gcdPIDSIZE               0
+#       define gcdPIDFORMAT
+#   endif
+
+#if gcdSHOW_THREAD_ID
+#if gcmISALIGNED(gcdOFFSET, 4)
+#           define gcdTIDSIZE           gcmSIZEOF(gctUINT32)
+#       else
+#           error "Unexpected offset value."
+#       endif
+#       undef  gcdOFFSET
+#       define gcdOFFSET                4
+#if !defined(gcdPREFIX_LEADER)
+#           define gcdPREFIX_LEADER     gcmSIZEOF(gctUINT32)
+#           define gcdTIDFORMAT         "tid=%5d"
+#       else
+#           define gcdTIDFORMAT         ", tid=%5d"
+#       endif
+#   else
+#       define gcdTIDSIZE               0
+#       define gcdTIDFORMAT
+#   endif
+
+#   define gcdPREFIX_SIZE \
+    ( \
+          gcdTIMESIZE \
+        + gcdNUMSIZE  \
+        + gcdPIDSIZE  \
+        + gcdTIDSIZE  \
+    )
+
+    static const char * _prefixFormat =
+    "["
+        gcdTIMEFORMAT
+        gcdNUMFORMAT
+        gcdPIDFORMAT
+        gcdTIDFORMAT
+    "] ";
+
+#else
+
+#   define gcdPREFIX_LEADER             gcmSIZEOF(gctUINT32)
+#   define gcdPREFIX_SIZE               0
+
+#endif
+
+/* Assumed largest variable argument leader size. */
+#define gcdVARARG_LEADER                gcmSIZEOF(gctUINT64)
+
+/* Alignnments. */
+#if gcdALIGNBYSIZE
+#   define gcdPREFIX_ALIGNMENT gcdPREFIX_LEADER
+#   define gcdVARARG_ALIGNMENT gcdVARARG_LEADER
+#else
+#   define gcdPREFIX_ALIGNMENT 0
+#   define gcdVARARG_ALIGNMENT 0
+#endif
+
+#if gcdBUFFERED_OUTPUT
+#   define gcdOUTPUTPREFIX _AppendPrefix
+#   define gcdOUTPUTSTRING _AppendString
+#   define gcdOUTPUTCOPY   _AppendCopy
+#   define gcdOUTPUTBUFFER _AppendBuffer
+#else
+#   define gcdOUTPUTPREFIX _PrintPrefix
+#   define gcdOUTPUTSTRING _PrintString
+#   define gcdOUTPUTCOPY   _PrintString
+#   define gcdOUTPUTBUFFER _PrintBuffer
+#endif
+
+/******************************************************************************\
+****************************** Private Structures ******************************
+\******************************************************************************/
+
+typedef enum _gceBUFITEM
+{
+    gceBUFITEM_NONE,
+    gcvBUFITEM_PREFIX,
+    gcvBUFITEM_STRING,
+    gcvBUFITEM_COPY,
+    gcvBUFITEM_BUFFER
+}
+gceBUFITEM;
+
+/* Common item head/buffer terminator. */
+typedef struct _gcsBUFITEM_HEAD * gcsBUFITEM_HEAD_PTR;
+typedef struct _gcsBUFITEM_HEAD
+{
+    gceBUFITEM              type;
+}
+gcsBUFITEM_HEAD;
+
+/* String prefix (for ex. [     1,tid=0x019A]) */
+typedef struct _gcsBUFITEM_PREFIX * gcsBUFITEM_PREFIX_PTR;
+typedef struct _gcsBUFITEM_PREFIX
+{
+    gceBUFITEM              type;
+#if gcdHAVEPREFIX
+    gctPOINTER              prefixData;
+#endif
+}
+gcsBUFITEM_PREFIX;
+
+/* Buffered string. */
+typedef struct _gcsBUFITEM_STRING * gcsBUFITEM_STRING_PTR;
+typedef struct _gcsBUFITEM_STRING
+{
+    gceBUFITEM              type;
+    gctINT                  indent;
+    gctCONST_STRING         message;
+    gctPOINTER              messageData;
+    gctUINT                 messageDataSize;
+}
+gcsBUFITEM_STRING;
+
+/* Buffered string (copy of the string is included with the record). */
+typedef struct _gcsBUFITEM_COPY * gcsBUFITEM_COPY_PTR;
+typedef struct _gcsBUFITEM_COPY
+{
+    gceBUFITEM              type;
+    gctINT                  indent;
+    gctPOINTER              messageData;
+    gctUINT                 messageDataSize;
+}
+gcsBUFITEM_COPY;
+
+/* Memory buffer. */
+typedef struct _gcsBUFITEM_BUFFER * gcsBUFITEM_BUFFER_PTR;
+typedef struct _gcsBUFITEM_BUFFER
+{
+    gceBUFITEM              type;
+    gctINT                  indent;
+    gceDUMP_BUFFER          bufferType;
+
+#if gcdDMA_BUFFER_COUNT && (gcdTHREAD_BUFFERS == 1)
+    gctUINT32               dmaAddress;
+#endif
+
+    gctUINT                 dataSize;
+    gctUINT32               address;
+#if gcdHAVEPREFIX
+    gctPOINTER              prefixData;
+#endif
+}
+gcsBUFITEM_BUFFER;
+
+typedef struct _gcsBUFFERED_OUTPUT * gcsBUFFERED_OUTPUT_PTR;
+typedef struct _gcsBUFFERED_OUTPUT
+{
+#if gcdTHREAD_BUFFERS > 1
+    gctUINT32               threadID;
+#endif
+
+#if gcdSHOW_LINE_NUMBER
+    gctUINT64               lineNumber;
+#endif
+
+    gctINT                  indent;
+
+#if gcdBUFFERED_OUTPUT
+    gctINT                  start;
+    gctINT                  index;
+    gctINT                  count;
+    gctUINT8                buffer[gcdBUFFERED_SIZE];
+#endif
+
+    gcsBUFFERED_OUTPUT_PTR  prev;
+    gcsBUFFERED_OUTPUT_PTR  next;
+}
+gcsBUFFERED_OUTPUT;
+
+typedef gctUINT (* gcfPRINTSTRING) (
+    IN gcsBUFFERED_OUTPUT_PTR OutputBuffer,
+    IN gcsBUFITEM_HEAD_PTR Item
+    );
+
+typedef gctINT (* gcfGETITEMSIZE) (
+    IN gcsBUFITEM_HEAD_PTR Item
+    );
+
+/******************************************************************************\
+******************************* Private Variables ******************************
+\******************************************************************************/
+
+static gcsBUFFERED_OUTPUT     _outputBuffer[gcdTHREAD_BUFFERS];
+static gcsBUFFERED_OUTPUT_PTR _outputBufferHead = gcvNULL;
+static gcsBUFFERED_OUTPUT_PTR _outputBufferTail = gcvNULL;
+
+/******************************************************************************\
+****************************** Item Size Functions *****************************
+\******************************************************************************/
+
+#if gcdBUFFERED_OUTPUT
+static gctINT
+_GetTerminatorItemSize(
+    IN gcsBUFITEM_HEAD_PTR Item
+    )
+{
+    return gcmSIZEOF(gcsBUFITEM_HEAD);
+}
+
+static gctINT
+_GetPrefixItemSize(
+    IN gcsBUFITEM_HEAD_PTR Item
+    )
+{
+#if gcdHAVEPREFIX
+    gcsBUFITEM_PREFIX_PTR item = (gcsBUFITEM_PREFIX_PTR) Item;
+    gctUINT vlen = ((gctUINT8_PTR) item->prefixData) - ((gctUINT8_PTR) item);
+    return vlen + gcdPREFIX_SIZE;
+#else
+    return gcmSIZEOF(gcsBUFITEM_PREFIX);
+#endif
+}
+
+static gctINT
+_GetStringItemSize(
+    IN gcsBUFITEM_HEAD_PTR Item
+    )
+{
+    gcsBUFITEM_STRING_PTR item = (gcsBUFITEM_STRING_PTR) Item;
+    gctUINT vlen = ((gctUINT8_PTR) item->messageData) - ((gctUINT8_PTR) item);
+    return vlen + item->messageDataSize;
+}
+
+static gctINT
+_GetCopyItemSize(
+    IN gcsBUFITEM_HEAD_PTR Item
+    )
+{
+    gcsBUFITEM_COPY_PTR item = (gcsBUFITEM_COPY_PTR) Item;
+    gctUINT vlen = ((gctUINT8_PTR) item->messageData) - ((gctUINT8_PTR) item);
+    return vlen + item->messageDataSize;
+}
+
+static gctINT
+_GetBufferItemSize(
+    IN gcsBUFITEM_HEAD_PTR Item
+    )
+{
+#if gcdHAVEPREFIX
+    gcsBUFITEM_BUFFER_PTR item = (gcsBUFITEM_BUFFER_PTR) Item;
+    gctUINT vlen = ((gctUINT8_PTR) item->prefixData) - ((gctUINT8_PTR) item);
+    return vlen + gcdPREFIX_SIZE + item->dataSize;
+#else
+    gcsBUFITEM_BUFFER_PTR item = (gcsBUFITEM_BUFFER_PTR) Item;
+    return gcmSIZEOF(gcsBUFITEM_BUFFER) + item->dataSize;
+#endif
+}
+
+static gcfGETITEMSIZE _itemSize[] =
+{
+    _GetTerminatorItemSize,
+    _GetPrefixItemSize,
+    _GetStringItemSize,
+    _GetCopyItemSize,
+    _GetBufferItemSize
+};
+#endif
+
+/******************************************************************************\
+******************************* Printing Functions *****************************
+\******************************************************************************/
+
+#if gcdDEBUG || gcdBUFFERED_OUTPUT
+static void
+_DirectPrint(
+    gctCONST_STRING Message,
+    ...
+    )
+{
+    gctINT len;
+    char buffer[768];
+    gctARGUMENTS arguments;
+
+    gcmkARGUMENTS_START(arguments, Message);
+    len = gcmkVSPRINTF(buffer, gcmSIZEOF(buffer), Message, arguments);
+    gcmkARGUMENTS_END(arguments);
+
+    buffer[len] = '\0';
+    gcmkOUTPUT_STRING(buffer);
+}
+#endif
+
+static int
+_AppendIndent(
+    IN gctINT Indent,
+    IN char * Buffer,
+    IN int BufferSize
+    )
+{
+    gctINT i;
+
+    gctINT len    = 0;
+    gctINT indent = Indent % 40;
+
+    for (i = 0; i < indent; i += 1)
+    {
+        Buffer[len++] = ' ';
+    }
+
+    if (indent != Indent)
+    {
+        len += gcmkSPRINTF(
+            Buffer + len, BufferSize - len, " <%d> ", Indent
+            );
+
+        Buffer[len] = '\0';
+    }
+
+    return len;
+}
+
+#if gcdHAVEPREFIX
+static void
+_PrintPrefix(
+    IN gcsBUFFERED_OUTPUT_PTR OutputBuffer,
+    IN gctPOINTER Data
+    )
+{
+    char buffer[768];
+    gctINT len;
+
+    /* Format the string. */
+    len = gcmkVSPRINTF(buffer, gcmSIZEOF(buffer), _prefixFormat, Data);
+    buffer[len] = '\0';
+
+    /* Print the string. */
+    gcmkOUTPUT_STRING(buffer);
+}
+#endif
+
+static void
+_PrintString(
+    IN gcsBUFFERED_OUTPUT_PTR OutputBuffer,
+    IN gctINT Indent,
+    IN gctCONST_STRING Message,
+    IN gctUINT ArgumentSize,
+    IN gctPOINTER Data
+    )
+{
+    char buffer[768];
+    gctINT len;
+
+    /* Append the indent string. */
+    len = _AppendIndent(Indent, buffer, gcmSIZEOF(buffer));
+
+    /* Format the string. */
+    len += gcmkVSPRINTF(buffer + len, gcmSIZEOF(buffer) - len, Message, Data);
+    buffer[len] = '\0';
+
+    /* Add end-of-line if missing. */
+    if (buffer[len - 1] != '\n')
+    {
+        buffer[len++] = '\n';
+        buffer[len] = '\0';
+    }
+
+    /* Print the string. */
+    gcmkOUTPUT_STRING(buffer);
+}
+
+static void
+_PrintBuffer(
+    IN gcsBUFFERED_OUTPUT_PTR OutputBuffer,
+    IN gctINT Indent,
+    IN gctPOINTER PrefixData,
+    IN gctPOINTER Data,
+    IN gctUINT Address,
+    IN gctUINT DataSize,
+    IN gceDUMP_BUFFER Type,
+    IN gctUINT32 DmaAddress
+    )
+{
+    static gctCONST_STRING _titleString[] =
+    {
+        "CONTEXT BUFFER",
+        "USER COMMAND BUFFER",
+        "KERNEL COMMAND BUFFER",
+        "LINK BUFFER",
+        "WAIT LINK BUFFER",
+        ""
+    };
+
+    static const gctINT COLUMN_COUNT = 8;
+
+    gctUINT i, count, column, address;
+    gctUINT32_PTR data;
+    gctCHAR buffer[768];
+    gctUINT indent, len;
+    gctBOOL command;
+
+    /* Append space for the prefix. */
+#if gcdHAVEPREFIX
+    indent = gcmkVSPRINTF(buffer, gcmSIZEOF(buffer), _prefixFormat, PrefixData);
+    buffer[indent] = '\0';
+#else
+    indent = 0;
+#endif
+
+    /* Append the indent string. */
+    indent += _AppendIndent(
+        Indent, buffer + indent, gcmSIZEOF(buffer) - indent
+        );
+
+    switch (Type)
+    {
+    case gceDUMP_BUFFER_CONTEXT:
+    case gceDUMP_BUFFER_USER:
+    case gceDUMP_BUFFER_KERNEL:
+    case gceDUMP_BUFFER_LINK:
+    case gceDUMP_BUFFER_WAITLINK:
+        /* Form and print the title string. */
+        gcmkSPRINTF2(
+            buffer + indent, gcmSIZEOF(buffer) - indent,
+            "%s%s\n", _titleString[Type],
+            ((DmaAddress >= Address) && (DmaAddress < Address + DataSize))
+                ? " (CURRENT)" : ""
+            );
+
+        gcmkOUTPUT_STRING(buffer);
+
+        /* Terminate the string. */
+        buffer[indent] = '\0';
+
+        /* This is a command buffer. */
+        command = gcvTRUE;
+        break;
+
+    case gceDUMP_BUFFER_FROM_USER:
+        /* This is not a command buffer. */
+        command = gcvFALSE;
+
+        /* No title. */
+        break;
+
+    default:
+        gcmDBGASSERT(gcvFALSE, "%s", "invalid buffer type");
+
+        /* This is not a command buffer. */
+        command = gcvFALSE;
+    }
+
+    /* Overwrite the prefix with spaces. */
+    for (i = 0; i < indent; i += 1)
+    {
+        buffer[i] = ' ';
+    }
+
+    /* Form and print the opening string. */
+    if (command)
+    {
+        gcmkSPRINTF2(
+            buffer + indent, gcmSIZEOF(buffer) - indent,
+            "@[kernel.command %08X %08X\n", Address, DataSize
+            );
+
+        gcmkOUTPUT_STRING(buffer);
+
+        /* Terminate the string. */
+        buffer[indent] = '\0';
+    }
+
+    /* Get initial address. */
+    address = Address;
+
+    /* Cast the data pointer. */
+    data = (gctUINT32_PTR) Data;
+
+    /* Compute the number of double words. */
+    count = DataSize / gcmSIZEOF(gctUINT32);
+
+    /* Print the buffer. */
+    for (i = 0, len = indent, column = 0; i < count; i += 1)
+    {
+        /* Append the address. */
+        if (column == 0)
+        {
+            len += gcmkSPRINTF(
+                buffer + len, gcmSIZEOF(buffer) - len, "0x%08X:", address
+                );
+        }
+
+        /* Append the data value. */
+        len += gcmkSPRINTF2(
+            buffer + len, gcmSIZEOF(buffer) - len, "%c%08X",
+            (address == DmaAddress)? '>' : ' ', data[i]
+            );
+
+        buffer[len] = '\0';
+
+        /* Update the address. */
+        address += gcmSIZEOF(gctUINT32);
+
+        /* Advance column count. */
+        column += 1;
+
+        /* End of line? */
+        if ((column % COLUMN_COUNT) == 0)
+        {
+            /* Append EOL. */
+            gcmkSTRCAT(buffer + len, gcmSIZEOF(buffer) - len, "\n");
+
+            /* Print the string. */
+            gcmkOUTPUT_STRING(buffer);
+
+            /* Reset. */
+            len    = indent;
+            column = 0;
+        }
+    }
+
+    /* Print the last partial string. */
+    if (column != 0)
+    {
+        /* Append EOL. */
+        gcmkSTRCAT(buffer + len, gcmSIZEOF(buffer) - len, "\n");
+
+        /* Print the string. */
+        gcmkOUTPUT_STRING(buffer);
+    }
+
+    /* Form and print the opening string. */
+    if (command)
+    {
+        buffer[indent] = '\0';
+        gcmkSTRCAT(buffer, gcmSIZEOF(buffer), "] -- command\n");
+        gcmkOUTPUT_STRING(buffer);
+    }
+}
+
+#if gcdBUFFERED_OUTPUT
+static gctUINT
+_PrintNone(
+    IN gcsBUFFERED_OUTPUT_PTR OutputBuffer,
+    IN gcsBUFITEM_HEAD_PTR Item
+    )
+{
+    /* Return the size of the node. */
+    return gcmSIZEOF(gcsBUFITEM_HEAD);
+}
+
+static gctUINT
+_PrintPrefixWrapper(
+    IN gcsBUFFERED_OUTPUT_PTR OutputBuffer,
+    IN gcsBUFITEM_HEAD_PTR Item
+    )
+{
+#if gcdHAVEPREFIX
+    gcsBUFITEM_PREFIX_PTR item;
+    gctUINT vlen;
+
+    /* Get access to the data. */
+    item = (gcsBUFITEM_PREFIX_PTR) Item;
+
+    /* Print the message. */
+    _PrintPrefix(OutputBuffer, item->prefixData);
+
+    /* Compute the size of the variable portion of the structure. */
+    vlen = ((gctUINT8_PTR) item->prefixData) - ((gctUINT8_PTR) item);
+
+    /* Return the size of the node. */
+    return vlen + gcdPREFIX_SIZE;
+#else
+    return gcmSIZEOF(gcsBUFITEM_PREFIX);
+#endif
+}
+
+static gctUINT
+_PrintStringWrapper(
+    IN gcsBUFFERED_OUTPUT_PTR OutputBuffer,
+    IN gcsBUFITEM_HEAD_PTR Item
+    )
+{
+    gcsBUFITEM_STRING_PTR item;
+    gctUINT vlen;
+
+    /* Get access to the data. */
+    item = (gcsBUFITEM_STRING_PTR) Item;
+
+    /* Print the message. */
+    _PrintString(
+        OutputBuffer,
+        item->indent, item->message, item->messageDataSize, item->messageData
+        );
+
+    /* Compute the size of the variable portion of the structure. */
+    vlen = ((gctUINT8_PTR) item->messageData) - ((gctUINT8_PTR) item);
+
+    /* Return the size of the node. */
+    return vlen + item->messageDataSize;
+}
+
+static gctUINT
+_PrintCopyWrapper(
+    IN gcsBUFFERED_OUTPUT_PTR OutputBuffer,
+    IN gcsBUFITEM_HEAD_PTR Item
+    )
+{
+    gcsBUFITEM_COPY_PTR item;
+    gctCONST_STRING message;
+    gctUINT vlen;
+
+    /* Get access to the data. */
+    item = (gcsBUFITEM_COPY_PTR) Item;
+
+    /* Determine the string pointer. */
+    message = (gctCONST_STRING) (item + 1);
+
+    /* Print the message. */
+    _PrintString(
+        OutputBuffer,
+        item->indent, message, item->messageDataSize, item->messageData
+        );
+
+    /* Compute the size of the variable portion of the structure. */
+    vlen = ((gctUINT8_PTR) item->messageData) - ((gctUINT8_PTR) item);
+
+    /* Return the size of the node. */
+    return vlen + item->messageDataSize;
+}
+
+static gctUINT
+_PrintBufferWrapper(
+    IN gcsBUFFERED_OUTPUT_PTR OutputBuffer,
+    IN gcsBUFITEM_HEAD_PTR Item
+    )
+{
+#if gcdHAVEPREFIX
+    gctUINT32 dmaAddress;
+    gcsBUFITEM_BUFFER_PTR item;
+    gctPOINTER data;
+    gctUINT vlen;
+
+    /* Get access to the data. */
+    item = (gcsBUFITEM_BUFFER_PTR) Item;
+
+#if gcdDMA_BUFFER_COUNT && (gcdTHREAD_BUFFERS == 1)
+    dmaAddress = item->dmaAddress;
+#else
+    dmaAddress = 0xFFFFFFFF;
+#endif
+
+    if (dmaAddress != 0)
+    {
+        /* Compute the data address. */
+        data = ((gctUINT8_PTR) item->prefixData) + gcdPREFIX_SIZE;
+
+        /* Print buffer. */
+        _PrintBuffer(
+            OutputBuffer,
+            item->indent, item->prefixData,
+            data, item->address, item->dataSize,
+            item->bufferType, dmaAddress
+            );
+    }
+
+    /* Compute the size of the variable portion of the structure. */
+    vlen = ((gctUINT8_PTR) item->prefixData) - ((gctUINT8_PTR) item);
+
+    /* Return the size of the node. */
+    return vlen + gcdPREFIX_SIZE + item->dataSize;
+#else
+    gctUINT32 dmaAddress;
+    gcsBUFITEM_BUFFER_PTR item;
+
+    /* Get access to the data. */
+    item = (gcsBUFITEM_BUFFER_PTR) Item;
+
+#if gcdDMA_BUFFER_COUNT && (gcdTHREAD_BUFFERS == 1)
+    dmaAddress = item->dmaAddress;
+#else
+    dmaAddress = 0xFFFFFFFF;
+#endif
+
+    if (dmaAddress != 0)
+    {
+        /* Print buffer. */
+        _PrintBuffer(
+            OutputBuffer,
+            item->indent, gcvNULL,
+            item + 1, item->address, item->dataSize,
+            item->bufferType, dmaAddress
+            );
+    }
+
+    /* Return the size of the node. */
+    return gcmSIZEOF(gcsBUFITEM_BUFFER) + item->dataSize;
+#endif
+}
+
+static gcfPRINTSTRING _printArray[] =
+{
+    _PrintNone,
+    _PrintPrefixWrapper,
+    _PrintStringWrapper,
+    _PrintCopyWrapper,
+    _PrintBufferWrapper
+};
+#endif
+
+/******************************************************************************\
+******************************* Private Functions ******************************
+\******************************************************************************/
+
+#if gcdBUFFERED_OUTPUT
+
+#if gcdDMA_BUFFER_COUNT && (gcdTHREAD_BUFFERS == 1)
+static gcsBUFITEM_BUFFER_PTR
+_FindCurrentDMABuffer(
+    gctUINT32 DmaAddress
+    )
+{
+    gctINT i, skip;
+    gcsBUFITEM_HEAD_PTR item;
+    gcsBUFITEM_BUFFER_PTR dmaCurrent;
+
+    /* Reset the current buffer. */
+    dmaCurrent = gcvNULL;
+
+    /* Get the first stored item. */
+    item = (gcsBUFITEM_HEAD_PTR) &_outputBufferHead->buffer[_outputBufferHead->start];
+
+    /* Run through all items. */
+    for (i = 0; i < _outputBufferHead->count; i += 1)
+    {
+        /* Buffer item? */
+        if (item->type == gcvBUFITEM_BUFFER)
+        {
+            gcsBUFITEM_BUFFER_PTR buffer = (gcsBUFITEM_BUFFER_PTR) item;
+
+            if ((DmaAddress >= buffer->address) &&
+                (DmaAddress <  buffer->address + buffer->dataSize))
+            {
+                dmaCurrent = buffer;
+            }
+        }
+
+        /* Get the item size and skip it. */
+        skip = (* _itemSize[item->type]) (item);
+        item = (gcsBUFITEM_HEAD_PTR) ((gctUINT8_PTR) item + skip);
+
+        /* End of the buffer? Wrap around. */
+        if (item->type == gceBUFITEM_NONE)
+        {
+            item = (gcsBUFITEM_HEAD_PTR) _outputBufferHead->buffer;
+        }
+    }
+
+    /* Return result. */
+    return dmaCurrent;
+}
+
+static void
+_EnableAllDMABuffers(
+    void
+    )
+{
+    gctINT i, skip;
+    gcsBUFITEM_HEAD_PTR item;
+
+    /* Get the first stored item. */
+    item = (gcsBUFITEM_HEAD_PTR) &_outputBufferHead->buffer[_outputBufferHead->start];
+
+    /* Run through all items. */
+    for (i = 0; i < _outputBufferHead->count; i += 1)
+    {
+        /* Buffer item? */
+        if (item->type == gcvBUFITEM_BUFFER)
+        {
+            gcsBUFITEM_BUFFER_PTR buffer = (gcsBUFITEM_BUFFER_PTR) item;
+
+            /* Enable the buffer. */
+            buffer->dmaAddress = ~0U;
+        }
+
+        /* Get the item size and skip it. */
+        skip = (* _itemSize[item->type]) (item);
+        item = (gcsBUFITEM_HEAD_PTR) ((gctUINT8_PTR) item + skip);
+
+        /* End of the buffer? Wrap around. */
+        if (item->type == gceBUFITEM_NONE)
+        {
+            item = (gcsBUFITEM_HEAD_PTR) _outputBufferHead->buffer;
+        }
+    }
+}
+
+static void
+_EnableDMABuffers(
+    gctUINT32 DmaAddress,
+    gcsBUFITEM_BUFFER_PTR CurrentDMABuffer
+    )
+{
+    gctINT i, skip, index;
+    gcsBUFITEM_HEAD_PTR item;
+    gcsBUFITEM_BUFFER_PTR buffers[gcdDMA_BUFFER_COUNT];
+
+    /* Reset buffer pointers. */
+    gckOS_ZeroMemory(buffers, gcmSIZEOF(buffers));
+
+    /* Set the current buffer index. */
+    index = -1;
+
+    /* Get the first stored item. */
+    item = (gcsBUFITEM_HEAD_PTR) &_outputBufferHead->buffer[_outputBufferHead->start];
+
+    /* Run through all items until the current DMA buffer is found. */
+    for (i = 0; i < _outputBufferHead->count; i += 1)
+    {
+        /* Buffer item? */
+        if (item->type == gcvBUFITEM_BUFFER)
+        {
+            /* Advance the index. */
+            index = (index + 1) % gcdDMA_BUFFER_COUNT;
+
+            /* Add to the buffer array. */
+            buffers[index] = (gcsBUFITEM_BUFFER_PTR) item;
+
+            /* Stop if this is the current DMA buffer. */
+            if ((gcsBUFITEM_BUFFER_PTR) item == CurrentDMABuffer)
+            {
+                break;
+            }
+        }
+
+        /* Get the item size and skip it. */
+        skip = (* _itemSize[item->type]) (item);
+        item = (gcsBUFITEM_HEAD_PTR) ((gctUINT8_PTR) item + skip);
+
+        /* End of the buffer? Wrap around. */
+        if (item->type == gceBUFITEM_NONE)
+        {
+            item = (gcsBUFITEM_HEAD_PTR) _outputBufferHead->buffer;
+        }
+    }
+
+    /* Enable the found buffers. */
+    gcmDBGASSERT(index != -1, "%d", index);
+
+    for (i = 0; i < gcdDMA_BUFFER_COUNT; i += 1)
+    {
+        if (buffers[index] == gcvNULL)
+        {
+            break;
+        }
+
+        buffers[index]->dmaAddress = DmaAddress;
+
+        index -= 1;
+
+        if (index == -1)
+        {
+            index = gcdDMA_BUFFER_COUNT - 1;
+        }
+    }
+}
+#endif
+
+static void
+_Flush(
+    gctUINT32 DmaAddress
+    )
+{
+    gctINT i, skip;
+    gcsBUFITEM_HEAD_PTR item;
+
+    gcsBUFFERED_OUTPUT_PTR outputBuffer = _outputBufferHead;
+
+#if gcdDMA_BUFFER_COUNT && (gcdTHREAD_BUFFERS == 1)
+    if ((outputBuffer != gcvNULL) && (outputBuffer->count != 0))
+    {
+        /* Find the current DMA buffer. */
+        gcsBUFITEM_BUFFER_PTR dmaCurrent = _FindCurrentDMABuffer(DmaAddress);
+
+        /* Was the current buffer found? */
+        if (dmaCurrent == gcvNULL)
+        {
+            /* No, print all buffers. */
+            _EnableAllDMABuffers();
+        }
+        else
+        {
+            /* Yes, enable only specified number of buffers. */
+            _EnableDMABuffers(DmaAddress, dmaCurrent);
+        }
+    }
+#endif
+
+    while (outputBuffer != gcvNULL)
+    {
+        if (outputBuffer->count != 0)
+        {
+            _DirectPrint("********************************************************************************\n");
+            _DirectPrint("FLUSHING DEBUG OUTPUT BUFFER (%d elements).\n", outputBuffer->count);
+            _DirectPrint("********************************************************************************\n");
+
+            item = (gcsBUFITEM_HEAD_PTR) &outputBuffer->buffer[outputBuffer->start];
+
+            for (i = 0; i < outputBuffer->count; i += 1)
+            {
+                skip = (* _printArray[item->type]) (outputBuffer, item);
+
+                item = (gcsBUFITEM_HEAD_PTR) ((gctUINT8_PTR) item + skip);
+
+                if (item->type == gceBUFITEM_NONE)
+                {
+                    item = (gcsBUFITEM_HEAD_PTR) outputBuffer->buffer;
+                }
+            }
+
+            outputBuffer->start = 0;
+            outputBuffer->index = 0;
+            outputBuffer->count = 0;
+        }
+
+        outputBuffer = outputBuffer->next;
+    }
+}
+
+static gcsBUFITEM_HEAD_PTR
+_AllocateItem(
+    IN gcsBUFFERED_OUTPUT_PTR OutputBuffer,
+    IN gctINT Size
+    )
+{
+    gctINT skip;
+    gcsBUFITEM_HEAD_PTR item, next;
+
+#if gcdENABLE_OVERFLOW
+    if (
+            (OutputBuffer->index + Size >= gcdBUFFERED_SIZE - gcmSIZEOF(gcsBUFITEM_HEAD))
+            ||
+            (
+                (OutputBuffer->index        <  OutputBuffer->start) &&
+                (OutputBuffer->index + Size >= OutputBuffer->start)
+            )
+    )
+    {
+        if (OutputBuffer->index + Size >= gcdBUFFERED_SIZE - gcmSIZEOF(gcsBUFITEM_HEAD))
+        {
+            if (OutputBuffer->index < OutputBuffer->start)
+            {
+                item = (gcsBUFITEM_HEAD_PTR) &OutputBuffer->buffer[OutputBuffer->start];
+
+                while (item->type != gceBUFITEM_NONE)
+                {
+                    skip = (* _itemSize[item->type]) (item);
+
+                    OutputBuffer->start += skip;
+                    OutputBuffer->count -= 1;
+
+                    item->type = gceBUFITEM_NONE;
+                    item = (gcsBUFITEM_HEAD_PTR) ((gctUINT8_PTR) item + skip);
+                }
+
+                OutputBuffer->start = 0;
+            }
+
+            OutputBuffer->index = 0;
+        }
+
+        item = (gcsBUFITEM_HEAD_PTR) &OutputBuffer->buffer[OutputBuffer->start];
+
+        while (OutputBuffer->start - OutputBuffer->index <= Size)
+        {
+            skip = (* _itemSize[item->type]) (item);
+
+            OutputBuffer->start += skip;
+            OutputBuffer->count -= 1;
+
+            item->type = gceBUFITEM_NONE;
+            item = (gcsBUFITEM_HEAD_PTR) ((gctUINT8_PTR) item + skip);
+
+            if (item->type == gceBUFITEM_NONE)
+            {
+                OutputBuffer->start = 0;
+                break;
+            }
+        }
+    }
+#else
+    if (OutputBuffer->index + Size > gcdBUFFERED_SIZE - gcmSIZEOF(gcsBUFITEM_HEAD))
+    {
+        _DirectPrint("\nMessage buffer full; forcing message flush.\n\n");
+        _Flush(~0U);
+    }
+#endif
+
+    item = (gcsBUFITEM_HEAD_PTR) &OutputBuffer->buffer[OutputBuffer->index];
+
+    OutputBuffer->index += Size;
+    OutputBuffer->count += 1;
+
+    next = (gcsBUFITEM_HEAD_PTR) ((gctUINT8_PTR) item + Size);
+    next->type = gceBUFITEM_NONE;
+
+    return item;
+}
+
+#if gcdALIGNBYSIZE
+static void
+_FreeExtraSpace(
+    IN gcsBUFFERED_OUTPUT_PTR OutputBuffer,
+    IN gctPOINTER Item,
+    IN gctINT ItemSize,
+    IN gctINT FreeSize
+    )
+{
+    gcsBUFITEM_HEAD_PTR next;
+
+    OutputBuffer->index -= FreeSize;
+
+    next = (gcsBUFITEM_HEAD_PTR) ((gctUINT8_PTR) Item + ItemSize);
+    next->type = gceBUFITEM_NONE;
+}
+#endif
+
+#if gcdHAVEPREFIX
+static void
+_AppendPrefix(
+    IN gcsBUFFERED_OUTPUT_PTR OutputBuffer,
+    IN gctPOINTER Data
+    )
+{
+    gctUINT8_PTR prefixData;
+    gcsBUFITEM_PREFIX_PTR item;
+    gctINT allocSize;
+
+#if gcdALIGNBYSIZE
+    gctUINT alignment;
+    gctINT size, freeSize;
+#endif
+
+    gcmDBGASSERT(Data != gcvNULL, "%p", Data);
+
+    /* Determine the maximum item size. */
+    allocSize
+        = gcmSIZEOF(gcsBUFITEM_PREFIX)
+        + gcdPREFIX_SIZE
+        + gcdPREFIX_ALIGNMENT;
+
+    /* Allocate prefix item. */
+    item = (gcsBUFITEM_PREFIX_PTR) _AllocateItem(OutputBuffer, allocSize);
+
+    /* Compute the initial prefix data pointer. */
+    prefixData = (gctUINT8_PTR) (item + 1);
+
+    /* Align the data pointer as necessary. */
+#if gcdALIGNBYSIZE
+    alignment = gcmPTRALIGNMENT(prefixData, gcdPREFIX_ALIGNMENT);
+    prefixData += alignment;
+#endif
+
+    /* Set item data. */
+    item->type       = gcvBUFITEM_PREFIX;
+    item->prefixData = prefixData;
+
+    /* Copy argument value. */
+    memcpy(prefixData, Data, gcdPREFIX_SIZE);
+
+#if gcdALIGNBYSIZE
+    /* Compute the actual node size. */
+    size = gcmSIZEOF(gcsBUFITEM_PREFIX) + gcdPREFIX_SIZE + alignment;
+
+    /* Free extra memory if any. */
+    freeSize = allocSize - size;
+    if (freeSize != 0)
+    {
+        _FreeExtraSpace(OutputBuffer, item, size, freeSize);
+    }
+#endif
+}
+#endif
+
+static void
+_AppendString(
+    IN gcsBUFFERED_OUTPUT_PTR OutputBuffer,
+    IN gctINT Indent,
+    IN gctCONST_STRING Message,
+    IN gctUINT ArgumentSize,
+    IN gctPOINTER Data
+    )
+{
+    gctUINT8_PTR messageData;
+    gcsBUFITEM_STRING_PTR item;
+    gctINT allocSize;
+
+#if gcdALIGNBYSIZE
+    gctUINT alignment;
+    gctINT size, freeSize;
+#endif
+
+    /* Determine the maximum item size. */
+    allocSize
+        = gcmSIZEOF(gcsBUFITEM_STRING)
+        + ArgumentSize
+        + gcdVARARG_ALIGNMENT;
+
+    /* Allocate prefix item. */
+    item = (gcsBUFITEM_STRING_PTR) _AllocateItem(OutputBuffer, allocSize);
+
+    /* Compute the initial message data pointer. */
+    messageData = (gctUINT8_PTR) (item + 1);
+
+    /* Align the data pointer as necessary. */
+#if gcdALIGNBYSIZE
+    alignment = gcmPTRALIGNMENT(messageData, gcdVARARG_ALIGNMENT);
+    messageData += alignment;
+#endif
+
+    /* Set item data. */
+    item->type            = gcvBUFITEM_STRING;
+    item->indent          = Indent;
+    item->message         = Message;
+    item->messageData     = messageData;
+    item->messageDataSize = ArgumentSize;
+
+    /* Copy argument value. */
+    if (ArgumentSize != 0)
+    {
+        memcpy(messageData, Data, ArgumentSize);
+    }
+
+#if gcdALIGNBYSIZE
+    /* Compute the actual node size. */
+    size = gcmSIZEOF(gcsBUFITEM_STRING) + ArgumentSize + alignment;
+
+    /* Free extra memory if any. */
+    freeSize = allocSize - size;
+    if (freeSize != 0)
+    {
+        _FreeExtraSpace(OutputBuffer, item, size, freeSize);
+    }
+#endif
+}
+
+static void
+_AppendCopy(
+    IN gcsBUFFERED_OUTPUT_PTR OutputBuffer,
+    IN gctINT Indent,
+    IN gctCONST_STRING Message,
+    IN gctUINT ArgumentSize,
+    IN gctPOINTER Data
+    )
+{
+    gctUINT8_PTR messageData;
+    gcsBUFITEM_COPY_PTR item;
+    gctINT allocSize;
+    gctINT messageLength;
+    gctCONST_STRING message;
+
+#if gcdALIGNBYSIZE
+    gctUINT alignment;
+    gctINT size, freeSize;
+#endif
+
+    /* Get the length of the string. */
+    messageLength = strlen(Message) + 1;
+
+    /* Determine the maximum item size. */
+    allocSize
+        = gcmSIZEOF(gcsBUFITEM_COPY)
+        + messageLength
+        + ArgumentSize
+        + gcdVARARG_ALIGNMENT;
+
+    /* Allocate prefix item. */
+    item = (gcsBUFITEM_COPY_PTR) _AllocateItem(OutputBuffer, allocSize);
+
+    /* Determine the message placement. */
+    message = (gctCONST_STRING) (item + 1);
+
+    /* Compute the initial message data pointer. */
+    messageData = (gctUINT8_PTR) message + messageLength;
+
+    /* Align the data pointer as necessary. */
+#if gcdALIGNBYSIZE
+    if (ArgumentSize == 0)
+    {
+        alignment = 0;
+    }
+    else
+    {
+        alignment = gcmPTRALIGNMENT(messageData, gcdVARARG_ALIGNMENT);
+        messageData += alignment;
+    }
+#endif
+
+    /* Set item data. */
+    item->type            = gcvBUFITEM_COPY;
+    item->indent          = Indent;
+    item->messageData     = messageData;
+    item->messageDataSize = ArgumentSize;
+
+    /* Copy the message. */
+    memcpy((gctPOINTER) message, Message, messageLength);
+
+    /* Copy argument value. */
+    if (ArgumentSize != 0)
+    {
+        memcpy(messageData, Data, ArgumentSize);
+    }
+
+#if gcdALIGNBYSIZE
+    /* Compute the actual node size. */
+    size
+        = gcmSIZEOF(gcsBUFITEM_COPY)
+        + messageLength
+        + ArgumentSize
+        + alignment;
+
+    /* Free extra memory if any. */
+    freeSize = allocSize - size;
+    if (freeSize != 0)
+    {
+        _FreeExtraSpace(OutputBuffer, item, size, freeSize);
+    }
+#endif
+}
+
+static void
+_AppendBuffer(
+    IN gcsBUFFERED_OUTPUT_PTR OutputBuffer,
+    IN gctINT Indent,
+    IN gctPOINTER PrefixData,
+    IN gctPOINTER Data,
+    IN gctUINT Address,
+    IN gctUINT DataSize,
+    IN gceDUMP_BUFFER Type,
+    IN gctUINT32 DmaAddress
+    )
+{
+#if gcdHAVEPREFIX
+    gctUINT8_PTR prefixData;
+    gcsBUFITEM_BUFFER_PTR item;
+    gctINT allocSize;
+    gctPOINTER data;
+
+#if gcdALIGNBYSIZE
+    gctUINT alignment;
+    gctINT size, freeSize;
+#endif
+
+    gcmDBGASSERT(DataSize != 0, "%d", DataSize);
+    gcmDBGASSERT(Data != gcvNULL, "%p", Data);
+
+    /* Determine the maximum item size. */
+    allocSize
+        = gcmSIZEOF(gcsBUFITEM_BUFFER)
+        + gcdPREFIX_SIZE
+        + gcdPREFIX_ALIGNMENT
+        + DataSize;
+
+    /* Allocate prefix item. */
+    item = (gcsBUFITEM_BUFFER_PTR) _AllocateItem(OutputBuffer, allocSize);
+
+    /* Compute the initial prefix data pointer. */
+    prefixData = (gctUINT8_PTR) (item + 1);
+
+#if gcdALIGNBYSIZE
+    /* Align the data pointer as necessary. */
+    alignment = gcmPTRALIGNMENT(prefixData, gcdPREFIX_ALIGNMENT);
+    prefixData += alignment;
+#endif
+
+    /* Set item data. */
+    item->type       = gcvBUFITEM_BUFFER;
+    item->indent     = Indent;
+    item->bufferType = Type;
+    item->dataSize   = DataSize;
+    item->address    = Address;
+    item->prefixData = prefixData;
+
+#if gcdDMA_BUFFER_COUNT && (gcdTHREAD_BUFFERS == 1)
+    item->dmaAddress = DmaAddress;
+#endif
+
+    /* Copy prefix data. */
+    memcpy(prefixData, PrefixData, gcdPREFIX_SIZE);
+
+    /* Compute the data pointer. */
+    data = prefixData + gcdPREFIX_SIZE;
+
+    /* Copy argument value. */
+    memcpy(data, Data, DataSize);
+
+#if gcdALIGNBYSIZE
+    /* Compute the actual node size. */
+    size
+        = gcmSIZEOF(gcsBUFITEM_BUFFER)
+        + gcdPREFIX_SIZE
+        + alignment
+        + DataSize;
+
+    /* Free extra memory if any. */
+    freeSize = allocSize - size;
+    if (freeSize != 0)
+    {
+        _FreeExtraSpace(OutputBuffer, item, size, freeSize);
+    }
+#endif
+#else
+    gcsBUFITEM_BUFFER_PTR item;
+    gctINT size;
+
+    gcmDBGASSERT(DataSize != 0, "%d", DataSize);
+    gcmDBGASSERT(Data != gcvNULL, "%p", Data);
+
+    /* Determine the maximum item size. */
+    size = gcmSIZEOF(gcsBUFITEM_BUFFER) + DataSize;
+
+    /* Allocate prefix item. */
+    item = (gcsBUFITEM_BUFFER_PTR) _AllocateItem(OutputBuffer, size);
+
+    /* Set item data. */
+    item->type     = gcvBUFITEM_BUFFER;
+    item->indent   = Indent;
+    item->dataSize = DataSize;
+    item->address  = Address;
+
+    /* Copy argument value. */
+    memcpy(item + 1, Data, DataSize);
+#endif
+}
+#endif
+
+static gcmINLINE void
+_InitBuffers(
+    void
+    )
+{
+    int i;
+
+    if (_outputBufferHead == gcvNULL)
+    {
+        for (i = 0; i < gcdTHREAD_BUFFERS; i += 1)
+        {
+            if (_outputBufferTail == gcvNULL)
+            {
+                _outputBufferHead = &_outputBuffer[i];
+            }
+            else
+            {
+                _outputBufferTail->next = &_outputBuffer[i];
+            }
+
+#if gcdTHREAD_BUFFERS > 1
+            _outputBuffer[i].threadID = ~0U;
+#endif
+
+            _outputBuffer[i].prev = _outputBufferTail;
+            _outputBuffer[i].next =  gcvNULL;
+
+            _outputBufferTail = &_outputBuffer[i];
+        }
+    }
+}
+
+static gcmINLINE gcsBUFFERED_OUTPUT_PTR
+_GetOutputBuffer(
+    void
+    )
+{
+    gcsBUFFERED_OUTPUT_PTR outputBuffer;
+
+#if gcdTHREAD_BUFFERS > 1
+    /* Get the current thread ID. */
+    gctUINT32 ThreadID = gcmkGETTHREADID();
+
+    /* Locate the output buffer for the thread. */
+    outputBuffer = _outputBufferHead;
+
+    while (outputBuffer != gcvNULL)
+    {
+        if (outputBuffer->threadID == ThreadID)
+        {
+            break;
+        }
+
+        outputBuffer = outputBuffer->next;
+    }
+
+    /* No matching buffer found? */
+    if (outputBuffer == gcvNULL)
+    {
+        /* Get the tail for the buffer. */
+        outputBuffer = _outputBufferTail;
+
+        /* Move it to the head. */
+        _outputBufferTail       = _outputBufferTail->prev;
+        _outputBufferTail->next = gcvNULL;
+
+        outputBuffer->prev = gcvNULL;
+        outputBuffer->next = _outputBufferHead;
+
+        _outputBufferHead->prev = outputBuffer;
+        _outputBufferHead       = outputBuffer;
+
+        /* Reset the buffer. */
+        outputBuffer->threadID   = ThreadID;
+#if gcdBUFFERED_OUTPUT
+        outputBuffer->start      = 0;
+        outputBuffer->index      = 0;
+        outputBuffer->count      = 0;
+#endif
+#if gcdSHOW_LINE_NUMBER
+        outputBuffer->lineNumber = 0;
+#endif
+    }
+#else
+    outputBuffer = _outputBufferHead;
+#endif
+
+    return outputBuffer;
+}
+
+static gcmINLINE int _GetArgumentSize(
+    IN gctCONST_STRING Message
+    )
+{
+    int i, count;
+
+    gcmDBGASSERT(Message != gcvNULL, "%p", Message);
+
+    for (i = 0, count = 0; Message[i]; i += 1)
+    {
+        if (Message[i] == '%')
+        {
+            count += 1;
+        }
+    }
+
+    return count * gcmSIZEOF(gctUINT32);
+}
+
+#if gcdHAVEPREFIX
+static void
+_InitPrefixData(
+    IN gcsBUFFERED_OUTPUT_PTR OutputBuffer,
+    IN gctPOINTER Data
+    )
+{
+    gctUINT8_PTR data  = (gctUINT8_PTR) Data;
+
+#if gcdSHOW_TIME
+    {
+        gctUINT64 time;
+        gckOS_GetProfileTick(&time);
+        gcmkALIGNPTR(gctUINT8_PTR, data, gcmSIZEOF(gctUINT64));
+        * ((gctUINT64_PTR) data) = time;
+        data += gcmSIZEOF(gctUINT64);
+    }
+#endif
+
+#if gcdSHOW_LINE_NUMBER
+    {
+        gcmkALIGNPTR(gctUINT8_PTR, data, gcmSIZEOF(gctUINT64));
+        * ((gctUINT64_PTR) data) = OutputBuffer->lineNumber;
+        data += gcmSIZEOF(gctUINT64);
+    }
+#endif
+
+#if gcdSHOW_PROCESS_ID
+    {
+        gcmkALIGNPTR(gctUINT8_PTR, data, gcmSIZEOF(gctUINT32));
+        * ((gctUINT32_PTR) data) = gcmkGETPROCESSID();
+        data += gcmSIZEOF(gctUINT32);
+    }
+#endif
+
+#if gcdSHOW_THREAD_ID
+    {
+        gcmkALIGNPTR(gctUINT8_PTR, data, gcmSIZEOF(gctUINT32));
+        * ((gctUINT32_PTR) data) = gcmkGETTHREADID();
+    }
+#endif
+}
+#endif
+
+static void
+_Print(
+    IN gctUINT ArgumentSize,
+    IN gctBOOL CopyMessage,
+    IN gctCONST_STRING Message,
+    IN gctARGUMENTS Arguments
+    )
+{
+    gcsBUFFERED_OUTPUT_PTR outputBuffer;
+    gcmkDECLARE_LOCK(lockHandle);
+
+    gcmkLOCKSECTION(lockHandle);
+
+    /* Initialize output buffer list. */
+    _InitBuffers();
+
+    /* Locate the proper output buffer. */
+    outputBuffer = _GetOutputBuffer();
+
+    /* Update the line number. */
+#if gcdSHOW_LINE_NUMBER
+    outputBuffer->lineNumber += 1;
+#endif
+
+    /* Print prefix. */
+#if gcdHAVEPREFIX
+    {
+        gctUINT8_PTR alignedPrefixData;
+        gctUINT8 prefixData[gcdPREFIX_SIZE + gcdPREFIX_ALIGNMENT];
+
+        /* Compute aligned pointer. */
+        alignedPrefixData = prefixData;
+        gcmkALIGNPTR(gctUINT8_PTR, alignedPrefixData, gcdPREFIX_ALIGNMENT);
+
+        /* Initialize the prefix data. */
+        _InitPrefixData(outputBuffer, alignedPrefixData);
+
+        /* Print the prefix. */
+        gcdOUTPUTPREFIX(outputBuffer, alignedPrefixData);
+    }
+#endif
+
+    /* Form the indent string. */
+    if (strncmp(Message, "--", 2) == 0)
+    {
+        outputBuffer->indent -= 2;
+    }
+
+    /* Print the message. */
+    if (CopyMessage)
+    {
+        gcdOUTPUTCOPY(
+            outputBuffer, outputBuffer->indent,
+            Message, ArgumentSize, * (gctPOINTER *) &Arguments
+            );
+    }
+    else
+    {
+        gcdOUTPUTSTRING(
+            outputBuffer, outputBuffer->indent,
+            Message, ArgumentSize, * (gctPOINTER *) &Arguments
+            );
+    }
+
+    /* Check increasing indent. */
+    if (strncmp(Message, "++", 2) == 0)
+    {
+        outputBuffer->indent += 2;
+    }
+
+    gcmkUNLOCKSECTION(lockHandle);
+}
+
+
+/******************************************************************************\
+********************************* Debug Macros *********************************
+\******************************************************************************/
+
+#ifdef __QNXNTO__
+
+extern volatile unsigned g_nQnxInIsrs;
+
+#define gcmDEBUGPRINT(ArgumentSize, CopyMessage, Message) \
+{ \
+    if (atomic_add_value(&g_nQnxInIsrs, 1) == 0) \
+    { \
+        gctARGUMENTS __arguments__; \
+        gcmkARGUMENTS_START(__arguments__, Message); \
+        _Print(ArgumentSize, CopyMessage, Message, __arguments__); \
+        gcmkARGUMENTS_END(__arguments__); \
+    } \
+    atomic_sub(&g_nQnxInIsrs, 1); \
+}
+
+#else
+
+#define gcmDEBUGPRINT(ArgumentSize, CopyMessage, Message) \
+{ \
+    gctARGUMENTS __arguments__; \
+    gcmkARGUMENTS_START(__arguments__, Message); \
+    _Print(ArgumentSize, CopyMessage, Message, __arguments__); \
+    gcmkARGUMENTS_END(__arguments__); \
+}
+
+#endif
+
+/******************************************************************************\
+********************************** Debug Code **********************************
+\******************************************************************************/
+
+/*******************************************************************************
+**
+**  gckOS_Print
+**
+**  Send a message to the debugger.
+**
+**  INPUT:
+**
+**      gctCONST_STRING Message
+**          Pointer to message.
+**
+**      ...
+**          Optional arguments.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+
+void
+gckOS_Print(
+    IN gctCONST_STRING Message,
+    ...
+    )
+{
+    gcmDEBUGPRINT(_GetArgumentSize(Message), gcvFALSE, Message);
+}
+
+/*******************************************************************************
+**
+**  gckOS_PrintN
+**
+**  Send a message to the debugger.
+**
+**  INPUT:
+**
+**      gctUINT ArgumentSize
+**          The size of the optional arguments in bytes.
+**
+**      gctCONST_STRING Message
+**          Pointer to message.
+**
+**      ...
+**          Optional arguments.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+
+void
+gckOS_PrintN(
+    IN gctUINT ArgumentSize,
+    IN gctCONST_STRING Message,
+    ...
+    )
+{
+    gcmDEBUGPRINT(ArgumentSize, gcvFALSE, Message);
+}
+
+/*******************************************************************************
+**
+**  gckOS_CopyPrint
+**
+**  Send a message to the debugger. If in buffered output mode, the entire
+**  message will be copied into the buffer instead of using the pointer to
+**  the string.
+**
+**  INPUT:
+**
+**      gctCONST_STRING Message
+**          Pointer to message.
+**
+**      ...
+**          Optional arguments.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+
+void
+gckOS_CopyPrint(
+    IN gctCONST_STRING Message,
+    ...
+    )
+{
+    gcmDEBUGPRINT(_GetArgumentSize(Message), gcvTRUE, Message);
+}
+
+/*******************************************************************************
+**
+**  gckOS_DumpBuffer
+**
+**  Print the contents of the specified buffer.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to gckOS object.
+**
+**      gctPOINTER Buffer
+**          Pointer to the buffer to print.
+**
+**      gctUINT Size
+**          Size of the buffer.
+**
+**      gceDUMP_BUFFER Type
+**          Buffer type.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+
+void
+gckOS_DumpBuffer(
+    IN gckOS Os,
+    IN gctPOINTER Buffer,
+    IN gctUINT Size,
+    IN gceDUMP_BUFFER Type,
+    IN gctBOOL CopyMessage
+    )
+{
+    gctUINT32 address;
+    gcsBUFFERED_OUTPUT_PTR outputBuffer;
+    static gctBOOL userLocked;
+    gctCHAR *buffer = (gctCHAR*)Buffer;
+
+    gcmkDECLARE_LOCK(lockHandle);
+
+    /* Request lock when not coming from user,
+       or coming from user and not yet locked
+          and message is starting with @[. */
+    if (Type == gceDUMP_BUFFER_FROM_USER)
+    {
+        if ((Size > 2)
+        && (buffer[0] == '@')
+        && (buffer[1] == '['))
+        {
+            /* Beginning of a user dump. */
+            gcmkLOCKSECTION(lockHandle);
+            userLocked = gcvTRUE;
+        }
+        /* Else, let it pass through. */
+    }
+    else
+    {
+        gcmkLOCKSECTION(lockHandle);
+        userLocked = gcvFALSE;
+    }
+
+    if (Buffer != gcvNULL)
+    {
+        /* Initialize output buffer list. */
+        _InitBuffers();
+
+        /* Locate the proper output buffer. */
+        outputBuffer = _GetOutputBuffer();
+
+        /* Update the line number. */
+#if gcdSHOW_LINE_NUMBER
+        outputBuffer->lineNumber += 1;
+#endif
+
+        /* Get the physical address of the buffer. */
+        if (Type != gceDUMP_BUFFER_FROM_USER)
+        {
+            gcmkVERIFY_OK(gckOS_GetPhysicalAddress(Os, Buffer, &address));
+        }
+        else
+        {
+            address = 0;
+        }
+
+#if gcdHAVEPREFIX
+        {
+            gctUINT8_PTR alignedPrefixData;
+            gctUINT8 prefixData[gcdPREFIX_SIZE + gcdPREFIX_ALIGNMENT];
+
+            /* Compute aligned pointer. */
+            alignedPrefixData = prefixData;
+            gcmkALIGNPTR(gctUINT8_PTR, alignedPrefixData, gcdPREFIX_ALIGNMENT);
+
+            /* Initialize the prefix data. */
+            _InitPrefixData(outputBuffer, alignedPrefixData);
+
+            /* Print/schedule the buffer. */
+            gcdOUTPUTBUFFER(
+                outputBuffer, outputBuffer->indent,
+                alignedPrefixData, Buffer, address, Size, Type, 0
+                );
+        }
+#else
+        /* Print/schedule the buffer. */
+        if (Type == gceDUMP_BUFFER_FROM_USER)
+        {
+            gcdOUTPUTSTRING(
+                outputBuffer, outputBuffer->indent,
+                Buffer, 0, gcvNULL
+                );
+        }
+        else
+        {
+            gcdOUTPUTBUFFER(
+                outputBuffer, outputBuffer->indent,
+                gcvNULL, Buffer, address, Size, Type, 0
+                );
+        }
+#endif
+    }
+
+    /* Unlock when not coming from user,
+       or coming from user and not yet locked. */
+    if (userLocked)
+    {
+        if ((Size > 4)
+        && (buffer[0] == ']')
+        && (buffer[1] == ' ')
+        && (buffer[2] == '-')
+        && (buffer[3] == '-'))
+        {
+            /* End of a user dump. */
+            gcmkUNLOCKSECTION(lockHandle);
+            userLocked = gcvFALSE;
+        }
+        /* Else, let it pass through, don't unlock. */
+    }
+    else
+    {
+        gcmkUNLOCKSECTION(lockHandle);
+    }
+}
+
+/*******************************************************************************
+**
+**  gckOS_DebugTrace
+**
+**  Send a leveled message to the debugger.
+**
+**  INPUT:
+**
+**      gctUINT32 Level
+**          Debug level of message.
+**
+**      gctCONST_STRING Message
+**          Pointer to message.
+**
+**      ...
+**          Optional arguments.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+
+void
+gckOS_DebugTrace(
+    IN gctUINT32 Level,
+    IN gctCONST_STRING Message,
+    ...
+    )
+{
+    if (Level > _debugLevel)
+    {
+        return;
+    }
+
+    gcmDEBUGPRINT(_GetArgumentSize(Message), gcvFALSE, Message);
+}
+
+/*******************************************************************************
+**
+**  gckOS_DebugTraceN
+**
+**  Send a leveled message to the debugger.
+**
+**  INPUT:
+**
+**      gctUINT32 Level
+**          Debug level of message.
+**
+**      gctUINT ArgumentSize
+**          The size of the optional arguments in bytes.
+**
+**      gctCONST_STRING Message
+**          Pointer to message.
+**
+**      ...
+**          Optional arguments.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+
+void
+gckOS_DebugTraceN(
+    IN gctUINT32 Level,
+    IN gctUINT ArgumentSize,
+    IN gctCONST_STRING Message,
+    ...
+    )
+{
+    if (Level > _debugLevel)
+    {
+        return;
+    }
+
+    gcmDEBUGPRINT(ArgumentSize, gcvFALSE, Message);
+}
+
+/*******************************************************************************
+**
+**  gckOS_DebugTraceZone
+**
+**  Send a leveled and zoned message to the debugger.
+**
+**  INPUT:
+**
+**      gctUINT32 Level
+**          Debug level for message.
+**
+**      gctUINT32 Zone
+**          Debug zone for message.
+**
+**      gctCONST_STRING Message
+**          Pointer to message.
+**
+**      ...
+**          Optional arguments.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+
+void
+gckOS_DebugTraceZone(
+    IN gctUINT32 Level,
+    IN gctUINT32 Zone,
+    IN gctCONST_STRING Message,
+    ...
+    )
+{
+    if ((Level > _debugLevel) || !(Zone & _debugZones))
+    {
+        return;
+    }
+
+    gcmDEBUGPRINT(_GetArgumentSize(Message), gcvFALSE, Message);
+}
+
+/*******************************************************************************
+**
+**  gckOS_DebugTraceZoneN
+**
+**  Send a leveled and zoned message to the debugger.
+**
+**  INPUT:
+**
+**      gctUINT32 Level
+**          Debug level for message.
+**
+**      gctUINT32 Zone
+**          Debug zone for message.
+**
+**      gctUINT ArgumentSize
+**          The size of the optional arguments in bytes.
+**
+**      gctCONST_STRING Message
+**          Pointer to message.
+**
+**      ...
+**          Optional arguments.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+
+void
+gckOS_DebugTraceZoneN(
+    IN gctUINT32 Level,
+    IN gctUINT32 Zone,
+    IN gctUINT ArgumentSize,
+    IN gctCONST_STRING Message,
+    ...
+    )
+{
+    if ((Level > _debugLevel) || !(Zone & _debugZones))
+    {
+        return;
+    }
+
+    gcmDEBUGPRINT(ArgumentSize, gcvFALSE, Message);
+}
+
+/*******************************************************************************
+**
+**  gckOS_DebugBreak
+**
+**  Break into the debugger.
+**
+**  INPUT:
+**
+**      Nothing.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+void
+gckOS_DebugBreak(
+    void
+    )
+{
+    gckOS_DebugTrace(gcvLEVEL_ERROR, "%s(%d)", __FUNCTION__, __LINE__);
+}
+
+/*******************************************************************************
+**
+**  gckOS_DebugFatal
+**
+**  Send a message to the debugger and break into the debugger.
+**
+**  INPUT:
+**
+**      gctCONST_STRING Message
+**          Pointer to message.
+**
+**      ...
+**          Optional arguments.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+void
+gckOS_DebugFatal(
+    IN gctCONST_STRING Message,
+    ...
+    )
+{
+    gcmkPRINT_VERSION();
+    gcmDEBUGPRINT(_GetArgumentSize(Message), gcvFALSE, Message);
+
+    /* Break into the debugger. */
+    gckOS_DebugBreak();
+}
+
+/*******************************************************************************
+**
+**  gckOS_SetDebugLevel
+**
+**  Set the debug level.
+**
+**  INPUT:
+**
+**      gctUINT32 Level
+**          New debug level.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+
+void
+gckOS_SetDebugLevel(
+    IN gctUINT32 Level
+    )
+{
+    _debugLevel = Level;
+}
+
+/*******************************************************************************
+**
+**  gckOS_SetDebugZone
+**
+**  Set the debug zone.
+**
+**  INPUT:
+**
+**      gctUINT32 Zone
+**          New debug zone.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+void
+gckOS_SetDebugZone(
+    IN gctUINT32 Zone
+    )
+{
+    _debugZones = Zone;
+}
+
+/*******************************************************************************
+**
+**  gckOS_SetDebugLevelZone
+**
+**  Set the debug level and zone.
+**
+**  INPUT:
+**
+**      gctUINT32 Level
+**          New debug level.
+**
+**      gctUINT32 Zone
+**          New debug zone.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+
+void
+gckOS_SetDebugLevelZone(
+    IN gctUINT32 Level,
+    IN gctUINT32 Zone
+    )
+{
+    _debugLevel = Level;
+    _debugZones = Zone;
+}
+
+/*******************************************************************************
+**
+**  gckOS_SetDebugZones
+**
+**  Enable or disable debug zones.
+**
+**  INPUT:
+**
+**      gctUINT32 Zones
+**          Debug zones to enable or disable.
+**
+**      gctBOOL Enable
+**          Set to gcvTRUE to enable the zones (or the Zones with the current
+**          zones) or gcvFALSE to disable the specified Zones.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+
+void
+gckOS_SetDebugZones(
+    IN gctUINT32 Zones,
+    IN gctBOOL Enable
+    )
+{
+    if (Enable)
+    {
+        /* Enable the zones. */
+        _debugZones |= Zones;
+    }
+    else
+    {
+        /* Disable the zones. */
+        _debugZones &= ~Zones;
+    }
+}
+
+/*******************************************************************************
+**
+**  gckOS_Verify
+**
+**  Called to verify the result of a function call.
+**
+**  INPUT:
+**
+**      gceSTATUS Status
+**          Function call result.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+
+void
+gckOS_Verify(
+    IN gceSTATUS status
+    )
+{
+    _lastError = status;
+}
+
+/*******************************************************************************
+**
+**  gckOS_DebugFlush
+**
+**  Force messages to be flushed out.
+**
+**  INPUT:
+**
+**      gctCONST_STRING CallerName
+**          Name of the caller function.
+**
+**      gctUINT LineNumber
+**          Line number of the caller.
+**
+**      gctUINT32 DmaAddress
+**          The current DMA address or ~0U to ignore.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+
+void
+gckOS_DebugFlush(
+    gctCONST_STRING CallerName,
+    gctUINT LineNumber,
+    gctUINT32 DmaAddress
+    )
+{
+#if gcdBUFFERED_OUTPUT
+    _DirectPrint("\nFlush requested by %s(%d).\n\n", CallerName, LineNumber);
+    _Flush(DmaAddress);
+#endif
+}
+gctCONST_STRING
+gckOS_DebugStatus2Name(
+       gceSTATUS status
+       )
+{
+       switch (status)
+       {
+       case gcvSTATUS_OK:
+               return "gcvSTATUS_OK";
+       case gcvSTATUS_TRUE:
+               return "gcvSTATUS_TRUE";
+       case gcvSTATUS_NO_MORE_DATA:
+               return "gcvSTATUS_NO_MORE_DATA";
+       case gcvSTATUS_CACHED:
+               return "gcvSTATUS_CACHED";
+       case gcvSTATUS_MIPMAP_TOO_LARGE:
+               return "gcvSTATUS_MIPMAP_TOO_LARGE";
+       case gcvSTATUS_NAME_NOT_FOUND:
+               return "gcvSTATUS_NAME_NOT_FOUND";
+       case gcvSTATUS_NOT_OUR_INTERRUPT:
+               return "gcvSTATUS_NOT_OUR_INTERRUPT";
+       case gcvSTATUS_MISMATCH:
+               return "gcvSTATUS_MISMATCH";
+       case gcvSTATUS_MIPMAP_TOO_SMALL:
+               return "gcvSTATUS_MIPMAP_TOO_SMALL";
+       case gcvSTATUS_LARGER:
+               return "gcvSTATUS_LARGER";
+       case gcvSTATUS_SMALLER:
+               return "gcvSTATUS_SMALLER";
+       case gcvSTATUS_CHIP_NOT_READY:
+               return "gcvSTATUS_CHIP_NOT_READY";
+       case gcvSTATUS_NEED_CONVERSION:
+               return "gcvSTATUS_NEED_CONVERSION";
+       case gcvSTATUS_SKIP:
+               return "gcvSTATUS_SKIP";
+       case gcvSTATUS_DATA_TOO_LARGE:
+               return "gcvSTATUS_DATA_TOO_LARGE";
+       case gcvSTATUS_INVALID_CONFIG:
+               return "gcvSTATUS_INVALID_CONFIG";
+       case gcvSTATUS_CHANGED:
+               return "gcvSTATUS_CHANGED";
+       case gcvSTATUS_NOT_SUPPORT_DITHER:
+               return "gcvSTATUS_NOT_SUPPORT_DITHER";
+
+       case gcvSTATUS_INVALID_ARGUMENT:
+               return "gcvSTATUS_INVALID_ARGUMENT";
+       case gcvSTATUS_INVALID_OBJECT:
+               return "gcvSTATUS_INVALID_OBJECT";
+       case gcvSTATUS_OUT_OF_MEMORY:
+               return "gcvSTATUS_OUT_OF_MEMORY";
+       case gcvSTATUS_MEMORY_LOCKED:
+               return "gcvSTATUS_MEMORY_LOCKED";
+       case gcvSTATUS_MEMORY_UNLOCKED:
+               return "gcvSTATUS_MEMORY_UNLOCKED";
+       case gcvSTATUS_HEAP_CORRUPTED:
+               return "gcvSTATUS_HEAP_CORRUPTED";
+       case gcvSTATUS_GENERIC_IO:
+               return "gcvSTATUS_GENERIC_IO";
+       case gcvSTATUS_INVALID_ADDRESS:
+               return "gcvSTATUS_INVALID_ADDRESS";
+       case gcvSTATUS_CONTEXT_LOSSED:
+               return "gcvSTATUS_CONTEXT_LOSSED";
+       case gcvSTATUS_TOO_COMPLEX:
+               return "gcvSTATUS_TOO_COMPLEX";
+       case gcvSTATUS_BUFFER_TOO_SMALL:
+               return "gcvSTATUS_BUFFER_TOO_SMALL";
+       case gcvSTATUS_INTERFACE_ERROR:
+               return "gcvSTATUS_INTERFACE_ERROR";
+       case gcvSTATUS_NOT_SUPPORTED:
+               return "gcvSTATUS_NOT_SUPPORTED";
+       case gcvSTATUS_MORE_DATA:
+               return "gcvSTATUS_MORE_DATA";
+       case gcvSTATUS_TIMEOUT:
+               return "gcvSTATUS_TIMEOUT";
+       case gcvSTATUS_OUT_OF_RESOURCES:
+               return "gcvSTATUS_OUT_OF_RESOURCES";
+       case gcvSTATUS_INVALID_DATA:
+               return "gcvSTATUS_INVALID_DATA";
+       case gcvSTATUS_INVALID_MIPMAP:
+               return "gcvSTATUS_INVALID_MIPMAP";
+       case gcvSTATUS_NOT_FOUND:
+               return "gcvSTATUS_NOT_FOUND";
+       case gcvSTATUS_NOT_ALIGNED:
+               return "gcvSTATUS_NOT_ALIGNED";
+       case gcvSTATUS_INVALID_REQUEST:
+               return "gcvSTATUS_INVALID_REQUEST";
+       case gcvSTATUS_GPU_NOT_RESPONDING:
+               return "gcvSTATUS_GPU_NOT_RESPONDING";
+       case gcvSTATUS_TIMER_OVERFLOW:
+               return "gcvSTATUS_TIMER_OVERFLOW";
+       case gcvSTATUS_VERSION_MISMATCH:
+               return "gcvSTATUS_VERSION_MISMATCH";
+       case gcvSTATUS_LOCKED:
+               return "gcvSTATUS_LOCKED";
+
+    /* Linker errors. */
+       case gcvSTATUS_GLOBAL_TYPE_MISMATCH:
+               return "gcvSTATUS_GLOBAL_TYPE_MISMATCH";
+       case gcvSTATUS_TOO_MANY_ATTRIBUTES:
+               return "gcvSTATUS_TOO_MANY_ATTRIBUTES";
+       case gcvSTATUS_TOO_MANY_UNIFORMS:
+               return "gcvSTATUS_TOO_MANY_UNIFORMS";
+       case gcvSTATUS_TOO_MANY_VARYINGS:
+               return "gcvSTATUS_TOO_MANY_VARYINGS";
+       case gcvSTATUS_UNDECLARED_VARYING:
+               return "gcvSTATUS_UNDECLARED_VARYING";
+       case gcvSTATUS_VARYING_TYPE_MISMATCH:
+               return "gcvSTATUS_VARYING_TYPE_MISMATCH";
+       case gcvSTATUS_MISSING_MAIN:
+               return "gcvSTATUS_MISSING_MAIN";
+       case gcvSTATUS_NAME_MISMATCH:
+               return "gcvSTATUS_NAME_MISMATCH";
+       case gcvSTATUS_INVALID_INDEX:
+               return "gcvSTATUS_INVALID_INDEX";
+       default:
+               return "nil";
+       }
+}
diff --git a/drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_event.c b/drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_event.c
new file mode 100644 (file)
index 0000000..01f71d8
--- /dev/null
@@ -0,0 +1,2912 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#include "gc_hal_kernel_precomp.h"
+#include "gc_hal_kernel_buffer.h"
+
+#ifdef __QNXNTO__
+#include <atomic.h>
+#include "gc_hal_kernel_qnx.h"
+#endif
+
+#define _GC_OBJ_ZONE                    gcvZONE_EVENT
+
+#define gcdEVENT_ALLOCATION_COUNT       (4096 / gcmSIZEOF(gcsHAL_INTERFACE))
+#define gcdEVENT_MIN_THRESHOLD          4
+
+/******************************************************************************\
+********************************* Support Code *********************************
+\******************************************************************************/
+
+static gceSTATUS
+gckEVENT_AllocateQueue(
+    IN gckEVENT Event,
+    OUT gcsEVENT_QUEUE_PTR * Queue
+    )
+{
+    gceSTATUS status;
+
+    gcmkHEADER_ARG("Event=0x%x", Event);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Event, gcvOBJ_EVENT);
+    gcmkVERIFY_ARGUMENT(Queue != gcvNULL);
+
+    /* Do we have free queues? */
+    if (Event->freeList == gcvNULL)
+    {
+        gcmkONERROR(gcvSTATUS_OUT_OF_RESOURCES);
+    }
+
+    /* Move one free queue from the free list. */
+    * Queue = Event->freeList;
+    Event->freeList = Event->freeList->next;
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Queue=0x%x", gcmOPT_POINTER(Queue));
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+static gceSTATUS
+gckEVENT_FreeQueue(
+    IN gckEVENT Event,
+    OUT gcsEVENT_QUEUE_PTR Queue
+    )
+{
+    gceSTATUS status = gcvSTATUS_OK;
+
+    gcmkHEADER_ARG("Event=0x%x", Event);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Event, gcvOBJ_EVENT);
+    gcmkVERIFY_ARGUMENT(Queue != gcvNULL);
+
+    /* Move one free queue from the free list. */
+    Queue->next = Event->freeList;
+    Event->freeList = Queue;
+
+    /* Success. */
+    gcmkFOOTER();
+    return status;
+}
+
+static gceSTATUS
+gckEVENT_FreeRecord(
+    IN gckEVENT Event,
+    IN gcsEVENT_PTR Record
+    )
+{
+    gceSTATUS status;
+    gctBOOL acquired = gcvFALSE;
+
+    gcmkHEADER_ARG("Event=0x%x Record=0x%x", Event, Record);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Event, gcvOBJ_EVENT);
+    gcmkVERIFY_ARGUMENT(Record != gcvNULL);
+
+    /* Acquire the mutex. */
+    gcmkONERROR(gckOS_AcquireMutex(Event->os,
+                                   Event->freeEventMutex,
+                                   gcvINFINITE));
+    acquired = gcvTRUE;
+
+    /* Push the record on the free list. */
+    Record->next           = Event->freeEventList;
+    Event->freeEventList   = Record;
+    Event->freeEventCount += 1;
+
+    /* Release the mutex. */
+    gcmkONERROR(gckOS_ReleaseMutex(Event->os, Event->freeEventMutex));
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Roll back. */
+    if (acquired)
+    {
+        gcmkVERIFY_OK(gckOS_ReleaseMutex(Event->os, Event->freeEventMutex));
+    }
+
+    /* Return the status. */
+    gcmkFOOTER();
+    return gcvSTATUS_OK;
+}
+
+static gceSTATUS
+gckEVENT_IsEmpty(
+    IN gckEVENT Event,
+    OUT gctBOOL_PTR IsEmpty
+    )
+{
+    gceSTATUS status;
+    gctSIZE_T i;
+
+    gcmkHEADER_ARG("Event=0x%x", Event);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Event, gcvOBJ_EVENT);
+    gcmkVERIFY_ARGUMENT(IsEmpty != gcvNULL);
+
+    /* Assume the event queue is empty. */
+    *IsEmpty = gcvTRUE;
+
+    /* Walk the event queue. */
+    for (i = 0; i < gcmCOUNTOF(Event->queues); ++i)
+    {
+        /* Check whether this event is in use. */
+        if (Event->queues[i].head != gcvNULL)
+        {
+            /* The event is in use, hence the queue is not empty. */
+            *IsEmpty = gcvFALSE;
+            break;
+        }
+    }
+
+    /* Try acquiring the mutex. */
+    status = gckOS_AcquireMutex(Event->os, Event->eventQueueMutex, 0);
+    if (status == gcvSTATUS_TIMEOUT)
+    {
+        /* Timeout - queue is no longer empty. */
+        *IsEmpty = gcvFALSE;
+    }
+    else
+    {
+        /* Bail out on error. */
+        gcmkONERROR(status);
+
+        /* Release the mutex. */
+        gcmkVERIFY_OK(gckOS_ReleaseMutex(Event->os, Event->eventQueueMutex));
+    }
+
+    /* Success. */
+    gcmkFOOTER_ARG("*IsEmpty=%d", gcmOPT_VALUE(IsEmpty));
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+static gceSTATUS
+_TryToIdleGPU(
+    IN gckEVENT Event
+)
+{
+    gceSTATUS status;
+    gctBOOL empty = gcvFALSE, idle = gcvFALSE;
+    gctBOOL powerLocked = gcvFALSE;
+    gckHARDWARE hardware;
+
+    gcmkHEADER_ARG("Event=0x%x", Event);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Event, gcvOBJ_EVENT);
+
+    /* Grab gckHARDWARE object. */
+    hardware = Event->kernel->hardware;
+    gcmkVERIFY_OBJECT(hardware, gcvOBJ_HARDWARE);
+
+    /* Check whether the event queue is empty. */
+    gcmkONERROR(gckEVENT_IsEmpty(Event, &empty));
+
+    if (empty)
+    {
+        status = gckOS_AcquireMutex(hardware->os, hardware->powerMutex, 0);
+        if (status == gcvSTATUS_TIMEOUT)
+        {
+            gcmkFOOTER_NO();
+            return gcvSTATUS_OK;
+        }
+
+        powerLocked = gcvTRUE;
+
+        /* Query whether the hardware is idle. */
+        gcmkONERROR(gckHARDWARE_QueryIdle(Event->kernel->hardware, &idle));
+
+        gcmkONERROR(gckOS_ReleaseMutex(hardware->os, hardware->powerMutex));
+        powerLocked = gcvFALSE;
+
+        if (idle)
+        {
+            /* Inform the system of idle GPU. */
+            gcmkONERROR(gckOS_Broadcast(Event->os,
+                                        Event->kernel->hardware,
+                                        gcvBROADCAST_GPU_IDLE));
+        }
+    }
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    if (powerLocked)
+    {
+        gcmkONERROR(gckOS_ReleaseMutex(hardware->os, hardware->powerMutex));
+        powerLocked = gcvFALSE;
+    }
+
+    gcmkFOOTER();
+    return status;
+}
+
+static gceSTATUS
+__RemoveRecordFromProcessDB(
+    IN gckEVENT Event,
+    IN gcsEVENT_PTR Record
+    )
+{
+    gcmkHEADER_ARG("Event=0x%x Record=0x%x", Event, Record);
+    gcmkVERIFY_ARGUMENT(Record != gcvNULL);
+
+    while (Record != gcvNULL)
+    {
+        if (Record->info.command == gcvHAL_SIGNAL)
+        {
+            /* TODO: Find a better place to bind signal to hardware.*/
+            gcmkVERIFY_OK(gckOS_SignalSetHardware(Event->os,
+                        gcmUINT64_TO_PTR(Record->info.u.Signal.signal),
+                        Event->kernel->hardware));
+        }
+
+        if (Record->fromKernel)
+        {
+            /* No need to check db if event is from kernel. */
+            Record = Record->next;
+            continue;
+        }
+
+        switch (Record->info.command)
+        {
+        case gcvHAL_FREE_NON_PAGED_MEMORY:
+            gcmkVERIFY_OK(gckKERNEL_RemoveProcessDB(
+                Event->kernel,
+                Record->processID,
+                gcvDB_NON_PAGED,
+                gcmUINT64_TO_PTR(Record->info.u.FreeNonPagedMemory.logical)));
+            break;
+
+        case gcvHAL_FREE_CONTIGUOUS_MEMORY:
+            gcmkVERIFY_OK(gckKERNEL_RemoveProcessDB(
+                Event->kernel,
+                Record->processID,
+                gcvDB_CONTIGUOUS,
+                gcmUINT64_TO_PTR(Record->info.u.FreeContiguousMemory.logical)));
+            break;
+
+        case gcvHAL_FREE_VIDEO_MEMORY:
+            gcmkVERIFY_OK(gckKERNEL_RemoveProcessDB(
+                Event->kernel,
+                Record->processID,
+                gcvDB_VIDEO_MEMORY,
+                gcmUINT64_TO_PTR(Record->info.u.FreeVideoMemory.node)));
+
+            {
+                gcuVIDMEM_NODE_PTR node = (gcuVIDMEM_NODE_PTR)(gcmUINT64_TO_PTR(Record->info.u.FreeVideoMemory.node));
+
+                if (node->VidMem.memory->object.type == gcvOBJ_VIDMEM)
+                {
+                     gcmkVERIFY_OK(gckKERNEL_RemoveProcessDB(Event->kernel,
+                                      Record->processID,
+                                      gcvDB_VIDEO_MEMORY_RESERVED,
+                                      node));
+                }
+                else if(node->Virtual.contiguous)
+                {
+                    gcmkVERIFY_OK(gckKERNEL_RemoveProcessDB(Event->kernel,
+                                      Record->processID,
+                                      gcvDB_VIDEO_MEMORY_CONTIGUOUS,
+                                      node));
+                }
+                else
+                {
+                    gcmkVERIFY_OK(gckKERNEL_RemoveProcessDB(Event->kernel,
+                                      Record->processID,
+                                      gcvDB_VIDEO_MEMORY_VIRTUAL,
+                                      node));
+                }
+            }
+
+            break;
+
+        case gcvHAL_UNLOCK_VIDEO_MEMORY:
+            gcmkVERIFY_OK(gckKERNEL_RemoveProcessDB(
+                Event->kernel,
+                Record->processID,
+                gcvDB_VIDEO_MEMORY_LOCKED,
+                gcmUINT64_TO_PTR(Record->info.u.UnlockVideoMemory.node)));
+            break;
+
+        case gcvHAL_UNMAP_USER_MEMORY:
+            gcmkVERIFY_OK(gckKERNEL_RemoveProcessDB(
+                Event->kernel,
+                Record->processID,
+                gcvDB_MAP_USER_MEMORY,
+                gcmINT2PTR(Record->info.u.UnmapUserMemory.info)));
+            break;
+
+        case gcvHAL_FREE_VIRTUAL_COMMAND_BUFFER:
+            gcmkVERIFY_OK(gckKERNEL_RemoveProcessDB(
+                Event->kernel,
+                Record->processID,
+                gcvDB_COMMAND_BUFFER,
+                gcmUINT64_TO_PTR(Record->info.u.FreeVirtualCommandBuffer.logical)));
+            break;
+
+        default:
+            break;
+        }
+
+        Record = Record->next;
+    }
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+void
+_SubmitTimerFunction(
+    gctPOINTER Data
+    )
+{
+    gckEVENT event = (gckEVENT)Data;
+    gcmkVERIFY_OK(gckEVENT_Submit(event, gcvTRUE, gcvFALSE));
+}
+
+/******************************************************************************\
+******************************* gckEVENT API Code *******************************
+\******************************************************************************/
+
+/*******************************************************************************
+**
+**  gckEVENT_Construct
+**
+**  Construct a new gckEVENT object.
+**
+**  INPUT:
+**
+**      gckKERNEL Kernel
+**          Pointer to an gckKERNEL object.
+**
+**  OUTPUT:
+**
+**      gckEVENT * Event
+**          Pointer to a variable that receives the gckEVENT object pointer.
+*/
+gceSTATUS
+gckEVENT_Construct(
+    IN gckKERNEL Kernel,
+    OUT gckEVENT * Event
+    )
+{
+    gckOS os;
+    gceSTATUS status;
+    gckEVENT eventObj = gcvNULL;
+    int i;
+    gcsEVENT_PTR record;
+    gctPOINTER pointer = gcvNULL;
+
+    gcmkHEADER_ARG("Kernel=0x%x", Kernel);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Kernel, gcvOBJ_KERNEL);
+    gcmkVERIFY_ARGUMENT(Event != gcvNULL);
+
+    /* Extract the pointer to the gckOS object. */
+    os = Kernel->os;
+    gcmkVERIFY_OBJECT(os, gcvOBJ_OS);
+
+    /* Allocate the gckEVENT object. */
+    gcmkONERROR(gckOS_Allocate(os, gcmSIZEOF(struct _gckEVENT), &pointer));
+
+    eventObj = pointer;
+
+    /* Reset the object. */
+    gcmkVERIFY_OK(gckOS_ZeroMemory(eventObj, gcmSIZEOF(struct _gckEVENT)));
+
+    /* Initialize the gckEVENT object. */
+    eventObj->object.type = gcvOBJ_EVENT;
+    eventObj->kernel      = Kernel;
+    eventObj->os          = os;
+
+    /* Create the mutexes. */
+    gcmkONERROR(gckOS_CreateMutex(os, &eventObj->eventQueueMutex));
+    gcmkONERROR(gckOS_CreateMutex(os, &eventObj->freeEventMutex));
+    gcmkONERROR(gckOS_CreateMutex(os, &eventObj->eventListMutex));
+
+    /* Create a bunch of event reccords. */
+    for (i = 0; i < gcdEVENT_ALLOCATION_COUNT; i += 1)
+    {
+        /* Allocate an event record. */
+        gcmkONERROR(gckOS_Allocate(os, gcmSIZEOF(gcsEVENT), &pointer));
+
+        record = pointer;
+
+        /* Push it on the free list. */
+        record->next              = eventObj->freeEventList;
+        eventObj->freeEventList   = record;
+        eventObj->freeEventCount += 1;
+    }
+
+    /* Initialize the free list of event queues. */
+    for (i = 0; i < gcdREPO_LIST_COUNT; i += 1)
+    {
+        eventObj->repoList[i].next = eventObj->freeList;
+        eventObj->freeList = &eventObj->repoList[i];
+    }
+
+    /* Construct the atom. */
+    gcmkONERROR(gckOS_AtomConstruct(os, &eventObj->freeAtom));
+    gcmkONERROR(gckOS_AtomSet(os,
+                              eventObj->freeAtom,
+                              gcmCOUNTOF(eventObj->queues)));
+
+#if gcdSMP
+    gcmkONERROR(gckOS_AtomConstruct(os, &eventObj->pending));
+#endif
+
+    gcmkVERIFY_OK(gckOS_CreateTimer(os,
+                                    _SubmitTimerFunction,
+                                    (gctPOINTER)eventObj,
+                                    &eventObj->submitTimer));
+
+    /* Return pointer to the gckEVENT object. */
+    *Event = eventObj;
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Event=0x%x", *Event);
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Roll back. */
+    if (eventObj != gcvNULL)
+    {
+        if (eventObj->eventQueueMutex != gcvNULL)
+        {
+            gcmkVERIFY_OK(gckOS_DeleteMutex(os, eventObj->eventQueueMutex));
+        }
+
+        if (eventObj->freeEventMutex != gcvNULL)
+        {
+            gcmkVERIFY_OK(gckOS_DeleteMutex(os, eventObj->freeEventMutex));
+        }
+
+        if (eventObj->eventListMutex != gcvNULL)
+        {
+            gcmkVERIFY_OK(gckOS_DeleteMutex(os, eventObj->eventListMutex));
+        }
+
+        while (eventObj->freeEventList != gcvNULL)
+        {
+            record = eventObj->freeEventList;
+            eventObj->freeEventList = record->next;
+
+            gcmkVERIFY_OK(gcmkOS_SAFE_FREE(os, record));
+        }
+
+        if (eventObj->freeAtom != gcvNULL)
+        {
+            gcmkVERIFY_OK(gckOS_AtomDestroy(os, eventObj->freeAtom));
+        }
+
+#if gcdSMP
+        if (eventObj->pending != gcvNULL)
+        {
+            gcmkVERIFY_OK(gckOS_AtomDestroy(os, eventObj->pending));
+        }
+#endif
+        gcmkVERIFY_OK(gcmkOS_SAFE_FREE(os, eventObj));
+    }
+
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckEVENT_Destroy
+**
+**  Destroy an gckEVENT object.
+**
+**  INPUT:
+**
+**      gckEVENT Event
+**          Pointer to an gckEVENT object.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckEVENT_Destroy(
+    IN gckEVENT Event
+    )
+{
+    gcsEVENT_PTR record;
+    gcsEVENT_QUEUE_PTR queue;
+
+    gcmkHEADER_ARG("Event=0x%x", Event);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Event, gcvOBJ_EVENT);
+
+    if (Event->submitTimer != gcvNULL)
+    {
+        gcmkVERIFY_OK(gckOS_StopTimer(Event->os, Event->submitTimer));
+        gcmkVERIFY_OK(gckOS_DestroyTimer(Event->os, Event->submitTimer));
+    }
+
+    /* Delete the queue mutex. */
+    gcmkVERIFY_OK(gckOS_DeleteMutex(Event->os, Event->eventQueueMutex));
+
+    /* Free all free events. */
+    while (Event->freeEventList != gcvNULL)
+    {
+        record = Event->freeEventList;
+        Event->freeEventList = record->next;
+
+        gcmkVERIFY_OK(gcmkOS_SAFE_FREE(Event->os, record));
+    }
+
+    /* Delete the free mutex. */
+    gcmkVERIFY_OK(gckOS_DeleteMutex(Event->os, Event->freeEventMutex));
+
+    /* Free all pending queues. */
+    while (Event->queueHead != gcvNULL)
+    {
+        /* Get the current queue. */
+        queue = Event->queueHead;
+
+        /* Free all pending events. */
+        while (queue->head != gcvNULL)
+        {
+            record      = queue->head;
+            queue->head = record->next;
+
+            gcmkTRACE_ZONE_N(
+                gcvLEVEL_WARNING, gcvZONE_EVENT,
+                gcmSIZEOF(record) + gcmSIZEOF(queue->source),
+                "Event record 0x%x is still pending for %d.",
+                record, queue->source
+                );
+
+            gcmkVERIFY_OK(gcmkOS_SAFE_FREE(Event->os, record));
+        }
+
+        /* Remove the top queue from the list. */
+        if (Event->queueHead == Event->queueTail)
+        {
+            Event->queueHead =
+            Event->queueTail = gcvNULL;
+        }
+        else
+        {
+            Event->queueHead = Event->queueHead->next;
+        }
+
+        /* Free the queue. */
+        gcmkVERIFY_OK(gckEVENT_FreeQueue(Event, queue));
+    }
+
+    /* Delete the list mutex. */
+    gcmkVERIFY_OK(gckOS_DeleteMutex(Event->os, Event->eventListMutex));
+
+    /* Delete the atom. */
+    gcmkVERIFY_OK(gckOS_AtomDestroy(Event->os, Event->freeAtom));
+
+#if gcdSMP
+    gcmkVERIFY_OK(gckOS_AtomDestroy(Event->os, Event->pending));
+#endif
+
+    /* Mark the gckEVENT object as unknown. */
+    Event->object.type = gcvOBJ_UNKNOWN;
+
+    /* Free the gckEVENT object. */
+    gcmkVERIFY_OK(gcmkOS_SAFE_FREE(Event->os, Event));
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckEVENT_GetEvent
+**
+**  Reserve the next available hardware event.
+**
+**  INPUT:
+**
+**      gckEVENT Event
+**          Pointer to an gckEVENT object.
+**
+**      gctBOOL Wait
+**          Set to gcvTRUE to force the function to wait if no events are
+**          immediately available.
+**
+**      gceKERNEL_WHERE Source
+**          Source of the event.
+**
+**  OUTPUT:
+**
+**      gctUINT8 * EventID
+**          Reserved event ID.
+*/
+gceSTATUS
+gckEVENT_GetEvent(
+    IN gckEVENT Event,
+    IN gctBOOL Wait,
+    OUT gctUINT8 * EventID,
+    IN gceKERNEL_WHERE Source
+    )
+{
+    gctINT i, id;
+    gceSTATUS status;
+    gctBOOL acquired = gcvFALSE;
+    gctINT32 free;
+
+#if gcdGPU_TIMEOUT
+    gctUINT32 timer = 0;
+#endif
+
+    gcmkHEADER_ARG("Event=0x%x Source=%d", Event, Source);
+
+    while (gcvTRUE)
+    {
+        /* Grab the queue mutex. */
+        gcmkONERROR(gckOS_AcquireMutex(Event->os,
+                                       Event->eventQueueMutex,
+                                       gcvINFINITE));
+        acquired = gcvTRUE;
+
+        /* Walk through all events. */
+        id = Event->lastID;
+        for (i = 0; i < gcmCOUNTOF(Event->queues); ++i)
+        {
+            gctINT nextID = gckMATH_ModuloInt((id + 1),
+                                              gcmCOUNTOF(Event->queues));
+
+            if (Event->queues[id].head == gcvNULL)
+            {
+                *EventID = (gctUINT8) id;
+
+                Event->lastID = (gctUINT8) nextID;
+
+                /* Save time stamp of event. */
+                Event->queues[id].stamp  = ++(Event->stamp);
+                Event->queues[id].source = Source;
+
+                gcmkONERROR(gckOS_AtomDecrement(Event->os,
+                                                Event->freeAtom,
+                                                &free));
+#if gcdDYNAMIC_SPEED
+                if (free <= gcdDYNAMIC_EVENT_THRESHOLD)
+                {
+                    gcmkONERROR(gckOS_BroadcastHurry(
+                        Event->os,
+                        Event->kernel->hardware,
+                        gcdDYNAMIC_EVENT_THRESHOLD - free));
+                }
+#endif
+
+                /* Release the queue mutex. */
+                gcmkONERROR(gckOS_ReleaseMutex(Event->os,
+                                               Event->eventQueueMutex));
+
+                /* Success. */
+                gcmkTRACE_ZONE_N(
+                    gcvLEVEL_INFO, gcvZONE_EVENT,
+                    gcmSIZEOF(id),
+                    "Using id=%d",
+                    id
+                    );
+
+                gcmkFOOTER_ARG("*EventID=%u", *EventID);
+                return gcvSTATUS_OK;
+            }
+
+            id = nextID;
+        }
+
+#if gcdDYNAMIC_SPEED
+        /* No free events, speed up the GPU right now! */
+        gcmkONERROR(gckOS_BroadcastHurry(Event->os,
+                                         Event->kernel->hardware,
+                                         gcdDYNAMIC_EVENT_THRESHOLD));
+#endif
+
+        /* Release the queue mutex. */
+        gcmkONERROR(gckOS_ReleaseMutex(Event->os, Event->eventQueueMutex));
+        acquired = gcvFALSE;
+
+        /* Fail if wait is not requested. */
+        if (!Wait)
+        {
+            /* Out of resources. */
+            gcmkONERROR(gcvSTATUS_OUT_OF_RESOURCES);
+        }
+
+        /* Delay a while. */
+        gcmkONERROR(gckOS_Delay(Event->os, 1));
+
+#if gcdGPU_TIMEOUT
+        /* Increment the wait timer. */
+        timer += 1;
+
+        if (timer == Event->kernel->timeOut)
+        {
+            /* Try to call any outstanding events. */
+            gcmkONERROR(gckHARDWARE_Interrupt(Event->kernel->hardware,
+                                              gcvTRUE));
+        }
+        else if (timer > Event->kernel->timeOut)
+        {
+            gcmkTRACE_N(
+                gcvLEVEL_ERROR,
+                gcmSIZEOF(gctCONST_STRING) + gcmSIZEOF(gctINT),
+                "%s(%d): no available events\n",
+                __FUNCTION__, __LINE__
+                );
+
+            /* Bail out. */
+            gcmkONERROR(gcvSTATUS_GPU_NOT_RESPONDING);
+        }
+#endif
+    }
+
+OnError:
+    if (acquired)
+    {
+        /* Release the queue mutex. */
+        gcmkVERIFY_OK(gckOS_ReleaseMutex(Event->os, Event->eventQueueMutex));
+    }
+
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckEVENT_AllocateRecord
+**
+**  Allocate a record for the new event.
+**
+**  INPUT:
+**
+**      gckEVENT Event
+**          Pointer to an gckEVENT object.
+**
+**      gctBOOL AllocateAllowed
+**          State for allocation if out of free events.
+**
+**  OUTPUT:
+**
+**      gcsEVENT_PTR * Record
+**          Allocated event record.
+*/
+gceSTATUS
+gckEVENT_AllocateRecord(
+    IN gckEVENT Event,
+    IN gctBOOL AllocateAllowed,
+    OUT gcsEVENT_PTR * Record
+    )
+{
+    gceSTATUS status;
+    gctBOOL acquired = gcvFALSE;
+    gctINT i;
+    gcsEVENT_PTR record;
+    gctPOINTER pointer = gcvNULL;
+
+    gcmkHEADER_ARG("Event=0x%x AllocateAllowed=%d", Event, AllocateAllowed);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Event, gcvOBJ_EVENT);
+    gcmkVERIFY_ARGUMENT(Record != gcvNULL);
+
+    /* Acquire the mutex. */
+    gcmkONERROR(gckOS_AcquireMutex(Event->os, Event->freeEventMutex, gcvINFINITE));
+    acquired = gcvTRUE;
+
+    /* Test if we are below the allocation threshold. */
+    if ( (AllocateAllowed && (Event->freeEventCount < gcdEVENT_MIN_THRESHOLD)) ||
+         (Event->freeEventCount == 0) )
+    {
+        /* Allocate a bunch of records. */
+        for (i = 0; i < gcdEVENT_ALLOCATION_COUNT; i += 1)
+        {
+            /* Allocate an event record. */
+            gcmkONERROR(gckOS_Allocate(Event->os,
+                                       gcmSIZEOF(gcsEVENT),
+                                       &pointer));
+
+            record = pointer;
+
+            /* Push it on the free list. */
+            record->next           = Event->freeEventList;
+            Event->freeEventList   = record;
+            Event->freeEventCount += 1;
+        }
+    }
+
+    *Record                = Event->freeEventList;
+    Event->freeEventList   = Event->freeEventList->next;
+    Event->freeEventCount -= 1;
+
+    /* Release the mutex. */
+    gcmkONERROR(gckOS_ReleaseMutex(Event->os, Event->freeEventMutex));
+    acquired = gcvFALSE;
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Record=0x%x", gcmOPT_POINTER(Record));
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Roll back. */
+    if (acquired)
+    {
+        gcmkVERIFY_OK(gckOS_ReleaseMutex(Event->os, Event->freeEventMutex));
+    }
+
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckEVENT_AddList
+**
+**  Add a new event to the list of events.
+**
+**  INPUT:
+**
+**      gckEVENT Event
+**          Pointer to an gckEVENT object.
+**
+**      gcsHAL_INTERFACE_PTR Interface
+**          Pointer to the interface for the event to be added.
+**
+**      gceKERNEL_WHERE FromWhere
+**          Place in the pipe where the event needs to be generated.
+**
+**      gctBOOL AllocateAllowed
+**          State for allocation if out of free events.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckEVENT_AddList(
+    IN gckEVENT Event,
+    IN gcsHAL_INTERFACE_PTR Interface,
+    IN gceKERNEL_WHERE FromWhere,
+    IN gctBOOL AllocateAllowed,
+    IN gctBOOL FromKernel
+    )
+{
+    gceSTATUS status;
+    gctBOOL acquired = gcvFALSE;
+    gcsEVENT_PTR record = gcvNULL;
+    gcsEVENT_QUEUE_PTR queue;
+    gckKERNEL kernel = Event->kernel;
+
+    gcmkHEADER_ARG("Event=0x%x Interface=0x%x",
+                   Event, Interface);
+
+    gcmkTRACE_ZONE(gcvLEVEL_VERBOSE, _GC_OBJ_ZONE,
+                    "FromWhere=%d AllocateAllowed=%d",
+                    FromWhere, AllocateAllowed);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Event, gcvOBJ_EVENT);
+    gcmkVERIFY_ARGUMENT(Interface != gcvNULL);
+
+    /* Verify the event command. */
+    gcmkASSERT
+        (  (Interface->command == gcvHAL_FREE_NON_PAGED_MEMORY)
+        || (Interface->command == gcvHAL_FREE_CONTIGUOUS_MEMORY)
+        || (Interface->command == gcvHAL_FREE_VIDEO_MEMORY)
+        || (Interface->command == gcvHAL_WRITE_DATA)
+        || (Interface->command == gcvHAL_UNLOCK_VIDEO_MEMORY)
+        || (Interface->command == gcvHAL_SIGNAL)
+        || (Interface->command == gcvHAL_UNMAP_USER_MEMORY)
+        || (Interface->command == gcvHAL_TIMESTAMP)
+        || (Interface->command == gcvHAL_COMMIT_DONE)
+        || (Interface->command == gcvHAL_FREE_VIRTUAL_COMMAND_BUFFER)
+        || (Interface->command == gcvHAL_SYNC_POINT)
+        );
+
+    /* Validate the source. */
+    if ((FromWhere != gcvKERNEL_COMMAND) && (FromWhere != gcvKERNEL_PIXEL))
+    {
+        /* Invalid argument. */
+        gcmkONERROR(gcvSTATUS_INVALID_ARGUMENT);
+    }
+
+    /* Allocate a free record. */
+    gcmkONERROR(gckEVENT_AllocateRecord(Event, AllocateAllowed, &record));
+
+    /* Termninate the record. */
+    record->next = gcvNULL;
+
+    /* Record the committer. */
+    record->fromKernel = FromKernel;
+
+    /* Copy the event interface into the record. */
+    gckOS_MemCopy(&record->info, Interface, gcmSIZEOF(record->info));
+
+    /* Get process ID. */
+    gcmkONERROR(gckOS_GetProcessID(&record->processID));
+
+#ifdef __QNXNTO__
+    record->kernel = Event->kernel;
+#endif
+
+    gcmkONERROR(__RemoveRecordFromProcessDB(Event, record));
+
+    /* Acquire the mutex. */
+    gcmkONERROR(gckOS_AcquireMutex(Event->os, Event->eventListMutex, gcvINFINITE));
+    acquired = gcvTRUE;
+
+    /* Do we need to allocate a new queue? */
+    if ((Event->queueTail == gcvNULL) || (Event->queueTail->source < FromWhere))
+    {
+        /* Allocate a new queue. */
+        gcmkONERROR(gckEVENT_AllocateQueue(Event, &queue));
+
+        /* Initialize the queue. */
+        queue->source = FromWhere;
+        queue->head   = gcvNULL;
+        queue->next   = gcvNULL;
+
+        /* Attach it to the list of allocated queues. */
+        if (Event->queueTail == gcvNULL)
+        {
+            Event->queueHead =
+            Event->queueTail = queue;
+        }
+        else
+        {
+            Event->queueTail->next = queue;
+            Event->queueTail       = queue;
+        }
+    }
+    else
+    {
+        queue = Event->queueTail;
+    }
+
+    /* Attach the record to the queue. */
+    if (queue->head == gcvNULL)
+    {
+        queue->head = record;
+        queue->tail = record;
+    }
+    else
+    {
+        queue->tail->next = record;
+        queue->tail       = record;
+    }
+
+    /* Unmap user space logical address.
+     * Linux kernel does not support unmap the memory of other process any more since 3.5.
+     * Let's unmap memory of self process before submit the event to gpu.
+     * */
+    switch(Interface->command)
+    {
+    case gcvHAL_FREE_NON_PAGED_MEMORY:
+        gcmkONERROR(gckOS_UnmapUserLogical(
+                        Event->os,
+                        gcmNAME_TO_PTR(Interface->u.FreeNonPagedMemory.physical),
+                        (gctSIZE_T) Interface->u.FreeNonPagedMemory.bytes,
+                        gcmUINT64_TO_PTR(Interface->u.FreeNonPagedMemory.logical)));
+        break;
+    case gcvHAL_FREE_CONTIGUOUS_MEMORY:
+        gcmkONERROR(gckOS_UnmapUserLogical(
+                        Event->os,
+                        gcmNAME_TO_PTR(Interface->u.FreeContiguousMemory.physical),
+                        (gctSIZE_T) Interface->u.FreeContiguousMemory.bytes,
+                        gcmUINT64_TO_PTR(Interface->u.FreeContiguousMemory.logical)));
+        break;
+    default:
+        break;
+    }
+
+
+    /* Release the mutex. */
+    gcmkONERROR(gckOS_ReleaseMutex(Event->os, Event->eventListMutex));
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Roll back. */
+    if (acquired)
+    {
+        gcmkVERIFY_OK(gckOS_ReleaseMutex(Event->os, Event->eventListMutex));
+    }
+
+    if (record != gcvNULL)
+    {
+        gcmkVERIFY_OK(gckEVENT_FreeRecord(Event, record));
+    }
+
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckEVENT_Unlock
+**
+**  Schedule an event to unlock virtual memory.
+**
+**  INPUT:
+**
+**      gckEVENT Event
+**          Pointer to an gckEVENT object.
+**
+**      gceKERNEL_WHERE FromWhere
+**          Place in the pipe where the event needs to be generated.
+**
+**      gcuVIDMEM_NODE_PTR Node
+**          Pointer to a gcuVIDMEM_NODE union that specifies the virtual memory
+**          to unlock.
+**
+**      gceSURF_TYPE Type
+**          Type of surface to unlock.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckEVENT_Unlock(
+    IN gckEVENT Event,
+    IN gceKERNEL_WHERE FromWhere,
+    IN gcuVIDMEM_NODE_PTR Node,
+    IN gceSURF_TYPE Type
+    )
+{
+    gceSTATUS status;
+    gcsHAL_INTERFACE iface;
+
+    gcmkHEADER_ARG("Event=0x%x FromWhere=%d Node=0x%x Type=%d",
+                   Event, FromWhere, Node, Type);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Event, gcvOBJ_EVENT);
+    gcmkVERIFY_ARGUMENT(Node != gcvNULL);
+
+    /* Mark the event as an unlock. */
+    iface.command                           = gcvHAL_UNLOCK_VIDEO_MEMORY;
+    iface.u.UnlockVideoMemory.node          = gcmPTR_TO_UINT64(Node);
+    iface.u.UnlockVideoMemory.type          = Type;
+    iface.u.UnlockVideoMemory.asynchroneous = 0;
+
+    /* Append it to the queue. */
+    gcmkONERROR(gckEVENT_AddList(Event, &iface, FromWhere, gcvFALSE, gcvTRUE));
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckEVENT_FreeVideoMemory
+**
+**  Schedule an event to free video memory.
+**
+**  INPUT:
+**
+**      gckEVENT Event
+**          Pointer to an gckEVENT object.
+**
+**      gcuVIDMEM_NODE_PTR VideoMemory
+**          Pointer to a gcuVIDMEM_NODE object to free.
+**
+**      gceKERNEL_WHERE FromWhere
+**          Place in the pipe where the event needs to be generated.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckEVENT_FreeVideoMemory(
+    IN gckEVENT Event,
+    IN gcuVIDMEM_NODE_PTR VideoMemory,
+    IN gceKERNEL_WHERE FromWhere
+    )
+{
+    gceSTATUS status;
+    gcsHAL_INTERFACE iface;
+
+    gcmkHEADER_ARG("Event=0x%x VideoMemory=0x%x FromWhere=%d",
+                   Event, VideoMemory, FromWhere);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Event, gcvOBJ_EVENT);
+    gcmkVERIFY_ARGUMENT(VideoMemory != gcvNULL);
+
+    /* Create an event. */
+    iface.command = gcvHAL_FREE_VIDEO_MEMORY;
+    iface.u.FreeVideoMemory.node = gcmPTR_TO_UINT64(VideoMemory);
+
+    /* Append it to the queue. */
+    gcmkONERROR(gckEVENT_AddList(Event, &iface, FromWhere, gcvFALSE, gcvTRUE));
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckEVENT_FreeNonPagedMemory
+**
+**  Schedule an event to free non-paged memory.
+**
+**  INPUT:
+**
+**      gckEVENT Event
+**          Pointer to an gckEVENT object.
+**
+**      gctSIZE_T Bytes
+**          Number of bytes of non-paged memory to free.
+**
+**      gctPHYS_ADDR Physical
+**          Physical address of non-paged memory to free.
+**
+**      gctPOINTER Logical
+**          Logical address of non-paged memory to free.
+**
+**      gceKERNEL_WHERE FromWhere
+**          Place in the pipe where the event needs to be generated.
+*/
+gceSTATUS
+gckEVENT_FreeNonPagedMemory(
+    IN gckEVENT Event,
+    IN gctSIZE_T Bytes,
+    IN gctPHYS_ADDR Physical,
+    IN gctPOINTER Logical,
+    IN gceKERNEL_WHERE FromWhere
+    )
+{
+    gceSTATUS status;
+    gcsHAL_INTERFACE iface;
+    gckKERNEL kernel = Event->kernel;
+
+    gcmkHEADER_ARG("Event=0x%x Bytes=%lu Physical=0x%x Logical=0x%x "
+                   "FromWhere=%d",
+                   Event, Bytes, Physical, Logical, FromWhere);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Event, gcvOBJ_EVENT);
+    gcmkVERIFY_ARGUMENT(Physical != gcvNULL);
+    gcmkVERIFY_ARGUMENT(Logical != gcvNULL);
+    gcmkVERIFY_ARGUMENT(Bytes > 0);
+
+    /* Create an event. */
+    iface.command = gcvHAL_FREE_NON_PAGED_MEMORY;
+    iface.u.FreeNonPagedMemory.bytes    = Bytes;
+    iface.u.FreeNonPagedMemory.physical = gcmPTR_TO_NAME(Physical);
+    iface.u.FreeNonPagedMemory.logical  = gcmPTR_TO_UINT64(Logical);
+
+    /* Append it to the queue. */
+    gcmkONERROR(gckEVENT_AddList(Event, &iface, FromWhere, gcvFALSE, gcvTRUE));
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+gceSTATUS
+gckEVENT_DestroyVirtualCommandBuffer(
+    IN gckEVENT Event,
+    IN gctSIZE_T Bytes,
+    IN gctPHYS_ADDR Physical,
+    IN gctPOINTER Logical,
+    IN gceKERNEL_WHERE FromWhere
+    )
+{
+    gceSTATUS status;
+    gcsHAL_INTERFACE iface;
+    gckKERNEL kernel = Event->kernel;
+
+    gcmkHEADER_ARG("Event=0x%x Bytes=%lu Physical=0x%x Logical=0x%x "
+                   "FromWhere=%d",
+                   Event, Bytes, Physical, Logical, FromWhere);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Event, gcvOBJ_EVENT);
+    gcmkVERIFY_ARGUMENT(Physical != gcvNULL);
+    gcmkVERIFY_ARGUMENT(Logical != gcvNULL);
+    gcmkVERIFY_ARGUMENT(Bytes > 0);
+
+    /* Create an event. */
+    iface.command = gcvHAL_FREE_VIRTUAL_COMMAND_BUFFER;
+    iface.u.FreeVirtualCommandBuffer.bytes    = Bytes;
+    iface.u.FreeVirtualCommandBuffer.physical = gcmPTR_TO_NAME(Physical);
+    iface.u.FreeVirtualCommandBuffer.logical  = gcmPTR_TO_UINT64(Logical);
+
+    /* Append it to the queue. */
+    gcmkONERROR(gckEVENT_AddList(Event, &iface, FromWhere, gcvFALSE, gcvTRUE));
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckEVENT_FreeContigiuousMemory
+**
+**  Schedule an event to free contiguous memory.
+**
+**  INPUT:
+**
+**      gckEVENT Event
+**          Pointer to an gckEVENT object.
+**
+**      gctSIZE_T Bytes
+**          Number of bytes of contiguous memory to free.
+**
+**      gctPHYS_ADDR Physical
+**          Physical address of contiguous memory to free.
+**
+**      gctPOINTER Logical
+**          Logical address of contiguous memory to free.
+**
+**      gceKERNEL_WHERE FromWhere
+**          Place in the pipe where the event needs to be generated.
+*/
+gceSTATUS
+gckEVENT_FreeContiguousMemory(
+    IN gckEVENT Event,
+    IN gctSIZE_T Bytes,
+    IN gctPHYS_ADDR Physical,
+    IN gctPOINTER Logical,
+    IN gceKERNEL_WHERE FromWhere
+    )
+{
+    gceSTATUS status;
+    gcsHAL_INTERFACE iface;
+    gckKERNEL kernel = Event->kernel;
+
+    gcmkHEADER_ARG("Event=0x%x Bytes=%lu Physical=0x%x Logical=0x%x "
+                   "FromWhere=%d",
+                   Event, Bytes, Physical, Logical, FromWhere);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Event, gcvOBJ_EVENT);
+    gcmkVERIFY_ARGUMENT(Physical != gcvNULL);
+    gcmkVERIFY_ARGUMENT(Logical != gcvNULL);
+    gcmkVERIFY_ARGUMENT(Bytes > 0);
+
+    /* Create an event. */
+    iface.command = gcvHAL_FREE_CONTIGUOUS_MEMORY;
+    iface.u.FreeContiguousMemory.bytes    = Bytes;
+    iface.u.FreeContiguousMemory.physical = gcmPTR_TO_NAME(Physical);
+    iface.u.FreeContiguousMemory.logical  = gcmPTR_TO_UINT64(Logical);
+
+    /* Append it to the queue. */
+    gcmkONERROR(gckEVENT_AddList(Event, &iface, FromWhere, gcvFALSE, gcvTRUE));
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckEVENT_Signal
+**
+**  Schedule an event to trigger a signal.
+**
+**  INPUT:
+**
+**      gckEVENT Event
+**          Pointer to an gckEVENT object.
+**
+**      gctSIGNAL Signal
+**          Pointer to the signal to trigger.
+**
+**      gceKERNEL_WHERE FromWhere
+**          Place in the pipe where the event needs to be generated.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckEVENT_Signal(
+    IN gckEVENT Event,
+    IN gctSIGNAL Signal,
+    IN gceKERNEL_WHERE FromWhere
+    )
+{
+    gceSTATUS status;
+    gcsHAL_INTERFACE iface;
+
+    gcmkHEADER_ARG("Event=0x%x Signal=0x%x FromWhere=%d",
+                   Event, Signal, FromWhere);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Event, gcvOBJ_EVENT);
+    gcmkVERIFY_ARGUMENT(Signal != gcvNULL);
+
+    /* Mark the event as a signal. */
+    iface.command            = gcvHAL_SIGNAL;
+    iface.u.Signal.signal    = gcmPTR_TO_UINT64(Signal);
+#ifdef __QNXNTO__
+    iface.u.Signal.coid      = 0;
+    iface.u.Signal.rcvid     = 0;
+#endif
+    iface.u.Signal.auxSignal = 0;
+    iface.u.Signal.process   = 0;
+
+    /* Append it to the queue. */
+    gcmkONERROR(gckEVENT_AddList(Event, &iface, FromWhere, gcvFALSE, gcvTRUE));
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckEVENT_CommitDone
+**
+**  Schedule an event to wake up work thread when commit is done by GPU.
+**
+**  INPUT:
+**
+**      gckEVENT Event
+**          Pointer to an gckEVENT object.
+**
+**      gceKERNEL_WHERE FromWhere
+**          Place in the pipe where the event needs to be generated.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckEVENT_CommitDone(
+    IN gckEVENT Event,
+    IN gceKERNEL_WHERE FromWhere
+    )
+{
+    gceSTATUS status;
+    gcsHAL_INTERFACE iface;
+
+    gcmkHEADER_ARG("Event=0x%x FromWhere=%d", Event, FromWhere);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Event, gcvOBJ_EVENT);
+
+    iface.command = gcvHAL_COMMIT_DONE;
+
+    /* Append it to the queue. */
+    gcmkONERROR(gckEVENT_AddList(Event, &iface, FromWhere, gcvFALSE, gcvTRUE));
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+/*******************************************************************************
+**
+**  gckEVENT_Submit
+**
+**  Submit the current event queue to the GPU.
+**
+**  INPUT:
+**
+**      gckEVENT Event
+**          Pointer to an gckEVENT object.
+**
+**      gctBOOL Wait
+**          Submit requires one vacant event; if Wait is set to not zero,
+**          and there are no vacant events at this time, the function will
+**          wait until an event becomes vacant so that submission of the
+**          queue is successful.
+**
+**      gctBOOL FromPower
+**          Determines whether the call originates from inside the power
+**          management or not.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckEVENT_Submit(
+    IN gckEVENT Event,
+    IN gctBOOL Wait,
+    IN gctBOOL FromPower
+    )
+{
+    gceSTATUS status;
+    gctUINT8 id = 0xFF;
+    gcsEVENT_QUEUE_PTR queue;
+    gctBOOL acquired = gcvFALSE;
+    gckCOMMAND command = gcvNULL;
+    gctBOOL commitEntered = gcvFALSE;
+#if !gcdNULL_DRIVER
+    gctSIZE_T bytes;
+    gctPOINTER buffer;
+#endif
+
+    gcmkHEADER_ARG("Event=0x%x Wait=%d", Event, Wait);
+
+    /* Get gckCOMMAND object. */
+    command = Event->kernel->command;
+
+    /* Are there event queues? */
+    if (Event->queueHead != gcvNULL)
+    {
+        /* Acquire the command queue. */
+        gcmkONERROR(gckCOMMAND_EnterCommit(command, FromPower));
+        commitEntered = gcvTRUE;
+
+        /* Process all queues. */
+        while (Event->queueHead != gcvNULL)
+        {
+            /* Acquire the list mutex. */
+            gcmkONERROR(gckOS_AcquireMutex(Event->os,
+                                           Event->eventListMutex,
+                                           gcvINFINITE));
+            acquired = gcvTRUE;
+
+            /* Get the current queue. */
+            queue = Event->queueHead;
+
+            /* Allocate an event ID. */
+            gcmkONERROR(gckEVENT_GetEvent(Event, Wait, &id, queue->source));
+
+            /* Copy event list to event ID queue. */
+            Event->queues[id].head   = queue->head;
+
+            /* Remove the top queue from the list. */
+            if (Event->queueHead == Event->queueTail)
+            {
+                Event->queueHead = gcvNULL;
+                Event->queueTail = gcvNULL;
+            }
+            else
+            {
+                Event->queueHead = Event->queueHead->next;
+            }
+
+            /* Free the queue. */
+            gcmkONERROR(gckEVENT_FreeQueue(Event, queue));
+
+            /* Release the list mutex. */
+            gcmkONERROR(gckOS_ReleaseMutex(Event->os, Event->eventListMutex));
+            acquired = gcvFALSE;
+
+#if gcdNULL_DRIVER
+            /* Notify immediately on infinite hardware. */
+            gcmkONERROR(gckEVENT_Interrupt(Event, 1 << id));
+
+            gcmkONERROR(gckEVENT_Notify(Event, 0));
+#else
+            /* Get the size of the hardware event. */
+            gcmkONERROR(gckHARDWARE_Event(Event->kernel->hardware,
+                                          gcvNULL,
+                                          id,
+                                          Event->queues[id].source,
+                                          &bytes));
+
+            /* Reserve space in the command queue. */
+            gcmkONERROR(gckCOMMAND_Reserve(command,
+                                           bytes,
+                                           &buffer,
+                                           &bytes));
+
+            /* Set the hardware event in the command queue. */
+            gcmkONERROR(gckHARDWARE_Event(Event->kernel->hardware,
+                                          buffer,
+                                          id,
+                                          Event->queues[id].source,
+                                          &bytes));
+
+            /* Execute the hardware event. */
+            gcmkONERROR(gckCOMMAND_Execute(command, bytes));
+#endif
+        }
+
+        /* Release the command queue. */
+        gcmkONERROR(gckCOMMAND_ExitCommit(command, FromPower));
+        commitEntered = gcvFALSE;
+
+#if !gcdNULL_DRIVER
+        gcmkVERIFY_OK(_TryToIdleGPU(Event));
+#endif
+    }
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    if (commitEntered)
+    {
+        /* Release the command queue mutex. */
+        gcmkVERIFY_OK(gckCOMMAND_ExitCommit(command, FromPower));
+    }
+
+    if (acquired)
+    {
+        /* Need to unroll the mutex acquire. */
+        gcmkVERIFY_OK(gckOS_ReleaseMutex(Event->os, Event->eventListMutex));
+    }
+
+    if (id != 0xFF)
+    {
+        /* Need to unroll the event allocation. */
+        Event->queues[id].head = gcvNULL;
+    }
+
+    if (status == gcvSTATUS_GPU_NOT_RESPONDING)
+    {
+        /* Broadcast GPU stuck. */
+        status = gckOS_Broadcast(Event->os,
+                                 Event->kernel->hardware,
+                                 gcvBROADCAST_GPU_STUCK);
+    }
+
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckEVENT_Commit
+**
+**  Commit an event queue from the user.
+**
+**  INPUT:
+**
+**      gckEVENT Event
+**          Pointer to an gckEVENT object.
+**
+**      gcsQUEUE_PTR Queue
+**          User event queue.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckEVENT_Commit(
+    IN gckEVENT Event,
+    IN gcsQUEUE_PTR Queue
+    )
+{
+    gceSTATUS status;
+    gcsQUEUE_PTR record = gcvNULL, next;
+    gctUINT32 processID;
+    gctBOOL needCopy = gcvFALSE;
+
+    gcmkHEADER_ARG("Event=0x%x Queue=0x%x", Event, Queue);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Event, gcvOBJ_EVENT);
+
+    /* Get the current process ID. */
+    gcmkONERROR(gckOS_GetProcessID(&processID));
+
+    /* Query if we need to copy the client data. */
+    gcmkONERROR(gckOS_QueryNeedCopy(Event->os, processID, &needCopy));
+
+    /* Loop while there are records in the queue. */
+    while (Queue != gcvNULL)
+    {
+        gcsQUEUE queue;
+
+        if (needCopy)
+        {
+            /* Point to stack record. */
+            record = &queue;
+
+            /* Copy the data from the client. */
+            gcmkONERROR(gckOS_CopyFromUserData(Event->os,
+                                               record,
+                                               Queue,
+                                               gcmSIZEOF(gcsQUEUE)));
+        }
+        else
+        {
+            gctPOINTER pointer = gcvNULL;
+
+            /* Map record into kernel memory. */
+            gcmkONERROR(gckOS_MapUserPointer(Event->os,
+                                             Queue,
+                                             gcmSIZEOF(gcsQUEUE),
+                                             &pointer));
+
+            record = pointer;
+        }
+
+        /* Append event record to event queue. */
+        gcmkONERROR(
+            gckEVENT_AddList(Event, &record->iface, gcvKERNEL_PIXEL, gcvTRUE, gcvFALSE));
+
+        /* Next record in the queue. */
+        next = gcmUINT64_TO_PTR(record->next);
+
+        if (!needCopy)
+        {
+            /* Unmap record from kernel memory. */
+            gcmkONERROR(
+                gckOS_UnmapUserPointer(Event->os,
+                                       Queue,
+                                       gcmSIZEOF(gcsQUEUE),
+                                       (gctPOINTER *) record));
+            record = gcvNULL;
+        }
+
+        Queue = next;
+    }
+
+    /* Submit the event list. */
+    gcmkONERROR(gckEVENT_Submit(Event, gcvTRUE, gcvFALSE));
+
+    /* Success */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    if ((record != gcvNULL) && !needCopy)
+    {
+        /* Roll back. */
+        gcmkVERIFY_OK(gckOS_UnmapUserPointer(Event->os,
+                                             Queue,
+                                             gcmSIZEOF(gcsQUEUE),
+                                             (gctPOINTER *) record));
+    }
+
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckEVENT_Compose
+**
+**  Schedule a composition event and start a composition.
+**
+**  INPUT:
+**
+**      gckEVENT Event
+**          Pointer to an gckEVENT object.
+**
+**      gcsHAL_COMPOSE_PTR Info
+**          Pointer to the composition structure.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckEVENT_Compose(
+    IN gckEVENT Event,
+    IN gcsHAL_COMPOSE_PTR Info
+    )
+{
+    gceSTATUS status;
+    gcsEVENT_PTR headRecord;
+    gcsEVENT_PTR tailRecord;
+    gcsEVENT_PTR tempRecord;
+    gctUINT8 id = 0xFF;
+    gctUINT32 processID;
+
+    gcmkHEADER_ARG("Event=0x%x Info=0x%x", Event, Info);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Event, gcvOBJ_EVENT);
+    gcmkVERIFY_ARGUMENT(Info != gcvNULL);
+
+    /* Allocate an event ID. */
+    gcmkONERROR(gckEVENT_GetEvent(Event, gcvTRUE, &id, gcvKERNEL_PIXEL));
+
+    /* Get process ID. */
+    gcmkONERROR(gckOS_GetProcessID(&processID));
+
+    /* Allocate a record. */
+    gcmkONERROR(gckEVENT_AllocateRecord(Event, gcvTRUE, &tempRecord));
+    headRecord = tailRecord = tempRecord;
+
+    /* Initialize the record. */
+    tempRecord->info.command            = gcvHAL_SIGNAL;
+    tempRecord->info.u.Signal.process   = Info->process;
+#ifdef __QNXNTO__
+    tempRecord->info.u.Signal.coid      = Info->coid;
+    tempRecord->info.u.Signal.rcvid     = Info->rcvid;
+#endif
+    tempRecord->info.u.Signal.signal    = Info->signal;
+    tempRecord->info.u.Signal.auxSignal = 0;
+    tempRecord->next = gcvNULL;
+    tempRecord->processID = processID;
+
+    /* Allocate another record for user signal #1. */
+    if (gcmUINT64_TO_PTR(Info->userSignal1) != gcvNULL)
+    {
+        /* Allocate a record. */
+        gcmkONERROR(gckEVENT_AllocateRecord(Event, gcvTRUE, &tempRecord));
+        tailRecord->next = tempRecord;
+        tailRecord = tempRecord;
+
+        /* Initialize the record. */
+        tempRecord->info.command            = gcvHAL_SIGNAL;
+        tempRecord->info.u.Signal.process   = Info->userProcess;
+#ifdef __QNXNTO__
+        tempRecord->info.u.Signal.coid      = Info->coid;
+        tempRecord->info.u.Signal.rcvid     = Info->rcvid;
+#endif
+        tempRecord->info.u.Signal.signal    = Info->userSignal1;
+        tempRecord->info.u.Signal.auxSignal = 0;
+        tempRecord->next = gcvNULL;
+        tempRecord->processID = processID;
+    }
+
+    /* Allocate another record for user signal #2. */
+    if (gcmUINT64_TO_PTR(Info->userSignal2) != gcvNULL)
+    {
+        /* Allocate a record. */
+        gcmkONERROR(gckEVENT_AllocateRecord(Event, gcvTRUE, &tempRecord));
+        tailRecord->next = tempRecord;
+        tailRecord = tempRecord;
+
+        /* Initialize the record. */
+        tempRecord->info.command            = gcvHAL_SIGNAL;
+        tempRecord->info.u.Signal.process   = Info->userProcess;
+#ifdef __QNXNTO__
+        tempRecord->info.u.Signal.coid      = Info->coid;
+        tempRecord->info.u.Signal.rcvid     = Info->rcvid;
+#endif
+        tempRecord->info.u.Signal.signal    = Info->userSignal2;
+        tempRecord->info.u.Signal.auxSignal = 0;
+        tempRecord->next = gcvNULL;
+        tempRecord->processID = processID;
+    }
+
+       /* Set the event list. */
+    Event->queues[id].head = headRecord;
+
+    /* Start composition. */
+    gcmkONERROR(gckHARDWARE_Compose(
+        Event->kernel->hardware, processID,
+        gcmUINT64_TO_PTR(Info->physical), gcmUINT64_TO_PTR(Info->logical), Info->offset, Info->size, id
+        ));
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckEVENT_Interrupt
+**
+**  Called by the interrupt service routine to store the triggered interrupt
+**  mask to be later processed by gckEVENT_Notify.
+**
+**  INPUT:
+**
+**      gckEVENT Event
+**          Pointer to an gckEVENT object.
+**
+**      gctUINT32 Data
+**          Mask for the 32 interrupts.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckEVENT_Interrupt(
+    IN gckEVENT Event,
+    IN gctUINT32 Data
+    )
+{
+    gcmkHEADER_ARG("Event=0x%x Data=0x%x", Event, Data);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Event, gcvOBJ_EVENT);
+
+    /* Combine current interrupt status with pending flags. */
+#if gcdSMP
+    gckOS_AtomSetMask(Event->pending, Data);
+#elif defined(__QNXNTO__)
+    atomic_set(&Event->pending, Data);
+#else
+    Event->pending |= Data;
+#endif
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckEVENT_Notify
+**
+**  Process all triggered interrupts.
+**
+**  INPUT:
+**
+**      gckEVENT Event
+**          Pointer to an gckEVENT object.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckEVENT_Notify(
+    IN gckEVENT Event,
+    IN gctUINT32 IDs
+    )
+{
+    gceSTATUS status = gcvSTATUS_OK;
+    gctINT i;
+    gcsEVENT_QUEUE * queue;
+    gctUINT mask = 0;
+    gctBOOL acquired = gcvFALSE;
+    gcuVIDMEM_NODE_PTR node;
+    gctPOINTER info;
+    gctSIGNAL signal;
+    gctUINT pending;
+    gckKERNEL kernel = Event->kernel;
+#if !gcdSMP
+    gctBOOL suspended = gcvFALSE;
+#endif
+#if gcmIS_DEBUG(gcdDEBUG_TRACE)
+    gctINT eventNumber = 0;
+#endif
+    gctINT32 free;
+#if gcdSECURE_USER
+    gcskSECURE_CACHE_PTR cache;
+#endif
+
+    gcmkHEADER_ARG("Event=0x%x IDs=0x%x", Event, IDs);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Event, gcvOBJ_EVENT);
+
+    gcmDEBUG_ONLY(
+        if (IDs != 0)
+        {
+            for (i = 0; i < gcmCOUNTOF(Event->queues); ++i)
+            {
+                if (Event->queues[i].head != gcvNULL)
+                {
+                    gcmkTRACE_ZONE(gcvLEVEL_VERBOSE, gcvZONE_EVENT,
+                                   "Queue(%d): stamp=%llu source=%d",
+                                   i,
+                                   Event->queues[i].stamp,
+                                   Event->queues[i].source);
+                }
+            }
+        }
+    );
+
+    for (;;)
+    {
+        gcsEVENT_PTR record;
+
+#if gcdSMP
+        /* Get current interrupts. */
+        gckOS_AtomGet(Event->os, Event->pending, (gctINT32_PTR)&pending);
+#else
+        /* Suspend interrupts. */
+        gcmkONERROR(gckOS_SuspendInterruptEx(Event->os, Event->kernel->core));
+        suspended = gcvTRUE;
+
+        /* Get current interrupts. */
+        pending = Event->pending;
+
+        /* Resume interrupts. */
+        gcmkONERROR(gckOS_ResumeInterruptEx(Event->os, Event->kernel->core));
+        suspended = gcvFALSE;
+#endif
+
+        if (pending == 0)
+        {
+            /* No more pending interrupts - done. */
+            break;
+        }
+
+        if (pending & 0x80000000)
+        {
+            gckOS_Print("!!!!!!!!!!!!! AXI BUS ERROR !!!!!!!!!!!!!\n");
+            gcmkTRACE_ZONE(gcvLEVEL_ERROR, gcvZONE_EVENT, "AXI BUS ERROR");
+            pending &= 0x7FFFFFFF;
+        }
+
+        if (pending & 0x40000000)
+        {
+            gckHARDWARE_DumpMMUException(Event->kernel->hardware);
+
+            pending &= 0xBFFFFFFF;
+        }
+
+        gcmkTRACE_ZONE_N(
+            gcvLEVEL_INFO, gcvZONE_EVENT,
+            gcmSIZEOF(pending),
+            "Pending interrupts 0x%x",
+            pending
+            );
+
+        queue = gcvNULL;
+
+        gcmDEBUG_ONLY(
+            if (IDs == 0)
+            {
+                for (i = 0; i < gcmCOUNTOF(Event->queues); ++i)
+                {
+                    if (Event->queues[i].head != gcvNULL)
+                    {
+                        gcmkTRACE_ZONE(gcvLEVEL_VERBOSE, gcvZONE_EVENT,
+                                       "Queue(%d): stamp=%llu source=%d",
+                                       i,
+                                       Event->queues[i].stamp,
+                                       Event->queues[i].source);
+                    }
+                }
+            }
+        );
+
+        /* Find the oldest pending interrupt. */
+        for (i = 0; i < gcmCOUNTOF(Event->queues); ++i)
+        {
+            if ((Event->queues[i].head != gcvNULL)
+            &&  (pending & (1 << i))
+            )
+            {
+                if ((queue == gcvNULL)
+                ||  (Event->queues[i].stamp < queue->stamp)
+                )
+                {
+                    queue = &Event->queues[i];
+                    mask  = 1 << i;
+#if gcmIS_DEBUG(gcdDEBUG_TRACE)
+                    eventNumber = i;
+#endif
+                }
+            }
+        }
+
+        if (queue == gcvNULL)
+        {
+            gcmkTRACE_ZONE_N(
+                gcvLEVEL_ERROR, gcvZONE_EVENT,
+                gcmSIZEOF(pending),
+                "Interrupts 0x%x are not pending.",
+                pending
+                );
+
+#if gcdSMP
+            /* Mark pending interrupts as handled. */
+            gckOS_AtomClearMask(Event->pending, pending);
+#elif defined(__QNXNTO__)
+            /* Mark pending interrupts as handled. */
+            atomic_clr((gctUINT32_PTR)&Event->pending, pending);
+#else
+            /* Suspend interrupts. */
+            gcmkONERROR(gckOS_SuspendInterruptEx(Event->os, Event->kernel->core));
+            suspended = gcvTRUE;
+
+            /* Mark pending interrupts as handled. */
+            Event->pending &= ~pending;
+
+            /* Resume interrupts. */
+            gcmkONERROR(gckOS_ResumeInterruptEx(Event->os, Event->kernel->core));
+            suspended = gcvFALSE;
+#endif
+            break;
+        }
+
+        /* Check whether there is a missed interrupt. */
+        for (i = 0; i < gcmCOUNTOF(Event->queues); ++i)
+        {
+            if ((Event->queues[i].head != gcvNULL)
+            &&  (Event->queues[i].stamp < queue->stamp)
+            &&  (Event->queues[i].source <= queue->source)
+            )
+            {
+                gcmkTRACE_N(
+                    gcvLEVEL_ERROR,
+                    gcmSIZEOF(i) + gcmSIZEOF(Event->queues[i].stamp),
+                    "Event %d lost (stamp %llu)",
+                    i, Event->queues[i].stamp
+                    );
+
+                /* Use this event instead. */
+                queue = &Event->queues[i];
+                mask  = 0;
+            }
+        }
+
+        if (mask != 0)
+        {
+#if gcmIS_DEBUG(gcdDEBUG_TRACE)
+            gcmkTRACE_ZONE_N(
+                gcvLEVEL_INFO, gcvZONE_EVENT,
+                gcmSIZEOF(eventNumber),
+                "Processing interrupt %d",
+                eventNumber
+                );
+#endif
+        }
+
+#if gcdSMP
+        /* Mark pending interrupt as handled. */
+        gckOS_AtomClearMask(Event->pending, mask);
+#elif defined(__QNXNTO__)
+        /* Mark pending interrupt as handled. */
+        atomic_clr(&Event->pending, mask);
+#else
+        /* Suspend interrupts. */
+        gcmkONERROR(gckOS_SuspendInterruptEx(Event->os, Event->kernel->core));
+        suspended = gcvTRUE;
+
+        /* Mark pending interrupt as handled. */
+        Event->pending &= ~mask;
+
+        /* Resume interrupts. */
+        gcmkONERROR(gckOS_ResumeInterruptEx(Event->os, Event->kernel->core));
+        suspended = gcvFALSE;
+#endif
+
+        /* Grab the mutex queue. */
+        gcmkONERROR(gckOS_AcquireMutex(Event->os,
+                                       Event->eventQueueMutex,
+                                       gcvINFINITE));
+        acquired = gcvTRUE;
+
+        /* We are in the notify loop. */
+        Event->inNotify = gcvTRUE;
+
+        /* Grab the event head. */
+        record = queue->head;
+
+        /* Now quickly clear its event list. */
+        queue->head = gcvNULL;
+
+        /* Release the mutex queue. */
+        gcmkONERROR(gckOS_ReleaseMutex(Event->os, Event->eventQueueMutex));
+        acquired = gcvFALSE;
+
+        /* Increase the number of free events. */
+        gcmkONERROR(gckOS_AtomIncrement(Event->os, Event->freeAtom, &free));
+
+        /* Walk all events for this interrupt. */
+        while (record != gcvNULL)
+        {
+            gcsEVENT_PTR recordNext;
+#ifndef __QNXNTO__
+            gctPOINTER logical;
+#endif
+#if gcdSECURE_USER
+            gctSIZE_T bytes;
+#endif
+
+            /* Grab next record. */
+            recordNext = record->next;
+
+#ifdef __QNXNTO__
+            /* Assign record->processID as the pid for this galcore thread.
+             * Used in OS calls like gckOS_UnlockMemory() which do not take a pid.
+             */
+            drv_thread_specific_key_assign(record->processID, 0, Event->kernel->core);
+#endif
+
+#if gcdSECURE_USER
+            /* Get the cache that belongs to this process. */
+            gcmkONERROR(gckKERNEL_GetProcessDBCache(Event->kernel,
+                        record->processID,
+                        &cache));
+#endif
+
+            gcmkTRACE_ZONE_N(
+                gcvLEVEL_INFO, gcvZONE_EVENT,
+                gcmSIZEOF(record->info.command),
+                "Processing event type: %d",
+                record->info.command
+                );
+
+            switch (record->info.command)
+            {
+            case gcvHAL_FREE_NON_PAGED_MEMORY:
+                gcmkTRACE_ZONE(gcvLEVEL_VERBOSE, gcvZONE_EVENT,
+                               "gcvHAL_FREE_NON_PAGED_MEMORY: 0x%x",
+                               gcmNAME_TO_PTR(record->info.u.FreeNonPagedMemory.physical));
+
+                /* Free non-paged memory. */
+                status = gckOS_FreeNonPagedMemory(
+                            Event->os,
+                            (gctSIZE_T) record->info.u.FreeNonPagedMemory.bytes,
+                            gcmNAME_TO_PTR(record->info.u.FreeNonPagedMemory.physical),
+                            gcmUINT64_TO_PTR(record->info.u.FreeNonPagedMemory.logical));
+
+                if (gcmIS_SUCCESS(status))
+                {
+#if gcdSECURE_USER
+                    gcmkVERIFY_OK(gckKERNEL_FlushTranslationCache(
+                        Event->kernel,
+                        cache,
+                        gcmUINT64_TO_PTR(record->record.u.FreeNonPagedMemory.logical),
+                        (gctSIZE_T) record->record.u.FreeNonPagedMemory.bytes));
+#endif
+                }
+                gcmRELEASE_NAME(record->info.u.FreeNonPagedMemory.physical);
+                break;
+
+            case gcvHAL_FREE_CONTIGUOUS_MEMORY:
+                gcmkTRACE_ZONE(
+                    gcvLEVEL_VERBOSE, gcvZONE_EVENT,
+                    "gcvHAL_FREE_CONTIGUOUS_MEMORY: 0x%x",
+                    gcmNAME_TO_PTR(record->info.u.FreeContiguousMemory.physical));
+
+                /* Unmap the user memory. */
+                status = gckOS_FreeContiguous(
+                            Event->os,
+                            gcmNAME_TO_PTR(record->info.u.FreeContiguousMemory.physical),
+                            gcmUINT64_TO_PTR(record->info.u.FreeContiguousMemory.logical),
+                            (gctSIZE_T) record->info.u.FreeContiguousMemory.bytes);
+
+                if (gcmIS_SUCCESS(status))
+                {
+#if gcdSECURE_USER
+                    gcmkVERIFY_OK(gckKERNEL_FlushTranslationCache(
+                        Event->kernel,
+                        cache,
+                        gcmUINT64_TO_PTR(record->record.u.FreeContiguousMemory.logical),
+                        (gctSIZE_T) record->record.u.FreeContiguousMemory.bytes));
+#endif
+                }
+                gcmRELEASE_NAME(record->info.u.FreeContiguousMemory.physical);
+                break;
+
+            case gcvHAL_FREE_VIDEO_MEMORY:
+                node = gcmUINT64_TO_PTR(record->info.u.FreeVideoMemory.node);
+                gcmkTRACE_ZONE(gcvLEVEL_VERBOSE, gcvZONE_EVENT,
+                               "gcvHAL_FREE_VIDEO_MEMORY: 0x%x",
+                               node);
+#ifdef __QNXNTO__
+#if gcdUSE_VIDMEM_PER_PID
+                /* Check if the VidMem object still exists. */
+                if (gckKERNEL_GetVideoMemoryPoolPid(record->kernel,
+                                                    gcvPOOL_SYSTEM,
+                                                    record->processID,
+                                                    gcvNULL) == gcvSTATUS_NOT_FOUND)
+                {
+                    /*printf("Vidmem not found for process:%d\n", queue->processID);*/
+                    status = gcvSTATUS_OK;
+                    break;
+                }
+#else
+                if ((node->VidMem.memory->object.type == gcvOBJ_VIDMEM)
+                &&  (node->VidMem.logical != gcvNULL)
+                )
+                {
+                    gcmkERR_BREAK(
+                        gckKERNEL_UnmapVideoMemory(record->kernel,
+                                                   node->VidMem.logical,
+                                                   record->processID,
+                                                   node->VidMem.bytes));
+                    node->VidMem.logical = gcvNULL;
+                }
+#endif
+#endif
+
+                /* Free video memory. */
+                status =
+                    gckVIDMEM_Free(node);
+
+                break;
+
+            case gcvHAL_WRITE_DATA:
+#ifndef __QNXNTO__
+                /* Convert physical into logical address. */
+                gcmkERR_BREAK(
+                    gckOS_MapPhysical(Event->os,
+                                      record->info.u.WriteData.address,
+                                      gcmSIZEOF(gctUINT32),
+                                      &logical));
+
+                /* Write data. */
+                gcmkERR_BREAK(
+                    gckOS_WriteMemory(Event->os,
+                                      logical,
+                                      record->info.u.WriteData.data));
+
+                /* Unmap the physical memory. */
+                gcmkERR_BREAK(
+                    gckOS_UnmapPhysical(Event->os,
+                                        logical,
+                                        gcmSIZEOF(gctUINT32)));
+#else
+                /* Write data. */
+                gcmkERR_BREAK(
+                    gckOS_WriteMemory(Event->os,
+                                      (gctPOINTER)
+                                          record->info.u.WriteData.address,
+                                      record->info.u.WriteData.data));
+#endif
+                break;
+
+            case gcvHAL_UNLOCK_VIDEO_MEMORY:
+                node = gcmUINT64_TO_PTR(record->info.u.UnlockVideoMemory.node);
+
+                gcmkTRACE_ZONE(gcvLEVEL_VERBOSE, gcvZONE_EVENT,
+                               "gcvHAL_UNLOCK_VIDEO_MEMORY: 0x%x",
+                               node);
+
+                /* Save node information before it disappears. */
+#if gcdSECURE_USER
+                if (node->VidMem.memory->object.type == gcvOBJ_VIDMEM)
+                {
+                    logical = gcvNULL;
+                    bytes   = 0;
+                }
+                else
+                {
+                    logical = node->Virtual.logical;
+                    bytes   = node->Virtual.bytes;
+                }
+#endif
+
+                /* Unlock. */
+                status = gckVIDMEM_Unlock(
+                    Event->kernel,
+                    node,
+                    record->info.u.UnlockVideoMemory.type,
+                    gcvNULL);
+
+#if gcdSECURE_USER
+                if (gcmIS_SUCCESS(status) && (logical != gcvNULL))
+                {
+                    gcmkVERIFY_OK(gckKERNEL_FlushTranslationCache(
+                        Event->kernel,
+                        cache,
+                        logical,
+                        bytes));
+                }
+#endif
+                break;
+
+            case gcvHAL_SIGNAL:
+                signal = gcmUINT64_TO_PTR(record->info.u.Signal.signal);
+                gcmkTRACE_ZONE(gcvLEVEL_VERBOSE, gcvZONE_EVENT,
+                               "gcvHAL_SIGNAL: 0x%x",
+                               signal);
+
+#ifdef __QNXNTO__
+                if ((record->info.u.Signal.coid == 0)
+                &&  (record->info.u.Signal.rcvid == 0)
+                )
+                {
+                    /* Kernel signal. */
+                    gcmkERR_BREAK(
+                        gckOS_Signal(Event->os,
+                                     signal,
+                                     gcvTRUE));
+                }
+                else
+                {
+                    /* User signal. */
+                    gcmkERR_BREAK(
+                        gckOS_UserSignal(Event->os,
+                                         signal,
+                                         record->info.u.Signal.rcvid,
+                                         record->info.u.Signal.coid));
+                }
+#else
+                /* Set signal. */
+                if (gcmUINT64_TO_PTR(record->info.u.Signal.process) == gcvNULL)
+                {
+                    /* Kernel signal. */
+                    gcmkERR_BREAK(
+                        gckOS_Signal(Event->os,
+                                     signal,
+                                     gcvTRUE));
+                }
+                else
+                {
+                    /* User signal. */
+                    gcmkERR_BREAK(
+                        gckOS_UserSignal(Event->os,
+                                         signal,
+                                         gcmUINT64_TO_PTR(record->info.u.Signal.process)));
+                }
+
+                gcmkASSERT(record->info.u.Signal.auxSignal == 0);
+#endif
+                break;
+
+            case gcvHAL_UNMAP_USER_MEMORY:
+                info = gcmNAME_TO_PTR(record->info.u.UnmapUserMemory.info);
+                gcmkTRACE_ZONE(gcvLEVEL_VERBOSE, gcvZONE_EVENT,
+                               "gcvHAL_UNMAP_USER_MEMORY: 0x%x",
+                               info);
+
+                /* Unmap the user memory. */
+                status = gckOS_UnmapUserMemory(
+                    Event->os,
+                    Event->kernel->core,
+                    gcmUINT64_TO_PTR(record->info.u.UnmapUserMemory.memory),
+                    (gctSIZE_T) record->info.u.UnmapUserMemory.size,
+                    info,
+                    record->info.u.UnmapUserMemory.address);
+
+#if gcdSECURE_USER
+                if (gcmIS_SUCCESS(status))
+                {
+                    gcmkVERIFY_OK(gckKERNEL_FlushTranslationCache(
+                        Event->kernel,
+                        cache,
+                        gcmUINT64_TO_PTR(record->info.u.UnmapUserMemory.memory),
+                        (gctSIZE_T) record->info.u.UnmapUserMemory.size));
+                }
+#endif
+                gcmRELEASE_NAME(record->info.u.UnmapUserMemory.info);
+                break;
+
+            case gcvHAL_TIMESTAMP:
+                gcmkTRACE_ZONE(gcvLEVEL_VERBOSE, gcvZONE_EVENT,
+                               "gcvHAL_TIMESTAMP: %d %d",
+                               record->info.u.TimeStamp.timer,
+                               record->info.u.TimeStamp.request);
+
+                /* Process the timestamp. */
+                switch (record->info.u.TimeStamp.request)
+                {
+                case 0:
+                    status = gckOS_GetTime(&Event->kernel->timers[
+                                           record->info.u.TimeStamp.timer].
+                                           stopTime);
+                    break;
+
+                case 1:
+                    status = gckOS_GetTime(&Event->kernel->timers[
+                                           record->info.u.TimeStamp.timer].
+                                           startTime);
+                    break;
+
+                default:
+                    gcmkTRACE_ZONE_N(
+                        gcvLEVEL_ERROR, gcvZONE_EVENT,
+                        gcmSIZEOF(record->info.u.TimeStamp.request),
+                        "Invalid timestamp request: %d",
+                        record->info.u.TimeStamp.request
+                        );
+
+                    status = gcvSTATUS_INVALID_ARGUMENT;
+                    break;
+                }
+                break;
+
+#if gcdVIRTUAL_COMMAND_BUFFER
+             case gcvHAL_FREE_VIRTUAL_COMMAND_BUFFER:
+                 gcmkVERIFY_OK(
+                     gckKERNEL_DestroyVirtualCommandBuffer(Event->kernel,
+                         (gctSIZE_T) record->info.u.FreeVirtualCommandBuffer.bytes,
+                         gcmNAME_TO_PTR(record->info.u.FreeVirtualCommandBuffer.physical),
+                         gcmUINT64_TO_PTR(record->info.u.FreeVirtualCommandBuffer.logical)
+                         ));
+                 gcmRELEASE_NAME(record->info.u.FreeVirtualCommandBuffer.physical);
+                 break;
+#endif
+
+#if gcdANDROID_NATIVE_FENCE_SYNC
+            case gcvHAL_SYNC_POINT:
+                {
+                    gctSYNC_POINT syncPoint;
+
+                    syncPoint = gcmUINT64_TO_PTR(record->info.u.SyncPoint.syncPoint);
+                    status = gckOS_SignalSyncPoint(Event->os, syncPoint);
+                }
+                break;
+#endif
+
+            case gcvHAL_COMMIT_DONE:
+                break;
+
+            default:
+                /* Invalid argument. */
+                gcmkTRACE_ZONE_N(
+                    gcvLEVEL_ERROR, gcvZONE_EVENT,
+                    gcmSIZEOF(record->info.command),
+                    "Unknown event type: %d",
+                    record->info.command
+                    );
+
+                status = gcvSTATUS_INVALID_ARGUMENT;
+                break;
+            }
+
+            /* Make sure there are no errors generated. */
+            if (gcmIS_ERROR(status))
+            {
+                gcmkTRACE_ZONE_N(
+                    gcvLEVEL_WARNING, gcvZONE_EVENT,
+                    gcmSIZEOF(status),
+                    "Event produced status: %d(%s)",
+                    status, gckOS_DebugStatus2Name(status));
+            }
+
+            /* Free the event. */
+            gcmkVERIFY_OK(gckEVENT_FreeRecord(Event, record));
+
+            /* Advance to next record. */
+            record = recordNext;
+        }
+
+        gcmkTRACE_ZONE(gcvLEVEL_VERBOSE, gcvZONE_EVENT,
+                       "Handled interrupt 0x%x", mask);
+    }
+
+    if (IDs == 0)
+    {
+        gcmkONERROR(_TryToIdleGPU(Event));
+    }
+
+    /* We are out the notify loop. */
+    Event->inNotify = gcvFALSE;
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    if (acquired)
+    {
+        /* Release mutex. */
+        gcmkVERIFY_OK(gckOS_ReleaseMutex(Event->os, Event->eventQueueMutex));
+    }
+
+#if !gcdSMP
+    if (suspended)
+    {
+        /* Resume interrupts. */
+        gcmkVERIFY_OK(gckOS_ResumeInterruptEx(Event->os, Event->kernel->core));
+    }
+#endif
+
+    /* We are out the notify loop. */
+    Event->inNotify = gcvFALSE;
+
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**  gckEVENT_FreeProcess
+**
+**  Free all events owned by a particular process ID.
+**
+**  INPUT:
+**
+**      gckEVENT Event
+**          Pointer to an gckEVENT object.
+**
+**      gctUINT32 ProcessID
+**          Process ID of the process to be freed up.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckEVENT_FreeProcess(
+    IN gckEVENT Event,
+    IN gctUINT32 ProcessID
+    )
+{
+    gctSIZE_T i;
+    gctBOOL acquired = gcvFALSE;
+    gcsEVENT_PTR record, next;
+    gceSTATUS status;
+    gcsEVENT_PTR deleteHead, deleteTail;
+
+    gcmkHEADER_ARG("Event=0x%x ProcessID=%d", Event, ProcessID);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Event, gcvOBJ_EVENT);
+
+    /* Walk through all queues. */
+    for (i = 0; i < gcmCOUNTOF(Event->queues); ++i)
+    {
+        if (Event->queues[i].head != gcvNULL)
+        {
+            /* Grab the event queue mutex. */
+            gcmkONERROR(gckOS_AcquireMutex(Event->os,
+                                           Event->eventQueueMutex,
+                                           gcvINFINITE));
+            acquired = gcvTRUE;
+
+            /* Grab the mutex head. */
+            record                = Event->queues[i].head;
+            Event->queues[i].head = gcvNULL;
+            Event->queues[i].tail = gcvNULL;
+            deleteHead            = gcvNULL;
+            deleteTail            = gcvNULL;
+
+            while (record != gcvNULL)
+            {
+                next = record->next;
+                if (record->processID == ProcessID)
+                {
+                    if (deleteHead == gcvNULL)
+                    {
+                        deleteHead = record;
+                    }
+                    else
+                    {
+                        deleteTail->next = record;
+                    }
+
+                    deleteTail = record;
+                }
+                else
+                {
+                    if (Event->queues[i].head == gcvNULL)
+                    {
+                        Event->queues[i].head = record;
+                    }
+                    else
+                    {
+                        Event->queues[i].tail->next = record;
+                    }
+
+                    Event->queues[i].tail = record;
+                }
+
+                record->next = gcvNULL;
+                record = next;
+            }
+
+            /* Release the mutex queue. */
+            gcmkONERROR(gckOS_ReleaseMutex(Event->os, Event->eventQueueMutex));
+            acquired = gcvFALSE;
+
+            /* Loop through the entire list of events. */
+            for (record = deleteHead; record != gcvNULL; record = next)
+            {
+                /* Get the next event record. */
+                next = record->next;
+
+                /* Free the event record. */
+                gcmkONERROR(gckEVENT_FreeRecord(Event, record));
+            }
+        }
+    }
+
+    gcmkONERROR(_TryToIdleGPU(Event));
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Release the event queue mutex. */
+    if (acquired)
+    {
+        gcmkVERIFY_OK(gckOS_ReleaseMutex(Event->os, Event->eventQueueMutex));
+    }
+
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**  gckEVENT_Stop
+**
+**  Stop the hardware using the End event mechanism.
+**
+**  INPUT:
+**
+**      gckEVENT Event
+**          Pointer to an gckEVENT object.
+**
+**      gctUINT32 ProcessID
+**          Process ID Logical belongs.
+**
+**      gctPHYS_ADDR Handle
+**          Physical address handle.  If gcvNULL it is video memory.
+**
+**      gctPOINTER Logical
+**          Logical address to flush.
+**
+**      gctSIGNAL Signal
+**          Pointer to the signal to trigger.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckEVENT_Stop(
+    IN gckEVENT Event,
+    IN gctUINT32 ProcessID,
+    IN gctPHYS_ADDR Handle,
+    IN gctPOINTER Logical,
+    IN gctSIGNAL Signal,
+       IN OUT gctSIZE_T * waitSize
+    )
+{
+    gceSTATUS status;
+   /* gctSIZE_T waitSize;*/
+    gcsEVENT_PTR record;
+    gctUINT8 id = 0xFF;
+
+    gcmkHEADER_ARG("Event=0x%x ProcessID=%u Handle=0x%x Logical=0x%x "
+                   "Signal=0x%x",
+                   Event, ProcessID, Handle, Logical, Signal);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Event, gcvOBJ_EVENT);
+
+    /* Submit the current event queue. */
+    gcmkONERROR(gckEVENT_Submit(Event, gcvTRUE, gcvFALSE));
+
+    gcmkONERROR(gckEVENT_GetEvent(Event, gcvTRUE, &id, gcvKERNEL_PIXEL));
+
+    /* Allocate a record. */
+    gcmkONERROR(gckEVENT_AllocateRecord(Event, gcvTRUE, &record));
+
+    /* Initialize the record. */
+    record->next = gcvNULL;
+    record->processID               = ProcessID;
+    record->info.command            = gcvHAL_SIGNAL;
+    record->info.u.Signal.signal    = gcmPTR_TO_UINT64(Signal);
+#ifdef __QNXNTO__
+    record->info.u.Signal.coid      = 0;
+    record->info.u.Signal.rcvid     = 0;
+#endif
+    record->info.u.Signal.auxSignal = 0;
+    record->info.u.Signal.process   = 0;
+
+    /* Append the record. */
+    Event->queues[id].head      = record;
+
+    /* Replace last WAIT with END. */
+    gcmkONERROR(gckHARDWARE_End(
+        Event->kernel->hardware, Logical, waitSize
+        ));
+
+#if gcdNONPAGED_MEMORY_CACHEABLE
+    /* Flush the cache for the END. */
+    gcmkONERROR(gckOS_CacheClean(
+        Event->os,
+        ProcessID,
+        gcvNULL,
+        Handle,
+        Logical,
+        *waitSize
+        ));
+#endif
+
+    /* Wait for the signal. */
+    gcmkONERROR(gckOS_WaitSignal(Event->os, Signal, gcvINFINITE));
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+static void
+_PrintRecord(
+    gcsEVENT_PTR record
+    )
+{
+    switch (record->info.command)
+    {
+    case gcvHAL_FREE_NON_PAGED_MEMORY:
+        gcmkPRINT("      gcvHAL_FREE_NON_PAGED_MEMORY");
+            break;
+
+    case gcvHAL_FREE_CONTIGUOUS_MEMORY:
+        gcmkPRINT("      gcvHAL_FREE_CONTIGUOUS_MEMORY");
+            break;
+
+    case gcvHAL_FREE_VIDEO_MEMORY:
+        gcmkPRINT("      gcvHAL_FREE_VIDEO_MEMORY");
+            break;
+
+    case gcvHAL_WRITE_DATA:
+        gcmkPRINT("      gcvHAL_WRITE_DATA");
+       break;
+
+    case gcvHAL_UNLOCK_VIDEO_MEMORY:
+        gcmkPRINT("      gcvHAL_UNLOCK_VIDEO_MEMORY");
+        break;
+
+    case gcvHAL_SIGNAL:
+        gcmkPRINT("      gcvHAL_SIGNAL process=%d signal=0x%x",
+                  record->info.u.Signal.process,
+                  record->info.u.Signal.signal);
+        break;
+
+    case gcvHAL_UNMAP_USER_MEMORY:
+        gcmkPRINT("      gcvHAL_UNMAP_USER_MEMORY");
+       break;
+
+    case gcvHAL_TIMESTAMP:
+        gcmkPRINT("      gcvHAL_TIMESTAMP");
+        break;
+
+    case gcvHAL_COMMIT_DONE:
+        gcmkPRINT("      gcvHAL_COMMIT_DONE");
+        break;
+
+    case gcvHAL_FREE_VIRTUAL_COMMAND_BUFFER:
+        gcmkPRINT("      gcvHAL_FREE_VIRTUAL_COMMAND_BUFFER logical=0x%08x",
+                  record->info.u.FreeVirtualCommandBuffer.logical);
+        break;
+
+    default:
+        gcmkPRINT("      Illegal Event %d", record->info.command);
+        break;
+    }
+}
+
+/*******************************************************************************
+** gckEVENT_Dump
+**
+** Dump record in event queue when stuck happens.
+** No protection for the event queue.
+**/
+gceSTATUS
+gckEVENT_Dump(
+    IN gckEVENT Event
+    )
+{
+    gcsEVENT_QUEUE_PTR queueHead = Event->queueHead;
+    gcsEVENT_QUEUE_PTR queue;
+    gcsEVENT_PTR record = gcvNULL;
+    gctINT i;
+
+    gcmkHEADER_ARG("Event=0x%x", Event);
+
+    gcmkPRINT("**************************\n");
+    gcmkPRINT("***  EVENT STATE DUMP  ***\n");
+    gcmkPRINT("**************************\n");
+
+
+    gcmkPRINT("  Unsumbitted Event:");
+    while(queueHead)
+    {
+        queue = queueHead;
+        record = queueHead->head;
+
+        gcmkPRINT("    [%x]:", queue);
+        while(record)
+        {
+            _PrintRecord(record);
+            record = record->next;
+        }
+
+        if (queueHead == Event->queueTail)
+        {
+            queueHead = gcvNULL;
+        }
+        else
+        {
+            queueHead = queueHead->next;
+        }
+    }
+
+    gcmkPRINT("  Untriggered Event:");
+    for (i = 0; i < 30; i++)
+    {
+        queue = &Event->queues[i];
+        record = queue->head;
+
+        gcmkPRINT("    [%d]:", i);
+        while(record)
+        {
+            _PrintRecord(record);
+            record = record->next;
+        }
+    }
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+gceSTATUS gckEVENT_WaitEmpty(gckEVENT Event)
+{
+    gctBOOL isEmpty;
+
+    while (Event->inNotify || (gcmIS_SUCCESS(gckEVENT_IsEmpty(Event, &isEmpty)) && !isEmpty)) ;
+
+    return gcvSTATUS_OK;
+}
diff --git a/drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_heap.c b/drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_heap.c
new file mode 100644 (file)
index 0000000..a5affb9
--- /dev/null
@@ -0,0 +1,859 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+/**
+**  @file
+**  gckHEAP object for kernel HAL layer.  The heap implemented here is an arena-
+**  based memory allocation.  An arena-based memory heap allocates data quickly
+**  from specified arenas and reduces memory fragmentation.
+**
+*/
+#include "gc_hal_kernel_precomp.h"
+
+#define _GC_OBJ_ZONE            gcvZONE_HEAP
+
+/*******************************************************************************
+***** Structures ***************************************************************
+*******************************************************************************/
+
+#define gcdIN_USE               ((gcskNODE_PTR) ~0)
+
+typedef struct _gcskNODE *      gcskNODE_PTR;
+typedef struct _gcskNODE
+{
+    /* Number of byets in node. */
+    gctSIZE_T                   bytes;
+
+    /* Pointer to next free node, or gcvNULL to mark the node as freed, or
+    ** gcdIN_USE to mark the node as used. */
+    gcskNODE_PTR                next;
+
+#if gcmIS_DEBUG(gcdDEBUG_CODE)
+    /* Time stamp of allocation. */
+    gctUINT64                   timeStamp;
+#endif
+}
+gcskNODE;
+
+typedef struct _gcskHEAP    *   gcskHEAP_PTR;
+typedef struct _gcskHEAP
+{
+    /* Linked list. */
+    gcskHEAP_PTR                next;
+    gcskHEAP_PTR                prev;
+
+    /* Heap size. */
+    gctSIZE_T                   size;
+
+    /* Free list. */
+    gcskNODE_PTR                freeList;
+}
+gcskHEAP;
+
+struct _gckHEAP
+{
+    /* Object. */
+    gcsOBJECT                   object;
+
+    /* Pointer to a gckOS object. */
+    gckOS                       os;
+
+    /* Locking mutex. */
+    gctPOINTER                  mutex;
+
+    /* Allocation parameters. */
+    gctSIZE_T                   allocationSize;
+
+    /* Heap list. */
+    gcskHEAP_PTR                heap;
+#if gcmIS_DEBUG(gcdDEBUG_CODE)
+    gctUINT64                   timeStamp;
+#endif
+
+#if VIVANTE_PROFILER || gcmIS_DEBUG(gcdDEBUG_CODE)
+    /* Profile information. */
+    gctUINT32                   allocCount;
+    gctUINT64                   allocBytes;
+    gctUINT64                   allocBytesMax;
+    gctUINT64                   allocBytesTotal;
+    gctUINT32                   heapCount;
+    gctUINT32                   heapCountMax;
+    gctUINT64                   heapMemory;
+    gctUINT64                   heapMemoryMax;
+#endif
+};
+
+/*******************************************************************************
+***** Static Support Functions *************************************************
+*******************************************************************************/
+
+#if gcmIS_DEBUG(gcdDEBUG_CODE)
+static gctSIZE_T
+_DumpHeap(
+    IN gcskHEAP_PTR Heap
+    )
+{
+    gctPOINTER p;
+    gctSIZE_T leaked = 0;
+
+    /* Start at first node. */
+    for (p = Heap + 1;;)
+    {
+        /* Convert the pointer. */
+        gcskNODE_PTR node = (gcskNODE_PTR) p;
+
+        /* Check if this is a used node. */
+        if (node->next == gcdIN_USE)
+        {
+            /* Print the leaking node. */
+            gcmkTRACE_ZONE(gcvLEVEL_WARNING, gcvZONE_HEAP,
+                           "Detected leaking: node=0x%x bytes=%lu timeStamp=%llu "
+                           "(%08X %c%c%c%c)",
+                           node, node->bytes, node->timeStamp,
+                           ((gctUINT32_PTR) (node + 1))[0],
+                           gcmPRINTABLE(((gctUINT8_PTR) (node + 1))[0]),
+                           gcmPRINTABLE(((gctUINT8_PTR) (node + 1))[1]),
+                           gcmPRINTABLE(((gctUINT8_PTR) (node + 1))[2]),
+                           gcmPRINTABLE(((gctUINT8_PTR) (node + 1))[3]));
+
+            /* Add leaking byte count. */
+            leaked += node->bytes;
+        }
+
+        /* Test for end of heap. */
+        if (node->bytes == 0)
+        {
+            break;
+        }
+
+        else
+        {
+            /* Move to next node. */
+            p = (gctUINT8_PTR) node + node->bytes;
+        }
+    }
+
+    /* Return the number of leaked bytes. */
+    return leaked;
+}
+#endif
+
+static gceSTATUS
+_CompactKernelHeap(
+    IN gckHEAP Heap
+    )
+{
+    gcskHEAP_PTR heap, next;
+    gctPOINTER p;
+    gcskHEAP_PTR freeList = gcvNULL;
+
+    gcmkHEADER_ARG("Heap=0x%x", Heap);
+
+    /* Walk all the heaps. */
+    for (heap = Heap->heap; heap != gcvNULL; heap = next)
+    {
+        gcskNODE_PTR lastFree = gcvNULL;
+
+        /* Zero out the free list. */
+        heap->freeList = gcvNULL;
+
+        /* Start at the first node. */
+        for (p = (gctUINT8_PTR) (heap + 1);;)
+        {
+            /* Convert the pointer. */
+            gcskNODE_PTR node = (gcskNODE_PTR) p;
+
+            gcmkASSERT(p <= (gctPOINTER) ((gctUINT8_PTR) (heap + 1) + heap->size));
+
+            /* Test if this node not used. */
+            if (node->next != gcdIN_USE)
+            {
+                /* Test if this is the end of the heap. */
+                if (node->bytes == 0)
+                {
+                    break;
+                }
+
+                /* Test of this is the first free node. */
+                else if (lastFree == gcvNULL)
+                {
+                    /* Initialzie the free list. */
+                    heap->freeList = node;
+                    lastFree       = node;
+                }
+
+                else
+                {
+                    /* Test if this free node is contiguous with the previous
+                    ** free node. */
+                    if ((gctUINT8_PTR) lastFree + lastFree->bytes == p)
+                    {
+                        /* Just increase the size of the previous free node. */
+                        lastFree->bytes += node->bytes;
+                    }
+                    else
+                    {
+                        /* Add to linked list. */
+                        lastFree->next = node;
+                        lastFree       = node;
+                    }
+                }
+            }
+
+            /* Move to next node. */
+            p = (gctUINT8_PTR) node + node->bytes;
+        }
+
+        /* Mark the end of the chain. */
+        if (lastFree != gcvNULL)
+        {
+            lastFree->next = gcvNULL;
+        }
+
+        /* Get next heap. */
+        next = heap->next;
+
+        /* Check if the entire heap is free. */
+        if ((heap->freeList != gcvNULL)
+        &&  (heap->freeList->bytes == heap->size - gcmSIZEOF(gcskNODE))
+        )
+        {
+            /* Remove the heap from the linked list. */
+            if (heap->prev == gcvNULL)
+            {
+                Heap->heap = next;
+            }
+            else
+            {
+                heap->prev->next = next;
+            }
+
+            if (heap->next != gcvNULL)
+            {
+                heap->next->prev = heap->prev;
+            }
+
+#if VIVANTE_PROFILER || gcmIS_DEBUG(gcdDEBUG_CODE)
+            /* Update profiling. */
+            Heap->heapCount  -= 1;
+            Heap->heapMemory -= heap->size + gcmSIZEOF(gcskHEAP);
+#endif
+
+            /* Add this heap to the list of heaps that need to be freed. */
+            heap->next = freeList;
+            freeList   = heap;
+        }
+    }
+
+    if (freeList != gcvNULL)
+    {
+        /* Release the mutex, remove any chance for a dead lock. */
+        gcmkVERIFY_OK(
+            gckOS_ReleaseMutex(Heap->os, Heap->mutex));
+
+        /* Free all heaps in the free list. */
+        for (heap = freeList; heap != gcvNULL; heap = next)
+        {
+            /* Get pointer to the next heap. */
+            next = heap->next;
+
+            /* Free the heap. */
+            gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HEAP,
+                           "Freeing heap 0x%x (%lu bytes)",
+                           heap, heap->size + gcmSIZEOF(gcskHEAP));
+            gcmkVERIFY_OK(gckOS_FreeMemory(Heap->os, heap));
+        }
+
+        /* Acquire the mutex again. */
+        gcmkVERIFY_OK(
+            gckOS_AcquireMutex(Heap->os, Heap->mutex, gcvINFINITE));
+    }
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+***** gckHEAP API Code *********************************************************
+*******************************************************************************/
+
+/*******************************************************************************
+**
+**  gckHEAP_Construct
+**
+**  Construct a new gckHEAP object.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to a gckOS object.
+**
+**      gctSIZE_T AllocationSize
+**          Minimum size per arena.
+**
+**  OUTPUT:
+**
+**      gckHEAP * Heap
+**          Pointer to a variable that will hold the pointer to the gckHEAP
+**          object.
+*/
+gceSTATUS
+gckHEAP_Construct(
+    IN gckOS Os,
+    IN gctSIZE_T AllocationSize,
+    OUT gckHEAP * Heap
+    )
+{
+    gceSTATUS status;
+    gckHEAP heap = gcvNULL;
+    gctPOINTER pointer = gcvNULL;
+
+    gcmkHEADER_ARG("Os=0x%x AllocationSize=%lu", Os, AllocationSize);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Heap != gcvNULL);
+
+    /* Allocate the gckHEAP object. */
+    gcmkONERROR(gckOS_AllocateMemory(Os,
+                                     gcmSIZEOF(struct _gckHEAP),
+                                     &pointer));
+
+    heap = pointer;
+
+    /* Initialize the gckHEAP object. */
+    heap->object.type    = gcvOBJ_HEAP;
+    heap->os             = Os;
+    heap->allocationSize = AllocationSize;
+    heap->heap           = gcvNULL;
+#if gcmIS_DEBUG(gcdDEBUG_CODE)
+    heap->timeStamp      = 0;
+#endif
+
+#if VIVANTE_PROFILER || gcmIS_DEBUG(gcdDEBUG_CODE)
+    /* Zero the counters. */
+    heap->allocCount      = 0;
+    heap->allocBytes      = 0;
+    heap->allocBytesMax   = 0;
+    heap->allocBytesTotal = 0;
+    heap->heapCount       = 0;
+    heap->heapCountMax    = 0;
+    heap->heapMemory      = 0;
+    heap->heapMemoryMax   = 0;
+#endif
+
+    /* Create the mutex. */
+    gcmkONERROR(gckOS_CreateMutex(Os, &heap->mutex));
+
+    /* Return the pointer to the gckHEAP object. */
+    *Heap = heap;
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Heap=0x%x", *Heap);
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Roll back. */
+    if (heap != gcvNULL)
+    {
+        /* Free the heap structure. */
+        gcmkVERIFY_OK(gckOS_FreeMemory(Os, heap));
+    }
+
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckHEAP_Destroy
+**
+**  Destroy a gckHEAP object.
+**
+**  INPUT:
+**
+**      gckHEAP Heap
+**          Pointer to a gckHEAP object to destroy.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckHEAP_Destroy(
+    IN gckHEAP Heap
+    )
+{
+    gcskHEAP_PTR heap;
+#if gcmIS_DEBUG(gcdDEBUG_CODE)
+    gctSIZE_T leaked = 0;
+#endif
+
+    gcmkHEADER_ARG("Heap=0x%x", Heap);
+
+    for (heap = Heap->heap; heap != gcvNULL; heap = Heap->heap)
+    {
+        /* Unlink heap from linked list. */
+        Heap->heap = heap->next;
+
+#if gcmIS_DEBUG(gcdDEBUG_CODE)
+        /* Check for leaked memory. */
+        leaked += _DumpHeap(heap);
+#endif
+
+        /* Free the heap. */
+        gcmkVERIFY_OK(gckOS_FreeMemory(Heap->os, heap));
+    }
+
+    /* Free the mutex. */
+    gcmkVERIFY_OK(gckOS_DeleteMutex(Heap->os, Heap->mutex));
+
+    /* Free the heap structure. */
+    gcmkVERIFY_OK(gckOS_FreeMemory(Heap->os, Heap));
+
+    /* Success. */
+#if gcmIS_DEBUG(gcdDEBUG_CODE)
+    gcmkFOOTER_ARG("leaked=%lu", leaked);
+#else
+    gcmkFOOTER_NO();
+#endif
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckHEAP_Allocate
+**
+**  Allocate data from the heap.
+**
+**  INPUT:
+**
+**      gckHEAP Heap
+**          Pointer to a gckHEAP object.
+**
+**      IN gctSIZE_T Bytes
+**          Number of byte to allocate.
+**
+**  OUTPUT:
+**
+**      gctPOINTER * Memory
+**          Pointer to a variable that will hold the address of the allocated
+**          memory.
+*/
+gceSTATUS
+gckHEAP_Allocate(
+    IN gckHEAP Heap,
+    IN gctSIZE_T Bytes,
+    OUT gctPOINTER * Memory
+    )
+{
+    gctBOOL acquired = gcvFALSE;
+    gcskHEAP_PTR heap;
+    gceSTATUS status;
+    gctSIZE_T bytes;
+    gcskNODE_PTR node, used, prevFree = gcvNULL;
+    gctPOINTER memory = gcvNULL;
+
+    gcmkHEADER_ARG("Heap=0x%x Bytes=%lu", Heap, Bytes);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Heap, gcvOBJ_HEAP);
+    gcmkVERIFY_ARGUMENT(Bytes > 0);
+    gcmkVERIFY_ARGUMENT(Memory != gcvNULL);
+
+    /* Determine number of bytes required for a node. */
+    bytes = gcmALIGN(Bytes + gcmSIZEOF(gcskNODE), 8);
+
+    /* Acquire the mutex. */
+    gcmkONERROR(
+        gckOS_AcquireMutex(Heap->os, Heap->mutex, gcvINFINITE));
+
+    acquired = gcvTRUE;
+
+    /* Check if this allocation is bigger than the default allocation size. */
+    if (bytes > Heap->allocationSize - gcmSIZEOF(gcskHEAP) - gcmSIZEOF(gcskNODE))
+    {
+        /* Adjust allocation size. */
+        Heap->allocationSize = bytes * 2;
+    }
+
+    else if (Heap->heap != gcvNULL)
+    {
+        gctINT i;
+
+        /* 2 retries, since we might need to compact. */
+        for (i = 0; i < 2; ++i)
+        {
+            /* Walk all the heaps. */
+            for (heap = Heap->heap; heap != gcvNULL; heap = heap->next)
+            {
+                /* Check if this heap has enough bytes to hold the request. */
+                if (bytes <= heap->size - gcmSIZEOF(gcskNODE))
+                {
+                    prevFree = gcvNULL;
+
+                    /* Walk the chain of free nodes. */
+                    for (node = heap->freeList;
+                         node != gcvNULL;
+                         node = node->next
+                    )
+                    {
+                        gcmkASSERT(node->next != gcdIN_USE);
+
+                        /* Check if this free node has enough bytes. */
+                        if (node->bytes >= bytes)
+                        {
+                            /* Use the node. */
+                            goto UseNode;
+                        }
+
+                        /* Save current free node for linked list management. */
+                        prevFree = node;
+                    }
+                }
+            }
+
+            if (i == 0)
+            {
+                /* Compact the heap. */
+                gcmkVERIFY_OK(_CompactKernelHeap(Heap));
+
+#if gcmIS_DEBUG(gcdDEBUG_CODE)
+                gcmkTRACE_ZONE(gcvLEVEL_VERBOSE, gcvZONE_HEAP,
+                               "===== KERNEL HEAP =====");
+                gcmkTRACE_ZONE(gcvLEVEL_VERBOSE, gcvZONE_HEAP,
+                               "Number of allocations           : %12u",
+                               Heap->allocCount);
+                gcmkTRACE_ZONE(gcvLEVEL_VERBOSE, gcvZONE_HEAP,
+                               "Number of bytes allocated       : %12llu",
+                               Heap->allocBytes);
+                gcmkTRACE_ZONE(gcvLEVEL_VERBOSE, gcvZONE_HEAP,
+                               "Maximum allocation size         : %12llu",
+                               Heap->allocBytesMax);
+                gcmkTRACE_ZONE(gcvLEVEL_VERBOSE, gcvZONE_HEAP,
+                               "Total number of bytes allocated : %12llu",
+                               Heap->allocBytesTotal);
+                gcmkTRACE_ZONE(gcvLEVEL_VERBOSE, gcvZONE_HEAP,
+                               "Number of heaps                 : %12u",
+                               Heap->heapCount);
+                gcmkTRACE_ZONE(gcvLEVEL_VERBOSE, gcvZONE_HEAP,
+                               "Heap memory in bytes            : %12llu",
+                               Heap->heapMemory);
+                gcmkTRACE_ZONE(gcvLEVEL_VERBOSE, gcvZONE_HEAP,
+                               "Maximum number of heaps         : %12u",
+                               Heap->heapCountMax);
+                gcmkTRACE_ZONE(gcvLEVEL_VERBOSE, gcvZONE_HEAP,
+                               "Maximum heap memory in bytes    : %12llu",
+                               Heap->heapMemoryMax);
+#endif
+            }
+        }
+    }
+
+    /* Release the mutex. */
+    gcmkONERROR(
+        gckOS_ReleaseMutex(Heap->os, Heap->mutex));
+
+    acquired = gcvFALSE;
+
+    /* Allocate a new heap. */
+    gcmkONERROR(
+        gckOS_AllocateMemory(Heap->os,
+                             Heap->allocationSize,
+                             &memory));
+
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HEAP,
+                   "Allocated heap 0x%x (%lu bytes)",
+                   memory, Heap->allocationSize);
+
+    /* Acquire the mutex. */
+    gcmkONERROR(
+        gckOS_AcquireMutex(Heap->os, Heap->mutex, gcvINFINITE));
+
+    acquired = gcvTRUE;
+
+    /* Use the allocated memory as the heap. */
+    heap = (gcskHEAP_PTR) memory;
+
+    /* Insert this heap to the head of the chain. */
+    heap->next = Heap->heap;
+    heap->prev = gcvNULL;
+    heap->size = Heap->allocationSize - gcmSIZEOF(gcskHEAP);
+
+    if (heap->next != gcvNULL)
+    {
+        heap->next->prev = heap;
+    }
+    Heap->heap = heap;
+
+    /* Mark the end of the heap. */
+    node = (gcskNODE_PTR) ( (gctUINT8_PTR) heap
+                          + Heap->allocationSize
+                          - gcmSIZEOF(gcskNODE)
+                          );
+    node->bytes = 0;
+    node->next  = gcvNULL;
+
+    /* Create a free list. */
+    node           = (gcskNODE_PTR) (heap + 1);
+    heap->freeList = node;
+
+    /* Initialize the free list. */
+    node->bytes = heap->size - gcmSIZEOF(gcskNODE);
+    node->next  = gcvNULL;
+
+    /* No previous free. */
+    prevFree = gcvNULL;
+
+#if VIVANTE_PROFILER || gcmIS_DEBUG(gcdDEBUG_CODE)
+    /* Update profiling. */
+    Heap->heapCount  += 1;
+    Heap->heapMemory += Heap->allocationSize;
+
+    if (Heap->heapCount > Heap->heapCountMax)
+    {
+        Heap->heapCountMax = Heap->heapCount;
+    }
+    if (Heap->heapMemory > Heap->heapMemoryMax)
+    {
+        Heap->heapMemoryMax = Heap->heapMemory;
+    }
+#endif
+
+UseNode:
+    /* Verify some stuff. */
+    gcmkASSERT(heap != gcvNULL);
+    gcmkASSERT(node != gcvNULL);
+    gcmkASSERT(node->bytes >= bytes);
+
+    if (heap->prev != gcvNULL)
+    {
+        /* Unlink the heap from the linked list. */
+        heap->prev->next = heap->next;
+        if (heap->next != gcvNULL)
+        {
+            heap->next->prev = heap->prev;
+        }
+
+        /* Move the heap to the front of the list. */
+        heap->next       = Heap->heap;
+        heap->prev       = gcvNULL;
+        Heap->heap       = heap;
+        heap->next->prev = heap;
+    }
+
+    /* Check if there is enough free space left after usage for another free
+    ** node. */
+    if (node->bytes - bytes >= gcmSIZEOF(gcskNODE))
+    {
+        /* Allocated used space from the back of the free list. */
+        used = (gcskNODE_PTR) ((gctUINT8_PTR) node + node->bytes - bytes);
+
+        /* Adjust the number of free bytes. */
+        node->bytes -= bytes;
+        gcmkASSERT(node->bytes >= gcmSIZEOF(gcskNODE));
+    }
+    else
+    {
+        /* Remove this free list from the chain. */
+        if (prevFree == gcvNULL)
+        {
+            heap->freeList = node->next;
+        }
+        else
+        {
+            prevFree->next = node->next;
+        }
+
+        /* Consume the entire free node. */
+        used  = (gcskNODE_PTR) node;
+        bytes = node->bytes;
+    }
+
+    /* Mark node as used. */
+    used->bytes     = bytes;
+    used->next      = gcdIN_USE;
+#if gcmIS_DEBUG(gcdDEBUG_CODE)
+    used->timeStamp = ++Heap->timeStamp;
+#endif
+
+#if VIVANTE_PROFILER || gcmIS_DEBUG(gcdDEBUG_CODE)
+    /* Update profile counters. */
+    Heap->allocCount      += 1;
+    Heap->allocBytes      += bytes;
+    Heap->allocBytesMax    = gcmMAX(Heap->allocBytes, Heap->allocBytesMax);
+    Heap->allocBytesTotal += bytes;
+#endif
+
+    /* Release the mutex. */
+    gcmkVERIFY_OK(
+        gckOS_ReleaseMutex(Heap->os, Heap->mutex));
+
+    /* Return pointer to memory. */
+    *Memory = used + 1;
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Memory=0x%x", *Memory);
+    return gcvSTATUS_OK;
+
+OnError:
+    if (acquired)
+    {
+        /* Release the mutex. */
+        gcmkVERIFY_OK(
+            gckOS_ReleaseMutex(Heap->os, Heap->mutex));
+    }
+
+    if (memory != gcvNULL)
+    {
+        /* Free the heap memory. */
+        gckOS_FreeMemory(Heap->os, memory);
+    }
+
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckHEAP_Free
+**
+**  Free allocated memory from the heap.
+**
+**  INPUT:
+**
+**      gckHEAP Heap
+**          Pointer to a gckHEAP object.
+**
+**      IN gctPOINTER Memory
+**          Pointer to memory to free.
+**
+**  OUTPUT:
+**
+**      NOTHING.
+*/
+gceSTATUS
+gckHEAP_Free(
+    IN gckHEAP Heap,
+    IN gctPOINTER Memory
+    )
+{
+    gcskNODE_PTR node;
+    gceSTATUS status;
+
+    gcmkHEADER_ARG("Heap=0x%x Memory=0x%x", Heap, Memory);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Heap, gcvOBJ_HEAP);
+    gcmkVERIFY_ARGUMENT(Memory != gcvNULL);
+
+    /* Acquire the mutex. */
+    gcmkONERROR(
+        gckOS_AcquireMutex(Heap->os, Heap->mutex, gcvINFINITE));
+
+    /* Pointer to structure. */
+    node = (gcskNODE_PTR) Memory - 1;
+
+    /* Mark the node as freed. */
+    node->next = gcvNULL;
+
+#if VIVANTE_PROFILER || gcmIS_DEBUG(gcdDEBUG_CODE)
+    /* Update profile counters. */
+    Heap->allocBytes -= node->bytes;
+#endif
+
+    /* Release the mutex. */
+    gcmkVERIFY_OK(
+        gckOS_ReleaseMutex(Heap->os, Heap->mutex));
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+#if VIVANTE_PROFILER
+gceSTATUS
+gckHEAP_ProfileStart(
+    IN gckHEAP Heap
+    )
+{
+    gcmkHEADER_ARG("Heap=0x%x", Heap);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Heap, gcvOBJ_HEAP);
+
+    /* Zero the counters. */
+    Heap->allocCount      = 0;
+    Heap->allocBytes      = 0;
+    Heap->allocBytesMax   = 0;
+    Heap->allocBytesTotal = 0;
+    Heap->heapCount       = 0;
+    Heap->heapCountMax    = 0;
+    Heap->heapMemory      = 0;
+    Heap->heapMemoryMax   = 0;
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+gceSTATUS
+gckHEAP_ProfileEnd(
+    IN gckHEAP Heap,
+    IN gctCONST_STRING Title
+    )
+{
+    gcmkHEADER_ARG("Heap=0x%x Title=0x%x", Heap, Title);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Heap, gcvOBJ_HEAP);
+    gcmkVERIFY_ARGUMENT(Title != gcvNULL);
+
+    gcmkPRINT("");
+    gcmkPRINT("=====[ HEAP - %s ]=====", Title);
+    gcmkPRINT("Number of allocations           : %12u",   Heap->allocCount);
+    gcmkPRINT("Number of bytes allocated       : %12llu", Heap->allocBytes);
+    gcmkPRINT("Maximum allocation size         : %12llu", Heap->allocBytesMax);
+    gcmkPRINT("Total number of bytes allocated : %12llu", Heap->allocBytesTotal);
+    gcmkPRINT("Number of heaps                 : %12u",   Heap->heapCount);
+    gcmkPRINT("Heap memory in bytes            : %12llu", Heap->heapMemory);
+    gcmkPRINT("Maximum number of heaps         : %12u",   Heap->heapCountMax);
+    gcmkPRINT("Maximum heap memory in bytes    : %12llu", Heap->heapMemoryMax);
+    gcmkPRINT("==============================================");
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+#endif /* VIVANTE_PROFILER */
+
+/*******************************************************************************
+***** Test Code ****************************************************************
+*******************************************************************************/
+
diff --git a/drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_interrupt_vg.c b/drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_interrupt_vg.c
new file mode 100644 (file)
index 0000000..50bc63e
--- /dev/null
@@ -0,0 +1,877 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#include "gc_hal_kernel_precomp.h"
+
+#if gcdENABLE_VG
+
+/******************************************************************************\
+*********************** Support Functions and Definitions **********************
+\******************************************************************************/
+
+/* Interruot statistics will be accumulated if not zero. */
+#define gcmENABLE_INTERRUPT_STATISTICS 0
+
+#define _GC_OBJ_ZONE    gcvZONE_INTERRUPT
+
+/* Object structure. */
+struct _gckVGINTERRUPT
+{
+    /* Object. */
+    gcsOBJECT                   object;
+
+    /* gckVGKERNEL pointer. */
+    gckVGKERNEL                 kernel;
+
+    /* gckOS pointer. */
+    gckOS                       os;
+
+    /* Interrupt handlers. */
+    gctINTERRUPT_HANDLER        handlers[32];
+
+    /* Main interrupt handler thread. */
+    gctTHREAD                   handler;
+    gctBOOL                     terminate;
+
+    /* Interrupt FIFO. */
+    gctSEMAPHORE                fifoValid;
+    gctUINT32                   fifo[256];
+    gctUINT                     fifoItems;
+    gctUINT8                    head;
+    gctUINT8                    tail;
+
+    /* Interrupt statistics. */
+#if gcmENABLE_INTERRUPT_STATISTICS
+    gctUINT                     maxFifoItems;
+    gctUINT                     fifoOverflow;
+    gctUINT                     maxSimultaneous;
+    gctUINT                     multipleCount;
+#endif
+};
+
+
+/*******************************************************************************
+**
+**  _ProcessInterrupt
+**
+**  The interrupt processor.
+**
+**  INPUT:
+**
+**      ThreadParameter
+**          Pointer to the gckVGINTERRUPT object.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+
+#if gcmENABLE_INTERRUPT_STATISTICS
+static void
+_ProcessInterrupt(
+    gckVGINTERRUPT Interrupt,
+    gctUINT_PTR TriggeredCount
+    )
+#else
+static void
+_ProcessInterrupt(
+    gckVGINTERRUPT Interrupt
+    )
+#endif
+{
+    gceSTATUS status;
+    gctUINT32 triggered;
+    gctUINT i;
+
+    /* Advance to the next entry. */
+    Interrupt->tail      += 1;
+    Interrupt->fifoItems -= 1;
+
+    /* Get the interrupt value. */
+    triggered = Interrupt->fifo[Interrupt->tail];
+    gcmkASSERT(triggered != 0);
+
+    gcmkTRACE_ZONE(
+        gcvLEVEL_VERBOSE, gcvZONE_COMMAND,
+        "%s: triggered=0x%08X\n",
+        __FUNCTION__,
+        triggered
+        );
+
+    /* Walk through all possible interrupts. */
+    for (i = 0; i < gcmSIZEOF(Interrupt->handlers); i += 1)
+    {
+        /* Test if interrupt happened. */
+        if ((triggered & 1) == 1)
+        {
+#if gcmENABLE_INTERRUPT_STATISTICS
+            if (TriggeredCount != gcvNULL)
+            {
+                (* TriggeredCount) += 1;
+            }
+#endif
+
+            /* Make sure we have valid handler. */
+            if (Interrupt->handlers[i] == gcvNULL)
+            {
+                gcmkTRACE(
+                    gcvLEVEL_ERROR,
+                    "%s: Interrupt %d isn't registered.\n",
+                    __FUNCTION__, i
+                    );
+            }
+            else
+            {
+                gcmkTRACE_ZONE(
+                    gcvLEVEL_VERBOSE, gcvZONE_COMMAND,
+                    "%s: interrupt=%d\n",
+                    __FUNCTION__,
+                    i
+                    );
+
+                /* Call the handler. */
+                status = Interrupt->handlers[i] (Interrupt->kernel);
+
+                if (gcmkIS_ERROR(status))
+                {
+                    /* Failed to signal the semaphore. */
+                    gcmkTRACE(
+                        gcvLEVEL_ERROR,
+                        "%s: Error %d incrementing the semaphore #%d.\n",
+                        __FUNCTION__, status, i
+                        );
+                }
+            }
+        }
+
+        /* Next interrupt. */
+        triggered >>= 1;
+
+        /* No more interrupts to handle? */
+        if (triggered == 0)
+        {
+            break;
+        }
+    }
+}
+
+
+/*******************************************************************************
+**
+**  _MainInterruptHandler
+**
+**  The main interrupt thread serves the interrupt FIFO and calls registered
+**  handlers for the interrupts that occured. The handlers are called in the
+**  sequence interrupts occured with the exception when multiple interrupts
+**  occured at the same time. In that case the handler calls are "sorted" by
+**  the interrupt number therefore giving the interrupts with lower numbers
+**  higher priority.
+**
+**  INPUT:
+**
+**      ThreadParameter
+**          Pointer to the gckVGINTERRUPT object.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+
+static gctTHREADFUNCRESULT gctTHREADFUNCTYPE
+_MainInterruptHandler(
+    gctTHREADFUNCPARAMETER ThreadParameter
+    )
+{
+    gceSTATUS status;
+    gckVGINTERRUPT interrupt;
+
+#if gcmENABLE_INTERRUPT_STATISTICS
+    gctUINT count;
+#endif
+
+    /* Cast the object. */
+    interrupt = (gckVGINTERRUPT) ThreadParameter;
+
+    /* Enter the loop. */
+    while (gcvTRUE)
+    {
+        /* Wait for an interrupt. */
+        status = gckOS_DecrementSemaphore(interrupt->os, interrupt->fifoValid);
+
+        /* Error? */
+        if (gcmkIS_ERROR(status))
+        {
+            break;
+        }
+
+        /* System termination request? */
+        if (status == gcvSTATUS_TERMINATE)
+        {
+            break;
+        }
+
+        /* Driver is shutting down? */
+        if (interrupt->terminate)
+        {
+            break;
+        }
+
+#if gcmENABLE_INTERRUPT_STATISTICS
+        /* Reset triggered count. */
+        count = 0;
+
+        /* Process the interrupt. */
+        _ProcessInterrupt(interrupt, &count);
+
+        /* Update conters. */
+        if (count > interrupt->maxSimultaneous)
+        {
+            interrupt->maxSimultaneous = count;
+        }
+
+        if (count > 1)
+        {
+            interrupt->multipleCount += 1;
+        }
+#else
+        /* Process the interrupt. */
+        _ProcessInterrupt(interrupt);
+#endif
+    }
+
+    return 0;
+}
+
+
+/*******************************************************************************
+**
+**  _StartInterruptHandler / _StopInterruptHandler
+**
+**  Main interrupt handler routine control.
+**
+**  INPUT:
+**
+**      ThreadParameter
+**          Pointer to the gckVGINTERRUPT object.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+
+static gceSTATUS
+_StartInterruptHandler(
+    gckVGINTERRUPT Interrupt
+    )
+{
+    gceSTATUS status, last;
+
+    do
+    {
+        /* Objects must not be already created. */
+        gcmkASSERT(Interrupt->fifoValid == gcvNULL);
+        gcmkASSERT(Interrupt->handler   == gcvNULL);
+
+        /* Reset the termination request. */
+        Interrupt->terminate = gcvFALSE;
+
+#if !gcdENABLE_INFINITE_SPEED_HW
+        /* Construct the fifo semaphore. */
+        gcmkERR_BREAK(gckOS_CreateSemaphoreVG(
+            Interrupt->os, &Interrupt->fifoValid
+            ));
+
+        /* Start the interrupt handler thread. */
+        gcmkERR_BREAK(gckOS_StartThread(
+            Interrupt->os,
+            _MainInterruptHandler,
+            Interrupt,
+            &Interrupt->handler
+            ));
+#endif
+
+        /* Success. */
+        return gcvSTATUS_OK;
+    }
+    while (gcvFALSE);
+
+    /* Roll back. */
+    if (Interrupt->fifoValid != gcvNULL)
+    {
+        gcmkCHECK_STATUS(gckOS_DestroySemaphore(
+            Interrupt->os, Interrupt->fifoValid
+            ));
+
+        Interrupt->fifoValid = gcvNULL;
+    }
+
+    /* Return the status. */
+    return status;
+}
+
+static gceSTATUS
+_StopInterruptHandler(
+    gckVGINTERRUPT Interrupt
+    )
+{
+    gceSTATUS status;
+
+    do
+    {
+        /* Does the thread exist? */
+        if (Interrupt->handler == gcvNULL)
+        {
+            /* The semaphore must be NULL as well. */
+            gcmkASSERT(Interrupt->fifoValid == gcvNULL);
+
+            /* Success. */
+            status = gcvSTATUS_OK;
+            break;
+        }
+
+        /* The semaphore must exist as well. */
+        gcmkASSERT(Interrupt->fifoValid != gcvNULL);
+
+        /* Set the termination request. */
+        Interrupt->terminate = gcvTRUE;
+
+        /* Unlock the thread. */
+        gcmkERR_BREAK(gckOS_IncrementSemaphore(
+            Interrupt->os, Interrupt->fifoValid
+            ));
+
+        /* Wait until the thread quits. */
+        gcmkERR_BREAK(gckOS_StopThread(
+            Interrupt->os,
+            Interrupt->handler
+            ));
+
+        /* Destroy the semaphore. */
+        gcmkERR_BREAK(gckOS_DestroySemaphore(
+            Interrupt->os, Interrupt->fifoValid
+            ));
+
+        /* Reset handles. */
+        Interrupt->handler   = gcvNULL;
+        Interrupt->fifoValid = gcvNULL;
+    }
+    while (gcvFALSE);
+
+    /* Return the status. */
+    return status;
+}
+
+
+/******************************************************************************\
+***************************** Interrupt Object API *****************************
+\******************************************************************************/
+
+/*******************************************************************************
+**
+**  gckVGINTERRUPT_Construct
+**
+**  Construct an interrupt object.
+**
+**  INPUT:
+**
+**      Kernel
+**          Pointer to the gckVGKERNEL object.
+**
+**  OUTPUT:
+**
+**      Interrupt
+**          Pointer to the new gckVGINTERRUPT object.
+*/
+
+gceSTATUS
+gckVGINTERRUPT_Construct(
+    IN gckVGKERNEL Kernel,
+    OUT gckVGINTERRUPT * Interrupt
+    )
+{
+    gceSTATUS status;
+    gckVGINTERRUPT interrupt = gcvNULL;
+
+    gcmkHEADER_ARG("Kernel=0x%x Interrupt=0x%x", Kernel, Interrupt);
+
+    /* Verify argeuments. */
+    gcmkVERIFY_OBJECT(Kernel, gcvOBJ_KERNEL);
+    gcmkVERIFY_ARGUMENT(Interrupt != gcvNULL);
+
+    do
+    {
+        /* Allocate the gckVGINTERRUPT structure. */
+        gcmkERR_BREAK(gckOS_Allocate(
+            Kernel->os,
+            gcmSIZEOF(struct _gckVGINTERRUPT),
+            (gctPOINTER *) &interrupt
+            ));
+
+        /* Reset the object data. */
+        gcmkVERIFY_OK(gckOS_ZeroMemory(
+            interrupt, gcmSIZEOF(struct _gckVGINTERRUPT)
+            ));
+
+        /* Initialize the object. */
+        interrupt->object.type = gcvOBJ_INTERRUPT;
+
+        /* Initialize the object pointers. */
+        interrupt->kernel = Kernel;
+        interrupt->os     = Kernel->os;
+
+        /* Initialize the current FIFO position. */
+        interrupt->head = (gctUINT8)~0;
+        interrupt->tail = (gctUINT8)~0;
+
+        /* Start the thread. */
+        gcmkERR_BREAK(_StartInterruptHandler(interrupt));
+
+        /* Return interrupt object. */
+        *Interrupt = interrupt;
+
+        gcmkFOOTER_ARG("*Interrup=0x%x", *Interrupt);
+        /* Success. */
+        return gcvSTATUS_OK;
+    }
+    while (gcvFALSE);
+
+    /* Roll back. */
+    if (interrupt != gcvNULL)
+    {
+        /* Free the gckVGINTERRUPT structure. */
+        gcmkVERIFY_OK(gckOS_Free(interrupt->os, interrupt));
+    }
+
+    gcmkFOOTER();
+
+    /* Return the status. */
+    return status;
+}
+
+
+/*******************************************************************************
+**
+**  gckVGINTERRUPT_Destroy
+**
+**  Destroy an interrupt object.
+**
+**  INPUT:
+**
+**      Interrupt
+**          Pointer to the gckVGINTERRUPT object to destroy.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+
+gceSTATUS
+gckVGINTERRUPT_Destroy(
+    IN gckVGINTERRUPT Interrupt
+    )
+{
+    gceSTATUS status;
+
+    gcmkHEADER_ARG("Interrupt=0x%x", Interrupt);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Interrupt, gcvOBJ_INTERRUPT);
+
+    do
+    {
+        /* Stop the interrupt thread. */
+        gcmkERR_BREAK(_StopInterruptHandler(Interrupt));
+
+        /* Mark the object as unknown. */
+        Interrupt->object.type = gcvOBJ_UNKNOWN;
+
+        /* Free the gckVGINTERRUPT structure. */
+        gcmkERR_BREAK(gckOS_Free(Interrupt->os, Interrupt));
+    }
+    while (gcvFALSE);
+
+    gcmkFOOTER();
+
+    /* Return the status. */
+    return status;
+}
+
+
+/*******************************************************************************
+**
+**  gckVGINTERRUPT_DumpState
+**
+**  Print the current state of the interrupt manager.
+**
+**  INPUT:
+**
+**      Interrupt
+**          Pointer to a gckVGINTERRUPT object.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+
+#if gcvDEBUG
+gceSTATUS
+gckVGINTERRUPT_DumpState(
+    IN gckVGINTERRUPT Interrupt
+    )
+{
+    gcmkHEADER_ARG("Interrupt=0x%x", Interrupt);
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Interrupt, gcvOBJ_INTERRUPT);
+
+    /* Print the header. */
+    gcmkTRACE_ZONE(
+        gcvLEVEL_VERBOSE, gcvZONE_COMMAND,
+        "%s: INTERRUPT OBJECT STATUS\n",
+        __FUNCTION__
+        );
+
+    /* Print statistics. */
+#if gcmENABLE_INTERRUPT_STATISTICS
+    gcmkTRACE_ZONE(
+        gcvLEVEL_VERBOSE, gcvZONE_COMMAND,
+        "  Maximum number of FIFO items accumulated at a single time: %d\n",
+        Interrupt->maxFifoItems
+        );
+
+    gcmkTRACE_ZONE(
+        gcvLEVEL_VERBOSE, gcvZONE_COMMAND,
+        "  Interrupt FIFO overflow happened times: %d\n",
+        Interrupt->fifoOverflow
+        );
+
+    gcmkTRACE_ZONE(
+        gcvLEVEL_VERBOSE, gcvZONE_COMMAND,
+        "  Maximum number of interrupts simultaneously generated: %d\n",
+        Interrupt->maxSimultaneous
+        );
+
+    gcmkTRACE_ZONE(
+        gcvLEVEL_VERBOSE, gcvZONE_COMMAND,
+        "  Number of times when there were multiple interrupts generated: %d\n",
+        Interrupt->multipleCount
+        );
+#endif
+
+    gcmkTRACE_ZONE(
+        gcvLEVEL_VERBOSE, gcvZONE_COMMAND,
+        "  The current number of entries in the FIFO: %d\n",
+        Interrupt->fifoItems
+        );
+
+    /* Print the FIFO contents. */
+    if (Interrupt->fifoItems != 0)
+    {
+        gctUINT8 index;
+        gctUINT8 last;
+
+        gcmkTRACE_ZONE(
+            gcvLEVEL_VERBOSE, gcvZONE_COMMAND,
+            "  FIFO current contents:\n"
+            );
+
+        /* Get the current pointers. */
+        index = Interrupt->tail;
+        last  = Interrupt->head;
+
+        while (index != last)
+        {
+            /* Advance to the next entry. */
+            index += 1;
+
+            gcmkTRACE_ZONE(
+                gcvLEVEL_VERBOSE, gcvZONE_COMMAND,
+                "    %d: 0x%08X\n",
+                index, Interrupt->fifo[index]
+                );
+        }
+    }
+
+    gcmkFOOTER_NO();
+    /* Success. */
+    return gcvSTATUS_OK;
+}
+#endif
+
+
+/*******************************************************************************
+**
+**  gckVGINTERRUPT_Enable
+**
+**  Enable the specified interrupt.
+**
+**  INPUT:
+**
+**      Interrupt
+**          Pointer to a gckVGINTERRUPT object.
+**
+**      Id
+**          Pointer to the variable that holds the interrupt number to be
+**          registered in range 0..31.
+**          If the value is less then 0, gckVGINTERRUPT_Enable will attempt
+**          to find an unused interrupt. If such interrupt is found, the number
+**          will be assigned to the variable if the functuion call succeedes.
+**
+**      Handler
+**          Pointer to the handler to register for the interrupt.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+
+gceSTATUS
+gckVGINTERRUPT_Enable(
+    IN gckVGINTERRUPT Interrupt,
+    IN OUT gctINT32_PTR Id,
+    IN gctINTERRUPT_HANDLER Handler
+    )
+{
+    gceSTATUS status;
+    gctINT32 i;
+
+    gcmkHEADER_ARG("Interrupt=0x%x Id=0x%x Handler=0x%x", Interrupt, Id, Handler);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Interrupt, gcvOBJ_INTERRUPT);
+    gcmkVERIFY_ARGUMENT(Id != gcvNULL);
+    gcmkVERIFY_ARGUMENT(Handler != gcvNULL);
+
+    do
+    {
+        /* See if we need to allocate an ID. */
+        if (*Id < 0)
+        {
+            /* Find the first unused interrupt handler. */
+            for (i = 0; i < gcmCOUNTOF(Interrupt->handlers); ++i)
+            {
+                if (Interrupt->handlers[i] == gcvNULL)
+                {
+                    break;
+                }
+            }
+
+            /* No unused innterrupts? */
+            if (i == gcmCOUNTOF(Interrupt->handlers))
+            {
+                status = gcvSTATUS_OUT_OF_RESOURCES;
+                break;
+            }
+
+            /* Update the interrupt ID. */
+            *Id = i;
+        }
+
+        /* Make sure the ID is in range. */
+        else if (*Id >= gcmCOUNTOF(Interrupt->handlers))
+        {
+            status = gcvSTATUS_INVALID_ARGUMENT;
+            break;
+        }
+
+        /* Set interrupt handler. */
+        Interrupt->handlers[*Id] = Handler;
+
+        /* Success. */
+        status = gcvSTATUS_OK;
+    }
+    while (gcvFALSE);
+
+    gcmkFOOTER();
+    /* Return the status. */
+    return status;
+}
+
+
+/*******************************************************************************
+**
+**  gckVGINTERRUPT_Disable
+**
+**  Disable the specified interrupt.
+**
+**  INPUT:
+**
+**      Interrupt
+**          Pointer to a gckVGINTERRUPT object.
+**
+**      Id
+**          Interrupt number to be disabled in range 0..31.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+
+gceSTATUS
+gckVGINTERRUPT_Disable(
+    IN gckVGINTERRUPT Interrupt,
+    IN gctINT32 Id
+    )
+{
+    gcmkHEADER_ARG("Interrupt=0x%x Id=0x%x", Interrupt, Id);
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Interrupt, gcvOBJ_INTERRUPT);
+    gcmkVERIFY_ARGUMENT((Id >= 0) && (Id < gcmCOUNTOF(Interrupt->handlers)));
+
+    /* Reset interrupt handler. */
+    Interrupt->handlers[Id] = gcvNULL;
+
+    gcmkFOOTER_NO();
+    /* Success. */
+    return gcvSTATUS_OK;
+}
+
+
+/*******************************************************************************
+**
+**  gckVGINTERRUPT_Enque
+**
+**  Read the interrupt status register and put the value in the interrupt FIFO.
+**
+**  INPUT:
+**
+**      Interrupt
+**          Pointer to a gckVGINTERRUPT object.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+
+#ifndef __QNXNTO__
+gceSTATUS
+gckVGINTERRUPT_Enque(
+    IN gckVGINTERRUPT Interrupt
+    )
+#else
+gceSTATUS
+gckVGINTERRUPT_Enque(
+    IN gckVGINTERRUPT Interrupt,
+    OUT gckOS *Os,
+    OUT gctSEMAPHORE *Semaphore
+    )
+#endif
+{
+    gceSTATUS status;
+    gctUINT32 triggered;
+
+    gcmkHEADER_ARG("Interrupt=0x%x", Interrupt);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Interrupt, gcvOBJ_INTERRUPT);
+
+#ifdef __QNXNTO__
+    *Os = gcvNULL;
+    *Semaphore = gcvNULL;
+#endif
+
+    do
+    {
+        /* Read interrupt status register. */
+        gcmkERR_BREAK(gckVGHARDWARE_ReadInterrupt(
+            Interrupt->kernel->hardware, &triggered
+            ));
+
+        /* Mask out TS overflow interrupt */
+        triggered &= 0xfffffffe;
+
+        /* No interrupts to process? */
+        if (triggered == 0)
+        {
+            status = gcvSTATUS_NOT_OUR_INTERRUPT;
+            break;
+        }
+
+        /* FIFO overflow? */
+        if (Interrupt->fifoItems == gcmCOUNTOF(Interrupt->fifo))
+        {
+#if gcmENABLE_INTERRUPT_STATISTICS
+            Interrupt->fifoOverflow += 1;
+#endif
+
+            /* OR the interrupt with the last value in the FIFO. */
+            Interrupt->fifo[Interrupt->head] |= triggered;
+
+            /* Success (kind of). */
+            status = gcvSTATUS_OK;
+        }
+        else
+        {
+            /* Advance to the next entry. */
+            Interrupt->head      += 1;
+            Interrupt->fifoItems += 1;
+
+#if gcmENABLE_INTERRUPT_STATISTICS
+            if (Interrupt->fifoItems > Interrupt->maxFifoItems)
+            {
+                Interrupt->maxFifoItems = Interrupt->fifoItems;
+            }
+#endif
+
+            /* Set the new value. */
+            Interrupt->fifo[Interrupt->head] = triggered;
+
+#ifndef __QNXNTO__
+            /* Increment the FIFO semaphore. */
+            gcmkERR_BREAK(gckOS_IncrementSemaphore(
+                Interrupt->os, Interrupt->fifoValid
+                ));
+#else
+            *Os = Interrupt->os;
+            *Semaphore = Interrupt->fifoValid;
+#endif
+
+            /* Windows kills our threads prematurely when the application
+               exists. Verify here that the thread is still alive. */
+            status = gckOS_VerifyThread(Interrupt->os, Interrupt->handler);
+
+            /* Has the thread been prematurely terminated? */
+            if (status != gcvSTATUS_OK)
+            {
+                /* Process all accumulated interrupts. */
+                while (Interrupt->head != Interrupt->tail)
+                {
+#if gcmENABLE_INTERRUPT_STATISTICS
+                    /* Process the interrupt. */
+                    _ProcessInterrupt(Interrupt, gcvNULL);
+#else
+                    /* Process the interrupt. */
+                    _ProcessInterrupt(Interrupt);
+#endif
+                }
+
+                /* Set success. */
+                status = gcvSTATUS_OK;
+            }
+        }
+    }
+    while (gcvFALSE);
+
+    gcmkFOOTER();
+    /* Return status. */
+    return status;
+}
+
+#endif /* gcdENABLE_VG */
diff --git a/drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_mmu.c b/drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_mmu.c
new file mode 100644 (file)
index 0000000..456ec24
--- /dev/null
@@ -0,0 +1,1982 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#include "gc_hal_kernel_precomp.h"
+
+#define _GC_OBJ_ZONE    gcvZONE_MMU
+
+typedef enum _gceMMU_TYPE
+{
+    gcvMMU_USED     = (0 << 4),
+    gcvMMU_SINGLE   = (1 << 4),
+    gcvMMU_FREE     = (2 << 4),
+}
+gceMMU_TYPE;
+
+#define gcmENTRY_TYPE(x) (x & 0xF0)
+
+#define gcdMMU_TABLE_DUMP       0
+
+#define gcdUSE_MMU_EXCEPTION    0
+
+/*
+    gcdMMU_CLEAR_VALUE
+
+        The clear value for the entry of the old MMU.
+*/
+#ifndef gcdMMU_CLEAR_VALUE
+#   define gcdMMU_CLEAR_VALUE                   0x00000ABC
+#endif
+
+/* VIV: Start GPU address for gcvSURF_VERTEX.  */
+#define gcdVERTEX_START      (128 << 10)
+
+typedef struct _gcsMMU_STLB *gcsMMU_STLB_PTR;
+
+typedef struct _gcsMMU_STLB
+{
+    gctPHYS_ADDR    physical;
+    gctUINT32_PTR   logical;
+    gctSIZE_T       size;
+    gctUINT32       physBase;
+    gctSIZE_T       pageCount;
+    gctUINT32       mtlbIndex;
+    gctUINT32       mtlbEntryNum;
+    gcsMMU_STLB_PTR next;
+} gcsMMU_STLB;
+
+#if gcdSHARED_PAGETABLE
+typedef struct _gcsSharedPageTable * gcsSharedPageTable_PTR;
+typedef struct _gcsSharedPageTable
+{
+    /* Shared gckMMU object. */
+    gckMMU          mmu;
+
+    /* Hardwares which use this shared pagetable. */
+    gckHARDWARE     hardwares[gcdMAX_GPU_COUNT];
+
+    /* Number of cores use this shared pagetable. */
+    gctUINT32       reference;
+}
+gcsSharedPageTable;
+
+static gcsSharedPageTable_PTR sharedPageTable = gcvNULL;
+#endif
+
+#if gcdMIRROR_PAGETABLE
+typedef struct _gcsMirrorPageTable * gcsMirrorPageTable_PTR;
+typedef struct _gcsMirrorPageTable
+{
+    /* gckMMU objects. */
+    gckMMU          mmus[gcdMAX_GPU_COUNT];
+
+    /* Hardwares which use this shared pagetable. */
+    gckHARDWARE     hardwares[gcdMAX_GPU_COUNT];
+
+    /* Number of cores use this shared pagetable. */
+    gctUINT32       reference;
+}
+gcsMirrorPageTable;
+
+static gcsMirrorPageTable_PTR mirrorPageTable = gcvNULL;
+static gctPOINTER mirrorPageTableMutex = gcvNULL;
+#endif
+
+typedef struct _gcsDynamicSpaceNode * gcsDynamicSpaceNode_PTR;
+typedef struct _gcsDynamicSpaceNode
+{
+    gctUINT32       start;
+    gctINT32        entries;
+}
+gcsDynamicSpaceNode;
+
+static void
+_WritePageEntry(
+    IN gctUINT32_PTR PageEntry,
+    IN gctUINT32     EntryValue
+    )
+{
+    static gctUINT16 data = 0xff00;
+
+    if (*(gctUINT8 *)&data == 0xff)
+    {
+        *PageEntry = gcmSWAB32(EntryValue);
+    }
+    else
+    {
+        *PageEntry = EntryValue;
+    }
+}
+
+static gctUINT32
+_ReadPageEntry(
+    IN gctUINT32_PTR PageEntry
+    )
+{
+    static gctUINT16 data = 0xff00;
+    gctUINT32 entryValue;
+
+    if (*(gctUINT8 *)&data == 0xff)
+    {
+        entryValue = *PageEntry;
+        return gcmSWAB32(entryValue);
+    }
+    else
+    {
+        return *PageEntry;
+    }
+}
+
+static gceSTATUS
+_FillPageTable(
+    IN gctUINT32_PTR PageTable,
+    IN gctUINT32     PageCount,
+    IN gctUINT32     EntryValue
+)
+{
+    gctUINT i;
+
+    for (i = 0; i < PageCount; i++)
+    {
+        _WritePageEntry(PageTable + i, EntryValue);
+    }
+
+    return gcvSTATUS_OK;
+}
+
+static gceSTATUS
+_Link(
+    IN gckMMU Mmu,
+    IN gctUINT32 Index,
+    IN gctUINT32 Next
+    )
+{
+    if (Index >= Mmu->pageTableEntries)
+    {
+        /* Just move heap pointer. */
+        Mmu->heapList = Next;
+    }
+    else
+    {
+        /* Address page table. */
+        gctUINT32_PTR pageTable = Mmu->pageTableLogical;
+
+        /* Dispatch on node type. */
+        switch (gcmENTRY_TYPE(_ReadPageEntry(&pageTable[Index])))
+        {
+        case gcvMMU_SINGLE:
+            /* Set single index. */
+            _WritePageEntry(&pageTable[Index], (Next << 8) | gcvMMU_SINGLE);
+            break;
+
+        case gcvMMU_FREE:
+            /* Set index. */
+            _WritePageEntry(&pageTable[Index + 1], Next);
+            break;
+
+        default:
+            gcmkFATAL("MMU table correcupted at index %u!", Index);
+            return gcvSTATUS_HEAP_CORRUPTED;
+        }
+    }
+
+    /* Success. */
+    return gcvSTATUS_OK;
+}
+
+static gceSTATUS
+_AddFree(
+    IN gckMMU Mmu,
+    IN gctUINT32 Index,
+    IN gctUINT32 Node,
+    IN gctUINT32 Count
+    )
+{
+    gctUINT32_PTR pageTable = Mmu->pageTableLogical;
+
+    if (Count == 1)
+    {
+        /* Initialize a single page node. */
+        _WritePageEntry(pageTable + Node, (~((1U<<8)-1)) | gcvMMU_SINGLE);
+    }
+    else
+    {
+        /* Initialize the node. */
+        _WritePageEntry(pageTable + Node + 0, (Count << 8) | gcvMMU_FREE);
+        _WritePageEntry(pageTable + Node + 1, ~0U);
+    }
+
+    /* Append the node. */
+    return _Link(Mmu, Index, Node);
+}
+
+static gceSTATUS
+_Collect(
+    IN gckMMU Mmu
+    )
+{
+    gctUINT32_PTR pageTable = Mmu->pageTableLogical;
+    gceSTATUS status;
+    gctUINT32 i, previous, start = 0, count = 0;
+
+    previous = Mmu->heapList = ~0U;
+    Mmu->freeNodes = gcvFALSE;
+
+    /* Walk the entire page table. */
+    for (i = 0; i < Mmu->pageTableEntries; ++i)
+    {
+        /* Dispatch based on type of page. */
+        switch (gcmENTRY_TYPE(_ReadPageEntry(&pageTable[i])))
+        {
+        case gcvMMU_USED:
+            /* Used page, so close any open node. */
+            if (count > 0)
+            {
+                /* Add the node. */
+                gcmkONERROR(_AddFree(Mmu, previous, start, count));
+
+                /* Reset the node. */
+                previous = start;
+                count    = 0;
+            }
+            break;
+
+        case gcvMMU_SINGLE:
+            /* Single free node. */
+            if (count++ == 0)
+            {
+                /* Start a new node. */
+                start = i;
+            }
+            break;
+
+        case gcvMMU_FREE:
+            /* A free node. */
+            if (count == 0)
+            {
+                /* Start a new node. */
+                start = i;
+            }
+
+            /* Advance the count. */
+            count += _ReadPageEntry(&pageTable[i]) >> 8;
+
+            /* Advance the index into the page table. */
+            i     += (_ReadPageEntry(&pageTable[i]) >> 8) - 1;
+            break;
+
+        default:
+            gcmkFATAL("MMU page table correcupted at index %u!", i);
+            return gcvSTATUS_HEAP_CORRUPTED;
+        }
+    }
+
+    /* See if we have an open node left. */
+    if (count > 0)
+    {
+        /* Add the node to the list. */
+        gcmkONERROR(_AddFree(Mmu, previous, start, count));
+    }
+
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_MMU,
+                   "Performed a garbage collection of the MMU heap.");
+
+    /* Success. */
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the staus. */
+    return status;
+}
+
+static gctUINT32
+_SetPage(gctUINT32 PageAddress)
+{
+    return PageAddress
+           /* writable */
+           | (1 << 2)
+           /* Ignore exception */
+           | (0 << 1)
+           /* Present */
+           | (1 << 0);
+}
+
+static gceSTATUS
+_FillFlatMapping(
+    IN gckMMU Mmu,
+    IN gctUINT32 PhysBase,
+    OUT gctSIZE_T Size
+    )
+{
+    gceSTATUS status;
+    gctBOOL mutex = gcvFALSE;
+    gcsMMU_STLB_PTR head = gcvNULL, pre = gcvNULL;
+    gctUINT32 start = PhysBase & (~gcdMMU_PAGE_64K_MASK);
+    gctUINT32 end = (PhysBase + Size - 1) & (~gcdMMU_PAGE_64K_MASK);
+    gctUINT32 mStart = start >> gcdMMU_MTLB_SHIFT;
+    gctUINT32 mEnd = end >> gcdMMU_MTLB_SHIFT;
+    gctUINT32 sStart = (start & gcdMMU_STLB_64K_MASK) >> gcdMMU_STLB_64K_SHIFT;
+    gctUINT32 sEnd = (end & gcdMMU_STLB_64K_MASK) >> gcdMMU_STLB_64K_SHIFT;
+
+    /* Grab the mutex. */
+    gcmkONERROR(gckOS_AcquireMutex(Mmu->os, Mmu->pageTableMutex, gcvINFINITE));
+    mutex = gcvTRUE;
+
+    while (mStart <= mEnd)
+    {
+        gcmkASSERT(mStart < gcdMMU_MTLB_ENTRY_NUM);
+        if (*(Mmu->mtlbLogical + mStart) == 0)
+        {
+            gcsMMU_STLB_PTR stlb;
+            gctPOINTER pointer = gcvNULL;
+            gctUINT32 last = (mStart == mEnd) ? sEnd : (gcdMMU_STLB_64K_ENTRY_NUM - 1);
+
+            gcmkONERROR(gckOS_Allocate(Mmu->os, sizeof(struct _gcsMMU_STLB), &pointer));
+            stlb = pointer;
+
+            stlb->mtlbEntryNum = 0;
+            stlb->next = gcvNULL;
+            stlb->physical = gcvNULL;
+            stlb->logical = gcvNULL;
+            stlb->size = gcdMMU_STLB_64K_SIZE;
+            stlb->pageCount = 0;
+
+            if (pre == gcvNULL)
+            {
+                pre = head = stlb;
+            }
+            else
+            {
+                gcmkASSERT(pre->next == gcvNULL);
+                pre->next = stlb;
+                pre = stlb;
+            }
+
+            gcmkONERROR(
+                    gckOS_AllocateContiguous(Mmu->os,
+                                             gcvFALSE,
+                                             &stlb->size,
+                                             &stlb->physical,
+                                             (gctPOINTER)&stlb->logical));
+
+            gcmkONERROR(gckOS_ZeroMemory(stlb->logical, stlb->size));
+
+            gcmkONERROR(gckOS_GetPhysicalAddress(
+                Mmu->os,
+                stlb->logical,
+                &stlb->physBase));
+
+            if (stlb->physBase & (gcdMMU_STLB_64K_SIZE - 1))
+            {
+                gcmkONERROR(gcvSTATUS_NOT_ALIGNED);
+            }
+
+            _WritePageEntry(Mmu->mtlbLogical + mStart,
+                            stlb->physBase
+                            /* 64KB page size */
+                            | (1 << 2)
+                            /* Ignore exception */
+                            | (0 << 1)
+                            /* Present */
+                            | (1 << 0)
+                            );
+#if gcdMMU_TABLE_DUMP
+            gckOS_Print("%s(%d): insert MTLB[%d]: %08x\n",
+                __FUNCTION__, __LINE__,
+                mStart,
+                _ReadPageEntry(Mmu->mtlbLogical + mStart));
+#endif
+
+            stlb->mtlbIndex = mStart;
+            stlb->mtlbEntryNum = 1;
+#if gcdMMU_TABLE_DUMP
+            gckOS_Print("%s(%d): STLB: logical:%08x -> physical:%08x\n",
+                    __FUNCTION__, __LINE__,
+                    stlb->logical,
+                    stlb->physBase);
+#endif
+
+            while (sStart <= last)
+            {
+                gcmkASSERT(!(start & gcdMMU_PAGE_64K_MASK));
+                _WritePageEntry(stlb->logical + sStart, _SetPage(start));
+#if gcdMMU_TABLE_DUMP
+                gckOS_Print("%s(%d): insert STLB[%d]: %08x\n",
+                    __FUNCTION__, __LINE__,
+                    sStart,
+                    _ReadPageEntry(stlb->logical + sStart));
+#endif
+                /* next page. */
+                start += gcdMMU_PAGE_64K_SIZE;
+                sStart++;
+                stlb->pageCount++;
+            }
+
+            sStart = 0;
+            ++mStart;
+        }
+        else
+        {
+            gcmkONERROR(gcvSTATUS_INVALID_REQUEST);
+        }
+    }
+
+    /* Insert the stlb into staticSTLB. */
+    if (Mmu->staticSTLB == gcvNULL)
+    {
+        Mmu->staticSTLB = head;
+    }
+    else
+    {
+        gcmkASSERT(pre == gcvNULL);
+        gcmkASSERT(pre->next == gcvNULL);
+        pre->next = Mmu->staticSTLB;
+        Mmu->staticSTLB = head;
+    }
+
+    /* Release the mutex. */
+    gcmkVERIFY_OK(gckOS_ReleaseMutex(Mmu->os, Mmu->pageTableMutex));
+
+    return gcvSTATUS_OK;
+
+OnError:
+
+    /* Roll back. */
+    while (head != gcvNULL)
+    {
+        pre = head;
+        head = head->next;
+
+        if (pre->physical != gcvNULL)
+        {
+            gcmkVERIFY_OK(
+                gckOS_FreeContiguous(Mmu->os,
+                    pre->physical,
+                    pre->logical,
+                    pre->size));
+        }
+
+        if (pre->mtlbEntryNum != 0)
+        {
+            gcmkASSERT(pre->mtlbEntryNum == 1);
+            _WritePageEntry(Mmu->mtlbLogical + pre->mtlbIndex, 0);
+        }
+
+        gcmkVERIFY_OK(gcmkOS_SAFE_FREE(Mmu->os, pre));
+    }
+
+    if (mutex)
+    {
+        /* Release the mutex. */
+        gcmkVERIFY_OK(gckOS_ReleaseMutex(Mmu->os, Mmu->pageTableMutex));
+    }
+
+    return status;
+}
+
+static gceSTATUS
+_FindDynamicSpace(
+    IN gckMMU Mmu,
+    OUT gcsDynamicSpaceNode_PTR *Array,
+    OUT gctINT * Size
+    )
+{
+    gceSTATUS status = gcvSTATUS_OK;
+    gctPOINTER pointer = gcvNULL;
+    gcsDynamicSpaceNode_PTR array = gcvNULL;
+    gctINT size = 0;
+    gctINT i = 0, nodeStart = -1, nodeEntries = 0;
+
+    /* Allocate memory for the array. */
+    gcmkONERROR(gckOS_Allocate(Mmu->os,
+                               gcmSIZEOF(*array) * (gcdMMU_MTLB_ENTRY_NUM / 2),
+                               &pointer));
+
+    array = (gcsDynamicSpaceNode_PTR)pointer;
+
+    /* Loop all the entries. */
+    while (i < gcdMMU_MTLB_ENTRY_NUM)
+    {
+        if (!Mmu->mtlbLogical[i])
+        {
+            if (nodeStart < 0)
+            {
+                /* This is the first entry of the dynamic space. */
+                nodeStart   = i;
+                nodeEntries = 1;
+            }
+            else
+            {
+                /* Other entries of the dynamic space. */
+                nodeEntries++;
+            }
+        }
+        else if (nodeStart >= 0)
+        {
+            /* Save the previous node. */
+            array[size].start   = nodeStart;
+            array[size].entries = nodeEntries;
+            size++;
+
+            /* Reset the start. */
+            nodeStart   = -1;
+            nodeEntries = 0;
+        }
+
+        i++;
+    }
+
+    /* Save the previous node. */
+    if (nodeStart >= 0)
+    {
+        array[size].start   = nodeStart;
+        array[size].entries = nodeEntries;
+        size++;
+    }
+
+#if gcdMMU_TABLE_DUMP
+    for (i = 0; i < size; i++)
+    {
+        gckOS_Print("%s(%d): [%d]: start=%d, entries=%d.\n",
+                __FUNCTION__, __LINE__,
+                i,
+                array[i].start,
+                array[i].entries);
+    }
+#endif
+
+    *Array = array;
+    *Size  = size;
+
+    return gcvSTATUS_OK;
+
+OnError:
+    if (pointer != gcvNULL)
+    {
+        gckOS_Free(Mmu->os, pointer);
+    }
+
+    return status;
+}
+
+static gceSTATUS
+_SetupDynamicSpace(
+    IN gckMMU Mmu
+    )
+{
+    gceSTATUS status;
+    gcsDynamicSpaceNode_PTR nodeArray = gcvNULL;
+    gctINT i, nodeArraySize = 0;
+    gctUINT32 physical;
+    gctINT numEntries = 0;
+    gctUINT32_PTR pageTable;
+    gctBOOL acquired = gcvFALSE;
+
+    /* Find all the dynamic address space. */
+    gcmkONERROR(_FindDynamicSpace(Mmu, &nodeArray, &nodeArraySize));
+
+    /* TODO: We only use the largest one for now. */
+    for (i = 0; i < nodeArraySize; i++)
+    {
+        if (nodeArray[i].entries > numEntries)
+        {
+            Mmu->dynamicMappingStart = nodeArray[i].start;
+            numEntries               = nodeArray[i].entries;
+        }
+    }
+
+    gckOS_Free(Mmu->os, (gctPOINTER)nodeArray);
+
+    Mmu->pageTableSize = numEntries * 4096;
+
+    Mmu->pageTableEntries = Mmu->pageTableSize / gcmSIZEOF(gctUINT32);
+
+    /* Construct Slave TLB. */
+    gcmkONERROR(gckOS_AllocateContiguous(Mmu->os,
+                gcvFALSE,
+                &Mmu->pageTableSize,
+                &Mmu->pageTablePhysical,
+                (gctPOINTER)&Mmu->pageTableLogical));
+
+#if gcdUSE_MMU_EXCEPTION
+    gcmkONERROR(_FillPageTable(Mmu->pageTableLogical,
+                               Mmu->pageTableEntries,
+                               /* Enable exception */
+                               1 << 1));
+#else
+    /* Invalidate all entries. */
+    gcmkONERROR(gckOS_ZeroMemory(Mmu->pageTableLogical,
+                Mmu->pageTableSize));
+#endif
+
+    /* Initilization. */
+    pageTable      = Mmu->pageTableLogical;
+    _WritePageEntry(pageTable,     (Mmu->pageTableEntries << 8) | gcvMMU_FREE);
+    _WritePageEntry(pageTable + 1, ~0U);
+    Mmu->heapList  = 0;
+    Mmu->freeNodes = gcvFALSE;
+
+    gcmkONERROR(gckOS_GetPhysicalAddress(Mmu->os,
+                Mmu->pageTableLogical,
+                &physical));
+
+    /* Grab the mutex. */
+    gcmkONERROR(gckOS_AcquireMutex(Mmu->os, Mmu->pageTableMutex, gcvINFINITE));
+    acquired = gcvTRUE;
+
+    /* Map to Master TLB. */
+    for (i = (gctINT)Mmu->dynamicMappingStart;
+         i < (gctINT)Mmu->dynamicMappingStart + numEntries;
+         i++)
+    {
+        _WritePageEntry(Mmu->mtlbLogical + i,
+                        physical
+                        /* 4KB page size */
+                        | (0 << 2)
+                        /* Ignore exception */
+                        | (0 << 1)
+                        /* Present */
+                        | (1 << 0)
+                        );
+#if gcdMMU_TABLE_DUMP
+        gckOS_Print("%s(%d): insert MTLB[%d]: %08x\n",
+                __FUNCTION__, __LINE__,
+                i,
+                _ReadPageEntry(Mmu->mtlbLogical + i));
+#endif
+        physical += gcdMMU_STLB_4K_SIZE;
+    }
+
+    /* Release the mutex. */
+    gcmkVERIFY_OK(gckOS_ReleaseMutex(Mmu->os, Mmu->pageTableMutex));
+
+    return gcvSTATUS_OK;
+
+OnError:
+    if (Mmu->pageTableLogical)
+    {
+        /* Free the page table. */
+        gcmkVERIFY_OK(
+                gckOS_FreeContiguous(Mmu->os,
+                    Mmu->pageTablePhysical,
+                    (gctPOINTER) Mmu->pageTableLogical,
+                    Mmu->pageTableSize));
+    }
+
+    if (acquired)
+    {
+        /* Release the mutex. */
+        gcmkVERIFY_OK(gckOS_ReleaseMutex(Mmu->os, Mmu->pageTableMutex));
+    }
+
+    return status;
+}
+
+/*******************************************************************************
+**
+**  _Construct
+**
+**  Construct a new gckMMU object.
+**
+**  INPUT:
+**
+**      gckKERNEL Kernel
+**          Pointer to an gckKERNEL object.
+**
+**      gctSIZE_T MmuSize
+**          Number of bytes for the page table.
+**
+**  OUTPUT:
+**
+**      gckMMU * Mmu
+**          Pointer to a variable that receives the gckMMU object pointer.
+*/
+gceSTATUS
+_Construct(
+    IN gckKERNEL Kernel,
+    IN gctSIZE_T MmuSize,
+    OUT gckMMU * Mmu
+    )
+{
+    gckOS os;
+    gckHARDWARE hardware;
+    gceSTATUS status;
+    gckMMU mmu = gcvNULL;
+    gctUINT32_PTR pageTable;
+    gctPOINTER pointer = gcvNULL;
+
+    gcmkHEADER_ARG("Kernel=0x%x MmuSize=%lu", Kernel, MmuSize);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Kernel, gcvOBJ_KERNEL);
+    gcmkVERIFY_ARGUMENT(MmuSize > 0);
+    gcmkVERIFY_ARGUMENT(Mmu != gcvNULL);
+
+    /* Extract the gckOS object pointer. */
+    os = Kernel->os;
+    gcmkVERIFY_OBJECT(os, gcvOBJ_OS);
+
+    /* Extract the gckHARDWARE object pointer. */
+    hardware = Kernel->hardware;
+    gcmkVERIFY_OBJECT(hardware, gcvOBJ_HARDWARE);
+
+    /* Allocate memory for the gckMMU object. */
+    gcmkONERROR(gckOS_Allocate(os, sizeof(struct _gckMMU), &pointer));
+
+    mmu = pointer;
+
+    /* Initialize the gckMMU object. */
+    mmu->object.type      = gcvOBJ_MMU;
+    mmu->os               = os;
+    mmu->hardware         = hardware;
+    mmu->pageTableMutex   = gcvNULL;
+    mmu->pageTableLogical = gcvNULL;
+    mmu->mtlbLogical      = gcvNULL;
+    mmu->staticSTLB       = gcvNULL;
+    mmu->enabled          = gcvFALSE;
+#ifdef __QNXNTO__
+    mmu->nodeList         = gcvNULL;
+    mmu->nodeMutex        = gcvNULL;
+#endif
+
+    /* Create the page table mutex. */
+    gcmkONERROR(gckOS_CreateMutex(os, &mmu->pageTableMutex));
+
+#ifdef __QNXNTO__
+    /* Create the node list mutex. */
+    gcmkONERROR(gckOS_CreateMutex(os, &mmu->nodeMutex));
+#endif
+
+    if (hardware->mmuVersion == 0)
+    {
+        mmu->pageTableSize = MmuSize;
+
+        gcmkONERROR(
+            gckOS_AllocateContiguous(os,
+                                     gcvFALSE,
+                                     &mmu->pageTableSize,
+                                     &mmu->pageTablePhysical,
+                                     &pointer));
+
+        mmu->pageTableLogical = pointer;
+
+        /* Compute number of entries in page table. */
+        mmu->pageTableEntries = mmu->pageTableSize / sizeof(gctUINT32);
+
+        /* Mark all pages as free. */
+        pageTable      = mmu->pageTableLogical;
+
+#if gcdMMU_CLEAR_VALUE
+        _FillPageTable(pageTable, mmu->pageTableEntries, gcdMMU_CLEAR_VALUE);
+#endif
+
+        _WritePageEntry(pageTable,     (mmu->pageTableEntries << 8) | gcvMMU_FREE);
+        _WritePageEntry(pageTable + 1, ~0U);
+        mmu->heapList  = 0;
+        mmu->freeNodes = gcvFALSE;
+
+        /* Set page table address. */
+        gcmkONERROR(
+            gckHARDWARE_SetMMU(hardware, (gctPOINTER) mmu->pageTableLogical));
+    }
+    else
+    {
+        /* Allocate the 4K mode MTLB table. */
+        mmu->mtlbSize = gcdMMU_MTLB_SIZE + 64;
+
+        gcmkONERROR(
+            gckOS_AllocateContiguous(os,
+                                     gcvFALSE,
+                                     &mmu->mtlbSize,
+                                     &mmu->mtlbPhysical,
+                                     &pointer));
+
+        mmu->mtlbLogical = pointer;
+
+        /* Invalid all the entries. */
+        gcmkONERROR(
+            gckOS_ZeroMemory(pointer, mmu->mtlbSize));
+    }
+
+    /* Return the gckMMU object pointer. */
+    *Mmu = mmu;
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Mmu=0x%x", *Mmu);
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Roll back. */
+    if (mmu != gcvNULL)
+    {
+        if (mmu->pageTableLogical != gcvNULL)
+        {
+            /* Free the page table. */
+            gcmkVERIFY_OK(
+                gckOS_FreeContiguous(os,
+                                     mmu->pageTablePhysical,
+                                     (gctPOINTER) mmu->pageTableLogical,
+                                     mmu->pageTableSize));
+
+        }
+
+        if (mmu->mtlbLogical != gcvNULL)
+        {
+            gcmkVERIFY_OK(
+                gckOS_FreeContiguous(os,
+                                     mmu->mtlbPhysical,
+                                     (gctPOINTER) mmu->mtlbLogical,
+                                     mmu->mtlbSize));
+        }
+
+        if (mmu->pageTableMutex != gcvNULL)
+        {
+            /* Delete the mutex. */
+            gcmkVERIFY_OK(
+                gckOS_DeleteMutex(os, mmu->pageTableMutex));
+        }
+
+#ifdef __QNXNTO__
+        if (mmu->nodeMutex != gcvNULL)
+        {
+            /* Delete the mutex. */
+            gcmkVERIFY_OK(
+                gckOS_DeleteMutex(os, mmu->nodeMutex));
+        }
+#endif
+
+        /* Mark the gckMMU object as unknown. */
+        mmu->object.type = gcvOBJ_UNKNOWN;
+
+        /* Free the allocates memory. */
+        gcmkVERIFY_OK(gcmkOS_SAFE_FREE(os, mmu));
+    }
+
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  _Destroy
+**
+**  Destroy a gckMMU object.
+**
+**  INPUT:
+**
+**      gckMMU Mmu
+**          Pointer to an gckMMU object.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+_Destroy(
+    IN gckMMU Mmu
+    )
+{
+#ifdef __QNXNTO__
+    gcuVIDMEM_NODE_PTR node, next;
+#endif
+
+    gcmkHEADER_ARG("Mmu=0x%x", Mmu);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Mmu, gcvOBJ_MMU);
+
+#ifdef __QNXNTO__
+    /* Free all associated virtual memory. */
+    for (node = Mmu->nodeList; node != gcvNULL; node = next)
+    {
+        next = node->Virtual.next;
+        gcmkVERIFY_OK(gckVIDMEM_Free(node));
+    }
+#endif
+
+    while (Mmu->staticSTLB != gcvNULL)
+    {
+        gcsMMU_STLB_PTR pre = Mmu->staticSTLB;
+        Mmu->staticSTLB = pre->next;
+
+        if (pre->physical != gcvNULL)
+        {
+            gcmkVERIFY_OK(
+                gckOS_FreeContiguous(Mmu->os,
+                    pre->physical,
+                    pre->logical,
+                    pre->size));
+        }
+
+        if (pre->mtlbEntryNum != 0)
+        {
+            gcmkASSERT(pre->mtlbEntryNum == 1);
+            _WritePageEntry(Mmu->mtlbLogical + pre->mtlbIndex, 0);
+#if gcdMMU_TABLE_DUMP
+            gckOS_Print("%s(%d): clean MTLB[%d]\n",
+                __FUNCTION__, __LINE__,
+                pre->mtlbIndex);
+#endif
+        }
+
+        gcmkVERIFY_OK(gcmkOS_SAFE_FREE(Mmu->os, pre));
+    }
+
+    if (Mmu->hardware->mmuVersion != 0)
+    {
+        gcmkVERIFY_OK(
+                gckOS_FreeContiguous(Mmu->os,
+                    Mmu->mtlbPhysical,
+                    (gctPOINTER) Mmu->mtlbLogical,
+                    Mmu->mtlbSize));
+    }
+
+    /* Free the page table. */
+    gcmkVERIFY_OK(
+            gckOS_FreeContiguous(Mmu->os,
+                Mmu->pageTablePhysical,
+                (gctPOINTER) Mmu->pageTableLogical,
+                Mmu->pageTableSize));
+
+#ifdef __QNXNTO__
+    /* Delete the node list mutex. */
+    gcmkVERIFY_OK(gckOS_DeleteMutex(Mmu->os, Mmu->nodeMutex));
+#endif
+
+    /* Delete the page table mutex. */
+    gcmkVERIFY_OK(gckOS_DeleteMutex(Mmu->os, Mmu->pageTableMutex));
+
+    /* Mark the gckMMU object as unknown. */
+    Mmu->object.type = gcvOBJ_UNKNOWN;
+
+    /* Free the gckMMU object. */
+    gcmkVERIFY_OK(gcmkOS_SAFE_FREE(Mmu->os, Mmu));
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+** _AdjstIndex
+**
+**  Adjust the index from which we search for a usable node to make sure
+**  index allocated is greater than Start.
+*/
+gceSTATUS
+_AdjustIndex(
+    IN gckMMU Mmu,
+    IN gctUINT32 Index,
+    IN gctUINT32 PageCount,
+    IN gctUINT32 Start,
+    OUT gctUINT32 * IndexAdjusted
+    )
+{
+    gceSTATUS status;
+    gctUINT32 index = Index;
+    gctUINT32_PTR map = Mmu->pageTableLogical;
+
+    gcmkHEADER();
+
+    for (; index < Mmu->pageTableEntries;)
+    {
+        gctUINT32 result = 0;
+        gctUINT32 nodeSize = 0;
+
+        if (index >= Start)
+        {
+            break;
+        }
+
+        switch (gcmENTRY_TYPE(map[index]))
+        {
+        case gcvMMU_SINGLE:
+            nodeSize = 1;
+            break;
+
+        case gcvMMU_FREE:
+            nodeSize = map[index] >> 8;
+            break;
+
+        default:
+            gcmkFATAL("MMU table correcupted at index %u!", index);
+            gcmkONERROR(gcvSTATUS_OUT_OF_RESOURCES);
+        }
+
+        if (nodeSize > PageCount)
+        {
+            result = index + (nodeSize - PageCount);
+
+            if (result >= Start)
+            {
+                break;
+            }
+        }
+
+        switch (gcmENTRY_TYPE(map[index]))
+        {
+        case gcvMMU_SINGLE:
+            index = map[index] >> 8;
+            break;
+
+        case gcvMMU_FREE:
+            index = map[index + 1];
+            break;
+
+        default:
+            gcmkFATAL("MMU table correcupted at index %u!", index);
+            gcmkONERROR(gcvSTATUS_OUT_OF_RESOURCES);
+        }
+    }
+
+    *IndexAdjusted = index;
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    gcmkFOOTER();
+    return status;
+}
+
+gceSTATUS
+gckMMU_Construct(
+    IN gckKERNEL Kernel,
+    IN gctSIZE_T MmuSize,
+    OUT gckMMU * Mmu
+    )
+{
+#if gcdSHARED_PAGETABLE
+    gceSTATUS status;
+    gctPOINTER pointer;
+
+    gcmkHEADER_ARG("Kernel=0x%08x", Kernel);
+
+    if (sharedPageTable == gcvNULL)
+    {
+        gcmkONERROR(
+                gckOS_Allocate(Kernel->os,
+                               sizeof(struct _gcsSharedPageTable),
+                               &pointer));
+        sharedPageTable = pointer;
+
+        gcmkONERROR(
+                gckOS_ZeroMemory(sharedPageTable,
+                    sizeof(struct _gcsSharedPageTable)));
+
+        gcmkONERROR(_Construct(Kernel, MmuSize, &sharedPageTable->mmu));
+    }
+    else if (Kernel->hardware->mmuVersion == 0)
+    {
+        /* Set page table address. */
+        gcmkONERROR(
+            gckHARDWARE_SetMMU(Kernel->hardware, (gctPOINTER) sharedPageTable->mmu->pageTableLogical));
+    }
+
+    *Mmu = sharedPageTable->mmu;
+
+    sharedPageTable->hardwares[sharedPageTable->reference] = Kernel->hardware;
+
+    sharedPageTable->reference++;
+
+    gcmkFOOTER_ARG("sharedPageTable->reference=%lu", sharedPageTable->reference);
+    return gcvSTATUS_OK;
+
+OnError:
+    if (sharedPageTable)
+    {
+        if (sharedPageTable->mmu)
+        {
+            gcmkVERIFY_OK(gckMMU_Destroy(sharedPageTable->mmu));
+        }
+
+        gcmkVERIFY_OK(gcmkOS_SAFE_FREE(Kernel->os, sharedPageTable));
+    }
+
+    gcmkFOOTER();
+    return status;
+#elif gcdMIRROR_PAGETABLE
+    gceSTATUS status;
+    gctPOINTER pointer;
+
+    gcmkHEADER_ARG("Kernel=0x%08x", Kernel);
+
+    if (mirrorPageTable == gcvNULL)
+    {
+        gcmkONERROR(
+            gckOS_Allocate(Kernel->os,
+                           sizeof(struct _gcsMirrorPageTable),
+                           &pointer));
+        mirrorPageTable = pointer;
+
+        gcmkONERROR(
+            gckOS_ZeroMemory(mirrorPageTable,
+                    sizeof(struct _gcsMirrorPageTable)));
+
+        gcmkONERROR(
+            gckOS_CreateMutex(Kernel->os, &mirrorPageTableMutex));
+    }
+
+    gcmkONERROR(_Construct(Kernel, MmuSize, Mmu));
+
+    mirrorPageTable->mmus[mirrorPageTable->reference] = *Mmu;
+
+    mirrorPageTable->hardwares[mirrorPageTable->reference] = Kernel->hardware;
+
+    mirrorPageTable->reference++;
+
+    gcmkFOOTER_ARG("mirrorPageTable->reference=%lu", mirrorPageTable->reference);
+    return gcvSTATUS_OK;
+
+OnError:
+    if (mirrorPageTable && mirrorPageTable->reference == 0)
+    {
+        gcmkVERIFY_OK(gcmkOS_SAFE_FREE(Kernel->os, mirrorPageTable));
+    }
+
+    gcmkFOOTER();
+    return status;
+#else
+    return _Construct(Kernel, MmuSize, Mmu);
+#endif
+}
+
+gceSTATUS
+gckMMU_Destroy(
+    IN gckMMU Mmu
+    )
+{
+#if gcdSHARED_PAGETABLE
+    sharedPageTable->reference--;
+
+    if (sharedPageTable->reference == 0)
+    {
+        if (sharedPageTable->mmu)
+        {
+            gcmkVERIFY_OK(_Destroy(Mmu));
+        }
+
+        gcmkVERIFY_OK(gcmkOS_SAFE_FREE(Mmu->os, sharedPageTable));
+    }
+
+    return gcvSTATUS_OK;
+#elif gcdMIRROR_PAGETABLE
+    mirrorPageTable->reference--;
+
+    if (mirrorPageTable->reference == 0)
+    {
+        gcmkVERIFY_OK(gcmkOS_SAFE_FREE(Mmu->os, mirrorPageTable));
+        gcmkVERIFY_OK(gcmkOS_SAFE_FREE(Mmu->os, mirrorPageTableMutex));
+    }
+
+    return _Destroy(Mmu);
+#else
+    return _Destroy(Mmu);
+#endif
+}
+
+/*******************************************************************************
+**
+**  gckMMU_AllocatePages
+**
+**  Allocate pages inside the page table.
+**
+**  INPUT:
+**
+**      gckMMU Mmu
+**          Pointer to an gckMMU object.
+**
+**      gctSIZE_T PageCount
+**          Number of pages to allocate.
+**
+**  OUTPUT:
+**
+**      gctPOINTER * PageTable
+**          Pointer to a variable that receives the base address of the page
+**          table.
+**
+**      gctUINT32 * Address
+**          Pointer to a variable that receives the hardware specific address.
+*/
+gceSTATUS
+_AllocatePages(
+    IN gckMMU Mmu,
+    IN gctSIZE_T PageCount,
+    IN gceSURF_TYPE Type,
+    OUT gctPOINTER * PageTable,
+    OUT gctUINT32 * Address
+    )
+{
+    gceSTATUS status;
+    gctBOOL mutex = gcvFALSE;
+    gctUINT32 index = 0, previous = ~0U, left;
+    gctUINT32_PTR pageTable;
+    gctBOOL gotIt;
+    gctUINT32 address;
+
+    gcmkHEADER_ARG("Mmu=0x%x PageCount=%lu", Mmu, PageCount);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Mmu, gcvOBJ_MMU);
+    gcmkVERIFY_ARGUMENT(PageCount > 0);
+    gcmkVERIFY_ARGUMENT(PageTable != gcvNULL);
+
+    if (PageCount > Mmu->pageTableEntries)
+    {
+        gcmkPRINT("[galcore]: %s(%d): Run out of free page entry.",
+                  __FUNCTION__, __LINE__);
+
+        /* Not enough pages avaiable. */
+        gcmkONERROR(gcvSTATUS_OUT_OF_RESOURCES);
+    }
+
+    /* Grab the mutex. */
+    gcmkONERROR(gckOS_AcquireMutex(Mmu->os, Mmu->pageTableMutex, gcvINFINITE));
+    mutex = gcvTRUE;
+
+    /* Cast pointer to page table. */
+    for (pageTable = Mmu->pageTableLogical, gotIt = gcvFALSE; !gotIt;)
+    {
+        index = Mmu->heapList;
+
+        if ((Mmu->hardware->mmuVersion == 0) && (Type == gcvSURF_VERTEX))
+        {
+            gcmkONERROR(_AdjustIndex(
+                Mmu,
+                index,
+                PageCount,
+                gcdVERTEX_START / gcmSIZEOF(gctUINT32),
+                &index
+                ));
+        }
+
+        /* Walk the heap list. */
+        for (; !gotIt && (index < Mmu->pageTableEntries);)
+        {
+            /* Check the node type. */
+            switch (gcmENTRY_TYPE(_ReadPageEntry(&pageTable[index])))
+            {
+            case gcvMMU_SINGLE:
+                /* Single odes are valid if we only need 1 page. */
+                if (PageCount == 1)
+                {
+                    gotIt = gcvTRUE;
+                }
+                else
+                {
+                    /* Move to next node. */
+                    previous = index;
+                    index    = _ReadPageEntry(&pageTable[index]) >> 8;
+                }
+                break;
+
+            case gcvMMU_FREE:
+                /* Test if the node has enough space. */
+                if (PageCount <= (_ReadPageEntry(&pageTable[index]) >> 8))
+                {
+                    gotIt = gcvTRUE;
+                }
+                else
+                {
+                    /* Move to next node. */
+                    previous = index;
+                    index    = _ReadPageEntry(&pageTable[index + 1]);
+                }
+                break;
+
+            default:
+                gcmkFATAL("MMU table correcupted at index %u!", index);
+                gcmkONERROR(gcvSTATUS_OUT_OF_RESOURCES);
+            }
+        }
+
+        /* Test if we are out of memory. */
+        if (index >= Mmu->pageTableEntries)
+        {
+            if (Mmu->freeNodes)
+            {
+                /* Time to move out the trash! */
+                gcmkONERROR(_Collect(Mmu));
+            }
+            else
+            {
+                gcmkPRINT("[galcore]: %s(%d): Run out of free page entry.",
+                          __FUNCTION__, __LINE__);
+
+                /* Out of resources. */
+                gcmkONERROR(gcvSTATUS_OUT_OF_RESOURCES);
+            }
+        }
+    }
+
+    switch (gcmENTRY_TYPE(_ReadPageEntry(&pageTable[index])))
+    {
+    case gcvMMU_SINGLE:
+        /* Unlink single node from free list. */
+        gcmkONERROR(
+            _Link(Mmu, previous, _ReadPageEntry(&pageTable[index]) >> 8));
+        break;
+
+    case gcvMMU_FREE:
+        /* Check how many pages will be left. */
+        left = (_ReadPageEntry(&pageTable[index]) >> 8) - PageCount;
+        switch (left)
+        {
+        case 0:
+            /* The entire node is consumed, just unlink it. */
+            gcmkONERROR(
+                _Link(Mmu, previous, _ReadPageEntry(&pageTable[index + 1])));
+            break;
+
+        case 1:
+            /* One page will remain.  Convert the node to a single node and
+            ** advance the index. */
+            _WritePageEntry(&pageTable[index], (_ReadPageEntry(&pageTable[index + 1]) << 8) | gcvMMU_SINGLE);
+            index ++;
+            break;
+
+        default:
+            /* Enough pages remain for a new node.  However, we will just adjust
+            ** the size of the current node and advance the index. */
+            _WritePageEntry(&pageTable[index], (left << 8) | gcvMMU_FREE);
+            index += left;
+            break;
+        }
+        break;
+    }
+
+    /* Mark node as used. */
+    gcmkONERROR(_FillPageTable(&pageTable[index], PageCount, gcvMMU_USED));
+
+    /* Return pointer to page table. */
+    *PageTable = &pageTable[index];
+
+    /* Build virtual address. */
+    if (Mmu->hardware->mmuVersion == 0)
+    {
+        gcmkONERROR(
+                gckHARDWARE_BuildVirtualAddress(Mmu->hardware, index, 0, &address));
+    }
+    else
+    {
+        gctUINT32 masterOffset = index / gcdMMU_STLB_4K_ENTRY_NUM
+                               + Mmu->dynamicMappingStart;
+        gctUINT32 slaveOffset = index % gcdMMU_STLB_4K_ENTRY_NUM;
+
+        address = (masterOffset << gcdMMU_MTLB_SHIFT)
+                | (slaveOffset << gcdMMU_STLB_4K_SHIFT);
+    }
+
+    if (Address != gcvNULL)
+    {
+        *Address = address;
+    }
+
+    /* Release the mutex. */
+    gcmkVERIFY_OK(gckOS_ReleaseMutex(Mmu->os, Mmu->pageTableMutex));
+
+    /* Success. */
+    gcmkFOOTER_ARG("*PageTable=0x%x *Address=%08x",
+                   *PageTable, gcmOPT_VALUE(Address));
+    return gcvSTATUS_OK;
+
+OnError:
+
+    if (mutex)
+    {
+        /* Release the mutex. */
+        gcmkVERIFY_OK(gckOS_ReleaseMutex(Mmu->os, Mmu->pageTableMutex));
+    }
+
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckMMU_FreePages
+**
+**  Free pages inside the page table.
+**
+**  INPUT:
+**
+**      gckMMU Mmu
+**          Pointer to an gckMMU object.
+**
+**      gctPOINTER PageTable
+**          Base address of the page table to free.
+**
+**      gctSIZE_T PageCount
+**          Number of pages to free.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+_FreePages(
+    IN gckMMU Mmu,
+    IN gctPOINTER PageTable,
+    IN gctSIZE_T PageCount
+    )
+{
+    gctUINT32_PTR pageTable;
+    gceSTATUS status;
+    gctBOOL acquired = gcvFALSE;
+
+    gcmkHEADER_ARG("Mmu=0x%x PageTable=0x%x PageCount=%lu",
+                   Mmu, PageTable, PageCount);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Mmu, gcvOBJ_MMU);
+    gcmkVERIFY_ARGUMENT(PageTable != gcvNULL);
+    gcmkVERIFY_ARGUMENT(PageCount > 0);
+
+    /* Convert the pointer. */
+    pageTable = (gctUINT32_PTR) PageTable;
+
+    gcmkONERROR(gckOS_AcquireMutex(Mmu->os, Mmu->pageTableMutex, gcvINFINITE));
+    acquired = gcvTRUE;
+
+#if gcdMMU_CLEAR_VALUE
+    if (Mmu->hardware->mmuVersion == 0)
+    {
+        _FillPageTable(pageTable, PageCount, gcdMMU_CLEAR_VALUE);
+    }
+#endif
+
+    if (PageCount == 1)
+    {
+        /* Single page node. */
+        _WritePageEntry(pageTable,
+                        (~((1U<<8)-1)) | gcvMMU_SINGLE
+#if gcdUSE_MMU_EXCEPTION
+                        /* Enable exception */
+                        | 1 << 1
+#endif
+                        );
+    }
+    else
+    {
+        /* Mark the node as free. */
+        _WritePageEntry(pageTable,
+                        (PageCount << 8) | gcvMMU_FREE
+#if gcdUSE_MMU_EXCEPTION
+                        /* Enable exception */
+                        | 1 << 1
+#endif
+                       );
+        _WritePageEntry(pageTable + 1, ~0U);
+
+#if gcdUSE_MMU_EXCEPTION
+        /* Enable exception */
+        gcmkVERIFY_OK(_FillPageTable(pageTable + 2, PageCount - 2, 1 << 1));
+#endif
+    }
+
+    /* We have free nodes. */
+    Mmu->freeNodes = gcvTRUE;
+
+    gcmkVERIFY_OK(gckOS_ReleaseMutex(Mmu->os, Mmu->pageTableMutex));
+    acquired = gcvFALSE;
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    if (acquired)
+    {
+        gcmkVERIFY_OK(gckOS_ReleaseMutex(Mmu->os, Mmu->pageTableMutex));
+    }
+
+    gcmkFOOTER();
+    return status;
+}
+
+gceSTATUS
+gckMMU_AllocatePages(
+    IN gckMMU Mmu,
+    IN gctSIZE_T PageCount,
+    OUT gctPOINTER * PageTable,
+    OUT gctUINT32 * Address
+    )
+{
+    return gckMMU_AllocatePagesEx(
+                Mmu, PageCount, gcvSURF_UNKNOWN, PageTable, Address);
+}
+
+gceSTATUS
+gckMMU_AllocatePagesEx(
+    IN gckMMU Mmu,
+    IN gctSIZE_T PageCount,
+    IN gceSURF_TYPE Type,
+    OUT gctPOINTER * PageTable,
+    OUT gctUINT32 * Address
+    )
+{
+#if gcdMIRROR_PAGETABLE
+    gceSTATUS status;
+    gctPOINTER pageTable;
+    gctUINT32 address;
+    gctINT i;
+    gckMMU mmu;
+    gctBOOL acquired = gcvFALSE;
+    gctBOOL allocated = gcvFALSE;
+
+    gckOS_AcquireMutex(Mmu->os, mirrorPageTableMutex, gcvINFINITE);
+    acquired = gcvTRUE;
+
+    /* Allocate page table for current MMU. */
+    for (i = 0; i < (gctINT)mirrorPageTable->reference; i++)
+    {
+        if (Mmu == mirrorPageTable->mmus[i])
+        {
+            gcmkONERROR(_AllocatePages(Mmu, PageCount, Type, PageTable, Address));
+            allocated = gcvTRUE;
+        }
+    }
+
+    /* Allocate page table for other MMUs. */
+    for (i = 0; i < (gctINT)mirrorPageTable->reference; i++)
+    {
+        mmu = mirrorPageTable->mmus[i];
+
+        if (Mmu != mmu)
+        {
+            gcmkONERROR(_AllocatePages(mmu, PageCount, Type, &pageTable, &address));
+            gcmkASSERT(address == *Address);
+        }
+    }
+
+    gckOS_ReleaseMutex(Mmu->os, mirrorPageTableMutex);
+    acquired = gcvFALSE;
+
+    return gcvSTATUS_OK;
+OnError:
+
+    if (allocated)
+    {
+        /* Page tables for multiple GPU always keep the same. So it is impossible
+         * the fist one allocates successfully but others fail.
+         */
+        gcmkASSERT(0);
+    }
+
+    if (acquired)
+    {
+        gckOS_ReleaseMutex(Mmu->os, mirrorPageTableMutex);
+    }
+
+    return status;
+#else
+    return _AllocatePages(Mmu, PageCount, Type, PageTable, Address);
+#endif
+}
+
+gceSTATUS
+gckMMU_FreePages(
+    IN gckMMU Mmu,
+    IN gctPOINTER PageTable,
+    IN gctSIZE_T PageCount
+    )
+{
+#if gcdMIRROR_PAGETABLE
+    gctINT i;
+    gctUINT32 offset;
+    gckMMU mmu;
+
+    gckOS_AcquireMutex(Mmu->os, mirrorPageTableMutex, gcvINFINITE);
+
+    gcmkVERIFY_OK(_FreePages(Mmu, PageTable, PageCount));
+
+    offset = (gctUINT32)PageTable - (gctUINT32)Mmu->pageTableLogical;
+
+    for (i = 0; i < (gctINT)mirrorPageTable->reference; i++)
+    {
+        mmu = mirrorPageTable->mmus[i];
+
+        if (mmu != Mmu)
+        {
+            gcmkVERIFY_OK(_FreePages(mmu, mmu->pageTableLogical + offset/4, PageCount));
+        }
+    }
+
+    gckOS_ReleaseMutex(Mmu->os, mirrorPageTableMutex);
+
+    return gcvSTATUS_OK;
+#else
+    return _FreePages(Mmu, PageTable, PageCount);
+#endif
+}
+
+gceSTATUS
+gckMMU_Enable(
+    IN gckMMU Mmu,
+    IN gctUINT32 PhysBaseAddr,
+    IN gctUINT32 PhysSize
+    )
+{
+    gceSTATUS status;
+#if gcdSHARED_PAGETABLE
+    gckHARDWARE hardware;
+    gctINT i;
+#endif
+
+    gcmkHEADER_ARG("Mmu=0x%x", Mmu);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Mmu, gcvOBJ_MMU);
+
+#if gcdSHARED_PAGETABLE
+    if (Mmu->enabled)
+    {
+        gcmkFOOTER_ARG("Status=%d", gcvSTATUS_SKIP);
+        return gcvSTATUS_SKIP;
+    }
+#endif
+
+    if (Mmu->hardware->mmuVersion == 0)
+    {
+        /* Success. */
+        gcmkFOOTER_ARG("Status=%d", gcvSTATUS_SKIP);
+        return gcvSTATUS_SKIP;
+    }
+    else
+    {
+        if (PhysSize != 0)
+        {
+            gcmkONERROR(_FillFlatMapping(
+                Mmu,
+                PhysBaseAddr,
+                PhysSize
+                ));
+        }
+
+        gcmkONERROR(_SetupDynamicSpace(Mmu));
+
+#if gcdSHARED_PAGETABLE
+        for(i = 0; i < gcdMAX_GPU_COUNT; i++)
+        {
+            hardware = sharedPageTable->hardwares[i];
+            if (hardware != gcvNULL)
+            {
+                gcmkONERROR(
+                    gckHARDWARE_SetMMUv2(
+                        hardware,
+                        gcvTRUE,
+                        Mmu->mtlbLogical,
+                        gcvMMU_MODE_4K,
+                        (gctUINT8_PTR)Mmu->mtlbLogical + gcdMMU_MTLB_SIZE,
+                        gcvFALSE
+                        ));
+            }
+        }
+#else
+        gcmkONERROR(
+            gckHARDWARE_SetMMUv2(
+                Mmu->hardware,
+                gcvTRUE,
+                Mmu->mtlbLogical,
+                gcvMMU_MODE_4K,
+                (gctUINT8_PTR)Mmu->mtlbLogical + gcdMMU_MTLB_SIZE,
+                gcvFALSE
+                ));
+#endif
+
+        Mmu->enabled = gcvTRUE;
+
+        /* Success. */
+        gcmkFOOTER_NO();
+        return gcvSTATUS_OK;
+    }
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+gceSTATUS
+gckMMU_SetPage(
+    IN gckMMU Mmu,
+    IN gctUINT32 PageAddress,
+    IN gctUINT32 *PageEntry
+    )
+{
+#if gcdMIRROR_PAGETABLE
+    gctUINT32_PTR pageEntry;
+    gctINT i;
+    gckMMU mmu;
+    gctUINT32 offset = (gctUINT32)PageEntry - (gctUINT32)Mmu->pageTableLogical;
+#endif
+
+    gctUINT32 data;
+    gcmkHEADER_ARG("Mmu=0x%x", Mmu);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Mmu, gcvOBJ_MMU);
+    gcmkVERIFY_ARGUMENT(PageEntry != gcvNULL);
+    gcmkVERIFY_ARGUMENT(!(PageAddress & 0xFFF));
+
+    if (Mmu->hardware->mmuVersion == 0)
+    {
+        data = PageAddress;
+    }
+    else
+    {
+        data = _SetPage(PageAddress);
+    }
+
+    _WritePageEntry(PageEntry, data);
+
+#if gcdMIRROR_PAGETABLE
+    for (i = 0; i < (gctINT)mirrorPageTable->reference; i++)
+    {
+        mmu = mirrorPageTable->mmus[i];
+
+        if (mmu != Mmu)
+        {
+            pageEntry = mmu->pageTableLogical + offset / 4;
+
+            if (mmu->hardware->mmuVersion == 0)
+            {
+                _WritePageEntry(pageEntry, PageAddress);
+            }
+            else
+            {
+                _WritePageEntry(pageEntry, _SetPage(PageAddress));
+            }
+        }
+
+    }
+#endif
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+#ifdef __QNXNTO__
+gceSTATUS
+gckMMU_InsertNode(
+    IN gckMMU Mmu,
+    IN gcuVIDMEM_NODE_PTR Node)
+{
+    gceSTATUS status;
+    gctBOOL mutex = gcvFALSE;
+
+    gcmkHEADER_ARG("Mmu=0x%x Node=0x%x", Mmu, Node);
+
+    gcmkVERIFY_OBJECT(Mmu, gcvOBJ_MMU);
+
+    gcmkONERROR(gckOS_AcquireMutex(Mmu->os, Mmu->nodeMutex, gcvINFINITE));
+    mutex = gcvTRUE;
+
+    Node->Virtual.next = Mmu->nodeList;
+    Mmu->nodeList = Node;
+
+    gcmkVERIFY_OK(gckOS_ReleaseMutex(Mmu->os, Mmu->nodeMutex));
+
+    gcmkFOOTER();
+    return gcvSTATUS_OK;
+
+OnError:
+    if (mutex)
+    {
+        gcmkVERIFY_OK(gckOS_ReleaseMutex(Mmu->os, Mmu->nodeMutex));
+    }
+
+    gcmkFOOTER();
+    return status;
+}
+
+gceSTATUS
+gckMMU_RemoveNode(
+    IN gckMMU Mmu,
+    IN gcuVIDMEM_NODE_PTR Node)
+{
+    gceSTATUS status;
+    gctBOOL mutex = gcvFALSE;
+    gcuVIDMEM_NODE_PTR *iter;
+
+    gcmkHEADER_ARG("Mmu=0x%x Node=0x%x", Mmu, Node);
+
+    gcmkVERIFY_OBJECT(Mmu, gcvOBJ_MMU);
+
+    gcmkONERROR(gckOS_AcquireMutex(Mmu->os, Mmu->nodeMutex, gcvINFINITE));
+    mutex = gcvTRUE;
+
+    for (iter = &Mmu->nodeList; *iter; iter = &(*iter)->Virtual.next)
+    {
+        if (*iter == Node)
+        {
+            *iter = Node->Virtual.next;
+            break;
+        }
+    }
+
+    gcmkVERIFY_OK(gckOS_ReleaseMutex(Mmu->os, Mmu->nodeMutex));
+
+    gcmkFOOTER();
+    return gcvSTATUS_OK;
+
+OnError:
+    if (mutex)
+    {
+        gcmkVERIFY_OK(gckOS_ReleaseMutex(Mmu->os, Mmu->nodeMutex));
+    }
+
+    gcmkFOOTER();
+    return status;
+}
+
+gceSTATUS
+gckMMU_FreeHandleMemory(
+    IN gckKERNEL Kernel,
+    IN gckMMU Mmu,
+    IN gctUINT32 Pid
+    )
+{
+    gceSTATUS status;
+    gctBOOL acquired = gcvFALSE;
+    gcuVIDMEM_NODE_PTR curr, next;
+
+    gcmkHEADER_ARG("Kernel=0x%x, Mmu=0x%x Pid=%u", Kernel, Mmu, Pid);
+
+    gcmkVERIFY_OBJECT(Kernel, gcvOBJ_KERNEL);
+    gcmkVERIFY_OBJECT(Mmu, gcvOBJ_MMU);
+
+    gcmkONERROR(gckOS_AcquireMutex(Mmu->os, Mmu->nodeMutex, gcvINFINITE));
+    acquired = gcvTRUE;
+
+    for (curr = Mmu->nodeList; curr != gcvNULL; curr = next)
+    {
+        next = curr->Virtual.next;
+
+        if (curr->Virtual.processID == Pid)
+        {
+            while (curr->Virtual.unlockPendings[Kernel->core] == 0 && curr->Virtual.lockeds[Kernel->core] > 0)
+            {
+                gcmkONERROR(gckVIDMEM_Unlock(Kernel, curr, gcvSURF_TYPE_UNKNOWN, gcvNULL));
+            }
+
+            gcmkVERIFY_OK(gckVIDMEM_Free(curr));
+        }
+    }
+
+    gcmkVERIFY_OK(gckOS_ReleaseMutex(Mmu->os, Mmu->nodeMutex));
+
+    gcmkFOOTER();
+    return gcvSTATUS_OK;
+
+OnError:
+    if (acquired)
+    {
+        gcmkVERIFY_OK(gckOS_ReleaseMutex(Mmu->os, Mmu->nodeMutex));
+    }
+
+    gcmkFOOTER();
+    return status;
+}
+#endif
+
+gceSTATUS
+gckMMU_Flush(
+    IN gckMMU Mmu
+    )
+{
+    gckHARDWARE hardware;
+#if gcdSHARED_PAGETABLE
+    gctINT i;
+    for (i = 0; i < gcdMAX_GPU_COUNT; i++)
+    {
+#if gcdENABLE_VG
+        if (i == gcvCORE_VG)
+        {
+            continue;
+        }
+#endif
+        hardware = sharedPageTable->hardwares[i];
+        if (hardware)
+        {
+            /* Notify cores who use this page table. */
+            gcmkVERIFY_OK(
+                gckOS_AtomSet(hardware->os, hardware->pageTableDirty, 1));
+        }
+    }
+#elif gcdMIRROR_PAGETABLE
+    gctINT i;
+    for (i = 0; i < mirrorPageTable->reference; i++)
+    {
+        hardware = mirrorPageTable->hardwares[i];
+
+        /* Notify cores who use this page table. */
+        gcmkVERIFY_OK(
+            gckOS_AtomSet(hardware->os, hardware->pageTableDirty, 1));
+    }
+#else
+    hardware = Mmu->hardware;
+    gcmkVERIFY_OK(
+        gckOS_AtomSet(hardware->os, hardware->pageTableDirty, 1));
+#endif
+
+    return gcvSTATUS_OK;
+}
+
+gceSTATUS
+gckMMU_DumpPageTableEntry(
+    IN gckMMU Mmu,
+    IN gctUINT32 Address
+    )
+{
+    gctUINT32_PTR pageTable;
+    gctUINT32 index;
+    gctUINT32 mtlb, stlb;
+
+    gcmkHEADER_ARG("Mmu=0x%08X Address=0x%08X", Mmu, Address);
+    gcmkVERIFY_OBJECT(Mmu, gcvOBJ_MMU);
+
+    gcmkASSERT(Mmu->hardware->mmuVersion > 0);
+
+    mtlb   = (Address & gcdMMU_MTLB_MASK) >> gcdMMU_MTLB_SHIFT;
+    stlb   = (Address & gcdMMU_STLB_4K_MASK) >> gcdMMU_STLB_4K_SHIFT;
+
+    if (Address >= 0x80000000)
+    {
+        pageTable = Mmu->pageTableLogical;
+
+        index = (mtlb - Mmu->dynamicMappingStart)
+              * gcdMMU_STLB_4K_ENTRY_NUM
+              + stlb;
+
+        gcmkPRINT("    Page table entry = 0x%08X", _ReadPageEntry(pageTable + index));
+    }
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+/******************************************************************************
+****************************** T E S T   C O D E ******************************
+******************************************************************************/
+
diff --git a/drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_mmu_vg.c b/drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_mmu_vg.c
new file mode 100644 (file)
index 0000000..0c20290
--- /dev/null
@@ -0,0 +1,522 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#include "gc_hal_kernel_precomp.h"
+
+#if gcdENABLE_VG
+
+#define _GC_OBJ_ZONE    gcvZONE_MMU
+
+/*******************************************************************************
+**
+**  gckVGMMU_Construct
+**
+**  Construct a new gckVGMMU object.
+**
+**  INPUT:
+**
+**      gckVGKERNEL Kernel
+**          Pointer to an gckVGKERNEL object.
+**
+**      gctSIZE_T MmuSize
+**          Number of bytes for the page table.
+**
+**  OUTPUT:
+**
+**      gckVGMMU * Mmu
+**          Pointer to a variable that receives the gckVGMMU object pointer.
+*/
+gceSTATUS gckVGMMU_Construct(
+    IN gckVGKERNEL Kernel,
+    IN gctSIZE_T MmuSize,
+    OUT gckVGMMU * Mmu
+    )
+{
+    gckOS os;
+    gckVGHARDWARE hardware;
+    gceSTATUS status;
+    gckVGMMU mmu;
+    gctUINT32 * pageTable;
+    gctUINT32 i;
+
+    gcmkHEADER_ARG("Kernel=0x%x MmuSize=0x%x Mmu=0x%x", Kernel, MmuSize, Mmu);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Kernel, gcvOBJ_KERNEL);
+    gcmkVERIFY_ARGUMENT(MmuSize > 0);
+    gcmkVERIFY_ARGUMENT(Mmu != gcvNULL);
+
+    /* Extract the gckOS object pointer. */
+    os = Kernel->os;
+    gcmkVERIFY_OBJECT(os, gcvOBJ_OS);
+
+    /* Extract the gckVGHARDWARE object pointer. */
+    hardware = Kernel->hardware;
+    gcmkVERIFY_OBJECT(hardware, gcvOBJ_HARDWARE);
+
+    /* Allocate memory for the gckVGMMU object. */
+    status = gckOS_Allocate(os, sizeof(struct _gckVGMMU), (gctPOINTER *) &mmu);
+
+    if (status < 0)
+    {
+        /* Error. */
+        gcmkFATAL(
+            "%s(%d): could not allocate gckVGMMU object.",
+            __FUNCTION__, __LINE__
+            );
+
+        gcmkFOOTER();
+        return status;
+    }
+
+    /* Initialize the gckVGMMU object. */
+    mmu->object.type = gcvOBJ_MMU;
+    mmu->os = os;
+    mmu->hardware = hardware;
+
+    /* Create the mutex. */
+    status = gckOS_CreateMutex(os, &mmu->mutex);
+
+    if (status < 0)
+    {
+        /* Roll back. */
+        mmu->object.type = gcvOBJ_UNKNOWN;
+        gcmkVERIFY_OK(gckOS_Free(os, mmu));
+
+        gcmkFOOTER();
+        /* Error. */
+        return status;
+    }
+
+    /* Allocate the page table. */
+    mmu->pageTableSize = MmuSize;
+    status = gckOS_AllocateContiguous(os,
+                                      gcvFALSE,
+                                      &mmu->pageTableSize,
+                                      &mmu->pageTablePhysical,
+                                      &mmu->pageTableLogical);
+
+    if (status < 0)
+    {
+        /* Roll back. */
+        gcmkVERIFY_OK(gckOS_DeleteMutex(os, mmu->mutex));
+
+        mmu->object.type = gcvOBJ_UNKNOWN;
+        gcmkVERIFY_OK(gckOS_Free(os, mmu));
+
+        /* Error. */
+        gcmkFATAL(
+            "%s(%d): could not allocate page table.",
+            __FUNCTION__, __LINE__
+            );
+
+        gcmkFOOTER();
+        return status;
+    }
+
+    /* Compute number of entries in page table. */
+    mmu->entryCount = mmu->pageTableSize / sizeof(gctUINT32);
+    mmu->entry = 0;
+
+    /* Mark the entire page table as available. */
+    pageTable = (gctUINT32 *) mmu->pageTableLogical;
+    for (i = 0; i < mmu->entryCount; i++)
+    {
+        pageTable[i] = (gctUINT32)~0;
+    }
+
+    /* Set page table address. */
+    status = gckVGHARDWARE_SetMMU(hardware, mmu->pageTableLogical);
+
+    if (status < 0)
+    {
+        /* Free the page table. */
+        gcmkVERIFY_OK(gckOS_FreeContiguous(mmu->os,
+                                      mmu->pageTablePhysical,
+                                      mmu->pageTableLogical,
+                                      mmu->pageTableSize));
+
+        /* Roll back. */
+        gcmkVERIFY_OK(gckOS_DeleteMutex(os, mmu->mutex));
+
+        mmu->object.type = gcvOBJ_UNKNOWN;
+        gcmkVERIFY_OK(gckOS_Free(os, mmu));
+
+        /* Error. */
+        gcmkFATAL(
+            "%s(%d): could not program page table.",
+            __FUNCTION__, __LINE__
+            );
+
+        gcmkFOOTER();
+        return status;
+    }
+
+    /* Return the gckVGMMU object pointer. */
+    *Mmu = mmu;
+
+    gcmkTRACE_ZONE(
+        gcvLEVEL_INFO, gcvZONE_MMU,
+        "%s(%d): %u entries at %p.(0x%08X)\n",
+        __FUNCTION__, __LINE__,
+        mmu->entryCount,
+        mmu->pageTableLogical,
+        mmu->pageTablePhysical
+        );
+
+    gcmkFOOTER_NO();
+    /* Success. */
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckVGMMU_Destroy
+**
+**  Destroy a nAQMMU object.
+**
+**  INPUT:
+**
+**      gckVGMMU Mmu
+**          Pointer to an gckVGMMU object.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS gckVGMMU_Destroy(
+    IN gckVGMMU Mmu
+    )
+{
+    gcmkHEADER_ARG("Mmu=0x%x", Mmu);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Mmu, gcvOBJ_MMU);
+
+    /* Free the page table. */
+    gcmkVERIFY_OK(gckOS_FreeContiguous(Mmu->os,
+                                  Mmu->pageTablePhysical,
+                                  Mmu->pageTableLogical,
+                                  Mmu->pageTableSize));
+
+    /* Roll back. */
+    gcmkVERIFY_OK(gckOS_DeleteMutex(Mmu->os, Mmu->mutex));
+
+    /* Mark the gckVGMMU object as unknown. */
+    Mmu->object.type = gcvOBJ_UNKNOWN;
+
+    /* Free the gckVGMMU object. */
+    gcmkVERIFY_OK(gckOS_Free(Mmu->os, Mmu));
+
+    gcmkFOOTER_NO();
+    /* Success. */
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckVGMMU_AllocatePages
+**
+**  Allocate pages inside the page table.
+**
+**  INPUT:
+**
+**      gckVGMMU Mmu
+**          Pointer to an gckVGMMU object.
+**
+**      gctSIZE_T PageCount
+**          Number of pages to allocate.
+**
+**  OUTPUT:
+**
+**      gctPOINTER * PageTable
+**          Pointer to a variable that receives the base address of the page
+**          table.
+**
+**      gctUINT32 * Address
+**          Pointer to a variable that receives the hardware specific address.
+*/
+gceSTATUS gckVGMMU_AllocatePages(
+    IN gckVGMMU Mmu,
+    IN gctSIZE_T PageCount,
+    OUT gctPOINTER * PageTable,
+    OUT gctUINT32 * Address
+    )
+{
+    gceSTATUS status;
+    gctUINT32 tail, index, i;
+    gctUINT32 * table;
+    gctBOOL allocated = gcvFALSE;
+
+    gcmkHEADER_ARG("Mmu=0x%x PageCount=0x%x PageTable=0x%x Address=0x%x",
+        Mmu, PageCount, PageTable, Address);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Mmu, gcvOBJ_MMU);
+    gcmkVERIFY_ARGUMENT(PageCount > 0);
+    gcmkVERIFY_ARGUMENT(PageTable != gcvNULL);
+    gcmkVERIFY_ARGUMENT(Address != gcvNULL);
+
+    gcmkTRACE_ZONE(
+        gcvLEVEL_INFO, gcvZONE_MMU,
+        "%s(%d): %u pages.\n",
+        __FUNCTION__, __LINE__,
+        PageCount
+        );
+
+    if (PageCount > Mmu->entryCount)
+    {
+        gcmkTRACE_ZONE(
+            gcvLEVEL_ERROR, gcvZONE_MMU,
+            "%s(%d): page table too small for %u pages.\n",
+            __FUNCTION__, __LINE__,
+            PageCount
+            );
+
+        gcmkFOOTER_NO();
+        /* Not enough pages avaiable. */
+        return gcvSTATUS_OUT_OF_RESOURCES;
+    }
+
+    /* Grab the mutex. */
+    status = gckOS_AcquireMutex(Mmu->os, Mmu->mutex, gcvINFINITE);
+
+    if (status < 0)
+    {
+        gcmkTRACE_ZONE(
+            gcvLEVEL_ERROR, gcvZONE_MMU,
+            "%s(%d): could not acquire mutex.\n"
+            ,__FUNCTION__, __LINE__
+            );
+
+        gcmkFOOTER();
+        /* Error. */
+        return status;
+    }
+
+    /* Compute the tail for this allocation. */
+    tail = Mmu->entryCount - PageCount;
+
+    /* Walk all entries until we find enough slots. */
+    for (index = Mmu->entry; index <= tail;)
+    {
+        /* Access page table. */
+        table = (gctUINT32 *) Mmu->pageTableLogical + index;
+
+        /* See if all slots are available. */
+        for (i = 0; i < PageCount; i++, table++)
+        {
+            if (*table != ~0)
+            {
+                /* Start from next slot. */
+                index += i + 1;
+                break;
+            }
+        }
+
+        if (i == PageCount)
+        {
+            /* Bail out if we have enough page entries. */
+            allocated = gcvTRUE;
+            break;
+        }
+    }
+
+    if (!allocated)
+    {
+        if (status >= 0)
+        {
+            /* Walk all entries until we find enough slots. */
+            for (index = 0; index <= tail;)
+            {
+                /* Access page table. */
+                table = (gctUINT32 *) Mmu->pageTableLogical + index;
+
+                /* See if all slots are available. */
+                for (i = 0; i < PageCount; i++, table++)
+                {
+                    if (*table != ~0)
+                    {
+                        /* Start from next slot. */
+                        index += i + 1;
+                        break;
+                    }
+                }
+
+                if (i == PageCount)
+                {
+                    /* Bail out if we have enough page entries. */
+                    allocated = gcvTRUE;
+                    break;
+                }
+            }
+        }
+    }
+
+    if (!allocated && (status >= 0))
+    {
+        gcmkTRACE_ZONE(
+            gcvLEVEL_ERROR, gcvZONE_MMU,
+            "%s(%d): not enough free pages for %u pages.\n",
+            __FUNCTION__, __LINE__,
+            PageCount
+            );
+
+        /* Not enough empty slots available. */
+        status = gcvSTATUS_OUT_OF_RESOURCES;
+    }
+
+    if (status >= 0)
+    {
+        /* Build virtual address. */
+        status = gckVGHARDWARE_BuildVirtualAddress(Mmu->hardware,
+                                                 index,
+                                                 0,
+                                                 Address);
+
+        if (status >= 0)
+        {
+            /* Update current entry into page table. */
+            Mmu->entry = index + PageCount;
+
+            /* Return pointer to page table. */
+            *PageTable = (gctUINT32 *)  Mmu->pageTableLogical + index;
+
+            gcmkTRACE_ZONE(
+                gcvLEVEL_INFO, gcvZONE_MMU,
+                "%s(%d): allocated %u pages at index %u (0x%08X) @ %p.\n",
+                __FUNCTION__, __LINE__,
+                PageCount,
+                index,
+                *Address,
+                *PageTable
+                );
+            }
+    }
+
+    /* Release the mutex. */
+    gcmkVERIFY_OK(gckOS_ReleaseMutex(Mmu->os, Mmu->mutex));
+    gcmkFOOTER();
+
+    /* Return status. */
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckVGMMU_FreePages
+**
+**  Free pages inside the page table.
+**
+**  INPUT:
+**
+**      gckVGMMU Mmu
+**          Pointer to an gckVGMMU object.
+**
+**      gctPOINTER PageTable
+**          Base address of the page table to free.
+**
+**      gctSIZE_T PageCount
+**          Number of pages to free.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS gckVGMMU_FreePages(
+    IN gckVGMMU Mmu,
+    IN gctPOINTER PageTable,
+    IN gctSIZE_T PageCount
+    )
+{
+    gctUINT32 * table;
+
+    gcmkHEADER_ARG("Mmu=0x%x PageTable=0x%x PageCount=0x%x",
+        Mmu, PageTable, PageCount);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Mmu, gcvOBJ_MMU);
+    gcmkVERIFY_ARGUMENT(PageTable != gcvNULL);
+    gcmkVERIFY_ARGUMENT(PageCount > 0);
+
+    gcmkTRACE_ZONE(
+        gcvLEVEL_INFO, gcvZONE_MMU,
+        "%s(%d): freeing %u pages at index %u @ %p.\n",
+        __FUNCTION__, __LINE__,
+        PageCount,
+        ((gctUINT32 *) PageTable - (gctUINT32 *) Mmu->pageTableLogical),
+        PageTable
+        );
+
+    /* Convert pointer. */
+    table = (gctUINT32 *) PageTable;
+
+    /* Mark the page table entries as available. */
+    while (PageCount-- > 0)
+    {
+        *table++ = (gctUINT32)~0;
+    }
+
+    gcmkFOOTER_NO();
+    /* Success. */
+    return gcvSTATUS_OK;
+}
+
+gceSTATUS
+gckVGMMU_SetPage(
+    IN gckVGMMU Mmu,
+    IN gctUINT32 PageAddress,
+    IN gctUINT32 *PageEntry
+    )
+{
+    gcmkHEADER_ARG("Mmu=0x%x", Mmu);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Mmu, gcvOBJ_MMU);
+    gcmkVERIFY_ARGUMENT(PageEntry != gcvNULL);
+    gcmkVERIFY_ARGUMENT(!(PageAddress & 0xFFF));
+
+    *PageEntry = PageAddress;
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+gceSTATUS
+gckVGMMU_Flush(
+   IN gckVGMMU Mmu
+   )
+{
+    gckVGHARDWARE hardware;
+
+    gcmkHEADER_ARG("Mmu=0x%x", Mmu);
+
+    hardware = Mmu->hardware;
+    gcmkVERIFY_OK(
+        gckOS_AtomSet(hardware->os, hardware->pageTableDirty, 1));
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+#endif /* gcdENABLE_VG */
diff --git a/drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_power.c b/drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_power.c
new file mode 100644 (file)
index 0000000..df7579d
--- /dev/null
@@ -0,0 +1,347 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#include "gc_hal_kernel_precomp.h"
+
+#define _GC_OBJ_ZONE    gcvZONE_POWER
+
+/******************************************************************************\
+************************ Dynamic Voltage Frequency Setting *********************
+\******************************************************************************/
+#if gcdDVFS
+static gctUINT32
+_GetLoadHistory(
+    IN gckDVFS Dvfs,
+    IN gctUINT32 Select,
+    IN gctUINT32 Index
+)
+{
+    return Dvfs->loads[Index];
+}
+
+static void
+_IncreaseScale(
+    IN gckDVFS Dvfs,
+    IN gctUINT32 Load,
+    OUT gctUINT8 *Scale
+    )
+{
+    if (Dvfs->currentScale < 32)
+    {
+        *Scale = Dvfs->currentScale + 8;
+    }
+    else
+    {
+        *Scale = Dvfs->currentScale + 8;
+        *Scale = gcmMIN(64, *Scale);
+    }
+}
+
+static void
+_RecordFrequencyHistory(
+    gckDVFS Dvfs,
+    gctUINT32 Frequency
+    )
+{
+    gctUINT32 i = 0;
+
+    struct _FrequencyHistory *history = Dvfs->frequencyHistory;
+
+    for (i = 0; i < 16; i++)
+    {
+        if (history->frequency == Frequency)
+        {
+            break;
+        }
+
+        if (history->frequency == 0)
+        {
+            history->frequency = Frequency;
+            break;
+        }
+
+        history++;
+    }
+
+    if (i < 16)
+    {
+        history->count++;
+    }
+}
+
+static gctUINT32
+_GetFrequencyHistory(
+    gckDVFS Dvfs,
+    gctUINT32 Frequency
+    )
+{
+    gctUINT32 i = 0;
+
+    struct _FrequencyHistory * history = Dvfs->frequencyHistory;
+
+    for (i = 0; i < 16; i++)
+    {
+        if (history->frequency == Frequency)
+        {
+            break;
+        }
+
+        history++;
+    }
+
+    if (i < 16)
+    {
+        return history->count;
+    }
+
+    return 0;
+}
+
+static void
+_Policy(
+    IN gckDVFS Dvfs,
+    IN gctUINT32 Load,
+    OUT gctUINT8 *Scale
+    )
+{
+    gctUINT8 load[4], nextLoad;
+    gctUINT8 scale;
+
+    /* Last 4 history. */
+    load[0] = (Load & 0xFF);
+    load[1] = (Load & 0xFF00) >> 8;
+    load[2] = (Load & 0xFF0000) >> 16;
+    load[3] = (Load & 0xFF000000) >> 24;
+
+    /* Determine target scale. */
+    if (load[0] > 54)
+    {
+        _IncreaseScale(Dvfs, Load, &scale);
+    }
+    else
+    {
+        nextLoad = (load[0] + load[1] + load[2] + load[3])/4;
+
+        scale = Dvfs->currentScale * (nextLoad) / 54;
+
+        scale = gcmMAX(1, scale);
+        scale = gcmMIN(64, scale);
+    }
+
+    Dvfs->totalConfig++;
+
+    Dvfs->loads[(load[0]-1)/8]++;
+
+    *Scale = scale;
+
+
+    if (Dvfs->totalConfig % 100 == 0)
+    {
+        gcmkPRINT("=======================================================");
+        gcmkPRINT("GPU Load:       %-8d %-8d %-8d %-8d %-8d %-8d %-8d %-8d",
+                                   8, 16, 24, 32, 40, 48, 56, 64);
+        gcmkPRINT("                %-8d %-8d %-8d %-8d %-8d %-8d %-8d %-8d",
+                  _GetLoadHistory(Dvfs,2, 0),
+                  _GetLoadHistory(Dvfs,2, 1),
+                  _GetLoadHistory(Dvfs,2, 2),
+                  _GetLoadHistory(Dvfs,2, 3),
+                  _GetLoadHistory(Dvfs,2, 4),
+                  _GetLoadHistory(Dvfs,2, 5),
+                  _GetLoadHistory(Dvfs,2, 6),
+                  _GetLoadHistory(Dvfs,2, 7)
+                  );
+
+        gcmkPRINT("Frequency(MHz)  %-8d %-8d %-8d %-8d %-8d",
+                  58, 120, 240, 360, 480);
+        gcmkPRINT("                %-8d %-8d %-8d %-8d %-8d",
+                  _GetFrequencyHistory(Dvfs, 58),
+                  _GetFrequencyHistory(Dvfs,120),
+                  _GetFrequencyHistory(Dvfs,240),
+                  _GetFrequencyHistory(Dvfs,360),
+                  _GetFrequencyHistory(Dvfs,480)
+                  );
+    }
+}
+
+static void
+_TimerFunction(
+    gctPOINTER Data
+    )
+{
+    gceSTATUS status;
+    gckDVFS dvfs = (gckDVFS) Data;
+    gckHARDWARE hardware = dvfs->hardware;
+    gctUINT32 value;
+    gctUINT32 frequency;
+    gctUINT8 scale;
+    gctUINT32 t1, t2, consumed;
+
+    gckOS_GetTicks(&t1);
+
+    gcmkONERROR(gckHARDWARE_QueryLoad(hardware, &value));
+
+    /* determine target sacle. */
+    _Policy(dvfs, value, &scale);
+
+    /* Set frequency and voltage. */
+    gcmkONERROR(gckOS_SetGPUFrequency(hardware->os, hardware->core, scale));
+
+    /* Query real frequency. */
+    gcmkONERROR(
+        gckOS_QueryGPUFrequency(hardware->os,
+                                hardware->core,
+                                &frequency,
+                                &dvfs->currentScale));
+
+    _RecordFrequencyHistory(dvfs, frequency);
+
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_POWER,
+                   "Current frequency = %d",
+                   frequency);
+
+    /* Set period. */
+    gcmkONERROR(gckHARDWARE_SetDVFSPeroid(hardware, frequency));
+
+OnError:
+    /* Determine next querying time. */
+    gckOS_GetTicks(&t2);
+
+    consumed = gcmMIN(((long)t2 - (long)t1), 5);
+
+    if (dvfs->stop == gcvFALSE)
+    {
+        gcmkVERIFY_OK(gckOS_StartTimer(hardware->os,
+                                       dvfs->timer,
+                                       dvfs->pollingTime - consumed));
+    }
+
+    return;
+}
+
+gceSTATUS
+gckDVFS_Construct(
+    IN gckHARDWARE Hardware,
+    OUT gckDVFS * Dvfs
+    )
+{
+    gceSTATUS status;
+    gctPOINTER pointer;
+    gckDVFS dvfs = gcvNULL;
+    gckOS os = Hardware->os;
+
+    gcmkHEADER_ARG("Hardware=0x%X", Hardware);
+
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+    gcmkVERIFY_ARGUMENT(Dvfs != gcvNULL);
+
+    /* Allocate a gckDVFS manager. */
+    gcmkONERROR(gckOS_Allocate(os, gcmSIZEOF(struct _gckDVFS), &pointer));
+
+    gckOS_ZeroMemory(pointer, gcmSIZEOF(struct _gckDVFS));
+
+    dvfs = pointer;
+
+    /* Initialization. */
+    dvfs->hardware = Hardware;
+    dvfs->pollingTime = gcdDVFS_POLLING_TIME;
+    dvfs->os = Hardware->os;
+    dvfs->currentScale = 64;
+
+    /* Create a polling timer. */
+    gcmkONERROR(gckOS_CreateTimer(os, _TimerFunction, pointer, &dvfs->timer));
+
+    /* Initialize frequency and voltage adjustment helper. */
+    gcmkONERROR(gckOS_PrepareGPUFrequency(os, Hardware->core));
+
+    /* Return result. */
+    *Dvfs = dvfs;
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Roll back. */
+    if (dvfs)
+    {
+        if (dvfs->timer)
+        {
+            gcmkVERIFY_OK(gckOS_DestroyTimer(os, dvfs->timer));
+        }
+
+        gcmkOS_SAFE_FREE(os, dvfs);
+    }
+
+    gcmkFOOTER();
+    return status;
+}
+
+gceSTATUS
+gckDVFS_Destroy(
+    IN gckDVFS Dvfs
+    )
+{
+    gcmkHEADER_ARG("Dvfs=0x%X", Dvfs);
+    gcmkVERIFY_ARGUMENT(Dvfs != gcvNULL);
+
+    /* Deinitialize helper fuunction. */
+    gcmkVERIFY_OK(gckOS_FinishGPUFrequency(Dvfs->os, Dvfs->hardware->core));
+
+    /* DestroyTimer. */
+    gcmkVERIFY_OK(gckOS_DestroyTimer(Dvfs->os, Dvfs->timer));
+
+    gcmkOS_SAFE_FREE(Dvfs->os, Dvfs);
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+gceSTATUS
+gckDVFS_Start(
+    IN gckDVFS Dvfs
+    )
+{
+    gcmkHEADER_ARG("Dvfs=0x%X", Dvfs);
+    gcmkVERIFY_ARGUMENT(Dvfs != gcvNULL);
+
+    gckHARDWARE_InitDVFS(Dvfs->hardware);
+
+    Dvfs->stop = gcvFALSE;
+
+    gckOS_StartTimer(Dvfs->os, Dvfs->timer, Dvfs->pollingTime);
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+gceSTATUS
+gckDVFS_Stop(
+    IN gckDVFS Dvfs
+    )
+{
+    gcmkHEADER_ARG("Dvfs=0x%X", Dvfs);
+    gcmkVERIFY_ARGUMENT(Dvfs != gcvNULL);
+
+    Dvfs->stop = gcvTRUE;
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+#endif
diff --git a/drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_precomp.h b/drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_precomp.h
new file mode 100644 (file)
index 0000000..1e764c2
--- /dev/null
@@ -0,0 +1,29 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#ifndef __gc_hal_kernel_precomp_h_
+#define __gc_hal_kernel_precomp_h_
+
+#include "gc_hal.h"
+#include "gc_hal_driver.h"
+#include "gc_hal_kernel.h"
+
+#endif /* __gc_hal_kernel_precomp_h_ */
diff --git a/drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_vg.c b/drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_vg.c
new file mode 100644 (file)
index 0000000..d7b8e08
--- /dev/null
@@ -0,0 +1,895 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#include "gc_hal_kernel_precomp.h"
+
+#if gcdENABLE_VG
+
+#define ENABLE_VG_TRY_VIRTUAL_MEMORY 0
+
+#define _GC_OBJ_ZONE            gcvZONE_VG
+
+/******************************************************************************\
+******************************* gckKERNEL API Code ******************************
+\******************************************************************************/
+
+/*******************************************************************************
+**
+**  gckKERNEL_Construct
+**
+**  Construct a new gckKERNEL object.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      IN gctPOINTER Context
+**          Pointer to a driver defined context.
+**
+**  OUTPUT:
+**
+**      gckKERNEL * Kernel
+**          Pointer to a variable that will hold the pointer to the gckKERNEL
+**          object.
+*/
+gceSTATUS gckVGKERNEL_Construct(
+    IN gckOS Os,
+    IN gctPOINTER Context,
+    IN gckKERNEL  inKernel,
+    OUT gckVGKERNEL * Kernel
+    )
+{
+    gceSTATUS status;
+    gckVGKERNEL kernel = gcvNULL;
+
+    gcmkHEADER_ARG("Os=0x%x Context=0x%x", Os, Context);
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Kernel != gcvNULL);
+
+    do
+    {
+        /* Allocate the gckKERNEL object. */
+        gcmkERR_BREAK(gckOS_Allocate(
+            Os,
+            sizeof(struct _gckVGKERNEL),
+            (gctPOINTER *) &kernel
+            ));
+
+        /* Initialize the gckKERNEL object. */
+        kernel->object.type = gcvOBJ_KERNEL;
+        kernel->os          = Os;
+        kernel->context     = Context;
+        kernel->hardware    = gcvNULL;
+        kernel->interrupt   = gcvNULL;
+        kernel->command     = gcvNULL;
+        kernel->mmu         = gcvNULL;
+        kernel->kernel      = inKernel;
+
+        /* Construct the gckVGHARDWARE object. */
+        gcmkERR_BREAK(gckVGHARDWARE_Construct(
+            Os, &kernel->hardware
+            ));
+
+        /* Set pointer to gckKERNEL object in gckVGHARDWARE object. */
+        kernel->hardware->kernel = kernel;
+
+        /* Construct the gckVGINTERRUPT object. */
+        gcmkERR_BREAK(gckVGINTERRUPT_Construct(
+            kernel, &kernel->interrupt
+            ));
+
+        /* Construct the gckVGCOMMAND object. */
+        gcmkERR_BREAK(gckVGCOMMAND_Construct(
+            kernel, gcmKB2BYTES(8), gcmKB2BYTES(2), &kernel->command
+            ));
+
+        /* Construct the gckVGMMU object. */
+        gcmkERR_BREAK(gckVGMMU_Construct(
+            kernel, gcmKB2BYTES(32), &kernel->mmu
+            ));
+
+        /* Return pointer to the gckKERNEL object. */
+        *Kernel = kernel;
+
+        gcmkFOOTER_ARG("*Kernel=0x%x", *Kernel);
+        /* Success. */
+        return gcvSTATUS_OK;
+    }
+    while (gcvFALSE);
+
+    /* Roll back. */
+    if (kernel != gcvNULL)
+    {
+        if (kernel->mmu != gcvNULL)
+        {
+            gcmkVERIFY_OK(gckVGMMU_Destroy(kernel->mmu));
+        }
+
+        if (kernel->command != gcvNULL)
+        {
+            gcmkVERIFY_OK(gckVGCOMMAND_Destroy(kernel->command));
+        }
+
+        if (kernel->interrupt != gcvNULL)
+        {
+            gcmkVERIFY_OK(gckVGINTERRUPT_Destroy(kernel->interrupt));
+        }
+
+        if (kernel->hardware != gcvNULL)
+        {
+            gcmkVERIFY_OK(gckVGHARDWARE_Destroy(kernel->hardware));
+        }
+
+        gcmkVERIFY_OK(gckOS_Free(Os, kernel));
+    }
+
+    gcmkFOOTER();
+    /* Return status. */
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckKERNEL_Destroy
+**
+**  Destroy an gckKERNEL object.
+**
+**  INPUT:
+**
+**      gckKERNEL Kernel
+**          Pointer to an gckKERNEL object to destroy.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS gckVGKERNEL_Destroy(
+    IN gckVGKERNEL Kernel
+    )
+{
+    gceSTATUS status;
+
+    gcmkHEADER_ARG("Kernel=0x%x", Kernel);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Kernel, gcvOBJ_KERNEL);
+
+    do
+    {
+        /* Destroy the gckVGMMU object. */
+        if (Kernel->mmu != gcvNULL)
+        {
+            gcmkERR_BREAK(gckVGMMU_Destroy(Kernel->mmu));
+            Kernel->mmu = gcvNULL;
+        }
+
+        /* Destroy the gckVGCOMMAND object. */
+        if (Kernel->command != gcvNULL)
+        {
+            gcmkERR_BREAK(gckVGCOMMAND_Destroy(Kernel->command));
+            Kernel->command = gcvNULL;
+        }
+
+        /* Destroy the gckVGINTERRUPT object. */
+        if (Kernel->interrupt != gcvNULL)
+        {
+            gcmkERR_BREAK(gckVGINTERRUPT_Destroy(Kernel->interrupt));
+            Kernel->interrupt = gcvNULL;
+        }
+
+        /* Destroy the gckVGHARDWARE object. */
+        if (Kernel->hardware != gcvNULL)
+        {
+            gcmkERR_BREAK(gckVGHARDWARE_Destroy(Kernel->hardware));
+            Kernel->hardware = gcvNULL;
+        }
+
+        /* Mark the gckKERNEL object as unknown. */
+        Kernel->object.type = gcvOBJ_UNKNOWN;
+
+        /* Free the gckKERNEL object. */
+        gcmkERR_BREAK(gckOS_Free(Kernel->os, Kernel));
+    }
+    while (gcvFALSE);
+
+    gcmkFOOTER();
+
+    /* Return status. */
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckKERNEL_AllocateLinearMemory
+**
+**  Function walks all required memory pools and allocates the requested
+**  amount of video memory.
+**
+**  INPUT:
+**
+**      gckKERNEL Kernel
+**          Pointer to an gckKERNEL object.
+**
+**      gcePOOL * Pool
+**          Pointer the desired memory pool.
+**
+**      gctSIZE_T Bytes
+**          Number of bytes to allocate.
+**
+**      gctSIZE_T Alignment
+**          Required buffer alignment.
+**
+**      gceSURF_TYPE Type
+**          Surface type.
+**
+**  OUTPUT:
+**
+**      gcePOOL * Pool
+**          Pointer to the actual pool where the memory was allocated.
+**
+**      gcuVIDMEM_NODE_PTR * Node
+**          Allocated node.
+*/
+gceSTATUS
+gckKERNEL_AllocateLinearMemory(
+    IN gckKERNEL Kernel,
+    IN OUT gcePOOL * Pool,
+    IN gctSIZE_T Bytes,
+    IN gctSIZE_T Alignment,
+    IN gceSURF_TYPE Type,
+    OUT gcuVIDMEM_NODE_PTR * Node
+    )
+{
+    gcePOOL pool;
+    gceSTATUS status;
+    gckVIDMEM videoMemory;
+
+    /* Get initial pool. */
+    switch (pool = *Pool)
+    {
+    case gcvPOOL_DEFAULT:
+    case gcvPOOL_LOCAL:
+        pool = gcvPOOL_LOCAL_INTERNAL;
+        break;
+
+    case gcvPOOL_UNIFIED:
+        pool = gcvPOOL_SYSTEM;
+        break;
+
+    default:
+        break;
+    }
+
+    do
+    {
+        /* Verify the number of bytes to allocate. */
+        if (Bytes == 0)
+        {
+            status = gcvSTATUS_INVALID_ARGUMENT;
+            break;
+        }
+
+        if (pool == gcvPOOL_VIRTUAL)
+        {
+            /* Create a gcuVIDMEM_NODE for virtual memory. */
+            gcmkERR_BREAK(gckVIDMEM_ConstructVirtual(Kernel, gcvFALSE, Bytes, Node));
+
+            /* Success. */
+            break;
+        }
+
+        else
+        {
+            /* Get pointer to gckVIDMEM object for pool. */
+            status = gckKERNEL_GetVideoMemoryPool(Kernel, pool, &videoMemory);
+
+            if (status == gcvSTATUS_OK)
+            {
+                if(*Pool == gcvPOOL_SYSTEM)
+                    Type |= gcvSURF_VG;
+                /* Allocate memory. */
+                status = gckVIDMEM_AllocateLinear(videoMemory,
+                                                  Bytes,
+                                                  Alignment,
+                                                  Type,
+                                                  Node);
+
+                if (status == gcvSTATUS_OK)
+                {
+                    /* Memory allocated. */
+                    break;
+                }
+            }
+        }
+
+        if (pool == gcvPOOL_LOCAL_INTERNAL)
+        {
+            /* Advance to external memory. */
+            pool = gcvPOOL_LOCAL_EXTERNAL;
+        }
+        else if (pool == gcvPOOL_LOCAL_EXTERNAL)
+        {
+            /* Advance to contiguous system memory. */
+            pool = gcvPOOL_SYSTEM;
+        }
+        else if (pool == gcvPOOL_SYSTEM)
+        {
+            /* Advance to virtual memory. */
+#if ENABLE_VG_TRY_VIRTUAL_MEMORY
+            pool = gcvPOOL_VIRTUAL;
+#else
+            /*VG non-contiguous memory support is not ready yet, disable it temporary*/
+            status = gcvSTATUS_OUT_OF_MEMORY;
+            break;
+#endif
+        }
+        else
+        {
+            /* Out of pools. */
+            status = gcvSTATUS_OUT_OF_MEMORY;
+            break;
+        }
+    }
+    /* Loop only for multiple selection pools. */
+    while ((*Pool == gcvPOOL_DEFAULT)
+    ||     (*Pool == gcvPOOL_LOCAL)
+    ||     (*Pool == gcvPOOL_UNIFIED)
+    );
+
+    if (gcmIS_SUCCESS(status))
+    {
+        /* Return pool used for allocation. */
+        *Pool = pool;
+    }
+
+    /* Return status. */
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckKERNEL_Dispatch
+**
+**  Dispatch a command received from the user HAL layer.
+**
+**  INPUT:
+**
+**      gckKERNEL Kernel
+**          Pointer to an gckKERNEL object.
+**
+**      gcsHAL_INTERFACE * Interface
+**          Pointer to a gcsHAL_INTERFACE structure that defines the command to
+**          be dispatched.
+**
+**  OUTPUT:
+**
+**      gcsHAL_INTERFACE * Interface
+**          Pointer to a gcsHAL_INTERFACE structure that receives any data to be
+**          returned.
+*/
+gceSTATUS gckVGKERNEL_Dispatch(
+    IN gckKERNEL Kernel,
+    IN gctBOOL FromUser,
+    IN OUT gcsHAL_INTERFACE * Interface
+    )
+{
+    gceSTATUS status;
+    gcsHAL_INTERFACE * kernelInterface = Interface;
+    gcuVIDMEM_NODE_PTR node;
+    gctUINT32 processID;
+    gckKERNEL kernel = Kernel;
+    gctPOINTER info = gcvNULL;
+    gctPHYS_ADDR physical = gcvNULL;
+    gctPOINTER logical = gcvNULL;
+    gctSIZE_T bytes = 0;
+
+    gcmkHEADER_ARG("Kernel=0x%x Interface=0x%x ", Kernel, Interface);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Kernel, gcvOBJ_KERNEL);
+    gcmkVERIFY_ARGUMENT(Interface != gcvNULL);
+
+    gcmkONERROR(gckOS_GetProcessID(&processID));
+
+    /* Dispatch on command. */
+    switch (Interface->command)
+    {
+    case gcvHAL_QUERY_VIDEO_MEMORY:
+        /* Query video memory size. */
+        gcmkERR_BREAK(gckKERNEL_QueryVideoMemory(
+            Kernel, kernelInterface
+            ));
+        break;
+
+    case gcvHAL_QUERY_CHIP_IDENTITY:
+        /* Query chip identity. */
+        gcmkERR_BREAK(gckVGHARDWARE_QueryChipIdentity(
+            Kernel->vg->hardware,
+            &kernelInterface->u.QueryChipIdentity.chipModel,
+            &kernelInterface->u.QueryChipIdentity.chipRevision,
+            &kernelInterface->u.QueryChipIdentity.chipFeatures,
+            &kernelInterface->u.QueryChipIdentity.chipMinorFeatures,
+            &kernelInterface->u.QueryChipIdentity.chipMinorFeatures2
+            ));
+        break;
+
+    case gcvHAL_QUERY_COMMAND_BUFFER:
+        /* Query command buffer information. */
+        gcmkERR_BREAK(gckKERNEL_QueryCommandBuffer(
+            Kernel,
+            &kernelInterface->u.QueryCommandBuffer.information
+            ));
+        break;
+    case gcvHAL_ALLOCATE_NON_PAGED_MEMORY:
+        bytes = (gctSIZE_T) kernelInterface->u.AllocateNonPagedMemory.bytes;
+        /* Allocate non-paged memory. */
+        gcmkERR_BREAK(gckOS_AllocateContiguous(
+            Kernel->os,
+            gcvTRUE,
+            &bytes,
+            &physical,
+            &logical
+            ));
+
+        kernelInterface->u.AllocateNonPagedMemory.bytes    = bytes;
+        kernelInterface->u.AllocateNonPagedMemory.logical  = gcmPTR_TO_UINT64(logical);
+        kernelInterface->u.AllocateNonPagedMemory.physical = gcmPTR_TO_NAME(physical);
+        break;
+
+    case gcvHAL_FREE_NON_PAGED_MEMORY:
+        physical = gcmNAME_TO_PTR(kernelInterface->u.AllocateNonPagedMemory.physical);
+
+        /* Unmap user logical out of physical memory first. */
+        gcmkERR_BREAK(gckOS_UnmapUserLogical(
+            Kernel->os,
+            physical,
+            (gctSIZE_T) kernelInterface->u.AllocateNonPagedMemory.bytes,
+            gcmUINT64_TO_PTR(kernelInterface->u.AllocateNonPagedMemory.logical)
+            ));
+
+        /* Free non-paged memory. */
+        gcmkERR_BREAK(gckOS_FreeNonPagedMemory(
+            Kernel->os,
+            (gctSIZE_T) kernelInterface->u.AllocateNonPagedMemory.bytes,
+            physical,
+            gcmUINT64_TO_PTR(kernelInterface->u.AllocateNonPagedMemory.logical)
+            ));
+
+        gcmRELEASE_NAME(kernelInterface->u.AllocateNonPagedMemory.physical);
+        break;
+
+    case gcvHAL_ALLOCATE_CONTIGUOUS_MEMORY:
+        bytes = (gctSIZE_T) kernelInterface->u.AllocateNonPagedMemory.bytes;
+        /* Allocate contiguous memory. */
+        gcmkERR_BREAK(gckOS_AllocateContiguous(
+            Kernel->os,
+            gcvTRUE,
+            &bytes,
+            &physical,
+            &logical
+            ));
+
+        kernelInterface->u.AllocateNonPagedMemory.bytes    = bytes;
+        kernelInterface->u.AllocateNonPagedMemory.logical  = gcmPTR_TO_UINT64(logical);
+        kernelInterface->u.AllocateNonPagedMemory.physical = gcmPTR_TO_NAME(physical);
+        break;
+
+    case gcvHAL_FREE_CONTIGUOUS_MEMORY:
+        physical = gcmNAME_TO_PTR(kernelInterface->u.AllocateNonPagedMemory.physical);
+        /* Unmap user logical out of physical memory first. */
+        gcmkERR_BREAK(gckOS_UnmapUserLogical(
+            Kernel->os,
+            physical,
+            (gctSIZE_T) kernelInterface->u.AllocateNonPagedMemory.bytes,
+            gcmUINT64_TO_PTR(kernelInterface->u.AllocateNonPagedMemory.logical)
+            ));
+
+        /* Free contiguous memory. */
+        gcmkERR_BREAK(gckOS_FreeContiguous(
+            Kernel->os,
+            physical,
+            gcmUINT64_TO_PTR(kernelInterface->u.AllocateNonPagedMemory.logical),
+            (gctSIZE_T) kernelInterface->u.AllocateNonPagedMemory.bytes
+            ));
+
+        gcmRELEASE_NAME(kernelInterface->u.AllocateNonPagedMemory.physical);
+        break;
+
+    case gcvHAL_ALLOCATE_VIDEO_MEMORY:
+        {
+            gctSIZE_T bytes;
+            gctUINT32 bitsPerPixel;
+            gctUINT32 bits;
+
+            /* Align width and height to tiles. */
+            gcmkERR_BREAK(gckVGHARDWARE_AlignToTile(
+                Kernel->vg->hardware,
+                kernelInterface->u.AllocateVideoMemory.type,
+                &kernelInterface->u.AllocateVideoMemory.width,
+                &kernelInterface->u.AllocateVideoMemory.height
+                ));
+
+            /* Convert format into bytes per pixel and bytes per tile. */
+            gcmkERR_BREAK(gckVGHARDWARE_ConvertFormat(
+                Kernel->vg->hardware,
+                kernelInterface->u.AllocateVideoMemory.format,
+                &bitsPerPixel,
+                gcvNULL
+                ));
+
+            /* Compute number of bits for the allocation. */
+            bits
+                = kernelInterface->u.AllocateVideoMemory.width
+                * kernelInterface->u.AllocateVideoMemory.height
+                * kernelInterface->u.AllocateVideoMemory.depth
+                * bitsPerPixel;
+
+            /* Compute number of bytes for the allocation. */
+            bytes = gcmALIGN(bits, 8) / 8;
+
+            /* Allocate memory. */
+            gcmkERR_BREAK(gckKERNEL_AllocateLinearMemory(
+                Kernel,
+                &kernelInterface->u.AllocateVideoMemory.pool,
+                bytes,
+                64,
+                kernelInterface->u.AllocateVideoMemory.type,
+                &node
+                ));
+
+            kernelInterface->u.AllocateVideoMemory.node = gcmPTR_TO_UINT64(node);
+        }
+        break;
+
+    case gcvHAL_ALLOCATE_LINEAR_VIDEO_MEMORY:
+        /* Allocate memory. */
+        gcmkERR_BREAK(gckKERNEL_AllocateLinearMemory(
+            Kernel,
+            &kernelInterface->u.AllocateLinearVideoMemory.pool,
+            kernelInterface->u.AllocateLinearVideoMemory.bytes,
+            kernelInterface->u.AllocateLinearVideoMemory.alignment,
+            kernelInterface->u.AllocateLinearVideoMemory.type,
+            &node
+            ));
+
+        gcmkERR_BREAK(gckKERNEL_AddProcessDB(Kernel,
+           processID, gcvDB_VIDEO_MEMORY,
+           node,
+           gcvNULL,
+           kernelInterface->u.AllocateLinearVideoMemory.bytes
+           ));
+
+        kernelInterface->u.AllocateLinearVideoMemory.node = gcmPTR_TO_UINT64(node);
+        break;
+
+    case gcvHAL_FREE_VIDEO_MEMORY:
+        node = gcmUINT64_TO_PTR(Interface->u.FreeVideoMemory.node);
+#ifdef __QNXNTO__
+        /* Unmap the video memory */
+
+        if ((node->VidMem.memory->object.type == gcvOBJ_VIDMEM) &&
+            (node->VidMem.logical != gcvNULL))
+        {
+            gckKERNEL_UnmapVideoMemory(Kernel,
+                                       node->VidMem.logical,
+                                       processID,
+                                       node->VidMem.bytes);
+            node->VidMem.logical = gcvNULL;
+        }
+#endif /* __QNXNTO__ */
+
+        /* Free video memory. */
+        gcmkERR_BREAK(gckVIDMEM_Free(
+            node
+            ));
+
+        gcmkERR_BREAK(gckKERNEL_RemoveProcessDB(
+            Kernel,
+            processID, gcvDB_VIDEO_MEMORY,
+            node
+            ));
+
+        break;
+
+    case gcvHAL_MAP_MEMORY:
+        /* Map memory. */
+        gcmkERR_BREAK(gckKERNEL_MapMemory(
+            Kernel,
+            gcmINT2PTR(kernelInterface->u.MapMemory.physical),
+            (gctSIZE_T) kernelInterface->u.MapMemory.bytes,
+            &logical
+            ));
+        kernelInterface->u.MapMemory.logical = gcmPTR_TO_UINT64(logical);
+        break;
+
+    case gcvHAL_UNMAP_MEMORY:
+        /* Unmap memory. */
+        gcmkERR_BREAK(gckKERNEL_UnmapMemory(
+            Kernel,
+            gcmINT2PTR(kernelInterface->u.MapMemory.physical),
+            (gctSIZE_T) kernelInterface->u.MapMemory.bytes,
+            gcmUINT64_TO_PTR(kernelInterface->u.MapMemory.logical)
+            ));
+        break;
+
+    case gcvHAL_MAP_USER_MEMORY:
+        /* Map user memory to DMA. */
+        gcmkERR_BREAK(gckOS_MapUserMemory(
+            Kernel->os,
+            gcvCORE_VG,
+            gcmUINT64_TO_PTR(kernelInterface->u.MapUserMemory.memory),
+            kernelInterface->u.MapUserMemory.physical,
+            (gctSIZE_T) kernelInterface->u.MapUserMemory.size,
+            &info,
+            &kernelInterface->u.MapUserMemory.address
+            ));
+
+        kernelInterface->u.MapUserMemory.info = gcmPTR_TO_NAME(info);
+        break;
+
+    case gcvHAL_UNMAP_USER_MEMORY:
+        /* Unmap user memory. */
+        gcmkERR_BREAK(gckOS_UnmapUserMemory(
+            Kernel->os,
+            gcvCORE_VG,
+            gcmUINT64_TO_PTR(kernelInterface->u.UnmapUserMemory.memory),
+            (gctSIZE_T) kernelInterface->u.UnmapUserMemory.size,
+            gcmNAME_TO_PTR(kernelInterface->u.UnmapUserMemory.info),
+            kernelInterface->u.UnmapUserMemory.address
+            ));
+        gcmRELEASE_NAME(kernelInterface->u.UnmapUserMemory.info);
+        break;
+    case gcvHAL_LOCK_VIDEO_MEMORY:
+        node = gcmUINT64_TO_PTR(Interface->u.LockVideoMemory.node);
+
+        /* Lock video memory. */
+        gcmkERR_BREAK(
+            gckVIDMEM_Lock(Kernel,
+                           node,
+                                                  gcvFALSE,
+                           &Interface->u.LockVideoMemory.address));
+
+        if (node->VidMem.memory->object.type == gcvOBJ_VIDMEM)
+        {
+            /* Map video memory address into user space. */
+#ifdef __QNXNTO__
+        if (node->VidMem.logical == gcvNULL)
+        {
+            gcmkONERROR(
+                gckKERNEL_MapVideoMemory(Kernel,
+                                         FromUser,
+                                         Interface->u.LockVideoMemory.address,
+                                         processID,
+                                         node->VidMem.bytes,
+                                         &node->VidMem.logical));
+        }
+
+        Interface->u.LockVideoMemory.memory = gcmPTR_TO_UINT64(node->VidMem.logical);
+#else
+            gcmkERR_BREAK(
+                gckKERNEL_MapVideoMemoryEx(Kernel,
+                                         gcvCORE_VG,
+                                         FromUser,
+                                         Interface->u.LockVideoMemory.address,
+                                         &logical));
+            Interface->u.LockVideoMemory.memory = gcmPTR_TO_UINT64(logical);
+#endif
+        }
+        else
+        {
+            Interface->u.LockVideoMemory.memory = gcmPTR_TO_UINT64(node->Virtual.logical);
+
+            /* Success. */
+            status = gcvSTATUS_OK;
+        }
+
+#if gcdSECURE_USER
+        /* Return logical address as physical address. */
+        Interface->u.LockVideoMemory.address =
+            (gctUINT32)(Interface->u.LockVideoMemory.memory);
+#endif
+        gcmkERR_BREAK(
+            gckKERNEL_AddProcessDB(Kernel,
+                                   processID, gcvDB_VIDEO_MEMORY_LOCKED,
+                                   node,
+                                   gcvNULL,
+                                   0));
+        break;
+
+    case gcvHAL_UNLOCK_VIDEO_MEMORY:
+        /* Unlock video memory. */
+        node = gcmUINT64_TO_PTR(Interface->u.UnlockVideoMemory.node);
+
+#if gcdSECURE_USER
+        /* Save node information before it disappears. */
+        if (node->VidMem.memory->object.type == gcvOBJ_VIDMEM)
+        {
+            logical = gcvNULL;
+            bytes   = 0;
+        }
+        else
+        {
+            logical = node->Virtual.logical;
+            bytes   = node->Virtual.bytes;
+        }
+#endif
+
+        /* Unlock video memory. */
+        gcmkERR_BREAK(
+            gckVIDMEM_Unlock(Kernel,
+                             node,
+                             Interface->u.UnlockVideoMemory.type,
+                             &Interface->u.UnlockVideoMemory.asynchroneous));
+
+#if gcdSECURE_USER
+        /* Flush the translation cache for virtual surfaces. */
+        if (logical != gcvNULL)
+        {
+            gcmkVERIFY_OK(gckKERNEL_FlushTranslationCache(Kernel,
+                                                          cache,
+                                                          logical,
+                                                          bytes));
+        }
+#endif
+
+        if (Interface->u.UnlockVideoMemory.asynchroneous == gcvFALSE)
+        {
+            /* There isn't a event to unlock this node, remove record now */
+            gcmkERR_BREAK(
+                    gckKERNEL_RemoveProcessDB(Kernel,
+                        processID, gcvDB_VIDEO_MEMORY_LOCKED,
+                        node));
+        }
+
+        break;
+    case gcvHAL_USER_SIGNAL:
+#if !USE_NEW_LINUX_SIGNAL
+        /* Dispatch depends on the user signal subcommands. */
+        switch(Interface->u.UserSignal.command)
+        {
+        case gcvUSER_SIGNAL_CREATE:
+            /* Create a signal used in the user space. */
+            gcmkERR_BREAK(
+                gckOS_CreateUserSignal(Kernel->os,
+                                       Interface->u.UserSignal.manualReset,
+                                       &Interface->u.UserSignal.id));
+
+            gcmkVERIFY_OK(
+                gckKERNEL_AddProcessDB(Kernel,
+                                       processID, gcvDB_SIGNAL,
+                                       gcmINT2PTR(Interface->u.UserSignal.id),
+                                       gcvNULL,
+                                       0));
+            break;
+
+        case gcvUSER_SIGNAL_DESTROY:
+            /* Destroy the signal. */
+            gcmkERR_BREAK(
+                gckOS_DestroyUserSignal(Kernel->os,
+                                        Interface->u.UserSignal.id));
+
+            gcmkVERIFY_OK(gckKERNEL_RemoveProcessDB(
+                Kernel,
+                processID, gcvDB_SIGNAL,
+                gcmINT2PTR(Interface->u.UserSignal.id)));
+            break;
+
+        case gcvUSER_SIGNAL_SIGNAL:
+            /* Signal the signal. */
+            gcmkERR_BREAK(
+                gckOS_SignalUserSignal(Kernel->os,
+                                       Interface->u.UserSignal.id,
+                                       Interface->u.UserSignal.state));
+            break;
+
+        case gcvUSER_SIGNAL_WAIT:
+            /* Wait on the signal. */
+            status = gckOS_WaitUserSignal(Kernel->os,
+                                          Interface->u.UserSignal.id,
+                                          Interface->u.UserSignal.wait);
+            break;
+
+        default:
+            /* Invalid user signal command. */
+            gcmkERR_BREAK(gcvSTATUS_INVALID_ARGUMENT);
+        }
+#endif
+        break;
+
+    case gcvHAL_COMMIT:
+        /* Commit a command and context buffer. */
+        gcmkERR_BREAK(gckVGCOMMAND_Commit(
+            Kernel->vg->command,
+            gcmUINT64_TO_PTR(kernelInterface->u.VGCommit.context),
+            gcmUINT64_TO_PTR(kernelInterface->u.VGCommit.queue),
+            kernelInterface->u.VGCommit.entryCount,
+            gcmUINT64_TO_PTR(kernelInterface->u.VGCommit.taskTable)
+            ));
+        break;
+    case gcvHAL_VERSION:
+        kernelInterface->u.Version.major = gcvVERSION_MAJOR;
+        kernelInterface->u.Version.minor = gcvVERSION_MINOR;
+        kernelInterface->u.Version.patch = gcvVERSION_PATCH;
+        kernelInterface->u.Version.build = gcvVERSION_BUILD;
+        status = gcvSTATUS_OK;
+        break;
+
+    case gcvHAL_GET_BASE_ADDRESS:
+        /* Get base address. */
+        gcmkERR_BREAK(
+            gckOS_GetBaseAddress(Kernel->os,
+                                 &kernelInterface->u.GetBaseAddress.baseAddress));
+        break;
+    default:
+        /* Invalid command. */
+        status = gcvSTATUS_INVALID_ARGUMENT;
+    }
+
+OnError:
+    /* Save status. */
+    kernelInterface->status = status;
+
+    gcmkFOOTER();
+
+    /* Return the status. */
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckKERNEL_QueryCommandBuffer
+**
+**  Query command buffer attributes.
+**
+**  INPUT:
+**
+**      gckKERNEL Kernel
+**          Pointer to an gckVGHARDWARE object.
+**
+**  OUTPUT:
+**
+**      gcsCOMMAND_BUFFER_INFO_PTR Information
+**          Pointer to the information structure to receive buffer attributes.
+*/
+gceSTATUS
+gckKERNEL_QueryCommandBuffer(
+    IN gckKERNEL Kernel,
+    OUT gcsCOMMAND_BUFFER_INFO_PTR Information
+    )
+{
+    gceSTATUS status;
+
+    gcmkHEADER_ARG("Kernel=0x%x *Pool=0x%x",
+                   Kernel, Information);
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Kernel, gcvOBJ_KERNEL);
+
+    /* Get the information. */
+    status = gckVGCOMMAND_QueryCommandBuffer(Kernel->vg->command, Information);
+
+    gcmkFOOTER();
+    /* Return status. */
+    return status;
+}
+
+#endif /* gcdENABLE_VG */
diff --git a/drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_vg.h b/drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_vg.h
new file mode 100644 (file)
index 0000000..b6c6d7e
--- /dev/null
@@ -0,0 +1,85 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#ifndef __gc_hal_kernel_vg_h_
+#define __gc_hal_kernel_vg_h_
+
+#include "gc_hal.h"
+#include "gc_hal_driver.h"
+#include "gc_hal_kernel_hardware.h"
+
+/******************************************************************************\
+********************************** Structures **********************************
+\******************************************************************************/
+
+/* gckKERNEL object. */
+struct _gckVGKERNEL
+{
+    /* Object. */
+    gcsOBJECT                   object;
+
+    /* Pointer to gckOS object. */
+    gckOS                       os;
+
+    /* Pointer to gckHARDWARE object. */
+    gckVGHARDWARE                   hardware;
+
+    /* Pointer to gckINTERRUPT object. */
+    gckVGINTERRUPT              interrupt;
+
+    /* Pointer to gckCOMMAND object. */
+    gckVGCOMMAND                    command;
+
+    /* Pointer to context. */
+    gctPOINTER                  context;
+
+    /* Pointer to gckMMU object. */
+    gckVGMMU                        mmu;
+
+    gckKERNEL                   kernel;
+};
+
+/* gckMMU object. */
+struct _gckVGMMU
+{
+    /* The object. */
+    gcsOBJECT                   object;
+
+    /* Pointer to gckOS object. */
+    gckOS                       os;
+
+    /* Pointer to gckHARDWARE object. */
+    gckVGHARDWARE                   hardware;
+
+    /* The page table mutex. */
+    gctPOINTER                  mutex;
+
+    /* Page table information. */
+    gctSIZE_T                   pageTableSize;
+    gctPHYS_ADDR                pageTablePhysical;
+    gctPOINTER                  pageTableLogical;
+
+    /* Allocation index. */
+    gctUINT32                   entryCount;
+    gctUINT32                   entry;
+};
+
+#endif /* __gc_hal_kernel_h_ */
diff --git a/drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_video_memory.c b/drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_video_memory.c
new file mode 100644 (file)
index 0000000..5699996
--- /dev/null
@@ -0,0 +1,2264 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#include "gc_hal_kernel_precomp.h"
+
+#define _GC_OBJ_ZONE    gcvZONE_VIDMEM
+
+/******************************************************************************\
+******************************* Private Functions ******************************
+\******************************************************************************/
+
+/*******************************************************************************
+**
+**  _Split
+**
+**  Split a node on the required byte boundary.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      gcuVIDMEM_NODE_PTR Node
+**          Pointer to the node to split.
+**
+**      gctSIZE_T Bytes
+**          Number of bytes to keep in the node.
+**
+**  OUTPUT:
+**
+**      Nothing.
+**
+**  RETURNS:
+**
+**      gctBOOL
+**          gcvTRUE if the node was split successfully, or gcvFALSE if there is an
+**          error.
+**
+*/
+static gctBOOL
+_Split(
+    IN gckOS Os,
+    IN gcuVIDMEM_NODE_PTR Node,
+    IN gctSIZE_T Bytes
+    )
+{
+    gcuVIDMEM_NODE_PTR node;
+    gctPOINTER pointer = gcvNULL;
+
+    /* Make sure the byte boundary makes sense. */
+    if ((Bytes <= 0) || (Bytes > Node->VidMem.bytes))
+    {
+        return gcvFALSE;
+    }
+
+    /* Allocate a new gcuVIDMEM_NODE object. */
+    if (gcmIS_ERROR(gckOS_Allocate(Os,
+                                   gcmSIZEOF(gcuVIDMEM_NODE),
+                                   &pointer)))
+    {
+        /* Error. */
+        return gcvFALSE;
+    }
+
+    node = pointer;
+
+    /* Initialize gcuVIDMEM_NODE structure. */
+    node->VidMem.offset    = Node->VidMem.offset + Bytes;
+    node->VidMem.bytes     = Node->VidMem.bytes  - Bytes;
+    node->VidMem.alignment = 0;
+    node->VidMem.locked    = 0;
+    node->VidMem.memory    = Node->VidMem.memory;
+    node->VidMem.pool      = Node->VidMem.pool;
+    node->VidMem.physical  = Node->VidMem.physical;
+#ifdef __QNXNTO__
+#if gcdUSE_VIDMEM_PER_PID
+    gcmkASSERT(Node->VidMem.physical != 0);
+    gcmkASSERT(Node->VidMem.logical != gcvNULL);
+    node->VidMem.processID = Node->VidMem.processID;
+    node->VidMem.physical  = Node->VidMem.physical + Bytes;
+    node->VidMem.logical   = Node->VidMem.logical + Bytes;
+#else
+    node->VidMem.processID = 0;
+    node->VidMem.logical   = gcvNULL;
+#endif
+#endif
+
+    /* Insert node behind specified node. */
+    node->VidMem.next = Node->VidMem.next;
+    node->VidMem.prev = Node;
+    Node->VidMem.next = node->VidMem.next->VidMem.prev = node;
+
+    /* Insert free node behind specified node. */
+    node->VidMem.nextFree = Node->VidMem.nextFree;
+    node->VidMem.prevFree = Node;
+    Node->VidMem.nextFree = node->VidMem.nextFree->VidMem.prevFree = node;
+
+    /* Adjust size of specified node. */
+    Node->VidMem.bytes = Bytes;
+
+    /* Success. */
+    return gcvTRUE;
+}
+
+/*******************************************************************************
+**
+**  _Merge
+**
+**  Merge two adjacent nodes together.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      gcuVIDMEM_NODE_PTR Node
+**          Pointer to the first of the two nodes to merge.
+**
+**  OUTPUT:
+**
+**      Nothing.
+**
+*/
+static gceSTATUS
+_Merge(
+    IN gckOS Os,
+    IN gcuVIDMEM_NODE_PTR Node
+    )
+{
+    gcuVIDMEM_NODE_PTR node;
+    gceSTATUS status;
+
+    /* Save pointer to next node. */
+    node = Node->VidMem.next;
+#if gcdUSE_VIDMEM_PER_PID
+    /* Check if the nodes are adjacent physically. */
+    if ( ((Node->VidMem.physical + Node->VidMem.bytes) != node->VidMem.physical) ||
+          ((Node->VidMem.logical + Node->VidMem.bytes) != node->VidMem.logical) )
+    {
+        /* Can't merge. */
+        return gcvSTATUS_OK;
+    }
+#else
+
+    /* This is a good time to make sure the heap is not corrupted. */
+    if (Node->VidMem.offset + Node->VidMem.bytes != node->VidMem.offset)
+    {
+        /* Corrupted heap. */
+        gcmkASSERT(
+            Node->VidMem.offset + Node->VidMem.bytes == node->VidMem.offset);
+        return gcvSTATUS_HEAP_CORRUPTED;
+    }
+#endif
+
+    /* Adjust byte count. */
+    Node->VidMem.bytes += node->VidMem.bytes;
+
+    /* Unlink next node from linked list. */
+    Node->VidMem.next     = node->VidMem.next;
+    Node->VidMem.nextFree = node->VidMem.nextFree;
+
+    Node->VidMem.next->VidMem.prev         =
+    Node->VidMem.nextFree->VidMem.prevFree = Node;
+
+    /* Free next node. */
+    status = gcmkOS_SAFE_FREE(Os, node);
+    return status;
+}
+
+/******************************************************************************\
+******************************* gckVIDMEM API Code ******************************
+\******************************************************************************/
+
+/*******************************************************************************
+**
+**  gckVIDMEM_ConstructVirtual
+**
+**  Construct a new gcuVIDMEM_NODE union for virtual memory.
+**
+**  INPUT:
+**
+**      gckKERNEL Kernel
+**          Pointer to an gckKERNEL object.
+**
+**      gctSIZE_T Bytes
+**          Number of byte to allocate.
+**
+**  OUTPUT:
+**
+**      gcuVIDMEM_NODE_PTR * Node
+**          Pointer to a variable that receives the gcuVIDMEM_NODE union pointer.
+*/
+gceSTATUS
+gckVIDMEM_ConstructVirtual(
+    IN gckKERNEL Kernel,
+    IN gctBOOL Contiguous,
+    IN gctSIZE_T Bytes,
+    OUT gcuVIDMEM_NODE_PTR * Node
+    )
+{
+    gckOS os;
+    gceSTATUS status;
+    gcuVIDMEM_NODE_PTR node = gcvNULL;
+    gctPOINTER pointer = gcvNULL;
+    gctINT i;
+
+    gcmkHEADER_ARG("Kernel=0x%x Contiguous=%d Bytes=%lu", Kernel, Contiguous, Bytes);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Kernel, gcvOBJ_KERNEL);
+    gcmkVERIFY_ARGUMENT(Bytes > 0);
+    gcmkVERIFY_ARGUMENT(Node != gcvNULL);
+
+    /* Extract the gckOS object pointer. */
+    os = Kernel->os;
+    gcmkVERIFY_OBJECT(os, gcvOBJ_OS);
+
+    /* Allocate an gcuVIDMEM_NODE union. */
+    gcmkONERROR(gckOS_Allocate(os, gcmSIZEOF(gcuVIDMEM_NODE), &pointer));
+
+    node = pointer;
+
+    /* Initialize gcuVIDMEM_NODE union for virtual memory. */
+    node->Virtual.kernel        = Kernel;
+    node->Virtual.contiguous    = Contiguous;
+    node->Virtual.logical       = gcvNULL;
+
+    for (i = 0; i < gcdMAX_GPU_COUNT; i++)
+    {
+        node->Virtual.lockeds[i]        = 0;
+        node->Virtual.pageTables[i]     = gcvNULL;
+        node->Virtual.lockKernels[i]    = gcvNULL;
+    }
+
+    node->Virtual.mutex         = gcvNULL;
+
+    gcmkONERROR(gckOS_GetProcessID(&node->Virtual.processID));
+
+#ifdef __QNXNTO__
+    node->Virtual.next          = gcvNULL;
+    node->Virtual.freePending   = gcvFALSE;
+    for (i = 0; i < gcdMAX_GPU_COUNT; i++)
+    {
+        node->Virtual.unlockPendings[i] = gcvFALSE;
+    }
+#endif
+
+    node->Virtual.freed         = gcvFALSE;
+
+    gcmkONERROR(gckOS_ZeroMemory(&node->Virtual.sharedInfo, gcmSIZEOF(gcsVIDMEM_NODE_SHARED_INFO)));
+
+    /* Create the mutex. */
+    gcmkONERROR(
+        gckOS_CreateMutex(os, &node->Virtual.mutex));
+
+    /* Allocate the virtual memory. */
+    gcmkONERROR(
+        gckOS_AllocatePagedMemoryEx(os,
+                                    node->Virtual.contiguous,
+                                    node->Virtual.bytes = Bytes,
+                                    &node->Virtual.physical));
+
+#ifdef __QNXNTO__
+    /* Register. */
+#if gcdENABLE_VG
+    if (Kernel->core != gcvCORE_VG)
+#endif
+    {
+        gckMMU_InsertNode(Kernel->mmu, node);
+    }
+#endif
+
+    /* Return pointer to the gcuVIDMEM_NODE union. */
+    *Node = node;
+
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_VIDMEM,
+                   "Created virtual node 0x%x for %u bytes @ 0x%x",
+                   node, Bytes, node->Virtual.physical);
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Node=0x%x", *Node);
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Roll back. */
+    if (node != gcvNULL)
+    {
+        if (node->Virtual.mutex != gcvNULL)
+        {
+            /* Destroy the mutex. */
+            gcmkVERIFY_OK(gckOS_DeleteMutex(os, node->Virtual.mutex));
+        }
+
+        /* Free the structure. */
+        gcmkVERIFY_OK(gcmkOS_SAFE_FREE(os, node));
+    }
+
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckVIDMEM_DestroyVirtual
+**
+**  Destroy an gcuVIDMEM_NODE union for virtual memory.
+**
+**  INPUT:
+**
+**      gcuVIDMEM_NODE_PTR Node
+**          Pointer to a gcuVIDMEM_NODE union.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckVIDMEM_DestroyVirtual(
+    IN gcuVIDMEM_NODE_PTR Node
+    )
+{
+    gckOS os;
+    gctINT i;
+
+    gcmkHEADER_ARG("Node=0x%x", Node);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Node->Virtual.kernel, gcvOBJ_KERNEL);
+
+    /* Extact the gckOS object pointer. */
+    os = Node->Virtual.kernel->os;
+    gcmkVERIFY_OBJECT(os, gcvOBJ_OS);
+
+#ifdef __QNXNTO__
+    /* Unregister. */
+#if gcdENABLE_VG
+    if (Node->Virtual.kernel->core != gcvCORE_VG)
+#endif
+    {
+        gcmkVERIFY_OK(
+                gckMMU_RemoveNode(Node->Virtual.kernel->mmu, Node));
+    }
+#endif
+
+    /* Delete the mutex. */
+    gcmkVERIFY_OK(gckOS_DeleteMutex(os, Node->Virtual.mutex));
+
+    for (i = 0; i < gcdMAX_GPU_COUNT; i++)
+    {
+        if (Node->Virtual.pageTables[i] != gcvNULL)
+        {
+#if gcdENABLE_VG
+            if (i == gcvCORE_VG)
+            {
+                /* Free the pages. */
+                gcmkVERIFY_OK(gckVGMMU_FreePages(Node->Virtual.lockKernels[i]->vg->mmu,
+                                               Node->Virtual.pageTables[i],
+                                               Node->Virtual.pageCount));
+            }
+            else
+#endif
+            {
+                /* Free the pages. */
+                gcmkVERIFY_OK(gckMMU_FreePages(Node->Virtual.lockKernels[i]->mmu,
+                                               Node->Virtual.pageTables[i],
+                                               Node->Virtual.pageCount));
+            }
+        }
+    }
+
+    /* Delete the gcuVIDMEM_NODE union. */
+    gcmkVERIFY_OK(gcmkOS_SAFE_FREE(os, Node));
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckVIDMEM_Construct
+**
+**  Construct a new gckVIDMEM object.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      gctUINT32 BaseAddress
+**          Base address for the video memory heap.
+**
+**      gctSIZE_T Bytes
+**          Number of bytes in the video memory heap.
+**
+**      gctSIZE_T Threshold
+**          Minimum number of bytes beyond am allocation before the node is
+**          split.  Can be used as a minimum alignment requirement.
+**
+**      gctSIZE_T BankSize
+**          Number of bytes per physical memory bank.  Used by bank
+**          optimization.
+**
+**  OUTPUT:
+**
+**      gckVIDMEM * Memory
+**          Pointer to a variable that will hold the pointer to the gckVIDMEM
+**          object.
+*/
+gceSTATUS
+gckVIDMEM_Construct(
+    IN gckOS Os,
+    IN gctUINT32 BaseAddress,
+    IN gctSIZE_T Bytes,
+    IN gctSIZE_T Threshold,
+    IN gctSIZE_T BankSize,
+    OUT gckVIDMEM * Memory
+    )
+{
+    gckVIDMEM memory = gcvNULL;
+    gceSTATUS status;
+    gcuVIDMEM_NODE_PTR node;
+    gctINT i, banks = 0;
+    gctPOINTER pointer = gcvNULL;
+
+    gcmkHEADER_ARG("Os=0x%x BaseAddress=%08x Bytes=%lu Threshold=%lu "
+                   "BankSize=%lu",
+                   Os, BaseAddress, Bytes, Threshold, BankSize);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Bytes > 0);
+    gcmkVERIFY_ARGUMENT(Memory != gcvNULL);
+
+    /* Allocate the gckVIDMEM object. */
+    gcmkONERROR(gckOS_Allocate(Os, gcmSIZEOF(struct _gckVIDMEM), &pointer));
+
+    memory = pointer;
+
+    /* Initialize the gckVIDMEM object. */
+    memory->object.type = gcvOBJ_VIDMEM;
+    memory->os          = Os;
+
+    /* Set video memory heap information. */
+    memory->baseAddress = BaseAddress;
+    memory->bytes       = Bytes;
+    memory->freeBytes   = Bytes;
+    memory->threshold   = Threshold;
+    memory->mutex       = gcvNULL;
+#if gcdUSE_VIDMEM_PER_PID
+    gcmkONERROR(gckOS_GetProcessID(&memory->pid));
+#endif
+
+    BaseAddress = 0;
+
+    /* Walk all possible banks. */
+    for (i = 0; i < gcmCOUNTOF(memory->sentinel); ++i)
+    {
+        gctSIZE_T bytes;
+
+        if (BankSize == 0)
+        {
+            /* Use all bytes for the first bank. */
+            bytes = Bytes;
+        }
+        else
+        {
+            /* Compute number of bytes for this bank. */
+            bytes = gcmALIGN(BaseAddress + 1, BankSize) - BaseAddress;
+
+            if (bytes > Bytes)
+            {
+                /* Make sure we don't exceed the total number of bytes. */
+                bytes = Bytes;
+            }
+        }
+
+        if (bytes == 0)
+        {
+            /* Mark heap is not used. */
+            memory->sentinel[i].VidMem.next     =
+            memory->sentinel[i].VidMem.prev     =
+            memory->sentinel[i].VidMem.nextFree =
+            memory->sentinel[i].VidMem.prevFree = gcvNULL;
+            continue;
+        }
+
+        /* Allocate one gcuVIDMEM_NODE union. */
+        gcmkONERROR(gckOS_Allocate(Os, gcmSIZEOF(gcuVIDMEM_NODE), &pointer));
+
+        node = pointer;
+
+        /* Initialize gcuVIDMEM_NODE union. */
+        node->VidMem.memory    = memory;
+
+        node->VidMem.next      =
+        node->VidMem.prev      =
+        node->VidMem.nextFree  =
+        node->VidMem.prevFree  = &memory->sentinel[i];
+
+        node->VidMem.offset    = BaseAddress;
+        node->VidMem.bytes     = bytes;
+        node->VidMem.alignment = 0;
+        node->VidMem.physical  = 0;
+        node->VidMem.pool      = gcvPOOL_UNKNOWN;
+
+        node->VidMem.locked    = 0;
+
+#if gcdDYNAMIC_MAP_RESERVED_MEMORY && gcdENABLE_VG
+        node->VidMem.kernelVirtual = gcvNULL;
+#endif
+
+        gcmkONERROR(gckOS_ZeroMemory(&node->VidMem.sharedInfo, gcmSIZEOF(gcsVIDMEM_NODE_SHARED_INFO)));
+
+#ifdef __QNXNTO__
+#if gcdUSE_VIDMEM_PER_PID
+        node->VidMem.processID = memory->pid;
+        node->VidMem.physical  = memory->baseAddress + BaseAddress;
+        gcmkONERROR(gckOS_GetLogicalAddressProcess(Os,
+                    node->VidMem.processID,
+                    node->VidMem.physical,
+                    &node->VidMem.logical));
+#else
+        node->VidMem.processID = 0;
+        node->VidMem.logical   = gcvNULL;
+#endif
+#endif
+
+        /* Initialize the linked list of nodes. */
+        memory->sentinel[i].VidMem.next     =
+        memory->sentinel[i].VidMem.prev     =
+        memory->sentinel[i].VidMem.nextFree =
+        memory->sentinel[i].VidMem.prevFree = node;
+
+        /* Mark sentinel. */
+        memory->sentinel[i].VidMem.bytes = 0;
+
+        /* Adjust address for next bank. */
+        BaseAddress += bytes;
+        Bytes       -= bytes;
+        banks       ++;
+    }
+
+    /* Assign all the bank mappings. */
+    memory->mapping[gcvSURF_RENDER_TARGET]      = banks - 1;
+    memory->mapping[gcvSURF_BITMAP]             = banks - 1;
+    if (banks > 1) --banks;
+    memory->mapping[gcvSURF_DEPTH]              = banks - 1;
+    memory->mapping[gcvSURF_HIERARCHICAL_DEPTH] = banks - 1;
+    if (banks > 1) --banks;
+    memory->mapping[gcvSURF_TEXTURE]            = banks - 1;
+    if (banks > 1) --banks;
+    memory->mapping[gcvSURF_VERTEX]             = banks - 1;
+    if (banks > 1) --banks;
+    memory->mapping[gcvSURF_INDEX]              = banks - 1;
+    if (banks > 1) --banks;
+    memory->mapping[gcvSURF_TILE_STATUS]        = banks - 1;
+    if (banks > 1) --banks;
+    memory->mapping[gcvSURF_TYPE_UNKNOWN]       = 0;
+
+#if gcdENABLE_VG
+    memory->mapping[gcvSURF_IMAGE]   = 0;
+    memory->mapping[gcvSURF_MASK]    = 0;
+    memory->mapping[gcvSURF_SCISSOR] = 0;
+#endif
+
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_VIDMEM,
+                  "[GALCORE] INDEX:         bank %d",
+                  memory->mapping[gcvSURF_INDEX]);
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_VIDMEM,
+                  "[GALCORE] VERTEX:        bank %d",
+                  memory->mapping[gcvSURF_VERTEX]);
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_VIDMEM,
+                  "[GALCORE] TEXTURE:       bank %d",
+                  memory->mapping[gcvSURF_TEXTURE]);
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_VIDMEM,
+                  "[GALCORE] RENDER_TARGET: bank %d",
+                  memory->mapping[gcvSURF_RENDER_TARGET]);
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_VIDMEM,
+                  "[GALCORE] DEPTH:         bank %d",
+                  memory->mapping[gcvSURF_DEPTH]);
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_VIDMEM,
+                  "[GALCORE] TILE_STATUS:   bank %d",
+                  memory->mapping[gcvSURF_TILE_STATUS]);
+
+    /* Allocate the mutex. */
+    gcmkONERROR(gckOS_CreateMutex(Os, &memory->mutex));
+
+    /* Return pointer to the gckVIDMEM object. */
+    *Memory = memory;
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Memory=0x%x", *Memory);
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Roll back. */
+    if (memory != gcvNULL)
+    {
+        if (memory->mutex != gcvNULL)
+        {
+            /* Delete the mutex. */
+            gcmkVERIFY_OK(gckOS_DeleteMutex(Os, memory->mutex));
+        }
+
+        for (i = 0; i < banks; ++i)
+        {
+            /* Free the heap. */
+            gcmkASSERT(memory->sentinel[i].VidMem.next != gcvNULL);
+            gcmkVERIFY_OK(gcmkOS_SAFE_FREE(Os, memory->sentinel[i].VidMem.next));
+        }
+
+        /* Free the object. */
+        gcmkVERIFY_OK(gcmkOS_SAFE_FREE(Os, memory));
+    }
+
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckVIDMEM_Destroy
+**
+**  Destroy an gckVIDMEM object.
+**
+**  INPUT:
+**
+**      gckVIDMEM Memory
+**          Pointer to an gckVIDMEM object to destroy.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckVIDMEM_Destroy(
+    IN gckVIDMEM Memory
+    )
+{
+    gcuVIDMEM_NODE_PTR node, next;
+    gctINT i;
+
+    gcmkHEADER_ARG("Memory=0x%x", Memory);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Memory, gcvOBJ_VIDMEM);
+
+    /* Walk all sentinels. */
+    for (i = 0; i < gcmCOUNTOF(Memory->sentinel); ++i)
+    {
+        /* Bail out of the heap is not used. */
+        if (Memory->sentinel[i].VidMem.next == gcvNULL)
+        {
+            break;
+        }
+
+        /* Walk all the nodes until we reach the sentinel. */
+        for (node = Memory->sentinel[i].VidMem.next;
+             node->VidMem.bytes != 0;
+             node = next)
+        {
+            /* Save pointer to the next node. */
+            next = node->VidMem.next;
+
+            /* Free the node. */
+            gcmkVERIFY_OK(gcmkOS_SAFE_FREE(Memory->os, node));
+        }
+    }
+
+    /* Free the mutex. */
+    gcmkVERIFY_OK(gckOS_DeleteMutex(Memory->os, Memory->mutex));
+
+    /* Mark the object as unknown. */
+    Memory->object.type = gcvOBJ_UNKNOWN;
+
+    /* Free the gckVIDMEM object. */
+    gcmkVERIFY_OK(gcmkOS_SAFE_FREE(Memory->os, Memory));
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckVIDMEM_Allocate
+**
+**  Allocate rectangular memory from the gckVIDMEM object.
+**
+**  INPUT:
+**
+**      gckVIDMEM Memory
+**          Pointer to an gckVIDMEM object.
+**
+**      gctUINT Width
+**          Width of rectangle to allocate.  Make sure the width is properly
+**          aligned.
+**
+**      gctUINT Height
+**          Height of rectangle to allocate.  Make sure the height is properly
+**          aligned.
+**
+**      gctUINT Depth
+**          Depth of rectangle to allocate.  This equals to the number of
+**          rectangles to allocate contiguously (i.e., for cubic maps and volume
+**          textures).
+**
+**      gctUINT BytesPerPixel
+**          Number of bytes per pixel.
+**
+**      gctUINT32 Alignment
+**          Byte alignment for allocation.
+**
+**      gceSURF_TYPE Type
+**          Type of surface to allocate (use by bank optimization).
+**
+**  OUTPUT:
+**
+**      gcuVIDMEM_NODE_PTR * Node
+**          Pointer to a variable that will hold the allocated memory node.
+*/
+gceSTATUS
+gckVIDMEM_Allocate(
+    IN gckVIDMEM Memory,
+    IN gctUINT Width,
+    IN gctUINT Height,
+    IN gctUINT Depth,
+    IN gctUINT BytesPerPixel,
+    IN gctUINT32 Alignment,
+    IN gceSURF_TYPE Type,
+    OUT gcuVIDMEM_NODE_PTR * Node
+    )
+{
+    gctSIZE_T bytes;
+    gceSTATUS status;
+
+    gcmkHEADER_ARG("Memory=0x%x Width=%u Height=%u Depth=%u BytesPerPixel=%u "
+                   "Alignment=%u Type=%d",
+                   Memory, Width, Height, Depth, BytesPerPixel, Alignment,
+                   Type);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Memory, gcvOBJ_VIDMEM);
+    gcmkVERIFY_ARGUMENT(Width > 0);
+    gcmkVERIFY_ARGUMENT(Height > 0);
+    gcmkVERIFY_ARGUMENT(Depth > 0);
+    gcmkVERIFY_ARGUMENT(BytesPerPixel > 0);
+    gcmkVERIFY_ARGUMENT(Node != gcvNULL);
+
+    /* Compute linear size. */
+    bytes = Width * Height * Depth * BytesPerPixel;
+
+    /* Allocate through linear function. */
+    gcmkONERROR(
+        gckVIDMEM_AllocateLinear(Memory, bytes, Alignment, Type, Node));
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Node=0x%x", *Node);
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+#if gcdENABLE_BANK_ALIGNMENT
+
+#if !gcdBANK_BIT_START
+#error gcdBANK_BIT_START not defined.
+#endif
+
+#if !gcdBANK_BIT_END
+#error gcdBANK_BIT_END not defined.
+#endif
+/*******************************************************************************
+**  _GetSurfaceBankAlignment
+**
+**  Return the required offset alignment required to the make BaseAddress
+**  aligned properly.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to gcoOS object.
+**
+**      gceSURF_TYPE Type
+**          Type of allocation.
+**
+**      gctUINT32 BaseAddress
+**          Base address of current video memory node.
+**
+**  OUTPUT:
+**
+**      gctUINT32_PTR AlignmentOffset
+**          Pointer to a variable that will hold the number of bytes to skip in
+**          the current video memory node in order to make the alignment bank
+**          aligned.
+*/
+static gceSTATUS
+_GetSurfaceBankAlignment(
+    IN gceSURF_TYPE Type,
+    IN gctUINT32 BaseAddress,
+    OUT gctUINT32_PTR AlignmentOffset
+    )
+{
+    gctUINT32 bank;
+    /* To retrieve the bank. */
+    static const gctUINT32 bankMask = (0xFFFFFFFF << gcdBANK_BIT_START)
+                                    ^ (0xFFFFFFFF << (gcdBANK_BIT_END + 1));
+
+    /* To retrieve the bank and all the lower bytes. */
+    static const gctUINT32 byteMask = ~(0xFFFFFFFF << (gcdBANK_BIT_END + 1));
+
+    gcmkHEADER_ARG("Type=%d BaseAddress=0x%x ", Type, BaseAddress);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_ARGUMENT(AlignmentOffset != gcvNULL);
+
+    switch (Type)
+    {
+    case gcvSURF_RENDER_TARGET:
+        bank = (BaseAddress & bankMask) >> (gcdBANK_BIT_START);
+
+        /* Align to the first bank. */
+        *AlignmentOffset = (bank == 0) ?
+            0 :
+            ((1 << (gcdBANK_BIT_END + 1)) + 0) -  (BaseAddress & byteMask);
+        break;
+
+    case gcvSURF_DEPTH:
+        bank = (BaseAddress & bankMask) >> (gcdBANK_BIT_START);
+
+        /* Align to the third bank. */
+        *AlignmentOffset = (bank == 2) ?
+            0 :
+            ((1 << (gcdBANK_BIT_END + 1)) + (2 << gcdBANK_BIT_START)) -  (BaseAddress & byteMask);
+
+        /* Add a channel offset at the channel bit. */
+        *AlignmentOffset += (1 << gcdBANK_CHANNEL_BIT);
+        break;
+
+    default:
+        /* no alignment needed. */
+        *AlignmentOffset = 0;
+    }
+
+    /* Return the status. */
+    gcmkFOOTER_ARG("*AlignmentOffset=%u", *AlignmentOffset);
+    return gcvSTATUS_OK;
+}
+#endif
+
+static gcuVIDMEM_NODE_PTR
+_FindNode(
+    IN gckVIDMEM Memory,
+    IN gctINT Bank,
+    IN gctSIZE_T Bytes,
+    IN gceSURF_TYPE Type,
+    IN OUT gctUINT32_PTR Alignment
+    )
+{
+    gcuVIDMEM_NODE_PTR node;
+    gctUINT32 alignment;
+
+#if gcdENABLE_BANK_ALIGNMENT
+    gctUINT32 bankAlignment;
+    gceSTATUS status;
+#endif
+
+    if (Memory->sentinel[Bank].VidMem.nextFree == gcvNULL)
+    {
+        /* No free nodes left. */
+        return gcvNULL;
+    }
+
+#if gcdENABLE_BANK_ALIGNMENT
+    /* Walk all free nodes until we have one that is big enough or we have
+    ** reached the sentinel. */
+    for (node = Memory->sentinel[Bank].VidMem.nextFree;
+         node->VidMem.bytes != 0;
+         node = node->VidMem.nextFree)
+    {
+        gcmkONERROR(_GetSurfaceBankAlignment(
+            Type,
+            node->VidMem.memory->baseAddress + node->VidMem.offset,
+            &bankAlignment));
+
+        bankAlignment = gcmALIGN(bankAlignment, *Alignment);
+
+        /* Compute number of bytes to skip for alignment. */
+        alignment = (*Alignment == 0)
+                  ? 0
+                  : (*Alignment - (node->VidMem.offset % *Alignment));
+
+        if (alignment == *Alignment)
+        {
+            /* Node is already aligned. */
+            alignment = 0;
+        }
+
+        if (node->VidMem.bytes >= Bytes + alignment + bankAlignment)
+        {
+            /* This node is big enough. */
+            *Alignment = alignment + bankAlignment;
+            return node;
+        }
+    }
+#endif
+
+    /* Walk all free nodes until we have one that is big enough or we have
+       reached the sentinel. */
+    for (node = Memory->sentinel[Bank].VidMem.nextFree;
+         node->VidMem.bytes != 0;
+         node = node->VidMem.nextFree)
+    {
+
+        gctINT modulo = gckMATH_ModuloInt(node->VidMem.offset, *Alignment);
+
+        /* Compute number of bytes to skip for alignment. */
+        alignment = (*Alignment == 0) ? 0 : (*Alignment - modulo);
+
+        if (alignment == *Alignment)
+        {
+            /* Node is already aligned. */
+            alignment = 0;
+        }
+
+        if (node->VidMem.bytes >= Bytes + alignment)
+        {
+            /* This node is big enough. */
+            *Alignment = alignment;
+            return node;
+        }
+    }
+
+#if gcdENABLE_BANK_ALIGNMENT
+OnError:
+#endif
+    /* Not enough memory. */
+    return gcvNULL;
+}
+
+/*******************************************************************************
+**
+**  gckVIDMEM_AllocateLinear
+**
+**  Allocate linear memory from the gckVIDMEM object.
+**
+**  INPUT:
+**
+**      gckVIDMEM Memory
+**          Pointer to an gckVIDMEM object.
+**
+**      gctSIZE_T Bytes
+**          Number of bytes to allocate.
+**
+**      gctUINT32 Alignment
+**          Byte alignment for allocation.
+**
+**      gceSURF_TYPE Type
+**          Type of surface to allocate (use by bank optimization).
+**
+**  OUTPUT:
+**
+**      gcuVIDMEM_NODE_PTR * Node
+**          Pointer to a variable that will hold the allocated memory node.
+*/
+gceSTATUS
+gckVIDMEM_AllocateLinear(
+    IN gckVIDMEM Memory,
+    IN gctSIZE_T Bytes,
+    IN gctUINT32 Alignment,
+    IN gceSURF_TYPE Type,
+    OUT gcuVIDMEM_NODE_PTR * Node
+    )
+{
+    gceSTATUS status;
+    gcuVIDMEM_NODE_PTR node;
+    gctUINT32 alignment;
+    gctINT bank, i;
+    gctBOOL acquired = gcvFALSE;
+#if gcdSMALL_BLOCK_SIZE
+    gctBOOL force_allocate = (Type == gcvSURF_TILE_STATUS) || (Type & gcvSURF_VG);
+#endif
+
+    gcmkHEADER_ARG("Memory=0x%x Bytes=%lu Alignment=%u Type=%d",
+                   Memory, Bytes, Alignment, Type);
+
+    Type &= ~gcvSURF_VG;
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Memory, gcvOBJ_VIDMEM);
+    gcmkVERIFY_ARGUMENT(Bytes > 0);
+    gcmkVERIFY_ARGUMENT(Node != gcvNULL);
+    gcmkVERIFY_ARGUMENT(Type < gcvSURF_NUM_TYPES);
+
+    /* Acquire the mutex. */
+    gcmkONERROR(gckOS_AcquireMutex(Memory->os, Memory->mutex, gcvINFINITE));
+
+    acquired = gcvTRUE;
+#if !gcdUSE_VIDMEM_PER_PID
+
+    if (Bytes > Memory->freeBytes)
+    {
+        /* Not enough memory. */
+        status = gcvSTATUS_OUT_OF_MEMORY;
+        goto OnError;
+    }
+#endif
+
+#if gcdSMALL_BLOCK_SIZE
+    if ((!force_allocate) && (Memory->freeBytes < (Memory->bytes/gcdRATIO_FOR_SMALL_MEMORY))
+    &&  (Bytes >= gcdSMALL_BLOCK_SIZE)
+    )
+    {
+        /* The left memory is for small memory.*/
+        status = gcvSTATUS_OUT_OF_MEMORY;
+        goto OnError;
+    }
+#endif
+
+    /* Find the default bank for this surface type. */
+    gcmkASSERT((gctINT) Type < gcmCOUNTOF(Memory->mapping));
+    bank      = Memory->mapping[Type];
+    alignment = Alignment;
+
+#if gcdUSE_VIDMEM_PER_PID
+    if (Bytes <= Memory->freeBytes)
+    {
+#endif
+    /* Find a free node in the default bank. */
+    node = _FindNode(Memory, bank, Bytes, Type, &alignment);
+
+    /* Out of memory? */
+    if (node == gcvNULL)
+    {
+        /* Walk all lower banks. */
+        for (i = bank - 1; i >= 0; --i)
+        {
+            /* Find a free node inside the current bank. */
+            node = _FindNode(Memory, i, Bytes, Type, &alignment);
+            if (node != gcvNULL)
+            {
+                break;
+            }
+        }
+    }
+
+    if (node == gcvNULL)
+    {
+        /* Walk all upper banks. */
+        for (i = bank + 1; i < gcmCOUNTOF(Memory->sentinel); ++i)
+        {
+            if (Memory->sentinel[i].VidMem.nextFree == gcvNULL)
+            {
+                /* Abort when we reach unused banks. */
+                break;
+            }
+
+            /* Find a free node inside the current bank. */
+            node = _FindNode(Memory, i, Bytes, Type, &alignment);
+            if (node != gcvNULL)
+            {
+                break;
+            }
+        }
+    }
+#if gcdUSE_VIDMEM_PER_PID
+    }
+#endif
+
+    if (node == gcvNULL)
+    {
+        /* Out of memory. */
+#if gcdUSE_VIDMEM_PER_PID
+        /* Allocate more memory from shared pool. */
+        gctSIZE_T bytes;
+        gctPHYS_ADDR physical_temp;
+        gctUINT32 physical;
+        gctPOINTER logical;
+
+        bytes = gcmALIGN(Bytes, gcdUSE_VIDMEM_PER_PID_SIZE);
+
+        gcmkONERROR(gckOS_AllocateContiguous(Memory->os,
+                gcvTRUE,
+                &bytes,
+                &physical_temp,
+                &logical));
+
+        /* physical address is returned as 0 for user space. workaround. */
+        if (physical_temp == gcvNULL)
+        {
+        gcmkONERROR(gckOS_GetPhysicalAddress(Memory->os, logical, &physical));
+        }
+
+        /* Allocate one gcuVIDMEM_NODE union. */
+        gcmkONERROR(
+            gckOS_Allocate(Memory->os,
+                           gcmSIZEOF(gcuVIDMEM_NODE),
+                           (gctPOINTER *) &node));
+
+        /* Initialize gcuVIDMEM_NODE union. */
+        node->VidMem.memory    = Memory;
+
+        node->VidMem.offset    = 0;
+        node->VidMem.bytes     = bytes;
+        node->VidMem.alignment = 0;
+        node->VidMem.physical  = physical;
+        node->VidMem.pool      = gcvPOOL_UNKNOWN;
+
+        node->VidMem.locked    = 0;
+
+#ifdef __QNXNTO__
+        gcmkONERROR(gckOS_GetProcessID(&node->VidMem.processID));
+        node->VidMem.logical   = logical;
+        gcmkASSERT(logical != gcvNULL);
+#endif
+
+        /* Insert node behind sentinel node. */
+        node->VidMem.next = Memory->sentinel[bank].VidMem.next;
+        node->VidMem.prev = &Memory->sentinel[bank];
+        Memory->sentinel[bank].VidMem.next = node->VidMem.next->VidMem.prev = node;
+
+        /* Insert free node behind sentinel node. */
+        node->VidMem.nextFree = Memory->sentinel[bank].VidMem.nextFree;
+        node->VidMem.prevFree = &Memory->sentinel[bank];
+        Memory->sentinel[bank].VidMem.nextFree = node->VidMem.nextFree->VidMem.prevFree = node;
+
+        Memory->freeBytes += bytes;
+#else
+        status = gcvSTATUS_OUT_OF_MEMORY;
+        goto OnError;
+#endif
+    }
+
+    /* Do we have an alignment? */
+    if (alignment > 0)
+    {
+        /* Split the node so it is aligned. */
+        if (_Split(Memory->os, node, alignment))
+        {
+            /* Successful split, move to aligned node. */
+            node = node->VidMem.next;
+
+            /* Remove alignment. */
+            alignment = 0;
+        }
+    }
+
+    /* Do we have enough memory after the allocation to split it? */
+    if (node->VidMem.bytes - Bytes > Memory->threshold)
+    {
+        /* Adjust the node size. */
+        _Split(Memory->os, node, Bytes);
+    }
+
+    /* Remove the node from the free list. */
+    node->VidMem.prevFree->VidMem.nextFree = node->VidMem.nextFree;
+    node->VidMem.nextFree->VidMem.prevFree = node->VidMem.prevFree;
+    node->VidMem.nextFree                  =
+    node->VidMem.prevFree                  = gcvNULL;
+
+    /* Fill in the information. */
+    node->VidMem.alignment = alignment;
+    node->VidMem.memory    = Memory;
+#ifdef __QNXNTO__
+#if !gcdUSE_VIDMEM_PER_PID
+    node->VidMem.logical   = gcvNULL;
+    gcmkONERROR(gckOS_GetProcessID(&node->VidMem.processID));
+#else
+    gcmkASSERT(node->VidMem.logical != gcvNULL);
+#endif
+#endif
+
+    /* Adjust the number of free bytes. */
+    Memory->freeBytes -= node->VidMem.bytes;
+
+    node->VidMem.freePending = gcvFALSE;
+
+#if gcdDYNAMIC_MAP_RESERVED_MEMORY && gcdENABLE_VG
+    node->VidMem.kernelVirtual = gcvNULL;
+#endif
+
+    /* Release the mutex. */
+    gcmkVERIFY_OK(gckOS_ReleaseMutex(Memory->os, Memory->mutex));
+
+    /* Return the pointer to the node. */
+    *Node = node;
+
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_VIDMEM,
+                   "Allocated %u bytes @ 0x%x [0x%08X]",
+                   node->VidMem.bytes, node, node->VidMem.offset);
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Node=0x%x", *Node);
+    return gcvSTATUS_OK;
+
+OnError:
+    if (acquired)
+    {
+     /* Release the mutex. */
+        gcmkVERIFY_OK(gckOS_ReleaseMutex(Memory->os, Memory->mutex));
+    }
+
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckVIDMEM_Free
+**
+**  Free an allocated video memory node.
+**
+**  INPUT:
+**
+**      gcuVIDMEM_NODE_PTR Node
+**          Pointer to a gcuVIDMEM_NODE object.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckVIDMEM_Free(
+    IN gcuVIDMEM_NODE_PTR Node
+    )
+{
+    gceSTATUS status;
+    gckKERNEL kernel = gcvNULL;
+    gckVIDMEM memory = gcvNULL;
+    gcuVIDMEM_NODE_PTR node;
+    gctBOOL mutexAcquired = gcvFALSE;
+    gckOS os = gcvNULL;
+    gctBOOL acquired = gcvFALSE;
+    gctINT32 i, totalLocked;
+
+    gcmkHEADER_ARG("Node=0x%x", Node);
+
+    /* Verify the arguments. */
+    if ((Node == gcvNULL)
+    ||  (Node->VidMem.memory == gcvNULL)
+    )
+    {
+        /* Invalid object. */
+        gcmkONERROR(gcvSTATUS_INVALID_OBJECT);
+    }
+
+    /**************************** Video Memory ********************************/
+
+    if (Node->VidMem.memory->object.type == gcvOBJ_VIDMEM)
+    {
+        if (Node->VidMem.locked > 0)
+        {
+            /* Client still has a lock, defer free op 'till when lock reaches 0. */
+            Node->VidMem.freePending = gcvTRUE;
+
+            gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_VIDMEM,
+                           "Node 0x%x is locked (%d)... deferring free.",
+                           Node, Node->VidMem.locked);
+
+            gcmkFOOTER_NO();
+            return gcvSTATUS_OK;
+        }
+
+        /* Extract pointer to gckVIDMEM object owning the node. */
+        memory = Node->VidMem.memory;
+
+        /* Acquire the mutex. */
+        gcmkONERROR(
+            gckOS_AcquireMutex(memory->os, memory->mutex, gcvINFINITE));
+
+        mutexAcquired = gcvTRUE;
+
+#ifdef __QNXNTO__
+#if !gcdUSE_VIDMEM_PER_PID
+        /* Reset. */
+        Node->VidMem.processID = 0;
+        Node->VidMem.logical = gcvNULL;
+#endif
+
+        /* Don't try to re-free an already freed node. */
+        if ((Node->VidMem.nextFree == gcvNULL)
+        &&  (Node->VidMem.prevFree == gcvNULL)
+        )
+#endif
+        {
+#if gcdDYNAMIC_MAP_RESERVED_MEMORY && gcdENABLE_VG
+            if (Node->VidMem.kernelVirtual)
+            {
+                gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_VIDMEM,
+                        "%s(%d) Unmap %x from kernel space.",
+                        __FUNCTION__, __LINE__,
+                        Node->VidMem.kernelVirtual);
+
+                gcmkVERIFY_OK(
+                    gckOS_UnmapPhysical(memory->os,
+                                        Node->VidMem.kernelVirtual,
+                                        Node->VidMem.bytes));
+
+                Node->VidMem.kernelVirtual = gcvNULL;
+            }
+#endif
+
+            /* Check if Node is already freed. */
+            if (Node->VidMem.nextFree)
+            {
+                /* Node is alread freed. */
+                gcmkONERROR(gcvSTATUS_INVALID_DATA);
+            }
+
+            /* Update the number of free bytes. */
+            memory->freeBytes += Node->VidMem.bytes;
+
+            /* Find the next free node. */
+            for (node = Node->VidMem.next;
+                 node != gcvNULL && node->VidMem.nextFree == gcvNULL;
+                 node = node->VidMem.next) ;
+
+            /* Insert this node in the free list. */
+            Node->VidMem.nextFree = node;
+            Node->VidMem.prevFree = node->VidMem.prevFree;
+
+            Node->VidMem.prevFree->VidMem.nextFree =
+            node->VidMem.prevFree                  = Node;
+
+            /* Is the next node a free node and not the sentinel? */
+            if ((Node->VidMem.next == Node->VidMem.nextFree)
+            &&  (Node->VidMem.next->VidMem.bytes != 0)
+            )
+            {
+                /* Merge this node with the next node. */
+                gcmkONERROR(_Merge(memory->os, node = Node));
+                gcmkASSERT(node->VidMem.nextFree != node);
+                gcmkASSERT(node->VidMem.prevFree != node);
+            }
+
+            /* Is the previous node a free node and not the sentinel? */
+            if ((Node->VidMem.prev == Node->VidMem.prevFree)
+            &&  (Node->VidMem.prev->VidMem.bytes != 0)
+            )
+            {
+                /* Merge this node with the previous node. */
+                gcmkONERROR(_Merge(memory->os, node = Node->VidMem.prev));
+                gcmkASSERT(node->VidMem.nextFree != node);
+                gcmkASSERT(node->VidMem.prevFree != node);
+            }
+        }
+
+        /* Release the mutex. */
+        gcmkVERIFY_OK(gckOS_ReleaseMutex(memory->os, memory->mutex));
+
+        gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_VIDMEM,
+                       "Node 0x%x is freed.",
+                       Node);
+
+        /* Success. */
+        gcmkFOOTER_NO();
+        return gcvSTATUS_OK;
+    }
+
+    /*************************** Virtual Memory *******************************/
+
+    /* Get gckKERNEL object. */
+    kernel = Node->Virtual.kernel;
+
+    /* Verify the gckKERNEL object pointer. */
+    gcmkVERIFY_OBJECT(kernel, gcvOBJ_KERNEL);
+
+    /* Get the gckOS object pointer. */
+    os = kernel->os;
+    gcmkVERIFY_OBJECT(os, gcvOBJ_OS);
+
+    /* Grab the mutex. */
+    gcmkONERROR(
+        gckOS_AcquireMutex(os, Node->Virtual.mutex, gcvINFINITE));
+
+    acquired = gcvTRUE;
+
+    for (i = 0, totalLocked = 0; i < gcdMAX_GPU_COUNT; i++)
+    {
+        totalLocked += Node->Virtual.lockeds[i];
+    }
+
+    if (totalLocked > 0)
+    {
+        gcmkTRACE_ZONE(gcvLEVEL_ERROR, gcvZONE_VIDMEM,
+                       "gckVIDMEM_Free: Virtual node 0x%x is locked (%d)",
+                       Node, totalLocked);
+
+        /* Set Flag */
+        Node->Virtual.freed = gcvTRUE;
+
+        gcmkVERIFY_OK(gckOS_ReleaseMutex(os, Node->Virtual.mutex));
+    }
+    else
+    {
+        /* Free the virtual memory. */
+        gcmkVERIFY_OK(gckOS_FreePagedMemory(kernel->os,
+                                            Node->Virtual.physical,
+                                            Node->Virtual.bytes));
+
+        gcmkVERIFY_OK(gckOS_ReleaseMutex(os, Node->Virtual.mutex));
+
+        /* Destroy the gcuVIDMEM_NODE union. */
+        gcmkVERIFY_OK(gckVIDMEM_DestroyVirtual(Node));
+    }
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    if (mutexAcquired)
+    {
+        /* Release the mutex. */
+        gcmkVERIFY_OK(gckOS_ReleaseMutex(
+            memory->os, memory->mutex
+            ));
+    }
+
+    if (acquired)
+    {
+       gcmkVERIFY_OK(gckOS_ReleaseMutex(os, Node->Virtual.mutex));
+    }
+
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+
+#ifdef __QNXNTO__
+/*******************************************************************************
+**
+**  gcoVIDMEM_FreeHandleMemory
+**
+**  Free all allocated video memory nodes for a handle.
+**
+**  INPUT:
+**
+**      gcoVIDMEM Memory
+**          Pointer to an gcoVIDMEM object..
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckVIDMEM_FreeHandleMemory(
+    IN gckKERNEL Kernel,
+    IN gckVIDMEM Memory,
+    IN gctUINT32 Pid
+    )
+{
+    gceSTATUS status;
+    gctBOOL mutex = gcvFALSE;
+    gcuVIDMEM_NODE_PTR node;
+    gctINT i;
+    gctUINT32 nodeCount = 0, byteCount = 0;
+    gctBOOL again;
+
+    gcmkHEADER_ARG("Kernel=0x%x, Memory=0x%x Pid=0x%u", Kernel, Memory, Pid);
+
+    gcmkVERIFY_OBJECT(Kernel, gcvOBJ_KERNEL);
+    gcmkVERIFY_OBJECT(Memory, gcvOBJ_VIDMEM);
+
+    gcmkONERROR(gckOS_AcquireMutex(Memory->os, Memory->mutex, gcvINFINITE));
+    mutex = gcvTRUE;
+
+    /* Walk all sentinels. */
+    for (i = 0; i < gcmCOUNTOF(Memory->sentinel); ++i)
+    {
+        /* Bail out of the heap if it is not used. */
+        if (Memory->sentinel[i].VidMem.next == gcvNULL)
+        {
+            break;
+        }
+
+        do
+        {
+            again = gcvFALSE;
+
+            /* Walk all the nodes until we reach the sentinel. */
+            for (node = Memory->sentinel[i].VidMem.next;
+                 node->VidMem.bytes != 0;
+                 node = node->VidMem.next)
+            {
+                /* Free the node if it was allocated by Handle. */
+                if (node->VidMem.processID == Pid)
+                {
+                    /* Unlock video memory. */
+                    while (node->VidMem.locked > 0)
+                    {
+                        gckVIDMEM_Unlock(Kernel, node, gcvSURF_TYPE_UNKNOWN, gcvNULL);
+                    }
+
+                    nodeCount++;
+                    byteCount += node->VidMem.bytes;
+
+                    /* Free video memory. */
+                    gcmkVERIFY_OK(gckVIDMEM_Free(node));
+
+                    /*
+                     * Freeing may cause a merge which will invalidate our iteration.
+                     * Don't be clever, just restart.
+                     */
+                    again = gcvTRUE;
+
+                    break;
+                }
+#if gcdUSE_VIDMEM_PER_PID
+                else
+                {
+                    gcmkASSERT(node->VidMem.processID == Pid);
+                }
+#endif
+            }
+        }
+        while (again);
+    }
+
+    gcmkVERIFY_OK(gckOS_ReleaseMutex(Memory->os, Memory->mutex));
+    gcmkFOOTER();
+    return gcvSTATUS_OK;
+
+OnError:
+    if (mutex)
+    {
+        gcmkVERIFY_OK(gckOS_ReleaseMutex(Memory->os, Memory->mutex));
+    }
+
+    gcmkFOOTER();
+    return status;
+}
+#endif
+
+/*******************************************************************************
+**
+** _NeedVirtualMapping
+**
+**  Whether setup GPU page table for video node.
+**
+**  INPUT:
+**      gckKERNEL Kernel
+**          Pointer to an gckKERNEL object.
+**
+**      gcuVIDMEM_NODE_PTR Node
+**          Pointer to a gcuVIDMEM_NODE union.
+**
+**      gceCORE  Core
+**          Id of current GPU.
+**
+**  OUTPUT:
+**      gctBOOL * NeedMapping
+**          A pointer hold the result whether Node should be mapping.
+*/
+static gceSTATUS
+_NeedVirtualMapping(
+    IN gckKERNEL Kernel,
+    IN gceCORE  Core,
+    IN gcuVIDMEM_NODE_PTR Node,
+    OUT gctBOOL * NeedMapping
+)
+{
+    gceSTATUS status;
+    gctUINT32 phys;
+    gctUINT32 end;
+    gcePOOL pool;
+    gctUINT32 offset;
+    gctUINT32 baseAddress;
+
+    gcmkHEADER_ARG("Node=0x%X", Node);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_ARGUMENT(Kernel != gcvNULL);
+    gcmkVERIFY_ARGUMENT(Node != gcvNULL);
+    gcmkVERIFY_ARGUMENT(NeedMapping != gcvNULL);
+    gcmkVERIFY_ARGUMENT(Core < gcdMAX_GPU_COUNT);
+
+    if (Node->Virtual.contiguous)
+    {
+#if gcdENABLE_VG
+        if (Core == gcvCORE_VG)
+        {
+            *NeedMapping = gcvFALSE;
+        }
+        else
+#endif
+        {
+            /* Convert logical address into a physical address. */
+            gcmkONERROR(
+                gckOS_GetPhysicalAddress(Kernel->os, Node->Virtual.logical, &phys));
+
+            gcmkONERROR(gckOS_GetBaseAddress(Kernel->os, &baseAddress));
+
+            gcmkASSERT(phys >= baseAddress);
+
+            /* Subtract baseAddress to get a GPU address used for programming. */
+            phys -= baseAddress;
+
+            /* If part of region is belong to gcvPOOL_VIRTUAL,
+            ** whole region has to be mapped. */
+            end = phys + Node->Virtual.bytes - 1;
+
+            gcmkONERROR(gckHARDWARE_SplitMemory(
+                        Kernel->hardware, end, &pool, &offset
+                        ));
+
+            *NeedMapping = (pool == gcvPOOL_VIRTUAL);
+        }
+    }
+    else
+    {
+        *NeedMapping = gcvTRUE;
+    }
+
+    gcmkFOOTER_ARG("*NeedMapping=%d", *NeedMapping);
+    return gcvSTATUS_OK;
+
+OnError:
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckVIDMEM_Lock
+**
+**  Lock a video memory node and return its hardware specific address.
+**
+**  INPUT:
+**
+**      gckKERNEL Kernel
+**          Pointer to an gckKERNEL object.
+**
+**      gcuVIDMEM_NODE_PTR Node
+**          Pointer to a gcuVIDMEM_NODE union.
+**
+**  OUTPUT:
+**
+**      gctUINT32 * Address
+**          Pointer to a variable that will hold the hardware specific address.
+*/
+gceSTATUS
+gckVIDMEM_Lock(
+    IN gckKERNEL Kernel,
+    IN gcuVIDMEM_NODE_PTR Node,
+    IN gctBOOL Cacheable,
+    OUT gctUINT32 * Address
+    )
+{
+    gceSTATUS status;
+    gctBOOL acquired = gcvFALSE;
+    gctBOOL locked = gcvFALSE;
+    gckOS os = gcvNULL;
+    gctBOOL needMapping;
+    gctUINT32 baseAddress;
+
+    gcmkHEADER_ARG("Node=0x%x", Node);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_ARGUMENT(Address != gcvNULL);
+
+    if ((Node == gcvNULL)
+    ||  (Node->VidMem.memory == gcvNULL)
+    )
+    {
+        /* Invalid object. */
+        gcmkONERROR(gcvSTATUS_INVALID_OBJECT);
+    }
+
+    /**************************** Video Memory ********************************/
+
+    if (Node->VidMem.memory->object.type == gcvOBJ_VIDMEM)
+    {
+        if (Cacheable == gcvTRUE)
+        {
+            gcmkONERROR(gcvSTATUS_INVALID_REQUEST);
+        }
+
+        /* Increment the lock count. */
+        Node->VidMem.locked ++;
+
+        /* Return the physical address of the node. */
+#if !gcdUSE_VIDMEM_PER_PID
+        *Address = Node->VidMem.memory->baseAddress
+                 + Node->VidMem.offset
+                 + Node->VidMem.alignment;
+#else
+        *Address = Node->VidMem.physical;
+#endif
+
+        /* Get hardware specific address. */
+#if gcdENABLE_VG
+        if (Kernel->vg == gcvNULL)
+#endif
+        {
+            if (Kernel->hardware->mmuVersion == 0)
+            {
+                /* Convert physical to GPU address for old mmu. */
+                gcmkONERROR(gckOS_GetBaseAddress(Kernel->os, &baseAddress));
+                gcmkASSERT(*Address > baseAddress);
+                *Address -= baseAddress;
+            }
+        }
+
+        gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_VIDMEM,
+                      "Locked node 0x%x (%d) @ 0x%08X",
+                      Node,
+                      Node->VidMem.locked,
+                      *Address);
+    }
+
+    /*************************** Virtual Memory *******************************/
+
+    else
+    {
+        /* Verify the gckKERNEL object pointer. */
+        gcmkVERIFY_OBJECT(Node->Virtual.kernel, gcvOBJ_KERNEL);
+
+        /* Extract the gckOS object pointer. */
+        os = Node->Virtual.kernel->os;
+        gcmkVERIFY_OBJECT(os, gcvOBJ_OS);
+
+        /* Grab the mutex. */
+        gcmkONERROR(gckOS_AcquireMutex(os, Node->Virtual.mutex, gcvINFINITE));
+        acquired = gcvTRUE;
+
+#if gcdPAGED_MEMORY_CACHEABLE
+        /* Force video memory cacheable. */
+        Cacheable = gcvTRUE;
+#endif
+
+        gcmkONERROR(
+            gckOS_LockPages(os,
+                            Node->Virtual.physical,
+                            Node->Virtual.bytes,
+                            Cacheable,
+                            &Node->Virtual.logical,
+                            &Node->Virtual.pageCount));
+
+        /* Increment the lock count. */
+        if (Node->Virtual.lockeds[Kernel->core] ++ == 0)
+        {
+            /* Is this node pending for a final unlock? */
+#ifdef __QNXNTO__
+            if (!Node->Virtual.contiguous && Node->Virtual.unlockPendings[Kernel->core])
+            {
+                /* Make sure we have a page table. */
+                gcmkASSERT(Node->Virtual.pageTables[Kernel->core] != gcvNULL);
+
+                /* Remove pending unlock. */
+                Node->Virtual.unlockPendings[Kernel->core] = gcvFALSE;
+            }
+
+            /* First lock - create a page table. */
+            gcmkASSERT(Node->Virtual.pageTables[Kernel->core] == gcvNULL);
+
+            /* Make sure we mark our node as not flushed. */
+            Node->Virtual.unlockPendings[Kernel->core] = gcvFALSE;
+#endif
+
+            locked = gcvTRUE;
+
+            gcmkONERROR(_NeedVirtualMapping(Kernel, Kernel->core, Node, &needMapping));
+
+            if (needMapping == gcvFALSE)
+            {
+                /* Get hardware specific address. */
+#if gcdENABLE_VG
+                if (Kernel->vg != gcvNULL)
+                {
+                    gcmkONERROR(gckVGHARDWARE_ConvertLogical(Kernel->vg->hardware,
+                                Node->Virtual.logical,
+                                &Node->Virtual.addresses[Kernel->core]));
+                }
+                else
+#endif
+                {
+                    gcmkONERROR(gckHARDWARE_ConvertLogical(Kernel->hardware,
+                                Node->Virtual.logical,
+                                &Node->Virtual.addresses[Kernel->core]));
+                }
+            }
+            else
+            {
+#if gcdENABLE_VG
+                if (Kernel->vg != gcvNULL)
+                {
+                    /* Allocate pages inside the MMU. */
+                    gcmkONERROR(
+                        gckVGMMU_AllocatePages(Kernel->vg->mmu,
+                                             Node->Virtual.pageCount,
+                                             &Node->Virtual.pageTables[Kernel->core],
+                                             &Node->Virtual.addresses[Kernel->core]));
+                }
+                else
+#endif
+                {
+                    /* Allocate pages inside the MMU. */
+                    gcmkONERROR(
+                        gckMMU_AllocatePagesEx(Kernel->mmu,
+                                             Node->Virtual.pageCount,
+                                             Node->Virtual.type,
+                                             &Node->Virtual.pageTables[Kernel->core],
+                                             &Node->Virtual.addresses[Kernel->core]));
+                }
+
+                Node->Virtual.lockKernels[Kernel->core] = Kernel;
+
+                /* Map the pages. */
+#ifdef __QNXNTO__
+                gcmkONERROR(
+                    gckOS_MapPagesEx(os,
+                                     Kernel->core,
+                                     Node->Virtual.physical,
+                                     Node->Virtual.logical,
+                                     Node->Virtual.pageCount,
+                                     Node->Virtual.pageTables[Kernel->core]));
+#else
+                gcmkONERROR(
+                    gckOS_MapPagesEx(os,
+                                     Kernel->core,
+                                     Node->Virtual.physical,
+                                     Node->Virtual.pageCount,
+                                     Node->Virtual.pageTables[Kernel->core]));
+#endif
+
+#if gcdENABLE_VG
+                if (Kernel->core == gcvCORE_VG)
+                {
+                    gcmkONERROR(gckVGMMU_Flush(Kernel->vg->mmu));
+                }
+                else
+#endif
+                {
+                    gcmkONERROR(gckMMU_Flush(Kernel->mmu));
+                }
+            }
+            gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_VIDMEM,
+                           "Mapped virtual node 0x%x to 0x%08X",
+                           Node,
+                           Node->Virtual.addresses[Kernel->core]);
+        }
+
+        /* Return hardware address. */
+        *Address = Node->Virtual.addresses[Kernel->core];
+
+        /* Release the mutex. */
+        gcmkVERIFY_OK(gckOS_ReleaseMutex(os, Node->Virtual.mutex));
+    }
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Address=%08x", *Address);
+    return gcvSTATUS_OK;
+
+OnError:
+    if (locked)
+    {
+        if (Node->Virtual.pageTables[Kernel->core] != gcvNULL)
+        {
+#if gcdENABLE_VG
+            if (Kernel->vg != gcvNULL)
+            {
+                /* Free the pages from the MMU. */
+                gcmkVERIFY_OK(
+                    gckVGMMU_FreePages(Kernel->vg->mmu,
+                                     Node->Virtual.pageTables[Kernel->core],
+                                     Node->Virtual.pageCount));
+            }
+            else
+#endif
+            {
+                /* Free the pages from the MMU. */
+                gcmkVERIFY_OK(
+                    gckMMU_FreePages(Kernel->mmu,
+                                     Node->Virtual.pageTables[Kernel->core],
+                                     Node->Virtual.pageCount));
+            }
+            Node->Virtual.pageTables[Kernel->core]  = gcvNULL;
+            Node->Virtual.lockKernels[Kernel->core] = gcvNULL;
+        }
+
+        /* Unlock the pages. */
+        gcmkVERIFY_OK(
+            gckOS_UnlockPages(os,
+                              Node->Virtual.physical,
+                              Node->Virtual.bytes,
+                              Node->Virtual.logical
+                              ));
+
+        Node->Virtual.lockeds[Kernel->core]--;
+    }
+
+    if (acquired)
+    {
+        /* Release the mutex. */
+        gcmkVERIFY_OK(gckOS_ReleaseMutex(os, Node->Virtual.mutex));
+    }
+
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckVIDMEM_Unlock
+**
+**  Unlock a video memory node.
+**
+**  INPUT:
+**
+**      gckKERNEL Kernel
+**          Pointer to an gckKERNEL object.
+**
+**      gcuVIDMEM_NODE_PTR Node
+**          Pointer to a locked gcuVIDMEM_NODE union.
+**
+**      gceSURF_TYPE Type
+**          Type of surface to unlock.
+**
+**      gctBOOL * Asynchroneous
+**          Pointer to a variable specifying whether the surface should be
+**          unlocked asynchroneously or not.
+**
+**  OUTPUT:
+**
+**      gctBOOL * Asynchroneous
+**          Pointer to a variable receiving the number of bytes used in the
+**          command buffer specified by 'Commands'.  If gcvNULL, there is no
+**          command buffer.
+*/
+gceSTATUS
+gckVIDMEM_Unlock(
+    IN gckKERNEL Kernel,
+    IN gcuVIDMEM_NODE_PTR Node,
+    IN gceSURF_TYPE Type,
+    IN OUT gctBOOL * Asynchroneous
+    )
+{
+    gceSTATUS status;
+    gckHARDWARE hardware;
+    gctPOINTER buffer;
+    gctSIZE_T requested, bufferSize;
+    gckCOMMAND command = gcvNULL;
+    gceKERNEL_FLUSH flush;
+    gckOS os = gcvNULL;
+    gctBOOL acquired = gcvFALSE;
+    gctBOOL commitEntered = gcvFALSE;
+    gctINT32 i, totalLocked;
+
+    gcmkHEADER_ARG("Node=0x%x Type=%d *Asynchroneous=%d",
+                   Node, Type, gcmOPT_VALUE(Asynchroneous));
+
+    /* Verify the arguments. */
+    if ((Node == gcvNULL)
+    ||  (Node->VidMem.memory == gcvNULL)
+    )
+    {
+        /* Invalid object. */
+        gcmkONERROR(gcvSTATUS_INVALID_OBJECT);
+    }
+
+    /**************************** Video Memory ********************************/
+
+    if (Node->VidMem.memory->object.type == gcvOBJ_VIDMEM)
+    {
+        if (Node->VidMem.locked <= 0)
+        {
+            /* The surface was not locked. */
+            status = gcvSTATUS_MEMORY_UNLOCKED;
+            goto OnError;
+        }
+
+        /* Decrement the lock count. */
+        Node->VidMem.locked --;
+
+        if (Asynchroneous != gcvNULL)
+        {
+            /* No need for any events. */
+            *Asynchroneous = gcvFALSE;
+        }
+
+        gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_VIDMEM,
+                      "Unlocked node 0x%x (%d)",
+                      Node,
+                      Node->VidMem.locked);
+
+#ifdef __QNXNTO__
+        /* Unmap the video memory */
+        if ((Node->VidMem.locked == 0) && (Node->VidMem.logical != gcvNULL))
+        {
+            if (Kernel->core == gcvCORE_VG)
+            {
+                gckKERNEL_UnmapVideoMemory(Kernel,
+                                           Node->VidMem.logical,
+                                           Node->VidMem.processID,
+                                           Node->VidMem.bytes);
+                Node->VidMem.logical = gcvNULL;
+            }
+        }
+#endif /* __QNXNTO__ */
+
+        if (Node->VidMem.freePending && (Node->VidMem.locked == 0))
+        {
+            /* Client has unlocked node previously attempted to be freed by compositor. Free now. */
+            Node->VidMem.freePending = gcvFALSE;
+            gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_VIDMEM,
+                           "Deferred-freeing Node 0x%x.",
+                           Node);
+            gcmkONERROR(gckVIDMEM_Free(Node));
+        }
+    }
+
+    /*************************** Virtual Memory *******************************/
+
+    else
+    {
+        /* Verify the gckHARDWARE object pointer. */
+        hardware = Kernel->hardware;
+        gcmkVERIFY_OBJECT(hardware, gcvOBJ_HARDWARE);
+
+        /* Verify the gckCOMMAND object pointer. */
+        command = Kernel->command;
+        gcmkVERIFY_OBJECT(command, gcvOBJ_COMMAND);
+
+        /* Get the gckOS object pointer. */
+        os = Kernel->os;
+        gcmkVERIFY_OBJECT(os, gcvOBJ_OS);
+
+        /* Grab the mutex. */
+        gcmkONERROR(
+            gckOS_AcquireMutex(os, Node->Virtual.mutex, gcvINFINITE));
+
+        acquired = gcvTRUE;
+
+        if (Asynchroneous == gcvNULL)
+        {
+            if (Node->Virtual.lockeds[Kernel->core] == 0)
+            {
+                status = gcvSTATUS_MEMORY_UNLOCKED;
+                goto OnError;
+            }
+
+            /* Decrement lock count. */
+            -- Node->Virtual.lockeds[Kernel->core];
+
+            /* See if we can unlock the resources. */
+            if (Node->Virtual.lockeds[Kernel->core] == 0)
+            {
+                /* Free the page table. */
+                if (Node->Virtual.pageTables[Kernel->core] != gcvNULL)
+                {
+#if gcdENABLE_VG
+                    if (Kernel->vg != gcvNULL)
+                    {
+                        gcmkONERROR(
+                            gckVGMMU_FreePages(Kernel->vg->mmu,
+                                             Node->Virtual.pageTables[Kernel->core],
+                                             Node->Virtual.pageCount));
+                    }
+                    else
+#endif
+                    {
+                        gcmkONERROR(
+                            gckMMU_FreePages(Kernel->mmu,
+                                             Node->Virtual.pageTables[Kernel->core],
+                                             Node->Virtual.pageCount));
+                    }
+                    /* Mark page table as freed. */
+                    Node->Virtual.pageTables[Kernel->core] = gcvNULL;
+                    Node->Virtual.lockKernels[Kernel->core] = gcvNULL;
+                }
+
+#ifdef __QNXNTO__
+                /* Mark node as unlocked. */
+                Node->Virtual.unlockPendings[Kernel->core] = gcvFALSE;
+#endif
+            }
+
+            for (i = 0, totalLocked = 0; i < gcdMAX_GPU_COUNT; i++)
+            {
+                totalLocked += Node->Virtual.lockeds[i];
+            }
+
+            if (totalLocked == 0)
+            {
+                /* Owner have already freed this node
+                ** and we are the last one to unlock, do
+                ** real free */
+                if (Node->Virtual.freed)
+                {
+                    /* Free the virtual memory. */
+                    gcmkVERIFY_OK(gckOS_FreePagedMemory(Kernel->os,
+                                                        Node->Virtual.physical,
+                                                        Node->Virtual.bytes));
+
+                    /* Release mutex before node is destroyed */
+                    gcmkVERIFY_OK(gckOS_ReleaseMutex(os, Node->Virtual.mutex));
+
+                    acquired = gcvFALSE;
+
+                    /* Destroy the gcuVIDMEM_NODE union. */
+                    gcmkVERIFY_OK(gckVIDMEM_DestroyVirtual(Node));
+
+                    /* Node has been destroyed, so we should not touch it any more */
+                    gcmkFOOTER();
+                    return gcvSTATUS_OK;
+                }
+            }
+
+            gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_VIDMEM,
+                           "Unmapped virtual node 0x%x from 0x%08X",
+                           Node, Node->Virtual.addresses[Kernel->core]);
+
+        }
+
+        else
+        {
+            /* If we need to unlock a node from virtual memory we have to be
+            ** very carefull.  If the node is still inside the caches we
+            ** might get a bus error later if the cache line needs to be
+            ** replaced.  So - we have to flush the caches before we do
+            ** anything. */
+
+            /* gckCommand_EnterCommit() can't be called in interrupt handler because
+            ** of a dead lock situation:
+            ** process call Command_Commit(), and acquire Command->mutexQueue in
+            ** gckCOMMAND_EnterCommit(). Then it will wait for a signal which depends
+            ** on interrupt handler to generate, if interrupt handler enter
+            ** gckCommand_EnterCommit(), process will never get the signal. */
+
+            /* So, flush cache when we still in process context, and then ask caller to
+            ** schedule a event. */
+
+            gcmkONERROR(
+                gckOS_UnlockPages(os,
+                              Node->Virtual.physical,
+                              Node->Virtual.bytes,
+                              Node->Virtual.logical));
+
+            if (!Node->Virtual.contiguous
+            &&  (Node->Virtual.lockeds[Kernel->core] == 1)
+#if gcdENABLE_VG
+            && (Kernel->vg == gcvNULL)
+#endif
+            )
+            {
+                if (Type == gcvSURF_BITMAP)
+                {
+                    /* Flush 2D cache. */
+                    flush = gcvFLUSH_2D;
+                }
+                else if (Type == gcvSURF_RENDER_TARGET)
+                {
+                    /* Flush color cache. */
+                    flush = gcvFLUSH_COLOR;
+                }
+                else if (Type == gcvSURF_DEPTH)
+                {
+                    /* Flush depth cache. */
+                    flush = gcvFLUSH_DEPTH;
+                }
+                else
+                {
+                    /* No flush required. */
+                    flush = (gceKERNEL_FLUSH) 0;
+                }
+                if(hardware)
+                {
+                    gcmkONERROR(
+                        gckHARDWARE_Flush(hardware, flush, gcvNULL, &requested));
+
+                    if (requested != 0)
+                    {
+                        /* Acquire the command queue. */
+                        gcmkONERROR(gckCOMMAND_EnterCommit(command, gcvFALSE));
+                        commitEntered = gcvTRUE;
+
+                        gcmkONERROR(gckCOMMAND_Reserve(
+                            command, requested, &buffer, &bufferSize
+                            ));
+
+                        gcmkONERROR(gckHARDWARE_Flush(
+                            hardware, flush, buffer, &bufferSize
+                            ));
+
+                        /* Mark node as pending. */
+#ifdef __QNXNTO__
+                        Node->Virtual.unlockPendings[Kernel->core] = gcvTRUE;
+#endif
+
+                        gcmkONERROR(gckCOMMAND_Execute(command, requested));
+
+                        /* Release the command queue. */
+                        gcmkONERROR(gckCOMMAND_ExitCommit(command, gcvFALSE));
+                        commitEntered = gcvFALSE;
+                    }
+                }
+                else
+                {
+                    gckOS_Print("Hardware already is freed.\n");
+                }
+            }
+
+            gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_VIDMEM,
+                           "Scheduled unlock for virtual node 0x%x",
+                           Node);
+
+            /* Schedule the surface to be unlocked. */
+            *Asynchroneous = gcvTRUE;
+        }
+
+        /* Release the mutex. */
+        gcmkVERIFY_OK(gckOS_ReleaseMutex(os, Node->Virtual.mutex));
+
+        acquired = gcvFALSE;
+    }
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Asynchroneous=%d", gcmOPT_VALUE(Asynchroneous));
+    return gcvSTATUS_OK;
+
+OnError:
+    if (commitEntered)
+    {
+        /* Release the command queue mutex. */
+        gcmkVERIFY_OK(gckCOMMAND_ExitCommit(command, gcvFALSE));
+    }
+
+    if (acquired)
+    {
+        /* Release the mutex. */
+        gcmkVERIFY_OK(gckOS_ReleaseMutex(os, Node->Virtual.mutex));
+    }
+
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
diff --git a/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal.h b/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal.h
new file mode 100644 (file)
index 0000000..63d5dad
--- /dev/null
@@ -0,0 +1,2670 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#ifndef __gc_hal_h_
+#define __gc_hal_h_
+
+#include "gc_hal_rename.h"
+#include "gc_hal_types.h"
+#include "gc_hal_enum.h"
+#include "gc_hal_base.h"
+#include "gc_hal_profiler.h"
+#include "gc_hal_driver.h"
+#ifndef VIVANTE_NO_3D
+#include "gc_hal_statistics.h"
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/******************************************************************************\
+******************************* Alignment Macros *******************************
+\******************************************************************************/
+
+#define gcmALIGN(n, align) \
+( \
+    ((n) + ((align) - 1)) & ~((align) - 1) \
+)
+
+#define gcmALIGN_BASE(n, align) \
+( \
+    ((n) & ~((align) - 1)) \
+)
+
+/******************************************************************************\
+***************************** Element Count Macro *****************************
+\******************************************************************************/
+
+#define gcmSIZEOF(a) \
+( \
+    (gctSIZE_T) (sizeof(a)) \
+)
+
+#define gcmCOUNTOF(a) \
+( \
+    sizeof(a) / sizeof(a[0]) \
+)
+
+/******************************************************************************\
+********************************* Cast Macro **********************************
+\******************************************************************************/
+#define gcmNAME_TO_PTR(na) \
+        gckKERNEL_QueryPointerFromName(kernel, gcmALL_TO_UINT32(na))
+
+#define gcmPTR_TO_NAME(ptr) \
+        gckKERNEL_AllocateNameFromPointer(kernel, ptr)
+
+#define gcmRELEASE_NAME(na) \
+        gckKERNEL_DeleteName(kernel, gcmALL_TO_UINT32(na))
+
+#ifdef __LP64__
+
+#define gcmALL_TO_UINT32(t) \
+( \
+    (gctUINT32) (gctUINTPTR_T) (t)\
+)
+
+#define gcmPTR_TO_UINT64(p) \
+( \
+    (gctUINT64) (p)\
+)
+
+#define gcmUINT64_TO_PTR(u) \
+( \
+    (gctPOINTER) (u)\
+)
+
+#else /* 32 bit */
+
+#define gcmALL_TO_UINT32(t) \
+( \
+    (gctUINT32) (t)\
+)
+
+#define gcmPTR_TO_UINT64(p) \
+( \
+    (gctUINT64) (gctUINTPTR_T) (p)\
+)
+
+#define gcmUINT64_TO_PTR(u) \
+( \
+    (gctPOINTER) (gctUINTPTR_T) (u)\
+)
+
+#endif
+
+#define gcmUINT64_TO_TYPE(u, t) \
+( \
+    (t) (gctUINTPTR_T) (u)\
+)
+
+/******************************************************************************\
+******************************** Useful Macro *********************************
+\******************************************************************************/
+
+#define gcvINVALID_ADDRESS          ~0U
+
+#define gcmGET_PRE_ROTATION(rotate) \
+    ((rotate) & (~(gcvSURF_POST_FLIP_X | gcvSURF_POST_FLIP_Y)))
+
+#define gcmGET_POST_ROTATION(rotate) \
+    ((rotate) & (gcvSURF_POST_FLIP_X | gcvSURF_POST_FLIP_Y))
+
+/******************************************************************************\
+******************************** gcsOBJECT Object *******************************
+\******************************************************************************/
+
+/* Type of objects. */
+typedef enum _gceOBJECT_TYPE
+{
+    gcvOBJ_UNKNOWN              = 0,
+    gcvOBJ_2D                   = gcmCC('2','D',' ',' '),
+    gcvOBJ_3D                   = gcmCC('3','D',' ',' '),
+    gcvOBJ_ATTRIBUTE            = gcmCC('A','T','T','R'),
+    gcvOBJ_BRUSHCACHE           = gcmCC('B','R','U','$'),
+    gcvOBJ_BRUSHNODE            = gcmCC('B','R','U','n'),
+    gcvOBJ_BRUSH                = gcmCC('B','R','U','o'),
+    gcvOBJ_BUFFER               = gcmCC('B','U','F','R'),
+    gcvOBJ_COMMAND              = gcmCC('C','M','D',' '),
+    gcvOBJ_COMMANDBUFFER        = gcmCC('C','M','D','B'),
+    gcvOBJ_CONTEXT              = gcmCC('C','T','X','T'),
+    gcvOBJ_DEVICE               = gcmCC('D','E','V',' '),
+    gcvOBJ_DUMP                 = gcmCC('D','U','M','P'),
+    gcvOBJ_EVENT                = gcmCC('E','V','N','T'),
+    gcvOBJ_FUNCTION             = gcmCC('F','U','N','C'),
+    gcvOBJ_HAL                  = gcmCC('H','A','L',' '),
+    gcvOBJ_HARDWARE             = gcmCC('H','A','R','D'),
+    gcvOBJ_HEAP                 = gcmCC('H','E','A','P'),
+    gcvOBJ_INDEX                = gcmCC('I','N','D','X'),
+    gcvOBJ_INTERRUPT            = gcmCC('I','N','T','R'),
+    gcvOBJ_KERNEL               = gcmCC('K','E','R','N'),
+    gcvOBJ_KERNEL_FUNCTION      = gcmCC('K','F','C','N'),
+    gcvOBJ_MEMORYBUFFER         = gcmCC('M','E','M','B'),
+    gcvOBJ_MMU                  = gcmCC('M','M','U',' '),
+    gcvOBJ_OS                   = gcmCC('O','S',' ',' '),
+    gcvOBJ_OUTPUT               = gcmCC('O','U','T','P'),
+    gcvOBJ_PAINT                = gcmCC('P','N','T',' '),
+    gcvOBJ_PATH                 = gcmCC('P','A','T','H'),
+    gcvOBJ_QUEUE                = gcmCC('Q','U','E',' '),
+    gcvOBJ_SAMPLER              = gcmCC('S','A','M','P'),
+    gcvOBJ_SHADER               = gcmCC('S','H','D','R'),
+    gcvOBJ_STREAM               = gcmCC('S','T','R','M'),
+    gcvOBJ_SURF                 = gcmCC('S','U','R','F'),
+    gcvOBJ_TEXTURE              = gcmCC('T','X','T','R'),
+    gcvOBJ_UNIFORM              = gcmCC('U','N','I','F'),
+    gcvOBJ_VARIABLE             = gcmCC('V','A','R','I'),
+    gcvOBJ_VERTEX               = gcmCC('V','R','T','X'),
+    gcvOBJ_VIDMEM               = gcmCC('V','M','E','M'),
+    gcvOBJ_VG                   = gcmCC('V','G',' ',' '),
+}
+gceOBJECT_TYPE;
+
+/* gcsOBJECT object defintinon. */
+typedef struct _gcsOBJECT
+{
+    /* Type of an object. */
+    gceOBJECT_TYPE              type;
+}
+gcsOBJECT;
+
+typedef struct _gckHARDWARE *       gckHARDWARE;
+
+/* CORE flags. */
+typedef enum _gceCORE
+{
+    gcvCORE_MAJOR       = 0x0,
+    gcvCORE_2D          = 0x1,
+    gcvCORE_VG          = 0x2
+}
+gceCORE;
+
+#define gcdMAX_GPU_COUNT               3
+
+/*******************************************************************************
+**
+**  gcmVERIFY_OBJECT
+**
+**      Assert if an object is invalid or is not of the specified type.  If the
+**      object is invalid or not of the specified type, gcvSTATUS_INVALID_OBJECT
+**      will be returned from the current function.  In retail mode this macro
+**      does nothing.
+**
+**  ARGUMENTS:
+**
+**      obj     Object to test.
+**      t       Expected type of the object.
+*/
+#if gcmIS_DEBUG(gcdDEBUG_TRACE)
+#define _gcmVERIFY_OBJECT(prefix, obj, t) \
+    if ((obj) == gcvNULL) \
+    { \
+        prefix##TRACE(gcvLEVEL_ERROR, \
+                      #prefix "VERIFY_OBJECT failed: NULL"); \
+        prefix##TRACE(gcvLEVEL_ERROR, "  expected: %c%c%c%c", \
+                      gcmCC_PRINT(t)); \
+        prefix##ASSERT((obj) != gcvNULL); \
+        prefix##FOOTER_ARG("status=%d", gcvSTATUS_INVALID_OBJECT); \
+        return gcvSTATUS_INVALID_OBJECT; \
+    } \
+    else if (((gcsOBJECT*) (obj))->type != t) \
+    { \
+        prefix##TRACE(gcvLEVEL_ERROR, \
+                      #prefix "VERIFY_OBJECT failed: %c%c%c%c", \
+                      gcmCC_PRINT(((gcsOBJECT*) (obj))->type)); \
+        prefix##TRACE(gcvLEVEL_ERROR, "  expected: %c%c%c%c", \
+                      gcmCC_PRINT(t)); \
+        prefix##ASSERT(((gcsOBJECT*)(obj))->type == t); \
+        prefix##FOOTER_ARG("status=%d", gcvSTATUS_INVALID_OBJECT); \
+        return gcvSTATUS_INVALID_OBJECT; \
+    }
+
+#   define gcmVERIFY_OBJECT(obj, t)     _gcmVERIFY_OBJECT(gcm, obj, t)
+#   define gcmkVERIFY_OBJECT(obj, t)    _gcmVERIFY_OBJECT(gcmk, obj, t)
+#else
+#   define gcmVERIFY_OBJECT(obj, t)     do {} while (gcvFALSE)
+#   define gcmkVERIFY_OBJECT(obj, t)    do {} while (gcvFALSE)
+#endif
+
+/******************************************************************************/
+/*VERIFY_OBJECT if special return expected*/
+/******************************************************************************/
+#ifndef EGL_API_ANDROID
+#   define _gcmVERIFY_OBJECT_RETURN(prefix, obj, t, retVal) \
+        do \
+        { \
+            if ((obj) == gcvNULL) \
+            { \
+                prefix##PRINT_VERSION(); \
+                prefix##TRACE(gcvLEVEL_ERROR, \
+                              #prefix "VERIFY_OBJECT_RETURN failed: NULL"); \
+                prefix##TRACE(gcvLEVEL_ERROR, "  expected: %c%c%c%c", \
+                              gcmCC_PRINT(t)); \
+                prefix##ASSERT((obj) != gcvNULL); \
+                prefix##FOOTER_ARG("retVal=%d", retVal); \
+                return retVal; \
+            } \
+            else if (((gcsOBJECT*) (obj))->type != t) \
+            { \
+                prefix##PRINT_VERSION(); \
+                prefix##TRACE(gcvLEVEL_ERROR, \
+                              #prefix "VERIFY_OBJECT_RETURN failed: %c%c%c%c", \
+                              gcmCC_PRINT(((gcsOBJECT*) (obj))->type)); \
+                prefix##TRACE(gcvLEVEL_ERROR, "  expected: %c%c%c%c", \
+                              gcmCC_PRINT(t)); \
+                prefix##ASSERT(((gcsOBJECT*)(obj))->type == t); \
+                prefix##FOOTER_ARG("retVal=%d", retVal); \
+                return retVal; \
+            } \
+        } \
+        while (gcvFALSE)
+#   define gcmVERIFY_OBJECT_RETURN(obj, t, retVal) \
+                            _gcmVERIFY_OBJECT_RETURN(gcm, obj, t, retVal)
+#   define gcmkVERIFY_OBJECT_RETURN(obj, t, retVal) \
+                            _gcmVERIFY_OBJECT_RETURN(gcmk, obj, t, retVal)
+#else
+#   define gcmVERIFY_OBJECT_RETURN(obj, t)     do {} while (gcvFALSE)
+#   define gcmVERIFY_OBJECT_RETURN(obj, t)    do {} while (gcvFALSE)
+#endif
+
+/******************************************************************************\
+********************************** gckOS Object *********************************
+\******************************************************************************/
+
+/* Construct a new gckOS object. */
+gceSTATUS
+gckOS_Construct(
+    IN gctPOINTER Context,
+    OUT gckOS * Os
+    );
+
+/* Destroy an gckOS object. */
+gceSTATUS
+gckOS_Destroy(
+    IN gckOS Os
+    );
+
+/* Query the video memory. */
+gceSTATUS
+gckOS_QueryVideoMemory(
+    IN gckOS Os,
+    OUT gctPHYS_ADDR * InternalAddress,
+    OUT gctSIZE_T * InternalSize,
+    OUT gctPHYS_ADDR * ExternalAddress,
+    OUT gctSIZE_T * ExternalSize,
+    OUT gctPHYS_ADDR * ContiguousAddress,
+    OUT gctSIZE_T * ContiguousSize
+    );
+
+/* Allocate memory from the heap. */
+gceSTATUS
+gckOS_Allocate(
+    IN gckOS Os,
+    IN gctSIZE_T Bytes,
+    OUT gctPOINTER * Memory
+    );
+
+/* Free allocated memory. */
+gceSTATUS
+gckOS_Free(
+    IN gckOS Os,
+    IN gctPOINTER Memory
+    );
+
+/* Wrapper for allocation memory.. */
+gceSTATUS
+gckOS_AllocateMemory(
+    IN gckOS Os,
+    IN gctSIZE_T Bytes,
+    OUT gctPOINTER * Memory
+    );
+
+/* Wrapper for freeing memory. */
+gceSTATUS
+gckOS_FreeMemory(
+    IN gckOS Os,
+    IN gctPOINTER Memory
+    );
+
+/* Allocate paged memory. */
+gceSTATUS
+gckOS_AllocatePagedMemory(
+    IN gckOS Os,
+    IN gctSIZE_T Bytes,
+    OUT gctPHYS_ADDR * Physical
+    );
+
+/* Allocate paged memory. */
+gceSTATUS
+gckOS_AllocatePagedMemoryEx(
+    IN gckOS Os,
+    IN gctBOOL Contiguous,
+    IN gctSIZE_T Bytes,
+    OUT gctPHYS_ADDR * Physical
+    );
+
+/* Lock pages. */
+gceSTATUS
+gckOS_LockPages(
+    IN gckOS Os,
+    IN gctPHYS_ADDR Physical,
+    IN gctSIZE_T Bytes,
+    IN gctBOOL Cacheable,
+    OUT gctPOINTER * Logical,
+    OUT gctSIZE_T * PageCount
+    );
+
+/* Map pages. */
+gceSTATUS
+gckOS_MapPages(
+    IN gckOS Os,
+    IN gctPHYS_ADDR Physical,
+#ifdef __QNXNTO__
+    IN gctPOINTER Logical,
+#endif
+    IN gctSIZE_T PageCount,
+    IN gctPOINTER PageTable
+    );
+
+/* Map pages. */
+gceSTATUS
+gckOS_MapPagesEx(
+    IN gckOS Os,
+    IN gceCORE Core,
+    IN gctPHYS_ADDR Physical,
+#ifdef __QNXNTO__
+    IN gctPOINTER Logical,
+#endif
+    IN gctSIZE_T PageCount,
+    IN gctPOINTER PageTable
+    );
+
+/* Unlock pages. */
+gceSTATUS
+gckOS_UnlockPages(
+    IN gckOS Os,
+    IN gctPHYS_ADDR Physical,
+    IN gctSIZE_T Bytes,
+    IN gctPOINTER Logical
+    );
+
+/* Free paged memory. */
+gceSTATUS
+gckOS_FreePagedMemory(
+    IN gckOS Os,
+    IN gctPHYS_ADDR Physical,
+    IN gctSIZE_T Bytes
+    );
+
+/* Allocate non-paged memory. */
+gceSTATUS
+gckOS_AllocateNonPagedMemory(
+    IN gckOS Os,
+    IN gctBOOL InUserSpace,
+    IN OUT gctSIZE_T * Bytes,
+    OUT gctPHYS_ADDR * Physical,
+    OUT gctPOINTER * Logical
+    );
+
+/* Free non-paged memory. */
+gceSTATUS
+gckOS_FreeNonPagedMemory(
+    IN gckOS Os,
+    IN gctSIZE_T Bytes,
+    IN gctPHYS_ADDR Physical,
+    IN gctPOINTER Logical
+    );
+
+/* Allocate contiguous memory. */
+gceSTATUS
+gckOS_AllocateContiguous(
+    IN gckOS Os,
+    IN gctBOOL InUserSpace,
+    IN OUT gctSIZE_T * Bytes,
+    OUT gctPHYS_ADDR * Physical,
+    OUT gctPOINTER * Logical
+    );
+
+/* Free contiguous memory. */
+gceSTATUS
+gckOS_FreeContiguous(
+    IN gckOS Os,
+    IN gctPHYS_ADDR Physical,
+    IN gctPOINTER Logical,
+    IN gctSIZE_T Bytes
+    );
+
+/* Get the number fo bytes per page. */
+gceSTATUS
+gckOS_GetPageSize(
+    IN gckOS Os,
+    OUT gctSIZE_T * PageSize
+    );
+
+/* Get the physical address of a corresponding logical address. */
+gceSTATUS
+gckOS_GetPhysicalAddress(
+    IN gckOS Os,
+    IN gctPOINTER Logical,
+    OUT gctUINT32 * Address
+    );
+
+/* Get the physical address of a corresponding logical address. */
+gceSTATUS
+gckOS_GetPhysicalAddressProcess(
+    IN gckOS Os,
+    IN gctPOINTER Logical,
+    IN gctUINT32 ProcessID,
+    OUT gctUINT32 * Address
+    );
+
+/* Map physical memory. */
+gceSTATUS
+gckOS_MapPhysical(
+    IN gckOS Os,
+    IN gctUINT32 Physical,
+    IN gctSIZE_T Bytes,
+    OUT gctPOINTER * Logical
+    );
+
+/* Unmap previously mapped physical memory. */
+gceSTATUS
+gckOS_UnmapPhysical(
+    IN gckOS Os,
+    IN gctPOINTER Logical,
+    IN gctSIZE_T Bytes
+    );
+
+/* Read data from a hardware register. */
+gceSTATUS
+gckOS_ReadRegister(
+    IN gckOS Os,
+    IN gctUINT32 Address,
+    OUT gctUINT32 * Data
+    );
+
+/* Read data from a hardware register. */
+gceSTATUS
+gckOS_ReadRegisterEx(
+    IN gckOS Os,
+    IN gceCORE Core,
+    IN gctUINT32 Address,
+    OUT gctUINT32 * Data
+    );
+
+/* Write data to a hardware register. */
+gceSTATUS
+gckOS_WriteRegister(
+    IN gckOS Os,
+    IN gctUINT32 Address,
+    IN gctUINT32 Data
+    );
+
+/* Write data to a hardware register. */
+gceSTATUS
+gckOS_WriteRegisterEx(
+    IN gckOS Os,
+    IN gceCORE Core,
+    IN gctUINT32 Address,
+    IN gctUINT32 Data
+    );
+
+/* Write data to a 32-bit memory location. */
+gceSTATUS
+gckOS_WriteMemory(
+    IN gckOS Os,
+    IN gctPOINTER Address,
+    IN gctUINT32 Data
+    );
+
+/* Map physical memory into the process space. */
+gceSTATUS
+gckOS_MapMemory(
+    IN gckOS Os,
+    IN gctPHYS_ADDR Physical,
+    IN gctSIZE_T Bytes,
+    OUT gctPOINTER * Logical
+    );
+
+/* Unmap physical memory from the specified process space. */
+gceSTATUS
+gckOS_UnmapMemoryEx(
+    IN gckOS Os,
+    IN gctPHYS_ADDR Physical,
+    IN gctSIZE_T Bytes,
+    IN gctPOINTER Logical,
+    IN gctUINT32 PID
+    );
+
+/* Unmap physical memory from the process space. */
+gceSTATUS
+gckOS_UnmapMemory(
+    IN gckOS Os,
+    IN gctPHYS_ADDR Physical,
+    IN gctSIZE_T Bytes,
+    IN gctPOINTER Logical
+    );
+
+/* Unmap user logical memory out of physical memory.
+ * This function is only supported in Linux currently.
+ */
+gceSTATUS
+gckOS_UnmapUserLogical(
+    IN gckOS Os,
+    IN gctPHYS_ADDR Physical,
+    IN gctSIZE_T Bytes,
+    IN gctPOINTER Logical
+    );
+
+/* Create a new mutex. */
+gceSTATUS
+gckOS_CreateMutex(
+    IN gckOS Os,
+    OUT gctPOINTER * Mutex
+    );
+
+/* Delete a mutex. */
+gceSTATUS
+gckOS_DeleteMutex(
+    IN gckOS Os,
+    IN gctPOINTER Mutex
+    );
+
+/* Acquire a mutex. */
+gceSTATUS
+gckOS_AcquireMutex(
+    IN gckOS Os,
+    IN gctPOINTER Mutex,
+    IN gctUINT32 Timeout
+    );
+
+/* Release a mutex. */
+gceSTATUS
+gckOS_ReleaseMutex(
+    IN gckOS Os,
+    IN gctPOINTER Mutex
+    );
+
+/* Atomically exchange a pair of 32-bit values. */
+gceSTATUS
+gckOS_AtomicExchange(
+    IN gckOS Os,
+    IN OUT gctUINT32_PTR Target,
+    IN gctUINT32 NewValue,
+    OUT gctUINT32_PTR OldValue
+    );
+
+/* Atomically exchange a pair of pointers. */
+gceSTATUS
+gckOS_AtomicExchangePtr(
+    IN gckOS Os,
+    IN OUT gctPOINTER * Target,
+    IN gctPOINTER NewValue,
+    OUT gctPOINTER * OldValue
+    );
+
+#if gcdSMP
+gceSTATUS
+gckOS_AtomSetMask(
+    IN gctPOINTER Atom,
+    IN gctUINT32 Mask
+    );
+
+gceSTATUS
+gckOS_AtomClearMask(
+    IN gctPOINTER Atom,
+    IN gctUINT32 Mask
+    );
+#endif
+
+gceSTATUS
+gckOS_DumpCallStack(
+    IN gckOS Os
+    );
+
+gceSTATUS
+gckOS_GetProcessNameByPid(
+    IN gctINT Pid,
+    IN gctSIZE_T Length,
+    OUT gctUINT8_PTR String
+    );
+
+
+
+/*******************************************************************************
+**
+**  gckOS_AtomConstruct
+**
+**  Create an atom.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to a gckOS object.
+**
+**  OUTPUT:
+**
+**      gctPOINTER * Atom
+**          Pointer to a variable receiving the constructed atom.
+*/
+gceSTATUS
+gckOS_AtomConstruct(
+    IN gckOS Os,
+    OUT gctPOINTER * Atom
+    );
+
+/*******************************************************************************
+**
+**  gckOS_AtomDestroy
+**
+**  Destroy an atom.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to a gckOS object.
+**
+**      gctPOINTER Atom
+**          Pointer to the atom to destroy.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_AtomDestroy(
+    IN gckOS Os,
+    OUT gctPOINTER Atom
+    );
+
+/*******************************************************************************
+**
+**  gckOS_AtomGet
+**
+**  Get the 32-bit value protected by an atom.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to a gckOS object.
+**
+**      gctPOINTER Atom
+**          Pointer to the atom.
+**
+**  OUTPUT:
+**
+**      gctINT32_PTR Value
+**          Pointer to a variable the receives the value of the atom.
+*/
+gceSTATUS
+gckOS_AtomGet(
+    IN gckOS Os,
+    IN gctPOINTER Atom,
+    OUT gctINT32_PTR Value
+    );
+
+/*******************************************************************************
+**
+**  gckOS_AtomSet
+**
+**  Set the 32-bit value protected by an atom.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to a gckOS object.
+**
+**      gctPOINTER Atom
+**          Pointer to the atom.
+**
+**      gctINT32 Value
+**          The value of the atom.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_AtomSet(
+    IN gckOS Os,
+    IN gctPOINTER Atom,
+    IN gctINT32 Value
+    );
+
+/*******************************************************************************
+**
+**  gckOS_AtomIncrement
+**
+**  Atomically increment the 32-bit integer value inside an atom.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to a gckOS object.
+**
+**      gctPOINTER Atom
+**          Pointer to the atom.
+**
+**  OUTPUT:
+**
+**      gctINT32_PTR Value
+**          Pointer to a variable the receives the original value of the atom.
+*/
+gceSTATUS
+gckOS_AtomIncrement(
+    IN gckOS Os,
+    IN gctPOINTER Atom,
+    OUT gctINT32_PTR Value
+    );
+
+/*******************************************************************************
+**
+**  gckOS_AtomDecrement
+**
+**  Atomically decrement the 32-bit integer value inside an atom.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to a gckOS object.
+**
+**      gctPOINTER Atom
+**          Pointer to the atom.
+**
+**  OUTPUT:
+**
+**      gctINT32_PTR Value
+**          Pointer to a variable the receives the original value of the atom.
+*/
+gceSTATUS
+gckOS_AtomDecrement(
+    IN gckOS Os,
+    IN gctPOINTER Atom,
+    OUT gctINT32_PTR Value
+    );
+
+/* Delay a number of microseconds. */
+gceSTATUS
+gckOS_Delay(
+    IN gckOS Os,
+    IN gctUINT32 Delay
+    );
+
+/* Get time in milliseconds. */
+gceSTATUS
+gckOS_GetTicks(
+    OUT gctUINT32_PTR Time
+    );
+
+/* Compare time value. */
+gceSTATUS
+gckOS_TicksAfter(
+    IN gctUINT32 Time1,
+    IN gctUINT32 Time2,
+    OUT gctBOOL_PTR IsAfter
+    );
+
+/* Get time in microseconds. */
+gceSTATUS
+gckOS_GetTime(
+    OUT gctUINT64_PTR Time
+    );
+
+/* Memory barrier. */
+gceSTATUS
+gckOS_MemoryBarrier(
+    IN gckOS Os,
+    IN gctPOINTER Address
+    );
+
+/* Map user pointer. */
+gceSTATUS
+gckOS_MapUserPointer(
+    IN gckOS Os,
+    IN gctPOINTER Pointer,
+    IN gctSIZE_T Size,
+    OUT gctPOINTER * KernelPointer
+    );
+
+/* Unmap user pointer. */
+gceSTATUS
+gckOS_UnmapUserPointer(
+    IN gckOS Os,
+    IN gctPOINTER Pointer,
+    IN gctSIZE_T Size,
+    IN gctPOINTER KernelPointer
+    );
+
+/*******************************************************************************
+**
+**  gckOS_QueryNeedCopy
+**
+**  Query whether the memory can be accessed or mapped directly or it has to be
+**  copied.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      gctUINT32 ProcessID
+**          Process ID of the current process.
+**
+**  OUTPUT:
+**
+**      gctBOOL_PTR NeedCopy
+**          Pointer to a boolean receiving gcvTRUE if the memory needs a copy or
+**          gcvFALSE if the memory can be accessed or mapped dircetly.
+*/
+gceSTATUS
+gckOS_QueryNeedCopy(
+    IN gckOS Os,
+    IN gctUINT32 ProcessID,
+    OUT gctBOOL_PTR NeedCopy
+    );
+
+/*******************************************************************************
+**
+**  gckOS_CopyFromUserData
+**
+**  Copy data from user to kernel memory.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      gctPOINTER KernelPointer
+**          Pointer to kernel memory.
+**
+**      gctPOINTER Pointer
+**          Pointer to user memory.
+**
+**      gctSIZE_T Size
+**          Number of bytes to copy.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_CopyFromUserData(
+    IN gckOS Os,
+    IN gctPOINTER KernelPointer,
+    IN gctPOINTER Pointer,
+    IN gctSIZE_T Size
+    );
+
+/*******************************************************************************
+**
+**  gckOS_CopyToUserData
+**
+**  Copy data from kernel to user memory.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      gctPOINTER KernelPointer
+**          Pointer to kernel memory.
+**
+**      gctPOINTER Pointer
+**          Pointer to user memory.
+**
+**      gctSIZE_T Size
+**          Number of bytes to copy.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_CopyToUserData(
+    IN gckOS Os,
+    IN gctPOINTER KernelPointer,
+    IN gctPOINTER Pointer,
+    IN gctSIZE_T Size
+    );
+
+#ifdef __QNXNTO__
+/* Map user physical address. */
+gceSTATUS
+gckOS_MapUserPhysical(
+    IN gckOS Os,
+    IN gctPHYS_ADDR Phys,
+    OUT gctPOINTER * KernelPointer
+    );
+#endif
+
+gceSTATUS
+gckOS_SuspendInterrupt(
+    IN gckOS Os
+    );
+
+gceSTATUS
+gckOS_SuspendInterruptEx(
+    IN gckOS Os,
+    IN gceCORE Core
+    );
+
+gceSTATUS
+gckOS_ResumeInterrupt(
+    IN gckOS Os
+    );
+
+gceSTATUS
+gckOS_ResumeInterruptEx(
+    IN gckOS Os,
+    IN gceCORE Core
+    );
+
+/* Get the base address for the physical memory. */
+gceSTATUS
+gckOS_GetBaseAddress(
+    IN gckOS Os,
+    OUT gctUINT32_PTR BaseAddress
+    );
+
+/* Perform a memory copy. */
+gceSTATUS
+gckOS_MemCopy(
+    IN gctPOINTER Destination,
+    IN gctCONST_POINTER Source,
+    IN gctSIZE_T Bytes
+    );
+
+/* Zero memory. */
+gceSTATUS
+gckOS_ZeroMemory(
+    IN gctPOINTER Memory,
+    IN gctSIZE_T Bytes
+    );
+
+/* Device I/O control to the kernel HAL layer. */
+gceSTATUS
+gckOS_DeviceControl(
+    IN gckOS Os,
+    IN gctBOOL FromUser,
+    IN gctUINT32 IoControlCode,
+    IN gctPOINTER InputBuffer,
+    IN gctSIZE_T InputBufferSize,
+    OUT gctPOINTER OutputBuffer,
+    IN gctSIZE_T OutputBufferSize
+    );
+
+/*******************************************************************************
+**
+**  gckOS_GetProcessID
+**
+**  Get current process ID.
+**
+**  INPUT:
+**
+**      Nothing.
+**
+**  OUTPUT:
+**
+**      gctUINT32_PTR ProcessID
+**          Pointer to the variable that receives the process ID.
+*/
+gceSTATUS
+gckOS_GetProcessID(
+    OUT gctUINT32_PTR ProcessID
+    );
+
+gceSTATUS
+gckOS_GetCurrentProcessID(
+    OUT gctUINT32_PTR ProcessID
+    );
+
+/*******************************************************************************
+**
+**  gckOS_GetThreadID
+**
+**  Get current thread ID.
+**
+**  INPUT:
+**
+**      Nothing.
+**
+**  OUTPUT:
+**
+**      gctUINT32_PTR ThreadID
+**          Pointer to the variable that receives the thread ID.
+*/
+gceSTATUS
+gckOS_GetThreadID(
+    OUT gctUINT32_PTR ThreadID
+    );
+
+/******************************************************************************\
+********************************** Signal Object *********************************
+\******************************************************************************/
+
+/* Create a signal. */
+gceSTATUS
+gckOS_CreateSignal(
+    IN gckOS Os,
+    IN gctBOOL ManualReset,
+    OUT gctSIGNAL * Signal
+    );
+
+/* Destroy a signal. */
+gceSTATUS
+gckOS_DestroySignal(
+    IN gckOS Os,
+    IN gctSIGNAL Signal
+    );
+
+/* Signal a signal. */
+gceSTATUS
+gckOS_Signal(
+    IN gckOS Os,
+    IN gctSIGNAL Signal,
+    IN gctBOOL State
+    );
+
+/* Wait for a signal. */
+gceSTATUS
+gckOS_WaitSignal(
+    IN gckOS Os,
+    IN gctSIGNAL Signal,
+    IN gctUINT32 Wait
+    );
+
+/* Map a user signal to the kernel space. */
+gceSTATUS
+gckOS_MapSignal(
+    IN gckOS Os,
+    IN gctSIGNAL Signal,
+    IN gctHANDLE Process,
+    OUT gctSIGNAL * MappedSignal
+    );
+
+/* Unmap a user signal */
+gceSTATUS
+gckOS_UnmapSignal(
+    IN gckOS Os,
+    IN gctSIGNAL Signal
+    );
+
+/* Map user memory. */
+gceSTATUS
+gckOS_MapUserMemory(
+    IN gckOS Os,
+    IN gceCORE Core,
+    IN gctPOINTER Memory,
+    IN gctUINT32 Physical,
+    IN gctSIZE_T Size,
+    OUT gctPOINTER * Info,
+    OUT gctUINT32_PTR Address
+    );
+
+/* Unmap user memory. */
+gceSTATUS
+gckOS_UnmapUserMemory(
+    IN gckOS Os,
+    IN gceCORE Core,
+    IN gctPOINTER Memory,
+    IN gctSIZE_T Size,
+    IN gctPOINTER Info,
+    IN gctUINT32 Address
+    );
+
+/******************************************************************************\
+************************** Android Native Fence Sync ***************************
+\******************************************************************************/
+gceSTATUS
+gckOS_CreateSyncTimeline(
+    IN gckOS Os,
+    OUT gctHANDLE * Timeline
+    );
+
+gceSTATUS
+gckOS_DestroySyncTimeline(
+    IN gckOS Os,
+    IN gctHANDLE Timeline
+    );
+
+gceSTATUS
+gckOS_CreateSyncPoint(
+    IN gckOS Os,
+    OUT gctSYNC_POINT * SyncPoint
+    );
+
+gceSTATUS
+gckOS_ReferenceSyncPoint(
+    IN gckOS Os,
+    IN gctSYNC_POINT SyncPoint
+    );
+
+gceSTATUS
+gckOS_DestroySyncPoint(
+    IN gckOS Os,
+    IN gctSYNC_POINT SyncPoint
+    );
+
+gceSTATUS
+gckOS_SignalSyncPoint(
+    IN gckOS Os,
+    IN gctSYNC_POINT SyncPoint
+    );
+
+gceSTATUS
+gckOS_QuerySyncPoint(
+    IN gckOS Os,
+    IN gctSYNC_POINT SyncPoint,
+    OUT gctBOOL_PTR State
+    );
+
+gceSTATUS
+gckOS_CreateNativeFence(
+    IN gckOS Os,
+    IN gctHANDLE Timeline,
+    IN gctSYNC_POINT SyncPoint,
+    OUT gctINT * FenceFD
+    );
+
+#if !USE_NEW_LINUX_SIGNAL
+/* Create signal to be used in the user space. */
+gceSTATUS
+gckOS_CreateUserSignal(
+    IN gckOS Os,
+    IN gctBOOL ManualReset,
+    OUT gctINT * SignalID
+    );
+
+/* Destroy signal used in the user space. */
+gceSTATUS
+gckOS_DestroyUserSignal(
+    IN gckOS Os,
+    IN gctINT SignalID
+    );
+
+/* Wait for signal used in the user space. */
+gceSTATUS
+gckOS_WaitUserSignal(
+    IN gckOS Os,
+    IN gctINT SignalID,
+    IN gctUINT32 Wait
+    );
+
+/* Signal a signal used in the user space. */
+gceSTATUS
+gckOS_SignalUserSignal(
+    IN gckOS Os,
+    IN gctINT SignalID,
+    IN gctBOOL State
+    );
+#endif /* USE_NEW_LINUX_SIGNAL */
+
+/* Set a signal owned by a process. */
+#if defined(__QNXNTO__)
+gceSTATUS
+gckOS_UserSignal(
+    IN gckOS Os,
+    IN gctSIGNAL Signal,
+    IN gctINT Recvid,
+    IN gctINT Coid
+    );
+#else
+gceSTATUS
+gckOS_UserSignal(
+    IN gckOS Os,
+    IN gctSIGNAL Signal,
+    IN gctHANDLE Process
+    );
+#endif
+
+/******************************************************************************\
+** Cache Support
+*/
+
+gceSTATUS
+gckOS_CacheClean(
+    gckOS Os,
+    gctUINT32 ProcessID,
+    gctPHYS_ADDR Handle,
+    gctPOINTER Physical,
+    gctPOINTER Logical,
+    gctSIZE_T Bytes
+    );
+
+gceSTATUS
+gckOS_CacheFlush(
+    gckOS Os,
+    gctUINT32 ProcessID,
+    gctPHYS_ADDR Handle,
+    gctPOINTER Physical,
+    gctPOINTER Logical,
+    gctSIZE_T Bytes
+    );
+
+gceSTATUS
+gckOS_CacheInvalidate(
+    gckOS Os,
+    gctUINT32 ProcessID,
+    gctPHYS_ADDR Handle,
+    gctPOINTER Physical,
+    gctPOINTER Logical,
+    gctSIZE_T Bytes
+    );
+
+/******************************************************************************\
+** Debug Support
+*/
+
+void
+gckOS_SetDebugLevel(
+    IN gctUINT32 Level
+    );
+
+void
+gckOS_SetDebugZone(
+    IN gctUINT32 Zone
+    );
+
+void
+gckOS_SetDebugLevelZone(
+    IN gctUINT32 Level,
+    IN gctUINT32 Zone
+    );
+
+void
+gckOS_SetDebugZones(
+    IN gctUINT32 Zones,
+    IN gctBOOL Enable
+    );
+
+void
+gckOS_SetDebugFile(
+    IN gctCONST_STRING FileName
+    );
+
+/*******************************************************************************
+** Broadcast interface.
+*/
+
+typedef enum _gceBROADCAST
+{
+    /* GPU might be idle. */
+    gcvBROADCAST_GPU_IDLE,
+
+    /* A commit is going to happen. */
+    gcvBROADCAST_GPU_COMMIT,
+
+    /* GPU seems to be stuck. */
+    gcvBROADCAST_GPU_STUCK,
+
+    /* First process gets attached. */
+    gcvBROADCAST_FIRST_PROCESS,
+
+    /* Last process gets detached. */
+    gcvBROADCAST_LAST_PROCESS,
+
+    /* AXI bus error. */
+    gcvBROADCAST_AXI_BUS_ERROR,
+}
+gceBROADCAST;
+
+gceSTATUS
+gckOS_Broadcast(
+    IN gckOS Os,
+    IN gckHARDWARE Hardware,
+    IN gceBROADCAST Reason
+    );
+
+gceSTATUS
+gckOS_BroadcastHurry(
+    IN gckOS Os,
+    IN gckHARDWARE Hardware,
+    IN gctUINT Urgency
+    );
+
+gceSTATUS
+gckOS_BroadcastCalibrateSpeed(
+    IN gckOS Os,
+    IN gckHARDWARE Hardware,
+    IN gctUINT Idle,
+    IN gctUINT Time
+    );
+
+/*******************************************************************************
+**
+**  gckOS_SetGPUPower
+**
+**  Set the power of the GPU on or off.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to a gckOS object.ß
+**
+**      gckCORE Core
+**          GPU whose power is set.
+**
+**      gctBOOL Clock
+**          gcvTRUE to turn on the clock, or gcvFALSE to turn off the clock.
+**
+**      gctBOOL Power
+**          gcvTRUE to turn on the power, or gcvFALSE to turn off the power.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_SetGPUPower(
+    IN gckOS Os,
+    IN gceCORE Core,
+    IN gctBOOL Clock,
+    IN gctBOOL Power
+    );
+
+gceSTATUS
+gckOS_ResetGPU(
+    IN gckOS Os,
+    IN gceCORE Core
+    );
+
+gceSTATUS
+gckOS_PrepareGPUFrequency(
+    IN gckOS Os,
+    IN gceCORE Core
+    );
+
+gceSTATUS
+gckOS_FinishGPUFrequency(
+    IN gckOS Os,
+    IN gceCORE Core
+    );
+
+gceSTATUS
+gckOS_QueryGPUFrequency(
+    IN gckOS Os,
+    IN gceCORE Core,
+    OUT gctUINT32 * Frequency,
+    OUT gctUINT8 * Scale
+    );
+
+gceSTATUS
+gckOS_SetGPUFrequency(
+    IN gckOS Os,
+    IN gceCORE Core,
+    IN gctUINT8 Scale
+    );
+
+/*******************************************************************************
+** Semaphores.
+*/
+
+/* Create a new semaphore. */
+gceSTATUS
+gckOS_CreateSemaphore(
+    IN gckOS Os,
+    OUT gctPOINTER * Semaphore
+    );
+
+#if gcdENABLE_VG
+gceSTATUS
+gckOS_CreateSemaphoreVG(
+    IN gckOS Os,
+    OUT gctPOINTER * Semaphore
+    );
+#endif
+
+/* Delete a semahore. */
+gceSTATUS
+gckOS_DestroySemaphore(
+    IN gckOS Os,
+    IN gctPOINTER Semaphore
+    );
+
+/* Acquire a semahore. */
+gceSTATUS
+gckOS_AcquireSemaphore(
+    IN gckOS Os,
+    IN gctPOINTER Semaphore
+    );
+
+/* Try to acquire a semahore. */
+gceSTATUS
+gckOS_TryAcquireSemaphore(
+    IN gckOS Os,
+    IN gctPOINTER Semaphore
+    );
+
+/* Release a semahore. */
+gceSTATUS
+gckOS_ReleaseSemaphore(
+    IN gckOS Os,
+    IN gctPOINTER Semaphore
+    );
+
+/*******************************************************************************
+** Timer API.
+*/
+
+typedef void (*gctTIMERFUNCTION)(gctPOINTER);
+
+/* Create a timer. */
+gceSTATUS
+gckOS_CreateTimer(
+    IN gckOS Os,
+    IN gctTIMERFUNCTION Function,
+    IN gctPOINTER Data,
+    OUT gctPOINTER * Timer
+    );
+
+/* Destory a timer. */
+gceSTATUS
+gckOS_DestroyTimer(
+    IN gckOS Os,
+    IN gctPOINTER Timer
+    );
+
+/* Start a timer. */
+gceSTATUS
+gckOS_StartTimer(
+    IN gckOS Os,
+    IN gctPOINTER Timer,
+    IN gctUINT32 Delay
+    );
+
+/* Stop a timer. */
+gceSTATUS
+gckOS_StopTimer(
+    IN gckOS Os,
+    IN gctPOINTER Timer
+    );
+
+/******************************************************************************\
+********************************* gckHEAP Object ********************************
+\******************************************************************************/
+
+typedef struct _gckHEAP *       gckHEAP;
+
+/* Construct a new gckHEAP object. */
+gceSTATUS
+gckHEAP_Construct(
+    IN gckOS Os,
+    IN gctSIZE_T AllocationSize,
+    OUT gckHEAP * Heap
+    );
+
+/* Destroy an gckHEAP object. */
+gceSTATUS
+gckHEAP_Destroy(
+    IN gckHEAP Heap
+    );
+
+/* Allocate memory. */
+gceSTATUS
+gckHEAP_Allocate(
+    IN gckHEAP Heap,
+    IN gctSIZE_T Bytes,
+    OUT gctPOINTER * Node
+    );
+
+/* Free memory. */
+gceSTATUS
+gckHEAP_Free(
+    IN gckHEAP Heap,
+    IN gctPOINTER Node
+    );
+
+/* Profile the heap. */
+gceSTATUS
+gckHEAP_ProfileStart(
+    IN gckHEAP Heap
+    );
+
+gceSTATUS
+gckHEAP_ProfileEnd(
+    IN gckHEAP Heap,
+    IN gctCONST_STRING Title
+    );
+
+
+/******************************************************************************\
+******************************** gckVIDMEM Object ******************************
+\******************************************************************************/
+
+typedef struct _gckVIDMEM *         gckVIDMEM;
+typedef struct _gckKERNEL *         gckKERNEL;
+typedef struct _gckDB *             gckDB;
+typedef struct _gckDVFS *           gckDVFS;
+
+/* Construct a new gckVIDMEM object. */
+gceSTATUS
+gckVIDMEM_Construct(
+    IN gckOS Os,
+    IN gctUINT32 BaseAddress,
+    IN gctSIZE_T Bytes,
+    IN gctSIZE_T Threshold,
+    IN gctSIZE_T Banking,
+    OUT gckVIDMEM * Memory
+    );
+
+/* Destroy an gckVDIMEM object. */
+gceSTATUS
+gckVIDMEM_Destroy(
+    IN gckVIDMEM Memory
+    );
+
+/* Allocate rectangular memory. */
+gceSTATUS
+gckVIDMEM_Allocate(
+    IN gckVIDMEM Memory,
+    IN gctUINT Width,
+    IN gctUINT Height,
+    IN gctUINT Depth,
+    IN gctUINT BytesPerPixel,
+    IN gctUINT32 Alignment,
+    IN gceSURF_TYPE Type,
+    OUT gcuVIDMEM_NODE_PTR * Node
+    );
+
+/* Allocate linear memory. */
+gceSTATUS
+gckVIDMEM_AllocateLinear(
+    IN gckVIDMEM Memory,
+    IN gctSIZE_T Bytes,
+    IN gctUINT32 Alignment,
+    IN gceSURF_TYPE Type,
+    OUT gcuVIDMEM_NODE_PTR * Node
+    );
+
+/* Free memory. */
+gceSTATUS
+gckVIDMEM_Free(
+    IN gcuVIDMEM_NODE_PTR Node
+    );
+
+/* Lock memory. */
+gceSTATUS
+gckVIDMEM_Lock(
+    IN gckKERNEL Kernel,
+    IN gcuVIDMEM_NODE_PTR Node,
+    IN gctBOOL Cacheable,
+    OUT gctUINT32 * Address
+    );
+
+/* Unlock memory. */
+gceSTATUS
+gckVIDMEM_Unlock(
+    IN gckKERNEL Kernel,
+    IN gcuVIDMEM_NODE_PTR Node,
+    IN gceSURF_TYPE Type,
+    IN OUT gctBOOL * Asynchroneous
+    );
+
+/* Construct a gcuVIDMEM_NODE union for virtual memory. */
+gceSTATUS
+gckVIDMEM_ConstructVirtual(
+    IN gckKERNEL Kernel,
+    IN gctBOOL Contiguous,
+    IN gctSIZE_T Bytes,
+    OUT gcuVIDMEM_NODE_PTR * Node
+    );
+
+/* Destroy a gcuVIDMEM_NODE union for virtual memory. */
+gceSTATUS
+gckVIDMEM_DestroyVirtual(
+    IN gcuVIDMEM_NODE_PTR Node
+    );
+
+/******************************************************************************\
+******************************** gckKERNEL Object ******************************
+\******************************************************************************/
+
+struct _gcsHAL_INTERFACE;
+
+/* Notifications. */
+typedef enum _gceNOTIFY
+{
+    gcvNOTIFY_INTERRUPT,
+    gcvNOTIFY_COMMAND_QUEUE,
+}
+gceNOTIFY;
+
+/* Flush flags. */
+typedef enum _gceKERNEL_FLUSH
+{
+    gcvFLUSH_COLOR              = 0x01,
+    gcvFLUSH_DEPTH              = 0x02,
+    gcvFLUSH_TEXTURE            = 0x04,
+    gcvFLUSH_2D                 = 0x08,
+    gcvFLUSH_ALL                = gcvFLUSH_COLOR
+                                | gcvFLUSH_DEPTH
+                                | gcvFLUSH_TEXTURE
+                                | gcvFLUSH_2D,
+}
+gceKERNEL_FLUSH;
+
+/* Construct a new gckKERNEL object. */
+gceSTATUS
+gckKERNEL_Construct(
+    IN gckOS Os,
+    IN gceCORE Core,
+    IN gctPOINTER Context,
+    IN gckDB SharedDB,
+    OUT gckKERNEL * Kernel
+    );
+
+/* Destroy an gckKERNEL object. */
+gceSTATUS
+gckKERNEL_Destroy(
+    IN gckKERNEL Kernel
+    );
+
+/* Dispatch a user-level command. */
+gceSTATUS
+gckKERNEL_Dispatch(
+    IN gckKERNEL Kernel,
+    IN gctBOOL FromUser,
+    IN OUT struct _gcsHAL_INTERFACE * Interface
+    );
+
+/* Query the video memory. */
+gceSTATUS
+gckKERNEL_QueryVideoMemory(
+    IN gckKERNEL Kernel,
+    OUT struct _gcsHAL_INTERFACE * Interface
+    );
+
+/* Lookup the gckVIDMEM object for a pool. */
+gceSTATUS
+gckKERNEL_GetVideoMemoryPool(
+    IN gckKERNEL Kernel,
+    IN gcePOOL Pool,
+    OUT gckVIDMEM * VideoMemory
+    );
+
+#if gcdUSE_VIDMEM_PER_PID
+gceSTATUS
+gckKERNEL_GetVideoMemoryPoolPid(
+    IN gckKERNEL Kernel,
+    IN gcePOOL Pool,
+    IN gctUINT32 Pid,
+    OUT gckVIDMEM * VideoMemory
+    );
+
+gceSTATUS
+gckKERNEL_CreateVideoMemoryPoolPid(
+    IN gckKERNEL Kernel,
+    IN gcePOOL Pool,
+    IN gctUINT32 Pid,
+    OUT gckVIDMEM * VideoMemory
+    );
+
+gceSTATUS
+gckKERNEL_RemoveVideoMemoryPoolPid(
+    IN gckKERNEL Kernel,
+    IN gckVIDMEM VideoMemory
+    );
+#endif
+
+/* Map video memory. */
+gceSTATUS
+gckKERNEL_MapVideoMemory(
+    IN gckKERNEL Kernel,
+    IN gctBOOL InUserSpace,
+    IN gctUINT32 Address,
+#ifdef __QNXNTO__
+    IN gctUINT32 Pid,
+    IN gctUINT32 Bytes,
+#endif
+    OUT gctPOINTER * Logical
+    );
+
+/* Map video memory. */
+gceSTATUS
+gckKERNEL_MapVideoMemoryEx(
+    IN gckKERNEL Kernel,
+    IN gceCORE Core,
+    IN gctBOOL InUserSpace,
+    IN gctUINT32 Address,
+#ifdef __QNXNTO__
+    IN gctUINT32 Pid,
+    IN gctUINT32 Bytes,
+#endif
+    OUT gctPOINTER * Logical
+    );
+
+#ifdef __QNXNTO__
+/* Unmap video memory. */
+gceSTATUS
+gckKERNEL_UnmapVideoMemory(
+    IN gckKERNEL Kernel,
+    IN gctPOINTER Logical,
+    IN gctUINT32 Pid,
+    IN gctUINT32 Bytes
+    );
+#endif
+
+/* Map memory. */
+gceSTATUS
+gckKERNEL_MapMemory(
+    IN gckKERNEL Kernel,
+    IN gctPHYS_ADDR Physical,
+    IN gctSIZE_T Bytes,
+    OUT gctPOINTER * Logical
+    );
+
+/* Unmap memory. */
+gceSTATUS
+gckKERNEL_UnmapMemory(
+    IN gckKERNEL Kernel,
+    IN gctPHYS_ADDR Physical,
+    IN gctSIZE_T Bytes,
+    IN gctPOINTER Logical
+    );
+
+/* Notification of events. */
+gceSTATUS
+gckKERNEL_Notify(
+    IN gckKERNEL Kernel,
+    IN gceNOTIFY Notifcation,
+    IN gctBOOL Data
+    );
+
+gceSTATUS
+gckKERNEL_QuerySettings(
+    IN gckKERNEL Kernel,
+    OUT gcsKERNEL_SETTINGS * Settings
+    );
+
+/*******************************************************************************
+**
+**  gckKERNEL_Recovery
+**
+**  Try to recover the GPU from a fatal error.
+**
+**  INPUT:
+**
+**      gckKERNEL Kernel
+**          Pointer to an gckKERNEL object.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckKERNEL_Recovery(
+    IN gckKERNEL Kernel
+    );
+
+/* Set the value of timeout on HW operation. */
+void
+gckKERNEL_SetTimeOut(
+    IN gckKERNEL Kernel,
+    IN gctUINT32 timeOut
+    );
+
+/* Get access to the user data. */
+gceSTATUS
+gckKERNEL_OpenUserData(
+    IN gckKERNEL Kernel,
+    IN gctBOOL NeedCopy,
+    IN gctPOINTER StaticStorage,
+    IN gctPOINTER UserPointer,
+    IN gctSIZE_T Size,
+    OUT gctPOINTER * KernelPointer
+    );
+
+/* Release resources associated with the user data connection. */
+gceSTATUS
+gckKERNEL_CloseUserData(
+    IN gckKERNEL Kernel,
+    IN gctBOOL NeedCopy,
+    IN gctBOOL FlushData,
+    IN gctPOINTER UserPointer,
+    IN gctSIZE_T Size,
+    OUT gctPOINTER * KernelPointer
+    );
+
+gceSTATUS
+gckDVFS_Construct(
+    IN gckHARDWARE Hardware,
+    OUT gckDVFS * Frequency
+    );
+
+gceSTATUS
+gckDVFS_Destroy(
+    IN gckDVFS Dvfs
+    );
+
+gceSTATUS
+gckDVFS_Start(
+    IN gckDVFS Dvfs
+    );
+
+gceSTATUS
+gckDVFS_Stop(
+    IN gckDVFS Dvfs
+    );
+
+/******************************************************************************\
+******************************* gckHARDWARE Object *****************************
+\******************************************************************************/
+
+/* Construct a new gckHARDWARE object. */
+gceSTATUS
+gckHARDWARE_Construct(
+    IN gckOS Os,
+    IN gceCORE Core,
+    OUT gckHARDWARE * Hardware
+    );
+
+/* Destroy an gckHARDWARE object. */
+gceSTATUS
+gckHARDWARE_Destroy(
+    IN gckHARDWARE Hardware
+    );
+
+/* Get hardware type. */
+gceSTATUS
+gckHARDWARE_GetType(
+    IN gckHARDWARE Hardware,
+    OUT gceHARDWARE_TYPE * Type
+    );
+
+/* Query system memory requirements. */
+gceSTATUS
+gckHARDWARE_QuerySystemMemory(
+    IN gckHARDWARE Hardware,
+    OUT gctSIZE_T * SystemSize,
+    OUT gctUINT32 * SystemBaseAddress
+    );
+
+/* Build virtual address. */
+gceSTATUS
+gckHARDWARE_BuildVirtualAddress(
+    IN gckHARDWARE Hardware,
+    IN gctUINT32 Index,
+    IN gctUINT32 Offset,
+    OUT gctUINT32 * Address
+    );
+
+/* Query command buffer requirements. */
+gceSTATUS
+gckHARDWARE_QueryCommandBuffer(
+    IN gckHARDWARE Hardware,
+    OUT gctSIZE_T * Alignment,
+    OUT gctSIZE_T * ReservedHead,
+    OUT gctSIZE_T * ReservedTail
+    );
+
+/* Add a WAIT/LINK pair in the command queue. */
+gceSTATUS
+gckHARDWARE_WaitLink(
+    IN gckHARDWARE Hardware,
+    IN gctPOINTER Logical,
+    IN gctUINT32 Offset,
+    IN OUT gctSIZE_T * Bytes,
+    OUT gctUINT32 * WaitOffset,
+    OUT gctSIZE_T * WaitBytes
+    );
+
+/* Kickstart the command processor. */
+gceSTATUS
+gckHARDWARE_Execute(
+    IN gckHARDWARE Hardware,
+    IN gctPOINTER Logical,
+#ifdef __QNXNTO__
+    IN gctPOINTER Physical,
+    IN gctBOOL PhysicalAddresses,
+#endif
+    IN gctSIZE_T Bytes
+    );
+
+/* Add an END command in the command queue. */
+gceSTATUS
+gckHARDWARE_End(
+    IN gckHARDWARE Hardware,
+    IN gctPOINTER Logical,
+    IN OUT gctSIZE_T * Bytes
+    );
+
+/* Add a NOP command in the command queue. */
+gceSTATUS
+gckHARDWARE_Nop(
+    IN gckHARDWARE Hardware,
+    IN gctPOINTER Logical,
+    IN OUT gctSIZE_T * Bytes
+    );
+
+/* Add a WAIT command in the command queue. */
+gceSTATUS
+gckHARDWARE_Wait(
+    IN gckHARDWARE Hardware,
+    IN gctPOINTER Logical,
+    IN gctUINT32 Count,
+    IN OUT gctSIZE_T * Bytes
+    );
+
+/* Add a PIPESELECT command in the command queue. */
+gceSTATUS
+gckHARDWARE_PipeSelect(
+    IN gckHARDWARE Hardware,
+    IN gctPOINTER Logical,
+    IN gcePIPE_SELECT Pipe,
+    IN OUT gctSIZE_T * Bytes
+    );
+
+/* Add a LINK command in the command queue. */
+gceSTATUS
+gckHARDWARE_Link(
+    IN gckHARDWARE Hardware,
+    IN gctPOINTER Logical,
+    IN gctPOINTER FetchAddress,
+    IN gctSIZE_T FetchSize,
+    IN OUT gctSIZE_T * Bytes
+    );
+
+/* Add an EVENT command in the command queue. */
+gceSTATUS
+gckHARDWARE_Event(
+    IN gckHARDWARE Hardware,
+    IN gctPOINTER Logical,
+    IN gctUINT8 Event,
+    IN gceKERNEL_WHERE FromWhere,
+    IN OUT gctSIZE_T * Bytes
+    );
+
+/* Query the available memory. */
+gceSTATUS
+gckHARDWARE_QueryMemory(
+    IN gckHARDWARE Hardware,
+    OUT gctSIZE_T * InternalSize,
+    OUT gctUINT32 * InternalBaseAddress,
+    OUT gctUINT32 * InternalAlignment,
+    OUT gctSIZE_T * ExternalSize,
+    OUT gctUINT32 * ExternalBaseAddress,
+    OUT gctUINT32 * ExternalAlignment,
+    OUT gctUINT32 * HorizontalTileSize,
+    OUT gctUINT32 * VerticalTileSize
+    );
+
+/* Query the identity of the hardware. */
+gceSTATUS
+gckHARDWARE_QueryChipIdentity(
+    IN gckHARDWARE Hardware,
+    OUT gcsHAL_QUERY_CHIP_IDENTITY_PTR Identity
+    );
+
+/* Query the shader support. */
+gceSTATUS
+gckHARDWARE_QueryShaderCaps(
+    IN gckHARDWARE Hardware,
+    OUT gctUINT * VertexUniforms,
+    OUT gctUINT * FragmentUniforms,
+    OUT gctUINT * Varyings
+    );
+
+/* Split a harwdare specific address into API stuff. */
+gceSTATUS
+gckHARDWARE_SplitMemory(
+    IN gckHARDWARE Hardware,
+    IN gctUINT32 Address,
+    OUT gcePOOL * Pool,
+    OUT gctUINT32 * Offset
+    );
+
+/* Update command queue tail pointer. */
+gceSTATUS
+gckHARDWARE_UpdateQueueTail(
+    IN gckHARDWARE Hardware,
+    IN gctPOINTER Logical,
+    IN gctUINT32 Offset
+    );
+
+/* Convert logical address to hardware specific address. */
+gceSTATUS
+gckHARDWARE_ConvertLogical(
+    IN gckHARDWARE Hardware,
+    IN gctPOINTER Logical,
+    OUT gctUINT32 * Address
+    );
+
+#ifdef __QNXNTO__
+/* Convert physical address to hardware specific address. */
+gceSTATUS
+gckHARDWARE_ConvertPhysical(
+    IN gckHARDWARE Hardware,
+    IN gctPHYS_ADDR Physical,
+    OUT gctUINT32 * Address
+    );
+#endif
+
+/* Interrupt manager. */
+gceSTATUS
+gckHARDWARE_Interrupt(
+    IN gckHARDWARE Hardware,
+    IN gctBOOL InterruptValid
+    );
+
+/* Program MMU. */
+gceSTATUS
+gckHARDWARE_SetMMU(
+    IN gckHARDWARE Hardware,
+    IN gctPOINTER Logical
+    );
+
+/* Flush the MMU. */
+gceSTATUS
+gckHARDWARE_FlushMMU(
+    IN gckHARDWARE Hardware
+    );
+
+/* Set the page table base address. */
+gceSTATUS
+gckHARDWARE_SetMMUv2(
+    IN gckHARDWARE Hardware,
+    IN gctBOOL Enable,
+    IN gctPOINTER MtlbAddress,
+    IN gceMMU_MODE Mode,
+    IN gctPOINTER SafeAddress,
+    IN gctBOOL FromPower
+    );
+
+/* Get idle register. */
+gceSTATUS
+gckHARDWARE_GetIdle(
+    IN gckHARDWARE Hardware,
+    IN gctBOOL Wait,
+    OUT gctUINT32 * Data
+    );
+
+/* Flush the caches. */
+gceSTATUS
+gckHARDWARE_Flush(
+    IN gckHARDWARE Hardware,
+    IN gceKERNEL_FLUSH Flush,
+    IN gctPOINTER Logical,
+    IN OUT gctSIZE_T * Bytes
+    );
+
+/* Enable/disable fast clear. */
+gceSTATUS
+gckHARDWARE_SetFastClear(
+    IN gckHARDWARE Hardware,
+    IN gctINT Enable,
+    IN gctINT Compression
+    );
+
+gceSTATUS
+gckHARDWARE_ReadInterrupt(
+    IN gckHARDWARE Hardware,
+    OUT gctUINT32_PTR IDs
+    );
+
+/* Power management. */
+gceSTATUS
+gckHARDWARE_SetPowerManagementState(
+    IN gckHARDWARE Hardware,
+    IN gceCHIPPOWERSTATE State
+    );
+
+gceSTATUS
+gckHARDWARE_QueryPowerManagementState(
+    IN gckHARDWARE Hardware,
+    OUT gceCHIPPOWERSTATE* State
+    );
+
+gceSTATUS
+gckHARDWARE_SetPowerManagement(
+    IN gckHARDWARE Hardware,
+    IN gctBOOL PowerManagement
+    );
+
+gceSTATUS
+gckHARDWARE_SetGpuProfiler(
+    IN gckHARDWARE Hardware,
+    IN gctBOOL GpuProfiler
+    );
+
+#if gcdENABLE_FSCALE_VAL_ADJUST
+gceSTATUS
+gckHARDWARE_SetFscaleValue(
+    IN gckHARDWARE Hardware,
+    IN gctUINT32   FscaleValue
+    );
+
+gceSTATUS
+gckHARDWARE_GetFscaleValue(
+    IN gckHARDWARE Hardware,
+    IN gctUINT * FscaleValue,
+    IN gctUINT * MinFscaleValue,
+    IN gctUINT * MaxFscaleValue
+    );
+#endif
+
+#if gcdPOWEROFF_TIMEOUT
+gceSTATUS
+gckHARDWARE_SetPowerOffTimeout(
+    IN gckHARDWARE  Hardware,
+    IN gctUINT32    Timeout
+);
+
+gceSTATUS
+gckHARDWARE_QueryPowerOffTimeout(
+    IN gckHARDWARE  Hardware,
+    OUT gctUINT32*  Timeout
+);
+#endif
+
+/* Profile 2D Engine. */
+gceSTATUS
+gckHARDWARE_ProfileEngine2D(
+    IN gckHARDWARE Hardware,
+    OUT gcs2D_PROFILE_PTR Profile
+    );
+
+gceSTATUS
+gckHARDWARE_InitializeHardware(
+    IN gckHARDWARE Hardware
+    );
+
+gceSTATUS
+gckHARDWARE_Reset(
+    IN gckHARDWARE Hardware
+    );
+
+typedef gceSTATUS (*gctISRMANAGERFUNC)(gctPOINTER Context);
+
+gceSTATUS
+gckHARDWARE_SetIsrManager(
+    IN gckHARDWARE Hardware,
+    IN gctISRMANAGERFUNC StartIsr,
+    IN gctISRMANAGERFUNC StopIsr,
+    IN gctPOINTER Context
+    );
+
+/* Start a composition. */
+gceSTATUS
+gckHARDWARE_Compose(
+    IN gckHARDWARE Hardware,
+    IN gctUINT32 ProcessID,
+    IN gctPHYS_ADDR Physical,
+    IN gctPOINTER Logical,
+    IN gctSIZE_T Offset,
+    IN gctSIZE_T Size,
+    IN gctUINT8 EventID
+    );
+
+/* Check for Hardware features. */
+gceSTATUS
+gckHARDWARE_IsFeatureAvailable(
+    IN gckHARDWARE Hardware,
+    IN gceFEATURE Feature
+    );
+
+gceSTATUS
+gckHARDWARE_DumpMMUException(
+    IN gckHARDWARE Hardware
+    );
+
+gceSTATUS
+gckHARDWARE_DumpGPUState(
+    IN gckHARDWARE Hardware
+    );
+
+gceSTATUS
+gckHARDWARE_InitDVFS(
+    IN gckHARDWARE Hardware
+    );
+
+gceSTATUS
+gckHARDWARE_QueryLoad(
+    IN gckHARDWARE Hardware,
+    OUT gctUINT32 * Load
+    );
+
+gceSTATUS
+gckHARDWARE_SetDVFSPeroid(
+    IN gckHARDWARE Hardware,
+    IN gctUINT32 Frequency
+    );
+
+#if !gcdENABLE_VG
+/******************************************************************************\
+***************************** gckINTERRUPT Object ******************************
+\******************************************************************************/
+
+typedef struct _gckINTERRUPT *  gckINTERRUPT;
+
+typedef gceSTATUS (* gctINTERRUPT_HANDLER)(
+    IN gckKERNEL Kernel
+    );
+
+gceSTATUS
+gckINTERRUPT_Construct(
+    IN gckKERNEL Kernel,
+    OUT gckINTERRUPT * Interrupt
+    );
+
+gceSTATUS
+gckINTERRUPT_Destroy(
+    IN gckINTERRUPT Interrupt
+    );
+
+gceSTATUS
+gckINTERRUPT_SetHandler(
+    IN gckINTERRUPT Interrupt,
+    IN OUT gctINT32_PTR Id,
+    IN gctINTERRUPT_HANDLER Handler
+    );
+
+gceSTATUS
+gckINTERRUPT_Notify(
+    IN gckINTERRUPT Interrupt,
+    IN gctBOOL Valid
+    );
+#endif
+/******************************************************************************\
+******************************** gckEVENT Object *******************************
+\******************************************************************************/
+
+typedef struct _gckEVENT *      gckEVENT;
+
+/* Construct a new gckEVENT object. */
+gceSTATUS
+gckEVENT_Construct(
+    IN gckKERNEL Kernel,
+    OUT gckEVENT * Event
+    );
+
+/* Destroy an gckEVENT object. */
+gceSTATUS
+gckEVENT_Destroy(
+    IN gckEVENT Event
+    );
+
+/* Reserve the next available hardware event. */
+gceSTATUS
+gckEVENT_GetEvent(
+    IN gckEVENT Event,
+    IN gctBOOL Wait,
+    OUT gctUINT8 * EventID,
+    IN gceKERNEL_WHERE Source
+   );
+
+/* Add a new event to the list of events. */
+gceSTATUS
+gckEVENT_AddList(
+    IN gckEVENT Event,
+    IN gcsHAL_INTERFACE_PTR Interface,
+    IN gceKERNEL_WHERE FromWhere,
+    IN gctBOOL AllocateAllowed,
+    IN gctBOOL FromKernel
+    );
+
+/* Schedule a FreeNonPagedMemory event. */
+gceSTATUS
+gckEVENT_FreeNonPagedMemory(
+    IN gckEVENT Event,
+    IN gctSIZE_T Bytes,
+    IN gctPHYS_ADDR Physical,
+    IN gctPOINTER Logical,
+    IN gceKERNEL_WHERE FromWhere
+    );
+
+/* Schedule a FreeContiguousMemory event. */
+gceSTATUS
+gckEVENT_FreeContiguousMemory(
+    IN gckEVENT Event,
+    IN gctSIZE_T Bytes,
+    IN gctPHYS_ADDR Physical,
+    IN gctPOINTER Logical,
+    IN gceKERNEL_WHERE FromWhere
+    );
+
+/* Schedule a FreeVideoMemory event. */
+gceSTATUS
+gckEVENT_FreeVideoMemory(
+    IN gckEVENT Event,
+    IN gcuVIDMEM_NODE_PTR VideoMemory,
+    IN gceKERNEL_WHERE FromWhere
+    );
+
+/* Schedule a signal event. */
+gceSTATUS
+gckEVENT_Signal(
+    IN gckEVENT Event,
+    IN gctSIGNAL Signal,
+    IN gceKERNEL_WHERE FromWhere
+    );
+
+/* Schedule an Unlock event. */
+gceSTATUS
+gckEVENT_Unlock(
+    IN gckEVENT Event,
+    IN gceKERNEL_WHERE FromWhere,
+    IN gcuVIDMEM_NODE_PTR Node,
+    IN gceSURF_TYPE Type
+    );
+
+gceSTATUS
+gckEVENT_CommitDone(
+    IN gckEVENT Event,
+    IN gceKERNEL_WHERE FromWhere
+    );
+
+#if gcdVIRTUAL_COMMAND_BUFFER
+/* Schedule a FreeVirtualCommandBuffer event. */
+gceSTATUS
+gckEVENT_DestroyVirtualCommandBuffer(
+    IN gckEVENT Event,
+    IN gctSIZE_T Bytes,
+    IN gctPHYS_ADDR Physical,
+    IN gctPOINTER Logical,
+    IN gceKERNEL_WHERE FromWhere
+    );
+#endif
+
+gceSTATUS
+gckEVENT_Submit(
+    IN gckEVENT Event,
+    IN gctBOOL Wait,
+    IN gctBOOL FromPower
+    );
+
+/* Commit an event queue. */
+gceSTATUS
+gckEVENT_Commit(
+    IN gckEVENT Event,
+    IN gcsQUEUE_PTR Queue
+    );
+
+/* Schedule a composition event. */
+gceSTATUS
+gckEVENT_Compose(
+    IN gckEVENT Event,
+    IN gcsHAL_COMPOSE_PTR Info
+    );
+
+/* Event callback routine. */
+gceSTATUS
+gckEVENT_Notify(
+    IN gckEVENT Event,
+    IN gctUINT32 IDs
+    );
+
+/* Event callback routine. */
+gceSTATUS
+gckEVENT_Interrupt(
+    IN gckEVENT Event,
+    IN gctUINT32 IDs
+    );
+
+gceSTATUS
+gckEVENT_Dump(
+    IN gckEVENT Event
+    );
+/******************************************************************************\
+******************************* gckCOMMAND Object ******************************
+\******************************************************************************/
+
+typedef struct _gckCOMMAND *        gckCOMMAND;
+
+/* Construct a new gckCOMMAND object. */
+gceSTATUS
+gckCOMMAND_Construct(
+    IN gckKERNEL Kernel,
+    OUT gckCOMMAND * Command
+    );
+
+/* Destroy an gckCOMMAND object. */
+gceSTATUS
+gckCOMMAND_Destroy(
+    IN gckCOMMAND Command
+    );
+
+/* Acquire command queue synchronization objects. */
+gceSTATUS
+gckCOMMAND_EnterCommit(
+    IN gckCOMMAND Command,
+    IN gctBOOL FromPower
+    );
+
+/* Release command queue synchronization objects. */
+gceSTATUS
+gckCOMMAND_ExitCommit(
+    IN gckCOMMAND Command,
+    IN gctBOOL FromPower
+    );
+
+/* Start the command queue. */
+gceSTATUS
+gckCOMMAND_Start(
+    IN gckCOMMAND Command
+    );
+
+/* Stop the command queue. */
+gceSTATUS
+gckCOMMAND_Stop(
+    IN gckCOMMAND Command,
+    IN gctBOOL FromRecovery
+    );
+
+/* Commit a buffer to the command queue. */
+gceSTATUS
+gckCOMMAND_Commit(
+    IN gckCOMMAND Command,
+    IN gckCONTEXT Context,
+    IN gcoCMDBUF CommandBuffer,
+    IN gcsSTATE_DELTA_PTR StateDelta,
+    IN gcsQUEUE_PTR EventQueue,
+    IN gctUINT32 ProcessID
+    );
+
+/* Reserve space in the command buffer. */
+gceSTATUS
+gckCOMMAND_Reserve(
+    IN gckCOMMAND Command,
+    IN gctSIZE_T RequestedBytes,
+    OUT gctPOINTER * Buffer,
+    OUT gctSIZE_T * BufferSize
+    );
+
+/* Execute reserved space in the command buffer. */
+gceSTATUS
+gckCOMMAND_Execute(
+    IN gckCOMMAND Command,
+    IN gctSIZE_T RequstedBytes
+    );
+
+/* Stall the command queue. */
+gceSTATUS
+gckCOMMAND_Stall(
+    IN gckCOMMAND Command,
+    IN gctBOOL FromPower
+    );
+
+/* Attach user process. */
+gceSTATUS
+gckCOMMAND_Attach(
+    IN gckCOMMAND Command,
+    OUT gckCONTEXT * Context,
+    OUT gctSIZE_T * StateCount,
+    IN gctUINT32 ProcessID
+    );
+
+/* Detach user process. */
+gceSTATUS
+gckCOMMAND_Detach(
+    IN gckCOMMAND Command,
+    IN gckCONTEXT Context
+    );
+
+#if gcdVIRTUAL_COMMAND_BUFFER
+gceSTATUS
+gckCOMMAND_DumpExecutingBuffer(
+    IN gckCOMMAND Command
+    );
+#endif
+
+/******************************************************************************\
+********************************* gckMMU Object ********************************
+\******************************************************************************/
+
+typedef struct _gckMMU *            gckMMU;
+
+/* Construct a new gckMMU object. */
+gceSTATUS
+gckMMU_Construct(
+    IN gckKERNEL Kernel,
+    IN gctSIZE_T MmuSize,
+    OUT gckMMU * Mmu
+    );
+
+/* Destroy an gckMMU object. */
+gceSTATUS
+gckMMU_Destroy(
+    IN gckMMU Mmu
+    );
+
+/* Enable the MMU. */
+gceSTATUS
+gckMMU_Enable(
+    IN gckMMU Mmu,
+    IN gctUINT32 PhysBaseAddr,
+    IN gctUINT32 PhysSize
+    );
+
+/* Allocate pages inside the MMU. */
+gceSTATUS
+gckMMU_AllocatePages(
+    IN gckMMU Mmu,
+    IN gctSIZE_T PageCount,
+    OUT gctPOINTER * PageTable,
+    OUT gctUINT32 * Address
+    );
+
+gceSTATUS
+gckMMU_AllocatePagesEx(
+    IN gckMMU Mmu,
+    IN gctSIZE_T PageCount,
+    IN gceSURF_TYPE Type,
+    OUT gctPOINTER * PageTable,
+    OUT gctUINT32 * Address
+    );
+
+/* Remove a page table from the MMU. */
+gceSTATUS
+gckMMU_FreePages(
+    IN gckMMU Mmu,
+    IN gctPOINTER PageTable,
+    IN gctSIZE_T PageCount
+    );
+
+/* Set the MMU page with info. */
+gceSTATUS
+gckMMU_SetPage(
+   IN gckMMU Mmu,
+   IN gctUINT32 PageAddress,
+   IN gctUINT32 *PageEntry
+   );
+
+#ifdef __QNXNTO__
+gceSTATUS
+gckMMU_InsertNode(
+    IN gckMMU Mmu,
+    IN gcuVIDMEM_NODE_PTR Node);
+
+gceSTATUS
+gckMMU_RemoveNode(
+    IN gckMMU Mmu,
+    IN gcuVIDMEM_NODE_PTR Node);
+#endif
+
+#ifdef __QNXNTO__
+gceSTATUS
+gckMMU_FreeHandleMemory(
+    IN gckKERNEL Kernel,
+    IN gckMMU Mmu,
+    IN gctUINT32 Pid
+    );
+#endif
+
+gceSTATUS
+gckMMU_Flush(
+    IN gckMMU Mmu
+    );
+
+gceSTATUS
+gckMMU_DumpPageTableEntry(
+    IN gckMMU Mmu,
+    IN gctUINT32 Address
+    );
+
+
+#if VIVANTE_PROFILER
+gceSTATUS
+gckHARDWARE_QueryProfileRegisters(
+    IN gckHARDWARE Hardware,
+    IN gctBOOL   Clear,
+    OUT gcsPROFILER_COUNTERS * Counters
+    );
+#endif
+
+#if VIVANTE_PROFILER_CONTEXT
+gceSTATUS
+gckHARDWARE_QueryContextProfile(
+    IN gckHARDWARE Hardware,
+    IN gctBOOL   Clear,
+    IN gckCONTEXT Context,
+    OUT gcsPROFILER_COUNTERS * Counters
+    );
+
+gceSTATUS
+gckHARDWARE_UpdateContextProfile(
+    IN gckHARDWARE Hardware,
+    IN gckCONTEXT Context
+    );
+#endif
+
+gceSTATUS
+gckOS_SignalQueryHardware(
+    IN gckOS Os,
+    IN gctSIGNAL Signal,
+    OUT gckHARDWARE * Hardware
+    );
+
+gceSTATUS
+gckOS_SignalSetHardware(
+    IN gckOS Os,
+    IN gctSIGNAL Signal,
+    gckHARDWARE Hardware
+    );
+
+#ifdef __cplusplus
+}
+#endif
+
+#if gcdENABLE_VG
+#include "gc_hal_vg.h"
+#endif
+
+#endif /* __gc_hal_h_ */
diff --git a/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_base.h b/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_base.h
new file mode 100644 (file)
index 0000000..375a8f5
--- /dev/null
@@ -0,0 +1,3896 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#ifndef __gc_hal_base_h_
+#define __gc_hal_base_h_
+
+#include "gc_hal_enum.h"
+#include "gc_hal_types.h"
+
+#include "gc_hal_dump.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/******************************************************************************\
+****************************** Object Declarations *****************************
+\******************************************************************************/
+
+typedef struct _gckOS *                 gckOS;
+typedef struct _gcoHAL *                gcoHAL;
+typedef struct _gcoOS *                 gcoOS;
+typedef struct _gco2D *                 gco2D;
+
+#ifndef VIVANTE_NO_3D
+typedef struct _gco3D *                 gco3D;
+#endif
+
+typedef struct _gcoSURF *               gcoSURF;
+typedef struct _gcsSURF_INFO *          gcsSURF_INFO_PTR;
+typedef struct _gcsSURF_NODE *          gcsSURF_NODE_PTR;
+typedef struct _gcsSURF_FORMAT_INFO *   gcsSURF_FORMAT_INFO_PTR;
+typedef struct _gcsPOINT *              gcsPOINT_PTR;
+typedef struct _gcsSIZE *               gcsSIZE_PTR;
+typedef struct _gcsRECT *               gcsRECT_PTR;
+typedef struct _gcsBOUNDARY *           gcsBOUNDARY_PTR;
+typedef struct _gcoDUMP *               gcoDUMP;
+typedef struct _gcoHARDWARE *           gcoHARDWARE;
+typedef union  _gcuVIDMEM_NODE *        gcuVIDMEM_NODE_PTR;
+
+typedef struct gcsATOM *                gcsATOM_PTR;
+
+#if gcdENABLE_VG
+typedef struct _gcoVG *                 gcoVG;
+typedef struct _gcsCOMPLETION_SIGNAL * gcsCOMPLETION_SIGNAL_PTR;
+typedef struct _gcsCONTEXT_MAP *               gcsCONTEXT_MAP_PTR;
+#else
+typedef void *                          gcoVG;
+#endif
+
+#if gcdSYNC
+typedef struct _gcoFENCE *              gcoFENCE;
+typedef struct _gcsSYNC_CONTEXT  *      gcsSYNC_CONTEXT_PTR;
+#endif
+
+typedef struct _gcoOS_SymbolsList gcoOS_SymbolsList;
+
+/******************************************************************************\
+******************************* Process local storage *************************
+\******************************************************************************/
+typedef struct _gcsPLS * gcsPLS_PTR;
+
+typedef void (* gctPLS_DESTRUCTOR) (
+    gcsPLS_PTR
+    );
+
+typedef struct _gcsPLS
+{
+    /* Global objects. */
+    gcoOS                       os;
+    gcoHAL                      hal;
+
+    /* Internal memory pool. */
+    gctSIZE_T                   internalSize;
+    gctPHYS_ADDR                internalPhysical;
+    gctPOINTER                  internalLogical;
+
+    /* External memory pool. */
+    gctSIZE_T                   externalSize;
+    gctPHYS_ADDR                externalPhysical;
+    gctPOINTER                  externalLogical;
+
+    /* Contiguous memory pool. */
+    gctSIZE_T                   contiguousSize;
+    gctPHYS_ADDR                contiguousPhysical;
+    gctPOINTER                  contiguousLogical;
+
+    /* EGL-specific process-wide objects. */
+    gctPOINTER                  eglDisplayInfo;
+    gctPOINTER                  eglSurfaceInfo;
+    gceSURF_FORMAT              eglConfigFormat;
+
+    /* PorcessID of the constrcutor process */
+    gctUINT32                   processID;
+#if gcdFORCE_GAL_LOAD_TWICE
+    /* ThreadID of the constrcutor process. */
+    gctSIZE_T                   threadID;
+    /* Flag for calling module destructor. */
+    gctBOOL                     exiting;
+#endif
+
+    /* Reference count for destructor. */
+    gcsATOM_PTR                 reference;
+    gctBOOL                     bKFS;
+#if gcdUSE_NPOT_PATCH
+    gctBOOL                     bNeedSupportNP2Texture;
+#endif
+
+    /* Destructor for eglDisplayInfo. */
+    gctPLS_DESTRUCTOR           destructor;
+}
+gcsPLS;
+
+extern gcsPLS gcPLS;
+
+/******************************************************************************\
+******************************* Thread local storage *************************
+\******************************************************************************/
+
+typedef struct _gcsTLS * gcsTLS_PTR;
+
+typedef void (* gctTLS_DESTRUCTOR) (
+    gcsTLS_PTR
+    );
+
+typedef struct _gcsTLS
+{
+    gceHARDWARE_TYPE            currentType;
+    gcoHARDWARE                 hardware;
+    /* Only for separated 3D and 2D */
+    gcoHARDWARE                 hardware2D;
+#if gcdENABLE_VG
+    gcoVGHARDWARE               vg;
+    gcoVG                       engineVG;
+#endif /* gcdENABLE_VG */
+    gctPOINTER                  context;
+    gctTLS_DESTRUCTOR           destructor;
+    gctBOOL                     ProcessExiting;
+
+#ifndef VIVANTE_NO_3D
+       gco3D                                           engine3D;
+#endif
+#if gcdSYNC
+    gctBOOL                     fenceEnable;
+#endif
+       gco2D                                           engine2D;
+    gctBOOL                     copied;
+
+#if gcdFORCE_GAL_LOAD_TWICE
+    /* libGAL.so handle */
+    gctHANDLE                   handle;
+#endif
+}
+gcsTLS;
+
+/******************************************************************************\
+********************************* Enumerations *********************************
+\******************************************************************************/
+
+typedef enum _gcePLS_VALUE
+{
+  gcePLS_VALUE_EGL_DISPLAY_INFO,
+  gcePLS_VALUE_EGL_SURFACE_INFO,
+  gcePLS_VALUE_EGL_CONFIG_FORMAT_INFO,
+  gcePLS_VALUE_EGL_DESTRUCTOR_INFO,
+}
+gcePLS_VALUE;
+
+/* Video memory pool type. */
+typedef enum _gcePOOL
+{
+    gcvPOOL_UNKNOWN = 0,
+    gcvPOOL_DEFAULT,
+    gcvPOOL_LOCAL,
+    gcvPOOL_LOCAL_INTERNAL,
+    gcvPOOL_LOCAL_EXTERNAL,
+    gcvPOOL_UNIFIED,
+    gcvPOOL_SYSTEM,
+    gcvPOOL_VIRTUAL,
+    gcvPOOL_USER,
+    gcvPOOL_CONTIGUOUS,
+    gcvPOOL_DEFAULT_FORCE_CONTIGUOUS,
+    gcvPOOL_DEFAULT_FORCE_CONTIGUOUS_CACHEABLE,
+
+    gcvPOOL_NUMBER_OF_POOLS
+}
+gcePOOL;
+
+#ifndef VIVANTE_NO_3D
+/* Blending functions. */
+typedef enum _gceBLEND_FUNCTION
+{
+    gcvBLEND_ZERO,
+    gcvBLEND_ONE,
+    gcvBLEND_SOURCE_COLOR,
+    gcvBLEND_INV_SOURCE_COLOR,
+    gcvBLEND_SOURCE_ALPHA,
+    gcvBLEND_INV_SOURCE_ALPHA,
+    gcvBLEND_TARGET_COLOR,
+    gcvBLEND_INV_TARGET_COLOR,
+    gcvBLEND_TARGET_ALPHA,
+    gcvBLEND_INV_TARGET_ALPHA,
+    gcvBLEND_SOURCE_ALPHA_SATURATE,
+    gcvBLEND_CONST_COLOR,
+    gcvBLEND_INV_CONST_COLOR,
+    gcvBLEND_CONST_ALPHA,
+    gcvBLEND_INV_CONST_ALPHA,
+}
+gceBLEND_FUNCTION;
+
+/* Blending modes. */
+typedef enum _gceBLEND_MODE
+{
+    gcvBLEND_ADD,
+    gcvBLEND_SUBTRACT,
+    gcvBLEND_REVERSE_SUBTRACT,
+    gcvBLEND_MIN,
+    gcvBLEND_MAX,
+}
+gceBLEND_MODE;
+
+/* API flags. */
+typedef enum _gceAPI
+{
+    gcvAPI_D3D                  = 0x1,
+    gcvAPI_OPENGL               = 0x2,
+    gcvAPI_OPENVG               = 0x3,
+    gcvAPI_OPENCL               = 0x4,
+}
+gceAPI;
+
+/* Depth modes. */
+typedef enum _gceDEPTH_MODE
+{
+    gcvDEPTH_NONE,
+    gcvDEPTH_Z,
+    gcvDEPTH_W,
+}
+gceDEPTH_MODE;
+#endif /* VIVANTE_NO_3D */
+
+typedef enum _gceWHERE
+{
+    gcvWHERE_COMMAND,
+    gcvWHERE_RASTER,
+    gcvWHERE_PIXEL,
+}
+gceWHERE;
+
+typedef enum _gceHOW
+{
+    gcvHOW_SEMAPHORE            = 0x1,
+    gcvHOW_STALL                = 0x2,
+    gcvHOW_SEMAPHORE_STALL      = 0x3,
+}
+gceHOW;
+
+typedef enum _gceSignalHandlerType
+{
+    gcvHANDLE_SIGFPE_WHEN_SIGNAL_CODE_IS_0        = 0x1,
+}
+gceSignalHandlerType;
+
+
+#if gcdENABLE_VG
+/* gcsHAL_Limits*/
+typedef struct _gcsHAL_LIMITS
+{
+    /* chip info */
+    gceCHIPMODEL    chipModel;
+    gctUINT32       chipRevision;
+    gctUINT32       featureCount;
+    gctUINT32       *chipFeatures;
+
+    /* target caps */
+       gctUINT32         maxWidth;
+       gctUINT32         maxHeight;
+       gctUINT32         multiTargetCount;
+       gctUINT32         maxSamples;
+
+}gcsHAL_LIMITS;
+#endif
+
+/******************************************************************************\
+*********** Generic Memory Allocation Optimization Using Containers ************
+\******************************************************************************/
+
+/* Generic container definition. */
+typedef struct _gcsCONTAINER_LINK * gcsCONTAINER_LINK_PTR;
+typedef struct _gcsCONTAINER_LINK
+{
+    /* Points to the next container. */
+    gcsCONTAINER_LINK_PTR           next;
+}
+gcsCONTAINER_LINK;
+
+typedef struct _gcsCONTAINER_RECORD * gcsCONTAINER_RECORD_PTR;
+typedef struct _gcsCONTAINER_RECORD
+{
+    gcsCONTAINER_RECORD_PTR         prev;
+    gcsCONTAINER_RECORD_PTR         next;
+}
+gcsCONTAINER_RECORD;
+
+typedef struct _gcsCONTAINER * gcsCONTAINER_PTR;
+typedef struct _gcsCONTAINER
+{
+    gctUINT                         containerSize;
+    gctUINT                         recordSize;
+    gctUINT                         recordCount;
+    gcsCONTAINER_LINK_PTR           containers;
+    gcsCONTAINER_RECORD             freeList;
+    gcsCONTAINER_RECORD             allocList;
+}
+gcsCONTAINER;
+
+gceSTATUS
+gcsCONTAINER_Construct(
+    IN gcsCONTAINER_PTR Container,
+    gctUINT RecordsPerContainer,
+    gctUINT RecordSize
+    );
+
+gceSTATUS
+gcsCONTAINER_Destroy(
+    IN gcsCONTAINER_PTR Container
+    );
+
+gceSTATUS
+gcsCONTAINER_AllocateRecord(
+    IN gcsCONTAINER_PTR Container,
+    OUT gctPOINTER * Record
+    );
+
+gceSTATUS
+gcsCONTAINER_FreeRecord(
+    IN gcsCONTAINER_PTR Container,
+    IN gctPOINTER Record
+    );
+
+gceSTATUS
+gcsCONTAINER_FreeAll(
+    IN gcsCONTAINER_PTR Container
+    );
+
+/******************************************************************************\
+********************************* gcoHAL Object *********************************
+\******************************************************************************/
+
+/* Construct a new gcoHAL object. */
+gceSTATUS
+gcoHAL_Construct(
+    IN gctPOINTER Context,
+    IN gcoOS Os,
+    OUT gcoHAL * Hal
+    );
+
+/* Destroy an gcoHAL object. */
+gceSTATUS
+gcoHAL_Destroy(
+    IN gcoHAL Hal
+    );
+
+/* Get pointer to gco2D object. */
+gceSTATUS
+gcoHAL_Get2DEngine(
+    IN gcoHAL Hal,
+    OUT gco2D * Engine
+    );
+
+gceSTATUS
+gcoHAL_SetFscaleValue(
+    IN gctUINT FscaleValue
+    );
+
+gceSTATUS
+gcoHAL_GetFscaleValue(
+    OUT gctUINT * FscaleValue,
+    OUT gctUINT * MinFscaleValue,
+    OUT gctUINT * MaxFscaleValue
+    );
+
+gceSTATUS
+gcoHAL_SetBltNP2Texture(
+    gctBOOL enable
+    );
+
+#ifndef VIVANTE_NO_3D
+/* Get pointer to gco3D object. */
+gceSTATUS
+gcoHAL_Get3DEngine(
+    IN gcoHAL Hal,
+    OUT gco3D * Engine
+    );
+
+gceSTATUS
+gcoHAL_Query3DEngine(
+    IN gcoHAL Hal,
+    OUT gco3D * Engine
+    );
+
+gceSTATUS
+gcoHAL_Set3DEngine(
+    IN gcoHAL Hal,
+    IN gco3D Engine
+    );
+
+gceSTATUS
+gcoHAL_Get3DHardware(
+    IN gcoHAL Hal,
+    OUT gcoHARDWARE * Hardware
+    );
+
+gceSTATUS
+gcoHAL_Set3DHardware(
+    IN gcoHAL Hal,
+    IN gcoHARDWARE Hardware
+    );
+
+
+#endif /* VIVANTE_NO_3D */
+
+/* Verify whether the specified feature is available in hardware. */
+gceSTATUS
+gcoHAL_IsFeatureAvailable(
+    IN gcoHAL Hal,
+    IN gceFEATURE Feature
+    );
+
+/* Query the identity of the hardware. */
+gceSTATUS
+gcoHAL_QueryChipIdentity(
+    IN gcoHAL Hal,
+    OUT gceCHIPMODEL* ChipModel,
+    OUT gctUINT32* ChipRevision,
+    OUT gctUINT32* ChipFeatures,
+    OUT gctUINT32* ChipMinorFeatures
+    );
+
+/* Query the minor features of the hardware. */
+gceSTATUS gcoHAL_QueryChipMinorFeatures(
+    IN gcoHAL Hal,
+    OUT gctUINT32* NumFeatures,
+    OUT gctUINT32* ChipMinorFeatures
+    );
+
+/* Query the amount of video memory. */
+gceSTATUS
+gcoHAL_QueryVideoMemory(
+    IN gcoHAL Hal,
+    OUT gctPHYS_ADDR * InternalAddress,
+    OUT gctSIZE_T * InternalSize,
+    OUT gctPHYS_ADDR * ExternalAddress,
+    OUT gctSIZE_T * ExternalSize,
+    OUT gctPHYS_ADDR * ContiguousAddress,
+    OUT gctSIZE_T * ContiguousSize
+    );
+
+/* Map video memory. */
+gceSTATUS
+gcoHAL_MapMemory(
+    IN gcoHAL Hal,
+    IN gctPHYS_ADDR Physical,
+    IN gctSIZE_T NumberOfBytes,
+    OUT gctPOINTER * Logical
+    );
+
+/* Unmap video memory. */
+gceSTATUS
+gcoHAL_UnmapMemory(
+    IN gcoHAL Hal,
+    IN gctPHYS_ADDR Physical,
+    IN gctSIZE_T NumberOfBytes,
+    IN gctPOINTER Logical
+    );
+
+/* Schedule an unmap of a buffer mapped through its physical address. */
+gceSTATUS
+gcoHAL_ScheduleUnmapMemory(
+    IN gcoHAL Hal,
+    IN gctPHYS_ADDR Physical,
+    IN gctSIZE_T NumberOfBytes,
+    IN gctPOINTER Logical
+    );
+
+/* Map user memory. */
+gceSTATUS
+gcoHAL_MapUserMemory(
+    IN gctPOINTER Logical,
+    IN gctUINT32 Physical,
+    IN gctSIZE_T Size,
+    OUT gctPOINTER * Info,
+    OUT gctUINT32_PTR GPUAddress
+    );
+
+/* Unmap user memory. */
+gceSTATUS
+gcoHAL_UnmapUserMemory(
+    IN gctPOINTER Logical,
+    IN gctSIZE_T Size,
+    IN gctPOINTER Info,
+    IN gctUINT32 GPUAddress
+    );
+
+/* Schedule an unmap of a user buffer using event mechanism. */
+gceSTATUS
+gcoHAL_ScheduleUnmapUserMemory(
+    IN gcoHAL Hal,
+    IN gctPOINTER Info,
+    IN gctSIZE_T Size,
+    IN gctUINT32 Address,
+    IN gctPOINTER Memory
+    );
+
+/* Commit the current command buffer. */
+gceSTATUS
+gcoHAL_Commit(
+    IN gcoHAL Hal,
+    IN gctBOOL Stall
+    );
+
+/* Query the tile capabilities. */
+gceSTATUS
+gcoHAL_QueryTiled(
+    IN gcoHAL Hal,
+    OUT gctINT32 * TileWidth2D,
+    OUT gctINT32 * TileHeight2D,
+    OUT gctINT32 * TileWidth3D,
+    OUT gctINT32 * TileHeight3D
+    );
+
+gceSTATUS
+gcoHAL_Compact(
+    IN gcoHAL Hal
+    );
+
+#if VIVANTE_PROFILER
+gceSTATUS
+gcoHAL_ProfileStart(
+    IN gcoHAL Hal
+    );
+
+gceSTATUS
+gcoHAL_ProfileEnd(
+    IN gcoHAL Hal,
+    IN gctCONST_STRING Title
+    );
+#endif
+
+/* Power Management */
+gceSTATUS
+gcoHAL_SetPowerManagementState(
+    IN gcoHAL Hal,
+    IN gceCHIPPOWERSTATE State
+    );
+
+gceSTATUS
+gcoHAL_QueryPowerManagementState(
+    IN gcoHAL Hal,
+    OUT gceCHIPPOWERSTATE *State
+    );
+
+/* Set the filter type for filter blit. */
+gceSTATUS
+gcoHAL_SetFilterType(
+    IN gcoHAL Hal,
+    IN gceFILTER_TYPE FilterType
+    );
+
+gceSTATUS
+gcoHAL_GetDump(
+    IN gcoHAL Hal,
+    OUT gcoDUMP * Dump
+    );
+
+/* Call the kernel HAL layer. */
+gceSTATUS
+gcoHAL_Call(
+    IN gcoHAL Hal,
+    IN OUT gcsHAL_INTERFACE_PTR Interface
+    );
+
+gceSTATUS
+gcoHAL_GetPatchID(
+    IN  gcoHAL Hal,
+    OUT gcePATCH_ID * PatchID
+    );
+
+/* Schedule an event. */
+gceSTATUS
+gcoHAL_ScheduleEvent(
+    IN gcoHAL Hal,
+    IN OUT gcsHAL_INTERFACE_PTR Interface
+    );
+
+/* Destroy a surface. */
+gceSTATUS
+gcoHAL_DestroySurface(
+    IN gcoHAL Hal,
+    IN gcoSURF Surface
+    );
+
+/* Request a start/stop timestamp. */
+gceSTATUS
+gcoHAL_SetTimer(
+    IN gcoHAL Hal,
+    IN gctUINT32 Index,
+    IN gctBOOL Start
+    );
+
+/* Get Time delta from a Timer in microseconds. */
+gceSTATUS
+gcoHAL_GetTimerTime(
+    IN gcoHAL Hal,
+    IN gctUINT32 Timer,
+    OUT gctINT32_PTR TimeDelta
+    );
+
+/* set timeout value. */
+gceSTATUS
+gcoHAL_SetTimeOut(
+    IN gcoHAL Hal,
+    IN gctUINT32 timeOut
+    );
+
+gceSTATUS
+gcoHAL_SetHardwareType(
+    IN gcoHAL Hal,
+    IN gceHARDWARE_TYPE HardwardType
+    );
+
+gceSTATUS
+gcoHAL_GetHardwareType(
+    IN gcoHAL Hal,
+    OUT gceHARDWARE_TYPE * HardwardType
+    );
+
+gceSTATUS
+gcoHAL_QueryChipCount(
+    IN gcoHAL Hal,
+    OUT gctINT32 * Count
+    );
+
+gceSTATUS
+gcoHAL_QuerySeparated3D2D(
+    IN gcoHAL Hal
+    );
+
+gceSTATUS
+gcoHAL_QuerySpecialHint(
+    IN gceSPECIAL_HINT Hint
+    );
+
+gceSTATUS
+gcoHAL_SetSpecialHintData(
+    IN gcoHARDWARE Hardware
+    );
+
+/* Get pointer to gcoVG object. */
+gceSTATUS
+gcoHAL_GetVGEngine(
+    IN gcoHAL Hal,
+    OUT gcoVG * Engine
+    );
+
+#if gcdENABLE_VG
+gceSTATUS
+gcoHAL_QueryChipLimits(
+    IN gcoHAL           Hal,
+    IN gctINT32         Chip,
+    OUT gcsHAL_LIMITS   *Limits);
+
+gceSTATUS
+gcoHAL_QueryChipFeature(
+    IN gcoHAL       Hal,
+    IN gctINT32     Chip,
+    IN gceFEATURE   Feature);
+
+#endif
+/******************************************************************************\
+********************************** gcoOS Object *********************************
+\******************************************************************************/
+
+/* Get PLS value for given key */
+gctPOINTER
+gcoOS_GetPLSValue(
+    IN gcePLS_VALUE key
+    );
+
+/* Set PLS value of a given key */
+void
+gcoOS_SetPLSValue(
+    IN gcePLS_VALUE key,
+    OUT gctPOINTER value
+    );
+
+/* Get access to the thread local storage. */
+gceSTATUS
+gcoOS_GetTLS(
+    OUT gcsTLS_PTR * TLS
+    );
+
+    /* Copy the TLS from a source thread. */
+    gceSTATUS gcoOS_CopyTLS(IN gcsTLS_PTR Source);
+
+/* Destroy the objects associated with the current thread. */
+void
+gcoOS_FreeThreadData(
+    IN gctBOOL ProcessExiting
+    );
+
+/* Construct a new gcoOS object. */
+gceSTATUS
+gcoOS_Construct(
+    IN gctPOINTER Context,
+    OUT gcoOS * Os
+    );
+
+/* Destroy an gcoOS object. */
+gceSTATUS
+gcoOS_Destroy(
+    IN gcoOS Os
+    );
+
+/* Get the base address for the physical memory. */
+gceSTATUS
+gcoOS_GetBaseAddress(
+    IN gcoOS Os,
+    OUT gctUINT32_PTR BaseAddress
+    );
+
+/* Allocate memory from the heap. */
+gceSTATUS
+gcoOS_Allocate(
+    IN gcoOS Os,
+    IN gctSIZE_T Bytes,
+    OUT gctPOINTER * Memory
+    );
+
+/* Get allocated memory size. */
+gceSTATUS
+gcoOS_GetMemorySize(
+    IN gcoOS Os,
+    IN gctPOINTER Memory,
+    OUT gctSIZE_T_PTR MemorySize
+    );
+
+/* Free allocated memory. */
+gceSTATUS
+gcoOS_Free(
+    IN gcoOS Os,
+    IN gctPOINTER Memory
+    );
+
+/* Allocate memory. */
+gceSTATUS
+gcoOS_AllocateMemory(
+    IN gcoOS Os,
+    IN gctSIZE_T Bytes,
+    OUT gctPOINTER * Memory
+    );
+
+/* Free memory. */
+gceSTATUS
+gcoOS_FreeMemory(
+    IN gcoOS Os,
+    IN gctPOINTER Memory
+    );
+
+/* Allocate contiguous memory. */
+gceSTATUS
+gcoOS_AllocateContiguous(
+    IN gcoOS Os,
+    IN gctBOOL InUserSpace,
+    IN OUT gctSIZE_T * Bytes,
+    OUT gctPHYS_ADDR * Physical,
+    OUT gctPOINTER * Logical
+    );
+
+/* Free contiguous memory. */
+gceSTATUS
+gcoOS_FreeContiguous(
+    IN gcoOS Os,
+    IN gctPHYS_ADDR Physical,
+    IN gctPOINTER Logical,
+    IN gctSIZE_T Bytes
+    );
+
+/* Allocate video memory. */
+gceSTATUS
+gcoOS_AllocateVideoMemory(
+    IN gcoOS Os,
+    IN gctBOOL InUserSpace,
+    IN gctBOOL InCacheable,
+    IN OUT gctSIZE_T * Bytes,
+    OUT gctUINT32 * Physical,
+    OUT gctPOINTER * Logical,
+    OUT gctPOINTER * Handle
+    );
+
+/* Free video memory. */
+gceSTATUS
+gcoOS_FreeVideoMemory(
+    IN gcoOS Os,
+    IN gctPOINTER Handle
+    );
+
+gceSTATUS
+gcoSURF_GetBankOffsetBytes(
+    IN gcoSURF Surfce,
+    IN gceSURF_TYPE Type,
+    IN gctUINT32 Stride,
+    IN gctUINT32_PTR Bytes
+    );
+
+/* Map user memory. */
+gceSTATUS
+gcoOS_MapUserMemory(
+    IN gcoOS Os,
+    IN gctPOINTER Memory,
+    IN gctSIZE_T Size,
+    OUT gctPOINTER * Info,
+    OUT gctUINT32_PTR Address
+    );
+
+/* Map user memory. */
+gceSTATUS
+gcoOS_MapUserMemoryEx(
+    IN gcoOS Os,
+    IN gctPOINTER Memory,
+    IN gctUINT32 Physical,
+    IN gctSIZE_T Size,
+    OUT gctPOINTER * Info,
+    OUT gctUINT32_PTR Address
+    );
+
+/* Unmap user memory. */
+gceSTATUS
+gcoOS_UnmapUserMemory(
+    IN gcoOS Os,
+    IN gctPOINTER Memory,
+    IN gctSIZE_T Size,
+    IN gctPOINTER Info,
+    IN gctUINT32 Address
+    );
+
+/* Device I/O Control call to the kernel HAL layer. */
+gceSTATUS
+gcoOS_DeviceControl(
+    IN gcoOS Os,
+    IN gctUINT32 IoControlCode,
+    IN gctPOINTER InputBuffer,
+    IN gctSIZE_T InputBufferSize,
+    IN gctPOINTER OutputBuffer,
+    IN gctSIZE_T OutputBufferSize
+    );
+
+/* Allocate non paged memory. */
+gceSTATUS
+gcoOS_AllocateNonPagedMemory(
+    IN gcoOS Os,
+    IN gctBOOL InUserSpace,
+    IN OUT gctSIZE_T * Bytes,
+    OUT gctPHYS_ADDR * Physical,
+    OUT gctPOINTER * Logical
+    );
+
+/* Free non paged memory. */
+gceSTATUS
+gcoOS_FreeNonPagedMemory(
+    IN gcoOS Os,
+    IN gctSIZE_T Bytes,
+    IN gctPHYS_ADDR Physical,
+    IN gctPOINTER Logical
+    );
+
+#define gcmOS_SAFE_FREE(os, mem) \
+       gcoOS_Free(os, mem); \
+       mem = gcvNULL
+
+#define gcmkOS_SAFE_FREE(os, mem) \
+    gckOS_Free(os, mem); \
+       mem = gcvNULL
+
+typedef enum _gceFILE_MODE
+{
+    gcvFILE_CREATE          = 0,
+    gcvFILE_APPEND,
+    gcvFILE_READ,
+    gcvFILE_CREATETEXT,
+    gcvFILE_APPENDTEXT,
+    gcvFILE_READTEXT,
+}
+gceFILE_MODE;
+
+/* Open a file. */
+gceSTATUS
+gcoOS_Open(
+    IN gcoOS Os,
+    IN gctCONST_STRING FileName,
+    IN gceFILE_MODE Mode,
+    OUT gctFILE * File
+    );
+
+/* Close a file. */
+gceSTATUS
+gcoOS_Close(
+    IN gcoOS Os,
+    IN gctFILE File
+    );
+
+/* Read data from a file. */
+gceSTATUS
+gcoOS_Read(
+    IN gcoOS Os,
+    IN gctFILE File,
+    IN gctSIZE_T ByteCount,
+    IN gctPOINTER Data,
+    OUT gctSIZE_T * ByteRead
+    );
+
+/* Write data to a file. */
+gceSTATUS
+gcoOS_Write(
+    IN gcoOS Os,
+    IN gctFILE File,
+    IN gctSIZE_T ByteCount,
+    IN gctCONST_POINTER Data
+    );
+
+/* Flush data to a file. */
+gceSTATUS
+gcoOS_Flush(
+    IN gcoOS Os,
+    IN gctFILE File
+    );
+
+/* Close a file descriptor. */
+gceSTATUS
+gcoOS_CloseFD(
+    IN gcoOS Os,
+    IN gctINT FD
+    );
+
+/* Dup file descriptor to another. */
+gceSTATUS
+gcoOS_DupFD(
+    IN gcoOS Os,
+    IN gctINT FD,
+    OUT gctINT * FD2
+    );
+
+/* Create an endpoint for communication. */
+gceSTATUS
+gcoOS_Socket(
+    IN gcoOS Os,
+    IN gctINT Domain,
+    IN gctINT Type,
+    IN gctINT Protocol,
+    OUT gctINT *SockFd
+    );
+
+/* Close a socket. */
+gceSTATUS
+gcoOS_CloseSocket(
+    IN gcoOS Os,
+    IN gctINT SockFd
+    );
+
+/* Initiate a connection on a socket. */
+gceSTATUS
+gcoOS_Connect(
+    IN gcoOS Os,
+    IN gctINT SockFd,
+    IN gctCONST_POINTER HostName,
+    IN gctUINT Port);
+
+/* Shut down part of connection on a socket. */
+gceSTATUS
+gcoOS_Shutdown(
+    IN gcoOS Os,
+    IN gctINT SockFd,
+    IN gctINT How
+    );
+
+/* Send a message on a socket. */
+gceSTATUS
+gcoOS_Send(
+    IN gcoOS Os,
+    IN gctINT SockFd,
+    IN gctSIZE_T ByteCount,
+    IN gctCONST_POINTER Data,
+    IN gctINT Flags
+    );
+
+/* Initiate a connection on a socket. */
+gceSTATUS
+gcoOS_WaitForSend(
+    IN gcoOS Os,
+    IN gctINT SockFd,
+    IN gctINT Seconds,
+    IN gctINT MicroSeconds);
+
+/* Get environment variable value. */
+gceSTATUS
+gcoOS_GetEnv(
+    IN gcoOS Os,
+    IN gctCONST_STRING VarName,
+    OUT gctSTRING * Value
+    );
+
+/* Set environment variable value. */
+gceSTATUS
+gcoOS_SetEnv(
+    IN gcoOS Os,
+    IN gctCONST_STRING VarName,
+    IN gctSTRING Value
+    );
+
+/* Get current working directory. */
+gceSTATUS
+gcoOS_GetCwd(
+    IN gcoOS Os,
+       IN gctINT SizeInBytes,
+    OUT gctSTRING Buffer
+    );
+
+/* Get file status info. */
+gceSTATUS
+gcoOS_Stat(
+    IN gcoOS Os,
+    IN gctCONST_STRING FileName,
+    OUT gctPOINTER Buffer
+    );
+
+typedef enum _gceFILE_WHENCE
+{
+    gcvFILE_SEEK_SET,
+    gcvFILE_SEEK_CUR,
+    gcvFILE_SEEK_END
+}
+gceFILE_WHENCE;
+
+/* Set the current position of a file. */
+gceSTATUS
+gcoOS_Seek(
+    IN gcoOS Os,
+    IN gctFILE File,
+    IN gctUINT32 Offset,
+    IN gceFILE_WHENCE Whence
+    );
+
+/* Set the current position of a file. */
+gceSTATUS
+gcoOS_SetPos(
+    IN gcoOS Os,
+    IN gctFILE File,
+    IN gctUINT32 Position
+    );
+
+/* Get the current position of a file. */
+gceSTATUS
+gcoOS_GetPos(
+    IN gcoOS Os,
+    IN gctFILE File,
+    OUT gctUINT32 * Position
+    );
+
+/* Same as strstr. */
+gceSTATUS
+gcoOS_StrStr(
+    IN gctCONST_STRING String,
+    IN gctCONST_STRING SubString,
+    OUT gctSTRING * Output
+    );
+
+/* Find the last occurance of a character inside a string. */
+gceSTATUS
+gcoOS_StrFindReverse(
+    IN gctCONST_STRING String,
+    IN gctINT8 Character,
+    OUT gctSTRING * Output
+    );
+
+gceSTATUS
+gcoOS_StrDup(
+    IN gcoOS Os,
+    IN gctCONST_STRING String,
+    OUT gctSTRING * Target
+    );
+
+/* Copy a string. */
+gceSTATUS
+gcoOS_StrCopySafe(
+    IN gctSTRING Destination,
+    IN gctSIZE_T DestinationSize,
+    IN gctCONST_STRING Source
+    );
+
+/* Append a string. */
+gceSTATUS
+gcoOS_StrCatSafe(
+    IN gctSTRING Destination,
+    IN gctSIZE_T DestinationSize,
+    IN gctCONST_STRING Source
+    );
+
+/* Compare two strings. */
+gceSTATUS
+gcoOS_StrCmp(
+    IN gctCONST_STRING String1,
+    IN gctCONST_STRING String2
+    );
+
+/* Compare characters of two strings. */
+gceSTATUS
+gcoOS_StrNCmp(
+    IN gctCONST_STRING String1,
+    IN gctCONST_STRING String2,
+    IN gctSIZE_T Count
+    );
+
+/* Convert string to float. */
+gceSTATUS
+gcoOS_StrToFloat(
+    IN gctCONST_STRING String,
+    OUT gctFLOAT * Float
+    );
+
+/* Convert hex string to integer. */
+gceSTATUS
+gcoOS_HexStrToInt(
+       IN gctCONST_STRING String,
+       OUT gctINT * Int
+       );
+
+/* Convert hex string to float. */
+gceSTATUS
+gcoOS_HexStrToFloat(
+       IN gctCONST_STRING String,
+       OUT gctFLOAT * Float
+       );
+
+/* Convert string to integer. */
+gceSTATUS
+gcoOS_StrToInt(
+    IN gctCONST_STRING String,
+    OUT gctINT * Int
+    );
+
+gceSTATUS
+gcoOS_MemCmp(
+    IN gctCONST_POINTER Memory1,
+    IN gctCONST_POINTER Memory2,
+    IN gctSIZE_T Bytes
+    );
+
+gceSTATUS
+gcoOS_PrintStrSafe(
+    OUT gctSTRING String,
+    IN gctSIZE_T StringSize,
+    IN OUT gctUINT * Offset,
+    IN gctCONST_STRING Format,
+    ...
+    );
+
+gceSTATUS
+gcoOS_LoadLibrary(
+    IN gcoOS Os,
+    IN gctCONST_STRING Library,
+    OUT gctHANDLE * Handle
+    );
+
+gceSTATUS
+gcoOS_FreeLibrary(
+    IN gcoOS Os,
+    IN gctHANDLE Handle
+    );
+
+gceSTATUS
+gcoOS_GetProcAddress(
+    IN gcoOS Os,
+    IN gctHANDLE Handle,
+    IN gctCONST_STRING Name,
+    OUT gctPOINTER * Function
+    );
+
+gceSTATUS
+gcoOS_Compact(
+    IN gcoOS Os
+    );
+
+gceSTATUS
+gcoOS_AddSignalHandler (
+    IN gceSignalHandlerType SignalHandlerType
+    );
+
+#if VIVANTE_PROFILER
+gceSTATUS
+gcoOS_ProfileStart(
+    IN gcoOS Os
+    );
+
+gceSTATUS
+gcoOS_ProfileEnd(
+    IN gcoOS Os,
+    IN gctCONST_STRING Title
+    );
+
+gceSTATUS
+gcoOS_SetProfileSetting(
+        IN gcoOS Os,
+        IN gctBOOL Enable,
+        IN gctCONST_STRING FileName
+        );
+#endif
+
+gctBOOL
+gcoOS_IsNeededSupportNP2Texture(
+    IN gctCHAR* ProcName
+    );
+
+/* Query the video memory. */
+gceSTATUS
+gcoOS_QueryVideoMemory(
+    IN gcoOS Os,
+    OUT gctPHYS_ADDR * InternalAddress,
+    OUT gctSIZE_T * InternalSize,
+    OUT gctPHYS_ADDR * ExternalAddress,
+    OUT gctSIZE_T * ExternalSize,
+    OUT gctPHYS_ADDR * ContiguousAddress,
+    OUT gctSIZE_T * ContiguousSize
+    );
+
+/* Detect if the process is the executable specified. */
+gceSTATUS
+gcoOS_DetectProcessByNamePid(
+    IN gctCONST_STRING Name,
+    IN gctHANDLE Pid
+    );
+
+/* Detect if the current process is the executable specified. */
+gceSTATUS
+gcoOS_DetectProcessByName(
+    IN gctCONST_STRING Name
+    );
+
+gceSTATUS
+gcoOS_DetectProcessByEncryptedName(
+    IN gctCONST_STRING Name
+    );
+
+#if defined(ANDROID)
+gceSTATUS
+gcoOS_DetectProgrameByEncryptedSymbols(
+    IN gcoOS_SymbolsList Symbols
+    );
+#endif
+
+/*----------------------------------------------------------------------------*/
+/*----- Atoms ----------------------------------------------------------------*/
+
+/* Construct an atom. */
+gceSTATUS
+gcoOS_AtomConstruct(
+    IN gcoOS Os,
+    OUT gcsATOM_PTR * Atom
+    );
+
+/* Destroy an atom. */
+gceSTATUS
+gcoOS_AtomDestroy(
+    IN gcoOS Os,
+    IN gcsATOM_PTR Atom
+    );
+
+/* Increment an atom. */
+gceSTATUS
+gcoOS_AtomIncrement(
+    IN gcoOS Os,
+    IN gcsATOM_PTR Atom,
+    OUT gctINT32_PTR OldValue
+    );
+
+/* Decrement an atom. */
+gceSTATUS
+gcoOS_AtomDecrement(
+    IN gcoOS Os,
+    IN gcsATOM_PTR Atom,
+    OUT gctINT32_PTR OldValue
+    );
+
+gctHANDLE
+gcoOS_GetCurrentProcessID(
+    void
+    );
+
+gctHANDLE
+gcoOS_GetCurrentThreadID(
+    void
+    );
+
+/*----------------------------------------------------------------------------*/
+/*----- Time -----------------------------------------------------------------*/
+
+/* Get the number of milliseconds since the system started. */
+gctUINT32
+gcoOS_GetTicks(
+    void
+    );
+
+/* Get time in microseconds. */
+gceSTATUS
+gcoOS_GetTime(
+    gctUINT64_PTR Time
+    );
+
+/* Get CPU usage in microseconds. */
+gceSTATUS
+gcoOS_GetCPUTime(
+    gctUINT64_PTR CPUTime
+    );
+
+/* Get memory usage. */
+gceSTATUS
+gcoOS_GetMemoryUsage(
+    gctUINT32_PTR MaxRSS,
+    gctUINT32_PTR IxRSS,
+    gctUINT32_PTR IdRSS,
+    gctUINT32_PTR IsRSS
+    );
+
+/* Delay a number of microseconds. */
+gceSTATUS
+gcoOS_Delay(
+    IN gcoOS Os,
+    IN gctUINT32 Delay
+    );
+
+/*----------------------------------------------------------------------------*/
+/*----- Threads --------------------------------------------------------------*/
+
+#ifdef _WIN32
+/* Cannot include windows.h here becuase "near" and "far"
+ * which are used in gcsDEPTH_INFO, are defined to nothing in WinDef.h.
+ * So, use the real value of DWORD and WINAPI, instead.
+ * DWORD is unsigned long, and WINAPI is __stdcall.
+ * If these two are change in WinDef.h, the following two typdefs
+ * need to be changed, too.
+ */
+typedef unsigned long gctTHREAD_RETURN;
+typedef unsigned long (__stdcall * gcTHREAD_ROUTINE)(void * Argument);
+#else
+typedef void * gctTHREAD_RETURN;
+typedef void * (* gcTHREAD_ROUTINE)(void *);
+#endif
+
+/* Create a new thread. */
+gceSTATUS
+gcoOS_CreateThread(
+    IN gcoOS Os,
+    IN gcTHREAD_ROUTINE Worker,
+    IN gctPOINTER Argument,
+    OUT gctPOINTER * Thread
+    );
+
+/* Close a thread. */
+gceSTATUS
+gcoOS_CloseThread(
+    IN gcoOS Os,
+    IN gctPOINTER Thread
+    );
+
+/*----------------------------------------------------------------------------*/
+/*----- Mutexes --------------------------------------------------------------*/
+
+/* Create a new mutex. */
+gceSTATUS
+gcoOS_CreateMutex(
+    IN gcoOS Os,
+    OUT gctPOINTER * Mutex
+    );
+
+/* Delete a mutex. */
+gceSTATUS
+gcoOS_DeleteMutex(
+    IN gcoOS Os,
+    IN gctPOINTER Mutex
+    );
+
+/* Acquire a mutex. */
+gceSTATUS
+gcoOS_AcquireMutex(
+    IN gcoOS Os,
+    IN gctPOINTER Mutex,
+    IN gctUINT32 Timeout
+    );
+
+/* Release a mutex. */
+gceSTATUS
+gcoOS_ReleaseMutex(
+    IN gcoOS Os,
+    IN gctPOINTER Mutex
+    );
+
+/*----------------------------------------------------------------------------*/
+/*----- Signals --------------------------------------------------------------*/
+
+/* Create a signal. */
+gceSTATUS
+gcoOS_CreateSignal(
+    IN gcoOS Os,
+    IN gctBOOL ManualReset,
+    OUT gctSIGNAL * Signal
+    );
+
+/* Destroy a signal. */
+gceSTATUS
+gcoOS_DestroySignal(
+    IN gcoOS Os,
+    IN gctSIGNAL Signal
+    );
+
+/* Signal a signal. */
+gceSTATUS
+gcoOS_Signal(
+    IN gcoOS Os,
+    IN gctSIGNAL Signal,
+    IN gctBOOL State
+    );
+
+/* Wait for a signal. */
+gceSTATUS
+gcoOS_WaitSignal(
+    IN gcoOS Os,
+    IN gctSIGNAL Signal,
+    IN gctUINT32 Wait
+    );
+
+/* Map a signal from another process */
+gceSTATUS
+gcoOS_MapSignal(
+    IN gctSIGNAL  RemoteSignal,
+    OUT gctSIGNAL * LocalSignal
+    );
+
+/* Unmap a signal mapped from another process */
+gceSTATUS
+gcoOS_UnmapSignal(
+    IN gctSIGNAL Signal
+    );
+
+/*----------------------------------------------------------------------------*/
+/*----- Android Native Fence -------------------------------------------------*/
+
+/* Create sync point. */
+gceSTATUS
+gcoOS_CreateSyncPoint(
+    IN gcoOS Os,
+    OUT gctSYNC_POINT * SyncPoint
+    );
+
+/* Destroy sync point. */
+gceSTATUS
+gcoOS_DestroySyncPoint(
+    IN gcoOS Os,
+    IN gctSYNC_POINT SyncPoint
+    );
+
+/* Create native fence. */
+gceSTATUS
+gcoOS_CreateNativeFence(
+    IN gcoOS Os,
+    IN gctSYNC_POINT SyncPoint,
+    OUT gctINT * FenceFD
+    );
+
+/* Wait on native fence. */
+gceSTATUS
+gcoOS_WaitNativeFence(
+    IN gcoOS Os,
+    IN gctINT FenceFD,
+    IN gctUINT32 Timeout
+    );
+
+/*----------------------------------------------------------------------------*/
+/*----- Memory Access and Cache ----------------------------------------------*/
+
+/* Write a register. */
+gceSTATUS
+gcoOS_WriteRegister(
+    IN gcoOS Os,
+    IN gctUINT32 Address,
+    IN gctUINT32 Data
+    );
+
+/* Read a register. */
+gceSTATUS
+gcoOS_ReadRegister(
+    IN gcoOS Os,
+    IN gctUINT32 Address,
+    OUT gctUINT32 * Data
+    );
+
+gceSTATUS
+gcoOS_CacheClean(
+    IN gcoOS Os,
+    IN gctUINT64 Node,
+    IN gctPOINTER Logical,
+    IN gctSIZE_T Bytes
+    );
+
+gceSTATUS
+gcoOS_CacheFlush(
+    IN gcoOS Os,
+    IN gctUINT64 Node,
+    IN gctPOINTER Logical,
+    IN gctSIZE_T Bytes
+    );
+
+gceSTATUS
+gcoOS_CacheInvalidate(
+    IN gcoOS Os,
+    IN gctUINT64 Node,
+    IN gctPOINTER Logical,
+    IN gctSIZE_T Bytes
+    );
+
+gceSTATUS
+gcoOS_MemoryBarrier(
+    IN gcoOS Os,
+    IN gctPOINTER Logical
+    );
+
+
+/*----------------------------------------------------------------------------*/
+/*----- Profile --------------------------------------------------------------*/
+
+gceSTATUS
+gckOS_GetProfileTick(
+    OUT gctUINT64_PTR Tick
+    );
+
+gceSTATUS
+gckOS_QueryProfileTickRate(
+    OUT gctUINT64_PTR TickRate
+    );
+
+gctUINT32
+gckOS_ProfileToMS(
+    IN gctUINT64 Ticks
+    );
+
+gceSTATUS
+gcoOS_GetProfileTick(
+    OUT gctUINT64_PTR Tick
+    );
+
+gceSTATUS
+gcoOS_QueryProfileTickRate(
+    OUT gctUINT64_PTR TickRate
+    );
+
+#define _gcmPROFILE_INIT(prefix, freq, start) \
+    do { \
+        prefix ## OS_QueryProfileTickRate(&(freq)); \
+        prefix ## OS_GetProfileTick(&(start)); \
+    } while (gcvFALSE)
+
+#define _gcmPROFILE_QUERY(prefix, start, ticks) \
+    do { \
+        prefix ## OS_GetProfileTick(&(ticks)); \
+        (ticks) = ((ticks) > (start)) ? ((ticks) - (start)) \
+                                      : (~0ull - (start) + (ticks) + 1); \
+    } while (gcvFALSE)
+
+#if gcdENABLE_PROFILING
+#   define gcmkPROFILE_INIT(freq, start)    _gcmPROFILE_INIT(gck, freq, start)
+#   define gcmkPROFILE_QUERY(start, ticks)  _gcmPROFILE_QUERY(gck, start, ticks)
+#   define gcmPROFILE_INIT(freq, start)     _gcmPROFILE_INIT(gco, freq, start)
+#   define gcmPROFILE_QUERY(start, ticks)   _gcmPROFILE_QUERY(gco, start, ticks)
+#   define gcmPROFILE_ONLY(x)               x
+#   define gcmPROFILE_ELSE(x)               do { } while (gcvFALSE)
+#   define gcmPROFILE_DECLARE_ONLY(x)       x
+#   define gcmPROFILE_DECLARE_ELSE(x)       typedef x
+#else
+#   define gcmkPROFILE_INIT(start, freq)    do { } while (gcvFALSE)
+#   define gcmkPROFILE_QUERY(start, ticks)  do { } while (gcvFALSE)
+#   define gcmPROFILE_INIT(start, freq)     do { } while (gcvFALSE)
+#   define gcmPROFILE_QUERY(start, ticks)   do { } while (gcvFALSE)
+#   define gcmPROFILE_ONLY(x)               do { } while (gcvFALSE)
+#   define gcmPROFILE_ELSE(x)               x
+#   define gcmPROFILE_DECLARE_ONLY(x)       do { } while (gcvFALSE) 
+#   define gcmPROFILE_DECLARE_ELSE(x)       x
+#endif
+
+/*******************************************************************************
+**  gcoMATH object
+*/
+
+#define gcdPI                   3.14159265358979323846f
+
+/* Kernel. */
+gctINT
+gckMATH_ModuloInt(
+    IN gctINT X,
+    IN gctINT Y
+    );
+
+/* User. */
+gctUINT32
+gcoMATH_Log2in5dot5(
+    IN gctINT X
+    );
+
+
+gctFLOAT
+gcoMATH_UIntAsFloat(
+    IN gctUINT32 X
+    );
+
+gctUINT32
+gcoMATH_FloatAsUInt(
+    IN gctFLOAT X
+    );
+
+gctBOOL
+gcoMATH_CompareEqualF(
+    IN gctFLOAT X,
+    IN gctFLOAT Y
+    );
+
+gctUINT16
+gcoMATH_UInt8AsFloat16(
+    IN gctUINT8 X
+    );
+
+/******************************************************************************\
+**************************** Coordinate Structures *****************************
+\******************************************************************************/
+
+typedef struct _gcsPOINT
+{
+    gctINT32                    x;
+    gctINT32                    y;
+}
+gcsPOINT;
+
+typedef struct _gcsSIZE
+{
+    gctINT32                    width;
+    gctINT32                    height;
+}
+gcsSIZE;
+
+typedef struct _gcsRECT
+{
+    gctINT32                    left;
+    gctINT32                    top;
+    gctINT32                    right;
+    gctINT32                    bottom;
+}
+gcsRECT;
+
+typedef union _gcsPIXEL
+{
+    struct
+    {
+        gctFLOAT r, g, b, a;
+        gctFLOAT d, s;
+    } pf;
+
+    struct
+    {
+        gctINT32 r, g, b, a;
+        gctINT32 d, s;
+    } pi;
+
+    struct
+    {
+        gctUINT32 r, g, b, a;
+        gctUINT32 d, s;
+    } pui;
+
+} gcsPIXEL;
+
+
+/******************************************************************************\
+********************************* gcoSURF Object ********************************
+\******************************************************************************/
+
+/*----------------------------------------------------------------------------*/
+/*------------------------------- gcoSURF Common ------------------------------*/
+
+/* Color format classes. */
+typedef enum _gceFORMAT_CLASS
+{
+    gcvFORMAT_CLASS_RGBA        = 4500,
+    gcvFORMAT_CLASS_YUV,
+    gcvFORMAT_CLASS_INDEX,
+    gcvFORMAT_CLASS_LUMINANCE,
+    gcvFORMAT_CLASS_BUMP,
+    gcvFORMAT_CLASS_DEPTH,
+}
+gceFORMAT_CLASS;
+
+/* Special enums for width field in gcsFORMAT_COMPONENT. */
+typedef enum _gceCOMPONENT_CONTROL
+{
+    gcvCOMPONENT_NOTPRESENT     = 0x00,
+    gcvCOMPONENT_DONTCARE       = 0x80,
+    gcvCOMPONENT_WIDTHMASK      = 0x7F,
+    gcvCOMPONENT_ODD            = 0x80
+}
+gceCOMPONENT_CONTROL;
+
+/* Color format component parameters. */
+typedef struct _gcsFORMAT_COMPONENT
+{
+    gctUINT8                    start;
+    gctUINT8                    width;
+}
+gcsFORMAT_COMPONENT;
+
+/* RGBA color format class. */
+typedef struct _gcsFORMAT_CLASS_TYPE_RGBA
+{
+    gcsFORMAT_COMPONENT         alpha;
+    gcsFORMAT_COMPONENT         red;
+    gcsFORMAT_COMPONENT         green;
+    gcsFORMAT_COMPONENT         blue;
+}
+gcsFORMAT_CLASS_TYPE_RGBA;
+
+/* YUV color format class. */
+typedef struct _gcsFORMAT_CLASS_TYPE_YUV
+{
+    gcsFORMAT_COMPONENT         y;
+    gcsFORMAT_COMPONENT         u;
+    gcsFORMAT_COMPONENT         v;
+}
+gcsFORMAT_CLASS_TYPE_YUV;
+
+/* Index color format class. */
+typedef struct _gcsFORMAT_CLASS_TYPE_INDEX
+{
+    gcsFORMAT_COMPONENT         value;
+}
+gcsFORMAT_CLASS_TYPE_INDEX;
+
+/* Luminance color format class. */
+typedef struct _gcsFORMAT_CLASS_TYPE_LUMINANCE
+{
+    gcsFORMAT_COMPONENT         alpha;
+    gcsFORMAT_COMPONENT         value;
+}
+gcsFORMAT_CLASS_TYPE_LUMINANCE;
+
+/* Bump map color format class. */
+typedef struct _gcsFORMAT_CLASS_TYPE_BUMP
+{
+    gcsFORMAT_COMPONENT         alpha;
+    gcsFORMAT_COMPONENT         l;
+    gcsFORMAT_COMPONENT         v;
+    gcsFORMAT_COMPONENT         u;
+    gcsFORMAT_COMPONENT         q;
+    gcsFORMAT_COMPONENT         w;
+}
+gcsFORMAT_CLASS_TYPE_BUMP;
+
+/* Depth and stencil format class. */
+typedef struct _gcsFORMAT_CLASS_TYPE_DEPTH
+{
+    gcsFORMAT_COMPONENT         depth;
+    gcsFORMAT_COMPONENT         stencil;
+}
+gcsFORMAT_CLASS_TYPE_DEPTH;
+
+/* Format parameters. */
+typedef struct _gcsSURF_FORMAT_INFO
+{
+    /* Format code and class. */
+    gceSURF_FORMAT              format;
+    gceFORMAT_CLASS             fmtClass;
+
+    /* The size of one pixel in bits. */
+    gctUINT8                    bitsPerPixel;
+
+    /* Component swizzle. */
+    gceSURF_SWIZZLE             swizzle;
+
+    /* Some formats have two neighbour pixels interleaved together. */
+    /* To describe such format, set the flag to 1 and add another   */
+    /* like this one describing the odd pixel format.               */
+    gctUINT8                    interleaved;
+
+    /* Format components. */
+    union
+    {
+        gcsFORMAT_CLASS_TYPE_BUMP       bump;
+        gcsFORMAT_CLASS_TYPE_RGBA       rgba;
+        gcsFORMAT_CLASS_TYPE_YUV        yuv;
+        gcsFORMAT_CLASS_TYPE_LUMINANCE  lum;
+        gcsFORMAT_CLASS_TYPE_INDEX      index;
+        gcsFORMAT_CLASS_TYPE_DEPTH      depth;
+    } u;
+}
+gcsSURF_FORMAT_INFO;
+
+/* Frame buffer information. */
+typedef struct _gcsSURF_FRAMEBUFFER
+{
+    gctPOINTER                  logical;
+    gctUINT                     width, height;
+    gctINT                      stride;
+    gceSURF_FORMAT              format;
+}
+gcsSURF_FRAMEBUFFER;
+
+typedef struct _gcsVIDMEM_NODE_SHARED_INFO
+{
+    gctBOOL                     tileStatusDisabled;
+    gcsPOINT                    SrcOrigin;
+    gcsPOINT                    DestOrigin;
+    gcsSIZE                     RectSize;
+    gctUINT32                   clearValue;
+}
+gcsVIDMEM_NODE_SHARED_INFO;
+
+/* Generic pixel component descriptors. */
+extern gcsFORMAT_COMPONENT gcvPIXEL_COMP_XXX8;
+extern gcsFORMAT_COMPONENT gcvPIXEL_COMP_XX8X;
+extern gcsFORMAT_COMPONENT gcvPIXEL_COMP_X8XX;
+extern gcsFORMAT_COMPONENT gcvPIXEL_COMP_8XXX;
+
+typedef enum _gceORIENTATION
+{
+    gcvORIENTATION_TOP_BOTTOM,
+    gcvORIENTATION_BOTTOM_TOP,
+}
+gceORIENTATION;
+
+
+/* Construct a new gcoSURF object. */
+gceSTATUS
+gcoSURF_Construct(
+    IN gcoHAL Hal,
+    IN gctUINT Width,
+    IN gctUINT Height,
+    IN gctUINT Depth,
+    IN gceSURF_TYPE Type,
+    IN gceSURF_FORMAT Format,
+    IN gcePOOL Pool,
+    OUT gcoSURF * Surface
+    );
+
+/* Destroy an gcoSURF object. */
+gceSTATUS
+gcoSURF_Destroy(
+    IN gcoSURF Surface
+    );
+
+/* Map user-allocated surface. */
+gceSTATUS
+gcoSURF_MapUserSurface(
+    IN gcoSURF Surface,
+    IN gctUINT Alignment,
+    IN gctPOINTER Logical,
+    IN gctUINT32 Physical
+    );
+
+/* Query vid mem node info. */
+gceSTATUS
+gcoSURF_QueryVidMemNode(
+    IN gcoSURF Surface,
+    OUT gctUINT64 * Node,
+    OUT gcePOOL * Pool,
+    OUT gctUINT_PTR Bytes
+    );
+
+/* Set the color type of the surface. */
+gceSTATUS
+gcoSURF_SetColorType(
+    IN gcoSURF Surface,
+    IN gceSURF_COLOR_TYPE ColorType
+    );
+
+/* Get the color type of the surface. */
+gceSTATUS
+gcoSURF_GetColorType(
+    IN gcoSURF Surface,
+    OUT gceSURF_COLOR_TYPE *ColorType
+    );
+
+/* Set the surface ration angle. */
+gceSTATUS
+gcoSURF_SetRotation(
+    IN gcoSURF Surface,
+    IN gceSURF_ROTATION Rotation
+    );
+
+gceSTATUS
+gcoSURF_SetPreRotation(
+    IN gcoSURF Surface,
+    IN gceSURF_ROTATION Rotation
+    );
+
+gceSTATUS
+gcoSURF_GetPreRotation(
+    IN gcoSURF Surface,
+    IN gceSURF_ROTATION *Rotation
+    );
+
+gceSTATUS
+gcoSURF_IsValid(
+    IN gcoSURF Surface
+    );
+
+#ifndef VIVANTE_NO_3D
+/* Verify and return the state of the tile status mechanism. */
+gceSTATUS
+gcoSURF_IsTileStatusSupported(
+    IN gcoSURF Surface
+    );
+
+/* Process tile status for the specified surface. */
+gceSTATUS
+gcoSURF_SetTileStatus(
+    IN gcoSURF Surface
+    );
+
+/* Enable tile status for the specified surface. */
+gceSTATUS
+gcoSURF_EnableTileStatus(
+    IN gcoSURF Surface
+    );
+
+/* Disable tile status for the specified surface. */
+gceSTATUS
+gcoSURF_DisableTileStatus(
+    IN gcoSURF Surface,
+    IN gctBOOL Decompress
+    );
+
+gceSTATUS
+gcoSURF_AlignResolveRect(
+    IN gcoSURF Surf,
+    IN gcsPOINT_PTR RectOrigin,
+    IN gcsPOINT_PTR RectSize,
+    OUT gcsPOINT_PTR AlignedOrigin,
+    OUT gcsPOINT_PTR AlignedSize
+    );
+#endif /* VIVANTE_NO_3D */
+
+/* Get surface size. */
+gceSTATUS
+gcoSURF_GetSize(
+    IN gcoSURF Surface,
+    OUT gctUINT * Width,
+    OUT gctUINT * Height,
+    OUT gctUINT * Depth
+    );
+
+/* Get surface aligned sizes. */
+gceSTATUS
+gcoSURF_GetAlignedSize(
+    IN gcoSURF Surface,
+    OUT gctUINT * Width,
+    OUT gctUINT * Height,
+    OUT gctINT * Stride
+    );
+
+/* Get alignments. */
+gceSTATUS
+gcoSURF_GetAlignment(
+    IN gceSURF_TYPE Type,
+    IN gceSURF_FORMAT Format,
+    OUT gctUINT * AddressAlignment,
+    OUT gctUINT * XAlignment,
+    OUT gctUINT * YAlignment
+    );
+
+/* Get surface type and format. */
+gceSTATUS
+gcoSURF_GetFormat(
+    IN gcoSURF Surface,
+    OUT gceSURF_TYPE * Type,
+    OUT gceSURF_FORMAT * Format
+    );
+
+/* Get surface tiling. */
+gceSTATUS
+gcoSURF_GetTiling(
+    IN gcoSURF Surface,
+    OUT gceTILING * Tiling
+    );
+
+/* Lock the surface. */
+gceSTATUS
+gcoSURF_Lock(
+    IN gcoSURF Surface,
+    IN OUT gctUINT32 * Address,
+    IN OUT gctPOINTER * Memory
+    );
+
+/* Unlock the surface. */
+gceSTATUS
+gcoSURF_Unlock(
+    IN gcoSURF Surface,
+    IN gctPOINTER Memory
+    );
+
+/* Return pixel format parameters. */
+gceSTATUS
+gcoSURF_QueryFormat(
+    IN gceSURF_FORMAT Format,
+    OUT gcsSURF_FORMAT_INFO_PTR * Info
+    );
+
+/* Compute the color pixel mask. */
+gceSTATUS
+gcoSURF_ComputeColorMask(
+    IN gcsSURF_FORMAT_INFO_PTR Format,
+    OUT gctUINT32_PTR ColorMask
+    );
+
+/* Flush the surface. */
+gceSTATUS
+gcoSURF_Flush(
+    IN gcoSURF Surface
+    );
+
+/* Fill surface from it's tile status buffer. */
+gceSTATUS
+gcoSURF_FillFromTile(
+    IN gcoSURF Surface
+    );
+
+/* Check if surface needs a filler. */
+gceSTATUS gcoSURF_NeedFiller(IN gcoSURF Surface);
+
+/* Fill surface with a value. */
+gceSTATUS
+gcoSURF_Fill(
+    IN gcoSURF Surface,
+    IN gcsPOINT_PTR Origin,
+    IN gcsSIZE_PTR Size,
+    IN gctUINT32 Value,
+    IN gctUINT32 Mask
+    );
+
+/* Alpha blend two surfaces together. */
+gceSTATUS
+gcoSURF_Blend(
+    IN gcoSURF SrcSurface,
+    IN gcoSURF DestSurface,
+    IN gcsPOINT_PTR SrcOrig,
+    IN gcsPOINT_PTR DestOrigin,
+    IN gcsSIZE_PTR Size,
+    IN gceSURF_BLEND_MODE Mode
+    );
+
+/* Create a new gcoSURF wrapper object. */
+gceSTATUS
+gcoSURF_ConstructWrapper(
+    IN gcoHAL Hal,
+    OUT gcoSURF * Surface
+    );
+
+/* Set the underlying buffer for the surface wrapper. */
+gceSTATUS
+gcoSURF_SetBuffer(
+    IN gcoSURF Surface,
+    IN gceSURF_TYPE Type,
+    IN gceSURF_FORMAT Format,
+    IN gctUINT Stride,
+    IN gctPOINTER Logical,
+    IN gctUINT32 Physical
+    );
+
+/* Set the underlying video buffer for the surface wrapper. */
+gceSTATUS
+gcoSURF_SetVideoBuffer(
+    IN gcoSURF Surface,
+    IN gceSURF_TYPE Type,
+    IN gceSURF_FORMAT Format,
+    IN gctUINT Width,
+    IN gctUINT Height,
+    IN gctUINT Stride,
+    IN gctPOINTER *LogicalPlane1,
+    IN gctUINT32 *PhysicalPlane1
+    );
+
+/* Set the size of the surface in pixels and map the underlying buffer. */
+gceSTATUS
+gcoSURF_SetWindow(
+    IN gcoSURF Surface,
+    IN gctUINT X,
+    IN gctUINT Y,
+    IN gctUINT Width,
+    IN gctUINT Height
+    );
+
+/* Set width/height alignment of the surface directly and calculate stride/size. This is only for dri backend now. Please be careful before use. */
+gceSTATUS
+gcoSURF_SetAlignment(
+    IN gcoSURF Surface,
+    IN gctUINT Width,
+    IN gctUINT Height
+    );
+
+/* Increase reference count of the surface. */
+gceSTATUS
+gcoSURF_ReferenceSurface(
+    IN gcoSURF Surface
+    );
+
+/* Get surface reference count. */
+gceSTATUS
+gcoSURF_QueryReferenceCount(
+    IN gcoSURF Surface,
+    OUT gctINT32 * ReferenceCount
+    );
+
+/* Set surface orientation. */
+gceSTATUS
+gcoSURF_SetOrientation(
+    IN gcoSURF Surface,
+    IN gceORIENTATION Orientation
+    );
+
+/* Query surface orientation. */
+gceSTATUS
+gcoSURF_QueryOrientation(
+    IN gcoSURF Surface,
+    OUT gceORIENTATION * Orientation
+    );
+
+gceSTATUS
+gcoSURF_SetOffset(
+    IN gcoSURF Surface,
+    IN gctUINT Offset
+    );
+
+gceSTATUS
+gcoSURF_GetOffset(
+    IN gcoSURF Surface,
+    OUT gctUINT *Offset
+    );
+
+gceSTATUS
+gcoSURF_NODE_Cache(
+    IN gcsSURF_NODE_PTR Node,
+    IN gctPOINTER Logical,
+    IN gctSIZE_T Bytes,
+    IN gceCACHEOPERATION Operation
+    );
+
+/* Perform CPU cache operation on surface */
+gceSTATUS
+gcoSURF_CPUCacheOperation(
+    IN gcoSURF Surface,
+    IN gceCACHEOPERATION Operation
+    );
+
+
+gceSTATUS
+gcoSURF_SetLinearResolveAddress(
+    IN gcoSURF Surface,
+    IN gctUINT32 Address,
+    IN gctPOINTER Memory
+    );
+
+    gceSTATUS
+    gcoSURF_Swap(IN gcoSURF Surface1, IN gcoSURF Surface2);
+
+/******************************************************************************\
+********************************* gcoDUMP Object ********************************
+\******************************************************************************/
+
+/* Construct a new gcoDUMP object. */
+gceSTATUS
+gcoDUMP_Construct(
+    IN gcoOS Os,
+    IN gcoHAL Hal,
+    OUT gcoDUMP * Dump
+    );
+
+/* Destroy a gcoDUMP object. */
+gceSTATUS
+gcoDUMP_Destroy(
+    IN gcoDUMP Dump
+    );
+
+/* Enable/disable dumping. */
+gceSTATUS
+gcoDUMP_Control(
+    IN gcoDUMP Dump,
+    IN gctSTRING FileName
+    );
+
+gceSTATUS
+gcoDUMP_IsEnabled(
+    IN gcoDUMP Dump,
+    OUT gctBOOL * Enabled
+    );
+
+/* Add surface. */
+gceSTATUS
+gcoDUMP_AddSurface(
+    IN gcoDUMP Dump,
+    IN gctINT32 Width,
+    IN gctINT32 Height,
+    IN gceSURF_FORMAT PixelFormat,
+    IN gctUINT32 Address,
+    IN gctSIZE_T ByteCount
+    );
+
+/* Mark the beginning of a frame. */
+gceSTATUS
+gcoDUMP_FrameBegin(
+    IN gcoDUMP Dump
+    );
+
+/* Mark the end of a frame. */
+gceSTATUS
+gcoDUMP_FrameEnd(
+    IN gcoDUMP Dump
+    );
+
+/* Dump data. */
+gceSTATUS
+gcoDUMP_DumpData(
+    IN gcoDUMP Dump,
+    IN gceDUMP_TAG Type,
+    IN gctUINT32 Address,
+    IN gctSIZE_T ByteCount,
+    IN gctCONST_POINTER Data
+    );
+
+/* Delete an address. */
+gceSTATUS
+gcoDUMP_Delete(
+    IN gcoDUMP Dump,
+    IN gctUINT32 Address
+    );
+
+/* Enable dump or not. */
+gceSTATUS
+gcoDUMP_SetDumpFlag(
+    IN gctBOOL DumpState
+    );
+
+/******************************************************************************\
+******************************* gcsRECT Structure ******************************
+\******************************************************************************/
+
+/* Initialize rectangle structure. */
+gceSTATUS
+gcsRECT_Set(
+    OUT gcsRECT_PTR Rect,
+    IN gctINT32 Left,
+    IN gctINT32 Top,
+    IN gctINT32 Right,
+    IN gctINT32 Bottom
+    );
+
+/* Return the width of the rectangle. */
+gceSTATUS
+gcsRECT_Width(
+    IN gcsRECT_PTR Rect,
+    OUT gctINT32 * Width
+    );
+
+/* Return the height of the rectangle. */
+gceSTATUS
+gcsRECT_Height(
+    IN gcsRECT_PTR Rect,
+    OUT gctINT32 * Height
+    );
+
+/* Ensure that top left corner is to the left and above the right bottom. */
+gceSTATUS
+gcsRECT_Normalize(
+    IN OUT gcsRECT_PTR Rect
+    );
+
+/* Compare two rectangles. */
+gceSTATUS
+gcsRECT_IsEqual(
+    IN gcsRECT_PTR Rect1,
+    IN gcsRECT_PTR Rect2,
+    OUT gctBOOL * Equal
+    );
+
+/* Compare the sizes of two rectangles. */
+gceSTATUS
+gcsRECT_IsOfEqualSize(
+    IN gcsRECT_PTR Rect1,
+    IN gcsRECT_PTR Rect2,
+    OUT gctBOOL * EqualSize
+    );
+
+gceSTATUS
+gcsRECT_RelativeRotation(
+    IN gceSURF_ROTATION Orientation,
+    IN OUT gceSURF_ROTATION *Relation);
+
+gceSTATUS
+
+gcsRECT_Rotate(
+
+    IN OUT gcsRECT_PTR Rect,
+
+    IN gceSURF_ROTATION Rotation,
+
+    IN gceSURF_ROTATION toRotation,
+
+    IN gctINT32 SurfaceWidth,
+
+    IN gctINT32 SurfaceHeight
+
+    );
+
+/******************************************************************************\
+**************************** gcsBOUNDARY Structure *****************************
+\******************************************************************************/
+
+typedef struct _gcsBOUNDARY
+{
+    gctINT                      x;
+    gctINT                      y;
+    gctINT                      width;
+    gctINT                      height;
+}
+gcsBOUNDARY;
+
+/******************************************************************************\
+********************************* gcoHEAP Object ********************************
+\******************************************************************************/
+
+typedef struct _gcoHEAP *       gcoHEAP;
+
+/* Construct a new gcoHEAP object. */
+gceSTATUS
+gcoHEAP_Construct(
+    IN gcoOS Os,
+    IN gctSIZE_T AllocationSize,
+    OUT gcoHEAP * Heap
+    );
+
+/* Destroy an gcoHEAP object. */
+gceSTATUS
+gcoHEAP_Destroy(
+    IN gcoHEAP Heap
+    );
+
+/* Allocate memory. */
+gceSTATUS
+gcoHEAP_Allocate(
+    IN gcoHEAP Heap,
+    IN gctSIZE_T Bytes,
+    OUT gctPOINTER * Node
+    );
+
+gceSTATUS
+gcoHEAP_GetMemorySize(
+    IN gcoHEAP Heap,
+    IN gctPOINTER Memory,
+    OUT gctSIZE_T_PTR MemorySize
+    );
+
+/* Free memory. */
+gceSTATUS
+gcoHEAP_Free(
+    IN gcoHEAP Heap,
+    IN gctPOINTER Node
+    );
+
+#if (VIVANTE_PROFILER  || gcdDEBUG)
+/* Profile the heap. */
+gceSTATUS
+gcoHEAP_ProfileStart(
+    IN gcoHEAP Heap
+    );
+
+gceSTATUS
+gcoHEAP_ProfileEnd(
+    IN gcoHEAP Heap,
+    IN gctCONST_STRING Title
+    );
+#endif
+
+
+/******************************************************************************\
+******************************* Debugging Macros *******************************
+\******************************************************************************/
+
+void
+gcoOS_SetDebugLevel(
+    IN gctUINT32 Level
+    );
+
+void
+gcoOS_GetDebugLevel(
+    OUT gctUINT32_PTR DebugLevel
+    );
+
+void
+gcoOS_SetDebugZone(
+    IN gctUINT32 Zone
+    );
+
+void
+gcoOS_GetDebugZone(
+    IN gctUINT32 Zone,
+    OUT gctUINT32_PTR DebugZone
+    );
+
+void
+gcoOS_SetDebugLevelZone(
+    IN gctUINT32 Level,
+    IN gctUINT32 Zone
+    );
+
+void
+gcoOS_SetDebugZones(
+    IN gctUINT32 Zones,
+    IN gctBOOL Enable
+    );
+
+void
+gcoOS_SetDebugFile(
+    IN gctCONST_STRING FileName
+    );
+
+gctFILE
+gcoOS_ReplaceDebugFile(
+    IN gctFILE fp
+       );
+
+/*******************************************************************************
+**
+**  gcmFATAL
+**
+**      Print a message to the debugger and execute a break point.
+**
+**  ARGUMENTS:
+**
+**      message Message.
+**      ...     Optional arguments.
+*/
+
+void
+gckOS_DebugFatal(
+    IN gctCONST_STRING Message,
+    ...
+    );
+
+void
+gcoOS_DebugFatal(
+    IN gctCONST_STRING Message,
+    ...
+    );
+
+#if gcmIS_DEBUG(gcdDEBUG_FATAL)
+#   define gcmFATAL             gcoOS_DebugFatal
+#   define gcmkFATAL            gckOS_DebugFatal
+#elif gcdHAS_ELLIPSES
+#   define gcmFATAL(...)
+#   define gcmkFATAL(...)
+#else
+    gcmINLINE static void
+    __dummy_fatal(
+        IN gctCONST_STRING Message,
+        ...
+        )
+    {
+    }
+#   define gcmFATAL             __dummy_fatal
+#   define gcmkFATAL            __dummy_fatal
+#endif
+
+#define gcmENUM2TEXT(e)         case e: return #e
+
+/*******************************************************************************
+**
+**  gcmTRACE
+**
+**      Print a message to the debugfer if the correct level has been set.  In
+**      retail mode this macro does nothing.
+**
+**  ARGUMENTS:
+**
+**      level   Level of message.
+**      message Message.
+**      ...     Optional arguments.
+*/
+#define gcvLEVEL_NONE           -1
+#define gcvLEVEL_ERROR          0
+#define gcvLEVEL_WARNING        1
+#define gcvLEVEL_INFO           2
+#define gcvLEVEL_VERBOSE        3
+
+void
+gckOS_DebugTrace(
+    IN gctUINT32 Level,
+    IN gctCONST_STRING Message,
+    ...
+    );
+
+void
+gckOS_DebugTraceN(
+    IN gctUINT32 Level,
+    IN gctUINT ArgumentSize,
+    IN gctCONST_STRING Message,
+    ...
+    );
+
+void
+gcoOS_DebugTrace(
+    IN gctUINT32 Level,
+    IN gctCONST_STRING Message,
+    ...
+    );
+
+#if gcmIS_DEBUG(gcdDEBUG_TRACE)
+#   define gcmTRACE             gcoOS_DebugTrace
+#   define gcmkTRACE            gckOS_DebugTrace
+#   define gcmkTRACE_N          gckOS_DebugTraceN
+#elif gcdHAS_ELLIPSES
+#   define gcmTRACE(...)
+#   define gcmkTRACE(...)
+#   define gcmkTRACE_N(...)
+#else
+    gcmINLINE static void
+    __dummy_trace(
+        IN gctUINT32 Level,
+        IN gctCONST_STRING Message,
+        ...
+        )
+    {
+    }
+
+    gcmINLINE static void
+    __dummy_trace_n(
+        IN gctUINT32 Level,
+        IN gctUINT ArgumentSize,
+        IN gctCONST_STRING Message,
+        ...
+        )
+    {
+    }
+
+#   define gcmTRACE             __dummy_trace
+#   define gcmkTRACE            __dummy_trace
+#   define gcmkTRACE_N          __dummy_trace_n
+#endif
+
+/* Zones common for kernel and user. */
+#define gcvZONE_OS              (1 << 0)
+#define gcvZONE_HARDWARE        (1 << 1)
+#define gcvZONE_HEAP            (1 << 2)
+#define gcvZONE_SIGNAL          (1 << 27)
+
+/* Kernel zones. */
+#define gcvZONE_KERNEL          (1 << 3)
+#define gcvZONE_VIDMEM          (1 << 4)
+#define gcvZONE_COMMAND         (1 << 5)
+#define gcvZONE_DRIVER          (1 << 6)
+#define gcvZONE_CMODEL          (1 << 7)
+#define gcvZONE_MMU             (1 << 8)
+#define gcvZONE_EVENT           (1 << 9)
+#define gcvZONE_DEVICE          (1 << 10)
+#define gcvZONE_DATABASE        (1 << 11)
+#define gcvZONE_INTERRUPT       (1 << 12)
+#define gcvZONE_POWER           (1 << 13)
+
+/* User zones. */
+#define gcvZONE_HAL             (1 << 3)
+#define gcvZONE_BUFFER          (1 << 4)
+#define gcvZONE_CONTEXT         (1 << 5)
+#define gcvZONE_SURFACE         (1 << 6)
+#define gcvZONE_INDEX           (1 << 7)
+#define gcvZONE_STREAM          (1 << 8)
+#define gcvZONE_TEXTURE         (1 << 9)
+#define gcvZONE_2D              (1 << 10)
+#define gcvZONE_3D              (1 << 11)
+#define gcvZONE_COMPILER        (1 << 12)
+#define gcvZONE_MEMORY          (1 << 13)
+#define gcvZONE_STATE           (1 << 14)
+#define gcvZONE_AUX             (1 << 15)
+#define gcvZONE_VERTEX          (1 << 16)
+#define gcvZONE_CL              (1 << 17)
+#define gcvZONE_COMPOSITION     (1 << 17)
+#define gcvZONE_VG              (1 << 18)
+#define gcvZONE_IMAGE           (1 << 19)
+#define gcvZONE_UTILITY         (1 << 20)
+#define gcvZONE_PARAMETERS      (1 << 21)
+
+/* API definitions. */
+#define gcvZONE_API_HAL         (1 << 28)
+#define gcvZONE_API_EGL         (2 << 28)
+#define gcvZONE_API_ES11        (3 << 28)
+#define gcvZONE_API_ES20        (4 << 28)
+#define gcvZONE_API_VG11        (5 << 28)
+#define gcvZONE_API_GL          (6 << 28)
+#define gcvZONE_API_DFB         (7 << 28)
+#define gcvZONE_API_GDI         (8 << 28)
+#define gcvZONE_API_D3D         (9 << 28)
+#define gcvZONE_API_ES30        (10 << 28)
+
+
+#define gcmZONE_GET_API(zone)   ((zone) >> 28)
+/*Set gcdZONE_MASE like 0x0 | gcvZONE_API_EGL
+will enable print EGL module debug info*/
+#define gcdZONE_MASK            0x0FFFFFFF
+
+/* Handy zones. */
+#define gcvZONE_NONE            0
+#define gcvZONE_ALL             0x0FFFFFFF
+
+/*Dump API depth set 1 for API, 2 for API and API behavior*/
+#define gcvDUMP_API_DEPTH       1
+
+/*******************************************************************************
+**
+**  gcmTRACE_ZONE
+**
+**      Print a message to the debugger if the correct level and zone has been
+**      set.  In retail mode this macro does nothing.
+**
+**  ARGUMENTS:
+**
+**      Level   Level of message.
+**      Zone    Zone of message.
+**      Message Message.
+**      ...     Optional arguments.
+*/
+
+void
+gckOS_DebugTraceZone(
+    IN gctUINT32 Level,
+    IN gctUINT32 Zone,
+    IN gctCONST_STRING Message,
+    ...
+    );
+
+void
+gckOS_DebugTraceZoneN(
+    IN gctUINT32 Level,
+    IN gctUINT32 Zone,
+    IN gctUINT ArgumentSize,
+    IN gctCONST_STRING Message,
+    ...
+    );
+
+void
+gcoOS_DebugTraceZone(
+    IN gctUINT32 Level,
+    IN gctUINT32 Zone,
+    IN gctCONST_STRING Message,
+    ...
+    );
+
+#if gcmIS_DEBUG(gcdDEBUG_TRACE)
+#   define gcmTRACE_ZONE            gcoOS_DebugTraceZone
+#   define gcmkTRACE_ZONE           gckOS_DebugTraceZone
+#   define gcmkTRACE_ZONE_N         gckOS_DebugTraceZoneN
+#elif gcdHAS_ELLIPSES
+#   define gcmTRACE_ZONE(...)
+#   define gcmkTRACE_ZONE(...)
+#   define gcmkTRACE_ZONE_N(...)
+#else
+    gcmINLINE static void
+    __dummy_trace_zone(
+        IN gctUINT32 Level,
+        IN gctUINT32 Zone,
+        IN gctCONST_STRING Message,
+        ...
+        )
+    {
+    }
+
+    gcmINLINE static void
+    __dummy_trace_zone_n(
+        IN gctUINT32 Level,
+        IN gctUINT32 Zone,
+        IN gctUINT ArgumentSize,
+        IN gctCONST_STRING Message,
+        ...
+        )
+    {
+    }
+
+#   define gcmTRACE_ZONE            __dummy_trace_zone
+#   define gcmkTRACE_ZONE           __dummy_trace_zone
+#   define gcmkTRACE_ZONE_N         __dummy_trace_zone_n
+#endif
+
+/*******************************************************************************
+**
+**  gcmDEBUG_ONLY
+**
+**      Execute a statement or function only in DEBUG mode.
+**
+**  ARGUMENTS:
+**
+**      f       Statement or function to execute.
+*/
+#if gcmIS_DEBUG(gcdDEBUG_CODE)
+#   define gcmDEBUG_ONLY(f)         f
+#else
+#   define gcmDEBUG_ONLY(f)
+#endif
+
+/*******************************************************************************
+**
+**  gcmSTACK_PUSH
+**  gcmSTACK_POP
+**  gcmSTACK_DUMP
+**
+**      Push or pop a function with entry arguments on the trace stack.
+**
+**  ARGUMENTS:
+**
+**      Function    Name of function.
+**      Line        Line number.
+**      Text        Optional text.
+**      ...         Optional arguments for text.
+*/
+#if gcmIS_DEBUG(gcdDEBUG_STACK)
+    void
+    gcoOS_StackPush(
+        IN gctCONST_STRING Function,
+        IN gctINT Line,
+        IN gctCONST_STRING Text,
+        ...
+        );
+    void
+    gcoOS_StackPop(
+        IN gctCONST_STRING Function
+        );
+    void
+    gcoOS_StackDump(
+        void
+        );
+#   define gcmSTACK_PUSH            gcoOS_StackPush
+#   define gcmSTACK_POP             gcoOS_StackPop
+#   define gcmSTACK_DUMP            gcoOS_StackDump
+#elif gcdHAS_ELLIPSES
+#   define gcmSTACK_PUSH(...)       do { } while (0)
+#   define gcmSTACK_POP(Function)   do { } while (0)
+#   define gcmSTACK_DUMP()          do { } while (0)
+#else
+    gcmINLINE static void
+    __dummy_stack_push(
+        IN gctCONST_STRING Function,
+        IN gctINT Line,
+        IN gctCONST_STRING Text, ...
+        )
+    {
+    }
+#   define gcmSTACK_PUSH            __dummy_stack_push
+#   define gcmSTACK_POP(Function)   do { } while (0)
+#   define gcmSTACK_DUMP()          do { } while (0)
+#endif
+
+/******************************************************************************\
+******************************** Logging Macros ********************************
+\******************************************************************************/
+
+#define gcdHEADER_LEVEL             gcvLEVEL_VERBOSE
+
+
+#if gcdENABLE_PROFILING
+void
+gcoOS_ProfileDB(
+    IN gctCONST_STRING Function,
+    IN OUT gctBOOL_PTR Initialized
+    );
+
+#define gcmHEADER() \
+    static gctBOOL __profile__initialized__ = gcvFALSE; \
+    gcmSTACK_PUSH(__FUNCTION__, __LINE__, gcvNULL, gcvNULL); \
+    gcoOS_ProfileDB(__FUNCTION__, &__profile__initialized__)
+#define gcmHEADER_ARG(...) \
+    static gctBOOL __profile__initialized__ = gcvFALSE; \
+    gcmSTACK_PUSH(__FUNCTION__, __LINE__, Text, __VA_ARGS__); \
+    gcoOS_ProfileDB(__FUNCTION__, &__profile__initialized__)
+#define gcmFOOTER() \
+    gcmSTACK_POP(__FUNCTION__); \
+    gcoOS_ProfileDB(__FUNCTION__, gcvNULL)
+#define gcmFOOTER_NO() \
+    gcmSTACK_POP(__FUNCTION__); \
+    gcoOS_ProfileDB(__FUNCTION__, gcvNULL)
+#define gcmFOOTER_ARG(...) \
+    gcmSTACK_POP(__FUNCTION__); \
+    gcoOS_ProfileDB(__FUNCTION__, gcvNULL)
+#define gcmFOOTER_KILL() \
+    gcmSTACK_POP(__FUNCTION__); \
+    gcoOS_ProfileDB(gcvNULL, gcvNULL)
+
+#else /* gcdENABLE_PROFILING */
+
+#if gcdHAS_ELLIPSES
+#define gcmHEADER() \
+    gctINT8 __user__ = 1; \
+    gctINT8_PTR __user_ptr__ = &__user__; \
+    gcmSTACK_PUSH(__FUNCTION__, __LINE__, gcvNULL, gcvNULL); \
+    gcmTRACE_ZONE(gcdHEADER_LEVEL, _GC_OBJ_ZONE, \
+                  "++%s(%d)", __FUNCTION__, __LINE__)
+#else
+    gcmINLINE static void
+    __dummy_header(void)
+    {
+    }
+#   define gcmHEADER                   __dummy_header
+#endif
+
+#if gcdHAS_ELLIPSES
+#   define gcmHEADER_ARG(Text, ...) \
+        gctINT8 __user__ = 1; \
+        gctINT8_PTR __user_ptr__ = &__user__; \
+        gcmSTACK_PUSH(__FUNCTION__, __LINE__, Text, __VA_ARGS__); \
+        gcmTRACE_ZONE(gcdHEADER_LEVEL, _GC_OBJ_ZONE, \
+                      "++%s(%d): " Text, __FUNCTION__, __LINE__, __VA_ARGS__)
+#else
+    gcmINLINE static void
+    __dummy_header_arg(
+        IN gctCONST_STRING Text,
+        ...
+        )
+    {
+    }
+#   define gcmHEADER_ARG                __dummy_header_arg
+#endif
+
+#if gcdHAS_ELLIPSES
+#   define gcmFOOTER() \
+    gcmSTACK_POP(__FUNCTION__); \
+    gcmPROFILE_ONLY(gcmTRACE_ZONE(gcdHEADER_LEVEL, _GC_OBJ_ZONE, \
+                                  "--%s(%d) [%llu,%llu]: status=%d(%s)", \
+                                  __FUNCTION__, __LINE__, \
+                                  __ticks__, __total__, \
+                                  status, gcoOS_DebugStatus2Name(status))); \
+    gcmPROFILE_ELSE(gcmTRACE_ZONE(gcdHEADER_LEVEL, _GC_OBJ_ZONE, \
+                                  "--%s(%d): status=%d(%s)", \
+                                  __FUNCTION__, __LINE__, \
+                                  status, gcoOS_DebugStatus2Name(status))); \
+    *__user_ptr__ -= 1
+#else
+    gcmINLINE static void
+    __dummy_footer(void)
+    {
+    }
+#   define gcmFOOTER                    __dummy_footer
+#endif
+
+#if gcdHAS_ELLIPSES
+#define gcmFOOTER_NO() \
+    gcmSTACK_POP(__FUNCTION__); \
+    gcmTRACE_ZONE(gcdHEADER_LEVEL, _GC_OBJ_ZONE, \
+                  "--%s(%d)", __FUNCTION__, __LINE__); \
+    *__user_ptr__ -= 1
+#else
+    gcmINLINE static void
+    __dummy_footer_no(void)
+    {
+    }
+#   define gcmFOOTER_NO                 __dummy_footer_no
+#endif
+
+#if gcdHAS_ELLIPSES
+#define gcmFOOTER_KILL() \
+    gcmSTACK_POP(__FUNCTION__); \
+    gcmTRACE_ZONE(gcdHEADER_LEVEL, _GC_OBJ_ZONE, \
+                  "--%s(%d)", __FUNCTION__, __LINE__); \
+    *__user_ptr__ -= 1
+#else
+    gcmINLINE static void
+    __dummy_footer_kill(void)
+    {
+    }
+#   define gcmFOOTER_KILL               __dummy_footer_kill
+#endif
+
+#if gcdHAS_ELLIPSES
+#   define gcmFOOTER_ARG(Text, ...) \
+        gcmSTACK_POP(__FUNCTION__); \
+        gcmTRACE_ZONE(gcdHEADER_LEVEL, _GC_OBJ_ZONE, \
+                      "--%s(%d): " Text, __FUNCTION__, __LINE__, __VA_ARGS__); \
+        *__user_ptr__ -= 1
+#else
+    gcmINLINE static void
+    __dummy_footer_arg(
+        IN gctCONST_STRING Text,
+        ...
+        )
+    {
+    }
+#   define gcmFOOTER_ARG                __dummy_footer_arg
+#endif
+
+#endif /* gcdENABLE_PROFILING */
+
+#if gcdHAS_ELLIPSES
+#define gcmkHEADER() \
+    gctINT8 __kernel__ = 1; \
+    gctINT8_PTR __kernel_ptr__ = &__kernel__; \
+    gcmkTRACE_ZONE(gcdHEADER_LEVEL, _GC_OBJ_ZONE, \
+                   "++%s(%d)", __FUNCTION__, __LINE__)
+#else
+    gcmINLINE static void
+    __dummy_kheader(void)
+    {
+    }
+#   define gcmkHEADER                  __dummy_kheader
+#endif
+
+#if gcdHAS_ELLIPSES
+#   define gcmkHEADER_ARG(Text, ...) \
+        gctINT8 __kernel__ = 1; \
+        gctINT8_PTR __kernel_ptr__ = &__kernel__; \
+        gcmkTRACE_ZONE(gcdHEADER_LEVEL, _GC_OBJ_ZONE, \
+                       "++%s(%d): " Text, __FUNCTION__, __LINE__, __VA_ARGS__)
+#else
+    gcmINLINE static void
+    __dummy_kheader_arg(
+        IN gctCONST_STRING Text,
+        ...
+        )
+    {
+    }
+#   define gcmkHEADER_ARG               __dummy_kheader_arg
+#endif
+
+#if gcdHAS_ELLIPSES
+#define gcmkFOOTER() \
+    gcmkTRACE_ZONE(gcdHEADER_LEVEL, _GC_OBJ_ZONE, \
+                   "--%s(%d): status=%d(%s)", \
+                   __FUNCTION__, __LINE__, status, gckOS_DebugStatus2Name(status)); \
+    *__kernel_ptr__ -= 1
+#else
+    gcmINLINE static void
+    __dummy_kfooter(void)
+    {
+    }
+#   define gcmkFOOTER                   __dummy_kfooter
+#endif
+
+#if gcdHAS_ELLIPSES
+#define gcmkFOOTER_NO() \
+    gcmkTRACE_ZONE(gcdHEADER_LEVEL, _GC_OBJ_ZONE, \
+                   "--%s(%d)", __FUNCTION__, __LINE__); \
+    *__kernel_ptr__ -= 1
+#else
+    gcmINLINE static void
+    __dummy_kfooter_no(void)
+    {
+    }
+#   define gcmkFOOTER_NO                __dummy_kfooter_no
+#endif
+
+#if gcdHAS_ELLIPSES
+#   define gcmkFOOTER_ARG(Text, ...) \
+        gcmkTRACE_ZONE(gcdHEADER_LEVEL, _GC_OBJ_ZONE, \
+                       "--%s(%d): " Text, \
+                       __FUNCTION__, __LINE__, __VA_ARGS__); \
+        *__kernel_ptr__ -= 1
+#else
+    gcmINLINE static void
+    __dummy_kfooter_arg(
+        IN gctCONST_STRING Text,
+        ...
+        )
+    {
+    }
+#   define gcmkFOOTER_ARG               __dummy_kfooter_arg
+#endif
+
+#define gcmOPT_VALUE(ptr)               (((ptr) == gcvNULL) ? 0 : *(ptr))
+#define gcmOPT_VALUE_INDEX(ptr, index)  (((ptr) == gcvNULL) ? 0 : ptr[index])
+#define gcmOPT_POINTER(ptr)             (((ptr) == gcvNULL) ? gcvNULL : *(ptr))
+#define gcmOPT_STRING(ptr)              (((ptr) == gcvNULL) ? "(nil)" : (ptr))
+
+void
+gckOS_Print(
+    IN gctCONST_STRING Message,
+    ...
+    );
+
+void
+gckOS_PrintN(
+    IN gctUINT ArgumentSize,
+    IN gctCONST_STRING Message,
+    ...
+    );
+
+void
+gckOS_CopyPrint(
+    IN gctCONST_STRING Message,
+    ...
+    );
+
+void
+gcoOS_Print(
+    IN gctCONST_STRING Message,
+    ...
+    );
+
+#define gcmPRINT                gcoOS_Print
+#define gcmkPRINT               gckOS_Print
+#define gcmkPRINT_N             gckOS_PrintN
+
+#if gcdPRINT_VERSION
+#   define gcmPRINT_VERSION()       do { \
+                                        _gcmPRINT_VERSION(gcm); \
+                                        gcmSTACK_DUMP(); \
+                                    } while (0)
+#   define gcmkPRINT_VERSION()      _gcmPRINT_VERSION(gcmk)
+#   define _gcmPRINT_VERSION(prefix) \
+        prefix##TRACE(gcvLEVEL_ERROR, \
+                      "Vivante HAL version %d.%d.%d build %d  %s  %s", \
+                      gcvVERSION_MAJOR, gcvVERSION_MINOR, gcvVERSION_PATCH, \
+                      gcvVERSION_BUILD, gcvVERSION_DATE, gcvVERSION_TIME )
+#else
+#   define gcmPRINT_VERSION()       do { gcmSTACK_DUMP(); } while (gcvFALSE)
+#   define gcmkPRINT_VERSION()      do { } while (gcvFALSE)
+#endif
+
+typedef enum _gceDUMP_BUFFER
+{
+    gceDUMP_BUFFER_CONTEXT,
+    gceDUMP_BUFFER_USER,
+    gceDUMP_BUFFER_KERNEL,
+    gceDUMP_BUFFER_LINK,
+    gceDUMP_BUFFER_WAITLINK,
+    gceDUMP_BUFFER_FROM_USER,
+}
+gceDUMP_BUFFER;
+
+void
+gckOS_DumpBuffer(
+    IN gckOS Os,
+    IN gctPOINTER Buffer,
+    IN gctUINT Size,
+    IN gceDUMP_BUFFER Type,
+    IN gctBOOL CopyMessage
+    );
+
+#define gcmkDUMPBUFFER          gckOS_DumpBuffer
+
+#if gcdDUMP_COMMAND
+#   define gcmkDUMPCOMMAND(Os, Buffer, Size, Type, CopyMessage) \
+        gcmkDUMPBUFFER(Os, Buffer, Size, Type, CopyMessage)
+#else
+#   define gcmkDUMPCOMMAND(Os, Buffer, Size, Type, CopyMessage)
+#endif
+
+#if gcmIS_DEBUG(gcdDEBUG_CODE)
+
+void
+gckOS_DebugFlush(
+    gctCONST_STRING CallerName,
+    gctUINT LineNumber,
+    gctUINT32 DmaAddress
+    );
+
+#   define gcmkDEBUGFLUSH(DmaAddress) \
+        gckOS_DebugFlush(__FUNCTION__, __LINE__, DmaAddress)
+#else
+#   define gcmkDEBUGFLUSH(DmaAddress)
+#endif
+
+/*******************************************************************************
+**
+**  gcmDUMP_FRAMERATE
+**
+**      Print average frame rate
+**
+*/
+#if gcdDUMP_FRAMERATE
+    gceSTATUS
+    gcfDumpFrameRate(
+        void
+    );
+#   define gcmDUMP_FRAMERATE        gcfDumpFrameRate
+#elif gcdHAS_ELLIPSES
+#   define gcmDUMP_FRAMERATE(...)
+#else
+    gcmINLINE static void
+    __dummy_dump_frame_rate(
+        void
+        )
+    {
+    }
+#   define gcmDUMP_FRAMERATE        __dummy_dump_frame_rate
+#endif
+
+
+/*******************************************************************************
+**
+**  gcmDUMP
+**
+**      Print a dump message.
+**
+**  ARGUMENTS:
+**
+**      gctSTRING   Message.
+**
+**      ...         Optional arguments.
+*/
+#if gcdDUMP
+    gceSTATUS
+    gcfDump(
+        IN gcoOS Os,
+        IN gctCONST_STRING String,
+        ...
+        );
+#  define gcmDUMP               gcfDump
+#elif gcdHAS_ELLIPSES
+#  define gcmDUMP(...)
+#else
+    gcmINLINE static void
+    __dummy_dump(
+        IN gcoOS Os,
+        IN gctCONST_STRING Message,
+        ...
+        )
+    {
+    }
+#  define gcmDUMP               __dummy_dump
+#endif
+
+/*******************************************************************************
+**
+**  gcmDUMP_DATA
+**
+**      Add data to the dump.
+**
+**  ARGUMENTS:
+**
+**      gctSTRING Tag
+**          Tag for dump.
+**
+**      gctPOINTER Logical
+**          Logical address of buffer.
+**
+**      gctSIZE_T Bytes
+**          Number of bytes.
+*/
+
+#if gcdDUMP || gcdDUMP_COMMAND
+    gceSTATUS
+    gcfDumpData(
+        IN gcoOS Os,
+        IN gctSTRING Tag,
+        IN gctPOINTER Logical,
+        IN gctSIZE_T Bytes
+        );
+#  define gcmDUMP_DATA          gcfDumpData
+#elif gcdHAS_ELLIPSES
+#  define gcmDUMP_DATA(...)
+#else
+    gcmINLINE static void
+    __dummy_dump_data(
+        IN gcoOS Os,
+        IN gctSTRING Tag,
+        IN gctPOINTER Logical,
+        IN gctSIZE_T Bytes
+        )
+    {
+    }
+#  define gcmDUMP_DATA          __dummy_dump_data
+#endif
+
+/*******************************************************************************
+**
+**  gcmDUMP_BUFFER
+**
+**      Print a buffer to the dump.
+**
+**  ARGUMENTS:
+**
+**      gctSTRING Tag
+**          Tag for dump.
+**
+**      gctUINT32 Physical
+**          Physical address of buffer.
+**
+**      gctPOINTER Logical
+**          Logical address of buffer.
+**
+**      gctUINT32 Offset
+**          Offset into buffer.
+**
+**      gctSIZE_T Bytes
+**          Number of bytes.
+*/
+
+#if gcdDUMP || gcdDUMP_COMMAND
+gceSTATUS
+gcfDumpBuffer(
+    IN gcoOS Os,
+    IN gctSTRING Tag,
+    IN gctUINT32 Physical,
+    IN gctPOINTER Logical,
+    IN gctUINT32 Offset,
+    IN gctSIZE_T Bytes
+    );
+#   define gcmDUMP_BUFFER       gcfDumpBuffer
+#elif gcdHAS_ELLIPSES
+#   define gcmDUMP_BUFFER(...)
+#else
+    gcmINLINE static void
+    __dummy_dump_buffer(
+        IN gcoOS Os,
+        IN gctSTRING Tag,
+        IN gctUINT32 Physical,
+        IN gctPOINTER Logical,
+        IN gctUINT32 Offset,
+        IN gctSIZE_T Bytes
+        )
+    {
+    }
+#   define gcmDUMP_BUFFER       __dummy_dump_buffer
+#endif
+
+/*******************************************************************************
+**
+**  gcmDUMP_API
+**
+**      Print a dump message for a high level API prefixed by the function name.
+**
+**  ARGUMENTS:
+**
+**      gctSTRING   Message.
+**
+**      ...         Optional arguments.
+*/
+gceSTATUS gcfDumpApi(IN gctCONST_STRING String, ...);
+#if gcdDUMP_API
+#   define gcmDUMP_API           gcfDumpApi
+#elif gcdHAS_ELLIPSES
+#   define gcmDUMP_API(...)
+#else
+    gcmINLINE static void
+    __dummy_dump_api(
+        IN gctCONST_STRING Message,
+        ...
+        )
+    {
+    }
+#  define gcmDUMP_API           __dummy_dump_api
+#endif
+
+/*******************************************************************************
+**
+**  gcmDUMP_API_ARRAY
+**
+**      Print an array of data.
+**
+**  ARGUMENTS:
+**
+**      gctUINT32_PTR   Pointer to array.
+**      gctUINT32       Size.
+*/
+gceSTATUS gcfDumpArray(IN gctCONST_POINTER Data, IN gctUINT32 Size);
+#if gcdDUMP_API
+#   define gcmDUMP_API_ARRAY        gcfDumpArray
+#elif gcdHAS_ELLIPSES
+#   define gcmDUMP_API_ARRAY(...)
+#else
+    gcmINLINE static void
+    __dummy_dump_api_array(
+        IN gctCONST_POINTER Data,
+        IN gctUINT32 Size
+        )
+    {
+    }
+#   define gcmDUMP_API_ARRAY        __dummy_dump_api_array
+#endif
+
+/*******************************************************************************
+**
+**  gcmDUMP_API_ARRAY_TOKEN
+**
+**      Print an array of data terminated by a token.
+**
+**  ARGUMENTS:
+**
+**      gctUINT32_PTR   Pointer to array.
+**      gctUINT32       Termination.
+*/
+gceSTATUS gcfDumpArrayToken(IN gctCONST_POINTER Data, IN gctUINT32 Termination);
+#if gcdDUMP_API
+#   define gcmDUMP_API_ARRAY_TOKEN  gcfDumpArrayToken
+#elif gcdHAS_ELLIPSES
+#   define gcmDUMP_API_ARRAY_TOKEN(...)
+#else
+    gcmINLINE static void
+    __dummy_dump_api_array_token(
+        IN gctCONST_POINTER Data,
+        IN gctUINT32 Termination
+        )
+    {
+    }
+#   define gcmDUMP_API_ARRAY_TOKEN  __dummy_dump_api_array_token
+#endif
+
+/*******************************************************************************
+**
+**  gcmDUMP_API_DATA
+**
+**      Print an array of bytes.
+**
+**  ARGUMENTS:
+**
+**      gctCONST_POINTER    Pointer to array.
+**      gctSIZE_T           Size.
+*/
+gceSTATUS gcfDumpApiData(IN gctCONST_POINTER Data, IN gctSIZE_T Size);
+#if gcdDUMP_API
+#   define gcmDUMP_API_DATA         gcfDumpApiData
+#elif gcdHAS_ELLIPSES
+#   define gcmDUMP_API_DATA(...)
+#else
+    gcmINLINE static void
+    __dummy_dump_api_data(
+        IN gctCONST_POINTER Data,
+        IN gctSIZE_T Size
+        )
+    {
+    }
+#   define gcmDUMP_API_DATA         __dummy_dump_api_data
+#endif
+
+/*******************************************************************************
+**
+**  gcmTRACE_RELEASE
+**
+**      Print a message to the shader debugger.
+**
+**  ARGUMENTS:
+**
+**      message Message.
+**      ...     Optional arguments.
+*/
+
+#define gcmTRACE_RELEASE                gcoOS_DebugShaderTrace
+
+void
+gcoOS_DebugShaderTrace(
+    IN gctCONST_STRING Message,
+    ...
+    );
+
+void
+gcoOS_SetDebugShaderFiles(
+    IN gctCONST_STRING VSFileName,
+    IN gctCONST_STRING FSFileName
+    );
+
+void
+gcoOS_SetDebugShaderFileType(
+    IN gctUINT32 ShaderType
+    );
+
+void
+gcoOS_EnableDebugBuffer(
+    IN gctBOOL Enable
+    );
+
+/*******************************************************************************
+**
+**  gcmBREAK
+**
+**      Break into the debugger.  In retail mode this macro does nothing.
+**
+**  ARGUMENTS:
+**
+**      None.
+*/
+
+void
+gcoOS_DebugBreak(
+    void
+    );
+
+void
+gckOS_DebugBreak(
+    void
+    );
+
+#if gcmIS_DEBUG(gcdDEBUG_BREAK)
+#   define gcmBREAK             gcoOS_DebugBreak
+#   define gcmkBREAK            gckOS_DebugBreak
+#else
+#   define gcmBREAK()
+#   define gcmkBREAK()
+#endif
+
+/*******************************************************************************
+**
+**  gcmASSERT
+**
+**      Evaluate an expression and break into the debugger if the expression
+**      evaluates to false.  In retail mode this macro does nothing.
+**
+**  ARGUMENTS:
+**
+**      exp     Expression to evaluate.
+*/
+#if gcmIS_DEBUG(gcdDEBUG_ASSERT)
+#   define _gcmASSERT(prefix, exp) \
+        do \
+        { \
+            if (!(exp)) \
+            { \
+                prefix##TRACE(gcvLEVEL_ERROR, \
+                              #prefix "ASSERT at %s(%d)", \
+                              __FUNCTION__, __LINE__); \
+                prefix##TRACE(gcvLEVEL_ERROR, \
+                              "(%s)", #exp); \
+                prefix##BREAK(); \
+            } \
+        } \
+        while (gcvFALSE)
+#   define gcmASSERT(exp)           _gcmASSERT(gcm, exp)
+#   define gcmkASSERT(exp)          _gcmASSERT(gcmk, exp)
+#else
+#   define gcmASSERT(exp)
+#   define gcmkASSERT(exp)
+#endif
+
+/*******************************************************************************
+**
+**  gcmVERIFY
+**
+**      Verify if an expression returns true.  If the expression does not
+**      evaluates to true, an assertion will happen in debug mode.
+**
+**  ARGUMENTS:
+**
+**      exp     Expression to evaluate.
+*/
+#if gcmIS_DEBUG(gcdDEBUG_ASSERT)
+#   define gcmVERIFY(exp)           gcmASSERT(exp)
+#   define gcmkVERIFY(exp)          gcmkASSERT(exp)
+#else
+#   define gcmVERIFY(exp)           exp
+#   define gcmkVERIFY(exp)          exp
+#endif
+
+/*******************************************************************************
+**
+**  gcmVERIFY_OK
+**
+**      Verify a fucntion returns gcvSTATUS_OK.  If the function does not return
+**      gcvSTATUS_OK, an assertion will happen in debug mode.
+**
+**  ARGUMENTS:
+**
+**      func    Function to evaluate.
+*/
+
+void
+gcoOS_Verify(
+    IN gceSTATUS status
+    );
+
+void
+gckOS_Verify(
+    IN gceSTATUS status
+    );
+
+#if gcmIS_DEBUG(gcdDEBUG_ASSERT)
+#   define gcmVERIFY_OK(func) \
+        do \
+        { \
+            gceSTATUS verifyStatus = func; \
+            gcoOS_Verify(verifyStatus); \
+            if (verifyStatus != gcvSTATUS_OK) \
+            { \
+                gcmTRACE( \
+                    gcvLEVEL_ERROR, \
+                    "gcmVERIFY_OK(%d): function returned %d", \
+                    __LINE__, verifyStatus \
+                    ); \
+            } \
+            gcmASSERT(verifyStatus == gcvSTATUS_OK); \
+        } \
+        while (gcvFALSE)
+#   define gcmkVERIFY_OK(func) \
+        do \
+        { \
+            gceSTATUS verifyStatus = func; \
+            if (verifyStatus != gcvSTATUS_OK) \
+            { \
+                gcmkTRACE( \
+                    gcvLEVEL_ERROR, \
+                    "gcmkVERIFY_OK(%d): function returned %d", \
+                    __LINE__, verifyStatus \
+                    ); \
+            } \
+            gckOS_Verify(verifyStatus); \
+            gcmkASSERT(verifyStatus == gcvSTATUS_OK); \
+        } \
+        while (gcvFALSE)
+#else
+#   define gcmVERIFY_OK(func)       func
+#   define gcmkVERIFY_OK(func)      func
+#endif
+
+gctCONST_STRING
+gcoOS_DebugStatus2Name(
+    gceSTATUS status
+    );
+
+gctCONST_STRING
+gckOS_DebugStatus2Name(
+    gceSTATUS status
+    );
+
+/*******************************************************************************
+**
+**  gcmERR_BREAK
+**
+**      Executes a break statement on error.
+**
+**  ASSUMPTIONS:
+**
+**      'status' variable of gceSTATUS type must be defined.
+**
+**  ARGUMENTS:
+**
+**      func    Function to evaluate.
+*/
+#define _gcmERR_BREAK(prefix, func) \
+    status = func; \
+    if (gcmIS_ERROR(status)) \
+    { \
+        prefix##PRINT_VERSION(); \
+        prefix##TRACE(gcvLEVEL_ERROR, \
+            #prefix "ERR_BREAK: status=%d(%s) @ %s(%d)", \
+            status, gcoOS_DebugStatus2Name(status), __FUNCTION__, __LINE__); \
+        break; \
+    } \
+    do { } while (gcvFALSE)
+#define _gcmkERR_BREAK(prefix, func) \
+    status = func; \
+    if (gcmIS_ERROR(status)) \
+    { \
+        prefix##PRINT_VERSION(); \
+        prefix##TRACE(gcvLEVEL_ERROR, \
+            #prefix "ERR_BREAK: status=%d(%s) @ %s(%d)", \
+            status, gckOS_DebugStatus2Name(status), __FUNCTION__, __LINE__); \
+        break; \
+    } \
+    do { } while (gcvFALSE)
+#define gcmERR_BREAK(func)          _gcmERR_BREAK(gcm, func)
+#define gcmkERR_BREAK(func)         _gcmkERR_BREAK(gcmk, func)
+
+/*******************************************************************************
+**
+**  gcmERR_RETURN
+**
+**      Executes a return on error.
+**
+**  ASSUMPTIONS:
+**
+**      'status' variable of gceSTATUS type must be defined.
+**
+**  ARGUMENTS:
+**
+**      func    Function to evaluate.
+*/
+#define _gcmERR_RETURN(prefix, func) \
+    status = func; \
+    if (gcmIS_ERROR(status)) \
+    { \
+        prefix##PRINT_VERSION(); \
+        prefix##TRACE(gcvLEVEL_ERROR, \
+            #prefix "ERR_RETURN: status=%d(%s) @ %s(%d)", \
+            status, gcoOS_DebugStatus2Name(status), __FUNCTION__, __LINE__); \
+        prefix##FOOTER(); \
+        return status; \
+    } \
+    do { } while (gcvFALSE)
+#define _gcmkERR_RETURN(prefix, func) \
+    status = func; \
+    if (gcmIS_ERROR(status)) \
+    { \
+        prefix##PRINT_VERSION(); \
+        prefix##TRACE(gcvLEVEL_ERROR, \
+            #prefix "ERR_RETURN: status=%d(%s) @ %s(%d)", \
+            status, gckOS_DebugStatus2Name(status), __FUNCTION__, __LINE__); \
+        prefix##FOOTER(); \
+        return status; \
+    } \
+    do { } while (gcvFALSE)
+#define gcmERR_RETURN(func)         _gcmERR_RETURN(gcm, func)
+#define gcmkERR_RETURN(func)        _gcmkERR_RETURN(gcmk, func)
+
+
+/*******************************************************************************
+**
+**  gcmONERROR
+**
+**      Jump to the error handler in case there is an error.
+**
+**  ASSUMPTIONS:
+**
+**      'status' variable of gceSTATUS type must be defined.
+**
+**  ARGUMENTS:
+**
+**      func    Function to evaluate.
+*/
+#define _gcmONERROR(prefix, func) \
+    do \
+    { \
+        status = func; \
+        if (gcmIS_ERROR(status)) \
+        { \
+            prefix##PRINT_VERSION(); \
+            prefix##TRACE(gcvLEVEL_ERROR, \
+                #prefix "ONERROR: status=%d(%s) @ %s(%d)", \
+                status, gcoOS_DebugStatus2Name(status), __FUNCTION__, __LINE__); \
+            goto OnError; \
+        } \
+    } \
+    while (gcvFALSE)
+#define _gcmkONERROR(prefix, func) \
+    do \
+    { \
+        status = func; \
+        if (gcmIS_ERROR(status)) \
+        { \
+            prefix##PRINT_VERSION(); \
+            prefix##TRACE(gcvLEVEL_ERROR, \
+                #prefix "ONERROR: status=%d(%s) @ %s(%d)", \
+                status, gckOS_DebugStatus2Name(status), __FUNCTION__, __LINE__); \
+            goto OnError; \
+        } \
+    } \
+    while (gcvFALSE)
+#define gcmONERROR(func)            _gcmONERROR(gcm, func)
+#define gcmkONERROR(func)           _gcmkONERROR(gcmk, func)
+
+/*******************************************************************************
+**
+**  gcmVERIFY_LOCK
+**
+**      Verifies whether the surface is locked.
+**
+**  ARGUMENTS:
+**
+**      surfaceInfo Pointer to the surface iniformational structure.
+*/
+#define gcmVERIFY_LOCK(surfaceInfo) \
+    if (!surfaceInfo->node.valid) \
+    { \
+        gcmONERROR(gcvSTATUS_MEMORY_UNLOCKED); \
+    } \
+
+/*******************************************************************************
+**
+**  gcmVERIFY_NODE_LOCK
+**
+**      Verifies whether the surface node is locked.
+**
+**  ARGUMENTS:
+**
+**      surfaceInfo Pointer to the surface iniformational structure.
+*/
+#define gcmVERIFY_NODE_LOCK(surfaceNode) \
+    if (!(surfaceNode)->valid) \
+    { \
+        status = gcvSTATUS_MEMORY_UNLOCKED; \
+        break; \
+    } \
+    do { } while (gcvFALSE)
+
+/*******************************************************************************
+**
+**  gcmBADOBJECT_BREAK
+**
+**      Executes a break statement on bad object.
+**
+**  ARGUMENTS:
+**
+**      obj     Object to test.
+**      t       Expected type of the object.
+*/
+#define gcmBADOBJECT_BREAK(obj, t) \
+    if ((obj == gcvNULL) \
+    ||  (((gcsOBJECT *)(obj))->type != t) \
+    ) \
+    { \
+        status = gcvSTATUS_INVALID_OBJECT; \
+        break; \
+    } \
+    do { } while (gcvFALSE)
+
+/*******************************************************************************
+**
+**  gcmCHECK_STATUS
+**
+**      Executes a break statement on error.
+**
+**  ASSUMPTIONS:
+**
+**      'status' variable of gceSTATUS type must be defined.
+**
+**  ARGUMENTS:
+**
+**      func    Function to evaluate.
+*/
+#define _gcmCHECK_STATUS(prefix, func) \
+    do \
+    { \
+        last = func; \
+        if (gcmIS_ERROR(last)) \
+        { \
+            prefix##TRACE(gcvLEVEL_ERROR, \
+                #prefix "CHECK_STATUS: status=%d(%s) @ %s(%d)", \
+                last, gcoOS_DebugStatus2Name(last), __FUNCTION__, __LINE__); \
+            status = last; \
+        } \
+    } \
+    while (gcvFALSE)
+#define _gcmkCHECK_STATUS(prefix, func) \
+    do \
+    { \
+        last = func; \
+        if (gcmIS_ERROR(last)) \
+        { \
+            prefix##TRACE(gcvLEVEL_ERROR, \
+                #prefix "CHECK_STATUS: status=%d(%s) @ %s(%d)", \
+                last, gckOS_DebugStatus2Name(last), __FUNCTION__, __LINE__); \
+            status = last; \
+        } \
+    } \
+    while (gcvFALSE)
+#define gcmCHECK_STATUS(func)       _gcmCHECK_STATUS(gcm, func)
+#define gcmkCHECK_STATUS(func)      _gcmkCHECK_STATUS(gcmk, func)
+
+/*******************************************************************************
+**
+**  gcmVERIFY_ARGUMENT
+**
+**      Assert if an argument does not apply to the specified expression.  If
+**      the argument evaluates to false, gcvSTATUS_INVALID_ARGUMENT will be
+**      returned from the current function.  In retail mode this macro does
+**      nothing.
+**
+**  ARGUMENTS:
+**
+**      arg     Argument to evaluate.
+*/
+#   define _gcmVERIFY_ARGUMENT(prefix, arg) \
+       do \
+       { \
+           if (!(arg)) \
+           { \
+               prefix##TRACE(gcvLEVEL_ERROR, #prefix "VERIFY_ARGUMENT failed:"); \
+               prefix##ASSERT(arg); \
+               prefix##FOOTER_ARG("status=%d", gcvSTATUS_INVALID_ARGUMENT); \
+               return gcvSTATUS_INVALID_ARGUMENT; \
+           } \
+       } \
+       while (gcvFALSE)
+#   define gcmVERIFY_ARGUMENT(arg)     _gcmVERIFY_ARGUMENT(gcm, arg)
+#   define gcmkVERIFY_ARGUMENT(arg)    _gcmVERIFY_ARGUMENT(gcmk, arg)
+
+/*******************************************************************************
+**
+**  gcmDEBUG_VERIFY_ARGUMENT
+**
+**      Works just like gcmVERIFY_ARGUMENT, but is only valid in debug mode.
+**      Use this to verify arguments inside non-public API functions.
+*/
+#if gcdDEBUG
+#   define gcmDEBUG_VERIFY_ARGUMENT(arg)    _gcmVERIFY_ARGUMENT(gcm, arg)
+#   define gcmkDEBUG_VERIFY_ARGUMENT(arg)   _gcmkVERIFY_ARGUMENT(gcm, arg)
+#else
+#   define gcmDEBUG_VERIFY_ARGUMENT(arg)
+#   define gcmkDEBUG_VERIFY_ARGUMENT(arg)
+#endif
+
+/*******************************************************************************
+**
+**  gcmVERIFY_ARGUMENT_RETURN
+**
+**      Assert if an argument does not apply to the specified expression.  If
+**      the argument evaluates to false, gcvSTATUS_INVALID_ARGUMENT will be
+**      returned from the current function.  In retail mode this macro does
+**      nothing.
+**
+**  ARGUMENTS:
+**
+**      arg     Argument to evaluate.
+*/
+#   define _gcmVERIFY_ARGUMENT_RETURN(prefix, arg, value) \
+       do \
+       { \
+           if (!(arg)) \
+           { \
+               prefix##TRACE(gcvLEVEL_ERROR, \
+                             #prefix "gcmVERIFY_ARGUMENT_RETURN failed:"); \
+               prefix##ASSERT(arg); \
+               prefix##FOOTER_ARG("value=%d", value); \
+               return value; \
+           } \
+       } \
+       while (gcvFALSE)
+#   define gcmVERIFY_ARGUMENT_RETURN(arg, value) \
+                _gcmVERIFY_ARGUMENT_RETURN(gcm, arg, value)
+#   define gcmkVERIFY_ARGUMENT_RETURN(arg, value) \
+                _gcmVERIFY_ARGUMENT_RETURN(gcmk, arg, value)
+
+#define MAX_LOOP_COUNT 0x7FFFFFFF
+
+/******************************************************************************\
+****************************** User Debug Option ******************************
+\******************************************************************************/
+
+/* User option. */
+typedef enum _gceDEBUG_MSG
+{
+    gcvDEBUG_MSG_NONE,
+    gcvDEBUG_MSG_ERROR,
+    gcvDEBUG_MSG_WARNING
+}
+gceDEBUG_MSG;
+
+typedef struct _gcsUSER_DEBUG_OPTION
+{
+    gceDEBUG_MSG        debugMsg;
+}
+gcsUSER_DEBUG_OPTION;
+
+gcsUSER_DEBUG_OPTION *
+gcGetUserDebugOption(
+    void
+    );
+
+struct _gcoOS_SymbolsList
+{
+    gcePATCH_ID patchId;
+    const char * symList[10];
+};
+
+#if gcdHAS_ELLIPSES
+#define gcmUSER_DEBUG_MSG(level, ...) \
+    do \
+    { \
+        if (level <= gcGetUserDebugOption()->debugMsg) \
+        { \
+            gcoOS_Print(__VA_ARGS__); \
+        } \
+    } while (gcvFALSE)
+
+#define gcmUSER_DEBUG_ERROR_MSG(...)   gcmUSER_DEBUG_MSG(gcvDEBUG_MSG_ERROR, "Error: " __VA_ARGS__)
+#define gcmUSER_DEBUG_WARNING_MSG(...) gcmUSER_DEBUG_MSG(gcvDEBUG_MSG_WARNING, "Warring: " __VA_ARGS__)
+#else
+#define gcmUSER_DEBUG_MSG
+#define gcmUSER_DEBUG_ERROR_MSG
+#define gcmUSER_DEBUG_WARNING_MSG
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __gc_hal_base_h_ */
diff --git a/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_compiler.h b/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_compiler.h
new file mode 100644 (file)
index 0000000..f841370
--- /dev/null
@@ -0,0 +1,4298 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+/*
+**     Include file the defines the front- and back-end compilers, as well as the
+**     objects they use.
+*/
+
+#ifndef __gc_hal_compiler_h_
+#define __gc_hal_compiler_h_
+
+#ifndef VIVANTE_NO_3D
+#include "gc_hal_types.h"
+#include "gc_hal_engine.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef GC_ENABLE_LOADTIME_OPT
+#define GC_ENABLE_LOADTIME_OPT           1
+#endif
+
+#define TEMP_OPT_CONSTANT_TEXLD_COORD    0
+
+#define TEMP_SHADER_PATCH                1
+
+#define TEMP_INLINE_ALL_EXPANSION            1
+/******************************* IR VERSION ******************/
+#define gcdSL_IR_VERSION gcmCC('\0','\0','\0','\1')
+
+/******************************************************************************\
+|******************************* SHADER LANGUAGE ******************************|
+\******************************************************************************/
+
+    /* allocator/deallocator function pointer */
+typedef gceSTATUS (*gctAllocatorFunc)(
+    IN gctSIZE_T Bytes,
+    OUT gctPOINTER * Memory
+    );
+
+typedef gceSTATUS (*gctDeallocatorFunc)(
+    IN gctPOINTER Memory
+    );
+
+typedef gctBOOL (*compareFunc) (
+     IN void *    data,
+     IN void *    key
+     );
+
+typedef struct _gcsListNode gcsListNode;
+struct _gcsListNode
+{
+    gcsListNode *       next;
+    void *              data;
+};
+
+typedef struct _gcsAllocator
+{
+    gctAllocatorFunc    allocate;
+    gctDeallocatorFunc  deallocate;
+} gcsAllocator;
+
+/* simple map structure */
+typedef struct _SimpleMap SimpleMap;
+struct _SimpleMap
+{
+    gctUINT32     key;
+    gctUINT32     val;
+    SimpleMap    *next;
+    gcsAllocator *allocator;
+
+};
+
+/* SimpleMap Operations */
+/* return -1 if not found, otherwise return the mapped value */
+gctUINT32
+gcSimpleMap_Find(
+     IN SimpleMap *Map,
+     IN gctUINT32    Key
+     );
+
+gceSTATUS
+gcSimpleMap_Destory(
+     IN SimpleMap *    Map,
+     IN gcsAllocator * Allocator
+     );
+
+/* Add a pair <Key, Val> to the Map head, the user should be aware that the
+ * map pointer is always changed when adding a new node :
+ *
+ *   gcSimpleMap_AddNode(&theMap, key, val, allocator);
+ *
+ */
+gceSTATUS
+gcSimpleMap_AddNode(
+     IN SimpleMap **   Map,
+     IN gctUINT32      Key,
+     IN gctUINT32      Val,
+     IN gcsAllocator * Allocator
+     );
+
+/* gcsList data structure and related operations */
+typedef struct _gcsList
+{
+    gcsListNode  *head;
+    gcsListNode  *tail;
+    gctINT        count;
+    gcsAllocator *allocator;
+} gcsList;
+
+/* List operations */
+void
+gcList_Init(
+    IN gcsList *list,
+    IN gcsAllocator *allocator
+    );
+
+gceSTATUS
+gcList_CreateNode(
+    IN void *             Data,
+    IN gctAllocatorFunc   Allocator,
+    OUT gcsListNode **    ListNode
+    );
+
+gceSTATUS
+gcList_Clean(
+    IN gcsList *          List,
+    IN gctBOOL            FreeData
+    );
+
+gcsListNode *
+gcList_FindNode(
+    IN gcsList *      List,
+    IN void *         Key,
+    IN compareFunc    compare
+    );
+
+gceSTATUS
+gcList_AddNode(
+    IN gcsList *          List,
+    IN void *             Data
+    );
+
+gceSTATUS
+gcList_RemoveNode(
+    IN gcsList *          List,
+    IN gcsListNode *      Node
+    );
+
+/*  link list structure for code list */
+typedef gcsList gcsCodeList;
+typedef gcsCodeList * gctCodeList;
+typedef gcsListNode gcsCodeListNode;
+
+/* Possible shader language opcodes. */
+typedef enum _gcSL_OPCODE
+{
+       gcSL_NOP,                                                       /* 0x00 */
+       gcSL_MOV,                                                       /* 0x01 */
+       gcSL_SAT,                                                       /* 0x02 */
+       gcSL_DP3,                                                       /* 0x03 */
+       gcSL_DP4,                                                       /* 0x04 */
+       gcSL_ABS,                                                       /* 0x05 */
+       gcSL_JMP,                                                       /* 0x06 */
+       gcSL_ADD,                                                       /* 0x07 */
+       gcSL_MUL,                                                       /* 0x08 */
+       gcSL_RCP,                                                       /* 0x09 */
+       gcSL_SUB,                                                       /* 0x0A */
+       gcSL_KILL,                                                      /* 0x0B */
+       gcSL_TEXLD,                                                     /* 0x0C */
+       gcSL_CALL,                                                      /* 0x0D */
+       gcSL_RET,                                                       /* 0x0E */
+       gcSL_NORM,                                                      /* 0x0F */
+       gcSL_MAX,                                                       /* 0x10 */
+       gcSL_MIN,                                                       /* 0x11 */
+       gcSL_POW,                                                       /* 0x12 */
+       gcSL_RSQ,                                                       /* 0x13 */
+       gcSL_LOG,                                                       /* 0x14 */
+       gcSL_FRAC,                                                      /* 0x15 */
+       gcSL_FLOOR,                                                     /* 0x16 */
+       gcSL_CEIL,                                                      /* 0x17 */
+       gcSL_CROSS,                                                     /* 0x18 */
+       gcSL_TEXLDP,                                            /* 0x19 */
+       gcSL_TEXBIAS,                                           /* 0x1A */
+       gcSL_TEXGRAD,                                           /* 0x1B */
+       gcSL_TEXLOD,                                            /* 0x1C */
+       gcSL_SIN,                                                       /* 0x1D */
+       gcSL_COS,                                                       /* 0x1E */
+       gcSL_TAN,                                                       /* 0x1F */
+       gcSL_EXP,                                                       /* 0x20 */
+       gcSL_SIGN,                                                      /* 0x21 */
+       gcSL_STEP,                                                      /* 0x22 */
+       gcSL_SQRT,                                                      /* 0x23 */
+       gcSL_ACOS,                                                      /* 0x24 */
+       gcSL_ASIN,                                                      /* 0x25 */
+       gcSL_ATAN,                                                      /* 0x26 */
+       gcSL_SET,                                                       /* 0x27 */
+       gcSL_DSX,                                                       /* 0x28 */
+       gcSL_DSY,                                                       /* 0x29 */
+       gcSL_FWIDTH,                                            /* 0x2A */
+       gcSL_DIV,                                               /* 0x2B */
+       gcSL_MOD,                                               /* 0x2C */
+       gcSL_AND_BITWISE,                                       /* 0x2D */
+       gcSL_OR_BITWISE,                                        /* 0x2E */
+       gcSL_XOR_BITWISE,                                       /* 0x2F */
+       gcSL_NOT_BITWISE,                                       /* 0x30 */
+       gcSL_LSHIFT,                                            /* 0x31 */
+       gcSL_RSHIFT,                                            /* 0x32 */
+       gcSL_ROTATE,                                            /* 0x33 */
+       gcSL_BITSEL,                                            /* 0x34 */
+       gcSL_LEADZERO,                                          /* 0x35 */
+       gcSL_LOAD,                                                      /* 0x36 */
+       gcSL_STORE,                                                     /* 0x37 */
+       gcSL_BARRIER,                                           /* 0x38 */
+       gcSL_STORE1,                                            /* 0x39 */
+       gcSL_ATOMADD,                                           /* 0x3A */
+       gcSL_ATOMSUB,                                           /* 0x3B */
+       gcSL_ATOMXCHG,                                          /* 0x3C */
+       gcSL_ATOMCMPXCHG,                                       /* 0x3D */
+       gcSL_ATOMMIN,                                           /* 0x3E */
+       gcSL_ATOMMAX,                                           /* 0x3F */
+       gcSL_ATOMOR,                                            /* 0x40 */
+       gcSL_ATOMAND,                                           /* 0x41 */
+       gcSL_ATOMXOR,                                           /* 0x42 */
+       /*gcSL_UNUSED,                                           0x43 */
+       /*gcSL_UNUSED,                                           0x44 */
+       /*gcSL_UNUSED,                                           0x45 */
+       /*gcSL_UNUSED,                                           0x46 */
+       /*gcSL_UNUSED,                                           0x47 */
+       /*gcSL_UNUSED,                                           0x48 */
+       /*gcSL_UNUSED,                                           0x49 */
+       /*gcSL_UNUSED,                                           0x4A */
+       /*gcSL_UNUSED,                                           0x4B */
+       /*gcSL_UNUSED,                                           0x4C */
+       /*gcSL_UNUSED,                                           0x4D */
+       /*gcSL_UNUSED,                                           0x4E */
+       /*gcSL_UNUSED,                                           0x4F */
+       /*gcSL_UNUSED,                                           0x50 */
+       /*gcSL_UNUSED,                                           0x51 */
+       /*gcSL_UNUSED,                                           0x52 */
+       gcSL_ADDLO = 0x53,                                      /* 0x53 */  /* Float only. */
+       gcSL_MULLO,                                                     /* 0x54 */  /* Float only. */
+       gcSL_CONV,                                                      /* 0x55 */
+       gcSL_GETEXP,                                            /* 0x56 */
+       gcSL_GETMANT,                                           /* 0x57 */
+       gcSL_MULHI,                                                     /* 0x58 */  /* Integer only. */
+       gcSL_CMP,                                                       /* 0x59 */
+       gcSL_I2F,                                                       /* 0x5A */
+       gcSL_F2I,                                                       /* 0x5B */
+       gcSL_ADDSAT,                                            /* 0x5C */  /* Integer only. */
+       gcSL_SUBSAT,                                            /* 0x5D */  /* Integer only. */
+       gcSL_MULSAT,                                            /* 0x5E */  /* Integer only. */
+       gcSL_DP2,                                                       /* 0x5F */
+       gcSL_MAXOPCODE
+}
+gcSL_OPCODE;
+
+typedef enum _gcSL_FORMAT
+{
+       gcSL_FLOAT = 0,                                         /* 0 */
+       gcSL_INTEGER = 1,                                   /* 1 */
+       gcSL_INT32 = 1,                                     /* 1 */
+       gcSL_BOOLEAN = 2,                                       /* 2 */
+       gcSL_UINT32 = 3,                                        /* 3 */
+       gcSL_INT8,                                                  /* 4 */
+       gcSL_UINT8,                                                 /* 5 */
+       gcSL_INT16,                                                 /* 6 */
+       gcSL_UINT16,                                            /* 7 */
+       gcSL_INT64,                                                 /* 8 */     /* Reserved for future enhancement. */
+       gcSL_UINT64,                                            /* 9 */     /* Reserved for future enhancement. */
+       gcSL_INT128,                                        /* 10 */    /* Reserved for future enhancement. */
+       gcSL_UINT128,                                           /* 11 */    /* Reserved for future enhancement. */
+       gcSL_FLOAT16,                                       /* 12 */
+       gcSL_FLOAT64,                                           /* 13 */    /* Reserved for future enhancement. */
+       gcSL_FLOAT128,                                          /* 14 */    /* Reserved for future enhancement. */
+}
+gcSL_FORMAT;
+
+/* Destination write enable bits. */
+typedef enum _gcSL_ENABLE
+{
+    gcSL_ENABLE_NONE                    = 0x0,     /* none is enabled, error/uninitialized state */
+       gcSL_ENABLE_X                                           = 0x1,
+       gcSL_ENABLE_Y                                           = 0x2,
+       gcSL_ENABLE_Z                                           = 0x4,
+       gcSL_ENABLE_W                                           = 0x8,
+       /* Combinations. */
+       gcSL_ENABLE_XY                                          = gcSL_ENABLE_X | gcSL_ENABLE_Y,
+       gcSL_ENABLE_XYZ                                         = gcSL_ENABLE_X | gcSL_ENABLE_Y | gcSL_ENABLE_Z,
+       gcSL_ENABLE_XYZW                                        = gcSL_ENABLE_X | gcSL_ENABLE_Y | gcSL_ENABLE_Z | gcSL_ENABLE_W,
+       gcSL_ENABLE_XYW                                         = gcSL_ENABLE_X | gcSL_ENABLE_Y | gcSL_ENABLE_W,
+       gcSL_ENABLE_XZ                                          = gcSL_ENABLE_X | gcSL_ENABLE_Z,
+       gcSL_ENABLE_XZW                                         = gcSL_ENABLE_X | gcSL_ENABLE_Z | gcSL_ENABLE_W,
+       gcSL_ENABLE_XW                                          = gcSL_ENABLE_X | gcSL_ENABLE_W,
+       gcSL_ENABLE_YZ                                          = gcSL_ENABLE_Y | gcSL_ENABLE_Z,
+       gcSL_ENABLE_YZW                                         = gcSL_ENABLE_Y | gcSL_ENABLE_Z | gcSL_ENABLE_W,
+       gcSL_ENABLE_YW                                          = gcSL_ENABLE_Y | gcSL_ENABLE_W,
+       gcSL_ENABLE_ZW                                          = gcSL_ENABLE_Z | gcSL_ENABLE_W,
+}
+gcSL_ENABLE;
+
+/* Possible indices. */
+typedef enum _gcSL_INDEXED
+{
+       gcSL_NOT_INDEXED,                                       /* 0 */
+       gcSL_INDEXED_X,                                         /* 1 */
+       gcSL_INDEXED_Y,                                         /* 2 */
+       gcSL_INDEXED_Z,                                         /* 3 */
+       gcSL_INDEXED_W,                                         /* 4 */
+}
+gcSL_INDEXED;
+
+/* Opcode conditions. */
+typedef enum _gcSL_CONDITION
+{
+       gcSL_ALWAYS,                                            /* 0x0 */
+       gcSL_NOT_EQUAL,                                         /* 0x1 */
+       gcSL_LESS_OR_EQUAL,                                     /* 0x2 */
+       gcSL_LESS,                                                      /* 0x3 */
+       gcSL_EQUAL,                                                     /* 0x4 */
+       gcSL_GREATER,                                           /* 0x5 */
+       gcSL_GREATER_OR_EQUAL,                          /* 0x6 */
+       gcSL_AND,                                                       /* 0x7 */
+       gcSL_OR,                                                        /* 0x8 */
+       gcSL_XOR,                                                       /* 0x9 */
+    gcSL_NOT_ZERO,                      /* 0xA */
+}
+gcSL_CONDITION;
+
+/* Possible source operand types. */
+typedef enum _gcSL_TYPE
+{
+       gcSL_NONE,                                                      /* 0x0 */
+       gcSL_TEMP,                                                      /* 0x1 */
+       gcSL_ATTRIBUTE,                                         /* 0x2 */
+       gcSL_UNIFORM,                                           /* 0x3 */
+       gcSL_SAMPLER,                                           /* 0x4 */
+       gcSL_CONSTANT,                                          /* 0x5 */
+       gcSL_OUTPUT,                                            /* 0x6 */
+       gcSL_PHYSICAL,                                          /* 0x7 */
+}
+gcSL_TYPE;
+
+/* Swizzle generator macro. */
+#define gcmSWIZZLE(Component1, Component2, Component3, Component4) \
+( \
+       (gcSL_SWIZZLE_ ## Component1 << 0) | \
+       (gcSL_SWIZZLE_ ## Component2 << 2) | \
+       (gcSL_SWIZZLE_ ## Component3 << 4) | \
+       (gcSL_SWIZZLE_ ## Component4 << 6)   \
+)
+
+#define gcmExtractSwizzle(Swizzle, Index) \
+    ((gcSL_SWIZZLE) ((((Swizzle) >> (Index * 2)) & 0x3)))
+
+#define gcmComposeSwizzle(SwizzleX, SwizzleY, SwizzleZ, SwizzleW) \
+( \
+       ((SwizzleX) << 0) | \
+       ((SwizzleY) << 2) | \
+       ((SwizzleZ) << 4) | \
+       ((SwizzleW) << 6)   \
+)
+
+/* Possible swizzle values. */
+typedef enum _gcSL_SWIZZLE
+{
+       gcSL_SWIZZLE_X,                                         /* 0x0 */
+       gcSL_SWIZZLE_Y,                                         /* 0x1 */
+       gcSL_SWIZZLE_Z,                                         /* 0x2 */
+       gcSL_SWIZZLE_W,                                         /* 0x3 */
+       /* Combinations. */
+       gcSL_SWIZZLE_XXXX = gcmSWIZZLE(X, X, X, X),
+       gcSL_SWIZZLE_YYYY = gcmSWIZZLE(Y, Y, Y, Y),
+       gcSL_SWIZZLE_ZZZZ = gcmSWIZZLE(Z, Z, Z, Z),
+       gcSL_SWIZZLE_WWWW = gcmSWIZZLE(W, W, W, W),
+       gcSL_SWIZZLE_XYYY = gcmSWIZZLE(X, Y, Y, Y),
+       gcSL_SWIZZLE_XZZZ = gcmSWIZZLE(X, Z, Z, Z),
+       gcSL_SWIZZLE_XWWW = gcmSWIZZLE(X, W, W, W),
+       gcSL_SWIZZLE_YZZZ = gcmSWIZZLE(Y, Z, Z, Z),
+       gcSL_SWIZZLE_YWWW = gcmSWIZZLE(Y, W, W, W),
+       gcSL_SWIZZLE_ZWWW = gcmSWIZZLE(Z, W, W, W),
+       gcSL_SWIZZLE_XYZZ = gcmSWIZZLE(X, Y, Z, Z),
+       gcSL_SWIZZLE_XYWW = gcmSWIZZLE(X, Y, W, W),
+       gcSL_SWIZZLE_XZWW = gcmSWIZZLE(X, Z, W, W),
+       gcSL_SWIZZLE_YZWW = gcmSWIZZLE(Y, Z, W, W),
+       gcSL_SWIZZLE_XXYZ = gcmSWIZZLE(X, X, Y, Z),
+       gcSL_SWIZZLE_XYZW = gcmSWIZZLE(X, Y, Z, W),
+       gcSL_SWIZZLE_XYXY = gcmSWIZZLE(X, Y, X, Y),
+       gcSL_SWIZZLE_YYZZ = gcmSWIZZLE(Y, Y, Z, Z),
+       gcSL_SWIZZLE_YYWW = gcmSWIZZLE(Y, Y, W, W),
+       gcSL_SWIZZLE_ZZZW = gcmSWIZZLE(Z, Z, Z, W),
+       gcSL_SWIZZLE_XZZW = gcmSWIZZLE(X, Z, Z, W),
+       gcSL_SWIZZLE_YYZW = gcmSWIZZLE(Y, Y, Z, W),
+
+    gcSL_SWIZZLE_INVALID = 0x7FFFFFFF
+}
+gcSL_SWIZZLE;
+
+typedef enum _gcSL_COMPONENT
+{
+       gcSL_COMPONENT_X,               /* 0x0 */
+       gcSL_COMPONENT_Y,               /* 0x1 */
+       gcSL_COMPONENT_Z,               /* 0x2 */
+       gcSL_COMPONENT_W,               /* 0x3 */
+    gcSL_COMPONENT_COUNT            /* 0x4 */
+} gcSL_COMPONENT;
+
+#define gcmIsComponentEnabled(Enable, Component) (((Enable) & (1 << (Component))) != 0)
+
+/******************************************************************************\
+|*********************************** SHADERS **********************************|
+\******************************************************************************/
+
+/* Shader types. */
+typedef enum _gcSHADER_KIND {
+    gcSHADER_TYPE_UNKNOWN = 0,
+    gcSHADER_TYPE_VERTEX,
+    gcSHADER_TYPE_FRAGMENT,
+    gcSHADER_TYPE_CL,
+    gcSHADER_TYPE_PRECOMPILED,
+    gcSHADER_KIND_COUNT
+} gcSHADER_KIND;
+
+typedef enum _gcGL_DRIVER_VERSION {
+    gcGL_DRIVER_ES11,    /* OpenGL ES 1.1 */
+    gcGL_DRIVER_ES20,    /* OpenGL ES 2.0 */
+    gcGL_DRIVER_ES30     /* OpenGL ES 3.0 */
+} gcGL_DRIVER_VERSION;
+
+/* gcSHADER objects. */
+typedef struct _gcSHADER *              gcSHADER;
+typedef struct _gcATTRIBUTE *                  gcATTRIBUTE;
+typedef struct _gcUNIFORM *             gcUNIFORM;
+typedef struct _gcOUTPUT *              gcOUTPUT;
+typedef struct _gcsFUNCTION *                  gcFUNCTION;
+typedef struct _gcsKERNEL_FUNCTION *   gcKERNEL_FUNCTION;
+typedef struct _gcsHINT *               gcsHINT_PTR;
+typedef struct _gcSHADER_PROFILER *     gcSHADER_PROFILER;
+typedef struct _gcVARIABLE *                   gcVARIABLE;
+
+struct _gcsHINT
+{
+    /* Numbr of data transfers for Vertex Shader output. */
+    gctUINT32   vsOutputCount;
+
+    /* Flag whether the VS has point size or not. */
+    gctBOOL     vsHasPointSize;
+
+#if gcdUSE_WCLIP_PATCH
+    /* Flag whether the VS gl_position.z depends on gl_position.w
+       it's a hint for wclipping */
+    gctBOOL     vsPositionZDependsOnW;
+#endif
+
+    gctBOOL     clipW;
+
+    /* Flag whether or not the shader has a KILL instruction. */
+    gctBOOL     hasKill;
+
+    /* Element count. */
+    gctUINT32   elementCount;
+
+    /* Component count. */
+    gctUINT32   componentCount;
+
+    /* Number of data transfers for Fragment Shader input. */
+    gctUINT32   fsInputCount;
+
+    /* Maximum number of temporary registers used in FS. */
+    gctUINT32   fsMaxTemp;
+
+       /* Maximum number of temporary registers used in VS. */
+       gctUINT32   vsMaxTemp;
+
+    /* Balance minimum. */
+    gctUINT32   balanceMin;
+
+    /* Balance maximum. */
+    gctUINT32   balanceMax;
+
+    /* Auto-shift balancing. */
+    gctBOOL     autoShift;
+
+    /* Flag whether the PS outputs the depth value or not. */
+    gctBOOL     psHasFragDepthOut;
+
+       /* Flag whether the ThreadWalker is in PS. */
+       gctBOOL         threadWalkerInPS;
+
+    /* HW reg number for position of VS */
+    gctUINT32   hwRegNoOfSIVPos;
+
+#if gcdALPHA_KILL_IN_SHADER
+    /* States to set when alpha kill is enabled. */
+    gctUINT32   killStateAddress;
+    gctUINT32   alphaKillStateValue;
+    gctUINT32   colorKillStateValue;
+
+    /* Shader instructiuon. */
+    gctUINT32   killInstructionAddress;
+    gctUINT32   alphaKillInstruction[3];
+    gctUINT32   colorKillInstruction[3];
+#endif
+
+#if TEMP_SHADER_PATCH
+       gctUINT32       pachedShaderIdentifier;
+#endif
+};
+
+#if TEMP_SHADER_PATCH
+#define INVALID_SHADER_IDENTIFIER 0xFFFFFFFF
+#endif
+
+/* gcSHADER_TYPE enumeration. */
+typedef enum _gcSHADER_TYPE
+{
+    gcSHADER_FLOAT_X1   = 0,        /* 0x00 */
+    gcSHADER_FLOAT_X2,                         /* 0x01 */
+       gcSHADER_FLOAT_X3,                              /* 0x02 */
+       gcSHADER_FLOAT_X4,                              /* 0x03 */
+       gcSHADER_FLOAT_2X2,                             /* 0x04 */
+       gcSHADER_FLOAT_3X3,                             /* 0x05 */
+       gcSHADER_FLOAT_4X4,                             /* 0x06 */
+       gcSHADER_BOOLEAN_X1,                    /* 0x07 */
+       gcSHADER_BOOLEAN_X2,                    /* 0x08 */
+       gcSHADER_BOOLEAN_X3,                    /* 0x09 */
+       gcSHADER_BOOLEAN_X4,                    /* 0x0A */
+       gcSHADER_INTEGER_X1,                    /* 0x0B */
+       gcSHADER_INTEGER_X2,                    /* 0x0C */
+       gcSHADER_INTEGER_X3,                    /* 0x0D */
+       gcSHADER_INTEGER_X4,                    /* 0x0E */
+       gcSHADER_SAMPLER_1D,                    /* 0x0F */
+       gcSHADER_SAMPLER_2D,                    /* 0x10 */
+       gcSHADER_SAMPLER_3D,                    /* 0x11 */
+       gcSHADER_SAMPLER_CUBIC,                 /* 0x12 */
+       gcSHADER_FIXED_X1,                              /* 0x13 */
+       gcSHADER_FIXED_X2,                              /* 0x14 */
+       gcSHADER_FIXED_X3,                              /* 0x15 */
+       gcSHADER_FIXED_X4,                              /* 0x16 */
+       gcSHADER_IMAGE_2D,                              /* 0x17 */  /* For OCL. */
+       gcSHADER_IMAGE_3D,                              /* 0x18 */  /* For OCL. */
+       gcSHADER_SAMPLER,                               /* 0x19 */  /* For OCL. */
+       gcSHADER_FLOAT_2X3,                             /* 0x1A */
+       gcSHADER_FLOAT_2X4,                             /* 0x1B */
+       gcSHADER_FLOAT_3X2,                             /* 0x1C */
+       gcSHADER_FLOAT_3X4,                             /* 0x1D */
+       gcSHADER_FLOAT_4X2,                             /* 0x1E */
+       gcSHADER_FLOAT_4X3,                             /* 0x1F */
+       gcSHADER_ISAMPLER_2D,                   /* 0x20 */
+       gcSHADER_ISAMPLER_3D,                   /* 0x21 */
+       gcSHADER_ISAMPLER_CUBIC,                /* 0x22 */
+       gcSHADER_USAMPLER_2D,                   /* 0x23 */
+       gcSHADER_USAMPLER_3D,                   /* 0x24 */
+       gcSHADER_USAMPLER_CUBIC,                /* 0x25 */
+       gcSHADER_SAMPLER_EXTERNAL_OES,          /* 0x26 */
+
+       gcSHADER_UINT_X1,                       /* 0x27 */
+       gcSHADER_UINT_X2,                       /* 0x28 */
+       gcSHADER_UINT_X3,                       /* 0x29 */
+       gcSHADER_UINT_X4,                       /* 0x2A */
+
+    gcSHADER_UNKONWN_TYPE,      /* do not add type after this */
+    gcSHADER_TYPE_COUNT         /* must to change gcvShaderTypeInfo at the
+                                 * same time if you add any new type! */}
+gcSHADER_TYPE;
+
+typedef enum _gcSHADER_TYPE_KIND
+{
+    gceTK_UNKOWN,
+    gceTK_FLOAT,
+    gceTK_INT,
+    gceTK_UINT,
+    gceTK_BOOL,
+    gceTK_FIXED,
+    gceTK_SAMPLER,
+    gceTK_IMAGE,
+    gceTK_OTHER
+} gcSHADER_TYPE_KIND;
+
+typedef struct _gcSHADER_TYPEINFO
+{
+    gcSHADER_TYPE      type;              /* e.g. gcSHADER_FLOAT_2X4 */
+    gctINT             components;        /* e.g. 4 components       */
+    gctINT             rows;              /* e.g. 2 rows             */
+    gcSHADER_TYPE      componentType;     /* e.g. gcSHADER_FLOAT_X4  */
+    gcSHADER_TYPE_KIND kind;              /* e.g. gceTK_FLOAT */
+    gctCONST_STRING    name;              /* e.g. "FLOAT_2X4" */
+} gcSHADER_TYPEINFO;
+
+extern gcSHADER_TYPEINFO gcvShaderTypeInfo[];
+
+#define gcmType_Comonents(Type)    (gcvShaderTypeInfo[Type].components)
+#define gcmType_Rows(Type)         (gcvShaderTypeInfo[Type].rows)
+#define gcmType_ComonentType(Type) (gcvShaderTypeInfo[Type].componentType)
+#define gcmType_Kind(Type)         (gcvShaderTypeInfo[Type].kind)
+#define gcmType_Name(Type)         (gcvShaderTypeInfo[Type].name)
+
+#define gcmType_isMatrix(type) (gcmType_Rows(type) > 1)
+
+typedef enum _gcSHADER_VAR_CATEGORY
+{
+    gcSHADER_VAR_CATEGORY_NORMAL  =  0, /* primitive type and its array */
+    gcSHADER_VAR_CATEGORY_STRUCT  =  1  /* structure */
+}
+gcSHADER_VAR_CATEGORY;
+
+typedef enum _gceTYPE_QUALIFIER
+{
+    gcvTYPE_QUALIFIER_NONE         = 0x0, /* unqualified */
+    gcvTYPE_QUALIFIER_VOLATILE     = 0x1, /* volatile */
+}gceTYPE_QUALIFIER;
+
+typedef gctUINT16  gctTYPE_QUALIFIER;
+
+#if GC_ENABLE_LOADTIME_OPT
+typedef struct _gcSHADER_TYPE_INFO
+{
+    gcSHADER_TYPE    type;        /* eg. gcSHADER_FLOAT_2X3 is the type */
+    gctCONST_STRING  name;        /* the name of the type: "gcSHADER_FLOAT_2X3" */
+    gcSHADER_TYPE    baseType;    /* its base type is gcSHADER_FLOAT_2 */
+    gctINT           components;  /* it has 2 components */
+    gctINT           rows;        /* and 3 rows */
+    gctINT           size;        /* the size in byte */
+} gcSHADER_TYPE_INFO;
+
+extern gcSHADER_TYPE_INFO shader_type_info[];
+
+enum gceLTCDumpOption {
+    gceLTC_DUMP_UNIFORM      = 0x0001,
+    gceLTC_DUMP_EVALUATION   = 0x0002,
+    gceLTC_DUMP_EXPESSION    = 0x0004,
+    gceLTC_DUMP_COLLECTING   = 0x0008,
+};
+
+gctBOOL gcDumpOption(gctINT Opt);
+
+#endif /* GC_ENABLE_LOADTIME_OPT */
+
+#define IS_MATRIX_TYPE(type) \
+    (((type >= gcSHADER_FLOAT_2X2) && (type <= gcSHADER_FLOAT_4X4)) || \
+     ((type >= gcSHADER_FLOAT_2X3) && (type <= gcSHADER_FLOAT_4X3)))
+
+/* gcSHADER_PRECISION enumeration. */
+typedef enum _gcSHADER_PRECISION
+{
+       gcSHADER_PRECISION_DEFAULT,                             /* 0x00 */
+       gcSHADER_PRECISION_HIGH,                                /* 0x01 */
+       gcSHADER_PRECISION_MEDIUM,                              /* 0x02 */
+       gcSHADER_PRECISION_LOW,                             /* 0x03 */
+}
+gcSHADER_PRECISION;
+
+/* Shader flags. */
+typedef enum _gceSHADER_FLAGS
+{
+    gcvSHADER_NO_OPTIMIZATION           = 0x00,
+       gcvSHADER_DEAD_CODE                                     = 0x01,
+       gcvSHADER_RESOURCE_USAGE                        = 0x02,
+       gcvSHADER_OPTIMIZER                                     = 0x04,
+       gcvSHADER_USE_GL_Z                                      = 0x08,
+    /*
+        The GC family of GPU cores model GC860 and under require the Z
+        to be from 0 <= z <= w.
+        However, OpenGL specifies the Z to be from -w <= z <= w.  So we
+        have to a conversion here:
+
+            z = (z + w) / 2.
+
+        So here we append two instructions to the vertex shader.
+    */
+       gcvSHADER_USE_GL_POSITION                       = 0x10,
+       gcvSHADER_USE_GL_FACE                           = 0x20,
+       gcvSHADER_USE_GL_POINT_COORD            = 0x40,
+       gcvSHADER_LOADTIME_OPTIMIZER            = 0x80,
+#if gcdALPHA_KILL_IN_SHADER
+    gcvSHADER_USE_ALPHA_KILL            = 0x100,
+#endif
+
+#if gcdPRE_ROTATION && (ANDROID_SDK_VERSION >= 14)
+    gcvSHADER_VS_PRE_ROTATION           = 0x200,
+#endif
+
+#if TEMP_INLINE_ALL_EXPANSION
+    gcvSHADER_INLINE_ALL_EXPANSION      = 0x400,
+#endif
+}
+gceSHADER_FLAGS;
+
+gceSTATUS
+gcSHADER_CheckClipW(
+    IN gctCONST_STRING VertexSource,
+    IN gctCONST_STRING FragmentSource,
+    OUT gctBOOL * clipW);
+
+/*******************************************************************************
+**  gcSHADER_GetUniformVectorCount
+**
+**  Get the number of vectors used by uniforms for this shader.
+**
+**  INPUT:
+**
+**      gcSHADER Shader
+**          Pointer to a gcSHADER object.
+**
+**  OUTPUT:
+**
+**      gctSIZE_T * Count
+**          Pointer to a variable receiving the number of vectors.
+*/
+gceSTATUS
+gcSHADER_GetUniformVectorCount(
+    IN gcSHADER Shader,
+    OUT gctSIZE_T * Count
+    );
+
+/*******************************************************************************
+**                                                     gcOptimizer Data Structures
+*******************************************************************************/
+typedef enum _gceSHADER_OPTIMIZATION
+{
+    /*  No optimization. */
+       gcvOPTIMIZATION_NONE,
+
+    /*  Flow graph construction. */
+       gcvOPTIMIZATION_CONSTRUCTION                = 1 << 0,
+
+    /*  Dead code elimination. */
+       gcvOPTIMIZATION_DEAD_CODE                   = 1 << 1,
+
+    /*  Redundant move instruction elimination. */
+       gcvOPTIMIZATION_REDUNDANT_MOVE              = 1 << 2,
+
+    /*  Inline expansion. */
+       gcvOPTIMIZATION_INLINE_EXPANSION            = 1 << 3,
+
+    /*  Constant propagation. */
+       gcvOPTIMIZATION_CONSTANT_PROPAGATION        = 1 << 4,
+
+    /*  Redundant bounds/checking elimination. */
+       gcvOPTIMIZATION_REDUNDANT_CHECKING          = 1 << 5,
+
+    /*  Loop invariant movement. */
+       gcvOPTIMIZATION_LOOP_INVARIANT              = 1 << 6,
+
+    /*  Induction variable removal. */
+       gcvOPTIMIZATION_INDUCTION_VARIABLE          = 1 << 7,
+
+    /*  Common subexpression elimination. */
+       gcvOPTIMIZATION_COMMON_SUBEXPRESSION        = 1 << 8,
+
+    /*  Control flow/banch optimization. */
+       gcvOPTIMIZATION_CONTROL_FLOW                = 1 << 9,
+
+    /*  Vector component operation merge. */
+       gcvOPTIMIZATION_VECTOR_INSTRUCTION_MERGE    = 1 << 10,
+
+    /*  Algebra simplificaton. */
+       gcvOPTIMIZATION_ALGEBRAIC_SIMPLIFICATION    = 1 << 11,
+
+    /*  Pattern matching and replacing. */
+       gcvOPTIMIZATION_PATTERN_MATCHING            = 1 << 12,
+
+    /*  Interprocedural constant propagation. */
+       gcvOPTIMIZATION_IP_CONSTANT_PROPAGATION     = 1 << 13,
+
+    /*  Interprecedural register optimization. */
+       gcvOPTIMIZATION_IP_REGISTRATION             = 1 << 14,
+
+    /*  Optimization option number. */
+       gcvOPTIMIZATION_OPTION_NUMBER               = 1 << 15,
+
+       /*  Loadtime constant. */
+    gcvOPTIMIZATION_LOADTIME_CONSTANT           = 1 << 16,
+
+    /*  MAD instruction optimization. */
+       gcvOPTIMIZATION_MAD_INSTRUCTION             = 1 << 17,
+
+    /*  Special optimization for LOAD SW workaround. */
+       gcvOPTIMIZATION_LOAD_SW_WORKAROUND          = 1 << 18,
+
+    /* move code into conditional block if possile */
+       gcvOPTIMIZATION_CONDITIONALIZE              = 1 << 19,
+
+    /* expriemental: power optimization mode
+        1. add extra dummy texld to tune performance
+        2. insert NOP after high power instrucitons
+        3. split high power vec3/vec4 instruciton to vec2/vec1 operation
+        4. ...
+     */
+       gcvOPTIMIZATION_POWER_OPTIMIZATION           = 1 << 20,
+
+    /* optimize varying packing */
+    gcvOPTIMIZATION_VARYINGPACKING              = 1 << 22,
+
+#if TEMP_INLINE_ALL_EXPANSION
+       gcvOPTIMIZATION_INLINE_ALL_EXPANSION        = 1 << 23,
+#endif
+
+    /*  Full optimization. */
+    /*  Note that gcvOPTIMIZATION_LOAD_SW_WORKAROUND is off. */
+       gcvOPTIMIZATION_FULL                        = 0x7FFFFFFF &
+                                                  ~gcvOPTIMIZATION_LOAD_SW_WORKAROUND &
+                                                  ~gcvOPTIMIZATION_INLINE_ALL_EXPANSION &
+                                                  ~gcvOPTIMIZATION_POWER_OPTIMIZATION,
+
+       /* Optimization Unit Test flag. */
+    gcvOPTIMIZATION_UNIT_TEST                   = 1 << 31
+}
+gceSHADER_OPTIMIZATION;
+
+typedef enum _gceOPTIMIZATION_VaryingPaking
+{
+    gcvOPTIMIZATION_VARYINGPACKING_NONE = 0,
+    gcvOPTIMIZATION_VARYINGPACKING_NOSPLIT,
+    gcvOPTIMIZATION_VARYINGPACKING_SPLIT
+} gceOPTIMIZATION_VaryingPaking;
+
+typedef struct _gcOPTIMIZER_OPTION
+{
+    gceSHADER_OPTIMIZATION     optFlags;
+
+    /* debug & dump options:
+
+         VC_OPTION=-DUMP:SRC:OPT|:OPTV|:CG|:CGV:|ALL|ALLV
+
+         SRC:  dump shader source code
+         OPT:  dump incoming and final IR
+         OPTV: dump result IR in each optimization phase
+         CG:   dump generated machine code
+         CGV:  dump BE tree and optimization detail
+
+         ALL = SRC|OPT|CG
+         ALLV = SRC|OPT|OPTV|CG|CGV
+     */
+    gctBOOL     dumpShaderSource;      /* dump shader source code */
+    gctBOOL     dumpOptimizer;         /* dump incoming and final IR */
+    gctBOOL     dumpOptimizerVerbose;  /* dump result IR in each optimization phase */
+    gctBOOL     dumpBEGenertedCode;    /* dump generated machine code */
+    gctBOOL     dumpBEVerbose;         /* dump BE tree and optimization detail */
+    gctBOOL     dumpBEFinalIR;         /* dump BE final IR */
+
+    /* Code generation */
+
+    /* Varying Packing:
+
+          VC_OPTION=-PACKVARYING:[0-2]|:T[-]m[,n]|:LshaderIdx,min,max
+
+          0: turn off varying packing
+          1: pack varyings, donot split any varying
+          2: pack varyings, may split to make fully packed output
+
+          Tm:    only packing shader pair which vertex shader id is m
+          Tm,n:  only packing shader pair which vertex shader id
+                   is in range of [m, n]
+          T-m:   do not packing shader pair which vertex shader id is m
+          T-m,n: do not packing shader pair which vertex shader id
+                   is in range of [m, n]
+
+          LshaderIdx,min,max : set  load balance (min, max) for shaderIdx
+                               if shaderIdx is -1, all shaders are impacted
+                               newMin = origMin * (min/100.);
+                               newMax = origMax * (max/100.);
+     */
+    gceOPTIMIZATION_VaryingPaking    packVarying;
+    gctINT                           _triageStart;
+    gctINT                           _triageEnd;
+    gctINT                           _loadBalanceShaderIdx;
+    gctINT                           _loadBalanceMin;
+    gctINT                           _loadBalanceMax;
+
+    /* Do not generate immdeiate
+
+          VC_OPTION=-NOIMM
+
+       Force generate immediate even the machine model don't support it,
+       for testing purpose only
+
+          VC_OPTION=-FORCEIMM
+     */
+    gctBOOL     noImmediate;
+    gctBOOL     forceImmediate;
+
+    /* Power reduction mode options */
+    gctBOOL   needPowerOptimization;
+
+    /* Patch TEXLD instruction by adding dummy texld
+       (can be used to tune GPU power usage):
+         for every TEXLD we seen, add n dummy TEXLD
+
+        it can be enabled by environment variable:
+
+          VC_OPTION=-PATCH_TEXLD:M:N
+
+        (for each M texld, add N dummy texld)
+     */
+    gctINT      patchEveryTEXLDs;
+    gctINT      patchDummyTEXLDs;
+
+    /* Insert NOP after high power consumption instructions
+
+         VC_OPTION="-INSERTNOP:MUL:MULLO:DP3:DP4:SEENTEXLD"
+     */
+    gctBOOL     insertNOP;
+    gctBOOL     insertNOPAfterMUL;
+    gctBOOL     insertNOPAfterMULLO;
+    gctBOOL     insertNOPAfterDP3;
+    gctBOOL     insertNOPAfterDP4;
+    gctBOOL     insertNOPOnlyWhenTexldSeen;
+
+    /* split MAD to MUL and ADD:
+
+         VC_OPTION=-SPLITMAD
+     */
+    gctBOOL     splitMAD;
+
+    /* Convert vect3/vec4 operations to multiple vec2/vec1 operations
+
+         VC_OPTION=-SPLITVEC:MUL:MULLO:DP3:DP4
+     */
+    gctBOOL     splitVec;
+    gctBOOL     splitVec4MUL;
+    gctBOOL     splitVec4MULLO;
+    gctBOOL     splitVec4DP3;
+    gctBOOL     splitVec4DP4;
+
+    /* turn/off features:
+
+          VC_OPTION=-F:n,[0|1]
+          Note: n must be decimal number
+     */
+    gctUINT     featureBits;
+
+    /* inline level (default 2 at O1):
+
+          VC_OPTION=-INLINELEVEL:[0-3]
+             0:  no inline
+             1:  only inline the function only called once or small function
+             2:  inline functions be called less than 5 times or medium size function
+             3:  inline everything possible
+     */
+    gctUINT     inlineLevel;
+} gcOPTIMIZER_OPTION;
+
+extern gcOPTIMIZER_OPTION theOptimizerOption;
+#define gcmGetOptimizerOption() gcGetOptimizerOption()
+
+#define gcmOPT_DUMP_SHADER_SRC()         \
+             (gcmGetOptimizerOption()->dumpShaderSource != 0)
+#define gcmOPT_DUMP_OPTIMIZER()          \
+             (gcmGetOptimizerOption()->dumpOptimizer != 0 || \
+              gcmOPT_DUMP_OPTIMIZER_VERBOSE() )
+#define gcmOPT_DUMP_OPTIMIZER_VERBOSE()  \
+             (gcmGetOptimizerOption()->dumpOptimizerVerbose != 0)
+#define gcmOPT_DUMP_CODEGEN()            \
+             (gcmGetOptimizerOption()->dumpBEGenertedCode != 0 || \
+              gcmOPT_DUMP_CODEGEN_VERBOSE() )
+#define gcmOPT_DUMP_CODEGEN_VERBOSE()    \
+             (gcmGetOptimizerOption()->dumpBEVerbose != 0)
+#define gcmOPT_DUMP_FINAL_IR()    \
+             (gcmGetOptimizerOption()->dumpBEFinalIR != 0)
+
+#define gcmOPT_SET_DUMP_SHADER_SRC(v)   \
+             gcmGetOptimizerOption()->dumpShaderSource = (v)
+
+#define gcmOPT_PATCH_TEXLD()  (gcmGetOptimizerOption()->patchDummyTEXLDs != 0)
+#define gcmOPT_INSERT_NOP()   (gcmGetOptimizerOption()->insertNOP == gcvTRUE)
+#define gcmOPT_SPLITMAD()     (gcmGetOptimizerOption()->splitMAD == gcvTRUE)
+#define gcmOPT_SPLITVEC()     (gcmGetOptimizerOption()->splitVec == gcvTRUE)
+
+#define gcmOPT_NOIMMEDIATE()  (gcmGetOptimizerOption()->noImmediate == gcvTRUE)
+#define gcmOPT_FORCEIMMEDIATE()  (gcmGetOptimizerOption()->forceImmediate == gcvTRUE)
+
+#define gcmOPT_PACKVARYING()     (gcmGetOptimizerOption()->packVarying)
+#define gcmOPT_PACKVARYING_triageStart()   (gcmGetOptimizerOption()->_triageStart)
+#define gcmOPT_PACKVARYING_triageEnd()     (gcmGetOptimizerOption()->_triageEnd)
+
+#define gcmOPT_INLINELEVEL()     (gcmGetOptimizerOption()->inlineLevel)
+
+/* Setters */
+#define gcmOPT_SetPatchTexld(m,n) (gcmGetOptimizerOption()->patchEveryTEXLDs = (m),\
+                                   gcmGetOptimizerOption()->patchDummyTEXLDs = (n))
+#define gcmOPT_SetSplitVecMUL() (gcmGetOptimizerOption()->splitVec = gcvTRUE, \
+                                 gcmGetOptimizerOption()->splitVec4MUL = gcvTRUE)
+#define gcmOPT_SetSplitVecMULLO() (gcmGetOptimizerOption()->splitVec = gcvTRUE, \
+                                  gcmGetOptimizerOption()->splitVec4MULLO = gcvTRUE)
+#define gcmOPT_SetSplitVecDP3() (gcmGetOptimizerOption()->splitVec = gcvTRUE, \
+                                 gcmGetOptimizerOption()->splitVec4DP3 = gcvTRUE)
+#define gcmOPT_SetSplitVecDP4() (gcmGetOptimizerOption()->splitVec = gcvTRUE, \
+                                 gcmGetOptimizerOption()->splitVec4DP4 = gcvTRUE)
+
+#define gcmOPT_SetPackVarying(v)     (gcmGetOptimizerOption()->packVarying = v)
+
+#define FB_LIVERANGE_FIX1     0x0001
+
+
+#define PredefinedDummySamplerId       8
+
+/* Function argument qualifier */
+typedef enum _gceINPUT_OUTPUT
+{
+       gcvFUNCTION_INPUT,
+       gcvFUNCTION_OUTPUT,
+       gcvFUNCTION_INOUT
+}
+gceINPUT_OUTPUT;
+
+/* Kernel function property flags. */
+typedef enum _gcePROPERTY_FLAGS
+{
+       gcvPROPERTY_REQD_WORK_GRP_SIZE  = 0x01
+}
+gceKERNEL_FUNCTION_PROPERTY_FLAGS;
+
+/* Uniform flags. */
+typedef enum _gceUNIFORM_FLAGS
+{
+       gcvUNIFORM_KERNEL_ARG                   = 0x01,
+       gcvUNIFORM_KERNEL_ARG_LOCAL             = 0x02,
+       gcvUNIFORM_KERNEL_ARG_SAMPLER           = 0x04,
+       gcvUNIFORM_LOCAL_ADDRESS_SPACE          = 0x08,
+       gcvUNIFORM_PRIVATE_ADDRESS_SPACE        = 0x10,
+       gcvUNIFORM_CONSTANT_ADDRESS_SPACE       = 0x20,
+       gcvUNIFORM_GLOBAL_SIZE                  = 0x40,
+       gcvUNIFORM_LOCAL_SIZE                   = 0x80,
+       gcvUNIFORM_NUM_GROUPS                   = 0x100,
+       gcvUNIFORM_GLOBAL_OFFSET                = 0x200,
+       gcvUNIFORM_WORK_DIM                     = 0x400,
+       gcvUNIFORM_KERNEL_ARG_CONSTANT          = 0x800,
+       gcvUNIFORM_KERNEL_ARG_LOCAL_MEM_SIZE    = 0x1000,
+       gcvUNIFORM_KERNEL_ARG_PRIVATE           = 0x2000,
+       gcvUNIFORM_LOADTIME_CONSTANT            = 0x4000,
+    gcvUNIFORM_IS_ARRAY                 = 0x8000,
+}
+gceUNIFORM_FLAGS;
+
+#define gcdUNIFORM_KERNEL_ARG_MASK  (gcvUNIFORM_KERNEL_ARG         | \
+                                     gcvUNIFORM_KERNEL_ARG_LOCAL   | \
+                                                                        gcvUNIFORM_KERNEL_ARG_SAMPLER | \
+                                                                        gcvUNIFORM_KERNEL_ARG_PRIVATE | \
+                                                                        gcvUNIFORM_KERNEL_ARG_CONSTANT)
+
+typedef enum _gceVARIABLE_UPDATE_FLAGS
+{
+    gcvVARIABLE_UPDATE_NOUPDATE = 0,
+    gcvVARIABLE_UPDATE_TEMPREG,
+    gcvVARIABLE_UPDATE_TYPE_QUALIFIER,
+}gceVARIABLE_UPDATE_FLAGS;
+
+typedef struct _gcMACHINE_INST
+{
+    gctUINT        state0;
+    gctUINT        state1;
+    gctUINT        state2;
+    gctUINT        state3;
+}gcMACHINE_INST, *gcMACHINE_INST_PTR;
+
+typedef struct _gcMACHINECODE
+{
+    gcMACHINE_INST_PTR   pCode;          /* machine code  */
+    gctUINT              instCount;      /* 128-bit count */
+    gctUINT              maxConstRegNo;
+    gctUINT              maxTempRegNo;
+    gctUINT              endPCOfMainRoutine;
+}gcMACHINECODE, *gcMACHINECODE_PTR;
+
+typedef enum NP2_ADDRESS_MODE
+{
+    NP2_ADDRESS_MODE_CLAMP  = 0,
+    NP2_ADDRESS_MODE_REPEAT = 1,
+    NP2_ADDRESS_MODE_MIRROR = 2
+}NP2_ADDRESS_MODE;
+
+typedef struct _gcNPOT_PATCH_PARAM
+{
+    gctINT               samplerSlot;
+    NP2_ADDRESS_MODE     addressMode[3];
+    gctINT               texDimension;    /* 2 or 3 */
+}gcNPOT_PATCH_PARAM, *gcNPOT_PATCH_PARAM_PTR;
+
+typedef struct _gcZBIAS_PATCH_PARAM
+{
+    /* Driver uses this to program uniform that designating zbias */
+    gctINT               uniformAddr;
+    gctINT               channel;
+}gcZBIAS_PATCH_PARAM, *gcZBIAS_PATCH_PARAM_PTR;
+
+void
+gcGetOptionFromEnv(
+    IN OUT gcOPTIMIZER_OPTION * Option
+    );
+
+void
+gcSetOptimizerOption(
+    IN gceSHADER_FLAGS Flags
+    );
+
+gcOPTIMIZER_OPTION *
+gcGetOptimizerOption();
+
+/*******************************************************************************
+**  gcSHADER_SetCompilerVersion
+**
+**  Set the compiler version of a gcSHADER object.
+**
+**  INPUT:
+**
+**      gcSHADER Shader
+**          Pointer to gcSHADER object
+**
+**      gctINT *Version
+**          Pointer to a two word version
+*/
+gceSTATUS
+gcSHADER_SetCompilerVersion(
+    IN gcSHADER Shader,
+    IN gctUINT32 *Version
+    );
+
+/*******************************************************************************
+**  gcSHADER_GetCompilerVersion
+**
+**  Get the compiler version of a gcSHADER object.
+**
+**  INPUT:
+**
+**      gcSHADER Shader
+**          Pointer to a gcSHADER object.
+**
+**  OUTPUT:
+**
+**      gctUINT32_PTR *CompilerVersion.
+**          Pointer to holder of returned compilerVersion pointer
+*/
+gceSTATUS
+gcSHADER_GetCompilerVersion(
+    IN gcSHADER Shader,
+    OUT gctUINT32_PTR *CompilerVersion
+    );
+
+/*******************************************************************************
+**  gcSHADER_GetType
+**
+**  Get the gcSHADER object's type.
+**
+**  INPUT:
+**
+**      gcSHADER Shader
+**          Pointer to a gcSHADER object.
+**
+**  OUTPUT:
+**
+**      gctINT *Type.
+**          Pointer to return shader type.
+*/
+gceSTATUS
+gcSHADER_GetType(
+    IN gcSHADER Shader,
+    OUT gctINT *Type
+    );
+
+gctUINT
+gcSHADER_NextId();
+/*******************************************************************************
+**                             gcSHADER_Construct
+********************************************************************************
+**
+**     Construct a new gcSHADER object.
+**
+**     INPUT:
+**
+**             gcoOS Hal
+**                     Pointer to an gcoHAL object.
+**
+**             gctINT ShaderType
+**                     Type of gcSHADER object to cerate.  'ShaderType' can be one of the
+**                     following:
+**
+**                             gcSHADER_TYPE_VERTEX    Vertex shader.
+**                             gcSHADER_TYPE_FRAGMENT  Fragment shader.
+**
+**     OUTPUT:
+**
+**             gcSHADER * Shader
+**                     Pointer to a variable receiving the gcSHADER object pointer.
+*/
+gceSTATUS
+gcSHADER_Construct(
+       IN gcoHAL Hal,
+       IN gctINT ShaderType,
+       OUT gcSHADER * Shader
+       );
+
+/*******************************************************************************
+**                              gcSHADER_Destroy
+********************************************************************************
+**
+**     Destroy a gcSHADER object.
+**
+**     INPUT:
+**
+**             gcSHADER Shader
+**                     Pointer to a gcSHADER object.
+**
+**     OUTPUT:
+**
+**             Nothing.
+*/
+gceSTATUS
+gcSHADER_Destroy(
+       IN gcSHADER Shader
+       );
+
+/*******************************************************************************
+**                              gcSHADER_Copy
+********************************************************************************
+**
+**     Copy a gcSHADER object.
+**
+**     INPUT:
+**
+**             gcSHADER Shader
+**                     Pointer to a gcSHADER object.
+**
+**      gcSHADER Source
+**          Pointer to a gcSHADER object that will be copied.
+**
+**     OUTPUT:
+**
+**             Nothing.
+*/
+gceSTATUS
+gcSHADER_Copy(
+       IN gcSHADER Shader,
+       IN gcSHADER Source
+       );
+
+/*******************************************************************************
+**  gcSHADER_LoadHeader
+**
+**  Load a gcSHADER object from a binary buffer.  The binary buffer is layed out
+**  as follows:
+**      // Six word header
+**      // Signature, must be 'S','H','D','R'.
+**      gctINT8             signature[4];
+**      gctUINT32           binFileVersion;
+**      gctUINT32           compilerVersion[2];
+**      gctUINT32           gcSLVersion;
+**      gctUINT32           binarySize;
+**
+**  INPUT:
+**
+**      gcSHADER Shader
+**          Pointer to a gcSHADER object.
+**          Shader type will be returned if type in shader object is not gcSHADER_TYPE_PRECOMPILED
+**
+**      gctPOINTER Buffer
+**          Pointer to a binary buffer containing the shader data to load.
+**
+**      gctSIZE_T BufferSize
+**          Number of bytes inside the binary buffer pointed to by 'Buffer'.
+**
+**  OUTPUT:
+**      nothing
+**
+*/
+gceSTATUS
+gcSHADER_LoadHeader(
+    IN gcSHADER Shader,
+    IN gctPOINTER Buffer,
+    IN gctSIZE_T BufferSize,
+    OUT gctUINT32 * ShaderVersion
+    );
+
+/*******************************************************************************
+**  gcSHADER_LoadKernel
+**
+**  Load a kernel function given by name into gcSHADER object
+**
+**  INPUT:
+**
+**      gcSHADER Shader
+**          Pointer to a gcSHADER object.
+**
+**      gctSTRING KernelName
+**          Pointer to a kernel function name
+**
+**  OUTPUT:
+**      nothing
+**
+*/
+gceSTATUS
+gcSHADER_LoadKernel(
+    IN gcSHADER Shader,
+    IN gctSTRING KernelName
+    );
+
+/*******************************************************************************
+**                                gcSHADER_Load
+********************************************************************************
+**
+**     Load a gcSHADER object from a binary buffer.
+**
+**     INPUT:
+**
+**             gcSHADER Shader
+**                     Pointer to a gcSHADER object.
+**
+**             gctPOINTER Buffer
+**                     Pointer to a binary buffer containg the shader data to load.
+**
+**             gctSIZE_T BufferSize
+**                     Number of bytes inside the binary buffer pointed to by 'Buffer'.
+**
+**     OUTPUT:
+**
+**             Nothing.
+*/
+gceSTATUS
+gcSHADER_Load(
+       IN gcSHADER Shader,
+       IN gctPOINTER Buffer,
+       IN gctSIZE_T BufferSize
+       );
+
+/*******************************************************************************
+**                                gcSHADER_Save
+********************************************************************************
+**
+**     Save a gcSHADER object to a binary buffer.
+**
+**     INPUT:
+**
+**             gcSHADER Shader
+**                     Pointer to a gcSHADER object.
+**
+**             gctPOINTER Buffer
+**                     Pointer to a binary buffer to be used as storage for the gcSHADER
+**                     object.  If 'Buffer' is gcvNULL, the gcSHADER object will not be saved,
+**                     but the number of bytes required to hold the binary output for the
+**                     gcSHADER object will be returned.
+**
+**             gctSIZE_T * BufferSize
+**                     Pointer to a variable holding the number of bytes allocated in
+**                     'Buffer'.  Only valid if 'Buffer' is not gcvNULL.
+**
+**     OUTPUT:
+**
+**             gctSIZE_T * BufferSize
+**                     Pointer to a variable receiving the number of bytes required to hold
+**                     the binary form of the gcSHADER object.
+*/
+gceSTATUS
+gcSHADER_Save(
+       IN gcSHADER Shader,
+       IN gctPOINTER Buffer,
+       IN OUT gctSIZE_T * BufferSize
+       );
+
+/*******************************************************************************
+**                                gcSHADER_LoadEx
+********************************************************************************
+**
+**     Load a gcSHADER object from a binary buffer.
+**
+**     INPUT:
+**
+**             gcSHADER Shader
+**                     Pointer to a gcSHADER object.
+**
+**             gctPOINTER Buffer
+**                     Pointer to a binary buffer containg the shader data to load.
+**
+**             gctSIZE_T BufferSize
+**                     Number of bytes inside the binary buffer pointed to by 'Buffer'.
+**
+**     OUTPUT:
+**
+**             Nothing.
+*/
+gceSTATUS
+gcSHADER_LoadEx(
+       IN gcSHADER Shader,
+       IN gctPOINTER Buffer,
+       IN gctSIZE_T BufferSize
+       );
+
+/*******************************************************************************
+**                                gcSHADER_SaveEx
+********************************************************************************
+**
+**     Save a gcSHADER object to a binary buffer.
+**
+**     INPUT:
+**
+**             gcSHADER Shader
+**                     Pointer to a gcSHADER object.
+**
+**             gctPOINTER Buffer
+**                     Pointer to a binary buffer to be used as storage for the gcSHADER
+**                     object.  If 'Buffer' is gcvNULL, the gcSHADER object will not be saved,
+**                     but the number of bytes required to hold the binary output for the
+**                     gcSHADER object will be returned.
+**
+**             gctSIZE_T * BufferSize
+**                     Pointer to a variable holding the number of bytes allocated in
+**                     'Buffer'.  Only valid if 'Buffer' is not gcvNULL.
+**
+**     OUTPUT:
+**
+**             gctSIZE_T * BufferSize
+**                     Pointer to a variable receiving the number of bytes required to hold
+**                     the binary form of the gcSHADER object.
+*/
+gceSTATUS
+gcSHADER_SaveEx(
+       IN gcSHADER Shader,
+       IN gctPOINTER Buffer,
+       IN OUT gctSIZE_T * BufferSize
+       );
+
+/*******************************************************************************
+**  gcSHADER_ReallocateAttributes
+**
+**  Reallocate an array of pointers to gcATTRIBUTE objects.
+**
+**  INPUT:
+**
+**      gcSHADER Shader
+**          Pointer to a gcSHADER object.
+**
+**      gctSIZE_T Count
+**          Array count to reallocate.  'Count' must be at least 1.
+*/
+gceSTATUS
+gcSHADER_ReallocateAttributes(
+    IN gcSHADER Shader,
+    IN gctSIZE_T Count
+    );
+
+/*******************************************************************************
+**                                                       gcSHADER_AddAttribute
+********************************************************************************
+**
+**     Add an attribute to a gcSHADER object.
+**
+**     INPUT:
+**
+**             gcSHADER Shader
+**                     Pointer to a gcSHADER object.
+**
+**             gctCONST_STRING Name
+**                     Name of the attribute to add.
+**
+**             gcSHADER_TYPE Type
+**                     Type of the attribute to add.
+**
+**             gctSIZE_T Length
+**                     Array length of the attribute to add.  'Length' must be at least 1.
+**
+**             gctBOOL IsTexture
+**                     gcvTRUE if the attribute is used as a texture coordinate, gcvFALSE if not.
+**
+**     OUTPUT:
+**
+**             gcATTRIBUTE * Attribute
+**                     Pointer to a variable receiving the gcATTRIBUTE object pointer.
+*/
+gceSTATUS
+gcSHADER_AddAttribute(
+       IN gcSHADER Shader,
+       IN gctCONST_STRING Name,
+       IN gcSHADER_TYPE Type,
+       IN gctSIZE_T Length,
+       IN gctBOOL IsTexture,
+       OUT gcATTRIBUTE * Attribute
+       );
+
+/*******************************************************************************
+**                         gcSHADER_GetAttributeCount
+********************************************************************************
+**
+**     Get the number of attributes for this shader.
+**
+**     INPUT:
+**
+**             gcSHADER Shader
+**                     Pointer to a gcSHADER object.
+**
+**     OUTPUT:
+**
+**             gctSIZE_T * Count
+**                     Pointer to a variable receiving the number of attributes.
+*/
+gceSTATUS
+gcSHADER_GetAttributeCount(
+       IN gcSHADER Shader,
+       OUT gctSIZE_T * Count
+       );
+
+/*******************************************************************************
+**                            gcSHADER_GetAttribute
+********************************************************************************
+**
+**     Get the gcATTRIBUTE object poniter for an indexed attribute for this shader.
+**
+**     INPUT:
+**
+**             gcSHADER Shader
+**                     Pointer to a gcSHADER object.
+**
+**             gctUINT Index
+**                     Index of the attribute to retrieve.
+**
+**     OUTPUT:
+**
+**             gcATTRIBUTE * Attribute
+**                     Pointer to a variable receiving the gcATTRIBUTE object pointer.
+*/
+gceSTATUS
+gcSHADER_GetAttribute(
+       IN gcSHADER Shader,
+       IN gctUINT Index,
+       OUT gcATTRIBUTE * Attribute
+       );
+
+/*******************************************************************************
+**  gcSHADER_ReallocateUniforms
+**
+**  Reallocate an array of pointers to gcUNIFORM objects.
+**
+**  INPUT:
+**
+**      gcSHADER Shader
+**          Pointer to a gcSHADER object.
+**
+**      gctSIZE_T Count
+**          Array count to reallocate.  'Count' must be at least 1.
+*/
+gceSTATUS
+gcSHADER_ReallocateUniforms(
+    IN gcSHADER Shader,
+    IN gctSIZE_T Count
+    );
+
+/*******************************************************************************
+**                                                        gcSHADER_AddUniform
+********************************************************************************
+**
+**     Add an uniform to a gcSHADER object.
+**
+**     INPUT:
+**
+**             gcSHADER Shader
+**                     Pointer to a gcSHADER object.
+**
+**             gctCONST_STRING Name
+**                     Name of the uniform to add.
+**
+**             gcSHADER_TYPE Type
+**                     Type of the uniform to add.
+**
+**             gctSIZE_T Length
+**                     Array length of the uniform to add.  'Length' must be at least 1.
+**
+**     OUTPUT:
+**
+**             gcUNIFORM * Uniform
+**                     Pointer to a variable receiving the gcUNIFORM object pointer.
+*/
+gceSTATUS
+gcSHADER_AddUniform(
+       IN gcSHADER Shader,
+       IN gctCONST_STRING Name,
+       IN gcSHADER_TYPE Type,
+       IN gctSIZE_T Length,
+       OUT gcUNIFORM * Uniform
+       );
+
+/*******************************************************************************
+**                                                        gcSHADER_AddPreRotationUniform
+********************************************************************************
+**
+**     Add an uniform to a gcSHADER object.
+**
+**     INPUT:
+**
+**             gcSHADER Shader
+**                     Pointer to a gcSHADER object.
+**
+**             gctCONST_STRING Name
+**                     Name of the uniform to add.
+**
+**             gcSHADER_TYPE Type
+**                     Type of the uniform to add.
+**
+**             gctSIZE_T Length
+**                     Array length of the uniform to add.  'Length' must be at least 1.
+**
+**             gctINT col
+**                     Which uniform.
+**
+**     OUTPUT:
+**
+**             gcUNIFORM * Uniform
+**                     Pointer to a variable receiving the gcUNIFORM object pointer.
+*/
+gceSTATUS
+gcSHADER_AddPreRotationUniform(
+       IN gcSHADER Shader,
+       IN gctCONST_STRING Name,
+       IN gcSHADER_TYPE Type,
+       IN gctSIZE_T Length,
+    IN gctINT col,
+       OUT gcUNIFORM * Uniform
+       );
+
+/*******************************************************************************
+**                                                        gcSHADER_AddUniformEx
+********************************************************************************
+**
+**     Add an uniform to a gcSHADER object.
+**
+**     INPUT:
+**
+**             gcSHADER Shader
+**                     Pointer to a gcSHADER object.
+**
+**             gctCONST_STRING Name
+**                     Name of the uniform to add.
+**
+**             gcSHADER_TYPE Type
+**                     Type of the uniform to add.
+**
+**      gcSHADER_PRECISION precision
+**          Precision of the uniform to add.
+**
+**             gctSIZE_T Length
+**                     Array length of the uniform to add.  'Length' must be at least 1.
+**
+**     OUTPUT:
+**
+**             gcUNIFORM * Uniform
+**                     Pointer to a variable receiving the gcUNIFORM object pointer.
+*/
+gceSTATUS
+gcSHADER_AddUniformEx(
+       IN gcSHADER Shader,
+       IN gctCONST_STRING Name,
+       IN gcSHADER_TYPE Type,
+    IN gcSHADER_PRECISION precision,
+       IN gctSIZE_T Length,
+       OUT gcUNIFORM * Uniform
+       );
+
+/*******************************************************************************
+**                                                        gcSHADER_AddUniformEx1
+********************************************************************************
+**
+**     Add an uniform to a gcSHADER object.
+**
+**     INPUT:
+**
+**             gcSHADER Shader
+**                     Pointer to a gcSHADER object.
+**
+**             gctCONST_STRING Name
+**                     Name of the uniform to add.
+**
+**             gcSHADER_TYPE Type
+**                     Type of the uniform to add.
+**
+**      gcSHADER_PRECISION precision
+**          Precision of the uniform to add.
+**
+**             gctSIZE_T Length
+**                     Array length of the uniform to add.  'Length' must be at least 1.
+**
+**      gcSHADER_VAR_CATEGORY varCategory
+**          Variable category, normal or struct.
+**
+**      gctUINT16 numStructureElement
+**          If struct, its element number.
+**
+**      gctINT16 parent
+**          If struct, parent index in gcSHADER.variables.
+**
+**      gctINT16 prevSibling
+**          If struct, previous sibling index in gcSHADER.variables.
+**
+**     OUTPUT:
+**
+**             gcUNIFORM * Uniform
+**                     Pointer to a variable receiving the gcUNIFORM object pointer.
+**
+**      gctINT16* ThisUniformIndex
+**          Returned value about uniform index in gcSHADER.
+*/
+gceSTATUS
+gcSHADER_AddUniformEx1(
+       IN gcSHADER Shader,
+       IN gctCONST_STRING Name,
+       IN gcSHADER_TYPE Type,
+    IN gcSHADER_PRECISION precision,
+       IN gctSIZE_T Length,
+    IN gctINT    IsArray,
+    IN gcSHADER_VAR_CATEGORY varCategory,
+    IN gctUINT16 numStructureElement,
+    IN gctINT16 parent,
+    IN gctINT16 prevSibling,
+    OUT gctINT16* ThisUniformIndex,
+       OUT gcUNIFORM * Uniform
+       );
+
+/*******************************************************************************
+**                          gcSHADER_GetUniformCount
+********************************************************************************
+**
+**     Get the number of uniforms for this shader.
+**
+**     INPUT:
+**
+**             gcSHADER Shader
+**                     Pointer to a gcSHADER object.
+**
+**     OUTPUT:
+**
+**             gctSIZE_T * Count
+**                     Pointer to a variable receiving the number of uniforms.
+*/
+gceSTATUS
+gcSHADER_GetUniformCount(
+       IN gcSHADER Shader,
+       OUT gctSIZE_T * Count
+       );
+
+/*******************************************************************************
+**                         gcSHADER_GetPreRotationUniform
+********************************************************************************
+**
+**     Get the preRotate Uniform.
+**
+**     INPUT:
+**
+**             gcSHADER Shader
+**                     Pointer to a gcSHADER object.
+**
+**     OUTPUT:
+**
+**             gcUNIFORM ** pUniform
+**                     Pointer to a preRotation uniforms array.
+*/
+gceSTATUS
+gcSHADER_GetPreRotationUniform(
+       IN gcSHADER Shader,
+       OUT gcUNIFORM ** pUniform
+       );
+
+/*******************************************************************************
+**                             gcSHADER_GetUniform
+********************************************************************************
+**
+**     Get the gcUNIFORM object pointer for an indexed uniform for this shader.
+**
+**     INPUT:
+**
+**             gcSHADER Shader
+**                     Pointer to a gcSHADER object.
+**
+**             gctUINT Index
+**                     Index of the uniform to retrieve.
+**
+**     OUTPUT:
+**
+**             gcUNIFORM * Uniform
+**                     Pointer to a variable receiving the gcUNIFORM object pointer.
+*/
+gceSTATUS
+gcSHADER_GetUniform(
+       IN gcSHADER Shader,
+       IN gctUINT Index,
+       OUT gcUNIFORM * Uniform
+       );
+
+
+/*******************************************************************************
+**                             gcSHADER_GetUniformIndexingRange
+********************************************************************************
+**
+**     Get the gcUNIFORM object pointer for an indexed uniform for this shader.
+**
+**     INPUT:
+**
+**             gcSHADER Shader
+**                     Pointer to a gcSHADER object.
+**
+**             gctINT uniformIndex
+**                     Index of the start uniform.
+**
+**             gctINT offset
+**                     Offset to indexing.
+**
+**     OUTPUT:
+**
+**             gctINT * LastUniformIndex
+**                     Pointer to index of last uniform in indexing range.
+**
+**             gctINT * OffsetUniformIndex
+**                     Pointer to index of uniform that indexing at offset.
+**
+**             gctINT * DeviationInOffsetUniform
+**                     Pointer to offset in uniform picked up.
+*/
+gceSTATUS
+gcSHADER_GetUniformIndexingRange(
+       IN gcSHADER Shader,
+       IN gctINT uniformIndex,
+    IN gctINT offset,
+       OUT gctINT * LastUniformIndex,
+    OUT gctINT * OffsetUniformIndex,
+    OUT gctINT * DeviationInOffsetUniform
+       );
+
+/*******************************************************************************
+**  gcSHADER_GetKernelFucntion
+**
+**  Get the gcKERNEL_FUNCTION object pointer for an indexed kernel function for this shader.
+**
+**  INPUT:
+**
+**      gcSHADER Shader
+**          Pointer to a gcSHADER object.
+**
+**      gctUINT Index
+**          Index of kernel function to retreive the name for.
+**
+**  OUTPUT:
+**
+**      gcKERNEL_FUNCTION * KernelFunction
+**          Pointer to a variable receiving the gcKERNEL_FUNCTION object pointer.
+*/
+gceSTATUS
+gcSHADER_GetKernelFunction(
+    IN gcSHADER Shader,
+    IN gctUINT Index,
+    OUT gcKERNEL_FUNCTION * KernelFunction
+    );
+
+gceSTATUS
+gcSHADER_GetKernelFunctionByName(
+       IN gcSHADER Shader,
+    IN gctSTRING KernelName,
+    OUT gcKERNEL_FUNCTION * KernelFunction
+    );
+/*******************************************************************************
+**  gcSHADER_GetKernelFunctionCount
+**
+**  Get the number of kernel functions for this shader.
+**
+**  INPUT:
+**
+**      gcSHADER Shader
+**          Pointer to a gcSHADER object.
+**
+**  OUTPUT:
+**
+**      gctSIZE_T * Count
+**          Pointer to a variable receiving the number of kernel functions.
+*/
+gceSTATUS
+gcSHADER_GetKernelFunctionCount(
+    IN gcSHADER Shader,
+    OUT gctSIZE_T * Count
+    );
+
+/*******************************************************************************
+**  gcSHADER_ReallocateOutputs
+**
+**  Reallocate an array of pointers to gcOUTPUT objects.
+**
+**  INPUT:
+**
+**      gcSHADER Shader
+**          Pointer to a gcSHADER object.
+**
+**      gctSIZE_T Count
+**          Array count to reallocate.  'Count' must be at least 1.
+*/
+gceSTATUS
+gcSHADER_ReallocateOutputs(
+    IN gcSHADER Shader,
+    IN gctSIZE_T Count
+    );
+
+/*******************************************************************************
+**                                                        gcSHADER_AddOutput
+********************************************************************************
+**
+**     Add an output to a gcSHADER object.
+**
+**     INPUT:
+**
+**             gcSHADER Shader
+**                     Pointer to a gcSHADER object.
+**
+**             gctCONST_STRING Name
+**                     Name of the output to add.
+**
+**             gcSHADER_TYPE Type
+**                     Type of the output to add.
+**
+**             gctSIZE_T Length
+**                     Array length of the output to add.  'Length' must be at least 1.
+**
+**             gctUINT16 TempRegister
+**                     Temporary register index that holds the output value.
+**
+**     OUTPUT:
+**
+**             Nothing.
+*/
+gceSTATUS
+gcSHADER_AddOutput(
+       IN gcSHADER Shader,
+       IN gctCONST_STRING Name,
+       IN gcSHADER_TYPE Type,
+       IN gctSIZE_T Length,
+       IN gctUINT16 TempRegister
+       );
+
+gceSTATUS
+gcSHADER_AddOutputIndexed(
+       IN gcSHADER Shader,
+       IN gctCONST_STRING Name,
+       IN gctSIZE_T Index,
+       IN gctUINT16 TempIndex
+       );
+
+/*******************************************************************************
+**                                                      gcSHADER_GetOutputCount
+********************************************************************************
+**
+**     Get the number of outputs for this shader.
+**
+**     INPUT:
+**
+**             gcSHADER Shader
+**                     Pointer to a gcSHADER object.
+**
+**     OUTPUT:
+**
+**             gctSIZE_T * Count
+**                     Pointer to a variable receiving the number of outputs.
+*/
+gceSTATUS
+gcSHADER_GetOutputCount(
+       IN gcSHADER Shader,
+       OUT gctSIZE_T * Count
+       );
+
+/*******************************************************************************
+**                                                        gcSHADER_GetOutput
+********************************************************************************
+**
+**     Get the gcOUTPUT object pointer for an indexed output for this shader.
+**
+**     INPUT:
+**
+**             gcSHADER Shader
+**                     Pointer to a gcSHADER object.
+**
+**             gctUINT Index
+**                     Index of output to retrieve.
+**
+**     OUTPUT:
+**
+**             gcOUTPUT * Output
+**                     Pointer to a variable receiving the gcOUTPUT object pointer.
+*/
+gceSTATUS
+gcSHADER_GetOutput(
+       IN gcSHADER Shader,
+       IN gctUINT Index,
+       OUT gcOUTPUT * Output
+       );
+
+
+/*******************************************************************************
+**                                                        gcSHADER_GetOutputByName
+********************************************************************************
+**
+**     Get the gcOUTPUT object pointer for this shader by output name.
+**
+**     INPUT:
+**
+**             gcSHADER Shader
+**                     Pointer to a gcSHADER object.
+**
+**             gctSTRING name
+**                     Name of output to retrieve.
+**
+**      gctSIZE_T nameLength
+**          Length of name to retrieve
+**
+**     OUTPUT:
+**
+**             gcOUTPUT * Output
+**                     Pointer to a variable receiving the gcOUTPUT object pointer.
+*/
+gceSTATUS
+gcSHADER_GetOutputByName(
+       IN gcSHADER Shader,
+       IN gctSTRING name,
+    IN gctSIZE_T nameLength,
+       OUT gcOUTPUT * Output
+       );
+
+/*******************************************************************************
+**  gcSHADER_ReallocateVariables
+**
+**  Reallocate an array of pointers to gcVARIABLE objects.
+**
+**  INPUT:
+**
+**      gcSHADER Shader
+**          Pointer to a gcSHADER object.
+**
+**      gctSIZE_T Count
+**          Array count to reallocate.  'Count' must be at least 1.
+*/
+gceSTATUS
+gcSHADER_ReallocateVariables(
+    IN gcSHADER Shader,
+    IN gctSIZE_T Count
+    );
+
+/*******************************************************************************
+**                                                        gcSHADER_AddVariable
+********************************************************************************
+**
+**     Add a variable to a gcSHADER object.
+**
+**     INPUT:
+**
+**             gcSHADER Shader
+**                     Pointer to a gcSHADER object.
+**
+**             gctCONST_STRING Name
+**                     Name of the variable to add.
+**
+**             gcSHADER_TYPE Type
+**                     Type of the variable to add.
+**
+**             gctSIZE_T Length
+**                     Array length of the variable to add.  'Length' must be at least 1.
+**
+**             gctUINT16 TempRegister
+**                     Temporary register index that holds the variable value.
+**
+**     OUTPUT:
+**
+**             Nothing.
+*/
+gceSTATUS
+gcSHADER_AddVariable(
+       IN gcSHADER Shader,
+       IN gctCONST_STRING Name,
+       IN gcSHADER_TYPE Type,
+       IN gctSIZE_T Length,
+       IN gctUINT16 TempRegister
+       );
+
+
+/*******************************************************************************
+**  gcSHADER_AddVariableEx
+********************************************************************************
+**
+**  Add a variable to a gcSHADER object.
+**
+**  INPUT:
+**
+**      gcSHADER Shader
+**          Pointer to a gcSHADER object.
+**
+**      gctCONST_STRING Name
+**          Name of the variable to add.
+**
+**      gcSHADER_TYPE Type
+**          Type of the variable to add.
+**
+**      gctSIZE_T Length
+**          Array length of the variable to add.  'Length' must be at least 1.
+**
+**      gctUINT16 TempRegister
+**          Temporary register index that holds the variable value.
+**
+**      gcSHADER_VAR_CATEGORY varCategory
+**          Variable category, normal or struct.
+**
+**      gctUINT16 numStructureElement
+**          If struct, its element number.
+**
+**      gctINT16 parent
+**          If struct, parent index in gcSHADER.variables.
+**
+**      gctINT16 prevSibling
+**          If struct, previous sibling index in gcSHADER.variables.
+**
+**  OUTPUT:
+**
+**      gctINT16* ThisVarIndex
+**          Returned value about variable index in gcSHADER.
+*/
+gceSTATUS
+gcSHADER_AddVariableEx(
+    IN gcSHADER Shader,
+    IN gctCONST_STRING Name,
+    IN gcSHADER_TYPE Type,
+    IN gctSIZE_T Length,
+    IN gctUINT16 TempRegister,
+    IN gcSHADER_VAR_CATEGORY varCategory,
+    IN gctUINT16 numStructureElement,
+    IN gctINT16 parent,
+    IN gctINT16 prevSibling,
+    OUT gctINT16* ThisVarIndex
+    );
+
+/*******************************************************************************
+**  gcSHADER_UpdateVariable
+********************************************************************************
+**
+**  Update a variable to a gcSHADER object.
+**
+**  INPUT:
+**
+**             gcSHADER Shader
+**                     Pointer to a gcSHADER object.
+**
+**             gctUINT Index
+**                     Index of variable to retrieve.
+**
+**             gceVARIABLE_UPDATE_FLAGS flag
+**                     Flag which property of variable will be updated.
+**
+**      gctUINT newValue
+**          New value to update.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gcSHADER_UpdateVariable(
+    IN gcSHADER Shader,
+    IN gctUINT Index,
+    IN gceVARIABLE_UPDATE_FLAGS flag,
+    IN gctUINT newValue
+    );
+
+/*******************************************************************************
+**                                                      gcSHADER_GetVariableCount
+********************************************************************************
+**
+**     Get the number of variables for this shader.
+**
+**     INPUT:
+**
+**             gcSHADER Shader
+**                     Pointer to a gcSHADER object.
+**
+**     OUTPUT:
+**
+**             gctSIZE_T * Count
+**                     Pointer to a variable receiving the number of variables.
+*/
+gceSTATUS
+gcSHADER_GetVariableCount(
+       IN gcSHADER Shader,
+       OUT gctSIZE_T * Count
+       );
+
+/*******************************************************************************
+**                                                        gcSHADER_GetVariable
+********************************************************************************
+**
+**     Get the gcVARIABLE object pointer for an indexed variable for this shader.
+**
+**     INPUT:
+**
+**             gcSHADER Shader
+**                     Pointer to a gcSHADER object.
+**
+**             gctUINT Index
+**                     Index of variable to retrieve.
+**
+**     OUTPUT:
+**
+**             gcVARIABLE * Variable
+**                     Pointer to a variable receiving the gcVARIABLE object pointer.
+*/
+gceSTATUS
+gcSHADER_GetVariable(
+       IN gcSHADER Shader,
+       IN gctUINT Index,
+       OUT gcVARIABLE * Variable
+       );
+
+/*******************************************************************************
+**                                                        gcSHADER_GetVariableIndexingRange
+********************************************************************************
+**
+**     Get the gcVARIABLE indexing range.
+**
+**     INPUT:
+**
+**             gcSHADER Shader
+**                     Pointer to a gcSHADER object.
+**
+**             gcVARIABLE variable
+**                     Start variable.
+**
+**             gctBOOL whole
+**                     Indicate whether maximum indexing range is queried
+**
+**     OUTPUT:
+**
+**             gctUINT *Start
+**                     Pointer to range start (temp register index).
+**
+**             gctUINT *End
+**                     Pointer to range end (temp register index).
+*/
+gceSTATUS
+gcSHADER_GetVariableIndexingRange(
+       IN gcSHADER Shader,
+    IN gcVARIABLE variable,
+    IN gctBOOL whole,
+    OUT gctUINT *Start,
+    OUT gctUINT *End
+       );
+
+/*******************************************************************************
+**                                                        gcSHADER_AddOpcode
+********************************************************************************
+**
+**     Add an opcode to a gcSHADER object.
+**
+**     INPUT:
+**
+**             gcSHADER Shader
+**                     Pointer to a gcSHADER object.
+**
+**             gcSL_OPCODE Opcode
+**                     Opcode to add.
+**
+**             gctUINT16 TempRegister
+**                     Temporary register index that acts as the target of the opcode.
+**
+**             gctUINT8 Enable
+**                     Write enable bits for the temporary register that acts as the target
+**                     of the opcode.
+**
+**             gcSL_FORMAT Format
+**                     Format of the temporary register.
+**
+**     OUTPUT:
+**
+**             Nothing.
+*/
+gceSTATUS
+gcSHADER_AddOpcode(
+       IN gcSHADER Shader,
+       IN gcSL_OPCODE Opcode,
+       IN gctUINT16 TempRegister,
+       IN gctUINT8 Enable,
+       IN gcSL_FORMAT Format
+       );
+
+gceSTATUS
+gcSHADER_AddOpcode2(
+       IN gcSHADER Shader,
+       IN gcSL_OPCODE Opcode,
+       IN gcSL_CONDITION Condition,
+       IN gctUINT16 TempRegister,
+       IN gctUINT8 Enable,
+       IN gcSL_FORMAT Format
+       );
+
+/*******************************************************************************
+**                                                     gcSHADER_AddOpcodeIndexed
+********************************************************************************
+**
+**     Add an opcode to a gcSHADER object that writes to an dynamically indexed
+**     target.
+**
+**     INPUT:
+**
+**             gcSHADER Shader
+**                     Pointer to a gcSHADER object.
+**
+**             gcSL_OPCODE Opcode
+**                     Opcode to add.
+**
+**             gctUINT16 TempRegister
+**                     Temporary register index that acts as the target of the opcode.
+**
+**             gctUINT8 Enable
+**                     Write enable bits  for the temporary register that acts as the
+**                     target of the opcode.
+**
+**             gcSL_INDEXED Mode
+**                     Location of the dynamic index inside the temporary register.  Valid
+**                     values can be:
+**
+**                             gcSL_INDEXED_X - Use x component of the temporary register.
+**                             gcSL_INDEXED_Y - Use y component of the temporary register.
+**                             gcSL_INDEXED_Z - Use z component of the temporary register.
+**                             gcSL_INDEXED_W - Use w component of the temporary register.
+**
+**             gctUINT16 IndexRegister
+**                     Temporary register index that holds the dynamic index.
+**
+**             gcSL_FORMAT Format
+**                     Format of the temporary register.
+**
+**     OUTPUT:
+**
+**             Nothing.
+*/
+gceSTATUS
+gcSHADER_AddOpcodeIndexed(
+       IN gcSHADER Shader,
+       IN gcSL_OPCODE Opcode,
+       IN gctUINT16 TempRegister,
+       IN gctUINT8 Enable,
+       IN gcSL_INDEXED Mode,
+       IN gctUINT16 IndexRegister,
+       IN gcSL_FORMAT Format
+       );
+
+/*******************************************************************************
+**  gcSHADER_AddOpcodeConditionIndexed
+**
+**  Add an opcode to a gcSHADER object that writes to an dynamically indexed
+**  target.
+**
+**  INPUT:
+**
+**      gcSHADER Shader
+**          Pointer to a gcSHADER object.
+**
+**      gcSL_OPCODE Opcode
+**          Opcode to add.
+**
+**      gcSL_CONDITION Condition
+**          Condition to check.
+**
+**      gctUINT16 TempRegister
+**          Temporary register index that acts as the target of the opcode.
+**
+**      gctUINT8 Enable
+**          Write enable bits  for the temporary register that acts as the
+**          target of the opcode.
+**
+**      gcSL_INDEXED Indexed
+**          Location of the dynamic index inside the temporary register.  Valid
+**          values can be:
+**
+**              gcSL_INDEXED_X - Use x component of the temporary register.
+**              gcSL_INDEXED_Y - Use y component of the temporary register.
+**              gcSL_INDEXED_Z - Use z component of the temporary register.
+**              gcSL_INDEXED_W - Use w component of the temporary register.
+**
+**      gctUINT16 IndexRegister
+**          Temporary register index that holds the dynamic index.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gcSHADER_AddOpcodeConditionIndexed(
+    IN gcSHADER Shader,
+    IN gcSL_OPCODE Opcode,
+    IN gcSL_CONDITION Condition,
+    IN gctUINT16 TempRegister,
+    IN gctUINT8 Enable,
+    IN gcSL_INDEXED Indexed,
+    IN gctUINT16 IndexRegister,
+    IN gcSL_FORMAT Format
+    );
+
+/*******************************************************************************
+**                                               gcSHADER_AddOpcodeConditional
+********************************************************************************
+**
+**     Add an conditional opcode to a gcSHADER object.
+**
+**     INPUT:
+**
+**             gcSHADER Shader
+**                     Pointer to a gcSHADER object.
+**
+**             gcSL_OPCODE Opcode
+**                     Opcode to add.
+**
+**             gcSL_CONDITION Condition
+**                     Condition that needs to evaluate to gcvTRUE in order for the opcode to
+**                     execute.
+**
+**             gctUINT Label
+**                     Target label if 'Condition' evaluates to gcvTRUE.
+**
+**     OUTPUT:
+**
+**             Nothing.
+*/
+gceSTATUS
+gcSHADER_AddOpcodeConditional(
+       IN gcSHADER Shader,
+       IN gcSL_OPCODE Opcode,
+       IN gcSL_CONDITION Condition,
+       IN gctUINT Label
+       );
+
+/*******************************************************************************
+**  gcSHADER_AddOpcodeConditionalFormatted
+**
+**  Add an conditional jump or call opcode to a gcSHADER object.
+**
+**  INPUT:
+**
+**      gcSHADER Shader
+**          Pointer to a gcSHADER object.
+**
+**      gcSL_OPCODE Opcode
+**          Opcode to add.
+**
+**      gcSL_CONDITION Condition
+**          Condition that needs to evaluate to gcvTRUE in order for the opcode to
+**          execute.
+**
+**      gcSL_FORMAT Format
+**          Format of conditional operands
+**
+**      gctUINT Label
+**          Target label if 'Condition' evaluates to gcvTRUE.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gcSHADER_AddOpcodeConditionalFormatted(
+    IN gcSHADER Shader,
+    IN gcSL_OPCODE Opcode,
+    IN gcSL_CONDITION Condition,
+    IN gcSL_FORMAT Format,
+    IN gctUINT Label
+    );
+
+/*******************************************************************************
+**  gcSHADER_AddOpcodeConditionalFormattedEnable
+**
+**  Add an conditional jump or call opcode to a gcSHADER object.
+**
+**  INPUT:
+**
+**      gcSHADER Shader
+**          Pointer to a gcSHADER object.
+**
+**      gcSL_OPCODE Opcode
+**          Opcode to add.
+**
+**      gcSL_CONDITION Condition
+**          Condition that needs to evaluate to gcvTRUE in order for the opcode to
+**          execute.
+**
+**      gcSL_FORMAT Format
+**          Format of conditional operands
+**
+**      gctUINT8 Enable
+**          Write enable value for the target of the opcode.
+**
+**      gctUINT Label
+**          Target label if 'Condition' evaluates to gcvTRUE.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gcSHADER_AddOpcodeConditionalFormattedEnable(
+    IN gcSHADER Shader,
+    IN gcSL_OPCODE Opcode,
+    IN gcSL_CONDITION Condition,
+    IN gcSL_FORMAT Format,
+    IN gctUINT8 Enable,
+    IN gctUINT Label
+    );
+
+/*******************************************************************************
+**                                                             gcSHADER_AddLabel
+********************************************************************************
+**
+**     Define a label at the current instruction of a gcSHADER object.
+**
+**     INPUT:
+**
+**             gcSHADER Shader
+**                     Pointer to a gcSHADER object.
+**
+**             gctUINT Label
+**                     Label to define.
+**
+**     OUTPUT:
+**
+**             Nothing.
+*/
+gceSTATUS
+gcSHADER_AddLabel(
+       IN gcSHADER Shader,
+       IN gctUINT Label
+       );
+
+/*******************************************************************************
+**                                                        gcSHADER_AddSource
+********************************************************************************
+**
+**     Add a source operand to a gcSHADER object.
+**
+**     INPUT:
+**
+**             gcSHADER Shader
+**                     Pointer to a gcSHADER object.
+**
+**             gcSL_TYPE Type
+**                     Type of the source operand.
+**
+**             gctUINT16 SourceIndex
+**                     Index of the source operand.
+**
+**             gctUINT8 Swizzle
+**                     x, y, z, and w swizzle values packed into one 8-bit value.
+**
+**             gcSL_FORMAT Format
+**                     Format of the source operand.
+**
+**     OUTPUT:
+**
+**             Nothing.
+*/
+gceSTATUS
+gcSHADER_AddSource(
+       IN gcSHADER Shader,
+       IN gcSL_TYPE Type,
+       IN gctUINT16 SourceIndex,
+       IN gctUINT8 Swizzle,
+       IN gcSL_FORMAT Format
+       );
+
+/*******************************************************************************
+**                                                     gcSHADER_AddSourceIndexed
+********************************************************************************
+**
+**     Add a dynamically indexed source operand to a gcSHADER object.
+**
+**     INPUT:
+**
+**             gcSHADER Shader
+**                     Pointer to a gcSHADER object.
+**
+**             gcSL_TYPE Type
+**                     Type of the source operand.
+**
+**             gctUINT16 SourceIndex
+**                     Index of the source operand.
+**
+**             gctUINT8 Swizzle
+**                     x, y, z, and w swizzle values packed into one 8-bit value.
+**
+**             gcSL_INDEXED Mode
+**                     Addressing mode for the index.
+**
+**             gctUINT16 IndexRegister
+**                     Temporary register index that holds the dynamic index.
+**
+**             gcSL_FORMAT Format
+**                     Format of the source operand.
+**
+**     OUTPUT:
+**
+**             Nothing.
+*/
+gceSTATUS
+gcSHADER_AddSourceIndexed(
+       IN gcSHADER Shader,
+       IN gcSL_TYPE Type,
+       IN gctUINT16 SourceIndex,
+       IN gctUINT8 Swizzle,
+       IN gcSL_INDEXED Mode,
+       IN gctUINT16 IndexRegister,
+       IN gcSL_FORMAT Format
+       );
+
+/*******************************************************************************
+**                                                gcSHADER_AddSourceAttribute
+********************************************************************************
+**
+**     Add an attribute as a source operand to a gcSHADER object.
+**
+**     INPUT:
+**
+**             gcSHADER Shader
+**                     Pointer to a gcSHADER object.
+**
+**             gcATTRIBUTE Attribute
+**                     Pointer to a gcATTRIBUTE object.
+**
+**             gctUINT8 Swizzle
+**                     x, y, z, and w swizzle values packed into one 8-bit value.
+**
+**             gctINT Index
+**                     Static index into the attribute in case the attribute is a matrix
+**                     or array.
+**
+**     OUTPUT:
+**
+**             Nothing.
+*/
+gceSTATUS
+gcSHADER_AddSourceAttribute(
+       IN gcSHADER Shader,
+       IN gcATTRIBUTE Attribute,
+       IN gctUINT8 Swizzle,
+       IN gctINT Index
+       );
+
+/*******************************************************************************
+**                                                gcSHADER_AddSourceAttributeIndexed
+********************************************************************************
+**
+**     Add an indexed attribute as a source operand to a gcSHADER object.
+**
+**     INPUT:
+**
+**             gcSHADER Shader
+**                     Pointer to a gcSHADER object.
+**
+**             gcATTRIBUTE Attribute
+**                     Pointer to a gcATTRIBUTE object.
+**
+**             gctUINT8 Swizzle
+**                     x, y, z, and w swizzle values packed into one 8-bit value.
+**
+**             gctINT Index
+**                     Static index into the attribute in case the attribute is a matrix
+**                     or array.
+**
+**             gcSL_INDEXED Mode
+**                     Addressing mode of the dynamic index.
+**
+**             gctUINT16 IndexRegister
+**                     Temporary register index that holds the dynamic index.
+**
+**     OUTPUT:
+**
+**             Nothing.
+*/
+gceSTATUS
+gcSHADER_AddSourceAttributeIndexed(
+       IN gcSHADER Shader,
+       IN gcATTRIBUTE Attribute,
+       IN gctUINT8 Swizzle,
+       IN gctINT Index,
+       IN gcSL_INDEXED Mode,
+       IN gctUINT16 IndexRegister
+       );
+
+/*******************************************************************************
+**                                                     gcSHADER_AddSourceUniform
+********************************************************************************
+**
+**     Add a uniform as a source operand to a gcSHADER object.
+**
+**     INPUT:
+**
+**             gcSHADER Shader
+**                     Pointer to a gcSHADER object.
+**
+**             gcUNIFORM Uniform
+**                     Pointer to a gcUNIFORM object.
+**
+**             gctUINT8 Swizzle
+**                     x, y, z, and w swizzle values packed into one 8-bit value.
+**
+**             gctINT Index
+**                     Static index into the uniform in case the uniform is a matrix or
+**                     array.
+**
+**     OUTPUT:
+**
+**             Nothing.
+*/
+gceSTATUS
+gcSHADER_AddSourceUniform(
+       IN gcSHADER Shader,
+       IN gcUNIFORM Uniform,
+       IN gctUINT8 Swizzle,
+       IN gctINT Index
+       );
+
+/*******************************************************************************
+**                                             gcSHADER_AddSourceUniformIndexed
+********************************************************************************
+**
+**     Add an indexed uniform as a source operand to a gcSHADER object.
+**
+**     INPUT:
+**
+**             gcSHADER Shader
+**                     Pointer to a gcSHADER object.
+**
+**             gcUNIFORM Uniform
+**                     Pointer to a gcUNIFORM object.
+**
+**             gctUINT8 Swizzle
+**                     x, y, z, and w swizzle values packed into one 8-bit value.
+**
+**             gctINT Index
+**                     Static index into the uniform in case the uniform is a matrix or
+**                     array.
+**
+**             gcSL_INDEXED Mode
+**                     Addressing mode of the dynamic index.
+**
+**             gctUINT16 IndexRegister
+**                     Temporary register index that holds the dynamic index.
+**
+**     OUTPUT:
+**
+**             Nothing.
+*/
+gceSTATUS
+gcSHADER_AddSourceUniformIndexed(
+       IN gcSHADER Shader,
+       IN gcUNIFORM Uniform,
+       IN gctUINT8 Swizzle,
+       IN gctINT Index,
+       IN gcSL_INDEXED Mode,
+       IN gctUINT16 IndexRegister
+       );
+
+gceSTATUS
+gcSHADER_AddSourceSamplerIndexed(
+       IN gcSHADER Shader,
+       IN gctUINT8 Swizzle,
+       IN gcSL_INDEXED Mode,
+       IN gctUINT16 IndexRegister
+       );
+
+gceSTATUS
+gcSHADER_AddSourceAttributeFormatted(
+    IN gcSHADER Shader,
+    IN gcATTRIBUTE Attribute,
+    IN gctUINT8 Swizzle,
+    IN gctINT Index,
+    IN gcSL_FORMAT Format
+    );
+
+gceSTATUS
+gcSHADER_AddSourceAttributeIndexedFormatted(
+    IN gcSHADER Shader,
+    IN gcATTRIBUTE Attribute,
+    IN gctUINT8 Swizzle,
+    IN gctINT Index,
+    IN gcSL_INDEXED Mode,
+    IN gctUINT16 IndexRegister,
+    IN gcSL_FORMAT Format
+    );
+
+gceSTATUS
+gcSHADER_AddSourceUniformFormatted(
+    IN gcSHADER Shader,
+    IN gcUNIFORM Uniform,
+    IN gctUINT8 Swizzle,
+    IN gctINT Index,
+    IN gcSL_FORMAT Format
+    );
+
+gceSTATUS
+gcSHADER_AddSourceUniformIndexedFormatted(
+    IN gcSHADER Shader,
+    IN gcUNIFORM Uniform,
+    IN gctUINT8 Swizzle,
+    IN gctINT Index,
+    IN gcSL_INDEXED Mode,
+    IN gctUINT16 IndexRegister,
+    IN gcSL_FORMAT Format
+    );
+
+gceSTATUS
+gcSHADER_AddSourceSamplerIndexedFormatted(
+    IN gcSHADER Shader,
+    IN gctUINT8 Swizzle,
+    IN gcSL_INDEXED Mode,
+    IN gctUINT16 IndexRegister,
+    IN gcSL_FORMAT Format
+    );
+
+/*******************************************************************************
+**                                                gcSHADER_AddSourceConstant
+********************************************************************************
+**
+**     Add a constant floating point value as a source operand to a gcSHADER
+**     object.
+**
+**     INPUT:
+**
+**             gcSHADER Shader
+**                     Pointer to a gcSHADER object.
+**
+**             gctFLOAT Constant
+**                     Floating point constant.
+**
+**     OUTPUT:
+**
+**             Nothing.
+*/
+gceSTATUS
+gcSHADER_AddSourceConstant(
+       IN gcSHADER Shader,
+       IN gctFLOAT Constant
+       );
+
+/*******************************************************************************
+**                                        gcSHADER_AddSourceConstantFormatted
+********************************************************************************
+**
+**     Add a constant value as a source operand to a gcSHADER
+**     object.
+**
+**     INPUT:
+**
+**             gcSHADER Shader
+**                     Pointer to a gcSHADER object.
+**
+**             void * Constant
+**                     Pointer to constant.
+**
+**             gcSL_FORMAT Format
+**
+**     OUTPUT:
+**
+**             Nothing.
+*/
+gceSTATUS
+gcSHADER_AddSourceConstantFormatted(
+       IN gcSHADER Shader,
+       IN void *Constant,
+       IN gcSL_FORMAT Format
+       );
+
+/*******************************************************************************
+**                                                               gcSHADER_Pack
+********************************************************************************
+**
+**     Pack a dynamically created gcSHADER object by trimming the allocated arrays
+**     and resolving all the labeling.
+**
+**     INPUT:
+**
+**             gcSHADER Shader
+**                     Pointer to a gcSHADER object.
+**
+**     OUTPUT:
+**
+**             Nothing.
+*/
+gceSTATUS
+gcSHADER_Pack(
+       IN gcSHADER Shader
+       );
+
+/*******************************************************************************
+**                                                             gcSHADER_SetOptimizationOption
+********************************************************************************
+**
+**     Set optimization option of a gcSHADER object.
+**
+**     INPUT:
+**
+**             gcSHADER Shader
+**                     Pointer to a gcSHADER object.
+**
+**             gctUINT OptimizationOption
+**                     Optimization option.  Can be one of the following:
+**
+**                             0                                               - No optimization.
+**                             1                                               - Full optimization.
+**                             Other value                             - For optimizer testing.
+**
+**     OUTPUT:
+**
+**             Nothing.
+*/
+gceSTATUS
+gcSHADER_SetOptimizationOption(
+       IN gcSHADER Shader,
+       IN gctUINT OptimizationOption
+       );
+
+/*******************************************************************************
+**  gcSHADER_ReallocateFunctions
+**
+**  Reallocate an array of pointers to gcFUNCTION objects.
+**
+**  INPUT:
+**
+**      gcSHADER Shader
+**          Pointer to a gcSHADER object.
+**
+**      gctSIZE_T Count
+**          Array count to reallocate.  'Count' must be at least 1.
+*/
+gceSTATUS
+gcSHADER_ReallocateFunctions(
+    IN gcSHADER Shader,
+    IN gctSIZE_T Count
+    );
+
+gceSTATUS
+gcSHADER_AddFunction(
+       IN gcSHADER Shader,
+       IN gctCONST_STRING Name,
+       OUT gcFUNCTION * Function
+       );
+
+gceSTATUS
+gcSHADER_ReallocateKernelFunctions(
+    IN gcSHADER Shader,
+    IN gctSIZE_T Count
+    );
+
+gceSTATUS
+gcSHADER_AddKernelFunction(
+       IN gcSHADER Shader,
+       IN gctCONST_STRING Name,
+       OUT gcKERNEL_FUNCTION * KernelFunction
+       );
+
+gceSTATUS
+gcSHADER_BeginFunction(
+       IN gcSHADER Shader,
+       IN gcFUNCTION Function
+       );
+
+gceSTATUS
+gcSHADER_EndFunction(
+       IN gcSHADER Shader,
+       IN gcFUNCTION Function
+       );
+
+gceSTATUS
+gcSHADER_BeginKernelFunction(
+       IN gcSHADER Shader,
+       IN gcKERNEL_FUNCTION KernelFunction
+       );
+
+gceSTATUS
+gcSHADER_EndKernelFunction(
+       IN gcSHADER Shader,
+       IN gcKERNEL_FUNCTION KernelFunction,
+       IN gctSIZE_T LocalMemorySize
+       );
+
+gceSTATUS
+gcSHADER_SetMaxKernelFunctionArgs(
+    IN gcSHADER Shader,
+    IN gctUINT32 MaxKernelFunctionArgs
+    );
+
+/*******************************************************************************
+**  gcSHADER_SetConstantMemorySize
+**
+**  Set the constant memory address space size of a gcSHADER object.
+**
+**  INPUT:
+**
+**      gcSHADER Shader
+**          Pointer to a gcSHADER object.
+**
+**      gctSIZE_T ConstantMemorySize
+**          Constant memory size in bytes
+**
+**      gctCHAR *ConstantMemoryBuffer
+**          Constant memory buffer
+*/
+gceSTATUS
+gcSHADER_SetConstantMemorySize(
+    IN gcSHADER Shader,
+    IN gctSIZE_T ConstantMemorySize,
+    IN gctCHAR * ConstantMemoryBuffer
+    );
+
+/*******************************************************************************
+**  gcSHADER_GetConstantMemorySize
+**
+**  Set the constant memory address space size of a gcSHADER object.
+**
+**  INPUT:
+**
+**      gcSHADER Shader
+**          Pointer to a gcSHADER object.
+**
+**  OUTPUT:
+**
+**      gctSIZE_T * ConstantMemorySize
+**          Pointer to a variable receiving constant memory size in bytes
+**
+**      gctCHAR **ConstantMemoryBuffer.
+**          Pointer to a variable for returned shader constant memory buffer.
+*/
+gceSTATUS
+gcSHADER_GetConstantMemorySize(
+    IN gcSHADER Shader,
+    OUT gctSIZE_T * ConstantMemorySize,
+    OUT gctCHAR ** ConstantMemoryBuffer
+    );
+
+/*******************************************************************************
+**  gcSHADER_SetPrivateMemorySize
+**
+**  Set the private memory address space size of a gcSHADER object.
+**
+**  INPUT:
+**
+**      gcSHADER Shader
+**          Pointer to a gcSHADER object.
+**
+**      gctSIZE_T PrivateMemorySize
+**          Private memory size in bytes
+*/
+gceSTATUS
+gcSHADER_SetPrivateMemorySize(
+    IN gcSHADER Shader,
+    IN gctSIZE_T PrivateMemorySize
+    );
+
+/*******************************************************************************
+**  gcSHADER_GetPrivateMemorySize
+**
+**  Set the private memory address space size of a gcSHADER object.
+**
+**  INPUT:
+**
+**      gcSHADER Shader
+**          Pointer to a gcSHADER object.
+**
+**  OUTPUT:
+**
+**      gctSIZE_T * PrivateMemorySize
+**          Pointer to a variable receiving private memory size in bytes
+*/
+gceSTATUS
+gcSHADER_GetPrivateMemorySize(
+    IN gcSHADER Shader,
+    OUT gctSIZE_T * PrivateMemorySize
+    );
+
+/*******************************************************************************
+**  gcSHADER_SetLocalMemorySize
+**
+**  Set the local memory address space size of a gcSHADER object.
+**
+**  INPUT:
+**
+**      gcSHADER Shader
+**          Pointer to a gcSHADER object.
+**
+**      gctSIZE_T LocalMemorySize
+**          Local memory size in bytes
+*/
+gceSTATUS
+gcSHADER_SetLocalMemorySize(
+    IN gcSHADER Shader,
+    IN gctSIZE_T LocalMemorySize
+    );
+
+/*******************************************************************************
+**  gcSHADER_GetLocalMemorySize
+**
+**  Set the local memory address space size of a gcSHADER object.
+**
+**  INPUT:
+**
+**      gcSHADER Shader
+**          Pointer to a gcSHADER object.
+**
+**  OUTPUT:
+**
+**      gctSIZE_T * LocalMemorySize
+**          Pointer to a variable receiving lcoal memory size in bytes
+*/
+gceSTATUS
+gcSHADER_GetLocalMemorySize(
+    IN gcSHADER Shader,
+    OUT gctSIZE_T * LocalMemorySize
+    );
+
+
+/*******************************************************************************
+**  gcSHADER_CheckValidity
+**
+**  Check validity for a gcSHADER object.
+**
+**  INPUT:
+**
+**      gcSHADER Shader
+**          Pointer to a gcSHADER object.
+**
+*/
+gceSTATUS
+gcSHADER_CheckValidity(
+    IN gcSHADER Shader
+    );
+
+#if gcdUSE_WCLIP_PATCH
+gceSTATUS
+gcATTRIBUTE_IsPosition(
+        IN gcATTRIBUTE Attribute,
+        OUT gctBOOL * IsPosition
+        );
+#endif
+
+/*******************************************************************************
+**                             gcATTRIBUTE_GetType
+********************************************************************************
+**
+**     Get the type and array length of a gcATTRIBUTE object.
+**
+**     INPUT:
+**
+**             gcATTRIBUTE Attribute
+**                     Pointer to a gcATTRIBUTE object.
+**
+**     OUTPUT:
+**
+**             gcSHADER_TYPE * Type
+**                     Pointer to a variable receiving the type of the attribute.  'Type'
+**                     can be gcvNULL, in which case no type will be returned.
+**
+**             gctSIZE_T * ArrayLength
+**                     Pointer to a variable receiving the length of the array if the
+**                     attribute was declared as an array.  If the attribute was not
+**                     declared as an array, the array length will be 1.  'ArrayLength' can
+**                     be gcvNULL, in which case no array length will be returned.
+*/
+gceSTATUS
+gcATTRIBUTE_GetType(
+       IN gcATTRIBUTE Attribute,
+       OUT gcSHADER_TYPE * Type,
+       OUT gctSIZE_T * ArrayLength
+       );
+
+/*******************************************************************************
+**                            gcATTRIBUTE_GetName
+********************************************************************************
+**
+**     Get the name of a gcATTRIBUTE object.
+**
+**     INPUT:
+**
+**             gcATTRIBUTE Attribute
+**                     Pointer to a gcATTRIBUTE object.
+**
+**     OUTPUT:
+**
+**             gctSIZE_T * Length
+**                     Pointer to a variable receiving the length of the attribute name.
+**                     'Length' can be gcvNULL, in which case no length will be returned.
+**
+**             gctCONST_STRING * Name
+**                     Pointer to a variable receiving the pointer to the attribute name.
+**                     'Name' can be gcvNULL, in which case no name will be returned.
+*/
+gceSTATUS
+gcATTRIBUTE_GetName(
+       IN gcATTRIBUTE Attribute,
+       OUT gctSIZE_T * Length,
+       OUT gctCONST_STRING * Name
+       );
+
+/*******************************************************************************
+**                            gcATTRIBUTE_IsEnabled
+********************************************************************************
+**
+**     Query the enabled state of a gcATTRIBUTE object.
+**
+**     INPUT:
+**
+**             gcATTRIBUTE Attribute
+**                     Pointer to a gcATTRIBUTE object.
+**
+**     OUTPUT:
+**
+**             gctBOOL * Enabled
+**                     Pointer to a variable receiving the enabled state of the attribute.
+*/
+gceSTATUS
+gcATTRIBUTE_IsEnabled(
+       IN gcATTRIBUTE Attribute,
+       OUT gctBOOL * Enabled
+       );
+
+/*******************************************************************************
+**                              gcUNIFORM_GetType
+********************************************************************************
+**
+**     Get the type and array length of a gcUNIFORM object.
+**
+**     INPUT:
+**
+**             gcUNIFORM Uniform
+**                     Pointer to a gcUNIFORM object.
+**
+**     OUTPUT:
+**
+**             gcSHADER_TYPE * Type
+**                     Pointer to a variable receiving the type of the uniform.  'Type' can
+**                     be gcvNULL, in which case no type will be returned.
+**
+**             gctSIZE_T * ArrayLength
+**                     Pointer to a variable receiving the length of the array if the
+**                     uniform was declared as an array.  If the uniform was not declared
+**                     as an array, the array length will be 1.  'ArrayLength' can be gcvNULL,
+**                     in which case no array length will be returned.
+*/
+gceSTATUS
+gcUNIFORM_GetType(
+       IN gcUNIFORM Uniform,
+       OUT gcSHADER_TYPE * Type,
+       OUT gctSIZE_T * ArrayLength
+       );
+
+/*******************************************************************************
+**                              gcUNIFORM_GetTypeEx
+********************************************************************************
+**
+**     Get the type and array length of a gcUNIFORM object.
+**
+**     INPUT:
+**
+**             gcUNIFORM Uniform
+**                     Pointer to a gcUNIFORM object.
+**
+**     OUTPUT:
+**
+**             gcSHADER_TYPE * Type
+**                     Pointer to a variable receiving the type of the uniform.  'Type' can
+**                     be gcvNULL, in which case no type will be returned.
+**
+**             gcSHADER_PRECISION * Precision
+**                     Pointer to a variable receiving the precision of the uniform.  'Precision' can
+**                     be gcvNULL, in which case no type will be returned.
+**
+**             gctSIZE_T * ArrayLength
+**                     Pointer to a variable receiving the length of the array if the
+**                     uniform was declared as an array.  If the uniform was not declared
+**                     as an array, the array length will be 1.  'ArrayLength' can be gcvNULL,
+**                     in which case no array length will be returned.
+*/
+gceSTATUS
+gcUNIFORM_GetTypeEx(
+       IN gcUNIFORM Uniform,
+       OUT gcSHADER_TYPE * Type,
+    OUT gcSHADER_PRECISION * Precision,
+       OUT gctSIZE_T * ArrayLength
+       );
+
+/*******************************************************************************
+**                              gcUNIFORM_GetFlags
+********************************************************************************
+**
+**     Get the flags of a gcUNIFORM object.
+**
+**     INPUT:
+**
+**             gcUNIFORM Uniform
+**                     Pointer to a gcUNIFORM object.
+**
+**     OUTPUT:
+**
+**             gceUNIFORM_FLAGS * Flags
+**                     Pointer to a variable receiving the flags of the uniform.
+**
+*/
+gceSTATUS
+gcUNIFORM_GetFlags(
+       IN gcUNIFORM Uniform,
+       OUT gceUNIFORM_FLAGS * Flags
+       );
+
+/*******************************************************************************
+**                              gcUNIFORM_SetFlags
+********************************************************************************
+**
+**     Set the flags of a gcUNIFORM object.
+**
+**     INPUT:
+**
+**             gcUNIFORM Uniform
+**                     Pointer to a gcUNIFORM object.
+**
+**             gceUNIFORM_FLAGS Flags
+**                     Flags of the uniform to be set.
+**
+**     OUTPUT:
+**                     Nothing.
+**
+*/
+gceSTATUS
+gcUNIFORM_SetFlags(
+       IN gcUNIFORM Uniform,
+       IN gceUNIFORM_FLAGS Flags
+       );
+
+/*******************************************************************************
+**                              gcUNIFORM_GetName
+********************************************************************************
+**
+**     Get the name of a gcUNIFORM object.
+**
+**     INPUT:
+**
+**             gcUNIFORM Uniform
+**                     Pointer to a gcUNIFORM object.
+**
+**     OUTPUT:
+**
+**             gctSIZE_T * Length
+**                     Pointer to a variable receiving the length of the uniform name.
+**                     'Length' can be gcvNULL, in which case no length will be returned.
+**
+**             gctCONST_STRING * Name
+**                     Pointer to a variable receiving the pointer to the uniform name.
+**                     'Name' can be gcvNULL, in which case no name will be returned.
+*/
+gceSTATUS
+gcUNIFORM_GetName(
+       IN gcUNIFORM Uniform,
+       OUT gctSIZE_T * Length,
+       OUT gctCONST_STRING * Name
+       );
+
+/*******************************************************************************
+**                              gcUNIFORM_GetSampler
+********************************************************************************
+**
+**     Get the physical sampler number for a sampler gcUNIFORM object.
+**
+**     INPUT:
+**
+**             gcUNIFORM Uniform
+**                     Pointer to a gcUNIFORM object.
+**
+**     OUTPUT:
+**
+**             gctUINT32 * Sampler
+**                     Pointer to a variable receiving the physical sampler.
+*/
+gceSTATUS
+gcUNIFORM_GetSampler(
+       IN gcUNIFORM Uniform,
+       OUT gctUINT32 * Sampler
+       );
+
+/*******************************************************************************
+**  gcUNIFORM_GetFormat
+**
+**  Get the type and array length of a gcUNIFORM object.
+**
+**  INPUT:
+**
+**      gcUNIFORM Uniform
+**          Pointer to a gcUNIFORM object.
+**
+**  OUTPUT:
+**
+**      gcSL_FORMAT * Format
+**          Pointer to a variable receiving the format of element of the uniform.
+**          'Type' can be gcvNULL, in which case no type will be returned.
+**
+**      gctBOOL * IsPointer
+**          Pointer to a variable receiving the state wheter the uniform is a pointer.
+**          'IsPointer' can be gcvNULL, in which case no array length will be returned.
+*/
+gceSTATUS
+gcUNIFORM_GetFormat(
+    IN gcUNIFORM Uniform,
+    OUT gcSL_FORMAT * Format,
+    OUT gctBOOL * IsPointer
+    );
+
+/*******************************************************************************
+**  gcUNIFORM_SetFormat
+**
+**  Set the format and isPointer of a uniform.
+**
+**  INPUT:
+**
+**      gcUNIFORM Uniform
+**          Pointer to a gcUNIFORM object.
+**
+**      gcSL_FORMAT Format
+**          Format of element of the uniform shaderType.
+**
+**      gctBOOL IsPointer
+**          Wheter the uniform is a pointer.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gcUNIFORM_SetFormat(
+    IN gcUNIFORM Uniform,
+    IN gcSL_FORMAT Format,
+    IN gctBOOL IsPointer
+    );
+
+/*******************************************************************************
+**                                                        gcUNIFORM_SetValue
+********************************************************************************
+**
+**     Set the value of a uniform in integer.
+**
+**     INPUT:
+**
+**             gcUNIFORM Uniform
+**                     Pointer to a gcUNIFORM object.
+**
+**             gctSIZE_T Count
+**                     Number of entries to program if the uniform has been declared as an
+**                     array.
+**
+**             const gctINT * Value
+**                     Pointer to a buffer holding the integer values for the uniform.
+**
+**     OUTPUT:
+**
+**             Nothing.
+*/
+gceSTATUS
+gcUNIFORM_SetValue(
+       IN gcUNIFORM Uniform,
+       IN gctSIZE_T Count,
+       IN const gctINT * Value
+       );
+
+/*******************************************************************************
+**                                                        gcUNIFORM_SetValueX
+********************************************************************************
+**
+**     Set the value of a uniform in fixed point.
+**
+**     INPUT:
+**
+**             gcUNIFORM Uniform
+**                     Pointer to a gcUNIFORM object.
+**
+**             gctSIZE_T Count
+**                     Number of entries to program if the uniform has been declared as an
+**                     array.
+**
+**             const gctFIXED_POINT * Value
+**                     Pointer to a buffer holding the fixed point values for the uniform.
+**
+**     OUTPUT:
+**
+**             Nothing.
+*/
+gceSTATUS
+gcUNIFORM_SetValueX(
+       IN gcUNIFORM Uniform,
+       IN gctSIZE_T Count,
+       IN gctFIXED_POINT * Value
+       );
+
+/*******************************************************************************
+**                                                        gcUNIFORM_SetValueF
+********************************************************************************
+**
+**     Set the value of a uniform in floating point.
+**
+**     INPUT:
+**
+**             gcUNIFORM Uniform
+**                     Pointer to a gcUNIFORM object.
+**
+**             gctSIZE_T Count
+**                     Number of entries to program if the uniform has been declared as an
+**                     array.
+**
+**             const gctFLOAT * Value
+**                     Pointer to a buffer holding the floating point values for the
+**                     uniform.
+**
+**     OUTPUT:
+**
+**             Nothing.
+*/
+gceSTATUS
+gcUNIFORM_SetValueF(
+       IN gcUNIFORM Uniform,
+       IN gctSIZE_T Count,
+       IN const gctFLOAT * Value
+       );
+
+/*******************************************************************************
+**  gcUNIFORM_ProgramF
+**
+**  Set the value of a uniform in floating point.
+**
+**  INPUT:
+**
+**      gctUINT32 Address
+**          Address of Uniform.
+**
+**      gctSIZE_T Row/Col
+**
+**      const gctFLOAT * Value
+**          Pointer to a buffer holding the floating point values for the
+**          uniform.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gcUNIFORM_ProgramF(
+    IN gctUINT32 Address,
+    IN gctSIZE_T Row,
+    IN gctSIZE_T Col,
+    IN const gctFLOAT * Value
+    );
+
+/*******************************************************************************
+**                                              gcUNIFORM_GetModelViewProjMatrix
+********************************************************************************
+**
+**     Get the value of uniform modelViewProjMatrix ID if present.
+**
+**     INPUT:
+**
+**             gcUNIFORM Uniform
+**                     Pointer to a gcUNIFORM object.
+**
+**     OUTPUT:
+**
+**             Nothing.
+*/
+gctUINT
+gcUNIFORM_GetModelViewProjMatrix(
+    IN gcUNIFORM Uniform
+    );
+
+/*******************************************************************************
+**                                                             gcOUTPUT_GetType
+********************************************************************************
+**
+**     Get the type and array length of a gcOUTPUT object.
+**
+**     INPUT:
+**
+**             gcOUTPUT Output
+**                     Pointer to a gcOUTPUT object.
+**
+**     OUTPUT:
+**
+**             gcSHADER_TYPE * Type
+**                     Pointer to a variable receiving the type of the output.  'Type' can
+**                     be gcvNULL, in which case no type will be returned.
+**
+**             gctSIZE_T * ArrayLength
+**                     Pointer to a variable receiving the length of the array if the
+**                     output was declared as an array.  If the output was not declared
+**                     as an array, the array length will be 1.  'ArrayLength' can be gcvNULL,
+**                     in which case no array length will be returned.
+*/
+gceSTATUS
+gcOUTPUT_GetType(
+       IN gcOUTPUT Output,
+       OUT gcSHADER_TYPE * Type,
+       OUT gctSIZE_T * ArrayLength
+       );
+
+/*******************************************************************************
+**                                                        gcOUTPUT_GetIndex
+********************************************************************************
+**
+**     Get the index of a gcOUTPUT object.
+**
+**     INPUT:
+**
+**             gcOUTPUT Output
+**                     Pointer to a gcOUTPUT object.
+**
+**     OUTPUT:
+**
+**             gctUINT * Index
+**                     Pointer to a variable receiving the temporary register index of the
+**                     output.  'Index' can be gcvNULL,. in which case no index will be
+**                     returned.
+*/
+gceSTATUS
+gcOUTPUT_GetIndex(
+       IN gcOUTPUT Output,
+       OUT gctUINT * Index
+       );
+
+/*******************************************************************************
+**                                                             gcOUTPUT_GetName
+********************************************************************************
+**
+**     Get the name of a gcOUTPUT object.
+**
+**     INPUT:
+**
+**             gcOUTPUT Output
+**                     Pointer to a gcOUTPUT object.
+**
+**     OUTPUT:
+**
+**             gctSIZE_T * Length
+**                     Pointer to a variable receiving the length of the output name.
+**                     'Length' can be gcvNULL, in which case no length will be returned.
+**
+**             gctCONST_STRING * Name
+**                     Pointer to a variable receiving the pointer to the output name.
+**                     'Name' can be gcvNULL, in which case no name will be returned.
+*/
+gceSTATUS
+gcOUTPUT_GetName(
+       IN gcOUTPUT Output,
+       OUT gctSIZE_T * Length,
+       OUT gctCONST_STRING * Name
+       );
+
+/*******************************************************************************
+*********************************************************** F U N C T I O N S **
+*******************************************************************************/
+
+/*******************************************************************************
+**  gcFUNCTION_ReallocateArguments
+**
+**  Reallocate an array of gcsFUNCTION_ARGUMENT objects.
+**
+**  INPUT:
+**
+**      gcFUNCTION Function
+**          Pointer to a gcFUNCTION object.
+**
+**      gctSIZE_T Count
+**          Array count to reallocate.  'Count' must be at least 1.
+*/
+gceSTATUS
+gcFUNCTION_ReallocateArguments(
+    IN gcFUNCTION Function,
+    IN gctSIZE_T Count
+    );
+
+gceSTATUS
+gcFUNCTION_AddArgument(
+       IN gcFUNCTION Function,
+       IN gctUINT16 TempIndex,
+       IN gctUINT8 Enable,
+       IN gctUINT8 Qualifier
+       );
+
+gceSTATUS
+gcFUNCTION_GetArgument(
+       IN gcFUNCTION Function,
+       IN gctUINT16 Index,
+       OUT gctUINT16_PTR Temp,
+       OUT gctUINT8_PTR Enable,
+       OUT gctUINT8_PTR Swizzle
+       );
+
+gceSTATUS
+gcFUNCTION_GetLabel(
+       IN gcFUNCTION Function,
+       OUT gctUINT_PTR Label
+       );
+
+/*******************************************************************************
+************************* K E R N E L    P R O P E R T Y    F U N C T I O N S **
+*******************************************************************************/
+/*******************************************************************************/
+gceSTATUS
+gcKERNEL_FUNCTION_AddKernelFunctionProperties(
+           IN gcKERNEL_FUNCTION KernelFunction,
+               IN gctINT propertyType,
+               IN gctSIZE_T propertySize,
+               IN gctINT * values
+               );
+
+gceSTATUS
+gcKERNEL_FUNCTION_GetPropertyCount(
+    IN gcKERNEL_FUNCTION KernelFunction,
+    OUT gctSIZE_T * Count
+    );
+
+gceSTATUS
+gcKERNEL_FUNCTION_GetProperty(
+    IN gcKERNEL_FUNCTION KernelFunction,
+    IN gctUINT Index,
+       OUT gctSIZE_T * propertySize,
+       OUT gctINT * propertyType,
+       OUT gctINT * propertyValues
+    );
+
+
+/*******************************************************************************
+*******************************I M A G E   S A M P L E R    F U N C T I O N S **
+*******************************************************************************/
+/*******************************************************************************
+**  gcKERNEL_FUNCTION_ReallocateImageSamplers
+**
+**  Reallocate an array of pointers to image sampler pair.
+**
+**  INPUT:
+**
+**      gcKERNEL_FUNCTION KernelFunction
+**          Pointer to a gcKERNEL_FUNCTION object.
+**
+**      gctSIZE_T Count
+**          Array count to reallocate.  'Count' must be at least 1.
+*/
+gceSTATUS
+gcKERNEL_FUNCTION_ReallocateImageSamplers(
+    IN gcKERNEL_FUNCTION KernelFunction,
+    IN gctSIZE_T Count
+    );
+
+gceSTATUS
+gcKERNEL_FUNCTION_AddImageSampler(
+    IN gcKERNEL_FUNCTION KernelFunction,
+    IN gctUINT8 ImageNum,
+    IN gctBOOL IsConstantSamplerType,
+    IN gctUINT32 SamplerType
+    );
+
+gceSTATUS
+gcKERNEL_FUNCTION_GetImageSamplerCount(
+    IN gcKERNEL_FUNCTION KernelFunction,
+    OUT gctSIZE_T * Count
+    );
+
+gceSTATUS
+gcKERNEL_FUNCTION_GetImageSampler(
+    IN gcKERNEL_FUNCTION KernelFunction,
+    IN gctUINT Index,
+    OUT gctUINT8 *ImageNum,
+    OUT gctBOOL *IsConstantSamplerType,
+    OUT gctUINT32 *SamplerType
+    );
+
+/*******************************************************************************
+*********************************************K E R N E L    F U N C T I O N S **
+*******************************************************************************/
+
+/*******************************************************************************
+**  gcKERNEL_FUNCTION_ReallocateArguments
+**
+**  Reallocate an array of gcsFUNCTION_ARGUMENT objects.
+**
+**  INPUT:
+**
+**      gcKERNEL_FUNCTION Function
+**          Pointer to a gcKERNEL_FUNCTION object.
+**
+**      gctSIZE_T Count
+**          Array count to reallocate.  'Count' must be at least 1.
+*/
+gceSTATUS
+gcKERNEL_FUNCTION_ReallocateArguments(
+    IN gcKERNEL_FUNCTION Function,
+    IN gctSIZE_T Count
+    );
+
+gceSTATUS
+gcKERNEL_FUNCTION_AddArgument(
+       IN gcKERNEL_FUNCTION Function,
+       IN gctUINT16 TempIndex,
+       IN gctUINT8 Enable,
+       IN gctUINT8 Qualifier
+       );
+
+gceSTATUS
+gcKERNEL_FUNCTION_GetArgument(
+       IN gcKERNEL_FUNCTION Function,
+       IN gctUINT16 Index,
+       OUT gctUINT16_PTR Temp,
+       OUT gctUINT8_PTR Enable,
+       OUT gctUINT8_PTR Swizzle
+       );
+
+gceSTATUS
+gcKERNEL_FUNCTION_GetLabel(
+       IN gcKERNEL_FUNCTION Function,
+       OUT gctUINT_PTR Label
+       );
+
+gceSTATUS
+gcKERNEL_FUNCTION_GetName(
+    IN gcKERNEL_FUNCTION KernelFunction,
+    OUT gctSIZE_T * Length,
+    OUT gctCONST_STRING * Name
+    );
+
+gceSTATUS
+gcKERNEL_FUNCTION_ReallocateUniformArguments(
+    IN gcKERNEL_FUNCTION KernelFunction,
+    IN gctSIZE_T Count
+    );
+
+gceSTATUS
+gcKERNEL_FUNCTION_AddUniformArgument(
+    IN gcKERNEL_FUNCTION KernelFunction,
+    IN gctCONST_STRING Name,
+    IN gcSHADER_TYPE Type,
+    IN gctSIZE_T Length,
+    OUT gcUNIFORM * UniformArgument
+    );
+
+gceSTATUS
+gcKERNEL_FUNCTION_GetUniformArgumentCount(
+    IN gcKERNEL_FUNCTION KernelFunction,
+    OUT gctSIZE_T * Count
+    );
+
+gceSTATUS
+gcKERNEL_FUNCTION_GetUniformArgument(
+    IN gcKERNEL_FUNCTION KernelFunction,
+    IN gctUINT Index,
+    OUT gcUNIFORM * UniformArgument
+    );
+
+gceSTATUS
+gcKERNEL_FUNCTION_SetCodeEnd(
+    IN gcKERNEL_FUNCTION KernelFunction
+    );
+
+/*******************************************************************************
+**                              gcCompileShader
+********************************************************************************
+**
+**     Compile a shader.
+**
+**     INPUT:
+**
+**             gcoOS Hal
+**                     Pointer to an gcoHAL object.
+**
+**             gctINT ShaderType
+**                     Shader type to compile.  Can be one of the following values:
+**
+**                             gcSHADER_TYPE_VERTEX
+**                                     Compile a vertex shader.
+**
+**                             gcSHADER_TYPE_FRAGMENT
+**                                     Compile a fragment shader.
+**
+**             gctSIZE_T SourceSize
+**                     Size of the source buffer in bytes.
+**
+**             gctCONST_STRING Source
+**                     Pointer to the buffer containing the shader source code.
+**
+**     OUTPUT:
+**
+**             gcSHADER * Binary
+**                     Pointer to a variable receiving the pointer to a gcSHADER object
+**                     containg the compiled shader code.
+**
+**             gctSTRING * Log
+**                     Pointer to a variable receiving a string pointer containging the
+**                     compile log.
+*/
+gceSTATUS
+gcCompileShader(
+       IN gcoHAL Hal,
+       IN gctINT ShaderType,
+       IN gctSIZE_T SourceSize,
+       IN gctCONST_STRING Source,
+       OUT gcSHADER * Binary,
+       OUT gctSTRING * Log
+       );
+
+/*******************************************************************************
+**                              gcOptimizeShader
+********************************************************************************
+**
+**     Optimize a shader.
+**
+**     INPUT:
+**
+**             gcSHADER Shader
+**                     Pointer to a gcSHADER object holding information about the compiled
+**                     shader.
+**
+**             gctFILE LogFile
+**                     Pointer to an open FILE object.
+*/
+gceSTATUS
+gcOptimizeShader(
+       IN gcSHADER Shader,
+       IN gctFILE LogFile
+       );
+
+/*******************************************************************************
+**                                gcLinkShaders
+********************************************************************************
+**
+**     Link two shaders and generate a harwdare specific state buffer by compiling
+**     the compiler generated code through the resource allocator and code
+**     generator.
+**
+**     INPUT:
+**
+**             gcSHADER VertexShader
+**                     Pointer to a gcSHADER object holding information about the compiled
+**                     vertex shader.
+**
+**             gcSHADER FragmentShader
+**                     Pointer to a gcSHADER object holding information about the compiled
+**                     fragment shader.
+**
+**             gceSHADER_FLAGS Flags
+**                     Compiler flags.  Can be any of the following:
+**
+**                             gcvSHADER_DEAD_CODE       - Dead code elimination.
+**                             gcvSHADER_RESOURCE_USAGE  - Resource usage optimizaion.
+**                             gcvSHADER_OPTIMIZER       - Full optimization.
+**                             gcvSHADER_USE_GL_Z        - Use OpenGL ES Z coordinate.
+**                             gcvSHADER_USE_GL_POSITION - Use OpenGL ES gl_Position.
+**                             gcvSHADER_USE_GL_FACE     - Use OpenGL ES gl_FaceForward.
+**
+**     OUTPUT:
+**
+**             gctSIZE_T * StateBufferSize
+**                     Pointer to a variable receicing the number of bytes in the buffer
+**                     returned in 'StateBuffer'.
+**
+**             gctPOINTER * StateBuffer
+**                     Pointer to a variable receiving a buffer pointer that contains the
+**                     states required to download the shaders into the hardware.
+**
+**             gcsHINT_PTR * Hints
+**                     Pointer to a variable receiving a gcsHINT structure pointer that
+**                     contains information required when loading the shader states.
+*/
+gceSTATUS
+gcLinkShaders(
+       IN gcSHADER VertexShader,
+       IN gcSHADER FragmentShader,
+       IN gceSHADER_FLAGS Flags,
+       OUT gctSIZE_T * StateBufferSize,
+       OUT gctPOINTER * StateBuffer,
+       OUT gcsHINT_PTR * Hints,
+    OUT gcMACHINECODE_PTR *ppVsMachineCode,
+    OUT gcMACHINECODE_PTR *ppFsMachineCode
+       );
+
+/*******************************************************************************
+**                                gcLoadShaders
+********************************************************************************
+**
+**     Load a pre-compiled and pre-linked shader program into the hardware.
+**
+**     INPUT:
+**
+**             gcoHAL Hal
+**                     Pointer to a gcoHAL object.
+**
+**             gctSIZE_T StateBufferSize
+**                     The number of bytes in the 'StateBuffer'.
+**
+**             gctPOINTER StateBuffer
+**                     Pointer to the states that make up the shader program.
+**
+**             gcsHINT_PTR Hints
+**                     Pointer to a gcsHINT structure that contains information required
+**                     when loading the shader states.
+*/
+gceSTATUS
+gcLoadShaders(
+       IN gcoHAL Hal,
+       IN gctSIZE_T StateBufferSize,
+       IN gctPOINTER StateBuffer,
+       IN gcsHINT_PTR Hints
+       );
+
+gceSTATUS
+gcRecompileShaders(
+    IN gcoHAL Hal,
+    IN gcMACHINECODE_PTR pVsMachineCode,
+    IN gcMACHINECODE_PTR pPsMachineCode,
+    /*Recompile variables*/
+    IN OUT gctPOINTER *ppRecompileStateBuffer,
+    IN OUT gctSIZE_T *pRecompileStateBufferSize,
+    IN OUT gcsHINT_PTR *ppRecompileHints,
+    /* natvie state*/
+    IN gctPOINTER pNativeStateBuffer,
+    IN gctSIZE_T nativeStateBufferSize,
+    IN gcsHINT_PTR pNativeHints,
+    /* npt info */
+    IN gctUINT32 Samplers,
+    IN gctUINT32 *SamplerWrapS,
+    IN gctUINT32 *SamplerWrapT
+    );
+
+gceSTATUS
+gcRecompileDepthBias(
+    IN gcoHAL Hal,
+    IN gcMACHINECODE_PTR pVsMachineCode,
+    /*Recompile variables*/
+    IN OUT gctPOINTER *ppRecompileStateBuffer,
+    IN OUT gctSIZE_T *pRecompileStateBufferSize,
+    IN OUT gcsHINT_PTR *ppRecompileHints,
+    /* natvie state*/
+    IN gctPOINTER pNativeStateBuffer,
+    IN gctSIZE_T nativeStateBufferSize,
+    IN gcsHINT_PTR pNativeHints,
+       OUT gctINT * uniformAddr,
+       OUT gctINT * uniformChannel
+    );
+
+/*******************************************************************************
+**                                gcSaveProgram
+********************************************************************************
+**
+**     Save pre-compiled shaders and pre-linked programs to a binary file.
+**
+**     INPUT:
+**
+**             gcSHADER VertexShader
+**                     Pointer to vertex shader object.
+**
+**             gcSHADER FragmentShader
+**                     Pointer to fragment shader object.
+**
+**             gctSIZE_T ProgramBufferSize
+**                     Number of bytes in 'ProgramBuffer'.
+**
+**             gctPOINTER ProgramBuffer
+**                     Pointer to buffer containing the program states.
+**
+**             gcsHINT_PTR Hints
+**                     Pointer to HINTS structure for program states.
+**
+**     OUTPUT:
+**
+**             gctPOINTER * Binary
+**                     Pointer to a variable receiving the binary data to be saved.
+**
+**             gctSIZE_T * BinarySize
+**                     Pointer to a variable receiving the number of bytes inside 'Binary'.
+*/
+gceSTATUS
+gcSaveProgram(
+       IN gcSHADER VertexShader,
+       IN gcSHADER FragmentShader,
+       IN gctSIZE_T ProgramBufferSize,
+       IN gctPOINTER ProgramBuffer,
+       IN gcsHINT_PTR Hints,
+       OUT gctPOINTER * Binary,
+       OUT gctSIZE_T * BinarySize
+       );
+
+/*******************************************************************************
+**                                gcLoadProgram
+********************************************************************************
+**
+**     Load pre-compiled shaders and pre-linked programs from a binary file.
+**
+**     INPUT:
+**
+**             gctPOINTER Binary
+**                     Pointer to the binary data loaded.
+**
+**             gctSIZE_T BinarySize
+**                     Number of bytes in 'Binary'.
+**
+**     OUTPUT:
+**
+**             gcSHADER VertexShader
+**                     Pointer to a vertex shader object.
+**
+**             gcSHADER FragmentShader
+**                     Pointer to a fragment shader object.
+**
+**             gctSIZE_T * ProgramBufferSize
+**                     Pointer to a variable receicing the number of bytes in the buffer
+**                     returned in 'ProgramBuffer'.
+**
+**             gctPOINTER * ProgramBuffer
+**                     Pointer to a variable receiving a buffer pointer that contains the
+**                     states required to download the shaders into the hardware.
+**
+**             gcsHINT_PTR * Hints
+**                     Pointer to a variable receiving a gcsHINT structure pointer that
+**                     contains information required when loading the shader states.
+*/
+gceSTATUS
+gcLoadProgram(
+       IN gctPOINTER Binary,
+       IN gctSIZE_T BinarySize,
+       OUT gcSHADER VertexShader,
+       OUT gcSHADER FragmentShader,
+       OUT gctSIZE_T * ProgramBufferSize,
+       OUT gctPOINTER * ProgramBuffer,
+       OUT gcsHINT_PTR * Hints
+       );
+
+/*******************************************************************************
+**                              gcCompileKernel
+********************************************************************************
+**
+**     Compile a OpenCL kernel shader.
+**
+**     INPUT:
+**
+**             gcoOS Hal
+**                     Pointer to an gcoHAL object.
+**
+**             gctSIZE_T SourceSize
+**                     Size of the source buffer in bytes.
+**
+**             gctCONST_STRING Source
+**                     Pointer to the buffer containing the shader source code.
+**
+**     OUTPUT:
+**
+**             gcSHADER * Binary
+**                     Pointer to a variable receiving the pointer to a gcSHADER object
+**                     containg the compiled shader code.
+**
+**             gctSTRING * Log
+**                     Pointer to a variable receiving a string pointer containging the
+**                     compile log.
+*/
+gceSTATUS
+gcCompileKernel(
+       IN gcoHAL Hal,
+       IN gctSIZE_T SourceSize,
+       IN gctCONST_STRING Source,
+       IN gctCONST_STRING Options,
+       OUT gcSHADER * Binary,
+       OUT gctSTRING * Log
+       );
+
+/*******************************************************************************
+**                                gcLinkKernel
+********************************************************************************
+**
+**     Link OpenCL kernel and generate a harwdare specific state buffer by compiling
+**     the compiler generated code through the resource allocator and code
+**     generator.
+**
+**     INPUT:
+**
+**             gcSHADER Kernel
+**                     Pointer to a gcSHADER object holding information about the compiled
+**                     OpenCL kernel.
+**
+**             gceSHADER_FLAGS Flags
+**                     Compiler flags.  Can be any of the following:
+**
+**                             gcvSHADER_DEAD_CODE       - Dead code elimination.
+**                             gcvSHADER_RESOURCE_USAGE  - Resource usage optimizaion.
+**                             gcvSHADER_OPTIMIZER       - Full optimization.
+**                             gcvSHADER_USE_GL_Z        - Use OpenGL ES Z coordinate.
+**                             gcvSHADER_USE_GL_POSITION - Use OpenGL ES gl_Position.
+**                             gcvSHADER_USE_GL_FACE     - Use OpenGL ES gl_FaceForward.
+**
+**     OUTPUT:
+**
+**             gctSIZE_T * StateBufferSize
+**                     Pointer to a variable receiving the number of bytes in the buffer
+**                     returned in 'StateBuffer'.
+**
+**             gctPOINTER * StateBuffer
+**                     Pointer to a variable receiving a buffer pointer that contains the
+**                     states required to download the shaders into the hardware.
+**
+**             gcsHINT_PTR * Hints
+**                     Pointer to a variable receiving a gcsHINT structure pointer that
+**                     contains information required when loading the shader states.
+*/
+gceSTATUS
+gcLinkKernel(
+       IN gcSHADER Kernel,
+       IN gceSHADER_FLAGS Flags,
+       OUT gctSIZE_T * StateBufferSize,
+       OUT gctPOINTER * StateBuffer,
+       OUT gcsHINT_PTR * Hints
+       );
+
+/*******************************************************************************
+**                                gcLoadKernel
+********************************************************************************
+**
+**  Load a pre-compiled and pre-linked kernel program into the hardware.
+**
+**  INPUT:
+**
+**      gctSIZE_T StateBufferSize
+**          The number of bytes in the 'StateBuffer'.
+**
+**      gctPOINTER StateBuffer
+**          Pointer to the states that make up the shader program.
+**
+**      gcsHINT_PTR Hints
+**          Pointer to a gcsHINT structure that contains information required
+**          when loading the shader states.
+*/
+gceSTATUS
+gcLoadKernel(
+    IN gctSIZE_T StateBufferSize,
+    IN gctPOINTER StateBuffer,
+    IN gcsHINT_PTR Hints
+    );
+
+gceSTATUS
+gcInvokeThreadWalker(
+    IN gcsTHREAD_WALKER_INFO_PTR Info
+    );
+
+void
+gcTYPE_GetTypeInfo(
+    IN gcSHADER_TYPE      Type,
+    OUT gctINT *          Components,
+    OUT gctINT *          Rows,
+    OUT gctCONST_STRING * Name
+    );
+
+gctBOOL
+gcOPT_doVaryingPackingForShader(
+       IN gcSHADER Shader
+    );
+
+gceSTATUS
+gcSHADER_PatchNPOTForMachineCode(
+    IN     gcSHADER_KIND          shaderType,
+    IN     gcMACHINECODE_PTR      pMachineCode,
+    IN     gcNPOT_PATCH_PARAM_PTR pPatchParam,
+    IN     gctUINT                countOfPatchParam,
+    IN     gctUINT                hwSupportedInstCount,
+    OUT    gctPOINTER*            ppCmdBuffer,
+    OUT    gctUINT32*             pByteSizeOfCmdBuffer,
+    IN OUT gcsHINT_PTR            pHints /* User needs copy original hints to this one, then passed this one in */
+    );
+
+gceSTATUS
+gcSHADER_PatchZBiasForMachineCodeVS(
+    IN     gcMACHINECODE_PTR       pMachineCode,
+    IN OUT gcZBIAS_PATCH_PARAM_PTR pPatchParam,
+    IN     gctUINT                 hwSupportedInstCount,
+    OUT    gctPOINTER*             ppCmdBuffer,
+    OUT    gctUINT32*              pByteSizeOfCmdBuffer,
+    IN OUT gcsHINT_PTR             pHints /* User needs copy original hints to this one, then passed this one in */
+    );
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* VIVANTE_NO_3D */
+#endif /* __gc_hal_compiler_h_ */
diff --git a/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_driver.h b/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_driver.h
new file mode 100644 (file)
index 0000000..ea86349
--- /dev/null
@@ -0,0 +1,1048 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#ifndef __gc_hal_driver_h_
+#define __gc_hal_driver_h_
+
+#include "gc_hal_enum.h"
+#include "gc_hal_types.h"
+
+#if gcdENABLE_VG
+#include "gc_hal_driver_vg.h"
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/******************************************************************************\
+******************************* I/O Control Codes ******************************
+\******************************************************************************/
+
+#define gcvHAL_CLASS                    "galcore"
+#define IOCTL_GCHAL_INTERFACE           30000
+#define IOCTL_GCHAL_KERNEL_INTERFACE    30001
+#define IOCTL_GCHAL_TERMINATE           30002
+
+/******************************************************************************\
+********************************* Command Codes ********************************
+\******************************************************************************/
+
+typedef enum _gceHAL_COMMAND_CODES
+{
+    /* Generic query. */
+    gcvHAL_QUERY_VIDEO_MEMORY,
+    gcvHAL_QUERY_CHIP_IDENTITY,
+
+    /* Contiguous memory. */
+    gcvHAL_ALLOCATE_NON_PAGED_MEMORY,
+    gcvHAL_FREE_NON_PAGED_MEMORY,
+    gcvHAL_ALLOCATE_CONTIGUOUS_MEMORY,
+    gcvHAL_FREE_CONTIGUOUS_MEMORY,
+
+    /* Video memory allocation. */
+    gcvHAL_ALLOCATE_VIDEO_MEMORY,           /* Enforced alignment. */
+    gcvHAL_ALLOCATE_LINEAR_VIDEO_MEMORY,    /* No alignment. */
+    gcvHAL_FREE_VIDEO_MEMORY,
+
+    /* Physical-to-logical mapping. */
+    gcvHAL_MAP_MEMORY,
+    gcvHAL_UNMAP_MEMORY,
+
+    /* Logical-to-physical mapping. */
+    gcvHAL_MAP_USER_MEMORY,
+    gcvHAL_UNMAP_USER_MEMORY,
+
+    /* Surface lock/unlock. */
+    gcvHAL_LOCK_VIDEO_MEMORY,
+    gcvHAL_UNLOCK_VIDEO_MEMORY,
+
+    /* Event queue. */
+    gcvHAL_EVENT_COMMIT,
+
+    gcvHAL_USER_SIGNAL,
+    gcvHAL_SIGNAL,
+    gcvHAL_WRITE_DATA,
+
+    gcvHAL_COMMIT,
+    gcvHAL_STALL,
+
+    gcvHAL_READ_REGISTER,
+    gcvHAL_WRITE_REGISTER,
+
+    gcvHAL_GET_PROFILE_SETTING,
+    gcvHAL_SET_PROFILE_SETTING,
+
+    gcvHAL_READ_ALL_PROFILE_REGISTERS,
+    gcvHAL_PROFILE_REGISTERS_2D,
+#if VIVANTE_PROFILER_PERDRAW
+    gcvHAL_READ_PROFILER_REGISTER_SETTING,
+#endif
+
+    /* Power management. */
+    gcvHAL_SET_POWER_MANAGEMENT_STATE,
+    gcvHAL_QUERY_POWER_MANAGEMENT_STATE,
+
+    gcvHAL_GET_BASE_ADDRESS,
+
+    gcvHAL_SET_IDLE, /* reserved */
+
+    /* Queries. */
+    gcvHAL_QUERY_KERNEL_SETTINGS,
+
+    /* Reset. */
+    gcvHAL_RESET,
+
+    /* Map physical address into handle. */
+    gcvHAL_MAP_PHYSICAL,
+
+    /* Debugger stuff. */
+    gcvHAL_DEBUG,
+
+    /* Cache stuff. */
+    gcvHAL_CACHE,
+
+    /* TimeStamp */
+    gcvHAL_TIMESTAMP,
+
+    /* Database. */
+    gcvHAL_DATABASE,
+
+    /* Version. */
+    gcvHAL_VERSION,
+
+    /* Chip info */
+    gcvHAL_CHIP_INFO,
+
+    /* Process attaching/detaching. */
+    gcvHAL_ATTACH,
+    gcvHAL_DETACH,
+
+    /* Composition. */
+    gcvHAL_COMPOSE,
+
+    /* Set timeOut value */
+    gcvHAL_SET_TIMEOUT,
+
+    /* Frame database. */
+    gcvHAL_GET_FRAME_INFO,
+
+    /* Shared info for each process */
+    gcvHAL_GET_SHARED_INFO,
+    gcvHAL_SET_SHARED_INFO,
+    gcvHAL_QUERY_COMMAND_BUFFER,
+
+    gcvHAL_COMMIT_DONE,
+
+    /* GPU and event dump */
+    gcvHAL_DUMP_GPU_STATE,
+    gcvHAL_DUMP_EVENT,
+
+    /* Virtual command buffer. */
+    gcvHAL_ALLOCATE_VIRTUAL_COMMAND_BUFFER,
+    gcvHAL_FREE_VIRTUAL_COMMAND_BUFFER,
+
+    /* FSCALE_VAL. */
+    gcvHAL_SET_FSCALE_VALUE,
+    gcvHAL_GET_FSCALE_VALUE,
+
+    /* Reset time stamp. */
+    gcvHAL_QUERY_RESET_TIME_STAMP,
+
+    /* Sync point operations. */
+    gcvHAL_SYNC_POINT,
+
+    /* Create native fence and return its fd. */
+    gcvHAL_CREATE_NATIVE_FENCE,
+
+    /* Video memory database */
+    gcvHAL_VIDMEM_DATABASE,
+}
+gceHAL_COMMAND_CODES;
+
+/******************************************************************************\
+****************************** Interface Structure *****************************
+\******************************************************************************/
+
+#define gcdMAX_PROFILE_FILE_NAME    128
+
+/* Kernel settings. */
+typedef struct _gcsKERNEL_SETTINGS
+{
+    /* Used RealTime signal between kernel and user. */
+    gctINT signal;
+}
+gcsKERNEL_SETTINGS;
+
+
+/* gcvHAL_QUERY_CHIP_IDENTITY */
+typedef struct _gcsHAL_QUERY_CHIP_IDENTITY * gcsHAL_QUERY_CHIP_IDENTITY_PTR;
+typedef struct _gcsHAL_QUERY_CHIP_IDENTITY
+{
+
+    /* Chip model. */
+    gceCHIPMODEL                chipModel;
+
+    /* Revision value.*/
+    gctUINT32                   chipRevision;
+
+    /* Supported feature fields. */
+    gctUINT32                   chipFeatures;
+
+    /* Supported minor feature fields. */
+    gctUINT32                   chipMinorFeatures;
+
+    /* Supported minor feature 1 fields. */
+    gctUINT32                   chipMinorFeatures1;
+
+    /* Supported minor feature 2 fields. */
+    gctUINT32                   chipMinorFeatures2;
+
+    /* Supported minor feature 3 fields. */
+    gctUINT32                   chipMinorFeatures3;
+
+    /* Supported minor feature 4 fields. */
+    gctUINT32                   chipMinorFeatures4;
+
+    /* Number of streams supported. */
+    gctUINT32                   streamCount;
+
+    /* Total number of temporary registers per thread. */
+    gctUINT32                   registerMax;
+
+    /* Maximum number of threads. */
+    gctUINT32                   threadCount;
+
+    /* Number of shader cores. */
+    gctUINT32                   shaderCoreCount;
+
+    /* Size of the vertex cache. */
+    gctUINT32                   vertexCacheSize;
+
+    /* Number of entries in the vertex output buffer. */
+    gctUINT32                   vertexOutputBufferSize;
+
+    /* Number of pixel pipes. */
+    gctUINT32                   pixelPipes;
+
+    /* Number of instructions. */
+    gctUINT32                   instructionCount;
+
+    /* Number of constants. */
+    gctUINT32                   numConstants;
+
+    /* Buffer size */
+    gctUINT32                   bufferSize;
+
+    /* Number of varyings */
+    gctUINT32                   varyingsCount;
+
+    /* Supertile layout style in hardware */
+    gctUINT32                   superTileMode;
+}
+gcsHAL_QUERY_CHIP_IDENTITY;
+
+/* gcvHAL_COMPOSE. */
+typedef struct _gcsHAL_COMPOSE * gcsHAL_COMPOSE_PTR;
+typedef struct _gcsHAL_COMPOSE
+{
+    /* Composition state buffer. */
+    gctUINT64                   physical;
+    gctUINT64                   logical;
+    gctUINT                     offset;
+    gctUINT                     size;
+
+    /* Composition end signal. */
+    gctUINT64                   process;
+    gctUINT64                   signal;
+
+    /* User signals. */
+    gctUINT64                   userProcess;
+    gctUINT64                   userSignal1;
+    gctUINT64                   userSignal2;
+
+#if defined(__QNXNTO__)
+    /* Client pulse side-channel connection ID. */
+    gctINT32                    coid;
+
+    /* Set by server. */
+    gctINT32                    rcvid;
+#endif
+}
+gcsHAL_COMPOSE;
+
+
+typedef struct _gcsHAL_INTERFACE
+{
+    /* Command code. */
+    gceHAL_COMMAND_CODES        command;
+
+    /* Hardware type. */
+    gceHARDWARE_TYPE            hardwareType;
+
+    /* Status value. */
+    gceSTATUS                   status;
+
+    /* Handle to this interface channel. */
+    gctUINT64                   handle;
+
+    /* Pid of the client. */
+    gctUINT32                   pid;
+
+    /* Union of command structures. */
+    union _u
+    {
+        /* gcvHAL_GET_BASE_ADDRESS */
+        struct _gcsHAL_GET_BASE_ADDRESS
+        {
+            /* Physical memory address of internal memory. */
+            OUT gctUINT32               baseAddress;
+        }
+        GetBaseAddress;
+
+        /* gcvHAL_QUERY_VIDEO_MEMORY */
+        struct _gcsHAL_QUERY_VIDEO_MEMORY
+        {
+            /* Physical memory address of internal memory. Just a name. */
+            OUT gctUINT32               internalPhysical;
+
+            /* Size in bytes of internal memory. */
+            OUT gctUINT64               internalSize;
+
+            /* Physical memory address of external memory. Just a name. */
+            OUT gctUINT32               externalPhysical;
+
+            /* Size in bytes of external memory.*/
+            OUT gctUINT64               externalSize;
+
+            /* Physical memory address of contiguous memory. Just a name. */
+            OUT gctUINT32               contiguousPhysical;
+
+            /* Size in bytes of contiguous memory.*/
+            OUT gctUINT64               contiguousSize;
+        }
+        QueryVideoMemory;
+
+        /* gcvHAL_QUERY_CHIP_IDENTITY */
+        gcsHAL_QUERY_CHIP_IDENTITY      QueryChipIdentity;
+
+        /* gcvHAL_MAP_MEMORY */
+        struct _gcsHAL_MAP_MEMORY
+        {
+            /* Physical memory address to map. Just a name on Linux/Qnx. */
+            IN gctUINT32                physical;
+
+            /* Number of bytes in physical memory to map. */
+            IN gctUINT64                bytes;
+
+            /* Address of mapped memory. */
+            OUT gctUINT64               logical;
+        }
+        MapMemory;
+
+        /* gcvHAL_UNMAP_MEMORY */
+        struct _gcsHAL_UNMAP_MEMORY
+        {
+            /* Physical memory address to unmap. Just a name on Linux/Qnx. */
+            IN gctUINT32                physical;
+
+            /* Number of bytes in physical memory to unmap. */
+            IN gctUINT64                bytes;
+
+            /* Address of mapped memory to unmap. */
+            IN gctUINT64                logical;
+        }
+        UnmapMemory;
+
+        /* gcvHAL_ALLOCATE_LINEAR_VIDEO_MEMORY */
+        struct _gcsHAL_ALLOCATE_LINEAR_VIDEO_MEMORY
+        {
+            /* Number of bytes to allocate. */
+            IN OUT gctUINT              bytes;
+
+            /* Buffer alignment. */
+            IN gctUINT                  alignment;
+
+            /* Type of allocation. */
+            IN gceSURF_TYPE             type;
+
+            /* Memory pool to allocate from. */
+            IN OUT gcePOOL              pool;
+
+            /* Allocated video memory in gcuVIDMEM_NODE. */
+            OUT gctUINT64               node;
+        }
+        AllocateLinearVideoMemory;
+
+        /* gcvHAL_ALLOCATE_VIDEO_MEMORY */
+        struct _gcsHAL_ALLOCATE_VIDEO_MEMORY
+        {
+            /* Width of rectangle to allocate. */
+            IN OUT gctUINT              width;
+
+            /* Height of rectangle to allocate. */
+            IN OUT gctUINT              height;
+
+            /* Depth of rectangle to allocate. */
+            IN gctUINT                  depth;
+
+            /* Format rectangle to allocate in gceSURF_FORMAT. */
+            IN gceSURF_FORMAT           format;
+
+            /* Type of allocation. */
+            IN gceSURF_TYPE             type;
+
+            /* Memory pool to allocate from. */
+            IN OUT gcePOOL              pool;
+
+            /* Allocated video memory in gcuVIDMEM_NODE. */
+            OUT gctUINT64               node;
+        }
+        AllocateVideoMemory;
+
+        /* gcvHAL_FREE_VIDEO_MEMORY */
+        struct _gcsHAL_FREE_VIDEO_MEMORY
+        {
+            /* Allocated video memory in gcuVIDMEM_NODE. */
+            IN gctUINT64        node;
+
+#ifdef __QNXNTO__
+/* TODO: This is part of the unlock - why is it here? */
+            /* Mapped logical address to unmap in user space. */
+            OUT gctUINT64       memory;
+
+            /* Number of bytes to allocated. */
+            OUT gctUINT64       bytes;
+#endif
+        }
+        FreeVideoMemory;
+
+        /* gcvHAL_LOCK_VIDEO_MEMORY */
+        struct _gcsHAL_LOCK_VIDEO_MEMORY
+        {
+            /* Allocated video memory gcuVIDMEM_NODE gcuVIDMEM_NODE. */
+            IN gctUINT64            node;
+
+            /* Cache configuration. */
+            /* Only gcvPOOL_CONTIGUOUS and gcvPOOL_VIRUTAL
+            ** can be configured */
+            IN gctBOOL              cacheable;
+
+            /* Hardware specific address. */
+            OUT gctUINT32           address;
+
+            /* Mapped logical address. */
+            OUT gctUINT64           memory;
+        }
+        LockVideoMemory;
+
+        /* gcvHAL_UNLOCK_VIDEO_MEMORY */
+        struct _gcsHAL_UNLOCK_VIDEO_MEMORY
+        {
+            /* Allocated video memory in gcuVIDMEM_NODE. */
+            IN gctUINT64            node;
+
+            /* Type of surface. */
+            IN gceSURF_TYPE         type;
+
+            /* Flag to unlock surface asynchroneously. */
+            IN OUT gctBOOL          asynchroneous;
+        }
+        UnlockVideoMemory;
+
+        /* gcvHAL_ALLOCATE_NON_PAGED_MEMORY */
+        struct _gcsHAL_ALLOCATE_NON_PAGED_MEMORY
+        {
+            /* Number of bytes to allocate. */
+            IN OUT gctUINT64        bytes;
+
+            /* Physical address of allocation. Just a name. */
+            OUT gctUINT32           physical;
+
+            /* Logical address of allocation. */
+            OUT gctUINT64           logical;
+        }
+        AllocateNonPagedMemory;
+
+        /* gcvHAL_FREE_NON_PAGED_MEMORY */
+        struct _gcsHAL_FREE_NON_PAGED_MEMORY
+        {
+            /* Number of bytes allocated. */
+            IN gctUINT64            bytes;
+
+            /* Physical address of allocation. Just a name. */
+            IN gctUINT32            physical;
+
+            /* Logical address of allocation. */
+            IN gctUINT64            logical;
+        }
+        FreeNonPagedMemory;
+
+        /* gcvHAL_ALLOCATE_NON_PAGED_MEMORY */
+        struct _gcsHAL_ALLOCATE_VIRTUAL_COMMAND_BUFFER
+        {
+            /* Number of bytes to allocate. */
+            IN OUT gctUINT64        bytes;
+
+            /* Physical address of allocation. Just a name. */
+            OUT gctUINT32           physical;
+
+            /* Logical address of allocation. */
+            OUT gctUINT64           logical;
+        }
+        AllocateVirtualCommandBuffer;
+
+        /* gcvHAL_FREE_NON_PAGED_MEMORY */
+        struct _gcsHAL_FREE_VIRTUAL_COMMAND_BUFFER
+        {
+            /* Number of bytes allocated. */
+            IN gctUINT64            bytes;
+
+            /* Physical address of allocation. Just a name. */
+            IN gctUINT32            physical;
+
+            /* Logical address of allocation. */
+            IN gctUINT64            logical;
+        }
+        FreeVirtualCommandBuffer;
+
+        /* gcvHAL_EVENT_COMMIT. */
+        struct _gcsHAL_EVENT_COMMIT
+        {
+            /* Event queue in gcsQUEUE. */
+            IN gctUINT64             queue;
+        }
+        Event;
+
+        /* gcvHAL_COMMIT */
+        struct _gcsHAL_COMMIT
+        {
+            /* Context buffer object gckCONTEXT. */
+            IN gctUINT64            context;
+
+            /* Command buffer gcoCMDBUF. */
+            IN gctUINT64            commandBuffer;
+
+            /* State delta buffer in gcsSTATE_DELTA. */
+            gctUINT64               delta;
+
+            /* Event queue in gcsQUEUE. */
+            IN gctUINT64            queue;
+        }
+        Commit;
+
+        /* gcvHAL_MAP_USER_MEMORY */
+        struct _gcsHAL_MAP_USER_MEMORY
+        {
+            /* Base address of user memory to map. */
+            IN gctUINT64                memory;
+
+            /* Physical address of user memory to map. */
+            IN gctUINT32                physical;
+
+            /* Size of user memory in bytes to map. */
+            IN gctUINT64                size;
+
+            /* Info record required by gcvHAL_UNMAP_USER_MEMORY. Just a name. */
+            OUT gctUINT32               info;
+
+            /* Physical address of mapped memory. */
+            OUT gctUINT32               address;
+        }
+        MapUserMemory;
+
+        /* gcvHAL_UNMAP_USER_MEMORY */
+        struct _gcsHAL_UNMAP_USER_MEMORY
+        {
+            /* Base address of user memory to unmap. */
+            IN gctUINT64                memory;
+
+            /* Size of user memory in bytes to unmap. */
+            IN gctUINT64                size;
+
+            /* Info record returned by gcvHAL_MAP_USER_MEMORY. Just a name. */
+            IN gctUINT32                info;
+
+            /* Physical address of mapped memory as returned by
+               gcvHAL_MAP_USER_MEMORY. */
+            IN gctUINT32                address;
+        }
+        UnmapUserMemory;
+#if !USE_NEW_LINUX_SIGNAL
+        /* gcsHAL_USER_SIGNAL  */
+        struct _gcsHAL_USER_SIGNAL
+        {
+            /* Command. */
+            gceUSER_SIGNAL_COMMAND_CODES command;
+
+            /* Signal ID. */
+            IN OUT gctINT               id;
+
+            /* Reset mode. */
+            IN gctBOOL                  manualReset;
+
+            /* Wait timedout. */
+            IN gctUINT32                wait;
+
+            /* State. */
+            IN gctBOOL                  state;
+        }
+        UserSignal;
+#endif
+
+        /* gcvHAL_SIGNAL. */
+        struct _gcsHAL_SIGNAL
+        {
+            /* Signal handle to signal gctSIGNAL. */
+            IN gctUINT64                signal;
+
+            /* Reserved gctSIGNAL. */
+            IN gctUINT64                auxSignal;
+
+            /* Process owning the signal gctHANDLE. */
+            IN gctUINT64                process;
+
+#if defined(__QNXNTO__)
+            /* Client pulse side-channel connection ID. Set by client in gcoOS_CreateSignal. */
+            IN gctINT32                 coid;
+
+            /* Set by server. */
+            IN gctINT32                 rcvid;
+#endif
+            /* Event generated from where of pipeline */
+            IN gceKERNEL_WHERE          fromWhere;
+        }
+        Signal;
+
+        /* gcvHAL_WRITE_DATA. */
+        struct _gcsHAL_WRITE_DATA
+        {
+            /* Address to write data to. */
+            IN gctUINT32                address;
+
+            /* Data to write. */
+            IN gctUINT32                data;
+        }
+        WriteData;
+
+        /* gcvHAL_ALLOCATE_CONTIGUOUS_MEMORY */
+        struct _gcsHAL_ALLOCATE_CONTIGUOUS_MEMORY
+        {
+            /* Number of bytes to allocate. */
+            IN OUT gctUINT64            bytes;
+
+            /* Hardware address of allocation. */
+            OUT gctUINT32               address;
+
+            /* Physical address of allocation. Just a name. */
+            OUT gctUINT32               physical;
+
+            /* Logical address of allocation. */
+            OUT gctUINT64               logical;
+        }
+        AllocateContiguousMemory;
+
+        /* gcvHAL_FREE_CONTIGUOUS_MEMORY */
+        struct _gcsHAL_FREE_CONTIGUOUS_MEMORY
+        {
+            /* Number of bytes allocated. */
+            IN gctUINT64                bytes;
+
+            /* Physical address of allocation. Just a name. */
+            IN gctUINT32                physical;
+
+            /* Logical address of allocation. */
+            IN gctUINT64                logical;
+        }
+        FreeContiguousMemory;
+
+        /* gcvHAL_READ_REGISTER */
+        struct _gcsHAL_READ_REGISTER
+        {
+            /* Logical address of memory to write data to. */
+            IN gctUINT32            address;
+
+            /* Data read. */
+            OUT gctUINT32           data;
+        }
+        ReadRegisterData;
+
+        /* gcvHAL_WRITE_REGISTER */
+        struct _gcsHAL_WRITE_REGISTER
+        {
+            /* Logical address of memory to write data to. */
+            IN gctUINT32            address;
+
+            /* Data read. */
+            IN gctUINT32            data;
+        }
+        WriteRegisterData;
+
+#if VIVANTE_PROFILER
+        /* gcvHAL_GET_PROFILE_SETTING */
+        struct _gcsHAL_GET_PROFILE_SETTING
+        {
+            /* Enable profiling */
+            OUT gctBOOL             enable;
+
+            /* The profile file name */
+            OUT gctCHAR             fileName[gcdMAX_PROFILE_FILE_NAME];
+        }
+        GetProfileSetting;
+
+        /* gcvHAL_SET_PROFILE_SETTING */
+        struct _gcsHAL_SET_PROFILE_SETTING
+        {
+            /* Enable profiling */
+            IN gctBOOL              enable;
+
+            /* The profile file name */
+            IN gctCHAR              fileName[gcdMAX_PROFILE_FILE_NAME];
+        }
+        SetProfileSetting;
+
+#if VIVANTE_PROFILER_PERDRAW
+        /* gcvHAL_READ_PROFILER_REGISTER_SETTING */
+        struct _gcsHAL_READ_PROFILER_REGISTER_SETTING
+         {
+            /*Should Clear Register*/
+            IN gctBOOL               bclear;
+         }
+        SetProfilerRegisterClear;
+#endif
+
+        /* gcvHAL_READ_ALL_PROFILE_REGISTERS */
+        struct _gcsHAL_READ_ALL_PROFILE_REGISTERS
+        {
+#if VIVANTE_PROFILER_CONTEXT
+            /* Context buffer object gckCONTEXT. Just a name. */
+            IN gctUINT32                context;
+#endif
+            /* Data read. */
+            OUT gcsPROFILER_COUNTERS    counters;
+        }
+        RegisterProfileData;
+
+        /* gcvHAL_PROFILE_REGISTERS_2D */
+        struct _gcsHAL_PROFILE_REGISTERS_2D
+        {
+            /* Data read in gcs2D_PROFILE. */
+            OUT gctUINT64       hwProfile2D;
+        }
+        RegisterProfileData2D;
+#endif
+        /* Power management. */
+        /* gcvHAL_SET_POWER_MANAGEMENT_STATE */
+        struct _gcsHAL_SET_POWER_MANAGEMENT
+        {
+            /* Data read. */
+            IN gceCHIPPOWERSTATE        state;
+        }
+        SetPowerManagement;
+
+        /* gcvHAL_QUERY_POWER_MANAGEMENT_STATE */
+        struct _gcsHAL_QUERY_POWER_MANAGEMENT
+        {
+            /* Data read. */
+            OUT gceCHIPPOWERSTATE       state;
+
+            /* Idle query. */
+            OUT gctBOOL                 isIdle;
+        }
+        QueryPowerManagement;
+
+        /* gcvHAL_QUERY_KERNEL_SETTINGS */
+        struct _gcsHAL_QUERY_KERNEL_SETTINGS
+        {
+            /* Settings.*/
+            OUT gcsKERNEL_SETTINGS      settings;
+        }
+        QueryKernelSettings;
+
+        /* gcvHAL_MAP_PHYSICAL */
+        struct _gcsHAL_MAP_PHYSICAL
+        {
+            /* gcvTRUE to map, gcvFALSE to unmap. */
+            IN gctBOOL                  map;
+
+            /* Physical address. */
+            IN OUT gctUINT64            physical;
+        }
+        MapPhysical;
+
+        /* gcvHAL_DEBUG */
+        struct _gcsHAL_DEBUG
+        {
+            /* If gcvTRUE, set the debug information. */
+            IN gctBOOL                  set;
+            IN gctUINT32                level;
+            IN gctUINT32                zones;
+            IN gctBOOL                  enable;
+
+            IN gceDEBUG_MESSAGE_TYPE    type;
+            IN gctUINT32                messageSize;
+
+            /* Message to print if not empty. */
+            IN gctCHAR                  message[80];
+        }
+        Debug;
+
+        /* gcvHAL_CACHE */
+        struct _gcsHAL_CACHE
+        {
+            IN gceCACHEOPERATION        operation;
+            /* gctHANDLE */
+            IN gctUINT64                process;
+            IN gctUINT64                logical;
+            IN gctUINT64                bytes;
+            /* gcuVIDMEM_NODE_PTR */
+            IN gctUINT64                node;
+        }
+        Cache;
+
+        /* gcvHAL_TIMESTAMP */
+        struct _gcsHAL_TIMESTAMP
+        {
+            /* Timer select. */
+            IN gctUINT32                timer;
+
+            /* Timer request type (0-stop, 1-start, 2-send delta). */
+            IN gctUINT32                request;
+
+            /* Result of delta time in microseconds. */
+            OUT gctINT32                timeDelta;
+        }
+        TimeStamp;
+
+        /* gcvHAL_DATABASE */
+        struct _gcsHAL_DATABASE
+        {
+            /* Set to gcvTRUE if you want to query a particular process ID.
+            ** Set to gcvFALSE to query the last detached process. */
+            IN gctBOOL                  validProcessID;
+
+            /* Process ID to query. */
+            IN gctUINT32                processID;
+
+            /* Information. */
+            OUT gcuDATABASE_INFO        vidMem;
+            OUT gcuDATABASE_INFO        nonPaged;
+            OUT gcuDATABASE_INFO        contiguous;
+            OUT gcuDATABASE_INFO        gpuIdle;
+        }
+        Database;
+
+        /* gcvHAL_VIDMEM_DATABASE */
+        struct _gcsHAL_VIDMEM_DATABASE
+        {
+            /* Set to gcvTRUE if you want to query a particular process ID.
+            ** Set to gcvFALSE to query the last detached process. */
+            IN gctBOOL                  validProcessID;
+
+            /* Process ID to query. */
+            IN gctUINT32                processID;
+
+            /* Information. */
+            OUT gcuDATABASE_INFO        vidMemResv;
+            OUT gcuDATABASE_INFO        vidMemCont;
+            OUT gcuDATABASE_INFO        vidMemVirt;
+        }
+        VidMemDatabase;
+
+        /* gcvHAL_VERSION */
+        struct _gcsHAL_VERSION
+        {
+            /* Major version: N.n.n. */
+            OUT gctINT32                major;
+
+            /* Minor version: n.N.n. */
+            OUT gctINT32                minor;
+
+            /* Patch version: n.n.N. */
+            OUT gctINT32                patch;
+
+            /* Build version. */
+            OUT gctUINT32               build;
+        }
+        Version;
+
+        /* gcvHAL_CHIP_INFO */
+        struct _gcsHAL_CHIP_INFO
+        {
+            /* Chip count. */
+            OUT gctINT32                count;
+
+            /* Chip types. */
+            OUT gceHARDWARE_TYPE        types[gcdCHIP_COUNT];
+        }
+        ChipInfo;
+
+        /* gcvHAL_ATTACH */
+        struct _gcsHAL_ATTACH
+        {
+            /* Context buffer object gckCONTEXT. Just a name. */
+            OUT gctUINT32               context;
+
+            /* Number of states in the buffer. */
+            OUT gctUINT64               stateCount;
+        }
+        Attach;
+
+        /* gcvHAL_DETACH */
+        struct _gcsHAL_DETACH
+        {
+            /* Context buffer object gckCONTEXT. Just a name. */
+            IN gctUINT32                context;
+        }
+        Detach;
+
+        /* gcvHAL_COMPOSE. */
+        gcsHAL_COMPOSE            Compose;
+
+        /* gcvHAL_GET_FRAME_INFO. */
+        struct _gcsHAL_GET_FRAME_INFO
+        {
+            /* gcsHAL_FRAME_INFO* */
+            OUT gctUINT64     frameInfo;
+        }
+        GetFrameInfo;
+
+        /* gcvHAL_SET_TIME_OUT. */
+        struct _gcsHAL_SET_TIMEOUT
+        {
+            gctUINT32                   timeOut;
+        }
+        SetTimeOut;
+
+#if gcdENABLE_VG
+               /* gcvHAL_COMMIT */
+               struct _gcsHAL_VGCOMMIT
+               {
+                       /* Context buffer in gcsVGCONTEXT. */
+                       IN gctUINT64                    context;
+
+                       /* Command queue in gcsVGCMDQUEUE. */
+                       IN gctUINT64                    queue;
+
+                       /* Number of entries in the queue. */
+                       IN gctUINT                      entryCount;
+
+                       /* Task table in gcsTASK_MASTER_TABLE. */
+                       IN gctUINT64                    taskTable;
+               }
+               VGCommit;
+
+               /* gcvHAL_QUERY_COMMAND_BUFFER */
+               struct _gcsHAL_QUERY_COMMAND_BUFFER
+               {
+                       /* Command buffer attributes. */
+                       OUT gcsCOMMAND_BUFFER_INFO      information;
+               }
+               QueryCommandBuffer;
+
+#endif
+
+        struct _gcsHAL_GET_SHARED_INFO
+        {
+            /* Process id. */
+            IN gctUINT32            pid;
+
+            /* Data id. */
+            IN gctUINT32            dataId;
+
+            /* Data size. */
+            IN gctSIZE_T            bytes;
+
+            /* Pointer to save the shared data. */
+            OUT gctPOINTER          data;
+        }
+        GetSharedInfo;
+
+        struct _gcsHAL_SET_SHARED_INFO
+        {
+            /* Data id. */
+            IN gctUINT32            dataId;
+
+            /* Data to be shared. */
+            IN gctPOINTER           data;
+
+            /* Data size. */
+            IN gctSIZE_T            bytes;
+        }
+        SetSharedInfo;
+
+        struct _gcsHAL_SET_FSCALE_VALUE
+        {
+            IN gctUINT              value;
+        }
+        SetFscaleValue;
+
+        struct _gcsHAL_GET_FSCALE_VALUE
+        {
+            OUT gctUINT             value;
+            OUT gctUINT             minValue;
+            OUT gctUINT             maxValue;
+        }
+        GetFscaleValue;
+
+        struct _gcsHAL_QUERY_RESET_TIME_STAMP
+        {
+            OUT gctUINT64           timeStamp;
+        }
+        QueryResetTimeStamp;
+
+        struct _gcsHAL_SYNC_POINT
+        {
+            /* Command. */
+            gceSYNC_POINT_COMMAND_CODES command;
+
+            /* Sync point. */
+            IN OUT gctUINT64            syncPoint;
+
+            /* From where. */
+            IN gceKERNEL_WHERE          fromWhere;
+
+            /* Signaled state. */
+            OUT gctBOOL                 state;
+        }
+        SyncPoint;
+
+        struct _gcsHAL_CREATE_NATIVE_FENCE
+        {
+            /* Signal id to dup. */
+            IN gctUINT64                syncPoint;
+
+            /* Native fence file descriptor. */
+            OUT gctINT                  fenceFD;
+
+        }
+        CreateNativeFence;
+    }
+    u;
+}
+gcsHAL_INTERFACE;
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __gc_hal_driver_h_ */
diff --git a/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_driver_vg.h b/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_driver_vg.h
new file mode 100644 (file)
index 0000000..b54752f
--- /dev/null
@@ -0,0 +1,270 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#ifndef __gc_hal_driver_vg_h_
+#define __gc_hal_driver_vg_h_
+
+
+
+#include "gc_hal_types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/******************************************************************************\
+******************************* I/O Control Codes ******************************
+\******************************************************************************/
+
+#define gcvHAL_CLASS            "galcore"
+#define IOCTL_GCHAL_INTERFACE   30000
+
+/******************************************************************************\
+********************************* Command Codes ********************************
+\******************************************************************************/
+
+/******************************************************************************\
+********************* Command buffer information structure. ********************
+\******************************************************************************/
+
+typedef struct _gcsCOMMAND_BUFFER_INFO * gcsCOMMAND_BUFFER_INFO_PTR;
+typedef struct _gcsCOMMAND_BUFFER_INFO
+{
+    /* FE command buffer interrupt ID. */
+    gctINT32                    feBufferInt;
+
+    /* TS overflow interrupt ID. */
+    gctINT32                    tsOverflowInt;
+
+    /* Alignment and mask for the buffer address. */
+    gctUINT                     addressMask;
+    gctSIZE_T                   addressAlignment;
+
+    /* Alignment for each command. */
+    gctSIZE_T                   commandAlignment;
+
+    /* Number of bytes required by the STATE command. */
+    gctSIZE_T                   stateCommandSize;
+
+    /* Number of bytes required by the RESTART command. */
+    gctSIZE_T                   restartCommandSize;
+
+    /* Number of bytes required by the FETCH command. */
+    gctSIZE_T                   fetchCommandSize;
+
+    /* Number of bytes required by the CALL command. */
+    gctSIZE_T                   callCommandSize;
+
+    /* Number of bytes required by the RETURN command. */
+    gctSIZE_T                   returnCommandSize;
+
+    /* Number of bytes required by the EVENT command. */
+    gctSIZE_T                   eventCommandSize;
+
+    /* Number of bytes required by the END command. */
+    gctSIZE_T                   endCommandSize;
+
+    /* Number of bytes reserved at the tail of a static command buffer. */
+    gctSIZE_T                   staticTailSize;
+
+    /* Number of bytes reserved at the tail of a dynamic command buffer. */
+    gctSIZE_T                   dynamicTailSize;
+}
+gcsCOMMAND_BUFFER_INFO;
+
+/******************************************************************************\
+******************************** Task Structures *******************************
+\******************************************************************************/
+
+typedef enum _gceTASK
+{
+    gcvTASK_LINK,
+    gcvTASK_CLUSTER,
+    gcvTASK_INCREMENT,
+    gcvTASK_DECREMENT,
+    gcvTASK_SIGNAL,
+    gcvTASK_LOCKDOWN,
+    gcvTASK_UNLOCK_VIDEO_MEMORY,
+    gcvTASK_FREE_VIDEO_MEMORY,
+    gcvTASK_FREE_CONTIGUOUS_MEMORY,
+    gcvTASK_UNMAP_USER_MEMORY
+}
+gceTASK;
+
+typedef struct _gcsTASK_HEADER * gcsTASK_HEADER_PTR;
+typedef struct _gcsTASK_HEADER
+{
+    /* Task ID. */
+    IN gceTASK                  id;
+}
+gcsTASK_HEADER;
+
+typedef struct _gcsTASK_LINK * gcsTASK_LINK_PTR;
+typedef struct _gcsTASK_LINK
+{
+    /* Task ID (gcvTASK_LINK). */
+    IN gceTASK                  id;
+
+    /* Pointer to the next task container. */
+    IN gctPOINTER               cotainer;
+
+    /* Pointer to the next task from the next task container. */
+    IN gcsTASK_HEADER_PTR       task;
+}
+gcsTASK_LINK;
+
+typedef struct _gcsTASK_CLUSTER * gcsTASK_CLUSTER_PTR;
+typedef struct _gcsTASK_CLUSTER
+{
+    /* Task ID (gcvTASK_CLUSTER). */
+    IN gceTASK                  id;
+
+    /* Number of tasks in the cluster. */
+    IN gctUINT                  taskCount;
+}
+gcsTASK_CLUSTER;
+
+typedef struct _gcsTASK_INCREMENT * gcsTASK_INCREMENT_PTR;
+typedef struct _gcsTASK_INCREMENT
+{
+    /* Task ID (gcvTASK_INCREMENT). */
+    IN gceTASK                  id;
+
+    /* Address of the variable to increment. */
+    IN gctUINT32                address;
+}
+gcsTASK_INCREMENT;
+
+typedef struct _gcsTASK_DECREMENT * gcsTASK_DECREMENT_PTR;
+typedef struct _gcsTASK_DECREMENT
+{
+    /* Task ID (gcvTASK_DECREMENT). */
+    IN gceTASK                  id;
+
+    /* Address of the variable to decrement. */
+    IN gctUINT32                address;
+}
+gcsTASK_DECREMENT;
+
+typedef struct _gcsTASK_SIGNAL * gcsTASK_SIGNAL_PTR;
+typedef struct _gcsTASK_SIGNAL
+{
+    /* Task ID (gcvTASK_SIGNAL). */
+    IN gceTASK                  id;
+
+    /* Process owning the signal. */
+    IN gctHANDLE                process;
+
+    /* Signal handle to signal. */
+    IN gctSIGNAL                signal;
+
+#if defined(__QNXNTO__)
+    IN gctINT32                 coid;
+    IN gctINT32                 rcvid;
+#endif
+}
+gcsTASK_SIGNAL;
+
+typedef struct _gcsTASK_LOCKDOWN * gcsTASK_LOCKDOWN_PTR;
+typedef struct _gcsTASK_LOCKDOWN
+{
+    /* Task ID (gcvTASK_LOCKDOWN). */
+    IN gceTASK                  id;
+
+    /* Address of the user space counter. */
+    IN gctUINT32                userCounter;
+
+    /* Address of the kernel space counter. */
+    IN gctUINT32                kernelCounter;
+
+    /* Process owning the signal. */
+    IN gctHANDLE                process;
+
+    /* Signal handle to signal. */
+    IN gctSIGNAL                signal;
+}
+gcsTASK_LOCKDOWN;
+
+typedef struct _gcsTASK_UNLOCK_VIDEO_MEMORY * gcsTASK_UNLOCK_VIDEO_MEMORY_PTR;
+typedef struct _gcsTASK_UNLOCK_VIDEO_MEMORY
+{
+    /* Task ID (gcvTASK_UNLOCK_VIDEO_MEMORY). */
+    IN gceTASK                  id;
+
+    /* Allocated video memory. */
+    IN gctUINT64                node;
+}
+gcsTASK_UNLOCK_VIDEO_MEMORY;
+
+typedef struct _gcsTASK_FREE_VIDEO_MEMORY * gcsTASK_FREE_VIDEO_MEMORY_PTR;
+typedef struct _gcsTASK_FREE_VIDEO_MEMORY
+{
+    /* Task ID (gcvTASK_FREE_VIDEO_MEMORY). */
+    IN gceTASK                  id;
+
+    /* Allocated video memory. */
+    IN gctUINT64                node;
+}
+gcsTASK_FREE_VIDEO_MEMORY;
+
+typedef struct _gcsTASK_FREE_CONTIGUOUS_MEMORY * gcsTASK_FREE_CONTIGUOUS_MEMORY_PTR;
+typedef struct _gcsTASK_FREE_CONTIGUOUS_MEMORY
+{
+    /* Task ID (gcvTASK_FREE_CONTIGUOUS_MEMORY). */
+    IN gceTASK                  id;
+
+    /* Number of bytes allocated. */
+    IN gctSIZE_T                bytes;
+
+    /* Physical address of allocation. */
+    IN gctPHYS_ADDR             physical;
+
+    /* Logical address of allocation. */
+    IN gctPOINTER               logical;
+}
+gcsTASK_FREE_CONTIGUOUS_MEMORY;
+
+typedef struct _gcsTASK_UNMAP_USER_MEMORY * gcsTASK_UNMAP_USER_MEMORY_PTR;
+typedef struct _gcsTASK_UNMAP_USER_MEMORY
+{
+    /* Task ID (gcvTASK_UNMAP_USER_MEMORY). */
+    IN gceTASK                  id;
+
+    /* Base address of user memory to unmap. */
+    IN gctPOINTER               memory;
+
+    /* Size of user memory in bytes to unmap. */
+    IN gctSIZE_T                size;
+
+    /* Info record returned by gcvHAL_MAP_USER_MEMORY. */
+    IN gctPOINTER               info;
+
+    /* Physical address of mapped memory as returned by
+       gcvHAL_MAP_USER_MEMORY. */
+    IN gctUINT32                address;
+}
+gcsTASK_UNMAP_USER_MEMORY;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __gc_hal_driver_h_ */
diff --git a/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_dump.h b/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_dump.h
new file mode 100644 (file)
index 0000000..ffd45e8
--- /dev/null
@@ -0,0 +1,88 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#ifndef __gc_hal_dump_h_
+#define __gc_hal_dump_h_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+**     FILE LAYOUT:
+**
+**             gcsDUMP_FILE structure
+**
+**             gcsDUMP_DATA frame
+**                     gcsDUMP_DATA or gcDUMP_DATA_SIZE records rendingring the frame
+**                     gctUINT8 data[length]
+*/
+
+#define gcvDUMP_FILE_SIGNATURE         gcmCC('g','c','D','B')
+
+typedef struct _gcsDUMP_FILE
+{
+       gctUINT32               signature;      /* File signature */
+       gctSIZE_T                       length;         /* Length of file */
+       gctUINT32                       frames;         /* Number of frames in file */
+}
+gcsDUMP_FILE;
+
+typedef enum _gceDUMP_TAG
+{
+       gcvTAG_SURFACE                                  = gcmCC('s','u','r','f'),
+       gcvTAG_FRAME                                    = gcmCC('f','r','m',' '),
+       gcvTAG_COMMAND                                  = gcmCC('c','m','d',' '),
+       gcvTAG_INDEX                                    = gcmCC('i','n','d','x'),
+       gcvTAG_STREAM                                   = gcmCC('s','t','r','m'),
+       gcvTAG_TEXTURE                                  = gcmCC('t','e','x','t'),
+       gcvTAG_RENDER_TARGET                    = gcmCC('r','n','d','r'),
+       gcvTAG_DEPTH                                    = gcmCC('z','b','u','f'),
+       gcvTAG_RESOLVE                                  = gcmCC('r','s','l','v'),
+       gcvTAG_DELETE                                   = gcmCC('d','e','l',' '),
+}
+gceDUMP_TAG;
+
+typedef struct _gcsDUMP_SURFACE
+{
+       gceDUMP_TAG                     type;           /* Type of record. */
+       gctUINT32               address;        /* Address of the surface. */
+       gctINT16                width;          /* Width of surface. */
+       gctINT16                        height;         /* Height of surface. */
+       gceSURF_FORMAT          format;         /* Surface pixel format. */
+       gctSIZE_T                       length;         /* Number of bytes inside the surface. */
+}
+gcsDUMP_SURFACE;
+
+typedef struct _gcsDUMP_DATA
+{
+       gceDUMP_TAG                     type;           /* Type of record. */
+       gctSIZE_T               length;         /* Number of bytes of data. */
+       gctUINT32               address;        /* Address for the data. */
+}
+gcsDUMP_DATA;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __gc_hal_dump_h_ */
+
diff --git a/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_eglplatform.h b/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_eglplatform.h
new file mode 100644 (file)
index 0000000..c4347e1
--- /dev/null
@@ -0,0 +1,616 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+#ifndef __gc_hal_eglplatform_h_
+#define __gc_hal_eglplatform_h_
+
+/* Include VDK types. */
+#include "gc_hal_types.h"
+#include "gc_hal_base.h"
+#include "gc_hal_eglplatform_type.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__)
+/* Win32 and Windows CE platforms. */
+#include <windows.h>
+typedef HDC             HALNativeDisplayType;
+typedef HWND            HALNativeWindowType;
+typedef HBITMAP         HALNativePixmapType;
+
+typedef struct __BITFIELDINFO{
+    BITMAPINFO    bmi;
+    RGBQUAD       bmiColors[2];
+} BITFIELDINFO;
+
+#elif defined(LINUX) && defined(EGL_API_DFB) && !defined(__APPLE__)
+#include <directfb.h>
+typedef struct _DFBDisplay * HALNativeDisplayType;
+typedef struct _DFBWindow *  HALNativeWindowType;
+typedef struct _DFBPixmap *  HALNativePixmapType;
+
+#elif defined(LINUX) && defined(EGL_API_FB) && !defined(__APPLE__)
+
+#if defined(EGL_API_WL)
+/* Wayland platform. */
+#include "wayland-server.h"
+#include <wayland-egl.h>
+
+#define WL_EGL_NUM_BACKBUFFERS 2
+
+typedef struct _gcsWL_VIV_BUFFER
+{
+   struct wl_buffer wl_buffer;
+   gcoSURF surface;
+} gcsWL_VIV_BUFFER;
+
+typedef struct _gcsWL_EGL_DISPLAY
+{
+   struct wl_display* wl_display;
+   struct wl_viv* wl_viv;
+} gcsWL_EGL_DISPLAY;
+
+typedef struct _gcsWL_EGL_BUFFER_INFO
+{
+   gctINT32 width;
+   gctINT32 height;
+   gctINT32 stride;
+   gceSURF_FORMAT format;
+   gcuVIDMEM_NODE_PTR node;
+   gcePOOL pool;
+   gctUINT bytes;
+   gcoSURF surface;
+} gcsWL_EGL_BUFFER_INFO;
+
+typedef struct _gcsWL_EGL_BUFFER
+{
+   struct wl_buffer* wl_buffer;
+   gcsWL_EGL_BUFFER_INFO info;
+} gcsWL_EGL_BUFFER;
+
+typedef struct _gcsWL_EGL_WINDOW_INFO
+{
+   gctUINT width;
+   gctUINT height;
+   gceSURF_FORMAT format;
+   gctUINT bpp;
+} gcsWL_EGL_WINDOW_INFO;
+
+struct wl_egl_window
+{
+   gcsWL_EGL_BUFFER backbuffers[WL_EGL_NUM_BACKBUFFERS];
+   gcsWL_EGL_WINDOW_INFO info;
+   gctUINT current;
+   struct wl_surface* surface;
+   struct wl_callback* pending;
+};
+
+typedef void*   HALNativeDisplayType;
+typedef void*   HALNativeWindowType;
+typedef void*   HALNativePixmapType;
+#else
+/* Linux platform for FBDEV. */
+typedef struct _FBDisplay * HALNativeDisplayType;
+typedef struct _FBWindow *  HALNativeWindowType;
+typedef struct _FBPixmap *  HALNativePixmapType;
+#endif
+#elif defined(__ANDROID__) || defined(ANDROID)
+
+struct egl_native_pixmap_t;
+
+#if ANDROID_SDK_VERSION >= 9
+    #include <android/native_window.h>
+
+    typedef struct ANativeWindow*           HALNativeWindowType;
+    typedef struct egl_native_pixmap_t*     HALNativePixmapType;
+    typedef void*                           HALNativeDisplayType;
+#else
+    struct android_native_window_t;
+    typedef struct android_native_window_t*    HALNativeWindowType;
+    typedef struct egl_native_pixmap_t *        HALNativePixmapType;
+    typedef void*                               HALNativeDisplayType;
+#endif
+
+#elif defined(LINUX) || defined(__APPLE__)
+/* X11 platform. */
+#include <X11/Xlib.h>
+#include <X11/Xutil.h>
+
+typedef Display *   HALNativeDisplayType;
+typedef Window      HALNativeWindowType;
+
+#ifdef CUSTOM_PIXMAP
+typedef void *      HALNativePixmapType;
+#else
+typedef Pixmap      HALNativePixmapType;
+#endif /* CUSTOM_PIXMAP */
+
+/* Rename some badly named X defines. */
+#ifdef Status
+#   define XStatus      int
+#   undef Status
+#endif
+#ifdef Always
+#   define XAlways      2
+#   undef Always
+#endif
+#ifdef CurrentTime
+#   undef CurrentTime
+#   define XCurrentTime 0
+#endif
+
+#elif defined(__QNXNTO__)
+#include <screen/screen.h>
+
+/* VOID */
+typedef int              HALNativeDisplayType;
+typedef screen_window_t  HALNativeWindowType;
+typedef screen_pixmap_t  HALNativePixmapType;
+
+#else
+
+#error "Platform not recognized"
+
+/* VOID */
+typedef void *  HALNativeDisplayType;
+typedef void *  HALNativeWindowType;
+typedef void *  HALNativePixmapType;
+
+#endif
+
+/* define DUMMY according to the system */
+#if defined(EGL_API_WL)
+#   define WL_DUMMY (31415926)
+#   define EGL_DUMMY WL_DUMMY
+#elif defined(__ANDROID__) || defined(ANDROID)
+#   define ANDROID_DUMMY (31415926)
+#   define EGL_DUMMY ANDROID_DUMMY
+#else
+#   define EGL_DUMMY (31415926)
+#endif
+
+/*******************************************************************************
+** Display. ********************************************************************
+*/
+
+gceSTATUS
+gcoOS_GetDisplay(
+    OUT HALNativeDisplayType * Display,
+    IN gctPOINTER Context
+    );
+
+gceSTATUS
+gcoOS_GetDisplayByIndex(
+    IN gctINT DisplayIndex,
+    OUT HALNativeDisplayType * Display,
+    IN gctPOINTER Context
+    );
+
+gceSTATUS
+gcoOS_GetDisplayInfo(
+    IN HALNativeDisplayType Display,
+    OUT gctINT * Width,
+    OUT gctINT * Height,
+    OUT gctSIZE_T * Physical,
+    OUT gctINT * Stride,
+    OUT gctINT * BitsPerPixel
+    );
+
+
+
+gceSTATUS
+gcoOS_GetDisplayInfoEx(
+    IN HALNativeDisplayType Display,
+    IN HALNativeWindowType Window,
+    IN gctUINT DisplayInfoSize,
+    OUT halDISPLAY_INFO * DisplayInfo
+    );
+
+gceSTATUS
+gcoOS_GetNextDisplayInfoExByIndex(
+    IN gctINT Index,
+    IN HALNativeDisplayType Display,
+    IN HALNativeWindowType Window,
+    IN gctUINT DisplayInfoSize,
+    OUT halDISPLAY_INFO * DisplayInfo
+    );
+
+gceSTATUS
+gcoOS_GetDisplayVirtual(
+    IN HALNativeDisplayType Display,
+    OUT gctINT * Width,
+    OUT gctINT * Height
+    );
+
+gceSTATUS
+gcoOS_GetDisplayBackbuffer(
+    IN HALNativeDisplayType Display,
+    IN HALNativeWindowType Window,
+    OUT gctPOINTER  *  context,
+    OUT gcoSURF     *  surface,
+    OUT gctUINT * Offset,
+    OUT gctINT * X,
+    OUT gctINT * Y
+    );
+
+gceSTATUS
+gcoOS_SetDisplayVirtual(
+    IN HALNativeDisplayType Display,
+    IN HALNativeWindowType Window,
+    IN gctUINT Offset,
+    IN gctINT X,
+    IN gctINT Y
+    );
+
+gceSTATUS
+gcoOS_SetDisplayVirtualEx(
+    IN HALNativeDisplayType Display,
+    IN HALNativeWindowType Window,
+    IN gctPOINTER Context,
+    IN gcoSURF Surface,
+    IN gctUINT Offset,
+    IN gctINT X,
+    IN gctINT Y
+    );
+
+gceSTATUS
+gcoOS_SetSwapInterval(
+    IN HALNativeDisplayType Display,
+    IN gctINT Interval
+);
+
+gceSTATUS
+gcoOS_GetSwapInterval(
+    IN HALNativeDisplayType Display,
+    IN gctINT_PTR Min,
+    IN gctINT_PTR Max
+);
+
+gceSTATUS
+gcoOS_DisplayBufferRegions(
+    IN HALNativeDisplayType Display,
+    IN HALNativeWindowType Window,
+    IN gctINT NumRects,
+    IN gctINT_PTR Rects
+    );
+
+gceSTATUS
+gcoOS_DestroyDisplay(
+    IN HALNativeDisplayType Display
+    );
+
+gceSTATUS
+gcoOS_InitLocalDisplayInfo(
+    IN HALNativeDisplayType Display,
+    IN OUT gctPOINTER * localDisplay
+    );
+
+gceSTATUS
+gcoOS_DeinitLocalDisplayInfo(
+    IN HALNativeDisplayType Display,
+    IN OUT gctPOINTER * localDisplay
+    );
+
+gceSTATUS
+gcoOS_GetDisplayInfoEx2(
+    IN HALNativeDisplayType Display,
+    IN HALNativeWindowType Window,
+    IN gctPOINTER  localDisplay,
+    IN gctUINT DisplayInfoSize,
+    OUT halDISPLAY_INFO * DisplayInfo
+    );
+
+gceSTATUS
+gcoOS_GetDisplayBackbufferEx(
+    IN HALNativeDisplayType Display,
+    IN HALNativeWindowType Window,
+    IN gctPOINTER  localDisplay,
+    OUT gctPOINTER  *  context,
+    OUT gcoSURF     *  surface,
+    OUT gctUINT * Offset,
+    OUT gctINT * X,
+    OUT gctINT * Y
+    );
+
+gceSTATUS
+gcoOS_IsValidDisplay(
+    IN HALNativeDisplayType Display
+    );
+
+gceSTATUS
+gcoOS_GetNativeVisualId(
+    IN HALNativeDisplayType Display,
+    OUT gctINT* nativeVisualId
+    );
+
+gctBOOL
+gcoOS_SynchronousFlip(
+    IN HALNativeDisplayType Display
+    );
+
+/*******************************************************************************
+** Windows. ********************************************************************
+*/
+
+gceSTATUS
+gcoOS_CreateWindow(
+    IN HALNativeDisplayType Display,
+    IN gctINT X,
+    IN gctINT Y,
+    IN gctINT Width,
+    IN gctINT Height,
+    OUT HALNativeWindowType * Window
+    );
+
+gceSTATUS
+gcoOS_GetWindowInfo(
+    IN HALNativeDisplayType Display,
+    IN HALNativeWindowType Window,
+    OUT gctINT * X,
+    OUT gctINT * Y,
+    OUT gctINT * Width,
+    OUT gctINT * Height,
+    OUT gctINT * BitsPerPixel,
+    OUT gctUINT * Offset
+    );
+
+gceSTATUS
+gcoOS_DestroyWindow(
+    IN HALNativeDisplayType Display,
+    IN HALNativeWindowType Window
+    );
+
+gceSTATUS
+gcoOS_DrawImage(
+    IN HALNativeDisplayType Display,
+    IN HALNativeWindowType Window,
+    IN gctINT Left,
+    IN gctINT Top,
+    IN gctINT Right,
+    IN gctINT Bottom,
+    IN gctINT Width,
+    IN gctINT Height,
+    IN gctINT BitsPerPixel,
+    IN gctPOINTER Bits
+    );
+
+gceSTATUS
+gcoOS_GetImage(
+    IN HALNativeWindowType Window,
+    IN gctINT Left,
+    IN gctINT Top,
+    IN gctINT Right,
+    IN gctINT Bottom,
+    OUT gctINT * BitsPerPixel,
+    OUT gctPOINTER * Bits
+    );
+
+gceSTATUS
+gcoOS_GetWindowInfoEx(
+    IN HALNativeDisplayType Display,
+    IN HALNativeWindowType Window,
+    OUT gctINT * X,
+    OUT gctINT * Y,
+    OUT gctINT * Width,
+    OUT gctINT * Height,
+    OUT gctINT * BitsPerPixel,
+    OUT gctUINT * Offset,
+    OUT gceSURF_FORMAT * Format
+    );
+
+gceSTATUS
+gcoOS_DrawImageEx(
+    IN HALNativeDisplayType Display,
+    IN HALNativeWindowType Window,
+    IN gctINT Left,
+    IN gctINT Top,
+    IN gctINT Right,
+    IN gctINT Bottom,
+    IN gctINT Width,
+    IN gctINT Height,
+    IN gctINT BitsPerPixel,
+    IN gctPOINTER Bits,
+    IN gceSURF_FORMAT  Format
+    );
+
+/*******************************************************************************
+** Pixmaps. ********************************************************************
+*/
+
+gceSTATUS
+gcoOS_CreatePixmap(
+    IN HALNativeDisplayType Display,
+    IN gctINT Width,
+    IN gctINT Height,
+    IN gctINT BitsPerPixel,
+    OUT HALNativePixmapType * Pixmap
+    );
+
+gceSTATUS
+gcoOS_GetPixmapInfo(
+    IN HALNativeDisplayType Display,
+    IN HALNativePixmapType Pixmap,
+    OUT gctINT * Width,
+    OUT gctINT * Height,
+    OUT gctINT * BitsPerPixel,
+    OUT gctINT * Stride,
+    OUT gctPOINTER * Bits
+    );
+
+gceSTATUS
+gcoOS_DrawPixmap(
+    IN HALNativeDisplayType Display,
+    IN HALNativePixmapType Pixmap,
+    IN gctINT Left,
+    IN gctINT Top,
+    IN gctINT Right,
+    IN gctINT Bottom,
+    IN gctINT Width,
+    IN gctINT Height,
+    IN gctINT BitsPerPixel,
+    IN gctPOINTER Bits
+    );
+
+gceSTATUS
+gcoOS_DestroyPixmap(
+    IN HALNativeDisplayType Display,
+    IN HALNativePixmapType Pixmap
+    );
+
+gceSTATUS
+gcoOS_GetPixmapInfoEx(
+    IN HALNativeDisplayType Display,
+    IN HALNativePixmapType Pixmap,
+    OUT gctINT * Width,
+    OUT gctINT * Height,
+    OUT gctINT * BitsPerPixel,
+    OUT gctINT * Stride,
+    OUT gctPOINTER * Bits,
+    OUT gceSURF_FORMAT * Format
+    );
+
+gceSTATUS
+gcoOS_CopyPixmapBits(
+    IN HALNativeDisplayType Display,
+    IN HALNativePixmapType Pixmap,
+    IN gctUINT DstWidth,
+    IN gctUINT DstHeight,
+    IN gctINT DstStride,
+    IN gceSURF_FORMAT DstFormat,
+    OUT gctPOINTER DstBits
+    );
+
+/*******************************************************************************
+** OS relative. ****************************************************************
+*/
+gceSTATUS
+gcoOS_LoadEGLLibrary(
+    OUT gctHANDLE * Handle
+    );
+
+gceSTATUS
+gcoOS_FreeEGLLibrary(
+    IN gctHANDLE Handle
+    );
+
+gceSTATUS
+gcoOS_ShowWindow(
+    IN HALNativeDisplayType Display,
+    IN HALNativeWindowType Window
+    );
+
+gceSTATUS
+gcoOS_HideWindow(
+    IN HALNativeDisplayType Display,
+    IN HALNativeWindowType Window
+    );
+
+gceSTATUS
+gcoOS_SetWindowTitle(
+    IN HALNativeDisplayType Display,
+    IN HALNativeWindowType Window,
+    IN gctCONST_STRING Title
+    );
+
+gceSTATUS
+gcoOS_CapturePointer(
+    IN HALNativeDisplayType Display,
+    IN HALNativeWindowType Window
+    );
+
+gceSTATUS
+gcoOS_GetEvent(
+    IN HALNativeDisplayType Display,
+    IN HALNativeWindowType Window,
+    OUT halEvent * Event
+    );
+
+gceSTATUS
+gcoOS_CreateClientBuffer(
+    IN gctINT Width,
+    IN gctINT Height,
+    IN gctINT Format,
+    IN gctINT Type,
+    OUT gctPOINTER * ClientBuffer
+    );
+
+gceSTATUS
+gcoOS_GetClientBufferInfo(
+    IN gctPOINTER ClientBuffer,
+    OUT gctINT * Width,
+    OUT gctINT * Height,
+    OUT gctINT * Stride,
+    OUT gctPOINTER * Bits
+    );
+
+gceSTATUS
+gcoOS_DestroyClientBuffer(
+    IN gctPOINTER ClientBuffer
+    );
+
+gceSTATUS
+gcoOS_DestroyContext(
+    IN gctPOINTER Display,
+    IN gctPOINTER Context
+    );
+
+gceSTATUS
+gcoOS_CreateContext(
+    IN gctPOINTER LocalDisplay,
+    IN gctPOINTER Context
+    );
+
+gceSTATUS
+gcoOS_MakeCurrent(
+    IN gctPOINTER LocalDisplay,
+    IN HALNativeWindowType DrawDrawable,
+    IN HALNativeWindowType ReadDrawable,
+    IN gctPOINTER Context,
+    IN gcoSURF ResolveTarget
+    );
+
+gceSTATUS
+gcoOS_CreateDrawable(
+    IN gctPOINTER LocalDisplay,
+    IN HALNativeWindowType Drawable
+    );
+
+gceSTATUS
+gcoOS_DestroyDrawable(
+    IN gctPOINTER LocalDisplay,
+    IN HALNativeWindowType Drawable
+    );
+gceSTATUS
+gcoOS_SwapBuffers(
+    IN gctPOINTER LocalDisplay,
+    IN HALNativeWindowType Drawable,
+    IN gcoSURF RenderTarget,
+    IN gcoSURF ResolveTarget,
+    IN gctPOINTER ResolveBits,
+    OUT gctUINT *Width,
+    OUT gctUINT *Height
+    );
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __gc_hal_eglplatform_h_ */
diff --git a/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_eglplatform_type.h b/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_eglplatform_type.h
new file mode 100644 (file)
index 0000000..4f5c3ce
--- /dev/null
@@ -0,0 +1,286 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#ifndef __gc_hal_eglplatform_type_h_
+#define __gc_hal_eglplatform_type_h_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*******************************************************************************
+** Events. *********************************************************************
+*/
+
+typedef enum _halEventType
+{
+       /* Keyboard event. */
+    HAL_KEYBOARD,
+
+       /* Mouse move event. */
+    HAL_POINTER,
+
+       /* Mouse button event. */
+    HAL_BUTTON,
+
+       /* Application close event. */
+       HAL_CLOSE,
+
+       /* Application window has been updated. */
+       HAL_WINDOW_UPDATE
+}
+halEventType;
+
+/* Scancodes for keyboard. */
+typedef enum _halKeys
+{
+    HAL_UNKNOWN = -1,
+
+    HAL_BACKSPACE = 0x08,
+    HAL_TAB,
+    HAL_ENTER = 0x0D,
+    HAL_ESCAPE = 0x1B,
+
+    HAL_SPACE = 0x20,
+    HAL_SINGLEQUOTE = 0x27,
+    HAL_PAD_ASTERISK = 0x2A,
+    HAL_COMMA = 0x2C,
+    HAL_HYPHEN,
+    HAL_PERIOD,
+    HAL_SLASH,
+    HAL_0,
+    HAL_1,
+    HAL_2,
+    HAL_3,
+    HAL_4,
+    HAL_5,
+    HAL_6,
+    HAL_7,
+    HAL_8,
+    HAL_9,
+    HAL_SEMICOLON = 0x3B,
+    HAL_EQUAL = 0x3D,
+    HAL_A = 0x41,
+    HAL_B,
+    HAL_C,
+    HAL_D,
+    HAL_E,
+    HAL_F,
+    HAL_G,
+    HAL_H,
+    HAL_I,
+    HAL_J,
+    HAL_K,
+    HAL_L,
+    HAL_M,
+    HAL_N,
+    HAL_O,
+    HAL_P,
+    HAL_Q,
+    HAL_R,
+    HAL_S,
+    HAL_T,
+    HAL_U,
+    HAL_V,
+    HAL_W,
+    HAL_X,
+    HAL_Y,
+    HAL_Z,
+    HAL_LBRACKET,
+    HAL_BACKSLASH,
+    HAL_RBRACKET,
+    HAL_BACKQUOTE = 0x60,
+
+    HAL_F1 = 0x80,
+    HAL_F2,
+    HAL_F3,
+    HAL_F4,
+    HAL_F5,
+    HAL_F6,
+    HAL_F7,
+    HAL_F8,
+    HAL_F9,
+    HAL_F10,
+    HAL_F11,
+    HAL_F12,
+
+    HAL_LCTRL,
+    HAL_RCTRL,
+    HAL_LSHIFT,
+    HAL_RSHIFT,
+    HAL_LALT,
+    HAL_RALT,
+    HAL_CAPSLOCK,
+    HAL_NUMLOCK,
+    HAL_SCROLLLOCK,
+    HAL_PAD_0,
+    HAL_PAD_1,
+    HAL_PAD_2,
+    HAL_PAD_3,
+    HAL_PAD_4,
+    HAL_PAD_5,
+    HAL_PAD_6,
+    HAL_PAD_7,
+    HAL_PAD_8,
+    HAL_PAD_9,
+    HAL_PAD_HYPHEN,
+    HAL_PAD_PLUS,
+    HAL_PAD_SLASH,
+    HAL_PAD_PERIOD,
+    HAL_PAD_ENTER,
+    HAL_SYSRQ,
+    HAL_PRNTSCRN,
+    HAL_BREAK,
+    HAL_UP,
+    HAL_LEFT,
+    HAL_RIGHT,
+    HAL_DOWN,
+    HAL_HOME,
+    HAL_END,
+    HAL_PGUP,
+    HAL_PGDN,
+    HAL_INSERT,
+    HAL_DELETE,
+    HAL_LWINDOW,
+    HAL_RWINDOW,
+    HAL_MENU,
+    HAL_POWER,
+    HAL_SLEEP,
+    HAL_WAKE
+}
+halKeys;
+
+/* Structure that defined keyboard mapping. */
+typedef struct _halKeyMap
+{
+       /* Normal key. */
+    halKeys normal;
+
+       /* Extended key. */
+    halKeys extended;
+}
+halKeyMap;
+
+/* Event structure. */
+typedef struct _halEvent
+{
+       /* Event type. */
+    halEventType type;
+
+       /* Event data union. */
+    union _halEventData
+    {
+               /* Event data for keyboard. */
+        struct _halKeyboard
+        {
+                       /* Scancode. */
+            halKeys    scancode;
+
+                       /* ASCII characte of the key pressed. */
+            char       key;
+
+                       /* Flag whether the key was pressed (1) or released (0). */
+            char       pressed;
+        }
+        keyboard;
+
+               /* Event data for pointer. */
+        struct _halPointer
+        {
+                       /* Current pointer coordinate. */
+            int                x;
+            int                y;
+        }
+        pointer;
+
+               /* Event data for mouse buttons. */
+        struct _halButton
+        {
+                       /* Left button state. */
+            int                left;
+
+                       /* Middle button state. */
+            int                middle;
+
+                       /* Right button state. */
+            int                right;
+
+                       /* Current pointer coordinate. */
+                       int             x;
+                       int             y;
+        }
+        button;
+    }
+    data;
+}
+halEvent;
+
+/* VFK_DISPLAY_INFO structure defining information returned by
+   vdkGetDisplayInfoEx. */
+typedef struct _halDISPLAY_INFO
+{
+    /* The size of the display in pixels. */
+    int                         width;
+    int                         height;
+
+    /* The stride of the dispay. -1 is returned if the stride is not known
+    ** for the specified display.*/
+    int                         stride;
+
+    /* The color depth of the display in bits per pixel. */
+    int                         bitsPerPixel;
+
+    /* The logical pointer to the display memory buffer. NULL is returned
+    ** if the pointer is not known for the specified display. */
+    void *                      logical;
+
+    /* The physical address of the display memory buffer. ~0 is returned
+    ** if the address is not known for the specified display. */
+    unsigned long               physical;
+
+    int                wrapFB;   /* true if compositor, false otherwise. */
+
+#ifndef __QNXNTO__
+    /* 355_FB_MULTI_BUFFER */
+    int                      multiBuffer;
+    int                      backBufferY;
+#endif
+
+    /* The color info of the display. */
+    unsigned int                alphaLength;
+    unsigned int                alphaOffset;
+    unsigned int                redLength;
+    unsigned int                redOffset;
+    unsigned int                greenLength;
+    unsigned int                greenOffset;
+    unsigned int                blueLength;
+    unsigned int                blueOffset;
+
+    /* Display flip support. */
+    int                         flip;
+}
+halDISPLAY_INFO;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __gc_hal_eglplatform_type_h_ */
diff --git a/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_engine.h b/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_engine.h
new file mode 100644 (file)
index 0000000..3fb2fe4
--- /dev/null
@@ -0,0 +1,2053 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#ifndef __gc_hal_engine_h_
+#define __gc_hal_engine_h_
+
+#ifndef VIVANTE_NO_3D
+#include "gc_hal_types.h"
+#include "gc_hal_enum.h"
+
+#if gcdENABLE_VG
+#include "gc_hal_engine_vg.h"
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/******************************************************************************\
+****************************** Object Declarations *****************************
+\******************************************************************************/
+
+typedef struct _gcoSTREAM *             gcoSTREAM;
+typedef struct _gcoVERTEX *             gcoVERTEX;
+typedef struct _gcoTEXTURE *            gcoTEXTURE;
+typedef struct _gcoINDEX *              gcoINDEX;
+typedef struct _gcsVERTEX_ATTRIBUTES *  gcsVERTEX_ATTRIBUTES_PTR;
+typedef struct _gcoVERTEXARRAY *        gcoVERTEXARRAY;
+
+#define gcdATTRIBUTE_COUNT              16
+
+/******************************************************************************\
+********************************* Enumerations *********************************
+\******************************************************************************/
+
+/* Shading format. */
+typedef enum _gceSHADING
+{
+    gcvSHADING_SMOOTH,
+    gcvSHADING_FLAT_D3D,
+    gcvSHADING_FLAT_OPENGL,
+}
+gceSHADING;
+
+/* Culling modes. */
+typedef enum _gceCULL
+{
+    gcvCULL_NONE,
+    gcvCULL_CCW,
+    gcvCULL_CW,
+}
+gceCULL;
+
+/* Fill modes. */
+typedef enum _gceFILL
+{
+    gcvFILL_POINT,
+    gcvFILL_WIRE_FRAME,
+    gcvFILL_SOLID,
+}
+gceFILL;
+
+/* Compare modes. */
+typedef enum _gceCOMPARE
+{
+    gcvCOMPARE_NEVER,
+    gcvCOMPARE_NOT_EQUAL,
+    gcvCOMPARE_LESS,
+    gcvCOMPARE_LESS_OR_EQUAL,
+    gcvCOMPARE_EQUAL,
+    gcvCOMPARE_GREATER,
+    gcvCOMPARE_GREATER_OR_EQUAL,
+    gcvCOMPARE_ALWAYS,
+    gcvCOMPARE_INVALID = -1
+}
+gceCOMPARE;
+
+/* Stencil modes. */
+typedef enum _gceSTENCIL_MODE
+{
+    gcvSTENCIL_NONE,
+    gcvSTENCIL_SINGLE_SIDED,
+    gcvSTENCIL_DOUBLE_SIDED,
+}
+gceSTENCIL_MODE;
+
+/* Stencil operations. */
+typedef enum _gceSTENCIL_OPERATION
+{
+    gcvSTENCIL_KEEP,
+    gcvSTENCIL_REPLACE,
+    gcvSTENCIL_ZERO,
+    gcvSTENCIL_INVERT,
+    gcvSTENCIL_INCREMENT,
+    gcvSTENCIL_DECREMENT,
+    gcvSTENCIL_INCREMENT_SATURATE,
+    gcvSTENCIL_DECREMENT_SATURATE,
+    gcvSTENCIL_OPERATION_INVALID = -1
+}
+gceSTENCIL_OPERATION;
+
+/* Stencil selection. */
+typedef enum _gceSTENCIL_WHERE
+{
+    gcvSTENCIL_FRONT,
+    gcvSTENCIL_BACK,
+}
+gceSTENCIL_WHERE;
+
+/* Texture addressing selection. */
+typedef enum _gceTEXTURE_WHICH
+{
+    gcvTEXTURE_S,
+    gcvTEXTURE_T,
+    gcvTEXTURE_R,
+}
+gceTEXTURE_WHICH;
+
+/* Texture addressing modes. */
+typedef enum _gceTEXTURE_ADDRESSING
+{
+    gcvTEXTURE_WRAP,
+    gcvTEXTURE_CLAMP,
+    gcvTEXTURE_BORDER,
+    gcvTEXTURE_MIRROR,
+    gcvTEXTURE_MIRROR_ONCE,
+}
+gceTEXTURE_ADDRESSING;
+
+/* Texture filters. */
+typedef enum _gceTEXTURE_FILTER
+{
+    gcvTEXTURE_NONE,
+    gcvTEXTURE_POINT,
+    gcvTEXTURE_LINEAR,
+    gcvTEXTURE_ANISOTROPIC,
+}
+gceTEXTURE_FILTER;
+
+/* Primitive types. */
+typedef enum _gcePRIMITIVE
+{
+    gcvPRIMITIVE_POINT_LIST,
+    gcvPRIMITIVE_LINE_LIST,
+    gcvPRIMITIVE_LINE_STRIP,
+    gcvPRIMITIVE_LINE_LOOP,
+    gcvPRIMITIVE_TRIANGLE_LIST,
+    gcvPRIMITIVE_TRIANGLE_STRIP,
+    gcvPRIMITIVE_TRIANGLE_FAN,
+    gcvPRIMITIVE_RECTANGLE,
+}
+gcePRIMITIVE;
+
+/* Index types. */
+typedef enum _gceINDEX_TYPE
+{
+    gcvINDEX_8,
+    gcvINDEX_16,
+    gcvINDEX_32,
+}
+gceINDEX_TYPE;
+
+/******************************************************************************\
+********************************* gcoHAL Object *********************************
+\******************************************************************************/
+
+/* Query the target capabilities. */
+gceSTATUS
+gcoHAL_QueryTargetCaps(
+    IN gcoHAL Hal,
+    OUT gctUINT * MaxWidth,
+    OUT gctUINT * MaxHeight,
+    OUT gctUINT * MultiTargetCount,
+    OUT gctUINT * MaxSamples
+    );
+
+gceSTATUS
+gcoHAL_SetDepthOnly(
+    IN gcoHAL Hal,
+    IN gctBOOL Enable
+    );
+
+gceSTATUS
+gcoHAL_QueryShaderCaps(
+    IN gcoHAL Hal,
+    OUT gctUINT * VertexUniforms,
+    OUT gctUINT * FragmentUniforms,
+    OUT gctUINT * Varyings
+    );
+
+gceSTATUS
+gcoHAL_QueryTextureCaps(
+    IN gcoHAL Hal,
+    OUT gctUINT * MaxWidth,
+    OUT gctUINT * MaxHeight,
+    OUT gctUINT * MaxDepth,
+    OUT gctBOOL * Cubic,
+    OUT gctBOOL * NonPowerOfTwo,
+    OUT gctUINT * VertexSamplers,
+    OUT gctUINT * PixelSamplers
+    );
+
+gceSTATUS
+gcoHAL_QueryTextureMaxAniso(
+    IN gcoHAL Hal,
+    OUT gctUINT * MaxAnisoValue
+    );
+
+gceSTATUS
+gcoHAL_QueryStreamCaps(
+    IN gcoHAL Hal,
+    OUT gctUINT32 * MaxAttributes,
+    OUT gctUINT32 * MaxStreamSize,
+    OUT gctUINT32 * NumberOfStreams,
+    OUT gctUINT32 * Alignment
+    );
+
+/******************************************************************************\
+********************************* gcoSURF Object ********************************
+\******************************************************************************/
+
+/*----------------------------------------------------------------------------*/
+/*--------------------------------- gcoSURF 3D --------------------------------*/
+
+/* Copy surface. */
+gceSTATUS
+gcoSURF_Copy(
+    IN gcoSURF Surface,
+    IN gcoSURF Source
+    );
+
+/* Clear surface. */
+gceSTATUS
+gcoSURF_Clear(
+    IN gcoSURF Surface,
+    IN gctUINT Flags
+    );
+
+/* Set number of samples for a gcoSURF object. */
+gceSTATUS
+gcoSURF_SetSamples(
+    IN gcoSURF Surface,
+    IN gctUINT Samples
+    );
+
+/* Get the number of samples per pixel. */
+gceSTATUS
+gcoSURF_GetSamples(
+    IN gcoSURF Surface,
+    OUT gctUINT_PTR Samples
+    );
+
+/* Clear rectangular surface. */
+gceSTATUS
+gcoSURF_ClearRect(
+    IN gcoSURF Surface,
+    IN gctINT Left,
+    IN gctINT Top,
+    IN gctINT Right,
+    IN gctINT Bottom,
+    IN gctUINT Flags
+    );
+
+/* TO BE REMOVED */
+    gceSTATUS
+    depr_gcoSURF_Resolve(
+        IN gcoSURF SrcSurface,
+        IN gcoSURF DestSurface,
+        IN gctUINT32 DestAddress,
+        IN gctPOINTER DestBits,
+        IN gctINT DestStride,
+        IN gceSURF_TYPE DestType,
+        IN gceSURF_FORMAT DestFormat,
+        IN gctUINT DestWidth,
+        IN gctUINT DestHeight
+        );
+
+    gceSTATUS
+    depr_gcoSURF_ResolveRect(
+        IN gcoSURF SrcSurface,
+        IN gcoSURF DestSurface,
+        IN gctUINT32 DestAddress,
+        IN gctPOINTER DestBits,
+        IN gctINT DestStride,
+        IN gceSURF_TYPE DestType,
+        IN gceSURF_FORMAT DestFormat,
+        IN gctUINT DestWidth,
+        IN gctUINT DestHeight,
+        IN gcsPOINT_PTR SrcOrigin,
+        IN gcsPOINT_PTR DestOrigin,
+        IN gcsPOINT_PTR RectSize
+        );
+
+/* Resample surface. */
+gceSTATUS
+gcoSURF_Resample(
+    IN gcoSURF SrcSurface,
+    IN gcoSURF DestSurface
+    );
+
+/* Resolve surface. */
+gceSTATUS
+gcoSURF_Resolve(
+    IN gcoSURF SrcSurface,
+    IN gcoSURF DestSurface
+    );
+
+gceSTATUS
+gcoSURF_IsHWResolveable(
+    IN gcoSURF SrcSurface,
+    IN gcoSURF DestSurface,
+    IN gcsPOINT_PTR SrcOrigin,
+    IN gcsPOINT_PTR DestOrigin,
+    IN gcsPOINT_PTR RectSize
+    );
+
+/* Resolve rectangular area of a surface. */
+gceSTATUS
+gcoSURF_ResolveRect(
+    IN gcoSURF SrcSurface,
+    IN gcoSURF DestSurface,
+    IN gcsPOINT_PTR SrcOrigin,
+    IN gcsPOINT_PTR DestOrigin,
+    IN gcsPOINT_PTR RectSize
+    );
+
+/* Set surface resolvability. */
+gceSTATUS
+gcoSURF_SetResolvability(
+    IN gcoSURF Surface,
+    IN gctBOOL Resolvable
+    );
+
+gceSTATUS
+gcoSURF_IsRenderable(
+    IN gcoSURF Surface
+    );
+
+gceSTATUS
+gcoSURF_IsFormatRenderableAsRT(
+    IN gcoSURF Surface
+    );
+
+#if gcdSYNC
+gceSTATUS
+gcoSURF_GetFence(
+    IN gcoSURF Surface
+    );
+gceSTATUS
+gcoSURF_WaitFence(
+    IN gcoSURF Surface
+    );
+
+gceSTATUS
+gcoSTREAM_GetFence(
+    IN gcoSTREAM stream
+    );
+
+gceSTATUS
+gcoSTREAM_WaitFence(
+    IN gcoSTREAM stream
+    );
+
+gceSTATUS
+gcoINDEX_GetFence(
+    IN gcoINDEX index
+    );
+
+gceSTATUS
+gcoINDEX_WaitFence(
+    IN gcoINDEX index
+    );
+#endif
+
+/******************************************************************************\
+******************************** gcoINDEX Object *******************************
+\******************************************************************************/
+
+/* Construct a new gcoINDEX object. */
+gceSTATUS
+gcoINDEX_Construct(
+    IN gcoHAL Hal,
+    OUT gcoINDEX * Index
+    );
+
+/* Destroy a gcoINDEX object. */
+gceSTATUS
+gcoINDEX_Destroy(
+    IN gcoINDEX Index
+    );
+
+/* Lock index in memory. */
+gceSTATUS
+gcoINDEX_Lock(
+    IN gcoINDEX Index,
+    OUT gctUINT32 * Address,
+    OUT gctPOINTER * Memory
+    );
+
+/* Unlock index that was previously locked with gcoINDEX_Lock. */
+gceSTATUS
+gcoINDEX_Unlock(
+    IN gcoINDEX Index
+    );
+
+/* Upload index data into the memory. */
+gceSTATUS
+gcoINDEX_Load(
+    IN gcoINDEX Index,
+    IN gceINDEX_TYPE IndexType,
+    IN gctUINT32 IndexCount,
+    IN gctPOINTER IndexBuffer
+    );
+
+/* Bind an index object to the hardware. */
+gceSTATUS
+gcoINDEX_Bind(
+    IN gcoINDEX Index,
+    IN gceINDEX_TYPE Type
+    );
+
+/* Bind an index object to the hardware. */
+gceSTATUS
+gcoINDEX_BindOffset(
+    IN gcoINDEX Index,
+    IN gceINDEX_TYPE Type,
+    IN gctUINT32 Offset
+    );
+
+/* Free existing index buffer. */
+gceSTATUS
+gcoINDEX_Free(
+    IN gcoINDEX Index
+    );
+
+/* Upload data into an index buffer. */
+gceSTATUS
+gcoINDEX_Upload(
+    IN gcoINDEX Index,
+    IN gctCONST_POINTER Buffer,
+    IN gctSIZE_T Bytes
+    );
+
+/* Upload data into an index buffer starting at an offset. */
+gceSTATUS
+gcoINDEX_UploadOffset(
+    IN gcoINDEX Index,
+    IN gctUINT32 Offset,
+    IN gctCONST_POINTER Buffer,
+    IN gctSIZE_T Bytes
+    );
+
+/*Merge index2 to index1 from 0, index2 must subset of inex1*/
+gceSTATUS
+gcoINDEX_Merge(
+    IN gcoINDEX Index1,
+    IN gcoINDEX Index2
+    );
+
+/*check if index buffer is enough for this draw*/
+gctBOOL
+gcoINDEX_CheckRange(
+    IN gcoINDEX Index,
+    IN gceINDEX_TYPE Type,
+    IN gctINT Count,
+    IN gctUINT32  Indices
+    );
+
+/* Query the index capabilities. */
+gceSTATUS
+gcoINDEX_QueryCaps(
+    OUT gctBOOL * Index8,
+    OUT gctBOOL * Index16,
+    OUT gctBOOL * Index32,
+    OUT gctUINT * MaxIndex
+    );
+
+/* Determine the index range in the current index buffer. */
+gceSTATUS
+gcoINDEX_GetIndexRange(
+    IN gcoINDEX Index,
+    IN gceINDEX_TYPE Type,
+    IN gctUINT32 Offset,
+    IN gctUINT32 Count,
+    OUT gctUINT32 * MinimumIndex,
+    OUT gctUINT32 * MaximumIndex
+    );
+
+/* Dynamic buffer management. */
+gceSTATUS
+gcoINDEX_SetDynamic(
+    IN gcoINDEX Index,
+    IN gctSIZE_T Bytes,
+    IN gctUINT Buffers
+    );
+
+gceSTATUS
+gcoINDEX_UploadDynamic(
+    IN gcoINDEX Index,
+    IN gctCONST_POINTER Data,
+    IN gctSIZE_T Bytes
+    );
+
+/******************************************************************************\
+********************************** gco3D Object *********************************
+\******************************************************************************/
+
+/* Clear flags. */
+typedef enum _gceCLEAR
+{
+    gcvCLEAR_COLOR              = 0x1,
+    gcvCLEAR_DEPTH              = 0x2,
+    gcvCLEAR_STENCIL            = 0x4,
+    gcvCLEAR_HZ                 = 0x8,
+    gcvCLEAR_HAS_VAA            = 0x10,
+}
+gceCLEAR;
+
+/* Blending targets. */
+typedef enum _gceBLEND_UNIT
+{
+    gcvBLEND_SOURCE,
+    gcvBLEND_TARGET,
+}
+gceBLEND_UNIT;
+
+/* Construct a new gco3D object. */
+gceSTATUS
+gco3D_Construct(
+    IN gcoHAL Hal,
+    OUT gco3D * Engine
+    );
+
+/* Destroy an gco3D object. */
+gceSTATUS
+gco3D_Destroy(
+    IN gco3D Engine
+    );
+
+/* Set 3D API type. */
+gceSTATUS
+gco3D_SetAPI(
+    IN gco3D Engine,
+    IN gceAPI ApiType
+    );
+
+/* Set render target. */
+gceSTATUS
+gco3D_SetTarget(
+    IN gco3D Engine,
+    IN gcoSURF Surface
+    );
+
+/* Unset render target. */
+gceSTATUS
+gco3D_UnsetTarget(
+    IN gco3D Engine,
+    IN gcoSURF Surface
+    );
+
+/* Set depth buffer. */
+gceSTATUS
+gco3D_SetDepth(
+    IN gco3D Engine,
+    IN gcoSURF Surface
+    );
+
+/* Unset depth buffer. */
+gceSTATUS
+gco3D_UnsetDepth(
+    IN gco3D Engine,
+    IN gcoSURF Surface
+    );
+
+/* Set viewport. */
+gceSTATUS
+gco3D_SetViewport(
+    IN gco3D Engine,
+    IN gctINT32 Left,
+    IN gctINT32 Top,
+    IN gctINT32 Right,
+    IN gctINT32 Bottom
+    );
+
+/* Set scissors. */
+gceSTATUS
+gco3D_SetScissors(
+    IN gco3D Engine,
+    IN gctINT32 Left,
+    IN gctINT32 Top,
+    IN gctINT32 Right,
+    IN gctINT32 Bottom
+    );
+
+/* Set clear color. */
+gceSTATUS
+gco3D_SetClearColor(
+    IN gco3D Engine,
+    IN gctUINT8 Red,
+    IN gctUINT8 Green,
+    IN gctUINT8 Blue,
+    IN gctUINT8 Alpha
+    );
+
+/* Set fixed point clear color. */
+gceSTATUS
+gco3D_SetClearColorX(
+    IN gco3D Engine,
+    IN gctFIXED_POINT Red,
+    IN gctFIXED_POINT Green,
+    IN gctFIXED_POINT Blue,
+    IN gctFIXED_POINT Alpha
+    );
+
+/* Set floating point clear color. */
+gceSTATUS
+gco3D_SetClearColorF(
+    IN gco3D Engine,
+    IN gctFLOAT Red,
+    IN gctFLOAT Green,
+    IN gctFLOAT Blue,
+    IN gctFLOAT Alpha
+    );
+
+/* Set fixed point clear depth. */
+gceSTATUS
+gco3D_SetClearDepthX(
+    IN gco3D Engine,
+    IN gctFIXED_POINT Depth
+    );
+
+/* Set floating point clear depth. */
+gceSTATUS
+gco3D_SetClearDepthF(
+    IN gco3D Engine,
+    IN gctFLOAT Depth
+    );
+
+/* Set clear stencil. */
+gceSTATUS
+gco3D_SetClearStencil(
+    IN gco3D Engine,
+    IN gctUINT32 Stencil
+    );
+
+/* Clear a Rect sub-surface. */
+gceSTATUS
+gco3D_ClearRect(
+    IN gco3D Engine,
+    IN gctUINT32 Address,
+    IN gctPOINTER Memory,
+    IN gctUINT32 Stride,
+    IN gceSURF_FORMAT Format,
+    IN gctINT32 Left,
+    IN gctINT32 Top,
+    IN gctINT32 Right,
+    IN gctINT32 Bottom,
+    IN gctUINT32 Width,
+    IN gctUINT32 Height,
+    IN gctUINT32 Flags
+    );
+
+/* Clear surface. */
+gceSTATUS
+gco3D_Clear(
+    IN gco3D Engine,
+    IN gctUINT32 Address,
+    IN gctUINT32 Stride,
+    IN gceSURF_FORMAT Format,
+    IN gctUINT32 Width,
+    IN gctUINT32 Height,
+    IN gctUINT32 Flags
+    );
+
+
+/* Clear tile status. */
+gceSTATUS
+gco3D_ClearTileStatus(
+    IN gco3D Engine,
+    IN gcsSURF_INFO_PTR Surface,
+    IN gctUINT32 TileStatusAddress,
+    IN gctUINT32 Flags
+    );
+
+/* Set shading mode. */
+gceSTATUS
+gco3D_SetShading(
+    IN gco3D Engine,
+    IN gceSHADING Shading
+    );
+
+/* Set blending mode. */
+gceSTATUS
+gco3D_EnableBlending(
+    IN gco3D Engine,
+    IN gctBOOL Enable
+    );
+
+/* Set blending function. */
+gceSTATUS
+gco3D_SetBlendFunction(
+    IN gco3D Engine,
+    IN gceBLEND_UNIT Unit,
+    IN gceBLEND_FUNCTION FunctionRGB,
+    IN gceBLEND_FUNCTION FunctionAlpha
+    );
+
+/* Set blending mode. */
+gceSTATUS
+gco3D_SetBlendMode(
+    IN gco3D Engine,
+    IN gceBLEND_MODE ModeRGB,
+    IN gceBLEND_MODE ModeAlpha
+    );
+
+/* Set blending color. */
+gceSTATUS
+gco3D_SetBlendColor(
+    IN gco3D Engine,
+    IN gctUINT Red,
+    IN gctUINT Green,
+    IN gctUINT Blue,
+    IN gctUINT Alpha
+    );
+
+/* Set fixed point blending color. */
+gceSTATUS
+gco3D_SetBlendColorX(
+    IN gco3D Engine,
+    IN gctFIXED_POINT Red,
+    IN gctFIXED_POINT Green,
+    IN gctFIXED_POINT Blue,
+    IN gctFIXED_POINT Alpha
+    );
+
+/* Set floating point blending color. */
+gceSTATUS
+gco3D_SetBlendColorF(
+    IN gco3D Engine,
+    IN gctFLOAT Red,
+    IN gctFLOAT Green,
+    IN gctFLOAT Blue,
+    IN gctFLOAT Alpha
+    );
+
+/* Set culling mode. */
+gceSTATUS
+gco3D_SetCulling(
+    IN gco3D Engine,
+    IN gceCULL Mode
+    );
+
+/* Enable point size */
+gceSTATUS
+gco3D_SetPointSizeEnable(
+    IN gco3D Engine,
+    IN gctBOOL Enable
+    );
+
+/* Set point sprite */
+gceSTATUS
+gco3D_SetPointSprite(
+    IN gco3D Engine,
+    IN gctBOOL Enable
+    );
+
+/* Set fill mode. */
+gceSTATUS
+gco3D_SetFill(
+    IN gco3D Engine,
+    IN gceFILL Mode
+    );
+
+/* Set depth compare mode. */
+gceSTATUS
+gco3D_SetDepthCompare(
+    IN gco3D Engine,
+    IN gceCOMPARE Compare
+    );
+
+/* Enable depth writing. */
+gceSTATUS
+gco3D_EnableDepthWrite(
+    IN gco3D Engine,
+    IN gctBOOL Enable
+    );
+
+/* Set depth mode. */
+gceSTATUS
+gco3D_SetDepthMode(
+    IN gco3D Engine,
+    IN gceDEPTH_MODE Mode
+    );
+
+/* Set depth range. */
+gceSTATUS
+gco3D_SetDepthRangeX(
+    IN gco3D Engine,
+    IN gceDEPTH_MODE Mode,
+    IN gctFIXED_POINT Near,
+    IN gctFIXED_POINT Far
+    );
+
+/* Set depth range. */
+gceSTATUS
+gco3D_SetDepthRangeF(
+    IN gco3D Engine,
+    IN gceDEPTH_MODE Mode,
+    IN gctFLOAT Near,
+    IN gctFLOAT Far
+    );
+
+/* Set last pixel enable */
+gceSTATUS
+gco3D_SetLastPixelEnable(
+    IN gco3D Engine,
+    IN gctBOOL Enable
+    );
+
+/* Set depth Bias and Scale */
+gceSTATUS
+gco3D_SetDepthScaleBiasX(
+    IN gco3D Engine,
+    IN gctFIXED_POINT DepthScale,
+    IN gctFIXED_POINT DepthBias
+    );
+
+gceSTATUS
+gco3D_SetDepthScaleBiasF(
+    IN gco3D Engine,
+    IN gctFLOAT DepthScale,
+    IN gctFLOAT DepthBias
+    );
+
+/* Set depth near and far clipping plane. */
+gceSTATUS
+gco3D_SetDepthPlaneF(
+    IN gco3D Engine,
+    IN gctFLOAT Near,
+    IN gctFLOAT Far
+    );
+
+/* Enable or disable dithering. */
+gceSTATUS
+gco3D_EnableDither(
+    IN gco3D Engine,
+    IN gctBOOL Enable
+    );
+
+/* Set color write enable bits. */
+gceSTATUS
+gco3D_SetColorWrite(
+    IN gco3D Engine,
+    IN gctUINT8 Enable
+    );
+
+/* Enable or disable early depth. */
+gceSTATUS
+gco3D_SetEarlyDepth(
+    IN gco3D Engine,
+    IN gctBOOL Enable
+    );
+
+/* Enable or disable all early depth operations. */
+gceSTATUS
+gco3D_SetAllEarlyDepthModes(
+    IN gco3D Engine,
+    IN gctBOOL Disable
+    );
+
+/* Switch dynamic early mode */
+gceSTATUS
+gco3D_SwitchDynamicEarlyDepthMode(
+    IN gco3D Engine
+    );
+
+/* Set dynamic early mode */
+gceSTATUS
+gco3D_DisableDynamicEarlyDepthMode(
+    IN gco3D Engine,
+    IN gctBOOL Disable
+    );
+
+/* Enable or disable depth-only mode. */
+gceSTATUS
+gco3D_SetDepthOnly(
+    IN gco3D Engine,
+    IN gctBOOL Enable
+    );
+
+typedef struct _gcsSTENCIL_INFO * gcsSTENCIL_INFO_PTR;
+typedef struct _gcsSTENCIL_INFO
+{
+    gceSTENCIL_MODE         mode;
+
+    gctUINT8                maskFront;
+       gctUINT8                maskBack;
+    gctUINT8                writeMaskFront;
+    gctUINT8                writeMaskBack;
+
+    gctUINT8                referenceFront;
+
+    gceCOMPARE              compareFront;
+    gceSTENCIL_OPERATION    passFront;
+    gceSTENCIL_OPERATION    failFront;
+    gceSTENCIL_OPERATION    depthFailFront;
+
+    gctUINT8                referenceBack;
+    gceCOMPARE              compareBack;
+    gceSTENCIL_OPERATION    passBack;
+    gceSTENCIL_OPERATION    failBack;
+    gceSTENCIL_OPERATION    depthFailBack;
+}
+gcsSTENCIL_INFO;
+
+/* Set stencil mode. */
+gceSTATUS
+gco3D_SetStencilMode(
+    IN gco3D Engine,
+    IN gceSTENCIL_MODE Mode
+    );
+
+/* Set stencil mask. */
+gceSTATUS
+gco3D_SetStencilMask(
+    IN gco3D Engine,
+    IN gctUINT8 Mask
+    );
+
+/* Set stencil back mask. */
+gceSTATUS
+gco3D_SetStencilMaskBack(
+    IN gco3D Engine,
+    IN gctUINT8 Mask
+    );
+
+/* Set stencil write mask. */
+gceSTATUS
+gco3D_SetStencilWriteMask(
+    IN gco3D Engine,
+    IN gctUINT8 Mask
+    );
+
+/* Set stencil back write mask. */
+gceSTATUS
+gco3D_SetStencilWriteMaskBack(
+    IN gco3D Engine,
+    IN gctUINT8 Mask
+    );
+
+/* Set stencil reference. */
+gceSTATUS
+gco3D_SetStencilReference(
+    IN gco3D Engine,
+    IN gctUINT8 Reference,
+    IN gctBOOL Front
+    );
+
+/* Set stencil compare. */
+gceSTATUS
+gco3D_SetStencilCompare(
+    IN gco3D Engine,
+    IN gceSTENCIL_WHERE Where,
+    IN gceCOMPARE Compare
+    );
+
+/* Set stencil operation on pass. */
+gceSTATUS
+gco3D_SetStencilPass(
+    IN gco3D Engine,
+    IN gceSTENCIL_WHERE Where,
+    IN gceSTENCIL_OPERATION Operation
+    );
+
+/* Set stencil operation on fail. */
+gceSTATUS
+gco3D_SetStencilFail(
+    IN gco3D Engine,
+    IN gceSTENCIL_WHERE Where,
+    IN gceSTENCIL_OPERATION Operation
+    );
+
+/* Set stencil operation on depth fail. */
+gceSTATUS
+gco3D_SetStencilDepthFail(
+    IN gco3D Engine,
+    IN gceSTENCIL_WHERE Where,
+    IN gceSTENCIL_OPERATION Operation
+    );
+
+/* Set all stencil states in one blow. */
+gceSTATUS
+gco3D_SetStencilAll(
+    IN gco3D Engine,
+    IN gcsSTENCIL_INFO_PTR Info
+    );
+
+typedef struct _gcsALPHA_INFO * gcsALPHA_INFO_PTR;
+typedef struct _gcsALPHA_INFO
+{
+    /* Alpha test states. */
+    gctBOOL                 test;
+    gceCOMPARE              compare;
+    gctUINT8                reference;
+    gctFLOAT                floatReference;
+
+    /* Alpha blending states. */
+    gctBOOL                 blend;
+
+    gceBLEND_FUNCTION       srcFuncColor;
+    gceBLEND_FUNCTION       srcFuncAlpha;
+    gceBLEND_FUNCTION       trgFuncColor;
+    gceBLEND_FUNCTION       trgFuncAlpha;
+
+    gceBLEND_MODE           modeColor;
+    gceBLEND_MODE           modeAlpha;
+
+    gctUINT32               color;
+}
+gcsALPHA_INFO;
+
+/* Enable or disable alpha test. */
+gceSTATUS
+gco3D_SetAlphaTest(
+    IN gco3D Engine,
+    IN gctBOOL Enable
+    );
+
+/* Set alpha test compare. */
+gceSTATUS
+gco3D_SetAlphaCompare(
+    IN gco3D Engine,
+    IN gceCOMPARE Compare
+    );
+
+/* Set alpha test reference in unsigned integer. */
+gceSTATUS
+gco3D_SetAlphaReference(
+    IN gco3D Engine,
+    IN gctUINT8 Reference,
+    IN gctFLOAT FloatReference
+    );
+
+/* Set alpha test reference in fixed point. */
+gceSTATUS
+gco3D_SetAlphaReferenceX(
+    IN gco3D Engine,
+    IN gctFIXED_POINT Reference
+    );
+
+/* Set alpha test reference in floating point. */
+gceSTATUS
+gco3D_SetAlphaReferenceF(
+    IN gco3D Engine,
+    IN gctFLOAT Reference
+    );
+
+/* Enable/Disable anti-alias line. */
+gceSTATUS
+gco3D_SetAntiAliasLine(
+    IN gco3D Engine,
+    IN gctBOOL Enable
+    );
+
+/* Set texture slot for anti-alias line. */
+gceSTATUS
+gco3D_SetAALineTexSlot(
+    IN gco3D Engine,
+    IN gctUINT TexSlot
+    );
+
+/* Set anti-alias line width scale. */
+gceSTATUS
+gco3D_SetAALineWidth(
+    IN gco3D Engine,
+    IN gctFLOAT Width
+    );
+
+/* Draw a number of primitives. */
+gceSTATUS
+gco3D_DrawPrimitives(
+    IN gco3D Engine,
+    IN gcePRIMITIVE Type,
+    IN gctINT StartVertex,
+    IN gctSIZE_T PrimitiveCount
+    );
+
+gceSTATUS
+gco3D_DrawPrimitivesCount(
+    IN gco3D Engine,
+    IN gcePRIMITIVE Type,
+    IN gctINT* StartVertex,
+    IN gctSIZE_T* VertexCount,
+    IN gctSIZE_T PrimitiveCount
+    );
+
+
+/* Draw a number of primitives using offsets. */
+gceSTATUS
+gco3D_DrawPrimitivesOffset(
+    IN gco3D Engine,
+    IN gcePRIMITIVE Type,
+    IN gctINT32 StartOffset,
+    IN gctSIZE_T PrimitiveCount
+    );
+
+/* Draw a number of indexed primitives. */
+gceSTATUS
+gco3D_DrawIndexedPrimitives(
+    IN gco3D Engine,
+    IN gcePRIMITIVE Type,
+    IN gctINT BaseVertex,
+    IN gctINT StartIndex,
+    IN gctSIZE_T PrimitiveCount
+    );
+
+/* Draw a number of indexed primitives using offsets. */
+gceSTATUS
+gco3D_DrawIndexedPrimitivesOffset(
+    IN gco3D Engine,
+    IN gcePRIMITIVE Type,
+    IN gctINT32 BaseOffset,
+    IN gctINT32 StartOffset,
+    IN gctSIZE_T PrimitiveCount
+    );
+
+/* Enable or disable anti-aliasing. */
+gceSTATUS
+gco3D_SetAntiAlias(
+    IN gco3D Engine,
+    IN gctBOOL Enable
+    );
+
+/* Write data into the command buffer. */
+gceSTATUS
+gco3D_WriteBuffer(
+    IN gco3D Engine,
+    IN gctCONST_POINTER Data,
+    IN gctSIZE_T Bytes,
+    IN gctBOOL Aligned
+    );
+
+/* Send sempahore and stall until sempahore is signalled. */
+gceSTATUS
+gco3D_Semaphore(
+    IN gco3D Engine,
+    IN gceWHERE From,
+    IN gceWHERE To,
+    IN gceHOW How);
+
+/* Set the subpixels center. */
+gceSTATUS
+gco3D_SetCentroids(
+    IN gco3D Engine,
+    IN gctUINT32 Index,
+    IN gctPOINTER Centroids
+    );
+
+gceSTATUS
+gco3D_SetLogicOp(
+    IN gco3D Engine,
+    IN gctUINT8 Rop
+    );
+
+/* OCL thread walker information. */
+typedef struct _gcsTHREAD_WALKER_INFO * gcsTHREAD_WALKER_INFO_PTR;
+typedef struct _gcsTHREAD_WALKER_INFO
+{
+    gctUINT32   dimensions;
+    gctUINT32   traverseOrder;
+    gctUINT32   enableSwathX;
+    gctUINT32   enableSwathY;
+    gctUINT32   enableSwathZ;
+    gctUINT32   swathSizeX;
+    gctUINT32   swathSizeY;
+    gctUINT32   swathSizeZ;
+    gctUINT32   valueOrder;
+
+    gctUINT32   globalSizeX;
+    gctUINT32   globalOffsetX;
+    gctUINT32   globalSizeY;
+    gctUINT32   globalOffsetY;
+    gctUINT32   globalSizeZ;
+    gctUINT32   globalOffsetZ;
+
+    gctUINT32   workGroupSizeX;
+    gctUINT32   workGroupCountX;
+    gctUINT32   workGroupSizeY;
+    gctUINT32   workGroupCountY;
+    gctUINT32   workGroupSizeZ;
+    gctUINT32   workGroupCountZ;
+
+    gctUINT32   threadAllocation;
+}
+gcsTHREAD_WALKER_INFO;
+
+/* Start OCL thread walker. */
+gceSTATUS
+gco3D_InvokeThreadWalker(
+    IN gco3D Engine,
+    IN gcsTHREAD_WALKER_INFO_PTR Info
+    );
+
+/* Set w clip and w plane limit value. */
+gceSTATUS
+gco3D_SetWClipEnable(
+       IN gco3D Engine,
+       IN gctBOOL Enable
+    );
+
+gceSTATUS
+gco3D_GetWClipEnable(
+    IN gco3D Engine,
+    OUT gctBOOL * Enable
+    );
+
+gceSTATUS
+gco3D_SetWPlaneLimitF(
+       IN gco3D Engine,
+       IN gctFLOAT Value
+    );
+
+gceSTATUS
+gco3D_SetWPlaneLimitX(
+       IN gco3D Engine,
+       IN gctFIXED_POINT Value
+    );
+
+
+gceSTATUS
+gco3D_SetWPlaneLimit(
+        IN gco3D Engine,
+        IN gctFLOAT Value
+        );
+
+/*----------------------------------------------------------------------------*/
+/*-------------------------- gco3D Fragment Processor ------------------------*/
+
+/* Set the fragment processor configuration. */
+gceSTATUS
+gco3D_SetFragmentConfiguration(
+    IN gco3D Engine,
+    IN gctBOOL ColorFromStream,
+    IN gctBOOL EnableFog,
+    IN gctBOOL EnableSmoothPoint,
+    IN gctUINT32 ClipPlanes
+    );
+
+/* Enable/disable texture stage operation. */
+gceSTATUS
+gco3D_EnableTextureStage(
+    IN gco3D Engine,
+    IN gctINT Stage,
+    IN gctBOOL Enable
+    );
+
+/* Program the channel enable masks for the color texture function. */
+gceSTATUS
+gco3D_SetTextureColorMask(
+    IN gco3D Engine,
+    IN gctINT Stage,
+    IN gctBOOL ColorEnabled,
+    IN gctBOOL AlphaEnabled
+    );
+
+/* Program the channel enable masks for the alpha texture function. */
+gceSTATUS
+gco3D_SetTextureAlphaMask(
+    IN gco3D Engine,
+    IN gctINT Stage,
+    IN gctBOOL ColorEnabled,
+    IN gctBOOL AlphaEnabled
+    );
+
+/* Program the constant fragment color. */
+gceSTATUS
+gco3D_SetFragmentColorX(
+    IN gco3D Engine,
+    IN gctFIXED_POINT Red,
+    IN gctFIXED_POINT Green,
+    IN gctFIXED_POINT Blue,
+    IN gctFIXED_POINT Alpha
+    );
+
+gceSTATUS
+gco3D_SetFragmentColorF(
+    IN gco3D Engine,
+    IN gctFLOAT Red,
+    IN gctFLOAT Green,
+    IN gctFLOAT Blue,
+    IN gctFLOAT Alpha
+    );
+
+/* Program the constant fog color. */
+gceSTATUS
+gco3D_SetFogColorX(
+    IN gco3D Engine,
+    IN gctFIXED_POINT Red,
+    IN gctFIXED_POINT Green,
+    IN gctFIXED_POINT Blue,
+    IN gctFIXED_POINT Alpha
+    );
+
+gceSTATUS
+gco3D_SetFogColorF(
+    IN gco3D Engine,
+    IN gctFLOAT Red,
+    IN gctFLOAT Green,
+    IN gctFLOAT Blue,
+    IN gctFLOAT Alpha
+    );
+
+/* Program the constant texture color. */
+gceSTATUS
+gco3D_SetTetxureColorX(
+    IN gco3D Engine,
+    IN gctINT Stage,
+    IN gctFIXED_POINT Red,
+    IN gctFIXED_POINT Green,
+    IN gctFIXED_POINT Blue,
+    IN gctFIXED_POINT Alpha
+    );
+
+gceSTATUS
+gco3D_SetTetxureColorF(
+    IN gco3D Engine,
+    IN gctINT Stage,
+    IN gctFLOAT Red,
+    IN gctFLOAT Green,
+    IN gctFLOAT Blue,
+    IN gctFLOAT Alpha
+    );
+
+/* Configure color texture function. */
+gceSTATUS
+gco3D_SetColorTextureFunction(
+    IN gco3D Engine,
+    IN gctINT Stage,
+    IN gceTEXTURE_FUNCTION Function,
+    IN gceTEXTURE_SOURCE Source0,
+    IN gceTEXTURE_CHANNEL Channel0,
+    IN gceTEXTURE_SOURCE Source1,
+    IN gceTEXTURE_CHANNEL Channel1,
+    IN gceTEXTURE_SOURCE Source2,
+    IN gceTEXTURE_CHANNEL Channel2,
+    IN gctINT Scale
+    );
+
+/* Configure alpha texture function. */
+gceSTATUS
+gco3D_SetAlphaTextureFunction(
+    IN gco3D Engine,
+    IN gctINT Stage,
+    IN gceTEXTURE_FUNCTION Function,
+    IN gceTEXTURE_SOURCE Source0,
+    IN gceTEXTURE_CHANNEL Channel0,
+    IN gceTEXTURE_SOURCE Source1,
+    IN gceTEXTURE_CHANNEL Channel1,
+    IN gceTEXTURE_SOURCE Source2,
+    IN gceTEXTURE_CHANNEL Channel2,
+    IN gctINT Scale
+    );
+
+/* Invoke OCL thread walker. */
+gceSTATUS
+gcoHARDWARE_InvokeThreadWalker(
+    IN gcsTHREAD_WALKER_INFO_PTR Info
+    );
+
+/******************************************************************************\
+******************************* gcoTEXTURE Object *******************************
+\******************************************************************************/
+
+/* Cube faces. */
+typedef enum _gceTEXTURE_FACE
+{
+    gcvFACE_NONE,
+    gcvFACE_POSITIVE_X,
+    gcvFACE_NEGATIVE_X,
+    gcvFACE_POSITIVE_Y,
+    gcvFACE_NEGATIVE_Y,
+    gcvFACE_POSITIVE_Z,
+    gcvFACE_NEGATIVE_Z,
+}
+gceTEXTURE_FACE;
+
+#if gcdFORCE_MIPMAP
+typedef enum
+{
+    gcvForceMipDisabled  = 0,
+    gcvForceMipEnable    = 1,
+    gcvForceMipGenerated = 2,
+    gcvForceMipNever     = 3,
+}gceFORCE_MIPMAP;
+#endif
+
+typedef struct _gcsTEXTURE
+{
+    /* Addressing modes. */
+    gceTEXTURE_ADDRESSING       s;
+    gceTEXTURE_ADDRESSING       t;
+    gceTEXTURE_ADDRESSING       r;
+
+    /* Border color. */
+    gctUINT8                    border[4];
+
+    /* Filters. */
+    gceTEXTURE_FILTER           minFilter;
+    gceTEXTURE_FILTER           magFilter;
+    gceTEXTURE_FILTER           mipFilter;
+    gctUINT                     anisoFilter;
+    gctBOOL                     forceTopLevel;
+    gctBOOL                     autoMipmap;
+#if gcdFORCE_MIPMAP
+    gceFORCE_MIPMAP             forceMipmap;
+#endif
+    /* Level of detail. */
+    gctFIXED_POINT              lodBias;
+    gctFIXED_POINT              lodMin;
+    gctFIXED_POINT              lodMax;
+}
+gcsTEXTURE, * gcsTEXTURE_PTR;
+
+/* Construct a new gcoTEXTURE object. */
+gceSTATUS
+gcoTEXTURE_Construct(
+    IN gcoHAL Hal,
+    OUT gcoTEXTURE * Texture
+    );
+
+/* Construct a new sized gcoTEXTURE object. */
+gceSTATUS
+gcoTEXTURE_ConstructSized(
+    IN gcoHAL Hal,
+    IN gceSURF_FORMAT Format,
+    IN gctUINT Width,
+    IN gctUINT Height,
+    IN gctUINT Depth,
+    IN gctUINT Faces,
+    IN gctUINT MipMapCount,
+    IN gcePOOL Pool,
+    OUT gcoTEXTURE * Texture
+    );
+
+/* Destroy an gcoTEXTURE object. */
+gceSTATUS
+gcoTEXTURE_Destroy(
+    IN gcoTEXTURE Texture
+    );
+#if gcdFORCE_MIPMAP
+gceSTATUS
+gcoTEXTURE_DestroyForceMipmap(
+    IN gcoTEXTURE Texture
+    );
+
+gceSTATUS
+gcoTEXTURE_GetMipLevels(
+    IN gcoTEXTURE Texture,
+    OUT gctINT * levels
+    );
+#endif
+/* Replace a mipmap in gcoTEXTURE object. */
+gceSTATUS
+gcoTEXTURE_ReplaceMipMap(
+    IN gcoTEXTURE Texture,
+    IN gctUINT Level,
+    IN gctUINT Width,
+    IN gctUINT Height,
+    IN gctINT imageFormat,
+    IN gceSURF_FORMAT Format,
+    IN gctUINT Depth,
+    IN gctUINT Faces,
+    IN gcePOOL Pool
+    );
+
+/* Upload data to an gcoTEXTURE object. */
+gceSTATUS
+gcoTEXTURE_Upload(
+    IN gcoTEXTURE Texture,
+    IN gceTEXTURE_FACE Face,
+    IN gctUINT Width,
+    IN gctUINT Height,
+    IN gctUINT Slice,
+    IN gctCONST_POINTER Memory,
+    IN gctINT Stride,
+    IN gceSURF_FORMAT Format
+    );
+
+/* Upload data to an gcoTEXTURE object. */
+gceSTATUS
+gcoTEXTURE_UploadSub(
+    IN gcoTEXTURE Texture,
+    IN gctUINT MipMap,
+    IN gceTEXTURE_FACE Face,
+    IN gctUINT X,
+    IN gctUINT Y,
+    IN gctUINT Width,
+    IN gctUINT Height,
+    IN gctUINT Slice,
+    IN gctCONST_POINTER Memory,
+    IN gctINT Stride,
+    IN gceSURF_FORMAT Format
+    );
+
+/* Upload YUV data to an gcoTEXTURE object. */
+gceSTATUS
+gcoTEXTURE_UploadYUV(
+    IN gcoTEXTURE Texture,
+    IN gceTEXTURE_FACE Face,
+    IN gctUINT Width,
+    IN gctUINT Height,
+    IN gctUINT Slice,
+    IN gctPOINTER Memory[3],
+    IN gctINT Stride[3],
+    IN gceSURF_FORMAT Format
+    );
+
+/* Upload compressed data to an gcoTEXTURE object. */
+gceSTATUS
+gcoTEXTURE_UploadCompressed(
+    IN gcoTEXTURE Texture,
+    IN gceTEXTURE_FACE Face,
+    IN gctUINT Width,
+    IN gctUINT Height,
+    IN gctUINT Slice,
+    IN gctCONST_POINTER Memory,
+    IN gctSIZE_T Bytes
+    );
+
+/* Upload compressed sub data to an gcoTEXTURE object. */
+gceSTATUS
+gcoTEXTURE_UploadCompressedSub(
+    IN gcoTEXTURE Texture,
+    IN gctUINT MipMap,
+    IN gceTEXTURE_FACE Face,
+    IN gctUINT XOffset,
+    IN gctUINT YOffset,
+    IN gctUINT Width,
+    IN gctUINT Height,
+    IN gctUINT Slice,
+    IN gctCONST_POINTER Memory,
+    IN gctSIZE_T Size
+    );
+
+/* GetImageFormat of texture. */
+gceSTATUS
+gcoTEXTURE_GetImageFormat(
+    IN gcoTEXTURE Texture,
+    IN gctUINT MipMap,
+    OUT gctINT *  ImageFormat
+    );
+
+/* Get gcoSURF object for a mipmap level. */
+gceSTATUS
+gcoTEXTURE_GetMipMap(
+    IN gcoTEXTURE Texture,
+    IN gctUINT MipMap,
+    OUT gcoSURF * Surface
+    );
+
+/* Get gcoSURF object for a mipmap level and face offset. */
+gceSTATUS
+gcoTEXTURE_GetMipMapFace(
+    IN gcoTEXTURE Texture,
+    IN gctUINT MipMap,
+    IN gceTEXTURE_FACE Face,
+    OUT gcoSURF * Surface,
+    OUT gctUINT32_PTR Offset
+    );
+
+gceSTATUS
+gcoTEXTURE_AddMipMap(
+    IN gcoTEXTURE Texture,
+    IN gctINT Level,
+    IN gctINT imageFormat,
+    IN gceSURF_FORMAT Format,
+    IN gctUINT Width,
+    IN gctUINT Height,
+    IN gctUINT Depth,
+    IN gctUINT Faces,
+    IN gcePOOL Pool,
+    OUT gcoSURF * Surface
+    );
+
+gceSTATUS
+gcoTEXTURE_AddMipMapFromClient(
+    IN gcoTEXTURE Texture,
+    IN gctINT     Level,
+    IN gcoSURF    Surface
+    );
+
+gceSTATUS
+gcoTEXTURE_AddMipMapFromSurface(
+    IN gcoTEXTURE Texture,
+    IN gctINT     Level,
+    IN gcoSURF    Surface
+    );
+
+gceSTATUS
+gcoTEXTURE_SetMaxLevel(
+    IN gcoTEXTURE Texture,
+    IN gctUINT Levels
+    );
+
+gceSTATUS
+gcoTEXTURE_SetEndianHint(
+    IN gcoTEXTURE Texture,
+    IN gceENDIAN_HINT EndianHint
+    );
+
+gceSTATUS
+gcoTEXTURE_Disable(
+    IN gcoHAL Hal,
+    IN gctINT Sampler
+    );
+
+gceSTATUS
+gcoTEXTURE_Flush(
+    IN gcoTEXTURE Texture
+    );
+
+gceSTATUS
+gcoTEXTURE_QueryCaps(
+    IN  gcoHAL    Hal,
+    OUT gctUINT * MaxWidth,
+    OUT gctUINT * MaxHeight,
+    OUT gctUINT * MaxDepth,
+    OUT gctBOOL * Cubic,
+    OUT gctBOOL * NonPowerOfTwo,
+    OUT gctUINT * VertexSamplers,
+    OUT gctUINT * PixelSamplers
+    );
+
+gceSTATUS
+gcoTEXTURE_GetTiling(
+    IN gcoTEXTURE Texture,
+    IN gctINT preferLevel,
+       OUT gceTILING * Tiling
+    );
+
+gceSTATUS
+gcoTEXTURE_GetClosestFormat(
+    IN gcoHAL Hal,
+    IN gceSURF_FORMAT InFormat,
+    OUT gceSURF_FORMAT* OutFormat
+    );
+
+gceSTATUS
+gcoTEXTURE_RenderIntoMipMap(
+    IN gcoTEXTURE Texture,
+    IN gctINT Level
+    );
+
+gceSTATUS
+gcoTEXTURE_IsRenderable(
+    IN gcoTEXTURE Texture,
+    IN gctUINT Level
+    );
+
+gceSTATUS
+gcoTEXTURE_IsRenderableEx(
+    IN gcoTEXTURE Texture,
+    IN gctUINT Level
+    );
+
+gceSTATUS
+gcoTEXTURE_IsComplete(
+    IN gcoTEXTURE Texture,
+    IN gctINT MaxLevel
+    );
+
+gceSTATUS
+gcoTEXTURE_BindTexture(
+    IN gcoTEXTURE Texture,
+    IN gctINT Target,
+    IN gctINT Sampler,
+    IN gcsTEXTURE_PTR Info
+    );
+
+/******************************************************************************\
+******************************* gcoSTREAM Object ******************************
+\******************************************************************************/
+
+typedef enum _gceVERTEX_FORMAT
+{
+    gcvVERTEX_BYTE,
+    gcvVERTEX_UNSIGNED_BYTE,
+    gcvVERTEX_SHORT,
+    gcvVERTEX_UNSIGNED_SHORT,
+    gcvVERTEX_INT,
+    gcvVERTEX_UNSIGNED_INT,
+    gcvVERTEX_FIXED,
+    gcvVERTEX_HALF,
+    gcvVERTEX_FLOAT,
+    gcvVERTEX_UNSIGNED_INT_10_10_10_2,
+    gcvVERTEX_INT_10_10_10_2,
+}
+gceVERTEX_FORMAT;
+
+gceSTATUS
+gcoSTREAM_Construct(
+    IN gcoHAL Hal,
+    OUT gcoSTREAM * Stream
+    );
+
+gceSTATUS
+gcoSTREAM_Destroy(
+    IN gcoSTREAM Stream
+    );
+
+gceSTATUS
+gcoSTREAM_Upload(
+    IN gcoSTREAM Stream,
+    IN gctCONST_POINTER Buffer,
+    IN gctUINT32 Offset,
+    IN gctSIZE_T Bytes,
+    IN gctBOOL Dynamic
+    );
+
+gceSTATUS
+gcoSTREAM_SetStride(
+    IN gcoSTREAM Stream,
+    IN gctUINT32 Stride
+    );
+
+gceSTATUS
+gcoSTREAM_Lock(
+    IN gcoSTREAM Stream,
+    OUT gctPOINTER * Logical,
+    OUT gctUINT32 * Physical
+    );
+
+gceSTATUS
+gcoSTREAM_Unlock(
+    IN gcoSTREAM Stream
+    );
+
+gceSTATUS
+gcoSTREAM_Reserve(
+    IN gcoSTREAM Stream,
+    IN gctSIZE_T Bytes
+    );
+
+gceSTATUS
+gcoSTREAM_Flush(
+    IN gcoSTREAM Stream
+    );
+
+/* Dynamic buffer API. */
+gceSTATUS
+gcoSTREAM_SetDynamic(
+    IN gcoSTREAM Stream,
+    IN gctSIZE_T Bytes,
+    IN gctUINT Buffers
+    );
+
+typedef struct _gcsSTREAM_INFO
+{
+    gctUINT             index;
+    gceVERTEX_FORMAT    format;
+    gctBOOL             normalized;
+    gctUINT             components;
+    gctSIZE_T           size;
+    gctCONST_POINTER    data;
+    gctUINT             stride;
+}
+gcsSTREAM_INFO, * gcsSTREAM_INFO_PTR;
+
+gceSTATUS
+gcoSTREAM_UploadDynamic(
+    IN gcoSTREAM Stream,
+    IN gctUINT VertexCount,
+    IN gctUINT InfoCount,
+    IN gcsSTREAM_INFO_PTR Info,
+    IN gcoVERTEX Vertex
+    );
+
+gceSTATUS
+gcoSTREAM_CPUCacheOperation(
+    IN gcoSTREAM Stream,
+    IN gceCACHEOPERATION Operation
+    );
+
+/******************************************************************************\
+******************************** gcoVERTEX Object ******************************
+\******************************************************************************/
+
+typedef struct _gcsVERTEX_ATTRIBUTES
+{
+    gceVERTEX_FORMAT            format;
+    gctBOOL                     normalized;
+    gctUINT32                   components;
+    gctSIZE_T                   size;
+    gctUINT32                   stream;
+    gctUINT32                   offset;
+    gctUINT32                   stride;
+}
+gcsVERTEX_ATTRIBUTES;
+
+gceSTATUS
+gcoVERTEX_Construct(
+    IN gcoHAL Hal,
+    OUT gcoVERTEX * Vertex
+    );
+
+gceSTATUS
+gcoVERTEX_Destroy(
+    IN gcoVERTEX Vertex
+    );
+
+gceSTATUS
+gcoVERTEX_Reset(
+    IN gcoVERTEX Vertex
+    );
+
+gceSTATUS
+gcoVERTEX_EnableAttribute(
+    IN gcoVERTEX Vertex,
+    IN gctUINT32 Index,
+    IN gceVERTEX_FORMAT Format,
+    IN gctBOOL Normalized,
+    IN gctUINT32 Components,
+    IN gcoSTREAM Stream,
+    IN gctUINT32 Offset,
+    IN gctUINT32 Stride
+    );
+
+gceSTATUS
+gcoVERTEX_DisableAttribute(
+    IN gcoVERTEX Vertex,
+    IN gctUINT32 Index
+    );
+
+gceSTATUS
+gcoVERTEX_Bind(
+    IN gcoVERTEX Vertex
+    );
+
+/*******************************************************************************
+***** gcoVERTEXARRAY Object ***************************************************/
+
+typedef struct _gcsVERTEXARRAY
+{
+    /* Enabled. */
+    gctBOOL             enable;
+
+    /* Number of components. */
+    gctINT              size;
+
+    /* Attribute format. */
+    gceVERTEX_FORMAT    format;
+
+    /* Flag whether the attribute is normalized or not. */
+    gctBOOL             normalized;
+
+    /* Stride of the component. */
+    gctUINT             stride;
+
+    /* Pointer to the attribute data. */
+    gctCONST_POINTER    pointer;
+
+    /* Stream object owning the attribute data. */
+    gcoSTREAM           stream;
+
+    /* Generic values for attribute. */
+    gctFLOAT            genericValue[4];
+
+    /* Generic size for attribute. */
+    gctINT              genericSize;
+
+    /* Vertex shader linkage. */
+    gctUINT             linkage;
+
+#if gcdUSE_WCLIP_PATCH
+    gctBOOL             isPosition;
+#endif
+}
+gcsVERTEXARRAY,
+* gcsVERTEXARRAY_PTR;
+
+gceSTATUS
+gcoVERTEXARRAY_Construct(
+    IN gcoHAL Hal,
+    OUT gcoVERTEXARRAY * Vertex
+    );
+
+gceSTATUS
+gcoVERTEXARRAY_Destroy(
+    IN gcoVERTEXARRAY Vertex
+    );
+
+gceSTATUS
+gcoVERTEXARRAY_Bind(
+    IN gcoVERTEXARRAY Vertex,
+    IN gctUINT32 EnableBits,
+    IN gcsVERTEXARRAY_PTR VertexArray,
+    IN gctUINT First,
+    IN gctSIZE_T Count,
+    IN gceINDEX_TYPE IndexType,
+    IN gcoINDEX IndexObject,
+    IN gctPOINTER IndexMemory,
+    IN OUT gcePRIMITIVE * PrimitiveType,
+#if gcdUSE_WCLIP_PATCH
+    IN OUT gctUINT * PrimitiveCount,
+    IN OUT gctFLOAT * wLimitRms,
+    IN OUT gctBOOL * wLimitDirty
+#else
+    IN OUT gctUINT * PrimitiveCount
+#endif
+    );
+
+gctUINT
+gcoVERTEXARRAY_GetMaxStream(
+    IN gcoVERTEXARRAY Vertex
+);
+
+gceSTATUS
+gcoVERTEXARRAY_SetMaxStream(
+    IN gcoVERTEXARRAY Vertex,
+    gctUINT maxStreams
+);
+/*******************************************************************************
+***** Composition *************************************************************/
+
+typedef enum _gceCOMPOSITION
+{
+    gcvCOMPOSE_CLEAR = 1,
+    gcvCOMPOSE_BLUR,
+    gcvCOMPOSE_DIM,
+    gcvCOMPOSE_LAYER
+}
+gceCOMPOSITION;
+
+typedef struct _gcsCOMPOSITION * gcsCOMPOSITION_PTR;
+typedef struct _gcsCOMPOSITION
+{
+    /* Structure size. */
+    gctUINT                         structSize;
+
+    /* Composition operation. */
+    gceCOMPOSITION                  operation;
+
+    /* Layer to be composed. */
+    gcoSURF                         layer;
+
+    /* Source and target coordinates. */
+    gcsRECT                         srcRect;
+    gcsRECT                         trgRect;
+
+    /* Target rectangle */
+    gcsPOINT                        v0;
+    gcsPOINT                        v1;
+    gcsPOINT                        v2;
+
+    /* Blending parameters. */
+    gctBOOL                         enableBlending;
+    gctBOOL                         premultiplied;
+    gctUINT8                        alphaValue;
+
+    /* Clear color. */
+    gctFLOAT                        r;
+    gctFLOAT                        g;
+    gctFLOAT                        b;
+    gctFLOAT                        a;
+}
+gcsCOMPOSITION;
+
+gceSTATUS
+gco3D_ProbeComposition(
+    gctBOOL ResetIfEmpty
+    );
+
+gceSTATUS
+gco3D_CompositionBegin(
+    void
+    );
+
+gceSTATUS
+gco3D_ComposeLayer(
+    IN gcsCOMPOSITION_PTR Layer
+    );
+
+gceSTATUS
+gco3D_CompositionSignals(
+    IN gctHANDLE Process,
+    IN gctSIGNAL Signal1,
+    IN gctSIGNAL Signal2
+    );
+
+gceSTATUS
+gco3D_CompositionEnd(
+    IN gcoSURF Target,
+    IN gctBOOL Synchronous
+    );
+
+/* Frame Database */
+gceSTATUS
+gcoHAL_AddFrameDB(
+    void
+    );
+
+gceSTATUS
+gcoHAL_DumpFrameDB(
+    gctCONST_STRING Filename OPTIONAL
+    );
+
+gceSTATUS
+gcoHAL_GetSharedInfo(
+    IN gctUINT32 Pid,
+    IN gctUINT32 DataId,
+    IN gctSIZE_T Bytes,
+    OUT gctPOINTER Data
+    );
+
+gceSTATUS
+gcoHAL_SetSharedInfo(
+    IN gctUINT32 DataId,
+    IN gctPOINTER Data,
+    IN gctSIZE_T Bytes
+    );
+
+#if VIVANTE_PROFILER_CONTEXT
+gceSTATUS
+gcoHARDWARE_GetContext(
+    IN gcoHARDWARE Hardware,
+    OUT gctUINT32 * Context
+    );
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* VIVANTE_NO_3D */
+#endif /* __gc_hal_engine_h_ */
diff --git a/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_engine_vg.h b/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_engine_vg.h
new file mode 100644 (file)
index 0000000..4bb6772
--- /dev/null
@@ -0,0 +1,904 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#ifndef __gc_hal_engine_vg_h_
+#define __gc_hal_engine_vg_h_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "gc_hal_types.h"
+
+/******************************************************************************\
+******************************** VG Enumerations *******************************
+\******************************************************************************/
+
+/**
+**  @ingroup gcoVG
+**
+**  @brief  Tiling mode for painting and imagig.
+**
+**  This enumeration defines the tiling modes supported by the HAL.  This is
+**  in fact a one-to-one mapping of the OpenVG 1.1 tile modes.
+*/
+typedef enum _gceTILE_MODE
+{
+    gcvTILE_FILL,
+    gcvTILE_PAD,
+    gcvTILE_REPEAT,
+    gcvTILE_REFLECT
+}
+gceTILE_MODE;
+
+/******************************************************************************/
+/** @ingroup gcoVG
+**
+**  @brief  The different paint modes.
+**
+**  This enumeration lists the available paint modes.
+*/
+typedef enum _gcePAINT_TYPE
+{
+    /** Solid color. */
+    gcvPAINT_MODE_SOLID,
+
+    /** Linear gradient. */
+    gcvPAINT_MODE_LINEAR,
+
+    /** Radial gradient. */
+    gcvPAINT_MODE_RADIAL,
+
+    /** Pattern. */
+    gcvPAINT_MODE_PATTERN,
+
+    /** Mode count. */
+    gcvPAINT_MODE_COUNT
+}
+gcePAINT_TYPE;
+
+/**
+** @ingroup gcoVG
+**
+**  @brief Types of path data supported by HAL.
+**
+**  This enumeration defines the types of path data supported by the HAL.
+**  This is in fact a one-to-one mapping of the OpenVG 1.1 path types.
+*/
+typedef enum _gcePATHTYPE
+{
+    gcePATHTYPE_UNKNOWN = -1,
+    gcePATHTYPE_INT8,
+    gcePATHTYPE_INT16,
+    gcePATHTYPE_INT32,
+    gcePATHTYPE_FLOAT
+}
+gcePATHTYPE;
+
+/**
+** @ingroup gcoVG
+**
+**  @brief Supported path segment commands.
+**
+**  This enumeration defines the path segment commands supported by the HAL.
+*/
+typedef enum _gceVGCMD
+{
+    gcvVGCMD_END,                        /*  0: GCCMD_TS_OPCODE_END           */
+    gcvVGCMD_CLOSE,                      /*  1: GCCMD_TS_OPCODE_CLOSE         */
+    gcvVGCMD_MOVE,                       /*  2: GCCMD_TS_OPCODE_MOVE          */
+    gcvVGCMD_MOVE_REL,                   /*  3: GCCMD_TS_OPCODE_MOVE_REL      */
+    gcvVGCMD_LINE,                       /*  4: GCCMD_TS_OPCODE_LINE          */
+    gcvVGCMD_LINE_REL,                   /*  5: GCCMD_TS_OPCODE_LINE_REL      */
+    gcvVGCMD_QUAD,                       /*  6: GCCMD_TS_OPCODE_QUADRATIC     */
+    gcvVGCMD_QUAD_REL,                   /*  7: GCCMD_TS_OPCODE_QUADRATIC_REL */
+    gcvVGCMD_CUBIC,                      /*  8: GCCMD_TS_OPCODE_CUBIC         */
+    gcvVGCMD_CUBIC_REL,                  /*  9: GCCMD_TS_OPCODE_CUBIC_REL     */
+    gcvVGCMD_BREAK,                      /* 10: GCCMD_TS_OPCODE_BREAK         */
+    gcvVGCMD_HLINE,                      /* 11: ******* R E S E R V E D *******/
+    gcvVGCMD_HLINE_REL,                  /* 12: ******* R E S E R V E D *******/
+    gcvVGCMD_VLINE,                      /* 13: ******* R E S E R V E D *******/
+    gcvVGCMD_VLINE_REL,                  /* 14: ******* R E S E R V E D *******/
+    gcvVGCMD_SQUAD,                      /* 15: ******* R E S E R V E D *******/
+    gcvVGCMD_SQUAD_REL,                  /* 16: ******* R E S E R V E D *******/
+    gcvVGCMD_SCUBIC,                     /* 17: ******* R E S E R V E D *******/
+    gcvVGCMD_SCUBIC_REL,                 /* 18: ******* R E S E R V E D *******/
+    gcvVGCMD_SCCWARC,                    /* 19: ******* R E S E R V E D *******/
+    gcvVGCMD_SCCWARC_REL,                /* 20: ******* R E S E R V E D *******/
+    gcvVGCMD_SCWARC,                     /* 21: ******* R E S E R V E D *******/
+    gcvVGCMD_SCWARC_REL,                 /* 22: ******* R E S E R V E D *******/
+    gcvVGCMD_LCCWARC,                    /* 23: ******* R E S E R V E D *******/
+    gcvVGCMD_LCCWARC_REL,                /* 24: ******* R E S E R V E D *******/
+    gcvVGCMD_LCWARC,                     /* 25: ******* R E S E R V E D *******/
+    gcvVGCMD_LCWARC_REL,                 /* 26: ******* R E S E R V E D *******/
+
+    /* The width of the command recognized by the hardware on bits. */
+    gcvVGCMD_WIDTH = 5,
+
+    /* Hardware command mask. */
+    gcvVGCMD_MASK = (1 << gcvVGCMD_WIDTH) - 1,
+
+    /* Command modifiers. */
+    gcvVGCMD_H_MOD   = 1 << gcvVGCMD_WIDTH,  /* =  32 */
+    gcvVGCMD_V_MOD   = 2 << gcvVGCMD_WIDTH,  /* =  64 */
+    gcvVGCMD_S_MOD   = 3 << gcvVGCMD_WIDTH,  /* =  96 */
+    gcvVGCMD_ARC_MOD = 4 << gcvVGCMD_WIDTH,  /* = 128 */
+
+    /* Emulated LINE commands. */
+    gcvVGCMD_HLINE_EMUL     = gcvVGCMD_H_MOD | gcvVGCMD_LINE,        /* =  36 */
+    gcvVGCMD_HLINE_EMUL_REL = gcvVGCMD_H_MOD | gcvVGCMD_LINE_REL,    /* =  37 */
+    gcvVGCMD_VLINE_EMUL     = gcvVGCMD_V_MOD | gcvVGCMD_LINE,        /* =  68 */
+    gcvVGCMD_VLINE_EMUL_REL = gcvVGCMD_V_MOD | gcvVGCMD_LINE_REL,    /* =  69 */
+
+    /* Emulated SMOOTH commands. */
+    gcvVGCMD_SQUAD_EMUL      = gcvVGCMD_S_MOD | gcvVGCMD_QUAD,       /* = 102 */
+    gcvVGCMD_SQUAD_EMUL_REL  = gcvVGCMD_S_MOD | gcvVGCMD_QUAD_REL,   /* = 103 */
+    gcvVGCMD_SCUBIC_EMUL     = gcvVGCMD_S_MOD | gcvVGCMD_CUBIC,      /* = 104 */
+    gcvVGCMD_SCUBIC_EMUL_REL = gcvVGCMD_S_MOD | gcvVGCMD_CUBIC_REL,  /* = 105 */
+
+    /* Emulation ARC commands. */
+    gcvVGCMD_ARC_LINE     = gcvVGCMD_ARC_MOD | gcvVGCMD_LINE,        /* = 132 */
+    gcvVGCMD_ARC_LINE_REL = gcvVGCMD_ARC_MOD | gcvVGCMD_LINE_REL,    /* = 133 */
+    gcvVGCMD_ARC_QUAD     = gcvVGCMD_ARC_MOD | gcvVGCMD_QUAD,        /* = 134 */
+    gcvVGCMD_ARC_QUAD_REL = gcvVGCMD_ARC_MOD | gcvVGCMD_QUAD_REL     /* = 135 */
+}
+gceVGCMD;
+typedef enum _gceVGCMD * gceVGCMD_PTR;
+
+/**
+**  @ingroup gcoVG
+**
+**  @brief  Blending modes supported by the HAL.
+**
+**  This enumeration defines the blending modes supported by the HAL.  This is
+**  in fact a one-to-one mapping of the OpenVG 1.1 blending modes.
+*/
+typedef enum _gceVG_BLEND
+{
+    gcvVG_BLEND_SRC,
+    gcvVG_BLEND_SRC_OVER,
+    gcvVG_BLEND_DST_OVER,
+    gcvVG_BLEND_SRC_IN,
+    gcvVG_BLEND_DST_IN,
+    gcvVG_BLEND_MULTIPLY,
+    gcvVG_BLEND_SCREEN,
+    gcvVG_BLEND_DARKEN,
+    gcvVG_BLEND_LIGHTEN,
+    gcvVG_BLEND_ADDITIVE,
+    gcvVG_BLEND_SUBTRACT,
+    gcvVG_BLEND_FILTER
+}
+gceVG_BLEND;
+
+/**
+**  @ingroup gcoVG
+**
+**  @brief  Image modes supported by the HAL.
+**
+**  This enumeration defines the image modes supported by the HAL.  This is
+**  in fact a one-to-one mapping of the OpenVG 1.1 image modes with the addition
+**  of NO IMAGE.
+*/
+typedef enum _gceVG_IMAGE
+{
+    gcvVG_IMAGE_NONE,
+    gcvVG_IMAGE_NORMAL,
+    gcvVG_IMAGE_MULTIPLY,
+    gcvVG_IMAGE_STENCIL,
+    gcvVG_IMAGE_FILTER
+}
+gceVG_IMAGE;
+
+/**
+**  @ingroup gcoVG
+**
+**  @brief  Filter mode patterns and imaging.
+**
+**  This enumeration defines the filter modes supported by the HAL.
+*/
+typedef enum _gceIMAGE_FILTER
+{
+    gcvFILTER_POINT,
+    gcvFILTER_LINEAR,
+    gcvFILTER_BI_LINEAR
+}
+gceIMAGE_FILTER;
+
+/**
+**  @ingroup gcoVG
+**
+**  @brief  Primitive modes supported by the HAL.
+**
+**  This enumeration defines the primitive modes supported by the HAL.
+*/
+typedef enum _gceVG_PRIMITIVE
+{
+    gcvVG_SCANLINE,
+    gcvVG_RECTANGLE,
+    gcvVG_TESSELLATED,
+    gcvVG_TESSELLATED_TILED
+}
+gceVG_PRIMITIVE;
+
+/**
+**  @ingroup gcoVG
+**
+**  @brief  Rendering quality modes supported by the HAL.
+**
+**  This enumeration defines the rendering quality modes supported by the HAL.
+*/
+typedef enum _gceRENDER_QUALITY
+{
+    gcvVG_NONANTIALIASED,
+    gcvVG_2X2_MSAA,
+    gcvVG_2X4_MSAA,
+    gcvVG_4X4_MSAA
+}
+gceRENDER_QUALITY;
+
+/**
+**  @ingroup gcoVG
+**
+**  @brief  Fill rules supported by the HAL.
+**
+**  This enumeration defines the fill rules supported by the HAL.
+*/
+typedef enum _gceFILL_RULE
+{
+    gcvVG_EVEN_ODD,
+    gcvVG_NON_ZERO
+}
+gceFILL_RULE;
+
+/**
+**  @ingroup gcoVG
+**
+**  @brief  Cap styles supported by the HAL.
+**
+**  This enumeration defines the cap styles supported by the HAL.
+*/
+typedef enum _gceCAP_STYLE
+{
+    gcvCAP_BUTT,
+    gcvCAP_ROUND,
+    gcvCAP_SQUARE
+}
+gceCAP_STYLE;
+
+/**
+**  @ingroup gcoVG
+**
+**  @brief  Join styles supported by the HAL.
+**
+**  This enumeration defines the join styles supported by the HAL.
+*/
+typedef enum _gceJOIN_STYLE
+{
+    gcvJOIN_MITER,
+    gcvJOIN_ROUND,
+    gcvJOIN_BEVEL
+}
+gceJOIN_STYLE;
+
+/**
+**  @ingroup gcoVG
+**
+**  @brief  Channel mask values.
+**
+**  This enumeration defines the values for channel mask used in image
+**  filtering.
+*/
+
+/* Base values for channel mask definitions. */
+#define gcvCHANNEL_X    (0)
+#define gcvCHANNEL_R    (1 << 0)
+#define gcvCHANNEL_G    (1 << 1)
+#define gcvCHANNEL_B    (1 << 2)
+#define gcvCHANNEL_A    (1 << 3)
+
+typedef enum _gceCHANNEL
+{
+    gcvCHANNEL_XXXX = (gcvCHANNEL_X | gcvCHANNEL_X | gcvCHANNEL_X | gcvCHANNEL_X),
+    gcvCHANNEL_XXXA = (gcvCHANNEL_X | gcvCHANNEL_X | gcvCHANNEL_X | gcvCHANNEL_A),
+    gcvCHANNEL_XXBX = (gcvCHANNEL_X | gcvCHANNEL_X | gcvCHANNEL_B | gcvCHANNEL_X),
+    gcvCHANNEL_XXBA = (gcvCHANNEL_X | gcvCHANNEL_X | gcvCHANNEL_B | gcvCHANNEL_A),
+
+    gcvCHANNEL_XGXX = (gcvCHANNEL_X | gcvCHANNEL_G | gcvCHANNEL_X | gcvCHANNEL_X),
+    gcvCHANNEL_XGXA = (gcvCHANNEL_X | gcvCHANNEL_G | gcvCHANNEL_X | gcvCHANNEL_A),
+    gcvCHANNEL_XGBX = (gcvCHANNEL_X | gcvCHANNEL_G | gcvCHANNEL_B | gcvCHANNEL_X),
+    gcvCHANNEL_XGBA = (gcvCHANNEL_X | gcvCHANNEL_G | gcvCHANNEL_B | gcvCHANNEL_A),
+
+    gcvCHANNEL_RXXX = (gcvCHANNEL_R | gcvCHANNEL_X | gcvCHANNEL_X | gcvCHANNEL_X),
+    gcvCHANNEL_RXXA = (gcvCHANNEL_R | gcvCHANNEL_X | gcvCHANNEL_X | gcvCHANNEL_A),
+    gcvCHANNEL_RXBX = (gcvCHANNEL_R | gcvCHANNEL_X | gcvCHANNEL_B | gcvCHANNEL_X),
+    gcvCHANNEL_RXBA = (gcvCHANNEL_R | gcvCHANNEL_X | gcvCHANNEL_B | gcvCHANNEL_A),
+
+    gcvCHANNEL_RGXX = (gcvCHANNEL_R | gcvCHANNEL_G | gcvCHANNEL_X | gcvCHANNEL_X),
+    gcvCHANNEL_RGXA = (gcvCHANNEL_R | gcvCHANNEL_G | gcvCHANNEL_X | gcvCHANNEL_A),
+    gcvCHANNEL_RGBX = (gcvCHANNEL_R | gcvCHANNEL_G | gcvCHANNEL_B | gcvCHANNEL_X),
+    gcvCHANNEL_RGBA = (gcvCHANNEL_R | gcvCHANNEL_G | gcvCHANNEL_B | gcvCHANNEL_A),
+}
+gceCHANNEL;
+
+/******************************************************************************\
+******************************** VG Structures *******************************
+\******************************************************************************/
+
+/**
+**  @ingroup    gcoVG
+**
+**  @brief      Definition of the color ramp used by the gradient paints.
+**
+**  The gcsCOLOR_RAMP structure defines the layout of one single color inside
+**  a color ramp which is used by gradient paints.
+*/
+typedef struct _gcsCOLOR_RAMP
+{
+    /** Value for the color stop. */
+    gctFLOAT        stop;
+
+    /** Red color channel value for the color stop. */
+    gctFLOAT        red;
+
+    /** Green color channel value for the color stop. */
+    gctFLOAT        green;
+
+    /** Blue color channel value for the color stop. */
+    gctFLOAT        blue;
+
+    /** Alpha color channel value for the color stop. */
+    gctFLOAT        alpha;
+}
+gcsCOLOR_RAMP, * gcsCOLOR_RAMP_PTR;
+
+/**
+**  @ingroup    gcoVG
+**
+**  @brief      Definition of the color ramp used by the gradient paints in fixed form.
+**
+**  The gcsCOLOR_RAMP structure defines the layout of one single color inside
+**  a color ramp which is used by gradient paints.
+*/
+typedef struct _gcsFIXED_COLOR_RAMP
+{
+    /** Value for the color stop. */
+    gctFIXED_POINT      stop;
+
+    /** Red color channel value for the color stop. */
+    gctFIXED_POINT      red;
+
+    /** Green color channel value for the color stop. */
+    gctFIXED_POINT      green;
+
+    /** Blue color channel value for the color stop. */
+    gctFIXED_POINT      blue;
+
+    /** Alpha color channel value for the color stop. */
+    gctFIXED_POINT      alpha;
+}
+gcsFIXED_COLOR_RAMP, * gcsFIXED_COLOR_RAMP_PTR;
+
+
+/**
+**  @ingroup gcoVG
+**
+**  @brief  Rectangle structure used by the gcoVG object.
+**
+**  This structure defines the layout of a rectangle.  Make sure width and
+**  height are larger than 0.
+*/
+typedef struct _gcsVG_RECT * gcsVG_RECT_PTR;
+typedef struct _gcsVG_RECT
+{
+    /** Left location of the rectangle. */
+    gctINT      x;
+
+    /** Top location of the rectangle. */
+    gctINT      y;
+
+    /** Width of the rectangle. */
+    gctINT      width;
+
+    /** Height of the rectangle. */
+    gctINT      height;
+}
+gcsVG_RECT;
+
+/**
+**  @ingroup    gcoVG
+**
+**  @brief      Path command buffer attribute structure.
+**
+**  The gcsPATH_BUFFER_INFO structure contains the specifics about
+**  the layout of the path data command buffer.
+*/
+typedef struct _gcsPATH_BUFFER_INFO * gcsPATH_BUFFER_INFO_PTR;
+typedef struct _gcsPATH_BUFFER_INFO
+{
+    gctUINT     reservedForHead;
+    gctUINT     reservedForTail;
+}
+gcsPATH_BUFFER_INFO;
+
+/**
+**  @ingroup    gcoVG
+**
+**  @brief      Definition of the path data container structure.
+**
+**  The gcsPATH structure defines the layout of the path data container.
+*/
+typedef struct _gcsPATH_DATA * gcsPATH_DATA_PTR;
+typedef struct _gcsPATH_DATA
+{
+    /* Data container in command buffer format. */
+    gcsCMDBUFFER    data;
+
+    /* Path data type. */
+    gcePATHTYPE     dataType;
+}
+gcsPATH_DATA;
+
+
+/******************************************************************************\
+********************************* gcoHAL Object ********************************
+\******************************************************************************/
+
+/* Query path data storage attributes. */
+gceSTATUS
+gcoHAL_QueryPathStorage(
+    IN gcoHAL Hal,
+    OUT gcsPATH_BUFFER_INFO_PTR Information
+    );
+
+/* Associate a completion signal with the command buffer. */
+gceSTATUS
+gcoHAL_AssociateCompletion(
+    IN gcoHAL Hal,
+    IN gcsPATH_DATA_PTR PathData
+    );
+
+/* Release the current command buffer completion signal. */
+gceSTATUS
+gcoHAL_DeassociateCompletion(
+    IN gcoHAL Hal,
+    IN gcsPATH_DATA_PTR PathData
+    );
+
+/* Verify whether the command buffer is still in use. */
+gceSTATUS
+gcoHAL_CheckCompletion(
+    IN gcoHAL Hal,
+    IN gcsPATH_DATA_PTR PathData
+    );
+
+/* Wait until the command buffer is no longer in use. */
+gceSTATUS
+gcoHAL_WaitCompletion(
+    IN gcoHAL Hal,
+    IN gcsPATH_DATA_PTR PathData
+    );
+
+/* Flush the pixel cache. */
+gceSTATUS
+gcoHAL_Flush(
+    IN gcoHAL Hal
+    );
+
+/* Split a harwdare address into pool and offset. */
+gceSTATUS
+gcoHAL_SplitAddress(
+    IN gcoHAL Hal,
+    IN gctUINT32 Address,
+    OUT gcePOOL * Pool,
+    OUT gctUINT32 * Offset
+    );
+
+/* Combine pool and offset into a harwdare address. */
+gceSTATUS
+gcoHAL_CombineAddress(
+    IN gcoHAL Hal,
+    IN gcePOOL Pool,
+    IN gctUINT32 Offset,
+    OUT gctUINT32 * Address
+    );
+
+/* Schedule to free linear video memory allocated. */
+gceSTATUS
+gcoHAL_ScheduleVideoMemory(
+    IN gcoHAL Hal,
+    IN gctUINT64 Node
+    );
+
+/* Free linear video memory allocated with gcoHAL_AllocateLinearVideoMemory. */
+gceSTATUS
+gcoHAL_FreeVideoMemory(
+    IN gcoHAL Hal,
+    IN gctUINT64 Node
+    );
+
+/* Query command buffer attributes. */
+gceSTATUS
+gcoHAL_QueryCommandBuffer(
+    IN gcoHAL Hal,
+    OUT gcsCOMMAND_BUFFER_INFO_PTR Information
+    );
+/* Allocate and lock linear video memory. */
+gceSTATUS
+gcoHAL_AllocateLinearVideoMemory(
+    IN gcoHAL Hal,
+    IN gctUINT Size,
+    IN gctUINT Alignment,
+    IN gcePOOL Pool,
+    OUT gctUINT64 * Node,
+    OUT gctUINT32 * Address,
+    OUT gctPOINTER * Memory
+    );
+
+/* Align the specified size accordingly to the hardware requirements. */
+gceSTATUS
+gcoHAL_GetAlignedSurfaceSize(
+    IN gcoHAL Hal,
+    IN gceSURF_TYPE Type,
+    IN OUT gctUINT32_PTR Width,
+    IN OUT gctUINT32_PTR Height
+    );
+
+gceSTATUS
+gcoHAL_ReserveTask(
+    IN gcoHAL Hal,
+    IN gceBLOCK Block,
+    IN gctUINT TaskCount,
+    IN gctSIZE_T Bytes,
+    OUT gctPOINTER * Memory
+    );
+/******************************************************************************\
+********************************** gcoVG Object ********************************
+\******************************************************************************/
+
+/** @defgroup gcoVG gcoVG
+**
+**  The gcoVG object abstracts the VG hardware pipe.
+*/
+
+gctBOOL
+gcoVG_IsMaskSupported(
+    IN gceSURF_FORMAT Format
+    );
+
+gctBOOL
+gcoVG_IsTargetSupported(
+    IN gceSURF_FORMAT Format
+    );
+
+gctBOOL
+gcoVG_IsImageSupported(
+    IN gceSURF_FORMAT Format
+    );
+
+gctUINT8 gcoVG_PackColorComponent(
+    gctFLOAT Value
+    );
+
+gceSTATUS
+gcoVG_Construct(
+    IN gcoHAL Hal,
+    OUT gcoVG * Vg
+    );
+
+gceSTATUS
+gcoVG_Destroy(
+    IN gcoVG Vg
+    );
+
+gceSTATUS
+gcoVG_SetTarget(
+    IN gcoVG Vg,
+    IN gcoSURF Target
+    );
+
+gceSTATUS
+gcoVG_UnsetTarget(
+    IN gcoVG Vg,
+    IN gcoSURF Surface
+    );
+
+gceSTATUS
+gcoVG_SetUserToSurface(
+    IN gcoVG Vg,
+    IN gctFLOAT UserToSurface[9]
+    );
+
+gceSTATUS
+gcoVG_SetSurfaceToImage(
+    IN gcoVG Vg,
+    IN gctFLOAT SurfaceToImage[9]
+    );
+
+gceSTATUS
+gcoVG_EnableMask(
+    IN gcoVG Vg,
+    IN gctBOOL Enable
+    );
+
+gceSTATUS
+gcoVG_SetMask(
+    IN gcoVG Vg,
+    IN gcoSURF Mask
+    );
+
+gceSTATUS
+gcoVG_UnsetMask(
+    IN gcoVG Vg,
+    IN gcoSURF Surface
+    );
+
+gceSTATUS
+gcoVG_FlushMask(
+    IN gcoVG Vg
+    );
+
+gceSTATUS
+gcoVG_EnableScissor(
+    IN gcoVG Vg,
+    IN gctBOOL Enable
+    );
+
+gceSTATUS
+gcoVG_SetScissor(
+    IN gcoVG Vg,
+    IN gctSIZE_T RectangleCount,
+    IN gcsVG_RECT_PTR Rectangles
+    );
+
+gceSTATUS
+gcoVG_EnableColorTransform(
+    IN gcoVG Vg,
+    IN gctBOOL Enable
+    );
+
+gceSTATUS
+gcoVG_SetColorTransform(
+    IN gcoVG Vg,
+    IN gctFLOAT ColorTransform[8]
+    );
+
+gceSTATUS
+gcoVG_SetTileFillColor(
+    IN gcoVG Vg,
+    IN gctFLOAT Red,
+    IN gctFLOAT Green,
+    IN gctFLOAT Blue,
+    IN gctFLOAT Alpha
+    );
+
+gceSTATUS
+gcoVG_SetSolidPaint(
+    IN gcoVG Vg,
+    IN gctUINT8 Red,
+    IN gctUINT8 Green,
+    IN gctUINT8 Blue,
+    IN gctUINT8 Alpha
+    );
+
+gceSTATUS
+gcoVG_SetLinearPaint(
+    IN gcoVG Vg,
+    IN gctFLOAT Constant,
+    IN gctFLOAT StepX,
+    IN gctFLOAT StepY
+    );
+
+gceSTATUS
+gcoVG_SetRadialPaint(
+    IN gcoVG Vg,
+    IN gctFLOAT LinConstant,
+    IN gctFLOAT LinStepX,
+    IN gctFLOAT LinStepY,
+    IN gctFLOAT RadConstant,
+    IN gctFLOAT RadStepX,
+    IN gctFLOAT RadStepY,
+    IN gctFLOAT RadStepXX,
+    IN gctFLOAT RadStepYY,
+    IN gctFLOAT RadStepXY
+    );
+
+gceSTATUS
+gcoVG_SetPatternPaint(
+    IN gcoVG Vg,
+    IN gctFLOAT UConstant,
+    IN gctFLOAT UStepX,
+    IN gctFLOAT UStepY,
+    IN gctFLOAT VConstant,
+    IN gctFLOAT VStepX,
+    IN gctFLOAT VStepY,
+    IN gctBOOL Linear
+    );
+
+gceSTATUS
+gcoVG_SetColorRamp(
+    IN gcoVG Vg,
+    IN gcoSURF ColorRamp,
+    IN gceTILE_MODE ColorRampSpreadMode
+    );
+
+gceSTATUS
+gcoVG_SetPattern(
+    IN gcoVG Vg,
+    IN gcoSURF Pattern,
+    IN gceTILE_MODE TileMode,
+    IN gceIMAGE_FILTER Filter
+    );
+
+gceSTATUS
+gcoVG_SetImageMode(
+    IN gcoVG Vg,
+    IN gceVG_IMAGE Mode
+    );
+
+gceSTATUS
+gcoVG_SetBlendMode(
+    IN gcoVG Vg,
+    IN gceVG_BLEND Mode
+    );
+
+gceSTATUS
+gcoVG_SetRenderingQuality(
+    IN gcoVG Vg,
+    IN gceRENDER_QUALITY Quality
+    );
+
+gceSTATUS
+gcoVG_SetFillRule(
+    IN gcoVG Vg,
+    IN gceFILL_RULE FillRule
+    );
+
+gceSTATUS
+gcoVG_FinalizePath(
+    IN gcoVG Vg,
+    IN gcsPATH_DATA_PTR PathData
+    );
+
+gceSTATUS
+gcoVG_Clear(
+    IN gcoVG Vg,
+    IN gctINT X,
+    IN gctINT Y,
+    IN gctINT Width,
+    IN gctINT Height
+    );
+
+gceSTATUS
+gcoVG_DrawPath(
+    IN gcoVG Vg,
+    IN gcsPATH_DATA_PTR PathData,
+    IN gctFLOAT Scale,
+    IN gctFLOAT Bias,
+    IN gctBOOL SoftwareTesselation
+    );
+
+gceSTATUS
+gcoVG_DrawImage(
+    IN gcoVG Vg,
+    IN gcoSURF Source,
+    IN gcsPOINT_PTR SourceOrigin,
+    IN gcsPOINT_PTR TargetOrigin,
+    IN gcsSIZE_PTR SourceSize,
+    IN gctINT SourceX,
+    IN gctINT SourceY,
+    IN gctINT TargetX,
+    IN gctINT TargetY,
+    IN gctINT Width,
+    IN gctINT Height,
+    IN gctBOOL Mask
+    );
+
+gceSTATUS
+gcoVG_TesselateImage(
+    IN gcoVG Vg,
+    IN gcoSURF Image,
+    IN gcsVG_RECT_PTR Rectangle,
+    IN gceIMAGE_FILTER Filter,
+    IN gctBOOL Mask,
+    IN gctBOOL SoftwareTesselation
+    );
+
+gceSTATUS
+gcoVG_Blit(
+    IN gcoVG Vg,
+    IN gcoSURF Source,
+    IN gcoSURF Target,
+    IN gcsVG_RECT_PTR SrcRect,
+    IN gcsVG_RECT_PTR TrgRect,
+    IN gceIMAGE_FILTER Filter,
+    IN gceVG_BLEND Mode
+    );
+
+gceSTATUS
+gcoVG_ColorMatrix(
+    IN gcoVG Vg,
+    IN gcoSURF Source,
+    IN gcoSURF Target,
+    IN const gctFLOAT * Matrix,
+    IN gceCHANNEL ColorChannels,
+    IN gctBOOL FilterLinear,
+    IN gctBOOL FilterPremultiplied,
+    IN gcsPOINT_PTR SourceOrigin,
+    IN gcsPOINT_PTR TargetOrigin,
+    IN gctINT Width,
+    IN gctINT Height
+    );
+
+gceSTATUS
+gcoVG_SeparableConvolve(
+    IN gcoVG Vg,
+    IN gcoSURF Source,
+    IN gcoSURF Target,
+    IN gctINT KernelWidth,
+    IN gctINT KernelHeight,
+    IN gctINT ShiftX,
+    IN gctINT ShiftY,
+    IN const gctINT16 * KernelX,
+    IN const gctINT16 * KernelY,
+    IN gctFLOAT Scale,
+    IN gctFLOAT Bias,
+    IN gceTILE_MODE TilingMode,
+    IN gctFLOAT_PTR FillColor,
+    IN gceCHANNEL ColorChannels,
+    IN gctBOOL FilterLinear,
+    IN gctBOOL FilterPremultiplied,
+    IN gcsPOINT_PTR SourceOrigin,
+    IN gcsPOINT_PTR TargetOrigin,
+    IN gcsSIZE_PTR SourceSize,
+    IN gctINT Width,
+    IN gctINT Height
+    );
+
+gceSTATUS
+gcoVG_GaussianBlur(
+    IN gcoVG Vg,
+    IN gcoSURF Source,
+    IN gcoSURF Target,
+    IN gctFLOAT StdDeviationX,
+    IN gctFLOAT StdDeviationY,
+    IN gceTILE_MODE TilingMode,
+    IN gctFLOAT_PTR FillColor,
+    IN gceCHANNEL ColorChannels,
+    IN gctBOOL FilterLinear,
+    IN gctBOOL FilterPremultiplied,
+    IN gcsPOINT_PTR SourceOrigin,
+    IN gcsPOINT_PTR TargetOrigin,
+    IN gcsSIZE_PTR SourceSize,
+    IN gctINT Width,
+    IN gctINT Height
+    );
+
+gceSTATUS
+gcoVG_EnableDither(
+    IN gcoVG Vg,
+    IN gctBOOL Enable
+    );
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif  /* __gc_hal_vg_h_ */
diff --git a/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_enum.h b/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_enum.h
new file mode 100644 (file)
index 0000000..1d19882
--- /dev/null
@@ -0,0 +1,964 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#ifndef __gc_hal_enum_h_
+#define __gc_hal_enum_h_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Chip models. */
+typedef enum _gceCHIPMODEL
+{
+    gcv300  = 0x0300,
+    gcv320  = 0x0320,
+    gcv350  = 0x0350,
+    gcv355  = 0x0355,
+    gcv400  = 0x0400,
+    gcv410  = 0x0410,
+    gcv420  = 0x0420,
+    gcv450  = 0x0450,
+    gcv500  = 0x0500,
+    gcv530  = 0x0530,
+    gcv600  = 0x0600,
+    gcv700  = 0x0700,
+    gcv800  = 0x0800,
+    gcv860  = 0x0860,
+    gcv880  = 0x0880,
+    gcv1000 = 0x1000,
+    gcv2000 = 0x2000,
+    gcv2100 = 0x2100,
+    gcv4000 = 0x4000,
+}
+gceCHIPMODEL;
+
+/* Chip features. */
+typedef enum _gceFEATURE
+{
+    gcvFEATURE_PIPE_2D = 0,
+    gcvFEATURE_PIPE_3D,
+    gcvFEATURE_PIPE_VG,
+    gcvFEATURE_DC,
+    gcvFEATURE_HIGH_DYNAMIC_RANGE,
+    gcvFEATURE_MODULE_CG,
+    gcvFEATURE_MIN_AREA,
+    gcvFEATURE_BUFFER_INTERLEAVING,
+    gcvFEATURE_BYTE_WRITE_2D,
+    gcvFEATURE_ENDIANNESS_CONFIG,
+    gcvFEATURE_DUAL_RETURN_BUS,
+    gcvFEATURE_DEBUG_MODE,
+    gcvFEATURE_YUY2_RENDER_TARGET,
+    gcvFEATURE_FRAGMENT_PROCESSOR,
+    gcvFEATURE_2DPE20,
+    gcvFEATURE_FAST_CLEAR,
+    gcvFEATURE_YUV420_TILER,
+    gcvFEATURE_YUY2_AVERAGING,
+    gcvFEATURE_FLIP_Y,
+    gcvFEATURE_EARLY_Z,
+    gcvFEATURE_Z_COMPRESSION,
+    gcvFEATURE_MSAA,
+    gcvFEATURE_SPECIAL_ANTI_ALIASING,
+    gcvFEATURE_SPECIAL_MSAA_LOD,
+    gcvFEATURE_422_TEXTURE_COMPRESSION,
+    gcvFEATURE_DXT_TEXTURE_COMPRESSION,
+    gcvFEATURE_ETC1_TEXTURE_COMPRESSION,
+    gcvFEATURE_CORRECT_TEXTURE_CONVERTER,
+    gcvFEATURE_TEXTURE_8K,
+    gcvFEATURE_SCALER,
+    gcvFEATURE_YUV420_SCALER,
+    gcvFEATURE_SHADER_HAS_W,
+    gcvFEATURE_SHADER_HAS_SIGN,
+    gcvFEATURE_SHADER_HAS_FLOOR,
+    gcvFEATURE_SHADER_HAS_CEIL,
+    gcvFEATURE_SHADER_HAS_SQRT,
+    gcvFEATURE_SHADER_HAS_TRIG,
+    gcvFEATURE_VAA,
+    gcvFEATURE_HZ,
+    gcvFEATURE_CORRECT_STENCIL,
+    gcvFEATURE_VG20,
+    gcvFEATURE_VG_FILTER,
+    gcvFEATURE_VG21,
+    gcvFEATURE_VG_DOUBLE_BUFFER,
+    gcvFEATURE_MC20,
+    gcvFEATURE_SUPER_TILED,
+    gcvFEATURE_2D_FILTERBLIT_PLUS_ALPHABLEND,
+    gcvFEATURE_2D_DITHER,
+    gcvFEATURE_2D_A8_TARGET,
+    gcvFEATURE_2D_FILTERBLIT_FULLROTATION,
+    gcvFEATURE_2D_BITBLIT_FULLROTATION,
+    gcvFEATURE_WIDE_LINE,
+    gcvFEATURE_FC_FLUSH_STALL,
+    gcvFEATURE_FULL_DIRECTFB,
+    gcvFEATURE_HALF_FLOAT_PIPE,
+    gcvFEATURE_LINE_LOOP,
+    gcvFEATURE_2D_YUV_BLIT,
+    gcvFEATURE_2D_TILING,
+    gcvFEATURE_NON_POWER_OF_TWO,
+    gcvFEATURE_3D_TEXTURE,
+    gcvFEATURE_TEXTURE_ARRAY,
+    gcvFEATURE_TILE_FILLER,
+    gcvFEATURE_LOGIC_OP,
+    gcvFEATURE_COMPOSITION,
+    gcvFEATURE_MIXED_STREAMS,
+    gcvFEATURE_2D_MULTI_SOURCE_BLT,
+    gcvFEATURE_END_EVENT,
+    gcvFEATURE_VERTEX_10_10_10_2,
+    gcvFEATURE_TEXTURE_10_10_10_2,
+    gcvFEATURE_TEXTURE_ANISOTROPIC_FILTERING,
+    gcvFEATURE_TEXTURE_FLOAT_HALF_FLOAT,
+       gcvFEATURE_2D_ROTATION_STALL_FIX,
+    gcvFEATURE_2D_MULTI_SOURCE_BLT_EX,
+       gcvFEATURE_BUG_FIXES10,
+    gcvFEATURE_2D_MINOR_TILING,
+    /* Supertiled compressed textures are supported. */
+    gcvFEATURE_TEX_COMPRRESSION_SUPERTILED,
+    gcvFEATURE_FAST_MSAA,
+    gcvFEATURE_BUG_FIXED_INDEXED_TRIANGLE_STRIP,
+    gcvFEATURE_TEXTURE_TILED_READ,
+    gcvFEATURE_DEPTH_BIAS_FIX,
+    gcvFEATURE_RECT_PRIMITIVE,
+       gcvFEATURE_BUG_FIXES11,
+       gcvFEATURE_SUPERTILED_TEXTURE,
+    gcvFEATURE_2D_NO_COLORBRUSH_INDEX8,
+    gcvFEATURE_RS_YUV_TARGET,
+    gcvFEATURE_2D_FC_SOURCE,
+       gcvFEATURE_PE_DITHER_FIX,
+    gcvFEATURE_2D_YUV_SEPARATE_STRIDE,
+    gcvFEATURE_FRUSTUM_CLIP_FIX,
+    gcvFEATURE_TEXTURE_LINEAR,
+    gcvFEATURE_TEXTURE_YUV_ASSEMBLER,
+    gcvFEATURE_SHADER_HAS_INSTRUCTION_CACHE,
+    gcvFEATURE_DYNAMIC_FREQUENCY_SCALING,
+    gcvFEATURE_BUGFIX15,
+    gcvFEATURE_2D_GAMMA,
+    gcvFEATURE_2D_COLOR_SPACE_CONVERSION,
+    gcvFEATURE_2D_SUPER_TILE_VERSION,
+    gcvFEATURE_2D_MIRROR_EXTENSION,
+    gcvFEATURE_2D_SUPER_TILE_V1,
+    gcvFEATURE_2D_SUPER_TILE_V2,
+    gcvFEATURE_2D_SUPER_TILE_V3,
+    gcvFEATURE_2D_MULTI_SOURCE_BLT_EX2,
+    gcvFEATURE_ELEMENT_INDEX_UINT,
+    gcvFEATURE_2D_COMPRESSION,
+    gcvFEATURE_2D_OPF_YUV_OUTPUT,
+    gcvFEATURE_2D_MULTI_SRC_BLT_TO_UNIFIED_DST_RECT,
+    gcvFEATURE_2D_YUV_MODE,
+    gcvFEATURE_DECOMPRESS_Z16,
+       gcvFEATURE_LINEAR_RENDER_TARGET,
+    gcvFEATURE_BUG_FIXES8,
+    gcvFEATURE_HALTI2,
+    gcvFEATURE_MMU,
+}
+gceFEATURE;
+
+/* Chip Power Status. */
+typedef enum _gceCHIPPOWERSTATE
+{
+    gcvPOWER_ON = 0,
+    gcvPOWER_OFF,
+    gcvPOWER_IDLE,
+    gcvPOWER_SUSPEND,
+    gcvPOWER_SUSPEND_ATPOWERON,
+    gcvPOWER_OFF_ATPOWERON,
+    gcvPOWER_IDLE_BROADCAST,
+    gcvPOWER_SUSPEND_BROADCAST,
+    gcvPOWER_OFF_BROADCAST,
+    gcvPOWER_OFF_RECOVERY,
+    gcvPOWER_OFF_TIMEOUT,
+    gcvPOWER_ON_AUTO
+}
+gceCHIPPOWERSTATE;
+
+/* CPU cache operations */
+typedef enum _gceCACHEOPERATION
+{
+    gcvCACHE_CLEAN      = 0x01,
+    gcvCACHE_INVALIDATE = 0x02,
+    gcvCACHE_FLUSH      = gcvCACHE_CLEAN  | gcvCACHE_INVALIDATE,
+    gcvCACHE_MEMORY_BARRIER = 0x04
+}
+gceCACHEOPERATION;
+
+/* Surface types. */
+typedef enum _gceSURF_TYPE
+{
+    gcvSURF_TYPE_UNKNOWN = 0,
+    gcvSURF_INDEX,
+    gcvSURF_VERTEX,
+    gcvSURF_TEXTURE,
+    gcvSURF_RENDER_TARGET,
+    gcvSURF_DEPTH,
+    gcvSURF_BITMAP,
+    gcvSURF_TILE_STATUS,
+       gcvSURF_IMAGE,
+    gcvSURF_MASK,
+    gcvSURF_SCISSOR,
+    gcvSURF_HIERARCHICAL_DEPTH,
+    gcvSURF_NUM_TYPES, /* Make sure this is the last one! */
+
+    /* Combinations. */
+    gcvSURF_NO_TILE_STATUS = 0x100,
+    gcvSURF_NO_VIDMEM      = 0x200, /* Used to allocate surfaces with no underlying vidmem node.
+                                       In Android, vidmem node is allocated by another process. */
+    gcvSURF_CACHEABLE      = 0x400, /* Used to allocate a cacheable surface */
+    gcvSURF_FLIP           = 0x800, /* The Resolve Target the will been flip resolve from RT */
+    gcvSURF_TILE_STATUS_DIRTY  = 0x1000, /* Init tile status to all dirty */
+
+    gcvSURF_LINEAR             = 0x2000,
+    gcvSURF_VG                     = 0x4000,
+
+    gcvSURF_TEXTURE_LINEAR               = gcvSURF_TEXTURE
+                                         | gcvSURF_LINEAR,
+
+    gcvSURF_RENDER_TARGET_NO_TILE_STATUS = gcvSURF_RENDER_TARGET
+                                         | gcvSURF_NO_TILE_STATUS,
+
+    gcvSURF_RENDER_TARGET_TS_DIRTY = gcvSURF_RENDER_TARGET
+                                         | gcvSURF_TILE_STATUS_DIRTY,
+
+    gcvSURF_DEPTH_NO_TILE_STATUS         = gcvSURF_DEPTH
+                                         | gcvSURF_NO_TILE_STATUS,
+
+    gcvSURF_DEPTH_TS_DIRTY               = gcvSURF_DEPTH
+                                         | gcvSURF_TILE_STATUS_DIRTY,
+
+    /* Supported surface types with no vidmem node. */
+    gcvSURF_BITMAP_NO_VIDMEM             = gcvSURF_BITMAP
+                                         | gcvSURF_NO_VIDMEM,
+
+    gcvSURF_TEXTURE_NO_VIDMEM            = gcvSURF_TEXTURE
+                                         | gcvSURF_NO_VIDMEM,
+
+    /* Cacheable surface types with no vidmem node. */
+    gcvSURF_CACHEABLE_BITMAP_NO_VIDMEM   = gcvSURF_BITMAP_NO_VIDMEM
+                                         | gcvSURF_CACHEABLE,
+
+    gcvSURF_CACHEABLE_BITMAP             = gcvSURF_BITMAP
+                                         | gcvSURF_CACHEABLE,
+
+    gcvSURF_FLIP_BITMAP                  = gcvSURF_BITMAP
+                                         | gcvSURF_FLIP,
+}
+gceSURF_TYPE;
+
+typedef enum _gceSURF_USAGE
+{
+    gcvSURF_USAGE_UNKNOWN,
+    gcvSURF_USAGE_RESOLVE_AFTER_CPU,
+    gcvSURF_USAGE_RESOLVE_AFTER_3D
+}
+gceSURF_USAGE;
+
+typedef enum _gceSURF_COLOR_TYPE
+{
+    gcvSURF_COLOR_UNKNOWN = 0,
+    gcvSURF_COLOR_LINEAR        = 0x01,
+    gcvSURF_COLOR_ALPHA_PRE     = 0x02,
+}
+gceSURF_COLOR_TYPE;
+
+/* Rotation. */
+typedef enum _gceSURF_ROTATION
+{
+    gcvSURF_0_DEGREE = 0,
+    gcvSURF_90_DEGREE,
+    gcvSURF_180_DEGREE,
+    gcvSURF_270_DEGREE,
+    gcvSURF_FLIP_X,
+    gcvSURF_FLIP_Y,
+
+       gcvSURF_POST_FLIP_X = 0x40000000,
+    gcvSURF_POST_FLIP_Y = 0x80000000,
+}
+gceSURF_ROTATION;
+
+typedef enum _gceMIPMAP_IMAGE_FORMAT
+{
+    gcvUNKNOWN_MIPMAP_IMAGE_FORMAT  = -2
+}
+gceMIPMAP_IMAGE_FORMAT;
+
+
+/* Surface formats. */
+typedef enum _gceSURF_FORMAT
+{
+    /* Unknown format. */
+    gcvSURF_UNKNOWN             = 0,
+
+    /* Palettized formats. */
+    gcvSURF_INDEX1              = 100,
+    gcvSURF_INDEX4,
+    gcvSURF_INDEX8,
+
+    /* RGB formats. */
+    gcvSURF_A2R2G2B2            = 200,
+    gcvSURF_R3G3B2,
+    gcvSURF_A8R3G3B2,
+    gcvSURF_X4R4G4B4,
+    gcvSURF_A4R4G4B4,
+    gcvSURF_R4G4B4A4,
+    gcvSURF_X1R5G5B5,
+    gcvSURF_A1R5G5B5,
+    gcvSURF_R5G5B5A1,
+    gcvSURF_R5G6B5,
+    gcvSURF_R8G8B8,
+    gcvSURF_X8R8G8B8,
+    gcvSURF_A8R8G8B8,
+    gcvSURF_R8G8B8A8,
+    gcvSURF_G8R8G8B8,
+    gcvSURF_R8G8B8G8,
+    gcvSURF_X2R10G10B10,
+    gcvSURF_A2R10G10B10,
+    gcvSURF_X12R12G12B12,
+    gcvSURF_A12R12G12B12,
+    gcvSURF_X16R16G16B16,
+    gcvSURF_A16R16G16B16,
+    gcvSURF_A32R32G32B32,
+    gcvSURF_R8G8B8X8,
+    gcvSURF_R5G5B5X1,
+    gcvSURF_R4G4B4X4,
+
+    /* BGR formats. */
+    gcvSURF_A4B4G4R4            = 300,
+    gcvSURF_A1B5G5R5,
+    gcvSURF_B5G6R5,
+    gcvSURF_B8G8R8,
+    gcvSURF_B16G16R16,
+    gcvSURF_X8B8G8R8,
+    gcvSURF_A8B8G8R8,
+    gcvSURF_A2B10G10R10,
+    gcvSURF_X16B16G16R16,
+    gcvSURF_A16B16G16R16,
+    gcvSURF_B32G32R32,
+    gcvSURF_X32B32G32R32,
+    gcvSURF_A32B32G32R32,
+    gcvSURF_B4G4R4A4,
+    gcvSURF_B5G5R5A1,
+    gcvSURF_B8G8R8X8,
+    gcvSURF_B8G8R8A8,
+    gcvSURF_X4B4G4R4,
+    gcvSURF_X1B5G5R5,
+    gcvSURF_B4G4R4X4,
+    gcvSURF_B5G5R5X1,
+    gcvSURF_X2B10G10R10,
+
+    /* Compressed formats. */
+    gcvSURF_DXT1                = 400,
+    gcvSURF_DXT2,
+    gcvSURF_DXT3,
+    gcvSURF_DXT4,
+    gcvSURF_DXT5,
+    gcvSURF_CXV8U8,
+    gcvSURF_ETC1,
+    gcvSURF_R11_EAC,
+    gcvSURF_SIGNED_R11_EAC,
+    gcvSURF_RG11_EAC,
+    gcvSURF_SIGNED_RG11_EAC,
+    gcvSURF_RGB8_ETC2,
+    gcvSURF_SRGB8_ETC2,
+    gcvSURF_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,
+    gcvSURF_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,
+    gcvSURF_RGBA8_ETC2_EAC,
+    gcvSURF_SRGB8_ALPHA8_ETC2_EAC,
+
+    /* YUV formats. */
+    gcvSURF_YUY2                = 500,
+    gcvSURF_UYVY,
+    gcvSURF_YV12,
+    gcvSURF_I420,
+    gcvSURF_NV12,
+    gcvSURF_NV21,
+    gcvSURF_NV16,
+    gcvSURF_NV61,
+    gcvSURF_YVYU,
+    gcvSURF_VYUY,
+
+    /* Depth formats. */
+    gcvSURF_D16                 = 600,
+    gcvSURF_D24S8,
+    gcvSURF_D32,
+    gcvSURF_D24X8,
+
+    /* Alpha formats. */
+    gcvSURF_A4                  = 700,
+    gcvSURF_A8,
+    gcvSURF_A12,
+    gcvSURF_A16,
+    gcvSURF_A32,
+    gcvSURF_A1,
+
+    /* Luminance formats. */
+    gcvSURF_L4                  = 800,
+    gcvSURF_L8,
+    gcvSURF_L12,
+    gcvSURF_L16,
+    gcvSURF_L32,
+    gcvSURF_L1,
+
+    /* Alpha/Luminance formats. */
+    gcvSURF_A4L4                = 900,
+    gcvSURF_A2L6,
+    gcvSURF_A8L8,
+    gcvSURF_A4L12,
+    gcvSURF_A12L12,
+    gcvSURF_A16L16,
+
+    /* Bump formats. */
+    gcvSURF_L6V5U5              = 1000,
+    gcvSURF_V8U8,
+    gcvSURF_X8L8V8U8,
+    gcvSURF_Q8W8V8U8,
+    gcvSURF_A2W10V10U10,
+    gcvSURF_V16U16,
+    gcvSURF_Q16W16V16U16,
+
+    /* R/RG/RA formats. */
+    gcvSURF_R8                  = 1100,
+    gcvSURF_X8R8,
+    gcvSURF_G8R8,
+    gcvSURF_X8G8R8,
+    gcvSURF_A8R8,
+    gcvSURF_R16,
+    gcvSURF_X16R16,
+    gcvSURF_G16R16,
+    gcvSURF_X16G16R16,
+    gcvSURF_A16R16,
+    gcvSURF_R32,
+    gcvSURF_X32R32,
+    gcvSURF_G32R32,
+    gcvSURF_X32G32R32,
+    gcvSURF_A32R32,
+    gcvSURF_RG16,
+
+    /* Floating point formats. */
+    gcvSURF_R16F                = 1200,
+    gcvSURF_X16R16F,
+    gcvSURF_G16R16F,
+    gcvSURF_X16G16R16F,
+    gcvSURF_B16G16R16F,
+    gcvSURF_X16B16G16R16F,
+    gcvSURF_A16B16G16R16F,
+    gcvSURF_R32F,
+    gcvSURF_X32R32F,
+    gcvSURF_G32R32F,
+    gcvSURF_X32G32R32F,
+    gcvSURF_B32G32R32F,
+    gcvSURF_X32B32G32R32F,
+    gcvSURF_A32B32G32R32F,
+    gcvSURF_A16F,
+    gcvSURF_L16F,
+    gcvSURF_A16L16F,
+    gcvSURF_A16R16F,
+    gcvSURF_A32F,
+    gcvSURF_L32F,
+    gcvSURF_A32L32F,
+    gcvSURF_A32R32F,
+
+}
+gceSURF_FORMAT;
+
+/* Pixel swizzle modes. */
+typedef enum _gceSURF_SWIZZLE
+{
+    gcvSURF_NOSWIZZLE = 0,
+    gcvSURF_ARGB,
+    gcvSURF_ABGR,
+    gcvSURF_RGBA,
+    gcvSURF_BGRA
+}
+gceSURF_SWIZZLE;
+
+/* Transparency modes. */
+typedef enum _gceSURF_TRANSPARENCY
+{
+    /* Valid only for PE 1.0 */
+    gcvSURF_OPAQUE = 0,
+    gcvSURF_SOURCE_MATCH,
+    gcvSURF_SOURCE_MASK,
+    gcvSURF_PATTERN_MASK,
+}
+gceSURF_TRANSPARENCY;
+
+/* Surface Alignment. */
+typedef enum _gceSURF_ALIGNMENT
+{
+    gcvSURF_FOUR = 0,
+    gcvSURF_SIXTEEN,
+    gcvSURF_SUPER_TILED,
+    gcvSURF_SPLIT_TILED,
+    gcvSURF_SPLIT_SUPER_TILED,
+}
+gceSURF_ALIGNMENT;
+
+
+/* Surface Addressing. */
+typedef enum _gceSURF_ADDRESSING
+{
+    gcvSURF_NO_STRIDE_TILED = 0,
+    gcvSURF_NO_STRIDE_LINEAR,
+    gcvSURF_STRIDE_TILED,
+    gcvSURF_STRIDE_LINEAR
+}
+gceSURF_ADDRESSING;
+
+/* Transparency modes. */
+typedef enum _gce2D_TRANSPARENCY
+{
+    /* Valid only for PE 2.0 */
+    gcv2D_OPAQUE = 0,
+    gcv2D_KEYED,
+    gcv2D_MASKED
+}
+gce2D_TRANSPARENCY;
+
+/* Mono packing modes. */
+typedef enum _gceSURF_MONOPACK
+{
+    gcvSURF_PACKED8 = 0,
+    gcvSURF_PACKED16,
+    gcvSURF_PACKED32,
+    gcvSURF_UNPACKED,
+}
+gceSURF_MONOPACK;
+
+/* Blending modes. */
+typedef enum _gceSURF_BLEND_MODE
+{
+    /* Porter-Duff blending modes.                   */
+    /*                         Fsrc      Fdst        */
+    gcvBLEND_CLEAR = 0,     /* 0         0           */
+    gcvBLEND_SRC,           /* 1         0           */
+    gcvBLEND_DST,           /* 0         1           */
+    gcvBLEND_SRC_OVER_DST,  /* 1         1 - Asrc    */
+    gcvBLEND_DST_OVER_SRC,  /* 1 - Adst  1           */
+    gcvBLEND_SRC_IN_DST,    /* Adst      0           */
+    gcvBLEND_DST_IN_SRC,    /* 0         Asrc        */
+    gcvBLEND_SRC_OUT_DST,   /* 1 - Adst  0           */
+    gcvBLEND_DST_OUT_SRC,   /* 0         1 - Asrc    */
+    gcvBLEND_SRC_ATOP_DST,  /* Adst      1 - Asrc    */
+    gcvBLEND_DST_ATOP_SRC,  /* 1 - Adst  Asrc        */
+    gcvBLEND_SRC_XOR_DST,   /* 1 - Adst  1 - Asrc    */
+
+    /* Special blending modes.                       */
+    gcvBLEND_SET,           /* DST = 1               */
+    gcvBLEND_SUB            /* DST = DST * (1 - SRC) */
+}
+gceSURF_BLEND_MODE;
+
+/* Per-pixel alpha modes. */
+typedef enum _gceSURF_PIXEL_ALPHA_MODE
+{
+    gcvSURF_PIXEL_ALPHA_STRAIGHT = 0,
+    gcvSURF_PIXEL_ALPHA_INVERSED
+}
+gceSURF_PIXEL_ALPHA_MODE;
+
+/* Global alpha modes. */
+typedef enum _gceSURF_GLOBAL_ALPHA_MODE
+{
+    gcvSURF_GLOBAL_ALPHA_OFF = 0,
+    gcvSURF_GLOBAL_ALPHA_ON,
+    gcvSURF_GLOBAL_ALPHA_SCALE
+}
+gceSURF_GLOBAL_ALPHA_MODE;
+
+/* Color component modes for alpha blending. */
+typedef enum _gceSURF_PIXEL_COLOR_MODE
+{
+    gcvSURF_COLOR_STRAIGHT = 0,
+    gcvSURF_COLOR_MULTIPLY
+}
+gceSURF_PIXEL_COLOR_MODE;
+
+/* Color component modes for alpha blending. */
+typedef enum _gce2D_PIXEL_COLOR_MULTIPLY_MODE
+{
+    gcv2D_COLOR_MULTIPLY_DISABLE = 0,
+    gcv2D_COLOR_MULTIPLY_ENABLE
+}
+gce2D_PIXEL_COLOR_MULTIPLY_MODE;
+
+/* Color component modes for alpha blending. */
+typedef enum _gce2D_GLOBAL_COLOR_MULTIPLY_MODE
+{
+    gcv2D_GLOBAL_COLOR_MULTIPLY_DISABLE = 0,
+    gcv2D_GLOBAL_COLOR_MULTIPLY_ALPHA,
+    gcv2D_GLOBAL_COLOR_MULTIPLY_COLOR
+}
+gce2D_GLOBAL_COLOR_MULTIPLY_MODE;
+
+/* Alpha blending factor modes. */
+typedef enum _gceSURF_BLEND_FACTOR_MODE
+{
+    gcvSURF_BLEND_ZERO = 0,
+    gcvSURF_BLEND_ONE,
+    gcvSURF_BLEND_STRAIGHT,
+    gcvSURF_BLEND_INVERSED,
+    gcvSURF_BLEND_COLOR,
+    gcvSURF_BLEND_COLOR_INVERSED,
+    gcvSURF_BLEND_SRC_ALPHA_SATURATED,
+    gcvSURF_BLEND_STRAIGHT_NO_CROSS,
+    gcvSURF_BLEND_INVERSED_NO_CROSS,
+    gcvSURF_BLEND_COLOR_NO_CROSS,
+    gcvSURF_BLEND_COLOR_INVERSED_NO_CROSS,
+    gcvSURF_BLEND_SRC_ALPHA_SATURATED_CROSS
+}
+gceSURF_BLEND_FACTOR_MODE;
+
+/* Alpha blending porter duff rules. */
+typedef enum _gce2D_PORTER_DUFF_RULE
+{
+    gcvPD_CLEAR = 0,
+    gcvPD_SRC,
+    gcvPD_SRC_OVER,
+    gcvPD_DST_OVER,
+    gcvPD_SRC_IN,
+    gcvPD_DST_IN,
+    gcvPD_SRC_OUT,
+    gcvPD_DST_OUT,
+    gcvPD_SRC_ATOP,
+    gcvPD_DST_ATOP,
+    gcvPD_ADD,
+    gcvPD_XOR,
+    gcvPD_DST
+}
+gce2D_PORTER_DUFF_RULE;
+
+/* Alpha blending factor modes. */
+typedef enum _gce2D_YUV_COLOR_MODE
+{
+    gcv2D_YUV_601= 0,
+    gcv2D_YUV_709,
+    gcv2D_YUV_USER_DEFINED,
+    gcv2D_YUV_USER_DEFINED_CLAMP,
+
+    /* Default setting is for src. gcv2D_YUV_DST
+        can be ORed to set dst.
+    */
+    gcv2D_YUV_DST = 0x80000000,
+}
+gce2D_YUV_COLOR_MODE;
+
+typedef enum _gce2D_COMMAND
+{
+    gcv2D_CLEAR = 0,
+    gcv2D_LINE,
+    gcv2D_BLT,
+    gcv2D_STRETCH,
+    gcv2D_HOR_FILTER,
+    gcv2D_VER_FILTER,
+    gcv2D_MULTI_SOURCE_BLT,
+}
+gce2D_COMMAND;
+
+typedef enum _gce2D_TILE_STATUS_CONFIG
+{
+    gcv2D_TSC_DISABLE       = 0,
+    gcv2D_TSC_ENABLE        = 0x00000001,
+    gcv2D_TSC_COMPRESSED    = 0x00000002,
+    gcv2D_TSC_DOWN_SAMPLER  = 0x00000004,
+    gcv2D_TSC_2D_COMPRESSED = 0x00000008,
+}
+gce2D_TILE_STATUS_CONFIG;
+
+typedef enum _gce2D_QUERY
+{
+    gcv2D_QUERY_RGB_ADDRESS_MIN_ALIGN       = 0,
+    gcv2D_QUERY_RGB_STRIDE_MIN_ALIGN,
+    gcv2D_QUERY_YUV_ADDRESS_MIN_ALIGN,
+    gcv2D_QUERY_YUV_STRIDE_MIN_ALIGN,
+}
+gce2D_QUERY;
+
+typedef enum _gce2D_SUPER_TILE_VERSION
+{
+    gcv2D_SUPER_TILE_VERSION_V1       = 1,
+    gcv2D_SUPER_TILE_VERSION_V2       = 2,
+    gcv2D_SUPER_TILE_VERSION_V3       = 3,
+}
+gce2D_SUPER_TILE_VERSION;
+
+typedef enum _gce2D_STATE
+{
+    gcv2D_STATE_SPECIAL_FILTER_MIRROR_MODE       = 1,
+    gcv2D_STATE_SUPER_TILE_VERSION,
+    gcv2D_STATE_EN_GAMMA,
+    gcv2D_STATE_DE_GAMMA,
+    gcv2D_STATE_MULTI_SRC_BLIT_UNIFIED_DST_RECT,
+
+    gcv2D_STATE_ARRAY_EN_GAMMA                   = 0x10001,
+    gcv2D_STATE_ARRAY_DE_GAMMA,
+    gcv2D_STATE_ARRAY_CSC_YUV_TO_RGB,
+    gcv2D_STATE_ARRAY_CSC_RGB_TO_YUV,
+}
+gce2D_STATE;
+
+#ifndef VIVANTE_NO_3D
+/* Texture functions. */
+typedef enum _gceTEXTURE_FUNCTION
+{
+    gcvTEXTURE_DUMMY = 0,
+    gcvTEXTURE_REPLACE = 0,
+    gcvTEXTURE_MODULATE,
+    gcvTEXTURE_ADD,
+    gcvTEXTURE_ADD_SIGNED,
+    gcvTEXTURE_INTERPOLATE,
+    gcvTEXTURE_SUBTRACT,
+    gcvTEXTURE_DOT3
+}
+gceTEXTURE_FUNCTION;
+
+/* Texture sources. */
+typedef enum _gceTEXTURE_SOURCE
+{
+    gcvCOLOR_FROM_TEXTURE = 0,
+    gcvCOLOR_FROM_CONSTANT_COLOR,
+    gcvCOLOR_FROM_PRIMARY_COLOR,
+    gcvCOLOR_FROM_PREVIOUS_COLOR
+}
+gceTEXTURE_SOURCE;
+
+/* Texture source channels. */
+typedef enum _gceTEXTURE_CHANNEL
+{
+    gcvFROM_COLOR = 0,
+    gcvFROM_ONE_MINUS_COLOR,
+    gcvFROM_ALPHA,
+    gcvFROM_ONE_MINUS_ALPHA
+}
+gceTEXTURE_CHANNEL;
+#endif /* VIVANTE_NO_3D */
+
+/* Filter types. */
+typedef enum _gceFILTER_TYPE
+{
+    gcvFILTER_SYNC = 0,
+    gcvFILTER_BLUR,
+    gcvFILTER_USER
+}
+gceFILTER_TYPE;
+
+/* Filter pass types. */
+typedef enum _gceFILTER_PASS_TYPE
+{
+    gcvFILTER_HOR_PASS = 0,
+    gcvFILTER_VER_PASS
+}
+gceFILTER_PASS_TYPE;
+
+/* Endian hints. */
+typedef enum _gceENDIAN_HINT
+{
+    gcvENDIAN_NO_SWAP = 0,
+    gcvENDIAN_SWAP_WORD,
+    gcvENDIAN_SWAP_DWORD
+}
+gceENDIAN_HINT;
+
+/* Tiling modes. */
+typedef enum _gceTILING
+{
+    gcvLINEAR = 0,
+    gcvTILED,
+    gcvSUPERTILED,
+    gcvMULTI_TILED,
+    gcvMULTI_SUPERTILED,
+    gcvMINORTILED,
+}
+gceTILING;
+
+/* 2D pattern type. */
+typedef enum _gce2D_PATTERN
+{
+    gcv2D_PATTERN_SOLID = 0,
+    gcv2D_PATTERN_MONO,
+    gcv2D_PATTERN_COLOR,
+    gcv2D_PATTERN_INVALID
+}
+gce2D_PATTERN;
+
+/* 2D source type. */
+typedef enum _gce2D_SOURCE
+{
+    gcv2D_SOURCE_MASKED = 0,
+    gcv2D_SOURCE_MONO,
+    gcv2D_SOURCE_COLOR,
+    gcv2D_SOURCE_INVALID
+}
+gce2D_SOURCE;
+
+/* Pipes. */
+typedef enum _gcePIPE_SELECT
+{
+    gcvPIPE_INVALID = ~0,
+    gcvPIPE_3D      =  0,
+    gcvPIPE_2D
+}
+gcePIPE_SELECT;
+
+/* Hardware type. */
+typedef enum _gceHARDWARE_TYPE
+{
+    gcvHARDWARE_INVALID = 0x00,
+    gcvHARDWARE_3D      = 0x01,
+    gcvHARDWARE_2D      = 0x02,
+    gcvHARDWARE_VG      = 0x04,
+
+    gcvHARDWARE_3D2D    = gcvHARDWARE_3D | gcvHARDWARE_2D
+}
+gceHARDWARE_TYPE;
+
+#define gcdCHIP_COUNT               3
+
+typedef enum _gceMMU_MODE
+{
+    gcvMMU_MODE_1K,
+    gcvMMU_MODE_4K,
+} gceMMU_MODE;
+
+/* User signal command codes. */
+typedef enum _gceUSER_SIGNAL_COMMAND_CODES
+{
+    gcvUSER_SIGNAL_CREATE,
+    gcvUSER_SIGNAL_DESTROY,
+    gcvUSER_SIGNAL_SIGNAL,
+    gcvUSER_SIGNAL_WAIT,
+    gcvUSER_SIGNAL_MAP,
+    gcvUSER_SIGNAL_UNMAP,
+}
+gceUSER_SIGNAL_COMMAND_CODES;
+
+/* Sync point command codes. */
+typedef enum _gceSYNC_POINT_COMMAND_CODES
+{
+    gcvSYNC_POINT_CREATE,
+    gcvSYNC_POINT_DESTROY,
+    gcvSYNC_POINT_SIGNAL,
+}
+gceSYNC_POINT_COMMAND_CODES;
+
+/* Event locations. */
+typedef enum _gceKERNEL_WHERE
+{
+    gcvKERNEL_COMMAND,
+    gcvKERNEL_VERTEX,
+    gcvKERNEL_TRIANGLE,
+    gcvKERNEL_TEXTURE,
+    gcvKERNEL_PIXEL,
+}
+gceKERNEL_WHERE;
+
+#if gcdENABLE_VG
+/* Hardware blocks. */
+typedef enum _gceBLOCK
+{
+       gcvBLOCK_COMMAND,
+       gcvBLOCK_TESSELLATOR,
+       gcvBLOCK_TESSELLATOR2,
+       gcvBLOCK_TESSELLATOR3,
+       gcvBLOCK_RASTER,
+       gcvBLOCK_VG,
+       gcvBLOCK_VG2,
+       gcvBLOCK_VG3,
+       gcvBLOCK_PIXEL,
+
+       /* Number of defined blocks. */
+       gcvBLOCK_COUNT
+}
+gceBLOCK;
+#endif
+
+/* gcdDUMP message type. */
+typedef enum _gceDEBUG_MESSAGE_TYPE
+{
+    gcvMESSAGE_TEXT,
+    gcvMESSAGE_DUMP
+}
+gceDEBUG_MESSAGE_TYPE;
+
+typedef enum _gceSPECIAL_HINT
+{
+    gceSPECIAL_HINT0,
+    gceSPECIAL_HINT1,
+    gceSPECIAL_HINT2,
+    gceSPECIAL_HINT3,
+    /* For disable dynamic stream/index */
+    gceSPECIAL_HINT4
+}
+gceSPECIAL_HINT;
+
+typedef enum _gceMACHINECODE
+{
+    gcvMACHINECODE_HOVERJET0       = 0x0,
+    gcvMACHINECODE_HOVERJET1      ,
+
+    gcvMACHINECODE_TAIJI0         ,
+    gcvMACHINECODE_TAIJI1         ,
+    gcvMACHINECODE_TAIJI2         ,
+
+    gcvMACHINECODE_ANTUTU0        ,
+
+    gcvMACHINECODE_GLB27_RELEASE_0,
+    gcvMACHINECODE_GLB27_RELEASE_1,
+
+    gcvMACHINECODE_WAVESCAPE0     ,
+    gcvMACHINECODE_WAVESCAPE1     ,
+
+    gcvMACHINECODE_NENAMARKV2_4_0 ,
+    gcvMACHINECODE_NENAMARKV2_4_1 ,
+
+    gcvMACHINECODE_GLB25_RELEASE_0,
+    gcvMACHINECODE_GLB25_RELEASE_1,
+    gcvMACHINECODE_GLB25_RELEASE_2,
+}
+gceMACHINECODE;
+
+
+/******************************************************************************\
+****************************** Object Declarations *****************************
+\******************************************************************************/
+
+typedef struct _gckCONTEXT          * gckCONTEXT;
+typedef struct _gcoCMDBUF           * gcoCMDBUF;
+typedef struct _gcsSTATE_DELTA      * gcsSTATE_DELTA_PTR;
+typedef struct _gcsQUEUE            * gcsQUEUE_PTR;
+typedef struct _gcoQUEUE            * gcoQUEUE;
+typedef struct _gcsHAL_INTERFACE    * gcsHAL_INTERFACE_PTR;
+typedef struct _gcs2D_PROFILE       * gcs2D_PROFILE_PTR;
+
+#if gcdENABLE_VG
+typedef struct _gcoVGHARDWARE *                        gcoVGHARDWARE;
+typedef struct _gcoVGBUFFER *           gcoVGBUFFER;
+typedef struct _gckVGHARDWARE *         gckVGHARDWARE;
+typedef struct _gcsVGCONTEXT *                 gcsVGCONTEXT_PTR;
+typedef struct _gcsVGCONTEXT_MAP *             gcsVGCONTEXT_MAP_PTR;
+typedef struct _gcsVGCMDQUEUE *                        gcsVGCMDQUEUE_PTR;
+typedef struct _gcsTASK_MASTER_TABLE * gcsTASK_MASTER_TABLE_PTR;
+typedef struct _gckVGKERNEL *                  gckVGKERNEL;
+typedef void *                                         gctTHREAD;
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __gc_hal_enum_h_ */
diff --git a/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_kernel_buffer.h b/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_kernel_buffer.h
new file mode 100644 (file)
index 0000000..0608e43
--- /dev/null
@@ -0,0 +1,185 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#ifndef __gc_hal_kernel_buffer_h_
+#define __gc_hal_kernel_buffer_h_
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/******************************************************************************\
+************************ Command Buffer and Event Objects **********************
+\******************************************************************************/
+
+/* The number of context buffers per user. */
+#define gcdCONTEXT_BUFFER_COUNT 2
+
+/* State delta record. */
+typedef struct _gcsSTATE_DELTA_RECORD * gcsSTATE_DELTA_RECORD_PTR;
+typedef struct _gcsSTATE_DELTA_RECORD
+{
+    /* State address. */
+    gctUINT                     address;
+
+    /* State mask. */
+    gctUINT32                   mask;
+
+    /* State data. */
+    gctUINT32                   data;
+}
+gcsSTATE_DELTA_RECORD;
+
+/* State delta. */
+typedef struct _gcsSTATE_DELTA
+{
+    /* For debugging: the number of delta in the order of creation. */
+#if gcmIS_DEBUG(gcdDEBUG_CODE)
+    gctUINT                     num;
+#endif
+
+    /* Main state delta ID. Every time state delta structure gets reinitialized,
+       main ID is incremented. If main state ID overflows, all map entry IDs get
+       reinitialized to make sure there is no potential erroneous match after
+       the overflow.*/
+    gctUINT                     id;
+
+    /* The number of contexts pending modification by the delta. */
+    gctINT                      refCount;
+
+    /* Vertex element count for the delta buffer. */
+    gctUINT                     elementCount;
+
+    /* Number of states currently stored in the record array. */
+    gctUINT                     recordCount;
+
+    /* Record array; holds all modified states in gcsSTATE_DELTA_RECORD. */
+    gctUINT64                   recordArray;
+
+    /* Map entry ID is used for map entry validation. If map entry ID does not
+       match the main state delta ID, the entry and the corresponding state are
+       considered not in use. */
+    gctUINT64                   mapEntryID;
+    gctUINT                     mapEntryIDSize;
+
+    /* If the map entry ID matches the main state delta ID, index points to
+       the state record in the record array. */
+    gctUINT64                   mapEntryIndex;
+
+    /* Previous and next state deltas in gcsSTATE_DELTA. */
+    gctUINT64                   prev;
+    gctUINT64                   next;
+}
+gcsSTATE_DELTA;
+
+/* Command buffer object. */
+struct _gcoCMDBUF
+{
+    /* The object. */
+    gcsOBJECT                   object;
+
+    /* Command buffer entry and exit pipes. */
+    gcePIPE_SELECT              entryPipe;
+    gcePIPE_SELECT              exitPipe;
+
+    /* Feature usage flags. */
+    gctBOOL                     using2D;
+    gctBOOL                     using3D;
+    gctBOOL                     usingFilterBlit;
+    gctBOOL                     usingPalette;
+
+    /* Physical address of command buffer. Just a name. */
+    gctUINT32                   physical;
+
+    /* Logical address of command buffer. */
+    gctUINT64                   logical;
+
+    /* Number of bytes in command buffer. */
+    gctUINT                     bytes;
+
+    /* Start offset into the command buffer. */
+    gctUINT                     startOffset;
+
+    /* Current offset into the command buffer. */
+    gctUINT                     offset;
+
+    /* Number of free bytes in command buffer. */
+    gctUINT                     free;
+
+    /* Location of the last reserved area. */
+    gctUINT64                   lastReserve;
+    gctUINT                     lastOffset;
+
+#if gcdSECURE_USER
+    /* Hint array for the current command buffer. */
+    gctUINT                     hintArraySize;
+    gctUINT64                   hintArray;
+    gctUINT64                   hintArrayTail;
+#endif
+
+#if gcmIS_DEBUG(gcdDEBUG_CODE)
+    /* Last load state command location and hardware address. */
+    gctUINT64                   lastLoadStatePtr;
+    gctUINT32                   lastLoadStateAddress;
+    gctUINT32                   lastLoadStateCount;
+#endif
+};
+
+typedef struct _gcsQUEUE
+{
+    /* Pointer to next gcsQUEUE structure in gcsQUEUE. */
+    gctUINT64                   next;
+
+    /* Event information. */
+    gcsHAL_INTERFACE            iface;
+}
+gcsQUEUE;
+
+/* Event queue. */
+struct _gcoQUEUE
+{
+    /* The object. */
+    gcsOBJECT                   object;
+
+    /* Pointer to current event queue. */
+    gcsQUEUE_PTR                head;
+    gcsQUEUE_PTR                tail;
+
+#ifdef __QNXNTO__
+    /* Buffer for records. */
+    gcsQUEUE_PTR                records;
+    gctUINT32                   freeBytes;
+    gctUINT32                   offset;
+#else
+    /* List of free records. */
+    gcsQUEUE_PTR                freeList;
+#endif
+    #define gcdIN_QUEUE_RECORD_LIMIT 16
+    /* Number of records currently in queue */
+    gctUINT32                   recordCount;
+};
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __gc_hal_kernel_buffer_h_ */
diff --git a/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_mem.h b/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_mem.h
new file mode 100644 (file)
index 0000000..9e32878
--- /dev/null
@@ -0,0 +1,530 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+/*
+**     Include file for the local memory management.
+*/
+
+#ifndef __gc_hal_mem_h_
+#define __gc_hal_mem_h_
+#ifndef VIVANTE_NO_3D
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*******************************************************************************
+**  Usage:
+
+       The macros to declare MemPool type and functions are
+       gcmMEM_DeclareFSMemPool (Type, TypeName, Prefix)
+       gcmMEM_DeclareVSMemPool (Type, TypeName, Prefix)
+       gcmMEM_DeclareAFSMemPool(Type, TypeName, Prefix)
+
+       The data structures for MemPool are
+       typedef struct _gcsMEM_FS_MEM_POOL *    gcsMEM_FS_MEM_POOL;
+       typedef struct _gcsMEM_VS_MEM_POOL *    gcsMEM_VS_MEM_POOL;
+       typedef struct _gcsMEM_AFS_MEM_POOL *   gcsMEM_AFS_MEM_POOL;
+
+       The MemPool constructor and destructor functions are
+       gcfMEM_InitFSMemPool(gcsMEM_FS_MEM_POOL *, gcoOS, gctUINT, gctUINT);
+       gcfMEM_FreeFSMemPool(gcsMEM_FS_MEM_POOL *);
+       gcfMEM_InitVSMemPool(gcsMEM_VS_MEM_POOL *, gcoOS, gctUINT, gctBOOL);
+       gcfMEM_FreeVSMemPool(gcsMEM_VS_MEM_POOL *);
+       gcfMEM_InitAFSMemPool(gcsMEM_AFS_MEM_POOL *, gcoOS, gctUINT);
+       gcfMEM_FreeAFSMemPool(gcsMEM_AFS_MEM_POOL *);
+
+       FS:  for Fixed-Size data structures
+       VS:  for Variable-size data structures
+       AFS: for Array of Fixed-Size data structures
+
+
+       // Example 1: For a fixed-size data structure, struct gcsNode.
+       // It is used locally in a file, so the functions are static without prefix.
+       // At top level, declear allocate and free functions.
+       // The first argument is the data type.
+       // The second armument is the short name used in the fuctions.
+       gcmMEM_DeclareFSMemPool(struct gcsNode, Node, );
+
+       // The previous macro creates two inline functions,
+       // _AllocateNode and _FreeNode.
+
+       // In function or struct
+       gcsMEM_FS_MEM_POOL nodeMemPool;
+
+       // In function,
+       struct gcsNode * node;
+       gceSTATUS status;
+
+       // Before using the memory pool, initialize it.
+       // The second argument is the gcoOS object.
+       // The third argument is the number of data structures to allocate for each chunk.
+       status = gcfMEM_InitFSMemPool(&nodeMemPool, os, 100, sizeof(struct gcsNode));
+       ...
+
+       // Allocate a node.
+       status = _AllocateNode(nodeMemPool, &node);
+       ...
+       // Free a node.
+       _FreeNode(nodeMemPool, node);
+
+       // After using the memory pool, free it.
+       gcfMEM_FreeFSMemPool(&nodeMemPool);
+
+
+       // Example 2: For array of fixed-size data structures, struct gcsNode.
+       // It is used in several files, so the functions are extern with prefix.
+       // At top level, declear allocate and free functions.
+       // The first argument is the data type, and the second one is the short name
+       // used in the fuctions.
+       gcmMEM_DeclareAFSMemPool(struct gcsNode, NodeArray, gcfOpt);
+
+       // The previous macro creates two inline functions,
+       // gcfOpt_AllocateNodeArray and gcfOpt_FreeNodeArray.
+
+       // In function or struct
+       gcsMEM_AFS_MEM_POOL nodeArrayMemPool;
+
+       // In function,
+       struct gcsNode * nodeArray;
+       gceSTATUS status;
+
+       // Before using the array memory pool, initialize it.
+       // The second argument is the gcoOS object, the third is the number of data
+       // structures to allocate for each chunk.
+       status = gcfMEM_InitAFSMemPool(&nodeArrayMemPool, os, sizeof(struct gcsNode));
+       ...
+
+       // Allocate a node array of size 100.
+       status = gcfOpt_AllocateNodeArray(nodeArrayMemPool, &nodeArray, 100);
+       ...
+       // Free a node array.
+       gcfOpt_FreeNodeArray(&nodeArrayMemPool, nodeArray);
+
+       // After using the array memory pool, free it.
+       gcfMEM_FreeAFSMemPool(&nodeArrayMemPool);
+
+*******************************************************************************/
+
+/*******************************************************************************
+**     To switch back to use gcoOS_Allocate and gcoOS_Free, add
+**     #define USE_LOCAL_MEMORY_POOL 0
+**     before including this file.
+*******************************************************************************/
+#ifndef USE_LOCAL_MEMORY_POOL
+/*
+    USE_LOCAL_MEMORY_POOL
+
+    This define enables the local memory management to improve performance.
+*/
+#define USE_LOCAL_MEMORY_POOL          1
+#endif
+
+/*******************************************************************************
+**                                                     Memory Pool Data Structures
+*******************************************************************************/
+#if USE_LOCAL_MEMORY_POOL
+       typedef struct _gcsMEM_FS_MEM_POOL *    gcsMEM_FS_MEM_POOL;
+       typedef struct _gcsMEM_VS_MEM_POOL *    gcsMEM_VS_MEM_POOL;
+       typedef struct _gcsMEM_AFS_MEM_POOL *   gcsMEM_AFS_MEM_POOL;
+#else
+       typedef gcoOS   gcsMEM_FS_MEM_POOL;
+       typedef gcoOS   gcsMEM_VS_MEM_POOL;
+       typedef gcoOS   gcsMEM_AFS_MEM_POOL;
+#endif
+
+/*******************************************************************************
+**                                                     Memory Pool Macros
+*******************************************************************************/
+#if USE_LOCAL_MEMORY_POOL
+#define gcmMEM_DeclareFSMemPool(Type, TypeName, Prefix) \
+gceSTATUS \
+Prefix##_Allocate##TypeName( \
+       gcsMEM_FS_MEM_POOL              MemPool, \
+       Type **                                 Pointer \
+       ) \
+{ \
+       return(gcfMEM_FSMemPoolGetANode(MemPool, (gctPOINTER *) Pointer)); \
+} \
+ \
+gceSTATUS \
+Prefix##_CAllocate##TypeName( \
+       gcsMEM_FS_MEM_POOL              MemPool, \
+       Type **                                 Pointer \
+       ) \
+{ \
+       gceSTATUS                               status; \
+    gcmHEADER_ARG("MemPool=0x%x Pointer=0x%x", MemPool, Pointer); \
+       gcmERR_RETURN(gcfMEM_FSMemPoolGetANode(MemPool, (gctPOINTER *) Pointer)); \
+       gcoOS_ZeroMemory(*(gctPOINTER *) Pointer, gcmSIZEOF(Type)); \
+    gcmFOOTER(); \
+       return gcvSTATUS_OK; \
+} \
+ \
+gceSTATUS \
+Prefix##_Free##TypeName( \
+       gcsMEM_FS_MEM_POOL              MemPool, \
+       Type *                                  Pointer \
+       ) \
+{ \
+    gceSTATUS                          status; \
+    gcmHEADER_ARG("MemPool=0x%x Pointer=0x%x", MemPool, Pointer); \
+    status = gcfMEM_FSMemPoolFreeANode(MemPool, (gctPOINTER) Pointer); \
+    gcmFOOTER(); \
+       return status; \
+} \
+ \
+gceSTATUS \
+Prefix##_Free##TypeName##List( \
+       gcsMEM_FS_MEM_POOL              MemPool, \
+       Type *                                  FirstPointer, \
+       Type *                                  LastPointer \
+       ) \
+{ \
+    gceSTATUS               status; \
+    gcmHEADER_ARG("MemPool=0x%x FirstPointer=0x%x LastPointer=0x%x", MemPool, FirstPointer, LastPointer); \
+    status = gcfMEM_FSMemPoolFreeAList(MemPool, (gctPOINTER) FirstPointer, (gctPOINTER) LastPointer); \
+    gcmFOOTER(); \
+       return status; \
+}
+
+#define gcmMEM_DeclareVSMemPool(Type, TypeName, Prefix) \
+gceSTATUS \
+Prefix##_Allocate##TypeName( \
+       gcsMEM_FS_MEM_POOL              MemPool, \
+       Type **                                 Pointer, \
+       gctUINT                                 Size \
+       ) \
+{ \
+    gceSTATUS               status;\
+    gcmHEADER_ARG("MemPool=0x%x Pointer=0x%x Size=%u", MemPool, Pointer, Size); \
+    status = gcfMEM_VSMemPoolGetANode(MemPool, Size, (gctPOINTER *) Pointer); \
+    gcmFOOTER(); \
+       return status; \
+} \
+ \
+gceSTATUS \
+ Prefix##_CAllocate##TypeName( \
+       gcsMEM_FS_MEM_POOL              MemPool, \
+       Type **                                 Pointer, \
+       gctUINT                                 Size \
+       ) \
+{ \
+       gceSTATUS                               status; \
+    gcmHEADER_ARG("MemPool=0x%x Pointer=0x%x Size=%u", MemPool, Pointer, Size); \
+       gcmERR_RETURN(gcfMEM_VSMemPoolGetANode(MemPool, Size, (gctPOINTER *) Pointer)); \
+       gcoOS_ZeroMemory(*(gctPOINTER *) Pointer, size); \
+    gcmFOOTER(); \
+       return gcvSTATUS_OK; \
+} \
+ \
+gceSTATUS \
+Prefix##_Free##TypeName( \
+       gcsMEM_FS_MEM_POOL              MemPool, \
+       Type *                                  Pointer \
+       ) \
+{ \
+    gceSTATUS               status; \
+    gcmHEADER_ARG("MemPool=0x%x Pointer=0x%x", MemPool, Pinter); \
+    status = gcfMEM_VSMemPoolFreeANode(MemPool, (gctPOINTER) Pointer); \
+    gcmFOOTER(); \
+       return status; \
+}
+
+#define gcmMEM_DeclareAFSMemPool(Type, TypeName, Prefix) \
+gceSTATUS \
+Prefix##_Allocate##TypeName( \
+       gcsMEM_AFS_MEM_POOL             MemPool, \
+       Type **                                 Pointer, \
+       gctUINT                                 Count \
+       ) \
+{ \
+    gceSTATUS               status; \
+    gcmHEADER_ARG("MemPool=0x%x Pointer=0x%x Count=%u", MemPool, Pointer, Count); \
+    status = gcfMEM_AFSMemPoolGetANode(MemPool, Count, (gctPOINTER *) Pointer); \
+    gcmFOOTER(); \
+       return status; \
+} \
+ \
+gceSTATUS \
+Prefix##_CAllocate##TypeName( \
+       gcsMEM_AFS_MEM_POOL             MemPool, \
+       Type **                                 Pointer, \
+       gctUINT                                 Count \
+       ) \
+{ \
+       gceSTATUS                               status; \
+    gcmHEADER_ARG("MemPool=0x%x Pointer=0x%x Count=%u", MemPool, Pointer, Count); \
+       gcmERR_RETURN(gcfMEM_AFSMemPoolGetANode(MemPool, Count, (gctPOINTER *) Pointer)); \
+       gcoOS_ZeroMemory(*(gctPOINTER *) Pointer, Count * gcmSIZEOF(Type)); \
+    gcmFOOTER(); \
+       return gcvSTATUS_OK; \
+} \
+ \
+gceSTATUS \
+Prefix##_Free##TypeName( \
+       gcsMEM_AFS_MEM_POOL             MemPool, \
+       Type *                                  Pointer \
+       ) \
+{ \
+    gceSTATUS               status; \
+    gcmHEADER_ARG("MemPool=0x%x Pointer=0x%x", MemPool, Pointer); \
+    status = gcfMEM_AFSMemPoolFreeANode(MemPool, (gctPOINTER) Pointer); \
+    gcmFOOTER(); \
+       return status; \
+}
+
+#else
+
+#define gcmMEM_DeclareFSMemPool(Type, TypeName, Prefix) \
+gceSTATUS \
+Prefix##_Allocate##TypeName( \
+       gcsMEM_FS_MEM_POOL              MemPool, \
+       Type **                                 Pointer \
+       ) \
+{ \
+    gceSTATUS               status; \
+    gcmHEADER_ARG("MemPool=0x%x Pointer=0x%x", MemPool, Pointer); \
+    status = gcoOS_Allocate(MemPool, \
+                                                       gcmSIZEOF(Type), \
+                                                       (gctPOINTER *) Pointer); \
+    gcmFOOTER(); \
+       return status; \
+} \
+ \
+gceSTATUS \
+Prefix##_CAllocate##TypeName( \
+       gcsMEM_FS_MEM_POOL              MemPool, \
+       Type **                                 Pointer \
+       ) \
+{ \
+       gceSTATUS                               status; \
+    gcmHEADER_ARG("MemPool=0x%x Pointer=0x%x", MemPool, Pointer); \
+       gcmERR_RETURN(gcoOS_Allocate(MemPool, \
+                                                       gcmSIZEOF(Type), \
+                                                       (gctPOINTER *) Pointer)); \
+       gcoOS_ZeroMemory(*(gctPOINTER *) Pointer, gcmSIZEOF(Type)); \
+    gcmFOOTER(); \
+       return gcvSTATUS_OK; \
+} \
+ \
+gceSTATUS \
+Prefix##_Free##TypeName( \
+       gcsMEM_FS_MEM_POOL              MemPool, \
+       Type *                                  Pointer \
+       ) \
+{ \
+    gceSTATUS                          status; \
+    gcmHEADER_ARG("MemPool=0x%x Pointer=0x%x", MemPool, Pointer); \
+    status = gcmOS_SAFE_FREE(MemPool, Pointer); \
+    gcmFOOTER(); \
+       return status; \
+}
+
+#define gcmMEM_DeclareVSMemPool(Type, TypeName, Prefix) \
+gceSTATUS \
+Prefix##_Allocate##TypeName( \
+       gcsMEM_VS_MEM_POOL              MemPool, \
+       Type **                                 Pointer, \
+       gctUINT                                 Size \
+       ) \
+{ \
+    gceSTATUS                          status; \
+    gcmHEADER_ARG("MemPool=0x%x Pointer=0x%x Size=%u", MemPool, Pointer, Size); \
+    status = gcoOS_Allocate(MemPool, \
+                                                       Size, \
+                                                       (gctPOINTER *) Pointer); \
+    gcmFOOTER(); \
+       return status; \
+} \
+ \
+gceSTATUS \
+Prefix##_CAllocate##TypeName( \
+       gcsMEM_VS_MEM_POOL              MemPool, \
+       Type **                                 Pointer, \
+       gctUINT                                 Size \
+       ) \
+{ \
+       gceSTATUS                               status; \
+    gcmHEADER_ARG("MemPool=0x%x Pointer=0x%x Size=%u", MemPool, Pointer, Size); \
+       gcmERR_RETURN(gcoOS_Allocate(MemPool, \
+                                                       Size, \
+                                                       (gctPOINTER *) Pointer)); \
+       gcoOS_ZeroMemory(*(gctPOINTER *) Pointer, Size); \
+    gcmFOOTER(); \
+       return gcvSTATUS_OK; \
+} \
+ \
+gceSTATUS \
+Prefix##_Free##TypeName( \
+       gcsMEM_VS_MEM_POOL              MemPool, \
+       Type *                                  Pointer \
+       ) \
+{ \
+    gceSTATUS                          status; \
+    gcmHEADER_ARG("MemPool=0x%x Pointer=0x%x", MemPool, Pointer); \
+    status = gcmOS_SAFE_FREE(MemPool, Pointer); \
+    gcmFOOTER(); \
+       return status; \
+}
+
+#define gcmMEM_DeclareAFSMemPool(Type, TypeName, Prefix) \
+gceSTATUS \
+Prefix##_Allocate##TypeName( \
+       gcsMEM_AFS_MEM_POOL             MemPool, \
+       Type **                                 Pointer, \
+       gctUINT                                 Count \
+       ) \
+{ \
+    gceSTATUS                          status; \
+    gcmHEADER_ARG("MemPool=0x%x Pointer=0x%x Count=%u", MemPool, Pointer, Count); \
+    status = gcoOS_Allocate(MemPool, \
+                                                       Count * gcmSIZEOF(Type), \
+                                                       (gctPOINTER *) Pointer); \
+    gcmFOOTER(); \
+       return status; \
+} \
+ \
+gceSTATUS \
+Prefix##_CAllocate##TypeName( \
+       gcsMEM_AFS_MEM_POOL             MemPool, \
+       Type **                                 Pointer, \
+       gctUINT                                 Count \
+       ) \
+{ \
+       gceSTATUS                               status; \
+    gcmHEADER_ARG("MemPool=0x%x Pointer=0x%x Count=%u", MemPool, Pointer, Count); \
+       gcmERR_RETURN(gcoOS_Allocate(MemPool, \
+                                                       Count * gcmSIZEOF(Type), \
+                                                       (gctPOINTER *) Pointer)); \
+       gcoOS_ZeroMemory(*(gctPOINTER *) Pointer, Count * gcmSIZEOF(Type)); \
+    gcmFOOTER(); \
+       return gcvSTATUS_OK; \
+} \
+ \
+gceSTATUS \
+Prefix##_Free##TypeName( \
+       gcsMEM_AFS_MEM_POOL             MemPool, \
+       Type *                                  Pointer \
+       ) \
+{ \
+    gceSTATUS                          status; \
+    gcmHEADER_ARG("MemPool=0x%x Pointer=0x%x", MemPool, Pointer); \
+    status = gcmOS_SAFE_FREE(MemPool, Pointer); \
+    gcmFOOTER(); \
+       return status; \
+}
+#endif
+
+/*******************************************************************************
+**                                                     Memory Pool Data Functions
+*******************************************************************************/
+gceSTATUS
+gcfMEM_InitFSMemPool(
+       IN gcsMEM_FS_MEM_POOL * MemPool,
+       IN gcoOS                                OS,
+       IN gctUINT                              NodeCount,
+       IN gctUINT                              NodeSize
+       );
+
+gceSTATUS
+gcfMEM_FreeFSMemPool(
+       IN gcsMEM_FS_MEM_POOL * MemPool
+       );
+
+gceSTATUS
+gcfMEM_FSMemPoolGetANode(
+       IN gcsMEM_FS_MEM_POOL   MemPool,
+       OUT gctPOINTER *                Node
+       );
+
+gceSTATUS
+gcfMEM_FSMemPoolFreeANode(
+       IN gcsMEM_FS_MEM_POOL   MemPool,
+       IN gctPOINTER                   Node
+       );
+
+gceSTATUS
+gcfMEM_FSMemPoolFreeAList(
+       IN gcsMEM_FS_MEM_POOL   MemPool,
+       IN gctPOINTER                   FirstNode,
+       IN gctPOINTER                   LastNode
+       );
+
+gceSTATUS
+gcfMEM_InitVSMemPool(
+       IN gcsMEM_VS_MEM_POOL * MemPool,
+       IN gcoOS                                OS,
+       IN gctUINT                              BlockSize,
+       IN gctBOOL                              RecycleFreeNode
+       );
+
+gceSTATUS
+gcfMEM_FreeVSMemPool(
+       IN gcsMEM_VS_MEM_POOL * MemPool
+       );
+
+gceSTATUS
+gcfMEM_VSMemPoolGetANode(
+       IN gcsMEM_VS_MEM_POOL   MemPool,
+       IN gctUINT                              Size,
+       IN gctUINT                              Alignment,
+       OUT gctPOINTER *                Node
+       );
+
+gceSTATUS
+gcfMEM_VSMemPoolFreeANode(
+       IN gcsMEM_VS_MEM_POOL   MemPool,
+       IN gctPOINTER                   Node
+       );
+
+gceSTATUS
+gcfMEM_InitAFSMemPool(
+       IN gcsMEM_AFS_MEM_POOL *MemPool,
+       IN gcoOS                                OS,
+       IN gctUINT                              NodeCount,
+       IN gctUINT                              NodeSize
+       );
+
+gceSTATUS
+gcfMEM_FreeAFSMemPool(
+       IN gcsMEM_AFS_MEM_POOL *MemPool
+       );
+
+gceSTATUS
+gcfMEM_AFSMemPoolGetANode(
+       IN gcsMEM_AFS_MEM_POOL  MemPool,
+       IN gctUINT                              Count,
+       OUT gctPOINTER *                Node
+       );
+
+gceSTATUS
+gcfMEM_AFSMemPoolFreeANode(
+       IN gcsMEM_AFS_MEM_POOL  MemPool,
+       IN gctPOINTER                   Node
+       );
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* VIVANTE_NO_3D */
+#endif /* __gc_hal_mem_h_ */
diff --git a/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_options.h b/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_options.h
new file mode 100644 (file)
index 0000000..420437f
--- /dev/null
@@ -0,0 +1,947 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#ifndef __gc_hal_options_h_
+#define __gc_hal_options_h_
+
+/*
+    gcdPRINT_VERSION
+
+        Print HAL version.
+*/
+#ifndef gcdPRINT_VERSION
+#   define gcdPRINT_VERSION                     0
+#endif
+
+/*
+    USE_NEW_LINUX_SIGNAL
+
+        This define enables the Linux kernel signaling between kernel and user.
+*/
+#ifndef USE_NEW_LINUX_SIGNAL
+#   define USE_NEW_LINUX_SIGNAL                 0
+#endif
+
+/*
+    VIVANTE_PROFILER
+
+        This define enables the profiler.
+*/
+#ifndef VIVANTE_PROFILER
+#   define VIVANTE_PROFILER                     1
+#endif
+
+#ifndef VIVANTE_PROFILER_PERDRAW
+#   define  VIVANTE_PROFILER_PERDRAW    0
+#endif
+
+/*
+    VIVANTE_PROFILER_CONTEXT
+
+        This define enables the profiler according to each hw context.
+*/
+#ifndef VIVANTE_PROFILER_CONTEXT
+#   define VIVANTE_PROFILER_CONTEXT             1
+#endif
+
+/*
+    gcdUSE_VG
+
+        Enable VG HAL layer (only for GC350).
+*/
+#ifndef gcdUSE_VG
+#   define gcdUSE_VG                            0
+#endif
+
+/*
+    USE_SW_FB
+
+        Set to 1 if the frame buffer memory cannot be accessed by the GPU.
+*/
+#ifndef USE_SW_FB
+#   define USE_SW_FB                            0
+#endif
+
+/*
+    USE_SUPER_SAMPLING
+
+        This define enables super-sampling support.
+*/
+#define USE_SUPER_SAMPLING                      0
+
+/*
+    PROFILE_HAL_COUNTERS
+
+        This define enables HAL counter profiling support.  HW and SHADER
+        counter profiling depends on this.
+*/
+#ifndef PROFILE_HAL_COUNTERS
+#   define PROFILE_HAL_COUNTERS                 1
+#endif
+
+/*
+    PROFILE_HW_COUNTERS
+
+        This define enables HW counter profiling support.
+*/
+#ifndef PROFILE_HW_COUNTERS
+#   define PROFILE_HW_COUNTERS                  1
+#endif
+
+/*
+    PROFILE_SHADER_COUNTERS
+
+        This define enables SHADER counter profiling support.
+*/
+#ifndef PROFILE_SHADER_COUNTERS
+#   define PROFILE_SHADER_COUNTERS              1
+#endif
+
+/*
+    COMMAND_PROCESSOR_VERSION
+
+        The version of the command buffer and task manager.
+*/
+#define COMMAND_PROCESSOR_VERSION               1
+
+/*
+    gcdDUMP_KEY
+
+        Set this to a string that appears in 'cat /proc/<pid>/cmdline'. E.g. 'camera'.
+        HAL will create dumps for the processes matching this key.
+*/
+#ifndef gcdDUMP_KEY
+#   define gcdDUMP_KEY                          "process"
+#endif
+
+/*
+    gcdDUMP_PATH
+
+        The dump file location. Some processes cannot write to the sdcard.
+        Try apps' data dir, e.g. /data/data/com.android.launcher
+*/
+#ifndef gcdDUMP_PATH
+#if defined(ANDROID)
+#   define gcdDUMP_PATH                         "/mnt/sdcard/"
+#else
+#   define gcdDUMP_PATH                         "./"
+#endif
+#endif
+
+/*
+    gcdDUMP
+
+        When set to 1, a dump of all states and memory uploads, as well as other
+        hardware related execution will be printed to the debug console.  This
+        data can be used for playing back applications.
+*/
+#ifndef gcdDUMP
+#   define gcdDUMP                              0
+#endif
+
+/*
+    gcdDUMP_API
+
+        When set to 1, a high level dump of the EGL and GL/VG APs's are
+        captured.
+*/
+#ifndef gcdDUMP_API
+#   define gcdDUMP_API                          0
+#endif
+
+/*
+    gcdDUMP_FRAMERATE
+        When set to a value other than zero, averaqe frame rate will be dumped.
+        The value set is the starting frame that the average will be calculated.
+        This is needed because sometimes first few frames are too slow to be included
+        in the average. Frame count starts from 1.
+*/
+#ifndef gcdDUMP_FRAMERATE
+#   define gcdDUMP_FRAMERATE                                   0
+#endif
+
+/*
+    gcdVIRTUAL_COMMAND_BUFFER
+        When set to 1, user command buffer and context buffer will be allocated
+        from gcvPOOL_VIRTUAL.
+*/
+#ifndef gcdVIRTUAL_COMMAND_BUFFER
+#   define gcdVIRTUAL_COMMAND_BUFFER            0
+#endif
+
+/*
+    gcdENABLE_FSCALE_VAL_ADJUST
+        When non-zero, FSCALE_VAL when gcvPOWER_ON can be adjusted externally.
+ */
+#ifndef gcdENABLE_FSCALE_VAL_ADJUST
+#   define gcdENABLE_FSCALE_VAL_ADJUST          1
+#endif
+
+/*
+    gcdDUMP_IN_KERNEL
+
+        When set to 1, all dumps will happen in the kernel.  This is handy if
+        you want the kernel to dump its command buffers as well and the data
+        needs to be in sync.
+*/
+#ifndef gcdDUMP_IN_KERNEL
+#   define gcdDUMP_IN_KERNEL                    0
+#endif
+
+/*
+    gcdDUMP_COMMAND
+
+        When set to non-zero, the command queue will dump all incoming command
+        and context buffers as well as all other modifications to the command
+        queue.
+*/
+#ifndef gcdDUMP_COMMAND
+#   define gcdDUMP_COMMAND                      0
+#endif
+
+/*
+    gcdDUMP_FRAME_TGA
+
+    When set to a value other than 0, a dump of the frame specified by the value,
+    will be done into frame.tga. Frame count starts from 1.
+ */
+#ifndef gcdDUMP_FRAME_TGA
+#define gcdDUMP_FRAME_TGA                       0
+#endif
+/*
+    gcdNULL_DRIVER
+
+    Set to 1 for infinite speed hardware.
+    Set to 2 for bypassing the HAL.
+    Set to 3 for bypassing the drivers.
+*/
+#ifndef gcdNULL_DRIVER
+#   define gcdNULL_DRIVER                       0
+#endif
+
+/*
+    gcdENABLE_TIMEOUT_DETECTION
+
+        Enable timeout detection.
+*/
+#ifndef gcdENABLE_TIMEOUT_DETECTION
+#   define gcdENABLE_TIMEOUT_DETECTION          0
+#endif
+
+/*
+    gcdCMD_BUFFER_SIZE
+
+        Number of bytes in a command buffer.
+*/
+#ifndef gcdCMD_BUFFER_SIZE
+#   define gcdCMD_BUFFER_SIZE                   (128 << 10)
+#endif
+
+/*
+    gcdCMD_BUFFERS
+
+        Number of command buffers to use per client.
+*/
+#ifndef gcdCMD_BUFFERS
+#   define gcdCMD_BUFFERS                       2
+#endif
+
+/*
+    gcdMAX_CMD_BUFFERS
+
+        Maximum number of command buffers to use per client.
+*/
+#ifndef gcdMAX_CMD_BUFFERS
+#   define gcdMAX_CMD_BUFFERS                   8
+#endif
+
+/*
+    gcdCOMMAND_QUEUES
+
+        Number of command queues in the kernel.
+*/
+#ifndef gcdCOMMAND_QUEUES
+#   define gcdCOMMAND_QUEUES                    2
+#endif
+
+/*
+    gcdPOWER_CONTROL_DELAY
+
+        The delay in milliseconds required to wait until the GPU has woke up
+        from a suspend or power-down state.  This is system dependent because
+        the bus clock also needs to stabalize.
+*/
+#ifndef gcdPOWER_CONTROL_DELAY
+#   define gcdPOWER_CONTROL_DELAY               0
+#endif
+
+/*
+    gcdMIRROR_PAGETABLE
+
+        Enable it when GPUs with old MMU and new MMU exist at same SoC. It makes
+        each GPU use same virtual address to access same physical memory.
+*/
+#ifndef gcdMIRROR_PAGETABLE
+#   define gcdMIRROR_PAGETABLE                  0
+#endif
+
+/*
+    gcdMMU_SIZE
+
+        Size of the MMU page table in bytes.  Each 4 bytes can hold 4kB worth of
+        virtual data.
+*/
+#ifndef gcdMMU_SIZE
+#if gcdMIRROR_PAGETABLE
+#   define gcdMMU_SIZE                          0x200000
+#else
+#   define gcdMMU_SIZE                          (2048 << 10)
+#endif
+#endif
+
+/*
+    gcdSECURE_USER
+
+        Use logical addresses instead of physical addresses in user land.  In
+        this case a hint table is created for both command buffers and context
+        buffers, and that hint table will be used to patch up those buffers in
+        the kernel when they are ready to submit.
+*/
+#ifndef gcdSECURE_USER
+#   define gcdSECURE_USER                       0
+#endif
+
+/*
+    gcdSECURE_CACHE_SLOTS
+
+        Number of slots in the logical to DMA address cache table.  Each time a
+        logical address needs to be translated into a DMA address for the GPU,
+        this cache will be walked.  The replacement scheme is LRU.
+*/
+#ifndef gcdSECURE_CACHE_SLOTS
+#   define gcdSECURE_CACHE_SLOTS                1024
+#endif
+
+/*
+    gcdSECURE_CACHE_METHOD
+
+        Replacement scheme used for Secure Cache.  The following options are
+        available:
+
+            gcdSECURE_CACHE_LRU
+                A standard LRU cache.
+
+            gcdSECURE_CACHE_LINEAR
+                A linear walker with the idea that an application will always
+                render the scene in a similar way, so the next entry in the
+                cache should be a hit most of the time.
+
+            gcdSECURE_CACHE_HASH
+                A 256-entry hash table.
+
+            gcdSECURE_CACHE_TABLE
+                A simple cache but with potential of a lot of cache replacement.
+*/
+#ifndef gcdSECURE_CACHE_METHOD
+#   define gcdSECURE_CACHE_METHOD               gcdSECURE_CACHE_HASH
+#endif
+
+/*
+    gcdREGISTER_ACCESS_FROM_USER
+
+        Set to 1 to allow IOCTL calls to get through from user land.  This
+        should only be in debug or development drops.
+*/
+#ifndef gcdREGISTER_ACCESS_FROM_USER
+#   define gcdREGISTER_ACCESS_FROM_USER         1
+#endif
+
+/*
+    gcdUSER_HEAP_ALLOCATOR
+
+        Set to 1 to enable user mode heap allocator for fast memory allocation
+        and destroying. Otherwise, memory allocation/destroying in user mode
+        will be directly managed by system. Only for linux for now.
+*/
+#ifndef gcdUSER_HEAP_ALLOCATOR
+#   define gcdUSER_HEAP_ALLOCATOR               1
+#endif
+
+/*
+    gcdHEAP_SIZE
+
+        Set the allocation size for the internal heaps.  Each time a heap is
+        full, a new heap will be allocated with this minmimum amount of bytes.
+        The bigger this size, the fewer heaps there are to allocate, the better
+        the performance.  However, heaps won't be freed until they are
+        completely free, so there might be some more memory waste if the size is
+        too big.
+*/
+#ifndef gcdHEAP_SIZE
+#   define gcdHEAP_SIZE                         (64 << 10)
+#endif
+
+/*
+    gcdPOWER_SUSNPEND_WHEN_IDLE
+
+        Set to 1 to make GPU enter gcvPOWER_SUSPEND when idle detected,
+        otherwise GPU will enter gcvPOWER_IDLE.
+*/
+#ifndef gcdPOWER_SUSNPEND_WHEN_IDLE
+#   define gcdPOWER_SUSNPEND_WHEN_IDLE          1
+#endif
+
+/*
+    gcdFPGA_BUILD
+
+        This define enables work arounds for FPGA images.
+*/
+#ifndef gcdFPGA_BUILD
+#   define gcdFPGA_BUILD                        0
+#endif
+
+/*
+    gcdGPU_TIMEOUT
+
+        This define specified the number of milliseconds the system will wait
+        before it broadcasts the GPU is stuck.  In other words, it will define
+        the timeout of any operation that needs to wait for the GPU.
+
+        If the value is 0, no timeout will be checked for.
+*/
+#ifndef gcdGPU_TIMEOUT
+#if gcdFPGA_BUILD
+#       define gcdGPU_TIMEOUT                   0
+#   else
+#       define gcdGPU_TIMEOUT                   20000
+#   endif
+#endif
+
+/*
+    gcdGPU_ADVANCETIMER
+
+        it is advance timer.
+*/
+#ifndef gcdGPU_ADVANCETIMER
+#   define gcdGPU_ADVANCETIMER                  250
+#endif
+
+/*
+    gcdSTATIC_LINK
+
+        This define disalbes static linking;
+*/
+#ifndef gcdSTATIC_LINK
+#   define gcdSTATIC_LINK                       0
+#endif
+
+/*
+    gcdUSE_NEW_HEAP
+
+        Setting this define to 1 enables new heap.
+*/
+#ifndef gcdUSE_NEW_HEAP
+#   define gcdUSE_NEW_HEAP                      0
+#endif
+
+/*
+    gcdCMD_NO_2D_CONTEXT
+
+        This define enables no-context 2D command buffer.
+*/
+#ifndef gcdCMD_NO_2D_CONTEXT
+#   define gcdCMD_NO_2D_CONTEXT                 1
+#endif
+
+/*
+    gcdENABLE_BANK_ALIGNMENT
+
+    When enabled, video memory is allocated bank aligned. The vendor can modify
+    _GetSurfaceBankAlignment() and gcoSURF_GetBankOffsetBytes() to define how
+    different types of allocations are bank and channel aligned.
+    When disabled (default), no bank alignment is done.
+*/
+#ifndef gcdENABLE_BANK_ALIGNMENT
+#   define gcdENABLE_BANK_ALIGNMENT             0
+#endif
+
+/*
+    gcdBANK_BIT_START
+
+    Specifies the start bit of the bank (inclusive).
+*/
+#ifndef gcdBANK_BIT_START
+#   define gcdBANK_BIT_START                    12
+#endif
+
+/*
+    gcdBANK_BIT_END
+
+    Specifies the end bit of the bank (inclusive).
+*/
+#ifndef gcdBANK_BIT_END
+#   define gcdBANK_BIT_END                      14
+#endif
+
+/*
+    gcdBANK_CHANNEL_BIT
+
+    When set, video memory when allocated bank aligned is allocated such that
+    render and depth buffer addresses alternate on the channel bit specified.
+    This option has an effect only when gcdENABLE_BANK_ALIGNMENT is enabled.
+    When disabled (default), no alteration is done.
+*/
+#ifndef gcdBANK_CHANNEL_BIT
+#   define gcdBANK_CHANNEL_BIT                  7
+#endif
+
+/*
+    gcdDYNAMIC_SPEED
+
+        When non-zero, it informs the kernel driver to use the speed throttling
+        broadcasting functions to inform the system the GPU should be spet up or
+        slowed down. It will send a broadcast for slowdown each "interval"
+        specified by this define in milliseconds
+        (gckOS_BroadcastCalibrateSpeed).
+*/
+#ifndef gcdDYNAMIC_SPEED
+#    define gcdDYNAMIC_SPEED                    2000
+#endif
+
+/*
+    gcdDYNAMIC_EVENT_THRESHOLD
+
+        When non-zero, it specifies the maximum number of available events at
+        which the kernel driver will issue a broadcast to speed up the GPU
+        (gckOS_BroadcastHurry).
+*/
+#ifndef gcdDYNAMIC_EVENT_THRESHOLD
+#    define gcdDYNAMIC_EVENT_THRESHOLD          5
+#endif
+
+/*
+    gcdENABLE_PROFILING
+
+        Enable profiling macros.
+*/
+#ifndef gcdENABLE_PROFILING
+#   define gcdENABLE_PROFILING                  0
+#endif
+
+/*
+    gcdENABLE_128B_MERGE
+
+        Enable 128B merge for the BUS control.
+*/
+#ifndef gcdENABLE_128B_MERGE
+#   define gcdENABLE_128B_MERGE                 0
+#endif
+
+/*
+    gcdFRAME_DB
+
+        When non-zero, it specified the number of frames inside the frame
+        database. The frame DB will collect per-frame timestamps and hardware
+        counters.
+*/
+#ifndef gcdFRAME_DB
+#   define gcdFRAME_DB                          0
+#   define gcdFRAME_DB_RESET                    0
+#   define gcdFRAME_DB_NAME                     "/var/log/frameDB.log"
+#endif
+
+/*
+    gcdENABLE_VG
+            enable the 2D openVG
+*/
+
+#ifndef gcdENABLE_VG
+#   define gcdENABLE_VG                         0
+#endif
+
+/*
+    gcdDYNAMIC_MAP_RESERVED_MEMORY
+
+        When gcvPOOL_SYSTEM is constructed from RESERVED memory,
+        driver can map the whole reserved memory to kernel space
+        at the beginning, or just map a piece of memory when need
+        to access.
+
+        Notice:
+        -  It's only for the 2D openVG. For other cores, there is
+           _NO_ need to map reserved memory to kernel.
+        -  It's meaningless when memory is allocated by
+           gckOS_AllocateContiguous, in that case, memory is always
+           mapped by system when allocated.
+*/
+#ifndef gcdDYNAMIC_MAP_RESERVED_MEMORY
+#   define gcdDYNAMIC_MAP_RESERVED_MEMORY      1
+#endif
+
+/*
+   gcdPAGED_MEMORY_CACHEABLE
+
+        When non-zero, paged memory will be cacheable.
+
+        Normally, driver will detemines whether a video memory
+        is cacheable or not. When cacheable is not neccessary,
+        it will be writecombine.
+
+        This option is only for those SOC which can't enable
+        writecombine without enabling cacheable.
+*/
+
+#ifndef gcdPAGED_MEMORY_CACHEABLE
+#   define gcdPAGED_MEMORY_CACHEABLE            0
+#endif
+
+/*
+   gcdNONPAGED_MEMORY_CACHEABLE
+
+        When non-zero, non paged memory will be cacheable.
+*/
+
+#ifndef gcdNONPAGED_MEMORY_CACHEABLE
+#   define gcdNONPAGED_MEMORY_CACHEABLE         0
+#endif
+
+/*
+   gcdNONPAGED_MEMORY_BUFFERABLE
+
+        When non-zero, non paged memory will be bufferable.
+        gcdNONPAGED_MEMORY_BUFFERABLE and gcdNONPAGED_MEMORY_CACHEABLE
+        can't be set 1 at same time
+*/
+
+#ifndef gcdNONPAGED_MEMORY_BUFFERABLE
+#   define gcdNONPAGED_MEMORY_BUFFERABLE        1
+#endif
+
+/*
+    gcdENABLE_INFINITE_SPEED_HW
+            enable the Infinte HW , this is for 2D openVG
+*/
+
+#ifndef gcdENABLE_INFINITE_SPEED_HW
+#   define gcdENABLE_INFINITE_SPEED_HW          0
+#endif
+
+/*
+    gcdENABLE_TS_DOUBLE_BUFFER
+            enable the TS double buffer, this is for 2D openVG
+*/
+
+#ifndef gcdENABLE_TS_DOUBLE_BUFFER
+#   define gcdENABLE_TS_DOUBLE_BUFFER           1
+#endif
+
+/*
+    gcd6000_SUPPORT
+
+    Temporary define to enable/disable 6000 support.
+ */
+#ifndef gcd6000_SUPPORT
+#   define gcd6000_SUPPORT                      0
+#endif
+
+/*
+    gcdPOWEROFF_TIMEOUT
+
+        When non-zero, GPU will power off automatically from
+        idle state, and gcdPOWEROFF_TIMEOUT is also the default
+        timeout in milliseconds.
+ */
+
+#ifndef gcdPOWEROFF_TIMEOUT
+#   define gcdPOWEROFF_TIMEOUT                  300
+#endif
+
+/*
+    gcdUSE_VIDMEM_PER_PID
+*/
+#ifndef gcdUSE_VIDMEM_PER_PID
+#   define gcdUSE_VIDMEM_PER_PID                0
+#endif
+
+/*
+    QNX_SINGLE_THREADED_DEBUGGING
+*/
+#ifndef QNX_SINGLE_THREADED_DEBUGGING
+#   define QNX_SINGLE_THREADED_DEBUGGING        0
+#endif
+
+/*
+    gcdENABLE_RECOVERY
+
+        This define enables the recovery code.
+*/
+#ifndef gcdENABLE_RECOVERY
+#   define gcdENABLE_RECOVERY                   1
+#endif
+
+/*
+    gcdRENDER_THREADS
+
+        Number of render threads. Make it zero, and there will be no render
+        threads.
+*/
+#ifndef gcdRENDER_THREADS
+#   define gcdRENDER_THREADS                    0
+#endif
+
+/*
+    gcdSMP
+
+        This define enables SMP support.
+
+        Currently, it only works on Linux/Android,
+        Kbuild will config it according to whether
+        CONFIG_SMP is set.
+
+*/
+#ifndef gcdSMP
+#   define gcdSMP                               0
+#endif
+
+/*
+    gcdSUPPORT_SWAP_RECTANGLE
+
+        Support swap with a specific rectangle.
+
+        Set the rectangle with eglSetSwapRectangleANDROID api.
+*/
+#ifndef gcdSUPPORT_SWAP_RECTANGLE
+#   define gcdSUPPORT_SWAP_RECTANGLE            0
+#endif
+
+/*
+    gcdGPU_LINEAR_BUFFER_ENABLED
+
+        Use linear buffer for GPU apps so HWC can do 2D composition.
+*/
+#ifndef gcdGPU_LINEAR_BUFFER_ENABLED
+#   define gcdGPU_LINEAR_BUFFER_ENABLED         1
+#endif
+
+/*
+    gcdENABLE_RENDER_INTO_WINDOW
+
+        Enable Render-Into-Window (ie, No-Resolve) feature on android.
+        NOTE that even if enabled, it still depends on hardware feature and
+        android application behavior. When hardware feature or application
+        behavior can not support render into window mode, it will fail back
+        to normal mode.
+        When Render-Into-Window is finally used, window back buffer of android
+        applications will be allocated matching render target tiling format.
+        Otherwise buffer tiling is decided by the above option
+        'gcdGPU_LINEAR_BUFFER_ENABLED'.
+*/
+#ifndef gcdENABLE_RENDER_INTO_WINDOW
+#   define gcdENABLE_RENDER_INTO_WINDOW         1
+#endif
+
+/*
+    gcdSHARED_RESOLVE_BUFFER_ENABLED
+
+        Use shared resolve buffer for all app buffers.
+*/
+#ifndef gcdSHARED_RESOLVE_BUFFER_ENABLED
+#   define gcdSHARED_RESOLVE_BUFFER_ENABLED         0
+#endif
+
+/*
+     gcdUSE_TRIANGLE_STRIP_PATCH
+ */
+#ifndef gcdUSE_TRIANGLE_STRIP_PATCH
+#   define gcdUSE_TRIANGLE_STRIP_PATCH            1
+#endif
+
+/*
+    gcdENABLE_OUTER_CACHE_PATCH
+
+        Enable the outer cache patch.
+*/
+#ifndef gcdENABLE_OUTER_CACHE_PATCH
+#   define gcdENABLE_OUTER_CACHE_PATCH          0
+#endif
+
+#ifndef gcdANDROID_UNALIGNED_LINEAR_COMPOSITION_ADJUST
+#   ifdef ANDROID
+#      define  gcdANDROID_UNALIGNED_LINEAR_COMPOSITION_ADJUST    1
+#   else
+#      define  gcdANDROID_UNALIGNED_LINEAR_COMPOSITION_ADJUST    0
+#   endif
+#endif
+
+#ifndef gcdENABLE_PE_DITHER_FIX
+#   define gcdENABLE_PE_DITHER_FIX              1
+#endif
+
+#ifndef gcdSHARED_PAGETABLE
+#   define gcdSHARED_PAGETABLE                  1
+#endif
+#ifndef gcdUSE_PVR
+#   define gcdUSE_PVR                                  1
+#endif
+
+/*
+    gcdSMALL_BLOCK_SIZE
+
+        When non-zero, a part of VIDMEM will be reserved for requests
+        whose requesting size is less than gcdSMALL_BLOCK_SIZE.
+
+        For Linux, it's the size of a page. If this requeset fallbacks
+        to gcvPOOL_CONTIGUOUS or gcvPOOL_VIRTUAL, memory will be wasted
+        because they allocate a page at least.
+ */
+#ifndef gcdSMALL_BLOCK_SIZE
+#   define gcdSMALL_BLOCK_SIZE                  4096
+#   define gcdRATIO_FOR_SMALL_MEMORY            32
+#endif
+
+/*
+    gcdCONTIGUOUS_SIZE_LIMIT
+        When non-zero, size of video node from gcvPOOL_CONTIGUOUS is
+        limited by gcdCONTIGUOUS_SIZE_LIMIT.
+ */
+#ifndef gcdCONTIGUOUS_SIZE_LIMIT
+#   define gcdCONTIGUOUS_SIZE_LIMIT             0
+#endif
+
+#ifndef gcdDISALBE_EARLY_EARLY_Z
+#   define gcdDISALBE_EARLY_EARLY_Z             1
+#endif
+
+#ifndef gcdSHADER_SRC_BY_MACHINECODE
+#   define gcdSHADER_SRC_BY_MACHINECODE         1
+#endif
+
+/*
+    gcdLINK_QUEUE_SIZE
+
+        When non-zero, driver maintains a queue to record information of
+        latest lined context buffer and command buffer. Data in this queue
+        is be used to debug.
+*/
+#ifndef gcdLINK_QUEUE_SIZE
+#   define gcdLINK_QUEUE_SIZE                  0
+#endif
+
+/*  gcdALPHA_KILL_IN_SHADER
+ *
+ *  Enable alpha kill inside the shader. This will be set automatically by the
+ *  HAL if certain states match a criteria.
+ */
+#ifndef gcdALPHA_KILL_IN_SHADER
+#   define gcdALPHA_KILL_IN_SHADER              1
+#endif
+
+/*  gcdHIGH_PRECISION_DELAY_ENABLE
+ *
+ *  Enable high precision schedule delay with 1ms unit. otherwise schedule delay up to 10ms.
+ *  Browser app performance will have obvious drop without this enablement
+ */
+#ifndef gcdHIGH_PRECISION_DELAY_ENABLE
+#   define gcdHIGH_PRECISION_DELAY_ENABLE        1
+#endif
+
+#ifndef gcdUSE_WCLIP_PATCH
+#   define gcdUSE_WCLIP_PATCH                   1
+#endif
+
+#ifndef gcdHZ_L2_DISALBE
+#   define gcdHZ_L2_DISALBE                     1
+#endif
+
+#ifndef gcdBUGFIX15_DISABLE
+#   define gcdBUGFIX15_DISABLE                  1
+#endif
+
+#ifndef gcdDISABLE_HZ_FAST_CLEAR
+#   define gcdDISABLE_HZ_FAST_CLEAR             1
+#endif
+
+#ifndef gcdUSE_NPOT_PATCH
+#define gcdUSE_NPOT_PATCH                       1
+#endif
+
+#ifndef gcdSYNC
+#   define gcdSYNC                              1
+#endif
+
+#ifndef gcdENABLE_SPECIAL_HINT3
+#   define gcdENABLE_SPECIAL_HINT3               1
+#endif
+
+#if defined(ANDROID)
+#ifndef gcdPRE_ROTATION
+#   define gcdPRE_ROTATION                      1
+#endif
+#endif
+
+/*
+    gcdDVFS
+
+        When non-zero, software will make use of dynamic voltage and
+        frequency feature.
+ */
+#ifndef gcdDVFS
+#   define gcdDVFS                               0
+#   define gcdDVFS_ANAYLSE_WINDOW                4
+#   define gcdDVFS_POLLING_TIME                  (gcdDVFS_ANAYLSE_WINDOW * 4)
+#endif
+
+/*
+    gcdANDROID_NATIVE_FENCE_SYNC
+
+        Enable android native fence sync. It is introduced since jellybean-4.2.
+        Depends on linux kernel option: CONFIG_SYNC.
+
+        0: Disabled
+        1: Build framework for native fence sync feature, and EGL extension
+        2: Enable async swap buffers for client
+           * Native fence sync for client 'queueBuffer' in EGL, which is
+             'acquireFenceFd' for layer in compositor side.
+        3. Enable async hwcomposer composition.
+           * 'releaseFenceFd' for layer in compositor side, which is native
+             fence sync when client 'dequeueBuffer'
+           * Native fence sync for compositor 'queueBuffer' in EGL, which is
+             'acquireFenceFd' for framebuffer target for DC
+ */
+#ifndef gcdANDROID_NATIVE_FENCE_SYNC
+#   define gcdANDROID_NATIVE_FENCE_SYNC        0
+#endif
+
+#ifndef gcdFORCE_MIPMAP
+#   define gcdFORCE_MIPMAP                     0
+#endif
+
+/*
+    gcdFORCE_GAL_LOAD_TWICE
+
+        When non-zero, each thread except the main one will load libGAL.so twice to avoid potential segmetantion fault when app using dlopen/dlclose.
+        If threads exit arbitrarily, libGAL.so may not unload until the process quit.
+ */
+#ifndef gcdFORCE_GAL_LOAD_TWICE
+#   define gcdFORCE_GAL_LOAD_TWICE             0
+#endif
+
+#endif /* __gc_hal_options_h_ */
diff --git a/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_profiler.h b/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_profiler.h
new file mode 100644 (file)
index 0000000..aed73aa
--- /dev/null
@@ -0,0 +1,584 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#ifndef __gc_hal_profiler_h_
+#define __gc_hal_profiler_h_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define GLVERTEX_OBJECT 10
+#define GLVERTEX_OBJECT_BYTES 11
+
+#define GLINDEX_OBJECT 20
+#define GLINDEX_OBJECT_BYTES 21
+
+#define GLTEXTURE_OBJECT 30
+#define GLTEXTURE_OBJECT_BYTES 31
+
+#if VIVANTE_PROFILER
+#define gcmPROFILE_GC(Enum, Value)  gcoPROFILER_Count(gcvNULL, Enum, Value)
+#else
+#define gcmPROFILE_GC(Enum, Value)  do { } while (gcvFALSE)
+#endif
+
+#ifndef gcdNEW_PROFILER_FILE
+#define gcdNEW_PROFILER_FILE    1
+#endif
+
+#define    ES11_CALLS              151
+#define    ES11_DRAWCALLS          (ES11_CALLS             + 1)
+#define    ES11_STATECHANGECALLS   (ES11_DRAWCALLS         + 1)
+#define    ES11_POINTCOUNT         (ES11_STATECHANGECALLS  + 1)
+#define    ES11_LINECOUNT          (ES11_POINTCOUNT        + 1)
+#define    ES11_TRIANGLECOUNT      (ES11_LINECOUNT         + 1)
+
+#define    ES20_CALLS              159
+#define    ES20_DRAWCALLS          (ES20_CALLS             + 1)
+#define    ES20_STATECHANGECALLS   (ES20_DRAWCALLS         + 1)
+#define    ES20_POINTCOUNT         (ES20_STATECHANGECALLS  + 1)
+#define    ES20_LINECOUNT          (ES20_POINTCOUNT        + 1)
+#define    ES20_TRIANGLECOUNT      (ES20_LINECOUNT         + 1)
+
+#define    VG11_CALLS              88
+#define    VG11_DRAWCALLS          (VG11_CALLS              + 1)
+#define    VG11_STATECHANGECALLS   (VG11_DRAWCALLS          + 1)
+#define    VG11_FILLCOUNT          (VG11_STATECHANGECALLS   + 1)
+#define    VG11_STROKECOUNT        (VG11_FILLCOUNT          + 1)
+/* End of Driver API ID Definitions. */
+
+/* HAL & MISC IDs. */
+#define HAL_VERTBUFNEWBYTEALLOC    1
+#define HAL_VERTBUFTOTALBYTEALLOC  (HAL_VERTBUFNEWBYTEALLOC     + 1)
+#define HAL_VERTBUFNEWOBJALLOC     (HAL_VERTBUFTOTALBYTEALLOC   + 1)
+#define HAL_VERTBUFTOTALOBJALLOC   (HAL_VERTBUFNEWOBJALLOC      + 1)
+#define HAL_INDBUFNEWBYTEALLOC     (HAL_VERTBUFTOTALOBJALLOC    + 1)
+#define HAL_INDBUFTOTALBYTEALLOC   (HAL_INDBUFNEWBYTEALLOC      + 1)
+#define HAL_INDBUFNEWOBJALLOC      (HAL_INDBUFTOTALBYTEALLOC    + 1)
+#define HAL_INDBUFTOTALOBJALLOC    (HAL_INDBUFNEWOBJALLOC       + 1)
+#define HAL_TEXBUFNEWBYTEALLOC     (HAL_INDBUFTOTALOBJALLOC     + 1)
+#define HAL_TEXBUFTOTALBYTEALLOC   (HAL_TEXBUFNEWBYTEALLOC      + 1)
+#define HAL_TEXBUFNEWOBJALLOC      (HAL_TEXBUFTOTALBYTEALLOC    + 1)
+#define HAL_TEXBUFTOTALOBJALLOC    (HAL_TEXBUFNEWOBJALLOC       + 1)
+
+#define GPU_CYCLES           1
+#define GPU_READ64BYTE       (GPU_CYCLES         + 1)
+#define GPU_WRITE64BYTE      (GPU_READ64BYTE     + 1)
+#define GPU_TOTALCYCLES      (GPU_WRITE64BYTE    + 1)
+#define GPU_IDLECYCLES       (GPU_TOTALCYCLES    + 1)
+
+#define VS_INSTCOUNT          1
+#define VS_BRANCHINSTCOUNT    (VS_INSTCOUNT          + 1)
+#define VS_TEXLDINSTCOUNT     (VS_BRANCHINSTCOUNT    + 1)
+#define VS_RENDEREDVERTCOUNT  (VS_TEXLDINSTCOUNT     + 1)
+#define VS_SOURCE             (VS_RENDEREDVERTCOUNT  + 1)
+
+#define PS_INSTCOUNT          1
+#define PS_BRANCHINSTCOUNT    (PS_INSTCOUNT          + 1)
+#define PS_TEXLDINSTCOUNT     (PS_BRANCHINSTCOUNT    + 1)
+#define PS_RENDEREDPIXCOUNT   (PS_TEXLDINSTCOUNT     + 1)
+#define PS_SOURCE             (PS_RENDEREDPIXCOUNT   + 1)
+
+#define PA_INVERTCOUNT        1
+#define PA_INPRIMCOUNT        (PA_INVERTCOUNT      + 1)
+#define PA_OUTPRIMCOUNT       (PA_INPRIMCOUNT      + 1)
+#define PA_DEPTHCLIPCOUNT     (PA_OUTPRIMCOUNT     + 1)
+#define PA_TRIVIALREJCOUNT    (PA_DEPTHCLIPCOUNT   + 1)
+#define PA_CULLCOUNT          (PA_TRIVIALREJCOUNT  + 1)
+
+#define SE_TRIANGLECOUNT      1
+#define SE_LINECOUNT          (SE_TRIANGLECOUNT    + 1)
+
+#define RA_VALIDPIXCOUNT      1
+#define RA_TOTALQUADCOUNT     (RA_VALIDPIXCOUNT      + 1)
+#define RA_VALIDQUADCOUNTEZ   (RA_TOTALQUADCOUNT     + 1)
+#define RA_TOTALPRIMCOUNT     (RA_VALIDQUADCOUNTEZ   + 1)
+#define RA_PIPECACHEMISSCOUNT (RA_TOTALPRIMCOUNT     + 1)
+#define RA_PREFCACHEMISSCOUNT (RA_PIPECACHEMISSCOUNT + 1)
+#define RA_EEZCULLCOUNT       (RA_PREFCACHEMISSCOUNT + 1)
+
+#define TX_TOTBILINEARREQ     1
+#define TX_TOTTRILINEARREQ    (TX_TOTBILINEARREQ      + 1)
+#define TX_TOTDISCARDTEXREQ   (TX_TOTTRILINEARREQ     + 1)
+#define TX_TOTTEXREQ          (TX_TOTDISCARDTEXREQ    + 1)
+#define TX_MEMREADCOUNT       (TX_TOTTEXREQ           + 1)
+#define TX_MEMREADIN8BCOUNT   (TX_MEMREADCOUNT        + 1)
+#define TX_CACHEMISSCOUNT     (TX_MEMREADIN8BCOUNT    + 1)
+#define TX_CACHEHITTEXELCOUNT (TX_CACHEMISSCOUNT      + 1)
+#define TX_CACHEMISSTEXELCOUNT (TX_CACHEHITTEXELCOUNT + 1)
+
+#define PE_KILLEDBYCOLOR      1
+#define PE_KILLEDBYDEPTH      (PE_KILLEDBYCOLOR    + 1)
+#define PE_DRAWNBYCOLOR       (PE_KILLEDBYDEPTH    + 1)
+#define PE_DRAWNBYDEPTH       (PE_DRAWNBYCOLOR     + 1)
+
+#define MC_READREQ8BPIPE      1
+#define MC_READREQ8BIP        (MC_READREQ8BPIPE    + 1)
+#define MC_WRITEREQ8BPIPE     (MC_READREQ8BIP      + 1)
+
+#define AXI_READREQSTALLED    1
+#define AXI_WRITEREQSTALLED   (AXI_READREQSTALLED  + 1)
+#define AXI_WRITEDATASTALLED  (AXI_WRITEREQSTALLED + 1)
+
+#define PVS_INSTRCOUNT        1
+#define PVS_ALUINSTRCOUNT     (PVS_INSTRCOUNT      + 1)
+#define PVS_TEXINSTRCOUNT     (PVS_ALUINSTRCOUNT   + 1)
+#define PVS_ATTRIBCOUNT       (PVS_TEXINSTRCOUNT   + 1)
+#define PVS_UNIFORMCOUNT      (PVS_ATTRIBCOUNT     + 1)
+#define PVS_FUNCTIONCOUNT     (PVS_UNIFORMCOUNT    + 1)
+#define PVS_SOURCE            (PVS_FUNCTIONCOUNT   + 1)
+
+#define PPS_INSTRCOUNT       1
+#define PPS_ALUINSTRCOUNT    (PPS_INSTRCOUNT       + 1)
+#define PPS_TEXINSTRCOUNT    (PPS_ALUINSTRCOUNT    + 1)
+#define PPS_ATTRIBCOUNT      (PPS_TEXINSTRCOUNT    + 1)
+#define PPS_UNIFORMCOUNT     (PPS_ATTRIBCOUNT      + 1)
+#define PPS_FUNCTIONCOUNT    (PPS_UNIFORMCOUNT     + 1)
+#define PPS_SOURCE           (PPS_FUNCTIONCOUNT    + 1)
+/* End of MISC Counter IDs. */
+
+#ifdef gcdNEW_PROFILER_FILE
+
+/* Category Constants. */
+#define VPHEADER        0x010000
+#define VPG_INFO        0x020000
+#define VPG_TIME        0x030000
+#define VPG_MEM         0x040000
+#define VPG_ES11        0x050000
+#define VPG_ES20        0x060000
+#define VPG_VG11        0x070000
+#define VPG_HAL         0x080000
+#define VPG_HW          0x090000
+#define VPG_GPU         0x0a0000
+#define VPG_VS          0x0b0000
+#define VPG_PS          0x0c0000
+#define VPG_PA          0x0d0000
+#define VPG_SETUP       0x0e0000
+#define VPG_RA          0x0f0000
+#define VPG_TX          0x100000
+#define VPG_PE          0x110000
+#define VPG_MC          0x120000
+#define VPG_AXI         0x130000
+#define VPG_PROG        0x140000
+#define VPG_PVS         0x150000
+#define VPG_PPS         0x160000
+#define VPG_ES11_TIME   0x170000
+#define VPG_ES20_TIME   0x180000
+#define VPG_FRAME       0x190000
+#define VPG_ES11_DRAW   0x200000
+#define VPG_ES20_DRAW   0x210000
+#define VPG_END         0xff0000
+
+/* Info. */
+#define VPC_INFOCOMPANY         (VPG_INFO + 1)
+#define VPC_INFOVERSION         (VPC_INFOCOMPANY + 1)
+#define VPC_INFORENDERER        (VPC_INFOVERSION + 1)
+#define VPC_INFOREVISION        (VPC_INFORENDERER + 1)
+#define VPC_INFODRIVER          (VPC_INFOREVISION + 1)
+#define VPC_INFODRIVERMODE      (VPC_INFODRIVER + 1)
+#define VPC_INFOSCREENSIZE      (VPC_INFODRIVERMODE + 1)
+
+/* Counter Constants. */
+#define VPC_ELAPSETIME          (VPG_TIME + 1)
+#define VPC_CPUTIME             (VPC_ELAPSETIME + 1)
+
+#define VPC_MEMMAXRES           (VPG_MEM + 1)
+#define VPC_MEMSHARED           (VPC_MEMMAXRES + 1)
+#define VPC_MEMUNSHAREDDATA     (VPC_MEMSHARED + 1)
+#define VPC_MEMUNSHAREDSTACK    (VPC_MEMUNSHAREDDATA + 1)
+
+/* OpenGL ES11 Statics Counter IDs. */
+#define    VPC_ES11CALLS            (VPG_ES11 +    ES11_CALLS)
+#define    VPC_ES11DRAWCALLS        (VPG_ES11 +    ES11_DRAWCALLS)
+#define    VPC_ES11STATECHANGECALLS (VPG_ES11 +    ES11_STATECHANGECALLS)
+#define    VPC_ES11POINTCOUNT       (VPG_ES11 +    ES11_POINTCOUNT)
+#define    VPC_ES11LINECOUNT        (VPG_ES11 +    ES11_LINECOUNT)
+#define    VPC_ES11TRIANGLECOUNT    (VPG_ES11 +    ES11_TRIANGLECOUNT)
+
+/* OpenGL ES20 Statistics Counter IDs. */
+#define    VPC_ES20CALLS            (VPG_ES20 +    ES20_CALLS)
+#define    VPC_ES20DRAWCALLS        (VPG_ES20 +    ES20_DRAWCALLS)
+#define    VPC_ES20STATECHANGECALLS (VPG_ES20 +    ES20_STATECHANGECALLS)
+#define    VPC_ES20POINTCOUNT       (VPG_ES20 +    ES20_POINTCOUNT)
+#define    VPC_ES20LINECOUNT        (VPG_ES20 +    ES20_LINECOUNT)
+#define    VPC_ES20TRIANGLECOUNT    (VPG_ES20 +    ES20_TRIANGLECOUNT)
+
+/* OpenVG Statistics Counter IDs. */
+#define    VPC_VG11CALLS            (VPG_VG11 +    VG11_CALLS)
+#define    VPC_VG11DRAWCALLS        (VPG_VG11 +    VG11_DRAWCALLS)
+#define    VPC_VG11STATECHANGECALLS (VPG_VG11 +    VG11_STATECHANGECALLS)
+#define    VPC_VG11FILLCOUNT        (VPG_VG11 +    VG11_FILLCOUNT)
+#define    VPC_VG11STROKECOUNT      (VPG_VG11 +    VG11_STROKECOUNT)
+
+/* HAL Counters. */
+#define VPC_HALVERTBUFNEWBYTEALLOC      (VPG_HAL + HAL_VERTBUFNEWBYTEALLOC)
+#define VPC_HALVERTBUFTOTALBYTEALLOC    (VPG_HAL + HAL_VERTBUFTOTALBYTEALLOC)
+#define VPC_HALVERTBUFNEWOBJALLOC       (VPG_HAL + HAL_VERTBUFNEWOBJALLOC)
+#define VPC_HALVERTBUFTOTALOBJALLOC     (VPG_HAL + HAL_VERTBUFTOTALOBJALLOC)
+#define VPC_HALINDBUFNEWBYTEALLOC       (VPG_HAL + HAL_INDBUFNEWBYTEALLOC)
+#define VPC_HALINDBUFTOTALBYTEALLOC     (VPG_HAL + HAL_INDBUFTOTALBYTEALLOC)
+#define VPC_HALINDBUFNEWOBJALLOC        (VPG_HAL + HAL_INDBUFNEWOBJALLOC)
+#define VPC_HALINDBUFTOTALOBJALLOC      (VPG_HAL + HAL_INDBUFTOTALOBJALLOC)
+#define VPC_HALTEXBUFNEWBYTEALLOC       (VPG_HAL + HAL_TEXBUFNEWBYTEALLOC)
+#define VPC_HALTEXBUFTOTALBYTEALLOC     (VPG_HAL + HAL_TEXBUFTOTALBYTEALLOC)
+#define VPC_HALTEXBUFNEWOBJALLOC        (VPG_HAL + HAL_TEXBUFNEWOBJALLOC)
+#define VPC_HALTEXBUFTOTALOBJALLOC      (VPG_HAL + HAL_TEXBUFTOTALOBJALLOC)
+
+/* HW: GPU Counters. */
+#define VPC_GPUCYCLES                   (VPG_GPU + GPU_CYCLES)
+#define VPC_GPUREAD64BYTE               (VPG_GPU + GPU_READ64BYTE)
+#define VPC_GPUWRITE64BYTE              (VPG_GPU + GPU_WRITE64BYTE)
+#define VPC_GPUTOTALCYCLES              (VPG_GPU + GPU_TOTALCYCLES)
+#define VPC_GPUIDLECYCLES               (VPG_GPU + GPU_IDLECYCLES)
+
+/* HW: Shader Counters. */
+#define VPC_VSINSTCOUNT                 (VPG_VS + VS_INSTCOUNT)
+#define VPC_VSBRANCHINSTCOUNT           (VPG_VS + VS_BRANCHINSTCOUNT)
+#define VPC_VSTEXLDINSTCOUNT            (VPG_VS + VS_TEXLDINSTCOUNT)
+#define VPC_VSRENDEREDVERTCOUNT         (VPG_VS + VS_RENDEREDVERTCOUNT)
+/* HW: PS Count. */
+#define VPC_PSINSTCOUNT                 (VPG_PS + PS_INSTCOUNT)
+#define VPC_PSBRANCHINSTCOUNT           (VPG_PS + PS_BRANCHINSTCOUNT)
+#define VPC_PSTEXLDINSTCOUNT            (VPG_PS + PS_TEXLDINSTCOUNT)
+#define VPC_PSRENDEREDPIXCOUNT          (VPG_PS + PS_RENDEREDPIXCOUNT)
+
+
+/* HW: PA Counters. */
+#define VPC_PAINVERTCOUNT               (VPG_PA + PA_INVERTCOUNT)
+#define VPC_PAINPRIMCOUNT               (VPG_PA + PA_INPRIMCOUNT)
+#define VPC_PAOUTPRIMCOUNT              (VPG_PA + PA_OUTPRIMCOUNT)
+#define VPC_PADEPTHCLIPCOUNT            (VPG_PA + PA_DEPTHCLIPCOUNT)
+#define VPC_PATRIVIALREJCOUNT           (VPG_PA + PA_TRIVIALREJCOUNT)
+#define VPC_PACULLCOUNT                 (VPG_PA + PA_CULLCOUNT)
+
+/* HW: Setup Counters. */
+#define VPC_SETRIANGLECOUNT             (VPG_SETUP + SE_TRIANGLECOUNT)
+#define VPC_SELINECOUNT                 (VPG_SETUP + SE_LINECOUNT)
+
+/* HW: RA Counters. */
+#define VPC_RAVALIDPIXCOUNT             (VPG_RA + RA_VALIDPIXCOUNT)
+#define VPC_RATOTALQUADCOUNT            (VPG_RA + RA_TOTALQUADCOUNT)
+#define VPC_RAVALIDQUADCOUNTEZ          (VPG_RA + RA_VALIDQUADCOUNTEZ)
+#define VPC_RATOTALPRIMCOUNT            (VPG_RA + RA_TOTALPRIMCOUNT)
+#define VPC_RAPIPECACHEMISSCOUNT        (VPG_RA + RA_PIPECACHEMISSCOUNT)
+#define VPC_RAPREFCACHEMISSCOUNT        (VPG_RA + RA_PREFCACHEMISSCOUNT)
+#define VPC_RAEEZCULLCOUNT              (VPG_RA + RA_EEZCULLCOUNT)
+
+/* HW: TEX Counters. */
+#define VPC_TXTOTBILINEARREQ            (VPG_TX + TX_TOTBILINEARREQ)
+#define VPC_TXTOTTRILINEARREQ           (VPG_TX + TX_TOTTRILINEARREQ)
+#define VPC_TXTOTDISCARDTEXREQ          (VPG_TX + TX_TOTDISCARDTEXREQ)
+#define VPC_TXTOTTEXREQ                 (VPG_TX + TX_TOTTEXREQ)
+#define VPC_TXMEMREADCOUNT              (VPG_TX + TX_MEMREADCOUNT)
+#define VPC_TXMEMREADIN8BCOUNT          (VPG_TX + TX_MEMREADIN8BCOUNT)
+#define VPC_TXCACHEMISSCOUNT            (VPG_TX + TX_CACHEMISSCOUNT)
+#define VPC_TXCACHEHITTEXELCOUNT        (VPG_TX + TX_CACHEHITTEXELCOUNT)
+#define VPC_TXCACHEMISSTEXELCOUNT       (VPG_TX + TX_CACHEMISSTEXELCOUNT)
+
+/* HW: PE Counters. */
+#define VPC_PEKILLEDBYCOLOR             (VPG_PE + PE_KILLEDBYCOLOR)
+#define VPC_PEKILLEDBYDEPTH             (VPG_PE + PE_KILLEDBYDEPTH)
+#define VPC_PEDRAWNBYCOLOR              (VPG_PE + PE_DRAWNBYCOLOR)
+#define VPC_PEDRAWNBYDEPTH              (VPG_PE + PE_DRAWNBYDEPTH)
+
+/* HW: MC Counters. */
+#define VPC_MCREADREQ8BPIPE             (VPG_MC + MC_READREQ8BPIPE)
+#define VPC_MCREADREQ8BIP               (VPG_MC + MC_READREQ8BIP)
+#define VPC_MCWRITEREQ8BPIPE            (VPG_MC + MC_WRITEREQ8BPIPE)
+
+/* HW: AXI Counters. */
+#define VPC_AXIREADREQSTALLED           (VPG_AXI + AXI_READREQSTALLED)
+#define VPC_AXIWRITEREQSTALLED          (VPG_AXI + AXI_WRITEREQSTALLED)
+#define VPC_AXIWRITEDATASTALLED         (VPG_AXI + AXI_WRITEDATASTALLED)
+
+/* PROGRAM: Shader program counters. */
+#define VPC_PVSINSTRCOUNT           (VPG_PVS + PVS_INSTRCOUNT)
+#define VPC_PVSALUINSTRCOUNT        (VPG_PVS + PVS_ALUINSTRCOUNT)
+#define VPC_PVSTEXINSTRCOUNT        (VPG_PVS + PVS_TEXINSTRCOUNT)
+#define VPC_PVSATTRIBCOUNT          (VPG_PVS + PVS_ATTRIBCOUNT)
+#define VPC_PVSUNIFORMCOUNT         (VPG_PVS + PVS_UNIFORMCOUNT)
+#define VPC_PVSFUNCTIONCOUNT        (VPG_PVS + PVS_FUNCTIONCOUNT)
+#define VPC_PVSSOURCE               (VPG_PVS + PVS_SOURCE)
+
+#define VPC_PPSINSTRCOUNT           (VPG_PPS + PPS_INSTRCOUNT)
+#define VPC_PPSALUINSTRCOUNT        (VPG_PPS + PPS_ALUINSTRCOUNT)
+#define VPC_PPSTEXINSTRCOUNT        (VPG_PPS + PPS_TEXINSTRCOUNT)
+#define VPC_PPSATTRIBCOUNT          (VPG_PPS + PPS_ATTRIBCOUNT)
+#define VPC_PPSUNIFORMCOUNT         (VPG_PPS + PPS_UNIFORMCOUNT)
+#define VPC_PPSFUNCTIONCOUNT        (VPG_PPS + PPS_FUNCTIONCOUNT)
+#define VPC_PPSSOURCE               (VPG_PPS + PPS_SOURCE)
+
+#define VPC_PROGRAMHANDLE           (VPG_PROG + 1)
+
+#define VPG_ES20_DRAW_NO  (VPG_ES20_DRAW + 1)
+#define VPG_ES11_DRAW_NO  (VPG_ES11_DRAW + 1)
+
+#define VPG_FRAME_USEVBO (VPG_FRAME + 1)
+
+#endif
+
+
+/* HW profile information. */
+typedef struct _gcsPROFILER_COUNTERS
+{
+    /* HW static counters. */
+    gctUINT32       gpuClock;
+    gctUINT32       axiClock;
+    gctUINT32       shaderClock;
+
+    /* HW vairable counters. */
+    gctUINT32       gpuClockStart;
+    gctUINT32       gpuClockEnd;
+
+    /* HW vairable counters. */
+    gctUINT32       gpuCyclesCounter;
+    gctUINT32       gpuTotalCyclesCounter;
+    gctUINT32       gpuIdleCyclesCounter;
+    gctUINT32       gpuTotalRead64BytesPerFrame;
+    gctUINT32       gpuTotalWrite64BytesPerFrame;
+
+    /* PE */
+    gctUINT32       pe_pixel_count_killed_by_color_pipe;
+    gctUINT32       pe_pixel_count_killed_by_depth_pipe;
+    gctUINT32       pe_pixel_count_drawn_by_color_pipe;
+    gctUINT32       pe_pixel_count_drawn_by_depth_pipe;
+
+    /* SH */
+    gctUINT32       ps_inst_counter;
+    gctUINT32       rendered_pixel_counter;
+    gctUINT32       vs_inst_counter;
+    gctUINT32       rendered_vertice_counter;
+    gctUINT32       vtx_branch_inst_counter;
+    gctUINT32       vtx_texld_inst_counter;
+    gctUINT32       pxl_branch_inst_counter;
+    gctUINT32       pxl_texld_inst_counter;
+
+    /* PA */
+    gctUINT32       pa_input_vtx_counter;
+    gctUINT32       pa_input_prim_counter;
+    gctUINT32       pa_output_prim_counter;
+    gctUINT32       pa_depth_clipped_counter;
+    gctUINT32       pa_trivial_rejected_counter;
+    gctUINT32       pa_culled_counter;
+
+    /* SE */
+    gctUINT32       se_culled_triangle_count;
+    gctUINT32       se_culled_lines_count;
+
+    /* RA */
+    gctUINT32       ra_valid_pixel_count;
+    gctUINT32       ra_total_quad_count;
+    gctUINT32       ra_valid_quad_count_after_early_z;
+    gctUINT32       ra_total_primitive_count;
+    gctUINT32       ra_pipe_cache_miss_counter;
+    gctUINT32       ra_prefetch_cache_miss_counter;
+    gctUINT32       ra_eez_culled_counter;
+
+    /* TX */
+    gctUINT32       tx_total_bilinear_requests;
+    gctUINT32       tx_total_trilinear_requests;
+    gctUINT32       tx_total_discarded_texture_requests;
+    gctUINT32       tx_total_texture_requests;
+    gctUINT32       tx_mem_read_count;
+    gctUINT32       tx_mem_read_in_8B_count;
+    gctUINT32       tx_cache_miss_count;
+    gctUINT32       tx_cache_hit_texel_count;
+    gctUINT32       tx_cache_miss_texel_count;
+
+    /* MC */
+    gctUINT32       mc_total_read_req_8B_from_pipeline;
+    gctUINT32       mc_total_read_req_8B_from_IP;
+    gctUINT32       mc_total_write_req_8B_from_pipeline;
+
+    /* HI */
+    gctUINT32       hi_axi_cycles_read_request_stalled;
+    gctUINT32       hi_axi_cycles_write_request_stalled;
+    gctUINT32       hi_axi_cycles_write_data_stalled;
+}
+gcsPROFILER_COUNTERS;
+
+/* HAL profile information. */
+typedef struct _gcsPROFILER
+{
+    gctUINT32       enable;
+    gctBOOL         enableHal;
+    gctBOOL         enableHW;
+    gctBOOL         enableSH;
+    gctBOOL         isSyncMode;
+
+    gctBOOL         useSocket;
+    gctINT          sockFd;
+
+    gctFILE         file;
+
+    /* Aggregate Information */
+
+    /* Clock Info */
+    gctUINT64       frameStart;
+    gctUINT64       frameEnd;
+
+    /* Current frame information */
+    gctUINT32       frameNumber;
+    gctUINT64       frameStartTimeusec;
+    gctUINT64       frameEndTimeusec;
+    gctUINT64       frameStartCPUTimeusec;
+    gctUINT64       frameEndCPUTimeusec;
+
+#if PROFILE_HAL_COUNTERS
+    gctUINT32       vertexBufferTotalBytesAlloc;
+    gctUINT32       vertexBufferNewBytesAlloc;
+    int             vertexBufferTotalObjectsAlloc;
+    int             vertexBufferNewObjectsAlloc;
+
+    gctUINT32       indexBufferTotalBytesAlloc;
+    gctUINT32       indexBufferNewBytesAlloc;
+    int             indexBufferTotalObjectsAlloc;
+    int             indexBufferNewObjectsAlloc;
+
+    gctUINT32       textureBufferTotalBytesAlloc;
+    gctUINT32       textureBufferNewBytesAlloc;
+    int             textureBufferTotalObjectsAlloc;
+    int             textureBufferNewObjectsAlloc;
+
+    gctUINT32       numCommits;
+    gctUINT32       drawPointCount;
+    gctUINT32       drawLineCount;
+    gctUINT32       drawTriangleCount;
+    gctUINT32       drawVertexCount;
+    gctUINT32       redundantStateChangeCalls;
+#endif
+
+    gctUINT32       prevVSInstCount;
+    gctUINT32       prevVSBranchInstCount;
+    gctUINT32       prevVSTexInstCount;
+    gctUINT32       prevVSVertexCount;
+    gctUINT32       prevPSInstCount;
+    gctUINT32       prevPSBranchInstCount;
+    gctUINT32       prevPSTexInstCount;
+    gctUINT32       prevPSPixelCount;
+
+    char*           psSource;
+    char*           vsSource;
+
+}
+gcsPROFILER;
+
+/* Memory profile information. */
+struct _gcsMemProfile
+{
+    /* Memory Usage */
+    gctUINT32       videoMemUsed;
+    gctUINT32       systemMemUsed;
+    gctUINT32       commitBufferSize;
+    gctUINT32       contextBufferCopyBytes;
+};
+
+/* Shader profile information. */
+struct _gcsSHADER_PROFILER
+{
+    gctUINT32       shaderLength;
+    gctUINT32       shaderALUCycles;
+    gctUINT32       shaderTexLoadCycles;
+    gctUINT32       shaderTempRegCount;
+    gctUINT32       shaderSamplerRegCount;
+    gctUINT32       shaderInputRegCount;
+    gctUINT32       shaderOutputRegCount;
+};
+
+/* Initialize the gcsProfiler. */
+gceSTATUS
+gcoPROFILER_Initialize(
+    IN gcoHAL Hal
+    );
+
+/* Destroy the gcProfiler. */
+gceSTATUS
+gcoPROFILER_Destroy(
+    IN gcoHAL Hal
+    );
+
+/* Write data to profiler. */
+gceSTATUS
+gcoPROFILER_Write(
+    IN gcoHAL Hal,
+    IN gctSIZE_T ByteCount,
+    IN gctCONST_POINTER Data
+    );
+
+/* Flush data out. */
+gceSTATUS
+gcoPROFILER_Flush(
+    IN gcoHAL Hal
+    );
+
+/* Call to signal end of frame. */
+gceSTATUS
+gcoPROFILER_EndFrame(
+    IN gcoHAL Hal
+    );
+
+/* Call to signal end of draw. */
+gceSTATUS
+gcoPROFILER_EndDraw(
+    IN gcoHAL Hal,
+    IN gctBOOL FirstDraw
+    );
+
+/* Increase profile counter Enum by Value. */
+gceSTATUS
+gcoPROFILER_Count(
+       IN gcoHAL Hal,
+       IN gctUINT32 Enum,
+       IN gctINT Value
+       );
+
+gceSTATUS
+gcoPROFILER_ShaderSourceFS(
+    IN gcoHAL Hal,
+    IN char* source
+    );
+
+gceSTATUS
+gcoPROFILER_ShaderSourceVS(
+    IN gcoHAL Hal,
+    IN char* source
+    );
+
+/* Profile input vertex shader. */
+gceSTATUS
+gcoPROFILER_ShaderVS(
+    IN gcoHAL Hal,
+    IN gctPOINTER Vs
+    );
+
+/* Profile input fragment shader. */
+gceSTATUS
+gcoPROFILER_ShaderFS(
+    IN gcoHAL Hal,
+    IN gctPOINTER Fs
+    );
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __gc_hal_profiler_h_ */
diff --git a/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_raster.h b/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_raster.h
new file mode 100644 (file)
index 0000000..6e4d830
--- /dev/null
@@ -0,0 +1,1010 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#ifndef __gc_hal_raster_h_
+#define __gc_hal_raster_h_
+
+#include "gc_hal_enum.h"
+#include "gc_hal_types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/******************************************************************************\
+****************************** Object Declarations *****************************
+\******************************************************************************/
+
+typedef struct _gcoBRUSH *                             gcoBRUSH;
+typedef struct _gcoBRUSH_CACHE *               gcoBRUSH_CACHE;
+
+/******************************************************************************\
+******************************** gcoBRUSH Object *******************************
+\******************************************************************************/
+
+/* Create a new solid color gcoBRUSH object. */
+gceSTATUS
+gcoBRUSH_ConstructSingleColor(
+       IN gcoHAL Hal,
+       IN gctUINT32 ColorConvert,
+       IN gctUINT32 Color,
+       IN gctUINT64 Mask,
+       gcoBRUSH * Brush
+       );
+
+/* Create a new monochrome gcoBRUSH object. */
+gceSTATUS
+gcoBRUSH_ConstructMonochrome(
+       IN gcoHAL Hal,
+       IN gctUINT32 OriginX,
+       IN gctUINT32 OriginY,
+       IN gctUINT32 ColorConvert,
+       IN gctUINT32 FgColor,
+       IN gctUINT32 BgColor,
+       IN gctUINT64 Bits,
+       IN gctUINT64 Mask,
+       gcoBRUSH * Brush
+       );
+
+/* Create a color gcoBRUSH object. */
+gceSTATUS
+gcoBRUSH_ConstructColor(
+       IN gcoHAL Hal,
+       IN gctUINT32 OriginX,
+       IN gctUINT32 OriginY,
+       IN gctPOINTER Address,
+       IN gceSURF_FORMAT Format,
+       IN gctUINT64 Mask,
+       gcoBRUSH * Brush
+       );
+
+/* Destroy an gcoBRUSH object. */
+gceSTATUS
+gcoBRUSH_Destroy(
+       IN gcoBRUSH Brush
+       );
+
+/******************************************************************************\
+******************************** gcoSURF Object *******************************
+\******************************************************************************/
+
+/* Set cipping rectangle. */
+gceSTATUS
+gcoSURF_SetClipping(
+       IN gcoSURF Surface
+       );
+
+/* Clear one or more rectangular areas. */
+gceSTATUS
+gcoSURF_Clear2D(
+       IN gcoSURF DestSurface,
+       IN gctUINT32 RectCount,
+       IN gcsRECT_PTR DestRect,
+       IN gctUINT32 LoColor,
+       IN gctUINT32 HiColor
+       );
+
+/* Draw one or more Bresenham lines. */
+gceSTATUS
+gcoSURF_Line(
+       IN gcoSURF Surface,
+       IN gctUINT32 LineCount,
+       IN gcsRECT_PTR Position,
+       IN gcoBRUSH Brush,
+       IN gctUINT8 FgRop,
+       IN gctUINT8 BgRop
+       );
+
+/* Generic rectangular blit. */
+gceSTATUS
+gcoSURF_Blit(
+       IN OPTIONAL gcoSURF SrcSurface,
+       IN gcoSURF DestSurface,
+       IN gctUINT32 RectCount,
+       IN OPTIONAL gcsRECT_PTR SrcRect,
+       IN gcsRECT_PTR DestRect,
+       IN OPTIONAL gcoBRUSH Brush,
+       IN gctUINT8 FgRop,
+       IN gctUINT8 BgRop,
+       IN OPTIONAL gceSURF_TRANSPARENCY Transparency,
+       IN OPTIONAL gctUINT32 TransparencyColor,
+       IN OPTIONAL gctPOINTER Mask,
+       IN OPTIONAL gceSURF_MONOPACK MaskPack
+       );
+
+/* Monochrome blit. */
+gceSTATUS
+gcoSURF_MonoBlit(
+       IN gcoSURF DestSurface,
+       IN gctPOINTER Source,
+       IN gceSURF_MONOPACK SourcePack,
+       IN gcsPOINT_PTR SourceSize,
+       IN gcsPOINT_PTR SourceOrigin,
+       IN gcsRECT_PTR DestRect,
+       IN OPTIONAL gcoBRUSH Brush,
+       IN gctUINT8 FgRop,
+       IN gctUINT8 BgRop,
+       IN gctBOOL ColorConvert,
+       IN gctUINT8 MonoTransparency,
+       IN gceSURF_TRANSPARENCY Transparency,
+       IN gctUINT32 FgColor,
+       IN gctUINT32 BgColor
+       );
+
+/* Filter blit. */
+gceSTATUS
+gcoSURF_FilterBlit(
+       IN gcoSURF SrcSurface,
+       IN gcoSURF DestSurface,
+       IN gcsRECT_PTR SrcRect,
+       IN gcsRECT_PTR DestRect,
+       IN gcsRECT_PTR DestSubRect
+       );
+
+/* Enable alpha blending engine in the hardware and disengage the ROP engine. */
+gceSTATUS
+gcoSURF_EnableAlphaBlend(
+       IN gcoSURF Surface,
+       IN gctUINT8 SrcGlobalAlphaValue,
+       IN gctUINT8 DstGlobalAlphaValue,
+       IN gceSURF_PIXEL_ALPHA_MODE SrcAlphaMode,
+       IN gceSURF_PIXEL_ALPHA_MODE DstAlphaMode,
+       IN gceSURF_GLOBAL_ALPHA_MODE SrcGlobalAlphaMode,
+       IN gceSURF_GLOBAL_ALPHA_MODE DstGlobalAlphaMode,
+       IN gceSURF_BLEND_FACTOR_MODE SrcFactorMode,
+       IN gceSURF_BLEND_FACTOR_MODE DstFactorMode,
+       IN gceSURF_PIXEL_COLOR_MODE SrcColorMode,
+       IN gceSURF_PIXEL_COLOR_MODE DstColorMode
+       );
+
+/* Disable alpha blending engine in the hardware and engage the ROP engine. */
+gceSTATUS
+gcoSURF_DisableAlphaBlend(
+       IN gcoSURF Surface
+       );
+
+/* Copy a rectangular area with format conversion. */
+gceSTATUS
+gcoSURF_CopyPixels(
+       IN gcoSURF Source,
+       IN gcoSURF Target,
+       IN gctINT SourceX,
+       IN gctINT SourceY,
+       IN gctINT TargetX,
+       IN gctINT TargetY,
+       IN gctINT Width,
+       IN gctINT Height
+       );
+
+/* Read surface pixel. */
+gceSTATUS
+gcoSURF_ReadPixel(
+       IN gcoSURF Surface,
+       IN gctPOINTER Memory,
+       IN gctINT X,
+       IN gctINT Y,
+       IN gceSURF_FORMAT Format,
+       OUT gctPOINTER PixelValue
+       );
+
+/* Write surface pixel. */
+gceSTATUS
+gcoSURF_WritePixel(
+       IN gcoSURF Surface,
+       IN gctPOINTER Memory,
+       IN gctINT X,
+       IN gctINT Y,
+       IN gceSURF_FORMAT Format,
+       IN gctPOINTER PixelValue
+       );
+
+gceSTATUS
+gcoSURF_SetDither(
+    IN gcoSURF Surface,
+    IN gctBOOL Dither
+    );
+/******************************************************************************\
+********************************** gco2D Object *********************************
+\******************************************************************************/
+
+/* Construct a new gco2D object. */
+gceSTATUS
+gco2D_Construct(
+       IN gcoHAL Hal,
+       OUT gco2D * Hardware
+       );
+
+/* Destroy an gco2D object. */
+gceSTATUS
+gco2D_Destroy(
+       IN gco2D Hardware
+       );
+
+/* Sets the maximum number of brushes in the brush cache. */
+gceSTATUS
+gco2D_SetBrushLimit(
+       IN gco2D Hardware,
+       IN gctUINT MaxCount
+       );
+
+/* Flush the brush. */
+gceSTATUS
+gco2D_FlushBrush(
+       IN gco2D Engine,
+       IN gcoBRUSH Brush,
+       IN gceSURF_FORMAT Format
+       );
+
+/* Program the specified solid color brush. */
+gceSTATUS
+gco2D_LoadSolidBrush(
+       IN gco2D Engine,
+       IN gceSURF_FORMAT Format,
+       IN gctUINT32 ColorConvert,
+       IN gctUINT32 Color,
+       IN gctUINT64 Mask
+       );
+
+gceSTATUS
+gco2D_LoadMonochromeBrush(
+    IN gco2D Engine,
+    IN gctUINT32 OriginX,
+    IN gctUINT32 OriginY,
+    IN gctUINT32 ColorConvert,
+    IN gctUINT32 FgColor,
+    IN gctUINT32 BgColor,
+    IN gctUINT64 Bits,
+    IN gctUINT64 Mask
+    );
+
+gceSTATUS
+gco2D_LoadColorBrush(
+    IN gco2D Engine,
+    IN gctUINT32 OriginX,
+    IN gctUINT32 OriginY,
+    IN gctUINT32 Address,
+    IN gceSURF_FORMAT Format,
+    IN gctUINT64 Mask
+    );
+
+/* Configure monochrome source. */
+gceSTATUS
+gco2D_SetMonochromeSource(
+       IN gco2D Engine,
+       IN gctBOOL ColorConvert,
+       IN gctUINT8 MonoTransparency,
+       IN gceSURF_MONOPACK DataPack,
+       IN gctBOOL CoordRelative,
+       IN gceSURF_TRANSPARENCY Transparency,
+       IN gctUINT32 FgColor,
+       IN gctUINT32 BgColor
+       );
+
+/* Configure color source. */
+gceSTATUS
+gco2D_SetColorSource(
+       IN gco2D Engine,
+       IN gctUINT32 Address,
+       IN gctUINT32 Stride,
+       IN gceSURF_FORMAT Format,
+       IN gceSURF_ROTATION Rotation,
+       IN gctUINT32 SurfaceWidth,
+       IN gctBOOL CoordRelative,
+       IN gceSURF_TRANSPARENCY Transparency,
+       IN gctUINT32 TransparencyColor
+       );
+
+/* Configure color source extension for full rotation. */
+gceSTATUS
+gco2D_SetColorSourceEx(
+       IN gco2D Engine,
+       IN gctUINT32 Address,
+       IN gctUINT32 Stride,
+       IN gceSURF_FORMAT Format,
+       IN gceSURF_ROTATION Rotation,
+       IN gctUINT32 SurfaceWidth,
+       IN gctUINT32 SurfaceHeight,
+       IN gctBOOL CoordRelative,
+       IN gceSURF_TRANSPARENCY Transparency,
+       IN gctUINT32 TransparencyColor
+       );
+
+/* Configure color source. */
+gceSTATUS
+gco2D_SetColorSourceAdvanced(
+       IN gco2D Engine,
+       IN gctUINT32 Address,
+       IN gctUINT32 Stride,
+       IN gceSURF_FORMAT Format,
+       IN gceSURF_ROTATION Rotation,
+       IN gctUINT32 SurfaceWidth,
+       IN gctUINT32 SurfaceHeight,
+       IN gctBOOL CoordRelative
+       );
+
+gceSTATUS
+gco2D_SetColorSourceN(
+    IN gco2D Engine,
+    IN gctUINT32 Address,
+    IN gctUINT32 Stride,
+    IN gceSURF_FORMAT Format,
+    IN gceSURF_ROTATION Rotation,
+    IN gctUINT32 SurfaceWidth,
+    IN gctUINT32 SurfaceHeight,
+    IN gctUINT32 SurfaceNumber
+    );
+
+/* Configure masked color source. */
+gceSTATUS
+gco2D_SetMaskedSource(
+       IN gco2D Engine,
+       IN gctUINT32 Address,
+       IN gctUINT32 Stride,
+       IN gceSURF_FORMAT Format,
+       IN gctBOOL CoordRelative,
+       IN gceSURF_MONOPACK MaskPack
+       );
+
+/* Configure masked color source extension for full rotation. */
+gceSTATUS
+gco2D_SetMaskedSourceEx(
+       IN gco2D Engine,
+       IN gctUINT32 Address,
+       IN gctUINT32 Stride,
+       IN gceSURF_FORMAT Format,
+       IN gctBOOL CoordRelative,
+       IN gceSURF_MONOPACK MaskPack,
+       IN gceSURF_ROTATION Rotation,
+       IN gctUINT32 SurfaceWidth,
+       IN gctUINT32 SurfaceHeight
+       );
+
+/* Setup the source rectangle. */
+gceSTATUS
+gco2D_SetSource(
+       IN gco2D Engine,
+       IN gcsRECT_PTR SrcRect
+       );
+
+/* Set clipping rectangle. */
+gceSTATUS
+gco2D_SetClipping(
+       IN gco2D Engine,
+       IN gcsRECT_PTR Rect
+       );
+
+/* Configure destination. */
+gceSTATUS
+gco2D_SetTarget(
+       IN gco2D Engine,
+       IN gctUINT32 Address,
+       IN gctUINT32 Stride,
+       IN gceSURF_ROTATION Rotation,
+       IN gctUINT32 SurfaceWidth
+       );
+
+/* Configure destination extension for full rotation. */
+gceSTATUS
+gco2D_SetTargetEx(
+       IN gco2D Engine,
+       IN gctUINT32 Address,
+       IN gctUINT32 Stride,
+       IN gceSURF_ROTATION Rotation,
+       IN gctUINT32 SurfaceWidth,
+       IN gctUINT32 SurfaceHeight
+       );
+
+/* Calculate and program the stretch factors. */
+gceSTATUS
+gco2D_CalcStretchFactor(
+    IN gco2D Engine,
+    IN gctINT32 SrcSize,
+    IN gctINT32 DestSize,
+    OUT gctUINT32_PTR Factor
+    );
+
+gceSTATUS
+gco2D_SetStretchFactors(
+       IN gco2D Engine,
+       IN gctUINT32 HorFactor,
+       IN gctUINT32 VerFactor
+       );
+
+/* Calculate and program the stretch factors based on the rectangles. */
+gceSTATUS
+gco2D_SetStretchRectFactors(
+       IN gco2D Engine,
+       IN gcsRECT_PTR SrcRect,
+       IN gcsRECT_PTR DestRect
+       );
+
+/* Create a new solid color gcoBRUSH object. */
+gceSTATUS
+gco2D_ConstructSingleColorBrush(
+       IN gco2D Engine,
+       IN gctUINT32 ColorConvert,
+       IN gctUINT32 Color,
+       IN gctUINT64 Mask,
+       gcoBRUSH * Brush
+       );
+
+/* Create a new monochrome gcoBRUSH object. */
+gceSTATUS
+gco2D_ConstructMonochromeBrush(
+       IN gco2D Engine,
+       IN gctUINT32 OriginX,
+       IN gctUINT32 OriginY,
+       IN gctUINT32 ColorConvert,
+       IN gctUINT32 FgColor,
+       IN gctUINT32 BgColor,
+       IN gctUINT64 Bits,
+       IN gctUINT64 Mask,
+       gcoBRUSH * Brush
+       );
+
+/* Create a color gcoBRUSH object. */
+gceSTATUS
+gco2D_ConstructColorBrush(
+       IN gco2D Engine,
+       IN gctUINT32 OriginX,
+       IN gctUINT32 OriginY,
+       IN gctPOINTER Address,
+       IN gceSURF_FORMAT Format,
+       IN gctUINT64 Mask,
+       gcoBRUSH * Brush
+       );
+
+/* Clear one or more rectangular areas. */
+gceSTATUS
+gco2D_Clear(
+       IN gco2D Engine,
+       IN gctUINT32 RectCount,
+       IN gcsRECT_PTR Rect,
+       IN gctUINT32 Color32,
+       IN gctUINT8 FgRop,
+       IN gctUINT8 BgRop,
+       IN gceSURF_FORMAT DestFormat
+       );
+
+/* Draw one or more Bresenham lines. */
+gceSTATUS
+gco2D_Line(
+       IN gco2D Engine,
+       IN gctUINT32 LineCount,
+       IN gcsRECT_PTR Position,
+       IN gcoBRUSH Brush,
+       IN gctUINT8 FgRop,
+       IN gctUINT8 BgRop,
+       IN gceSURF_FORMAT DestFormat
+       );
+
+/* Draw one or more Bresenham lines based on the 32-bit color. */
+gceSTATUS
+gco2D_ColorLine(
+       IN gco2D Engine,
+       IN gctUINT32 LineCount,
+       IN gcsRECT_PTR Position,
+       IN gctUINT32 Color32,
+       IN gctUINT8 FgRop,
+       IN gctUINT8 BgRop,
+       IN gceSURF_FORMAT DestFormat
+       );
+
+/* Generic blit. */
+gceSTATUS
+gco2D_Blit(
+       IN gco2D Engine,
+       IN gctUINT32 RectCount,
+       IN gcsRECT_PTR Rect,
+       IN gctUINT8 FgRop,
+       IN gctUINT8 BgRop,
+       IN gceSURF_FORMAT DestFormat
+       );
+
+gceSTATUS
+gco2D_Blend(
+    IN gco2D Engine,
+    IN gctUINT32 SrcCount,
+    IN gctUINT32 RectCount,
+    IN gcsRECT_PTR Rect,
+    IN gctUINT8 FgRop,
+    IN gctUINT8 BgRop,
+    IN gceSURF_FORMAT DestFormat
+    );
+
+/* Batch blit. */
+gceSTATUS
+gco2D_BatchBlit(
+       IN gco2D Engine,
+       IN gctUINT32 RectCount,
+       IN gcsRECT_PTR SrcRect,
+       IN gcsRECT_PTR DestRect,
+       IN gctUINT8 FgRop,
+       IN gctUINT8 BgRop,
+       IN gceSURF_FORMAT DestFormat
+       );
+
+/* Stretch blit. */
+gceSTATUS
+gco2D_StretchBlit(
+       IN gco2D Engine,
+       IN gctUINT32 RectCount,
+       IN gcsRECT_PTR Rect,
+       IN gctUINT8 FgRop,
+       IN gctUINT8 BgRop,
+       IN gceSURF_FORMAT DestFormat
+       );
+
+/* Monochrome blit. */
+gceSTATUS
+gco2D_MonoBlit(
+       IN gco2D Engine,
+       IN gctPOINTER StreamBits,
+       IN gcsPOINT_PTR StreamSize,
+       IN gcsRECT_PTR StreamRect,
+       IN gceSURF_MONOPACK SrcStreamPack,
+       IN gceSURF_MONOPACK DestStreamPack,
+       IN gcsRECT_PTR DestRect,
+       IN gctUINT32 FgRop,
+       IN gctUINT32 BgRop,
+       IN gceSURF_FORMAT DestFormat
+       );
+
+gceSTATUS
+gco2D_MonoBlitEx(
+    IN gco2D        Engine,
+    IN gctPOINTER   StreamBits,
+    IN gctINT32     StreamStride,
+    IN gctINT32     StreamWidth,
+    IN gctINT32     StreamHeight,
+    IN gctINT32     StreamX,
+    IN gctINT32     StreamY,
+    IN gctUINT32    FgColor,
+    IN gctUINT32    BgColor,
+    IN gcsRECT_PTR  SrcRect,
+    IN gcsRECT_PTR  DstRect,
+    IN gctUINT8     FgRop,
+    IN gctUINT8     BgRop
+    );
+
+/* Set kernel size. */
+gceSTATUS
+gco2D_SetKernelSize(
+       IN gco2D Engine,
+       IN gctUINT8 HorKernelSize,
+       IN gctUINT8 VerKernelSize
+       );
+
+/* Set filter type. */
+gceSTATUS
+gco2D_SetFilterType(
+       IN gco2D Engine,
+       IN gceFILTER_TYPE FilterType
+       );
+
+/* Set the filter kernel by user. */
+gceSTATUS
+gco2D_SetUserFilterKernel(
+       IN gco2D Engine,
+       IN gceFILTER_PASS_TYPE PassType,
+       IN gctUINT16_PTR KernelArray
+       );
+
+/* Select the pass(es) to be done for user defined filter. */
+gceSTATUS
+gco2D_EnableUserFilterPasses(
+       IN gco2D Engine,
+       IN gctBOOL HorPass,
+       IN gctBOOL VerPass
+       );
+
+/* Frees the temporary buffer allocated by filter blit operation. */
+gceSTATUS
+gco2D_FreeFilterBuffer(
+       IN gco2D Engine
+       );
+
+/* Filter blit. */
+gceSTATUS
+gco2D_FilterBlit(
+       IN gco2D Engine,
+       IN gctUINT32 SrcAddress,
+       IN gctUINT SrcStride,
+       IN gctUINT32 SrcUAddress,
+       IN gctUINT SrcUStride,
+       IN gctUINT32 SrcVAddress,
+       IN gctUINT SrcVStride,
+       IN gceSURF_FORMAT SrcFormat,
+       IN gceSURF_ROTATION SrcRotation,
+       IN gctUINT32 SrcSurfaceWidth,
+       IN gcsRECT_PTR SrcRect,
+       IN gctUINT32 DestAddress,
+       IN gctUINT DestStride,
+       IN gceSURF_FORMAT DestFormat,
+       IN gceSURF_ROTATION DestRotation,
+       IN gctUINT32 DestSurfaceWidth,
+       IN gcsRECT_PTR DestRect,
+       IN gcsRECT_PTR DestSubRect
+       );
+
+/* Filter blit extension for full rotation. */
+gceSTATUS
+gco2D_FilterBlitEx(
+       IN gco2D Engine,
+       IN gctUINT32 SrcAddress,
+       IN gctUINT SrcStride,
+       IN gctUINT32 SrcUAddress,
+       IN gctUINT SrcUStride,
+       IN gctUINT32 SrcVAddress,
+       IN gctUINT SrcVStride,
+       IN gceSURF_FORMAT SrcFormat,
+       IN gceSURF_ROTATION SrcRotation,
+       IN gctUINT32 SrcSurfaceWidth,
+       IN gctUINT32 SrcSurfaceHeight,
+       IN gcsRECT_PTR SrcRect,
+       IN gctUINT32 DestAddress,
+       IN gctUINT DestStride,
+       IN gceSURF_FORMAT DestFormat,
+       IN gceSURF_ROTATION DestRotation,
+       IN gctUINT32 DestSurfaceWidth,
+       IN gctUINT32 DestSurfaceHeight,
+       IN gcsRECT_PTR DestRect,
+       IN gcsRECT_PTR DestSubRect
+       );
+
+gceSTATUS
+gco2D_FilterBlitEx2(
+    IN gco2D                Engine,
+    IN gctUINT32_PTR        SrcAddresses,
+    IN gctUINT32            SrcAddressNum,
+    IN gctUINT32_PTR        SrcStrides,
+    IN gctUINT32            SrcStrideNum,
+    IN gceTILING            SrcTiling,
+    IN gceSURF_FORMAT       SrcFormat,
+    IN gceSURF_ROTATION     SrcRotation,
+    IN gctUINT32            SrcSurfaceWidth,
+    IN gctUINT32            SrcSurfaceHeight,
+    IN gcsRECT_PTR          SrcRect,
+    IN gctUINT32_PTR        DestAddresses,
+    IN gctUINT32            DestAddressNum,
+    IN gctUINT32_PTR        DestStrides,
+    IN gctUINT32            DestStrideNum,
+    IN gceTILING            DestTiling,
+    IN gceSURF_FORMAT       DestFormat,
+    IN gceSURF_ROTATION     DestRotation,
+    IN gctUINT32            DestSurfaceWidth,
+    IN gctUINT32            DestSurfaceHeight,
+    IN gcsRECT_PTR          DestRect,
+    IN gcsRECT_PTR          DestSubRect
+    );
+
+/* Enable alpha blending engine in the hardware and disengage the ROP engine. */
+gceSTATUS
+gco2D_EnableAlphaBlend(
+       IN gco2D Engine,
+       IN gctUINT8 SrcGlobalAlphaValue,
+       IN gctUINT8 DstGlobalAlphaValue,
+       IN gceSURF_PIXEL_ALPHA_MODE SrcAlphaMode,
+       IN gceSURF_PIXEL_ALPHA_MODE DstAlphaMode,
+       IN gceSURF_GLOBAL_ALPHA_MODE SrcGlobalAlphaMode,
+       IN gceSURF_GLOBAL_ALPHA_MODE DstGlobalAlphaMode,
+       IN gceSURF_BLEND_FACTOR_MODE SrcFactorMode,
+       IN gceSURF_BLEND_FACTOR_MODE DstFactorMode,
+       IN gceSURF_PIXEL_COLOR_MODE SrcColorMode,
+       IN gceSURF_PIXEL_COLOR_MODE DstColorMode
+       );
+
+/* Enable alpha blending engine in the hardware. */
+gceSTATUS
+gco2D_EnableAlphaBlendAdvanced(
+       IN gco2D Engine,
+       IN gceSURF_PIXEL_ALPHA_MODE SrcAlphaMode,
+       IN gceSURF_PIXEL_ALPHA_MODE DstAlphaMode,
+       IN gceSURF_GLOBAL_ALPHA_MODE SrcGlobalAlphaMode,
+       IN gceSURF_GLOBAL_ALPHA_MODE DstGlobalAlphaMode,
+       IN gceSURF_BLEND_FACTOR_MODE SrcFactorMode,
+       IN gceSURF_BLEND_FACTOR_MODE DstFactorMode
+       );
+
+/* Enable alpha blending engine with Porter Duff rule. */
+gceSTATUS
+gco2D_SetPorterDuffBlending(
+       IN gco2D Engine,
+       IN gce2D_PORTER_DUFF_RULE Rule
+       );
+
+/* Disable alpha blending engine in the hardware and engage the ROP engine. */
+gceSTATUS
+gco2D_DisableAlphaBlend(
+       IN gco2D Engine
+       );
+
+/* Retrieve the maximum number of 32-bit data chunks for a single DE command. */
+gctUINT32
+gco2D_GetMaximumDataCount(
+       void
+       );
+
+/* Retrieve the maximum number of rectangles, that can be passed in a single DE command. */
+gctUINT32
+gco2D_GetMaximumRectCount(
+       void
+       );
+
+/* Returns the pixel alignment of the surface. */
+gceSTATUS
+gco2D_GetPixelAlignment(
+       gceSURF_FORMAT Format,
+       gcsPOINT_PTR Alignment
+       );
+
+/* Retrieve monochrome stream pack size. */
+gceSTATUS
+gco2D_GetPackSize(
+       IN gceSURF_MONOPACK StreamPack,
+       OUT gctUINT32 * PackWidth,
+       OUT gctUINT32 * PackHeight
+       );
+
+/* Flush the 2D pipeline. */
+gceSTATUS
+gco2D_Flush(
+       IN gco2D Engine
+       );
+
+/* Load 256-entry color table for INDEX8 source surfaces. */
+gceSTATUS
+gco2D_LoadPalette(
+       IN gco2D Engine,
+       IN gctUINT FirstIndex,
+       IN gctUINT IndexCount,
+       IN gctPOINTER ColorTable,
+       IN gctBOOL ColorConvert
+       );
+
+/* Enable/disable 2D BitBlt mirrorring. */
+gceSTATUS
+gco2D_SetBitBlitMirror(
+       IN gco2D Engine,
+       IN gctBOOL HorizontalMirror,
+       IN gctBOOL VerticalMirror
+       );
+
+/*
+ * Set the transparency for source, destination and pattern.
+ * It also enable or disable the DFB color key mode.
+ */
+gceSTATUS
+gco2D_SetTransparencyAdvancedEx(
+    IN gco2D Engine,
+    IN gce2D_TRANSPARENCY SrcTransparency,
+    IN gce2D_TRANSPARENCY DstTransparency,
+    IN gce2D_TRANSPARENCY PatTransparency,
+    IN gctBOOL EnableDFBColorKeyMode
+       );
+
+/* Set the transparency for source, destination and pattern. */
+gceSTATUS
+gco2D_SetTransparencyAdvanced(
+       IN gco2D Engine,
+       IN gce2D_TRANSPARENCY SrcTransparency,
+       IN gce2D_TRANSPARENCY DstTransparency,
+       IN gce2D_TRANSPARENCY PatTransparency
+       );
+
+/* Set the source color key. */
+gceSTATUS
+gco2D_SetSourceColorKeyAdvanced(
+       IN gco2D Engine,
+       IN gctUINT32 ColorKey
+       );
+
+/* Set the source color key range. */
+gceSTATUS
+gco2D_SetSourceColorKeyRangeAdvanced(
+       IN gco2D Engine,
+       IN gctUINT32 ColorKeyLow,
+       IN gctUINT32 ColorKeyHigh
+       );
+
+/* Set the target color key. */
+gceSTATUS
+gco2D_SetTargetColorKeyAdvanced(
+       IN gco2D Engine,
+       IN gctUINT32 ColorKey
+       );
+
+/* Set the target color key range. */
+gceSTATUS
+gco2D_SetTargetColorKeyRangeAdvanced(
+       IN gco2D Engine,
+       IN gctUINT32 ColorKeyLow,
+       IN gctUINT32 ColorKeyHigh
+       );
+
+/* Set the YUV color space mode. */
+gceSTATUS
+gco2D_SetYUVColorMode(
+       IN gco2D Engine,
+       IN gce2D_YUV_COLOR_MODE Mode
+       );
+
+/* Setup the source global color value in ARGB8 format. */
+gceSTATUS gco2D_SetSourceGlobalColorAdvanced(
+       IN gco2D Engine,
+       IN gctUINT32 Color32
+       );
+
+/* Setup the target global color value in ARGB8 format. */
+gceSTATUS gco2D_SetTargetGlobalColorAdvanced(
+       IN gco2D Engine,
+       IN gctUINT32 Color32
+       );
+
+/* Setup the source and target pixel multiply modes. */
+gceSTATUS
+gco2D_SetPixelMultiplyModeAdvanced(
+       IN gco2D Engine,
+       IN gce2D_PIXEL_COLOR_MULTIPLY_MODE SrcPremultiplySrcAlpha,
+       IN gce2D_PIXEL_COLOR_MULTIPLY_MODE DstPremultiplyDstAlpha,
+       IN gce2D_GLOBAL_COLOR_MULTIPLY_MODE SrcPremultiplyGlobalMode,
+       IN gce2D_PIXEL_COLOR_MULTIPLY_MODE DstDemultiplyDstAlpha
+       );
+
+/* Set the GPU clock cycles after which the idle engine will keep auto-flushing. */
+gceSTATUS
+gco2D_SetAutoFlushCycles(
+       IN gco2D Engine,
+       IN gctUINT32 Cycles
+       );
+
+#if VIVANTE_PROFILER
+/* Read the profile registers available in the 2D engine and sets them in the profile.
+   The function will also reset the pixelsRendered counter every time.
+*/
+gceSTATUS
+gco2D_ProfileEngine(
+       IN gco2D Engine,
+       OPTIONAL gcs2D_PROFILE_PTR Profile
+       );
+#endif
+
+/* Enable or disable 2D dithering. */
+gceSTATUS
+gco2D_EnableDither(
+       IN gco2D Engine,
+       IN gctBOOL Enable
+       );
+
+gceSTATUS
+gco2D_SetGenericSource(
+    IN gco2D               Engine,
+    IN gctUINT32_PTR       Addresses,
+    IN gctUINT32           AddressNum,
+    IN gctUINT32_PTR       Strides,
+    IN gctUINT32           StrideNum,
+    IN gceTILING           Tiling,
+    IN gceSURF_FORMAT      Format,
+    IN gceSURF_ROTATION    Rotation,
+    IN gctUINT32           SurfaceWidth,
+    IN gctUINT32           SurfaceHeight
+);
+
+gceSTATUS
+gco2D_SetGenericTarget(
+    IN gco2D               Engine,
+    IN gctUINT32_PTR       Addresses,
+    IN gctUINT32           AddressNum,
+    IN gctUINT32_PTR       Strides,
+    IN gctUINT32           StrideNum,
+    IN gceTILING           Tiling,
+    IN gceSURF_FORMAT      Format,
+    IN gceSURF_ROTATION    Rotation,
+    IN gctUINT32           SurfaceWidth,
+    IN gctUINT32           SurfaceHeight
+);
+
+gceSTATUS
+gco2D_SetCurrentSourceIndex(
+    IN gco2D        Engine,
+    IN gctUINT32    SrcIndex
+    );
+
+gceSTATUS
+gco2D_MultiSourceBlit(
+    IN gco2D Engine,
+    IN gctUINT32 SourceMask,
+    IN gcsRECT_PTR DestRect,
+    IN gctUINT32 RectCount
+    );
+
+gceSTATUS
+gco2D_SetROP(
+    IN gco2D Engine,
+    IN gctUINT8 FgRop,
+    IN gctUINT8 BgRop
+    );
+
+gceSTATUS
+gco2D_SetGdiStretchMode(
+    IN gco2D Engine,
+    IN gctBOOL Enable
+    );
+
+gceSTATUS
+gco2D_SetSourceTileStatus(
+    IN gco2D Engine,
+    IN gce2D_TILE_STATUS_CONFIG TSControl,
+    IN gceSURF_FORMAT CompressedFormat,
+    IN gctUINT32 ClearValue,
+    IN gctUINT32 GpuAddress
+    );
+
+gceSTATUS
+gco2D_SetTargetTileStatus(
+    IN gco2D Engine,
+    IN gce2D_TILE_STATUS_CONFIG TileStatusConfig,
+    IN gceSURF_FORMAT CompressedFormat,
+    IN gctUINT32 ClearValue,
+    IN gctUINT32 GpuAddress
+    );
+
+gceSTATUS
+gco2D_QueryU32(
+    IN gco2D Engine,
+    IN gce2D_QUERY Item,
+    OUT gctUINT32_PTR Value
+    );
+
+gceSTATUS
+gco2D_SetStateU32(
+    IN gco2D Engine,
+    IN gce2D_STATE State,
+    IN gctUINT32 Value
+    );
+
+gceSTATUS
+gco2D_SetStateArrayI32(
+    IN gco2D Engine,
+    IN gce2D_STATE State,
+    IN gctINT32_PTR Array,
+    IN gctINT32 ArraySize
+    );
+
+gceSTATUS
+gco2D_SetStateArrayU32(
+    IN gco2D Engine,
+    IN gce2D_STATE State,
+    IN gctUINT32_PTR Array,
+    IN gctINT32 ArraySize
+    );
+
+gceSTATUS
+gco2D_SetTargetRect(
+    IN gco2D Engine,
+    IN gcsRECT_PTR Rect
+    );
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __gc_hal_raster_h_ */
diff --git a/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_rename.h b/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_rename.h
new file mode 100644 (file)
index 0000000..6c10fbf
--- /dev/null
@@ -0,0 +1,248 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#ifndef __gc_hal_rename_h_
+#define __gc_hal_rename_h_
+
+
+#if defined(_HAL2D_APPENDIX)
+
+#define _HAL2D_RENAME_2(api, appendix)  api ## appendix
+#define _HAL2D_RENAME_1(api, appendix)  _HAL2D_RENAME_2(api, appendix)
+#define gcmHAL2D(api)                   _HAL2D_RENAME_1(api, _HAL2D_APPENDIX)
+
+
+#define gckOS_Construct                 gcmHAL2D(gckOS_Construct)
+#define gckOS_Destroy                   gcmHAL2D(gckOS_Destroy)
+#define gckOS_QueryVideoMemory          gcmHAL2D(gckOS_QueryVideoMemory)
+#define gckOS_Allocate                  gcmHAL2D(gckOS_Allocate)
+#define gckOS_Free                      gcmHAL2D(gckOS_Free)
+#define gckOS_AllocateMemory            gcmHAL2D(gckOS_AllocateMemory)
+#define gckOS_FreeMemory                gcmHAL2D(gckOS_FreeMemory)
+#define gckOS_AllocatePagedMemory       gcmHAL2D(gckOS_AllocatePagedMemory)
+#define gckOS_AllocatePagedMemoryEx     gcmHAL2D(gckOS_AllocatePagedMemoryEx)
+#define gckOS_LockPages                 gcmHAL2D(gckOS_LockPages)
+#define gckOS_MapPages                  gcmHAL2D(gckOS_MapPages)
+#define gckOS_UnlockPages               gcmHAL2D(gckOS_UnlockPages)
+#define gckOS_FreePagedMemory           gcmHAL2D(gckOS_FreePagedMemory)
+#define gckOS_AllocateNonPagedMemory    gcmHAL2D(gckOS_AllocateNonPagedMemory)
+#define gckOS_FreeNonPagedMemory        gcmHAL2D(gckOS_FreeNonPagedMemory)
+#define gckOS_AllocateContiguous        gcmHAL2D(gckOS_AllocateContiguous)
+#define gckOS_FreeContiguous            gcmHAL2D(gckOS_FreeContiguous)
+#define gckOS_GetPageSize               gcmHAL2D(gckOS_GetPageSize)
+#define gckOS_GetPhysicalAddress        gcmHAL2D(gckOS_GetPhysicalAddress)
+#define gckOS_GetPhysicalAddressProcess     gcmHAL2D(gckOS_GetPhysicalAddressProcess)
+#define gckOS_MapPhysical                   gcmHAL2D(gckOS_MapPhysical)
+#define gckOS_UnmapPhysical             gcmHAL2D(gckOS_UnmapPhysical)
+#define gckOS_ReadRegister              gcmHAL2D(gckOS_ReadRegister)
+#define gckOS_WriteRegister             gcmHAL2D(gckOS_WriteRegister)
+#define gckOS_WriteMemory               gcmHAL2D(gckOS_WriteMemory)
+#define gckOS_MapMemory                 gcmHAL2D(gckOS_MapMemory)
+#define gckOS_UnmapMemory               gcmHAL2D(gckOS_UnmapMemory)
+#define gckOS_UnmapMemoryEx             gcmHAL2D(gckOS_UnmapMemoryEx)
+#define gckOS_CreateMutex               gcmHAL2D(gckOS_CreateMutex)
+#define gckOS_DeleteMutex               gcmHAL2D(gckOS_DeleteMutex)
+#define gckOS_AcquireMutex              gcmHAL2D(gckOS_AcquireMutex)
+#define gckOS_ReleaseMutex              gcmHAL2D(gckOS_ReleaseMutex)
+#define gckOS_AtomicExchange            gcmHAL2D(gckOS_AtomicExchange)
+#define gckOS_AtomicExchangePtr         gcmHAL2D(gckOS_AtomicExchangePtr)
+#define gckOS_AtomConstruct             gcmHAL2D(gckOS_AtomConstruct)
+#define gckOS_AtomDestroy               gcmHAL2D(gckOS_AtomDestroy)
+#define gckOS_AtomGet                   gcmHAL2D(gckOS_AtomGet)
+#define gckOS_AtomIncrement             gcmHAL2D(gckOS_AtomIncrement)
+#define gckOS_AtomDecrement             gcmHAL2D(gckOS_AtomDecrement)
+#define gckOS_Delay                     gcmHAL2D(gckOS_Delay)
+#define gckOS_GetTime                   gcmHAL2D(gckOS_GetTime)
+#define gckOS_MemoryBarrier             gcmHAL2D(gckOS_MemoryBarrier)
+#define gckOS_MapUserPointer            gcmHAL2D(gckOS_MapUserPointer)
+#define gckOS_UnmapUserPointer          gcmHAL2D(gckOS_UnmapUserPointer)
+#define gckOS_QueryNeedCopy             gcmHAL2D(gckOS_QueryNeedCopy)
+#define gckOS_CopyFromUserData          gcmHAL2D(gckOS_CopyFromUserData)
+#define gckOS_CopyToUserData            gcmHAL2D(gckOS_CopyToUserData)
+#define gckOS_MapUserPhysical           gcmHAL2D(gckOS_MapUserPhysical)
+#define gckOS_SuspendInterrupt          gcmHAL2D(gckOS_SuspendInterrupt)
+#define gckOS_ResumeInterrupt           gcmHAL2D(gckOS_ResumeInterrupt)
+#define gckOS_GetBaseAddress            gcmHAL2D(gckOS_GetBaseAddress)
+#define gckOS_MemCopy                   gcmHAL2D(gckOS_MemCopy)
+#define gckOS_ZeroMemory                gcmHAL2D(gckOS_ZeroMemory)
+#define gckOS_DeviceControl             gcmHAL2D(gckOS_DeviceControl)
+#define gckOS_GetProcessID              gcmHAL2D(gckOS_GetProcessID)
+#define gckOS_GetThreadID               gcmHAL2D(gckOS_GetThreadID)
+#define gckOS_CreateSignal              gcmHAL2D(gckOS_CreateSignal)
+#define gckOS_DestroySignal             gcmHAL2D(gckOS_DestroySignal)
+#define gckOS_Signal                    gcmHAL2D(gckOS_Signal)
+#define gckOS_WaitSignal                gcmHAL2D(gckOS_WaitSignal)
+#define gckOS_MapSignal                 gcmHAL2D(gckOS_MapSignal)
+#define gckOS_MapUserMemory             gcmHAL2D(gckOS_MapUserMemory)
+#define gckOS_UnmapUserMemory           gcmHAL2D(gckOS_UnmapUserMemory)
+#define gckOS_CreateUserSignal          gcmHAL2D(gckOS_CreateUserSignal)
+#define gckOS_DestroyUserSignal         gcmHAL2D(gckOS_DestroyUserSignal)
+#define gckOS_WaitUserSignal            gcmHAL2D(gckOS_WaitUserSignal)
+#define gckOS_SignalUserSignal          gcmHAL2D(gckOS_SignalUserSignal)
+#define gckOS_UserSignal                gcmHAL2D(gckOS_UserSignal)
+#define gckOS_UserSignal                gcmHAL2D(gckOS_UserSignal)
+#define gckOS_CacheClean                gcmHAL2D(gckOS_CacheClean)
+#define gckOS_CacheFlush                gcmHAL2D(gckOS_CacheFlush)
+#define gckOS_SetDebugLevel             gcmHAL2D(gckOS_SetDebugLevel)
+#define gckOS_SetDebugZone              gcmHAL2D(gckOS_SetDebugZone)
+#define gckOS_SetDebugLevelZone         gcmHAL2D(gckOS_SetDebugLevelZone)
+#define gckOS_SetDebugZones             gcmHAL2D(gckOS_SetDebugZones)
+#define gckOS_SetDebugFile              gcmHAL2D(gckOS_SetDebugFile)
+#define gckOS_Broadcast                 gcmHAL2D(gckOS_Broadcast)
+#define gckOS_SetGPUPower               gcmHAL2D(gckOS_SetGPUPower)
+#define gckOS_CreateSemaphore           gcmHAL2D(gckOS_CreateSemaphore)
+#define gckOS_DestroySemaphore          gcmHAL2D(gckOS_DestroySemaphore)
+#define gckOS_AcquireSemaphore          gcmHAL2D(gckOS_AcquireSemaphore)
+#define gckOS_ReleaseSemaphore          gcmHAL2D(gckOS_ReleaseSemaphore)
+#define gckHEAP_Construct               gcmHAL2D(gckHEAP_Construct)
+#define gckHEAP_Destroy                 gcmHAL2D(gckHEAP_Destroy)
+#define gckHEAP_Allocate                gcmHAL2D(gckHEAP_Allocate)
+#define gckHEAP_Free                    gcmHAL2D(gckHEAP_Free)
+#define gckHEAP_ProfileStart            gcmHAL2D(gckHEAP_ProfileStart)
+#define gckHEAP_ProfileEnd              gcmHAL2D(gckHEAP_ProfileEnd)
+#define gckHEAP_Test                    gcmHAL2D(gckHEAP_Test)
+#define gckVIDMEM_Construct             gcmHAL2D(gckVIDMEM_Construct)
+#define gckVIDMEM_Destroy               gcmHAL2D(gckVIDMEM_Destroy)
+#define gckVIDMEM_Allocate              gcmHAL2D(gckVIDMEM_Allocate)
+#define gckVIDMEM_AllocateLinear        gcmHAL2D(gckVIDMEM_AllocateLinear)
+#define gckVIDMEM_Free                  gcmHAL2D(gckVIDMEM_Free)
+#define gckVIDMEM_Lock                  gcmHAL2D(gckVIDMEM_Lock)
+#define gckVIDMEM_Unlock                gcmHAL2D(gckVIDMEM_Unlock)
+#define gckVIDMEM_ConstructVirtual      gcmHAL2D(gckVIDMEM_ConstructVirtual)
+#define gckVIDMEM_DestroyVirtual        gcmHAL2D(gckVIDMEM_DestroyVirtual)
+#define gckKERNEL_Construct             gcmHAL2D(gckKERNEL_Construct)
+#define gckKERNEL_Destroy               gcmHAL2D(gckKERNEL_Destroy)
+#define gckKERNEL_Dispatch              gcmHAL2D(gckKERNEL_Dispatch)
+#define gckKERNEL_QueryVideoMemory      gcmHAL2D(gckKERNEL_QueryVideoMemory)
+#define gckKERNEL_GetVideoMemoryPool    gcmHAL2D(gckKERNEL_GetVideoMemoryPool)
+#define gckKERNEL_MapVideoMemory        gcmHAL2D(gckKERNEL_MapVideoMemory)
+#define gckKERNEL_UnmapVideoMemory      gcmHAL2D(gckKERNEL_UnmapVideoMemory)
+#define gckKERNEL_MapMemory             gcmHAL2D(gckKERNEL_MapMemory)
+#define gckKERNEL_UnmapMemory           gcmHAL2D(gckKERNEL_UnmapMemory)
+#define gckKERNEL_Notify                gcmHAL2D(gckKERNEL_Notify)
+#define gckKERNEL_QuerySettings         gcmHAL2D(gckKERNEL_QuerySettings)
+#define gckKERNEL_Recovery              gcmHAL2D(gckKERNEL_Recovery)
+#define gckKERNEL_OpenUserData          gcmHAL2D(gckKERNEL_OpenUserData)
+#define gckKERNEL_CloseUserData         gcmHAL2D(gckKERNEL_CloseUserData)
+#define gckHARDWARE_Construct           gcmHAL2D(gckHARDWARE_Construct)
+#define gckHARDWARE_Destroy             gcmHAL2D(gckHARDWARE_Destroy)
+#define gckHARDWARE_QuerySystemMemory   gcmHAL2D(gckHARDWARE_QuerySystemMemory)
+#define gckHARDWARE_BuildVirtualAddress     gcmHAL2D(gckHARDWARE_BuildVirtualAddress)
+#define gckHARDWARE_QueryCommandBuffer      gcmHAL2D(gckHARDWARE_QueryCommandBuffer)
+#define gckHARDWARE_WaitLink            gcmHAL2D(gckHARDWARE_WaitLink)
+#define gckHARDWARE_Execute             gcmHAL2D(gckHARDWARE_Execute)
+#define gckHARDWARE_End                 gcmHAL2D(gckHARDWARE_End)
+#define gckHARDWARE_Nop                 gcmHAL2D(gckHARDWARE_Nop)
+#define gckHARDWARE_Wait                gcmHAL2D(gckHARDWARE_Wait)
+#define gckHARDWARE_PipeSelect          gcmHAL2D(gckHARDWARE_PipeSelect)
+#define gckHARDWARE_Link                gcmHAL2D(gckHARDWARE_Link)
+#define gckHARDWARE_Event               gcmHAL2D(gckHARDWARE_Event)
+#define gckHARDWARE_QueryMemory         gcmHAL2D(gckHARDWARE_QueryMemory)
+#define gckHARDWARE_QueryChipIdentity   gcmHAL2D(gckHARDWARE_QueryChipIdentity)
+#define gckHARDWARE_QueryChipSpecs      gcmHAL2D(gckHARDWARE_QueryChipSpecs)
+#define gckHARDWARE_QueryShaderCaps     gcmHAL2D(gckHARDWARE_QueryShaderCaps)
+#define gckHARDWARE_ConvertFormat       gcmHAL2D(gckHARDWARE_ConvertFormat)
+#define gckHARDWARE_SplitMemory         gcmHAL2D(gckHARDWARE_SplitMemory)
+#define gckHARDWARE_AlignToTile         gcmHAL2D(gckHARDWARE_AlignToTile)
+#define gckHARDWARE_UpdateQueueTail     gcmHAL2D(gckHARDWARE_UpdateQueueTail)
+#define gckHARDWARE_ConvertLogical      gcmHAL2D(gckHARDWARE_ConvertLogical)
+#define gckHARDWARE_ConvertPhysical     gcmHAL2D(gckHARDWARE_ConvertPhysical)
+#define gckHARDWARE_Interrupt           gcmHAL2D(gckHARDWARE_Interrupt)
+#define gckHARDWARE_SetMMU              gcmHAL2D(gckHARDWARE_SetMMU)
+#define gckHARDWARE_FlushMMU            gcmHAL2D(gckHARDWARE_FlushMMU)
+#define gckHARDWARE_GetIdle             gcmHAL2D(gckHARDWARE_GetIdle)
+#define gckHARDWARE_Flush               gcmHAL2D(gckHARDWARE_Flush)
+#define gckHARDWARE_SetFastClear        gcmHAL2D(gckHARDWARE_SetFastClear)
+#define gckHARDWARE_ReadInterrupt       gcmHAL2D(gckHARDWARE_ReadInterrupt)
+#define gckHARDWARE_SetPowerManagementState         gcmHAL2D(gckHARDWARE_SetPowerManagementState)
+#define gckHARDWARE_QueryPowerManagementState       gcmHAL2D(gckHARDWARE_QueryPowerManagementState)
+#define gckHARDWARE_ProfileEngine2D     gcmHAL2D(gckHARDWARE_ProfileEngine2D)
+#define gckHARDWARE_InitializeHardware  gcmHAL2D(gckHARDWARE_InitializeHardware)
+#define gckHARDWARE_Reset               gcmHAL2D(gckHARDWARE_Reset)
+#define gckINTERRUPT_Construct          gcmHAL2D(gckINTERRUPT_Construct)
+#define gckINTERRUPT_Destroy            gcmHAL2D(gckINTERRUPT_Destroy)
+#define gckINTERRUPT_SetHandler         gcmHAL2D(gckINTERRUPT_SetHandler)
+#define gckINTERRUPT_Notify             gcmHAL2D(gckINTERRUPT_Notify)
+#define gckEVENT_Construct              gcmHAL2D(gckEVENT_Construct)
+#define gckEVENT_Destroy                gcmHAL2D(gckEVENT_Destroy)
+#define gckEVENT_AddList                gcmHAL2D(gckEVENT_AddList)
+#define gckEVENT_FreeNonPagedMemory     gcmHAL2D(gckEVENT_FreeNonPagedMemory)
+#define gckEVENT_FreeContiguousMemory   gcmHAL2D(gckEVENT_FreeContiguousMemory)
+#define gckEVENT_FreeVideoMemory        gcmHAL2D(gckEVENT_FreeVideoMemory)
+#define gckEVENT_Signal                 gcmHAL2D(gckEVENT_Signal)
+#define gckEVENT_Unlock                 gcmHAL2D(gckEVENT_Unlock)
+#define gckEVENT_Submit                 gcmHAL2D(gckEVENT_Submit)
+#define gckEVENT_Commit                 gcmHAL2D(gckEVENT_Commit)
+#define gckEVENT_Notify                 gcmHAL2D(gckEVENT_Notify)
+#define gckEVENT_Interrupt              gcmHAL2D(gckEVENT_Interrupt)
+#define gckCOMMAND_Construct            gcmHAL2D(gckCOMMAND_Construct)
+#define gckCOMMAND_Destroy              gcmHAL2D(gckCOMMAND_Destroy)
+#define gckCOMMAND_EnterCommit          gcmHAL2D(gckCOMMAND_EnterCommit)
+#define gckCOMMAND_ExitCommit           gcmHAL2D(gckCOMMAND_ExitCommit)
+#define gckCOMMAND_Start                gcmHAL2D(gckCOMMAND_Start)
+#define gckCOMMAND_Stop                 gcmHAL2D(gckCOMMAND_Stop)
+#define gckCOMMAND_Commit               gcmHAL2D(gckCOMMAND_Commit)
+#define gckCOMMAND_Reserve              gcmHAL2D(gckCOMMAND_Reserve)
+#define gckCOMMAND_Execute              gcmHAL2D(gckCOMMAND_Execute)
+#define gckCOMMAND_Stall                gcmHAL2D(gckCOMMAND_Stall)
+#define gckCOMMAND_Attach               gcmHAL2D(gckCOMMAND_Attach)
+#define gckCOMMAND_Detach               gcmHAL2D(gckCOMMAND_Detach)
+#define gckMMU_Construct                gcmHAL2D(gckMMU_Construct)
+#define gckMMU_Destroy                  gcmHAL2D(gckMMU_Destroy)
+#define gckMMU_AllocatePages            gcmHAL2D(gckMMU_AllocatePages)
+#define gckMMU_FreePages                gcmHAL2D(gckMMU_FreePages)
+#define gckMMU_InsertNode               gcmHAL2D(gckMMU_InsertNode)
+#define gckMMU_RemoveNode               gcmHAL2D(gckMMU_RemoveNode)
+#define gckMMU_FreeHandleMemory         gcmHAL2D(gckMMU_FreeHandleMemory)
+#define gckMMU_Test                     gcmHAL2D(gckMMU_Test)
+#define gckHARDWARE_QueryProfileRegisters     gcmHAL2D(gckHARDWARE_QueryProfileRegisters)
+
+
+#define FindMdlMap                      gcmHAL2D(FindMdlMap)
+#define OnProcessExit                   gcmHAL2D(OnProcessExit)
+
+#define gckGALDEVICE_Destroy            gcmHAL2D(gckGALDEVICE_Destroy)
+#define gckOS_Print                     gcmHAL2D(gckOS_Print)
+#define gckGALDEVICE_FreeMemory         gcmHAL2D(gckGALDEVICE_FreeMemory)
+#define gckGALDEVICE_AllocateMemory     gcmHAL2D(gckGALDEVICE_AllocateMemory)
+#define gckOS_DebugBreak                gcmHAL2D(gckOS_DebugBreak)
+#define gckGALDEVICE_Release_ISR        gcmHAL2D(gckGALDEVICE_Release_ISR)
+#define gckOS_Verify                    gcmHAL2D(gckOS_Verify)
+#define gckCOMMAND_Release              gcmHAL2D(gckCOMMAND_Release)
+#define gckGALDEVICE_Stop               gcmHAL2D(gckGALDEVICE_Stop)
+#define gckGALDEVICE_Construct          gcmHAL2D(gckGALDEVICE_Construct)
+#define gckOS_DebugFatal                gcmHAL2D(gckOS_DebugFatal)
+#define gckOS_DebugTrace                gcmHAL2D(gckOS_DebugTrace)
+#define gckHARDWARE_GetBaseAddress      gcmHAL2D(gckHARDWARE_GetBaseAddress)
+#define gckGALDEVICE_Setup_ISR          gcmHAL2D(gckGALDEVICE_Setup_ISR)
+#define gckKERNEL_AttachProcess         gcmHAL2D(gckKERNEL_AttachProcess)
+#define gckKERNEL_AttachProcessEx       gcmHAL2D(gckKERNEL_AttachProcessEx)
+#define gckGALDEVICE_Start_Thread       gcmHAL2D(gckGALDEVICE_Start_Thread)
+#define gckHARDWARE_QueryIdle           gcmHAL2D(gckHARDWARE_QueryIdle)
+#define gckGALDEVICE_Start              gcmHAL2D(gckGALDEVICE_Start)
+#define gckOS_GetKernelLogical          gcmHAL2D(gckOS_GetKernelLogical)
+#define gckOS_DebugTraceZone            gcmHAL2D(gckOS_DebugTraceZone)
+#define gckGALDEVICE_Stop_Thread        gcmHAL2D(gckGALDEVICE_Stop_Thread)
+#define gckHARDWARE_NeedBaseAddress     gcmHAL2D(gckHARDWARE_NeedBaseAddress)
+
+#endif
+
+#endif /* __gc_hal_rename_h_ */
diff --git a/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_statistics.h b/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_statistics.h
new file mode 100644 (file)
index 0000000..82336e8
--- /dev/null
@@ -0,0 +1,115 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#ifndef __gc_hal_statistics_h_
+#define __gc_hal_statistics_h_
+
+
+#define VIV_STAT_ENABLE_STATISTICS              0
+
+/*  Toal number of frames for which the frame time is accounted. We have storage
+    to keep frame times for last this many frames.
+*/
+#define VIV_STAT_FRAME_BUFFER_SIZE              30
+
+/*
+    Total number of frames sampled for a mode. This means
+
+    # of frames for HZ Current  : VIV_STAT_EARLY_Z_SAMPLE_FRAMES
+    # of frames for HZ Switched : VIV_STAT_EARLY_Z_SAMPLE_FRAMES
+  +
+  --------------------------------------------------------
+                                : (2 * VIV_STAT_EARLY_Z_SAMPLE_FRAMES) frames needed
+
+    IMPORTANT: This total must be smaller than VIV_STAT_FRAME_BUFFER_SIZE
+*/
+#define VIV_STAT_EARLY_Z_SAMPLE_FRAMES          7
+#define VIV_STAT_EARLY_Z_LATENCY_FRAMES         2
+
+/* Multiplication factor for previous Hz off mode. Make it more than 1.0 to advertise HZ on.*/
+#define VIV_STAT_EARLY_Z_FACTOR                 (1.05f)
+
+/* Defines the statistical data keys monitored by the statistics module */
+typedef enum _gceSTATISTICS
+{
+    gcvFRAME_FPS        =   1,
+}
+gceSTATISTICS;
+
+/* HAL statistics information. */
+typedef struct _gcsSTATISTICS_EARLYZ
+{
+    gctUINT                     switchBackCount;
+    gctUINT                     nextCheckPoint;
+    gctBOOL                     disabled;
+}
+gcsSTATISTICS_EARLYZ;
+
+
+/* Defines the statistical data keys monitored by the statistics module */
+typedef enum _gceSTATISTICS_Call
+{
+       gcvSTAT_ES11_GLDRAWELEMENTS      =   1,
+}
+gceSTATISTICS_Call;
+
+
+/* HAL statistics information. */
+typedef struct _gcsSTATISTICS
+{
+    gctUINT64                   frameTime[VIV_STAT_FRAME_BUFFER_SIZE];
+    gctUINT64                   previousFrameTime;
+    gctUINT                     frame;
+    gcsSTATISTICS_EARLYZ        earlyZ;
+       gctUINT                                         ES11_drawElementsCount;
+       gctBOOL                                         applyRTestVAFix;
+}
+gcsSTATISTICS;
+
+
+/* Add a frame based data into current statistics. */
+void
+gcfSTATISTICS_AddData(
+    IN gceSTATISTICS Key,
+    IN gctUINT Value
+    );
+
+/* Marks the frame end and triggers statistical calculations and decisions.*/
+void
+gcfSTATISTICS_MarkFrameEnd (
+    void
+    );
+
+/* Sets whether the dynmaic HZ is disabled or not .*/
+void
+gcfSTATISTICS_DisableDynamicEarlyZ (
+    IN gctBOOL Disabled
+    );
+
+/* Checks whether or not glDrawArray function call will be discarded */
+gctBOOL
+gcfSTATISTICS_DiscardCall(
+       gceSTATISTICS_Call Function
+       );
+
+
+#endif /*__gc_hal_statistics_h_ */
+
diff --git a/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_types.h b/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_types.h
new file mode 100644 (file)
index 0000000..b446529
--- /dev/null
@@ -0,0 +1,1080 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#ifndef __gc_hal_types_h_
+#define __gc_hal_types_h_
+
+#include "gc_hal_version.h"
+#include "gc_hal_options.h"
+
+#ifdef _WIN32
+#pragma warning(disable:4127)   /* Conditional expression is constant (do { }
+                                ** while(0)). */
+#pragma warning(disable:4100)   /* Unreferenced formal parameter. */
+#pragma warning(disable:4204)   /* Non-constant aggregate initializer (C99). */
+#pragma warning(disable:4131)   /* Uses old-style declarator (for Bison and
+                                ** Flex generated files). */
+#pragma warning(disable:4206)   /* Translation unit is empty. */
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/******************************************************************************\
+**  Platform macros.
+*/
+
+#if defined(__GNUC__)
+#   define gcdHAS_ELLIPSES      1       /* GCC always has it. */
+#elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
+#   define gcdHAS_ELLIPSES      1       /* C99 has it. */
+#elif defined(_MSC_VER) && (_MSC_VER >= 1500)
+#   define gcdHAS_ELLIPSES      1       /* MSVC 2007+ has it. */
+#elif defined(UNDER_CE)
+#if UNDER_CE >= 600
+#       define gcdHAS_ELLIPSES  1
+#   else
+#       define gcdHAS_ELLIPSES  0
+#   endif
+#else
+#   error "gcdHAS_ELLIPSES: Platform could not be determined"
+#endif
+
+/******************************************************************************\
+************************************ Keyword ***********************************
+\******************************************************************************/
+
+#if (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L))
+#   define gcmINLINE            inline      /* C99 keyword. */
+#elif defined(__GNUC__)
+#   define gcmINLINE            __inline__  /* GNU keyword. */
+#elif defined(_MSC_VER) || defined(UNDER_CE)
+#   define gcmINLINE            __inline    /* Internal keyword. */
+#else
+#   error "gcmINLINE: Platform could not be determined"
+#endif
+
+/* Possible debug flags. */
+#define gcdDEBUG_NONE           0
+#define gcdDEBUG_ALL            (1 << 0)
+#define gcdDEBUG_FATAL          (1 << 1)
+#define gcdDEBUG_TRACE          (1 << 2)
+#define gcdDEBUG_BREAK          (1 << 3)
+#define gcdDEBUG_ASSERT         (1 << 4)
+#define gcdDEBUG_CODE           (1 << 5)
+#define gcdDEBUG_STACK          (1 << 6)
+
+#define gcmIS_DEBUG(flag)       ( gcdDEBUG & (flag | gcdDEBUG_ALL) )
+
+#ifndef gcdDEBUG
+#if (defined(DBG) && DBG) || defined(DEBUG) || defined(_DEBUG)
+#       define gcdDEBUG         gcdDEBUG_ALL
+#   else
+#       define gcdDEBUG         gcdDEBUG_NONE
+#   endif
+#endif
+
+#ifdef _USRDLL
+#ifdef _MSC_VER
+#ifdef HAL_EXPORTS
+#           define HALAPI       __declspec(dllexport)
+#       else
+#           define HALAPI       __declspec(dllimport)
+#       endif
+#       define HALDECL          __cdecl
+#   else
+#ifdef HAL_EXPORTS
+#           define HALAPI
+#       else
+#           define HALAPI       extern
+#       endif
+#   endif
+#else
+#   define HALAPI
+#   define HALDECL
+#endif
+
+/******************************************************************************\
+********************************** Common Types ********************************
+\******************************************************************************/
+
+#define gcvFALSE                0
+#define gcvTRUE                 1
+
+#define gcvINFINITE             ((gctUINT32) ~0U)
+
+#define gcvINVALID_HANDLE       ((gctHANDLE) ~0U)
+
+typedef int                     gctBOOL;
+typedef gctBOOL *               gctBOOL_PTR;
+
+typedef int                     gctINT;
+typedef long                    gctLONG;
+typedef signed char             gctINT8;
+typedef signed short            gctINT16;
+typedef signed int              gctINT32;
+typedef signed long long        gctINT64;
+
+typedef gctINT *                gctINT_PTR;
+typedef gctINT8 *               gctINT8_PTR;
+typedef gctINT16 *              gctINT16_PTR;
+typedef gctINT32 *              gctINT32_PTR;
+typedef gctINT64 *              gctINT64_PTR;
+
+typedef unsigned int            gctUINT;
+typedef unsigned char           gctUINT8;
+typedef unsigned short          gctUINT16;
+typedef unsigned int            gctUINT32;
+typedef unsigned long long      gctUINT64;
+typedef unsigned long           gctUINTPTR_T;
+
+typedef gctUINT *               gctUINT_PTR;
+typedef gctUINT8 *              gctUINT8_PTR;
+typedef gctUINT16 *             gctUINT16_PTR;
+typedef gctUINT32 *             gctUINT32_PTR;
+typedef gctUINT64 *             gctUINT64_PTR;
+
+typedef unsigned long           gctSIZE_T;
+typedef gctSIZE_T *             gctSIZE_T_PTR;
+
+#ifdef __cplusplus
+#   define gcvNULL              0
+#else
+#   define gcvNULL              ((void *) 0)
+#endif
+
+typedef float                   gctFLOAT;
+typedef signed int              gctFIXED_POINT;
+typedef float *                 gctFLOAT_PTR;
+
+typedef void *                  gctPHYS_ADDR;
+typedef void *                  gctHANDLE;
+typedef void *                  gctFILE;
+typedef void *                  gctSIGNAL;
+typedef void *                  gctWINDOW;
+typedef void *                  gctIMAGE;
+typedef void *                  gctSYNC_POINT;
+
+typedef void *                                 gctSEMAPHORE;
+
+typedef void *                  gctPOINTER;
+typedef const void *            gctCONST_POINTER;
+
+typedef char                    gctCHAR;
+typedef char *                  gctSTRING;
+typedef const char *            gctCONST_STRING;
+
+typedef struct _gcsCOUNT_STRING
+{
+    gctSIZE_T                   Length;
+    gctCONST_STRING             String;
+}
+gcsCOUNT_STRING;
+
+typedef union _gcuFLOAT_UINT32
+{
+    gctFLOAT    f;
+    gctUINT32   u;
+}
+gcuFLOAT_UINT32;
+
+/* Fixed point constants. */
+#define gcvZERO_X               ((gctFIXED_POINT) 0x00000000)
+#define gcvHALF_X               ((gctFIXED_POINT) 0x00008000)
+#define gcvONE_X                ((gctFIXED_POINT) 0x00010000)
+#define gcvNEGONE_X             ((gctFIXED_POINT) 0xFFFF0000)
+#define gcvTWO_X                ((gctFIXED_POINT) 0x00020000)
+
+/* Stringizing macro. */
+#define gcmSTRING(Value)        #Value
+
+/******************************************************************************\
+******************************* Fixed Point Math *******************************
+\******************************************************************************/
+
+#define gcmXMultiply(x1, x2)            gcoMATH_MultiplyFixed(x1, x2)
+#define gcmXDivide(x1, x2)              gcoMATH_DivideFixed(x1, x2)
+#define gcmXMultiplyDivide(x1, x2, x3)  gcoMATH_MultiplyDivideFixed(x1, x2, x3)
+
+/* 2D Engine profile. */
+typedef struct _gcs2D_PROFILE
+{
+    /* Cycle count.
+       32bit counter incremented every 2D clock cycle.
+       Wraps back to 0 when the counter overflows.
+    */
+    gctUINT32 cycleCount;
+
+    /* Pixels rendered by the 2D engine.
+       Resets to 0 every time it is read. */
+    gctUINT32 pixelsRendered;
+}
+gcs2D_PROFILE;
+
+/* Macro to combine four characters into a Charcater Code. */
+#define gcmCC(c1, c2, c3, c4) \
+( \
+    (char) (c1) \
+    | \
+    ((char) (c2) <<  8) \
+    | \
+    ((char) (c3) << 16) \
+    | \
+    ((char) (c4) << 24) \
+)
+
+#define gcmPRINTABLE(c)         ((((c) >= ' ') && ((c) <= '}')) ? ((c) != '%' ?  (c) : ' ') : ' ')
+
+#define gcmCC_PRINT(cc) \
+    gcmPRINTABLE((char) ( (cc)        & 0xFF)), \
+    gcmPRINTABLE((char) (((cc) >>  8) & 0xFF)), \
+    gcmPRINTABLE((char) (((cc) >> 16) & 0xFF)), \
+    gcmPRINTABLE((char) (((cc) >> 24) & 0xFF))
+
+/******************************************************************************\
+****************************** Function Parameters *****************************
+\******************************************************************************/
+
+#define IN
+#define OUT
+#define OPTIONAL
+
+/******************************************************************************\
+********************************* Status Codes *********************************
+\******************************************************************************/
+
+typedef enum _gceSTATUS
+{
+    gcvSTATUS_OK                    =   0,
+    gcvSTATUS_FALSE                 =   0,
+    gcvSTATUS_TRUE                  =   1,
+    gcvSTATUS_NO_MORE_DATA          =   2,
+    gcvSTATUS_CACHED                =   3,
+    gcvSTATUS_MIPMAP_TOO_LARGE      =   4,
+    gcvSTATUS_NAME_NOT_FOUND        =   5,
+    gcvSTATUS_NOT_OUR_INTERRUPT     =   6,
+    gcvSTATUS_MISMATCH              =   7,
+    gcvSTATUS_MIPMAP_TOO_SMALL      =   8,
+    gcvSTATUS_LARGER                =   9,
+    gcvSTATUS_SMALLER               =   10,
+    gcvSTATUS_CHIP_NOT_READY        =   11,
+    gcvSTATUS_NEED_CONVERSION       =   12,
+    gcvSTATUS_SKIP                  =   13,
+    gcvSTATUS_DATA_TOO_LARGE        =   14,
+    gcvSTATUS_INVALID_CONFIG        =   15,
+    gcvSTATUS_CHANGED               =   16,
+    gcvSTATUS_NOT_SUPPORT_DITHER    =   17,
+       gcvSTATUS_EXECUTED                              =       18,
+    gcvSTATUS_TERMINATE             =   19,
+
+    gcvSTATUS_CONVERT_TO_SINGLE_STREAM    =   20,
+
+    gcvSTATUS_INVALID_ARGUMENT      =   -1,
+    gcvSTATUS_INVALID_OBJECT        =   -2,
+    gcvSTATUS_OUT_OF_MEMORY         =   -3,
+    gcvSTATUS_MEMORY_LOCKED         =   -4,
+    gcvSTATUS_MEMORY_UNLOCKED       =   -5,
+    gcvSTATUS_HEAP_CORRUPTED        =   -6,
+    gcvSTATUS_GENERIC_IO            =   -7,
+    gcvSTATUS_INVALID_ADDRESS       =   -8,
+    gcvSTATUS_CONTEXT_LOSSED        =   -9,
+    gcvSTATUS_TOO_COMPLEX           =   -10,
+    gcvSTATUS_BUFFER_TOO_SMALL      =   -11,
+    gcvSTATUS_INTERFACE_ERROR       =   -12,
+    gcvSTATUS_NOT_SUPPORTED         =   -13,
+    gcvSTATUS_MORE_DATA             =   -14,
+    gcvSTATUS_TIMEOUT               =   -15,
+    gcvSTATUS_OUT_OF_RESOURCES      =   -16,
+    gcvSTATUS_INVALID_DATA          =   -17,
+    gcvSTATUS_INVALID_MIPMAP        =   -18,
+    gcvSTATUS_NOT_FOUND             =   -19,
+    gcvSTATUS_NOT_ALIGNED           =   -20,
+    gcvSTATUS_INVALID_REQUEST       =   -21,
+    gcvSTATUS_GPU_NOT_RESPONDING    =   -22,
+    gcvSTATUS_TIMER_OVERFLOW        =   -23,
+    gcvSTATUS_VERSION_MISMATCH      =   -24,
+    gcvSTATUS_LOCKED                =   -25,
+    gcvSTATUS_INTERRUPTED           =   -26,
+    gcvSTATUS_DEVICE                =   -27,
+    gcvSTATUS_NOT_MULTI_PIPE_ALIGNED =   -28,
+
+    /* Linker errors. */
+    gcvSTATUS_GLOBAL_TYPE_MISMATCH  =   -1000,
+    gcvSTATUS_TOO_MANY_ATTRIBUTES   =   -1001,
+    gcvSTATUS_TOO_MANY_UNIFORMS     =   -1002,
+    gcvSTATUS_TOO_MANY_VARYINGS     =   -1003,
+    gcvSTATUS_UNDECLARED_VARYING    =   -1004,
+    gcvSTATUS_VARYING_TYPE_MISMATCH =   -1005,
+    gcvSTATUS_MISSING_MAIN          =   -1006,
+    gcvSTATUS_NAME_MISMATCH         =   -1007,
+    gcvSTATUS_INVALID_INDEX         =   -1008,
+    gcvSTATUS_UNIFORM_TYPE_MISMATCH =   -1009,
+
+    /* Compiler errors. */
+    gcvSTATUS_COMPILER_FE_PREPROCESSOR_ERROR = -2000,
+    gcvSTATUS_COMPILER_FE_PARSER_ERROR = -2001,
+}
+gceSTATUS;
+
+/******************************************************************************\
+********************************* Status Macros ********************************
+\******************************************************************************/
+
+#define gcmIS_ERROR(status)         (status < 0)
+#define gcmNO_ERROR(status)         (status >= 0)
+#define gcmIS_SUCCESS(status)       (status == gcvSTATUS_OK)
+
+/******************************************************************************\
+********************************* Field Macros *********************************
+\******************************************************************************/
+
+#define __gcmSTART(reg_field) \
+    (0 ? reg_field)
+
+#define __gcmEND(reg_field) \
+    (1 ? reg_field)
+
+#define __gcmGETSIZE(reg_field) \
+    (__gcmEND(reg_field) - __gcmSTART(reg_field) + 1)
+
+#define __gcmALIGN(data, reg_field) \
+    (((gctUINT32) (data)) << __gcmSTART(reg_field))
+
+#define __gcmMASK(reg_field) \
+    ((gctUINT32) ((__gcmGETSIZE(reg_field) == 32) \
+        ?  ~0 \
+        : (~(~0 << __gcmGETSIZE(reg_field)))))
+
+/*******************************************************************************
+**
+**  gcmFIELDMASK
+**
+**      Get aligned field mask.
+**
+**  ARGUMENTS:
+**
+**      reg     Name of register.
+**      field   Name of field within register.
+*/
+#define gcmFIELDMASK(reg, field) \
+( \
+    __gcmALIGN(__gcmMASK(reg##_##field), reg##_##field) \
+)
+
+/*******************************************************************************
+**
+**  gcmGETFIELD
+**
+**      Extract the value of a field from specified data.
+**
+**  ARGUMENTS:
+**
+**      data    Data value.
+**      reg     Name of register.
+**      field   Name of field within register.
+*/
+#define gcmGETFIELD(data, reg, field) \
+( \
+    ((((gctUINT32) (data)) >> __gcmSTART(reg##_##field)) \
+        & __gcmMASK(reg##_##field)) \
+)
+
+/*******************************************************************************
+**
+**  gcmSETFIELD
+**
+**      Set the value of a field within specified data.
+**
+**  ARGUMENTS:
+**
+**      data    Data value.
+**      reg     Name of register.
+**      field   Name of field within register.
+**      value   Value for field.
+*/
+#define gcmSETFIELD(data, reg, field, value) \
+( \
+    (((gctUINT32) (data)) \
+        & ~__gcmALIGN(__gcmMASK(reg##_##field), reg##_##field)) \
+        |  __gcmALIGN((gctUINT32) (value) \
+            & __gcmMASK(reg##_##field), reg##_##field) \
+)
+
+/*******************************************************************************
+**
+**  gcmSETFIELDVALUE
+**
+**      Set the value of a field within specified data with a
+**      predefined value.
+**
+**  ARGUMENTS:
+**
+**      data    Data value.
+**      reg     Name of register.
+**      field   Name of field within register.
+**      value   Name of the value within the field.
+*/
+#define gcmSETFIELDVALUE(data, reg, field, value) \
+( \
+    (((gctUINT32) (data)) \
+        & ~__gcmALIGN(__gcmMASK(reg##_##field), reg##_##field)) \
+        |  __gcmALIGN(reg##_##field##_##value \
+            & __gcmMASK(reg##_##field), reg##_##field) \
+)
+
+/*******************************************************************************
+**
+**  gcmGETMASKEDFIELDMASK
+**
+**      Determine field mask of a masked field.
+**
+**  ARGUMENTS:
+**
+**      reg     Name of register.
+**      field   Name of field within register.
+*/
+#define gcmGETMASKEDFIELDMASK(reg, field) \
+( \
+    gcmSETFIELD(0, reg,          field, ~0) | \
+    gcmSETFIELD(0, reg, MASK_ ## field, ~0)   \
+)
+
+/*******************************************************************************
+**
+**  gcmSETMASKEDFIELD
+**
+**      Set the value of a masked field with specified data.
+**
+**  ARGUMENTS:
+**
+**      reg     Name of register.
+**      field   Name of field within register.
+**      value   Value for field.
+*/
+#define gcmSETMASKEDFIELD(reg, field, value) \
+( \
+    gcmSETFIELD     (~0, reg,          field, value) & \
+    gcmSETFIELDVALUE(~0, reg, MASK_ ## field, ENABLED) \
+)
+
+/*******************************************************************************
+**
+**  gcmSETMASKEDFIELDVALUE
+**
+**      Set the value of a masked field with specified data.
+**
+**  ARGUMENTS:
+**
+**      reg     Name of register.
+**      field   Name of field within register.
+**      value   Value for field.
+*/
+#define gcmSETMASKEDFIELDVALUE(reg, field, value) \
+( \
+    gcmSETFIELDVALUE(~0, reg,          field, value) & \
+    gcmSETFIELDVALUE(~0, reg, MASK_ ## field, ENABLED) \
+)
+
+/*******************************************************************************
+**
+**  gcmVERIFYFIELDVALUE
+**
+**      Verify if the value of a field within specified data equals a
+**      predefined value.
+**
+**  ARGUMENTS:
+**
+**      data    Data value.
+**      reg     Name of register.
+**      field   Name of field within register.
+**      value   Name of the value within the field.
+*/
+#define gcmVERIFYFIELDVALUE(data, reg, field, value) \
+( \
+    (((gctUINT32) (data)) >> __gcmSTART(reg##_##field) & \
+                             __gcmMASK(reg##_##field)) \
+        == \
+    (reg##_##field##_##value & __gcmMASK(reg##_##field)) \
+)
+
+/*******************************************************************************
+**  Bit field macros.
+*/
+
+#define __gcmSTARTBIT(Field) \
+    ( 1 ? Field )
+
+#define __gcmBITSIZE(Field) \
+    ( 0 ? Field )
+
+#define __gcmBITMASK(Field) \
+( \
+    (1 << __gcmBITSIZE(Field)) - 1 \
+)
+
+#define gcmGETBITS(Value, Type, Field) \
+( \
+    ( ((Type) (Value)) >> __gcmSTARTBIT(Field) ) \
+    & \
+    __gcmBITMASK(Field) \
+)
+
+#define gcmSETBITS(Value, Type, Field, NewValue) \
+( \
+    ( ((Type) (Value)) \
+    & ~(__gcmBITMASK(Field) << __gcmSTARTBIT(Field)) \
+    ) \
+    | \
+    ( ( ((Type) (NewValue)) \
+      & __gcmBITMASK(Field) \
+      ) << __gcmSTARTBIT(Field) \
+    ) \
+)
+
+/*******************************************************************************
+**
+**  gcmISINREGRANGE
+**
+**      Verify whether the specified address is in the register range.
+**
+**  ARGUMENTS:
+**
+**      Address Address to be verified.
+**      Name    Name of a register.
+*/
+
+#define gcmISINREGRANGE(Address, Name) \
+( \
+    ((Address & (~0U << Name ## _LSB)) == (Name ## _Address >> 2)) \
+)
+
+/*******************************************************************************
+**
+**  A set of macros to aid state loading.
+**
+**  ARGUMENTS:
+**
+**      CommandBuffer   Pointer to a gcoCMDBUF object.
+**      StateDelta      Pointer to a gcsSTATE_DELTA state delta structure.
+**      Memory          Destination memory pointer of gctUINT32_PTR type.
+**      PartOfContext   Whether or not the state is a part of the context.
+**      FixedPoint      Whether or not the state is of the fixed point format.
+**      Count           Number of consecutive states to be loaded.
+**      Address         State address.
+**      Data            Data to be set to the state.
+*/
+
+/*----------------------------------------------------------------------------*/
+
+#if gcmIS_DEBUG(gcdDEBUG_CODE)
+
+#   define gcmSTORELOADSTATE(CommandBuffer, Memory, Address, Count) \
+        CommandBuffer->lastLoadStatePtr     = gcmPTR_TO_UINT64(Memory); \
+        CommandBuffer->lastLoadStateAddress = Address; \
+        CommandBuffer->lastLoadStateCount   = Count
+
+#   define gcmVERIFYLOADSTATE(CommandBuffer, Memory, Address) \
+        gcmASSERT( \
+            (gctUINT) (Memory  - gcmUINT64_TO_TYPE(CommandBuffer->lastLoadStatePtr, gctUINT32_PTR) - 1) \
+            == \
+            (gctUINT) (Address - CommandBuffer->lastLoadStateAddress) \
+            ); \
+        \
+        gcmASSERT(CommandBuffer->lastLoadStateCount > 0); \
+        \
+        CommandBuffer->lastLoadStateCount -= 1
+
+#   define gcmVERIFYLOADSTATEDONE(CommandBuffer) \
+        gcmASSERT(CommandBuffer->lastLoadStateCount == 0)
+
+#else
+
+#   define gcmSTORELOADSTATE(CommandBuffer, Memory, Address, Count)
+#   define gcmVERIFYLOADSTATE(CommandBuffer, Memory, Address)
+#   define gcmVERIFYLOADSTATEDONE(CommandBuffer)
+
+#endif
+
+#if gcdSECURE_USER
+
+#   define gcmDEFINESECUREUSER() \
+        gctUINT         __secure_user_offset__; \
+        gctUINT32_PTR   __secure_user_hintArray__;
+
+#   define gcmBEGINSECUREUSER() \
+        __secure_user_offset__ = reserve->lastOffset; \
+        \
+        __secure_user_hintArray__ = gcmUINT64_TO_PTR(reserve->hintArrayTail)
+
+#   define gcmENDSECUREUSER() \
+        reserve->hintArrayTail = gcmPTR_TO_UINT64(__secure_user_hintArray__)
+
+#   define gcmSKIPSECUREUSER() \
+        __secure_user_offset__ += gcmSIZEOF(gctUINT32)
+
+#   define gcmUPDATESECUREUSER() \
+        *__secure_user_hintArray__ = __secure_user_offset__; \
+        \
+        __secure_user_offset__    += gcmSIZEOF(gctUINT32); \
+        __secure_user_hintArray__ += 1
+
+#else
+
+#   define gcmDEFINESECUREUSER()
+#   define gcmBEGINSECUREUSER()
+#   define gcmENDSECUREUSER()
+#   define gcmSKIPSECUREUSER()
+#   define gcmUPDATESECUREUSER()
+
+#endif
+
+/*----------------------------------------------------------------------------*/
+
+#if gcdDUMP
+#   define gcmDUMPSTATEDATA(StateDelta, FixedPoint, Address, Data) \
+        if (FixedPoint) \
+        { \
+            gcmDUMP(gcvNULL, "@[state.x 0x%04X 0x%08X]", \
+                Address, Data \
+                ); \
+        } \
+        else \
+        { \
+            gcmDUMP(gcvNULL, "@[state 0x%04X 0x%08X]", \
+                Address, Data \
+                ); \
+        }
+#else
+#   define gcmDUMPSTATEDATA(StateDelta, FixedPoint, Address, Data)
+#endif
+
+/*----------------------------------------------------------------------------*/
+
+#define gcmDEFINESTATEBUFFER(CommandBuffer, StateDelta, Memory, ReserveSize) \
+    gcmDEFINESECUREUSER() \
+    gctSIZE_T ReserveSize; \
+    gcoCMDBUF CommandBuffer; \
+    gctUINT32_PTR Memory; \
+    gcsSTATE_DELTA_PTR StateDelta
+
+#define gcmBEGINSTATEBUFFER(Hardware, CommandBuffer, StateDelta, Memory, ReserveSize) \
+{ \
+    gcmONERROR(gcoBUFFER_Reserve( \
+        Hardware->buffer, ReserveSize, gcvTRUE, &CommandBuffer \
+        )); \
+    \
+    Memory =  gcmUINT64_TO_PTR(CommandBuffer->lastReserve); \
+    \
+    StateDelta = Hardware->delta; \
+    \
+    gcmBEGINSECUREUSER(); \
+}
+
+#define gcmENDSTATEBUFFER(CommandBuffer, Memory, ReserveSize) \
+{ \
+    gcmENDSECUREUSER(); \
+    \
+    gcmASSERT( \
+        gcmUINT64_TO_TYPE(CommandBuffer->lastReserve, gctUINT8_PTR) + ReserveSize \
+        == \
+         (gctUINT8_PTR) Memory \
+        ); \
+}
+
+/*----------------------------------------------------------------------------*/
+
+#define gcmBEGINSTATEBATCH(CommandBuffer, Memory, FixedPoint, Address, Count) \
+{ \
+    gcmASSERT(((Memory - gcmUINT64_TO_TYPE(CommandBuffer->lastReserve, gctUINT32_PTR)) & 1) == 0); \
+    gcmASSERT((gctUINT32)Count <= 1024); \
+    \
+    gcmVERIFYLOADSTATEDONE(CommandBuffer); \
+    \
+    gcmSTORELOADSTATE(CommandBuffer, Memory, Address, Count); \
+    \
+    *Memory++ \
+        = gcmSETFIELDVALUE(0, AQ_COMMAND_LOAD_STATE_COMMAND, OPCODE,  LOAD_STATE) \
+        | gcmSETFIELD     (0, AQ_COMMAND_LOAD_STATE_COMMAND, FLOAT,   FixedPoint) \
+        | gcmSETFIELD     (0, AQ_COMMAND_LOAD_STATE_COMMAND, COUNT,   Count) \
+        | gcmSETFIELD     (0, AQ_COMMAND_LOAD_STATE_COMMAND, ADDRESS, Address); \
+    \
+    gcmSKIPSECUREUSER(); \
+}
+
+#define gcmENDSTATEBATCH(CommandBuffer, Memory) \
+{ \
+    gcmVERIFYLOADSTATEDONE(CommandBuffer); \
+    \
+    gcmASSERT(((Memory - gcmUINT64_TO_TYPE(CommandBuffer->lastReserve, gctUINT32_PTR)) & 1) == 0); \
+}
+
+/*----------------------------------------------------------------------------*/
+
+#define gcmSETSTATEDATA(StateDelta, CommandBuffer, Memory, FixedPoint, \
+                        Address, Data) \
+{ \
+    gctUINT32 __temp_data32__; \
+    \
+    gcmVERIFYLOADSTATE(CommandBuffer, Memory, Address); \
+    \
+    __temp_data32__ = Data; \
+    \
+    *Memory++ = __temp_data32__; \
+    \
+    gcoHARDWARE_UpdateDelta( \
+        StateDelta, FixedPoint, Address, 0, __temp_data32__ \
+        ); \
+    \
+    gcmDUMPSTATEDATA(StateDelta, FixedPoint, Address, __temp_data32__); \
+    \
+    gcmUPDATESECUREUSER(); \
+}
+
+#define gcmSETCTRLSTATE(StateDelta, CommandBuffer, Memory, Address, Data) \
+{ \
+    gctUINT32 __temp_data32__; \
+    \
+    gcmVERIFYLOADSTATE(CommandBuffer, Memory, Address); \
+    \
+    __temp_data32__ = Data; \
+    \
+    *Memory++ = __temp_data32__; \
+    \
+    gcmDUMPSTATEDATA(StateDelta, gcvFALSE, Address, __temp_data32__); \
+    \
+    gcmSKIPSECUREUSER(); \
+}
+
+#define gcmSETFILLER(CommandBuffer, Memory) \
+{ \
+    gcmVERIFYLOADSTATEDONE(CommandBuffer); \
+    \
+    Memory += 1; \
+    \
+    gcmSKIPSECUREUSER(); \
+}
+
+/*----------------------------------------------------------------------------*/
+
+#define gcmSETSINGLESTATE(StateDelta, CommandBuffer, Memory, FixedPoint, \
+                          Address, Data) \
+{ \
+    gcmBEGINSTATEBATCH(CommandBuffer, Memory, FixedPoint, Address, 1); \
+    gcmSETSTATEDATA(StateDelta, CommandBuffer, Memory, FixedPoint, \
+                    Address, Data); \
+    gcmENDSTATEBATCH(CommandBuffer, Memory); \
+}
+
+#define gcmSETSINGLECTRLSTATE(StateDelta, CommandBuffer, Memory, FixedPoint, \
+                              Address, Data) \
+{ \
+    gcmBEGINSTATEBATCH(CommandBuffer, Memory, FixedPoint, Address, 1); \
+    gcmSETCTRLSTATE(StateDelta, CommandBuffer, Memory, Address, Data); \
+    gcmENDSTATEBATCH(CommandBuffer, Memory); \
+}
+
+
+/*******************************************************************************
+**
+**  gcmSETSTARTDECOMMAND
+**
+**      Form a START_DE command.
+**
+**  ARGUMENTS:
+**
+**      Memory          Destination memory pointer of gctUINT32_PTR type.
+**      Count           Number of the rectangles.
+*/
+
+#define gcmSETSTARTDECOMMAND(Memory, Count) \
+{ \
+    *Memory++ \
+        = gcmSETFIELDVALUE(0, AQ_COMMAND_START_DE_COMMAND, OPCODE,     START_DE) \
+        | gcmSETFIELD     (0, AQ_COMMAND_START_DE_COMMAND, COUNT,      Count) \
+        | gcmSETFIELD     (0, AQ_COMMAND_START_DE_COMMAND, DATA_COUNT, 0); \
+    \
+    *Memory++ = 0xDEADDEED; \
+}
+
+/******************************************************************************\
+******************************** Ceiling Macro ********************************
+\******************************************************************************/
+#define gcmCEIL(x) ((x - (gctUINT32)x) == 0 ? (gctUINT32)x : (gctUINT32)x + 1)
+
+/******************************************************************************\
+******************************** Min/Max Macros ********************************
+\******************************************************************************/
+
+#define gcmMIN(x, y)            (((x) <= (y)) ?  (x) :  (y))
+#define gcmMAX(x, y)            (((x) >= (y)) ?  (x) :  (y))
+#define gcmCLAMP(x, min, max)   (((x) < (min)) ? (min) : \
+                                 ((x) > (max)) ? (max) : (x))
+#define gcmABS(x)               (((x) < 0)    ? -(x) :  (x))
+#define gcmNEG(x)               (((x) < 0)    ?  (x) : -(x))
+
+/*******************************************************************************
+**
+**  gcmPTR2INT
+**
+**      Convert a pointer to an integer value.
+**
+**  ARGUMENTS:
+**
+**      p       Pointer value.
+*/
+#if defined(_WIN32) || (defined(__LP64__) && __LP64__)
+#   define gcmPTR2INT(p) \
+    ( \
+        (gctUINT32) (gctUINT64) (p) \
+    )
+#else
+#   define gcmPTR2INT(p) \
+    ( \
+        (gctUINT32) (p) \
+    )
+#endif
+
+/*******************************************************************************
+**
+**  gcmINT2PTR
+**
+**      Convert an integer value into a pointer.
+**
+**  ARGUMENTS:
+**
+**      v       Integer value.
+*/
+#ifdef __LP64__
+#   define gcmINT2PTR(i) \
+    ( \
+        (gctPOINTER) (gctINT64) (i) \
+    )
+#else
+#   define gcmINT2PTR(i) \
+    ( \
+        (gctPOINTER) (i) \
+    )
+#endif
+
+/*******************************************************************************
+**
+**  gcmOFFSETOF
+**
+**      Compute the byte offset of a field inside a structure.
+**
+**  ARGUMENTS:
+**
+**      s       Structure name.
+**      field   Field name.
+*/
+#define gcmOFFSETOF(s, field) \
+( \
+    gcmPTR2INT(& (((struct s *) 0)->field)) \
+)
+
+#define gcmSWAB32(x) ((gctUINT32)( \
+        (((gctUINT32)(x) & (gctUINT32)0x000000FFUL) << 24) | \
+        (((gctUINT32)(x) & (gctUINT32)0x0000FF00UL) << 8)  | \
+        (((gctUINT32)(x) & (gctUINT32)0x00FF0000UL) >> 8)  | \
+        (((gctUINT32)(x) & (gctUINT32)0xFF000000UL) >> 24)))
+
+/*******************************************************************************
+***** Database ****************************************************************/
+
+typedef struct _gcsDATABASE_COUNTERS
+{
+    /* Number of currently allocated bytes. */
+    gctUINT64                   bytes;
+
+    /* Maximum number of bytes allocated (memory footprint). */
+    gctUINT64                   maxBytes;
+
+    /* Total number of bytes allocated. */
+    gctUINT64                   totalBytes;
+}
+gcsDATABASE_COUNTERS;
+
+typedef struct _gcuDATABASE_INFO
+{
+    /* Counters. */
+    gcsDATABASE_COUNTERS        counters;
+
+    /* Time value. */
+    gctUINT64                   time;
+}
+gcuDATABASE_INFO;
+
+/*******************************************************************************
+***** Frame database **********************************************************/
+
+/* gcsHAL_FRAME_INFO */
+typedef struct _gcsHAL_FRAME_INFO
+{
+    /* Current timer tick. */
+    OUT gctUINT64               ticks;
+
+    /* Bandwidth counters. */
+    OUT gctUINT                 readBytes8[8];
+    OUT gctUINT                 writeBytes8[8];
+
+    /* Counters. */
+    OUT gctUINT                 cycles[8];
+    OUT gctUINT                 idleCycles[8];
+    OUT gctUINT                 mcCycles[8];
+    OUT gctUINT                 readRequests[8];
+    OUT gctUINT                 writeRequests[8];
+
+    /* FE counters. */
+    OUT gctUINT                 drawCount;
+    OUT gctUINT                 vertexOutCount;
+    OUT gctUINT                 vertexMissCount;
+
+    /* 3D counters. */
+    OUT gctUINT                 vertexCount;
+    OUT gctUINT                 primitiveCount;
+    OUT gctUINT                 rejectedPrimitives;
+    OUT gctUINT                 culledPrimitives;
+    OUT gctUINT                 clippedPrimitives;
+    OUT gctUINT                 droppedPrimitives;
+    OUT gctUINT                 frustumClippedPrimitives;
+    OUT gctUINT                 outPrimitives;
+    OUT gctUINT                 inPrimitives;
+    OUT gctUINT                 culledQuadCount;
+    OUT gctUINT                 totalQuadCount;
+    OUT gctUINT                 quadCount;
+    OUT gctUINT                 totalPixelCount;
+
+    /* PE counters. */
+    OUT gctUINT                 colorKilled[8];
+    OUT gctUINT                 colorDrawn[8];
+    OUT gctUINT                 depthKilled[8];
+    OUT gctUINT                 depthDrawn[8];
+
+    /* Shader counters. */
+    OUT gctUINT                 shaderCycles;
+    OUT gctUINT                 vsInstructionCount;
+    OUT gctUINT                 vsTextureCount;
+    OUT gctUINT                 vsBranchCount;
+    OUT gctUINT                 vsVertices;
+    OUT gctUINT                 psInstructionCount;
+    OUT gctUINT                 psTextureCount;
+    OUT gctUINT                 psBranchCount;
+    OUT gctUINT                 psPixels;
+
+    /* Texture counters. */
+    OUT gctUINT                 bilinearRequests;
+    OUT gctUINT                 trilinearRequests;
+    OUT gctUINT                 txBytes8[2];
+    OUT gctUINT                 txHitCount;
+    OUT gctUINT                 txMissCount;
+}
+gcsHAL_FRAME_INFO;
+
+typedef enum _gcePATCH_ID
+{
+    gcePATCH_UNKNOWN = 0xFFFFFFFF,
+
+    /* Benchmark list*/
+    gcePATCH_GLB11 = 0x0,
+    gcePATCH_GLB21,
+    gcePATCH_GLB25,
+    gcePATCH_GLB27,
+
+    gcePATCH_BM21,
+    gcePATCH_MM,
+    gcePATCH_MM06,
+    gcePATCH_MM07,
+    gcePATCH_QUADRANT,
+    gcePATCH_ANTUTU,
+    gcePATCH_SMARTBENCH,
+    gcePATCH_JPCT,
+    gcePATCH_NENAMARK,
+    gcePATCH_NENAMARK2,
+    gcePATCH_NEOCORE,
+    gcePATCH_GLB,
+    gcePATCH_GB,
+    gcePATCH_RTESTVA,
+    gcePATCH_BMX,
+    gcePATCH_BMGUI,
+
+    /* Game list */
+    gcePATCH_NBA2013,
+    gcePATCH_BARDTALE,
+    gcePATCH_BUSPARKING3D,
+    gcePATCH_FISHBOODLE,
+    gcePATCH_SUBWAYSURFER,
+    gcePATCH_HIGHWAYDRIVER,
+    gcePATCH_PREMIUM,
+    gcePATCH_RACEILLEGAL,
+    gcePATCH_BLABLA,
+    gcePATCH_MEGARUN,
+    gcePATCH_GALAXYONFIRE2,
+    gcePATCH_GLOFTR3HM,
+    gcePATCH_GLOFTSXHM,
+    gcePATCH_GLOFTF3HM,
+    gcePATCH_GLOFTGANG,
+    gcePATCH_XRUNNER,
+    gcePATCH_WP,
+    gcePATCH_DEVIL,
+    gcePATCH_HOLYARCH,
+    gcePATCH_MUSE,
+    gcePATCH_SG,
+    gcePATCH_SIEGECRAFT,
+    gcePATCH_CARCHALLENGE,
+    gcePATCH_HEROESCALL,
+    gcePATCH_MONOPOLY,
+    gcePATCH_CTGL20,
+    gcePATCH_FIREFOX,
+    gcePATCH_CHORME,
+    gcePATCH_DUOKANTV,
+    gcePATCH_TESTAPP,
+    gcePATCH_GOOGLEEARTH,
+
+    /* Count enum*/
+    gcePATCH_COUNT,
+}
+gcePATCH_ID;
+
+#if gcdLINK_QUEUE_SIZE
+typedef struct _gckLINKDATA * gckLINKDATA;
+struct _gckLINKDATA
+{
+    gctUINT32                   start;
+    gctUINT32                   end;
+    gctINT                      pid;
+};
+
+typedef struct _gckLINKQUEUE * gckLINKQUEUE;
+struct _gckLINKQUEUE
+{
+    struct _gckLINKDATA         data[gcdLINK_QUEUE_SIZE];
+    gctUINT32                   rear;
+    gctUINT32                   front;
+    gctUINT32                   count;
+};
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __gc_hal_types_h_ */
diff --git a/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_version.h b/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_version.h
new file mode 100644 (file)
index 0000000..2eab666
--- /dev/null
@@ -0,0 +1,37 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#ifndef __gc_hal_version_h_
+#define __gc_hal_version_h_
+
+#define gcvVERSION_MAJOR        4
+
+#define gcvVERSION_MINOR        6
+
+#define gcvVERSION_PATCH        9
+
+#define gcvVERSION_BUILD     9754
+
+#define gcvVERSION_DATE      __DATE__
+
+#define gcvVERSION_TIME      __TIME__
+
+#endif /* __gc_hal_version_h_ */
diff --git a/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_vg.h b/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_vg.h
new file mode 100644 (file)
index 0000000..2a910e8
--- /dev/null
@@ -0,0 +1,913 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#ifndef __gc_hal_vg_h_
+#define __gc_hal_vg_h_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+#include "gc_hal_rename.h"
+#include "gc_hal_types.h"
+#include "gc_hal_enum.h"
+#include "gc_hal_base.h"
+
+#if gcdENABLE_VG
+
+/* Thread routine type. */
+#if defined(LINUX)
+    typedef gctINT              gctTHREADFUNCRESULT;
+    typedef gctPOINTER          gctTHREADFUNCPARAMETER;
+#   define  gctTHREADFUNCTYPE
+#elif defined(WIN32)
+    typedef gctUINT             gctTHREADFUNCRESULT;
+    typedef gctPOINTER          gctTHREADFUNCPARAMETER;
+#   define  gctTHREADFUNCTYPE   __stdcall
+#elif defined(__QNXNTO__)
+    typedef void *              gctTHREADFUNCRESULT;
+    typedef gctPOINTER          gctTHREADFUNCPARAMETER;
+#   define  gctTHREADFUNCTYPE
+#endif
+
+typedef gctTHREADFUNCRESULT (gctTHREADFUNCTYPE * gctTHREADFUNC) (
+    gctTHREADFUNCPARAMETER ThreadParameter
+    );
+
+
+#if defined(gcvDEBUG)
+#   undef gcvDEBUG
+#endif
+
+#define gcdFORCE_DEBUG 0
+#define gcdFORCE_MESSAGES 0
+
+
+#if DBG || defined(DEBUG) || defined(_DEBUG) || gcdFORCE_DEBUG
+#   define gcvDEBUG 1
+#else
+#   define gcvDEBUG 0
+#endif
+
+#define _gcmERROR_RETURN(prefix, func) \
+    status = func; \
+    if (gcmIS_ERROR(status)) \
+    { \
+        prefix##PRINT_VERSION(); \
+        prefix##TRACE(gcvLEVEL_ERROR, \
+            #prefix "ERR_RETURN: status=%d(%s) @ %s(%d)", \
+            status, gcoOS_DebugStatus2Name(status), __FUNCTION__, __LINE__); \
+        return status; \
+    } \
+    do { } while (gcvFALSE)
+
+#define gcmERROR_RETURN(func)         _gcmERROR_RETURN(gcm, func)
+
+#define gcmLOG_LOCATION()
+
+#define gcmkIS_ERROR(status)        (status < 0)
+
+#define gcmALIGNDOWN(n, align) \
+( \
+    (n) & ~((align) - 1) \
+)
+
+#define gcmIS_VALID_INDEX(Index, Array) \
+    (((gctUINT) (Index)) < gcmCOUNTOF(Array))
+
+
+#define gcmIS_NAN(x) \
+( \
+    ((* (gctUINT32_PTR) &(x)) & 0x7FFFFFFF) == 0x7FFFFFFF \
+)
+
+#define gcmLERP(v1, v2, w) \
+    ((v1) * (w) + (v2) * (1.0f - (w)))
+
+#define gcmINTERSECT(Start1, Start2, Length) \
+    (gcmABS((Start1) - (Start2)) < (Length))
+
+/*******************************************************************************
+**
+**  gcmERR_GOTO
+**
+**      Prints a message and terminates the current loop on error.
+**
+**  ASSUMPTIONS:
+**
+**      'status' variable of gceSTATUS type must be defined.
+**
+**  ARGUMENTS:
+**
+**      Function
+**          Function to evaluate.
+*/
+
+#define gcmERR_GOTO(Function) \
+    status = Function; \
+    if (gcmIS_ERROR(status)) \
+    { \
+        gcmTRACE( \
+            gcvLEVEL_ERROR, \
+            "gcmERR_GOTO: status=%d @ line=%d in function %s.\n", \
+            status, __LINE__, __FUNCTION__ \
+            ); \
+        goto ErrorHandler; \
+    }
+
+#if gcvDEBUG || gcdFORCE_MESSAGES
+#   define gcmVERIFY_BOOLEAN(Expression) \
+        gcmASSERT( \
+            ( (Expression) == gcvFALSE ) || \
+            ( (Expression) == gcvTRUE  )    \
+            )
+#else
+#   define gcmVERIFY_BOOLEAN(Expression)
+#endif
+
+/*******************************************************************************
+**
+**  gcmVERIFYFIELDFIT
+**
+**      Verify whether the value fits in the field.
+**
+**  ARGUMENTS:
+**
+**      data    Data value.
+**      reg     Name of register.
+**      field   Name of field within register.
+**      value   Value for field.
+*/
+#define gcmVERIFYFIELDFIT(reg, field, value) \
+    gcmASSERT( \
+        (value) <= gcmFIELDMAX(reg, field) \
+        )
+/*******************************************************************************
+**
+**  gcmFIELDMAX
+**
+**      Get field maximum value.
+**
+**  ARGUMENTS:
+**
+**      reg     Name of register.
+**      field   Name of field within register.
+*/
+#define gcmFIELDMAX(reg, field) \
+( \
+    (gctUINT32) \
+        ( \
+        (__gcmGETSIZE(reg##_##field) == 32) \
+                ?  ~0 \
+                : (~(~0 << __gcmGETSIZE(reg##_##field))) \
+        ) \
+)
+
+
+/* ANSI C does not have the 'f' functions, define replacements here. */
+#define gcmSINF(x)                      ((gctFLOAT) sin(x))
+#define gcmCOSF(x)                      ((gctFLOAT) cos(x))
+#define gcmASINF(x)                     ((gctFLOAT) asin(x))
+#define gcmACOSF(x)                     ((gctFLOAT) acos(x))
+#define gcmSQRTF(x)                     ((gctFLOAT) sqrt(x))
+#define gcmFABSF(x)                     ((gctFLOAT) fabs(x))
+#define gcmFMODF(x, y)                  ((gctFLOAT) fmod((x), (y)))
+#define gcmCEILF(x)                     ((gctFLOAT) ceil(x))
+#define gcmFLOORF(x)                    ((gctFLOAT) floor(x))
+
+
+
+/* Fixed point constants. */
+#define gcvZERO_X               ((gctFIXED_POINT) 0x00000000)
+#define gcvHALF_X               ((gctFIXED_POINT) 0x00008000)
+#define gcvONE_X                ((gctFIXED_POINT) 0x00010000)
+#define gcvNEGONE_X             ((gctFIXED_POINT) 0xFFFF0000)
+#define gcvTWO_X                ((gctFIXED_POINT) 0x00020000)
+
+/* Integer constants. */
+#define gcvMAX_POS_INT          ((gctINT) 0x7FFFFFFF)
+#define gcvMAX_NEG_INT          ((gctINT) 0x80000000)
+
+/* Float constants. */
+#define gcvMAX_POS_FLOAT        ((gctFLOAT)  3.4028235e+038)
+#define gcvMAX_NEG_FLOAT        ((gctFLOAT) -3.4028235e+038)
+
+/******************************************************************************\
+***************************** Miscellaneous Macro ******************************
+\******************************************************************************/
+
+#define gcmKB2BYTES(Kilobyte) \
+( \
+    (Kilobyte) << 10 \
+)
+
+#define gcmMB2BYTES(Megabyte) \
+( \
+    (Megabyte) << 20 \
+)
+
+#define gcmMAT(Matrix, Row, Column) \
+( \
+    (Matrix) [(Row) * 3 + (Column)] \
+)
+
+#define gcmMAKE2CHAR(Char1, Char2) \
+( \
+    ((gctUINT16) (gctUINT8) (Char1) << 0) | \
+    ((gctUINT16) (gctUINT8) (Char2) << 8) \
+)
+
+#define gcmMAKE4CHAR(Char1, Char2, Char3, Char4) \
+( \
+    ((gctUINT32)(gctUINT8) (Char1) <<  0) | \
+    ((gctUINT32)(gctUINT8) (Char2) <<  8) | \
+    ((gctUINT32)(gctUINT8) (Char3) << 16) | \
+    ((gctUINT32)(gctUINT8) (Char4) << 24) \
+)
+
+/* some platforms need to fix the physical address for HW to access*/
+#define gcmFIXADDRESS(address) \
+(\
+    (address)\
+)
+
+#define gcmkFIXADDRESS(address) \
+(\
+    (address)\
+)
+
+/******************************************************************************\
+****************************** Kernel Debug Macro ******************************
+\******************************************************************************/
+
+/* Set signal to signaled state for specified process. */
+gceSTATUS
+gckOS_SetSignal(
+    IN gckOS Os,
+    IN gctHANDLE Process,
+    IN gctSIGNAL Signal
+    );
+
+/* Return the kernel logical pointer for the given physical one. */
+gceSTATUS
+gckOS_GetKernelLogical(
+    IN gckOS Os,
+    IN gctUINT32 Address,
+    OUT gctPOINTER * KernelPointer
+    );
+
+/* Return the kernel logical pointer for the given physical one. */
+gceSTATUS
+gckOS_GetKernelLogicalEx(
+    IN gckOS Os,
+    IN gceCORE Core,
+    IN gctUINT32 Address,
+    OUT gctPOINTER * KernelPointer
+    );
+
+/*----------------------------------------------------------------------------*/
+/*----------------------------- Semaphore Object -----------------------------*/
+
+/* Increment the value of a semaphore. */
+gceSTATUS
+gckOS_IncrementSemaphore(
+    IN gckOS Os,
+    IN gctSEMAPHORE Semaphore
+    );
+
+/* Decrement the value of a semaphore (waiting might occur). */
+gceSTATUS
+gckOS_DecrementSemaphore(
+    IN gckOS Os,
+    IN gctSEMAPHORE Semaphore
+    );
+
+
+/*----------------------------------------------------------------------------*/
+/*------------------------------- Thread Object ------------------------------*/
+
+/* Start a thread. */
+gceSTATUS
+gckOS_StartThread(
+    IN gckOS Os,
+    IN gctTHREADFUNC ThreadFunction,
+    IN gctPOINTER ThreadParameter,
+    OUT gctTHREAD * Thread
+    );
+
+/* Stop a thread. */
+gceSTATUS
+gckOS_StopThread(
+    IN gckOS Os,
+    IN gctTHREAD Thread
+    );
+
+/* Verify whether the thread is still running. */
+gceSTATUS
+gckOS_VerifyThread(
+    IN gckOS Os,
+    IN gctTHREAD Thread
+    );
+
+
+/* Construct a new gckVGKERNEL object. */
+gceSTATUS
+gckVGKERNEL_Construct(
+    IN gckOS Os,
+    IN gctPOINTER Context,
+    IN gckKERNEL  inKernel,
+    OUT gckVGKERNEL * Kernel
+    );
+
+/* Destroy an gckVGKERNEL object. */
+gceSTATUS
+gckVGKERNEL_Destroy(
+    IN gckVGKERNEL Kernel
+    );
+
+/* Allocate linear video memory. */
+gceSTATUS
+gckKERNEL_AllocateLinearMemory(
+    IN gckKERNEL Kernel,
+    IN OUT gcePOOL * Pool,
+    IN gctSIZE_T Bytes,
+    IN gctSIZE_T Alignment,
+    IN gceSURF_TYPE Type,
+    OUT gcuVIDMEM_NODE_PTR * Node
+    );
+
+/* Unmap memory. */
+gceSTATUS
+gckKERNEL_UnmapMemory(
+    IN gckKERNEL Kernel,
+    IN gctPHYS_ADDR Physical,
+    IN gctSIZE_T Bytes,
+    IN gctPOINTER Logical
+    );
+
+/* Dispatch a user-level command. */
+gceSTATUS
+gckVGKERNEL_Dispatch(
+    IN gckKERNEL Kernel,
+    IN gctBOOL FromUser,
+    IN OUT struct _gcsHAL_INTERFACE * Interface
+    );
+
+/* Query command buffer requirements. */
+gceSTATUS
+gckKERNEL_QueryCommandBuffer(
+    IN gckKERNEL Kernel,
+    OUT gcsCOMMAND_BUFFER_INFO_PTR Information
+    );
+
+#if gcdDYNAMIC_MAP_RESERVED_MEMORY
+gceSTATUS
+gckOS_MapReservedMemoryToKernel(
+    IN gckOS Os,
+    IN gctUINT32 Physical,
+    IN gctINT Bytes,
+    IN OUT gctPOINTER *Virtual
+    );
+
+gceSTATUS
+gckOS_UnmapReservedMemoryFromKernel(
+    IN gctPOINTER Virtual
+    );
+#endif
+
+/******************************************************************************\
+******************************* gckVGHARDWARE Object ******************************
+\******************************************************************************/
+
+/* Construct a new gckVGHARDWARE object. */
+gceSTATUS
+gckVGHARDWARE_Construct(
+    IN gckOS Os,
+    OUT gckVGHARDWARE * Hardware
+    );
+
+/* Destroy an gckVGHARDWARE object. */
+gceSTATUS
+gckVGHARDWARE_Destroy(
+    IN gckVGHARDWARE Hardware
+    );
+
+/* Query system memory requirements. */
+gceSTATUS
+gckVGHARDWARE_QuerySystemMemory(
+    IN gckVGHARDWARE Hardware,
+    OUT gctSIZE_T * SystemSize,
+    OUT gctUINT32 * SystemBaseAddress
+    );
+
+/* Build virtual address. */
+gceSTATUS
+gckVGHARDWARE_BuildVirtualAddress(
+    IN gckVGHARDWARE Hardware,
+    IN gctUINT32 Index,
+    IN gctUINT32 Offset,
+    OUT gctUINT32 * Address
+    );
+
+/* Kickstart the command processor. */
+gceSTATUS
+gckVGHARDWARE_Execute(
+    IN gckVGHARDWARE Hardware,
+    IN gctUINT32 Address,
+    IN gctSIZE_T Count
+    );
+
+/* Query the available memory. */
+gceSTATUS
+gckVGHARDWARE_QueryMemory(
+    IN gckVGHARDWARE Hardware,
+    OUT gctSIZE_T * InternalSize,
+    OUT gctUINT32 * InternalBaseAddress,
+    OUT gctUINT32 * InternalAlignment,
+    OUT gctSIZE_T * ExternalSize,
+    OUT gctUINT32 * ExternalBaseAddress,
+    OUT gctUINT32 * ExternalAlignment,
+    OUT gctUINT32 * HorizontalTileSize,
+    OUT gctUINT32 * VerticalTileSize
+    );
+
+/* Query the identity of the hardware. */
+gceSTATUS
+gckVGHARDWARE_QueryChipIdentity(
+    IN gckVGHARDWARE Hardware,
+    OUT gceCHIPMODEL* ChipModel,
+    OUT gctUINT32* ChipRevision,
+    OUT gctUINT32* ChipFeatures,
+    OUT gctUINT32* ChipMinorFeatures,
+    OUT gctUINT32* ChipMinorFeatures1
+    );
+
+/* Convert an API format. */
+gceSTATUS
+gckVGHARDWARE_ConvertFormat(
+    IN gckVGHARDWARE Hardware,
+    IN gceSURF_FORMAT Format,
+    OUT gctUINT32 * BitsPerPixel,
+    OUT gctUINT32 * BytesPerTile
+    );
+
+/* Split a harwdare specific address into API stuff. */
+gceSTATUS
+gckVGHARDWARE_SplitMemory(
+    IN gckVGHARDWARE Hardware,
+    IN gctUINT32 Address,
+    OUT gcePOOL * Pool,
+    OUT gctUINT32 * Offset
+    );
+
+/* Align size to tile boundary. */
+gceSTATUS
+gckVGHARDWARE_AlignToTile(
+    IN gckVGHARDWARE Hardware,
+    IN gceSURF_TYPE Type,
+    IN OUT gctUINT32_PTR Width,
+    IN OUT gctUINT32_PTR Height
+    );
+
+/* Convert logical address to hardware specific address. */
+gceSTATUS
+gckVGHARDWARE_ConvertLogical(
+    IN gckVGHARDWARE Hardware,
+    IN gctPOINTER Logical,
+    OUT gctUINT32 * Address
+    );
+
+/* Program MMU. */
+gceSTATUS
+gckVGHARDWARE_SetMMU(
+    IN gckVGHARDWARE Hardware,
+    IN gctPOINTER Logical
+    );
+
+/* Flush the MMU. */
+gceSTATUS
+gckVGHARDWARE_FlushMMU(
+    IN gckVGHARDWARE Hardware
+    );
+
+/* Get idle register. */
+gceSTATUS
+gckVGHARDWARE_GetIdle(
+    IN gckVGHARDWARE Hardware,
+    OUT gctUINT32 * Data
+    );
+
+/* Flush the caches. */
+gceSTATUS
+gckVGHARDWARE_Flush(
+    IN gckVGHARDWARE Hardware,
+    IN gceKERNEL_FLUSH Flush,
+    IN gctPOINTER Logical,
+    IN OUT gctSIZE_T * Bytes
+    );
+
+/* Enable/disable fast clear. */
+gceSTATUS
+gckVGHARDWARE_SetFastClear(
+    IN gckVGHARDWARE Hardware,
+    IN gctINT Enable
+    );
+
+gceSTATUS
+gckVGHARDWARE_ReadInterrupt(
+    IN gckVGHARDWARE Hardware,
+    OUT gctUINT32_PTR IDs
+    );
+
+/* Power management. */
+gceSTATUS
+gckVGHARDWARE_SetPowerManagementState(
+    IN gckVGHARDWARE Hardware,
+    IN gceCHIPPOWERSTATE State
+    );
+
+gceSTATUS
+gckVGHARDWARE_QueryPowerManagementState(
+    IN gckVGHARDWARE Hardware,
+    OUT gceCHIPPOWERSTATE* State
+    );
+
+gceSTATUS
+gckVGHARDWARE_SetPowerManagement(
+    IN gckVGHARDWARE Hardware,
+    IN gctBOOL PowerManagement
+    );
+
+gceSTATUS
+gckVGHARDWARE_SetPowerOffTimeout(
+    IN gckVGHARDWARE  Hardware,
+    IN gctUINT32    Timeout
+    );
+
+gceSTATUS
+gckVGHARDWARE_QueryPowerOffTimeout(
+    IN gckVGHARDWARE  Hardware,
+    OUT gctUINT32*  Timeout
+    );
+
+gceSTATUS
+gckVGHARDWARE_QueryIdle(
+    IN gckVGHARDWARE Hardware,
+    OUT gctBOOL_PTR IsIdle
+    );
+/******************************************************************************\
+*************************** Command Buffer Structures **************************
+\******************************************************************************/
+
+/* Vacant command buffer marker. */
+#define gcvVACANT_BUFFER        ((gcsCOMPLETION_SIGNAL_PTR) (1))
+
+/* Command buffer header. */
+typedef struct _gcsCMDBUFFER * gcsCMDBUFFER_PTR;
+typedef struct _gcsCMDBUFFER
+{
+    /* Pointer to the completion signal. */
+    gcsCOMPLETION_SIGNAL_PTR    completion;
+
+    /* The user sets this to the node of the container buffer whitin which
+       this particular command buffer resides. The kernel sets this to the
+       node of the internally allocated buffer. */
+    gctUINT64                   node;
+
+    /* Command buffer hardware address. */
+    gctUINT32                   address;
+
+    /* The offset of the buffer from the beginning of the header. */
+    gctUINT32                   bufferOffset;
+
+    /* Size of the area allocated for the data portion of this particular
+       command buffer (headers and tail reserves are excluded). */
+    gctSIZE_T                   size;
+
+    /* Offset into the buffer [0..size]; reflects exactly how much data has
+       been put into the command buffer. */
+    gctUINT                     offset;
+
+    /* The number of command units in the buffer for the hardware to
+       execute. */
+    gctSIZE_T                   dataCount;
+
+    /* MANAGED BY : user HAL (gcoBUFFER object).
+       USED BY    : user HAL (gcoBUFFER object).
+       Points to the immediate next allocated command buffer. */
+    gcsCMDBUFFER_PTR            nextAllocated;
+
+    /* MANAGED BY : user layers (HAL and drivers).
+       USED BY    : kernel HAL (gcoBUFFER object).
+       Points to the next subbuffer if any. A family of subbuffers are chained
+       together and are meant to be executed inseparably as a unit. Meaning
+       that context switching cannot occur while a chain of subbuffers is being
+       executed. */
+    gcsCMDBUFFER_PTR            nextSubBuffer;
+}
+gcsCMDBUFFER;
+
+/* Command queue element. */
+typedef struct _gcsVGCMDQUEUE
+{
+    /* Pointer to the command buffer header. */
+    gcsCMDBUFFER_PTR            commandBuffer;
+
+    /* Dynamic vs. static command buffer state. */
+    gctBOOL                     dynamic;
+}
+gcsVGCMDQUEUE;
+
+/* Context map entry. */
+typedef struct _gcsVGCONTEXT_MAP
+{
+    /* State index. */
+    gctUINT32                   index;
+
+    /* New state value. */
+    gctUINT32                   data;
+
+    /* Points to the next entry in the mod list. */
+    gcsVGCONTEXT_MAP_PTR            next;
+}
+gcsVGCONTEXT_MAP;
+
+/* gcsVGCONTEXT structure that holds the current context. */
+typedef struct _gcsVGCONTEXT
+{
+    /* Context ID. */
+    gctUINT64                   id;
+
+    /* State caching ebable flag. */
+    gctBOOL                     stateCachingEnabled;
+
+    /* Current pipe. */
+    gctUINT32                   currentPipe;
+
+    /* State map/mod buffer. */
+    gctSIZE_T                   mapFirst;
+    gctSIZE_T                   mapLast;
+#ifdef __QNXNTO__
+    gctSIZE_T                   mapContainerSize;
+#endif
+    gcsVGCONTEXT_MAP_PTR            mapContainer;
+    gcsVGCONTEXT_MAP_PTR            mapPrev;
+    gcsVGCONTEXT_MAP_PTR            mapCurr;
+    gcsVGCONTEXT_MAP_PTR            firstPrevMap;
+    gcsVGCONTEXT_MAP_PTR            firstCurrMap;
+
+    /* Main context buffer. */
+    gcsCMDBUFFER_PTR            header;
+    gctUINT32_PTR               buffer;
+
+    /* Completion signal. */
+    gctHANDLE                   process;
+    gctSIGNAL                   signal;
+
+#if defined(__QNXNTO__)
+    gctINT32                    coid;
+    gctINT32                    rcvid;
+#endif
+}
+gcsVGCONTEXT;
+
+/* User space task header. */
+typedef struct _gcsTASK * gcsTASK_PTR;
+typedef struct _gcsTASK
+{
+    /* Pointer to the next task for the same interrupt in user space. */
+    gcsTASK_PTR                 next;
+
+    /* Size of the task data that immediately follows the structure. */
+    gctUINT                     size;
+
+    /* Task data starts here. */
+    /* ... */
+}
+gcsTASK;
+
+/* User space task master table entry. */
+typedef struct _gcsTASK_MASTER_ENTRY * gcsTASK_MASTER_ENTRY_PTR;
+typedef struct _gcsTASK_MASTER_ENTRY
+{
+    /* Pointers to the head and to the tail of the task chain. */
+    gcsTASK_PTR                 head;
+    gcsTASK_PTR                 tail;
+}
+gcsTASK_MASTER_ENTRY;
+
+/* User space task master table entry. */
+typedef struct _gcsTASK_MASTER_TABLE
+{
+    /* Table with one entry per block. */
+    gcsTASK_MASTER_ENTRY        table[gcvBLOCK_COUNT];
+
+    /* The total number of tasks sckeduled. */
+    gctUINT                     count;
+
+    /* The total size of event data in bytes. */
+    gctUINT                     size;
+
+#if defined(__QNXNTO__)
+    gctINT32                    coid;
+    gctINT32                    rcvid;
+#endif
+}
+gcsTASK_MASTER_TABLE;
+
+/******************************************************************************\
+***************************** gckVGINTERRUPT Object ******************************
+\******************************************************************************/
+
+typedef struct _gckVGINTERRUPT * gckVGINTERRUPT;
+
+typedef gceSTATUS (* gctINTERRUPT_HANDLER)(
+    IN gckVGKERNEL Kernel
+    );
+
+gceSTATUS
+gckVGINTERRUPT_Construct(
+    IN gckVGKERNEL Kernel,
+    OUT gckVGINTERRUPT * Interrupt
+    );
+
+gceSTATUS
+gckVGINTERRUPT_Destroy(
+    IN gckVGINTERRUPT Interrupt
+    );
+
+gceSTATUS
+gckVGINTERRUPT_Enable(
+    IN gckVGINTERRUPT Interrupt,
+    IN OUT gctINT32_PTR Id,
+    IN gctINTERRUPT_HANDLER Handler
+    );
+
+gceSTATUS
+gckVGINTERRUPT_Disable(
+    IN gckVGINTERRUPT Interrupt,
+    IN gctINT32 Id
+    );
+
+#ifndef __QNXNTO__
+
+gceSTATUS
+gckVGINTERRUPT_Enque(
+    IN gckVGINTERRUPT Interrupt
+    );
+
+#else
+
+gceSTATUS
+gckVGINTERRUPT_Enque(
+    IN gckVGINTERRUPT Interrupt,
+    OUT gckOS *Os,
+    OUT gctSEMAPHORE *Semaphore
+    );
+
+#endif
+
+gceSTATUS
+gckVGINTERRUPT_DumpState(
+    IN gckVGINTERRUPT Interrupt
+    );
+
+
+/******************************************************************************\
+******************************* gckVGCOMMAND Object *******************************
+\******************************************************************************/
+
+typedef struct _gckVGCOMMAND *      gckVGCOMMAND;
+
+/* Construct a new gckVGCOMMAND object. */
+gceSTATUS
+gckVGCOMMAND_Construct(
+    IN gckVGKERNEL Kernel,
+    IN gctUINT TaskGranularity,
+    IN gctUINT QueueSize,
+    OUT gckVGCOMMAND * Command
+    );
+
+/* Destroy an gckVGCOMMAND object. */
+gceSTATUS
+gckVGCOMMAND_Destroy(
+    IN gckVGCOMMAND Command
+    );
+
+/* Query command buffer attributes. */
+gceSTATUS
+gckVGCOMMAND_QueryCommandBuffer(
+    IN gckVGCOMMAND Command,
+    OUT gcsCOMMAND_BUFFER_INFO_PTR Information
+    );
+
+/* Allocate a command queue. */
+gceSTATUS
+gckVGCOMMAND_Allocate(
+    IN gckVGCOMMAND Command,
+    IN gctSIZE_T Size,
+    OUT gcsCMDBUFFER_PTR * CommandBuffer,
+    OUT gctPOINTER * Data
+    );
+
+/* Release memory held by the command queue. */
+gceSTATUS
+gckVGCOMMAND_Free(
+    IN gckVGCOMMAND Command,
+    IN gcsCMDBUFFER_PTR CommandBuffer
+    );
+
+/* Schedule the command queue for execution. */
+gceSTATUS
+gckVGCOMMAND_Execute(
+    IN gckVGCOMMAND Command,
+    IN gcsCMDBUFFER_PTR CommandBuffer
+    );
+
+/* Commit a buffer to the command queue. */
+gceSTATUS
+gckVGCOMMAND_Commit(
+    IN gckVGCOMMAND Command,
+    IN gcsVGCONTEXT_PTR Context,
+    IN gcsVGCMDQUEUE_PTR Queue,
+    IN gctUINT EntryCount,
+    IN gcsTASK_MASTER_TABLE_PTR TaskTable
+    );
+
+/******************************************************************************\
+********************************* gckVGMMU Object ********************************
+\******************************************************************************/
+
+typedef struct _gckVGMMU *          gckVGMMU;
+
+/* Construct a new gckVGMMU object. */
+gceSTATUS
+gckVGMMU_Construct(
+    IN gckVGKERNEL Kernel,
+    IN gctSIZE_T MmuSize,
+    OUT gckVGMMU * Mmu
+    );
+
+/* Destroy an gckVGMMU object. */
+gceSTATUS
+gckVGMMU_Destroy(
+    IN gckVGMMU Mmu
+    );
+
+/* Allocate pages inside the MMU. */
+gceSTATUS
+gckVGMMU_AllocatePages(
+    IN gckVGMMU Mmu,
+    IN gctSIZE_T PageCount,
+    OUT gctPOINTER * PageTable,
+    OUT gctUINT32 * Address
+    );
+
+/* Remove a page table from the MMU. */
+gceSTATUS
+gckVGMMU_FreePages(
+    IN gckVGMMU Mmu,
+    IN gctPOINTER PageTable,
+    IN gctSIZE_T PageCount
+    );
+
+/* Set the MMU page with info. */
+gceSTATUS
+gckVGMMU_SetPage(
+   IN gckVGMMU Mmu,
+   IN gctUINT32 PageAddress,
+   IN gctUINT32 *PageEntry
+   );
+
+/* Flush MMU */
+gceSTATUS
+gckVGMMU_Flush(
+   IN gckVGMMU Mmu
+   );
+
+#endif /* gcdENABLE_VG */
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* __gc_hal_h_ */
diff --git a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_debug.h b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_debug.h
new file mode 100644 (file)
index 0000000..339dff4
--- /dev/null
@@ -0,0 +1,102 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#ifndef __gc_hal_kernel_debug_h_
+#define __gc_hal_kernel_debug_h_
+
+#include <gc_hal_kernel_linux.h>
+#include <linux/spinlock.h>
+#include <linux/time.h>
+#include <stdarg.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/******************************************************************************\
+****************************** OS-dependent Macros *****************************
+\******************************************************************************/
+
+typedef va_list gctARGUMENTS;
+
+#define gcmkARGUMENTS_START(Arguments, Pointer) \
+    va_start(Arguments, Pointer)
+
+#define gcmkARGUMENTS_END(Arguments) \
+    va_end(Arguments)
+
+#define gcmkDECLARE_LOCK(__spinLock__) \
+    static DEFINE_SPINLOCK(__spinLock__);
+
+#define gcmkLOCKSECTION(__spinLock__) \
+    spin_lock(&__spinLock__)
+
+#define gcmkUNLOCKSECTION(__spinLock__) \
+    spin_unlock(&__spinLock__)
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24)
+#   define gcmkGETPROCESSID() \
+        task_tgid_vnr(current)
+#else
+#   define gcmkGETPROCESSID() \
+        current->tgid
+#endif
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24)
+#   define gcmkGETTHREADID() \
+        task_pid_vnr(current)
+#else
+#   define gcmkGETTHREADID() \
+        current->pid
+#endif
+
+#define gcmkOUTPUT_STRING(String) \
+   if(gckDebugFileSystemIsEnabled()) \
+       gckDebugFileSystemPrint(String);\
+   else\
+       printk(String); \
+    touch_softlockup_watchdog()
+
+
+#define gcmkSPRINTF(Destination, Size, Message, Value) \
+    snprintf(Destination, Size, Message, Value)
+
+#define gcmkSPRINTF2(Destination, Size, Message, Value1, Value2) \
+    snprintf(Destination, Size, Message, Value1, Value2)
+
+#define gcmkSPRINTF3(Destination, Size, Message, Value1, Value2, Value3) \
+    snprintf(Destination, Size, Message, Value1, Value2, Value3)
+
+#define gcmkVSPRINTF(Destination, Size, Message, Arguments) \
+    vsnprintf(Destination, Size, Message, *(va_list *) &Arguments)
+
+#define gcmkSTRCAT(Destination, Size, String) \
+    strncat(Destination, String, Size)
+
+/* If not zero, forces data alignment in the variable argument list
+   by its individual size. */
+#define gcdALIGNBYSIZE      1
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __gc_hal_kernel_debug_h_ */
diff --git a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_debugfs.c b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_debugfs.c
new file mode 100644 (file)
index 0000000..6bdc5a6
--- /dev/null
@@ -0,0 +1,795 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#ifdef MODULE
+#include <linux/module.h>
+#endif
+#include <linux/init.h>
+#include <linux/debugfs.h>
+#include <linux/slab.h>
+#ifdef MODVERSIONS
+#include <linux/modversions.h>
+#endif
+#include <linux/stddef.h>
+#include <linux/sched.h>
+#include <linux/kernel.h>
+#include <linux/timer.h>
+#include <linux/delay.h>
+#include <linux/errno.h>
+#include <linux/mutex.h>
+#include <linux/vmalloc.h>
+#include <linux/types.h>
+#include <linux/fs.h>
+#include <linux/poll.h>
+#include <asm/uaccess.h>
+#include <linux/completion.h>
+#include "gc_hal_kernel_linux.h"
+
+/*
+   Prequsite:
+
+   1) Debugfs feature must be enabled in the kernel.
+       1.a) You can enable this, in the compilation of the uImage, all you have to do is, In the "make menuconfig" part,
+       you have to enable the debugfs in the kernel hacking part of the menu.
+
+   HOW TO USE:
+   1) insert the driver with the following option logFileSize, Ex: insmod galcore.ko ...... logFileSize=10240
+   This gives a circular buffer of 10 MB
+
+   2)Usually after inserting the driver, the debug file system is mounted under /sys/kernel/debug/
+
+        2.a)If the debugfs is not mounted, you must do "mount -t debugfs none /sys/kernel/debug"
+
+   3) To read what is being printed in the debugfs file system:
+        Ex : cat /sys/kernel/debug/gpu/galcore_trace
+
+   4)To write into the debug file system from user side :
+        Ex: echo "hello" > cat /sys/kernel/debug/gpu/galcore_trace
+
+   5)To write into debugfs from kernel side, Use the function called gckDebugFileSystemPrint
+
+
+   USECASE Kernel Dump:
+
+   1) Go to /hal/inc/gc_hal_options.h, and enable the following flags:
+        - #   define gcdDUMP                              1
+        - #   define gcdDUMP_IN_KERNEL          1
+        - #   define gcdDUMP_COMMAND          1
+
+    2) Go to /hal/kernel/gc_hal_kernel_command.c and disable the following flag
+        -#define gcdSIMPLE_COMMAND_DUMP  0
+
+    3) Compile the driver
+    4) insmod it with the logFileSize option
+    5) Run an application
+    6) You can get the dump by cat /sys/kernel/debug/gpu/galcore_trace
+
+ */
+
+/**/
+typedef va_list gctDBGARGS ;
+#define gcmkARGS_START(argument, pointer)   va_start(argument, pointer)
+#define gcmkARGS_END(argument)                       va_end(argument)
+
+#define gcmkDBGFSPRINT(ArgumentSize, Message) \
+  { \
+         gctDBGARGS __arguments__; \
+         gcmkARGS_START(__arguments__, Message); \
+         _DebugFSPrint(ArgumentSize, Message, __arguments__);\
+         gcmkARGS_END(__arguments__); \
+  }
+
+/*Debug File System Node Struct*/
+struct _gcsDebugFileSystemNode
+{
+    /*wait queues for read and write operations*/
+#if defined(DECLARE_WAIT_QUEUE_HEAD)
+    wait_queue_head_t read_q , write_q ;
+#else
+    struct wait_queue *read_q , *write_q ;
+#endif
+    struct dentry *parent ; /*parent directory*/
+    struct dentry *filen ; /*filename*/
+    struct semaphore sem ; /* mutual exclusion semaphore */
+    char *data ; /* The circular buffer data */
+    int size ; /* Size of the buffer pointed to by 'data' */
+    int refcount ; /* Files that have this buffer open */
+    int read_point ; /* Offset in circ. buffer of oldest data */
+    int write_point ; /* Offset in circ. buffer of newest data */
+    int offset ; /* Byte number of read_point in the stream */
+    struct _gcsDebugFileSystemNode *next ;
+} ;
+
+/* amount of data in the queue */
+#define gcmkNODE_QLEN(node) ( (node)->write_point >= (node)->read_point ? \
+         (node)->write_point - (node)->read_point : \
+         (node)->size - (node)->read_point + (node)->write_point)
+
+/* byte number of the last byte in the queue */
+#define gcmkNODE_FIRST_EMPTY_BYTE(node) ((node)->offset + gcmkNODE_QLEN(node))
+
+/*Synchronization primitives*/
+#define gcmkNODE_READQ(node) (&((node)->read_q))
+#define gcmkNODE_WRITEQ(node) (&((node)->write_q))
+#define gcmkNODE_SEM(node) (&((node)->sem))
+
+/*Utilities*/
+#define gcmkMIN(x, y) ((x) < (y) ? (x) : y)
+
+/*Debug File System Struct*/
+typedef struct _gcsDebugFileSystem
+{
+    gcsDebugFileSystemNode* linkedlist ;
+    gcsDebugFileSystemNode* currentNode ;
+    int isInited ;
+} gcsDebugFileSystem ;
+
+
+/*debug file system*/
+static gcsDebugFileSystem gc_dbgfs ;
+
+
+
+/*******************************************************************************
+ **
+ **            READ & WRITE FUNCTIONS (START)
+ **
+ *******************************************************************************/
+
+/*******************************************************************************
+ **
+ **  _ReadFromNode
+ **
+ **    1) reading bytes out of a circular buffer with wraparound.
+ **    2)returns caddr_t, pointer to data read, which the caller must free.
+ **    3) length is (a pointer to) the number of bytes to be read, which will be set by this function to
+ **        be the number of bytes actually returned
+ **
+ *******************************************************************************/
+static caddr_t
+_ReadFromNode (
+                gcsDebugFileSystemNode* Node ,
+                size_t *Length ,
+                loff_t *Offset
+                )
+{
+    caddr_t retval ;
+    int bytes_copied = 0 , n , start_point , remaining ;
+
+    /* is the user trying to read data that has already scrolled off? */
+    if ( *Offset < Node->offset )
+    {
+        *Offset = Node->offset ;
+    }
+
+    /* is the user trying to read past EOF? */
+    if ( *Offset >= gcmkNODE_FIRST_EMPTY_BYTE ( Node ) )
+    {
+        return NULL ;
+    }
+
+    /* find the smaller of the total bytes we have available and what
+     * the user is asking for */
+
+    *Length = gcmkMIN ( *Length , gcmkNODE_FIRST_EMPTY_BYTE ( Node ) - *Offset ) ;
+
+    remaining = * Length ;
+
+    /* figure out where to start based on user's Offset */
+    start_point = Node->read_point + ( *Offset - Node->offset ) ;
+
+    start_point = start_point % Node->size ;
+
+    /* allocate memory to return */
+    if ( ( retval = kmalloc ( sizeof (char ) * remaining , GFP_KERNEL ) ) == NULL )
+        return NULL ;
+
+    /* copy the (possibly noncontiguous) data to our buffer */
+    while ( remaining )
+    {
+        n = gcmkMIN ( remaining , Node->size - start_point ) ;
+        memcpy ( retval + bytes_copied , Node->data + start_point , n ) ;
+        bytes_copied += n ;
+        remaining -= n ;
+        start_point = ( start_point + n ) % Node->size ;
+    }
+
+    /* advance user's file pointer */
+    *Offset += * Length ;
+
+    return retval ;
+}
+
+/*******************************************************************************
+ **
+ **  _WriteToNode
+ **
+ ** 1) writes to a circular buffer with wraparound.
+ ** 2)in case of an overflow, it overwrites the oldest unread data.
+ **
+ *********************************************************************************/
+static void
+_WriteToNode (
+               gcsDebugFileSystemNode* Node ,
+               caddr_t Buf ,
+               int Length
+               )
+{
+    int bytes_copied = 0 ;
+    int overflow = 0 ;
+    int n ;
+
+    if ( Length + gcmkNODE_QLEN ( Node ) >= ( Node->size - 1 ) )
+    {
+        overflow = 1 ;
+
+        /* in case of overflow, figure out where the new buffer will
+         * begin.  we start by figuring out where the current buffer ENDS:
+         * node->parent->offset +  gcmkNODE_QLEN.      we then advance the end-offset
+         * by the Length of the current write, and work backwards to
+         * figure out what the oldest unoverwritten data will be (i.e.,
+         * size of the buffer). */
+        Node->offset = Node->offset + gcmkNODE_QLEN ( Node ) + Length
+                - Node->size + 1 ;
+    }
+
+    while ( Length )
+    {
+        /* how many contiguous bytes are available from the write point to
+         * the end of the circular buffer? */
+        n = gcmkMIN ( Length , Node->size - Node->write_point ) ;
+        memcpy ( Node->data + Node->write_point , Buf + bytes_copied , n ) ;
+        bytes_copied += n ;
+        Length -= n ;
+        Node->write_point = ( Node->write_point + n ) % Node->size ;
+    }
+
+    /* if there is an overflow, reset the read point to read whatever is
+     * the oldest data that we have, that has not yet been
+     * overwritten. */
+    if ( overflow )
+    {
+        Node->read_point = ( Node->write_point + 1 ) % Node->size ;
+    }
+}
+
+
+/*******************************************************************************
+ **
+ **            PRINTING UTILITY (START)
+ **
+ *******************************************************************************/
+
+/*******************************************************************************
+ **
+ **  _GetArgumentSize
+ **
+ **
+ *******************************************************************************/
+static gctINT
+_GetArgumentSize (
+                   IN gctCONST_STRING Message
+                   )
+{
+    gctINT i , count ;
+
+    for ( i = 0 , count = 0 ; Message[i] ; i += 1 )
+    {
+        if ( Message[i] == '%' )
+        {
+            count += 1 ;
+        }
+    }
+    return count * sizeof (unsigned int ) ;
+}
+
+/*******************************************************************************
+ **
+ ** _AppendString
+ **
+ **
+ *******************************************************************************/
+static ssize_t
+_AppendString (
+                IN gcsDebugFileSystemNode* Node ,
+                IN gctCONST_STRING String ,
+                IN int Length
+                )
+{
+    caddr_t message = NULL ;
+    int n ;
+
+    /* if the message is longer than the buffer, just take the beginning
+     * of it, in hopes that the reader (if any) will have time to read
+     * before we wrap around and obliterate it */
+    n = gcmkMIN ( Length , Node->size - 1 ) ;
+
+    /* make sure we have the memory for it */
+    if ( ( message = kmalloc ( n , GFP_KERNEL ) ) == NULL )
+        return - ENOMEM ;
+
+    /* copy into our temp buffer */
+    memcpy ( message , String , n ) ;
+
+    /* now copy it into the circular buffer and free our temp copy */
+    _WriteToNode ( Node , message , n ) ;
+    kfree ( message ) ;
+    return n ;
+}
+
+/*******************************************************************************
+ **
+ ** _DebugFSPrint
+ **
+ **
+ *******************************************************************************/
+static void
+_DebugFSPrint (
+                IN unsigned int ArgumentSize ,
+                IN const char* Message ,
+                IN gctDBGARGS Arguments
+
+                )
+{
+    char buffer[MAX_LINE_SIZE] ;
+    int len ;
+    down ( gcmkNODE_SEM ( gc_dbgfs.currentNode ) ) ;
+    len = vsnprintf ( buffer , sizeof (buffer ) , Message , *( va_list * ) & Arguments ) ;
+    buffer[len] = '\0' ;
+
+    /* Add end-of-line if missing. */
+    if ( buffer[len - 1] != '\n' )
+    {
+        buffer[len ++] = '\n' ;
+        buffer[len] = '\0' ;
+    }
+    _AppendString ( gc_dbgfs.currentNode , buffer , len ) ;
+    up ( gcmkNODE_SEM ( gc_dbgfs.currentNode ) ) ;
+    wake_up_interruptible ( gcmkNODE_READQ ( gc_dbgfs.currentNode ) ) ; /* blocked in read*/
+}
+
+/*******************************************************************************
+ **
+ **                     LINUX SYSTEM FUNCTIONS (START)
+ **
+ *******************************************************************************/
+
+/*******************************************************************************
+ **
+ **  find the vivlog structure associated with an inode.
+ **    returns a       pointer to the structure if found, NULL if not found
+ **
+ *******************************************************************************/
+static gcsDebugFileSystemNode*
+_GetNodeInfo (
+               IN struct inode *Inode
+               )
+{
+    gcsDebugFileSystemNode* node ;
+
+    if ( Inode == NULL )
+        return NULL ;
+
+    for ( node = gc_dbgfs.linkedlist ; node != NULL ; node = node->next )
+        if ( node->filen->d_inode->i_ino == Inode->i_ino )
+            return node ;
+
+    return NULL ;
+}
+
+/*******************************************************************************
+ **
+ **   _DebugFSRead
+ **
+ *******************************************************************************/
+static ssize_t
+_DebugFSRead (
+               struct file *file ,
+               char __user * buffer ,
+               size_t length ,
+               loff_t * offset
+               )
+{
+    int retval ;
+    caddr_t data_to_return ;
+    gcsDebugFileSystemNode* node ;
+    /* get the metadata about this emlog */
+    if ( ( node = _GetNodeInfo ( file->f_dentry->d_inode ) ) == NULL )
+    {
+        printk ( "debugfs_read: record not found\n" ) ;
+        return - EIO ;
+    }
+
+    if ( down_interruptible ( gcmkNODE_SEM ( node ) ) )
+    {
+        return - ERESTARTSYS ;
+    }
+
+    /* wait until there's data available (unless we do nonblocking reads) */
+    while ( *offset >= gcmkNODE_FIRST_EMPTY_BYTE ( node ) )
+    {
+        up ( gcmkNODE_SEM ( node ) ) ;
+        if ( file->f_flags & O_NONBLOCK )
+        {
+            return - EAGAIN ;
+        }
+        if ( wait_event_interruptible ( ( *( gcmkNODE_READQ ( node ) ) ) , ( *offset < gcmkNODE_FIRST_EMPTY_BYTE ( node ) ) ) )
+        {
+            return - ERESTARTSYS ; /* signal: tell the fs layer to handle it */
+        }
+        /* otherwise loop, but first reacquire the lock */
+        if ( down_interruptible ( gcmkNODE_SEM ( node ) ) )
+        {
+            return - ERESTARTSYS ;
+        }
+    }
+    data_to_return = _ReadFromNode ( node , &length , offset ) ;
+    if ( data_to_return == NULL )
+    {
+        retval = 0 ;
+        goto unlock ;
+    }
+    if ( copy_to_user ( buffer , data_to_return , length ) > 0 )
+    {
+        retval = - EFAULT ;
+    }
+    else
+    {
+        retval = length ;
+    }
+    kfree ( data_to_return ) ;
+unlock:
+    up ( gcmkNODE_SEM ( node ) ) ;
+    wake_up_interruptible ( gcmkNODE_WRITEQ ( node ) ) ;
+    return retval ;
+}
+
+/*******************************************************************************
+ **
+ **_DebugFSWrite
+ **
+ *******************************************************************************/
+static ssize_t
+_DebugFSWrite (
+                struct file *file ,
+                const char __user * buffer ,
+                size_t length ,
+                loff_t * offset
+                )
+{
+    caddr_t message = NULL ;
+    int n ;
+    gcsDebugFileSystemNode*node ;
+
+    /* get the metadata about this log */
+    if ( ( node = _GetNodeInfo ( file->f_dentry->d_inode ) ) == NULL )
+    {
+        return - EIO ;
+    }
+
+    if ( down_interruptible ( gcmkNODE_SEM ( node ) ) )
+    {
+        return - ERESTARTSYS ;
+    }
+
+    /* if the message is longer than the buffer, just take the beginning
+     * of it, in hopes that the reader (if any) will have time to read
+     * before we wrap around and obliterate it */
+    n = gcmkMIN ( length , node->size - 1 ) ;
+
+    /* make sure we have the memory for it */
+    if ( ( message = kmalloc ( n , GFP_KERNEL ) ) == NULL )
+    {
+        up ( gcmkNODE_SEM ( node ) ) ;
+        return - ENOMEM ;
+    }
+
+    /* copy into our temp buffer */
+    if ( copy_from_user ( message , buffer , n ) > 0 )
+    {
+        up ( gcmkNODE_SEM ( node ) ) ;
+        kfree ( message ) ;
+        return - EFAULT ;
+    }
+
+    /* now copy it into the circular buffer and free our temp copy */
+    _WriteToNode ( node , message , n ) ;
+
+    kfree ( message ) ;
+    up ( gcmkNODE_SEM ( node ) ) ;
+
+    /* wake up any readers that might be waiting for the data.  we call
+     * schedule in the vague hope that a reader will run before the
+     * writer's next write, to avoid losing data. */
+    wake_up_interruptible ( gcmkNODE_READQ ( node ) ) ;
+
+    return n ;
+}
+
+/*******************************************************************************
+ **
+ ** File Operations Table
+ **
+ *******************************************************************************/
+static const struct file_operations debugfs_operations = {
+                                                          .owner = THIS_MODULE ,
+                                                          .read = _DebugFSRead ,
+                                                          .write = _DebugFSWrite ,
+} ;
+
+/*******************************************************************************
+ **
+ **                             INTERFACE FUNCTIONS (START)
+ **
+ *******************************************************************************/
+
+/*******************************************************************************
+ **
+ **  gckDebugFileSystemIsEnabled
+ **
+ **
+ **  INPUT:
+ **
+ **  OUTPUT:
+ **
+ *******************************************************************************/
+
+
+gctINT
+gckDebugFileSystemIsEnabled ( void )
+{
+    return gc_dbgfs.isInited ;
+}
+/*******************************************************************************
+ **
+ **  gckDebugFileSystemInitialize
+ **
+ **
+ **  INPUT:
+ **
+ **  OUTPUT:
+ **
+ *******************************************************************************/
+
+gctINT
+gckDebugFileSystemInitialize ( void )
+{
+    if ( ! gc_dbgfs.isInited )
+    {
+        gc_dbgfs.linkedlist = gcvNULL ;
+        gc_dbgfs.currentNode = gcvNULL ;
+        gc_dbgfs.isInited = 1 ;
+    }
+    return gc_dbgfs.isInited ;
+}
+/*******************************************************************************
+ **
+ **  gckDebugFileSystemTerminate
+ **
+ **
+ **  INPUT:
+ **
+ **  OUTPUT:
+ **
+ *******************************************************************************/
+
+gctINT
+gckDebugFileSystemTerminate ( void )
+{
+    gcsDebugFileSystemNode * next = gcvNULL ;
+    gcsDebugFileSystemNode * temp = gcvNULL ;
+    if ( gc_dbgfs.isInited )
+    {
+        temp = gc_dbgfs.linkedlist ;
+        while ( temp != gcvNULL )
+        {
+            next = temp->next ;
+            gckDebugFileSystemFreeNode ( temp ) ;
+            kfree ( temp ) ;
+            temp = next ;
+        }
+        gc_dbgfs.isInited = 0 ;
+    }
+    return 0 ;
+}
+
+
+/*******************************************************************************
+ **
+ **  gckDebugFileSystemCreateNode
+ **
+ **
+ **  INPUT:
+ **
+ **  OUTPUT:
+ **
+ **     gckDebugFileSystemFreeNode * Device
+ **              Pointer to a variable receiving the gcsDebugFileSystemNode object pointer on
+ **              success.
+ *********************************************************************************/
+
+gctINT
+gckDebugFileSystemCreateNode (
+                               IN gctINT SizeInKB ,
+                               IN gctCONST_STRING ParentName ,
+                               IN gctCONST_STRING NodeName ,
+                               OUT gcsDebugFileSystemNode **Node
+                               )
+{
+    gcsDebugFileSystemNode*node ;
+    /* allocate space for our metadata and initialize it */
+    if ( ( node = kmalloc ( sizeof (gcsDebugFileSystemNode ) , GFP_KERNEL ) ) == NULL )
+        goto struct_malloc_failed ;
+
+    /*Zero it out*/
+    memset ( node , 0 , sizeof (gcsDebugFileSystemNode ) ) ;
+
+    /*Init the sync primitives*/
+#if defined(DECLARE_WAIT_QUEUE_HEAD)
+    init_waitqueue_head ( gcmkNODE_READQ ( node ) ) ;
+#else
+    init_waitqueue ( gcmkNODE_READQ ( node ) ) ;
+#endif
+
+#if defined(DECLARE_WAIT_QUEUE_HEAD)
+    init_waitqueue_head ( gcmkNODE_WRITEQ ( node ) ) ;
+#else
+    init_waitqueue ( gcmkNODE_WRITEQ ( node ) ) ;
+#endif
+    sema_init ( gcmkNODE_SEM ( node ) , 1 ) ;
+    /*End the sync primitives*/
+
+
+    /* figure out how much of a buffer this should be and allocate the buffer */
+    node->size = 1024 * SizeInKB ;
+    if ( ( node->data = ( char * ) vmalloc ( sizeof (char ) * node->size ) ) == NULL )
+        goto data_malloc_failed ;
+
+    /*creating the debug file system*/
+    node->parent = debugfs_create_dir ( ParentName , NULL ) ;
+
+    /*creating the file*/
+    node->filen = debugfs_create_file ( NodeName , S_IRUGO | S_IWUSR , node->parent , NULL ,
+                                        &debugfs_operations ) ;
+
+    /* add it to our linked list */
+    node->next = gc_dbgfs.linkedlist ;
+    gc_dbgfs.linkedlist = node ;
+
+    /* pass the struct back */
+    *Node = node ;
+    return 0 ;
+
+    vfree ( node->data ) ;
+data_malloc_failed:
+    kfree ( node ) ;
+struct_malloc_failed:
+    return - ENOMEM ;
+}
+
+/*******************************************************************************
+ **
+ **  gckDebugFileSystemFreeNode
+ **
+ **
+ **  INPUT:
+ **
+ **  OUTPUT:
+ **
+ *******************************************************************************/
+void
+gckDebugFileSystemFreeNode (
+                             IN gcsDebugFileSystemNode * Node
+                             )
+{
+
+    gcsDebugFileSystemNode **ptr ;
+
+    if ( Node == NULL )
+    {
+        printk ( "null passed to free_vinfo\n" ) ;
+        return ;
+    }
+
+    down ( gcmkNODE_SEM ( Node ) ) ;
+    /*free data*/
+    vfree ( Node->data ) ;
+
+    /*Close Debug fs*/
+    if ( Node->filen )
+    {
+        debugfs_remove ( Node->filen ) ;
+    }
+    if ( Node->parent )
+    {
+        debugfs_remove ( Node->parent ) ;
+    }
+
+    /* now delete the node from the linked list */
+    ptr = & ( gc_dbgfs.linkedlist ) ;
+    while ( *ptr != Node )
+    {
+        if ( ! *ptr )
+        {
+            printk ( "corrupt info list!\n" ) ;
+            break ;
+        }
+        else
+            ptr = & ( ( **ptr ).next ) ;
+    }
+    *ptr = Node->next ;
+    up ( gcmkNODE_SEM ( Node ) ) ;
+}
+
+/*******************************************************************************
+ **
+ **   gckDebugFileSystemSetCurrentNode
+ **
+ **
+ **  INPUT:
+ **
+ **  OUTPUT:
+ **
+ *******************************************************************************/
+void
+gckDebugFileSystemSetCurrentNode (
+                                   IN gcsDebugFileSystemNode * Node
+                                   )
+{
+    gc_dbgfs.currentNode = Node ;
+}
+
+/*******************************************************************************
+ **
+ **   gckDebugFileSystemGetCurrentNode
+ **
+ **
+ **  INPUT:
+ **
+ **  OUTPUT:
+ **
+ *******************************************************************************/
+void
+gckDebugFileSystemGetCurrentNode (
+                                   OUT gcsDebugFileSystemNode ** Node
+                                   )
+{
+    *Node = gc_dbgfs.currentNode ;
+}
+
+/*******************************************************************************
+ **
+ **   gckDebugFileSystemPrint
+ **
+ **
+ **  INPUT:
+ **
+ **  OUTPUT:
+ **
+ *******************************************************************************/
+void
+gckDebugFileSystemPrint (
+                          IN gctCONST_STRING Message ,
+                          ...
+                          )
+{
+    gcmkDBGFSPRINT ( _GetArgumentSize ( Message ) , Message ) ;
+}
diff --git a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_debugfs.h b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_debugfs.h
new file mode 100644 (file)
index 0000000..78d8199
--- /dev/null
@@ -0,0 +1,84 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#include <stdarg.h>
+
+#ifndef __gc_hal_kernel_debugfs_h_
+#define __gc_hal_kernel_debugfs_h_
+
+ #define MAX_LINE_SIZE 768          /* Max bytes for a line of debug info */
+
+
+ typedef struct _gcsDebugFileSystemNode gcsDebugFileSystemNode ;
+
+
+/*******************************************************************************
+ **
+ **                             System Related
+ **
+ *******************************************************************************/
+
+gctINT    gckDebugFileSystemIsEnabled(void);
+
+gctINT   gckDebugFileSystemInitialize(void);
+
+gctINT   gckDebugFileSystemTerminate(void);
+
+
+/*******************************************************************************
+ **
+ **                             Node Related
+ **
+ *******************************************************************************/
+
+gctINT gckDebugFileSystemCreateNode(
+                       IN gctINT SizeInKB,
+                        IN gctCONST_STRING  ParentName ,
+                        IN gctCONST_STRING  NodeName,
+                        OUT gcsDebugFileSystemNode  **Node
+                        );
+
+
+void gckDebugFileSystemFreeNode(
+                       IN gcsDebugFileSystemNode  * Node
+                       );
+
+
+
+void gckDebugFileSystemSetCurrentNode(
+                       IN gcsDebugFileSystemNode  * Node
+                       );
+
+
+
+void gckDebugFileSystemGetCurrentNode(
+                       OUT gcsDebugFileSystemNode  ** Node
+                       );
+
+
+void gckDebugFileSystemPrint(
+                       IN gctCONST_STRING  Message,
+                       ...
+                        );
+
+#endif
+
+
diff --git a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_device.c b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_device.c
new file mode 100644 (file)
index 0000000..bff85a0
--- /dev/null
@@ -0,0 +1,1749 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#include "gc_hal_kernel_linux.h"
+#include <linux/pagemap.h>
+#include <linux/seq_file.h>
+#include <linux/mm.h>
+#include <linux/mman.h>
+#include <linux/slab.h>
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)
+#include <mach/hardware.h>
+#endif
+#include <linux/pm_runtime.h>
+
+#define _GC_OBJ_ZONE    gcvZONE_DEVICE
+
+#define DEBUG_FILE                     "galcore_trace"
+#define PARENT_FILE            "gpu"
+
+
+#ifdef FLAREON
+    static struct dove_gpio_irq_handler gc500_handle;
+#endif
+
+#define gcmIS_CORE_PRESENT(Device, Core) (Device->irqLines[Core] > 0)
+
+/******************************************************************************\
+*************************** Memory Allocation Wrappers *************************
+\******************************************************************************/
+
+static gceSTATUS
+_AllocateMemory(
+    IN gckGALDEVICE Device,
+    IN gctSIZE_T Bytes,
+    OUT gctPOINTER *Logical,
+    OUT gctPHYS_ADDR *Physical,
+    OUT gctUINT32 *PhysAddr
+    )
+{
+    gceSTATUS status;
+
+    gcmkHEADER_ARG("Device=0x%x Bytes=%lu", Device, Bytes);
+
+    gcmkVERIFY_ARGUMENT(Device != NULL);
+    gcmkVERIFY_ARGUMENT(Logical != NULL);
+    gcmkVERIFY_ARGUMENT(Physical != NULL);
+    gcmkVERIFY_ARGUMENT(PhysAddr != NULL);
+
+    gcmkONERROR(gckOS_AllocateContiguous(
+        Device->os, gcvFALSE, &Bytes, Physical, Logical
+        ));
+
+    *PhysAddr = ((PLINUX_MDL)*Physical)->dmaHandle - Device->baseAddress;
+
+    /* Success. */
+    gcmkFOOTER_ARG(
+        "*Logical=0x%x *Physical=0x%x *PhysAddr=0x%08x",
+        *Logical, *Physical, *PhysAddr
+        );
+
+    return gcvSTATUS_OK;
+
+OnError:
+    gcmkFOOTER();
+    return status;
+}
+
+static gceSTATUS
+_FreeMemory(
+    IN gckGALDEVICE Device,
+    IN gctPOINTER Logical,
+    IN gctPHYS_ADDR Physical)
+{
+    gceSTATUS status;
+
+    gcmkHEADER_ARG("Device=0x%x Logical=0x%x Physical=0x%x",
+                   Device, Logical, Physical);
+
+    gcmkVERIFY_ARGUMENT(Device != NULL);
+
+    status = gckOS_FreeContiguous(
+        Device->os, Physical, Logical,
+        ((PLINUX_MDL) Physical)->numPages * PAGE_SIZE
+        );
+
+    gcmkFOOTER();
+    return status;
+}
+
+
+
+/******************************************************************************\
+******************************* Interrupt Handler ******************************
+\******************************************************************************/
+static irqreturn_t isrRoutine(int irq, void *ctxt)
+{
+    gceSTATUS status;
+    gckGALDEVICE device;
+
+    device = (gckGALDEVICE) ctxt;
+
+    /* Call kernel interrupt notification. */
+    status = gckKERNEL_Notify(device->kernels[gcvCORE_MAJOR], gcvNOTIFY_INTERRUPT, gcvTRUE);
+
+    if (gcmIS_SUCCESS(status))
+    {
+        device->dataReadys[gcvCORE_MAJOR] = gcvTRUE;
+
+        up(&device->semas[gcvCORE_MAJOR]);
+
+        return IRQ_HANDLED;
+    }
+
+    return IRQ_NONE;
+}
+
+static int threadRoutine(void *ctxt)
+{
+    gckGALDEVICE device = (gckGALDEVICE) ctxt;
+
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_DRIVER,
+                   "Starting isr Thread with extension=%p",
+                   device);
+
+    for (;;)
+    {
+        static int down;
+
+        down = down_interruptible(&device->semas[gcvCORE_MAJOR]);
+        if (down); /*To make gcc 4.6 happye*/
+        device->dataReadys[gcvCORE_MAJOR] = gcvFALSE;
+
+        if (device->killThread == gcvTRUE)
+        {
+            /* The daemon exits. */
+            while (!kthread_should_stop())
+            {
+                gckOS_Delay(device->os, 1);
+            }
+
+            return 0;
+        }
+
+        gckKERNEL_Notify(device->kernels[gcvCORE_MAJOR], gcvNOTIFY_INTERRUPT, gcvFALSE);
+    }
+}
+
+static irqreturn_t isrRoutine2D(int irq, void *ctxt)
+{
+    gceSTATUS status;
+    gckGALDEVICE device;
+
+    device = (gckGALDEVICE) ctxt;
+
+    /* Call kernel interrupt notification. */
+    status = gckKERNEL_Notify(device->kernels[gcvCORE_2D], gcvNOTIFY_INTERRUPT, gcvTRUE);
+
+    if (gcmIS_SUCCESS(status))
+    {
+        device->dataReadys[gcvCORE_2D] = gcvTRUE;
+
+        up(&device->semas[gcvCORE_2D]);
+
+        return IRQ_HANDLED;
+    }
+
+    return IRQ_NONE;
+}
+
+static int threadRoutine2D(void *ctxt)
+{
+    gckGALDEVICE device = (gckGALDEVICE) ctxt;
+
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_DRIVER,
+                   "Starting isr Thread with extension=%p",
+                   device);
+
+    for (;;)
+    {
+        static int down;
+
+        down = down_interruptible(&device->semas[gcvCORE_2D]);
+        if (down); /*To make gcc 4.6 happye*/
+        device->dataReadys[gcvCORE_2D] = gcvFALSE;
+
+        if (device->killThread == gcvTRUE)
+        {
+            /* The daemon exits. */
+            while (!kthread_should_stop())
+            {
+                gckOS_Delay(device->os, 1);
+            }
+
+            return 0;
+        }
+
+        gckKERNEL_Notify(device->kernels[gcvCORE_2D], gcvNOTIFY_INTERRUPT, gcvFALSE);
+    }
+}
+
+static irqreturn_t isrRoutineVG(int irq, void *ctxt)
+{
+#if gcdENABLE_VG
+    gceSTATUS status;
+    gckGALDEVICE device;
+
+    device = (gckGALDEVICE) ctxt;
+
+       /* Serve the interrupt. */
+       status = gckVGINTERRUPT_Enque(device->kernels[gcvCORE_VG]->vg->interrupt);
+
+       /* Determine the return value. */
+       return (status == gcvSTATUS_NOT_OUR_INTERRUPT)
+               ? IRQ_RETVAL(0)
+               : IRQ_RETVAL(1);
+#else
+    return IRQ_NONE;
+#endif
+}
+
+static int threadRoutineVG(void *ctxt)
+{
+    gckGALDEVICE device = (gckGALDEVICE) ctxt;
+
+    gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_DRIVER,
+                   "Starting isr Thread with extension=%p",
+                   device);
+
+    for (;;)
+    {
+        static int down;
+
+        down = down_interruptible(&device->semas[gcvCORE_VG]);
+        if (down); /*To make gcc 4.6 happye*/
+        device->dataReadys[gcvCORE_VG] = gcvFALSE;
+
+        if (device->killThread == gcvTRUE)
+        {
+            /* The daemon exits. */
+            while (!kthread_should_stop())
+            {
+                gckOS_Delay(device->os, 1);
+            }
+
+            return 0;
+        }
+
+        gckKERNEL_Notify(device->kernels[gcvCORE_VG], gcvNOTIFY_INTERRUPT, gcvFALSE);
+    }
+}
+
+/******************************************************************************\
+******************************* gckGALDEVICE Code ******************************
+\******************************************************************************/
+
+/*******************************************************************************
+**
+**  gckGALDEVICE_Construct
+**
+**  Constructor.
+**
+**  INPUT:
+**
+**  OUTPUT:
+**
+**      gckGALDEVICE * Device
+**          Pointer to a variable receiving the gckGALDEVICE object pointer on
+**          success.
+*/
+gceSTATUS
+gckGALDEVICE_Construct(
+    IN gctINT IrqLine,
+    IN gctUINT32 RegisterMemBase,
+    IN gctSIZE_T RegisterMemSize,
+    IN gctINT IrqLine2D,
+    IN gctUINT32 RegisterMemBase2D,
+    IN gctSIZE_T RegisterMemSize2D,
+    IN gctINT IrqLineVG,
+    IN gctUINT32 RegisterMemBaseVG,
+    IN gctSIZE_T RegisterMemSizeVG,
+    IN gctUINT32 ContiguousBase,
+    IN gctSIZE_T ContiguousSize,
+    IN gctSIZE_T BankSize,
+    IN gctINT FastClear,
+    IN gctINT Compression,
+    IN gctUINT32 PhysBaseAddr,
+    IN gctUINT32 PhysSize,
+    IN gctINT Signal,
+    IN gctUINT LogFileSize,
+    IN struct device *pdev,
+    IN gctINT PowerManagement,
+    IN gctINT GpuProfiler,
+    OUT gckGALDEVICE *Device
+    )
+{
+    gctUINT32 internalBaseAddress = 0, internalAlignment = 0;
+    gctUINT32 externalBaseAddress = 0, externalAlignment = 0;
+    gctUINT32 horizontalTileSize, verticalTileSize;
+    struct resource* mem_region;
+    gctUINT32 physAddr;
+    gctUINT32 physical;
+    gckGALDEVICE device;
+    gceSTATUS status;
+    gctINT32 i;
+    gceHARDWARE_TYPE type;
+    gckDB sharedDB = gcvNULL;
+    gckKERNEL kernel = gcvNULL;
+
+    gcmkHEADER_ARG("IrqLine=%d RegisterMemBase=0x%08x RegisterMemSize=%u "
+                   "IrqLine2D=%d RegisterMemBase2D=0x%08x RegisterMemSize2D=%u "
+                   "IrqLineVG=%d RegisterMemBaseVG=0x%08x RegisterMemSizeVG=%u "
+                   "ContiguousBase=0x%08x ContiguousSize=%lu BankSize=%lu "
+                   "FastClear=%d Compression=%d PhysBaseAddr=0x%x PhysSize=%d Signal=%d",
+                   IrqLine, RegisterMemBase, RegisterMemSize,
+                   IrqLine2D, RegisterMemBase2D, RegisterMemSize2D,
+                   IrqLineVG, RegisterMemBaseVG, RegisterMemSizeVG,
+                   ContiguousBase, ContiguousSize, BankSize, FastClear, Compression,
+                   PhysBaseAddr, PhysSize, Signal);
+
+    /* Allocate device structure. */
+    device = kmalloc(sizeof(struct _gckGALDEVICE), GFP_KERNEL);
+
+    if (!device)
+    {
+        gcmkONERROR(gcvSTATUS_OUT_OF_MEMORY);
+    }
+
+    memset(device, 0, sizeof(struct _gckGALDEVICE));
+
+   device->dbgnode = gcvNULL;
+   if(LogFileSize != 0)
+   {
+       if(gckDebugFileSystemCreateNode(LogFileSize,PARENT_FILE,DEBUG_FILE,&(device->dbgnode)) != 0)
+       {
+               gcmkTRACE_ZONE(
+               gcvLEVEL_ERROR, gcvZONE_DRIVER,
+               "%s(%d): Failed to create  the debug file system  %s/%s \n",
+               __FUNCTION__, __LINE__,
+               PARENT_FILE, DEBUG_FILE
+               );
+       }
+       else
+       {
+               /*Everything is OK*/
+               gckDebugFileSystemSetCurrentNode(device->dbgnode);
+       }
+    }
+#ifdef CONFIG_PM
+    /*Init runtime pm for gpu*/
+    pm_runtime_enable(pdev);
+    device->pmdev = pdev;
+#endif
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,5,0)
+    /*get gpu regulator*/
+    device->gpu_regulator = regulator_get(pdev, "cpu_vddgpu");
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)
+    device->gpu_regulator = devm_regulator_get(pdev, "pu");
+#endif
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,5,0) || LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)
+    if (IS_ERR(device->gpu_regulator)) {
+       gcmkTRACE_ZONE(gcvLEVEL_ERROR, gcvZONE_DRIVER,
+               "%s(%d): Failed to get gpu regulator  %s/%s \n",
+               __FUNCTION__, __LINE__,
+               PARENT_FILE, DEBUG_FILE);
+       gcmkONERROR(gcvSTATUS_NOT_FOUND);
+    }
+#endif
+    /*Initialize the clock structure*/
+    if (IrqLine != -1) {
+        device->clk_3d_core = clk_get(pdev, "gpu3d_clk");
+        if (!IS_ERR(device->clk_3d_core)) {
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,5,0)
+            if (cpu_is_mx6q()) {
+                   device->clk_3d_shader = clk_get(pdev, "gpu3d_shader_clk");
+                   if (IS_ERR(device->clk_3d_shader)) {
+                       IrqLine = -1;
+                       clk_put(device->clk_3d_core);
+                       device->clk_3d_core = NULL;
+                       device->clk_3d_shader = NULL;
+                       gckOS_Print("galcore: clk_get gpu3d_shader_clk failed, disable 3d!\n");
+                   }
+                 }
+#else
+                   device->clk_3d_axi = clk_get(pdev, "gpu3d_axi_clk");
+                   device->clk_3d_shader = clk_get(pdev, "gpu3d_shader_clk");
+                   if (IS_ERR(device->clk_3d_shader)) {
+                       IrqLine = -1;
+                       clk_put(device->clk_3d_core);
+                       device->clk_3d_core = NULL;
+                       device->clk_3d_shader = NULL;
+                       gckOS_Print("galcore: clk_get gpu3d_shader_clk failed, disable 3d!\n");
+                   }
+#endif
+        } else {
+            IrqLine = -1;
+            device->clk_3d_core = NULL;
+            gckOS_Print("galcore: clk_get gpu3d_clk failed, disable 3d!\n");
+        }
+    }
+    if ((IrqLine2D != -1) || (IrqLineVG != -1)) {
+        device->clk_2d_core = clk_get(pdev, "gpu2d_clk");
+        if (IS_ERR(device->clk_2d_core)) {
+            IrqLine2D = -1;
+            IrqLineVG = -1;
+            device->clk_2d_core = NULL;
+            gckOS_Print("galcore: clk_get 2d core clock failed, disable 2d/vg!\n");
+        } else {
+           if (IrqLine2D != -1) {
+                device->clk_2d_axi = clk_get(pdev, "gpu2d_axi_clk");
+                if (IS_ERR(device->clk_2d_axi)) {
+                    device->clk_2d_axi = NULL;
+                    IrqLine2D = -1;
+                    gckOS_Print("galcore: clk_get 2d axi clock failed, disable 2d\n");
+                }
+            }
+            if (IrqLineVG != -1) {
+                device->clk_vg_axi = clk_get(pdev, "openvg_axi_clk");
+                if (IS_ERR(device->clk_vg_axi)) {
+                    IrqLineVG = -1;
+                       device->clk_vg_axi = NULL;
+                       gckOS_Print("galcore: clk_get vg clock failed, disable vg!\n");
+                }
+            }
+        }
+    }
+
+    if (IrqLine != -1)
+    {
+        device->requestedRegisterMemBases[gcvCORE_MAJOR]    = RegisterMemBase;
+        device->requestedRegisterMemSizes[gcvCORE_MAJOR]    = RegisterMemSize;
+    }
+
+    if (IrqLine2D != -1)
+    {
+        device->requestedRegisterMemBases[gcvCORE_2D]       = RegisterMemBase2D;
+        device->requestedRegisterMemSizes[gcvCORE_2D]       = RegisterMemSize2D;
+    }
+
+    if (IrqLineVG != -1)
+    {
+        device->requestedRegisterMemBases[gcvCORE_VG]       = RegisterMemBaseVG;
+        device->requestedRegisterMemSizes[gcvCORE_VG]       = RegisterMemSizeVG;
+    }
+
+    device->requestedContiguousBase  = 0;
+    device->requestedContiguousSize  = 0;
+
+
+    for (i = 0; i < gcdMAX_GPU_COUNT; i++)
+    {
+        physical = device->requestedRegisterMemBases[i];
+
+        /* Set up register memory region. */
+        if (physical != 0)
+        {
+            mem_region = request_mem_region(
+                physical, device->requestedRegisterMemSizes[i], "galcore register region"
+                );
+
+            if (mem_region == gcvNULL)
+            {
+                gcmkTRACE_ZONE(
+                    gcvLEVEL_ERROR, gcvZONE_DRIVER,
+                    "%s(%d): Failed to claim %lu bytes @ 0x%08X\n",
+                    __FUNCTION__, __LINE__,
+                    physical, device->requestedRegisterMemSizes[i]
+                    );
+
+                gcmkONERROR(gcvSTATUS_OUT_OF_RESOURCES);
+            }
+
+            device->registerBases[i] = (gctPOINTER) ioremap_nocache(
+                physical, device->requestedRegisterMemSizes[i]);
+
+            if (device->registerBases[i] == gcvNULL)
+            {
+                gcmkTRACE_ZONE(
+                    gcvLEVEL_ERROR, gcvZONE_DRIVER,
+                    "%s(%d): Unable to map %ld bytes @ 0x%08X\n",
+                    __FUNCTION__, __LINE__,
+                    physical, device->requestedRegisterMemSizes[i]
+                    );
+
+                gcmkONERROR(gcvSTATUS_OUT_OF_RESOURCES);
+            }
+
+            physical += device->requestedRegisterMemSizes[i];
+        }
+        else
+        {
+            device->registerBases[i] = gcvNULL;
+        }
+    }
+
+    /* Set the base address */
+    device->baseAddress = PhysBaseAddr;
+
+    /* Construct the gckOS object. */
+    gcmkONERROR(gckOS_Construct(device, &device->os));
+
+    if (IrqLine != -1)
+    {
+        /* Construct the gckKERNEL object. */
+        gcmkONERROR(gckKERNEL_Construct(
+            device->os, gcvCORE_MAJOR, device,
+            gcvNULL, &device->kernels[gcvCORE_MAJOR]));
+
+        sharedDB = device->kernels[gcvCORE_MAJOR]->db;
+
+        /* Initialize core mapping */
+        for (i = 0; i < 8; i++)
+        {
+            device->coreMapping[i] = gcvCORE_MAJOR;
+        }
+
+        /* Setup the ISR manager. */
+        gcmkONERROR(gckHARDWARE_SetIsrManager(
+            device->kernels[gcvCORE_MAJOR]->hardware,
+            (gctISRMANAGERFUNC) gckGALDEVICE_Setup_ISR,
+            (gctISRMANAGERFUNC) gckGALDEVICE_Release_ISR,
+            device
+            ));
+
+        gcmkONERROR(gckHARDWARE_SetFastClear(
+            device->kernels[gcvCORE_MAJOR]->hardware, FastClear, Compression
+            ));
+
+        gcmkONERROR(gckHARDWARE_SetPowerManagement(
+            device->kernels[gcvCORE_MAJOR]->hardware, PowerManagement
+            ));
+
+        gcmkONERROR(gckHARDWARE_SetGpuProfiler(
+            device->kernels[gcvCORE_MAJOR]->hardware, GpuProfiler
+            ));
+
+#if COMMAND_PROCESSOR_VERSION == 1
+        /* Start the command queue. */
+        gcmkONERROR(gckCOMMAND_Start(device->kernels[gcvCORE_MAJOR]->command));
+#endif
+    }
+    else
+    {
+        device->kernels[gcvCORE_MAJOR] = gcvNULL;
+    }
+
+    if (IrqLine2D != -1)
+    {
+        gcmkONERROR(gckKERNEL_Construct(
+            device->os, gcvCORE_2D, device,
+            sharedDB, &device->kernels[gcvCORE_2D]));
+
+        if (sharedDB == gcvNULL) sharedDB = device->kernels[gcvCORE_2D]->db;
+
+        /* Verify the hardware type */
+        gcmkONERROR(gckHARDWARE_GetType(device->kernels[gcvCORE_2D]->hardware, &type));
+
+        if (type != gcvHARDWARE_2D)
+        {
+            gcmkTRACE_ZONE(
+                gcvLEVEL_ERROR, gcvZONE_DRIVER,
+                "%s(%d): Unexpected hardware type: %d\n",
+                __FUNCTION__, __LINE__,
+                type
+                );
+
+            gcmkONERROR(gcvSTATUS_INVALID_ARGUMENT);
+        }
+
+        /* Initialize core mapping */
+        if (device->kernels[gcvCORE_MAJOR] == gcvNULL)
+        {
+            for (i = 0; i < 8; i++)
+            {
+                device->coreMapping[i] = gcvCORE_2D;
+            }
+        }
+        else
+        {
+            device->coreMapping[gcvHARDWARE_2D] = gcvCORE_2D;
+        }
+
+        /* Setup the ISR manager. */
+        gcmkONERROR(gckHARDWARE_SetIsrManager(
+            device->kernels[gcvCORE_2D]->hardware,
+            (gctISRMANAGERFUNC) gckGALDEVICE_Setup_ISR_2D,
+            (gctISRMANAGERFUNC) gckGALDEVICE_Release_ISR_2D,
+            device
+            ));
+
+        gcmkONERROR(gckHARDWARE_SetPowerManagement(
+            device->kernels[gcvCORE_2D]->hardware, PowerManagement
+            ));
+
+
+#if COMMAND_PROCESSOR_VERSION == 1
+        /* Start the command queue. */
+        gcmkONERROR(gckCOMMAND_Start(device->kernels[gcvCORE_2D]->command));
+#endif
+    }
+    else
+    {
+        device->kernels[gcvCORE_2D] = gcvNULL;
+    }
+
+    if (IrqLineVG != -1)
+    {
+#if gcdENABLE_VG
+        gcmkONERROR(gckKERNEL_Construct(
+            device->os, gcvCORE_VG, device,
+            sharedDB, &device->kernels[gcvCORE_VG]));
+        /* Initialize core mapping */
+        if (device->kernels[gcvCORE_MAJOR] == gcvNULL
+            && device->kernels[gcvCORE_2D] == gcvNULL
+            )
+        {
+            for (i = 0; i < 8; i++)
+            {
+                device->coreMapping[i] = gcvCORE_VG;
+            }
+        }
+        else
+        {
+            device->coreMapping[gcvHARDWARE_VG] = gcvCORE_VG;
+        }
+
+
+        gcmkONERROR(gckVGHARDWARE_SetPowerManagement(
+            device->kernels[gcvCORE_VG]->vg->hardware,
+            PowerManagement
+            ));
+
+#endif
+    }
+    else
+    {
+        device->kernels[gcvCORE_VG] = gcvNULL;
+    }
+
+    /* Initialize the ISR. */
+    device->irqLines[gcvCORE_MAJOR] = IrqLine;
+    device->irqLines[gcvCORE_2D]    = IrqLine2D;
+    device->irqLines[gcvCORE_VG]    = IrqLineVG;
+
+    /* Initialize the kernel thread semaphores. */
+    for (i = 0; i < gcdMAX_GPU_COUNT; i++)
+    {
+        if (device->irqLines[i] != -1) sema_init(&device->semas[i], 0);
+    }
+
+    device->signal = Signal;
+
+    for (i = 0; i < gcdMAX_GPU_COUNT; i++)
+    {
+        if (device->kernels[i] != gcvNULL) break;
+    }
+
+    if (i == gcdMAX_GPU_COUNT)
+       {
+               gcmkONERROR(gcvSTATUS_INVALID_ARGUMENT);
+       }
+
+#if gcdENABLE_VG
+    if (i == gcvCORE_VG)
+    {
+        /* Query the ceiling of the system memory. */
+        gcmkONERROR(gckVGHARDWARE_QuerySystemMemory(
+                device->kernels[i]->vg->hardware,
+                &device->systemMemorySize,
+                &device->systemMemoryBaseAddress
+                ));
+            /* query the amount of video memory */
+        gcmkONERROR(gckVGHARDWARE_QueryMemory(
+            device->kernels[i]->vg->hardware,
+            &device->internalSize, &internalBaseAddress, &internalAlignment,
+            &device->externalSize, &externalBaseAddress, &externalAlignment,
+            &horizontalTileSize, &verticalTileSize
+            ));
+    }
+    else
+#endif
+    {
+        /* Query the ceiling of the system memory. */
+        gcmkONERROR(gckHARDWARE_QuerySystemMemory(
+                device->kernels[i]->hardware,
+                &device->systemMemorySize,
+                &device->systemMemoryBaseAddress
+                ));
+
+            /* query the amount of video memory */
+        gcmkONERROR(gckHARDWARE_QueryMemory(
+            device->kernels[i]->hardware,
+            &device->internalSize, &internalBaseAddress, &internalAlignment,
+            &device->externalSize, &externalBaseAddress, &externalAlignment,
+            &horizontalTileSize, &verticalTileSize
+            ));
+    }
+
+
+    /* Grab the first availiable kernel */
+    for (i = 0; i < gcdMAX_GPU_COUNT; i++)
+    {
+        if (device->irqLines[i] != -1)
+        {
+            kernel = device->kernels[i];
+            break;
+        }
+    }
+
+    /* Set up the internal memory region. */
+    if (device->internalSize > 0)
+    {
+        status = gckVIDMEM_Construct(
+            device->os,
+            internalBaseAddress, device->internalSize, internalAlignment,
+            0, &device->internalVidMem
+            );
+
+        if (gcmIS_ERROR(status))
+        {
+            /* Error, disable internal heap. */
+            device->internalSize = 0;
+        }
+        else
+        {
+            /* Map internal memory. */
+            device->internalLogical
+                = (gctPOINTER) ioremap_nocache(physical, device->internalSize);
+
+            if (device->internalLogical == gcvNULL)
+            {
+                gcmkONERROR(gcvSTATUS_OUT_OF_RESOURCES);
+            }
+
+            device->internalPhysical = (gctPHYS_ADDR)(gctUINTPTR_T) physical;
+            device->internalPhysicalName = gcmPTR_TO_NAME(device->internalPhysical);
+            physical += device->internalSize;
+        }
+    }
+
+    if (device->externalSize > 0)
+    {
+        /* create the external memory heap */
+        status = gckVIDMEM_Construct(
+            device->os,
+            externalBaseAddress, device->externalSize, externalAlignment,
+            0, &device->externalVidMem
+            );
+
+        if (gcmIS_ERROR(status))
+        {
+            /* Error, disable internal heap. */
+            device->externalSize = 0;
+        }
+        else
+        {
+            /* Map external memory. */
+            device->externalLogical
+                = (gctPOINTER) ioremap_nocache(physical, device->externalSize);
+
+            if (device->externalLogical == gcvNULL)
+            {
+                gcmkONERROR(gcvSTATUS_OUT_OF_RESOURCES);
+            }
+
+            device->externalPhysical = (gctPHYS_ADDR)(gctUINTPTR_T) physical;
+            device->externalPhysicalName = gcmPTR_TO_NAME(device->externalPhysical);
+            physical += device->externalSize;
+        }
+    }
+
+    /* set up the contiguous memory */
+    device->contiguousSize = ContiguousSize;
+
+    if (ContiguousSize > 0)
+    {
+        if (ContiguousBase == 0)
+        {
+            while (device->contiguousSize > 0)
+            {
+                /* Allocate contiguous memory. */
+                status = _AllocateMemory(
+                    device,
+                    device->contiguousSize,
+                    &device->contiguousBase,
+                    &device->contiguousPhysical,
+                    &physAddr
+                    );
+
+                if (gcmIS_SUCCESS(status))
+                {
+                    device->contiguousPhysicalName = gcmPTR_TO_NAME(device->contiguousPhysical);
+                    status = gckVIDMEM_Construct(
+                        device->os,
+                        physAddr | device->systemMemoryBaseAddress,
+                        device->contiguousSize,
+                        64,
+                        BankSize,
+                        &device->contiguousVidMem
+                        );
+
+                    if (gcmIS_SUCCESS(status))
+                    {
+                        break;
+                    }
+
+                    gcmkONERROR(_FreeMemory(
+                        device,
+                        device->contiguousBase,
+                        device->contiguousPhysical
+                        ));
+
+                    gcmRELEASE_NAME(device->contiguousPhysicalName);
+                    device->contiguousBase     = gcvNULL;
+                    device->contiguousPhysical = gcvNULL;
+                }
+
+                if (device->contiguousSize <= (4 << 20))
+                {
+                    device->contiguousSize = 0;
+                }
+                else
+                {
+                    device->contiguousSize -= (4 << 20);
+                }
+            }
+        }
+        else
+        {
+            /* Create the contiguous memory heap. */
+            status = gckVIDMEM_Construct(
+                device->os,
+                ContiguousBase | device->systemMemoryBaseAddress,
+                ContiguousSize,
+                64, BankSize,
+                &device->contiguousVidMem
+                );
+
+            if (gcmIS_ERROR(status))
+            {
+                /* Error, disable contiguous memory pool. */
+                device->contiguousVidMem = gcvNULL;
+                device->contiguousSize   = 0;
+            }
+            else
+            {
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)
+                mem_region = request_mem_region(
+                    ContiguousBase, ContiguousSize, "galcore managed memory"
+                    );
+
+                if (mem_region == gcvNULL)
+                {
+                    gcmkTRACE_ZONE(
+                        gcvLEVEL_ERROR, gcvZONE_DRIVER,
+                        "%s(%d): Failed to claim %ld bytes @ 0x%08X\n",
+                        __FUNCTION__, __LINE__,
+                        ContiguousSize, ContiguousBase
+                        );
+
+                    gcmkONERROR(gcvSTATUS_OUT_OF_RESOURCES);
+                }
+#endif
+
+                device->requestedContiguousBase  = ContiguousBase;
+                device->requestedContiguousSize  = ContiguousSize;
+
+#if !gcdDYNAMIC_MAP_RESERVED_MEMORY && gcdENABLE_VG
+                if (gcmIS_CORE_PRESENT(device, gcvCORE_VG))
+                {
+                    device->contiguousBase
+#if gcdPAGED_MEMORY_CACHEABLE
+                        = (gctPOINTER) ioremap_cached(ContiguousBase, ContiguousSize);
+#else
+                        = (gctPOINTER) ioremap_nocache(ContiguousBase, ContiguousSize);
+#endif
+                    if (device->contiguousBase == gcvNULL)
+                    {
+                        device->contiguousVidMem = gcvNULL;
+                        device->contiguousSize = 0;
+
+                        gcmkONERROR(gcvSTATUS_OUT_OF_RESOURCES);
+                    }
+                }
+#endif
+
+                device->contiguousPhysical = gcvNULL;
+                device->contiguousPhysicalName = 0;
+                device->contiguousSize     = ContiguousSize;
+                device->contiguousMapped   = gcvTRUE;
+            }
+        }
+    }
+
+    /* Return pointer to the device. */
+    * Device = device;
+
+    gcmkFOOTER_ARG("*Device=0x%x", * Device);
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Roll back. */
+    gcmkVERIFY_OK(gckGALDEVICE_Destroy(device));
+
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckGALDEVICE_Destroy
+**
+**  Class destructor.
+**
+**  INPUT:
+**
+**      Nothing.
+**
+**  OUTPUT:
+**
+**      Nothing.
+**
+**  RETURNS:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckGALDEVICE_Destroy(
+    gckGALDEVICE Device)
+{
+    gctINT i;
+    gceSTATUS status = gcvSTATUS_OK;
+    gckKERNEL kernel = gcvNULL;
+
+    gcmkHEADER_ARG("Device=0x%x", Device);
+
+    if (Device != gcvNULL)
+    {
+        /* Grab the first availiable kernel */
+        for (i = 0; i < gcdMAX_GPU_COUNT; i++)
+        {
+            if (Device->irqLines[i] != -1)
+            {
+                kernel = Device->kernels[i];
+                break;
+            }
+        }
+        if (Device->internalPhysicalName != 0)
+        {
+            gcmRELEASE_NAME(Device->internalPhysicalName);
+            Device->internalPhysicalName = 0;
+        }
+        if (Device->externalPhysicalName != 0)
+        {
+            gcmRELEASE_NAME(Device->externalPhysicalName);
+            Device->externalPhysicalName = 0;
+        }
+        if (Device->contiguousPhysicalName != 0)
+        {
+            gcmRELEASE_NAME(Device->contiguousPhysicalName);
+            Device->contiguousPhysicalName = 0;
+        }
+
+
+        for (i = 0; i < gcdMAX_GPU_COUNT; i++)
+        {
+            if (Device->kernels[i] != gcvNULL)
+            {
+                /* Destroy the gckKERNEL object. */
+                gcmkVERIFY_OK(gckKERNEL_Destroy(Device->kernels[i]));
+                Device->kernels[i] = gcvNULL;
+            }
+        }
+
+        {
+            if (Device->internalLogical != gcvNULL)
+            {
+                /* Unmap the internal memory. */
+                iounmap(Device->internalLogical);
+                Device->internalLogical = gcvNULL;
+            }
+
+            if (Device->internalVidMem != gcvNULL)
+            {
+                /* Destroy the internal heap. */
+                gcmkVERIFY_OK(gckVIDMEM_Destroy(Device->internalVidMem));
+                Device->internalVidMem = gcvNULL;
+            }
+        }
+
+        {
+            if (Device->externalLogical != gcvNULL)
+            {
+                /* Unmap the external memory. */
+                iounmap(Device->externalLogical);
+                Device->externalLogical = gcvNULL;
+            }
+
+            if (Device->externalVidMem != gcvNULL)
+            {
+                /* destroy the external heap */
+                gcmkVERIFY_OK(gckVIDMEM_Destroy(Device->externalVidMem));
+                Device->externalVidMem = gcvNULL;
+            }
+        }
+
+        {
+            if (Device->contiguousBase != gcvNULL)
+            {
+                if (Device->contiguousMapped)
+                {
+#if !gcdDYNAMIC_MAP_RESERVED_MEMORY && gcdENABLE_VG
+                    if (Device->contiguousBase)
+                    {
+                        /* Unmap the contiguous memory. */
+                        iounmap(Device->contiguousBase);
+                    }
+#endif
+                }
+                else
+                {
+                    gcmkONERROR(_FreeMemory(
+                        Device,
+                        Device->contiguousBase,
+                        Device->contiguousPhysical
+                        ));
+                }
+
+                Device->contiguousBase     = gcvNULL;
+                Device->contiguousPhysical = gcvNULL;
+            }
+
+            if (Device->requestedContiguousBase != 0)
+            {
+                release_mem_region(Device->requestedContiguousBase, Device->requestedContiguousSize);
+                Device->requestedContiguousBase = 0;
+                Device->requestedContiguousSize = 0;
+            }
+
+            if (Device->contiguousVidMem != gcvNULL)
+            {
+                /* Destroy the contiguous heap. */
+                gcmkVERIFY_OK(gckVIDMEM_Destroy(Device->contiguousVidMem));
+                Device->contiguousVidMem = gcvNULL;
+            }
+        }
+
+       {
+           if(gckDebugFileSystemIsEnabled())
+           {
+                gckDebugFileSystemFreeNode(Device->dbgnode);
+                kfree(Device->dbgnode);
+                Device->dbgnode = gcvNULL;
+           }
+       }
+
+        for (i = 0; i < gcdMAX_GPU_COUNT; i++)
+        {
+            if (Device->registerBases[i] != gcvNULL)
+            {
+                /* Unmap register memory. */
+                iounmap(Device->registerBases[i]);
+                           if (Device->requestedRegisterMemBases[i] != 0)
+                           {
+                                   release_mem_region(Device->requestedRegisterMemBases[i], Device->requestedRegisterMemSizes[i]);
+                           }
+
+                Device->registerBases[i] = gcvNULL;
+                Device->requestedRegisterMemBases[i] = 0;
+                Device->requestedRegisterMemSizes[i] = 0;
+            }
+        }
+
+        /*Disable clock*/
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0)
+        if (Device->clk_3d_axi) {
+           clk_put(Device->clk_3d_axi);
+           Device->clk_3d_axi = NULL;
+        }
+#endif
+        if (Device->clk_3d_core) {
+           clk_put(Device->clk_3d_core);
+           Device->clk_3d_core = NULL;
+        }
+        if (Device->clk_3d_shader) {
+           clk_put(Device->clk_3d_shader);
+           Device->clk_3d_shader = NULL;
+        }
+        if (Device->clk_2d_core) {
+           clk_put(Device->clk_2d_core);
+           Device->clk_2d_core = NULL;
+        }
+        if (Device->clk_2d_axi) {
+           clk_put(Device->clk_2d_axi);
+           Device->clk_2d_axi = NULL;
+        }
+        if (Device->clk_vg_axi) {
+           clk_put(Device->clk_vg_axi);
+           Device->clk_vg_axi = NULL;
+        }
+
+#ifdef CONFIG_PM
+        if(Device->pmdev)
+            pm_runtime_disable(Device->pmdev);
+#endif
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,5,0)
+        if (Device->gpu_regulator) {
+           regulator_put(Device->gpu_regulator);
+           Device->gpu_regulator = NULL;
+        }
+#endif
+
+        /* Destroy the gckOS object. */
+        if (Device->os != gcvNULL)
+        {
+            gcmkVERIFY_OK(gckOS_Destroy(Device->os));
+            Device->os = gcvNULL;
+        }
+
+        /* Free the device. */
+        kfree(Device);
+    }
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckGALDEVICE_Setup_ISR
+**
+**  Start the ISR routine.
+**
+**  INPUT:
+**
+**      gckGALDEVICE Device
+**          Pointer to an gckGALDEVICE object.
+**
+**  OUTPUT:
+**
+**      Nothing.
+**
+**  RETURNS:
+**
+**      gcvSTATUS_OK
+**          Setup successfully.
+**      gcvSTATUS_GENERIC_IO
+**          Setup failed.
+*/
+gceSTATUS
+gckGALDEVICE_Setup_ISR(
+    IN gckGALDEVICE Device
+    )
+{
+    gceSTATUS status;
+    gctINT ret;
+
+    gcmkHEADER_ARG("Device=0x%x", Device);
+
+    gcmkVERIFY_ARGUMENT(Device != NULL);
+
+    if (Device->irqLines[gcvCORE_MAJOR] < 0)
+    {
+        gcmkONERROR(gcvSTATUS_GENERIC_IO);
+    }
+
+    /* Hook up the isr based on the irq line. */
+#ifdef FLAREON
+    gc500_handle.dev_name  = "galcore interrupt service";
+    gc500_handle.dev_id    = Device;
+    gc500_handle.handler   = isrRoutine;
+    gc500_handle.intr_gen  = GPIO_INTR_LEVEL_TRIGGER;
+    gc500_handle.intr_trig = GPIO_TRIG_HIGH_LEVEL;
+
+    ret = dove_gpio_request(
+        DOVE_GPIO0_7, &gc500_handle
+        );
+#else
+    ret = request_irq(
+        Device->irqLines[gcvCORE_MAJOR], isrRoutine, IRQF_DISABLED,
+        "galcore interrupt service", Device
+        );
+#endif
+
+    if (ret != 0)
+    {
+        gcmkTRACE_ZONE(
+            gcvLEVEL_ERROR, gcvZONE_DRIVER,
+            "%s(%d): Could not register irq line %d (error=%d)\n",
+            __FUNCTION__, __LINE__,
+            Device->irqLines[gcvCORE_MAJOR], ret
+            );
+
+        gcmkONERROR(gcvSTATUS_GENERIC_IO);
+    }
+
+    /* Mark ISR as initialized. */
+    Device->isrInitializeds[gcvCORE_MAJOR] = gcvTRUE;
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    gcmkFOOTER();
+    return status;
+}
+
+gceSTATUS
+gckGALDEVICE_Setup_ISR_2D(
+    IN gckGALDEVICE Device
+    )
+{
+    gceSTATUS status;
+    gctINT ret;
+
+    gcmkHEADER_ARG("Device=0x%x", Device);
+
+    gcmkVERIFY_ARGUMENT(Device != NULL);
+
+    if (Device->irqLines[gcvCORE_2D] < 0)
+    {
+        gcmkONERROR(gcvSTATUS_GENERIC_IO);
+    }
+
+    /* Hook up the isr based on the irq line. */
+#ifdef FLAREON
+    gc500_handle.dev_name  = "galcore interrupt service";
+    gc500_handle.dev_id    = Device;
+    gc500_handle.handler   = isrRoutine2D;
+    gc500_handle.intr_gen  = GPIO_INTR_LEVEL_TRIGGER;
+    gc500_handle.intr_trig = GPIO_TRIG_HIGH_LEVEL;
+
+    ret = dove_gpio_request(
+        DOVE_GPIO0_7, &gc500_handle
+        );
+#else
+    ret = request_irq(
+        Device->irqLines[gcvCORE_2D], isrRoutine2D, IRQF_DISABLED,
+        "galcore interrupt service for 2D", Device
+        );
+#endif
+
+    if (ret != 0)
+    {
+        gcmkTRACE_ZONE(
+            gcvLEVEL_ERROR, gcvZONE_DRIVER,
+            "%s(%d): Could not register irq line %d (error=%d)\n",
+            __FUNCTION__, __LINE__,
+            Device->irqLines[gcvCORE_2D], ret
+            );
+
+        gcmkONERROR(gcvSTATUS_GENERIC_IO);
+    }
+
+    /* Mark ISR as initialized. */
+    Device->isrInitializeds[gcvCORE_2D] = gcvTRUE;
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    gcmkFOOTER();
+    return status;
+}
+
+gceSTATUS
+gckGALDEVICE_Setup_ISR_VG(
+    IN gckGALDEVICE Device
+    )
+{
+    gceSTATUS status;
+    gctINT ret;
+
+    gcmkHEADER_ARG("Device=0x%x", Device);
+
+    gcmkVERIFY_ARGUMENT(Device != NULL);
+
+    if (Device->irqLines[gcvCORE_VG] < 0)
+    {
+        gcmkONERROR(gcvSTATUS_GENERIC_IO);
+    }
+
+    /* Hook up the isr based on the irq line. */
+#ifdef FLAREON
+    gc500_handle.dev_name  = "galcore interrupt service";
+    gc500_handle.dev_id    = Device;
+    gc500_handle.handler   = isrRoutineVG;
+    gc500_handle.intr_gen  = GPIO_INTR_LEVEL_TRIGGER;
+    gc500_handle.intr_trig = GPIO_TRIG_HIGH_LEVEL;
+
+    ret = dove_gpio_request(
+        DOVE_GPIO0_7, &gc500_handle
+        );
+#else
+    ret = request_irq(
+        Device->irqLines[gcvCORE_VG], isrRoutineVG, IRQF_DISABLED,
+        "galcore interrupt service for 2D", Device
+        );
+#endif
+
+    if (ret != 0)
+    {
+        gcmkTRACE_ZONE(
+            gcvLEVEL_ERROR, gcvZONE_DRIVER,
+            "%s(%d): Could not register irq line %d (error=%d)\n",
+            __FUNCTION__, __LINE__,
+            Device->irqLines[gcvCORE_VG], ret
+            );
+
+        gcmkONERROR(gcvSTATUS_GENERIC_IO);
+    }
+
+    /* Mark ISR as initialized. */
+    Device->isrInitializeds[gcvCORE_VG] = gcvTRUE;
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckGALDEVICE_Release_ISR
+**
+**  Release the irq line.
+**
+**  INPUT:
+**
+**      gckGALDEVICE Device
+**          Pointer to an gckGALDEVICE object.
+**
+**  OUTPUT:
+**
+**      Nothing.
+**
+**  RETURNS:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckGALDEVICE_Release_ISR(
+    IN gckGALDEVICE Device
+    )
+{
+    gcmkHEADER_ARG("Device=0x%x", Device);
+
+    gcmkVERIFY_ARGUMENT(Device != NULL);
+
+    /* release the irq */
+    if (Device->isrInitializeds[gcvCORE_MAJOR])
+    {
+#ifdef FLAREON
+        dove_gpio_free(DOVE_GPIO0_7, "galcore interrupt service");
+#else
+        free_irq(Device->irqLines[gcvCORE_MAJOR], Device);
+#endif
+
+           Device->isrInitializeds[gcvCORE_MAJOR] = gcvFALSE;
+    }
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+gceSTATUS
+gckGALDEVICE_Release_ISR_2D(
+    IN gckGALDEVICE Device
+    )
+{
+    gcmkHEADER_ARG("Device=0x%x", Device);
+
+    gcmkVERIFY_ARGUMENT(Device != NULL);
+
+    /* release the irq */
+    if (Device->isrInitializeds[gcvCORE_2D])
+    {
+#ifdef FLAREON
+        dove_gpio_free(DOVE_GPIO0_7, "galcore interrupt service");
+#else
+        free_irq(Device->irqLines[gcvCORE_2D], Device);
+#endif
+
+           Device->isrInitializeds[gcvCORE_2D] = gcvFALSE;
+    }
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+gceSTATUS
+gckGALDEVICE_Release_ISR_VG(
+    IN gckGALDEVICE Device
+    )
+{
+    gcmkHEADER_ARG("Device=0x%x", Device);
+
+    gcmkVERIFY_ARGUMENT(Device != NULL);
+
+    /* release the irq */
+    if (Device->isrInitializeds[gcvCORE_VG])
+    {
+#ifdef FLAREON
+        dove_gpio_free(DOVE_GPIO0_7, "galcore interrupt service");
+#else
+        free_irq(Device->irqLines[gcvCORE_VG], Device);
+#endif
+
+           Device->isrInitializeds[gcvCORE_VG] = gcvFALSE;
+    }
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckGALDEVICE_Start_Threads
+**
+**  Start the daemon threads.
+**
+**  INPUT:
+**
+**      gckGALDEVICE Device
+**          Pointer to an gckGALDEVICE object.
+**
+**  OUTPUT:
+**
+**      Nothing.
+**
+**  RETURNS:
+**
+**      gcvSTATUS_OK
+**          Start successfully.
+**      gcvSTATUS_GENERIC_IO
+**          Start failed.
+*/
+gceSTATUS
+gckGALDEVICE_Start_Threads(
+    IN gckGALDEVICE Device
+    )
+{
+    gceSTATUS status;
+    struct task_struct * task;
+
+    gcmkHEADER_ARG("Device=0x%x", Device);
+
+    gcmkVERIFY_ARGUMENT(Device != NULL);
+
+    if (Device->kernels[gcvCORE_MAJOR] != gcvNULL)
+    {
+        /* Start the kernel thread. */
+        task = kthread_run(threadRoutine, Device, "galcore daemon thread");
+
+        if (IS_ERR(task))
+        {
+            gcmkTRACE_ZONE(
+                gcvLEVEL_ERROR, gcvZONE_DRIVER,
+                "%s(%d): Could not start the kernel thread.\n",
+                __FUNCTION__, __LINE__
+                );
+
+            gcmkONERROR(gcvSTATUS_GENERIC_IO);
+        }
+
+        Device->threadCtxts[gcvCORE_MAJOR]          = task;
+        Device->threadInitializeds[gcvCORE_MAJOR]   = gcvTRUE;
+    }
+
+    if (Device->kernels[gcvCORE_2D] != gcvNULL)
+    {
+        /* Start the kernel thread. */
+        task = kthread_run(threadRoutine2D, Device, "galcore daemon thread for 2D");
+
+        if (IS_ERR(task))
+        {
+            gcmkTRACE_ZONE(
+                gcvLEVEL_ERROR, gcvZONE_DRIVER,
+                "%s(%d): Could not start the kernel thread.\n",
+                __FUNCTION__, __LINE__
+                );
+
+            gcmkONERROR(gcvSTATUS_GENERIC_IO);
+        }
+
+        Device->threadCtxts[gcvCORE_2D]         = task;
+        Device->threadInitializeds[gcvCORE_2D]  = gcvTRUE;
+    }
+    else
+    {
+        Device->threadInitializeds[gcvCORE_2D]  = gcvFALSE;
+    }
+
+    if (Device->kernels[gcvCORE_VG] != gcvNULL)
+    {
+        /* Start the kernel thread. */
+        task = kthread_run(threadRoutineVG, Device, "galcore daemon thread for VG");
+
+        if (IS_ERR(task))
+        {
+            gcmkTRACE_ZONE(
+                gcvLEVEL_ERROR, gcvZONE_DRIVER,
+                "%s(%d): Could not start the kernel thread.\n",
+                __FUNCTION__, __LINE__
+                );
+
+            gcmkONERROR(gcvSTATUS_GENERIC_IO);
+        }
+
+        Device->threadCtxts[gcvCORE_VG]         = task;
+        Device->threadInitializeds[gcvCORE_VG]  = gcvTRUE;
+    }
+    else
+    {
+        Device->threadInitializeds[gcvCORE_VG]  = gcvFALSE;
+    }
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckGALDEVICE_Stop_Threads
+**
+**  Stop the gal device, including the following actions: stop the daemon
+**  thread, release the irq.
+**
+**  INPUT:
+**
+**      gckGALDEVICE Device
+**          Pointer to an gckGALDEVICE object.
+**
+**  OUTPUT:
+**
+**      Nothing.
+**
+**  RETURNS:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckGALDEVICE_Stop_Threads(
+    gckGALDEVICE Device
+    )
+{
+    gctINT i;
+
+    gcmkHEADER_ARG("Device=0x%x", Device);
+
+    gcmkVERIFY_ARGUMENT(Device != NULL);
+
+    for (i = 0; i < gcdMAX_GPU_COUNT; i++)
+    {
+        /* Stop the kernel threads. */
+        if (Device->threadInitializeds[i])
+        {
+            Device->killThread = gcvTRUE;
+            up(&Device->semas[i]);
+
+            kthread_stop(Device->threadCtxts[i]);
+            Device->threadCtxts[i]        = gcvNULL;
+            Device->threadInitializeds[i] = gcvFALSE;
+        }
+    }
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckGALDEVICE_Start
+**
+**  Start the gal device, including the following actions: setup the isr routine
+**  and start the daemoni thread.
+**
+**  INPUT:
+**
+**      gckGALDEVICE Device
+**          Pointer to an gckGALDEVICE object.
+**
+**  OUTPUT:
+**
+**      Nothing.
+**
+**  RETURNS:
+**
+**      gcvSTATUS_OK
+**          Start successfully.
+*/
+gceSTATUS
+gckGALDEVICE_Start(
+    IN gckGALDEVICE Device
+    )
+{
+    gceSTATUS status;
+
+    gcmkHEADER_ARG("Device=0x%x", Device);
+
+    /* Start the kernel thread. */
+    gcmkONERROR(gckGALDEVICE_Start_Threads(Device));
+
+    if (Device->kernels[gcvCORE_MAJOR] != gcvNULL)
+    {
+        /* Setup the ISR routine. */
+        gcmkONERROR(gckGALDEVICE_Setup_ISR(Device));
+
+        /* Switch to SUSPEND power state. */
+        gcmkONERROR(gckHARDWARE_SetPowerManagementState(
+            Device->kernels[gcvCORE_MAJOR]->hardware, gcvPOWER_OFF_BROADCAST
+            ));
+    }
+
+    if (Device->kernels[gcvCORE_2D] != gcvNULL)
+    {
+        /* Setup the ISR routine. */
+        gcmkONERROR(gckGALDEVICE_Setup_ISR_2D(Device));
+
+        /* Switch to SUSPEND power state. */
+        gcmkONERROR(gckHARDWARE_SetPowerManagementState(
+            Device->kernels[gcvCORE_2D]->hardware, gcvPOWER_OFF_BROADCAST
+            ));
+    }
+
+    if (Device->kernels[gcvCORE_VG] != gcvNULL)
+    {
+        /* Setup the ISR routine. */
+        gcmkONERROR(gckGALDEVICE_Setup_ISR_VG(Device));
+
+        /* Switch to SUSPEND power state. */
+        gcmkONERROR(gckVGHARDWARE_SetPowerManagementState(
+            Device->kernels[gcvCORE_VG]->vg->hardware, gcvPOWER_OFF_BROADCAST
+            ));
+    }
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckGALDEVICE_Stop
+**
+**  Stop the gal device, including the following actions: stop the daemon
+**  thread, release the irq.
+**
+**  INPUT:
+**
+**      gckGALDEVICE Device
+**          Pointer to an gckGALDEVICE object.
+**
+**  OUTPUT:
+**
+**      Nothing.
+**
+**  RETURNS:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckGALDEVICE_Stop(
+    gckGALDEVICE Device
+    )
+{
+    gceSTATUS status;
+
+    gcmkHEADER_ARG("Device=0x%x", Device);
+
+    gcmkVERIFY_ARGUMENT(Device != NULL);
+
+    if (Device->kernels[gcvCORE_MAJOR] != gcvNULL)
+    {
+        /* Switch to OFF power state. */
+        gcmkONERROR(gckHARDWARE_SetPowerManagementState(
+            Device->kernels[gcvCORE_MAJOR]->hardware, gcvPOWER_OFF
+            ));
+
+        /* Remove the ISR routine. */
+        gcmkONERROR(gckGALDEVICE_Release_ISR(Device));
+    }
+
+    if (Device->kernels[gcvCORE_2D] != gcvNULL)
+    {
+        /* Setup the ISR routine. */
+        gcmkONERROR(gckGALDEVICE_Release_ISR_2D(Device));
+
+        /* Switch to OFF power state. */
+        gcmkONERROR(gckHARDWARE_SetPowerManagementState(
+            Device->kernels[gcvCORE_2D]->hardware, gcvPOWER_OFF
+            ));
+    }
+
+    if (Device->kernels[gcvCORE_VG] != gcvNULL)
+    {
+        /* Setup the ISR routine. */
+        gcmkONERROR(gckGALDEVICE_Release_ISR_VG(Device));
+
+#if gcdENABLE_VG
+        /* Switch to OFF power state. */
+        gcmkONERROR(gckVGHARDWARE_SetPowerManagementState(
+            Device->kernels[gcvCORE_VG]->vg->hardware, gcvPOWER_OFF
+            ));
+#endif
+    }
+
+    /* Stop the kernel thread. */
+    gcmkONERROR(gckGALDEVICE_Stop_Threads(Device));
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    gcmkFOOTER();
+    return status;
+}
diff --git a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_device.h b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_device.h
new file mode 100644 (file)
index 0000000..c51432f
--- /dev/null
@@ -0,0 +1,195 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#ifndef __gc_hal_kernel_device_h_
+#define __gc_hal_kernel_device_h_
+
+/******************************************************************************\
+******************************* gckGALDEVICE Structure *******************************
+\******************************************************************************/
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)
+struct contiguous_mem_pool {
+       struct dma_attrs attrs;
+       dma_addr_t phys;
+       void *virt;
+       size_t size;
+};
+#endif
+
+typedef struct _gckGALDEVICE
+{
+    /* Objects. */
+    gckOS               os;
+    gckKERNEL           kernels[gcdMAX_GPU_COUNT];
+
+    /* Attributes. */
+    gctSIZE_T           internalSize;
+    gctPHYS_ADDR        internalPhysical;
+    gctUINT32           internalPhysicalName;
+    gctPOINTER          internalLogical;
+    gckVIDMEM           internalVidMem;
+    gctSIZE_T           externalSize;
+    gctPHYS_ADDR        externalPhysical;
+    gctUINT32           externalPhysicalName;
+    gctPOINTER          externalLogical;
+    gckVIDMEM           externalVidMem;
+    gckVIDMEM           contiguousVidMem;
+    gctPOINTER          contiguousBase;
+    gctPHYS_ADDR        contiguousPhysical;
+    gctUINT32           contiguousPhysicalName;
+    gctSIZE_T           contiguousSize;
+    gctBOOL             contiguousMapped;
+    gctPOINTER          contiguousMappedUser;
+    gctSIZE_T           systemMemorySize;
+    gctUINT32           systemMemoryBaseAddress;
+    gctPOINTER          registerBases[gcdMAX_GPU_COUNT];
+    gctSIZE_T           registerSizes[gcdMAX_GPU_COUNT];
+    gctUINT32           baseAddress;
+    gctUINT32           requestedRegisterMemBases[gcdMAX_GPU_COUNT];
+    gctSIZE_T           requestedRegisterMemSizes[gcdMAX_GPU_COUNT];
+    gctUINT32           requestedContiguousBase;
+    gctSIZE_T           requestedContiguousSize;
+
+    /* IRQ management. */
+    gctINT              irqLines[gcdMAX_GPU_COUNT];
+    gctBOOL             isrInitializeds[gcdMAX_GPU_COUNT];
+    gctBOOL             dataReadys[gcdMAX_GPU_COUNT];
+
+    /* Thread management. */
+    struct task_struct  *threadCtxts[gcdMAX_GPU_COUNT];
+    struct semaphore    semas[gcdMAX_GPU_COUNT];
+    gctBOOL             threadInitializeds[gcdMAX_GPU_COUNT];
+    gctBOOL             killThread;
+
+    /* Signal management. */
+    gctINT              signal;
+
+    /* Core mapping */
+    gceCORE             coreMapping[8];
+
+    /* States before suspend. */
+    gceCHIPPOWERSTATE   statesStored[gcdMAX_GPU_COUNT];
+
+    /*Device Debug File System Entry in Kernel*/
+   struct _gcsDebugFileSystemNode * dbgnode;
+
+    /* Clock management.*/
+    struct clk         *clk_3d_core;
+    struct clk         *clk_3d_shader;
+    struct clk            *clk_3d_axi;
+    struct clk         *clk_2d_core;
+    struct clk         *clk_2d_axi;
+    struct clk         *clk_vg_axi;
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,5,0) || LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)
+    /*Power management.*/
+    struct regulator      *gpu_regulator;
+#endif
+       /*Run time pm*/
+       struct device           *pmdev;
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)
+       struct contiguous_mem_pool *pool;
+       struct reset_control *rstc[gcdMAX_GPU_COUNT];
+#endif
+}
+* gckGALDEVICE;
+
+typedef struct _gcsHAL_PRIVATE_DATA
+{
+    gckGALDEVICE        device;
+    gctPOINTER          mappedMemory;
+    gctPOINTER          contiguousLogical;
+    /* The process opening the device may not be the same as the one that closes it. */
+    gctUINT32           pidOpen;
+}
+gcsHAL_PRIVATE_DATA, * gcsHAL_PRIVATE_DATA_PTR;
+
+gceSTATUS gckGALDEVICE_Setup_ISR(
+    IN gckGALDEVICE Device
+    );
+
+gceSTATUS gckGALDEVICE_Setup_ISR_2D(
+    IN gckGALDEVICE Device
+    );
+
+gceSTATUS gckGALDEVICE_Setup_ISR_VG(
+    IN gckGALDEVICE Device
+    );
+
+gceSTATUS gckGALDEVICE_Release_ISR(
+    IN gckGALDEVICE Device
+    );
+
+gceSTATUS gckGALDEVICE_Release_ISR_2D(
+    IN gckGALDEVICE Device
+    );
+
+gceSTATUS gckGALDEVICE_Release_ISR_VG(
+    IN gckGALDEVICE Device
+    );
+
+gceSTATUS gckGALDEVICE_Start_Threads(
+    IN gckGALDEVICE Device
+    );
+
+gceSTATUS gckGALDEVICE_Stop_Threads(
+    gckGALDEVICE Device
+    );
+
+gceSTATUS gckGALDEVICE_Start(
+    IN gckGALDEVICE Device
+    );
+
+gceSTATUS gckGALDEVICE_Stop(
+    gckGALDEVICE Device
+    );
+
+gceSTATUS gckGALDEVICE_Construct(
+    IN gctINT IrqLine,
+    IN gctUINT32 RegisterMemBase,
+    IN gctSIZE_T RegisterMemSize,
+    IN gctINT IrqLine2D,
+    IN gctUINT32 RegisterMemBase2D,
+    IN gctSIZE_T RegisterMemSize2D,
+    IN gctINT IrqLineVG,
+    IN gctUINT32 RegisterMemBaseVG,
+    IN gctSIZE_T RegisterMemSizeVG,
+    IN gctUINT32 ContiguousBase,
+    IN gctSIZE_T ContiguousSize,
+    IN gctSIZE_T BankSize,
+    IN gctINT FastClear,
+    IN gctINT Compression,
+    IN gctUINT32 PhysBaseAddr,
+    IN gctUINT32 PhysSize,
+    IN gctINT Signal,
+    IN gctUINT LogFileSize,
+    IN struct device *pdev,
+    IN gctINT PowerManagement,
+    IN gctINT GpuProfiler,
+    OUT gckGALDEVICE *Device
+    );
+
+gceSTATUS gckGALDEVICE_Destroy(
+    IN gckGALDEVICE Device
+    );
+
+#endif /* __gc_hal_kernel_device_h_ */
diff --git a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_driver.c b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_driver.c
new file mode 100644 (file)
index 0000000..3822f37
--- /dev/null
@@ -0,0 +1,1470 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*    Copyright (C) 2011-2013 Freescale Semiconductor, Inc.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+#include <linux/device.h>
+#include <linux/slab.h>
+#include <linux/notifier.h>
+#include "gc_hal_kernel_linux.h"
+#include "gc_hal_driver.h"
+
+#if USE_PLATFORM_DRIVER
+#   include <linux/platform_device.h>
+#endif
+
+#ifdef CONFIG_PXA_DVFM
+#   include <mach/dvfm.h>
+#   include <mach/pxa3xx_dvfm.h>
+#endif
+
+
+#ifdef CONFIG_ANDROID_RESERVED_MEMORY_ACCOUNT
+#    include <linux/resmem_account.h>
+#    include <linux/kernel.h>
+#    include <linux/mm.h>
+#    include <linux/oom.h>
+#    include <linux/sched.h>
+#    include <linux/notifier.h>
+
+struct task_struct *lowmem_deathpending;
+
+static int
+task_notify_func(struct notifier_block *self, unsigned long val, void *data);
+
+static struct notifier_block task_nb = {
+       .notifier_call  = task_notify_func,
+};
+
+static int
+task_notify_func(struct notifier_block *self, unsigned long val, void *data)
+{
+       struct task_struct *task = data;
+
+       if (task == lowmem_deathpending)
+               lowmem_deathpending = NULL;
+
+       return NOTIFY_OK;
+}
+#endif
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,5,0)
+#include <mach/viv_gpu.h>
+#else
+#include <linux/pm_runtime.h>
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)
+#include <mach/busfreq.h>
+#else
+#include <linux/reset.h>
+#endif
+#endif
+/* Zone used for header/footer. */
+#define _GC_OBJ_ZONE    gcvZONE_DRIVER
+
+#if gcdENABLE_FSCALE_VAL_ADJUST
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)
+#include <linux/device_cooling.h>
+#define REG_THERMAL_NOTIFIER(a) register_devfreq_cooling_notifier(a);
+#define UNREG_THERMAL_NOTIFIER(a) unregister_devfreq_cooling_notifier(a);
+#else
+extern int register_thermal_notifier(struct notifier_block *nb);
+extern int unregister_thermal_notifier(struct notifier_block *nb);
+#define REG_THERMAL_NOTIFIER(a) register_thermal_notifier(a);
+#define UNREG_THERMAL_NOTIFIER(a) unregister_thermal_notifier(a);
+#endif
+#endif
+
+MODULE_DESCRIPTION("Vivante Graphics Driver");
+MODULE_LICENSE("GPL");
+
+static struct class* gpuClass;
+
+static gckGALDEVICE galDevice;
+
+static uint major = 199;
+module_param(major, uint, 0644);
+
+static int irqLine = -1;
+module_param(irqLine, int, 0644);
+
+static ulong registerMemBase = 0x80000000;
+module_param(registerMemBase, ulong, 0644);
+
+static ulong registerMemSize = 2 << 10;
+module_param(registerMemSize, ulong, 0644);
+
+static int irqLine2D = -1;
+module_param(irqLine2D, int, 0644);
+
+static ulong registerMemBase2D = 0x00000000;
+module_param(registerMemBase2D, ulong, 0644);
+
+static ulong registerMemSize2D = 2 << 10;
+module_param(registerMemSize2D, ulong, 0644);
+
+static int irqLineVG = -1;
+module_param(irqLineVG, int, 0644);
+
+static ulong registerMemBaseVG = 0x00000000;
+module_param(registerMemBaseVG, ulong, 0644);
+
+static ulong registerMemSizeVG = 2 << 10;
+module_param(registerMemSizeVG, ulong, 0644);
+
+#if gcdENABLE_FSCALE_VAL_ADJUST
+static ulong contiguousSize = 128 << 20;
+#else
+static ulong contiguousSize = 4 << 20;
+#endif
+module_param(contiguousSize, ulong, 0644);
+
+static ulong contiguousBase = 0;
+module_param(contiguousBase, ulong, 0644);
+
+static ulong bankSize = 0;
+module_param(bankSize, ulong, 0644);
+
+static int fastClear = -1;
+module_param(fastClear, int, 0644);
+
+static int compression = -1;
+module_param(compression, int, 0644);
+
+static int powerManagement = 1;
+module_param(powerManagement, int, 0644);
+
+static int gpuProfiler = 0;
+module_param(gpuProfiler, int, 0644);
+
+static int signal = 48;
+module_param(signal, int, 0644);
+
+static ulong baseAddress = 0;
+module_param(baseAddress, ulong, 0644);
+
+static ulong physSize = 0;
+module_param(physSize, ulong, 0644);
+
+static uint logFileSize=0;
+module_param(logFileSize,uint, 0644);
+
+static int showArgs = 0;
+module_param(showArgs, int, 0644);
+
+int gpu3DMinClock = 0;
+module_param(gpu3DMinClock, int, 0644);
+
+#if ENABLE_GPU_CLOCK_BY_DRIVER
+    unsigned long coreClock = 156000000;
+    module_param(coreClock, ulong, 0644);
+#endif
+
+static int drv_open(
+    struct inode* inode,
+    struct file* filp
+    );
+
+static int drv_release(
+    struct inode* inode,
+    struct file* filp
+    );
+
+static long drv_ioctl(
+    struct file* filp,
+    unsigned int ioctlCode,
+    unsigned long arg
+    );
+
+static int drv_mmap(
+    struct file* filp,
+    struct vm_area_struct* vma
+    );
+
+static struct file_operations driver_fops =
+{
+    .owner      = THIS_MODULE,
+    .open       = drv_open,
+    .release    = drv_release,
+    .unlocked_ioctl = drv_ioctl,
+#ifdef HAVE_COMPAT_IOCTL
+    .compat_ioctl = drv_ioctl,
+#endif
+    .mmap       = drv_mmap,
+};
+
+#ifdef CONFIG_ANDROID_RESERVED_MEMORY_ACCOUNT
+static size_t viv_gpu_resmem_query(struct task_struct *p, struct reserved_memory_account *m);
+static struct reserved_memory_account viv_gpu_resmem_handler = {
+    .name = "viv_gpu",
+    .get_page_used_by_process = viv_gpu_resmem_query,
+};
+
+size_t viv_gpu_resmem_query(struct task_struct *p, struct reserved_memory_account *m)
+{
+    gcuDATABASE_INFO info;
+    unsigned int processid = p->pid;
+    gckKERNEL gpukernel = m->data;
+
+    /* ignore error happens in this api. */
+    if (gckKERNEL_QueryProcessDB(gpukernel, processid, false, gcvDB_VIDEO_MEMORY, &info) != gcvSTATUS_OK)
+       return 0;
+
+    /* we return pages. */
+    if (info.counters.bytes > 0)
+       return info.counters.bytes / PAGE_SIZE;
+    return 0;
+}
+#endif
+
+int drv_open(
+    struct inode* inode,
+    struct file* filp
+    )
+{
+    gceSTATUS status;
+    gctBOOL attached = gcvFALSE;
+    gcsHAL_PRIVATE_DATA_PTR data = gcvNULL;
+    gctINT i;
+
+    gcmkHEADER_ARG("inode=0x%08X filp=0x%08X", inode, filp);
+
+    if (filp == gcvNULL)
+    {
+        gcmkTRACE_ZONE(
+            gcvLEVEL_ERROR, gcvZONE_DRIVER,
+            "%s(%d): filp is NULL\n",
+            __FUNCTION__, __LINE__
+            );
+
+        gcmkONERROR(gcvSTATUS_INVALID_ARGUMENT);
+    }
+
+    data = kmalloc(sizeof(gcsHAL_PRIVATE_DATA), GFP_KERNEL);
+
+    if (data == gcvNULL)
+    {
+        gcmkTRACE_ZONE(
+            gcvLEVEL_ERROR, gcvZONE_DRIVER,
+            "%s(%d): private_data is NULL\n",
+            __FUNCTION__, __LINE__
+            );
+
+        gcmkONERROR(gcvSTATUS_OUT_OF_MEMORY);
+    }
+
+    data->device             = galDevice;
+    data->mappedMemory       = gcvNULL;
+    data->contiguousLogical  = gcvNULL;
+    gcmkONERROR(gckOS_GetProcessID(&data->pidOpen));
+
+    /* Attached the process. */
+    for (i = 0; i < gcdMAX_GPU_COUNT; i++)
+    {
+        if (galDevice->kernels[i] != gcvNULL)
+        {
+            gcmkONERROR(gckKERNEL_AttachProcess(galDevice->kernels[i], gcvTRUE));
+        }
+    }
+    attached = gcvTRUE;
+
+    if (!galDevice->contiguousMapped)
+    {
+        gcmkONERROR(gckOS_MapMemory(
+            galDevice->os,
+            galDevice->contiguousPhysical,
+            galDevice->contiguousSize,
+            &data->contiguousLogical
+            ));
+    }
+
+    filp->private_data = data;
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return 0;
+
+OnError:
+    if (data != gcvNULL)
+    {
+        if (data->contiguousLogical != gcvNULL)
+        {
+            gcmkVERIFY_OK(gckOS_UnmapMemory(
+                galDevice->os,
+                galDevice->contiguousPhysical,
+                galDevice->contiguousSize,
+                data->contiguousLogical
+                ));
+        }
+
+        kfree(data);
+    }
+
+    if (attached)
+    {
+        for (i = 0; i < gcdMAX_GPU_COUNT; i++)
+        {
+            if (galDevice->kernels[i] != gcvNULL)
+            {
+                gcmkVERIFY_OK(gckKERNEL_AttachProcess(galDevice->kernels[i], gcvFALSE));
+            }
+        }
+    }
+
+    gcmkFOOTER();
+    return -ENOTTY;
+}
+
+int drv_release(
+    struct inode* inode,
+    struct file* filp
+    )
+{
+    gceSTATUS status;
+    gcsHAL_PRIVATE_DATA_PTR data;
+    gckGALDEVICE device;
+    gctINT i;
+
+    gcmkHEADER_ARG("inode=0x%08X filp=0x%08X", inode, filp);
+
+    if (filp == gcvNULL)
+    {
+        gcmkTRACE_ZONE(
+            gcvLEVEL_ERROR, gcvZONE_DRIVER,
+            "%s(%d): filp is NULL\n",
+            __FUNCTION__, __LINE__
+            );
+
+        gcmkONERROR(gcvSTATUS_INVALID_ARGUMENT);
+    }
+
+    data = filp->private_data;
+
+    if (data == gcvNULL)
+    {
+        gcmkTRACE_ZONE(
+            gcvLEVEL_ERROR, gcvZONE_DRIVER,
+            "%s(%d): private_data is NULL\n",
+            __FUNCTION__, __LINE__
+            );
+
+        gcmkONERROR(gcvSTATUS_INVALID_ARGUMENT);
+    }
+
+    device = data->device;
+
+    if (device == gcvNULL)
+    {
+        gcmkTRACE_ZONE(
+            gcvLEVEL_ERROR, gcvZONE_DRIVER,
+            "%s(%d): device is NULL\n",
+            __FUNCTION__, __LINE__
+            );
+
+        gcmkONERROR(gcvSTATUS_INVALID_ARGUMENT);
+    }
+
+    if (!device->contiguousMapped)
+    {
+        if (data->contiguousLogical != gcvNULL)
+        {
+            gcmkONERROR(gckOS_UnmapMemoryEx(
+                galDevice->os,
+                galDevice->contiguousPhysical,
+                galDevice->contiguousSize,
+                data->contiguousLogical,
+                data->pidOpen
+                ));
+
+            data->contiguousLogical = gcvNULL;
+        }
+    }
+
+    /* A process gets detached. */
+    for (i = 0; i < gcdMAX_GPU_COUNT; i++)
+    {
+        if (galDevice->kernels[i] != gcvNULL)
+        {
+            gcmkONERROR(gckKERNEL_AttachProcessEx(galDevice->kernels[i], gcvFALSE, data->pidOpen));
+        }
+    }
+
+    kfree(data);
+    filp->private_data = NULL;
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return 0;
+
+OnError:
+    gcmkFOOTER();
+    return -ENOTTY;
+}
+
+long drv_ioctl(
+    struct file* filp,
+    unsigned int ioctlCode,
+    unsigned long arg
+    )
+{
+    gceSTATUS status;
+    gcsHAL_INTERFACE iface;
+    gctUINT32 copyLen;
+    DRIVER_ARGS drvArgs;
+    gckGALDEVICE device;
+    gcsHAL_PRIVATE_DATA_PTR data;
+    gctINT32 i, count;
+
+    gcmkHEADER_ARG(
+        "filp=0x%08X ioctlCode=0x%08X arg=0x%08X",
+        filp, ioctlCode, arg
+        );
+
+    if (filp == gcvNULL)
+    {
+        gcmkTRACE_ZONE(
+            gcvLEVEL_ERROR, gcvZONE_DRIVER,
+            "%s(%d): filp is NULL\n",
+            __FUNCTION__, __LINE__
+            );
+
+        gcmkONERROR(gcvSTATUS_INVALID_ARGUMENT);
+    }
+
+    data = filp->private_data;
+
+    if (data == gcvNULL)
+    {
+        gcmkTRACE_ZONE(
+            gcvLEVEL_ERROR, gcvZONE_DRIVER,
+            "%s(%d): private_data is NULL\n",
+            __FUNCTION__, __LINE__
+            );
+
+        gcmkONERROR(gcvSTATUS_INVALID_ARGUMENT);
+    }
+
+    device = data->device;
+
+    if (device == gcvNULL)
+    {
+        gcmkTRACE_ZONE(
+            gcvLEVEL_ERROR, gcvZONE_DRIVER,
+            "%s(%d): device is NULL\n",
+            __FUNCTION__, __LINE__
+            );
+
+        gcmkONERROR(gcvSTATUS_INVALID_ARGUMENT);
+    }
+
+    if ((ioctlCode != IOCTL_GCHAL_INTERFACE)
+    &&  (ioctlCode != IOCTL_GCHAL_KERNEL_INTERFACE)
+    )
+    {
+        gcmkTRACE_ZONE(
+            gcvLEVEL_ERROR, gcvZONE_DRIVER,
+            "%s(%d): unknown command %d\n",
+            __FUNCTION__, __LINE__,
+            ioctlCode
+            );
+
+        gcmkONERROR(gcvSTATUS_INVALID_ARGUMENT);
+    }
+
+    /* Get the drvArgs. */
+    copyLen = copy_from_user(
+        &drvArgs, (void *) arg, sizeof(DRIVER_ARGS)
+        );
+
+    if (copyLen != 0)
+    {
+        gcmkTRACE_ZONE(
+            gcvLEVEL_ERROR, gcvZONE_DRIVER,
+            "%s(%d): error copying of the input arguments.\n",
+            __FUNCTION__, __LINE__
+            );
+
+        gcmkONERROR(gcvSTATUS_INVALID_ARGUMENT);
+    }
+
+    /* Now bring in the gcsHAL_INTERFACE structure. */
+    if ((drvArgs.InputBufferSize  != sizeof(gcsHAL_INTERFACE))
+    ||  (drvArgs.OutputBufferSize != sizeof(gcsHAL_INTERFACE))
+    )
+    {
+        gcmkTRACE_ZONE(
+            gcvLEVEL_ERROR, gcvZONE_DRIVER,
+            "%s(%d): input or/and output structures are invalid.\n",
+            __FUNCTION__, __LINE__
+            );
+
+        gcmkONERROR(gcvSTATUS_INVALID_ARGUMENT);
+    }
+
+    copyLen = copy_from_user(
+        &iface, gcmUINT64_TO_PTR(drvArgs.InputBuffer), sizeof(gcsHAL_INTERFACE)
+        );
+
+    if (copyLen != 0)
+    {
+        gcmkTRACE_ZONE(
+            gcvLEVEL_ERROR, gcvZONE_DRIVER,
+            "%s(%d): error copying of input HAL interface.\n",
+            __FUNCTION__, __LINE__
+            );
+
+        gcmkONERROR(gcvSTATUS_INVALID_ARGUMENT);
+    }
+
+    if (iface.command == gcvHAL_CHIP_INFO)
+    {
+        count = 0;
+        for (i = 0; i < gcdMAX_GPU_COUNT; i++)
+        {
+            if (device->kernels[i] != gcvNULL)
+            {
+#if gcdENABLE_VG
+                if (i == gcvCORE_VG)
+                {
+                    iface.u.ChipInfo.types[count] = gcvHARDWARE_VG;
+                }
+                else
+#endif
+                {
+                    gcmkVERIFY_OK(gckHARDWARE_GetType(device->kernels[i]->hardware,
+                                                      &iface.u.ChipInfo.types[count]));
+                }
+                count++;
+            }
+        }
+
+        iface.u.ChipInfo.count = count;
+        iface.status = status = gcvSTATUS_OK;
+    }
+    else
+    {
+        if (iface.hardwareType < 0 || iface.hardwareType > 7)
+        {
+            gcmkTRACE_ZONE(
+                gcvLEVEL_ERROR, gcvZONE_DRIVER,
+                "%s(%d): unknown hardwareType %d\n",
+                __FUNCTION__, __LINE__,
+                iface.hardwareType
+                );
+
+            gcmkONERROR(gcvSTATUS_INVALID_ARGUMENT);
+        }
+
+#if gcdENABLE_VG
+        if (device->coreMapping[iface.hardwareType] == gcvCORE_VG)
+        {
+            status = gckVGKERNEL_Dispatch(device->kernels[gcvCORE_VG],
+                                        (ioctlCode == IOCTL_GCHAL_INTERFACE),
+                                        &iface);
+        }
+        else
+#endif
+        {
+            status = gckKERNEL_Dispatch(device->kernels[device->coreMapping[iface.hardwareType]],
+                                        (ioctlCode == IOCTL_GCHAL_INTERFACE),
+                                        &iface);
+        }
+    }
+
+    /* Redo system call after pending signal is handled. */
+    if (status == gcvSTATUS_INTERRUPTED)
+    {
+        gcmkFOOTER();
+        return -ERESTARTSYS;
+    }
+
+    if (gcmIS_SUCCESS(status) && (iface.command == gcvHAL_LOCK_VIDEO_MEMORY))
+    {
+        gcuVIDMEM_NODE_PTR node = gcmUINT64_TO_PTR(iface.u.LockVideoMemory.node);
+        /* Special case for mapped memory. */
+        if ((data->mappedMemory != gcvNULL)
+        &&  (node->VidMem.memory->object.type == gcvOBJ_VIDMEM)
+        )
+        {
+            /* Compute offset into mapped memory. */
+            gctUINT32 offset
+                = (gctUINT8 *) gcmUINT64_TO_PTR(iface.u.LockVideoMemory.memory)
+                - (gctUINT8 *) device->contiguousBase;
+
+            /* Compute offset into user-mapped region. */
+            iface.u.LockVideoMemory.memory =
+                gcmPTR_TO_UINT64((gctUINT8 *) data->mappedMemory + offset);
+        }
+    }
+
+    /* Copy data back to the user. */
+    copyLen = copy_to_user(
+        gcmUINT64_TO_PTR(drvArgs.OutputBuffer), &iface, sizeof(gcsHAL_INTERFACE)
+        );
+
+    if (copyLen != 0)
+    {
+        gcmkTRACE_ZONE(
+            gcvLEVEL_ERROR, gcvZONE_DRIVER,
+            "%s(%d): error copying of output HAL interface.\n",
+            __FUNCTION__, __LINE__
+            );
+
+        gcmkONERROR(gcvSTATUS_INVALID_ARGUMENT);
+    }
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return 0;
+
+OnError:
+    gcmkFOOTER();
+    return -ENOTTY;
+}
+
+static int drv_mmap(
+    struct file* filp,
+    struct vm_area_struct* vma
+    )
+{
+    gceSTATUS status = gcvSTATUS_OK;
+    gcsHAL_PRIVATE_DATA_PTR data;
+    gckGALDEVICE device;
+
+    gcmkHEADER_ARG("filp=0x%08X vma=0x%08X", filp, vma);
+
+    if (filp == gcvNULL)
+    {
+        gcmkTRACE_ZONE(
+            gcvLEVEL_ERROR, gcvZONE_DRIVER,
+            "%s(%d): filp is NULL\n",
+            __FUNCTION__, __LINE__
+            );
+
+        gcmkONERROR(gcvSTATUS_INVALID_ARGUMENT);
+    }
+
+    data = filp->private_data;
+
+    if (data == gcvNULL)
+    {
+        gcmkTRACE_ZONE(
+            gcvLEVEL_ERROR, gcvZONE_DRIVER,
+            "%s(%d): private_data is NULL\n",
+            __FUNCTION__, __LINE__
+            );
+
+        gcmkONERROR(gcvSTATUS_INVALID_ARGUMENT);
+    }
+
+    device = data->device;
+
+    if (device == gcvNULL)
+    {
+        gcmkTRACE_ZONE(
+            gcvLEVEL_ERROR, gcvZONE_DRIVER,
+            "%s(%d): device is NULL\n",
+            __FUNCTION__, __LINE__
+            );
+
+        gcmkONERROR(gcvSTATUS_INVALID_ARGUMENT);
+    }
+
+#if !gcdPAGED_MEMORY_CACHEABLE
+    vma->vm_page_prot = pgprot_writecombine(vma->vm_page_prot);
+    vma->vm_flags    |= gcdVM_FLAGS;
+#endif
+    vma->vm_pgoff     = 0;
+
+    if (device->contiguousMapped)
+    {
+        unsigned long size = vma->vm_end - vma->vm_start;
+        int ret = 0;
+
+        if (size > device->contiguousSize)
+        {
+            gcmkTRACE_ZONE(
+                gcvLEVEL_ERROR, gcvZONE_DRIVER,
+                "%s(%d): Invalid mapping size.\n",
+                __FUNCTION__, __LINE__
+                );
+
+            gcmkONERROR(gcvSTATUS_INVALID_ARGUMENT);
+        }
+
+        ret = io_remap_pfn_range(
+            vma,
+            vma->vm_start,
+            device->requestedContiguousBase >> PAGE_SHIFT,
+            size,
+            vma->vm_page_prot
+            );
+
+        if (ret != 0)
+        {
+            gcmkTRACE_ZONE(
+                gcvLEVEL_ERROR, gcvZONE_DRIVER,
+                "%s(%d): io_remap_pfn_range failed %d\n",
+                __FUNCTION__, __LINE__,
+                ret
+                );
+
+            data->mappedMemory = gcvNULL;
+
+            gcmkONERROR(gcvSTATUS_OUT_OF_RESOURCES);
+        }
+
+        data->mappedMemory = (gctPOINTER) vma->vm_start;
+
+        /* Success. */
+        gcmkFOOTER_NO();
+        return 0;
+    }
+
+
+OnError:
+    gcmkFOOTER();
+    return -ENOTTY;
+}
+
+
+#if !USE_PLATFORM_DRIVER
+static int __init drv_init(void)
+#else
+static int drv_init(struct device *pdev)
+#endif
+{
+    int ret;
+    int result = -EINVAL;
+    gceSTATUS status;
+    gckGALDEVICE device = gcvNULL;
+    struct class* device_class = gcvNULL;
+
+    gcmkHEADER();
+
+#if ENABLE_GPU_CLOCK_BY_DRIVER && (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,28))
+    {
+# if 0
+        struct clk * clk;
+
+        clk = clk_get(NULL, "GCCLK");
+
+        if (IS_ERR(clk))
+        {
+            gcmkTRACE_ZONE(
+                gcvLEVEL_ERROR, gcvZONE_DRIVER,
+                "%s(%d): clk get error: %d\n",
+                __FUNCTION__, __LINE__,
+                PTR_ERR(clk)
+                );
+
+            result = -ENODEV;
+            gcmkONERROR(gcvSTATUS_GENERIC_IO);
+        }
+
+        /*
+         * APMU_GC_156M, APMU_GC_312M, APMU_GC_PLL2, APMU_GC_PLL2_DIV2 currently.
+         * Use the 2X clock.
+         */
+        if (clk_set_rate(clk, coreClock * 2))
+        {
+            gcmkTRACE_ZONE(
+                gcvLEVEL_ERROR, gcvZONE_DRIVER,
+                "%s(%d): Failed to set core clock.\n",
+                __FUNCTION__, __LINE__
+                );
+
+            result = -EAGAIN;
+            gcmkONERROR(gcvSTATUS_GENERIC_IO);
+        }
+
+        clk_enable(clk);
+
+#if defined(CONFIG_PXA_DVFM) && (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,29))
+        gc_pwr(1);
+#   endif
+# endif
+    }
+#endif
+
+    printk(KERN_INFO "Galcore version %d.%d.%d.%d\n",
+        gcvVERSION_MAJOR, gcvVERSION_MINOR, gcvVERSION_PATCH, gcvVERSION_BUILD);
+    /* when enable gpu profiler, we need to turn off gpu powerMangement */
+    if(gpuProfiler)
+        powerManagement = 0;
+    if (showArgs)
+    {
+        printk("galcore options:\n");
+        printk("  irqLine           = %d\n",      irqLine);
+        printk("  registerMemBase   = 0x%08lX\n", registerMemBase);
+        printk("  registerMemSize   = 0x%08lX\n", registerMemSize);
+
+        if (irqLine2D != -1)
+        {
+            printk("  irqLine2D         = %d\n",      irqLine2D);
+            printk("  registerMemBase2D = 0x%08lX\n", registerMemBase2D);
+            printk("  registerMemSize2D = 0x%08lX\n", registerMemSize2D);
+        }
+
+        if (irqLineVG != -1)
+        {
+            printk("  irqLineVG         = %d\n",      irqLineVG);
+            printk("  registerMemBaseVG = 0x%08lX\n", registerMemBaseVG);
+            printk("  registerMemSizeVG = 0x%08lX\n", registerMemSizeVG);
+        }
+
+        printk("  contiguousSize    = %ld\n",     contiguousSize);
+        printk("  contiguousBase    = 0x%08lX\n", contiguousBase);
+        printk("  bankSize          = 0x%08lX\n", bankSize);
+        printk("  fastClear         = %d\n",      fastClear);
+        printk("  compression       = %d\n",      compression);
+        printk("  signal            = %d\n",      signal);
+        printk("  baseAddress       = 0x%08lX\n", baseAddress);
+        printk("  physSize          = 0x%08lX\n", physSize);
+        printk("  logFileSize       = %d KB \n",  logFileSize);
+        printk("  powerManagement   = %d\n",      powerManagement);
+        printk("  gpuProfiler   = %d\n",      gpuProfiler);
+#if ENABLE_GPU_CLOCK_BY_DRIVER
+        printk("  coreClock       = %lu\n",     coreClock);
+#endif
+    }
+
+    if(logFileSize != 0)
+    {
+       gckDebugFileSystemInitialize();
+    }
+
+    /* Create the GAL device. */
+    gcmkONERROR(gckGALDEVICE_Construct(
+        irqLine,
+        registerMemBase, registerMemSize,
+        irqLine2D,
+        registerMemBase2D, registerMemSize2D,
+        irqLineVG,
+        registerMemBaseVG, registerMemSizeVG,
+        contiguousBase, contiguousSize,
+        bankSize, fastClear, compression, baseAddress, physSize, signal,
+        logFileSize,
+        pdev,
+        powerManagement,
+        gpuProfiler,
+        &device
+        ));
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)
+       device->pool = dev_get_drvdata(pdev);
+#endif
+
+    /* Start the GAL device. */
+    gcmkONERROR(gckGALDEVICE_Start(device));
+
+    if ((physSize != 0)
+       && (device->kernels[gcvCORE_MAJOR] != gcvNULL)
+       && (device->kernels[gcvCORE_MAJOR]->hardware->mmuVersion != 0))
+    {
+        status = gckMMU_Enable(device->kernels[gcvCORE_MAJOR]->mmu, baseAddress, physSize);
+        gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_DRIVER,
+            "Enable new MMU: status=%d\n", status);
+
+        if ((device->kernels[gcvCORE_2D] != gcvNULL)
+            && (device->kernels[gcvCORE_2D]->hardware->mmuVersion != 0))
+        {
+            status = gckMMU_Enable(device->kernels[gcvCORE_2D]->mmu, baseAddress, physSize);
+            gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_DRIVER,
+                "Enable new MMU for 2D: status=%d\n", status);
+        }
+
+        /* Reset the base address */
+        device->baseAddress = 0;
+    }
+
+#ifdef CONFIG_ANDROID_RESERVED_MEMORY_ACCOUNT
+    task_free_register(&task_nb);
+    viv_gpu_resmem_handler.data = device->kernels[gcvCORE_MAJOR];
+    register_reserved_memory_account(&viv_gpu_resmem_handler);
+#endif
+
+
+    /* Register the character device. */
+    ret = register_chrdev(major, DRV_NAME, &driver_fops);
+
+    if (ret < 0)
+    {
+        gcmkTRACE_ZONE(
+            gcvLEVEL_ERROR, gcvZONE_DRIVER,
+            "%s(%d): Could not allocate major number for mmap.\n",
+            __FUNCTION__, __LINE__
+            );
+
+        gcmkONERROR(gcvSTATUS_OUT_OF_MEMORY);
+    }
+
+    if (major == 0)
+    {
+        major = ret;
+    }
+
+    /* Create the device class. */
+    device_class = class_create(THIS_MODULE, "graphics_class");
+
+    if (IS_ERR(device_class))
+    {
+        gcmkTRACE_ZONE(
+            gcvLEVEL_ERROR, gcvZONE_DRIVER,
+            "%s(%d): Failed to create the class.\n",
+            __FUNCTION__, __LINE__
+            );
+
+        gcmkONERROR(gcvSTATUS_OUT_OF_RESOURCES);
+    }
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,27)
+    device_create(device_class, NULL, MKDEV(major, 0), NULL, "galcore");
+#else
+    device_create(device_class, NULL, MKDEV(major, 0), "galcore");
+#endif
+
+    galDevice = device;
+    gpuClass  = device_class;
+
+    gcmkTRACE_ZONE(
+        gcvLEVEL_INFO, gcvZONE_DRIVER,
+        "%s(%d): irqLine=%d, contiguousSize=%lu, memBase=0x%lX\n",
+        __FUNCTION__, __LINE__,
+        irqLine, contiguousSize, registerMemBase
+        );
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return 0;
+
+OnError:
+    /* Roll back. */
+    if (device_class != gcvNULL)
+    {
+        device_destroy(device_class, MKDEV(major, 0));
+        class_destroy(device_class);
+    }
+
+    if (device != gcvNULL)
+    {
+        gcmkVERIFY_OK(gckGALDEVICE_Stop(device));
+        gcmkVERIFY_OK(gckGALDEVICE_Destroy(device));
+    }
+
+    gcmkFOOTER();
+    return result;
+}
+
+#if !USE_PLATFORM_DRIVER
+static void __exit drv_exit(void)
+#else
+static void drv_exit(void)
+#endif
+{
+    gcmkHEADER();
+
+#ifdef CONFIG_ANDROID_RESERVED_MEMORY_ACCOUNT
+    task_free_unregister(&task_nb);
+    unregister_reserved_memory_account(&viv_gpu_resmem_handler);
+#endif
+
+    gcmkASSERT(gpuClass != gcvNULL);
+    device_destroy(gpuClass, MKDEV(major, 0));
+    class_destroy(gpuClass);
+
+    unregister_chrdev(major, DRV_NAME);
+
+    gcmkVERIFY_OK(gckGALDEVICE_Stop(galDevice));
+    gcmkVERIFY_OK(gckGALDEVICE_Destroy(galDevice));
+
+   if(gckDebugFileSystemIsEnabled())
+   {
+        gckDebugFileSystemTerminate();
+   }
+
+#if ENABLE_GPU_CLOCK_BY_DRIVER && LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,28)
+    {
+# if 0
+        struct clk * clk = NULL;
+
+#if defined(CONFIG_PXA_DVFM) && (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,29))
+        gc_pwr(0);
+#endif
+        clk = clk_get(NULL, "GCCLK");
+        clk_disable(clk);
+# endif
+    }
+#endif
+
+    gcmkFOOTER_NO();
+}
+
+#if !USE_PLATFORM_DRIVER
+    module_init(drv_init);
+    module_exit(drv_exit);
+#else
+
+#ifdef CONFIG_DOVE_GPU
+#   define DEVICE_NAME "dove_gpu"
+#else
+#   define DEVICE_NAME "galcore"
+#endif
+
+#if gcdENABLE_FSCALE_VAL_ADJUST
+static int thermal_hot_pm_notify(struct notifier_block *nb, unsigned long event,
+       void *dummy)
+{
+    static gctUINT orgFscale, minFscale, maxFscale;
+    static gctBOOL bAlreadyTooHot = gcvFALSE;
+    gckHARDWARE hardware = galDevice->kernels[gcvCORE_MAJOR]->hardware;
+
+    if (event && !bAlreadyTooHot) {
+        gckHARDWARE_GetFscaleValue(hardware,&orgFscale,&minFscale, &maxFscale);
+        gckHARDWARE_SetFscaleValue(hardware, minFscale);
+        bAlreadyTooHot = gcvTRUE;
+        gckOS_Print("System is too hot. GPU3D will work at %d/64 clock.\n", minFscale);
+    } else if (!event && bAlreadyTooHot) {
+        gckHARDWARE_SetFscaleValue(hardware, orgFscale);
+        gckOS_Print("Hot alarm is canceled. GPU3D clock will return to %d/64\n", orgFscale);
+        bAlreadyTooHot = gcvFALSE;
+    }
+    return NOTIFY_OK;
+}
+
+static struct notifier_block thermal_hot_pm_notifier = {
+    .notifier_call = thermal_hot_pm_notify,
+    };
+#endif
+
+
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0)
+static int gpu_probe(struct platform_device *pdev)
+#else
+static int __devinit gpu_probe(struct platform_device *pdev)
+#endif
+{
+    int ret = -ENODEV;
+    struct resource* res;
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)
+       struct contiguous_mem_pool *pool;
+       struct reset_control *rstc;
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0)
+       struct device_node *dn =pdev->dev.of_node;
+       const u32 *prop;
+#else
+       struct viv_gpu_platform_data *pdata;
+#endif
+    gcmkHEADER();
+
+    res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "phys_baseaddr");
+    if (res)
+        baseAddress = res->start;
+
+    res = platform_get_resource_byname(pdev, IORESOURCE_IRQ, "irq_3d");
+    if (res)
+        irqLine = res->start;
+
+    res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "iobase_3d");
+    if (res)
+    {
+        registerMemBase = res->start;
+        registerMemSize = res->end - res->start + 1;
+    }
+
+    res = platform_get_resource_byname(pdev, IORESOURCE_IRQ, "irq_2d");
+    if (res)
+        irqLine2D = res->start;
+
+    res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "iobase_2d");
+    if (res)
+    {
+        registerMemBase2D = res->start;
+        registerMemSize2D = res->end - res->start + 1;
+    }
+
+    res = platform_get_resource_byname(pdev, IORESOURCE_IRQ, "irq_vg");
+    if (res)
+        irqLineVG = res->start;
+
+    res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "iobase_vg");
+    if (res)
+    {
+        registerMemBaseVG = res->start;
+        registerMemSizeVG = res->end - res->start + 1;
+    }
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)
+       pool = devm_kzalloc(&pdev->dev, sizeof(*pool), GFP_KERNEL);
+       if (!pool)
+               return -ENOMEM;
+       pool->size = contiguousSize;
+       init_dma_attrs(&pool->attrs);
+       dma_set_attr(DMA_ATTR_WRITE_COMBINE, &pool->attrs);
+       pool->virt = dma_alloc_attrs(&pdev->dev, pool->size, &pool->phys,
+                                    GFP_KERNEL, &pool->attrs);
+       if (!pool->virt) {
+               dev_err(&pdev->dev, "Failed to allocate contiguous memory\n");
+               return -ENOMEM;
+       }
+       contiguousBase = pool->phys;
+       dev_set_drvdata(&pdev->dev, pool);
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0)
+       prop = of_get_property(dn, "contiguousbase", NULL);
+       if(prop)
+               contiguousBase = *prop;
+       of_property_read_u32(dn,"contiguoussize", (u32 *)&contiguousSize);
+#else
+    pdata = pdev->dev.platform_data;
+    if (pdata) {
+        contiguousBase = pdata->reserved_mem_base;
+        contiguousSize = pdata->reserved_mem_size;
+     }
+#endif
+    if (contiguousSize == 0)
+       gckOS_Print("Warning: No contiguous memory is reserverd for gpu.!\n ");
+    ret = drv_init(&pdev->dev);
+
+    if (!ret)
+    {
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)
+       rstc = devm_reset_control_get(&pdev->dev, "gpu3d");
+       galDevice->rstc[gcvCORE_MAJOR] = IS_ERR(rstc) ? NULL : rstc;
+
+       rstc = devm_reset_control_get(&pdev->dev, "gpu2d");
+       galDevice->rstc[gcvCORE_2D] = IS_ERR(rstc) ? NULL : rstc;
+
+       rstc = devm_reset_control_get(&pdev->dev, "gpuvg");
+       galDevice->rstc[gcvCORE_VG] = IS_ERR(rstc) ? NULL : rstc;
+#endif
+        platform_set_drvdata(pdev, galDevice);
+
+#if gcdENABLE_FSCALE_VAL_ADJUST
+        if (galDevice->kernels[gcvCORE_MAJOR])
+            REG_THERMAL_NOTIFIER(&thermal_hot_pm_notifier);
+#endif
+        gcmkFOOTER_NO();
+        return ret;
+    }
+#if gcdENABLE_FSCALE_VAL_ADJUST
+    UNREG_THERMAL_NOTIFIER(&thermal_hot_pm_notifier);
+#endif
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)
+       dma_free_attrs(&pdev->dev, pool->size, pool->virt, pool->phys,
+                      &pool->attrs);
+#endif
+    gcmkFOOTER_ARG(KERN_INFO "Failed to register gpu driver: %d\n", ret);
+    return ret;
+}
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0)
+static int gpu_remove(struct platform_device *pdev)
+#else
+static int __devexit gpu_remove(struct platform_device *pdev)
+#endif
+{
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)
+       gckGALDEVICE device = platform_get_drvdata(pdev);
+       struct contiguous_mem_pool *pool = device->pool;
+#endif
+    gcmkHEADER();
+#if gcdENABLE_FSCALE_VAL_ADJUST
+    if(galDevice->kernels[gcvCORE_MAJOR])
+        UNREG_THERMAL_NOTIFIER(&thermal_hot_pm_notifier);
+#endif
+    drv_exit();
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)
+       dma_free_attrs(&pdev->dev, pool->size, pool->virt, pool->phys,
+                      &pool->attrs);
+#endif
+    gcmkFOOTER_NO();
+    return 0;
+}
+
+static int gpu_suspend(struct platform_device *dev, pm_message_t state)
+{
+    gceSTATUS status;
+    gckGALDEVICE device;
+    gctINT i;
+
+    device = platform_get_drvdata(dev);
+
+    for (i = 0; i < gcdMAX_GPU_COUNT; i++)
+    {
+        if (device->kernels[i] != gcvNULL)
+        {
+            /* Store states. */
+#if gcdENABLE_VG
+            if (i == gcvCORE_VG)
+            {
+                status = gckVGHARDWARE_QueryPowerManagementState(device->kernels[i]->vg->hardware, &device->statesStored[i]);
+            }
+            else
+#endif
+            {
+                status = gckHARDWARE_QueryPowerManagementState(device->kernels[i]->hardware, &device->statesStored[i]);
+            }
+
+            if (gcmIS_ERROR(status))
+            {
+                return -1;
+            }
+
+#if gcdENABLE_VG
+            if (i == gcvCORE_VG)
+            {
+                status = gckVGHARDWARE_SetPowerManagementState(device->kernels[i]->vg->hardware, gcvPOWER_OFF);
+            }
+            else
+#endif
+            {
+                status = gckHARDWARE_SetPowerManagementState(device->kernels[i]->hardware, gcvPOWER_OFF);
+            }
+            if (gcmIS_ERROR(status))
+            {
+                return -1;
+            }
+
+        }
+    }
+
+    return 0;
+}
+
+static int gpu_resume(struct platform_device *dev)
+{
+    gceSTATUS status;
+    gckGALDEVICE device;
+    gctINT i;
+    gceCHIPPOWERSTATE   statesStored;
+
+    device = platform_get_drvdata(dev);
+
+    for (i = 0; i < gcdMAX_GPU_COUNT; i++)
+    {
+        if (device->kernels[i] != gcvNULL)
+        {
+#if gcdENABLE_VG
+            if (i == gcvCORE_VG)
+            {
+                status = gckVGHARDWARE_SetPowerManagementState(device->kernels[i]->vg->hardware, gcvPOWER_ON);
+            }
+            else
+#endif
+            {
+                status = gckHARDWARE_SetPowerManagementState(device->kernels[i]->hardware, gcvPOWER_ON);
+            }
+
+            if (gcmIS_ERROR(status))
+            {
+                return -1;
+            }
+
+            /* Convert global state to crossponding internal state. */
+            switch(device->statesStored[i])
+            {
+            case gcvPOWER_OFF:
+                statesStored = gcvPOWER_OFF_BROADCAST;
+                break;
+            case gcvPOWER_IDLE:
+                statesStored = gcvPOWER_IDLE_BROADCAST;
+                break;
+            case gcvPOWER_SUSPEND:
+                statesStored = gcvPOWER_SUSPEND_BROADCAST;
+                break;
+            case gcvPOWER_ON:
+                statesStored = gcvPOWER_ON_AUTO;
+                break;
+            default:
+                statesStored = device->statesStored[i];
+                break;
+        }
+
+            /* Restore states. */
+#if gcdENABLE_VG
+            if (i == gcvCORE_VG)
+            {
+                status = gckVGHARDWARE_SetPowerManagementState(device->kernels[i]->vg->hardware, statesStored);
+    }
+            else
+#endif
+            {
+                status = gckHARDWARE_SetPowerManagementState(device->kernels[i]->hardware, statesStored);
+            }
+
+            if (gcmIS_ERROR(status))
+            {
+                return -1;
+            }
+        }
+    }
+
+    return 0;
+}
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0)
+static const struct of_device_id mxs_gpu_dt_ids[] = {
+       { .compatible = "fsl,imx6q-gpu", },
+       {/* sentinel */}
+};
+MODULE_DEVICE_TABLE(of, mxs_gpu_dt_ids);
+
+#ifdef CONFIG_PM
+static int gpu_runtime_suspend(struct device *dev)
+{
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)
+       release_bus_freq(BUS_FREQ_HIGH);
+#endif
+       return 0;
+}
+
+static int gpu_runtime_resume(struct device *dev)
+{
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)
+       request_bus_freq(BUS_FREQ_HIGH);
+#endif
+       return 0;
+}
+
+static int gpu_system_suspend(struct device *dev)
+{
+       pm_message_t state={0};
+       return gpu_suspend(to_platform_device(dev), state);
+}
+
+static int gpu_system_resume(struct device *dev)
+{
+       return gpu_resume(to_platform_device(dev));
+}
+
+static const struct dev_pm_ops gpu_pm_ops = {
+       SET_RUNTIME_PM_OPS(gpu_runtime_suspend, gpu_runtime_resume, NULL)
+       SET_SYSTEM_SLEEP_PM_OPS(gpu_system_suspend, gpu_system_resume)
+};
+#endif
+#endif
+
+static struct platform_driver gpu_driver = {
+    .probe      = gpu_probe,
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0)
+    .remove     = gpu_remove,
+#else
+    .remove     = __devexit_p(gpu_remove),
+#endif
+
+    .suspend    = gpu_suspend,
+    .resume     = gpu_resume,
+
+    .driver     = {
+        .name   = DEVICE_NAME,
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0)
+               .of_match_table = mxs_gpu_dt_ids,
+#if CONFIG_PM
+               .pm             = &gpu_pm_ops,
+#endif
+#endif
+    }
+};
+
+#if 0 /*CONFIG_DOVE_GPU*/
+static struct resource gpu_resources[] = {
+    {
+        .name   = "gpu_irq",
+        .flags  = IORESOURCE_IRQ,
+    },
+    {
+        .name   = "gpu_base",
+        .flags  = IORESOURCE_MEM,
+    },
+    {
+        .name   = "gpu_mem",
+        .flags  = IORESOURCE_MEM,
+    },
+};
+
+static struct platform_device * gpu_device;
+#endif
+
+static int __init gpu_init(void)
+{
+    int ret = 0;
+
+#if 0 /*ndef CONFIG_DOVE_GPU*/
+    gpu_resources[0].start = gpu_resources[0].end = irqLine;
+
+    gpu_resources[1].start = registerMemBase;
+    gpu_resources[1].end   = registerMemBase + registerMemSize - 1;
+
+    gpu_resources[2].start = contiguousBase;
+    gpu_resources[2].end   = contiguousBase + contiguousSize - 1;
+
+    /* Allocate device */
+    gpu_device = platform_device_alloc(DEVICE_NAME, -1);
+    if (!gpu_device)
+    {
+        printk(KERN_ERR "galcore: platform_device_alloc failed.\n");
+        ret = -ENOMEM;
+        goto out;
+    }
+
+    /* Insert resource */
+    ret = platform_device_add_resources(gpu_device, gpu_resources, 3);
+    if (ret)
+    {
+        printk(KERN_ERR "galcore: platform_device_add_resources failed.\n");
+        goto put_dev;
+    }
+
+    /* Add device */
+    ret = platform_device_add(gpu_device);
+    if (ret)
+    {
+        printk(KERN_ERR "galcore: platform_device_add failed.\n");
+        goto put_dev;
+    }
+#endif
+
+    ret = platform_driver_register(&gpu_driver);
+    if (!ret)
+    {
+        goto out;
+    }
+
+#if 0 /*ndef CONFIG_DOVE_GPU*/
+    platform_device_del(gpu_device);
+put_dev:
+    platform_device_put(gpu_device);
+#endif
+
+out:
+    return ret;
+}
+
+static void __exit gpu_exit(void)
+{
+    platform_driver_unregister(&gpu_driver);
+#if 0 /*ndef CONFIG_DOVE_GPU*/
+    platform_device_unregister(gpu_device);
+#endif
+}
+
+module_init(gpu_init);
+module_exit(gpu_exit);
+
+#endif
diff --git a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.c b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.c
new file mode 100644 (file)
index 0000000..de82c12
--- /dev/null
@@ -0,0 +1,481 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#include "gc_hal_kernel_linux.h"
+
+#define _GC_OBJ_ZONE    gcvZONE_KERNEL
+
+/******************************************************************************\
+******************************* gckKERNEL API Code ******************************
+\******************************************************************************/
+
+/*******************************************************************************
+**
+**  gckKERNEL_QueryVideoMemory
+**
+**  Query the amount of video memory.
+**
+**  INPUT:
+**
+**      gckKERNEL Kernel
+**          Pointer to an gckKERNEL object.
+**
+**  OUTPUT:
+**
+**      gcsHAL_INTERFACE * Interface
+**          Pointer to an gcsHAL_INTERFACE structure that will be filled in with
+**          the memory information.
+*/
+gceSTATUS
+gckKERNEL_QueryVideoMemory(
+    IN gckKERNEL Kernel,
+    OUT gcsHAL_INTERFACE * Interface
+    )
+{
+    gckGALDEVICE device;
+
+    gcmkHEADER_ARG("Kernel=%p", Kernel);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Kernel, gcvOBJ_KERNEL);
+    gcmkVERIFY_ARGUMENT(Interface != NULL);
+
+    /* Extract the pointer to the gckGALDEVICE class. */
+    device = (gckGALDEVICE) Kernel->context;
+
+    /* Get internal memory size and physical address. */
+    Interface->u.QueryVideoMemory.internalSize = device->internalSize;
+    Interface->u.QueryVideoMemory.internalPhysical = device->internalPhysicalName;
+
+    /* Get external memory size and physical address. */
+    Interface->u.QueryVideoMemory.externalSize = device->externalSize;
+    Interface->u.QueryVideoMemory.externalPhysical = device->externalPhysicalName;
+
+    /* Get contiguous memory size and physical address. */
+    Interface->u.QueryVideoMemory.contiguousSize = device->contiguousSize;
+    Interface->u.QueryVideoMemory.contiguousPhysical = device->contiguousPhysicalName;
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckKERNEL_GetVideoMemoryPool
+**
+**  Get the gckVIDMEM object belonging to the specified pool.
+**
+**  INPUT:
+**
+**      gckKERNEL Kernel
+**          Pointer to an gckKERNEL object.
+**
+**      gcePOOL Pool
+**          Pool to query gckVIDMEM object for.
+**
+**  OUTPUT:
+**
+**      gckVIDMEM * VideoMemory
+**          Pointer to a variable that will hold the pointer to the gckVIDMEM
+**          object belonging to the requested pool.
+*/
+gceSTATUS
+gckKERNEL_GetVideoMemoryPool(
+    IN gckKERNEL Kernel,
+    IN gcePOOL Pool,
+    OUT gckVIDMEM * VideoMemory
+    )
+{
+    gckGALDEVICE device;
+    gckVIDMEM videoMemory;
+
+    gcmkHEADER_ARG("Kernel=%p Pool=%d", Kernel, Pool);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Kernel, gcvOBJ_KERNEL);
+    gcmkVERIFY_ARGUMENT(VideoMemory != NULL);
+
+    /* Extract the pointer to the gckGALDEVICE class. */
+    device = (gckGALDEVICE) Kernel->context;
+
+    /* Dispatch on pool. */
+    switch (Pool)
+    {
+    case gcvPOOL_LOCAL_INTERNAL:
+        /* Internal memory. */
+        videoMemory = device->internalVidMem;
+        break;
+
+    case gcvPOOL_LOCAL_EXTERNAL:
+        /* External memory. */
+        videoMemory = device->externalVidMem;
+        break;
+
+    case gcvPOOL_SYSTEM:
+        /* System memory. */
+        videoMemory = device->contiguousVidMem;
+        break;
+
+    default:
+        /* Unknown pool. */
+        videoMemory = NULL;
+    }
+
+    /* Return pointer to the gckVIDMEM object. */
+    *VideoMemory = videoMemory;
+
+    /* Return status. */
+    gcmkFOOTER_ARG("*VideoMemory=%p", *VideoMemory);
+    return (videoMemory == NULL) ? gcvSTATUS_OUT_OF_MEMORY : gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckKERNEL_MapMemory
+**
+**  Map video memory into the current process space.
+**
+**  INPUT:
+**
+**      gckKERNEL Kernel
+**          Pointer to an gckKERNEL object.
+**
+**      gctPHYS_ADDR Physical
+**          Physical address of video memory to map.
+**
+**      gctSIZE_T Bytes
+**          Number of bytes to map.
+**
+**  OUTPUT:
+**
+**      gctPOINTER * Logical
+**          Pointer to a variable that will hold the base address of the mapped
+**          memory region.
+*/
+gceSTATUS
+gckKERNEL_MapMemory(
+    IN gckKERNEL Kernel,
+    IN gctPHYS_ADDR Physical,
+    IN gctSIZE_T Bytes,
+    OUT gctPOINTER * Logical
+    )
+{
+    gckKERNEL kernel = Kernel;
+    gctPHYS_ADDR physical = gcmNAME_TO_PTR(Physical);
+
+    return gckOS_MapMemory(Kernel->os, physical, Bytes, Logical);
+}
+
+/*******************************************************************************
+**
+**  gckKERNEL_UnmapMemory
+**
+**  Unmap video memory from the current process space.
+**
+**  INPUT:
+**
+**      gckKERNEL Kernel
+**          Pointer to an gckKERNEL object.
+**
+**      gctPHYS_ADDR Physical
+**          Physical address of video memory to map.
+**
+**      gctSIZE_T Bytes
+**          Number of bytes to map.
+**
+**      gctPOINTER Logical
+**          Base address of the mapped memory region.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckKERNEL_UnmapMemory(
+    IN gckKERNEL Kernel,
+    IN gctPHYS_ADDR Physical,
+    IN gctSIZE_T Bytes,
+    IN gctPOINTER Logical
+    )
+{
+    gckKERNEL kernel = Kernel;
+    gctPHYS_ADDR physical = gcmNAME_TO_PTR(Physical);
+
+    return gckOS_UnmapMemory(Kernel->os, physical, Bytes, Logical);
+}
+
+/*******************************************************************************
+**
+**  gckKERNEL_MapVideoMemory
+**
+**  Get the logical address for a hardware specific memory address for the
+**  current process.
+**
+**  INPUT:
+**
+**      gckKERNEL Kernel
+**          Pointer to an gckKERNEL object.
+**
+**      gctBOOL InUserSpace
+**          gcvTRUE to map the memory into the user space.
+**
+**      gctUINT32 Address
+**          Hardware specific memory address.
+**
+**  OUTPUT:
+**
+**      gctPOINTER * Logical
+**          Pointer to a variable that will hold the logical address of the
+**          specified memory address.
+*/
+gceSTATUS
+gckKERNEL_MapVideoMemoryEx(
+    IN gckKERNEL Kernel,
+    IN gceCORE Core,
+    IN gctBOOL InUserSpace,
+    IN gctUINT32 Address,
+    OUT gctPOINTER * Logical
+    )
+{
+    gckGALDEVICE device;
+    PLINUX_MDL mdl;
+    PLINUX_MDL_MAP mdlMap;
+    gcePOOL pool;
+    gctUINT32 offset, base;
+    gceSTATUS status;
+    gctPOINTER logical;
+
+    gcmkHEADER_ARG("Kernel=%p InUserSpace=%d Address=%08x",
+                   Kernel, InUserSpace, Address);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Kernel, gcvOBJ_KERNEL);
+    gcmkVERIFY_ARGUMENT(Logical != NULL);
+
+    /* Extract the pointer to the gckGALDEVICE class. */
+    device = (gckGALDEVICE) Kernel->context;
+
+#if gcdENABLE_VG
+    if (Core == gcvCORE_VG)
+    {
+        /* Split the memory address into a pool type and offset. */
+        gcmkONERROR(
+            gckVGHARDWARE_SplitMemory(Kernel->vg->hardware, Address, &pool, &offset));
+    }
+    else
+#endif
+    {
+        /* Split the memory address into a pool type and offset. */
+        gcmkONERROR(
+            gckHARDWARE_SplitMemory(Kernel->hardware, Address, &pool, &offset));
+    }
+
+    /* Dispatch on pool. */
+    switch (pool)
+    {
+    case gcvPOOL_LOCAL_INTERNAL:
+        /* Internal memory. */
+        logical = device->internalLogical;
+        break;
+
+    case gcvPOOL_LOCAL_EXTERNAL:
+        /* External memory. */
+        logical = device->externalLogical;
+        break;
+
+    case gcvPOOL_SYSTEM:
+        /* System memory. */
+        if (device->contiguousMapped)
+        {
+            logical = device->contiguousBase;
+        }
+        else
+        {
+            gctINT processID;
+            gckOS_GetProcessID(&processID);
+
+            mdl = (PLINUX_MDL) device->contiguousPhysical;
+
+            mdlMap = FindMdlMap(mdl, processID);
+            gcmkASSERT(mdlMap);
+
+            logical = (gctPOINTER) mdlMap->vmaAddr;
+        }
+#if gcdENABLE_VG
+        if (Core == gcvCORE_VG)
+        {
+            gcmkVERIFY_OK(
+                gckVGHARDWARE_SplitMemory(Kernel->vg->hardware,
+                                        device->contiguousVidMem->baseAddress,
+                                        &pool,
+                                        &base));
+        }
+        else
+#endif
+        {
+            gctUINT32 baseAddress = 0;
+
+            if (Kernel->hardware->mmuVersion == 0)
+            {
+                gcmkONERROR(gckOS_GetBaseAddress(Kernel->os, &baseAddress));
+            }
+
+            gcmkVERIFY_OK(
+                gckHARDWARE_SplitMemory(Kernel->hardware,
+                                        device->contiguousVidMem->baseAddress - baseAddress,
+                                        &pool,
+                                        &base));
+        }
+        offset -= base;
+        break;
+
+    default:
+        /* Invalid memory pool. */
+        gcmkONERROR(gcvSTATUS_INVALID_ARGUMENT);
+    }
+
+    /* Build logical address of specified address. */
+    *Logical = (gctPOINTER) ((gctUINT8_PTR) logical + offset);
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Logical=%p", *Logical);
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Retunn the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckKERNEL_MapVideoMemory
+**
+**  Get the logical address for a hardware specific memory address for the
+**  current process.
+**
+**  INPUT:
+**
+**      gckKERNEL Kernel
+**          Pointer to an gckKERNEL object.
+**
+**      gctBOOL InUserSpace
+**          gcvTRUE to map the memory into the user space.
+**
+**      gctUINT32 Address
+**          Hardware specific memory address.
+**
+**  OUTPUT:
+**
+**      gctPOINTER * Logical
+**          Pointer to a variable that will hold the logical address of the
+**          specified memory address.
+*/
+gceSTATUS
+gckKERNEL_MapVideoMemory(
+    IN gckKERNEL Kernel,
+    IN gctBOOL InUserSpace,
+    IN gctUINT32 Address,
+    OUT gctPOINTER * Logical
+    )
+{
+    return gckKERNEL_MapVideoMemoryEx(Kernel, gcvCORE_MAJOR, InUserSpace, Address, Logical);
+}
+/*******************************************************************************
+**
+**  gckKERNEL_Notify
+**
+**  This function iscalled by clients to notify the gckKERNRL object of an event.
+**
+**  INPUT:
+**
+**      gckKERNEL Kernel
+**          Pointer to an gckKERNEL object.
+**
+**      gceNOTIFY Notification
+**          Notification event.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckKERNEL_Notify(
+    IN gckKERNEL Kernel,
+    IN gceNOTIFY Notification,
+    IN gctBOOL Data
+    )
+{
+    gceSTATUS status;
+
+    gcmkHEADER_ARG("Kernel=%p Notification=%d Data=%d",
+                   Kernel, Notification, Data);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Kernel, gcvOBJ_KERNEL);
+
+    /* Dispatch on notifcation. */
+    switch (Notification)
+    {
+    case gcvNOTIFY_INTERRUPT:
+        /* Process the interrupt. */
+#if COMMAND_PROCESSOR_VERSION > 1
+        status = gckINTERRUPT_Notify(Kernel->interrupt, Data);
+#else
+        status = gckHARDWARE_Interrupt(Kernel->hardware, Data);
+#endif
+        break;
+
+    default:
+        status = gcvSTATUS_OK;
+        break;
+    }
+
+    /* Success. */
+    gcmkFOOTER();
+    return status;
+}
+
+gceSTATUS
+gckKERNEL_QuerySettings(
+    IN gckKERNEL Kernel,
+    OUT gcsKERNEL_SETTINGS * Settings
+    )
+{
+    gckGALDEVICE device;
+
+    gcmkHEADER_ARG("Kernel=%p", Kernel);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Kernel, gcvOBJ_KERNEL);
+    gcmkVERIFY_ARGUMENT(Settings != gcvNULL);
+
+    /* Extract the pointer to the gckGALDEVICE class. */
+    device = (gckGALDEVICE) Kernel->context;
+
+    /* Fill in signal. */
+    Settings->signal = device->signal;
+
+    /* Success. */
+    gcmkFOOTER_ARG("Settings->signal=%d", Settings->signal);
+    return gcvSTATUS_OK;
+}
diff --git a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h
new file mode 100644 (file)
index 0000000..3c148f6
--- /dev/null
@@ -0,0 +1,94 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#ifndef __gc_hal_kernel_linux_h_
+#define __gc_hal_kernel_linux_h_
+
+#include <linux/version.h>
+#include <linux/init.h>
+#include <linux/module.h>
+#include <linux/fs.h>
+#include <linux/mm.h>
+#include <linux/sched.h>
+#include <linux/signal.h>
+#ifdef FLAREON
+#   include <asm/arch-realview/dove_gpio_irq.h>
+#endif
+#include <linux/interrupt.h>
+#include <linux/vmalloc.h>
+#include <linux/dma-mapping.h>
+#include <linux/kthread.h>
+
+#ifdef MODVERSIONS
+#  include <linux/modversions.h>
+#endif
+#include <asm/io.h>
+#include <asm/uaccess.h>
+
+#if ENABLE_GPU_CLOCK_BY_DRIVER && LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,28)
+#include <linux/clk.h>
+#include <linux/regulator/consumer.h>
+#endif
+
+#define NTSTRSAFE_NO_CCH_FUNCTIONS
+#include "gc_hal.h"
+#include "gc_hal_driver.h"
+#include "gc_hal_kernel.h"
+#include "gc_hal_kernel_device.h"
+#include "gc_hal_kernel_os.h"
+#include "gc_hal_kernel_debugfs.h"
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,31)
+#define FIND_TASK_BY_PID(x) pid_task(find_vpid(x), PIDTYPE_PID)
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,27)
+#define FIND_TASK_BY_PID(x) find_task_by_vpid(x)
+#else
+#define FIND_TASK_BY_PID(x) find_task_by_pid(x)
+#endif
+
+#define _WIDE(string)                          L##string
+#define WIDE(string)                           _WIDE(string)
+
+#define countof(a)                                     (sizeof(a) / sizeof(a[0]))
+
+#define DRV_NAME                               "galcore"
+
+#define GetPageCount(size, offset)     ((((size) + ((offset) & ~PAGE_CACHE_MASK)) + PAGE_CACHE_SIZE - 1) >> PAGE_CACHE_SHIFT)
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION (3,7,0)
+#define gcdVM_FLAGS (VM_IO | VM_DONTCOPY | VM_DONTEXPAND | VM_DONTDUMP)
+#else
+#define gcdVM_FLAGS (VM_IO | VM_DONTCOPY | VM_DONTEXPAND | VM_RESERVED)
+#endif
+
+static inline gctINT
+GetOrder(
+       IN gctINT numPages
+       )
+{
+    gctINT order = 0;
+
+       while ((1 << order) <  numPages) order++;
+
+       return order;
+}
+
+#endif /* __gc_hal_kernel_linux_h_ */
diff --git a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_math.c b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_math.c
new file mode 100644 (file)
index 0000000..992aeff
--- /dev/null
@@ -0,0 +1,32 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#include "gc_hal_kernel_linux.h"
+
+gctINT
+gckMATH_ModuloInt(
+    IN gctINT X,
+    IN gctINT Y
+    )
+{
+    if(Y ==0) {return 0;}
+    else {return X % Y;}
+}
diff --git a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
new file mode 100644 (file)
index 0000000..9a55c90
--- /dev/null
@@ -0,0 +1,9033 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#include "gc_hal_kernel_linux.h"
+
+#include <linux/pagemap.h>
+#include <linux/seq_file.h>
+#include <linux/mm.h>
+#include <linux/mman.h>
+#include <linux/sched.h>
+#include <asm/atomic.h>
+#include <linux/dma-mapping.h>
+#include <linux/slab.h>
+#include <linux/idr.h>
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)
+#include <mach/hardware.h>
+#endif
+#include <linux/workqueue.h>
+#include <linux/idr.h>
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,23)
+#include <linux/math64.h>
+#endif
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)
+#include <linux/reset.h>
+static inline void imx_gpc_power_up_pu(bool flag) {}
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0)
+#include <mach/common.h>
+#endif
+#include <linux/delay.h>
+#include <linux/pm_runtime.h>
+
+
+#if gcdANDROID_NATIVE_FENCE_SYNC
+#include <linux/file.h>
+#include "gc_hal_kernel_sync.h"
+#endif
+
+
+#define _GC_OBJ_ZONE    gcvZONE_OS
+
+/*******************************************************************************
+***** Version Signature *******************************************************/
+
+#ifdef ANDROID
+const char * _PLATFORM = "\n\0$PLATFORM$Android$\n";
+#else
+const char * _PLATFORM = "\n\0$PLATFORM$Linux$\n";
+#endif
+
+#define USER_SIGNAL_TABLE_LEN_INIT  64
+#define gcdSUPPRESS_OOM_MESSAGE 1
+
+#define MEMORY_LOCK(os) \
+    gcmkVERIFY_OK(gckOS_AcquireMutex( \
+                                (os), \
+                                (os)->memoryLock, \
+                                gcvINFINITE))
+
+#define MEMORY_UNLOCK(os) \
+    gcmkVERIFY_OK(gckOS_ReleaseMutex((os), (os)->memoryLock))
+
+#define MEMORY_MAP_LOCK(os) \
+    gcmkVERIFY_OK(gckOS_AcquireMutex( \
+                                (os), \
+                                (os)->memoryMapLock, \
+                                gcvINFINITE))
+
+#define MEMORY_MAP_UNLOCK(os) \
+    gcmkVERIFY_OK(gckOS_ReleaseMutex((os), (os)->memoryMapLock))
+
+/* Protection bit when mapping memroy to user sapce */
+#define gcmkPAGED_MEMROY_PROT(x)    pgprot_writecombine(x)
+
+#if gcdNONPAGED_MEMORY_BUFFERABLE
+#define gcmkIOREMAP                 ioremap_wc
+#define gcmkNONPAGED_MEMROY_PROT(x) pgprot_writecombine(x)
+#elif !gcdNONPAGED_MEMORY_CACHEABLE
+#define gcmkIOREMAP                 ioremap_nocache
+#define gcmkNONPAGED_MEMROY_PROT(x) pgprot_noncached(x)
+#endif
+
+#if gcdSUPPRESS_OOM_MESSAGE
+#define gcdNOWARN __GFP_NOWARN
+#else
+#define gcdNOWARN 0
+#endif
+
+#define gcdINFINITE_TIMEOUT     (60 * 1000)
+#define gcdDETECT_TIMEOUT       0
+#define gcdDETECT_DMA_ADDRESS   1
+#define gcdDETECT_DMA_STATE     1
+
+#define gcdUSE_NON_PAGED_MEMORY_CACHE 10
+
+/******************************************************************************\
+********************************** Structures **********************************
+\******************************************************************************/
+#if gcdUSE_NON_PAGED_MEMORY_CACHE
+typedef struct _gcsNonPagedMemoryCache
+{
+#ifndef NO_DMA_COHERENT
+    gctINT                           size;
+    gctSTRING                        addr;
+    dma_addr_t                       dmaHandle;
+#else
+    long                             order;
+    struct page *                    page;
+#endif
+
+    struct _gcsNonPagedMemoryCache * prev;
+    struct _gcsNonPagedMemoryCache * next;
+}
+gcsNonPagedMemoryCache;
+#endif /* gcdUSE_NON_PAGED_MEMORY_CACHE */
+
+typedef struct _gcsUSER_MAPPING * gcsUSER_MAPPING_PTR;
+typedef struct _gcsUSER_MAPPING
+{
+    /* Pointer to next mapping structure. */
+    gcsUSER_MAPPING_PTR         next;
+
+    /* Physical address of this mapping. */
+    gctUINT32                   physical;
+
+    /* Logical address of this mapping. */
+    gctPOINTER                  logical;
+
+    /* Number of bytes of this mapping. */
+    gctSIZE_T                   bytes;
+
+    /* Starting address of this mapping. */
+    gctINT8_PTR                 start;
+
+    /* Ending address of this mapping. */
+    gctINT8_PTR                 end;
+}
+gcsUSER_MAPPING;
+
+typedef struct _gcsINTEGER_DB * gcsINTEGER_DB_PTR;
+typedef struct _gcsINTEGER_DB
+{
+    struct idr                  idr;
+    spinlock_t                  lock;
+    gctINT                      curr;
+}
+gcsINTEGER_DB;
+
+struct _gckOS
+{
+    /* Object. */
+    gcsOBJECT                   object;
+
+    /* Heap. */
+    gckHEAP                     heap;
+
+    /* Pointer to device */
+    gckGALDEVICE                device;
+
+    /* Memory management */
+    gctPOINTER                  memoryLock;
+    gctPOINTER                  memoryMapLock;
+
+    struct _LINUX_MDL           *mdlHead;
+    struct _LINUX_MDL           *mdlTail;
+
+    /* Kernel process ID. */
+    gctUINT32                   kernelProcessID;
+
+    /* Signal management. */
+
+    /* Lock. */
+    gctPOINTER                  signalMutex;
+
+    /* signal id database. */
+    gcsINTEGER_DB               signalDB;
+
+#if gcdANDROID_NATIVE_FENCE_SYNC
+    /* Lock. */
+    gctPOINTER                  syncPointMutex;
+
+    /* sync point id database. */
+    gcsINTEGER_DB               syncPointDB;
+#endif
+
+    gcsUSER_MAPPING_PTR         userMap;
+    gctPOINTER                  debugLock;
+
+#if gcdUSE_NON_PAGED_MEMORY_CACHE
+    gctUINT                      cacheSize;
+    gcsNonPagedMemoryCache *     cacheHead;
+    gcsNonPagedMemoryCache *     cacheTail;
+#endif
+
+    /* workqueue for os timer. */
+    struct workqueue_struct *   workqueue;
+};
+
+typedef struct _gcsSIGNAL * gcsSIGNAL_PTR;
+typedef struct _gcsSIGNAL
+{
+    /* Kernel sync primitive. */
+    struct completion obj;
+
+    /* Manual reset flag. */
+    gctBOOL manualReset;
+
+    /* The reference counter. */
+    atomic_t ref;
+
+    /* The owner of the signal. */
+    gctHANDLE process;
+
+    gckHARDWARE hardware;
+
+    /* ID. */
+    gctUINT32 id;
+}
+gcsSIGNAL;
+
+#if gcdANDROID_NATIVE_FENCE_SYNC
+typedef struct _gcsSYNC_POINT * gcsSYNC_POINT_PTR;
+typedef struct _gcsSYNC_POINT
+{
+    /* The reference counter. */
+    atomic_t ref;
+
+    /* State. */
+    atomic_t state;
+
+    /* timeline. */
+    struct sync_timeline * timeline;
+
+    /* ID. */
+    gctUINT32 id;
+}
+gcsSYNC_POINT;
+#endif
+
+typedef struct _gcsPageInfo * gcsPageInfo_PTR;
+typedef struct _gcsPageInfo
+{
+    struct page **pages;
+    gctUINT32_PTR pageTable;
+}
+gcsPageInfo;
+
+typedef struct _gcsOSTIMER * gcsOSTIMER_PTR;
+typedef struct _gcsOSTIMER
+{
+    struct delayed_work     work;
+    gctTIMERFUNCTION        function;
+    gctPOINTER              data;
+} gcsOSTIMER;
+
+/******************************************************************************\
+******************************* Private Functions ******************************
+\******************************************************************************/
+
+static gctINT
+_GetProcessID(
+    void
+    )
+{
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24)
+    return task_tgid_vnr(current);
+#else
+    return current->tgid;
+#endif
+}
+
+static gctINT
+_GetThreadID(
+    void
+    )
+{
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24)
+    return task_pid_vnr(current);
+#else
+    return current->pid;
+#endif
+}
+
+static PLINUX_MDL
+_CreateMdl(
+    IN gctINT ProcessID
+    )
+{
+    PLINUX_MDL  mdl;
+
+    gcmkHEADER_ARG("ProcessID=%d", ProcessID);
+
+    mdl = (PLINUX_MDL)kzalloc(sizeof(struct _LINUX_MDL), GFP_KERNEL | gcdNOWARN);
+    if (mdl == gcvNULL)
+    {
+        gcmkFOOTER_NO();
+        return gcvNULL;
+    }
+
+    mdl->pid    = ProcessID;
+    mdl->maps   = gcvNULL;
+    mdl->prev   = gcvNULL;
+    mdl->next   = gcvNULL;
+
+    gcmkFOOTER_ARG("0x%X", mdl);
+    return mdl;
+}
+
+static gceSTATUS
+_DestroyMdlMap(
+    IN PLINUX_MDL Mdl,
+    IN PLINUX_MDL_MAP MdlMap
+    );
+
+static gceSTATUS
+_DestroyMdl(
+    IN PLINUX_MDL Mdl
+    )
+{
+    PLINUX_MDL_MAP mdlMap, next;
+
+    gcmkHEADER_ARG("Mdl=0x%X", Mdl);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_ARGUMENT(Mdl != gcvNULL);
+
+    mdlMap = Mdl->maps;
+
+    while (mdlMap != gcvNULL)
+    {
+        next = mdlMap->next;
+
+        gcmkVERIFY_OK(_DestroyMdlMap(Mdl, mdlMap));
+
+        mdlMap = next;
+    }
+
+    kfree(Mdl);
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+static PLINUX_MDL_MAP
+_CreateMdlMap(
+    IN PLINUX_MDL Mdl,
+    IN gctINT ProcessID
+    )
+{
+    PLINUX_MDL_MAP  mdlMap;
+
+    gcmkHEADER_ARG("Mdl=0x%X ProcessID=%d", Mdl, ProcessID);
+
+    mdlMap = (PLINUX_MDL_MAP)kmalloc(sizeof(struct _LINUX_MDL_MAP), GFP_KERNEL | gcdNOWARN);
+    if (mdlMap == gcvNULL)
+    {
+        gcmkFOOTER_NO();
+        return gcvNULL;
+    }
+
+    mdlMap->pid     = ProcessID;
+    mdlMap->vmaAddr = gcvNULL;
+    mdlMap->vma     = gcvNULL;
+    mdlMap->count   = 0;
+
+    mdlMap->next    = Mdl->maps;
+    Mdl->maps       = mdlMap;
+
+    gcmkFOOTER_ARG("0x%X", mdlMap);
+    return mdlMap;
+}
+
+static gceSTATUS
+_DestroyMdlMap(
+    IN PLINUX_MDL Mdl,
+    IN PLINUX_MDL_MAP MdlMap
+    )
+{
+    PLINUX_MDL_MAP  prevMdlMap;
+
+    gcmkHEADER_ARG("Mdl=0x%X MdlMap=0x%X", Mdl, MdlMap);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_ARGUMENT(MdlMap != gcvNULL);
+    gcmkASSERT(Mdl->maps != gcvNULL);
+
+    if (Mdl->maps == MdlMap)
+    {
+        Mdl->maps = MdlMap->next;
+    }
+    else
+    {
+        prevMdlMap = Mdl->maps;
+
+        while (prevMdlMap->next != MdlMap)
+        {
+            prevMdlMap = prevMdlMap->next;
+
+            gcmkASSERT(prevMdlMap != gcvNULL);
+        }
+
+        prevMdlMap->next = MdlMap->next;
+    }
+
+    kfree(MdlMap);
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+extern PLINUX_MDL_MAP
+FindMdlMap(
+    IN PLINUX_MDL Mdl,
+    IN gctINT ProcessID
+    )
+{
+    PLINUX_MDL_MAP  mdlMap;
+
+    gcmkHEADER_ARG("Mdl=0x%X ProcessID=%d", Mdl, ProcessID);
+    if(Mdl == gcvNULL)
+    {
+        gcmkFOOTER_NO();
+        return gcvNULL;
+    }
+    mdlMap = Mdl->maps;
+
+    while (mdlMap != gcvNULL)
+    {
+        if (mdlMap->pid == ProcessID)
+        {
+            gcmkFOOTER_ARG("0x%X", mdlMap);
+            return mdlMap;
+        }
+
+        mdlMap = mdlMap->next;
+    }
+
+    gcmkFOOTER_NO();
+    return gcvNULL;
+}
+
+void
+OnProcessExit(
+    IN gckOS Os,
+    IN gckKERNEL Kernel
+    )
+{
+}
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,25)
+static inline int
+is_vmalloc_addr(
+    void *Addr
+    )
+{
+    unsigned long addr = (unsigned long)Addr;
+
+    return addr >= VMALLOC_START && addr < VMALLOC_END;
+}
+#endif
+
+static void
+_NonContiguousFree(
+    IN struct page ** Pages,
+    IN gctUINT32 NumPages
+    )
+{
+    gctINT i;
+
+    gcmkHEADER_ARG("Pages=0x%X, NumPages=%d", Pages, NumPages);
+
+    gcmkASSERT(Pages != gcvNULL);
+
+    for (i = 0; i < NumPages; i++)
+    {
+        __free_page(Pages[i]);
+    }
+
+    if (is_vmalloc_addr(Pages))
+    {
+        vfree(Pages);
+    }
+    else
+    {
+        kfree(Pages);
+    }
+
+    gcmkFOOTER_NO();
+}
+
+static struct page **
+_NonContiguousAlloc(
+    IN gctUINT32 NumPages
+    )
+{
+    struct page ** pages;
+    struct page *p;
+    gctINT i, size;
+
+    gcmkHEADER_ARG("NumPages=%lu", NumPages);
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 32)
+    if (NumPages > totalram_pages)
+#else
+    if (NumPages > num_physpages)
+#endif
+    {
+        gcmkFOOTER_NO();
+        return gcvNULL;
+    }
+
+    size = NumPages * sizeof(struct page *);
+
+    pages = kmalloc(size, GFP_KERNEL | gcdNOWARN);
+
+    if (!pages)
+    {
+        pages = vmalloc(size);
+
+        if (!pages)
+        {
+            gcmkFOOTER_NO();
+            return gcvNULL;
+        }
+    }
+
+    for (i = 0; i < NumPages; i++)
+    {
+        p = alloc_page(GFP_KERNEL | __GFP_HIGHMEM | gcdNOWARN);
+
+        if (!p)
+        {
+            _NonContiguousFree(pages, i);
+            gcmkFOOTER_NO();
+            return gcvNULL;
+        }
+
+        pages[i] = p;
+    }
+
+    gcmkFOOTER_ARG("pages=0x%X", pages);
+    return pages;
+}
+
+static inline struct page *
+_NonContiguousToPage(
+    IN struct page ** Pages,
+    IN gctUINT32 Index
+    )
+{
+    gcmkASSERT(Pages != gcvNULL);
+    return Pages[Index];
+}
+
+static inline unsigned long
+_NonContiguousToPfn(
+    IN struct page ** Pages,
+    IN gctUINT32 Index
+    )
+{
+    gcmkASSERT(Pages != gcvNULL);
+    return page_to_pfn(_NonContiguousToPage(Pages, Index));
+}
+
+static inline unsigned long
+_NonContiguousToPhys(
+    IN struct page ** Pages,
+    IN gctUINT32 Index
+    )
+{
+    gcmkASSERT(Pages != gcvNULL);
+    return page_to_phys(_NonContiguousToPage(Pages, Index));
+}
+
+
+#if gcdUSE_NON_PAGED_MEMORY_CACHE
+
+static gctBOOL
+_AddNonPagedMemoryCache(
+    gckOS Os,
+#ifndef NO_DMA_COHERENT
+    gctINT Size,
+    gctSTRING Addr,
+    dma_addr_t DmaHandle
+#else
+    long Order,
+    struct page * Page
+#endif
+    )
+{
+    gcsNonPagedMemoryCache *cache;
+
+    if (Os->cacheSize >= gcdUSE_NON_PAGED_MEMORY_CACHE)
+    {
+        return gcvFALSE;
+    }
+
+    /* Allocate the cache record */
+    cache = (gcsNonPagedMemoryCache *)kmalloc(sizeof(gcsNonPagedMemoryCache), GFP_ATOMIC);
+
+    if (cache == gcvNULL) return gcvFALSE;
+
+#ifndef NO_DMA_COHERENT
+    cache->size  = Size;
+    cache->addr  = Addr;
+    cache->dmaHandle = DmaHandle;
+#else
+    cache->order = Order;
+    cache->page  = Page;
+#endif
+
+    /* Add to list */
+    if (Os->cacheHead == gcvNULL)
+    {
+        cache->prev   = gcvNULL;
+        cache->next   = gcvNULL;
+        Os->cacheHead =
+        Os->cacheTail = cache;
+    }
+    else
+    {
+        /* Add to the tail. */
+        cache->prev         = Os->cacheTail;
+        cache->next         = gcvNULL;
+        Os->cacheTail->next = cache;
+        Os->cacheTail       = cache;
+    }
+
+    Os->cacheSize++;
+
+    return gcvTRUE;
+}
+
+#ifndef NO_DMA_COHERENT
+static gctSTRING
+_GetNonPagedMemoryCache(
+    gckOS Os,
+    gctINT Size,
+    dma_addr_t * DmaHandle
+    )
+#else
+static struct page *
+_GetNonPagedMemoryCache(
+    gckOS Os,
+    long Order
+    )
+#endif
+{
+    gcsNonPagedMemoryCache *cache;
+#ifndef NO_DMA_COHERENT
+    gctSTRING addr;
+#else
+    struct page * page;
+#endif
+
+    if (Os->cacheHead == gcvNULL) return gcvNULL;
+
+    /* Find the right cache */
+    cache = Os->cacheHead;
+
+    while (cache != gcvNULL)
+    {
+#ifndef NO_DMA_COHERENT
+        if (cache->size == Size) break;
+#else
+        if (cache->order == Order) break;
+#endif
+
+        cache = cache->next;
+    }
+
+    if (cache == gcvNULL) return gcvNULL;
+
+    /* Remove the cache from list */
+    if (cache == Os->cacheHead)
+    {
+        Os->cacheHead = cache->next;
+
+        if (Os->cacheHead == gcvNULL)
+        {
+            Os->cacheTail = gcvNULL;
+        }
+    }
+    else
+    {
+        cache->prev->next = cache->next;
+
+        if (cache == Os->cacheTail)
+        {
+            Os->cacheTail = cache->prev;
+        }
+        else
+        {
+            cache->next->prev = cache->prev;
+        }
+    }
+
+    /* Destroy cache */
+#ifndef NO_DMA_COHERENT
+    addr       = cache->addr;
+    *DmaHandle = cache->dmaHandle;
+#else
+    page       = cache->page;
+#endif
+
+    kfree(cache);
+
+    Os->cacheSize--;
+
+#ifndef NO_DMA_COHERENT
+    return addr;
+#else
+    return page;
+#endif
+}
+
+static void
+_FreeAllNonPagedMemoryCache(
+    gckOS Os
+    )
+{
+    gcsNonPagedMemoryCache *cache, *nextCache;
+
+    MEMORY_LOCK(Os);
+
+    cache = Os->cacheHead;
+
+    while (cache != gcvNULL)
+    {
+        if (cache != Os->cacheTail)
+        {
+            nextCache = cache->next;
+        }
+        else
+        {
+            nextCache = gcvNULL;
+        }
+
+        /* Remove the cache from list */
+        if (cache == Os->cacheHead)
+        {
+            Os->cacheHead = cache->next;
+
+            if (Os->cacheHead == gcvNULL)
+            {
+                Os->cacheTail = gcvNULL;
+            }
+        }
+        else
+        {
+            cache->prev->next = cache->next;
+
+            if (cache == Os->cacheTail)
+            {
+                Os->cacheTail = cache->prev;
+            }
+            else
+            {
+                cache->next->prev = cache->prev;
+            }
+        }
+
+#ifndef NO_DMA_COHERENT
+    dma_free_coherent(gcvNULL,
+                    cache->size,
+                    cache->addr,
+                    cache->dmaHandle);
+#else
+    free_pages((unsigned long)page_address(cache->page), cache->order);
+#endif
+
+        kfree(cache);
+
+        cache = nextCache;
+    }
+
+    MEMORY_UNLOCK(Os);
+}
+
+#endif /* gcdUSE_NON_PAGED_MEMORY_CACHE */
+
+/*******************************************************************************
+** Integer Id Management.
+*/
+gceSTATUS
+_AllocateIntegerId(
+    IN gcsINTEGER_DB_PTR Database,
+    IN gctPOINTER KernelPointer,
+    OUT gctUINT32 *Id
+    )
+{
+    int result;
+    gctINT next;
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 9, 0)
+    idr_preload(GFP_KERNEL | gcdNOWARN);
+
+    spin_lock(&Database->lock);
+
+    next = (Database->curr + 1 <= 0) ? 1 : Database->curr + 1;
+    result = idr_alloc(&Database->idr, KernelPointer, next, 0, GFP_ATOMIC);
+
+    if (!result)
+    {
+        Database->curr = *Id;
+    }
+
+    spin_unlock(&Database->lock);
+
+    idr_preload_end();
+
+    if (result < 0)
+    {
+        return gcvSTATUS_OUT_OF_RESOURCES;
+    }
+
+    *Id = result;
+#else
+again:
+    if (idr_pre_get(&Database->idr, GFP_KERNEL | gcdNOWARN) == 0)
+    {
+        return gcvSTATUS_OUT_OF_MEMORY;
+    }
+
+    spin_lock(&Database->lock);
+
+    next = (Database->curr + 1 <= 0) ? 1 : Database->curr + 1;
+
+    /* Try to get a id greater than current id. */
+    result = idr_get_new_above(&Database->idr, KernelPointer, next, Id);
+
+    if (!result)
+    {
+        Database->curr = *Id;
+    }
+
+    spin_unlock(&Database->lock);
+
+    if (result == -EAGAIN)
+    {
+        goto again;
+    }
+
+    if (result != 0)
+    {
+        return gcvSTATUS_OUT_OF_RESOURCES;
+    }
+#endif
+
+    return gcvSTATUS_OK;
+}
+
+gceSTATUS
+_QueryIntegerId(
+    IN gcsINTEGER_DB_PTR Database,
+    IN gctUINT32  Id,
+    OUT gctPOINTER * KernelPointer
+    )
+{
+    gctPOINTER pointer;
+
+    spin_lock(&Database->lock);
+
+    pointer = idr_find(&Database->idr, Id);
+
+    spin_unlock(&Database->lock);
+
+    if(pointer)
+    {
+        *KernelPointer = pointer;
+        return gcvSTATUS_OK;
+    }
+    else
+    {
+        gcmkTRACE_ZONE(
+                gcvLEVEL_ERROR, gcvZONE_OS,
+                "%s(%d) Id = %d is not found",
+                __FUNCTION__, __LINE__, Id);
+
+        return gcvSTATUS_NOT_FOUND;
+    }
+}
+
+gceSTATUS
+_DestroyIntegerId(
+    IN gcsINTEGER_DB_PTR Database,
+    IN gctUINT32 Id
+    )
+{
+    spin_lock(&Database->lock);
+
+    idr_remove(&Database->idr, Id);
+
+    spin_unlock(&Database->lock);
+
+    return gcvSTATUS_OK;
+}
+
+static void
+_UnmapUserLogical(
+    IN gctINT Pid,
+    IN gctPOINTER Logical,
+    IN gctUINT32  Size
+)
+{
+    if (unlikely(current->mm == gcvNULL))
+    {
+        /* Do nothing if process is exiting. */
+        return;
+    }
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0)
+    if (vm_munmap((unsigned long)Logical, Size) < 0)
+    {
+        gcmkTRACE_ZONE(
+                gcvLEVEL_WARNING, gcvZONE_OS,
+                "%s(%d): vm_munmap failed",
+                __FUNCTION__, __LINE__
+                );
+    }
+#else
+    down_write(&current->mm->mmap_sem);
+    if (do_munmap(current->mm, (unsigned long)Logical, Size) < 0)
+    {
+        gcmkTRACE_ZONE(
+                gcvLEVEL_WARNING, gcvZONE_OS,
+                "%s(%d): do_munmap failed",
+                __FUNCTION__, __LINE__
+                );
+    }
+    up_write(&current->mm->mmap_sem);
+#endif
+}
+
+gceSTATUS
+_QueryProcessPageTable(
+    IN gctPOINTER Logical,
+    OUT gctUINT32 * Address
+    )
+{
+    spinlock_t *lock;
+    gctUINTPTR_T logical = (gctUINTPTR_T)Logical;
+    pgd_t *pgd;
+    pud_t *pud;
+    pmd_t *pmd;
+    pte_t *pte;
+
+    if (!current->mm)
+    {
+        return gcvSTATUS_NOT_FOUND;
+    }
+
+    pgd = pgd_offset(current->mm, logical);
+    if (pgd_none(*pgd) || pgd_bad(*pgd))
+    {
+        return gcvSTATUS_NOT_FOUND;
+    }
+
+    pud = pud_offset(pgd, logical);
+    if (pud_none(*pud) || pud_bad(*pud))
+    {
+        return gcvSTATUS_NOT_FOUND;
+    }
+
+    pmd = pmd_offset(pud, logical);
+    if (pmd_none(*pmd) || pmd_bad(*pmd))
+    {
+        return gcvSTATUS_NOT_FOUND;
+    }
+
+    pte = pte_offset_map_lock(current->mm, pmd, logical, &lock);
+    if (!pte)
+    {
+        return gcvSTATUS_NOT_FOUND;
+    }
+
+    if (!pte_present(*pte))
+    {
+        pte_unmap_unlock(pte, lock);
+        return gcvSTATUS_NOT_FOUND;
+    }
+
+    *Address = (pte_pfn(*pte) << PAGE_SHIFT) | (logical & ~PAGE_MASK);
+    pte_unmap_unlock(pte, lock);
+
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckOS_Construct
+**
+**  Construct a new gckOS object.
+**
+**  INPUT:
+**
+**      gctPOINTER Context
+**          Pointer to the gckGALDEVICE class.
+**
+**  OUTPUT:
+**
+**      gckOS * Os
+**          Pointer to a variable that will hold the pointer to the gckOS object.
+*/
+gceSTATUS
+gckOS_Construct(
+    IN gctPOINTER Context,
+    OUT gckOS * Os
+    )
+{
+    gckOS os;
+    gceSTATUS status;
+
+    gcmkHEADER_ARG("Context=0x%X", Context);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_ARGUMENT(Os != gcvNULL);
+
+    /* Allocate the gckOS object. */
+    os = (gckOS) kmalloc(gcmSIZEOF(struct _gckOS), GFP_KERNEL | gcdNOWARN);
+
+    if (os == gcvNULL)
+    {
+        /* Out of memory. */
+        gcmkFOOTER_ARG("status=%d", gcvSTATUS_OUT_OF_MEMORY);
+        return gcvSTATUS_OUT_OF_MEMORY;
+    }
+
+    /* Zero the memory. */
+    gckOS_ZeroMemory(os, gcmSIZEOF(struct _gckOS));
+
+    /* Initialize the gckOS object. */
+    os->object.type = gcvOBJ_OS;
+
+    /* Set device device. */
+    os->device = Context;
+
+    /* IMPORTANT! No heap yet. */
+    os->heap = gcvNULL;
+
+    /* Initialize the memory lock. */
+    gcmkONERROR(gckOS_CreateMutex(os, &os->memoryLock));
+    gcmkONERROR(gckOS_CreateMutex(os, &os->memoryMapLock));
+
+    /* Create debug lock mutex. */
+    gcmkONERROR(gckOS_CreateMutex(os, &os->debugLock));
+
+
+    os->mdlHead = os->mdlTail = gcvNULL;
+
+    /* Get the kernel process ID. */
+    gcmkONERROR(gckOS_GetProcessID(&os->kernelProcessID));
+
+    /*
+     * Initialize the signal manager.
+     */
+
+    /* Initialize mutex. */
+    gcmkONERROR(gckOS_CreateMutex(os, &os->signalMutex));
+
+    /* Initialize signal id database lock. */
+    spin_lock_init(&os->signalDB.lock);
+
+    /* Initialize signal id database. */
+    idr_init(&os->signalDB.idr);
+
+#if gcdANDROID_NATIVE_FENCE_SYNC
+    /*
+     * Initialize the sync point manager.
+     */
+
+    /* Initialize mutex. */
+    gcmkONERROR(gckOS_CreateMutex(os, &os->syncPointMutex));
+
+    /* Initialize sync point id database lock. */
+    spin_lock_init(&os->syncPointDB.lock);
+
+    /* Initialize sync point id database. */
+    idr_init(&os->syncPointDB.idr);
+#endif
+
+#if gcdUSE_NON_PAGED_MEMORY_CACHE
+    os->cacheSize = 0;
+    os->cacheHead = gcvNULL;
+    os->cacheTail = gcvNULL;
+#endif
+
+    /* Create a workqueue for os timer. */
+    os->workqueue = create_singlethread_workqueue("galcore workqueue");
+
+    if (os->workqueue == gcvNULL)
+    {
+        /* Out of memory. */
+        gcmkONERROR(gcvSTATUS_OUT_OF_MEMORY);
+    }
+
+    /* Return pointer to the gckOS object. */
+    *Os = os;
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Os=0x%X", *Os);
+    return gcvSTATUS_OK;
+
+OnError:
+
+#if gcdANDROID_NATIVE_FENCE_SYNC
+    if (os->syncPointMutex != gcvNULL)
+    {
+        gcmkVERIFY_OK(
+            gckOS_DeleteMutex(os, os->syncPointMutex));
+    }
+#endif
+
+    if (os->signalMutex != gcvNULL)
+    {
+        gcmkVERIFY_OK(
+            gckOS_DeleteMutex(os, os->signalMutex));
+    }
+
+    if (os->heap != gcvNULL)
+    {
+        gcmkVERIFY_OK(
+            gckHEAP_Destroy(os->heap));
+    }
+
+    if (os->memoryMapLock != gcvNULL)
+    {
+        gcmkVERIFY_OK(
+            gckOS_DeleteMutex(os, os->memoryMapLock));
+    }
+
+    if (os->memoryLock != gcvNULL)
+    {
+        gcmkVERIFY_OK(
+            gckOS_DeleteMutex(os, os->memoryLock));
+    }
+
+    if (os->debugLock != gcvNULL)
+    {
+        gcmkVERIFY_OK(
+            gckOS_DeleteMutex(os, os->debugLock));
+    }
+
+    if (os->workqueue != gcvNULL)
+    {
+        destroy_workqueue(os->workqueue);
+    }
+
+    kfree(os);
+
+    /* Return the error. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckOS_Destroy
+**
+**  Destroy an gckOS object.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object that needs to be destroyed.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_Destroy(
+    IN gckOS Os
+    )
+{
+    gckHEAP heap;
+
+    gcmkHEADER_ARG("Os=0x%X", Os);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+
+#if gcdUSE_NON_PAGED_MEMORY_CACHE
+    _FreeAllNonPagedMemoryCache(Os);
+#endif
+
+#if gcdANDROID_NATIVE_FENCE_SYNC
+    /*
+     * Destroy the sync point manager.
+     */
+
+    /* Destroy the mutex. */
+    gcmkVERIFY_OK(gckOS_DeleteMutex(Os, Os->syncPointMutex));
+#endif
+
+    /*
+     * Destroy the signal manager.
+     */
+
+    /* Destroy the mutex. */
+    gcmkVERIFY_OK(gckOS_DeleteMutex(Os, Os->signalMutex));
+
+    if (Os->heap != gcvNULL)
+    {
+        /* Mark gckHEAP as gone. */
+        heap     = Os->heap;
+        Os->heap = gcvNULL;
+
+        /* Destroy the gckHEAP object. */
+        gcmkVERIFY_OK(gckHEAP_Destroy(heap));
+    }
+
+    /* Destroy the memory lock. */
+    gcmkVERIFY_OK(gckOS_DeleteMutex(Os, Os->memoryMapLock));
+    gcmkVERIFY_OK(gckOS_DeleteMutex(Os, Os->memoryLock));
+
+    /* Destroy debug lock mutex. */
+    gcmkVERIFY_OK(gckOS_DeleteMutex(Os, Os->debugLock));
+
+    /* Wait for all works done. */
+    flush_workqueue(Os->workqueue);
+
+    /* Destory work queue. */
+    destroy_workqueue(Os->workqueue);
+
+    /* Flush the debug cache. */
+    gcmkDEBUGFLUSH(~0U);
+
+    /* Mark the gckOS object as unknown. */
+    Os->object.type = gcvOBJ_UNKNOWN;
+
+    /* Free the gckOS object. */
+    kfree(Os);
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+static gctSTRING
+_CreateKernelVirtualMapping(
+    IN PLINUX_MDL Mdl
+    )
+{
+    gctSTRING addr = 0;
+    gctINT numPages = Mdl->numPages;
+
+#if gcdNONPAGED_MEMORY_CACHEABLE
+    if (Mdl->contiguous)
+    {
+        addr = page_address(Mdl->u.contiguousPages);
+    }
+    else
+    {
+        addr = vmap(Mdl->u.nonContiguousPages,
+                    numPages,
+                    0,
+                    PAGE_KERNEL);
+
+        /* Trigger a page fault. */
+        memset(addr, 0, numPages * PAGE_SIZE);
+    }
+#else
+    struct page ** pages;
+    gctBOOL free = gcvFALSE;
+    gctINT i;
+
+    if (Mdl->contiguous)
+    {
+        pages = kmalloc(sizeof(struct page *) * numPages, GFP_KERNEL | gcdNOWARN);
+
+        if (!pages)
+        {
+            return gcvNULL;
+        }
+
+        for (i = 0; i < numPages; i++)
+        {
+            pages[i] = nth_page(Mdl->u.contiguousPages, i);
+        }
+
+        free = gcvTRUE;
+    }
+    else
+    {
+        pages = Mdl->u.nonContiguousPages;
+    }
+
+    /* ioremap() can't work on system memory since 2.6.38. */
+    addr = vmap(pages, numPages, 0, gcmkNONPAGED_MEMROY_PROT(PAGE_KERNEL));
+
+    /* Trigger a page fault. */
+    memset(addr, 0, numPages * PAGE_SIZE);
+
+    if (free)
+    {
+        kfree(pages);
+    }
+
+#endif
+
+    return addr;
+}
+
+static void
+_DestoryKernelVirtualMapping(
+    IN gctSTRING Addr
+    )
+{
+#if !gcdNONPAGED_MEMORY_CACHEABLE
+    vunmap(Addr);
+#endif
+}
+
+gceSTATUS
+gckOS_CreateKernelVirtualMapping(
+    IN gctPHYS_ADDR Physical,
+    OUT gctSIZE_T * PageCount,
+    OUT gctPOINTER * Logical
+    )
+{
+    *PageCount = ((PLINUX_MDL)Physical)->numPages;
+    *Logical = _CreateKernelVirtualMapping((PLINUX_MDL)Physical);
+
+    return gcvSTATUS_OK;
+}
+
+gceSTATUS
+gckOS_DestroyKernelVirtualMapping(
+    IN gctPOINTER Logical
+    )
+{
+    _DestoryKernelVirtualMapping((gctSTRING)Logical);
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckOS_Allocate
+**
+**  Allocate memory.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      gctSIZE_T Bytes
+**          Number of bytes to allocate.
+**
+**  OUTPUT:
+**
+**      gctPOINTER * Memory
+**          Pointer to a variable that will hold the allocated memory location.
+*/
+gceSTATUS
+gckOS_Allocate(
+    IN gckOS Os,
+    IN gctSIZE_T Bytes,
+    OUT gctPOINTER * Memory
+    )
+{
+    gceSTATUS status;
+
+    gcmkHEADER_ARG("Os=0x%X Bytes=%lu", Os, Bytes);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Bytes > 0);
+    gcmkVERIFY_ARGUMENT(Memory != gcvNULL);
+
+    /* Do we have a heap? */
+    if (Os->heap != gcvNULL)
+    {
+        /* Allocate from the heap. */
+        gcmkONERROR(gckHEAP_Allocate(Os->heap, Bytes, Memory));
+    }
+    else
+    {
+        gcmkONERROR(gckOS_AllocateMemory(Os, Bytes, Memory));
+    }
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Memory=0x%X", *Memory);
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckOS_Free
+**
+**  Free allocated memory.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      gctPOINTER Memory
+**          Pointer to memory allocation to free.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_Free(
+    IN gckOS Os,
+    IN gctPOINTER Memory
+    )
+{
+    gceSTATUS status;
+
+    gcmkHEADER_ARG("Os=0x%X Memory=0x%X", Os, Memory);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Memory != gcvNULL);
+
+    /* Do we have a heap? */
+    if (Os->heap != gcvNULL)
+    {
+        /* Free from the heap. */
+        gcmkONERROR(gckHEAP_Free(Os->heap, Memory));
+    }
+    else
+    {
+        gcmkONERROR(gckOS_FreeMemory(Os, Memory));
+    }
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckOS_AllocateMemory
+**
+**  Allocate memory wrapper.
+**
+**  INPUT:
+**
+**      gctSIZE_T Bytes
+**          Number of bytes to allocate.
+**
+**  OUTPUT:
+**
+**      gctPOINTER * Memory
+**          Pointer to a variable that will hold the allocated memory location.
+*/
+gceSTATUS
+gckOS_AllocateMemory(
+    IN gckOS Os,
+    IN gctSIZE_T Bytes,
+    OUT gctPOINTER * Memory
+    )
+{
+    gctPOINTER memory;
+    gceSTATUS status;
+
+    gcmkHEADER_ARG("Os=0x%X Bytes=%lu", Os, Bytes);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_ARGUMENT(Bytes > 0);
+    gcmkVERIFY_ARGUMENT(Memory != gcvNULL);
+
+    if (Bytes > PAGE_SIZE)
+    {
+        memory = (gctPOINTER) vmalloc(Bytes);
+    }
+    else
+    {
+        memory = (gctPOINTER) kmalloc(Bytes, GFP_KERNEL | gcdNOWARN);
+    }
+
+    if (memory == gcvNULL)
+    {
+        /* Out of memory. */
+        gcmkONERROR(gcvSTATUS_OUT_OF_MEMORY);
+    }
+
+    /* Return pointer to the memory allocation. */
+    *Memory = memory;
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Memory=0x%X", *Memory);
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckOS_FreeMemory
+**
+**  Free allocated memory wrapper.
+**
+**  INPUT:
+**
+**      gctPOINTER Memory
+**          Pointer to memory allocation to free.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_FreeMemory(
+    IN gckOS Os,
+    IN gctPOINTER Memory
+    )
+{
+    gcmkHEADER_ARG("Memory=0x%X", Memory);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_ARGUMENT(Memory != gcvNULL);
+
+    /* Free the memory from the OS pool. */
+    if (is_vmalloc_addr(Memory))
+    {
+        vfree(Memory);
+    }
+    else
+    {
+        kfree(Memory);
+    }
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckOS_MapMemory
+**
+**  Map physical memory into the current process.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      gctPHYS_ADDR Physical
+**          Start of physical address memory.
+**
+**      gctSIZE_T Bytes
+**          Number of bytes to map.
+**
+**  OUTPUT:
+**
+**      gctPOINTER * Memory
+**          Pointer to a variable that will hold the logical address of the
+**          mapped memory.
+*/
+gceSTATUS
+gckOS_MapMemory(
+    IN gckOS Os,
+    IN gctPHYS_ADDR Physical,
+    IN gctSIZE_T Bytes,
+    OUT gctPOINTER * Logical
+    )
+{
+    PLINUX_MDL_MAP  mdlMap;
+    PLINUX_MDL      mdl = (PLINUX_MDL)Physical;
+
+    gcmkHEADER_ARG("Os=0x%X Physical=0x%X Bytes=%lu", Os, Physical, Bytes);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Physical != 0);
+    gcmkVERIFY_ARGUMENT(Bytes > 0);
+    gcmkVERIFY_ARGUMENT(Logical != gcvNULL);
+
+    MEMORY_LOCK(Os);
+
+    mdlMap = FindMdlMap(mdl, _GetProcessID());
+
+    if (mdlMap == gcvNULL)
+    {
+        mdlMap = _CreateMdlMap(mdl, _GetProcessID());
+
+        if (mdlMap == gcvNULL)
+        {
+            MEMORY_UNLOCK(Os);
+
+            gcmkFOOTER_ARG("status=%d", gcvSTATUS_OUT_OF_MEMORY);
+            return gcvSTATUS_OUT_OF_MEMORY;
+        }
+    }
+
+    if (mdlMap->vmaAddr == gcvNULL)
+    {
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 4, 0)
+        mdlMap->vmaAddr = (char *)vm_mmap(gcvNULL,
+                    0L,
+                    mdl->numPages * PAGE_SIZE,
+                    PROT_READ | PROT_WRITE,
+                    MAP_SHARED,
+                    0);
+#else
+        down_write(&current->mm->mmap_sem);
+
+        mdlMap->vmaAddr = (char *)do_mmap_pgoff(gcvNULL,
+                    0L,
+                    mdl->numPages * PAGE_SIZE,
+                    PROT_READ | PROT_WRITE,
+                    MAP_SHARED,
+                    0);
+
+        up_write(&current->mm->mmap_sem);
+#endif
+
+        if (IS_ERR(mdlMap->vmaAddr))
+        {
+            gcmkTRACE(
+                gcvLEVEL_ERROR,
+                "%s(%d): do_mmap_pgoff error",
+                __FUNCTION__, __LINE__
+                );
+
+            gcmkTRACE(
+                gcvLEVEL_ERROR,
+                "%s(%d): mdl->numPages: %d mdl->vmaAddr: 0x%X",
+                __FUNCTION__, __LINE__,
+                mdl->numPages,
+                mdlMap->vmaAddr
+                );
+
+            mdlMap->vmaAddr = gcvNULL;
+
+            MEMORY_UNLOCK(Os);
+
+            gcmkFOOTER_ARG("status=%d", gcvSTATUS_OUT_OF_MEMORY);
+            return gcvSTATUS_OUT_OF_MEMORY;
+        }
+
+        down_write(&current->mm->mmap_sem);
+
+        mdlMap->vma = find_vma(current->mm, (unsigned long)mdlMap->vmaAddr);
+
+        if (!mdlMap->vma)
+        {
+            gcmkTRACE(
+                gcvLEVEL_ERROR,
+                "%s(%d): find_vma error.",
+                __FUNCTION__, __LINE__
+                );
+
+            mdlMap->vmaAddr = gcvNULL;
+
+            up_write(&current->mm->mmap_sem);
+
+            MEMORY_UNLOCK(Os);
+
+            gcmkFOOTER_ARG("status=%d", gcvSTATUS_OUT_OF_RESOURCES);
+            return gcvSTATUS_OUT_OF_RESOURCES;
+        }
+
+#ifndef NO_DMA_COHERENT
+        if (dma_mmap_coherent(gcvNULL,
+                    mdlMap->vma,
+                    mdl->addr,
+                    mdl->dmaHandle,
+                    mdl->numPages * PAGE_SIZE) < 0)
+        {
+            up_write(&current->mm->mmap_sem);
+
+            gcmkTRACE(
+                gcvLEVEL_ERROR,
+                "%s(%d): dma_mmap_coherent error.",
+                __FUNCTION__, __LINE__
+                );
+
+            mdlMap->vmaAddr = gcvNULL;
+
+            MEMORY_UNLOCK(Os);
+
+            gcmkFOOTER_ARG("status=%d", gcvSTATUS_OUT_OF_RESOURCES);
+            return gcvSTATUS_OUT_OF_RESOURCES;
+        }
+#else
+#if !gcdPAGED_MEMORY_CACHEABLE
+        mdlMap->vma->vm_page_prot = gcmkPAGED_MEMROY_PROT(mdlMap->vma->vm_page_prot);
+        mdlMap->vma->vm_flags |= gcdVM_FLAGS;
+#   endif
+        mdlMap->vma->vm_pgoff = 0;
+
+        if (remap_pfn_range(mdlMap->vma,
+                            mdlMap->vma->vm_start,
+                            mdl->dmaHandle >> PAGE_SHIFT,
+                            mdl->numPages*PAGE_SIZE,
+                            mdlMap->vma->vm_page_prot) < 0)
+        {
+            up_write(&current->mm->mmap_sem);
+
+            gcmkTRACE(
+                gcvLEVEL_ERROR,
+                "%s(%d): remap_pfn_range error.",
+                __FUNCTION__, __LINE__
+                );
+
+            mdlMap->vmaAddr = gcvNULL;
+
+            MEMORY_UNLOCK(Os);
+
+            gcmkFOOTER_ARG("status=%d", gcvSTATUS_OUT_OF_RESOURCES);
+            return gcvSTATUS_OUT_OF_RESOURCES;
+        }
+#endif
+
+        up_write(&current->mm->mmap_sem);
+    }
+
+    MEMORY_UNLOCK(Os);
+
+    *Logical = mdlMap->vmaAddr;
+
+    gcmkFOOTER_ARG("*Logical=0x%X", *Logical);
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckOS_UnmapMemory
+**
+**  Unmap physical memory out of the current process.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      gctPHYS_ADDR Physical
+**          Start of physical address memory.
+**
+**      gctSIZE_T Bytes
+**          Number of bytes to unmap.
+**
+**      gctPOINTER Memory
+**          Pointer to a previously mapped memory region.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_UnmapMemory(
+    IN gckOS Os,
+    IN gctPHYS_ADDR Physical,
+    IN gctSIZE_T Bytes,
+    IN gctPOINTER Logical
+    )
+{
+    gcmkHEADER_ARG("Os=0x%X Physical=0x%X Bytes=%lu Logical=0x%X",
+                   Os, Physical, Bytes, Logical);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Physical != 0);
+    gcmkVERIFY_ARGUMENT(Bytes > 0);
+    gcmkVERIFY_ARGUMENT(Logical != gcvNULL);
+
+    gckOS_UnmapMemoryEx(Os, Physical, Bytes, Logical, _GetProcessID());
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+
+/*******************************************************************************
+**
+**  gckOS_UnmapMemoryEx
+**
+**  Unmap physical memory in the specified process.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      gctPHYS_ADDR Physical
+**          Start of physical address memory.
+**
+**      gctSIZE_T Bytes
+**          Number of bytes to unmap.
+**
+**      gctPOINTER Memory
+**          Pointer to a previously mapped memory region.
+**
+**      gctUINT32 PID
+**          Pid of the process that opened the device and mapped this memory.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_UnmapMemoryEx(
+    IN gckOS Os,
+    IN gctPHYS_ADDR Physical,
+    IN gctSIZE_T Bytes,
+    IN gctPOINTER Logical,
+    IN gctUINT32 PID
+    )
+{
+    PLINUX_MDL_MAP          mdlMap;
+    PLINUX_MDL              mdl = (PLINUX_MDL)Physical;
+
+    gcmkHEADER_ARG("Os=0x%X Physical=0x%X Bytes=%lu Logical=0x%X PID=%d",
+                   Os, Physical, Bytes, Logical, PID);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Physical != 0);
+    gcmkVERIFY_ARGUMENT(Bytes > 0);
+    gcmkVERIFY_ARGUMENT(Logical != gcvNULL);
+    gcmkVERIFY_ARGUMENT(PID != 0);
+
+    MEMORY_LOCK(Os);
+
+    if (Logical)
+    {
+        mdlMap = FindMdlMap(mdl, PID);
+
+        if (mdlMap == gcvNULL || mdlMap->vmaAddr == gcvNULL)
+        {
+            MEMORY_UNLOCK(Os);
+
+            gcmkFOOTER_ARG("status=%d", gcvSTATUS_INVALID_ARGUMENT);
+            return gcvSTATUS_INVALID_ARGUMENT;
+        }
+
+        _UnmapUserLogical(PID, mdlMap->vmaAddr, mdl->numPages * PAGE_SIZE);
+
+        gcmkVERIFY_OK(_DestroyMdlMap(mdl, mdlMap));
+    }
+
+    MEMORY_UNLOCK(Os);
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckOS_UnmapUserLogical
+**
+**  Unmap user logical memory out of physical memory.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      gctPHYS_ADDR Physical
+**          Start of physical address memory.
+**
+**      gctSIZE_T Bytes
+**          Number of bytes to unmap.
+**
+**      gctPOINTER Memory
+**          Pointer to a previously mapped memory region.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_UnmapUserLogical(
+    IN gckOS Os,
+    IN gctPHYS_ADDR Physical,
+    IN gctSIZE_T Bytes,
+    IN gctPOINTER Logical
+    )
+{
+    gcmkHEADER_ARG("Os=0x%X Physical=0x%X Bytes=%lu Logical=0x%X",
+                   Os, Physical, Bytes, Logical);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Physical != 0);
+    gcmkVERIFY_ARGUMENT(Bytes > 0);
+    gcmkVERIFY_ARGUMENT(Logical != gcvNULL);
+
+    gckOS_UnmapMemory(Os, Physical, Bytes, Logical);
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+}
+
+/*******************************************************************************
+**
+**  gckOS_AllocateNonPagedMemory
+**
+**  Allocate a number of pages from non-paged memory.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      gctBOOL InUserSpace
+**          gcvTRUE if the pages need to be mapped into user space.
+**
+**      gctSIZE_T * Bytes
+**          Pointer to a variable that holds the number of bytes to allocate.
+**
+**  OUTPUT:
+**
+**      gctSIZE_T * Bytes
+**          Pointer to a variable that hold the number of bytes allocated.
+**
+**      gctPHYS_ADDR * Physical
+**          Pointer to a variable that will hold the physical address of the
+**          allocation.
+**
+**      gctPOINTER * Logical
+**          Pointer to a variable that will hold the logical address of the
+**          allocation.
+*/
+gceSTATUS
+gckOS_AllocateNonPagedMemory(
+    IN gckOS Os,
+    IN gctBOOL InUserSpace,
+    IN OUT gctSIZE_T * Bytes,
+    OUT gctPHYS_ADDR * Physical,
+    OUT gctPOINTER * Logical
+    )
+{
+    gctSIZE_T bytes;
+    gctINT numPages;
+    PLINUX_MDL mdl = gcvNULL;
+    PLINUX_MDL_MAP mdlMap = gcvNULL;
+    gctSTRING addr;
+#ifdef NO_DMA_COHERENT
+    struct page * page;
+    long size, order;
+    gctPOINTER vaddr;
+#endif
+    gctBOOL locked = gcvFALSE;
+    gceSTATUS status;
+
+    gcmkHEADER_ARG("Os=0x%X InUserSpace=%d *Bytes=%lu",
+                   Os, InUserSpace, gcmOPT_VALUE(Bytes));
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Bytes != gcvNULL);
+    gcmkVERIFY_ARGUMENT(*Bytes > 0);
+    gcmkVERIFY_ARGUMENT(Physical != gcvNULL);
+    gcmkVERIFY_ARGUMENT(Logical != gcvNULL);
+
+    /* Align number of bytes to page size. */
+    bytes = gcmALIGN(*Bytes, PAGE_SIZE);
+
+    /* Get total number of pages.. */
+    numPages = GetPageCount(bytes, 0);
+
+    /* Allocate mdl+vector structure */
+    mdl = _CreateMdl(_GetProcessID());
+    if (mdl == gcvNULL)
+    {
+        gcmkONERROR(gcvSTATUS_OUT_OF_MEMORY);
+    }
+
+    mdl->pagedMem = 0;
+    mdl->numPages = numPages;
+
+    MEMORY_LOCK(Os);
+    locked = gcvTRUE;
+
+#ifndef NO_DMA_COHERENT
+#if gcdUSE_NON_PAGED_MEMORY_CACHE
+    addr = _GetNonPagedMemoryCache(Os,
+                mdl->numPages * PAGE_SIZE,
+                &mdl->dmaHandle);
+
+    if (addr == gcvNULL)
+#endif
+    {
+        addr = dma_alloc_coherent(gcvNULL,
+                mdl->numPages * PAGE_SIZE,
+                &mdl->dmaHandle,
+                GFP_KERNEL | gcdNOWARN);
+    }
+#if gcdUSE_NON_PAGED_MEMORY_CACHE
+    if(addr == gcvNULL)
+    {
+            MEMORY_UNLOCK(Os);
+            locked = gcvFALSE;
+            /*Free all cache and try again*/
+            _FreeAllNonPagedMemoryCache(Os);
+            MEMORY_LOCK(Os);
+            locked = gcvTRUE;
+            addr = dma_alloc_coherent(gcvNULL,
+                mdl->numPages * PAGE_SIZE,
+                &mdl->dmaHandle,
+                GFP_KERNEL | gcdNOWARN);
+    }
+#endif
+#else
+    size    = mdl->numPages * PAGE_SIZE;
+    order   = get_order(size);
+#if gcdUSE_NON_PAGED_MEMORY_CACHE
+    page = _GetNonPagedMemoryCache(Os, order);
+
+    if (page == gcvNULL)
+#endif
+    {
+        page = alloc_pages(GFP_KERNEL | gcdNOWARN, order);
+    }
+
+    if (page == gcvNULL)
+    {
+        gcmkONERROR(gcvSTATUS_OUT_OF_MEMORY);
+    }
+
+    vaddr           = (gctPOINTER)page_address(page);
+    mdl->contiguous = gcvTRUE;
+    mdl->u.contiguousPages = page;
+    addr            = _CreateKernelVirtualMapping(mdl);
+    mdl->dmaHandle  = virt_to_phys(vaddr);
+    mdl->kaddr      = vaddr;
+    mdl->u.contiguousPages = page;
+
+#if !defined(CONFIG_PPC)
+    /* Cache invalidate. */
+    dma_sync_single_for_device(
+                gcvNULL,
+                page_to_phys(page),
+                bytes,
+                DMA_FROM_DEVICE);
+#endif
+
+    while (size > 0)
+    {
+        SetPageReserved(virt_to_page(vaddr));
+
+        vaddr   += PAGE_SIZE;
+        size    -= PAGE_SIZE;
+    }
+#endif
+
+    if (addr == gcvNULL)
+    {
+        gcmkONERROR(gcvSTATUS_OUT_OF_MEMORY);
+    }
+
+    mdl->addr = addr;
+
+    /* Return allocated memory. */
+    *Bytes = bytes;
+    *Physical = (gctPHYS_ADDR) mdl;
+
+    if (InUserSpace)
+    {
+        mdlMap = _CreateMdlMap(mdl, _GetProcessID());
+
+        if (mdlMap == gcvNULL)
+        {
+            gcmkONERROR(gcvSTATUS_OUT_OF_MEMORY);
+        }
+
+        /* Only after mmap this will be valid. */
+
+        /* We need to map this to user space. */
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 4, 0)
+        mdlMap->vmaAddr = (gctSTRING) vm_mmap(gcvNULL,
+                0L,
+                mdl->numPages * PAGE_SIZE,
+                PROT_READ | PROT_WRITE,
+                MAP_SHARED,
+                0);
+#else
+        down_write(&current->mm->mmap_sem);
+
+        mdlMap->vmaAddr = (gctSTRING) do_mmap_pgoff(gcvNULL,
+                0L,
+                mdl->numPages * PAGE_SIZE,
+                PROT_READ | PROT_WRITE,
+                MAP_SHARED,
+                0);
+
+        up_write(&current->mm->mmap_sem);
+#endif
+
+        if (IS_ERR(mdlMap->vmaAddr))
+        {
+            gcmkTRACE_ZONE(
+                gcvLEVEL_WARNING, gcvZONE_OS,
+                "%s(%d): do_mmap_pgoff error",
+                __FUNCTION__, __LINE__
+                );
+
+            mdlMap->vmaAddr = gcvNULL;
+
+            gcmkONERROR(gcvSTATUS_OUT_OF_MEMORY);
+        }
+
+        down_write(&current->mm->mmap_sem);
+
+        mdlMap->vma = find_vma(current->mm, (unsigned long)mdlMap->vmaAddr);
+
+        if (mdlMap->vma == gcvNULL)
+        {
+            gcmkTRACE_ZONE(
+                gcvLEVEL_WARNING, gcvZONE_OS,
+                "%s(%d): find_vma error",
+                __FUNCTION__, __LINE__
+                );
+
+            up_write(&current->mm->mmap_sem);
+
+            gcmkONERROR(gcvSTATUS_OUT_OF_RESOURCES);
+        }
+
+#ifndef NO_DMA_COHERENT
+        if (dma_mmap_coherent(gcvNULL,
+                mdlMap->vma,
+                mdl->addr,
+                mdl->dmaHandle,
+                mdl->numPages * PAGE_SIZE) < 0)
+        {
+            gcmkTRACE_ZONE(
+                gcvLEVEL_WARNING, gcvZONE_OS,
+                "%s(%d): dma_mmap_coherent error",
+                __FUNCTION__, __LINE__
+                );
+
+            up_write(&current->mm->mmap_sem);
+
+            gcmkONERROR(gcvSTATUS_OUT_OF_RESOURCES);
+        }
+#else
+        mdlMap->vma->vm_page_prot = gcmkNONPAGED_MEMROY_PROT(mdlMap->vma->vm_page_prot);
+        mdlMap->vma->vm_flags |= gcdVM_FLAGS;
+        mdlMap->vma->vm_pgoff = 0;
+
+        if (remap_pfn_range(mdlMap->vma,
+                            mdlMap->vma->vm_start,
+                            mdl->dmaHandle >> PAGE_SHIFT,
+                            mdl->numPages * PAGE_SIZE,
+                            mdlMap->vma->vm_page_prot))
+        {
+            gcmkTRACE_ZONE(
+                gcvLEVEL_WARNING, gcvZONE_OS,
+                "%s(%d): remap_pfn_range error",
+                __FUNCTION__, __LINE__
+                );
+
+            up_write(&current->mm->mmap_sem);
+
+            gcmkONERROR(gcvSTATUS_OUT_OF_RESOURCES);
+        }
+#endif /* NO_DMA_COHERENT */
+
+        up_write(&current->mm->mmap_sem);
+
+        *Logical = mdlMap->vmaAddr;
+    }
+    else
+    {
+        *Logical = (gctPOINTER)mdl->addr;
+    }
+
+    /*
+     * Add this to a global list.
+     * Will be used by get physical address
+     * and mapuser pointer functions.
+     */
+
+    if (!Os->mdlHead)
+    {
+        /* Initialize the queue. */
+        Os->mdlHead = Os->mdlTail = mdl;
+    }
+    else
+    {
+        /* Add to the tail. */
+        mdl->prev = Os->mdlTail;
+        Os->mdlTail->next = mdl;
+        Os->mdlTail = mdl;
+    }
+
+    MEMORY_UNLOCK(Os);
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Bytes=%lu *Physical=0x%X *Logical=0x%X",
+                   *Bytes, *Physical, *Logical);
+    return gcvSTATUS_OK;
+
+OnError:
+    if (mdlMap != gcvNULL)
+    {
+        /* Free LINUX_MDL_MAP. */
+        gcmkVERIFY_OK(_DestroyMdlMap(mdl, mdlMap));
+    }
+
+    if (mdl != gcvNULL)
+    {
+        /* Free LINUX_MDL. */
+        gcmkVERIFY_OK(_DestroyMdl(mdl));
+    }
+
+    if (locked)
+    {
+        /* Unlock memory. */
+        MEMORY_UNLOCK(Os);
+    }
+
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckOS_FreeNonPagedMemory
+**
+**  Free previously allocated and mapped pages from non-paged memory.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      gctSIZE_T Bytes
+**          Number of bytes allocated.
+**
+**      gctPHYS_ADDR Physical
+**          Physical address of the allocated memory.
+**
+**      gctPOINTER Logical
+**          Logical address of the allocated memory.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS gckOS_FreeNonPagedMemory(
+    IN gckOS Os,
+    IN gctSIZE_T Bytes,
+    IN gctPHYS_ADDR Physical,
+    IN gctPOINTER Logical
+    )
+{
+    PLINUX_MDL mdl;
+    PLINUX_MDL_MAP mdlMap;
+#ifdef NO_DMA_COHERENT
+    unsigned size;
+    gctPOINTER vaddr;
+#endif /* NO_DMA_COHERENT */
+
+    gcmkHEADER_ARG("Os=0x%X Bytes=%lu Physical=0x%X Logical=0x%X",
+                   Os, Bytes, Physical, Logical);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Bytes > 0);
+    gcmkVERIFY_ARGUMENT(Physical != 0);
+    gcmkVERIFY_ARGUMENT(Logical != gcvNULL);
+
+    /* Convert physical address into a pointer to a MDL. */
+    mdl = (PLINUX_MDL) Physical;
+
+    MEMORY_LOCK(Os);
+
+#ifndef NO_DMA_COHERENT
+#if gcdUSE_NON_PAGED_MEMORY_CACHE
+    if (!_AddNonPagedMemoryCache(Os,
+                                 mdl->numPages * PAGE_SIZE,
+                                 mdl->addr,
+                                 mdl->dmaHandle))
+#endif
+    {
+        dma_free_coherent(gcvNULL,
+                mdl->numPages * PAGE_SIZE,
+                mdl->addr,
+                mdl->dmaHandle);
+    }
+#else
+    size    = mdl->numPages * PAGE_SIZE;
+    vaddr   = mdl->kaddr;
+
+    while (size > 0)
+    {
+        ClearPageReserved(virt_to_page(vaddr));
+
+        vaddr   += PAGE_SIZE;
+        size    -= PAGE_SIZE;
+    }
+
+#if gcdUSE_NON_PAGED_MEMORY_CACHE
+    if (!_AddNonPagedMemoryCache(Os,
+                                 get_order(mdl->numPages * PAGE_SIZE),
+                                 virt_to_page(mdl->kaddr)))
+#endif
+    {
+        free_pages((unsigned long)mdl->kaddr, get_order(mdl->numPages * PAGE_SIZE));
+    }
+
+    _DestoryKernelVirtualMapping(mdl->addr);
+#endif /* NO_DMA_COHERENT */
+
+    mdlMap = mdl->maps;
+
+    while (mdlMap != gcvNULL)
+    {
+        if (mdlMap->vmaAddr != gcvNULL)
+        {
+            /* No mapped memory exists when free nonpaged memory */
+            gcmkASSERT(0);
+        }
+
+        mdlMap = mdlMap->next;
+    }
+
+    /* Remove the node from global list.. */
+    if (mdl == Os->mdlHead)
+    {
+        if ((Os->mdlHead = mdl->next) == gcvNULL)
+        {
+            Os->mdlTail = gcvNULL;
+        }
+    }
+    else
+    {
+        mdl->prev->next = mdl->next;
+        if (mdl == Os->mdlTail)
+        {
+            Os->mdlTail = mdl->prev;
+        }
+        else
+        {
+            mdl->next->prev = mdl->prev;
+        }
+    }
+
+    MEMORY_UNLOCK(Os);
+
+    gcmkVERIFY_OK(_DestroyMdl(mdl));
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckOS_ReadRegister
+**
+**  Read data from a register.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      gctUINT32 Address
+**          Address of register.
+**
+**  OUTPUT:
+**
+**      gctUINT32 * Data
+**          Pointer to a variable that receives the data read from the register.
+*/
+gceSTATUS
+gckOS_ReadRegister(
+    IN gckOS Os,
+    IN gctUINT32 Address,
+    OUT gctUINT32 * Data
+    )
+{
+    return gckOS_ReadRegisterEx(Os, gcvCORE_MAJOR, Address, Data);
+}
+
+gceSTATUS
+gckOS_ReadRegisterEx(
+    IN gckOS Os,
+    IN gceCORE Core,
+    IN gctUINT32 Address,
+    OUT gctUINT32 * Data
+    )
+{
+    gcmkHEADER_ARG("Os=0x%X Core=%d Address=0x%X", Os, Core, Address);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Address < Os->device->requestedRegisterMemSizes[Core]);
+    gcmkVERIFY_ARGUMENT(Data != gcvNULL);
+
+    *Data = readl((gctUINT8 *)Os->device->registerBases[Core] + Address);
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Data=0x%08x", *Data);
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckOS_WriteRegister
+**
+**  Write data to a register.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      gctUINT32 Address
+**          Address of register.
+**
+**      gctUINT32 Data
+**          Data for register.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_WriteRegister(
+    IN gckOS Os,
+    IN gctUINT32 Address,
+    IN gctUINT32 Data
+    )
+{
+    return gckOS_WriteRegisterEx(Os, gcvCORE_MAJOR, Address, Data);
+}
+
+gceSTATUS
+gckOS_WriteRegisterEx(
+    IN gckOS Os,
+    IN gceCORE Core,
+    IN gctUINT32 Address,
+    IN gctUINT32 Data
+    )
+{
+    gcmkHEADER_ARG("Os=0x%X Core=%d Address=0x%X Data=0x%08x", Os, Core, Address, Data);
+
+    gcmkVERIFY_ARGUMENT(Address < Os->device->requestedRegisterMemSizes[Core]);
+
+    writel(Data, (gctUINT8 *)Os->device->registerBases[Core] + Address);
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckOS_GetPageSize
+**
+**  Get the system's page size.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**  OUTPUT:
+**
+**      gctSIZE_T * PageSize
+**          Pointer to a variable that will receive the system's page size.
+*/
+gceSTATUS gckOS_GetPageSize(
+    IN gckOS Os,
+    OUT gctSIZE_T * PageSize
+    )
+{
+    gcmkHEADER_ARG("Os=0x%X", Os);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(PageSize != gcvNULL);
+
+    /* Return the page size. */
+    *PageSize = (gctSIZE_T) PAGE_SIZE;
+
+    /* Success. */
+    gcmkFOOTER_ARG("*PageSize", *PageSize);
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckOS_GetPhysicalAddress
+**
+**  Get the physical system address of a corresponding virtual address.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      gctPOINTER Logical
+**          Logical address.
+**
+**  OUTPUT:
+**
+**      gctUINT32 * Address
+**          Poinetr to a variable that receives the 32-bit physical adress.
+*/
+gceSTATUS
+gckOS_GetPhysicalAddress(
+    IN gckOS Os,
+    IN gctPOINTER Logical,
+    OUT gctUINT32 * Address
+    )
+{
+    gceSTATUS status;
+    gctUINT32 processID;
+
+    gcmkHEADER_ARG("Os=0x%X Logical=0x%X", Os, Logical);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Address != gcvNULL);
+
+    /* Query page table of current process first. */
+    status = _QueryProcessPageTable(Logical, Address);
+
+    if (gcmIS_ERROR(status))
+    {
+        /* Get current process ID. */
+        processID = _GetProcessID();
+
+        /* Route through other function. */
+        gcmkONERROR(
+            gckOS_GetPhysicalAddressProcess(Os, Logical, processID, Address));
+    }
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Address=0x%08x", *Address);
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+#if gcdSECURE_USER
+static gceSTATUS
+gckOS_AddMapping(
+    IN gckOS Os,
+    IN gctUINT32 Physical,
+    IN gctPOINTER Logical,
+    IN gctSIZE_T Bytes
+    )
+{
+    gceSTATUS status;
+    gcsUSER_MAPPING_PTR map;
+
+    gcmkHEADER_ARG("Os=0x%X Physical=0x%X Logical=0x%X Bytes=%lu",
+                   Os, Physical, Logical, Bytes);
+
+    gcmkONERROR(gckOS_Allocate(Os,
+                               gcmSIZEOF(gcsUSER_MAPPING),
+                               (gctPOINTER *) &map));
+
+    map->next     = Os->userMap;
+    map->physical = Physical - Os->device->baseAddress;
+    map->logical  = Logical;
+    map->bytes    = Bytes;
+    map->start    = (gctINT8_PTR) Logical;
+    map->end      = map->start + Bytes;
+
+    Os->userMap = map;
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    gcmkFOOTER();
+    return status;
+}
+
+static gceSTATUS
+gckOS_RemoveMapping(
+    IN gckOS Os,
+    IN gctPOINTER Logical,
+    IN gctSIZE_T Bytes
+    )
+{
+    gceSTATUS status;
+    gcsUSER_MAPPING_PTR map, prev;
+
+    gcmkHEADER_ARG("Os=0x%X Logical=0x%X Bytes=%lu", Os, Logical, Bytes);
+
+    for (map = Os->userMap, prev = gcvNULL; map != gcvNULL; map = map->next)
+    {
+        if ((map->logical == Logical)
+        &&  (map->bytes   == Bytes)
+        )
+        {
+            break;
+        }
+
+        prev = map;
+    }
+
+    if (map == gcvNULL)
+    {
+        gcmkONERROR(gcvSTATUS_INVALID_ADDRESS);
+    }
+
+    if (prev == gcvNULL)
+    {
+        Os->userMap = map->next;
+    }
+    else
+    {
+        prev->next = map->next;
+    }
+
+    gcmkONERROR(gcmkOS_SAFE_FREE(Os, map));
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    gcmkFOOTER();
+    return status;
+}
+#endif
+
+static gceSTATUS
+_ConvertLogical2Physical(
+    IN gckOS Os,
+    IN gctPOINTER Logical,
+    IN gctUINT32 ProcessID,
+    IN PLINUX_MDL Mdl,
+    OUT gctUINT32_PTR Physical
+    )
+{
+    gctINT8_PTR base, vBase;
+    gctUINT32 offset;
+    PLINUX_MDL_MAP map;
+    gcsUSER_MAPPING_PTR userMap;
+
+    base = (Mdl == gcvNULL) ? gcvNULL : (gctINT8_PTR) Mdl->addr;
+
+    /* Check for the logical address match. */
+    if ((base != gcvNULL)
+    &&  ((gctINT8_PTR) Logical >= base)
+    &&  ((gctINT8_PTR) Logical <  base + Mdl->numPages * PAGE_SIZE)
+    )
+    {
+        offset = (gctINT8_PTR) Logical - base;
+
+        if (Mdl->dmaHandle != 0)
+        {
+            /* The memory was from coherent area. */
+            *Physical = (gctUINT32) Mdl->dmaHandle + offset;
+        }
+        else if (Mdl->pagedMem && !Mdl->contiguous)
+        {
+            /* paged memory is not mapped to kernel space. */
+            return gcvSTATUS_INVALID_ADDRESS;
+        }
+        else
+        {
+            *Physical = gcmPTR2INT(virt_to_phys(base)) + offset;
+        }
+
+        return gcvSTATUS_OK;
+    }
+
+    /* Walk user maps. */
+    for (userMap = Os->userMap; userMap != gcvNULL; userMap = userMap->next)
+    {
+        if (((gctINT8_PTR) Logical >= userMap->start)
+        &&  ((gctINT8_PTR) Logical <  userMap->end)
+        )
+        {
+            *Physical = userMap->physical
+                      + (gctUINT32) ((gctINT8_PTR) Logical - userMap->start);
+
+            return gcvSTATUS_OK;
+        }
+    }
+
+    if (ProcessID != Os->kernelProcessID)
+    {
+        map   = FindMdlMap(Mdl, (gctINT) ProcessID);
+        vBase = (map == gcvNULL) ? gcvNULL : (gctINT8_PTR) map->vmaAddr;
+
+        /* Is the given address within that range. */
+        if ((vBase != gcvNULL)
+        &&  ((gctINT8_PTR) Logical >= vBase)
+        &&  ((gctINT8_PTR) Logical <  vBase + Mdl->numPages * PAGE_SIZE)
+        )
+        {
+            offset = (gctINT8_PTR) Logical - vBase;
+
+            if (Mdl->dmaHandle != 0)
+            {
+                /* The memory was from coherent area. */
+                *Physical = (gctUINT32) Mdl->dmaHandle + offset;
+            }
+            else if (Mdl->pagedMem && !Mdl->contiguous)
+            {
+                *Physical = _NonContiguousToPhys(Mdl->u.nonContiguousPages, offset/PAGE_SIZE);
+            }
+            else
+            {
+                *Physical = page_to_phys(Mdl->u.contiguousPages) + offset;
+            }
+
+            return gcvSTATUS_OK;
+        }
+    }
+
+    /* Address not yet found. */
+    return gcvSTATUS_INVALID_ADDRESS;
+}
+
+/*******************************************************************************
+**
+**  gckOS_GetPhysicalAddressProcess
+**
+**  Get the physical system address of a corresponding virtual address for a
+**  given process.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to gckOS object.
+**
+**      gctPOINTER Logical
+**          Logical address.
+**
+**      gctUINT32 ProcessID
+**          Process ID.
+**
+**  OUTPUT:
+**
+**      gctUINT32 * Address
+**          Poinetr to a variable that receives the 32-bit physical adress.
+*/
+gceSTATUS
+gckOS_GetPhysicalAddressProcess(
+    IN gckOS Os,
+    IN gctPOINTER Logical,
+    IN gctUINT32 ProcessID,
+    OUT gctUINT32 * Address
+    )
+{
+    PLINUX_MDL mdl;
+    gctINT8_PTR base;
+    gceSTATUS status = gcvSTATUS_INVALID_ADDRESS;
+
+    gcmkHEADER_ARG("Os=0x%X Logical=0x%X ProcessID=%d", Os, Logical, ProcessID);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Address != gcvNULL);
+
+    MEMORY_LOCK(Os);
+
+    /* First try the contiguous memory pool. */
+    if (Os->device->contiguousMapped)
+    {
+        base = (gctINT8_PTR) Os->device->contiguousBase;
+
+        if (((gctINT8_PTR) Logical >= base)
+        &&  ((gctINT8_PTR) Logical <  base + Os->device->contiguousSize)
+        )
+        {
+            /* Convert logical address into physical. */
+            *Address = Os->device->contiguousVidMem->baseAddress
+                     + (gctINT8_PTR) Logical - base;
+            status   = gcvSTATUS_OK;
+        }
+    }
+    else
+    {
+        /* Try the contiguous memory pool. */
+        mdl = (PLINUX_MDL) Os->device->contiguousPhysical;
+        status = _ConvertLogical2Physical(Os,
+                                          Logical,
+                                          ProcessID,
+                                          mdl,
+                                          Address);
+    }
+
+    if (gcmIS_ERROR(status))
+    {
+        /* Walk all MDLs. */
+        for (mdl = Os->mdlHead; mdl != gcvNULL; mdl = mdl->next)
+        {
+            /* Try this MDL. */
+            status = _ConvertLogical2Physical(Os,
+                                              Logical,
+                                              ProcessID,
+                                              mdl,
+                                              Address);
+            if (gcmIS_SUCCESS(status))
+            {
+                break;
+            }
+        }
+    }
+
+    MEMORY_UNLOCK(Os);
+
+    gcmkONERROR(status);
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Address=0x%08x", *Address);
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckOS_MapPhysical
+**
+**  Map a physical address into kernel space.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      gctUINT32 Physical
+**          Physical address of the memory to map.
+**
+**      gctSIZE_T Bytes
+**          Number of bytes to map.
+**
+**  OUTPUT:
+**
+**      gctPOINTER * Logical
+**          Pointer to a variable that receives the base address of the mapped
+**          memory.
+*/
+gceSTATUS
+gckOS_MapPhysical(
+    IN gckOS Os,
+    IN gctUINT32 Physical,
+    IN gctSIZE_T Bytes,
+    OUT gctPOINTER * Logical
+    )
+{
+    gctPOINTER logical;
+    PLINUX_MDL mdl;
+    gctUINT32 physical = Physical;
+
+    gcmkHEADER_ARG("Os=0x%X Physical=0x%X Bytes=%lu", Os, Physical, Bytes);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Bytes > 0);
+    gcmkVERIFY_ARGUMENT(Logical != gcvNULL);
+
+    MEMORY_LOCK(Os);
+
+    /* Go through our mapping to see if we know this physical address already. */
+    mdl = Os->mdlHead;
+
+    while (mdl != gcvNULL)
+    {
+        if (mdl->dmaHandle != 0)
+        {
+            if ((physical >= mdl->dmaHandle)
+            &&  (physical < mdl->dmaHandle + mdl->numPages * PAGE_SIZE)
+            )
+            {
+                *Logical = mdl->addr + (physical - mdl->dmaHandle);
+                break;
+            }
+        }
+
+        mdl = mdl->next;
+    }
+
+    if (mdl == gcvNULL)
+    {
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)
+       struct contiguous_mem_pool *pool = Os->device->pool;
+
+       if (Physical >= pool->phys && Physical < pool->phys + pool->size)
+               logical = (gctPOINTER)(Physical - pool->phys + pool->virt);
+       else
+               logical = gcvNULL;
+#else
+        /* Map memory as cached memory. */
+        request_mem_region(physical, Bytes, "MapRegion");
+        logical = (gctPOINTER) ioremap_nocache(physical, Bytes);
+#endif
+
+        if (logical == gcvNULL)
+        {
+            gcmkTRACE_ZONE(
+                gcvLEVEL_INFO, gcvZONE_OS,
+                "%s(%d): Failed to map physical address 0x%08x",
+                __FUNCTION__, __LINE__, Physical
+                );
+
+            MEMORY_UNLOCK(Os);
+
+            /* Out of resources. */
+            gcmkFOOTER_ARG("status=%d", gcvSTATUS_OUT_OF_RESOURCES);
+            return gcvSTATUS_OUT_OF_RESOURCES;
+        }
+
+        /* Return pointer to mapped memory. */
+        *Logical = logical;
+    }
+
+    MEMORY_UNLOCK(Os);
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Logical=0x%X", *Logical);
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckOS_UnmapPhysical
+**
+**  Unmap a previously mapped memory region from kernel memory.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      gctPOINTER Logical
+**          Pointer to the base address of the memory to unmap.
+**
+**      gctSIZE_T Bytes
+**          Number of bytes to unmap.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_UnmapPhysical(
+    IN gckOS Os,
+    IN gctPOINTER Logical,
+    IN gctSIZE_T Bytes
+    )
+{
+    PLINUX_MDL  mdl;
+
+    gcmkHEADER_ARG("Os=0x%X Logical=0x%X Bytes=%lu", Os, Logical, Bytes);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Logical != gcvNULL);
+    gcmkVERIFY_ARGUMENT(Bytes > 0);
+
+    MEMORY_LOCK(Os);
+
+    mdl = Os->mdlHead;
+
+    while (mdl != gcvNULL)
+    {
+        if (mdl->addr != gcvNULL)
+        {
+            if (Logical >= (gctPOINTER)mdl->addr
+                    && Logical < (gctPOINTER)((gctSTRING)mdl->addr + mdl->numPages * PAGE_SIZE))
+            {
+                break;
+            }
+        }
+
+        mdl = mdl->next;
+    }
+
+    if (mdl == gcvNULL)
+    {
+        /* Unmap the memory. */
+        iounmap(Logical);
+    }
+
+    MEMORY_UNLOCK(Os);
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckOS_CreateMutex
+**
+**  Create a new mutex.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**  OUTPUT:
+**
+**      gctPOINTER * Mutex
+**          Pointer to a variable that will hold a pointer to the mutex.
+*/
+gceSTATUS
+gckOS_CreateMutex(
+    IN gckOS Os,
+    OUT gctPOINTER * Mutex
+    )
+{
+    gceSTATUS status;
+
+    gcmkHEADER_ARG("Os=0x%X", Os);
+
+    /* Validate the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Mutex != gcvNULL);
+
+    /* Allocate the mutex structure. */
+    gcmkONERROR(gckOS_Allocate(Os, gcmSIZEOF(struct mutex), Mutex));
+
+    /* Initialize the mutex. */
+    mutex_init(*Mutex);
+
+    /* Return status. */
+    gcmkFOOTER_ARG("*Mutex=0x%X", *Mutex);
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckOS_DeleteMutex
+**
+**  Delete a mutex.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      gctPOINTER Mutex
+**          Pointer to the mute to be deleted.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_DeleteMutex(
+    IN gckOS Os,
+    IN gctPOINTER Mutex
+    )
+{
+    gceSTATUS status;
+
+    gcmkHEADER_ARG("Os=0x%X Mutex=0x%X", Os, Mutex);
+
+    /* Validate the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Mutex != gcvNULL);
+
+    /* Destroy the mutex. */
+    mutex_destroy(Mutex);
+
+    /* Free the mutex structure. */
+    gcmkONERROR(gckOS_Free(Os, Mutex));
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckOS_AcquireMutex
+**
+**  Acquire a mutex.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      gctPOINTER Mutex
+**          Pointer to the mutex to be acquired.
+**
+**      gctUINT32 Timeout
+**          Timeout value specified in milliseconds.
+**          Specify the value of gcvINFINITE to keep the thread suspended
+**          until the mutex has been acquired.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_AcquireMutex(
+    IN gckOS Os,
+    IN gctPOINTER Mutex,
+    IN gctUINT32 Timeout
+    )
+{
+#if gcdDETECT_TIMEOUT
+    gctUINT32 timeout;
+#endif
+
+    gcmkHEADER_ARG("Os=0x%X Mutex=0x%0x Timeout=%u", Os, Mutex, Timeout);
+
+    /* Validate the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Mutex != gcvNULL);
+
+#if gcdDETECT_TIMEOUT
+    timeout = 0;
+
+    for (;;)
+    {
+        /* Try to acquire the mutex. */
+        if (mutex_trylock(Mutex))
+        {
+            /* Success. */
+            gcmkFOOTER_NO();
+            return gcvSTATUS_OK;
+        }
+
+        /* Advance the timeout. */
+        timeout += 1;
+
+        if (Timeout == gcvINFINITE)
+        {
+            if (timeout == gcdINFINITE_TIMEOUT)
+            {
+                gctUINT32 dmaAddress1, dmaAddress2;
+                gctUINT32 dmaState1, dmaState2;
+
+                dmaState1   = dmaState2   =
+                dmaAddress1 = dmaAddress2 = 0;
+
+                /* Verify whether DMA is running. */
+                gcmkVERIFY_OK(_VerifyDMA(
+                    Os, &dmaAddress1, &dmaAddress2, &dmaState1, &dmaState2
+                    ));
+
+#if gcdDETECT_DMA_ADDRESS
+                /* Dump only if DMA appears stuck. */
+                if (
+                    (dmaAddress1 == dmaAddress2)
+#if gcdDETECT_DMA_STATE
+                 && (dmaState1   == dmaState2)
+#      endif
+                )
+#   endif
+                {
+                    gcmkVERIFY_OK(_DumpGPUState(Os, gcvCORE_MAJOR));
+
+                    gcmkPRINT(
+                        "%s(%d): mutex 0x%X; forced message flush.",
+                        __FUNCTION__, __LINE__, Mutex
+                        );
+
+                    /* Flush the debug cache. */
+                    gcmkDEBUGFLUSH(dmaAddress2);
+                }
+
+                timeout = 0;
+            }
+        }
+        else
+        {
+            /* Timedout? */
+            if (timeout >= Timeout)
+            {
+                break;
+            }
+        }
+
+        /* Wait for 1 millisecond. */
+        gcmkVERIFY_OK(gckOS_Delay(Os, 1));
+    }
+#else
+    if (Timeout == gcvINFINITE)
+    {
+        /* Lock the mutex. */
+        mutex_lock(Mutex);
+
+        /* Success. */
+        gcmkFOOTER_NO();
+        return gcvSTATUS_OK;
+    }
+
+    for (;;)
+    {
+        /* Try to acquire the mutex. */
+        if (mutex_trylock(Mutex))
+        {
+            /* Success. */
+            gcmkFOOTER_NO();
+            return gcvSTATUS_OK;
+        }
+
+        if (Timeout-- == 0)
+        {
+            break;
+        }
+
+        /* Wait for 1 millisecond. */
+        gcmkVERIFY_OK(gckOS_Delay(Os, 1));
+    }
+#endif
+
+    /* Timeout. */
+    gcmkFOOTER_ARG("status=%d", gcvSTATUS_TIMEOUT);
+    return gcvSTATUS_TIMEOUT;
+}
+
+/*******************************************************************************
+**
+**  gckOS_ReleaseMutex
+**
+**  Release an acquired mutex.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      gctPOINTER Mutex
+**          Pointer to the mutex to be released.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_ReleaseMutex(
+    IN gckOS Os,
+    IN gctPOINTER Mutex
+    )
+{
+    gcmkHEADER_ARG("Os=0x%X Mutex=0x%0x", Os, Mutex);
+
+    /* Validate the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Mutex != gcvNULL);
+
+    /* Release the mutex. */
+    mutex_unlock(Mutex);
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckOS_AtomicExchange
+**
+**  Atomically exchange a pair of 32-bit values.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      IN OUT gctINT32_PTR Target
+**          Pointer to the 32-bit value to exchange.
+**
+**      IN gctINT32 NewValue
+**          Specifies a new value for the 32-bit value pointed to by Target.
+**
+**      OUT gctINT32_PTR OldValue
+**          The old value of the 32-bit value pointed to by Target.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_AtomicExchange(
+    IN gckOS Os,
+    IN OUT gctUINT32_PTR Target,
+    IN gctUINT32 NewValue,
+    OUT gctUINT32_PTR OldValue
+    )
+{
+    gcmkHEADER_ARG("Os=0x%X Target=0x%X NewValue=%u", Os, Target, NewValue);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+
+    /* Exchange the pair of 32-bit values. */
+    *OldValue = (gctUINT32) atomic_xchg((atomic_t *) Target, (int) NewValue);
+
+    /* Success. */
+    gcmkFOOTER_ARG("*OldValue=%u", *OldValue);
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckOS_AtomicExchangePtr
+**
+**  Atomically exchange a pair of pointers.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      IN OUT gctPOINTER * Target
+**          Pointer to the 32-bit value to exchange.
+**
+**      IN gctPOINTER NewValue
+**          Specifies a new value for the pointer pointed to by Target.
+**
+**      OUT gctPOINTER * OldValue
+**          The old value of the pointer pointed to by Target.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_AtomicExchangePtr(
+    IN gckOS Os,
+    IN OUT gctPOINTER * Target,
+    IN gctPOINTER NewValue,
+    OUT gctPOINTER * OldValue
+    )
+{
+    gcmkHEADER_ARG("Os=0x%X Target=0x%X NewValue=0x%X", Os, Target, NewValue);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+
+    /* Exchange the pair of pointers. */
+    *OldValue = (gctPOINTER)(gctUINTPTR_T) atomic_xchg((atomic_t *) Target, (int)(gctUINTPTR_T) NewValue);
+
+    /* Success. */
+    gcmkFOOTER_ARG("*OldValue=0x%X", *OldValue);
+    return gcvSTATUS_OK;
+}
+
+#if gcdSMP
+/*******************************************************************************
+**
+**  gckOS_AtomicSetMask
+**
+**  Atomically set mask to Atom
+**
+**  INPUT:
+**      IN OUT gctPOINTER Atom
+**          Pointer to the atom to set.
+**
+**      IN gctUINT32 Mask
+**          Mask to set.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_AtomSetMask(
+    IN gctPOINTER Atom,
+    IN gctUINT32 Mask
+    )
+{
+    gctUINT32 oval, nval;
+
+    gcmkHEADER_ARG("Atom=0x%0x", Atom);
+    gcmkVERIFY_ARGUMENT(Atom != gcvNULL);
+
+    do
+    {
+        oval = atomic_read((atomic_t *) Atom);
+        nval = oval | Mask;
+    } while (atomic_cmpxchg((atomic_t *) Atom, oval, nval) != oval);
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckOS_AtomClearMask
+**
+**  Atomically clear mask from Atom
+**
+**  INPUT:
+**      IN OUT gctPOINTER Atom
+**          Pointer to the atom to clear.
+**
+**      IN gctUINT32 Mask
+**          Mask to clear.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_AtomClearMask(
+    IN gctPOINTER Atom,
+    IN gctUINT32 Mask
+    )
+{
+    gctUINT32 oval, nval;
+
+    gcmkHEADER_ARG("Atom=0x%0x", Atom);
+    gcmkVERIFY_ARGUMENT(Atom != gcvNULL);
+
+    do
+    {
+        oval = atomic_read((atomic_t *) Atom);
+        nval = oval & ~Mask;
+    } while (atomic_cmpxchg((atomic_t *) Atom, oval, nval) != oval);
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+#endif
+
+/*******************************************************************************
+**
+**  gckOS_AtomConstruct
+**
+**  Create an atom.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to a gckOS object.
+**
+**  OUTPUT:
+**
+**      gctPOINTER * Atom
+**          Pointer to a variable receiving the constructed atom.
+*/
+gceSTATUS
+gckOS_AtomConstruct(
+    IN gckOS Os,
+    OUT gctPOINTER * Atom
+    )
+{
+    gceSTATUS status;
+
+    gcmkHEADER_ARG("Os=0x%X", Os);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Atom != gcvNULL);
+
+    /* Allocate the atom. */
+    gcmkONERROR(gckOS_Allocate(Os, gcmSIZEOF(atomic_t), Atom));
+
+    /* Initialize the atom. */
+    atomic_set((atomic_t *) *Atom, 0);
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Atom=0x%X", *Atom);
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckOS_AtomDestroy
+**
+**  Destroy an atom.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to a gckOS object.
+**
+**      gctPOINTER Atom
+**          Pointer to the atom to destroy.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_AtomDestroy(
+    IN gckOS Os,
+    OUT gctPOINTER Atom
+    )
+{
+    gceSTATUS status;
+
+    gcmkHEADER_ARG("Os=0x%X Atom=0x%0x", Os, Atom);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Atom != gcvNULL);
+
+    /* Free the atom. */
+    gcmkONERROR(gcmkOS_SAFE_FREE(Os, Atom));
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckOS_AtomGet
+**
+**  Get the 32-bit value protected by an atom.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to a gckOS object.
+**
+**      gctPOINTER Atom
+**          Pointer to the atom.
+**
+**  OUTPUT:
+**
+**      gctINT32_PTR Value
+**          Pointer to a variable the receives the value of the atom.
+*/
+gceSTATUS
+gckOS_AtomGet(
+    IN gckOS Os,
+    IN gctPOINTER Atom,
+    OUT gctINT32_PTR Value
+    )
+{
+    gcmkHEADER_ARG("Os=0x%X Atom=0x%0x", Os, Atom);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Atom != gcvNULL);
+
+    /* Return the current value of atom. */
+    *Value = atomic_read((atomic_t *) Atom);
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Value=%d", *Value);
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckOS_AtomSet
+**
+**  Set the 32-bit value protected by an atom.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to a gckOS object.
+**
+**      gctPOINTER Atom
+**          Pointer to the atom.
+**
+**      gctINT32 Value
+**          The value of the atom.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_AtomSet(
+    IN gckOS Os,
+    IN gctPOINTER Atom,
+    IN gctINT32 Value
+    )
+{
+    gcmkHEADER_ARG("Os=0x%X Atom=0x%0x Value=%d", Os, Atom);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Atom != gcvNULL);
+
+    /* Set the current value of atom. */
+    atomic_set((atomic_t *) Atom, Value);
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckOS_AtomIncrement
+**
+**  Atomically increment the 32-bit integer value inside an atom.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to a gckOS object.
+**
+**      gctPOINTER Atom
+**          Pointer to the atom.
+**
+**  OUTPUT:
+**
+**      gctINT32_PTR Value
+**          Pointer to a variable that receives the original value of the atom.
+*/
+gceSTATUS
+gckOS_AtomIncrement(
+    IN gckOS Os,
+    IN gctPOINTER Atom,
+    OUT gctINT32_PTR Value
+    )
+{
+    gcmkHEADER_ARG("Os=0x%X Atom=0x%0x", Os, Atom);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Atom != gcvNULL);
+
+    /* Increment the atom. */
+    *Value = atomic_inc_return((atomic_t *) Atom) - 1;
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Value=%d", *Value);
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckOS_AtomDecrement
+**
+**  Atomically decrement the 32-bit integer value inside an atom.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to a gckOS object.
+**
+**      gctPOINTER Atom
+**          Pointer to the atom.
+**
+**  OUTPUT:
+**
+**      gctINT32_PTR Value
+**          Pointer to a variable that receives the original value of the atom.
+*/
+gceSTATUS
+gckOS_AtomDecrement(
+    IN gckOS Os,
+    IN gctPOINTER Atom,
+    OUT gctINT32_PTR Value
+    )
+{
+    gcmkHEADER_ARG("Os=0x%X Atom=0x%0x", Os, Atom);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Atom != gcvNULL);
+
+    /* Decrement the atom. */
+    *Value = atomic_dec_return((atomic_t *) Atom) + 1;
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Value=%d", *Value);
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckOS_Delay
+**
+**  Delay execution of the current thread for a number of milliseconds.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      gctUINT32 Delay
+**          Delay to sleep, specified in milliseconds.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_Delay(
+    IN gckOS Os,
+    IN gctUINT32 Delay
+    )
+{
+    gcmkHEADER_ARG("Os=0x%X Delay=%u", Os, Delay);
+
+    if (Delay > 0)
+    {
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 28)
+        ktime_t delay = ktime_set(Delay/1000, (Delay%1000) * NSEC_PER_MSEC);
+        __set_current_state(TASK_UNINTERRUPTIBLE);
+        schedule_hrtimeout(&delay, HRTIMER_MODE_REL);
+#else
+        msleep(Delay);
+#endif
+
+    }
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckOS_GetTicks
+**
+**  Get the number of milliseconds since the system started.
+**
+**  INPUT:
+**
+**  OUTPUT:
+**
+**      gctUINT32_PTR Time
+**          Pointer to a variable to get time.
+**
+*/
+gceSTATUS
+gckOS_GetTicks(
+    OUT gctUINT32_PTR Time
+    )
+{
+     gcmkHEADER();
+
+    *Time = jiffies_to_msecs(jiffies);
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckOS_TicksAfter
+**
+**  Compare time values got from gckOS_GetTicks.
+**
+**  INPUT:
+**      gctUINT32 Time1
+**          First time value to be compared.
+**
+**      gctUINT32 Time2
+**          Second time value to be compared.
+**
+**  OUTPUT:
+**
+**      gctBOOL_PTR IsAfter
+**          Pointer to a variable to result.
+**
+*/
+gceSTATUS
+gckOS_TicksAfter(
+    IN gctUINT32 Time1,
+    IN gctUINT32 Time2,
+    OUT gctBOOL_PTR IsAfter
+    )
+{
+    gcmkHEADER();
+
+    *IsAfter = time_after((unsigned long)Time1, (unsigned long)Time2);
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckOS_GetTime
+**
+**  Get the number of microseconds since the system started.
+**
+**  INPUT:
+**
+**  OUTPUT:
+**
+**      gctUINT64_PTR Time
+**          Pointer to a variable to get time.
+**
+*/
+gceSTATUS
+gckOS_GetTime(
+    OUT gctUINT64_PTR Time
+    )
+{
+    gcmkHEADER();
+
+    *Time = 0;
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckOS_MemoryBarrier
+**
+**  Make sure the CPU has executed everything up to this point and the data got
+**  written to the specified pointer.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      gctPOINTER Address
+**          Address of memory that needs to be barriered.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_MemoryBarrier(
+    IN gckOS Os,
+    IN gctPOINTER Address
+    )
+{
+    gcmkHEADER_ARG("Os=0x%X Address=0x%X", Os, Address);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+
+#if gcdNONPAGED_MEMORY_BUFFERABLE \
+    && defined (CONFIG_ARM) \
+    && (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,34))
+    /* drain write buffer */
+    dsb();
+
+    /* drain outer cache's write buffer? */
+#else
+    mb();
+#endif
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckOS_AllocatePagedMemory
+**
+**  Allocate memory from the paged pool.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      gctSIZE_T Bytes
+**          Number of bytes to allocate.
+**
+**  OUTPUT:
+**
+**      gctPHYS_ADDR * Physical
+**          Pointer to a variable that receives the physical address of the
+**          memory allocation.
+*/
+gceSTATUS
+gckOS_AllocatePagedMemory(
+    IN gckOS Os,
+    IN gctSIZE_T Bytes,
+    OUT gctPHYS_ADDR * Physical
+    )
+{
+    gceSTATUS status;
+
+    gcmkHEADER_ARG("Os=0x%X Bytes=%lu", Os, Bytes);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Bytes > 0);
+    gcmkVERIFY_ARGUMENT(Physical != gcvNULL);
+
+    /* Allocate the memory. */
+    gcmkONERROR(gckOS_AllocatePagedMemoryEx(Os, gcvFALSE, Bytes, Physical));
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Physical=0x%X", *Physical);
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckOS_AllocatePagedMemoryEx
+**
+**  Allocate memory from the paged pool.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      gctBOOL Contiguous
+**          Need contiguous memory or not.
+**
+**      gctSIZE_T Bytes
+**          Number of bytes to allocate.
+**
+**  OUTPUT:
+**
+**      gctPHYS_ADDR * Physical
+**          Pointer to a variable that receives the physical address of the
+**          memory allocation.
+*/
+gceSTATUS
+gckOS_AllocatePagedMemoryEx(
+    IN gckOS Os,
+    IN gctBOOL Contiguous,
+    IN gctSIZE_T Bytes,
+    OUT gctPHYS_ADDR * Physical
+    )
+{
+    gctINT numPages;
+    gctINT i;
+    PLINUX_MDL mdl = gcvNULL;
+    gctSIZE_T bytes;
+    gctBOOL locked = gcvFALSE;
+    gceSTATUS status;
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
+    gctPOINTER addr = gcvNULL;
+#endif
+
+    gcmkHEADER_ARG("Os=0x%X Contiguous=%d Bytes=%lu", Os, Contiguous, Bytes);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Bytes > 0);
+    gcmkVERIFY_ARGUMENT(Physical != gcvNULL);
+
+    bytes = gcmALIGN(Bytes, PAGE_SIZE);
+
+    numPages = GetPageCount(bytes, 0);
+
+    MEMORY_LOCK(Os);
+    locked = gcvTRUE;
+
+    mdl = _CreateMdl(_GetProcessID());
+    if (mdl == gcvNULL)
+    {
+        gcmkONERROR(gcvSTATUS_OUT_OF_MEMORY);
+    }
+
+    if (Contiguous)
+    {
+        gctUINT32 order = get_order(bytes);
+
+        if (order >= MAX_ORDER)
+        {
+            gcmkONERROR(gcvSTATUS_OUT_OF_MEMORY);
+        }
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
+        addr =
+            alloc_pages_exact(numPages * PAGE_SIZE, GFP_KERNEL | gcdNOWARN | __GFP_NORETRY);
+
+        mdl->u.contiguousPages = addr
+                               ? virt_to_page(addr)
+                               : gcvNULL;
+
+        mdl->exact = gcvTRUE;
+#else
+        mdl->u.contiguousPages =
+            alloc_pages(GFP_KERNEL | gcdNOWARN | __GFP_NORETRY, order);
+#endif
+        if (mdl->u.contiguousPages == gcvNULL)
+        {
+            mdl->u.contiguousPages =
+                alloc_pages(GFP_KERNEL | __GFP_HIGHMEM | gcdNOWARN, order);
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
+            mdl->exact = gcvFALSE;
+#endif
+        }
+    }
+    else
+    {
+        mdl->u.nonContiguousPages = _NonContiguousAlloc(numPages);
+    }
+
+    if (mdl->u.contiguousPages == gcvNULL && mdl->u.nonContiguousPages == gcvNULL)
+    {
+        gcmkONERROR(gcvSTATUS_OUT_OF_MEMORY);
+    }
+
+    mdl->dmaHandle  = 0;
+    mdl->addr       = 0;
+    mdl->numPages   = numPages;
+    mdl->pagedMem   = 1;
+    mdl->contiguous = Contiguous;
+
+    for (i = 0; i < mdl->numPages; i++)
+    {
+        struct page *page;
+
+        if (mdl->contiguous)
+        {
+            page = nth_page(mdl->u.contiguousPages, i);
+        }
+        else
+        {
+            page = _NonContiguousToPage(mdl->u.nonContiguousPages, i);
+        }
+
+        SetPageReserved(page);
+
+        if (!PageHighMem(page) && page_to_phys(page))
+        {
+            gcmkVERIFY_OK(
+                gckOS_CacheFlush(Os, _GetProcessID(), gcvNULL,
+                                 (gctPOINTER)(gctUINTPTR_T)page_to_phys(page),
+                                 page_address(page),
+                                 PAGE_SIZE));
+        }
+    }
+
+    /* Return physical address. */
+    *Physical = (gctPHYS_ADDR) mdl;
+
+    /*
+     * Add this to a global list.
+     * Will be used by get physical address
+     * and mapuser pointer functions.
+     */
+    if (!Os->mdlHead)
+    {
+        /* Initialize the queue. */
+        Os->mdlHead = Os->mdlTail = mdl;
+    }
+    else
+    {
+        /* Add to tail. */
+        mdl->prev           = Os->mdlTail;
+        Os->mdlTail->next   = mdl;
+        Os->mdlTail         = mdl;
+    }
+
+    MEMORY_UNLOCK(Os);
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Physical=0x%X", *Physical);
+    return gcvSTATUS_OK;
+
+OnError:
+    if (mdl != gcvNULL)
+    {
+        /* Free the memory. */
+        _DestroyMdl(mdl);
+    }
+
+    if (locked)
+    {
+        /* Unlock the memory. */
+        MEMORY_UNLOCK(Os);
+    }
+
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckOS_FreePagedMemory
+**
+**  Free memory allocated from the paged pool.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      gctPHYS_ADDR Physical
+**          Physical address of the allocation.
+**
+**      gctSIZE_T Bytes
+**          Number of bytes of the allocation.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_FreePagedMemory(
+    IN gckOS Os,
+    IN gctPHYS_ADDR Physical,
+    IN gctSIZE_T Bytes
+    )
+{
+    PLINUX_MDL mdl = (PLINUX_MDL) Physical;
+    gctINT i;
+
+    gcmkHEADER_ARG("Os=0x%X Physical=0x%X Bytes=%lu", Os, Physical, Bytes);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Physical != gcvNULL);
+    gcmkVERIFY_ARGUMENT(Bytes > 0);
+
+    /*addr = mdl->addr;*/
+
+    MEMORY_LOCK(Os);
+
+    for (i = 0; i < mdl->numPages; i++)
+    {
+        if (mdl->contiguous)
+        {
+            ClearPageReserved(nth_page(mdl->u.contiguousPages, i));
+        }
+        else
+        {
+            ClearPageReserved(_NonContiguousToPage(mdl->u.nonContiguousPages, i));
+        }
+    }
+
+    if (mdl->contiguous)
+    {
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
+        if (mdl->exact == gcvTRUE)
+        {
+            free_pages_exact(page_address(mdl->u.contiguousPages), mdl->numPages * PAGE_SIZE);
+        }
+        else
+#endif
+        {
+            __free_pages(mdl->u.contiguousPages, GetOrder(mdl->numPages));
+        }
+    }
+    else
+    {
+        _NonContiguousFree(mdl->u.nonContiguousPages, mdl->numPages);
+    }
+
+    /* Remove the node from global list. */
+    if (mdl == Os->mdlHead)
+    {
+        if ((Os->mdlHead = mdl->next) == gcvNULL)
+        {
+            Os->mdlTail = gcvNULL;
+        }
+    }
+    else
+    {
+        mdl->prev->next = mdl->next;
+
+        if (mdl == Os->mdlTail)
+        {
+            Os->mdlTail = mdl->prev;
+        }
+        else
+        {
+            mdl->next->prev = mdl->prev;
+        }
+    }
+
+    MEMORY_UNLOCK(Os);
+
+    /* Free the structure... */
+    gcmkVERIFY_OK(_DestroyMdl(mdl));
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckOS_LockPages
+**
+**  Lock memory allocated from the paged pool.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      gctPHYS_ADDR Physical
+**          Physical address of the allocation.
+**
+**      gctSIZE_T Bytes
+**          Number of bytes of the allocation.
+**
+**      gctBOOL Cacheable
+**          Cache mode of mapping.
+**
+**  OUTPUT:
+**
+**      gctPOINTER * Logical
+**          Pointer to a variable that receives the address of the mapped
+**          memory.
+**
+**      gctSIZE_T * PageCount
+**          Pointer to a variable that receives the number of pages required for
+**          the page table according to the GPU page size.
+*/
+gceSTATUS
+gckOS_LockPages(
+    IN gckOS Os,
+    IN gctPHYS_ADDR Physical,
+    IN gctSIZE_T Bytes,
+    IN gctBOOL Cacheable,
+    OUT gctPOINTER * Logical,
+    OUT gctSIZE_T * PageCount
+    )
+{
+    PLINUX_MDL      mdl;
+    PLINUX_MDL_MAP  mdlMap;
+    gctSTRING       addr;
+    unsigned long   start;
+    unsigned long   pfn;
+    gctINT          i;
+
+    gcmkHEADER_ARG("Os=0x%X Physical=0x%X Bytes=%lu", Os, Physical, Logical);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Physical != gcvNULL);
+    gcmkVERIFY_ARGUMENT(Logical != gcvNULL);
+    gcmkVERIFY_ARGUMENT(PageCount != gcvNULL);
+
+    mdl = (PLINUX_MDL) Physical;
+
+    MEMORY_LOCK(Os);
+
+    mdlMap = FindMdlMap(mdl, _GetProcessID());
+
+    if (mdlMap == gcvNULL)
+    {
+        mdlMap = _CreateMdlMap(mdl, _GetProcessID());
+
+        if (mdlMap == gcvNULL)
+        {
+            MEMORY_UNLOCK(Os);
+
+            gcmkFOOTER_ARG("*status=%d", gcvSTATUS_OUT_OF_MEMORY);
+            return gcvSTATUS_OUT_OF_MEMORY;
+        }
+    }
+
+    if (mdlMap->vmaAddr == gcvNULL)
+    {
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 4, 0)
+        mdlMap->vmaAddr = (gctSTRING)vm_mmap(gcvNULL,
+                        0L,
+                        mdl->numPages * PAGE_SIZE,
+                        PROT_READ | PROT_WRITE,
+                        MAP_SHARED,
+                        0);
+#else
+        down_write(&current->mm->mmap_sem);
+
+        mdlMap->vmaAddr = (gctSTRING)do_mmap_pgoff(gcvNULL,
+                        0L,
+                        mdl->numPages * PAGE_SIZE,
+                        PROT_READ | PROT_WRITE,
+                        MAP_SHARED,
+                        0);
+
+        up_write(&current->mm->mmap_sem);
+#endif
+
+        gcmkTRACE_ZONE(
+            gcvLEVEL_INFO, gcvZONE_OS,
+            "%s(%d): vmaAddr->0x%X for phys_addr->0x%X",
+            __FUNCTION__, __LINE__,
+            (gctUINT32)(gctUINTPTR_T)mdlMap->vmaAddr,
+            (gctUINT32)(gctUINTPTR_T)mdl
+            );
+
+        if (IS_ERR(mdlMap->vmaAddr))
+        {
+            gcmkTRACE_ZONE(
+                gcvLEVEL_INFO, gcvZONE_OS,
+                "%s(%d): do_mmap_pgoff error",
+                __FUNCTION__, __LINE__
+                );
+
+            mdlMap->vmaAddr = gcvNULL;
+
+            MEMORY_UNLOCK(Os);
+
+            gcmkFOOTER_ARG("*status=%d", gcvSTATUS_OUT_OF_MEMORY);
+            return gcvSTATUS_OUT_OF_MEMORY;
+        }
+
+        down_write(&current->mm->mmap_sem);
+
+        mdlMap->vma = find_vma(current->mm, (unsigned long)mdlMap->vmaAddr);
+
+        if (mdlMap->vma == gcvNULL)
+        {
+            up_write(&current->mm->mmap_sem);
+
+            gcmkTRACE_ZONE(
+                gcvLEVEL_INFO, gcvZONE_OS,
+                "%s(%d): find_vma error",
+                __FUNCTION__, __LINE__
+                );
+
+            mdlMap->vmaAddr = gcvNULL;
+
+            MEMORY_UNLOCK(Os);
+
+            gcmkFOOTER_ARG("*status=%d", gcvSTATUS_OUT_OF_RESOURCES);
+            return gcvSTATUS_OUT_OF_RESOURCES;
+        }
+
+        mdlMap->vma->vm_flags |= gcdVM_FLAGS;
+
+        if (Cacheable == gcvFALSE)
+        {
+            /* Make this mapping non-cached. */
+            mdlMap->vma->vm_page_prot = gcmkPAGED_MEMROY_PROT(mdlMap->vma->vm_page_prot);
+        }
+
+        addr = mdl->addr;
+
+        /* Now map all the vmalloc pages to this user address. */
+        if (mdl->contiguous)
+        {
+            /* map kernel memory to user space.. */
+            if (remap_pfn_range(mdlMap->vma,
+                                mdlMap->vma->vm_start,
+                                page_to_pfn(mdl->u.contiguousPages),
+                                mdlMap->vma->vm_end - mdlMap->vma->vm_start,
+                                mdlMap->vma->vm_page_prot) < 0)
+            {
+                up_write(&current->mm->mmap_sem);
+
+                gcmkTRACE_ZONE(
+                    gcvLEVEL_INFO, gcvZONE_OS,
+                    "%s(%d): unable to mmap ret",
+                    __FUNCTION__, __LINE__
+                    );
+
+                mdlMap->vmaAddr = gcvNULL;
+
+                MEMORY_UNLOCK(Os);
+
+                gcmkFOOTER_ARG("*status=%d", gcvSTATUS_OUT_OF_MEMORY);
+                return gcvSTATUS_OUT_OF_MEMORY;
+            }
+        }
+        else
+        {
+            start = mdlMap->vma->vm_start;
+
+            for (i = 0; i < mdl->numPages; i++)
+            {
+                pfn = _NonContiguousToPfn(mdl->u.nonContiguousPages, i);
+
+                if (remap_pfn_range(mdlMap->vma,
+                                    start,
+                                    pfn,
+                                    PAGE_SIZE,
+                                    mdlMap->vma->vm_page_prot) < 0)
+                {
+                    up_write(&current->mm->mmap_sem);
+
+                    gcmkTRACE_ZONE(
+                        gcvLEVEL_INFO, gcvZONE_OS,
+                        "%s(%d): gctPHYS_ADDR->0x%X Logical->0x%X Unable to map addr->0x%X to start->0x%X",
+                        __FUNCTION__, __LINE__,
+                        (gctUINT32)(gctUINTPTR_T)Physical,
+                        (gctUINT32)(gctUINTPTR_T)*Logical,
+                        (gctUINT32)(gctUINTPTR_T)addr,
+                        (gctUINT32)(gctUINTPTR_T)start
+                        );
+
+                    mdlMap->vmaAddr = gcvNULL;
+
+                    MEMORY_UNLOCK(Os);
+
+                    gcmkFOOTER_ARG("*status=%d", gcvSTATUS_OUT_OF_MEMORY);
+                    return gcvSTATUS_OUT_OF_MEMORY;
+                }
+
+                start += PAGE_SIZE;
+                addr += PAGE_SIZE;
+            }
+        }
+
+        up_write(&current->mm->mmap_sem);
+    }
+
+    mdlMap->count++;
+
+    /* Convert pointer to MDL. */
+    *Logical = mdlMap->vmaAddr;
+
+    /* Return the page number according to the GPU page size. */
+    gcmkASSERT((PAGE_SIZE % 4096) == 0);
+    gcmkASSERT((PAGE_SIZE / 4096) >= 1);
+
+    *PageCount = mdl->numPages * (PAGE_SIZE / 4096);
+
+    MEMORY_UNLOCK(Os);
+
+    gcmkVERIFY_OK(gckOS_CacheFlush(
+        Os,
+        _GetProcessID(),
+        Physical,
+        gcvNULL,
+        (gctPOINTER)mdlMap->vmaAddr,
+        mdl->numPages * PAGE_SIZE
+        ));
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Logical=0x%X *PageCount=%lu", *Logical, *PageCount);
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckOS_MapPages
+**
+**  Map paged memory into a page table.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      gctPHYS_ADDR Physical
+**          Physical address of the allocation.
+**
+**      gctSIZE_T PageCount
+**          Number of pages required for the physical address.
+**
+**      gctPOINTER PageTable
+**          Pointer to the page table to fill in.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_MapPages(
+    IN gckOS Os,
+    IN gctPHYS_ADDR Physical,
+    IN gctSIZE_T PageCount,
+    IN gctPOINTER PageTable
+    )
+{
+    return gckOS_MapPagesEx(Os,
+                            gcvCORE_MAJOR,
+                            Physical,
+                            PageCount,
+                            PageTable);
+}
+
+gceSTATUS
+gckOS_MapPagesEx(
+    IN gckOS Os,
+    IN gceCORE Core,
+    IN gctPHYS_ADDR Physical,
+    IN gctSIZE_T PageCount,
+    IN gctPOINTER PageTable
+    )
+{
+    gceSTATUS status = gcvSTATUS_OK;
+    PLINUX_MDL  mdl;
+    gctUINT32*  table;
+    gctUINT32   offset;
+#if gcdNONPAGED_MEMORY_CACHEABLE
+    gckMMU      mmu;
+    PLINUX_MDL  mmuMdl;
+    gctUINT32   bytes;
+    gctPHYS_ADDR pageTablePhysical;
+#endif
+
+    gcmkHEADER_ARG("Os=0x%X Core=%d Physical=0x%X PageCount=%u PageTable=0x%X",
+                   Os, Core, Physical, PageCount, PageTable);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Physical != gcvNULL);
+    gcmkVERIFY_ARGUMENT(PageCount > 0);
+    gcmkVERIFY_ARGUMENT(PageTable != gcvNULL);
+
+    /* Convert pointer to MDL. */
+    mdl = (PLINUX_MDL)Physical;
+
+    gcmkTRACE_ZONE(
+        gcvLEVEL_INFO, gcvZONE_OS,
+        "%s(%d): Physical->0x%X PageCount->0x%X PagedMemory->?%d",
+        __FUNCTION__, __LINE__,
+        (gctUINT32)(gctUINTPTR_T)Physical,
+        (gctUINT32)(gctUINTPTR_T)PageCount,
+        mdl->pagedMem
+        );
+
+    MEMORY_LOCK(Os);
+
+    table = (gctUINT32 *)PageTable;
+#if gcdNONPAGED_MEMORY_CACHEABLE
+    mmu = Os->device->kernels[Core]->mmu;
+    bytes = PageCount * sizeof(*table);
+    mmuMdl = (PLINUX_MDL)mmu->pageTablePhysical;
+#endif
+
+     /* Get all the physical addresses and store them in the page table. */
+
+    offset = 0;
+
+    if (mdl->pagedMem)
+    {
+        /* Try to get the user pages so DMA can happen. */
+        while (PageCount-- > 0)
+        {
+#if gcdENABLE_VG
+            if (Core == gcvCORE_VG)
+            {
+                if (mdl->contiguous)
+                {
+                    gcmkONERROR(
+                        gckVGMMU_SetPage(Os->device->kernels[Core]->vg->mmu,
+                             page_to_phys(nth_page(mdl->u.contiguousPages, offset)),
+                             table));
+                }
+                else
+                {
+                    gcmkONERROR(
+                        gckVGMMU_SetPage(Os->device->kernels[Core]->vg->mmu,
+                             _NonContiguousToPhys(mdl->u.nonContiguousPages, offset),
+                             table));
+                }
+            }
+            else
+#endif
+            {
+                if (mdl->contiguous)
+                {
+                    gcmkONERROR(
+                        gckMMU_SetPage(Os->device->kernels[Core]->mmu,
+                             page_to_phys(nth_page(mdl->u.contiguousPages, offset)),
+                             table));
+                }
+                else
+                {
+                    gcmkONERROR(
+                        gckMMU_SetPage(Os->device->kernels[Core]->mmu,
+                             _NonContiguousToPhys(mdl->u.nonContiguousPages, offset),
+                             table));
+                }
+            }
+
+            table++;
+            offset += 1;
+        }
+    }
+    else
+    {
+        gcmkTRACE_ZONE(
+            gcvLEVEL_INFO, gcvZONE_OS,
+            "%s(%d): we should not get this call for Non Paged Memory!",
+            __FUNCTION__, __LINE__
+            );
+
+        while (PageCount-- > 0)
+        {
+#if gcdENABLE_VG
+            if (Core == gcvCORE_VG)
+            {
+                gcmkONERROR(
+                        gckVGMMU_SetPage(Os->device->kernels[Core]->vg->mmu,
+                                         page_to_phys(nth_page(mdl->u.contiguousPages, offset)),
+                                         table));
+            }
+            else
+#endif
+            {
+                gcmkONERROR(
+                        gckMMU_SetPage(Os->device->kernels[Core]->mmu,
+                                         page_to_phys(nth_page(mdl->u.contiguousPages, offset)),
+                                         table));
+            }
+            table++;
+            offset += 1;
+        }
+    }
+
+#if gcdNONPAGED_MEMORY_CACHEABLE
+    /* Get physical address of pageTable */
+    pageTablePhysical = (gctPHYS_ADDR)(mmuMdl->dmaHandle +
+                        ((gctUINT32 *)PageTable - mmu->pageTableLogical));
+
+    /* Flush the mmu page table cache. */
+    gcmkONERROR(gckOS_CacheClean(
+        Os,
+        _GetProcessID(),
+        gcvNULL,
+        pageTablePhysical,
+        PageTable,
+        bytes
+        ));
+#endif
+
+OnError:
+
+    MEMORY_UNLOCK(Os);
+
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckOS_UnlockPages
+**
+**  Unlock memory allocated from the paged pool.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      gctPHYS_ADDR Physical
+**          Physical address of the allocation.
+**
+**      gctSIZE_T Bytes
+**          Number of bytes of the allocation.
+**
+**      gctPOINTER Logical
+**          Address of the mapped memory.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_UnlockPages(
+    IN gckOS Os,
+    IN gctPHYS_ADDR Physical,
+    IN gctSIZE_T Bytes,
+    IN gctPOINTER Logical
+    )
+{
+    PLINUX_MDL_MAP          mdlMap;
+    PLINUX_MDL              mdl = (PLINUX_MDL)Physical;
+
+    gcmkHEADER_ARG("Os=0x%X Physical=0x%X Bytes=%u Logical=0x%X",
+                   Os, Physical, Bytes, Logical);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Physical != gcvNULL);
+    gcmkVERIFY_ARGUMENT(Logical != gcvNULL);
+
+    /* Make sure there is already a mapping...*/
+    gcmkVERIFY_ARGUMENT(mdl->u.nonContiguousPages != gcvNULL
+                       || mdl->u.contiguousPages != gcvNULL);
+
+    MEMORY_LOCK(Os);
+
+    mdlMap = mdl->maps;
+
+    while (mdlMap != gcvNULL)
+    {
+        if ((mdlMap->vmaAddr != gcvNULL) && (_GetProcessID() == mdlMap->pid))
+        {
+            if (--mdlMap->count == 0)
+            {
+                _UnmapUserLogical(mdlMap->pid, mdlMap->vmaAddr, mdl->numPages * PAGE_SIZE);
+                mdlMap->vmaAddr = gcvNULL;
+            }
+        }
+
+        mdlMap = mdlMap->next;
+    }
+
+    MEMORY_UNLOCK(Os);
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+
+/*******************************************************************************
+**
+**  gckOS_AllocateContiguous
+**
+**  Allocate memory from the contiguous pool.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      gctBOOL InUserSpace
+**          gcvTRUE if the pages need to be mapped into user space.
+**
+**      gctSIZE_T * Bytes
+**          Pointer to the number of bytes to allocate.
+**
+**  OUTPUT:
+**
+**      gctSIZE_T * Bytes
+**          Pointer to a variable that receives the number of bytes allocated.
+**
+**      gctPHYS_ADDR * Physical
+**          Pointer to a variable that receives the physical address of the
+**          memory allocation.
+**
+**      gctPOINTER * Logical
+**          Pointer to a variable that receives the logical address of the
+**          memory allocation.
+*/
+gceSTATUS
+gckOS_AllocateContiguous(
+    IN gckOS Os,
+    IN gctBOOL InUserSpace,
+    IN OUT gctSIZE_T * Bytes,
+    OUT gctPHYS_ADDR * Physical,
+    OUT gctPOINTER * Logical
+    )
+{
+    gceSTATUS status;
+
+    gcmkHEADER_ARG("Os=0x%X InUserSpace=%d *Bytes=%lu",
+                   Os, InUserSpace, gcmOPT_VALUE(Bytes));
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Bytes != gcvNULL);
+    gcmkVERIFY_ARGUMENT(*Bytes > 0);
+    gcmkVERIFY_ARGUMENT(Physical != gcvNULL);
+    gcmkVERIFY_ARGUMENT(Logical != gcvNULL);
+
+    /* Same as non-paged memory for now. */
+    gcmkONERROR(gckOS_AllocateNonPagedMemory(Os,
+                                             InUserSpace,
+                                             Bytes,
+                                             Physical,
+                                             Logical));
+
+    /* Success. */
+    gcmkFOOTER_ARG("*Bytes=%lu *Physical=0x%X *Logical=0x%X",
+                   *Bytes, *Physical, *Logical);
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckOS_FreeContiguous
+**
+**  Free memory allocated from the contiguous pool.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      gctPHYS_ADDR Physical
+**          Physical address of the allocation.
+**
+**      gctPOINTER Logical
+**          Logicval address of the allocation.
+**
+**      gctSIZE_T Bytes
+**          Number of bytes of the allocation.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_FreeContiguous(
+    IN gckOS Os,
+    IN gctPHYS_ADDR Physical,
+    IN gctPOINTER Logical,
+    IN gctSIZE_T Bytes
+    )
+{
+    gceSTATUS status;
+
+    gcmkHEADER_ARG("Os=0x%X Physical=0x%X Logical=0x%X Bytes=%lu",
+                   Os, Physical, Logical, Bytes);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Physical != gcvNULL);
+    gcmkVERIFY_ARGUMENT(Logical != gcvNULL);
+    gcmkVERIFY_ARGUMENT(Bytes > 0);
+
+    /* Same of non-paged memory for now. */
+    gcmkONERROR(gckOS_FreeNonPagedMemory(Os, Bytes, Physical, Logical));
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+#if gcdENABLE_VG
+/******************************************************************************
+**
+**  gckOS_GetKernelLogical
+**
+**  Return the kernel logical pointer that corresponods to the specified
+**  hardware address.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      gctUINT32 Address
+**          Hardware physical address.
+**
+**  OUTPUT:
+**
+**      gctPOINTER * KernelPointer
+**          Pointer to a variable receiving the pointer in kernel address space.
+*/
+gceSTATUS
+gckOS_GetKernelLogical(
+    IN gckOS Os,
+    IN gctUINT32 Address,
+    OUT gctPOINTER * KernelPointer
+    )
+{
+    return gckOS_GetKernelLogicalEx(Os, gcvCORE_MAJOR, Address, KernelPointer);
+}
+
+gceSTATUS
+gckOS_GetKernelLogicalEx(
+    IN gckOS Os,
+    IN gceCORE Core,
+    IN gctUINT32 Address,
+    OUT gctPOINTER * KernelPointer
+    )
+{
+    gceSTATUS status;
+
+    gcmkHEADER_ARG("Os=0x%X Core=%d Address=0x%08x", Os, Core, Address);
+
+    do
+    {
+        gckGALDEVICE device;
+        gckKERNEL kernel;
+        gcePOOL pool;
+        gctUINT32 offset;
+        gctPOINTER logical;
+
+        /* Extract the pointer to the gckGALDEVICE class. */
+        device = (gckGALDEVICE) Os->device;
+
+        /* Kernel shortcut. */
+        kernel = device->kernels[Core];
+#if gcdENABLE_VG
+       if (Core == gcvCORE_VG)
+       {
+           gcmkERR_BREAK(gckVGHARDWARE_SplitMemory(
+                kernel->vg->hardware, Address, &pool, &offset
+                ));
+       }
+       else
+#endif
+       {
+        /* Split the memory address into a pool type and offset. */
+            gcmkERR_BREAK(gckHARDWARE_SplitMemory(
+                kernel->hardware, Address, &pool, &offset
+                ));
+       }
+
+        /* Dispatch on pool. */
+        switch (pool)
+        {
+        case gcvPOOL_LOCAL_INTERNAL:
+            /* Internal memory. */
+            logical = device->internalLogical;
+            break;
+
+        case gcvPOOL_LOCAL_EXTERNAL:
+            /* External memory. */
+            logical = device->externalLogical;
+            break;
+
+        case gcvPOOL_SYSTEM:
+            /* System memory. */
+            logical = device->contiguousBase;
+            break;
+
+        default:
+            /* Invalid memory pool. */
+            gcmkFOOTER();
+            return gcvSTATUS_INVALID_ARGUMENT;
+        }
+
+        /* Build logical address of specified address. */
+        * KernelPointer = ((gctUINT8_PTR) logical) + offset;
+
+        /* Success. */
+        gcmkFOOTER_ARG("*KernelPointer=0x%X", *KernelPointer);
+        return gcvSTATUS_OK;
+    }
+    while (gcvFALSE);
+
+    /* Return status. */
+    gcmkFOOTER();
+    return status;
+}
+#endif
+
+/*******************************************************************************
+**
+**  gckOS_MapUserPointer
+**
+**  Map a pointer from the user process into the kernel address space.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      gctPOINTER Pointer
+**          Pointer in user process space that needs to be mapped.
+**
+**      gctSIZE_T Size
+**          Number of bytes that need to be mapped.
+**
+**  OUTPUT:
+**
+**      gctPOINTER * KernelPointer
+**          Pointer to a variable receiving the mapped pointer in kernel address
+**          space.
+*/
+gceSTATUS
+gckOS_MapUserPointer(
+    IN gckOS Os,
+    IN gctPOINTER Pointer,
+    IN gctSIZE_T Size,
+    OUT gctPOINTER * KernelPointer
+    )
+{
+    gctPOINTER buf = gcvNULL;
+    gctUINT32 len;
+
+    gcmkHEADER_ARG("Os=0x%X Pointer=0x%X Size=%lu", Os, Pointer, Size);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Pointer != gcvNULL);
+    gcmkVERIFY_ARGUMENT(Size > 0);
+    gcmkVERIFY_ARGUMENT(KernelPointer != gcvNULL);
+
+    buf = kmalloc(Size, GFP_KERNEL | gcdNOWARN);
+    if (buf == gcvNULL)
+    {
+        gcmkTRACE(
+            gcvLEVEL_ERROR,
+            "%s(%d): Failed to allocate memory.",
+            __FUNCTION__, __LINE__
+            );
+
+        gcmkFOOTER_ARG("*status=%d", gcvSTATUS_OUT_OF_MEMORY);
+        return gcvSTATUS_OUT_OF_MEMORY;
+    }
+
+    len = copy_from_user(buf, Pointer, Size);
+    if (len != 0)
+    {
+        gcmkTRACE(
+            gcvLEVEL_ERROR,
+            "%s(%d): Failed to copy data from user.",
+            __FUNCTION__, __LINE__
+            );
+
+        if (buf != gcvNULL)
+        {
+            kfree(buf);
+        }
+
+        gcmkFOOTER_ARG("*status=%d", gcvSTATUS_GENERIC_IO);
+        return gcvSTATUS_GENERIC_IO;
+    }
+
+    *KernelPointer = buf;
+
+    gcmkFOOTER_ARG("*KernelPointer=0x%X", *KernelPointer);
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckOS_UnmapUserPointer
+**
+**  Unmap a user process pointer from the kernel address space.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      gctPOINTER Pointer
+**          Pointer in user process space that needs to be unmapped.
+**
+**      gctSIZE_T Size
+**          Number of bytes that need to be unmapped.
+**
+**      gctPOINTER KernelPointer
+**          Pointer in kernel address space that needs to be unmapped.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_UnmapUserPointer(
+    IN gckOS Os,
+    IN gctPOINTER Pointer,
+    IN gctSIZE_T Size,
+    IN gctPOINTER KernelPointer
+    )
+{
+    gctUINT32 len;
+
+    gcmkHEADER_ARG("Os=0x%X Pointer=0x%X Size=%lu KernelPointer=0x%X",
+                   Os, Pointer, Size, KernelPointer);
+
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Pointer != gcvNULL);
+    gcmkVERIFY_ARGUMENT(Size > 0);
+    gcmkVERIFY_ARGUMENT(KernelPointer != gcvNULL);
+
+    len = copy_to_user(Pointer, KernelPointer, Size);
+
+    kfree(KernelPointer);
+
+    if (len != 0)
+    {
+        gcmkTRACE(
+            gcvLEVEL_ERROR,
+            "%s(%d): Failed to copy data to user.",
+            __FUNCTION__, __LINE__
+            );
+
+        gcmkFOOTER_ARG("status=%d", gcvSTATUS_GENERIC_IO);
+        return gcvSTATUS_GENERIC_IO;
+    }
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckOS_QueryNeedCopy
+**
+**  Query whether the memory can be accessed or mapped directly or it has to be
+**  copied.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      gctUINT32 ProcessID
+**          Process ID of the current process.
+**
+**  OUTPUT:
+**
+**      gctBOOL_PTR NeedCopy
+**          Pointer to a boolean receiving gcvTRUE if the memory needs a copy or
+**          gcvFALSE if the memory can be accessed or mapped dircetly.
+*/
+gceSTATUS
+gckOS_QueryNeedCopy(
+    IN gckOS Os,
+    IN gctUINT32 ProcessID,
+    OUT gctBOOL_PTR NeedCopy
+    )
+{
+    gcmkHEADER_ARG("Os=0x%X ProcessID=%d", Os, ProcessID);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(NeedCopy != gcvNULL);
+
+    /* We need to copy data. */
+    *NeedCopy = gcvTRUE;
+
+    /* Success. */
+    gcmkFOOTER_ARG("*NeedCopy=%d", *NeedCopy);
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckOS_CopyFromUserData
+**
+**  Copy data from user to kernel memory.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      gctPOINTER KernelPointer
+**          Pointer to kernel memory.
+**
+**      gctPOINTER Pointer
+**          Pointer to user memory.
+**
+**      gctSIZE_T Size
+**          Number of bytes to copy.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_CopyFromUserData(
+    IN gckOS Os,
+    IN gctPOINTER KernelPointer,
+    IN gctPOINTER Pointer,
+    IN gctSIZE_T Size
+    )
+{
+    gceSTATUS status;
+
+    gcmkHEADER_ARG("Os=0x%X KernelPointer=0x%X Pointer=0x%X Size=%lu",
+                   Os, KernelPointer, Pointer, Size);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(KernelPointer != gcvNULL);
+    gcmkVERIFY_ARGUMENT(Pointer != gcvNULL);
+    gcmkVERIFY_ARGUMENT(Size > 0);
+
+    /* Copy data from user. */
+    if (copy_from_user(KernelPointer, Pointer, Size) != 0)
+    {
+        /* Could not copy all the bytes. */
+        gcmkONERROR(gcvSTATUS_OUT_OF_RESOURCES);
+    }
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckOS_CopyToUserData
+**
+**  Copy data from kernel to user memory.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      gctPOINTER KernelPointer
+**          Pointer to kernel memory.
+**
+**      gctPOINTER Pointer
+**          Pointer to user memory.
+**
+**      gctSIZE_T Size
+**          Number of bytes to copy.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_CopyToUserData(
+    IN gckOS Os,
+    IN gctPOINTER KernelPointer,
+    IN gctPOINTER Pointer,
+    IN gctSIZE_T Size
+    )
+{
+    gceSTATUS status;
+
+    gcmkHEADER_ARG("Os=0x%X KernelPointer=0x%X Pointer=0x%X Size=%lu",
+                   Os, KernelPointer, Pointer, Size);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(KernelPointer != gcvNULL);
+    gcmkVERIFY_ARGUMENT(Pointer != gcvNULL);
+    gcmkVERIFY_ARGUMENT(Size > 0);
+
+    /* Copy data to user. */
+    if (copy_to_user(Pointer, KernelPointer, Size) != 0)
+    {
+        /* Could not copy all the bytes. */
+        gcmkONERROR(gcvSTATUS_OUT_OF_RESOURCES);
+    }
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckOS_WriteMemory
+**
+**  Write data to a memory.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      gctPOINTER Address
+**          Address of the memory to write to.
+**
+**      gctUINT32 Data
+**          Data for register.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_WriteMemory(
+    IN gckOS Os,
+    IN gctPOINTER Address,
+    IN gctUINT32 Data
+    )
+{
+    gceSTATUS status;
+    gcmkHEADER_ARG("Os=0x%X Address=0x%X Data=%u", Os, Address, Data);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_ARGUMENT(Address != gcvNULL);
+
+    /* Write memory. */
+    if (access_ok(VERIFY_WRITE, Address, 4))
+    {
+        /* User address. */
+        if(put_user(Data, (gctUINT32*)Address))
+        {
+            gcmkONERROR(gcvSTATUS_INVALID_ADDRESS);
+        }
+    }
+    else
+    {
+        /* Kernel address. */
+        *(gctUINT32 *)Address = Data;
+    }
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckOS_MapUserMemory
+**
+**  Lock down a user buffer and return an DMA'able address to be used by the
+**  hardware to access it.
+**
+**  INPUT:
+**
+**      gctPOINTER Memory
+**          Pointer to memory to lock down.
+**
+**      gctSIZE_T Size
+**          Size in bytes of the memory to lock down.
+**
+**  OUTPUT:
+**
+**      gctPOINTER * Info
+**          Pointer to variable receiving the information record required by
+**          gckOS_UnmapUserMemory.
+**
+**      gctUINT32_PTR Address
+**          Pointer to a variable that will receive the address DMA'able by the
+**          hardware.
+*/
+gceSTATUS
+gckOS_MapUserMemory(
+    IN gckOS Os,
+    IN gceCORE Core,
+    IN gctPOINTER Memory,
+    IN gctUINT32 Physical,
+    IN gctSIZE_T Size,
+    OUT gctPOINTER * Info,
+    OUT gctUINT32_PTR Address
+    )
+{
+    gceSTATUS status;
+
+    gcmkHEADER_ARG("Os=0x%x Core=%d Memory=0x%x Size=%lu", Os, Core, Memory, Size);
+
+#if gcdSECURE_USER
+    gcmkONERROR(gckOS_AddMapping(Os, *Address, Memory, Size));
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    gcmkFOOTER();
+    return status;
+#else
+{
+    gctSIZE_T pageCount, i, j;
+    gctUINT32_PTR pageTable;
+    gctUINT32 address = 0, physical = ~0U;
+    gctUINTPTR_T start, end, memory;
+    gctUINT32 offset;
+    gctINT result = 0;
+
+    gcsPageInfo_PTR info = gcvNULL;
+    struct page **pages = gcvNULL;
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Memory != gcvNULL || Physical != ~0U);
+    gcmkVERIFY_ARGUMENT(Size > 0);
+    gcmkVERIFY_ARGUMENT(Info != gcvNULL);
+    gcmkVERIFY_ARGUMENT(Address != gcvNULL);
+
+    do
+    {
+        memory = (gctUINTPTR_T) Memory;
+
+        /* Get the number of required pages. */
+        end = (memory + Size + PAGE_SIZE - 1) >> PAGE_SHIFT;
+        start = memory >> PAGE_SHIFT;
+        pageCount = end - start;
+
+        gcmkTRACE_ZONE(
+            gcvLEVEL_INFO, gcvZONE_OS,
+            "%s(%d): pageCount: %d.",
+            __FUNCTION__, __LINE__,
+            pageCount
+            );
+
+        /* Overflow. */
+        if ((memory + Size) < memory)
+        {
+            gcmkFOOTER_ARG("status=%d", gcvSTATUS_INVALID_ARGUMENT);
+            return gcvSTATUS_INVALID_ARGUMENT;
+        }
+
+        MEMORY_MAP_LOCK(Os);
+
+        /* Allocate the Info struct. */
+        info = (gcsPageInfo_PTR)kmalloc(sizeof(gcsPageInfo), GFP_KERNEL | gcdNOWARN);
+
+        if (info == gcvNULL)
+        {
+            status = gcvSTATUS_OUT_OF_MEMORY;
+            break;
+        }
+
+        /* Allocate the array of page addresses. */
+        pages = (struct page **)kmalloc(pageCount * sizeof(struct page *), GFP_KERNEL | gcdNOWARN);
+
+        if (pages == gcvNULL)
+        {
+            status = gcvSTATUS_OUT_OF_MEMORY;
+            break;
+        }
+
+        if (Physical != ~0U)
+        {
+            for (i = 0; i < pageCount; i++)
+            {
+                pages[i] = pfn_to_page((Physical >> PAGE_SHIFT) + i);
+                get_page(pages[i]);
+            }
+        }
+        else
+        {
+            /* Get the user pages. */
+            down_read(&current->mm->mmap_sem);
+
+            result = get_user_pages(current,
+                    current->mm,
+                    memory & PAGE_MASK,
+                    pageCount,
+                    1,
+                    0,
+                    pages,
+                    gcvNULL
+                    );
+
+            up_read(&current->mm->mmap_sem);
+
+            if (result <=0 || result < pageCount)
+            {
+                struct vm_area_struct *vma;
+
+                /* Release the pages if any. */
+                if (result > 0)
+                {
+                    for (i = 0; i < result; i++)
+                    {
+                        if (pages[i] == gcvNULL)
+                        {
+                            break;
+                        }
+
+                        page_cache_release(pages[i]);
+                        pages[i] = gcvNULL;
+                    }
+
+                    result = 0;
+                }
+
+                vma = find_vma(current->mm, memory);
+
+                if (vma && (vma->vm_flags & VM_PFNMAP))
+                {
+                    pte_t       * pte;
+                    spinlock_t  * ptl;
+                    gctUINTPTR_T logical = memory;
+
+                    for (i = 0; i < pageCount; i++)
+                    {
+                        pgd_t * pgd = pgd_offset(current->mm, logical);
+                        pud_t * pud = pud_offset(pgd, logical);
+
+                        if (pud)
+                        {
+                            pmd_t * pmd = pmd_offset(pud, logical);
+                            pte = pte_offset_map_lock(current->mm, pmd, logical, &ptl);
+                            if (!pte)
+                            {
+                                gcmkONERROR(gcvSTATUS_OUT_OF_RESOURCES);
+                            }
+                        }
+                        else
+                        {
+                            gcmkONERROR(gcvSTATUS_OUT_OF_RESOURCES);
+                        }
+
+                        pages[i] = pte_page(*pte);
+                        pte_unmap_unlock(pte, ptl);
+
+                        /* Advance to next. */
+                        logical += PAGE_SIZE;
+                    }
+                }
+                else
+                {
+                    gcmkONERROR(gcvSTATUS_OUT_OF_RESOURCES);
+                }
+
+                /* Check if this memory is contiguous for old mmu. */
+                if (Os->device->kernels[Core]->hardware->mmuVersion == 0)
+                {
+                    for (i = 1; i < pageCount; i++)
+                    {
+                        if (pages[i] != nth_page(pages[0], i))
+                        {
+                            /* Non-contiguous. */
+                            break;
+                        }
+                    }
+
+                    if (i == pageCount)
+                    {
+                        /* Contiguous memory. */
+                        physical = page_to_phys(pages[0]) | (memory & ~PAGE_MASK);
+
+                        if (!((physical - Os->device->baseAddress) & 0x80000000))
+                        {
+                            kfree(pages);
+                            pages = gcvNULL;
+
+                            info->pages = gcvNULL;
+                            info->pageTable = gcvNULL;
+
+                            MEMORY_MAP_UNLOCK(Os);
+
+                            *Address = physical - Os->device->baseAddress;
+                            *Info    = info;
+
+                            gcmkFOOTER_ARG("*Info=0x%X *Address=0x%08x",
+                                           *Info, *Address);
+
+                            return gcvSTATUS_OK;
+                        }
+                    }
+                }
+
+                /* Reference pages. */
+                for (i = 0; i < pageCount; i++)
+                {
+                    get_page(pages[i]);
+                }
+            }
+        }
+
+        for (i = 0; i < pageCount; i++)
+        {
+#ifdef CONFIG_ARM
+            gctUINT32 data;
+            get_user(data, (gctUINT32*)((memory & PAGE_MASK) + i * PAGE_SIZE));
+#endif
+
+            /* Flush(clean) the data cache. */
+            gcmkONERROR(gckOS_CacheFlush(Os, _GetProcessID(), gcvNULL,
+                             (gctPOINTER)(gctUINTPTR_T)page_to_phys(pages[i]),
+                             (gctPOINTER)(memory & PAGE_MASK) + i*PAGE_SIZE,
+                             PAGE_SIZE));
+        }
+
+#if gcdENABLE_VG
+        if (Core == gcvCORE_VG)
+        {
+            /* Allocate pages inside the page table. */
+            gcmkERR_BREAK(gckVGMMU_AllocatePages(Os->device->kernels[Core]->vg->mmu,
+                                              pageCount * (PAGE_SIZE/4096),
+                                              (gctPOINTER *) &pageTable,
+                                              &address));
+        }
+        else
+#endif
+        {
+            /* Allocate pages inside the page table. */
+            gcmkERR_BREAK(gckMMU_AllocatePages(Os->device->kernels[Core]->mmu,
+                                              pageCount * (PAGE_SIZE/4096),
+                                              (gctPOINTER *) &pageTable,
+                                              &address));
+        }
+
+        /* Fill the page table. */
+        for (i = 0; i < pageCount; i++)
+        {
+            gctUINT32 phys;
+            gctUINT32_PTR tab = pageTable + i * (PAGE_SIZE/4096);
+
+            phys = page_to_phys(pages[i]);
+
+#if gcdENABLE_VG
+            if (Core == gcvCORE_VG)
+            {
+                /* Get the physical address from page struct. */
+                gcmkONERROR(
+                    gckVGMMU_SetPage(Os->device->kernels[Core]->vg->mmu,
+                                   phys,
+                                   tab));
+            }
+            else
+#endif
+            {
+                /* Get the physical address from page struct. */
+                gcmkONERROR(
+                    gckMMU_SetPage(Os->device->kernels[Core]->mmu,
+                                   phys,
+                                   tab));
+            }
+
+            for (j = 1; j < (PAGE_SIZE/4096); j++)
+            {
+                pageTable[i * (PAGE_SIZE/4096) + j] = pageTable[i * (PAGE_SIZE/4096)] + 4096 * j;
+            }
+
+            gcmkTRACE_ZONE(
+                gcvLEVEL_INFO, gcvZONE_OS,
+                "%s(%d): pageTable[%d]: 0x%X 0x%X.",
+                __FUNCTION__, __LINE__,
+                i, phys, pageTable[i]);
+        }
+
+#if gcdENABLE_VG
+        if (Core == gcvCORE_VG)
+        {
+            gcmkONERROR(gckVGMMU_Flush(Os->device->kernels[Core]->vg->mmu));
+        }
+        else
+#endif
+        {
+            gcmkONERROR(gckMMU_Flush(Os->device->kernels[Core]->mmu));
+        }
+
+        /* Save pointer to page table. */
+        info->pageTable = pageTable;
+        info->pages = pages;
+
+        *Info = (gctPOINTER) info;
+
+        gcmkTRACE_ZONE(
+            gcvLEVEL_INFO, gcvZONE_OS,
+            "%s(%d): info->pages: 0x%X, info->pageTable: 0x%X, info: 0x%X.",
+            __FUNCTION__, __LINE__,
+            info->pages,
+            info->pageTable,
+            info
+            );
+
+        offset = (Physical != ~0U)
+               ? (Physical & ~PAGE_MASK)
+               : (memory & ~PAGE_MASK);
+
+        /* Return address. */
+        *Address = address + offset;
+
+        gcmkTRACE_ZONE(
+            gcvLEVEL_INFO, gcvZONE_OS,
+            "%s(%d): Address: 0x%X.",
+            __FUNCTION__, __LINE__,
+            *Address
+            );
+
+        /* Success. */
+        status = gcvSTATUS_OK;
+    }
+    while (gcvFALSE);
+
+OnError:
+
+    if (gcmIS_ERROR(status))
+    {
+        gcmkTRACE(
+            gcvLEVEL_ERROR,
+            "%s(%d): error occured: %d.",
+            __FUNCTION__, __LINE__,
+            status
+            );
+
+        /* Release page array. */
+        if (result > 0 && pages != gcvNULL)
+        {
+            gcmkTRACE(
+                gcvLEVEL_ERROR,
+                "%s(%d): error: page table is freed.",
+                __FUNCTION__, __LINE__
+                );
+
+            for (i = 0; i < result; i++)
+            {
+                if (pages[i] == gcvNULL)
+                {
+                    break;
+                }
+                page_cache_release(pages[i]);
+            }
+        }
+
+        if (info!= gcvNULL && pages != gcvNULL)
+        {
+            gcmkTRACE(
+                gcvLEVEL_ERROR,
+                "%s(%d): error: pages is freed.",
+                __FUNCTION__, __LINE__
+                );
+
+            /* Free the page table. */
+            kfree(pages);
+            info->pages = gcvNULL;
+        }
+
+        /* Release page info struct. */
+        if (info != gcvNULL)
+        {
+            gcmkTRACE(
+                gcvLEVEL_ERROR,
+                "%s(%d): error: info is freed.",
+                __FUNCTION__, __LINE__
+                );
+
+            /* Free the page info struct. */
+            kfree(info);
+            *Info = gcvNULL;
+        }
+    }
+
+    MEMORY_MAP_UNLOCK(Os);
+
+    /* Return the status. */
+    if (gcmIS_SUCCESS(status))
+    {
+        gcmkFOOTER_ARG("*Info=0x%X *Address=0x%08x", *Info, *Address);
+    }
+    else
+    {
+        gcmkFOOTER();
+    }
+
+    return status;
+}
+#endif
+}
+
+/*******************************************************************************
+**
+**  gckOS_UnmapUserMemory
+**
+**  Unlock a user buffer and that was previously locked down by
+**  gckOS_MapUserMemory.
+**
+**  INPUT:
+**
+**      gctPOINTER Memory
+**          Pointer to memory to unlock.
+**
+**      gctSIZE_T Size
+**          Size in bytes of the memory to unlock.
+**
+**      gctPOINTER Info
+**          Information record returned by gckOS_MapUserMemory.
+**
+**      gctUINT32_PTR Address
+**          The address returned by gckOS_MapUserMemory.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_UnmapUserMemory(
+    IN gckOS Os,
+    IN gceCORE Core,
+    IN gctPOINTER Memory,
+    IN gctSIZE_T Size,
+    IN gctPOINTER Info,
+    IN gctUINT32 Address
+    )
+{
+    gceSTATUS status;
+
+    gcmkHEADER_ARG("Os=0x%X Core=%d Memory=0x%X Size=%lu Info=0x%X Address0x%08x",
+                   Os, Core, Memory, Size, Info, Address);
+
+#if gcdSECURE_USER
+    gcmkONERROR(gckOS_RemoveMapping(Os, Memory, Size));
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    gcmkFOOTER();
+    return status;
+#else
+{
+    gctUINTPTR_T memory, start, end;
+    gcsPageInfo_PTR info;
+    gctSIZE_T pageCount, i;
+    struct page **pages;
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Memory != gcvNULL);
+    gcmkVERIFY_ARGUMENT(Size > 0);
+    gcmkVERIFY_ARGUMENT(Info != gcvNULL);
+
+    do
+    {
+        info = (gcsPageInfo_PTR) Info;
+
+        pages = info->pages;
+
+        gcmkTRACE_ZONE(
+            gcvLEVEL_INFO, gcvZONE_OS,
+            "%s(%d): info=0x%X, pages=0x%X.",
+            __FUNCTION__, __LINE__,
+            info, pages
+            );
+
+        /* Invalid page array. */
+        if (pages == gcvNULL && info->pageTable == gcvNULL)
+        {
+            kfree(info);
+
+            gcmkFOOTER_NO();
+            return gcvSTATUS_OK;
+        }
+
+        memory = (gctUINTPTR_T)Memory;
+        end = (memory + Size + PAGE_SIZE - 1) >> PAGE_SHIFT;
+        start = memory >> PAGE_SHIFT;
+        pageCount = end - start;
+
+        /* Overflow. */
+        if ((memory + Size) < memory)
+        {
+            gcmkFOOTER_ARG("status=%d", gcvSTATUS_INVALID_ARGUMENT);
+            return gcvSTATUS_INVALID_ARGUMENT;
+        }
+
+        gcmkTRACE_ZONE(
+            gcvLEVEL_INFO, gcvZONE_OS,
+            "%s(%d): memory: 0x%X, pageCount: %d, pageTable: 0x%X.",
+            __FUNCTION__, __LINE__,
+            memory, pageCount, info->pageTable
+            );
+
+        MEMORY_MAP_LOCK(Os);
+
+        gcmkASSERT(info->pageTable != gcvNULL);
+
+#if gcdENABLE_VG
+        if (Core == gcvCORE_VG)
+        {
+            /* Free the pages from the MMU. */
+            gcmkERR_BREAK(gckVGMMU_FreePages(Os->device->kernels[Core]->vg->mmu,
+                                          info->pageTable,
+                                          pageCount * (PAGE_SIZE/4096)
+                                          ));
+        }
+        else
+#endif
+        {
+            /* Free the pages from the MMU. */
+            gcmkERR_BREAK(gckMMU_FreePages(Os->device->kernels[Core]->mmu,
+                                          info->pageTable,
+                                          pageCount * (PAGE_SIZE/4096)
+                                          ));
+        }
+
+        /* Release the page cache. */
+        if (pages)
+        {
+            for (i = 0; i < pageCount; i++)
+            {
+                gcmkTRACE_ZONE(
+                    gcvLEVEL_INFO, gcvZONE_OS,
+                    "%s(%d): pages[%d]: 0x%X.",
+                    __FUNCTION__, __LINE__,
+                    i, pages[i]
+                    );
+
+                if (!PageReserved(pages[i]))
+                {
+                     SetPageDirty(pages[i]);
+                }
+
+                page_cache_release(pages[i]);
+            }
+        }
+
+        /* Success. */
+        status = gcvSTATUS_OK;
+    }
+    while (gcvFALSE);
+
+    if (info != gcvNULL)
+    {
+        /* Free the page array. */
+        if (info->pages != gcvNULL)
+        {
+            kfree(info->pages);
+        }
+
+        kfree(info);
+    }
+
+    MEMORY_MAP_UNLOCK(Os);
+
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+#endif
+}
+
+/*******************************************************************************
+**
+**  gckOS_GetBaseAddress
+**
+**  Get the base address for the physical memory.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to the gckOS object.
+**
+**  OUTPUT:
+**
+**      gctUINT32_PTR BaseAddress
+**          Pointer to a variable that will receive the base address.
+*/
+gceSTATUS
+gckOS_GetBaseAddress(
+    IN gckOS Os,
+    OUT gctUINT32_PTR BaseAddress
+    )
+{
+    gcmkHEADER_ARG("Os=0x%X", Os);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(BaseAddress != gcvNULL);
+
+    /* Return base address. */
+    *BaseAddress = Os->device->baseAddress;
+
+    /* Success. */
+    gcmkFOOTER_ARG("*BaseAddress=0x%08x", *BaseAddress);
+    return gcvSTATUS_OK;
+}
+
+gceSTATUS
+gckOS_SuspendInterrupt(
+    IN gckOS Os
+    )
+{
+    return gckOS_SuspendInterruptEx(Os, gcvCORE_MAJOR);
+}
+
+gceSTATUS
+gckOS_SuspendInterruptEx(
+    IN gckOS Os,
+    IN gceCORE Core
+    )
+{
+    gcmkHEADER_ARG("Os=0x%X Core=%d", Os, Core);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+
+    disable_irq(Os->device->irqLines[Core]);
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+gceSTATUS
+gckOS_ResumeInterrupt(
+    IN gckOS Os
+    )
+{
+    return gckOS_ResumeInterruptEx(Os, gcvCORE_MAJOR);
+}
+
+gceSTATUS
+gckOS_ResumeInterruptEx(
+    IN gckOS Os,
+    IN gceCORE Core
+    )
+{
+    gcmkHEADER_ARG("Os=0x%X Core=%d", Os, Core);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+
+    enable_irq(Os->device->irqLines[Core]);
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+gceSTATUS
+gckOS_MemCopy(
+    IN gctPOINTER Destination,
+    IN gctCONST_POINTER Source,
+    IN gctSIZE_T Bytes
+    )
+{
+    gcmkHEADER_ARG("Destination=0x%X Source=0x%X Bytes=%lu",
+                   Destination, Source, Bytes);
+
+    gcmkVERIFY_ARGUMENT(Destination != gcvNULL);
+    gcmkVERIFY_ARGUMENT(Source != gcvNULL);
+    gcmkVERIFY_ARGUMENT(Bytes > 0);
+
+    memcpy(Destination, Source, Bytes);
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+gceSTATUS
+gckOS_ZeroMemory(
+    IN gctPOINTER Memory,
+    IN gctSIZE_T Bytes
+    )
+{
+    gcmkHEADER_ARG("Memory=0x%X Bytes=%lu", Memory, Bytes);
+
+    gcmkVERIFY_ARGUMENT(Memory != gcvNULL);
+    gcmkVERIFY_ARGUMENT(Bytes > 0);
+
+    memset(Memory, 0, Bytes);
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+********************************* Cache Control ********************************
+*******************************************************************************/
+
+#if !gcdCACHE_FUNCTION_UNIMPLEMENTED && defined(CONFIG_OUTER_CACHE)
+static inline gceSTATUS
+outer_func(
+    gceCACHEOPERATION Type,
+    unsigned long Start,
+    unsigned long End
+    )
+{
+    switch (Type)
+    {
+        case gcvCACHE_CLEAN:
+            outer_clean_range(Start, End);
+            break;
+        case gcvCACHE_INVALIDATE:
+            outer_inv_range(Start, End);
+            break;
+        case gcvCACHE_FLUSH:
+            outer_flush_range(Start, End);
+            break;
+        default:
+            return gcvSTATUS_INVALID_ARGUMENT;
+            break;
+    }
+    return gcvSTATUS_OK;
+}
+
+#if gcdENABLE_OUTER_CACHE_PATCH
+/*******************************************************************************
+**  _HandleOuterCache
+**
+**  Handle the outer cache for the specified addresses.
+**
+**  ARGUMENTS:
+**
+**      gckOS Os
+**          Pointer to gckOS object.
+**
+**      gctUINT32 ProcessID
+**          Process ID Logical belongs.
+**
+**      gctPHYS_ADDR Handle
+**          Physical address handle.  If gcvNULL it is video memory.
+**
+**      gctPOINTER Physical
+**          Physical address to flush.
+**
+**      gctPOINTER Logical
+**          Logical address to flush.
+**
+**      gctSIZE_T Bytes
+**          Size of the address range in bytes to flush.
+**
+**      gceOUTERCACHE_OPERATION Type
+**          Operation need to be execute.
+*/
+static gceSTATUS
+_HandleOuterCache(
+    IN gckOS Os,
+    IN gctUINT32 ProcessID,
+    IN gctPHYS_ADDR Handle,
+    IN gctPOINTER Physical,
+    IN gctPOINTER Logical,
+    IN gctSIZE_T Bytes,
+    IN gceCACHEOPERATION Type
+    )
+{
+    gceSTATUS status;
+    gctUINT32 i, pageNum;
+    unsigned long paddr;
+    gctPOINTER vaddr;
+
+    gcmkHEADER_ARG("Os=0x%X ProcessID=%d Handle=0x%X Logical=0x%X Bytes=%lu",
+                   Os, ProcessID, Handle, Logical, Bytes);
+
+    if (Physical != gcvNULL)
+    {
+        /* Non paged memory or gcvPOOL_USER surface */
+        paddr = (unsigned long) Physical;
+        gcmkONERROR(outer_func(Type, paddr, paddr + Bytes));
+    }
+    else if ((Handle == gcvNULL)
+    || (Handle != gcvNULL && ((PLINUX_MDL)Handle)->contiguous)
+    )
+    {
+        /* Video Memory or contiguous virtual memory */
+        gcmkONERROR(gckOS_GetPhysicalAddress(Os, Logical, (gctUINT32*)&paddr));
+        gcmkONERROR(outer_func(Type, paddr, paddr + Bytes));
+    }
+    else
+    {
+        /* Non contiguous virtual memory */
+        vaddr = (gctPOINTER)gcmALIGN_BASE((gctUINTPTR_T)Logical, PAGE_SIZE);
+        pageNum = GetPageCount(Bytes, 0);
+
+        for (i = 0; i < pageNum; i += 1)
+        {
+            gcmkONERROR(_ConvertLogical2Physical(
+                Os,
+                vaddr + PAGE_SIZE * i,
+                ProcessID,
+                (PLINUX_MDL)Handle,
+                (gctUINT32*)&paddr
+                ));
+
+            gcmkONERROR(outer_func(Type, paddr, paddr + PAGE_SIZE));
+        }
+    }
+
+    mb();
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+#endif
+#endif
+
+/*******************************************************************************
+**  gckOS_CacheClean
+**
+**  Clean the cache for the specified addresses.  The GPU is going to need the
+**  data.  If the system is allocating memory as non-cachable, this function can
+**  be ignored.
+**
+**  ARGUMENTS:
+**
+**      gckOS Os
+**          Pointer to gckOS object.
+**
+**      gctUINT32 ProcessID
+**          Process ID Logical belongs.
+**
+**      gctPHYS_ADDR Handle
+**          Physical address handle.  If gcvNULL it is video memory.
+**
+**      gctPOINTER Physical
+**          Physical address to flush.
+**
+**      gctPOINTER Logical
+**          Logical address to flush.
+**
+**      gctSIZE_T Bytes
+**          Size of the address range in bytes to flush.
+*/
+gceSTATUS
+gckOS_CacheClean(
+    IN gckOS Os,
+    IN gctUINT32 ProcessID,
+    IN gctPHYS_ADDR Handle,
+    IN gctPOINTER Physical,
+    IN gctPOINTER Logical,
+    IN gctSIZE_T Bytes
+    )
+{
+    gcmkHEADER_ARG("Os=0x%X ProcessID=%d Handle=0x%X Logical=0x%X Bytes=%lu",
+                   Os, ProcessID, Handle, Logical, Bytes);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Logical != gcvNULL);
+    gcmkVERIFY_ARGUMENT(Bytes > 0);
+
+#if !gcdCACHE_FUNCTION_UNIMPLEMENTED
+#ifdef CONFIG_ARM
+
+    /* Inner cache. */
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35)
+    dmac_map_area(Logical, Bytes, DMA_TO_DEVICE);
+#      else
+    dmac_clean_range(Logical, Logical + Bytes);
+#      endif
+
+#if defined(CONFIG_OUTER_CACHE)
+    /* Outer cache. */
+#if gcdENABLE_OUTER_CACHE_PATCH
+    _HandleOuterCache(Os, ProcessID, Handle, Physical, Logical, Bytes, gcvCACHE_CLEAN);
+#else
+    outer_clean_range((unsigned long) Handle, (unsigned long) Handle + Bytes);
+#endif
+#endif
+
+#elif defined(CONFIG_MIPS)
+
+    dma_cache_wback((unsigned long) Logical, Bytes);
+
+#elif defined(CONFIG_PPC)
+
+    /* TODO */
+
+#else
+    dma_sync_single_for_device(
+              gcvNULL,
+              (dma_addr_t)Physical,
+              Bytes,
+              DMA_TO_DEVICE);
+#endif
+#endif
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**  gckOS_CacheInvalidate
+**
+**  Invalidate the cache for the specified addresses. The GPU is going to need
+**  data.  If the system is allocating memory as non-cachable, this function can
+**  be ignored.
+**
+**  ARGUMENTS:
+**
+**      gckOS Os
+**          Pointer to gckOS object.
+**
+**      gctUINT32 ProcessID
+**          Process ID Logical belongs.
+**
+**      gctPHYS_ADDR Handle
+**          Physical address handle.  If gcvNULL it is video memory.
+**
+**      gctPOINTER Logical
+**          Logical address to flush.
+**
+**      gctSIZE_T Bytes
+**          Size of the address range in bytes to flush.
+*/
+gceSTATUS
+gckOS_CacheInvalidate(
+    IN gckOS Os,
+    IN gctUINT32 ProcessID,
+    IN gctPHYS_ADDR Handle,
+    IN gctPOINTER Physical,
+    IN gctPOINTER Logical,
+    IN gctSIZE_T Bytes
+    )
+{
+    gcmkHEADER_ARG("Os=0x%X ProcessID=%d Handle=0x%X Logical=0x%X Bytes=%lu",
+                   Os, ProcessID, Handle, Logical, Bytes);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Logical != gcvNULL);
+    gcmkVERIFY_ARGUMENT(Bytes > 0);
+
+#if !gcdCACHE_FUNCTION_UNIMPLEMENTED
+#ifdef CONFIG_ARM
+
+    /* Inner cache. */
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35)
+    dmac_map_area(Logical, Bytes, DMA_FROM_DEVICE);
+#      else
+    dmac_inv_range(Logical, Logical + Bytes);
+#      endif
+
+#if defined(CONFIG_OUTER_CACHE)
+    /* Outer cache. */
+#if gcdENABLE_OUTER_CACHE_PATCH
+    _HandleOuterCache(Os, ProcessID, Handle, Physical, Logical, Bytes, gcvCACHE_INVALIDATE);
+#else
+    outer_inv_range((unsigned long) Handle, (unsigned long) Handle + Bytes);
+#endif
+#endif
+
+#elif defined(CONFIG_MIPS)
+    dma_cache_inv((unsigned long) Logical, Bytes);
+#elif defined(CONFIG_PPC)
+    /* TODO */
+#else
+    dma_sync_single_for_device(
+              gcvNULL,
+              (dma_addr_t)Physical,
+              Bytes,
+              DMA_FROM_DEVICE);
+#endif
+#endif
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**  gckOS_CacheFlush
+**
+**  Clean the cache for the specified addresses and invalidate the lines as
+**  well.  The GPU is going to need and modify the data.  If the system is
+**  allocating memory as non-cachable, this function can be ignored.
+**
+**  ARGUMENTS:
+**
+**      gckOS Os
+**          Pointer to gckOS object.
+**
+**      gctUINT32 ProcessID
+**          Process ID Logical belongs.
+**
+**      gctPHYS_ADDR Handle
+**          Physical address handle.  If gcvNULL it is video memory.
+**
+**      gctPOINTER Logical
+**          Logical address to flush.
+**
+**      gctSIZE_T Bytes
+**          Size of the address range in bytes to flush.
+*/
+gceSTATUS
+gckOS_CacheFlush(
+    IN gckOS Os,
+    IN gctUINT32 ProcessID,
+    IN gctPHYS_ADDR Handle,
+    IN gctPOINTER Physical,
+    IN gctPOINTER Logical,
+    IN gctSIZE_T Bytes
+    )
+{
+    gcmkHEADER_ARG("Os=0x%X ProcessID=%d Handle=0x%X Logical=0x%X Bytes=%lu",
+                   Os, ProcessID, Handle, Logical, Bytes);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Logical != gcvNULL);
+    gcmkVERIFY_ARGUMENT(Bytes > 0);
+
+#if !gcdCACHE_FUNCTION_UNIMPLEMENTED
+#ifdef CONFIG_ARM
+    /* Inner cache. */
+    dmac_flush_range(Logical, Logical + Bytes);
+
+#if defined(CONFIG_OUTER_CACHE)
+    /* Outer cache. */
+#if gcdENABLE_OUTER_CACHE_PATCH
+    _HandleOuterCache(Os, ProcessID, Handle, Physical, Logical, Bytes, gcvCACHE_FLUSH);
+#else
+    outer_flush_range((unsigned long) Handle, (unsigned long) Handle + Bytes);
+#endif
+#endif
+
+#elif defined(CONFIG_MIPS)
+    dma_cache_wback_inv((unsigned long) Logical, Bytes);
+#elif defined(CONFIG_PPC)
+    /* TODO */
+#else
+    dma_sync_single_for_device(
+              gcvNULL,
+              (dma_addr_t)Physical,
+              Bytes,
+              DMA_BIDIRECTIONAL);
+#endif
+#endif
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+********************************* Broadcasting *********************************
+*******************************************************************************/
+
+/*******************************************************************************
+**
+**  gckOS_Broadcast
+**
+**  System hook for broadcast events from the kernel driver.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to the gckOS object.
+**
+**      gckHARDWARE Hardware
+**          Pointer to the gckHARDWARE object.
+**
+**      gceBROADCAST Reason
+**          Reason for the broadcast.  Can be one of the following values:
+**
+**              gcvBROADCAST_GPU_IDLE
+**                  Broadcasted when the kernel driver thinks the GPU might be
+**                  idle.  This can be used to handle power management.
+**
+**              gcvBROADCAST_GPU_COMMIT
+**                  Broadcasted when any client process commits a command
+**                  buffer.  This can be used to handle power management.
+**
+**              gcvBROADCAST_GPU_STUCK
+**                  Broadcasted when the kernel driver hits the timeout waiting
+**                  for the GPU.
+**
+**              gcvBROADCAST_FIRST_PROCESS
+**                  First process is trying to connect to the kernel.
+**
+**              gcvBROADCAST_LAST_PROCESS
+**                  Last process has detached from the kernel.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_Broadcast(
+    IN gckOS Os,
+    IN gckHARDWARE Hardware,
+    IN gceBROADCAST Reason
+    )
+{
+    gceSTATUS status;
+
+    gcmkHEADER_ARG("Os=0x%X Hardware=0x%X Reason=%d", Os, Hardware, Reason);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+
+    switch (Reason)
+    {
+    case gcvBROADCAST_FIRST_PROCESS:
+        gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_OS, "First process has attached");
+        break;
+
+    case gcvBROADCAST_LAST_PROCESS:
+        gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_OS, "Last process has detached");
+
+        /* Put GPU OFF. */
+        gcmkONERROR(
+            gckHARDWARE_SetPowerManagementState(Hardware,
+                                                gcvPOWER_OFF_BROADCAST));
+        break;
+
+    case gcvBROADCAST_GPU_IDLE:
+        gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_OS, "GPU idle.");
+
+        /* Put GPU IDLE. */
+        gcmkONERROR(
+            gckHARDWARE_SetPowerManagementState(Hardware,
+#if gcdPOWER_SUSNPEND_WHEN_IDLE
+                                                gcvPOWER_SUSPEND_BROADCAST));
+#else
+                                                gcvPOWER_IDLE_BROADCAST));
+#endif
+
+        /* Add idle process DB. */
+        gcmkONERROR(gckKERNEL_AddProcessDB(Hardware->kernel,
+                                           1,
+                                           gcvDB_IDLE,
+                                           gcvNULL, gcvNULL, 0));
+        break;
+
+    case gcvBROADCAST_GPU_COMMIT:
+        gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_OS, "COMMIT has arrived.");
+
+        /* Add busy process DB. */
+        gcmkONERROR(gckKERNEL_AddProcessDB(Hardware->kernel,
+                                           0,
+                                           gcvDB_IDLE,
+                                           gcvNULL, gcvNULL, 0));
+
+        /* Put GPU ON. */
+        gcmkONERROR(
+            gckHARDWARE_SetPowerManagementState(Hardware, gcvPOWER_ON_AUTO));
+        break;
+
+    case gcvBROADCAST_GPU_STUCK:
+        gcmkTRACE_N(gcvLEVEL_ERROR, 0, "gcvBROADCAST_GPU_STUCK\n");
+#if !gcdENABLE_RECOVERY
+        gcmkONERROR(gckHARDWARE_DumpGPUState(Hardware));
+#endif
+        gcmkONERROR(gckKERNEL_Recovery(Hardware->kernel));
+        break;
+
+    case gcvBROADCAST_AXI_BUS_ERROR:
+        gcmkTRACE_N(gcvLEVEL_ERROR, 0, "gcvBROADCAST_AXI_BUS_ERROR\n");
+        gcmkONERROR(gckHARDWARE_DumpGPUState(Hardware));
+        gcmkONERROR(gckKERNEL_Recovery(Hardware->kernel));
+        break;
+    }
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckOS_BroadcastHurry
+**
+**  The GPU is running too slow.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to the gckOS object.
+**
+**      gckHARDWARE Hardware
+**          Pointer to the gckHARDWARE object.
+**
+**      gctUINT Urgency
+**          The higher the number, the higher the urgency to speed up the GPU.
+**          The maximum value is defined by the gcdDYNAMIC_EVENT_THRESHOLD.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_BroadcastHurry(
+    IN gckOS Os,
+    IN gckHARDWARE Hardware,
+    IN gctUINT Urgency
+    )
+{
+    gcmkHEADER_ARG("Os=0x%x Hardware=0x%x Urgency=%u", Os, Hardware, Urgency);
+
+    /* Do whatever you need to do to speed up the GPU now. */
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckOS_BroadcastCalibrateSpeed
+**
+**  Calibrate the speed of the GPU.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to the gckOS object.
+**
+**      gckHARDWARE Hardware
+**          Pointer to the gckHARDWARE object.
+**
+**      gctUINT Idle, Time
+**          Idle/Time will give the percentage the GPU is idle, so you can use
+**          this to calibrate the working point of the GPU.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_BroadcastCalibrateSpeed(
+    IN gckOS Os,
+    IN gckHARDWARE Hardware,
+    IN gctUINT Idle,
+    IN gctUINT Time
+    )
+{
+    gcmkHEADER_ARG("Os=0x%x Hardware=0x%x Idle=%u Time=%u",
+                   Os, Hardware, Idle, Time);
+
+    /* Do whatever you need to do to callibrate the GPU speed. */
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+********************************** Semaphores **********************************
+*******************************************************************************/
+
+/*******************************************************************************
+**
+**  gckOS_CreateSemaphore
+**
+**  Create a semaphore.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to the gckOS object.
+**
+**  OUTPUT:
+**
+**      gctPOINTER * Semaphore
+**          Pointer to the variable that will receive the created semaphore.
+*/
+gceSTATUS
+gckOS_CreateSemaphore(
+    IN gckOS Os,
+    OUT gctPOINTER * Semaphore
+    )
+{
+    gceSTATUS status;
+    struct semaphore *sem = gcvNULL;
+
+    gcmkHEADER_ARG("Os=0x%X", Os);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Semaphore != gcvNULL);
+
+    /* Allocate the semaphore structure. */
+    sem = (struct semaphore *)kmalloc(gcmSIZEOF(struct semaphore), GFP_KERNEL | gcdNOWARN);
+    if (sem == gcvNULL)
+    {
+        gcmkONERROR(gcvSTATUS_OUT_OF_MEMORY);
+    }
+
+    /* Initialize the semaphore. */
+    sema_init(sem, 1);
+
+    /* Return to caller. */
+    *Semaphore = (gctPOINTER) sem;
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckOS_AcquireSemaphore
+**
+**  Acquire a semaphore.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to the gckOS object.
+**
+**      gctPOINTER Semaphore
+**          Pointer to the semaphore thet needs to be acquired.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_AcquireSemaphore(
+    IN gckOS Os,
+    IN gctPOINTER Semaphore
+    )
+{
+    gceSTATUS status;
+
+    gcmkHEADER_ARG("Os=0x%08X Semaphore=0x%08X", Os, Semaphore);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Semaphore != gcvNULL);
+
+    /* Acquire the semaphore. */
+    if (down_interruptible((struct semaphore *) Semaphore))
+    {
+        gcmkONERROR(gcvSTATUS_INTERRUPTED);
+    }
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckOS_TryAcquireSemaphore
+**
+**  Try to acquire a semaphore.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to the gckOS object.
+**
+**      gctPOINTER Semaphore
+**          Pointer to the semaphore thet needs to be acquired.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_TryAcquireSemaphore(
+    IN gckOS Os,
+    IN gctPOINTER Semaphore
+    )
+{
+    gceSTATUS status;
+
+    gcmkHEADER_ARG("Os=0x%x", Os);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Semaphore != gcvNULL);
+
+    /* Acquire the semaphore. */
+    if (down_trylock((struct semaphore *) Semaphore))
+    {
+        /* Timeout. */
+        status = gcvSTATUS_TIMEOUT;
+        gcmkFOOTER();
+        return status;
+    }
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckOS_ReleaseSemaphore
+**
+**  Release a previously acquired semaphore.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to the gckOS object.
+**
+**      gctPOINTER Semaphore
+**          Pointer to the semaphore thet needs to be released.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_ReleaseSemaphore(
+    IN gckOS Os,
+    IN gctPOINTER Semaphore
+    )
+{
+    gcmkHEADER_ARG("Os=0x%X Semaphore=0x%X", Os, Semaphore);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Semaphore != gcvNULL);
+
+    /* Release the semaphore. */
+    up((struct semaphore *) Semaphore);
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckOS_DestroySemaphore
+**
+**  Destroy a semaphore.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to the gckOS object.
+**
+**      gctPOINTER Semaphore
+**          Pointer to the semaphore thet needs to be destroyed.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_DestroySemaphore(
+    IN gckOS Os,
+    IN gctPOINTER Semaphore
+    )
+{
+    gcmkHEADER_ARG("Os=0x%X Semaphore=0x%X", Os, Semaphore);
+
+     /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Semaphore != gcvNULL);
+
+    /* Free the sempahore structure. */
+    kfree(Semaphore);
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckOS_GetProcessID
+**
+**  Get current process ID.
+**
+**  INPUT:
+**
+**      Nothing.
+**
+**  OUTPUT:
+**
+**      gctUINT32_PTR ProcessID
+**          Pointer to the variable that receives the process ID.
+*/
+gceSTATUS
+gckOS_GetProcessID(
+    OUT gctUINT32_PTR ProcessID
+    )
+{
+    /* Get process ID. */
+    if (ProcessID != gcvNULL)
+    {
+        *ProcessID = _GetProcessID();
+    }
+
+    /* Success. */
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckOS_GetThreadID
+**
+**  Get current thread ID.
+**
+**  INPUT:
+**
+**      Nothing.
+**
+**  OUTPUT:
+**
+**      gctUINT32_PTR ThreadID
+**          Pointer to the variable that receives the thread ID.
+*/
+gceSTATUS
+gckOS_GetThreadID(
+    OUT gctUINT32_PTR ThreadID
+    )
+{
+    /* Get thread ID. */
+    if (ThreadID != gcvNULL)
+    {
+        *ThreadID = _GetThreadID();
+    }
+
+    /* Success. */
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckOS_SetGPUPower
+**
+**  Set the power of the GPU on or off.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to a gckOS object.
+**
+**      gckCORE Core
+**          GPU whose power is set.
+**
+**      gctBOOL Clock
+**          gcvTRUE to turn on the clock, or gcvFALSE to turn off the clock.
+**
+**      gctBOOL Power
+**          gcvTRUE to turn on the power, or gcvFALSE to turn off the power.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_SetGPUPower(
+    IN gckOS Os,
+    IN gceCORE Core,
+    IN gctBOOL Clock,
+    IN gctBOOL Power
+    )
+{
+    struct clk *clk_3dcore = Os->device->clk_3d_core;
+    struct clk *clk_3dshader = Os->device->clk_3d_shader;
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0)
+    struct clk *clk_3d_axi = Os->device->clk_3d_axi;
+#endif
+    struct clk *clk_2dcore = Os->device->clk_2d_core;
+    struct clk *clk_2d_axi = Os->device->clk_2d_axi;
+    struct clk *clk_vg_axi = Os->device->clk_vg_axi;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,5,0) || LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)
+    int ret;
+#endif
+
+    gctBOOL oldClockState = gcvFALSE;
+    gctBOOL oldPowerState = gcvFALSE;
+
+    gcmkHEADER_ARG("Os=0x%X Core=%d Clock=%d Power=%d", Os, Core, Clock, Power);
+
+    if (Os->device->kernels[Core] != NULL)
+    {
+#if gcdENABLE_VG
+        if (Core == gcvCORE_VG)
+        {
+            oldClockState = Os->device->kernels[Core]->vg->hardware->clockState;
+            oldPowerState = Os->device->kernels[Core]->vg->hardware->powerState;
+        }
+        else
+        {
+#endif
+            oldClockState = Os->device->kernels[Core]->hardware->clockState;
+            oldPowerState = Os->device->kernels[Core]->hardware->powerState;
+#if gcdENABLE_VG
+        }
+#endif
+    }
+       if((Power == gcvTRUE) && (oldPowerState == gcvFALSE))
+       {
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,5,0) || LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)
+        if(!IS_ERR(Os->device->gpu_regulator)) {
+            ret = regulator_enable(Os->device->gpu_regulator);
+            if (ret != 0)
+                gckOS_Print("%s(%d): fail to enable pu regulator %d!\n",
+                    __FUNCTION__, __LINE__, ret);
+        }
+#else
+        imx_gpc_power_up_pu(true);
+#endif
+
+#ifdef CONFIG_PM
+               pm_runtime_get_sync(Os->device->pmdev);
+#endif
+       }
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,5,0)
+    if (Clock == gcvTRUE) {
+        if (oldClockState == gcvFALSE) {
+            switch (Core) {
+            case gcvCORE_MAJOR:
+                clk_enable(clk_3dcore);
+                if (cpu_is_mx6q())
+                    clk_enable(clk_3dshader);
+                break;
+            case gcvCORE_2D:
+                clk_enable(clk_2dcore);
+                clk_enable(clk_2d_axi);
+                break;
+            case gcvCORE_VG:
+                clk_enable(clk_2dcore);
+                clk_enable(clk_vg_axi);
+                break;
+            default:
+                break;
+            }
+        }
+    } else {
+        if (oldClockState == gcvTRUE) {
+            switch (Core) {
+            case gcvCORE_MAJOR:
+                if (cpu_is_mx6q())
+                    clk_disable(clk_3dshader);
+                clk_disable(clk_3dcore);
+                break;
+           case gcvCORE_2D:
+                clk_disable(clk_2dcore);
+                clk_disable(clk_2d_axi);
+                break;
+            case gcvCORE_VG:
+                clk_disable(clk_2dcore);
+                clk_disable(clk_vg_axi);
+                break;
+            default:
+                break;
+            }
+        }
+    }
+#else
+    if (Clock == gcvTRUE) {
+        if (oldClockState == gcvFALSE) {
+            switch (Core) {
+            case gcvCORE_MAJOR:
+                clk_prepare(clk_3dcore);
+                clk_enable(clk_3dcore);
+                clk_prepare(clk_3dshader);
+                clk_enable(clk_3dshader);
+                clk_prepare(clk_3d_axi);
+                clk_enable(clk_3d_axi);
+                break;
+            case gcvCORE_2D:
+                clk_prepare(clk_2dcore);
+                clk_enable(clk_2dcore);
+                clk_prepare(clk_2d_axi);
+                clk_enable(clk_2d_axi);
+                break;
+            case gcvCORE_VG:
+                clk_prepare(clk_2dcore);
+                clk_enable(clk_2dcore);
+                clk_prepare(clk_vg_axi);
+                clk_enable(clk_vg_axi);
+                break;
+            default:
+                break;
+            }
+        }
+    } else {
+        if (oldClockState == gcvTRUE) {
+            switch (Core) {
+            case gcvCORE_MAJOR:
+                clk_disable(clk_3dshader);
+                clk_unprepare(clk_3dshader);
+                clk_disable(clk_3dcore);
+                clk_unprepare(clk_3dcore);
+                clk_disable(clk_3d_axi);
+                clk_unprepare(clk_3d_axi);
+                break;
+           case gcvCORE_2D:
+                clk_disable(clk_2dcore);
+                clk_unprepare(clk_2dcore);
+                clk_disable(clk_2d_axi);
+                clk_unprepare(clk_2d_axi);
+                break;
+            case gcvCORE_VG:
+                clk_disable(clk_2dcore);
+                clk_unprepare(clk_2dcore);
+                clk_disable(clk_vg_axi);
+                clk_unprepare(clk_vg_axi);
+                break;
+            default:
+                break;
+            }
+        }
+    }
+#endif
+       if((Power == gcvFALSE) && (oldPowerState == gcvTRUE))
+       {
+#ifdef CONFIG_PM
+               pm_runtime_put_sync(Os->device->pmdev);
+#endif
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,5,0) || LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)
+        if(!IS_ERR(Os->device->gpu_regulator))
+            regulator_disable(Os->device->gpu_regulator);
+#else
+        imx_gpc_power_up_pu(false);
+#endif
+
+       }
+    /* TODO: Put your code here. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckOS_ResetGPU
+**
+**  Reset the GPU.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to a gckOS object.
+**
+**      gckCORE Core
+**          GPU whose power is set.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_ResetGPU(
+    IN gckOS Os,
+    IN gceCORE Core
+    )
+{
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,5,0)
+#define SRC_SCR_OFFSET 0
+#define BP_SRC_SCR_GPU3D_RST 1
+#define BP_SRC_SCR_GPU2D_RST 4
+    void __iomem *src_base = IO_ADDRESS(SRC_BASE_ADDR);
+    gctUINT32 bit_offset,val;
+
+    gcmkHEADER_ARG("Os=0x%X Core=%d", Os, Core);
+
+    if(Core == gcvCORE_MAJOR) {
+        bit_offset = BP_SRC_SCR_GPU3D_RST;
+    } else if((Core == gcvCORE_VG)
+            ||(Core == gcvCORE_2D)) {
+        bit_offset = BP_SRC_SCR_GPU2D_RST;
+    } else {
+        return gcvSTATUS_INVALID_CONFIG;
+    }
+    val = __raw_readl(src_base + SRC_SCR_OFFSET);
+    val &= ~(1 << (bit_offset));
+    val |= (1 << (bit_offset));
+    __raw_writel(val, src_base + SRC_SCR_OFFSET);
+
+    while ((__raw_readl(src_base + SRC_SCR_OFFSET) &
+                (1 << (bit_offset))) != 0) {
+    }
+
+    gcmkFOOTER_NO();
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)
+       struct reset_control *rstc = Os->device->rstc[Core];
+       if (rstc)
+               reset_control_reset(rstc);
+#else
+    imx_src_reset_gpu((int)Core);
+#endif
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckOS_PrepareGPUFrequency
+**
+**  Prepare to set GPU frequency and voltage.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to a gckOS object.
+**
+**      gckCORE Core
+**          GPU whose frequency and voltage will be set.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_PrepareGPUFrequency(
+    IN gckOS Os,
+    IN gceCORE Core
+    )
+{
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckOS_FinishGPUFrequency
+**
+**  Finish GPU frequency setting.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to a gckOS object.
+**
+**      gckCORE Core
+**          GPU whose frequency and voltage is set.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_FinishGPUFrequency(
+    IN gckOS Os,
+    IN gceCORE Core
+    )
+{
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckOS_QueryGPUFrequency
+**
+**  Query the current frequency of the GPU.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to a gckOS object.
+**
+**      gckCORE Core
+**          GPU whose power is set.
+**
+**      gctUINT32 * Frequency
+**          Pointer to a gctUINT32 to obtain current frequency, in MHz.
+**
+**      gctUINT8 * Scale
+**          Pointer to a gctUINT8 to obtain current scale(1 - 64).
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_QueryGPUFrequency(
+    IN gckOS Os,
+    IN gceCORE Core,
+    OUT gctUINT32 * Frequency,
+    OUT gctUINT8 * Scale
+    )
+{
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckOS_SetGPUFrequency
+**
+**  Set frequency and voltage of the GPU.
+**
+**      1. DVFS manager gives the target scale of full frequency, BSP must find
+**         a real frequency according to this scale and board's configure.
+**
+**      2. BSP should find a suitable voltage for this frequency.
+**
+**      3. BSP must make sure setting take effect before this function returns.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to a gckOS object.
+**
+**      gckCORE Core
+**          GPU whose power is set.
+**
+**      gctUINT8 Scale
+**          Target scale of full frequency, range is [1, 64]. 1 means 1/64 of
+**          full frequency and 64 means 64/64 of full frequency.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_SetGPUFrequency(
+    IN gckOS Os,
+    IN gceCORE Core,
+    IN gctUINT8 Scale
+    )
+{
+    return gcvSTATUS_OK;
+}
+
+/*----------------------------------------------------------------------------*/
+/*----- Profile --------------------------------------------------------------*/
+
+gceSTATUS
+gckOS_GetProfileTick(
+    OUT gctUINT64_PTR Tick
+    )
+{
+    struct timespec time;
+
+    ktime_get_ts(&time);
+
+    *Tick = time.tv_nsec + time.tv_sec * 1000000000ULL;
+
+    return gcvSTATUS_OK;
+}
+
+gceSTATUS
+gckOS_QueryProfileTickRate(
+    OUT gctUINT64_PTR TickRate
+    )
+{
+    struct timespec res;
+
+    hrtimer_get_res(CLOCK_MONOTONIC, &res);
+
+    *TickRate = res.tv_nsec + res.tv_sec * 1000000000ULL;
+
+    return gcvSTATUS_OK;
+}
+
+gctUINT32
+gckOS_ProfileToMS(
+    IN gctUINT64 Ticks
+    )
+{
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,23)
+    return div_u64(Ticks, 1000000);
+#else
+    gctUINT64 rem = Ticks;
+    gctUINT64 b = 1000000;
+    gctUINT64 res, d = 1;
+    gctUINT32 high = rem >> 32;
+
+    /* Reduce the thing a bit first */
+    res = 0;
+    if (high >= 1000000)
+    {
+        high /= 1000000;
+        res   = (gctUINT64) high << 32;
+        rem  -= (gctUINT64) (high * 1000000) << 32;
+    }
+
+    while (((gctINT64) b > 0) && (b < rem))
+    {
+        b <<= 1;
+        d <<= 1;
+    }
+
+    do
+    {
+        if (rem >= b)
+        {
+            rem -= b;
+            res += d;
+        }
+
+        b >>= 1;
+        d >>= 1;
+    }
+    while (d);
+
+    return (gctUINT32) res;
+#endif
+}
+
+/******************************************************************************\
+******************************* Signal Management ******************************
+\******************************************************************************/
+
+#undef _GC_OBJ_ZONE
+#define _GC_OBJ_ZONE    gcvZONE_SIGNAL
+
+/*******************************************************************************
+**
+**  gckOS_CreateSignal
+**
+**  Create a new signal.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      gctBOOL ManualReset
+**          If set to gcvTRUE, gckOS_Signal with gcvFALSE must be called in
+**          order to set the signal to nonsignaled state.
+**          If set to gcvFALSE, the signal will automatically be set to
+**          nonsignaled state by gckOS_WaitSignal function.
+**
+**  OUTPUT:
+**
+**      gctSIGNAL * Signal
+**          Pointer to a variable receiving the created gctSIGNAL.
+*/
+gceSTATUS
+gckOS_CreateSignal(
+    IN gckOS Os,
+    IN gctBOOL ManualReset,
+    OUT gctSIGNAL * Signal
+    )
+{
+    gceSTATUS status;
+    gcsSIGNAL_PTR signal;
+
+    gcmkHEADER_ARG("Os=0x%X ManualReset=%d", Os, ManualReset);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Signal != gcvNULL);
+
+    /* Create an event structure. */
+    signal = (gcsSIGNAL_PTR) kmalloc(sizeof(gcsSIGNAL), GFP_KERNEL | gcdNOWARN);
+
+    if (signal == gcvNULL)
+    {
+        gcmkONERROR(gcvSTATUS_OUT_OF_MEMORY);
+    }
+
+    /* Save the process ID. */
+    signal->process = (gctHANDLE)(gctUINTPTR_T) _GetProcessID();
+    signal->manualReset = ManualReset;
+    signal->hardware = gcvNULL;
+    init_completion(&signal->obj);
+    atomic_set(&signal->ref, 1);
+
+    gcmkONERROR(_AllocateIntegerId(&Os->signalDB, signal, &signal->id));
+
+    *Signal = (gctSIGNAL)(gctUINTPTR_T)signal->id;
+
+    gcmkFOOTER_ARG("*Signal=0x%X", *Signal);
+    return gcvSTATUS_OK;
+
+OnError:
+    if (signal != gcvNULL)
+    {
+        kfree(signal);
+    }
+
+    gcmkFOOTER_NO();
+    return status;
+}
+
+gceSTATUS
+gckOS_SignalQueryHardware(
+    IN gckOS Os,
+    IN gctSIGNAL Signal,
+    OUT gckHARDWARE * Hardware
+    )
+{
+    gceSTATUS status;
+    gcsSIGNAL_PTR signal;
+
+    gcmkHEADER_ARG("Os=0x%X Signal=0x%X Hardware=0x%X", Os, Signal, Hardware);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Signal != gcvNULL);
+    gcmkVERIFY_ARGUMENT(Hardware != gcvNULL);
+
+    gcmkONERROR(_QueryIntegerId(&Os->signalDB, (gctUINT32)(gctUINTPTR_T)Signal, (gctPOINTER)&signal));
+
+    *Hardware = signal->hardware;
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+OnError:
+    gcmkFOOTER();
+    return status;
+}
+
+gceSTATUS
+gckOS_SignalSetHardware(
+    IN gckOS Os,
+    IN gctSIGNAL Signal,
+    IN gckHARDWARE Hardware
+    )
+{
+    gceSTATUS status;
+    gcsSIGNAL_PTR signal;
+
+    gcmkHEADER_ARG("Os=0x%X Signal=0x%X Hardware=0x%X", Os, Signal, Hardware);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Signal != gcvNULL);
+
+    gcmkONERROR(_QueryIntegerId(&Os->signalDB, (gctUINT32)(gctUINTPTR_T)Signal, (gctPOINTER)&signal));
+
+    signal->hardware = Hardware;
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+OnError:
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckOS_DestroySignal
+**
+**  Destroy a signal.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      gctSIGNAL Signal
+**          Pointer to the gctSIGNAL.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_DestroySignal(
+    IN gckOS Os,
+    IN gctSIGNAL Signal
+    )
+{
+    gceSTATUS status;
+    gcsSIGNAL_PTR signal;
+    gctBOOL acquired = gcvFALSE;
+
+    gcmkHEADER_ARG("Os=0x%X Signal=0x%X", Os, Signal);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Signal != gcvNULL);
+
+    gcmkONERROR(gckOS_AcquireMutex(Os, Os->signalMutex, gcvINFINITE));
+    acquired = gcvTRUE;
+
+    gcmkONERROR(_QueryIntegerId(&Os->signalDB, (gctUINT32)(gctUINTPTR_T)Signal, (gctPOINTER)&signal));
+
+    gcmkASSERT(signal->id == (gctUINT32)(gctUINTPTR_T)Signal);
+
+    if (atomic_dec_and_test(&signal->ref))
+    {
+        gcmkVERIFY_OK(_DestroyIntegerId(&Os->signalDB, signal->id));
+
+        /* Free the sgianl. */
+        kfree(signal);
+    }
+
+    gcmkVERIFY_OK(gckOS_ReleaseMutex(Os, Os->signalMutex));
+    acquired = gcvFALSE;
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    if (acquired)
+    {
+        /* Release the mutex. */
+        gcmkVERIFY_OK(gckOS_ReleaseMutex(Os, Os->signalMutex));
+    }
+
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckOS_Signal
+**
+**  Set a state of the specified signal.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      gctSIGNAL Signal
+**          Pointer to the gctSIGNAL.
+**
+**      gctBOOL State
+**          If gcvTRUE, the signal will be set to signaled state.
+**          If gcvFALSE, the signal will be set to nonsignaled state.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_Signal(
+    IN gckOS Os,
+    IN gctSIGNAL Signal,
+    IN gctBOOL State
+    )
+{
+    gceSTATUS status;
+    gcsSIGNAL_PTR signal;
+    gctBOOL acquired = gcvFALSE;
+
+    gcmkHEADER_ARG("Os=0x%X Signal=0x%X State=%d", Os, Signal, State);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Signal != gcvNULL);
+
+    gcmkONERROR(gckOS_AcquireMutex(Os, Os->signalMutex, gcvINFINITE));
+    acquired = gcvTRUE;
+
+    gcmkONERROR(_QueryIntegerId(&Os->signalDB, (gctUINT32)(gctUINTPTR_T)Signal, (gctPOINTER)&signal));
+
+    gcmkASSERT(signal->id == (gctUINT32)(gctUINTPTR_T)Signal);
+
+    if (State)
+    {
+        /* unbind the signal from hardware. */
+        signal->hardware = gcvNULL;
+
+        /* Set the event to a signaled state. */
+        complete(&signal->obj);
+    }
+    else
+    {
+        /* Set the event to an unsignaled state. */
+       reinit_completion(&signal->obj);
+    }
+
+    gcmkVERIFY_OK(gckOS_ReleaseMutex(Os, Os->signalMutex));
+    acquired = gcvFALSE;
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    if (acquired)
+    {
+        /* Release the mutex. */
+        gcmkVERIFY_OK(gckOS_ReleaseMutex(Os, Os->signalMutex));
+    }
+
+    gcmkFOOTER();
+    return status;
+}
+
+#if gcdENABLE_VG
+gceSTATUS
+gckOS_SetSignalVG(
+    IN gckOS Os,
+    IN gctHANDLE Process,
+    IN gctSIGNAL Signal
+    )
+{
+    gceSTATUS status;
+    gctINT result;
+    struct task_struct * userTask;
+    struct siginfo info;
+
+    userTask = FIND_TASK_BY_PID((pid_t)(gctUINTPTR_T) Process);
+
+    if (userTask != gcvNULL)
+    {
+        info.si_signo = 48;
+        info.si_code  = __SI_CODE(__SI_RT, SI_KERNEL);
+        info.si_pid   = 0;
+        info.si_uid   = 0;
+        info.si_ptr   = (gctPOINTER) Signal;
+
+        /* Signals with numbers between 32 and 63 are real-time,
+           send a real-time signal to the user process. */
+        result = send_sig_info(48, &info, userTask);
+
+        printk("gckOS_SetSignalVG:0x%x\n", result);
+        /* Error? */
+        if (result < 0)
+        {
+            status = gcvSTATUS_GENERIC_IO;
+
+            gcmkTRACE(
+                gcvLEVEL_ERROR,
+                "%s(%d): an error has occurred.\n",
+                __FUNCTION__, __LINE__
+                );
+        }
+        else
+        {
+            status = gcvSTATUS_OK;
+        }
+    }
+    else
+    {
+        status = gcvSTATUS_GENERIC_IO;
+
+        gcmkTRACE(
+            gcvLEVEL_ERROR,
+            "%s(%d): an error has occurred.\n",
+            __FUNCTION__, __LINE__
+            );
+    }
+
+    /* Return status. */
+    return status;
+}
+#endif
+
+/*******************************************************************************
+**
+**  gckOS_UserSignal
+**
+**  Set the specified signal which is owned by a process to signaled state.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      gctSIGNAL Signal
+**          Pointer to the gctSIGNAL.
+**
+**      gctHANDLE Process
+**          Handle of process owning the signal.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_UserSignal(
+    IN gckOS Os,
+    IN gctSIGNAL Signal,
+    IN gctHANDLE Process
+    )
+{
+    gceSTATUS status;
+    gctSIGNAL signal;
+
+    gcmkHEADER_ARG("Os=0x%X Signal=0x%X Process=%d",
+                   Os, Signal, (gctINT32)(gctUINTPTR_T)Process);
+
+    /* Map the signal into kernel space. */
+    gcmkONERROR(gckOS_MapSignal(Os, Signal, Process, &signal));
+
+    /* Signal. */
+    status = gckOS_Signal(Os, signal, gcvTRUE);
+
+    /* Unmap the signal */
+    gcmkVERIFY_OK(gckOS_UnmapSignal(Os, Signal));
+
+    gcmkFOOTER();
+    return status;
+
+OnError:
+    /* Return the status. */
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckOS_WaitSignal
+**
+**  Wait for a signal to become signaled.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      gctSIGNAL Signal
+**          Pointer to the gctSIGNAL.
+**
+**      gctUINT32 Wait
+**          Number of milliseconds to wait.
+**          Pass the value of gcvINFINITE for an infinite wait.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_WaitSignal(
+    IN gckOS Os,
+    IN gctSIGNAL Signal,
+    IN gctUINT32 Wait
+    )
+{
+    gceSTATUS status = gcvSTATUS_OK;
+    gcsSIGNAL_PTR signal;
+
+    gcmkHEADER_ARG("Os=0x%X Signal=0x%X Wait=0x%08X", Os, Signal, Wait);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Signal != gcvNULL);
+
+    gcmkONERROR(_QueryIntegerId(&Os->signalDB, (gctUINT32)(gctUINTPTR_T)Signal, (gctPOINTER)&signal));
+
+    gcmkASSERT(signal->id == (gctUINT32)(gctUINTPTR_T)Signal);
+
+    might_sleep();
+
+    spin_lock_irq(&signal->obj.wait.lock);
+
+    if (signal->obj.done)
+    {
+        if (!signal->manualReset)
+        {
+            signal->obj.done = 0;
+        }
+
+        status = gcvSTATUS_OK;
+    }
+    else if (Wait == 0)
+    {
+        status = gcvSTATUS_TIMEOUT;
+    }
+    else
+    {
+        /* Convert wait to milliseconds. */
+#if gcdDETECT_TIMEOUT
+        gctINT timeout = (Wait == gcvINFINITE)
+            ? gcdINFINITE_TIMEOUT * HZ / 1000
+            : Wait * HZ / 1000;
+
+        gctUINT complained = 0;
+#else
+        gctINT timeout = (Wait == gcvINFINITE)
+            ? MAX_SCHEDULE_TIMEOUT
+            : Wait * HZ / 1000;
+#endif
+
+        DECLARE_WAITQUEUE(wait, current);
+        wait.flags |= WQ_FLAG_EXCLUSIVE;
+        __add_wait_queue_tail(&signal->obj.wait, &wait);
+
+        while (gcvTRUE)
+        {
+            if (signal_pending(current))
+            {
+                /* Interrupt received. */
+                status = gcvSTATUS_INTERRUPTED;
+                break;
+            }
+
+            __set_current_state(TASK_INTERRUPTIBLE);
+            spin_unlock_irq(&signal->obj.wait.lock);
+            timeout = schedule_timeout(timeout);
+            spin_lock_irq(&signal->obj.wait.lock);
+
+            if (signal->obj.done)
+            {
+                if (!signal->manualReset)
+                {
+                    signal->obj.done = 0;
+                }
+
+                status = gcvSTATUS_OK;
+                break;
+            }
+
+#if gcdDETECT_TIMEOUT
+            if ((Wait == gcvINFINITE) && (timeout == 0))
+            {
+                gctUINT32 dmaAddress1, dmaAddress2;
+                gctUINT32 dmaState1, dmaState2;
+
+                dmaState1   = dmaState2   =
+                dmaAddress1 = dmaAddress2 = 0;
+
+                /* Verify whether DMA is running. */
+                gcmkVERIFY_OK(_VerifyDMA(
+                    Os, &dmaAddress1, &dmaAddress2, &dmaState1, &dmaState2
+                    ));
+
+#if gcdDETECT_DMA_ADDRESS
+                /* Dump only if DMA appears stuck. */
+                if (
+                    (dmaAddress1 == dmaAddress2)
+#if gcdDETECT_DMA_STATE
+                 && (dmaState1   == dmaState2)
+#endif
+                )
+#endif
+                {
+                    /* Increment complain count. */
+                    complained += 1;
+
+                    gcmkVERIFY_OK(_DumpGPUState(Os, gcvCORE_MAJOR));
+
+                    gcmkPRINT(
+                        "%s(%d): signal 0x%X; forced message flush (%d).",
+                        __FUNCTION__, __LINE__, Signal, complained
+                        );
+
+                    /* Flush the debug cache. */
+                    gcmkDEBUGFLUSH(dmaAddress2);
+                }
+
+                /* Reset timeout. */
+                timeout = gcdINFINITE_TIMEOUT * HZ / 1000;
+            }
+#endif
+
+            if (timeout == 0)
+            {
+
+                status = gcvSTATUS_TIMEOUT;
+                break;
+            }
+        }
+
+        __remove_wait_queue(&signal->obj.wait, &wait);
+
+#if gcdDETECT_TIMEOUT
+        if (complained)
+        {
+            gcmkPRINT(
+                "%s(%d): signal=0x%X; waiting done; status=%d",
+                __FUNCTION__, __LINE__, Signal, status
+                );
+        }
+#endif
+    }
+
+    spin_unlock_irq(&signal->obj.wait.lock);
+
+OnError:
+    /* Return status. */
+    gcmkFOOTER_ARG("Signal=0x%X status=%d", Signal, status);
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckOS_MapSignal
+**
+**  Map a signal in to the current process space.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      gctSIGNAL Signal
+**          Pointer to tha gctSIGNAL to map.
+**
+**      gctHANDLE Process
+**          Handle of process owning the signal.
+**
+**  OUTPUT:
+**
+**      gctSIGNAL * MappedSignal
+**          Pointer to a variable receiving the mapped gctSIGNAL.
+*/
+gceSTATUS
+gckOS_MapSignal(
+    IN gckOS Os,
+    IN gctSIGNAL Signal,
+    IN gctHANDLE Process,
+    OUT gctSIGNAL * MappedSignal
+    )
+{
+    gceSTATUS status;
+    gcsSIGNAL_PTR signal;
+    gcmkHEADER_ARG("Os=0x%X Signal=0x%X Process=0x%X", Os, Signal, Process);
+
+    gcmkVERIFY_ARGUMENT(Signal != gcvNULL);
+    gcmkVERIFY_ARGUMENT(MappedSignal != gcvNULL);
+
+    gcmkONERROR(_QueryIntegerId(&Os->signalDB, (gctUINT32)(gctUINTPTR_T)Signal, (gctPOINTER)&signal));
+
+    if(atomic_inc_return(&signal->ref) <= 1)
+    {
+        /* The previous value is 0, it has been deleted. */
+        gcmkONERROR(gcvSTATUS_INVALID_ARGUMENT);
+    }
+
+    *MappedSignal = (gctSIGNAL) Signal;
+
+    /* Success. */
+    gcmkFOOTER_ARG("*MappedSignal=0x%X", *MappedSignal);
+    return gcvSTATUS_OK;
+
+OnError:
+    gcmkFOOTER_NO();
+    return status;
+}
+
+/*******************************************************************************
+**
+**     gckOS_UnmapSignal
+**
+**     Unmap a signal .
+**
+**     INPUT:
+**
+**             gckOS Os
+**                     Pointer to an gckOS object.
+**
+**             gctSIGNAL Signal
+**                     Pointer to that gctSIGNAL mapped.
+*/
+gceSTATUS
+gckOS_UnmapSignal(
+    IN gckOS Os,
+    IN gctSIGNAL Signal
+    )
+{
+    return gckOS_DestroySignal(Os, Signal);
+}
+
+/*******************************************************************************
+**
+**  gckOS_CreateUserSignal
+**
+**  Create a new signal to be used in the user space.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      gctBOOL ManualReset
+**          If set to gcvTRUE, gckOS_Signal with gcvFALSE must be called in
+**          order to set the signal to nonsignaled state.
+**          If set to gcvFALSE, the signal will automatically be set to
+**          nonsignaled state by gckOS_WaitSignal function.
+**
+**  OUTPUT:
+**
+**      gctINT * SignalID
+**          Pointer to a variable receiving the created signal's ID.
+*/
+gceSTATUS
+gckOS_CreateUserSignal(
+    IN gckOS Os,
+    IN gctBOOL ManualReset,
+    OUT gctINT * SignalID
+    )
+{
+    gceSTATUS status;
+    gctSIZE_T signal;
+
+    /* Create a new signal. */
+    status = gckOS_CreateSignal(Os, ManualReset, (gctSIGNAL *) &signal);
+    *SignalID = (gctINT) signal;
+
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckOS_DestroyUserSignal
+**
+**  Destroy a signal to be used in the user space.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      gctINT SignalID
+**          The signal's ID.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_DestroyUserSignal(
+    IN gckOS Os,
+    IN gctINT SignalID
+    )
+{
+    return gckOS_DestroySignal(Os, (gctSIGNAL)(gctUINTPTR_T)SignalID);
+}
+
+/*******************************************************************************
+**
+**  gckOS_WaitUserSignal
+**
+**  Wait for a signal used in the user mode to become signaled.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      gctINT SignalID
+**          Signal ID.
+**
+**      gctUINT32 Wait
+**          Number of milliseconds to wait.
+**          Pass the value of gcvINFINITE for an infinite wait.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_WaitUserSignal(
+    IN gckOS Os,
+    IN gctINT SignalID,
+    IN gctUINT32 Wait
+    )
+{
+    return gckOS_WaitSignal(Os, (gctSIGNAL)(gctUINTPTR_T)SignalID, Wait);
+}
+
+/*******************************************************************************
+**
+**  gckOS_SignalUserSignal
+**
+**  Set a state of the specified signal to be used in the user space.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to an gckOS object.
+**
+**      gctINT SignalID
+**          SignalID.
+**
+**      gctBOOL State
+**          If gcvTRUE, the signal will be set to signaled state.
+**          If gcvFALSE, the signal will be set to nonsignaled state.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_SignalUserSignal(
+    IN gckOS Os,
+    IN gctINT SignalID,
+    IN gctBOOL State
+    )
+{
+    return gckOS_Signal(Os, (gctSIGNAL)(gctUINTPTR_T)SignalID, State);
+}
+
+#if gcdENABLE_VG
+gceSTATUS
+gckOS_CreateSemaphoreVG(
+    IN gckOS Os,
+    OUT gctSEMAPHORE * Semaphore
+    )
+{
+    gceSTATUS status;
+    struct semaphore * newSemaphore;
+
+    gcmkHEADER_ARG("Os=0x%X Semaphore=0x%x", Os, Semaphore);
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Semaphore != gcvNULL);
+
+    do
+    {
+        /* Allocate the semaphore structure. */
+       newSemaphore = (struct semaphore *)kmalloc(gcmSIZEOF(struct semaphore), GFP_KERNEL | gcdNOWARN);
+       if (newSemaphore == gcvNULL)
+       {
+               gcmkERR_BREAK(gcvSTATUS_OUT_OF_MEMORY);
+       }
+
+        /* Initialize the semaphore. */
+        sema_init(newSemaphore, 0);
+
+        /* Set the handle. */
+        * Semaphore = (gctSEMAPHORE) newSemaphore;
+
+        /* Success. */
+        status = gcvSTATUS_OK;
+    }
+    while (gcvFALSE);
+
+    gcmkFOOTER();
+    /* Return the status. */
+    return status;
+}
+
+
+gceSTATUS
+gckOS_IncrementSemaphore(
+    IN gckOS Os,
+    IN gctSEMAPHORE Semaphore
+    )
+{
+    gcmkHEADER_ARG("Os=0x%X Semaphore=0x%x", Os, Semaphore);
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Semaphore != gcvNULL);
+
+    /* Increment the semaphore's count. */
+    up((struct semaphore *) Semaphore);
+
+    gcmkFOOTER_NO();
+    /* Success. */
+    return gcvSTATUS_OK;
+}
+
+gceSTATUS
+gckOS_DecrementSemaphore(
+    IN gckOS Os,
+    IN gctSEMAPHORE Semaphore
+    )
+{
+    gceSTATUS status;
+    gctINT result;
+
+    gcmkHEADER_ARG("Os=0x%X Semaphore=0x%x", Os, Semaphore);
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Semaphore != gcvNULL);
+
+    do
+    {
+        /* Decrement the semaphore's count. If the count is zero, wait
+           until it gets incremented. */
+        result = down_interruptible((struct semaphore *) Semaphore);
+
+        /* Signal received? */
+        if (result != 0)
+        {
+            status = gcvSTATUS_TERMINATE;
+            break;
+        }
+
+        /* Success. */
+        status = gcvSTATUS_OK;
+    }
+    while (gcvFALSE);
+
+    gcmkFOOTER();
+    /* Return the status. */
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckOS_SetSignal
+**
+**  Set the specified signal to signaled state.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to the gckOS object.
+**
+**      gctHANDLE Process
+**          Handle of process owning the signal.
+**
+**      gctSIGNAL Signal
+**          Pointer to the gctSIGNAL.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_SetSignal(
+    IN gckOS Os,
+    IN gctHANDLE Process,
+    IN gctSIGNAL Signal
+    )
+{
+    gceSTATUS status;
+    gctINT result;
+    struct task_struct * userTask;
+    struct siginfo info;
+
+    userTask = FIND_TASK_BY_PID((pid_t)(gctUINTPTR_T) Process);
+
+    if (userTask != gcvNULL)
+    {
+        info.si_signo = 48;
+        info.si_code  = __SI_CODE(__SI_RT, SI_KERNEL);
+        info.si_pid   = 0;
+        info.si_uid   = 0;
+        info.si_ptr   = (gctPOINTER) Signal;
+
+        /* Signals with numbers between 32 and 63 are real-time,
+           send a real-time signal to the user process. */
+        result = send_sig_info(48, &info, userTask);
+
+        /* Error? */
+        if (result < 0)
+        {
+            status = gcvSTATUS_GENERIC_IO;
+
+            gcmkTRACE(
+                gcvLEVEL_ERROR,
+                "%s(%d): an error has occurred.\n",
+                __FUNCTION__, __LINE__
+                );
+        }
+        else
+        {
+            status = gcvSTATUS_OK;
+        }
+    }
+    else
+    {
+        status = gcvSTATUS_GENERIC_IO;
+
+        gcmkTRACE(
+            gcvLEVEL_ERROR,
+            "%s(%d): an error has occurred.\n",
+            __FUNCTION__, __LINE__
+            );
+    }
+
+    /* Return status. */
+    return status;
+}
+
+/******************************************************************************\
+******************************** Thread Object *********************************
+\******************************************************************************/
+
+gceSTATUS
+gckOS_StartThread(
+    IN gckOS Os,
+    IN gctTHREADFUNC ThreadFunction,
+    IN gctPOINTER ThreadParameter,
+    OUT gctTHREAD * Thread
+    )
+{
+    gceSTATUS status;
+    struct task_struct * thread;
+
+    gcmkHEADER_ARG("Os=0x%X ", Os);
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(ThreadFunction != gcvNULL);
+    gcmkVERIFY_ARGUMENT(Thread != gcvNULL);
+
+    do
+    {
+        /* Create the thread. */
+        thread = kthread_create(
+            ThreadFunction,
+            ThreadParameter,
+            "Vivante Kernel Thread"
+            );
+
+        /* Failed? */
+        if (IS_ERR(thread))
+        {
+            status = gcvSTATUS_GENERIC_IO;
+            break;
+        }
+
+        /* Start the thread. */
+        wake_up_process(thread);
+
+        /* Set the thread handle. */
+        * Thread = (gctTHREAD) thread;
+
+        /* Success. */
+        status = gcvSTATUS_OK;
+    }
+    while (gcvFALSE);
+
+    gcmkFOOTER();
+    /* Return the status. */
+    return status;
+}
+
+gceSTATUS
+gckOS_StopThread(
+    IN gckOS Os,
+    IN gctTHREAD Thread
+    )
+{
+    gcmkHEADER_ARG("Os=0x%X Thread=0x%x", Os, Thread);
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Thread != gcvNULL);
+
+    /* Thread should have already been enabled to terminate. */
+    kthread_stop((struct task_struct *) Thread);
+
+    gcmkFOOTER_NO();
+    /* Success. */
+    return gcvSTATUS_OK;
+}
+
+gceSTATUS
+gckOS_VerifyThread(
+    IN gckOS Os,
+    IN gctTHREAD Thread
+    )
+{
+    gcmkHEADER_ARG("Os=0x%X Thread=0x%x", Os, Thread);
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Thread != gcvNULL);
+
+    gcmkFOOTER_NO();
+    /* Success. */
+    return gcvSTATUS_OK;
+}
+#endif
+
+/******************************************************************************\
+******************************** Software Timer ********************************
+\******************************************************************************/
+
+void
+_TimerFunction(
+    struct work_struct * work
+    )
+{
+    gcsOSTIMER_PTR timer = (gcsOSTIMER_PTR)work;
+
+    gctTIMERFUNCTION function = timer->function;
+
+    function(timer->data);
+}
+
+/*******************************************************************************
+**
+**  gckOS_CreateTimer
+**
+**  Create a software timer.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to the gckOS object.
+**
+**      gctTIMERFUNCTION Function.
+**          Pointer to a call back function which will be called when timer is
+**          expired.
+**
+**      gctPOINTER Data.
+**          Private data which will be passed to call back function.
+**
+**  OUTPUT:
+**
+**      gctPOINTER * Timer
+**          Pointer to a variable receiving the created timer.
+*/
+gceSTATUS
+gckOS_CreateTimer(
+    IN gckOS Os,
+    IN gctTIMERFUNCTION Function,
+    IN gctPOINTER Data,
+    OUT gctPOINTER * Timer
+    )
+{
+    gceSTATUS status;
+    gcsOSTIMER_PTR pointer;
+    gcmkHEADER_ARG("Os=0x%X Function=0x%X Data=0x%X", Os, Function, Data);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Timer != gcvNULL);
+
+    gcmkONERROR(gckOS_Allocate(Os, sizeof(gcsOSTIMER), (gctPOINTER)&pointer));
+
+    pointer->function = Function;
+    pointer->data = Data;
+
+    INIT_DELAYED_WORK(&pointer->work, _TimerFunction);
+
+    *Timer = pointer;
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    gcmkFOOTER();
+    return status;
+}
+
+/*******************************************************************************
+**
+**  gckOS_DestroyTimer
+**
+**  Destory a software timer.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to the gckOS object.
+**
+**      gctPOINTER Timer
+**          Pointer to the timer to be destoryed.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_DestroyTimer(
+    IN gckOS Os,
+    IN gctPOINTER Timer
+    )
+{
+    gcsOSTIMER_PTR timer;
+    gcmkHEADER_ARG("Os=0x%X Timer=0x%X", Os, Timer);
+
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Timer != gcvNULL);
+
+    timer = (gcsOSTIMER_PTR)Timer;
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23)
+    cancel_delayed_work_sync(&timer->work);
+#else
+    cancel_delayed_work(&timer->work);
+    flush_workqueue(Os->workqueue);
+#endif
+
+    gcmkVERIFY_OK(gcmkOS_SAFE_FREE(Os, Timer));
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckOS_StartTimer
+**
+**  Schedule a software timer.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to the gckOS object.
+**
+**      gctPOINTER Timer
+**          Pointer to the timer to be scheduled.
+**
+**      gctUINT32 Delay
+**          Delay in milliseconds.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_StartTimer(
+    IN gckOS Os,
+    IN gctPOINTER Timer,
+    IN gctUINT32 Delay
+    )
+{
+    gcsOSTIMER_PTR timer;
+
+    gcmkHEADER_ARG("Os=0x%X Timer=0x%X Delay=%u", Os, Timer, Delay);
+
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Timer != gcvNULL);
+    gcmkVERIFY_ARGUMENT(Delay != 0);
+
+    timer = (gcsOSTIMER_PTR)Timer;
+
+    if (unlikely(delayed_work_pending(&timer->work)))
+    {
+        if (unlikely(!cancel_delayed_work(&timer->work)))
+        {
+            cancel_work_sync(&timer->work.work);
+
+            if (unlikely(delayed_work_pending(&timer->work)))
+            {
+                gckOS_Print("gckOS_StartTimer error, the pending worker cannot complete!!!! \n");
+
+                return gcvSTATUS_INVALID_REQUEST;
+            }
+        }
+    }
+
+    queue_delayed_work(Os->workqueue, &timer->work, msecs_to_jiffies(Delay));
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+/*******************************************************************************
+**
+**  gckOS_StopTimer
+**
+**  Cancel a unscheduled timer.
+**
+**  INPUT:
+**
+**      gckOS Os
+**          Pointer to the gckOS object.
+**
+**      gctPOINTER Timer
+**          Pointer to the timer to be cancel.
+**
+**  OUTPUT:
+**
+**      Nothing.
+*/
+gceSTATUS
+gckOS_StopTimer(
+    IN gckOS Os,
+    IN gctPOINTER Timer
+    )
+{
+    gcsOSTIMER_PTR timer;
+    gcmkHEADER_ARG("Os=0x%X Timer=0x%X", Os, Timer);
+
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(Timer != gcvNULL);
+
+    timer = (gcsOSTIMER_PTR)Timer;
+
+    cancel_delayed_work(&timer->work);
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+
+gceSTATUS
+gckOS_DumpCallStack(
+    IN gckOS Os
+    )
+{
+    gcmkHEADER_ARG("Os=0x%X", Os);
+
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+
+    dump_stack();
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
+
+gceSTATUS
+gckOS_GetProcessNameByPid(
+    IN gctINT Pid,
+    IN gctSIZE_T Length,
+    OUT gctUINT8_PTR String
+    )
+{
+    struct task_struct *task;
+
+    /* Get the task_struct of the task with pid. */
+    rcu_read_lock();
+
+    task = FIND_TASK_BY_PID(Pid);
+
+    if (task == gcvNULL)
+    {
+        rcu_read_unlock();
+        return gcvSTATUS_NOT_FOUND;
+    }
+
+    /* Get name of process. */
+    strncpy(String, task->comm, Length);
+
+    rcu_read_unlock();
+
+    return gcvSTATUS_OK;
+}
+
+#if gcdANDROID_NATIVE_FENCE_SYNC
+
+gceSTATUS
+gckOS_CreateSyncPoint(
+    IN gckOS Os,
+    OUT gctSYNC_POINT * SyncPoint
+    )
+{
+    gceSTATUS status;
+    gcsSYNC_POINT_PTR syncPoint;
+
+    gcmkHEADER_ARG("Os=0x%X", Os);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+
+    /* Create an sync point structure. */
+    syncPoint = (gcsSYNC_POINT_PTR) kmalloc(
+            sizeof(gcsSYNC_POINT), GFP_KERNEL | gcdNOWARN);
+
+    if (syncPoint == gcvNULL)
+    {
+        gcmkONERROR(gcvSTATUS_OUT_OF_MEMORY);
+    }
+
+    /* Initialize the sync point. */
+    atomic_set(&syncPoint->ref, 1);
+    atomic_set(&syncPoint->state, 0);
+
+    gcmkONERROR(_AllocateIntegerId(&Os->syncPointDB, syncPoint, &syncPoint->id));
+
+    *SyncPoint = (gctSYNC_POINT)(gctUINTPTR_T)syncPoint->id;
+
+    gcmkFOOTER_ARG("*SyncPonint=%d", syncPoint->id);
+    return gcvSTATUS_OK;
+
+OnError:
+    if (syncPoint != gcvNULL)
+    {
+        kfree(syncPoint);
+    }
+
+    gcmkFOOTER();
+    return status;
+}
+
+gceSTATUS
+gckOS_ReferenceSyncPoint(
+    IN gckOS Os,
+    IN gctSYNC_POINT SyncPoint
+    )
+{
+    gceSTATUS status;
+    gcsSYNC_POINT_PTR syncPoint;
+
+    gcmkHEADER_ARG("Os=0x%X", Os);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(SyncPoint != gcvNULL);
+
+    gcmkONERROR(
+        _QueryIntegerId(&Os->syncPointDB,
+                        (gctUINT32)(gctUINTPTR_T)SyncPoint,
+                        (gctPOINTER)&syncPoint));
+
+    /* Initialize the sync point. */
+    atomic_inc(&syncPoint->ref);
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    gcmkFOOTER();
+    return status;
+}
+
+gceSTATUS
+gckOS_DestroySyncPoint(
+    IN gckOS Os,
+    IN gctSYNC_POINT SyncPoint
+    )
+{
+    gceSTATUS status;
+    gcsSYNC_POINT_PTR syncPoint;
+    gctBOOL acquired = gcvFALSE;
+
+    gcmkHEADER_ARG("Os=0x%X SyncPoint=%d", Os, (gctUINT32)(gctUINTPTR_T)SyncPoint);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(SyncPoint != gcvNULL);
+
+    gcmkONERROR(gckOS_AcquireMutex(Os, Os->syncPointMutex, gcvINFINITE));
+    acquired = gcvTRUE;
+
+    gcmkONERROR(
+        _QueryIntegerId(&Os->syncPointDB,
+                        (gctUINT32)(gctUINTPTR_T)SyncPoint,
+                        (gctPOINTER)&syncPoint));
+
+    gcmkASSERT(syncPoint->id == (gctUINT32)(gctUINTPTR_T)SyncPoint);
+
+    if (atomic_dec_and_test(&syncPoint->ref))
+    {
+        gcmkVERIFY_OK(_DestroyIntegerId(&Os->syncPointDB, syncPoint->id));
+
+        /* Free the sgianl. */
+        syncPoint->timeline = gcvNULL;
+        kfree(syncPoint);
+    }
+
+    gcmkVERIFY_OK(gckOS_ReleaseMutex(Os, Os->syncPointMutex));
+    acquired = gcvFALSE;
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    if (acquired)
+    {
+        /* Release the mutex. */
+        gcmkVERIFY_OK(gckOS_ReleaseMutex(Os, Os->syncPointMutex));
+    }
+
+    gcmkFOOTER();
+    return status;
+}
+
+gceSTATUS
+gckOS_SignalSyncPoint(
+    IN gckOS Os,
+    IN gctSYNC_POINT SyncPoint
+    )
+{
+    gceSTATUS status;
+    gcsSYNC_POINT_PTR syncPoint;
+    gctBOOL acquired = gcvFALSE;
+
+    gcmkHEADER_ARG("Os=0x%X SyncPoint=%d", Os, (gctUINT32)(gctUINTPTR_T)SyncPoint);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(SyncPoint != gcvNULL);
+
+    gcmkONERROR(gckOS_AcquireMutex(Os, Os->syncPointMutex, gcvINFINITE));
+    acquired = gcvTRUE;
+
+    gcmkONERROR(
+        _QueryIntegerId(&Os->syncPointDB,
+                        (gctUINT32)(gctUINTPTR_T)SyncPoint,
+                        (gctPOINTER)&syncPoint));
+
+    gcmkASSERT(syncPoint->id == (gctUINT32)(gctUINTPTR_T)SyncPoint);
+
+    /* Get state. */
+    atomic_set(&syncPoint->state, gcvTRUE);
+
+    /* Signal timeline. */
+    if (syncPoint->timeline)
+    {
+        sync_timeline_signal(syncPoint->timeline);
+    }
+
+    gcmkVERIFY_OK(gckOS_ReleaseMutex(Os, Os->syncPointMutex));
+    acquired = gcvFALSE;
+
+    /* Success. */
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+
+OnError:
+    if (acquired)
+    {
+        /* Release the mutex. */
+        gcmkVERIFY_OK(gckOS_ReleaseMutex(Os, Os->syncPointMutex));
+    }
+
+    gcmkFOOTER();
+    return status;
+}
+
+gceSTATUS
+gckOS_QuerySyncPoint(
+    IN gckOS Os,
+    IN gctSYNC_POINT SyncPoint,
+    OUT gctBOOL_PTR State
+    )
+{
+    gceSTATUS status;
+    gcsSYNC_POINT_PTR syncPoint;
+
+    gcmkHEADER_ARG("Os=0x%X SyncPoint=%d", Os, (gctUINT32)(gctUINTPTR_T)SyncPoint);
+
+    /* Verify the arguments. */
+    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
+    gcmkVERIFY_ARGUMENT(SyncPoint != gcvNULL);
+
+    gcmkONERROR(
+        _QueryIntegerId(&Os->syncPointDB,
+                        (gctUINT32)(gctUINTPTR_T)SyncPoint,
+                        (gctPOINTER)&syncPoint));
+
+    gcmkASSERT(syncPoint->id == (gctUINT32)(gctUINTPTR_T)SyncPoint);
+
+    /* Get state. */
+    *State = atomic_read(&syncPoint->state);
+
+    /* Success. */
+    gcmkFOOTER_ARG("*State=%d", *State);
+    return gcvSTATUS_OK;
+
+OnError:
+    gcmkFOOTER();
+    return status;
+}
+
+gceSTATUS
+gckOS_CreateSyncTimeline(
+    IN gckOS Os,
+    OUT gctHANDLE * Timeline
+    )
+{
+    struct viv_sync_timeline * timeline;
+
+    /* Create viv sync timeline. */
+    timeline = viv_sync_timeline_create("viv timeline", Os);
+
+    if (timeline == gcvNULL)
+    {
+        /* Out of memory. */
+        return gcvSTATUS_OUT_OF_MEMORY;
+    }
+
+    *Timeline = (gctHANDLE) timeline;
+    return gcvSTATUS_OK;
+}
+
+gceSTATUS
+gckOS_DestroySyncTimeline(
+    IN gckOS Os,
+    IN gctHANDLE Timeline
+    )
+{
+    struct viv_sync_timeline * timeline;
+    gcmkASSERT(Timeline != gcvNULL);
+
+    /* Destroy timeline. */
+    timeline = (struct viv_sync_timeline *) Timeline;
+    sync_timeline_destroy(&timeline->obj);
+
+    return gcvSTATUS_OK;
+}
+
+gceSTATUS
+gckOS_CreateNativeFence(
+    IN gckOS Os,
+    IN gctHANDLE Timeline,
+    IN gctSYNC_POINT SyncPoint,
+    OUT gctINT * FenceFD
+    )
+{
+    int fd = -1;
+    struct viv_sync_timeline *timeline;
+    struct sync_pt * pt = gcvNULL;
+    struct sync_fence * fence;
+    char name[32];
+    gcsSYNC_POINT_PTR syncPoint;
+    gceSTATUS status;
+
+    gcmkHEADER_ARG("Os=0x%X Timeline=0x%X SyncPoint=%d",
+                   Os, Timeline, (gctUINT)(gctUINTPTR_T)SyncPoint);
+
+    gcmkONERROR(
+        _QueryIntegerId(&Os->syncPointDB,
+                        (gctUINT32)(gctUINTPTR_T)SyncPoint,
+                        (gctPOINTER)&syncPoint));
+
+    /* Cast timeline. */
+    timeline = (struct viv_sync_timeline *) Timeline;
+
+    fd = get_unused_fd();
+
+    if (fd < 0)
+    {
+        /* Out of resources. */
+        gcmkONERROR(gcvSTATUS_OUT_OF_RESOURCES);
+    }
+
+    /* Create viv_sync_pt. */
+    pt = viv_sync_pt_create(timeline, SyncPoint);
+
+    if (pt == gcvNULL)
+    {
+        gcmkONERROR(gcvSTATUS_OUT_OF_MEMORY);
+    }
+
+    /* Reference sync_timeline. */
+    syncPoint->timeline = &timeline->obj;
+
+    /* Build fence name. */
+    snprintf(name, 32, "viv sync_fence-%u", (gctUINT)(gctUINTPTR_T)SyncPoint);
+
+    /* Create sync_fence. */
+    fence = sync_fence_create(name, pt);
+
+    if (fence == NULL)
+    {
+        gcmkONERROR(gcvSTATUS_OUT_OF_MEMORY);
+    }
+
+    /* Install fence to fd. */
+    sync_fence_install(fence, fd);
+
+    *FenceFD = fd;
+    gcmkFOOTER_ARG("*FenceFD=%d", fd);
+    return gcvSTATUS_OK;
+
+OnError:
+    /* Error roll back. */
+    if (pt)
+    {
+        sync_pt_free(pt);
+    }
+
+    if (fd > 0)
+    {
+        put_unused_fd(fd);
+    }
+
+    gcmkFOOTER();
+    return status;
+}
+#endif
diff --git a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.h b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.h
new file mode 100644 (file)
index 0000000..b220817
--- /dev/null
@@ -0,0 +1,83 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#ifndef __gc_hal_kernel_os_h_
+#define __gc_hal_kernel_os_h_
+
+typedef struct _LINUX_MDL_MAP
+{
+    gctINT                  pid;
+    gctPOINTER              vmaAddr;
+    gctUINT32               count;
+    struct vm_area_struct * vma;
+    struct _LINUX_MDL_MAP * next;
+}
+LINUX_MDL_MAP;
+
+typedef struct _LINUX_MDL_MAP * PLINUX_MDL_MAP;
+
+typedef struct _LINUX_MDL
+{
+    gctINT                  pid;
+    char *                  addr;
+
+    union _pages
+    {
+        /* Pointer to a array of pages. */
+        struct page *       contiguousPages;
+        /* Pointer to a array of pointers to page. */
+        struct page **      nonContiguousPages;
+    }
+    u;
+
+#ifdef NO_DMA_COHERENT
+    gctPOINTER              kaddr;
+#endif /* NO_DMA_COHERENT */
+
+    gctINT                  numPages;
+    gctINT                  pagedMem;
+    gctBOOL                 contiguous;
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
+    gctBOOL                 exact;
+#endif
+    dma_addr_t              dmaHandle;
+    PLINUX_MDL_MAP          maps;
+    struct _LINUX_MDL *     prev;
+    struct _LINUX_MDL *     next;
+}
+LINUX_MDL, *PLINUX_MDL;
+
+extern PLINUX_MDL_MAP
+FindMdlMap(
+    IN PLINUX_MDL Mdl,
+    IN gctINT PID
+    );
+
+typedef struct _DRIVER_ARGS
+{
+    gctUINT64               InputBuffer;
+    gctUINT64               InputBufferSize;
+    gctUINT64               OutputBuffer;
+    gctUINT64               OutputBufferSize;
+}
+DRIVER_ARGS;
+
+#endif /* __gc_hal_kernel_os_h_ */
diff --git a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_sync.c b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_sync.c
new file mode 100644 (file)
index 0000000..7efae1c
--- /dev/null
@@ -0,0 +1,174 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#include <linux/kernel.h>
+#include <linux/file.h>
+#include <linux/fs.h>
+#include <linux/miscdevice.h>
+#include <linux/module.h>
+#include <linux/syscalls.h>
+#include <linux/uaccess.h>
+
+#include "gc_hal_kernel_sync.h"
+
+#if gcdANDROID_NATIVE_FENCE_SYNC
+
+static struct sync_pt *
+viv_sync_pt_dup(
+    struct sync_pt * sync_pt
+    )
+{
+    gceSTATUS status;
+    struct viv_sync_pt *pt;
+    struct viv_sync_pt *src;
+    struct viv_sync_timeline *obj;
+
+    src = (struct viv_sync_pt *) sync_pt;
+    obj = (struct viv_sync_timeline *) sync_pt->parent;
+
+    /* Create the new sync_pt. */
+    pt = (struct viv_sync_pt *)
+        sync_pt_create(&obj->obj, sizeof(struct viv_sync_pt));
+
+    pt->stamp = src->stamp;
+    pt->sync = src->sync;
+
+    /* Reference sync point. */
+    status = gckOS_ReferenceSyncPoint(obj->os, pt->sync);
+
+    if (gcmIS_ERROR(status))
+    {
+        sync_pt_free((struct sync_pt *)pt);
+        return NULL;
+    }
+
+    return (struct sync_pt *)pt;
+}
+
+static int
+viv_sync_pt_has_signaled(
+    struct sync_pt * sync_pt
+    )
+{
+    gceSTATUS status;
+    gctBOOL state;
+    struct viv_sync_pt * pt;
+    struct viv_sync_timeline * obj;
+
+    pt  = (struct viv_sync_pt *)sync_pt;
+    obj = (struct viv_sync_timeline *)sync_pt->parent;
+
+    status = gckOS_QuerySyncPoint(obj->os, pt->sync, &state);
+
+    if (gcmIS_ERROR(status))
+    {
+        /* Error. */
+        return -1;
+    }
+
+    return state;
+}
+
+static int
+viv_sync_pt_compare(
+    struct sync_pt * a,
+    struct sync_pt * b
+    )
+{
+    int ret;
+    struct viv_sync_pt * pt1 = (struct viv_sync_pt *) a;
+    struct viv_sync_pt * pt2 = (struct viv_sync_pt *) b;
+
+    ret = (pt1->stamp <  pt2->stamp) ? -1
+        : (pt1->stamp == pt2->stamp) ?  0
+        : 1;
+
+    return ret;
+}
+
+static void
+viv_sync_pt_free(
+    struct sync_pt * sync_pt
+    )
+{
+    struct viv_sync_pt * pt;
+    struct viv_sync_timeline * obj;
+
+    pt  = (struct viv_sync_pt *) sync_pt;
+    obj = (struct viv_sync_timeline *) sync_pt->parent;
+
+    gckOS_DestroySyncPoint(obj->os, pt->sync);
+}
+
+static struct sync_timeline_ops viv_timeline_ops =
+{
+    .driver_name = "viv_sync",
+    .dup = viv_sync_pt_dup,
+    .has_signaled = viv_sync_pt_has_signaled,
+    .compare = viv_sync_pt_compare,
+    .free_pt = viv_sync_pt_free,
+};
+
+struct viv_sync_timeline *
+viv_sync_timeline_create(
+    const char * name,
+    gckOS os
+    )
+{
+    struct viv_sync_timeline * obj;
+
+    obj = (struct viv_sync_timeline *)
+        sync_timeline_create(&viv_timeline_ops, sizeof(struct viv_sync_timeline), name);
+
+    obj->os    = os;
+    obj->stamp = 0;
+
+    return obj;
+}
+
+struct sync_pt *
+viv_sync_pt_create(
+    struct viv_sync_timeline * obj,
+    gctSYNC_POINT SyncPoint
+    )
+{
+    gceSTATUS status;
+    struct viv_sync_pt * pt;
+
+    pt = (struct viv_sync_pt *)
+        sync_pt_create(&obj->obj, sizeof(struct viv_sync_pt));
+
+    pt->stamp = obj->stamp++;
+    pt->sync  = SyncPoint;
+
+    /* Dup signal. */
+    status = gckOS_ReferenceSyncPoint(obj->os, SyncPoint);
+
+    if (gcmIS_ERROR(status))
+    {
+        sync_pt_free((struct sync_pt *)pt);
+        return NULL;
+    }
+
+    return (struct sync_pt *) pt;
+}
+
+#endif
diff --git a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_sync.h b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_sync.h
new file mode 100644 (file)
index 0000000..6fc12e5
--- /dev/null
@@ -0,0 +1,71 @@
+/****************************************************************************
+*
+*    Copyright (C) 2005 - 2013 by Vivante Corp.
+*
+*    This program is free software; you can redistribute it and/or modify
+*    it under the terms of the GNU General Public License as published by
+*    the Free Software Foundation; either version 2 of the license, or
+*    (at your option) any later version.
+*
+*    This program is distributed in the hope that it will be useful,
+*    but WITHOUT ANY WARRANTY; without even the implied warranty of
+*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+*    GNU General Public License for more details.
+*
+*    You should have received a copy of the GNU General Public License
+*    along with this program; if not write to the Free Software
+*    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+*****************************************************************************/
+
+
+#ifndef __gc_hal_kernel_sync_h_
+#define __gc_hal_kernel_sync_h_
+
+#include <linux/types.h>
+
+#include <linux/sync.h>
+
+#include <gc_hal.h>
+#include <gc_hal_base.h>
+
+struct viv_sync_timeline
+{
+    /* Parent object. */
+    struct sync_timeline obj;
+
+    /* Timestamp when sync_pt is created. */
+    gctUINT stamp;
+
+    /* Pointer to os struct. */
+    gckOS os;
+};
+
+
+struct viv_sync_pt
+{
+    /* Parent object. */
+    struct sync_pt pt;
+
+    /* Reference sync point*/
+    gctSYNC_POINT sync;
+
+    /* Timestamp when sync_pt is created. */
+    gctUINT stamp;
+};
+
+/* Create viv_sync_timeline object. */
+struct viv_sync_timeline *
+viv_sync_timeline_create(
+    const char * Name,
+    gckOS Os
+    );
+
+/* Create viv_sync_pt object. */
+struct sync_pt *
+viv_sync_pt_create(
+    struct viv_sync_timeline * Obj,
+    gctSYNC_POINT SyncPoint
+    );
+
+#endif /* __gc_hal_kernel_sync_h_ */
diff --git a/drivers/mxc/ipu3/Kconfig b/drivers/mxc/ipu3/Kconfig
new file mode 100644 (file)
index 0000000..06bebff
--- /dev/null
@@ -0,0 +1,2 @@
+config MXC_IPU_V3
+       bool
diff --git a/drivers/mxc/ipu3/Makefile b/drivers/mxc/ipu3/Makefile
new file mode 100644 (file)
index 0000000..0259d68
--- /dev/null
@@ -0,0 +1,4 @@
+obj-$(CONFIG_MXC_IPU_V3) = mxc_ipu.o
+
+mxc_ipu-objs := ipu_common.o ipu_ic.o ipu_disp.o ipu_capture.o ipu_device.o \
+               ipu_calc_stripes_sizes.o vdoa.o ipu_pixel_clk.o
diff --git a/drivers/mxc/ipu3/ipu_calc_stripes_sizes.c b/drivers/mxc/ipu3/ipu_calc_stripes_sizes.c
new file mode 100644 (file)
index 0000000..c466ea9
--- /dev/null
@@ -0,0 +1,495 @@
+/*
+ * Copyright 2009-2014 Freescale Semiconductor, Inc. All Rights Reserved.
+ */
+
+/*
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/*
+ * @file ipu_calc_stripes_sizes.c
+ *
+ * @brief IPU IC functions
+ *
+ * @ingroup IPU
+ */
+
+#include <linux/ipu-v3.h>
+#include <linux/module.h>
+#include <linux/math64.h>
+
+#define BPP_32 0
+#define BPP_16 3
+#define BPP_8 5
+#define BPP_24 1
+#define BPP_12 4
+#define BPP_18 2
+
+static u32 truncate(u32 up, /* 0: down; else: up */
+                                       u64 a, /* must be non-negative */
+                                       u32 b)
+{
+       u32 d;
+       u64 div;
+       div = div_u64(a, b);
+       d = b * (div >> 32);
+       if (up && (a > (((u64)d) << 32)))
+               return d+b;
+       else
+               return d;
+}
+
+static unsigned int f_calc(unsigned int pfs, unsigned int bpp, unsigned int *write)
+{/* return input_f */
+       unsigned int f_calculated = 0;
+       switch (pfs) {
+       case IPU_PIX_FMT_YVU422P:
+       case IPU_PIX_FMT_YUV422P:
+       case IPU_PIX_FMT_YUV420P2:
+       case IPU_PIX_FMT_YUV420P:
+       case IPU_PIX_FMT_YVU420P:
+       case IPU_PIX_FMT_YUV444P:
+               f_calculated = 16;
+               break;
+
+       case IPU_PIX_FMT_RGB565:
+       case IPU_PIX_FMT_YUYV:
+       case IPU_PIX_FMT_UYVY:
+               f_calculated = 8;
+               break;
+
+       case IPU_PIX_FMT_NV12:
+               f_calculated = 8;
+               break;
+
+       default:
+               f_calculated = 0;
+               break;
+
+       }
+       if (!f_calculated) {
+               switch (bpp) {
+               case BPP_32:
+                       f_calculated = 2;
+                       break;
+
+               case BPP_16:
+                       f_calculated = 4;
+                       break;
+
+               case BPP_8:
+               case BPP_24:
+                       f_calculated = 8;
+                       break;
+
+               case BPP_12:
+                       f_calculated = 16;
+                       break;
+
+               case BPP_18:
+                       f_calculated = 32;
+                       break;
+
+               default:
+                       f_calculated = 0;
+                       break;
+                       }
+               }
+       return f_calculated;
+}
+
+
+static unsigned int m_calc(unsigned int pfs)
+{
+       unsigned int m_calculated = 0;
+       switch (pfs) {
+       case IPU_PIX_FMT_YUV420P2:
+       case IPU_PIX_FMT_YUV420P:
+       case IPU_PIX_FMT_YVU422P:
+       case IPU_PIX_FMT_YUV422P:
+       case IPU_PIX_FMT_YVU420P:
+       case IPU_PIX_FMT_YUV444P:
+               m_calculated = 16;
+               break;
+
+       case IPU_PIX_FMT_NV12:
+       case IPU_PIX_FMT_YUYV:
+       case IPU_PIX_FMT_UYVY:
+               m_calculated = 8;
+               break;
+
+       default:
+               m_calculated = 8;
+               break;
+
+       }
+       return m_calculated;
+}
+
+static int calc_split_resize_coeffs(unsigned int inSize, unsigned int outSize,
+                                   unsigned int *resizeCoeff,
+                                   unsigned int *downsizeCoeff)
+{
+       uint32_t tempSize;
+       uint32_t tempDownsize;
+
+       if (inSize > 4096) {
+               pr_debug("IC input size(%d) cannot exceed 4096\n",
+                       inSize);
+               return -EINVAL;
+       }
+
+       if (outSize > 1024) {
+               pr_debug("IC output size(%d) cannot exceed 1024\n",
+                       outSize);
+               return -EINVAL;
+       }
+
+       if ((outSize << 3) < inSize) {
+               pr_debug("IC cannot downsize more than 8:1\n");
+               return -EINVAL;
+       }
+
+       /* Compute downsizing coefficient */
+       /* Output of downsizing unit cannot be more than 1024 */
+       tempDownsize = 0;
+       tempSize = inSize;
+       while (((tempSize > 1024) || (tempSize >= outSize * 2)) &&
+              (tempDownsize < 2)) {
+               tempSize >>= 1;
+               tempDownsize++;
+       }
+       *downsizeCoeff = tempDownsize;
+
+       /* compute resizing coefficient using the following equation:
+          resizeCoeff = M*(SI -1)/(SO - 1)
+          where M = 2^13, SI - input size, SO - output size    */
+       *resizeCoeff = (8192L * (tempSize - 1)) / (outSize - 1);
+       if (*resizeCoeff >= 16384L) {
+               pr_debug("Overflow on IC resize coefficient.\n");
+               return -EINVAL;
+       }
+
+       pr_debug("resizing from %u -> %u pixels, "
+               "downsize=%u, resize=%u.%lu (reg=%u)\n", inSize, outSize,
+               *downsizeCoeff, (*resizeCoeff >= 8192L) ? 1 : 0,
+               ((*resizeCoeff & 0x1FFF) * 10000L) / 8192L, *resizeCoeff);
+
+       return 0;
+}
+
+/* Stripe parameters calculator */
+/**************************************************************************
+Notes:
+MSW = the maximal width allowed for a stripe
+       i.MX31: 720, i.MX35: 800, i.MX37/51/53: 1024
+cirr = the maximal inverse resizing ratio for which overlap in the input
+       is requested; typically cirr~2
+flags
+       bit 0 - equal_stripes
+               0  each stripe is allowed to have independent parameters
+               for maximal image quality
+               1  the stripes are requested to have identical parameters
+       (except the base address), for maximal performance
+       bit 1 - vertical/horizontal
+               0 horizontal
+               1 vertical
+
+If performance is the top priority (above image quality)
+       Avoid overlap, by setting CIRR = 0
+               This will also force effectively identical_stripes = 1
+       Choose IF & OF that corresponds to the same IOX/SX for both stripes
+       Choose IFW & OFW such that
+       IFW/IM, IFW/IF, OFW/OM, OFW/OF are even integers
+       The function returns an error status:
+       0: no error
+       1: invalid input parameters -> aborted without result
+               Valid parameters should satisfy the following conditions
+               IFW <= OFW, otherwise downsizing is required
+                                        - which is not supported yet
+               4 <= IFW,OFW, so some interpolation may be needed even without overlap
+               IM, OM, IF, OF should not vanish
+               2*IF <= IFW
+               so the frame can be split to two equal stripes, even without overlap
+               2*(OF+IF/irr_opt) <= OFW
+               so a valid positive INW exists even for equal stripes
+               OF <= MSW, otherwise, the left stripe cannot be sufficiently large
+               MSW < OFW, so splitting to stripes is required
+               OFW <= 2*MSW, so two stripes are sufficient
+               (this also implies that 2<=MSW)
+       2: OF is not a multiple of OM - not fully-supported yet
+       Output is produced but OW is not guaranited to be a multiple of OM
+       4: OFW reduced to be a multiple of OM
+       8: CIRR > 1: truncated to 1
+       Overlap is not supported (and not needed) y for upsizing)
+**************************************************************************/
+int ipu_calc_stripes_sizes(const unsigned int input_frame_width,
+                          /* input frame width;>1 */
+                          unsigned int output_frame_width, /* output frame width; >1 */
+                          const unsigned int maximal_stripe_width,
+                          /* the maximal width allowed for a stripe */
+                          const unsigned long long cirr, /* see above */
+                          const unsigned int flags, /* see above */
+                          u32 input_pixelformat,/* pixel format after of read channel*/
+                          u32 output_pixelformat,/* pixel format after of write channel*/
+                          struct stripe_param *left,
+                          struct stripe_param *right)
+{
+       const unsigned int irr_frac_bits = 13;
+       const unsigned long irr_steps = 1 << irr_frac_bits;
+       const u64 dirr = ((u64)1) << (32 - 2);
+       /* The maximum relative difference allowed between the irrs */
+       const u64 cr = ((u64)4) << 32;
+       /* The importance ratio between the two terms in the cost function below */
+
+       unsigned int status;
+       unsigned int temp;
+       unsigned int onw_min;
+       unsigned int inw = 0, onw = 0, inw_best = 0;
+       /* number of pixels in the left stripe NOT hidden by the right stripe */
+       u64 irr_opt; /* the optimal inverse resizing ratio */
+       u64 rr_opt; /* the optimal resizing ratio = 1/irr_opt*/
+       u64 dinw; /* the misalignment between the stripes */
+       /* (measured in units of input columns) */
+       u64 difwl, difwr = 0;
+       /* The number of input columns not reflected in the output */
+       /* the resizing ratio used for the right stripe is */
+       /*   left->irr and right->irr respectively */
+       u64 cost, cost_min;
+       u64 div; /* result of division */
+       bool equal_stripes = (flags & 0x1) != 0;
+       bool vertical =      (flags & 0x2) != 0;
+
+       unsigned int input_m, input_f, output_m, output_f; /* parameters for upsizing by stripes */
+       unsigned int resize_coeff;
+       unsigned int downsize_coeff;
+
+       status = 0;
+
+       if (vertical) {
+               input_f = 2;
+               input_m = 8;
+               output_f = 8;
+               output_m = 2;
+       } else {
+               input_f = f_calc(input_pixelformat, 0, NULL);
+               input_m = m_calc(input_pixelformat);
+               output_f = input_m;
+               output_m = m_calc(output_pixelformat);
+       }
+       if ((input_frame_width < 4) || (output_frame_width < 4))
+               return 1;
+
+       irr_opt = div_u64((((u64)(input_frame_width - 1)) << 32),
+                         (output_frame_width - 1));
+       rr_opt = div_u64((((u64)(output_frame_width - 1)) << 32),
+                        (input_frame_width - 1));
+
+       if ((input_m == 0) || (output_m == 0) || (input_f == 0) || (output_f == 0)
+           || (input_frame_width < (2 * input_f))
+           || ((((u64)output_frame_width) << 32) <
+               (2 * ((((u64)output_f) << 32) + (input_f * rr_opt))))
+           || (maximal_stripe_width < output_f)
+           || ((output_frame_width <= maximal_stripe_width)
+               && (equal_stripes == 0))
+           || ((2 * maximal_stripe_width) < output_frame_width))
+               return 1;
+
+       if (output_f % output_m)
+               status += 2;
+
+       temp = truncate(0, (((u64)output_frame_width) << 32), output_m);
+       if (temp < output_frame_width) {
+               output_frame_width = temp;
+               status += 4;
+       }
+
+       pr_debug("---------------->\n"
+                  "if  = %d\n"
+                  "im  = %d\n"
+                  "of = %d\n"
+                  "om = %d\n"
+                  "irr_opt  = %llu\n"
+                  "rr_opt   = %llu\n"
+                  "cirr     = %llu\n"
+                  "pixel in  = %08x\n"
+                  "pixel out = %08x\n"
+                  "ifw = %d\n"
+                  "ofwidth = %d\n",
+                  input_f,
+                  input_m,
+                  output_f,
+                  output_m,
+                  irr_opt,
+                  rr_opt,
+                  cirr,
+                  input_pixelformat,
+                  output_pixelformat,
+                  input_frame_width,
+                  output_frame_width
+                  );
+
+       if (equal_stripes) {
+               if ((irr_opt > cirr) /* overlap in the input is not requested */
+                   && ((input_frame_width % (input_m << 1)) == 0)
+                   && ((input_frame_width % (input_f << 1)) == 0)
+                   && ((output_frame_width % (output_m << 1)) == 0)
+                   && ((output_frame_width % (output_f << 1)) == 0)) {
+                       /* without overlap */
+                       left->input_width = right->input_width = right->input_column =
+                               input_frame_width >> 1;
+                       left->output_width = right->output_width = right->output_column =
+                               output_frame_width >> 1;
+                       left->input_column = 0;
+                       left->output_column = 0;
+                       div = div_u64(((((u64)irr_steps) << 32) *
+                                      (right->input_width - 1)), (right->output_width - 1));
+                       left->irr = right->irr = truncate(0, div, 1);
+               } else { /* with overlap */
+                       onw = truncate(0, (((u64)output_frame_width - 1) << 32) >> 1,
+                                      output_f);
+                       inw = truncate(0, onw * irr_opt, input_f);
+                       /* this is the maximal inw which allows the same resizing ratio */
+                       /* in both stripes */
+                       onw = truncate(1, (inw * rr_opt), output_f);
+                       div = div_u64((((u64)(irr_steps * inw)) <<
+                                      32), onw);
+                       left->irr = right->irr = truncate(0, div, 1);
+                       left->output_width = right->output_width =
+                               output_frame_width - onw;
+                       /* These are valid assignments for output_width, */
+                       /* assuming output_f is a multiple of output_m */
+                       div = (((u64)(left->output_width-1) * (left->irr)) << 32);
+                       div = (((u64)1) << 32) + div_u64(div, irr_steps);
+
+                       left->input_width = right->input_width = truncate(1, div, input_m);
+
+                       div = div_u64((((u64)((right->output_width - 1) * right->irr)) <<
+                                      32), irr_steps);
+                       difwr = (((u64)(input_frame_width - 1 - inw)) << 32) - div;
+                       div = div_u64((difwr + (((u64)input_f) << 32)), 2);
+                       left->input_column = truncate(0, div, input_f);
+
+
+                       /* This splits the truncated input columns evenly */
+                       /*    between the left and right margins */
+                       right->input_column = left->input_column + inw;
+                       left->output_column = 0;
+                       right->output_column = onw;
+               }
+               if (left->input_width > left->output_width) {
+                       if (calc_split_resize_coeffs(left->input_width,
+                                                    left->output_width,
+                                                    &resize_coeff,
+                                                    &downsize_coeff) < 0)
+                               return -EINVAL;
+
+                       if (downsize_coeff > 0) {
+                               left->irr = right->irr =
+                                       (downsize_coeff << 14) | resize_coeff;
+                       }
+               }
+               pr_debug("inw %d, onw %d, ilw %d, ilc %d, olw %d,"
+                        " irw %d, irc %d, orw %d, orc %d, "
+                        "difwr  %llu, lirr %u\n",
+                        inw, onw, left->input_width,
+                        left->input_column, left->output_width,
+                        right->input_width, right->input_column,
+                        right->output_width,
+                        right->output_column, difwr, left->irr);
+               } else { /* independent stripes */
+               onw_min = output_frame_width - maximal_stripe_width;
+               /* onw is a multiple of output_f, in the range */
+               /* [max(output_f,output_frame_width-maximal_stripe_width),*/
+               /*min(output_frame_width-2,maximal_stripe_width)] */
+               /* definitely beyond the cost of any valid setting */
+               cost_min = (((u64)input_frame_width) << 32) + cr;
+               onw = truncate(0, ((u64)maximal_stripe_width), output_f);
+               if (output_frame_width - onw == 1)
+                       onw -= output_f; /*  => onw and output_frame_width-1-onw are positive */
+               inw = truncate(0, onw * irr_opt, input_f);
+               /* this is the maximal inw which allows the same resizing ratio */
+               /* in both stripes */
+               onw = truncate(1, inw * rr_opt, output_f);
+               do {
+                       div = div_u64((((u64)(irr_steps * inw)) << 32), onw);
+                       left->irr = truncate(0, div, 1);
+                       div = div_u64((((u64)(onw * left->irr)) << 32),
+                                     irr_steps);
+                       dinw = (((u64)inw) << 32) - div;
+
+                       div = div_u64((((u64)((output_frame_width - 1 - onw) * left->irr)) <<
+                                      32), irr_steps);
+
+                       difwl = (((u64)(input_frame_width - 1 - inw)) << 32) - div;
+
+                       cost = difwl + (((u64)(cr * dinw)) >> 32);
+
+                       if (cost < cost_min) {
+                               inw_best = inw;
+                               cost_min = cost;
+                       }
+
+                       inw -= input_f;
+                       onw = truncate(1, inw * rr_opt, output_f);
+                       /* This is the minimal onw which allows the same resizing ratio */
+                       /*     in both stripes */
+               } while (onw >= onw_min);
+
+               inw = inw_best;
+               onw = truncate(1, inw * rr_opt, output_f);
+               div = div_u64((((u64)(irr_steps * inw)) << 32), onw);
+               left->irr = truncate(0, div, 1);
+
+               left->output_width = onw;
+               right->output_width = output_frame_width - onw;
+               /* These are valid assignments for output_width, */
+               /* assuming output_f is a multiple of output_m */
+               left->input_width = truncate(1, ((u64)(inw + 1)) << 32, input_m);
+               right->input_width = truncate(1, ((u64)(input_frame_width - inw)) <<
+                                             32, input_m);
+
+               div = div_u64((((u64)(irr_steps * (input_frame_width - 1 - inw))) <<
+                              32), (right->output_width - 1));
+               right->irr = truncate(0, div, 1);
+               temp = truncate(0, ((u64)left->irr) * ((((u64)1) << 32) + dirr), 1);
+               if (temp < right->irr)
+                       right->irr = temp;
+               div = div_u64(((u64)((right->output_width - 1) * right->irr) <<
+                              32), irr_steps);
+               difwr = (u64)(input_frame_width - 1 - inw) - div;
+
+
+               div = div_u64((difwr + (((u64)input_f) << 32)), 2);
+               left->input_column = truncate(0, div, input_f);
+
+               /* This splits the truncated input columns evenly */
+               /*    between the left and right margins */
+               right->input_column = left->input_column + inw;
+               left->output_column = 0;
+               right->output_column = onw;
+               if (left->input_width > left->output_width) {
+                       if (calc_split_resize_coeffs(left->input_width,
+                                                    left->output_width,
+                                                    &resize_coeff,
+                                                    &downsize_coeff) < 0)
+                               return -EINVAL;
+                       left->irr = (downsize_coeff << 14) | resize_coeff;
+               }
+               if (right->input_width > right->output_width) {
+                       if (calc_split_resize_coeffs(right->input_width,
+                                                    right->output_width,
+                                                    &resize_coeff,
+                                                    &downsize_coeff) < 0)
+                               return -EINVAL;
+                       right->irr = (downsize_coeff << 14) | resize_coeff;
+               }
+       }
+       return status;
+}
+EXPORT_SYMBOL(ipu_calc_stripes_sizes);
diff --git a/drivers/mxc/ipu3/ipu_capture.c b/drivers/mxc/ipu3/ipu_capture.c
new file mode 100644 (file)
index 0000000..b1d6fb3
--- /dev/null
@@ -0,0 +1,816 @@
+/*
+ * Copyright 2008-2014 Freescale Semiconductor, Inc. All Rights Reserved.
+ */
+
+/*
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/*!
+ * @file ipu_capture.c
+ *
+ * @brief IPU capture dase functions
+ *
+ * @ingroup IPU
+ */
+#include <linux/clk.h>
+#include <linux/delay.h>
+#include <linux/errno.h>
+#include <linux/init.h>
+#include <linux/io.h>
+#include <linux/ipu-v3.h>
+#include <linux/module.h>
+#include <linux/spinlock.h>
+#include <linux/types.h>
+
+#include "ipu_prv.h"
+#include "ipu_regs.h"
+
+/*!
+ * _ipu_csi_mclk_set
+ *
+ * @param      ipu             ipu handler
+ * @param      pixel_clk   desired pixel clock frequency in Hz
+ * @param      csi         csi 0 or csi 1
+ *
+ * @return     Returns 0 on success or negative error code on fail
+ */
+int _ipu_csi_mclk_set(struct ipu_soc *ipu, uint32_t pixel_clk, uint32_t csi)
+{
+       uint32_t temp;
+       uint32_t div_ratio;
+
+       div_ratio = (clk_get_rate(ipu->ipu_clk) / pixel_clk) - 1;
+
+       if (div_ratio > 0xFF || div_ratio < 0) {
+               dev_dbg(ipu->dev, "value of pixel_clk extends normal range\n");
+               return -EINVAL;
+       }
+
+       temp = ipu_csi_read(ipu, csi, CSI_SENS_CONF);
+       temp &= ~CSI_SENS_CONF_DIVRATIO_MASK;
+       ipu_csi_write(ipu, csi, temp |
+                       (div_ratio << CSI_SENS_CONF_DIVRATIO_SHIFT),
+                       CSI_SENS_CONF);
+
+       return 0;
+}
+
+/*!
+ * ipu_csi_init_interface
+ *     Sets initial values for the CSI registers.
+ *     The width and height of the sensor and the actual frame size will be
+ *     set to the same values.
+ * @param      ipu             ipu handler
+ * @param      width           Sensor width
+ * @param       height         Sensor height
+ * @param       pixel_fmt      pixel format
+ * @param       cfg_param      ipu_csi_signal_cfg_t structure
+ * @param       csi             csi 0 or csi 1
+ *
+ * @return      0 for success, -EINVAL for error
+ */
+int32_t
+ipu_csi_init_interface(struct ipu_soc *ipu, uint16_t width, uint16_t height,
+       uint32_t pixel_fmt, ipu_csi_signal_cfg_t cfg_param)
+{
+       uint32_t data = 0;
+       uint32_t csi = cfg_param.csi;
+
+       /* Set SENS_DATA_FORMAT bits (8, 9 and 10)
+          RGB or YUV444 is 0 which is current value in data so not set
+          explicitly
+          This is also the default value if attempts are made to set it to
+          something invalid. */
+       switch (pixel_fmt) {
+       case IPU_PIX_FMT_YUYV:
+               cfg_param.data_fmt = CSI_SENS_CONF_DATA_FMT_YUV422_YUYV;
+               break;
+       case IPU_PIX_FMT_UYVY:
+               cfg_param.data_fmt = CSI_SENS_CONF_DATA_FMT_YUV422_UYVY;
+               break;
+       case IPU_PIX_FMT_RGB24:
+       case IPU_PIX_FMT_BGR24:
+               cfg_param.data_fmt = CSI_SENS_CONF_DATA_FMT_RGB_YUV444;
+               break;
+       case IPU_PIX_FMT_GENERIC:
+       case IPU_PIX_FMT_GENERIC_16:
+               cfg_param.data_fmt = CSI_SENS_CONF_DATA_FMT_BAYER;
+               break;
+       case IPU_PIX_FMT_RGB565:
+               cfg_param.data_fmt = CSI_SENS_CONF_DATA_FMT_RGB565;
+               break;
+       case IPU_PIX_FMT_RGB555:
+               cfg_param.data_fmt = CSI_SENS_CONF_DATA_FMT_RGB555;
+               break;
+       default:
+               return -EINVAL;
+       }
+
+       /* Set the CSI_SENS_CONF register remaining fields */
+       data |= cfg_param.data_width << CSI_SENS_CONF_DATA_WIDTH_SHIFT |
+               cfg_param.data_fmt << CSI_SENS_CONF_DATA_FMT_SHIFT |
+               cfg_param.data_pol << CSI_SENS_CONF_DATA_POL_SHIFT |
+               cfg_param.Vsync_pol << CSI_SENS_CONF_VSYNC_POL_SHIFT |
+               cfg_param.Hsync_pol << CSI_SENS_CONF_HSYNC_POL_SHIFT |
+               cfg_param.pixclk_pol << CSI_SENS_CONF_PIX_CLK_POL_SHIFT |
+               cfg_param.ext_vsync << CSI_SENS_CONF_EXT_VSYNC_SHIFT |
+               cfg_param.clk_mode << CSI_SENS_CONF_SENS_PRTCL_SHIFT |
+               cfg_param.pack_tight << CSI_SENS_CONF_PACK_TIGHT_SHIFT |
+               cfg_param.force_eof << CSI_SENS_CONF_FORCE_EOF_SHIFT |
+               cfg_param.data_en_pol << CSI_SENS_CONF_DATA_EN_POL_SHIFT;
+
+       _ipu_get(ipu);
+
+       mutex_lock(&ipu->mutex_lock);
+
+       ipu_csi_write(ipu, csi, data, CSI_SENS_CONF);
+
+       /* Setup sensor frame size */
+       ipu_csi_write(ipu, csi, (width - 1) | (height - 1) << 16, CSI_SENS_FRM_SIZE);
+
+       /* Set CCIR registers */
+       if (cfg_param.clk_mode == IPU_CSI_CLK_MODE_CCIR656_PROGRESSIVE) {
+               ipu_csi_write(ipu, csi, 0x40030, CSI_CCIR_CODE_1);
+               ipu_csi_write(ipu, csi, 0xFF0000, CSI_CCIR_CODE_3);
+       } else if (cfg_param.clk_mode == IPU_CSI_CLK_MODE_CCIR656_INTERLACED) {
+               if (width == 720 && height == 625) {
+                       /* PAL case */
+                       /*
+                        * Field0BlankEnd = 0x6, Field0BlankStart = 0x2,
+                        * Field0ActiveEnd = 0x4, Field0ActiveStart = 0
+                        */
+                       ipu_csi_write(ipu, csi, 0x40596, CSI_CCIR_CODE_1);
+                       /*
+                        * Field1BlankEnd = 0x7, Field1BlankStart = 0x3,
+                        * Field1ActiveEnd = 0x5, Field1ActiveStart = 0x1
+                        */
+                       ipu_csi_write(ipu, csi, 0xD07DF, CSI_CCIR_CODE_2);
+
+                       ipu_csi_write(ipu, csi, 0xFF0000, CSI_CCIR_CODE_3);
+
+               } else if (width == 720 && height == 525) {
+                       /* NTSC case */
+                       /*
+                        * Field0BlankEnd = 0x7, Field0BlankStart = 0x3,
+                        * Field0ActiveEnd = 0x5, Field0ActiveStart = 0x1
+                        */
+                       ipu_csi_write(ipu, csi, 0xD07DF, CSI_CCIR_CODE_1);
+                       /*
+                        * Field1BlankEnd = 0x6, Field1BlankStart = 0x2,
+                        * Field1ActiveEnd = 0x4, Field1ActiveStart = 0
+                        */
+                       ipu_csi_write(ipu, csi, 0x40596, CSI_CCIR_CODE_2);
+                       ipu_csi_write(ipu, csi, 0xFF0000, CSI_CCIR_CODE_3);
+               } else {
+                       dev_err(ipu->dev, "Unsupported CCIR656 interlaced "
+                                       "video mode\n");
+                       mutex_unlock(&ipu->mutex_lock);
+                       _ipu_put(ipu);
+                       return -EINVAL;
+               }
+               _ipu_csi_ccir_err_detection_enable(ipu, csi);
+       } else if ((cfg_param.clk_mode ==
+                       IPU_CSI_CLK_MODE_CCIR1120_PROGRESSIVE_DDR) ||
+               (cfg_param.clk_mode ==
+                       IPU_CSI_CLK_MODE_CCIR1120_PROGRESSIVE_SDR) ||
+               (cfg_param.clk_mode ==
+                       IPU_CSI_CLK_MODE_CCIR1120_INTERLACED_DDR) ||
+               (cfg_param.clk_mode ==
+                       IPU_CSI_CLK_MODE_CCIR1120_INTERLACED_SDR)) {
+               ipu_csi_write(ipu, csi, 0x40030, CSI_CCIR_CODE_1);
+               ipu_csi_write(ipu, csi, 0xFF0000, CSI_CCIR_CODE_3);
+               _ipu_csi_ccir_err_detection_enable(ipu, csi);
+       } else if ((cfg_param.clk_mode == IPU_CSI_CLK_MODE_GATED_CLK) ||
+                  (cfg_param.clk_mode == IPU_CSI_CLK_MODE_NONGATED_CLK)) {
+               _ipu_csi_ccir_err_detection_disable(ipu, csi);
+       }
+
+       dev_dbg(ipu->dev, "CSI_SENS_CONF = 0x%08X\n",
+               ipu_csi_read(ipu, csi, CSI_SENS_CONF));
+       dev_dbg(ipu->dev, "CSI_ACT_FRM_SIZE = 0x%08X\n",
+               ipu_csi_read(ipu, csi, CSI_ACT_FRM_SIZE));
+
+       mutex_unlock(&ipu->mutex_lock);
+
+       _ipu_put(ipu);
+
+       return 0;
+}
+EXPORT_SYMBOL(ipu_csi_init_interface);
+
+/*!
+ * ipu_csi_get_sensor_protocol
+ *
+ * @param      ipu             ipu handler
+ * @param      csi         csi 0 or csi 1
+ *
+ * @return     Returns sensor protocol
+ */
+int32_t ipu_csi_get_sensor_protocol(struct ipu_soc *ipu, uint32_t csi)
+{
+       int ret;
+       _ipu_get(ipu);
+       ret = (ipu_csi_read(ipu, csi, CSI_SENS_CONF) &
+               CSI_SENS_CONF_SENS_PRTCL_MASK) >>
+               CSI_SENS_CONF_SENS_PRTCL_SHIFT;
+       _ipu_put(ipu);
+       return ret;
+}
+EXPORT_SYMBOL(ipu_csi_get_sensor_protocol);
+
+/*!
+ * ipu_csi_enable_mclk
+ *
+ * @param      ipu             ipu handler
+ * @param      csi         csi 0 or csi 1
+ * @param       flag        true to enable mclk, false to disable mclk
+ * @param       wait        true to wait 100ms make clock stable, false not wait
+ *
+ * @return      Returns 0 on success
+ */
+int ipu_csi_enable_mclk(struct ipu_soc *ipu, int csi, bool flag, bool wait)
+{
+       /* Return immediately if there is no csi_clk to manage */
+       if (ipu->csi_clk[csi] == NULL)
+               return 0;
+
+       if (flag) {
+               clk_enable(ipu->csi_clk[csi]);
+               if (wait == true)
+                       msleep(10);
+       } else {
+               clk_disable(ipu->csi_clk[csi]);
+       }
+
+       return 0;
+}
+EXPORT_SYMBOL(ipu_csi_enable_mclk);
+
+/*!
+ * ipu_csi_get_window_size
+ *
+ * @param      ipu             ipu handler
+ * @param      width   pointer to window width
+ * @param      height  pointer to window height
+ * @param      csi     csi 0 or csi 1
+ */
+void ipu_csi_get_window_size(struct ipu_soc *ipu, uint32_t *width, uint32_t *height, uint32_t csi)
+{
+       uint32_t reg;
+
+       _ipu_get(ipu);
+
+       mutex_lock(&ipu->mutex_lock);
+
+       reg = ipu_csi_read(ipu, csi, CSI_ACT_FRM_SIZE);
+       *width = (reg & 0xFFFF) + 1;
+       *height = (reg >> 16 & 0xFFFF) + 1;
+
+       mutex_unlock(&ipu->mutex_lock);
+
+       _ipu_put(ipu);
+}
+EXPORT_SYMBOL(ipu_csi_get_window_size);
+
+/*!
+ * ipu_csi_set_window_size
+ *
+ * @param      ipu             ipu handler
+ * @param      width   window width
+ * @param       height window height
+ * @param       csi    csi 0 or csi 1
+ */
+void ipu_csi_set_window_size(struct ipu_soc *ipu, uint32_t width, uint32_t height, uint32_t csi)
+{
+       _ipu_get(ipu);
+
+       mutex_lock(&ipu->mutex_lock);
+
+       ipu_csi_write(ipu, csi, (width - 1) | (height - 1) << 16, CSI_ACT_FRM_SIZE);
+
+       mutex_unlock(&ipu->mutex_lock);
+
+       _ipu_put(ipu);
+}
+EXPORT_SYMBOL(ipu_csi_set_window_size);
+
+/*!
+ * ipu_csi_set_window_pos
+ *
+ * @param      ipu             ipu handler
+ * @param       left   uint32 window x start
+ * @param       top    uint32 window y start
+ * @param       csi    csi 0 or csi 1
+ */
+void ipu_csi_set_window_pos(struct ipu_soc *ipu, uint32_t left, uint32_t top, uint32_t csi)
+{
+       uint32_t temp;
+
+       _ipu_get(ipu);
+
+       mutex_lock(&ipu->mutex_lock);
+
+       temp = ipu_csi_read(ipu, csi, CSI_OUT_FRM_CTRL);
+       temp &= ~(CSI_HSC_MASK | CSI_VSC_MASK);
+       temp |= ((top << CSI_VSC_SHIFT) | (left << CSI_HSC_SHIFT));
+       ipu_csi_write(ipu, csi, temp, CSI_OUT_FRM_CTRL);
+
+       mutex_unlock(&ipu->mutex_lock);
+
+       _ipu_put(ipu);
+}
+EXPORT_SYMBOL(ipu_csi_set_window_pos);
+
+/*!
+ * _ipu_csi_horizontal_downsize_enable
+ *     Enable horizontal downsizing(decimation) by 2.
+ *
+ * @param      ipu             ipu handler
+ * @param      csi     csi 0 or csi 1
+ */
+void _ipu_csi_horizontal_downsize_enable(struct ipu_soc *ipu, uint32_t csi)
+{
+       uint32_t temp;
+
+       temp = ipu_csi_read(ipu, csi, CSI_OUT_FRM_CTRL);
+       temp |= CSI_HORI_DOWNSIZE_EN;
+       ipu_csi_write(ipu, csi, temp, CSI_OUT_FRM_CTRL);
+}
+
+/*!
+ * _ipu_csi_horizontal_downsize_disable
+ *     Disable horizontal downsizing(decimation) by 2.
+ *
+ * @param      ipu             ipu handler
+ * @param      csi     csi 0 or csi 1
+ */
+void _ipu_csi_horizontal_downsize_disable(struct ipu_soc *ipu, uint32_t csi)
+{
+       uint32_t temp;
+
+       temp = ipu_csi_read(ipu, csi, CSI_OUT_FRM_CTRL);
+       temp &= ~CSI_HORI_DOWNSIZE_EN;
+       ipu_csi_write(ipu, csi, temp, CSI_OUT_FRM_CTRL);
+}
+
+/*!
+ * _ipu_csi_vertical_downsize_enable
+ *     Enable vertical downsizing(decimation) by 2.
+ *
+ * @param      ipu             ipu handler
+ * @param      csi     csi 0 or csi 1
+ */
+void _ipu_csi_vertical_downsize_enable(struct ipu_soc *ipu, uint32_t csi)
+{
+       uint32_t temp;
+
+       temp = ipu_csi_read(ipu, csi, CSI_OUT_FRM_CTRL);
+       temp |= CSI_VERT_DOWNSIZE_EN;
+       ipu_csi_write(ipu, csi, temp, CSI_OUT_FRM_CTRL);
+}
+
+/*!
+ * _ipu_csi_vertical_downsize_disable
+ *     Disable vertical downsizing(decimation) by 2.
+ *
+ * @param      ipu             ipu handler
+ * @param      csi     csi 0 or csi 1
+ */
+void _ipu_csi_vertical_downsize_disable(struct ipu_soc *ipu, uint32_t csi)
+{
+       uint32_t temp;
+
+       temp = ipu_csi_read(ipu, csi, CSI_OUT_FRM_CTRL);
+       temp &= ~CSI_VERT_DOWNSIZE_EN;
+       ipu_csi_write(ipu, csi, temp, CSI_OUT_FRM_CTRL);
+}
+
+/*!
+ * _ipu_csi_set_test_generator
+ *
+ * @param      ipu             ipu handler
+ * @param      active       1 for active and 0 for inactive
+ * @param       r_value             red value for the generated pattern of even pixel
+ * @param       g_value      green value for the generated pattern of even
+ *                          pixel
+ * @param       b_value      blue value for the generated pattern of even pixel
+ * @param      pixel_clk   desired pixel clock frequency in Hz
+ * @param       csi          csi 0 or csi 1
+ */
+void _ipu_csi_set_test_generator(struct ipu_soc *ipu, bool active, uint32_t r_value,
+       uint32_t g_value, uint32_t b_value, uint32_t pix_clk, uint32_t csi)
+{
+       uint32_t temp;
+
+       temp = ipu_csi_read(ipu, csi, CSI_TST_CTRL);
+
+       if (active == false) {
+               temp &= ~CSI_TEST_GEN_MODE_EN;
+               ipu_csi_write(ipu, csi, temp, CSI_TST_CTRL);
+       } else {
+               /* Set sensb_mclk div_ratio*/
+               _ipu_csi_mclk_set(ipu, pix_clk, csi);
+
+               temp &= ~(CSI_TEST_GEN_R_MASK | CSI_TEST_GEN_G_MASK |
+                       CSI_TEST_GEN_B_MASK);
+               temp |= CSI_TEST_GEN_MODE_EN;
+               temp |= (r_value << CSI_TEST_GEN_R_SHIFT) |
+                       (g_value << CSI_TEST_GEN_G_SHIFT) |
+                       (b_value << CSI_TEST_GEN_B_SHIFT);
+               ipu_csi_write(ipu, csi, temp, CSI_TST_CTRL);
+       }
+}
+
+/*!
+ * _ipu_csi_ccir_err_detection_en
+ *     Enable error detection and correction for
+ *     CCIR interlaced mode with protection bit.
+ *
+ * @param      ipu             ipu handler
+ * @param      csi     csi 0 or csi 1
+ */
+void _ipu_csi_ccir_err_detection_enable(struct ipu_soc *ipu, uint32_t csi)
+{
+       uint32_t temp;
+
+       temp = ipu_csi_read(ipu, csi, CSI_CCIR_CODE_1);
+       temp |= CSI_CCIR_ERR_DET_EN;
+       ipu_csi_write(ipu, csi, temp, CSI_CCIR_CODE_1);
+
+}
+
+/*!
+ * _ipu_csi_ccir_err_detection_disable
+ *     Disable error detection and correction for
+ *     CCIR interlaced mode with protection bit.
+ *
+ * @param      ipu             ipu handler
+ * @param      csi     csi 0 or csi 1
+ */
+void _ipu_csi_ccir_err_detection_disable(struct ipu_soc *ipu, uint32_t csi)
+{
+       uint32_t temp;
+
+       temp = ipu_csi_read(ipu, csi, CSI_CCIR_CODE_1);
+       temp &= ~CSI_CCIR_ERR_DET_EN;
+       ipu_csi_write(ipu, csi, temp, CSI_CCIR_CODE_1);
+
+}
+
+/*!
+ * _ipu_csi_set_mipi_di
+ *
+ * @param      ipu             ipu handler
+ * @param      num     MIPI data identifier 0-3 handled by CSI
+ * @param      di_val  data identifier value
+ * @param      csi     csi 0 or csi 1
+ *
+ * @return     Returns 0 on success or negative error code on fail
+ */
+int _ipu_csi_set_mipi_di(struct ipu_soc *ipu, uint32_t num, uint32_t di_val, uint32_t csi)
+{
+       uint32_t temp;
+       int retval = 0;
+
+       if (di_val > 0xFFL) {
+               retval = -EINVAL;
+               goto err;
+       }
+
+       temp = ipu_csi_read(ipu, csi, CSI_MIPI_DI);
+
+       switch (num) {
+       case IPU_CSI_MIPI_DI0:
+               temp &= ~CSI_MIPI_DI0_MASK;
+               temp |= (di_val << CSI_MIPI_DI0_SHIFT);
+               ipu_csi_write(ipu, csi, temp, CSI_MIPI_DI);
+               break;
+       case IPU_CSI_MIPI_DI1:
+               temp &= ~CSI_MIPI_DI1_MASK;
+               temp |= (di_val << CSI_MIPI_DI1_SHIFT);
+               ipu_csi_write(ipu, csi, temp, CSI_MIPI_DI);
+               break;
+       case IPU_CSI_MIPI_DI2:
+               temp &= ~CSI_MIPI_DI2_MASK;
+               temp |= (di_val << CSI_MIPI_DI2_SHIFT);
+               ipu_csi_write(ipu, csi, temp, CSI_MIPI_DI);
+               break;
+       case IPU_CSI_MIPI_DI3:
+               temp &= ~CSI_MIPI_DI3_MASK;
+               temp |= (di_val << CSI_MIPI_DI3_SHIFT);
+               ipu_csi_write(ipu, csi, temp, CSI_MIPI_DI);
+               break;
+       default:
+               retval = -EINVAL;
+       }
+
+err:
+       return retval;
+}
+
+/*!
+ * _ipu_csi_set_skip_isp
+ *
+ * @param      ipu             ipu handler
+ * @param      skip            select frames to be skipped and set the
+ *                             correspond bits to 1
+ * @param      max_ratio       number of frames in a skipping set and the
+ *                             maximum value of max_ratio is 5
+ * @param      csi             csi 0 or csi 1
+ *
+ * @return     Returns 0 on success or negative error code on fail
+ */
+int _ipu_csi_set_skip_isp(struct ipu_soc *ipu, uint32_t skip, uint32_t max_ratio, uint32_t csi)
+{
+       uint32_t temp;
+       int retval = 0;
+
+       if (max_ratio > 5) {
+               retval = -EINVAL;
+               goto err;
+       }
+
+       temp = ipu_csi_read(ipu, csi, CSI_SKIP);
+       temp &= ~(CSI_MAX_RATIO_SKIP_ISP_MASK | CSI_SKIP_ISP_MASK);
+       temp |= (max_ratio << CSI_MAX_RATIO_SKIP_ISP_SHIFT) |
+               (skip << CSI_SKIP_ISP_SHIFT);
+       ipu_csi_write(ipu, csi, temp, CSI_SKIP);
+
+err:
+       return retval;
+}
+
+/*!
+ * _ipu_csi_set_skip_smfc
+ *
+ * @param      ipu             ipu handler
+ * @param      skip            select frames to be skipped and set the
+ *                             correspond bits to 1
+ * @param      max_ratio       number of frames in a skipping set and the
+ *                             maximum value of max_ratio is 5
+ * @param      id              csi to smfc skipping id
+ * @param      csi             csi 0 or csi 1
+ *
+ * @return     Returns 0 on success or negative error code on fail
+ */
+int _ipu_csi_set_skip_smfc(struct ipu_soc *ipu, uint32_t skip,
+       uint32_t max_ratio, uint32_t id, uint32_t csi)
+{
+       uint32_t temp;
+       int retval = 0;
+
+       if (max_ratio > 5 || id > 3) {
+               retval = -EINVAL;
+               goto err;
+       }
+
+       temp = ipu_csi_read(ipu, csi, CSI_SKIP);
+       temp &= ~(CSI_MAX_RATIO_SKIP_SMFC_MASK | CSI_ID_2_SKIP_MASK |
+                       CSI_SKIP_SMFC_MASK);
+       temp |= (max_ratio << CSI_MAX_RATIO_SKIP_SMFC_SHIFT) |
+                       (id << CSI_ID_2_SKIP_SHIFT) |
+                       (skip << CSI_SKIP_SMFC_SHIFT);
+       ipu_csi_write(ipu, csi, temp, CSI_SKIP);
+
+err:
+       return retval;
+}
+
+/*!
+ * _ipu_smfc_init
+ *     Map CSI frames to IDMAC channels.
+ *
+ * @param      ipu             ipu handler
+ * @param      channel         IDMAC channel 0-3
+ * @param      mipi_id         mipi id number 0-3
+ * @param      csi             csi0 or csi1
+ */
+void _ipu_smfc_init(struct ipu_soc *ipu, ipu_channel_t channel, uint32_t mipi_id, uint32_t csi)
+{
+       uint32_t temp;
+
+       temp = ipu_smfc_read(ipu, SMFC_MAP);
+
+       switch (channel) {
+       case CSI_MEM0:
+               temp &= ~SMFC_MAP_CH0_MASK;
+               temp |= ((csi << 2) | mipi_id) << SMFC_MAP_CH0_SHIFT;
+               break;
+       case CSI_MEM1:
+               temp &= ~SMFC_MAP_CH1_MASK;
+               temp |= ((csi << 2) | mipi_id) << SMFC_MAP_CH1_SHIFT;
+               break;
+       case CSI_MEM2:
+               temp &= ~SMFC_MAP_CH2_MASK;
+               temp |= ((csi << 2) | mipi_id) << SMFC_MAP_CH2_SHIFT;
+               break;
+       case CSI_MEM3:
+               temp &= ~SMFC_MAP_CH3_MASK;
+               temp |= ((csi << 2) | mipi_id) << SMFC_MAP_CH3_SHIFT;
+               break;
+       default:
+               return;
+       }
+
+       ipu_smfc_write(ipu, temp, SMFC_MAP);
+}
+
+/*!
+ * _ipu_smfc_set_wmc
+ *     Caution: The number of required channels,  the enabled channels
+ *     and the FIFO size per channel are configured restrictedly.
+ *
+ * @param      ipu             ipu handler
+ * @param      channel         IDMAC channel 0-3
+ * @param      set             set 1 or clear 0
+ * @param      level           water mark level when FIFO is on the
+ *                             relative size
+ */
+void _ipu_smfc_set_wmc(struct ipu_soc *ipu, ipu_channel_t channel, bool set, uint32_t level)
+{
+       uint32_t temp;
+
+       temp = ipu_smfc_read(ipu, SMFC_WMC);
+
+       switch (channel) {
+       case CSI_MEM0:
+               if (set == true) {
+                       temp &= ~SMFC_WM0_SET_MASK;
+                       temp |= level << SMFC_WM0_SET_SHIFT;
+               } else {
+                       temp &= ~SMFC_WM0_CLR_MASK;
+                       temp |= level << SMFC_WM0_CLR_SHIFT;
+               }
+               break;
+       case CSI_MEM1:
+               if (set == true) {
+                       temp &= ~SMFC_WM1_SET_MASK;
+                       temp |= level << SMFC_WM1_SET_SHIFT;
+               } else {
+                       temp &= ~SMFC_WM1_CLR_MASK;
+                       temp |= level << SMFC_WM1_CLR_SHIFT;
+               }
+               break;
+       case CSI_MEM2:
+               if (set == true) {
+                       temp &= ~SMFC_WM2_SET_MASK;
+                       temp |= level << SMFC_WM2_SET_SHIFT;
+               } else {
+                       temp &= ~SMFC_WM2_CLR_MASK;
+                       temp |= level << SMFC_WM2_CLR_SHIFT;
+               }
+               break;
+       case CSI_MEM3:
+               if (set == true) {
+                       temp &= ~SMFC_WM3_SET_MASK;
+                       temp |= level << SMFC_WM3_SET_SHIFT;
+               } else {
+                       temp &= ~SMFC_WM3_CLR_MASK;
+                       temp |= level << SMFC_WM3_CLR_SHIFT;
+               }
+               break;
+       default:
+               return;
+       }
+
+       ipu_smfc_write(ipu, temp, SMFC_WMC);
+}
+
+/*!
+ * _ipu_smfc_set_burst_size
+ *
+ * @param      ipu             ipu handler
+ * @param      channel         IDMAC channel 0-3
+ * @param      bs              burst size of IDMAC channel,
+ *                             the value programmed here shoud be BURST_SIZE-1
+ */
+void _ipu_smfc_set_burst_size(struct ipu_soc *ipu, ipu_channel_t channel, uint32_t bs)
+{
+       uint32_t temp;
+
+       temp = ipu_smfc_read(ipu, SMFC_BS);
+
+       switch (channel) {
+       case CSI_MEM0:
+               temp &= ~SMFC_BS0_MASK;
+               temp |= bs << SMFC_BS0_SHIFT;
+               break;
+       case CSI_MEM1:
+               temp &= ~SMFC_BS1_MASK;
+               temp |= bs << SMFC_BS1_SHIFT;
+               break;
+       case CSI_MEM2:
+               temp &= ~SMFC_BS2_MASK;
+               temp |= bs << SMFC_BS2_SHIFT;
+               break;
+       case CSI_MEM3:
+               temp &= ~SMFC_BS3_MASK;
+               temp |= bs << SMFC_BS3_SHIFT;
+               break;
+       default:
+               return;
+       }
+
+       ipu_smfc_write(ipu, temp, SMFC_BS);
+}
+
+/*!
+ * _ipu_csi_init
+ *
+ * @param      ipu             ipu handler
+ * @param      channel      IDMAC channel
+ * @param      csi          csi 0 or csi 1
+ *
+ * @return     Returns 0 on success or negative error code on fail
+ */
+int _ipu_csi_init(struct ipu_soc *ipu, ipu_channel_t channel, uint32_t csi)
+{
+       uint32_t csi_sens_conf, csi_dest;
+       int retval = 0;
+
+       switch (channel) {
+       case CSI_MEM0:
+       case CSI_MEM1:
+       case CSI_MEM2:
+       case CSI_MEM3:
+               csi_dest = CSI_DATA_DEST_IDMAC;
+               break;
+       case CSI_PRP_ENC_MEM:
+       case CSI_PRP_VF_MEM:
+               csi_dest = CSI_DATA_DEST_IC;
+               break;
+       default:
+               retval = -EINVAL;
+               goto err;
+       }
+
+       csi_sens_conf = ipu_csi_read(ipu, csi, CSI_SENS_CONF);
+       csi_sens_conf &= ~CSI_SENS_CONF_DATA_DEST_MASK;
+       ipu_csi_write(ipu, csi, csi_sens_conf | (csi_dest <<
+               CSI_SENS_CONF_DATA_DEST_SHIFT), CSI_SENS_CONF);
+err:
+       return retval;
+}
+
+/*!
+ * csi_irq_handler
+ *
+ * @param      irq             interrupt id
+ * @param      dev_id          pointer to ipu handler
+ *
+ * @return     Returns if irq is handled
+ */
+static irqreturn_t csi_irq_handler(int irq, void *dev_id)
+{
+       struct ipu_soc *ipu = dev_id;
+       struct completion *comp = &ipu->csi_comp;
+
+       complete(comp);
+       return IRQ_HANDLED;
+}
+
+/*!
+ * _ipu_csi_wait4eof
+ *
+ * @param      ipu             ipu handler
+ * @param      channel      IDMAC channel
+ *
+ */
+void _ipu_csi_wait4eof(struct ipu_soc *ipu, ipu_channel_t channel)
+{
+       int ret;
+       int irq = 0;
+
+       if (channel == CSI_MEM0)
+               irq = IPU_IRQ_CSI0_OUT_EOF;
+       else if (channel == CSI_MEM1)
+               irq = IPU_IRQ_CSI1_OUT_EOF;
+       else if (channel == CSI_MEM2)
+               irq = IPU_IRQ_CSI2_OUT_EOF;
+       else if (channel == CSI_MEM3)
+               irq = IPU_IRQ_CSI3_OUT_EOF;
+       else if (channel == CSI_PRP_ENC_MEM)
+               irq = IPU_IRQ_PRP_ENC_OUT_EOF;
+       else if (channel == CSI_PRP_VF_MEM)
+               irq = IPU_IRQ_PRP_VF_OUT_EOF;
+       else{
+               dev_err(ipu->dev, "Not a CSI channel\n");
+               return;
+       }
+
+       init_completion(&ipu->csi_comp);
+       ret = ipu_request_irq(ipu, irq, csi_irq_handler, 0, NULL, ipu);
+       if (ret < 0) {
+               dev_err(ipu->dev, "CSI irq %d in use\n", irq);
+               return;
+       }
+       ret = wait_for_completion_timeout(&ipu->csi_comp, msecs_to_jiffies(500));
+       ipu_free_irq(ipu, irq, ipu);
+       dev_dbg(ipu->dev, "CSI stop timeout - %d * 10ms\n", 5 - ret);
+}
diff --git a/drivers/mxc/ipu3/ipu_common.c b/drivers/mxc/ipu3/ipu_common.c
new file mode 100644 (file)
index 0000000..df467d2
--- /dev/null
@@ -0,0 +1,3135 @@
+/*
+ * Copyright 2005-2013 Freescale Semiconductor, Inc. All Rights Reserved.
+ */
+
+/*
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/*!
+ * @file ipu_common.c
+ *
+ * @brief This file contains the IPU driver common API functions.
+ *
+ * @ingroup IPU
+ */
+#include <linux/clk.h>
+#include <linux/clk-provider.h>
+#include <linux/delay.h>
+#include <linux/err.h>
+#include <linux/init.h>
+#include <linux/interrupt.h>
+#include <linux/io.h>
+#include <linux/ipu-v3.h>
+#include <linux/irq.h>
+#include <linux/irqdesc.h>
+#include <linux/module.h>
+#include <linux/mod_devicetable.h>
+#include <linux/of_device.h>
+#include <linux/platform_device.h>
+#include <linux/pm_runtime.h>
+#include <linux/reset.h>
+#include <linux/spinlock.h>
+#include <linux/types.h>
+
+#include <asm/cacheflush.h>
+
+#include "ipu_param_mem.h"
+#include "ipu_regs.h"
+
+static struct ipu_soc ipu_array[MXC_IPU_MAX_NUM];
+int g_ipu_hw_rev;
+
+/* Static functions */
+static irqreturn_t ipu_sync_irq_handler(int irq, void *desc);
+static irqreturn_t ipu_err_irq_handler(int irq, void *desc);
+
+static inline uint32_t channel_2_dma(ipu_channel_t ch, ipu_buffer_t type)
+{
+       return ((uint32_t) ch >> (6 * type)) & 0x3F;
+};
+
+static inline int _ipu_is_ic_chan(uint32_t dma_chan)
+{
+       return (((dma_chan >= 11) && (dma_chan <= 22) && (dma_chan != 17) &&
+               (dma_chan != 18)));
+}
+
+static inline int _ipu_is_vdi_out_chan(uint32_t dma_chan)
+{
+       return (dma_chan == 5);
+}
+
+static inline int _ipu_is_ic_graphic_chan(uint32_t dma_chan)
+{
+       return (dma_chan == 14 || dma_chan == 15);
+}
+
+/* Either DP BG or DP FG can be graphic window */
+static inline int _ipu_is_dp_graphic_chan(uint32_t dma_chan)
+{
+       return (dma_chan == 23 || dma_chan == 27);
+}
+
+static inline int _ipu_is_irt_chan(uint32_t dma_chan)
+{
+       return ((dma_chan >= 45) && (dma_chan <= 50));
+}
+
+static inline int _ipu_is_dmfc_chan(uint32_t dma_chan)
+{
+       return ((dma_chan >= 23) && (dma_chan <= 29));
+}
+
+static inline int _ipu_is_smfc_chan(uint32_t dma_chan)
+{
+       return ((dma_chan >= 0) && (dma_chan <= 3));
+}
+
+static inline int _ipu_is_trb_chan(uint32_t dma_chan)
+{
+       return (((dma_chan == 8) || (dma_chan == 9) ||
+                (dma_chan == 10) || (dma_chan == 13) ||
+                (dma_chan == 21) || (dma_chan == 23) ||
+                (dma_chan == 27) || (dma_chan == 28)) &&
+               (g_ipu_hw_rev >= IPU_V3DEX));
+}
+
+/*
+ * We usually use IDMAC 23 as full plane and IDMAC 27 as partial
+ * plane.
+ * IDMAC 23/24/28/41 can drive a display respectively - primary
+ * IDMAC 27 depends on IDMAC 23 - nonprimary
+ */
+static inline int _ipu_is_primary_disp_chan(uint32_t dma_chan)
+{
+       return ((dma_chan == 23) || (dma_chan == 24) ||
+               (dma_chan == 28) || (dma_chan == 41));
+}
+
+static inline int _ipu_is_sync_irq(uint32_t irq)
+{
+       /* sync interrupt register number */
+       int reg_num = irq / 32 + 1;
+
+       return ((reg_num == 1)  || (reg_num == 2)  || (reg_num == 3)  ||
+               (reg_num == 4)  || (reg_num == 7)  || (reg_num == 8)  ||
+               (reg_num == 11) || (reg_num == 12) || (reg_num == 13) ||
+               (reg_num == 14) || (reg_num == 15));
+}
+
+#define idma_is_valid(ch)      (ch != NO_DMA)
+#define idma_mask(ch)          (idma_is_valid(ch) ? (1UL << (ch & 0x1F)) : 0)
+#define idma_is_set(ipu, reg, dma)     (ipu_idmac_read(ipu, reg(dma)) & idma_mask(dma))
+#define tri_cur_buf_mask(ch)   (idma_mask(ch*2) * 3)
+#define tri_cur_buf_shift(ch)  (ffs(idma_mask(ch*2)) - 1)
+
+static int ipu_clk_setup_enable(struct ipu_soc *ipu,
+                       struct ipu_pltfm_data *pdata)
+{
+       char pixel_clk_0[] = "ipu1_pclk_0";
+       char pixel_clk_1[] = "ipu1_pclk_1";
+       char pixel_clk_0_sel[] = "ipu1_pclk0_sel";
+       char pixel_clk_1_sel[] = "ipu1_pclk1_sel";
+       char pixel_clk_0_div[] = "ipu1_pclk0_div";
+       char pixel_clk_1_div[] = "ipu1_pclk1_div";
+       char *ipu_pixel_clk_sel[] = { "ipu1", "ipu1_di0", "ipu1_di1", };
+       char *pclk_sel;
+       struct clk *clk;
+       int ret;
+       int i;
+
+       pixel_clk_0[3] += pdata->id;
+       pixel_clk_1[3] += pdata->id;
+       pixel_clk_0_sel[3] += pdata->id;
+       pixel_clk_1_sel[3] += pdata->id;
+       pixel_clk_0_div[3] += pdata->id;
+       pixel_clk_1_div[3] += pdata->id;
+       for (i = 0; i < ARRAY_SIZE(ipu_pixel_clk_sel); i++) {
+               pclk_sel = ipu_pixel_clk_sel[i];
+               pclk_sel[3] += pdata->id;
+       }
+       dev_dbg(ipu->dev, "ipu_clk = %lu\n", clk_get_rate(ipu->ipu_clk));
+
+       clk = clk_register_mux_pix_clk(ipu->dev, pixel_clk_0_sel,
+                       (const char **)ipu_pixel_clk_sel,
+                       ARRAY_SIZE(ipu_pixel_clk_sel),
+                       0, pdata->id, 0, 0);
+       if (IS_ERR(clk)) {
+               dev_err(ipu->dev, "clk_register mux di0 failed");
+               return PTR_ERR(clk);
+       }
+       ipu->pixel_clk_sel[0] = clk;
+       clk = clk_register_mux_pix_clk(ipu->dev, pixel_clk_1_sel,
+                       (const char **)ipu_pixel_clk_sel,
+                       ARRAY_SIZE(ipu_pixel_clk_sel),
+                       0, pdata->id, 1, 0);
+       if (IS_ERR(clk)) {
+               dev_err(ipu->dev, "clk_register mux di1 failed");
+               return PTR_ERR(clk);
+       }
+       ipu->pixel_clk_sel[1] = clk;
+
+       clk = clk_register_div_pix_clk(ipu->dev, pixel_clk_0_div,
+                               pixel_clk_0_sel, 0, pdata->id, 0, 0);
+       if (IS_ERR(clk)) {
+               dev_err(ipu->dev, "clk register di0 div failed");
+               return PTR_ERR(clk);
+       }
+       clk = clk_register_div_pix_clk(ipu->dev, pixel_clk_1_div,
+                       pixel_clk_1_sel, CLK_SET_RATE_PARENT, pdata->id, 1, 0);
+       if (IS_ERR(clk)) {
+               dev_err(ipu->dev, "clk register di1 div failed");
+               return PTR_ERR(clk);
+       }
+
+       ipu->pixel_clk[0] = clk_register_gate_pix_clk(ipu->dev, pixel_clk_0,
+                               pixel_clk_0_div, CLK_SET_RATE_PARENT,
+                               pdata->id, 0, 0);
+       if (IS_ERR(ipu->pixel_clk[0])) {
+               dev_err(ipu->dev, "clk register di0 gate failed");
+               return PTR_ERR(ipu->pixel_clk[0]);
+       }
+       ipu->pixel_clk[1] = clk_register_gate_pix_clk(ipu->dev, pixel_clk_1,
+                               pixel_clk_1_div, CLK_SET_RATE_PARENT,
+                               pdata->id, 1, 0);
+       if (IS_ERR(ipu->pixel_clk[1])) {
+               dev_err(ipu->dev, "clk register di1 gate failed");
+               return PTR_ERR(ipu->pixel_clk[1]);
+       }
+
+       ret = clk_set_parent(ipu->pixel_clk_sel[0], ipu->ipu_clk);
+       if (ret) {
+               dev_err(ipu->dev, "clk set parent failed");
+               return ret;
+       }
+
+       ret = clk_set_parent(ipu->pixel_clk_sel[1], ipu->ipu_clk);
+       if (ret) {
+               dev_err(ipu->dev, "clk set parent failed");
+               return ret;
+       }
+
+       ipu->di_clk[0] = devm_clk_get(ipu->dev, "di0");
+       if (IS_ERR(ipu->di_clk[0])) {
+               dev_err(ipu->dev, "clk_get di0 failed");
+               return PTR_ERR(ipu->di_clk[0]);
+       }
+       ipu->di_clk[1] = devm_clk_get(ipu->dev, "di1");
+       if (IS_ERR(ipu->di_clk[1])) {
+               dev_err(ipu->dev, "clk_get di1 failed");
+               return PTR_ERR(ipu->di_clk[1]);
+       }
+
+       ipu->di_clk_sel[0] = devm_clk_get(ipu->dev, "di0_sel");
+       if (IS_ERR(ipu->di_clk_sel[0])) {
+               dev_err(ipu->dev, "clk_get di0_sel failed");
+               return PTR_ERR(ipu->di_clk_sel[0]);
+       }
+       ipu->di_clk_sel[1] = devm_clk_get(ipu->dev, "di1_sel");
+       if (IS_ERR(ipu->di_clk_sel[1])) {
+               dev_err(ipu->dev, "clk_get di1_sel failed");
+               return PTR_ERR(ipu->di_clk_sel[1]);
+       }
+
+       return 0;
+}
+
+static int ipu_mem_reset(struct ipu_soc *ipu)
+{
+       int timeout = 1000;
+
+       ipu_cm_write(ipu, 0x807FFFFF, IPU_MEM_RST);
+
+       while (ipu_cm_read(ipu, IPU_MEM_RST) & 0x80000000) {
+               if (!timeout--)
+                       return -ETIME;
+               msleep(1);
+       }
+
+       return 0;
+}
+
+struct ipu_soc *ipu_get_soc(int id)
+{
+       if (id >= MXC_IPU_MAX_NUM)
+               return ERR_PTR(-ENODEV);
+       else if (!ipu_array[id].online)
+               return ERR_PTR(-ENODEV);
+       else
+               return &(ipu_array[id]);
+}
+EXPORT_SYMBOL_GPL(ipu_get_soc);
+
+void _ipu_get(struct ipu_soc *ipu)
+{
+       int ret;
+
+       ret = clk_enable(ipu->ipu_clk);
+       if (ret < 0)
+               BUG();
+}
+
+void _ipu_put(struct ipu_soc *ipu)
+{
+       clk_disable(ipu->ipu_clk);
+}
+
+void ipu_disable_hsp_clk(struct ipu_soc *ipu)
+{
+       _ipu_put(ipu);
+}
+EXPORT_SYMBOL(ipu_disable_hsp_clk);
+
+static struct platform_device_id imx_ipu_type[] = {
+       {
+               .name = "ipu-imx6q",
+               .driver_data = IPU_V3H,
+       }, {
+               /* sentinel */
+       }
+};
+MODULE_DEVICE_TABLE(platform, imx_ipu_type);
+
+static const struct of_device_id imx_ipuv3_dt_ids[] = {
+       { .compatible = "fsl,imx6q-ipu", .data = &imx_ipu_type[IMX6Q_IPU], },
+       { /* sentinel */ }
+};
+MODULE_DEVICE_TABLE(of, imx_ipuv3_dt_ids);
+
+/*!
+ * This function is called by the driver framework to initialize the IPU
+ * hardware.
+ *
+ * @param      dev     The device structure for the IPU passed in by the
+ *                     driver framework.
+ *
+ * @return      Returns 0 on success or negative error code on error
+ */
+static int ipu_probe(struct platform_device *pdev)
+{
+       struct ipu_soc *ipu;
+       struct resource *res;
+       unsigned long ipu_base;
+       const struct of_device_id *of_id =
+                       of_match_device(imx_ipuv3_dt_ids, &pdev->dev);
+       struct ipu_pltfm_data *pltfm_data;
+       int ret = 0;
+       u32 bypass_reset;
+
+       dev_dbg(&pdev->dev, "<%s>\n", __func__);
+
+       pltfm_data = devm_kzalloc(&pdev->dev, sizeof(struct ipu_pltfm_data),
+                               GFP_KERNEL);
+       if (!pltfm_data)
+               return -ENOMEM;
+
+       ret = of_property_read_u32(pdev->dev.of_node,
+                                       "bypass_reset", &bypass_reset);
+       if (ret < 0) {
+               dev_dbg(&pdev->dev, "can not get bypass_reset\n");
+               return ret;
+       }
+       pltfm_data->bypass_reset = (bool)bypass_reset;
+
+       pltfm_data->id = of_alias_get_id(pdev->dev.of_node, "ipu");
+       if (pltfm_data->id < 0) {
+               dev_dbg(&pdev->dev, "can not get alias id\n");
+               return pltfm_data->id;
+       }
+
+       if (of_id)
+               pdev->id_entry = of_id->data;
+       pltfm_data->devtype = pdev->id_entry->driver_data;
+       g_ipu_hw_rev = pltfm_data->devtype;
+
+       ipu = &ipu_array[pltfm_data->id];
+       memset(ipu, 0, sizeof(struct ipu_soc));
+       ipu->dev = &pdev->dev;
+       ipu->pdata = pltfm_data;
+       dev_dbg(ipu->dev, "IPU rev:%d\n", g_ipu_hw_rev);
+       spin_lock_init(&ipu->int_reg_spin_lock);
+       spin_lock_init(&ipu->rdy_reg_spin_lock);
+       mutex_init(&ipu->mutex_lock);
+
+       ipu->irq_sync = platform_get_irq(pdev, 0);
+       ipu->irq_err = platform_get_irq(pdev, 1);
+       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+
+       if (!res || ipu->irq_sync < 0 || ipu->irq_err < 0) {
+               dev_err(&pdev->dev, "can't get device resources\n");
+               return -ENODEV;
+       }
+
+       if (!devm_request_mem_region(&pdev->dev, res->start,
+                                    resource_size(res), pdev->name))
+               return -EBUSY;
+
+       ret = devm_request_irq(&pdev->dev, ipu->irq_sync,
+                       ipu_sync_irq_handler, 0, pdev->name, ipu);
+       if (ret) {
+               dev_err(ipu->dev, "request SYNC interrupt failed\n");
+               return ret;
+       }
+       ret = devm_request_irq(&pdev->dev, ipu->irq_err,
+                       ipu_err_irq_handler, 0, pdev->name, ipu);
+       if (ret) {
+               dev_err(ipu->dev, "request ERR interrupt failed\n");
+               return ret;
+       }
+
+       ipu_base = res->start;
+       /* base fixup */
+       if (g_ipu_hw_rev == IPU_V3H)    /* IPUv3H */
+               ipu_base += IPUV3H_REG_BASE;
+       else if (g_ipu_hw_rev == IPU_V3M)       /* IPUv3M */
+               ipu_base += IPUV3M_REG_BASE;
+       else                    /* IPUv3D, v3E, v3EX */
+               ipu_base += IPUV3DEX_REG_BASE;
+
+       ipu->cm_reg = devm_ioremap(&pdev->dev,
+                               ipu_base + IPU_CM_REG_BASE, PAGE_SIZE);
+       ipu->ic_reg = devm_ioremap(&pdev->dev,
+                               ipu_base + IPU_IC_REG_BASE, PAGE_SIZE);
+       ipu->idmac_reg = devm_ioremap(&pdev->dev,
+                               ipu_base + IPU_IDMAC_REG_BASE, PAGE_SIZE);
+       /* DP Registers are accessed thru the SRM */
+       ipu->dp_reg = devm_ioremap(&pdev->dev,
+                               ipu_base + IPU_SRM_REG_BASE, PAGE_SIZE);
+       ipu->dc_reg = devm_ioremap(&pdev->dev,
+                               ipu_base + IPU_DC_REG_BASE, PAGE_SIZE);
+       ipu->dmfc_reg = devm_ioremap(&pdev->dev,
+                               ipu_base + IPU_DMFC_REG_BASE, PAGE_SIZE);
+       ipu->di_reg[0] = devm_ioremap(&pdev->dev,
+                               ipu_base + IPU_DI0_REG_BASE, PAGE_SIZE);
+       ipu->di_reg[1] = devm_ioremap(&pdev->dev,
+                               ipu_base + IPU_DI1_REG_BASE, PAGE_SIZE);
+       ipu->smfc_reg = devm_ioremap(&pdev->dev,
+                               ipu_base + IPU_SMFC_REG_BASE, PAGE_SIZE);
+       ipu->csi_reg[0] = devm_ioremap(&pdev->dev,
+                               ipu_base + IPU_CSI0_REG_BASE, PAGE_SIZE);
+       ipu->csi_reg[1] = devm_ioremap(&pdev->dev,
+                               ipu_base + IPU_CSI1_REG_BASE, PAGE_SIZE);
+       ipu->cpmem_base = devm_ioremap(&pdev->dev,
+                               ipu_base + IPU_CPMEM_REG_BASE, SZ_128K);
+       ipu->tpmem_base = devm_ioremap(&pdev->dev,
+                               ipu_base + IPU_TPM_REG_BASE, SZ_64K);
+       ipu->dc_tmpl_reg = devm_ioremap(&pdev->dev,
+                               ipu_base + IPU_DC_TMPL_REG_BASE, SZ_128K);
+       ipu->vdi_reg = devm_ioremap(&pdev->dev,
+                               ipu_base + IPU_VDI_REG_BASE, PAGE_SIZE);
+       ipu->disp_base[1] = devm_ioremap(&pdev->dev,
+                               ipu_base + IPU_DISP1_BASE, SZ_4K);
+       if (!ipu->cm_reg || !ipu->ic_reg || !ipu->idmac_reg ||
+               !ipu->dp_reg || !ipu->dc_reg || !ipu->dmfc_reg ||
+               !ipu->di_reg[0] || !ipu->di_reg[1] || !ipu->smfc_reg ||
+               !ipu->csi_reg[0] || !ipu->csi_reg[1] || !ipu->cpmem_base ||
+               !ipu->tpmem_base || !ipu->dc_tmpl_reg || !ipu->disp_base[1]
+               || !ipu->vdi_reg)
+               return -ENOMEM;
+
+       dev_dbg(ipu->dev, "IPU CM Regs = %p\n", ipu->cm_reg);
+       dev_dbg(ipu->dev, "IPU IC Regs = %p\n", ipu->ic_reg);
+       dev_dbg(ipu->dev, "IPU IDMAC Regs = %p\n", ipu->idmac_reg);
+       dev_dbg(ipu->dev, "IPU DP Regs = %p\n", ipu->dp_reg);
+       dev_dbg(ipu->dev, "IPU DC Regs = %p\n", ipu->dc_reg);
+       dev_dbg(ipu->dev, "IPU DMFC Regs = %p\n", ipu->dmfc_reg);
+       dev_dbg(ipu->dev, "IPU DI0 Regs = %p\n", ipu->di_reg[0]);
+       dev_dbg(ipu->dev, "IPU DI1 Regs = %p\n", ipu->di_reg[1]);
+       dev_dbg(ipu->dev, "IPU SMFC Regs = %p\n", ipu->smfc_reg);
+       dev_dbg(ipu->dev, "IPU CSI0 Regs = %p\n", ipu->csi_reg[0]);
+       dev_dbg(ipu->dev, "IPU CSI1 Regs = %p\n", ipu->csi_reg[1]);
+       dev_dbg(ipu->dev, "IPU CPMem = %p\n", ipu->cpmem_base);
+       dev_dbg(ipu->dev, "IPU TPMem = %p\n", ipu->tpmem_base);
+       dev_dbg(ipu->dev, "IPU DC Template Mem = %p\n", ipu->dc_tmpl_reg);
+       dev_dbg(ipu->dev, "IPU Display Region 1 Mem = %p\n", ipu->disp_base[1]);
+       dev_dbg(ipu->dev, "IPU VDI Regs = %p\n", ipu->vdi_reg);
+
+       ipu->ipu_clk = devm_clk_get(ipu->dev, "bus");
+       if (IS_ERR(ipu->ipu_clk)) {
+               dev_err(ipu->dev, "clk_get ipu failed");
+               return PTR_ERR(ipu->ipu_clk);
+       }
+
+       /* ipu_clk is always prepared */
+       ret = clk_prepare_enable(ipu->ipu_clk);
+       if (ret < 0) {
+               dev_err(ipu->dev, "ipu clk enable failed\n");
+               return ret;
+       }
+
+       ipu->online = true;
+
+       platform_set_drvdata(pdev, ipu);
+
+       if (!pltfm_data->bypass_reset) {
+               ret = device_reset(&pdev->dev);
+               if (ret) {
+                       dev_err(&pdev->dev, "failed to reset: %d\n", ret);
+                       return ret;
+               }
+
+               ipu_mem_reset(ipu);
+
+               ipu_disp_init(ipu);
+
+               /* Set MCU_T to divide MCU access window into 2 */
+               ipu_cm_write(ipu, 0x00400000L | (IPU_MCU_T_DEFAULT << 18),
+                            IPU_DISP_GEN);
+       }
+
+       /* setup ipu clk tree after ipu reset  */
+       ret = ipu_clk_setup_enable(ipu, pltfm_data);
+       if (ret < 0) {
+               dev_err(ipu->dev, "ipu clk setup failed\n");
+               ipu->online = false;
+               return ret;
+       }
+
+       /* Set sync refresh channels and CSI->mem channel as high priority */
+       ipu_idmac_write(ipu, 0x18800001L, IDMAC_CHA_PRI(0));
+
+       /* Enable error interrupts by default */
+       ipu_cm_write(ipu, 0xFFFFFFFF, IPU_INT_CTRL(5));
+       ipu_cm_write(ipu, 0xFFFFFFFF, IPU_INT_CTRL(6));
+       ipu_cm_write(ipu, 0xFFFFFFFF, IPU_INT_CTRL(9));
+       ipu_cm_write(ipu, 0xFFFFFFFF, IPU_INT_CTRL(10));
+
+       if (!pltfm_data->bypass_reset)
+               clk_disable(ipu->ipu_clk);
+
+       register_ipu_device(ipu, ipu->pdata->id);
+
+       pm_runtime_enable(&pdev->dev);
+
+       return ret;
+}
+
+int ipu_remove(struct platform_device *pdev)
+{
+       struct ipu_soc *ipu = platform_get_drvdata(pdev);
+
+       unregister_ipu_device(ipu, ipu->pdata->id);
+
+       clk_put(ipu->ipu_clk);
+
+       return 0;
+}
+
+void ipu_dump_registers(struct ipu_soc *ipu)
+{
+       dev_dbg(ipu->dev, "IPU_CONF = \t0x%08X\n", ipu_cm_read(ipu, IPU_CONF));
+       dev_dbg(ipu->dev, "IDMAC_CONF = \t0x%08X\n", ipu_idmac_read(ipu, IDMAC_CONF));
+       dev_dbg(ipu->dev, "IDMAC_CHA_EN1 = \t0x%08X\n",
+              ipu_idmac_read(ipu, IDMAC_CHA_EN(0)));
+       dev_dbg(ipu->dev, "IDMAC_CHA_EN2 = \t0x%08X\n",
+              ipu_idmac_read(ipu, IDMAC_CHA_EN(32)));
+       dev_dbg(ipu->dev, "IDMAC_CHA_PRI1 = \t0x%08X\n",
+              ipu_idmac_read(ipu, IDMAC_CHA_PRI(0)));
+       dev_dbg(ipu->dev, "IDMAC_CHA_PRI2 = \t0x%08X\n",
+              ipu_idmac_read(ipu, IDMAC_CHA_PRI(32)));
+       dev_dbg(ipu->dev, "IDMAC_BAND_EN1 = \t0x%08X\n",
+              ipu_idmac_read(ipu, IDMAC_BAND_EN(0)));
+       dev_dbg(ipu->dev, "IDMAC_BAND_EN2 = \t0x%08X\n",
+              ipu_idmac_read(ipu, IDMAC_BAND_EN(32)));
+       dev_dbg(ipu->dev, "IPU_CHA_DB_MODE_SEL0 = \t0x%08X\n",
+              ipu_cm_read(ipu, IPU_CHA_DB_MODE_SEL(0)));
+       dev_dbg(ipu->dev, "IPU_CHA_DB_MODE_SEL1 = \t0x%08X\n",
+              ipu_cm_read(ipu, IPU_CHA_DB_MODE_SEL(32)));
+       if (g_ipu_hw_rev >= IPU_V3DEX) {
+               dev_dbg(ipu->dev, "IPU_CHA_TRB_MODE_SEL0 = \t0x%08X\n",
+                      ipu_cm_read(ipu, IPU_CHA_TRB_MODE_SEL(0)));
+               dev_dbg(ipu->dev, "IPU_CHA_TRB_MODE_SEL1 = \t0x%08X\n",
+                      ipu_cm_read(ipu, IPU_CHA_TRB_MODE_SEL(32)));
+       }
+       dev_dbg(ipu->dev, "DMFC_WR_CHAN = \t0x%08X\n",
+              ipu_dmfc_read(ipu, DMFC_WR_CHAN));
+       dev_dbg(ipu->dev, "DMFC_WR_CHAN_DEF = \t0x%08X\n",
+              ipu_dmfc_read(ipu, DMFC_WR_CHAN_DEF));
+       dev_dbg(ipu->dev, "DMFC_DP_CHAN = \t0x%08X\n",
+              ipu_dmfc_read(ipu, DMFC_DP_CHAN));
+       dev_dbg(ipu->dev, "DMFC_DP_CHAN_DEF = \t0x%08X\n",
+              ipu_dmfc_read(ipu, DMFC_DP_CHAN_DEF));
+       dev_dbg(ipu->dev, "DMFC_IC_CTRL = \t0x%08X\n",
+              ipu_dmfc_read(ipu, DMFC_IC_CTRL));
+       dev_dbg(ipu->dev, "IPU_FS_PROC_FLOW1 = \t0x%08X\n",
+              ipu_cm_read(ipu, IPU_FS_PROC_FLOW1));
+       dev_dbg(ipu->dev, "IPU_FS_PROC_FLOW2 = \t0x%08X\n",
+              ipu_cm_read(ipu, IPU_FS_PROC_FLOW2));
+       dev_dbg(ipu->dev, "IPU_FS_PROC_FLOW3 = \t0x%08X\n",
+              ipu_cm_read(ipu, IPU_FS_PROC_FLOW3));
+       dev_dbg(ipu->dev, "IPU_FS_DISP_FLOW1 = \t0x%08X\n",
+              ipu_cm_read(ipu, IPU_FS_DISP_FLOW1));
+       dev_dbg(ipu->dev, "IPU_VDIC_VDI_FSIZE = \t0x%08X\n",
+              ipu_vdi_read(ipu, VDI_FSIZE));
+       dev_dbg(ipu->dev, "IPU_VDIC_VDI_C = \t0x%08X\n",
+              ipu_vdi_read(ipu, VDI_C));
+       dev_dbg(ipu->dev, "IPU_IC_CONF = \t0x%08X\n",
+              ipu_ic_read(ipu, IC_CONF));
+}
+
+/*!
+ * This function is called to initialize a logical IPU channel.
+ *
+ * @param      ipu     ipu handler
+ * @param       channel Input parameter for the logical channel ID to init.
+ *
+ * @param       params  Input parameter containing union of channel
+ *                      initialization parameters.
+ *
+ * @return      Returns 0 on success or negative error code on fail
+ */
+int32_t ipu_init_channel(struct ipu_soc *ipu, ipu_channel_t channel, ipu_channel_params_t *params)
+{
+       int ret = 0;
+       bool bad_pixfmt;
+       uint32_t ipu_conf, reg, in_g_pixel_fmt, sec_dma;
+
+       dev_dbg(ipu->dev, "init channel = %d\n", IPU_CHAN_ID(channel));
+
+       ret = pm_runtime_get_sync(ipu->dev);
+       if (ret < 0) {
+               dev_err(ipu->dev, "ch = %d, pm_runtime_get failed:%d!\n",
+                               IPU_CHAN_ID(channel), ret);
+               dump_stack();
+               return ret;
+       }
+       /*
+        * Here, ret could be 1 if the device's runtime PM status was
+        * already 'active', so clear it to be 0.
+        */
+       ret = 0;
+
+       _ipu_get(ipu);
+
+       mutex_lock(&ipu->mutex_lock);
+
+       /* Re-enable error interrupts every time a channel is initialized */
+       ipu_cm_write(ipu, 0xFFFFFFFF, IPU_INT_CTRL(5));
+       ipu_cm_write(ipu, 0xFFFFFFFF, IPU_INT_CTRL(6));
+       ipu_cm_write(ipu, 0xFFFFFFFF, IPU_INT_CTRL(9));
+       ipu_cm_write(ipu, 0xFFFFFFFF, IPU_INT_CTRL(10));
+
+       if (ipu->channel_init_mask & (1L << IPU_CHAN_ID(channel))) {
+               dev_warn(ipu->dev, "Warning: channel already initialized %d\n",
+                       IPU_CHAN_ID(channel));
+       }
+
+       ipu_conf = ipu_cm_read(ipu, IPU_CONF);
+
+       switch (channel) {
+       case CSI_MEM0:
+       case CSI_MEM1:
+       case CSI_MEM2:
+       case CSI_MEM3:
+               if (params->csi_mem.csi > 1) {
+                       ret = -EINVAL;
+                       goto err;
+               }
+
+               if (params->csi_mem.interlaced)
+                       ipu->chan_is_interlaced[channel_2_dma(channel,
+                               IPU_OUTPUT_BUFFER)] = true;
+               else
+                       ipu->chan_is_interlaced[channel_2_dma(channel,
+                               IPU_OUTPUT_BUFFER)] = false;
+
+               ipu->smfc_use_count++;
+               ipu->csi_channel[params->csi_mem.csi] = channel;
+
+               /*SMFC setting*/
+               if (params->csi_mem.mipi_en) {
+                       ipu_conf |= (1 << (IPU_CONF_CSI0_DATA_SOURCE_OFFSET +
+                               params->csi_mem.csi));
+                       _ipu_smfc_init(ipu, channel, params->csi_mem.mipi_vc,
+                               params->csi_mem.csi);
+                       _ipu_csi_set_mipi_di(ipu, params->csi_mem.mipi_vc,
+                               params->csi_mem.mipi_id, params->csi_mem.csi);
+               } else {
+                       ipu_conf &= ~(1 << (IPU_CONF_CSI0_DATA_SOURCE_OFFSET +
+                               params->csi_mem.csi));
+                       _ipu_smfc_init(ipu, channel, 0, params->csi_mem.csi);
+               }
+
+               /*CSI data (include compander) dest*/
+               _ipu_csi_init(ipu, channel, params->csi_mem.csi);
+               break;
+       case CSI_PRP_ENC_MEM:
+               if (params->csi_prp_enc_mem.csi > 1) {
+                       ret = -EINVAL;
+                       goto err;
+               }
+               if ((ipu->using_ic_dirct_ch == MEM_VDI_PRP_VF_MEM) ||
+                       (ipu->using_ic_dirct_ch == MEM_VDI_MEM)) {
+                       ret = -EINVAL;
+                       goto err;
+               }
+               ipu->using_ic_dirct_ch = CSI_PRP_ENC_MEM;
+
+               ipu->ic_use_count++;
+               ipu->csi_channel[params->csi_prp_enc_mem.csi] = channel;
+
+               if (params->csi_prp_enc_mem.mipi_en) {
+                       ipu_conf |= (1 << (IPU_CONF_CSI0_DATA_SOURCE_OFFSET +
+                               params->csi_prp_enc_mem.csi));
+                       _ipu_csi_set_mipi_di(ipu,
+                               params->csi_prp_enc_mem.mipi_vc,
+                               params->csi_prp_enc_mem.mipi_id,
+                               params->csi_prp_enc_mem.csi);
+               } else
+                       ipu_conf &= ~(1 << (IPU_CONF_CSI0_DATA_SOURCE_OFFSET +
+                               params->csi_prp_enc_mem.csi));
+
+               /*CSI0/1 feed into IC*/
+               ipu_conf &= ~IPU_CONF_IC_INPUT;
+               if (params->csi_prp_enc_mem.csi)
+                       ipu_conf |= IPU_CONF_CSI_SEL;
+               else
+                       ipu_conf &= ~IPU_CONF_CSI_SEL;
+
+               /*PRP skip buffer in memory, only valid when RWS_EN is true*/
+               reg = ipu_cm_read(ipu, IPU_FS_PROC_FLOW1);
+               ipu_cm_write(ipu, reg & ~FS_ENC_IN_VALID, IPU_FS_PROC_FLOW1);
+
+               /*CSI data (include compander) dest*/
+               _ipu_csi_init(ipu, channel, params->csi_prp_enc_mem.csi);
+               _ipu_ic_init_prpenc(ipu, params, true);
+               break;
+       case CSI_PRP_VF_MEM:
+               if (params->csi_prp_vf_mem.csi > 1) {
+                       ret = -EINVAL;
+                       goto err;
+               }
+               if ((ipu->using_ic_dirct_ch == MEM_VDI_PRP_VF_MEM) ||
+                       (ipu->using_ic_dirct_ch == MEM_VDI_MEM)) {
+                       ret = -EINVAL;
+                       goto err;
+               }
+               ipu->using_ic_dirct_ch = CSI_PRP_VF_MEM;
+
+               ipu->ic_use_count++;
+               ipu->csi_channel[params->csi_prp_vf_mem.csi] = channel;
+
+               if (params->csi_prp_vf_mem.mipi_en) {
+                       ipu_conf |= (1 << (IPU_CONF_CSI0_DATA_SOURCE_OFFSET +
+                               params->csi_prp_vf_mem.csi));
+                       _ipu_csi_set_mipi_di(ipu,
+                               params->csi_prp_vf_mem.mipi_vc,
+                               params->csi_prp_vf_mem.mipi_id,
+                               params->csi_prp_vf_mem.csi);
+               } else
+                       ipu_conf &= ~(1 << (IPU_CONF_CSI0_DATA_SOURCE_OFFSET +
+                               params->csi_prp_vf_mem.csi));
+
+               /*CSI0/1 feed into IC*/
+               ipu_conf &= ~IPU_CONF_IC_INPUT;
+               if (params->csi_prp_vf_mem.csi)
+                       ipu_conf |= IPU_CONF_CSI_SEL;
+               else
+                       ipu_conf &= ~IPU_CONF_CSI_SEL;
+
+               /*PRP skip buffer in memory, only valid when RWS_EN is true*/
+               reg = ipu_cm_read(ipu, IPU_FS_PROC_FLOW1);
+               ipu_cm_write(ipu, reg & ~FS_VF_IN_VALID, IPU_FS_PROC_FLOW1);
+
+               /*CSI data (include compander) dest*/
+               _ipu_csi_init(ipu, channel, params->csi_prp_vf_mem.csi);
+               _ipu_ic_init_prpvf(ipu, params, true);
+               break;
+       case MEM_PRP_VF_MEM:
+               if (params->mem_prp_vf_mem.graphics_combine_en) {
+                       sec_dma = channel_2_dma(channel, IPU_GRAPH_IN_BUFFER);
+                       in_g_pixel_fmt = params->mem_prp_vf_mem.in_g_pixel_fmt;
+                       bad_pixfmt =
+                               _ipu_ch_param_bad_alpha_pos(in_g_pixel_fmt);
+
+                       if (params->mem_prp_vf_mem.alpha_chan_en) {
+                               if (bad_pixfmt) {
+                                       dev_err(ipu->dev, "bad pixel format "
+                                               "for graphics plane from "
+                                               "ch%d\n", sec_dma);
+                                       ret = -EINVAL;
+                                       goto err;
+                               }
+                               ipu->thrd_chan_en[IPU_CHAN_ID(channel)] = true;
+                       }
+                       ipu->sec_chan_en[IPU_CHAN_ID(channel)] = true;
+               }
+
+               reg = ipu_cm_read(ipu, IPU_FS_PROC_FLOW1);
+               ipu_cm_write(ipu, reg | FS_VF_IN_VALID, IPU_FS_PROC_FLOW1);
+
+               _ipu_ic_init_prpvf(ipu, params, false);
+               ipu->ic_use_count++;
+               break;
+       case MEM_VDI_PRP_VF_MEM:
+               if ((ipu->using_ic_dirct_ch == CSI_PRP_VF_MEM) ||
+                       (ipu->using_ic_dirct_ch == MEM_VDI_MEM) ||
+                    (ipu->using_ic_dirct_ch == CSI_PRP_ENC_MEM)) {
+                       ret = -EINVAL;
+                       goto err;
+               }
+               ipu->using_ic_dirct_ch = MEM_VDI_PRP_VF_MEM;
+               ipu->ic_use_count++;
+               ipu->vdi_use_count++;
+               reg = ipu_cm_read(ipu, IPU_FS_PROC_FLOW1);
+               reg &= ~FS_VDI_SRC_SEL_MASK;
+               ipu_cm_write(ipu, reg , IPU_FS_PROC_FLOW1);
+
+               if (params->mem_prp_vf_mem.graphics_combine_en)
+                       ipu->sec_chan_en[IPU_CHAN_ID(channel)] = true;
+               _ipu_ic_init_prpvf(ipu, params, false);
+               _ipu_vdi_init(ipu, channel, params);
+               break;
+       case MEM_VDI_PRP_VF_MEM_P:
+       case MEM_VDI_PRP_VF_MEM_N:
+       case MEM_VDI_MEM_P:
+       case MEM_VDI_MEM_N:
+               _ipu_vdi_init(ipu, channel, params);
+               break;
+       case MEM_VDI_MEM:
+               if ((ipu->using_ic_dirct_ch == CSI_PRP_VF_MEM) ||
+                       (ipu->using_ic_dirct_ch == MEM_VDI_PRP_VF_MEM) ||
+                    (ipu->using_ic_dirct_ch == CSI_PRP_ENC_MEM)) {
+                       ret = -EINVAL;
+                       goto err;
+               }
+               ipu->using_ic_dirct_ch = MEM_VDI_MEM;
+               ipu->ic_use_count++;
+               ipu->vdi_use_count++;
+               _ipu_vdi_init(ipu, channel, params);
+               break;
+       case MEM_ROT_VF_MEM:
+               ipu->ic_use_count++;
+               ipu->rot_use_count++;
+               _ipu_ic_init_rotate_vf(ipu, params);
+               break;
+       case MEM_PRP_ENC_MEM:
+               ipu->ic_use_count++;
+               reg = ipu_cm_read(ipu, IPU_FS_PROC_FLOW1);
+               ipu_cm_write(ipu, reg | FS_ENC_IN_VALID, IPU_FS_PROC_FLOW1);
+               _ipu_ic_init_prpenc(ipu, params, false);
+               break;
+       case MEM_ROT_ENC_MEM:
+               ipu->ic_use_count++;
+               ipu->rot_use_count++;
+               _ipu_ic_init_rotate_enc(ipu, params);
+               break;
+       case MEM_PP_MEM:
+               if (params->mem_pp_mem.graphics_combine_en) {
+                       sec_dma = channel_2_dma(channel, IPU_GRAPH_IN_BUFFER);
+                       in_g_pixel_fmt = params->mem_pp_mem.in_g_pixel_fmt;
+                       bad_pixfmt =
+                               _ipu_ch_param_bad_alpha_pos(in_g_pixel_fmt);
+
+                       if (params->mem_pp_mem.alpha_chan_en) {
+                               if (bad_pixfmt) {
+                                       dev_err(ipu->dev, "bad pixel format "
+                                               "for graphics plane from "
+                                               "ch%d\n", sec_dma);
+                                       ret = -EINVAL;
+                                       goto err;
+                               }
+                               ipu->thrd_chan_en[IPU_CHAN_ID(channel)] = true;
+                       }
+
+                       ipu->sec_chan_en[IPU_CHAN_ID(channel)] = true;
+               }
+
+               _ipu_ic_init_pp(ipu, params);
+               ipu->ic_use_count++;
+               break;
+       case MEM_ROT_PP_MEM:
+               _ipu_ic_init_rotate_pp(ipu, params);
+               ipu->ic_use_count++;
+               ipu->rot_use_count++;
+               break;
+       case MEM_DC_SYNC:
+               if (params->mem_dc_sync.di > 1) {
+                       ret = -EINVAL;
+                       goto err;
+               }
+
+               ipu->dc_di_assignment[1] = params->mem_dc_sync.di;
+               _ipu_dc_init(ipu, 1, params->mem_dc_sync.di,
+                            params->mem_dc_sync.interlaced,
+                            params->mem_dc_sync.out_pixel_fmt);
+               ipu->di_use_count[params->mem_dc_sync.di]++;
+               ipu->dc_use_count++;
+               ipu->dmfc_use_count++;
+               break;
+       case MEM_BG_SYNC:
+               if (params->mem_dp_bg_sync.di > 1) {
+                       ret = -EINVAL;
+                       goto err;
+               }
+
+               if (params->mem_dp_bg_sync.alpha_chan_en)
+                       ipu->thrd_chan_en[IPU_CHAN_ID(channel)] = true;
+
+               ipu->dc_di_assignment[5] = params->mem_dp_bg_sync.di;
+               _ipu_dp_init(ipu, channel, params->mem_dp_bg_sync.in_pixel_fmt,
+                            params->mem_dp_bg_sync.out_pixel_fmt);
+               _ipu_dc_init(ipu, 5, params->mem_dp_bg_sync.di,
+                            params->mem_dp_bg_sync.interlaced,
+                            params->mem_dp_bg_sync.out_pixel_fmt);
+               ipu->di_use_count[params->mem_dp_bg_sync.di]++;
+               ipu->dc_use_count++;
+               ipu->dp_use_count++;
+               ipu->dmfc_use_count++;
+               break;
+       case MEM_FG_SYNC:
+               _ipu_dp_init(ipu, channel, params->mem_dp_fg_sync.in_pixel_fmt,
+                            params->mem_dp_fg_sync.out_pixel_fmt);
+
+               if (params->mem_dp_fg_sync.alpha_chan_en)
+                       ipu->thrd_chan_en[IPU_CHAN_ID(channel)] = true;
+
+               ipu->dc_use_count++;
+               ipu->dp_use_count++;
+               ipu->dmfc_use_count++;
+               break;
+       case DIRECT_ASYNC0:
+               if (params->direct_async.di > 1) {
+                       ret = -EINVAL;
+                       goto err;
+               }
+
+               ipu->dc_di_assignment[8] = params->direct_async.di;
+               _ipu_dc_init(ipu, 8, params->direct_async.di, false, IPU_PIX_FMT_GENERIC);
+               ipu->di_use_count[params->direct_async.di]++;
+               ipu->dc_use_count++;
+               break;
+       case DIRECT_ASYNC1:
+               if (params->direct_async.di > 1) {
+                       ret = -EINVAL;
+                       goto err;
+               }
+
+               ipu->dc_di_assignment[9] = params->direct_async.di;
+               _ipu_dc_init(ipu, 9, params->direct_async.di, false, IPU_PIX_FMT_GENERIC);
+               ipu->di_use_count[params->direct_async.di]++;
+               ipu->dc_use_count++;
+               break;
+       default:
+               dev_err(ipu->dev, "Missing channel initialization\n");
+               break;
+       }
+
+       ipu->channel_init_mask |= 1L << IPU_CHAN_ID(channel);
+
+       ipu_cm_write(ipu, ipu_conf, IPU_CONF);
+
+err:
+       mutex_unlock(&ipu->mutex_lock);
+       return ret;
+}
+EXPORT_SYMBOL(ipu_init_channel);
+
+/*!
+ * This function is called to uninitialize a logical IPU channel.
+ *
+ * @param      ipu     ipu handler
+ * @param       channel Input parameter for the logical channel ID to uninit.
+ */
+void ipu_uninit_channel(struct ipu_soc *ipu, ipu_channel_t channel)
+{
+       uint32_t reg;
+       uint32_t in_dma, out_dma = 0;
+       uint32_t ipu_conf;
+       uint32_t dc_chan = 0;
+       int ret;
+
+       mutex_lock(&ipu->mutex_lock);
+
+       if ((ipu->channel_init_mask & (1L << IPU_CHAN_ID(channel))) == 0) {
+               dev_dbg(ipu->dev, "Channel already uninitialized %d\n",
+                       IPU_CHAN_ID(channel));
+               mutex_unlock(&ipu->mutex_lock);
+               return;
+       }
+
+       /* Make sure channel is disabled */
+       /* Get input and output dma channels */
+       in_dma = channel_2_dma(channel, IPU_VIDEO_IN_BUFFER);
+       out_dma = channel_2_dma(channel, IPU_OUTPUT_BUFFER);
+
+       if (idma_is_set(ipu, IDMAC_CHA_EN, in_dma) ||
+           idma_is_set(ipu, IDMAC_CHA_EN, out_dma)) {
+               dev_err(ipu->dev,
+                       "Channel %d is not disabled, disable first\n",
+                       IPU_CHAN_ID(channel));
+               mutex_unlock(&ipu->mutex_lock);
+               return;
+       }
+
+       ipu_conf = ipu_cm_read(ipu, IPU_CONF);
+
+       /* Reset the double buffer */
+       reg = ipu_cm_read(ipu, IPU_CHA_DB_MODE_SEL(in_dma));
+       ipu_cm_write(ipu, reg & ~idma_mask(in_dma), IPU_CHA_DB_MODE_SEL(in_dma));
+       reg = ipu_cm_read(ipu, IPU_CHA_DB_MODE_SEL(out_dma));
+       ipu_cm_write(ipu, reg & ~idma_mask(out_dma), IPU_CHA_DB_MODE_SEL(out_dma));
+
+       /* Reset the triple buffer */
+       reg = ipu_cm_read(ipu, IPU_CHA_TRB_MODE_SEL(in_dma));
+       ipu_cm_write(ipu, reg & ~idma_mask(in_dma), IPU_CHA_TRB_MODE_SEL(in_dma));
+       reg = ipu_cm_read(ipu, IPU_CHA_TRB_MODE_SEL(out_dma));
+       ipu_cm_write(ipu, reg & ~idma_mask(out_dma), IPU_CHA_TRB_MODE_SEL(out_dma));
+
+       if (_ipu_is_ic_chan(in_dma) || _ipu_is_dp_graphic_chan(in_dma)) {
+               ipu->sec_chan_en[IPU_CHAN_ID(channel)] = false;
+               ipu->thrd_chan_en[IPU_CHAN_ID(channel)] = false;
+       }
+
+       switch (channel) {
+       case CSI_MEM0:
+       case CSI_MEM1:
+       case CSI_MEM2:
+       case CSI_MEM3:
+               ipu->smfc_use_count--;
+               if (ipu->csi_channel[0] == channel) {
+                       ipu->csi_channel[0] = CHAN_NONE;
+               } else if (ipu->csi_channel[1] == channel) {
+                       ipu->csi_channel[1] = CHAN_NONE;
+               }
+               break;
+       case CSI_PRP_ENC_MEM:
+               ipu->ic_use_count--;
+               if (ipu->using_ic_dirct_ch == CSI_PRP_ENC_MEM)
+                       ipu->using_ic_dirct_ch = 0;
+               _ipu_ic_uninit_prpenc(ipu);
+               if (ipu->csi_channel[0] == channel) {
+                       ipu->csi_channel[0] = CHAN_NONE;
+               } else if (ipu->csi_channel[1] == channel) {
+                       ipu->csi_channel[1] = CHAN_NONE;
+               }
+               break;
+       case CSI_PRP_VF_MEM:
+               ipu->ic_use_count--;
+               if (ipu->using_ic_dirct_ch == CSI_PRP_VF_MEM)
+                       ipu->using_ic_dirct_ch = 0;
+               _ipu_ic_uninit_prpvf(ipu);
+               if (ipu->csi_channel[0] == channel) {
+                       ipu->csi_channel[0] = CHAN_NONE;
+               } else if (ipu->csi_channel[1] == channel) {
+                       ipu->csi_channel[1] = CHAN_NONE;
+               }
+               break;
+       case MEM_PRP_VF_MEM:
+               ipu->ic_use_count--;
+               _ipu_ic_uninit_prpvf(ipu);
+               reg = ipu_cm_read(ipu, IPU_FS_PROC_FLOW1);
+               ipu_cm_write(ipu, reg & ~FS_VF_IN_VALID, IPU_FS_PROC_FLOW1);
+               break;
+       case MEM_VDI_PRP_VF_MEM:
+               ipu->ic_use_count--;
+               ipu->vdi_use_count--;
+               if (ipu->using_ic_dirct_ch == MEM_VDI_PRP_VF_MEM)
+                       ipu->using_ic_dirct_ch = 0;
+               _ipu_ic_uninit_prpvf(ipu);
+               _ipu_vdi_uninit(ipu);
+               reg = ipu_cm_read(ipu, IPU_FS_PROC_FLOW1);
+               ipu_cm_write(ipu, reg & ~FS_VF_IN_VALID, IPU_FS_PROC_FLOW1);
+               break;
+       case MEM_VDI_MEM:
+               ipu->ic_use_count--;
+               ipu->vdi_use_count--;
+               if (ipu->using_ic_dirct_ch == MEM_VDI_MEM)
+                       ipu->using_ic_dirct_ch = 0;
+               _ipu_vdi_uninit(ipu);
+               break;
+       case MEM_VDI_PRP_VF_MEM_P:
+       case MEM_VDI_PRP_VF_MEM_N:
+       case MEM_VDI_MEM_P:
+       case MEM_VDI_MEM_N:
+               break;
+       case MEM_ROT_VF_MEM:
+               ipu->rot_use_count--;
+               ipu->ic_use_count--;
+               _ipu_ic_uninit_rotate_vf(ipu);
+               break;
+       case MEM_PRP_ENC_MEM:
+               ipu->ic_use_count--;
+               _ipu_ic_uninit_prpenc(ipu);
+               reg = ipu_cm_read(ipu, IPU_FS_PROC_FLOW1);
+               ipu_cm_write(ipu, reg & ~FS_ENC_IN_VALID, IPU_FS_PROC_FLOW1);
+               break;
+       case MEM_ROT_ENC_MEM:
+               ipu->rot_use_count--;
+               ipu->ic_use_count--;
+               _ipu_ic_uninit_rotate_enc(ipu);
+               break;
+       case MEM_PP_MEM:
+               ipu->ic_use_count--;
+               _ipu_ic_uninit_pp(ipu);
+               break;
+       case MEM_ROT_PP_MEM:
+               ipu->rot_use_count--;
+               ipu->ic_use_count--;
+               _ipu_ic_uninit_rotate_pp(ipu);
+               break;
+       case MEM_DC_SYNC:
+               dc_chan = 1;
+               _ipu_dc_uninit(ipu, 1);
+               ipu->di_use_count[ipu->dc_di_assignment[1]]--;
+               ipu->dc_use_count--;
+               ipu->dmfc_use_count--;
+               break;
+       case MEM_BG_SYNC:
+               dc_chan = 5;
+               _ipu_dp_uninit(ipu, channel);
+               _ipu_dc_uninit(ipu, 5);
+               ipu->di_use_count[ipu->dc_di_assignment[5]]--;
+               ipu->dc_use_count--;
+               ipu->dp_use_count--;
+               ipu->dmfc_use_count--;
+               break;
+       case MEM_FG_SYNC:
+               _ipu_dp_uninit(ipu, channel);
+               ipu->dc_use_count--;
+               ipu->dp_use_count--;
+               ipu->dmfc_use_count--;
+               break;
+       case DIRECT_ASYNC0:
+               dc_chan = 8;
+               _ipu_dc_uninit(ipu, 8);
+               ipu->di_use_count[ipu->dc_di_assignment[8]]--;
+               ipu->dc_use_count--;
+               break;
+       case DIRECT_ASYNC1:
+               dc_chan = 9;
+               _ipu_dc_uninit(ipu, 9);
+               ipu->di_use_count[ipu->dc_di_assignment[9]]--;
+               ipu->dc_use_count--;
+               break;
+       default:
+               break;
+       }
+
+       if (ipu->ic_use_count == 0)
+               ipu_conf &= ~IPU_CONF_IC_EN;
+       if (ipu->vdi_use_count == 0) {
+               ipu_conf &= ~IPU_CONF_ISP_EN;
+               ipu_conf &= ~IPU_CONF_VDI_EN;
+               ipu_conf &= ~IPU_CONF_IC_INPUT;
+       }
+       if (ipu->rot_use_count == 0)
+               ipu_conf &= ~IPU_CONF_ROT_EN;
+       if (ipu->dc_use_count == 0)
+               ipu_conf &= ~IPU_CONF_DC_EN;
+       if (ipu->dp_use_count == 0)
+               ipu_conf &= ~IPU_CONF_DP_EN;
+       if (ipu->dmfc_use_count == 0)
+               ipu_conf &= ~IPU_CONF_DMFC_EN;
+       if (ipu->di_use_count[0] == 0) {
+               ipu_conf &= ~IPU_CONF_DI0_EN;
+       }
+       if (ipu->di_use_count[1] == 0) {
+               ipu_conf &= ~IPU_CONF_DI1_EN;
+       }
+       if (ipu->smfc_use_count == 0)
+               ipu_conf &= ~IPU_CONF_SMFC_EN;
+
+       ipu_cm_write(ipu, ipu_conf, IPU_CONF);
+
+       ipu->channel_init_mask &= ~(1L << IPU_CHAN_ID(channel));
+
+       /*
+        * Disable pixel clk and its parent clock(if the parent clock
+        * usecount is 1) after clearing DC/DP/DI bits in IPU_CONF
+        * register to prevent LVDS display channel starvation.
+        */
+       if (_ipu_is_primary_disp_chan(in_dma))
+               clk_disable_unprepare(ipu->pixel_clk[ipu->dc_di_assignment[dc_chan]]);
+
+       mutex_unlock(&ipu->mutex_lock);
+
+       _ipu_put(ipu);
+
+       ret = pm_runtime_put_sync_suspend(ipu->dev);
+       if (ret < 0) {
+               dev_err(ipu->dev, "ch = %d, pm_runtime_put failed:%d!\n",
+                               IPU_CHAN_ID(channel), ret);
+               dump_stack();
+       }
+
+       WARN_ON(ipu->ic_use_count < 0);
+       WARN_ON(ipu->vdi_use_count < 0);
+       WARN_ON(ipu->rot_use_count < 0);
+       WARN_ON(ipu->dc_use_count < 0);
+       WARN_ON(ipu->dp_use_count < 0);
+       WARN_ON(ipu->dmfc_use_count < 0);
+       WARN_ON(ipu->smfc_use_count < 0);
+}
+EXPORT_SYMBOL(ipu_uninit_channel);
+
+/*!
+ * This function is called to initialize buffer(s) for logical IPU channel.
+ *
+ * @param      ipu             ipu handler
+ *
+ * @param       channel         Input parameter for the logical channel ID.
+ *
+ * @param       type            Input parameter which buffer to initialize.
+ *
+ * @param       pixel_fmt       Input parameter for pixel format of buffer.
+ *                              Pixel format is a FOURCC ASCII code.
+ *
+ * @param       width           Input parameter for width of buffer in pixels.
+ *
+ * @param       height          Input parameter for height of buffer in pixels.
+ *
+ * @param       stride          Input parameter for stride length of buffer
+ *                              in pixels.
+ *
+ * @param       rot_mode        Input parameter for rotation setting of buffer.
+ *                              A rotation setting other than
+ *                              IPU_ROTATE_VERT_FLIP
+ *                              should only be used for input buffers of
+ *                              rotation channels.
+ *
+ * @param       phyaddr_0       Input parameter buffer 0 physical address.
+ *
+ * @param       phyaddr_1       Input parameter buffer 1 physical address.
+ *                              Setting this to a value other than NULL enables
+ *                              double buffering mode.
+ *
+ * @param       phyaddr_2       Input parameter buffer 2 physical address.
+ *                              Setting this to a value other than NULL enables
+ *                              triple buffering mode, phyaddr_1 should not be
+ *                              NULL then.
+ *
+ * @param       u              private u offset for additional cropping,
+ *                             zero if not used.
+ *
+ * @param       v              private v offset for additional cropping,
+ *                             zero if not used.
+ *
+ * @return      Returns 0 on success or negative error code on fail
+ */
+int32_t ipu_init_channel_buffer(struct ipu_soc *ipu, ipu_channel_t channel,
+                               ipu_buffer_t type,
+                               uint32_t pixel_fmt,
+                               uint16_t width, uint16_t height,
+                               uint32_t stride,
+                               ipu_rotate_mode_t rot_mode,
+                               dma_addr_t phyaddr_0, dma_addr_t phyaddr_1,
+                               dma_addr_t phyaddr_2,
+                               uint32_t u, uint32_t v)
+{
+       uint32_t reg;
+       uint32_t dma_chan;
+       uint32_t burst_size;
+
+       dma_chan = channel_2_dma(channel, type);
+       if (!idma_is_valid(dma_chan))
+               return -EINVAL;
+
+       if (stride < width * bytes_per_pixel(pixel_fmt))
+               stride = width * bytes_per_pixel(pixel_fmt);
+
+       if (stride % 4) {
+               dev_err(ipu->dev,
+                       "Stride not 32-bit aligned, stride = %d\n", stride);
+               return -EINVAL;
+       }
+       /* IC & IRT channels' width must be multiple of 8 pixels */
+       if ((_ipu_is_ic_chan(dma_chan) || _ipu_is_irt_chan(dma_chan))
+               && (width % 8)) {
+               dev_err(ipu->dev, "Width must be 8 pixel multiple\n");
+               return -EINVAL;
+       }
+
+       if (_ipu_is_vdi_out_chan(dma_chan) &&
+               ((width < 16) || (height < 16) || (width % 2) || (height % 4))) {
+               dev_err(ipu->dev, "vdi width/height limited err\n");
+               return -EINVAL;
+       }
+
+       /* IPUv3EX and IPUv3M support triple buffer */
+       if ((!_ipu_is_trb_chan(dma_chan)) && phyaddr_2) {
+               dev_err(ipu->dev, "Chan%d doesn't support triple buffer "
+                                  "mode\n", dma_chan);
+               return -EINVAL;
+       }
+       if (!phyaddr_1 && phyaddr_2) {
+               dev_err(ipu->dev, "Chan%d's buf1 physical addr is NULL for "
+                                  "triple buffer mode\n", dma_chan);
+               return -EINVAL;
+       }
+
+       mutex_lock(&ipu->mutex_lock);
+
+       /* Build parameter memory data for DMA channel */
+       _ipu_ch_param_init(ipu, dma_chan, pixel_fmt, width, height, stride, u, v, 0,
+                          phyaddr_0, phyaddr_1, phyaddr_2);
+
+       /* Set correlative channel parameter of local alpha channel */
+       if ((_ipu_is_ic_graphic_chan(dma_chan) ||
+            _ipu_is_dp_graphic_chan(dma_chan)) &&
+           (ipu->thrd_chan_en[IPU_CHAN_ID(channel)] == true)) {
+               _ipu_ch_param_set_alpha_use_separate_channel(ipu, dma_chan, true);
+               _ipu_ch_param_set_alpha_buffer_memory(ipu, dma_chan);
+               _ipu_ch_param_set_alpha_condition_read(ipu, dma_chan);
+               /* fix alpha width as 8 and burst size as 16*/
+               _ipu_ch_params_set_alpha_width(ipu, dma_chan, 8);
+               _ipu_ch_param_set_burst_size(ipu, dma_chan, 16);
+       } else if (_ipu_is_ic_graphic_chan(dma_chan) &&
+                  ipu_pixel_format_has_alpha(pixel_fmt))
+               _ipu_ch_param_set_alpha_use_separate_channel(ipu, dma_chan, false);
+
+       if (rot_mode)
+               _ipu_ch_param_set_rotation(ipu, dma_chan, rot_mode);
+
+       /* IC and ROT channels have restriction of 8 or 16 pix burst length */
+       if (_ipu_is_ic_chan(dma_chan) || _ipu_is_vdi_out_chan(dma_chan)) {
+               if ((width % 16) == 0)
+                       _ipu_ch_param_set_burst_size(ipu, dma_chan, 16);
+               else
+                       _ipu_ch_param_set_burst_size(ipu, dma_chan, 8);
+       } else if (_ipu_is_irt_chan(dma_chan)) {
+               _ipu_ch_param_set_burst_size(ipu, dma_chan, 8);
+               _ipu_ch_param_set_block_mode(ipu, dma_chan);
+       } else if (_ipu_is_dmfc_chan(dma_chan)) {
+               burst_size = _ipu_ch_param_get_burst_size(ipu, dma_chan);
+               _ipu_dmfc_set_wait4eot(ipu, dma_chan, width);
+               _ipu_dmfc_set_burst_size(ipu, dma_chan, burst_size);
+       }
+
+       if (_ipu_disp_chan_is_interlaced(ipu, channel) ||
+               ipu->chan_is_interlaced[dma_chan])
+               _ipu_ch_param_set_interlaced_scan(ipu, dma_chan);
+
+       if (_ipu_is_ic_chan(dma_chan) || _ipu_is_irt_chan(dma_chan) ||
+               _ipu_is_vdi_out_chan(dma_chan)) {
+               burst_size = _ipu_ch_param_get_burst_size(ipu, dma_chan);
+               _ipu_ic_idma_init(ipu, dma_chan, width, height, burst_size,
+                       rot_mode);
+       } else if (_ipu_is_smfc_chan(dma_chan)) {
+               burst_size = _ipu_ch_param_get_burst_size(ipu, dma_chan);
+               /*
+                * This is different from IPUv3 spec, but it is confirmed
+                * in IPUforum that SMFC burst size should be NPB[6:3]
+                * when IDMAC works in 16-bit generic data mode.
+                */
+               if (pixel_fmt == IPU_PIX_FMT_GENERIC)
+                       /* 8 bits per pixel */
+                       burst_size = burst_size >> 4;
+               else if (pixel_fmt == IPU_PIX_FMT_GENERIC_16)
+                       /* 16 bits per pixel */
+                       burst_size = burst_size >> 3;
+               else
+                       burst_size = burst_size >> 2;
+               _ipu_smfc_set_burst_size(ipu, channel, burst_size-1);
+       }
+
+       /* AXI-id */
+       if (idma_is_set(ipu, IDMAC_CHA_PRI, dma_chan)) {
+               unsigned reg = IDMAC_CH_LOCK_EN_1;
+               uint32_t value = 0;
+               if (ipu->pdata->devtype == IPU_V3H) {
+                       _ipu_ch_param_set_axi_id(ipu, dma_chan, 0);
+                       switch (dma_chan) {
+                       case 5:
+                               value = 0x3;
+                               break;
+                       case 11:
+                               value = 0x3 << 2;
+                               break;
+                       case 12:
+                               value = 0x3 << 4;
+                               break;
+                       case 14:
+                               value = 0x3 << 6;
+                               break;
+                       case 15:
+                               value = 0x3 << 8;
+                               break;
+                       case 20:
+                               value = 0x3 << 10;
+                               break;
+                       case 21:
+                               value = 0x3 << 12;
+                               break;
+                       case 22:
+                               value = 0x3 << 14;
+                               break;
+                       case 23:
+                               value = 0x3 << 16;
+                               break;
+                       case 27:
+                               value = 0x3 << 18;
+                               break;
+                       case 28:
+                               value = 0x3 << 20;
+                               break;
+                       case 45:
+                               reg = IDMAC_CH_LOCK_EN_2;
+                               value = 0x3 << 0;
+                               break;
+                       case 46:
+                               reg = IDMAC_CH_LOCK_EN_2;
+                               value = 0x3 << 2;
+                               break;
+                       case 47:
+                               reg = IDMAC_CH_LOCK_EN_2;
+                               value = 0x3 << 4;
+                               break;
+                       case 48:
+                               reg = IDMAC_CH_LOCK_EN_2;
+                               value = 0x3 << 6;
+                               break;
+                       case 49:
+                               reg = IDMAC_CH_LOCK_EN_2;
+                               value = 0x3 << 8;
+                               break;
+                       case 50:
+                               reg = IDMAC_CH_LOCK_EN_2;
+                               value = 0x3 << 10;
+                               break;
+                       default:
+                               break;
+                       }
+                       value |= ipu_idmac_read(ipu, reg);
+                       ipu_idmac_write(ipu, value, reg);
+               } else
+                       _ipu_ch_param_set_axi_id(ipu, dma_chan, 1);
+       } else {
+               if (ipu->pdata->devtype == IPU_V3H)
+                       _ipu_ch_param_set_axi_id(ipu, dma_chan, 1);
+       }
+
+       _ipu_ch_param_dump(ipu, dma_chan);
+
+       if (phyaddr_2 && g_ipu_hw_rev >= IPU_V3DEX) {
+               reg = ipu_cm_read(ipu, IPU_CHA_DB_MODE_SEL(dma_chan));
+               reg &= ~idma_mask(dma_chan);
+               ipu_cm_write(ipu, reg, IPU_CHA_DB_MODE_SEL(dma_chan));
+
+               reg = ipu_cm_read(ipu, IPU_CHA_TRB_MODE_SEL(dma_chan));
+               reg |= idma_mask(dma_chan);
+               ipu_cm_write(ipu, reg, IPU_CHA_TRB_MODE_SEL(dma_chan));
+
+               /* Set IDMAC third buffer's cpmem number */
+               /* See __ipu_ch_get_third_buf_cpmem_num() for mapping */
+               ipu_idmac_write(ipu, 0x00444047L, IDMAC_SUB_ADDR_4);
+               ipu_idmac_write(ipu, 0x46004241L, IDMAC_SUB_ADDR_3);
+               ipu_idmac_write(ipu, 0x00000045L, IDMAC_SUB_ADDR_1);
+
+               /* Reset to buffer 0 */
+               ipu_cm_write(ipu, tri_cur_buf_mask(dma_chan),
+                               IPU_CHA_TRIPLE_CUR_BUF(dma_chan));
+       } else {
+               reg = ipu_cm_read(ipu, IPU_CHA_TRB_MODE_SEL(dma_chan));
+               reg &= ~idma_mask(dma_chan);
+               ipu_cm_write(ipu, reg, IPU_CHA_TRB_MODE_SEL(dma_chan));
+
+               reg = ipu_cm_read(ipu, IPU_CHA_DB_MODE_SEL(dma_chan));
+               if (phyaddr_1)
+                       reg |= idma_mask(dma_chan);
+               else
+                       reg &= ~idma_mask(dma_chan);
+               ipu_cm_write(ipu, reg, IPU_CHA_DB_MODE_SEL(dma_chan));
+
+               /* Reset to buffer 0 */
+               ipu_cm_write(ipu, idma_mask(dma_chan),
+                               IPU_CHA_CUR_BUF(dma_chan));
+
+       }
+
+       mutex_unlock(&ipu->mutex_lock);
+
+       return 0;
+}
+EXPORT_SYMBOL(ipu_init_channel_buffer);
+
+/*!
+ * This function is called to update the physical address of a buffer for
+ * a logical IPU channel.
+ *
+ * @param      ipu             ipu handler
+ * @param       channel         Input parameter for the logical channel ID.
+ *
+ * @param       type            Input parameter which buffer to initialize.
+ *
+ * @param       bufNum          Input parameter for buffer number to update.
+ *                              0 or 1 are the only valid values.
+ *
+ * @param       phyaddr         Input parameter buffer physical address.
+ *
+ * @return      This function returns 0 on success or negative error code on
+ *              fail. This function will fail if the buffer is set to ready.
+ */
+int32_t ipu_update_channel_buffer(struct ipu_soc *ipu, ipu_channel_t channel,
+                               ipu_buffer_t type, uint32_t bufNum, dma_addr_t phyaddr)
+{
+       uint32_t reg;
+       int ret = 0;
+       uint32_t dma_chan = channel_2_dma(channel, type);
+       unsigned long lock_flags;
+
+       if (dma_chan == IDMA_CHAN_INVALID)
+               return -EINVAL;
+
+       spin_lock_irqsave(&ipu->rdy_reg_spin_lock, lock_flags);
+       if (bufNum == 0)
+               reg = ipu_cm_read(ipu, IPU_CHA_BUF0_RDY(dma_chan));
+       else if (bufNum == 1)
+               reg = ipu_cm_read(ipu, IPU_CHA_BUF1_RDY(dma_chan));
+       else
+               reg = ipu_cm_read(ipu, IPU_CHA_BUF2_RDY(dma_chan));
+
+       if ((reg & idma_mask(dma_chan)) == 0)
+               _ipu_ch_param_set_buffer(ipu, dma_chan, bufNum, phyaddr);
+       else
+               ret = -EACCES;
+       spin_unlock_irqrestore(&ipu->rdy_reg_spin_lock, lock_flags);
+
+       return ret;
+}
+EXPORT_SYMBOL(ipu_update_channel_buffer);
+
+/*!
+ * This function is called to update the band mode setting for
+ * a logical IPU channel.
+ *
+ * @param      ipu             ipu handler
+ *
+ * @param       channel         Input parameter for the logical channel ID.
+ *
+ * @param       type            Input parameter which buffer to initialize.
+ *
+ * @param       band_height     Input parameter for band lines:
+ *                             shoule be log2(4/8/16/32/64/128/256).
+ *
+ * @return      This function returns 0 on success or negative error code on
+ *              fail.
+ */
+int32_t ipu_set_channel_bandmode(struct ipu_soc *ipu, ipu_channel_t channel,
+                                ipu_buffer_t type, uint32_t band_height)
+{
+       uint32_t reg;
+       int ret = 0;
+       uint32_t dma_chan = channel_2_dma(channel, type);
+
+       if ((2 > band_height) || (8 < band_height))
+               return -EINVAL;
+
+       mutex_lock(&ipu->mutex_lock);
+
+       reg = ipu_idmac_read(ipu, IDMAC_BAND_EN(dma_chan));
+       reg |= 1 << (dma_chan % 32);
+       ipu_idmac_write(ipu, reg, IDMAC_BAND_EN(dma_chan));
+
+       _ipu_ch_param_set_bandmode(ipu, dma_chan, band_height);
+       dev_dbg(ipu->dev, "dma_chan:%d, band_height:%d.\n\n",
+                               dma_chan, 1 << band_height);
+       mutex_unlock(&ipu->mutex_lock);
+
+       return ret;
+}
+EXPORT_SYMBOL(ipu_set_channel_bandmode);
+
+/*!
+ * This function is called to initialize a buffer for logical IPU channel.
+ *
+ * @param      ipu             ipu handler
+ * @param       channel         Input parameter for the logical channel ID.
+ *
+ * @param       type            Input parameter which buffer to initialize.
+ *
+ * @param       pixel_fmt       Input parameter for pixel format of buffer.
+ *                              Pixel format is a FOURCC ASCII code.
+ *
+ * @param       width           Input parameter for width of buffer in pixels.
+ *
+ * @param       height          Input parameter for height of buffer in pixels.
+ *
+ * @param       stride          Input parameter for stride length of buffer
+ *                              in pixels.
+ *
+ * @param       u              predefined private u offset for additional cropping,
+ *                                                             zero if not used.
+ *
+ * @param       v              predefined private v offset for additional cropping,
+ *                                                             zero if not used.
+ *
+ * @param                      vertical_offset vertical offset for Y coordinate
+ *                                                             in the existed frame
+ *
+ *
+ * @param                      horizontal_offset horizontal offset for X coordinate
+ *                                                             in the existed frame
+ *
+ *
+ * @return      Returns 0 on success or negative error code on fail
+ *              This function will fail if any buffer is set to ready.
+ */
+
+int32_t ipu_update_channel_offset(struct ipu_soc *ipu,
+                               ipu_channel_t channel, ipu_buffer_t type,
+                               uint32_t pixel_fmt,
+                               uint16_t width, uint16_t height,
+                               uint32_t stride,
+                               uint32_t u, uint32_t v,
+                               uint32_t vertical_offset, uint32_t horizontal_offset)
+{
+       int ret = 0;
+       uint32_t dma_chan = channel_2_dma(channel, type);
+       unsigned long lock_flags;
+
+       if (dma_chan == IDMA_CHAN_INVALID)
+               return -EINVAL;
+
+       spin_lock_irqsave(&ipu->rdy_reg_spin_lock, lock_flags);
+       if ((ipu_cm_read(ipu, IPU_CHA_BUF0_RDY(dma_chan)) & idma_mask(dma_chan)) ||
+           (ipu_cm_read(ipu, IPU_CHA_BUF1_RDY(dma_chan)) & idma_mask(dma_chan)) ||
+           ((ipu_cm_read(ipu, IPU_CHA_BUF2_RDY(dma_chan)) & idma_mask(dma_chan)) &&
+            (ipu_cm_read(ipu, IPU_CHA_TRB_MODE_SEL(dma_chan)) & idma_mask(dma_chan)) &&
+            _ipu_is_trb_chan(dma_chan)))
+               ret = -EACCES;
+       else
+               _ipu_ch_offset_update(ipu, dma_chan, pixel_fmt, width, height, stride,
+                                     u, v, 0, vertical_offset, horizontal_offset);
+       spin_unlock_irqrestore(&ipu->rdy_reg_spin_lock, lock_flags);
+
+       return ret;
+}
+EXPORT_SYMBOL(ipu_update_channel_offset);
+
+
+/*!
+ * This function is called to set a channel's buffer as ready.
+ *
+ * @param      ipu             ipu handler
+ * @param       channel         Input parameter for the logical channel ID.
+ *
+ * @param       type            Input parameter which buffer to initialize.
+ *
+ * @param       bufNum          Input parameter for which buffer number set to
+ *                              ready state.
+ *
+ * @return      Returns 0 on success or negative error code on fail
+ */
+int32_t ipu_select_buffer(struct ipu_soc *ipu, ipu_channel_t channel,
+                       ipu_buffer_t type, uint32_t bufNum)
+{
+       uint32_t dma_chan = channel_2_dma(channel, type);
+       unsigned long lock_flags;
+
+       if (dma_chan == IDMA_CHAN_INVALID)
+               return -EINVAL;
+
+       spin_lock_irqsave(&ipu->rdy_reg_spin_lock, lock_flags);
+       /* Mark buffer to be ready. */
+       if (bufNum == 0)
+               ipu_cm_write(ipu, idma_mask(dma_chan),
+                            IPU_CHA_BUF0_RDY(dma_chan));
+       else if (bufNum == 1)
+               ipu_cm_write(ipu, idma_mask(dma_chan),
+                            IPU_CHA_BUF1_RDY(dma_chan));
+       else
+               ipu_cm_write(ipu, idma_mask(dma_chan),
+                            IPU_CHA_BUF2_RDY(dma_chan));
+       spin_unlock_irqrestore(&ipu->rdy_reg_spin_lock, lock_flags);
+
+       return 0;
+}
+EXPORT_SYMBOL(ipu_select_buffer);
+
+/*!
+ * This function is called to set a channel's buffer as ready.
+ *
+ * @param      ipu             ipu handler
+ * @param       bufNum          Input parameter for which buffer number set to
+ *                              ready state.
+ *
+ * @return      Returns 0 on success or negative error code on fail
+ */
+int32_t ipu_select_multi_vdi_buffer(struct ipu_soc *ipu, uint32_t bufNum)
+{
+
+       uint32_t dma_chan = channel_2_dma(MEM_VDI_PRP_VF_MEM, IPU_INPUT_BUFFER);
+       uint32_t mask_bit =
+               idma_mask(channel_2_dma(MEM_VDI_PRP_VF_MEM_P, IPU_INPUT_BUFFER))|
+               idma_mask(dma_chan)|
+               idma_mask(channel_2_dma(MEM_VDI_PRP_VF_MEM_N, IPU_INPUT_BUFFER));
+       unsigned long lock_flags;
+
+       spin_lock_irqsave(&ipu->rdy_reg_spin_lock, lock_flags);
+       /* Mark buffers to be ready. */
+       if (bufNum == 0)
+               ipu_cm_write(ipu, mask_bit, IPU_CHA_BUF0_RDY(dma_chan));
+       else
+               ipu_cm_write(ipu, mask_bit, IPU_CHA_BUF1_RDY(dma_chan));
+       spin_unlock_irqrestore(&ipu->rdy_reg_spin_lock, lock_flags);
+
+       return 0;
+}
+EXPORT_SYMBOL(ipu_select_multi_vdi_buffer);
+
+#define NA     -1
+static int proc_dest_sel[] = {
+       0, 1, 1, 3, 5, 5, 4, 7, 8, 9, 10, 11, 12, 14, 15, 16,
+       0, 1, 1, 5, 5, 5, 5, 5, 7, 8, 9, 10, 11, 12, 14, 31 };
+static int proc_src_sel[] = { 0, 6, 7, 6, 7, 8, 5, NA, NA, NA,
+  NA, NA, NA, NA, NA,  1,  2,  3,  4,  7,  8, NA, 8, NA };
+static int disp_src_sel[] = { 0, 6, 7, 8, 3, 4, 5, NA, NA, NA,
+  NA, NA, NA, NA, NA,  1, NA,  2, NA,  3,  4,  4,  4,  4 };
+
+
+/*!
+ * This function links 2 channels together for automatic frame
+ * synchronization. The output of the source channel is linked to the input of
+ * the destination channel.
+ *
+ * @param      ipu             ipu handler
+ * @param       src_ch          Input parameter for the logical channel ID of
+ *                              the source channel.
+ *
+ * @param       dest_ch         Input parameter for the logical channel ID of
+ *                              the destination channel.
+ *
+ * @return      This function returns 0 on success or negative error code on
+ *              fail.
+ */
+int32_t ipu_link_channels(struct ipu_soc *ipu, ipu_channel_t src_ch, ipu_channel_t dest_ch)
+{
+       int retval = 0;
+       uint32_t fs_proc_flow1;
+       uint32_t fs_proc_flow2;
+       uint32_t fs_proc_flow3;
+       uint32_t fs_disp_flow1;
+
+       mutex_lock(&ipu->mutex_lock);
+
+       fs_proc_flow1 = ipu_cm_read(ipu, IPU_FS_PROC_FLOW1);
+       fs_proc_flow2 = ipu_cm_read(ipu, IPU_FS_PROC_FLOW2);
+       fs_proc_flow3 = ipu_cm_read(ipu, IPU_FS_PROC_FLOW3);
+       fs_disp_flow1 = ipu_cm_read(ipu, IPU_FS_DISP_FLOW1);
+
+       switch (src_ch) {
+       case CSI_MEM0:
+               fs_proc_flow3 &= ~FS_SMFC0_DEST_SEL_MASK;
+               fs_proc_flow3 |=
+                       proc_dest_sel[IPU_CHAN_ID(dest_ch)] <<
+                       FS_SMFC0_DEST_SEL_OFFSET;
+               break;
+       case CSI_MEM1:
+               fs_proc_flow3 &= ~FS_SMFC1_DEST_SEL_MASK;
+               fs_proc_flow3 |=
+                       proc_dest_sel[IPU_CHAN_ID(dest_ch)] <<
+                       FS_SMFC1_DEST_SEL_OFFSET;
+               break;
+       case CSI_MEM2:
+               fs_proc_flow3 &= ~FS_SMFC2_DEST_SEL_MASK;
+               fs_proc_flow3 |=
+                       proc_dest_sel[IPU_CHAN_ID(dest_ch)] <<
+                       FS_SMFC2_DEST_SEL_OFFSET;
+               break;
+       case CSI_MEM3:
+               fs_proc_flow3 &= ~FS_SMFC3_DEST_SEL_MASK;
+               fs_proc_flow3 |=
+                       proc_dest_sel[IPU_CHAN_ID(dest_ch)] <<
+                       FS_SMFC3_DEST_SEL_OFFSET;
+               break;
+       case CSI_PRP_ENC_MEM:
+               fs_proc_flow2 &= ~FS_PRPENC_DEST_SEL_MASK;
+               fs_proc_flow2 |=
+                       proc_dest_sel[IPU_CHAN_ID(dest_ch)] <<
+                       FS_PRPENC_DEST_SEL_OFFSET;
+               break;
+       case CSI_PRP_VF_MEM:
+               fs_proc_flow2 &= ~FS_PRPVF_DEST_SEL_MASK;
+               fs_proc_flow2 |=
+                       proc_dest_sel[IPU_CHAN_ID(dest_ch)] <<
+                       FS_PRPVF_DEST_SEL_OFFSET;
+               break;
+       case MEM_PP_MEM:
+               fs_proc_flow2 &= ~FS_PP_DEST_SEL_MASK;
+               fs_proc_flow2 |=
+                   proc_dest_sel[IPU_CHAN_ID(dest_ch)] <<
+                   FS_PP_DEST_SEL_OFFSET;
+               break;
+       case MEM_ROT_PP_MEM:
+               fs_proc_flow2 &= ~FS_PP_ROT_DEST_SEL_MASK;
+               fs_proc_flow2 |=
+                   proc_dest_sel[IPU_CHAN_ID(dest_ch)] <<
+                   FS_PP_ROT_DEST_SEL_OFFSET;
+               break;
+       case MEM_PRP_ENC_MEM:
+               fs_proc_flow2 &= ~FS_PRPENC_DEST_SEL_MASK;
+               fs_proc_flow2 |=
+                   proc_dest_sel[IPU_CHAN_ID(dest_ch)] <<
+                   FS_PRPENC_DEST_SEL_OFFSET;
+               break;
+       case MEM_ROT_ENC_MEM:
+               fs_proc_flow2 &= ~FS_PRPENC_ROT_DEST_SEL_MASK;
+               fs_proc_flow2 |=
+                   proc_dest_sel[IPU_CHAN_ID(dest_ch)] <<
+                   FS_PRPENC_ROT_DEST_SEL_OFFSET;
+               break;
+       case MEM_PRP_VF_MEM:
+               fs_proc_flow2 &= ~FS_PRPVF_DEST_SEL_MASK;
+               fs_proc_flow2 |=
+                   proc_dest_sel[IPU_CHAN_ID(dest_ch)] <<
+                   FS_PRPVF_DEST_SEL_OFFSET;
+               break;
+       case MEM_VDI_PRP_VF_MEM:
+               fs_proc_flow2 &= ~FS_PRPVF_DEST_SEL_MASK;
+               fs_proc_flow2 |=
+                   proc_dest_sel[IPU_CHAN_ID(dest_ch)] <<
+                   FS_PRPVF_DEST_SEL_OFFSET;
+               break;
+       case MEM_ROT_VF_MEM:
+               fs_proc_flow2 &= ~FS_PRPVF_ROT_DEST_SEL_MASK;
+               fs_proc_flow2 |=
+                   proc_dest_sel[IPU_CHAN_ID(dest_ch)] <<
+                   FS_PRPVF_ROT_DEST_SEL_OFFSET;
+               break;
+       case MEM_VDOA_MEM:
+               fs_proc_flow3 &= ~FS_VDOA_DEST_SEL_MASK;
+               if (MEM_VDI_MEM == dest_ch)
+                       fs_proc_flow3 |= FS_VDOA_DEST_SEL_VDI;
+               else if (MEM_PP_MEM == dest_ch)
+                       fs_proc_flow3 |= FS_VDOA_DEST_SEL_IC;
+               else {
+                       retval = -EINVAL;
+                       goto err;
+               }
+               break;
+       default:
+               retval = -EINVAL;
+               goto err;
+       }
+
+       switch (dest_ch) {
+       case MEM_PP_MEM:
+               fs_proc_flow1 &= ~FS_PP_SRC_SEL_MASK;
+               if (MEM_VDOA_MEM == src_ch)
+                       fs_proc_flow1 |= FS_PP_SRC_SEL_VDOA;
+               else
+                       fs_proc_flow1 |= proc_src_sel[IPU_CHAN_ID(src_ch)] <<
+                                               FS_PP_SRC_SEL_OFFSET;
+               break;
+       case MEM_ROT_PP_MEM:
+               fs_proc_flow1 &= ~FS_PP_ROT_SRC_SEL_MASK;
+               fs_proc_flow1 |=
+                   proc_src_sel[IPU_CHAN_ID(src_ch)] <<
+                   FS_PP_ROT_SRC_SEL_OFFSET;
+               break;
+       case MEM_PRP_ENC_MEM:
+               fs_proc_flow1 &= ~FS_PRP_SRC_SEL_MASK;
+               fs_proc_flow1 |=
+                   proc_src_sel[IPU_CHAN_ID(src_ch)] << FS_PRP_SRC_SEL_OFFSET;
+               break;
+       case MEM_ROT_ENC_MEM:
+               fs_proc_flow1 &= ~FS_PRPENC_ROT_SRC_SEL_MASK;
+               fs_proc_flow1 |=
+                   proc_src_sel[IPU_CHAN_ID(src_ch)] <<
+                   FS_PRPENC_ROT_SRC_SEL_OFFSET;
+               break;
+       case MEM_PRP_VF_MEM:
+               fs_proc_flow1 &= ~FS_PRP_SRC_SEL_MASK;
+               fs_proc_flow1 |=
+                   proc_src_sel[IPU_CHAN_ID(src_ch)] << FS_PRP_SRC_SEL_OFFSET;
+               break;
+       case MEM_VDI_PRP_VF_MEM:
+               fs_proc_flow1 &= ~FS_PRP_SRC_SEL_MASK;
+               fs_proc_flow1 |=
+                   proc_src_sel[IPU_CHAN_ID(src_ch)] << FS_PRP_SRC_SEL_OFFSET;
+               break;
+       case MEM_ROT_VF_MEM:
+               fs_proc_flow1 &= ~FS_PRPVF_ROT_SRC_SEL_MASK;
+               fs_proc_flow1 |=
+                   proc_src_sel[IPU_CHAN_ID(src_ch)] <<
+                   FS_PRPVF_ROT_SRC_SEL_OFFSET;
+               break;
+       case MEM_DC_SYNC:
+               fs_disp_flow1 &= ~FS_DC1_SRC_SEL_MASK;
+               fs_disp_flow1 |=
+                   disp_src_sel[IPU_CHAN_ID(src_ch)] << FS_DC1_SRC_SEL_OFFSET;
+               break;
+       case MEM_BG_SYNC:
+               fs_disp_flow1 &= ~FS_DP_SYNC0_SRC_SEL_MASK;
+               fs_disp_flow1 |=
+                   disp_src_sel[IPU_CHAN_ID(src_ch)] <<
+                   FS_DP_SYNC0_SRC_SEL_OFFSET;
+               break;
+       case MEM_FG_SYNC:
+               fs_disp_flow1 &= ~FS_DP_SYNC1_SRC_SEL_MASK;
+               fs_disp_flow1 |=
+                   disp_src_sel[IPU_CHAN_ID(src_ch)] <<
+                   FS_DP_SYNC1_SRC_SEL_OFFSET;
+               break;
+       case MEM_DC_ASYNC:
+               fs_disp_flow1 &= ~FS_DC2_SRC_SEL_MASK;
+               fs_disp_flow1 |=
+                   disp_src_sel[IPU_CHAN_ID(src_ch)] << FS_DC2_SRC_SEL_OFFSET;
+               break;
+       case MEM_BG_ASYNC0:
+               fs_disp_flow1 &= ~FS_DP_ASYNC0_SRC_SEL_MASK;
+               fs_disp_flow1 |=
+                   disp_src_sel[IPU_CHAN_ID(src_ch)] <<
+                   FS_DP_ASYNC0_SRC_SEL_OFFSET;
+               break;
+       case MEM_FG_ASYNC0:
+               fs_disp_flow1 &= ~FS_DP_ASYNC1_SRC_SEL_MASK;
+               fs_disp_flow1 |=
+                   disp_src_sel[IPU_CHAN_ID(src_ch)] <<
+                   FS_DP_ASYNC1_SRC_SEL_OFFSET;
+               break;
+       case MEM_VDI_MEM:
+               fs_proc_flow1 &= ~FS_VDI_SRC_SEL_MASK;
+               if (MEM_VDOA_MEM == src_ch)
+                       fs_proc_flow1 |= FS_VDI_SRC_SEL_VDOA;
+               else {
+                       retval = -EINVAL;
+                       goto err;
+               }
+               break;
+       default:
+               retval = -EINVAL;
+               goto err;
+       }
+
+       ipu_cm_write(ipu, fs_proc_flow1, IPU_FS_PROC_FLOW1);
+       ipu_cm_write(ipu, fs_proc_flow2, IPU_FS_PROC_FLOW2);
+       ipu_cm_write(ipu, fs_proc_flow3, IPU_FS_PROC_FLOW3);
+       ipu_cm_write(ipu, fs_disp_flow1, IPU_FS_DISP_FLOW1);
+
+err:
+       mutex_unlock(&ipu->mutex_lock);
+       return retval;
+}
+EXPORT_SYMBOL(ipu_link_channels);
+
+/*!
+ * This function unlinks 2 channels and disables automatic frame
+ * synchronization.
+ *
+ * @param      ipu             ipu handler
+ * @param       src_ch          Input parameter for the logical channel ID of
+ *                              the source channel.
+ *
+ * @param       dest_ch         Input parameter for the logical channel ID of
+ *                              the destination channel.
+ *
+ * @return      This function returns 0 on success or negative error code on
+ *              fail.
+ */
+int32_t ipu_unlink_channels(struct ipu_soc *ipu, ipu_channel_t src_ch, ipu_channel_t dest_ch)
+{
+       int retval = 0;
+       uint32_t fs_proc_flow1;
+       uint32_t fs_proc_flow2;
+       uint32_t fs_proc_flow3;
+       uint32_t fs_disp_flow1;
+
+       mutex_lock(&ipu->mutex_lock);
+
+       fs_proc_flow1 = ipu_cm_read(ipu, IPU_FS_PROC_FLOW1);
+       fs_proc_flow2 = ipu_cm_read(ipu, IPU_FS_PROC_FLOW2);
+       fs_proc_flow3 = ipu_cm_read(ipu, IPU_FS_PROC_FLOW3);
+       fs_disp_flow1 = ipu_cm_read(ipu, IPU_FS_DISP_FLOW1);
+
+       switch (src_ch) {
+       case CSI_MEM0:
+               fs_proc_flow3 &= ~FS_SMFC0_DEST_SEL_MASK;
+               break;
+       case CSI_MEM1:
+               fs_proc_flow3 &= ~FS_SMFC1_DEST_SEL_MASK;
+               break;
+       case CSI_MEM2:
+               fs_proc_flow3 &= ~FS_SMFC2_DEST_SEL_MASK;
+               break;
+       case CSI_MEM3:
+               fs_proc_flow3 &= ~FS_SMFC3_DEST_SEL_MASK;
+               break;
+       case CSI_PRP_ENC_MEM:
+               fs_proc_flow2 &= ~FS_PRPENC_DEST_SEL_MASK;
+               break;
+       case CSI_PRP_VF_MEM:
+               fs_proc_flow2 &= ~FS_PRPVF_DEST_SEL_MASK;
+               break;
+       case MEM_PP_MEM:
+               fs_proc_flow2 &= ~FS_PP_DEST_SEL_MASK;
+               break;
+       case MEM_ROT_PP_MEM:
+               fs_proc_flow2 &= ~FS_PP_ROT_DEST_SEL_MASK;
+               break;
+       case MEM_PRP_ENC_MEM:
+               fs_proc_flow2 &= ~FS_PRPENC_DEST_SEL_MASK;
+               break;
+       case MEM_ROT_ENC_MEM:
+               fs_proc_flow2 &= ~FS_PRPENC_ROT_DEST_SEL_MASK;
+               break;
+       case MEM_PRP_VF_MEM:
+               fs_proc_flow2 &= ~FS_PRPVF_DEST_SEL_MASK;
+               break;
+       case MEM_VDI_PRP_VF_MEM:
+               fs_proc_flow2 &= ~FS_PRPVF_DEST_SEL_MASK;
+               break;
+       case MEM_ROT_VF_MEM:
+               fs_proc_flow2 &= ~FS_PRPVF_ROT_DEST_SEL_MASK;
+               break;
+       case MEM_VDOA_MEM:
+               fs_proc_flow3 &= ~FS_VDOA_DEST_SEL_MASK;
+               break;
+       default:
+               retval = -EINVAL;
+               goto err;
+       }
+
+       switch (dest_ch) {
+       case MEM_PP_MEM:
+               fs_proc_flow1 &= ~FS_PP_SRC_SEL_MASK;
+               break;
+       case MEM_ROT_PP_MEM:
+               fs_proc_flow1 &= ~FS_PP_ROT_SRC_SEL_MASK;
+               break;
+       case MEM_PRP_ENC_MEM:
+               fs_proc_flow1 &= ~FS_PRP_SRC_SEL_MASK;
+               break;
+       case MEM_ROT_ENC_MEM:
+               fs_proc_flow1 &= ~FS_PRPENC_ROT_SRC_SEL_MASK;
+               break;
+       case MEM_PRP_VF_MEM:
+               fs_proc_flow1 &= ~FS_PRP_SRC_SEL_MASK;
+               break;
+       case MEM_VDI_PRP_VF_MEM:
+               fs_proc_flow1 &= ~FS_PRP_SRC_SEL_MASK;
+               break;
+       case MEM_ROT_VF_MEM:
+               fs_proc_flow1 &= ~FS_PRPVF_ROT_SRC_SEL_MASK;
+               break;
+       case MEM_DC_SYNC:
+               fs_disp_flow1 &= ~FS_DC1_SRC_SEL_MASK;
+               break;
+       case MEM_BG_SYNC:
+               fs_disp_flow1 &= ~FS_DP_SYNC0_SRC_SEL_MASK;
+               break;
+       case MEM_FG_SYNC:
+               fs_disp_flow1 &= ~FS_DP_SYNC1_SRC_SEL_MASK;
+               break;
+       case MEM_DC_ASYNC:
+               fs_disp_flow1 &= ~FS_DC2_SRC_SEL_MASK;
+               break;
+       case MEM_BG_ASYNC0:
+               fs_disp_flow1 &= ~FS_DP_ASYNC0_SRC_SEL_MASK;
+               break;
+       case MEM_FG_ASYNC0:
+               fs_disp_flow1 &= ~FS_DP_ASYNC1_SRC_SEL_MASK;
+               break;
+       case MEM_VDI_MEM:
+               fs_proc_flow1 &= ~FS_VDI_SRC_SEL_MASK;
+               break;
+       default:
+               retval = -EINVAL;
+               goto err;
+       }
+
+       ipu_cm_write(ipu, fs_proc_flow1, IPU_FS_PROC_FLOW1);
+       ipu_cm_write(ipu, fs_proc_flow2, IPU_FS_PROC_FLOW2);
+       ipu_cm_write(ipu, fs_proc_flow3, IPU_FS_PROC_FLOW3);
+       ipu_cm_write(ipu, fs_disp_flow1, IPU_FS_DISP_FLOW1);
+
+err:
+       mutex_unlock(&ipu->mutex_lock);
+       return retval;
+}
+EXPORT_SYMBOL(ipu_unlink_channels);
+
+/*!
+ * This function check whether a logical channel was enabled.
+ *
+ * @param      ipu             ipu handler
+ * @param       channel         Input parameter for the logical channel ID.
+ *
+ * @return      This function returns 1 while request channel is enabled or
+ *              0 for not enabled.
+ */
+int32_t ipu_is_channel_busy(struct ipu_soc *ipu, ipu_channel_t channel)
+{
+       uint32_t reg;
+       uint32_t in_dma;
+       uint32_t out_dma;
+
+       out_dma = channel_2_dma(channel, IPU_OUTPUT_BUFFER);
+       in_dma = channel_2_dma(channel, IPU_VIDEO_IN_BUFFER);
+
+       reg = ipu_idmac_read(ipu, IDMAC_CHA_EN(in_dma));
+       if (reg & idma_mask(in_dma))
+               return 1;
+       reg = ipu_idmac_read(ipu, IDMAC_CHA_EN(out_dma));
+       if (reg & idma_mask(out_dma))
+               return 1;
+       return 0;
+}
+EXPORT_SYMBOL(ipu_is_channel_busy);
+
+/*!
+ * This function enables a logical channel.
+ *
+ * @param      ipu             ipu handler
+ * @param       channel         Input parameter for the logical channel ID.
+ *
+ * @return      This function returns 0 on success or negative error code on
+ *              fail.
+ */
+int32_t ipu_enable_channel(struct ipu_soc *ipu, ipu_channel_t channel)
+{
+       uint32_t reg;
+       uint32_t ipu_conf;
+       uint32_t in_dma;
+       uint32_t out_dma;
+       uint32_t sec_dma;
+       uint32_t thrd_dma;
+
+       mutex_lock(&ipu->mutex_lock);
+
+       if (ipu->channel_enable_mask & (1L << IPU_CHAN_ID(channel))) {
+               dev_err(ipu->dev, "Warning: channel already enabled %d\n",
+                       IPU_CHAN_ID(channel));
+               mutex_unlock(&ipu->mutex_lock);
+               return -EACCES;
+       }
+
+       /* Get input and output dma channels */
+       out_dma = channel_2_dma(channel, IPU_OUTPUT_BUFFER);
+       in_dma = channel_2_dma(channel, IPU_VIDEO_IN_BUFFER);
+
+       ipu_conf = ipu_cm_read(ipu, IPU_CONF);
+       if (ipu->di_use_count[0] > 0) {
+               ipu_conf |= IPU_CONF_DI0_EN;
+       }
+       if (ipu->di_use_count[1] > 0) {
+               ipu_conf |= IPU_CONF_DI1_EN;
+       }
+       if (ipu->dp_use_count > 0)
+               ipu_conf |= IPU_CONF_DP_EN;
+       if (ipu->dc_use_count > 0)
+               ipu_conf |= IPU_CONF_DC_EN;
+       if (ipu->dmfc_use_count > 0)
+               ipu_conf |= IPU_CONF_DMFC_EN;
+       if (ipu->ic_use_count > 0)
+               ipu_conf |= IPU_CONF_IC_EN;
+       if (ipu->vdi_use_count > 0) {
+               ipu_conf |= IPU_CONF_ISP_EN;
+               ipu_conf |= IPU_CONF_VDI_EN;
+               ipu_conf |= IPU_CONF_IC_INPUT;
+       }
+       if (ipu->rot_use_count > 0)
+               ipu_conf |= IPU_CONF_ROT_EN;
+       if (ipu->smfc_use_count > 0)
+               ipu_conf |= IPU_CONF_SMFC_EN;
+       ipu_cm_write(ipu, ipu_conf, IPU_CONF);
+
+       if (idma_is_valid(in_dma)) {
+               reg = ipu_idmac_read(ipu, IDMAC_CHA_EN(in_dma));
+               ipu_idmac_write(ipu, reg | idma_mask(in_dma), IDMAC_CHA_EN(in_dma));
+       }
+       if (idma_is_valid(out_dma)) {
+               reg = ipu_idmac_read(ipu, IDMAC_CHA_EN(out_dma));
+               ipu_idmac_write(ipu, reg | idma_mask(out_dma), IDMAC_CHA_EN(out_dma));
+       }
+
+       if ((ipu->sec_chan_en[IPU_CHAN_ID(channel)]) &&
+               ((channel == MEM_PP_MEM) || (channel == MEM_PRP_VF_MEM) ||
+                (channel == MEM_VDI_PRP_VF_MEM))) {
+               sec_dma = channel_2_dma(channel, IPU_GRAPH_IN_BUFFER);
+               reg = ipu_idmac_read(ipu, IDMAC_CHA_EN(sec_dma));
+               ipu_idmac_write(ipu, reg | idma_mask(sec_dma), IDMAC_CHA_EN(sec_dma));
+       }
+       if ((ipu->thrd_chan_en[IPU_CHAN_ID(channel)]) &&
+               ((channel == MEM_PP_MEM) || (channel == MEM_PRP_VF_MEM))) {
+               thrd_dma = channel_2_dma(channel, IPU_ALPHA_IN_BUFFER);
+               reg = ipu_idmac_read(ipu, IDMAC_CHA_EN(thrd_dma));
+               ipu_idmac_write(ipu, reg | idma_mask(thrd_dma), IDMAC_CHA_EN(thrd_dma));
+
+               sec_dma = channel_2_dma(channel, IPU_GRAPH_IN_BUFFER);
+               reg = ipu_idmac_read(ipu, IDMAC_SEP_ALPHA);
+               ipu_idmac_write(ipu, reg | idma_mask(sec_dma), IDMAC_SEP_ALPHA);
+       } else if ((ipu->thrd_chan_en[IPU_CHAN_ID(channel)]) &&
+                  ((channel == MEM_BG_SYNC) || (channel == MEM_FG_SYNC))) {
+               thrd_dma = channel_2_dma(channel, IPU_ALPHA_IN_BUFFER);
+               reg = ipu_idmac_read(ipu, IDMAC_CHA_EN(thrd_dma));
+               ipu_idmac_write(ipu, reg | idma_mask(thrd_dma), IDMAC_CHA_EN(thrd_dma));
+               reg = ipu_idmac_read(ipu, IDMAC_SEP_ALPHA);
+               ipu_idmac_write(ipu, reg | idma_mask(in_dma), IDMAC_SEP_ALPHA);
+       }
+
+       if ((channel == MEM_DC_SYNC) || (channel == MEM_BG_SYNC) ||
+           (channel == MEM_FG_SYNC)) {
+               reg = ipu_idmac_read(ipu, IDMAC_WM_EN(in_dma));
+               ipu_idmac_write(ipu, reg | idma_mask(in_dma), IDMAC_WM_EN(in_dma));
+
+               _ipu_dp_dc_enable(ipu, channel);
+       }
+
+       if (_ipu_is_ic_chan(in_dma) || _ipu_is_ic_chan(out_dma) ||
+               _ipu_is_irt_chan(in_dma) || _ipu_is_irt_chan(out_dma) ||
+               _ipu_is_vdi_out_chan(out_dma))
+               _ipu_ic_enable_task(ipu, channel);
+
+       ipu->channel_enable_mask |= 1L << IPU_CHAN_ID(channel);
+
+       mutex_unlock(&ipu->mutex_lock);
+
+       return 0;
+}
+EXPORT_SYMBOL(ipu_enable_channel);
+
+/*!
+ * This function check buffer ready for a logical channel.
+ *
+ * @param      ipu             ipu handler
+ * @param       channel         Input parameter for the logical channel ID.
+ *
+ * @param       type            Input parameter which buffer to clear.
+ *
+ * @param       bufNum          Input parameter for which buffer number clear
+ *                             ready state.
+ *
+ */
+int32_t ipu_check_buffer_ready(struct ipu_soc *ipu, ipu_channel_t channel, ipu_buffer_t type,
+               uint32_t bufNum)
+{
+       uint32_t dma_chan = channel_2_dma(channel, type);
+       uint32_t reg;
+       unsigned long lock_flags;
+
+       if (dma_chan == IDMA_CHAN_INVALID)
+               return -EINVAL;
+
+       spin_lock_irqsave(&ipu->rdy_reg_spin_lock, lock_flags);
+       if (bufNum == 0)
+               reg = ipu_cm_read(ipu, IPU_CHA_BUF0_RDY(dma_chan));
+       else if (bufNum == 1)
+               reg = ipu_cm_read(ipu, IPU_CHA_BUF1_RDY(dma_chan));
+       else
+               reg = ipu_cm_read(ipu, IPU_CHA_BUF2_RDY(dma_chan));
+       spin_unlock_irqrestore(&ipu->rdy_reg_spin_lock, lock_flags);
+
+       if (reg & idma_mask(dma_chan))
+               return 1;
+       else
+               return 0;
+}
+EXPORT_SYMBOL(ipu_check_buffer_ready);
+
+/*!
+ * This function clear buffer ready for a logical channel.
+ *
+ * @param      ipu             ipu handler
+ * @param       channel         Input parameter for the logical channel ID.
+ *
+ * @param       type            Input parameter which buffer to clear.
+ *
+ * @param       bufNum          Input parameter for which buffer number clear
+ *                             ready state.
+ *
+ */
+void _ipu_clear_buffer_ready(struct ipu_soc *ipu, ipu_channel_t channel, ipu_buffer_t type,
+               uint32_t bufNum)
+{
+       uint32_t dma_ch = channel_2_dma(channel, type);
+
+       if (!idma_is_valid(dma_ch))
+               return;
+
+       ipu_cm_write(ipu, 0xF0300000, IPU_GPR); /* write one to clear */
+       if (bufNum == 0)
+               ipu_cm_write(ipu, idma_mask(dma_ch),
+                               IPU_CHA_BUF0_RDY(dma_ch));
+       else if (bufNum == 1)
+               ipu_cm_write(ipu, idma_mask(dma_ch),
+                               IPU_CHA_BUF1_RDY(dma_ch));
+       else
+               ipu_cm_write(ipu, idma_mask(dma_ch),
+                               IPU_CHA_BUF2_RDY(dma_ch));
+       ipu_cm_write(ipu, 0x0, IPU_GPR); /* write one to set */
+}
+
+void ipu_clear_buffer_ready(struct ipu_soc *ipu, ipu_channel_t channel, ipu_buffer_t type,
+               uint32_t bufNum)
+{
+       unsigned long lock_flags;
+
+       spin_lock_irqsave(&ipu->rdy_reg_spin_lock, lock_flags);
+       _ipu_clear_buffer_ready(ipu, channel, type, bufNum);
+       spin_unlock_irqrestore(&ipu->rdy_reg_spin_lock, lock_flags);
+}
+EXPORT_SYMBOL(ipu_clear_buffer_ready);
+
+/*!
+ * This function disables a logical channel.
+ *
+ * @param      ipu             ipu handler
+ * @param       channel         Input parameter for the logical channel ID.
+ *
+ * @param       wait_for_stop   Flag to set whether to wait for channel end
+ *                              of frame or return immediately.
+ *
+ * @return      This function returns 0 on success or negative error code on
+ *              fail.
+ */
+int32_t ipu_disable_channel(struct ipu_soc *ipu, ipu_channel_t channel, bool wait_for_stop)
+{
+       uint32_t reg;
+       uint32_t in_dma;
+       uint32_t out_dma;
+       uint32_t sec_dma = NO_DMA;
+       uint32_t thrd_dma = NO_DMA;
+       uint16_t fg_pos_x, fg_pos_y;
+       unsigned long lock_flags;
+
+       mutex_lock(&ipu->mutex_lock);
+
+       if ((ipu->channel_enable_mask & (1L << IPU_CHAN_ID(channel))) == 0) {
+               dev_dbg(ipu->dev, "Channel already disabled %d\n",
+                       IPU_CHAN_ID(channel));
+               mutex_unlock(&ipu->mutex_lock);
+               return -EACCES;
+       }
+
+       /* Get input and output dma channels */
+       out_dma = channel_2_dma(channel, IPU_OUTPUT_BUFFER);
+       in_dma = channel_2_dma(channel, IPU_VIDEO_IN_BUFFER);
+
+       if ((idma_is_valid(in_dma) &&
+               !idma_is_set(ipu, IDMAC_CHA_EN, in_dma))
+               && (idma_is_valid(out_dma) &&
+               !idma_is_set(ipu, IDMAC_CHA_EN, out_dma))) {
+               mutex_unlock(&ipu->mutex_lock);
+               return -EINVAL;
+       }
+
+       if (ipu->sec_chan_en[IPU_CHAN_ID(channel)])
+               sec_dma = channel_2_dma(channel, IPU_GRAPH_IN_BUFFER);
+       if (ipu->thrd_chan_en[IPU_CHAN_ID(channel)]) {
+               sec_dma = channel_2_dma(channel, IPU_GRAPH_IN_BUFFER);
+               thrd_dma = channel_2_dma(channel, IPU_ALPHA_IN_BUFFER);
+       }
+
+       if ((channel == MEM_BG_SYNC) || (channel == MEM_FG_SYNC) ||
+           (channel == MEM_DC_SYNC)) {
+               if (channel == MEM_FG_SYNC) {
+                       _ipu_disp_get_window_pos(ipu, channel, &fg_pos_x, &fg_pos_y);
+                       _ipu_disp_set_window_pos(ipu, channel, 0, 0);
+               }
+
+               _ipu_dp_dc_disable(ipu, channel, false);
+
+               /*
+                * wait for BG channel EOF then disable FG-IDMAC,
+                * it avoid FG NFB4EOF error.
+                */
+               if ((channel == MEM_FG_SYNC) && (ipu_is_channel_busy(ipu, MEM_BG_SYNC))) {
+                       int timeout = 50;
+
+                       ipu_cm_write(ipu, IPUIRQ_2_MASK(IPU_IRQ_BG_SYNC_EOF),
+                                       IPUIRQ_2_STATREG(IPU_IRQ_BG_SYNC_EOF));
+                       while ((ipu_cm_read(ipu, IPUIRQ_2_STATREG(IPU_IRQ_BG_SYNC_EOF)) &
+                                               IPUIRQ_2_MASK(IPU_IRQ_BG_SYNC_EOF)) == 0) {
+                               msleep(10);
+                               timeout -= 10;
+                               if (timeout <= 0) {
+                                       dev_err(ipu->dev, "warning: wait for bg sync eof timeout\n");
+                                       break;
+                               }
+                       }
+               }
+       } else if (wait_for_stop && !_ipu_is_smfc_chan(out_dma) &&
+                  channel != CSI_PRP_VF_MEM && channel != CSI_PRP_ENC_MEM) {
+               while (idma_is_set(ipu, IDMAC_CHA_BUSY, in_dma) ||
+                      idma_is_set(ipu, IDMAC_CHA_BUSY, out_dma) ||
+                       (ipu->sec_chan_en[IPU_CHAN_ID(channel)] &&
+                       idma_is_set(ipu, IDMAC_CHA_BUSY, sec_dma)) ||
+                       (ipu->thrd_chan_en[IPU_CHAN_ID(channel)] &&
+                       idma_is_set(ipu, IDMAC_CHA_BUSY, thrd_dma))) {
+                       uint32_t irq = 0xffffffff;
+                       int timeout = 50000;
+
+                       if (idma_is_set(ipu, IDMAC_CHA_BUSY, out_dma))
+                               irq = out_dma;
+                       if (ipu->sec_chan_en[IPU_CHAN_ID(channel)] &&
+                               idma_is_set(ipu, IDMAC_CHA_BUSY, sec_dma))
+                               irq = sec_dma;
+                       if (ipu->thrd_chan_en[IPU_CHAN_ID(channel)] &&
+                               idma_is_set(ipu, IDMAC_CHA_BUSY, thrd_dma))
+                               irq = thrd_dma;
+                       if (idma_is_set(ipu, IDMAC_CHA_BUSY, in_dma))
+                               irq = in_dma;
+
+                       if (irq == 0xffffffff) {
+                               dev_dbg(ipu->dev, "warning: no channel busy, break\n");
+                               break;
+                       }
+
+                       ipu_cm_write(ipu, IPUIRQ_2_MASK(irq),
+                                       IPUIRQ_2_STATREG(irq));
+
+                       dev_dbg(ipu->dev, "warning: channel %d busy, need wait\n", irq);
+
+                       while (((ipu_cm_read(ipu, IPUIRQ_2_STATREG(irq))
+                               & IPUIRQ_2_MASK(irq)) == 0) &&
+                               (idma_is_set(ipu, IDMAC_CHA_BUSY, irq))) {
+                               udelay(10);
+                               timeout -= 10;
+                               if (timeout <= 0) {
+                                       ipu_dump_registers(ipu);
+                                       dev_err(ipu->dev, "warning: disable ipu dma channel %d during its busy state\n", irq);
+                                       break;
+                               }
+                       }
+                       dev_dbg(ipu->dev, "wait_time:%d\n", 50000 - timeout);
+
+               }
+       }
+
+       if ((channel == MEM_BG_SYNC) || (channel == MEM_FG_SYNC) ||
+           (channel == MEM_DC_SYNC)) {
+               reg = ipu_idmac_read(ipu, IDMAC_WM_EN(in_dma));
+               ipu_idmac_write(ipu, reg & ~idma_mask(in_dma), IDMAC_WM_EN(in_dma));
+       }
+
+       /* Disable IC task */
+       if (_ipu_is_ic_chan(in_dma) || _ipu_is_ic_chan(out_dma) ||
+               _ipu_is_irt_chan(in_dma) || _ipu_is_irt_chan(out_dma) ||
+               _ipu_is_vdi_out_chan(out_dma))
+               _ipu_ic_disable_task(ipu, channel);
+
+       /* Disable DMA channel(s) */
+       if (idma_is_valid(in_dma)) {
+               reg = ipu_idmac_read(ipu, IDMAC_CHA_EN(in_dma));
+               ipu_idmac_write(ipu, reg & ~idma_mask(in_dma), IDMAC_CHA_EN(in_dma));
+               ipu_cm_write(ipu, idma_mask(in_dma), IPU_CHA_CUR_BUF(in_dma));
+               ipu_cm_write(ipu, tri_cur_buf_mask(in_dma),
+                                       IPU_CHA_TRIPLE_CUR_BUF(in_dma));
+       }
+       if (idma_is_valid(out_dma)) {
+               reg = ipu_idmac_read(ipu, IDMAC_CHA_EN(out_dma));
+               ipu_idmac_write(ipu, reg & ~idma_mask(out_dma), IDMAC_CHA_EN(out_dma));
+               ipu_cm_write(ipu, idma_mask(out_dma), IPU_CHA_CUR_BUF(out_dma));
+               ipu_cm_write(ipu, tri_cur_buf_mask(out_dma),
+                                       IPU_CHA_TRIPLE_CUR_BUF(out_dma));
+       }
+       if (ipu->sec_chan_en[IPU_CHAN_ID(channel)] && idma_is_valid(sec_dma)) {
+               reg = ipu_idmac_read(ipu, IDMAC_CHA_EN(sec_dma));
+               ipu_idmac_write(ipu, reg & ~idma_mask(sec_dma), IDMAC_CHA_EN(sec_dma));
+               ipu_cm_write(ipu, idma_mask(sec_dma), IPU_CHA_CUR_BUF(sec_dma));
+       }
+       if (ipu->thrd_chan_en[IPU_CHAN_ID(channel)] && idma_is_valid(thrd_dma)) {
+               reg = ipu_idmac_read(ipu, IDMAC_CHA_EN(thrd_dma));
+               ipu_idmac_write(ipu, reg & ~idma_mask(thrd_dma), IDMAC_CHA_EN(thrd_dma));
+               if (channel == MEM_BG_SYNC || channel == MEM_FG_SYNC) {
+                       reg = ipu_idmac_read(ipu, IDMAC_SEP_ALPHA);
+                       ipu_idmac_write(ipu, reg & ~idma_mask(in_dma), IDMAC_SEP_ALPHA);
+               } else {
+                       reg = ipu_idmac_read(ipu, IDMAC_SEP_ALPHA);
+                       ipu_idmac_write(ipu, reg & ~idma_mask(sec_dma), IDMAC_SEP_ALPHA);
+               }
+               ipu_cm_write(ipu, idma_mask(thrd_dma), IPU_CHA_CUR_BUF(thrd_dma));
+       }
+
+       if (channel == MEM_FG_SYNC)
+               _ipu_disp_set_window_pos(ipu, channel, fg_pos_x, fg_pos_y);
+
+       spin_lock_irqsave(&ipu->rdy_reg_spin_lock, lock_flags);
+       /* Set channel buffers NOT to be ready */
+       if (idma_is_valid(in_dma)) {
+               _ipu_clear_buffer_ready(ipu, channel, IPU_VIDEO_IN_BUFFER, 0);
+               _ipu_clear_buffer_ready(ipu, channel, IPU_VIDEO_IN_BUFFER, 1);
+               _ipu_clear_buffer_ready(ipu, channel, IPU_VIDEO_IN_BUFFER, 2);
+       }
+       if (idma_is_valid(out_dma)) {
+               _ipu_clear_buffer_ready(ipu, channel, IPU_OUTPUT_BUFFER, 0);
+               _ipu_clear_buffer_ready(ipu, channel, IPU_OUTPUT_BUFFER, 1);
+       }
+       if (ipu->sec_chan_en[IPU_CHAN_ID(channel)] && idma_is_valid(sec_dma)) {
+               _ipu_clear_buffer_ready(ipu, channel, IPU_GRAPH_IN_BUFFER, 0);
+               _ipu_clear_buffer_ready(ipu, channel, IPU_GRAPH_IN_BUFFER, 1);
+       }
+       if (ipu->thrd_chan_en[IPU_CHAN_ID(channel)] && idma_is_valid(thrd_dma)) {
+               _ipu_clear_buffer_ready(ipu, channel, IPU_ALPHA_IN_BUFFER, 0);
+               _ipu_clear_buffer_ready(ipu, channel, IPU_ALPHA_IN_BUFFER, 1);
+       }
+       spin_unlock_irqrestore(&ipu->rdy_reg_spin_lock, lock_flags);
+
+       ipu->channel_enable_mask &= ~(1L << IPU_CHAN_ID(channel));
+
+       mutex_unlock(&ipu->mutex_lock);
+
+       return 0;
+}
+EXPORT_SYMBOL(ipu_disable_channel);
+
+/*!
+ * This function enables CSI.
+ *
+ * @param      ipu             ipu handler
+ * @param       csi    csi num 0 or 1
+ *
+ * @return      This function returns 0 on success or negative error code on
+ *              fail.
+ */
+int32_t ipu_enable_csi(struct ipu_soc *ipu, uint32_t csi)
+{
+       uint32_t reg;
+
+       if (csi > 1) {
+               dev_err(ipu->dev, "Wrong csi num_%d\n", csi);
+               return -EINVAL;
+       }
+
+       _ipu_get(ipu);
+       mutex_lock(&ipu->mutex_lock);
+       ipu->csi_use_count[csi]++;
+
+       if (ipu->csi_use_count[csi] == 1) {
+               reg = ipu_cm_read(ipu, IPU_CONF);
+               if (csi == 0)
+                       ipu_cm_write(ipu, reg | IPU_CONF_CSI0_EN, IPU_CONF);
+               else
+                       ipu_cm_write(ipu, reg | IPU_CONF_CSI1_EN, IPU_CONF);
+       }
+       mutex_unlock(&ipu->mutex_lock);
+       _ipu_put(ipu);
+       return 0;
+}
+EXPORT_SYMBOL(ipu_enable_csi);
+
+/*!
+ * This function disables CSI.
+ *
+ * @param      ipu             ipu handler
+ * @param       csi    csi num 0 or 1
+ *
+ * @return      This function returns 0 on success or negative error code on
+ *              fail.
+ */
+int32_t ipu_disable_csi(struct ipu_soc *ipu, uint32_t csi)
+{
+       uint32_t reg;
+
+       if (csi > 1) {
+               dev_err(ipu->dev, "Wrong csi num_%d\n", csi);
+               return -EINVAL;
+       }
+       _ipu_get(ipu);
+       mutex_lock(&ipu->mutex_lock);
+       ipu->csi_use_count[csi]--;
+       if (ipu->csi_use_count[csi] == 0) {
+               _ipu_csi_wait4eof(ipu, ipu->csi_channel[csi]);
+               reg = ipu_cm_read(ipu, IPU_CONF);
+               if (csi == 0)
+                       ipu_cm_write(ipu, reg & ~IPU_CONF_CSI0_EN, IPU_CONF);
+               else
+                       ipu_cm_write(ipu, reg & ~IPU_CONF_CSI1_EN, IPU_CONF);
+       }
+       mutex_unlock(&ipu->mutex_lock);
+       _ipu_put(ipu);
+       return 0;
+}
+EXPORT_SYMBOL(ipu_disable_csi);
+
+static irqreturn_t ipu_sync_irq_handler(int irq, void *desc)
+{
+       struct ipu_soc *ipu = desc;
+       int i;
+       uint32_t line, bit, int_stat, int_ctrl;
+       irqreturn_t result = IRQ_NONE;
+       const int int_reg[] = { 1, 2, 3, 4, 11, 12, 13, 14, 15, 0 };
+
+       spin_lock(&ipu->int_reg_spin_lock);
+
+       for (i = 0; int_reg[i] != 0; i++) {
+               int_stat = ipu_cm_read(ipu, IPU_INT_STAT(int_reg[i]));
+               int_ctrl = ipu_cm_read(ipu, IPU_INT_CTRL(int_reg[i]));
+               int_stat &= int_ctrl;
+               ipu_cm_write(ipu, int_stat, IPU_INT_STAT(int_reg[i]));
+               while ((line = ffs(int_stat)) != 0) {
+                       bit = --line;
+                       int_stat &= ~(1UL << line);
+                       line += (int_reg[i] - 1) * 32;
+                       result |=
+                           ipu->irq_list[line].handler(line,
+                                                      ipu->irq_list[line].
+                                                      dev_id);
+                       if (ipu->irq_list[line].flags & IPU_IRQF_ONESHOT) {
+                               int_ctrl &= ~(1UL << bit);
+                               ipu_cm_write(ipu, int_ctrl,
+                                               IPU_INT_CTRL(int_reg[i]));
+                       }
+               }
+       }
+
+       spin_unlock(&ipu->int_reg_spin_lock);
+
+       return result;
+}
+
+static irqreturn_t ipu_err_irq_handler(int irq, void *desc)
+{
+       struct ipu_soc *ipu = desc;
+       int i;
+       uint32_t int_stat;
+       const int err_reg[] = { 5, 6, 9, 10, 0 };
+
+       spin_lock(&ipu->int_reg_spin_lock);
+
+       for (i = 0; err_reg[i] != 0; i++) {
+               int_stat = ipu_cm_read(ipu, IPU_INT_STAT(err_reg[i]));
+               int_stat &= ipu_cm_read(ipu, IPU_INT_CTRL(err_reg[i]));
+               if (int_stat) {
+                       ipu_cm_write(ipu, int_stat, IPU_INT_STAT(err_reg[i]));
+                       dev_warn(ipu->dev,
+                               "IPU Warning - IPU_INT_STAT_%d = 0x%08X\n",
+                               err_reg[i], int_stat);
+                       /* Disable interrupts so we only get error once */
+                       int_stat = ipu_cm_read(ipu, IPU_INT_CTRL(err_reg[i])) &
+                                       ~int_stat;
+                       ipu_cm_write(ipu, int_stat, IPU_INT_CTRL(err_reg[i]));
+               }
+       }
+
+       spin_unlock(&ipu->int_reg_spin_lock);
+
+       return IRQ_HANDLED;
+}
+
+/*!
+ * This function enables the interrupt for the specified interrupt line.
+ * The interrupt lines are defined in \b ipu_irq_line enum.
+ *
+ * @param      ipu             ipu handler
+ * @param       irq             Interrupt line to enable interrupt for.
+ *
+ * @return      This function returns 0 on success or negative error code on
+ *              fail.
+ */
+int ipu_enable_irq(struct ipu_soc *ipu, uint32_t irq)
+{
+       uint32_t reg;
+       unsigned long lock_flags;
+       int ret = 0;
+
+       _ipu_get(ipu);
+
+       spin_lock_irqsave(&ipu->int_reg_spin_lock, lock_flags);
+
+       /*
+        * Check sync interrupt handler only, since we do nothing for
+        * error interrupts but than print out register values in the
+        * error interrupt source handler.
+        */
+       if (_ipu_is_sync_irq(irq) && (ipu->irq_list[irq].handler == NULL)) {
+               dev_err(ipu->dev, "handler hasn't been registered on sync "
+                                 "irq %d\n", irq);
+               ret = -EACCES;
+               goto out;
+       }
+
+       reg = ipu_cm_read(ipu, IPUIRQ_2_CTRLREG(irq));
+       reg |= IPUIRQ_2_MASK(irq);
+       ipu_cm_write(ipu, reg, IPUIRQ_2_CTRLREG(irq));
+out:
+       spin_unlock_irqrestore(&ipu->int_reg_spin_lock, lock_flags);
+
+       _ipu_put(ipu);
+
+       return ret;
+}
+EXPORT_SYMBOL(ipu_enable_irq);
+
+/*!
+ * This function disables the interrupt for the specified interrupt line.
+ * The interrupt lines are defined in \b ipu_irq_line enum.
+ *
+ * @param      ipu             ipu handler
+ * @param       irq             Interrupt line to disable interrupt for.
+ *
+ */
+void ipu_disable_irq(struct ipu_soc *ipu, uint32_t irq)
+{
+       uint32_t reg;
+       unsigned long lock_flags;
+
+       _ipu_get(ipu);
+
+       spin_lock_irqsave(&ipu->int_reg_spin_lock, lock_flags);
+
+       reg = ipu_cm_read(ipu, IPUIRQ_2_CTRLREG(irq));
+       reg &= ~IPUIRQ_2_MASK(irq);
+       ipu_cm_write(ipu, reg, IPUIRQ_2_CTRLREG(irq));
+
+       spin_unlock_irqrestore(&ipu->int_reg_spin_lock, lock_flags);
+
+       _ipu_put(ipu);
+}
+EXPORT_SYMBOL(ipu_disable_irq);
+
+/*!
+ * This function clears the interrupt for the specified interrupt line.
+ * The interrupt lines are defined in \b ipu_irq_line enum.
+ *
+ * @param      ipu             ipu handler
+ * @param       irq             Interrupt line to clear interrupt for.
+ *
+ */
+void ipu_clear_irq(struct ipu_soc *ipu, uint32_t irq)
+{
+       unsigned long lock_flags;
+
+       _ipu_get(ipu);
+
+       spin_lock_irqsave(&ipu->int_reg_spin_lock, lock_flags);
+
+       ipu_cm_write(ipu, IPUIRQ_2_MASK(irq), IPUIRQ_2_STATREG(irq));
+
+       spin_unlock_irqrestore(&ipu->int_reg_spin_lock, lock_flags);
+
+       _ipu_put(ipu);
+}
+EXPORT_SYMBOL(ipu_clear_irq);
+
+/*!
+ * This function returns the current interrupt status for the specified
+ * interrupt line. The interrupt lines are defined in \b ipu_irq_line enum.
+ *
+ * @param      ipu             ipu handler
+ * @param       irq             Interrupt line to get status for.
+ *
+ * @return      Returns true if the interrupt is pending/asserted or false if
+ *              the interrupt is not pending.
+ */
+bool ipu_get_irq_status(struct ipu_soc *ipu, uint32_t irq)
+{
+       uint32_t reg;
+       unsigned long lock_flags;
+
+       _ipu_get(ipu);
+
+       spin_lock_irqsave(&ipu->int_reg_spin_lock, lock_flags);
+       reg = ipu_cm_read(ipu, IPUIRQ_2_STATREG(irq));
+       spin_unlock_irqrestore(&ipu->int_reg_spin_lock, lock_flags);
+
+       _ipu_put(ipu);
+
+       if (reg & IPUIRQ_2_MASK(irq))
+               return true;
+       else
+               return false;
+}
+EXPORT_SYMBOL(ipu_get_irq_status);
+
+/*!
+ * This function registers an interrupt handler function for the specified
+ * interrupt line. The interrupt lines are defined in \b ipu_irq_line enum.
+ *
+ * @param      ipu             ipu handler
+ * @param       irq             Interrupt line to get status for.
+ *
+ * @param       handler         Input parameter for address of the handler
+ *                              function.
+ *
+ * @param       irq_flags       Flags for interrupt mode. Currently not used.
+ *
+ * @param       devname         Input parameter for string name of driver
+ *                              registering the handler.
+ *
+ * @param       dev_id          Input parameter for pointer of data to be
+ *                              passed to the handler.
+ *
+ * @return      This function returns 0 on success or negative error code on
+ *              fail.
+ */
+int ipu_request_irq(struct ipu_soc *ipu, uint32_t irq,
+                   irqreturn_t(*handler) (int, void *),
+                   uint32_t irq_flags, const char *devname, void *dev_id)
+{
+       uint32_t reg;
+       unsigned long lock_flags;
+       int ret = 0;
+
+       BUG_ON(irq >= IPU_IRQ_COUNT);
+
+       _ipu_get(ipu);
+
+       spin_lock_irqsave(&ipu->int_reg_spin_lock, lock_flags);
+
+       if (ipu->irq_list[irq].handler != NULL) {
+               dev_err(ipu->dev,
+                       "handler already installed on irq %d\n", irq);
+               ret = -EINVAL;
+               goto out;
+       }
+
+       /*
+        * Check sync interrupt handler only, since we do nothing for
+        * error interrupts but than print out register values in the
+        * error interrupt source handler.
+        */
+       if (_ipu_is_sync_irq(irq) && (handler == NULL)) {
+               dev_err(ipu->dev, "handler is NULL for sync irq %d\n", irq);
+               ret = -EINVAL;
+               goto out;
+       }
+
+       ipu->irq_list[irq].handler = handler;
+       ipu->irq_list[irq].flags = irq_flags;
+       ipu->irq_list[irq].dev_id = dev_id;
+       ipu->irq_list[irq].name = devname;
+
+       /* clear irq stat for previous use */
+       ipu_cm_write(ipu, IPUIRQ_2_MASK(irq), IPUIRQ_2_STATREG(irq));
+       /* enable the interrupt */
+       reg = ipu_cm_read(ipu, IPUIRQ_2_CTRLREG(irq));
+       reg |= IPUIRQ_2_MASK(irq);
+       ipu_cm_write(ipu, reg, IPUIRQ_2_CTRLREG(irq));
+out:
+       spin_unlock_irqrestore(&ipu->int_reg_spin_lock, lock_flags);
+
+       _ipu_put(ipu);
+
+       return ret;
+}
+EXPORT_SYMBOL(ipu_request_irq);
+
+/*!
+ * This function unregisters an interrupt handler for the specified interrupt
+ * line. The interrupt lines are defined in \b ipu_irq_line enum.
+ *
+ * @param      ipu             ipu handler
+ * @param       irq             Interrupt line to get status for.
+ *
+ * @param       dev_id          Input parameter for pointer of data to be passed
+ *                              to the handler. This must match value passed to
+ *                              ipu_request_irq().
+ *
+ */
+void ipu_free_irq(struct ipu_soc *ipu, uint32_t irq, void *dev_id)
+{
+       uint32_t reg;
+       unsigned long lock_flags;
+
+       _ipu_get(ipu);
+
+       spin_lock_irqsave(&ipu->int_reg_spin_lock, lock_flags);
+
+       /* disable the interrupt */
+       reg = ipu_cm_read(ipu, IPUIRQ_2_CTRLREG(irq));
+       reg &= ~IPUIRQ_2_MASK(irq);
+       ipu_cm_write(ipu, reg, IPUIRQ_2_CTRLREG(irq));
+       if (ipu->irq_list[irq].dev_id == dev_id)
+               memset(&ipu->irq_list[irq], 0, sizeof(ipu->irq_list[irq]));
+
+       spin_unlock_irqrestore(&ipu->int_reg_spin_lock, lock_flags);
+
+       _ipu_put(ipu);
+}
+EXPORT_SYMBOL(ipu_free_irq);
+
+uint32_t ipu_get_cur_buffer_idx(struct ipu_soc *ipu, ipu_channel_t channel, ipu_buffer_t type)
+{
+       uint32_t reg, dma_chan;
+
+       dma_chan = channel_2_dma(channel, type);
+       if (!idma_is_valid(dma_chan))
+               return -EINVAL;
+
+       reg = ipu_cm_read(ipu, IPU_CHA_TRB_MODE_SEL(dma_chan));
+       if ((reg & idma_mask(dma_chan)) && _ipu_is_trb_chan(dma_chan)) {
+               reg = ipu_cm_read(ipu, IPU_CHA_TRIPLE_CUR_BUF(dma_chan));
+               return (reg & tri_cur_buf_mask(dma_chan)) >>
+                               tri_cur_buf_shift(dma_chan);
+       } else {
+               reg = ipu_cm_read(ipu, IPU_CHA_CUR_BUF(dma_chan));
+               if (reg & idma_mask(dma_chan))
+                       return 1;
+               else
+                       return 0;
+       }
+}
+EXPORT_SYMBOL(ipu_get_cur_buffer_idx);
+
+uint32_t _ipu_channel_status(struct ipu_soc *ipu, ipu_channel_t channel)
+{
+       uint32_t stat = 0;
+       uint32_t task_stat_reg = ipu_cm_read(ipu, IPU_PROC_TASK_STAT);
+
+       switch (channel) {
+       case MEM_PRP_VF_MEM:
+               stat = (task_stat_reg & TSTAT_VF_MASK) >> TSTAT_VF_OFFSET;
+               break;
+       case MEM_VDI_PRP_VF_MEM:
+               stat = (task_stat_reg & TSTAT_VF_MASK) >> TSTAT_VF_OFFSET;
+               break;
+       case MEM_ROT_VF_MEM:
+               stat =
+                   (task_stat_reg & TSTAT_VF_ROT_MASK) >> TSTAT_VF_ROT_OFFSET;
+               break;
+       case MEM_PRP_ENC_MEM:
+               stat = (task_stat_reg & TSTAT_ENC_MASK) >> TSTAT_ENC_OFFSET;
+               break;
+       case MEM_ROT_ENC_MEM:
+               stat =
+                   (task_stat_reg & TSTAT_ENC_ROT_MASK) >>
+                   TSTAT_ENC_ROT_OFFSET;
+               break;
+       case MEM_PP_MEM:
+               stat = (task_stat_reg & TSTAT_PP_MASK) >> TSTAT_PP_OFFSET;
+               break;
+       case MEM_ROT_PP_MEM:
+               stat =
+                   (task_stat_reg & TSTAT_PP_ROT_MASK) >> TSTAT_PP_ROT_OFFSET;
+               break;
+
+       default:
+               stat = TASK_STAT_IDLE;
+               break;
+       }
+       return stat;
+}
+
+/*!
+ * This function check for  a logical channel status
+ *
+ * @param      ipu             ipu handler
+ * @param      channel         Input parameter for the logical channel ID.
+ *
+ * @return      This function returns 0 on idle and 1 on busy.
+ *
+ */
+uint32_t ipu_channel_status(struct ipu_soc *ipu, ipu_channel_t channel)
+{
+       uint32_t dma_status;
+
+       _ipu_get(ipu);
+       mutex_lock(&ipu->mutex_lock);
+       dma_status = ipu_is_channel_busy(ipu, channel);
+       mutex_unlock(&ipu->mutex_lock);
+       _ipu_put(ipu);
+
+       dev_dbg(ipu->dev, "%s, dma_status:%d.\n", __func__, dma_status);
+
+       return dma_status;
+}
+EXPORT_SYMBOL(ipu_channel_status);
+
+int32_t ipu_swap_channel(struct ipu_soc *ipu, ipu_channel_t from_ch, ipu_channel_t to_ch)
+{
+       uint32_t reg;
+       unsigned long lock_flags;
+       int from_dma = channel_2_dma(from_ch, IPU_INPUT_BUFFER);
+       int to_dma = channel_2_dma(to_ch, IPU_INPUT_BUFFER);
+
+       mutex_lock(&ipu->mutex_lock);
+
+       /* enable target channel */
+       reg = ipu_idmac_read(ipu, IDMAC_CHA_EN(to_dma));
+       ipu_idmac_write(ipu, reg | idma_mask(to_dma), IDMAC_CHA_EN(to_dma));
+
+       ipu->channel_enable_mask |= 1L << IPU_CHAN_ID(to_ch);
+
+       /* switch dp dc */
+       _ipu_dp_dc_disable(ipu, from_ch, true);
+
+       /* disable source channel */
+       reg = ipu_idmac_read(ipu, IDMAC_CHA_EN(from_dma));
+       ipu_idmac_write(ipu, reg & ~idma_mask(from_dma), IDMAC_CHA_EN(from_dma));
+       ipu_cm_write(ipu, idma_mask(from_dma), IPU_CHA_CUR_BUF(from_dma));
+       ipu_cm_write(ipu, tri_cur_buf_mask(from_dma),
+                               IPU_CHA_TRIPLE_CUR_BUF(from_dma));
+
+       ipu->channel_enable_mask &= ~(1L << IPU_CHAN_ID(from_ch));
+
+       spin_lock_irqsave(&ipu->rdy_reg_spin_lock, lock_flags);
+       _ipu_clear_buffer_ready(ipu, from_ch, IPU_VIDEO_IN_BUFFER, 0);
+       _ipu_clear_buffer_ready(ipu, from_ch, IPU_VIDEO_IN_BUFFER, 1);
+       _ipu_clear_buffer_ready(ipu, from_ch, IPU_VIDEO_IN_BUFFER, 2);
+       spin_unlock_irqrestore(&ipu->rdy_reg_spin_lock, lock_flags);
+
+       mutex_unlock(&ipu->mutex_lock);
+
+       return 0;
+}
+EXPORT_SYMBOL(ipu_swap_channel);
+
+uint32_t bytes_per_pixel(uint32_t fmt)
+{
+       switch (fmt) {
+       case IPU_PIX_FMT_GENERIC:       /*generic data */
+       case IPU_PIX_FMT_RGB332:
+       case IPU_PIX_FMT_YUV420P:
+       case IPU_PIX_FMT_YVU420P:
+       case IPU_PIX_FMT_YUV422P:
+       case IPU_PIX_FMT_YUV444P:
+               return 1;
+               break;
+       case IPU_PIX_FMT_GENERIC_16:    /* generic data */
+       case IPU_PIX_FMT_RGB565:
+       case IPU_PIX_FMT_YUYV:
+       case IPU_PIX_FMT_UYVY:
+               return 2;
+               break;
+       case IPU_PIX_FMT_BGR24:
+       case IPU_PIX_FMT_RGB24:
+       case IPU_PIX_FMT_YUV444:
+               return 3;
+               break;
+       case IPU_PIX_FMT_GENERIC_32:    /*generic data */
+       case IPU_PIX_FMT_BGR32:
+       case IPU_PIX_FMT_BGRA32:
+       case IPU_PIX_FMT_RGB32:
+       case IPU_PIX_FMT_RGBA32:
+       case IPU_PIX_FMT_ABGR32:
+               return 4;
+               break;
+       default:
+               return 1;
+               break;
+       }
+       return 0;
+}
+EXPORT_SYMBOL(bytes_per_pixel);
+
+ipu_color_space_t format_to_colorspace(uint32_t fmt)
+{
+       switch (fmt) {
+       case IPU_PIX_FMT_RGB666:
+       case IPU_PIX_FMT_RGB565:
+       case IPU_PIX_FMT_BGR24:
+       case IPU_PIX_FMT_RGB24:
+       case IPU_PIX_FMT_GBR24:
+       case IPU_PIX_FMT_BGR32:
+       case IPU_PIX_FMT_BGRA32:
+       case IPU_PIX_FMT_RGB32:
+       case IPU_PIX_FMT_RGBA32:
+       case IPU_PIX_FMT_ABGR32:
+       case IPU_PIX_FMT_LVDS666:
+       case IPU_PIX_FMT_LVDS888:
+               return RGB;
+               break;
+
+       default:
+               return YCbCr;
+               break;
+       }
+       return RGB;
+}
+
+bool ipu_pixel_format_has_alpha(uint32_t fmt)
+{
+       switch (fmt) {
+       case IPU_PIX_FMT_RGBA32:
+       case IPU_PIX_FMT_BGRA32:
+       case IPU_PIX_FMT_ABGR32:
+               return true;
+               break;
+       default:
+               return false;
+               break;
+       }
+       return false;
+}
+
+bool ipu_ch_param_bad_alpha_pos(uint32_t pixel_fmt)
+{
+       return _ipu_ch_param_bad_alpha_pos(pixel_fmt);
+}
+EXPORT_SYMBOL(ipu_ch_param_bad_alpha_pos);
+
+#ifdef CONFIG_PM
+static int ipu_suspend(struct device *dev)
+{
+       struct ipu_soc *ipu = dev_get_drvdata(dev);
+
+       /* All IDMAC channel and IPU clock should be disabled.*/
+       if (ipu->pdata->pg)
+               ipu->pdata->pg(1);
+
+       dev_dbg(dev, "ipu suspend.\n");
+       return 0;
+}
+
+static int ipu_resume(struct device *dev)
+{
+       struct ipu_soc *ipu = dev_get_drvdata(dev);
+
+       if (ipu->pdata->pg) {
+               ipu->pdata->pg(0);
+
+               _ipu_get(ipu);
+               _ipu_dmfc_init(ipu, dmfc_type_setup, 1);
+               /* Set sync refresh channels as high priority */
+               ipu_idmac_write(ipu, 0x18800001L, IDMAC_CHA_PRI(0));
+               _ipu_put(ipu);
+       }
+       dev_dbg(dev, "ipu resume.\n");
+       return 0;
+}
+
+int ipu_runtime_suspend(struct device *dev)
+{
+#if 0
+       release_bus_freq(BUS_FREQ_HIGH);
+       dev_dbg(dev, "ipu busfreq high release.\n");
+#endif
+       return 0;
+}
+
+int ipu_runtime_resume(struct device *dev)
+{
+#if 0
+       request_bus_freq(BUS_FREQ_HIGH);
+       dev_dbg(dev, "ipu busfreq high requst.\n");
+#endif
+       return 0;
+}
+
+static const struct dev_pm_ops ipu_pm_ops = {
+       SET_RUNTIME_PM_OPS(ipu_runtime_suspend, ipu_runtime_resume, NULL)
+       SET_SYSTEM_SLEEP_PM_OPS(ipu_suspend, ipu_resume)
+};
+#endif
+
+/*!
+ * This structure contains pointers to the power management callback functions.
+ */
+static struct platform_driver mxcipu_driver = {
+       .driver = {
+                       .name           = "imx-ipuv3",
+                       .of_match_table = imx_ipuv3_dt_ids,
+               #ifdef CONFIG_PM
+                       .pm     = &ipu_pm_ops,
+               #endif
+       },
+       .probe          = ipu_probe,
+       .id_table       = imx_ipu_type,
+       .remove         = ipu_remove,
+};
+
+int32_t __init ipu_gen_init(void)
+{
+       int32_t ret;
+
+       ret = platform_driver_register(&mxcipu_driver);
+       return 0;
+}
+
+subsys_initcall(ipu_gen_init);
+
+static void __exit ipu_gen_uninit(void)
+{
+       platform_driver_unregister(&mxcipu_driver);
+}
+
+module_exit(ipu_gen_uninit);
diff --git a/drivers/mxc/ipu3/ipu_device.c b/drivers/mxc/ipu3/ipu_device.c
new file mode 100644 (file)
index 0000000..f1f6ad1
--- /dev/null
@@ -0,0 +1,3717 @@
+/*
+ * Copyright 2005-2014 Freescale Semiconductor, Inc. All Rights Reserved.
+ */
+
+/*
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/*!
+ * @file ipu_device.c
+ *
+ * @brief This file contains the IPUv3 driver device interface and fops functions.
+ *
+ * @ingroup IPU
+ */
+#include <linux/clk.h>
+#include <linux/cpumask.h>
+#include <linux/delay.h>
+#include <linux/dma-mapping.h>
+#include <linux/err.h>
+#include <linux/init.h>
+#include <linux/io.h>
+#include <linux/ipu-v3.h>
+#include <linux/kernel.h>
+#include <linux/kthread.h>
+#include <linux/module.h>
+#include <linux/platform_device.h>
+#include <linux/poll.h>
+#include <linux/sched.h>
+#include <linux/sched/rt.h>
+#include <linux/slab.h>
+#include <linux/spinlock.h>
+#include <linux/time.h>
+#include <linux/types.h>
+#include <linux/vmalloc.h>
+#include <linux/wait.h>
+
+#include <asm/cacheflush.h>
+#include <asm/outercache.h>
+
+#include "ipu_param_mem.h"
+#include "ipu_regs.h"
+#include "vdoa.h"
+
+#define CHECK_RETCODE(cont, str, err, label, ret)                      \
+do {                                                                   \
+       if (cont) {                                                     \
+               dev_err(t->dev, "ERR:[0x%p]-no:0x%x "#str" ret:%d,"     \
+                               "line:%d\n", t, t->task_no, ret, __LINE__);\
+               if (ret != -EACCES) {                                   \
+                       t->state = err;                                 \
+                       goto label;                                     \
+               }                                                       \
+       }                                                               \
+} while (0)
+
+#define CHECK_RETCODE_CONT(cont, str, err, ret)                                \
+do {                                                                   \
+       if (cont) {                                                     \
+               dev_err(t->dev, "ERR:[0x%p]-no:0x%x"#str" ret:%d,"      \
+                               "line:%d\n", t, t->task_no, ret, __LINE__);\
+               if (ret != -EACCES) {                                   \
+                       if (t->state == STATE_OK)                       \
+                               t->state = err;                         \
+               }                                                       \
+       }                                                               \
+} while (0)
+
+#undef DBG_IPU_PERF
+#ifdef DBG_IPU_PERF
+#define CHECK_PERF(ts)                                                 \
+do {                                                                   \
+       getnstimeofday(ts);                                             \
+} while (0)
+
+#define DECLARE_PERF_VAR                                               \
+       struct timespec ts_queue;                                       \
+       struct timespec ts_dotask;                                      \
+       struct timespec ts_waitirq;                                     \
+       struct timespec ts_sche;                                        \
+       struct timespec ts_rel;                                         \
+       struct timespec ts_frame
+
+#define PRINT_TASK_STATISTICS                                          \
+do {                                                                   \
+       ts_queue = timespec_sub(tsk->ts_dotask, tsk->ts_queue);         \
+       ts_dotask = timespec_sub(tsk->ts_waitirq, tsk->ts_dotask);      \
+       ts_waitirq = timespec_sub(tsk->ts_inirq, tsk->ts_waitirq);      \
+       ts_sche = timespec_sub(tsk->ts_wakeup, tsk->ts_inirq);          \
+       ts_rel = timespec_sub(tsk->ts_rel, tsk->ts_wakeup);             \
+       ts_frame = timespec_sub(tsk->ts_rel, tsk->ts_queue);            \
+       dev_dbg(tsk->dev, "[0x%p] no-0x%x, ts_q:%ldus, ts_do:%ldus,"    \
+               "ts_waitirq:%ldus,ts_sche:%ldus, ts_rel:%ldus,"         \
+               "ts_frame: %ldus\n", tsk, tsk->task_no,                 \
+       ts_queue.tv_nsec / NSEC_PER_USEC + ts_queue.tv_sec * USEC_PER_SEC,\
+       ts_dotask.tv_nsec / NSEC_PER_USEC + ts_dotask.tv_sec * USEC_PER_SEC,\
+       ts_waitirq.tv_nsec / NSEC_PER_USEC + ts_waitirq.tv_sec * USEC_PER_SEC,\
+       ts_sche.tv_nsec / NSEC_PER_USEC + ts_sche.tv_sec * USEC_PER_SEC,\
+       ts_rel.tv_nsec / NSEC_PER_USEC + ts_rel.tv_sec * USEC_PER_SEC,\
+       ts_frame.tv_nsec / NSEC_PER_USEC + ts_frame.tv_sec * USEC_PER_SEC); \
+       if ((ts_frame.tv_nsec/NSEC_PER_USEC + ts_frame.tv_sec*USEC_PER_SEC) > \
+               80000)  \
+               dev_dbg(tsk->dev, "ts_frame larger than 80ms [0x%p] no-0x%x.\n"\
+                               , tsk, tsk->task_no);   \
+} while (0)
+#else
+#define CHECK_PERF(ts)
+#define DECLARE_PERF_VAR
+#define PRINT_TASK_STATISTICS
+#endif
+
+#define        IPU_PP_CH_VF    (IPU_TASK_ID_VF - 1)
+#define        IPU_PP_CH_PP    (IPU_TASK_ID_PP - 1)
+#define MAX_PP_CH      (IPU_TASK_ID_MAX - 1)
+#define VDOA_DEF_TIMEOUT_MS    (HZ/2)
+
+/* Strucutures and variables for exporting MXC IPU as device*/
+typedef enum {
+       STATE_OK = 0,
+       STATE_QUEUE,
+       STATE_IN_PROGRESS,
+       STATE_ERR,
+       STATE_TIMEOUT,
+       STATE_RES_TIMEOUT,
+       STATE_NO_IPU,
+       STATE_NO_IRQ,
+       STATE_IPU_BUSY,
+       STATE_IRQ_FAIL,
+       STATE_IRQ_TIMEOUT,
+       STATE_ENABLE_CHAN_FAIL,
+       STATE_DISABLE_CHAN_FAIL,
+       STATE_SEL_BUF_FAIL,
+       STATE_INIT_CHAN_FAIL,
+       STATE_LINK_CHAN_FAIL,
+       STATE_UNLINK_CHAN_FAIL,
+       STATE_INIT_CHAN_BUF_FAIL,
+       STATE_INIT_CHAN_BAND_FAIL,
+       STATE_SYS_NO_MEM,
+       STATE_VDOA_IRQ_TIMEOUT,
+       STATE_VDOA_IRQ_FAIL,
+       STATE_VDOA_TASK_FAIL,
+} ipu_state_t;
+
+enum {
+       INPUT_CHAN_VDI_P = 1,
+       INPUT_CHAN,
+       INPUT_CHAN_VDI_N,
+};
+
+struct ipu_state_msg {
+       int state;
+       char *msg;
+} state_msg[] = {
+       {STATE_OK, "ok"},
+       {STATE_QUEUE, "split queue"},
+       {STATE_IN_PROGRESS, "split in progress"},
+       {STATE_ERR, "error"},
+       {STATE_TIMEOUT, "split task timeout"},
+       {STATE_RES_TIMEOUT, "wait resource timeout"},
+       {STATE_NO_IPU, "no ipu found"},
+       {STATE_NO_IRQ, "no irq found for task"},
+       {STATE_IPU_BUSY, "ipu busy"},
+       {STATE_IRQ_FAIL, "request irq failed"},
+       {STATE_IRQ_TIMEOUT, "wait for irq timeout"},
+       {STATE_ENABLE_CHAN_FAIL, "ipu enable channel fail"},
+       {STATE_DISABLE_CHAN_FAIL, "ipu disable channel fail"},
+       {STATE_SEL_BUF_FAIL, "ipu select buf fail"},
+       {STATE_INIT_CHAN_FAIL, "ipu init channel fail"},
+       {STATE_LINK_CHAN_FAIL, "ipu link channel fail"},
+       {STATE_UNLINK_CHAN_FAIL, "ipu unlink channel fail"},
+       {STATE_INIT_CHAN_BUF_FAIL, "ipu init channel buffer fail"},
+       {STATE_INIT_CHAN_BAND_FAIL, "ipu init channel band mode fail"},
+       {STATE_SYS_NO_MEM, "sys no mem: -ENOMEM"},
+       {STATE_VDOA_IRQ_TIMEOUT, "wait for vdoa irq timeout"},
+       {STATE_VDOA_IRQ_FAIL, "vdoa irq fail"},
+       {STATE_VDOA_TASK_FAIL, "vdoa task fail"},
+};
+
+struct stripe_setting {
+       u32 iw;
+       u32 ih;
+       u32 ow;
+       u32 oh;
+       u32 outh_resize_ratio;
+       u32 outv_resize_ratio;
+       u32 i_left_pos;
+       u32 i_right_pos;
+       u32 i_top_pos;
+       u32 i_bottom_pos;
+       u32 o_left_pos;
+       u32 o_right_pos;
+       u32 o_top_pos;
+       u32 o_bottom_pos;
+       u32 rl_split_line;
+       u32 ud_split_line;
+};
+
+struct task_set {
+#define        NULL_MODE       0x0
+#define        IC_MODE         0x1
+#define        ROT_MODE        0x2
+#define        VDI_MODE        0x4
+#define IPU_PREPROCESS_MODE_MASK       (IC_MODE | ROT_MODE | VDI_MODE)
+/* VDOA_MODE means this task use vdoa, and VDOA has two modes:
+ * BAND MODE and non-BAND MODE. Non-band mode will do transfer data
+ * to memory. BAND mode needs hareware sync with IPU, it is used default
+ * if connected to VDIC.
+ */
+#define        VDOA_MODE       0x8
+#define        VDOA_BAND_MODE  0x10
+       u8      mode;
+#define IC_VF  0x1
+#define IC_PP  0x2
+#define ROT_VF 0x4
+#define ROT_PP 0x8
+#define VDI_VF 0x10
+#define        VDOA_ONLY       0x20
+       u8      task;
+#define NO_SPLIT       0x0
+#define RL_SPLIT       0x1
+#define UD_SPLIT       0x2
+#define LEFT_STRIPE    0x1
+#define RIGHT_STRIPE   0x2
+#define UP_STRIPE      0x4
+#define DOWN_STRIPE    0x8
+#define SPLIT_MASK     0xF
+       u8      split_mode;
+       u8      band_lines;
+       ipu_channel_t ic_chan;
+       ipu_channel_t rot_chan;
+       ipu_channel_t vdi_ic_p_chan;
+       ipu_channel_t vdi_ic_n_chan;
+
+       u32 i_off;
+       u32 i_uoff;
+       u32 i_voff;
+       u32 istride;
+
+       u32 ov_off;
+       u32 ov_uoff;
+       u32 ov_voff;
+       u32 ovstride;
+
+       u32 ov_alpha_off;
+       u32 ov_alpha_stride;
+
+       u32 o_off;
+       u32 o_uoff;
+       u32 o_voff;
+       u32 ostride;
+
+       u32 r_fmt;
+       u32 r_width;
+       u32 r_height;
+       u32 r_stride;
+       dma_addr_t r_paddr;
+
+       struct stripe_setting sp_setting;
+};
+
+struct ipu_split_task {
+       struct ipu_task task;
+       struct ipu_task_entry *parent_task;
+       struct ipu_task_entry *child_task;
+       u32 task_no;
+};
+
+struct ipu_task_entry {
+       struct ipu_input input;
+       struct ipu_output output;
+
+       bool overlay_en;
+       struct ipu_overlay overlay;
+#define DEF_TIMEOUT_MS 1000
+#define DEF_DELAY_MS 20
+       int     timeout;
+       int     irq;
+
+       u8      task_id;
+       u8      ipu_id;
+       u8      task_in_list;
+       u8      split_done;
+       struct mutex split_lock;
+       struct mutex vdic_lock;
+       wait_queue_head_t split_waitq;
+
+       struct list_head node;
+       struct list_head split_list;
+       struct ipu_soc *ipu;
+       struct device *dev;
+       struct task_set set;
+       wait_queue_head_t task_waitq;
+       struct completion irq_comp;
+       struct kref refcount;
+       ipu_state_t state;
+       u32 task_no;
+       atomic_t done;
+       atomic_t res_free;
+       atomic_t res_get;
+
+       struct ipu_task_entry *parent;
+       char *vditmpbuf[2];
+       u32 old_save_lines;
+       u32 old_size;
+       bool buf1filled;
+       bool buf0filled;
+
+       vdoa_handle_t vdoa_handle;
+       struct vdoa_output_mem {
+               void *vaddr;
+               dma_addr_t paddr;
+               int size;
+       } vdoa_dma;
+
+#ifdef DBG_IPU_PERF
+       struct timespec ts_queue;
+       struct timespec ts_dotask;
+       struct timespec ts_waitirq;
+       struct timespec ts_inirq;
+       struct timespec ts_wakeup;
+       struct timespec ts_rel;
+#endif
+};
+
+struct ipu_channel_tabel {
+       struct mutex    lock;
+       u8              used[MXC_IPU_MAX_NUM][MAX_PP_CH];
+       u8              vdoa_used;
+};
+
+struct ipu_thread_data {
+       struct ipu_soc *ipu;
+       u32     id;
+       u32     is_vdoa;
+};
+
+struct ipu_alloc_list {
+       struct list_head list;
+       dma_addr_t phy_addr;
+       void *cpu_addr;
+       u32 size;
+       void *file_index;
+};
+
+static LIST_HEAD(ipu_alloc_list);
+static DEFINE_MUTEX(ipu_alloc_lock);
+static struct ipu_channel_tabel        ipu_ch_tbl;
+static LIST_HEAD(ipu_task_list);
+static DEFINE_SPINLOCK(ipu_task_list_lock);
+static DECLARE_WAIT_QUEUE_HEAD(thread_waitq);
+static DECLARE_WAIT_QUEUE_HEAD(res_waitq);
+static atomic_t req_cnt;
+static atomic_t file_index = ATOMIC_INIT(1);
+static int major;
+static int max_ipu_no;
+static int thread_id;
+static atomic_t frame_no;
+static struct class *ipu_class;
+static struct device *ipu_dev;
+static int debug;
+module_param(debug, int, 0600);
+#ifdef DBG_IPU_PERF
+static struct timespec ts_frame_max;
+static u32 ts_frame_avg;
+static atomic_t frame_cnt;
+#endif
+
+static bool deinterlace_3_field(struct ipu_task_entry *t)
+{
+       return ((t->set.mode & VDI_MODE) &&
+               (t->input.deinterlace.motion != HIGH_MOTION));
+}
+
+static u32 tiled_filed_size(struct ipu_task_entry *t)
+{
+       u32 field_size;
+
+       /* note: page_align is required by VPU hw ouput buffer */
+       field_size = TILED_NV12_FRAME_SIZE(t->input.width, t->input.height/2);
+       return field_size;
+}
+
+static bool only_ic(u8 mode)
+{
+       mode = mode & IPU_PREPROCESS_MODE_MASK;
+       return ((mode == IC_MODE) || (mode == VDI_MODE));
+}
+
+static bool only_rot(u8 mode)
+{
+       mode = mode & IPU_PREPROCESS_MODE_MASK;
+       return (mode == ROT_MODE);
+}
+
+static bool ic_and_rot(u8 mode)
+{
+       mode = mode & IPU_PREPROCESS_MODE_MASK;
+       return ((mode == (IC_MODE | ROT_MODE)) ||
+                (mode == (VDI_MODE | ROT_MODE)));
+}
+
+static bool need_split(struct ipu_task_entry *t)
+{
+       return ((t->set.split_mode != NO_SPLIT) || (t->task_no & SPLIT_MASK));
+}
+
+unsigned int fmt_to_bpp(unsigned int pixelformat)
+{
+       u32 bpp;
+
+       switch (pixelformat) {
+       case IPU_PIX_FMT_RGB565:
+       /*interleaved 422*/
+       case IPU_PIX_FMT_YUYV:
+       case IPU_PIX_FMT_UYVY:
+       /*non-interleaved 422*/
+       case IPU_PIX_FMT_YUV422P:
+       case IPU_PIX_FMT_YVU422P:
+               bpp = 16;
+               break;
+       case IPU_PIX_FMT_BGR24:
+       case IPU_PIX_FMT_RGB24:
+       case IPU_PIX_FMT_YUV444:
+       case IPU_PIX_FMT_YUV444P:
+               bpp = 24;
+               break;
+       case IPU_PIX_FMT_BGR32:
+       case IPU_PIX_FMT_BGRA32:
+       case IPU_PIX_FMT_RGB32:
+       case IPU_PIX_FMT_RGBA32:
+       case IPU_PIX_FMT_ABGR32:
+               bpp = 32;
+               break;
+       /*non-interleaved 420*/
+       case IPU_PIX_FMT_YUV420P:
+       case IPU_PIX_FMT_YVU420P:
+       case IPU_PIX_FMT_YUV420P2:
+       case IPU_PIX_FMT_NV12:
+               bpp = 12;
+               break;
+       default:
+               bpp = 8;
+               break;
+       }
+       return bpp;
+}
+EXPORT_SYMBOL_GPL(fmt_to_bpp);
+
+cs_t colorspaceofpixel(int fmt)
+{
+       switch (fmt) {
+       case IPU_PIX_FMT_RGB565:
+       case IPU_PIX_FMT_BGR24:
+       case IPU_PIX_FMT_RGB24:
+       case IPU_PIX_FMT_BGRA32:
+       case IPU_PIX_FMT_BGR32:
+       case IPU_PIX_FMT_RGBA32:
+       case IPU_PIX_FMT_RGB32:
+       case IPU_PIX_FMT_ABGR32:
+               return RGB_CS;
+               break;
+       case IPU_PIX_FMT_UYVY:
+       case IPU_PIX_FMT_YUYV:
+       case IPU_PIX_FMT_YUV420P2:
+       case IPU_PIX_FMT_YUV420P:
+       case IPU_PIX_FMT_YVU420P:
+       case IPU_PIX_FMT_YVU422P:
+       case IPU_PIX_FMT_YUV422P:
+       case IPU_PIX_FMT_YUV444:
+       case IPU_PIX_FMT_YUV444P:
+       case IPU_PIX_FMT_NV12:
+       case IPU_PIX_FMT_TILED_NV12:
+       case IPU_PIX_FMT_TILED_NV12F:
+               return YUV_CS;
+               break;
+       default:
+               return NULL_CS;
+       }
+}
+EXPORT_SYMBOL_GPL(colorspaceofpixel);
+
+int need_csc(int ifmt, int ofmt)
+{
+       cs_t ics, ocs;
+
+       ics = colorspaceofpixel(ifmt);
+       ocs = colorspaceofpixel(ofmt);
+
+       if ((ics == NULL_CS) || (ocs == NULL_CS))
+               return -1;
+       else if (ics != ocs)
+               return 1;
+
+       return 0;
+}
+EXPORT_SYMBOL_GPL(need_csc);
+
+static int soc_max_in_width(u32 is_vdoa)
+{
+       return is_vdoa ? 8192 : 4096;
+}
+
+static int soc_max_vdi_in_width(void)
+{
+       return IPU_MAX_VDI_IN_WIDTH;
+}
+static int soc_max_in_height(void)
+{
+       return 4096;
+}
+
+static int soc_max_out_width(void)
+{
+       /* mx51/mx53/mx6q is 1024*/
+       return 1024;
+}
+
+static int soc_max_out_height(void)
+{
+       /* mx51/mx53/mx6q is 1024*/
+       return 1024;
+}
+
+static void dump_task_info(struct ipu_task_entry *t)
+{
+       if (!debug)
+               return;
+       dev_dbg(t->dev, "[0x%p]input:\n", (void *)t);
+       dev_dbg(t->dev, "[0x%p]\tformat = 0x%x\n", (void *)t, t->input.format);
+       dev_dbg(t->dev, "[0x%p]\twidth = %d\n", (void *)t, t->input.width);
+       dev_dbg(t->dev, "[0x%p]\theight = %d\n", (void *)t, t->input.height);
+       dev_dbg(t->dev, "[0x%p]\tcrop.w = %d\n", (void *)t, t->input.crop.w);
+       dev_dbg(t->dev, "[0x%p]\tcrop.h = %d\n", (void *)t, t->input.crop.h);
+       dev_dbg(t->dev, "[0x%p]\tcrop.pos.x = %d\n",
+                       (void *)t, t->input.crop.pos.x);
+       dev_dbg(t->dev, "[0x%p]\tcrop.pos.y = %d\n",
+                       (void *)t, t->input.crop.pos.y);
+       dev_dbg(t->dev, "[0x%p]input buffer:\n", (void *)t);
+       dev_dbg(t->dev, "[0x%p]\tpaddr = 0x%x\n", (void *)t, t->input.paddr);
+       dev_dbg(t->dev, "[0x%p]\ti_off = 0x%x\n", (void *)t, t->set.i_off);
+       dev_dbg(t->dev, "[0x%p]\ti_uoff = 0x%x\n", (void *)t, t->set.i_uoff);
+       dev_dbg(t->dev, "[0x%p]\ti_voff = 0x%x\n", (void *)t, t->set.i_voff);
+       dev_dbg(t->dev, "[0x%p]\tistride = %d\n", (void *)t, t->set.istride);
+       if (t->input.deinterlace.enable) {
+               dev_dbg(t->dev, "[0x%p]deinterlace enabled with:\n", (void *)t);
+               if (t->input.deinterlace.motion != HIGH_MOTION) {
+                       dev_dbg(t->dev, "[0x%p]\tlow/medium motion\n", (void *)t);
+                       dev_dbg(t->dev, "[0x%p]\tpaddr_n = 0x%x\n",
+                               (void *)t, t->input.paddr_n);
+               } else
+                       dev_dbg(t->dev, "[0x%p]\thigh motion\n", (void *)t);
+       }
+
+       dev_dbg(t->dev, "[0x%p]output:\n", (void *)t);
+       dev_dbg(t->dev, "[0x%p]\tformat = 0x%x\n", (void *)t, t->output.format);
+       dev_dbg(t->dev, "[0x%p]\twidth = %d\n", (void *)t, t->output.width);
+       dev_dbg(t->dev, "[0x%p]\theight = %d\n", (void *)t, t->output.height);
+       dev_dbg(t->dev, "[0x%p]\tcrop.w = %d\n", (void *)t, t->output.crop.w);
+       dev_dbg(t->dev, "[0x%p]\tcrop.h = %d\n", (void *)t, t->output.crop.h);
+       dev_dbg(t->dev, "[0x%p]\tcrop.pos.x = %d\n",
+                       (void *)t, t->output.crop.pos.x);
+       dev_dbg(t->dev, "[0x%p]\tcrop.pos.y = %d\n",
+                       (void *)t, t->output.crop.pos.y);
+       dev_dbg(t->dev, "[0x%p]\trotate = %d\n", (void *)t, t->output.rotate);
+       dev_dbg(t->dev, "[0x%p]output buffer:\n", (void *)t);
+       dev_dbg(t->dev, "[0x%p]\tpaddr = 0x%x\n", (void *)t, t->output.paddr);
+       dev_dbg(t->dev, "[0x%p]\to_off = 0x%x\n", (void *)t, t->set.o_off);
+       dev_dbg(t->dev, "[0x%p]\to_uoff = 0x%x\n", (void *)t, t->set.o_uoff);
+       dev_dbg(t->dev, "[0x%p]\to_voff = 0x%x\n", (void *)t, t->set.o_voff);
+       dev_dbg(t->dev, "[0x%p]\tostride = %d\n", (void *)t, t->set.ostride);
+
+       if (t->overlay_en) {
+               dev_dbg(t->dev, "[0x%p]overlay:\n", (void *)t);
+               dev_dbg(t->dev, "[0x%p]\tformat = 0x%x\n",
+                               (void *)t, t->overlay.format);
+               dev_dbg(t->dev, "[0x%p]\twidth = %d\n",
+                               (void *)t, t->overlay.width);
+               dev_dbg(t->dev, "[0x%p]\theight = %d\n",
+                               (void *)t, t->overlay.height);
+               dev_dbg(t->dev, "[0x%p]\tcrop.w = %d\n",
+                               (void *)t, t->overlay.crop.w);
+               dev_dbg(t->dev, "[0x%p]\tcrop.h = %d\n",
+                               (void *)t, t->overlay.crop.h);
+               dev_dbg(t->dev, "[0x%p]\tcrop.pos.x = %d\n",
+                               (void *)t, t->overlay.crop.pos.x);
+               dev_dbg(t->dev, "[0x%p]\tcrop.pos.y = %d\n",
+                               (void *)t, t->overlay.crop.pos.y);
+               dev_dbg(t->dev, "[0x%p]overlay buffer:\n", (void *)t);
+               dev_dbg(t->dev, "[0x%p]\tpaddr = 0x%x\n",
+                               (void *)t, t->overlay.paddr);
+               dev_dbg(t->dev, "[0x%p]\tov_off = 0x%x\n",
+                               (void *)t, t->set.ov_off);
+               dev_dbg(t->dev, "[0x%p]\tov_uoff = 0x%x\n",
+                               (void *)t, t->set.ov_uoff);
+               dev_dbg(t->dev, "[0x%p]\tov_voff = 0x%x\n",
+                               (void *)t, t->set.ov_voff);
+               dev_dbg(t->dev, "[0x%p]\tovstride = %d\n",
+                               (void *)t, t->set.ovstride);
+               if (t->overlay.alpha.mode == IPU_ALPHA_MODE_LOCAL) {
+                       dev_dbg(t->dev, "[0x%p]local alpha enabled with:\n",
+                                       (void *)t);
+                       dev_dbg(t->dev, "[0x%p]\tpaddr = 0x%x\n",
+                                       (void *)t, t->overlay.alpha.loc_alp_paddr);
+                       dev_dbg(t->dev, "[0x%p]\tov_alpha_off = 0x%x\n",
+                                       (void *)t, t->set.ov_alpha_off);
+                       dev_dbg(t->dev, "[0x%p]\tov_alpha_stride = %d\n",
+                                       (void *)t, t->set.ov_alpha_stride);
+               } else
+                       dev_dbg(t->dev, "[0x%p]globle alpha enabled with value 0x%x\n",
+                                       (void *)t, t->overlay.alpha.gvalue);
+               if (t->overlay.colorkey.enable)
+                       dev_dbg(t->dev, "[0x%p]colorkey enabled with value 0x%x\n",
+                                       (void *)t, t->overlay.colorkey.value);
+       }
+
+       dev_dbg(t->dev, "[0x%p]want task_id = %d\n", (void *)t, t->task_id);
+       dev_dbg(t->dev, "[0x%p]want task mode is 0x%x\n",
+                               (void *)t, t->set.mode);
+       dev_dbg(t->dev, "[0x%p]\tIC_MODE = 0x%x\n", (void *)t, IC_MODE);
+       dev_dbg(t->dev, "[0x%p]\tROT_MODE = 0x%x\n", (void *)t, ROT_MODE);
+       dev_dbg(t->dev, "[0x%p]\tVDI_MODE = 0x%x\n", (void *)t, VDI_MODE);
+       dev_dbg(t->dev, "[0x%p]\tTask_no = 0x%x\n\n\n", (void *)t, t->task_no);
+}
+
+static void dump_check_err(struct device *dev, int err)
+{
+       switch (err) {
+       case IPU_CHECK_ERR_INPUT_CROP:
+               dev_err(dev, "input crop setting error\n");
+               break;
+       case IPU_CHECK_ERR_OUTPUT_CROP:
+               dev_err(dev, "output crop setting error\n");
+               break;
+       case IPU_CHECK_ERR_OVERLAY_CROP:
+               dev_err(dev, "overlay crop setting error\n");
+               break;
+       case IPU_CHECK_ERR_INPUT_OVER_LIMIT:
+               dev_err(dev, "input over limitation\n");
+               break;
+       case IPU_CHECK_ERR_OVERLAY_WITH_VDI:
+               dev_err(dev, "do not support overlay with deinterlace\n");
+               break;
+       case IPU_CHECK_ERR_OV_OUT_NO_FIT:
+               dev_err(dev,
+                       "width/height of overlay and ic output should be same\n");
+               break;
+       case IPU_CHECK_ERR_PROC_NO_NEED:
+               dev_err(dev, "no ipu processing need\n");
+               break;
+       case IPU_CHECK_ERR_SPLIT_INPUTW_OVER:
+               dev_err(dev, "split mode input width overflow\n");
+               break;
+       case IPU_CHECK_ERR_SPLIT_INPUTH_OVER:
+               dev_err(dev, "split mode input height overflow\n");
+               break;
+       case IPU_CHECK_ERR_SPLIT_OUTPUTW_OVER:
+               dev_err(dev, "split mode output width overflow\n");
+               break;
+       case IPU_CHECK_ERR_SPLIT_OUTPUTH_OVER:
+               dev_err(dev, "split mode output height overflow\n");
+               break;
+       case IPU_CHECK_ERR_SPLIT_WITH_ROT:
+               dev_err(dev, "not support split mode with rotation\n");
+               break;
+       case IPU_CHECK_ERR_W_DOWNSIZE_OVER:
+               dev_err(dev, "horizontal downsizing ratio overflow\n");
+               break;
+       case IPU_CHECK_ERR_H_DOWNSIZE_OVER:
+               dev_err(dev, "vertical downsizing ratio overflow\n");
+               break;
+       default:
+               break;
+       }
+}
+
+static void dump_check_warn(struct device *dev, int warn)
+{
+       if (warn & IPU_CHECK_WARN_INPUT_OFFS_NOT8ALIGN)
+               dev_warn(dev, "input u/v offset not 8 align\n");
+       if (warn & IPU_CHECK_WARN_OUTPUT_OFFS_NOT8ALIGN)
+               dev_warn(dev, "output u/v offset not 8 align\n");
+       if (warn & IPU_CHECK_WARN_OVERLAY_OFFS_NOT8ALIGN)
+               dev_warn(dev, "overlay u/v offset not 8 align\n");
+}
+
+static int set_crop(struct ipu_crop *crop, int width, int height, int fmt)
+{
+       if ((width == 0) || (height == 0)) {
+               pr_err("Invalid param: width=%d, height=%d\n", width, height);
+               return -EINVAL;
+       }
+
+       if ((IPU_PIX_FMT_TILED_NV12 == fmt) ||
+               (IPU_PIX_FMT_TILED_NV12F == fmt)) {
+               if (crop->w || crop->h) {
+                       if (((crop->w + crop->pos.x) > width)
+                       || ((crop->h + crop->pos.y) > height)
+                       || (0 != (crop->w % IPU_PIX_FMT_TILED_NV12_MBALIGN))
+                       || (0 != (crop->h % IPU_PIX_FMT_TILED_NV12_MBALIGN))
+                       || (0 != (crop->pos.x % IPU_PIX_FMT_TILED_NV12_MBALIGN))
+                       || (0 != (crop->pos.y % IPU_PIX_FMT_TILED_NV12_MBALIGN))
+                       ) {
+                               pr_err("set_crop error MB align.\n");
+                               return -EINVAL;
+                       }
+               } else {
+                       crop->pos.x = 0;
+                       crop->pos.y = 0;
+                       crop->w = width;
+                       crop->h = height;
+                       if ((0 != (crop->w % IPU_PIX_FMT_TILED_NV12_MBALIGN))
+                       || (0 != (crop->h % IPU_PIX_FMT_TILED_NV12_MBALIGN))) {
+                               pr_err("set_crop error w/h MB align.\n");
+                               return -EINVAL;
+                       }
+               }
+       } else {
+               if (crop->w || crop->h) {
+                       if (((crop->w + crop->pos.x) > (width + 16))
+                       || ((crop->h + crop->pos.y) > height + 16)) {
+                               pr_err("set_crop error exceeds width/height.\n");
+                               return -EINVAL;
+                       }
+               } else {
+                       crop->pos.x = 0;
+                       crop->pos.y = 0;
+                       crop->w = width;
+                       crop->h = height;
+               }
+               crop->w -= crop->w%8;
+               crop->h -= crop->h%8;
+       }
+
+       if ((crop->w == 0) || (crop->h == 0)) {
+               pr_err("Invalid crop param: crop.w=%d, crop.h=%d\n",
+                       crop->w, crop->h);
+               return -EINVAL;
+       }
+
+       return 0;
+}
+
+static void update_offset(unsigned int fmt,
+                               unsigned int width, unsigned int height,
+                               unsigned int pos_x, unsigned int pos_y,
+                               int *off, int *uoff, int *voff, int *stride)
+{
+       /* NOTE: u v offset should based on start point of off*/
+       switch (fmt) {
+       case IPU_PIX_FMT_YUV420P2:
+       case IPU_PIX_FMT_YUV420P:
+               *off = pos_y * width + pos_x;
+               *uoff = (width * (height - pos_y) - pos_x)
+                       + (width/2) * (pos_y/2) + pos_x/2;
+               /* In case height is odd, round up to even */
+               *voff = *uoff + (width/2) * ((height+1)/2);
+               break;
+       case IPU_PIX_FMT_YVU420P:
+               *off = pos_y * width + pos_x;
+               *voff = (width * (height - pos_y) - pos_x)
+                       + (width/2) * (pos_y/2) + pos_x/2;
+               /* In case height is odd, round up to even */
+               *uoff = *voff + (width/2) * ((height+1)/2);
+               break;
+       case IPU_PIX_FMT_YVU422P:
+               *off = pos_y * width + pos_x;
+               *voff = (width * (height - pos_y) - pos_x)
+                       + (width/2) * pos_y + pos_x/2;
+               *uoff = *voff + (width/2) * height;
+               break;
+       case IPU_PIX_FMT_YUV422P:
+               *off = pos_y * width + pos_x;
+               *uoff = (width * (height - pos_y) - pos_x)
+                       + (width/2) * pos_y + pos_x/2;
+               *voff = *uoff + (width/2) * height;
+               break;
+       case IPU_PIX_FMT_YUV444P:
+               *off = pos_y * width + pos_x;
+               *uoff = width * height;
+               *voff = width * height * 2;
+               break;
+       case IPU_PIX_FMT_NV12:
+               *off = pos_y * width + pos_x;
+               *uoff = (width * (height - pos_y) - pos_x)
+                       + width * (pos_y/2) + pos_x;
+               break;
+       case IPU_PIX_FMT_TILED_NV12:
+               /*
+                * tiled format, progressive:
+                * assuming that line is aligned with MB height (aligned to 16)
+                * offset = line * stride + (pixel / MB_width) * pixels_in_MB
+                * = line * stride + (pixel / 16) * 256
+                * = line * stride + pixel * 16
+                */
+               *off = pos_y * width + (pos_x << 4);
+               *uoff = ALIGN(width * height, SZ_4K) + (*off >> 1) - *off;
+               break;
+       case IPU_PIX_FMT_TILED_NV12F:
+               /*
+                * tiled format, interlaced:
+                * same as above, only number of pixels in MB is 128,
+                * instead of 256
+                */
+               *off = (pos_y >> 1) * width + (pos_x << 3);
+               *uoff = ALIGN(width * height/2, SZ_4K) + (*off >> 1) - *off;
+               break;
+       default:
+               *off = (pos_y * width + pos_x) * fmt_to_bpp(fmt)/8;
+               break;
+       }
+       *stride = width * bytes_per_pixel(fmt);
+}
+
+static int update_split_setting(struct ipu_task_entry *t, bool vdi_split)
+{
+       struct stripe_param left_stripe;
+       struct stripe_param right_stripe;
+       struct stripe_param up_stripe;
+       struct stripe_param down_stripe;
+       u32 iw, ih, ow, oh;
+       u32 max_width;
+       int ret;
+
+       if (t->output.rotate >= IPU_ROTATE_90_RIGHT)
+               return IPU_CHECK_ERR_SPLIT_WITH_ROT;
+
+       iw = t->input.crop.w;
+       ih = t->input.crop.h;
+
+       ow = t->output.crop.w;
+       oh = t->output.crop.h;
+
+       memset(&left_stripe, 0, sizeof(left_stripe));
+       memset(&right_stripe, 0, sizeof(right_stripe));
+       memset(&up_stripe, 0, sizeof(up_stripe));
+       memset(&down_stripe, 0, sizeof(down_stripe));
+
+       if (t->set.split_mode & RL_SPLIT) {
+               /*
+                * We do want equal strips: initialize stripes in case
+                * calc_stripes returns before actually doing the calculation
+                */
+               left_stripe.input_width = iw / 2;
+               left_stripe.output_width = ow / 2;
+               right_stripe.input_column = iw / 2;
+               right_stripe.output_column = ow / 2;
+
+               if (vdi_split)
+                       max_width = soc_max_vdi_in_width();
+               else
+                       max_width = soc_max_out_width();
+               ret = ipu_calc_stripes_sizes(iw,
+                               ow,
+                               max_width,
+                               (((unsigned long long)1) << 32), /* 32bit for fractional*/
+                               1, /* equal stripes */
+                               t->input.format,
+                               t->output.format,
+                               &left_stripe,
+                               &right_stripe);
+               if (ret < 0)
+                       return IPU_CHECK_ERR_W_DOWNSIZE_OVER;
+               else if (ret)
+                       dev_dbg(t->dev, "Warn: no:0x%x,calc_stripes ret:%d\n",
+                                t->task_no, ret);
+               t->set.sp_setting.iw = left_stripe.input_width;
+               t->set.sp_setting.ow = left_stripe.output_width;
+               t->set.sp_setting.outh_resize_ratio = left_stripe.irr;
+               t->set.sp_setting.i_left_pos = left_stripe.input_column;
+               t->set.sp_setting.o_left_pos = left_stripe.output_column;
+               t->set.sp_setting.i_right_pos = right_stripe.input_column;
+               t->set.sp_setting.o_right_pos = right_stripe.output_column;
+       } else {
+               t->set.sp_setting.iw = iw;
+               t->set.sp_setting.ow = ow;
+               t->set.sp_setting.outh_resize_ratio = 0;
+               t->set.sp_setting.i_left_pos = 0;
+               t->set.sp_setting.o_left_pos = 0;
+               t->set.sp_setting.i_right_pos = 0;
+               t->set.sp_setting.o_right_pos = 0;
+       }
+       if ((t->set.sp_setting.iw + t->set.sp_setting.i_right_pos) > (iw+16))
+               return IPU_CHECK_ERR_SPLIT_INPUTW_OVER;
+       if (((t->set.sp_setting.ow + t->set.sp_setting.o_right_pos) > ow)
+               || (t->set.sp_setting.ow > soc_max_out_width()))
+               return IPU_CHECK_ERR_SPLIT_OUTPUTW_OVER;
+       if (rounddown(t->set.sp_setting.ow, 8) * 8 <=
+           rounddown(t->set.sp_setting.iw, 8))
+               return IPU_CHECK_ERR_W_DOWNSIZE_OVER;
+
+       if (t->set.split_mode & UD_SPLIT) {
+               /*
+                * We do want equal strips: initialize stripes in case
+                * calc_stripes returns before actually doing the calculation
+                */
+               up_stripe.input_width = ih / 2;
+               up_stripe.output_width = oh / 2;
+               down_stripe.input_column = ih / 2;
+               down_stripe.output_column = oh / 2;
+               ret = ipu_calc_stripes_sizes(ih,
+                               oh,
+                               soc_max_out_height(),
+                               (((unsigned long long)1) << 32), /* 32bit for fractional*/
+                               0x1 | 0x2, /* equal stripes and vertical */
+                               t->input.format,
+                               t->output.format,
+                               &up_stripe,
+                               &down_stripe);
+               if (ret < 0)
+                       return IPU_CHECK_ERR_H_DOWNSIZE_OVER;
+               else if (ret)
+                       dev_err(t->dev, "Warn: no:0x%x,calc_stripes ret:%d\n",
+                                t->task_no, ret);
+               t->set.sp_setting.ih = up_stripe.input_width;
+               t->set.sp_setting.oh = up_stripe.output_width;
+               t->set.sp_setting.outv_resize_ratio = up_stripe.irr;
+               t->set.sp_setting.i_top_pos = up_stripe.input_column;
+               t->set.sp_setting.o_top_pos = up_stripe.output_column;
+               t->set.sp_setting.i_bottom_pos = down_stripe.input_column;
+               t->set.sp_setting.o_bottom_pos = down_stripe.output_column;
+       } else {
+               t->set.sp_setting.ih = ih;
+               t->set.sp_setting.oh = oh;
+               t->set.sp_setting.outv_resize_ratio = 0;
+               t->set.sp_setting.i_top_pos = 0;
+               t->set.sp_setting.o_top_pos = 0;
+               t->set.sp_setting.i_bottom_pos = 0;
+               t->set.sp_setting.o_bottom_pos = 0;
+       }
+
+       /* downscale case: enforce limits */
+       if (((t->set.sp_setting.ih + t->set.sp_setting.i_bottom_pos) > (ih))
+            && (t->set.sp_setting.ih >= t->set.sp_setting.oh))
+               return IPU_CHECK_ERR_SPLIT_INPUTH_OVER;
+       /* upscale case: relax limits because ipu_calc_stripes_sizes() may
+          create input stripe that falls just outside of the input window */
+       else if ((t->set.sp_setting.ih + t->set.sp_setting.i_bottom_pos)
+                > (ih+16))
+               return IPU_CHECK_ERR_SPLIT_INPUTH_OVER;
+       if (((t->set.sp_setting.oh + t->set.sp_setting.o_bottom_pos) > oh)
+               || (t->set.sp_setting.oh > soc_max_out_height()))
+               return IPU_CHECK_ERR_SPLIT_OUTPUTH_OVER;
+       if (rounddown(t->set.sp_setting.oh, 8) * 8 <=
+           rounddown(t->set.sp_setting.ih, 8))
+               return IPU_CHECK_ERR_H_DOWNSIZE_OVER;
+
+       return IPU_CHECK_OK;
+}
+
+static int check_task(struct ipu_task_entry *t)
+{
+       int tmp;
+       int ret = IPU_CHECK_OK;
+       int timeout;
+       bool vdi_split = false;
+       int ocw, och;
+
+       if ((IPU_PIX_FMT_TILED_NV12 == t->overlay.format) ||
+               (IPU_PIX_FMT_TILED_NV12F == t->overlay.format) ||
+               (IPU_PIX_FMT_TILED_NV12 == t->output.format) ||
+               (IPU_PIX_FMT_TILED_NV12F == t->output.format) ||
+               ((IPU_PIX_FMT_TILED_NV12F == t->input.format) &&
+                       !t->input.deinterlace.enable)) {
+               ret = IPU_CHECK_ERR_NOT_SUPPORT;
+               goto done;
+       }
+
+       /* check input */
+       ret = set_crop(&t->input.crop, t->input.width, t->input.height,
+               t->input.format);
+       if (ret < 0) {
+               ret = IPU_CHECK_ERR_INPUT_CROP;
+               goto done;
+       } else
+               update_offset(t->input.format, t->input.width, t->input.height,
+                               t->input.crop.pos.x, t->input.crop.pos.y,
+                               &t->set.i_off, &t->set.i_uoff,
+                               &t->set.i_voff, &t->set.istride);
+
+       /* check output */
+       ret = set_crop(&t->output.crop, t->output.width, t->output.height,
+               t->output.format);
+       if (ret < 0) {
+               ret = IPU_CHECK_ERR_OUTPUT_CROP;
+               goto done;
+       } else
+               update_offset(t->output.format,
+                               t->output.width, t->output.height,
+                               t->output.crop.pos.x, t->output.crop.pos.y,
+                               &t->set.o_off, &t->set.o_uoff,
+                               &t->set.o_voff, &t->set.ostride);
+
+       if (t->output.rotate >= IPU_ROTATE_90_RIGHT) {
+               /*
+                * Cache output width and height and
+                * swap them so that we may check
+                * downsize overflow correctly.
+                */
+               ocw = t->output.crop.h;
+               och = t->output.crop.w;
+       } else {
+               ocw = t->output.crop.w;
+               och = t->output.crop.h;
+       }
+
+       if (ocw * 8 <= t->input.crop.w) {
+               ret = IPU_CHECK_ERR_W_DOWNSIZE_OVER;
+               goto done;
+       }
+
+       if (och * 8 <= t->input.crop.h) {
+               ret = IPU_CHECK_ERR_H_DOWNSIZE_OVER;
+               goto done;
+       }
+
+       if ((IPU_PIX_FMT_TILED_NV12 == t->input.format) ||
+               (IPU_PIX_FMT_TILED_NV12F == t->input.format)) {
+               if ((t->input.crop.w > soc_max_in_width(1)) ||
+                       (t->input.crop.h > soc_max_in_height())) {
+                       ret = IPU_CHECK_ERR_INPUT_OVER_LIMIT;
+                       goto done;
+               }
+               /* output fmt: NV12 and YUYV, now don't support resize */
+               if (((IPU_PIX_FMT_NV12 != t->output.format) &&
+                               (IPU_PIX_FMT_YUYV != t->output.format)) ||
+                       (t->input.crop.w != t->output.crop.w) ||
+                       (t->input.crop.h != t->output.crop.h)) {
+                       ret = IPU_CHECK_ERR_NOT_SUPPORT;
+                       goto done;
+               }
+       }
+
+       /* check overlay if there is */
+       if (t->overlay_en) {
+               if (t->input.deinterlace.enable) {
+                       ret = IPU_CHECK_ERR_OVERLAY_WITH_VDI;
+                       goto done;
+               }
+
+               ret = set_crop(&t->overlay.crop, t->overlay.width,
+                       t->overlay.height, t->overlay.format);
+               if (ret < 0) {
+                       ret = IPU_CHECK_ERR_OVERLAY_CROP;
+                       goto done;
+               } else {
+                       ocw = t->output.crop.w;
+                       och = t->output.crop.h;
+
+                       if (t->output.rotate >= IPU_ROTATE_90_RIGHT) {
+                               ocw = t->output.crop.h;
+                               och = t->output.crop.w;
+                       }
+                       if ((t->overlay.crop.w != ocw) ||
+                           (t->overlay.crop.h != och)) {
+                               ret = IPU_CHECK_ERR_OV_OUT_NO_FIT;
+                               goto done;
+                       }
+
+                       update_offset(t->overlay.format,
+                                       t->overlay.width, t->overlay.height,
+                                       t->overlay.crop.pos.x, t->overlay.crop.pos.y,
+                                       &t->set.ov_off, &t->set.ov_uoff,
+                                       &t->set.ov_voff, &t->set.ovstride);
+                       if (t->overlay.alpha.mode == IPU_ALPHA_MODE_LOCAL) {
+                               t->set.ov_alpha_stride = t->overlay.width;
+                               t->set.ov_alpha_off = t->overlay.crop.pos.y *
+                                       t->overlay.width + t->overlay.crop.pos.x;
+                       }
+               }
+       }
+
+       /* input overflow? */
+       if (!((IPU_PIX_FMT_TILED_NV12 == t->input.format) ||
+               (IPU_PIX_FMT_TILED_NV12F == t->input.format))) {
+               if ((t->input.crop.w > soc_max_in_width(0)) ||
+                       (t->input.crop.h > soc_max_in_height())) {
+                               ret = IPU_CHECK_ERR_INPUT_OVER_LIMIT;
+                               goto done;
+               }
+       }
+
+       /* check task mode */
+       t->set.mode = NULL_MODE;
+       t->set.split_mode = NO_SPLIT;
+
+       if (t->output.rotate >= IPU_ROTATE_90_RIGHT) {
+               /*output swap*/
+               tmp = t->output.crop.w;
+               t->output.crop.w = t->output.crop.h;
+               t->output.crop.h = tmp;
+       }
+
+       if (t->output.rotate >= IPU_ROTATE_90_RIGHT)
+               t->set.mode |= ROT_MODE;
+
+       /*need resize or CSC?*/
+       if ((t->input.crop.w != t->output.crop.w) ||
+                       (t->input.crop.h != t->output.crop.h) ||
+                       need_csc(t->input.format, t->output.format))
+               t->set.mode |= IC_MODE;
+
+       /*need flip?*/
+       if ((t->set.mode == NULL_MODE) && (t->output.rotate > IPU_ROTATE_NONE))
+               t->set.mode |= IC_MODE;
+
+       /*need IDMAC do format(same color space)?*/
+       if ((t->set.mode == NULL_MODE) && (t->input.format != t->output.format))
+               t->set.mode |= IC_MODE;
+
+       /*overlay support*/
+       if (t->overlay_en)
+               t->set.mode |= IC_MODE;
+
+       /*deinterlace*/
+       if (t->input.deinterlace.enable) {
+               t->set.mode &= ~IC_MODE;
+               t->set.mode |= VDI_MODE;
+       }
+       if ((IPU_PIX_FMT_TILED_NV12 == t->input.format) ||
+               (IPU_PIX_FMT_TILED_NV12F == t->input.format)) {
+               if (t->set.mode & ROT_MODE) {
+                       ret = IPU_CHECK_ERR_NOT_SUPPORT;
+                       goto done;
+               }
+               t->set.mode |= VDOA_MODE;
+               if (IPU_PIX_FMT_TILED_NV12F == t->input.format)
+                       t->set.mode |= VDOA_BAND_MODE;
+               t->set.mode &= ~IC_MODE;
+       }
+
+       if ((t->set.mode & (IC_MODE | VDI_MODE)) &&
+               (IPU_PIX_FMT_TILED_NV12F != t->input.format)) {
+               if (t->output.crop.w > soc_max_out_width())
+                       t->set.split_mode |= RL_SPLIT;
+               if (t->output.crop.h > soc_max_out_height())
+                       t->set.split_mode |= UD_SPLIT;
+               if (!t->set.split_mode && (t->set.mode & VDI_MODE) &&
+                               (t->input.crop.w > soc_max_vdi_in_width())) {
+                       t->set.split_mode |= RL_SPLIT;
+                       vdi_split = true;
+               }
+               if (t->set.split_mode) {
+                       if ((t->set.split_mode == RL_SPLIT) ||
+                                (t->set.split_mode == UD_SPLIT))
+                               timeout = DEF_TIMEOUT_MS * 2 + DEF_DELAY_MS;
+                       else
+                               timeout = DEF_TIMEOUT_MS * 4 + DEF_DELAY_MS;
+                       if (t->timeout < timeout)
+                               t->timeout = timeout;
+
+                       ret = update_split_setting(t, vdi_split);
+                       if (ret > IPU_CHECK_ERR_MIN)
+                               goto done;
+               }
+       }
+
+       if (t->output.rotate >= IPU_ROTATE_90_RIGHT) {
+               /*output swap*/
+               tmp = t->output.crop.w;
+               t->output.crop.w = t->output.crop.h;
+               t->output.crop.h = tmp;
+       }
+
+       if (t->set.mode == NULL_MODE) {
+               ret = IPU_CHECK_ERR_PROC_NO_NEED;
+               goto done;
+       }
+
+       if ((t->set.i_uoff % 8) || (t->set.i_voff % 8))
+               ret |= IPU_CHECK_WARN_INPUT_OFFS_NOT8ALIGN;
+       if ((t->set.o_uoff % 8) || (t->set.o_voff % 8))
+               ret |= IPU_CHECK_WARN_OUTPUT_OFFS_NOT8ALIGN;
+       if (t->overlay_en && ((t->set.ov_uoff % 8) || (t->set.ov_voff % 8)))
+               ret |= IPU_CHECK_WARN_OVERLAY_OFFS_NOT8ALIGN;
+
+done:
+       /* dump msg */
+       if (debug) {
+               if (ret > IPU_CHECK_ERR_MIN)
+                       dump_check_err(t->dev, ret);
+               else if (ret != IPU_CHECK_OK)
+                       dump_check_warn(t->dev, ret);
+       }
+
+       return ret;
+}
+
+static int prepare_task(struct ipu_task_entry *t)
+{
+       int ret = 0;
+
+       ret = check_task(t);
+       if (ret > IPU_CHECK_ERR_MIN)
+               return -EINVAL;
+
+       if (t->set.mode & VDI_MODE) {
+               t->task_id = IPU_TASK_ID_VF;
+               t->set.task = VDI_VF;
+               if (t->set.mode & ROT_MODE)
+                       t->set.task |= ROT_VF;
+       }
+
+       if (VDOA_MODE == t->set.mode) {
+               if (t->set.task != 0) {
+                       dev_err(t->dev, "ERR: vdoa only task:0x%x, [0x%p].\n",
+                                       t->set.task, t);
+                       return -EINVAL;
+               }
+               t->set.task |= VDOA_ONLY;
+       }
+
+       if (VDOA_BAND_MODE & t->set.mode) {
+               /* to save band size: 1<<3 = 8 lines */
+               t->set.band_lines = 3;
+       }
+
+       dump_task_info(t);
+
+       return ret;
+}
+
+static uint32_t ic_vf_pp_is_busy(struct ipu_soc *ipu, bool is_vf)
+{
+       uint32_t        status;
+       uint32_t        status_vf;
+       uint32_t        status_rot;
+
+       if (is_vf) {
+               status = ipu_channel_status(ipu, MEM_VDI_PRP_VF_MEM);
+               status_vf = ipu_channel_status(ipu, MEM_PRP_VF_MEM);
+               status_rot = ipu_channel_status(ipu, MEM_ROT_VF_MEM);
+               return status || status_vf || status_rot;
+       } else {
+               status = ipu_channel_status(ipu, MEM_PP_MEM);
+               status_rot = ipu_channel_status(ipu, MEM_ROT_PP_MEM);
+               return status || status_rot;
+       }
+}
+
+static int _get_vdoa_ipu_res(struct ipu_task_entry *t)
+{
+       int             i;
+       struct ipu_soc  *ipu;
+       u8              *used;
+       uint32_t        found_ipu = 0;
+       uint32_t        found_vdoa = 0;
+       struct ipu_channel_tabel        *tbl = &ipu_ch_tbl;
+
+       mutex_lock(&tbl->lock);
+       if (t->set.mode & VDOA_MODE) {
+               if (NULL != t->vdoa_handle)
+                       found_vdoa = 1;
+               else {
+                       found_vdoa = tbl->vdoa_used ? 0 : 1;
+                       if (found_vdoa) {
+                               tbl->vdoa_used = 1;
+                               vdoa_get_handle(&t->vdoa_handle);
+                       } else
+                               /* first get vdoa->ipu resource sequence */
+                               goto out;
+                       if (t->set.task & VDOA_ONLY)
+                               goto out;
+               }
+       }
+
+       for (i = 0; i < max_ipu_no; i++) {
+               ipu = ipu_get_soc(i);
+               if (IS_ERR(ipu))
+                       dev_err(t->dev, "no:0x%x,found_vdoa:%d, ipu:%d\n",
+                                t->task_no, found_vdoa, i);
+
+               used = &tbl->used[i][IPU_PP_CH_VF];
+               if (t->set.mode & VDI_MODE) {
+                       if (0 == *used) {
+                               *used = 1;
+                               found_ipu = 1;
+                               break;
+                       }
+               } else if ((t->set.mode & IC_MODE) || only_rot(t->set.mode)) {
+                       if (0 == *used) {
+                               t->task_id = IPU_TASK_ID_VF;
+                               if (t->set.mode & IC_MODE)
+                                       t->set.task |= IC_VF;
+                               if (t->set.mode & ROT_MODE)
+                                       t->set.task |= ROT_VF;
+                               *used = 1;
+                               found_ipu = 1;
+                               break;
+                       }
+               } else
+                       dev_err(t->dev, "no:0x%x,found_vdoa:%d, mode:0x%x\n",
+                                t->task_no, found_vdoa, t->set.mode);
+       }
+       if (found_ipu)
+               goto next;
+
+       for (i = 0; i < max_ipu_no; i++) {
+               ipu = ipu_get_soc(i);
+               if (IS_ERR(ipu))
+                       dev_err(t->dev, "no:0x%x,found_vdoa:%d, ipu:%d\n",
+                                t->task_no, found_vdoa, i);
+
+               if ((t->set.mode & IC_MODE) || only_rot(t->set.mode)) {
+                       used = &tbl->used[i][IPU_PP_CH_PP];
+                       if (0 == *used) {
+                               t->task_id = IPU_TASK_ID_PP;
+                               if (t->set.mode & IC_MODE)
+                                       t->set.task |= IC_PP;
+                               if (t->set.mode & ROT_MODE)
+                                       t->set.task |= ROT_PP;
+                               *used = 1;
+                               found_ipu = 1;
+                               break;
+                       }
+               }
+       }
+
+next:
+       if (found_ipu) {
+               t->ipu = ipu;
+               t->ipu_id = i;
+               t->dev = ipu->dev;
+               if (atomic_inc_return(&t->res_get) == 2)
+                       dev_err(t->dev,
+                               "ERR no:0x%x,found_vdoa:%d,get ipu twice\n",
+                                t->task_no, found_vdoa);
+       }
+out:
+       dev_dbg(t->dev,
+               "%s:no:0x%x,found_vdoa:%d, found_ipu:%d\n",
+                __func__, t->task_no, found_vdoa, found_ipu);
+       mutex_unlock(&tbl->lock);
+       if (t->set.task & VDOA_ONLY)
+               return found_vdoa;
+       else if (t->set.mode & VDOA_MODE)
+               return found_vdoa && found_ipu;
+       else
+               return found_ipu;
+}
+
+static void put_vdoa_ipu_res(struct ipu_task_entry *tsk, int vdoa_only)
+{
+       int ret;
+       int rel_vdoa = 0, rel_ipu = 0;
+       struct ipu_channel_tabel        *tbl = &ipu_ch_tbl;
+
+       mutex_lock(&tbl->lock);
+       if (tsk->set.mode & VDOA_MODE) {
+               if (!tbl->vdoa_used && tsk->vdoa_handle)
+                       dev_err(tsk->dev,
+                               "ERR no:0x%x,vdoa not used,mode:0x%x\n",
+                                tsk->task_no, tsk->set.mode);
+               if (tbl->vdoa_used && tsk->vdoa_handle) {
+                       tbl->vdoa_used = 0;
+                       vdoa_put_handle(&tsk->vdoa_handle);
+                       if (tsk->ipu)
+                               tsk->ipu->vdoa_en = 0;
+                       rel_vdoa = 1;
+                       if (vdoa_only || (tsk->set.task & VDOA_ONLY))
+                               goto out;
+               }
+       }
+
+       tbl->used[tsk->ipu_id][tsk->task_id - 1] = 0;
+       rel_ipu = 1;
+       ret = atomic_inc_return(&tsk->res_free);
+       if (ret == 2)
+               dev_err(tsk->dev,
+                       "ERR no:0x%x,rel_vdoa:%d,put ipu twice\n",
+                        tsk->task_no, rel_vdoa);
+out:
+       dev_dbg(tsk->dev,
+               "%s:no:0x%x,rel_vdoa:%d, rel_ipu:%d\n",
+                __func__, tsk->task_no, rel_vdoa, rel_ipu);
+       mutex_unlock(&tbl->lock);
+}
+
+static int get_vdoa_ipu_res(struct ipu_task_entry *t)
+{
+       int             ret;
+       uint32_t        found = 0;
+
+       found = _get_vdoa_ipu_res(t);
+       if (!found) {
+               t->ipu_id = -1;
+               t->ipu = NULL;
+               /* blocking to get resource */
+               ret = atomic_inc_return(&req_cnt);
+               dev_dbg(t->dev,
+                       "wait_res:no:0x%x,req_cnt:%d\n", t->task_no, ret);
+               ret = wait_event_timeout(res_waitq, _get_vdoa_ipu_res(t),
+                                msecs_to_jiffies(t->timeout - DEF_DELAY_MS));
+               if (ret == 0) {
+                       dev_err(t->dev, "ERR[0x%p,no-0x%x] wait_res timeout:%dms!\n",
+                                        t, t->task_no, t->timeout - DEF_DELAY_MS);
+                       ret = -ETIMEDOUT;
+                       t->state = STATE_RES_TIMEOUT;
+                       goto out;
+               } else {
+                       if (!(t->set.task & VDOA_ONLY) && (!t->ipu))
+                               dev_err(t->dev,
+                                       "ERR[no-0x%x] can not get ipu!\n",
+                                       t->task_no);
+                       ret = atomic_read(&req_cnt);
+                       if (ret > 0)
+                               ret = atomic_dec_return(&req_cnt);
+                       else
+                               dev_err(t->dev,
+                                       "ERR[no-0x%x] req_cnt:%d mismatch!\n",
+                                       t->task_no, ret);
+                       dev_dbg(t->dev, "no-0x%x,[0x%p],req_cnt:%d, got_res!\n",
+                                               t->task_no, t, ret);
+                       found = 1;
+               }
+       }
+
+out:
+       return found;
+}
+
+static struct ipu_task_entry *create_task_entry(struct ipu_task *task)
+{
+       struct ipu_task_entry *tsk;
+
+       tsk = kzalloc(sizeof(struct ipu_task_entry), GFP_KERNEL);
+       if (!tsk)
+               return ERR_PTR(-ENOMEM);
+       kref_init(&tsk->refcount);
+       tsk->state = -EINVAL;
+       tsk->ipu_id = -1;
+       tsk->dev = ipu_dev;
+       tsk->input = task->input;
+       tsk->output = task->output;
+       tsk->overlay_en = task->overlay_en;
+       if (tsk->overlay_en)
+               tsk->overlay = task->overlay;
+       if (task->timeout > DEF_TIMEOUT_MS)
+               tsk->timeout = task->timeout;
+       else
+               tsk->timeout = DEF_TIMEOUT_MS;
+
+       return tsk;
+}
+
+static void task_mem_free(struct kref *ref)
+{
+       struct ipu_task_entry *tsk =
+                       container_of(ref, struct ipu_task_entry, refcount);
+       kfree(tsk);
+}
+
+int create_split_child_task(struct ipu_split_task *sp_task)
+{
+       int ret = 0;
+       struct ipu_task_entry *tsk;
+
+       tsk = create_task_entry(&sp_task->task);
+       if (IS_ERR(tsk))
+               return PTR_ERR(tsk);
+
+       sp_task->child_task = tsk;
+       tsk->task_no = sp_task->task_no;
+
+       ret = prepare_task(tsk);
+       if (ret < 0)
+               goto err;
+
+       tsk->parent = sp_task->parent_task;
+       tsk->set.sp_setting = sp_task->parent_task->set.sp_setting;
+
+       list_add(&tsk->node, &tsk->parent->split_list);
+       dev_dbg(tsk->dev, "[0x%p] sp_tsk Q list,no-0x%x\n", tsk, tsk->task_no);
+       tsk->state = STATE_QUEUE;
+       CHECK_PERF(&tsk->ts_queue);
+err:
+       return ret;
+}
+
+static inline int sp_task_check_done(struct ipu_split_task *sp_task,
+                       struct ipu_task_entry *parent, int num, int *idx)
+{
+       int i;
+       int ret = 0;
+       struct ipu_task_entry *tsk;
+       struct mutex *lock = &parent->split_lock;
+
+       *idx = -EINVAL;
+       mutex_lock(lock);
+       for (i = 0; i < num; i++) {
+               tsk = sp_task[i].child_task;
+               if (tsk && tsk->split_done) {
+                       *idx = i;
+                       ret = 1;
+                       goto out;
+               }
+       }
+
+out:
+       mutex_unlock(lock);
+       return ret;
+}
+
+static int create_split_task(
+               int stripe,
+               struct ipu_split_task *sp_task)
+{
+       struct ipu_task *task = &(sp_task->task);
+       struct ipu_task_entry *t = sp_task->parent_task;
+       int ret;
+
+       sp_task->task_no |= stripe;
+
+       task->input = t->input;
+       task->output = t->output;
+       task->overlay_en = t->overlay_en;
+       if (task->overlay_en)
+               task->overlay = t->overlay;
+       task->task_id = t->task_id;
+       if ((t->set.split_mode == RL_SPLIT) ||
+                (t->set.split_mode == UD_SPLIT))
+               task->timeout = t->timeout / 2;
+       else
+               task->timeout = t->timeout / 4;
+
+       task->input.crop.w = t->set.sp_setting.iw;
+       task->input.crop.h = t->set.sp_setting.ih;
+       if (task->overlay_en) {
+               task->overlay.crop.w = t->set.sp_setting.ow;
+               task->overlay.crop.h = t->set.sp_setting.oh;
+       }
+       if (t->output.rotate >= IPU_ROTATE_90_RIGHT) {
+               task->output.crop.w = t->set.sp_setting.oh;
+               task->output.crop.h = t->set.sp_setting.ow;
+               t->set.sp_setting.rl_split_line = t->set.sp_setting.o_bottom_pos;
+               t->set.sp_setting.ud_split_line = t->set.sp_setting.o_right_pos;
+
+       } else {
+               task->output.crop.w = t->set.sp_setting.ow;
+               task->output.crop.h = t->set.sp_setting.oh;
+               t->set.sp_setting.rl_split_line = t->set.sp_setting.o_right_pos;
+               t->set.sp_setting.ud_split_line = t->set.sp_setting.o_bottom_pos;
+       }
+
+       if (stripe & LEFT_STRIPE)
+               task->input.crop.pos.x += t->set.sp_setting.i_left_pos;
+       else if (stripe & RIGHT_STRIPE)
+               task->input.crop.pos.x += t->set.sp_setting.i_right_pos;
+       if (stripe & UP_STRIPE)
+               task->input.crop.pos.y += t->set.sp_setting.i_top_pos;
+       else if (stripe & DOWN_STRIPE)
+               task->input.crop.pos.y += t->set.sp_setting.i_bottom_pos;
+
+       if (task->overlay_en) {
+               if (stripe & LEFT_STRIPE)
+                       task->overlay.crop.pos.x += t->set.sp_setting.o_left_pos;
+               else if (stripe & RIGHT_STRIPE)
+                       task->overlay.crop.pos.x += t->set.sp_setting.o_right_pos;
+               if (stripe & UP_STRIPE)
+                       task->overlay.crop.pos.y += t->set.sp_setting.o_top_pos;
+               else if (stripe & DOWN_STRIPE)
+                       task->overlay.crop.pos.y += t->set.sp_setting.o_bottom_pos;
+       }
+
+       switch (t->output.rotate) {
+       case IPU_ROTATE_NONE:
+               if (stripe & LEFT_STRIPE)
+                       task->output.crop.pos.x += t->set.sp_setting.o_left_pos;
+               else if (stripe & RIGHT_STRIPE)
+                       task->output.crop.pos.x += t->set.sp_setting.o_right_pos;
+               if (stripe & UP_STRIPE)
+                       task->output.crop.pos.y += t->set.sp_setting.o_top_pos;
+               else if (stripe & DOWN_STRIPE)
+                       task->output.crop.pos.y += t->set.sp_setting.o_bottom_pos;
+               break;
+       case IPU_ROTATE_VERT_FLIP:
+               if (stripe & LEFT_STRIPE)
+                       task->output.crop.pos.x += t->set.sp_setting.o_left_pos;
+               else if (stripe & RIGHT_STRIPE)
+                       task->output.crop.pos.x += t->set.sp_setting.o_right_pos;
+               if (stripe & UP_STRIPE)
+                       task->output.crop.pos.y =
+                                       t->output.crop.pos.y + t->output.crop.h
+                                       - t->set.sp_setting.o_top_pos - t->set.sp_setting.oh;
+               else if (stripe & DOWN_STRIPE)
+                       task->output.crop.pos.y =
+                                       t->output.crop.pos.y + t->output.crop.h
+                                       - t->set.sp_setting.o_bottom_pos - t->set.sp_setting.oh;
+               break;
+       case IPU_ROTATE_HORIZ_FLIP:
+               if (stripe & LEFT_STRIPE)
+                       task->output.crop.pos.x =
+                                       t->output.crop.pos.x + t->output.crop.w
+                                       - t->set.sp_setting.o_left_pos - t->set.sp_setting.ow;
+               else if (stripe & RIGHT_STRIPE)
+                       task->output.crop.pos.x =
+                                       t->output.crop.pos.x + t->output.crop.w
+                                       - t->set.sp_setting.o_right_pos - t->set.sp_setting.ow;
+               if (stripe & UP_STRIPE)
+                       task->output.crop.pos.y += t->set.sp_setting.o_top_pos;
+               else if (stripe & DOWN_STRIPE)
+                       task->output.crop.pos.y += t->set.sp_setting.o_bottom_pos;
+               break;
+       case IPU_ROTATE_180:
+               if (stripe & LEFT_STRIPE)
+                       task->output.crop.pos.x =
+                                       t->output.crop.pos.x + t->output.crop.w
+                                       - t->set.sp_setting.o_left_pos - t->set.sp_setting.ow;
+               else if (stripe & RIGHT_STRIPE)
+                       task->output.crop.pos.x =
+                                       t->output.crop.pos.x + t->output.crop.w
+                                       - t->set.sp_setting.o_right_pos - t->set.sp_setting.ow;
+               if (stripe & UP_STRIPE)
+                       task->output.crop.pos.y =
+                                       t->output.crop.pos.y + t->output.crop.h
+                                       - t->set.sp_setting.o_top_pos - t->set.sp_setting.oh;
+               else if (stripe & DOWN_STRIPE)
+                       task->output.crop.pos.y =
+                                       t->output.crop.pos.y + t->output.crop.h
+                                       - t->set.sp_setting.o_bottom_pos - t->set.sp_setting.oh;
+               break;
+       case IPU_ROTATE_90_RIGHT:
+               if (stripe & UP_STRIPE)
+                       task->output.crop.pos.x =
+                                       t->output.crop.pos.x + t->output.crop.w
+                                       - t->set.sp_setting.o_top_pos - t->set.sp_setting.oh;
+               else if (stripe & DOWN_STRIPE)
+                       task->output.crop.pos.x =
+                                       t->output.crop.pos.x + t->output.crop.w
+                                       - t->set.sp_setting.o_bottom_pos - t->set.sp_setting.oh;
+               if (stripe & LEFT_STRIPE)
+                       task->output.crop.pos.y += t->set.sp_setting.o_left_pos;
+               else if (stripe & RIGHT_STRIPE)
+                       task->output.crop.pos.y += t->set.sp_setting.o_right_pos;
+               break;
+       case IPU_ROTATE_90_RIGHT_HFLIP:
+               if (stripe & UP_STRIPE)
+                       task->output.crop.pos.x += t->set.sp_setting.o_top_pos;
+               else if (stripe & DOWN_STRIPE)
+                       task->output.crop.pos.x += t->set.sp_setting.o_bottom_pos;
+               if (stripe & LEFT_STRIPE)
+                       task->output.crop.pos.y += t->set.sp_setting.o_left_pos;
+               else if (stripe & RIGHT_STRIPE)
+                       task->output.crop.pos.y += t->set.sp_setting.o_right_pos;
+               break;
+       case IPU_ROTATE_90_RIGHT_VFLIP:
+               if (stripe & UP_STRIPE)
+                       task->output.crop.pos.x =
+                                       t->output.crop.pos.x + t->output.crop.w
+                                       - t->set.sp_setting.o_top_pos - t->set.sp_setting.oh;
+               else if (stripe & DOWN_STRIPE)
+                       task->output.crop.pos.x =
+                                       t->output.crop.pos.x + t->output.crop.w
+                                       - t->set.sp_setting.o_bottom_pos - t->set.sp_setting.oh;
+               if (stripe & LEFT_STRIPE)
+                       task->output.crop.pos.y =
+                                       t->output.crop.pos.y + t->output.crop.h
+                                       - t->set.sp_setting.o_left_pos - t->set.sp_setting.ow;
+               else if (stripe & RIGHT_STRIPE)
+                       task->output.crop.pos.y =
+                                       t->output.crop.pos.y + t->output.crop.h
+                                       - t->set.sp_setting.o_right_pos - t->set.sp_setting.ow;
+               break;
+       case IPU_ROTATE_90_LEFT:
+               if (stripe & UP_STRIPE)
+                       task->output.crop.pos.x += t->set.sp_setting.o_top_pos;
+               else if (stripe & DOWN_STRIPE)
+                       task->output.crop.pos.x += t->set.sp_setting.o_bottom_pos;
+               if (stripe & LEFT_STRIPE)
+                       task->output.crop.pos.y =
+                                       t->output.crop.pos.y + t->output.crop.h
+                                       - t->set.sp_setting.o_left_pos - t->set.sp_setting.ow;
+               else if (stripe & RIGHT_STRIPE)
+                       task->output.crop.pos.y =
+                                       t->output.crop.pos.y + t->output.crop.h
+                                       - t->set.sp_setting.o_right_pos - t->set.sp_setting.ow;
+               break;
+       default:
+               dev_err(t->dev, "ERR:should not be here\n");
+               break;
+       }
+
+       ret = create_split_child_task(sp_task);
+       if (ret < 0)
+               dev_err(t->dev, "ERR:create_split_child_task() ret:%d\n", ret);
+       return ret;
+}
+
+static int queue_split_task(struct ipu_task_entry *t,
+                               struct ipu_split_task *sp_task, uint32_t size)
+{
+       int err[4];
+       int ret = 0;
+       int i, j;
+       struct ipu_task_entry *tsk = NULL;
+       struct mutex *lock = &t->split_lock;
+       struct mutex *vdic_lock = &t->vdic_lock;
+
+       dev_dbg(t->dev, "Split task 0x%p, no-0x%x, size:%d\n",
+                        t, t->task_no, size);
+       mutex_init(lock);
+       mutex_init(vdic_lock);
+       init_waitqueue_head(&t->split_waitq);
+       INIT_LIST_HEAD(&t->split_list);
+       for (j = 0; j < size; j++) {
+               memset(&sp_task[j], 0, sizeof(*sp_task));
+               sp_task[j].parent_task = t;
+               sp_task[j].task_no = t->task_no;
+       }
+
+       if (t->set.split_mode == RL_SPLIT) {
+               i = 0;
+               err[i] = create_split_task(RIGHT_STRIPE, &sp_task[i]);
+               if (err[i] < 0)
+                       goto err_start;
+               i = 1;
+               err[i] = create_split_task(LEFT_STRIPE, &sp_task[i]);
+       } else if (t->set.split_mode == UD_SPLIT) {
+               i = 0;
+               err[i] = create_split_task(DOWN_STRIPE, &sp_task[i]);
+               if (err[i] < 0)
+                       goto err_start;
+               i = 1;
+               err[i] = create_split_task(UP_STRIPE, &sp_task[i]);
+       } else {
+               i = 0;
+               err[i] = create_split_task(RIGHT_STRIPE | DOWN_STRIPE, &sp_task[i]);
+               if (err[i] < 0)
+                       goto err_start;
+               i = 1;
+               err[i] = create_split_task(LEFT_STRIPE | DOWN_STRIPE, &sp_task[i]);
+               if (err[i] < 0)
+                       goto err_start;
+               i = 2;
+               err[i] = create_split_task(RIGHT_STRIPE | UP_STRIPE, &sp_task[i]);
+               if (err[i] < 0)
+                       goto err_start;
+               i = 3;
+               err[i] = create_split_task(LEFT_STRIPE | UP_STRIPE, &sp_task[i]);
+       }
+
+err_start:
+       for (j = 0; j < (i + 1); j++) {
+               if (err[j] < 0) {
+                       if (sp_task[j].child_task)
+                               dev_err(t->dev,
+                                "sp_task[%d],no-0x%x fail state:%d, queue err:%d.\n",
+                               j, sp_task[j].child_task->task_no,
+                               sp_task[j].child_task->state, err[j]);
+                       goto err_exit;
+               }
+               dev_dbg(t->dev, "[0x%p] sp_task[%d], no-0x%x state:%s, queue ret:%d.\n",
+                       sp_task[j].child_task, j, sp_task[j].child_task->task_no,
+                       state_msg[sp_task[j].child_task->state].msg, err[j]);
+       }
+
+       return ret;
+
+err_exit:
+       for (j = 0; j < (i + 1); j++) {
+               if (err[j] < 0 && !ret)
+                       ret = err[j];
+               tsk = sp_task[j].child_task;
+               if (!tsk)
+                       continue;
+               kfree(tsk);
+       }
+       t->state = STATE_ERR;
+       return ret;
+
+}
+
+static int init_tiled_buf(struct ipu_soc *ipu, struct ipu_task_entry *t,
+                               ipu_channel_t channel, uint32_t ch_type)
+{
+       int ret = 0;
+       int i;
+       uint32_t ipu_fmt;
+       dma_addr_t inbuf_base = 0;
+       u32 field_size;
+       struct vdoa_params param;
+       struct vdoa_ipu_buf buf;
+       struct ipu_soc *ipu_idx;
+       u32 ipu_stride, obuf_size;
+       u32 height, width;
+       ipu_buffer_t type;
+
+       if ((IPU_PIX_FMT_YUYV != t->output.format) &&
+               (IPU_PIX_FMT_NV12 != t->output.format)) {
+               dev_err(t->dev, "ERR:[0x%d] output format\n", t->task_no);
+               return -EINVAL;
+       }
+
+       memset(&param, 0, sizeof(param));
+       /* init channel tiled bufs */
+       if (deinterlace_3_field(t) &&
+               (IPU_PIX_FMT_TILED_NV12F == t->input.format)) {
+               field_size = tiled_filed_size(t);
+               if (INPUT_CHAN_VDI_P == ch_type) {
+                       inbuf_base = t->input.paddr + field_size;
+                       param.vfield_buf.prev_veba = inbuf_base + t->set.i_off;
+               } else if (INPUT_CHAN == ch_type) {
+                       inbuf_base = t->input.paddr_n;
+                       param.vfield_buf.cur_veba = inbuf_base + t->set.i_off;
+               } else if (INPUT_CHAN_VDI_N == ch_type) {
+                       inbuf_base = t->input.paddr_n + field_size;
+                       param.vfield_buf.next_veba = inbuf_base + t->set.i_off;
+               } else
+                       return -EINVAL;
+               height = t->input.crop.h >> 1; /* field format for vdoa */
+               width = t->input.crop.w;
+               param.vfield_buf.vubo = t->set.i_uoff;
+               param.interlaced = 1;
+               param.scan_order = 1;
+               type = IPU_INPUT_BUFFER;
+       } else if ((IPU_PIX_FMT_TILED_NV12 == t->input.format) &&
+                       (INPUT_CHAN == ch_type)) {
+               height = t->input.crop.h;
+               width = t->input.crop.w;
+               param.vframe_buf.veba = t->input.paddr + t->set.i_off;
+               param.vframe_buf.vubo = t->set.i_uoff;
+               type = IPU_INPUT_BUFFER;
+       } else
+               return -EINVAL;
+
+       param.band_mode = (t->set.mode & VDOA_BAND_MODE) ? 1 : 0;
+       if (param.band_mode && (t->set.band_lines != 3) &&
+                (t->set.band_lines != 4) && (t->set.band_lines != 5))
+               return -EINVAL;
+       else if (param.band_mode)
+               param.band_lines = (1 << t->set.band_lines);
+       for (i = 0; i < max_ipu_no; i++) {
+               ipu_idx = ipu_get_soc(i);
+               if (!IS_ERR(ipu_idx) && ipu_idx == ipu)
+                       break;
+       }
+       if (t->set.task & VDOA_ONLY)
+               /* dummy, didn't need ipu res */
+               i = 0;
+       if (max_ipu_no == i) {
+               dev_err(t->dev, "ERR:[0x%p] get ipu num\n", t);
+               return -EINVAL;
+       }
+
+       param.ipu_num = i;
+       param.vpu_stride = t->input.width;
+       param.height = height;
+       param.width = width;
+       if (IPU_PIX_FMT_NV12 == t->output.format)
+               param.pfs = VDOA_PFS_NV12;
+       else
+               param.pfs = VDOA_PFS_YUYV;
+       ipu_fmt = (param.pfs == VDOA_PFS_YUYV) ? IPU_PIX_FMT_YUYV :
+                               IPU_PIX_FMT_NV12;
+       ipu_stride = param.width * bytes_per_pixel(ipu_fmt);
+       obuf_size = PAGE_ALIGN(param.width * param.height *
+                               fmt_to_bpp(ipu_fmt)/8);
+       dev_dbg(t->dev, "band_mode:%d, band_lines:%d\n",
+                       param.band_mode, param.band_lines);
+       if (!param.band_mode) {
+               /* note: if only for tiled -> raster convert and
+                  no other post-processing, we don't need alloc buf
+                  and use output buffer directly.
+               */
+               if (t->set.task & VDOA_ONLY)
+                       param.ieba0 = t->output.paddr;
+               else {
+                       dev_err(t->dev, "ERR:[0x%d] vdoa task\n", t->task_no);
+                       return -EINVAL;
+               }
+       } else {
+               if (IPU_PIX_FMT_TILED_NV12F != t->input.format) {
+                       dev_err(t->dev, "ERR [0x%d] vdoa task\n", t->task_no);
+                       return -EINVAL;
+               }
+       }
+       ret = vdoa_setup(t->vdoa_handle, &param);
+       if (ret)
+               goto done;
+       vdoa_get_output_buf(t->vdoa_handle, &buf);
+       if (t->set.task & VDOA_ONLY)
+               goto done;
+
+       ret = ipu_init_channel_buffer(ipu,
+                       channel,
+                       type,
+                       ipu_fmt,
+                       width,
+                       height,
+                       ipu_stride,
+                       IPU_ROTATE_NONE,
+                       buf.ieba0,
+                       buf.ieba1,
+                       0,
+                       buf.iubo,
+                       0);
+       if (ret < 0) {
+               t->state = STATE_INIT_CHAN_BUF_FAIL;
+               goto done;
+       }
+
+       if (param.band_mode) {
+               ret = ipu_set_channel_bandmode(ipu, channel,
+                               type, t->set.band_lines);
+               if (ret < 0) {
+                       t->state = STATE_INIT_CHAN_BAND_FAIL;
+                       goto done;
+               }
+       }
+done:
+       return ret;
+}
+
+static int init_tiled_ch_bufs(struct ipu_soc *ipu, struct ipu_task_entry *t)
+{
+       int ret = 0;
+
+       if (IPU_PIX_FMT_TILED_NV12 == t->input.format) {
+               ret = init_tiled_buf(ipu, t, t->set.ic_chan, INPUT_CHAN);
+               CHECK_RETCODE(ret < 0, "init tiled_ch", t->state, done, ret);
+       } else if (IPU_PIX_FMT_TILED_NV12F == t->input.format) {
+               ret = init_tiled_buf(ipu, t, t->set.ic_chan, INPUT_CHAN);
+               CHECK_RETCODE(ret < 0, "init tiled_ch-c", t->state, done, ret);
+               ret = init_tiled_buf(ipu, t, t->set.vdi_ic_p_chan,
+                                       INPUT_CHAN_VDI_P);
+               CHECK_RETCODE(ret < 0, "init tiled_ch-p", t->state, done, ret);
+               ret = init_tiled_buf(ipu, t, t->set.vdi_ic_n_chan,
+                                       INPUT_CHAN_VDI_N);
+               CHECK_RETCODE(ret < 0, "init tiled_ch-n", t->state, done, ret);
+       } else {
+               ret = -EINVAL;
+               dev_err(t->dev, "ERR[no-0x%x] invalid fmt:0x%x!\n",
+                       t->task_no, t->input.format);
+       }
+
+done:
+       return ret;
+}
+
+static int init_ic(struct ipu_soc *ipu, struct ipu_task_entry *t)
+{
+       int ret = 0;
+       ipu_channel_params_t params;
+       dma_addr_t inbuf = 0, ovbuf = 0, ov_alp_buf = 0;
+       dma_addr_t inbuf_p = 0, inbuf_n = 0;
+       dma_addr_t outbuf = 0;
+       int out_uoff = 0, out_voff = 0, out_rot;
+       int out_w = 0, out_h = 0, out_stride;
+       int out_fmt;
+       u32 vdi_frame_idx = 0;
+
+       memset(&params, 0, sizeof(params));
+
+       /* is it need link a rot channel */
+       if (ic_and_rot(t->set.mode)) {
+               outbuf = t->set.r_paddr;
+               out_w = t->set.r_width;
+               out_h = t->set.r_height;
+               out_stride = t->set.r_stride;
+               out_fmt = t->set.r_fmt;
+               out_uoff = 0;
+               out_voff = 0;
+               out_rot = IPU_ROTATE_NONE;
+       } else {
+               outbuf = t->output.paddr + t->set.o_off;
+               out_w = t->output.crop.w;
+               out_h = t->output.crop.h;
+               out_stride = t->set.ostride;
+               out_fmt = t->output.format;
+               out_uoff = t->set.o_uoff;
+               out_voff = t->set.o_voff;
+               out_rot = t->output.rotate;
+       }
+
+       /* settings */
+       params.mem_prp_vf_mem.in_width = t->input.crop.w;
+       params.mem_prp_vf_mem.out_width = out_w;
+       params.mem_prp_vf_mem.in_height = t->input.crop.h;
+       params.mem_prp_vf_mem.out_height = out_h;
+       params.mem_prp_vf_mem.in_pixel_fmt = t->input.format;
+       params.mem_prp_vf_mem.out_pixel_fmt = out_fmt;
+       params.mem_prp_vf_mem.motion_sel = t->input.deinterlace.motion;
+
+       params.mem_prp_vf_mem.outh_resize_ratio =
+                       t->set.sp_setting.outh_resize_ratio;
+       params.mem_prp_vf_mem.outv_resize_ratio =
+                       t->set.sp_setting.outv_resize_ratio;
+
+       if (t->overlay_en) {
+               params.mem_prp_vf_mem.in_g_pixel_fmt = t->overlay.format;
+               params.mem_prp_vf_mem.graphics_combine_en = 1;
+               if (t->overlay.alpha.mode == IPU_ALPHA_MODE_GLOBAL)
+                       params.mem_prp_vf_mem.global_alpha_en = 1;
+               else if (t->overlay.alpha.loc_alp_paddr)
+                       params.mem_prp_vf_mem.alpha_chan_en = 1;
+               /* otherwise, alpha bending per pixel is used. */
+               params.mem_prp_vf_mem.alpha = t->overlay.alpha.gvalue;
+               if (t->overlay.colorkey.enable) {
+                       params.mem_prp_vf_mem.key_color_en = 1;
+                       params.mem_prp_vf_mem.key_color = t->overlay.colorkey.value;
+               }
+       }
+
+       if (t->input.deinterlace.enable) {
+               if (t->input.deinterlace.field_fmt & IPU_DEINTERLACE_FIELD_MASK)
+                       params.mem_prp_vf_mem.field_fmt =
+                               IPU_DEINTERLACE_FIELD_BOTTOM;
+               else
+                       params.mem_prp_vf_mem.field_fmt =
+                               IPU_DEINTERLACE_FIELD_TOP;
+
+               if (t->input.deinterlace.field_fmt & IPU_DEINTERLACE_RATE_EN)
+                       vdi_frame_idx = t->input.deinterlace.field_fmt &
+                                               IPU_DEINTERLACE_RATE_FRAME1;
+       }
+
+       if (t->set.mode & VDOA_MODE)
+               ipu->vdoa_en = 1;
+
+       /* init channels */
+       if (!(t->set.task & VDOA_ONLY)) {
+               ret = ipu_init_channel(ipu, t->set.ic_chan, &params);
+               if (ret < 0) {
+                       t->state = STATE_INIT_CHAN_FAIL;
+                       goto done;
+               }
+       }
+
+       if (deinterlace_3_field(t)) {
+               ret = ipu_init_channel(ipu, t->set.vdi_ic_p_chan, &params);
+               if (ret < 0) {
+                       t->state = STATE_INIT_CHAN_FAIL;
+                       goto done;
+               }
+               ret = ipu_init_channel(ipu, t->set.vdi_ic_n_chan, &params);
+               if (ret < 0) {
+                       t->state = STATE_INIT_CHAN_FAIL;
+                       goto done;
+               }
+       }
+
+       /* init channel bufs */
+       if ((IPU_PIX_FMT_TILED_NV12 == t->input.format) ||
+               (IPU_PIX_FMT_TILED_NV12F == t->input.format)) {
+               ret = init_tiled_ch_bufs(ipu, t);
+               if (ret < 0)
+                       goto done;
+       } else {
+               if ((deinterlace_3_field(t)) &&
+                       (IPU_PIX_FMT_TILED_NV12F != t->input.format)) {
+                       if (params.mem_prp_vf_mem.field_fmt ==
+                               IPU_DEINTERLACE_FIELD_TOP) {
+                               if (vdi_frame_idx) {
+                                       inbuf_p = t->input.paddr + t->set.istride +
+                                                       t->set.i_off;
+                                       inbuf = t->input.paddr_n + t->set.i_off;
+                                       inbuf_n = t->input.paddr_n + t->set.istride +
+                                                       t->set.i_off;
+                                       params.mem_prp_vf_mem.field_fmt =
+                                               IPU_DEINTERLACE_FIELD_BOTTOM;
+                               } else {
+                                       inbuf_p = t->input.paddr + t->set.i_off;
+                                       inbuf = t->input.paddr + t->set.istride + t->set.i_off;
+                                       inbuf_n = t->input.paddr_n + t->set.i_off;
+                               }
+                       } else {
+                               if (vdi_frame_idx) {
+                                       inbuf_p = t->input.paddr + t->set.i_off;
+                                       inbuf = t->input.paddr_n + t->set.istride + t->set.i_off;
+                                       inbuf_n = t->input.paddr_n + t->set.i_off;
+                                       params.mem_prp_vf_mem.field_fmt =
+                                               IPU_DEINTERLACE_FIELD_TOP;
+                               } else {
+                                       inbuf_p = t->input.paddr + t->set.istride +
+                                                       t->set.i_off;
+                                       inbuf = t->input.paddr + t->set.i_off;
+                                       inbuf_n = t->input.paddr_n + t->set.istride +
+                                                       t->set.i_off;
+                               }
+                       }
+               } else {
+                       if (t->input.deinterlace.enable) {
+                               if (params.mem_prp_vf_mem.field_fmt ==
+                                       IPU_DEINTERLACE_FIELD_TOP) {
+                                       if (vdi_frame_idx) {
+                                               inbuf = t->input.paddr + t->set.istride + t->set.i_off;
+                                               params.mem_prp_vf_mem.field_fmt =
+                                                       IPU_DEINTERLACE_FIELD_BOTTOM;
+                                       } else
+                                               inbuf = t->input.paddr + t->set.i_off;
+                               } else {
+                                       if (vdi_frame_idx) {
+                                               inbuf = t->input.paddr + t->set.i_off;
+                                               params.mem_prp_vf_mem.field_fmt =
+                                                       IPU_DEINTERLACE_FIELD_TOP;
+                                       } else
+                                               inbuf = t->input.paddr + t->set.istride + t->set.i_off;
+                               }
+                       } else
+                               inbuf = t->input.paddr + t->set.i_off;
+               }
+
+               if (t->overlay_en)
+                       ovbuf = t->overlay.paddr + t->set.ov_off;
+       }
+       if (t->overlay_en && (t->overlay.alpha.mode == IPU_ALPHA_MODE_LOCAL))
+               ov_alp_buf = t->overlay.alpha.loc_alp_paddr
+                       + t->set.ov_alpha_off;
+
+       if ((IPU_PIX_FMT_TILED_NV12 != t->input.format) &&
+               (IPU_PIX_FMT_TILED_NV12F != t->input.format)) {
+               ret = ipu_init_channel_buffer(ipu,
+                               t->set.ic_chan,
+                               IPU_INPUT_BUFFER,
+                               t->input.format,
+                               t->input.crop.w,
+                               t->input.crop.h,
+                               t->set.istride,
+                               IPU_ROTATE_NONE,
+                               inbuf,
+                               0,
+                               0,
+                               t->set.i_uoff,
+                               t->set.i_voff);
+               if (ret < 0) {
+                       t->state = STATE_INIT_CHAN_BUF_FAIL;
+                       goto done;
+               }
+       }
+       if (deinterlace_3_field(t) &&
+               (IPU_PIX_FMT_TILED_NV12F != t->input.format)) {
+               ret = ipu_init_channel_buffer(ipu,
+                               t->set.vdi_ic_p_chan,
+                               IPU_INPUT_BUFFER,
+                               t->input.format,
+                               t->input.crop.w,
+                               t->input.crop.h,
+                               t->set.istride,
+                               IPU_ROTATE_NONE,
+                               inbuf_p,
+                               0,
+                               0,
+                               t->set.i_uoff,
+                               t->set.i_voff);
+               if (ret < 0) {
+                       t->state = STATE_INIT_CHAN_BUF_FAIL;
+                       goto done;
+               }
+
+               ret = ipu_init_channel_buffer(ipu,
+                               t->set.vdi_ic_n_chan,
+                               IPU_INPUT_BUFFER,
+                               t->input.format,
+                               t->input.crop.w,
+                               t->input.crop.h,
+                               t->set.istride,
+                               IPU_ROTATE_NONE,
+                               inbuf_n,
+                               0,
+                               0,
+                               t->set.i_uoff,
+                               t->set.i_voff);
+               if (ret < 0) {
+                       t->state = STATE_INIT_CHAN_BUF_FAIL;
+                       goto done;
+               }
+       }
+
+       if (t->overlay_en) {
+               ret = ipu_init_channel_buffer(ipu,
+                               t->set.ic_chan,
+                               IPU_GRAPH_IN_BUFFER,
+                               t->overlay.format,
+                               t->overlay.crop.w,
+                               t->overlay.crop.h,
+                               t->set.ovstride,
+                               IPU_ROTATE_NONE,
+                               ovbuf,
+                               0,
+                               0,
+                               t->set.ov_uoff,
+                               t->set.ov_voff);
+               if (ret < 0) {
+                       t->state = STATE_INIT_CHAN_BUF_FAIL;
+                       goto done;
+               }
+       }
+
+       if (t->overlay.alpha.mode == IPU_ALPHA_MODE_LOCAL) {
+               ret = ipu_init_channel_buffer(ipu,
+                               t->set.ic_chan,
+                               IPU_ALPHA_IN_BUFFER,
+                               IPU_PIX_FMT_GENERIC,
+                               t->overlay.crop.w,
+                               t->overlay.crop.h,
+                               t->set.ov_alpha_stride,
+                               IPU_ROTATE_NONE,
+                               ov_alp_buf,
+                               0,
+                               0,
+                               0, 0);
+               if (ret < 0) {
+                       t->state = STATE_INIT_CHAN_BUF_FAIL;
+                       goto done;
+               }
+       }
+
+       if (!(t->set.task & VDOA_ONLY)) {
+               ret = ipu_init_channel_buffer(ipu,
+                               t->set.ic_chan,
+                               IPU_OUTPUT_BUFFER,
+                               out_fmt,
+                               out_w,
+                               out_h,
+                               out_stride,
+                               out_rot,
+                               outbuf,
+                               0,
+                               0,
+                               out_uoff,
+                               out_voff);
+               if (ret < 0) {
+                       t->state = STATE_INIT_CHAN_BUF_FAIL;
+                       goto done;
+               }
+       }
+
+       if ((t->set.mode & VDOA_BAND_MODE) && (t->set.task & VDI_VF)) {
+               ret = ipu_link_channels(ipu, MEM_VDOA_MEM, t->set.ic_chan);
+               CHECK_RETCODE(ret < 0, "ipu_link_ch vdoa_ic",
+                               STATE_LINK_CHAN_FAIL, done, ret);
+       }
+
+done:
+       return ret;
+}
+
+static void uninit_ic(struct ipu_soc *ipu, struct ipu_task_entry *t)
+{
+       int ret;
+
+       if ((t->set.mode & VDOA_BAND_MODE) && (t->set.task & VDI_VF)) {
+               ret = ipu_unlink_channels(ipu, MEM_VDOA_MEM, t->set.ic_chan);
+               CHECK_RETCODE_CONT(ret < 0, "ipu_unlink_ch vdoa_ic",
+                               STATE_UNLINK_CHAN_FAIL, ret);
+       }
+       ipu_uninit_channel(ipu, t->set.ic_chan);
+       if (deinterlace_3_field(t)) {
+               ipu_uninit_channel(ipu, t->set.vdi_ic_p_chan);
+               ipu_uninit_channel(ipu, t->set.vdi_ic_n_chan);
+       }
+}
+
+static int init_rot(struct ipu_soc *ipu, struct ipu_task_entry *t)
+{
+       int ret = 0;
+       dma_addr_t inbuf = 0, outbuf = 0;
+       int in_uoff = 0, in_voff = 0;
+       int in_fmt, in_width, in_height, in_stride;
+
+       /* init channel */
+       ret = ipu_init_channel(ipu, t->set.rot_chan, NULL);
+       if (ret < 0) {
+               t->state = STATE_INIT_CHAN_FAIL;
+               goto done;
+       }
+
+       /* init channel buf */
+       /* is it need link to a ic channel */
+       if (ic_and_rot(t->set.mode)) {
+               in_fmt = t->set.r_fmt;
+               in_width = t->set.r_width;
+               in_height = t->set.r_height;
+               in_stride = t->set.r_stride;
+               inbuf = t->set.r_paddr;
+               in_uoff = 0;
+               in_voff = 0;
+       } else {
+               in_fmt = t->input.format;
+               in_width = t->input.crop.w;
+               in_height = t->input.crop.h;
+               in_stride = t->set.istride;
+               inbuf = t->input.paddr + t->set.i_off;
+               in_uoff = t->set.i_uoff;
+               in_voff = t->set.i_voff;
+       }
+       outbuf = t->output.paddr + t->set.o_off;
+
+       ret = ipu_init_channel_buffer(ipu,
+                       t->set.rot_chan,
+                       IPU_INPUT_BUFFER,
+                       in_fmt,
+                       in_width,
+                       in_height,
+                       in_stride,
+                       t->output.rotate,
+                       inbuf,
+                       0,
+                       0,
+                       in_uoff,
+                       in_voff);
+       if (ret < 0) {
+               t->state = STATE_INIT_CHAN_BUF_FAIL;
+               goto done;
+       }
+
+       ret = ipu_init_channel_buffer(ipu,
+                       t->set.rot_chan,
+                       IPU_OUTPUT_BUFFER,
+                       t->output.format,
+                       t->output.crop.w,
+                       t->output.crop.h,
+                       t->set.ostride,
+                       IPU_ROTATE_NONE,
+                       outbuf,
+                       0,
+                       0,
+                       t->set.o_uoff,
+                       t->set.o_voff);
+       if (ret < 0) {
+               t->state = STATE_INIT_CHAN_BUF_FAIL;
+               goto done;
+       }
+
+done:
+       return ret;
+}
+
+static void uninit_rot(struct ipu_soc *ipu, struct ipu_task_entry *t)
+{
+       ipu_uninit_channel(ipu, t->set.rot_chan);
+}
+
+static int get_irq(struct ipu_task_entry *t)
+{
+       int irq;
+       ipu_channel_t chan;
+
+       if (only_ic(t->set.mode))
+               chan = t->set.ic_chan;
+       else
+               chan = t->set.rot_chan;
+
+       switch (chan) {
+       case MEM_ROT_VF_MEM:
+               irq = IPU_IRQ_PRP_VF_ROT_OUT_EOF;
+               break;
+       case MEM_ROT_PP_MEM:
+               irq = IPU_IRQ_PP_ROT_OUT_EOF;
+               break;
+       case MEM_VDI_PRP_VF_MEM:
+       case MEM_PRP_VF_MEM:
+               irq = IPU_IRQ_PRP_VF_OUT_EOF;
+               break;
+       case MEM_PP_MEM:
+               irq = IPU_IRQ_PP_OUT_EOF;
+               break;
+       case MEM_VDI_MEM:
+               irq = IPU_IRQ_VDIC_OUT_EOF;
+               break;
+       default:
+               irq = -EINVAL;
+       }
+
+       return irq;
+}
+
+static irqreturn_t task_irq_handler(int irq, void *dev_id)
+{
+       struct ipu_task_entry *prev_tsk = dev_id;
+
+       CHECK_PERF(&prev_tsk->ts_inirq);
+       complete(&prev_tsk->irq_comp);
+       dev_dbg(prev_tsk->dev, "[0x%p] no-0x%x in-irq!",
+                                prev_tsk, prev_tsk->task_no);
+
+       return IRQ_HANDLED;
+}
+
+/* Fix deinterlace up&down split mode medium line */
+static void vdi_split_process(struct ipu_soc *ipu, struct ipu_task_entry *t)
+{
+       u32 vdi_size;
+       u32 vdi_save_lines;
+       u32 stripe_mode;
+       u32 task_no;
+       u32 i, offset_addr;
+       u32 line_size;
+       unsigned char  *base_off;
+       struct ipu_task_entry *parent = t->parent;
+       struct mutex *lock = &parent->vdic_lock;
+
+       if (!parent) {
+               dev_err(t->dev, "ERR[0x%x]invalid parent\n", t->task_no);
+               return;
+       }
+       mutex_lock(lock);
+       stripe_mode = t->task_no & 0xf;
+       task_no = t->task_no >> 4;
+
+       /* Save both luma and chroma part for interleaved YUV(e.g. YUYV).
+        * Save luma part for non-interleaved and partial-interleaved
+        * YUV format (e.g NV12 and YV12). */
+       if (t->output.format == IPU_PIX_FMT_YUYV ||
+                       t->output.format == IPU_PIX_FMT_UYVY)
+               line_size = t->output.crop.w * fmt_to_bpp(t->output.format)/8;
+       else
+               line_size = t->output.crop.w;
+
+       vdi_save_lines = (t->output.crop.h - t->set.sp_setting.ud_split_line)/2;
+       vdi_size = vdi_save_lines * line_size;
+       if (vdi_save_lines <= 0) {
+               dev_err(t->dev, "[0x%p] vdi_save_line error\n", (void *)t);
+               mutex_unlock(lock);
+               return;
+       }
+
+       /*check vditmpbuf buffer have alloced or buffer size is changed */
+       if ((vdi_save_lines != parent->old_save_lines) ||
+               (vdi_size != parent->old_size)) {
+               if (parent->vditmpbuf[0] != NULL)
+                       kfree(parent->vditmpbuf[0]);
+               if (parent->vditmpbuf[1] != NULL)
+                       kfree(parent->vditmpbuf[1]);
+
+               parent->vditmpbuf[0] = kmalloc(vdi_size, GFP_KERNEL);
+               if (parent->vditmpbuf[0] == NULL) {
+                       dev_err(t->dev,
+                               "[0x%p]Falied Alloc vditmpbuf[0]\n", (void *)t);
+                       mutex_unlock(lock);
+                       return;
+               }
+               memset(parent->vditmpbuf[0], 0, vdi_size);
+
+               parent->vditmpbuf[1] = kmalloc(vdi_size, GFP_KERNEL);
+               if (parent->vditmpbuf[1] == NULL) {
+                       dev_err(t->dev,
+                               "[0x%p]Falied Alloc vditmpbuf[1]\n", (void *)t);
+                       mutex_unlock(lock);
+                       return;
+               }
+               memset(parent->vditmpbuf[1], 0, vdi_size);
+
+               parent->old_save_lines = vdi_save_lines;
+               parent->old_size = vdi_size;
+       }
+
+       if (pfn_valid(t->output.paddr >> PAGE_SHIFT)) {
+               base_off = page_address(pfn_to_page(t->output.paddr >> PAGE_SHIFT));
+               base_off += t->output.paddr & ((1 << PAGE_SHIFT) - 1);
+       } else {
+               base_off = (char *)ioremap_nocache(t->output.paddr,
+                               t->output.width * t->output.height *
+                               fmt_to_bpp(t->output.format)/8);
+       }
+       if (base_off == NULL) {
+               dev_err(t->dev, "ERR[0x%p]Failed get virtual address\n", t);
+               mutex_unlock(lock);
+               return;
+       }
+
+       /* UP stripe or UP&LEFT stripe */
+       if ((stripe_mode == UP_STRIPE) ||
+                       (stripe_mode == (UP_STRIPE | LEFT_STRIPE))) {
+               if (!parent->buf0filled) {
+                       offset_addr = t->set.o_off +
+                               t->set.sp_setting.ud_split_line*t->set.ostride;
+                       dmac_flush_range(base_off + offset_addr,
+                                       base_off + offset_addr + vdi_size);
+                       outer_flush_range(t->output.paddr + offset_addr,
+                               t->output.paddr + offset_addr + vdi_size);
+
+                       for (i = 0; i < vdi_save_lines; i++)
+                               memcpy(parent->vditmpbuf[0] + i*line_size,
+                                       base_off + offset_addr +
+                                       i*t->set.ostride, line_size);
+                       parent->buf0filled = true;
+               } else {
+                       offset_addr = t->set.o_off + (t->output.crop.h -
+                                       vdi_save_lines) * t->set.ostride;
+                       for (i = 0; i < vdi_save_lines; i++)
+                               memcpy(base_off + offset_addr + i*t->set.ostride,
+                                               parent->vditmpbuf[0] + i*line_size, line_size);
+
+                       dmac_flush_range(base_off + offset_addr,
+                                       base_off + offset_addr + i*t->set.ostride);
+                       outer_flush_range(t->output.paddr + offset_addr,
+                                       t->output.paddr + offset_addr + i*t->set.ostride);
+                       parent->buf0filled = false;
+               }
+       }
+       /*Down stripe or Down&Left stripe*/
+       else if ((stripe_mode == DOWN_STRIPE) ||
+                       (stripe_mode == (DOWN_STRIPE | LEFT_STRIPE))) {
+               if (!parent->buf0filled) {
+                       offset_addr = t->set.o_off + vdi_save_lines*t->set.ostride;
+                       dmac_flush_range(base_off + offset_addr,
+                                       base_off + offset_addr + vdi_size);
+                       outer_flush_range(t->output.paddr + offset_addr,
+                                       t->output.paddr + offset_addr + vdi_size);
+
+                       for (i = 0; i < vdi_save_lines; i++)
+                               memcpy(parent->vditmpbuf[0] + i*line_size,
+                                               base_off + offset_addr + i*t->set.ostride,
+                                               line_size);
+                       parent->buf0filled = true;
+               } else {
+                       offset_addr = t->set.o_off;
+                       for (i = 0; i < vdi_save_lines; i++)
+                               memcpy(base_off + offset_addr + i*t->set.ostride,
+                                               parent->vditmpbuf[0] + i*line_size,
+                                               line_size);
+
+                       dmac_flush_range(base_off + offset_addr,
+                                       base_off + offset_addr + i*t->set.ostride);
+                       outer_flush_range(t->output.paddr + offset_addr,
+                                       t->output.paddr + offset_addr + i*t->set.ostride);
+                       parent->buf0filled = false;
+               }
+       }
+       /*Up&Right stripe*/
+       else if (stripe_mode == (UP_STRIPE | RIGHT_STRIPE)) {
+               if (!parent->buf1filled) {
+                       offset_addr = t->set.o_off +
+                               t->set.sp_setting.ud_split_line*t->set.ostride;
+                       dmac_flush_range(base_off + offset_addr,
+                                       base_off + offset_addr + vdi_size);
+                       outer_flush_range(t->output.paddr + offset_addr,
+                                       t->output.paddr + offset_addr + vdi_size);
+
+                       for (i = 0; i < vdi_save_lines; i++)
+                               memcpy(parent->vditmpbuf[1] + i*line_size,
+                                               base_off + offset_addr + i*t->set.ostride,
+                                               line_size);
+                       parent->buf1filled = true;
+               } else {
+                       offset_addr = t->set.o_off +
+                               (t->output.crop.h - vdi_save_lines)*t->set.ostride;
+                       for (i = 0; i < vdi_save_lines; i++)
+                               memcpy(base_off + offset_addr + i*t->set.ostride,
+                                               parent->vditmpbuf[1] + i*line_size,
+                                               line_size);
+
+                       dmac_flush_range(base_off + offset_addr,
+                                       base_off + offset_addr + i*t->set.ostride);
+                       outer_flush_range(t->output.paddr + offset_addr,
+                                       t->output.paddr + offset_addr + i*t->set.ostride);
+                       parent->buf1filled = false;
+               }
+       }
+       /*Down stripe or Down&Right stript*/
+       else if (stripe_mode == (DOWN_STRIPE | RIGHT_STRIPE)) {
+               if (!parent->buf1filled) {
+                       offset_addr = t->set.o_off + vdi_save_lines*t->set.ostride;
+                       dmac_flush_range(base_off + offset_addr,
+                                       base_off + offset_addr + vdi_save_lines*t->set.ostride);
+                       outer_flush_range(t->output.paddr + offset_addr,
+                                       t->output.paddr + offset_addr + vdi_save_lines*t->set.ostride);
+
+                       for (i = 0; i < vdi_save_lines; i++)
+                               memcpy(parent->vditmpbuf[1] + i*line_size,
+                                               base_off + offset_addr + i*t->set.ostride,
+                                               line_size);
+                       parent->buf1filled = true;
+               } else {
+                       offset_addr = t->set.o_off;
+                       for (i = 0; i < vdi_save_lines; i++)
+                               memcpy(base_off + offset_addr + i*t->set.ostride,
+                                               parent->vditmpbuf[1] + i*line_size,
+                                               line_size);
+
+                       dmac_flush_range(base_off + offset_addr,
+                                       base_off + offset_addr + vdi_save_lines*t->set.ostride);
+                       outer_flush_range(t->output.paddr + offset_addr,
+                                       t->output.paddr + offset_addr + vdi_save_lines*t->set.ostride);
+                       parent->buf1filled = false;
+               }
+       }
+       if (!pfn_valid(t->output.paddr >> PAGE_SHIFT))
+               iounmap(base_off);
+       mutex_unlock(lock);
+}
+
+static void do_task_release(struct ipu_task_entry *t, int fail)
+{
+       int ret;
+       struct ipu_soc *ipu = t->ipu;
+
+       if (t->input.deinterlace.enable && !fail &&
+                       (t->task_no & (UP_STRIPE | DOWN_STRIPE)))
+               vdi_split_process(ipu, t);
+
+       ipu_free_irq(ipu, t->irq, t);
+
+       if (t->vdoa_dma.vaddr)
+               dma_free_coherent(t->dev,
+                       t->vdoa_dma.size,
+                       t->vdoa_dma.vaddr,
+                       t->vdoa_dma.paddr);
+
+       if (only_ic(t->set.mode)) {
+               ret = ipu_disable_channel(ipu, t->set.ic_chan, true);
+               CHECK_RETCODE_CONT(ret < 0, "ipu_disable_ch only_ic",
+                               STATE_DISABLE_CHAN_FAIL, ret);
+               if (deinterlace_3_field(t)) {
+                       ret = ipu_disable_channel(ipu, t->set.vdi_ic_p_chan,
+                                                       true);
+                       CHECK_RETCODE_CONT(ret < 0, "ipu_disable_ch only_ic_p",
+                                       STATE_DISABLE_CHAN_FAIL, ret);
+                       ret = ipu_disable_channel(ipu, t->set.vdi_ic_n_chan,
+                                                       true);
+                       CHECK_RETCODE_CONT(ret < 0, "ipu_disable_ch only_ic_n",
+                                       STATE_DISABLE_CHAN_FAIL, ret);
+               }
+       } else if (only_rot(t->set.mode)) {
+               ret = ipu_disable_channel(ipu, t->set.rot_chan, true);
+               CHECK_RETCODE_CONT(ret < 0, "ipu_disable_ch only_rot",
+                               STATE_DISABLE_CHAN_FAIL, ret);
+       } else if (ic_and_rot(t->set.mode)) {
+               ret = ipu_unlink_channels(ipu, t->set.ic_chan, t->set.rot_chan);
+               CHECK_RETCODE_CONT(ret < 0, "ipu_unlink_ch",
+                               STATE_UNLINK_CHAN_FAIL, ret);
+               ret = ipu_disable_channel(ipu, t->set.rot_chan, true);
+               CHECK_RETCODE_CONT(ret < 0, "ipu_disable_ch ic_and_rot-rot",
+                               STATE_DISABLE_CHAN_FAIL, ret);
+               ret = ipu_disable_channel(ipu, t->set.ic_chan, true);
+               CHECK_RETCODE_CONT(ret < 0, "ipu_disable_ch ic_and_rot-ic",
+                               STATE_DISABLE_CHAN_FAIL, ret);
+               if (deinterlace_3_field(t)) {
+                       ret = ipu_disable_channel(ipu, t->set.vdi_ic_p_chan,
+                                                       true);
+                       CHECK_RETCODE_CONT(ret < 0, "ipu_disable_ch icrot-ic-p",
+                                       STATE_DISABLE_CHAN_FAIL, ret);
+                       ret = ipu_disable_channel(ipu, t->set.vdi_ic_n_chan,
+                                                       true);
+                       CHECK_RETCODE_CONT(ret < 0, "ipu_disable_ch icrot-ic-n",
+                                       STATE_DISABLE_CHAN_FAIL, ret);
+               }
+       }
+
+       if (only_ic(t->set.mode))
+               uninit_ic(ipu, t);
+       else if (only_rot(t->set.mode))
+               uninit_rot(ipu, t);
+       else if (ic_and_rot(t->set.mode)) {
+               uninit_ic(ipu, t);
+               uninit_rot(ipu, t);
+       }
+
+       t->state = STATE_OK;
+       CHECK_PERF(&t->ts_rel);
+       return;
+}
+
+static void do_task_vdoa_only(struct ipu_task_entry *t)
+{
+       int ret;
+
+       ret = init_tiled_ch_bufs(NULL, t);
+       CHECK_RETCODE(ret < 0, "do_vdoa_only", STATE_ERR, out, ret);
+       ret = vdoa_start(t->vdoa_handle, VDOA_DEF_TIMEOUT_MS);
+       vdoa_stop(t->vdoa_handle);
+       CHECK_RETCODE(ret < 0, "vdoa_wait4complete, do_vdoa_only",
+                       STATE_VDOA_IRQ_TIMEOUT, out, ret);
+
+       t->state = STATE_OK;
+out:
+       return;
+}
+
+static void do_task(struct ipu_task_entry *t)
+{
+       int r_size;
+       int irq;
+       int ret;
+       uint32_t busy;
+       struct ipu_soc *ipu = t->ipu;
+
+       CHECK_PERF(&t->ts_dotask);
+
+       if (!ipu) {
+               t->state = STATE_NO_IPU;
+               return;
+       }
+
+       init_completion(&t->irq_comp);
+       dev_dbg(ipu->dev, "[0x%p]Do task no:0x%x: id %d\n", (void *)t,
+                t->task_no, t->task_id);
+       dump_task_info(t);
+
+       if (t->set.task & IC_PP) {
+               t->set.ic_chan = MEM_PP_MEM;
+               dev_dbg(ipu->dev, "[0x%p]ic channel MEM_PP_MEM\n", (void *)t);
+       } else if (t->set.task & IC_VF) {
+               t->set.ic_chan = MEM_PRP_VF_MEM;
+               dev_dbg(ipu->dev, "[0x%p]ic channel MEM_PRP_VF_MEM\n", (void *)t);
+       } else if (t->set.task & VDI_VF) {
+               if (t->set.mode & VDOA_BAND_MODE) {
+                       t->set.ic_chan = MEM_VDI_MEM;
+                       if (deinterlace_3_field(t)) {
+                               t->set.vdi_ic_p_chan = MEM_VDI_MEM_P;
+                               t->set.vdi_ic_n_chan = MEM_VDI_MEM_N;
+                       }
+                       dev_dbg(ipu->dev, "[0x%p]ic ch MEM_VDI_MEM\n",
+                                        (void *)t);
+               } else {
+                       t->set.ic_chan = MEM_VDI_PRP_VF_MEM;
+                       if (deinterlace_3_field(t)) {
+                               t->set.vdi_ic_p_chan = MEM_VDI_PRP_VF_MEM_P;
+                               t->set.vdi_ic_n_chan = MEM_VDI_PRP_VF_MEM_N;
+                       }
+                       dev_dbg(ipu->dev,
+                               "[0x%p]ic ch MEM_VDI_PRP_VF_MEM\n", t);
+               }
+       }
+
+       if (t->set.task & ROT_PP) {
+               t->set.rot_chan = MEM_ROT_PP_MEM;
+               dev_dbg(ipu->dev, "[0x%p]rot channel MEM_ROT_PP_MEM\n", (void *)t);
+       } else if (t->set.task & ROT_VF) {
+               t->set.rot_chan = MEM_ROT_VF_MEM;
+               dev_dbg(ipu->dev, "[0x%p]rot channel MEM_ROT_VF_MEM\n", (void *)t);
+       }
+
+       if (t->task_id == IPU_TASK_ID_VF)
+               busy = ic_vf_pp_is_busy(ipu, true);
+       else if (t->task_id == IPU_TASK_ID_PP)
+               busy = ic_vf_pp_is_busy(ipu, false);
+       else {
+               dev_err(ipu->dev, "ERR[no:0x%x]ipu task_id:%d invalid!\n",
+                               t->task_no, t->task_id);
+               return;
+       }
+       if (busy) {
+               dev_err(ipu->dev, "ERR[0x%p-no:0x%x]ipu task_id:%d busy!\n",
+                               (void *)t, t->task_no, t->task_id);
+               t->state = STATE_IPU_BUSY;
+               return;
+       }
+
+       irq = get_irq(t);
+       if (irq < 0) {
+               t->state = STATE_NO_IRQ;
+               return;
+       }
+       t->irq = irq;
+
+       /* channel setup */
+       if (only_ic(t->set.mode)) {
+               dev_dbg(t->dev, "[0x%p]only ic mode\n", (void *)t);
+               ret = init_ic(ipu, t);
+               CHECK_RETCODE(ret < 0, "init_ic only_ic",
+                               t->state, chan_setup, ret);
+       } else if (only_rot(t->set.mode)) {
+               dev_dbg(t->dev, "[0x%p]only rot mode\n", (void *)t);
+               ret = init_rot(ipu, t);
+               CHECK_RETCODE(ret < 0, "init_rot only_rot",
+                               t->state, chan_setup, ret);
+       } else if (ic_and_rot(t->set.mode)) {
+               int rot_idx = (t->task_id == IPU_TASK_ID_VF) ? 0 : 1;
+
+               dev_dbg(t->dev, "[0x%p]ic + rot mode\n", (void *)t);
+               t->set.r_fmt = t->output.format;
+               if (t->output.rotate >= IPU_ROTATE_90_RIGHT) {
+                       t->set.r_width = t->output.crop.h;
+                       t->set.r_height = t->output.crop.w;
+               } else {
+                       t->set.r_width = t->output.crop.w;
+                       t->set.r_height = t->output.crop.h;
+               }
+               t->set.r_stride = t->set.r_width *
+                       bytes_per_pixel(t->set.r_fmt);
+               r_size = PAGE_ALIGN(t->set.r_width * t->set.r_height
+                       * fmt_to_bpp(t->set.r_fmt)/8);
+
+               if (r_size > ipu->rot_dma[rot_idx].size) {
+                       dev_dbg(t->dev, "[0x%p]realloc rot buffer\n", (void *)t);
+
+                       if (ipu->rot_dma[rot_idx].vaddr)
+                               dma_free_coherent(t->dev,
+                                       ipu->rot_dma[rot_idx].size,
+                                       ipu->rot_dma[rot_idx].vaddr,
+                                       ipu->rot_dma[rot_idx].paddr);
+
+                       ipu->rot_dma[rot_idx].size = r_size;
+                       ipu->rot_dma[rot_idx].vaddr = dma_alloc_coherent(t->dev,
+                                               r_size,
+                                               &ipu->rot_dma[rot_idx].paddr,
+                                               GFP_DMA | GFP_KERNEL);
+                       CHECK_RETCODE(ipu->rot_dma[rot_idx].vaddr == NULL,
+                                       "ic_and_rot", STATE_SYS_NO_MEM,
+                                       chan_setup, -ENOMEM);
+               }
+               t->set.r_paddr = ipu->rot_dma[rot_idx].paddr;
+
+               dev_dbg(t->dev, "[0x%p]rotation:\n", (void *)t);
+               dev_dbg(t->dev, "[0x%p]\tformat = 0x%x\n", (void *)t, t->set.r_fmt);
+               dev_dbg(t->dev, "[0x%p]\twidth = %d\n", (void *)t, t->set.r_width);
+               dev_dbg(t->dev, "[0x%p]\theight = %d\n", (void *)t, t->set.r_height);
+               dev_dbg(t->dev, "[0x%p]\tpaddr = 0x%x\n", (void *)t, t->set.r_paddr);
+               dev_dbg(t->dev, "[0x%p]\trstride = %d\n", (void *)t, t->set.r_stride);
+
+               ret = init_ic(ipu, t);
+               CHECK_RETCODE(ret < 0, "init_ic ic_and_rot",
+                               t->state, chan_setup, ret);
+               ret = init_rot(ipu, t);
+               CHECK_RETCODE(ret < 0, "init_rot ic_and_rot",
+                               t->state, chan_setup, ret);
+               ret = ipu_link_channels(ipu, t->set.ic_chan,
+                               t->set.rot_chan);
+               CHECK_RETCODE(ret < 0, "ipu_link_ch ic_and_rot",
+                               STATE_LINK_CHAN_FAIL, chan_setup, ret);
+       } else {
+               dev_err(t->dev, "ERR [0x%p]do task: should not be here\n", t);
+               t->state = STATE_ERR;
+               return;
+       }
+
+       ret = ipu_request_irq(ipu, irq, task_irq_handler, 0, NULL, t);
+       CHECK_RETCODE(ret < 0, "ipu_req_irq",
+                       STATE_IRQ_FAIL, chan_setup, ret);
+
+       /* enable/start channel */
+       if (only_ic(t->set.mode)) {
+               ret = ipu_enable_channel(ipu, t->set.ic_chan);
+               CHECK_RETCODE(ret < 0, "ipu_enable_ch only_ic",
+                               STATE_ENABLE_CHAN_FAIL, chan_en, ret);
+               if (deinterlace_3_field(t)) {
+                       ret = ipu_enable_channel(ipu, t->set.vdi_ic_p_chan);
+                       CHECK_RETCODE(ret < 0, "ipu_enable_ch only_ic_p",
+                                       STATE_ENABLE_CHAN_FAIL, chan_en, ret);
+                       ret = ipu_enable_channel(ipu, t->set.vdi_ic_n_chan);
+                       CHECK_RETCODE(ret < 0, "ipu_enable_ch only_ic_n",
+                                       STATE_ENABLE_CHAN_FAIL, chan_en, ret);
+               }
+
+               ret = ipu_select_buffer(ipu, t->set.ic_chan, IPU_OUTPUT_BUFFER,
+                                       0);
+               CHECK_RETCODE(ret < 0, "ipu_sel_buf only_ic",
+                               STATE_SEL_BUF_FAIL, chan_buf, ret);
+               if (t->overlay_en) {
+                       ret = ipu_select_buffer(ipu, t->set.ic_chan,
+                                               IPU_GRAPH_IN_BUFFER, 0);
+                       CHECK_RETCODE(ret < 0, "ipu_sel_buf only_ic_g",
+                                       STATE_SEL_BUF_FAIL, chan_buf, ret);
+                       if (t->overlay.alpha.mode == IPU_ALPHA_MODE_LOCAL) {
+                               ret = ipu_select_buffer(ipu, t->set.ic_chan,
+                                                       IPU_ALPHA_IN_BUFFER, 0);
+                               CHECK_RETCODE(ret < 0, "ipu_sel_buf only_ic_a",
+                                               STATE_SEL_BUF_FAIL, chan_buf,
+                                               ret);
+                       }
+               }
+               if (!(t->set.mode & VDOA_BAND_MODE)) {
+                       if (deinterlace_3_field(t))
+                               ipu_select_multi_vdi_buffer(ipu, 0);
+                       else {
+                               ret = ipu_select_buffer(ipu, t->set.ic_chan,
+                                                       IPU_INPUT_BUFFER, 0);
+                               CHECK_RETCODE(ret < 0, "ipu_sel_buf only_ic_i",
+                                       STATE_SEL_BUF_FAIL, chan_buf, ret);
+                       }
+               }
+       } else if (only_rot(t->set.mode)) {
+               ret = ipu_enable_channel(ipu, t->set.rot_chan);
+               CHECK_RETCODE(ret < 0, "ipu_enable_ch only_rot",
+                               STATE_ENABLE_CHAN_FAIL, chan_en, ret);
+               ret = ipu_select_buffer(ipu, t->set.rot_chan,
+                                               IPU_OUTPUT_BUFFER, 0);
+               CHECK_RETCODE(ret < 0, "ipu_sel_buf only_rot_o",
+                               STATE_SEL_BUF_FAIL, chan_buf, ret);
+               ret = ipu_select_buffer(ipu, t->set.rot_chan,
+                                               IPU_INPUT_BUFFER, 0);
+               CHECK_RETCODE(ret < 0, "ipu_sel_buf only_rot_i",
+                               STATE_SEL_BUF_FAIL, chan_buf, ret);
+       } else if (ic_and_rot(t->set.mode)) {
+               ret = ipu_enable_channel(ipu, t->set.rot_chan);
+               CHECK_RETCODE(ret < 0, "ipu_enable_ch ic_and_rot-rot",
+                               STATE_ENABLE_CHAN_FAIL, chan_en, ret);
+               ret = ipu_enable_channel(ipu, t->set.ic_chan);
+               CHECK_RETCODE(ret < 0, "ipu_enable_ch ic_and_rot-ic",
+                               STATE_ENABLE_CHAN_FAIL, chan_en, ret);
+               if (deinterlace_3_field(t)) {
+                       ret = ipu_enable_channel(ipu, t->set.vdi_ic_p_chan);
+                       CHECK_RETCODE(ret < 0, "ipu_enable_ch ic_and_rot-p",
+                                       STATE_ENABLE_CHAN_FAIL, chan_en, ret);
+                       ret = ipu_enable_channel(ipu, t->set.vdi_ic_n_chan);
+                       CHECK_RETCODE(ret < 0, "ipu_enable_ch ic_and_rot-n",
+                                       STATE_ENABLE_CHAN_FAIL, chan_en, ret);
+               }
+
+               ret = ipu_select_buffer(ipu, t->set.rot_chan,
+                                               IPU_OUTPUT_BUFFER, 0);
+               CHECK_RETCODE(ret < 0, "ipu_sel_buf ic_and_rot-rot-o",
+                               STATE_SEL_BUF_FAIL, chan_buf, ret);
+               if (t->overlay_en) {
+                       ret = ipu_select_buffer(ipu, t->set.ic_chan,
+                                                       IPU_GRAPH_IN_BUFFER, 0);
+                       CHECK_RETCODE(ret < 0, "ipu_sel_buf ic_and_rot-ic-g",
+                                       STATE_SEL_BUF_FAIL, chan_buf, ret);
+                       if (t->overlay.alpha.mode == IPU_ALPHA_MODE_LOCAL) {
+                               ret = ipu_select_buffer(ipu, t->set.ic_chan,
+                                                       IPU_ALPHA_IN_BUFFER, 0);
+                               CHECK_RETCODE(ret < 0, "ipu_sel_buf icrot-ic-a",
+                                               STATE_SEL_BUF_FAIL,
+                                               chan_buf, ret);
+                       }
+               }
+               ret = ipu_select_buffer(ipu, t->set.ic_chan,
+                                               IPU_OUTPUT_BUFFER, 0);
+               CHECK_RETCODE(ret < 0, "ipu_sel_buf ic_and_rot-ic-o",
+                               STATE_SEL_BUF_FAIL, chan_buf, ret);
+               if (deinterlace_3_field(t))
+                       ipu_select_multi_vdi_buffer(ipu, 0);
+               else {
+                       ret = ipu_select_buffer(ipu, t->set.ic_chan,
+                                                       IPU_INPUT_BUFFER, 0);
+                       CHECK_RETCODE(ret < 0, "ipu_sel_buf ic_and_rot-ic-i",
+                                       STATE_SEL_BUF_FAIL, chan_buf, ret);
+               }
+       }
+
+       if (need_split(t))
+               t->state = STATE_IN_PROGRESS;
+
+       if (t->set.mode & VDOA_BAND_MODE) {
+               ret = vdoa_start(t->vdoa_handle, VDOA_DEF_TIMEOUT_MS);
+               CHECK_RETCODE(ret < 0, "vdoa_wait4complete, do_vdoa_band",
+                               STATE_VDOA_IRQ_TIMEOUT, chan_rel, ret);
+       }
+
+       CHECK_PERF(&t->ts_waitirq);
+       ret = wait_for_completion_timeout(&t->irq_comp,
+                                msecs_to_jiffies(t->timeout - DEF_DELAY_MS));
+       CHECK_PERF(&t->ts_wakeup);
+       CHECK_RETCODE(ret == 0, "wait_for_comp_timeout",
+                       STATE_IRQ_TIMEOUT, chan_rel, ret);
+       dev_dbg(t->dev, "[0x%p] no-0x%x ipu irq done!", t, t->task_no);
+
+chan_rel:
+chan_buf:
+chan_en:
+chan_setup:
+       if (t->set.mode & VDOA_BAND_MODE)
+               vdoa_stop(t->vdoa_handle);
+       do_task_release(t, t->state >= STATE_ERR);
+       return;
+}
+
+static void do_task_vdoa_vdi(struct ipu_task_entry *t)
+{
+       int i;
+       int ret;
+       u32 stripe_width;
+
+       /* FIXME: crop mode not support now */
+       stripe_width = t->input.width >> 1;
+       t->input.crop.pos.x = 0;
+       t->input.crop.pos.y = 0;
+       t->input.crop.w = stripe_width;
+       t->input.crop.h = t->input.height;
+       t->output.crop.w = stripe_width;
+       t->output.crop.h = t->input.height;
+
+       for (i = 0; i < 2; i++) {
+               t->input.crop.pos.x = t->input.crop.pos.x + i * stripe_width;
+               t->output.crop.pos.x = t->output.crop.pos.x + i * stripe_width;
+               /* check input */
+               ret = set_crop(&t->input.crop, t->input.width, t->input.height,
+                       t->input.format);
+               if (ret < 0) {
+                       ret = STATE_ERR;
+                       goto done;
+               } else
+                       update_offset(t->input.format,
+                                       t->input.width, t->input.height,
+                                       t->input.crop.pos.x,
+                                       t->input.crop.pos.y,
+                                       &t->set.i_off, &t->set.i_uoff,
+                                       &t->set.i_voff, &t->set.istride);
+               dev_dbg(t->dev, "i_off:0x%x, i_uoff:0x%x, istride:%d.\n",
+                       t->set.i_off, t->set.i_uoff, t->set.istride);
+               /* check output */
+               ret = set_crop(&t->output.crop, t->input.width,
+                                       t->output.height, t->output.format);
+               if (ret < 0) {
+                       ret = STATE_ERR;
+                       goto done;
+               } else
+                       update_offset(t->output.format,
+                                       t->output.width, t->output.height,
+                                       t->output.crop.pos.x,
+                                       t->output.crop.pos.y,
+                                       &t->set.o_off, &t->set.o_uoff,
+                                       &t->set.o_voff, &t->set.ostride);
+
+               dev_dbg(t->dev, "o_off:0x%x, o_uoff:0x%x, ostride:%d.\n",
+                               t->set.o_off, t->set.o_uoff, t->set.ostride);
+
+               do_task(t);
+       }
+
+       return;
+done:
+       dev_err(t->dev, "ERR %s set_crop.\n", __func__);
+       t->state = ret;
+       return;
+}
+
+static void get_res_do_task(struct ipu_task_entry *t)
+{
+       uint32_t        found;
+       uint32_t        split_child;
+       struct mutex    *lock;
+
+       found = get_vdoa_ipu_res(t);
+       if (!found) {
+               dev_err(t->dev, "ERR:[0x%p] no-0x%x can not get res\n",
+                       t, t->task_no);
+               return;
+       } else {
+               if (t->set.task & VDOA_ONLY)
+                       do_task_vdoa_only(t);
+               else if ((IPU_PIX_FMT_TILED_NV12F == t->input.format) &&
+                               (t->set.mode & VDOA_BAND_MODE) &&
+                               (t->input.crop.w > soc_max_vdi_in_width()))
+                       do_task_vdoa_vdi(t);
+               else
+                       do_task(t);
+               put_vdoa_ipu_res(t, 0);
+       }
+       if (t->state != STATE_OK) {
+               dev_err(t->dev, "ERR:[0x%p] no-0x%x state: %s\n",
+                       t, t->task_no, state_msg[t->state].msg);
+       }
+
+       split_child = need_split(t) && t->parent;
+       if (split_child) {
+               lock = &t->parent->split_lock;
+               mutex_lock(lock);
+               t->split_done = 1;
+               mutex_unlock(lock);
+               wake_up(&t->parent->split_waitq);
+       }
+
+       return;
+}
+
+static void wait_split_task_complete(struct ipu_task_entry *parent,
+                               struct ipu_split_task *sp_task, uint32_t size)
+{
+       struct ipu_task_entry *tsk = NULL;
+       int ret = 0, rc;
+       int j, idx = -1;
+       unsigned long flags;
+       struct mutex *lock = &parent->split_lock;
+       int k, busy_vf, busy_pp;
+       struct ipu_soc *ipu;
+       DECLARE_PERF_VAR;
+
+       for (j = 0; j < size; j++) {
+               rc = wait_event_timeout(
+                       parent->split_waitq,
+                       sp_task_check_done(sp_task, parent, size, &idx),
+                       msecs_to_jiffies(parent->timeout - DEF_DELAY_MS));
+               if (!rc) {
+                       dev_err(parent->dev,
+                               "ERR:[0x%p] no-0x%x, split_task timeout,j:%d,"
+                               "size:%d.\n",
+                                parent, parent->task_no, j, size);
+                       ret = -ETIMEDOUT;
+                       goto out;
+               } else {
+                       if (idx < 0) {
+                               dev_err(parent->dev,
+                               "ERR:[0x%p] no-0x%x, invalid task idx:%d\n",
+                                parent, parent->task_no, idx);
+                               continue;
+                       }
+                       tsk = sp_task[idx].child_task;
+                       mutex_lock(lock);
+                       if (!tsk->split_done || !tsk->ipu)
+                               dev_err(tsk->dev,
+                               "ERR:no-0x%x,split not done:%d/null ipu:0x%p\n",
+                                tsk->task_no, tsk->split_done, tsk->ipu);
+                       tsk->split_done = 0;
+                       mutex_unlock(lock);
+
+                       dev_dbg(tsk->dev,
+                               "[0x%p] no-0x%x sp_tsk[%d] done,state:%d.\n",
+                                tsk, tsk->task_no, idx, tsk->state);
+                       #ifdef DBG_IPU_PERF
+                               CHECK_PERF(&tsk->ts_rel);
+                               PRINT_TASK_STATISTICS;
+                       #endif
+               }
+       }
+
+out:
+       if (ret == -ETIMEDOUT) {
+               /* debug */
+               for (k = 0; k < max_ipu_no; k++) {
+                       ipu = ipu_get_soc(k);
+                       if (IS_ERR(ipu)) {
+                               dev_err(parent->dev, "no:0x%x, null ipu:%d\n",
+                                parent->task_no, k);
+                       } else {
+                               busy_vf = ic_vf_pp_is_busy(ipu, true);
+                               busy_pp = ic_vf_pp_is_busy(ipu, false);
+                               dev_err(parent->dev,
+                                       "ERR:ipu[%d] busy_vf:%d, busy_pp:%d.\n",
+                                       k, busy_vf, busy_pp);
+                       }
+               }
+               for (k = 0; k < size; k++) {
+                       tsk = sp_task[k].child_task;
+                       if (!tsk)
+                               continue;
+                       dev_err(parent->dev,
+                               "ERR: sp_task[%d][0x%p] no-0x%x done:%d,"
+                                "state:%s,on_list:%d, ipu:0x%p,timeout!\n",
+                                k, tsk, tsk->task_no, tsk->split_done,
+                                state_msg[tsk->state].msg, tsk->task_in_list,
+                                tsk->ipu);
+               }
+       }
+
+       for (j = 0; j < size; j++) {
+               tsk = sp_task[j].child_task;
+               if (!tsk)
+                       continue;
+               spin_lock_irqsave(&ipu_task_list_lock, flags);
+               if (tsk->task_in_list) {
+                       list_del(&tsk->node);
+                       tsk->task_in_list = 0;
+                       dev_dbg(tsk->dev,
+                               "[0x%p] no-0x%x,id:%d sp_tsk timeout list_del.\n",
+                                tsk, tsk->task_no, tsk->task_id);
+               }
+               spin_unlock_irqrestore(&ipu_task_list_lock, flags);
+               if (!tsk->ipu)
+                       continue;
+               if (tsk->state != STATE_OK) {
+                       dev_err(tsk->dev,
+                               "ERR:[0x%p] no-0x%x,id:%d, sp_tsk state: %s\n",
+                                       tsk, tsk->task_no, tsk->task_id,
+                                       state_msg[tsk->state].msg);
+               }
+               kref_put(&tsk->refcount, task_mem_free);
+       }
+
+       kfree(parent->vditmpbuf[0]);
+       kfree(parent->vditmpbuf[1]);
+
+       if (ret < 0)
+               parent->state = STATE_TIMEOUT;
+       else
+               parent->state = STATE_OK;
+       return;
+}
+
+static inline int find_task(struct ipu_task_entry **t, int thread_id)
+{
+       int found;
+       unsigned long flags;
+       struct ipu_task_entry *tsk;
+       struct list_head *task_list = &ipu_task_list;
+
+       *t = NULL;
+       spin_lock_irqsave(&ipu_task_list_lock, flags);
+       found = !list_empty(task_list);
+       if (found) {
+               tsk = list_first_entry(task_list, struct ipu_task_entry, node);
+               if (tsk->task_in_list) {
+                       list_del(&tsk->node);
+                       tsk->task_in_list = 0;
+                       *t = tsk;
+                       kref_get(&tsk->refcount);
+                       dev_dbg(tsk->dev,
+                       "thread_id:%d,[0x%p] task_no:0x%x,mode:0x%x list_del\n",
+                       thread_id, tsk, tsk->task_no, tsk->set.mode);
+               } else
+                       dev_err(tsk->dev,
+                       "thread_id:%d,task_no:0x%x,mode:0x%x not on list_del\n",
+                       thread_id, tsk->task_no, tsk->set.mode);
+       }
+       spin_unlock_irqrestore(&ipu_task_list_lock, flags);
+
+       return found;
+}
+
+static int ipu_task_thread(void *argv)
+{
+       struct ipu_task_entry *tsk;
+       struct ipu_task_entry *sp_tsk0;
+       struct ipu_split_task sp_task[4];
+       /* priority lower than irq_thread */
+       const struct sched_param param = {
+               .sched_priority = MAX_USER_RT_PRIO/2 - 1,
+       };
+       int ret;
+       int curr_thread_id;
+       uint32_t size;
+       unsigned long flags;
+       unsigned int cpu;
+       struct cpumask cpu_mask;
+       struct ipu_thread_data *data = (struct ipu_thread_data *)argv;
+
+       thread_id++;
+       curr_thread_id = thread_id;
+       sched_setscheduler(current, SCHED_FIFO, &param);
+
+       if (!data->is_vdoa) {
+               cpu = cpumask_first(cpu_online_mask);
+               cpumask_set_cpu(cpu, &cpu_mask);
+               ret = sched_setaffinity(data->ipu->thread[data->id]->pid,
+                       &cpu_mask);
+               if (ret < 0) {
+                       pr_err("%s: sched_setaffinity fail:%d.\n", __func__, ret);
+               }
+               pr_debug("%s: sched_setaffinity cpu:%d.\n", __func__, cpu);
+       }
+
+       while (!kthread_should_stop()) {
+               int split_fail = 0;
+               int split_parent;
+               int split_child;
+
+               wait_event_interruptible(thread_waitq, find_task(&tsk, curr_thread_id));
+
+               if (!tsk) {
+                       pr_err("thread:%d can not find task.\n",
+                               curr_thread_id);
+                       continue;
+               }
+
+               /* note: other threads run split child task */
+               split_parent = need_split(tsk) && !tsk->parent;
+               split_child = need_split(tsk) && tsk->parent;
+               if (split_parent) {
+                       if ((tsk->set.split_mode == RL_SPLIT) ||
+                                (tsk->set.split_mode == UD_SPLIT))
+                               size = 2;
+                       else
+                               size = 4;
+                       ret = queue_split_task(tsk, sp_task, size);
+                       if (ret < 0) {
+                               split_fail = 1;
+                       } else {
+                               struct list_head *pos;
+
+                               spin_lock_irqsave(&ipu_task_list_lock, flags);
+
+                               sp_tsk0 = list_first_entry(&tsk->split_list,
+                                               struct ipu_task_entry, node);
+                               list_del(&sp_tsk0->node);
+
+                               list_for_each(pos, &tsk->split_list) {
+                                       struct ipu_task_entry *tmp;
+
+                                       tmp = list_entry(pos,
+                                               struct ipu_task_entry, node);
+                                       tmp->task_in_list = 1;
+                                       dev_dbg(tmp->dev,
+                                               "[0x%p] no-0x%x,id:%d sp_tsk "
+                                               "add_to_list.\n", tmp,
+                                               tmp->task_no, tmp->task_id);
+                               }
+                               /* add to global list */
+                               list_splice(&tsk->split_list, &ipu_task_list);
+
+                               spin_unlock_irqrestore(&ipu_task_list_lock,
+                                                                       flags);
+                               /* let the parent thread do the first sp_task */
+                               /* FIXME: ensure the correct sequence for split
+                                       4size: 5/6->9/a*/
+                               if (!sp_tsk0)
+                                       dev_err(tsk->dev,
+                                       "ERR: no-0x%x,can not get split_tsk0\n",
+                                       tsk->task_no);
+                               wake_up_interruptible(&thread_waitq);
+                               get_res_do_task(sp_tsk0);
+                               dev_dbg(sp_tsk0->dev,
+                                       "thread:%d complete tsk no:0x%x.\n",
+                                       curr_thread_id, sp_tsk0->task_no);
+                               ret = atomic_read(&req_cnt);
+                               if (ret > 0) {
+                                       wake_up(&res_waitq);
+                                       dev_dbg(sp_tsk0->dev,
+                                       "sp_tsk0 sche thread:%d no:0x%x,"
+                                       "req_cnt:%d\n", curr_thread_id,
+                                       sp_tsk0->task_no, ret);
+                                       /* For other threads to get_res */
+                                       schedule();
+                               }
+                       }
+               } else
+                       get_res_do_task(tsk);
+
+               /* wait for all 4 sp_task finished here or timeout
+                       and then release all resources */
+               if (split_parent && !split_fail)
+                       wait_split_task_complete(tsk, sp_task, size);
+
+               if (!split_child) {
+                       atomic_inc(&tsk->done);
+                       wake_up(&tsk->task_waitq);
+               }
+
+               dev_dbg(tsk->dev, "thread:%d complete tsk no:0x%x-[0x%p].\n",
+                               curr_thread_id, tsk->task_no, tsk);
+               ret = atomic_read(&req_cnt);
+               if (ret > 0) {
+                       wake_up(&res_waitq);
+                       dev_dbg(tsk->dev, "sche thread:%d no:0x%x,req_cnt:%d\n",
+                               curr_thread_id, tsk->task_no, ret);
+                       /* note: give cpu to other threads to get_res */
+                       schedule();
+               }
+
+               kref_put(&tsk->refcount, task_mem_free);
+       }
+
+       pr_info("ERR %s exit.\n", __func__);
+       return 0;
+}
+
+int ipu_check_task(struct ipu_task *task)
+{
+       struct ipu_task_entry *tsk;
+       int ret = 0;
+
+       tsk = create_task_entry(task);
+       if (IS_ERR(tsk))
+               return PTR_ERR(tsk);
+
+       ret = check_task(tsk);
+
+       task->input = tsk->input;
+       task->output = tsk->output;
+       task->overlay = tsk->overlay;
+       dump_task_info(tsk);
+
+       kref_put(&tsk->refcount, task_mem_free);
+       if (ret != 0)
+               pr_debug("%s ret:%d.\n", __func__, ret);
+       return ret;
+}
+EXPORT_SYMBOL_GPL(ipu_check_task);
+
+int ipu_queue_task(struct ipu_task *task)
+{
+       struct ipu_task_entry *tsk;
+       unsigned long flags;
+       int ret;
+       u32 tmp_task_no;
+       DECLARE_PERF_VAR;
+
+       tsk = create_task_entry(task);
+       if (IS_ERR(tsk))
+               return PTR_ERR(tsk);
+
+       CHECK_PERF(&tsk->ts_queue);
+       ret = prepare_task(tsk);
+       if (ret < 0)
+               goto done;
+
+       if (need_split(tsk)) {
+               CHECK_PERF(&tsk->ts_dotask);
+               CHECK_PERF(&tsk->ts_waitirq);
+               CHECK_PERF(&tsk->ts_inirq);
+               CHECK_PERF(&tsk->ts_wakeup);
+       }
+
+       /* task_no last four bits for split task type*/
+       tmp_task_no = atomic_inc_return(&frame_no);
+       tsk->task_no = tmp_task_no << 4;
+       init_waitqueue_head(&tsk->task_waitq);
+
+       spin_lock_irqsave(&ipu_task_list_lock, flags);
+       list_add_tail(&tsk->node, &ipu_task_list);
+       tsk->task_in_list = 1;
+       dev_dbg(tsk->dev, "[0x%p,no-0x%x] list_add_tail\n", tsk, tsk->task_no);
+       spin_unlock_irqrestore(&ipu_task_list_lock, flags);
+       wake_up_interruptible(&thread_waitq);
+
+       ret = wait_event_timeout(tsk->task_waitq, atomic_read(&tsk->done),
+                                               msecs_to_jiffies(tsk->timeout));
+       if (0 == ret) {
+               /* note: the timeout should larger than the internal timeout!*/
+               ret = -ETIMEDOUT;
+               dev_err(tsk->dev, "ERR: [0x%p] no-0x%x, timeout:%dms!\n",
+                               tsk, tsk->task_no, tsk->timeout);
+       } else {
+               if (STATE_OK != tsk->state) {
+                       dev_err(tsk->dev, "ERR: [0x%p] no-0x%x,state %d: %s\n",
+                               tsk, tsk->task_no, tsk->state,
+                               state_msg[tsk->state].msg);
+                       ret = -ECANCELED;
+               } else
+                       ret = 0;
+       }
+
+       spin_lock_irqsave(&ipu_task_list_lock, flags);
+       if (tsk->task_in_list) {
+               list_del(&tsk->node);
+               tsk->task_in_list = 0;
+               dev_dbg(tsk->dev, "[0x%p] no:0x%x list_del\n",
+                               tsk, tsk->task_no);
+       }
+       spin_unlock_irqrestore(&ipu_task_list_lock, flags);
+
+#ifdef DBG_IPU_PERF
+       CHECK_PERF(&tsk->ts_rel);
+       PRINT_TASK_STATISTICS;
+       if (ts_frame_avg == 0)
+               ts_frame_avg = ts_frame.tv_nsec / NSEC_PER_USEC +
+                               ts_frame.tv_sec * USEC_PER_SEC;
+       else
+               ts_frame_avg = (ts_frame_avg + ts_frame.tv_nsec / NSEC_PER_USEC
+                               + ts_frame.tv_sec * USEC_PER_SEC)/2;
+       if (timespec_compare(&ts_frame, &ts_frame_max) > 0)
+               ts_frame_max = ts_frame;
+
+       atomic_inc(&frame_cnt);
+
+       if ((atomic_read(&frame_cnt) %  1000) == 0)
+               pr_debug("ipu_dev: max frame time:%ldus, avg frame time:%dus,"
+                       "frame_cnt:%d\n", ts_frame_max.tv_nsec / NSEC_PER_USEC
+                       + ts_frame_max.tv_sec * USEC_PER_SEC,
+                       ts_frame_avg, atomic_read(&frame_cnt));
+#endif
+done:
+       if (ret < 0)
+               dev_err(tsk->dev, "ERR: no-0x%x,ipu_queue_task err:%d\n",
+                               tsk->task_no, ret);
+
+       kref_put(&tsk->refcount, task_mem_free);
+
+       return ret;
+}
+EXPORT_SYMBOL_GPL(ipu_queue_task);
+
+static int mxc_ipu_open(struct inode *inode, struct file *file)
+{
+       file->private_data = (void *)atomic_inc_return(&file_index);
+       return 0;
+}
+
+static long mxc_ipu_ioctl(struct file *file,
+               unsigned int cmd, unsigned long arg)
+{
+       int __user *argp = (void __user *)arg;
+       int ret = 0;
+
+       switch (cmd) {
+       case IPU_CHECK_TASK:
+               {
+                       struct ipu_task task;
+
+                       if (copy_from_user
+                                       (&task, (struct ipu_task *) arg,
+                                        sizeof(struct ipu_task)))
+                               return -EFAULT;
+                       ret = ipu_check_task(&task);
+                       if (copy_to_user((struct ipu_task *) arg,
+                               &task, sizeof(struct ipu_task)))
+                               return -EFAULT;
+                       break;
+               }
+       case IPU_QUEUE_TASK:
+               {
+                       struct ipu_task task;
+
+                       if (copy_from_user
+                                       (&task, (struct ipu_task *) arg,
+                                        sizeof(struct ipu_task)))
+                               return -EFAULT;
+                       ret = ipu_queue_task(&task);
+                       break;
+               }
+       case IPU_ALLOC:
+               {
+                       int size;
+                       struct ipu_alloc_list *mem;
+
+                       mem = kzalloc(sizeof(*mem), GFP_KERNEL);
+                       if (mem == NULL)
+                               return -ENOMEM;
+
+                       if (get_user(size, argp))
+                               return -EFAULT;
+
+                       mem->size = PAGE_ALIGN(size);
+
+                       mem->cpu_addr = dma_alloc_coherent(ipu_dev, size,
+                                                          &mem->phy_addr,
+                                                          GFP_DMA | GFP_KERNEL);
+                       if (mem->cpu_addr == NULL) {
+                               kfree(mem);
+                               return -ENOMEM;
+                       }
+                       mem->file_index = file->private_data;
+                       mutex_lock(&ipu_alloc_lock);
+                       list_add(&mem->list, &ipu_alloc_list);
+                       mutex_unlock(&ipu_alloc_lock);
+
+                       dev_dbg(ipu_dev, "allocated %d bytes @ 0x%08X\n",
+                               mem->size, mem->phy_addr);
+
+                       if (put_user(mem->phy_addr, argp))
+                               return -EFAULT;
+
+                       break;
+               }
+       case IPU_FREE:
+               {
+                       unsigned long offset;
+                       struct ipu_alloc_list *mem;
+
+                       if (get_user(offset, argp))
+                               return -EFAULT;
+
+                       ret = -EINVAL;
+                       mutex_lock(&ipu_alloc_lock);
+                       list_for_each_entry(mem, &ipu_alloc_list, list) {
+                               if (mem->phy_addr == offset) {
+                                       list_del(&mem->list);
+                                       dma_free_coherent(ipu_dev,
+                                                         mem->size,
+                                                         mem->cpu_addr,
+                                                         mem->phy_addr);
+                                       kfree(mem);
+                                       ret = 0;
+                                       break;
+                               }
+                       }
+                       mutex_unlock(&ipu_alloc_lock);
+                       if (0 == ret)
+                               dev_dbg(ipu_dev, "free %d bytes @ 0x%08X\n",
+                                       mem->size, mem->phy_addr);
+
+                       break;
+               }
+       default:
+               break;
+       }
+       return ret;
+}
+
+static int mxc_ipu_mmap(struct file *file, struct vm_area_struct *vma)
+{
+       bool found = false;
+       u32 len;
+       unsigned long offset = vma->vm_pgoff << PAGE_SHIFT;
+       struct ipu_alloc_list *mem;
+
+       mutex_lock(&ipu_alloc_lock);
+       list_for_each_entry(mem, &ipu_alloc_list, list) {
+               if (offset == mem->phy_addr) {
+                       found = true;
+                       len = mem->size;
+                       break;
+               }
+       }
+       mutex_unlock(&ipu_alloc_lock);
+       if (!found)
+               return -EINVAL;
+
+       if (vma->vm_end - vma->vm_start > len)
+               return -EINVAL;
+
+       vma->vm_page_prot = pgprot_writecombine(vma->vm_page_prot);
+
+       if (remap_pfn_range(vma, vma->vm_start, vma->vm_pgoff,
+                               vma->vm_end - vma->vm_start,
+                               vma->vm_page_prot)) {
+               printk(KERN_ERR
+                               "mmap failed!\n");
+               return -ENOBUFS;
+       }
+       return 0;
+}
+
+static int mxc_ipu_release(struct inode *inode, struct file *file)
+{
+       struct ipu_alloc_list *mem;
+       struct ipu_alloc_list *n;
+
+       mutex_lock(&ipu_alloc_lock);
+       list_for_each_entry_safe(mem, n, &ipu_alloc_list, list) {
+               if ((mem->cpu_addr != 0) &&
+                       (file->private_data == mem->file_index)) {
+                       list_del(&mem->list);
+                       dma_free_coherent(ipu_dev,
+                                         mem->size,
+                                         mem->cpu_addr,
+                                         mem->phy_addr);
+                       dev_dbg(ipu_dev, "rel-free %d bytes @ 0x%08X\n",
+                               mem->size, mem->phy_addr);
+                       kfree(mem);
+               }
+       }
+       mutex_unlock(&ipu_alloc_lock);
+       atomic_dec(&file_index);
+
+       return 0;
+}
+
+static struct file_operations mxc_ipu_fops = {
+       .owner = THIS_MODULE,
+       .open = mxc_ipu_open,
+       .mmap = mxc_ipu_mmap,
+       .release = mxc_ipu_release,
+       .unlocked_ioctl = mxc_ipu_ioctl,
+};
+
+int register_ipu_device(struct ipu_soc *ipu, int id)
+{
+       int ret = 0;
+       static int idx;
+       static struct ipu_thread_data thread_data[5];
+
+       if (!major) {
+               major = register_chrdev(0, "mxc_ipu", &mxc_ipu_fops);
+               if (major < 0) {
+                       printk(KERN_ERR "Unable to register mxc_ipu as a char device\n");
+                       ret = major;
+                       goto register_cdev_fail;
+               }
+
+               ipu_class = class_create(THIS_MODULE, "mxc_ipu");
+               if (IS_ERR(ipu_class)) {
+                       ret = PTR_ERR(ipu_class);
+                       goto ipu_class_fail;
+               }
+
+               ipu_dev = device_create(ipu_class, NULL, MKDEV(major, 0),
+                               NULL, "mxc_ipu");
+               if (IS_ERR(ipu_dev)) {
+                       ret = PTR_ERR(ipu_dev);
+                       goto dev_create_fail;
+               }
+               ipu_dev->dma_mask = kmalloc(sizeof(*ipu_dev->dma_mask), GFP_KERNEL);
+               *ipu_dev->dma_mask = DMA_BIT_MASK(32);
+               ipu_dev->coherent_dma_mask = DMA_BIT_MASK(32);
+
+               mutex_init(&ipu_ch_tbl.lock);
+       }
+       max_ipu_no = ++id;
+       ipu->rot_dma[0].size = 0;
+       ipu->rot_dma[1].size = 0;
+
+       thread_data[idx].ipu = ipu;
+       thread_data[idx].id = 0;
+       thread_data[idx].is_vdoa = 0;
+       ipu->thread[0] = kthread_run(ipu_task_thread, &thread_data[idx++],
+                                       "ipu%d_task", id);
+       if (IS_ERR(ipu->thread[0])) {
+               ret = PTR_ERR(ipu->thread[0]);
+               goto kthread0_fail;
+       }
+
+       thread_data[idx].ipu = ipu;
+       thread_data[idx].id = 1;
+       thread_data[idx].is_vdoa = 0;
+       ipu->thread[1] = kthread_run(ipu_task_thread, &thread_data[idx++],
+                               "ipu%d_task", id);
+       if (IS_ERR(ipu->thread[1])) {
+               ret = PTR_ERR(ipu->thread[1]);
+               goto kthread1_fail;
+       }
+
+
+       return ret;
+
+kthread1_fail:
+       kthread_stop(ipu->thread[0]);
+kthread0_fail:
+       if (id == 0)
+               device_destroy(ipu_class, MKDEV(major, 0));
+dev_create_fail:
+       if (id == 0) {
+               class_destroy(ipu_class);
+       }
+ipu_class_fail:
+       if (id == 0)
+               unregister_chrdev(major, "mxc_ipu");
+register_cdev_fail:
+       return ret;
+}
+
+void unregister_ipu_device(struct ipu_soc *ipu, int id)
+{
+       int i;
+
+       kthread_stop(ipu->thread[0]);
+       kthread_stop(ipu->thread[1]);
+       for (i = 0; i < 2; i++) {
+               if (ipu->rot_dma[i].vaddr)
+                       dma_free_coherent(ipu_dev,
+                               ipu->rot_dma[i].size,
+                               ipu->rot_dma[i].vaddr,
+                               ipu->rot_dma[i].paddr);
+       }
+
+       if (major) {
+               device_destroy(ipu_class, MKDEV(major, 0));
+               class_destroy(ipu_class);
+               unregister_chrdev(major, "mxc_ipu");
+               major = 0;
+       }
+}
diff --git a/drivers/mxc/ipu3/ipu_disp.c b/drivers/mxc/ipu3/ipu_disp.c
new file mode 100644 (file)
index 0000000..f3affe7
--- /dev/null
@@ -0,0 +1,1962 @@
+/*
+ * Copyright 2005-2013 Freescale Semiconductor, Inc. All Rights Reserved.
+ */
+
+/*
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/*!
+ * @file ipu_disp.c
+ *
+ * @brief IPU display submodule API functions
+ *
+ * @ingroup IPU
+ */
+
+#include <linux/clk.h>
+#include <linux/clk-provider.h>
+#include <linux/delay.h>
+#include <linux/err.h>
+#include <linux/errno.h>
+#include <linux/io.h>
+#include <linux/ipu-v3.h>
+#include <linux/module.h>
+#include <linux/spinlock.h>
+#include <linux/types.h>
+
+#include <asm/atomic.h>
+
+#include "ipu_param_mem.h"
+#include "ipu_regs.h"
+
+struct dp_csc_param_t {
+       int mode;
+       void *coeff;
+};
+
+#define SYNC_WAVE 0
+#define NULL_WAVE (-1)
+#define ASYNC_SER_WAVE 6
+
+/* DC display ID assignments */
+#define DC_DISP_ID_SYNC(di)    (di)
+#define DC_DISP_ID_SERIAL      2
+#define DC_DISP_ID_ASYNC       3
+
+int dmfc_type_setup;
+
+void _ipu_dmfc_init(struct ipu_soc *ipu, int dmfc_type, int first)
+{
+       u32 dmfc_wr_chan, dmfc_dp_chan;
+
+       if (first) {
+               if (dmfc_type_setup > dmfc_type)
+                       dmfc_type = dmfc_type_setup;
+               else
+                       dmfc_type_setup = dmfc_type;
+
+               /* disable DMFC-IC channel*/
+               ipu_dmfc_write(ipu, 0x2, DMFC_IC_CTRL);
+       } else if (dmfc_type_setup >= DMFC_HIGH_RESOLUTION_DC) {
+               dev_dbg(ipu->dev, "DMFC high resolution has set, will not change\n");
+               return;
+       } else
+               dmfc_type_setup = dmfc_type;
+
+       if (dmfc_type == DMFC_HIGH_RESOLUTION_DC) {
+               /* 1 - segment 0~3;
+                * 5B - segement 4, 5;
+                * 5F - segement 6, 7;
+                * 1C, 2C and 6B, 6F unused;
+                */
+               dev_info(ipu->dev, "IPU DMFC DC HIGH RESOLUTION: 1(0~3), 5B(4,5), 5F(6,7)\n");
+               dmfc_wr_chan = 0x00000088;
+               dmfc_dp_chan = 0x00009694;
+               ipu->dmfc_size_28 = 256*4;
+               ipu->dmfc_size_29 = 0;
+               ipu->dmfc_size_24 = 0;
+               ipu->dmfc_size_27 = 128*4;
+               ipu->dmfc_size_23 = 128*4;
+       } else if (dmfc_type == DMFC_HIGH_RESOLUTION_DP) {
+               /* 1 - segment 0, 1;
+                * 5B - segement 2~5;
+                * 5F - segement 6,7;
+                * 1C, 2C and 6B, 6F unused;
+                */
+               dev_info(ipu->dev, "IPU DMFC DP HIGH RESOLUTION: 1(0,1), 5B(2~5), 5F(6,7)\n");
+               dmfc_wr_chan = 0x00000090;
+               dmfc_dp_chan = 0x0000968a;
+               ipu->dmfc_size_28 = 128*4;
+               ipu->dmfc_size_29 = 0;
+               ipu->dmfc_size_24 = 0;
+               ipu->dmfc_size_27 = 128*4;
+               ipu->dmfc_size_23 = 256*4;
+       } else if (dmfc_type == DMFC_HIGH_RESOLUTION_ONLY_DP) {
+               /* 5B - segement 0~3;
+                * 5F - segement 4~7;
+                * 1, 1C, 2C and 6B, 6F unused;
+                */
+               dev_info(ipu->dev, "IPU DMFC ONLY-DP HIGH RESOLUTION: 5B(0~3), 5F(4~7)\n");
+               dmfc_wr_chan = 0x00000000;
+               dmfc_dp_chan = 0x00008c88;
+               ipu->dmfc_size_28 = 0;
+               ipu->dmfc_size_29 = 0;
+               ipu->dmfc_size_24 = 0;
+               ipu->dmfc_size_27 = 256*4;
+               ipu->dmfc_size_23 = 256*4;
+       } else {
+               /* 1 - segment 0, 1;
+                * 5B - segement 4, 5;
+                * 5F - segement 6, 7;
+                * 1C, 2C and 6B, 6F unused;
+                */
+               dev_info(ipu->dev, "IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7)\n");
+               dmfc_wr_chan = 0x00000090;
+               dmfc_dp_chan = 0x00009694;
+               ipu->dmfc_size_28 = 128*4;
+               ipu->dmfc_size_29 = 0;
+               ipu->dmfc_size_24 = 0;
+               ipu->dmfc_size_27 = 128*4;
+               ipu->dmfc_size_23 = 128*4;
+       }
+       ipu_dmfc_write(ipu, dmfc_wr_chan, DMFC_WR_CHAN);
+       ipu_dmfc_write(ipu, 0x202020F6, DMFC_WR_CHAN_DEF);
+       ipu_dmfc_write(ipu, dmfc_dp_chan, DMFC_DP_CHAN);
+       /* Enable chan 5 watermark set at 5 bursts and clear at 7 bursts */
+       ipu_dmfc_write(ipu, 0x2020F6F6, DMFC_DP_CHAN_DEF);
+}
+
+static int __init dmfc_setup(char *options)
+{
+       get_option(&options, &dmfc_type_setup);
+       if (dmfc_type_setup > DMFC_HIGH_RESOLUTION_ONLY_DP)
+               dmfc_type_setup = DMFC_HIGH_RESOLUTION_ONLY_DP;
+       return 1;
+}
+__setup("dmfc=", dmfc_setup);
+
+void _ipu_dmfc_set_wait4eot(struct ipu_soc *ipu, int dma_chan, int width)
+{
+       u32 dmfc_gen1 = ipu_dmfc_read(ipu, DMFC_GENERAL1);
+
+       if (width >= HIGH_RESOLUTION_WIDTH) {
+               if (dma_chan == 23)
+                       _ipu_dmfc_init(ipu, DMFC_HIGH_RESOLUTION_DP, 0);
+               else if (dma_chan == 28)
+                       _ipu_dmfc_init(ipu, DMFC_HIGH_RESOLUTION_DC, 0);
+       }
+
+       if (dma_chan == 23) { /*5B*/
+               if (ipu->dmfc_size_23/width > 3)
+                       dmfc_gen1 |= 1UL << 20;
+               else
+                       dmfc_gen1 &= ~(1UL << 20);
+       } else if (dma_chan == 24) { /*6B*/
+               if (ipu->dmfc_size_24/width > 1)
+                       dmfc_gen1 |= 1UL << 22;
+               else
+                       dmfc_gen1 &= ~(1UL << 22);
+       } else if (dma_chan == 27) { /*5F*/
+               if (ipu->dmfc_size_27/width > 2)
+                       dmfc_gen1 |= 1UL << 21;
+               else
+                       dmfc_gen1 &= ~(1UL << 21);
+       } else if (dma_chan == 28) { /*1*/
+               if (ipu->dmfc_size_28/width > 2)
+                       dmfc_gen1 |= 1UL << 16;
+               else
+                       dmfc_gen1 &= ~(1UL << 16);
+       } else if (dma_chan == 29) { /*6F*/
+               if (ipu->dmfc_size_29/width > 1)
+                       dmfc_gen1 |= 1UL << 23;
+               else
+                       dmfc_gen1 &= ~(1UL << 23);
+       }
+
+       ipu_dmfc_write(ipu, dmfc_gen1, DMFC_GENERAL1);
+}
+
+void _ipu_dmfc_set_burst_size(struct ipu_soc *ipu, int dma_chan, int burst_size)
+{
+       u32 dmfc_wr_chan = ipu_dmfc_read(ipu, DMFC_WR_CHAN);
+       u32 dmfc_dp_chan = ipu_dmfc_read(ipu, DMFC_DP_CHAN);
+       int dmfc_bs = 0;
+
+       switch (burst_size) {
+       case 64:
+               dmfc_bs = 0x40;
+               break;
+       case 32:
+       case 20:
+               dmfc_bs = 0x80;
+               break;
+       case 16:
+               dmfc_bs = 0xc0;
+               break;
+       default:
+               dev_err(ipu->dev, "Unsupported burst size %d\n",
+                       burst_size);
+               return;
+       }
+
+       if (dma_chan == 23) { /*5B*/
+               dmfc_dp_chan &= ~(0xc0);
+               dmfc_dp_chan |= dmfc_bs;
+       } else if (dma_chan == 27) { /*5F*/
+               dmfc_dp_chan &= ~(0xc000);
+               dmfc_dp_chan |= (dmfc_bs << 8);
+       } else if (dma_chan == 28) { /*1*/
+               dmfc_wr_chan &= ~(0xc0);
+               dmfc_wr_chan |= dmfc_bs;
+       }
+
+       ipu_dmfc_write(ipu, dmfc_wr_chan, DMFC_WR_CHAN);
+       ipu_dmfc_write(ipu, dmfc_dp_chan, DMFC_DP_CHAN);
+}
+
+static void _ipu_di_data_wave_config(struct ipu_soc *ipu,
+                               int di, int wave_gen,
+                               int access_size, int component_size)
+{
+       u32 reg;
+       reg = (access_size << DI_DW_GEN_ACCESS_SIZE_OFFSET) |
+           (component_size << DI_DW_GEN_COMPONENT_SIZE_OFFSET);
+       ipu_di_write(ipu, di, reg, DI_DW_GEN(wave_gen));
+}
+
+static void _ipu_di_data_pin_config(struct ipu_soc *ipu,
+                       int di, int wave_gen, int di_pin, int set,
+                       int up, int down)
+{
+       u32 reg;
+
+       reg = ipu_di_read(ipu, di, DI_DW_GEN(wave_gen));
+       reg &= ~(0x3 << (di_pin * 2));
+       reg |= set << (di_pin * 2);
+       ipu_di_write(ipu, di, reg, DI_DW_GEN(wave_gen));
+
+       ipu_di_write(ipu, di, (down << 16) | up, DI_DW_SET(wave_gen, set));
+}
+
+static void _ipu_di_sync_config(struct ipu_soc *ipu,
+                               int di, int wave_gen,
+                               int run_count, int run_src,
+                               int offset_count, int offset_src,
+                               int repeat_count, int cnt_clr_src,
+                               int cnt_polarity_gen_en,
+                               int cnt_polarity_clr_src,
+                               int cnt_polarity_trigger_src,
+                               int cnt_up, int cnt_down)
+{
+       u32 reg;
+
+       if ((run_count >= 0x1000) || (offset_count >= 0x1000) || (repeat_count >= 0x1000) ||
+               (cnt_up >= 0x400) || (cnt_down >= 0x400)) {
+               dev_err(ipu->dev, "DI%d counters out of range.\n", di);
+               return;
+       }
+
+       reg = (run_count << 19) | (++run_src << 16) |
+           (offset_count << 3) | ++offset_src;
+       ipu_di_write(ipu, di, reg, DI_SW_GEN0(wave_gen));
+       reg = (cnt_polarity_gen_en << 29) | (++cnt_clr_src << 25) |
+           (++cnt_polarity_trigger_src << 12) | (++cnt_polarity_clr_src << 9);
+       reg |= (cnt_down << 16) | cnt_up;
+       if (repeat_count == 0) {
+               /* Enable auto reload */
+               reg |= 0x10000000;
+       }
+       ipu_di_write(ipu, di, reg, DI_SW_GEN1(wave_gen));
+       reg = ipu_di_read(ipu, di, DI_STP_REP(wave_gen));
+       reg &= ~(0xFFFF << (16 * ((wave_gen - 1) & 0x1)));
+       reg |= repeat_count << (16 * ((wave_gen - 1) & 0x1));
+       ipu_di_write(ipu, di, reg, DI_STP_REP(wave_gen));
+}
+
+static void _ipu_dc_map_link(struct ipu_soc *ipu,
+               int current_map,
+               int base_map_0, int buf_num_0,
+               int base_map_1, int buf_num_1,
+               int base_map_2, int buf_num_2)
+{
+       int ptr_0 = base_map_0 * 3 + buf_num_0;
+       int ptr_1 = base_map_1 * 3 + buf_num_1;
+       int ptr_2 = base_map_2 * 3 + buf_num_2;
+       int ptr;
+       u32 reg;
+       ptr = (ptr_2 << 10) +  (ptr_1 << 5) + ptr_0;
+
+       reg = ipu_dc_read(ipu, DC_MAP_CONF_PTR(current_map));
+       reg &= ~(0x1F << ((16 * (current_map & 0x1))));
+       reg |= ptr << ((16 * (current_map & 0x1)));
+       ipu_dc_write(ipu, reg, DC_MAP_CONF_PTR(current_map));
+}
+
+static void _ipu_dc_map_config(struct ipu_soc *ipu,
+               int map, int byte_num, int offset, int mask)
+{
+       int ptr = map * 3 + byte_num;
+       u32 reg;
+
+       reg = ipu_dc_read(ipu, DC_MAP_CONF_VAL(ptr));
+       reg &= ~(0xFFFF << (16 * (ptr & 0x1)));
+       reg |= ((offset << 8) | mask) << (16 * (ptr & 0x1));
+       ipu_dc_write(ipu, reg, DC_MAP_CONF_VAL(ptr));
+
+       reg = ipu_dc_read(ipu, DC_MAP_CONF_PTR(map));
+       reg &= ~(0x1F << ((16 * (map & 0x1)) + (5 * byte_num)));
+       reg |= ptr << ((16 * (map & 0x1)) + (5 * byte_num));
+       ipu_dc_write(ipu, reg, DC_MAP_CONF_PTR(map));
+}
+
+static void _ipu_dc_map_clear(struct ipu_soc *ipu, int map)
+{
+       u32 reg = ipu_dc_read(ipu, DC_MAP_CONF_PTR(map));
+       ipu_dc_write(ipu, reg & ~(0xFFFF << (16 * (map & 0x1))),
+                    DC_MAP_CONF_PTR(map));
+}
+
+static void _ipu_dc_write_tmpl(struct ipu_soc *ipu,
+                       int word, u32 opcode, u32 operand, int map,
+                       int wave, int glue, int sync, int stop)
+{
+       u32 reg;
+
+       if (opcode == WRG) {
+               reg = sync;
+               reg |= (glue << 4);
+               reg |= (++wave << 11);
+               reg |= ((operand & 0x1FFFF) << 15);
+               ipu_dc_tmpl_write(ipu, reg, word * 8);
+
+               reg = (operand >> 17);
+               reg |= opcode << 7;
+               reg |= (stop << 9);
+               ipu_dc_tmpl_write(ipu, reg, word * 8 + 4);
+       } else {
+               reg = sync;
+               reg |= (glue << 4);
+               reg |= (++wave << 11);
+               reg |= (++map << 15);
+               reg |= (operand << 20) & 0xFFF00000;
+               ipu_dc_tmpl_write(ipu, reg, word * 8);
+
+               reg = (operand >> 12);
+               reg |= opcode << 4;
+               reg |= (stop << 9);
+               ipu_dc_tmpl_write(ipu, reg, word * 8 + 4);
+       }
+}
+
+static void _ipu_dc_link_event(struct ipu_soc *ipu,
+               int chan, int event, int addr, int priority)
+{
+       u32 reg;
+       u32 address_shift;
+       if (event < DC_EVEN_UGDE0) {
+               reg = ipu_dc_read(ipu, DC_RL_CH(chan, event));
+               reg &= ~(0xFFFF << (16 * (event & 0x1)));
+               reg |= ((addr << 8) | priority) << (16 * (event & 0x1));
+               ipu_dc_write(ipu, reg, DC_RL_CH(chan, event));
+       } else {
+               reg = ipu_dc_read(ipu, DC_UGDE_0((event - DC_EVEN_UGDE0) / 2));
+               if ((event - DC_EVEN_UGDE0) & 0x1) {
+                       reg &= ~(0x2FF << 16);
+                       reg |= (addr << 16);
+                       reg |= priority ? (2 << 24) : 0x0;
+               } else {
+                       reg &= ~0xFC00FFFF;
+                       if (priority)
+                               chan = (chan >> 1) +
+                                       ((((chan & 0x1) + ((chan & 0x2) >> 1))) | (chan >> 3));
+                       else
+                               chan = 0x7;
+                       address_shift = ((event - DC_EVEN_UGDE0) >> 1) ? 7 : 8;
+                       reg |= (addr << address_shift) | (priority << 3) | chan;
+               }
+               ipu_dc_write(ipu, reg, DC_UGDE_0((event - DC_EVEN_UGDE0) / 2));
+       }
+}
+
+/*     Y = R *  1.200 + G *  2.343 + B *  .453 + 0.250;
+       U = R * -.672 + G * -1.328 + B *  2.000 + 512.250.;
+       V = R *  2.000 + G * -1.672 + B * -.328 + 512.250.;*/
+static const int rgb2ycbcr_coeff[5][3] = {
+       {0x4D, 0x96, 0x1D},
+       {-0x2B, -0x55, 0x80},
+       {0x80, -0x6B, -0x15},
+       {0x0000, 0x0200, 0x0200},       /* B0, B1, B2 */
+       {0x2, 0x2, 0x2},        /* S0, S1, S2 */
+};
+
+/*     R = (1.164 * (Y - 16)) + (1.596 * (Cr - 128));
+       G = (1.164 * (Y - 16)) - (0.392 * (Cb - 128)) - (0.813 * (Cr - 128));
+       B = (1.164 * (Y - 16)) + (2.017 * (Cb - 128); */
+static const int ycbcr2rgb_coeff[5][3] = {
+       {0x095, 0x000, 0x0CC},
+       {0x095, 0x3CE, 0x398},
+       {0x095, 0x0FF, 0x000},
+       {0x3E42, 0x010A, 0x3DD6},       /*B0,B1,B2 */
+       {0x1, 0x1, 0x1},        /*S0,S1,S2 */
+};
+
+#define mask_a(a) ((u32)(a) & 0x3FF)
+#define mask_b(b) ((u32)(b) & 0x3FFF)
+
+/* Pls keep S0, S1 and S2 as 0x2 by using this convertion */
+static int _rgb_to_yuv(int n, int red, int green, int blue)
+{
+       int c;
+       c = red * rgb2ycbcr_coeff[n][0];
+       c += green * rgb2ycbcr_coeff[n][1];
+       c += blue * rgb2ycbcr_coeff[n][2];
+       c /= 16;
+       c += rgb2ycbcr_coeff[3][n] * 4;
+       c += 8;
+       c /= 16;
+       if (c < 0)
+               c = 0;
+       if (c > 255)
+               c = 255;
+       return c;
+}
+
+/*
+ * Row is for BG:      RGB2YUV YUV2RGB RGB2RGB YUV2YUV CSC_NONE
+ * Column is for FG:   RGB2YUV YUV2RGB RGB2RGB YUV2YUV CSC_NONE
+ */
+static struct dp_csc_param_t dp_csc_array[CSC_NUM][CSC_NUM] = {
+{{DP_COM_CONF_CSC_DEF_BOTH, &rgb2ycbcr_coeff}, {0, 0}, {0, 0}, {DP_COM_CONF_CSC_DEF_BG, &rgb2ycbcr_coeff}, {DP_COM_CONF_CSC_DEF_BG, &rgb2ycbcr_coeff} },
+{{0, 0}, {DP_COM_CONF_CSC_DEF_BOTH, &ycbcr2rgb_coeff}, {DP_COM_CONF_CSC_DEF_BG, &ycbcr2rgb_coeff}, {0, 0}, {DP_COM_CONF_CSC_DEF_BG, &ycbcr2rgb_coeff} },
+{{0, 0}, {DP_COM_CONF_CSC_DEF_FG, &ycbcr2rgb_coeff}, {0, 0}, {0, 0}, {0, 0} },
+{{DP_COM_CONF_CSC_DEF_FG, &rgb2ycbcr_coeff}, {0, 0}, {0, 0}, {0, 0}, {0, 0} },
+{{DP_COM_CONF_CSC_DEF_FG, &rgb2ycbcr_coeff}, {DP_COM_CONF_CSC_DEF_FG, &ycbcr2rgb_coeff}, {0, 0}, {0, 0}, {0, 0} }
+};
+
+void __ipu_dp_csc_setup(struct ipu_soc *ipu,
+               int dp, struct dp_csc_param_t dp_csc_param,
+               bool srm_mode_update)
+{
+       u32 reg;
+       const int (*coeff)[5][3];
+
+       if (dp_csc_param.mode >= 0) {
+               reg = ipu_dp_read(ipu, DP_COM_CONF(dp));
+               reg &= ~DP_COM_CONF_CSC_DEF_MASK;
+               reg |= dp_csc_param.mode;
+               ipu_dp_write(ipu, reg, DP_COM_CONF(dp));
+       }
+
+       coeff = dp_csc_param.coeff;
+
+       if (coeff) {
+               ipu_dp_write(ipu, mask_a((*coeff)[0][0]) |
+                               (mask_a((*coeff)[0][1]) << 16), DP_CSC_A_0(dp));
+               ipu_dp_write(ipu, mask_a((*coeff)[0][2]) |
+                               (mask_a((*coeff)[1][0]) << 16), DP_CSC_A_1(dp));
+               ipu_dp_write(ipu, mask_a((*coeff)[1][1]) |
+                               (mask_a((*coeff)[1][2]) << 16), DP_CSC_A_2(dp));
+               ipu_dp_write(ipu, mask_a((*coeff)[2][0]) |
+                               (mask_a((*coeff)[2][1]) << 16), DP_CSC_A_3(dp));
+               ipu_dp_write(ipu, mask_a((*coeff)[2][2]) |
+                               (mask_b((*coeff)[3][0]) << 16) |
+                               ((*coeff)[4][0] << 30), DP_CSC_0(dp));
+               ipu_dp_write(ipu, mask_b((*coeff)[3][1]) | ((*coeff)[4][1] << 14) |
+                               (mask_b((*coeff)[3][2]) << 16) |
+                               ((*coeff)[4][2] << 30), DP_CSC_1(dp));
+       }
+
+       if (srm_mode_update) {
+               reg = ipu_cm_read(ipu, IPU_SRM_PRI2) | 0x8;
+               ipu_cm_write(ipu, reg, IPU_SRM_PRI2);
+       }
+}
+
+int _ipu_dp_init(struct ipu_soc *ipu,
+               ipu_channel_t channel, uint32_t in_pixel_fmt,
+               uint32_t out_pixel_fmt)
+{
+       int in_fmt, out_fmt;
+       int dp;
+       int partial = false;
+       uint32_t reg;
+
+       if (channel == MEM_FG_SYNC) {
+               dp = DP_SYNC;
+               partial = true;
+       } else if (channel == MEM_BG_SYNC) {
+               dp = DP_SYNC;
+               partial = false;
+       } else if (channel == MEM_BG_ASYNC0) {
+               dp = DP_ASYNC0;
+               partial = false;
+       } else {
+               return -EINVAL;
+       }
+
+       in_fmt = format_to_colorspace(in_pixel_fmt);
+       out_fmt = format_to_colorspace(out_pixel_fmt);
+
+       if (partial) {
+               if (in_fmt == RGB) {
+                       if (out_fmt == RGB)
+                               ipu->fg_csc_type = RGB2RGB;
+                       else
+                               ipu->fg_csc_type = RGB2YUV;
+               } else {
+                       if (out_fmt == RGB)
+                               ipu->fg_csc_type = YUV2RGB;
+                       else
+                               ipu->fg_csc_type = YUV2YUV;
+               }
+       } else {
+               if (in_fmt == RGB) {
+                       if (out_fmt == RGB)
+                               ipu->bg_csc_type = RGB2RGB;
+                       else
+                               ipu->bg_csc_type = RGB2YUV;
+               } else {
+                       if (out_fmt == RGB)
+                               ipu->bg_csc_type = YUV2RGB;
+                       else
+                               ipu->bg_csc_type = YUV2YUV;
+               }
+       }
+
+       /* Transform color key from rgb to yuv if CSC is enabled */
+       reg = ipu_dp_read(ipu, DP_COM_CONF(dp));
+       if (ipu->color_key_4rgb && (reg & DP_COM_CONF_GWCKE) &&
+                       (((ipu->fg_csc_type == RGB2YUV) && (ipu->bg_csc_type == YUV2YUV)) ||
+                        ((ipu->fg_csc_type == YUV2YUV) && (ipu->bg_csc_type == RGB2YUV)) ||
+                        ((ipu->fg_csc_type == YUV2YUV) && (ipu->bg_csc_type == YUV2YUV)) ||
+                        ((ipu->fg_csc_type == YUV2RGB) && (ipu->bg_csc_type == YUV2RGB)))) {
+               int red, green, blue;
+               int y, u, v;
+               uint32_t color_key = ipu_dp_read(ipu, DP_GRAPH_WIND_CTRL(dp)) & 0xFFFFFFL;
+
+               dev_dbg(ipu->dev, "_ipu_dp_init color key 0x%x need change to yuv fmt!\n", color_key);
+
+               red = (color_key >> 16) & 0xFF;
+               green = (color_key >> 8) & 0xFF;
+               blue = color_key & 0xFF;
+
+               y = _rgb_to_yuv(0, red, green, blue);
+               u = _rgb_to_yuv(1, red, green, blue);
+               v = _rgb_to_yuv(2, red, green, blue);
+               color_key = (y << 16) | (u << 8) | v;
+
+               reg = ipu_dp_read(ipu, DP_GRAPH_WIND_CTRL(dp)) & 0xFF000000L;
+               ipu_dp_write(ipu, reg | color_key, DP_GRAPH_WIND_CTRL(dp));
+               ipu->color_key_4rgb = false;
+
+               dev_dbg(ipu->dev, "_ipu_dp_init color key change to yuv fmt 0x%x!\n", color_key);
+       }
+
+       __ipu_dp_csc_setup(ipu, dp, dp_csc_array[ipu->bg_csc_type][ipu->fg_csc_type], true);
+
+       return 0;
+}
+
+void _ipu_dp_uninit(struct ipu_soc *ipu, ipu_channel_t channel)
+{
+       int dp;
+       int partial = false;
+
+       if (channel == MEM_FG_SYNC) {
+               dp = DP_SYNC;
+               partial = true;
+       } else if (channel == MEM_BG_SYNC) {
+               dp = DP_SYNC;
+               partial = false;
+       } else if (channel == MEM_BG_ASYNC0) {
+               dp = DP_ASYNC0;
+               partial = false;
+       } else {
+               return;
+       }
+
+       if (partial)
+               ipu->fg_csc_type = CSC_NONE;
+       else
+               ipu->bg_csc_type = CSC_NONE;
+
+       __ipu_dp_csc_setup(ipu, dp, dp_csc_array[ipu->bg_csc_type][ipu->fg_csc_type], false);
+}
+
+void _ipu_dc_init(struct ipu_soc *ipu, int dc_chan, int di, bool interlaced, uint32_t pixel_fmt)
+{
+       u32 reg = 0;
+
+       if ((dc_chan == 1) || (dc_chan == 5)) {
+               if (interlaced) {
+                       _ipu_dc_link_event(ipu, dc_chan, DC_EVT_NL, 0, 3);
+                       _ipu_dc_link_event(ipu, dc_chan, DC_EVT_EOL, 0, 2);
+                       _ipu_dc_link_event(ipu, dc_chan, DC_EVT_NEW_DATA, 0, 1);
+               } else {
+                       if (di) {
+                               _ipu_dc_link_event(ipu, dc_chan, DC_EVT_NL, 2, 3);
+                               _ipu_dc_link_event(ipu, dc_chan, DC_EVT_EOL, 3, 2);
+                               _ipu_dc_link_event(ipu, dc_chan, DC_EVT_NEW_DATA, 1, 1);
+                               if ((pixel_fmt == IPU_PIX_FMT_YUYV) ||
+                               (pixel_fmt == IPU_PIX_FMT_UYVY) ||
+                               (pixel_fmt == IPU_PIX_FMT_YVYU) ||
+                               (pixel_fmt == IPU_PIX_FMT_VYUY)) {
+                                       _ipu_dc_link_event(ipu, dc_chan, DC_ODD_UGDE1, 9, 5);
+                                       _ipu_dc_link_event(ipu, dc_chan, DC_EVEN_UGDE1, 8, 5);
+                               }
+                       } else {
+                               _ipu_dc_link_event(ipu, dc_chan, DC_EVT_NL, 5, 3);
+                               _ipu_dc_link_event(ipu, dc_chan, DC_EVT_EOL, 6, 2);
+                               _ipu_dc_link_event(ipu, dc_chan, DC_EVT_NEW_DATA, 12, 1);
+                               if ((pixel_fmt == IPU_PIX_FMT_YUYV) ||
+                               (pixel_fmt == IPU_PIX_FMT_UYVY) ||
+                               (pixel_fmt == IPU_PIX_FMT_YVYU) ||
+                               (pixel_fmt == IPU_PIX_FMT_VYUY)) {
+                                       _ipu_dc_link_event(ipu, dc_chan, DC_ODD_UGDE0, 10, 5);
+                                       _ipu_dc_link_event(ipu, dc_chan, DC_EVEN_UGDE0, 11, 5);
+                               }
+                       }
+               }
+               _ipu_dc_link_event(ipu, dc_chan, DC_EVT_NF, 0, 0);
+               _ipu_dc_link_event(ipu, dc_chan, DC_EVT_NFIELD, 0, 0);
+               _ipu_dc_link_event(ipu, dc_chan, DC_EVT_EOF, 0, 0);
+               _ipu_dc_link_event(ipu, dc_chan, DC_EVT_EOFIELD, 0, 0);
+               _ipu_dc_link_event(ipu, dc_chan, DC_EVT_NEW_CHAN, 0, 0);
+               _ipu_dc_link_event(ipu, dc_chan, DC_EVT_NEW_ADDR, 0, 0);
+
+               reg = 0x2;
+               reg |= DC_DISP_ID_SYNC(di) << DC_WR_CH_CONF_PROG_DISP_ID_OFFSET;
+               reg |= di << 2;
+               if (interlaced)
+                       reg |= DC_WR_CH_CONF_FIELD_MODE;
+       } else if ((dc_chan == 8) || (dc_chan == 9)) {
+               /* async channels */
+               _ipu_dc_link_event(ipu, dc_chan, DC_EVT_NEW_DATA_W_0, 0x64, 1);
+               _ipu_dc_link_event(ipu, dc_chan, DC_EVT_NEW_DATA_W_1, 0x64, 1);
+
+               reg = 0x3;
+               reg |= DC_DISP_ID_SERIAL << DC_WR_CH_CONF_PROG_DISP_ID_OFFSET;
+       }
+       ipu_dc_write(ipu, reg, DC_WR_CH_CONF(dc_chan));
+
+       ipu_dc_write(ipu, 0x00000000, DC_WR_CH_ADDR(dc_chan));
+
+       ipu_dc_write(ipu, 0x00000084, DC_GEN);
+}
+
+void _ipu_dc_uninit(struct ipu_soc *ipu, int dc_chan)
+{
+       if ((dc_chan == 1) || (dc_chan == 5)) {
+               _ipu_dc_link_event(ipu, dc_chan, DC_EVT_NL, 0, 0);
+               _ipu_dc_link_event(ipu, dc_chan, DC_EVT_EOL, 0, 0);
+               _ipu_dc_link_event(ipu, dc_chan, DC_EVT_NEW_DATA, 0, 0);
+               _ipu_dc_link_event(ipu, dc_chan, DC_EVT_NF, 0, 0);
+               _ipu_dc_link_event(ipu, dc_chan, DC_EVT_NFIELD, 0, 0);
+               _ipu_dc_link_event(ipu, dc_chan, DC_EVT_EOF, 0, 0);
+               _ipu_dc_link_event(ipu, dc_chan, DC_EVT_EOFIELD, 0, 0);
+               _ipu_dc_link_event(ipu, dc_chan, DC_EVT_NEW_CHAN, 0, 0);
+               _ipu_dc_link_event(ipu, dc_chan, DC_EVT_NEW_ADDR, 0, 0);
+               _ipu_dc_link_event(ipu, dc_chan, DC_ODD_UGDE0, 0, 0);
+               _ipu_dc_link_event(ipu, dc_chan, DC_EVEN_UGDE0, 0, 0);
+               _ipu_dc_link_event(ipu, dc_chan, DC_ODD_UGDE1, 0, 0);
+               _ipu_dc_link_event(ipu, dc_chan, DC_EVEN_UGDE1, 0, 0);
+       } else if ((dc_chan == 8) || (dc_chan == 9)) {
+               _ipu_dc_link_event(ipu, dc_chan, DC_EVT_NEW_ADDR_W_0, 0, 0);
+               _ipu_dc_link_event(ipu, dc_chan, DC_EVT_NEW_ADDR_W_1, 0, 0);
+               _ipu_dc_link_event(ipu, dc_chan, DC_EVT_NEW_CHAN_W_0, 0, 0);
+               _ipu_dc_link_event(ipu, dc_chan, DC_EVT_NEW_CHAN_W_1, 0, 0);
+               _ipu_dc_link_event(ipu, dc_chan, DC_EVT_NEW_DATA_W_0, 0, 0);
+               _ipu_dc_link_event(ipu, dc_chan, DC_EVT_NEW_DATA_W_1, 0, 0);
+               _ipu_dc_link_event(ipu, dc_chan, DC_EVT_NEW_ADDR_R_0, 0, 0);
+               _ipu_dc_link_event(ipu, dc_chan, DC_EVT_NEW_ADDR_R_1, 0, 0);
+               _ipu_dc_link_event(ipu, dc_chan, DC_EVT_NEW_CHAN_R_0, 0, 0);
+               _ipu_dc_link_event(ipu, dc_chan, DC_EVT_NEW_CHAN_R_1, 0, 0);
+               _ipu_dc_link_event(ipu, dc_chan, DC_EVT_NEW_DATA_R_0, 0, 0);
+               _ipu_dc_link_event(ipu, dc_chan, DC_EVT_NEW_DATA_R_1, 0, 0);
+       }
+}
+
+int _ipu_disp_chan_is_interlaced(struct ipu_soc *ipu, ipu_channel_t channel)
+{
+       if (channel == MEM_DC_SYNC)
+               return !!(ipu_dc_read(ipu, DC_WR_CH_CONF_1) &
+                         DC_WR_CH_CONF_FIELD_MODE);
+       else if ((channel == MEM_BG_SYNC) || (channel == MEM_FG_SYNC))
+               return !!(ipu_dc_read(ipu, DC_WR_CH_CONF_5) &
+                         DC_WR_CH_CONF_FIELD_MODE);
+       return 0;
+}
+
+void _ipu_dp_dc_enable(struct ipu_soc *ipu, ipu_channel_t channel)
+{
+       int di;
+       uint32_t reg;
+       uint32_t dc_chan;
+       int irq = 0;
+
+       if (channel == MEM_FG_SYNC)
+               irq = IPU_IRQ_DP_SF_END;
+       else if (channel == MEM_DC_SYNC)
+               dc_chan = 1;
+       else if (channel == MEM_BG_SYNC)
+               dc_chan = 5;
+       else
+               return;
+
+       if (channel == MEM_FG_SYNC) {
+               /* Enable FG channel */
+               reg = ipu_dp_read(ipu, DP_COM_CONF(DP_SYNC));
+               ipu_dp_write(ipu, reg | DP_COM_CONF_FG_EN, DP_COM_CONF(DP_SYNC));
+
+               reg = ipu_cm_read(ipu, IPU_SRM_PRI2) | 0x8;
+               ipu_cm_write(ipu, reg, IPU_SRM_PRI2);
+               return;
+       } else if (channel == MEM_BG_SYNC) {
+               reg = ipu_cm_read(ipu, IPU_SRM_PRI2) | 0x8;
+               ipu_cm_write(ipu, reg, IPU_SRM_PRI2);
+       }
+
+       di = ipu->dc_di_assignment[dc_chan];
+
+       /* Make sure other DC sync channel is not assigned same DI */
+       reg = ipu_dc_read(ipu, DC_WR_CH_CONF(6 - dc_chan));
+       if ((di << 2) == (reg & DC_WR_CH_CONF_PROG_DI_ID)) {
+               reg &= ~DC_WR_CH_CONF_PROG_DI_ID;
+               reg |= di ? 0 : DC_WR_CH_CONF_PROG_DI_ID;
+               ipu_dc_write(ipu, reg, DC_WR_CH_CONF(6 - dc_chan));
+       }
+
+       reg = ipu_dc_read(ipu, DC_WR_CH_CONF(dc_chan));
+       reg |= 4 << DC_WR_CH_CONF_PROG_TYPE_OFFSET;
+       ipu_dc_write(ipu, reg, DC_WR_CH_CONF(dc_chan));
+
+       clk_prepare_enable(ipu->pixel_clk[di]);
+}
+
+static irqreturn_t dc_irq_handler(int irq, void *dev_id)
+{
+       struct ipu_soc *ipu = dev_id;
+       struct completion *comp = &ipu->dc_comp;
+       uint32_t reg;
+       uint32_t dc_chan;
+
+       if (irq == IPU_IRQ_DC_FC_1)
+               dc_chan = 1;
+       else
+               dc_chan = 5;
+
+       if (!ipu->dc_swap) {
+               reg = ipu_dc_read(ipu, DC_WR_CH_CONF(dc_chan));
+               reg &= ~DC_WR_CH_CONF_PROG_TYPE_MASK;
+               ipu_dc_write(ipu, reg, DC_WR_CH_CONF(dc_chan));
+
+               reg = ipu_cm_read(ipu, IPU_DISP_GEN);
+               if (ipu->dc_di_assignment[dc_chan])
+                       reg &= ~DI1_COUNTER_RELEASE;
+               else
+                       reg &= ~DI0_COUNTER_RELEASE;
+               ipu_cm_write(ipu, reg, IPU_DISP_GEN);
+       }
+
+       complete(comp);
+       return IRQ_HANDLED;
+}
+
+void _ipu_dp_dc_disable(struct ipu_soc *ipu, ipu_channel_t channel, bool swap)
+{
+       int ret;
+       uint32_t reg;
+       uint32_t csc;
+       uint32_t dc_chan;
+       int irq = 0;
+       int timeout = 50;
+
+       ipu->dc_swap = swap;
+
+       if (channel == MEM_DC_SYNC) {
+               dc_chan = 1;
+               irq = IPU_IRQ_DC_FC_1;
+       } else if (channel == MEM_BG_SYNC) {
+               dc_chan = 5;
+               irq = IPU_IRQ_DP_SF_END;
+       } else if (channel == MEM_FG_SYNC) {
+               /* Disable FG channel */
+               dc_chan = 5;
+
+               reg = ipu_dp_read(ipu, DP_COM_CONF(DP_SYNC));
+               csc = reg & DP_COM_CONF_CSC_DEF_MASK;
+               if (csc == DP_COM_CONF_CSC_DEF_FG)
+                       reg &= ~DP_COM_CONF_CSC_DEF_MASK;
+
+               reg &= ~DP_COM_CONF_FG_EN;
+               ipu_dp_write(ipu, reg, DP_COM_CONF(DP_SYNC));
+
+               reg = ipu_cm_read(ipu, IPU_SRM_PRI2) | 0x8;
+               ipu_cm_write(ipu, reg, IPU_SRM_PRI2);
+
+               if (ipu_is_channel_busy(ipu, MEM_BG_SYNC)) {
+                       ipu_cm_write(ipu, IPUIRQ_2_MASK(IPU_IRQ_DP_SF_END),
+                                       IPUIRQ_2_STATREG(IPU_IRQ_DP_SF_END));
+                       while ((ipu_cm_read(ipu, IPUIRQ_2_STATREG(IPU_IRQ_DP_SF_END)) &
+                                               IPUIRQ_2_MASK(IPU_IRQ_DP_SF_END)) == 0) {
+                               msleep(2);
+                               timeout -= 2;
+                               if (timeout <= 0)
+                                       break;
+                       }
+               }
+               return;
+       } else {
+               return;
+       }
+
+       init_completion(&ipu->dc_comp);
+       ret = ipu_request_irq(ipu, irq, dc_irq_handler, 0, NULL, ipu);
+       if (ret < 0) {
+               dev_err(ipu->dev, "DC irq %d in use\n", irq);
+               return;
+       }
+       ret = wait_for_completion_timeout(&ipu->dc_comp, msecs_to_jiffies(50));
+       ipu_free_irq(ipu, irq, ipu);
+       dev_dbg(ipu->dev, "DC stop timeout - %d * 10ms\n", 5 - ret);
+
+       if (ipu->dc_swap) {
+               /* Swap DC channel 1 and 5 settings, and disable old dc chan */
+               reg = ipu_dc_read(ipu, DC_WR_CH_CONF(dc_chan));
+               ipu_dc_write(ipu, reg, DC_WR_CH_CONF(6 - dc_chan));
+               reg &= ~DC_WR_CH_CONF_PROG_TYPE_MASK;
+               reg ^= DC_WR_CH_CONF_PROG_DI_ID;
+               ipu_dc_write(ipu, reg, DC_WR_CH_CONF(dc_chan));
+       }
+}
+
+void _ipu_init_dc_mappings(struct ipu_soc *ipu)
+{
+       /* IPU_PIX_FMT_RGB24 */
+       _ipu_dc_map_clear(ipu, 0);
+       _ipu_dc_map_config(ipu, 0, 0, 7, 0xFF);
+       _ipu_dc_map_config(ipu, 0, 1, 15, 0xFF);
+       _ipu_dc_map_config(ipu, 0, 2, 23, 0xFF);
+
+       /* IPU_PIX_FMT_RGB666 */
+       _ipu_dc_map_clear(ipu, 1);
+       _ipu_dc_map_config(ipu, 1, 0, 5, 0xFC);
+       _ipu_dc_map_config(ipu, 1, 1, 11, 0xFC);
+       _ipu_dc_map_config(ipu, 1, 2, 17, 0xFC);
+
+       /* IPU_PIX_FMT_YUV444 */
+       _ipu_dc_map_clear(ipu, 2);
+       _ipu_dc_map_config(ipu, 2, 0, 15, 0xFF);
+       _ipu_dc_map_config(ipu, 2, 1, 23, 0xFF);
+       _ipu_dc_map_config(ipu, 2, 2, 7, 0xFF);
+
+       /* IPU_PIX_FMT_RGB565 */
+       _ipu_dc_map_clear(ipu, 3);
+       _ipu_dc_map_config(ipu, 3, 0, 4, 0xF8);
+       _ipu_dc_map_config(ipu, 3, 1, 10, 0xFC);
+       _ipu_dc_map_config(ipu, 3, 2, 15, 0xF8);
+
+       /* IPU_PIX_FMT_LVDS666 */
+       _ipu_dc_map_clear(ipu, 4);
+       _ipu_dc_map_config(ipu, 4, 0, 5, 0xFC);
+       _ipu_dc_map_config(ipu, 4, 1, 13, 0xFC);
+       _ipu_dc_map_config(ipu, 4, 2, 21, 0xFC);
+
+       /* IPU_PIX_FMT_VYUY 16bit width */
+       _ipu_dc_map_clear(ipu, 5);
+       _ipu_dc_map_config(ipu, 5, 0, 7, 0xFF);
+       _ipu_dc_map_config(ipu, 5, 1, 0, 0x0);
+       _ipu_dc_map_config(ipu, 5, 2, 15, 0xFF);
+       _ipu_dc_map_clear(ipu, 6);
+       _ipu_dc_map_config(ipu, 6, 0, 0, 0x0);
+       _ipu_dc_map_config(ipu, 6, 1, 7, 0xFF);
+       _ipu_dc_map_config(ipu, 6, 2, 15, 0xFF);
+
+       /* IPU_PIX_FMT_UYUV 16bit width */
+       _ipu_dc_map_clear(ipu, 7);
+       _ipu_dc_map_link(ipu, 7, 6, 0, 6, 1, 6, 2);
+       _ipu_dc_map_clear(ipu, 8);
+       _ipu_dc_map_link(ipu, 8, 5, 0, 5, 1, 5, 2);
+
+       /* IPU_PIX_FMT_YUYV 16bit width */
+       _ipu_dc_map_clear(ipu, 9);
+       _ipu_dc_map_link(ipu, 9, 5, 2, 5, 1, 5, 0);
+       _ipu_dc_map_clear(ipu, 10);
+       _ipu_dc_map_link(ipu, 10, 5, 1, 5, 2, 5, 0);
+
+       /* IPU_PIX_FMT_YVYU 16bit width */
+       _ipu_dc_map_clear(ipu, 11);
+       _ipu_dc_map_link(ipu, 11, 5, 1, 5, 2, 5, 0);
+       _ipu_dc_map_clear(ipu, 12);
+       _ipu_dc_map_link(ipu, 12, 5, 2, 5, 1, 5, 0);
+
+       /* IPU_PIX_FMT_GBR24 */
+       /* IPU_PIX_FMT_VYU444 */
+       _ipu_dc_map_clear(ipu, 13);
+       _ipu_dc_map_link(ipu, 13, 0, 2, 0, 0, 0, 1);
+
+       /* IPU_PIX_FMT_BGR24 */
+       _ipu_dc_map_clear(ipu, 14);
+       _ipu_dc_map_link(ipu, 14, 0, 2, 0, 1, 0, 0);
+}
+
+int _ipu_pixfmt_to_map(uint32_t fmt)
+{
+       switch (fmt) {
+       case IPU_PIX_FMT_GENERIC:
+       case IPU_PIX_FMT_RGB24:
+               return 0;
+       case IPU_PIX_FMT_RGB666:
+               return 1;
+       case IPU_PIX_FMT_YUV444:
+               return 2;
+       case IPU_PIX_FMT_RGB565:
+               return 3;
+       case IPU_PIX_FMT_LVDS666:
+               return 4;
+       case IPU_PIX_FMT_VYUY:
+               return 6;
+       case IPU_PIX_FMT_UYVY:
+               return 8;
+       case IPU_PIX_FMT_YUYV:
+               return 10;
+       case IPU_PIX_FMT_YVYU:
+               return 12;
+       case IPU_PIX_FMT_GBR24:
+       case IPU_PIX_FMT_VYU444:
+               return 13;
+       case IPU_PIX_FMT_BGR24:
+               return 14;
+       }
+
+       return -1;
+}
+
+/*!
+ * This function sets the colorspace for of dp.
+ * modes.
+ *
+ * @param      ipu             ipu handler
+ * @param       channel         Input parameter for the logical channel ID.
+ *
+ * @param       param          If it's not NULL, update the csc table
+ *                              with this parameter.
+ *
+ * @return      N/A
+ */
+void _ipu_dp_set_csc_coefficients(struct ipu_soc *ipu, ipu_channel_t channel, int32_t param[][3])
+{
+       int dp;
+       struct dp_csc_param_t dp_csc_param;
+
+       if (channel == MEM_FG_SYNC)
+               dp = DP_SYNC;
+       else if (channel == MEM_BG_SYNC)
+               dp = DP_SYNC;
+       else if (channel == MEM_BG_ASYNC0)
+               dp = DP_ASYNC0;
+       else
+               return;
+
+       dp_csc_param.mode = -1;
+       dp_csc_param.coeff = param;
+       __ipu_dp_csc_setup(ipu, dp, dp_csc_param, true);
+}
+
+void ipu_set_csc_coefficients(struct ipu_soc *ipu, ipu_channel_t channel, int32_t param[][3])
+{
+       _ipu_dp_set_csc_coefficients(ipu, channel, param);
+}
+EXPORT_SYMBOL(ipu_set_csc_coefficients);
+
+/*!
+ * This function is called to adapt synchronous LCD panel to IPU restriction.
+ *
+ */
+void adapt_panel_to_ipu_restricitions(struct ipu_soc *ipu, uint16_t *v_start_width,
+                                       uint16_t *v_sync_width,
+                                       uint16_t *v_end_width)
+{
+       if (*v_end_width < 2) {
+               uint16_t diff = 2 - *v_end_width;
+               if (*v_start_width >= diff) {
+                       *v_end_width = 2;
+                       *v_start_width = *v_start_width - diff;
+               } else if (*v_sync_width > diff) {
+                       *v_end_width = 2;
+                       *v_sync_width = *v_sync_width - diff;
+               } else
+                       dev_err(ipu->dev, "WARNING: try to adapt timming, but failed\n");
+               dev_err(ipu->dev, "WARNING: adapt panel end blank lines\n");
+       }
+}
+
+/*!
+ * This function is called to initialize a synchronous LCD panel.
+ *
+ * @param      ipu             ipu handler
+ * @param       disp            The DI the panel is attached to.
+ *
+ * @param       pixel_clk       Desired pixel clock frequency in Hz.
+ *
+ * @param       pixel_fmt       Input parameter for pixel format of buffer.
+ *                              Pixel format is a FOURCC ASCII code.
+ *
+ * @param       width           The width of panel in pixels.
+ *
+ * @param       height          The height of panel in pixels.
+ *
+ * @param       hStartWidth     The number of pixel clocks between the HSYNC
+ *                              signal pulse and the start of valid data.
+ *
+ * @param       hSyncWidth      The width of the HSYNC signal in units of pixel
+ *                              clocks.
+ *
+ * @param       hEndWidth       The number of pixel clocks between the end of
+ *                              valid data and the HSYNC signal for next line.
+ *
+ * @param       vStartWidth     The number of lines between the VSYNC
+ *                              signal pulse and the start of valid data.
+ *
+ * @param       vSyncWidth      The width of the VSYNC signal in units of lines
+ *
+ * @param       vEndWidth       The number of lines between the end of valid
+ *                              data and the VSYNC signal for next frame.
+ *
+ * @param       sig             Bitfield of signal polarities for LCD interface.
+ *
+ * @return      This function returns 0 on success or negative error code on
+ *              fail.
+ */
+int32_t ipu_init_sync_panel(struct ipu_soc *ipu, int disp, uint32_t pixel_clk,
+                           uint16_t width, uint16_t height,
+                           uint32_t pixel_fmt,
+                           uint16_t h_start_width, uint16_t h_sync_width,
+                           uint16_t h_end_width, uint16_t v_start_width,
+                           uint16_t v_sync_width, uint16_t v_end_width,
+                           uint32_t v_to_h_sync, ipu_di_signal_cfg_t sig)
+{
+       uint32_t field0_offset = 0;
+       uint32_t field1_offset;
+       uint32_t reg;
+       uint32_t di_gen, vsync_cnt;
+       uint32_t div, rounded_pixel_clk;
+       uint32_t h_total, v_total;
+       int map;
+       int ret;
+       struct clk *ldb_di0_clk, *ldb_di1_clk;
+       struct clk *di_parent;
+
+       dev_dbg(ipu->dev, "panel size = %d x %d\n", width, height);
+
+       if ((v_sync_width == 0) || (h_sync_width == 0))
+               return -EINVAL;
+
+       adapt_panel_to_ipu_restricitions(ipu, &v_start_width, &v_sync_width, &v_end_width);
+       h_total = width + h_sync_width + h_start_width + h_end_width;
+       v_total = height + v_sync_width + v_start_width + v_end_width;
+
+       /* Init clocking */
+       dev_dbg(ipu->dev, "pixel clk = %d\n", pixel_clk);
+
+       di_parent = clk_get_parent(ipu->di_clk_sel[disp]);
+       if (!di_parent) {
+               dev_err(ipu->dev, "get di clk parent fail\n");
+               return -EINVAL;
+       }
+       ldb_di0_clk = clk_get(ipu->dev, "ldb_di0");
+       if (IS_ERR(ldb_di0_clk)) {
+               dev_err(ipu->dev, "clk_get di0 failed");
+               return PTR_ERR(ldb_di0_clk);
+       }
+       ldb_di1_clk = clk_get(ipu->dev, "ldb_di1");
+       if (IS_ERR(ldb_di1_clk)) {
+               dev_err(ipu->dev, "clk_get di1 failed");
+               return PTR_ERR(ldb_di1_clk);
+       }
+
+       if (ldb_di0_clk == di_parent || ldb_di1_clk == di_parent) {
+               /* if di clk parent is tve/ldb, then keep it;*/
+               dev_dbg(ipu->dev, "use special clk parent\n");
+               ret = clk_set_parent(ipu->pixel_clk_sel[disp], ipu->di_clk[disp]);
+               if (ret) {
+                       dev_err(ipu->dev, "set pixel clk error:%d\n", ret);
+                       return ret;
+               }
+               clk_put(ldb_di0_clk);
+               clk_put(ldb_di1_clk);
+       } else {
+               /* try ipu clk first*/
+               dev_dbg(ipu->dev, "try ipu internal clk\n");
+               ret = clk_set_parent(ipu->pixel_clk_sel[disp], ipu->ipu_clk);
+               if (ret) {
+                       dev_err(ipu->dev, "set pixel clk error:%d\n", ret);
+                       return ret;
+               }
+               rounded_pixel_clk = clk_round_rate(ipu->pixel_clk[disp], pixel_clk);
+               dev_dbg(ipu->dev, "rounded pix clk:%d\n", rounded_pixel_clk);
+               /*
+                * we will only use 1/2 fraction for ipu clk,
+                * so if the clk rate is not fit, try ext clk.
+                */
+               if (!sig.int_clk &&
+                       ((rounded_pixel_clk >= pixel_clk + pixel_clk/200) ||
+                       (rounded_pixel_clk <= pixel_clk - pixel_clk/200))) {
+                       dev_dbg(ipu->dev, "try ipu ext di clk\n");
+
+                       rounded_pixel_clk =
+                               clk_round_rate(ipu->di_clk[disp], pixel_clk);
+                       ret = clk_set_rate(ipu->di_clk[disp],
+                                               rounded_pixel_clk);
+                       if (ret) {
+                               dev_err(ipu->dev,
+                                       "set di clk rate error:%d\n", ret);
+                               return ret;
+                       }
+                       dev_dbg(ipu->dev, "di clk:%d\n", rounded_pixel_clk);
+                       ret = clk_set_parent(ipu->pixel_clk_sel[disp],
+                                               ipu->di_clk[disp]);
+                       if (ret) {
+                               dev_err(ipu->dev,
+                                       "set pixel clk parent error:%d\n", ret);
+                               return ret;
+                       }
+               }
+       }
+       rounded_pixel_clk = clk_round_rate(ipu->pixel_clk[disp], pixel_clk);
+       dev_dbg(ipu->dev, "round pixel clk:%d\n", rounded_pixel_clk);
+       ret = clk_set_rate(ipu->pixel_clk[disp], rounded_pixel_clk);
+       if (ret) {
+               dev_err(ipu->dev, "set pixel clk rate error:%d\n", ret);
+               return ret;
+       }
+       msleep(5);
+       /* Get integer portion of divider */
+       div = clk_get_rate(clk_get_parent(ipu->pixel_clk_sel[disp])) / rounded_pixel_clk;
+       dev_dbg(ipu->dev, "div:%d\n", div);
+       if (!div) {
+               dev_err(ipu->dev, "invalid pixel clk div = 0\n");
+               return -EINVAL;
+       }
+
+
+       mutex_lock(&ipu->mutex_lock);
+
+       _ipu_di_data_wave_config(ipu, disp, SYNC_WAVE, div - 1, div - 1);
+       _ipu_di_data_pin_config(ipu, disp, SYNC_WAVE, DI_PIN15, 3, 0, div * 2);
+
+       map = _ipu_pixfmt_to_map(pixel_fmt);
+       if (map < 0) {
+               dev_dbg(ipu->dev, "IPU_DISP: No MAP\n");
+               mutex_unlock(&ipu->mutex_lock);
+               return -EINVAL;
+       }
+
+       /*clear DI*/
+       di_gen = ipu_di_read(ipu, disp, DI_GENERAL);
+       di_gen &= (0x3 << 20);
+       ipu_di_write(ipu, disp, di_gen, DI_GENERAL);
+
+       if (sig.interlaced) {
+               if (g_ipu_hw_rev >= IPU_V3DEX) {
+                       /* Setup internal HSYNC waveform */
+                       _ipu_di_sync_config(ipu,
+                                       disp,           /* display */
+                                       1,              /* counter */
+                                       h_total/2 - 1,  /* run count */
+                                       DI_SYNC_CLK,    /* run_resolution */
+                                       0,              /* offset */
+                                       DI_SYNC_NONE,   /* offset resolution */
+                                       0,              /* repeat count */
+                                       DI_SYNC_NONE,   /* CNT_CLR_SEL */
+                                       0,              /* CNT_POLARITY_GEN_EN */
+                                       DI_SYNC_NONE,   /* CNT_POLARITY_CLR_SEL */
+                                       DI_SYNC_NONE,   /* CNT_POLARITY_TRIGGER_SEL */
+                                       0,              /* COUNT UP */
+                                       0               /* COUNT DOWN */
+                                       );
+
+                       /* Field 1 VSYNC waveform */
+                       _ipu_di_sync_config(ipu,
+                                       disp,           /* display */
+                                       2,              /* counter */
+                                       h_total - 1,    /* run count */
+                                       DI_SYNC_CLK,    /* run_resolution */
+                                       0,              /* offset */
+                                       DI_SYNC_NONE,   /* offset resolution */
+                                       0,              /* repeat count */
+                                       DI_SYNC_NONE,   /* CNT_CLR_SEL */
+                                       0,              /* CNT_POLARITY_GEN_EN */
+                                       DI_SYNC_NONE,   /* CNT_POLARITY_CLR_SEL */
+                                       DI_SYNC_NONE,   /* CNT_POLARITY_TRIGGER_SEL */
+                                       0,              /* COUNT UP */
+                                       2*div           /* COUNT DOWN */
+                                       );
+
+                       /* Setup internal HSYNC waveform */
+                       _ipu_di_sync_config(ipu,
+                                       disp,           /* display */
+                                       3,              /* counter */
+                                       v_total*2 - 1,  /* run count */
+                                       DI_SYNC_INT_HSYNC,      /* run_resolution */
+                                       1,                      /* offset */
+                                       DI_SYNC_INT_HSYNC,      /* offset resolution */
+                                       0,              /* repeat count */
+                                       DI_SYNC_NONE,   /* CNT_CLR_SEL */
+                                       0,              /* CNT_POLARITY_GEN_EN */
+                                       DI_SYNC_NONE,   /* CNT_POLARITY_CLR_SEL */
+                                       DI_SYNC_NONE,   /* CNT_POLARITY_TRIGGER_SEL */
+                                       0,              /* COUNT UP */
+                                       2*div           /* COUNT DOWN */
+                                       );
+
+                       /* Active Field ? */
+                       _ipu_di_sync_config(ipu,
+                                       disp,           /* display */
+                                       4,              /* counter */
+                                       v_total/2 - 1,  /* run count */
+                                       DI_SYNC_HSYNC,  /* run_resolution */
+                                       v_start_width,  /*  offset */
+                                       DI_SYNC_HSYNC,  /* offset resolution */
+                                       2,              /* repeat count */
+                                       DI_SYNC_VSYNC,  /* CNT_CLR_SEL */
+                                       0,              /* CNT_POLARITY_GEN_EN */
+                                       DI_SYNC_NONE,   /* CNT_POLARITY_CLR_SEL */
+                                       DI_SYNC_NONE,   /* CNT_POLARITY_TRIGGER_SEL */
+                                       0,              /* COUNT UP */
+                                       0               /* COUNT DOWN */
+                                       );
+
+                       /* Active Line */
+                       _ipu_di_sync_config(ipu,
+                                       disp,           /* display */
+                                       5,              /* counter */
+                                       0,              /* run count */
+                                       DI_SYNC_HSYNC,  /* run_resolution */
+                                       0,              /*  offset */
+                                       DI_SYNC_NONE,   /* offset resolution */
+                                       height/2,       /* repeat count */
+                                       4,              /* CNT_CLR_SEL */
+                                       0,              /* CNT_POLARITY_GEN_EN */
+                                       DI_SYNC_NONE,   /* CNT_POLARITY_CLR_SEL */
+                                       DI_SYNC_NONE,   /* CNT_POLARITY_TRIGGER_SEL */
+                                       0,              /* COUNT UP */
+                                       0               /* COUNT DOWN */
+                                       );
+
+                       /* Field 0 VSYNC waveform */
+                       _ipu_di_sync_config(ipu,
+                                       disp,           /* display */
+                                       6,              /* counter */
+                                       v_total - 1,    /* run count */
+                                       DI_SYNC_HSYNC,  /* run_resolution */
+                                       0,              /* offset */
+                                       DI_SYNC_NONE,   /* offset resolution */
+                                       0,              /* repeat count */
+                                       DI_SYNC_NONE,   /* CNT_CLR_SEL  */
+                                       0,              /* CNT_POLARITY_GEN_EN */
+                                       DI_SYNC_NONE,   /* CNT_POLARITY_CLR_SEL */
+                                       DI_SYNC_NONE,   /* CNT_POLARITY_TRIGGER_SEL */
+                                       0,              /* COUNT UP */
+                                       0               /* COUNT DOWN */
+                                       );
+
+                       /* DC VSYNC waveform */
+                       vsync_cnt = 7;
+                       _ipu_di_sync_config(ipu,
+                                       disp,           /* display */
+                                       7,              /* counter */
+                                       v_total/2 - 1,  /* run count */
+                                       DI_SYNC_HSYNC,  /* run_resolution  */
+                                       9,              /* offset  */
+                                       DI_SYNC_HSYNC,  /* offset resolution */
+                                       2,              /* repeat count */
+                                       DI_SYNC_VSYNC,  /* CNT_CLR_SEL */
+                                       0,              /* CNT_POLARITY_GEN_EN */
+                                       DI_SYNC_NONE,   /* CNT_POLARITY_CLR_SEL */
+                                       DI_SYNC_NONE,   /* CNT_POLARITY_TRIGGER_SEL */
+                                       0,              /* COUNT UP */
+                                       0               /* COUNT DOWN */
+                                       );
+
+                       /* active pixel waveform */
+                       _ipu_di_sync_config(ipu,
+                                       disp,           /* display */
+                                       8,              /* counter */
+                                       0,              /* run count  */
+                                       DI_SYNC_CLK,    /* run_resolution */
+                                       h_start_width,  /* offset  */
+                                       DI_SYNC_CLK,    /* offset resolution */
+                                       width,          /* repeat count  */
+                                       5,              /* CNT_CLR_SEL  */
+                                       0,              /* CNT_POLARITY_GEN_EN  */
+                                       DI_SYNC_NONE,   /* CNT_POLARITY_CLR_SEL */
+                                       DI_SYNC_NONE,   /* CNT_POLARITY_TRIGGER_SEL  */
+                                       0,              /* COUNT UP  */
+                                       0               /* COUNT DOWN */
+                                       );
+
+                       /* Second VSYNC */
+                       _ipu_di_sync_config(ipu,
+                                       disp,           /* display */
+                                       9,              /* counter */
+                                       v_total - 1,    /* run count */
+                                       DI_SYNC_INT_HSYNC,      /* run_resolution */
+                                       v_total/2,              /* offset  */
+                                       DI_SYNC_INT_HSYNC,      /* offset resolution  */
+                                       0,              /* repeat count */
+                                       DI_SYNC_HSYNC,  /* CNT_CLR_SEL */
+                                       0,              /* CNT_POLARITY_GEN_EN  */
+                                       DI_SYNC_NONE,   /* CNT_POLARITY_CLR_SEL  */
+                                       DI_SYNC_NONE,   /* CNT_POLARITY_TRIGGER_SEL */
+                                       0,              /* COUNT UP */
+                                       2*div           /* COUNT DOWN */
+                                       );
+
+                       /* set gentime select and tag sel */
+                       reg = ipu_di_read(ipu, disp, DI_SW_GEN1(9));
+                       reg &= 0x1FFFFFFF;
+                       reg |= (3-1)<<29 | 0x00008000;
+                       ipu_di_write(ipu, disp, reg, DI_SW_GEN1(9));
+
+                       ipu_di_write(ipu, disp, v_total / 2 - 1, DI_SCR_CONF);
+
+                       /* set y_sel = 1 */
+                       di_gen |= 0x10000000;
+                       di_gen |= DI_GEN_POLARITY_5;
+                       di_gen |= DI_GEN_POLARITY_8;
+               } else {
+                       /* Setup internal HSYNC waveform */
+                       _ipu_di_sync_config(ipu, disp, 1, h_total - 1, DI_SYNC_CLK,
+                                       0, DI_SYNC_NONE, 0, DI_SYNC_NONE, 0, DI_SYNC_NONE,
+                                       DI_SYNC_NONE, 0, 0);
+
+                       field1_offset = v_sync_width + v_start_width + height / 2 +
+                               v_end_width;
+                       if (sig.odd_field_first) {
+                               field0_offset = field1_offset - 1;
+                               field1_offset = 0;
+                       }
+                       v_total += v_start_width + v_end_width;
+
+                       /* Field 1 VSYNC waveform */
+                       _ipu_di_sync_config(ipu, disp, 2, v_total - 1, 1,
+                                       field0_offset,
+                                       field0_offset ? 1 : DI_SYNC_NONE,
+                                       0, DI_SYNC_NONE, 0,
+                                       DI_SYNC_NONE, DI_SYNC_NONE, 0, 4);
+
+                       /* Setup internal HSYNC waveform */
+                       _ipu_di_sync_config(ipu, disp, 3, h_total - 1, DI_SYNC_CLK,
+                                       0, DI_SYNC_NONE, 0, DI_SYNC_NONE, 0,
+                                       DI_SYNC_NONE, DI_SYNC_NONE, 0, 4);
+
+                       /* Active Field ? */
+                       _ipu_di_sync_config(ipu, disp, 4,
+                                       field0_offset ?
+                                       field0_offset : field1_offset - 2,
+                                       1, v_start_width + v_sync_width, 1, 2, 2,
+                                       0, DI_SYNC_NONE, DI_SYNC_NONE, 0, 0);
+
+                       /* Active Line */
+                       _ipu_di_sync_config(ipu, disp, 5, 0, 1,
+                                       0, DI_SYNC_NONE,
+                                       height / 2, 4, 0, DI_SYNC_NONE,
+                                       DI_SYNC_NONE, 0, 0);
+
+                       /* Field 0 VSYNC waveform */
+                       _ipu_di_sync_config(ipu, disp, 6, v_total - 1, 1,
+                                       0, DI_SYNC_NONE,
+                                       0, DI_SYNC_NONE, 0, DI_SYNC_NONE,
+                                       DI_SYNC_NONE, 0, 0);
+
+                       /* DC VSYNC waveform */
+                       vsync_cnt = 7;
+                       _ipu_di_sync_config(ipu, disp, 7, 0, 1,
+                                       field1_offset,
+                                       field1_offset ? 1 : DI_SYNC_NONE,
+                                       1, 2, 0, DI_SYNC_NONE, DI_SYNC_NONE, 0, 0);
+
+                       /* active pixel waveform */
+                       _ipu_di_sync_config(ipu, disp, 8, 0, DI_SYNC_CLK,
+                                       h_sync_width + h_start_width, DI_SYNC_CLK,
+                                       width, 5, 0, DI_SYNC_NONE, DI_SYNC_NONE,
+                                       0, 0);
+
+                       /* ??? */
+                       _ipu_di_sync_config(ipu, disp, 9, v_total - 1, 2,
+                                       0, DI_SYNC_NONE,
+                                       0, DI_SYNC_NONE, 6, DI_SYNC_NONE,
+                                       DI_SYNC_NONE, 0, 0);
+
+                       reg = ipu_di_read(ipu, disp, DI_SW_GEN1(9));
+                       reg |= 0x8000;
+                       ipu_di_write(ipu, disp, reg, DI_SW_GEN1(9));
+
+                       ipu_di_write(ipu, disp, v_sync_width + v_start_width +
+                                       v_end_width + height / 2 - 1, DI_SCR_CONF);
+               }
+
+               /* Init template microcode */
+               _ipu_dc_write_tmpl(ipu, 0, WROD(0), 0, map, SYNC_WAVE, 0, 8, 1);
+
+               if (sig.Hsync_pol)
+                       di_gen |= DI_GEN_POLARITY_3;
+               if (sig.Vsync_pol)
+                       di_gen |= DI_GEN_POLARITY_2;
+       } else {
+               /* Setup internal HSYNC waveform */
+               _ipu_di_sync_config(ipu, disp, 1, h_total - 1, DI_SYNC_CLK,
+                                       0, DI_SYNC_NONE, 0, DI_SYNC_NONE, 0, DI_SYNC_NONE,
+                                       DI_SYNC_NONE, 0, 0);
+
+               /* Setup external (delayed) HSYNC waveform */
+               _ipu_di_sync_config(ipu, disp, DI_SYNC_HSYNC, h_total - 1,
+                                   DI_SYNC_CLK, div * v_to_h_sync, DI_SYNC_CLK,
+                                   0, DI_SYNC_NONE, 1, DI_SYNC_NONE,
+                                   DI_SYNC_CLK, 0, h_sync_width * 2);
+               /* Setup VSYNC waveform */
+               vsync_cnt = DI_SYNC_VSYNC;
+               _ipu_di_sync_config(ipu, disp, DI_SYNC_VSYNC, v_total - 1,
+                                   DI_SYNC_INT_HSYNC, 0, DI_SYNC_NONE, 0,
+                                   DI_SYNC_NONE, 1, DI_SYNC_NONE,
+                                   DI_SYNC_INT_HSYNC, 0, v_sync_width * 2);
+               ipu_di_write(ipu, disp, v_total - 1, DI_SCR_CONF);
+
+               /* Setup active data waveform to sync with DC */
+               _ipu_di_sync_config(ipu, disp, 4, 0, DI_SYNC_HSYNC,
+                                   v_sync_width + v_start_width, DI_SYNC_HSYNC, height,
+                                   DI_SYNC_VSYNC, 0, DI_SYNC_NONE,
+                                   DI_SYNC_NONE, 0, 0);
+               _ipu_di_sync_config(ipu, disp, 5, 0, DI_SYNC_CLK,
+                                   h_sync_width + h_start_width, DI_SYNC_CLK,
+                                   width, 4, 0, DI_SYNC_NONE, DI_SYNC_NONE, 0,
+                                   0);
+
+               /* set VGA delayed hsync/vsync no matter VGA enabled */
+               if (disp) {
+                       /* couter 7 for VGA delay HSYNC */
+                       _ipu_di_sync_config(ipu, disp, 7,
+                                       h_total - 1, DI_SYNC_CLK,
+                                       18, DI_SYNC_CLK,
+                                       0, DI_SYNC_NONE,
+                                       1, DI_SYNC_NONE, DI_SYNC_CLK,
+                                       0, h_sync_width * 2);
+
+                       /* couter 8 for VGA delay VSYNC */
+                       _ipu_di_sync_config(ipu, disp, 8,
+                                       v_total - 1, DI_SYNC_INT_HSYNC,
+                                       1, DI_SYNC_INT_HSYNC,
+                                       0, DI_SYNC_NONE,
+                                       1, DI_SYNC_NONE, DI_SYNC_INT_HSYNC,
+                                       0, v_sync_width * 2);
+               }
+
+               /* reset all unused counters */
+               ipu_di_write(ipu, disp, 0, DI_SW_GEN0(6));
+               ipu_di_write(ipu, disp, 0, DI_SW_GEN1(6));
+               if (!disp) {
+                       ipu_di_write(ipu, disp, 0, DI_SW_GEN0(7));
+                       ipu_di_write(ipu, disp, 0, DI_SW_GEN1(7));
+                       ipu_di_write(ipu, disp, 0, DI_STP_REP(7));
+                       ipu_di_write(ipu, disp, 0, DI_SW_GEN0(8));
+                       ipu_di_write(ipu, disp, 0, DI_SW_GEN1(8));
+                       ipu_di_write(ipu, disp, 0, DI_STP_REP(8));
+               }
+               ipu_di_write(ipu, disp, 0, DI_SW_GEN0(9));
+               ipu_di_write(ipu, disp, 0, DI_SW_GEN1(9));
+               ipu_di_write(ipu, disp, 0, DI_STP_REP(9));
+
+               reg = ipu_di_read(ipu, disp, DI_STP_REP(6));
+               reg &= 0x0000FFFF;
+               ipu_di_write(ipu, disp, reg, DI_STP_REP(6));
+
+               /* Init template microcode */
+               if (disp) {
+                       if ((pixel_fmt == IPU_PIX_FMT_YUYV) ||
+                               (pixel_fmt == IPU_PIX_FMT_UYVY) ||
+                               (pixel_fmt == IPU_PIX_FMT_YVYU) ||
+                               (pixel_fmt == IPU_PIX_FMT_VYUY)) {
+                               _ipu_dc_write_tmpl(ipu, 8, WROD(0), 0, (map - 1), SYNC_WAVE, 0, 5, 1);
+                               _ipu_dc_write_tmpl(ipu, 9, WROD(0), 0, map, SYNC_WAVE, 0, 5, 1);
+                               /* configure user events according to DISP NUM */
+                               ipu_dc_write(ipu, (width - 1), DC_UGDE_3(disp));
+                       }
+                       _ipu_dc_write_tmpl(ipu, 2, WROD(0), 0, map, SYNC_WAVE, 8, 5, 1);
+                       _ipu_dc_write_tmpl(ipu, 3, WROD(0), 0, map, SYNC_WAVE, 4, 5, 0);
+                       _ipu_dc_write_tmpl(ipu, 4, WRG, 0, map, NULL_WAVE, 0, 0, 1);
+                       _ipu_dc_write_tmpl(ipu, 1, WROD(0), 0, map, SYNC_WAVE, 0, 5, 1);
+
+               } else {
+                       if ((pixel_fmt == IPU_PIX_FMT_YUYV) ||
+                               (pixel_fmt == IPU_PIX_FMT_UYVY) ||
+                               (pixel_fmt == IPU_PIX_FMT_YVYU) ||
+                               (pixel_fmt == IPU_PIX_FMT_VYUY)) {
+                               _ipu_dc_write_tmpl(ipu, 10, WROD(0), 0, (map - 1), SYNC_WAVE, 0, 5, 1);
+                               _ipu_dc_write_tmpl(ipu, 11, WROD(0), 0, map, SYNC_WAVE, 0, 5, 1);
+                               /* configure user events according to DISP NUM */
+                               ipu_dc_write(ipu, width - 1, DC_UGDE_3(disp));
+                       }
+                  _ipu_dc_write_tmpl(ipu, 5, WROD(0), 0, map, SYNC_WAVE, 8, 5, 1);
+                  _ipu_dc_write_tmpl(ipu, 6, WROD(0), 0, map, SYNC_WAVE, 4, 5, 0);
+                  _ipu_dc_write_tmpl(ipu, 7, WRG, 0, map, NULL_WAVE, 0, 0, 1);
+                  _ipu_dc_write_tmpl(ipu, 12, WROD(0), 0, map, SYNC_WAVE, 0, 5, 1);
+               }
+
+               if (sig.Hsync_pol) {
+                       di_gen |= DI_GEN_POLARITY_2;
+                       if (disp)
+                               di_gen |= DI_GEN_POLARITY_7;
+               }
+               if (sig.Vsync_pol) {
+                       di_gen |= DI_GEN_POLARITY_3;
+                       if (disp)
+                               di_gen |= DI_GEN_POLARITY_8;
+               }
+       }
+       /* changinc DISP_CLK polarity: it can be wrong for some applications */
+       if ((pixel_fmt == IPU_PIX_FMT_YUYV) ||
+               (pixel_fmt == IPU_PIX_FMT_UYVY) ||
+               (pixel_fmt == IPU_PIX_FMT_YVYU) ||
+               (pixel_fmt == IPU_PIX_FMT_VYUY))
+                       di_gen |= 0x00020000;
+
+       if (!sig.clk_pol)
+               di_gen |= DI_GEN_POLARITY_DISP_CLK;
+
+       ipu_di_write(ipu, disp, di_gen, DI_GENERAL);
+
+       ipu_di_write(ipu, disp, (--vsync_cnt << DI_VSYNC_SEL_OFFSET) |
+                       0x00000002, DI_SYNC_AS_GEN);
+       reg = ipu_di_read(ipu, disp, DI_POL);
+       reg &= ~(DI_POL_DRDY_DATA_POLARITY | DI_POL_DRDY_POLARITY_15);
+       if (sig.enable_pol)
+               reg |= DI_POL_DRDY_POLARITY_15;
+       if (sig.data_pol)
+               reg |= DI_POL_DRDY_DATA_POLARITY;
+       ipu_di_write(ipu, disp, reg, DI_POL);
+
+       ipu_dc_write(ipu, width, DC_DISP_CONF2(DC_DISP_ID_SYNC(disp)));
+
+       mutex_unlock(&ipu->mutex_lock);
+
+       return 0;
+}
+EXPORT_SYMBOL(ipu_init_sync_panel);
+
+void ipu_uninit_sync_panel(struct ipu_soc *ipu, int disp)
+{
+       uint32_t reg;
+       uint32_t di_gen;
+
+       if ((disp != 0) || (disp != 1))
+               return;
+
+       mutex_lock(&ipu->mutex_lock);
+
+       di_gen = ipu_di_read(ipu, disp, DI_GENERAL);
+       di_gen |= 0x3ff | DI_GEN_POLARITY_DISP_CLK;
+       ipu_di_write(ipu, disp, di_gen, DI_GENERAL);
+
+       reg = ipu_di_read(ipu, disp, DI_POL);
+       reg |= 0x3ffffff;
+       ipu_di_write(ipu, disp, reg, DI_POL);
+
+       mutex_unlock(&ipu->mutex_lock);
+}
+EXPORT_SYMBOL(ipu_uninit_sync_panel);
+
+int ipu_init_async_panel(struct ipu_soc *ipu, int disp, int type, uint32_t cycle_time,
+                        uint32_t pixel_fmt, ipu_adc_sig_cfg_t sig)
+{
+       int map;
+       u32 ser_conf = 0;
+       u32 div;
+       u32 di_clk = clk_get_rate(ipu->ipu_clk);
+
+       /* round up cycle_time, then calcalate the divider using scaled math */
+       cycle_time += (1000000000UL / di_clk) - 1;
+       div = (cycle_time * (di_clk / 256UL)) / (1000000000UL / 256UL);
+
+       map = _ipu_pixfmt_to_map(pixel_fmt);
+       if (map < 0)
+               return -EINVAL;
+
+       mutex_lock(&ipu->mutex_lock);
+
+       if (type == IPU_PANEL_SERIAL) {
+               ipu_di_write(ipu, disp, (div << 24) | ((sig.ifc_width - 1) << 4),
+                            DI_DW_GEN(ASYNC_SER_WAVE));
+
+               _ipu_di_data_pin_config(ipu, disp, ASYNC_SER_WAVE, DI_PIN_CS,
+                                       0, 0, (div * 2) + 1);
+               _ipu_di_data_pin_config(ipu, disp, ASYNC_SER_WAVE, DI_PIN_SER_CLK,
+                                       1, div, div * 2);
+               _ipu_di_data_pin_config(ipu, disp, ASYNC_SER_WAVE, DI_PIN_SER_RS,
+                                       2, 0, 0);
+
+               _ipu_dc_write_tmpl(ipu, 0x64, WROD(0), 0, map, ASYNC_SER_WAVE, 0, 0, 1);
+
+               /* Configure DC for serial panel */
+               ipu_dc_write(ipu, 0x14, DC_DISP_CONF1(DC_DISP_ID_SERIAL));
+
+               if (sig.clk_pol)
+                       ser_conf |= DI_SER_CONF_SERIAL_CLK_POL;
+               if (sig.data_pol)
+                       ser_conf |= DI_SER_CONF_SERIAL_DATA_POL;
+               if (sig.rs_pol)
+                       ser_conf |= DI_SER_CONF_SERIAL_RS_POL;
+               if (sig.cs_pol)
+                       ser_conf |= DI_SER_CONF_SERIAL_CS_POL;
+               ipu_di_write(ipu, disp, ser_conf, DI_SER_CONF);
+       }
+
+       mutex_unlock(&ipu->mutex_lock);
+       return 0;
+}
+EXPORT_SYMBOL(ipu_init_async_panel);
+
+/*!
+ * This function sets the foreground and background plane global alpha blending
+ * modes. This function also sets the DP graphic plane according to the
+ * parameter of IPUv3 DP channel.
+ *
+ * @param      ipu             ipu handler
+ * @param      channel         IPUv3 DP channel
+ *
+ * @param       enable          Boolean to enable or disable global alpha
+ *                              blending. If disabled, local blending is used.
+ *
+ * @param       alpha           Global alpha value.
+ *
+ * @return      Returns 0 on success or negative error code on fail
+ */
+int32_t ipu_disp_set_global_alpha(struct ipu_soc *ipu, ipu_channel_t channel,
+                               bool enable, uint8_t alpha)
+{
+       uint32_t reg;
+       uint32_t flow;
+       bool bg_chan;
+
+       if (channel == MEM_BG_SYNC || channel == MEM_FG_SYNC)
+               flow = DP_SYNC;
+       else if (channel == MEM_BG_ASYNC0 || channel == MEM_FG_ASYNC0)
+               flow = DP_ASYNC0;
+       else if (channel == MEM_BG_ASYNC1 || channel == MEM_FG_ASYNC1)
+               flow = DP_ASYNC1;
+       else
+               return -EINVAL;
+
+       if (channel == MEM_BG_SYNC || channel == MEM_BG_ASYNC0 ||
+           channel == MEM_BG_ASYNC1)
+               bg_chan = true;
+       else
+               bg_chan = false;
+
+       _ipu_get(ipu);
+
+       mutex_lock(&ipu->mutex_lock);
+
+       if (bg_chan) {
+               reg = ipu_dp_read(ipu, DP_COM_CONF(flow));
+               ipu_dp_write(ipu, reg & ~DP_COM_CONF_GWSEL, DP_COM_CONF(flow));
+       } else {
+               reg = ipu_dp_read(ipu, DP_COM_CONF(flow));
+               ipu_dp_write(ipu, reg | DP_COM_CONF_GWSEL, DP_COM_CONF(flow));
+       }
+
+       if (enable) {
+               reg = ipu_dp_read(ipu, DP_GRAPH_WIND_CTRL(flow)) & 0x00FFFFFFL;
+               ipu_dp_write(ipu, reg | ((uint32_t) alpha << 24),
+                            DP_GRAPH_WIND_CTRL(flow));
+
+               reg = ipu_dp_read(ipu, DP_COM_CONF(flow));
+               ipu_dp_write(ipu, reg | DP_COM_CONF_GWAM, DP_COM_CONF(flow));
+       } else {
+               reg = ipu_dp_read(ipu, DP_COM_CONF(flow));
+               ipu_dp_write(ipu, reg & ~DP_COM_CONF_GWAM, DP_COM_CONF(flow));
+       }
+
+       reg = ipu_cm_read(ipu, IPU_SRM_PRI2) | 0x8;
+       ipu_cm_write(ipu, reg, IPU_SRM_PRI2);
+
+       mutex_unlock(&ipu->mutex_lock);
+
+       _ipu_put(ipu);
+
+       return 0;
+}
+EXPORT_SYMBOL(ipu_disp_set_global_alpha);
+
+/*!
+ * This function sets the transparent color key for SDC graphic plane.
+ *
+ * @param      ipu             ipu handler
+ * @param       channel         Input parameter for the logical channel ID.
+ *
+ * @param       enable          Boolean to enable or disable color key
+ *
+ * @param       colorKey        24-bit RGB color for transparent color key.
+ *
+ * @return      Returns 0 on success or negative error code on fail
+ */
+int32_t ipu_disp_set_color_key(struct ipu_soc *ipu, ipu_channel_t channel,
+                               bool enable, uint32_t color_key)
+{
+       uint32_t reg, flow;
+       int y, u, v;
+       int red, green, blue;
+
+       if (channel == MEM_BG_SYNC || channel == MEM_FG_SYNC)
+               flow = DP_SYNC;
+       else if (channel == MEM_BG_ASYNC0 || channel == MEM_FG_ASYNC0)
+               flow = DP_ASYNC0;
+       else if (channel == MEM_BG_ASYNC1 || channel == MEM_FG_ASYNC1)
+               flow = DP_ASYNC1;
+       else
+               return -EINVAL;
+
+       _ipu_get(ipu);
+
+       mutex_lock(&ipu->mutex_lock);
+
+       ipu->color_key_4rgb = true;
+       /* Transform color key from rgb to yuv if CSC is enabled */
+       if (((ipu->fg_csc_type == RGB2YUV) && (ipu->bg_csc_type == YUV2YUV)) ||
+                       ((ipu->fg_csc_type == YUV2YUV) && (ipu->bg_csc_type == RGB2YUV)) ||
+                       ((ipu->fg_csc_type == YUV2YUV) && (ipu->bg_csc_type == YUV2YUV)) ||
+                       ((ipu->fg_csc_type == YUV2RGB) && (ipu->bg_csc_type == YUV2RGB))) {
+
+               dev_dbg(ipu->dev, "color key 0x%x need change to yuv fmt\n", color_key);
+
+               red = (color_key >> 16) & 0xFF;
+               green = (color_key >> 8) & 0xFF;
+               blue = color_key & 0xFF;
+
+               y = _rgb_to_yuv(0, red, green, blue);
+               u = _rgb_to_yuv(1, red, green, blue);
+               v = _rgb_to_yuv(2, red, green, blue);
+               color_key = (y << 16) | (u << 8) | v;
+
+               ipu->color_key_4rgb = false;
+
+               dev_dbg(ipu->dev, "color key change to yuv fmt 0x%x\n", color_key);
+       }
+
+       if (enable) {
+               reg = ipu_dp_read(ipu, DP_GRAPH_WIND_CTRL(flow)) & 0xFF000000L;
+               ipu_dp_write(ipu, reg | color_key, DP_GRAPH_WIND_CTRL(flow));
+
+               reg = ipu_dp_read(ipu, DP_COM_CONF(flow));
+               ipu_dp_write(ipu, reg | DP_COM_CONF_GWCKE, DP_COM_CONF(flow));
+       } else {
+               reg = ipu_dp_read(ipu, DP_COM_CONF(flow));
+               ipu_dp_write(ipu, reg & ~DP_COM_CONF_GWCKE, DP_COM_CONF(flow));
+       }
+
+       reg = ipu_cm_read(ipu, IPU_SRM_PRI2) | 0x8;
+       ipu_cm_write(ipu, reg, IPU_SRM_PRI2);
+
+       mutex_unlock(&ipu->mutex_lock);
+
+       _ipu_put(ipu);
+
+       return 0;
+}
+EXPORT_SYMBOL(ipu_disp_set_color_key);
+
+/*!
+ * This function sets the gamma correction for DP output.
+ *
+ * @param      ipu             ipu handler
+ * @param       channel         Input parameter for the logical channel ID.
+ *
+ * @param       enable          Boolean to enable or disable gamma correction.
+ *
+ * @param       constk         Gamma piecewise linear approximation constk coeff.
+ *
+ * @param       slopek         Gamma piecewise linear approximation slopek coeff.
+ *
+ * @return      Returns 0 on success or negative error code on fail
+ */
+int32_t ipu_disp_set_gamma_correction(struct ipu_soc *ipu, ipu_channel_t channel, bool enable, int constk[], int slopek[])
+{
+       uint32_t reg, flow, i;
+
+       if (channel == MEM_BG_SYNC || channel == MEM_FG_SYNC)
+               flow = DP_SYNC;
+       else if (channel == MEM_BG_ASYNC0 || channel == MEM_FG_ASYNC0)
+               flow = DP_ASYNC0;
+       else if (channel == MEM_BG_ASYNC1 || channel == MEM_FG_ASYNC1)
+               flow = DP_ASYNC1;
+       else
+               return -EINVAL;
+
+       _ipu_get(ipu);
+
+       mutex_lock(&ipu->mutex_lock);
+
+       for (i = 0; i < 8; i++)
+               ipu_dp_write(ipu, (constk[2*i] & 0x1ff) | ((constk[2*i+1] & 0x1ff) << 16), DP_GAMMA_C(flow, i));
+       for (i = 0; i < 4; i++)
+               ipu_dp_write(ipu, (slopek[4*i] & 0xff) | ((slopek[4*i+1] & 0xff) << 8) |
+                       ((slopek[4*i+2] & 0xff) << 16) | ((slopek[4*i+3] & 0xff) << 24), DP_GAMMA_S(flow, i));
+
+       reg = ipu_dp_read(ipu, DP_COM_CONF(flow));
+       if (enable) {
+               if ((ipu->bg_csc_type == RGB2YUV) || (ipu->bg_csc_type == YUV2YUV))
+                       reg |= DP_COM_CONF_GAMMA_YUV_EN;
+               else
+                       reg &= ~DP_COM_CONF_GAMMA_YUV_EN;
+               ipu_dp_write(ipu, reg | DP_COM_CONF_GAMMA_EN, DP_COM_CONF(flow));
+       } else
+               ipu_dp_write(ipu, reg & ~DP_COM_CONF_GAMMA_EN, DP_COM_CONF(flow));
+
+       reg = ipu_cm_read(ipu, IPU_SRM_PRI2) | 0x8;
+       ipu_cm_write(ipu, reg, IPU_SRM_PRI2);
+
+       mutex_unlock(&ipu->mutex_lock);
+
+       _ipu_put(ipu);
+
+       return 0;
+}
+EXPORT_SYMBOL(ipu_disp_set_gamma_correction);
+
+/*!
+ * This function sets the window position of the foreground or background plane.
+ * modes.
+ *
+ * @param      ipu             ipu handler
+ * @param       channel         Input parameter for the logical channel ID.
+ *
+ * @param       x_pos           The X coordinate position to place window at.
+ *                              The position is relative to the top left corner.
+ *
+ * @param       y_pos           The Y coordinate position to place window at.
+ *                              The position is relative to the top left corner.
+ *
+ * @return      Returns 0 on success or negative error code on fail
+ */
+int32_t _ipu_disp_set_window_pos(struct ipu_soc *ipu, ipu_channel_t channel,
+                               int16_t x_pos, int16_t y_pos)
+{
+       u32 reg;
+       uint32_t flow = 0;
+       uint32_t dp_srm_shift;
+
+       if ((channel == MEM_FG_SYNC) || (channel == MEM_BG_SYNC)) {
+               flow = DP_SYNC;
+               dp_srm_shift = 3;
+       } else if (channel == MEM_FG_ASYNC0) {
+               flow = DP_ASYNC0;
+               dp_srm_shift = 5;
+       } else if (channel == MEM_FG_ASYNC1) {
+               flow = DP_ASYNC1;
+               dp_srm_shift = 7;
+       } else
+               return -EINVAL;
+
+       ipu_dp_write(ipu, (x_pos << 16) | y_pos, DP_FG_POS(flow));
+
+       if (ipu_is_channel_busy(ipu, channel)) {
+               /* controled by FSU if channel enabled */
+               reg = ipu_cm_read(ipu, IPU_SRM_PRI2) & (~(0x3 << dp_srm_shift));
+               reg |= (0x1 << dp_srm_shift);
+               ipu_cm_write(ipu, reg, IPU_SRM_PRI2);
+       } else {
+               /* disable auto swap, controled by MCU if channel disabled */
+               reg = ipu_cm_read(ipu, IPU_SRM_PRI2) & (~(0x3 << dp_srm_shift));
+               ipu_cm_write(ipu, reg, IPU_SRM_PRI2);
+       }
+
+       return 0;
+}
+
+int32_t ipu_disp_set_window_pos(struct ipu_soc *ipu, ipu_channel_t channel,
+                               int16_t x_pos, int16_t y_pos)
+{
+       int ret;
+
+       _ipu_get(ipu);
+       mutex_lock(&ipu->mutex_lock);
+       ret = _ipu_disp_set_window_pos(ipu, channel, x_pos, y_pos);
+       mutex_unlock(&ipu->mutex_lock);
+       _ipu_put(ipu);
+       return ret;
+}
+EXPORT_SYMBOL(ipu_disp_set_window_pos);
+
+int32_t _ipu_disp_get_window_pos(struct ipu_soc *ipu, ipu_channel_t channel,
+                               int16_t *x_pos, int16_t *y_pos)
+{
+       u32 reg;
+       uint32_t flow = 0;
+
+       if (channel == MEM_FG_SYNC)
+               flow = DP_SYNC;
+       else if (channel == MEM_FG_ASYNC0)
+               flow = DP_ASYNC0;
+       else if (channel == MEM_FG_ASYNC1)
+               flow = DP_ASYNC1;
+       else
+               return -EINVAL;
+
+       reg = ipu_dp_read(ipu, DP_FG_POS(flow));
+
+       *x_pos = (reg >> 16) & 0x7FF;
+       *y_pos = reg & 0x7FF;
+
+       return 0;
+}
+int32_t ipu_disp_get_window_pos(struct ipu_soc *ipu, ipu_channel_t channel,
+                               int16_t *x_pos, int16_t *y_pos)
+{
+       int ret;
+
+       _ipu_get(ipu);
+       mutex_lock(&ipu->mutex_lock);
+       ret = _ipu_disp_get_window_pos(ipu, channel, x_pos, y_pos);
+       mutex_unlock(&ipu->mutex_lock);
+       _ipu_put(ipu);
+       return ret;
+}
+EXPORT_SYMBOL(ipu_disp_get_window_pos);
+
+void ipu_disp_direct_write(struct ipu_soc *ipu, ipu_channel_t channel, u32 value, u32 offset)
+{
+       if (channel == DIRECT_ASYNC0)
+               writel(value, ipu->disp_base[0] + offset);
+       else if (channel == DIRECT_ASYNC1)
+               writel(value, ipu->disp_base[1] + offset);
+}
+EXPORT_SYMBOL(ipu_disp_direct_write);
+
+void ipu_reset_disp_panel(struct ipu_soc *ipu)
+{
+       uint32_t tmp;
+
+       tmp = ipu_di_read(ipu, 1, DI_GENERAL);
+       ipu_di_write(ipu, 1, tmp | 0x08, DI_GENERAL);
+       msleep(10); /* tRES >= 100us */
+       tmp = ipu_di_read(ipu, 1, DI_GENERAL);
+       ipu_di_write(ipu, 1, tmp & ~0x08, DI_GENERAL);
+       msleep(60);
+
+       return;
+}
+EXPORT_SYMBOL(ipu_reset_disp_panel);
+
+void ipu_disp_init(struct ipu_soc *ipu)
+{
+       ipu->fg_csc_type = ipu->bg_csc_type = CSC_NONE;
+       ipu->color_key_4rgb = true;
+       _ipu_init_dc_mappings(ipu);
+       _ipu_dmfc_init(ipu, DMFC_NORMAL, 1);
+}
diff --git a/drivers/mxc/ipu3/ipu_ic.c b/drivers/mxc/ipu3/ipu_ic.c
new file mode 100644 (file)
index 0000000..09cd04e
--- /dev/null
@@ -0,0 +1,924 @@
+/*
+ * Copyright 2005-2013 Freescale Semiconductor, Inc. All Rights Reserved.
+ */
+
+/*
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/*
+ * @file ipu_ic.c
+ *
+ * @brief IPU IC functions
+ *
+ * @ingroup IPU
+ */
+#include <linux/errno.h>
+#include <linux/init.h>
+#include <linux/io.h>
+#include <linux/ipu-v3.h>
+#include <linux/spinlock.h>
+#include <linux/types.h>
+#include <linux/videodev2.h>
+
+#include "ipu_param_mem.h"
+#include "ipu_regs.h"
+
+enum {
+       IC_TASK_VIEWFINDER,
+       IC_TASK_ENCODER,
+       IC_TASK_POST_PROCESSOR
+};
+
+static void _init_csc(struct ipu_soc *ipu, uint8_t ic_task, ipu_color_space_t in_format,
+                     ipu_color_space_t out_format, int csc_index);
+
+static int _calc_resize_coeffs(struct ipu_soc *ipu,
+                               uint32_t inSize, uint32_t outSize,
+                               uint32_t *resizeCoeff,
+                               uint32_t *downsizeCoeff);
+
+void _ipu_vdi_set_top_field_man(struct ipu_soc *ipu, bool top_field_0)
+{
+       uint32_t reg;
+
+       reg = ipu_vdi_read(ipu, VDI_C);
+       if (top_field_0)
+               reg &= ~VDI_C_TOP_FIELD_MAN_1;
+       else
+               reg |= VDI_C_TOP_FIELD_MAN_1;
+       ipu_vdi_write(ipu, reg, VDI_C);
+}
+
+void _ipu_vdi_set_motion(struct ipu_soc *ipu, ipu_motion_sel motion_sel)
+{
+       uint32_t reg;
+
+       reg = ipu_vdi_read(ipu, VDI_C);
+       reg &= ~(VDI_C_MOT_SEL_FULL | VDI_C_MOT_SEL_MED | VDI_C_MOT_SEL_LOW);
+       if (motion_sel == HIGH_MOTION)
+               reg |= VDI_C_MOT_SEL_FULL;
+       else if (motion_sel == MED_MOTION)
+               reg |= VDI_C_MOT_SEL_MED;
+       else
+               reg |= VDI_C_MOT_SEL_LOW;
+
+       ipu_vdi_write(ipu, reg, VDI_C);
+       dev_dbg(ipu->dev, "VDI_C = \t0x%08X\n", reg);
+}
+
+void ic_dump_register(struct ipu_soc *ipu)
+{
+       printk(KERN_DEBUG "IC_CONF = \t0x%08X\n", ipu_ic_read(ipu, IC_CONF));
+       printk(KERN_DEBUG "IC_PRP_ENC_RSC = \t0x%08X\n",
+              ipu_ic_read(ipu, IC_PRP_ENC_RSC));
+       printk(KERN_DEBUG "IC_PRP_VF_RSC = \t0x%08X\n",
+              ipu_ic_read(ipu, IC_PRP_VF_RSC));
+       printk(KERN_DEBUG "IC_PP_RSC = \t0x%08X\n", ipu_ic_read(ipu, IC_PP_RSC));
+       printk(KERN_DEBUG "IC_IDMAC_1 = \t0x%08X\n", ipu_ic_read(ipu, IC_IDMAC_1));
+       printk(KERN_DEBUG "IC_IDMAC_2 = \t0x%08X\n", ipu_ic_read(ipu, IC_IDMAC_2));
+       printk(KERN_DEBUG "IC_IDMAC_3 = \t0x%08X\n", ipu_ic_read(ipu, IC_IDMAC_3));
+}
+
+void _ipu_ic_enable_task(struct ipu_soc *ipu, ipu_channel_t channel)
+{
+       uint32_t ic_conf;
+
+       ic_conf = ipu_ic_read(ipu, IC_CONF);
+       switch (channel) {
+       case CSI_PRP_VF_MEM:
+       case MEM_PRP_VF_MEM:
+               ic_conf |= IC_CONF_PRPVF_EN;
+               break;
+       case MEM_VDI_PRP_VF_MEM:
+               ic_conf |= IC_CONF_PRPVF_EN;
+               break;
+       case MEM_VDI_MEM:
+               ic_conf |= IC_CONF_PRPVF_EN | IC_CONF_RWS_EN ;
+               break;
+       case MEM_ROT_VF_MEM:
+               ic_conf |= IC_CONF_PRPVF_ROT_EN;
+               break;
+       case CSI_PRP_ENC_MEM:
+       case MEM_PRP_ENC_MEM:
+               ic_conf |= IC_CONF_PRPENC_EN;
+               break;
+       case MEM_ROT_ENC_MEM:
+               ic_conf |= IC_CONF_PRPENC_ROT_EN;
+               break;
+       case MEM_PP_MEM:
+               ic_conf |= IC_CONF_PP_EN;
+               break;
+       case MEM_ROT_PP_MEM:
+               ic_conf |= IC_CONF_PP_ROT_EN;
+               break;
+       default:
+               break;
+       }
+       ipu_ic_write(ipu, ic_conf, IC_CONF);
+}
+
+void _ipu_ic_disable_task(struct ipu_soc *ipu, ipu_channel_t channel)
+{
+       uint32_t ic_conf;
+
+       ic_conf = ipu_ic_read(ipu, IC_CONF);
+       switch (channel) {
+       case CSI_PRP_VF_MEM:
+       case MEM_PRP_VF_MEM:
+               ic_conf &= ~IC_CONF_PRPVF_EN;
+               break;
+       case MEM_VDI_PRP_VF_MEM:
+               ic_conf &= ~IC_CONF_PRPVF_EN;
+               break;
+       case MEM_VDI_MEM:
+               ic_conf &= ~(IC_CONF_PRPVF_EN | IC_CONF_RWS_EN);
+               break;
+       case MEM_ROT_VF_MEM:
+               ic_conf &= ~IC_CONF_PRPVF_ROT_EN;
+               break;
+       case CSI_PRP_ENC_MEM:
+       case MEM_PRP_ENC_MEM:
+               ic_conf &= ~IC_CONF_PRPENC_EN;
+               break;
+       case MEM_ROT_ENC_MEM:
+               ic_conf &= ~IC_CONF_PRPENC_ROT_EN;
+               break;
+       case MEM_PP_MEM:
+               ic_conf &= ~IC_CONF_PP_EN;
+               break;
+       case MEM_ROT_PP_MEM:
+               ic_conf &= ~IC_CONF_PP_ROT_EN;
+               break;
+       default:
+               break;
+       }
+       ipu_ic_write(ipu, ic_conf, IC_CONF);
+}
+
+void _ipu_vdi_init(struct ipu_soc *ipu, ipu_channel_t channel, ipu_channel_params_t *params)
+{
+       uint32_t reg;
+       uint32_t pixel_fmt;
+       uint32_t pix_per_burst;
+
+       reg = ((params->mem_prp_vf_mem.in_height-1) << 16) |
+         (params->mem_prp_vf_mem.in_width-1);
+       ipu_vdi_write(ipu, reg, VDI_FSIZE);
+
+       /* Full motion, only vertical filter is used
+          Burst size is 4 accesses */
+       if (params->mem_prp_vf_mem.in_pixel_fmt ==
+            IPU_PIX_FMT_UYVY ||
+            params->mem_prp_vf_mem.in_pixel_fmt ==
+            IPU_PIX_FMT_YUYV) {
+               pixel_fmt = VDI_C_CH_422;
+               pix_per_burst = 32;
+        } else {
+               pixel_fmt = VDI_C_CH_420;
+               pix_per_burst = 64;
+       }
+
+       reg = ipu_vdi_read(ipu, VDI_C);
+       reg |= pixel_fmt;
+       switch (channel) {
+       case MEM_VDI_PRP_VF_MEM:
+               reg |= VDI_C_BURST_SIZE2_4;
+               break;
+       case MEM_VDI_PRP_VF_MEM_P:
+               reg |= VDI_C_BURST_SIZE1_4 | VDI_C_VWM1_SET_1 | VDI_C_VWM1_CLR_2;
+               break;
+       case MEM_VDI_PRP_VF_MEM_N:
+               reg |= VDI_C_BURST_SIZE3_4 | VDI_C_VWM3_SET_1 | VDI_C_VWM3_CLR_2;
+               break;
+
+       case MEM_VDI_MEM:
+               reg |= (((pix_per_burst >> 2) - 1) & VDI_C_BURST_SIZE_MASK)
+                               << VDI_C_BURST_SIZE2_OFFSET;
+               break;
+       case MEM_VDI_MEM_P:
+               reg |= (((pix_per_burst >> 2) - 1) & VDI_C_BURST_SIZE_MASK)
+                               << VDI_C_BURST_SIZE1_OFFSET;
+               reg |= VDI_C_VWM1_SET_2 | VDI_C_VWM1_CLR_2;
+               break;
+       case MEM_VDI_MEM_N:
+               reg |= (((pix_per_burst >> 2) - 1) & VDI_C_BURST_SIZE_MASK)
+                               << VDI_C_BURST_SIZE3_OFFSET;
+               reg |= VDI_C_VWM3_SET_2 | VDI_C_VWM3_CLR_2;
+               break;
+       default:
+               break;
+       }
+       ipu_vdi_write(ipu, reg, VDI_C);
+
+       if (params->mem_prp_vf_mem.field_fmt == IPU_DEINTERLACE_FIELD_TOP)
+               _ipu_vdi_set_top_field_man(ipu, true);
+       else if (params->mem_prp_vf_mem.field_fmt == IPU_DEINTERLACE_FIELD_BOTTOM)
+               _ipu_vdi_set_top_field_man(ipu, false);
+
+       _ipu_vdi_set_motion(ipu, params->mem_prp_vf_mem.motion_sel);
+
+       reg = ipu_ic_read(ipu, IC_CONF);
+       reg &= ~IC_CONF_RWS_EN;
+       ipu_ic_write(ipu, reg, IC_CONF);
+}
+
+void _ipu_vdi_uninit(struct ipu_soc *ipu)
+{
+       ipu_vdi_write(ipu, 0, VDI_FSIZE);
+       ipu_vdi_write(ipu, 0, VDI_C);
+}
+
+int _ipu_ic_init_prpvf(struct ipu_soc *ipu, ipu_channel_params_t *params,
+                      bool src_is_csi)
+{
+       uint32_t reg, ic_conf;
+       uint32_t downsizeCoeff, resizeCoeff;
+       ipu_color_space_t in_fmt, out_fmt;
+       int ret = 0;
+
+       /* Setup vertical resizing */
+       if (!params->mem_prp_vf_mem.outv_resize_ratio) {
+               ret = _calc_resize_coeffs(ipu, params->mem_prp_vf_mem.in_height,
+                                       params->mem_prp_vf_mem.out_height,
+                                       &resizeCoeff, &downsizeCoeff);
+               if (ret < 0) {
+                       dev_err(ipu->dev, "failed to calculate prpvf height "
+                               "scaling coefficients\n");
+                       return ret;
+               }
+
+               reg = (downsizeCoeff << 30) | (resizeCoeff << 16);
+       } else
+               reg = (params->mem_prp_vf_mem.outv_resize_ratio) << 16;
+
+       /* Setup horizontal resizing */
+       if (!params->mem_prp_vf_mem.outh_resize_ratio) {
+               ret = _calc_resize_coeffs(ipu, params->mem_prp_vf_mem.in_width,
+                                       params->mem_prp_vf_mem.out_width,
+                                       &resizeCoeff, &downsizeCoeff);
+               if (ret < 0) {
+                       dev_err(ipu->dev, "failed to calculate prpvf width "
+                               "scaling coefficients\n");
+                       return ret;
+               }
+
+               reg |= (downsizeCoeff << 14) | resizeCoeff;
+       } else
+               reg |= params->mem_prp_vf_mem.outh_resize_ratio;
+
+       ipu_ic_write(ipu, reg, IC_PRP_VF_RSC);
+
+       ic_conf = ipu_ic_read(ipu, IC_CONF);
+
+       /* Setup color space conversion */
+       in_fmt = format_to_colorspace(params->mem_prp_vf_mem.in_pixel_fmt);
+       out_fmt = format_to_colorspace(params->mem_prp_vf_mem.out_pixel_fmt);
+       if (in_fmt == RGB) {
+               if ((out_fmt == YCbCr) || (out_fmt == YUV)) {
+                       /* Enable RGB->YCBCR CSC1 */
+                       _init_csc(ipu, IC_TASK_VIEWFINDER, RGB, out_fmt, 1);
+                       ic_conf |= IC_CONF_PRPVF_CSC1;
+               }
+       }
+       if ((in_fmt == YCbCr) || (in_fmt == YUV)) {
+               if (out_fmt == RGB) {
+                       /* Enable YCBCR->RGB CSC1 */
+                       _init_csc(ipu, IC_TASK_VIEWFINDER, YCbCr, RGB, 1);
+                       ic_conf |= IC_CONF_PRPVF_CSC1;
+               } else {
+                       /* TODO: Support YUV<->YCbCr conversion? */
+               }
+       }
+
+       if (params->mem_prp_vf_mem.graphics_combine_en) {
+               ic_conf |= IC_CONF_PRPVF_CMB;
+
+               if (!(ic_conf & IC_CONF_PRPVF_CSC1)) {
+                       /* need transparent CSC1 conversion */
+                       _init_csc(ipu, IC_TASK_VIEWFINDER, RGB, RGB, 1);
+                       ic_conf |= IC_CONF_PRPVF_CSC1;  /* Enable RGB->RGB CSC */
+               }
+               in_fmt = format_to_colorspace(params->mem_prp_vf_mem.in_g_pixel_fmt);
+               out_fmt = format_to_colorspace(params->mem_prp_vf_mem.out_pixel_fmt);
+               if (in_fmt == RGB) {
+                       if ((out_fmt == YCbCr) || (out_fmt == YUV)) {
+                               /* Enable RGB->YCBCR CSC2 */
+                               _init_csc(ipu, IC_TASK_VIEWFINDER, RGB, out_fmt, 2);
+                               ic_conf |= IC_CONF_PRPVF_CSC2;
+                       }
+               }
+               if ((in_fmt == YCbCr) || (in_fmt == YUV)) {
+                       if (out_fmt == RGB) {
+                               /* Enable YCBCR->RGB CSC2 */
+                               _init_csc(ipu, IC_TASK_VIEWFINDER, YCbCr, RGB, 2);
+                               ic_conf |= IC_CONF_PRPVF_CSC2;
+                       } else {
+                               /* TODO: Support YUV<->YCbCr conversion? */
+                       }
+               }
+
+               if (params->mem_prp_vf_mem.global_alpha_en) {
+                       ic_conf |= IC_CONF_IC_GLB_LOC_A;
+                       reg = ipu_ic_read(ipu, IC_CMBP_1);
+                       reg &= ~(0xff);
+                       reg |= params->mem_prp_vf_mem.alpha;
+                       ipu_ic_write(ipu, reg, IC_CMBP_1);
+               } else
+                       ic_conf &= ~IC_CONF_IC_GLB_LOC_A;
+
+               if (params->mem_prp_vf_mem.key_color_en) {
+                       ic_conf |= IC_CONF_KEY_COLOR_EN;
+                       ipu_ic_write(ipu, params->mem_prp_vf_mem.key_color,
+                                       IC_CMBP_2);
+               } else
+                       ic_conf &= ~IC_CONF_KEY_COLOR_EN;
+       } else {
+               ic_conf &= ~IC_CONF_PRPVF_CMB;
+       }
+
+       if (src_is_csi)
+               ic_conf &= ~IC_CONF_RWS_EN;
+       else
+               ic_conf |= IC_CONF_RWS_EN;
+
+       ipu_ic_write(ipu, ic_conf, IC_CONF);
+
+       return ret;
+}
+
+void _ipu_ic_uninit_prpvf(struct ipu_soc *ipu)
+{
+       uint32_t reg;
+
+       reg = ipu_ic_read(ipu, IC_CONF);
+       reg &= ~(IC_CONF_PRPVF_EN | IC_CONF_PRPVF_CMB |
+                IC_CONF_PRPVF_CSC2 | IC_CONF_PRPVF_CSC1);
+       ipu_ic_write(ipu, reg, IC_CONF);
+}
+
+void _ipu_ic_init_rotate_vf(struct ipu_soc *ipu, ipu_channel_params_t *params)
+{
+}
+
+void _ipu_ic_uninit_rotate_vf(struct ipu_soc *ipu)
+{
+       uint32_t reg;
+       reg = ipu_ic_read(ipu, IC_CONF);
+       reg &= ~IC_CONF_PRPVF_ROT_EN;
+       ipu_ic_write(ipu, reg, IC_CONF);
+}
+
+int _ipu_ic_init_prpenc(struct ipu_soc *ipu, ipu_channel_params_t *params,
+                       bool src_is_csi)
+{
+       uint32_t reg, ic_conf;
+       uint32_t downsizeCoeff, resizeCoeff;
+       ipu_color_space_t in_fmt, out_fmt;
+       int ret = 0;
+
+       /* Setup vertical resizing */
+       if (!params->mem_prp_enc_mem.outv_resize_ratio) {
+               ret = _calc_resize_coeffs(ipu,
+                                       params->mem_prp_enc_mem.in_height,
+                                       params->mem_prp_enc_mem.out_height,
+                                       &resizeCoeff, &downsizeCoeff);
+               if (ret < 0) {
+                       dev_err(ipu->dev, "failed to calculate prpenc height "
+                               "scaling coefficients\n");
+                       return ret;
+               }
+
+               reg = (downsizeCoeff << 30) | (resizeCoeff << 16);
+       } else
+               reg = (params->mem_prp_enc_mem.outv_resize_ratio) << 16;
+
+       /* Setup horizontal resizing */
+       if (!params->mem_prp_enc_mem.outh_resize_ratio) {
+               ret = _calc_resize_coeffs(ipu, params->mem_prp_enc_mem.in_width,
+                                       params->mem_prp_enc_mem.out_width,
+                                       &resizeCoeff, &downsizeCoeff);
+               if (ret < 0) {
+                       dev_err(ipu->dev, "failed to calculate prpenc width "
+                               "scaling coefficients\n");
+                       return ret;
+               }
+
+               reg |= (downsizeCoeff << 14) | resizeCoeff;
+       } else
+               reg |= params->mem_prp_enc_mem.outh_resize_ratio;
+
+       ipu_ic_write(ipu, reg, IC_PRP_ENC_RSC);
+
+       ic_conf = ipu_ic_read(ipu, IC_CONF);
+
+       /* Setup color space conversion */
+       in_fmt = format_to_colorspace(params->mem_prp_enc_mem.in_pixel_fmt);
+       out_fmt = format_to_colorspace(params->mem_prp_enc_mem.out_pixel_fmt);
+       if (in_fmt == RGB) {
+               if ((out_fmt == YCbCr) || (out_fmt == YUV)) {
+                       /* Enable RGB->YCBCR CSC1 */
+                       _init_csc(ipu, IC_TASK_ENCODER, RGB, out_fmt, 1);
+                       ic_conf |= IC_CONF_PRPENC_CSC1;
+               }
+       }
+       if ((in_fmt == YCbCr) || (in_fmt == YUV)) {
+               if (out_fmt == RGB) {
+                       /* Enable YCBCR->RGB CSC1 */
+                       _init_csc(ipu, IC_TASK_ENCODER, YCbCr, RGB, 1);
+                       ic_conf |= IC_CONF_PRPENC_CSC1;
+               } else {
+                       /* TODO: Support YUV<->YCbCr conversion? */
+               }
+       }
+
+       if (src_is_csi)
+               ic_conf &= ~IC_CONF_RWS_EN;
+       else
+               ic_conf |= IC_CONF_RWS_EN;
+
+       ipu_ic_write(ipu, ic_conf, IC_CONF);
+
+       return ret;
+}
+
+void _ipu_ic_uninit_prpenc(struct ipu_soc *ipu)
+{
+       uint32_t reg;
+
+       reg = ipu_ic_read(ipu, IC_CONF);
+       reg &= ~(IC_CONF_PRPENC_EN | IC_CONF_PRPENC_CSC1);
+       ipu_ic_write(ipu, reg, IC_CONF);
+}
+
+void _ipu_ic_init_rotate_enc(struct ipu_soc *ipu, ipu_channel_params_t *params)
+{
+}
+
+void _ipu_ic_uninit_rotate_enc(struct ipu_soc *ipu)
+{
+       uint32_t reg;
+
+       reg = ipu_ic_read(ipu, IC_CONF);
+       reg &= ~(IC_CONF_PRPENC_ROT_EN);
+       ipu_ic_write(ipu, reg, IC_CONF);
+}
+
+int _ipu_ic_init_pp(struct ipu_soc *ipu, ipu_channel_params_t *params)
+{
+       uint32_t reg, ic_conf;
+       uint32_t downsizeCoeff, resizeCoeff;
+       ipu_color_space_t in_fmt, out_fmt;
+       int ret = 0;
+
+       /* Setup vertical resizing */
+       if (!params->mem_pp_mem.outv_resize_ratio) {
+               ret = _calc_resize_coeffs(ipu, params->mem_pp_mem.in_height,
+                                   params->mem_pp_mem.out_height,
+                                   &resizeCoeff, &downsizeCoeff);
+               if (ret < 0) {
+                       dev_err(ipu->dev, "failed to calculate pp height "
+                               "scaling coefficients\n");
+                       return ret;
+               }
+
+               reg = (downsizeCoeff << 30) | (resizeCoeff << 16);
+       } else {
+               reg = (params->mem_pp_mem.outv_resize_ratio) << 16;
+       }
+
+       /* Setup horizontal resizing */
+       if (!params->mem_pp_mem.outh_resize_ratio) {
+               ret = _calc_resize_coeffs(ipu, params->mem_pp_mem.in_width,
+                                       params->mem_pp_mem.out_width,
+                                       &resizeCoeff, &downsizeCoeff);
+               if (ret < 0) {
+                       dev_err(ipu->dev, "failed to calculate pp width "
+                               "scaling coefficients\n");
+                       return ret;
+               }
+
+               reg |= (downsizeCoeff << 14) | resizeCoeff;
+       } else {
+               reg |= params->mem_pp_mem.outh_resize_ratio;
+       }
+
+       ipu_ic_write(ipu, reg, IC_PP_RSC);
+
+       ic_conf = ipu_ic_read(ipu, IC_CONF);
+
+       /* Setup color space conversion */
+       in_fmt = format_to_colorspace(params->mem_pp_mem.in_pixel_fmt);
+       out_fmt = format_to_colorspace(params->mem_pp_mem.out_pixel_fmt);
+       if (in_fmt == RGB) {
+               if ((out_fmt == YCbCr) || (out_fmt == YUV)) {
+                       /* Enable RGB->YCBCR CSC1 */
+                       _init_csc(ipu, IC_TASK_POST_PROCESSOR, RGB, out_fmt, 1);
+                       ic_conf |= IC_CONF_PP_CSC1;
+               }
+       }
+       if ((in_fmt == YCbCr) || (in_fmt == YUV)) {
+               if (out_fmt == RGB) {
+                       /* Enable YCBCR->RGB CSC1 */
+                       _init_csc(ipu, IC_TASK_POST_PROCESSOR, YCbCr, RGB, 1);
+                       ic_conf |= IC_CONF_PP_CSC1;
+               } else {
+                       /* TODO: Support YUV<->YCbCr conversion? */
+               }
+       }
+
+       if (params->mem_pp_mem.graphics_combine_en) {
+               ic_conf |= IC_CONF_PP_CMB;
+
+               if (!(ic_conf & IC_CONF_PP_CSC1)) {
+                       /* need transparent CSC1 conversion */
+                       _init_csc(ipu, IC_TASK_POST_PROCESSOR, RGB, RGB, 1);
+                       ic_conf |= IC_CONF_PP_CSC1;  /* Enable RGB->RGB CSC */
+               }
+
+               in_fmt = format_to_colorspace(params->mem_pp_mem.in_g_pixel_fmt);
+               out_fmt = format_to_colorspace(params->mem_pp_mem.out_pixel_fmt);
+               if (in_fmt == RGB) {
+                       if ((out_fmt == YCbCr) || (out_fmt == YUV)) {
+                               /* Enable RGB->YCBCR CSC2 */
+                               _init_csc(ipu, IC_TASK_POST_PROCESSOR, RGB, out_fmt, 2);
+                               ic_conf |= IC_CONF_PP_CSC2;
+                       }
+               }
+               if ((in_fmt == YCbCr) || (in_fmt == YUV)) {
+                       if (out_fmt == RGB) {
+                               /* Enable YCBCR->RGB CSC2 */
+                               _init_csc(ipu, IC_TASK_POST_PROCESSOR, YCbCr, RGB, 2);
+                               ic_conf |= IC_CONF_PP_CSC2;
+                       } else {
+                               /* TODO: Support YUV<->YCbCr conversion? */
+                       }
+               }
+
+               if (params->mem_pp_mem.global_alpha_en) {
+                       ic_conf |= IC_CONF_IC_GLB_LOC_A;
+                       reg = ipu_ic_read(ipu, IC_CMBP_1);
+                       reg &= ~(0xff00);
+                       reg |= (params->mem_pp_mem.alpha << 8);
+                       ipu_ic_write(ipu, reg, IC_CMBP_1);
+               } else
+                       ic_conf &= ~IC_CONF_IC_GLB_LOC_A;
+
+               if (params->mem_pp_mem.key_color_en) {
+                       ic_conf |= IC_CONF_KEY_COLOR_EN;
+                       ipu_ic_write(ipu, params->mem_pp_mem.key_color,
+                                       IC_CMBP_2);
+               } else
+                       ic_conf &= ~IC_CONF_KEY_COLOR_EN;
+       } else {
+               ic_conf &= ~IC_CONF_PP_CMB;
+       }
+
+       ipu_ic_write(ipu, ic_conf, IC_CONF);
+
+       return ret;
+}
+
+void _ipu_ic_uninit_pp(struct ipu_soc *ipu)
+{
+       uint32_t reg;
+
+       reg = ipu_ic_read(ipu, IC_CONF);
+       reg &= ~(IC_CONF_PP_EN | IC_CONF_PP_CSC1 | IC_CONF_PP_CSC2 |
+                IC_CONF_PP_CMB);
+       ipu_ic_write(ipu, reg, IC_CONF);
+}
+
+void _ipu_ic_init_rotate_pp(struct ipu_soc *ipu, ipu_channel_params_t *params)
+{
+}
+
+void _ipu_ic_uninit_rotate_pp(struct ipu_soc *ipu)
+{
+       uint32_t reg;
+       reg = ipu_ic_read(ipu, IC_CONF);
+       reg &= ~IC_CONF_PP_ROT_EN;
+       ipu_ic_write(ipu, reg, IC_CONF);
+}
+
+int _ipu_ic_idma_init(struct ipu_soc *ipu, int dma_chan,
+               uint16_t width, uint16_t height,
+               int burst_size, ipu_rotate_mode_t rot)
+{
+       u32 ic_idmac_1, ic_idmac_2, ic_idmac_3;
+       u32 temp_rot = bitrev8(rot) >> 5;
+       bool need_hor_flip = false;
+
+       if ((burst_size != 8) && (burst_size != 16)) {
+               dev_dbg(ipu->dev, "Illegal burst length for IC\n");
+               return -EINVAL;
+       }
+
+       width--;
+       height--;
+
+       if (temp_rot & 0x2)     /* Need horizontal flip */
+               need_hor_flip = true;
+
+       ic_idmac_1 = ipu_ic_read(ipu, IC_IDMAC_1);
+       ic_idmac_2 = ipu_ic_read(ipu, IC_IDMAC_2);
+       ic_idmac_3 = ipu_ic_read(ipu, IC_IDMAC_3);
+       if (dma_chan == 22) {   /* PP output - CB2 */
+               if (burst_size == 16)
+                       ic_idmac_1 |= IC_IDMAC_1_CB2_BURST_16;
+               else
+                       ic_idmac_1 &= ~IC_IDMAC_1_CB2_BURST_16;
+
+               if (need_hor_flip)
+                       ic_idmac_1 |= IC_IDMAC_1_PP_FLIP_RS;
+               else
+                       ic_idmac_1 &= ~IC_IDMAC_1_PP_FLIP_RS;
+
+               ic_idmac_2 &= ~IC_IDMAC_2_PP_HEIGHT_MASK;
+               ic_idmac_2 |= height << IC_IDMAC_2_PP_HEIGHT_OFFSET;
+
+               ic_idmac_3 &= ~IC_IDMAC_3_PP_WIDTH_MASK;
+               ic_idmac_3 |= width << IC_IDMAC_3_PP_WIDTH_OFFSET;
+       } else if (dma_chan == 11) {    /* PP Input - CB5 */
+               if (burst_size == 16)
+                       ic_idmac_1 |= IC_IDMAC_1_CB5_BURST_16;
+               else
+                       ic_idmac_1 &= ~IC_IDMAC_1_CB5_BURST_16;
+       } else if (dma_chan == 47) {    /* PP Rot input */
+               ic_idmac_1 &= ~IC_IDMAC_1_PP_ROT_MASK;
+               ic_idmac_1 |= temp_rot << IC_IDMAC_1_PP_ROT_OFFSET;
+       }
+
+       if (dma_chan == 12) {   /* PRP Input - CB6 */
+               if (burst_size == 16)
+                       ic_idmac_1 |= IC_IDMAC_1_CB6_BURST_16;
+               else
+                       ic_idmac_1 &= ~IC_IDMAC_1_CB6_BURST_16;
+       }
+
+       if (dma_chan == 20) {   /* PRP ENC output - CB0 */
+               if (burst_size == 16)
+                       ic_idmac_1 |= IC_IDMAC_1_CB0_BURST_16;
+               else
+                       ic_idmac_1 &= ~IC_IDMAC_1_CB0_BURST_16;
+
+               if (need_hor_flip)
+                       ic_idmac_1 |= IC_IDMAC_1_PRPENC_FLIP_RS;
+               else
+                       ic_idmac_1 &= ~IC_IDMAC_1_PRPENC_FLIP_RS;
+
+               ic_idmac_2 &= ~IC_IDMAC_2_PRPENC_HEIGHT_MASK;
+               ic_idmac_2 |= height << IC_IDMAC_2_PRPENC_HEIGHT_OFFSET;
+
+               ic_idmac_3 &= ~IC_IDMAC_3_PRPENC_WIDTH_MASK;
+               ic_idmac_3 |= width << IC_IDMAC_3_PRPENC_WIDTH_OFFSET;
+
+       } else if (dma_chan == 45) {    /* PRP ENC Rot input */
+               ic_idmac_1 &= ~IC_IDMAC_1_PRPENC_ROT_MASK;
+               ic_idmac_1 |= temp_rot << IC_IDMAC_1_PRPENC_ROT_OFFSET;
+       }
+
+       if (dma_chan == 21) {   /* PRP VF output - CB1 */
+               if (burst_size == 16)
+                       ic_idmac_1 |= IC_IDMAC_1_CB1_BURST_16;
+               else
+                       ic_idmac_1 &= ~IC_IDMAC_1_CB1_BURST_16;
+
+               if (need_hor_flip)
+                       ic_idmac_1 |= IC_IDMAC_1_PRPVF_FLIP_RS;
+               else
+                       ic_idmac_1 &= ~IC_IDMAC_1_PRPVF_FLIP_RS;
+
+               ic_idmac_2 &= ~IC_IDMAC_2_PRPVF_HEIGHT_MASK;
+               ic_idmac_2 |= height << IC_IDMAC_2_PRPVF_HEIGHT_OFFSET;
+
+               ic_idmac_3 &= ~IC_IDMAC_3_PRPVF_WIDTH_MASK;
+               ic_idmac_3 |= width << IC_IDMAC_3_PRPVF_WIDTH_OFFSET;
+
+       } else if (dma_chan == 46) {    /* PRP VF Rot input */
+               ic_idmac_1 &= ~IC_IDMAC_1_PRPVF_ROT_MASK;
+               ic_idmac_1 |= temp_rot << IC_IDMAC_1_PRPVF_ROT_OFFSET;
+       }
+
+       if (dma_chan == 14) {   /* PRP VF graphics combining input - CB3 */
+               if (burst_size == 16)
+                       ic_idmac_1 |= IC_IDMAC_1_CB3_BURST_16;
+               else
+                       ic_idmac_1 &= ~IC_IDMAC_1_CB3_BURST_16;
+       } else if (dma_chan == 15) {    /* PP graphics combining input - CB4 */
+               if (burst_size == 16)
+                       ic_idmac_1 |= IC_IDMAC_1_CB4_BURST_16;
+               else
+                       ic_idmac_1 &= ~IC_IDMAC_1_CB4_BURST_16;
+       } else if (dma_chan == 5) {     /* VDIC OUTPUT - CB7 */
+               if (burst_size == 16)
+                       ic_idmac_1 |= IC_IDMAC_1_CB7_BURST_16;
+               else
+                       ic_idmac_1 &= ~IC_IDMAC_1_CB7_BURST_16;
+       }
+
+       ipu_ic_write(ipu, ic_idmac_1, IC_IDMAC_1);
+       ipu_ic_write(ipu, ic_idmac_2, IC_IDMAC_2);
+       ipu_ic_write(ipu, ic_idmac_3, IC_IDMAC_3);
+       return 0;
+}
+
+static void _init_csc(struct ipu_soc *ipu, uint8_t ic_task, ipu_color_space_t in_format,
+                     ipu_color_space_t out_format, int csc_index)
+{
+       /*
+        * Y =  0.257 * R + 0.504 * G + 0.098 * B +  16;
+        * U = -0.148 * R - 0.291 * G + 0.439 * B + 128;
+        * V =  0.439 * R - 0.368 * G - 0.071 * B + 128;
+        */
+       static const uint32_t rgb2ycbcr_coeff[4][3] = {
+               {0x0042, 0x0081, 0x0019},
+               {0x01DA, 0x01B6, 0x0070},
+               {0x0070, 0x01A2, 0x01EE},
+               {0x0040, 0x0200, 0x0200},       /* A0, A1, A2 */
+       };
+
+       /* transparent RGB->RGB matrix for combining
+        */
+       static const uint32_t rgb2rgb_coeff[4][3] = {
+               {0x0080, 0x0000, 0x0000},
+               {0x0000, 0x0080, 0x0000},
+               {0x0000, 0x0000, 0x0080},
+               {0x0000, 0x0000, 0x0000},       /* A0, A1, A2 */
+       };
+
+/*     R = (1.164 * (Y - 16)) + (1.596 * (Cr - 128));
+       G = (1.164 * (Y - 16)) - (0.392 * (Cb - 128)) - (0.813 * (Cr - 128));
+       B = (1.164 * (Y - 16)) + (2.017 * (Cb - 128); */
+       static const uint32_t ycbcr2rgb_coeff[4][3] = {
+               {149, 0, 204},
+               {149, 462, 408},
+               {149, 255, 0},
+               {8192 - 446, 266, 8192 - 554},  /* A0, A1, A2 */
+       };
+
+       uint32_t param;
+       uint32_t *base = NULL;
+
+       if (ic_task == IC_TASK_ENCODER) {
+               base = (uint32_t *)ipu->tpmem_base + 0x2008 / 4;
+       } else if (ic_task == IC_TASK_VIEWFINDER) {
+               if (csc_index == 1)
+                       base = (uint32_t *)ipu->tpmem_base + 0x4028 / 4;
+               else
+                       base = (uint32_t *)ipu->tpmem_base + 0x4040 / 4;
+       } else if (ic_task == IC_TASK_POST_PROCESSOR) {
+               if (csc_index == 1)
+                       base = (uint32_t *)ipu->tpmem_base + 0x6060 / 4;
+               else
+                       base = (uint32_t *)ipu->tpmem_base + 0x6078 / 4;
+       } else {
+               BUG();
+       }
+
+       if ((in_format == YCbCr) && (out_format == RGB)) {
+               /* Init CSC (YCbCr->RGB) */
+               param = (ycbcr2rgb_coeff[3][0] << 27) |
+                       (ycbcr2rgb_coeff[0][0] << 18) |
+                       (ycbcr2rgb_coeff[1][1] << 9) | ycbcr2rgb_coeff[2][2];
+               writel(param, base++);
+               /* scale = 2, sat = 0 */
+               param = (ycbcr2rgb_coeff[3][0] >> 5) | (2L << (40 - 32));
+               writel(param, base++);
+
+               param = (ycbcr2rgb_coeff[3][1] << 27) |
+                       (ycbcr2rgb_coeff[0][1] << 18) |
+                       (ycbcr2rgb_coeff[1][0] << 9) | ycbcr2rgb_coeff[2][0];
+               writel(param, base++);
+               param = (ycbcr2rgb_coeff[3][1] >> 5);
+               writel(param, base++);
+
+               param = (ycbcr2rgb_coeff[3][2] << 27) |
+                       (ycbcr2rgb_coeff[0][2] << 18) |
+                       (ycbcr2rgb_coeff[1][2] << 9) | ycbcr2rgb_coeff[2][1];
+               writel(param, base++);
+               param = (ycbcr2rgb_coeff[3][2] >> 5);
+               writel(param, base++);
+       } else if ((in_format == RGB) && (out_format == YCbCr)) {
+               /* Init CSC (RGB->YCbCr) */
+               param = (rgb2ycbcr_coeff[3][0] << 27) |
+                       (rgb2ycbcr_coeff[0][0] << 18) |
+                       (rgb2ycbcr_coeff[1][1] << 9) | rgb2ycbcr_coeff[2][2];
+               writel(param, base++);
+               /* scale = 1, sat = 0 */
+               param = (rgb2ycbcr_coeff[3][0] >> 5) | (1UL << 8);
+               writel(param, base++);
+
+               param = (rgb2ycbcr_coeff[3][1] << 27) |
+                       (rgb2ycbcr_coeff[0][1] << 18) |
+                       (rgb2ycbcr_coeff[1][0] << 9) | rgb2ycbcr_coeff[2][0];
+               writel(param, base++);
+               param = (rgb2ycbcr_coeff[3][1] >> 5);
+               writel(param, base++);
+
+               param = (rgb2ycbcr_coeff[3][2] << 27) |
+                       (rgb2ycbcr_coeff[0][2] << 18) |
+                       (rgb2ycbcr_coeff[1][2] << 9) | rgb2ycbcr_coeff[2][1];
+               writel(param, base++);
+               param = (rgb2ycbcr_coeff[3][2] >> 5);
+               writel(param, base++);
+       } else if ((in_format == RGB) && (out_format == RGB)) {
+               /* Init CSC */
+               param =
+                   (rgb2rgb_coeff[3][0] << 27) | (rgb2rgb_coeff[0][0] << 18) |
+                   (rgb2rgb_coeff[1][1] << 9) | rgb2rgb_coeff[2][2];
+               writel(param, base++);
+               /* scale = 2, sat = 0 */
+               param = (rgb2rgb_coeff[3][0] >> 5) | (2UL << 8);
+               writel(param, base++);
+
+               param =
+                   (rgb2rgb_coeff[3][1] << 27) | (rgb2rgb_coeff[0][1] << 18) |
+                   (rgb2rgb_coeff[1][0] << 9) | rgb2rgb_coeff[2][0];
+               writel(param, base++);
+               param = (rgb2rgb_coeff[3][1] >> 5);
+               writel(param, base++);
+
+               param =
+                   (rgb2rgb_coeff[3][2] << 27) | (rgb2rgb_coeff[0][2] << 18) |
+                   (rgb2rgb_coeff[1][2] << 9) | rgb2rgb_coeff[2][1];
+               writel(param, base++);
+               param = (rgb2rgb_coeff[3][2] >> 5);
+               writel(param, base++);
+       } else {
+               dev_err(ipu->dev, "Unsupported color space conversion\n");
+       }
+}
+
+static int _calc_resize_coeffs(struct ipu_soc *ipu,
+                               uint32_t inSize, uint32_t outSize,
+                               uint32_t *resizeCoeff,
+                               uint32_t *downsizeCoeff)
+{
+       uint32_t tempSize;
+       uint32_t tempDownsize;
+
+       if (inSize > 4096) {
+               dev_err(ipu->dev, "IC input size(%d) cannot exceed 4096\n",
+                       inSize);
+               return -EINVAL;
+       }
+
+       if (outSize > 1024) {
+               dev_err(ipu->dev, "IC output size(%d) cannot exceed 1024\n",
+                       outSize);
+               return -EINVAL;
+       }
+
+       if ((outSize << 3) < inSize) {
+               dev_err(ipu->dev, "IC cannot downsize more than 8:1\n");
+               return -EINVAL;
+       }
+
+       /* Compute downsizing coefficient */
+       /* Output of downsizing unit cannot be more than 1024 */
+       tempDownsize = 0;
+       tempSize = inSize;
+       while (((tempSize > 1024) || (tempSize >= outSize * 2)) &&
+              (tempDownsize < 2)) {
+               tempSize >>= 1;
+               tempDownsize++;
+       }
+       *downsizeCoeff = tempDownsize;
+
+       /* compute resizing coefficient using the following equation:
+          resizeCoeff = M*(SI -1)/(SO - 1)
+          where M = 2^13, SI - input size, SO - output size    */
+       *resizeCoeff = (8192L * (tempSize - 1)) / (outSize - 1);
+       if (*resizeCoeff >= 16384L) {
+               dev_err(ipu->dev, "Overflow on IC resize coefficient.\n");
+               return -EINVAL;
+       }
+
+       dev_dbg(ipu->dev, "resizing from %u -> %u pixels, "
+               "downsize=%u, resize=%u.%lu (reg=%u)\n", inSize, outSize,
+               *downsizeCoeff, (*resizeCoeff >= 8192L) ? 1 : 0,
+               ((*resizeCoeff & 0x1FFF) * 10000L) / 8192L, *resizeCoeff);
+
+       return 0;
+}
+
+void _ipu_vdi_toggle_top_field_man(struct ipu_soc *ipu)
+{
+       uint32_t reg;
+       uint32_t mask_reg;
+
+       reg = ipu_vdi_read(ipu, VDI_C);
+       mask_reg = reg & VDI_C_TOP_FIELD_MAN_1;
+       if (mask_reg == VDI_C_TOP_FIELD_MAN_1)
+               reg &= ~VDI_C_TOP_FIELD_MAN_1;
+       else
+               reg |= VDI_C_TOP_FIELD_MAN_1;
+
+       ipu_vdi_write(ipu, reg, VDI_C);
+}
diff --git a/drivers/mxc/ipu3/ipu_param_mem.h b/drivers/mxc/ipu3/ipu_param_mem.h
new file mode 100644 (file)
index 0000000..2ff622b
--- /dev/null
@@ -0,0 +1,921 @@
+/*
+ * Copyright 2005-2013 Freescale Semiconductor, Inc. All Rights Reserved.
+ */
+
+/*
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+#ifndef __INCLUDE_IPU_PARAM_MEM_H__
+#define __INCLUDE_IPU_PARAM_MEM_H__
+
+#include <linux/bitrev.h>
+#include <linux/types.h>
+
+#include "ipu_prv.h"
+
+extern u32 *ipu_cpmem_base;
+
+struct ipu_ch_param_word {
+       uint32_t data[5];
+       uint32_t res[3];
+};
+
+struct ipu_ch_param {
+       struct ipu_ch_param_word word[2];
+};
+
+#define ipu_ch_param_addr(ipu, ch) (((struct ipu_ch_param *)ipu->cpmem_base) + (ch))
+
+#define _param_word(base, w) \
+       (((struct ipu_ch_param *)(base))->word[(w)].data)
+
+#define ipu_ch_param_set_field(base, w, bit, size, v) { \
+       int i = (bit) / 32; \
+       int off = (bit) % 32; \
+       _param_word(base, w)[i] |= (v) << off; \
+       if (((bit)+(size)-1)/32 > i) { \
+               _param_word(base, w)[i + 1] |= (v) >> (off ? (32 - off) : 0); \
+       } \
+}
+
+#define ipu_ch_param_set_field_io(base, w, bit, size, v) { \
+       int i = (bit) / 32; \
+       int off = (bit) % 32; \
+       unsigned reg_offset; \
+       u32 temp; \
+       reg_offset = sizeof(struct ipu_ch_param_word) * w / 4; \
+       reg_offset += i; \
+       temp = readl((u32 *)base + reg_offset); \
+       temp |= (v) << off; \
+       writel(temp, (u32 *)base + reg_offset); \
+       if (((bit)+(size)-1)/32 > i) { \
+               reg_offset++; \
+               temp = readl((u32 *)base + reg_offset); \
+               temp |= (v) >> (off ? (32 - off) : 0); \
+               writel(temp, (u32 *)base + reg_offset); \
+       } \
+}
+
+#define ipu_ch_param_mod_field(base, w, bit, size, v) { \
+       int i = (bit) / 32; \
+       int off = (bit) % 32; \
+       u32 mask = (1UL << size) - 1; \
+       u32 temp = _param_word(base, w)[i]; \
+       temp &= ~(mask << off); \
+       _param_word(base, w)[i] = temp | (v) << off; \
+       if (((bit)+(size)-1)/32 > i) { \
+               temp = _param_word(base, w)[i + 1]; \
+               temp &= ~(mask >> (32 - off)); \
+               _param_word(base, w)[i + 1] = \
+                       temp | ((v) >> (off ? (32 - off) : 0)); \
+       } \
+}
+
+#define ipu_ch_param_mod_field_io(base, w, bit, size, v) { \
+       int i = (bit) / 32; \
+       int off = (bit) % 32; \
+       u32 mask = (1UL << size) - 1; \
+       unsigned reg_offset; \
+       u32 temp; \
+       reg_offset = sizeof(struct ipu_ch_param_word) * w / 4; \
+       reg_offset += i; \
+       temp = readl((u32 *)base + reg_offset); \
+       temp &= ~(mask << off); \
+       temp |= (v) << off; \
+       writel(temp, (u32 *)base + reg_offset); \
+       if (((bit)+(size)-1)/32 > i) { \
+               reg_offset++; \
+               temp = readl((u32 *)base + reg_offset); \
+               temp &= ~(mask >> (32 - off)); \
+               temp |= ((v) >> (off ? (32 - off) : 0)); \
+               writel(temp, (u32 *)base + reg_offset); \
+       } \
+}
+
+#define ipu_ch_param_read_field(base, w, bit, size) ({ \
+       u32 temp2; \
+       int i = (bit) / 32; \
+       int off = (bit) % 32; \
+       u32 mask = (1UL << size) - 1; \
+       u32 temp1 = _param_word(base, w)[i]; \
+       temp1 = mask & (temp1 >> off); \
+       if (((bit)+(size)-1)/32 > i) { \
+               temp2 = _param_word(base, w)[i + 1]; \
+               temp2 &= mask >> (off ? (32 - off) : 0); \
+               temp1 |= temp2 << (off ? (32 - off) : 0); \
+       } \
+       temp1; \
+})
+
+#define ipu_ch_param_read_field_io(base, w, bit, size) ({ \
+       u32 temp1, temp2; \
+       int i = (bit) / 32; \
+       int off = (bit) % 32; \
+       u32 mask = (1UL << size) - 1; \
+       unsigned reg_offset; \
+       reg_offset = sizeof(struct ipu_ch_param_word) * w / 4; \
+       reg_offset += i; \
+       temp1 = readl((u32 *)base + reg_offset); \
+       temp1 = mask & (temp1 >> off); \
+       if (((bit)+(size)-1)/32 > i) { \
+               reg_offset++; \
+               temp2 = readl((u32 *)base + reg_offset); \
+               temp2 &= mask >> (off ? (32 - off) : 0); \
+               temp1 |= temp2 << (off ? (32 - off) : 0); \
+       } \
+       temp1; \
+})
+
+static inline int __ipu_ch_get_third_buf_cpmem_num(int ch)
+{
+       switch (ch) {
+       case 8:
+               return 64;
+       case 9:
+               return 65;
+       case 10:
+               return 66;
+       case 13:
+               return 67;
+       case 21:
+               return 68;
+       case 23:
+               return 69;
+       case 27:
+               return 70;
+       case 28:
+               return 71;
+       default:
+               return -EINVAL;
+       }
+       return 0;
+}
+
+static inline void _ipu_ch_params_set_packing(struct ipu_ch_param *p,
+                                             int red_width, int red_offset,
+                                             int green_width, int green_offset,
+                                             int blue_width, int blue_offset,
+                                             int alpha_width, int alpha_offset)
+{
+       /* Setup red width and offset */
+       ipu_ch_param_set_field(p, 1, 116, 3, red_width - 1);
+       ipu_ch_param_set_field(p, 1, 128, 5, red_offset);
+       /* Setup green width and offset */
+       ipu_ch_param_set_field(p, 1, 119, 3, green_width - 1);
+       ipu_ch_param_set_field(p, 1, 133, 5, green_offset);
+       /* Setup blue width and offset */
+       ipu_ch_param_set_field(p, 1, 122, 3, blue_width - 1);
+       ipu_ch_param_set_field(p, 1, 138, 5, blue_offset);
+       /* Setup alpha width and offset */
+       ipu_ch_param_set_field(p, 1, 125, 3, alpha_width - 1);
+       ipu_ch_param_set_field(p, 1, 143, 5, alpha_offset);
+}
+
+static inline void _ipu_ch_param_dump(struct ipu_soc *ipu, int ch)
+{
+       struct ipu_ch_param *p = ipu_ch_param_addr(ipu, ch);
+       dev_dbg(ipu->dev, "ch %d word 0 - %08X %08X %08X %08X %08X\n", ch,
+                p->word[0].data[0], p->word[0].data[1], p->word[0].data[2],
+                p->word[0].data[3], p->word[0].data[4]);
+       dev_dbg(ipu->dev, "ch %d word 1 - %08X %08X %08X %08X %08X\n", ch,
+                p->word[1].data[0], p->word[1].data[1], p->word[1].data[2],
+                p->word[1].data[3], p->word[1].data[4]);
+       dev_dbg(ipu->dev, "PFS 0x%x, ",
+                ipu_ch_param_read_field_io(ipu_ch_param_addr(ipu, ch), 1, 85, 4));
+       dev_dbg(ipu->dev, "BPP 0x%x, ",
+                ipu_ch_param_read_field_io(ipu_ch_param_addr(ipu, ch), 0, 107, 3));
+       dev_dbg(ipu->dev, "NPB 0x%x\n",
+                ipu_ch_param_read_field_io(ipu_ch_param_addr(ipu, ch), 1, 78, 7));
+
+       dev_dbg(ipu->dev, "FW %d, ",
+                ipu_ch_param_read_field_io(ipu_ch_param_addr(ipu, ch), 0, 125, 13));
+       dev_dbg(ipu->dev, "FH %d, ",
+                ipu_ch_param_read_field_io(ipu_ch_param_addr(ipu, ch), 0, 138, 12));
+       dev_dbg(ipu->dev, "EBA0 0x%x\n",
+                ipu_ch_param_read_field_io(ipu_ch_param_addr(ipu, ch), 1, 0, 29) << 3);
+       dev_dbg(ipu->dev, "EBA1 0x%x\n",
+                ipu_ch_param_read_field_io(ipu_ch_param_addr(ipu, ch), 1, 29, 29) << 3);
+       dev_dbg(ipu->dev, "Stride %d\n",
+                ipu_ch_param_read_field_io(ipu_ch_param_addr(ipu, ch), 1, 102, 14));
+       dev_dbg(ipu->dev, "scan_order %d\n",
+                ipu_ch_param_read_field_io(ipu_ch_param_addr(ipu, ch), 0, 113, 1));
+       dev_dbg(ipu->dev, "uv_stride %d\n",
+                ipu_ch_param_read_field_io(ipu_ch_param_addr(ipu, ch), 1, 128, 14));
+       dev_dbg(ipu->dev, "u_offset 0x%x\n",
+                ipu_ch_param_read_field_io(ipu_ch_param_addr(ipu, ch), 0, 46, 22) << 3);
+       dev_dbg(ipu->dev, "v_offset 0x%x\n",
+                ipu_ch_param_read_field_io(ipu_ch_param_addr(ipu, ch), 0, 68, 22) << 3);
+
+       dev_dbg(ipu->dev, "Width0 %d+1, ",
+                ipu_ch_param_read_field_io(ipu_ch_param_addr(ipu, ch), 1, 116, 3));
+       dev_dbg(ipu->dev, "Width1 %d+1, ",
+                ipu_ch_param_read_field_io(ipu_ch_param_addr(ipu, ch), 1, 119, 3));
+       dev_dbg(ipu->dev, "Width2 %d+1, ",
+                ipu_ch_param_read_field_io(ipu_ch_param_addr(ipu, ch), 1, 122, 3));
+       dev_dbg(ipu->dev, "Width3 %d+1, ",
+                ipu_ch_param_read_field_io(ipu_ch_param_addr(ipu, ch), 1, 125, 3));
+       dev_dbg(ipu->dev, "Offset0 %d, ",
+                ipu_ch_param_read_field_io(ipu_ch_param_addr(ipu, ch), 1, 128, 5));
+       dev_dbg(ipu->dev, "Offset1 %d, ",
+                ipu_ch_param_read_field_io(ipu_ch_param_addr(ipu, ch), 1, 133, 5));
+       dev_dbg(ipu->dev, "Offset2 %d, ",
+                ipu_ch_param_read_field_io(ipu_ch_param_addr(ipu, ch), 1, 138, 5));
+       dev_dbg(ipu->dev, "Offset3 %d\n",
+                ipu_ch_param_read_field_io(ipu_ch_param_addr(ipu, ch), 1, 143, 5));
+}
+
+static inline void fill_cpmem(struct ipu_soc *ipu, int ch, struct ipu_ch_param *params)
+{
+       int i, w;
+       void *addr = ipu_ch_param_addr(ipu, ch);
+
+       /* 2 words, 5 valid data */
+       for (w = 0; w < 2; w++) {
+               for (i = 0; i < 5; i++) {
+                       writel(params->word[w].data[i], addr);
+                       addr += 4;
+               }
+               addr += 12;
+       }
+}
+
+static inline void _ipu_ch_param_init(struct ipu_soc *ipu, int ch,
+                                     uint32_t pixel_fmt, uint32_t width,
+                                     uint32_t height, uint32_t stride,
+                                     uint32_t u, uint32_t v,
+                                     uint32_t uv_stride, dma_addr_t addr0,
+                                     dma_addr_t addr1, dma_addr_t addr2)
+{
+       uint32_t u_offset = 0;
+       uint32_t v_offset = 0;
+       int32_t sub_ch = 0;
+       struct ipu_ch_param params;
+
+       memset(&params, 0, sizeof(params));
+
+       ipu_ch_param_set_field(&params, 0, 125, 13, width - 1);
+
+       if (((ch == 8) || (ch == 9) || (ch == 10)) && !ipu->vdoa_en) {
+               ipu_ch_param_set_field(&params, 0, 138, 12, (height / 2) - 1);
+               ipu_ch_param_set_field(&params, 1, 102, 14, (stride * 2) - 1);
+       } else {
+               /* note: for vdoa+vdi- ch8/9/10, always use band mode */
+               ipu_ch_param_set_field(&params, 0, 138, 12, height - 1);
+               ipu_ch_param_set_field(&params, 1, 102, 14, stride - 1);
+       }
+
+       /* EBA is 8-byte aligned */
+       ipu_ch_param_set_field(&params, 1, 0, 29, addr0 >> 3);
+       ipu_ch_param_set_field(&params, 1, 29, 29, addr1 >> 3);
+       if (addr0%8)
+               dev_warn(ipu->dev,
+                        "IDMAC%d's EBA0 is not 8-byte aligned\n", ch);
+       if (addr1%8)
+               dev_warn(ipu->dev,
+                        "IDMAC%d's EBA1 is not 8-byte aligned\n", ch);
+
+       switch (pixel_fmt) {
+       case IPU_PIX_FMT_GENERIC:
+               /*Represents 8-bit Generic data */
+               ipu_ch_param_set_field(&params, 0, 107, 3, 5);  /* bits/pixel */
+               ipu_ch_param_set_field(&params, 1, 85, 4, 6);   /* pix format */
+               ipu_ch_param_set_field(&params, 1, 78, 7, 63);  /* burst size */
+
+               break;
+       case IPU_PIX_FMT_GENERIC_16:
+               /* Represents 16-bit generic data */
+               ipu_ch_param_set_field(&params, 0, 107, 3, 3);  /* bits/pixel */
+               ipu_ch_param_set_field(&params, 1, 85, 4, 6);   /* pix format */
+               ipu_ch_param_set_field(&params, 1, 78, 7, 31);  /* burst size */
+
+               break;
+       case IPU_PIX_FMT_GENERIC_32:
+               /*Represents 32-bit Generic data */
+               break;
+       case IPU_PIX_FMT_RGB565:
+               ipu_ch_param_set_field(&params, 0, 107, 3, 3);  /* bits/pixel */
+               ipu_ch_param_set_field(&params, 1, 85, 4, 7);   /* pix format */
+               ipu_ch_param_set_field(&params, 1, 78, 7, 31);  /* burst size */
+
+               _ipu_ch_params_set_packing(&params, 5, 0, 6, 5, 5, 11, 8, 16);
+               break;
+       case IPU_PIX_FMT_BGR24:
+               ipu_ch_param_set_field(&params, 0, 107, 3, 1);  /* bits/pixel */
+               ipu_ch_param_set_field(&params, 1, 85, 4, 7);   /* pix format */
+               ipu_ch_param_set_field(&params, 1, 78, 7, 19);  /* burst size */
+
+               _ipu_ch_params_set_packing(&params, 8, 0, 8, 8, 8, 16, 8, 24);
+               break;
+       case IPU_PIX_FMT_RGB24:
+       case IPU_PIX_FMT_YUV444:
+               ipu_ch_param_set_field(&params, 0, 107, 3, 1);  /* bits/pixel */
+               ipu_ch_param_set_field(&params, 1, 85, 4, 7);   /* pix format */
+               ipu_ch_param_set_field(&params, 1, 78, 7, 19);  /* burst size */
+
+               _ipu_ch_params_set_packing(&params, 8, 16, 8, 8, 8, 0, 8, 24);
+               break;
+       case IPU_PIX_FMT_VYU444:
+               ipu_ch_param_set_field(&params, 0, 107, 3, 1);  /* bits/pixel */
+               ipu_ch_param_set_field(&params, 1, 85, 4, 7);   /* pix format */
+               ipu_ch_param_set_field(&params, 1, 78, 7, 19);  /* burst size */
+
+               _ipu_ch_params_set_packing(&params, 8, 8, 8, 0, 8, 16, 8, 24);
+               break;
+       case IPU_PIX_FMT_BGRA32:
+       case IPU_PIX_FMT_BGR32:
+               ipu_ch_param_set_field(&params, 0, 107, 3, 0);  /* bits/pixel */
+               ipu_ch_param_set_field(&params, 1, 85, 4, 7);   /* pix format */
+               ipu_ch_param_set_field(&params, 1, 78, 7, 15);  /* burst size */
+
+               _ipu_ch_params_set_packing(&params, 8, 8, 8, 16, 8, 24, 8, 0);
+               break;
+       case IPU_PIX_FMT_RGBA32:
+       case IPU_PIX_FMT_RGB32:
+               ipu_ch_param_set_field(&params, 0, 107, 3, 0);  /* bits/pixel */
+               ipu_ch_param_set_field(&params, 1, 85, 4, 7);   /* pix format */
+               ipu_ch_param_set_field(&params, 1, 78, 7, 15);  /* burst size */
+
+               _ipu_ch_params_set_packing(&params, 8, 24, 8, 16, 8, 8, 8, 0);
+               break;
+       case IPU_PIX_FMT_ABGR32:
+               ipu_ch_param_set_field(&params, 0, 107, 3, 0);  /* bits/pixel */
+               ipu_ch_param_set_field(&params, 1, 85, 4, 7);   /* pix format */
+               ipu_ch_param_set_field(&params, 1, 78, 7, 15);  /* burst size */
+
+               _ipu_ch_params_set_packing(&params, 8, 0, 8, 8, 8, 16, 8, 24);
+               break;
+       case IPU_PIX_FMT_UYVY:
+               ipu_ch_param_set_field(&params, 0, 107, 3, 3);  /* bits/pixel */
+               ipu_ch_param_set_field(&params, 1, 85, 4, 0xA); /* pix format */
+               if ((ch == 8) || (ch == 9) || (ch == 10)) {
+                       ipu_ch_param_set_field(&params, 1, 78, 7, 15);  /* burst size */
+               } else {
+                       ipu_ch_param_set_field(&params, 1, 78, 7, 31);  /* burst size */
+               }
+               break;
+       case IPU_PIX_FMT_YUYV:
+               ipu_ch_param_set_field(&params, 0, 107, 3, 3);  /* bits/pixel */
+               ipu_ch_param_set_field(&params, 1, 85, 4, 0x8); /* pix format */
+               if ((ch == 8) || (ch == 9) || (ch == 10)) {
+                       if (ipu->vdoa_en) {
+                               ipu_ch_param_set_field(&params, 1, 78, 7, 31);
+                       } else {
+                               ipu_ch_param_set_field(&params, 1, 78, 7, 15);
+                       }
+               } else {
+                       ipu_ch_param_set_field(&params, 1, 78, 7, 31);  /* burst size */
+               }
+               break;
+       case IPU_PIX_FMT_YUV420P2:
+       case IPU_PIX_FMT_YUV420P:
+               ipu_ch_param_set_field(&params, 1, 85, 4, 2);   /* pix format */
+
+               if (uv_stride < stride / 2)
+                       uv_stride = stride / 2;
+
+               u_offset = stride * height;
+               v_offset = u_offset + (uv_stride * height / 2);
+               if ((ch == 8) || (ch == 9) || (ch == 10)) {
+                       ipu_ch_param_set_field(&params, 1, 78, 7, 15);  /* burst size */
+                       uv_stride = uv_stride*2;
+               } else {
+                       ipu_ch_param_set_field(&params, 1, 78, 7, 31);  /* burst size */
+               }
+               break;
+       case IPU_PIX_FMT_YVU420P:
+               ipu_ch_param_set_field(&params, 1, 85, 4, 2);   /* pix format */
+
+               if (uv_stride < stride / 2)
+                       uv_stride = stride / 2;
+
+               v_offset = stride * height;
+               u_offset = v_offset + (uv_stride * height / 2);
+               if ((ch == 8) || (ch == 9) || (ch == 10)) {
+                       ipu_ch_param_set_field(&params, 1, 78, 7, 15);  /* burst size */
+                       uv_stride = uv_stride*2;
+               } else {
+                       ipu_ch_param_set_field(&params, 1, 78, 7, 31);  /* burst size */
+               }
+               break;
+       case IPU_PIX_FMT_YVU422P:
+               /* BPP & pixel format */
+               ipu_ch_param_set_field(&params, 1, 85, 4, 1);   /* pix format */
+               ipu_ch_param_set_field(&params, 1, 78, 7, 31);  /* burst size */
+
+               if (uv_stride < stride / 2)
+                       uv_stride = stride / 2;
+
+               v_offset = (v == 0) ? stride * height : v;
+               u_offset = (u == 0) ? v_offset + v_offset / 2 : u;
+               break;
+       case IPU_PIX_FMT_YUV422P:
+               /* BPP & pixel format */
+               ipu_ch_param_set_field(&params, 1, 85, 4, 1);   /* pix format */
+               ipu_ch_param_set_field(&params, 1, 78, 7, 31);  /* burst size */
+
+               if (uv_stride < stride / 2)
+                       uv_stride = stride / 2;
+
+               u_offset = (u == 0) ? stride * height : u;
+               v_offset = (v == 0) ? u_offset + u_offset / 2 : v;
+               break;
+       case IPU_PIX_FMT_YUV444P:
+               /* BPP & pixel format */
+               ipu_ch_param_set_field(&params, 1, 85, 4, 0);   /* pix format */
+               ipu_ch_param_set_field(&params, 1, 78, 7, 31);  /* burst size */
+               uv_stride = stride;
+               u_offset = (u == 0) ? stride * height : u;
+               v_offset = (v == 0) ? u_offset * 2 : v;
+               break;
+       case IPU_PIX_FMT_NV12:
+               /* BPP & pixel format */
+               ipu_ch_param_set_field(&params, 1, 85, 4, 4);   /* pix format */
+               uv_stride = stride;
+               u_offset = (u == 0) ? stride * height : u;
+               if ((ch == 8) || (ch == 9) || (ch == 10)) {
+                       if (ipu->vdoa_en) {
+                                /* one field buffer, memory width 64bits */
+                               ipu_ch_param_set_field(&params, 1, 78, 7, 63);
+                       } else {
+                               ipu_ch_param_set_field(&params, 1, 78, 7, 15);
+                                /* top/bottom field in one buffer*/
+                               uv_stride = uv_stride*2;
+                       }
+               } else {
+                       ipu_ch_param_set_field(&params, 1, 78, 7, 31);  /* burst size */
+               }
+               break;
+       default:
+               dev_err(ipu->dev, "mxc ipu: unimplemented pixel format\n");
+               break;
+       }
+       /*set burst size to 16*/
+
+
+       if (uv_stride)
+               ipu_ch_param_set_field(&params, 1, 128, 14, uv_stride - 1);
+
+       /* Get the uv offset from user when need cropping */
+       if (u || v) {
+               u_offset = u;
+               v_offset = v;
+       }
+
+       /* UBO and VBO are 22-bit and 8-byte aligned */
+       if (u_offset/8 > 0x3fffff)
+               dev_warn(ipu->dev,
+                        "IDMAC%d's U offset exceeds IPU limitation\n", ch);
+       if (v_offset/8 > 0x3fffff)
+               dev_warn(ipu->dev,
+                        "IDMAC%d's V offset exceeds IPU limitation\n", ch);
+       if (u_offset%8)
+               dev_warn(ipu->dev,
+                        "IDMAC%d's U offset is not 8-byte aligned\n", ch);
+       if (v_offset%8)
+               dev_warn(ipu->dev,
+                        "IDMAC%d's V offset is not 8-byte aligned\n", ch);
+
+       ipu_ch_param_set_field(&params, 0, 46, 22, u_offset / 8);
+       ipu_ch_param_set_field(&params, 0, 68, 22, v_offset / 8);
+
+       dev_dbg(ipu->dev, "initializing idma ch %d @ %p\n", ch, ipu_ch_param_addr(ipu, ch));
+       fill_cpmem(ipu, ch, &params);
+       if (addr2) {
+               sub_ch = __ipu_ch_get_third_buf_cpmem_num(ch);
+               if (sub_ch <= 0)
+                       return;
+
+               ipu_ch_param_set_field(&params, 1, 0, 29, addr2 >> 3);
+               ipu_ch_param_set_field(&params, 1, 29, 29, 0);
+               if (addr2%8)
+                       dev_warn(ipu->dev,
+                                "IDMAC%d's sub-CPMEM entry%d EBA0 is not "
+                                "8-byte aligned\n", ch, sub_ch);
+
+               dev_dbg(ipu->dev, "initializing idma ch %d @ %p sub cpmem\n", ch,
+                                       ipu_ch_param_addr(ipu, sub_ch));
+               fill_cpmem(ipu, sub_ch, &params);
+       }
+};
+
+static inline void _ipu_ch_param_set_burst_size(struct ipu_soc *ipu,
+                                               uint32_t ch,
+                                               uint16_t burst_pixels)
+{
+       int32_t sub_ch = 0;
+
+       ipu_ch_param_mod_field_io(ipu_ch_param_addr(ipu, ch), 1, 78, 7,
+                              burst_pixels - 1);
+
+       sub_ch = __ipu_ch_get_third_buf_cpmem_num(ch);
+       if (sub_ch <= 0)
+               return;
+       ipu_ch_param_mod_field_io(ipu_ch_param_addr(ipu, sub_ch), 1, 78, 7,
+                              burst_pixels - 1);
+};
+
+static inline int _ipu_ch_param_get_burst_size(struct ipu_soc *ipu, uint32_t ch)
+{
+       return ipu_ch_param_read_field_io(ipu_ch_param_addr(ipu, ch), 1, 78, 7) + 1;
+};
+
+static inline int _ipu_ch_param_get_bpp(struct ipu_soc *ipu, uint32_t ch)
+{
+       return ipu_ch_param_read_field_io(ipu_ch_param_addr(ipu, ch), 0, 107, 3);
+};
+
+static inline void _ipu_ch_param_set_buffer(struct ipu_soc *ipu, uint32_t ch,
+                                       int bufNum, dma_addr_t phyaddr)
+{
+       if (bufNum == 2) {
+               ch = __ipu_ch_get_third_buf_cpmem_num(ch);
+               if (ch <= 0)
+                       return;
+               bufNum = 0;
+       }
+
+       ipu_ch_param_mod_field_io(ipu_ch_param_addr(ipu, ch), 1, 29 * bufNum, 29,
+                              phyaddr / 8);
+};
+
+static inline void _ipu_ch_param_set_rotation(struct ipu_soc *ipu, uint32_t ch,
+                                             ipu_rotate_mode_t rot)
+{
+       u32 temp_rot = bitrev8(rot) >> 5;
+       int32_t sub_ch = 0;
+
+       ipu_ch_param_mod_field_io(ipu_ch_param_addr(ipu, ch), 0, 119, 3, temp_rot);
+
+       sub_ch = __ipu_ch_get_third_buf_cpmem_num(ch);
+       if (sub_ch <= 0)
+               return;
+       ipu_ch_param_mod_field_io(ipu_ch_param_addr(ipu, sub_ch), 0, 119, 3, temp_rot);
+};
+
+static inline void _ipu_ch_param_set_block_mode(struct ipu_soc *ipu, uint32_t ch)
+{
+       int32_t sub_ch = 0;
+
+       ipu_ch_param_mod_field_io(ipu_ch_param_addr(ipu, ch), 0, 117, 2, 1);
+
+       sub_ch = __ipu_ch_get_third_buf_cpmem_num(ch);
+       if (sub_ch <= 0)
+               return;
+       ipu_ch_param_mod_field_io(ipu_ch_param_addr(ipu, sub_ch), 0, 117, 2, 1);
+};
+
+static inline void _ipu_ch_param_set_alpha_use_separate_channel(struct ipu_soc *ipu,
+                                                               uint32_t ch,
+                                                               bool option)
+{
+       int32_t sub_ch = 0;
+
+       if (option) {
+               ipu_ch_param_mod_field_io(ipu_ch_param_addr(ipu, ch), 1, 89, 1, 1);
+       } else {
+               ipu_ch_param_mod_field_io(ipu_ch_param_addr(ipu, ch), 1, 89, 1, 0);
+       }
+
+       sub_ch = __ipu_ch_get_third_buf_cpmem_num(ch);
+       if (sub_ch <= 0)
+               return;
+
+       if (option) {
+               ipu_ch_param_mod_field_io(ipu_ch_param_addr(ipu, sub_ch), 1, 89, 1, 1);
+       } else {
+               ipu_ch_param_mod_field_io(ipu_ch_param_addr(ipu, sub_ch), 1, 89, 1, 0);
+       }
+};
+
+static inline void _ipu_ch_param_set_alpha_condition_read(struct ipu_soc *ipu, uint32_t ch)
+{
+       int32_t sub_ch = 0;
+
+       ipu_ch_param_mod_field_io(ipu_ch_param_addr(ipu, ch), 1, 149, 1, 1);
+
+       sub_ch = __ipu_ch_get_third_buf_cpmem_num(ch);
+       if (sub_ch <= 0)
+               return;
+       ipu_ch_param_mod_field_io(ipu_ch_param_addr(ipu, sub_ch), 1, 149, 1, 1);
+};
+
+static inline void _ipu_ch_param_set_alpha_buffer_memory(struct ipu_soc *ipu, uint32_t ch)
+{
+       int alp_mem_idx;
+       int32_t sub_ch = 0;
+
+       switch (ch) {
+       case 14: /* PRP graphic */
+               alp_mem_idx = 0;
+               break;
+       case 15: /* PP graphic */
+               alp_mem_idx = 1;
+               break;
+       case 23: /* DP BG SYNC graphic */
+               alp_mem_idx = 4;
+               break;
+       case 27: /* DP FG SYNC graphic */
+               alp_mem_idx = 2;
+               break;
+       default:
+               dev_err(ipu->dev, "unsupported correlative channel of local "
+                       "alpha channel\n");
+               return;
+       }
+
+       ipu_ch_param_mod_field_io(ipu_ch_param_addr(ipu, ch), 1, 90, 3, alp_mem_idx);
+
+       sub_ch = __ipu_ch_get_third_buf_cpmem_num(ch);
+       if (sub_ch <= 0)
+               return;
+       ipu_ch_param_mod_field_io(ipu_ch_param_addr(ipu, sub_ch), 1, 90, 3, alp_mem_idx);
+};
+
+static inline void _ipu_ch_param_set_interlaced_scan(struct ipu_soc *ipu, uint32_t ch)
+{
+       u32 stride;
+       int32_t sub_ch = 0;
+
+       sub_ch = __ipu_ch_get_third_buf_cpmem_num(ch);
+
+       ipu_ch_param_set_field_io(ipu_ch_param_addr(ipu, ch), 0, 113, 1, 1);
+       if (sub_ch > 0)
+               ipu_ch_param_set_field_io(ipu_ch_param_addr(ipu, sub_ch), 0, 113, 1, 1);
+       stride = ipu_ch_param_read_field_io(ipu_ch_param_addr(ipu, ch), 1, 102, 14) + 1;
+       /* ILO is 20-bit and 8-byte aligned */
+       if (stride/8 > 0xfffff)
+               dev_warn(ipu->dev,
+                        "IDMAC%d's ILO exceeds IPU limitation\n", ch);
+       if (stride%8)
+               dev_warn(ipu->dev,
+                        "IDMAC%d's ILO is not 8-byte aligned\n", ch);
+       ipu_ch_param_mod_field_io(ipu_ch_param_addr(ipu, ch), 1, 58, 20, stride / 8);
+       if (sub_ch > 0)
+               ipu_ch_param_mod_field_io(ipu_ch_param_addr(ipu, sub_ch), 1, 58, 20,
+                                      stride / 8);
+       stride *= 2;
+       ipu_ch_param_mod_field_io(ipu_ch_param_addr(ipu, ch), 1, 102, 14, stride - 1);
+       if (sub_ch > 0)
+               ipu_ch_param_mod_field_io(ipu_ch_param_addr(ipu, sub_ch), 1, 102, 14,
+                                      stride - 1);
+};
+
+static inline void _ipu_ch_param_set_axi_id(struct ipu_soc *ipu, uint32_t ch, uint32_t id)
+{
+       int32_t sub_ch = 0;
+
+       id %= 4;
+
+       ipu_ch_param_mod_field_io(ipu_ch_param_addr(ipu, ch), 1, 93, 2, id);
+
+       sub_ch = __ipu_ch_get_third_buf_cpmem_num(ch);
+       if (sub_ch <= 0)
+               return;
+       ipu_ch_param_mod_field_io(ipu_ch_param_addr(ipu, sub_ch), 1, 93, 2, id);
+};
+
+/* IDMAC U/V offset changing support */
+/* U and V input is not affected, */
+/* the update is done by new calculation according to */
+/* vertical_offset and horizontal_offset */
+static inline void _ipu_ch_offset_update(struct ipu_soc *ipu,
+                                       int ch,
+                                       uint32_t pixel_fmt,
+                                       uint32_t width,
+                                       uint32_t height,
+                                       uint32_t stride,
+                                       uint32_t u,
+                                       uint32_t v,
+                                       uint32_t uv_stride,
+                                       uint32_t vertical_offset,
+                                       uint32_t horizontal_offset)
+{
+       uint32_t u_offset = 0;
+       uint32_t v_offset = 0;
+       uint32_t old_offset = 0;
+       uint32_t u_fix = 0;
+       uint32_t v_fix = 0;
+       int32_t sub_ch = 0;
+
+       switch (pixel_fmt) {
+       case IPU_PIX_FMT_GENERIC:
+       case IPU_PIX_FMT_GENERIC_16:
+       case IPU_PIX_FMT_GENERIC_32:
+       case IPU_PIX_FMT_RGB565:
+       case IPU_PIX_FMT_BGR24:
+       case IPU_PIX_FMT_RGB24:
+       case IPU_PIX_FMT_YUV444:
+       case IPU_PIX_FMT_BGRA32:
+       case IPU_PIX_FMT_BGR32:
+       case IPU_PIX_FMT_RGBA32:
+       case IPU_PIX_FMT_RGB32:
+       case IPU_PIX_FMT_ABGR32:
+       case IPU_PIX_FMT_UYVY:
+       case IPU_PIX_FMT_YUYV:
+               break;
+
+       case IPU_PIX_FMT_YUV420P2:
+       case IPU_PIX_FMT_YUV420P:
+               if (uv_stride < stride / 2)
+                       uv_stride = stride / 2;
+
+               u_offset = stride * (height - vertical_offset - 1) +
+                                       (stride - horizontal_offset) +
+                                       (uv_stride * vertical_offset / 2) +
+                                       horizontal_offset / 2;
+               v_offset = u_offset + (uv_stride * height / 2);
+               u_fix = u ? (u + (uv_stride * vertical_offset / 2) +
+                                       (horizontal_offset / 2) -
+                                       (stride * vertical_offset) - (horizontal_offset)) :
+                                       u_offset;
+               v_fix = v ? (v + (uv_stride * vertical_offset / 2) +
+                                       (horizontal_offset / 2) -
+                                       (stride * vertical_offset) - (horizontal_offset)) :
+                                       v_offset;
+
+               break;
+       case IPU_PIX_FMT_YVU420P:
+               if (uv_stride < stride / 2)
+                       uv_stride = stride / 2;
+
+               v_offset = stride * (height - vertical_offset - 1) +
+                                       (stride - horizontal_offset) +
+                                       (uv_stride * vertical_offset / 2) +
+                                       horizontal_offset / 2;
+               u_offset = v_offset + (uv_stride * height / 2);
+               u_fix = u ? (u + (uv_stride * vertical_offset / 2) +
+                                       (horizontal_offset / 2) -
+                                       (stride * vertical_offset) - (horizontal_offset)) :
+                                       u_offset;
+               v_fix = v ? (v + (uv_stride * vertical_offset / 2) +
+                                       (horizontal_offset / 2) -
+                                       (stride * vertical_offset) - (horizontal_offset)) :
+                                       v_offset;
+
+               break;
+       case IPU_PIX_FMT_YVU422P:
+               if (uv_stride < stride / 2)
+                       uv_stride = stride / 2;
+
+               v_offset = stride * (height - vertical_offset - 1) +
+                                       (stride - horizontal_offset) +
+                                       (uv_stride * vertical_offset) +
+                                       horizontal_offset / 2;
+               u_offset = v_offset + uv_stride * height;
+               u_fix = u ? (u + (uv_stride * vertical_offset) +
+                                       horizontal_offset / 2 -
+                                       (stride * vertical_offset) - (horizontal_offset)) :
+                                       u_offset;
+               v_fix = v ? (v + (uv_stride * vertical_offset) +
+                                       horizontal_offset / 2 -
+                                       (stride * vertical_offset) - (horizontal_offset)) :
+                                       v_offset;
+               break;
+       case IPU_PIX_FMT_YUV422P:
+               if (uv_stride < stride / 2)
+                       uv_stride = stride / 2;
+
+               u_offset = stride * (height - vertical_offset - 1) +
+                                       (stride - horizontal_offset) +
+                                       (uv_stride * vertical_offset) +
+                                       horizontal_offset / 2;
+               v_offset = u_offset + uv_stride * height;
+               u_fix = u ? (u + (uv_stride * vertical_offset) +
+                                       horizontal_offset / 2 -
+                                       (stride * vertical_offset) - (horizontal_offset)) :
+                                       u_offset;
+               v_fix = v ? (v + (uv_stride * vertical_offset) +
+                                       horizontal_offset / 2 -
+                                       (stride * vertical_offset) - (horizontal_offset)) :
+                                       v_offset;
+               break;
+
+       case IPU_PIX_FMT_YUV444P:
+               uv_stride = stride;
+               u_offset = stride * (height - vertical_offset - 1) +
+                                       (stride - horizontal_offset) +
+                                       (uv_stride * vertical_offset) +
+                                       horizontal_offset;
+               v_offset = u_offset + uv_stride * height;
+               u_fix = u ? (u + (uv_stride * vertical_offset) +
+                                       horizontal_offset -
+                                       (stride * vertical_offset) -
+                                       (horizontal_offset)) :
+                                       u_offset;
+               v_fix = v ? (v + (uv_stride * vertical_offset) +
+                                       horizontal_offset -
+                                       (stride * vertical_offset) -
+                                       (horizontal_offset)) :
+                                       v_offset;
+               break;
+       case IPU_PIX_FMT_NV12:
+               uv_stride = stride;
+               u_offset = stride * (height - vertical_offset - 1) +
+                                       (stride - horizontal_offset) +
+                                       (uv_stride * vertical_offset / 2) +
+                                       horizontal_offset;
+               u_fix = u ? (u + (uv_stride * vertical_offset / 2) +
+                                       horizontal_offset -
+                                       (stride * vertical_offset) - (horizontal_offset)) :
+                                       u_offset;
+
+               break;
+       default:
+               dev_err(ipu->dev, "mxc ipu: unimplemented pixel format\n");
+               break;
+       }
+
+
+
+       if (u_fix > u_offset)
+               u_offset = u_fix;
+
+       if (v_fix > v_offset)
+               v_offset = v_fix;
+
+       /* UBO and VBO are 22-bit and 8-byte aligned */
+       if (u_offset/8 > 0x3fffff)
+               dev_warn(ipu->dev,
+                       "IDMAC%d's U offset exceeds IPU limitation\n", ch);
+       if (v_offset/8 > 0x3fffff)
+               dev_warn(ipu->dev,
+                       "IDMAC%d's V offset exceeds IPU limitation\n", ch);
+       if (u_offset%8)
+               dev_warn(ipu->dev,
+                       "IDMAC%d's U offset is not 8-byte aligned\n", ch);
+       if (v_offset%8)
+               dev_warn(ipu->dev,
+                       "IDMAC%d's V offset is not 8-byte aligned\n", ch);
+
+       old_offset = ipu_ch_param_read_field_io(ipu_ch_param_addr(ipu, ch), 0, 46, 22);
+       if (old_offset != u_offset / 8)
+               ipu_ch_param_mod_field_io(ipu_ch_param_addr(ipu, ch), 0, 46, 22, u_offset / 8);
+       old_offset = ipu_ch_param_read_field_io(ipu_ch_param_addr(ipu, ch), 0, 68, 22);
+       if (old_offset != v_offset / 8)
+               ipu_ch_param_mod_field_io(ipu_ch_param_addr(ipu, ch), 0, 68, 22, v_offset / 8);
+
+       sub_ch = __ipu_ch_get_third_buf_cpmem_num(ch);
+       if (sub_ch <= 0)
+               return;
+       old_offset = ipu_ch_param_read_field_io(ipu_ch_param_addr(ipu, sub_ch), 0, 46, 22);
+       if (old_offset != u_offset / 8)
+               ipu_ch_param_mod_field_io(ipu_ch_param_addr(ipu, sub_ch), 0, 46, 22, u_offset / 8);
+       old_offset = ipu_ch_param_read_field_io(ipu_ch_param_addr(ipu, sub_ch), 0, 68, 22);
+       if (old_offset != v_offset / 8)
+               ipu_ch_param_mod_field_io(ipu_ch_param_addr(ipu, sub_ch), 0, 68, 22, v_offset / 8);
+};
+
+static inline void _ipu_ch_params_set_alpha_width(struct ipu_soc *ipu, uint32_t ch, int alpha_width)
+{
+       int32_t sub_ch = 0;
+
+       ipu_ch_param_set_field_io(ipu_ch_param_addr(ipu, ch), 1, 125, 3, alpha_width - 1);
+
+       sub_ch = __ipu_ch_get_third_buf_cpmem_num(ch);
+       if (sub_ch <= 0)
+               return;
+       ipu_ch_param_set_field_io(ipu_ch_param_addr(ipu, sub_ch), 1, 125, 3, alpha_width - 1);
+};
+
+static inline void _ipu_ch_param_set_bandmode(struct ipu_soc *ipu,
+                       uint32_t ch, uint32_t band_height)
+{
+       int32_t sub_ch = 0;
+
+       ipu_ch_param_set_field_io(ipu_ch_param_addr(ipu, ch),
+                                       0, 114, 3, band_height - 1);
+       sub_ch = __ipu_ch_get_third_buf_cpmem_num(ch);
+       if (sub_ch <= 0)
+               return;
+       ipu_ch_param_set_field_io(ipu_ch_param_addr(ipu, sub_ch),
+                                       0, 114, 3, band_height - 1);
+
+       dev_dbg(ipu->dev, "BNDM 0x%x, ",
+                ipu_ch_param_read_field_io(ipu_ch_param_addr(ipu, ch), 0, 114, 3));
+}
+
+/*
+ * The IPUv3 IDMAC has a bug to read 32bpp pixels from a graphics plane
+ * whose alpha component is at the most significant 8 bits. The bug only
+ * impacts on cases in which the relevant separate alpha channel is enabled.
+ *
+ * Return true on bad alpha component position, otherwise, return false.
+ */
+static inline bool _ipu_ch_param_bad_alpha_pos(uint32_t pixel_fmt)
+{
+       switch (pixel_fmt) {
+       case IPU_PIX_FMT_BGRA32:
+       case IPU_PIX_FMT_BGR32:
+       case IPU_PIX_FMT_RGBA32:
+       case IPU_PIX_FMT_RGB32:
+               return true;
+       }
+
+       return false;
+}
+#endif
diff --git a/drivers/mxc/ipu3/ipu_pixel_clk.c b/drivers/mxc/ipu3/ipu_pixel_clk.c
new file mode 100644 (file)
index 0000000..c1f6f7d
--- /dev/null
@@ -0,0 +1,317 @@
+/*
+ * Copyright (C) 2013 Freescale Semiconductor, Inc. All Rights Reserved.
+ */
+
+/*
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/*!
+ * @file ipu_pixel_clk.c
+ *
+ * @brief IPU pixel clock implementation
+ *
+ * @ingroup IPU
+ */
+
+#include <linux/clk-provider.h>
+#include <linux/err.h>
+#include <linux/io.h>
+#include <linux/ipu-v3.h>
+#include <linux/module.h>
+#include <linux/slab.h>
+#include <linux/string.h>
+
+#include "ipu_prv.h"
+#include "ipu_regs.h"
+
+ /*
+ * muxd clock implementation
+ */
+struct clk_di_mux {
+       struct clk_hw hw;
+       u8              ipu_id;
+       u8              di_id;
+       u8              flags;
+       u8              index;
+};
+#define to_clk_di_mux(_hw) container_of(_hw, struct clk_di_mux, hw)
+
+static int _ipu_pixel_clk_set_parent(struct clk_hw *hw, u8 index)
+{
+       struct clk_di_mux *mux = to_clk_di_mux(hw);
+       struct ipu_soc *ipu = ipu_get_soc(mux->ipu_id);
+       u32 di_gen;
+
+       di_gen = ipu_di_read(ipu, mux->di_id, DI_GENERAL);
+       if (index == 0)
+               /* ipu1_clk or ipu2_clk internal clk */
+               di_gen &= ~DI_GEN_DI_CLK_EXT;
+       else
+               di_gen |= DI_GEN_DI_CLK_EXT;
+
+       ipu_di_write(ipu, mux->di_id, di_gen, DI_GENERAL);
+       mux->index = index;
+       pr_debug("ipu_pixel_clk: di_clk_ext:0x%x, di_gen reg:0x%x.\n",
+                       !(di_gen & DI_GEN_DI_CLK_EXT), di_gen);
+       return 0;
+}
+
+static u8 _ipu_pixel_clk_get_parent(struct clk_hw *hw)
+{
+       struct clk_di_mux *mux = to_clk_di_mux(hw);
+
+       return mux->index;
+}
+
+const struct clk_ops clk_mux_di_ops = {
+       .get_parent = _ipu_pixel_clk_get_parent,
+       .set_parent = _ipu_pixel_clk_set_parent,
+};
+
+struct clk *clk_register_mux_pix_clk(struct device *dev, const char *name,
+               const char **parent_names, u8 num_parents, unsigned long flags,
+               u8 ipu_id, u8 di_id, u8 clk_mux_flags)
+{
+       struct clk_di_mux *mux;
+       struct clk *clk;
+       struct clk_init_data init;
+
+       mux = kzalloc(sizeof(struct clk_di_mux), GFP_KERNEL);
+       if (!mux)
+               return ERR_PTR(-ENOMEM);
+
+       init.name = name;
+       init.ops = &clk_mux_di_ops;
+       init.flags = flags;
+       init.parent_names = parent_names;
+       init.num_parents = num_parents;
+
+       mux->ipu_id = ipu_id;
+       mux->di_id = di_id;
+       mux->flags = clk_mux_flags | CLK_SET_RATE_PARENT;
+       mux->hw.init = &init;
+
+       clk = clk_register(dev, &mux->hw);
+       if (IS_ERR(clk))
+               kfree(mux);
+
+       return clk;
+}
+
+/*
+ * Gated clock implementation
+ */
+struct clk_di_div {
+       struct clk_hw hw;
+       u8              ipu_id;
+       u8              di_id;
+       u8              flags;
+};
+#define to_clk_di_div(_hw) container_of(_hw, struct clk_di_div, hw)
+
+static unsigned long _ipu_pixel_clk_div_recalc_rate(struct clk_hw *hw,
+                                       unsigned long parent_rate)
+{
+       struct clk_di_div *di_div = to_clk_di_div(hw);
+       struct ipu_soc *ipu = ipu_get_soc(di_div->ipu_id);
+       u32 div;
+       u64 final_rate = (unsigned long long)parent_rate * 16;
+
+       _ipu_get(ipu);
+       div = ipu_di_read(ipu, di_div->di_id, DI_BS_CLKGEN0);
+       _ipu_put(ipu);
+       pr_debug("ipu_di%d read BS_CLKGEN0 div:%d, final_rate:%lld, prate:%ld\n",
+                       di_div->di_id, div, final_rate, parent_rate);
+
+       if (div == 0)
+               return 0;
+       do_div(final_rate, div);
+
+       return (unsigned long)final_rate;
+}
+
+static long _ipu_pixel_clk_div_round_rate(struct clk_hw *hw, unsigned long rate,
+                              unsigned long *parent_clk_rate)
+{
+       u64 div, final_rate;
+       u32 remainder;
+       u64 parent_rate = (unsigned long long)(*parent_clk_rate) * 16;
+
+       /*
+        * Calculate divider
+        * Fractional part is 4 bits,
+        * so simply multiply by 2^4 to get fractional part.
+        */
+       div = parent_rate;
+       remainder = do_div(div, rate);
+       /* Round the divider value */
+       if (remainder > (rate/2))
+               div++;
+       if (div < 0x10)            /* Min DI disp clock divider is 1 */
+               div = 0x10;
+       if (div & ~0xFEF)
+               div &= 0xFF8;
+       else {
+               /* Round up divider if it gets us closer to desired pix clk */
+               if ((div & 0xC) == 0xC) {
+                       div += 0x10;
+                       div &= ~0xF;
+               }
+       }
+       final_rate = parent_rate;
+       do_div(final_rate, div);
+
+       return final_rate;
+}
+
+static int _ipu_pixel_clk_div_set_rate(struct clk_hw *hw, unsigned long rate,
+                           unsigned long parent_clk_rate)
+{
+       struct clk_di_div *di_div = to_clk_di_div(hw);
+       struct ipu_soc *ipu = ipu_get_soc(di_div->ipu_id);
+       u64 div, parent_rate;
+       u32 remainder;
+
+       parent_rate = (unsigned long long)parent_clk_rate * 16;
+       div = parent_rate;
+       remainder = do_div(div, rate);
+       /* Round the divider value */
+       if (remainder > (rate/2))
+               div++;
+
+       /* Round up divider if it gets us closer to desired pix clk */
+       if ((div & 0xC) == 0xC) {
+               div += 0x10;
+               div &= ~0xF;
+       }
+       if (div > 0x1000)
+               pr_err("Overflow, di:%d, DI_BS_CLKGEN0 div:0x%x\n",
+                               di_div->di_id, (u32)div);
+       _ipu_get(ipu);
+       ipu_di_write(ipu, di_div->di_id, (u32)div, DI_BS_CLKGEN0);
+
+       /* Setup pixel clock timing */
+       /* FIXME: needs to be more flexible */
+       /* Down time is half of period */
+       ipu_di_write(ipu, di_div->di_id, ((u32)div / 16) << 16, DI_BS_CLKGEN1);
+       _ipu_put(ipu);
+
+       return 0;
+}
+
+static struct clk_ops clk_div_ops = {
+       .recalc_rate = _ipu_pixel_clk_div_recalc_rate,
+       .round_rate = _ipu_pixel_clk_div_round_rate,
+       .set_rate = _ipu_pixel_clk_div_set_rate,
+};
+
+struct clk *clk_register_div_pix_clk(struct device *dev, const char *name,
+               const char *parent_name, unsigned long flags,
+               u8 ipu_id, u8 di_id, u8 clk_div_flags)
+{
+       struct clk_di_div *di_div;
+       struct clk *clk;
+       struct clk_init_data init;
+
+       di_div = kzalloc(sizeof(struct clk_di_div), GFP_KERNEL);
+       if (!di_div)
+               return ERR_PTR(-ENOMEM);
+
+       /* struct clk_di_div assignments */
+       di_div->ipu_id = ipu_id;
+       di_div->di_id = di_id;
+       di_div->flags = clk_div_flags;
+
+       init.name = name;
+       init.ops = &clk_div_ops;
+       init.flags = flags | CLK_SET_RATE_PARENT;
+       init.parent_names = parent_name ? &parent_name : NULL;
+       init.num_parents = parent_name ? 1 : 0;
+
+       di_div->hw.init = &init;
+
+       clk = clk_register(dev, &di_div->hw);
+       if (IS_ERR(clk))
+               kfree(clk);
+
+       return clk;
+}
+
+/*
+ * Gated clock implementation
+ */
+struct clk_di_gate {
+       struct clk_hw hw;
+       u8              ipu_id;
+       u8              di_id;
+       u8              flags;
+};
+#define to_clk_di_gate(_hw) container_of(_hw, struct clk_di_gate, hw)
+
+static int _ipu_pixel_clk_enable(struct clk_hw *hw)
+{
+       struct clk_di_gate *gate = to_clk_di_gate(hw);
+       struct ipu_soc *ipu = ipu_get_soc(gate->ipu_id);
+       u32 disp_gen;
+
+       disp_gen = ipu_cm_read(ipu, IPU_DISP_GEN);
+       disp_gen |= gate->di_id ? DI1_COUNTER_RELEASE : DI0_COUNTER_RELEASE;
+       ipu_cm_write(ipu, disp_gen, IPU_DISP_GEN);
+
+       return 0;
+}
+
+static void _ipu_pixel_clk_disable(struct clk_hw *hw)
+{
+       struct clk_di_gate *gate = to_clk_di_gate(hw);
+       struct ipu_soc *ipu = ipu_get_soc(gate->ipu_id);
+       u32 disp_gen;
+
+       disp_gen = ipu_cm_read(ipu, IPU_DISP_GEN);
+       disp_gen &= gate->di_id ? ~DI1_COUNTER_RELEASE : ~DI0_COUNTER_RELEASE;
+       ipu_cm_write(ipu, disp_gen, IPU_DISP_GEN);
+
+}
+
+
+static struct clk_ops clk_gate_di_ops = {
+       .enable = _ipu_pixel_clk_enable,
+       .disable = _ipu_pixel_clk_disable,
+};
+
+struct clk *clk_register_gate_pix_clk(struct device *dev, const char *name,
+               const char *parent_name, unsigned long flags,
+               u8 ipu_id, u8 di_id, u8 clk_gate_flags)
+{
+       struct clk_di_gate *gate;
+       struct clk *clk;
+       struct clk_init_data init;
+
+       gate = kzalloc(sizeof(struct clk_di_gate), GFP_KERNEL);
+       if (!gate)
+               return ERR_PTR(-ENOMEM);
+
+       gate->ipu_id = ipu_id;
+       gate->di_id = di_id;
+       gate->flags = clk_gate_flags;
+
+       init.name = name;
+       init.ops = &clk_gate_di_ops;
+       init.flags = flags | CLK_SET_RATE_PARENT;
+       init.parent_names = parent_name ? &parent_name : NULL;
+       init.num_parents = parent_name ? 1 : 0;
+
+       gate->hw.init = &init;
+
+       clk = clk_register(dev, &gate->hw);
+       if (IS_ERR(clk))
+               kfree(clk);
+
+       return clk;
+}
diff --git a/drivers/mxc/ipu3/ipu_prv.h b/drivers/mxc/ipu3/ipu_prv.h
new file mode 100644 (file)
index 0000000..0763398
--- /dev/null
@@ -0,0 +1,356 @@
+/*
+ * Copyright 2005-2013 Freescale Semiconductor, Inc. All Rights Reserved.
+ */
+
+/*
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+#ifndef __INCLUDE_IPU_PRV_H__
+#define __INCLUDE_IPU_PRV_H__
+
+#include <linux/clkdev.h>
+#include <linux/device.h>
+#include <linux/fsl_devices.h>
+#include <linux/interrupt.h>
+#include <linux/types.h>
+
+#define MXC_IPU_MAX_NUM                2
+#define MXC_DI_NUM_PER_IPU     2
+
+/* Globals */
+extern int dmfc_type_setup;
+
+#define IDMA_CHAN_INVALID      0xFF
+#define HIGH_RESOLUTION_WIDTH  1024
+
+struct ipu_irq_node {
+       irqreturn_t(*handler) (int, void *);    /*!< the ISR */
+       const char *name;       /*!< device associated with the interrupt */
+       void *dev_id;           /*!< some unique information for the ISR */
+       __u32 flags;            /*!< not used */
+};
+
+enum csc_type_t {
+       RGB2YUV = 0,
+       YUV2RGB,
+       RGB2RGB,
+       YUV2YUV,
+       CSC_NONE,
+       CSC_NUM
+};
+
+enum imx_ipu_type {
+       IMX6Q_IPU,
+};
+
+struct ipu_pltfm_data {
+       u32 id;
+       u32 devtype;
+       int (*init) (int);
+       void (*pg) (int);
+
+       /*
+        * Bypass reset to avoid display channel being
+        * stopped by probe since it may starts to work
+        * in bootloader.
+        */
+       bool bypass_reset;
+};
+
+struct ipu_soc {
+       bool online;
+       struct ipu_pltfm_data *pdata;
+
+       /*clk*/
+       struct clk *ipu_clk;
+       struct clk *di_clk[2];
+       struct clk *di_clk_sel[2];
+       struct clk *pixel_clk[2];
+       struct clk *pixel_clk_sel[2];
+       struct clk *csi_clk[2];
+
+       /*irq*/
+       int irq_sync;
+       int irq_err;
+       struct ipu_irq_node irq_list[IPU_IRQ_COUNT];
+
+       /*reg*/
+       void __iomem *cm_reg;
+       void __iomem *idmac_reg;
+       void __iomem *dp_reg;
+       void __iomem *ic_reg;
+       void __iomem *dc_reg;
+       void __iomem *dc_tmpl_reg;
+       void __iomem *dmfc_reg;
+       void __iomem *di_reg[2];
+       void __iomem *smfc_reg;
+       void __iomem *csi_reg[2];
+       void __iomem *cpmem_base;
+       void __iomem *tpmem_base;
+       void __iomem *disp_base[2];
+       void __iomem *vdi_reg;
+
+       struct device *dev;
+
+       ipu_channel_t csi_channel[2];
+       ipu_channel_t using_ic_dirct_ch;
+       unsigned char dc_di_assignment[10];
+       bool sec_chan_en[24];
+       bool thrd_chan_en[24];
+       bool chan_is_interlaced[52];
+       uint32_t channel_init_mask;
+       uint32_t channel_enable_mask;
+
+       /*use count*/
+       int dc_use_count;
+       int dp_use_count;
+       int dmfc_use_count;
+       int smfc_use_count;
+       int ic_use_count;
+       int rot_use_count;
+       int vdi_use_count;
+       int di_use_count[2];
+       int csi_use_count[2];
+
+       struct mutex mutex_lock;
+       spinlock_t int_reg_spin_lock;
+       spinlock_t rdy_reg_spin_lock;
+
+       int dmfc_size_28;
+       int dmfc_size_29;
+       int dmfc_size_24;
+       int dmfc_size_27;
+       int dmfc_size_23;
+
+       enum csc_type_t fg_csc_type;
+       enum csc_type_t bg_csc_type;
+       bool color_key_4rgb;
+       bool dc_swap;
+       struct completion dc_comp;
+       struct completion csi_comp;
+
+       struct rot_mem {
+               void *vaddr;
+               dma_addr_t paddr;
+               int size;
+       } rot_dma[2];
+
+       int     vdoa_en;
+       struct task_struct *thread[2];
+
+};
+
+struct ipu_channel {
+       u8 video_in_dma;
+       u8 alpha_in_dma;
+       u8 graph_in_dma;
+       u8 out_dma;
+};
+
+enum ipu_dmfc_type {
+       DMFC_NORMAL = 0,
+       DMFC_HIGH_RESOLUTION_DC,
+       DMFC_HIGH_RESOLUTION_DP,
+       DMFC_HIGH_RESOLUTION_ONLY_DP,
+};
+
+static inline u32 ipu_cm_read(struct ipu_soc *ipu, unsigned offset)
+{
+       return readl(ipu->cm_reg + offset);
+}
+
+static inline void ipu_cm_write(struct ipu_soc *ipu,
+               u32 value, unsigned offset)
+{
+       writel(value, ipu->cm_reg + offset);
+}
+
+static inline u32 ipu_idmac_read(struct ipu_soc *ipu, unsigned offset)
+{
+       return readl(ipu->idmac_reg + offset);
+}
+
+static inline void ipu_idmac_write(struct ipu_soc *ipu,
+               u32 value, unsigned offset)
+{
+       writel(value, ipu->idmac_reg + offset);
+}
+
+static inline u32 ipu_dc_read(struct ipu_soc *ipu, unsigned offset)
+{
+       return readl(ipu->dc_reg + offset);
+}
+
+static inline void ipu_dc_write(struct ipu_soc *ipu,
+               u32 value, unsigned offset)
+{
+       writel(value, ipu->dc_reg + offset);
+}
+
+static inline u32 ipu_dc_tmpl_read(struct ipu_soc *ipu, unsigned offset)
+{
+       return readl(ipu->dc_tmpl_reg + offset);
+}
+
+static inline void ipu_dc_tmpl_write(struct ipu_soc *ipu,
+               u32 value, unsigned offset)
+{
+       writel(value, ipu->dc_tmpl_reg + offset);
+}
+
+static inline u32 ipu_dmfc_read(struct ipu_soc *ipu, unsigned offset)
+{
+       return readl(ipu->dmfc_reg + offset);
+}
+
+static inline void ipu_dmfc_write(struct ipu_soc *ipu,
+               u32 value, unsigned offset)
+{
+       writel(value, ipu->dmfc_reg + offset);
+}
+
+static inline u32 ipu_dp_read(struct ipu_soc *ipu, unsigned offset)
+{
+       return readl(ipu->dp_reg + offset);
+}
+
+static inline void ipu_dp_write(struct ipu_soc *ipu,
+               u32 value, unsigned offset)
+{
+       writel(value, ipu->dp_reg + offset);
+}
+
+static inline u32 ipu_di_read(struct ipu_soc *ipu, int di, unsigned offset)
+{
+       return readl(ipu->di_reg[di] + offset);
+}
+
+static inline void ipu_di_write(struct ipu_soc *ipu, int di,
+               u32 value, unsigned offset)
+{
+       writel(value, ipu->di_reg[di] + offset);
+}
+
+static inline u32 ipu_csi_read(struct ipu_soc *ipu, int csi, unsigned offset)
+{
+       return readl(ipu->csi_reg[csi] + offset);
+}
+
+static inline void ipu_csi_write(struct ipu_soc *ipu, int csi,
+               u32 value, unsigned offset)
+{
+       writel(value, ipu->csi_reg[csi] + offset);
+}
+
+static inline u32 ipu_smfc_read(struct ipu_soc *ipu, unsigned offset)
+{
+       return readl(ipu->smfc_reg + offset);
+}
+
+static inline void ipu_smfc_write(struct ipu_soc *ipu,
+               u32 value, unsigned offset)
+{
+       writel(value, ipu->smfc_reg + offset);
+}
+
+static inline u32 ipu_vdi_read(struct ipu_soc *ipu, unsigned offset)
+{
+       return readl(ipu->vdi_reg + offset);
+}
+
+static inline void ipu_vdi_write(struct ipu_soc *ipu,
+               u32 value, unsigned offset)
+{
+       writel(value, ipu->vdi_reg + offset);
+}
+
+static inline u32 ipu_ic_read(struct ipu_soc *ipu, unsigned offset)
+{
+       return readl(ipu->ic_reg + offset);
+}
+
+static inline void ipu_ic_write(struct ipu_soc *ipu,
+               u32 value, unsigned offset)
+{
+       writel(value, ipu->ic_reg + offset);
+}
+
+int register_ipu_device(struct ipu_soc *ipu, int id);
+void unregister_ipu_device(struct ipu_soc *ipu, int id);
+ipu_color_space_t format_to_colorspace(uint32_t fmt);
+bool ipu_pixel_format_has_alpha(uint32_t fmt);
+
+void ipu_dump_registers(struct ipu_soc *ipu);
+
+uint32_t _ipu_channel_status(struct ipu_soc *ipu, ipu_channel_t channel);
+
+void ipu_disp_init(struct ipu_soc *ipu);
+void _ipu_init_dc_mappings(struct ipu_soc *ipu);
+int _ipu_dp_init(struct ipu_soc *ipu, ipu_channel_t channel, uint32_t in_pixel_fmt,
+                uint32_t out_pixel_fmt);
+void _ipu_dp_uninit(struct ipu_soc *ipu, ipu_channel_t channel);
+void _ipu_dc_init(struct ipu_soc *ipu, int dc_chan, int di, bool interlaced, uint32_t pixel_fmt);
+void _ipu_dc_uninit(struct ipu_soc *ipu, int dc_chan);
+void _ipu_dp_dc_enable(struct ipu_soc *ipu, ipu_channel_t channel);
+void _ipu_dp_dc_disable(struct ipu_soc *ipu, ipu_channel_t channel, bool swap);
+void _ipu_dmfc_init(struct ipu_soc *ipu, int dmfc_type, int first);
+void _ipu_dmfc_set_wait4eot(struct ipu_soc *ipu, int dma_chan, int width);
+void _ipu_dmfc_set_burst_size(struct ipu_soc *ipu, int dma_chan, int burst_size);
+int _ipu_disp_chan_is_interlaced(struct ipu_soc *ipu, ipu_channel_t channel);
+
+void _ipu_ic_enable_task(struct ipu_soc *ipu, ipu_channel_t channel);
+void _ipu_ic_disable_task(struct ipu_soc *ipu, ipu_channel_t channel);
+int  _ipu_ic_init_prpvf(struct ipu_soc *ipu, ipu_channel_params_t *params,
+                       bool src_is_csi);
+void _ipu_vdi_init(struct ipu_soc *ipu, ipu_channel_t channel, ipu_channel_params_t *params);
+void _ipu_vdi_uninit(struct ipu_soc *ipu);
+void _ipu_ic_uninit_prpvf(struct ipu_soc *ipu);
+void _ipu_ic_init_rotate_vf(struct ipu_soc *ipu, ipu_channel_params_t *params);
+void _ipu_ic_uninit_rotate_vf(struct ipu_soc *ipu);
+void _ipu_ic_init_csi(struct ipu_soc *ipu, ipu_channel_params_t *params);
+void _ipu_ic_uninit_csi(struct ipu_soc *ipu);
+int  _ipu_ic_init_prpenc(struct ipu_soc *ipu, ipu_channel_params_t *params,
+                        bool src_is_csi);
+void _ipu_ic_uninit_prpenc(struct ipu_soc *ipu);
+void _ipu_ic_init_rotate_enc(struct ipu_soc *ipu, ipu_channel_params_t *params);
+void _ipu_ic_uninit_rotate_enc(struct ipu_soc *ipu);
+int  _ipu_ic_init_pp(struct ipu_soc *ipu, ipu_channel_params_t *params);
+void _ipu_ic_uninit_pp(struct ipu_soc *ipu);
+void _ipu_ic_init_rotate_pp(struct ipu_soc *ipu, ipu_channel_params_t *params);
+void _ipu_ic_uninit_rotate_pp(struct ipu_soc *ipu);
+int _ipu_ic_idma_init(struct ipu_soc *ipu, int dma_chan, uint16_t width, uint16_t height,
+                     int burst_size, ipu_rotate_mode_t rot);
+void _ipu_vdi_toggle_top_field_man(struct ipu_soc *ipu);
+int _ipu_csi_init(struct ipu_soc *ipu, ipu_channel_t channel, uint32_t csi);
+int _ipu_csi_set_mipi_di(struct ipu_soc *ipu, uint32_t num, uint32_t di_val, uint32_t csi);
+void ipu_csi_set_test_generator(struct ipu_soc *ipu, bool active, uint32_t r_value,
+               uint32_t g_value, uint32_t b_value,
+               uint32_t pix_clk, uint32_t csi);
+void _ipu_csi_ccir_err_detection_enable(struct ipu_soc *ipu, uint32_t csi);
+void _ipu_csi_ccir_err_detection_disable(struct ipu_soc *ipu, uint32_t csi);
+void _ipu_csi_wait4eof(struct ipu_soc *ipu, ipu_channel_t channel);
+void _ipu_smfc_init(struct ipu_soc *ipu, ipu_channel_t channel, uint32_t mipi_id, uint32_t csi);
+void _ipu_smfc_set_burst_size(struct ipu_soc *ipu, ipu_channel_t channel, uint32_t bs);
+void _ipu_dp_set_csc_coefficients(struct ipu_soc *ipu, ipu_channel_t channel, int32_t param[][3]);
+int32_t _ipu_disp_set_window_pos(struct ipu_soc *ipu, ipu_channel_t channel,
+               int16_t x_pos, int16_t y_pos);
+int32_t _ipu_disp_get_window_pos(struct ipu_soc *ipu, ipu_channel_t channel,
+               int16_t *x_pos, int16_t *y_pos);
+void _ipu_get(struct ipu_soc *ipu);
+void _ipu_put(struct ipu_soc *ipu);
+
+struct clk *clk_register_mux_pix_clk(struct device *dev, const char *name,
+               const char **parent_names, u8 num_parents, unsigned long flags,
+               u8 ipu_id, u8 di_id, u8 clk_mux_flags);
+struct clk *clk_register_div_pix_clk(struct device *dev, const char *name,
+               const char *parent_name, unsigned long flags,
+               u8 ipu_id, u8 di_id, u8 clk_div_flags);
+struct clk *clk_register_gate_pix_clk(struct device *dev, const char *name,
+               const char *parent_name, unsigned long flags,
+               u8 ipu_id, u8 di_id, u8 clk_gate_flags);
+#endif                         /* __INCLUDE_IPU_PRV_H__ */
diff --git a/drivers/mxc/ipu3/ipu_regs.h b/drivers/mxc/ipu3/ipu_regs.h
new file mode 100644 (file)
index 0000000..8a424ee
--- /dev/null
@@ -0,0 +1,743 @@
+/*
+ * Copyright (C) 2005-2013 Freescale Semiconductor, Inc. All Rights Reserved.
+ */
+
+/*
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/*
+ * @file ipu_regs.h
+ *
+ * @brief IPU Register definitions
+ *
+ * @ingroup IPU
+ */
+#ifndef __IPU_REGS_INCLUDED__
+#define __IPU_REGS_INCLUDED__
+
+enum imx_ipu_rev {
+       IPU_V3DEX = 2,
+       IPU_V3M,
+       IPU_V3H,
+};
+
+/*
+ * hw_rev 2: IPUV3DEX
+ * hw_rev 3: IPUV3M
+ * hw_rev 4: IPUV3H
+ */
+extern int g_ipu_hw_rev;
+
+#define IPU_MAX_VDI_IN_WIDTH   ({g_ipu_hw_rev >= 3 ? \
+                                  (968) : \
+                                  (720); })
+#define IPU_DISP0_BASE         0x00000000
+#define IPU_MCU_T_DEFAULT      8
+#define IPU_DISP1_BASE         ({g_ipu_hw_rev < 4 ? \
+                               (IPU_MCU_T_DEFAULT << 25) : \
+                               (0x00000000); })
+#define IPUV3DEX_REG_BASE      0x1E000000
+#define IPUV3M_REG_BASE                0x06000000
+#define IPUV3H_REG_BASE                0x00200000
+
+#define IPU_CM_REG_BASE                0x00000000
+#define IPU_IDMAC_REG_BASE     0x00008000
+#define IPU_ISP_REG_BASE       0x00010000
+#define IPU_DP_REG_BASE                0x00018000
+#define IPU_IC_REG_BASE                0x00020000
+#define IPU_IRT_REG_BASE       0x00028000
+#define IPU_CSI0_REG_BASE      0x00030000
+#define IPU_CSI1_REG_BASE      0x00038000
+#define IPU_DI0_REG_BASE       0x00040000
+#define IPU_DI1_REG_BASE       0x00048000
+#define IPU_SMFC_REG_BASE      0x00050000
+#define IPU_DC_REG_BASE                0x00058000
+#define IPU_DMFC_REG_BASE      0x00060000
+#define IPU_VDI_REG_BASE       0x00068000
+#define IPU_CPMEM_REG_BASE     ({g_ipu_hw_rev >= 4 ? \
+                                  (0x00100000) : \
+                                  (0x01000000); })
+#define IPU_LUT_REG_BASE       0x01020000
+#define IPU_SRM_REG_BASE       ({g_ipu_hw_rev >= 4 ? \
+                                  (0x00140000) : \
+                                  (0x01040000); })
+#define IPU_TPM_REG_BASE       ({g_ipu_hw_rev >= 4 ? \
+                                  (0x00160000) : \
+                                  (0x01060000); })
+#define IPU_DC_TMPL_REG_BASE   ({g_ipu_hw_rev >= 4 ? \
+                                  (0x00180000) : \
+                                  (0x01080000); })
+#define IPU_ISP_TBPR_REG_BASE  0x010C0000
+
+/* Register addresses */
+/* IPU Common registers */
+#define IPU_CM_REG(offset)             (offset)
+
+#define IPU_CONF                       IPU_CM_REG(0)
+#define IPU_SRM_PRI1                   IPU_CM_REG(0x00A0)
+#define IPU_SRM_PRI2                   IPU_CM_REG(0x00A4)
+#define IPU_FS_PROC_FLOW1              IPU_CM_REG(0x00A8)
+#define IPU_FS_PROC_FLOW2              IPU_CM_REG(0x00AC)
+#define IPU_FS_PROC_FLOW3              IPU_CM_REG(0x00B0)
+#define IPU_FS_DISP_FLOW1              IPU_CM_REG(0x00B4)
+#define IPU_FS_DISP_FLOW2              IPU_CM_REG(0x00B8)
+#define IPU_SKIP                       IPU_CM_REG(0x00BC)
+#define IPU_DISP_ALT_CONF              IPU_CM_REG(0x00C0)
+#define IPU_DISP_GEN                   IPU_CM_REG(0x00C4)
+#define IPU_DISP_ALT1                  IPU_CM_REG(0x00C8)
+#define IPU_DISP_ALT2                  IPU_CM_REG(0x00CC)
+#define IPU_DISP_ALT3                  IPU_CM_REG(0x00D0)
+#define IPU_DISP_ALT4                  IPU_CM_REG(0x00D4)
+#define IPU_SNOOP                      IPU_CM_REG(0x00D8)
+#define IPU_MEM_RST                    IPU_CM_REG(0x00DC)
+#define IPU_PM                         IPU_CM_REG(0x00E0)
+#define IPU_GPR                                IPU_CM_REG(0x00E4)
+#define IPU_CHA_DB_MODE_SEL(ch)                IPU_CM_REG(0x0150 + 4 * ((ch) / 32))
+#define IPU_ALT_CHA_DB_MODE_SEL(ch)    IPU_CM_REG(0x0168 + 4 * ((ch) / 32))
+/*
+ * IPUv3D doesn't support triple buffer, so point
+ * IPU_CHA_TRB_MODE_SEL, IPU_CHA_TRIPLE_CUR_BUF and
+ * IPU_CHA_BUF2_RDY to readonly
+ * IPU_ALT_CUR_BUF0 for IPUv3D.
+ */
+#define IPU_CHA_TRB_MODE_SEL(ch) IPU_CM_REG({g_ipu_hw_rev >= 2 ? \
+                                           (0x0178 + 4 * ((ch) / 32)) : \
+                                           (0x012C); })
+#define IPU_CHA_TRIPLE_CUR_BUF(ch) IPU_CM_REG({g_ipu_hw_rev >= 2 ? \
+                                             (0x0258 + \
+                                              4 * (((ch) * 2) / 32)) : \
+                                             (0x012C); })
+#define IPU_CHA_BUF2_RDY(ch)   IPU_CM_REG({g_ipu_hw_rev >= 2 ? \
+                                           (0x0288 + 4 * ((ch) / 32)) : \
+                                           (0x012C); })
+#define IPU_CHA_CUR_BUF(ch)    IPU_CM_REG({g_ipu_hw_rev >= 2 ? \
+                                           (0x023C + 4 * ((ch) / 32)) : \
+                                           (0x0124 + 4 * ((ch) / 32)); })
+#define IPU_ALT_CUR_BUF0       IPU_CM_REG({g_ipu_hw_rev >= 2 ? \
+                                           (0x0244) : \
+                                           (0x012C); })
+#define IPU_ALT_CUR_BUF1       IPU_CM_REG({g_ipu_hw_rev >= 2 ? \
+                                           (0x0248) : \
+                                           (0x0130); })
+#define IPU_SRM_STAT           IPU_CM_REG({g_ipu_hw_rev >= 2 ? \
+                                           (0x024C) : \
+                                           (0x0134); })
+#define IPU_PROC_TASK_STAT     IPU_CM_REG({g_ipu_hw_rev >= 2 ? \
+                                           (0x0250) : \
+                                           (0x0138); })
+#define IPU_DISP_TASK_STAT     IPU_CM_REG({g_ipu_hw_rev >= 2 ? \
+                                           (0x0254) : \
+                                           (0x013C); })
+#define IPU_CHA_BUF0_RDY(ch)   IPU_CM_REG({g_ipu_hw_rev >= 2 ? \
+                                           (0x0268 + 4 * ((ch) / 32)) : \
+                                           (0x0140 + 4 * ((ch) / 32)); })
+#define IPU_CHA_BUF1_RDY(ch)   IPU_CM_REG({g_ipu_hw_rev >= 2 ? \
+                                           (0x0270 + 4 * ((ch) / 32)) : \
+                                           (0x0148 + 4 * ((ch) / 32)); })
+#define IPU_ALT_CHA_BUF0_RDY(ch) IPU_CM_REG({g_ipu_hw_rev >= 2 ? \
+                                            (0x0278 + 4 * ((ch) / 32)) : \
+                                            (0x0158 + 4 * ((ch) / 32)); })
+#define IPU_ALT_CHA_BUF1_RDY(ch) IPU_CM_REG({g_ipu_hw_rev >= 2 ? \
+                                            (0x0280 + 4 * ((ch) / 32)) : \
+                                            (0x0160 + 4 * ((ch) / 32)); })
+
+#define IPU_INT_CTRL(n)                IPU_CM_REG(0x003C + 4 * ((n) - 1))
+#define IPU_INT_STAT(n)                IPU_CM_REG({g_ipu_hw_rev >= 2 ? \
+                                           (0x0200 + 4 * ((n) - 1)) : \
+                                           (0x00E8 + 4 * ((n) - 1)); })
+
+#define IPUIRQ_2_STATREG(irq)  IPU_CM_REG(IPU_INT_STAT(1) + 4 * ((irq) / 32))
+#define IPUIRQ_2_CTRLREG(irq)  IPU_CM_REG(IPU_INT_CTRL(1) + 4 * ((irq) / 32))
+#define IPUIRQ_2_MASK(irq)     (1UL << ((irq) & 0x1F))
+
+/* IPU VDI registers */
+#define IPU_VDI_REG(offset)    (offset)
+
+#define VDI_FSIZE              IPU_VDI_REG(0)
+#define VDI_C                  IPU_VDI_REG(0x0004)
+
+/* IPU CSI Registers */
+#define IPU_CSI_REG(offset)    (offset)
+
+#define CSI_SENS_CONF          IPU_CSI_REG(0)
+#define CSI_SENS_FRM_SIZE      IPU_CSI_REG(0x0004)
+#define CSI_ACT_FRM_SIZE       IPU_CSI_REG(0x0008)
+#define CSI_OUT_FRM_CTRL       IPU_CSI_REG(0x000C)
+#define CSI_TST_CTRL           IPU_CSI_REG(0x0010)
+#define CSI_CCIR_CODE_1                IPU_CSI_REG(0x0014)
+#define CSI_CCIR_CODE_2                IPU_CSI_REG(0x0018)
+#define CSI_CCIR_CODE_3                IPU_CSI_REG(0x001C)
+#define CSI_MIPI_DI            IPU_CSI_REG(0x0020)
+#define CSI_SKIP               IPU_CSI_REG(0x0024)
+#define CSI_CPD_CTRL           IPU_CSI_REG(0x0028)
+#define CSI_CPD_RC(n)          IPU_CSI_REG(0x002C + 4 * (n))
+#define CSI_CPD_RS(n)          IPU_CSI_REG(0x004C + 4 * (n))
+#define CSI_CPD_GRC(n)         IPU_CSI_REG(0x005C + 4 * (n))
+#define CSI_CPD_GRS(n)         IPU_CSI_REG(0x007C + 4 * (n))
+#define CSI_CPD_GBC(n)         IPU_CSI_REG(0x008C + 4 * (n))
+#define CSI_CPD_GBS(n)         IPU_CSI_REG(0x00AC + 4 * (n))
+#define CSI_CPD_BC(n)          IPU_CSI_REG(0x00BC + 4 * (n))
+#define CSI_CPD_BS(n)          IPU_CSI_REG(0x00DC + 4 * (n))
+#define CSI_CPD_OFFSET1                IPU_CSI_REG(0x00EC)
+#define CSI_CPD_OFFSET2                IPU_CSI_REG(0x00F0)
+
+/* IPU SMFC Registers */
+#define IPU_SMFC_REG(offset)   (offset)
+
+#define SMFC_MAP               IPU_SMFC_REG(0)
+#define SMFC_WMC               IPU_SMFC_REG(0x0004)
+#define SMFC_BS                        IPU_SMFC_REG(0x0008)
+
+/* IPU IC Registers */
+#define IPU_IC_REG(offset)     (offset)
+
+#define IC_CONF                        IPU_IC_REG(0)
+#define IC_PRP_ENC_RSC         IPU_IC_REG(0x0004)
+#define IC_PRP_VF_RSC          IPU_IC_REG(0x0008)
+#define IC_PP_RSC              IPU_IC_REG(0x000C)
+#define IC_CMBP_1              IPU_IC_REG(0x0010)
+#define IC_CMBP_2              IPU_IC_REG(0x0014)
+#define IC_IDMAC_1             IPU_IC_REG(0x0018)
+#define IC_IDMAC_2             IPU_IC_REG(0x001C)
+#define IC_IDMAC_3             IPU_IC_REG(0x0020)
+#define IC_IDMAC_4             IPU_IC_REG(0x0024)
+
+/* IPU IDMAC Registers */
+#define IPU_IDMAC_REG(offset)  (offset)
+
+#define IDMAC_CONF             IPU_IDMAC_REG(0x0000)
+#define IDMAC_CHA_EN(ch)       IPU_IDMAC_REG(0x0004 + 4 * ((ch) / 32))
+#define IDMAC_SEP_ALPHA                IPU_IDMAC_REG(0x000C)
+#define IDMAC_ALT_SEP_ALPHA    IPU_IDMAC_REG(0x0010)
+#define IDMAC_CHA_PRI(ch)      IPU_IDMAC_REG(0x0014 + 4 * ((ch) / 32))
+#define IDMAC_WM_EN(ch)                IPU_IDMAC_REG(0x001C + 4 * ((ch) / 32))
+#define IDMAC_CH_LOCK_EN_1     IPU_IDMAC_REG({g_ipu_hw_rev >= 2 ? \
+                                              (0x0024) : 0; })
+#define IDMAC_CH_LOCK_EN_2     IPU_IDMAC_REG({g_ipu_hw_rev >= 2 ? \
+                                              (0x0028) : \
+                                              (0x0024); })
+#define IDMAC_SUB_ADDR_0       IPU_IDMAC_REG({g_ipu_hw_rev >= 2 ? \
+                                              (0x002C) : \
+                                              (0x0028); })
+#define IDMAC_SUB_ADDR_1       IPU_IDMAC_REG({g_ipu_hw_rev >= 2 ? \
+                                              (0x0030) : \
+                                              (0x002C); })
+#define IDMAC_SUB_ADDR_2       IPU_IDMAC_REG({g_ipu_hw_rev >= 2 ? \
+                                              (0x0034) : \
+                                              (0x0030); })
+/*
+ * IPUv3D doesn't support IDMAC_SUB_ADDR_3 and IDMAC_SUB_ADDR_4,
+ * so point them to readonly IDMAC_CHA_BUSY1 for IPUv3D.
+ */
+#define IDMAC_SUB_ADDR_3       IPU_IDMAC_REG({g_ipu_hw_rev >= 2 ? \
+                                              (0x0038) : \
+                                              (0x0040); })
+#define IDMAC_SUB_ADDR_4       IPU_IDMAC_REG({g_ipu_hw_rev >= 2 ? \
+                                              (0x003C) : \
+                                              (0x0040); })
+#define IDMAC_BAND_EN(ch)      IPU_IDMAC_REG({g_ipu_hw_rev >= 2 ? \
+                                              (0x0040 + 4 * ((ch) / 32)) : \
+                                              (0x0034 + 4 * ((ch) / 32)); })
+#define IDMAC_CHA_BUSY(ch)     IPU_IDMAC_REG({g_ipu_hw_rev >= 2 ? \
+                                              (0x0100 + 4 * ((ch) / 32)) : \
+                                              (0x0040 + 4 * ((ch) / 32)); })
+
+/* IPU DI Registers */
+#define IPU_DI_REG(offset)     (offset)
+
+#define DI_GENERAL             IPU_DI_REG(0)
+#define DI_BS_CLKGEN0          IPU_DI_REG(0x0004)
+#define DI_BS_CLKGEN1          IPU_DI_REG(0x0008)
+#define DI_SW_GEN0(gen)                IPU_DI_REG(0x000C + 4 * ((gen) - 1))
+#define DI_SW_GEN1(gen)                IPU_DI_REG(0x0030 + 4 * ((gen) - 1))
+#define DI_STP_REP(gen)                IPU_DI_REG(0x0148 + 4 * (((gen) - 1) / 2))
+#define DI_SYNC_AS_GEN         IPU_DI_REG(0x0054)
+#define DI_DW_GEN(gen)         IPU_DI_REG(0x0058 + 4 * (gen))
+#define DI_DW_SET(gen, set)    IPU_DI_REG(0x0088 + 4 * ((gen) + 0xC * (set)))
+#define DI_SER_CONF            IPU_DI_REG(0x015C)
+#define DI_SSC                 IPU_DI_REG(0x0160)
+#define DI_POL                 IPU_DI_REG(0x0164)
+#define DI_AW0                 IPU_DI_REG(0x0168)
+#define DI_AW1                 IPU_DI_REG(0x016C)
+#define DI_SCR_CONF            IPU_DI_REG(0x0170)
+#define DI_STAT                        IPU_DI_REG(0x0174)
+
+/* IPU DMFC Registers */
+#define IPU_DMFC_REG(offset)   (offset)
+
+#define DMFC_RD_CHAN           IPU_DMFC_REG(0)
+#define DMFC_WR_CHAN           IPU_DMFC_REG(0x0004)
+#define DMFC_WR_CHAN_DEF       IPU_DMFC_REG(0x0008)
+#define DMFC_DP_CHAN           IPU_DMFC_REG(0x000C)
+#define DMFC_DP_CHAN_DEF       IPU_DMFC_REG(0x0010)
+#define DMFC_GENERAL1          IPU_DMFC_REG(0x0014)
+#define DMFC_GENERAL2          IPU_DMFC_REG(0x0018)
+#define DMFC_IC_CTRL           IPU_DMFC_REG(0x001C)
+#define DMFC_STAT              IPU_DMFC_REG(0x0020)
+
+/* IPU DC Registers */
+#define IPU_DC_REG(offset)     (offset)
+
+#define DC_MAP_CONF_PTR(n)     IPU_DC_REG(0x0108 + ((n) & ~0x1) * 2)
+#define DC_MAP_CONF_VAL(n)     IPU_DC_REG(0x0144 + ((n) & ~0x1) * 2)
+
+#define _RL_CH_2_OFFSET(ch)    (((ch) == 0) ? 8 : ( \
+                                ((ch) == 1) ? 0x24 : ( \
+                                ((ch) == 2) ? 0x40 : ( \
+                                ((ch) == 5) ? 0x64 : ( \
+                                ((ch) == 6) ? 0x80 : ( \
+                                ((ch) == 8) ? 0x9C : ( \
+                                ((ch) == 9) ? 0xBC : (-1))))))))
+#define DC_RL_CH(ch, evt)      IPU_DC_REG(_RL_CH_2_OFFSET(ch) + \
+                                          ((evt) & ~0x1) * 2)
+
+#define DC_EVT_NF              0
+#define DC_EVT_NL              1
+#define DC_EVT_EOF             2
+#define DC_EVT_NFIELD          3
+#define DC_EVT_EOL             4
+#define DC_EVT_EOFIELD         5
+#define DC_EVT_NEW_ADDR                6
+#define DC_EVT_NEW_CHAN                7
+#define DC_EVT_NEW_DATA                8
+
+#define DC_EVT_NEW_ADDR_W_0    0
+#define DC_EVT_NEW_ADDR_W_1    1
+#define DC_EVT_NEW_CHAN_W_0    2
+#define DC_EVT_NEW_CHAN_W_1    3
+#define DC_EVT_NEW_DATA_W_0    4
+#define DC_EVT_NEW_DATA_W_1    5
+#define DC_EVT_NEW_ADDR_R_0    6
+#define DC_EVT_NEW_ADDR_R_1    7
+#define DC_EVT_NEW_CHAN_R_0    8
+#define DC_EVT_NEW_CHAN_R_1    9
+#define DC_EVT_NEW_DATA_R_0    10
+#define DC_EVT_NEW_DATA_R_1    11
+#define DC_EVEN_UGDE0          12
+#define DC_ODD_UGDE0           13
+#define DC_EVEN_UGDE1          14
+#define DC_ODD_UGDE1           15
+#define DC_EVEN_UGDE2          16
+#define DC_ODD_UGDE2           17
+#define DC_EVEN_UGDE3          18
+#define DC_ODD_UGDE3           19
+
+#define dc_ch_offset(ch) \
+({ \
+       const u8 _offset[] = { \
+               0, 0x1C, 0x38, 0x54, 0x58, 0x5C, 0x78, 0, 0x94, 0xB4}; \
+       _offset[ch]; \
+})
+#define DC_WR_CH_CONF(ch)      IPU_DC_REG(dc_ch_offset(ch))
+#define DC_WR_CH_ADDR(ch)      IPU_DC_REG(dc_ch_offset(ch) + 4)
+
+#define DC_WR_CH_CONF_1                IPU_DC_REG(0x001C)
+#define DC_WR_CH_ADDR_1                IPU_DC_REG(0x0020)
+#define DC_WR_CH_CONF_5                IPU_DC_REG(0x005C)
+#define DC_WR_CH_ADDR_5                IPU_DC_REG(0x0060)
+#define DC_GEN                 IPU_DC_REG(0x00D4)
+#define DC_DISP_CONF1(disp)    IPU_DC_REG(0x00D8 + 4 * (disp))
+#define DC_DISP_CONF2(disp)    IPU_DC_REG(0x00E8 + 4 * (disp))
+#define DC_STAT                        IPU_DC_REG(0x01C8)
+#define DC_UGDE_0(evt)         IPU_DC_REG(0x0174 + 16 * (evt))
+#define DC_UGDE_1(evt)         IPU_DC_REG(0x0178 + 16 * (evt))
+#define DC_UGDE_2(evt)         IPU_DC_REG(0x017C + 16 * (evt))
+#define DC_UGDE_3(evt)         IPU_DC_REG(0x0180 + 16 * (evt))
+
+/* IPU DP Registers */
+#define IPU_DP_REG(offset)             (offset)
+
+#define DP_SYNC                                0
+#define DP_ASYNC0                      0x60
+#define DP_ASYNC1                      0xBC
+#define DP_COM_CONF(flow)              IPU_DP_REG(flow)
+#define DP_GRAPH_WIND_CTRL(flow)       IPU_DP_REG(0x0004 + (flow))
+#define DP_FG_POS(flow)                        IPU_DP_REG(0x0008 + (flow))
+#define DP_GAMMA_C(flow, i)            IPU_DP_REG(0x0014 + (flow) + 4 * (i))
+#define DP_GAMMA_S(flow, i)            IPU_DP_REG(0x0034 + (flow) + 4 * (i))
+#define DP_CSC_A_0(flow)               IPU_DP_REG(0x0044 + (flow))
+#define DP_CSC_A_1(flow)               IPU_DP_REG(0x0048 + (flow))
+#define DP_CSC_A_2(flow)               IPU_DP_REG(0x004C + (flow))
+#define DP_CSC_A_3(flow)               IPU_DP_REG(0x0050 + (flow))
+#define DP_CSC_0(flow)                 IPU_DP_REG(0x0054 + (flow))
+#define DP_CSC_1(flow)                 IPU_DP_REG(0x0058 + (flow))
+
+enum {
+       IPU_CONF_CSI0_EN = 0x00000001,
+       IPU_CONF_CSI1_EN = 0x00000002,
+       IPU_CONF_IC_EN = 0x00000004,
+       IPU_CONF_ROT_EN = 0x00000008,
+       IPU_CONF_ISP_EN = 0x00000010,
+       IPU_CONF_DP_EN = 0x00000020,
+       IPU_CONF_DI0_EN = 0x00000040,
+       IPU_CONF_DI1_EN = 0x00000080,
+       IPU_CONF_DMFC_EN = 0x00000400,
+       IPU_CONF_SMFC_EN = 0x00000100,
+       IPU_CONF_DC_EN = 0x00000200,
+       IPU_CONF_VDI_EN = 0x00001000,
+       IPU_CONF_IDMAC_DIS = 0x00400000,
+       IPU_CONF_IC_DMFC_SEL = 0x02000000,
+       IPU_CONF_IC_DMFC_SYNC = 0x04000000,
+       IPU_CONF_VDI_DMFC_SYNC = 0x08000000,
+       IPU_CONF_CSI0_DATA_SOURCE = 0x10000000,
+       IPU_CONF_CSI0_DATA_SOURCE_OFFSET = 28,
+       IPU_CONF_CSI1_DATA_SOURCE = 0x20000000,
+       IPU_CONF_IC_INPUT = 0x40000000,
+       IPU_CONF_CSI_SEL = 0x80000000,
+
+       DI0_COUNTER_RELEASE = 0x01000000,
+       DI1_COUNTER_RELEASE = 0x02000000,
+
+       FS_PRPVF_ROT_SRC_SEL_MASK = 0x00000F00,
+       FS_PRPVF_ROT_SRC_SEL_OFFSET = 8,
+       FS_PRPENC_ROT_SRC_SEL_MASK = 0x0000000F,
+       FS_PRPENC_ROT_SRC_SEL_OFFSET = 0,
+       FS_PP_ROT_SRC_SEL_MASK = 0x000F0000,
+       FS_PP_ROT_SRC_SEL_OFFSET = 16,
+       FS_PP_SRC_SEL_MASK = 0x0000F000,
+       FS_PP_SRC_SEL_VDOA = 0x00008000,
+       FS_PP_SRC_SEL_OFFSET = 12,
+       FS_PRP_SRC_SEL_MASK = 0x0F000000,
+       FS_PRP_SRC_SEL_OFFSET = 24,
+       FS_VF_IN_VALID = 0x80000000,
+       FS_ENC_IN_VALID = 0x40000000,
+       FS_VDI_SRC_SEL_MASK = 0x30000000,
+       FS_VDI_SRC_SEL_VDOA = 0x20000000,
+       FS_VDOA_DEST_SEL_MASK = 0x00030000,
+       FS_VDOA_DEST_SEL_VDI = 0x00020000,
+       FS_VDOA_DEST_SEL_IC = 0x00010000,
+       FS_VDI_SRC_SEL_OFFSET = 28,
+
+
+       FS_PRPENC_DEST_SEL_MASK = 0x0000000F,
+       FS_PRPENC_DEST_SEL_OFFSET = 0,
+       FS_PRPVF_DEST_SEL_MASK = 0x000000F0,
+       FS_PRPVF_DEST_SEL_OFFSET = 4,
+       FS_PRPVF_ROT_DEST_SEL_MASK = 0x00000F00,
+       FS_PRPVF_ROT_DEST_SEL_OFFSET = 8,
+       FS_PP_DEST_SEL_MASK = 0x0000F000,
+       FS_PP_DEST_SEL_OFFSET = 12,
+       FS_PP_ROT_DEST_SEL_MASK = 0x000F0000,
+       FS_PP_ROT_DEST_SEL_OFFSET = 16,
+       FS_PRPENC_ROT_DEST_SEL_MASK = 0x00F00000,
+       FS_PRPENC_ROT_DEST_SEL_OFFSET = 20,
+
+       FS_SMFC0_DEST_SEL_MASK = 0x0000000F,
+       FS_SMFC0_DEST_SEL_OFFSET = 0,
+       FS_SMFC1_DEST_SEL_MASK = 0x00000070,
+       FS_SMFC1_DEST_SEL_OFFSET = 4,
+       FS_SMFC2_DEST_SEL_MASK = 0x00000780,
+       FS_SMFC2_DEST_SEL_OFFSET = 7,
+       FS_SMFC3_DEST_SEL_MASK = 0x00003800,
+       FS_SMFC3_DEST_SEL_OFFSET = 11,
+
+       FS_DC1_SRC_SEL_MASK = 0x00F00000,
+       FS_DC1_SRC_SEL_OFFSET = 20,
+       FS_DC2_SRC_SEL_MASK = 0x000F0000,
+       FS_DC2_SRC_SEL_OFFSET = 16,
+       FS_DP_SYNC0_SRC_SEL_MASK = 0x0000000F,
+       FS_DP_SYNC0_SRC_SEL_OFFSET = 0,
+       FS_DP_SYNC1_SRC_SEL_MASK = 0x000000F0,
+       FS_DP_SYNC1_SRC_SEL_OFFSET = 4,
+       FS_DP_ASYNC0_SRC_SEL_MASK = 0x00000F00,
+       FS_DP_ASYNC0_SRC_SEL_OFFSET = 8,
+       FS_DP_ASYNC1_SRC_SEL_MASK = 0x0000F000,
+       FS_DP_ASYNC1_SRC_SEL_OFFSET = 12,
+
+       FS_AUTO_REF_PER_MASK = 0,
+       FS_AUTO_REF_PER_OFFSET = 16,
+
+       TSTAT_VF_MASK = 0x0000000C,
+       TSTAT_VF_OFFSET = 2,
+       TSTAT_VF_ROT_MASK = 0x00000300,
+       TSTAT_VF_ROT_OFFSET = 8,
+       TSTAT_ENC_MASK = 0x00000003,
+       TSTAT_ENC_OFFSET = 0,
+       TSTAT_ENC_ROT_MASK = 0x000000C0,
+       TSTAT_ENC_ROT_OFFSET = 6,
+       TSTAT_PP_MASK = 0x00000030,
+       TSTAT_PP_OFFSET = 4,
+       TSTAT_PP_ROT_MASK = 0x00000C00,
+       TSTAT_PP_ROT_OFFSET = 10,
+
+       TASK_STAT_IDLE = 0,
+       TASK_STAT_ACTIVE = 1,
+       TASK_STAT_WAIT4READY = 2,
+
+       /* Image Converter Register bits */
+       IC_CONF_PRPENC_EN = 0x00000001,
+       IC_CONF_PRPENC_CSC1 = 0x00000002,
+       IC_CONF_PRPENC_ROT_EN = 0x00000004,
+       IC_CONF_PRPVF_EN = 0x00000100,
+       IC_CONF_PRPVF_CSC1 = 0x00000200,
+       IC_CONF_PRPVF_CSC2 = 0x00000400,
+       IC_CONF_PRPVF_CMB = 0x00000800,
+       IC_CONF_PRPVF_ROT_EN = 0x00001000,
+       IC_CONF_PP_EN = 0x00010000,
+       IC_CONF_PP_CSC1 = 0x00020000,
+       IC_CONF_PP_CSC2 = 0x00040000,
+       IC_CONF_PP_CMB = 0x00080000,
+       IC_CONF_PP_ROT_EN = 0x00100000,
+       IC_CONF_IC_GLB_LOC_A = 0x10000000,
+       IC_CONF_KEY_COLOR_EN = 0x20000000,
+       IC_CONF_RWS_EN = 0x40000000,
+       IC_CONF_CSI_MEM_WR_EN = 0x80000000,
+
+       IC_RSZ_MAX_RESIZE_RATIO = 0x00004000,
+
+       IC_IDMAC_1_CB0_BURST_16 = 0x00000001,
+       IC_IDMAC_1_CB1_BURST_16 = 0x00000002,
+       IC_IDMAC_1_CB2_BURST_16 = 0x00000004,
+       IC_IDMAC_1_CB3_BURST_16 = 0x00000008,
+       IC_IDMAC_1_CB4_BURST_16 = 0x00000010,
+       IC_IDMAC_1_CB5_BURST_16 = 0x00000020,
+       IC_IDMAC_1_CB6_BURST_16 = 0x00000040,
+       IC_IDMAC_1_CB7_BURST_16 = 0x00000080,
+       IC_IDMAC_1_PRPENC_ROT_MASK = 0x00003800,
+       IC_IDMAC_1_PRPENC_ROT_OFFSET = 11,
+       IC_IDMAC_1_PRPVF_ROT_MASK = 0x0001C000,
+       IC_IDMAC_1_PRPVF_ROT_OFFSET = 14,
+       IC_IDMAC_1_PP_ROT_MASK = 0x000E0000,
+       IC_IDMAC_1_PP_ROT_OFFSET = 17,
+       IC_IDMAC_1_PP_FLIP_RS = 0x00400000,
+       IC_IDMAC_1_PRPVF_FLIP_RS = 0x00200000,
+       IC_IDMAC_1_PRPENC_FLIP_RS = 0x00100000,
+
+       IC_IDMAC_2_PRPENC_HEIGHT_MASK = 0x000003FF,
+       IC_IDMAC_2_PRPENC_HEIGHT_OFFSET = 0,
+       IC_IDMAC_2_PRPVF_HEIGHT_MASK = 0x000FFC00,
+       IC_IDMAC_2_PRPVF_HEIGHT_OFFSET = 10,
+       IC_IDMAC_2_PP_HEIGHT_MASK = 0x3FF00000,
+       IC_IDMAC_2_PP_HEIGHT_OFFSET = 20,
+
+       IC_IDMAC_3_PRPENC_WIDTH_MASK = 0x000003FF,
+       IC_IDMAC_3_PRPENC_WIDTH_OFFSET = 0,
+       IC_IDMAC_3_PRPVF_WIDTH_MASK = 0x000FFC00,
+       IC_IDMAC_3_PRPVF_WIDTH_OFFSET = 10,
+       IC_IDMAC_3_PP_WIDTH_MASK = 0x3FF00000,
+       IC_IDMAC_3_PP_WIDTH_OFFSET = 20,
+
+       CSI_SENS_CONF_DATA_FMT_SHIFT = 8,
+       CSI_SENS_CONF_DATA_FMT_MASK = 0x00000700,
+       CSI_SENS_CONF_DATA_FMT_RGB_YUV444 = 0L,
+       CSI_SENS_CONF_DATA_FMT_YUV422_YUYV = 1L,
+       CSI_SENS_CONF_DATA_FMT_YUV422_UYVY = 2L,
+       CSI_SENS_CONF_DATA_FMT_BAYER = 3L,
+       CSI_SENS_CONF_DATA_FMT_RGB565 = 4L,
+       CSI_SENS_CONF_DATA_FMT_RGB555 = 5L,
+       CSI_SENS_CONF_DATA_FMT_RGB444 = 6L,
+       CSI_SENS_CONF_DATA_FMT_JPEG = 7L,
+
+       CSI_SENS_CONF_VSYNC_POL_SHIFT = 0,
+       CSI_SENS_CONF_HSYNC_POL_SHIFT = 1,
+       CSI_SENS_CONF_DATA_POL_SHIFT = 2,
+       CSI_SENS_CONF_PIX_CLK_POL_SHIFT = 3,
+       CSI_SENS_CONF_SENS_PRTCL_MASK = 0x00000070L,
+       CSI_SENS_CONF_SENS_PRTCL_SHIFT = 4,
+       CSI_SENS_CONF_PACK_TIGHT_SHIFT = 7,
+       CSI_SENS_CONF_DATA_WIDTH_SHIFT = 11,
+       CSI_SENS_CONF_EXT_VSYNC_SHIFT = 15,
+       CSI_SENS_CONF_DIVRATIO_SHIFT = 16,
+
+       CSI_SENS_CONF_DIVRATIO_MASK = 0x00FF0000L,
+       CSI_SENS_CONF_DATA_DEST_SHIFT = 24,
+       CSI_SENS_CONF_DATA_DEST_MASK = 0x07000000L,
+       CSI_SENS_CONF_JPEG8_EN_SHIFT = 27,
+       CSI_SENS_CONF_JPEG_EN_SHIFT = 28,
+       CSI_SENS_CONF_FORCE_EOF_SHIFT = 29,
+       CSI_SENS_CONF_DATA_EN_POL_SHIFT = 31,
+
+       CSI_DATA_DEST_ISP = 1L,
+       CSI_DATA_DEST_IC = 2L,
+       CSI_DATA_DEST_IDMAC = 4L,
+
+       CSI_CCIR_ERR_DET_EN = 0x01000000L,
+       CSI_HORI_DOWNSIZE_EN = 0x80000000L,
+       CSI_VERT_DOWNSIZE_EN = 0x40000000L,
+       CSI_TEST_GEN_MODE_EN = 0x01000000L,
+
+       CSI_HSC_MASK = 0x1FFF0000,
+       CSI_HSC_SHIFT = 16,
+       CSI_VSC_MASK = 0x00000FFF,
+       CSI_VSC_SHIFT = 0,
+
+       CSI_TEST_GEN_R_MASK = 0x000000FFL,
+       CSI_TEST_GEN_R_SHIFT = 0,
+       CSI_TEST_GEN_G_MASK = 0x0000FF00L,
+       CSI_TEST_GEN_G_SHIFT = 8,
+       CSI_TEST_GEN_B_MASK = 0x00FF0000L,
+       CSI_TEST_GEN_B_SHIFT = 16,
+
+       CSI_MIPI_DI0_MASK = 0x000000FFL,
+       CSI_MIPI_DI0_SHIFT = 0,
+       CSI_MIPI_DI1_MASK = 0x0000FF00L,
+       CSI_MIPI_DI1_SHIFT = 8,
+       CSI_MIPI_DI2_MASK = 0x00FF0000L,
+       CSI_MIPI_DI2_SHIFT = 16,
+       CSI_MIPI_DI3_MASK = 0xFF000000L,
+       CSI_MIPI_DI3_SHIFT = 24,
+
+       CSI_MAX_RATIO_SKIP_ISP_MASK = 0x00070000L,
+       CSI_MAX_RATIO_SKIP_ISP_SHIFT = 16,
+       CSI_SKIP_ISP_MASK = 0x00F80000L,
+       CSI_SKIP_ISP_SHIFT = 19,
+       CSI_MAX_RATIO_SKIP_SMFC_MASK = 0x00000007L,
+       CSI_MAX_RATIO_SKIP_SMFC_SHIFT = 0,
+       CSI_SKIP_SMFC_MASK = 0x000000F8L,
+       CSI_SKIP_SMFC_SHIFT = 3,
+       CSI_ID_2_SKIP_MASK = 0x00000300L,
+       CSI_ID_2_SKIP_SHIFT = 8,
+
+       CSI_COLOR_FIRST_ROW_MASK = 0x00000002L,
+       CSI_COLOR_FIRST_COMP_MASK = 0x00000001L,
+
+       SMFC_MAP_CH0_MASK = 0x00000007L,
+       SMFC_MAP_CH0_SHIFT = 0,
+       SMFC_MAP_CH1_MASK = 0x00000038L,
+       SMFC_MAP_CH1_SHIFT = 3,
+       SMFC_MAP_CH2_MASK = 0x000001C0L,
+       SMFC_MAP_CH2_SHIFT = 6,
+       SMFC_MAP_CH3_MASK = 0x00000E00L,
+       SMFC_MAP_CH3_SHIFT = 9,
+
+       SMFC_WM0_SET_MASK = 0x00000007L,
+       SMFC_WM0_SET_SHIFT = 0,
+       SMFC_WM1_SET_MASK = 0x000001C0L,
+       SMFC_WM1_SET_SHIFT = 6,
+       SMFC_WM2_SET_MASK = 0x00070000L,
+       SMFC_WM2_SET_SHIFT = 16,
+       SMFC_WM3_SET_MASK = 0x01C00000L,
+       SMFC_WM3_SET_SHIFT = 22,
+
+       SMFC_WM0_CLR_MASK = 0x00000038L,
+       SMFC_WM0_CLR_SHIFT = 3,
+       SMFC_WM1_CLR_MASK = 0x00000E00L,
+       SMFC_WM1_CLR_SHIFT = 9,
+       SMFC_WM2_CLR_MASK = 0x00380000L,
+       SMFC_WM2_CLR_SHIFT = 19,
+       SMFC_WM3_CLR_MASK = 0x0E000000L,
+       SMFC_WM3_CLR_SHIFT = 25,
+
+       SMFC_BS0_MASK = 0x0000000FL,
+       SMFC_BS0_SHIFT = 0,
+       SMFC_BS1_MASK = 0x000000F0L,
+       SMFC_BS1_SHIFT = 4,
+       SMFC_BS2_MASK = 0x00000F00L,
+       SMFC_BS2_SHIFT = 8,
+       SMFC_BS3_MASK = 0x0000F000L,
+       SMFC_BS3_SHIFT = 12,
+
+       PF_CONF_TYPE_MASK = 0x00000007,
+       PF_CONF_TYPE_SHIFT = 0,
+       PF_CONF_PAUSE_EN = 0x00000010,
+       PF_CONF_RESET = 0x00008000,
+       PF_CONF_PAUSE_ROW_MASK = 0x00FF0000,
+       PF_CONF_PAUSE_ROW_SHIFT = 16,
+
+       DI_DW_GEN_ACCESS_SIZE_OFFSET = 24,
+       DI_DW_GEN_COMPONENT_SIZE_OFFSET = 16,
+
+       DI_GEN_DI_CLK_EXT = 0x100000,
+       DI_GEN_POLARITY_DISP_CLK = 0x00020000,
+       DI_GEN_POLARITY_1 = 0x00000001,
+       DI_GEN_POLARITY_2 = 0x00000002,
+       DI_GEN_POLARITY_3 = 0x00000004,
+       DI_GEN_POLARITY_4 = 0x00000008,
+       DI_GEN_POLARITY_5 = 0x00000010,
+       DI_GEN_POLARITY_6 = 0x00000020,
+       DI_GEN_POLARITY_7 = 0x00000040,
+       DI_GEN_POLARITY_8 = 0x00000080,
+
+       DI_POL_DRDY_DATA_POLARITY = 0x00000080,
+       DI_POL_DRDY_POLARITY_15 = 0x00000010,
+
+       DI_VSYNC_SEL_OFFSET = 13,
+
+       DC_WR_CH_CONF_FIELD_MODE = 0x00000200,
+       DC_WR_CH_CONF_PROG_TYPE_OFFSET = 5,
+       DC_WR_CH_CONF_PROG_TYPE_MASK = 0x000000E0,
+       DC_WR_CH_CONF_PROG_DI_ID = 0x00000004,
+       DC_WR_CH_CONF_PROG_DISP_ID_OFFSET = 3,
+       DC_WR_CH_CONF_PROG_DISP_ID_MASK = 0x00000018,
+
+       DC_UGDE_0_ODD_EN = 0x02000000,
+       DC_UGDE_0_ID_CODED_MASK = 0x00000007,
+       DC_UGDE_0_ID_CODED_OFFSET = 0,
+       DC_UGDE_0_EV_PRIORITY_MASK = 0x00000078,
+       DC_UGDE_0_EV_PRIORITY_OFFSET = 3,
+
+       DP_COM_CONF_FG_EN = 0x00000001,
+       DP_COM_CONF_GWSEL = 0x00000002,
+       DP_COM_CONF_GWAM = 0x00000004,
+       DP_COM_CONF_GWCKE = 0x00000008,
+       DP_COM_CONF_CSC_DEF_MASK = 0x00000300,
+       DP_COM_CONF_CSC_DEF_OFFSET = 8,
+       DP_COM_CONF_CSC_DEF_FG = 0x00000300,
+       DP_COM_CONF_CSC_DEF_BG = 0x00000200,
+       DP_COM_CONF_CSC_DEF_BOTH = 0x00000100,
+       DP_COM_CONF_GAMMA_EN = 0x00001000,
+       DP_COM_CONF_GAMMA_YUV_EN = 0x00002000,
+
+       DI_SER_CONF_LLA_SER_ACCESS = 0x00000020,
+       DI_SER_CONF_SERIAL_CLK_POL = 0x00000010,
+       DI_SER_CONF_SERIAL_DATA_POL = 0x00000008,
+       DI_SER_CONF_SERIAL_RS_POL = 0x00000004,
+       DI_SER_CONF_SERIAL_CS_POL = 0x00000002,
+       DI_SER_CONF_WAIT4SERIAL = 0x00000001,
+
+       VDI_C_CH_420 = 0x00000000,
+       VDI_C_CH_422 = 0x00000002,
+       VDI_C_MOT_SEL_FULL = 0x00000008,
+       VDI_C_MOT_SEL_LOW = 0x00000004,
+       VDI_C_MOT_SEL_MED = 0x00000000,
+       VDI_C_BURST_SIZE1_4 = 0x00000030,
+       VDI_C_BURST_SIZE2_4 = 0x00000300,
+       VDI_C_BURST_SIZE3_4 = 0x00003000,
+       VDI_C_BURST_SIZE_MASK = 0xF,
+       VDI_C_BURST_SIZE1_OFFSET = 4,
+       VDI_C_BURST_SIZE2_OFFSET = 8,
+       VDI_C_BURST_SIZE3_OFFSET = 12,
+       VDI_C_VWM1_SET_1 = 0x00000000,
+       VDI_C_VWM1_SET_2 = 0x00010000,
+       VDI_C_VWM1_CLR_2 = 0x00080000,
+       VDI_C_VWM3_SET_1 = 0x00000000,
+       VDI_C_VWM3_SET_2 = 0x00400000,
+       VDI_C_VWM3_CLR_2 = 0x02000000,
+       VDI_C_TOP_FIELD_MAN_1 = 0x40000000,
+       VDI_C_TOP_FIELD_AUTO_1 = 0x80000000,
+};
+
+enum di_pins {
+       DI_PIN11 = 0,
+       DI_PIN12 = 1,
+       DI_PIN13 = 2,
+       DI_PIN14 = 3,
+       DI_PIN15 = 4,
+       DI_PIN16 = 5,
+       DI_PIN17 = 6,
+       DI_PIN_CS = 7,
+
+       DI_PIN_SER_CLK = 0,
+       DI_PIN_SER_RS = 1,
+};
+
+enum di_sync_wave {
+       DI_SYNC_NONE = -1,
+       DI_SYNC_CLK = 0,
+       DI_SYNC_INT_HSYNC = 1,
+       DI_SYNC_HSYNC = 2,
+       DI_SYNC_VSYNC = 3,
+       DI_SYNC_DE = 5,
+};
+
+/* DC template opcodes */
+#define WROD(lf)               (0x18 | (lf << 1))
+#define WRG                    (0x01)
+
+#endif
diff --git a/drivers/mxc/ipu3/vdoa.c b/drivers/mxc/ipu3/vdoa.c
new file mode 100644 (file)
index 0000000..c6cb9f1
--- /dev/null
@@ -0,0 +1,543 @@
+/*
+ * Copyright (C) 2012-2013 Freescale Semiconductor, Inc. All Rights Reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+#include <linux/clk.h>
+#include <linux/err.h>
+#include <linux/io.h>
+#include <linux/ipu.h>
+#include <linux/genalloc.h>
+#include <linux/module.h>
+#include <linux/platform_device.h>
+#include <linux/slab.h>
+#include <linux/types.h>
+
+#include "vdoa.h"
+/* 6band(3field* double buffer) * (width*2) * bandline(8)
+       = 6x1024x2x8 = 96k or 72k(1.5byte) */
+#define MAX_VDOA_IRAM_SIZE     (1024*96)
+#define VDOA_IRAM_SIZE         (1024*72)
+
+#define VDOAC_BAND_HEIGHT_32LINES      (32)
+#define VDOAC_BAND_HEIGHT_16LINES      (16)
+#define VDOAC_BAND_HEIGHT_8LINES       (8)
+#define VDOAC_THREE_FRAMES             (0x1 << 2)
+#define VDOAC_SYNC_BAND_MODE           (0x1 << 3)
+#define VDOAC_SCAN_ORDER_INTERLACED    (0x1 << 4)
+#define VDOAC_PFS_YUYV                 (0x1 << 5)
+#define VDOAC_IPU_SEL_1                        (0x1 << 6)
+#define VDOAFP_FH_MASK                 (0x1FFF)
+#define VDOAFP_FH_SHIFT                        (16)
+#define VDOAFP_FW_MASK                 (0x3FFF)
+#define VDOAFP_FW_SHIFT                        (0)
+#define VDOASL_VSLY_MASK               (0x3FFF)
+#define VDOASL_VSLY_SHIFT              (16)
+#define VDOASL_ISLY_MASK               (0x7FFF)
+#define VDOASL_ISLY_SHIFT              (0)
+#define VDOASRR_START_XFER             (0x2)
+#define VDOASRR_SWRST                  (0x1)
+#define VDOAIEIST_TRANSFER_ERR         (0x2)
+#define VDOAIEIST_TRANSFER_END         (0x1)
+
+#define        VDOAC           (0x0)   /* Control Register */
+#define        VDOASRR         (0x4)   /* Start and Reset Register */
+#define        VDOAIE          (0x8)   /* Interrupt Enable Register */
+#define        VDOAIST         (0xc)   /* Interrupt Status Register */
+#define        VDOAFP          (0x10)  /* Frame Parameters Register */
+#define        VDOAIEBA00      (0x14)  /* External Buffer n Frame m Address Register */
+#define        VDOAIEBA01      (0x18)  /* External Buffer n Frame m Address Register */
+#define        VDOAIEBA02      (0x1c)  /* External Buffer n Frame m Address Register */
+#define        VDOAIEBA10      (0x20)  /* External Buffer n Frame m Address Register */
+#define        VDOAIEBA11      (0x24)  /* External Buffer n Frame m Address Register */
+#define        VDOAIEBA12      (0x28)  /* External Buffer n Frame m Address Register */
+#define        VDOASL          (0x2c)  /* IPU Stride Line Register */
+#define        VDOAIUBO        (0x30)  /* IPU Chroma Buffer Offset Register */
+#define        VDOAVEBA0       (0x34)  /* External Buffer m Address Register */
+#define        VDOAVEBA1       (0x38)  /* External Buffer m Address Register */
+#define        VDOAVEBA2       (0x3c)  /* External Buffer m Address Register */
+#define        VDOAVUBO        (0x40)  /* VPU Chroma Buffer Offset */
+#define        VDOASR          (0x44)  /* Status Register */
+#define        VDOATD          (0x48)  /* Test Debug Register */
+
+
+enum {
+       VDOA_INIT       = 0x1,
+       VDOA_GET        = 0x2,
+       VDOA_SETUP      = 0x4,
+       VDOA_GET_OBUF   = 0x8,
+       VDOA_START      = 0x10,
+       VDOA_INIRQ      = 0x20,
+       VDOA_STOP       = 0x40,
+       VDOA_PUT        = VDOA_INIT,
+};
+
+enum {
+       VDOA_NULL       = 0,
+       VDOA_FRAME      = 1,
+       VDOA_PREV_FIELD = 2,
+       VDOA_CURR_FIELD = 3,
+       VDOA_NEXT_FIELD = 4,
+};
+
+#define CHECK_STATE(expect, retcode)                                   \
+do {                                                                   \
+       if (!((expect) & vdoa->state)) {                                \
+               dev_err(vdoa->dev, "ERR: %s state:0x%x, expect:0x%x.\n",\
+                               __func__, vdoa->state, (expect));       \
+               retcode;                                                \
+       }                                                               \
+} while (0)
+
+#define CHECK_NULL_PTR(ptr)                                            \
+do {                                                                   \
+       pr_debug("vdoa_ptr:0x%p in %s state:0x%x.\n",                   \
+                       vdoa, __func__, vdoa->state);                   \
+       if (NULL == (ptr)) {                                            \
+               pr_err("ERR vdoa: %s state:0x%x null ptr.\n",           \
+                               __func__, vdoa->state);                 \
+       }                                                               \
+} while (0)
+
+struct vdoa_info {
+       int             state;
+       struct device   *dev;
+       struct clk      *vdoa_clk;
+       void __iomem    *reg_base;
+       struct gen_pool *iram_pool;
+       unsigned long   iram_base;
+       unsigned long   iram_paddr;
+       int             irq;
+       int             field;
+       struct completion comp;
+};
+
+static struct vdoa_info *g_vdoa;
+static unsigned long iram_size;
+static DEFINE_MUTEX(vdoa_lock);
+
+static inline void vdoa_read_register(struct vdoa_info *vdoa,
+                               u32 reg, u32 *val)
+{
+       *val = ioread32(vdoa->reg_base + reg);
+       dev_dbg(vdoa->dev, "read_reg:0x%02x, val:0x%08x.\n", reg, *val);
+}
+
+static inline void vdoa_write_register(struct vdoa_info *vdoa,
+                               u32 reg, u32 val)
+{
+       iowrite32(val, vdoa->reg_base + reg);
+       dev_dbg(vdoa->dev, "\t\twrite_reg:0x%02x, val:0x%08x.\n", reg, val);
+}
+
+static void dump_registers(struct vdoa_info *vdoa)
+{
+       int i;
+       u32 data;
+
+       for (i = VDOAC; i < VDOATD; i += 4)
+               vdoa_read_register(vdoa, i, &data);
+}
+
+int vdoa_setup(vdoa_handle_t handle, struct vdoa_params *params)
+{
+       int     band_size;
+       int     total_band_size = 0;
+       int     ipu_stride;
+       u32     data;
+       struct vdoa_info *vdoa = (struct vdoa_info *)handle;
+
+       CHECK_NULL_PTR(vdoa);
+       CHECK_STATE(VDOA_GET | VDOA_GET_OBUF | VDOA_STOP, return -EINVAL);
+       if (VDOA_GET == vdoa->state) {
+               dev_dbg(vdoa->dev, "w:%d, h:%d.\n",
+                        params->width, params->height);
+               data = (params->band_lines == VDOAC_BAND_HEIGHT_32LINES) ? 2 :
+                       ((params->band_lines == VDOAC_BAND_HEIGHT_16LINES) ?
+                                1 : 0);
+               data |= params->scan_order ? VDOAC_SCAN_ORDER_INTERLACED : 0;
+               data |= params->band_mode ? VDOAC_SYNC_BAND_MODE : 0;
+               data |= params->pfs ? VDOAC_PFS_YUYV : 0;
+               data |= params->ipu_num ? VDOAC_IPU_SEL_1 : 0;
+               vdoa_write_register(vdoa, VDOAC, data);
+
+               data = ((params->width & VDOAFP_FW_MASK) << VDOAFP_FW_SHIFT) |
+                       ((params->height & VDOAFP_FH_MASK) << VDOAFP_FH_SHIFT);
+               vdoa_write_register(vdoa, VDOAFP, data);
+
+               ipu_stride = params->pfs ? params->width << 1 : params->width;
+               data = ((params->vpu_stride & VDOASL_VSLY_MASK) <<
+                                                       VDOASL_VSLY_SHIFT) |
+                       ((ipu_stride & VDOASL_ISLY_MASK) << VDOASL_ISLY_SHIFT);
+               vdoa_write_register(vdoa, VDOASL, data);
+
+               dev_dbg(vdoa->dev, "band_mode:%d, band_line:%d, base:0x%lx.\n",
+               params->band_mode, params->band_lines, vdoa->iram_paddr);
+       }
+       /*
+        * band size    = (luma_per_line + chroma_per_line) * bandLines
+        *              = width * (3/2 or 2) * bandLines
+        * double buffer mode used.
+        */
+       if (params->pfs)
+               band_size = (params->width << 1) * params->band_lines;
+       else
+               band_size = ((params->width * 3) >> 1) *
+                                               params->band_lines;
+       if (params->interlaced) {
+               total_band_size = 6 * band_size; /* 3 frames*double buffer */
+               if (iram_size < total_band_size) {
+                       dev_err(vdoa->dev, "iram_size:0x%lx is smaller than "
+                               "request:0x%x!\n", iram_size, total_band_size);
+                       return -EINVAL;
+               }
+               if (params->vfield_buf.prev_veba) {
+                       if (params->band_mode) {
+                               vdoa_write_register(vdoa, VDOAIEBA00,
+                                                       vdoa->iram_paddr);
+                               vdoa_write_register(vdoa, VDOAIEBA10,
+                                                vdoa->iram_paddr + band_size);
+                       } else
+                               vdoa_write_register(vdoa, VDOAIEBA00,
+                                                       params->ieba0);
+                       vdoa_write_register(vdoa, VDOAVEBA0,
+                                       params->vfield_buf.prev_veba);
+                       vdoa->field = VDOA_PREV_FIELD;
+               }
+               if (params->vfield_buf.cur_veba) {
+                       if (params->band_mode) {
+                               vdoa_write_register(vdoa, VDOAIEBA01,
+                                        vdoa->iram_paddr + band_size * 2);
+                               vdoa_write_register(vdoa, VDOAIEBA11,
+                                        vdoa->iram_paddr + band_size * 3);
+                       } else
+                               vdoa_write_register(vdoa, VDOAIEBA01,
+                                                       params->ieba1);
+                       vdoa_write_register(vdoa, VDOAVEBA1,
+                                       params->vfield_buf.cur_veba);
+                       vdoa->field = VDOA_CURR_FIELD;
+               }
+               if (params->vfield_buf.next_veba) {
+                       if (params->band_mode) {
+                               vdoa_write_register(vdoa, VDOAIEBA02,
+                                        vdoa->iram_paddr + band_size * 4);
+                               vdoa_write_register(vdoa, VDOAIEBA12,
+                                        vdoa->iram_paddr + band_size * 5);
+                       } else
+                               vdoa_write_register(vdoa, VDOAIEBA02,
+                                                       params->ieba2);
+                       vdoa_write_register(vdoa, VDOAVEBA2,
+                                       params->vfield_buf.next_veba);
+                       vdoa->field = VDOA_NEXT_FIELD;
+                       vdoa_read_register(vdoa, VDOAC, &data);
+                       data |= VDOAC_THREE_FRAMES;
+                       vdoa_write_register(vdoa, VDOAC, data);
+               }
+
+               if (!params->pfs)
+                       vdoa_write_register(vdoa, VDOAIUBO,
+                                params->width * params->band_lines);
+               vdoa_write_register(vdoa, VDOAVUBO,
+                                params->vfield_buf.vubo);
+               dev_dbg(vdoa->dev, "total band_size:0x%x.\n", band_size*6);
+       } else if (params->band_mode) {
+               /* used for progressive frame resize on PrP channel */
+               BUG(); /* currently not support */
+               /* progressvie frame: band mode */
+               vdoa_write_register(vdoa, VDOAIEBA00, vdoa->iram_paddr);
+               vdoa_write_register(vdoa, VDOAIEBA10,
+                                        vdoa->iram_paddr + band_size);
+               if (!params->pfs)
+                       vdoa_write_register(vdoa, VDOAIUBO,
+                                       params->width * params->band_lines);
+               dev_dbg(vdoa->dev, "total band_size:0x%x\n", band_size*2);
+       } else {
+               /* progressive frame: mem->mem, non-band mode */
+               vdoa->field = VDOA_FRAME;
+               vdoa_write_register(vdoa, VDOAVEBA0, params->vframe_buf.veba);
+               vdoa_write_register(vdoa, VDOAVUBO, params->vframe_buf.vubo);
+               vdoa_write_register(vdoa, VDOAIEBA00, params->ieba0);
+               if (!params->pfs)
+                       /* note: iubo is relative value, based on ieba0 */
+                       vdoa_write_register(vdoa, VDOAIUBO,
+                                       params->width * params->height);
+       }
+       vdoa->state = VDOA_SETUP;
+       return 0;
+}
+
+void vdoa_get_output_buf(vdoa_handle_t handle, struct vdoa_ipu_buf *buf)
+{
+       u32     data;
+       struct vdoa_info *vdoa = (struct vdoa_info *)handle;
+
+       CHECK_NULL_PTR(vdoa);
+       CHECK_STATE(VDOA_SETUP, return);
+       vdoa->state = VDOA_GET_OBUF;
+       memset(buf, 0, sizeof(*buf));
+
+       vdoa_read_register(vdoa, VDOAC, &data);
+       switch (vdoa->field) {
+       case VDOA_FRAME:
+       case VDOA_PREV_FIELD:
+               vdoa_read_register(vdoa, VDOAIEBA00, &buf->ieba0);
+               if (data & VDOAC_SYNC_BAND_MODE)
+                       vdoa_read_register(vdoa, VDOAIEBA10, &buf->ieba1);
+               break;
+       case VDOA_CURR_FIELD:
+               vdoa_read_register(vdoa, VDOAIEBA01, &buf->ieba0);
+               vdoa_read_register(vdoa, VDOAIEBA11, &buf->ieba1);
+               break;
+       case VDOA_NEXT_FIELD:
+               vdoa_read_register(vdoa, VDOAIEBA02, &buf->ieba0);
+               vdoa_read_register(vdoa, VDOAIEBA12, &buf->ieba1);
+               break;
+       default:
+               BUG();
+               break;
+       }
+       if (!(data & VDOAC_PFS_YUYV))
+               vdoa_read_register(vdoa, VDOAIUBO, &buf->iubo);
+}
+
+int vdoa_start(vdoa_handle_t handle, int timeout_ms)
+{
+       int ret;
+       struct vdoa_info *vdoa = (struct vdoa_info *)handle;
+
+       CHECK_NULL_PTR(vdoa);
+       CHECK_STATE(VDOA_GET_OBUF, return -EINVAL);
+       vdoa->state = VDOA_START;
+       init_completion(&vdoa->comp);
+       vdoa_write_register(vdoa, VDOAIST,
+                       VDOAIEIST_TRANSFER_ERR | VDOAIEIST_TRANSFER_END);
+       vdoa_write_register(vdoa, VDOAIE,
+                       VDOAIEIST_TRANSFER_ERR | VDOAIEIST_TRANSFER_END);
+
+       enable_irq(vdoa->irq);
+       vdoa_write_register(vdoa, VDOASRR, VDOASRR_START_XFER);
+       dump_registers(vdoa);
+
+       ret = wait_for_completion_timeout(&vdoa->comp,
+                       msecs_to_jiffies(timeout_ms));
+
+       return ret > 0 ? 0 : -ETIMEDOUT;
+}
+
+void vdoa_stop(vdoa_handle_t handle)
+{
+       struct vdoa_info *vdoa = (struct vdoa_info *)handle;
+
+       CHECK_NULL_PTR(vdoa);
+       CHECK_STATE(VDOA_GET | VDOA_START | VDOA_INIRQ, return);
+       vdoa->state = VDOA_STOP;
+
+       disable_irq(vdoa->irq);
+
+       vdoa_write_register(vdoa, VDOASRR, VDOASRR_SWRST);
+}
+
+void vdoa_get_handle(vdoa_handle_t *handle)
+{
+       struct vdoa_info *vdoa = g_vdoa;
+
+       CHECK_NULL_PTR(handle);
+       *handle = (vdoa_handle_t *)NULL;
+       CHECK_STATE(VDOA_INIT, return);
+       mutex_lock(&vdoa_lock);
+       clk_prepare_enable(vdoa->vdoa_clk);
+       vdoa->state = VDOA_GET;
+       vdoa->field = VDOA_NULL;
+       vdoa_write_register(vdoa, VDOASRR, VDOASRR_SWRST);
+
+       *handle = (vdoa_handle_t *)vdoa;
+}
+
+void vdoa_put_handle(vdoa_handle_t *handle)
+{
+       struct vdoa_info *vdoa = (struct vdoa_info *)(*handle);
+
+       CHECK_NULL_PTR(vdoa);
+       CHECK_STATE(VDOA_STOP, return);
+       if (vdoa != g_vdoa)
+               BUG();
+
+       clk_disable_unprepare(vdoa->vdoa_clk);
+       vdoa->state = VDOA_PUT;
+       *handle = (vdoa_handle_t *)NULL;
+       mutex_unlock(&vdoa_lock);
+}
+
+static irqreturn_t vdoa_irq_handler(int irq, void *data)
+{
+       u32 status, mask, val;
+       struct vdoa_info *vdoa = data;
+
+       CHECK_NULL_PTR(vdoa);
+       CHECK_STATE(VDOA_START, return IRQ_HANDLED);
+       vdoa->state = VDOA_INIRQ;
+       vdoa_read_register(vdoa, VDOAIST, &status);
+       vdoa_read_register(vdoa, VDOAIE, &mask);
+       val = status & mask;
+       vdoa_write_register(vdoa, VDOAIST, val);
+       if (VDOAIEIST_TRANSFER_ERR & val)
+               dev_err(vdoa->dev, "vdoa Transfer err irq!\n");
+       if (VDOAIEIST_TRANSFER_END & val)
+               dev_dbg(vdoa->dev, "vdoa Transfer end irq!\n");
+       if (0 == val) {
+               dev_err(vdoa->dev, "vdoa unknown irq!\n");
+               BUG();
+       }
+
+       complete(&vdoa->comp);
+       return IRQ_HANDLED;
+}
+
+/* IRAM Size in Kbytes, example:vdoa_iram_size=64, 64KBytes */
+static int __init vdoa_iram_size_setup(char *options)
+{
+       int ret;
+
+       ret = strict_strtoul(options, 0, &iram_size);
+       if (ret)
+               iram_size = 0;
+       else
+               iram_size *= SZ_1K;
+
+       return 1;
+}
+__setup("vdoa_iram_size=", vdoa_iram_size_setup);
+
+static const struct of_device_id imx_vdoa_dt_ids[] = {
+       { .compatible = "fsl,imx6q-vdoa", },
+       { /* sentinel */ }
+};
+
+static int vdoa_probe(struct platform_device *pdev)
+{
+       int ret;
+       struct vdoa_info *vdoa;
+       struct resource *res;
+       struct resource *res_irq;
+       struct device   *dev = &pdev->dev;
+       struct device_node *np = pdev->dev.of_node;
+
+       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+       if (!res) {
+               dev_err(dev, "can't get device resources\n");
+               return -ENOENT;
+       }
+
+       res_irq = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
+       if (!res_irq) {
+               dev_err(dev, "failed to get irq resource\n");
+               return -ENOENT;
+       }
+
+       vdoa = devm_kzalloc(dev, sizeof(struct vdoa_info), GFP_KERNEL);
+       if (!vdoa)
+               return -ENOMEM;
+       vdoa->dev = dev;
+
+       vdoa->reg_base = devm_request_and_ioremap(&pdev->dev, res);
+       if (!vdoa->reg_base)
+               return -EBUSY;
+
+       vdoa->irq = res_irq->start;
+       ret = devm_request_irq(dev, vdoa->irq, vdoa_irq_handler, 0,
+                               "vdoa", vdoa);
+       if (ret) {
+               dev_err(dev, "can't claim irq %d\n", vdoa->irq);
+               return ret;
+       }
+       disable_irq(vdoa->irq);
+
+       vdoa->vdoa_clk = devm_clk_get(dev, NULL);
+       if (IS_ERR(vdoa->vdoa_clk)) {
+               dev_err(dev, "failed to get vdoa_clk\n");
+               return PTR_ERR(vdoa->vdoa_clk);
+       }
+
+       vdoa->iram_pool = of_get_named_gen_pool(np, "iram", 0);
+       if (!vdoa->iram_pool) {
+               dev_err(&pdev->dev, "iram pool not available\n");
+               return -ENOMEM;
+       }
+
+       if ((iram_size == 0) || (iram_size > MAX_VDOA_IRAM_SIZE))
+               iram_size = VDOA_IRAM_SIZE;
+
+       vdoa->iram_base = gen_pool_alloc(vdoa->iram_pool, iram_size);
+       if (!vdoa->iram_base) {
+               dev_err(&pdev->dev, "unable to alloc iram\n");
+               return -ENOMEM;
+       }
+
+       vdoa->iram_paddr = gen_pool_virt_to_phys(vdoa->iram_pool,
+                                                vdoa->iram_base);
+
+       dev_dbg(dev, "iram_base:0x%lx,iram_paddr:0x%lx,size:0x%lx\n",
+                vdoa->iram_base, vdoa->iram_paddr, iram_size);
+
+       vdoa->state = VDOA_INIT;
+       dev_set_drvdata(dev, vdoa);
+       g_vdoa = vdoa;
+       dev_info(dev, "i.MX Video Data Order Adapter(VDOA) driver probed\n");
+       return 0;
+}
+
+static int vdoa_remove(struct platform_device *pdev)
+{
+       struct vdoa_info *vdoa = dev_get_drvdata(&pdev->dev);
+
+       gen_pool_free(vdoa->iram_pool, vdoa->iram_base, iram_size);
+       kfree(vdoa);
+       dev_set_drvdata(&pdev->dev, NULL);
+
+       return 0;
+}
+
+static struct platform_driver vdoa_driver = {
+       .driver = {
+               .name = "mxc_vdoa",
+               .of_match_table = imx_vdoa_dt_ids,
+       },
+       .probe = vdoa_probe,
+       .remove = vdoa_remove,
+};
+
+static int __init vdoa_init(void)
+{
+       int err;
+
+       err = platform_driver_register(&vdoa_driver);
+       if (err) {
+               pr_err("vdoa_driver register failed\n");
+               return -ENODEV;
+       }
+       return 0;
+}
+
+static void __exit vdoa_cleanup(void)
+{
+       platform_driver_unregister(&vdoa_driver);
+}
+
+module_init(vdoa_init);
+module_exit(vdoa_cleanup);
+
+MODULE_AUTHOR("Freescale Semiconductor, Inc.");
+MODULE_DESCRIPTION("i.MX Video Data Order Adapter(VDOA) driver");
+MODULE_LICENSE("GPL");
diff --git a/drivers/mxc/ipu3/vdoa.h b/drivers/mxc/ipu3/vdoa.h
new file mode 100644 (file)
index 0000000..b9482ff
--- /dev/null
@@ -0,0 +1,69 @@
+/*
+ * Copyright (C) 2012-2013 Freescale Semiconductor, Inc. All Rights Reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#ifndef __VDOA_H__
+#define __VDOA_H__
+
+#define VDOA_PFS_YUYV (1)
+#define VDOA_PFS_NV12 (0)
+
+
+struct vfield_buf {
+       u32     prev_veba;
+       u32     cur_veba;
+       u32     next_veba;
+       u32     vubo;
+};
+
+struct vframe_buf {
+       u32     veba;
+       u32     vubo;
+};
+
+struct vdoa_params {
+       u32     width;
+       u32     height;
+       int     vpu_stride;
+       int     interlaced;
+       int     scan_order;
+       int     ipu_num;
+       int     band_lines;
+       int     band_mode;
+       int     pfs;
+       u32     ieba0;
+       u32     ieba1;
+       u32     ieba2;
+       struct  vframe_buf vframe_buf;
+       struct  vfield_buf vfield_buf;
+};
+struct vdoa_ipu_buf {
+       u32     ieba0;
+       u32     ieba1;
+       u32     iubo;
+};
+
+struct vdoa_info;
+typedef void *vdoa_handle_t;
+
+int vdoa_setup(vdoa_handle_t handle, struct vdoa_params *params);
+void vdoa_get_output_buf(vdoa_handle_t handle, struct vdoa_ipu_buf *buf);
+int  vdoa_start(vdoa_handle_t handle, int timeout_ms);
+void vdoa_stop(vdoa_handle_t handle);
+void vdoa_get_handle(vdoa_handle_t *handle);
+void vdoa_put_handle(vdoa_handle_t *handle);
+#endif
diff --git a/drivers/mxc/vpu/Kconfig b/drivers/mxc/vpu/Kconfig
new file mode 100644 (file)
index 0000000..5202096
--- /dev/null
@@ -0,0 +1,31 @@
+#
+# Codec configuration
+#
+
+menu "MXC VPU(Video Processing Unit) support"
+
+config MXC_VPU
+         tristate "Support for MXC VPU(Video Processing Unit)"
+         depends on (SOC_IMX27 || SOC_IMX5 || SOC_IMX6Q)
+         default y
+       ---help---
+         The VPU codec device provides codec function for H.264/MPEG4/H.263,
+         as well as MPEG2/VC-1/DivX on some platforms.
+
+config MXC_VPU_DEBUG
+       bool "MXC VPU debugging"
+       depends on MXC_VPU != n
+       help
+         This is an option for the developers; most people should
+         say N here.  This enables MXC VPU driver debugging.
+
+config MX6_VPU_352M
+       bool "MX6 VPU 352M"
+       depends on MXC_VPU
+       default n
+       help
+        Increase VPU frequncy to 352M, the config will disable bus frequency
+        adjust dynamic, and CPU lowest setpoint will be 352Mhz.
+        This config is used for special VPU use case.
+
+endmenu
diff --git a/drivers/mxc/vpu/Makefile b/drivers/mxc/vpu/Makefile
new file mode 100644 (file)
index 0000000..1a821f4
--- /dev/null
@@ -0,0 +1,9 @@
+#
+# Makefile for the VPU drivers.
+#
+
+obj-$(CONFIG_MXC_VPU)                  += mxc_vpu.o
+
+ifeq ($(CONFIG_MXC_VPU_DEBUG),y)
+EXTRA_CFLAGS += -DDEBUG
+endif
diff --git a/drivers/mxc/vpu/mxc_vpu.c b/drivers/mxc/vpu/mxc_vpu.c
new file mode 100644 (file)
index 0000000..564682c
--- /dev/null
@@ -0,0 +1,1116 @@
+/*
+ * Copyright 2006-2013 Freescale Semiconductor, Inc. All Rights Reserved.
+ */
+
+/*
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/*!
+ * @file mxc_vpu.c
+ *
+ * @brief VPU system initialization and file operation implementation
+ *
+ * @ingroup VPU
+ */
+
+#include <linux/kernel.h>
+#include <linux/mm.h>
+#include <linux/interrupt.h>
+#include <linux/ioport.h>
+#include <linux/stat.h>
+#include <linux/platform_device.h>
+#include <linux/kdev_t.h>
+#include <linux/dma-mapping.h>
+#include <linux/wait.h>
+#include <linux/list.h>
+#include <linux/clk.h>
+#include <linux/delay.h>
+#include <linux/fsl_devices.h>
+#include <linux/uaccess.h>
+#include <linux/io.h>
+#include <linux/slab.h>
+#include <linux/workqueue.h>
+#include <linux/sched.h>
+#include <linux/vmalloc.h>
+#include <linux/regulator/consumer.h>
+#include <linux/page-flags.h>
+#include <linux/mm_types.h>
+#include <linux/types.h>
+#include <linux/memblock.h>
+#include <linux/memory.h>
+#include <linux/version.h>
+#include <linux/module.h>
+#include <linux/pm_runtime.h>
+#include <linux/sizes.h>
+#include <linux/genalloc.h>
+#include <linux/of.h>
+#include <linux/of_device.h>
+#include <linux/reset.h>
+#include <linux/clk.h>
+#include <linux/mxc_vpu.h>
+
+/* Define one new pgprot which combined uncached and XN(never executable) */
+#define pgprot_noncachedxn(prot) \
+       __pgprot_modify(prot, L_PTE_MT_MASK, L_PTE_MT_UNCACHED | L_PTE_XN)
+
+struct vpu_priv {
+       struct fasync_struct *async_queue;
+       struct work_struct work;
+       struct workqueue_struct *workqueue;
+       struct mutex lock;
+       const struct mxc_vpu_soc_data *soc_data;
+       int clk_enabled;
+       struct list_head users;
+};
+
+struct vpu_user_data {
+       struct vpu_priv *vpu_data;
+       struct list_head list;
+       int clk_enable_cnt;
+};
+
+/* To track the allocated memory buffer */
+struct memalloc_record {
+       struct list_head list;
+       struct vpu_mem_desc mem;
+};
+
+struct iram_setting {
+       u32 start;
+       u32 end;
+};
+
+struct mxc_vpu_soc_data {
+       unsigned vpu_pwr_mgmnt:1,
+               regulator_required:1,
+               quirk_subblk_en:1,
+               is_mx51:1,
+               is_mx53:1,
+               is_mx6dl:1,
+               is_mx6q:1,
+               has_jpu:1;
+};
+
+static struct gen_pool *iram_pool;
+static u32 iram_base;
+
+static LIST_HEAD(mem_list);
+
+static int vpu_major;
+static struct class *vpu_class;
+static struct vpu_priv vpu_data;
+static u8 open_count;
+static struct clk *vpu_clk;
+static struct vpu_mem_desc bitwork_mem;
+static struct vpu_mem_desc pic_para_mem;
+static struct vpu_mem_desc user_data_mem;
+static struct vpu_mem_desc share_mem;
+static struct vpu_mem_desc vshare_mem;
+
+static void __iomem *vpu_base;
+static int vpu_ipi_irq;
+static u32 phy_vpu_base_addr;
+
+static struct device *vpu_dev;
+
+/* IRAM setting */
+static struct iram_setting iram;
+
+/* implement the blocking ioctl */
+static int irq_status;
+static int codec_done;
+static wait_queue_head_t vpu_queue;
+
+static int vpu_jpu_irq;
+
+#ifdef CONFIG_PM
+static unsigned int regBk[64];
+static unsigned int pc_before_suspend;
+#endif
+static struct regulator *vpu_regulator;
+
+#define        READ_REG(x)             readl_relaxed(vpu_base + (x))
+#define        WRITE_REG(val, x)       writel_relaxed(val, vpu_base + (x))
+
+static int vpu_clk_enable(struct vpu_priv *vpu_data)
+{
+       int ret = 0;
+
+       if (vpu_data->clk_enabled++ == 0)
+               ret = clk_prepare_enable(vpu_clk);
+
+       if (WARN_ON(vpu_data->clk_enabled <= 0))
+               return -EINVAL;
+
+       return ret;
+}
+
+static int vpu_clk_disable(struct vpu_priv *vpu_data)
+{
+       if (WARN_ON(vpu_data->clk_enabled == 0))
+               return -EINVAL;
+
+       if (--vpu_data->clk_enabled == 0)
+               clk_disable_unprepare(vpu_clk);
+       return 0;
+}
+
+static inline int vpu_reset(void)
+{
+       return device_reset(vpu_dev);
+}
+
+static void vpu_power_up(void)
+{
+       int ret;
+
+       if (IS_ERR(vpu_regulator))
+               return;
+
+       ret = regulator_enable(vpu_regulator);
+       if (ret)
+               dev_err(vpu_dev, "failed to power up vpu: %d\n", ret);
+}
+
+static void vpu_power_down(void)
+{
+       int ret;
+
+       if (IS_ERR(vpu_regulator))
+               return;
+
+       ret = regulator_disable(vpu_regulator);
+       if (ret)
+               dev_err(vpu_dev, "failed to power down vpu: %d\n", ret);
+}
+
+/*!
+ * Private function to alloc dma buffer
+ * @return status  0 success.
+ */
+static int vpu_alloc_dma_buffer(struct vpu_mem_desc *mem)
+{
+       mem->cpu_addr = dma_alloc_coherent(vpu_dev, PAGE_ALIGN(mem->size),
+                                       &mem->phy_addr,
+                                       GFP_DMA | GFP_KERNEL);
+       dev_dbg(vpu_dev, "[ALLOC] mem alloc cpu_addr = %p\n", mem->cpu_addr);
+       if (mem->cpu_addr == NULL) {
+               dev_err(vpu_dev, "Physical memory allocation error!\n");
+               return -ENOMEM;
+       }
+       return 0;
+}
+
+/*!
+ * Private function to free dma buffer
+ */
+static void vpu_free_dma_buffer(struct vpu_mem_desc *mem)
+{
+       if (mem->cpu_addr != NULL)
+               dma_free_coherent(vpu_dev, PAGE_ALIGN(mem->size),
+                               mem->cpu_addr, mem->phy_addr);
+}
+
+/*!
+ * Private function to free buffers
+ * @return status  0 success.
+ */
+static int vpu_free_buffers(void)
+{
+       struct memalloc_record *rec, *n;
+       struct vpu_mem_desc mem;
+
+       list_for_each_entry_safe(rec, n, &mem_list, list) {
+               mem = rec->mem;
+               if (mem.cpu_addr != 0) {
+                       vpu_free_dma_buffer(&mem);
+                       dev_dbg(vpu_dev, "[FREE] freed paddr=0x%08X\n", mem.phy_addr);
+                       /* delete from list */
+                       list_del(&rec->list);
+                       kfree(rec);
+               }
+       }
+
+       return 0;
+}
+
+static inline void vpu_worker_callback(struct work_struct *w)
+{
+       struct vpu_priv *dev = container_of(w, struct vpu_priv, work);
+
+       if (dev->async_queue)
+               kill_fasync(&dev->async_queue, SIGIO, POLL_IN);
+
+       irq_status = 1;
+       /*
+        * Clock is gated on when dec/enc started, gate it off when
+        * codec is done.
+        */
+       if (codec_done)
+               codec_done = 0;
+
+       wake_up_interruptible(&vpu_queue);
+}
+
+/*!
+ * @brief vpu interrupt handler
+ */
+static irqreturn_t vpu_ipi_irq_handler(int irq, void *dev_id)
+{
+       struct vpu_priv *dev = dev_id;
+       unsigned long reg;
+
+       reg = READ_REG(BIT_INT_REASON);
+       if (reg & 0x8)
+               codec_done = 1;
+       WRITE_REG(0x1, BIT_INT_CLEAR);
+
+       queue_work(dev->workqueue, &dev->work);
+
+       return IRQ_HANDLED;
+}
+
+/*!
+ * @brief vpu jpu interrupt handler
+ */
+static irqreturn_t vpu_jpu_irq_handler(int irq, void *dev_id)
+{
+       struct vpu_priv *dev = dev_id;
+       unsigned long reg;
+
+       reg = READ_REG(MJPEG_PIC_STATUS_REG);
+       if (reg & 0x3)
+               codec_done = 1;
+
+       queue_work(dev->workqueue, &dev->work);
+
+       return IRQ_HANDLED;
+}
+
+/*!
+ * @brief open function for vpu file operation
+ *
+ * @return  0 on success or negative error code on error
+ */
+static int vpu_open(struct inode *inode, struct file *filp)
+{
+       struct vpu_user_data *user_data = devm_kzalloc(vpu_dev,
+                                               sizeof(*user_data),
+                                               GFP_KERNEL);
+       if (user_data == NULL)
+               return -ENOMEM;
+
+       user_data->vpu_data = &vpu_data;
+
+       INIT_LIST_HEAD(&user_data->list);
+       list_add(&user_data->list, &vpu_data.users);
+
+       mutex_lock(&vpu_data.lock);
+
+       if (open_count++ == 0) {
+               pm_runtime_get_sync(vpu_dev);
+               vpu_power_up();
+       }
+
+       filp->private_data = user_data;
+       mutex_unlock(&vpu_data.lock);
+       return 0;
+}
+
+/*!
+ * @brief IO ctrl function for vpu file operation
+ * @param cmd IO ctrl command
+ * @return  0 on success or negative error code on error
+ */
+static long vpu_ioctl(struct file *filp, u_int cmd,
+                    u_long arg)
+{
+       int ret = -EINVAL;
+       struct vpu_user_data *user_data = filp->private_data;
+       struct vpu_priv *vpu_data = user_data->vpu_data;
+
+       switch (cmd) {
+       case VPU_IOC_PHYMEM_ALLOC:
+       {
+               struct memalloc_record *rec;
+
+               rec = kzalloc(sizeof(*rec), GFP_KERNEL);
+               if (!rec)
+                       return -ENOMEM;
+
+               if (copy_from_user(&rec->mem,
+                                       (struct vpu_mem_desc *)arg,
+                                       sizeof(struct vpu_mem_desc))) {
+                       kfree(rec);
+                       return -EFAULT;
+               }
+
+               dev_dbg(vpu_dev, "[ALLOC] mem alloc size = 0x%x\n",
+                       rec->mem.size);
+
+               ret = vpu_alloc_dma_buffer(&rec->mem);
+               if (ret) {
+                       kfree(rec);
+                       return ret;
+               }
+               if (copy_to_user((void __user *)arg, &rec->mem,
+                                       sizeof(struct vpu_mem_desc))) {
+                       kfree(rec);
+                       return -EFAULT;
+               }
+
+               mutex_lock(&vpu_data->lock);
+               list_add(&rec->list, &mem_list);
+               mutex_unlock(&vpu_data->lock);
+
+               break;
+       }
+       case VPU_IOC_PHYMEM_FREE:
+       {
+               struct memalloc_record *rec, *n;
+               struct vpu_mem_desc vpu_mem;
+
+               if (copy_from_user(&vpu_mem,
+                                       (struct vpu_mem_desc *)arg,
+                                       sizeof(struct vpu_mem_desc)))
+                       return -EFAULT;
+
+               dev_dbg(vpu_dev, "[FREE] mem freed cpu_addr = %p\n",
+                       vpu_mem.cpu_addr);
+               if (vpu_mem.cpu_addr != NULL)
+                       vpu_free_dma_buffer(&vpu_mem);
+
+               mutex_lock(&vpu_data->lock);
+               list_for_each_entry_safe(rec, n, &mem_list, list) {
+                       if (rec->mem.cpu_addr == vpu_mem.cpu_addr) {
+                               list_del(&rec->list);
+                               break;
+                       }
+               }
+               kfree(rec);
+               mutex_unlock(&vpu_data->lock);
+
+               break;
+       }
+       case VPU_IOC_WAIT4INT:
+       {
+               u_long timeout = arg;
+
+               ret = wait_event_interruptible_timeout(vpu_queue,
+                                               irq_status != 0,
+                                               msecs_to_jiffies(timeout));
+               if (ret == 0) {
+                       dev_warn(vpu_dev, "VPU blocking: timeout.\n");
+                       ret = -ETIMEDOUT;
+               } else if (signal_pending(current)) {
+                       dev_warn(vpu_dev, "VPU interrupt received.\n");
+                       ret = -ERESTARTSYS;
+               } else {
+                       irq_status = 0;
+               }
+               break;
+       }
+       case VPU_IOC_IRAM_SETTING:
+               ret = copy_to_user((void __user *)arg, &iram,
+                               sizeof(struct iram_setting));
+               if (ret)
+                       ret = -EFAULT;
+
+               break;
+       case VPU_IOC_CLKGATE_SETTING:
+       {
+               u32 clkgate_en;
+
+               if (get_user(clkgate_en, (u32 __user *)arg))
+                       return -EFAULT;
+
+               mutex_lock(&vpu_data->lock);
+               if (clkgate_en) {
+                       ret = vpu_clk_enable(vpu_data);
+                       if (ret == 0)
+                               user_data->clk_enable_cnt++;
+               } else {
+                       if (user_data->clk_enable_cnt == 0) {
+                               ret = -EINVAL;
+                       } else {
+                               if (--user_data->clk_enable_cnt == 0)
+                                       vpu_clk_disable(vpu_data);
+                               ret = 0;
+                       }
+               }
+               mutex_unlock(&vpu_data->lock);
+               break;
+       }
+       case VPU_IOC_GET_SHARE_MEM:
+               mutex_lock(&vpu_data->lock);
+               if (share_mem.cpu_addr == NULL) {
+                       if (copy_from_user(&share_mem,
+                                               (struct vpu_mem_desc *)arg,
+                                               sizeof(struct vpu_mem_desc))) {
+                               mutex_unlock(&vpu_data->lock);
+                               return -EFAULT;
+                       }
+                       ret = vpu_alloc_dma_buffer(&share_mem);
+                       if (ret) {
+                               mutex_unlock(&vpu_data->lock);
+                               return ret;
+                       }
+               }
+               if (copy_to_user((void __user *)arg,
+                                       &share_mem,
+                                       sizeof(struct vpu_mem_desc)))
+                       ret = -EFAULT;
+               else
+                       ret = 0;
+               mutex_unlock(&vpu_data->lock);
+               break;
+       case VPU_IOC_REQ_VSHARE_MEM:
+               mutex_lock(&vpu_data->lock);
+               if (vshare_mem.cpu_addr == NULL) {
+                       if (copy_from_user(&vshare_mem,
+                                               (struct vpu_mem_desc *)arg,
+                                               sizeof(struct
+                                                       vpu_mem_desc))) {
+                               mutex_unlock(&vpu_data->lock);
+                               return -EFAULT;
+                       }
+                       vshare_mem.cpu_addr = vmalloc_user(vshare_mem.size);
+                       if (vshare_mem.cpu_addr == NULL) {
+                               mutex_unlock(&vpu_data->lock);
+                               return -ENOMEM;
+                       }
+               }
+               if (copy_to_user((void __user *)arg, &vshare_mem,
+                                       sizeof(struct vpu_mem_desc)))
+                       ret = -EFAULT;
+               else
+                       ret = 0;
+               mutex_unlock(&vpu_data->lock);
+               break;
+       case VPU_IOC_GET_WORK_ADDR:
+               if (bitwork_mem.cpu_addr == 0) {
+                       if (copy_from_user(&bitwork_mem,
+                                               (struct vpu_mem_desc *)arg,
+                                               sizeof(struct vpu_mem_desc)))
+                               return -EFAULT;
+
+                       ret = vpu_alloc_dma_buffer(&bitwork_mem);
+                       if (ret)
+                               return ret;
+               }
+               if (copy_to_user((void __user *)arg,
+                                       &bitwork_mem,
+                                       sizeof(struct
+                                               vpu_mem_desc)))
+                       ret = -EFAULT;
+               else
+                       ret = 0;
+               break;
+       /*
+        * The following two ioctls are used when user allocates a working buffer
+        * and registers it to vpu driver.
+        */
+       case VPU_IOC_QUERY_BITWORK_MEM:
+               if (copy_to_user((void __user *)arg,
+                                       &bitwork_mem,
+                                       sizeof(struct vpu_mem_desc)))
+                       ret = -EFAULT;
+               else
+                       ret = 0;
+               break;
+       case VPU_IOC_SET_BITWORK_MEM:
+               if (copy_from_user(&bitwork_mem,
+                                       (struct vpu_mem_desc *)arg,
+                                       sizeof(struct vpu_mem_desc)))
+                       ret = -EFAULT;
+               else
+                       ret = 0;
+               break;
+       case VPU_IOC_SYS_SW_RESET:
+               ret = vpu_reset();
+               break;
+       case VPU_IOC_REG_DUMP:
+       case VPU_IOC_PHYMEM_DUMP:
+               ret = 0;
+               break;
+       case VPU_IOC_PHYMEM_CHECK:
+       {
+               struct vpu_mem_desc check_memory;
+
+               ret = copy_from_user(&check_memory,
+                               (void __user *)arg,
+                               sizeof(struct vpu_mem_desc));
+               if (ret != 0) {
+                       dev_err(vpu_dev, "copy from user failure:%d\n", ret);
+                       ret = -EFAULT;
+                       break;
+               }
+               check_memory.size = 1;
+               if (copy_to_user((void __user *)arg, &check_memory,
+                                       sizeof(struct vpu_mem_desc)))
+                       ret = -EFAULT;
+               else
+                       ret = 0;
+               break;
+       }
+       case VPU_IOC_LOCK_DEV:
+       {
+               u32 lock_en;
+
+               if (get_user(lock_en, (u32 __user *)arg))
+                       return -EFAULT;
+
+               if (lock_en)
+                       mutex_lock(&vpu_data->lock);
+               else
+                       mutex_unlock(&vpu_data->lock);
+               ret = 0;
+               break;
+       }
+       default:
+               dev_err(vpu_dev, "No such IOCTL, cmd is %d\n", cmd);
+       }
+       return ret;
+}
+
+/*!
+ * @brief Release function for vpu file operation
+ * @return  0 on success or negative error code on error
+ */
+static int vpu_release(struct inode *inode, struct file *filp)
+{
+       unsigned long timeout;
+       struct vpu_user_data *user_data = filp->private_data;
+       struct vpu_priv *vpu_data = user_data->vpu_data;
+
+       mutex_lock(&vpu_data->lock);
+
+       if (open_count > 0 && !--open_count) {
+               /* Wait for vpu go to idle state */
+               vpu_clk_enable(vpu_data);
+               if (READ_REG(BIT_CUR_PC)) {
+
+                       timeout = jiffies + HZ;
+                       while (READ_REG(BIT_BUSY_FLAG)) {
+                               msleep(1);
+                               if (time_after(jiffies, timeout)) {
+                                       dev_warn(vpu_dev, "VPU timeout during release\n");
+                                       break;
+                               }
+                       }
+
+                       /* Clean up interrupt */
+                       cancel_work_sync(&vpu_data->work);
+                       flush_workqueue(vpu_data->workqueue);
+                       irq_status = 0;
+
+                       if (READ_REG(BIT_BUSY_FLAG)) {
+                               if (vpu_data->soc_data->is_mx51 ||
+                                       vpu_data->soc_data->is_mx53) {
+                                       dev_err(vpu_dev,
+                                               "fatal error: can't gate/power off when VPU is busy\n");
+                                       vpu_clk_disable(vpu_data);
+                                       mutex_unlock(&vpu_data->lock);
+                                       return -EBUSY;
+                               }
+                               if (vpu_data->soc_data->is_mx6dl ||
+                                       vpu_data->soc_data->is_mx6q) {
+                                       WRITE_REG(0x11, 0x10F0);
+                                       timeout = jiffies + HZ;
+                                       while (READ_REG(0x10F4) != 0x77) {
+                                               msleep(1);
+                                               if (time_after(jiffies, timeout))
+                                                       break;
+                                       }
+
+                                       if (READ_REG(0x10F4) != 0x77) {
+                                               dev_err(vpu_dev,
+                                                       "fatal error: can't gate/power off when VPU is busy\n");
+                                               WRITE_REG(0x0, 0x10F0);
+                                               vpu_clk_disable(vpu_data);
+                                               mutex_unlock(&vpu_data->lock);
+                                               return -EBUSY;
+                                       }
+                                       vpu_reset();
+                               }
+                       }
+               }
+
+               vpu_free_buffers();
+
+               /* Free shared memory when vpu device is idle */
+               vpu_free_dma_buffer(&share_mem);
+               share_mem.cpu_addr = 0;
+               vfree(vshare_mem.cpu_addr);
+               vshare_mem.cpu_addr = 0;
+
+               if (user_data->clk_enable_cnt)
+                       vpu_clk_disable(vpu_data);
+
+               vpu_clk_disable(vpu_data);
+               vpu_power_down();
+               pm_runtime_put_sync_suspend(vpu_dev);
+               devm_kfree(vpu_dev, user_data);
+       }
+       mutex_unlock(&vpu_data->lock);
+
+       return 0;
+}
+
+/*!
+ * @brief fasync function for vpu file operation
+ * @return  0 on success or negative error code on error
+ */
+static int vpu_fasync(int fd, struct file *filp, int mode)
+{
+       struct vpu_user_data *user_data = filp->private_data;
+       struct vpu_priv *vpu_data = user_data->vpu_data;
+       return fasync_helper(fd, filp, mode, &vpu_data->async_queue);
+}
+
+/*!
+ * @brief memory map function of harware registers for vpu file operation
+ * @return  0 on success or negative error code on error
+ */
+static int vpu_map_hwregs(struct file *fp, struct vm_area_struct *vm)
+{
+       unsigned long pfn;
+
+       vm->vm_flags |= VM_IO;
+       /*
+        * Since vpu registers have been mapped with ioremap() at probe
+        * which L_PTE_XN is 1, and the same physical address must be
+        * mapped multiple times with same type, so set L_PTE_XN to 1 here.
+        * Otherwise, there may be unexpected result in video codec.
+        */
+       vm->vm_page_prot = pgprot_noncachedxn(vm->vm_page_prot);
+       pfn = phy_vpu_base_addr >> PAGE_SHIFT;
+       dev_dbg(vpu_dev, "size=0x%lx, page no.=0x%lx\n",
+                vm->vm_end - vm->vm_start, pfn);
+       return remap_pfn_range(vm, vm->vm_start, pfn,
+                       vm->vm_end - vm->vm_start,
+                       vm->vm_page_prot) ? -EAGAIN : 0;
+}
+
+/*!
+ * @brief memory map function of memory for vpu file operation
+ * @return  0 on success or negative error code on error
+ */
+static int vpu_map_dma_mem(struct file *fp, struct vm_area_struct *vm)
+{
+       size_t request_size = vm->vm_end - vm->vm_start;
+
+       dev_dbg(vpu_dev, "start=0x%08lx, pgoff=0x%08lx, size=%zx\n",
+               vm->vm_start, vm->vm_pgoff, request_size);
+
+       vm->vm_flags |= VM_IO;
+       vm->vm_page_prot = pgprot_writecombine(vm->vm_page_prot);
+
+       return remap_pfn_range(vm, vm->vm_start, vm->vm_pgoff,
+                              request_size, vm->vm_page_prot) ? -EAGAIN : 0;
+}
+
+/* !
+ * @brief memory map function of vmalloced share memory
+ * @return  0 on success or negative error code on error
+ */
+static int vpu_map_vshare_mem(struct file *fp, struct vm_area_struct *vm)
+{
+       int ret;
+
+       ret = remap_vmalloc_range(vm, (void *)(vm->vm_pgoff << PAGE_SHIFT), 0);
+       vm->vm_flags |= VM_IO;
+       return ret;
+}
+/*!
+ * @brief memory map interface for vpu file operation
+ * @return  0 on success or negative error code on error
+ */
+static int vpu_mmap(struct file *fp, struct vm_area_struct *vm)
+{
+       unsigned long offset;
+
+       offset = (unsigned long)vshare_mem.cpu_addr >> PAGE_SHIFT;
+
+       if (vm->vm_pgoff && (vm->vm_pgoff == offset))
+               return vpu_map_vshare_mem(fp, vm);
+       else if (vm->vm_pgoff)
+               return vpu_map_dma_mem(fp, vm);
+       else
+               return vpu_map_hwregs(fp, vm);
+}
+
+static const struct file_operations vpu_fops = {
+       .owner = THIS_MODULE,
+       .open = vpu_open,
+       .unlocked_ioctl = vpu_ioctl,
+       .release = vpu_release,
+       .fasync = vpu_fasync,
+       .mmap = vpu_mmap,
+};
+
+static const struct mxc_vpu_soc_data imx6dl_vpu_data = {
+       .regulator_required = 1,
+       .vpu_pwr_mgmnt = 1,
+       .has_jpu = 1,
+};
+
+static const struct mxc_vpu_soc_data imx6q_vpu_data = {
+       .quirk_subblk_en = 1,
+       .regulator_required = 1,
+       .vpu_pwr_mgmnt = 1,
+       .has_jpu = 1,
+};
+
+static const struct mxc_vpu_soc_data imx53_vpu_data = {
+};
+
+static const struct mxc_vpu_soc_data imx51_vpu_data = {
+       .vpu_pwr_mgmnt = 1,
+};
+
+static const struct of_device_id vpu_of_match[] = {
+       { .compatible = "fsl,imx6dl-vpu", .data = &imx6dl_vpu_data, },
+       { .compatible = "fsl,imx6q-vpu", .data = &imx6q_vpu_data, },
+       { .compatible = "fsl,imx53-vpu", .data = &imx53_vpu_data, },
+       { .compatible = "fsl,imx51-vpu", .data = &imx51_vpu_data, },
+       { /* sentinel */ }
+};
+MODULE_DEVICE_TABLE(of, vpu_of_match);
+
+/*!
+ * This function is called by the driver framework to initialize the vpu device.
+ * @param   dev The device structure for the vpu passed in by the framework.
+ * @return   0 on success or negative error code on error
+ */
+static int vpu_dev_probe(struct platform_device *pdev)
+{
+       int err = 0;
+       struct device *temp_class;
+       struct resource *res;
+       unsigned long addr = 0;
+       struct device_node *np = pdev->dev.of_node;
+       u32 iramsize;
+       struct vpu_priv *drv_data;
+       const struct of_device_id *of_id = of_match_device(vpu_of_match,
+                                                       &pdev->dev);
+       const struct mxc_vpu_soc_data *soc_data = of_id->data;
+
+       drv_data = devm_kzalloc(&pdev->dev, sizeof(*drv_data), GFP_KERNEL);
+       if (drv_data == NULL)
+               return -ENOMEM;
+
+       drv_data->soc_data = soc_data;
+       INIT_LIST_HEAD(&drv_data->users);
+
+       init_waitqueue_head(&vpu_queue);
+
+       err = of_property_read_u32(np, "iramsize", &iramsize);
+       if (!err && iramsize) {
+               iram_pool = of_get_named_gen_pool(np, "iram", 0);
+               if (!iram_pool) {
+                       dev_err(&pdev->dev, "iram pool not available\n");
+                       return -ENOMEM;
+               }
+
+               iram_base = gen_pool_alloc(iram_pool, iramsize);
+               if (!iram_base) {
+                       dev_err(&pdev->dev, "unable to alloc iram\n");
+                       return -ENOMEM;
+               }
+
+               addr = gen_pool_virt_to_phys(iram_pool, iram_base);
+       }
+
+       if (addr == 0)
+               iram.start = iram.end = 0;
+       else {
+               iram.start = addr;
+               iram.end = addr + iramsize - 1;
+       }
+
+       vpu_dev = &pdev->dev;
+
+       res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "vpu_regs");
+       if (!res) {
+               dev_err(vpu_dev, "vpu: unable to get vpu base addr\n");
+               return -ENODEV;
+       }
+       phy_vpu_base_addr = res->start;
+       vpu_base = devm_ioremap_resource(&pdev->dev, res);
+       if (IS_ERR(vpu_base))
+               return PTR_ERR(vpu_base);
+
+       vpu_major = register_chrdev(vpu_major, "mxc_vpu", &vpu_fops);
+       if (vpu_major < 0) {
+               dev_err(vpu_dev, "vpu: unable to get a major for VPU\n");
+               return vpu_major;
+       }
+
+       vpu_class = class_create(THIS_MODULE, "mxc_vpu");
+       if (IS_ERR(vpu_class)) {
+               err = PTR_ERR(vpu_class);
+               goto err_out_chrdev;
+       }
+
+       temp_class = device_create(vpu_class, NULL, MKDEV(vpu_major, 0),
+                                  NULL, "mxc_vpu");
+       if (IS_ERR(temp_class)) {
+               err = PTR_ERR(temp_class);
+               goto err_out_class;
+       }
+
+       vpu_clk = clk_get(&pdev->dev, "vpu_clk");
+       if (IS_ERR(vpu_clk)) {
+               err = PTR_ERR(vpu_clk);
+               goto err_out_class;
+       }
+
+       vpu_ipi_irq = platform_get_irq_byname(pdev, "vpu_ipi_irq");
+       if (vpu_ipi_irq < 0) {
+               dev_err(vpu_dev, "vpu: unable to get vpu interrupt\n");
+               err = vpu_ipi_irq;
+               goto err_out_class;
+       }
+       err = request_irq(vpu_ipi_irq, vpu_ipi_irq_handler, 0, "VPU_CODEC_IRQ",
+                         &vpu_data);
+       if (err)
+               goto err_out_class;
+
+       vpu_regulator = devm_regulator_get(vpu_dev, "pu");
+       if (IS_ERR(vpu_regulator)) {
+               if (drv_data->soc_data->regulator_required) {
+                       dev_err(vpu_dev, "failed to get vpu power\n");
+                       goto err_out_class;
+               } else {
+                       /* regulator_get will return error on MX5x,
+                        * just igore it everywhere
+                        */
+                       dev_warn(vpu_dev, "failed to get vpu power\n");
+               }
+       }
+
+       platform_set_drvdata(pdev, drv_data);
+
+       if (drv_data->soc_data->has_jpu) {
+               vpu_jpu_irq = platform_get_irq_byname(pdev, "vpu_jpu_irq");
+               if (vpu_jpu_irq < 0) {
+                       dev_err(vpu_dev, "vpu: unable to get vpu jpu interrupt\n");
+                       err = vpu_jpu_irq;
+                       goto err_out_class;
+               }
+               err = request_irq(vpu_jpu_irq, vpu_jpu_irq_handler, IRQF_TRIGGER_RISING,
+                               "VPU_JPG_IRQ", &vpu_data);
+               if (err)
+                       goto err_out_class;
+       }
+
+       pm_runtime_enable(&pdev->dev);
+
+       vpu_data.workqueue = create_workqueue("vpu_wq");
+       INIT_WORK(&vpu_data.work, vpu_worker_callback);
+       mutex_init(&vpu_data.lock);
+       dev_info(vpu_dev, "VPU initialized\n");
+       return 0;
+
+err_out_class:
+       device_destroy(vpu_class, MKDEV(vpu_major, 0));
+       class_destroy(vpu_class);
+err_out_chrdev:
+       unregister_chrdev(vpu_major, "mxc_vpu");
+       return err;
+}
+
+static int vpu_dev_remove(struct platform_device *pdev)
+{
+       struct vpu_priv *vpu_data = platform_get_drvdata(pdev);
+
+       pm_runtime_disable(&pdev->dev);
+
+       free_irq(vpu_ipi_irq, &vpu_data);
+#ifdef MXC_VPU_HAS_JPU
+       free_irq(vpu_jpu_irq, &vpu_data);
+#endif
+       cancel_work_sync(&vpu_data->work);
+       flush_workqueue(vpu_data->workqueue);
+       destroy_workqueue(vpu_data->workqueue);
+
+       iounmap(vpu_base);
+       if (iram.start)
+               gen_pool_free(iram_pool, iram_base, iram.end-iram.start+1);
+
+       if (vpu_major > 0) {
+               device_destroy(vpu_class, MKDEV(vpu_major, 0));
+               class_destroy(vpu_class);
+               unregister_chrdev(vpu_major, "mxc_vpu");
+               vpu_major = 0;
+       }
+
+       vpu_free_dma_buffer(&bitwork_mem);
+       vpu_free_dma_buffer(&pic_para_mem);
+       vpu_free_dma_buffer(&user_data_mem);
+
+       /* reset VPU state */
+       vpu_power_up();
+       vpu_clk_enable(vpu_data);
+       vpu_reset();
+       vpu_clk_disable(vpu_data);
+       vpu_power_down();
+
+       clk_put(vpu_clk);
+       return 0;
+}
+
+#ifdef CONFIG_PM
+static int vpu_suspend(struct device *dev)
+{
+       struct vpu_priv *vpu_data = dev_get_drvdata(dev);
+       unsigned long timeout;
+
+       mutex_lock(&vpu_data->lock);
+
+       if (open_count) {
+               /* Wait for vpu go to idle state, suspect vpu cannot be changed
+                  to idle state after about 1 sec */
+               timeout = jiffies + HZ;
+               while (READ_REG(BIT_BUSY_FLAG)) {
+                       msleep(1);
+                       if (time_after(jiffies, timeout)) {
+                               mutex_unlock(&vpu_data->lock);
+                               return -EAGAIN;
+                       }
+               }
+
+               if (vpu_data->soc_data->is_mx53) {
+                       mutex_unlock(&vpu_data->lock);
+                       return 0;
+               }
+
+               if (bitwork_mem.cpu_addr != 0) {
+                       int i;
+
+                       /* Save 64 registers from BIT_CODE_BUF_ADDR */
+                       for (i = 0; i < 64; i++)
+                               regBk[i] = READ_REG(BIT_CODE_BUF_ADDR + (i * 4));
+                       pc_before_suspend = READ_REG(BIT_CUR_PC);
+               }
+
+               vpu_clk_disable(vpu_data);
+               /* If VPU is working before suspend, disable
+                * regulator to make usecount right.
+                */
+               vpu_power_down();
+       }
+
+       mutex_unlock(&vpu_data->lock);
+       return 0;
+}
+
+static int vpu_resume(struct device *dev)
+{
+       int i;
+       struct vpu_priv *vpu_data = dev_get_drvdata(dev);
+
+       mutex_lock(&vpu_data->lock);
+
+       if (open_count) {
+               if (vpu_data->soc_data->is_mx53) {
+                       vpu_clk_enable(vpu_data);
+                       goto out;
+               }
+
+               /* If VPU is working before suspend, enable
+                * regulator to make usecount right.
+                */
+               vpu_power_up();
+
+               if (bitwork_mem.cpu_addr != NULL) {
+                       u32 *p = bitwork_mem.cpu_addr;
+                       u32 data, pc;
+                       u16 data_hi;
+                       u16 data_lo;
+
+                       vpu_clk_enable(vpu_data);
+
+                       pc = READ_REG(BIT_CUR_PC);
+                       if (pc) {
+                               dev_warn(vpu_dev, "Not power off after suspend (PC=0x%x)\n", pc);
+                               goto out;
+                       }
+
+                       /* Restore registers */
+                       for (i = 0; i < 64; i++)
+                               WRITE_REG(regBk[i], BIT_CODE_BUF_ADDR + (i * 4));
+
+                       WRITE_REG(0x0, BIT_RESET_CTRL);
+                       WRITE_REG(0x0, BIT_CODE_RUN);
+                       /* MX6 RTL has a bug not to init MBC_SET_SUBBLK_EN on reset */
+                       if (vpu_data->soc_data->quirk_subblk_en)
+                               WRITE_REG(0x0, MBC_SET_SUBBLK_EN);
+
+                       /*
+                        * Re-load boot code, from the codebuffer in external RAM.
+                        * Thankfully, we only need 4096 bytes, same for all platforms.
+                        */
+                       for (i = 0; i < 2048; i += 4) {
+                               data = p[(i / 2) + 1];
+                               data_hi = (data >> 16) & 0xFFFF;
+                               data_lo = data & 0xFFFF;
+                               WRITE_REG((i << 16) | data_hi, BIT_CODE_DOWN);
+                               WRITE_REG(((i + 1) << 16) | data_lo,
+                                               BIT_CODE_DOWN);
+
+                               data = p[i / 2];
+                               data_hi = (data >> 16) & 0xFFFF;
+                               data_lo = data & 0xFFFF;
+                               WRITE_REG(((i + 2) << 16) | data_hi,
+                                               BIT_CODE_DOWN);
+                               WRITE_REG(((i + 3) << 16) | data_lo,
+                                               BIT_CODE_DOWN);
+                       }
+
+                       if (pc_before_suspend) {
+                               WRITE_REG(0x1, BIT_BUSY_FLAG);
+                               WRITE_REG(0x1, BIT_CODE_RUN);
+                               while (READ_REG(BIT_BUSY_FLAG))
+                                       ;
+                       } else {
+                               dev_warn(vpu_dev, "PC=0 before suspend\n");
+                       }
+               }
+       }
+out:
+       mutex_unlock(&vpu_data->lock);
+       return 0;
+}
+
+static SIMPLE_DEV_PM_OPS(vpu_pm_ops, vpu_suspend, vpu_resume);
+#define VPU_PM_OPS &vpu_pm_ops
+#else
+#define VPU_PM_OPS NULL
+#endif /* !CONFIG_PM */
+
+/*! Driver definition
+ *
+ */
+static struct platform_driver mxcvpu_driver = {
+       .driver = {
+               .name = "mxc_vpu",
+               .of_match_table = vpu_of_match,
+               .pm = VPU_PM_OPS,
+       },
+       .probe = vpu_dev_probe,
+       .remove = vpu_dev_remove,
+};
+
+module_platform_driver(mxcvpu_driver);
+
+MODULE_AUTHOR("Freescale Semiconductor, Inc.");
+MODULE_DESCRIPTION("Linux VPU driver for Freescale i.MX/MXC");
+MODULE_LICENSE("GPL");
index a24448e5d3996ee81a490710545626be8c83f0a2..52c342577f40927a75f47c80ea4f8bd82d09eabe 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Core driver for the imx pin controller
  *
- * Copyright (C) 2012 Freescale Semiconductor, Inc.
+ * Copyright (C) 2012-2013 Freescale Semiconductor, Inc.
  * Copyright (C) 2012 Linaro Ltd.
  *
  * Author: Dong Aisheng <dong.aisheng@linaro.org>
@@ -628,3 +628,25 @@ int imx_pinctrl_remove(struct platform_device *pdev)
 
        return 0;
 }
+
+#ifdef CONFIG_PM
+int imx_pinctrl_suspend(struct platform_device *pdev, pm_message_t state)
+{
+       struct imx_pinctrl *ipctl = platform_get_drvdata(pdev);
+
+       if (!ipctl)
+               return -EINVAL;
+
+       return pinctrl_force_sleep(ipctl->pctl);
+}
+
+int imx_pinctrl_resume(struct platform_device *pdev)
+{
+       struct imx_pinctrl *ipctl = platform_get_drvdata(pdev);
+
+       if (!ipctl)
+               return -EINVAL;
+
+       return pinctrl_force_default(ipctl->pctl);
+}
+#endif
index db408b0570002af667a8e7a6875a4f344703fa87..63aff36687883167d875c638289f1516871e0c1f 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * IMX pinmux core definitions
  *
- * Copyright (C) 2012 Freescale Semiconductor, Inc.
+ * Copyright (C) 2012-2013 Freescale Semiconductor, Inc.
  * Copyright (C) 2012 Linaro Ltd.
  *
  * Author: Dong Aisheng <dong.aisheng@linaro.org>
@@ -98,4 +98,8 @@ struct imx_pinctrl_soc_info {
 int imx_pinctrl_probe(struct platform_device *pdev,
                        struct imx_pinctrl_soc_info *info);
 int imx_pinctrl_remove(struct platform_device *pdev);
+#ifdef CONFIG_PM
+int imx_pinctrl_suspend(struct platform_device *pdev, pm_message_t state);
+int imx_pinctrl_resume(struct platform_device *pdev);
+#endif
 #endif /* __DRIVERS_PINCTRL_IMX_H */
index f21b7389df3c2771127e381030151d124782de36..bc5c19cb711343abb5de839e5ef65b095af43625 100644 (file)
@@ -384,6 +384,10 @@ static struct platform_driver imx6sl_pinctrl_driver = {
        },
        .probe = imx6sl_pinctrl_probe,
        .remove = imx_pinctrl_remove,
+#ifdef CONFIG_PM
+       .suspend = imx_pinctrl_suspend,
+       .resume = imx_pinctrl_resume,
+#endif
 };
 
 static int __init imx6sl_pinctrl_init(void)
index 4c1f999041dd1fe74433d7769e18fc3cde7d7804..dac9fa3623980797c042aa74346ba21944723015 100644 (file)
@@ -3,6 +3,7 @@
  *
  * Copyright 2007, 2008 Wolfson Microelectronics PLC.
  * Copyright 2008 SlimLogic Ltd.
+ * Copyright (C) 2013 Freescale Semiconductor, Inc.
  *
  * Author: Liam Girdwood <lrg@slimlogic.co.uk>
  *
@@ -1822,6 +1823,7 @@ static int _regulator_do_enable(struct regulator_dev *rdev)
        }
 
        trace_regulator_enable_complete(rdev_get_name(rdev));
+       _notifier_call_chain(rdev, REGULATOR_EVENT_ENABLE, NULL);
 
        return 0;
 }
@@ -1899,6 +1901,7 @@ static int _regulator_do_disable(struct regulator_dev *rdev)
 {
        int ret;
 
+       _notifier_call_chain(rdev, REGULATOR_EVENT_PRE_DISABLE, NULL);
        trace_regulator_disable(rdev_get_name(rdev));
 
        if (rdev->ena_pin) {
index fa384fe28988f6f27078f80a0a67b390ccf8687b..0a1d589320119d7f22562b79fae6e58a880ffd8c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2011-2012 Freescale Semiconductor, Inc.
+ * Copyright (C) 2011-2013 Freescale Semiconductor, Inc.
  *
  * The code contained herein is licensed under the GNU General Public
  * License. You may obtain a copy of the GNU General Public License
@@ -41,6 +41,8 @@ struct snvs_rtc_data {
        spinlock_t lock;
 };
 
+static void __iomem *snvs_base;
+
 static u32 rtc_read_lp_counter(void __iomem *ioaddr)
 {
        u64 read1, read2;
@@ -241,6 +243,15 @@ static irqreturn_t snvs_rtc_irq_handler(int irq, void *dev_id)
        return events ? IRQ_HANDLED : IRQ_NONE;
 }
 
+static void snvs_poweroff(void)
+{
+       u32 value;
+
+       value = readl(snvs_base + SNVS_LPCR);
+       /* set TOP and DP_EN bit */
+       writel(value | 0x60, snvs_base + SNVS_LPCR);
+}
+
 static int snvs_rtc_probe(struct platform_device *pdev)
 {
        struct snvs_rtc_data *data;
@@ -270,13 +281,15 @@ static int snvs_rtc_probe(struct platform_device *pdev)
        /* Clear interrupt status */
        writel(0xffffffff, data->ioaddr + SNVS_LPSR);
 
+       snvs_base = data->ioaddr;
        /* Enable RTC */
        snvs_rtc_enable(data, true);
 
        device_init_wakeup(&pdev->dev, true);
 
        ret = devm_request_irq(&pdev->dev, data->irq, snvs_rtc_irq_handler,
-                              IRQF_SHARED, "rtc alarm", &pdev->dev);
+                              IRQF_SHARED | IRQF_NO_SUSPEND,
+                              "rtc alarm", &pdev->dev);
        if (ret) {
                dev_err(&pdev->dev, "failed to request irq %d: %d\n",
                        data->irq, ret);
@@ -290,6 +303,12 @@ static int snvs_rtc_probe(struct platform_device *pdev)
                dev_err(&pdev->dev, "failed to register rtc: %d\n", ret);
                return ret;
        }
+       /*
+        * if no specific power off function in board file, power off system by
+        * SNVS
+        */
+       if (!pm_power_off)
+               pm_power_off = snvs_poweroff;
 
        return 0;
 }
index f9a13867cb70df87fa58aa48a86645eddbefd9c8..aa621b13d8e3b7bee8f1304f66df991b599ac286 100644 (file)
@@ -125,6 +125,13 @@ config IMX_THERMAL
          cpufreq is used as the cooling device to throttle CPUs when the
          passive trip is crossed.
 
+config DEVICE_THERMAL
+       tristate "generic device cooling support"
+       help
+         Support for device cooling.
+         It supports notification of crossing passive trip for devices,
+         devices need to do their own actions to cool down the SOC.
+
 config SPEAR_THERMAL
        bool "SPEAr thermal sensor driver"
        depends on PLAT_SPEAR
index de0636a57a6470e33aa1f057770b43d4c3062358..c490d665be6aff9a3d0b1a69d8846215437f5f83 100644 (file)
@@ -26,6 +26,7 @@ obj-$(CONFIG_DOVE_THERMAL)    += dove_thermal.o
 obj-$(CONFIG_DB8500_THERMAL)   += db8500_thermal.o
 obj-$(CONFIG_ARMADA_THERMAL)   += armada_thermal.o
 obj-$(CONFIG_IMX_THERMAL)      += imx_thermal.o
+obj-$(CONFIG_DEVICE_THERMAL)   += device_cooling.o
 obj-$(CONFIG_DB8500_CPUFREQ_COOLING)   += db8500_cpufreq_cooling.o
 obj-$(CONFIG_INTEL_POWERCLAMP) += intel_powerclamp.o
 obj-$(CONFIG_X86_PKG_TEMP_THERMAL)     += x86_pkg_temp_thermal.o
diff --git a/drivers/thermal/device_cooling.c b/drivers/thermal/device_cooling.c
new file mode 100644 (file)
index 0000000..1c223a8
--- /dev/null
@@ -0,0 +1,151 @@
+/*
+ * Copyright (C) 2013 Freescale Semiconductor, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ */
+
+#include <linux/module.h>
+#include <linux/thermal.h>
+#include <linux/err.h>
+#include <linux/slab.h>
+
+struct devfreq_cooling_device {
+       int id;
+       struct thermal_cooling_device *cool_dev;
+       unsigned int devfreq_state;
+};
+
+static DEFINE_IDR(devfreq_idr);
+static DEFINE_MUTEX(devfreq_cooling_lock);
+
+#define        MAX_STATE       1
+
+static BLOCKING_NOTIFIER_HEAD(devfreq_cooling_chain_head);
+
+int register_devfreq_cooling_notifier(struct notifier_block *nb)
+{
+       return blocking_notifier_chain_register(
+               &devfreq_cooling_chain_head, nb);
+}
+EXPORT_SYMBOL_GPL(register_devfreq_cooling_notifier);
+
+int unregister_devfreq_cooling_notifier(struct notifier_block *nb)
+{
+       return blocking_notifier_chain_unregister(
+               &devfreq_cooling_chain_head, nb);
+}
+EXPORT_SYMBOL_GPL(unregister_devfreq_cooling_notifier);
+
+static int devfreq_cooling_notifier_call_chain(unsigned long val)
+{
+       return (blocking_notifier_call_chain(
+               &devfreq_cooling_chain_head, val, NULL)
+               == NOTIFY_BAD) ? -EINVAL : 0;
+}
+
+static int devfreq_set_cur_state(struct thermal_cooling_device *cdev,
+                                unsigned long state)
+{
+       struct devfreq_cooling_device *devfreq_device = cdev->devdata;
+       int ret;
+
+       ret = devfreq_cooling_notifier_call_chain(state);
+       if (ret)
+               return -EINVAL;
+       devfreq_device->devfreq_state = state;
+
+       return 0;
+}
+
+static int devfreq_get_max_state(struct thermal_cooling_device *cdev,
+                                unsigned long *state)
+{
+       *state = MAX_STATE;
+
+       return 0;
+}
+
+static int devfreq_get_cur_state(struct thermal_cooling_device *cdev,
+                                unsigned long *state)
+{
+       struct devfreq_cooling_device *devfreq_device = cdev->devdata;
+
+       *state = devfreq_device->devfreq_state;
+
+       return 0;
+}
+
+static struct thermal_cooling_device_ops const devfreq_cooling_ops = {
+       .get_max_state = devfreq_get_max_state,
+       .get_cur_state = devfreq_get_cur_state,
+       .set_cur_state = devfreq_set_cur_state,
+};
+
+static int get_idr(struct idr *idr, int *id)
+{
+       int ret;
+
+       mutex_lock(&devfreq_cooling_lock);
+       ret = idr_alloc(idr, NULL, 0, 0, GFP_KERNEL);
+       mutex_unlock(&devfreq_cooling_lock);
+       if (unlikely(ret < 0))
+               return ret;
+       *id = ret;
+
+       return 0;
+}
+
+static void release_idr(struct idr *idr, int id)
+{
+       mutex_lock(&devfreq_cooling_lock);
+       idr_remove(idr, id);
+       mutex_unlock(&devfreq_cooling_lock);
+}
+
+struct thermal_cooling_device *devfreq_cooling_register(void)
+{
+       struct thermal_cooling_device *cool_dev;
+       struct devfreq_cooling_device *devfreq_dev = NULL;
+       char dev_name[THERMAL_NAME_LENGTH];
+       int ret = 0;
+
+       devfreq_dev = kzalloc(sizeof(struct devfreq_cooling_device),
+                             GFP_KERNEL);
+       if (!devfreq_dev)
+               return ERR_PTR(-ENOMEM);
+
+       ret = get_idr(&devfreq_idr, &devfreq_dev->id);
+       if (ret) {
+               kfree(devfreq_dev);
+               return ERR_PTR(-EINVAL);
+       }
+
+       snprintf(dev_name, sizeof(dev_name), "thermal-devfreq-%d",
+                devfreq_dev->id);
+
+       cool_dev = thermal_cooling_device_register(dev_name, devfreq_dev,
+                                                  &devfreq_cooling_ops);
+       if (!cool_dev) {
+               release_idr(&devfreq_idr, devfreq_dev->id);
+               kfree(devfreq_dev);
+               return ERR_PTR(-EINVAL);
+       }
+       devfreq_dev->cool_dev = cool_dev;
+       devfreq_dev->devfreq_state = 0;
+
+       return cool_dev;
+}
+EXPORT_SYMBOL_GPL(devfreq_cooling_register);
+
+void devfreq_cooling_unregister(struct thermal_cooling_device *cdev)
+{
+       struct devfreq_cooling_device *devfreq_dev = cdev->devdata;
+
+       thermal_cooling_device_unregister(devfreq_dev->cool_dev);
+       release_idr(&devfreq_idr, devfreq_dev->id);
+       kfree(devfreq_dev);
+}
+EXPORT_SYMBOL_GPL(devfreq_cooling_unregister);
index a99c63152b8dc4f9aa73b6d4ff26e3867721e9b0..f1f1cf6e420d54599300ec5a91139c3371646f55 100644 (file)
@@ -12,6 +12,7 @@
 #include <linux/cpufreq.h>
 #include <linux/delay.h>
 #include <linux/device.h>
+#include <linux/device_cooling.h>
 #include <linux/init.h>
 #include <linux/interrupt.h>
 #include <linux/io.h>
@@ -58,6 +59,13 @@ enum imx_thermal_trip {
  * that will trigger cooling action when crossed.
  */
 #define IMX_TEMP_PASSIVE               85000
+#define IMX_TEMP_PASSIVE_COOL_DELTA    10000
+
+/*
+ * The maximum die temperature on imx parts is 105C, let's give some cushion
+ * for noise and possible temperature rise between measurements.
+ */
+#define IMX_TEMP_CRITICAL              100000
 
 #define IMX_POLLING_DELAY              2000 /* millisecond */
 #define IMX_PASSIVE_DELAY              1000
@@ -68,7 +76,7 @@ enum imx_thermal_trip {
 
 struct imx_thermal_data {
        struct thermal_zone_device *tz;
-       struct thermal_cooling_device *cdev;
+       struct thermal_cooling_device *cdev[2];
        enum thermal_device_mode mode;
        struct regmap *tempmon;
        u32 c1, c2; /* See formula in imx_get_sensor_data() */
@@ -290,6 +298,24 @@ static int imx_unbind(struct thermal_zone_device *tz,
        return 0;
 }
 
+static int imx_get_trend(struct thermal_zone_device *tz,
+               int trip, enum thermal_trend *trend)
+{
+       int ret;
+       unsigned long trip_temp;
+
+       ret = imx_get_trip_temp(tz, trip, &trip_temp);
+       if (ret < 0)
+               return ret;
+
+       if (tz->temperature >= (trip_temp - IMX_TEMP_PASSIVE_COOL_DELTA))
+               *trend = THERMAL_TREND_RAISE_FULL;
+       else
+               *trend = THERMAL_TREND_DROP_FULL;
+
+       return 0;
+}
+
 static struct thermal_zone_device_ops imx_tz_ops = {
        .bind = imx_bind,
        .unbind = imx_unbind,
@@ -299,6 +325,7 @@ static struct thermal_zone_device_ops imx_tz_ops = {
        .get_trip_type = imx_get_trip_type,
        .get_trip_temp = imx_get_trip_temp,
        .get_crit_temp = imx_get_crit_temp,
+       .get_trend = imx_get_trend,
        .set_trip_temp = imx_set_trip_temp,
 };
 
@@ -450,14 +477,24 @@ static int imx_thermal_probe(struct platform_device *pdev)
        regmap_write(map, TEMPSENSE0 + REG_SET, TEMPSENSE0_POWER_DOWN);
 
        cpumask_set_cpu(0, &clip_cpus);
-       data->cdev = cpufreq_cooling_register(&clip_cpus);
-       if (IS_ERR(data->cdev)) {
-               ret = PTR_ERR(data->cdev);
+       data->cdev[0] = cpufreq_cooling_register(&clip_cpus);
+       if (IS_ERR(data->cdev[0])) {
+               ret = PTR_ERR(data->cdev[0]);
                dev_err(&pdev->dev,
                        "failed to register cpufreq cooling device: %d\n", ret);
                return ret;
        }
 
+       data->cdev[1] = devfreq_cooling_register();
+       if (IS_ERR(data->cdev[1])) {
+               ret = PTR_ERR(data->cdev[1]);
+               dev_err(&pdev->dev,
+                       "failed to register devfreq cooling device: %d\n", ret);
+               return ret;
+       }
+
+       data->temp_passive = IMX_TEMP_PASSIVE;
+       data->temp_critical = IMX_TEMP_CRITICAL;
        data->tz = thermal_zone_device_register("imx_thermal_zone",
                                                IMX_TRIP_NUM,
                                                BIT(IMX_TRIP_PASSIVE), data,
@@ -468,7 +505,8 @@ static int imx_thermal_probe(struct platform_device *pdev)
                ret = PTR_ERR(data->tz);
                dev_err(&pdev->dev,
                        "failed to register thermal zone device %d\n", ret);
-               cpufreq_cooling_unregister(data->cdev);
+               cpufreq_cooling_unregister(data->cdev[0]);
+               devfreq_cooling_unregister(data->cdev[1]);
                return ret;
        }
 
@@ -513,7 +551,8 @@ static int imx_thermal_remove(struct platform_device *pdev)
                clk_disable_unprepare(data->thermal_clk);
 
        thermal_zone_device_unregister(data->tz);
-       cpufreq_cooling_unregister(data->cdev);
+       cpufreq_cooling_unregister(data->cdev[0]);
+       devfreq_cooling_unregister(data->cdev[1]);
 
        return 0;
 }
index cc305c71ac3d489d469ec4ca34a03c7861bf122f..c8f16f0a41de6c1ab60fb02878d3ccf373b3b20a 100644 (file)
@@ -304,6 +304,15 @@ static int ehci_bus_suspend (struct usb_hcd *hcd)
                                                USB_PORT_STAT_HIGH_SPEED)
                                fs_idle_delay = true;
                        ehci_writel(ehci, t2, reg);
+                       if ((t2 & PORT_WKDISC_E)
+                               && (ehci_port_speed(ehci, t2) ==
+                                       USB_PORT_STAT_HIGH_SPEED))
+                               /*
+                                * If the high-speed device has not switched
+                                * to full-speed idle before WKDISC_E has
+                                * effected, there will be a WKDISC event.
+                                */
+                               mdelay(4);
                        changed = 1;
                }
        }
index 8bf495ffb020789811358eef574b6aba446cb141..75acc8b3accd3eb0425977abbf2d714ffbd1a8d4 100644 (file)
@@ -30,6 +30,8 @@ menu "Frame buffer Devices"
 source "drivers/video/fbdev/Kconfig"
 endmenu
 
+source "drivers/video/mxc/Kconfig"
+
 source "drivers/video/backlight/Kconfig"
 
 config VGASTATE
index 9ad3c17d645689b79e56364377a71671eb4aac23..7da258c6090ebd8eee479d6403356443e208895b 100644 (file)
@@ -6,6 +6,7 @@ obj-$(CONFIG_LOGO)                += logo/
 obj-y                            += backlight/
 
 obj-y                            += fbdev/
+obj-y                            += mxc/
 
 obj-$(CONFIG_VIDEOMODE_HELPERS) += display_timing.o videomode.o
 ifeq ($(CONFIG_OF),y)
index accf48a2cce43e16d8ebeea80807df2b32c9cc76..5e5901403e5b62c47bf53a2bf87a0da6f2de1cbc 100644 (file)
@@ -4,7 +4,7 @@
  * This code is based on:
  * Author: Vitaly Wool <vital@embeddedalley.com>
  *
- * Copyright 2008-2009 Freescale Semiconductor, Inc. All Rights Reserved.
+ * Copyright 2008-2014 Freescale Semiconductor, Inc. All Rights Reserved.
  * Copyright 2008 Embedded Alley Solutions, Inc All Rights Reserved.
  *
  * This program is free software; you can redistribute it and/or
@@ -171,7 +171,9 @@ struct mxsfb_devdata {
 struct mxsfb_info {
        struct fb_info fb_info;
        struct platform_device *pdev;
-       struct clk *clk;
+       struct clk *clk_pix;
+       struct clk *clk_axi;
+       bool clk_axi_enabled;
        void __iomem *base;     /* registers */
        unsigned allocated_size;
        int enabled;
@@ -208,6 +210,26 @@ static const struct mxsfb_devdata mxsfb_devdata[] = {
 
 #define to_imxfb_host(x) (container_of(x, struct mxsfb_info, fb_info))
 
+/* enable lcdif axi clock */
+static inline void clk_enable_axi(struct mxsfb_info *host)
+{
+       if (!host->clk_axi_enabled && host &&
+               host->clk_axi && !IS_ERR(host->clk_axi)) {
+               clk_prepare_enable(host->clk_axi);
+               host->clk_axi_enabled = true;
+       }
+}
+
+/* disable lcdif axi clock */
+static inline void clk_disable_axi(struct mxsfb_info *host)
+{
+       if (host->clk_axi_enabled && host &&
+               host->clk_axi && !IS_ERR(host->clk_axi)) {
+               clk_disable_unprepare(host->clk_axi);
+               host->clk_axi_enabled = false;
+       }
+}
+
 /* mask and shift depends on architecture */
 static inline u32 set_hsync_pulse_width(struct mxsfb_info *host, unsigned val)
 {
@@ -331,8 +353,13 @@ static void mxsfb_enable_controller(struct fb_info *fb_info)
                }
        }
 
-       clk_prepare_enable(host->clk);
-       clk_set_rate(host->clk, PICOS2KHZ(fb_info->var.pixclock) * 1000U);
+       clk_enable_axi(host);
+
+       clk_prepare_enable(host->clk_pix);
+       clk_set_rate(host->clk_pix, PICOS2KHZ(fb_info->var.pixclock) * 1000U);
+
+       /* Clean soft reset and clock gate bit if it was enabled  */
+       writel(CTRL_SFTRST | CTRL_CLKGATE, host->base + LCDC_CTRL + REG_CLR);
 
        /* if it was disabled, re-enable the mode again */
        writel(CTRL_DOTCLK_MODE, host->base + LCDC_CTRL + REG_SET);
@@ -342,6 +369,7 @@ static void mxsfb_enable_controller(struct fb_info *fb_info)
        reg |= VDCTRL4_SYNC_SIGNALS_ON;
        writel(reg, host->base + LCDC_VDCTRL4);
 
+       writel(CTRL_MASTER, host->base + LCDC_CTRL + REG_SET);
        writel(CTRL_RUN, host->base + LCDC_CTRL + REG_SET);
 
        host->enabled = 1;
@@ -356,6 +384,7 @@ static void mxsfb_disable_controller(struct fb_info *fb_info)
 
        dev_dbg(&host->pdev->dev, "%s\n", __func__);
 
+       clk_enable_axi(host);
        /*
         * Even if we disable the controller here, it will still continue
         * until its FIFOs are running out of data
@@ -370,10 +399,12 @@ static void mxsfb_disable_controller(struct fb_info *fb_info)
                loop--;
        }
 
+       writel(CTRL_MASTER, host->base + LCDC_CTRL + REG_CLR);
+
        reg = readl(host->base + LCDC_VDCTRL4);
        writel(reg & ~VDCTRL4_SYNC_SIGNALS_ON, host->base + LCDC_VDCTRL4);
 
-       clk_disable_unprepare(host->clk);
+       clk_disable_unprepare(host->clk_pix);
 
        host->enabled = 0;
 
@@ -392,6 +423,8 @@ static int mxsfb_set_par(struct fb_info *fb_info)
        int line_size, fb_size;
        int reenable = 0;
 
+       clk_enable_axi(host);
+
        line_size =  fb_info->var.xres * (fb_info->var.bits_per_pixel >> 3);
        fb_size = fb_info->var.yres_virtual * line_size;
 
@@ -550,11 +583,14 @@ static int mxsfb_blank(int blank, struct fb_info *fb_info)
        case FB_BLANK_NORMAL:
                if (host->enabled)
                        mxsfb_disable_controller(fb_info);
+
+               clk_disable_axi(host);
                break;
 
        case FB_BLANK_UNBLANK:
                if (!host->enabled)
                        mxsfb_enable_controller(fb_info);
+               mxsfb_set_par(&host->fb_info);
                break;
        }
        return 0;
@@ -569,6 +605,8 @@ static int mxsfb_pan_display(struct fb_var_screeninfo *var,
        if (var->xoffset != 0)
                return -EINVAL;
 
+       clk_enable_axi(host);
+
        offset = fb_info->fix.line_length * var->yoffset;
 
        /* update on next VSYNC */
@@ -600,6 +638,8 @@ static int mxsfb_restore_mode(struct mxsfb_info *host,
        int bits_per_pixel, ofs;
        u32 transfer_count, vdctrl0, vdctrl2, vdctrl3, vdctrl4, ctrl;
 
+       clk_enable_axi(host);
+
        /* Only restore the mode when the controller is running */
        ctrl = readl(host->base + LCDC_CTRL);
        if (!(ctrl & CTRL_RUN))
@@ -675,7 +715,7 @@ static int mxsfb_restore_mode(struct mxsfb_info *host,
        line_count = fb_info->fix.smem_len / fb_info->fix.line_length;
        fb_info->fix.ypanstep = 1;
 
-       clk_prepare_enable(host->clk);
+       clk_prepare_enable(host->clk_pix);
        host->enabled = 1;
 
        return 0;
@@ -861,9 +901,15 @@ static int mxsfb_probe(struct platform_device *pdev)
 
        host->devdata = &mxsfb_devdata[pdev->id_entry->driver_data];
 
-       host->clk = devm_clk_get(&host->pdev->dev, NULL);
-       if (IS_ERR(host->clk)) {
-               ret = PTR_ERR(host->clk);
+       host->clk_pix = devm_clk_get(&host->pdev->dev, "pix");
+       if (IS_ERR(host->clk_pix)) {
+               ret = PTR_ERR(host->clk_pix);
+               goto fb_release;
+       }
+
+       host->clk_axi = devm_clk_get(&host->pdev->dev, "axi");
+       if (IS_ERR(host->clk_axi)) {
+               ret = PTR_ERR(host->clk_axi);
                goto fb_release;
        }
 
@@ -907,7 +953,7 @@ static int mxsfb_probe(struct platform_device *pdev)
 
 fb_destroy:
        if (host->enabled)
-               clk_disable_unprepare(host->clk);
+               clk_disable_unprepare(host->clk_pix);
 fb_release:
        framebuffer_release(fb_info);
 
@@ -935,11 +981,14 @@ static void mxsfb_shutdown(struct platform_device *pdev)
        struct fb_info *fb_info = platform_get_drvdata(pdev);
        struct mxsfb_info *host = to_imxfb_host(fb_info);
 
+       clk_enable_axi(host);
        /*
         * Force stop the LCD controller as keeping it running during reboot
         * might interfere with the BootROM's boot mode pads sampling.
         */
        writel(CTRL_RUN, host->base + LCDC_CTRL + REG_CLR);
+       writel(CTRL_MASTER, host->base + LCDC_CTRL + REG_CLR);
+       clk_disable_axi(host);
 }
 
 static struct platform_driver mxsfb_driver = {
diff --git a/drivers/video/mxc/Kconfig b/drivers/video/mxc/Kconfig
new file mode 100644 (file)
index 0000000..2269de1
--- /dev/null
@@ -0,0 +1,71 @@
+config FB_MXC
+       tristate "MXC Framebuffer support"
+       depends on FB
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_MODE_HELPERS
+       default y
+       help
+         This is a framebuffer device for the MXC LCD Controller.
+         See <http://www.linux-fbdev.org/> for information on framebuffer
+         devices.
+
+         If you plan to use the LCD display with your MXC system, say
+         Y here.
+
+config FB_MXC_SYNC_PANEL
+       depends on FB_MXC
+       tristate "Synchronous Panel Framebuffer"
+
+config FB_MXC_LDB
+       tristate "MXC LDB"
+       depends on FB_MXC_SYNC_PANEL
+       depends on MXC_IPU_V3
+
+config FB_MXC_MIPI_DSI
+       tristate "MXC MIPI_DSI"
+       depends on FB_MXC_SYNC_PANEL
+       depends on MXC_IPU_V3
+
+config FB_MXC_TRULY_WVGA_SYNC_PANEL
+       tristate "TRULY WVGA Panel"
+       depends on FB_MXC_SYNC_PANEL
+       depends on FB_MXC_MIPI_DSI
+
+config FB_MXC_HDMI
+       depends on FB_MXC_SYNC_PANEL
+       depends on MXC_IPU_V3
+       depends on I2C
+       tristate "MXC HDMI driver support"
+       select MFD_MXC_HDMI
+       help
+         Driver for the on-chip MXC HDMI controller.
+
+config FB_MXC_EDID
+     depends on FB_MXC && I2C
+     tristate "MXC EDID support"
+     default y
+
+config FB_MXC_EINK_PANEL
+       depends on FB_MXC
+       depends on DMA_ENGINE
+       select FB_DEFERRED_IO
+       tristate "E-Ink Panel Framebuffer"
+
+config FB_MXC_EINK_AUTO_UPDATE_MODE
+    bool "E-Ink Auto-update Mode Support"
+    default n
+    depends on FB_MXC_EINK_PANEL
+
+config FB_MXS_SII902X
+       tristate "Si Image SII9022 DVI/HDMI Interface Chip"
+       depends on FB_MXS && I2C
+
+config HANNSTAR_CABC
+       tristate "Hannstar CABC function"
+       help
+         Say yes here to support switching on/off Hannstar CABC
+         function.  This function turns backlight density of a
+         display panel automatically according to the content
+         shown on the panel.
diff --git a/drivers/video/mxc/Makefile b/drivers/video/mxc/Makefile
new file mode 100644 (file)
index 0000000..c0fec9e
--- /dev/null
@@ -0,0 +1,9 @@
+obj-$(CONFIG_FB_MXC_LDB) += ldb.o
+obj-$(CONFIG_FB_MXC_MIPI_DSI)                  += mipi_dsi.o
+obj-$(CONFIG_FB_MXC_TRULY_WVGA_SYNC_PANEL)     += mxcfb_hx8369_wvga.o
+obj-$(CONFIG_FB_MXC_HDMI)                      += mxc_hdmi.o
+obj-$(CONFIG_FB_MXC_EDID)                      += mxc_edid.o
+obj-$(CONFIG_FB_MXC_SYNC_PANEL) += mxc_dispdrv.o mxc_lcdif.o mxc_ipuv3_fb.o
+obj-$(CONFIG_FB_MXC_EINK_PANEL)             += mxc_epdc_fb.o
+obj-$(CONFIG_FB_MXS_SII902X) += mxsfb_sii902x.o
+obj-$(CONFIG_HANNSTAR_CABC) += hannstar_cabc.o
diff --git a/drivers/video/mxc/ldb.c b/drivers/video/mxc/ldb.c
new file mode 100644 (file)
index 0000000..2c7d647
--- /dev/null
@@ -0,0 +1,1036 @@
+/*
+ * Copyright (C) 2012-2013 Freescale Semiconductor, Inc. All Rights Reserved.
+ */
+
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+/*!
+ * @file mxc_ldb.c
+ *
+ * @brief This file contains the LDB driver device interface and fops
+ * functions.
+ */
+#include <linux/types.h>
+#include <linux/init.h>
+#include <linux/module.h>
+#include <linux/platform_device.h>
+#include <linux/err.h>
+#include <linux/clk.h>
+#include <linux/console.h>
+#include <linux/io.h>
+#include <linux/ipu.h>
+#include <linux/mxcfb.h>
+#include <linux/regulator/consumer.h>
+#include <linux/spinlock.h>
+#include <linux/of_device.h>
+#include <linux/mod_devicetable.h>
+#include "mxc_dispdrv.h"
+
+#define DISPDRV_LDB    "ldb"
+
+#define LDB_BGREF_RMODE_MASK           0x00008000
+#define LDB_BGREF_RMODE_INT            0x00008000
+#define LDB_BGREF_RMODE_EXT            0x0
+
+#define LDB_DI1_VS_POL_MASK            0x00000400
+#define LDB_DI1_VS_POL_ACT_LOW         0x00000400
+#define LDB_DI1_VS_POL_ACT_HIGH                0x0
+#define LDB_DI0_VS_POL_MASK            0x00000200
+#define LDB_DI0_VS_POL_ACT_LOW         0x00000200
+#define LDB_DI0_VS_POL_ACT_HIGH                0x0
+
+#define LDB_BIT_MAP_CH1_MASK           0x00000100
+#define LDB_BIT_MAP_CH1_JEIDA          0x00000100
+#define LDB_BIT_MAP_CH1_SPWG           0x0
+#define LDB_BIT_MAP_CH0_MASK           0x00000040
+#define LDB_BIT_MAP_CH0_JEIDA          0x00000040
+#define LDB_BIT_MAP_CH0_SPWG           0x0
+
+#define LDB_DATA_WIDTH_CH1_MASK                0x00000080
+#define LDB_DATA_WIDTH_CH1_24          0x00000080
+#define LDB_DATA_WIDTH_CH1_18          0x0
+#define LDB_DATA_WIDTH_CH0_MASK                0x00000020
+#define LDB_DATA_WIDTH_CH0_24          0x00000020
+#define LDB_DATA_WIDTH_CH0_18          0x0
+
+#define LDB_CH1_MODE_MASK              0x0000000C
+#define LDB_CH1_MODE_EN_TO_DI1         0x0000000C
+#define LDB_CH1_MODE_EN_TO_DI0         0x00000004
+#define LDB_CH1_MODE_DISABLE           0x0
+#define LDB_CH0_MODE_MASK              0x00000003
+#define LDB_CH0_MODE_EN_TO_DI1         0x00000003
+#define LDB_CH0_MODE_EN_TO_DI0         0x00000001
+#define LDB_CH0_MODE_DISABLE           0x0
+
+#define LDB_SPLIT_MODE_EN              0x00000010
+
+enum {
+       IMX6_LDB,
+};
+
+enum {
+       LDB_IMX6 = 1,
+};
+
+struct fsl_mxc_ldb_platform_data {
+       int devtype;
+       u32 ext_ref;
+#define LDB_SPL_DI0    1
+#define LDB_SPL_DI1    2
+#define LDB_DUL_DI0    3
+#define LDB_DUL_DI1    4
+#define LDB_SIN0       5
+#define LDB_SIN1       6
+#define LDB_SEP0       7
+#define LDB_SEP1       8
+       int mode;
+       int ipu_id;
+       int disp_id;
+
+       /*only work for separate mode*/
+       int sec_ipu_id;
+       int sec_disp_id;
+};
+
+struct ldb_data {
+       struct platform_device *pdev;
+       struct mxc_dispdrv_handle *disp_ldb;
+       uint32_t *reg;
+       uint32_t *control_reg;
+       uint32_t *gpr3_reg;
+       uint32_t control_reg_data;
+       struct regulator *lvds_bg_reg;
+       int mode;
+       bool inited;
+       struct ldb_setting {
+               struct clk *di_clk;
+               struct clk *ldb_di_clk;
+               struct clk *div_3_5_clk;
+               struct clk *div_7_clk;
+               struct clk *div_sel_clk;
+               bool active;
+               bool clk_en;
+               int ipu;
+               int di;
+               uint32_t ch_mask;
+               uint32_t ch_val;
+       } setting[2];
+       struct notifier_block nb;
+};
+
+static int g_ldb_mode;
+
+static struct fb_videomode ldb_modedb[] = {
+       {
+        "LDB-WXGA", 60, 1280, 800, 14065,
+        40, 40,
+        10, 3,
+        80, 10,
+        0,
+        FB_VMODE_NONINTERLACED,
+        FB_MODE_IS_DETAILED,},
+       {
+        "LDB-XGA", 60, 1024, 768, 15385,
+        220, 40,
+        21, 7,
+        60, 10,
+        0,
+        FB_VMODE_NONINTERLACED,
+        FB_MODE_IS_DETAILED,},
+       {
+        "LDB-1080P60", 60, 1920, 1080, 7692,
+        100, 40,
+        30, 3,
+        10, 2,
+        0,
+        FB_VMODE_NONINTERLACED,
+        FB_MODE_IS_DETAILED,},
+};
+static int ldb_modedb_sz = ARRAY_SIZE(ldb_modedb);
+
+static inline int is_imx6_ldb(struct fsl_mxc_ldb_platform_data *plat_data)
+{
+       return (plat_data->devtype == LDB_IMX6);
+}
+
+static int bits_per_pixel(int pixel_fmt)
+{
+       switch (pixel_fmt) {
+       case IPU_PIX_FMT_BGR24:
+       case IPU_PIX_FMT_RGB24:
+               return 24;
+               break;
+       case IPU_PIX_FMT_BGR666:
+       case IPU_PIX_FMT_RGB666:
+       case IPU_PIX_FMT_LVDS666:
+               return 18;
+               break;
+       default:
+               break;
+       }
+       return 0;
+}
+
+static int valid_mode(int pixel_fmt)
+{
+       return ((pixel_fmt == IPU_PIX_FMT_RGB24) ||
+               (pixel_fmt == IPU_PIX_FMT_BGR24) ||
+               (pixel_fmt == IPU_PIX_FMT_LVDS666) ||
+               (pixel_fmt == IPU_PIX_FMT_RGB666) ||
+               (pixel_fmt == IPU_PIX_FMT_BGR666));
+}
+
+static int parse_ldb_mode(char *mode)
+{
+       int ldb_mode;
+
+       if (!strcmp(mode, "spl0"))
+               ldb_mode = LDB_SPL_DI0;
+       else if (!strcmp(mode, "spl1"))
+               ldb_mode = LDB_SPL_DI1;
+       else if (!strcmp(mode, "dul0"))
+               ldb_mode = LDB_DUL_DI0;
+       else if (!strcmp(mode, "dul1"))
+               ldb_mode = LDB_DUL_DI1;
+       else if (!strcmp(mode, "sin0"))
+               ldb_mode = LDB_SIN0;
+       else if (!strcmp(mode, "sin1"))
+               ldb_mode = LDB_SIN1;
+       else if (!strcmp(mode, "sep0"))
+               ldb_mode = LDB_SEP0;
+       else if (!strcmp(mode, "sep1"))
+               ldb_mode = LDB_SEP1;
+       else
+               ldb_mode = -EINVAL;
+
+       return ldb_mode;
+}
+
+#ifndef MODULE
+/*
+ *    "ldb=spl0/1"       --      split mode on DI0/1
+ *    "ldb=dul0/1"       --      dual mode on DI0/1
+ *    "ldb=sin0/1"       --      single mode on LVDS0/1
+ *    "ldb=sep0/1"      --      separate mode begin from LVDS0/1
+ *
+ *    there are two LVDS channels(LVDS0 and LVDS1) which can transfer video
+ *    datas, there two channels can be used as split/dual/single/separate mode.
+ *
+ *    split mode means display data from DI0 or DI1 will send to both channels
+ *    LVDS0+LVDS1.
+ *    dual mode means display data from DI0 or DI1 will be duplicated on LVDS0
+ *    and LVDS1, it said, LVDS0 and LVDS1 has the same content.
+ *    single mode means only work for DI0/DI1->LVDS0 or DI0/DI1->LVDS1.
+ *    separate mode means you can make DI0/DI1->LVDS0 and DI0/DI1->LVDS1 work
+ *    at the same time.
+ */
+static int __init ldb_setup(char *options)
+{
+       g_ldb_mode = parse_ldb_mode(options);
+       return (g_ldb_mode < 0) ? 0 : 1;
+}
+__setup("ldb=", ldb_setup);
+#endif
+
+static int ldb_get_of_property(struct platform_device *pdev,
+                               struct fsl_mxc_ldb_platform_data *plat_data)
+{
+       struct device_node *np = pdev->dev.of_node;
+       int err;
+       u32 ipu_id, disp_id;
+       u32 sec_ipu_id, sec_disp_id;
+       char *mode;
+       u32 ext_ref;
+
+       err = of_property_read_string(np, "mode", (const char **)&mode);
+       if (err) {
+               dev_dbg(&pdev->dev, "get of property mode fail\n");
+               return err;
+       }
+       err = of_property_read_u32(np, "ext_ref", &ext_ref);
+       if (err) {
+               dev_dbg(&pdev->dev, "get of property ext_ref fail\n");
+               return err;
+       }
+       err = of_property_read_u32(np, "ipu_id", &ipu_id);
+       if (err) {
+               dev_dbg(&pdev->dev, "get of property ipu_id fail\n");
+               return err;
+       }
+       err = of_property_read_u32(np, "disp_id", &disp_id);
+       if (err) {
+               dev_dbg(&pdev->dev, "get of property disp_id fail\n");
+               return err;
+       }
+       err = of_property_read_u32(np, "sec_ipu_id", &sec_ipu_id);
+       if (err) {
+               dev_dbg(&pdev->dev, "get of property sec_ipu_id fail\n");
+               return err;
+       }
+       err = of_property_read_u32(np, "sec_disp_id", &sec_disp_id);
+       if (err) {
+               dev_dbg(&pdev->dev, "get of property sec_disp_id fail\n");
+               return err;
+       }
+
+       plat_data->mode = parse_ldb_mode(mode);
+       plat_data->ext_ref = ext_ref;
+       plat_data->ipu_id = ipu_id;
+       plat_data->disp_id = disp_id;
+       plat_data->sec_ipu_id = sec_ipu_id;
+       plat_data->sec_disp_id = sec_disp_id;
+
+       return err;
+}
+
+static int find_ldb_setting(struct ldb_data *ldb, struct fb_info *fbi)
+{
+       char *id_di[] = {
+                "DISP3 BG",
+                "DISP3 BG - DI1",
+               };
+       char id[16];
+       int i;
+
+       for (i = 0; i < 2; i++) {
+               if (ldb->setting[i].active) {
+                       memset(id, 0, 16);
+                       memcpy(id, id_di[ldb->setting[i].di],
+                               strlen(id_di[ldb->setting[i].di]));
+                       id[4] += ldb->setting[i].ipu;
+                       if (!strcmp(id, fbi->fix.id))
+                               return i;
+               }
+       }
+       return -EINVAL;
+}
+
+static int ldb_disp_setup(struct mxc_dispdrv_handle *disp, struct fb_info *fbi)
+{
+       uint32_t reg, val;
+       uint32_t pixel_clk, rounded_pixel_clk;
+       struct clk *ldb_clk_parent;
+       struct ldb_data *ldb = mxc_dispdrv_getdata(disp);
+       int setting_idx, di;
+       int ret;
+
+       setting_idx = find_ldb_setting(ldb, fbi);
+       if (setting_idx < 0)
+               return setting_idx;
+
+       di = ldb->setting[setting_idx].di;
+
+       /* restore channel mode setting */
+       val = readl(ldb->control_reg);
+       val |= ldb->setting[setting_idx].ch_val;
+       writel(val, ldb->control_reg);
+       dev_dbg(&ldb->pdev->dev, "LDB setup, control reg:0x%x\n",
+                       readl(ldb->control_reg));
+
+       /* vsync setup */
+       reg = readl(ldb->control_reg);
+       if (fbi->var.sync & FB_SYNC_VERT_HIGH_ACT) {
+               if (di == 0)
+                       reg = (reg & ~LDB_DI0_VS_POL_MASK)
+                               | LDB_DI0_VS_POL_ACT_HIGH;
+               else
+                       reg = (reg & ~LDB_DI1_VS_POL_MASK)
+                               | LDB_DI1_VS_POL_ACT_HIGH;
+       } else {
+               if (di == 0)
+                       reg = (reg & ~LDB_DI0_VS_POL_MASK)
+                               | LDB_DI0_VS_POL_ACT_LOW;
+               else
+                       reg = (reg & ~LDB_DI1_VS_POL_MASK)
+                               | LDB_DI1_VS_POL_ACT_LOW;
+       }
+       writel(reg, ldb->control_reg);
+
+       /* clk setup */
+       if (ldb->setting[setting_idx].clk_en)
+                clk_disable_unprepare(ldb->setting[setting_idx].ldb_di_clk);
+       pixel_clk = (PICOS2KHZ(fbi->var.pixclock)) * 1000UL;
+       ldb_clk_parent = clk_get_parent(ldb->setting[setting_idx].ldb_di_clk);
+       if (IS_ERR(ldb_clk_parent)) {
+               dev_err(&ldb->pdev->dev, "get ldb di parent clk fail\n");
+               return PTR_ERR(ldb_clk_parent);
+       }
+       if ((ldb->mode == LDB_SPL_DI0) || (ldb->mode == LDB_SPL_DI1))
+               ret = clk_set_rate(ldb_clk_parent, pixel_clk * 7 / 2);
+       else
+               ret = clk_set_rate(ldb_clk_parent, pixel_clk * 7);
+       if (ret < 0) {
+               dev_err(&ldb->pdev->dev, "set ldb parent clk fail:%d\n", ret);
+               return ret;
+       }
+       rounded_pixel_clk = clk_round_rate(ldb->setting[setting_idx].ldb_di_clk,
+                                               pixel_clk);
+       dev_dbg(&ldb->pdev->dev, "pixel_clk:%d, rounded_pixel_clk:%d\n",
+                       pixel_clk, rounded_pixel_clk);
+       ret = clk_set_rate(ldb->setting[setting_idx].ldb_di_clk,
+                               rounded_pixel_clk);
+       if (ret < 0) {
+               dev_err(&ldb->pdev->dev, "set ldb di clk fail:%d\n", ret);
+               return ret;
+       }
+       ret = clk_prepare_enable(ldb->setting[setting_idx].ldb_di_clk);
+       if (ret < 0) {
+               dev_err(&ldb->pdev->dev, "enable ldb di clk fail:%d\n", ret);
+               return ret;
+       }
+
+       if (!ldb->setting[setting_idx].clk_en)
+               ldb->setting[setting_idx].clk_en = true;
+
+       return 0;
+}
+
+int ldb_fb_event(struct notifier_block *nb, unsigned long val, void *v)
+{
+       struct ldb_data *ldb = container_of(nb, struct ldb_data, nb);
+       struct fb_event *event = v;
+       struct fb_info *fbi = event->info;
+       int index;
+       uint32_t data;
+
+       index = find_ldb_setting(ldb, fbi);
+       if (index < 0)
+               return 0;
+
+       fbi->mode = (struct fb_videomode *)fb_match_mode(&fbi->var,
+                       &fbi->modelist);
+
+       if (!fbi->mode) {
+               dev_warn(&ldb->pdev->dev,
+                               "LDB: can not find mode for xres=%d, yres=%d\n",
+                               fbi->var.xres, fbi->var.yres);
+               if (ldb->setting[index].clk_en) {
+                       clk_disable(ldb->setting[index].ldb_di_clk);
+                       ldb->setting[index].clk_en = false;
+                       data = readl(ldb->control_reg);
+                       data &= ~ldb->setting[index].ch_mask;
+                       writel(data, ldb->control_reg);
+               }
+               return 0;
+       }
+
+       switch (val) {
+       case FB_EVENT_BLANK:
+       {
+               if (*((int *)event->data) == FB_BLANK_UNBLANK) {
+                       if (!ldb->setting[index].clk_en) {
+                               clk_enable(ldb->setting[index].ldb_di_clk);
+                               ldb->setting[index].clk_en = true;
+                       }
+               } else {
+                       if (ldb->setting[index].clk_en) {
+                               clk_disable(ldb->setting[index].ldb_di_clk);
+                               ldb->setting[index].clk_en = false;
+                               data = readl(ldb->control_reg);
+                               data &= ~ldb->setting[index].ch_mask;
+                               writel(data, ldb->control_reg);
+                               dev_dbg(&ldb->pdev->dev,
+                                       "LDB blank, control reg:0x%x\n",
+                                               readl(ldb->control_reg));
+                       }
+               }
+               break;
+       }
+       case FB_EVENT_SUSPEND:
+               if (ldb->setting[index].clk_en) {
+                       clk_disable(ldb->setting[index].ldb_di_clk);
+                       ldb->setting[index].clk_en = false;
+               }
+               break;
+       default:
+               break;
+       }
+       return 0;
+}
+
+#define LVDS_MUX_CTL_WIDTH     2
+#define LVDS_MUX_CTL_MASK      3
+#define LVDS0_MUX_CTL_OFFS     6
+#define LVDS1_MUX_CTL_OFFS     8
+#define LVDS0_MUX_CTL_MASK     (LVDS_MUX_CTL_MASK << 6)
+#define LVDS1_MUX_CTL_MASK     (LVDS_MUX_CTL_MASK << 8)
+#define ROUTE_IPU_DI(ipu, di)  (((ipu << 1) | di) & LVDS_MUX_CTL_MASK)
+static int ldb_ipu_ldb_route(int ipu, int di, struct ldb_data *ldb)
+{
+       uint32_t reg;
+       int channel;
+       int shift;
+       int mode = ldb->mode;
+
+       reg = readl(ldb->gpr3_reg);
+       if (mode < LDB_SIN0) {
+               reg &= ~(LVDS0_MUX_CTL_MASK | LVDS1_MUX_CTL_MASK);
+               reg |= (ROUTE_IPU_DI(ipu, di) << LVDS0_MUX_CTL_OFFS) |
+                       (ROUTE_IPU_DI(ipu, di) << LVDS1_MUX_CTL_OFFS);
+               dev_dbg(&ldb->pdev->dev,
+                       "Dual/Split mode both channels route to IPU%d-DI%d\n",
+                       ipu, di);
+       } else if ((mode == LDB_SIN0) || (mode == LDB_SIN1)) {
+               reg &= ~(LVDS0_MUX_CTL_MASK | LVDS1_MUX_CTL_MASK);
+               channel = mode - LDB_SIN0;
+               shift = LVDS0_MUX_CTL_OFFS + channel * LVDS_MUX_CTL_WIDTH;
+               reg |= ROUTE_IPU_DI(ipu, di) << shift;
+               dev_dbg(&ldb->pdev->dev,
+                       "Single mode channel %d route to IPU%d-DI%d\n",
+                               channel, ipu, di);
+       } else {
+               static bool first = true;
+
+               if (first) {
+                       if (mode == LDB_SEP0) {
+                               reg &= ~LVDS0_MUX_CTL_MASK;
+                               channel = 0;
+                       } else {
+                               reg &= ~LVDS1_MUX_CTL_MASK;
+                               channel = 1;
+                       }
+                       first = false;
+               } else {
+                       if (mode == LDB_SEP0) {
+                               reg &= ~LVDS1_MUX_CTL_MASK;
+                               channel = 1;
+                       } else {
+                               reg &= ~LVDS0_MUX_CTL_MASK;
+                               channel = 0;
+                       }
+               }
+
+               shift = LVDS0_MUX_CTL_OFFS + channel * LVDS_MUX_CTL_WIDTH;
+               reg |= ROUTE_IPU_DI(ipu, di) << shift;
+
+               dev_dbg(&ldb->pdev->dev,
+                       "Separate mode channel %d route to IPU%d-DI%d\n",
+                       channel, ipu, di);
+       }
+       writel(reg, ldb->gpr3_reg);
+
+       return 0;
+}
+
+static int ldb_disp_init(struct mxc_dispdrv_handle *disp,
+       struct mxc_dispdrv_setting *setting)
+{
+       int ret = 0, i, lvds_channel = 0;
+       struct ldb_data *ldb = mxc_dispdrv_getdata(disp);
+       struct fsl_mxc_ldb_platform_data *plat_data = ldb->pdev->dev.platform_data;
+       struct resource *res;
+       uint32_t reg, setting_idx;
+       uint32_t ch_mask = 0, ch_val = 0;
+       uint32_t ipu_id, disp_id;
+       char di_clk[] = "ipu1_di0_sel";
+       char ldb_clk[] = "ldb_di0";
+       char div_3_5_clk[] = "di0_div_3_5";
+       char div_7_clk[] = "di0_div_7";
+       char div_sel_clk[] = "di0_div_sel";
+
+       /* if input format not valid, make RGB666 as default*/
+       if (!valid_mode(setting->if_fmt)) {
+               dev_warn(&ldb->pdev->dev, "Input pixel format not valid"
+                                       " use default RGB666\n");
+               setting->if_fmt = IPU_PIX_FMT_RGB666;
+       }
+
+       if (!ldb->inited) {
+               setting_idx = 0;
+               res = platform_get_resource(ldb->pdev, IORESOURCE_MEM, 0);
+               if (!res) {
+                       dev_err(&ldb->pdev->dev, "get iomem fail.\n");
+                       return -ENOMEM;
+               }
+
+               ldb->reg = devm_ioremap(&ldb->pdev->dev, res->start,
+                                       resource_size(res));
+               ldb->control_reg = ldb->reg + 2;
+               ldb->gpr3_reg = ldb->reg + 3;
+
+               /* ipu selected by platform data setting */
+               setting->dev_id = plat_data->ipu_id;
+
+               reg = readl(ldb->control_reg);
+
+               /* refrence resistor select */
+               reg &= ~LDB_BGREF_RMODE_MASK;
+               if (plat_data->ext_ref)
+                       reg |= LDB_BGREF_RMODE_EXT;
+               else
+                       reg |= LDB_BGREF_RMODE_INT;
+
+               /* TODO: now only use SPWG data mapping for both channel */
+               reg &= ~(LDB_BIT_MAP_CH0_MASK | LDB_BIT_MAP_CH1_MASK);
+               reg |= LDB_BIT_MAP_CH0_SPWG | LDB_BIT_MAP_CH1_SPWG;
+
+               /* channel mode setting */
+               reg &= ~(LDB_CH0_MODE_MASK | LDB_CH1_MODE_MASK);
+               reg &= ~(LDB_DATA_WIDTH_CH0_MASK | LDB_DATA_WIDTH_CH1_MASK);
+
+               if (bits_per_pixel(setting->if_fmt) == 24)
+                       reg |= LDB_DATA_WIDTH_CH0_24 | LDB_DATA_WIDTH_CH1_24;
+               else
+                       reg |= LDB_DATA_WIDTH_CH0_18 | LDB_DATA_WIDTH_CH1_18;
+
+               if (g_ldb_mode >= LDB_SPL_DI0)
+                       ldb->mode = g_ldb_mode;
+               else
+                       ldb->mode = plat_data->mode;
+
+               if ((ldb->mode == LDB_SIN0) || (ldb->mode == LDB_SIN1)) {
+                       ret = ldb->mode - LDB_SIN0;
+                       if (plat_data->disp_id != ret) {
+                               dev_warn(&ldb->pdev->dev,
+                                       "change IPU DI%d to IPU DI%d for LDB "
+                                       "channel%d.\n",
+                                       plat_data->disp_id, ret, ret);
+                               plat_data->disp_id = ret;
+                       }
+               } else if (((ldb->mode == LDB_SEP0) || (ldb->mode == LDB_SEP1))
+                               && is_imx6_ldb(plat_data)) {
+                       if (plat_data->disp_id == plat_data->sec_disp_id) {
+                               dev_err(&ldb->pdev->dev,
+                                       "For LVDS separate mode,"
+                                       "two DIs should be different!\n");
+                               return -EINVAL;
+                       }
+
+                       if (((!plat_data->disp_id) && (ldb->mode == LDB_SEP1))
+                               || ((plat_data->disp_id) &&
+                                       (ldb->mode == LDB_SEP0))) {
+                               dev_dbg(&ldb->pdev->dev,
+                                       "LVDS separate mode:"
+                                       "swap DI configuration!\n");
+                               ipu_id = plat_data->ipu_id;
+                               disp_id = plat_data->disp_id;
+                               plat_data->ipu_id = plat_data->sec_ipu_id;
+                               plat_data->disp_id = plat_data->sec_disp_id;
+                               plat_data->sec_ipu_id = ipu_id;
+                               plat_data->sec_disp_id = disp_id;
+                       }
+               }
+
+               if (ldb->mode == LDB_SPL_DI0) {
+                       reg |= LDB_SPLIT_MODE_EN | LDB_CH0_MODE_EN_TO_DI0
+                               | LDB_CH1_MODE_EN_TO_DI0;
+                       setting->disp_id = 0;
+               } else if (ldb->mode == LDB_SPL_DI1) {
+                       reg |= LDB_SPLIT_MODE_EN | LDB_CH0_MODE_EN_TO_DI1
+                               | LDB_CH1_MODE_EN_TO_DI1;
+                       setting->disp_id = 1;
+               } else if (ldb->mode == LDB_DUL_DI0) {
+                       reg &= ~LDB_SPLIT_MODE_EN;
+                       reg |= LDB_CH0_MODE_EN_TO_DI0 | LDB_CH1_MODE_EN_TO_DI0;
+                       setting->disp_id = 0;
+               } else if (ldb->mode == LDB_DUL_DI1) {
+                       reg &= ~LDB_SPLIT_MODE_EN;
+                       reg |= LDB_CH0_MODE_EN_TO_DI1 | LDB_CH1_MODE_EN_TO_DI1;
+                       setting->disp_id = 1;
+               } else if (ldb->mode == LDB_SIN0) {
+                       reg &= ~LDB_SPLIT_MODE_EN;
+                       setting->disp_id = plat_data->disp_id;
+                       if (setting->disp_id == 0)
+                               reg |= LDB_CH0_MODE_EN_TO_DI0;
+                       else
+                               reg |= LDB_CH0_MODE_EN_TO_DI1;
+                       ch_mask = LDB_CH0_MODE_MASK;
+                       ch_val = reg & LDB_CH0_MODE_MASK;
+               } else if (ldb->mode == LDB_SIN1) {
+                       reg &= ~LDB_SPLIT_MODE_EN;
+                       setting->disp_id = plat_data->disp_id;
+                       if (setting->disp_id == 0)
+                               reg |= LDB_CH1_MODE_EN_TO_DI0;
+                       else
+                               reg |= LDB_CH1_MODE_EN_TO_DI1;
+                       ch_mask = LDB_CH1_MODE_MASK;
+                       ch_val = reg & LDB_CH1_MODE_MASK;
+               } else { /* separate mode*/
+                       setting->disp_id = plat_data->disp_id;
+
+                       /* first output is LVDS0 or LVDS1 */
+                       if (ldb->mode == LDB_SEP0)
+                               lvds_channel = 0;
+                       else
+                               lvds_channel = 1;
+
+                       reg &= ~LDB_SPLIT_MODE_EN;
+
+                       if ((lvds_channel == 0) && (setting->disp_id == 0))
+                               reg |= LDB_CH0_MODE_EN_TO_DI0;
+                       else if ((lvds_channel == 0) && (setting->disp_id == 1))
+                               reg |= LDB_CH0_MODE_EN_TO_DI1;
+                       else if ((lvds_channel == 1) && (setting->disp_id == 0))
+                               reg |= LDB_CH1_MODE_EN_TO_DI0;
+                       else
+                               reg |= LDB_CH1_MODE_EN_TO_DI1;
+                       ch_mask = lvds_channel ? LDB_CH1_MODE_MASK :
+                                       LDB_CH0_MODE_MASK;
+                       ch_val = reg & ch_mask;
+
+                       if (bits_per_pixel(setting->if_fmt) == 24) {
+                               if (lvds_channel == 0)
+                                       reg &= ~LDB_DATA_WIDTH_CH1_24;
+                               else
+                                       reg &= ~LDB_DATA_WIDTH_CH0_24;
+                       } else {
+                               if (lvds_channel == 0)
+                                       reg &= ~LDB_DATA_WIDTH_CH1_18;
+                               else
+                                       reg &= ~LDB_DATA_WIDTH_CH0_18;
+                       }
+               }
+
+               writel(reg, ldb->control_reg);
+               if (ldb->mode <  LDB_SIN0) {
+                       ch_mask = LDB_CH0_MODE_MASK | LDB_CH1_MODE_MASK;
+                       ch_val = reg & (LDB_CH0_MODE_MASK | LDB_CH1_MODE_MASK);
+               }
+       } else { /* second time for separate mode */
+               if ((ldb->mode == LDB_SPL_DI0) ||
+                       (ldb->mode == LDB_SPL_DI1) ||
+                       (ldb->mode == LDB_DUL_DI0) ||
+                       (ldb->mode == LDB_DUL_DI1) ||
+                       (ldb->mode == LDB_SIN0) ||
+                       (ldb->mode == LDB_SIN1)) {
+                       dev_err(&ldb->pdev->dev, "for second ldb disp"
+                                       "ldb mode should in separate mode\n");
+                       return -EINVAL;
+               }
+
+               setting_idx = 1;
+               if (is_imx6_ldb(plat_data)) {
+                       setting->dev_id = plat_data->sec_ipu_id;
+                       setting->disp_id = plat_data->sec_disp_id;
+               } else {
+                       setting->dev_id = plat_data->ipu_id;
+                       setting->disp_id = !plat_data->disp_id;
+               }
+               if (setting->disp_id == ldb->setting[0].di) {
+                       dev_err(&ldb->pdev->dev, "Err: for second ldb disp in"
+                               "separate mode, DI should be different!\n");
+                       return -EINVAL;
+               }
+
+               /* second output is LVDS0 or LVDS1 */
+               if (ldb->mode == LDB_SEP0)
+                       lvds_channel = 1;
+               else
+                       lvds_channel = 0;
+
+               reg = readl(ldb->control_reg);
+               if ((lvds_channel == 0) && (setting->disp_id == 0))
+                       reg |= LDB_CH0_MODE_EN_TO_DI0;
+               else if ((lvds_channel == 0) && (setting->disp_id == 1))
+                       reg |= LDB_CH0_MODE_EN_TO_DI1;
+               else if ((lvds_channel == 1) && (setting->disp_id == 0))
+                       reg |= LDB_CH1_MODE_EN_TO_DI0;
+               else
+                       reg |= LDB_CH1_MODE_EN_TO_DI1;
+               ch_mask = lvds_channel ?  LDB_CH1_MODE_MASK :
+                               LDB_CH0_MODE_MASK;
+               ch_val = reg & ch_mask;
+
+               if (bits_per_pixel(setting->if_fmt) == 24) {
+                       if (lvds_channel == 0)
+                               reg |= LDB_DATA_WIDTH_CH0_24;
+                       else
+                               reg |= LDB_DATA_WIDTH_CH1_24;
+               } else {
+                       if (lvds_channel == 0)
+                               reg |= LDB_DATA_WIDTH_CH0_18;
+                       else
+                               reg |= LDB_DATA_WIDTH_CH1_18;
+               }
+               writel(reg, ldb->control_reg);
+       }
+
+       /* get clocks */
+       if (is_imx6_ldb(plat_data) &&
+               ((ldb->mode == LDB_SEP0) || (ldb->mode == LDB_SEP1))) {
+               ldb_clk[6] += lvds_channel;
+               div_3_5_clk[2] += lvds_channel;
+               div_7_clk[2] += lvds_channel;
+               div_sel_clk[2] += lvds_channel;
+       } else {
+               ldb_clk[6] += setting->disp_id;
+               div_3_5_clk[2] += setting->disp_id;
+               div_7_clk[2] += setting->disp_id;
+               div_sel_clk[2] += setting->disp_id;
+       }
+       ldb->setting[setting_idx].ldb_di_clk = clk_get(&ldb->pdev->dev,
+                                                       ldb_clk);
+       if (IS_ERR(ldb->setting[setting_idx].ldb_di_clk)) {
+               dev_err(&ldb->pdev->dev, "get ldb clk failed\n");
+               return PTR_ERR(ldb->setting[setting_idx].ldb_di_clk);
+       }
+
+       ldb->setting[setting_idx].div_3_5_clk = clk_get(&ldb->pdev->dev,
+                                                       div_3_5_clk);
+       if (IS_ERR(ldb->setting[setting_idx].div_3_5_clk)) {
+               dev_err(&ldb->pdev->dev, "get div 3.5 clk failed\n");
+               return PTR_ERR(ldb->setting[setting_idx].div_3_5_clk);
+       }
+       ldb->setting[setting_idx].div_7_clk = clk_get(&ldb->pdev->dev,
+                                                       div_7_clk);
+       if (IS_ERR(ldb->setting[setting_idx].div_7_clk)) {
+               dev_err(&ldb->pdev->dev, "get div 7 clk failed\n");
+               return PTR_ERR(ldb->setting[setting_idx].div_7_clk);
+       }
+
+       ldb->setting[setting_idx].div_sel_clk = clk_get(&ldb->pdev->dev,
+                                                       div_sel_clk);
+       if (IS_ERR(ldb->setting[setting_idx].div_sel_clk)) {
+               dev_err(&ldb->pdev->dev, "get div sel clk failed\n");
+               return PTR_ERR(ldb->setting[setting_idx].div_sel_clk);
+       }
+
+       di_clk[3] += setting->dev_id;
+       di_clk[7] += setting->disp_id;
+       ldb->setting[setting_idx].di_clk = clk_get(&ldb->pdev->dev,
+                                                       di_clk);
+       if (IS_ERR(ldb->setting[setting_idx].di_clk)) {
+               dev_err(&ldb->pdev->dev, "get di clk failed\n");
+               return PTR_ERR(ldb->setting[setting_idx].di_clk);
+       }
+
+       ldb->setting[setting_idx].ch_mask = ch_mask;
+       ldb->setting[setting_idx].ch_val = ch_val;
+
+       if (is_imx6_ldb(plat_data))
+               ldb_ipu_ldb_route(setting->dev_id, setting->disp_id, ldb);
+
+       /* must use spec video mode defined by driver */
+       ret = fb_find_mode(&setting->fbi->var, setting->fbi, setting->dft_mode_str,
+                               ldb_modedb, ldb_modedb_sz, NULL, setting->default_bpp);
+       if (ret != 1)
+               fb_videomode_to_var(&setting->fbi->var, &ldb_modedb[0]);
+
+       INIT_LIST_HEAD(&setting->fbi->modelist);
+       for (i = 0; i < ldb_modedb_sz; i++) {
+               struct fb_videomode m;
+               fb_var_to_videomode(&m, &setting->fbi->var);
+               if (fb_mode_is_equal(&m, &ldb_modedb[i])) {
+                       fb_add_videomode(&ldb_modedb[i],
+                                       &setting->fbi->modelist);
+                       break;
+               }
+       }
+
+       ldb->setting[setting_idx].ipu = setting->dev_id;
+       ldb->setting[setting_idx].di = setting->disp_id;
+
+       return ret;
+}
+
+static int ldb_post_disp_init(struct mxc_dispdrv_handle *disp,
+                               int ipu_id, int disp_id)
+{
+       struct ldb_data *ldb = mxc_dispdrv_getdata(disp);
+       int setting_idx = ldb->inited ? 1 : 0;
+       int ret = 0;
+
+       if (!ldb->inited) {
+               ldb->nb.notifier_call = ldb_fb_event;
+               fb_register_client(&ldb->nb);
+       }
+
+       ret = clk_set_parent(ldb->setting[setting_idx].di_clk,
+                       ldb->setting[setting_idx].ldb_di_clk);
+       if (ret) {
+               dev_err(&ldb->pdev->dev, "fail to set ldb_di clk as"
+                       "the parent of ipu_di clk\n");
+               return ret;
+       }
+
+       if ((ldb->mode == LDB_SPL_DI0) || (ldb->mode == LDB_SPL_DI1)) {
+               ret = clk_set_parent(ldb->setting[setting_idx].div_sel_clk,
+                               ldb->setting[setting_idx].div_3_5_clk);
+               if (ret) {
+                       dev_err(&ldb->pdev->dev, "fail to set div 3.5 clk as"
+                               "the parent of div sel clk\n");
+                       return ret;
+               }
+       } else {
+               ret = clk_set_parent(ldb->setting[setting_idx].div_sel_clk,
+                               ldb->setting[setting_idx].div_7_clk);
+               if (ret) {
+                       dev_err(&ldb->pdev->dev, "fail to set div 7 clk as"
+                               "the parent of div sel clk\n");
+                       return ret;
+               }
+       }
+
+       /* save active ldb setting for fb notifier */
+       ldb->setting[setting_idx].active = true;
+
+       ldb->inited = true;
+       return ret;
+}
+
+static void ldb_disp_deinit(struct mxc_dispdrv_handle *disp)
+{
+       struct ldb_data *ldb = mxc_dispdrv_getdata(disp);
+       int i;
+
+       writel(0, ldb->control_reg);
+
+       for (i = 0; i < 2; i++) {
+               clk_disable(ldb->setting[i].ldb_di_clk);
+               clk_put(ldb->setting[i].ldb_di_clk);
+               clk_put(ldb->setting[i].div_3_5_clk);
+               clk_put(ldb->setting[i].div_7_clk);
+               clk_put(ldb->setting[i].div_sel_clk);
+       }
+
+       fb_unregister_client(&ldb->nb);
+}
+
+static struct mxc_dispdrv_driver ldb_drv = {
+       .name   = DISPDRV_LDB,
+       .init   = ldb_disp_init,
+       .post_init = ldb_post_disp_init,
+       .deinit = ldb_disp_deinit,
+       .setup = ldb_disp_setup,
+};
+
+static int ldb_suspend(struct platform_device *pdev, pm_message_t state)
+{
+       struct ldb_data *ldb = dev_get_drvdata(&pdev->dev);
+       uint32_t        data;
+
+       if (!ldb->inited)
+               return 0;
+       data = readl(ldb->control_reg);
+       ldb->control_reg_data = data;
+       data &= ~(LDB_CH0_MODE_MASK | LDB_CH1_MODE_MASK);
+       writel(data, ldb->control_reg);
+
+       return 0;
+}
+
+static int ldb_resume(struct platform_device *pdev)
+{
+       struct ldb_data *ldb = dev_get_drvdata(&pdev->dev);
+
+       if (!ldb->inited)
+               return 0;
+       writel(ldb->control_reg_data, ldb->control_reg);
+
+       return 0;
+}
+
+static struct platform_device_id imx_ldb_devtype[] = {
+       {
+               .name = "ldb-imx6",
+               .driver_data = LDB_IMX6,
+       }, {
+               /* sentinel */
+       }
+};
+
+static const struct of_device_id imx_ldb_dt_ids[] = {
+       { .compatible = "fsl,imx6q-ldb", .data = &imx_ldb_devtype[IMX6_LDB],},
+       { /* sentinel */ }
+};
+
+/*!
+ * This function is called by the driver framework to initialize the LDB
+ * device.
+ *
+ * @param      dev     The device structure for the LDB passed in by the
+ *                     driver framework.
+ *
+ * @return      Returns 0 on success or negative error code on error
+ */
+static int ldb_probe(struct platform_device *pdev)
+{
+       int ret = 0;
+       struct ldb_data *ldb;
+       struct fsl_mxc_ldb_platform_data *plat_data;
+       const struct of_device_id *of_id =
+                       of_match_device(imx_ldb_dt_ids, &pdev->dev);
+
+       dev_dbg(&pdev->dev, "%s enter\n", __func__);
+       ldb = devm_kzalloc(&pdev->dev, sizeof(struct ldb_data), GFP_KERNEL);
+       if (!ldb)
+               return -ENOMEM;
+
+       plat_data = devm_kzalloc(&pdev->dev,
+                               sizeof(struct fsl_mxc_ldb_platform_data),
+                               GFP_KERNEL);
+       if (!plat_data)
+               return -ENOMEM;
+       pdev->dev.platform_data = plat_data;
+       if (of_id)
+               pdev->id_entry = of_id->data;
+       plat_data->devtype = pdev->id_entry->driver_data;
+
+       ret = ldb_get_of_property(pdev, plat_data);
+       if (ret < 0) {
+               dev_err(&pdev->dev, "get ldb of property fail\n");
+               return ret;
+       }
+
+       ldb->pdev = pdev;
+       ldb->disp_ldb = mxc_dispdrv_register(&ldb_drv);
+       mxc_dispdrv_setdata(ldb->disp_ldb, ldb);
+
+       dev_set_drvdata(&pdev->dev, ldb);
+
+       dev_dbg(&pdev->dev, "%s exit\n", __func__);
+       return ret;
+}
+
+static int ldb_remove(struct platform_device *pdev)
+{
+       struct ldb_data *ldb = dev_get_drvdata(&pdev->dev);
+
+       if (!ldb->inited)
+               return 0;
+       mxc_dispdrv_puthandle(ldb->disp_ldb);
+       mxc_dispdrv_unregister(ldb->disp_ldb);
+       return 0;
+}
+
+static struct platform_driver mxcldb_driver = {
+       .driver = {
+               .name = "mxc_ldb",
+               .of_match_table = imx_ldb_dt_ids,
+       },
+       .probe = ldb_probe,
+       .remove = ldb_remove,
+       .suspend = ldb_suspend,
+       .resume = ldb_resume,
+};
+
+static int __init ldb_init(void)
+{
+       return platform_driver_register(&mxcldb_driver);
+}
+
+static void __exit ldb_uninit(void)
+{
+       platform_driver_unregister(&mxcldb_driver);
+}
+
+module_init(ldb_init);
+module_exit(ldb_uninit);
+
+MODULE_AUTHOR("Freescale Semiconductor, Inc.");
+MODULE_DESCRIPTION("MXC LDB driver");
+MODULE_LICENSE("GPL");
diff --git a/drivers/video/mxc/mxc_dispdrv.c b/drivers/video/mxc/mxc_dispdrv.c
new file mode 100644 (file)
index 0000000..5193c7d
--- /dev/null
@@ -0,0 +1,150 @@
+/*
+ * Copyright (C) 2011-2013 Freescale Semiconductor, Inc. All Rights Reserved.
+ */
+
+/*
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/*!
+ * @file mxc_dispdrv.c
+ * @brief mxc display driver framework.
+ *
+ * A display device driver could call mxc_dispdrv_register(drv) in its dev_probe() function.
+ * Move all dev_probe() things into mxc_dispdrv_driver->init(), init() function should init
+ * and feedback setting;
+ * Necessary deferred operations can be done in mxc_dispdrv_driver->post_init(),
+ * after dev_id and disp_id pass usage check;
+ * Move all dev_remove() things into mxc_dispdrv_driver->deinit();
+ * Move all dev_suspend() things into fb_notifier for SUSPEND, if there is;
+ * Move all dev_resume() things into fb_notifier for RESUME, if there is;
+ *
+ * ipuv3 fb driver could call mxc_dispdrv_gethandle(name, setting) before a fb
+ * need be added, with fbi param passing by setting, after
+ * mxc_dispdrv_gethandle() return, FB driver should get the basic setting
+ * about fbi info and ipuv3-hw (ipu_id and disp_id).
+ *
+ * @ingroup Framebuffer
+ */
+
+#include <linux/kernel.h>
+#include <linux/module.h>
+#include <linux/list.h>
+#include <linux/mutex.h>
+#include <linux/slab.h>
+#include <linux/err.h>
+#include <linux/string.h>
+#include "mxc_dispdrv.h"
+
+static LIST_HEAD(dispdrv_list);
+static DEFINE_MUTEX(dispdrv_lock);
+
+struct mxc_dispdrv_entry {
+       /* Note: drv always the first element */
+       struct mxc_dispdrv_driver *drv;
+       bool active;
+       void *priv;
+       struct list_head list;
+};
+
+struct mxc_dispdrv_handle *mxc_dispdrv_register(struct mxc_dispdrv_driver *drv)
+{
+       struct mxc_dispdrv_entry *new;
+
+       mutex_lock(&dispdrv_lock);
+
+       new = kzalloc(sizeof(struct mxc_dispdrv_entry), GFP_KERNEL);
+       if (!new) {
+               mutex_unlock(&dispdrv_lock);
+               return ERR_PTR(-ENOMEM);
+       }
+
+       new->drv = drv;
+       list_add_tail(&new->list, &dispdrv_list);
+
+       mutex_unlock(&dispdrv_lock);
+
+       return (struct mxc_dispdrv_handle *)new;
+}
+EXPORT_SYMBOL_GPL(mxc_dispdrv_register);
+
+int mxc_dispdrv_unregister(struct mxc_dispdrv_handle *handle)
+{
+       struct mxc_dispdrv_entry *entry = (struct mxc_dispdrv_entry *)handle;
+
+       if (entry) {
+               mutex_lock(&dispdrv_lock);
+               list_del(&entry->list);
+               mutex_unlock(&dispdrv_lock);
+               kfree(entry);
+               return 0;
+       } else
+               return -EINVAL;
+}
+EXPORT_SYMBOL_GPL(mxc_dispdrv_unregister);
+
+struct mxc_dispdrv_handle *mxc_dispdrv_gethandle(char *name,
+       struct mxc_dispdrv_setting *setting)
+{
+       int ret, found = 0;
+       struct mxc_dispdrv_entry *entry;
+
+       mutex_lock(&dispdrv_lock);
+       list_for_each_entry(entry, &dispdrv_list, list) {
+               if (!strcmp(entry->drv->name, name) && (entry->drv->init)) {
+                       ret = entry->drv->init((struct mxc_dispdrv_handle *)
+                               entry, setting);
+                       if (ret >= 0) {
+                               entry->active = true;
+                               found = 1;
+                               break;
+                       }
+               }
+       }
+       mutex_unlock(&dispdrv_lock);
+
+       return found ? (struct mxc_dispdrv_handle *)entry:ERR_PTR(-ENODEV);
+}
+EXPORT_SYMBOL_GPL(mxc_dispdrv_gethandle);
+
+void mxc_dispdrv_puthandle(struct mxc_dispdrv_handle *handle)
+{
+       struct mxc_dispdrv_entry *entry = (struct mxc_dispdrv_entry *)handle;
+
+       mutex_lock(&dispdrv_lock);
+       if (entry && entry->active && entry->drv->deinit) {
+               entry->drv->deinit(handle);
+               entry->active = false;
+       }
+       mutex_unlock(&dispdrv_lock);
+
+}
+EXPORT_SYMBOL_GPL(mxc_dispdrv_puthandle);
+
+int mxc_dispdrv_setdata(struct mxc_dispdrv_handle *handle, void *data)
+{
+       struct mxc_dispdrv_entry *entry = (struct mxc_dispdrv_entry *)handle;
+
+       if (entry) {
+               entry->priv = data;
+               return 0;
+       } else
+               return -EINVAL;
+}
+EXPORT_SYMBOL_GPL(mxc_dispdrv_setdata);
+
+void *mxc_dispdrv_getdata(struct mxc_dispdrv_handle *handle)
+{
+       struct mxc_dispdrv_entry *entry = (struct mxc_dispdrv_entry *)handle;
+
+       if (entry) {
+               return entry->priv;
+       } else
+               return ERR_PTR(-EINVAL);
+}
+EXPORT_SYMBOL_GPL(mxc_dispdrv_getdata);
diff --git a/drivers/video/mxc/mxc_dispdrv.h b/drivers/video/mxc/mxc_dispdrv.h
new file mode 100644 (file)
index 0000000..127fd08
--- /dev/null
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2011-2013 Freescale Semiconductor, Inc. All Rights Reserved.
+ */
+
+/*
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+#ifndef __MXC_DISPDRV_H__
+#define __MXC_DISPDRV_H__
+#include <linux/fb.h>
+
+struct mxc_dispdrv_handle {
+       struct mxc_dispdrv_driver *drv;
+};
+
+struct mxc_dispdrv_setting {
+       /*input-feedback parameter*/
+       struct fb_info *fbi;
+       int if_fmt;
+       int default_bpp;
+       char *dft_mode_str;
+
+       /*feedback parameter*/
+       int dev_id;
+       int disp_id;
+};
+
+struct mxc_dispdrv_driver {
+       const char *name;
+       int (*init) (struct mxc_dispdrv_handle *, struct mxc_dispdrv_setting *);
+       /* deferred operations after dev_id and disp_id pass usage check */
+       int (*post_init) (struct mxc_dispdrv_handle *, int dev_id, int disp_id);
+       void (*deinit) (struct mxc_dispdrv_handle *);
+       /* display driver enable function for extension */
+       int (*enable) (struct mxc_dispdrv_handle *);
+       /* display driver disable function, called at early part of fb_blank */
+       void (*disable) (struct mxc_dispdrv_handle *);
+       /* display driver setup function, called at early part of fb_set_par */
+       int (*setup) (struct mxc_dispdrv_handle *, struct fb_info *fbi);
+};
+
+struct mxc_dispdrv_handle *mxc_dispdrv_register(struct mxc_dispdrv_driver *drv);
+int mxc_dispdrv_unregister(struct mxc_dispdrv_handle *handle);
+struct mxc_dispdrv_handle *mxc_dispdrv_gethandle(char *name,
+       struct mxc_dispdrv_setting *setting);
+void mxc_dispdrv_puthandle(struct mxc_dispdrv_handle *handle);
+int mxc_dispdrv_setdata(struct mxc_dispdrv_handle *handle, void *data);
+void *mxc_dispdrv_getdata(struct mxc_dispdrv_handle *handle);
+#endif
diff --git a/drivers/video/mxc/mxc_ipuv3_fb.c b/drivers/video/mxc/mxc_ipuv3_fb.c
new file mode 100644 (file)
index 0000000..9ba601f
--- /dev/null
@@ -0,0 +1,2571 @@
+/*
+ * Copyright 2004-2014 Freescale Semiconductor, Inc. All Rights Reserved.
+ */
+
+/*
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+#define DEBUG
+/*!
+ * @defgroup Framebuffer Framebuffer Driver for SDC and ADC.
+ */
+
+/*!
+ * @file mxcfb.c
+ *
+ * @brief MXC Frame buffer driver for SDC
+ *
+ * @ingroup Framebuffer
+ */
+
+/*!
+ * Include files
+ */
+#include <linux/clk.h>
+#include <linux/console.h>
+#include <linux/delay.h>
+#include <linux/dma-mapping.h>
+#include <linux/errno.h>
+#include <linux/fb.h>
+#include <linux/fsl_devices.h>
+#include <linux/init.h>
+#include <linux/interrupt.h>
+#include <linux/io.h>
+#include <linux/ioport.h>
+#include <linux/ipu.h>
+#include <linux/ipu-v3.h>
+#include <linux/kernel.h>
+#include <linux/module.h>
+#include <linux/mxcfb.h>
+#include <linux/of_device.h>
+#include <linux/platform_device.h>
+#include <linux/sched.h>
+#include <linux/slab.h>
+#include <linux/string.h>
+#include <linux/uaccess.h>
+
+#include "mxc_dispdrv.h"
+
+/*
+ * Driver name
+ */
+#define MXCFB_NAME      "mxc_sdc_fb"
+
+/* Display port number */
+#define MXCFB_PORT_NUM 2
+/*!
+ * Structure containing the MXC specific framebuffer information.
+ */
+struct mxcfb_info {
+       int default_bpp;
+       int cur_blank;
+       int next_blank;
+       ipu_channel_t ipu_ch;
+       int ipu_id;
+       int ipu_di;
+       u32 ipu_di_pix_fmt;
+       bool ipu_int_clk;
+       bool overlay;
+       bool alpha_chan_en;
+       bool late_init;
+       bool first_set_par;
+       dma_addr_t alpha_phy_addr0;
+       dma_addr_t alpha_phy_addr1;
+       void *alpha_virt_addr0;
+       void *alpha_virt_addr1;
+       uint32_t alpha_mem_len;
+       uint32_t ipu_ch_irq;
+       uint32_t ipu_ch_nf_irq;
+       uint32_t ipu_alp_ch_irq;
+       uint32_t cur_ipu_buf;
+       uint32_t cur_ipu_alpha_buf;
+
+       u32 pseudo_palette[16];
+
+       bool mode_found;
+       struct completion flip_complete;
+       struct completion alpha_flip_complete;
+       struct completion vsync_complete;
+
+       void *ipu;
+       struct fb_info *ovfbi;
+
+       struct mxc_dispdrv_handle *dispdrv;
+
+       struct fb_var_screeninfo cur_var;
+};
+
+struct mxcfb_pfmt {
+       u32 fb_pix_fmt;
+       int bpp;
+       struct fb_bitfield red;
+       struct fb_bitfield green;
+       struct fb_bitfield blue;
+       struct fb_bitfield transp;
+};
+
+static const struct mxcfb_pfmt mxcfb_pfmts[] = {
+       /*     pixel         bpp    red         green        blue      transp */
+       {IPU_PIX_FMT_RGB565, 16, {11, 5, 0}, { 5, 6, 0}, { 0, 5, 0}, { 0, 0, 0} },
+       {IPU_PIX_FMT_RGB24,  24, { 0, 8, 0}, { 8, 8, 0}, {16, 8, 0}, { 0, 0, 0} },
+       {IPU_PIX_FMT_BGR24,  24, {16, 8, 0}, { 8, 8, 0}, { 0, 8, 0}, { 0, 0, 0} },
+       {IPU_PIX_FMT_RGB32,  32, { 0, 8, 0}, { 8, 8, 0}, {16, 8, 0}, {24, 8, 0} },
+       {IPU_PIX_FMT_BGR32,  32, {16, 8, 0}, { 8, 8, 0}, { 0, 8, 0}, {24, 8, 0} },
+       {IPU_PIX_FMT_ABGR32, 32, {24, 8, 0}, {16, 8, 0}, { 8, 8, 0}, { 0, 8, 0} },
+};
+
+struct mxcfb_alloc_list {
+       struct list_head list;
+       dma_addr_t phy_addr;
+       void *cpu_addr;
+       u32 size;
+};
+
+enum {
+       BOTH_ON,
+       SRC_ON,
+       TGT_ON,
+       BOTH_OFF
+};
+
+static bool g_dp_in_use[2];
+LIST_HEAD(fb_alloc_list);
+
+/* Return default standard(RGB) pixel format */
+static uint32_t bpp_to_pixfmt(int bpp)
+{
+       uint32_t pixfmt = 0;
+
+       switch (bpp) {
+       case 24:
+               pixfmt = IPU_PIX_FMT_BGR24;
+               break;
+       case 32:
+               pixfmt = IPU_PIX_FMT_BGR32;
+               break;
+       case 16:
+               pixfmt = IPU_PIX_FMT_RGB565;
+               break;
+       }
+       return pixfmt;
+}
+
+static inline int bitfield_is_equal(struct fb_bitfield f1,
+                                   struct fb_bitfield f2)
+{
+       return !memcmp(&f1, &f2, sizeof(f1));
+}
+
+static int pixfmt_to_var(uint32_t pixfmt, struct fb_var_screeninfo *var)
+{
+       int i, ret = -1;
+
+       for (i = 0; i < ARRAY_SIZE(mxcfb_pfmts); i++) {
+               if (pixfmt == mxcfb_pfmts[i].fb_pix_fmt) {
+                       var->red    = mxcfb_pfmts[i].red;
+                       var->green  = mxcfb_pfmts[i].green;
+                       var->blue   = mxcfb_pfmts[i].blue;
+                       var->transp = mxcfb_pfmts[i].transp;
+                       var->bits_per_pixel = mxcfb_pfmts[i].bpp;
+                       ret = 0;
+                       break;
+               }
+       }
+       return ret;
+}
+
+static int bpp_to_var(int bpp, struct fb_var_screeninfo *var)
+{
+       uint32_t pixfmt = 0;
+
+       pixfmt = bpp_to_pixfmt(bpp);
+       if (pixfmt)
+               return pixfmt_to_var(pixfmt, var);
+       else
+               return -1;
+}
+
+static int check_var_pixfmt(struct fb_var_screeninfo *var)
+{
+       int i, ret = -1;
+
+       for (i = 0; i < ARRAY_SIZE(mxcfb_pfmts); i++) {
+               if (bitfield_is_equal(var->red, mxcfb_pfmts[i].red) &&
+                   bitfield_is_equal(var->green, mxcfb_pfmts[i].green) &&
+                   bitfield_is_equal(var->blue, mxcfb_pfmts[i].blue) &&
+                   bitfield_is_equal(var->transp, mxcfb_pfmts[i].transp) &&
+                   var->bits_per_pixel == mxcfb_pfmts[i].bpp) {
+                       ret = 0;
+                       break;
+               }
+       }
+       return ret;
+}
+
+static uint32_t fbi_to_pixfmt(struct fb_info *fbi)
+{
+       int i;
+       uint32_t pixfmt = 0;
+
+       if (fbi->var.nonstd)
+               return fbi->var.nonstd;
+
+       for (i = 0; i < ARRAY_SIZE(mxcfb_pfmts); i++) {
+               if (bitfield_is_equal(fbi->var.red, mxcfb_pfmts[i].red) &&
+                   bitfield_is_equal(fbi->var.green, mxcfb_pfmts[i].green) &&
+                   bitfield_is_equal(fbi->var.blue, mxcfb_pfmts[i].blue) &&
+                   bitfield_is_equal(fbi->var.transp, mxcfb_pfmts[i].transp)) {
+                       pixfmt = mxcfb_pfmts[i].fb_pix_fmt;
+                       break;
+               }
+       }
+
+       if (pixfmt == 0)
+               dev_err(fbi->device, "cannot get pixel format\n");
+
+       return pixfmt;
+}
+
+static struct fb_info *found_registered_fb(ipu_channel_t ipu_ch, int ipu_id)
+{
+       int i;
+       struct mxcfb_info *mxc_fbi;
+       struct fb_info *fbi = NULL;
+
+       for (i = 0; i < num_registered_fb; i++) {
+               mxc_fbi = registered_fb[i]->par;
+
+               if ((mxc_fbi->ipu_ch == ipu_ch) &&
+                       (mxc_fbi->ipu_id == ipu_id)) {
+                       fbi = registered_fb[i];
+                       break;
+               }
+       }
+       return fbi;
+}
+
+static irqreturn_t mxcfb_irq_handler(int irq, void *dev_id);
+static irqreturn_t mxcfb_nf_irq_handler(int irq, void *dev_id);
+static int mxcfb_blank(int blank, struct fb_info *info);
+static int mxcfb_map_video_memory(struct fb_info *fbi);
+static int mxcfb_unmap_video_memory(struct fb_info *fbi);
+
+/*
+ * Set fixed framebuffer parameters based on variable settings.
+ *
+ * @param       info     framebuffer information pointer
+ */
+static int mxcfb_set_fix(struct fb_info *info)
+{
+       struct fb_fix_screeninfo *fix = &info->fix;
+       struct fb_var_screeninfo *var = &info->var;
+
+       fix->line_length = var->xres_virtual * var->bits_per_pixel / 8;
+
+       fix->type = FB_TYPE_PACKED_PIXELS;
+       fix->accel = FB_ACCEL_NONE;
+       fix->visual = FB_VISUAL_TRUECOLOR;
+       fix->xpanstep = 1;
+       fix->ywrapstep = 1;
+       fix->ypanstep = 1;
+
+       return 0;
+}
+
+static int _setup_disp_channel1(struct fb_info *fbi)
+{
+       ipu_channel_params_t params;
+       struct mxcfb_info *mxc_fbi = fbi->par;
+
+       memset(&params, 0, sizeof(params));
+
+       if (mxc_fbi->ipu_ch == MEM_DC_SYNC) {
+               params.mem_dc_sync.di = mxc_fbi->ipu_di;
+               if (fbi->var.vmode & FB_VMODE_INTERLACED)
+                       params.mem_dc_sync.interlaced = true;
+               params.mem_dc_sync.out_pixel_fmt = mxc_fbi->ipu_di_pix_fmt;
+               params.mem_dc_sync.in_pixel_fmt = fbi_to_pixfmt(fbi);
+       } else {
+               params.mem_dp_bg_sync.di = mxc_fbi->ipu_di;
+               if (fbi->var.vmode & FB_VMODE_INTERLACED)
+                       params.mem_dp_bg_sync.interlaced = true;
+               params.mem_dp_bg_sync.out_pixel_fmt = mxc_fbi->ipu_di_pix_fmt;
+               params.mem_dp_bg_sync.in_pixel_fmt = fbi_to_pixfmt(fbi);
+               if (mxc_fbi->alpha_chan_en)
+                       params.mem_dp_bg_sync.alpha_chan_en = true;
+       }
+       ipu_init_channel(mxc_fbi->ipu, mxc_fbi->ipu_ch, &params);
+
+       return 0;
+}
+
+static int _setup_disp_channel2(struct fb_info *fbi)
+{
+       int retval = 0;
+       struct mxcfb_info *mxc_fbi = fbi->par;
+       int fb_stride;
+       unsigned long base;
+       unsigned int fr_xoff, fr_yoff, fr_w, fr_h;
+
+       switch (fbi_to_pixfmt(fbi)) {
+       case IPU_PIX_FMT_YUV420P2:
+       case IPU_PIX_FMT_YVU420P:
+       case IPU_PIX_FMT_NV12:
+       case IPU_PIX_FMT_YUV422P:
+       case IPU_PIX_FMT_YVU422P:
+       case IPU_PIX_FMT_YUV420P:
+       case IPU_PIX_FMT_YUV444P:
+               fb_stride = fbi->var.xres_virtual;
+               break;
+       default:
+               fb_stride = fbi->fix.line_length;
+       }
+
+       base = fbi->fix.smem_start;
+       fr_xoff = fbi->var.xoffset;
+       fr_w = fbi->var.xres_virtual;
+       if (!(fbi->var.vmode & FB_VMODE_YWRAP)) {
+               dev_dbg(fbi->device, "Y wrap disabled\n");
+               fr_yoff = fbi->var.yoffset % fbi->var.yres;
+               fr_h = fbi->var.yres;
+               base += fbi->fix.line_length * fbi->var.yres *
+                       (fbi->var.yoffset / fbi->var.yres);
+       } else {
+               dev_dbg(fbi->device, "Y wrap enabled\n");
+               fr_yoff = fbi->var.yoffset;
+               fr_h = fbi->var.yres_virtual;
+       }
+       base += fr_yoff * fb_stride + fr_xoff;
+
+       mxc_fbi->cur_ipu_buf = 2;
+       init_completion(&mxc_fbi->flip_complete);
+       /*
+        * We don't need to wait for vsync at the first time
+        * we do pan display after fb is initialized, as IPU will
+        * switch to the newly selected buffer automatically,
+        * so we call complete() for both mxc_fbi->flip_complete
+        * and mxc_fbi->alpha_flip_complete.
+        */
+       complete(&mxc_fbi->flip_complete);
+       if (mxc_fbi->alpha_chan_en) {
+               mxc_fbi->cur_ipu_alpha_buf = 1;
+               init_completion(&mxc_fbi->alpha_flip_complete);
+               complete(&mxc_fbi->alpha_flip_complete);
+       }
+
+       retval = ipu_init_channel_buffer(mxc_fbi->ipu,
+                                        mxc_fbi->ipu_ch, IPU_INPUT_BUFFER,
+                                        fbi_to_pixfmt(fbi),
+                                        fbi->var.xres, fbi->var.yres,
+                                        fb_stride,
+                                        fbi->var.rotate,
+                                        base,
+                                        base,
+                                        fbi->var.accel_flags &
+                                               FB_ACCEL_DOUBLE_FLAG ? 0 : base,
+                                        0, 0);
+       if (retval) {
+               dev_err(fbi->device,
+                       "ipu_init_channel_buffer error %d\n", retval);
+               return retval;
+       }
+
+       /* update u/v offset */
+       ipu_update_channel_offset(mxc_fbi->ipu, mxc_fbi->ipu_ch,
+                       IPU_INPUT_BUFFER,
+                       fbi_to_pixfmt(fbi),
+                       fr_w,
+                       fr_h,
+                       fr_w,
+                       0, 0,
+                       fr_yoff,
+                       fr_xoff);
+
+       if (mxc_fbi->alpha_chan_en) {
+               retval = ipu_init_channel_buffer(mxc_fbi->ipu,
+                                                mxc_fbi->ipu_ch,
+                                                IPU_ALPHA_IN_BUFFER,
+                                                IPU_PIX_FMT_GENERIC,
+                                                fbi->var.xres, fbi->var.yres,
+                                                fbi->var.xres,
+                                                fbi->var.rotate,
+                                                mxc_fbi->alpha_phy_addr1,
+                                                mxc_fbi->alpha_phy_addr0,
+                                                0,
+                                                0, 0);
+               if (retval) {
+                       dev_err(fbi->device,
+                               "ipu_init_channel_buffer error %d\n", retval);
+                       return retval;
+               }
+       }
+
+       return retval;
+}
+
+static bool mxcfb_need_to_set_par(struct fb_info *fbi)
+{
+       struct mxcfb_info *mxc_fbi = fbi->par;
+
+       if ((fbi->var.activate & FB_ACTIVATE_FORCE) &&
+           (fbi->var.activate & FB_ACTIVATE_MASK) == FB_ACTIVATE_NOW)
+               return true;
+
+       /*
+        * Ignore xoffset and yoffset update,
+        * because pan display handles this case.
+        */
+       mxc_fbi->cur_var.xoffset = fbi->var.xoffset;
+       mxc_fbi->cur_var.yoffset = fbi->var.yoffset;
+
+       return !!memcmp(&mxc_fbi->cur_var, &fbi->var,
+                       sizeof(struct fb_var_screeninfo));
+}
+
+/*
+ * Set framebuffer parameters and change the operating mode.
+ *
+ * @param       info     framebuffer information pointer
+ */
+static int mxcfb_set_par(struct fb_info *fbi)
+{
+       int retval = 0;
+       u32 mem_len, alpha_mem_len;
+       ipu_di_signal_cfg_t sig_cfg;
+       struct mxcfb_info *mxc_fbi = fbi->par;
+
+       int16_t ov_pos_x = 0, ov_pos_y = 0;
+       int ov_pos_ret = 0;
+       struct mxcfb_info *mxc_fbi_fg = NULL;
+       bool ovfbi_enable = false;
+
+       if (ipu_ch_param_bad_alpha_pos(fbi_to_pixfmt(fbi)) &&
+           mxc_fbi->alpha_chan_en) {
+               dev_err(fbi->device,
+                       "Bad pixel format for graphics plane fb\n");
+               return -EINVAL;
+       }
+
+       if (mxc_fbi->ovfbi)
+               mxc_fbi_fg = mxc_fbi->ovfbi->par;
+
+       if (mxc_fbi->ovfbi && mxc_fbi_fg)
+               if (mxc_fbi_fg->next_blank == FB_BLANK_UNBLANK)
+                       ovfbi_enable = true;
+
+       if (!mxcfb_need_to_set_par(fbi))
+               return 0;
+
+       dev_dbg(fbi->device, "Reconfiguring framebuffer\n");
+
+       if (fbi->var.xres == 0 || fbi->var.yres == 0)
+               return 0;
+
+       if (ovfbi_enable) {
+               ov_pos_ret = ipu_disp_get_window_pos(
+                                               mxc_fbi_fg->ipu, mxc_fbi_fg->ipu_ch,
+                                               &ov_pos_x, &ov_pos_y);
+               if (ov_pos_ret < 0)
+                       dev_err(fbi->device, "Get overlay pos failed, dispdrv:%s.\n",
+                                       mxc_fbi->dispdrv->drv->name);
+
+               ipu_clear_irq(mxc_fbi_fg->ipu, mxc_fbi_fg->ipu_ch_irq);
+               ipu_disable_irq(mxc_fbi_fg->ipu, mxc_fbi_fg->ipu_ch_irq);
+               ipu_clear_irq(mxc_fbi_fg->ipu, mxc_fbi_fg->ipu_ch_nf_irq);
+               ipu_disable_irq(mxc_fbi_fg->ipu, mxc_fbi_fg->ipu_ch_nf_irq);
+               ipu_disable_channel(mxc_fbi_fg->ipu, mxc_fbi_fg->ipu_ch, true);
+               ipu_uninit_channel(mxc_fbi_fg->ipu, mxc_fbi_fg->ipu_ch);
+       }
+
+       ipu_clear_irq(mxc_fbi->ipu, mxc_fbi->ipu_ch_irq);
+       ipu_disable_irq(mxc_fbi->ipu, mxc_fbi->ipu_ch_irq);
+       ipu_clear_irq(mxc_fbi->ipu, mxc_fbi->ipu_ch_nf_irq);
+       ipu_disable_irq(mxc_fbi->ipu, mxc_fbi->ipu_ch_nf_irq);
+       ipu_disable_channel(mxc_fbi->ipu, mxc_fbi->ipu_ch, true);
+       ipu_uninit_channel(mxc_fbi->ipu, mxc_fbi->ipu_ch);
+
+       /*
+        * Disable IPU hsp clock if it is enabled for an
+        * additional time in ipu common driver.
+        */
+       if (mxc_fbi->first_set_par && mxc_fbi->late_init)
+               ipu_disable_hsp_clk(mxc_fbi->ipu);
+
+       mxcfb_set_fix(fbi);
+
+       mem_len = fbi->var.yres_virtual * fbi->fix.line_length;
+       if (!fbi->fix.smem_start || (mem_len > fbi->fix.smem_len)) {
+               if (fbi->fix.smem_start)
+                       mxcfb_unmap_video_memory(fbi);
+
+               if (mxcfb_map_video_memory(fbi) < 0)
+                       return -ENOMEM;
+       }
+
+       if (mxc_fbi->first_set_par) {
+               /*
+                * Clear the screen in case uboot fb pixel format is not
+                * the same to kernel fb pixel format.
+                */
+               if (mxc_fbi->late_init)
+                       memset(fbi->screen_base, 0, fbi->fix.smem_len);
+
+               mxc_fbi->first_set_par = false;
+       }
+
+       if (mxc_fbi->alpha_chan_en) {
+               alpha_mem_len = fbi->var.xres * fbi->var.yres;
+               if ((!mxc_fbi->alpha_phy_addr0 && !mxc_fbi->alpha_phy_addr1) ||
+                   (alpha_mem_len > mxc_fbi->alpha_mem_len)) {
+                       if (mxc_fbi->alpha_phy_addr0)
+                               dma_free_coherent(fbi->device,
+                                                 mxc_fbi->alpha_mem_len,
+                                                 mxc_fbi->alpha_virt_addr0,
+                                                 mxc_fbi->alpha_phy_addr0);
+                       if (mxc_fbi->alpha_phy_addr1)
+                               dma_free_coherent(fbi->device,
+                                                 mxc_fbi->alpha_mem_len,
+                                                 mxc_fbi->alpha_virt_addr1,
+                                                 mxc_fbi->alpha_phy_addr1);
+
+                       mxc_fbi->alpha_virt_addr0 =
+                                       dma_alloc_coherent(fbi->device,
+                                                 alpha_mem_len,
+                                                 &mxc_fbi->alpha_phy_addr0,
+                                                 GFP_DMA | GFP_KERNEL);
+
+                       mxc_fbi->alpha_virt_addr1 =
+                                       dma_alloc_coherent(fbi->device,
+                                                 alpha_mem_len,
+                                                 &mxc_fbi->alpha_phy_addr1,
+                                                 GFP_DMA | GFP_KERNEL);
+                       if (mxc_fbi->alpha_virt_addr0 == NULL ||
+                           mxc_fbi->alpha_virt_addr1 == NULL) {
+                               dev_err(fbi->device, "mxcfb: dma alloc for"
+                                       " alpha buffer failed.\n");
+                               if (mxc_fbi->alpha_virt_addr0)
+                                       dma_free_coherent(fbi->device,
+                                                 mxc_fbi->alpha_mem_len,
+                                                 mxc_fbi->alpha_virt_addr0,
+                                                 mxc_fbi->alpha_phy_addr0);
+                               if (mxc_fbi->alpha_virt_addr1)
+                                       dma_free_coherent(fbi->device,
+                                                 mxc_fbi->alpha_mem_len,
+                                                 mxc_fbi->alpha_virt_addr1,
+                                                 mxc_fbi->alpha_phy_addr1);
+                               return -ENOMEM;
+                       }
+                       mxc_fbi->alpha_mem_len = alpha_mem_len;
+               }
+       }
+
+       if (mxc_fbi->next_blank != FB_BLANK_UNBLANK)
+               return retval;
+
+       if (mxc_fbi->dispdrv && mxc_fbi->dispdrv->drv->setup) {
+               retval = mxc_fbi->dispdrv->drv->setup(mxc_fbi->dispdrv, fbi);
+               if (retval < 0) {
+                       dev_err(fbi->device, "setup error, dispdrv: %s (%d)\n",
+                               mxc_fbi->dispdrv->drv->name, retval);
+                       return -EINVAL;
+               }
+       }
+
+       _setup_disp_channel1(fbi);
+       if (ovfbi_enable)
+               _setup_disp_channel1(mxc_fbi->ovfbi);
+
+       if (!mxc_fbi->overlay) {
+               uint32_t out_pixel_fmt;
+
+               memset(&sig_cfg, 0, sizeof(sig_cfg));
+               if (fbi->var.vmode & FB_VMODE_INTERLACED)
+                       sig_cfg.interlaced = true;
+               out_pixel_fmt = mxc_fbi->ipu_di_pix_fmt;
+               if (fbi->var.vmode & FB_VMODE_ODD_FLD_FIRST) /* PAL */
+                       sig_cfg.odd_field_first = true;
+               if (mxc_fbi->ipu_int_clk)
+                       sig_cfg.int_clk = true;
+               if (fbi->var.sync & FB_SYNC_HOR_HIGH_ACT)
+                       sig_cfg.Hsync_pol = true;
+               if (fbi->var.sync & FB_SYNC_VERT_HIGH_ACT)
+                       sig_cfg.Vsync_pol = true;
+               if (!(fbi->var.sync & FB_SYNC_CLK_LAT_FALL))
+                       sig_cfg.clk_pol = true;
+               if (fbi->var.sync & FB_SYNC_DATA_INVERT)
+                       sig_cfg.data_pol = true;
+               if (!(fbi->var.sync & FB_SYNC_OE_LOW_ACT))
+                       sig_cfg.enable_pol = true;
+               if (fbi->var.sync & FB_SYNC_CLK_IDLE_EN)
+                       sig_cfg.clkidle_en = true;
+
+               dev_dbg(fbi->device, "pixclock = %ul Hz\n",
+                       (u32) (PICOS2KHZ(fbi->var.pixclock) * 1000UL));
+
+               if (ipu_init_sync_panel(mxc_fbi->ipu, mxc_fbi->ipu_di,
+                                       (PICOS2KHZ(fbi->var.pixclock)) * 1000UL,
+                                       fbi->var.xres, fbi->var.yres,
+                                       out_pixel_fmt,
+                                       fbi->var.left_margin,
+                                       fbi->var.hsync_len,
+                                       fbi->var.right_margin,
+                                       fbi->var.upper_margin,
+                                       fbi->var.vsync_len,
+                                       fbi->var.lower_margin,
+                                       0, sig_cfg) != 0) {
+                       dev_err(fbi->device,
+                               "mxcfb: Error initializing panel.\n");
+                       return -EINVAL;
+               }
+
+               fbi->mode =
+                   (struct fb_videomode *)fb_match_mode(&fbi->var,
+                                                        &fbi->modelist);
+
+               ipu_disp_set_window_pos(mxc_fbi->ipu, mxc_fbi->ipu_ch, 0, 0);
+       }
+
+       retval = _setup_disp_channel2(fbi);
+       if (retval) {
+               ipu_uninit_channel(mxc_fbi->ipu, mxc_fbi->ipu_ch);
+               return retval;
+       }
+
+       if (ovfbi_enable) {
+               if (ov_pos_ret >= 0)
+                       ipu_disp_set_window_pos(
+                                       mxc_fbi_fg->ipu, mxc_fbi_fg->ipu_ch,
+                                       ov_pos_x, ov_pos_y);
+               retval = _setup_disp_channel2(mxc_fbi->ovfbi);
+               if (retval) {
+                       ipu_uninit_channel(mxc_fbi_fg->ipu, mxc_fbi_fg->ipu_ch);
+                       ipu_uninit_channel(mxc_fbi->ipu, mxc_fbi->ipu_ch);
+                       return retval;
+               }
+       }
+
+       ipu_enable_channel(mxc_fbi->ipu, mxc_fbi->ipu_ch);
+       if (ovfbi_enable)
+               ipu_enable_channel(mxc_fbi_fg->ipu, mxc_fbi_fg->ipu_ch);
+
+       if (mxc_fbi->dispdrv && mxc_fbi->dispdrv->drv->enable) {
+               retval = mxc_fbi->dispdrv->drv->enable(mxc_fbi->dispdrv);
+               if (retval < 0) {
+                       dev_err(fbi->device, "enable error, dispdrv: %s (%d)\n",
+                               mxc_fbi->dispdrv->drv->name, retval);
+                       return -EINVAL;
+               }
+       }
+
+       mxc_fbi->cur_var = fbi->var;
+
+       return retval;
+}
+
+static int _swap_channels(struct fb_info *fbi_from,
+                         struct fb_info *fbi_to, bool both_on)
+{
+       int retval, tmp;
+       ipu_channel_t old_ch;
+       struct fb_info *ovfbi;
+       struct mxcfb_info *mxc_fbi_from = fbi_from->par;
+       struct mxcfb_info *mxc_fbi_to = fbi_to->par;
+
+       if (both_on) {
+               ipu_disable_channel(mxc_fbi_to->ipu, mxc_fbi_to->ipu_ch, true);
+               ipu_uninit_channel(mxc_fbi_to->ipu, mxc_fbi_to->ipu_ch);
+       }
+
+       /* switch the mxc fbi parameters */
+       old_ch = mxc_fbi_from->ipu_ch;
+       mxc_fbi_from->ipu_ch = mxc_fbi_to->ipu_ch;
+       mxc_fbi_to->ipu_ch = old_ch;
+       tmp = mxc_fbi_from->ipu_ch_irq;
+       mxc_fbi_from->ipu_ch_irq = mxc_fbi_to->ipu_ch_irq;
+       mxc_fbi_to->ipu_ch_irq = tmp;
+       tmp = mxc_fbi_from->ipu_ch_nf_irq;
+       mxc_fbi_from->ipu_ch_nf_irq = mxc_fbi_to->ipu_ch_nf_irq;
+       mxc_fbi_to->ipu_ch_nf_irq = tmp;
+       ovfbi = mxc_fbi_from->ovfbi;
+       mxc_fbi_from->ovfbi = mxc_fbi_to->ovfbi;
+       mxc_fbi_to->ovfbi = ovfbi;
+
+       _setup_disp_channel1(fbi_from);
+       retval = _setup_disp_channel2(fbi_from);
+       if (retval)
+               return retval;
+
+       /* switch between dp and dc, disable old idmac, enable new idmac */
+       retval = ipu_swap_channel(mxc_fbi_from->ipu, old_ch, mxc_fbi_from->ipu_ch);
+       ipu_uninit_channel(mxc_fbi_from->ipu, old_ch);
+
+       if (both_on) {
+               _setup_disp_channel1(fbi_to);
+               retval = _setup_disp_channel2(fbi_to);
+               if (retval)
+                       return retval;
+               ipu_enable_channel(mxc_fbi_to->ipu, mxc_fbi_to->ipu_ch);
+       }
+
+       return retval;
+}
+
+static int swap_channels(struct fb_info *fbi_from)
+{
+       int i;
+       int swap_mode;
+       ipu_channel_t ch_to;
+       struct mxcfb_info *mxc_fbi_from = fbi_from->par;
+       struct fb_info *fbi_to = NULL;
+       struct mxcfb_info *mxc_fbi_to;
+
+       /* what's the target channel? */
+       if (mxc_fbi_from->ipu_ch == MEM_BG_SYNC)
+               ch_to = MEM_DC_SYNC;
+       else
+               ch_to = MEM_BG_SYNC;
+
+       fbi_to = found_registered_fb(ch_to, mxc_fbi_from->ipu_id);
+       if (!fbi_to)
+               return -1;
+       mxc_fbi_to = fbi_to->par;
+
+       ipu_clear_irq(mxc_fbi_from->ipu, mxc_fbi_from->ipu_ch_irq);
+       ipu_clear_irq(mxc_fbi_to->ipu, mxc_fbi_to->ipu_ch_irq);
+       ipu_free_irq(mxc_fbi_from->ipu, mxc_fbi_from->ipu_ch_irq, fbi_from);
+       ipu_free_irq(mxc_fbi_to->ipu, mxc_fbi_to->ipu_ch_irq, fbi_to);
+       ipu_clear_irq(mxc_fbi_from->ipu, mxc_fbi_from->ipu_ch_nf_irq);
+       ipu_clear_irq(mxc_fbi_to->ipu, mxc_fbi_to->ipu_ch_nf_irq);
+       ipu_free_irq(mxc_fbi_from->ipu, mxc_fbi_from->ipu_ch_nf_irq, fbi_from);
+       ipu_free_irq(mxc_fbi_to->ipu, mxc_fbi_to->ipu_ch_nf_irq, fbi_to);
+
+       if (mxc_fbi_from->cur_blank == FB_BLANK_UNBLANK) {
+               if (mxc_fbi_to->cur_blank == FB_BLANK_UNBLANK)
+                       swap_mode = BOTH_ON;
+               else
+                       swap_mode = SRC_ON;
+       } else {
+               if (mxc_fbi_to->cur_blank == FB_BLANK_UNBLANK)
+                       swap_mode = TGT_ON;
+               else
+                       swap_mode = BOTH_OFF;
+       }
+
+       switch (swap_mode) {
+       case BOTH_ON:
+               /* disable target->switch src->enable target */
+               _swap_channels(fbi_from, fbi_to, true);
+               break;
+       case SRC_ON:
+               /* just switch src */
+               _swap_channels(fbi_from, fbi_to, false);
+               break;
+       case TGT_ON:
+               /* just switch target */
+               _swap_channels(fbi_to, fbi_from, false);
+               break;
+       case BOTH_OFF:
+               /* switch directly, no more need to do */
+               mxc_fbi_to->ipu_ch = mxc_fbi_from->ipu_ch;
+               mxc_fbi_from->ipu_ch = ch_to;
+               i = mxc_fbi_from->ipu_ch_irq;
+               mxc_fbi_from->ipu_ch_irq = mxc_fbi_to->ipu_ch_irq;
+               mxc_fbi_to->ipu_ch_irq = i;
+               i = mxc_fbi_from->ipu_ch_nf_irq;
+               mxc_fbi_from->ipu_ch_nf_irq = mxc_fbi_to->ipu_ch_nf_irq;
+               mxc_fbi_to->ipu_ch_nf_irq = i;
+               break;
+       default:
+               break;
+       }
+
+       if (ipu_request_irq(mxc_fbi_from->ipu, mxc_fbi_from->ipu_ch_irq,
+               mxcfb_irq_handler, IPU_IRQF_ONESHOT,
+               MXCFB_NAME, fbi_from) != 0) {
+               dev_err(fbi_from->device, "Error registering irq %d\n",
+                       mxc_fbi_from->ipu_ch_irq);
+               return -EBUSY;
+       }
+       ipu_disable_irq(mxc_fbi_from->ipu, mxc_fbi_from->ipu_ch_irq);
+       if (ipu_request_irq(mxc_fbi_to->ipu, mxc_fbi_to->ipu_ch_irq,
+               mxcfb_irq_handler, IPU_IRQF_ONESHOT,
+               MXCFB_NAME, fbi_to) != 0) {
+               dev_err(fbi_to->device, "Error registering irq %d\n",
+                       mxc_fbi_to->ipu_ch_irq);
+               return -EBUSY;
+       }
+       ipu_disable_irq(mxc_fbi_to->ipu, mxc_fbi_to->ipu_ch_irq);
+       if (ipu_request_irq(mxc_fbi_from->ipu, mxc_fbi_from->ipu_ch_nf_irq,
+               mxcfb_nf_irq_handler, IPU_IRQF_ONESHOT,
+               MXCFB_NAME, fbi_from) != 0) {
+               dev_err(fbi_from->device, "Error registering irq %d\n",
+                       mxc_fbi_from->ipu_ch_nf_irq);
+               return -EBUSY;
+       }
+       ipu_disable_irq(mxc_fbi_from->ipu, mxc_fbi_from->ipu_ch_nf_irq);
+       if (ipu_request_irq(mxc_fbi_to->ipu, mxc_fbi_to->ipu_ch_nf_irq,
+               mxcfb_nf_irq_handler, IPU_IRQF_ONESHOT,
+               MXCFB_NAME, fbi_to) != 0) {
+               dev_err(fbi_to->device, "Error registering irq %d\n",
+                       mxc_fbi_to->ipu_ch_nf_irq);
+               return -EBUSY;
+       }
+       ipu_disable_irq(mxc_fbi_to->ipu, mxc_fbi_to->ipu_ch_nf_irq);
+
+       return 0;
+}
+
+/*
+ * Check framebuffer variable parameters and adjust to valid values.
+ *
+ * @param       var      framebuffer variable parameters
+ *
+ * @param       info     framebuffer information pointer
+ */
+static int mxcfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
+{
+       u32 vtotal;
+       u32 htotal;
+       struct mxcfb_info *mxc_fbi = info->par;
+
+
+       if (var->xres == 0 || var->yres == 0)
+               return 0;
+
+       /* fg should not bigger than bg */
+       if (mxc_fbi->ipu_ch == MEM_FG_SYNC) {
+               struct fb_info *fbi_tmp;
+               int bg_xres = 0, bg_yres = 0;
+               int16_t pos_x, pos_y;
+
+               bg_xres = var->xres;
+               bg_yres = var->yres;
+
+               fbi_tmp = found_registered_fb(MEM_BG_SYNC, mxc_fbi->ipu_id);
+               if (fbi_tmp) {
+                       bg_xres = fbi_tmp->var.xres;
+                       bg_yres = fbi_tmp->var.yres;
+               }
+
+               ipu_disp_get_window_pos(mxc_fbi->ipu, mxc_fbi->ipu_ch, &pos_x, &pos_y);
+
+               if ((var->xres + pos_x) > bg_xres)
+                       var->xres = bg_xres - pos_x;
+               if ((var->yres + pos_y) > bg_yres)
+                       var->yres = bg_yres - pos_y;
+       }
+
+       if (var->rotate > IPU_ROTATE_VERT_FLIP)
+               var->rotate = IPU_ROTATE_NONE;
+
+       if (var->xres_virtual < var->xres)
+               var->xres_virtual = var->xres;
+
+       if (var->yres_virtual < var->yres)
+               var->yres_virtual = var->yres * 3;
+
+       if ((var->bits_per_pixel != 32) && (var->bits_per_pixel != 24) &&
+           (var->bits_per_pixel != 16) && (var->bits_per_pixel != 12) &&
+           (var->bits_per_pixel != 8))
+               var->bits_per_pixel = 16;
+
+       if (check_var_pixfmt(var))
+               /* Fall back to default */
+               bpp_to_var(var->bits_per_pixel, var);
+
+       if (var->pixclock < 1000) {
+               htotal = var->xres + var->right_margin + var->hsync_len +
+                   var->left_margin;
+               vtotal = var->yres + var->lower_margin + var->vsync_len +
+                   var->upper_margin;
+               var->pixclock = (vtotal * htotal * 6UL) / 100UL;
+               var->pixclock = KHZ2PICOS(var->pixclock);
+               dev_dbg(info->device,
+                       "pixclock set for 60Hz refresh = %u ps\n",
+                       var->pixclock);
+       }
+
+       var->height = -1;
+       var->width = -1;
+       var->grayscale = 0;
+
+       return 0;
+}
+
+static inline u_int _chan_to_field(u_int chan, struct fb_bitfield *bf)
+{
+       chan &= 0xffff;
+       chan >>= 16 - bf->length;
+       return chan << bf->offset;
+}
+
+static int mxcfb_setcolreg(u_int regno, u_int red, u_int green, u_int blue,
+                          u_int trans, struct fb_info *fbi)
+{
+       unsigned int val;
+       int ret = 1;
+
+       /*
+        * If greyscale is true, then we convert the RGB value
+        * to greyscale no matter what visual we are using.
+        */
+       if (fbi->var.grayscale)
+               red = green = blue = (19595 * red + 38470 * green +
+                                     7471 * blue) >> 16;
+       switch (fbi->fix.visual) {
+       case FB_VISUAL_TRUECOLOR:
+               /*
+                * 16-bit True Colour.  We encode the RGB value
+                * according to the RGB bitfield information.
+                */
+               if (regno < 16) {
+                       u32 *pal = fbi->pseudo_palette;
+
+                       val = _chan_to_field(red, &fbi->var.red);
+                       val |= _chan_to_field(green, &fbi->var.green);
+                       val |= _chan_to_field(blue, &fbi->var.blue);
+
+                       pal[regno] = val;
+                       ret = 0;
+               }
+               break;
+
+       case FB_VISUAL_STATIC_PSEUDOCOLOR:
+       case FB_VISUAL_PSEUDOCOLOR:
+               break;
+       }
+
+       return ret;
+}
+
+/*
+ * Function to handle custom ioctls for MXC framebuffer.
+ *
+ * @param       inode   inode struct
+ *
+ * @param       file    file struct
+ *
+ * @param       cmd     Ioctl command to handle
+ *
+ * @param       arg     User pointer to command arguments
+ *
+ * @param       fbi     framebuffer information pointer
+ */
+static int mxcfb_ioctl(struct fb_info *fbi, unsigned int cmd, unsigned long arg)
+{
+       int retval = 0;
+       int __user *argp = (void __user *)arg;
+       struct mxcfb_info *mxc_fbi = fbi->par;
+
+       switch (cmd) {
+       case MXCFB_SET_GBL_ALPHA:
+               {
+                       struct mxcfb_gbl_alpha ga;
+
+                       if (copy_from_user(&ga, argp, sizeof(ga))) {
+                               retval = -EFAULT;
+                               break;
+                       }
+
+                       if (ipu_disp_set_global_alpha(mxc_fbi->ipu,
+                                                     mxc_fbi->ipu_ch,
+                                                     (bool)ga.enable,
+                                                     ga.alpha)) {
+                               retval = -EINVAL;
+                               break;
+                       }
+
+                       if (ga.enable)
+                               mxc_fbi->alpha_chan_en = false;
+
+                       if (ga.enable)
+                               dev_dbg(fbi->device,
+                                       "Set global alpha of %s to %d\n",
+                                       fbi->fix.id, ga.alpha);
+                       break;
+               }
+       case MXCFB_SET_LOC_ALPHA:
+               {
+                       struct mxcfb_loc_alpha la;
+                       bool bad_pixfmt =
+                               ipu_ch_param_bad_alpha_pos(fbi_to_pixfmt(fbi));
+
+                       if (copy_from_user(&la, argp, sizeof(la))) {
+                               retval = -EFAULT;
+                               break;
+                       }
+
+                       if (la.enable && !la.alpha_in_pixel) {
+                               struct fb_info *fbi_tmp;
+                               ipu_channel_t ipu_ch;
+
+                               if (bad_pixfmt) {
+                                       dev_err(fbi->device, "Bad pixel format "
+                                               "for graphics plane fb\n");
+                                       retval = -EINVAL;
+                                       break;
+                               }
+
+                               mxc_fbi->alpha_chan_en = true;
+
+                               if (mxc_fbi->ipu_ch == MEM_FG_SYNC)
+                                       ipu_ch = MEM_BG_SYNC;
+                               else if (mxc_fbi->ipu_ch == MEM_BG_SYNC)
+                                       ipu_ch = MEM_FG_SYNC;
+                               else {
+                                       retval = -EINVAL;
+                                       break;
+                               }
+
+                               fbi_tmp = found_registered_fb(ipu_ch, mxc_fbi->ipu_id);
+                               if (fbi_tmp)
+                                       ((struct mxcfb_info *)(fbi_tmp->par))->alpha_chan_en = false;
+                       } else
+                               mxc_fbi->alpha_chan_en = false;
+
+                       if (ipu_disp_set_global_alpha(mxc_fbi->ipu,
+                                                     mxc_fbi->ipu_ch,
+                                                     !(bool)la.enable, 0)) {
+                               retval = -EINVAL;
+                               break;
+                       }
+
+                       fbi->var.activate = (fbi->var.activate & ~FB_ACTIVATE_MASK) |
+                                               FB_ACTIVATE_NOW | FB_ACTIVATE_FORCE;
+                       mxcfb_set_par(fbi);
+
+                       la.alpha_phy_addr0 = mxc_fbi->alpha_phy_addr0;
+                       la.alpha_phy_addr1 = mxc_fbi->alpha_phy_addr1;
+                       if (copy_to_user(argp, &la, sizeof(la))) {
+                               retval = -EFAULT;
+                               break;
+                       }
+
+                       if (la.enable)
+                               dev_dbg(fbi->device,
+                                       "Enable DP local alpha for %s\n",
+                                       fbi->fix.id);
+                       break;
+               }
+       case MXCFB_SET_LOC_ALP_BUF:
+               {
+                       unsigned long base;
+                       uint32_t ipu_alp_ch_irq;
+
+                       if (!(((mxc_fbi->ipu_ch == MEM_FG_SYNC) ||
+                            (mxc_fbi->ipu_ch == MEM_BG_SYNC)) &&
+                            (mxc_fbi->alpha_chan_en))) {
+                               dev_err(fbi->device,
+                                       "Should use background or overlay "
+                                       "framebuffer to set the alpha buffer "
+                                       "number\n");
+                               return -EINVAL;
+                       }
+
+                       if (get_user(base, argp))
+                               return -EFAULT;
+
+                       if (base != mxc_fbi->alpha_phy_addr0 &&
+                           base != mxc_fbi->alpha_phy_addr1) {
+                               dev_err(fbi->device,
+                                       "Wrong alpha buffer physical address "
+                                       "%lu\n", base);
+                               return -EINVAL;
+                       }
+
+                       if (mxc_fbi->ipu_ch == MEM_FG_SYNC)
+                               ipu_alp_ch_irq = IPU_IRQ_FG_ALPHA_SYNC_EOF;
+                       else
+                               ipu_alp_ch_irq = IPU_IRQ_BG_ALPHA_SYNC_EOF;
+
+                       retval = wait_for_completion_timeout(
+                               &mxc_fbi->alpha_flip_complete, HZ/2);
+                       if (retval == 0) {
+                               dev_err(fbi->device, "timeout when waiting for alpha flip irq\n");
+                               retval = -ETIMEDOUT;
+                               break;
+                       }
+
+                       mxc_fbi->cur_ipu_alpha_buf =
+                                               !mxc_fbi->cur_ipu_alpha_buf;
+                       if (ipu_update_channel_buffer(mxc_fbi->ipu, mxc_fbi->ipu_ch,
+                                                     IPU_ALPHA_IN_BUFFER,
+                                                     mxc_fbi->
+                                                       cur_ipu_alpha_buf,
+                                                     base) == 0) {
+                               ipu_select_buffer(mxc_fbi->ipu, mxc_fbi->ipu_ch,
+                                                 IPU_ALPHA_IN_BUFFER,
+                                                 mxc_fbi->cur_ipu_alpha_buf);
+                               ipu_clear_irq(mxc_fbi->ipu, ipu_alp_ch_irq);
+                               ipu_enable_irq(mxc_fbi->ipu, ipu_alp_ch_irq);
+                       } else {
+                               dev_err(fbi->device,
+                                       "Error updating %s SDC alpha buf %d "
+                                       "to address=0x%08lX\n",
+                                       fbi->fix.id,
+                                       mxc_fbi->cur_ipu_alpha_buf, base);
+                       }
+                       break;
+               }
+       case MXCFB_SET_CLR_KEY:
+               {
+                       struct mxcfb_color_key key;
+                       if (copy_from_user(&key, argp, sizeof(key))) {
+                               retval = -EFAULT;
+                               break;
+                       }
+                       retval = ipu_disp_set_color_key(mxc_fbi->ipu, mxc_fbi->ipu_ch,
+                                                       key.enable,
+                                                       key.color_key);
+                       dev_dbg(fbi->device, "Set color key to 0x%08X\n",
+                               key.color_key);
+                       break;
+               }
+       case MXCFB_SET_GAMMA:
+               {
+                       struct mxcfb_gamma gamma;
+                       if (copy_from_user(&gamma, argp, sizeof(gamma))) {
+                               retval = -EFAULT;
+                               break;
+                       }
+                       retval = ipu_disp_set_gamma_correction(mxc_fbi->ipu,
+                                                       mxc_fbi->ipu_ch,
+                                                       gamma.enable,
+                                                       gamma.constk,
+                                                       gamma.slopek);
+                       break;
+               }
+       case MXCFB_WAIT_FOR_VSYNC:
+               {
+                       if (mxc_fbi->ipu_ch == MEM_FG_SYNC) {
+                               /* BG should poweron */
+                               struct mxcfb_info *bg_mxcfbi = NULL;
+                               struct fb_info *fbi_tmp;
+
+                               fbi_tmp = found_registered_fb(MEM_BG_SYNC, mxc_fbi->ipu_id);
+                               if (fbi_tmp)
+                                       bg_mxcfbi = ((struct mxcfb_info *)(fbi_tmp->par));
+
+                               if (!bg_mxcfbi) {
+                                       retval = -EINVAL;
+                                       break;
+                               }
+                               if (bg_mxcfbi->cur_blank != FB_BLANK_UNBLANK) {
+                                       retval = -EINVAL;
+                                       break;
+                               }
+                       }
+                       if (mxc_fbi->cur_blank != FB_BLANK_UNBLANK) {
+                               retval = -EINVAL;
+                               break;
+                       }
+
+                       init_completion(&mxc_fbi->vsync_complete);
+                       ipu_clear_irq(mxc_fbi->ipu, mxc_fbi->ipu_ch_nf_irq);
+                       ipu_enable_irq(mxc_fbi->ipu, mxc_fbi->ipu_ch_nf_irq);
+                       retval = wait_for_completion_interruptible_timeout(
+                               &mxc_fbi->vsync_complete, 1 * HZ);
+                       if (retval == 0) {
+                               dev_err(fbi->device,
+                                       "MXCFB_WAIT_FOR_VSYNC: timeout %d\n",
+                                       retval);
+                               retval = -ETIME;
+                       } else if (retval > 0) {
+                               retval = 0;
+                       }
+                       break;
+               }
+       case FBIO_ALLOC:
+               {
+                       int size;
+                       struct mxcfb_alloc_list *mem;
+
+                       mem = kzalloc(sizeof(*mem), GFP_KERNEL);
+                       if (mem == NULL)
+                               return -ENOMEM;
+
+                       if (get_user(size, argp))
+                               return -EFAULT;
+
+                       mem->size = PAGE_ALIGN(size);
+
+                       mem->cpu_addr = dma_alloc_coherent(fbi->device, size,
+                                                          &mem->phy_addr,
+                                                          GFP_KERNEL);
+                       if (mem->cpu_addr == NULL) {
+                               kfree(mem);
+                               return -ENOMEM;
+                       }
+
+                       list_add(&mem->list, &fb_alloc_list);
+
+                       dev_dbg(fbi->device, "allocated %d bytes @ 0x%08X\n",
+                               mem->size, mem->phy_addr);
+
+                       if (put_user(mem->phy_addr, argp))
+                               return -EFAULT;
+
+                       break;
+               }
+       case FBIO_FREE:
+               {
+                       unsigned long offset;
+                       struct mxcfb_alloc_list *mem;
+
+                       if (get_user(offset, argp))
+                               return -EFAULT;
+
+                       retval = -EINVAL;
+                       list_for_each_entry(mem, &fb_alloc_list, list) {
+                               if (mem->phy_addr == offset) {
+                                       list_del(&mem->list);
+                                       dma_free_coherent(fbi->device,
+                                                         mem->size,
+                                                         mem->cpu_addr,
+                                                         mem->phy_addr);
+                                       kfree(mem);
+                                       retval = 0;
+                                       break;
+                               }
+                       }
+
+                       break;
+               }
+       case MXCFB_SET_OVERLAY_POS:
+               {
+                       struct mxcfb_pos pos;
+                       struct fb_info *bg_fbi = NULL;
+                       struct mxcfb_info *bg_mxcfbi = NULL;
+
+                       if (mxc_fbi->ipu_ch != MEM_FG_SYNC) {
+                               dev_err(fbi->device, "Should use the overlay "
+                                       "framebuffer to set the position of "
+                                       "the overlay window\n");
+                               retval = -EINVAL;
+                               break;
+                       }
+
+                       if (copy_from_user(&pos, argp, sizeof(pos))) {
+                               retval = -EFAULT;
+                               break;
+                       }
+
+                       bg_fbi = found_registered_fb(MEM_BG_SYNC, mxc_fbi->ipu_id);
+                       if (bg_fbi)
+                               bg_mxcfbi = ((struct mxcfb_info *)(bg_fbi->par));
+
+                       if (bg_fbi == NULL) {
+                               dev_err(fbi->device, "Cannot find the "
+                                       "background framebuffer\n");
+                               retval = -ENOENT;
+                               break;
+                       }
+
+                       /* if fb is unblank, check if the pos fit the display */
+                       if (mxc_fbi->cur_blank == FB_BLANK_UNBLANK) {
+                               if (fbi->var.xres + pos.x > bg_fbi->var.xres) {
+                                       if (bg_fbi->var.xres < fbi->var.xres)
+                                               pos.x = 0;
+                                       else
+                                               pos.x = bg_fbi->var.xres - fbi->var.xres;
+                               }
+                               if (fbi->var.yres + pos.y > bg_fbi->var.yres) {
+                                       if (bg_fbi->var.yres < fbi->var.yres)
+                                               pos.y = 0;
+                                       else
+                                               pos.y = bg_fbi->var.yres - fbi->var.yres;
+                               }
+                       }
+
+                       retval = ipu_disp_set_window_pos(mxc_fbi->ipu, mxc_fbi->ipu_ch,
+                                                        pos.x, pos.y);
+
+                       if (copy_to_user(argp, &pos, sizeof(pos))) {
+                               retval = -EFAULT;
+                               break;
+                       }
+                       break;
+               }
+       case MXCFB_GET_FB_IPU_CHAN:
+               {
+                       struct mxcfb_info *mxc_fbi =
+                               (struct mxcfb_info *)fbi->par;
+
+                       if (put_user(mxc_fbi->ipu_ch, argp))
+                               return -EFAULT;
+                       break;
+               }
+       case MXCFB_GET_DIFMT:
+               {
+                       struct mxcfb_info *mxc_fbi =
+                               (struct mxcfb_info *)fbi->par;
+
+                       if (put_user(mxc_fbi->ipu_di_pix_fmt, argp))
+                               return -EFAULT;
+                       break;
+               }
+       case MXCFB_GET_FB_IPU_DI:
+               {
+                       struct mxcfb_info *mxc_fbi =
+                               (struct mxcfb_info *)fbi->par;
+
+                       if (put_user(mxc_fbi->ipu_di, argp))
+                               return -EFAULT;
+                       break;
+               }
+       case MXCFB_GET_FB_BLANK:
+               {
+                       struct mxcfb_info *mxc_fbi =
+                               (struct mxcfb_info *)fbi->par;
+
+                       if (put_user(mxc_fbi->cur_blank, argp))
+                               return -EFAULT;
+                       break;
+               }
+       case MXCFB_SET_DIFMT:
+               {
+                       struct mxcfb_info *mxc_fbi =
+                               (struct mxcfb_info *)fbi->par;
+
+                       if (get_user(mxc_fbi->ipu_di_pix_fmt, argp))
+                               return -EFAULT;
+
+                       break;
+               }
+       case MXCFB_CSC_UPDATE:
+               {
+                       struct mxcfb_csc_matrix csc;
+
+                       if (copy_from_user(&csc, argp, sizeof(csc)))
+                               return -EFAULT;
+
+                       if ((mxc_fbi->ipu_ch != MEM_FG_SYNC) &&
+                               (mxc_fbi->ipu_ch != MEM_BG_SYNC) &&
+                               (mxc_fbi->ipu_ch != MEM_BG_ASYNC0))
+                               return -EFAULT;
+                       ipu_set_csc_coefficients(mxc_fbi->ipu, mxc_fbi->ipu_ch,
+                                               csc.param);
+               }
+       default:
+               retval = -EINVAL;
+       }
+       return retval;
+}
+
+/*
+ * mxcfb_blank():
+ *      Blank the display.
+ */
+static int mxcfb_blank(int blank, struct fb_info *info)
+{
+       struct mxcfb_info *mxc_fbi = (struct mxcfb_info *)info->par;
+       int ret = 0;
+
+       dev_dbg(info->device, "blank = %d\n", blank);
+
+       if (mxc_fbi->cur_blank == blank)
+               return 0;
+
+       mxc_fbi->next_blank = blank;
+
+       switch (blank) {
+       case FB_BLANK_POWERDOWN:
+       case FB_BLANK_VSYNC_SUSPEND:
+       case FB_BLANK_HSYNC_SUSPEND:
+       case FB_BLANK_NORMAL:
+               if (mxc_fbi->dispdrv && mxc_fbi->dispdrv->drv->disable)
+                       mxc_fbi->dispdrv->drv->disable(mxc_fbi->dispdrv);
+               ipu_disable_channel(mxc_fbi->ipu, mxc_fbi->ipu_ch, true);
+               if (mxc_fbi->ipu_di >= 0)
+                       ipu_uninit_sync_panel(mxc_fbi->ipu, mxc_fbi->ipu_di);
+               ipu_uninit_channel(mxc_fbi->ipu, mxc_fbi->ipu_ch);
+               break;
+       case FB_BLANK_UNBLANK:
+               info->var.activate = (info->var.activate & ~FB_ACTIVATE_MASK) |
+                               FB_ACTIVATE_NOW | FB_ACTIVATE_FORCE;
+               ret = mxcfb_set_par(info);
+               break;
+       }
+       if (!ret)
+               mxc_fbi->cur_blank = blank;
+       return ret;
+}
+
+/*
+ * Pan or Wrap the Display
+ *
+ * This call looks only at xoffset, yoffset and the FB_VMODE_YWRAP flag
+ *
+ * @param               var     Variable screen buffer information
+ * @param               info    Framebuffer information pointer
+ */
+static int
+mxcfb_pan_display(struct fb_var_screeninfo *var, struct fb_info *info)
+{
+       struct mxcfb_info *mxc_fbi = (struct mxcfb_info *)info->par,
+                         *mxc_graphic_fbi = NULL;
+       u_int y_bottom;
+       unsigned int fr_xoff, fr_yoff, fr_w, fr_h;
+       unsigned long base, active_alpha_phy_addr = 0;
+       bool loc_alpha_en = false;
+       int fb_stride;
+       int i;
+       int ret;
+
+       /* no pan display during fb blank */
+       if (mxc_fbi->ipu_ch == MEM_FG_SYNC) {
+               struct mxcfb_info *bg_mxcfbi = NULL;
+               struct fb_info *fbi_tmp;
+
+               fbi_tmp = found_registered_fb(MEM_BG_SYNC, mxc_fbi->ipu_id);
+               if (fbi_tmp)
+                       bg_mxcfbi = ((struct mxcfb_info *)(fbi_tmp->par));
+               if (!bg_mxcfbi)
+                       return -EINVAL;
+               if (bg_mxcfbi->cur_blank != FB_BLANK_UNBLANK)
+                       return -EINVAL;
+       }
+       if (mxc_fbi->cur_blank != FB_BLANK_UNBLANK)
+               return -EINVAL;
+
+       y_bottom = var->yoffset;
+
+       if (y_bottom > info->var.yres_virtual)
+               return -EINVAL;
+
+       switch (fbi_to_pixfmt(info)) {
+       case IPU_PIX_FMT_YUV420P2:
+       case IPU_PIX_FMT_YVU420P:
+       case IPU_PIX_FMT_NV12:
+       case IPU_PIX_FMT_YUV422P:
+       case IPU_PIX_FMT_YVU422P:
+       case IPU_PIX_FMT_YUV420P:
+       case IPU_PIX_FMT_YUV444P:
+               fb_stride = info->var.xres_virtual;
+               break;
+       default:
+               fb_stride = info->fix.line_length;
+       }
+
+       base = info->fix.smem_start;
+       fr_xoff = var->xoffset;
+       fr_w = info->var.xres_virtual;
+       if (!(var->vmode & FB_VMODE_YWRAP)) {
+               dev_dbg(info->device, "Y wrap disabled\n");
+               fr_yoff = var->yoffset % info->var.yres;
+               fr_h = info->var.yres;
+               base += info->fix.line_length * info->var.yres *
+                       (var->yoffset / info->var.yres);
+       } else {
+               dev_dbg(info->device, "Y wrap enabled\n");
+               fr_yoff = var->yoffset;
+               fr_h = info->var.yres_virtual;
+       }
+       base += fr_yoff * fb_stride + fr_xoff;
+
+       /* Check if DP local alpha is enabled and find the graphic fb */
+       if (mxc_fbi->ipu_ch == MEM_BG_SYNC || mxc_fbi->ipu_ch == MEM_FG_SYNC) {
+               for (i = 0; i < num_registered_fb; i++) {
+                       char bg_id[] = "DISP3 BG";
+                       char fg_id[] = "DISP3 FG";
+                       char *idstr = registered_fb[i]->fix.id;
+                       bg_id[4] += mxc_fbi->ipu_id;
+                       fg_id[4] += mxc_fbi->ipu_id;
+                       if ((strcmp(idstr, bg_id) == 0 ||
+                            strcmp(idstr, fg_id) == 0) &&
+                           ((struct mxcfb_info *)
+                             (registered_fb[i]->par))->alpha_chan_en) {
+                               loc_alpha_en = true;
+                               mxc_graphic_fbi = (struct mxcfb_info *)
+                                               (registered_fb[i]->par);
+                               active_alpha_phy_addr =
+                                       mxc_fbi->cur_ipu_alpha_buf ?
+                                       mxc_graphic_fbi->alpha_phy_addr1 :
+                                       mxc_graphic_fbi->alpha_phy_addr0;
+                               dev_dbg(info->device, "Updating SDC alpha "
+                                       "buf %d address=0x%08lX\n",
+                                       !mxc_fbi->cur_ipu_alpha_buf,
+                                       active_alpha_phy_addr);
+                               break;
+                       }
+               }
+       }
+
+       ret = wait_for_completion_timeout(&mxc_fbi->flip_complete, HZ/2);
+       if (ret == 0) {
+               dev_err(info->device, "timeout when waiting for flip irq\n");
+               return -ETIMEDOUT;
+       }
+
+       ++mxc_fbi->cur_ipu_buf;
+       mxc_fbi->cur_ipu_buf %= 3;
+       mxc_fbi->cur_ipu_alpha_buf = !mxc_fbi->cur_ipu_alpha_buf;
+
+       dev_dbg(info->device, "Updating SDC %s buf %d address=0x%08lX\n",
+               info->fix.id, mxc_fbi->cur_ipu_buf, base);
+
+       if (ipu_update_channel_buffer(mxc_fbi->ipu, mxc_fbi->ipu_ch, IPU_INPUT_BUFFER,
+                                     mxc_fbi->cur_ipu_buf, base) == 0) {
+               /* Update the DP local alpha buffer only for graphic plane */
+               if (loc_alpha_en && mxc_graphic_fbi == mxc_fbi &&
+                   ipu_update_channel_buffer(mxc_graphic_fbi->ipu, mxc_graphic_fbi->ipu_ch,
+                                             IPU_ALPHA_IN_BUFFER,
+                                             mxc_fbi->cur_ipu_alpha_buf,
+                                             active_alpha_phy_addr) == 0) {
+                       ipu_select_buffer(mxc_graphic_fbi->ipu, mxc_graphic_fbi->ipu_ch,
+                                         IPU_ALPHA_IN_BUFFER,
+                                         mxc_fbi->cur_ipu_alpha_buf);
+               }
+
+               /* update u/v offset */
+               ipu_update_channel_offset(mxc_fbi->ipu, mxc_fbi->ipu_ch,
+                               IPU_INPUT_BUFFER,
+                               fbi_to_pixfmt(info),
+                               fr_w,
+                               fr_h,
+                               fr_w,
+                               0, 0,
+                               fr_yoff,
+                               fr_xoff);
+
+               ipu_select_buffer(mxc_fbi->ipu, mxc_fbi->ipu_ch, IPU_INPUT_BUFFER,
+                                 mxc_fbi->cur_ipu_buf);
+               ipu_clear_irq(mxc_fbi->ipu, mxc_fbi->ipu_ch_irq);
+               ipu_enable_irq(mxc_fbi->ipu, mxc_fbi->ipu_ch_irq);
+       } else {
+               dev_err(info->device,
+                       "Error updating SDC buf %d to address=0x%08lX, "
+                       "current buf %d, buf0 ready %d, buf1 ready %d, "
+                       "buf2 ready %d\n", mxc_fbi->cur_ipu_buf, base,
+                       ipu_get_cur_buffer_idx(mxc_fbi->ipu, mxc_fbi->ipu_ch,
+                                              IPU_INPUT_BUFFER),
+                       ipu_check_buffer_ready(mxc_fbi->ipu, mxc_fbi->ipu_ch,
+                                              IPU_INPUT_BUFFER, 0),
+                       ipu_check_buffer_ready(mxc_fbi->ipu, mxc_fbi->ipu_ch,
+                                              IPU_INPUT_BUFFER, 1),
+                       ipu_check_buffer_ready(mxc_fbi->ipu, mxc_fbi->ipu_ch,
+                                              IPU_INPUT_BUFFER, 2));
+               ++mxc_fbi->cur_ipu_buf;
+               mxc_fbi->cur_ipu_buf %= 3;
+               ++mxc_fbi->cur_ipu_buf;
+               mxc_fbi->cur_ipu_buf %= 3;
+               mxc_fbi->cur_ipu_alpha_buf = !mxc_fbi->cur_ipu_alpha_buf;
+               ipu_clear_irq(mxc_fbi->ipu, mxc_fbi->ipu_ch_irq);
+               ipu_enable_irq(mxc_fbi->ipu, mxc_fbi->ipu_ch_irq);
+               return -EBUSY;
+       }
+
+       dev_dbg(info->device, "Update complete\n");
+
+       info->var.yoffset = var->yoffset;
+
+       return 0;
+}
+
+/*
+ * Function to handle custom mmap for MXC framebuffer.
+ *
+ * @param       fbi     framebuffer information pointer
+ *
+ * @param       vma     Pointer to vm_area_struct
+ */
+static int mxcfb_mmap(struct fb_info *fbi, struct vm_area_struct *vma)
+{
+       bool found = false;
+       u32 len;
+       unsigned long offset = vma->vm_pgoff << PAGE_SHIFT;
+       struct mxcfb_alloc_list *mem;
+       struct mxcfb_info *mxc_fbi = (struct mxcfb_info *)fbi->par;
+
+       if (offset < fbi->fix.smem_len) {
+               /* mapping framebuffer memory */
+               len = fbi->fix.smem_len - offset;
+               vma->vm_pgoff = (fbi->fix.smem_start + offset) >> PAGE_SHIFT;
+       } else if ((vma->vm_pgoff ==
+                       (mxc_fbi->alpha_phy_addr0 >> PAGE_SHIFT)) ||
+                  (vma->vm_pgoff ==
+                       (mxc_fbi->alpha_phy_addr1 >> PAGE_SHIFT))) {
+               len = mxc_fbi->alpha_mem_len;
+       } else {
+               list_for_each_entry(mem, &fb_alloc_list, list) {
+                       if (offset == mem->phy_addr) {
+                               found = true;
+                               len = mem->size;
+                               break;
+                       }
+               }
+               if (!found)
+                       return -EINVAL;
+       }
+
+       len = PAGE_ALIGN(len);
+       if (vma->vm_end - vma->vm_start > len)
+               return -EINVAL;
+
+       /* make buffers bufferable */
+       vma->vm_page_prot = pgprot_writecombine(vma->vm_page_prot);
+
+       vma->vm_flags |= VM_IO;
+
+       if (remap_pfn_range(vma, vma->vm_start, vma->vm_pgoff,
+                           vma->vm_end - vma->vm_start, vma->vm_page_prot)) {
+               dev_dbg(fbi->device, "mmap remap_pfn_range failed\n");
+               return -ENOBUFS;
+       }
+
+       return 0;
+}
+
+/*!
+ * This structure contains the pointers to the control functions that are
+ * invoked by the core framebuffer driver to perform operations like
+ * blitting, rectangle filling, copy regions and cursor definition.
+ */
+static struct fb_ops mxcfb_ops = {
+       .owner = THIS_MODULE,
+       .fb_set_par = mxcfb_set_par,
+       .fb_check_var = mxcfb_check_var,
+       .fb_setcolreg = mxcfb_setcolreg,
+       .fb_pan_display = mxcfb_pan_display,
+       .fb_ioctl = mxcfb_ioctl,
+       .fb_mmap = mxcfb_mmap,
+       .fb_fillrect = cfb_fillrect,
+       .fb_copyarea = cfb_copyarea,
+       .fb_imageblit = cfb_imageblit,
+       .fb_blank = mxcfb_blank,
+};
+
+static irqreturn_t mxcfb_irq_handler(int irq, void *dev_id)
+{
+       struct fb_info *fbi = dev_id;
+       struct mxcfb_info *mxc_fbi = fbi->par;
+
+       complete(&mxc_fbi->flip_complete);
+       return IRQ_HANDLED;
+}
+
+static irqreturn_t mxcfb_nf_irq_handler(int irq, void *dev_id)
+{
+       struct fb_info *fbi = dev_id;
+       struct mxcfb_info *mxc_fbi = fbi->par;
+
+       complete(&mxc_fbi->vsync_complete);
+       return IRQ_HANDLED;
+}
+
+static irqreturn_t mxcfb_alpha_irq_handler(int irq, void *dev_id)
+{
+       struct fb_info *fbi = dev_id;
+       struct mxcfb_info *mxc_fbi = fbi->par;
+
+       complete(&mxc_fbi->alpha_flip_complete);
+       return IRQ_HANDLED;
+}
+
+/*
+ * Suspends the framebuffer and blanks the screen. Power management support
+ */
+static int mxcfb_suspend(struct platform_device *pdev, pm_message_t state)
+{
+       struct fb_info *fbi = platform_get_drvdata(pdev);
+       struct mxcfb_info *mxc_fbi = (struct mxcfb_info *)fbi->par;
+       int saved_blank;
+#ifdef CONFIG_FB_MXC_LOW_PWR_DISPLAY
+       void *fbmem;
+#endif
+
+       if (mxc_fbi->ovfbi) {
+               struct mxcfb_info *mxc_fbi_fg =
+                       (struct mxcfb_info *)mxc_fbi->ovfbi->par;
+
+               console_lock();
+               fb_set_suspend(mxc_fbi->ovfbi, 1);
+               saved_blank = mxc_fbi_fg->cur_blank;
+               mxcfb_blank(FB_BLANK_POWERDOWN, mxc_fbi->ovfbi);
+               mxc_fbi_fg->next_blank = saved_blank;
+               console_unlock();
+       }
+
+       console_lock();
+       fb_set_suspend(fbi, 1);
+       saved_blank = mxc_fbi->cur_blank;
+       mxcfb_blank(FB_BLANK_POWERDOWN, fbi);
+       mxc_fbi->next_blank = saved_blank;
+       console_unlock();
+
+       return 0;
+}
+
+/*
+ * Resumes the framebuffer and unblanks the screen. Power management support
+ */
+static int mxcfb_resume(struct platform_device *pdev)
+{
+       struct fb_info *fbi = platform_get_drvdata(pdev);
+       struct mxcfb_info *mxc_fbi = (struct mxcfb_info *)fbi->par;
+
+       console_lock();
+       mxcfb_blank(mxc_fbi->next_blank, fbi);
+       fb_set_suspend(fbi, 0);
+       console_unlock();
+
+       if (mxc_fbi->ovfbi) {
+               struct mxcfb_info *mxc_fbi_fg =
+                       (struct mxcfb_info *)mxc_fbi->ovfbi->par;
+               console_lock();
+               mxcfb_blank(mxc_fbi_fg->next_blank, mxc_fbi->ovfbi);
+               fb_set_suspend(mxc_fbi->ovfbi, 0);
+               console_unlock();
+       }
+
+       return 0;
+}
+
+/*
+ * Main framebuffer functions
+ */
+
+/*!
+ * Allocates the DRAM memory for the frame buffer.      This buffer is remapped
+ * into a non-cached, non-buffered, memory region to allow palette and pixel
+ * writes to occur without flushing the cache.  Once this area is remapped,
+ * all virtual memory access to the video memory should occur at the new region.
+ *
+ * @param       fbi     framebuffer information pointer
+ *
+ * @return      Error code indicating success or failure
+ */
+static int mxcfb_map_video_memory(struct fb_info *fbi)
+{
+       if (fbi->fix.smem_len < fbi->var.yres_virtual * fbi->fix.line_length)
+               fbi->fix.smem_len = fbi->var.yres_virtual *
+                                   fbi->fix.line_length;
+
+       fbi->screen_base = dma_alloc_writecombine(fbi->device,
+                               fbi->fix.smem_len,
+                               (dma_addr_t *)&fbi->fix.smem_start,
+                               GFP_DMA | GFP_KERNEL);
+       if (fbi->screen_base == 0) {
+               dev_err(fbi->device, "Unable to allocate framebuffer memory\n");
+               fbi->fix.smem_len = 0;
+               fbi->fix.smem_start = 0;
+               return -EBUSY;
+       }
+
+       dev_dbg(fbi->device, "allocated fb @ paddr=0x%08X, size=%d.\n",
+               (uint32_t) fbi->fix.smem_start, fbi->fix.smem_len);
+
+       fbi->screen_size = fbi->fix.smem_len;
+
+       /* Clear the screen */
+       memset((char *)fbi->screen_base, 0, fbi->fix.smem_len);
+
+       return 0;
+}
+
+/*!
+ * De-allocates the DRAM memory for the frame buffer.
+ *
+ * @param       fbi     framebuffer information pointer
+ *
+ * @return      Error code indicating success or failure
+ */
+static int mxcfb_unmap_video_memory(struct fb_info *fbi)
+{
+       dma_free_writecombine(fbi->device, fbi->fix.smem_len,
+                             fbi->screen_base, fbi->fix.smem_start);
+       fbi->screen_base = 0;
+       fbi->fix.smem_start = 0;
+       fbi->fix.smem_len = 0;
+       return 0;
+}
+
+/*!
+ * Initializes the framebuffer information pointer. After allocating
+ * sufficient memory for the framebuffer structure, the fields are
+ * filled with custom information passed in from the configurable
+ * structures.  This includes information such as bits per pixel,
+ * color maps, screen width/height and RGBA offsets.
+ *
+ * @return      Framebuffer structure initialized with our information
+ */
+static struct fb_info *mxcfb_init_fbinfo(struct device *dev, struct fb_ops *ops)
+{
+       struct fb_info *fbi;
+       struct mxcfb_info *mxcfbi;
+
+       /*
+        * Allocate sufficient memory for the fb structure
+        */
+       fbi = framebuffer_alloc(sizeof(struct mxcfb_info), dev);
+       if (!fbi)
+               return NULL;
+
+       mxcfbi = (struct mxcfb_info *)fbi->par;
+
+       fbi->var.activate = FB_ACTIVATE_NOW;
+
+       fbi->fbops = ops;
+       fbi->flags = FBINFO_FLAG_DEFAULT;
+       fbi->pseudo_palette = mxcfbi->pseudo_palette;
+
+       /*
+        * Allocate colormap
+        */
+       fb_alloc_cmap(&fbi->cmap, 16, 0);
+
+       return fbi;
+}
+
+static ssize_t show_disp_chan(struct device *dev,
+                             struct device_attribute *attr, char *buf)
+{
+       struct fb_info *info = dev_get_drvdata(dev);
+       struct mxcfb_info *mxcfbi = (struct mxcfb_info *)info->par;
+
+       if (mxcfbi->ipu_ch == MEM_BG_SYNC)
+               return sprintf(buf, "2-layer-fb-bg\n");
+       else if (mxcfbi->ipu_ch == MEM_FG_SYNC)
+               return sprintf(buf, "2-layer-fb-fg\n");
+       else if (mxcfbi->ipu_ch == MEM_DC_SYNC)
+               return sprintf(buf, "1-layer-fb\n");
+       else
+               return sprintf(buf, "err: no display chan\n");
+}
+
+static ssize_t swap_disp_chan(struct device *dev,
+                             struct device_attribute *attr,
+                             const char *buf, size_t count)
+{
+       struct fb_info *info = dev_get_drvdata(dev);
+       struct mxcfb_info *mxcfbi = (struct mxcfb_info *)info->par;
+       struct mxcfb_info *fg_mxcfbi = NULL;
+
+       console_lock();
+       /* swap only happen between DP-BG and DC, while DP-FG disable */
+       if (((mxcfbi->ipu_ch == MEM_BG_SYNC) &&
+            (strstr(buf, "1-layer-fb") != NULL)) ||
+           ((mxcfbi->ipu_ch == MEM_DC_SYNC) &&
+            (strstr(buf, "2-layer-fb-bg") != NULL))) {
+               struct fb_info *fbi_fg;
+
+               fbi_fg = found_registered_fb(MEM_FG_SYNC, mxcfbi->ipu_id);
+               if (fbi_fg)
+                       fg_mxcfbi = (struct mxcfb_info *)fbi_fg->par;
+
+               if (!fg_mxcfbi ||
+                       fg_mxcfbi->cur_blank == FB_BLANK_UNBLANK) {
+                       dev_err(dev,
+                               "Can not switch while fb2(fb-fg) is on.\n");
+                       console_unlock();
+                       return count;
+               }
+
+               if (swap_channels(info) < 0)
+                       dev_err(dev, "Swap display channel failed.\n");
+       }
+
+       console_unlock();
+       return count;
+}
+static DEVICE_ATTR(fsl_disp_property, S_IWUSR | S_IRUGO,
+                  show_disp_chan, swap_disp_chan);
+
+static ssize_t show_disp_dev(struct device *dev,
+                            struct device_attribute *attr, char *buf)
+{
+       struct fb_info *info = dev_get_drvdata(dev);
+       struct mxcfb_info *mxcfbi = (struct mxcfb_info *)info->par;
+
+       if (mxcfbi->ipu_ch == MEM_FG_SYNC)
+               return sprintf(buf, "overlay\n");
+       else
+               return sprintf(buf, "%s\n", mxcfbi->dispdrv->drv->name);
+}
+static DEVICE_ATTR(fsl_disp_dev_property, S_IRUGO, show_disp_dev, NULL);
+
+static int mxcfb_dispdrv_init(struct platform_device *pdev,
+               struct fb_info *fbi)
+{
+       struct ipuv3_fb_platform_data *plat_data = pdev->dev.platform_data;
+       struct mxcfb_info *mxcfbi = (struct mxcfb_info *)fbi->par;
+       struct mxc_dispdrv_setting setting;
+       char disp_dev[32], *default_dev = "lcd";
+       int ret = 0;
+
+       setting.if_fmt = plat_data->interface_pix_fmt;
+       setting.dft_mode_str = plat_data->mode_str;
+       setting.default_bpp = plat_data->default_bpp;
+       if (!setting.default_bpp)
+               setting.default_bpp = 16;
+       setting.fbi = fbi;
+       if (!strlen(plat_data->disp_dev))
+               strlcpy(disp_dev, default_dev, sizeof(disp_dev));
+       else
+               strlcpy(disp_dev, plat_data->disp_dev, sizeof(disp_dev));
+
+
+       dev_info(&pdev->dev, "register mxc display driver %s\n", disp_dev);
+
+       mxcfbi->dispdrv = mxc_dispdrv_gethandle(disp_dev, &setting);
+       if (IS_ERR(mxcfbi->dispdrv)) {
+               ret = PTR_ERR(mxcfbi->dispdrv);
+               dev_err(&pdev->dev, "NO mxc display driver found!\n");
+               return ret;
+       } else {
+               /* fix-up  */
+               mxcfbi->ipu_di_pix_fmt = setting.if_fmt;
+               mxcfbi->default_bpp = setting.default_bpp;
+
+               /* setting */
+               mxcfbi->ipu_id = setting.dev_id;
+               mxcfbi->ipu_di = setting.disp_id;
+               dev_dbg(&pdev->dev, "di_pixfmt:0x%x, bpp:0x%x, di:%d, ipu:%d\n",
+                               setting.if_fmt, setting.default_bpp,
+                               setting.disp_id, setting.dev_id);
+       }
+
+       return ret;
+}
+
+/*
+ * Parse user specified options (`video=trident:')
+ * example:
+ *     video=mxcfb0:dev=lcd,800x480M-16@55,if=RGB565,bpp=16,noaccel
+ *     video=mxcfb0:dev=lcd,800x480M-16@55,if=RGB565,fbpix=RGB565
+ */
+static int mxcfb_option_setup(struct platform_device *pdev, struct fb_info *fbi)
+{
+       struct ipuv3_fb_platform_data *pdata = pdev->dev.platform_data;
+       char *options, *opt, *fb_mode_str = NULL;
+       char name[] = "mxcfb0";
+       uint32_t fb_pix_fmt = 0;
+
+       name[5] += pdev->id;
+       if (fb_get_options(name, &options)) {
+               dev_err(&pdev->dev, "Can't get fb option for %s!\n", name);
+               return -ENODEV;
+       }
+
+       if (!options || !*options)
+               return 0;
+
+       while ((opt = strsep(&options, ",")) != NULL) {
+               if (!*opt)
+                       continue;
+
+               if (!strncmp(opt, "dev=", 4)) {
+                       strlcpy(pdata->disp_dev, opt + 4, sizeof(pdata->disp_dev));
+               } else if (!strncmp(opt, "if=", 3)) {
+                       if (!strncmp(opt+3, "RGB24", 5))
+                               pdata->interface_pix_fmt = IPU_PIX_FMT_RGB24;
+                       else if (!strncmp(opt+3, "BGR24", 5))
+                               pdata->interface_pix_fmt = IPU_PIX_FMT_BGR24;
+                       else if (!strncmp(opt+3, "GBR24", 5))
+                               pdata->interface_pix_fmt = IPU_PIX_FMT_GBR24;
+                       else if (!strncmp(opt+3, "RGB565", 6))
+                               pdata->interface_pix_fmt = IPU_PIX_FMT_RGB565;
+                       else if (!strncmp(opt+3, "RGB666", 6))
+                               pdata->interface_pix_fmt = IPU_PIX_FMT_RGB666;
+                       else if (!strncmp(opt+3, "YUV444", 6))
+                               pdata->interface_pix_fmt = IPU_PIX_FMT_YUV444;
+                       else if (!strncmp(opt+3, "LVDS666", 7))
+                               pdata->interface_pix_fmt = IPU_PIX_FMT_LVDS666;
+                       else if (!strncmp(opt+3, "YUYV16", 6))
+                               pdata->interface_pix_fmt = IPU_PIX_FMT_YUYV;
+                       else if (!strncmp(opt+3, "UYVY16", 6))
+                               pdata->interface_pix_fmt = IPU_PIX_FMT_UYVY;
+                       else if (!strncmp(opt+3, "YVYU16", 6))
+                               pdata->interface_pix_fmt = IPU_PIX_FMT_YVYU;
+                       else if (!strncmp(opt+3, "VYUY16", 6))
+                               pdata->interface_pix_fmt = IPU_PIX_FMT_VYUY;
+               } else if (!strncmp(opt, "fbpix=", 6)) {
+                       if (!strncmp(opt+6, "RGB24", 5))
+                               fb_pix_fmt = IPU_PIX_FMT_RGB24;
+                       else if (!strncmp(opt+6, "BGR24", 5))
+                               fb_pix_fmt = IPU_PIX_FMT_BGR24;
+                       else if (!strncmp(opt+6, "RGB32", 5))
+                               fb_pix_fmt = IPU_PIX_FMT_RGB32;
+                       else if (!strncmp(opt+6, "BGR32", 5))
+                               fb_pix_fmt = IPU_PIX_FMT_BGR32;
+                       else if (!strncmp(opt+6, "ABGR32", 6))
+                               fb_pix_fmt = IPU_PIX_FMT_ABGR32;
+                       else if (!strncmp(opt+6, "RGB565", 6))
+                               fb_pix_fmt = IPU_PIX_FMT_RGB565;
+
+                       if (fb_pix_fmt) {
+                               pixfmt_to_var(fb_pix_fmt, &fbi->var);
+                               pdata->default_bpp =
+                                       fbi->var.bits_per_pixel;
+                       }
+               } else if (!strncmp(opt, "int_clk", 7)) {
+                       pdata->int_clk = true;
+                       continue;
+               } else if (!strncmp(opt, "bpp=", 4)) {
+                       /* bpp setting cannot overwirte fbpix setting */
+                       if (fb_pix_fmt)
+                               continue;
+
+                       pdata->default_bpp =
+                               simple_strtoul(opt + 4, NULL, 0);
+
+                       fb_pix_fmt = bpp_to_pixfmt(pdata->default_bpp);
+                       if (fb_pix_fmt)
+                               pixfmt_to_var(fb_pix_fmt, &fbi->var);
+               } else
+                       fb_mode_str = opt;
+       }
+
+       if (fb_mode_str)
+               pdata->mode_str = fb_mode_str;
+
+       return 0;
+}
+
+static int mxcfb_register(struct fb_info *fbi)
+{
+       struct mxcfb_info *mxcfbi = (struct mxcfb_info *)fbi->par;
+       struct fb_videomode m;
+       int ret = 0;
+       char bg0_id[] = "DISP3 BG";
+       char bg1_id[] = "DISP3 BG - DI1";
+       char fg_id[] = "DISP3 FG";
+
+       if (mxcfbi->ipu_di == 0) {
+               bg0_id[4] += mxcfbi->ipu_id;
+               strcpy(fbi->fix.id, bg0_id);
+       } else if (mxcfbi->ipu_di == 1) {
+               bg1_id[4] += mxcfbi->ipu_id;
+               strcpy(fbi->fix.id, bg1_id);
+       } else { /* Overlay */
+               fg_id[4] += mxcfbi->ipu_id;
+               strcpy(fbi->fix.id, fg_id);
+       }
+
+       mxcfb_check_var(&fbi->var, fbi);
+
+       mxcfb_set_fix(fbi);
+
+       /* Added first mode to fbi modelist. */
+       if (!fbi->modelist.next || !fbi->modelist.prev)
+               INIT_LIST_HEAD(&fbi->modelist);
+       fb_var_to_videomode(&m, &fbi->var);
+       fb_add_videomode(&m, &fbi->modelist);
+
+       if (ipu_request_irq(mxcfbi->ipu, mxcfbi->ipu_ch_irq,
+               mxcfb_irq_handler, IPU_IRQF_ONESHOT, MXCFB_NAME, fbi) != 0) {
+               dev_err(fbi->device, "Error registering EOF irq handler.\n");
+               ret = -EBUSY;
+               goto err0;
+       }
+       ipu_disable_irq(mxcfbi->ipu, mxcfbi->ipu_ch_irq);
+       if (ipu_request_irq(mxcfbi->ipu, mxcfbi->ipu_ch_nf_irq,
+               mxcfb_nf_irq_handler, IPU_IRQF_ONESHOT, MXCFB_NAME, fbi) != 0) {
+               dev_err(fbi->device, "Error registering NFACK irq handler.\n");
+               ret = -EBUSY;
+               goto err1;
+       }
+       ipu_disable_irq(mxcfbi->ipu, mxcfbi->ipu_ch_nf_irq);
+
+       if (mxcfbi->ipu_alp_ch_irq != -1)
+               if (ipu_request_irq(mxcfbi->ipu, mxcfbi->ipu_alp_ch_irq,
+                               mxcfb_alpha_irq_handler, IPU_IRQF_ONESHOT,
+                                       MXCFB_NAME, fbi) != 0) {
+                       dev_err(fbi->device, "Error registering alpha irq "
+                                       "handler.\n");
+                       ret = -EBUSY;
+                       goto err2;
+               }
+
+       if (!mxcfbi->late_init) {
+               fbi->var.activate |= FB_ACTIVATE_FORCE;
+               console_lock();
+               fbi->flags |= FBINFO_MISC_USEREVENT;
+               ret = fb_set_var(fbi, &fbi->var);
+               fbi->flags &= ~FBINFO_MISC_USEREVENT;
+               console_unlock();
+               if (ret < 0) {
+                       dev_err(fbi->device, "Error fb_set_var ret:%d\n", ret);
+                       goto err3;
+               }
+
+               if (mxcfbi->next_blank == FB_BLANK_UNBLANK) {
+                       console_lock();
+                       ret = fb_blank(fbi, FB_BLANK_UNBLANK);
+                       console_unlock();
+                       if (ret < 0) {
+                               dev_err(fbi->device,
+                                       "Error fb_blank ret:%d\n", ret);
+                               goto err4;
+                       }
+               }
+       } else {
+               /*
+                * Setup the channel again though bootloader
+                * has done this, then set_par() can stop the
+                * channel neatly and re-initialize it .
+                */
+               if (mxcfbi->next_blank == FB_BLANK_UNBLANK) {
+                       console_lock();
+                       _setup_disp_channel1(fbi);
+                       ipu_enable_channel(mxcfbi->ipu, mxcfbi->ipu_ch);
+                       console_unlock();
+               }
+       }
+
+
+       ret = register_framebuffer(fbi);
+       if (ret < 0)
+               goto err5;
+
+       return ret;
+err5:
+       if (mxcfbi->next_blank == FB_BLANK_UNBLANK) {
+               console_lock();
+               if (!mxcfbi->late_init)
+                       fb_blank(fbi, FB_BLANK_POWERDOWN);
+               else {
+                       ipu_disable_channel(mxcfbi->ipu, mxcfbi->ipu_ch,
+                                           true);
+                       ipu_uninit_channel(mxcfbi->ipu, mxcfbi->ipu_ch);
+               }
+               console_unlock();
+       }
+err4:
+err3:
+       if (mxcfbi->ipu_alp_ch_irq != -1)
+               ipu_free_irq(mxcfbi->ipu, mxcfbi->ipu_alp_ch_irq, fbi);
+err2:
+       ipu_free_irq(mxcfbi->ipu, mxcfbi->ipu_ch_nf_irq, fbi);
+err1:
+       ipu_free_irq(mxcfbi->ipu, mxcfbi->ipu_ch_irq, fbi);
+err0:
+       return ret;
+}
+
+static void mxcfb_unregister(struct fb_info *fbi)
+{
+       struct mxcfb_info *mxcfbi = (struct mxcfb_info *)fbi->par;
+
+       if (mxcfbi->ipu_alp_ch_irq != -1)
+               ipu_free_irq(mxcfbi->ipu, mxcfbi->ipu_alp_ch_irq, fbi);
+       if (mxcfbi->ipu_ch_irq)
+               ipu_free_irq(mxcfbi->ipu, mxcfbi->ipu_ch_irq, fbi);
+       if (mxcfbi->ipu_ch_nf_irq)
+               ipu_free_irq(mxcfbi->ipu, mxcfbi->ipu_ch_nf_irq, fbi);
+
+       unregister_framebuffer(fbi);
+}
+
+static int mxcfb_setup_overlay(struct platform_device *pdev,
+               struct fb_info *fbi_bg, struct resource *res)
+{
+       struct fb_info *ovfbi;
+       struct mxcfb_info *mxcfbi_bg = (struct mxcfb_info *)fbi_bg->par;
+       struct mxcfb_info *mxcfbi_fg;
+       int ret = 0;
+
+       ovfbi = mxcfb_init_fbinfo(&pdev->dev, &mxcfb_ops);
+       if (!ovfbi) {
+               ret = -ENOMEM;
+               goto init_ovfbinfo_failed;
+       }
+       mxcfbi_fg = ovfbi->par;
+
+       mxcfbi_fg->ipu = ipu_get_soc(mxcfbi_bg->ipu_id);
+       if (IS_ERR(mxcfbi_fg->ipu)) {
+               ret = PTR_ERR(mxcfbi_fg->ipu);
+               goto get_ipu_failed;
+       }
+       mxcfbi_fg->ipu_id = mxcfbi_bg->ipu_id;
+       mxcfbi_fg->ipu_ch_irq = IPU_IRQ_FG_SYNC_EOF;
+       mxcfbi_fg->ipu_ch_nf_irq = IPU_IRQ_FG_SYNC_NFACK;
+       mxcfbi_fg->ipu_alp_ch_irq = IPU_IRQ_FG_ALPHA_SYNC_EOF;
+       mxcfbi_fg->ipu_ch = MEM_FG_SYNC;
+       mxcfbi_fg->ipu_di = -1;
+       mxcfbi_fg->ipu_di_pix_fmt = mxcfbi_bg->ipu_di_pix_fmt;
+       mxcfbi_fg->overlay = true;
+       mxcfbi_fg->cur_blank = mxcfbi_fg->next_blank = FB_BLANK_POWERDOWN;
+
+       /* Need dummy values until real panel is configured */
+       ovfbi->var.xres = 240;
+       ovfbi->var.yres = 320;
+
+       if (res && res->start && res->end) {
+               ovfbi->fix.smem_len = res->end - res->start + 1;
+               ovfbi->fix.smem_start = res->start;
+               ovfbi->screen_base = ioremap(
+                                       ovfbi->fix.smem_start,
+                                       ovfbi->fix.smem_len);
+       }
+
+       ret = mxcfb_register(ovfbi);
+       if (ret < 0)
+               goto register_ov_failed;
+
+       mxcfbi_bg->ovfbi = ovfbi;
+
+       return ret;
+
+register_ov_failed:
+get_ipu_failed:
+       fb_dealloc_cmap(&ovfbi->cmap);
+       framebuffer_release(ovfbi);
+init_ovfbinfo_failed:
+       return ret;
+}
+
+static void mxcfb_unsetup_overlay(struct fb_info *fbi_bg)
+{
+       struct mxcfb_info *mxcfbi_bg = fbi_bg->par;
+       struct fb_info *ovfbi = mxcfbi_bg->ovfbi;
+
+       mxcfb_unregister(ovfbi);
+
+       if (&ovfbi->cmap)
+               fb_dealloc_cmap(&ovfbi->cmap);
+       framebuffer_release(ovfbi);
+}
+
+static bool ipu_usage[2][2];
+static int ipu_test_set_usage(int ipu, int di)
+{
+       if (ipu_usage[ipu][di])
+               return -EBUSY;
+       else
+               ipu_usage[ipu][di] = true;
+       return 0;
+}
+
+static void ipu_clear_usage(int ipu, int di)
+{
+       ipu_usage[ipu][di] = false;
+}
+
+static int mxcfb_get_of_property(struct platform_device *pdev,
+                               struct ipuv3_fb_platform_data *plat_data)
+{
+       struct device_node *np = pdev->dev.of_node;
+       const char *disp_dev;
+       const char *mode_str;
+       const char *pixfmt;
+       int err;
+       u32 bpp, int_clk;
+       u32 late_init;
+
+       err = of_property_read_string(np, "disp_dev", &disp_dev);
+       if (err < 0) {
+               dev_dbg(&pdev->dev, "get of property disp_dev fail\n");
+               return err;
+       }
+       err = of_property_read_string(np, "mode_str", &mode_str);
+       if (err < 0) {
+               dev_dbg(&pdev->dev, "get of property mode_str fail\n");
+               return err;
+       }
+       err = of_property_read_string(np, "interface_pix_fmt", &pixfmt);
+       if (err) {
+               dev_dbg(&pdev->dev, "get of property pix fmt fail\n");
+               return err;
+       }
+       err = of_property_read_u32(np, "default_bpp", &bpp);
+       if (err) {
+               dev_dbg(&pdev->dev, "get of property bpp fail\n");
+               return err;
+       }
+       err = of_property_read_u32(np, "int_clk", &int_clk);
+       if (err) {
+               dev_dbg(&pdev->dev, "get of property int_clk fail\n");
+               return err;
+       }
+       err = of_property_read_u32(np, "late_init", &late_init);
+       if (err) {
+               dev_dbg(&pdev->dev, "get of property late_init fail\n");
+               return err;
+       }
+
+       if (!strncmp(pixfmt, "RGB24", 5))
+               plat_data->interface_pix_fmt = IPU_PIX_FMT_RGB24;
+       else if (!strncmp(pixfmt, "BGR24", 5))
+               plat_data->interface_pix_fmt = IPU_PIX_FMT_BGR24;
+       else if (!strncmp(pixfmt, "GBR24", 5))
+               plat_data->interface_pix_fmt = IPU_PIX_FMT_GBR24;
+       else if (!strncmp(pixfmt, "RGB565", 6))
+               plat_data->interface_pix_fmt = IPU_PIX_FMT_RGB565;
+       else if (!strncmp(pixfmt, "RGB666", 6))
+               plat_data->interface_pix_fmt = IPU_PIX_FMT_RGB666;
+       else if (!strncmp(pixfmt, "YUV444", 6))
+               plat_data->interface_pix_fmt = IPU_PIX_FMT_YUV444;
+       else if (!strncmp(pixfmt, "LVDS666", 7))
+               plat_data->interface_pix_fmt = IPU_PIX_FMT_LVDS666;
+       else if (!strncmp(pixfmt, "YUYV16", 6))
+               plat_data->interface_pix_fmt = IPU_PIX_FMT_YUYV;
+       else if (!strncmp(pixfmt, "UYVY16", 6))
+               plat_data->interface_pix_fmt = IPU_PIX_FMT_UYVY;
+       else if (!strncmp(pixfmt, "YVYU16", 6))
+               plat_data->interface_pix_fmt = IPU_PIX_FMT_YVYU;
+       else if (!strncmp(pixfmt, "VYUY16", 6))
+                               plat_data->interface_pix_fmt = IPU_PIX_FMT_VYUY;
+       else {
+               dev_err(&pdev->dev, "err interface_pix_fmt!\n");
+               return -ENOENT;
+       }
+
+       strlcpy(plat_data->disp_dev, disp_dev, sizeof(plat_data->disp_dev));
+       plat_data->mode_str = (char *)mode_str;
+       plat_data->default_bpp = bpp;
+       plat_data->int_clk = (bool)int_clk;
+       plat_data->late_init = (bool)late_init;
+       return err;
+}
+
+/*!
+ * Probe routine for the framebuffer driver. It is called during the
+ * driver binding process.      The following functions are performed in
+ * this routine: Framebuffer initialization, Memory allocation and
+ * mapping, Framebuffer registration, IPU initialization.
+ *
+ * @return      Appropriate error code to the kernel common code
+ */
+static int mxcfb_probe(struct platform_device *pdev)
+{
+       struct ipuv3_fb_platform_data *plat_data;
+       struct fb_info *fbi;
+       struct mxcfb_info *mxcfbi;
+       struct resource *res;
+       int ret = 0;
+
+       dev_dbg(&pdev->dev, "%s enter\n", __func__);
+       pdev->id = of_alias_get_id(pdev->dev.of_node, "mxcfb");
+       if (pdev->id < 0) {
+               dev_err(&pdev->dev, "can not get alias id\n");
+               return pdev->id;
+       }
+
+       plat_data = devm_kzalloc(&pdev->dev, sizeof(struct
+                                       ipuv3_fb_platform_data), GFP_KERNEL);
+       if (!plat_data)
+               return -ENOMEM;
+       pdev->dev.platform_data = plat_data;
+
+       ret = mxcfb_get_of_property(pdev, plat_data);
+       if (ret < 0) {
+               dev_err(&pdev->dev, "get mxcfb of property failed: %d\n", ret);
+               return ret;
+       }
+
+       /* Initialize FB structures */
+       fbi = mxcfb_init_fbinfo(&pdev->dev, &mxcfb_ops);
+       if (!fbi) {
+               ret = -ENOMEM;
+               goto init_fbinfo_failed;
+       }
+
+       ret = mxcfb_option_setup(pdev, fbi);
+       if (ret)
+               goto get_fb_option_failed;
+
+       mxcfbi = fbi->par;
+       mxcfbi->ipu_int_clk = plat_data->int_clk;
+       mxcfbi->late_init = plat_data->late_init;
+       mxcfbi->first_set_par = true;
+       ret = mxcfb_dispdrv_init(pdev, fbi);
+       if (ret < 0)
+               goto init_dispdrv_failed;
+
+       ret = ipu_test_set_usage(mxcfbi->ipu_id, mxcfbi->ipu_di);
+       if (ret < 0) {
+               dev_err(&pdev->dev, "ipu%d-di%d already in use\n",
+                               mxcfbi->ipu_id, mxcfbi->ipu_di);
+               goto ipu_in_busy;
+       }
+
+       if (mxcfbi->dispdrv->drv->post_init) {
+               ret = mxcfbi->dispdrv->drv->post_init(mxcfbi->dispdrv,
+                                               mxcfbi->ipu_id,
+                                               mxcfbi->ipu_di);
+               if (ret < 0) {
+                       dev_err(&pdev->dev, "post init failed\n");
+                       goto post_init_failed;
+               }
+       }
+
+       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+       if (res && res->start && res->end) {
+               fbi->fix.smem_len = res->end - res->start + 1;
+               fbi->fix.smem_start = res->start;
+               fbi->screen_base = ioremap(fbi->fix.smem_start, fbi->fix.smem_len);
+               /* Do not clear the fb content drawn in bootloader. */
+               if (!mxcfbi->late_init)
+                       memset(fbi->screen_base, 0, fbi->fix.smem_len);
+       }
+
+       mxcfbi->ipu = ipu_get_soc(mxcfbi->ipu_id);
+       if (IS_ERR(mxcfbi->ipu)) {
+               dev_err(&pdev->dev, "Failed to get IPU %d\n", mxcfbi->ipu_id);
+               ret = PTR_ERR(mxcfbi->ipu);
+               goto get_ipu_failed;
+       }
+
+       /* first user uses DP with alpha feature */
+       if (!g_dp_in_use[mxcfbi->ipu_id]) {
+               mxcfbi->ipu_ch_irq = IPU_IRQ_BG_SYNC_EOF;
+               mxcfbi->ipu_ch_nf_irq = IPU_IRQ_BG_SYNC_NFACK;
+               mxcfbi->ipu_alp_ch_irq = IPU_IRQ_BG_ALPHA_SYNC_EOF;
+               mxcfbi->ipu_ch = MEM_BG_SYNC;
+               /* Unblank the primary fb only by default */
+               if (pdev->id == 0)
+                       mxcfbi->cur_blank = mxcfbi->next_blank = FB_BLANK_UNBLANK;
+               else
+                       mxcfbi->cur_blank = mxcfbi->next_blank = FB_BLANK_POWERDOWN;
+
+               ret = mxcfb_register(fbi);
+               if (ret < 0)
+                       goto mxcfb_register_failed;
+
+               ipu_disp_set_global_alpha(mxcfbi->ipu, mxcfbi->ipu_ch,
+                                         true, 0x80);
+               ipu_disp_set_color_key(mxcfbi->ipu, mxcfbi->ipu_ch, false, 0);
+
+               res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
+               ret = mxcfb_setup_overlay(pdev, fbi, res);
+
+               if (ret < 0) {
+                       mxcfb_unregister(fbi);
+                       goto mxcfb_setupoverlay_failed;
+               }
+
+               g_dp_in_use[mxcfbi->ipu_id] = true;
+
+               ret = device_create_file(mxcfbi->ovfbi->dev,
+                                        &dev_attr_fsl_disp_property);
+               if (ret)
+                       dev_err(mxcfbi->ovfbi->dev, "Error %d on creating "
+                                                   "file for disp property\n",
+                                                   ret);
+
+               ret = device_create_file(mxcfbi->ovfbi->dev,
+                                        &dev_attr_fsl_disp_dev_property);
+               if (ret)
+                       dev_err(mxcfbi->ovfbi->dev, "Error %d on creating "
+                                                   "file for disp device "
+                                                   "propety\n", ret);
+       } else {
+               mxcfbi->ipu_ch_irq = IPU_IRQ_DC_SYNC_EOF;
+               mxcfbi->ipu_ch_nf_irq = IPU_IRQ_DC_SYNC_NFACK;
+               mxcfbi->ipu_alp_ch_irq = -1;
+               mxcfbi->ipu_ch = MEM_DC_SYNC;
+               mxcfbi->cur_blank = mxcfbi->next_blank = FB_BLANK_POWERDOWN;
+
+               ret = mxcfb_register(fbi);
+               if (ret < 0)
+                       goto mxcfb_register_failed;
+       }
+
+       platform_set_drvdata(pdev, fbi);
+
+       ret = device_create_file(fbi->dev, &dev_attr_fsl_disp_property);
+       if (ret)
+               dev_err(&pdev->dev, "Error %d on creating file for disp "
+                                   "property\n", ret);
+
+       ret = device_create_file(fbi->dev, &dev_attr_fsl_disp_dev_property);
+       if (ret)
+               dev_err(&pdev->dev, "Error %d on creating file for disp "
+                                   " device propety\n", ret);
+
+       return 0;
+
+mxcfb_setupoverlay_failed:
+mxcfb_register_failed:
+get_ipu_failed:
+post_init_failed:
+       ipu_clear_usage(mxcfbi->ipu_id, mxcfbi->ipu_di);
+ipu_in_busy:
+init_dispdrv_failed:
+       fb_dealloc_cmap(&fbi->cmap);
+       framebuffer_release(fbi);
+get_fb_option_failed:
+init_fbinfo_failed:
+       return ret;
+}
+
+static int mxcfb_remove(struct platform_device *pdev)
+{
+       struct fb_info *fbi = platform_get_drvdata(pdev);
+       struct mxcfb_info *mxc_fbi = fbi->par;
+
+       if (!fbi)
+               return 0;
+
+       device_remove_file(fbi->dev, &dev_attr_fsl_disp_dev_property);
+       device_remove_file(fbi->dev, &dev_attr_fsl_disp_property);
+       mxcfb_blank(FB_BLANK_POWERDOWN, fbi);
+       mxcfb_unregister(fbi);
+       mxcfb_unmap_video_memory(fbi);
+
+       if (mxc_fbi->ovfbi) {
+               device_remove_file(mxc_fbi->ovfbi->dev,
+                                  &dev_attr_fsl_disp_dev_property);
+               device_remove_file(mxc_fbi->ovfbi->dev,
+                                  &dev_attr_fsl_disp_property);
+               mxcfb_blank(FB_BLANK_POWERDOWN, mxc_fbi->ovfbi);
+               mxcfb_unsetup_overlay(fbi);
+               mxcfb_unmap_video_memory(mxc_fbi->ovfbi);
+       }
+
+       ipu_clear_usage(mxc_fbi->ipu_id, mxc_fbi->ipu_di);
+       if (&fbi->cmap)
+               fb_dealloc_cmap(&fbi->cmap);
+       framebuffer_release(fbi);
+       return 0;
+}
+
+static const struct of_device_id imx_mxcfb_dt_ids[] = {
+       { .compatible = "fsl,mxc_sdc_fb"},
+       { /* sentinel */ }
+};
+
+/*!
+ * This structure contains pointers to the power management callback functions.
+ */
+static struct platform_driver mxcfb_driver = {
+       .driver = {
+               .name = MXCFB_NAME,
+               .of_match_table = imx_mxcfb_dt_ids,
+       },
+       .probe = mxcfb_probe,
+       .remove = mxcfb_remove,
+       .suspend = mxcfb_suspend,
+       .resume = mxcfb_resume,
+};
+
+/*!
+ * Main entry function for the framebuffer. The function registers the power
+ * management callback functions with the kernel and also registers the MXCFB
+ * callback functions with the core Linux framebuffer driver \b fbmem.c
+ *
+ * @return      Error code indicating success or failure
+ */
+int __init mxcfb_init(void)
+{
+       return platform_driver_register(&mxcfb_driver);
+}
+
+void mxcfb_exit(void)
+{
+       platform_driver_unregister(&mxcfb_driver);
+}
+
+module_init(mxcfb_init);
+module_exit(mxcfb_exit);
+
+MODULE_AUTHOR("Freescale Semiconductor, Inc.");
+MODULE_DESCRIPTION("MXC framebuffer driver");
+MODULE_LICENSE("GPL");
+MODULE_SUPPORTED_DEVICE("fb");
diff --git a/drivers/video/mxc/mxc_lcdif.c b/drivers/video/mxc/mxc_lcdif.c
new file mode 100644 (file)
index 0000000..dcfaf1c
--- /dev/null
@@ -0,0 +1,322 @@
+/*
+ * Copyright (C) 2011-2013 Freescale Semiconductor, Inc. All Rights Reserved.
+ */
+
+/*
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+#include <linux/init.h>
+#include <linux/ipu.h>
+#include <linux/kernel.h>
+#include <linux/module.h>
+#include <linux/mxcfb.h>
+#include <linux/of_device.h>
+#include <linux/pinctrl/consumer.h>
+#include <linux/platform_device.h>
+
+#include "mxc_dispdrv.h"
+
+struct mxc_lcd_platform_data {
+       u32 default_ifmt;
+       u32 ipu_id;
+       u32 disp_id;
+};
+
+struct mxc_lcdif_data {
+       struct platform_device *pdev;
+       struct mxc_dispdrv_handle *disp_lcdif;
+};
+
+#define DISPDRV_LCD    "lcd"
+
+static struct fb_videomode lcdif_modedb[] = {
+       {
+               /* 800x480 @ 57 Hz , pixel clk @ 27MHz */
+               "CLAA-WVGA", 57, 800, 480, 37037, 40, 60, 10, 10, 20, 10,
+               FB_SYNC_CLK_LAT_FALL,
+               FB_VMODE_NONINTERLACED,
+               0,
+       },
+       {
+               /* 800x480 @ 60 Hz , pixel clk @ 32MHz */
+               "SEIKO-WVGA", 60, 800, 480, 29850, 89, 164, 23, 10, 10, 10,
+               FB_SYNC_CLK_LAT_FALL,
+               FB_VMODE_NONINTERLACED,
+               0,
+       },
+       {
+               .name = "VGA",
+               .pixclock = KHZ2PICOS(25200),
+               .xres = 640,
+               .yres = 480,
+               .left_margin = 48,
+               .hsync_len = 96,
+               .right_margin = 16,
+               .upper_margin = 31,
+               .vsync_len = 2,
+               .lower_margin = 12,
+       },
+       {
+               .name = "ETV570",
+               .pixclock = KHZ2PICOS(25200),
+               .xres = 640,
+               .yres = 480,
+               .left_margin = 114,
+               .hsync_len = 30,
+               .right_margin = 16,
+               .upper_margin = 32,
+               .vsync_len = 3,
+               .lower_margin = 10,
+       },
+       {
+               .name = "ET0350",
+               .pixclock = KHZ2PICOS(6413760 / 1000),
+               .xres = 320,
+               .yres = 240,
+               .left_margin = 34,
+               .hsync_len = 34,
+               .right_margin = 20,
+               .upper_margin = 15,
+               .vsync_len = 3,
+               .lower_margin = 4,
+       },
+       {
+               .name = "ET0430",
+               .pixclock = KHZ2PICOS(9009),
+               .xres = 480,
+               .yres = 272,
+               .left_margin = 2,
+               .hsync_len = 41,
+               .right_margin = 2,
+               .upper_margin = 2,
+               .vsync_len = 10,
+               .lower_margin = 2,
+               .sync = FB_SYNC_CLK_LAT_FALL,
+       },
+       {
+               .name = "ET0500",
+               .pixclock = KHZ2PICOS(33264),
+               .xres = 800,
+               .yres = 480,
+               .left_margin = 88,
+               .hsync_len = 128,
+               .right_margin = 40,
+               .upper_margin = 33,
+               .vsync_len = 2,
+               .lower_margin = 10,
+       },
+       {
+               .name = "ET0700", /* same as ET0500 */
+               .pixclock = KHZ2PICOS(33264),
+               .xres = 800,
+               .yres = 480,
+               .left_margin = 88,
+               .hsync_len = 128,
+               .right_margin = 40,
+               .upper_margin = 33,
+               .vsync_len = 2,
+               .lower_margin = 10,
+       },
+       {
+               .name = "ETQ570",
+               .pixclock = KHZ2PICOS(6596040 / 1000),
+               .xres = 320,
+               .yres = 240,
+               .left_margin = 38,
+               .hsync_len = 30,
+               .right_margin = 30,
+               .upper_margin = 16,
+               .vsync_len = 3,
+               .lower_margin = 4,
+       },
+};
+static int lcdif_modedb_sz = ARRAY_SIZE(lcdif_modedb);
+
+static int lcdif_init(struct mxc_dispdrv_handle *disp,
+       struct mxc_dispdrv_setting *setting)
+{
+       int ret, i;
+       struct mxc_lcdif_data *lcdif = mxc_dispdrv_getdata(disp);
+       struct mxc_lcd_platform_data *plat_data
+                       = lcdif->pdev->dev.platform_data;
+       struct fb_videomode *modedb = lcdif_modedb;
+       int modedb_sz = lcdif_modedb_sz;
+
+       /* use platform defined ipu/di */
+       setting->dev_id = plat_data->ipu_id;
+       setting->disp_id = plat_data->disp_id;
+
+       ret = fb_find_mode(&setting->fbi->var, setting->fbi, setting->dft_mode_str,
+                               modedb, modedb_sz, NULL, setting->default_bpp);
+       if (!ret) {
+               fb_videomode_to_var(&setting->fbi->var, &modedb[0]);
+               setting->if_fmt = plat_data->default_ifmt;
+       }
+
+       INIT_LIST_HEAD(&setting->fbi->modelist);
+       for (i = 0; i < modedb_sz; i++) {
+               struct fb_videomode m;
+               fb_var_to_videomode(&m, &setting->fbi->var);
+               if (fb_mode_is_equal(&m, &modedb[i])) {
+                       fb_add_videomode(&modedb[i],
+                                       &setting->fbi->modelist);
+                       break;
+               }
+       }
+
+       return ret;
+}
+
+void lcdif_deinit(struct mxc_dispdrv_handle *disp)
+{
+       /*TODO*/
+}
+
+static struct mxc_dispdrv_driver lcdif_drv = {
+       .name   = DISPDRV_LCD,
+       .init   = lcdif_init,
+       .deinit = lcdif_deinit,
+};
+
+static int lcd_get_of_property(struct platform_device *pdev,
+                               struct mxc_lcd_platform_data *plat_data)
+{
+       struct device_node *np = pdev->dev.of_node;
+       int err;
+       u32 ipu_id, disp_id;
+       const char *default_ifmt;
+
+       err = of_property_read_string(np, "default_ifmt", &default_ifmt);
+       if (err) {
+               dev_err(&pdev->dev, "get of property default_ifmt fail\n");
+               return err;
+       }
+       err = of_property_read_u32(np, "ipu_id", &ipu_id);
+       if (err) {
+               dev_err(&pdev->dev, "get of property ipu_id fail\n");
+               return err;
+       }
+       err = of_property_read_u32(np, "disp_id", &disp_id);
+       if (err) {
+               dev_err(&pdev->dev, "get of property disp_id fail\n");
+               return err;
+       }
+
+       plat_data->ipu_id = ipu_id;
+       plat_data->disp_id = disp_id;
+       if (!strncmp(default_ifmt, "RGB24", 5))
+               plat_data->default_ifmt = IPU_PIX_FMT_RGB24;
+       else if (!strncmp(default_ifmt, "BGR24", 5))
+               plat_data->default_ifmt = IPU_PIX_FMT_BGR24;
+       else if (!strncmp(default_ifmt, "GBR24", 5))
+               plat_data->default_ifmt = IPU_PIX_FMT_GBR24;
+       else if (!strncmp(default_ifmt, "RGB565", 6))
+               plat_data->default_ifmt = IPU_PIX_FMT_RGB565;
+       else if (!strncmp(default_ifmt, "RGB666", 6))
+               plat_data->default_ifmt = IPU_PIX_FMT_RGB666;
+       else if (!strncmp(default_ifmt, "YUV444", 6))
+               plat_data->default_ifmt = IPU_PIX_FMT_YUV444;
+       else if (!strncmp(default_ifmt, "LVDS666", 7))
+               plat_data->default_ifmt = IPU_PIX_FMT_LVDS666;
+       else if (!strncmp(default_ifmt, "YUYV16", 6))
+               plat_data->default_ifmt = IPU_PIX_FMT_YUYV;
+       else if (!strncmp(default_ifmt, "UYVY16", 6))
+               plat_data->default_ifmt = IPU_PIX_FMT_UYVY;
+       else if (!strncmp(default_ifmt, "YVYU16", 6))
+               plat_data->default_ifmt = IPU_PIX_FMT_YVYU;
+       else if (!strncmp(default_ifmt, "VYUY16", 6))
+                               plat_data->default_ifmt = IPU_PIX_FMT_VYUY;
+       else {
+               dev_err(&pdev->dev, "err default_ifmt!\n");
+               return -ENOENT;
+       }
+
+       return err;
+}
+
+static int mxc_lcdif_probe(struct platform_device *pdev)
+{
+       int ret;
+       struct pinctrl *pinctrl;
+       struct mxc_lcdif_data *lcdif;
+       struct mxc_lcd_platform_data *plat_data;
+
+       dev_dbg(&pdev->dev, "%s enter\n", __func__);
+       lcdif = devm_kzalloc(&pdev->dev, sizeof(struct mxc_lcdif_data),
+                               GFP_KERNEL);
+       if (!lcdif)
+               return -ENOMEM;
+       plat_data = devm_kzalloc(&pdev->dev,
+                               sizeof(struct mxc_lcd_platform_data),
+                               GFP_KERNEL);
+       if (!plat_data)
+               return -ENOMEM;
+       pdev->dev.platform_data = plat_data;
+
+       ret = lcd_get_of_property(pdev, plat_data);
+       if (ret < 0) {
+               dev_err(&pdev->dev, "get lcd of property fail\n");
+               return ret;
+       }
+
+       pinctrl = devm_pinctrl_get_select_default(&pdev->dev);
+       if (IS_ERR(pinctrl)) {
+               dev_err(&pdev->dev, "can't get/select pinctrl\n");
+               return PTR_ERR(pinctrl);
+       }
+
+       lcdif->pdev = pdev;
+       lcdif->disp_lcdif = mxc_dispdrv_register(&lcdif_drv);
+       mxc_dispdrv_setdata(lcdif->disp_lcdif, lcdif);
+
+       dev_set_drvdata(&pdev->dev, lcdif);
+       dev_dbg(&pdev->dev, "%s exit\n", __func__);
+
+       return ret;
+}
+
+static int mxc_lcdif_remove(struct platform_device *pdev)
+{
+       struct mxc_lcdif_data *lcdif = dev_get_drvdata(&pdev->dev);
+
+       mxc_dispdrv_puthandle(lcdif->disp_lcdif);
+       mxc_dispdrv_unregister(lcdif->disp_lcdif);
+       kfree(lcdif);
+       return 0;
+}
+
+static const struct of_device_id imx_lcd_dt_ids[] = {
+       { .compatible = "fsl,lcd"},
+       { /* sentinel */ }
+};
+static struct platform_driver mxc_lcdif_driver = {
+       .driver = {
+               .name = "mxc_lcdif",
+               .of_match_table = imx_lcd_dt_ids,
+       },
+       .probe = mxc_lcdif_probe,
+       .remove = mxc_lcdif_remove,
+};
+
+static int __init mxc_lcdif_init(void)
+{
+       return platform_driver_register(&mxc_lcdif_driver);
+}
+
+static void __exit mxc_lcdif_exit(void)
+{
+       platform_driver_unregister(&mxc_lcdif_driver);
+}
+
+module_init(mxc_lcdif_init);
+module_exit(mxc_lcdif_exit);
+
+MODULE_AUTHOR("Freescale Semiconductor, Inc.");
+MODULE_DESCRIPTION("i.MX ipuv3 LCD extern port driver");
+MODULE_LICENSE("GPL");
index 5747417069cadf3501cf8210a7cb834b6b29c942..7b95eb8ac86b73689c21265bb6f62cc85844a76f 100644 (file)
@@ -61,6 +61,7 @@ fw-shipped-$(CONFIG_DRM_RADEON) += radeon/R100_cp.bin radeon/R200_cp.bin \
                                   radeon/RV770_pfp.bin radeon/RV770_me.bin \
                                   radeon/RV730_pfp.bin radeon/RV730_me.bin \
                                   radeon/RV710_pfp.bin radeon/RV710_me.bin
+fw-shipped-$(CONFIG_IMX_SDMA) += imx/sdma/sdma-imx6q.bin
 fw-shipped-$(CONFIG_DVB_AV7110) += av7110/bootcode.bin
 fw-shipped-$(CONFIG_DVB_TTUSB_BUDGET) += ttusb-budget/dspbootcode.bin
 fw-shipped-$(CONFIG_E100) += e100/d101m_ucode.bin e100/d101s_ucode.bin \
@@ -135,6 +136,10 @@ fw-shipped-$(CONFIG_USB_SERIAL_XIRCOM) += keyspan_pda/xircom_pgs.fw
 fw-shipped-$(CONFIG_USB_VICAM) += vicam/firmware.fw
 fw-shipped-$(CONFIG_VIDEO_CPIA2) += cpia2/stv0672_vp4.bin
 fw-shipped-$(CONFIG_YAM) += yam/1200.bin yam/9600.bin
+fw-shipped-$(CONFIG_FB_MXC_EINK_PANEL) += imx/epdc_E60_V110.fw \
+                imx/epdc_E60_V220.fw \
+                imx/epdc_E97_V110.fw \
+                imx/epdc_E060SCM.fw
 
 fw-shipped-all := $(fw-shipped-y) $(fw-shipped-m) $(fw-shipped-)
 
@@ -193,6 +198,8 @@ $(patsubst %,$(obj)/%.gen.o, $(fw-external-y)): $(obj)/%.gen.o: $(fwdir)/%
 $(obj)/%: $(obj)/%.ihex
        $(call cmd,ihex)
 
+.NOTPARALLEL: $(obj)/%
+
 # Don't depend on ihex2fw if we're installing and it already exists.
 # Putting it after | in the dependencies doesn't seem sufficient when
 # we're installing after a cross-compile, because ihex2fw has dependencies
diff --git a/firmware/imx/epdc_E060SCM.fw.ihex b/firmware/imx/epdc_E060SCM.fw.ihex
new file mode 100644 (file)
index 0000000..e182778
--- /dev/null
@@ -0,0 +1,61613 @@
+:100000003488C47C012D0100DD0900000706A4002E
+:100010000358211D3CCA018502000000400000FE7B
+:100020004700000100040D00FFFC00000000005428
+:10003000000306090C0F1215181B1E21262B302851
+:1000400000000000000000083E050000000000E87D
+:10005000CB060000000000C88D0A0000000000A8C8
+:100060004F0E00000000009800000000000000A0FB
+:1000700065000000000000A8BC000000000000B007
+:100080000B010000000000B85A010000000000C091
+:10009000AA010000000000C831020000000000D0EA
+:1000A000AC020000000000D81B030000000000E0CC
+:1000B0008A030000000000E8E9030000000000F0EF
+:1000C00044040000000000F8970400000000000055
+:1000D000EB040000000000650000000000000001CB
+:1000E0000101010101010101010101010101010100
+:1000F00001010101010101010101010101010101F0
+:1001000001010101010101010101010101010101DF
+:1001100001010101010101010101010101010101CF
+:1001200001010101010101010101010101010101BF
+:1001300001010101010101010101010101010101AF
+:10014000010101010101010101010101010101019F
+:10015000010101010101010101010101010101018F
+:10016000010101010101010101010101010101017F
+:10017000010101010101010101010101010101016F
+:10018000010101010101010101010101010101015F
+:10019000010101010101010101010101010101014F
+:1001A000010101010101010101010101010101013F
+:1001B000010101010101010101010101010101012F
+:1001C000010101010101010101010101010101011F
+:1001D000010101010101010101010101010101010F
+:1001E00001010101010101010101010101010101FF
+:1001F00001010101010101010101010101010101EF
+:1002000001010101010101010101010101010101DE
+:1002100001010101010101010101010101010101CE
+:1002200001010101010101010101010101010101BE
+:1002300001010101010101010101010101010101AE
+:10024000010101010101010101010101010101019E
+:10025000010101010101010101010101010101018E
+:10026000010101010101010101010101010101017E
+:10027000010101010101010101010101010101016E
+:10028000010101010101010101010101010101015E
+:10029000010101010101010101010101010101014E
+:1002A000010101010101010101010101010101013E
+:1002B000010101010101010101010101010101012E
+:1002C000010101010101010101010101010101011E
+:1002D000010101010101010101010101010101010E
+:1002E00001010101010101010101010101010101FE
+:1002F00001010101010101010101010101010101EE
+:1003000001010101010101010101010101010101DD
+:1003100001010101010101010101010101010101CD
+:1003200001010101010101010101010101010101BD
+:1003300001010101010101010101010101010101AD
+:10034000010101010101010101010101010101019D
+:10035000010101010101010101010101010101018D
+:10036000010101010101010101010101010101017D
+:10037000010101010101010101010101010101016D
+:10038000010101010101010101010101010101015D
+:10039000010101010101010101010101010101014D
+:1003A000010101010101010101010101010101013D
+:1003B000010101010101010101010101010101012D
+:1003C000010101010101010101010101010101011D
+:1003D000010101010101010101010101010101010D
+:1003E00001010101010101010101010101010101FD
+:1003F00001010101010101010101010101010101ED
+:1004000001010101010101010101010101010101DC
+:1004100001010101010101010101010101010101CC
+:1004200001010101010101010101010101010101BC
+:1004300001010101010101010101010101010101AC
+:10044000010101010101010101010101010101019C
+:10045000010101010101010101010101010101018C
+:10046000010101010101010101010101010101017C
+:10047000010101010101010101010101010101016C
+:10048000010101010101010101010101010101015C
+:10049000010101010101010101010101010101014C
+:1004A000010101010101010101010101010101013C
+:1004B000010101010101010101010101010101012C
+:1004C000010101010101010101010101010101011C
+:1004D000010101010101010101010101010101010C
+:1004E00001010101010101010101010101010101FC
+:1004F00001010101010101010101010101010101EC
+:1005000001010101010101010101010101010101DB
+:1005100001010101010101010101010101010101CB
+:1005200001010101010101010101010101010101BB
+:1005300001010101010101010101010101010101AB
+:10054000010101010101010101010101010101019B
+:10055000010101010101010101010101010101018B
+:10056000010101010101010101010101010101017B
+:10057000010101010101010101010101010101016B
+:10058000010101010101010101010101010101015B
+:10059000010101010101010101010101010101014B
+:1005A000010101010101010101010101010101013B
+:1005B000010101010101010101010101010101012B
+:1005C000010101010101010101010101010101011B
+:1005D000010101010101010101010101010101010B
+:1005E00001010101010101010101010101010101FB
+:1005F00001010101010101010101010101010101EB
+:1006000001010101010101010101010101010101DA
+:1006100001010101010101010101010101010101CA
+:1006200001010101010101010101010101010101BA
+:1006300001010101010101010101010101010101AA
+:10064000010101010101010101010101010101019A
+:10065000010101010101010101010101010101018A
+:10066000010101010101010101010101010101017A
+:10067000010101010101010101010101010101016A
+:10068000010101010101010101010101010101015A
+:10069000010101010101010101010101010101014A
+:1006A000010101010101010101010101010101013A
+:1006B000010101010101010101010101010101012A
+:1006C000010101010101010101010101010101011A
+:1006D000010101010101010101010101010101010A
+:1006E00001010101010101010101010101010101FA
+:1006F00001010101010101010101010101010101EA
+:1007000001010101010101010101010101010101D9
+:1007100001010101010101010101010101010101C9
+:1007200001010101010101010101010101010101B9
+:1007300001010101010101010101010101010101A9
+:100740000101010101010101010101010101010199
+:100750000101010101010101010101010101010189
+:100760000101010101010101010101010101010179
+:100770000101010101010101010101010101010169
+:100780000101010101010101010101010101010159
+:100790000101010101010101010101010101010149
+:1007A0000101010101010101010101010101010139
+:1007B0000101010101010101010101010101010129
+:1007C0000101010101010101010101010101010119
+:1007D0000101010101010101010101010101010109
+:1007E00001010101010101010101010101010101F9
+:1007F00001010101010101010101010101010101E9
+:1008000001010101010101010101010101010101D8
+:1008100001010101010101010101010101010101C8
+:1008200001010101010101010101010101010101B8
+:1008300001010101010101010101010101010101A8
+:100840000101010101010101010101010101010198
+:100850000101010101010101010101010101010188
+:100860000101010101010101010101010101010178
+:100870000101010101010101010101010101010168
+:100880000101010101010101010101010101010158
+:100890000101010101010101010101010101010148
+:1008A0000101010101010101010101010101010138
+:1008B0000101010101010101010101010101010128
+:1008C0000101010101010101010101010101010118
+:1008D0000101010101010101010101010101010108
+:1008E00001010101010101010101010101010101F8
+:1008F00001010101010101010101010101010101E8
+:1009000001010101010101010101010101010101D7
+:1009100001010101010101010101010101010101C7
+:1009200001010101010101010101010101010101B7
+:1009300001010101010101010101010101010101A7
+:100940000101010101010101010101010101010197
+:100950000101010101010101010101010101010187
+:100960000101010101010101010101010101010177
+:100970000101010101010101010101010101010167
+:100980000101010101010101010101010101010157
+:100990000101010101010101010101010101010147
+:1009A0000101010101010101010101010101010137
+:1009B0000101010101010101010101010101010127
+:1009C0000101010101010101010101010101010117
+:1009D0000101010101010101010101010101010107
+:1009E00001010101010101010101010101010101F7
+:1009F00001010101010101010101010101010101E7
+:100A000001010101010101010101010101010101D6
+:100A100001010101010101010101010101010101C6
+:100A200001010101010101010101010101010101B6
+:100A300001010101010101010101010101010101A6
+:100A40000101010101010101010101010101010196
+:100A50000101010101010101010101010101010186
+:100A60000101010101010101010101010101010176
+:100A70000101010101010101010101010101010166
+:100A80000101010101010101010101010101010156
+:100A90000101010101010101010101010101010146
+:100AA0000101010101010101010101010101010136
+:100AB0000101010101010101010101010101010126
+:100AC0000101010101010101010101010101010116
+:100AD0000101010101010101010101010101010106
+:100AE00001010101010101010101010101010101F6
+:100AF00001010101010101010101010101010101E6
+:100B000001010101010101010101010101010101D5
+:100B100001010101010101010101010101010101C5
+:100B200001010101010101010101010101010101B5
+:100B300001010101010101010101010101010101A5
+:100B40000101010101010101010101010101010195
+:100B50000101010101010101010101010101010185
+:100B60000101010101010101010101010101010175
+:100B70000101010101010101010101010101010165
+:100B80000101010101010101010101010101010155
+:100B90000101010101010101010101010101010145
+:100BA0000101010101010101010101010101010135
+:100BB0000101010101010101010101010101010125
+:100BC0000101010101010101010101010101010115
+:100BD0000101010101010101010101010101010105
+:100BE00001010101010101010101010101010101F5
+:100BF00001010101010101010101010101010101E5
+:100C000001010101010101010101010101010101D4
+:100C100001010101010101010101010101010101C4
+:100C200001010101010101010101010101010101B4
+:100C300001010101010101010101010101010101A4
+:100C40000101010101010101010101010101010194
+:100C50000101010101010101010101010101010184
+:100C60000101010101010101010101010101010174
+:100C70000101010101010101010101010101010164
+:100C80000101010101010101010101010101010154
+:100C90000101010101010101010101010101010144
+:100CA0000101010101010101010101010101010134
+:100CB0000101010101010101010101010101010124
+:100CC0000101010101010101010101010101010114
+:100CD0000101010101010101010101010101010104
+:100CE00001010101010101010101010101010101F4
+:100CF00001010101010101010101010101010101E4
+:100D000001010101010101010101010101010101D3
+:100D100001010101010101010101010101010101C3
+:100D200001010101010101010101010101010101B3
+:100D300001010101010101010101010101010101A3
+:100D40000101010101010101010101010101010193
+:100D50000101010101010101010101010101010183
+:100D60000101010101010101010101010101010173
+:100D70000101010101010101010101010101010163
+:100D80000101010101010101010101010101010153
+:100D90000101010101010101010101010101010143
+:100DA0000101010101010101010101010101010133
+:100DB0000101010101010101010101010101010123
+:100DC0000101010101010101010101010101010113
+:100DD0000101010101010101010101010101010103
+:100DE00001010101010101010101010101010101F3
+:100DF00001010101010101010101010101010101E3
+:100E000001010101010101010101010101010101D2
+:100E100001010101010101010101010101010101C2
+:100E200001010101010101010101010101010101B2
+:100E300001010101010101010101010101010101A2
+:100E40000101010101010101010101010101010192
+:100E50000101010101010101010101010101010182
+:100E60000101010101010101010101010101010172
+:100E70000101010101010101010101010101010162
+:100E80000101010101010101010101010101010152
+:100E90000101010101010101010101010101010142
+:100EA0000101010101010101010101010101010132
+:100EB0000101010101010101010101010101010122
+:100EC0000101010101010101010101010101010112
+:100ED0000101010101010101010101010101010102
+:100EE00001010101010101010101010101010101F2
+:100EF00001010101010101010101010101010101E2
+:100F000001010101010101010101010101010101D1
+:100F100001010101010101010101010101010101C1
+:100F200001010101010101010101010101010101B1
+:100F300001010101010101010101010101010101A1
+:100F40000101010101010101010101010101010191
+:100F50000101010101010101010101010101010181
+:100F60000101010101010101010101010101010171
+:100F70000101010101010101010101010101010161
+:100F80000101010101010101010101010101010151
+:100F90000101010101010101010101010101010141
+:100FA0000101010101010101010101010101010131
+:100FB0000101010101010101010101010101010121
+:100FC0000101010101010101010101010101010111
+:100FD0000101010101010101010101010101010101
+:100FE00001010101010101010101010101010101F1
+:100FF00001010101010101010101010101010101E1
+:1010000001010101010101010101010101010101D0
+:1010100001010101010101010101010101010101C0
+:1010200001010101010101010101010101010101B0
+:1010300001010101010101010101010101010101A0
+:101040000101010101010101010101010101010190
+:101050000101010101010101010101010101010180
+:101060000101010101010101010101010101010170
+:101070000101010101010101010101010101010160
+:101080000101010101010101010101010101010150
+:101090000101010101010101010101010101010140
+:1010A0000101010101010101010101010101010130
+:1010B0000101010101010101010101010101010120
+:1010C0000101010101010101010101010101010110
+:1010D0000101010101010101010101010101010100
+:1010E00001010101010101010101010101010101F0
+:1010F00001010101010101010101010101010101E0
+:1011000001010101010101010101010101010101CF
+:1011100001010101010101010101010101010101BF
+:1011200001010101010101010101010101010101AF
+:10113000010101010101010101010101010101019F
+:10114000010101010101010101010101010101018F
+:10115000010101010101010101010101010101017F
+:10116000010101010101010101010101010101016F
+:10117000010101010101010101010101010101015F
+:10118000010101010101010101010101010101014F
+:10119000010101010101010101010101010101013F
+:1011A000010101010101010101010101010101012F
+:1011B000010101010101010101010101010101011F
+:1011C000010101010101010101010101010101010F
+:1011D00001010101010101010101010101010101FF
+:1011E00001010101010101010101010101010101EF
+:1011F00001010101010101010101010101010101DF
+:1012000001010101010101010101010101010101CE
+:1012100001010101010101010101010101010101BE
+:1012200001010101010101010101010101010101AE
+:10123000010101010101010101010101010101019E
+:10124000010101010101010101010101010101018E
+:10125000010101010101010101010101010101017E
+:10126000010101010101010101010101010101016E
+:10127000010101010101010101010101010101015E
+:10128000010101010101010101010101010101014E
+:10129000010101010101010101010101010101013E
+:1012A000010101010101010101010101010101012E
+:1012B000010101010101010101010101010101011E
+:1012C000010101010101010101010101010101010E
+:1012D00001010101010101010101010101010101FE
+:1012E00001010101010101010101010101010101EE
+:1012F00001010101010101010101010101010101DE
+:1013000001010101010101010101010101010101CD
+:1013100001010101010101010101010101010101BD
+:1013200001010101010101010101010101010101AD
+:10133000010101010101010101010101010101019D
+:10134000010101010101010101010101010101018D
+:10135000010101010101010101010101010101017D
+:10136000010101010101010101010101010101016D
+:10137000010101010101010101010101010101015D
+:10138000010101010101010101010101010101014D
+:10139000010101010101010101010101010101013D
+:1013A000010101010101010101010101010101012D
+:1013B000010101010101010101010101010101011D
+:1013C000010101010101010101010101010101010D
+:1013D00001010101010101010101010101010101FD
+:1013E00001010101010101010101010101010101ED
+:1013F00001010101010101010101010101010101DD
+:1014000001010101010101010101010101010101CC
+:1014100001010101010101010101010101010101BC
+:1014200001010101010101010101010101010101AC
+:10143000010101010101010101010101010101019C
+:10144000010101010101010101010101010101018C
+:10145000010101010101010101010101010101017C
+:10146000010101010101010101010101010101016C
+:10147000010101010101010101010101010101015C
+:10148000010101010101010101010101010101014C
+:10149000010101010101010101010101010101013C
+:1014A000010101010101010101010101010101012C
+:1014B000010101010101010101010101010101011C
+:1014C000010101010101010101010101010101010C
+:1014D00001010101010101010101010101010101FC
+:1014E00001010101010101010101010101010101EC
+:1014F00001010101010101010101010101010101DC
+:1015000001010101010101010101010101010101CB
+:1015100001010101010101010101010101010101BB
+:1015200001010101010101010101010101010101AB
+:10153000010101010101010101010101010101019B
+:10154000010101010101010101010101010101018B
+:10155000010101010101010101010101010101017B
+:10156000010101010101010101010101010101016B
+:10157000010101010101010101010101010101015B
+:10158000010101010101010101010101010101014B
+:10159000010101010101010101010101010101013B
+:1015A000010101010101010101010101010101012B
+:1015B000010101010101010101010101010101011B
+:1015C000010101010101010101010101010101010B
+:1015D00001010101010101010101010101010101FB
+:1015E00001010101010101010101010101010101EB
+:1015F00001010101010101010101010101010101DB
+:1016000001010101010101010101010101010101CA
+:1016100001010101010101010101010101010101BA
+:1016200001010101010101010101010101010101AA
+:10163000010101010101010101010101010101019A
+:10164000010101010101010101010101010101018A
+:10165000010101010101010101010101010101017A
+:10166000010101010101010101010101010101016A
+:10167000010101010101010101010101010101015A
+:10168000010101010101010101010101010101014A
+:10169000010101010101010101010101010101013A
+:1016A000010101010101010101010101010101012A
+:1016B000010101010101010101010101010101011A
+:1016C000010101010101010101010101010101010A
+:1016D00001010101010101010101010101010101FA
+:1016E00001010101010101010101010101010101EA
+:1016F00001010101010101010101010101010101DA
+:1017000001010101010101010101010101010101C9
+:1017100001010101010101010101010101010101B9
+:1017200001010101010101010101010101010101A9
+:101730000101010101010101010101010101010199
+:101740000101010101010101010101010101010189
+:101750000101010101010101010101010101010179
+:101760000101010101010101010101010101010169
+:101770000101010101010101010101010101010159
+:101780000101010101010101010101010101010149
+:101790000101010101010101010101010101010139
+:1017A0000101010101010101010101010101010129
+:1017B0000101010101010101010101010101010119
+:1017C0000101010101010101010101010101010109
+:1017D00001010101010101010101010101010101F9
+:1017E00001010101010101010101010101010101E9
+:1017F00001010101010101010101010101010101D9
+:1018000001010101010101010101010101010101C8
+:1018100001010101010101010101010101010101B8
+:1018200001010101010101010101010101010101A8
+:101830000101010101010101010101010101010198
+:101840000101010101010101010101010101010188
+:101850000101010101010101010101010101010178
+:101860000101010101010101010101010101010168
+:101870000101010101010101010101010101010158
+:101880000101010101010101010101010101010148
+:101890000101010101010101010101010101010138
+:1018A0000101010101010101010101010101010128
+:1018B0000101010101010101010101010101010118
+:1018C0000101010101010101010101010101010108
+:1018D00001010101010101010101010101010101F8
+:1018E00001010101010101010101010101010101E8
+:1018F00001010101010101010101010101010101D8
+:1019000001010101010101010101010101010101C7
+:1019100001010101010101010101010101010101B7
+:1019200001010101010101010101010101010101A7
+:101930000101010101010101010101010101010197
+:101940000101010101010101010101010101010187
+:101950000101010101010101010101010101010177
+:101960000101010101010101010101010101010167
+:101970000101010101010101010101010101010157
+:101980000101010101010101010101010101010147
+:101990000101010101010101010101010101010137
+:1019A0000101010101010101010101010101010127
+:1019B0000101010101010101010101010101010117
+:1019C0000101010101010101010101010101010107
+:1019D00001010101010101010101010101010101F7
+:1019E00001010101010101010101010101010101E7
+:1019F00001010101010101010101010101010101D7
+:101A000001010101010101010101010101010101C6
+:101A100001010101010101010101010101010101B6
+:101A200001010101010101010101010101010101A6
+:101A30000101010101010101010101010101010196
+:101A40000101010101010101010101010101010186
+:101A50000101010101010101010101010101010176
+:101A60000101010101010101010101010101010166
+:101A70000101010101010101010101010101010156
+:101A80000101010101010101010101010101010146
+:101A90000101010101010101010101010101010136
+:101AA0000101010101010101010101010101010126
+:101AB0000101010101010101010101010101010116
+:101AC0000101010101010101010101010101010106
+:101AD00001010101010101010101010101010101F6
+:101AE00001010101010101010101010101010101E6
+:101AF00001010101010101010101010101010101D6
+:101B000001010101010101010101010101010101C5
+:101B100001010101010101010101010101010101B5
+:101B200001010101010101010101010101010101A5
+:101B30000101010101010101010101010101010195
+:101B40000101010101010101010101010101010185
+:101B50000101010101010101010101010101010175
+:101B60000101010101010101010101010101010165
+:101B70000101010101010101010101010101010155
+:101B80000101010101010101010101010101010145
+:101B90000101010101010101010101010101010135
+:101BA0000101010101010101010101010101010125
+:101BB0000101010101010101010101010101010115
+:101BC0000101010101010101010101010101010105
+:101BD00001010101010101010101010101010101F5
+:101BE00001010101010101010101010101010101E5
+:101BF00001010101010101010101010101010101D5
+:101C000001010101010101010101010101010101C4
+:101C100001010101010101010101010101010101B4
+:101C200001010101010101010101010101010101A4
+:101C30000101010101010101010101010101010194
+:101C40000101010101010101010101010101010184
+:101C50000101010101010101010101010101010174
+:101C60000101010101010101010101010101010164
+:101C70000101010101010101010101010101010154
+:101C80000101010101010101010101010101010144
+:101C90000101010101010101010101010101010134
+:101CA0000101010101010101010101010101010124
+:101CB0000101010101010101010101010101010114
+:101CC0000101010101010101010101010101010104
+:101CD00001010101010101010101010101010101F4
+:101CE00001010101010101010101010101010101E4
+:101CF00001010101010101010101010101010101D4
+:101D000001010101010101010101010101010101C3
+:101D100001010101010101010101010101010101B3
+:101D200001010101010101010101010101010101A3
+:101D30000101010101010101010101010101010193
+:101D40000101010101010101010101010101010183
+:101D50000101010101010101010101010101010173
+:101D60000101010101010101010101010101010163
+:101D70000101010101010101010101010101010153
+:101D80000101010101010101010101010101010143
+:101D90000101010101010101010101010101010133
+:101DA0000101010101010101010101010101010123
+:101DB0000101010101010101010101010101010113
+:101DC0000101010101010101010101010101010103
+:101DD00001010101010101010101010101010101F3
+:101DE00001010101010101010101010101010101E3
+:101DF00001010101010101010101010101010101D3
+:101E000001010101010101010101010101010101C2
+:101E100001010101010101010101010101010101B2
+:101E200001010101010101010101010101010101A2
+:101E30000101010101010101010101010101010192
+:101E40000101010101010101010101010101010182
+:101E50000101010101010101010101010101010172
+:101E60000101010101010101010101010101010162
+:101E70000101010101010101010101010101010152
+:101E80000101010101010101010101010101010142
+:101E90000101010101010101010101010101010132
+:101EA0000101010101010101010101010101010122
+:101EB0000101010101010101010101010101010112
+:101EC0000101010101010101010101010101010102
+:101ED00001010101010101010101010101010101F2
+:101EE00001010101010101010101010101010101E2
+:101EF00001010101010101010101010101010101D2
+:101F000001010101010101010101010101010101C1
+:101F100001010101010101010101010101010101B1
+:101F200001010101010101010101010101010101A1
+:101F30000101010101010101010101010101010191
+:101F40000101010101010101010101010101010181
+:101F50000101010101010101010101010101010171
+:101F60000101010101010101010101010101010161
+:101F70000101010101010101010101010101010151
+:101F80000101010101010101010101010101010141
+:101F90000101010101010101010101010101010131
+:101FA0000101010101010101010101010101010121
+:101FB0000101010101010101010101010101010111
+:101FC0000101010101010101010101010101010101
+:101FD00001010101010101010101010101010101F1
+:101FE00001010101010101010101010101010101E1
+:101FF00001010101010101010101010101010101D1
+:1020000001010101010101010101010101010101C0
+:1020100001010101010101010101010101010101B0
+:1020200001010101010101010101010101010101A0
+:102030000101010101010101010101010101010190
+:102040000101010101010101010101010101010180
+:102050000101010101010101010101010101010170
+:102060000101010101010101010101010101010160
+:102070000101010101010101010101010101010150
+:102080000101010101010101010101010101010140
+:102090000101010101010101010101010101010130
+:1020A0000101010101010101010101010101010120
+:1020B0000101010101010101010101010101010110
+:1020C0000101010101010101010101010101010100
+:1020D00001010101010101010101010101010101F0
+:1020E00001010101010101010101010101010101E0
+:1020F00001010101010101010101010101010101D0
+:1021000001010101010101010101010101010101BF
+:1021100001010101010101010101010101010101AF
+:10212000010101010101010101010101010101019F
+:10213000010101010101010101010101010101018F
+:10214000010101010101010101010101010101017F
+:10215000010101010101010101010101010101016F
+:10216000010101010101010101010101010101015F
+:10217000010101010101010101010101010101014F
+:10218000010101010101010101010101010101013F
+:10219000010101010101010101010101010101012F
+:1021A000010101010101010101010101010101011F
+:1021B000010101010101010101010101010101010F
+:1021C00001010101010101010101010101010101FF
+:1021D00001010101010101010101010101010101EF
+:1021E00001010101010101010101010101010101DF
+:1021F00001010101010101010101010101010101CF
+:1022000001010101010101010101010101010101BE
+:1022100001010101010101010101010101010101AE
+:10222000010101010101010101010101010101019E
+:10223000010101010101010101010101010101018E
+:10224000010101010101010101010101010101017E
+:10225000010101010101010101010101010101016E
+:10226000010101010101010101010101010101015E
+:10227000010101010101010101010101010101014E
+:10228000010101010101010101010101010101013E
+:10229000010101010101010101010101010101012E
+:1022A000010101010101010101010101010101011E
+:1022B000010101010101010101010101010101010E
+:1022C00001010101010101010101010101010101FE
+:1022D00001010101010101010101010101010101EE
+:1022E00001010101010101010101010101010101DE
+:1022F00001010101010101010101010101010101CE
+:1023000001010101010101010101010101010101BD
+:1023100001010101010101010101010101010101AD
+:10232000010101010101010101010101010101019D
+:10233000010101010101010101010101010101018D
+:10234000010101010101010101010101010101017D
+:10235000010101010101010101010101010101016D
+:10236000010101010101010101010101010101015D
+:10237000010101010101010101010101010101014D
+:10238000010101010101010101010101010101013D
+:10239000010101010101010101010101010101012D
+:1023A000010101010101010101010101010101011D
+:1023B000010101010101010101010101010101010D
+:1023C00001010101010101010101010101010101FD
+:1023D00001010101010101010101010101010101ED
+:1023E00001010101010101010101010101010101DD
+:1023F00001010101010101010101010101010101CD
+:1024000001010101010101010101010101010101BC
+:1024100001010101010101010101010101010101AC
+:10242000010101010101010101010101010101019C
+:10243000010101010101010101010101010101018C
+:10244000010101010101010101010101010101017C
+:10245000010101010101010101010101010101016C
+:10246000010101010101010101010101010101015C
+:10247000010101010101010101010101010101014C
+:10248000010101010101010101010101010101013C
+:10249000010101010101010101010101010101012C
+:1024A000010101010101010101010101010101011C
+:1024B000010101010101010101010101010101010C
+:1024C00001010101010101010101010101010101FC
+:1024D00001010101010101010101010101010101EC
+:1024E00001010101010101010101010101010101DC
+:1024F00001010101010101010101010101010101CC
+:1025000001010101010101010101010101010101BB
+:1025100001010101010101010101010101010101AB
+:10252000010101010101010101010101010101019B
+:10253000010101010101010101010101010101018B
+:10254000010101010101010101010101010101017B
+:10255000010101010101010101010101010101016B
+:10256000010101010101010101010101010101015B
+:10257000010101010101010101010101010101014B
+:10258000010101010101010101010101010101013B
+:10259000010101010101010101010101010101012B
+:1025A000010101010101010101010101010101011B
+:1025B000010101010101010101010101010101010B
+:1025C00001010101010101010101010101010101FB
+:1025D00001010101010101010101010101010101EB
+:1025E00001010101010101010101010101010101DB
+:1025F00001010101010101010101010101010101CB
+:1026000001010101010101010101010101010101BA
+:1026100001010101010101010101010101010101AA
+:10262000010101010101010101010101010101019A
+:10263000010101010101010101010101010101018A
+:10264000010101010101010101010101010101017A
+:10265000010101010101010101010101010101016A
+:10266000010101010101010101010101010101015A
+:10267000010101010101010101010101010101014A
+:10268000010101010101010101010101010101013A
+:10269000010101010101010101010101010101012A
+:1026A000010101010101010101010101010101011A
+:1026B000010101010101010101010101010101010A
+:1026C00001010101010101010101010101010101FA
+:1026D00001010101010101010101010101010101EA
+:1026E00001010101010101010101010101010101DA
+:1026F00001010101010101010101010101010101CA
+:1027000001010101010101010101010101010101B9
+:1027100001010101010101010101010101010101A9
+:102720000101010101010101010101010101010199
+:102730000101010101010101010101010101010189
+:102740000101010101010101010101010101010179
+:102750000101010101010101010101010101010169
+:102760000101010101010101010101010101010159
+:102770000101010101010101010101010101010149
+:102780000101010101010101010101010101010139
+:102790000101010101010101010101010101010129
+:1027A0000101010101010101010101010101010119
+:1027B0000101010101010101010101010101010109
+:1027C00001010101010101010101010101010101F9
+:1027D00001010101010101010101010101010101E9
+:1027E00001010101010101010101010101010101D9
+:1027F00001010101010101010101010101010101C9
+:1028000001010101010101010101010101010101B8
+:1028100001010101010101010101010101010101A8
+:102820000101010101010101010101010101010198
+:102830000101010101010101010101010101010188
+:102840000101010101010101010101010101010178
+:102850000101010101010101010101010101010168
+:102860000101010101010101010101010101010158
+:102870000101010101010101010101010101010148
+:102880000101010101010101010101010101010138
+:102890000101010101010101010101010101010128
+:1028A0000101010101010101010101010101010118
+:1028B0000101010101010101010101010101010108
+:1028C00001010101010101010101010101010101F8
+:1028D00001010101010101010101010101010101E8
+:1028E00001010101010101010101010101010101D8
+:1028F00001010101010101010101010101010101C8
+:1029000001010101010101010101010101010101B7
+:1029100001010101010101010101010101010101A7
+:102920000101010101010101010101010101010197
+:102930000101010101010101010101010101010187
+:102940000101010101010101010101010101010177
+:102950000101010101010101010101010101010167
+:102960000101010101010101010101010101010157
+:102970000101010101010101010101010101010147
+:102980000101010101010101010101010101010137
+:102990000101010101010101010101010101010127
+:1029A0000101010101010101010101010101010117
+:1029B0000101010101010101010101010101010107
+:1029C00001010101010101010101010101010101F7
+:1029D00001010101010101010101010101010101E7
+:1029E00001010101010101010101010101010101D7
+:1029F00001010101010101010101010101010101C7
+:102A000001010101010101010101010101010101B6
+:102A100001010101010101010101010101010101A6
+:102A20000101010101010101010101010101010196
+:102A30000101010101010101010101010101010186
+:102A40000101010101010101010101010101010176
+:102A50000101010101010101010101010101010166
+:102A60000101010101010101010101010101010156
+:102A70000101010101010101010101010101010146
+:102A80000101010101010101010101010101010136
+:102A90000101010101010101010101010101010126
+:102AA0000101010101010101010101010101010116
+:102AB0000101010101010101010101010101010106
+:102AC00001010101010101010101010101010101F6
+:102AD00001010101010101010101010101010101E6
+:102AE00001010101010101010101010101010101D6
+:102AF00001010101010101010101010101010101C6
+:102B000001010101010101010101010101010101B5
+:102B100001010101010101010101010101010101A5
+:102B20000101010101010101010101010101010195
+:102B30000101010101010101010101010101010185
+:102B40000101010101010101010101010101010175
+:102B50000101010101010101010101010101010165
+:102B60000101010101010101010101010101010155
+:102B70000101010101010101010101010101010145
+:102B80000101010101010101010101010101010135
+:102B90000101010101010101010101010101010125
+:102BA0000101010101010101010101010101010115
+:102BB0000101010101010101010101010101010105
+:102BC00001010101010101010101010101010101F5
+:102BD00001010101010101010101010101010101E5
+:102BE00001010101010101010101010101010101D5
+:102BF00001010101010101010101010101010101C5
+:102C000001010101010101010101010101010101B4
+:102C100001010101010101010101010101010101A4
+:102C20000101010101010101010101010101010194
+:102C30000101010101010101010101010101010184
+:102C40000101010101010101010101010101010174
+:102C50000101010101010101010101010101010164
+:102C60000101010101010101010101010101010154
+:102C70000101010101010101010101010101010144
+:102C80000101010101010101010101010101010134
+:102C90000101010101010101010101010101010124
+:102CA0000101010101010101010101010101010114
+:102CB0000101010101010101010101010101010104
+:102CC00001010101010101010101010101010101F4
+:102CD00001010101010101010101010101010101E4
+:102CE00001010101010101010101010101010101D4
+:102CF00001010101010101010101010101010101C4
+:102D000001010101010101010101010101010101B3
+:102D100001010101010101010101010101010101A3
+:102D20000101010101010101010101010101010193
+:102D30000101010101010101010101010101010183
+:102D40000101010101010101010101010101010173
+:102D50000101010101010101010101010101010163
+:102D60000101010101010101010101010101010153
+:102D70000101010101010101010101010101010143
+:102D80000101010101010101010101010101010133
+:102D90000101010101010101010101010101010123
+:102DA0000101010101010101010101010101010113
+:102DB0000101010101010101010101010101010103
+:102DC00001010101010101010101010101010101F3
+:102DD00001010101010101010101010101010101E3
+:102DE00001010101010101010101010101010101D3
+:102DF00001010101010101010101010101010101C3
+:102E000001010101010101010101010101010101B2
+:102E100001010101010101010101010101010101A2
+:102E20000101010101010101010101010101010192
+:102E30000101010101010101010101010101010182
+:102E40000101010101010101010101010101010172
+:102E50000101010101010101010101010101010162
+:102E60000101010101010101010101010101010152
+:102E70000101010101010101010101010101010142
+:102E80000101010101010101010101010101010132
+:102E90000101010101010101010101010101010122
+:102EA0000101010101010101010101010101010112
+:102EB0000101010101010101010101010101010102
+:102EC00001010101010101010101010101010101F2
+:102ED00001010101010101010101010101010101E2
+:102EE00001010101010101010101010101010101D2
+:102EF00001010101010101010101010101010101C2
+:102F000001010101010101010101010101010101B1
+:102F100001010101010101010101010101010101A1
+:102F20000101010101010101010101010101010191
+:102F30000101010101010101010101010101010181
+:102F40000101010101010101010101010101010171
+:102F50000101010101010101010101010101010161
+:102F60000101010101010101010101010101010151
+:102F70000101010101010101010101010101010141
+:102F80000101010101010101010101010101010131
+:102F90000101010101010101010101010101010121
+:102FA0000101010101010101010101010101010111
+:102FB0000101010101010101010101010101010101
+:102FC00001010101010101010101010101010101F1
+:102FD00001010101010101010101010101010101E1
+:102FE00001010101010101010101010101010101D1
+:102FF00001010101010101010101010101010101C1
+:1030000001010101010101010101010101010101B0
+:1030100001010101010101010101010101010101A0
+:103020000101010101010101010101010101010190
+:103030000101010101010101010101010101010180
+:103040000101010101010101010101010101010170
+:103050000101010101010101010101010101010160
+:103060000101010101010101010101010101010150
+:103070000101010101010101010101010101010140
+:103080000101010101010101010101010101010130
+:103090000101010101010101010101010101010120
+:1030A0000101010101010101010101010101010110
+:1030B0000101010101010101010101010101010100
+:1030C00001010101010101010101010101010101F0
+:1030D00001010101010101010101010101010100E1
+:1030E00000000000000000000000000000000000E0
+:1030F00000000000000000000000000000000000D0
+:1031000000000000000000000000000000000000BF
+:1031100000000000000000000000000000000000AF
+:10312000000000000000000000000000000000009F
+:10313000000000000000000000000000000000008F
+:10314000000000000000000000000000000000007F
+:10315000000000000000000000000000000000006F
+:10316000000000000000000000000000000000005F
+:10317000000000000000000000000000000000004F
+:10318000000000000000000000000000000000003F
+:10319000000000000000000000000000000000002F
+:1031A000000000000000000000000000000000001F
+:1031B000000000000000000000000000000000000F
+:1031C00000000000000000000000000000000000FF
+:1031D00000000000000000000000000000000000EF
+:1031E00000000000000000000000000000000000DF
+:1031F00000000000000000000000000000000000CF
+:1032000000000000000000000000000000000000BE
+:1032100000000000000000000000000000000000AE
+:10322000000000000000000000000000000000009E
+:10323000000000000000000000000000000000008E
+:10324000000000000000000000000000000000007E
+:10325000000000000000000000000000000000006E
+:10326000000000000000000000000000000000005E
+:10327000000000000000000000000000000000004E
+:10328000000000000000000000000000000000003E
+:10329000000000000000000000000000000000002E
+:1032A000000000000000000000000000000000001E
+:1032B000000000000000000000000000000000000E
+:1032C00000000000000000000000000000000000FE
+:1032D00000000000000000000000000000000000EE
+:1032E00000000000000000000000000000000000DE
+:1032F00000000000000000000000000000000000CE
+:1033000000000000000000000000000000000000BD
+:1033100000000000000000000000000000000000AD
+:10332000000000000000000000000000000000009D
+:10333000000000000000000000000000000000008D
+:10334000000000000000000000000000000000007D
+:10335000000000000000000000000000000000006D
+:10336000000000000000000000000000000000005D
+:10337000000000000000000000000000000000004D
+:10338000000000000000000000000000000000003D
+:10339000000000000000000000000000000000002D
+:1033A000000000000000000000000000000000001D
+:1033B000000000000000000000000000000000000D
+:1033C00000000000000000000000000000000000FD
+:1033D00000000000000000000000000000000000ED
+:1033E00000000000000000000000000000000000DD
+:1033F00000000000000000000000000000000000CD
+:1034000000000000000000000000000000000000BC
+:1034100000000000000000000000000000000000AC
+:10342000000000000000000000000000000000009C
+:10343000000000000000000000000000000000008C
+:10344000000000000000000000000000000000007C
+:10345000000000000000000000000000000000006C
+:10346000000000000000000000000000000000005C
+:10347000000000000000000000000000000000004C
+:10348000000000000000000000000000000000003C
+:10349000000000000000000000000000000000002C
+:1034A000000000000000000000000000000000001C
+:1034B000000000000000000000000000000000000C
+:1034C00000000000000000000000000000000000FC
+:1034D00000000000000000000000000000000002EA
+:1034E00002020202020202020202020202020202BC
+:1034F00002020202020202020202020202020202AC
+:10350000020202020202020202020202020202029B
+:10351000020202020202020202020202020202028B
+:10352000020202020202020202020202020202027B
+:10353000020202020202020202020202020202026B
+:10354000020202020202020202020202020202025B
+:10355000020202020202020202020202020202024B
+:10356000020202020202020202020202020202023B
+:10357000020202020202020202020202020202022B
+:10358000020202020202020202020202020202021B
+:10359000020202020202020202020202020202020B
+:1035A00002020202020202020202020202020202FB
+:1035B00002020202020202020202020202020202EB
+:1035C00002020202020202020202020202020202DB
+:1035D00002020202020202020202020202020202CB
+:1035E00002020202020202020202020202020202BB
+:1035F00002020202020202020202020202020202AB
+:10360000020202020202020202020202020202029A
+:10361000020202020202020202020202020202028A
+:10362000020202020202020202020202020202027A
+:10363000020202020202020202020202020202026A
+:10364000020202020202020202020202020202025A
+:10365000020202020202020202020202020202024A
+:10366000020202020202020202020202020202023A
+:10367000020202020202020202020202020202022A
+:10368000020202020202020202020202020202021A
+:10369000020202020202020202020202020202020A
+:1036A00002020202020202020202020202020202FA
+:1036B00002020202020202020202020202020202EA
+:1036C00002020202020202020202020202020202DA
+:1036D00002020202020202020202020202020202CA
+:1036E00002020202020202020202020202020202BA
+:1036F00002020202020202020202020202020202AA
+:103700000202020202020202020202020202020299
+:103710000202020202020202020202020202020289
+:103720000202020202020202020202020202020279
+:103730000202020202020202020202020202020269
+:103740000202020202020202020202020202020259
+:103750000202020202020202020202020202020249
+:103760000202020202020202020202020202020239
+:103770000202020202020202020202020202020229
+:103780000202020202020202020202020202020219
+:103790000202020202020202020202020202020209
+:1037A00002020202020202020202020202020202F9
+:1037B00002020202020202020202020202020202E9
+:1037C00002020202020202020202020202020202D9
+:1037D00002020202020202020202020202020202C9
+:1037E00002020202020202020202020202020202B9
+:1037F00002020202020202020202020202020202A9
+:103800000202020202020202020202020202020298
+:103810000202020202020202020202020202020288
+:103820000202020202020202020202020202020278
+:103830000202020202020202020202020202020268
+:103840000202020202020202020202020202020258
+:103850000202020202020202020202020202020248
+:103860000202020202020202020202020202020238
+:103870000202020202020202020202020202020228
+:103880000202020202020202020202020202020218
+:103890000202020202020202020202020202020208
+:1038A00002020202020202020202020202020202F8
+:1038B00002020202020202020202020202020202E8
+:1038C00002020202020202020202020202020202D8
+:1038D00002020202020202020202020202020202C8
+:1038E00002020202020202020202020202020202B8
+:1038F00002020202020202020202020202020202A8
+:103900000202020202020202020202020202020297
+:103910000202020202020202020202020202020287
+:103920000202020202020202020202020202020277
+:103930000202020202020202020202020202020267
+:103940000202020202020202020202020202020257
+:103950000202020202020202020202020202020247
+:103960000202020202020202020202020202020237
+:103970000202020202020202020202020202020227
+:103980000202020202020202020202020202020217
+:103990000202020202020202020202020202020207
+:1039A00002020202020202020202020202020202F7
+:1039B00002020202020202020202020202020202E7
+:1039C00002020202020202020202020202020202D7
+:1039D00002020202020202020202020202020202C7
+:1039E00002020202020202020202020202020202B7
+:1039F00002020202020202020202020202020202A7
+:103A00000202020202020202020202020202020296
+:103A10000202020202020202020202020202020286
+:103A20000202020202020202020202020202020276
+:103A30000202020202020202020202020202020266
+:103A40000202020202020202020202020202020256
+:103A50000202020202020202020202020202020246
+:103A60000202020202020202020202020202020236
+:103A70000202020202020202020202020202020226
+:103A80000202020202020202020202020202020216
+:103A90000202020202020202020202020202020206
+:103AA00002020202020202020202020202020202F6
+:103AB00002020202020202020202020202020202E6
+:103AC00002020202020202020202020202020202D6
+:103AD00002020202020202020202020202020202C6
+:103AE00002020202020202020202020202020202B6
+:103AF00002020202020202020202020202020202A6
+:103B00000202020202020202020202020202020295
+:103B10000202020202020202020202020202020285
+:103B20000202020202020202020202020202020275
+:103B30000202020202020202020202020202020265
+:103B40000202020202020202020202020202020255
+:103B50000202020202020202020202020202020245
+:103B60000202020202020202020202020202020235
+:103B70000202020202020202020202020202020225
+:103B80000202020202020202020202020202020215
+:103B90000202020202020202020202020202020205
+:103BA00002020202020202020202020202020202F5
+:103BB00002020202020202020202020202020202E5
+:103BC00002020202020202020202020202020202D5
+:103BD00002020202020202020202020202020202C5
+:103BE00002020202020202020202020202020202B5
+:103BF00002020202020202020202020202020202A5
+:103C00000202020202020202020202020202020294
+:103C10000202020202020202020202020202020284
+:103C20000202020202020202020202020202020274
+:103C30000202020202020202020202020202020264
+:103C40000202020202020202020202020202020254
+:103C50000202020202020202020202020202020244
+:103C60000202020202020202020202020202020234
+:103C70000202020202020202020202020202020224
+:103C80000202020202020202020202020202020214
+:103C90000202020202020202020202020202020204
+:103CA00002020202020202020202020202020202F4
+:103CB00002020202020202020202020202020202E4
+:103CC00002020202020202020202020202020202D4
+:103CD00002020202020202020202020202020202C4
+:103CE00002020202020202020202020202020202B4
+:103CF00002020202020202020202020202020202A4
+:103D00000202020202020202020202020202020293
+:103D10000202020202020202020202020202020283
+:103D20000202020202020202020202020202020273
+:103D30000202020202020202020202020202020263
+:103D40000202020202020202020202020202020253
+:103D50000202020202020202020202020202020243
+:103D60000202020202020202020202020202020233
+:103D70000202020202020202020202020202020223
+:103D80000202020202020202020202020202020213
+:103D90000202020202020202020202020202020203
+:103DA00002020202020202020202020202020202F3
+:103DB00002020202020202020202020202020202E3
+:103DC00002020202020202020202020202020202D3
+:103DD00002020202020202020202020202020202C3
+:103DE00002020202020202020202020202020202B3
+:103DF00002020202020202020202020202020202A3
+:103E00000202020202020202020202020202020292
+:103E10000202020202020202020202020202020282
+:103E20000202020202020202020202020202020272
+:103E30000202020202020202020202020202020262
+:103E40000202020202020202020202020202020252
+:103E50000202020202020202020202020202020242
+:103E60000202020202020202020202020202020232
+:103E70000202020202020202020202020202020222
+:103E80000202020202020202020202020202020212
+:103E90000202020202020202020202020202020202
+:103EA00002020202020202020202020202020202F2
+:103EB00002020202020202020202020202020202E2
+:103EC00002020202020202020202020202020202D2
+:103ED00002020202020202020202020202020202C2
+:103EE00002020202020202020202020202020202B2
+:103EF00002020202020202020202020202020202A2
+:103F00000202020202020202020202020202020291
+:103F10000202020202020202020202020202020281
+:103F20000202020202020202020202020202020271
+:103F30000202020202020202020202020202020261
+:103F40000202020202020202020202020202020251
+:103F50000202020202020202020202020202020241
+:103F60000202020202020202020202020202020231
+:103F70000202020202020202020202020202020221
+:103F80000202020202020202020202020202020211
+:103F90000202020202020202020202020202020201
+:103FA00002020202020202020202020202020202F1
+:103FB00002020202020202020202020202020202E1
+:103FC00002020202020202020202020202020202D1
+:103FD00002020202020202020202020202020202C1
+:103FE00002020202020202020202020202020202B1
+:103FF00002020202020202020202020202020202A1
+:104000000202020202020202020202020202020290
+:104010000202020202020202020202020202020280
+:104020000202020202020202020202020202020270
+:104030000202020202020202020202020202020260
+:104040000202020202020202020202020202020250
+:104050000202020202020202020202020202020240
+:104060000202020202020202020202020202020230
+:104070000202020202020202020202020202020220
+:104080000202020202020202020202020202020210
+:104090000202020202020202020202020202020200
+:1040A00002020202020202020202020202020202F0
+:1040B00002020202020202020202020202020202E0
+:1040C00002020202020202020202020202020202D0
+:1040D00002020202020202020202020202020202C0
+:1040E00002020202020202020202020202020202B0
+:1040F00002020202020202020202020202020202A0
+:10410000020202020202020202020202020202028F
+:10411000020202020202020202020202020202027F
+:10412000020202020202020202020202020202026F
+:10413000020202020202020202020202020202025F
+:10414000020202020202020202020202020202024F
+:10415000020202020202020202020202020202023F
+:10416000020202020202020202020202020202022F
+:10417000020202020202020202020202020202021F
+:10418000020202020202020202020202020202020F
+:1041900002020202020202020202020202020202FF
+:1041A00002020202020202020202020202020202EF
+:1041B00002020202020202020202020202020202DF
+:1041C00002020202020202020202020202020202CF
+:1041D00002020202020202020202020202020202BF
+:1041E00002020202020202020202020202020202AF
+:1041F000020202020202020202020202020202029F
+:10420000020202020202020202020202020202028E
+:10421000020202020202020202020202020202027E
+:10422000020202020202020202020202020202026E
+:10423000020202020202020202020202020202025E
+:10424000020202020202020202020202020202024E
+:10425000020202020202020202020202020202023E
+:10426000020202020202020202020202020202022E
+:10427000020202020202020202020202020202021E
+:10428000020202020202020202020202020202020E
+:1042900002020202020202020202020202020202FE
+:1042A00002020202020202020202020202020202EE
+:1042B00002020202020202020202020202020202DE
+:1042C00002020202020202020202020202020202CE
+:1042D00002020202020202020202020202020202BE
+:1042E00002020202020202020202020202020202AE
+:1042F000020202020202020202020202020202029E
+:10430000020202020202020202020202020202028D
+:10431000020202020202020202020202020202027D
+:10432000020202020202020202020202020202026D
+:10433000020202020202020202020202020202025D
+:10434000020202020202020202020202020202024D
+:10435000020202020202020202020202020202023D
+:10436000020202020202020202020202020202022D
+:10437000020202020202020202020202020202021D
+:10438000020202020202020202020202020202020D
+:1043900002020202020202020202020202020202FD
+:1043A00002020202020202020202020202020202ED
+:1043B00002020202020202020202020202020202DD
+:1043C00002020202020202020202020202020202CD
+:1043D00002020202020202020202020202020202BD
+:1043E00002020202020202020202020202020202AD
+:1043F000020202020202020202020202020202029D
+:10440000020202020202020202020202020202028C
+:10441000020202020202020202020202020202027C
+:10442000020202020202020202020202020202026C
+:10443000020202020202020202020202020202025C
+:10444000020202020202020202020202020202024C
+:10445000020202020202020202020202020202023C
+:10446000020202020202020202020202020202022C
+:10447000020202020202020202020202020202021C
+:10448000020202020202020202020202020202020C
+:1044900002020202020202020202020202020202FC
+:1044A00002020202020202020202020202020202EC
+:1044B00002020202020202020202020202020202DC
+:1044C00002020202020202020202020202020202CC
+:1044D00002020202020202020202020202020202BC
+:1044E00002020202020202020202020202020202AC
+:1044F000020202020202020202020202020202029C
+:10450000020202020202020202020202020202028B
+:10451000020202020202020202020202020202027B
+:10452000020202020202020202020202020202026B
+:10453000020202020202020202020202020202025B
+:10454000020202020202020202020202020202024B
+:10455000020202020202020202020202020202023B
+:10456000020202020202020202020202020202022B
+:10457000020202020202020202020202020202021B
+:10458000020202020202020202020202020202020B
+:1045900002020202020202020202020202020202FB
+:1045A00002020202020202020202020202020202EB
+:1045B00002020202020202020202020202020202DB
+:1045C00002020202020202020202020202020202CB
+:1045D00002020202020202020202020202020202BB
+:1045E00002020202020202020202020202020202AB
+:1045F000020202020202020202020202020202029B
+:10460000020202020202020202020202020202028A
+:10461000020202020202020202020202020202027A
+:10462000020202020202020202020202020202026A
+:10463000020202020202020202020202020202025A
+:10464000020202020202020202020202020202024A
+:10465000020202020202020202020202020202023A
+:10466000020202020202020202020202020202022A
+:10467000020202020202020202020202020202021A
+:10468000020202020202020202020202020202020A
+:1046900002020202020202020202020202020202FA
+:1046A00002020202020202020202020202020202EA
+:1046B00002020202020202020202020202020202DA
+:1046C00002020202020202020202020202020202CA
+:1046D00002020202020202020202020202020202BA
+:1046E00002020202020202020202020202020202AA
+:1046F000020202020202020202020202020202029A
+:104700000202020202020202020202020202020289
+:104710000202020202020202020202020202020279
+:104720000202020202020202020202020202020269
+:104730000202020202020202020202020202020259
+:104740000202020202020202020202020202020249
+:104750000202020202020202020202020202020239
+:104760000202020202020202020202020202020229
+:104770000202020202020202020202020202020219
+:104780000202020202020202020202020202020209
+:1047900002020202020202020202020202020202F9
+:1047A00002020202020202020202020202020202E9
+:1047B00002020202020202020202020202020202D9
+:1047C00002020202020202020202020202020202C9
+:1047D00002020202020202020202020202020202B9
+:1047E00002020202020202020202020202020202A9
+:1047F0000202020202020202020202020202020299
+:104800000202020202020202020202020202020288
+:104810000202020202020202020202020202020278
+:104820000202020202020202020202020202020268
+:104830000202020202020202020202020202020258
+:104840000202020202020202020202020202020248
+:104850000202020202020202020202020202020238
+:104860000202020202020202020202020202020228
+:104870000202020202020202020202020202020218
+:104880000202020202020202020202020202020208
+:1048900002020202020202020202020202020202F8
+:1048A00002020202020202020202020202020202E8
+:1048B00002020202020202020202020202020202D8
+:1048C00002020202020202020202020202020202C8
+:1048D00002020202020202020202020202020202B8
+:1048E00002020202020202020202020202020202A8
+:1048F0000202020202020202020202020202020298
+:104900000202020202020202020202020202020287
+:104910000202020202020202020202020202020277
+:104920000202020202020202020202020202020267
+:104930000202020202020202020202020202020257
+:104940000202020202020202020202020202020247
+:104950000202020202020202020202020202020237
+:104960000202020202020202020202020202020227
+:104970000202020202020202020202020202020217
+:104980000202020202020202020202020202020207
+:1049900002020202020202020202020202020202F7
+:1049A00002020202020202020202020202020202E7
+:1049B00002020202020202020202020202020202D7
+:1049C00002020202020202020202020202020202C7
+:1049D00002020202020202020202020202020202B7
+:1049E00002020202020202020202020202020202A7
+:1049F0000202020202020202020202020202020297
+:104A00000202020202020202020202020202020286
+:104A10000202020202020202020202020202020276
+:104A20000202020202020202020202020202020266
+:104A30000202020202020202020202020202020256
+:104A40000202020202020202020202020202020246
+:104A50000202020202020202020202020202020236
+:104A60000202020202020202020202020202020226
+:104A70000202020202020202020202020202020216
+:104A80000202020202020202020202020202020206
+:104A900002020202020202020202020202020202F6
+:104AA00002020202020202020202020202020202E6
+:104AB00002020202020202020202020202020202D6
+:104AC00002020202020202020202020202020202C6
+:104AD00002020202020202020202020202020202B6
+:104AE00002020202020202020202020202020202A6
+:104AF0000202020202020202020202020202020296
+:104B00000202020202020202020202020202020285
+:104B10000202020202020202020202020202020275
+:104B20000202020202020202020202020202020265
+:104B30000202020202020202020202020202020255
+:104B40000202020202020202020202020202020245
+:104B50000202020202020202020202020202020235
+:104B60000202020202020202020202020202020225
+:104B70000202020202020202020202020202020215
+:104B80000202020202020202020202020202020205
+:104B900002020202020202020202020202020202F5
+:104BA00002020202020202020202020202020202E5
+:104BB00002020202020202020202020202020202D5
+:104BC00002020202020202020202020202020202C5
+:104BD00002020202020202020202020202020202B5
+:104BE00002020202020202020202020202020202A5
+:104BF0000202020202020202020202020202020295
+:104C00000202020202020202020202020202020284
+:104C10000202020202020202020202020202020274
+:104C20000202020202020202020202020202020264
+:104C30000202020202020202020202020202020254
+:104C40000202020202020202020202020202020244
+:104C50000202020202020202020202020202020234
+:104C60000202020202020202020202020202020224
+:104C70000202020202020202020202020202020214
+:104C80000202020202020202020202020202020204
+:104C900002020202020202020202020202020202F4
+:104CA00002020202020202020202020202020202E4
+:104CB00002020202020202020202020202020202D4
+:104CC00002020202020202020202020202020202C4
+:104CD00002020202020202020202020202020202B4
+:104CE00002020202020202020202020202020202A4
+:104CF0000202020202020202020202020202020294
+:104D00000202020202020202020202020202020283
+:104D10000202020202020202020202020202020273
+:104D20000202020202020202020202020202020263
+:104D30000202020202020202020202020202020253
+:104D40000202020202020202020202020202020243
+:104D50000202020202020202020202020202020233
+:104D60000202020202020202020202020202020223
+:104D70000202020202020202020202020202020213
+:104D80000202020202020202020202020202020203
+:104D900002020202020202020202020202020202F3
+:104DA00002020202020202020202020202020202E3
+:104DB00002020202020202020202020202020202D3
+:104DC00002020202020202020202020202020202C3
+:104DD00002020202020202020202020202020202B3
+:104DE00002020202020202020202020202020202A3
+:104DF0000202020202020202020202020202020293
+:104E00000202020202020202020202020202020282
+:104E10000202020202020202020202020202020272
+:104E20000202020202020202020202020202020262
+:104E30000202020202020202020202020202020252
+:104E40000202020202020202020202020202020242
+:104E50000202020202020202020202020202020232
+:104E60000202020202020202020202020202020222
+:104E70000202020202020202020202020202020212
+:104E80000202020202020202020202020202020202
+:104E900002020202020202020202020202020202F2
+:104EA00002020202020202020202020202020202E2
+:104EB00002020202020202020202020202020202D2
+:104EC00002020202020202020202020202020202C2
+:104ED00002020202020202020202020202020202B2
+:104EE00002020202020202020202020202020202A2
+:104EF0000202020202020202020202020202020292
+:104F00000202020202020202020202020202020281
+:104F10000202020202020202020202020202020271
+:104F20000202020202020202020202020202020261
+:104F30000202020202020202020202020202020251
+:104F40000202020202020202020202020202020241
+:104F50000202020202020202020202020202020231
+:104F60000202020202020202020202020202020221
+:104F70000202020202020202020202020202020211
+:104F80000202020202020202020202020202020201
+:104F900002020202020202020202020202020202F1
+:104FA00002020202020202020202020202020202E1
+:104FB00002020202020202020202020202020202D1
+:104FC00002020202020202020202020202020202C1
+:104FD00002020202020202020202020202020202B1
+:104FE00002020202020202020202020202020202A1
+:104FF0000202020202020202020202020202020291
+:105000000202020202020202020202020202020280
+:105010000202020202020202020202020202020270
+:105020000202020202020202020202020202020260
+:105030000202020202020202020202020202020250
+:105040000202020202020202020202020202020240
+:105050000202020202020202020202020202020230
+:105060000202020202020202020202020202020220
+:105070000202020202020202020202020202020210
+:105080000202020202020202020202020202020200
+:1050900002020202020202020202020202020202F0
+:1050A00002020202020202020202020202020202E0
+:1050B00002020202020202020202020202020202D0
+:1050C00002020202020202020202020202020202C0
+:1050D00002020202020202020202020202020202B0
+:1050E00002020202020202020202020202020202A0
+:1050F0000202020202020202020202020202020290
+:10510000020202020202020202020202020202027F
+:10511000020202020202020202020202020202026F
+:10512000020202020202020202020202020202025F
+:10513000020202020202020202020202020202024F
+:10514000020202020202020202020202020202023F
+:10515000020202020202020202020202020202022F
+:10516000020202020202020202020202020202021F
+:10517000020202020202020202020202020202020F
+:1051800002020202020202020202020202020202FF
+:1051900002020202020202020202020202020202EF
+:1051A00002020202020202020202020202020202DF
+:1051B00002020202020202020202020202020202CF
+:1051C00002020202020202020202020202020202BF
+:1051D00002020202020202020202020202020202AF
+:1051E000020202020202020202020202020202029F
+:1051F000020202020202020202020202020202028F
+:10520000020202020202020202020202020202027E
+:10521000020202020202020202020202020202026E
+:10522000020202020202020202020202020202025E
+:10523000020202020202020202020202020202024E
+:10524000020202020202020202020202020202023E
+:10525000020202020202020202020202020202022E
+:10526000020202020202020202020202020202021E
+:10527000020202020202020202020202020202020E
+:1052800002020202020202020202020202020202FE
+:1052900002020202020202020202020202020202EE
+:1052A00002020202020202020202020202020202DE
+:1052B00002020202020202020202020202020202CE
+:1052C00002020202020202020202020202020202BE
+:1052D00002020202020202020202020202020202AE
+:1052E000020202020202020202020202020202029E
+:1052F000020202020202020202020202020202028E
+:10530000020202020202020202020202020202027D
+:10531000020202020202020202020202020202026D
+:10532000020202020202020202020202020202025D
+:10533000020202020202020202020202020202024D
+:10534000020202020202020202020202020202023D
+:10535000020202020202020202020202020202022D
+:10536000020202020202020202020202020202021D
+:10537000020202020202020202020202020202020D
+:1053800002020202020202020202020202020202FD
+:1053900002020202020202020202020202020202ED
+:1053A00002020202020202020202020202020202DD
+:1053B00002020202020202020202020202020202CD
+:1053C00002020202020202020202020202020202BD
+:1053D00002020202020202020202020202020202AD
+:1053E000020202020202020202020202020202029D
+:1053F000020202020202020202020202020202028D
+:10540000020202020202020202020202020202027C
+:10541000020202020202020202020202020202026C
+:10542000020202020202020202020202020202025C
+:10543000020202020202020202020202020202024C
+:10544000020202020202020202020202020202023C
+:10545000020202020202020202020202020202022C
+:10546000020202020202020202020202020202021C
+:10547000020202020202020202020202020202020C
+:1054800002020202020202020202020202020202FC
+:1054900002020202020202020202020202020202EC
+:1054A00002020202020202020202020202020202DC
+:1054B00002020202020202020202020202020202CC
+:1054C00002020202020202020202020202020202BC
+:1054D00002020202020202020202020202020202AC
+:1054E000020202020202020202020202020202029C
+:1054F000020202020202020202020202020202028C
+:10550000020202020202020202020202020202027B
+:10551000020202020202020202020202020202026B
+:10552000020202020202020202020202020202025B
+:10553000020202020202020202020202020202024B
+:10554000020202020202020202020202020202023B
+:10555000020202020202020202020202020202022B
+:10556000020202020202020202020202020202021B
+:10557000020202020202020202020202020202020B
+:1055800002020202020202020202020202020202FB
+:1055900002020202020202020202020202020202EB
+:1055A00002020202020202020202020202020202DB
+:1055B00002020202020202020202020202020202CB
+:1055C00002020202020202020202020202020202BB
+:1055D00002020202020202020202020202020202AB
+:1055E000020202020202020202020202020202029B
+:1055F000020202020202020202020202020202028B
+:10560000020202020202020202020202020202027A
+:10561000020202020202020202020202020202026A
+:10562000020202020202020202020202020202025A
+:10563000020202020202020202020202020202024A
+:10564000020202020202020202020202020202023A
+:10565000020202020202020202020202020202022A
+:10566000020202020202020202020202020202021A
+:10567000020202020202020202020202020202020A
+:1056800002020202020202020202020202020202FA
+:1056900002020202020202020202020202020202EA
+:1056A00002020202020202020202020202020202DA
+:1056B00002020202020202020202020202020202CA
+:1056C00002020202020202020202020202020202BA
+:1056D00002020202020202020202020202020202AA
+:1056E000020202020202020202020202020202029A
+:1056F000020202020202020202020202020202028A
+:105700000202020202020202020202020202020279
+:105710000202020202020202020202020202020269
+:105720000202020202020202020202020202020259
+:105730000202020202020202020202020202020249
+:105740000202020202020202020202020202020239
+:105750000202020202020202020202020202020229
+:105760000202020202020202020202020202020219
+:105770000202020202020202020202020202020209
+:1057800002020202020202020202020202020202F9
+:1057900002020202020202020202020202020202E9
+:1057A00002020202020202020202020202020202D9
+:1057B00002020202020202020202020202020202C9
+:1057C00002020202020202020202020202020202B9
+:1057D00002020202020202020202020202020202A9
+:1057E0000202020202020202020202020202020299
+:1057F0000202020202020202020202020202020289
+:105800000202020202020202020202020202020278
+:105810000202020202020202020202020202020268
+:105820000202020202020202020202020202020258
+:105830000202020202020202020202020202020248
+:105840000202020202020202020202020202020238
+:105850000202020202020202020202020202020228
+:105860000202020202020202020202020202020218
+:105870000202020202020202020202020202020208
+:1058800002020202020202020202020202020202F8
+:1058900002020202020202020202020202020202E8
+:1058A00002020202020202020202020202020202D8
+:1058B00002020202020202020202020202020202C8
+:1058C00002020202020202020202020202020202B8
+:1058D00002020202020202020202020202020202A8
+:1058E0000202020202020202020202020202020298
+:1058F0000202020202020202020202020202020288
+:105900000202020202020202020202020202020277
+:105910000202020202020202020202020202020267
+:105920000202020202020202020202020202020257
+:105930000202020202020202020202020202020247
+:105940000202020202020202020202020202020237
+:105950000202020202020202020202020202020227
+:105960000202020202020202020202020202020217
+:105970000202020202020202020202020202020207
+:1059800002020202020202020202020202020202F7
+:1059900002020202020202020202020202020202E7
+:1059A00002020202020202020202020202020202D7
+:1059B00002020202020202020202020202020202C7
+:1059C00002020202020202020202020202020202B7
+:1059D00002020202020202020202020202020202A7
+:1059E0000202020202020202020202020202020297
+:1059F0000202020202020202020202020202020287
+:105A00000202020202020202020202020202020276
+:105A10000202020202020202020202020202020266
+:105A20000202020202020202020202020202020256
+:105A30000202020202020202020202020202020246
+:105A40000202020202020202020202020202020236
+:105A50000202020202020202020202020202020226
+:105A60000202020202020202020202020202020216
+:105A70000202020202020202020202020202020206
+:105A800002020202020202020202020202020202F6
+:105A900002020202020202020202020202020202E6
+:105AA00002020202020202020202020202020202D6
+:105AB00002020202020202020202020202020202C6
+:105AC00002020202020202020202020202020202B6
+:105AD00002020202020202020202020202020202A6
+:105AE0000202020202020202020202020202020296
+:105AF0000202020202020202020202020202020286
+:105B00000202020202020202020202020202020275
+:105B10000202020202020202020202020202020265
+:105B20000202020202020202020202020202020255
+:105B30000202020202020202020202020202020245
+:105B40000202020202020202020202020202020235
+:105B50000202020202020202020202020202020225
+:105B60000202020202020202020202020202020215
+:105B70000202020202020202020202020202020205
+:105B800002020202020202020202020202020202F5
+:105B900002020202020202020202020202020202E5
+:105BA00002020202020202020202020202020202D5
+:105BB00002020202020202020202020202020202C5
+:105BC00002020202020202020202020202020202B5
+:105BD00002020202020202020202020202020202A5
+:105BE0000202020202020202020202020202020295
+:105BF0000202020202020202020202020202020285
+:105C00000202020202020202020202020202020274
+:105C10000202020202020202020202020202020264
+:105C20000202020202020202020202020202020254
+:105C30000202020202020202020202020202020244
+:105C40000202020202020202020202020202020234
+:105C50000202020202020202020202020202020224
+:105C60000202020202020202020202020202020214
+:105C70000202020202020202020202020202020204
+:105C800002020202020202020202020202020202F4
+:105C900002020202020202020202020202020202E4
+:105CA00002020202020202020202020202020202D4
+:105CB00002020202020202020202020202020202C4
+:105CC00002020202020202020202020202020202B4
+:105CD00002020202020202020202020202020202A4
+:105CE0000202020202020202020202020202020294
+:105CF0000202020202020202020202020202020284
+:105D00000202020202020202020202020202020273
+:105D10000202020202020202020202020202020263
+:105D20000202020202020202020202020202020253
+:105D30000202020202020202020202020202020243
+:105D40000202020202020202020202020202020233
+:105D50000202020202020202020202020202020223
+:105D60000202020202020202020202020202020213
+:105D70000202020202020202020202020202020203
+:105D800002020202020202020202020202020202F3
+:105D900002020202020202020202020202020202E3
+:105DA00002020202020202020202020202020202D3
+:105DB00002020202020202020202020202020202C3
+:105DC00002020202020202020202020202020202B3
+:105DD00002020202020202020202020202020202A3
+:105DE0000202020202020202020202020202020293
+:105DF0000202020202020202020202020202020283
+:105E00000202020202020202020202020202020272
+:105E10000202020202020202020202020202020262
+:105E20000202020202020202020202020202020252
+:105E30000202020202020202020202020202020242
+:105E40000202020202020202020202020202020232
+:105E50000202020202020202020202020202020222
+:105E60000202020202020202020202020202020212
+:105E70000202020202020202020202020202020202
+:105E800002020202020202020202020202020202F2
+:105E900002020202020202020202020202020202E2
+:105EA00002020202020202020202020202020202D2
+:105EB00002020202020202020202020202020202C2
+:105EC00002020202020202020202020202020202B2
+:105ED00002020202020202020202020202020202A2
+:105EE0000202020202020202020202020202020292
+:105EF0000202020202020202020202020202020282
+:105F00000202020202020202020202020202020271
+:105F10000202020202020202020202020202020261
+:105F20000202020202020202020202020202020251
+:105F30000202020202020202020202020202020241
+:105F40000202020202020202020202020202020231
+:105F50000202020202020202020202020202020221
+:105F60000202020202020202020202020202020211
+:105F70000202020202020202020202020202020201
+:105F800002020202020202020202020202020202F1
+:105F900002020202020202020202020202020202E1
+:105FA00002020202020202020202020202020202D1
+:105FB00002020202020202020202020202020202C1
+:105FC00002020202020202020202020202020202B1
+:105FD00002020202020202020202020202020202A1
+:105FE0000202020202020202020202020202020291
+:105FF0000202020202020202020202020202020281
+:106000000202020202020202020202020202020270
+:106010000202020202020202020202020202020260
+:106020000202020202020202020202020202020250
+:106030000202020202020202020202020202020240
+:106040000202020202020202020202020202020230
+:106050000202020202020202020202020202020220
+:106060000202020202020202020202020202020210
+:106070000202020202020202020202020202020200
+:1060800002020202020202020202020202020202F0
+:1060900002020202020202020202020202020202E0
+:1060A00002020202020202020202020202020202D0
+:1060B00002020202020202020202020202020202C0
+:1060C00002020202020202020202020202020202B0
+:1060D00002020202020202020202020202020202A0
+:1060E0000202020202020202020202020202020290
+:1060F0000202020202020202020202020202020280
+:10610000020202020202020202020202020202026F
+:10611000020202020202020202020202020202025F
+:10612000020202020202020202020202020202024F
+:10613000020202020202020202020202020202023F
+:10614000020202020202020202020202020202022F
+:10615000020202020202020202020202020202021F
+:10616000020202020202020202020202020202020F
+:1061700002020202020202020202020202020202FF
+:1061800002020202020202020202020202020202EF
+:1061900002020202020202020202020202020202DF
+:1061A00002020202020202020202020202020202CF
+:1061B00002020202020202020202020202020202BF
+:1061C00002020202020202020202020202020202AF
+:1061D000020202020202020202020202020202029F
+:1061E000020202020202020202020202020202028F
+:1061F000020202020202020202020202020202027F
+:10620000020202020202020202020202020202026E
+:10621000020202020202020202020202020202025E
+:10622000020202020202020202020202020202024E
+:10623000020202020202020202020202020202023E
+:10624000020202020202020202020202020202022E
+:10625000020202020202020202020202020202021E
+:10626000020202020202020202020202020202020E
+:1062700002020202020202020202020202020202FE
+:1062800002020202020202020202020202020202EE
+:1062900002020202020202020202020202020202DE
+:1062A00002020202020202020202020202020202CE
+:1062B00002020202020202020202020202020202BE
+:1062C00002020202020202020202020202020202AE
+:1062D000020202020202020202020202020202029E
+:1062E000020202020202020202020202020202028E
+:1062F000020202020202020202020202020202027E
+:10630000020202020202020202020202020202026D
+:10631000020202020202020202020202020202025D
+:10632000020202020202020202020202020202024D
+:10633000020202020202020202020202020202023D
+:10634000020202020202020202020202020202022D
+:10635000020202020202020202020202020202021D
+:10636000020202020202020202020202020202020D
+:1063700002020202020202020202020202020202FD
+:1063800002020202020202020202020202020202ED
+:1063900002020202020202020202020202020202DD
+:1063A00002020202020202020202020202020202CD
+:1063B00002020202020202020202020202020202BD
+:1063C00002020202020202020202020202020202AD
+:1063D000020202020202020202020202020202029D
+:1063E000020202020202020202020202020202028D
+:1063F000020202020202020202020202020202027D
+:10640000020202020202020202020202020202026C
+:10641000020202020202020202020202020202025C
+:10642000020202020202020202020202020202024C
+:10643000020202020202020202020202020202023C
+:10644000020202020202020202020202020202022C
+:10645000020202020202020202020202020202021C
+:10646000020202020202020202020202020202020C
+:1064700002020202020202020202020202020202FC
+:1064800002020202020202020202020202020202EC
+:1064900002020202020202020202020202020202DC
+:1064A00002020202020202020202020202020202CC
+:1064B00002020202020202020202020202020202BC
+:1064C00002020202020202020202020202020202AC
+:1064D000020202020202020202020202020202009E
+:1064E00000000000000000000000000000000000AC
+:1064F000000000000000000000000000000000009C
+:10650000000000000000000000000000000000008B
+:10651000000000000000000000000000000000007B
+:10652000000000000000000000000000000000006B
+:10653000000000000000000000000000000000005B
+:10654000000000000000000000000000000000004B
+:10655000000000000000000000000000000000003B
+:10656000000000000000000000000000000000002B
+:10657000000000000000000000000000000000001B
+:10658000000000000000000000000000000000000B
+:1065900000000000000000000000000000000000FB
+:1065A00000000000000000000000000000000000EB
+:1065B00000000000000000000000000000000000DB
+:1065C00000000000000000000000000000000000CB
+:1065D0000000000000000000000000000000005764
+:1065E00000000000000000010101010101010101A2
+:1065F000010101010101010101010101010101018B
+:10660000010101010101010101010101010101017A
+:10661000010101010101010101010101010101016A
+:10662000010101010101010101010101010101015A
+:10663000010101010101010101010101010101014A
+:10664000010101010101010101010101010101013A
+:10665000010101010101010101010101010101012A
+:10666000010101010101010101010101010101011A
+:10667000010101010101010101010101010101010A
+:1066800001010101010101010101010101010101FA
+:1066900001010101010101010101010101010101EA
+:1066A00001010101010101010101010101010101DA
+:1066B00001010101010101010101010101010101CA
+:1066C00001010101010101010101010101010101BA
+:1066D00001010101010101010101010101010101AA
+:1066E000010101010101010101010101010101019A
+:1066F000010101010101010101010101010101018A
+:106700000101010101010101010101010101010179
+:106710000101010101010101010101010101010169
+:106720000101010101010101010101010101010159
+:106730000101010101010101010101010101010149
+:106740000101010101010101010101010101010139
+:106750000101010101010101010101010101010129
+:106760000101010101010101010101010101010119
+:106770000101010101010101010101010101010109
+:1067800001010101010101010101010101010101F9
+:1067900001010101010101010101010101010101E9
+:1067A00001010101010101010101010101010101D9
+:1067B00001010101010101010101010101010101C9
+:1067C00001010101010101010101010101010101B9
+:1067D00001010101010101010101010101010101A9
+:1067E0000101010101010101010101010101010199
+:1067F0000101010101010101010101010101010189
+:106800000101010101010101010101010101010178
+:106810000101010101010101010101010101010168
+:106820000101010101010101010101010101010158
+:106830000101010101010101010101010101010148
+:106840000101010101010101010101010101010138
+:106850000101010101010101010101010101010128
+:106860000101010101010101010101010101010118
+:106870000101010101010101010101010101010108
+:1068800001010101010101010101010101010101F8
+:1068900001010101010101010101010101010101E8
+:1068A00001010101010101010101010101010101D8
+:1068B00001010101010101010101010101010101C8
+:1068C00001010101010101010101010101010101B8
+:1068D00001010101010101010101010101010101A8
+:1068E0000101010101010101010101010101010198
+:1068F0000101010101010101010101010101010188
+:106900000101010101010101010101010101010177
+:106910000101010101010101010101010101010167
+:106920000101010101010101010101010101010157
+:106930000101010101010101010101010101010147
+:106940000101010101010101010101010101010137
+:106950000101010101010101010101010101010127
+:106960000101010101010101010101010101010117
+:106970000101010101010101010101010101010107
+:1069800001010101010101010101010101010101F7
+:1069900001010101010101010101010101010101E7
+:1069A00001010101010101010101010101010101D7
+:1069B00001010101010101010101010101010101C7
+:1069C00001010101010101010101010101010101B7
+:1069D00001010101010101010101010101010101A7
+:1069E0000101010101010101010101010101010197
+:1069F0000101010101010101010101010101010187
+:106A00000101010101010101010101010101010176
+:106A10000101010101010101010101010101010166
+:106A20000101010101010101010101010101010156
+:106A30000101010101010101010101010101010146
+:106A40000101010101010101010101010101010136
+:106A50000101010101010101010101010101010126
+:106A60000101010101010101010101010101010116
+:106A70000101010101010101010101010101010106
+:106A800001010101010101010101010101010101F6
+:106A900001010101010101010101010101010101E6
+:106AA00001010101010101010101010101010101D6
+:106AB00001010101010101010101010101010101C6
+:106AC00001010101010101010101010101010101B6
+:106AD00001010101010101010101010101010101A6
+:106AE0000101010101010101010101010101010196
+:106AF0000101010101010101010101010101010186
+:106B00000101010101010101010101010101010175
+:106B10000101010101010101010101010101010165
+:106B20000101010101010101010101010101010155
+:106B30000101010101010101010101010101010145
+:106B40000101010101010101010101010101010135
+:106B50000101010101010101010101010101010125
+:106B60000101010101010101010101010101010115
+:106B70000101010101010101010101010101010105
+:106B800001010101010101010101010101010101F5
+:106B900001010101010101010101010101010101E5
+:106BA00001010101010101010101010101010101D5
+:106BB00001010101010101010101010101010101C5
+:106BC00001010101010101010101010101010101B5
+:106BD00001010101010101010101010101010101A5
+:106BE0000101010101010101010101010101010195
+:106BF0000101010101010101010101010101010185
+:106C00000101010101010101010101010101010174
+:106C10000101010101010101010101010101010164
+:106C20000101010101010101010101010101010154
+:106C30000101010101010101010101010101010144
+:106C40000101010101010101010101010101010134
+:106C50000101010101010101010101010101010124
+:106C60000101010101010101010101010101010114
+:106C70000101010101010101010101010101010104
+:106C800001010101010101010101010101010101F4
+:106C900001010101010101010101010101010101E4
+:106CA00001010101010101010101010101010101D4
+:106CB00001010101010101010101010101010101C4
+:106CC00001010101010101010101010101010101B4
+:106CD00001010101010101010101010101010101A4
+:106CE0000101010101010101010101010101010194
+:106CF0000101010101010101010101010101010184
+:106D00000101010101010101010101010101010173
+:106D10000101010101010101010101010101010163
+:106D20000101010101010101010101010101010153
+:106D30000101010101010101010101010101010143
+:106D40000101010101010101010101010101010133
+:106D50000101010101010101010101010101010123
+:106D60000101010101010101010101010101010113
+:106D70000101010101010101010101010101010103
+:106D800001010101010101010101010101010101F3
+:106D900001010101010101010101010101010101E3
+:106DA00001010101010101010101010101010101D3
+:106DB00001010101010101010101010101010101C3
+:106DC00001010101010101010101010101010101B3
+:106DD00001010101010101010101010101010101A3
+:106DE0000101010101010101010101010101010193
+:106DF0000101010101010101010101010101010183
+:106E00000101010101010101010101010101010172
+:106E10000101010101010101010101010101010162
+:106E20000101010101010101010101010101010152
+:106E30000101010101010101010101010101010142
+:106E40000101010101010101010101010101010132
+:106E50000101010101010101010101010101010122
+:106E60000101010101010101010101010101010112
+:106E70000101010101010101010101010101010102
+:106E800001010101010101010101010101010101F2
+:106E900001010101010101010101010101010101E2
+:106EA00001010101010101010101010101010101D2
+:106EB00001010101010101010101010101010101C2
+:106EC00001010101010101010101010101010101B2
+:106ED00001010101010101010101010101010101A2
+:106EE0000101010101010101010101010101010192
+:106EF0000101010101010101010101010101010182
+:106F00000101010101010101010101010101010171
+:106F10000101010101010101010101010101010161
+:106F20000101010101010101010101010101010151
+:106F30000101010101010101010101010101010141
+:106F40000101010101010101010101010101010131
+:106F50000101010101010101010101010101010121
+:106F60000101010101010101010101010101010111
+:106F70000101010101010101010101010101010101
+:106F800001010101010101010101010101010101F1
+:106F900001010101010101010101010101010101E1
+:106FA00001010101010101010101010101010101D1
+:106FB00001010101010101010101010101010101C1
+:106FC00001010101010101010101010101010101B1
+:106FD00001010101010101010101010101010101A1
+:106FE0000101010101010101010101010101010191
+:106FF0000101010101010101010101010101010181
+:107000000101010101010101010101010101010170
+:107010000101010101010101010101010101010160
+:107020000101010101010101010101010101010150
+:107030000101010101010101010101010101010140
+:107040000101010101010101010101010101010130
+:107050000101010101010101010101010101010120
+:107060000101010101010101010101010101010110
+:107070000101010101010101010101010101010100
+:1070800001010101010101010101010101010101F0
+:1070900001010101010101010101010101010101E0
+:1070A00001010101010101010101010101010101D0
+:1070B00001010101010101010101010101010101C0
+:1070C00001010101010101010101010101010101B0
+:1070D00001010101010101010101010101010101A0
+:1070E0000101010101010101010101010101010190
+:1070F0000101010101010101010101010101010180
+:10710000010101010101010101010101010101016F
+:10711000010101010101010101010101010101015F
+:10712000010101010101010101010101010101014F
+:10713000010101010101010101010101010101013F
+:10714000010101010101010101010101010101012F
+:10715000010101010101010101010101010101011F
+:10716000010101010101010101010101010101010F
+:1071700001010101010101010101010101010101FF
+:1071800001010101010101010101010101010101EF
+:1071900001010101010101010101010101010101DF
+:1071A00001010101010101010101010101010101CF
+:1071B00001010101010101010101010101010101BF
+:1071C00001010101010101010101010101010101AF
+:1071D000010101010101010101010101010101019F
+:1071E000010101010101010101010101010101018F
+:1071F000010101010101010101010101010101017F
+:10720000010101010101010101010101010101016E
+:10721000010101010101010101010101010101015E
+:10722000010101010101010101010101010101014E
+:10723000010101010101010101010101010101013E
+:10724000010101010101010101010101010101012E
+:10725000010101010101010101010101010101011E
+:10726000010101010101010101010101010101010E
+:1072700001010101010101010101010101010101FE
+:1072800001010101010101010101010101010101EE
+:1072900001010101010101010101010101010101DE
+:1072A00001010101010101010101010101010101CE
+:1072B00001010101010101010101010101010101BE
+:1072C00001010101010101010101010101010101AE
+:1072D000010101010101010101010101010101019E
+:1072E000010101010101010101010101010101018E
+:1072F000010101010101010101010101010101017E
+:10730000010101010101010101010101010101016D
+:10731000010101010101010101010101010101015D
+:10732000010101010101010101010101010101014D
+:10733000010101010101010101010101010101013D
+:10734000010101010101010101010101010101012D
+:10735000010101010101010101010101010101011D
+:10736000010101010101010101010101010101010D
+:1073700001010101010101010101010101010101FD
+:1073800001010101010101010101010101010101ED
+:1073900001010101010101010101010101010101DD
+:1073A00001010101010101010101010101010101CD
+:1073B00001010101010101010101010101010101BD
+:1073C00001010101010101010101010101010101AD
+:1073D000010101010101010101010101010101019D
+:1073E000010101010101010101010101010101018D
+:1073F000010101010101010101010101010101017D
+:10740000010101010101010101010101010101016C
+:10741000010101010101010101010101010101015C
+:10742000010101010101010101010101010101014C
+:10743000010101010101010101010101010101013C
+:10744000010101010101010101010101010101012C
+:10745000010101010101010101010101010101011C
+:10746000010101010101010101010101010101010C
+:1074700001010101010101010101010101010101FC
+:1074800001010101010101010101010101010101EC
+:1074900001010101010101010101010101010101DC
+:1074A00001010101010101010101010101010101CC
+:1074B00001010101010101010101010101010101BC
+:1074C00001010101010101010101010101010101AC
+:1074D000010101010101010101010101010101019C
+:1074E000010101010101010101010101010101018C
+:1074F000010101010101010101010101010101017C
+:10750000010101010101010101010101010101016B
+:10751000010101010101010101010101010101015B
+:10752000010101010101010101010101010101014B
+:10753000010101010101010101010101010101013B
+:10754000010101010101010101010101010101012B
+:10755000010101010101010101010101010101011B
+:10756000010101010101010101010101010101010B
+:1075700001010101010101010101010101010101FB
+:1075800001010101010101010101010101010101EB
+:1075900001010101010101010101010101010101DB
+:1075A00001010101010101010101010101010101CB
+:1075B00001010101010101010101010101010101BB
+:1075C00001010101010101010101010101010101AB
+:1075D000010101010101010101010101010101019B
+:1075E000010101010101010101010101010101018B
+:1075F000010101010101010101010101010101017B
+:10760000010101010101010101010101010101016A
+:10761000010101010101010101010101010101015A
+:10762000010101010101010101010101010101014A
+:10763000010101010101010101010101010101013A
+:10764000010101010101010101010101010101012A
+:10765000010101010101010101010101010101011A
+:10766000010101010101010101010101010101010A
+:1076700001010101010101010101010101010101FA
+:1076800001010101010101010101010101010101EA
+:1076900001010101010101010101010101010101DA
+:1076A00001010101010101010101010101010101CA
+:1076B00001010101010101010101010101010101BA
+:1076C00001010101010101010101010101010101AA
+:1076D000010101010101010101010101010101019A
+:1076E000010101010101010101010101010101018A
+:1076F000010101010101010101010101010101017A
+:107700000101010101010101010101010101010169
+:107710000101010101010101010101010101010159
+:107720000101010101010101010101010101010149
+:107730000101010101010101010101010101010139
+:107740000101010101010101010101010101010129
+:107750000101010101010101010101010101010119
+:107760000101010101010101010101010101010109
+:1077700001010101010101010101010101010101F9
+:1077800001010101010101010101010101010101E9
+:1077900001010101010101010101010101010101D9
+:1077A00001010101010101010101010101010101C9
+:1077B00001010101010101010101010101010101B9
+:1077C00001010101010101010101010101010101A9
+:1077D0000101010101010101010101010101010199
+:1077E0000101010101010101010101010101010189
+:1077F0000101010101010101010101010101010179
+:107800000101010101010101010101010101010168
+:107810000101010101010101010101010101010158
+:107820000101010101010101010101010101010148
+:107830000101010101010101010101010101010138
+:107840000101010101010101010101010101010128
+:107850000101010101010101010101010101010118
+:107860000101010101010101010101010101010108
+:1078700001010101010101010101010101010101F8
+:1078800001010101010101010101010101010101E8
+:1078900001010101010101010101010101010101D8
+:1078A00001010101010101010101010101010101C8
+:1078B00001010101010101010101010101010101B8
+:1078C00001010101010101010101010101010101A8
+:1078D0000101010101010101010101010101010198
+:1078E0000101010101010101010101010101010188
+:1078F0000101010101010101010101010101010178
+:107900000101010101010101010101010101010167
+:107910000101010101010101010101010101010157
+:107920000101010101010101010101010101010147
+:107930000101010101010101010101010101010137
+:107940000101010101010101010101010101010127
+:107950000101010101010101010101010101010117
+:107960000101010101010101010101010101010107
+:1079700001010101010101010101010101010101F7
+:1079800001010101010101010101010101010101E7
+:1079900001010101010101010101010101010101D7
+:1079A00001010101010101010101010101010101C7
+:1079B00001010101010101010101010101010101B7
+:1079C00001010101010101010101010101010101A7
+:1079D0000101010101010101010101010101010197
+:1079E0000101010101010101010101010101010187
+:1079F0000101010101010101010101010101010177
+:107A00000101010101010101010101010101010166
+:107A10000101010101010101010101010101010156
+:107A20000101010101010101010101010101010146
+:107A30000101010101010101010101010101010136
+:107A40000101010101010101010101010101010126
+:107A50000101010101010101010101010101010116
+:107A60000101010101010101010101010101010106
+:107A700001010101010101010101010101010101F6
+:107A800001010101010101010101010101010101E6
+:107A900001010101010101010101010101010101D6
+:107AA00001010101010101010101010101010101C6
+:107AB00001010101010101010101010101010101B6
+:107AC00001010101010101010101010101010101A6
+:107AD0000101010101010101010101010101010196
+:107AE0000101010101010101010101010101010186
+:107AF0000101010101010101010101010101010176
+:107B00000101010101010101010101010101010165
+:107B10000101010101010101010101010101010155
+:107B20000101010101010101010101010101010145
+:107B30000101010101010101010101010101010135
+:107B40000101010101010101010101010101010125
+:107B50000101010101010101010101010101010115
+:107B60000101010101010101010101010101010105
+:107B700001010101010101010101010101010101F5
+:107B800001010101010101010101010101010101E5
+:107B900001010101010101010101010101010101D5
+:107BA00001010101010101010101010101010101C5
+:107BB00001010101010101010101010101010101B5
+:107BC00001010101010101010101010101010101A5
+:107BD0000101010101010101010101010101010195
+:107BE0000101010101010101010101010101010185
+:107BF0000101010101010101010101010101010175
+:107C00000101010101010101010101010101010164
+:107C10000101010101010101010101010101010154
+:107C20000101010101010101010101010101010144
+:107C30000101010101010101010101010101010134
+:107C40000101010101010101010101010101010124
+:107C50000101010101010101010101010101010114
+:107C60000101010101010101010101010101010104
+:107C700001010101010101010101010101010101F4
+:107C800001010101010101010101010101010101E4
+:107C900001010101010101010101010101010101D4
+:107CA00001010101010101010101010101010101C4
+:107CB00001010101010101010101010101010101B4
+:107CC00001010101010101010101010101010101A4
+:107CD0000101010101010101010101010101010194
+:107CE0000101010101010101010101010101010184
+:107CF0000101010101010101010101010101010174
+:107D00000101010101010101010101010101010163
+:107D10000101010101010101010101010101010153
+:107D20000101010101010101010101010101010143
+:107D30000101010101010101010101010101010133
+:107D40000101010101010101010101010101010123
+:107D50000101010101010101010101010101010113
+:107D60000101010101010101010101010101010103
+:107D700001010101010101010101010101010101F3
+:107D800001010101010101010101010101010101E3
+:107D900001010101010101010101010101010101D3
+:107DA00001010101010101010101010101010101C3
+:107DB00001010101010101010101010101010101B3
+:107DC00001010101010101010101010101010101A3
+:107DD0000101010101010101010101010101010193
+:107DE0000101010101010101010101010101010183
+:107DF0000101010101010101010101010101010173
+:107E00000101010101010101010101010101010162
+:107E10000101010101010101010101010101010152
+:107E20000101010101010101010101010101010142
+:107E30000101010101010101010101010101010132
+:107E40000101010101010101010101010101010122
+:107E50000101010101010101010101010101010112
+:107E60000101010101010101010101010101010102
+:107E700001010101010101010101010101010101F2
+:107E800001010101010101010101010101010101E2
+:107E900001010101010101010101010101010101D2
+:107EA00001010101010101010101010101010101C2
+:107EB00001010101010101010101010101010101B2
+:107EC00001010101010101010101010101010101A2
+:107ED0000101010101010101010101010101010192
+:107EE0000101010101010101010101010101010182
+:107EF0000101010101010101010101010101010172
+:107F00000101010101010101010101010101010161
+:107F10000101010101010101010101010101010151
+:107F20000101010101010101010101010101010141
+:107F30000101010101010101010101010101010131
+:107F40000101010101010101010101010101010121
+:107F50000101010101010101010101010101010111
+:107F60000101010101010101010101010101010101
+:107F700001010101010101010101010101010101F1
+:107F800001010101010101010101010101010101E1
+:107F900001010101010101010101010101010101D1
+:107FA00001010101010101010101010101010101C1
+:107FB00001010101010101010101010101010101B1
+:107FC00001010101010101010101010101010101A1
+:107FD0000101010101010101010101010101010191
+:107FE0000101010101010101010101010101010181
+:107FF0000101010101010101010101010101010171
+:108000000101010101010101010101010101010160
+:108010000101010101010101010101010101010150
+:108020000101010101010101010101010101010140
+:108030000101010101010101010101010101010130
+:108040000101010101010101010101010101010120
+:108050000101010101010101010101010101010110
+:108060000101010101010101010101010101010100
+:1080700001010101010101010101010101010101F0
+:1080800001010101010101010101010101010101E0
+:1080900001010101010101010101010101010101D0
+:1080A00001010101010101010101010101010101C0
+:1080B00001010101010101010101010101010101B0
+:1080C00001010101010101010101010101010101A0
+:1080D0000101010101010101010101010101010190
+:1080E0000101010101010101010101010101010180
+:1080F0000101010101010101010101010101010170
+:10810000010101010101010101010101010101015F
+:10811000010101010101010101010101010101014F
+:10812000010101010101010101010101010101013F
+:10813000010101010101010101010101010101012F
+:10814000010101010101010101010101010101011F
+:10815000010101010101010101010101010101010F
+:1081600001010101010101010101010101010101FF
+:1081700001010101010101010101010101010101EF
+:1081800001010101010101010101010101010101DF
+:1081900001010101010101010101010101010101CF
+:1081A00001010101010101010101010101010101BF
+:1081B00001010101010101010101010101010101AF
+:1081C000010101010101010101010101010101019F
+:1081D000010101010101010101010101010101018F
+:1081E000010101010101010101010101010101017F
+:1081F000010101010101010101010101010101016F
+:10820000010101010101010101010101010101015E
+:10821000010101010101010101010101010101014E
+:10822000010101010101010101010101010101013E
+:10823000010101010101010101010101010101012E
+:10824000010101010101010101010101010101011E
+:10825000010101010101010101010101010101010E
+:1082600001010101010101010101010101010101FE
+:1082700001010101010101010101010101010101EE
+:1082800001010101010101010101010101010101DE
+:1082900001010101010101010101010101010101CE
+:1082A00001010101010101010101010101010101BE
+:1082B00001010101010101010101010101010101AE
+:1082C000010101010101010101010101010101019E
+:1082D000010101010101010101010101010101018E
+:1082E000010101010101010101010101010101017E
+:1082F000010101010101010101010101010101016E
+:10830000010101010101010101010101010101015D
+:10831000010101010101010101010101010101014D
+:10832000010101010101010101010101010101013D
+:10833000010101010101010101010101010101012D
+:10834000010101010101010101010101010101011D
+:10835000010101010101010101010101010101010D
+:1083600001010101010101010101010101010101FD
+:1083700001010101010101010101010101010101ED
+:1083800001010101010101010101010101010101DD
+:1083900001010101010101010101010101010101CD
+:1083A00001010101010101010101010101010101BD
+:1083B00001010101010101010101010101010101AD
+:1083C000010101010101010101010101010101019D
+:1083D000010101010101010101010101010101018D
+:1083E000010101010101010101010101010101017D
+:1083F000010101010101010101010101010101016D
+:10840000010101010101010101010101010101015C
+:10841000010101010101010101010101010101014C
+:10842000010101010101010101010101010101013C
+:10843000010101010101010101010101010101012C
+:10844000010101010101010101010101010101011C
+:10845000010101010101010101010101010101010C
+:1084600001010101010101010101010101010101FC
+:1084700001010101010101010101010101010101EC
+:1084800001010101010101010101010101010101DC
+:1084900001010101010101010101010101010101CC
+:1084A00001010101010101010101010101010101BC
+:1084B00001010101010101010101010101010101AC
+:1084C000010101010101010101010101010101019C
+:1084D000010101010101010101010101010101018C
+:1084E000010101010101010101010101010101017C
+:1084F000010101010101010101010101010101016C
+:10850000010101010101010101010101010101015B
+:10851000010101010101010101010101010101014B
+:10852000010101010101010101010101010101013B
+:10853000010101010101010101010101010101012B
+:10854000010101010101010101010101010101011B
+:10855000010101010101010101010101010101010B
+:1085600001010101010101010101010101010101FB
+:1085700001010101010101010101010101010101EB
+:1085800001010101010101010101010101010101DB
+:1085900001010101010101010101010101010101CB
+:1085A00001010101010101010101010101010101BB
+:1085B00001010101010101010101010101010101AB
+:1085C000010101010101010101010101010101019B
+:1085D000010101010101010101010101010101018B
+:1085E000010101010101010101010101010101017B
+:1085F000010101010101010101010101010101016B
+:10860000010101010101010101010101010101015A
+:10861000010101010101010101010101010101014A
+:10862000010101010101010101010101010101013A
+:10863000010101010101010101010101010101012A
+:10864000010101010101010101010101010101011A
+:10865000010101010101010101010101010101010A
+:1086600001010101010101010101010101010101FA
+:1086700001010101010101010101010101010101EA
+:1086800001010101010101010101010101010101DA
+:1086900001010101010101010101010101010101CA
+:1086A00001010101010101010101010101010101BA
+:1086B00001010101010101010101010101010101AA
+:1086C000010101010101010101010101010101019A
+:1086D000010101010101010101010101010101018A
+:1086E000010101010101010101010101010101017A
+:1086F000010101010101010101010101010101016A
+:108700000101010101010101010101010101010159
+:108710000101010101010101010101010101010149
+:108720000101010101010101010101010101010139
+:108730000101010101010101010101010101010129
+:108740000101010101010101010101010101010119
+:108750000101010101010101010101010101010109
+:1087600001010101010101010101010101010101F9
+:1087700001010101010101010101010101010101E9
+:1087800001010101010101010101010101010101D9
+:1087900001010101010101010101010101010101C9
+:1087A00001010101010101010101010101010101B9
+:1087B00001010101010101010101010101010101A9
+:1087C0000101010101010101010101010101010199
+:1087D0000101010101010101010101010101010189
+:1087E0000101010101010101010101010101010179
+:1087F0000101010101010101010101010101010169
+:108800000101010101010101010101010101010158
+:108810000101010101010101010101010101010148
+:108820000101010101010101010101010101010138
+:108830000101010101010101010101010101010128
+:108840000101010101010101010101010101010118
+:108850000101010101010101010101010101010108
+:1088600001010101010101010101010101010101F8
+:1088700001010101010101010101010101010101E8
+:1088800001010101010101010101010101010101D8
+:1088900001010101010101010101010101010101C8
+:1088A00001010101010101010101010101010101B8
+:1088B00001010101010101010101010101010101A8
+:1088C0000101010101010101010101010101010198
+:1088D0000101010101010101010101010101010188
+:1088E0000101010101010101010101010101010178
+:1088F0000101010101010101010101010101010168
+:108900000101010101010101010101010101010157
+:108910000101010101010101010101010101010147
+:108920000101010101010101010101010101010137
+:108930000101010101010101010101010101010127
+:108940000101010101010101010101010101010117
+:108950000101010101010101010101010101010107
+:1089600001010101010101010101010101010101F7
+:1089700001010101010101010101010101010101E7
+:1089800001010101010101010101010101010101D7
+:1089900001010101010101010101010101010101C7
+:1089A00001010101010101010101010101010101B7
+:1089B00001010101010101010101010101010101A7
+:1089C0000101010101010101010101010101010197
+:1089D0000101010101010101010101010101010187
+:1089E0000101010101010101010101010101010177
+:1089F0000101010101010101010101010101010167
+:108A00000101010101010101010101010101010156
+:108A10000101010101010101010101010101010146
+:108A20000101010101010101010101010101010136
+:108A30000101010101010101010101010101010126
+:108A40000101010101010101010101010101010116
+:108A50000101010101010101010101010101010106
+:108A600001010101010101010101010101010101F6
+:108A700001010101010101010101010101010101E6
+:108A800001010101010101010101010101010101D6
+:108A900001010101010101010101010101010101C6
+:108AA00001010101010101010101010101010101B6
+:108AB00001010101010101010101010101010101A6
+:108AC0000101010101010101010101010101010196
+:108AD0000101010101010101010101010101010186
+:108AE0000101010101010101010101010101010176
+:108AF0000101010101010101010101010101010166
+:108B00000101010101010101010101010101010155
+:108B10000101010101010101010101010101010145
+:108B20000101010101010101010101010101010135
+:108B30000101010101010101010101010101010125
+:108B40000101010101010101010101010101010115
+:108B50000101010101010101010101010101010105
+:108B600001010101010101010101010101010101F5
+:108B700001010101010101010101010101010101E5
+:108B800001010101010101010101010101010101D5
+:108B900001010101010101010101010101010101C5
+:108BA00001010101010101010101010101010101B5
+:108BB00001010101010101010101010101010101A5
+:108BC0000101010101010101010101010101010195
+:108BD0000101010101010101010101010101010185
+:108BE0000101010101010101010101010101010175
+:108BF0000101010101010101010101010101010165
+:108C00000101010101010101010101010101010154
+:108C10000101010101010101010101010101010144
+:108C20000101010101010101010101010101010134
+:108C30000101010101010101010101010101010124
+:108C40000101010101010101010101010101010114
+:108C50000101010101010101010101010101010104
+:108C600001010101010101010101010101010101F4
+:108C700001010101010101010101010101010101E4
+:108C800001010101010101010101010101010101D4
+:108C900001010101010101010101010101010101C4
+:108CA00001010101010101010101010101010101B4
+:108CB00001010101010101010101010101010101A4
+:108CC0000101010101010101010101010101010194
+:108CD0000101010101010101010101010101010184
+:108CE0000101010101010101010101010101010174
+:108CF0000101010101010101010101010101010164
+:108D00000101010101010101010101010101010153
+:108D10000101010101010101010101010101010143
+:108D20000101010101010101010101010101010133
+:108D30000101010101010101010101010101010123
+:108D40000101010101010101010101010101010113
+:108D50000101010101010101010101010101010103
+:108D600001010101010101010101010101010101F3
+:108D700001010101010101010101010101010101E3
+:108D800001010101010101010101010101010101D3
+:108D900001010101010101010101010101010101C3
+:108DA00001010101010101010101010101010101B3
+:108DB00001010101010101010101010101010101A3
+:108DC0000101010101010101010101010101010193
+:108DD0000101010101010101010101010101010183
+:108DE0000101010101010101010101010101010173
+:108DF0000101010101010101010101010101010163
+:108E00000101010101010101010101010101010152
+:108E10000101010101010101010101010101010142
+:108E20000101010101010101010101010101010132
+:108E30000101010101010101010101010101010122
+:108E40000101010101010101010101010101010112
+:108E50000101010101010101010101010101010102
+:108E600001010101010101010101010101010101F2
+:108E700001010101010101010101010101010101E2
+:108E800001010101010101010101010101010101D2
+:108E900001010101010101010101010101010101C2
+:108EA00001010101010101010101010101010101B2
+:108EB00001010101010101010101010101010101A2
+:108EC0000101010101010101010101010101010192
+:108ED0000101010101010101010101010101010182
+:108EE000010101010101010000000000000000007B
+:108EF0000000000000000000000000000000000072
+:108F00000000000000000000000000000000000061
+:108F10000000000000000000000000000000000051
+:108F20000000000000000000000000000000000041
+:108F30000000000000000000000000000000000031
+:108F40000000000000000000000000000000000021
+:108F50000000000000000000000000000000000011
+:108F60000000000000000000000000000000000001
+:108F700000000000000000000000000000000000F1
+:108F800000000000000000000000000000000000E1
+:108F900000000000000000000000000000000000D1
+:108FA00000000000000000000000000000000000C1
+:108FB00000000000000000000000000000000000B1
+:108FC00000000000000000000000000000000000A1
+:108FD0000000000000000000000000000000000091
+:108FE0000000000000000000000000000000000081
+:108FF0000000000000000000000000000000000071
+:109000000000000000000000000000000000000060
+:109010000000000000000000000000000000000050
+:109020000000000000000000000000000000000040
+:109030000000000000000000000000000000000030
+:109040000000000000000000000000000000000020
+:109050000000000000000000000000000000000010
+:109060000000000000000000000000000000000000
+:1090700000000000000000000000000000000000F0
+:1090800000000000000000000000000000000000E0
+:1090900000000000000000000000000000000000D0
+:1090A00000000000000000000000000000000000C0
+:1090B00000000000000000000000000000000000B0
+:1090C00000000000000000000000000000000000A0
+:1090D0000000000000000000000000000000000090
+:1090E0000000000000000000000000000000000080
+:1090F0000000000000000000000000000000000070
+:10910000000000000000000000000000000000005F
+:10911000000000000000000000000000000000004F
+:10912000000000000000000000000000000000003F
+:10913000000000000000000000000000000000002F
+:10914000000000000000000000000000000000001F
+:10915000000000000000000000000000000000000F
+:1091600000000000000000000000000000000000FF
+:1091700000000000000000000000000000000000EF
+:1091800000000000000000000000000000000000DF
+:1091900000000000000000000000000000000000CF
+:1091A00000000000000000000000000000000000BF
+:1091B00000000000000000000000000000000000AF
+:1091C000000000000000000000000000000000009F
+:1091D000000000000000000000000000000000008F
+:1091E000000000000000000000000000000000007F
+:1091F000000000000000000000000000000000006F
+:10920000000000000000000000000000000000005E
+:10921000000000000000000000000000000000004E
+:10922000000000000000000000000000000000003E
+:10923000000000000000000000000000000000002E
+:10924000000000000000000000000000000000001E
+:10925000000000000000000000000000000000000E
+:1092600000000000000000000000000000000000FE
+:1092700000000000000000000000000000000000EE
+:1092800000000000000000000000000000000000DE
+:1092900000000000000000000000000000000000CE
+:1092A00000000000000000000000000000000000BE
+:1092B00000000000000000000000000000000000AE
+:1092C000000000000000000000000000000000009E
+:1092D000000000000000000000000000000000008E
+:1092E000000000000000000202020202020202026C
+:1092F000020202020202020202020202020202024E
+:10930000020202020202020202020202020202023D
+:10931000020202020202020202020202020202022D
+:10932000020202020202020202020202020202021D
+:10933000020202020202020202020202020202020D
+:1093400002020202020202020202020202020202FD
+:1093500002020202020202020202020202020202ED
+:1093600002020202020202020202020202020202DD
+:1093700002020202020202020202020202020202CD
+:1093800002020202020202020202020202020202BD
+:1093900002020202020202020202020202020202AD
+:1093A000020202020202020202020202020202029D
+:1093B000020202020202020202020202020202028D
+:1093C000020202020202020202020202020202027D
+:1093D000020202020202020202020202020202026D
+:1093E000020202020202020202020202020202025D
+:1093F000020202020202020202020202020202024D
+:10940000020202020202020202020202020202023C
+:10941000020202020202020202020202020202022C
+:10942000020202020202020202020202020202021C
+:10943000020202020202020202020202020202020C
+:1094400002020202020202020202020202020202FC
+:1094500002020202020202020202020202020202EC
+:1094600002020202020202020202020202020202DC
+:1094700002020202020202020202020202020202CC
+:1094800002020202020202020202020202020202BC
+:1094900002020202020202020202020202020202AC
+:1094A000020202020202020202020202020202029C
+:1094B000020202020202020202020202020202028C
+:1094C000020202020202020202020202020202027C
+:1094D000020202020202020202020202020202026C
+:1094E000020202020202020202020202020202025C
+:1094F000020202020202020202020202020202024C
+:10950000020202020202020202020202020202023B
+:10951000020202020202020202020202020202022B
+:10952000020202020202020202020202020202021B
+:10953000020202020202020202020202020202020B
+:1095400002020202020202020202020202020202FB
+:1095500002020202020202020202020202020202EB
+:1095600002020202020202020202020202020202DB
+:1095700002020202020202020202020202020202CB
+:1095800002020202020202020202020202020202BB
+:1095900002020202020202020202020202020202AB
+:1095A000020202020202020202020202020202029B
+:1095B000020202020202020202020202020202028B
+:1095C000020202020202020202020202020202027B
+:1095D000020202020202020202020202020202026B
+:1095E000020202020202020202020202020202025B
+:1095F000020202020202020202020202020202024B
+:10960000020202020202020202020202020202023A
+:10961000020202020202020202020202020202022A
+:10962000020202020202020202020202020202021A
+:10963000020202020202020202020202020202020A
+:1096400002020202020202020202020202020202FA
+:1096500002020202020202020202020202020202EA
+:1096600002020202020202020202020202020202DA
+:1096700002020202020202020202020202020202CA
+:1096800002020202020202020202020202020202BA
+:1096900002020202020202020202020202020202AA
+:1096A000020202020202020202020202020202029A
+:1096B000020202020202020202020202020202028A
+:1096C000020202020202020202020202020202027A
+:1096D000020202020202020202020202020202026A
+:1096E000020202020202020202020202020202025A
+:1096F000020202020202020202020202020202024A
+:109700000202020202020202020202020202020239
+:109710000202020202020202020202020202020229
+:109720000202020202020202020202020202020219
+:109730000202020202020202020202020202020209
+:1097400002020202020202020202020202020202F9
+:1097500002020202020202020202020202020202E9
+:1097600002020202020202020202020202020202D9
+:1097700002020202020202020202020202020202C9
+:1097800002020202020202020202020202020202B9
+:1097900002020202020202020202020202020202A9
+:1097A0000202020202020202020202020202020299
+:1097B0000202020202020202020202020202020289
+:1097C0000202020202020202020202020202020279
+:1097D0000202020202020202020202020202020269
+:1097E0000202020202020202020202020202020259
+:1097F0000202020202020202020202020202020249
+:109800000202020202020202020202020202020238
+:109810000202020202020202020202020202020228
+:109820000202020202020202020202020202020218
+:109830000202020202020202020202020202020208
+:1098400002020202020202020202020202020202F8
+:1098500002020202020202020202020202020202E8
+:1098600002020202020202020202020202020202D8
+:1098700002020202020202020202020202020202C8
+:1098800002020202020202020202020202020202B8
+:1098900002020202020202020202020202020202A8
+:1098A0000202020202020202020202020202020298
+:1098B0000202020202020202020202020202020288
+:1098C0000202020202020202020202020202020278
+:1098D0000202020202020202020202020202020268
+:1098E0000202020202020202020202020202020258
+:1098F0000202020202020202020202020202020248
+:109900000202020202020202020202020202020237
+:109910000202020202020202020202020202020227
+:109920000202020202020202020202020202020217
+:109930000202020202020202020202020202020207
+:1099400002020202020202020202020202020202F7
+:1099500002020202020202020202020202020202E7
+:1099600002020202020202020202020202020202D7
+:1099700002020202020202020202020202020202C7
+:1099800002020202020202020202020202020202B7
+:1099900002020202020202020202020202020202A7
+:1099A0000202020202020202020202020202020297
+:1099B0000202020202020202020202020202020287
+:1099C0000202020202020202020202020202020277
+:1099D0000202020202020202020202020202020267
+:1099E0000202020202020202020202020202020257
+:1099F0000202020202020202020202020202020247
+:109A00000202020202020202020202020202020236
+:109A10000202020202020202020202020202020226
+:109A20000202020202020202020202020202020216
+:109A30000202020202020202020202020202020206
+:109A400002020202020202020202020202020202F6
+:109A500002020202020202020202020202020202E6
+:109A600002020202020202020202020202020202D6
+:109A700002020202020202020202020202020202C6
+:109A800002020202020202020202020202020202B6
+:109A900002020202020202020202020202020202A6
+:109AA0000202020202020202020202020202020296
+:109AB0000202020202020202020202020202020286
+:109AC0000202020202020202020202020202020276
+:109AD0000202020202020202020202020202020266
+:109AE0000202020202020202020202020202020256
+:109AF0000202020202020202020202020202020246
+:109B00000202020202020202020202020202020235
+:109B10000202020202020202020202020202020225
+:109B20000202020202020202020202020202020215
+:109B30000202020202020202020202020202020205
+:109B400002020202020202020202020202020202F5
+:109B500002020202020202020202020202020202E5
+:109B600002020202020202020202020202020202D5
+:109B700002020202020202020202020202020202C5
+:109B800002020202020202020202020202020202B5
+:109B900002020202020202020202020202020202A5
+:109BA0000202020202020202020202020202020295
+:109BB0000202020202020202020202020202020285
+:109BC0000202020202020202020202020202020275
+:109BD0000202020202020202020202020202020265
+:109BE0000202020202020202020202020202020255
+:109BF0000202020202020202020202020202020245
+:109C00000202020202020202020202020202020234
+:109C10000202020202020202020202020202020224
+:109C20000202020202020202020202020202020214
+:109C30000202020202020202020202020202020204
+:109C400002020202020202020202020202020202F4
+:109C500002020202020202020202020202020202E4
+:109C600002020202020202020202020202020202D4
+:109C700002020202020202020202020202020202C4
+:109C800002020202020202020202020202020202B4
+:109C900002020202020202020202020202020202A4
+:109CA0000202020202020202020202020202020294
+:109CB0000202020202020202020202020202020284
+:109CC0000202020202020202020202020202020274
+:109CD0000202020202020202020202020202020264
+:109CE0000202020202020202020202020202020254
+:109CF0000202020202020202020202020202020244
+:109D00000202020202020202020202020202020233
+:109D10000202020202020202020202020202020223
+:109D20000202020202020202020202020202020213
+:109D30000202020202020202020202020202020203
+:109D400002020202020202020202020202020202F3
+:109D500002020202020202020202020202020202E3
+:109D600002020202020202020202020202020202D3
+:109D700002020202020202020202020202020202C3
+:109D800002020202020202020202020202020202B3
+:109D900002020202020202020202020202020202A3
+:109DA0000202020202020202020202020202020293
+:109DB0000202020202020202020202020202020283
+:109DC0000202020202020202020202020202020273
+:109DD0000202020202020202020202020202020263
+:109DE0000202020202020202020202020202020253
+:109DF0000202020202020202020202020202020243
+:109E00000202020202020202020202020202020232
+:109E10000202020202020202020202020202020222
+:109E20000202020202020202020202020202020212
+:109E30000202020202020202020202020202020202
+:109E400002020202020202020202020202020202F2
+:109E500002020202020202020202020202020202E2
+:109E600002020202020202020202020202020202D2
+:109E700002020202020202020202020202020202C2
+:109E800002020202020202020202020202020202B2
+:109E900002020202020202020202020202020202A2
+:109EA0000202020202020202020202020202020292
+:109EB0000202020202020202020202020202020282
+:109EC0000202020202020202020202020202020272
+:109ED0000202020202020202020202020202020262
+:109EE0000202020202020202020202020202020252
+:109EF0000202020202020202020202020202020242
+:109F00000202020202020202020202020202020231
+:109F10000202020202020202020202020202020221
+:109F20000202020202020202020202020202020211
+:109F30000202020202020202020202020202020201
+:109F400002020202020202020202020202020202F1
+:109F500002020202020202020202020202020202E1
+:109F600002020202020202020202020202020202D1
+:109F700002020202020202020202020202020202C1
+:109F800002020202020202020202020202020202B1
+:109F900002020202020202020202020202020202A1
+:109FA0000202020202020202020202020202020291
+:109FB0000202020202020202020202020202020281
+:109FC0000202020202020202020202020202020271
+:109FD0000202020202020202020202020202020261
+:109FE0000202020202020202020202020202020251
+:109FF0000202020202020202020202020202020241
+:10A000000202020202020202020202020202020230
+:10A010000202020202020202020202020202020220
+:10A020000202020202020202020202020202020210
+:10A030000202020202020202020202020202020200
+:10A0400002020202020202020202020202020202F0
+:10A0500002020202020202020202020202020202E0
+:10A0600002020202020202020202020202020202D0
+:10A0700002020202020202020202020202020202C0
+:10A0800002020202020202020202020202020202B0
+:10A0900002020202020202020202020202020202A0
+:10A0A0000202020202020202020202020202020290
+:10A0B0000202020202020202020202020202020280
+:10A0C0000202020202020202020202020202020270
+:10A0D0000202020202020202020202020202020260
+:10A0E0000202020202020202020202020202020250
+:10A0F0000202020202020202020202020202020240
+:10A10000020202020202020202020202020202022F
+:10A11000020202020202020202020202020202021F
+:10A12000020202020202020202020202020202020F
+:10A1300002020202020202020202020202020202FF
+:10A1400002020202020202020202020202020202EF
+:10A1500002020202020202020202020202020202DF
+:10A1600002020202020202020202020202020202CF
+:10A1700002020202020202020202020202020202BF
+:10A1800002020202020202020202020202020202AF
+:10A19000020202020202020202020202020202029F
+:10A1A000020202020202020202020202020202028F
+:10A1B000020202020202020202020202020202027F
+:10A1C000020202020202020202020202020202026F
+:10A1D000020202020202020202020202020202025F
+:10A1E000020202020202020202020202020202024F
+:10A1F000020202020202020202020202020202023F
+:10A20000020202020202020202020202020202022E
+:10A21000020202020202020202020202020202021E
+:10A22000020202020202020202020202020202020E
+:10A2300002020202020202020202020202020202FE
+:10A2400002020202020202020202020202020202EE
+:10A2500002020202020202020202020202020202DE
+:10A2600002020202020202020202020202020202CE
+:10A2700002020202020202020202020202020202BE
+:10A2800002020202020202020202020202020202AE
+:10A29000020202020202020202020202020202029E
+:10A2A000020202020202020202020202020202028E
+:10A2B000020202020202020202020202020202027E
+:10A2C000020202020202020202020202020202026E
+:10A2D000020202020202020202020202020202025E
+:10A2E000020202020202020202020202020202024E
+:10A2F000020202020202020202020202020202023E
+:10A30000020202020202020202020202020202022D
+:10A31000020202020202020202020202020202021D
+:10A32000020202020202020202020202020202020D
+:10A3300002020202020202020202020202020202FD
+:10A3400002020202020202020202020202020202ED
+:10A3500002020202020202020202020202020202DD
+:10A3600002020202020202020202020202020202CD
+:10A3700002020202020202020202020202020202BD
+:10A3800002020202020202020202020202020202AD
+:10A39000020202020202020202020202020202029D
+:10A3A000020202020202020202020202020202028D
+:10A3B000020202020202020202020202020202027D
+:10A3C000020202020202020202020202020202026D
+:10A3D000020202020202020202020202020202025D
+:10A3E000020202020202020202020202020202024D
+:10A3F000020202020202020202020202020202023D
+:10A40000020202020202020202020202020202022C
+:10A41000020202020202020202020202020202021C
+:10A42000020202020202020202020202020202020C
+:10A4300002020202020202020202020202020202FC
+:10A4400002020202020202020202020202020202EC
+:10A4500002020202020202020202020202020202DC
+:10A4600002020202020202020202020202020202CC
+:10A4700002020202020202020202020202020202BC
+:10A4800002020202020202020202020202020202AC
+:10A49000020202020202020202020202020202029C
+:10A4A000020202020202020202020202020202028C
+:10A4B000020202020202020202020202020202027C
+:10A4C000020202020202020202020202020202026C
+:10A4D000020202020202020202020202020202025C
+:10A4E000020202020202020202020202020202024C
+:10A4F000020202020202020202020202020202023C
+:10A50000020202020202020202020202020202022B
+:10A51000020202020202020202020202020202021B
+:10A52000020202020202020202020202020202020B
+:10A5300002020202020202020202020202020202FB
+:10A5400002020202020202020202020202020202EB
+:10A5500002020202020202020202020202020202DB
+:10A5600002020202020202020202020202020202CB
+:10A5700002020202020202020202020202020202BB
+:10A5800002020202020202020202020202020202AB
+:10A59000020202020202020202020202020202029B
+:10A5A000020202020202020202020202020202028B
+:10A5B000020202020202020202020202020202027B
+:10A5C000020202020202020202020202020202026B
+:10A5D000020202020202020202020202020202025B
+:10A5E000020202020202020202020202020202024B
+:10A5F000020202020202020202020202020202023B
+:10A60000020202020202020202020202020202022A
+:10A61000020202020202020202020202020202021A
+:10A62000020202020202020202020202020202020A
+:10A6300002020202020202020202020202020202FA
+:10A6400002020202020202020202020202020202EA
+:10A6500002020202020202020202020202020202DA
+:10A6600002020202020202020202020202020202CA
+:10A6700002020202020202020202020202020202BA
+:10A6800002020202020202020202020202020202AA
+:10A69000020202020202020202020202020202029A
+:10A6A000020202020202020202020202020202028A
+:10A6B000020202020202020202020202020202027A
+:10A6C000020202020202020202020202020202026A
+:10A6D000020202020202020202020202020202025A
+:10A6E000020202020202020202020202020202024A
+:10A6F000020202020202020202020202020202023A
+:10A700000202020202020202020202020202020229
+:10A710000202020202020202020202020202020219
+:10A720000202020202020202020202020202020209
+:10A7300002020202020202020202020202020202F9
+:10A7400002020202020202020202020202020202E9
+:10A7500002020202020202020202020202020202D9
+:10A7600002020202020202020202020202020202C9
+:10A7700002020202020202020202020202020202B9
+:10A7800002020202020202020202020202020202A9
+:10A790000202020202020202020202020202020299
+:10A7A0000202020202020202020202020202020289
+:10A7B0000202020202020202020202020202020279
+:10A7C0000202020202020202020202020202020269
+:10A7D0000202020202020202020202020202020259
+:10A7E0000202020202020202020202020202020249
+:10A7F0000202020202020202020202020202020239
+:10A800000202020202020202020202020202020228
+:10A810000202020202020202020202020202020218
+:10A820000202020202020202020202020202020208
+:10A8300002020202020202020202020202020202F8
+:10A8400002020202020202020202020202020202E8
+:10A8500002020202020202020202020202020202D8
+:10A8600002020202020202020202020202020202C8
+:10A8700002020202020202020202020202020202B8
+:10A8800002020202020202020202020202020202A8
+:10A890000202020202020202020202020202020298
+:10A8A0000202020202020202020202020202020288
+:10A8B0000202020202020202020202020202020278
+:10A8C0000202020202020202020202020202020268
+:10A8D0000202020202020202020202020202020258
+:10A8E0000202020202020202020202020202020248
+:10A8F0000202020202020202020202020202020238
+:10A900000202020202020202020202020202020227
+:10A910000202020202020202020202020202020217
+:10A920000202020202020202020202020202020207
+:10A9300002020202020202020202020202020202F7
+:10A9400002020202020202020202020202020202E7
+:10A9500002020202020202020202020202020202D7
+:10A9600002020202020202020202020202020202C7
+:10A9700002020202020202020202020202020202B7
+:10A9800002020202020202020202020202020202A7
+:10A990000202020202020202020202020202020297
+:10A9A0000202020202020202020202020202020287
+:10A9B0000202020202020202020202020202020277
+:10A9C0000202020202020202020202020202020267
+:10A9D0000202020202020202020202020202020257
+:10A9E0000202020202020202020202020202020247
+:10A9F0000202020202020202020202020202020237
+:10AA00000202020202020202020202020202020226
+:10AA10000202020202020202020202020202020216
+:10AA20000202020202020202020202020202020206
+:10AA300002020202020202020202020202020202F6
+:10AA400002020202020202020202020202020202E6
+:10AA500002020202020202020202020202020202D6
+:10AA600002020202020202020202020202020202C6
+:10AA700002020202020202020202020202020202B6
+:10AA800002020202020202020202020202020202A6
+:10AA90000202020202020202020202020202020296
+:10AAA0000202020202020202020202020202020286
+:10AAB0000202020202020202020202020202020276
+:10AAC0000202020202020202020202020202020266
+:10AAD0000202020202020202020202020202020256
+:10AAE0000202020202020202020202020202020246
+:10AAF0000202020202020202020202020202020236
+:10AB00000202020202020202020202020202020225
+:10AB10000202020202020202020202020202020215
+:10AB20000202020202020202020202020202020205
+:10AB300002020202020202020202020202020202F5
+:10AB400002020202020202020202020202020202E5
+:10AB500002020202020202020202020202020202D5
+:10AB600002020202020202020202020202020202C5
+:10AB700002020202020202020202020202020202B5
+:10AB800002020202020202020202020202020202A5
+:10AB90000202020202020202020202020202020295
+:10ABA0000202020202020202020202020202020285
+:10ABB0000202020202020202020202020202020275
+:10ABC0000202020202020202020202020202020265
+:10ABD0000202020202020202020202020202020255
+:10ABE0000202020202020202020202020202020245
+:10ABF0000202020202020202020202020202020235
+:10AC00000202020202020202020202020202020224
+:10AC10000202020202020202020202020202020214
+:10AC20000202020202020202020202020202020204
+:10AC300002020202020202020202020202020202F4
+:10AC400002020202020202020202020202020202E4
+:10AC500002020202020202020202020202020202D4
+:10AC600002020202020202020202020202020202C4
+:10AC700002020202020202020202020202020202B4
+:10AC800002020202020202020202020202020202A4
+:10AC90000202020202020202020202020202020294
+:10ACA0000202020202020202020202020202020284
+:10ACB0000202020202020202020202020202020274
+:10ACC0000202020202020202020202020202020264
+:10ACD0000202020202020202020202020202020254
+:10ACE0000202020202020202020202020202020244
+:10ACF0000202020202020202020202020202020234
+:10AD00000202020202020202020202020202020223
+:10AD10000202020202020202020202020202020213
+:10AD20000202020202020202020202020202020203
+:10AD300002020202020202020202020202020202F3
+:10AD400002020202020202020202020202020202E3
+:10AD500002020202020202020202020202020202D3
+:10AD600002020202020202020202020202020202C3
+:10AD700002020202020202020202020202020202B3
+:10AD800002020202020202020202020202020202A3
+:10AD90000202020202020202020202020202020293
+:10ADA0000202020202020202020202020202020283
+:10ADB0000202020202020202020202020202020273
+:10ADC0000202020202020202020202020202020263
+:10ADD0000202020202020202020202020202020253
+:10ADE0000202020202020202020202020202020243
+:10ADF0000202020202020202020202020202020233
+:10AE00000202020202020202020202020202020222
+:10AE10000202020202020202020202020202020212
+:10AE20000202020202020202020202020202020202
+:10AE300002020202020202020202020202020202F2
+:10AE400002020202020202020202020202020202E2
+:10AE500002020202020202020202020202020202D2
+:10AE600002020202020202020202020202020202C2
+:10AE700002020202020202020202020202020202B2
+:10AE800002020202020202020202020202020202A2
+:10AE90000202020202020202020202020202020292
+:10AEA0000202020202020202020202020202020282
+:10AEB0000202020202020202020202020202020272
+:10AEC0000202020202020202020202020202020262
+:10AED0000202020202020202020202020202020252
+:10AEE0000202020202020202020202020202020242
+:10AEF0000202020202020202020202020202020232
+:10AF00000202020202020202020202020202020221
+:10AF10000202020202020202020202020202020211
+:10AF20000202020202020202020202020202020201
+:10AF300002020202020202020202020202020202F1
+:10AF400002020202020202020202020202020202E1
+:10AF500002020202020202020202020202020202D1
+:10AF600002020202020202020202020202020202C1
+:10AF700002020202020202020202020202020202B1
+:10AF800002020202020202020202020202020202A1
+:10AF90000202020202020202020202020202020291
+:10AFA0000202020202020202020202020202020281
+:10AFB0000202020202020202020202020202020271
+:10AFC0000202020202020202020202020202020261
+:10AFD0000202020202020202020202020202020251
+:10AFE0000202020202020202020202020202020241
+:10AFF0000202020202020202020202020202020231
+:10B000000202020202020202020202020202020220
+:10B010000202020202020202020202020202020210
+:10B020000202020202020202020202020202020200
+:10B0300002020202020202020202020202020202F0
+:10B0400002020202020202020202020202020202E0
+:10B0500002020202020202020202020202020202D0
+:10B0600002020202020202020202020202020202C0
+:10B0700002020202020202020202020202020202B0
+:10B0800002020202020202020202020202020202A0
+:10B090000202020202020202020202020202020290
+:10B0A0000202020202020202020202020202020280
+:10B0B0000202020202020202020202020202020270
+:10B0C0000202020202020202020202020202020260
+:10B0D0000202020202020202020202020202020250
+:10B0E0000202020202020202020202020202020240
+:10B0F0000202020202020202020202020202020230
+:10B10000020202020202020202020202020202021F
+:10B11000020202020202020202020202020202020F
+:10B1200002020202020202020202020202020202FF
+:10B1300002020202020202020202020202020202EF
+:10B1400002020202020202020202020202020202DF
+:10B1500002020202020202020202020202020202CF
+:10B1600002020202020202020202020202020202BF
+:10B1700002020202020202020202020202020202AF
+:10B18000020202020202020202020202020202029F
+:10B19000020202020202020202020202020202028F
+:10B1A000020202020202020202020202020202027F
+:10B1B000020202020202020202020202020202026F
+:10B1C000020202020202020202020202020202025F
+:10B1D000020202020202020202020202020202024F
+:10B1E000020202020202020202020202020202023F
+:10B1F000020202020202020202020202020202022F
+:10B20000020202020202020202020202020202021E
+:10B21000020202020202020202020202020202020E
+:10B2200002020202020202020202020202020202FE
+:10B2300002020202020202020202020202020202EE
+:10B2400002020202020202020202020202020202DE
+:10B2500002020202020202020202020202020202CE
+:10B2600002020202020202020202020202020202BE
+:10B2700002020202020202020202020202020202AE
+:10B28000020202020202020202020202020202029E
+:10B29000020202020202020202020202020202028E
+:10B2A000020202020202020202020202020202027E
+:10B2B000020202020202020202020202020202026E
+:10B2C000020202020202020202020202020202025E
+:10B2D000020202020202020202020202020202024E
+:10B2E000020202020202020202020202020202023E
+:10B2F000020202020202020202020202020202022E
+:10B30000020202020202020202020202020202021D
+:10B31000020202020202020202020202020202020D
+:10B3200002020202020202020202020202020202FD
+:10B3300002020202020202020202020202020202ED
+:10B3400002020202020202020202020202020202DD
+:10B3500002020202020202020202020202020202CD
+:10B3600002020202020202020202020202020202BD
+:10B3700002020202020202020202020202020202AD
+:10B38000020202020202020202020202020202029D
+:10B39000020202020202020202020202020202028D
+:10B3A000020202020202020202020202020202027D
+:10B3B000020202020202020202020202020202026D
+:10B3C000020202020202020202020202020202025D
+:10B3D000020202020202020202020202020202024D
+:10B3E000020202020202020202020202020202023D
+:10B3F000020202020202020202020202020202022D
+:10B40000020202020202020202020202020202021C
+:10B41000020202020202020202020202020202020C
+:10B4200002020202020202020202020202020202FC
+:10B4300002020202020202020202020202020202EC
+:10B4400002020202020202020202020202020202DC
+:10B4500002020202020202020202020202020202CC
+:10B4600002020202020202020202020202020202BC
+:10B4700002020202020202020202020202020202AC
+:10B48000020202020202020202020202020202029C
+:10B49000020202020202020202020202020202028C
+:10B4A000020202020202020202020202020202027C
+:10B4B000020202020202020202020202020202026C
+:10B4C000020202020202020202020202020202025C
+:10B4D000020202020202020202020202020202024C
+:10B4E000020202020202020202020202020202023C
+:10B4F000020202020202020202020202020202022C
+:10B50000020202020202020202020202020202021B
+:10B51000020202020202020202020202020202020B
+:10B5200002020202020202020202020202020202FB
+:10B5300002020202020202020202020202020202EB
+:10B5400002020202020202020202020202020202DB
+:10B5500002020202020202020202020202020202CB
+:10B5600002020202020202020202020202020202BB
+:10B5700002020202020202020202020202020202AB
+:10B58000020202020202020202020202020202029B
+:10B59000020202020202020202020202020202028B
+:10B5A000020202020202020202020202020202027B
+:10B5B000020202020202020202020202020202026B
+:10B5C000020202020202020202020202020202025B
+:10B5D000020202020202020202020202020202024B
+:10B5E000020202020202020202020202020202023B
+:10B5F000020202020202020202020202020202022B
+:10B60000020202020202020202020202020202021A
+:10B61000020202020202020202020202020202020A
+:10B6200002020202020202020202020202020202FA
+:10B6300002020202020202020202020202020202EA
+:10B6400002020202020202020202020202020202DA
+:10B6500002020202020202020202020202020202CA
+:10B6600002020202020202020202020202020202BA
+:10B6700002020202020202020202020202020202AA
+:10B68000020202020202020202020202020202029A
+:10B69000020202020202020202020202020202028A
+:10B6A000020202020202020202020202020202027A
+:10B6B000020202020202020202020202020202026A
+:10B6C000020202020202020202020202020202025A
+:10B6D000020202020202020202020202020202024A
+:10B6E000020202020202020202020202020202023A
+:10B6F000020202020202020202020202020202022A
+:10B700000202020202020202020202020202020219
+:10B710000202020202020202020202020202020209
+:10B7200002020202020202020202020202020202F9
+:10B7300002020202020202020202020202020202E9
+:10B7400002020202020202020202020202020202D9
+:10B7500002020202020202020202020202020202C9
+:10B7600002020202020202020202020202020202B9
+:10B7700002020202020202020202020202020202A9
+:10B780000202020202020202020202020202020299
+:10B790000202020202020202020202020202020289
+:10B7A0000202020202020202020202020202020279
+:10B7B0000202020202020202020202020202020269
+:10B7C0000202020202020202020202020202020259
+:10B7D0000202020202020202020202020202020249
+:10B7E0000202020202020202020202020202020239
+:10B7F0000202020202020202020202020202020229
+:10B800000202020202020202020202020202020218
+:10B810000202020202020202020202020202020208
+:10B8200002020202020202020202020202020202F8
+:10B8300002020202020202020202020202020202E8
+:10B8400002020202020202020202020202020202D8
+:10B8500002020202020202020202020202020202C8
+:10B8600002020202020202020202020202020202B8
+:10B8700002020202020202020202020202020202A8
+:10B880000202020202020202020202020202020298
+:10B890000202020202020202020202020202020288
+:10B8A0000202020202020202020202020202020278
+:10B8B0000202020202020202020202020202020268
+:10B8C0000202020202020202020202020202020258
+:10B8D0000202020202020202020202020202020248
+:10B8E0000202020202020202020202020202020238
+:10B8F0000202020202020202020202020202020228
+:10B900000202020202020202020202020202020217
+:10B910000202020202020202020202020202020207
+:10B9200002020202020202020202020202020202F7
+:10B9300002020202020202020202020202020202E7
+:10B9400002020202020202020202020202020202D7
+:10B9500002020202020202020202020202020202C7
+:10B9600002020202020202020202020202020202B7
+:10B9700002020202020202020202020202020202A7
+:10B980000202020202020202020202020202020297
+:10B990000202020202020202020202020202020287
+:10B9A0000202020202020202020202020202020277
+:10B9B0000202020202020202020202020202020267
+:10B9C0000202020202020202020202020202020257
+:10B9D0000202020202020202020202020202020247
+:10B9E0000202020202020202020202020202020237
+:10B9F0000202020202020202020202020202020227
+:10BA00000202020202020202020202020202020216
+:10BA10000202020202020202020202020202020206
+:10BA200002020202020202020202020202020202F6
+:10BA300002020202020202020202020202020202E6
+:10BA400002020202020202020202020202020202D6
+:10BA500002020202020202020202020202020202C6
+:10BA600002020202020202020202020202020202B6
+:10BA700002020202020202020202020202020202A6
+:10BA80000202020202020202020202020202020296
+:10BA90000202020202020202020202020202020286
+:10BAA0000202020202020202020202020202020276
+:10BAB0000202020202020202020202020202020266
+:10BAC0000202020202020202020202020202020256
+:10BAD0000202020202020202020202020202020246
+:10BAE0000202020202020202020202020202020236
+:10BAF0000202020202020202020202020202020226
+:10BB00000202020202020202020202020202020215
+:10BB10000202020202020202020202020202020205
+:10BB200002020202020202020202020202020202F5
+:10BB300002020202020202020202020202020202E5
+:10BB400002020202020202020202020202020202D5
+:10BB500002020202020202020202020202020202C5
+:10BB600002020202020202020202020202020202B5
+:10BB700002020202020202020202020202020202A5
+:10BB80000202020202020202020202020202020295
+:10BB90000202020202020202020202020202020285
+:10BBA0000202020202020202020202020202020275
+:10BBB0000202020202020202020202020202020265
+:10BBC0000202020202020202020202020202020255
+:10BBD0000202020202020202020202020202020245
+:10BBE0000202020202020200000000000000000047
+:10BBF0000000000000000000000000000000000045
+:10BC00000000000000000000000000000000000034
+:10BC10000000000000000000000000000000000024
+:10BC20000000000000000000000000000000000014
+:10BC30000000000000000000000000000000000004
+:10BC400000000000000000000000000000000000F4
+:10BC500000000000000000000000000000000000E4
+:10BC600000000000000000000000000000000000D4
+:10BC700000000000000000000000000000000000C4
+:10BC800000000000000000000000000000000000B4
+:10BC900000000000000000000000000000000000A4
+:10BCA0000000000000000000000000000000000094
+:10BCB0000000000000000000000000000000000084
+:10BCC0000000000000000000000000000000000074
+:10BCD0000000000000000000000000000000000064
+:10BCE000000000000000004F000000000000000104
+:10BCF0000101010101010101010101010101010134
+:10BD00000101010101010101010101010101010123
+:10BD10000101010101010101010101010101010113
+:10BD20000101010101010101010101010101010103
+:10BD300001010101010101010101010101010101F3
+:10BD400001010101010101010101010101010101E3
+:10BD500001010101010101010101010101010101D3
+:10BD600001010101010101010101010101010101C3
+:10BD700001010101010101010101010101010101B3
+:10BD800001010101010101010101010101010101A3
+:10BD90000101010101010101010101010101010193
+:10BDA0000101010101010101010101010101010183
+:10BDB0000101010101010101010101010101010173
+:10BDC0000101010101010101010101010101010163
+:10BDD0000101010101010101010101010101010153
+:10BDE0000101010101010101010101010101010143
+:10BDF0000101010101010101010101010101010133
+:10BE00000101010101010101010101010101010122
+:10BE10000101010101010101010101010101010112
+:10BE20000101010101010101010101010101010102
+:10BE300001010101010101010101010101010101F2
+:10BE400001010101010101010101010101010101E2
+:10BE500001010101010101010101010101010101D2
+:10BE600001010101010101010101010101010101C2
+:10BE700001010101010101010101010101010101B2
+:10BE800001010101010101010101010101010101A2
+:10BE90000101010101010101010101010101010192
+:10BEA0000101010101010101010101010101010182
+:10BEB0000101010101010101010101010101010172
+:10BEC0000101010101010101010101010101010162
+:10BED0000101010101010101010101010101010152
+:10BEE0000101010101010101010101010101010142
+:10BEF0000101010101010101010101010101010132
+:10BF00000101010101010101010101010101010121
+:10BF10000101010101010101010101010101010111
+:10BF20000101010101010101010101010101010101
+:10BF300001010101010101010101010101010101F1
+:10BF400001010101010101010101010101010101E1
+:10BF500001010101010101010101010101010101D1
+:10BF600001010101010101010101010101010101C1
+:10BF700001010101010101010101010101010101B1
+:10BF800001010101010101010101010101010101A1
+:10BF90000101010101010101010101010101010191
+:10BFA0000101010101010101010101010101010181
+:10BFB0000101010101010101010101010101010171
+:10BFC0000101010101010101010101010101010161
+:10BFD0000101010101010101010101010101010151
+:10BFE0000101010101010101010101010101010141
+:10BFF0000101010101010101010101010101010131
+:10C000000101010101010101010101010101010120
+:10C010000101010101010101010101010101010110
+:10C020000101010101010101010101010101010100
+:10C0300001010101010101010101010101010101F0
+:10C0400001010101010101010101010101010101E0
+:10C0500001010101010101010101010101010101D0
+:10C0600001010101010101010101010101010101C0
+:10C0700001010101010101010101010101010101B0
+:10C0800001010101010101010101010101010101A0
+:10C090000101010101010101010101010101010190
+:10C0A0000101010101010101010101010101010180
+:10C0B0000101010101010101010101010101010170
+:10C0C0000101010101010101010101010101010160
+:10C0D0000101010101010101010101010101010150
+:10C0E0000101010101010101010101010101010140
+:10C0F0000101010101010101010101010101010130
+:10C10000010101010101010101010101010101011F
+:10C11000010101010101010101010101010101010F
+:10C1200001010101010101010101010101010101FF
+:10C1300001010101010101010101010101010101EF
+:10C1400001010101010101010101010101010101DF
+:10C1500001010101010101010101010101010101CF
+:10C1600001010101010101010101010101010101BF
+:10C1700001010101010101010101010101010101AF
+:10C18000010101010101010101010101010101019F
+:10C19000010101010101010101010101010101018F
+:10C1A000010101010101010101010101010101017F
+:10C1B000010101010101010101010101010101016F
+:10C1C000010101010101010101010101010101015F
+:10C1D000010101010101010101010101010101014F
+:10C1E000010101010101010101010101010101013F
+:10C1F000010101010101010101010101010101012F
+:10C20000010101010101010101010101010101011E
+:10C21000010101010101010101010101010101010E
+:10C2200001010101010101010101010101010101FE
+:10C2300001010101010101010101010101010101EE
+:10C2400001010101010101010101010101010101DE
+:10C2500001010101010101010101010101010101CE
+:10C2600001010101010101010101010101010101BE
+:10C2700001010101010101010101010101010101AE
+:10C28000010101010101010101010101010101019E
+:10C29000010101010101010101010101010101018E
+:10C2A000010101010101010101010101010101017E
+:10C2B000010101010101010101010101010101016E
+:10C2C000010101010101010101010101010101015E
+:10C2D000010101010101010101010101010101014E
+:10C2E000010101010101010101010101010101013E
+:10C2F000010101010101010101010101010101012E
+:10C30000010101010101010101010101010101011D
+:10C31000010101010101010101010101010101010D
+:10C3200001010101010101010101010101010101FD
+:10C3300001010101010101010101010101010101ED
+:10C3400001010101010101010101010101010101DD
+:10C3500001010101010101010101010101010101CD
+:10C3600001010101010101010101010101010101BD
+:10C3700001010101010101010101010101010101AD
+:10C38000010101010101010101010101010101019D
+:10C39000010101010101010101010101010101018D
+:10C3A000010101010101010101010101010101017D
+:10C3B000010101010101010101010101010101016D
+:10C3C000010101010101010101010101010101015D
+:10C3D000010101010101010101010101010101014D
+:10C3E000010101010101010101010101010101013D
+:10C3F000010101010101010101010101010101012D
+:10C40000010101010101010101010101010101011C
+:10C41000010101010101010101010101010101010C
+:10C4200001010101010101010101010101010101FC
+:10C4300001010101010101010101010101010101EC
+:10C4400001010101010101010101010101010101DC
+:10C4500001010101010101010101010101010101CC
+:10C4600001010101010101010101010101010101BC
+:10C4700001010101010101010101010101010101AC
+:10C48000010101010101010101010101010101019C
+:10C49000010101010101010101010101010101018C
+:10C4A000010101010101010101010101010101017C
+:10C4B000010101010101010101010101010101016C
+:10C4C000010101010101010101010101010101015C
+:10C4D000010101010101010101010101010101014C
+:10C4E000010101010101010101010101010101013C
+:10C4F000010101010101010101010101010101012C
+:10C50000010101010101010101010101010101011B
+:10C51000010101010101010101010101010101010B
+:10C5200001010101010101010101010101010101FB
+:10C5300001010101010101010101010101010101EB
+:10C5400001010101010101010101010101010101DB
+:10C5500001010101010101010101010101010101CB
+:10C5600001010101010101010101010101010101BB
+:10C5700001010101010101010101010101010101AB
+:10C58000010101010101010101010101010101019B
+:10C59000010101010101010101010101010101018B
+:10C5A000010101010101010101010101010101017B
+:10C5B000010101010101010101010101010101016B
+:10C5C000010101010101010101010101010101015B
+:10C5D000010101010101010101010101010101014B
+:10C5E000010101010101010101010101010101013B
+:10C5F000010101010101010101010101010101012B
+:10C60000010101010101010101010101010101011A
+:10C61000010101010101010101010101010101010A
+:10C6200001010101010101010101010101010101FA
+:10C6300001010101010101010101010101010101EA
+:10C6400001010101010101010101010101010101DA
+:10C6500001010101010101010101010101010101CA
+:10C6600001010101010101010101010101010101BA
+:10C6700001010101010101010101010101010101AA
+:10C68000010101010101010101010101010101019A
+:10C69000010101010101010101010101010101018A
+:10C6A000010101010101010101010101010101017A
+:10C6B000010101010101010101010101010101016A
+:10C6C000010101010101010101010101010101015A
+:10C6D000010101010101010101010101010101014A
+:10C6E000010101010101010101010101010101013A
+:10C6F000010101010101010101010101010101012A
+:10C700000101010101010101010101010101010119
+:10C710000101010101010101010101010101010109
+:10C7200001010101010101010101010101010101F9
+:10C7300001010101010101010101010101010101E9
+:10C7400001010101010101010101010101010101D9
+:10C7500001010101010101010101010101010101C9
+:10C7600001010101010101010101010101010101B9
+:10C7700001010101010101010101010101010101A9
+:10C780000101010101010101010101010101010199
+:10C790000101010101010101010101010101010189
+:10C7A0000101010101010101010101010101010179
+:10C7B0000101010101010101010101010101010169
+:10C7C0000101010101010101010101010101010159
+:10C7D0000101010101010101010101010101010149
+:10C7E0000101010101010101010101010101010139
+:10C7F0000101010101010101010101010101010129
+:10C800000101010101010101010101010101010118
+:10C810000101010101010101010101010101010108
+:10C8200001010101010101010101010101010101F8
+:10C8300001010101010101010101010101010101E8
+:10C8400001010101010101010101010101010101D8
+:10C8500001010101010101010101010101010101C8
+:10C8600001010101010101010101010101010101B8
+:10C8700001010101010101010101010101010101A8
+:10C880000101010101010101010101010101010198
+:10C890000101010101010101010101010101010188
+:10C8A0000101010101010101010101010101010178
+:10C8B0000101010101010101010101010101010168
+:10C8C0000101010101010101010101010101010158
+:10C8D0000101010101010101010101010101010148
+:10C8E0000101010101010101010101010101010138
+:10C8F0000101010101010101010101010101010128
+:10C900000101010101010101010101010101010117
+:10C910000101010101010101010101010101010107
+:10C9200001010101010101010101010101010101F7
+:10C9300001010101010101010101010101010101E7
+:10C9400001010101010101010101010101010101D7
+:10C9500001010101010101010101010101010101C7
+:10C9600001010101010101010101010101010101B7
+:10C9700001010101010101010101010101010101A7
+:10C980000101010101010101010101010101010197
+:10C990000101010101010101010101010101010187
+:10C9A0000101010101010101010101010101010177
+:10C9B0000101010101010101010101010101010167
+:10C9C0000101010101010101010101010101010157
+:10C9D0000101010101010101010101010101010147
+:10C9E0000101010101010101010101010101010137
+:10C9F0000101010101010101010101010101010127
+:10CA00000101010101010101010101010101010116
+:10CA10000101010101010101010101010101010106
+:10CA200001010101010101010101010101010101F6
+:10CA300001010101010101010101010101010101E6
+:10CA400001010101010101010101010101010101D6
+:10CA500001010101010101010101010101010101C6
+:10CA600001010101010101010101010101010101B6
+:10CA700001010101010101010101010101010101A6
+:10CA80000101010101010101010101010101010196
+:10CA90000101010101010101010101010101010186
+:10CAA0000101010101010101010101010101010176
+:10CAB0000101010101010101010101010101010166
+:10CAC0000101010101010101010101010101010156
+:10CAD0000101010101010101010101010101010146
+:10CAE0000101010101010101010101010101010136
+:10CAF0000101010101010101010101010101010126
+:10CB00000101010101010101010101010101010115
+:10CB10000101010101010101010101010101010105
+:10CB200001010101010101010101010101010101F5
+:10CB300001010101010101010101010101010101E5
+:10CB400001010101010101010101010101010101D5
+:10CB500001010101010101010101010101010101C5
+:10CB600001010101010101010101010101010101B5
+:10CB700001010101010101010101010101010101A5
+:10CB80000101010101010101010101010101010195
+:10CB90000101010101010101010101010101010185
+:10CBA0000101010101010101010101010101010175
+:10CBB0000101010101010101010101010101010165
+:10CBC0000101010101010101010101010101010155
+:10CBD0000101010101010101010101010101010145
+:10CBE0000101010101010101010101010101010135
+:10CBF0000101010101010101010101010101010125
+:10CC00000101010101010101010101010101010114
+:10CC10000101010101010101010101010101010104
+:10CC200001010101010101010101010101010101F4
+:10CC300001010101010101010101010101010101E4
+:10CC400001010101010101010101010101010101D4
+:10CC500001010101010101010101010101010101C4
+:10CC600001010101010101010101010101010101B4
+:10CC700001010101010101010101010101010101A4
+:10CC80000101010101010101010101010101010194
+:10CC90000101010101010101010101010101010184
+:10CCA0000101010101010101010101010101010174
+:10CCB0000101010101010101010101010101010164
+:10CCC0000101010101010101010101010101010154
+:10CCD0000101010101010101010101010101010144
+:10CCE0000101010101010101010101010101010134
+:10CCF0000101010101010101010101010101010124
+:10CD00000101010101010101010101010101010113
+:10CD10000101010101010101010101010101010103
+:10CD200001010101010101010101010101010101F3
+:10CD300001010101010101010101010101010101E3
+:10CD400001010101010101010101010101010101D3
+:10CD500001010101010101010101010101010101C3
+:10CD600001010101010101010101010101010101B3
+:10CD700001010101010101010101010101010101A3
+:10CD80000101010101010101010101010101010193
+:10CD90000101010101010101010101010101010183
+:10CDA0000101010101010101010101010101010173
+:10CDB0000101010101010101010101010101010163
+:10CDC0000101010101010101010101010101010153
+:10CDD0000101010101010101010101010101010143
+:10CDE0000101010101010101010101010101010133
+:10CDF0000101010101010101010101010101010123
+:10CE00000101010101010101010101010101010112
+:10CE10000101010101010101010101010101010102
+:10CE200001010101010101010101010101010101F2
+:10CE300001010101010101010101010101010101E2
+:10CE400001010101010101010101010101010101D2
+:10CE500001010101010101010101010101010101C2
+:10CE600001010101010101010101010101010101B2
+:10CE700001010101010101010101010101010101A2
+:10CE80000101010101010101010101010101010192
+:10CE90000101010101010101010101010101010182
+:10CEA0000101010101010101010101010101010172
+:10CEB0000101010101010101010101010101010162
+:10CEC0000101010101010101010101010101010152
+:10CED0000101010101010101010101010101010142
+:10CEE0000101010101010101010101010101010132
+:10CEF0000101010101010101010101010101010122
+:10CF00000101010101010101010101010101010111
+:10CF10000101010101010101010101010101010101
+:10CF200001010101010101010101010101010101F1
+:10CF300001010101010101010101010101010101E1
+:10CF400001010101010101010101010101010101D1
+:10CF500001010101010101010101010101010101C1
+:10CF600001010101010101010101010101010101B1
+:10CF700001010101010101010101010101010101A1
+:10CF80000101010101010101010101010101010191
+:10CF90000101010101010101010101010101010181
+:10CFA0000101010101010101010101010101010171
+:10CFB0000101010101010101010101010101010161
+:10CFC0000101010101010101010101010101010151
+:10CFD0000101010101010101010101010101010141
+:10CFE0000101010101010101010101010101010131
+:10CFF0000101010101010101010101010101010121
+:10D000000101010101010101010101010101010110
+:10D010000101010101010101010101010101010100
+:10D0200001010101010101010101010101010101F0
+:10D0300001010101010101010101010101010101E0
+:10D0400001010101010101010101010101010101D0
+:10D0500001010101010101010101010101010101C0
+:10D0600001010101010101010101010101010101B0
+:10D0700001010101010101010101010101010101A0
+:10D080000101010101010101010101010101010190
+:10D090000101010101010101010101010101010180
+:10D0A0000101010101010101010101010101010170
+:10D0B0000101010101010101010101010101010160
+:10D0C0000101010101010101010101010101010150
+:10D0D0000101010101010101010101010101010140
+:10D0E0000101010101010101010101010101010130
+:10D0F0000101010101010101010101010101010120
+:10D10000010101010101010101010101010101010F
+:10D1100001010101010101010101010101010101FF
+:10D1200001010101010101010101010101010101EF
+:10D1300001010101010101010101010101010101DF
+:10D1400001010101010101010101010101010101CF
+:10D1500001010101010101010101010101010101BF
+:10D1600001010101010101010101010101010101AF
+:10D17000010101010101010101010101010101019F
+:10D18000010101010101010101010101010101018F
+:10D19000010101010101010101010101010101017F
+:10D1A000010101010101010101010101010101016F
+:10D1B000010101010101010101010101010101015F
+:10D1C000010101010101010101010101010101014F
+:10D1D000010101010101010101010101010101013F
+:10D1E000010101010101010101010101010101012F
+:10D1F000010101010101010101010101010101011F
+:10D20000010101010101010101010101010101010E
+:10D2100001010101010101010101010101010101FE
+:10D2200001010101010101010101010101010101EE
+:10D2300001010101010101010101010101010101DE
+:10D2400001010101010101010101010101010101CE
+:10D2500001010101010101010101010101010101BE
+:10D2600001010101010101010101010101010101AE
+:10D27000010101010101010101010101010101019E
+:10D28000010101010101010101010101010101018E
+:10D29000010101010101010101010101010101017E
+:10D2A000010101010101010101010101010101016E
+:10D2B000010101010101010101010101010101015E
+:10D2C000010101010101010101010101010101014E
+:10D2D000010101010101010101010101010101013E
+:10D2E000010101010101010101010101010101012E
+:10D2F000010101010101010101010101010101011E
+:10D30000010101010101010101010101010101010D
+:10D3100001010101010101010101010101010101FD
+:10D3200001010101010101010101010101010101ED
+:10D3300001010101010101010101010101010101DD
+:10D3400001010101010101010101010101010101CD
+:10D3500001010101010101010101010101010101BD
+:10D3600001010101010101010101010101010101AD
+:10D37000010101010101010101010101010101019D
+:10D38000010101010101010101010101010101018D
+:10D39000010101010101010101010101010101017D
+:10D3A000010101010101010101010101010101016D
+:10D3B000010101010101010101010101010101015D
+:10D3C000010101010101010101010101010101014D
+:10D3D000010101010101010101010101010101013D
+:10D3E000010101010101010101010101010101012D
+:10D3F000010101010101010101010101010101011D
+:10D40000010101010101010101010101010101010C
+:10D4100001010101010101010101010101010101FC
+:10D4200001010101010101010101010101010101EC
+:10D4300001010101010101010101010101010101DC
+:10D4400001010101010101010101010101010101CC
+:10D4500001010101010101010101010101010101BC
+:10D4600001010101010101010101010101010101AC
+:10D47000010101010101010101010101010101019C
+:10D48000010101010101010101010101010101018C
+:10D49000010101010101010101010101010101017C
+:10D4A000010101010101010101010101010101016C
+:10D4B000010101010101010101010101010101015C
+:10D4C000010101010101010101010101010101014C
+:10D4D000010101010101010101010101010101013C
+:10D4E000010101010101010101010101010101012C
+:10D4F000010101010101010101010101010101011C
+:10D50000010101010101010101010101010101010B
+:10D5100001010101010101010101010101010101FB
+:10D5200001010101010101010101010101010101EB
+:10D5300001010101010101010101010101010101DB
+:10D5400001010101010101010101010101010101CB
+:10D5500001010101010101010101010101010101BB
+:10D5600001010101010101010101010101010101AB
+:10D57000010101010101010101010101010101019B
+:10D58000010101010101010101010101010101018B
+:10D59000010101010101010101010101010101017B
+:10D5A000010101010101010101010101010101016B
+:10D5B000010101010101010101010101010101015B
+:10D5C000010101010101010101010101010101014B
+:10D5D000010101010101010101010101010101013B
+:10D5E000010101010101010101010101010101012B
+:10D5F000010101010101010101010101010101011B
+:10D60000010101010101010101010101010101010A
+:10D6100001010101010101010101010101010101FA
+:10D6200001010101010101010101010101010101EA
+:10D6300001010101010101010101010101010101DA
+:10D6400001010101010101010101010101010101CA
+:10D6500001010101010101010101010101010101BA
+:10D6600001010101010101010101010101010101AA
+:10D67000010101010101010101010101010101019A
+:10D68000010101010101010101010101010101018A
+:10D69000010101010101010101010101010101017A
+:10D6A000010101010101010101010101010101016A
+:10D6B000010101010101010101010101010101015A
+:10D6C000010101010101010101010101010101014A
+:10D6D000010101010101010101010101010101013A
+:10D6E000010101010101010101010101010101012A
+:10D6F000010101010101010101010101010101011A
+:10D700000101010101010101010101010101010109
+:10D7100001010101010101010101010101010101F9
+:10D7200001010101010101010101010101010101E9
+:10D7300001010101010101010101010101010101D9
+:10D7400001010101010101010101010101010101C9
+:10D7500001010101010101010101010101010101B9
+:10D7600001010101010101010101010101010101A9
+:10D770000101010101010101010101010101010199
+:10D780000101010101010101010101010101010189
+:10D790000101010101010101010101010101010179
+:10D7A0000101010101010101010101010101010169
+:10D7B0000101010101010101010101010101010159
+:10D7C0000101010101010101010101010101010149
+:10D7D0000101010101010101010101010101010139
+:10D7E0000101010101010101010101010101010129
+:10D7F0000101010101010101010101010101010119
+:10D800000101010101010101010101010101010108
+:10D8100001010101010101010101010101010101F8
+:10D8200001010101010101010101010101010101E8
+:10D8300001010101010101010101010101010101D8
+:10D8400001010101010101010101010101010101C8
+:10D8500001010101010101010101010101010101B8
+:10D8600001010101010101010101010101010101A8
+:10D870000101010101010101010101010101010198
+:10D880000101010101010101010101010101010188
+:10D890000101010101010101010101010101010178
+:10D8A0000101010101010101010101010101010168
+:10D8B0000101010101010101010101010101010158
+:10D8C0000101010101010101010101010101010148
+:10D8D0000101010101010101010101010101010138
+:10D8E0000101010101010101010101010101010128
+:10D8F0000101010101010101010101010101010118
+:10D900000101010101010101010101010101010107
+:10D9100001010101010101010101010101010101F7
+:10D9200001010101010101010101010101010101E7
+:10D9300001010101010101010101010101010101D7
+:10D9400001010101010101010101010101010101C7
+:10D9500001010101010101010101010101010101B7
+:10D9600001010101010101010101010101010101A7
+:10D970000101010101010101010101010101010197
+:10D980000101010101010101010101010101010187
+:10D990000101010101010101010101010101010177
+:10D9A0000101010101010101010101010101010167
+:10D9B0000101010101010101010101010101010157
+:10D9C0000101010101010101010101010101010147
+:10D9D0000101010101010101010101010101010137
+:10D9E0000101010101010101010101010101010127
+:10D9F0000101010101010101010101010101010117
+:10DA00000101010101010101010101010101010106
+:10DA100001010101010101010101010101010101F6
+:10DA200001010101010101010101010101010101E6
+:10DA300001010101010101010101010101010101D6
+:10DA400001010101010101010101010101010101C6
+:10DA500001010101010101010101010101010101B6
+:10DA600001010101010101010101010101010101A6
+:10DA70000101010101010101010101010101010196
+:10DA80000101010101010101010101010101010186
+:10DA90000101010101010101010101010101010176
+:10DAA0000101010101010101010101010101010166
+:10DAB0000101010101010101010101010101010156
+:10DAC0000101010101010101010101010101010146
+:10DAD0000101010101010101010101010101010136
+:10DAE0000101010101010101010101010101010126
+:10DAF0000101010101010101010101010101010116
+:10DB00000101010101010101010101010101010105
+:10DB100001010101010101010101010101010101F5
+:10DB200001010101010101010101010101010101E5
+:10DB300001010101010101010101010101010101D5
+:10DB400001010101010101010101010101010101C5
+:10DB500001010101010101010101010101010101B5
+:10DB600001010101010101010101010101010101A5
+:10DB70000101010101010101010101010101010195
+:10DB80000101010101010101010101010101010185
+:10DB90000101010101010101010101010101010175
+:10DBA0000101010101010101010101010101010165
+:10DBB0000101010101010101010101010101010155
+:10DBC0000101010101010101010101010101010145
+:10DBD0000101010101010101010101010101010135
+:10DBE0000101010101010101010101010101010125
+:10DBF0000101010101010101010101010101010115
+:10DC00000101010101010101010101010101010104
+:10DC100001010101010101010101010101010101F4
+:10DC200001010101010101010101010101010101E4
+:10DC300001010101010101010101010101010101D4
+:10DC400001010101010101010101010101010101C4
+:10DC500001010101010101010101010101010101B4
+:10DC600001010101010101010101010101010101A4
+:10DC70000101010101010101010101010101010194
+:10DC80000101010101010101010101010101010184
+:10DC90000101010101010101010101010101010174
+:10DCA0000101010101010101010101010101010164
+:10DCB0000101010101010101010101010101010154
+:10DCC0000101010101010101010101010101010144
+:10DCD0000101010101010101010101010101010134
+:10DCE0000101010101010101010101010101010124
+:10DCF0000101010101010101010101010101010114
+:10DD00000101010101010101010101010101010103
+:10DD100001010101010101010101010101010101F3
+:10DD200001010101010101010101010101010101E3
+:10DD300001010101010101010101010101010101D3
+:10DD400001010101010101010101010101010101C3
+:10DD500001010101010101010101010101010101B3
+:10DD600001010101010101010101010101010101A3
+:10DD70000101010101010101010101010101010193
+:10DD80000101010101010101010101010101010183
+:10DD90000101010101010101010101010101010173
+:10DDA0000101010101010101010101010101010163
+:10DDB0000101010101010101010101010101010153
+:10DDC0000101010101010101010101010101010143
+:10DDD0000101010101010101010101010101010133
+:10DDE0000101010101010101010101010101010123
+:10DDF0000101010101010101010101010101010113
+:10DE00000101010101010101010101010101010102
+:10DE100001010101010101010101010101010101F2
+:10DE200001010101010101010101010101010101E2
+:10DE300001010101010101010101010101010101D2
+:10DE400001010101010101010101010101010101C2
+:10DE500001010101010101010101010101010101B2
+:10DE600001010101010101010101010101010101A2
+:10DE70000101010101010101010101010101010192
+:10DE80000101010101010101010101010101010182
+:10DE90000101010101010101010101010101010172
+:10DEA0000101010101010101010101010101010162
+:10DEB0000101010101010101010101010101010152
+:10DEC0000101010101010101010101010101010142
+:10DED0000101010101010101010101010101010132
+:10DEE0000101010101010101010101010101010122
+:10DEF0000101010101010101010101010101010112
+:10DF00000101010101010101010101010101010101
+:10DF100001010101010101010101010101010101F1
+:10DF200001010101010101010101010101010101E1
+:10DF300001010101010101010101010101010101D1
+:10DF400001010101010101010101010101010101C1
+:10DF500001010101010101010101010101010101B1
+:10DF600001010101010101010101010101010101A1
+:10DF70000101010101010101010101010101010191
+:10DF80000101010101010101010101010101010181
+:10DF90000101010101010101010101010101010171
+:10DFA0000101010101010101010101010101010161
+:10DFB0000101010101010101010101010101010151
+:10DFC0000101010101010101010101010101010141
+:10DFD0000101010101010101010101010101010131
+:10DFE0000101010101010101010101010101010121
+:10DFF0000101010101010101010101010101010111
+:10E000000101010101010101010101010101010100
+:10E0100001010101010101010101010101010101F0
+:10E0200001010101010101010101010101010101E0
+:10E0300001010101010101010101010101010101D0
+:10E0400001010101010101010101010101010101C0
+:10E0500001010101010101010101010101010101B0
+:10E0600001010101010101010101010101010101A0
+:10E070000101010101010101010101010101010190
+:10E080000101010101010101010101010101010180
+:10E090000101010101010101010101010101010170
+:10E0A0000101010101010101010101010101010160
+:10E0B0000101010101010101010101010101010150
+:10E0C0000101010101010101010101010101010140
+:10E0D0000101010101010101010101010101010130
+:10E0E0000101010101010101010101010101010120
+:10E0F0000101010101010101010101010101010110
+:10E1000001010101010101010101010101010101FF
+:10E1100001010101010101010101010101010101EF
+:10E1200001010101010101010101010101010101DF
+:10E1300001010101010101010101010101010101CF
+:10E1400001010101010101010101010101010101BF
+:10E1500001010101010101010101010101010101AF
+:10E16000010101010101010101010101010101019F
+:10E17000010101010101010101010101010101018F
+:10E18000010101010101010101010101010101017F
+:10E19000010101010101010101010101010101016F
+:10E1A000010101010101010101010101010101015F
+:10E1B000010101010101010101010101010101014F
+:10E1C000010101010101010101010101010101013F
+:10E1D000010101010101010101010101010101012F
+:10E1E0000101010101010101010101010101010020
+:10E1F000000000000000000000000000000000001F
+:10E20000000000000000000000000000000000000E
+:10E2100000000000000000000000000000000000FE
+:10E2200000000000000000000000000000000000EE
+:10E2300000000000000000000000000000000000DE
+:10E2400000000000000000000000000000000000CE
+:10E2500000000000000000000000000000000000BE
+:10E2600000000000000000000000000000000000AE
+:10E27000000000000000000000000000000000009E
+:10E28000000000000000000000000000000000008E
+:10E29000000000000000000000000000000000007E
+:10E2A000000000000000000000000000000000006E
+:10E2B000000000000000000000000000000000005E
+:10E2C000000000000000000000000000000000004E
+:10E2D000000000000000000000000000000000003E
+:10E2E000000000000000000000000000000000002E
+:10E2F000000000000000000000000000000000001E
+:10E30000000000000000000000000000000000000D
+:10E3100000000000000000000000000000000000FD
+:10E3200000000000000000000000000000000000ED
+:10E3300000000000000000000000000000000000DD
+:10E3400000000000000000000000000000000000CD
+:10E3500000000000000000000000000000000000BD
+:10E3600000000000000000000000000000000000AD
+:10E37000000000000000000000000000000000009D
+:10E38000000000000000000000000000000000008D
+:10E39000000000000000000000000000000000007D
+:10E3A000000000000000000000000000000000006D
+:10E3B000000000000000000000000000000000005D
+:10E3C000000000000000000000000000000000004D
+:10E3D000000000000000000000000000000000003D
+:10E3E000000000000000000000000000000000002D
+:10E3F000000000000000000000000000000000001D
+:10E40000000000000000000000000000000000000C
+:10E4100000000000000000000000000000000000FC
+:10E4200000000000000000000000000000000000EC
+:10E4300000000000000000000000000000000000DC
+:10E4400000000000000000000000000000000000CC
+:10E4500000000000000000000000000000000000BC
+:10E4600000000000000000000000000000000000AC
+:10E47000000000000000000000000000000000009C
+:10E48000000000000000000000000000000000008C
+:10E49000000000000000000000000000000000007C
+:10E4A000000000000000000000000000000000006C
+:10E4B000000000000000000000000000000000005C
+:10E4C000000000000000000000000000000000004C
+:10E4D000000000000000000000000000000000003C
+:10E4E000000000000000000000000000000000002C
+:10E4F000000000000000000000000000000000001C
+:10E50000000000000000000000000000000000000B
+:10E5100000000000000000000000000000000000FB
+:10E5200000000000000000000000000000000000EB
+:10E5300000000000000000000000000000000000DB
+:10E5400000000000000000000000000000000000CB
+:10E5500000000000000000000000000000000000BB
+:10E5600000000000000000000000000000000000AB
+:10E57000000000000000000000000000000000009B
+:10E58000000000000000000000000000000000008B
+:10E59000000000000000000000000000000000007B
+:10E5A000000000000000000000000000000000006B
+:10E5B000000000000000000000000000000000005B
+:10E5C000000000000000000000000000000000004B
+:10E5D000000000000000000000000000000000003B
+:10E5E0000000000000000000000000000000000229
+:10E5F00002020202020202020202020202020202FB
+:10E6000002020202020202020202020202020202EA
+:10E6100002020202020202020202020202020202DA
+:10E6200002020202020202020202020202020202CA
+:10E6300002020202020202020202020202020202BA
+:10E6400002020202020202020202020202020202AA
+:10E65000020202020202020202020202020202029A
+:10E66000020202020202020202020202020202028A
+:10E67000020202020202020202020202020202027A
+:10E68000020202020202020202020202020202026A
+:10E69000020202020202020202020202020202025A
+:10E6A000020202020202020202020202020202024A
+:10E6B000020202020202020202020202020202023A
+:10E6C000020202020202020202020202020202022A
+:10E6D000020202020202020202020202020202021A
+:10E6E000020202020202020202020202020202020A
+:10E6F00002020202020202020202020202020202FA
+:10E7000002020202020202020202020202020202E9
+:10E7100002020202020202020202020202020202D9
+:10E7200002020202020202020202020202020202C9
+:10E7300002020202020202020202020202020202B9
+:10E7400002020202020202020202020202020202A9
+:10E750000202020202020202020202020202020299
+:10E760000202020202020202020202020202020289
+:10E770000202020202020202020202020202020279
+:10E780000202020202020202020202020202020269
+:10E790000202020202020202020202020202020259
+:10E7A0000202020202020202020202020202020249
+:10E7B0000202020202020202020202020202020239
+:10E7C0000202020202020202020202020202020229
+:10E7D0000202020202020202020202020202020219
+:10E7E0000202020202020202020202020202020209
+:10E7F00002020202020202020202020202020202F9
+:10E8000002020202020202020202020202020202E8
+:10E8100002020202020202020202020202020202D8
+:10E8200002020202020202020202020202020202C8
+:10E8300002020202020202020202020202020202B8
+:10E8400002020202020202020202020202020202A8
+:10E850000202020202020202020202020202020298
+:10E860000202020202020202020202020202020288
+:10E870000202020202020202020202020202020278
+:10E880000202020202020202020202020202020268
+:10E890000202020202020202020202020202020258
+:10E8A0000202020202020202020202020202020248
+:10E8B0000202020202020202020202020202020238
+:10E8C0000202020202020202020202020202020228
+:10E8D0000202020202020202020202020202020218
+:10E8E0000202020202020202020202020202020208
+:10E8F00002020202020202020202020202020202F8
+:10E9000002020202020202020202020202020202E7
+:10E9100002020202020202020202020202020202D7
+:10E9200002020202020202020202020202020202C7
+:10E9300002020202020202020202020202020202B7
+:10E9400002020202020202020202020202020202A7
+:10E950000202020202020202020202020202020297
+:10E960000202020202020202020202020202020287
+:10E970000202020202020202020202020202020277
+:10E980000202020202020202020202020202020267
+:10E990000202020202020202020202020202020257
+:10E9A0000202020202020202020202020202020247
+:10E9B0000202020202020202020202020202020237
+:10E9C0000202020202020202020202020202020227
+:10E9D0000202020202020202020202020202020217
+:10E9E0000202020202020202020202020202020207
+:10E9F00002020202020202020202020202020202F7
+:10EA000002020202020202020202020202020202E6
+:10EA100002020202020202020202020202020202D6
+:10EA200002020202020202020202020202020202C6
+:10EA300002020202020202020202020202020202B6
+:10EA400002020202020202020202020202020202A6
+:10EA50000202020202020202020202020202020296
+:10EA60000202020202020202020202020202020286
+:10EA70000202020202020202020202020202020276
+:10EA80000202020202020202020202020202020266
+:10EA90000202020202020202020202020202020256
+:10EAA0000202020202020202020202020202020246
+:10EAB0000202020202020202020202020202020236
+:10EAC0000202020202020202020202020202020226
+:10EAD0000202020202020202020202020202020216
+:10EAE0000202020202020202020202020202020206
+:10EAF00002020202020202020202020202020202F6
+:10EB000002020202020202020202020202020202E5
+:10EB100002020202020202020202020202020202D5
+:10EB200002020202020202020202020202020202C5
+:10EB300002020202020202020202020202020202B5
+:10EB400002020202020202020202020202020202A5
+:10EB50000202020202020202020202020202020295
+:10EB60000202020202020202020202020202020285
+:10EB70000202020202020202020202020202020275
+:10EB80000202020202020202020202020202020265
+:10EB90000202020202020202020202020202020255
+:10EBA0000202020202020202020202020202020245
+:10EBB0000202020202020202020202020202020235
+:10EBC0000202020202020202020202020202020225
+:10EBD0000202020202020202020202020202020215
+:10EBE0000202020202020202020202020202020205
+:10EBF00002020202020202020202020202020202F5
+:10EC000002020202020202020202020202020202E4
+:10EC100002020202020202020202020202020202D4
+:10EC200002020202020202020202020202020202C4
+:10EC300002020202020202020202020202020202B4
+:10EC400002020202020202020202020202020202A4
+:10EC50000202020202020202020202020202020294
+:10EC60000202020202020202020202020202020284
+:10EC70000202020202020202020202020202020274
+:10EC80000202020202020202020202020202020264
+:10EC90000202020202020202020202020202020254
+:10ECA0000202020202020202020202020202020244
+:10ECB0000202020202020202020202020202020234
+:10ECC0000202020202020202020202020202020224
+:10ECD0000202020202020202020202020202020214
+:10ECE0000202020202020202020202020202020204
+:10ECF00002020202020202020202020202020202F4
+:10ED000002020202020202020202020202020202E3
+:10ED100002020202020202020202020202020202D3
+:10ED200002020202020202020202020202020202C3
+:10ED300002020202020202020202020202020202B3
+:10ED400002020202020202020202020202020202A3
+:10ED50000202020202020202020202020202020293
+:10ED60000202020202020202020202020202020283
+:10ED70000202020202020202020202020202020273
+:10ED80000202020202020202020202020202020263
+:10ED90000202020202020202020202020202020253
+:10EDA0000202020202020202020202020202020243
+:10EDB0000202020202020202020202020202020233
+:10EDC0000202020202020202020202020202020223
+:10EDD0000202020202020202020202020202020213
+:10EDE0000202020202020202020202020202020203
+:10EDF00002020202020202020202020202020202F3
+:10EE000002020202020202020202020202020202E2
+:10EE100002020202020202020202020202020202D2
+:10EE200002020202020202020202020202020202C2
+:10EE300002020202020202020202020202020202B2
+:10EE400002020202020202020202020202020202A2
+:10EE50000202020202020202020202020202020292
+:10EE60000202020202020202020202020202020282
+:10EE70000202020202020202020202020202020272
+:10EE80000202020202020202020202020202020262
+:10EE90000202020202020202020202020202020252
+:10EEA0000202020202020202020202020202020242
+:10EEB0000202020202020202020202020202020232
+:10EEC0000202020202020202020202020202020222
+:10EED0000202020202020202020202020202020212
+:10EEE0000202020202020202020202020202020202
+:10EEF00002020202020202020202020202020202F2
+:10EF000002020202020202020202020202020202E1
+:10EF100002020202020202020202020202020202D1
+:10EF200002020202020202020202020202020202C1
+:10EF300002020202020202020202020202020202B1
+:10EF400002020202020202020202020202020202A1
+:10EF50000202020202020202020202020202020291
+:10EF60000202020202020202020202020202020281
+:10EF70000202020202020202020202020202020271
+:10EF80000202020202020202020202020202020261
+:10EF90000202020202020202020202020202020251
+:10EFA0000202020202020202020202020202020241
+:10EFB0000202020202020202020202020202020231
+:10EFC0000202020202020202020202020202020221
+:10EFD0000202020202020202020202020202020211
+:10EFE0000202020202020202020202020202020201
+:10EFF00002020202020202020202020202020202F1
+:10F0000002020202020202020202020202020202E0
+:10F0100002020202020202020202020202020202D0
+:10F0200002020202020202020202020202020202C0
+:10F0300002020202020202020202020202020202B0
+:10F0400002020202020202020202020202020202A0
+:10F050000202020202020202020202020202020290
+:10F060000202020202020202020202020202020280
+:10F070000202020202020202020202020202020270
+:10F080000202020202020202020202020202020260
+:10F090000202020202020202020202020202020250
+:10F0A0000202020202020202020202020202020240
+:10F0B0000202020202020202020202020202020230
+:10F0C0000202020202020202020202020202020220
+:10F0D0000202020202020202020202020202020210
+:10F0E0000202020202020202020202020202020200
+:10F0F00002020202020202020202020202020202F0
+:10F1000002020202020202020202020202020202DF
+:10F1100002020202020202020202020202020202CF
+:10F1200002020202020202020202020202020202BF
+:10F1300002020202020202020202020202020202AF
+:10F14000020202020202020202020202020202029F
+:10F15000020202020202020202020202020202028F
+:10F16000020202020202020202020202020202027F
+:10F17000020202020202020202020202020202026F
+:10F18000020202020202020202020202020202025F
+:10F19000020202020202020202020202020202024F
+:10F1A000020202020202020202020202020202023F
+:10F1B000020202020202020202020202020202022F
+:10F1C000020202020202020202020202020202021F
+:10F1D000020202020202020202020202020202020F
+:10F1E00002020202020202020202020202020202FF
+:10F1F00002020202020202020202020202020202EF
+:10F2000002020202020202020202020202020202DE
+:10F2100002020202020202020202020202020202CE
+:10F2200002020202020202020202020202020202BE
+:10F2300002020202020202020202020202020202AE
+:10F24000020202020202020202020202020202029E
+:10F25000020202020202020202020202020202028E
+:10F26000020202020202020202020202020202027E
+:10F27000020202020202020202020202020202026E
+:10F28000020202020202020202020202020202025E
+:10F29000020202020202020202020202020202024E
+:10F2A000020202020202020202020202020202023E
+:10F2B000020202020202020202020202020202022E
+:10F2C000020202020202020202020202020202021E
+:10F2D000020202020202020202020202020202020E
+:10F2E00002020202020202020202020202020202FE
+:10F2F00002020202020202020202020202020202EE
+:10F3000002020202020202020202020202020202DD
+:10F3100002020202020202020202020202020202CD
+:10F3200002020202020202020202020202020202BD
+:10F3300002020202020202020202020202020202AD
+:10F34000020202020202020202020202020202029D
+:10F35000020202020202020202020202020202028D
+:10F36000020202020202020202020202020202027D
+:10F37000020202020202020202020202020202026D
+:10F38000020202020202020202020202020202025D
+:10F39000020202020202020202020202020202024D
+:10F3A000020202020202020202020202020202023D
+:10F3B000020202020202020202020202020202022D
+:10F3C000020202020202020202020202020202021D
+:10F3D000020202020202020202020202020202020D
+:10F3E00002020202020202020202020202020202FD
+:10F3F00002020202020202020202020202020202ED
+:10F4000002020202020202020202020202020202DC
+:10F4100002020202020202020202020202020202CC
+:10F4200002020202020202020202020202020202BC
+:10F4300002020202020202020202020202020202AC
+:10F44000020202020202020202020202020202029C
+:10F45000020202020202020202020202020202028C
+:10F46000020202020202020202020202020202027C
+:10F47000020202020202020202020202020202026C
+:10F48000020202020202020202020202020202025C
+:10F49000020202020202020202020202020202024C
+:10F4A000020202020202020202020202020202023C
+:10F4B000020202020202020202020202020202022C
+:10F4C000020202020202020202020202020202021C
+:10F4D000020202020202020202020202020202020C
+:10F4E00002020202020202020202020202020202FC
+:10F4F00002020202020202020202020202020202EC
+:10F5000002020202020202020202020202020202DB
+:10F5100002020202020202020202020202020202CB
+:10F5200002020202020202020202020202020202BB
+:10F5300002020202020202020202020202020202AB
+:10F54000020202020202020202020202020202029B
+:10F55000020202020202020202020202020202028B
+:10F56000020202020202020202020202020202027B
+:10F57000020202020202020202020202020202026B
+:10F58000020202020202020202020202020202025B
+:10F59000020202020202020202020202020202024B
+:10F5A000020202020202020202020202020202023B
+:10F5B000020202020202020202020202020202022B
+:10F5C000020202020202020202020202020202021B
+:10F5D000020202020202020202020202020202020B
+:10F5E00002020202020202020202020202020202FB
+:10F5F00002020202020202020202020202020202EB
+:10F6000002020202020202020202020202020202DA
+:10F6100002020202020202020202020202020202CA
+:10F6200002020202020202020202020202020202BA
+:10F6300002020202020202020202020202020202AA
+:10F64000020202020202020202020202020202029A
+:10F65000020202020202020202020202020202028A
+:10F66000020202020202020202020202020202027A
+:10F67000020202020202020202020202020202026A
+:10F68000020202020202020202020202020202025A
+:10F69000020202020202020202020202020202024A
+:10F6A000020202020202020202020202020202023A
+:10F6B000020202020202020202020202020202022A
+:10F6C000020202020202020202020202020202021A
+:10F6D000020202020202020202020202020202020A
+:10F6E00002020202020202020202020202020202FA
+:10F6F00002020202020202020202020202020202EA
+:10F7000002020202020202020202020202020202D9
+:10F7100002020202020202020202020202020202C9
+:10F7200002020202020202020202020202020202B9
+:10F7300002020202020202020202020202020202A9
+:10F740000202020202020202020202020202020299
+:10F750000202020202020202020202020202020289
+:10F760000202020202020202020202020202020279
+:10F770000202020202020202020202020202020269
+:10F780000202020202020202020202020202020259
+:10F790000202020202020202020202020202020249
+:10F7A0000202020202020202020202020202020239
+:10F7B0000202020202020202020202020202020229
+:10F7C0000202020202020202020202020202020219
+:10F7D0000202020202020202020202020202020209
+:10F7E00002020202020202020202020202020202F9
+:10F7F00002020202020202020202020202020202E9
+:10F8000002020202020202020202020202020202D8
+:10F8100002020202020202020202020202020202C8
+:10F8200002020202020202020202020202020202B8
+:10F8300002020202020202020202020202020202A8
+:10F840000202020202020202020202020202020298
+:10F850000202020202020202020202020202020288
+:10F860000202020202020202020202020202020278
+:10F870000202020202020202020202020202020268
+:10F880000202020202020202020202020202020258
+:10F890000202020202020202020202020202020248
+:10F8A0000202020202020202020202020202020238
+:10F8B0000202020202020202020202020202020228
+:10F8C0000202020202020202020202020202020218
+:10F8D0000202020202020202020202020202020208
+:10F8E00002020202020202020202020202020202F8
+:10F8F00002020202020202020202020202020202E8
+:10F9000002020202020202020202020202020202D7
+:10F9100002020202020202020202020202020202C7
+:10F9200002020202020202020202020202020202B7
+:10F9300002020202020202020202020202020202A7
+:10F940000202020202020202020202020202020297
+:10F950000202020202020202020202020202020287
+:10F960000202020202020202020202020202020277
+:10F970000202020202020202020202020202020267
+:10F980000202020202020202020202020202020257
+:10F990000202020202020202020202020202020247
+:10F9A0000202020202020202020202020202020237
+:10F9B0000202020202020202020202020202020227
+:10F9C0000202020202020202020202020202020217
+:10F9D0000202020202020202020202020202020207
+:10F9E00002020202020202020202020202020202F7
+:10F9F00002020202020202020202020202020202E7
+:10FA000002020202020202020202020202020202D6
+:10FA100002020202020202020202020202020202C6
+:10FA200002020202020202020202020202020202B6
+:10FA300002020202020202020202020202020202A6
+:10FA40000202020202020202020202020202020296
+:10FA50000202020202020202020202020202020286
+:10FA60000202020202020202020202020202020276
+:10FA70000202020202020202020202020202020266
+:10FA80000202020202020202020202020202020256
+:10FA90000202020202020202020202020202020246
+:10FAA0000202020202020202020202020202020236
+:10FAB0000202020202020202020202020202020226
+:10FAC0000202020202020202020202020202020216
+:10FAD0000202020202020202020202020202020206
+:10FAE00002020202020202020202020202020202F6
+:10FAF00002020202020202020202020202020202E6
+:10FB000002020202020202020202020202020202D5
+:10FB100002020202020202020202020202020202C5
+:10FB200002020202020202020202020202020202B5
+:10FB300002020202020202020202020202020202A5
+:10FB40000202020202020202020202020202020295
+:10FB50000202020202020202020202020202020285
+:10FB60000202020202020202020202020202020275
+:10FB70000202020202020202020202020202020265
+:10FB80000202020202020202020202020202020255
+:10FB90000202020202020202020202020202020245
+:10FBA0000202020202020202020202020202020235
+:10FBB0000202020202020202020202020202020225
+:10FBC0000202020202020202020202020202020215
+:10FBD0000202020202020202020202020202020205
+:10FBE00002020202020202020202020202020202F5
+:10FBF00002020202020202020202020202020202E5
+:10FC000002020202020202020202020202020202D4
+:10FC100002020202020202020202020202020202C4
+:10FC200002020202020202020202020202020202B4
+:10FC300002020202020202020202020202020202A4
+:10FC40000202020202020202020202020202020294
+:10FC50000202020202020202020202020202020284
+:10FC60000202020202020202020202020202020274
+:10FC70000202020202020202020202020202020264
+:10FC80000202020202020202020202020202020254
+:10FC90000202020202020202020202020202020244
+:10FCA0000202020202020202020202020202020234
+:10FCB0000202020202020202020202020202020224
+:10FCC0000202020202020202020202020202020214
+:10FCD0000202020202020202020202020202020204
+:10FCE00002020202020202020202020202020202F4
+:10FCF00002020202020202020202020202020202E4
+:10FD000002020202020202020202020202020202D3
+:10FD100002020202020202020202020202020202C3
+:10FD200002020202020202020202020202020202B3
+:10FD300002020202020202020202020202020202A3
+:10FD40000202020202020202020202020202020293
+:10FD50000202020202020202020202020202020283
+:10FD60000202020202020202020202020202020273
+:10FD70000202020202020202020202020202020263
+:10FD80000202020202020202020202020202020253
+:10FD90000202020202020202020202020202020243
+:10FDA0000202020202020202020202020202020233
+:10FDB0000202020202020202020202020202020223
+:10FDC0000202020202020202020202020202020213
+:10FDD0000202020202020202020202020202020203
+:10FDE00002020202020202020202020202020202F3
+:10FDF00002020202020202020202020202020202E3
+:10FE000002020202020202020202020202020202D2
+:10FE100002020202020202020202020202020202C2
+:10FE200002020202020202020202020202020202B2
+:10FE300002020202020202020202020202020202A2
+:10FE40000202020202020202020202020202020292
+:10FE50000202020202020202020202020202020282
+:10FE60000202020202020202020202020202020272
+:10FE70000202020202020202020202020202020262
+:10FE80000202020202020202020202020202020252
+:10FE90000202020202020202020202020202020242
+:10FEA0000202020202020202020202020202020232
+:10FEB0000202020202020202020202020202020222
+:10FEC0000202020202020202020202020202020212
+:10FED0000202020202020202020202020202020202
+:10FEE00002020202020202020202020202020202F2
+:10FEF00002020202020202020202020202020202E2
+:10FF000002020202020202020202020202020202D1
+:10FF100002020202020202020202020202020202C1
+:10FF200002020202020202020202020202020202B1
+:10FF300002020202020202020202020202020202A1
+:10FF40000202020202020202020202020202020291
+:10FF50000202020202020202020202020202020281
+:10FF60000202020202020202020202020202020271
+:10FF70000202020202020202020202020202020261
+:10FF80000202020202020202020202020202020251
+:10FF90000202020202020202020202020202020241
+:10FFA0000202020202020202020202020202020231
+:10FFB0000202020202020202020202020202020221
+:10FFC0000202020202020202020202020202020211
+:10FFD0000202020202020202020202020202020201
+:10FFE00002020202020202020202020202020202F1
+:10FFF00002020202020202020202020202020202E1
+:020000021000EC
+:1000000002020202020202020202020202020202D0
+:1000100002020202020202020202020202020202C0
+:1000200002020202020202020202020202020202B0
+:1000300002020202020202020202020202020202A0
+:100040000202020202020202020202020202020290
+:100050000202020202020202020202020202020280
+:100060000202020202020202020202020202020270
+:100070000202020202020202020202020202020260
+:100080000202020202020202020202020202020250
+:100090000202020202020202020202020202020240
+:1000A0000202020202020202020202020202020230
+:1000B0000202020202020202020202020202020220
+:1000C0000202020202020202020202020202020210
+:1000D0000202020202020202020202020202020200
+:1000E00002020202020202020202020202020202F0
+:1000F00002020202020202020202020202020202E0
+:1001000002020202020202020202020202020202CF
+:1001100002020202020202020202020202020202BF
+:1001200002020202020202020202020202020202AF
+:10013000020202020202020202020202020202029F
+:10014000020202020202020202020202020202028F
+:10015000020202020202020202020202020202027F
+:10016000020202020202020202020202020202026F
+:10017000020202020202020202020202020202025F
+:10018000020202020202020202020202020202024F
+:10019000020202020202020202020202020202023F
+:1001A000020202020202020202020202020202022F
+:1001B000020202020202020202020202020202021F
+:1001C000020202020202020202020202020202020F
+:1001D00002020202020202020202020202020202FF
+:1001E00002020202020202020202020202020202EF
+:1001F00002020202020202020202020202020202DF
+:1002000002020202020202020202020202020202CE
+:1002100002020202020202020202020202020202BE
+:1002200002020202020202020202020202020202AE
+:10023000020202020202020202020202020202029E
+:10024000020202020202020202020202020202028E
+:10025000020202020202020202020202020202027E
+:10026000020202020202020202020202020202026E
+:10027000020202020202020202020202020202025E
+:10028000020202020202020202020202020202024E
+:10029000020202020202020202020202020202023E
+:1002A000020202020202020202020202020202022E
+:1002B000020202020202020202020202020202021E
+:1002C000020202020202020202020202020202020E
+:1002D00002020202020202020202020202020202FE
+:1002E00002020202020202020202020202020202EE
+:1002F00002020202020202020202020202020202DE
+:1003000002020202020202020202020202020202CD
+:1003100002020202020202020202020202020202BD
+:1003200002020202020202020202020202020202AD
+:10033000020202020202020202020202020202029D
+:10034000020202020202020202020202020202028D
+:10035000020202020202020202020202020202027D
+:10036000020202020202020202020202020202026D
+:10037000020202020202020202020202020202025D
+:10038000020202020202020202020202020202024D
+:10039000020202020202020202020202020202023D
+:1003A000020202020202020202020202020202022D
+:1003B000020202020202020202020202020202021D
+:1003C000020202020202020202020202020202020D
+:1003D00002020202020202020202020202020202FD
+:1003E00002020202020202020202020202020202ED
+:1003F00002020202020202020202020202020202DD
+:1004000002020202020202020202020202020202CC
+:1004100002020202020202020202020202020202BC
+:1004200002020202020202020202020202020202AC
+:10043000020202020202020202020202020202029C
+:10044000020202020202020202020202020202028C
+:10045000020202020202020202020202020202027C
+:10046000020202020202020202020202020202026C
+:10047000020202020202020202020202020202025C
+:10048000020202020202020202020202020202024C
+:10049000020202020202020202020202020202023C
+:1004A000020202020202020202020202020202022C
+:1004B000020202020202020202020202020202021C
+:1004C000020202020202020202020202020202020C
+:1004D00002020202020202020202020202020202FC
+:1004E00002020202020202020202020202020202EC
+:1004F00002020202020202020202020202020202DC
+:1005000002020202020202020202020202020202CB
+:1005100002020202020202020202020202020202BB
+:1005200002020202020202020202020202020202AB
+:10053000020202020202020202020202020202029B
+:10054000020202020202020202020202020202028B
+:10055000020202020202020202020202020202027B
+:10056000020202020202020202020202020202026B
+:10057000020202020202020202020202020202025B
+:10058000020202020202020202020202020202024B
+:10059000020202020202020202020202020202023B
+:1005A000020202020202020202020202020202022B
+:1005B000020202020202020202020202020202021B
+:1005C000020202020202020202020202020202020B
+:1005D00002020202020202020202020202020202FB
+:1005E00002020202020202020202020202020202EB
+:1005F00002020202020202020202020202020202DB
+:1006000002020202020202020202020202020202CA
+:1006100002020202020202020202020202020202BA
+:1006200002020202020202020202020202020202AA
+:10063000020202020202020202020202020202029A
+:10064000020202020202020202020202020202028A
+:10065000020202020202020202020202020202027A
+:10066000020202020202020202020202020202026A
+:10067000020202020202020202020202020202025A
+:10068000020202020202020202020202020202024A
+:10069000020202020202020202020202020202023A
+:1006A000020202020202020202020202020202022A
+:1006B000020202020202020202020202020202021A
+:1006C000020202020202020202020202020202020A
+:1006D00002020202020202020202020202020202FA
+:1006E00002020202020202020202020202020202EA
+:1006F00002020202020202020202020202020202DA
+:1007000002020202020202020202020202020202C9
+:1007100002020202020202020202020202020202B9
+:1007200002020202020202020202020202020202A9
+:100730000202020202020202020202020202020299
+:100740000202020202020202020202020202020289
+:100750000202020202020202020202020202020279
+:100760000202020202020202020202020202020269
+:100770000202020202020202020202020202020259
+:100780000202020202020202020202020202020249
+:100790000202020202020202020202020202020239
+:1007A0000202020202020202020202020202020229
+:1007B0000202020202020202020202020202020219
+:1007C0000202020202020202020202020202020209
+:1007D00002020202020202020202020202020202F9
+:1007E00002020202020202020202020202020202E9
+:1007F00002020202020202020202020202020202D9
+:1008000002020202020202020202020202020202C8
+:1008100002020202020202020202020202020202B8
+:1008200002020202020202020202020202020202A8
+:100830000202020202020202020202020202020298
+:100840000202020202020202020202020202020288
+:100850000202020202020202020202020202020278
+:100860000202020202020202020202020202020268
+:100870000202020202020202020202020202020258
+:100880000202020202020202020202020202020248
+:100890000202020202020202020202020202020238
+:1008A0000202020202020202020202020202020228
+:1008B0000202020202020202020202020202020218
+:1008C0000202020202020202020202020202020208
+:1008D00002020202020202020202020202020202F8
+:1008E00002020202020202020202020202020202E8
+:1008F00002020202020202020202020202020202D8
+:1009000002020202020202020202020202020202C7
+:1009100002020202020202020202020202020202B7
+:1009200002020202020202020202020202020202A7
+:100930000202020202020202020202020202020297
+:100940000202020202020202020202020202020287
+:100950000202020202020202020202020202020277
+:100960000202020202020202020202020202020267
+:100970000202020202020202020202020202020257
+:100980000202020202020202020202020202020247
+:100990000202020202020202020202020202020237
+:1009A0000202020202020202020202020202020227
+:1009B0000202020202020202020202020202020217
+:1009C0000202020202020202020202020202020207
+:1009D00002020202020202020202020202020202F7
+:1009E00002020202020202020202020202020202E7
+:1009F00002020202020202020202020202020202D7
+:100A000002020202020202020202020202020202C6
+:100A100002020202020202020202020202020202B6
+:100A200002020202020202020202020202020202A6
+:100A30000202020202020202020202020202020296
+:100A40000202020202020202020202020202020286
+:100A50000202020202020202020202020202020276
+:100A60000202020202020202020202020202020266
+:100A70000202020202020202020202020202020256
+:100A80000202020202020202020202020202020246
+:100A90000202020202020202020202020202020236
+:100AA0000202020202020202020202020202020226
+:100AB0000202020202020202020202020202020216
+:100AC0000202020202020202020202020202020206
+:100AD00002020202020202020202020202020202F6
+:100AE00002020202020202020202020202020200E8
+:100AF00000000000000000000000000000000000F6
+:100B000000000000000000000000000000000000E5
+:100B100000000000000000000000000000000000D5
+:100B200000000000000000000000000000000000C5
+:100B300000000000000000000000000000000000B5
+:100B400000000000000000000000000000000000A5
+:100B50000000000000000000000000000000000095
+:100B60000000000000000000000000000000000085
+:100B70000000000000000000000000000000000075
+:100B80000000000000000000000000000000000065
+:100B90000000000000000000000000000000000055
+:100BA0000000000000000000000000000000000045
+:100BB0000000000000000000000000000000000035
+:100BC0000000000000000000000000000000000025
+:100BD0000000000000000000000000000000000015
+:100BE0000000000000000000000000000000004FB6
+:100BF00000000000000000010101010101010101EC
+:100C000001010101010101010101010101010101D4
+:100C100001010101010101010101010101010101C4
+:100C200001010101010101010101010101010101B4
+:100C300001010101010101010101010101010101A4
+:100C40000101010101010101010101010101010194
+:100C50000101010101010101010101010101010184
+:100C60000101010101010101010101010101010174
+:100C70000101010101010101010101010101010164
+:100C80000101010101010101010101010101010154
+:100C90000101010101010101010101010101010144
+:100CA0000101010101010101010101010101010134
+:100CB0000101010101010101010101010101010124
+:100CC0000101010101010101010101010101010114
+:100CD0000101010101010101010101010101010104
+:100CE00001010101010101010101010101010101F4
+:100CF00001010101010101010101010101010101E4
+:100D000001010101010101010101010101010101D3
+:100D100001010101010101010101010101010101C3
+:100D200001010101010101010101010101010101B3
+:100D300001010101010101010101010101010101A3
+:100D40000101010101010101010101010101010193
+:100D50000101010101010101010101010101010183
+:100D60000101010101010101010101010101010173
+:100D70000101010101010101010101010101010163
+:100D80000101010101010101010101010101010153
+:100D90000101010101010101010101010101010143
+:100DA0000101010101010101010101010101010133
+:100DB0000101010101010101010101010101010123
+:100DC0000101010101010101010101010101010113
+:100DD0000101010101010101010101010101010103
+:100DE00001010101010101010101010101010101F3
+:100DF00001010101010101010101010101010101E3
+:100E000001010101010101010101010101010101D2
+:100E100001010101010101010101010101010101C2
+:100E200001010101010101010101010101010101B2
+:100E300001010101010101010101010101010101A2
+:100E40000101010101010101010101010101010192
+:100E50000101010101010101010101010101010182
+:100E60000101010101010101010101010101010172
+:100E70000101010101010101010101010101010162
+:100E80000101010101010101010101010101010152
+:100E90000101010101010101010101010101010142
+:100EA0000101010101010101010101010101010132
+:100EB0000101010101010101010101010101010122
+:100EC0000101010101010101010101010101010112
+:100ED0000101010101010101010101010101010102
+:100EE00001010101010101010101010101010101F2
+:100EF00001010101010101010101010101010101E2
+:100F000001010101010101010101010101010101D1
+:100F100001010101010101010101010101010101C1
+:100F200001010101010101010101010101010101B1
+:100F300001010101010101010101010101010101A1
+:100F40000101010101010101010101010101010191
+:100F50000101010101010101010101010101010181
+:100F60000101010101010101010101010101010171
+:100F70000101010101010101010101010101010161
+:100F80000101010101010101010101010101010151
+:100F90000101010101010101010101010101010141
+:100FA0000101010101010101010101010101010131
+:100FB0000101010101010101010101010101010121
+:100FC0000101010101010101010101010101010111
+:100FD0000101010101010101010101010101010101
+:100FE00001010101010101010101010101010101F1
+:100FF00001010101010101010101010101010101E1
+:1010000001010101010101010101010101010101D0
+:1010100001010101010101010101010101010101C0
+:1010200001010101010101010101010101010101B0
+:1010300001010101010101010101010101010101A0
+:101040000101010101010101010101010101010190
+:101050000101010101010101010101010101010180
+:101060000101010101010101010101010101010170
+:101070000101010101010101010101010101010160
+:101080000101010101010101010101010101010150
+:101090000101010101010101010101010101010140
+:1010A0000101010101010101010101010101010130
+:1010B0000101010101010101010101010101010120
+:1010C0000101010101010101010101010101010110
+:1010D0000101010101010101010101010101010100
+:1010E00001010101010101010101010101010101F0
+:1010F00001010101010101010101010101010101E0
+:1011000001010101010101010101010101010101CF
+:1011100001010101010101010101010101010101BF
+:1011200001010101010101010101010101010101AF
+:10113000010101010101010101010101010101019F
+:10114000010101010101010101010101010101018F
+:10115000010101010101010101010101010101017F
+:10116000010101010101010101010101010101016F
+:10117000010101010101010101010101010101015F
+:10118000010101010101010101010101010101014F
+:10119000010101010101010101010101010101013F
+:1011A000010101010101010101010101010101012F
+:1011B000010101010101010101010101010101011F
+:1011C000010101010101010101010101010101010F
+:1011D00001010101010101010101010101010101FF
+:1011E00001010101010101010101010101010101EF
+:1011F00001010101010101010101010101010101DF
+:1012000001010101010101010101010101010101CE
+:1012100001010101010101010101010101010101BE
+:1012200001010101010101010101010101010101AE
+:10123000010101010101010101010101010101019E
+:10124000010101010101010101010101010101018E
+:10125000010101010101010101010101010101017E
+:10126000010101010101010101010101010101016E
+:10127000010101010101010101010101010101015E
+:10128000010101010101010101010101010101014E
+:10129000010101010101010101010101010101013E
+:1012A000010101010101010101010101010101012E
+:1012B000010101010101010101010101010101011E
+:1012C000010101010101010101010101010101010E
+:1012D00001010101010101010101010101010101FE
+:1012E00001010101010101010101010101010101EE
+:1012F00001010101010101010101010101010101DE
+:1013000001010101010101010101010101010101CD
+:1013100001010101010101010101010101010101BD
+:1013200001010101010101010101010101010101AD
+:10133000010101010101010101010101010101019D
+:10134000010101010101010101010101010101018D
+:10135000010101010101010101010101010101017D
+:10136000010101010101010101010101010101016D
+:10137000010101010101010101010101010101015D
+:10138000010101010101010101010101010101014D
+:10139000010101010101010101010101010101013D
+:1013A000010101010101010101010101010101012D
+:1013B000010101010101010101010101010101011D
+:1013C000010101010101010101010101010101010D
+:1013D00001010101010101010101010101010101FD
+:1013E00001010101010101010101010101010101ED
+:1013F00001010101010101010101010101010101DD
+:1014000001010101010101010101010101010101CC
+:1014100001010101010101010101010101010101BC
+:1014200001010101010101010101010101010101AC
+:10143000010101010101010101010101010101019C
+:10144000010101010101010101010101010101018C
+:10145000010101010101010101010101010101017C
+:10146000010101010101010101010101010101016C
+:10147000010101010101010101010101010101015C
+:10148000010101010101010101010101010101014C
+:10149000010101010101010101010101010101013C
+:1014A000010101010101010101010101010101012C
+:1014B000010101010101010101010101010101011C
+:1014C000010101010101010101010101010101010C
+:1014D00001010101010101010101010101010101FC
+:1014E00001010101010101010101010101010101EC
+:1014F00001010101010101010101010101010101DC
+:1015000001010101010101010101010101010101CB
+:1015100001010101010101010101010101010101BB
+:1015200001010101010101010101010101010101AB
+:10153000010101010101010101010101010101019B
+:10154000010101010101010101010101010101018B
+:10155000010101010101010101010101010101017B
+:10156000010101010101010101010101010101016B
+:10157000010101010101010101010101010101015B
+:10158000010101010101010101010101010101014B
+:10159000010101010101010101010101010101013B
+:1015A000010101010101010101010101010101012B
+:1015B000010101010101010101010101010101011B
+:1015C000010101010101010101010101010101010B
+:1015D00001010101010101010101010101010101FB
+:1015E00001010101010101010101010101010101EB
+:1015F00001010101010101010101010101010101DB
+:1016000001010101010101010101010101010101CA
+:1016100001010101010101010101010101010101BA
+:1016200001010101010101010101010101010101AA
+:10163000010101010101010101010101010101019A
+:10164000010101010101010101010101010101018A
+:10165000010101010101010101010101010101017A
+:10166000010101010101010101010101010101016A
+:10167000010101010101010101010101010101015A
+:10168000010101010101010101010101010101014A
+:10169000010101010101010101010101010101013A
+:1016A000010101010101010101010101010101012A
+:1016B000010101010101010101010101010101011A
+:1016C000010101010101010101010101010101010A
+:1016D00001010101010101010101010101010101FA
+:1016E00001010101010101010101010101010101EA
+:1016F00001010101010101010101010101010101DA
+:1017000001010101010101010101010101010101C9
+:1017100001010101010101010101010101010101B9
+:1017200001010101010101010101010101010101A9
+:101730000101010101010101010101010101010199
+:101740000101010101010101010101010101010189
+:101750000101010101010101010101010101010179
+:101760000101010101010101010101010101010169
+:101770000101010101010101010101010101010159
+:101780000101010101010101010101010101010149
+:101790000101010101010101010101010101010139
+:1017A0000101010101010101010101010101010129
+:1017B0000101010101010101010101010101010119
+:1017C0000101010101010101010101010101010109
+:1017D00001010101010101010101010101010101F9
+:1017E00001010101010101010101010101010101E9
+:1017F00001010101010101010101010101010101D9
+:1018000001010101010101010101010101010101C8
+:1018100001010101010101010101010101010101B8
+:1018200001010101010101010101010101010101A8
+:101830000101010101010101010101010101010198
+:101840000101010101010101010101010101010188
+:101850000101010101010101010101010101010178
+:101860000101010101010101010101010101010168
+:101870000101010101010101010101010101010158
+:101880000101010101010101010101010101010148
+:101890000101010101010101010101010101010138
+:1018A0000101010101010101010101010101010128
+:1018B0000101010101010101010101010101010118
+:1018C0000101010101010101010101010101010108
+:1018D00001010101010101010101010101010101F8
+:1018E00001010101010101010101010101010101E8
+:1018F00001010101010101010101010101010101D8
+:1019000001010101010101010101010101010101C7
+:1019100001010101010101010101010101010101B7
+:1019200001010101010101010101010101010101A7
+:101930000101010101010101010101010101010197
+:101940000101010101010101010101010101010187
+:101950000101010101010101010101010101010177
+:101960000101010101010101010101010101010167
+:101970000101010101010101010101010101010157
+:101980000101010101010101010101010101010147
+:101990000101010101010101010101010101010137
+:1019A0000101010101010101010101010101010127
+:1019B0000101010101010101010101010101010117
+:1019C0000101010101010101010101010101010107
+:1019D00001010101010101010101010101010101F7
+:1019E00001010101010101010101010101010101E7
+:1019F00001010101010101010101010101010101D7
+:101A000001010101010101010101010101010101C6
+:101A100001010101010101010101010101010101B6
+:101A200001010101010101010101010101010101A6
+:101A30000101010101010101010101010101010196
+:101A40000101010101010101010101010101010186
+:101A50000101010101010101010101010101010176
+:101A60000101010101010101010101010101010166
+:101A70000101010101010101010101010101010156
+:101A80000101010101010101010101010101010146
+:101A90000101010101010101010101010101010136
+:101AA0000101010101010101010101010101010126
+:101AB0000101010101010101010101010101010116
+:101AC0000101010101010101010101010101010106
+:101AD00001010101010101010101010101010101F6
+:101AE00001010101010101010101010101010101E6
+:101AF00001010101010101010101010101010101D6
+:101B000001010101010101010101010101010101C5
+:101B100001010101010101010101010101010101B5
+:101B200001010101010101010101010101010101A5
+:101B30000101010101010101010101010101010195
+:101B40000101010101010101010101010101010185
+:101B50000101010101010101010101010101010175
+:101B60000101010101010101010101010101010165
+:101B70000101010101010101010101010101010155
+:101B80000101010101010101010101010101010145
+:101B90000101010101010101010101010101010135
+:101BA0000101010101010101010101010101010125
+:101BB0000101010101010101010101010101010115
+:101BC0000101010101010101010101010101010105
+:101BD00001010101010101010101010101010101F5
+:101BE00001010101010101010101010101010101E5
+:101BF00001010101010101010101010101010101D5
+:101C000001010101010101010101010101010101C4
+:101C100001010101010101010101010101010101B4
+:101C200001010101010101010101010101010101A4
+:101C30000101010101010101010101010101010194
+:101C40000101010101010101010101010101010184
+:101C50000101010101010101010101010101010174
+:101C60000101010101010101010101010101010164
+:101C70000101010101010101010101010101010154
+:101C80000101010101010101010101010101010144
+:101C90000101010101010101010101010101010134
+:101CA0000101010101010101010101010101010124
+:101CB0000101010101010101010101010101010114
+:101CC0000101010101010101010101010101010104
+:101CD00001010101010101010101010101010101F4
+:101CE00001010101010101010101010101010101E4
+:101CF00001010101010101010101010101010101D4
+:101D000001010101010101010101010101010101C3
+:101D100001010101010101010101010101010101B3
+:101D200001010101010101010101010101010101A3
+:101D30000101010101010101010101010101010193
+:101D40000101010101010101010101010101010183
+:101D50000101010101010101010101010101010173
+:101D60000101010101010101010101010101010163
+:101D70000101010101010101010101010101010153
+:101D80000101010101010101010101010101010143
+:101D90000101010101010101010101010101010133
+:101DA0000101010101010101010101010101010123
+:101DB0000101010101010101010101010101010113
+:101DC0000101010101010101010101010101010103
+:101DD00001010101010101010101010101010101F3
+:101DE00001010101010101010101010101010101E3
+:101DF00001010101010101010101010101010101D3
+:101E000001010101010101010101010101010101C2
+:101E100001010101010101010101010101010101B2
+:101E200001010101010101010101010101010101A2
+:101E30000101010101010101010101010101010192
+:101E40000101010101010101010101010101010182
+:101E50000101010101010101010101010101010172
+:101E60000101010101010101010101010101010162
+:101E70000101010101010101010101010101010152
+:101E80000101010101010101010101010101010142
+:101E90000101010101010101010101010101010132
+:101EA0000101010101010101010101010101010122
+:101EB0000101010101010101010101010101010112
+:101EC0000101010101010101010101010101010102
+:101ED00001010101010101010101010101010101F2
+:101EE00001010101010101010101010101010101E2
+:101EF00001010101010101010101010101010101D2
+:101F000001010101010101010101010101010101C1
+:101F100001010101010101010101010101010101B1
+:101F200001010101010101010101010101010101A1
+:101F30000101010101010101010101010101010191
+:101F40000101010101010101010101010101010181
+:101F50000101010101010101010101010101010171
+:101F60000101010101010101010101010101010161
+:101F70000101010101010101010101010101010151
+:101F80000101010101010101010101010101010141
+:101F90000101010101010101010101010101010131
+:101FA0000101010101010101010101010101010121
+:101FB0000101010101010101010101010101010111
+:101FC0000101010101010101010101010101010101
+:101FD00001010101010101010101010101010101F1
+:101FE00001010101010101010101010101010101E1
+:101FF00001010101010101010101010101010101D1
+:1020000001010101010101010101010101010101C0
+:1020100001010101010101010101010101010101B0
+:1020200001010101010101010101010101010101A0
+:102030000101010101010101010101010101010190
+:102040000101010101010101010101010101010180
+:102050000101010101010101010101010101010170
+:102060000101010101010101010101010101010160
+:102070000101010101010101010101010101010150
+:102080000101010101010101010101010101010140
+:102090000101010101010101010101010101010130
+:1020A0000101010101010101010101010101010120
+:1020B0000101010101010101010101010101010110
+:1020C0000101010101010101010101010101010100
+:1020D00001010101010101010101010101010101F0
+:1020E00001010101010101010101010101010101E0
+:1020F00001010101010101010101010101010101D0
+:1021000001010101010101010101010101010101BF
+:1021100001010101010101010101010101010101AF
+:10212000010101010101010101010101010101019F
+:10213000010101010101010101010101010101018F
+:10214000010101010101010101010101010101017F
+:10215000010101010101010101010101010101016F
+:10216000010101010101010101010101010101015F
+:10217000010101010101010101010101010101014F
+:10218000010101010101010101010101010101013F
+:10219000010101010101010101010101010101012F
+:1021A000010101010101010101010101010101011F
+:1021B000010101010101010101010101010101010F
+:1021C00001010101010101010101010101010101FF
+:1021D00001010101010101010101010101010101EF
+:1021E00001010101010101010101010101010101DF
+:1021F00001010101010101010101010101010101CF
+:1022000001010101010101010101010101010101BE
+:1022100001010101010101010101010101010101AE
+:10222000010101010101010101010101010101019E
+:10223000010101010101010101010101010101018E
+:10224000010101010101010101010101010101017E
+:10225000010101010101010101010101010101016E
+:10226000010101010101010101010101010101015E
+:10227000010101010101010101010101010101014E
+:10228000010101010101010101010101010101013E
+:10229000010101010101010101010101010101012E
+:1022A000010101010101010101010101010101011E
+:1022B000010101010101010101010101010101010E
+:1022C00001010101010101010101010101010101FE
+:1022D00001010101010101010101010101010101EE
+:1022E00001010101010101010101010101010101DE
+:1022F00001010101010101010101010101010101CE
+:1023000001010101010101010101010101010101BD
+:1023100001010101010101010101010101010101AD
+:10232000010101010101010101010101010101019D
+:10233000010101010101010101010101010101018D
+:10234000010101010101010101010101010101017D
+:10235000010101010101010101010101010101016D
+:10236000010101010101010101010101010101015D
+:10237000010101010101010101010101010101014D
+:10238000010101010101010101010101010101013D
+:10239000010101010101010101010101010101012D
+:1023A000010101010101010101010101010101011D
+:1023B000010101010101010101010101010101010D
+:1023C00001010101010101010101010101010101FD
+:1023D00001010101010101010101010101010101ED
+:1023E00001010101010101010101010101010101DD
+:1023F00001010101010101010101010101010101CD
+:1024000001010101010101010101010101010101BC
+:1024100001010101010101010101010101010101AC
+:10242000010101010101010101010101010101019C
+:10243000010101010101010101010101010101018C
+:10244000010101010101010101010101010101017C
+:10245000010101010101010101010101010101016C
+:10246000010101010101010101010101010101015C
+:10247000010101010101010101010101010101014C
+:10248000010101010101010101010101010101013C
+:10249000010101010101010101010101010101012C
+:1024A000010101010101010101010101010101011C
+:1024B000010101010101010101010101010101010C
+:1024C00001010101010101010101010101010101FC
+:1024D00001010101010101010101010101010101EC
+:1024E00001010101010101010101010101010101DC
+:1024F00001010101010101010101010101010101CC
+:1025000001010101010101010101010101010101BB
+:1025100001010101010101010101010101010101AB
+:10252000010101010101010101010101010101019B
+:10253000010101010101010101010101010101018B
+:10254000010101010101010101010101010101017B
+:10255000010101010101010101010101010101016B
+:10256000010101010101010101010101010101015B
+:10257000010101010101010101010101010101014B
+:10258000010101010101010101010101010101013B
+:10259000010101010101010101010101010101012B
+:1025A000010101010101010101010101010101011B
+:1025B000010101010101010101010101010101010B
+:1025C00001010101010101010101010101010101FB
+:1025D00001010101010101010101010101010101EB
+:1025E00001010101010101010101010101010101DB
+:1025F00001010101010101010101010101010101CB
+:1026000001010101010101010101010101010101BA
+:1026100001010101010101010101010101010101AA
+:10262000010101010101010101010101010101019A
+:10263000010101010101010101010101010101018A
+:10264000010101010101010101010101010101017A
+:10265000010101010101010101010101010101016A
+:10266000010101010101010101010101010101015A
+:10267000010101010101010101010101010101014A
+:10268000010101010101010101010101010101013A
+:10269000010101010101010101010101010101012A
+:1026A000010101010101010101010101010101011A
+:1026B000010101010101010101010101010101010A
+:1026C00001010101010101010101010101010101FA
+:1026D00001010101010101010101010101010101EA
+:1026E00001010101010101010101010101010101DA
+:1026F00001010101010101010101010101010101CA
+:1027000001010101010101010101010101010101B9
+:1027100001010101010101010101010101010101A9
+:102720000101010101010101010101010101010199
+:102730000101010101010101010101010101010189
+:102740000101010101010101010101010101010179
+:102750000101010101010101010101010101010169
+:102760000101010101010101010101010101010159
+:102770000101010101010101010101010101010149
+:102780000101010101010101010101010101010139
+:102790000101010101010101010101010101010129
+:1027A0000101010101010101010101010101010119
+:1027B0000101010101010101010101010101010109
+:1027C00001010101010101010101010101010101F9
+:1027D00001010101010101010101010101010101E9
+:1027E00001010101010101010101010101010101D9
+:1027F00001010101010101010101010101010101C9
+:1028000001010101010101010101010101010101B8
+:1028100001010101010101010101010101010101A8
+:102820000101010101010101010101010101010198
+:102830000101010101010101010101010101010188
+:102840000101010101010101010101010101010178
+:102850000101010101010101010101010101010168
+:102860000101010101010101010101010101010158
+:102870000101010101010101010101010101010148
+:102880000101010101010101010101010101010138
+:102890000101010101010101010101010101010128
+:1028A0000101010101010101010101010101010118
+:1028B0000101010101010101010101010101010108
+:1028C00001010101010101010101010101010101F8
+:1028D00001010101010101010101010101010101E8
+:1028E00001010101010101010101010101010101D8
+:1028F00001010101010101010101010101010101C8
+:1029000001010101010101010101010101010101B7
+:1029100001010101010101010101010101010101A7
+:102920000101010101010101010101010101010197
+:102930000101010101010101010101010101010187
+:102940000101010101010101010101010101010177
+:102950000101010101010101010101010101010167
+:102960000101010101010101010101010101010157
+:102970000101010101010101010101010101010147
+:102980000101010101010101010101010101010137
+:102990000101010101010101010101010101010127
+:1029A0000101010101010101010101010101010117
+:1029B0000101010101010101010101010101010107
+:1029C00001010101010101010101010101010101F7
+:1029D00001010101010101010101010101010101E7
+:1029E00001010101010101010101010101010101D7
+:1029F00001010101010101010101010101010101C7
+:102A000001010101010101010101010101010101B6
+:102A100001010101010101010101010101010101A6
+:102A20000101010101010101010101010101010196
+:102A30000101010101010101010101010101010186
+:102A40000101010101010101010101010101010176
+:102A50000101010101010101010101010101010166
+:102A60000101010101010101010101010101010156
+:102A70000101010101010101010101010101010146
+:102A80000101010101010101010101010101010136
+:102A90000101010101010101010101010101010126
+:102AA0000101010101010101010101010101010116
+:102AB0000101010101010101010101010101010106
+:102AC00001010101010101010101010101010101F6
+:102AD00001010101010101010101010101010101E6
+:102AE00001010101010101010101010101010101D6
+:102AF00001010101010101010101010101010101C6
+:102B000001010101010101010101010101010101B5
+:102B100001010101010101010101010101010101A5
+:102B20000101010101010101010101010101010195
+:102B30000101010101010101010101010101010185
+:102B40000101010101010101010101010101010175
+:102B50000101010101010101010101010101010165
+:102B60000101010101010101010101010101010155
+:102B70000101010101010101010101010101010145
+:102B80000101010101010101010101010101010135
+:102B90000101010101010101010101010101010125
+:102BA0000101010101010101010101010101010115
+:102BB0000101010101010101010101010101010105
+:102BC00001010101010101010101010101010101F5
+:102BD00001010101010101010101010101010101E5
+:102BE00001010101010101010101010101010101D5
+:102BF00001010101010101010101010101010101C5
+:102C000001010101010101010101010101010101B4
+:102C100001010101010101010101010101010101A4
+:102C20000101010101010101010101010101010194
+:102C30000101010101010101010101010101010184
+:102C40000101010101010101010101010101010174
+:102C50000101010101010101010101010101010164
+:102C60000101010101010101010101010101010154
+:102C70000101010101010101010101010101010144
+:102C80000101010101010101010101010101010134
+:102C90000101010101010101010101010101010124
+:102CA0000101010101010101010101010101010114
+:102CB0000101010101010101010101010101010104
+:102CC00001010101010101010101010101010101F4
+:102CD00001010101010101010101010101010101E4
+:102CE00001010101010101010101010101010101D4
+:102CF00001010101010101010101010101010101C4
+:102D000001010101010101010101010101010101B3
+:102D100001010101010101010101010101010101A3
+:102D20000101010101010101010101010101010193
+:102D30000101010101010101010101010101010183
+:102D40000101010101010101010101010101010173
+:102D50000101010101010101010101010101010163
+:102D60000101010101010101010101010101010153
+:102D70000101010101010101010101010101010143
+:102D80000101010101010101010101010101010133
+:102D90000101010101010101010101010101010123
+:102DA0000101010101010101010101010101010113
+:102DB0000101010101010101010101010101010103
+:102DC00001010101010101010101010101010101F3
+:102DD00001010101010101010101010101010101E3
+:102DE00001010101010101010101010101010101D3
+:102DF00001010101010101010101010101010101C3
+:102E000001010101010101010101010101010101B2
+:102E100001010101010101010101010101010101A2
+:102E20000101010101010101010101010101010192
+:102E30000101010101010101010101010101010182
+:102E40000101010101010101010101010101010172
+:102E50000101010101010101010101010101010162
+:102E60000101010101010101010101010101010152
+:102E70000101010101010101010101010101010142
+:102E80000101010101010101010101010101010132
+:102E90000101010101010101010101010101010122
+:102EA0000101010101010101010101010101010112
+:102EB0000101010101010101010101010101010102
+:102EC00001010101010101010101010101010101F2
+:102ED00001010101010101010101010101010101E2
+:102EE00001010101010101010101010101010101D2
+:102EF00001010101010101010101010101010101C2
+:102F000001010101010101010101010101010101B1
+:102F100001010101010101010101010101010101A1
+:102F20000101010101010101010101010101010191
+:102F30000101010101010101010101010101010181
+:102F40000101010101010101010101010101010171
+:102F50000101010101010101010101010101010161
+:102F60000101010101010101010101010101010151
+:102F70000101010101010101010101010101010141
+:102F80000101010101010101010101010101010131
+:102F90000101010101010101010101010101010121
+:102FA0000101010101010101010101010101010111
+:102FB0000101010101010101010101010101010101
+:102FC00001010101010101010101010101010101F1
+:102FD00001010101010101010101010101010101E1
+:102FE00001010101010101010101010101010101D1
+:102FF00001010101010101010101010101010101C1
+:1030000001010101010101010101010101010101B0
+:1030100001010101010101010101010101010101A0
+:103020000101010101010101010101010101010190
+:103030000101010101010101010101010101010180
+:103040000101010101010101010101010101010170
+:103050000101010101010101010101010101010160
+:103060000101010101010101010101010101010150
+:103070000101010101010101010101010101010140
+:103080000101010101010101010101010101010130
+:103090000101010101010101010101010101010120
+:1030A0000101010101010101010101010101010110
+:1030B0000101010101010101010101010101010100
+:1030C00001010101010101010101010101010101F0
+:1030D00001010101010101010101010101010101E0
+:1030E00001010101010101010101010101010101D0
+:1030F00001010101010101000000000000000000C9
+:1031000000000000000000000000000000000000BF
+:1031100000000000000000000000000000000000AF
+:10312000000000000000000000000000000000009F
+:10313000000000000000000000000000000000008F
+:10314000000000000000000000000000000000007F
+:10315000000000000000000000000000000000006F
+:10316000000000000000000000000000000000005F
+:10317000000000000000000000000000000000004F
+:10318000000000000000000000000000000000003F
+:10319000000000000000000000000000000000002F
+:1031A000000000000000000000000000000000001F
+:1031B000000000000000000000000000000000000F
+:1031C00000000000000000000000000000000000FF
+:1031D00000000000000000000000000000000000EF
+:1031E00000000000000000000000000000000000DF
+:1031F00000000000000000000000000000000000CF
+:1032000000000000000000000000000000000000BE
+:1032100000000000000000000000000000000000AE
+:10322000000000000000000000000000000000009E
+:10323000000000000000000000000000000000008E
+:10324000000000000000000000000000000000007E
+:10325000000000000000000000000000000000006E
+:10326000000000000000000000000000000000005E
+:10327000000000000000000000000000000000004E
+:10328000000000000000000000000000000000003E
+:10329000000000000000000000000000000000002E
+:1032A000000000000000000000000000000000001E
+:1032B000000000000000000000000000000000000E
+:1032C00000000000000000000000000000000000FE
+:1032D00000000000000000000000000000000000EE
+:1032E00000000000000000000000000000000000DE
+:1032F00000000000000000000000000000000000CE
+:1033000000000000000000000000000000000000BD
+:1033100000000000000000000000000000000000AD
+:10332000000000000000000000000000000000009D
+:10333000000000000000000000000000000000008D
+:10334000000000000000000000000000000000007D
+:10335000000000000000000000000000000000006D
+:10336000000000000000000000000000000000005D
+:10337000000000000000000000000000000000004D
+:10338000000000000000000000000000000000003D
+:10339000000000000000000000000000000000002D
+:1033A000000000000000000000000000000000001D
+:1033B000000000000000000000000000000000000D
+:1033C00000000000000000000000000000000000FD
+:1033D00000000000000000000000000000000000ED
+:1033E00000000000000000000000000000000000DD
+:1033F00000000000000000000000000000000000CD
+:1034000000000000000000000000000000000000BC
+:1034100000000000000000000000000000000000AC
+:10342000000000000000000000000000000000009C
+:10343000000000000000000000000000000000008C
+:10344000000000000000000000000000000000007C
+:10345000000000000000000000000000000000006C
+:10346000000000000000000000000000000000005C
+:10347000000000000000000000000000000000004C
+:10348000000000000000000000000000000000003C
+:10349000000000000000000000000000000000002C
+:1034A000000000000000000000000000000000001C
+:1034B000000000000000000000000000000000000C
+:1034C00000000000000000000000000000000000FC
+:1034D00000000000000000000000000000000000EC
+:1034E00000000000000000000000000000000000DC
+:1034F00000000000000000020202020202020202BA
+:10350000020202020202020202020202020202029B
+:10351000020202020202020202020202020202028B
+:10352000020202020202020202020202020202027B
+:10353000020202020202020202020202020202026B
+:10354000020202020202020202020202020202025B
+:10355000020202020202020202020202020202024B
+:10356000020202020202020202020202020202023B
+:10357000020202020202020202020202020202022B
+:10358000020202020202020202020202020202021B
+:10359000020202020202020202020202020202020B
+:1035A00002020202020202020202020202020202FB
+:1035B00002020202020202020202020202020202EB
+:1035C00002020202020202020202020202020202DB
+:1035D00002020202020202020202020202020202CB
+:1035E00002020202020202020202020202020202BB
+:1035F00002020202020202020202020202020202AB
+:10360000020202020202020202020202020202029A
+:10361000020202020202020202020202020202028A
+:10362000020202020202020202020202020202027A
+:10363000020202020202020202020202020202026A
+:10364000020202020202020202020202020202025A
+:10365000020202020202020202020202020202024A
+:10366000020202020202020202020202020202023A
+:10367000020202020202020202020202020202022A
+:10368000020202020202020202020202020202021A
+:10369000020202020202020202020202020202020A
+:1036A00002020202020202020202020202020202FA
+:1036B00002020202020202020202020202020202EA
+:1036C00002020202020202020202020202020202DA
+:1036D00002020202020202020202020202020202CA
+:1036E00002020202020202020202020202020202BA
+:1036F00002020202020202020202020202020202AA
+:103700000202020202020202020202020202020299
+:103710000202020202020202020202020202020289
+:103720000202020202020202020202020202020279
+:103730000202020202020202020202020202020269
+:103740000202020202020202020202020202020259
+:103750000202020202020202020202020202020249
+:103760000202020202020202020202020202020239
+:103770000202020202020202020202020202020229
+:103780000202020202020202020202020202020219
+:103790000202020202020202020202020202020209
+:1037A00002020202020202020202020202020202F9
+:1037B00002020202020202020202020202020202E9
+:1037C00002020202020202020202020202020202D9
+:1037D00002020202020202020202020202020202C9
+:1037E00002020202020202020202020202020202B9
+:1037F00002020202020202020202020202020202A9
+:103800000202020202020202020202020202020298
+:103810000202020202020202020202020202020288
+:103820000202020202020202020202020202020278
+:103830000202020202020202020202020202020268
+:103840000202020202020202020202020202020258
+:103850000202020202020202020202020202020248
+:103860000202020202020202020202020202020238
+:103870000202020202020202020202020202020228
+:103880000202020202020202020202020202020218
+:103890000202020202020202020202020202020208
+:1038A00002020202020202020202020202020202F8
+:1038B00002020202020202020202020202020202E8
+:1038C00002020202020202020202020202020202D8
+:1038D00002020202020202020202020202020202C8
+:1038E00002020202020202020202020202020202B8
+:1038F00002020202020202020202020202020202A8
+:103900000202020202020202020202020202020297
+:103910000202020202020202020202020202020287
+:103920000202020202020202020202020202020277
+:103930000202020202020202020202020202020267
+:103940000202020202020202020202020202020257
+:103950000202020202020202020202020202020247
+:103960000202020202020202020202020202020237
+:103970000202020202020202020202020202020227
+:103980000202020202020202020202020202020217
+:103990000202020202020202020202020202020207
+:1039A00002020202020202020202020202020202F7
+:1039B00002020202020202020202020202020202E7
+:1039C00002020202020202020202020202020202D7
+:1039D00002020202020202020202020202020202C7
+:1039E00002020202020202020202020202020202B7
+:1039F00002020202020202020202020202020202A7
+:103A00000202020202020202020202020202020296
+:103A10000202020202020202020202020202020286
+:103A20000202020202020202020202020202020276
+:103A30000202020202020202020202020202020266
+:103A40000202020202020202020202020202020256
+:103A50000202020202020202020202020202020246
+:103A60000202020202020202020202020202020236
+:103A70000202020202020202020202020202020226
+:103A80000202020202020202020202020202020216
+:103A90000202020202020202020202020202020206
+:103AA00002020202020202020202020202020202F6
+:103AB00002020202020202020202020202020202E6
+:103AC00002020202020202020202020202020202D6
+:103AD00002020202020202020202020202020202C6
+:103AE00002020202020202020202020202020202B6
+:103AF00002020202020202020202020202020202A6
+:103B00000202020202020202020202020202020295
+:103B10000202020202020202020202020202020285
+:103B20000202020202020202020202020202020275
+:103B30000202020202020202020202020202020265
+:103B40000202020202020202020202020202020255
+:103B50000202020202020202020202020202020245
+:103B60000202020202020202020202020202020235
+:103B70000202020202020202020202020202020225
+:103B80000202020202020202020202020202020215
+:103B90000202020202020202020202020202020205
+:103BA00002020202020202020202020202020202F5
+:103BB00002020202020202020202020202020202E5
+:103BC00002020202020202020202020202020202D5
+:103BD00002020202020202020202020202020202C5
+:103BE00002020202020202020202020202020202B5
+:103BF00002020202020202020202020202020202A5
+:103C00000202020202020202020202020202020294
+:103C10000202020202020202020202020202020284
+:103C20000202020202020202020202020202020274
+:103C30000202020202020202020202020202020264
+:103C40000202020202020202020202020202020254
+:103C50000202020202020202020202020202020244
+:103C60000202020202020202020202020202020234
+:103C70000202020202020202020202020202020224
+:103C80000202020202020202020202020202020214
+:103C90000202020202020202020202020202020204
+:103CA00002020202020202020202020202020202F4
+:103CB00002020202020202020202020202020202E4
+:103CC00002020202020202020202020202020202D4
+:103CD00002020202020202020202020202020202C4
+:103CE00002020202020202020202020202020202B4
+:103CF00002020202020202020202020202020202A4
+:103D00000202020202020202020202020202020293
+:103D10000202020202020202020202020202020283
+:103D20000202020202020202020202020202020273
+:103D30000202020202020202020202020202020263
+:103D40000202020202020202020202020202020253
+:103D50000202020202020202020202020202020243
+:103D60000202020202020202020202020202020233
+:103D70000202020202020202020202020202020223
+:103D80000202020202020202020202020202020213
+:103D90000202020202020202020202020202020203
+:103DA00002020202020202020202020202020202F3
+:103DB00002020202020202020202020202020202E3
+:103DC00002020202020202020202020202020202D3
+:103DD00002020202020202020202020202020202C3
+:103DE00002020202020202020202020202020202B3
+:103DF00002020202020202020202020202020202A3
+:103E00000202020202020202020202020202020292
+:103E10000202020202020202020202020202020282
+:103E20000202020202020202020202020202020272
+:103E30000202020202020202020202020202020262
+:103E40000202020202020202020202020202020252
+:103E50000202020202020202020202020202020242
+:103E60000202020202020202020202020202020232
+:103E70000202020202020202020202020202020222
+:103E80000202020202020202020202020202020212
+:103E90000202020202020202020202020202020202
+:103EA00002020202020202020202020202020202F2
+:103EB00002020202020202020202020202020202E2
+:103EC00002020202020202020202020202020202D2
+:103ED00002020202020202020202020202020202C2
+:103EE00002020202020202020202020202020202B2
+:103EF00002020202020202020202020202020202A2
+:103F00000202020202020202020202020202020291
+:103F10000202020202020202020202020202020281
+:103F20000202020202020202020202020202020271
+:103F30000202020202020202020202020202020261
+:103F40000202020202020202020202020202020251
+:103F50000202020202020202020202020202020241
+:103F60000202020202020202020202020202020231
+:103F70000202020202020202020202020202020221
+:103F80000202020202020202020202020202020211
+:103F90000202020202020202020202020202020201
+:103FA00002020202020202020202020202020202F1
+:103FB00002020202020202020202020202020202E1
+:103FC00002020202020202020202020202020202D1
+:103FD00002020202020202020202020202020202C1
+:103FE00002020202020202020202020202020202B1
+:103FF00002020202020202020202020202020202A1
+:104000000202020202020202020202020202020290
+:104010000202020202020202020202020202020280
+:104020000202020202020202020202020202020270
+:104030000202020202020202020202020202020260
+:104040000202020202020202020202020202020250
+:104050000202020202020202020202020202020240
+:104060000202020202020202020202020202020230
+:104070000202020202020202020202020202020220
+:104080000202020202020202020202020202020210
+:104090000202020202020202020202020202020200
+:1040A00002020202020202020202020202020202F0
+:1040B00002020202020202020202020202020202E0
+:1040C00002020202020202020202020202020202D0
+:1040D00002020202020202020202020202020202C0
+:1040E00002020202020202020202020202020202B0
+:1040F00002020202020202020202020202020202A0
+:10410000020202020202020202020202020202028F
+:10411000020202020202020202020202020202027F
+:10412000020202020202020202020202020202026F
+:10413000020202020202020202020202020202025F
+:10414000020202020202020202020202020202024F
+:10415000020202020202020202020202020202023F
+:10416000020202020202020202020202020202022F
+:10417000020202020202020202020202020202021F
+:10418000020202020202020202020202020202020F
+:1041900002020202020202020202020202020202FF
+:1041A00002020202020202020202020202020202EF
+:1041B00002020202020202020202020202020202DF
+:1041C00002020202020202020202020202020202CF
+:1041D00002020202020202020202020202020202BF
+:1041E00002020202020202020202020202020202AF
+:1041F000020202020202020202020202020202029F
+:10420000020202020202020202020202020202028E
+:10421000020202020202020202020202020202027E
+:10422000020202020202020202020202020202026E
+:10423000020202020202020202020202020202025E
+:10424000020202020202020202020202020202024E
+:10425000020202020202020202020202020202023E
+:10426000020202020202020202020202020202022E
+:10427000020202020202020202020202020202021E
+:10428000020202020202020202020202020202020E
+:1042900002020202020202020202020202020202FE
+:1042A00002020202020202020202020202020202EE
+:1042B00002020202020202020202020202020202DE
+:1042C00002020202020202020202020202020202CE
+:1042D00002020202020202020202020202020202BE
+:1042E00002020202020202020202020202020202AE
+:1042F000020202020202020202020202020202029E
+:10430000020202020202020202020202020202028D
+:10431000020202020202020202020202020202027D
+:10432000020202020202020202020202020202026D
+:10433000020202020202020202020202020202025D
+:10434000020202020202020202020202020202024D
+:10435000020202020202020202020202020202023D
+:10436000020202020202020202020202020202022D
+:10437000020202020202020202020202020202021D
+:10438000020202020202020202020202020202020D
+:1043900002020202020202020202020202020202FD
+:1043A00002020202020202020202020202020202ED
+:1043B00002020202020202020202020202020202DD
+:1043C00002020202020202020202020202020202CD
+:1043D00002020202020202020202020202020202BD
+:1043E00002020202020202020202020202020202AD
+:1043F000020202020202020202020202020202029D
+:10440000020202020202020202020202020202028C
+:10441000020202020202020202020202020202027C
+:10442000020202020202020202020202020202026C
+:10443000020202020202020202020202020202025C
+:10444000020202020202020202020202020202024C
+:10445000020202020202020202020202020202023C
+:10446000020202020202020202020202020202022C
+:10447000020202020202020202020202020202021C
+:10448000020202020202020202020202020202020C
+:1044900002020202020202020202020202020202FC
+:1044A00002020202020202020202020202020202EC
+:1044B00002020202020202020202020202020202DC
+:1044C00002020202020202020202020202020202CC
+:1044D00002020202020202020202020202020202BC
+:1044E00002020202020202020202020202020202AC
+:1044F000020202020202020202020202020202029C
+:10450000020202020202020202020202020202028B
+:10451000020202020202020202020202020202027B
+:10452000020202020202020202020202020202026B
+:10453000020202020202020202020202020202025B
+:10454000020202020202020202020202020202024B
+:10455000020202020202020202020202020202023B
+:10456000020202020202020202020202020202022B
+:10457000020202020202020202020202020202021B
+:10458000020202020202020202020202020202020B
+:1045900002020202020202020202020202020202FB
+:1045A00002020202020202020202020202020202EB
+:1045B00002020202020202020202020202020202DB
+:1045C00002020202020202020202020202020202CB
+:1045D00002020202020202020202020202020202BB
+:1045E00002020202020202020202020202020202AB
+:1045F000020202020202020202020202020202029B
+:10460000020202020202020202020202020202028A
+:10461000020202020202020202020202020202027A
+:10462000020202020202020202020202020202026A
+:10463000020202020202020202020202020202025A
+:10464000020202020202020202020202020202024A
+:10465000020202020202020202020202020202023A
+:10466000020202020202020202020202020202022A
+:10467000020202020202020202020202020202021A
+:10468000020202020202020202020202020202020A
+:1046900002020202020202020202020202020202FA
+:1046A00002020202020202020202020202020202EA
+:1046B00002020202020202020202020202020202DA
+:1046C00002020202020202020202020202020202CA
+:1046D00002020202020202020202020202020202BA
+:1046E00002020202020202020202020202020202AA
+:1046F000020202020202020202020202020202029A
+:104700000202020202020202020202020202020289
+:104710000202020202020202020202020202020279
+:104720000202020202020202020202020202020269
+:104730000202020202020202020202020202020259
+:104740000202020202020202020202020202020249
+:104750000202020202020202020202020202020239
+:104760000202020202020202020202020202020229
+:104770000202020202020202020202020202020219
+:104780000202020202020202020202020202020209
+:1047900002020202020202020202020202020202F9
+:1047A00002020202020202020202020202020202E9
+:1047B00002020202020202020202020202020202D9
+:1047C00002020202020202020202020202020202C9
+:1047D00002020202020202020202020202020202B9
+:1047E00002020202020202020202020202020202A9
+:1047F0000202020202020202020202020202020299
+:104800000202020202020202020202020202020288
+:104810000202020202020202020202020202020278
+:104820000202020202020202020202020202020268
+:104830000202020202020202020202020202020258
+:104840000202020202020202020202020202020248
+:104850000202020202020202020202020202020238
+:104860000202020202020202020202020202020228
+:104870000202020202020202020202020202020218
+:104880000202020202020202020202020202020208
+:1048900002020202020202020202020202020202F8
+:1048A00002020202020202020202020202020202E8
+:1048B00002020202020202020202020202020202D8
+:1048C00002020202020202020202020202020202C8
+:1048D00002020202020202020202020202020202B8
+:1048E00002020202020202020202020202020202A8
+:1048F0000202020202020202020202020202020298
+:104900000202020202020202020202020202020287
+:104910000202020202020202020202020202020277
+:104920000202020202020202020202020202020267
+:104930000202020202020202020202020202020257
+:104940000202020202020202020202020202020247
+:104950000202020202020202020202020202020237
+:104960000202020202020202020202020202020227
+:104970000202020202020202020202020202020217
+:104980000202020202020202020202020202020207
+:1049900002020202020202020202020202020202F7
+:1049A00002020202020202020202020202020202E7
+:1049B00002020202020202020202020202020202D7
+:1049C00002020202020202020202020202020202C7
+:1049D00002020202020202020202020202020202B7
+:1049E00002020202020202020202020202020202A7
+:1049F0000202020202020202020202020202020297
+:104A00000202020202020202020202020202020286
+:104A10000202020202020202020202020202020276
+:104A20000202020202020202020202020202020266
+:104A30000202020202020202020202020202020256
+:104A40000202020202020202020202020202020246
+:104A50000202020202020202020202020202020236
+:104A60000202020202020202020202020202020226
+:104A70000202020202020202020202020202020216
+:104A80000202020202020202020202020202020206
+:104A900002020202020202020202020202020202F6
+:104AA00002020202020202020202020202020202E6
+:104AB00002020202020202020202020202020202D6
+:104AC00002020202020202020202020202020202C6
+:104AD00002020202020202020202020202020202B6
+:104AE00002020202020202020202020202020202A6
+:104AF0000202020202020202020202020202020296
+:104B00000202020202020202020202020202020285
+:104B10000202020202020202020202020202020275
+:104B20000202020202020202020202020202020265
+:104B30000202020202020202020202020202020255
+:104B40000202020202020202020202020202020245
+:104B50000202020202020202020202020202020235
+:104B60000202020202020202020202020202020225
+:104B70000202020202020202020202020202020215
+:104B80000202020202020202020202020202020205
+:104B900002020202020202020202020202020202F5
+:104BA00002020202020202020202020202020202E5
+:104BB00002020202020202020202020202020202D5
+:104BC00002020202020202020202020202020202C5
+:104BD00002020202020202020202020202020202B5
+:104BE00002020202020202020202020202020202A5
+:104BF0000202020202020202020202020202020295
+:104C00000202020202020202020202020202020284
+:104C10000202020202020202020202020202020274
+:104C20000202020202020202020202020202020264
+:104C30000202020202020202020202020202020254
+:104C40000202020202020202020202020202020244
+:104C50000202020202020202020202020202020234
+:104C60000202020202020202020202020202020224
+:104C70000202020202020202020202020202020214
+:104C80000202020202020202020202020202020204
+:104C900002020202020202020202020202020202F4
+:104CA00002020202020202020202020202020202E4
+:104CB00002020202020202020202020202020202D4
+:104CC00002020202020202020202020202020202C4
+:104CD00002020202020202020202020202020202B4
+:104CE00002020202020202020202020202020202A4
+:104CF0000202020202020202020202020202020294
+:104D00000202020202020202020202020202020283
+:104D10000202020202020202020202020202020273
+:104D20000202020202020202020202020202020263
+:104D30000202020202020202020202020202020253
+:104D40000202020202020202020202020202020243
+:104D50000202020202020202020202020202020233
+:104D60000202020202020202020202020202020223
+:104D70000202020202020202020202020202020213
+:104D80000202020202020202020202020202020203
+:104D900002020202020202020202020202020202F3
+:104DA00002020202020202020202020202020202E3
+:104DB00002020202020202020202020202020202D3
+:104DC00002020202020202020202020202020202C3
+:104DD00002020202020202020202020202020202B3
+:104DE00002020202020202020202020202020202A3
+:104DF0000202020202020202020202020202020293
+:104E00000202020202020202020202020202020282
+:104E10000202020202020202020202020202020272
+:104E20000202020202020202020202020202020262
+:104E30000202020202020202020202020202020252
+:104E40000202020202020202020202020202020242
+:104E50000202020202020202020202020202020232
+:104E60000202020202020202020202020202020222
+:104E70000202020202020202020202020202020212
+:104E80000202020202020202020202020202020202
+:104E900002020202020202020202020202020202F2
+:104EA00002020202020202020202020202020202E2
+:104EB00002020202020202020202020202020202D2
+:104EC00002020202020202020202020202020202C2
+:104ED00002020202020202020202020202020202B2
+:104EE00002020202020202020202020202020202A2
+:104EF0000202020202020202020202020202020292
+:104F00000202020202020202020202020202020281
+:104F10000202020202020202020202020202020271
+:104F20000202020202020202020202020202020261
+:104F30000202020202020202020202020202020251
+:104F40000202020202020202020202020202020241
+:104F50000202020202020202020202020202020231
+:104F60000202020202020202020202020202020221
+:104F70000202020202020202020202020202020211
+:104F80000202020202020202020202020202020201
+:104F900002020202020202020202020202020202F1
+:104FA00002020202020202020202020202020202E1
+:104FB00002020202020202020202020202020202D1
+:104FC00002020202020202020202020202020202C1
+:104FD00002020202020202020202020202020202B1
+:104FE00002020202020202020202020202020202A1
+:104FF0000202020202020202020202020202020291
+:105000000202020202020202020202020202020280
+:105010000202020202020202020202020202020270
+:105020000202020202020202020202020202020260
+:105030000202020202020202020202020202020250
+:105040000202020202020202020202020202020240
+:105050000202020202020202020202020202020230
+:105060000202020202020202020202020202020220
+:105070000202020202020202020202020202020210
+:105080000202020202020202020202020202020200
+:1050900002020202020202020202020202020202F0
+:1050A00002020202020202020202020202020202E0
+:1050B00002020202020202020202020202020202D0
+:1050C00002020202020202020202020202020202C0
+:1050D00002020202020202020202020202020202B0
+:1050E00002020202020202020202020202020202A0
+:1050F0000202020202020202020202020202020290
+:10510000020202020202020202020202020202027F
+:10511000020202020202020202020202020202026F
+:10512000020202020202020202020202020202025F
+:10513000020202020202020202020202020202024F
+:10514000020202020202020202020202020202023F
+:10515000020202020202020202020202020202022F
+:10516000020202020202020202020202020202021F
+:10517000020202020202020202020202020202020F
+:1051800002020202020202020202020202020202FF
+:1051900002020202020202020202020202020202EF
+:1051A00002020202020202020202020202020202DF
+:1051B00002020202020202020202020202020202CF
+:1051C00002020202020202020202020202020202BF
+:1051D00002020202020202020202020202020202AF
+:1051E000020202020202020202020202020202029F
+:1051F000020202020202020202020202020202028F
+:10520000020202020202020202020202020202027E
+:10521000020202020202020202020202020202026E
+:10522000020202020202020202020202020202025E
+:10523000020202020202020202020202020202024E
+:10524000020202020202020202020202020202023E
+:10525000020202020202020202020202020202022E
+:10526000020202020202020202020202020202021E
+:10527000020202020202020202020202020202020E
+:1052800002020202020202020202020202020202FE
+:1052900002020202020202020202020202020202EE
+:1052A00002020202020202020202020202020202DE
+:1052B00002020202020202020202020202020202CE
+:1052C00002020202020202020202020202020202BE
+:1052D00002020202020202020202020202020202AE
+:1052E000020202020202020202020202020202029E
+:1052F000020202020202020202020202020202028E
+:10530000020202020202020202020202020202027D
+:10531000020202020202020202020202020202026D
+:10532000020202020202020202020202020202025D
+:10533000020202020202020202020202020202024D
+:10534000020202020202020202020202020202023D
+:10535000020202020202020202020202020202022D
+:10536000020202020202020202020202020202021D
+:10537000020202020202020202020202020202020D
+:1053800002020202020202020202020202020202FD
+:1053900002020202020202020202020202020202ED
+:1053A00002020202020202020202020202020202DD
+:1053B00002020202020202020202020202020202CD
+:1053C00002020202020202020202020202020202BD
+:1053D00002020202020202020202020202020202AD
+:1053E000020202020202020202020202020202029D
+:1053F000020202020202020202020202020202028D
+:10540000020202020202020202020202020202027C
+:10541000020202020202020202020202020202026C
+:10542000020202020202020202020202020202025C
+:10543000020202020202020202020202020202024C
+:10544000020202020202020202020202020202023C
+:10545000020202020202020202020202020202022C
+:10546000020202020202020202020202020202021C
+:10547000020202020202020202020202020202020C
+:1054800002020202020202020202020202020202FC
+:1054900002020202020202020202020202020202EC
+:1054A00002020202020202020202020202020202DC
+:1054B00002020202020202020202020202020202CC
+:1054C00002020202020202020202020202020202BC
+:1054D00002020202020202020202020202020202AC
+:1054E000020202020202020202020202020202029C
+:1054F000020202020202020202020202020202028C
+:10550000020202020202020202020202020202027B
+:10551000020202020202020202020202020202026B
+:10552000020202020202020202020202020202025B
+:10553000020202020202020202020202020202024B
+:10554000020202020202020202020202020202023B
+:10555000020202020202020202020202020202022B
+:10556000020202020202020202020202020202021B
+:10557000020202020202020202020202020202020B
+:1055800002020202020202020202020202020202FB
+:1055900002020202020202020202020202020202EB
+:1055A00002020202020202020202020202020202DB
+:1055B00002020202020202020202020202020202CB
+:1055C00002020202020202020202020202020202BB
+:1055D00002020202020202020202020202020202AB
+:1055E000020202020202020202020202020202029B
+:1055F000020202020202020202020202020202028B
+:10560000020202020202020202020202020202027A
+:10561000020202020202020202020202020202026A
+:10562000020202020202020202020202020202025A
+:10563000020202020202020202020202020202024A
+:10564000020202020202020202020202020202023A
+:10565000020202020202020202020202020202022A
+:10566000020202020202020202020202020202021A
+:10567000020202020202020202020202020202020A
+:1056800002020202020202020202020202020202FA
+:1056900002020202020202020202020202020202EA
+:1056A00002020202020202020202020202020202DA
+:1056B00002020202020202020202020202020202CA
+:1056C00002020202020202020202020202020202BA
+:1056D00002020202020202020202020202020202AA
+:1056E000020202020202020202020202020202029A
+:1056F000020202020202020202020202020202028A
+:105700000202020202020202020202020202020279
+:105710000202020202020202020202020202020269
+:105720000202020202020202020202020202020259
+:105730000202020202020202020202020202020249
+:105740000202020202020202020202020202020239
+:105750000202020202020202020202020202020229
+:105760000202020202020202020202020202020219
+:105770000202020202020202020202020202020209
+:1057800002020202020202020202020202020202F9
+:1057900002020202020202020202020202020202E9
+:1057A00002020202020202020202020202020202D9
+:1057B00002020202020202020202020202020202C9
+:1057C00002020202020202020202020202020202B9
+:1057D00002020202020202020202020202020202A9
+:1057E0000202020202020202020202020202020299
+:1057F0000202020202020202020202020202020289
+:105800000202020202020202020202020202020278
+:105810000202020202020202020202020202020268
+:105820000202020202020202020202020202020258
+:105830000202020202020202020202020202020248
+:105840000202020202020202020202020202020238
+:105850000202020202020202020202020202020228
+:105860000202020202020202020202020202020218
+:105870000202020202020202020202020202020208
+:1058800002020202020202020202020202020202F8
+:1058900002020202020202020202020202020202E8
+:1058A00002020202020202020202020202020202D8
+:1058B00002020202020202020202020202020202C8
+:1058C00002020202020202020202020202020202B8
+:1058D00002020202020202020202020202020202A8
+:1058E0000202020202020202020202020202020298
+:1058F0000202020202020202020202020202020288
+:105900000202020202020202020202020202020277
+:105910000202020202020202020202020202020267
+:105920000202020202020202020202020202020257
+:105930000202020202020202020202020202020247
+:105940000202020202020202020202020202020237
+:105950000202020202020202020202020202020227
+:105960000202020202020202020202020202020217
+:105970000202020202020202020202020202020207
+:1059800002020202020202020202020202020202F7
+:1059900002020202020202020202020202020202E7
+:1059A00002020202020202020202020202020202D7
+:1059B00002020202020202020202020202020202C7
+:1059C00002020202020202020202020202020202B7
+:1059D00002020202020202020202020202020202A7
+:1059E0000202020202020202020202020202020297
+:1059F0000202020202020200000000000000000099
+:105A00000000000000000000000000000000000096
+:105A10000000000000000000000000000000000086
+:105A20000000000000000000000000000000000076
+:105A30000000000000000000000000000000000066
+:105A40000000000000000000000000000000000056
+:105A50000000000000000000000000000000000046
+:105A60000000000000000000000000000000000036
+:105A70000000000000000000000000000000000026
+:105A80000000000000000000000000000000000016
+:105A90000000000000000000000000000000000006
+:105AA00000000000000000000000000000000000F6
+:105AB00000000000000000000000000000000000E6
+:105AC00000000000000000000000000000000000D6
+:105AD00000000000000000000000000000000000C6
+:105AE00000000000000000000000000000000000B6
+:105AF0000000000000000050000000000000000155
+:105B00000101010101010101010101010101010185
+:105B10000101010101010101010101010101010175
+:105B20000101010101010101010101010101010165
+:105B30000101010101010101010101010101010155
+:105B40000101010101010101010101010101010145
+:105B50000101010101010101010101010101010135
+:105B60000101010101010101010101010101010125
+:105B70000101010101010101010101010101010115
+:105B80000101010101010101010101010101010105
+:105B900001010101010101010101010101010101F5
+:105BA00001010101010101010101010101010101E5
+:105BB00001010101010101010101010101010101D5
+:105BC00001010101010101010101010101010101C5
+:105BD00001010101010101010101010101010101B5
+:105BE00001010101010101010101010101010101A5
+:105BF0000101010101010101010101010101010195
+:105C00000101010101010101010101010101010184
+:105C10000101010101010101010101010101010174
+:105C20000101010101010101010101010101010164
+:105C30000101010101010101010101010101010154
+:105C40000101010101010101010101010101010144
+:105C50000101010101010101010101010101010134
+:105C60000101010101010101010101010101010124
+:105C70000101010101010101010101010101010114
+:105C80000101010101010101010101010101010104
+:105C900001010101010101010101010101010101F4
+:105CA00001010101010101010101010101010101E4
+:105CB00001010101010101010101010101010101D4
+:105CC00001010101010101010101010101010101C4
+:105CD00001010101010101010101010101010101B4
+:105CE00001010101010101010101010101010101A4
+:105CF0000101010101010101010101010101010194
+:105D00000101010101010101010101010101010183
+:105D10000101010101010101010101010101010173
+:105D20000101010101010101010101010101010163
+:105D30000101010101010101010101010101010153
+:105D40000101010101010101010101010101010143
+:105D50000101010101010101010101010101010133
+:105D60000101010101010101010101010101010123
+:105D70000101010101010101010101010101010113
+:105D80000101010101010101010101010101010103
+:105D900001010101010101010101010101010101F3
+:105DA00001010101010101010101010101010101E3
+:105DB00001010101010101010101010101010101D3
+:105DC00001010101010101010101010101010101C3
+:105DD00001010101010101010101010101010101B3
+:105DE00001010101010101010101010101010101A3
+:105DF0000101010101010101010101010101010193
+:105E00000101010101010101010101010101010182
+:105E10000101010101010101010101010101010172
+:105E20000101010101010101010101010101010162
+:105E30000101010101010101010101010101010152
+:105E40000101010101010101010101010101010142
+:105E50000101010101010101010101010101010132
+:105E60000101010101010101010101010101010122
+:105E70000101010101010101010101010101010112
+:105E80000101010101010101010101010101010102
+:105E900001010101010101010101010101010101F2
+:105EA00001010101010101010101010101010101E2
+:105EB00001010101010101010101010101010101D2
+:105EC00001010101010101010101010101010101C2
+:105ED00001010101010101010101010101010101B2
+:105EE00001010101010101010101010101010101A2
+:105EF0000101010101010101010101010101010192
+:105F00000101010101010101010101010101010181
+:105F10000101010101010101010101010101010171
+:105F20000101010101010101010101010101010161
+:105F30000101010101010101010101010101010151
+:105F40000101010101010101010101010101010141
+:105F50000101010101010101010101010101010131
+:105F60000101010101010101010101010101010121
+:105F70000101010101010101010101010101010111
+:105F80000101010101010101010101010101010101
+:105F900001010101010101010101010101010101F1
+:105FA00001010101010101010101010101010101E1
+:105FB00001010101010101010101010101010101D1
+:105FC00001010101010101010101010101010101C1
+:105FD00001010101010101010101010101010101B1
+:105FE00001010101010101010101010101010101A1
+:105FF0000101010101010101010101010101010191
+:106000000101010101010101010101010101010180
+:106010000101010101010101010101010101010170
+:106020000101010101010101010101010101010160
+:106030000101010101010101010101010101010150
+:106040000101010101010101010101010101010140
+:106050000101010101010101010101010101010130
+:106060000101010101010101010101010101010120
+:106070000101010101010101010101010101010110
+:106080000101010101010101010101010101010100
+:1060900001010101010101010101010101010101F0
+:1060A00001010101010101010101010101010101E0
+:1060B00001010101010101010101010101010101D0
+:1060C00001010101010101010101010101010101C0
+:1060D00001010101010101010101010101010101B0
+:1060E00001010101010101010101010101010101A0
+:1060F0000101010101010101010101010101010190
+:10610000010101010101010101010101010101017F
+:10611000010101010101010101010101010101016F
+:10612000010101010101010101010101010101015F
+:10613000010101010101010101010101010101014F
+:10614000010101010101010101010101010101013F
+:10615000010101010101010101010101010101012F
+:10616000010101010101010101010101010101011F
+:10617000010101010101010101010101010101010F
+:1061800001010101010101010101010101010101FF
+:1061900001010101010101010101010101010101EF
+:1061A00001010101010101010101010101010101DF
+:1061B00001010101010101010101010101010101CF
+:1061C00001010101010101010101010101010101BF
+:1061D00001010101010101010101010101010101AF
+:1061E000010101010101010101010101010101019F
+:1061F000010101010101010101010101010101018F
+:10620000010101010101010101010101010101017E
+:10621000010101010101010101010101010101016E
+:10622000010101010101010101010101010101015E
+:10623000010101010101010101010101010101014E
+:10624000010101010101010101010101010101013E
+:10625000010101010101010101010101010101012E
+:10626000010101010101010101010101010101011E
+:10627000010101010101010101010101010101010E
+:1062800001010101010101010101010101010101FE
+:1062900001010101010101010101010101010101EE
+:1062A00001010101010101010101010101010101DE
+:1062B00001010101010101010101010101010101CE
+:1062C00001010101010101010101010101010101BE
+:1062D00001010101010101010101010101010101AE
+:1062E000010101010101010101010101010101019E
+:1062F000010101010101010101010101010101018E
+:10630000010101010101010101010101010101017D
+:10631000010101010101010101010101010101016D
+:10632000010101010101010101010101010101015D
+:10633000010101010101010101010101010101014D
+:10634000010101010101010101010101010101013D
+:10635000010101010101010101010101010101012D
+:10636000010101010101010101010101010101011D
+:10637000010101010101010101010101010101010D
+:1063800001010101010101010101010101010101FD
+:1063900001010101010101010101010101010101ED
+:1063A00001010101010101010101010101010101DD
+:1063B00001010101010101010101010101010101CD
+:1063C00001010101010101010101010101010101BD
+:1063D00001010101010101010101010101010101AD
+:1063E000010101010101010101010101010101019D
+:1063F000010101010101010101010101010101018D
+:10640000010101010101010101010101010101017C
+:10641000010101010101010101010101010101016C
+:10642000010101010101010101010101010101015C
+:10643000010101010101010101010101010101014C
+:10644000010101010101010101010101010101013C
+:10645000010101010101010101010101010101012C
+:10646000010101010101010101010101010101011C
+:10647000010101010101010101010101010101010C
+:1064800001010101010101010101010101010101FC
+:1064900001010101010101010101010101010101EC
+:1064A00001010101010101010101010101010101DC
+:1064B00001010101010101010101010101010101CC
+:1064C00001010101010101010101010101010101BC
+:1064D00001010101010101010101010101010101AC
+:1064E000010101010101010101010101010101019C
+:1064F000010101010101010101010101010101018C
+:10650000010101010101010101010101010101017B
+:10651000010101010101010101010101010101016B
+:10652000010101010101010101010101010101015B
+:10653000010101010101010101010101010101014B
+:10654000010101010101010101010101010101013B
+:10655000010101010101010101010101010101012B
+:10656000010101010101010101010101010101011B
+:10657000010101010101010101010101010101010B
+:1065800001010101010101010101010101010101FB
+:1065900001010101010101010101010101010101EB
+:1065A00001010101010101010101010101010101DB
+:1065B00001010101010101010101010101010101CB
+:1065C00001010101010101010101010101010101BB
+:1065D00001010101010101010101010101010101AB
+:1065E000010101010101010101010101010101019B
+:1065F000010101010101010101010101010101018B
+:10660000010101010101010101010101010101017A
+:10661000010101010101010101010101010101016A
+:10662000010101010101010101010101010101015A
+:10663000010101010101010101010101010101014A
+:10664000010101010101010101010101010101013A
+:10665000010101010101010101010101010101012A
+:10666000010101010101010101010101010101011A
+:10667000010101010101010101010101010101010A
+:1066800001010101010101010101010101010101FA
+:1066900001010101010101010101010101010101EA
+:1066A00001010101010101010101010101010101DA
+:1066B00001010101010101010101010101010101CA
+:1066C00001010101010101010101010101010101BA
+:1066D00001010101010101010101010101010101AA
+:1066E000010101010101010101010101010101019A
+:1066F000010101010101010101010101010101018A
+:106700000101010101010101010101010101010179
+:106710000101010101010101010101010101010169
+:106720000101010101010101010101010101010159
+:106730000101010101010101010101010101010149
+:106740000101010101010101010101010101010139
+:106750000101010101010101010101010101010129
+:106760000101010101010101010101010101010119
+:106770000101010101010101010101010101010109
+:1067800001010101010101010101010101010101F9
+:1067900001010101010101010101010101010101E9
+:1067A00001010101010101010101010101010101D9
+:1067B00001010101010101010101010101010101C9
+:1067C00001010101010101010101010101010101B9
+:1067D00001010101010101010101010101010101A9
+:1067E0000101010101010101010101010101010199
+:1067F0000101010101010101010101010101010189
+:106800000101010101010101010101010101010178
+:106810000101010101010101010101010101010168
+:106820000101010101010101010101010101010158
+:106830000101010101010101010101010101010148
+:106840000101010101010101010101010101010138
+:106850000101010101010101010101010101010128
+:106860000101010101010101010101010101010118
+:106870000101010101010101010101010101010108
+:1068800001010101010101010101010101010101F8
+:1068900001010101010101010101010101010101E8
+:1068A00001010101010101010101010101010101D8
+:1068B00001010101010101010101010101010101C8
+:1068C00001010101010101010101010101010101B8
+:1068D00001010101010101010101010101010101A8
+:1068E0000101010101010101010101010101010198
+:1068F0000101010101010101010101010101010188
+:106900000101010101010101010101010101010177
+:106910000101010101010101010101010101010167
+:106920000101010101010101010101010101010157
+:106930000101010101010101010101010101010147
+:106940000101010101010101010101010101010137
+:106950000101010101010101010101010101010127
+:106960000101010101010101010101010101010117
+:106970000101010101010101010101010101010107
+:1069800001010101010101010101010101010101F7
+:1069900001010101010101010101010101010101E7
+:1069A00001010101010101010101010101010101D7
+:1069B00001010101010101010101010101010101C7
+:1069C00001010101010101010101010101010101B7
+:1069D00001010101010101010101010101010101A7
+:1069E0000101010101010101010101010101010197
+:1069F0000101010101010101010101010101010187
+:106A00000101010101010101010101010101010176
+:106A10000101010101010101010101010101010166
+:106A20000101010101010101010101010101010156
+:106A30000101010101010101010101010101010146
+:106A40000101010101010101010101010101010136
+:106A50000101010101010101010101010101010126
+:106A60000101010101010101010101010101010116
+:106A70000101010101010101010101010101010106
+:106A800001010101010101010101010101010101F6
+:106A900001010101010101010101010101010101E6
+:106AA00001010101010101010101010101010101D6
+:106AB00001010101010101010101010101010101C6
+:106AC00001010101010101010101010101010101B6
+:106AD00001010101010101010101010101010101A6
+:106AE0000101010101010101010101010101010196
+:106AF0000101010101010101010101010101010186
+:106B00000101010101010101010101010101010175
+:106B10000101010101010101010101010101010165
+:106B20000101010101010101010101010101010155
+:106B30000101010101010101010101010101010145
+:106B40000101010101010101010101010101010135
+:106B50000101010101010101010101010101010125
+:106B60000101010101010101010101010101010115
+:106B70000101010101010101010101010101010105
+:106B800001010101010101010101010101010101F5
+:106B900001010101010101010101010101010101E5
+:106BA00001010101010101010101010101010101D5
+:106BB00001010101010101010101010101010101C5
+:106BC00001010101010101010101010101010101B5
+:106BD00001010101010101010101010101010101A5
+:106BE0000101010101010101010101010101010195
+:106BF0000101010101010101010101010101010185
+:106C00000101010101010101010101010101010174
+:106C10000101010101010101010101010101010164
+:106C20000101010101010101010101010101010154
+:106C30000101010101010101010101010101010144
+:106C40000101010101010101010101010101010134
+:106C50000101010101010101010101010101010124
+:106C60000101010101010101010101010101010114
+:106C70000101010101010101010101010101010104
+:106C800001010101010101010101010101010101F4
+:106C900001010101010101010101010101010101E4
+:106CA00001010101010101010101010101010101D4
+:106CB00001010101010101010101010101010101C4
+:106CC00001010101010101010101010101010101B4
+:106CD00001010101010101010101010101010101A4
+:106CE0000101010101010101010101010101010194
+:106CF0000101010101010101010101010101010184
+:106D00000101010101010101010101010101010173
+:106D10000101010101010101010101010101010163
+:106D20000101010101010101010101010101010153
+:106D30000101010101010101010101010101010143
+:106D40000101010101010101010101010101010133
+:106D50000101010101010101010101010101010123
+:106D60000101010101010101010101010101010113
+:106D70000101010101010101010101010101010103
+:106D800001010101010101010101010101010101F3
+:106D900001010101010101010101010101010101E3
+:106DA00001010101010101010101010101010101D3
+:106DB00001010101010101010101010101010101C3
+:106DC00001010101010101010101010101010101B3
+:106DD00001010101010101010101010101010101A3
+:106DE0000101010101010101010101010101010193
+:106DF0000101010101010101010101010101010183
+:106E00000101010101010101010101010101010172
+:106E10000101010101010101010101010101010162
+:106E20000101010101010101010101010101010152
+:106E30000101010101010101010101010101010142
+:106E40000101010101010101010101010101010132
+:106E50000101010101010101010101010101010122
+:106E60000101010101010101010101010101010112
+:106E70000101010101010101010101010101010102
+:106E800001010101010101010101010101010101F2
+:106E900001010101010101010101010101010101E2
+:106EA00001010101010101010101010101010101D2
+:106EB00001010101010101010101010101010101C2
+:106EC00001010101010101010101010101010101B2
+:106ED00001010101010101010101010101010101A2
+:106EE0000101010101010101010101010101010192
+:106EF0000101010101010101010101010101010182
+:106F00000101010101010101010101010101010171
+:106F10000101010101010101010101010101010161
+:106F20000101010101010101010101010101010151
+:106F30000101010101010101010101010101010141
+:106F40000101010101010101010101010101010131
+:106F50000101010101010101010101010101010121
+:106F60000101010101010101010101010101010111
+:106F70000101010101010101010101010101010101
+:106F800001010101010101010101010101010101F1
+:106F900001010101010101010101010101010101E1
+:106FA00001010101010101010101010101010101D1
+:106FB00001010101010101010101010101010101C1
+:106FC00001010101010101010101010101010101B1
+:106FD00001010101010101010101010101010101A1
+:106FE0000101010101010101010101010101010191
+:106FF0000101010101010101010101010101010181
+:107000000101010101010101010101010101010170
+:107010000101010101010101010101010101010160
+:107020000101010101010101010101010101010150
+:107030000101010101010101010101010101010140
+:107040000101010101010101010101010101010130
+:107050000101010101010101010101010101010120
+:107060000101010101010101010101010101010110
+:107070000101010101010101010101010101010100
+:1070800001010101010101010101010101010101F0
+:1070900001010101010101010101010101010101E0
+:1070A00001010101010101010101010101010101D0
+:1070B00001010101010101010101010101010101C0
+:1070C00001010101010101010101010101010101B0
+:1070D00001010101010101010101010101010101A0
+:1070E0000101010101010101010101010101010190
+:1070F0000101010101010101010101010101010180
+:10710000010101010101010101010101010101016F
+:10711000010101010101010101010101010101015F
+:10712000010101010101010101010101010101014F
+:10713000010101010101010101010101010101013F
+:10714000010101010101010101010101010101012F
+:10715000010101010101010101010101010101011F
+:10716000010101010101010101010101010101010F
+:1071700001010101010101010101010101010101FF
+:1071800001010101010101010101010101010101EF
+:1071900001010101010101010101010101010101DF
+:1071A00001010101010101010101010101010101CF
+:1071B00001010101010101010101010101010101BF
+:1071C00001010101010101010101010101010101AF
+:1071D000010101010101010101010101010101019F
+:1071E000010101010101010101010101010101018F
+:1071F000010101010101010101010101010101017F
+:10720000010101010101010101010101010101016E
+:10721000010101010101010101010101010101015E
+:10722000010101010101010101010101010101014E
+:10723000010101010101010101010101010101013E
+:10724000010101010101010101010101010101012E
+:10725000010101010101010101010101010101011E
+:10726000010101010101010101010101010101010E
+:1072700001010101010101010101010101010101FE
+:1072800001010101010101010101010101010101EE
+:1072900001010101010101010101010101010101DE
+:1072A00001010101010101010101010101010101CE
+:1072B00001010101010101010101010101010101BE
+:1072C00001010101010101010101010101010101AE
+:1072D000010101010101010101010101010101019E
+:1072E000010101010101010101010101010101018E
+:1072F000010101010101010101010101010101017E
+:10730000010101010101010101010101010101016D
+:10731000010101010101010101010101010101015D
+:10732000010101010101010101010101010101014D
+:10733000010101010101010101010101010101013D
+:10734000010101010101010101010101010101012D
+:10735000010101010101010101010101010101011D
+:10736000010101010101010101010101010101010D
+:1073700001010101010101010101010101010101FD
+:1073800001010101010101010101010101010101ED
+:1073900001010101010101010101010101010101DD
+:1073A00001010101010101010101010101010101CD
+:1073B00001010101010101010101010101010101BD
+:1073C00001010101010101010101010101010101AD
+:1073D000010101010101010101010101010101019D
+:1073E000010101010101010101010101010101018D
+:1073F000010101010101010101010101010101017D
+:10740000010101010101010101010101010101016C
+:10741000010101010101010101010101010101015C
+:10742000010101010101010101010101010101014C
+:10743000010101010101010101010101010101013C
+:10744000010101010101010101010101010101012C
+:10745000010101010101010101010101010101011C
+:10746000010101010101010101010101010101010C
+:1074700001010101010101010101010101010101FC
+:1074800001010101010101010101010101010101EC
+:1074900001010101010101010101010101010101DC
+:1074A00001010101010101010101010101010101CC
+:1074B00001010101010101010101010101010101BC
+:1074C00001010101010101010101010101010101AC
+:1074D000010101010101010101010101010101019C
+:1074E000010101010101010101010101010101018C
+:1074F000010101010101010101010101010101017C
+:10750000010101010101010101010101010101016B
+:10751000010101010101010101010101010101015B
+:10752000010101010101010101010101010101014B
+:10753000010101010101010101010101010101013B
+:10754000010101010101010101010101010101012B
+:10755000010101010101010101010101010101011B
+:10756000010101010101010101010101010101010B
+:1075700001010101010101010101010101010101FB
+:1075800001010101010101010101010101010101EB
+:1075900001010101010101010101010101010101DB
+:1075A00001010101010101010101010101010101CB
+:1075B00001010101010101010101010101010101BB
+:1075C00001010101010101010101010101010101AB
+:1075D000010101010101010101010101010101019B
+:1075E000010101010101010101010101010101018B
+:1075F000010101010101010101010101010101017B
+:10760000010101010101010101010101010101016A
+:10761000010101010101010101010101010101015A
+:10762000010101010101010101010101010101014A
+:10763000010101010101010101010101010101013A
+:10764000010101010101010101010101010101012A
+:10765000010101010101010101010101010101011A
+:10766000010101010101010101010101010101010A
+:1076700001010101010101010101010101010101FA
+:1076800001010101010101010101010101010101EA
+:1076900001010101010101010101010101010101DA
+:1076A00001010101010101010101010101010101CA
+:1076B00001010101010101010101010101010101BA
+:1076C00001010101010101010101010101010101AA
+:1076D000010101010101010101010101010101019A
+:1076E000010101010101010101010101010101018A
+:1076F000010101010101010101010101010101007B
+:107700000000000000000000000000000000000079
+:107710000000000000000000000000000000000069
+:107720000000000000000000000000000000000059
+:107730000000000000000000000000000000000049
+:107740000000000000000000000000000000000039
+:107750000000000000000000000000000000000029
+:107760000000000000000000000000000000000019
+:107770000000000000000000000000000000000009
+:1077800000000000000000000000000000000000F9
+:1077900000000000000000000000000000000000E9
+:1077A00000000000000000000000000000000000D9
+:1077B00000000000000000000000000000000000C9
+:1077C00000000000000000000000000000000000B9
+:1077D00000000000000000000000000000000000A9
+:1077E0000000000000000000000000000000000099
+:1077F0000000000000000000000000000000000089
+:107800000000000000000000000000000000000078
+:107810000000000000000000000000000000000068
+:107820000000000000000000000000000000000058
+:107830000000000000000000000000000000000048
+:107840000000000000000000000000000000000038
+:107850000000000000000000000000000000000028
+:107860000000000000000000000000000000000018
+:107870000000000000000000000000000000000008
+:1078800000000000000000000000000000000000F8
+:1078900000000000000000000000000000000000E8
+:1078A00000000000000000000000000000000000D8
+:1078B00000000000000000000000000000000000C8
+:1078C00000000000000000000000000000000000B8
+:1078D00000000000000000000000000000000000A8
+:1078E0000000000000000000000000000000000098
+:1078F0000000000000000000000000000000000088
+:107900000000000000000000000000000000000077
+:107910000000000000000000000000000000000067
+:107920000000000000000000000000000000000057
+:107930000000000000000000000000000000000047
+:107940000000000000000000000000000000000037
+:107950000000000000000000000000000000000027
+:107960000000000000000000000000000000000017
+:107970000000000000000000000000000000000007
+:1079800000000000000000000000000000000000F7
+:1079900000000000000000000000000000000000E7
+:1079A00000000000000000000000000000000000D7
+:1079B00000000000000000000000000000000000C7
+:1079C00000000000000000000000000000000000B7
+:1079D00000000000000000000000000000000000A7
+:1079E0000000000000000000000000000000000097
+:1079F0000000000000000000000000000000000087
+:107A00000000000000000000000000000000000076
+:107A10000000000000000000000000000000000066
+:107A20000000000000000000000000000000000056
+:107A30000000000000000000000000000000000046
+:107A40000000000000000000000000000000000036
+:107A50000000000000000000000000000000000026
+:107A60000000000000000000000000000000000016
+:107A70000000000000000000000000000000000006
+:107A800000000000000000000000000000000000F6
+:107A900000000000000000000000000000000000E6
+:107AA00000000000000000000000000000000000D6
+:107AB00000000000000000000000000000000000C6
+:107AC00000000000000000000000000000000000B6
+:107AD00000000000000000000000000000000000A6
+:107AE0000000000000000000000000000000000096
+:107AF0000000000000000000000000000000000185
+:107B00000101010101010101010101010101010165
+:107B10000101010101010101010101010101010155
+:107B20000101010101010101010101010101010145
+:107B30000101010101010101010101010101010135
+:107B40000101010101010101010101010101010125
+:107B50000101010101010101010101010101010115
+:107B60000101010101010101010101010101010105
+:107B700001010101010101010101010101010101F5
+:107B800001010101010101010101010101010101E5
+:107B900001010101010101010101010101010101D5
+:107BA00001010101010101010101010101010101C5
+:107BB00001010101010101010101010101010101B5
+:107BC00001010101010101010101010101010101A5
+:107BD0000101010101010101010101010101010195
+:107BE0000101010101010101010101010101010185
+:107BF0000101010101010101010101010101010175
+:107C00000101010101010101010101010101010164
+:107C10000101010101010101010101010101010154
+:107C20000101010101010101010101010101010144
+:107C30000101010101010101010101010101010134
+:107C40000101010101010101010101010101010124
+:107C50000101010101010101010101010101010114
+:107C60000101010101010101010101010101010104
+:107C700001010101010101010101010101010101F4
+:107C800001010101010101010101010101010101E4
+:107C900001010101010101010101010101010101D4
+:107CA00001010101010101010101010101010101C4
+:107CB00001010101010101010101010101010101B4
+:107CC00001010101010101010101010101010101A4
+:107CD0000101010101010101010101010101010194
+:107CE0000101010101010101010101010101010184
+:107CF0000101010101010101010101010101010174
+:107D00000101010101010101010101010101010163
+:107D10000101010101010101010101010101010153
+:107D20000101010101010101010101010101010143
+:107D30000101010101010101010101010101010133
+:107D40000101010101010101010101010101010123
+:107D50000101010101010101010101010101010113
+:107D60000101010101010101010101010101010103
+:107D700001010101010101010101010101010101F3
+:107D800001010101010101010101010101010101E3
+:107D900001010101010101010101010101010101D3
+:107DA00001010101010101010101010101010101C3
+:107DB00001010101010101010101010101010101B3
+:107DC00001010101010101010101010101010101A3
+:107DD0000101010101010101010101010101010193
+:107DE0000101010101010101010101010101010183
+:107DF0000101010101010101010101010101010173
+:107E00000101010101010101010101010101010162
+:107E10000101010101010101010101010101010152
+:107E20000101010101010101010101010101010142
+:107E30000101010101010101010101010101010132
+:107E40000101010101010101010101010101010122
+:107E50000101010101010101010101010101010112
+:107E60000101010101010101010101010101010102
+:107E700001010101010101010101010101010101F2
+:107E800001010101010101010101010101010101E2
+:107E900001010101010101010101010101010101D2
+:107EA00001010101010101010101010101010101C2
+:107EB00001010101010101010101010101010101B2
+:107EC00001010101010101010101010101010101A2
+:107ED0000101010101010101010101010101010192
+:107EE0000101010101010101010101010101010182
+:107EF0000101010101010101010101010101010172
+:107F00000101010101010101010101010101010161
+:107F10000101010101010101010101010101010151
+:107F20000101010101010101010101010101010141
+:107F30000101010101010101010101010101010131
+:107F40000101010101010101010101010101010121
+:107F50000101010101010101010101010101010111
+:107F60000101010101010101010101010101010101
+:107F700001010101010101010101010101010101F1
+:107F800001010101010101010101010101010101E1
+:107F900001010101010101010101010101010101D1
+:107FA00001010101010101010101010101010101C1
+:107FB00001010101010101010101010101010101B1
+:107FC00001010101010101010101010101010101A1
+:107FD0000101010101010101010101010101010191
+:107FE0000101010101010101010101010101010181
+:107FF0000101010101010101010101010101010171
+:108000000101010101010101010101010101010160
+:108010000101010101010101010101010101010150
+:108020000101010101010101010101010101010140
+:108030000101010101010101010101010101010130
+:108040000101010101010101010101010101010120
+:108050000101010101010101010101010101010110
+:108060000101010101010101010101010101010100
+:1080700001010101010101010101010101010101F0
+:1080800001010101010101010101010101010101E0
+:1080900001010101010101010101010101010101D0
+:1080A00001010101010101010101010101010101C0
+:1080B00001010101010101010101010101010101B0
+:1080C00001010101010101010101010101010101A0
+:1080D0000101010101010101010101010101010190
+:1080E0000101010101010101010101010101010180
+:1080F000010101010101010101010101010101026F
+:10810000020202020202020202020202020202024F
+:10811000020202020202020202020202020202023F
+:10812000020202020202020202020202020202022F
+:10813000020202020202020202020202020202021F
+:10814000020202020202020202020202020202020F
+:1081500002020202020202020202020202020202FF
+:1081600002020202020202020202020202020202EF
+:1081700002020202020202020202020202020202DF
+:1081800002020202020202020202020202020202CF
+:1081900002020202020202020202020202020202BF
+:1081A00002020202020202020202020202020202AF
+:1081B000020202020202020202020202020202029F
+:1081C000020202020202020202020202020202028F
+:1081D000020202020202020202020202020202027F
+:1081E000020202020202020202020202020202026F
+:1081F000020202020202020202020202020202025F
+:10820000020202020202020202020202020202024E
+:10821000020202020202020202020202020202023E
+:10822000020202020202020202020202020202022E
+:10823000020202020202020202020202020202021E
+:10824000020202020202020202020202020202020E
+:1082500002020202020202020202020202020202FE
+:1082600002020202020202020202020202020202EE
+:1082700002020202020202020202020202020202DE
+:1082800002020202020202020202020202020202CE
+:1082900002020202020202020202020202020202BE
+:1082A00002020202020202020202020202020202AE
+:1082B000020202020202020202020202020202029E
+:1082C000020202020202020202020202020202028E
+:1082D000020202020202020202020202020202027E
+:1082E000020202020202020202020202020202026E
+:1082F000020202020202020202020202020202025E
+:10830000020202020202020202020202020202024D
+:10831000020202020202020202020202020202023D
+:10832000020202020202020202020202020202022D
+:10833000020202020202020202020202020202021D
+:10834000020202020202020202020202020202020D
+:1083500002020202020202020202020202020202FD
+:1083600002020202020202020202020202020202ED
+:1083700002020202020202020202020202020202DD
+:1083800002020202020202020202020202020202CD
+:1083900002020202020202020202020202020202BD
+:1083A00002020202020202020202020202020202AD
+:1083B000020202020202020202020202020202029D
+:1083C000020202020202020202020202020202028D
+:1083D000020202020202020202020202020202027D
+:1083E000020202020202020202020202020202026D
+:1083F000020202020202020202020202020202025D
+:10840000020202020202020202020202020202024C
+:10841000020202020202020202020202020202023C
+:10842000020202020202020202020202020202022C
+:10843000020202020202020202020202020202021C
+:10844000020202020202020202020202020202020C
+:1084500002020202020202020202020202020202FC
+:1084600002020202020202020202020202020202EC
+:1084700002020202020202020202020202020202DC
+:1084800002020202020202020202020202020202CC
+:1084900002020202020202020202020202020202BC
+:1084A00002020202020202020202020202020202AC
+:1084B000020202020202020202020202020202029C
+:1084C000020202020202020202020202020202028C
+:1084D000020202020202020202020202020202027C
+:1084E000020202020202020202020202020202026C
+:1084F000020202020202020202020202020202025C
+:10850000020202020202020202020202020202024B
+:10851000020202020202020202020202020202023B
+:10852000020202020202020202020202020202022B
+:10853000020202020202020202020202020202021B
+:10854000020202020202020202020202020202020B
+:1085500002020202020202020202020202020202FB
+:1085600002020202020202020202020202020202EB
+:1085700002020202020202020202020202020202DB
+:1085800002020202020202020202020202020202CB
+:1085900002020202020202020202020202020202BB
+:1085A00002020202020202020202020202020202AB
+:1085B000020202020202020202020202020202029B
+:1085C000020202020202020202020202020202028B
+:1085D000020202020202020202020202020202027B
+:1085E000020202020202020202020202020202026B
+:1085F000020202020202020202020202020202025B
+:10860000020202020202020202020202020202024A
+:10861000020202020202020202020202020202023A
+:10862000020202020202020202020202020202022A
+:10863000020202020202020202020202020202021A
+:10864000020202020202020202020202020202020A
+:1086500002020202020202020202020202020202FA
+:1086600002020202020202020202020202020202EA
+:1086700002020202020202020202020202020202DA
+:1086800002020202020202020202020202020202CA
+:1086900002020202020202020202020202020202BA
+:1086A00002020202020202020202020202020202AA
+:1086B000020202020202020202020202020202029A
+:1086C000020202020202020202020202020202028A
+:1086D000020202020202020202020202020202027A
+:1086E000020202020202020202020202020202026A
+:1086F000020202020202020202020202020202025A
+:108700000202020202020202020202020202020249
+:108710000202020202020202020202020202020239
+:108720000202020202020202020202020202020229
+:108730000202020202020202020202020202020219
+:108740000202020202020202020202020202020209
+:1087500002020202020202020202020202020202F9
+:1087600002020202020202020202020202020202E9
+:1087700002020202020202020202020202020202D9
+:1087800002020202020202020202020202020202C9
+:1087900002020202020202020202020202020202B9
+:1087A00002020202020202020202020202020202A9
+:1087B0000202020202020202020202020202020299
+:1087C0000202020202020202020202020202020289
+:1087D0000202020202020202020202020202020279
+:1087E0000202020202020202020202020202020269
+:1087F0000202020202020202020202020202020259
+:108800000202020202020202020202020202020248
+:108810000202020202020202020202020202020238
+:108820000202020202020202020202020202020228
+:108830000202020202020202020202020202020218
+:108840000202020202020202020202020202020208
+:1088500002020202020202020202020202020202F8
+:1088600002020202020202020202020202020202E8
+:1088700002020202020202020202020202020202D8
+:1088800002020202020202020202020202020202C8
+:1088900002020202020202020202020202020202B8
+:1088A00002020202020202020202020202020202A8
+:1088B0000202020202020202020202020202020298
+:1088C0000202020202020202020202020202020288
+:1088D0000202020202020202020202020202020278
+:1088E0000202020202020202020202020202020268
+:1088F0000202020202020202020202020202020258
+:108900000202020202020202020202020202020247
+:108910000202020202020202020202020202020237
+:108920000202020202020202020202020202020227
+:108930000202020202020202020202020202020217
+:108940000202020202020202020202020202020207
+:1089500002020202020202020202020202020202F7
+:1089600002020202020202020202020202020202E7
+:1089700002020202020202020202020202020202D7
+:1089800002020202020202020202020202020202C7
+:1089900002020202020202020202020202020202B7
+:1089A00002020202020202020202020202020202A7
+:1089B0000202020202020202020202020202020297
+:1089C0000202020202020202020202020202020287
+:1089D0000202020202020202020202020202020277
+:1089E0000202020202020202020202020202020267
+:1089F0000202020202020202020202020202020257
+:108A00000202020202020202020202020202020246
+:108A10000202020202020202020202020202020236
+:108A20000202020202020202020202020202020226
+:108A30000202020202020202020202020202020216
+:108A40000202020202020202020202020202020206
+:108A500002020202020202020202020202020202F6
+:108A600002020202020202020202020202020202E6
+:108A700002020202020202020202020202020202D6
+:108A800002020202020202020202020202020202C6
+:108A900002020202020202020202020202020202B6
+:108AA00002020202020202020202020202020202A6
+:108AB0000202020202020202020202020202020296
+:108AC0000202020202020202020202020202020286
+:108AD0000202020202020202020202020202020276
+:108AE0000202020202020202020202020202020266
+:108AF0000202020202020202020202020202020256
+:108B00000202020202020202020202020202020245
+:108B10000202020202020202020202020202020235
+:108B20000202020202020202020202020202020225
+:108B30000202020202020202020202020202020215
+:108B40000202020202020202020202020202020205
+:108B500002020202020202020202020202020202F5
+:108B600002020202020202020202020202020202E5
+:108B700002020202020202020202020202020202D5
+:108B800002020202020202020202020202020202C5
+:108B900002020202020202020202020202020202B5
+:108BA00002020202020202020202020202020202A5
+:108BB0000202020202020202020202020202020295
+:108BC0000202020202020202020202020202020285
+:108BD0000202020202020202020202020202020275
+:108BE0000202020202020202020202020202020265
+:108BF0000202020202020202020202020202020255
+:108C00000202020202020202020202020202020244
+:108C10000202020202020202020202020202020234
+:108C20000202020202020202020202020202020224
+:108C30000202020202020202020202020202020214
+:108C40000202020202020202020202020202020204
+:108C500002020202020202020202020202020202F4
+:108C600002020202020202020202020202020202E4
+:108C700002020202020202020202020202020202D4
+:108C800002020202020202020202020202020202C4
+:108C900002020202020202020202020202020202B4
+:108CA00002020202020202020202020202020202A4
+:108CB0000202020202020202020202020202020294
+:108CC0000202020202020202020202020202020284
+:108CD0000202020202020202020202020202020274
+:108CE0000202020202020202020202020202020264
+:108CF0000202020202020202020202020202020254
+:108D00000202020202020202020202020202020243
+:108D10000202020202020202020202020202020233
+:108D20000202020202020202020202020202020223
+:108D30000202020202020202020202020202020213
+:108D40000202020202020202020202020202020203
+:108D500002020202020202020202020202020202F3
+:108D600002020202020202020202020202020202E3
+:108D700002020202020202020202020202020202D3
+:108D800002020202020202020202020202020202C3
+:108D900002020202020202020202020202020202B3
+:108DA00002020202020202020202020202020202A3
+:108DB0000202020202020202020202020202020293
+:108DC0000202020202020202020202020202020283
+:108DD0000202020202020202020202020202020273
+:108DE0000202020202020202020202020202020263
+:108DF0000202020202020202020202020202020253
+:108E00000202020202020202020202020202020242
+:108E10000202020202020202020202020202020232
+:108E20000202020202020202020202020202020222
+:108E30000202020202020202020202020202020212
+:108E40000202020202020202020202020202020202
+:108E500002020202020202020202020202020202F2
+:108E600002020202020202020202020202020202E2
+:108E700002020202020202020202020202020202D2
+:108E800002020202020202020202020202020202C2
+:108E900002020202020202020202020202020202B2
+:108EA00002020202020202020202020202020202A2
+:108EB0000202020202020202020202020202020292
+:108EC0000202020202020202020202020202020282
+:108ED0000202020202020202020202020202020272
+:108EE0000202020202020202020202020202020262
+:108EF0000202020202020202020202020202020252
+:108F00000202020202020202020202020202020241
+:108F10000202020202020202020202020202020231
+:108F20000202020202020202020202020202020221
+:108F30000202020202020202020202020202020211
+:108F40000202020202020202020202020202020201
+:108F500002020202020202020202020202020202F1
+:108F600002020202020202020202020202020202E1
+:108F700002020202020202020202020202020202D1
+:108F800002020202020202020202020202020202C1
+:108F900002020202020202020202020202020202B1
+:108FA00002020202020202020202020202020202A1
+:108FB0000202020202020202020202020202020291
+:108FC0000202020202020202020202020202020281
+:108FD0000202020202020202020202020202020271
+:108FE0000202020202020202020202020202020261
+:108FF0000202020202020202020202020202020251
+:109000000202020202020202020202020202020240
+:109010000202020202020202020202020202020230
+:109020000202020202020202020202020202020220
+:109030000202020202020202020202020202020210
+:109040000202020202020202020202020202020200
+:1090500002020202020202020202020202020202F0
+:1090600002020202020202020202020202020202E0
+:1090700002020202020202020202020202020202D0
+:1090800002020202020202020202020202020202C0
+:1090900002020202020202020202020202020202B0
+:1090A00002020202020202020202020202020202A0
+:1090B0000202020202020202020202020202020290
+:1090C0000202020202020202020202020202020280
+:1090D0000202020202020202020202020202020270
+:1090E0000202020202020202020202020202020260
+:1090F0000202020202020202020202020202020250
+:10910000020202020202020202020202020202023F
+:10911000020202020202020202020202020202022F
+:10912000020202020202020202020202020202021F
+:10913000020202020202020202020202020202020F
+:1091400002020202020202020202020202020202FF
+:1091500002020202020202020202020202020202EF
+:1091600002020202020202020202020202020202DF
+:1091700002020202020202020202020202020202CF
+:1091800002020202020202020202020202020202BF
+:1091900002020202020202020202020202020202AF
+:1091A000020202020202020202020202020202029F
+:1091B000020202020202020202020202020202028F
+:1091C000020202020202020202020202020202027F
+:1091D000020202020202020202020202020202026F
+:1091E000020202020202020202020202020202025F
+:1091F000020202020202020202020202020202024F
+:10920000020202020202020202020202020202023E
+:10921000020202020202020202020202020202022E
+:10922000020202020202020202020202020202021E
+:10923000020202020202020202020202020202020E
+:1092400002020202020202020202020202020202FE
+:1092500002020202020202020202020202020202EE
+:1092600002020202020202020202020202020202DE
+:1092700002020202020202020202020202020202CE
+:1092800002020202020202020202020202020202BE
+:1092900002020202020202020202020202020202AE
+:1092A000020202020202020202020202020202029E
+:1092B000020202020202020202020202020202028E
+:1092C000020202020202020202020202020202027E
+:1092D000020202020202020202020202020202026E
+:1092E000020202020202020202020202020202025E
+:1092F000020202020202020202020202020202024E
+:10930000020202020202020202020202020202023D
+:10931000020202020202020202020202020202022D
+:10932000020202020202020202020202020202021D
+:10933000020202020202020202020202020202020D
+:1093400002020202020202020202020202020202FD
+:1093500002020202020202020202020202020202ED
+:1093600002020202020202020202020202020202DD
+:1093700002020202020202020202020202020202CD
+:1093800002020202020202020202020202020202BD
+:1093900002020202020202020202020202020202AD
+:1093A000020202020202020202020202020202029D
+:1093B000020202020202020202020202020202028D
+:1093C000020202020202020202020202020202027D
+:1093D000020202020202020202020202020202026D
+:1093E000020202020202020202020202020202025D
+:1093F000020202020202020202020202020202024D
+:10940000020202020202020202020202020202023C
+:10941000020202020202020202020202020202022C
+:10942000020202020202020202020202020202021C
+:10943000020202020202020202020202020202020C
+:1094400002020202020202020202020202020202FC
+:1094500002020202020202020202020202020202EC
+:1094600002020202020202020202020202020202DC
+:1094700002020202020202020202020202020202CC
+:1094800002020202020202020202020202020202BC
+:1094900002020202020202020202020202020202AC
+:1094A000020202020202020202020202020202029C
+:1094B000020202020202020202020202020202028C
+:1094C000020202020202020202020202020202027C
+:1094D000020202020202020202020202020202026C
+:1094E000020202020202020202020202020202025C
+:1094F000020202020202020202020202020202024C
+:10950000020202020202020202020202020202023B
+:10951000020202020202020202020202020202022B
+:10952000020202020202020202020202020202021B
+:10953000020202020202020202020202020202020B
+:1095400002020202020202020202020202020202FB
+:1095500002020202020202020202020202020202EB
+:1095600002020202020202020202020202020202DB
+:1095700002020202020202020202020202020202CB
+:1095800002020202020202020202020202020202BB
+:1095900002020202020202020202020202020202AB
+:1095A000020202020202020202020202020202029B
+:1095B000020202020202020202020202020202028B
+:1095C000020202020202020202020202020202027B
+:1095D000020202020202020202020202020202026B
+:1095E000020202020202020202020202020202025B
+:1095F000020202020202020202020202020202024B
+:10960000020202020202020202020202020202023A
+:10961000020202020202020202020202020202022A
+:10962000020202020202020202020202020202021A
+:10963000020202020202020202020202020202020A
+:1096400002020202020202020202020202020202FA
+:1096500002020202020202020202020202020202EA
+:1096600002020202020202020202020202020202DA
+:1096700002020202020202020202020202020202CA
+:1096800002020202020202020202020202020202BA
+:1096900002020202020202020202020202020202AA
+:1096A000020202020202020202020202020202029A
+:1096B000020202020202020202020202020202028A
+:1096C000020202020202020202020202020202027A
+:1096D000020202020202020202020202020202026A
+:1096E000020202020202020202020202020202025A
+:1096F000020202020202020202020202020202024A
+:109700000202020202020202020202020202020239
+:109710000202020202020202020202020202020229
+:109720000202020202020202020202020202020219
+:109730000202020202020202020202020202020209
+:1097400002020202020202020202020202020202F9
+:1097500002020202020202020202020202020202E9
+:1097600002020202020202020202020202020202D9
+:1097700002020202020202020202020202020202C9
+:1097800002020202020202020202020202020202B9
+:1097900002020202020202020202020202020202A9
+:1097A0000202020202020202020202020202020299
+:1097B0000202020202020202020202020202020289
+:1097C0000202020202020202020202020202020279
+:1097D0000202020202020202020202020202020269
+:1097E0000202020202020202020202020202020259
+:1097F0000202020202020202020202020202020249
+:109800000202020202020202020202020202020238
+:109810000202020202020202020202020202020228
+:109820000202020202020202020202020202020218
+:109830000202020202020202020202020202020208
+:1098400002020202020202020202020202020202F8
+:1098500002020202020202020202020202020202E8
+:1098600002020202020202020202020202020202D8
+:1098700002020202020202020202020202020202C8
+:1098800002020202020202020202020202020202B8
+:1098900002020202020202020202020202020202A8
+:1098A0000202020202020202020202020202020298
+:1098B0000202020202020202020202020202020288
+:1098C0000202020202020202020202020202020278
+:1098D0000202020202020202020202020202020268
+:1098E0000202020202020202020202020202020258
+:1098F0000202020202020202020202020202020248
+:109900000202020202020202020202020202020237
+:109910000202020202020202020202020202020227
+:109920000202020202020202020202020202020217
+:109930000202020202020202020202020202020207
+:1099400002020202020202020202020202020202F7
+:1099500002020202020202020202020202020202E7
+:1099600002020202020202020202020202020202D7
+:1099700002020202020202020202020202020202C7
+:1099800002020202020202020202020202020202B7
+:1099900002020202020202020202020202020202A7
+:1099A0000202020202020202020202020202020297
+:1099B0000202020202020202020202020202020287
+:1099C0000202020202020202020202020202020277
+:1099D0000202020202020202020202020202020267
+:1099E0000202020202020202020202020202020257
+:1099F0000202020202020202020202020202020247
+:109A00000202020202020202020202020202020236
+:109A10000202020202020202020202020202020226
+:109A20000202020202020202020202020202020216
+:109A30000202020202020202020202020202020206
+:109A400002020202020202020202020202020202F6
+:109A500002020202020202020202020202020202E6
+:109A600002020202020202020202020202020202D6
+:109A700002020202020202020202020202020202C6
+:109A800002020202020202020202020202020202B6
+:109A900002020202020202020202020202020202A6
+:109AA0000202020202020202020202020202020296
+:109AB0000202020202020202020202020202020286
+:109AC0000202020202020202020202020202020276
+:109AD0000202020202020202020202020202020266
+:109AE0000202020202020202020202020202020256
+:109AF0000202020202020202020202020202020246
+:109B00000202020202020202020202020202020235
+:109B10000202020202020202020202020202020225
+:109B20000202020202020202020202020202020215
+:109B30000202020202020202020202020202020205
+:109B400002020202020202020202020202020202F5
+:109B500002020202020202020202020202020202E5
+:109B600002020202020202020202020202020202D5
+:109B700002020202020202020202020202020202C5
+:109B800002020202020202020202020202020202B5
+:109B900002020202020202020202020202020202A5
+:109BA0000202020202020202020202020202020295
+:109BB0000202020202020202020202020202020285
+:109BC0000202020202020202020202020202020275
+:109BD0000202020202020202020202020202020265
+:109BE0000202020202020202020202020202020255
+:109BF0000202020202020202020202020202020245
+:109C00000202020202020202020202020202020234
+:109C10000202020202020202020202020202020224
+:109C20000202020202020202020202020202020214
+:109C30000202020202020202020202020202020204
+:109C400002020202020202020202020202020202F4
+:109C500002020202020202020202020202020202E4
+:109C600002020202020202020202020202020202D4
+:109C700002020202020202020202020202020202C4
+:109C800002020202020202020202020202020202B4
+:109C900002020202020202020202020202020202A4
+:109CA0000202020202020202020202020202020294
+:109CB0000202020202020202020202020202020284
+:109CC0000202020202020202020202020202020274
+:109CD0000202020202020202020202020202020264
+:109CE0000202020202020202020202020202020254
+:109CF0000202020202020202020202020202020244
+:109D00000202020202020202020202020202020233
+:109D10000202020202020202020202020202020223
+:109D20000202020202020202020202020202020213
+:109D30000202020202020202020202020202020203
+:109D400002020202020202020202020202020202F3
+:109D500002020202020202020202020202020202E3
+:109D600002020202020202020202020202020202D3
+:109D700002020202020202020202020202020202C3
+:109D800002020202020202020202020202020202B3
+:109D900002020202020202020202020202020202A3
+:109DA0000202020202020202020202020202020293
+:109DB0000202020202020202020202020202020283
+:109DC0000202020202020202020202020202020273
+:109DD0000202020202020202020202020202020263
+:109DE0000202020202020202020202020202020253
+:109DF0000202020202020202020202020202020243
+:109E00000202020202020202020202020202020232
+:109E10000202020202020202020202020202020222
+:109E20000202020202020202020202020202020212
+:109E30000202020202020202020202020202020202
+:109E400002020202020202020202020202020202F2
+:109E500002020202020202020202020202020202E2
+:109E600002020202020202020202020202020202D2
+:109E700002020202020202020202020202020202C2
+:109E800002020202020202020202020202020202B2
+:109E900002020202020202020202020202020202A2
+:109EA0000202020202020202020202020202020292
+:109EB0000202020202020202020202020202020282
+:109EC0000202020202020202020202020202020272
+:109ED0000202020202020202020202020202020262
+:109EE0000202020202020202020202020202020252
+:109EF0000202020202020202020202020202020242
+:109F00000202020202020202020202020202020231
+:109F10000202020202020202020202020202020221
+:109F20000202020202020202020202020202020211
+:109F30000202020202020202020202020202020201
+:109F400002020202020202020202020202020202F1
+:109F500002020202020202020202020202020202E1
+:109F600002020202020202020202020202020202D1
+:109F700002020202020202020202020202020202C1
+:109F800002020202020202020202020202020202B1
+:109F900002020202020202020202020202020202A1
+:109FA0000202020202020202020202020202020291
+:109FB0000202020202020202020202020202020281
+:109FC0000202020202020202020202020202020271
+:109FD0000202020202020202020202020202020261
+:109FE0000202020202020202020202020202020251
+:109FF0000202020202020202020202020202020241
+:10A000000202020202020202020202020202020230
+:10A010000202020202020202020202020202020220
+:10A020000202020202020202020202020202020210
+:10A030000202020202020202020202020202020200
+:10A0400002020202020202020202020202020202F0
+:10A0500002020202020202020202020202020202E0
+:10A0600002020202020202020202020202020202D0
+:10A0700002020202020202020202020202020202C0
+:10A0800002020202020202020202020202020202B0
+:10A0900002020202020202020202020202020202A0
+:10A0A0000202020202020202020202020202020290
+:10A0B0000202020202020202020202020202020280
+:10A0C0000202020202020202020202020202020270
+:10A0D0000202020202020202020202020202020260
+:10A0E0000202020202020202020202020202020250
+:10A0F0000202020202020202020202020202020240
+:10A10000020202020202020202020202020202022F
+:10A11000020202020202020202020202020202021F
+:10A12000020202020202020202020202020202020F
+:10A1300002020202020202020202020202020202FF
+:10A1400002020202020202020202020202020202EF
+:10A1500002020202020202020202020202020202DF
+:10A1600002020202020202020202020202020202CF
+:10A1700002020202020202020202020202020202BF
+:10A1800002020202020202020202020202020202AF
+:10A19000020202020202020202020202020202029F
+:10A1A000020202020202020202020202020202028F
+:10A1B000020202020202020202020202020202027F
+:10A1C000020202020202020202020202020202026F
+:10A1D000020202020202020202020202020202025F
+:10A1E000020202020202020202020202020202024F
+:10A1F000020202020202020202020202020202023F
+:10A20000020202020202020202020202020202022E
+:10A21000020202020202020202020202020202021E
+:10A22000020202020202020202020202020202020E
+:10A2300002020202020202020202020202020202FE
+:10A2400002020202020202020202020202020202EE
+:10A2500002020202020202020202020202020202DE
+:10A2600002020202020202020202020202020202CE
+:10A2700002020202020202020202020202020202BE
+:10A2800002020202020202020202020202020202AE
+:10A29000020202020202020202020202020202029E
+:10A2A000020202020202020202020202020202028E
+:10A2B000020202020202020202020202020202027E
+:10A2C000020202020202020202020202020202026E
+:10A2D000020202020202020202020202020202025E
+:10A2E000020202020202020202020202020202024E
+:10A2F0000202020202020202020202020202020040
+:10A30000000000000000000000000000000000004D
+:10A31000000000000000000000000000000000003D
+:10A32000000000000000000000000000000000002D
+:10A33000000000000000000000000000000000001D
+:10A34000000000000000000000000000000000000D
+:10A3500000000000000000000000000000000000FD
+:10A3600000000000000000000000000000000000ED
+:10A3700000000000000000000000000000000000DD
+:10A3800000000000000000000000000000000000CD
+:10A3900000000000000000000000000000000000BD
+:10A3A00000000000000000000000000000000000AD
+:10A3B000000000000000000000000000000000009D
+:10A3C000000000000000000000000000000000008D
+:10A3D000000000000000000000000000000000007D
+:10A3E000000000000000000000000000000000006D
+:10A3F000000000000000000000000000000000005D
+:10A40000000000000000000000000000000000004C
+:10A41000000000000000000000000000000000003C
+:10A42000000000000000000000000000000000002C
+:10A43000000000000000000000000000000000001C
+:10A44000000000000000000000000000000000000C
+:10A4500000000000000000000000000000000000FC
+:10A4600000000000000000000000000000000000EC
+:10A4700000000000000000000000000000000000DC
+:10A4800000000000000000000000000000000000CC
+:10A4900000000000000000000000000000000000BC
+:10A4A00000000000000000000000000000000000AC
+:10A4B000000000000000000000000000000000009C
+:10A4C000000000000000000000000000000000008C
+:10A4D000000000000000000000000000000000007C
+:10A4E000000000000000000000000000000000006C
+:10A4F000000000000000000000000000000000005C
+:10A50000000000000000000000000000000000004B
+:10A51000000000000000000000000000000000003B
+:10A52000000000000000000000000000000000002B
+:10A53000000000000000000000000000000000001B
+:10A54000000000000000000000000000000000000B
+:10A5500000000000000000000000000000000000FB
+:10A5600000000000000000000000000000000000EB
+:10A5700000000000000000000000000000000000DB
+:10A5800000000000000000000000000000000000CB
+:10A5900000000000000000000000000000000000BB
+:10A5A00000000000000000000000000000000000AB
+:10A5B000000000000000000000000000000000009B
+:10A5C000000000000000000000000000000000008B
+:10A5D000000000000000000000000000000000007B
+:10A5E000000000000000000000000000000000006B
+:10A5F000000000000000000000000000000000005B
+:10A60000000000000000000000000000000000004A
+:10A61000000000000000000000000000000000003A
+:10A62000000000000000000000000000000000002A
+:10A63000000000000000000000000000000000001A
+:10A64000000000000000000000000000000000000A
+:10A6500000000000000000000000000000000000FA
+:10A6600000000000000000000000000000000000EA
+:10A6700000000000000000000000000000000000DA
+:10A6800000000000000000000000000000000000CA
+:10A6900000000000000000000000000000000000BA
+:10A6A00000000000000000000000000000000000AA
+:10A6B000000000000000000000000000000000009A
+:10A6C000000000000000000000000000000000008A
+:10A6D000000000000000000000000000000000007A
+:10A6E000000000000000000000000000000000006A
+:10A6F000000000000000000000000000000000005A
+:10A700000000000000000000000000000000000049
+:10A710000000000000000000000000000000000039
+:10A720000000000000000000000000000000000029
+:10A730000000000000000000000000000000000019
+:10A740000000000000000000000000000000000009
+:10A7500000000000000000000000000000000000F9
+:10A7600000000000000000000000000000000000E9
+:10A7700000000000000000000000000000000000D9
+:10A7800000000000000000000000000000000000C9
+:10A7900000000000000000000000000000000000B9
+:10A7A00000000000000000000000000000000000A9
+:10A7B0000000000000000000000000000000000099
+:10A7C0000000000000000000000000000000000089
+:10A7D0000000000000000000000000000000000079
+:10A7E0000000000000000000000000000000000069
+:10A7F0000000000000000000000000000000000059
+:10A800000000000000000000000000000000000048
+:10A810000000000000000000000000000000000038
+:10A820000000000000000000000000000000000028
+:10A830000000000000000000000000000000000018
+:10A840000000000000000000000000000000000008
+:10A8500000000000000000000000000000000000F8
+:10A8600000000000000000000000000000000000E8
+:10A8700000000000000000000000000000000000D8
+:10A8800000000000000000000000000000000000C8
+:10A8900000000000000000000000000000000000B8
+:10A8A00000000000000000000000000000000000A8
+:10A8B0000000000000000000000000000000000098
+:10A8C0000000000000000000000000000000000088
+:10A8D0000000000000000000000000000000000078
+:10A8E0000000000000000000000000000000000068
+:10A8F0000000000000000000000000000000000058
+:10A900000000000000000000000000000000000047
+:10A910000000000000000000000000000000000037
+:10A920000000000000000000000000000000000027
+:10A930000000000000000000000000000000000017
+:10A940000000000000000000000000000000000007
+:10A9500000000000000000000000000000000000F7
+:10A9600000000000000000000000000000000000E7
+:10A9700000000000000000000000000000000000D7
+:10A9800000000000000000000000000000000000C7
+:10A9900000000000000000000000000000000000B7
+:10A9A00000000000000000000000000000000000A7
+:10A9B0000000000000000000000000000000000097
+:10A9C0000000000000000000000000000000000087
+:10A9D0000000000000000000000000000000000077
+:10A9E0000000000000000000000000000000000067
+:10A9F0000000000000000000000000000000000057
+:10AA00000000000000000000000000000000000046
+:10AA10000000000000000000000000000000000036
+:10AA20000000000000000000000000000000000026
+:10AA30000000000000000000000000000000000016
+:10AA40000000000000000000000000000000000006
+:10AA500000000000000000000000000000000000F6
+:10AA600000000000000000000000000000000000E6
+:10AA700000000000000000000000000000000000D6
+:10AA800000000000000000000000000000000000C6
+:10AA900000000000000000000000000000000000B6
+:10AAA00000000000000000000000000000000000A6
+:10AAB0000000000000000000000000000000000096
+:10AAC0000000000000000000000000000000000086
+:10AAD0000000000000000000000000000000000076
+:10AAE0000000000000000000000000000000000066
+:10AAF00000000000000000000000000000000087CF
+:10AB0000000000000000000101010101010101013C
+:10AB10000101010101010101010101010101010125
+:10AB20000101010101010101010101010101010115
+:10AB30000101010101010101010101010101010105
+:10AB400001010101010101010101010101010101F5
+:10AB500001010101010101010101010101010101E5
+:10AB600001010101010101010101010101010101D5
+:10AB700001010101010101010101010101010101C5
+:10AB800001010101010101010101010101010101B5
+:10AB900001010101010101010101010101010101A5
+:10ABA0000101010101010101010101010101010195
+:10ABB0000101010101010101010101010101010185
+:10ABC0000101010101010101010101010101010175
+:10ABD0000101010101010101010101010101010165
+:10ABE0000101010101010101010101010101010155
+:10ABF0000101010101010101010101010101010145
+:10AC00000101010101010101010101010101010134
+:10AC10000101010101010101010101010101010124
+:10AC20000101010101010101010101010101010114
+:10AC30000101010101010101010101010101010104
+:10AC400001010101010101010101010101010101F4
+:10AC500001010101010101010101010101010101E4
+:10AC600001010101010101010101010101010101D4
+:10AC700001010101010101010101010101010101C4
+:10AC800001010101010101010101010101010101B4
+:10AC900001010101010101010101010101010101A4
+:10ACA0000101010101010101010101010101010194
+:10ACB0000101010101010101010101010101010184
+:10ACC0000101010101010101010101010101010174
+:10ACD0000101010101010101010101010101010164
+:10ACE0000101010101010101010101010101010154
+:10ACF0000101010101010101010101010101010144
+:10AD00000101010101010101010101010101010133
+:10AD10000101010101010101010101010101010123
+:10AD20000101010101010101010101010101010113
+:10AD30000101010101010101010101010101010103
+:10AD400001010101010101010101010101010101F3
+:10AD500001010101010101010101010101010101E3
+:10AD600001010101010101010101010101010101D3
+:10AD700001010101010101010101010101010101C3
+:10AD800001010101010101010101010101010101B3
+:10AD900001010101010101010101010101010101A3
+:10ADA0000101010101010101010101010101010193
+:10ADB0000101010101010101010101010101010183
+:10ADC0000101010101010101010101010101010173
+:10ADD0000101010101010101010101010101010163
+:10ADE0000101010101010101010101010101010153
+:10ADF0000101010101010101010101010101010143
+:10AE00000101010101010101010101010101010132
+:10AE10000101010101010101010101010101010122
+:10AE20000101010101010101010101010101010112
+:10AE30000101010101010101010101010101010102
+:10AE400001010101010101010101010101010101F2
+:10AE500001010101010101010101010101010101E2
+:10AE600001010101010101010101010101010101D2
+:10AE700001010101010101010101010101010101C2
+:10AE800001010101010101010101010101010101B2
+:10AE900001010101010101010101010101010101A2
+:10AEA0000101010101010101010101010101010192
+:10AEB0000101010101010101010101010101010182
+:10AEC0000101010101010101010101010101010172
+:10AED0000101010101010101010101010101010162
+:10AEE0000101010101010101010101010101010152
+:10AEF0000101010101010101010101010101010142
+:10AF00000101010101010101010101010101010131
+:10AF10000101010101010101010101010101010121
+:10AF20000101010101010101010101010101010111
+:10AF30000101010101010101010101010101010101
+:10AF400001010101010101010101010101010101F1
+:10AF500001010101010101010101010101010101E1
+:10AF600001010101010101010101010101010101D1
+:10AF700001010101010101010101010101010101C1
+:10AF800001010101010101010101010101010101B1
+:10AF900001010101010101010101010101010101A1
+:10AFA0000101010101010101010101010101010191
+:10AFB0000101010101010101010101010101010181
+:10AFC0000101010101010101010101010101010171
+:10AFD0000101010101010101010101010101010161
+:10AFE0000101010101010101010101010101010151
+:10AFF0000101010101010101010101010101010141
+:10B000000101010101010101010101010101010130
+:10B010000101010101010101010101010101010120
+:10B020000101010101010101010101010101010110
+:10B030000101010101010101010101010101010100
+:10B0400001010101010101010101010101010101F0
+:10B0500001010101010101010101010101010101E0
+:10B0600001010101010101010101010101010101D0
+:10B0700001010101010101010101010101010101C0
+:10B0800001010101010101010101010101010101B0
+:10B0900001010101010101010101010101010101A0
+:10B0A0000101010101010101010101010101010190
+:10B0B0000101010101010101010101010101010180
+:10B0C0000101010101010101010101010101010170
+:10B0D0000101010101010101010101010101010160
+:10B0E0000101010101010101010101010101010150
+:10B0F0000101010101010101010101010101010140
+:10B10000010101010101010101010101010101012F
+:10B11000010101010101010101010101010101011F
+:10B12000010101010101010101010101010101010F
+:10B1300001010101010101010101010101010101FF
+:10B1400001010101010101010101010101010101EF
+:10B1500001010101010101010101010101010101DF
+:10B1600001010101010101010101010101010101CF
+:10B1700001010101010101010101010101010101BF
+:10B1800001010101010101010101010101010101AF
+:10B19000010101010101010101010101010101019F
+:10B1A000010101010101010101010101010101018F
+:10B1B000010101010101010101010101010101017F
+:10B1C000010101010101010101010101010101016F
+:10B1D000010101010101010101010101010101015F
+:10B1E000010101010101010101010101010101014F
+:10B1F000010101010101010101010101010101013F
+:10B20000010101010101010101010101010101012E
+:10B21000010101010101010101010101010101011E
+:10B22000010101010101010101010101010101010E
+:10B2300001010101010101010101010101010101FE
+:10B2400001010101010101010101010101010101EE
+:10B2500001010101010101010101010101010101DE
+:10B2600001010101010101010101010101010101CE
+:10B2700001010101010101010101010101010101BE
+:10B2800001010101010101010101010101010101AE
+:10B29000010101010101010101010101010101019E
+:10B2A000010101010101010101010101010101018E
+:10B2B000010101010101010101010101010101017E
+:10B2C000010101010101010101010101010101016E
+:10B2D000010101010101010101010101010101015E
+:10B2E000010101010101010101010101010101014E
+:10B2F000010101010101010101010101010101013E
+:10B30000010101010101010101010101010101012D
+:10B31000010101010101010101010101010101011D
+:10B32000010101010101010101010101010101010D
+:10B3300001010101010101010101010101010101FD
+:10B3400001010101010101010101010101010101ED
+:10B3500001010101010101010101010101010101DD
+:10B3600001010101010101010101010101010101CD
+:10B3700001010101010101010101010101010101BD
+:10B3800001010101010101010101010101010101AD
+:10B39000010101010101010101010101010101019D
+:10B3A000010101010101010101010101010101018D
+:10B3B000010101010101010101010101010101017D
+:10B3C000010101010101010101010101010101016D
+:10B3D000010101010101010101010101010101015D
+:10B3E000010101010101010101010101010101014D
+:10B3F000010101010101010101010101010101013D
+:10B40000010101010101010101010101010101012C
+:10B41000010101010101010101010101010101011C
+:10B42000010101010101010101010101010101010C
+:10B4300001010101010101010101010101010101FC
+:10B4400001010101010101010101010101010101EC
+:10B4500001010101010101010101010101010101DC
+:10B4600001010101010101010101010101010101CC
+:10B4700001010101010101010101010101010101BC
+:10B4800001010101010101010101010101010101AC
+:10B49000010101010101010101010101010101019C
+:10B4A000010101010101010101010101010101018C
+:10B4B000010101010101010101010101010101017C
+:10B4C000010101010101010101010101010101016C
+:10B4D000010101010101010101010101010101015C
+:10B4E000010101010101010101010101010101014C
+:10B4F000010101010101010101010101010101013C
+:10B50000010101010101010101010101010101012B
+:10B51000010101010101010101010101010101011B
+:10B52000010101010101010101010101010101010B
+:10B5300001010101010101010101010101010101FB
+:10B5400001010101010101010101010101010101EB
+:10B5500001010101010101010101010101010101DB
+:10B5600001010101010101010101010101010101CB
+:10B5700001010101010101010101010101010101BB
+:10B5800001010101010101010101010101010101AB
+:10B59000010101010101010101010101010101019B
+:10B5A000010101010101010101010101010101018B
+:10B5B000010101010101010101010101010101017B
+:10B5C000010101010101010101010101010101016B
+:10B5D000010101010101010101010101010101015B
+:10B5E000010101010101010101010101010101014B
+:10B5F000010101010101010101010101010101013B
+:10B60000010101010101010101010101010101012A
+:10B61000010101010101010101010101010101011A
+:10B62000010101010101010101010101010101010A
+:10B6300001010101010101010101010101010101FA
+:10B6400001010101010101010101010101010101EA
+:10B6500001010101010101010101010101010101DA
+:10B6600001010101010101010101010101010101CA
+:10B6700001010101010101010101010101010101BA
+:10B6800001010101010101010101010101010101AA
+:10B69000010101010101010101010101010101019A
+:10B6A000010101010101010101010101010101018A
+:10B6B000010101010101010101010101010101017A
+:10B6C000010101010101010101010101010101016A
+:10B6D000010101010101010101010101010101015A
+:10B6E000010101010101010101010101010101014A
+:10B6F000010101010101010101010101010101013A
+:10B700000101010101010101010101010101010129
+:10B710000101010101010101010101010101010119
+:10B720000101010101010101010101010101010109
+:10B7300001010101010101010101010101010101F9
+:10B7400001010101010101010101010101010101E9
+:10B7500001010101010101010101010101010101D9
+:10B7600001010101010101010101010101010101C9
+:10B7700001010101010101010101010101010101B9
+:10B7800001010101010101010101010101010101A9
+:10B790000101010101010101010101010101010199
+:10B7A0000101010101010101010101010101010189
+:10B7B0000101010101010101010101010101010179
+:10B7C0000101010101010101010101010101010169
+:10B7D0000101010101010101010101010101010159
+:10B7E0000101010101010101010101010101010149
+:10B7F0000101010101010101010101010101010139
+:10B800000101010101010101010101010101010128
+:10B810000101010101010101010101010101010118
+:10B820000101010101010101010101010101010108
+:10B8300001010101010101010101010101010101F8
+:10B8400001010101010101010101010101010101E8
+:10B8500001010101010101010101010101010101D8
+:10B8600001010101010101010101010101010101C8
+:10B8700001010101010101010101010101010101B8
+:10B8800001010101010101010101010101010101A8
+:10B890000101010101010101010101010101010198
+:10B8A0000101010101010101010101010101010188
+:10B8B0000101010101010101010101010101010178
+:10B8C0000101010101010101010101010101010168
+:10B8D0000101010101010101010101010101010158
+:10B8E0000101010101010101010101010101010148
+:10B8F0000101010101010101010101010101010138
+:10B900000101010101010101010101010101010127
+:10B910000101010101010101010101010101010117
+:10B920000101010101010101010101010101010107
+:10B9300001010101010101010101010101010101F7
+:10B9400001010101010101010101010101010101E7
+:10B9500001010101010101010101010101010101D7
+:10B9600001010101010101010101010101010101C7
+:10B9700001010101010101010101010101010101B7
+:10B9800001010101010101010101010101010101A7
+:10B990000101010101010101010101010101010197
+:10B9A0000101010101010101010101010101010187
+:10B9B0000101010101010101010101010101010177
+:10B9C0000101010101010101010101010101010167
+:10B9D0000101010101010101010101010101010157
+:10B9E0000101010101010101010101010101010147
+:10B9F0000101010101010101010101010101010137
+:10BA00000101010101010101010101010101010126
+:10BA10000101010101010101010101010101010116
+:10BA20000101010101010101010101010101010106
+:10BA300001010101010101010101010101010101F6
+:10BA400001010101010101010101010101010101E6
+:10BA500001010101010101010101010101010101D6
+:10BA600001010101010101010101010101010101C6
+:10BA700001010101010101010101010101010101B6
+:10BA800001010101010101010101010101010101A6
+:10BA90000101010101010101010101010101010196
+:10BAA0000101010101010101010101010101010186
+:10BAB0000101010101010101010101010101010176
+:10BAC0000101010101010101010101010101010166
+:10BAD0000101010101010101010101010101010156
+:10BAE0000101010101010101010101010101010146
+:10BAF0000101010101010101010101010101010136
+:10BB00000101010101010101010101010101010125
+:10BB10000101010101010101010101010101010115
+:10BB20000101010101010101010101010101010105
+:10BB300001010101010101010101010101010101F5
+:10BB400001010101010101010101010101010101E5
+:10BB500001010101010101010101010101010101D5
+:10BB600001010101010101010101010101010101C5
+:10BB700001010101010101010101010101010101B5
+:10BB800001010101010101010101010101010101A5
+:10BB90000101010101010101010101010101010195
+:10BBA0000101010101010101010101010101010185
+:10BBB0000101010101010101010101010101010175
+:10BBC0000101010101010101010101010101010165
+:10BBD0000101010101010101010101010101010155
+:10BBE0000101010101010101010101010101010145
+:10BBF0000101010101010101010101010101010135
+:10BC00000101010101010101010101010101010124
+:10BC10000101010101010101010101010101010114
+:10BC20000101010101010101010101010101010104
+:10BC300001010101010101010101010101010101F4
+:10BC400001010101010101010101010101010101E4
+:10BC500001010101010101010101010101010101D4
+:10BC600001010101010101010101010101010101C4
+:10BC700001010101010101010101010101010101B4
+:10BC800001010101010101010101010101010101A4
+:10BC90000101010101010101010101010101010194
+:10BCA0000101010101010101010101010101010184
+:10BCB0000101010101010101010101010101010174
+:10BCC0000101010101010101010101010101010164
+:10BCD0000101010101010101010101010101010154
+:10BCE0000101010101010101010101010101010144
+:10BCF0000101010101010101010101010101010134
+:10BD00000101010101010101010101010101010123
+:10BD10000101010101010101010101010101010113
+:10BD20000101010101010101010101010101010103
+:10BD300001010101010101010101010101010101F3
+:10BD400001010101010101010101010101010101E3
+:10BD500001010101010101010101010101010101D3
+:10BD600001010101010101010101010101010101C3
+:10BD700001010101010101010101010101010101B3
+:10BD800001010101010101010101010101010101A3
+:10BD90000101010101010101010101010101010193
+:10BDA0000101010101010101010101010101010183
+:10BDB0000101010101010101010101010101010173
+:10BDC0000101010101010101010101010101010163
+:10BDD0000101010101010101010101010101010153
+:10BDE0000101010101010101010101010101010143
+:10BDF0000101010101010101010101010101010133
+:10BE00000101010101010101010101010101010122
+:10BE10000101010101010101010101010101010112
+:10BE20000101010101010101010101010101010102
+:10BE300001010101010101010101010101010101F2
+:10BE400001010101010101010101010101010101E2
+:10BE500001010101010101010101010101010101D2
+:10BE600001010101010101010101010101010101C2
+:10BE700001010101010101010101010101010101B2
+:10BE800001010101010101010101010101010101A2
+:10BE90000101010101010101010101010101010192
+:10BEA0000101010101010101010101010101010182
+:10BEB0000101010101010101010101010101010172
+:10BEC0000101010101010101010101010101010162
+:10BED0000101010101010101010101010101010152
+:10BEE0000101010101010101010101010101010142
+:10BEF0000101010101010101010101010101010132
+:10BF00000101010101010101010101010101010121
+:10BF10000101010101010101010101010101010111
+:10BF20000101010101010101010101010101010101
+:10BF300001010101010101010101010101010101F1
+:10BF400001010101010101010101010101010101E1
+:10BF500001010101010101010101010101010101D1
+:10BF600001010101010101010101010101010101C1
+:10BF700001010101010101010101010101010101B1
+:10BF800001010101010101010101010101010101A1
+:10BF90000101010101010101010101010101010191
+:10BFA0000101010101010101010101010101010181
+:10BFB0000101010101010101010101010101010171
+:10BFC0000101010101010101010101010101010161
+:10BFD0000101010101010101010101010101010151
+:10BFE0000101010101010101010101010101010141
+:10BFF0000101010101010101010101010101010131
+:10C000000101010101010101010101010101010120
+:10C010000101010101010101010101010101010110
+:10C020000101010101010101010101010101010100
+:10C0300001010101010101010101010101010101F0
+:10C0400001010101010101010101010101010101E0
+:10C0500001010101010101010101010101010101D0
+:10C0600001010101010101010101010101010101C0
+:10C0700001010101010101010101010101010101B0
+:10C0800001010101010101010101010101010101A0
+:10C090000101010101010101010101010101010190
+:10C0A0000101010101010101010101010101010180
+:10C0B0000101010101010101010101010101010170
+:10C0C0000101010101010101010101010101010160
+:10C0D0000101010101010101010101010101010150
+:10C0E0000101010101010101010101010101010140
+:10C0F0000101010101010101010101010101010130
+:10C10000010101010101010101010101010101011F
+:10C11000010101010101010101010101010101010F
+:10C1200001010101010101010101010101010101FF
+:10C1300001010101010101010101010101010101EF
+:10C1400001010101010101010101010101010101DF
+:10C1500001010101010101010101010101010101CF
+:10C1600001010101010101010101010101010101BF
+:10C1700001010101010101010101010101010101AF
+:10C18000010101010101010101010101010101019F
+:10C19000010101010101010101010101010101018F
+:10C1A000010101010101010101010101010101017F
+:10C1B000010101010101010101010101010101016F
+:10C1C000010101010101010101010101010101015F
+:10C1D000010101010101010101010101010101014F
+:10C1E000010101010101010101010101010101013F
+:10C1F000010101010101010101010101010101012F
+:10C20000010101010101010101010101010101011E
+:10C21000010101010101010101010101010101010E
+:10C2200001010101010101010101010101010101FE
+:10C2300001010101010101010101010101010101EE
+:10C2400001010101010101010101010101010101DE
+:10C2500001010101010101010101010101010101CE
+:10C2600001010101010101010101010101010101BE
+:10C2700001010101010101010101010101010101AE
+:10C28000010101010101010101010101010101019E
+:10C29000010101010101010101010101010101018E
+:10C2A000010101010101010101010101010101017E
+:10C2B000010101010101010101010101010101016E
+:10C2C000010101010101010101010101010101015E
+:10C2D000010101010101010101010101010101014E
+:10C2E000010101010101010101010101010101013E
+:10C2F000010101010101010101010101010101012E
+:10C300000101010101010100000000000000000026
+:10C31000000000000000000000000000000000001D
+:10C32000000000000000000000000000000000000D
+:10C3300000000000000000000000000000000000FD
+:10C3400000000000000000000000000000000000ED
+:10C3500000000000000000000000000000000000DD
+:10C3600000000000000000000000000000000000CD
+:10C3700000000000000000000000000000000000BD
+:10C3800000000000000000000000000000000000AD
+:10C39000000000000000000000000000000000009D
+:10C3A000000000000000000000000000000000008D
+:10C3B000000000000000000000000000000000007D
+:10C3C000000000000000000000000000000000006D
+:10C3D000000000000000000000000000000000005D
+:10C3E000000000000000000000000000000000004D
+:10C3F000000000000000000000000000000000003D
+:10C40000000000000000000000000000000000002C
+:10C41000000000000000000000000000000000001C
+:10C42000000000000000000000000000000000000C
+:10C4300000000000000000000000000000000000FC
+:10C4400000000000000000000000000000000000EC
+:10C4500000000000000000000000000000000000DC
+:10C4600000000000000000000000000000000000CC
+:10C4700000000000000000000000000000000000BC
+:10C4800000000000000000000000000000000000AC
+:10C49000000000000000000000000000000000009C
+:10C4A000000000000000000000000000000000008C
+:10C4B000000000000000000000000000000000007C
+:10C4C000000000000000000000000000000000006C
+:10C4D000000000000000000000000000000000005C
+:10C4E000000000000000000000000000000000004C
+:10C4F000000000000000000000000000000000003C
+:10C50000000000000000000000000000000000002B
+:10C51000000000000000000000000000000000001B
+:10C52000000000000000000000000000000000000B
+:10C5300000000000000000000000000000000000FB
+:10C5400000000000000000000000000000000000EB
+:10C5500000000000000000000000000000000000DB
+:10C5600000000000000000000000000000000000CB
+:10C5700000000000000000000000000000000000BB
+:10C5800000000000000000000000000000000000AB
+:10C59000000000000000000000000000000000009B
+:10C5A000000000000000000000000000000000008B
+:10C5B000000000000000000000000000000000007B
+:10C5C000000000000000000000000000000000006B
+:10C5D000000000000000000000000000000000005B
+:10C5E000000000000000000000000000000000004B
+:10C5F000000000000000000000000000000000003B
+:10C60000000000000000000000000000000000002A
+:10C61000000000000000000000000000000000001A
+:10C62000000000000000000000000000000000000A
+:10C6300000000000000000000000000000000000FA
+:10C6400000000000000000000000000000000000EA
+:10C6500000000000000000000000000000000000DA
+:10C6600000000000000000000000000000000000CA
+:10C6700000000000000000000000000000000000BA
+:10C6800000000000000000000000000000000000AA
+:10C69000000000000000000000000000000000009A
+:10C6A000000000000000000000000000000000008A
+:10C6B000000000000000000000000000000000007A
+:10C6C000000000000000000000000000000000006A
+:10C6D000000000000000000000000000000000005A
+:10C6E000000000000000000000000000000000004A
+:10C6F000000000000000000000000000000000003A
+:10C700000000000000000001010101010101010120
+:10C710000101010101010101010101010101010109
+:10C7200001010101010101010101010101010101F9
+:10C7300001010101010101010101010101010101E9
+:10C7400001010101010101010101010101010101D9
+:10C7500001010101010101010101010101010101C9
+:10C7600001010101010101010101010101010101B9
+:10C7700001010101010101010101010101010101A9
+:10C780000101010101010101010101010101010199
+:10C790000101010101010101010101010101010189
+:10C7A0000101010101010101010101010101010179
+:10C7B0000101010101010101010101010101010169
+:10C7C0000101010101010101010101010101010159
+:10C7D0000101010101010101010101010101010149
+:10C7E0000101010101010101010101010101010139
+:10C7F0000101010101010101010101010101010129
+:10C800000101010101010101010101010101010118
+:10C810000101010101010101010101010101010108
+:10C8200001010101010101010101010101010101F8
+:10C8300001010101010101010101010101010101E8
+:10C8400001010101010101010101010101010101D8
+:10C8500001010101010101010101010101010101C8
+:10C8600001010101010101010101010101010101B8
+:10C8700001010101010101010101010101010101A8
+:10C880000101010101010101010101010101010198
+:10C890000101010101010101010101010101010188
+:10C8A0000101010101010101010101010101010178
+:10C8B0000101010101010101010101010101010168
+:10C8C0000101010101010101010101010101010158
+:10C8D0000101010101010101010101010101010148
+:10C8E0000101010101010101010101010101010138
+:10C8F0000101010101010101010101010101010128
+:10C900000101010101010101010101010101010117
+:10C910000101010101010101010101010101010107
+:10C9200001010101010101010101010101010101F7
+:10C9300001010101010101010101010101010101E7
+:10C9400001010101010101010101010101010101D7
+:10C9500001010101010101010101010101010101C7
+:10C9600001010101010101010101010101010101B7
+:10C9700001010101010101010101010101010101A7
+:10C980000101010101010101010101010101010197
+:10C990000101010101010101010101010101010187
+:10C9A0000101010101010101010101010101010177
+:10C9B0000101010101010101010101010101010167
+:10C9C0000101010101010101010101010101010157
+:10C9D0000101010101010101010101010101010147
+:10C9E0000101010101010101010101010101010137
+:10C9F0000101010101010101010101010101010127
+:10CA0000010101010101010202020202020202020D
+:10CA100002020202020202020202020202020202F6
+:10CA200002020202020202020202020202020202E6
+:10CA300002020202020202020202020202020202D6
+:10CA400002020202020202020202020202020202C6
+:10CA500002020202020202020202020202020202B6
+:10CA600002020202020202020202020202020202A6
+:10CA70000202020202020202020202020202020296
+:10CA80000202020202020202020202020202020286
+:10CA90000202020202020202020202020202020276
+:10CAA0000202020202020202020202020202020266
+:10CAB0000202020202020202020202020202020256
+:10CAC0000202020202020202020202020202020246
+:10CAD0000202020202020202020202020202020236
+:10CAE0000202020202020202020202020202020226
+:10CAF0000202020202020202020202020202020216
+:10CB00000202020202020202020202020202020205
+:10CB100002020202020202020202020202020202F5
+:10CB200002020202020202020202020202020202E5
+:10CB300002020202020202020202020202020202D5
+:10CB400002020202020202020202020202020202C5
+:10CB500002020202020202020202020202020202B5
+:10CB600002020202020202020202020202020202A5
+:10CB70000202020202020202020202020202020295
+:10CB80000202020202020202020202020202020285
+:10CB90000202020202020202020202020202020275
+:10CBA0000202020202020202020202020202020265
+:10CBB0000202020202020202020202020202020255
+:10CBC0000202020202020202020202020202020245
+:10CBD0000202020202020202020202020202020235
+:10CBE0000202020202020202020202020202020225
+:10CBF0000202020202020202020202020202020215
+:10CC00000202020202020202020202020202020204
+:10CC100002020202020202020202020202020202F4
+:10CC200002020202020202020202020202020202E4
+:10CC300002020202020202020202020202020202D4
+:10CC400002020202020202020202020202020202C4
+:10CC500002020202020202020202020202020202B4
+:10CC600002020202020202020202020202020202A4
+:10CC70000202020202020202020202020202020294
+:10CC80000202020202020202020202020202020284
+:10CC90000202020202020202020202020202020274
+:10CCA0000202020202020202020202020202020264
+:10CCB0000202020202020202020202020202020254
+:10CCC0000202020202020202020202020202020244
+:10CCD0000202020202020202020202020202020234
+:10CCE0000202020202020202020202020202020224
+:10CCF0000202020202020202020202020202020214
+:10CD00000202020202020202020202020202020203
+:10CD100002020202020202020202020202020202F3
+:10CD200002020202020202020202020202020202E3
+:10CD300002020202020202020202020202020202D3
+:10CD400002020202020202020202020202020202C3
+:10CD500002020202020202020202020202020202B3
+:10CD600002020202020202020202020202020202A3
+:10CD70000202020202020202020202020202020293
+:10CD80000202020202020202020202020202020283
+:10CD90000202020202020202020202020202020273
+:10CDA0000202020202020202020202020202020263
+:10CDB0000202020202020202020202020202020253
+:10CDC0000202020202020202020202020202020243
+:10CDD0000202020202020202020202020202020233
+:10CDE0000202020202020202020202020202020223
+:10CDF0000202020202020202020202020202020213
+:10CE00000202020202020202020202020202020202
+:10CE100002020202020202020202020202020202F2
+:10CE200002020202020202020202020202020202E2
+:10CE300002020202020202020202020202020202D2
+:10CE400002020202020202020202020202020202C2
+:10CE500002020202020202020202020202020202B2
+:10CE600002020202020202020202020202020202A2
+:10CE70000202020202020202020202020202020292
+:10CE80000202020202020202020202020202020282
+:10CE90000202020202020202020202020202020272
+:10CEA0000202020202020202020202020202020262
+:10CEB0000202020202020202020202020202020252
+:10CEC0000202020202020202020202020202020242
+:10CED0000202020202020202020202020202020232
+:10CEE0000202020202020202020202020202020222
+:10CEF0000202020202020202020202020202020212
+:10CF00000202020202020202020202020202020201
+:10CF100002020202020202020202020202020202F1
+:10CF200002020202020202020202020202020202E1
+:10CF300002020202020202020202020202020202D1
+:10CF400002020202020202020202020202020202C1
+:10CF500002020202020202020202020202020202B1
+:10CF600002020202020202020202020202020202A1
+:10CF70000202020202020202020202020202020291
+:10CF80000202020202020202020202020202020281
+:10CF90000202020202020202020202020202020271
+:10CFA0000202020202020202020202020202020261
+:10CFB0000202020202020202020202020202020251
+:10CFC0000202020202020202020202020202020241
+:10CFD0000202020202020202020202020202020231
+:10CFE0000202020202020202020202020202020221
+:10CFF0000202020202020202020202020202020211
+:10D000000202020202020202020202020202020200
+:10D0100002020202020202020202020202020202F0
+:10D0200002020202020202020202020202020202E0
+:10D0300002020202020202020202020202020202D0
+:10D0400002020202020202020202020202020202C0
+:10D0500002020202020202020202020202020202B0
+:10D0600002020202020202020202020202020202A0
+:10D070000202020202020202020202020202020290
+:10D080000202020202020202020202020202020280
+:10D090000202020202020202020202020202020270
+:10D0A0000202020202020202020202020202020260
+:10D0B0000202020202020202020202020202020250
+:10D0C0000202020202020202020202020202020240
+:10D0D0000202020202020202020202020202020230
+:10D0E0000202020202020202020202020202020220
+:10D0F0000202020202020202020202020202020210
+:10D1000002020202020202020202020202020202FF
+:10D1100002020202020202020202020202020202EF
+:10D1200002020202020202020202020202020202DF
+:10D1300002020202020202020202020202020202CF
+:10D1400002020202020202020202020202020202BF
+:10D1500002020202020202020202020202020202AF
+:10D16000020202020202020202020202020202029F
+:10D17000020202020202020202020202020202028F
+:10D18000020202020202020202020202020202027F
+:10D19000020202020202020202020202020202026F
+:10D1A000020202020202020202020202020202025F
+:10D1B000020202020202020202020202020202024F
+:10D1C000020202020202020202020202020202023F
+:10D1D000020202020202020202020202020202022F
+:10D1E000020202020202020202020202020202021F
+:10D1F000020202020202020202020202020202020F
+:10D2000002020202020202020202020202020202FE
+:10D2100002020202020202020202020202020202EE
+:10D2200002020202020202020202020202020202DE
+:10D2300002020202020202020202020202020202CE
+:10D2400002020202020202020202020202020202BE
+:10D2500002020202020202020202020202020202AE
+:10D26000020202020202020202020202020202029E
+:10D27000020202020202020202020202020202028E
+:10D28000020202020202020202020202020202027E
+:10D29000020202020202020202020202020202026E
+:10D2A000020202020202020202020202020202025E
+:10D2B000020202020202020202020202020202024E
+:10D2C000020202020202020202020202020202023E
+:10D2D000020202020202020202020202020202022E
+:10D2E000020202020202020202020202020202021E
+:10D2F000020202020202020202020202020202020E
+:10D3000002020202020202020202020202020202FD
+:10D3100002020202020202020202020202020202ED
+:10D3200002020202020202020202020202020202DD
+:10D3300002020202020202020202020202020202CD
+:10D3400002020202020202020202020202020202BD
+:10D3500002020202020202020202020202020202AD
+:10D36000020202020202020202020202020202029D
+:10D37000020202020202020202020202020202028D
+:10D38000020202020202020202020202020202027D
+:10D39000020202020202020202020202020202026D
+:10D3A000020202020202020202020202020202025D
+:10D3B000020202020202020202020202020202024D
+:10D3C000020202020202020202020202020202023D
+:10D3D000020202020202020202020202020202022D
+:10D3E000020202020202020202020202020202021D
+:10D3F000020202020202020202020202020202020D
+:10D4000002020202020202020202020202020202FC
+:10D4100002020202020202020202020202020202EC
+:10D4200002020202020202020202020202020202DC
+:10D4300002020202020202020202020202020202CC
+:10D4400002020202020202020202020202020202BC
+:10D4500002020202020202020202020202020202AC
+:10D46000020202020202020202020202020202029C
+:10D47000020202020202020202020202020202028C
+:10D48000020202020202020202020202020202027C
+:10D49000020202020202020202020202020202026C
+:10D4A000020202020202020202020202020202025C
+:10D4B000020202020202020202020202020202024C
+:10D4C000020202020202020202020202020202023C
+:10D4D000020202020202020202020202020202022C
+:10D4E000020202020202020202020202020202021C
+:10D4F000020202020202020202020202020202020C
+:10D5000002020202020202020202020202020202FB
+:10D5100002020202020202020202020202020202EB
+:10D5200002020202020202020202020202020202DB
+:10D5300002020202020202020202020202020202CB
+:10D5400002020202020202020202020202020202BB
+:10D5500002020202020202020202020202020202AB
+:10D56000020202020202020202020202020202029B
+:10D57000020202020202020202020202020202028B
+:10D58000020202020202020202020202020202027B
+:10D59000020202020202020202020202020202026B
+:10D5A000020202020202020202020202020202025B
+:10D5B000020202020202020202020202020202024B
+:10D5C000020202020202020202020202020202023B
+:10D5D000020202020202020202020202020202022B
+:10D5E000020202020202020202020202020202021B
+:10D5F000020202020202020202020202020202020B
+:10D6000002020202020202020202020202020202FA
+:10D6100002020202020202020202020202020202EA
+:10D6200002020202020202020202020202020202DA
+:10D6300002020202020202020202020202020202CA
+:10D6400002020202020202020202020202020202BA
+:10D6500002020202020202020202020202020202AA
+:10D66000020202020202020202020202020202029A
+:10D67000020202020202020202020202020202028A
+:10D68000020202020202020202020202020202027A
+:10D69000020202020202020202020202020202026A
+:10D6A000020202020202020202020202020202025A
+:10D6B000020202020202020202020202020202024A
+:10D6C000020202020202020202020202020202023A
+:10D6D000020202020202020202020202020202022A
+:10D6E000020202020202020202020202020202021A
+:10D6F000020202020202020202020202020202020A
+:10D7000002020202020202020202020202020202F9
+:10D7100002020202020202020202020202020202E9
+:10D7200002020202020202020202020202020202D9
+:10D7300002020202020202020202020202020202C9
+:10D7400002020202020202020202020202020202B9
+:10D7500002020202020202020202020202020202A9
+:10D760000202020202020202020202020202020299
+:10D770000202020202020202020202020202020289
+:10D780000202020202020202020202020202020279
+:10D790000202020202020202020202020202020269
+:10D7A0000202020202020202020202020202020259
+:10D7B0000202020202020202020202020202020249
+:10D7C0000202020202020202020202020202020239
+:10D7D0000202020202020202020202020202020229
+:10D7E0000202020202020202020202020202020219
+:10D7F0000202020202020202020202020202020209
+:10D8000002020202020202020202020202020202F8
+:10D8100002020202020202020202020202020202E8
+:10D8200002020202020202020202020202020202D8
+:10D8300002020202020202020202020202020202C8
+:10D8400002020202020202020202020202020202B8
+:10D8500002020202020202020202020202020202A8
+:10D860000202020202020202020202020202020298
+:10D870000202020202020202020202020202020288
+:10D880000202020202020202020202020202020278
+:10D890000202020202020202020202020202020268
+:10D8A0000202020202020202020202020202020258
+:10D8B0000202020202020202020202020202020248
+:10D8C0000202020202020202020202020202020238
+:10D8D0000202020202020202020202020202020228
+:10D8E0000202020202020202020202020202020218
+:10D8F0000202020202020202020202020202020208
+:10D9000002020202020202020202020202020202F7
+:10D9100002020202020202020202020202020202E7
+:10D9200002020202020202020202020202020202D7
+:10D9300002020202020202020202020202020202C7
+:10D9400002020202020202020202020202020202B7
+:10D9500002020202020202020202020202020202A7
+:10D960000202020202020202020202020202020297
+:10D970000202020202020202020202020202020287
+:10D980000202020202020202020202020202020277
+:10D990000202020202020202020202020202020267
+:10D9A0000202020202020202020202020202020257
+:10D9B0000202020202020202020202020202020247
+:10D9C0000202020202020202020202020202020237
+:10D9D0000202020202020202020202020202020227
+:10D9E0000202020202020202020202020202020217
+:10D9F0000202020202020202020202020202020207
+:10DA000002020202020202020202020202020202F6
+:10DA100002020202020202020202020202020202E6
+:10DA200002020202020202020202020202020202D6
+:10DA300002020202020202020202020202020202C6
+:10DA400002020202020202020202020202020202B6
+:10DA500002020202020202020202020202020202A6
+:10DA60000202020202020202020202020202020296
+:10DA70000202020202020202020202020202020286
+:10DA80000202020202020202020202020202020276
+:10DA90000202020202020202020202020202020266
+:10DAA0000202020202020202020202020202020256
+:10DAB0000202020202020202020202020202020246
+:10DAC0000202020202020202020202020202020236
+:10DAD0000202020202020202020202020202020226
+:10DAE0000202020202020202020202020202020216
+:10DAF0000202020202020202020202020202020206
+:10DB000002020202020202020202020202020202F5
+:10DB100002020202020202020202020202020202E5
+:10DB200002020202020202020202020202020202D5
+:10DB300002020202020202020202020202020202C5
+:10DB400002020202020202020202020202020202B5
+:10DB500002020202020202020202020202020202A5
+:10DB60000202020202020202020202020202020295
+:10DB70000202020202020202020202020202020285
+:10DB80000202020202020202020202020202020275
+:10DB90000202020202020202020202020202020265
+:10DBA0000202020202020202020202020202020255
+:10DBB0000202020202020202020202020202020245
+:10DBC0000202020202020202020202020202020235
+:10DBD0000202020202020202020202020202020225
+:10DBE0000202020202020202020202020202020215
+:10DBF0000202020202020202020202020202020205
+:10DC000002020202020202020202020202020202F4
+:10DC100002020202020202020202020202020202E4
+:10DC200002020202020202020202020202020202D4
+:10DC300002020202020202020202020202020202C4
+:10DC400002020202020202020202020202020202B4
+:10DC500002020202020202020202020202020202A4
+:10DC60000202020202020202020202020202020294
+:10DC70000202020202020202020202020202020284
+:10DC80000202020202020202020202020202020274
+:10DC90000202020202020202020202020202020264
+:10DCA0000202020202020202020202020202020254
+:10DCB0000202020202020202020202020202020244
+:10DCC0000202020202020202020202020202020234
+:10DCD0000202020202020202020202020202020224
+:10DCE0000202020202020202020202020202020214
+:10DCF0000202020202020202020202020202020204
+:10DD000002020202020202020202020202020202F3
+:10DD100002020202020202020202020202020202E3
+:10DD200002020202020202020202020202020202D3
+:10DD300002020202020202020202020202020202C3
+:10DD400002020202020202020202020202020202B3
+:10DD500002020202020202020202020202020202A3
+:10DD60000202020202020202020202020202020293
+:10DD70000202020202020202020202020202020283
+:10DD80000202020202020202020202020202020273
+:10DD90000202020202020202020202020202020263
+:10DDA0000202020202020202020202020202020253
+:10DDB0000202020202020202020202020202020243
+:10DDC0000202020202020202020202020202020233
+:10DDD0000202020202020202020202020202020223
+:10DDE0000202020202020202020202020202020213
+:10DDF0000202020202020202020202020202020203
+:10DE000002020202020202020202020202020202F2
+:10DE100002020202020202020202020202020202E2
+:10DE200002020202020202020202020202020202D2
+:10DE300002020202020202020202020202020202C2
+:10DE400002020202020202020202020202020202B2
+:10DE500002020202020202020202020202020202A2
+:10DE60000202020202020202020202020202020292
+:10DE70000202020202020202020202020202020282
+:10DE80000202020202020202020202020202020272
+:10DE90000202020202020202020202020202020262
+:10DEA0000202020202020202020202020202020252
+:10DEB0000202020202020202020202020202020242
+:10DEC0000202020202020202020202020202020232
+:10DED0000202020202020202020202020202020222
+:10DEE0000202020202020202020202020202020212
+:10DEF0000202020202020202020202020202020202
+:10DF000002020202020202020202020202020202F1
+:10DF100002020202020202020202020202020202E1
+:10DF200002020202020202020202020202020202D1
+:10DF300002020202020202020202020202020202C1
+:10DF400002020202020202020202020202020202B1
+:10DF500002020202020202020202020202020202A1
+:10DF60000202020202020202020202020202020291
+:10DF70000202020202020202020202020202020281
+:10DF80000202020202020202020202020202020271
+:10DF90000202020202020202020202020202020261
+:10DFA0000202020202020202020202020202020251
+:10DFB0000202020202020202020202020202020241
+:10DFC0000202020202020202020202020202020231
+:10DFD0000202020202020202020202020202020221
+:10DFE0000202020202020202020202020202020211
+:10DFF0000202020202020202020202020202020201
+:10E0000002020202020202020202020202020202F0
+:10E0100002020202020202020202020202020202E0
+:10E0200002020202020202020202020202020202D0
+:10E0300002020202020202020202020202020202C0
+:10E0400002020202020202020202020202020202B0
+:10E0500002020202020202020202020202020202A0
+:10E060000202020202020202020202020202020290
+:10E070000202020202020202020202020202020280
+:10E080000202020202020202020202020202020270
+:10E090000202020202020202020202020202020260
+:10E0A0000202020202020202020202020202020250
+:10E0B0000202020202020202020202020202020240
+:10E0C0000202020202020202020202020202020230
+:10E0D0000202020202020202020202020202020220
+:10E0E0000202020202020202020202020202020210
+:10E0F0000202020202020202020202020202020200
+:10E1000002020202020202020202020202020202EF
+:10E1100002020202020202020202020202020202DF
+:10E1200002020202020202020202020202020202CF
+:10E1300002020202020202020202020202020202BF
+:10E1400002020202020202020202020202020202AF
+:10E15000020202020202020202020202020202029F
+:10E16000020202020202020202020202020202028F
+:10E17000020202020202020202020202020202027F
+:10E18000020202020202020202020202020202026F
+:10E19000020202020202020202020202020202025F
+:10E1A000020202020202020202020202020202024F
+:10E1B000020202020202020202020202020202023F
+:10E1C000020202020202020202020202020202022F
+:10E1D000020202020202020202020202020202021F
+:10E1E000020202020202020202020202020202020F
+:10E1F00002020202020202020202020202020202FF
+:10E2000002020202020202020202020202020202EE
+:10E2100002020202020202020202020202020202DE
+:10E2200002020202020202020202020202020202CE
+:10E2300002020202020202020202020202020202BE
+:10E2400002020202020202020202020202020202AE
+:10E25000020202020202020202020202020202029E
+:10E26000020202020202020202020202020202028E
+:10E27000020202020202020202020202020202027E
+:10E28000020202020202020202020202020202026E
+:10E29000020202020202020202020202020202025E
+:10E2A000020202020202020202020202020202024E
+:10E2B000020202020202020202020202020202023E
+:10E2C000020202020202020202020202020202022E
+:10E2D000020202020202020202020202020202021E
+:10E2E000020202020202020202020202020202020E
+:10E2F00002020202020202020202020202020202FE
+:10E3000002020202020202020202020202020202ED
+:10E3100002020202020202020202020202020202DD
+:10E3200002020202020202020202020202020202CD
+:10E3300002020202020202020202020202020202BD
+:10E3400002020202020202020202020202020202AD
+:10E35000020202020202020202020202020202029D
+:10E36000020202020202020202020202020202028D
+:10E37000020202020202020202020202020202027D
+:10E38000020202020202020202020202020202026D
+:10E39000020202020202020202020202020202025D
+:10E3A000020202020202020202020202020202024D
+:10E3B000020202020202020202020202020202023D
+:10E3C000020202020202020202020202020202022D
+:10E3D000020202020202020202020202020202021D
+:10E3E000020202020202020202020202020202020D
+:10E3F00002020202020202020202020202020202FD
+:10E4000002020202020202020202020202020202EC
+:10E4100002020202020202020202020202020202DC
+:10E4200002020202020202020202020202020202CC
+:10E4300002020202020202020202020202020202BC
+:10E4400002020202020202020202020202020202AC
+:10E45000020202020202020202020202020202029C
+:10E46000020202020202020202020202020202028C
+:10E47000020202020202020202020202020202027C
+:10E48000020202020202020202020202020202026C
+:10E49000020202020202020202020202020202025C
+:10E4A000020202020202020202020202020202024C
+:10E4B000020202020202020202020202020202023C
+:10E4C000020202020202020202020202020202022C
+:10E4D000020202020202020202020202020202021C
+:10E4E000020202020202020202020202020202020C
+:10E4F00002020202020202020202020202020202FC
+:10E5000002020202020202000000000000000000FD
+:10E5100000000000000000000000000000000000FB
+:10E5200000000000000000000000000000000000EB
+:10E5300000000000000000000000000000000000DB
+:10E5400000000000000000000000000000000000CB
+:10E5500000000000000000000000000000000000BB
+:10E5600000000000000000000000000000000000AB
+:10E57000000000000000000000000000000000009B
+:10E58000000000000000000000000000000000008B
+:10E59000000000000000000000000000000000007B
+:10E5A000000000000000000000000000000000006B
+:10E5B000000000000000000000000000000000005B
+:10E5C000000000000000000000000000000000004B
+:10E5D000000000000000000000000000000000003B
+:10E5E000000000000000000000000000000000002B
+:10E5F000000000000000000000000000000000001B
+:10E60000000000000000000000000000000000000A
+:10E6100000000000000000000000000000000000FA
+:10E6200000000000000000000000000000000000EA
+:10E6300000000000000000000000000000000000DA
+:10E6400000000000000000000000000000000000CA
+:10E6500000000000000000000000000000000000BA
+:10E6600000000000000000000000000000000000AA
+:10E67000000000000000000000000000000000009A
+:10E68000000000000000000000000000000000008A
+:10E69000000000000000000000000000000000007A
+:10E6A000000000000000000000000000000000006A
+:10E6B000000000000000000000000000000000005A
+:10E6C000000000000000000000000000000000004A
+:10E6D000000000000000000000000000000000003A
+:10E6E000000000000000000000000000000000002A
+:10E6F000000000000000000000000000000000001A
+:10E700000000000000000000000000000000000009
+:10E7100000000000000000000000000000000000F9
+:10E7200000000000000000000000000000000000E9
+:10E7300000000000000000000000000000000000D9
+:10E7400000000000000000000000000000000000C9
+:10E7500000000000000000000000000000000000B9
+:10E7600000000000000000000000000000000000A9
+:10E770000000000000000000000000000000000099
+:10E780000000000000000000000000000000000089
+:10E790000000000000000000000000000000000079
+:10E7A0000000000000000000000000000000000069
+:10E7B0000000000000000000000000000000000059
+:10E7C0000000000000000000000000000000000049
+:10E7D0000000000000000000000000000000000039
+:10E7E0000000000000000000000000000000000029
+:10E7F0000000000000000000000000000000000019
+:10E800000000000000000000000000000000000008
+:10E8100000000000000000000000000000000000F8
+:10E8200000000000000000000000000000000000E8
+:10E8300000000000000000000000000000000000D8
+:10E8400000000000000000000000000000000000C8
+:10E8500000000000000000000000000000000000B8
+:10E8600000000000000000000000000000000000A8
+:10E870000000000000000000000000000000000098
+:10E880000000000000000000000000000000000088
+:10E890000000000000000000000000000000000078
+:10E8A0000000000000000000000000000000000068
+:10E8B0000000000000000000000000000000000058
+:10E8C0000000000000000000000000000000000048
+:10E8D0000000000000000000000000000000000038
+:10E8E0000000000000000000000000000000000028
+:10E8F0000000000000000000000000000000000018
+:10E900000000000000000000000000000000000007
+:10E9100000000000000000000000000000000000F7
+:10E9200000000000000000000000000000000000E7
+:10E9300000000000000000000000000000000000D7
+:10E9400000000000000000000000000000000000C7
+:10E9500000000000000000000000000000000000B7
+:10E9600000000000000000000000000000000000A7
+:10E970000000000000000000000000000000000097
+:10E980000000000000000000000000000000000087
+:10E990000000000000000000000000000000000077
+:10E9A0000000000000000000000000000000000067
+:10E9B0000000000000000000000000000000000057
+:10E9C0000000000000000000000000000000000047
+:10E9D0000000000000000000000000000000000037
+:10E9E0000000000000000000000000000000000027
+:10E9F0000000000000000000000000000000000017
+:10EA00000000000000000000000000000000000006
+:10EA100000000000000000000000000000000000F6
+:10EA200000000000000000000000000000000000E6
+:10EA300000000000000000000000000000000000D6
+:10EA400000000000000000000000000000000000C6
+:10EA500000000000000000000000000000000000B6
+:10EA600000000000000000000000000000000000A6
+:10EA70000000000000000000000000000000000096
+:10EA80000000000000000000000000000000000086
+:10EA90000000000000000000000000000000000076
+:10EAA0000000000000000000000000000000000066
+:10EAB0000000000000000000000000000000000056
+:10EAC0000000000000000000000000000000000046
+:10EAD0000000000000000000000000000000000036
+:10EAE0000000000000000000000000000000000026
+:10EAF0000000000000000000000000000000000016
+:10EB00000000000000000000000000000000000005
+:10EB100000000000000000000000000000000000F5
+:10EB200000000000000000000000000000000000E5
+:10EB300000000000000000000000000000000000D5
+:10EB400000000000000000000000000000000000C5
+:10EB500000000000000000000000000000000000B5
+:10EB600000000000000000000000000000000000A5
+:10EB70000000000000000000000000000000000095
+:10EB80000000000000000000000000000000000085
+:10EB90000000000000000000000000000000000075
+:10EBA0000000000000000000000000000000000065
+:10EBB0000000000000000000000000000000000055
+:10EBC0000000000000000000000000000000000045
+:10EBD0000000000000000000000000000000000035
+:10EBE0000000000000000000000000000000000025
+:10EBF0000000000000000000000000000000000015
+:10EC00000000000000000000000000000000000004
+:10EC100000000000000000000000000000000000F4
+:10EC200000000000000000000000000000000000E4
+:10EC300000000000000000000000000000000000D4
+:10EC400000000000000000000000000000000000C4
+:10EC500000000000000000000000000000000000B4
+:10EC600000000000000000000000000000000000A4
+:10EC70000000000000000000000000000000000094
+:10EC80000000000000000000000000000000000084
+:10EC90000000000000000000000000000000000074
+:10ECA0000000000000000000000000000000000064
+:10ECB0000000000000000000000000000000000054
+:10ECC0000000000000000000000000000000000044
+:10ECD0000000000000000000000000000000000034
+:10ECE0000000000000000000000000000000000024
+:10ECF0000000000000000000000000000000000014
+:10ED00000000000000000000000000000000000003
+:10ED100000000000000000000000000000000000F3
+:10ED200000000000000000000000000000000000E3
+:10ED300000000000000000000000000000000000D3
+:10ED400000000000000000000000000000000000C3
+:10ED500000000000000000000000000000000000B3
+:10ED600000000000000000000000000000000000A3
+:10ED70000000000000000000000000000000000093
+:10ED80000000000000000000000000000000000083
+:10ED90000000000000000000000000000000000073
+:10EDA0000000000000000000000000000000000063
+:10EDB0000000000000000000000000000000000053
+:10EDC0000000000000000000000000000000000043
+:10EDD0000000000000000000000000000000000033
+:10EDE0000000000000000000000000000000000023
+:10EDF0000000000000000000000000000000000013
+:10EE00000000000000000000000000000000000002
+:10EE100000000000000000000000000000000000F2
+:10EE200000000000000000000000000000000000E2
+:10EE300000000000000000000000000000000000D2
+:10EE400000000000000000000000000000000000C2
+:10EE500000000000000000000000000000000000B2
+:10EE600000000000000000000000000000000000A2
+:10EE70000000000000000000000000000000000092
+:10EE80000000000000000000000000000000000082
+:10EE90000000000000000000000000000000000072
+:10EEA0000000000000000000000000000000000062
+:10EEB0000000000000000000000000000000000052
+:10EEC0000000000000000000000000000000000042
+:10EED0000000000000000000000000000000000032
+:10EEE0000000000000000000000000000000000022
+:10EEF0000000000000000000000000000000000012
+:10EF00000000000000000000000000000000000001
+:10EF100000000000000000000000000000000000F1
+:10EF200000000000000000000000000000000000E1
+:10EF300000000000000000000000000000000000D1
+:10EF400000000000000000000000000000000000C1
+:10EF500000000000000000000000000000000000B1
+:10EF600000000000000000000000000000000000A1
+:10EF70000000000000000000000000000000000091
+:10EF80000000000000000000000000000000000081
+:10EF90000000000000000000000000000000000071
+:10EFA0000000000000000000000000000000000061
+:10EFB0000000000000000000000000000000000051
+:10EFC0000000000000000000000000000000000041
+:10EFD0000000000000000000000000000000000031
+:10EFE0000000000000000000000000000000000021
+:10EFF0000000000000000000000000000000000011
+:10F0000000000000000000010101010101010101F7
+:10F0100001010101010101010101010101010101E0
+:10F0200001010101010101010101010101010101D0
+:10F0300001010101010101010101010101010101C0
+:10F0400001010101010101010101010101010101B0
+:10F0500001010101010101010101010101010101A0
+:10F060000101010101010101010101010101010190
+:10F070000101010101010101010101010101010180
+:10F080000101010101010101010101010101010170
+:10F090000101010101010101010101010101010160
+:10F0A0000101010101010101010101010101010150
+:10F0B0000101010101010101010101010101010140
+:10F0C0000101010101010101010101010101010130
+:10F0D0000101010101010101010101010101010120
+:10F0E0000101010101010101010101010101010110
+:10F0F0000101010101010101010101010101010100
+:10F1000001010101010101010101010101010101EF
+:10F1100001010101010101010101010101010101DF
+:10F1200001010101010101010101010101010101CF
+:10F1300001010101010101010101010101010101BF
+:10F1400001010101010101010101010101010101AF
+:10F15000010101010101010101010101010101019F
+:10F16000010101010101010101010101010101018F
+:10F17000010101010101010101010101010101017F
+:10F18000010101010101010101010101010101016F
+:10F19000010101010101010101010101010101015F
+:10F1A000010101010101010101010101010101014F
+:10F1B000010101010101010101010101010101013F
+:10F1C000010101010101010101010101010101012F
+:10F1D000010101010101010101010101010101011F
+:10F1E000010101010101010101010101010101010F
+:10F1F00001010101010101010101010101010101FF
+:10F2000001010101010101010101010101010101EE
+:10F2100001010101010101010101010101010101DE
+:10F2200001010101010101010101010101010101CE
+:10F2300001010101010101010101010101010101BE
+:10F2400001010101010101010101010101010101AE
+:10F25000010101010101010101010101010101019E
+:10F26000010101010101010101010101010101018E
+:10F27000010101010101010101010101010101017E
+:10F28000010101010101010101010101010101016E
+:10F29000010101010101010101010101010101015E
+:10F2A000010101010101010101010101010101014E
+:10F2B000010101010101010101010101010101013E
+:10F2C000010101010101010101010101010101012E
+:10F2D000010101010101010101010101010101011E
+:10F2E000010101010101010101010101010101010E
+:10F2F00001010101010101010101010101010101FE
+:10F3000001010101010101010101010101010101ED
+:10F3100001010101010101010101010101010101DD
+:10F3200001010101010101010101010101010101CD
+:10F3300001010101010101010101010101010101BD
+:10F3400001010101010101010101010101010101AD
+:10F35000010101010101010101010101010101019D
+:10F36000010101010101010101010101010101018D
+:10F37000010101010101010101010101010101017D
+:10F38000010101010101010101010101010101016D
+:10F39000010101010101010101010101010101015D
+:10F3A000010101010101010101010101010101014D
+:10F3B000010101010101010101010101010101013D
+:10F3C000010101010101010101010101010101012D
+:10F3D000010101010101010101010101010101011D
+:10F3E000010101010101010101010101010101010D
+:10F3F00001010101010101010101010101010101FD
+:10F4000001010101010101010101010101010101EC
+:10F4100001010101010101010101010101010101DC
+:10F4200001010101010101010101010101010101CC
+:10F4300001010101010101010101010101010101BC
+:10F4400001010101010101010101010101010101AC
+:10F45000010101010101010101010101010101019C
+:10F46000010101010101010101010101010101018C
+:10F47000010101010101010101010101010101017C
+:10F48000010101010101010101010101010101016C
+:10F49000010101010101010101010101010101015C
+:10F4A000010101010101010101010101010101014C
+:10F4B000010101010101010101010101010101013C
+:10F4C000010101010101010101010101010101012C
+:10F4D000010101010101010101010101010101011C
+:10F4E000010101010101010101010101010101010C
+:10F4F00001010101010101010101010101010101FC
+:10F5000001010101010101010101010101010101EB
+:10F5100001010101010101010101010101010101DB
+:10F5200001010101010101010101010101010101CB
+:10F5300001010101010101010101010101010101BB
+:10F5400001010101010101010101010101010101AB
+:10F55000010101010101010101010101010101019B
+:10F56000010101010101010101010101010101018B
+:10F57000010101010101010101010101010101017B
+:10F58000010101010101010101010101010101016B
+:10F59000010101010101010101010101010101015B
+:10F5A000010101010101010101010101010101014B
+:10F5B000010101010101010101010101010101013B
+:10F5C000010101010101010101010101010101012B
+:10F5D000010101010101010101010101010101011B
+:10F5E000010101010101010101010101010101010B
+:10F5F00001010101010101010101010101010101FB
+:10F6000001010101010101010101010101010101EA
+:10F6100001010101010101010101010101010101DA
+:10F6200001010101010101010101010101010101CA
+:10F6300001010101010101010101010101010101BA
+:10F6400001010101010101010101010101010101AA
+:10F65000010101010101010101010101010101019A
+:10F66000010101010101010101010101010101018A
+:10F67000010101010101010101010101010101017A
+:10F68000010101010101010101010101010101016A
+:10F69000010101010101010101010101010101015A
+:10F6A000010101010101010101010101010101014A
+:10F6B000010101010101010101010101010101013A
+:10F6C000010101010101010101010101010101012A
+:10F6D000010101010101010101010101010101011A
+:10F6E000010101010101010101010101010101010A
+:10F6F00001010101010101010101010101010101FA
+:10F7000001010101010101010101010101010101E9
+:10F7100001010101010101010101010101010101D9
+:10F7200001010101010101010101010101010101C9
+:10F7300001010101010101010101010101010101B9
+:10F7400001010101010101010101010101010101A9
+:10F750000101010101010101010101010101010199
+:10F760000101010101010101010101010101010189
+:10F770000101010101010101010101010101010179
+:10F780000101010101010101010101010101010169
+:10F790000101010101010101010101010101010159
+:10F7A0000101010101010101010101010101010149
+:10F7B0000101010101010101010101010101010139
+:10F7C0000101010101010101010101010101010129
+:10F7D0000101010101010101010101010101010119
+:10F7E0000101010101010101010101010101010109
+:10F7F00001010101010101010101010101010101F9
+:10F8000001010101010101010101010101010101E8
+:10F8100001010101010101010101010101010101D8
+:10F8200001010101010101010101010101010101C8
+:10F8300001010101010101010101010101010101B8
+:10F8400001010101010101010101010101010101A8
+:10F850000101010101010101010101010101010198
+:10F860000101010101010101010101010101010188
+:10F870000101010101010101010101010101010178
+:10F880000101010101010101010101010101010168
+:10F890000101010101010101010101010101010158
+:10F8A0000101010101010101010101010101010148
+:10F8B0000101010101010101010101010101010138
+:10F8C0000101010101010101010101010101010128
+:10F8D0000101010101010101010101010101010118
+:10F8E0000101010101010101010101010101010108
+:10F8F00001010101010101010101010101010101F8
+:10F9000001010101010101010101010101010101E7
+:10F9100001010101010101010101010101010101D7
+:10F9200001010101010101010101010101010101C7
+:10F9300001010101010101010101010101010101B7
+:10F9400001010101010101010101010101010101A7
+:10F950000101010101010101010101010101010197
+:10F960000101010101010101010101010101010187
+:10F970000101010101010101010101010101010177
+:10F980000101010101010101010101010101010167
+:10F990000101010101010101010101010101010157
+:10F9A0000101010101010101010101010101010147
+:10F9B0000101010101010101010101010101010137
+:10F9C0000101010101010101010101010101010127
+:10F9D0000101010101010101010101010101010117
+:10F9E0000101010101010101010101010101010107
+:10F9F00001010101010101010101010101010101F7
+:10FA000001010101010101010101010101010101E6
+:10FA100001010101010101010101010101010101D6
+:10FA200001010101010101010101010101010101C6
+:10FA300001010101010101010101010101010101B6
+:10FA400001010101010101010101010101010101A6
+:10FA50000101010101010101010101010101010196
+:10FA60000101010101010101010101010101010186
+:10FA70000101010101010101010101010101010176
+:10FA80000101010101010101010101010101010166
+:10FA90000101010101010101010101010101010156
+:10FAA0000101010101010101010101010101010146
+:10FAB0000101010101010101010101010101010136
+:10FAC0000101010101010101010101010101010126
+:10FAD0000101010101010101010101010101010116
+:10FAE0000101010101010101010101010101010106
+:10FAF00001010101010101010101010101010101F6
+:10FB000001010101010101010101010101010101E5
+:10FB100001010101010101010101010101010101D5
+:10FB200001010101010101010101010101010101C5
+:10FB300001010101010101010101010101010101B5
+:10FB400001010101010101010101010101010101A5
+:10FB50000101010101010101010101010101010195
+:10FB60000101010101010101010101010101010185
+:10FB70000101010101010101010101010101010175
+:10FB80000101010101010101010101010101010165
+:10FB90000101010101010101010101010101010155
+:10FBA0000101010101010101010101010101010145
+:10FBB0000101010101010101010101010101010135
+:10FBC0000101010101010101010101010101010125
+:10FBD0000101010101010101010101010101010115
+:10FBE0000101010101010101010101010101010105
+:10FBF00001010101010101010101010101010101F5
+:10FC000001010101010101010101010101010101E4
+:10FC100001010101010101010101010101010101D4
+:10FC200001010101010101010101010101010101C4
+:10FC300001010101010101010101010101010101B4
+:10FC400001010101010101010101010101010101A4
+:10FC50000101010101010101010101010101010194
+:10FC60000101010101010101010101010101010184
+:10FC70000101010101010101010101010101010174
+:10FC80000101010101010101010101010101010164
+:10FC90000101010101010101010101010101010154
+:10FCA0000101010101010101010101010101010144
+:10FCB0000101010101010101010101010101010134
+:10FCC0000101010101010101010101010101010124
+:10FCD0000101010101010101010101010101010114
+:10FCE0000101010101010101010101010101010104
+:10FCF00001010101010101010101010101010101F4
+:10FD000001010101010101010101010101010101E3
+:10FD100001010101010101010101010101010101D3
+:10FD200001010101010101010101010101010101C3
+:10FD300001010101010101010101010101010101B3
+:10FD400001010101010101010101010101010101A3
+:10FD50000101010101010101010101010101010193
+:10FD60000101010101010101010101010101010183
+:10FD70000101010101010101010101010101010173
+:10FD80000101010101010101010101010101010163
+:10FD90000101010101010101010101010101010153
+:10FDA0000101010101010101010101010101010143
+:10FDB0000101010101010101010101010101010133
+:10FDC0000101010101010101010101010101010123
+:10FDD0000101010101010101010101010101010113
+:10FDE0000101010101010101010101010101010103
+:10FDF00001010101010101010101010101010101F3
+:10FE000001010101010101010101010101010101E2
+:10FE100001010101010101010101010101010101D2
+:10FE200001010101010101010101010101010101C2
+:10FE300001010101010101010101010101010101B2
+:10FE400001010101010101010101010101010101A2
+:10FE50000101010101010101010101010101010192
+:10FE60000101010101010101010101010101010182
+:10FE70000101010101010101010101010101010172
+:10FE80000101010101010101010101010101010162
+:10FE90000101010101010101010101010101010152
+:10FEA0000101010101010101010101010101010142
+:10FEB0000101010101010101010101010101010132
+:10FEC0000101010101010101010101010101010122
+:10FED0000101010101010101010101010101010112
+:10FEE0000101010101010101010101010101010102
+:10FEF00001010101010101010101010101010101F2
+:10FF000001010101010101010101010101010101E1
+:10FF100001010101010101010101010101010101D1
+:10FF200001010101010101010101010101010101C1
+:10FF300001010101010101010101010101010101B1
+:10FF400001010101010101010101010101010101A1
+:10FF50000101010101010101010101010101010191
+:10FF60000101010101010101010101010101010181
+:10FF70000101010101010101010101010101010171
+:10FF80000101010101010101010101010101010161
+:10FF90000101010101010101010101010101010151
+:10FFA0000101010101010101010101010101010141
+:10FFB0000101010101010101010101010101010131
+:10FFC0000101010101010101010101010101010121
+:10FFD0000101010101010101010101010101010111
+:10FFE0000101010101010101010101010101010101
+:10FFF00001010101010101010101010101010101F1
+:020000022000DC
+:1000000001010101010101010101010101010101E0
+:1000100001010101010101010101010101010101D0
+:1000200001010101010101010101010101010101C0
+:1000300001010101010101010101010101010101B0
+:1000400001010101010101010101010101010101A0
+:100050000101010101010101010101010101010190
+:100060000101010101010101010101010101010180
+:100070000101010101010101010101010101010170
+:100080000101010101010101010101010101010160
+:100090000101010101010101010101010101010150
+:1000A0000101010101010101010101010101010140
+:1000B0000101010101010101010101010101010130
+:1000C0000101010101010101010101010101010120
+:1000D0000101010101010101010101010101010110
+:1000E0000101010101010101010101010101010100
+:1000F00001010101010101010101010101010101F0
+:1001000001010101010101010101010101010101DF
+:1001100001010101010101010101010101010101CF
+:1001200001010101010101010101010101010101BF
+:1001300001010101010101010101010101010101AF
+:10014000010101010101010101010101010101019F
+:10015000010101010101010101010101010101018F
+:10016000010101010101010101010101010101017F
+:10017000010101010101010101010101010101016F
+:10018000010101010101010101010101010101015F
+:10019000010101010101010101010101010101014F
+:1001A000010101010101010101010101010101013F
+:1001B000010101010101010101010101010101012F
+:1001C000010101010101010101010101010101011F
+:1001D000010101010101010101010101010101010F
+:1001E00001010101010101010101010101010101FF
+:1001F00001010101010101010101010101010101EF
+:1002000001010101010101010101010101010101DE
+:1002100001010101010101010101010101010101CE
+:1002200001010101010101010101010101010101BE
+:1002300001010101010101010101010101010101AE
+:10024000010101010101010101010101010101019E
+:10025000010101010101010101010101010101018E
+:10026000010101010101010101010101010101017E
+:10027000010101010101010101010101010101016E
+:10028000010101010101010101010101010101015E
+:10029000010101010101010101010101010101014E
+:1002A000010101010101010101010101010101013E
+:1002B000010101010101010101010101010101012E
+:1002C000010101010101010101010101010101011E
+:1002D000010101010101010101010101010101010E
+:1002E00001010101010101010101010101010101FE
+:1002F00001010101010101010101010101010101EE
+:1003000001010101010101010101010101010101DD
+:1003100001010101010101010101010101010101CD
+:1003200001010101010101010101010101010101BD
+:1003300001010101010101010101010101010101AD
+:10034000010101010101010101010101010101019D
+:10035000010101010101010101010101010101018D
+:10036000010101010101010101010101010101017D
+:10037000010101010101010101010101010101016D
+:10038000010101010101010101010101010101015D
+:10039000010101010101010101010101010101014D
+:1003A000010101010101010101010101010101013D
+:1003B000010101010101010101010101010101012D
+:1003C000010101010101010101010101010101011D
+:1003D000010101010101010101010101010101010D
+:1003E00001010101010101010101010101010101FD
+:1003F00001010101010101010101010101010101ED
+:1004000001010101010101010101010101010101DC
+:1004100001010101010101010101010101010101CC
+:1004200001010101010101010101010101010101BC
+:1004300001010101010101010101010101010101AC
+:10044000010101010101010101010101010101019C
+:10045000010101010101010101010101010101018C
+:10046000010101010101010101010101010101017C
+:10047000010101010101010101010101010101016C
+:10048000010101010101010101010101010101015C
+:10049000010101010101010101010101010101014C
+:1004A000010101010101010101010101010101013C
+:1004B000010101010101010101010101010101012C
+:1004C000010101010101010101010101010101011C
+:1004D000010101010101010101010101010101010C
+:1004E00001010101010101010101010101010101FC
+:1004F00001010101010101010101010101010101EC
+:1005000001010101010101010101010101010101DB
+:1005100001010101010101010101010101010101CB
+:1005200001010101010101010101010101010101BB
+:1005300001010101010101010101010101010101AB
+:10054000010101010101010101010101010101019B
+:10055000010101010101010101010101010101018B
+:10056000010101010101010101010101010101017B
+:10057000010101010101010101010101010101016B
+:10058000010101010101010101010101010101015B
+:10059000010101010101010101010101010101014B
+:1005A000010101010101010101010101010101013B
+:1005B000010101010101010101010101010101012B
+:1005C000010101010101010101010101010101011B
+:1005D000010101010101010101010101010101010B
+:1005E00001010101010101010101010101010101FB
+:1005F00001010101010101010101010101010101EB
+:1006000001010101010101010101010101010101DA
+:1006100001010101010101010101010101010101CA
+:1006200001010101010101010101010101010101BA
+:1006300001010101010101010101010101010101AA
+:10064000010101010101010101010101010101019A
+:10065000010101010101010101010101010101018A
+:10066000010101010101010101010101010101017A
+:10067000010101010101010101010101010101016A
+:10068000010101010101010101010101010101015A
+:10069000010101010101010101010101010101014A
+:1006A000010101010101010101010101010101013A
+:1006B000010101010101010101010101010101012A
+:1006C000010101010101010101010101010101011A
+:1006D000010101010101010101010101010101010A
+:1006E00001010101010101010101010101010101FA
+:1006F00001010101010101010101010101010101EA
+:1007000001010101010101010101010101010101D9
+:1007100001010101010101010101010101010101C9
+:1007200001010101010101010101010101010101B9
+:1007300001010101010101010101010101010101A9
+:100740000101010101010101010101010101010199
+:100750000101010101010101010101010101010189
+:100760000101010101010101010101010101010179
+:100770000101010101010101010101010101010169
+:100780000101010101010101010101010101010159
+:100790000101010101010101010101010101010149
+:1007A0000101010101010101010101010101010139
+:1007B0000101010101010101010101010101010129
+:1007C0000101010101010101010101010101010119
+:1007D0000101010101010101010101010101010109
+:1007E00001010101010101010101010101010101F9
+:1007F00001010101010101010101010101010101E9
+:1008000001010101010101000000000000000000E1
+:1008100000000000000000000000000000000000D8
+:1008200000000000000000000000000000000000C8
+:1008300000000000000000000000000000000000B8
+:1008400000000000000000000000000000000000A8
+:100850000000000000000000000000000000000098
+:100860000000000000000000000000000000000088
+:100870000000000000000000000000000000000078
+:100880000000000000000000000000000000000068
+:100890000000000000000000000000000000000058
+:1008A0000000000000000000000000000000000048
+:1008B0000000000000000000000000000000000038
+:1008C0000000000000000000000000000000000028
+:1008D0000000000000000000000000000000000018
+:1008E0000000000000000000000000000000000008
+:1008F00000000000000000000000000000000000F8
+:1009000000000000000000000000000000000000E7
+:1009100000000000000000000000000000000000D7
+:1009200000000000000000000000000000000000C7
+:1009300000000000000000000000000000000000B7
+:1009400000000000000000000000000000000000A7
+:100950000000000000000000000000000000000097
+:100960000000000000000000000000000000000087
+:100970000000000000000000000000000000000077
+:100980000000000000000000000000000000000067
+:100990000000000000000000000000000000000057
+:1009A0000000000000000000000000000000000047
+:1009B0000000000000000000000000000000000037
+:1009C0000000000000000000000000000000000027
+:1009D0000000000000000000000000000000000017
+:1009E0000000000000000000000000000000000007
+:1009F00000000000000000000000000000000000F7
+:100A000000000000000000000000000000000000E6
+:100A100000000000000000000000000000000000D6
+:100A200000000000000000000000000000000000C6
+:100A300000000000000000000000000000000000B6
+:100A400000000000000000000000000000000000A6
+:100A50000000000000000000000000000000000096
+:100A60000000000000000000000000000000000086
+:100A70000000000000000000000000000000000076
+:100A80000000000000000000000000000000000066
+:100A90000000000000000000000000000000000056
+:100AA0000000000000000000000000000000000046
+:100AB0000000000000000000000000000000000036
+:100AC0000000000000000000000000000000000026
+:100AD0000000000000000000000000000000000016
+:100AE0000000000000000000000000000000000006
+:100AF00000000000000000000000000000000000F6
+:100B000000000000000000000000000000000000E5
+:100B100000000000000000000000000000000000D5
+:100B200000000000000000000000000000000000C5
+:100B300000000000000000000000000000000000B5
+:100B400000000000000000000000000000000000A5
+:100B50000000000000000000000000000000000095
+:100B60000000000000000000000000000000000085
+:100B70000000000000000000000000000000000075
+:100B80000000000000000000000000000000000065
+:100B90000000000000000000000000000000000055
+:100BA0000000000000000000000000000000000045
+:100BB0000000000000000000000000000000000035
+:100BC0000000000000000000000000000000000025
+:100BD0000000000000000000000000000000000015
+:100BE0000000000000000000000000000000000005
+:100BF00000000000000000000000000000000000F5
+:100C000000000000000000010101010101010101DB
+:100C100001010101010101010101010101010101C4
+:100C200001010101010101010101010101010101B4
+:100C300001010101010101010101010101010101A4
+:100C40000101010101010101010101010101010194
+:100C50000101010101010101010101010101010184
+:100C60000101010101010101010101010101010174
+:100C70000101010101010101010101010101010164
+:100C80000101010101010101010101010101010154
+:100C90000101010101010101010101010101010144
+:100CA0000101010101010101010101010101010134
+:100CB0000101010101010101010101010101010124
+:100CC0000101010101010101010101010101010114
+:100CD0000101010101010101010101010101010104
+:100CE00001010101010101010101010101010101F4
+:100CF00001010101010101010101010101010101E4
+:100D000001010101010101010101010101010101D3
+:100D100001010101010101010101010101010101C3
+:100D200001010101010101010101010101010101B3
+:100D300001010101010101010101010101010101A3
+:100D40000101010101010101010101010101010193
+:100D50000101010101010101010101010101010183
+:100D60000101010101010101010101010101010173
+:100D70000101010101010101010101010101010163
+:100D80000101010101010101010101010101010153
+:100D90000101010101010101010101010101010143
+:100DA0000101010101010101010101010101010133
+:100DB0000101010101010101010101010101010123
+:100DC0000101010101010101010101010101010113
+:100DD0000101010101010101010101010101010103
+:100DE00001010101010101010101010101010101F3
+:100DF00001010101010101010101010101010101E3
+:100E000001010101010101010101010101010101D2
+:100E100001010101010101010101010101010101C2
+:100E200001010101010101010101010101010101B2
+:100E300001010101010101010101010101010101A2
+:100E40000101010101010101010101010101010192
+:100E50000101010101010101010101010101010182
+:100E60000101010101010101010101010101010172
+:100E70000101010101010101010101010101010162
+:100E80000101010101010101010101010101010152
+:100E90000101010101010101010101010101010142
+:100EA0000101010101010101010101010101010132
+:100EB0000101010101010101010101010101010122
+:100EC0000101010101010101010101010101010112
+:100ED0000101010101010101010101010101010102
+:100EE00001010101010101010101010101010101F2
+:100EF00001010101010101010101010101010101E2
+:100F000001010101010101020202020202020202C8
+:100F100002020202020202020202020202020202B1
+:100F200002020202020202020202020202020202A1
+:100F30000202020202020202020202020202020291
+:100F40000202020202020202020202020202020281
+:100F50000202020202020202020202020202020271
+:100F60000202020202020202020202020202020261
+:100F70000202020202020202020202020202020251
+:100F80000202020202020202020202020202020241
+:100F90000202020202020202020202020202020231
+:100FA0000202020202020202020202020202020221
+:100FB0000202020202020202020202020202020211
+:100FC0000202020202020202020202020202020201
+:100FD00002020202020202020202020202020202F1
+:100FE00002020202020202020202020202020202E1
+:100FF00002020202020202020202020202020202D1
+:1010000002020202020202020202020202020202C0
+:1010100002020202020202020202020202020202B0
+:1010200002020202020202020202020202020202A0
+:101030000202020202020202020202020202020290
+:101040000202020202020202020202020202020280
+:101050000202020202020202020202020202020270
+:101060000202020202020202020202020202020260
+:101070000202020202020202020202020202020250
+:101080000202020202020202020202020202020240
+:101090000202020202020202020202020202020230
+:1010A0000202020202020202020202020202020220
+:1010B0000202020202020202020202020202020210
+:1010C0000202020202020202020202020202020200
+:1010D00002020202020202020202020202020202F0
+:1010E00002020202020202020202020202020202E0
+:1010F00002020202020202020202020202020202D0
+:1011000002020202020202020202020202020202BF
+:1011100002020202020202020202020202020202AF
+:10112000020202020202020202020202020202029F
+:10113000020202020202020202020202020202028F
+:10114000020202020202020202020202020202027F
+:10115000020202020202020202020202020202026F
+:10116000020202020202020202020202020202025F
+:10117000020202020202020202020202020202024F
+:10118000020202020202020202020202020202023F
+:10119000020202020202020202020202020202022F
+:1011A000020202020202020202020202020202021F
+:1011B000020202020202020202020202020202020F
+:1011C00002020202020202020202020202020202FF
+:1011D00002020202020202020202020202020202EF
+:1011E00002020202020202020202020202020202DF
+:1011F00002020202020202020202020202020202CF
+:1012000002020202020202020202020202020202BE
+:1012100002020202020202020202020202020202AE
+:10122000020202020202020202020202020202029E
+:10123000020202020202020202020202020202028E
+:10124000020202020202020202020202020202027E
+:10125000020202020202020202020202020202026E
+:10126000020202020202020202020202020202025E
+:10127000020202020202020202020202020202024E
+:10128000020202020202020202020202020202023E
+:10129000020202020202020202020202020202022E
+:1012A000020202020202020202020202020202021E
+:1012B000020202020202020202020202020202020E
+:1012C00002020202020202020202020202020202FE
+:1012D00002020202020202020202020202020202EE
+:1012E00002020202020202020202020202020202DE
+:1012F00002020202020202020202020202020202CE
+:1013000002020202020202020202020202020202BD
+:1013100002020202020202020202020202020202AD
+:10132000020202020202020202020202020202029D
+:10133000020202020202020202020202020202028D
+:10134000020202020202020202020202020202027D
+:10135000020202020202020202020202020202026D
+:10136000020202020202020202020202020202025D
+:10137000020202020202020202020202020202024D
+:10138000020202020202020202020202020202023D
+:10139000020202020202020202020202020202022D
+:1013A000020202020202020202020202020202021D
+:1013B000020202020202020202020202020202020D
+:1013C00002020202020202020202020202020202FD
+:1013D00002020202020202020202020202020202ED
+:1013E00002020202020202020202020202020202DD
+:1013F00002020202020202020202020202020202CD
+:1014000002020202020202020202020202020202BC
+:1014100002020202020202020202020202020202AC
+:10142000020202020202020202020202020202029C
+:10143000020202020202020202020202020202028C
+:10144000020202020202020202020202020202027C
+:10145000020202020202020202020202020202026C
+:10146000020202020202020202020202020202025C
+:10147000020202020202020202020202020202024C
+:10148000020202020202020202020202020202023C
+:10149000020202020202020202020202020202022C
+:1014A000020202020202020202020202020202021C
+:1014B000020202020202020202020202020202020C
+:1014C00002020202020202020202020202020202FC
+:1014D00002020202020202020202020202020202EC
+:1014E00002020202020202020202020202020202DC
+:1014F00002020202020202020202020202020202CC
+:1015000002020202020202020202020202020202BB
+:1015100002020202020202020202020202020202AB
+:10152000020202020202020202020202020202029B
+:10153000020202020202020202020202020202028B
+:10154000020202020202020202020202020202027B
+:10155000020202020202020202020202020202026B
+:10156000020202020202020202020202020202025B
+:10157000020202020202020202020202020202024B
+:10158000020202020202020202020202020202023B
+:10159000020202020202020202020202020202022B
+:1015A000020202020202020202020202020202021B
+:1015B000020202020202020202020202020202020B
+:1015C00002020202020202020202020202020202FB
+:1015D00002020202020202020202020202020202EB
+:1015E00002020202020202020202020202020202DB
+:1015F00002020202020202020202020202020202CB
+:1016000002020202020202020202020202020202BA
+:1016100002020202020202020202020202020202AA
+:10162000020202020202020202020202020202029A
+:10163000020202020202020202020202020202028A
+:10164000020202020202020202020202020202027A
+:10165000020202020202020202020202020202026A
+:10166000020202020202020202020202020202025A
+:10167000020202020202020202020202020202024A
+:10168000020202020202020202020202020202023A
+:10169000020202020202020202020202020202022A
+:1016A000020202020202020202020202020202021A
+:1016B000020202020202020202020202020202020A
+:1016C00002020202020202020202020202020202FA
+:1016D00002020202020202020202020202020202EA
+:1016E00002020202020202020202020202020202DA
+:1016F00002020202020202020202020202020202CA
+:1017000002020202020202020202020202020202B9
+:1017100002020202020202020202020202020202A9
+:101720000202020202020202020202020202020299
+:101730000202020202020202020202020202020289
+:101740000202020202020202020202020202020279
+:101750000202020202020202020202020202020269
+:101760000202020202020202020202020202020259
+:101770000202020202020202020202020202020249
+:101780000202020202020202020202020202020239
+:101790000202020202020202020202020202020229
+:1017A0000202020202020202020202020202020219
+:1017B0000202020202020202020202020202020209
+:1017C00002020202020202020202020202020202F9
+:1017D00002020202020202020202020202020202E9
+:1017E00002020202020202020202020202020202D9
+:1017F00002020202020202020202020202020202C9
+:1018000002020202020202020202020202020202B8
+:1018100002020202020202020202020202020202A8
+:101820000202020202020202020202020202020298
+:101830000202020202020202020202020202020288
+:101840000202020202020202020202020202020278
+:101850000202020202020202020202020202020268
+:101860000202020202020202020202020202020258
+:101870000202020202020202020202020202020248
+:101880000202020202020202020202020202020238
+:101890000202020202020202020202020202020228
+:1018A0000202020202020202020202020202020218
+:1018B0000202020202020202020202020202020208
+:1018C00002020202020202020202020202020202F8
+:1018D00002020202020202020202020202020202E8
+:1018E00002020202020202020202020202020202D8
+:1018F00002020202020202020202020202020202C8
+:1019000002020202020202020202020202020202B7
+:1019100002020202020202020202020202020202A7
+:101920000202020202020202020202020202020297
+:101930000202020202020202020202020202020287
+:101940000202020202020202020202020202020277
+:101950000202020202020202020202020202020267
+:101960000202020202020202020202020202020257
+:101970000202020202020202020202020202020247
+:101980000202020202020202020202020202020237
+:101990000202020202020202020202020202020227
+:1019A0000202020202020202020202020202020217
+:1019B0000202020202020202020202020202020207
+:1019C00002020202020202020202020202020202F7
+:1019D00002020202020202020202020202020202E7
+:1019E00002020202020202020202020202020202D7
+:1019F00002020202020202020202020202020202C7
+:101A000002020202020202020202020202020202B6
+:101A100002020202020202020202020202020202A6
+:101A20000202020202020202020202020202020296
+:101A30000202020202020202020202020202020286
+:101A40000202020202020202020202020202020276
+:101A50000202020202020202020202020202020266
+:101A60000202020202020202020202020202020256
+:101A70000202020202020202020202020202020246
+:101A80000202020202020202020202020202020236
+:101A90000202020202020202020202020202020226
+:101AA0000202020202020202020202020202020216
+:101AB0000202020202020202020202020202020206
+:101AC00002020202020202020202020202020202F6
+:101AD00002020202020202020202020202020202E6
+:101AE00002020202020202020202020202020202D6
+:101AF00002020202020202020202020202020202C6
+:101B000002020202020202020202020202020202B5
+:101B100002020202020202020202020202020202A5
+:101B20000202020202020202020202020202020295
+:101B30000202020202020202020202020202020285
+:101B40000202020202020202020202020202020275
+:101B50000202020202020202020202020202020265
+:101B60000202020202020202020202020202020255
+:101B70000202020202020202020202020202020245
+:101B80000202020202020202020202020202020235
+:101B90000202020202020202020202020202020225
+:101BA0000202020202020202020202020202020215
+:101BB0000202020202020202020202020202020205
+:101BC00002020202020202020202020202020202F5
+:101BD00002020202020202020202020202020202E5
+:101BE00002020202020202020202020202020202D5
+:101BF00002020202020202020202020202020202C5
+:101C000002020202020202020202020202020202B4
+:101C100002020202020202020202020202020202A4
+:101C20000202020202020202020202020202020294
+:101C30000202020202020202020202020202020284
+:101C40000202020202020202020202020202020274
+:101C50000202020202020202020202020202020264
+:101C60000202020202020202020202020202020254
+:101C70000202020202020202020202020202020244
+:101C80000202020202020202020202020202020234
+:101C90000202020202020202020202020202020224
+:101CA0000202020202020202020202020202020214
+:101CB0000202020202020202020202020202020204
+:101CC00002020202020202020202020202020202F4
+:101CD00002020202020202020202020202020202E4
+:101CE00002020202020202020202020202020202D4
+:101CF00002020202020202020202020202020202C4
+:101D000002020202020202020202020202020202B3
+:101D100002020202020202020202020202020202A3
+:101D20000202020202020202020202020202020293
+:101D30000202020202020202020202020202020283
+:101D40000202020202020202020202020202020273
+:101D50000202020202020202020202020202020263
+:101D60000202020202020202020202020202020253
+:101D70000202020202020202020202020202020243
+:101D80000202020202020202020202020202020233
+:101D90000202020202020202020202020202020223
+:101DA0000202020202020202020202020202020213
+:101DB0000202020202020202020202020202020203
+:101DC00002020202020202020202020202020202F3
+:101DD00002020202020202020202020202020202E3
+:101DE00002020202020202020202020202020202D3
+:101DF00002020202020202020202020202020202C3
+:101E000002020202020202020202020202020202B2
+:101E100002020202020202020202020202020202A2
+:101E20000202020202020202020202020202020292
+:101E30000202020202020202020202020202020282
+:101E40000202020202020202020202020202020272
+:101E50000202020202020202020202020202020262
+:101E60000202020202020202020202020202020252
+:101E70000202020202020202020202020202020242
+:101E80000202020202020202020202020202020232
+:101E90000202020202020202020202020202020222
+:101EA0000202020202020202020202020202020212
+:101EB0000202020202020202020202020202020202
+:101EC00002020202020202020202020202020202F2
+:101ED00002020202020202020202020202020202E2
+:101EE00002020202020202020202020202020202D2
+:101EF00002020202020202020202020202020202C2
+:101F000002020202020202020202020202020202B1
+:101F100002020202020202020202020202020202A1
+:101F20000202020202020202020202020202020291
+:101F30000202020202020202020202020202020281
+:101F40000202020202020202020202020202020271
+:101F50000202020202020202020202020202020261
+:101F60000202020202020202020202020202020251
+:101F70000202020202020202020202020202020241
+:101F80000202020202020202020202020202020231
+:101F90000202020202020202020202020202020221
+:101FA0000202020202020202020202020202020211
+:101FB0000202020202020202020202020202020201
+:101FC00002020202020202020202020202020202F1
+:101FD00002020202020202020202020202020202E1
+:101FE00002020202020202020202020202020202D1
+:101FF00002020202020202020202020202020202C1
+:1020000002020202020202020202020202020202B0
+:1020100002020202020202020202020202020202A0
+:102020000202020202020202020202020202020290
+:102030000202020202020202020202020202020280
+:102040000202020202020202020202020202020270
+:102050000202020202020202020202020202020260
+:102060000202020202020202020202020202020250
+:102070000202020202020202020202020202020240
+:102080000202020202020202020202020202020230
+:102090000202020202020202020202020202020220
+:1020A0000202020202020202020202020202020210
+:1020B0000202020202020202020202020202020200
+:1020C00002020202020202020202020202020202F0
+:1020D00002020202020202020202020202020202E0
+:1020E00002020202020202020202020202020202D0
+:1020F00002020202020202020202020202020202C0
+:1021000002020202020202020202020202020202AF
+:10211000020202020202020202020202020202029F
+:10212000020202020202020202020202020202028F
+:10213000020202020202020202020202020202027F
+:10214000020202020202020202020202020202026F
+:10215000020202020202020202020202020202025F
+:10216000020202020202020202020202020202024F
+:10217000020202020202020202020202020202023F
+:10218000020202020202020202020202020202022F
+:10219000020202020202020202020202020202021F
+:1021A000020202020202020202020202020202020F
+:1021B00002020202020202020202020202020202FF
+:1021C00002020202020202020202020202020202EF
+:1021D00002020202020202020202020202020202DF
+:1021E00002020202020202020202020202020202CF
+:1021F00002020202020202020202020202020202BF
+:1022000002020202020202020202020202020202AE
+:10221000020202020202020202020202020202029E
+:10222000020202020202020202020202020202028E
+:10223000020202020202020202020202020202027E
+:10224000020202020202020202020202020202026E
+:10225000020202020202020202020202020202025E
+:10226000020202020202020202020202020202024E
+:10227000020202020202020202020202020202023E
+:10228000020202020202020202020202020202022E
+:10229000020202020202020202020202020202021E
+:1022A000020202020202020202020202020202020E
+:1022B00002020202020202020202020202020202FE
+:1022C00002020202020202020202020202020202EE
+:1022D00002020202020202020202020202020202DE
+:1022E00002020202020202020202020202020202CE
+:1022F00002020202020202020202020202020202BE
+:1023000002020202020202020202020202020202AD
+:10231000020202020202020202020202020202029D
+:10232000020202020202020202020202020202028D
+:10233000020202020202020202020202020202027D
+:10234000020202020202020202020202020202026D
+:10235000020202020202020202020202020202025D
+:10236000020202020202020202020202020202024D
+:10237000020202020202020202020202020202023D
+:10238000020202020202020202020202020202022D
+:10239000020202020202020202020202020202021D
+:1023A000020202020202020202020202020202020D
+:1023B00002020202020202020202020202020202FD
+:1023C00002020202020202020202020202020202ED
+:1023D00002020202020202020202020202020202DD
+:1023E00002020202020202020202020202020202CD
+:1023F00002020202020202020202020202020202BD
+:1024000002020202020202020202020202020202AC
+:10241000020202020202020202020202020202029C
+:10242000020202020202020202020202020202028C
+:10243000020202020202020202020202020202027C
+:10244000020202020202020202020202020202026C
+:10245000020202020202020202020202020202025C
+:10246000020202020202020202020202020202024C
+:10247000020202020202020202020202020202023C
+:10248000020202020202020202020202020202022C
+:10249000020202020202020202020202020202021C
+:1024A000020202020202020202020202020202020C
+:1024B00002020202020202020202020202020202FC
+:1024C00002020202020202020202020202020202EC
+:1024D00002020202020202020202020202020202DC
+:1024E00002020202020202020202020202020202CC
+:1024F00002020202020202020202020202020202BC
+:1025000002020202020202020202020202020202AB
+:10251000020202020202020202020202020202029B
+:10252000020202020202020202020202020202028B
+:10253000020202020202020202020202020202027B
+:10254000020202020202020202020202020202026B
+:10255000020202020202020202020202020202025B
+:10256000020202020202020202020202020202024B
+:10257000020202020202020202020202020202023B
+:10258000020202020202020202020202020202022B
+:10259000020202020202020202020202020202021B
+:1025A000020202020202020202020202020202020B
+:1025B00002020202020202020202020202020202FB
+:1025C00002020202020202020202020202020202EB
+:1025D00002020202020202020202020202020202DB
+:1025E00002020202020202020202020202020202CB
+:1025F00002020202020202020202020202020202BB
+:1026000002020202020202020202020202020202AA
+:10261000020202020202020202020202020202029A
+:10262000020202020202020202020202020202028A
+:10263000020202020202020202020202020202027A
+:10264000020202020202020202020202020202026A
+:10265000020202020202020202020202020202025A
+:10266000020202020202020202020202020202024A
+:10267000020202020202020202020202020202023A
+:10268000020202020202020202020202020202022A
+:10269000020202020202020202020202020202021A
+:1026A000020202020202020202020202020202020A
+:1026B00002020202020202020202020202020202FA
+:1026C00002020202020202020202020202020202EA
+:1026D00002020202020202020202020202020202DA
+:1026E00002020202020202020202020202020202CA
+:1026F00002020202020202020202020202020202BA
+:1027000002020202020202020202020202020202A9
+:102710000202020202020202020202020202020299
+:102720000202020202020202020202020202020289
+:102730000202020202020202020202020202020279
+:102740000202020202020202020202020202020269
+:102750000202020202020202020202020202020259
+:102760000202020202020202020202020202020249
+:102770000202020202020202020202020202020239
+:102780000202020202020202020202020202020229
+:102790000202020202020202020202020202020219
+:1027A0000202020202020202020202020202020209
+:1027B00002020202020202020202020202020202F9
+:1027C00002020202020202020202020202020202E9
+:1027D00002020202020202020202020202020202D9
+:1027E00002020202020202020202020202020202C9
+:1027F00002020202020202020202020202020202B9
+:1028000002020202020202020202020202020202A8
+:102810000202020202020202020202020202020298
+:102820000202020202020202020202020202020288
+:102830000202020202020202020202020202020278
+:102840000202020202020202020202020202020268
+:102850000202020202020202020202020202020258
+:102860000202020202020202020202020202020248
+:102870000202020202020202020202020202020238
+:102880000202020202020202020202020202020228
+:102890000202020202020202020202020202020218
+:1028A0000202020202020202020202020202020208
+:1028B00002020202020202020202020202020202F8
+:1028C00002020202020202020202020202020202E8
+:1028D00002020202020202020202020202020202D8
+:1028E00002020202020202020202020202020202C8
+:1028F00002020202020202020202020202020202B8
+:1029000002020202020202020202020202020202A7
+:102910000202020202020202020202020202020297
+:102920000202020202020202020202020202020287
+:102930000202020202020202020202020202020277
+:102940000202020202020202020202020202020267
+:102950000202020202020202020202020202020257
+:102960000202020202020202020202020202020247
+:102970000202020202020202020202020202020237
+:102980000202020202020202020202020202020227
+:102990000202020202020202020202020202020217
+:1029A0000202020202020202020202020202020207
+:1029B00002020202020202020202020202020202F7
+:1029C00002020202020202020202020202020202E7
+:1029D00002020202020202020202020202020202D7
+:1029E00002020202020202020202020202020202C7
+:1029F00002020202020202020202020202020202B7
+:102A000002020202020202000000000000000000B8
+:102A100000000000000000000000000000000000B6
+:102A200000000000000000000000000000000000A6
+:102A30000000000000000000000000000000000096
+:102A40000000000000000000000000000000000086
+:102A50000000000000000000000000000000000076
+:102A60000000000000000000000000000000000066
+:102A70000000000000000000000000000000000056
+:102A80000000000000000000000000000000000046
+:102A90000000000000000000000000000000000036
+:102AA0000000000000000000000000000000000026
+:102AB0000000000000000000000000000000000016
+:102AC0000000000000000000000000000000000006
+:102AD00000000000000000000000000000000000F6
+:102AE00000000000000000000000000000000000E6
+:102AF00000000000000000000000000000000000D6
+:102B000000000000000000000000000000000000C5
+:102B100000000000000000000000000000000000B5
+:102B200000000000000000000000000000000000A5
+:102B30000000000000000000000000000000000095
+:102B40000000000000000000000000000000000085
+:102B50000000000000000000000000000000000075
+:102B60000000000000000000000000000000000065
+:102B70000000000000000000000000000000000055
+:102B80000000000000000000000000000000000045
+:102B90000000000000000000000000000000000035
+:102BA0000000000000000000000000000000000025
+:102BB0000000000000000000000000000000000015
+:102BC0000000000000000000000000000000000005
+:102BD00000000000000000000000000000000000F5
+:102BE00000000000000000000000000000000000E5
+:102BF00000000000000000000000000000000000D5
+:102C000000000000000000000000000000000000C4
+:102C100000000000000000000000000000000000B4
+:102C200000000000000000000000000000000000A4
+:102C30000000000000000000000000000000000094
+:102C40000000000000000000000000000000000084
+:102C50000000000000000000000000000000000074
+:102C60000000000000000000000000000000000064
+:102C70000000000000000000000000000000000054
+:102C80000000000000000000000000000000000044
+:102C90000000000000000000000000000000000034
+:102CA0000000000000000000000000000000000024
+:102CB0000000000000000000000000000000000014
+:102CC0000000000000000000000000000000000004
+:102CD00000000000000000000000000000000000F4
+:102CE00000000000000000000000000000000000E4
+:102CF00000000000000000000000000000000000D4
+:102D000000000000000000000000000000000000C3
+:102D100000000000000000000000000000000000B3
+:102D200000000000000000000000000000000000A3
+:102D30000000000000000000000000000000000093
+:102D40000000000000000000000000000000000083
+:102D50000000000000000000000000000000000073
+:102D60000000000000000000000000000000000063
+:102D70000000000000000000000000000000000053
+:102D80000000000000000000000000000000000043
+:102D90000000000000000000000000000000000033
+:102DA0000000000000000000000000000000000023
+:102DB0000000000000000000000000000000000013
+:102DC0000000000000000000000000000000000003
+:102DD00000000000000000000000000000000000F3
+:102DE00000000000000000000000000000000000E3
+:102DF00000000000000000000000000000000000D3
+:102E000000000000000000000000000000000000C2
+:102E100000000000000000000000000000000000B2
+:102E200000000000000000000000000000000000A2
+:102E30000000000000000000000000000000000092
+:102E40000000000000000000000000000000000082
+:102E50000000000000000000000000000000000072
+:102E60000000000000000000000000000000000062
+:102E70000000000000000000000000000000000052
+:102E80000000000000000000000000000000000042
+:102E90000000000000000000000000000000000032
+:102EA0000000000000000000000000000000000022
+:102EB0000000000000000000000000000000000012
+:102EC0000000000000000000000000000000000002
+:102ED00000000000000000000000000000000000F2
+:102EE00000000000000000000000000000000000E2
+:102EF00000000000000000000000000000000000D2
+:102F000000000000000000000000000000000000C1
+:102F100000000000000000000000000000000000B1
+:102F200000000000000000000000000000000000A1
+:102F30000000000000000000000000000000000091
+:102F40000000000000000000000000000000000081
+:102F50000000000000000000000000000000000071
+:102F60000000000000000000000000000000000061
+:102F70000000000000000000000000000000000051
+:102F80000000000000000000000000000000000041
+:102F90000000000000000000000000000000000031
+:102FA0000000000000000000000000000000000021
+:102FB0000000000000000000000000000000000011
+:102FC0000000000000000000000000000000000001
+:102FD00000000000000000000000000000000000F1
+:102FE00000000000000000000000000000000000E1
+:102FF00000000000000000000000000000000000D1
+:1030000000000000000000000000000000000000C0
+:1030100000000000000000000000000000000000B0
+:1030200000000000000000000000000000000000A0
+:103030000000000000000000000000000000000090
+:103040000000000000000000000000000000000080
+:103050000000000000000000000000000000000070
+:103060000000000000000000000000000000000060
+:103070000000000000000000000000000000000050
+:103080000000000000000000000000000000000040
+:103090000000000000000000000000000000000030
+:1030A0000000000000000000000000000000000020
+:1030B0000000000000000000000000000000000010
+:1030C0000000000000000000000000000000000000
+:1030D00000000000000000000000000000000000F0
+:1030E00000000000000000000000000000000000E0
+:1030F00000000000000000000000000000000000D0
+:1031000000000000000000000000000000000000BF
+:1031100000000000000000000000000000000000AF
+:10312000000000000000000000000000000000009F
+:10313000000000000000000000000000000000008F
+:10314000000000000000000000000000000000007F
+:10315000000000000000000000000000000000006F
+:10316000000000000000000000000000000000005F
+:10317000000000000000000000000000000000004F
+:10318000000000000000000000000000000000003F
+:10319000000000000000000000000000000000002F
+:1031A000000000000000000000000000000000001F
+:1031B000000000000000000000000000000000000F
+:1031C00000000000000000000000000000000000FF
+:1031D00000000000000000000000000000000000EF
+:1031E00000000000000000000000000000000000DF
+:1031F00000000000000000000000000000000000CF
+:10320000000000000000007B000000000000000142
+:10321000010101010101010101010101010101019E
+:10322000010101010101010101010101010101018E
+:10323000010101010101010101010101010101017E
+:10324000010101010101010101010101010101016E
+:10325000010101010101010101010101010101015E
+:10326000010101010101010101010101010101014E
+:10327000010101010101010101010101010101013E
+:10328000010101010101010101010101010101012E
+:10329000010101010101010101010101010101011E
+:1032A000010101010101010101010101010101010E
+:1032B00001010101010101010101010101010101FE
+:1032C00001010101010101010101010101010101EE
+:1032D00001010101010101010101010101010101DE
+:1032E00001010101010101010101010101010101CE
+:1032F00001010101010101010101010101010101BE
+:1033000001010101010101010101010101010101AD
+:10331000010101010101010101010101010101019D
+:10332000010101010101010101010101010101018D
+:10333000010101010101010101010101010101017D
+:10334000010101010101010101010101010101016D
+:10335000010101010101010101010101010101015D
+:10336000010101010101010101010101010101014D
+:10337000010101010101010101010101010101013D
+:10338000010101010101010101010101010101012D
+:10339000010101010101010101010101010101011D
+:1033A000010101010101010101010101010101010D
+:1033B00001010101010101010101010101010101FD
+:1033C00001010101010101010101010101010101ED
+:1033D00001010101010101010101010101010101DD
+:1033E00001010101010101010101010101010101CD
+:1033F00001010101010101010101010101010101BD
+:1034000001010101010101010101010101010101AC
+:10341000010101010101010101010101010101019C
+:10342000010101010101010101010101010101018C
+:10343000010101010101010101010101010101017C
+:10344000010101010101010101010101010101016C
+:10345000010101010101010101010101010101015C
+:10346000010101010101010101010101010101014C
+:10347000010101010101010101010101010101013C
+:10348000010101010101010101010101010101012C
+:10349000010101010101010101010101010101011C
+:1034A000010101010101010101010101010101010C
+:1034B00001010101010101010101010101010101FC
+:1034C00001010101010101010101010101010101EC
+:1034D00001010101010101010101010101010101DC
+:1034E00001010101010101010101010101010101CC
+:1034F00001010101010101010101010101010101BC
+:1035000001010101010101010101010101010101AB
+:10351000010101010101010101010101010101019B
+:10352000010101010101010101010101010101018B
+:10353000010101010101010101010101010101017B
+:10354000010101010101010101010101010101016B
+:10355000010101010101010101010101010101015B
+:10356000010101010101010101010101010101014B
+:10357000010101010101010101010101010101013B
+:10358000010101010101010101010101010101012B
+:10359000010101010101010101010101010101011B
+:1035A000010101010101010101010101010101010B
+:1035B00001010101010101010101010101010101FB
+:1035C00001010101010101010101010101010101EB
+:1035D00001010101010101010101010101010101DB
+:1035E00001010101010101010101010101010101CB
+:1035F00001010101010101010101010101010101BB
+:1036000001010101010101010101010101010101AA
+:10361000010101010101010101010101010101019A
+:10362000010101010101010101010101010101018A
+:10363000010101010101010101010101010101017A
+:10364000010101010101010101010101010101016A
+:10365000010101010101010101010101010101015A
+:10366000010101010101010101010101010101014A
+:10367000010101010101010101010101010101013A
+:10368000010101010101010101010101010101012A
+:10369000010101010101010101010101010101011A
+:1036A000010101010101010101010101010101010A
+:1036B00001010101010101010101010101010101FA
+:1036C00001010101010101010101010101010101EA
+:1036D00001010101010101010101010101010101DA
+:1036E00001010101010101010101010101010101CA
+:1036F00001010101010101010101010101010101BA
+:1037000001010101010101010101010101010101A9
+:103710000101010101010101010101010101010199
+:103720000101010101010101010101010101010189
+:103730000101010101010101010101010101010179
+:103740000101010101010101010101010101010169
+:103750000101010101010101010101010101010159
+:103760000101010101010101010101010101010149
+:103770000101010101010101010101010101010139
+:103780000101010101010101010101010101010129
+:103790000101010101010101010101010101010119
+:1037A0000101010101010101010101010101010109
+:1037B00001010101010101010101010101010101F9
+:1037C00001010101010101010101010101010101E9
+:1037D00001010101010101010101010101010101D9
+:1037E00001010101010101010101010101010101C9
+:1037F00001010101010101010101010101010101B9
+:1038000001010101010101010101010101010101A8
+:103810000101010101010101010101010101010198
+:103820000101010101010101010101010101010188
+:103830000101010101010101010101010101010178
+:103840000101010101010101010101010101010168
+:103850000101010101010101010101010101010158
+:103860000101010101010101010101010101010148
+:103870000101010101010101010101010101010138
+:103880000101010101010101010101010101010128
+:103890000101010101010101010101010101010118
+:1038A0000101010101010101010101010101010108
+:1038B00001010101010101010101010101010101F8
+:1038C00001010101010101010101010101010101E8
+:1038D00001010101010101010101010101010101D8
+:1038E00001010101010101010101010101010101C8
+:1038F00001010101010101010101010101010101B8
+:1039000001010101010101010101010101010101A7
+:103910000101010101010101010101010101010197
+:103920000101010101010101010101010101010187
+:103930000101010101010101010101010101010177
+:103940000101010101010101010101010101010167
+:103950000101010101010101010101010101010157
+:103960000101010101010101010101010101010147
+:103970000101010101010101010101010101010137
+:103980000101010101010101010101010101010127
+:103990000101010101010101010101010101010117
+:1039A0000101010101010101010101010101010107
+:1039B00001010101010101010101010101010101F7
+:1039C00001010101010101010101010101010101E7
+:1039D00001010101010101010101010101010101D7
+:1039E00001010101010101010101010101010101C7
+:1039F00001010101010101010101010101010101B7
+:103A000001010101010101010101010101010101A6
+:103A10000101010101010101010101010101010196
+:103A20000101010101010101010101010101010186
+:103A30000101010101010101010101010101010176
+:103A40000101010101010101010101010101010166
+:103A50000101010101010101010101010101010156
+:103A60000101010101010101010101010101010146
+:103A70000101010101010101010101010101010136
+:103A80000101010101010101010101010101010126
+:103A90000101010101010101010101010101010116
+:103AA0000101010101010101010101010101010106
+:103AB00001010101010101010101010101010101F6
+:103AC00001010101010101010101010101010101E6
+:103AD00001010101010101010101010101010101D6
+:103AE00001010101010101010101010101010101C6
+:103AF00001010101010101010101010101010101B6
+:103B000001010101010101010101010101010101A5
+:103B10000101010101010101010101010101010195
+:103B20000101010101010101010101010101010185
+:103B30000101010101010101010101010101010175
+:103B40000101010101010101010101010101010165
+:103B50000101010101010101010101010101010155
+:103B60000101010101010101010101010101010145
+:103B70000101010101010101010101010101010135
+:103B80000101010101010101010101010101010125
+:103B90000101010101010101010101010101010115
+:103BA0000101010101010101010101010101010105
+:103BB00001010101010101010101010101010101F5
+:103BC00001010101010101010101010101010101E5
+:103BD00001010101010101010101010101010101D5
+:103BE00001010101010101010101010101010101C5
+:103BF00001010101010101010101010101010101B5
+:103C000001010101010101010101010101010101A4
+:103C10000101010101010101010101010101010194
+:103C20000101010101010101010101010101010184
+:103C30000101010101010101010101010101010174
+:103C40000101010101010101010101010101010164
+:103C50000101010101010101010101010101010154
+:103C60000101010101010101010101010101010144
+:103C70000101010101010101010101010101010134
+:103C80000101010101010101010101010101010124
+:103C90000101010101010101010101010101010114
+:103CA0000101010101010101010101010101010104
+:103CB00001010101010101010101010101010101F4
+:103CC00001010101010101010101010101010101E4
+:103CD00001010101010101010101010101010101D4
+:103CE00001010101010101010101010101010101C4
+:103CF00001010101010101010101010101010101B4
+:103D000001010101010101010101010101010101A3
+:103D10000101010101010101010101010101010193
+:103D20000101010101010101010101010101010183
+:103D30000101010101010101010101010101010173
+:103D40000101010101010101010101010101010163
+:103D50000101010101010101010101010101010153
+:103D60000101010101010101010101010101010143
+:103D70000101010101010101010101010101010133
+:103D80000101010101010101010101010101010123
+:103D90000101010101010101010101010101010113
+:103DA0000101010101010101010101010101010103
+:103DB00001010101010101010101010101010101F3
+:103DC00001010101010101010101010101010101E3
+:103DD00001010101010101010101010101010101D3
+:103DE00001010101010101010101010101010101C3
+:103DF00001010101010101010101010101010101B3
+:103E000001010101010101010101010101010101A2
+:103E10000101010101010101010101010101010192
+:103E20000101010101010101010101010101010182
+:103E30000101010101010101010101010101010172
+:103E40000101010101010101010101010101010162
+:103E50000101010101010101010101010101010152
+:103E60000101010101010101010101010101010142
+:103E70000101010101010101010101010101010132
+:103E80000101010101010101010101010101010122
+:103E90000101010101010101010101010101010112
+:103EA0000101010101010101010101010101010102
+:103EB00001010101010101010101010101010101F2
+:103EC00001010101010101010101010101010101E2
+:103ED00001010101010101010101010101010101D2
+:103EE00001010101010101010101010101010101C2
+:103EF00001010101010101010101010101010101B2
+:103F000001010101010101010101010101010101A1
+:103F10000101010101010101010101010101010191
+:103F20000101010101010101010101010101010181
+:103F30000101010101010101010101010101010171
+:103F40000101010101010101010101010101010161
+:103F50000101010101010101010101010101010151
+:103F60000101010101010101010101010101010141
+:103F70000101010101010101010101010101010131
+:103F80000101010101010101010101010101010121
+:103F90000101010101010101010101010101010111
+:103FA0000101010101010101010101010101010101
+:103FB00001010101010101010101010101010101F1
+:103FC00001010101010101010101010101010101E1
+:103FD00001010101010101010101010101010101D1
+:103FE00001010101010101010101010101010101C1
+:103FF00001010101010101010101010101010101B1
+:1040000001010101010101010101010101010101A0
+:104010000101010101010101010101010101010190
+:104020000101010101010101010101010101010180
+:104030000101010101010101010101010101010170
+:104040000101010101010101010101010101010160
+:104050000101010101010101010101010101010150
+:104060000101010101010101010101010101010140
+:104070000101010101010101010101010101010130
+:104080000101010101010101010101010101010120
+:104090000101010101010101010101010101010110
+:1040A0000101010101010101010101010101010100
+:1040B00001010101010101010101010101010101F0
+:1040C00001010101010101010101010101010101E0
+:1040D00001010101010101010101010101010101D0
+:1040E00001010101010101010101010101010101C0
+:1040F00001010101010101010101010101010101B0
+:10410000010101010101010101010101010101019F
+:10411000010101010101010101010101010101018F
+:10412000010101010101010101010101010101017F
+:10413000010101010101010101010101010101016F
+:10414000010101010101010101010101010101015F
+:10415000010101010101010101010101010101014F
+:10416000010101010101010101010101010101013F
+:10417000010101010101010101010101010101012F
+:10418000010101010101010101010101010101011F
+:10419000010101010101010101010101010101010F
+:1041A00001010101010101010101010101010101FF
+:1041B00001010101010101010101010101010101EF
+:1041C00001010101010101010101010101010101DF
+:1041D00001010101010101010101010101010101CF
+:1041E00001010101010101010101010101010101BF
+:1041F00001010101010101010101010101010101AF
+:10420000010101010101010101010101010101019E
+:10421000010101010101010101010101010101018E
+:10422000010101010101010101010101010101017E
+:10423000010101010101010101010101010101016E
+:10424000010101010101010101010101010101015E
+:10425000010101010101010101010101010101014E
+:10426000010101010101010101010101010101013E
+:10427000010101010101010101010101010101012E
+:10428000010101010101010101010101010101011E
+:10429000010101010101010101010101010101010E
+:1042A00001010101010101010101010101010101FE
+:1042B00001010101010101010101010101010101EE
+:1042C00001010101010101010101010101010101DE
+:1042D00001010101010101010101010101010101CE
+:1042E00001010101010101010101010101010101BE
+:1042F00001010101010101010101010101010101AE
+:10430000010101010101010101010101010101019D
+:10431000010101010101010101010101010101018D
+:10432000010101010101010101010101010101017D
+:10433000010101010101010101010101010101016D
+:10434000010101010101010101010101010101015D
+:10435000010101010101010101010101010101014D
+:10436000010101010101010101010101010101013D
+:10437000010101010101010101010101010101012D
+:10438000010101010101010101010101010101011D
+:10439000010101010101010101010101010101010D
+:1043A00001010101010101010101010101010101FD
+:1043B00001010101010101010101010101010101ED
+:1043C00001010101010101010101010101010101DD
+:1043D00001010101010101010101010101010101CD
+:1043E00001010101010101010101010101010101BD
+:1043F00001010101010101010101010101010101AD
+:10440000010101010101010101010101010101019C
+:10441000010101010101010101010101010101018C
+:10442000010101010101010101010101010101017C
+:10443000010101010101010101010101010101016C
+:10444000010101010101010101010101010101015C
+:10445000010101010101010101010101010101014C
+:10446000010101010101010101010101010101013C
+:10447000010101010101010101010101010101012C
+:10448000010101010101010101010101010101011C
+:10449000010101010101010101010101010101010C
+:1044A00001010101010101010101010101010101FC
+:1044B00001010101010101010101010101010101EC
+:1044C00001010101010101010101010101010101DC
+:1044D00001010101010101010101010101010101CC
+:1044E00001010101010101010101010101010101BC
+:1044F00001010101010101010101010101010101AC
+:10450000010101010101010101010101010101019B
+:10451000010101010101010101010101010101018B
+:10452000010101010101010101010101010101017B
+:10453000010101010101010101010101010101016B
+:10454000010101010101010101010101010101015B
+:10455000010101010101010101010101010101014B
+:10456000010101010101010101010101010101013B
+:10457000010101010101010101010101010101012B
+:10458000010101010101010101010101010101011B
+:10459000010101010101010101010101010101010B
+:1045A00001010101010101010101010101010101FB
+:1045B00001010101010101010101010101010101EB
+:1045C00001010101010101010101010101010101DB
+:1045D00001010101010101010101010101010101CB
+:1045E00001010101010101010101010101010101BB
+:1045F00001010101010101010101010101010101AB
+:10460000010101010101010101010101010101019A
+:10461000010101010101010101010101010101018A
+:10462000010101010101010101010101010101017A
+:10463000010101010101010101010101010101016A
+:10464000010101010101010101010101010101015A
+:10465000010101010101010101010101010101014A
+:10466000010101010101010101010101010101013A
+:10467000010101010101010101010101010101012A
+:10468000010101010101010101010101010101011A
+:10469000010101010101010101010101010101010A
+:1046A00001010101010101010101010101010101FA
+:1046B00001010101010101010101010101010101EA
+:1046C00001010101010101010101010101010101DA
+:1046D00001010101010101010101010101010101CA
+:1046E00001010101010101010101010101010101BA
+:1046F00001010101010101010101010101010101AA
+:10470000010101010101010101010101010101009A
+:104710000000000000000000000000000000000099
+:104720000000000000000000000000000000000089
+:104730000000000000000000000000000000000079
+:104740000000000000000000000000000000000069
+:104750000000000000000000000000000000000059
+:104760000000000000000000000000000000000049
+:104770000000000000000000000000000000000039
+:104780000000000000000000000000000000000029
+:104790000000000000000000000000000000000019
+:1047A0000000000000000000000000000000000009
+:1047B00000000000000000000000000000000000F9
+:1047C00000000000000000000000000000000000E9
+:1047D00000000000000000000000000000000000D9
+:1047E00000000000000000000000000000000000C9
+:1047F00000000000000000000000000000000000B9
+:1048000000000000000000000000000000000000A8
+:104810000000000000000000000000000000000098
+:104820000000000000000000000000000000000088
+:104830000000000000000000000000000000000078
+:104840000000000000000000000000000000000068
+:104850000000000000000000000000000000000058
+:104860000000000000000000000000000000000048
+:104870000000000000000000000000000000000038
+:104880000000000000000000000000000000000028
+:104890000000000000000000000000000000000018
+:1048A0000000000000000000000000000000000008
+:1048B00000000000000000000000000000000000F8
+:1048C00000000000000000000000000000000000E8
+:1048D00000000000000000000000000000000000D8
+:1048E00000000000000000000000000000000000C8
+:1048F00000000000000000000000000000000000B8
+:1049000000000000000000000000000000000000A7
+:104910000000000000000000000000000000000097
+:104920000000000000000000000000000000000087
+:104930000000000000000000000000000000000077
+:104940000000000000000000000000000000000067
+:104950000000000000000000000000000000000057
+:104960000000000000000000000000000000000047
+:104970000000000000000000000000000000000037
+:104980000000000000000000000000000000000027
+:104990000000000000000000000000000000000017
+:1049A0000000000000000000000000000000000007
+:1049B00000000000000000000000000000000000F7
+:1049C00000000000000000000000000000000000E7
+:1049D00000000000000000000000000000000000D7
+:1049E00000000000000000000000000000000000C7
+:1049F00000000000000000000000000000000000B7
+:104A000000000000000000000000000000000000A6
+:104A10000000000000000000000000000000000096
+:104A20000000000000000000000000000000000086
+:104A30000000000000000000000000000000000076
+:104A40000000000000000000000000000000000066
+:104A50000000000000000000000000000000000056
+:104A60000000000000000000000000000000000046
+:104A70000000000000000000000000000000000036
+:104A80000000000000000000000000000000000026
+:104A90000000000000000000000000000000000016
+:104AA0000000000000000000000000000000000006
+:104AB00000000000000000000000000000000000F6
+:104AC00000000000000000000000000000000000E6
+:104AD00000000000000000000000000000000000D6
+:104AE00000000000000000000000000000000000C6
+:104AF00000000000000000000000000000000000B6
+:104B000000000000000000000000000000000001A4
+:104B10000101010101010101010101010101010185
+:104B20000101010101010101010101010101010175
+:104B30000101010101010101010101010101010165
+:104B40000101010101010101010101010101010155
+:104B50000101010101010101010101010101010145
+:104B60000101010101010101010101010101010135
+:104B70000101010101010101010101010101010125
+:104B80000101010101010101010101010101010115
+:104B90000101010101010101010101010101010105
+:104BA00001010101010101010101010101010101F5
+:104BB00001010101010101010101010101010101E5
+:104BC00001010101010101010101010101010101D5
+:104BD00001010101010101010101010101010101C5
+:104BE00001010101010101010101010101010101B5
+:104BF00001010101010101010101010101010101A5
+:104C00000101010101010101010101010101010194
+:104C10000101010101010101010101010101010184
+:104C20000101010101010101010101010101010174
+:104C30000101010101010101010101010101010164
+:104C40000101010101010101010101010101010154
+:104C50000101010101010101010101010101010144
+:104C60000101010101010101010101010101010134
+:104C70000101010101010101010101010101010124
+:104C80000101010101010101010101010101010114
+:104C90000101010101010101010101010101010104
+:104CA00001010101010101010101010101010101F4
+:104CB00001010101010101010101010101010101E4
+:104CC00001010101010101010101010101010101D4
+:104CD00001010101010101010101010101010101C4
+:104CE00001010101010101010101010101010101B4
+:104CF00001010101010101010101010101010101A4
+:104D00000101010101010101010101010101010193
+:104D10000101010101010101010101010101010183
+:104D20000101010101010101010101010101010173
+:104D30000101010101010101010101010101010163
+:104D40000101010101010101010101010101010153
+:104D50000101010101010101010101010101010143
+:104D60000101010101010101010101010101010133
+:104D70000101010101010101010101010101010123
+:104D80000101010101010101010101010101010113
+:104D90000101010101010101010101010101010103
+:104DA00001010101010101010101010101010101F3
+:104DB00001010101010101010101010101010101E3
+:104DC00001010101010101010101010101010101D3
+:104DD00001010101010101010101010101010101C3
+:104DE00001010101010101010101010101010101B3
+:104DF00001010101010101010101010101010101A3
+:104E00000101010101010101010101010101010291
+:104E10000202020202020202020202020202020272
+:104E20000202020202020202020202020202020262
+:104E30000202020202020202020202020202020252
+:104E40000202020202020202020202020202020242
+:104E50000202020202020202020202020202020232
+:104E60000202020202020202020202020202020222
+:104E70000202020202020202020202020202020212
+:104E80000202020202020202020202020202020202
+:104E900002020202020202020202020202020202F2
+:104EA00002020202020202020202020202020202E2
+:104EB00002020202020202020202020202020202D2
+:104EC00002020202020202020202020202020202C2
+:104ED00002020202020202020202020202020202B2
+:104EE00002020202020202020202020202020202A2
+:104EF0000202020202020202020202020202020292
+:104F00000202020202020202020202020202020281
+:104F10000202020202020202020202020202020271
+:104F20000202020202020202020202020202020261
+:104F30000202020202020202020202020202020251
+:104F40000202020202020202020202020202020241
+:104F50000202020202020202020202020202020231
+:104F60000202020202020202020202020202020221
+:104F70000202020202020202020202020202020211
+:104F80000202020202020202020202020202020201
+:104F900002020202020202020202020202020202F1
+:104FA00002020202020202020202020202020202E1
+:104FB00002020202020202020202020202020202D1
+:104FC00002020202020202020202020202020202C1
+:104FD00002020202020202020202020202020202B1
+:104FE00002020202020202020202020202020202A1
+:104FF0000202020202020202020202020202020291
+:105000000202020202020202020202020202020280
+:105010000202020202020202020202020202020270
+:105020000202020202020202020202020202020260
+:105030000202020202020202020202020202020250
+:105040000202020202020202020202020202020240
+:105050000202020202020202020202020202020230
+:105060000202020202020202020202020202020220
+:105070000202020202020202020202020202020210
+:105080000202020202020202020202020202020200
+:1050900002020202020202020202020202020202F0
+:1050A00002020202020202020202020202020202E0
+:1050B00002020202020202020202020202020202D0
+:1050C00002020202020202020202020202020202C0
+:1050D00002020202020202020202020202020202B0
+:1050E00002020202020202020202020202020202A0
+:1050F0000202020202020202020202020202020290
+:10510000020202020202020202020202020202027F
+:10511000020202020202020202020202020202026F
+:10512000020202020202020202020202020202025F
+:10513000020202020202020202020202020202024F
+:10514000020202020202020202020202020202023F
+:10515000020202020202020202020202020202022F
+:10516000020202020202020202020202020202021F
+:10517000020202020202020202020202020202020F
+:1051800002020202020202020202020202020202FF
+:1051900002020202020202020202020202020202EF
+:1051A00002020202020202020202020202020202DF
+:1051B00002020202020202020202020202020202CF
+:1051C00002020202020202020202020202020202BF
+:1051D00002020202020202020202020202020202AF
+:1051E000020202020202020202020202020202029F
+:1051F000020202020202020202020202020202028F
+:10520000020202020202020202020202020202027E
+:10521000020202020202020202020202020202026E
+:10522000020202020202020202020202020202025E
+:10523000020202020202020202020202020202024E
+:10524000020202020202020202020202020202023E
+:10525000020202020202020202020202020202022E
+:10526000020202020202020202020202020202021E
+:10527000020202020202020202020202020202020E
+:1052800002020202020202020202020202020202FE
+:1052900002020202020202020202020202020202EE
+:1052A00002020202020202020202020202020202DE
+:1052B00002020202020202020202020202020202CE
+:1052C00002020202020202020202020202020202BE
+:1052D00002020202020202020202020202020202AE
+:1052E000020202020202020202020202020202029E
+:1052F000020202020202020202020202020202028E
+:10530000020202020202020202020202020202027D
+:10531000020202020202020202020202020202026D
+:10532000020202020202020202020202020202025D
+:10533000020202020202020202020202020202024D
+:10534000020202020202020202020202020202023D
+:10535000020202020202020202020202020202022D
+:10536000020202020202020202020202020202021D
+:10537000020202020202020202020202020202020D
+:1053800002020202020202020202020202020202FD
+:1053900002020202020202020202020202020202ED
+:1053A00002020202020202020202020202020202DD
+:1053B00002020202020202020202020202020202CD
+:1053C00002020202020202020202020202020202BD
+:1053D00002020202020202020202020202020202AD
+:1053E000020202020202020202020202020202029D
+:1053F000020202020202020202020202020202028D
+:10540000020202020202020202020202020202027C
+:10541000020202020202020202020202020202026C
+:10542000020202020202020202020202020202025C
+:10543000020202020202020202020202020202024C
+:10544000020202020202020202020202020202023C
+:10545000020202020202020202020202020202022C
+:10546000020202020202020202020202020202021C
+:10547000020202020202020202020202020202020C
+:1054800002020202020202020202020202020202FC
+:1054900002020202020202020202020202020202EC
+:1054A00002020202020202020202020202020202DC
+:1054B00002020202020202020202020202020202CC
+:1054C00002020202020202020202020202020202BC
+:1054D00002020202020202020202020202020202AC
+:1054E000020202020202020202020202020202029C
+:1054F000020202020202020202020202020202028C
+:10550000020202020202020202020202020202027B
+:10551000020202020202020202020202020202026B
+:10552000020202020202020202020202020202025B
+:10553000020202020202020202020202020202024B
+:10554000020202020202020202020202020202023B
+:10555000020202020202020202020202020202022B
+:10556000020202020202020202020202020202021B
+:10557000020202020202020202020202020202020B
+:1055800002020202020202020202020202020202FB
+:1055900002020202020202020202020202020202EB
+:1055A00002020202020202020202020202020202DB
+:1055B00002020202020202020202020202020202CB
+:1055C00002020202020202020202020202020202BB
+:1055D00002020202020202020202020202020202AB
+:1055E000020202020202020202020202020202029B
+:1055F000020202020202020202020202020202028B
+:10560000020202020202020202020202020202027A
+:10561000020202020202020202020202020202026A
+:10562000020202020202020202020202020202025A
+:10563000020202020202020202020202020202024A
+:10564000020202020202020202020202020202023A
+:10565000020202020202020202020202020202022A
+:10566000020202020202020202020202020202021A
+:10567000020202020202020202020202020202020A
+:1056800002020202020202020202020202020202FA
+:1056900002020202020202020202020202020202EA
+:1056A00002020202020202020202020202020202DA
+:1056B00002020202020202020202020202020202CA
+:1056C00002020202020202020202020202020202BA
+:1056D00002020202020202020202020202020202AA
+:1056E000020202020202020202020202020202029A
+:1056F000020202020202020202020202020202028A
+:105700000202020202020202020202020202020279
+:105710000202020202020202020202020202020269
+:105720000202020202020202020202020202020259
+:105730000202020202020202020202020202020249
+:105740000202020202020202020202020202020239
+:105750000202020202020202020202020202020229
+:105760000202020202020202020202020202020219
+:105770000202020202020202020202020202020209
+:1057800002020202020202020202020202020202F9
+:1057900002020202020202020202020202020202E9
+:1057A00002020202020202020202020202020202D9
+:1057B00002020202020202020202020202020202C9
+:1057C00002020202020202020202020202020202B9
+:1057D00002020202020202020202020202020202A9
+:1057E0000202020202020202020202020202020299
+:1057F0000202020202020202020202020202020289
+:105800000202020202020202020202020202020278
+:105810000202020202020202020202020202020268
+:105820000202020202020202020202020202020258
+:105830000202020202020202020202020202020248
+:105840000202020202020202020202020202020238
+:105850000202020202020202020202020202020228
+:105860000202020202020202020202020202020218
+:105870000202020202020202020202020202020208
+:1058800002020202020202020202020202020202F8
+:1058900002020202020202020202020202020202E8
+:1058A00002020202020202020202020202020202D8
+:1058B00002020202020202020202020202020202C8
+:1058C00002020202020202020202020202020202B8
+:1058D00002020202020202020202020202020202A8
+:1058E0000202020202020202020202020202020298
+:1058F0000202020202020202020202020202020288
+:105900000202020202020202020202020202020277
+:105910000202020202020202020202020202020267
+:105920000202020202020202020202020202020257
+:105930000202020202020202020202020202020247
+:105940000202020202020202020202020202020237
+:105950000202020202020202020202020202020227
+:105960000202020202020202020202020202020217
+:105970000202020202020202020202020202020207
+:1059800002020202020202020202020202020202F7
+:1059900002020202020202020202020202020202E7
+:1059A00002020202020202020202020202020202D7
+:1059B00002020202020202020202020202020202C7
+:1059C00002020202020202020202020202020202B7
+:1059D00002020202020202020202020202020202A7
+:1059E0000202020202020202020202020202020297
+:1059F0000202020202020202020202020202020287
+:105A00000202020202020202020202020202020276
+:105A10000202020202020202020202020202020266
+:105A20000202020202020202020202020202020256
+:105A30000202020202020202020202020202020246
+:105A40000202020202020202020202020202020236
+:105A50000202020202020202020202020202020226
+:105A60000202020202020202020202020202020216
+:105A70000202020202020202020202020202020206
+:105A800002020202020202020202020202020202F6
+:105A900002020202020202020202020202020202E6
+:105AA00002020202020202020202020202020202D6
+:105AB00002020202020202020202020202020202C6
+:105AC00002020202020202020202020202020202B6
+:105AD00002020202020202020202020202020202A6
+:105AE0000202020202020202020202020202020296
+:105AF0000202020202020202020202020202020286
+:105B00000202020202020202020202020202020275
+:105B10000202020202020202020202020202020265
+:105B20000202020202020202020202020202020255
+:105B30000202020202020202020202020202020245
+:105B40000202020202020202020202020202020235
+:105B50000202020202020202020202020202020225
+:105B60000202020202020202020202020202020215
+:105B70000202020202020202020202020202020205
+:105B800002020202020202020202020202020202F5
+:105B900002020202020202020202020202020202E5
+:105BA00002020202020202020202020202020202D5
+:105BB00002020202020202020202020202020202C5
+:105BC00002020202020202020202020202020202B5
+:105BD00002020202020202020202020202020202A5
+:105BE0000202020202020202020202020202020295
+:105BF0000202020202020202020202020202020285
+:105C00000202020202020202020202020202020274
+:105C10000202020202020202020202020202020264
+:105C20000202020202020202020202020202020254
+:105C30000202020202020202020202020202020244
+:105C40000202020202020202020202020202020234
+:105C50000202020202020202020202020202020224
+:105C60000202020202020202020202020202020214
+:105C70000202020202020202020202020202020204
+:105C800002020202020202020202020202020202F4
+:105C900002020202020202020202020202020202E4
+:105CA00002020202020202020202020202020202D4
+:105CB00002020202020202020202020202020202C4
+:105CC00002020202020202020202020202020202B4
+:105CD00002020202020202020202020202020202A4
+:105CE0000202020202020202020202020202020294
+:105CF0000202020202020202020202020202020284
+:105D00000202020202020202020202020202020273
+:105D10000202020202020202020202020202020263
+:105D20000202020202020202020202020202020253
+:105D30000202020202020202020202020202020243
+:105D40000202020202020202020202020202020233
+:105D50000202020202020202020202020202020223
+:105D60000202020202020202020202020202020213
+:105D70000202020202020202020202020202020203
+:105D800002020202020202020202020202020202F3
+:105D900002020202020202020202020202020202E3
+:105DA00002020202020202020202020202020202D3
+:105DB00002020202020202020202020202020202C3
+:105DC00002020202020202020202020202020202B3
+:105DD00002020202020202020202020202020202A3
+:105DE0000202020202020202020202020202020293
+:105DF0000202020202020202020202020202020283
+:105E00000202020202020202020202020202020272
+:105E10000202020202020202020202020202020262
+:105E20000202020202020202020202020202020252
+:105E30000202020202020202020202020202020242
+:105E40000202020202020202020202020202020232
+:105E50000202020202020202020202020202020222
+:105E60000202020202020202020202020202020212
+:105E70000202020202020202020202020202020202
+:105E800002020202020202020202020202020202F2
+:105E900002020202020202020202020202020202E2
+:105EA00002020202020202020202020202020202D2
+:105EB00002020202020202020202020202020202C2
+:105EC00002020202020202020202020202020202B2
+:105ED00002020202020202020202020202020202A2
+:105EE0000202020202020202020202020202020292
+:105EF0000202020202020202020202020202020282
+:105F00000202020202020202020202020202020271
+:105F10000202020202020202020202020202020261
+:105F20000202020202020202020202020202020251
+:105F30000202020202020202020202020202020241
+:105F40000202020202020202020202020202020231
+:105F50000202020202020202020202020202020221
+:105F60000202020202020202020202020202020211
+:105F70000202020202020202020202020202020201
+:105F800002020202020202020202020202020202F1
+:105F900002020202020202020202020202020202E1
+:105FA00002020202020202020202020202020202D1
+:105FB00002020202020202020202020202020202C1
+:105FC00002020202020202020202020202020202B1
+:105FD00002020202020202020202020202020202A1
+:105FE0000202020202020202020202020202020291
+:105FF0000202020202020202020202020202020281
+:106000000202020202020202020202020202020270
+:106010000202020202020202020202020202020260
+:106020000202020202020202020202020202020250
+:106030000202020202020202020202020202020240
+:106040000202020202020202020202020202020230
+:106050000202020202020202020202020202020220
+:106060000202020202020202020202020202020210
+:106070000202020202020202020202020202020200
+:1060800002020202020202020202020202020202F0
+:1060900002020202020202020202020202020202E0
+:1060A00002020202020202020202020202020202D0
+:1060B00002020202020202020202020202020202C0
+:1060C00002020202020202020202020202020202B0
+:1060D00002020202020202020202020202020202A0
+:1060E0000202020202020202020202020202020290
+:1060F0000202020202020202020202020202020280
+:10610000020202020202020202020202020202026F
+:10611000020202020202020202020202020202025F
+:10612000020202020202020202020202020202024F
+:10613000020202020202020202020202020202023F
+:10614000020202020202020202020202020202022F
+:10615000020202020202020202020202020202021F
+:10616000020202020202020202020202020202020F
+:1061700002020202020202020202020202020202FF
+:1061800002020202020202020202020202020202EF
+:1061900002020202020202020202020202020202DF
+:1061A00002020202020202020202020202020202CF
+:1061B00002020202020202020202020202020202BF
+:1061C00002020202020202020202020202020202AF
+:1061D000020202020202020202020202020202029F
+:1061E000020202020202020202020202020202028F
+:1061F000020202020202020202020202020202027F
+:10620000020202020202020202020202020202026E
+:10621000020202020202020202020202020202025E
+:10622000020202020202020202020202020202024E
+:10623000020202020202020202020202020202023E
+:10624000020202020202020202020202020202022E
+:10625000020202020202020202020202020202021E
+:10626000020202020202020202020202020202020E
+:1062700002020202020202020202020202020202FE
+:1062800002020202020202020202020202020202EE
+:1062900002020202020202020202020202020202DE
+:1062A00002020202020202020202020202020202CE
+:1062B00002020202020202020202020202020202BE
+:1062C00002020202020202020202020202020202AE
+:1062D000020202020202020202020202020202029E
+:1062E000020202020202020202020202020202028E
+:1062F000020202020202020202020202020202027E
+:10630000020202020202020202020202020202026D
+:10631000020202020202020202020202020202025D
+:10632000020202020202020202020202020202024D
+:10633000020202020202020202020202020202023D
+:10634000020202020202020202020202020202022D
+:10635000020202020202020202020202020202021D
+:10636000020202020202020202020202020202020D
+:1063700002020202020202020202020202020202FD
+:1063800002020202020202020202020202020202ED
+:1063900002020202020202020202020202020202DD
+:1063A00002020202020202020202020202020202CD
+:1063B00002020202020202020202020202020202BD
+:1063C00002020202020202020202020202020202AD
+:1063D000020202020202020202020202020202029D
+:1063E000020202020202020202020202020202028D
+:1063F000020202020202020202020202020202027D
+:10640000020202020202020202020202020202026C
+:10641000020202020202020202020202020202025C
+:10642000020202020202020202020202020202024C
+:10643000020202020202020202020202020202023C
+:10644000020202020202020202020202020202022C
+:10645000020202020202020202020202020202021C
+:10646000020202020202020202020202020202020C
+:1064700002020202020202020202020202020202FC
+:1064800002020202020202020202020202020202EC
+:1064900002020202020202020202020202020202DC
+:1064A00002020202020202020202020202020202CC
+:1064B00002020202020202020202020202020202BC
+:1064C00002020202020202020202020202020202AC
+:1064D000020202020202020202020202020202029C
+:1064E000020202020202020202020202020202028C
+:1064F000020202020202020202020202020202027C
+:10650000020202020202020202020202020202026B
+:10651000020202020202020202020202020202025B
+:10652000020202020202020202020202020202024B
+:10653000020202020202020202020202020202023B
+:10654000020202020202020202020202020202022B
+:10655000020202020202020202020202020202021B
+:10656000020202020202020202020202020202020B
+:1065700002020202020202020202020202020202FB
+:1065800002020202020202020202020202020202EB
+:1065900002020202020202020202020202020202DB
+:1065A00002020202020202020202020202020202CB
+:1065B00002020202020202020202020202020202BB
+:1065C00002020202020202020202020202020202AB
+:1065D000020202020202020202020202020202029B
+:1065E000020202020202020202020202020202028B
+:1065F000020202020202020202020202020202027B
+:10660000020202020202020202020202020202006C
+:10661000000000000000000000000000000000007A
+:10662000000000000000000000000000000000006A
+:10663000000000000000000000000000000000005A
+:10664000000000000000000000000000000000004A
+:10665000000000000000000000000000000000003A
+:10666000000000000000000000000000000000002A
+:10667000000000000000000000000000000000001A
+:10668000000000000000000000000000000000000A
+:1066900000000000000000000000000000000000FA
+:1066A00000000000000000000000000000000000EA
+:1066B00000000000000000000000000000000000DA
+:1066C00000000000000000000000000000000000CA
+:1066D00000000000000000000000000000000000BA
+:1066E00000000000000000000000000000000000AA
+:1066F000000000000000000000000000000000009A
+:106700000000000000000000000000000000000089
+:106710000000000000000000000000000000000079
+:106720000000000000000000000000000000000069
+:106730000000000000000000000000000000000059
+:106740000000000000000000000000000000000049
+:106750000000000000000000000000000000000039
+:106760000000000000000000000000000000000029
+:106770000000000000000000000000000000000019
+:106780000000000000000000000000000000000009
+:1067900000000000000000000000000000000000F9
+:1067A00000000000000000000000000000000000E9
+:1067B00000000000000000000000000000000000D9
+:1067C00000000000000000000000000000000000C9
+:1067D00000000000000000000000000000000000B9
+:1067E00000000000000000000000000000000000A9
+:1067F0000000000000000000000000000000000099
+:106800000000000000000000000000000000000088
+:106810000000000000000000000000000000000078
+:106820000000000000000000000000000000000068
+:106830000000000000000000000000000000000058
+:106840000000000000000000000000000000000048
+:106850000000000000000000000000000000000038
+:106860000000000000000000000000000000000028
+:106870000000000000000000000000000000000018
+:106880000000000000000000000000000000000008
+:1068900000000000000000000000000000000000F8
+:1068A00000000000000000000000000000000000E8
+:1068B00000000000000000000000000000000000D8
+:1068C00000000000000000000000000000000000C8
+:1068D00000000000000000000000000000000000B8
+:1068E00000000000000000000000000000000000A8
+:1068F0000000000000000000000000000000000098
+:106900000000000000000000000000000000000087
+:106910000000000000000000000000000000000077
+:106920000000000000000000000000000000000067
+:106930000000000000000000000000000000000057
+:106940000000000000000000000000000000000047
+:106950000000000000000000000000000000000037
+:106960000000000000000000000000000000000027
+:106970000000000000000000000000000000000017
+:106980000000000000000000000000000000000007
+:1069900000000000000000000000000000000000F7
+:1069A00000000000000000000000000000000000E7
+:1069B00000000000000000000000000000000000D7
+:1069C00000000000000000000000000000000000C7
+:1069D00000000000000000000000000000000000B7
+:1069E00000000000000000000000000000000000A7
+:1069F0000000000000000000000000000000000097
+:106A00000000000000000000000000000000000086
+:106A10000000000000000000000000000000000076
+:106A20000000000000000000000000000000000066
+:106A30000000000000000000000000000000000056
+:106A40000000000000000000000000000000000046
+:106A50000000000000000000000000000000000036
+:106A60000000000000000000000000000000000026
+:106A70000000000000000000000000000000000016
+:106A80000000000000000000000000000000000006
+:106A900000000000000000000000000000000000F6
+:106AA00000000000000000000000000000000000E6
+:106AB00000000000000000000000000000000000D6
+:106AC00000000000000000000000000000000000C6
+:106AD00000000000000000000000000000000000B6
+:106AE00000000000000000000000000000000000A6
+:106AF0000000000000000000000000000000000096
+:106B00000000000000000000000000000000000085
+:106B10000000000000000000000000000000000075
+:106B20000000000000000000000000000000000065
+:106B30000000000000000000000000000000000055
+:106B40000000000000000000000000000000000045
+:106B50000000000000000000000000000000000035
+:106B60000000000000000000000000000000000025
+:106B70000000000000000000000000000000000015
+:106B80000000000000000000000000000000000005
+:106B900000000000000000000000000000000000F5
+:106BA00000000000000000000000000000000000E5
+:106BB00000000000000000000000000000000000D5
+:106BC00000000000000000000000000000000000C5
+:106BD00000000000000000000000000000000000B5
+:106BE00000000000000000000000000000000000A5
+:106BF0000000000000000000000000000000000095
+:106C00000000000000000000000000000000000084
+:106C10000000000000000000000000000000000074
+:106C20000000000000000000000000000000000064
+:106C30000000000000000000000000000000000054
+:106C40000000000000000000000000000000000044
+:106C50000000000000000000000000000000000034
+:106C60000000000000000000000000000000000024
+:106C70000000000000000000000000000000000014
+:106C80000000000000000000000000000000000004
+:106C900000000000000000000000000000000000F4
+:106CA00000000000000000000000000000000000E4
+:106CB00000000000000000000000000000000000D4
+:106CC00000000000000000000000000000000000C4
+:106CD00000000000000000000000000000000000B4
+:106CE00000000000000000000000000000000000A4
+:106CF0000000000000000000000000000000000094
+:106D00000000000000000000000000000000000083
+:106D10000000000000000000000000000000000073
+:106D20000000000000000000000000000000000063
+:106D30000000000000000000000000000000000053
+:106D40000000000000000000000000000000000043
+:106D50000000000000000000000000000000000033
+:106D60000000000000000000000000000000000023
+:106D70000000000000000000000000000000000013
+:106D80000000000000000000000000000000000003
+:106D900000000000000000000000000000000000F3
+:106DA00000000000000000000000000000000000E3
+:106DB00000000000000000000000000000000000D3
+:106DC00000000000000000000000000000000000C3
+:106DD00000000000000000000000000000000000B3
+:106DE00000000000000000000000000000000000A3
+:106DF0000000000000000000000000000000000093
+:106E00000000000000000000000000000000000082
+:106E10000000000000000000000000000000000072
+:106E20000000000000000000000000000000000062
+:106E30000000000000000000000000000000000052
+:106E40000000000000000000000000000000000042
+:106E50000000000000000000000000000000000032
+:106E60000000000000000000000000000000000022
+:106E70000000000000000000000000000000000012
+:106E80000000000000000000000000000000000002
+:106E900000000000000000000000000000000000F2
+:106EA00000000000000000000000000000000000E2
+:106EB00000000000000000000000000000000000D2
+:106EC00000000000000000000000000000000000C2
+:106ED00000000000000000000000000000000000B2
+:106EE00000000000000000000000000000000000A2
+:106EF0000000000000000000000000000000000092
+:106F00000000000000000000000000000000000081
+:106F10000000000000000000000000000000000071
+:106F20000000000000000000000000000000000061
+:106F30000000000000000000000000000000000051
+:106F40000000000000000000000000000000000041
+:106F50000000000000000000000000000000000031
+:106F60000000000000000000000000000000000021
+:106F70000000000000000000000000000000000011
+:106F80000000000000000000000000000000000001
+:106F900000000000000000000000000000000000F1
+:106FA00000000000000000000000000000000000E1
+:106FB00000000000000000000000000000000000D1
+:106FC00000000000000000000000000000000000C1
+:106FD00000000000000000000000000000000000B1
+:106FE00000000000000000000000000000000000A1
+:106FF0000000000000000000000000000000000091
+:107000000000000000000000000000000000000080
+:107010000000000000000000000000000000000070
+:107020000000000000000000000000000000000060
+:107030000000000000000000000000000000000050
+:107040000000000000000000000000000000000040
+:107050000000000000000000000000000000000030
+:107060000000000000000000000000000000000020
+:107070000000000000000000000000000000000010
+:107080000000000000000000000000000000000000
+:1070900000000000000000000000000000000000F0
+:1070A00000000000000000000000000000000000E0
+:1070B00000000000000000000000000000000000D0
+:1070C00000000000000000000000000000000000C0
+:1070D00000000000000000000000000000000000B0
+:1070E00000000000000000000000000000000000A0
+:1070F0000000000000000000000000000000000090
+:10710000000000000000000000000000000000017E
+:10711000010101010101010101010101010101015F
+:10712000010101010101010101010101010101014F
+:10713000010101010101010101010101010101013F
+:10714000010101010101010101010101010101012F
+:10715000010101010101010101010101010101011F
+:10716000010101010101010101010101010101010F
+:1071700001010101010101010101010101010101FF
+:1071800001010101010101010101010101010101EF
+:1071900001010101010101010101010101010101DF
+:1071A00001010101010101010101010101010101CF
+:1071B00001010101010101010101010101010101BF
+:1071C00001010101010101010101010101010101AF
+:1071D000010101010101010101010101010101019F
+:1071E000010101010101010101010101010101018F
+:1071F000010101010101010101010101010101017F
+:10720000010101010101010101010101010101016E
+:10721000010101010101010101010101010101015E
+:10722000010101010101010101010101010101014E
+:10723000010101010101010101010101010101013E
+:10724000010101010101010101010101010101012E
+:10725000010101010101010101010101010101011E
+:10726000010101010101010101010101010101010E
+:1072700001010101010101010101010101010101FE
+:1072800001010101010101010101010101010101EE
+:1072900001010101010101010101010101010101DE
+:1072A00001010101010101010101010101010101CE
+:1072B00001010101010101010101010101010101BE
+:1072C00001010101010101010101010101010101AE
+:1072D000010101010101010101010101010101019E
+:1072E000010101010101010101010101010101018E
+:1072F000010101010101010101010101010101017E
+:10730000010101010101010101010101010101016D
+:10731000010101010101010101010101010101015D
+:10732000010101010101010101010101010101014D
+:10733000010101010101010101010101010101013D
+:10734000010101010101010101010101010101012D
+:10735000010101010101010101010101010101011D
+:10736000010101010101010101010101010101010D
+:1073700001010101010101010101010101010101FD
+:1073800001010101010101010101010101010101ED
+:1073900001010101010101010101010101010101DD
+:1073A00001010101010101010101010101010101CD
+:1073B00001010101010101010101010101010101BD
+:1073C00001010101010101010101010101010101AD
+:1073D000010101010101010101010101010101019D
+:1073E000010101010101010101010101010101018D
+:1073F000010101010101010101010101010101017D
+:10740000010101010101010101010101010101016C
+:10741000010101010101010101010101010101015C
+:10742000010101010101010101010101010101014C
+:10743000010101010101010101010101010101013C
+:10744000010101010101010101010101010101012C
+:10745000010101010101010101010101010101011C
+:10746000010101010101010101010101010101010C
+:1074700001010101010101010101010101010101FC
+:1074800001010101010101010101010101010101EC
+:1074900001010101010101010101010101010101DC
+:1074A00001010101010101010101010101010101CC
+:1074B00001010101010101010101010101010101BC
+:1074C00001010101010101010101010101010101AC
+:1074D000010101010101010101010101010101019C
+:1074E000010101010101010101010101010101018C
+:1074F000010101010101010101010101010101017C
+:10750000010101010101010101010101010101016B
+:10751000010101010101010101010101010101015B
+:10752000010101010101010101010101010101014B
+:10753000010101010101010101010101010101013B
+:10754000010101010101010101010101010101012B
+:10755000010101010101010101010101010101011B
+:10756000010101010101010101010101010101010B
+:1075700001010101010101010101010101010101FB
+:1075800001010101010101010101010101010101EB
+:1075900001010101010101010101010101010101DB
+:1075A00001010101010101010101010101010101CB
+:1075B00001010101010101010101010101010101BB
+:1075C00001010101010101010101010101010101AB
+:1075D000010101010101010101010101010101019B
+:1075E000010101010101010101010101010101018B
+:1075F000010101010101010101010101010101017B
+:10760000010101010101010101010101010101016A
+:10761000010101010101010101010101010101015A
+:10762000010101010101010101010101010101014A
+:10763000010101010101010101010101010101013A
+:10764000010101010101010101010101010101012A
+:10765000010101010101010101010101010101011A
+:10766000010101010101010101010101010101010A
+:1076700001010101010101010101010101010101FA
+:1076800001010101010101010101010101010101EA
+:1076900001010101010101010101010101010101DA
+:1076A00001010101010101010101010101010101CA
+:1076B00001010101010101010101010101010101BA
+:1076C00001010101010101010101010101010101AA
+:1076D000010101010101010101010101010101019A
+:1076E000010101010101010101010101010101018A
+:1076F000010101010101010101010101010101017A
+:107700000101010101010101010101010101010169
+:107710000101010101010101010101010101010159
+:107720000101010101010101010101010101010149
+:107730000101010101010101010101010101010139
+:107740000101010101010101010101010101010129
+:107750000101010101010101010101010101010119
+:107760000101010101010101010101010101010109
+:1077700001010101010101010101010101010101F9
+:1077800001010101010101010101010101010101E9
+:1077900001010101010101010101010101010101D9
+:1077A00001010101010101010101010101010101C9
+:1077B00001010101010101010101010101010101B9
+:1077C00001010101010101010101010101010101A9
+:1077D0000101010101010101010101010101010199
+:1077E0000101010101010101010101010101010189
+:1077F0000101010101010101010101010101010179
+:107800000101010101010101010101010101010168
+:107810000101010101010101010101010101010158
+:107820000101010101010101010101010101010148
+:107830000101010101010101010101010101010138
+:107840000101010101010101010101010101010128
+:107850000101010101010101010101010101010118
+:107860000101010101010101010101010101010108
+:1078700001010101010101010101010101010101F8
+:1078800001010101010101010101010101010101E8
+:1078900001010101010101010101010101010101D8
+:1078A00001010101010101010101010101010101C8
+:1078B00001010101010101010101010101010101B8
+:1078C00001010101010101010101010101010101A8
+:1078D0000101010101010101010101010101010198
+:1078E0000101010101010101010101010101010188
+:1078F0000101010101010101010101010101010178
+:107900000101010101010101010101010101010167
+:107910000101010101010101010101010101010157
+:107920000101010101010101010101010101010147
+:107930000101010101010101010101010101010137
+:107940000101010101010101010101010101010127
+:107950000101010101010101010101010101010117
+:107960000101010101010101010101010101010107
+:1079700001010101010101010101010101010101F7
+:1079800001010101010101010101010101010101E7
+:1079900001010101010101010101010101010101D7
+:1079A00001010101010101010101010101010101C7
+:1079B00001010101010101010101010101010101B7
+:1079C00001010101010101010101010101010101A7
+:1079D0000101010101010101010101010101010197
+:1079E0000101010101010101010101010101010187
+:1079F0000101010101010101010101010101010177
+:107A00000101010101010101010101010101010166
+:107A10000101010101010101010101010101010156
+:107A20000101010101010101010101010101010146
+:107A30000101010101010101010101010101010136
+:107A40000101010101010101010101010101010126
+:107A50000101010101010101010101010101010116
+:107A60000101010101010101010101010101010106
+:107A700001010101010101010101010101010101F6
+:107A800001010101010101010101010101010101E6
+:107A900001010101010101010101010101010101D6
+:107AA00001010101010101010101010101010101C6
+:107AB00001010101010101010101010101010101B6
+:107AC00001010101010101010101010101010101A6
+:107AD0000101010101010101010101010101010196
+:107AE0000101010101010101010101010101010186
+:107AF0000101010101010101010101010101010176
+:107B00000101010101010101010101010101010165
+:107B10000101010101010101010101010101010155
+:107B20000101010101010101010101010101010145
+:107B30000101010101010101010101010101010135
+:107B40000101010101010101010101010101010125
+:107B50000101010101010101010101010101010115
+:107B60000101010101010101010101010101010105
+:107B700001010101010101010101010101010101F5
+:107B800001010101010101010101010101010101E5
+:107B900001010101010101010101010101010101D5
+:107BA00001010101010101010101010101010101C5
+:107BB00001010101010101010101010101010101B5
+:107BC00001010101010101010101010101010101A5
+:107BD0000101010101010101010101010101010195
+:107BE0000101010101010101010101010101010185
+:107BF0000101010101010101010101010101010175
+:107C00000101010101010101010101010101010164
+:107C10000101010101010101010101010101010154
+:107C20000101010101010101010101010101010144
+:107C30000101010101010101010101010101010134
+:107C40000101010101010101010101010101010124
+:107C50000101010101010101010101010101010114
+:107C60000101010101010101010101010101010104
+:107C700001010101010101010101010101010101F4
+:107C800001010101010101010101010101010101E4
+:107C900001010101010101010101010101010101D4
+:107CA00001010101010101010101010101010101C4
+:107CB00001010101010101010101010101010101B4
+:107CC00001010101010101010101010101010101A4
+:107CD0000101010101010101010101010101010194
+:107CE0000101010101010101010101010101010184
+:107CF0000101010101010101010101010101010174
+:107D00000101010101010101010101010101010163
+:107D10000101010101010101010101010101010153
+:107D20000101010101010101010101010101010143
+:107D30000101010101010101010101010101010133
+:107D40000101010101010101010101010101010123
+:107D50000101010101010101010101010101010113
+:107D60000101010101010101010101010101010103
+:107D700001010101010101010101010101010101F3
+:107D800001010101010101010101010101010101E3
+:107D900001010101010101010101010101010101D3
+:107DA00001010101010101010101010101010101C3
+:107DB00001010101010101010101010101010101B3
+:107DC00001010101010101010101010101010101A3
+:107DD0000101010101010101010101010101010193
+:107DE0000101010101010101010101010101010183
+:107DF0000101010101010101010101010101010173
+:107E00000101010101010101010101010101010162
+:107E10000101010101010101010101010101010152
+:107E20000101010101010101010101010101010142
+:107E30000101010101010101010101010101010132
+:107E40000101010101010101010101010101010122
+:107E50000101010101010101010101010101010112
+:107E60000101010101010101010101010101010102
+:107E700001010101010101010101010101010101F2
+:107E800001010101010101010101010101010101E2
+:107E900001010101010101010101010101010101D2
+:107EA00001010101010101010101010101010101C2
+:107EB00001010101010101010101010101010101B2
+:107EC00001010101010101010101010101010101A2
+:107ED0000101010101010101010101010101010192
+:107EE0000101010101010101010101010101010182
+:107EF0000101010101010101010101010101010172
+:107F00000101010101010101010101010101010161
+:107F10000101010101010101010101010101010151
+:107F20000101010101010101010101010101010141
+:107F30000101010101010101010101010101010131
+:107F40000101010101010101010101010101010121
+:107F50000101010101010101010101010101010111
+:107F60000101010101010101010101010101010101
+:107F700001010101010101010101010101010101F1
+:107F800001010101010101010101010101010101E1
+:107F900001010101010101010101010101010101D1
+:107FA00001010101010101010101010101010101C1
+:107FB00001010101010101010101010101010101B1
+:107FC00001010101010101010101010101010101A1
+:107FD0000101010101010101010101010101010191
+:107FE0000101010101010101010101010101010181
+:107FF0000101010101010101010101010101010171
+:108000000101010101010101010101010101010160
+:108010000101010101010101010101010101010150
+:108020000101010101010101010101010101010140
+:108030000101010101010101010101010101010130
+:108040000101010101010101010101010101010120
+:108050000101010101010101010101010101010110
+:108060000101010101010101010101010101010100
+:1080700001010101010101010101010101010101F0
+:1080800001010101010101010101010101010101E0
+:1080900001010101010101010101010101010101D0
+:1080A00001010101010101010101010101010101C0
+:1080B00001010101010101010101010101010101B0
+:1080C00001010101010101010101010101010101A0
+:1080D0000101010101010101010101010101010190
+:1080E0000101010101010101010101010101010180
+:1080F0000101010101010101010101010101010170
+:10810000010101010101010101010101010101015F
+:10811000010101010101010101010101010101014F
+:10812000010101010101010101010101010101013F
+:10813000010101010101010101010101010101012F
+:10814000010101010101010101010101010101011F
+:10815000010101010101010101010101010101010F
+:1081600001010101010101010101010101010101FF
+:1081700001010101010101010101010101010101EF
+:1081800001010101010101010101010101010101DF
+:1081900001010101010101010101010101010101CF
+:1081A00001010101010101010101010101010101BF
+:1081B00001010101010101010101010101010101AF
+:1081C000010101010101010101010101010101019F
+:1081D000010101010101010101010101010101018F
+:1081E000010101010101010101010101010101017F
+:1081F000010101010101010101010101010101016F
+:10820000010101010101010101010101010101015E
+:10821000010101010101010101010101010101014E
+:10822000010101010101010101010101010101013E
+:10823000010101010101010101010101010101012E
+:10824000010101010101010101010101010101011E
+:10825000010101010101010101010101010101010E
+:1082600001010101010101010101010101010101FE
+:1082700001010101010101010101010101010101EE
+:1082800001010101010101010101010101010101DE
+:1082900001010101010101010101010101010101CE
+:1082A00001010101010101010101010101010101BE
+:1082B00001010101010101010101010101010101AE
+:1082C000010101010101010101010101010101019E
+:1082D000010101010101010101010101010101018E
+:1082E000010101010101010101010101010101017E
+:1082F000010101010101010101010101010101016E
+:10830000010101010101010101010101010101015D
+:10831000010101010101010101010101010101014D
+:10832000010101010101010101010101010101013D
+:10833000010101010101010101010101010101012D
+:10834000010101010101010101010101010101011D
+:10835000010101010101010101010101010101010D
+:1083600001010101010101010101010101010101FD
+:1083700001010101010101010101010101010101ED
+:1083800001010101010101010101010101010101DD
+:1083900001010101010101010101010101010101CD
+:1083A00001010101010101010101010101010101BD
+:1083B00001010101010101010101010101010101AD
+:1083C000010101010101010101010101010101019D
+:1083D000010101010101010101010101010101018D
+:1083E000010101010101010101010101010101017D
+:1083F000010101010101010101010101010101016D
+:10840000010101010101010101010101010101015C
+:10841000010101010101010101010101010101014C
+:10842000010101010101010101010101010101013C
+:10843000010101010101010101010101010101012C
+:10844000010101010101010101010101010101011C
+:10845000010101010101010101010101010101010C
+:1084600001010101010101010101010101010101FC
+:1084700001010101010101010101010101010101EC
+:1084800001010101010101010101010101010101DC
+:1084900001010101010101010101010101010101CC
+:1084A00001010101010101010101010101010101BC
+:1084B00001010101010101010101010101010101AC
+:1084C000010101010101010101010101010101019C
+:1084D000010101010101010101010101010101018C
+:1084E000010101010101010101010101010101017C
+:1084F000010101010101010101010101010101016C
+:10850000010101010101010101010101010101015B
+:10851000010101010101010101010101010101014B
+:10852000010101010101010101010101010101013B
+:10853000010101010101010101010101010101012B
+:10854000010101010101010101010101010101011B
+:10855000010101010101010101010101010101010B
+:1085600001010101010101010101010101010101FB
+:1085700001010101010101010101010101010101EB
+:1085800001010101010101010101010101010101DB
+:1085900001010101010101010101010101010101CB
+:1085A00001010101010101010101010101010101BB
+:1085B00001010101010101010101010101010101AB
+:1085C000010101010101010101010101010101019B
+:1085D000010101010101010101010101010101018B
+:1085E000010101010101010101010101010101017B
+:1085F000010101010101010101010101010101016B
+:10860000010101010101010101010101010101005B
+:10861000000000000000000000000000000000005A
+:10862000000000000000000000000000000000004A
+:10863000000000000000000000000000000000003A
+:10864000000000000000000000000000000000002A
+:10865000000000000000000000000000000000001A
+:10866000000000000000000000000000000000000A
+:1086700000000000000000000000000000000000FA
+:1086800000000000000000000000000000000000EA
+:1086900000000000000000000000000000000000DA
+:1086A00000000000000000000000000000000000CA
+:1086B00000000000000000000000000000000000BA
+:1086C00000000000000000000000000000000000AA
+:1086D000000000000000000000000000000000009A
+:1086E000000000000000000000000000000000008A
+:1086F000000000000000000000000000000000007A
+:108700000000000000000000000000000000000069
+:108710000000000000000000000000000000000059
+:108720000000000000000000000000000000000049
+:108730000000000000000000000000000000000039
+:108740000000000000000000000000000000000029
+:108750000000000000000000000000000000000019
+:108760000000000000000000000000000000000009
+:1087700000000000000000000000000000000000F9
+:1087800000000000000000000000000000000000E9
+:1087900000000000000000000000000000000000D9
+:1087A00000000000000000000000000000000000C9
+:1087B00000000000000000000000000000000000B9
+:1087C00000000000000000000000000000000000A9
+:1087D0000000000000000000000000000000000099
+:1087E0000000000000000000000000000000000089
+:1087F0000000000000000000000000000000000079
+:108800000000000000000000000000000000000068
+:108810000000000000000000000000000000000058
+:108820000000000000000000000000000000000048
+:108830000000000000000000000000000000000038
+:108840000000000000000000000000000000000028
+:108850000000000000000000000000000000000018
+:108860000000000000000000000000000000000008
+:1088700000000000000000000000000000000000F8
+:1088800000000000000000000000000000000000E8
+:1088900000000000000000000000000000000000D8
+:1088A00000000000000000000000000000000000C8
+:1088B00000000000000000000000000000000000B8
+:1088C00000000000000000000000000000000000A8
+:1088D0000000000000000000000000000000000098
+:1088E0000000000000000000000000000000000088
+:1088F0000000000000000000000000000000000078
+:108900000000000000000000000000000000000067
+:108910000000000000000000000000000000000057
+:108920000000000000000000000000000000000047
+:108930000000000000000000000000000000000037
+:108940000000000000000000000000000000000027
+:108950000000000000000000000000000000000017
+:108960000000000000000000000000000000000007
+:1089700000000000000000000000000000000000F7
+:1089800000000000000000000000000000000000E7
+:1089900000000000000000000000000000000000D7
+:1089A00000000000000000000000000000000000C7
+:1089B00000000000000000000000000000000000B7
+:1089C00000000000000000000000000000000000A7
+:1089D0000000000000000000000000000000000097
+:1089E0000000000000000000000000000000000087
+:1089F0000000000000000000000000000000000077
+:108A00000000000000000000000000000000000165
+:108A10000101010101010101010101010101010146
+:108A20000101010101010101010101010101010136
+:108A30000101010101010101010101010101010126
+:108A40000101010101010101010101010101010116
+:108A50000101010101010101010101010101010106
+:108A600001010101010101010101010101010101F6
+:108A700001010101010101010101010101010101E6
+:108A800001010101010101010101010101010101D6
+:108A900001010101010101010101010101010101C6
+:108AA00001010101010101010101010101010101B6
+:108AB00001010101010101010101010101010101A6
+:108AC0000101010101010101010101010101010196
+:108AD0000101010101010101010101010101010186
+:108AE0000101010101010101010101010101010176
+:108AF0000101010101010101010101010101010166
+:108B00000101010101010101010101010101010155
+:108B10000101010101010101010101010101010145
+:108B20000101010101010101010101010101010135
+:108B30000101010101010101010101010101010125
+:108B40000101010101010101010101010101010115
+:108B50000101010101010101010101010101010105
+:108B600001010101010101010101010101010101F5
+:108B700001010101010101010101010101010101E5
+:108B800001010101010101010101010101010101D5
+:108B900001010101010101010101010101010101C5
+:108BA00001010101010101010101010101010101B5
+:108BB00001010101010101010101010101010101A5
+:108BC0000101010101010101010101010101010195
+:108BD0000101010101010101010101010101010185
+:108BE0000101010101010101010101010101010175
+:108BF0000101010101010101010101010101010165
+:108C00000101010101010101010101010101010154
+:108C10000101010101010101010101010101010144
+:108C20000101010101010101010101010101010134
+:108C30000101010101010101010101010101010124
+:108C40000101010101010101010101010101010114
+:108C50000101010101010101010101010101010104
+:108C600001010101010101010101010101010101F4
+:108C700001010101010101010101010101010101E4
+:108C800001010101010101010101010101010101D4
+:108C900001010101010101010101010101010101C4
+:108CA00001010101010101010101010101010101B4
+:108CB00001010101010101010101010101010101A4
+:108CC0000101010101010101010101010101010194
+:108CD0000101010101010101010101010101010184
+:108CE0000101010101010101010101010101010174
+:108CF0000101010101010101010101010101010164
+:108D00000101010101010101010101010101010252
+:108D10000202020202020202020202020202020233
+:108D20000202020202020202020202020202020223
+:108D30000202020202020202020202020202020213
+:108D40000202020202020202020202020202020203
+:108D500002020202020202020202020202020202F3
+:108D600002020202020202020202020202020202E3
+:108D700002020202020202020202020202020202D3
+:108D800002020202020202020202020202020202C3
+:108D900002020202020202020202020202020202B3
+:108DA00002020202020202020202020202020202A3
+:108DB0000202020202020202020202020202020293
+:108DC0000202020202020202020202020202020283
+:108DD0000202020202020202020202020202020273
+:108DE0000202020202020202020202020202020263
+:108DF0000202020202020202020202020202020253
+:108E00000202020202020202020202020202020242
+:108E10000202020202020202020202020202020232
+:108E20000202020202020202020202020202020222
+:108E30000202020202020202020202020202020212
+:108E40000202020202020202020202020202020202
+:108E500002020202020202020202020202020202F2
+:108E600002020202020202020202020202020202E2
+:108E700002020202020202020202020202020202D2
+:108E800002020202020202020202020202020202C2
+:108E900002020202020202020202020202020202B2
+:108EA00002020202020202020202020202020202A2
+:108EB0000202020202020202020202020202020292
+:108EC0000202020202020202020202020202020282
+:108ED0000202020202020202020202020202020272
+:108EE0000202020202020202020202020202020262
+:108EF0000202020202020202020202020202020252
+:108F00000202020202020202020202020202020241
+:108F10000202020202020202020202020202020231
+:108F20000202020202020202020202020202020221
+:108F30000202020202020202020202020202020211
+:108F40000202020202020202020202020202020201
+:108F500002020202020202020202020202020202F1
+:108F600002020202020202020202020202020202E1
+:108F700002020202020202020202020202020202D1
+:108F800002020202020202020202020202020202C1
+:108F900002020202020202020202020202020202B1
+:108FA00002020202020202020202020202020202A1
+:108FB0000202020202020202020202020202020291
+:108FC0000202020202020202020202020202020281
+:108FD0000202020202020202020202020202020271
+:108FE0000202020202020202020202020202020261
+:108FF0000202020202020202020202020202020251
+:109000000202020202020202020202020202020240
+:109010000202020202020202020202020202020230
+:109020000202020202020202020202020202020220
+:109030000202020202020202020202020202020210
+:109040000202020202020202020202020202020200
+:1090500002020202020202020202020202020202F0
+:1090600002020202020202020202020202020202E0
+:1090700002020202020202020202020202020202D0
+:1090800002020202020202020202020202020202C0
+:1090900002020202020202020202020202020202B0
+:1090A00002020202020202020202020202020202A0
+:1090B0000202020202020202020202020202020290
+:1090C0000202020202020202020202020202020280
+:1090D0000202020202020202020202020202020270
+:1090E0000202020202020202020202020202020260
+:1090F0000202020202020202020202020202020250
+:10910000020202020202020202020202020202023F
+:10911000020202020202020202020202020202022F
+:10912000020202020202020202020202020202021F
+:10913000020202020202020202020202020202020F
+:1091400002020202020202020202020202020202FF
+:1091500002020202020202020202020202020202EF
+:1091600002020202020202020202020202020202DF
+:1091700002020202020202020202020202020202CF
+:1091800002020202020202020202020202020202BF
+:1091900002020202020202020202020202020202AF
+:1091A000020202020202020202020202020202029F
+:1091B000020202020202020202020202020202028F
+:1091C000020202020202020202020202020202027F
+:1091D000020202020202020202020202020202026F
+:1091E000020202020202020202020202020202025F
+:1091F000020202020202020202020202020202024F
+:10920000020202020202020202020202020202023E
+:10921000020202020202020202020202020202022E
+:10922000020202020202020202020202020202021E
+:10923000020202020202020202020202020202020E
+:1092400002020202020202020202020202020202FE
+:1092500002020202020202020202020202020202EE
+:1092600002020202020202020202020202020202DE
+:1092700002020202020202020202020202020202CE
+:1092800002020202020202020202020202020202BE
+:1092900002020202020202020202020202020202AE
+:1092A000020202020202020202020202020202029E
+:1092B000020202020202020202020202020202028E
+:1092C000020202020202020202020202020202027E
+:1092D000020202020202020202020202020202026E
+:1092E000020202020202020202020202020202025E
+:1092F000020202020202020202020202020202024E
+:10930000020202020202020202020202020202023D
+:10931000020202020202020202020202020202022D
+:10932000020202020202020202020202020202021D
+:10933000020202020202020202020202020202020D
+:1093400002020202020202020202020202020202FD
+:1093500002020202020202020202020202020202ED
+:1093600002020202020202020202020202020202DD
+:1093700002020202020202020202020202020202CD
+:1093800002020202020202020202020202020202BD
+:1093900002020202020202020202020202020202AD
+:1093A000020202020202020202020202020202029D
+:1093B000020202020202020202020202020202028D
+:1093C000020202020202020202020202020202027D
+:1093D000020202020202020202020202020202026D
+:1093E000020202020202020202020202020202025D
+:1093F000020202020202020202020202020202024D
+:10940000020202020202020202020202020202023C
+:10941000020202020202020202020202020202022C
+:10942000020202020202020202020202020202021C
+:10943000020202020202020202020202020202020C
+:1094400002020202020202020202020202020202FC
+:1094500002020202020202020202020202020202EC
+:1094600002020202020202020202020202020202DC
+:1094700002020202020202020202020202020202CC
+:1094800002020202020202020202020202020202BC
+:1094900002020202020202020202020202020202AC
+:1094A000020202020202020202020202020202029C
+:1094B000020202020202020202020202020202028C
+:1094C000020202020202020202020202020202027C
+:1094D000020202020202020202020202020202026C
+:1094E000020202020202020202020202020202025C
+:1094F000020202020202020202020202020202024C
+:10950000020202020202020202020202020202023B
+:10951000020202020202020202020202020202022B
+:10952000020202020202020202020202020202021B
+:10953000020202020202020202020202020202020B
+:1095400002020202020202020202020202020202FB
+:1095500002020202020202020202020202020202EB
+:1095600002020202020202020202020202020202DB
+:1095700002020202020202020202020202020202CB
+:1095800002020202020202020202020202020202BB
+:1095900002020202020202020202020202020202AB
+:1095A000020202020202020202020202020202029B
+:1095B000020202020202020202020202020202028B
+:1095C000020202020202020202020202020202027B
+:1095D000020202020202020202020202020202026B
+:1095E000020202020202020202020202020202025B
+:1095F000020202020202020202020202020202024B
+:10960000020202020202020202020202020202023A
+:10961000020202020202020202020202020202022A
+:10962000020202020202020202020202020202021A
+:10963000020202020202020202020202020202020A
+:1096400002020202020202020202020202020202FA
+:1096500002020202020202020202020202020202EA
+:1096600002020202020202020202020202020202DA
+:1096700002020202020202020202020202020202CA
+:1096800002020202020202020202020202020202BA
+:1096900002020202020202020202020202020202AA
+:1096A000020202020202020202020202020202029A
+:1096B000020202020202020202020202020202028A
+:1096C000020202020202020202020202020202027A
+:1096D000020202020202020202020202020202026A
+:1096E000020202020202020202020202020202025A
+:1096F000020202020202020202020202020202024A
+:109700000202020202020202020202020202020239
+:109710000202020202020202020202020202020229
+:109720000202020202020202020202020202020219
+:109730000202020202020202020202020202020209
+:1097400002020202020202020202020202020202F9
+:1097500002020202020202020202020202020202E9
+:1097600002020202020202020202020202020202D9
+:1097700002020202020202020202020202020202C9
+:1097800002020202020202020202020202020202B9
+:1097900002020202020202020202020202020202A9
+:1097A0000202020202020202020202020202020299
+:1097B0000202020202020202020202020202020289
+:1097C0000202020202020202020202020202020279
+:1097D0000202020202020202020202020202020269
+:1097E0000202020202020202020202020202020259
+:1097F0000202020202020202020202020202020249
+:109800000202020202020202020202020202020238
+:109810000202020202020202020202020202020228
+:109820000202020202020202020202020202020218
+:109830000202020202020202020202020202020208
+:1098400002020202020202020202020202020202F8
+:1098500002020202020202020202020202020202E8
+:1098600002020202020202020202020202020202D8
+:1098700002020202020202020202020202020202C8
+:1098800002020202020202020202020202020202B8
+:1098900002020202020202020202020202020202A8
+:1098A0000202020202020202020202020202020298
+:1098B0000202020202020202020202020202020288
+:1098C0000202020202020202020202020202020278
+:1098D0000202020202020202020202020202020268
+:1098E0000202020202020202020202020202020258
+:1098F0000202020202020202020202020202020248
+:109900000202020202020202020202020202020237
+:109910000202020202020202020202020202020227
+:109920000202020202020202020202020202020217
+:109930000202020202020202020202020202020207
+:1099400002020202020202020202020202020202F7
+:1099500002020202020202020202020202020202E7
+:1099600002020202020202020202020202020202D7
+:1099700002020202020202020202020202020202C7
+:1099800002020202020202020202020202020202B7
+:1099900002020202020202020202020202020202A7
+:1099A0000202020202020202020202020202020297
+:1099B0000202020202020202020202020202020287
+:1099C0000202020202020202020202020202020277
+:1099D0000202020202020202020202020202020267
+:1099E0000202020202020202020202020202020257
+:1099F0000202020202020202020202020202020247
+:109A00000202020202020202020202020202020236
+:109A10000202020202020202020202020202020226
+:109A20000202020202020202020202020202020216
+:109A30000202020202020202020202020202020206
+:109A400002020202020202020202020202020202F6
+:109A500002020202020202020202020202020202E6
+:109A600002020202020202020202020202020202D6
+:109A700002020202020202020202020202020202C6
+:109A800002020202020202020202020202020202B6
+:109A900002020202020202020202020202020202A6
+:109AA0000202020202020202020202020202020296
+:109AB0000202020202020202020202020202020286
+:109AC0000202020202020202020202020202020276
+:109AD0000202020202020202020202020202020266
+:109AE0000202020202020202020202020202020256
+:109AF0000202020202020202020202020202020246
+:109B00000202020202020202020202020202020235
+:109B10000202020202020202020202020202020225
+:109B20000202020202020202020202020202020215
+:109B30000202020202020202020202020202020205
+:109B400002020202020202020202020202020202F5
+:109B500002020202020202020202020202020202E5
+:109B600002020202020202020202020202020202D5
+:109B700002020202020202020202020202020202C5
+:109B800002020202020202020202020202020202B5
+:109B900002020202020202020202020202020202A5
+:109BA0000202020202020202020202020202020295
+:109BB0000202020202020202020202020202020285
+:109BC0000202020202020202020202020202020275
+:109BD0000202020202020202020202020202020265
+:109BE0000202020202020202020202020202020255
+:109BF0000202020202020202020202020202020245
+:109C00000202020202020202020202020202020234
+:109C10000202020202020202020202020202020224
+:109C20000202020202020202020202020202020214
+:109C30000202020202020202020202020202020204
+:109C400002020202020202020202020202020202F4
+:109C500002020202020202020202020202020202E4
+:109C600002020202020202020202020202020202D4
+:109C700002020202020202020202020202020202C4
+:109C800002020202020202020202020202020202B4
+:109C900002020202020202020202020202020202A4
+:109CA0000202020202020202020202020202020294
+:109CB0000202020202020202020202020202020284
+:109CC0000202020202020202020202020202020274
+:109CD0000202020202020202020202020202020264
+:109CE0000202020202020202020202020202020254
+:109CF0000202020202020202020202020202020244
+:109D00000202020202020202020202020202020233
+:109D10000202020202020202020202020202020223
+:109D20000202020202020202020202020202020213
+:109D30000202020202020202020202020202020203
+:109D400002020202020202020202020202020202F3
+:109D500002020202020202020202020202020202E3
+:109D600002020202020202020202020202020202D3
+:109D700002020202020202020202020202020202C3
+:109D800002020202020202020202020202020202B3
+:109D900002020202020202020202020202020202A3
+:109DA0000202020202020202020202020202020293
+:109DB0000202020202020202020202020202020283
+:109DC0000202020202020202020202020202020273
+:109DD0000202020202020202020202020202020263
+:109DE0000202020202020202020202020202020253
+:109DF0000202020202020202020202020202020243
+:109E00000202020202020202020202020202020232
+:109E10000202020202020202020202020202020222
+:109E20000202020202020202020202020202020212
+:109E30000202020202020202020202020202020202
+:109E400002020202020202020202020202020202F2
+:109E500002020202020202020202020202020202E2
+:109E600002020202020202020202020202020202D2
+:109E700002020202020202020202020202020202C2
+:109E800002020202020202020202020202020202B2
+:109E900002020202020202020202020202020202A2
+:109EA0000202020202020202020202020202020292
+:109EB0000202020202020202020202020202020282
+:109EC0000202020202020202020202020202020272
+:109ED0000202020202020202020202020202020262
+:109EE0000202020202020202020202020202020252
+:109EF0000202020202020202020202020202020242
+:109F00000202020202020202020202020202020231
+:109F10000202020202020202020202020202020221
+:109F20000202020202020202020202020202020211
+:109F30000202020202020202020202020202020201
+:109F400002020202020202020202020202020202F1
+:109F500002020202020202020202020202020202E1
+:109F600002020202020202020202020202020202D1
+:109F700002020202020202020202020202020202C1
+:109F800002020202020202020202020202020202B1
+:109F900002020202020202020202020202020202A1
+:109FA0000202020202020202020202020202020291
+:109FB0000202020202020202020202020202020281
+:109FC0000202020202020202020202020202020271
+:109FD0000202020202020202020202020202020261
+:109FE0000202020202020202020202020202020251
+:109FF0000202020202020202020202020202020241
+:10A000000202020202020202020202020202020230
+:10A010000202020202020202020202020202020220
+:10A020000202020202020202020202020202020210
+:10A030000202020202020202020202020202020200
+:10A0400002020202020202020202020202020202F0
+:10A0500002020202020202020202020202020202E0
+:10A0600002020202020202020202020202020202D0
+:10A0700002020202020202020202020202020202C0
+:10A0800002020202020202020202020202020202B0
+:10A0900002020202020202020202020202020202A0
+:10A0A0000202020202020202020202020202020290
+:10A0B0000202020202020202020202020202020280
+:10A0C0000202020202020202020202020202020270
+:10A0D0000202020202020202020202020202020260
+:10A0E0000202020202020202020202020202020250
+:10A0F0000202020202020202020202020202020240
+:10A10000020202020202020202020202020202022F
+:10A11000020202020202020202020202020202021F
+:10A12000020202020202020202020202020202020F
+:10A1300002020202020202020202020202020202FF
+:10A1400002020202020202020202020202020202EF
+:10A1500002020202020202020202020202020202DF
+:10A1600002020202020202020202020202020202CF
+:10A1700002020202020202020202020202020202BF
+:10A1800002020202020202020202020202020202AF
+:10A19000020202020202020202020202020202029F
+:10A1A000020202020202020202020202020202028F
+:10A1B000020202020202020202020202020202027F
+:10A1C000020202020202020202020202020202026F
+:10A1D000020202020202020202020202020202025F
+:10A1E000020202020202020202020202020202024F
+:10A1F000020202020202020202020202020202023F
+:10A20000020202020202020202020202020202022E
+:10A21000020202020202020202020202020202021E
+:10A22000020202020202020202020202020202020E
+:10A2300002020202020202020202020202020202FE
+:10A2400002020202020202020202020202020202EE
+:10A2500002020202020202020202020202020202DE
+:10A2600002020202020202020202020202020202CE
+:10A2700002020202020202020202020202020202BE
+:10A2800002020202020202020202020202020202AE
+:10A29000020202020202020202020202020202029E
+:10A2A000020202020202020202020202020202028E
+:10A2B000020202020202020202020202020202027E
+:10A2C000020202020202020202020202020202026E
+:10A2D000020202020202020202020202020202025E
+:10A2E000020202020202020202020202020202024E
+:10A2F000020202020202020202020202020202023E
+:10A30000020202020202020202020202020202022D
+:10A31000020202020202020202020202020202021D
+:10A32000020202020202020202020202020202020D
+:10A3300002020202020202020202020202020202FD
+:10A3400002020202020202020202020202020202ED
+:10A3500002020202020202020202020202020202DD
+:10A3600002020202020202020202020202020202CD
+:10A3700002020202020202020202020202020202BD
+:10A3800002020202020202020202020202020202AD
+:10A39000020202020202020202020202020202029D
+:10A3A000020202020202020202020202020202028D
+:10A3B000020202020202020202020202020202027D
+:10A3C000020202020202020202020202020202026D
+:10A3D000020202020202020202020202020202025D
+:10A3E000020202020202020202020202020202024D
+:10A3F000020202020202020202020202020202023D
+:10A40000020202020202020202020202020202022C
+:10A41000020202020202020202020202020202021C
+:10A42000020202020202020202020202020202020C
+:10A4300002020202020202020202020202020202FC
+:10A4400002020202020202020202020202020202EC
+:10A4500002020202020202020202020202020202DC
+:10A4600002020202020202020202020202020202CC
+:10A4700002020202020202020202020202020202BC
+:10A4800002020202020202020202020202020202AC
+:10A49000020202020202020202020202020202029C
+:10A4A000020202020202020202020202020202028C
+:10A4B000020202020202020202020202020202027C
+:10A4C000020202020202020202020202020202026C
+:10A4D000020202020202020202020202020202025C
+:10A4E000020202020202020202020202020202024C
+:10A4F000020202020202020202020202020202023C
+:10A50000020202020202020202020202020202002D
+:10A51000000000000000000000000000000000003B
+:10A52000000000000000000000000000000000002B
+:10A53000000000000000000000000000000000001B
+:10A54000000000000000000000000000000000000B
+:10A5500000000000000000000000000000000000FB
+:10A5600000000000000000000000000000000000EB
+:10A5700000000000000000000000000000000000DB
+:10A5800000000000000000000000000000000000CB
+:10A5900000000000000000000000000000000000BB
+:10A5A00000000000000000000000000000000000AB
+:10A5B000000000000000000000000000000000009B
+:10A5C000000000000000000000000000000000008B
+:10A5D000000000000000000000000000000000007B
+:10A5E000000000000000000000000000000000006B
+:10A5F000000000000000000000000000000000005B
+:10A60000000000000000000000000000000000004A
+:10A61000000000000000000000000000000000003A
+:10A62000000000000000000000000000000000002A
+:10A63000000000000000000000000000000000001A
+:10A64000000000000000000000000000000000000A
+:10A6500000000000000000000000000000000000FA
+:10A6600000000000000000000000000000000000EA
+:10A6700000000000000000000000000000000000DA
+:10A6800000000000000000000000000000000000CA
+:10A6900000000000000000000000000000000000BA
+:10A6A00000000000000000000000000000000000AA
+:10A6B000000000000000000000000000000000009A
+:10A6C000000000000000000000000000000000008A
+:10A6D000000000000000000000000000000000007A
+:10A6E000000000000000000000000000000000006A
+:10A6F000000000000000000000000000000000005A
+:10A700000000000000000000000000000000000049
+:10A710000000000000000000000000000000000039
+:10A720000000000000000000000000000000000029
+:10A730000000000000000000000000000000000019
+:10A740000000000000000000000000000000000009
+:10A7500000000000000000000000000000000000F9
+:10A7600000000000000000000000000000000000E9
+:10A7700000000000000000000000000000000000D9
+:10A7800000000000000000000000000000000000C9
+:10A7900000000000000000000000000000000000B9
+:10A7A00000000000000000000000000000000000A9
+:10A7B0000000000000000000000000000000000099
+:10A7C0000000000000000000000000000000000089
+:10A7D0000000000000000000000000000000000079
+:10A7E0000000000000000000000000000000000069
+:10A7F0000000000000000000000000000000000059
+:10A800000000000000000000000000000000000048
+:10A810000000000000000000000000000000000038
+:10A820000000000000000000000000000000000028
+:10A830000000000000000000000000000000000018
+:10A840000000000000000000000000000000000008
+:10A8500000000000000000000000000000000000F8
+:10A8600000000000000000000000000000000000E8
+:10A8700000000000000000000000000000000000D8
+:10A8800000000000000000000000000000000000C8
+:10A8900000000000000000000000000000000000B8
+:10A8A00000000000000000000000000000000000A8
+:10A8B0000000000000000000000000000000000098
+:10A8C0000000000000000000000000000000000088
+:10A8D0000000000000000000000000000000000078
+:10A8E0000000000000000000000000000000000068
+:10A8F0000000000000000000000000000000000058
+:10A900000000000000000000000000000000000047
+:10A910000000000000000000000000000000000037
+:10A920000000000000000000000000000000000027
+:10A930000000000000000000000000000000000017
+:10A940000000000000000000000000000000000007
+:10A9500000000000000000000000000000000000F7
+:10A9600000000000000000000000000000000000E7
+:10A9700000000000000000000000000000000000D7
+:10A9800000000000000000000000000000000000C7
+:10A9900000000000000000000000000000000000B7
+:10A9A00000000000000000000000000000000000A7
+:10A9B0000000000000000000000000000000000097
+:10A9C0000000000000000000000000000000000087
+:10A9D0000000000000000000000000000000000077
+:10A9E0000000000000000000000000000000000067
+:10A9F0000000000000000000000000000000000057
+:10AA00000000000000000000000000000000000046
+:10AA10000000000000000000000000000000000036
+:10AA20000000000000000000000000000000000026
+:10AA30000000000000000000000000000000000016
+:10AA40000000000000000000000000000000000006
+:10AA500000000000000000000000000000000000F6
+:10AA600000000000000000000000000000000000E6
+:10AA700000000000000000000000000000000000D6
+:10AA800000000000000000000000000000000000C6
+:10AA900000000000000000000000000000000000B6
+:10AAA00000000000000000000000000000000000A6
+:10AAB0000000000000000000000000000000000096
+:10AAC0000000000000000000000000000000000086
+:10AAD0000000000000000000000000000000000076
+:10AAE0000000000000000000000000000000000066
+:10AAF0000000000000000000000000000000000056
+:10AB00000000000000000000000000000000000045
+:10AB10000000000000000000000000000000000035
+:10AB20000000000000000000000000000000000025
+:10AB30000000000000000000000000000000000015
+:10AB40000000000000000000000000000000000005
+:10AB500000000000000000000000000000000000F5
+:10AB600000000000000000000000000000000000E5
+:10AB700000000000000000000000000000000000D5
+:10AB800000000000000000000000000000000000C5
+:10AB900000000000000000000000000000000000B5
+:10ABA00000000000000000000000000000000000A5
+:10ABB0000000000000000000000000000000000095
+:10ABC0000000000000000000000000000000000085
+:10ABD0000000000000000000000000000000000075
+:10ABE0000000000000000000000000000000000065
+:10ABF0000000000000000000000000000000000055
+:10AC00000000000000000000000000000000000044
+:10AC10000000000000000000000000000000000034
+:10AC20000000000000000000000000000000000024
+:10AC30000000000000000000000000000000000014
+:10AC40000000000000000000000000000000000004
+:10AC500000000000000000000000000000000000F4
+:10AC600000000000000000000000000000000000E4
+:10AC700000000000000000000000000000000000D4
+:10AC800000000000000000000000000000000000C4
+:10AC900000000000000000000000000000000000B4
+:10ACA00000000000000000000000000000000000A4
+:10ACB0000000000000000000000000000000000094
+:10ACC0000000000000000000000000000000000084
+:10ACD0000000000000000000000000000000000074
+:10ACE0000000000000000000000000000000000064
+:10ACF0000000000000000000000000000000000054
+:10AD00000000000000000000000000000000006FD4
+:10AD1000000000000000000101010101010101012A
+:10AD20000101010101010101010101010101010113
+:10AD30000101010101010101010101010101010103
+:10AD400001010101010101010101010101010101F3
+:10AD500001010101010101010101010101010101E3
+:10AD600001010101010101010101010101010101D3
+:10AD700001010101010101010101010101010101C3
+:10AD800001010101010101010101010101010101B3
+:10AD900001010101010101010101010101010101A3
+:10ADA0000101010101010101010101010101010193
+:10ADB0000101010101010101010101010101010183
+:10ADC0000101010101010101010101010101010173
+:10ADD0000101010101010101010101010101010163
+:10ADE0000101010101010101010101010101010153
+:10ADF0000101010101010101010101010101010143
+:10AE00000101010101010101010101010101010132
+:10AE10000101010101010101010101010101010122
+:10AE20000101010101010101010101010101010112
+:10AE30000101010101010101010101010101010102
+:10AE400001010101010101010101010101010101F2
+:10AE500001010101010101010101010101010101E2
+:10AE600001010101010101010101010101010101D2
+:10AE700001010101010101010101010101010101C2
+:10AE800001010101010101010101010101010101B2
+:10AE900001010101010101010101010101010101A2
+:10AEA0000101010101010101010101010101010192
+:10AEB0000101010101010101010101010101010182
+:10AEC0000101010101010101010101010101010172
+:10AED0000101010101010101010101010101010162
+:10AEE0000101010101010101010101010101010152
+:10AEF0000101010101010101010101010101010142
+:10AF00000101010101010101010101010101010131
+:10AF10000101010101010101010101010101010121
+:10AF20000101010101010101010101010101010111
+:10AF30000101010101010101010101010101010101
+:10AF400001010101010101010101010101010101F1
+:10AF500001010101010101010101010101010101E1
+:10AF600001010101010101010101010101010101D1
+:10AF700001010101010101010101010101010101C1
+:10AF800001010101010101010101010101010101B1
+:10AF900001010101010101010101010101010101A1
+:10AFA0000101010101010101010101010101010191
+:10AFB0000101010101010101010101010101010181
+:10AFC0000101010101010101010101010101010171
+:10AFD0000101010101010101010101010101010161
+:10AFE0000101010101010101010101010101010151
+:10AFF0000101010101010101010101010101010141
+:10B000000101010101010101010101010101010130
+:10B010000101010101010101010101010101010120
+:10B020000101010101010101010101010101010110
+:10B030000101010101010101010101010101010100
+:10B0400001010101010101010101010101010101F0
+:10B0500001010101010101010101010101010101E0
+:10B0600001010101010101010101010101010101D0
+:10B0700001010101010101010101010101010101C0
+:10B0800001010101010101010101010101010101B0
+:10B0900001010101010101010101010101010101A0
+:10B0A0000101010101010101010101010101010190
+:10B0B0000101010101010101010101010101010180
+:10B0C0000101010101010101010101010101010170
+:10B0D0000101010101010101010101010101010160
+:10B0E0000101010101010101010101010101010150
+:10B0F0000101010101010101010101010101010140
+:10B10000010101010101010101010101010101012F
+:10B11000010101010101010101010101010101011F
+:10B12000010101010101010101010101010101010F
+:10B1300001010101010101010101010101010101FF
+:10B1400001010101010101010101010101010101EF
+:10B1500001010101010101010101010101010101DF
+:10B1600001010101010101010101010101010101CF
+:10B1700001010101010101010101010101010101BF
+:10B1800001010101010101010101010101010101AF
+:10B19000010101010101010101010101010101019F
+:10B1A000010101010101010101010101010101018F
+:10B1B000010101010101010101010101010101017F
+:10B1C000010101010101010101010101010101016F
+:10B1D000010101010101010101010101010101015F
+:10B1E000010101010101010101010101010101014F
+:10B1F000010101010101010101010101010101013F
+:10B20000010101010101010101010101010101012E
+:10B21000010101010101010101010101010101011E
+:10B22000010101010101010101010101010101010E
+:10B2300001010101010101010101010101010101FE
+:10B2400001010101010101010101010101010101EE
+:10B2500001010101010101010101010101010101DE
+:10B2600001010101010101010101010101010101CE
+:10B2700001010101010101010101010101010101BE
+:10B2800001010101010101010101010101010101AE
+:10B29000010101010101010101010101010101019E
+:10B2A000010101010101010101010101010101018E
+:10B2B000010101010101010101010101010101017E
+:10B2C000010101010101010101010101010101016E
+:10B2D000010101010101010101010101010101015E
+:10B2E000010101010101010101010101010101014E
+:10B2F000010101010101010101010101010101013E
+:10B30000010101010101010101010101010101012D
+:10B31000010101010101010101010101010101011D
+:10B32000010101010101010101010101010101010D
+:10B3300001010101010101010101010101010101FD
+:10B3400001010101010101010101010101010101ED
+:10B3500001010101010101010101010101010101DD
+:10B3600001010101010101010101010101010101CD
+:10B3700001010101010101010101010101010101BD
+:10B3800001010101010101010101010101010101AD
+:10B39000010101010101010101010101010101019D
+:10B3A000010101010101010101010101010101018D
+:10B3B000010101010101010101010101010101017D
+:10B3C000010101010101010101010101010101016D
+:10B3D000010101010101010101010101010101015D
+:10B3E000010101010101010101010101010101014D
+:10B3F000010101010101010101010101010101013D
+:10B40000010101010101010101010101010101012C
+:10B41000010101010101010101010101010101011C
+:10B42000010101010101010101010101010101010C
+:10B4300001010101010101010101010101010101FC
+:10B4400001010101010101010101010101010101EC
+:10B4500001010101010101010101010101010101DC
+:10B4600001010101010101010101010101010101CC
+:10B4700001010101010101010101010101010101BC
+:10B4800001010101010101010101010101010101AC
+:10B49000010101010101010101010101010101019C
+:10B4A000010101010101010101010101010101018C
+:10B4B000010101010101010101010101010101017C
+:10B4C000010101010101010101010101010101016C
+:10B4D000010101010101010101010101010101015C
+:10B4E000010101010101010101010101010101014C
+:10B4F000010101010101010101010101010101013C
+:10B50000010101010101010101010101010101012B
+:10B51000010101010101010101010101010101011B
+:10B52000010101010101010101010101010101010B
+:10B5300001010101010101010101010101010101FB
+:10B5400001010101010101010101010101010101EB
+:10B5500001010101010101010101010101010101DB
+:10B5600001010101010101010101010101010101CB
+:10B5700001010101010101010101010101010101BB
+:10B5800001010101010101010101010101010101AB
+:10B59000010101010101010101010101010101019B
+:10B5A000010101010101010101010101010101018B
+:10B5B000010101010101010101010101010101017B
+:10B5C000010101010101010101010101010101016B
+:10B5D000010101010101010101010101010101015B
+:10B5E000010101010101010101010101010101014B
+:10B5F000010101010101010101010101010101013B
+:10B60000010101010101010101010101010101012A
+:10B61000010101010101010101010101010101011A
+:10B62000010101010101010101010101010101010A
+:10B6300001010101010101010101010101010101FA
+:10B6400001010101010101010101010101010101EA
+:10B6500001010101010101010101010101010101DA
+:10B6600001010101010101010101010101010101CA
+:10B6700001010101010101010101010101010101BA
+:10B6800001010101010101010101010101010101AA
+:10B69000010101010101010101010101010101019A
+:10B6A000010101010101010101010101010101018A
+:10B6B000010101010101010101010101010101017A
+:10B6C000010101010101010101010101010101016A
+:10B6D000010101010101010101010101010101015A
+:10B6E000010101010101010101010101010101014A
+:10B6F000010101010101010101010101010101013A
+:10B700000101010101010101010101010101010129
+:10B710000101010101010101010101010101010119
+:10B720000101010101010101010101010101010109
+:10B7300001010101010101010101010101010101F9
+:10B7400001010101010101010101010101010101E9
+:10B7500001010101010101010101010101010101D9
+:10B7600001010101010101010101010101010101C9
+:10B7700001010101010101010101010101010101B9
+:10B7800001010101010101010101010101010101A9
+:10B790000101010101010101010101010101010199
+:10B7A0000101010101010101010101010101010189
+:10B7B0000101010101010101010101010101010179
+:10B7C0000101010101010101010101010101010169
+:10B7D0000101010101010101010101010101010159
+:10B7E0000101010101010101010101010101010149
+:10B7F0000101010101010101010101010101010139
+:10B800000101010101010101010101010101010128
+:10B810000101010101010101010101010101010118
+:10B820000101010101010101010101010101010108
+:10B8300001010101010101010101010101010101F8
+:10B8400001010101010101010101010101010101E8
+:10B8500001010101010101010101010101010101D8
+:10B8600001010101010101010101010101010101C8
+:10B8700001010101010101010101010101010101B8
+:10B8800001010101010101010101010101010101A8
+:10B890000101010101010101010101010101010198
+:10B8A0000101010101010101010101010101010188
+:10B8B0000101010101010101010101010101010178
+:10B8C0000101010101010101010101010101010168
+:10B8D0000101010101010101010101010101010158
+:10B8E0000101010101010101010101010101010148
+:10B8F0000101010101010101010101010101010138
+:10B900000101010101010101010101010101010127
+:10B910000101010101010101010101010101010117
+:10B920000101010101010101010101010101010107
+:10B9300001010101010101010101010101010101F7
+:10B9400001010101010101010101010101010101E7
+:10B9500001010101010101010101010101010101D7
+:10B9600001010101010101010101010101010101C7
+:10B9700001010101010101010101010101010101B7
+:10B9800001010101010101010101010101010101A7
+:10B990000101010101010101010101010101010197
+:10B9A0000101010101010101010101010101010187
+:10B9B0000101010101010101010101010101010177
+:10B9C0000101010101010101010101010101010167
+:10B9D0000101010101010101010101010101010157
+:10B9E0000101010101010101010101010101010147
+:10B9F0000101010101010101010101010101010137
+:10BA00000101010101010101010101010101010126
+:10BA10000101010101010101010101010101010116
+:10BA20000101010101010101010101010101010106
+:10BA300001010101010101010101010101010101F6
+:10BA400001010101010101010101010101010101E6
+:10BA500001010101010101010101010101010101D6
+:10BA600001010101010101010101010101010101C6
+:10BA700001010101010101010101010101010101B6
+:10BA800001010101010101010101010101010101A6
+:10BA90000101010101010101010101010101010196
+:10BAA0000101010101010101010101010101010186
+:10BAB0000101010101010101010101010101010176
+:10BAC0000101010101010101010101010101010166
+:10BAD0000101010101010101010101010101010156
+:10BAE0000101010101010101010101010101010146
+:10BAF0000101010101010101010101010101010136
+:10BB00000101010101010101010101010101010125
+:10BB10000101010101010101010101010101010115
+:10BB20000101010101010101010101010101010105
+:10BB300001010101010101010101010101010101F5
+:10BB400001010101010101010101010101010101E5
+:10BB500001010101010101010101010101010101D5
+:10BB600001010101010101010101010101010101C5
+:10BB700001010101010101010101010101010101B5
+:10BB800001010101010101010101010101010101A5
+:10BB90000101010101010101010101010101010195
+:10BBA0000101010101010101010101010101010185
+:10BBB0000101010101010101010101010101010175
+:10BBC0000101010101010101010101010101010165
+:10BBD0000101010101010101010101010101010155
+:10BBE0000101010101010101010101010101010145
+:10BBF0000101010101010101010101010101010135
+:10BC00000101010101010101010101010101010124
+:10BC10000101010101010101010101010101010114
+:10BC20000101010101010101010101010101010104
+:10BC300001010101010101010101010101010101F4
+:10BC400001010101010101010101010101010101E4
+:10BC500001010101010101010101010101010101D4
+:10BC600001010101010101010101010101010101C4
+:10BC700001010101010101010101010101010101B4
+:10BC800001010101010101010101010101010101A4
+:10BC90000101010101010101010101010101010194
+:10BCA0000101010101010101010101010101010184
+:10BCB0000101010101010101010101010101010174
+:10BCC0000101010101010101010101010101010164
+:10BCD0000101010101010101010101010101010154
+:10BCE0000101010101010101010101010101010144
+:10BCF0000101010101010101010101010101010134
+:10BD00000101010101010101010101010101010123
+:10BD10000101010101010101010101010101010113
+:10BD20000101010101010101010101010101010103
+:10BD300001010101010101010101010101010101F3
+:10BD400001010101010101010101010101010101E3
+:10BD500001010101010101010101010101010101D3
+:10BD600001010101010101010101010101010101C3
+:10BD700001010101010101010101010101010101B3
+:10BD800001010101010101010101010101010101A3
+:10BD90000101010101010101010101010101010193
+:10BDA0000101010101010101010101010101010183
+:10BDB0000101010101010101010101010101010173
+:10BDC0000101010101010101010101010101010163
+:10BDD0000101010101010101010101010101010153
+:10BDE0000101010101010101010101010101010143
+:10BDF0000101010101010101010101010101010133
+:10BE00000101010101010101010101010101010122
+:10BE10000101010101010101010101010101010112
+:10BE20000101010101010101010101010101010102
+:10BE300001010101010101010101010101010101F2
+:10BE400001010101010101010101010101010101E2
+:10BE500001010101010101010101010101010101D2
+:10BE600001010101010101010101010101010101C2
+:10BE700001010101010101010101010101010101B2
+:10BE800001010101010101010101010101010101A2
+:10BE90000101010101010101010101010101010192
+:10BEA0000101010101010101010101010101010182
+:10BEB0000101010101010101010101010101010172
+:10BEC0000101010101010101010101010101010162
+:10BED0000101010101010101010101010101010152
+:10BEE0000101010101010101010101010101010142
+:10BEF0000101010101010101010101010101010132
+:10BF00000101010101010101010101010101010121
+:10BF10000101010101010101010101010101010111
+:10BF20000101010101010101010101010101010101
+:10BF300001010101010101010101010101010101F1
+:10BF400001010101010101010101010101010101E1
+:10BF500001010101010101010101010101010101D1
+:10BF600001010101010101010101010101010101C1
+:10BF700001010101010101010101010101010101B1
+:10BF800001010101010101010101010101010101A1
+:10BF90000101010101010101010101010101010191
+:10BFA0000101010101010101010101010101010181
+:10BFB0000101010101010101010101010101010171
+:10BFC0000101010101010101010101010101010161
+:10BFD0000101010101010101010101010101010151
+:10BFE0000101010101010101010101010101010141
+:10BFF0000101010101010101010101010101010131
+:10C000000101010101010101010101010101010120
+:10C010000101010101010101010101010101010110
+:10C020000101010101010101010101010101010100
+:10C0300001010101010101010101010101010101F0
+:10C0400001010101010101010101010101010101E0
+:10C0500001010101010101010101010101010101D0
+:10C0600001010101010101010101010101010101C0
+:10C0700001010101010101010101010101010101B0
+:10C0800001010101010101010101010101010101A0
+:10C090000101010101010101010101010101010190
+:10C0A0000101010101010101010101010101010180
+:10C0B0000101010101010101010101010101010170
+:10C0C0000101010101010101010101010101010160
+:10C0D0000101010101010101010101010101010150
+:10C0E0000101010101010101010101010101010140
+:10C0F0000101010101010101010101010101010130
+:10C10000010101010101010101010101010101011F
+:10C11000010101010101010101010101010101010F
+:10C1200001010101010101010101010101010101FF
+:10C1300001010101010101010101010101010101EF
+:10C1400001010101010101010101010101010101DF
+:10C1500001010101010101010101010101010101CF
+:10C1600001010101010101010101010101010101BF
+:10C1700001010101010101010101010101010101AF
+:10C18000010101010101010101010101010101019F
+:10C19000010101010101010101010101010101018F
+:10C1A000010101010101010101010101010101017F
+:10C1B000010101010101010101010101010101016F
+:10C1C000010101010101010101010101010101015F
+:10C1D000010101010101010101010101010101014F
+:10C1E000010101010101010101010101010101013F
+:10C1F000010101010101010101010101010101012F
+:10C20000010101010101010101010101010101011E
+:10C210000101010101010100000000000000000017
+:10C22000000000000000000000000000000000000E
+:10C2300000000000000000000000000000000000FE
+:10C2400000000000000000000000000000000000EE
+:10C2500000000000000000000000000000000000DE
+:10C2600000000000000000000000000000000000CE
+:10C2700000000000000000000000000000000000BE
+:10C2800000000000000000000000000000000000AE
+:10C29000000000000000000000000000000000009E
+:10C2A000000000000000000000000000000000008E
+:10C2B000000000000000000000000000000000007E
+:10C2C000000000000000000000000000000000006E
+:10C2D000000000000000000000000000000000005E
+:10C2E000000000000000000000000000000000004E
+:10C2F000000000000000000000000000000000003E
+:10C30000000000000000000000000000000000002D
+:10C31000000000000000000000000000000000001D
+:10C32000000000000000000000000000000000000D
+:10C3300000000000000000000000000000000000FD
+:10C3400000000000000000000000000000000000ED
+:10C3500000000000000000000000000000000000DD
+:10C3600000000000000000000000000000000000CD
+:10C3700000000000000000000000000000000000BD
+:10C3800000000000000000000000000000000000AD
+:10C39000000000000000000000000000000000009D
+:10C3A000000000000000000000000000000000008D
+:10C3B000000000000000000000000000000000007D
+:10C3C000000000000000000000000000000000006D
+:10C3D000000000000000000000000000000000005D
+:10C3E000000000000000000000000000000000004D
+:10C3F000000000000000000000000000000000003D
+:10C40000000000000000000000000000000000002C
+:10C41000000000000000000000000000000000001C
+:10C42000000000000000000000000000000000000C
+:10C4300000000000000000000000000000000000FC
+:10C4400000000000000000000000000000000000EC
+:10C4500000000000000000000000000000000000DC
+:10C4600000000000000000000000000000000000CC
+:10C4700000000000000000000000000000000000BC
+:10C4800000000000000000000000000000000000AC
+:10C49000000000000000000000000000000000009C
+:10C4A000000000000000000000000000000000008C
+:10C4B000000000000000000000000000000000007C
+:10C4C000000000000000000000000000000000006C
+:10C4D000000000000000000000000000000000005C
+:10C4E000000000000000000000000000000000004C
+:10C4F000000000000000000000000000000000003C
+:10C50000000000000000000000000000000000002B
+:10C51000000000000000000000000000000000001B
+:10C52000000000000000000000000000000000000B
+:10C5300000000000000000000000000000000000FB
+:10C5400000000000000000000000000000000000EB
+:10C5500000000000000000000000000000000000DB
+:10C5600000000000000000000000000000000000CB
+:10C5700000000000000000000000000000000000BB
+:10C5800000000000000000000000000000000000AB
+:10C59000000000000000000000000000000000009B
+:10C5A000000000000000000000000000000000008B
+:10C5B000000000000000000000000000000000007B
+:10C5C000000000000000000000000000000000006B
+:10C5D000000000000000000000000000000000005B
+:10C5E000000000000000000000000000000000004B
+:10C5F000000000000000000000000000000000003B
+:10C60000000000000000000000000000000000002A
+:10C610000000000000000002020202020202020208
+:10C6200002020202020202020202020202020202EA
+:10C6300002020202020202020202020202020202DA
+:10C6400002020202020202020202020202020202CA
+:10C6500002020202020202020202020202020202BA
+:10C6600002020202020202020202020202020202AA
+:10C67000020202020202020202020202020202029A
+:10C68000020202020202020202020202020202028A
+:10C69000020202020202020202020202020202027A
+:10C6A000020202020202020202020202020202026A
+:10C6B000020202020202020202020202020202025A
+:10C6C000020202020202020202020202020202024A
+:10C6D000020202020202020202020202020202023A
+:10C6E000020202020202020202020202020202022A
+:10C6F000020202020202020202020202020202021A
+:10C700000202020202020202020202020202020209
+:10C7100002020202020202020202020202020202F9
+:10C7200002020202020202020202020202020202E9
+:10C7300002020202020202020202020202020202D9
+:10C7400002020202020202020202020202020202C9
+:10C7500002020202020202020202020202020202B9
+:10C7600002020202020202020202020202020202A9
+:10C770000202020202020202020202020202020299
+:10C780000202020202020202020202020202020289
+:10C790000202020202020202020202020202020279
+:10C7A0000202020202020202020202020202020269
+:10C7B0000202020202020202020202020202020259
+:10C7C0000202020202020202020202020202020249
+:10C7D0000202020202020202020202020202020239
+:10C7E0000202020202020202020202020202020229
+:10C7F0000202020202020202020202020202020219
+:10C800000202020202020202020202020202020208
+:10C8100002020202020202020202020202020202F8
+:10C8200002020202020202020202020202020202E8
+:10C8300002020202020202020202020202020202D8
+:10C8400002020202020202020202020202020202C8
+:10C8500002020202020202020202020202020202B8
+:10C8600002020202020202020202020202020202A8
+:10C870000202020202020202020202020202020298
+:10C880000202020202020202020202020202020288
+:10C890000202020202020202020202020202020278
+:10C8A0000202020202020202020202020202020268
+:10C8B0000202020202020202020202020202020258
+:10C8C0000202020202020202020202020202020248
+:10C8D0000202020202020202020202020202020238
+:10C8E0000202020202020202020202020202020228
+:10C8F0000202020202020202020202020202020218
+:10C900000202020202020202020202020202020207
+:10C9100002020202020202020202020202020202F7
+:10C9200002020202020202020202020202020202E7
+:10C9300002020202020202020202020202020202D7
+:10C9400002020202020202020202020202020202C7
+:10C9500002020202020202020202020202020202B7
+:10C9600002020202020202020202020202020202A7
+:10C970000202020202020202020202020202020297
+:10C980000202020202020202020202020202020287
+:10C990000202020202020202020202020202020277
+:10C9A0000202020202020202020202020202020267
+:10C9B0000202020202020202020202020202020257
+:10C9C0000202020202020202020202020202020247
+:10C9D0000202020202020202020202020202020237
+:10C9E0000202020202020202020202020202020227
+:10C9F0000202020202020202020202020202020217
+:10CA00000202020202020202020202020202020206
+:10CA100002020202020202020202020202020202F6
+:10CA200002020202020202020202020202020202E6
+:10CA300002020202020202020202020202020202D6
+:10CA400002020202020202020202020202020202C6
+:10CA500002020202020202020202020202020202B6
+:10CA600002020202020202020202020202020202A6
+:10CA70000202020202020202020202020202020296
+:10CA80000202020202020202020202020202020286
+:10CA90000202020202020202020202020202020276
+:10CAA0000202020202020202020202020202020266
+:10CAB0000202020202020202020202020202020256
+:10CAC0000202020202020202020202020202020246
+:10CAD0000202020202020202020202020202020236
+:10CAE0000202020202020202020202020202020226
+:10CAF0000202020202020202020202020202020216
+:10CB00000202020202020202020202020202020205
+:10CB100002020202020202020202020202020202F5
+:10CB200002020202020202020202020202020202E5
+:10CB300002020202020202020202020202020202D5
+:10CB400002020202020202020202020202020202C5
+:10CB500002020202020202020202020202020202B5
+:10CB600002020202020202020202020202020202A5
+:10CB70000202020202020202020202020202020295
+:10CB80000202020202020202020202020202020285
+:10CB90000202020202020202020202020202020275
+:10CBA0000202020202020202020202020202020265
+:10CBB0000202020202020202020202020202020255
+:10CBC0000202020202020202020202020202020245
+:10CBD0000202020202020202020202020202020235
+:10CBE0000202020202020202020202020202020225
+:10CBF0000202020202020202020202020202020215
+:10CC00000202020202020202020202020202020204
+:10CC100002020202020202020202020202020202F4
+:10CC200002020202020202020202020202020202E4
+:10CC300002020202020202020202020202020202D4
+:10CC400002020202020202020202020202020202C4
+:10CC500002020202020202020202020202020202B4
+:10CC600002020202020202020202020202020202A4
+:10CC70000202020202020202020202020202020294
+:10CC80000202020202020202020202020202020284
+:10CC90000202020202020202020202020202020274
+:10CCA0000202020202020202020202020202020264
+:10CCB0000202020202020202020202020202020254
+:10CCC0000202020202020202020202020202020244
+:10CCD0000202020202020202020202020202020234
+:10CCE0000202020202020202020202020202020224
+:10CCF0000202020202020202020202020202020214
+:10CD00000202020202020202020202020202020203
+:10CD100002020202020202020202020202020202F3
+:10CD200002020202020202020202020202020202E3
+:10CD300002020202020202020202020202020202D3
+:10CD400002020202020202020202020202020202C3
+:10CD500002020202020202020202020202020202B3
+:10CD600002020202020202020202020202020202A3
+:10CD70000202020202020202020202020202020293
+:10CD80000202020202020202020202020202020283
+:10CD90000202020202020202020202020202020273
+:10CDA0000202020202020202020202020202020263
+:10CDB0000202020202020202020202020202020253
+:10CDC0000202020202020202020202020202020243
+:10CDD0000202020202020202020202020202020233
+:10CDE0000202020202020202020202020202020223
+:10CDF0000202020202020202020202020202020213
+:10CE00000202020202020202020202020202020202
+:10CE100002020202020202020202020202020202F2
+:10CE200002020202020202020202020202020202E2
+:10CE300002020202020202020202020202020202D2
+:10CE400002020202020202020202020202020202C2
+:10CE500002020202020202020202020202020202B2
+:10CE600002020202020202020202020202020202A2
+:10CE70000202020202020202020202020202020292
+:10CE80000202020202020202020202020202020282
+:10CE90000202020202020202020202020202020272
+:10CEA0000202020202020202020202020202020262
+:10CEB0000202020202020202020202020202020252
+:10CEC0000202020202020202020202020202020242
+:10CED0000202020202020202020202020202020232
+:10CEE0000202020202020202020202020202020222
+:10CEF0000202020202020202020202020202020212
+:10CF00000202020202020202020202020202020201
+:10CF100002020202020202020202020202020202F1
+:10CF200002020202020202020202020202020202E1
+:10CF300002020202020202020202020202020202D1
+:10CF400002020202020202020202020202020202C1
+:10CF500002020202020202020202020202020202B1
+:10CF600002020202020202020202020202020202A1
+:10CF70000202020202020202020202020202020291
+:10CF80000202020202020202020202020202020281
+:10CF90000202020202020202020202020202020271
+:10CFA0000202020202020202020202020202020261
+:10CFB0000202020202020202020202020202020251
+:10CFC0000202020202020202020202020202020241
+:10CFD0000202020202020202020202020202020231
+:10CFE0000202020202020202020202020202020221
+:10CFF0000202020202020202020202020202020211
+:10D000000202020202020202020202020202020200
+:10D0100002020202020202020202020202020202F0
+:10D0200002020202020202020202020202020202E0
+:10D0300002020202020202020202020202020202D0
+:10D0400002020202020202020202020202020202C0
+:10D0500002020202020202020202020202020202B0
+:10D0600002020202020202020202020202020202A0
+:10D070000202020202020202020202020202020290
+:10D080000202020202020202020202020202020280
+:10D090000202020202020202020202020202020270
+:10D0A0000202020202020202020202020202020260
+:10D0B0000202020202020202020202020202020250
+:10D0C0000202020202020202020202020202020240
+:10D0D0000202020202020202020202020202020230
+:10D0E0000202020202020202020202020202020220
+:10D0F0000202020202020202020202020202020210
+:10D1000002020202020202020202020202020202FF
+:10D1100002020202020202020202020202020202EF
+:10D1200002020202020202020202020202020202DF
+:10D1300002020202020202020202020202020202CF
+:10D1400002020202020202020202020202020202BF
+:10D1500002020202020202020202020202020202AF
+:10D16000020202020202020202020202020202029F
+:10D17000020202020202020202020202020202028F
+:10D18000020202020202020202020202020202027F
+:10D19000020202020202020202020202020202026F
+:10D1A000020202020202020202020202020202025F
+:10D1B000020202020202020202020202020202024F
+:10D1C000020202020202020202020202020202023F
+:10D1D000020202020202020202020202020202022F
+:10D1E000020202020202020202020202020202021F
+:10D1F000020202020202020202020202020202020F
+:10D2000002020202020202020202020202020202FE
+:10D2100002020202020202020202020202020202EE
+:10D2200002020202020202020202020202020202DE
+:10D2300002020202020202020202020202020202CE
+:10D2400002020202020202020202020202020202BE
+:10D2500002020202020202020202020202020202AE
+:10D26000020202020202020202020202020202029E
+:10D27000020202020202020202020202020202028E
+:10D28000020202020202020202020202020202027E
+:10D29000020202020202020202020202020202026E
+:10D2A000020202020202020202020202020202025E
+:10D2B000020202020202020202020202020202024E
+:10D2C000020202020202020202020202020202023E
+:10D2D000020202020202020202020202020202022E
+:10D2E000020202020202020202020202020202021E
+:10D2F000020202020202020202020202020202020E
+:10D3000002020202020202020202020202020202FD
+:10D3100002020202020202020202020202020202ED
+:10D3200002020202020202020202020202020202DD
+:10D3300002020202020202020202020202020202CD
+:10D3400002020202020202020202020202020202BD
+:10D3500002020202020202020202020202020202AD
+:10D36000020202020202020202020202020202029D
+:10D37000020202020202020202020202020202028D
+:10D38000020202020202020202020202020202027D
+:10D39000020202020202020202020202020202026D
+:10D3A000020202020202020202020202020202025D
+:10D3B000020202020202020202020202020202024D
+:10D3C000020202020202020202020202020202023D
+:10D3D000020202020202020202020202020202022D
+:10D3E000020202020202020202020202020202021D
+:10D3F000020202020202020202020202020202020D
+:10D4000002020202020202020202020202020202FC
+:10D4100002020202020202020202020202020202EC
+:10D4200002020202020202020202020202020202DC
+:10D4300002020202020202020202020202020202CC
+:10D4400002020202020202020202020202020202BC
+:10D4500002020202020202020202020202020202AC
+:10D46000020202020202020202020202020202029C
+:10D47000020202020202020202020202020202028C
+:10D48000020202020202020202020202020202027C
+:10D49000020202020202020202020202020202026C
+:10D4A000020202020202020202020202020202025C
+:10D4B000020202020202020202020202020202024C
+:10D4C000020202020202020202020202020202023C
+:10D4D000020202020202020202020202020202022C
+:10D4E000020202020202020202020202020202021C
+:10D4F000020202020202020202020202020202020C
+:10D5000002020202020202020202020202020202FB
+:10D5100002020202020202020202020202020202EB
+:10D5200002020202020202020202020202020202DB
+:10D5300002020202020202020202020202020202CB
+:10D5400002020202020202020202020202020202BB
+:10D5500002020202020202020202020202020202AB
+:10D56000020202020202020202020202020202029B
+:10D57000020202020202020202020202020202028B
+:10D58000020202020202020202020202020202027B
+:10D59000020202020202020202020202020202026B
+:10D5A000020202020202020202020202020202025B
+:10D5B000020202020202020202020202020202024B
+:10D5C000020202020202020202020202020202023B
+:10D5D000020202020202020202020202020202022B
+:10D5E000020202020202020202020202020202021B
+:10D5F000020202020202020202020202020202020B
+:10D6000002020202020202020202020202020202FA
+:10D6100002020202020202020202020202020202EA
+:10D6200002020202020202020202020202020202DA
+:10D6300002020202020202020202020202020202CA
+:10D6400002020202020202020202020202020202BA
+:10D6500002020202020202020202020202020202AA
+:10D66000020202020202020202020202020202029A
+:10D67000020202020202020202020202020202028A
+:10D68000020202020202020202020202020202027A
+:10D69000020202020202020202020202020202026A
+:10D6A000020202020202020202020202020202025A
+:10D6B000020202020202020202020202020202024A
+:10D6C000020202020202020202020202020202023A
+:10D6D000020202020202020202020202020202022A
+:10D6E000020202020202020202020202020202021A
+:10D6F000020202020202020202020202020202020A
+:10D7000002020202020202020202020202020202F9
+:10D7100002020202020202020202020202020202E9
+:10D7200002020202020202020202020202020202D9
+:10D7300002020202020202020202020202020202C9
+:10D7400002020202020202020202020202020202B9
+:10D7500002020202020202020202020202020202A9
+:10D760000202020202020202020202020202020299
+:10D770000202020202020202020202020202020289
+:10D780000202020202020202020202020202020279
+:10D790000202020202020202020202020202020269
+:10D7A0000202020202020202020202020202020259
+:10D7B0000202020202020202020202020202020249
+:10D7C0000202020202020202020202020202020239
+:10D7D0000202020202020202020202020202020229
+:10D7E0000202020202020202020202020202020219
+:10D7F0000202020202020202020202020202020209
+:10D8000002020202020202020202020202020202F8
+:10D8100002020202020202020202020202020202E8
+:10D8200002020202020202020202020202020202D8
+:10D8300002020202020202020202020202020202C8
+:10D8400002020202020202020202020202020202B8
+:10D8500002020202020202020202020202020202A8
+:10D860000202020202020202020202020202020298
+:10D870000202020202020202020202020202020288
+:10D880000202020202020202020202020202020278
+:10D890000202020202020202020202020202020268
+:10D8A0000202020202020202020202020202020258
+:10D8B0000202020202020202020202020202020248
+:10D8C0000202020202020202020202020202020238
+:10D8D0000202020202020202020202020202020228
+:10D8E0000202020202020202020202020202020218
+:10D8F0000202020202020202020202020202020208
+:10D9000002020202020202020202020202020202F7
+:10D9100002020202020202020202020202020202E7
+:10D9200002020202020202020202020202020202D7
+:10D9300002020202020202020202020202020202C7
+:10D9400002020202020202020202020202020202B7
+:10D9500002020202020202020202020202020202A7
+:10D960000202020202020202020202020202020297
+:10D970000202020202020202020202020202020287
+:10D980000202020202020202020202020202020277
+:10D990000202020202020202020202020202020267
+:10D9A0000202020202020202020202020202020257
+:10D9B0000202020202020202020202020202020247
+:10D9C0000202020202020202020202020202020237
+:10D9D0000202020202020202020202020202020227
+:10D9E0000202020202020202020202020202020217
+:10D9F0000202020202020202020202020202020207
+:10DA000002020202020202020202020202020202F6
+:10DA100002020202020202020202020202020202E6
+:10DA200002020202020202020202020202020202D6
+:10DA300002020202020202020202020202020202C6
+:10DA400002020202020202020202020202020202B6
+:10DA500002020202020202020202020202020202A6
+:10DA60000202020202020202020202020202020296
+:10DA70000202020202020202020202020202020286
+:10DA80000202020202020202020202020202020276
+:10DA90000202020202020202020202020202020266
+:10DAA0000202020202020202020202020202020256
+:10DAB0000202020202020202020202020202020246
+:10DAC0000202020202020202020202020202020236
+:10DAD0000202020202020202020202020202020226
+:10DAE0000202020202020202020202020202020216
+:10DAF0000202020202020202020202020202020206
+:10DB000002020202020202020202020202020202F5
+:10DB100002020202020202000000000000000000F7
+:10DB200000000000000000000000000000000000F5
+:10DB300000000000000000000000000000000000E5
+:10DB400000000000000000000000000000000000D5
+:10DB500000000000000000000000000000000000C5
+:10DB600000000000000000000000000000000000B5
+:10DB700000000000000000000000000000000000A5
+:10DB80000000000000000000000000000000000095
+:10DB90000000000000000000000000000000000085
+:10DBA0000000000000000000000000000000000075
+:10DBB0000000000000000000000000000000000065
+:10DBC0000000000000000000000000000000000055
+:10DBD0000000000000000000000000000000000045
+:10DBE0000000000000000000000000000000000035
+:10DBF0000000000000000000000000000000000025
+:10DC00000000000000000000000000000000000014
+:10DC10000000000000000000000000000000000004
+:10DC200000000000000000000000000000000000F4
+:10DC300000000000000000000000000000000000E4
+:10DC400000000000000000000000000000000000D4
+:10DC500000000000000000000000000000000000C4
+:10DC600000000000000000000000000000000000B4
+:10DC700000000000000000000000000000000000A4
+:10DC80000000000000000000000000000000000094
+:10DC90000000000000000000000000000000000084
+:10DCA0000000000000000000000000000000000074
+:10DCB0000000000000000000000000000000000064
+:10DCC0000000000000000000000000000000000054
+:10DCD0000000000000000000000000000000000044
+:10DCE0000000000000000000000000000000000034
+:10DCF0000000000000000000000000000000000024
+:10DD00000000000000000000000000000000000013
+:10DD10000000000000000000000000000000000003
+:10DD200000000000000000000000000000000000F3
+:10DD300000000000000000000000000000000000E3
+:10DD400000000000000000000000000000000000D3
+:10DD500000000000000000000000000000000000C3
+:10DD600000000000000000000000000000000000B3
+:10DD700000000000000000000000000000000000A3
+:10DD80000000000000000000000000000000000093
+:10DD90000000000000000000000000000000000083
+:10DDA0000000000000000000000000000000000073
+:10DDB0000000000000000000000000000000000063
+:10DDC0000000000000000000000000000000000053
+:10DDD0000000000000000000000000000000000043
+:10DDE0000000000000000000000000000000000033
+:10DDF0000000000000000000000000000000000023
+:10DE00000000000000000000000000000000000012
+:10DE10000000000000000000000000000000000002
+:10DE200000000000000000000000000000000000F2
+:10DE300000000000000000000000000000000000E2
+:10DE400000000000000000000000000000000000D2
+:10DE500000000000000000000000000000000000C2
+:10DE600000000000000000000000000000000000B2
+:10DE700000000000000000000000000000000000A2
+:10DE80000000000000000000000000000000000092
+:10DE90000000000000000000000000000000000082
+:10DEA0000000000000000000000000000000000072
+:10DEB0000000000000000000000000000000000062
+:10DEC0000000000000000000000000000000000052
+:10DED0000000000000000000000000000000000042
+:10DEE0000000000000000000000000000000000032
+:10DEF0000000000000000000000000000000000022
+:10DF00000000000000000000000000000000000011
+:10DF10000000000000000000000000000000000001
+:10DF200000000000000000000000000000000000F1
+:10DF300000000000000000000000000000000000E1
+:10DF400000000000000000000000000000000000D1
+:10DF500000000000000000000000000000000000C1
+:10DF600000000000000000000000000000000000B1
+:10DF700000000000000000000000000000000000A1
+:10DF80000000000000000000000000000000000091
+:10DF90000000000000000000000000000000000081
+:10DFA0000000000000000000000000000000000071
+:10DFB0000000000000000000000000000000000061
+:10DFC0000000000000000000000000000000000051
+:10DFD0000000000000000000000000000000000041
+:10DFE0000000000000000000000000000000000031
+:10DFF0000000000000000000000000000000000021
+:10E000000000000000000000000000000000000010
+:10E010000000000000000000000000000000000000
+:10E0200000000000000000000000000000000000F0
+:10E0300000000000000000000000000000000000E0
+:10E0400000000000000000000000000000000000D0
+:10E0500000000000000000000000000000000000C0
+:10E0600000000000000000000000000000000000B0
+:10E0700000000000000000000000000000000000A0
+:10E080000000000000000000000000000000000090
+:10E090000000000000000000000000000000000080
+:10E0A0000000000000000000000000000000000070
+:10E0B0000000000000000000000000000000000060
+:10E0C0000000000000000000000000000000000050
+:10E0D0000000000000000000000000000000000040
+:10E0E0000000000000000000000000000000000030
+:10E0F0000000000000000000000000000000000020
+:10E10000000000000000000000000000000000000F
+:10E1100000000000000000000000000000000000FF
+:10E1200000000000000000000000000000000000EF
+:10E1300000000000000000000000000000000000DF
+:10E1400000000000000000000000000000000000CF
+:10E1500000000000000000000000000000000000BF
+:10E1600000000000000000000000000000000000AF
+:10E17000000000000000000000000000000000009F
+:10E18000000000000000000000000000000000008F
+:10E19000000000000000000000000000000000007F
+:10E1A000000000000000000000000000000000006F
+:10E1B000000000000000000000000000000000005F
+:10E1C000000000000000000000000000000000004F
+:10E1D000000000000000000000000000000000003F
+:10E1E000000000000000000000000000000000002F
+:10E1F000000000000000000000000000000000001F
+:10E20000000000000000000000000000000000000E
+:10E2100000000000000000000000000000000000FE
+:10E2200000000000000000000000000000000000EE
+:10E2300000000000000000000000000000000000DE
+:10E2400000000000000000000000000000000000CE
+:10E2500000000000000000000000000000000000BE
+:10E2600000000000000000000000000000000000AE
+:10E27000000000000000000000000000000000009E
+:10E28000000000000000000000000000000000008E
+:10E29000000000000000000000000000000000007E
+:10E2A000000000000000000000000000000000006E
+:10E2B000000000000000000000000000000000005E
+:10E2C000000000000000000000000000000000004E
+:10E2D000000000000000000000000000000000003E
+:10E2E000000000000000000000000000000000002E
+:10E2F000000000000000000000000000000000001E
+:10E30000000000000000000000000000000000000D
+:10E3100000000000000000000000000000000000FD
+:10E3200000000000000000000000000000000000ED
+:10E3300000000000000000000000000000000000DD
+:10E3400000000000000000000000000000000000CD
+:10E3500000000000000000000000000000000000BD
+:10E3600000000000000000000000000000000000AD
+:10E37000000000000000000000000000000000009D
+:10E38000000000000000000000000000000000008D
+:10E39000000000000000000000000000000000007D
+:10E3A000000000000000000000000000000000006D
+:10E3B000000000000000000000000000000000005D
+:10E3C000000000000000000000000000000000004D
+:10E3D000000000000000000000000000000000003D
+:10E3E000000000000000000000000000000000002D
+:10E3F000000000000000000000000000000000001D
+:10E40000000000000000000000000000000000000C
+:10E4100000000000000000000000000000000000FC
+:10E4200000000000000000000000000000000000EC
+:10E4300000000000000000000000000000000000DC
+:10E4400000000000000000000000000000000000CC
+:10E4500000000000000000000000000000000000BC
+:10E4600000000000000000000000000000000000AC
+:10E47000000000000000000000000000000000009C
+:10E48000000000000000000000000000000000008C
+:10E49000000000000000000000000000000000007C
+:10E4A000000000000000000000000000000000006C
+:10E4B000000000000000000000000000000000005C
+:10E4C000000000000000000000000000000000004C
+:10E4D000000000000000000000000000000000003C
+:10E4E000000000000000000000000000000000002C
+:10E4F000000000000000000000000000000000001C
+:10E50000000000000000000000000000000000000B
+:10E5100000000000000000000000000000000000FB
+:10E5200000000000000000000000000000000000EB
+:10E5300000000000000000000000000000000000DB
+:10E5400000000000000000000000000000000000CB
+:10E5500000000000000000000000000000000000BB
+:10E5600000000000000000000000000000000000AB
+:10E57000000000000000000000000000000000009B
+:10E58000000000000000000000000000000000008B
+:10E59000000000000000000000000000000000007B
+:10E5A000000000000000000000000000000000006B
+:10E5B000000000000000000000000000000000005B
+:10E5C000000000000000000000000000000000004B
+:10E5D000000000000000000000000000000000003B
+:10E5E000000000000000000000000000000000002B
+:10E5F000000000000000000000000000000000001B
+:10E60000000000000000000000000000000000000A
+:10E6100000000000000000010101010101010101F1
+:10E6200001010101010101010101010101010101DA
+:10E6300001010101010101010101010101010101CA
+:10E6400001010101010101010101010101010101BA
+:10E6500001010101010101010101010101010101AA
+:10E66000010101010101010101010101010101019A
+:10E67000010101010101010101010101010101018A
+:10E68000010101010101010101010101010101017A
+:10E69000010101010101010101010101010101016A
+:10E6A000010101010101010101010101010101015A
+:10E6B000010101010101010101010101010101014A
+:10E6C000010101010101010101010101010101013A
+:10E6D000010101010101010101010101010101012A
+:10E6E000010101010101010101010101010101011A
+:10E6F000010101010101010101010101010101010A
+:10E7000001010101010101010101010101010101F9
+:10E7100001010101010101010101010101010101E9
+:10E7200001010101010101010101010101010101D9
+:10E7300001010101010101010101010101010101C9
+:10E7400001010101010101010101010101010101B9
+:10E7500001010101010101010101010101010101A9
+:10E760000101010101010101010101010101010199
+:10E770000101010101010101010101010101010189
+:10E780000101010101010101010101010101010179
+:10E790000101010101010101010101010101010169
+:10E7A0000101010101010101010101010101010159
+:10E7B0000101010101010101010101010101010149
+:10E7C0000101010101010101010101010101010139
+:10E7D0000101010101010101010101010101010129
+:10E7E0000101010101010101010101010101010119
+:10E7F0000101010101010101010101010101010109
+:10E8000001010101010101010101010101010101F8
+:10E8100001010101010101010101010101010101E8
+:10E8200001010101010101010101010101010101D8
+:10E8300001010101010101010101010101010101C8
+:10E8400001010101010101010101010101010101B8
+:10E8500001010101010101010101010101010101A8
+:10E860000101010101010101010101010101010198
+:10E870000101010101010101010101010101010188
+:10E880000101010101010101010101010101010178
+:10E890000101010101010101010101010101010168
+:10E8A0000101010101010101010101010101010158
+:10E8B0000101010101010101010101010101010148
+:10E8C0000101010101010101010101010101010138
+:10E8D0000101010101010101010101010101010128
+:10E8E0000101010101010101010101010101010118
+:10E8F0000101010101010101010101010101010108
+:10E9000001010101010101010101010101010101F7
+:10E9100001010101010101010101010101010101E7
+:10E9200001010101010101010101010101010101D7
+:10E9300001010101010101010101010101010101C7
+:10E9400001010101010101010101010101010101B7
+:10E9500001010101010101010101010101010101A7
+:10E960000101010101010101010101010101010197
+:10E970000101010101010101010101010101010187
+:10E980000101010101010101010101010101010177
+:10E990000101010101010101010101010101010167
+:10E9A0000101010101010101010101010101010157
+:10E9B0000101010101010101010101010101010147
+:10E9C0000101010101010101010101010101010137
+:10E9D0000101010101010101010101010101010127
+:10E9E0000101010101010101010101010101010117
+:10E9F0000101010101010101010101010101010107
+:10EA000001010101010101010101010101010101F6
+:10EA100001010101010101010101010101010101E6
+:10EA200001010101010101010101010101010101D6
+:10EA300001010101010101010101010101010101C6
+:10EA400001010101010101010101010101010101B6
+:10EA500001010101010101010101010101010101A6
+:10EA60000101010101010101010101010101010196
+:10EA70000101010101010101010101010101010186
+:10EA80000101010101010101010101010101010176
+:10EA90000101010101010101010101010101010166
+:10EAA0000101010101010101010101010101010156
+:10EAB0000101010101010101010101010101010146
+:10EAC0000101010101010101010101010101010136
+:10EAD0000101010101010101010101010101010126
+:10EAE0000101010101010101010101010101010116
+:10EAF0000101010101010101010101010101010106
+:10EB000001010101010101010101010101010101F5
+:10EB100001010101010101010101010101010101E5
+:10EB200001010101010101010101010101010101D5
+:10EB300001010101010101010101010101010101C5
+:10EB400001010101010101010101010101010101B5
+:10EB500001010101010101010101010101010101A5
+:10EB60000101010101010101010101010101010195
+:10EB70000101010101010101010101010101010185
+:10EB80000101010101010101010101010101010175
+:10EB90000101010101010101010101010101010165
+:10EBA0000101010101010101010101010101010155
+:10EBB0000101010101010101010101010101010145
+:10EBC0000101010101010101010101010101010135
+:10EBD0000101010101010101010101010101010125
+:10EBE0000101010101010101010101010101010115
+:10EBF0000101010101010101010101010101010105
+:10EC000001010101010101010101010101010101F4
+:10EC100001010101010101010101010101010101E4
+:10EC200001010101010101010101010101010101D4
+:10EC300001010101010101010101010101010101C4
+:10EC400001010101010101010101010101010101B4
+:10EC500001010101010101010101010101010101A4
+:10EC60000101010101010101010101010101010194
+:10EC70000101010101010101010101010101010184
+:10EC80000101010101010101010101010101010174
+:10EC90000101010101010101010101010101010164
+:10ECA0000101010101010101010101010101010154
+:10ECB0000101010101010101010101010101010144
+:10ECC0000101010101010101010101010101010134
+:10ECD0000101010101010101010101010101010124
+:10ECE0000101010101010101010101010101010114
+:10ECF0000101010101010101010101010101010104
+:10ED000001010101010101010101010101010101F3
+:10ED100001010101010101010101010101010101E3
+:10ED200001010101010101010101010101010101D3
+:10ED300001010101010101010101010101010101C3
+:10ED400001010101010101010101010101010101B3
+:10ED500001010101010101010101010101010101A3
+:10ED60000101010101010101010101010101010193
+:10ED70000101010101010101010101010101010183
+:10ED80000101010101010101010101010101010173
+:10ED90000101010101010101010101010101010163
+:10EDA0000101010101010101010101010101010153
+:10EDB0000101010101010101010101010101010143
+:10EDC0000101010101010101010101010101010133
+:10EDD0000101010101010101010101010101010123
+:10EDE0000101010101010101010101010101010113
+:10EDF0000101010101010101010101010101010103
+:10EE000001010101010101010101010101010101F2
+:10EE100001010101010101010101010101010101E2
+:10EE200001010101010101010101010101010101D2
+:10EE300001010101010101010101010101010101C2
+:10EE400001010101010101010101010101010101B2
+:10EE500001010101010101010101010101010101A2
+:10EE60000101010101010101010101010101010192
+:10EE70000101010101010101010101010101010182
+:10EE80000101010101010101010101010101010172
+:10EE90000101010101010101010101010101010162
+:10EEA0000101010101010101010101010101010152
+:10EEB0000101010101010101010101010101010142
+:10EEC0000101010101010101010101010101010132
+:10EED0000101010101010101010101010101010122
+:10EEE0000101010101010101010101010101010112
+:10EEF0000101010101010101010101010101010102
+:10EF000001010101010101010101010101010101F1
+:10EF100001010101010101010101010101010101E1
+:10EF200001010101010101010101010101010101D1
+:10EF300001010101010101010101010101010101C1
+:10EF400001010101010101010101010101010101B1
+:10EF500001010101010101010101010101010101A1
+:10EF60000101010101010101010101010101010191
+:10EF70000101010101010101010101010101010181
+:10EF80000101010101010101010101010101010171
+:10EF90000101010101010101010101010101010161
+:10EFA0000101010101010101010101010101010151
+:10EFB0000101010101010101010101010101010141
+:10EFC0000101010101010101010101010101010131
+:10EFD0000101010101010101010101010101010121
+:10EFE0000101010101010101010101010101010111
+:10EFF0000101010101010101010101010101010101
+:10F0000001010101010101010101010101010101F0
+:10F0100001010101010101010101010101010101E0
+:10F0200001010101010101010101010101010101D0
+:10F0300001010101010101010101010101010101C0
+:10F0400001010101010101010101010101010101B0
+:10F0500001010101010101010101010101010101A0
+:10F060000101010101010101010101010101010190
+:10F070000101010101010101010101010101010180
+:10F080000101010101010101010101010101010170
+:10F090000101010101010101010101010101010160
+:10F0A0000101010101010101010101010101010150
+:10F0B0000101010101010101010101010101010140
+:10F0C0000101010101010101010101010101010130
+:10F0D0000101010101010101010101010101010120
+:10F0E0000101010101010101010101010101010110
+:10F0F0000101010101010101010101010101010100
+:10F1000001010101010101010101010101010101EF
+:10F1100001010101010101010101010101010101DF
+:10F1200001010101010101010101010101010101CF
+:10F1300001010101010101010101010101010101BF
+:10F1400001010101010101010101010101010101AF
+:10F15000010101010101010101010101010101019F
+:10F16000010101010101010101010101010101018F
+:10F17000010101010101010101010101010101017F
+:10F18000010101010101010101010101010101016F
+:10F19000010101010101010101010101010101015F
+:10F1A000010101010101010101010101010101014F
+:10F1B000010101010101010101010101010101013F
+:10F1C000010101010101010101010101010101012F
+:10F1D000010101010101010101010101010101011F
+:10F1E000010101010101010101010101010101010F
+:10F1F00001010101010101010101010101010101FF
+:10F2000001010101010101010101010101010101EE
+:10F2100001010101010101010101010101010101DE
+:10F2200001010101010101010101010101010101CE
+:10F2300001010101010101010101010101010101BE
+:10F2400001010101010101010101010101010101AE
+:10F25000010101010101010101010101010101019E
+:10F26000010101010101010101010101010101018E
+:10F27000010101010101010101010101010101017E
+:10F28000010101010101010101010101010101016E
+:10F29000010101010101010101010101010101015E
+:10F2A000010101010101010101010101010101014E
+:10F2B000010101010101010101010101010101013E
+:10F2C000010101010101010101010101010101012E
+:10F2D000010101010101010101010101010101011E
+:10F2E000010101010101010101010101010101010E
+:10F2F00001010101010101010101010101010101FE
+:10F3000001010101010101010101010101010101ED
+:10F3100001010101010101010101010101010101DD
+:10F3200001010101010101010101010101010101CD
+:10F3300001010101010101010101010101010101BD
+:10F3400001010101010101010101010101010101AD
+:10F35000010101010101010101010101010101019D
+:10F36000010101010101010101010101010101018D
+:10F37000010101010101010101010101010101017D
+:10F38000010101010101010101010101010101016D
+:10F39000010101010101010101010101010101015D
+:10F3A000010101010101010101010101010101014D
+:10F3B000010101010101010101010101010101013D
+:10F3C000010101010101010101010101010101012D
+:10F3D000010101010101010101010101010101011D
+:10F3E000010101010101010101010101010101010D
+:10F3F00001010101010101010101010101010101FD
+:10F4000001010101010101010101010101010101EC
+:10F4100001010101010101010101010101010101DC
+:10F4200001010101010101010101010101010101CC
+:10F4300001010101010101010101010101010101BC
+:10F4400001010101010101010101010101010101AC
+:10F45000010101010101010101010101010101019C
+:10F46000010101010101010101010101010101018C
+:10F47000010101010101010101010101010101017C
+:10F48000010101010101010101010101010101016C
+:10F49000010101010101010101010101010101015C
+:10F4A000010101010101010101010101010101014C
+:10F4B000010101010101010101010101010101013C
+:10F4C000010101010101010101010101010101012C
+:10F4D000010101010101010101010101010101011C
+:10F4E000010101010101010101010101010101010C
+:10F4F00001010101010101010101010101010101FC
+:10F5000001010101010101010101010101010101EB
+:10F5100001010101010101010101010101010101DB
+:10F5200001010101010101010101010101010101CB
+:10F5300001010101010101010101010101010101BB
+:10F5400001010101010101010101010101010101AB
+:10F55000010101010101010101010101010101019B
+:10F56000010101010101010101010101010101018B
+:10F57000010101010101010101010101010101017B
+:10F58000010101010101010101010101010101016B
+:10F59000010101010101010101010101010101015B
+:10F5A000010101010101010101010101010101014B
+:10F5B000010101010101010101010101010101013B
+:10F5C000010101010101010101010101010101012B
+:10F5D000010101010101010101010101010101011B
+:10F5E000010101010101010101010101010101010B
+:10F5F00001010101010101010101010101010101FB
+:10F6000001010101010101010101010101010101EA
+:10F6100001010101010101010101010101010101DA
+:10F6200001010101010101010101010101010101CA
+:10F6300001010101010101010101010101010101BA
+:10F6400001010101010101010101010101010101AA
+:10F65000010101010101010101010101010101019A
+:10F66000010101010101010101010101010101018A
+:10F67000010101010101010101010101010101017A
+:10F68000010101010101010101010101010101016A
+:10F69000010101010101010101010101010101015A
+:10F6A000010101010101010101010101010101014A
+:10F6B000010101010101010101010101010101013A
+:10F6C000010101010101010101010101010101012A
+:10F6D000010101010101010101010101010101011A
+:10F6E000010101010101010101010101010101010A
+:10F6F00001010101010101010101010101010101FA
+:10F7000001010101010101010101010101010101E9
+:10F7100001010101010101010101010101010101D9
+:10F7200001010101010101010101010101010101C9
+:10F7300001010101010101010101010101010101B9
+:10F7400001010101010101010101010101010101A9
+:10F750000101010101010101010101010101010199
+:10F760000101010101010101010101010101010189
+:10F770000101010101010101010101010101010179
+:10F780000101010101010101010101010101010169
+:10F790000101010101010101010101010101010159
+:10F7A0000101010101010101010101010101010149
+:10F7B0000101010101010101010101010101010139
+:10F7C0000101010101010101010101010101010129
+:10F7D0000101010101010101010101010101010119
+:10F7E0000101010101010101010101010101010109
+:10F7F00001010101010101010101010101010101F9
+:10F8000001010101010101010101010101010101E8
+:10F8100001010101010101010101010101010101D8
+:10F8200001010101010101010101010101010101C8
+:10F8300001010101010101010101010101010101B8
+:10F8400001010101010101010101010101010101A8
+:10F850000101010101010101010101010101010198
+:10F860000101010101010101010101010101010188
+:10F870000101010101010101010101010101010178
+:10F880000101010101010101010101010101010168
+:10F890000101010101010101010101010101010158
+:10F8A0000101010101010101010101010101010148
+:10F8B0000101010101010101010101010101010138
+:10F8C0000101010101010101010101010101010128
+:10F8D0000101010101010101010101010101010118
+:10F8E0000101010101010101010101010101010108
+:10F8F00001010101010101010101010101010101F8
+:10F9000001010101010101010101010101010101E7
+:10F9100001010101010101010101010101010101D7
+:10F9200001010101010101010101010101010101C7
+:10F9300001010101010101010101010101010101B7
+:10F9400001010101010101010101010101010101A7
+:10F950000101010101010101010101010101010197
+:10F960000101010101010101010101010101010187
+:10F970000101010101010101010101010101010177
+:10F980000101010101010101010101010101010167
+:10F990000101010101010101010101010101010157
+:10F9A0000101010101010101010101010101010147
+:10F9B0000101010101010101010101010101010137
+:10F9C0000101010101010101010101010101010127
+:10F9D0000101010101010101010101010101010117
+:10F9E0000101010101010101010101010101010107
+:10F9F00001010101010101010101010101010101F7
+:10FA000001010101010101010101010101010101E6
+:10FA100001010101010101010101010101010101D6
+:10FA200001010101010101010101010101010101C6
+:10FA300001010101010101010101010101010101B6
+:10FA400001010101010101010101010101010101A6
+:10FA50000101010101010101010101010101010196
+:10FA60000101010101010101010101010101010186
+:10FA70000101010101010101010101010101010176
+:10FA80000101010101010101010101010101010166
+:10FA90000101010101010101010101010101010156
+:10FAA0000101010101010101010101010101010146
+:10FAB0000101010101010101010101010101010136
+:10FAC0000101010101010101010101010101010126
+:10FAD0000101010101010101010101010101010116
+:10FAE0000101010101010101010101010101010106
+:10FAF00001010101010101010101010101010101F6
+:10FB000001010101010101010101010101010101E5
+:10FB100001010101010101000000000000000000DE
+:10FB200000000000000000000000000000000000D5
+:10FB300000000000000000000000000000000000C5
+:10FB400000000000000000000000000000000000B5
+:10FB500000000000000000000000000000000000A5
+:10FB60000000000000000000000000000000000095
+:10FB70000000000000000000000000000000000085
+:10FB80000000000000000000000000000000000075
+:10FB90000000000000000000000000000000000065
+:10FBA0000000000000000000000000000000000055
+:10FBB0000000000000000000000000000000000045
+:10FBC0000000000000000000000000000000000035
+:10FBD0000000000000000000000000000000000025
+:10FBE0000000000000000000000000000000000015
+:10FBF0000000000000000000000000000000000005
+:10FC000000000000000000000000000000000000F4
+:10FC100000000000000000000000000000000000E4
+:10FC200000000000000000000000000000000000D4
+:10FC300000000000000000000000000000000000C4
+:10FC400000000000000000000000000000000000B4
+:10FC500000000000000000000000000000000000A4
+:10FC60000000000000000000000000000000000094
+:10FC70000000000000000000000000000000000084
+:10FC80000000000000000000000000000000000074
+:10FC90000000000000000000000000000000000064
+:10FCA0000000000000000000000000000000000054
+:10FCB0000000000000000000000000000000000044
+:10FCC0000000000000000000000000000000000034
+:10FCD0000000000000000000000000000000000024
+:10FCE0000000000000000000000000000000000014
+:10FCF0000000000000000000000000000000000004
+:10FD000000000000000000000000000000000000F3
+:10FD100000000000000000000000000000000000E3
+:10FD200000000000000000000000000000000000D3
+:10FD300000000000000000000000000000000000C3
+:10FD400000000000000000000000000000000000B3
+:10FD500000000000000000000000000000000000A3
+:10FD60000000000000000000000000000000000093
+:10FD70000000000000000000000000000000000083
+:10FD80000000000000000000000000000000000073
+:10FD90000000000000000000000000000000000063
+:10FDA0000000000000000000000000000000000053
+:10FDB0000000000000000000000000000000000043
+:10FDC0000000000000000000000000000000000033
+:10FDD0000000000000000000000000000000000023
+:10FDE0000000000000000000000000000000000013
+:10FDF0000000000000000000000000000000000003
+:10FE000000000000000000000000000000000000F2
+:10FE100000000000000000000000000000000000E2
+:10FE200000000000000000000000000000000000D2
+:10FE300000000000000000000000000000000000C2
+:10FE400000000000000000000000000000000000B2
+:10FE500000000000000000000000000000000000A2
+:10FE60000000000000000000000000000000000092
+:10FE70000000000000000000000000000000000082
+:10FE80000000000000000000000000000000000072
+:10FE90000000000000000000000000000000000062
+:10FEA0000000000000000000000000000000000052
+:10FEB0000000000000000000000000000000000042
+:10FEC0000000000000000000000000000000000032
+:10FED0000000000000000000000000000000000022
+:10FEE0000000000000000000000000000000000012
+:10FEF0000000000000000000000000000000000002
+:10FF000000000000000000000000000000000000F1
+:10FF100000000000000000020202020202020202CF
+:10FF200002020202020202020202020202020202B1
+:10FF300002020202020202020202020202020202A1
+:10FF40000202020202020202020202020202020291
+:10FF50000202020202020202020202020202020281
+:10FF60000202020202020202020202020202020271
+:10FF70000202020202020202020202020202020261
+:10FF80000202020202020202020202020202020251
+:10FF90000202020202020202020202020202020241
+:10FFA0000202020202020202020202020202020231
+:10FFB0000202020202020202020202020202020221
+:10FFC0000202020202020202020202020202020211
+:10FFD0000202020202020202020202020202020201
+:10FFE00002020202020202020202020202020202F1
+:10FFF00002020202020202020202020202020202E1
+:020000023000CC
+:1000000002020202020202020202020202020202D0
+:1000100002020202020202020202020202020202C0
+:1000200002020202020202020202020202020202B0
+:1000300002020202020202020202020202020202A0
+:100040000202020202020202020202020202020290
+:100050000202020202020202020202020202020280
+:100060000202020202020202020202020202020270
+:100070000202020202020202020202020202020260
+:100080000202020202020202020202020202020250
+:100090000202020202020202020202020202020240
+:1000A0000202020202020202020202020202020230
+:1000B0000202020202020202020202020202020220
+:1000C0000202020202020202020202020202020210
+:1000D0000202020202020202020202020202020200
+:1000E00002020202020202020202020202020202F0
+:1000F00002020202020202020202020202020202E0
+:1001000002020202020202020202020202020202CF
+:1001100002020202020202020202020202020202BF
+:1001200002020202020202020202020202020202AF
+:10013000020202020202020202020202020202029F
+:10014000020202020202020202020202020202028F
+:10015000020202020202020202020202020202027F
+:10016000020202020202020202020202020202026F
+:10017000020202020202020202020202020202025F
+:10018000020202020202020202020202020202024F
+:10019000020202020202020202020202020202023F
+:1001A000020202020202020202020202020202022F
+:1001B000020202020202020202020202020202021F
+:1001C000020202020202020202020202020202020F
+:1001D00002020202020202020202020202020202FF
+:1001E00002020202020202020202020202020202EF
+:1001F00002020202020202020202020202020202DF
+:1002000002020202020202020202020202020202CE
+:1002100002020202020202020202020202020202BE
+:1002200002020202020202020202020202020202AE
+:10023000020202020202020202020202020202029E
+:10024000020202020202020202020202020202028E
+:10025000020202020202020202020202020202027E
+:10026000020202020202020202020202020202026E
+:10027000020202020202020202020202020202025E
+:10028000020202020202020202020202020202024E
+:10029000020202020202020202020202020202023E
+:1002A000020202020202020202020202020202022E
+:1002B000020202020202020202020202020202021E
+:1002C000020202020202020202020202020202020E
+:1002D00002020202020202020202020202020202FE
+:1002E00002020202020202020202020202020202EE
+:1002F00002020202020202020202020202020202DE
+:1003000002020202020202020202020202020202CD
+:1003100002020202020202020202020202020202BD
+:1003200002020202020202020202020202020202AD
+:10033000020202020202020202020202020202029D
+:10034000020202020202020202020202020202028D
+:10035000020202020202020202020202020202027D
+:10036000020202020202020202020202020202026D
+:10037000020202020202020202020202020202025D
+:10038000020202020202020202020202020202024D
+:10039000020202020202020202020202020202023D
+:1003A000020202020202020202020202020202022D
+:1003B000020202020202020202020202020202021D
+:1003C000020202020202020202020202020202020D
+:1003D00002020202020202020202020202020202FD
+:1003E00002020202020202020202020202020202ED
+:1003F00002020202020202020202020202020202DD
+:1004000002020202020202020202020202020202CC
+:1004100002020202020202020202020202020202BC
+:1004200002020202020202020202020202020202AC
+:10043000020202020202020202020202020202029C
+:10044000020202020202020202020202020202028C
+:10045000020202020202020202020202020202027C
+:10046000020202020202020202020202020202026C
+:10047000020202020202020202020202020202025C
+:10048000020202020202020202020202020202024C
+:10049000020202020202020202020202020202023C
+:1004A000020202020202020202020202020202022C
+:1004B000020202020202020202020202020202021C
+:1004C000020202020202020202020202020202020C
+:1004D00002020202020202020202020202020202FC
+:1004E00002020202020202020202020202020202EC
+:1004F00002020202020202020202020202020202DC
+:1005000002020202020202020202020202020202CB
+:1005100002020202020202020202020202020202BB
+:1005200002020202020202020202020202020202AB
+:10053000020202020202020202020202020202029B
+:10054000020202020202020202020202020202028B
+:10055000020202020202020202020202020202027B
+:10056000020202020202020202020202020202026B
+:10057000020202020202020202020202020202025B
+:10058000020202020202020202020202020202024B
+:10059000020202020202020202020202020202023B
+:1005A000020202020202020202020202020202022B
+:1005B000020202020202020202020202020202021B
+:1005C000020202020202020202020202020202020B
+:1005D00002020202020202020202020202020202FB
+:1005E00002020202020202020202020202020202EB
+:1005F00002020202020202020202020202020202DB
+:1006000002020202020202020202020202020202CA
+:1006100002020202020202020202020202020202BA
+:1006200002020202020202020202020202020202AA
+:10063000020202020202020202020202020202029A
+:10064000020202020202020202020202020202028A
+:10065000020202020202020202020202020202027A
+:10066000020202020202020202020202020202026A
+:10067000020202020202020202020202020202025A
+:10068000020202020202020202020202020202024A
+:10069000020202020202020202020202020202023A
+:1006A000020202020202020202020202020202022A
+:1006B000020202020202020202020202020202021A
+:1006C000020202020202020202020202020202020A
+:1006D00002020202020202020202020202020202FA
+:1006E00002020202020202020202020202020202EA
+:1006F00002020202020202020202020202020202DA
+:1007000002020202020202020202020202020202C9
+:1007100002020202020202020202020202020202B9
+:1007200002020202020202020202020202020202A9
+:100730000202020202020202020202020202020299
+:100740000202020202020202020202020202020289
+:100750000202020202020202020202020202020279
+:100760000202020202020202020202020202020269
+:100770000202020202020202020202020202020259
+:100780000202020202020202020202020202020249
+:100790000202020202020202020202020202020239
+:1007A0000202020202020202020202020202020229
+:1007B0000202020202020202020202020202020219
+:1007C0000202020202020202020202020202020209
+:1007D00002020202020202020202020202020202F9
+:1007E00002020202020202020202020202020202E9
+:1007F00002020202020202020202020202020202D9
+:1008000002020202020202020202020202020202C8
+:1008100002020202020202020202020202020202B8
+:1008200002020202020202020202020202020202A8
+:100830000202020202020202020202020202020298
+:100840000202020202020202020202020202020288
+:100850000202020202020202020202020202020278
+:100860000202020202020202020202020202020268
+:100870000202020202020202020202020202020258
+:100880000202020202020202020202020202020248
+:100890000202020202020202020202020202020238
+:1008A0000202020202020202020202020202020228
+:1008B0000202020202020202020202020202020218
+:1008C0000202020202020202020202020202020208
+:1008D00002020202020202020202020202020202F8
+:1008E00002020202020202020202020202020202E8
+:1008F00002020202020202020202020202020202D8
+:1009000002020202020202020202020202020202C7
+:1009100002020202020202020202020202020202B7
+:1009200002020202020202020202020202020202A7
+:100930000202020202020202020202020202020297
+:100940000202020202020202020202020202020287
+:100950000202020202020202020202020202020277
+:100960000202020202020202020202020202020267
+:100970000202020202020202020202020202020257
+:100980000202020202020202020202020202020247
+:100990000202020202020202020202020202020237
+:1009A0000202020202020202020202020202020227
+:1009B0000202020202020202020202020202020217
+:1009C0000202020202020202020202020202020207
+:1009D00002020202020202020202020202020202F7
+:1009E00002020202020202020202020202020202E7
+:1009F00002020202020202020202020202020202D7
+:100A000002020202020202020202020202020202C6
+:100A100002020202020202020202020202020202B6
+:100A200002020202020202020202020202020202A6
+:100A30000202020202020202020202020202020296
+:100A40000202020202020202020202020202020286
+:100A50000202020202020202020202020202020276
+:100A60000202020202020202020202020202020266
+:100A70000202020202020202020202020202020256
+:100A80000202020202020202020202020202020246
+:100A90000202020202020202020202020202020236
+:100AA0000202020202020202020202020202020226
+:100AB0000202020202020202020202020202020216
+:100AC0000202020202020202020202020202020206
+:100AD00002020202020202020202020202020202F6
+:100AE00002020202020202020202020202020202E6
+:100AF00002020202020202020202020202020202D6
+:100B000002020202020202020202020202020202C5
+:100B100002020202020202020202020202020202B5
+:100B200002020202020202020202020202020202A5
+:100B30000202020202020202020202020202020295
+:100B40000202020202020202020202020202020285
+:100B50000202020202020202020202020202020275
+:100B60000202020202020202020202020202020265
+:100B70000202020202020202020202020202020255
+:100B80000202020202020202020202020202020245
+:100B90000202020202020202020202020202020235
+:100BA0000202020202020202020202020202020225
+:100BB0000202020202020202020202020202020215
+:100BC0000202020202020202020202020202020205
+:100BD00002020202020202020202020202020202F5
+:100BE00002020202020202020202020202020202E5
+:100BF00002020202020202020202020202020202D5
+:100C000002020202020202020202020202020202C4
+:100C100002020202020202020202020202020202B4
+:100C200002020202020202020202020202020202A4
+:100C30000202020202020202020202020202020294
+:100C40000202020202020202020202020202020284
+:100C50000202020202020202020202020202020274
+:100C60000202020202020202020202020202020264
+:100C70000202020202020202020202020202020254
+:100C80000202020202020202020202020202020244
+:100C90000202020202020202020202020202020234
+:100CA0000202020202020202020202020202020224
+:100CB0000202020202020202020202020202020214
+:100CC0000202020202020202020202020202020204
+:100CD00002020202020202020202020202020202F4
+:100CE00002020202020202020202020202020202E4
+:100CF00002020202020202020202020202020202D4
+:100D000002020202020202020202020202020202C3
+:100D100002020202020202020202020202020202B3
+:100D200002020202020202020202020202020202A3
+:100D30000202020202020202020202020202020293
+:100D40000202020202020202020202020202020283
+:100D50000202020202020202020202020202020273
+:100D60000202020202020202020202020202020263
+:100D70000202020202020202020202020202020253
+:100D80000202020202020202020202020202020243
+:100D90000202020202020202020202020202020233
+:100DA0000202020202020202020202020202020223
+:100DB0000202020202020202020202020202020213
+:100DC0000202020202020202020202020202020203
+:100DD00002020202020202020202020202020202F3
+:100DE00002020202020202020202020202020202E3
+:100DF00002020202020202020202020202020202D3
+:100E000002020202020202020202020202020202C2
+:100E100002020202020202020202020202020202B2
+:100E200002020202020202020202020202020202A2
+:100E30000202020202020202020202020202020292
+:100E40000202020202020202020202020202020282
+:100E50000202020202020202020202020202020272
+:100E60000202020202020202020202020202020262
+:100E70000202020202020202020202020202020252
+:100E80000202020202020202020202020202020242
+:100E90000202020202020202020202020202020232
+:100EA0000202020202020202020202020202020222
+:100EB0000202020202020202020202020202020212
+:100EC0000202020202020202020202020202020202
+:100ED00002020202020202020202020202020202F2
+:100EE00002020202020202020202020202020202E2
+:100EF00002020202020202020202020202020202D2
+:100F000002020202020202020202020202020202C1
+:100F100002020202020202020202020202020202B1
+:100F200002020202020202020202020202020202A1
+:100F30000202020202020202020202020202020291
+:100F40000202020202020202020202020202020281
+:100F50000202020202020202020202020202020271
+:100F60000202020202020202020202020202020261
+:100F70000202020202020202020202020202020251
+:100F80000202020202020202020202020202020241
+:100F90000202020202020202020202020202020231
+:100FA0000202020202020202020202020202020221
+:100FB0000202020202020202020202020202020211
+:100FC0000202020202020202020202020202020201
+:100FD00002020202020202020202020202020202F1
+:100FE00002020202020202020202020202020202E1
+:100FF00002020202020202020202020202020202D1
+:1010000002020202020202020202020202020202C0
+:1010100002020202020202020202020202020202B0
+:1010200002020202020202020202020202020202A0
+:101030000202020202020202020202020202020290
+:101040000202020202020202020202020202020280
+:101050000202020202020202020202020202020270
+:101060000202020202020202020202020202020260
+:101070000202020202020202020202020202020250
+:101080000202020202020202020202020202020240
+:101090000202020202020202020202020202020230
+:1010A0000202020202020202020202020202020220
+:1010B0000202020202020202020202020202020210
+:1010C0000202020202020202020202020202020200
+:1010D00002020202020202020202020202020202F0
+:1010E00002020202020202020202020202020202E0
+:1010F00002020202020202020202020202020202D0
+:1011000002020202020202020202020202020202BF
+:1011100002020202020202020202020202020202AF
+:10112000020202020202020202020202020202029F
+:10113000020202020202020202020202020202028F
+:10114000020202020202020202020202020202027F
+:10115000020202020202020202020202020202026F
+:10116000020202020202020202020202020202025F
+:10117000020202020202020202020202020202024F
+:10118000020202020202020202020202020202023F
+:10119000020202020202020202020202020202022F
+:1011A000020202020202020202020202020202021F
+:1011B000020202020202020202020202020202020F
+:1011C00002020202020202020202020202020202FF
+:1011D00002020202020202020202020202020202EF
+:1011E00002020202020202020202020202020202DF
+:1011F00002020202020202020202020202020202CF
+:1012000002020202020202020202020202020202BE
+:1012100002020202020202020202020202020202AE
+:10122000020202020202020202020202020202029E
+:10123000020202020202020202020202020202028E
+:10124000020202020202020202020202020202027E
+:10125000020202020202020202020202020202026E
+:10126000020202020202020202020202020202025E
+:10127000020202020202020202020202020202024E
+:10128000020202020202020202020202020202023E
+:10129000020202020202020202020202020202022E
+:1012A000020202020202020202020202020202021E
+:1012B000020202020202020202020202020202020E
+:1012C00002020202020202020202020202020202FE
+:1012D00002020202020202020202020202020202EE
+:1012E00002020202020202020202020202020202DE
+:1012F00002020202020202020202020202020202CE
+:1013000002020202020202020202020202020202BD
+:1013100002020202020202020202020202020202AD
+:10132000020202020202020202020202020202029D
+:10133000020202020202020202020202020202028D
+:10134000020202020202020202020202020202027D
+:10135000020202020202020202020202020202026D
+:10136000020202020202020202020202020202025D
+:10137000020202020202020202020202020202024D
+:10138000020202020202020202020202020202023D
+:10139000020202020202020202020202020202022D
+:1013A000020202020202020202020202020202021D
+:1013B000020202020202020202020202020202020D
+:1013C00002020202020202020202020202020202FD
+:1013D00002020202020202020202020202020202ED
+:1013E00002020202020202020202020202020202DD
+:1013F00002020202020202020202020202020202CD
+:1014000002020202020202020202020202020202BC
+:1014100002020202020202000000000000000000BE
+:1014200000000000000000000000000000000000BC
+:1014300000000000000000000000000000000000AC
+:10144000000000000000000000000000000000009C
+:10145000000000000000000000000000000000008C
+:10146000000000000000000000000000000000007C
+:10147000000000000000000000000000000000006C
+:10148000000000000000000000000000000000005C
+:10149000000000000000000000000000000000004C
+:1014A000000000000000000000000000000000003C
+:1014B000000000000000000000000000000000002C
+:1014C000000000000000000000000000000000001C
+:1014D000000000000000000000000000000000000C
+:1014E00000000000000000000000000000000000FC
+:1014F00000000000000000000000000000000000EC
+:1015000000000000000000000000000000000000DB
+:1015100000000000000000000000000000000000CB
+:1015200000000000000000000000000000000000BB
+:1015300000000000000000000000000000000000AB
+:10154000000000000000000000000000000000009B
+:10155000000000000000000000000000000000008B
+:10156000000000000000000000000000000000007B
+:10157000000000000000000000000000000000006B
+:10158000000000000000000000000000000000005B
+:10159000000000000000000000000000000000004B
+:1015A000000000000000000000000000000000003B
+:1015B000000000000000000000000000000000002B
+:1015C000000000000000000000000000000000001B
+:1015D000000000000000000000000000000000000B
+:1015E00000000000000000000000000000000000FB
+:1015F00000000000000000000000000000000000EB
+:1016000000000000000000000000000000000000DA
+:1016100000000000000000000000000000000000CA
+:1016200000000000000000000000000000000000BA
+:1016300000000000000000000000000000000000AA
+:10164000000000000000000000000000000000009A
+:10165000000000000000000000000000000000008A
+:10166000000000000000000000000000000000007A
+:10167000000000000000000000000000000000006A
+:10168000000000000000000000000000000000005A
+:10169000000000000000000000000000000000004A
+:1016A000000000000000000000000000000000003A
+:1016B000000000000000000000000000000000002A
+:1016C000000000000000000000000000000000001A
+:1016D000000000000000000000000000000000000A
+:1016E00000000000000000000000000000000000FA
+:1016F00000000000000000000000000000000000EA
+:1017000000000000000000000000000000000000D9
+:1017100000000000000000000000000000000000C9
+:1017200000000000000000000000000000000000B9
+:1017300000000000000000000000000000000000A9
+:101740000000000000000000000000000000000099
+:101750000000000000000000000000000000000089
+:101760000000000000000000000000000000000079
+:101770000000000000000000000000000000000069
+:101780000000000000000000000000000000000059
+:101790000000000000000000000000000000000049
+:1017A0000000000000000000000000000000000039
+:1017B0000000000000000000000000000000000029
+:1017C0000000000000000000000000000000000019
+:1017D0000000000000000000000000000000000009
+:1017E00000000000000000000000000000000000F9
+:1017F00000000000000000000000000000000000E9
+:1018000000000000000000000000000000000000D8
+:1018100000000000000000000000000000000000C8
+:1018200000000000000000000000000000000000B8
+:1018300000000000000000000000000000000000A8
+:101840000000000000000000000000000000000098
+:101850000000000000000000000000000000000088
+:101860000000000000000000000000000000000078
+:101870000000000000000000000000000000000068
+:101880000000000000000000000000000000000058
+:101890000000000000000000000000000000000048
+:1018A0000000000000000000000000000000000038
+:1018B0000000000000000000000000000000000028
+:1018C0000000000000000000000000000000000018
+:1018D0000000000000000000000000000000000008
+:1018E00000000000000000000000000000000000F8
+:1018F00000000000000000000000000000000000E8
+:1019000000000000000000000000000000000000D7
+:1019100000000000000000000000000000000000C7
+:1019200000000000000000000000000000000000B7
+:1019300000000000000000000000000000000000A7
+:101940000000000000000000000000000000000097
+:101950000000000000000000000000000000000087
+:101960000000000000000000000000000000000077
+:101970000000000000000000000000000000000067
+:101980000000000000000000000000000000000057
+:101990000000000000000000000000000000000047
+:1019A0000000000000000000000000000000000037
+:1019B0000000000000000000000000000000000027
+:1019C0000000000000000000000000000000000017
+:1019D0000000000000000000000000000000000007
+:1019E00000000000000000000000000000000000F7
+:1019F00000000000000000000000000000000000E7
+:101A000000000000000000000000000000000000D6
+:101A100000000000000000000000000000000000C6
+:101A200000000000000000000000000000000000B6
+:101A300000000000000000000000000000000000A6
+:101A40000000000000000000000000000000000096
+:101A50000000000000000000000000000000000086
+:101A60000000000000000000000000000000000076
+:101A70000000000000000000000000000000000066
+:101A80000000000000000000000000000000000056
+:101A90000000000000000000000000000000000046
+:101AA0000000000000000000000000000000000036
+:101AB0000000000000000000000000000000000026
+:101AC0000000000000000000000000000000000016
+:101AD0000000000000000000000000000000000006
+:101AE00000000000000000000000000000000000F6
+:101AF00000000000000000000000000000000000E6
+:101B000000000000000000000000000000000000D5
+:101B100000000000000000000000000000000000C5
+:101B200000000000000000000000000000000000B5
+:101B300000000000000000000000000000000000A5
+:101B40000000000000000000000000000000000095
+:101B50000000000000000000000000000000000085
+:101B60000000000000000000000000000000000075
+:101B70000000000000000000000000000000000065
+:101B80000000000000000000000000000000000055
+:101B90000000000000000000000000000000000045
+:101BA0000000000000000000000000000000000035
+:101BB0000000000000000000000000000000000025
+:101BC0000000000000000000000000000000000015
+:101BD0000000000000000000000000000000000005
+:101BE00000000000000000000000000000000000F5
+:101BF00000000000000000000000000000000000E5
+:101C000000000000000000000000000000000000D4
+:101C1000000000000000006F000000000000000154
+:101C200001010101010101010101010101010101A4
+:101C30000101010101010101010101010101010194
+:101C40000101010101010101010101010101010184
+:101C50000101010101010101010101010101010174
+:101C60000101010101010101010101010101010164
+:101C70000101010101010101010101010101010154
+:101C80000101010101010101010101010101010144
+:101C90000101010101010101010101010101010134
+:101CA0000101010101010101010101010101010124
+:101CB0000101010101010101010101010101010114
+:101CC0000101010101010101010101010101010104
+:101CD00001010101010101010101010101010101F4
+:101CE00001010101010101010101010101010101E4
+:101CF00001010101010101010101010101010101D4
+:101D000001010101010101010101010101010101C3
+:101D100001010101010101010101010101010101B3
+:101D200001010101010101010101010101010101A3
+:101D30000101010101010101010101010101010193
+:101D40000101010101010101010101010101010183
+:101D50000101010101010101010101010101010173
+:101D60000101010101010101010101010101010163
+:101D70000101010101010101010101010101010153
+:101D80000101010101010101010101010101010143
+:101D90000101010101010101010101010101010133
+:101DA0000101010101010101010101010101010123
+:101DB0000101010101010101010101010101010113
+:101DC0000101010101010101010101010101010103
+:101DD00001010101010101010101010101010101F3
+:101DE00001010101010101010101010101010101E3
+:101DF00001010101010101010101010101010101D3
+:101E000001010101010101010101010101010101C2
+:101E100001010101010101010101010101010101B2
+:101E200001010101010101010101010101010101A2
+:101E30000101010101010101010101010101010192
+:101E40000101010101010101010101010101010182
+:101E50000101010101010101010101010101010172
+:101E60000101010101010101010101010101010162
+:101E70000101010101010101010101010101010152
+:101E80000101010101010101010101010101010142
+:101E90000101010101010101010101010101010132
+:101EA0000101010101010101010101010101010122
+:101EB0000101010101010101010101010101010112
+:101EC0000101010101010101010101010101010102
+:101ED00001010101010101010101010101010101F2
+:101EE00001010101010101010101010101010101E2
+:101EF00001010101010101010101010101010101D2
+:101F000001010101010101010101010101010101C1
+:101F100001010101010101010101010101010101B1
+:101F200001010101010101010101010101010101A1
+:101F30000101010101010101010101010101010191
+:101F40000101010101010101010101010101010181
+:101F50000101010101010101010101010101010171
+:101F60000101010101010101010101010101010161
+:101F70000101010101010101010101010101010151
+:101F80000101010101010101010101010101010141
+:101F90000101010101010101010101010101010131
+:101FA0000101010101010101010101010101010121
+:101FB0000101010101010101010101010101010111
+:101FC0000101010101010101010101010101010101
+:101FD00001010101010101010101010101010101F1
+:101FE00001010101010101010101010101010101E1
+:101FF00001010101010101010101010101010101D1
+:1020000001010101010101010101010101010101C0
+:1020100001010101010101010101010101010101B0
+:1020200001010101010101010101010101010101A0
+:102030000101010101010101010101010101010190
+:102040000101010101010101010101010101010180
+:102050000101010101010101010101010101010170
+:102060000101010101010101010101010101010160
+:102070000101010101010101010101010101010150
+:102080000101010101010101010101010101010140
+:102090000101010101010101010101010101010130
+:1020A0000101010101010101010101010101010120
+:1020B0000101010101010101010101010101010110
+:1020C0000101010101010101010101010101010100
+:1020D00001010101010101010101010101010101F0
+:1020E00001010101010101010101010101010101E0
+:1020F00001010101010101010101010101010101D0
+:1021000001010101010101010101010101010101BF
+:1021100001010101010101010101010101010101AF
+:10212000010101010101010101010101010101019F
+:10213000010101010101010101010101010101018F
+:10214000010101010101010101010101010101017F
+:10215000010101010101010101010101010101016F
+:10216000010101010101010101010101010101015F
+:10217000010101010101010101010101010101014F
+:10218000010101010101010101010101010101013F
+:10219000010101010101010101010101010101012F
+:1021A000010101010101010101010101010101011F
+:1021B000010101010101010101010101010101010F
+:1021C00001010101010101010101010101010101FF
+:1021D00001010101010101010101010101010101EF
+:1021E00001010101010101010101010101010101DF
+:1021F00001010101010101010101010101010101CF
+:1022000001010101010101010101010101010101BE
+:1022100001010101010101010101010101010101AE
+:10222000010101010101010101010101010101019E
+:10223000010101010101010101010101010101018E
+:10224000010101010101010101010101010101017E
+:10225000010101010101010101010101010101016E
+:10226000010101010101010101010101010101015E
+:10227000010101010101010101010101010101014E
+:10228000010101010101010101010101010101013E
+:10229000010101010101010101010101010101012E
+:1022A000010101010101010101010101010101011E
+:1022B000010101010101010101010101010101010E
+:1022C00001010101010101010101010101010101FE
+:1022D00001010101010101010101010101010101EE
+:1022E00001010101010101010101010101010101DE
+:1022F00001010101010101010101010101010101CE
+:1023000001010101010101010101010101010101BD
+:1023100001010101010101010101010101010101AD
+:10232000010101010101010101010101010101019D
+:10233000010101010101010101010101010101018D
+:10234000010101010101010101010101010101017D
+:10235000010101010101010101010101010101016D
+:10236000010101010101010101010101010101015D
+:10237000010101010101010101010101010101014D
+:10238000010101010101010101010101010101013D
+:10239000010101010101010101010101010101012D
+:1023A000010101010101010101010101010101011D
+:1023B000010101010101010101010101010101010D
+:1023C00001010101010101010101010101010101FD
+:1023D00001010101010101010101010101010101ED
+:1023E00001010101010101010101010101010101DD
+:1023F00001010101010101010101010101010101CD
+:1024000001010101010101010101010101010101BC
+:1024100001010101010101010101010101010101AC
+:10242000010101010101010101010101010101019C
+:10243000010101010101010101010101010101018C
+:10244000010101010101010101010101010101017C
+:10245000010101010101010101010101010101016C
+:10246000010101010101010101010101010101015C
+:10247000010101010101010101010101010101014C
+:10248000010101010101010101010101010101013C
+:10249000010101010101010101010101010101012C
+:1024A000010101010101010101010101010101011C
+:1024B000010101010101010101010101010101010C
+:1024C00001010101010101010101010101010101FC
+:1024D00001010101010101010101010101010101EC
+:1024E00001010101010101010101010101010101DC
+:1024F00001010101010101010101010101010101CC
+:1025000001010101010101010101010101010101BB
+:1025100001010101010101010101010101010101AB
+:10252000010101010101010101010101010101019B
+:10253000010101010101010101010101010101018B
+:10254000010101010101010101010101010101017B
+:10255000010101010101010101010101010101016B
+:10256000010101010101010101010101010101015B
+:10257000010101010101010101010101010101014B
+:10258000010101010101010101010101010101013B
+:10259000010101010101010101010101010101012B
+:1025A000010101010101010101010101010101011B
+:1025B000010101010101010101010101010101010B
+:1025C00001010101010101010101010101010101FB
+:1025D00001010101010101010101010101010101EB
+:1025E00001010101010101010101010101010101DB
+:1025F00001010101010101010101010101010101CB
+:1026000001010101010101010101010101010101BA
+:1026100001010101010101010101010101010101AA
+:10262000010101010101010101010101010101019A
+:10263000010101010101010101010101010101018A
+:10264000010101010101010101010101010101017A
+:10265000010101010101010101010101010101016A
+:10266000010101010101010101010101010101015A
+:10267000010101010101010101010101010101014A
+:10268000010101010101010101010101010101013A
+:10269000010101010101010101010101010101012A
+:1026A000010101010101010101010101010101011A
+:1026B000010101010101010101010101010101010A
+:1026C00001010101010101010101010101010101FA
+:1026D00001010101010101010101010101010101EA
+:1026E00001010101010101010101010101010101DA
+:1026F00001010101010101010101010101010101CA
+:1027000001010101010101010101010101010101B9
+:1027100001010101010101010101010101010101A9
+:102720000101010101010101010101010101010199
+:102730000101010101010101010101010101010189
+:102740000101010101010101010101010101010179
+:102750000101010101010101010101010101010169
+:102760000101010101010101010101010101010159
+:102770000101010101010101010101010101010149
+:102780000101010101010101010101010101010139
+:102790000101010101010101010101010101010129
+:1027A0000101010101010101010101010101010119
+:1027B0000101010101010101010101010101010109
+:1027C00001010101010101010101010101010101F9
+:1027D00001010101010101010101010101010101E9
+:1027E00001010101010101010101010101010101D9
+:1027F00001010101010101010101010101010101C9
+:1028000001010101010101010101010101010101B8
+:1028100001010101010101010101010101010101A8
+:102820000101010101010101010101010101010198
+:102830000101010101010101010101010101010188
+:102840000101010101010101010101010101010178
+:102850000101010101010101010101010101010168
+:102860000101010101010101010101010101010158
+:102870000101010101010101010101010101010148
+:102880000101010101010101010101010101010138
+:102890000101010101010101010101010101010128
+:1028A0000101010101010101010101010101010118
+:1028B0000101010101010101010101010101010108
+:1028C00001010101010101010101010101010101F8
+:1028D00001010101010101010101010101010101E8
+:1028E00001010101010101010101010101010101D8
+:1028F00001010101010101010101010101010101C8
+:1029000001010101010101010101010101010101B7
+:1029100001010101010101010101010101010101A7
+:102920000101010101010101010101010101010197
+:102930000101010101010101010101010101010187
+:102940000101010101010101010101010101010177
+:102950000101010101010101010101010101010167
+:102960000101010101010101010101010101010157
+:102970000101010101010101010101010101010147
+:102980000101010101010101010101010101010137
+:102990000101010101010101010101010101010127
+:1029A0000101010101010101010101010101010117
+:1029B0000101010101010101010101010101010107
+:1029C00001010101010101010101010101010101F7
+:1029D00001010101010101010101010101010101E7
+:1029E00001010101010101010101010101010101D7
+:1029F00001010101010101010101010101010101C7
+:102A000001010101010101010101010101010101B6
+:102A100001010101010101010101010101010101A6
+:102A20000101010101010101010101010101010196
+:102A30000101010101010101010101010101010186
+:102A40000101010101010101010101010101010176
+:102A50000101010101010101010101010101010166
+:102A60000101010101010101010101010101010156
+:102A70000101010101010101010101010101010146
+:102A80000101010101010101010101010101010136
+:102A90000101010101010101010101010101010126
+:102AA0000101010101010101010101010101010116
+:102AB0000101010101010101010101010101010106
+:102AC00001010101010101010101010101010101F6
+:102AD00001010101010101010101010101010101E6
+:102AE00001010101010101010101010101010101D6
+:102AF00001010101010101010101010101010101C6
+:102B000001010101010101010101010101010101B5
+:102B100001010101010101010101010101010101A5
+:102B20000101010101010101010101010101010195
+:102B30000101010101010101010101010101010185
+:102B40000101010101010101010101010101010175
+:102B50000101010101010101010101010101010165
+:102B60000101010101010101010101010101010155
+:102B70000101010101010101010101010101010145
+:102B80000101010101010101010101010101010135
+:102B90000101010101010101010101010101010125
+:102BA0000101010101010101010101010101010115
+:102BB0000101010101010101010101010101010105
+:102BC00001010101010101010101010101010101F5
+:102BD00001010101010101010101010101010101E5
+:102BE00001010101010101010101010101010101D5
+:102BF00001010101010101010101010101010101C5
+:102C000001010101010101010101010101010101B4
+:102C100001010101010101010101010101010101A4
+:102C20000101010101010101010101010101010194
+:102C30000101010101010101010101010101010184
+:102C40000101010101010101010101010101010174
+:102C50000101010101010101010101010101010164
+:102C60000101010101010101010101010101010154
+:102C70000101010101010101010101010101010144
+:102C80000101010101010101010101010101010134
+:102C90000101010101010101010101010101010124
+:102CA0000101010101010101010101010101010114
+:102CB0000101010101010101010101010101010104
+:102CC00001010101010101010101010101010101F4
+:102CD00001010101010101010101010101010101E4
+:102CE00001010101010101010101010101010101D4
+:102CF00001010101010101010101010101010101C4
+:102D000001010101010101010101010101010101B3
+:102D100001010101010101010101010101010101A3
+:102D20000101010101010101010101010101010193
+:102D30000101010101010101010101010101010183
+:102D40000101010101010101010101010101010173
+:102D50000101010101010101010101010101010163
+:102D60000101010101010101010101010101010153
+:102D70000101010101010101010101010101010143
+:102D80000101010101010101010101010101010133
+:102D90000101010101010101010101010101010123
+:102DA0000101010101010101010101010101010113
+:102DB0000101010101010101010101010101010103
+:102DC00001010101010101010101010101010101F3
+:102DD00001010101010101010101010101010101E3
+:102DE00001010101010101010101010101010101D3
+:102DF00001010101010101010101010101010101C3
+:102E000001010101010101010101010101010101B2
+:102E100001010101010101010101010101010101A2
+:102E20000101010101010101010101010101010192
+:102E30000101010101010101010101010101010182
+:102E40000101010101010101010101010101010172
+:102E50000101010101010101010101010101010162
+:102E60000101010101010101010101010101010152
+:102E70000101010101010101010101010101010142
+:102E80000101010101010101010101010101010132
+:102E90000101010101010101010101010101010122
+:102EA0000101010101010101010101010101010112
+:102EB0000101010101010101010101010101010102
+:102EC00001010101010101010101010101010101F2
+:102ED00001010101010101010101010101010101E2
+:102EE00001010101010101010101010101010101D2
+:102EF00001010101010101010101010101010101C2
+:102F000001010101010101010101010101010101B1
+:102F100001010101010101010101010101010101A1
+:102F20000101010101010101010101010101010191
+:102F30000101010101010101010101010101010181
+:102F40000101010101010101010101010101010171
+:102F50000101010101010101010101010101010161
+:102F60000101010101010101010101010101010151
+:102F70000101010101010101010101010101010141
+:102F80000101010101010101010101010101010131
+:102F90000101010101010101010101010101010121
+:102FA0000101010101010101010101010101010111
+:102FB0000101010101010101010101010101010101
+:102FC00001010101010101010101010101010101F1
+:102FD00001010101010101010101010101010101E1
+:102FE00001010101010101010101010101010101D1
+:102FF00001010101010101010101010101010101C1
+:1030000001010101010101010101010101010101B0
+:1030100001010101010101010101010101010101A0
+:103020000101010101010101010101010101010190
+:103030000101010101010101010101010101010180
+:103040000101010101010101010101010101010170
+:103050000101010101010101010101010101010160
+:103060000101010101010101010101010101010150
+:103070000101010101010101010101010101010140
+:103080000101010101010101010101010101010130
+:103090000101010101010101010101010101010120
+:1030A0000101010101010101010101010101010110
+:1030B0000101010101010101010101010101010100
+:1030C00001010101010101010101010101010101F0
+:1030D00001010101010101010101010101010101E0
+:1030E00001010101010101010101010101010101D0
+:1030F00001010101010101010101010101010101C0
+:1031000001010101010101010101010101010101AF
+:1031100001010101010101010101010101010100A0
+:10312000000000000000000000000000000000009F
+:10313000000000000000000000000000000000008F
+:10314000000000000000000000000000000000007F
+:10315000000000000000000000000000000000006F
+:10316000000000000000000000000000000000005F
+:10317000000000000000000000000000000000004F
+:10318000000000000000000000000000000000003F
+:10319000000000000000000000000000000000002F
+:1031A000000000000000000000000000000000001F
+:1031B000000000000000000000000000000000000F
+:1031C00000000000000000000000000000000000FF
+:1031D00000000000000000000000000000000000EF
+:1031E00000000000000000000000000000000000DF
+:1031F00000000000000000000000000000000000CF
+:1032000000000000000000000000000000000000BE
+:1032100000000000000000000000000000000000AE
+:10322000000000000000000000000000000000009E
+:10323000000000000000000000000000000000008E
+:10324000000000000000000000000000000000007E
+:10325000000000000000000000000000000000006E
+:10326000000000000000000000000000000000005E
+:10327000000000000000000000000000000000004E
+:10328000000000000000000000000000000000003E
+:10329000000000000000000000000000000000002E
+:1032A000000000000000000000000000000000001E
+:1032B000000000000000000000000000000000000E
+:1032C00000000000000000000000000000000000FE
+:1032D00000000000000000000000000000000000EE
+:1032E00000000000000000000000000000000000DE
+:1032F00000000000000000000000000000000000CE
+:1033000000000000000000000000000000000000BD
+:1033100000000000000000000000000000000000AD
+:10332000000000000000000000000000000000009D
+:10333000000000000000000000000000000000008D
+:10334000000000000000000000000000000000007D
+:10335000000000000000000000000000000000006D
+:10336000000000000000000000000000000000005D
+:10337000000000000000000000000000000000004D
+:10338000000000000000000000000000000000003D
+:10339000000000000000000000000000000000002D
+:1033A000000000000000000000000000000000001D
+:1033B000000000000000000000000000000000000D
+:1033C00000000000000000000000000000000000FD
+:1033D00000000000000000000000000000000000ED
+:1033E00000000000000000000000000000000000DD
+:1033F00000000000000000000000000000000000CD
+:1034000000000000000000000000000000000000BC
+:1034100000000000000000000000000000000000AC
+:10342000000000000000000000000000000000009C
+:10343000000000000000000000000000000000008C
+:10344000000000000000000000000000000000007C
+:10345000000000000000000000000000000000006C
+:10346000000000000000000000000000000000005C
+:10347000000000000000000000000000000000004C
+:10348000000000000000000000000000000000003C
+:10349000000000000000000000000000000000002C
+:1034A000000000000000000000000000000000001C
+:1034B000000000000000000000000000000000000C
+:1034C00000000000000000000000000000000000FC
+:1034D00000000000000000000000000000000000EC
+:1034E00000000000000000000000000000000000DC
+:1034F00000000000000000000000000000000000CC
+:1035000000000000000000000000000000000000BB
+:1035100000000000000000000000000000000002A9
+:10352000020202020202020202020202020202027B
+:10353000020202020202020202020202020202026B
+:10354000020202020202020202020202020202025B
+:10355000020202020202020202020202020202024B
+:10356000020202020202020202020202020202023B
+:10357000020202020202020202020202020202022B
+:10358000020202020202020202020202020202021B
+:10359000020202020202020202020202020202020B
+:1035A00002020202020202020202020202020202FB
+:1035B00002020202020202020202020202020202EB
+:1035C00002020202020202020202020202020202DB
+:1035D00002020202020202020202020202020202CB
+:1035E00002020202020202020202020202020202BB
+:1035F00002020202020202020202020202020202AB
+:10360000020202020202020202020202020202029A
+:10361000020202020202020202020202020202028A
+:10362000020202020202020202020202020202027A
+:10363000020202020202020202020202020202026A
+:10364000020202020202020202020202020202025A
+:10365000020202020202020202020202020202024A
+:10366000020202020202020202020202020202023A
+:10367000020202020202020202020202020202022A
+:10368000020202020202020202020202020202021A
+:10369000020202020202020202020202020202020A
+:1036A00002020202020202020202020202020202FA
+:1036B00002020202020202020202020202020202EA
+:1036C00002020202020202020202020202020202DA
+:1036D00002020202020202020202020202020202CA
+:1036E00002020202020202020202020202020202BA
+:1036F00002020202020202020202020202020202AA
+:103700000202020202020202020202020202020299
+:103710000202020202020202020202020202020289
+:103720000202020202020202020202020202020279
+:103730000202020202020202020202020202020269
+:103740000202020202020202020202020202020259
+:103750000202020202020202020202020202020249
+:103760000202020202020202020202020202020239
+:103770000202020202020202020202020202020229
+:103780000202020202020202020202020202020219
+:103790000202020202020202020202020202020209
+:1037A00002020202020202020202020202020202F9
+:1037B00002020202020202020202020202020202E9
+:1037C00002020202020202020202020202020202D9
+:1037D00002020202020202020202020202020202C9
+:1037E00002020202020202020202020202020202B9
+:1037F00002020202020202020202020202020202A9
+:103800000202020202020202020202020202020298
+:103810000202020202020202020202020202020288
+:103820000202020202020202020202020202020278
+:103830000202020202020202020202020202020268
+:103840000202020202020202020202020202020258
+:103850000202020202020202020202020202020248
+:103860000202020202020202020202020202020238
+:103870000202020202020202020202020202020228
+:103880000202020202020202020202020202020218
+:103890000202020202020202020202020202020208
+:1038A00002020202020202020202020202020202F8
+:1038B00002020202020202020202020202020202E8
+:1038C00002020202020202020202020202020202D8
+:1038D00002020202020202020202020202020202C8
+:1038E00002020202020202020202020202020202B8
+:1038F00002020202020202020202020202020202A8
+:103900000202020202020202020202020202020297
+:103910000202020202020202020202020202020287
+:103920000202020202020202020202020202020277
+:103930000202020202020202020202020202020267
+:103940000202020202020202020202020202020257
+:103950000202020202020202020202020202020247
+:103960000202020202020202020202020202020237
+:103970000202020202020202020202020202020227
+:103980000202020202020202020202020202020217
+:103990000202020202020202020202020202020207
+:1039A00002020202020202020202020202020202F7
+:1039B00002020202020202020202020202020202E7
+:1039C00002020202020202020202020202020202D7
+:1039D00002020202020202020202020202020202C7
+:1039E00002020202020202020202020202020202B7
+:1039F00002020202020202020202020202020202A7
+:103A00000202020202020202020202020202020296
+:103A10000202020202020202020202020202020286
+:103A20000202020202020202020202020202020276
+:103A30000202020202020202020202020202020266
+:103A40000202020202020202020202020202020256
+:103A50000202020202020202020202020202020246
+:103A60000202020202020202020202020202020236
+:103A70000202020202020202020202020202020226
+:103A80000202020202020202020202020202020216
+:103A90000202020202020202020202020202020206
+:103AA00002020202020202020202020202020202F6
+:103AB00002020202020202020202020202020202E6
+:103AC00002020202020202020202020202020202D6
+:103AD00002020202020202020202020202020202C6
+:103AE00002020202020202020202020202020202B6
+:103AF00002020202020202020202020202020202A6
+:103B00000202020202020202020202020202020295
+:103B10000202020202020202020202020202020285
+:103B20000202020202020202020202020202020275
+:103B30000202020202020202020202020202020265
+:103B40000202020202020202020202020202020255
+:103B50000202020202020202020202020202020245
+:103B60000202020202020202020202020202020235
+:103B70000202020202020202020202020202020225
+:103B80000202020202020202020202020202020215
+:103B90000202020202020202020202020202020205
+:103BA00002020202020202020202020202020202F5
+:103BB00002020202020202020202020202020202E5
+:103BC00002020202020202020202020202020202D5
+:103BD00002020202020202020202020202020202C5
+:103BE00002020202020202020202020202020202B5
+:103BF00002020202020202020202020202020202A5
+:103C00000202020202020202020202020202020294
+:103C10000202020202020202020202020202020284
+:103C20000202020202020202020202020202020274
+:103C30000202020202020202020202020202020264
+:103C40000202020202020202020202020202020254
+:103C50000202020202020202020202020202020244
+:103C60000202020202020202020202020202020234
+:103C70000202020202020202020202020202020224
+:103C80000202020202020202020202020202020214
+:103C90000202020202020202020202020202020204
+:103CA00002020202020202020202020202020202F4
+:103CB00002020202020202020202020202020202E4
+:103CC00002020202020202020202020202020202D4
+:103CD00002020202020202020202020202020202C4
+:103CE00002020202020202020202020202020202B4
+:103CF00002020202020202020202020202020202A4
+:103D00000202020202020202020202020202020293
+:103D10000202020202020202020202020202020283
+:103D20000202020202020202020202020202020273
+:103D30000202020202020202020202020202020263
+:103D40000202020202020202020202020202020253
+:103D50000202020202020202020202020202020243
+:103D60000202020202020202020202020202020233
+:103D70000202020202020202020202020202020223
+:103D80000202020202020202020202020202020213
+:103D90000202020202020202020202020202020203
+:103DA00002020202020202020202020202020202F3
+:103DB00002020202020202020202020202020202E3
+:103DC00002020202020202020202020202020202D3
+:103DD00002020202020202020202020202020202C3
+:103DE00002020202020202020202020202020202B3
+:103DF00002020202020202020202020202020202A3
+:103E00000202020202020202020202020202020292
+:103E10000202020202020202020202020202020282
+:103E20000202020202020202020202020202020272
+:103E30000202020202020202020202020202020262
+:103E40000202020202020202020202020202020252
+:103E50000202020202020202020202020202020242
+:103E60000202020202020202020202020202020232
+:103E70000202020202020202020202020202020222
+:103E80000202020202020202020202020202020212
+:103E90000202020202020202020202020202020202
+:103EA00002020202020202020202020202020202F2
+:103EB00002020202020202020202020202020202E2
+:103EC00002020202020202020202020202020202D2
+:103ED00002020202020202020202020202020202C2
+:103EE00002020202020202020202020202020202B2
+:103EF00002020202020202020202020202020202A2
+:103F00000202020202020202020202020202020291
+:103F10000202020202020202020202020202020281
+:103F20000202020202020202020202020202020271
+:103F30000202020202020202020202020202020261
+:103F40000202020202020202020202020202020251
+:103F50000202020202020202020202020202020241
+:103F60000202020202020202020202020202020231
+:103F70000202020202020202020202020202020221
+:103F80000202020202020202020202020202020211
+:103F90000202020202020202020202020202020201
+:103FA00002020202020202020202020202020202F1
+:103FB00002020202020202020202020202020202E1
+:103FC00002020202020202020202020202020202D1
+:103FD00002020202020202020202020202020202C1
+:103FE00002020202020202020202020202020202B1
+:103FF00002020202020202020202020202020202A1
+:104000000202020202020202020202020202020290
+:104010000202020202020202020202020202020280
+:104020000202020202020202020202020202020270
+:104030000202020202020202020202020202020260
+:104040000202020202020202020202020202020250
+:104050000202020202020202020202020202020240
+:104060000202020202020202020202020202020230
+:104070000202020202020202020202020202020220
+:104080000202020202020202020202020202020210
+:104090000202020202020202020202020202020200
+:1040A00002020202020202020202020202020202F0
+:1040B00002020202020202020202020202020202E0
+:1040C00002020202020202020202020202020202D0
+:1040D00002020202020202020202020202020202C0
+:1040E00002020202020202020202020202020202B0
+:1040F00002020202020202020202020202020202A0
+:10410000020202020202020202020202020202028F
+:10411000020202020202020202020202020202027F
+:10412000020202020202020202020202020202026F
+:10413000020202020202020202020202020202025F
+:10414000020202020202020202020202020202024F
+:10415000020202020202020202020202020202023F
+:10416000020202020202020202020202020202022F
+:10417000020202020202020202020202020202021F
+:10418000020202020202020202020202020202020F
+:1041900002020202020202020202020202020202FF
+:1041A00002020202020202020202020202020202EF
+:1041B00002020202020202020202020202020202DF
+:1041C00002020202020202020202020202020202CF
+:1041D00002020202020202020202020202020202BF
+:1041E00002020202020202020202020202020202AF
+:1041F000020202020202020202020202020202029F
+:10420000020202020202020202020202020202028E
+:10421000020202020202020202020202020202027E
+:10422000020202020202020202020202020202026E
+:10423000020202020202020202020202020202025E
+:10424000020202020202020202020202020202024E
+:10425000020202020202020202020202020202023E
+:10426000020202020202020202020202020202022E
+:10427000020202020202020202020202020202021E
+:10428000020202020202020202020202020202020E
+:1042900002020202020202020202020202020202FE
+:1042A00002020202020202020202020202020202EE
+:1042B00002020202020202020202020202020202DE
+:1042C00002020202020202020202020202020202CE
+:1042D00002020202020202020202020202020202BE
+:1042E00002020202020202020202020202020202AE
+:1042F000020202020202020202020202020202029E
+:10430000020202020202020202020202020202028D
+:10431000020202020202020202020202020202027D
+:10432000020202020202020202020202020202026D
+:10433000020202020202020202020202020202025D
+:10434000020202020202020202020202020202024D
+:10435000020202020202020202020202020202023D
+:10436000020202020202020202020202020202022D
+:10437000020202020202020202020202020202021D
+:10438000020202020202020202020202020202020D
+:1043900002020202020202020202020202020202FD
+:1043A00002020202020202020202020202020202ED
+:1043B00002020202020202020202020202020202DD
+:1043C00002020202020202020202020202020202CD
+:1043D00002020202020202020202020202020202BD
+:1043E00002020202020202020202020202020202AD
+:1043F000020202020202020202020202020202029D
+:10440000020202020202020202020202020202028C
+:10441000020202020202020202020202020202027C
+:10442000020202020202020202020202020202026C
+:10443000020202020202020202020202020202025C
+:10444000020202020202020202020202020202024C
+:10445000020202020202020202020202020202023C
+:10446000020202020202020202020202020202022C
+:10447000020202020202020202020202020202021C
+:10448000020202020202020202020202020202020C
+:1044900002020202020202020202020202020202FC
+:1044A00002020202020202020202020202020202EC
+:1044B00002020202020202020202020202020202DC
+:1044C00002020202020202020202020202020202CC
+:1044D00002020202020202020202020202020202BC
+:1044E00002020202020202020202020202020202AC
+:1044F000020202020202020202020202020202029C
+:10450000020202020202020202020202020202028B
+:10451000020202020202020202020202020202027B
+:10452000020202020202020202020202020202026B
+:10453000020202020202020202020202020202025B
+:10454000020202020202020202020202020202024B
+:10455000020202020202020202020202020202023B
+:10456000020202020202020202020202020202022B
+:10457000020202020202020202020202020202021B
+:10458000020202020202020202020202020202020B
+:1045900002020202020202020202020202020202FB
+:1045A00002020202020202020202020202020202EB
+:1045B00002020202020202020202020202020202DB
+:1045C00002020202020202020202020202020202CB
+:1045D00002020202020202020202020202020202BB
+:1045E00002020202020202020202020202020202AB
+:1045F000020202020202020202020202020202029B
+:10460000020202020202020202020202020202028A
+:10461000020202020202020202020202020202027A
+:10462000020202020202020202020202020202026A
+:10463000020202020202020202020202020202025A
+:10464000020202020202020202020202020202024A
+:10465000020202020202020202020202020202023A
+:10466000020202020202020202020202020202022A
+:10467000020202020202020202020202020202021A
+:10468000020202020202020202020202020202020A
+:1046900002020202020202020202020202020202FA
+:1046A00002020202020202020202020202020202EA
+:1046B00002020202020202020202020202020202DA
+:1046C00002020202020202020202020202020202CA
+:1046D00002020202020202020202020202020202BA
+:1046E00002020202020202020202020202020202AA
+:1046F000020202020202020202020202020202029A
+:104700000202020202020202020202020202020289
+:104710000202020202020202020202020202020279
+:104720000202020202020202020202020202020269
+:104730000202020202020202020202020202020259
+:104740000202020202020202020202020202020249
+:104750000202020202020202020202020202020239
+:104760000202020202020202020202020202020229
+:104770000202020202020202020202020202020219
+:104780000202020202020202020202020202020209
+:1047900002020202020202020202020202020202F9
+:1047A00002020202020202020202020202020202E9
+:1047B00002020202020202020202020202020202D9
+:1047C00002020202020202020202020202020202C9
+:1047D00002020202020202020202020202020202B9
+:1047E00002020202020202020202020202020202A9
+:1047F0000202020202020202020202020202020299
+:104800000202020202020202020202020202020288
+:104810000202020202020202020202020202020278
+:104820000202020202020202020202020202020268
+:104830000202020202020202020202020202020258
+:104840000202020202020202020202020202020248
+:104850000202020202020202020202020202020238
+:104860000202020202020202020202020202020228
+:104870000202020202020202020202020202020218
+:104880000202020202020202020202020202020208
+:1048900002020202020202020202020202020202F8
+:1048A00002020202020202020202020202020202E8
+:1048B00002020202020202020202020202020202D8
+:1048C00002020202020202020202020202020202C8
+:1048D00002020202020202020202020202020202B8
+:1048E00002020202020202020202020202020202A8
+:1048F0000202020202020202020202020202020298
+:104900000202020202020202020202020202020287
+:104910000202020202020202020202020202020277
+:104920000202020202020202020202020202020267
+:104930000202020202020202020202020202020257
+:104940000202020202020202020202020202020247
+:104950000202020202020202020202020202020237
+:104960000202020202020202020202020202020227
+:104970000202020202020202020202020202020217
+:104980000202020202020202020202020202020207
+:1049900002020202020202020202020202020202F7
+:1049A00002020202020202020202020202020202E7
+:1049B00002020202020202020202020202020202D7
+:1049C00002020202020202020202020202020202C7
+:1049D00002020202020202020202020202020202B7
+:1049E00002020202020202020202020202020202A7
+:1049F0000202020202020202020202020202020297
+:104A00000202020202020202020202020202020286
+:104A10000202020202020202020202020202020078
+:104A20000000000000000000000000000000000086
+:104A30000000000000000000000000000000000076
+:104A40000000000000000000000000000000000066
+:104A50000000000000000000000000000000000056
+:104A60000000000000000000000000000000000046
+:104A70000000000000000000000000000000000036
+:104A80000000000000000000000000000000000026
+:104A90000000000000000000000000000000000016
+:104AA0000000000000000000000000000000000006
+:104AB00000000000000000000000000000000000F6
+:104AC00000000000000000000000000000000000E6
+:104AD00000000000000000000000000000000000D6
+:104AE00000000000000000000000000000000000C6
+:104AF00000000000000000000000000000000000B6
+:104B000000000000000000000000000000000000A5
+:104B10000000000000000000000000000000000095
+:104B20000000000000000000000000000000000085
+:104B30000000000000000000000000000000000075
+:104B40000000000000000000000000000000000065
+:104B50000000000000000000000000000000000055
+:104B60000000000000000000000000000000000045
+:104B70000000000000000000000000000000000035
+:104B80000000000000000000000000000000000025
+:104B90000000000000000000000000000000000015
+:104BA0000000000000000000000000000000000005
+:104BB00000000000000000000000000000000000F5
+:104BC00000000000000000000000000000000000E5
+:104BD00000000000000000000000000000000000D5
+:104BE00000000000000000000000000000000000C5
+:104BF00000000000000000000000000000000000B5
+:104C000000000000000000000000000000000000A4
+:104C10000000000000000000000000000000000094
+:104C20000000000000000000000000000000000084
+:104C30000000000000000000000000000000000074
+:104C40000000000000000000000000000000000064
+:104C50000000000000000000000000000000000054
+:104C60000000000000000000000000000000000044
+:104C70000000000000000000000000000000000034
+:104C80000000000000000000000000000000000024
+:104C90000000000000000000000000000000000014
+:104CA0000000000000000000000000000000000004
+:104CB00000000000000000000000000000000000F4
+:104CC00000000000000000000000000000000000E4
+:104CD00000000000000000000000000000000000D4
+:104CE00000000000000000000000000000000000C4
+:104CF00000000000000000000000000000000000B4
+:104D000000000000000000000000000000000000A3
+:104D10000000000000000000000000000000000093
+:104D20000000000000000000000000000000000083
+:104D30000000000000000000000000000000000073
+:104D40000000000000000000000000000000000063
+:104D50000000000000000000000000000000000053
+:104D60000000000000000000000000000000000043
+:104D70000000000000000000000000000000000033
+:104D80000000000000000000000000000000000023
+:104D90000000000000000000000000000000000013
+:104DA0000000000000000000000000000000000003
+:104DB00000000000000000000000000000000000F3
+:104DC00000000000000000000000000000000000E3
+:104DD00000000000000000000000000000000000D3
+:104DE00000000000000000000000000000000000C3
+:104DF00000000000000000000000000000000000B3
+:104E000000000000000000000000000000000000A2
+:104E10000000000000000000000000000000000092
+:104E20000000000000000000000000000000000082
+:104E30000000000000000000000000000000000072
+:104E40000000000000000000000000000000000062
+:104E50000000000000000000000000000000000052
+:104E60000000000000000000000000000000000042
+:104E70000000000000000000000000000000000032
+:104E80000000000000000000000000000000000022
+:104E90000000000000000000000000000000000012
+:104EA0000000000000000000000000000000000002
+:104EB00000000000000000000000000000000000F2
+:104EC00000000000000000000000000000000000E2
+:104ED00000000000000000000000000000000000D2
+:104EE00000000000000000000000000000000000C2
+:104EF00000000000000000000000000000000000B2
+:104F000000000000000000000000000000000000A1
+:104F10000000000000000000000000000000000091
+:104F20000000000000000000000000000000000081
+:104F30000000000000000000000000000000000071
+:104F40000000000000000000000000000000000061
+:104F50000000000000000000000000000000000051
+:104F60000000000000000000000000000000000041
+:104F70000000000000000000000000000000000031
+:104F80000000000000000000000000000000000021
+:104F90000000000000000000000000000000000011
+:104FA0000000000000000000000000000000000001
+:104FB00000000000000000000000000000000000F1
+:104FC00000000000000000000000000000000000E1
+:104FD00000000000000000000000000000000000D1
+:104FE00000000000000000000000000000000000C1
+:104FF00000000000000000000000000000000000B1
+:1050000000000000000000000000000000000000A0
+:105010000000000000000000000000000000000090
+:105020000000000000000000000000000000000080
+:105030000000000000000000000000000000000070
+:105040000000000000000000000000000000000060
+:105050000000000000000000000000000000000050
+:105060000000000000000000000000000000000040
+:105070000000000000000000000000000000000030
+:105080000000000000000000000000000000000020
+:105090000000000000000000000000000000000010
+:1050A0000000000000000000000000000000000000
+:1050B00000000000000000000000000000000000F0
+:1050C00000000000000000000000000000000000E0
+:1050D00000000000000000000000000000000000D0
+:1050E00000000000000000000000000000000000C0
+:1050F00000000000000000000000000000000000B0
+:10510000000000000000000000000000000000009F
+:10511000000000000000000000000000000000008F
+:10512000000000000000000000000000000000007F
+:10513000000000000000000000000000000000006F
+:10514000000000000000000000000000000000005F
+:10515000000000000000000000000000000000004F
+:10516000000000000000000000000000000000003F
+:10517000000000000000000000000000000000002F
+:10518000000000000000000000000000000000001F
+:10519000000000000000000000000000000000000F
+:1051A00000000000000000000000000000000000FF
+:1051B00000000000000000000000000000000000EF
+:1051C00000000000000000000000000000000000DF
+:1051D00000000000000000000000000000000000CF
+:1051E00000000000000000000000000000000000BF
+:1051F00000000000000000000000000000000000AF
+:10520000000000000000000000000000000000009E
+:10521000000000000000000000000000000000008E
+:10522000000000000000000000000000000000007E
+:10523000000000000000000000000000000000006E
+:10524000000000000000000000000000000000005E
+:10525000000000000000000000000000000000004E
+:10526000000000000000000000000000000000003E
+:10527000000000000000000000000000000000002E
+:10528000000000000000000000000000000000001E
+:10529000000000000000000000000000000000000E
+:1052A00000000000000000000000000000000000FE
+:1052B00000000000000000000000000000000000EE
+:1052C00000000000000000000000000000000000DE
+:1052D00000000000000000000000000000000000CE
+:1052E00000000000000000000000000000000000BE
+:1052F00000000000000000000000000000000000AE
+:10530000000000000000000000000000000000009D
+:10531000000000000000000000000000000000008D
+:10532000000000000000000000000000000000007D
+:10533000000000000000000000000000000000006D
+:10534000000000000000000000000000000000005D
+:10535000000000000000000000000000000000004D
+:10536000000000000000000000000000000000003D
+:10537000000000000000000000000000000000002D
+:10538000000000000000000000000000000000001D
+:10539000000000000000000000000000000000000D
+:1053A00000000000000000000000000000000000FD
+:1053B00000000000000000000000000000000000ED
+:1053C00000000000000000000000000000000000DD
+:1053D00000000000000000000000000000000000CD
+:1053E00000000000000000000000000000000000BD
+:1053F00000000000000000000000000000000000AD
+:10540000000000000000000000000000000000009C
+:10541000000000000000000000000000000000008C
+:10542000000000000000000000000000000000007C
+:10543000000000000000000000000000000000006C
+:10544000000000000000000000000000000000005C
+:10545000000000000000000000000000000000004C
+:10546000000000000000000000000000000000003C
+:10547000000000000000000000000000000000002C
+:10548000000000000000000000000000000000001C
+:10549000000000000000000000000000000000000C
+:1054A00000000000000000000000000000000000FC
+:1054B00000000000000000000000000000000000EC
+:1054C00000000000000000000000000000000000DC
+:1054D00000000000000000000000000000000000CC
+:1054E00000000000000000000000000000000000BC
+:1054F00000000000000000000000000000000000AC
+:10550000000000000000000000000000000000009B
+:10551000000000000000000000000000000000018A
+:10552000010101010101010101010101010101016B
+:10553000010101010101010101010101010101015B
+:10554000010101010101010101010101010101014B
+:10555000010101010101010101010101010101013B
+:10556000010101010101010101010101010101012B
+:10557000010101010101010101010101010101011B
+:10558000010101010101010101010101010101010B
+:1055900001010101010101010101010101010101FB
+:1055A00001010101010101010101010101010101EB
+:1055B00001010101010101010101010101010101DB
+:1055C00001010101010101010101010101010101CB
+:1055D00001010101010101010101010101010101BB
+:1055E00001010101010101010101010101010101AB
+:1055F000010101010101010101010101010101019B
+:10560000010101010101010101010101010101018A
+:10561000010101010101010101010101010101017A
+:10562000010101010101010101010101010101016A
+:10563000010101010101010101010101010101015A
+:10564000010101010101010101010101010101014A
+:10565000010101010101010101010101010101013A
+:10566000010101010101010101010101010101012A
+:10567000010101010101010101010101010101011A
+:10568000010101010101010101010101010101010A
+:1056900001010101010101010101010101010101FA
+:1056A00001010101010101010101010101010101EA
+:1056B00001010101010101010101010101010101DA
+:1056C00001010101010101010101010101010101CA
+:1056D00001010101010101010101010101010101BA
+:1056E00001010101010101010101010101010101AA
+:1056F000010101010101010101010101010101019A
+:105700000101010101010101010101010101010189
+:105710000101010101010101010101010101010179
+:105720000101010101010101010101010101010169
+:105730000101010101010101010101010101010159
+:105740000101010101010101010101010101010149
+:105750000101010101010101010101010101010139
+:105760000101010101010101010101010101010129
+:105770000101010101010101010101010101010119
+:105780000101010101010101010101010101010109
+:1057900001010101010101010101010101010101F9
+:1057A00001010101010101010101010101010101E9
+:1057B00001010101010101010101010101010101D9
+:1057C00001010101010101010101010101010101C9
+:1057D00001010101010101010101010101010101B9
+:1057E00001010101010101010101010101010101A9
+:1057F0000101010101010101010101010101010199
+:105800000101010101010101010101010101010188
+:105810000101010101010101010101010101010178
+:105820000101010101010101010101010101010168
+:105830000101010101010101010101010101010158
+:105840000101010101010101010101010101010148
+:105850000101010101010101010101010101010138
+:105860000101010101010101010101010101010128
+:105870000101010101010101010101010101010118
+:105880000101010101010101010101010101010108
+:1058900001010101010101010101010101010101F8
+:1058A00001010101010101010101010101010101E8
+:1058B00001010101010101010101010101010101D8
+:1058C00001010101010101010101010101010101C8
+:1058D00001010101010101010101010101010101B8
+:1058E00001010101010101010101010101010101A8
+:1058F0000101010101010101010101010101010198
+:105900000101010101010101010101010101010187
+:105910000101010101010101010101010101010177
+:105920000101010101010101010101010101010167
+:105930000101010101010101010101010101010157
+:105940000101010101010101010101010101010147
+:105950000101010101010101010101010101010137
+:105960000101010101010101010101010101010127
+:105970000101010101010101010101010101010117
+:105980000101010101010101010101010101010107
+:1059900001010101010101010101010101010101F7
+:1059A00001010101010101010101010101010101E7
+:1059B00001010101010101010101010101010101D7
+:1059C00001010101010101010101010101010101C7
+:1059D00001010101010101010101010101010101B7
+:1059E00001010101010101010101010101010101A7
+:1059F0000101010101010101010101010101010197
+:105A00000101010101010101010101010101010186
+:105A10000101010101010101010101010101010176
+:105A20000101010101010101010101010101010166
+:105A30000101010101010101010101010101010156
+:105A40000101010101010101010101010101010146
+:105A50000101010101010101010101010101010136
+:105A60000101010101010101010101010101010126
+:105A70000101010101010101010101010101010116
+:105A80000101010101010101010101010101010106
+:105A900001010101010101010101010101010101F6
+:105AA00001010101010101010101010101010101E6
+:105AB00001010101010101010101010101010101D6
+:105AC00001010101010101010101010101010101C6
+:105AD00001010101010101010101010101010101B6
+:105AE00001010101010101010101010101010101A6
+:105AF0000101010101010101010101010101010196
+:105B00000101010101010101010101010101010185
+:105B10000101010101010101010101010101010175
+:105B20000101010101010101010101010101010165
+:105B30000101010101010101010101010101010155
+:105B40000101010101010101010101010101010145
+:105B50000101010101010101010101010101010135
+:105B60000101010101010101010101010101010125
+:105B70000101010101010101010101010101010115
+:105B80000101010101010101010101010101010105
+:105B900001010101010101010101010101010101F5
+:105BA00001010101010101010101010101010101E5
+:105BB00001010101010101010101010101010101D5
+:105BC00001010101010101010101010101010101C5
+:105BD00001010101010101010101010101010101B5
+:105BE00001010101010101010101010101010101A5
+:105BF0000101010101010101010101010101010195
+:105C00000101010101010101010101010101010184
+:105C10000101010101010101010101010101010174
+:105C20000101010101010101010101010101010164
+:105C30000101010101010101010101010101010154
+:105C40000101010101010101010101010101010144
+:105C50000101010101010101010101010101010134
+:105C60000101010101010101010101010101010124
+:105C70000101010101010101010101010101010114
+:105C80000101010101010101010101010101010104
+:105C900001010101010101010101010101010101F4
+:105CA00001010101010101010101010101010101E4
+:105CB00001010101010101010101010101010101D4
+:105CC00001010101010101010101010101010101C4
+:105CD00001010101010101010101010101010101B4
+:105CE00001010101010101010101010101010101A4
+:105CF0000101010101010101010101010101010194
+:105D00000101010101010101010101010101010183
+:105D10000101010101010101010101010101010173
+:105D20000101010101010101010101010101010163
+:105D30000101010101010101010101010101010153
+:105D40000101010101010101010101010101010143
+:105D50000101010101010101010101010101010133
+:105D60000101010101010101010101010101010123
+:105D70000101010101010101010101010101010113
+:105D80000101010101010101010101010101010103
+:105D900001010101010101010101010101010101F3
+:105DA00001010101010101010101010101010101E3
+:105DB00001010101010101010101010101010101D3
+:105DC00001010101010101010101010101010101C3
+:105DD00001010101010101010101010101010101B3
+:105DE00001010101010101010101010101010101A3
+:105DF0000101010101010101010101010101010193
+:105E00000101010101010101010101010101010182
+:105E10000101010101010101010101010101010172
+:105E20000101010101010101010101010101010162
+:105E30000101010101010101010101010101010152
+:105E40000101010101010101010101010101010142
+:105E50000101010101010101010101010101010132
+:105E60000101010101010101010101010101010122
+:105E70000101010101010101010101010101010112
+:105E80000101010101010101010101010101010102
+:105E900001010101010101010101010101010101F2
+:105EA00001010101010101010101010101010101E2
+:105EB00001010101010101010101010101010101D2
+:105EC00001010101010101010101010101010101C2
+:105ED00001010101010101010101010101010101B2
+:105EE00001010101010101010101010101010101A2
+:105EF0000101010101010101010101010101010192
+:105F00000101010101010101010101010101010181
+:105F10000101010101010101010101010101010171
+:105F20000101010101010101010101010101010161
+:105F30000101010101010101010101010101010151
+:105F40000101010101010101010101010101010141
+:105F50000101010101010101010101010101010131
+:105F60000101010101010101010101010101010121
+:105F70000101010101010101010101010101010111
+:105F80000101010101010101010101010101010101
+:105F900001010101010101010101010101010101F1
+:105FA00001010101010101010101010101010101E1
+:105FB00001010101010101010101010101010101D1
+:105FC00001010101010101010101010101010101C1
+:105FD00001010101010101010101010101010101B1
+:105FE00001010101010101010101010101010101A1
+:105FF0000101010101010101010101010101010191
+:106000000101010101010101010101010101010180
+:106010000101010101010101010101010101010170
+:106020000101010101010101010101010101010160
+:106030000101010101010101010101010101010150
+:106040000101010101010101010101010101010140
+:106050000101010101010101010101010101010130
+:106060000101010101010101010101010101010120
+:106070000101010101010101010101010101010110
+:106080000101010101010101010101010101010100
+:1060900001010101010101010101010101010101F0
+:1060A00001010101010101010101010101010101E0
+:1060B00001010101010101010101010101010101D0
+:1060C00001010101010101010101010101010101C0
+:1060D00001010101010101010101010101010101B0
+:1060E00001010101010101010101010101010101A0
+:1060F0000101010101010101010101010101010190
+:10610000010101010101010101010101010101017F
+:10611000010101010101010101010101010101016F
+:10612000010101010101010101010101010101015F
+:10613000010101010101010101010101010101014F
+:10614000010101010101010101010101010101013F
+:10615000010101010101010101010101010101012F
+:10616000010101010101010101010101010101011F
+:10617000010101010101010101010101010101010F
+:1061800001010101010101010101010101010101FF
+:1061900001010101010101010101010101010101EF
+:1061A00001010101010101010101010101010101DF
+:1061B00001010101010101010101010101010101CF
+:1061C00001010101010101010101010101010101BF
+:1061D00001010101010101010101010101010101AF
+:1061E000010101010101010101010101010101019F
+:1061F000010101010101010101010101010101018F
+:10620000010101010101010101010101010101017E
+:10621000010101010101010101010101010101016E
+:10622000010101010101010101010101010101015E
+:10623000010101010101010101010101010101014E
+:10624000010101010101010101010101010101013E
+:10625000010101010101010101010101010101012E
+:10626000010101010101010101010101010101011E
+:10627000010101010101010101010101010101010E
+:1062800001010101010101010101010101010101FE
+:1062900001010101010101010101010101010101EE
+:1062A00001010101010101010101010101010101DE
+:1062B00001010101010101010101010101010101CE
+:1062C00001010101010101010101010101010101BE
+:1062D00001010101010101010101010101010101AE
+:1062E000010101010101010101010101010101019E
+:1062F000010101010101010101010101010101018E
+:10630000010101010101010101010101010101017D
+:10631000010101010101010101010101010101016D
+:10632000010101010101010101010101010101015D
+:10633000010101010101010101010101010101014D
+:10634000010101010101010101010101010101013D
+:10635000010101010101010101010101010101012D
+:10636000010101010101010101010101010101011D
+:10637000010101010101010101010101010101010D
+:1063800001010101010101010101010101010101FD
+:1063900001010101010101010101010101010101ED
+:1063A00001010101010101010101010101010101DD
+:1063B00001010101010101010101010101010101CD
+:1063C00001010101010101010101010101010101BD
+:1063D00001010101010101010101010101010101AD
+:1063E000010101010101010101010101010101019D
+:1063F000010101010101010101010101010101018D
+:10640000010101010101010101010101010101017C
+:10641000010101010101010101010101010101016C
+:10642000010101010101010101010101010101015C
+:10643000010101010101010101010101010101014C
+:10644000010101010101010101010101010101013C
+:10645000010101010101010101010101010101012C
+:10646000010101010101010101010101010101011C
+:10647000010101010101010101010101010101010C
+:1064800001010101010101010101010101010101FC
+:1064900001010101010101010101010101010101EC
+:1064A00001010101010101010101010101010101DC
+:1064B00001010101010101010101010101010101CC
+:1064C00001010101010101010101010101010101BC
+:1064D00001010101010101010101010101010101AC
+:1064E000010101010101010101010101010101019C
+:1064F000010101010101010101010101010101018C
+:10650000010101010101010101010101010101017B
+:10651000010101010101010101010101010101016B
+:10652000010101010101010101010101010101015B
+:10653000010101010101010101010101010101014B
+:10654000010101010101010101010101010101013B
+:10655000010101010101010101010101010101012B
+:10656000010101010101010101010101010101011B
+:10657000010101010101010101010101010101010B
+:1065800001010101010101010101010101010101FB
+:1065900001010101010101010101010101010101EB
+:1065A00001010101010101010101010101010101DB
+:1065B00001010101010101010101010101010101CB
+:1065C00001010101010101010101010101010101BB
+:1065D00001010101010101010101010101010101AB
+:1065E000010101010101010101010101010101019B
+:1065F000010101010101010101010101010101018B
+:10660000010101010101010101010101010101017A
+:10661000010101010101010101010101010101016A
+:10662000010101010101010101010101010101015A
+:10663000010101010101010101010101010101014A
+:10664000010101010101010101010101010101013A
+:10665000010101010101010101010101010101012A
+:10666000010101010101010101010101010101011A
+:10667000010101010101010101010101010101010A
+:1066800001010101010101010101010101010101FA
+:1066900001010101010101010101010101010101EA
+:1066A00001010101010101010101010101010101DA
+:1066B00001010101010101010101010101010101CA
+:1066C00001010101010101010101010101010101BA
+:1066D00001010101010101010101010101010101AA
+:1066E000010101010101010101010101010101019A
+:1066F000010101010101010101010101010101018A
+:106700000101010101010101010101010101010179
+:106710000101010101010101010101010101010169
+:106720000101010101010101010101010101010159
+:106730000101010101010101010101010101010149
+:106740000101010101010101010101010101010139
+:106750000101010101010101010101010101010129
+:106760000101010101010101010101010101010119
+:106770000101010101010101010101010101010109
+:1067800001010101010101010101010101010101F9
+:1067900001010101010101010101010101010101E9
+:1067A00001010101010101010101010101010101D9
+:1067B00001010101010101010101010101010101C9
+:1067C00001010101010101010101010101010101B9
+:1067D00001010101010101010101010101010101A9
+:1067E0000101010101010101010101010101010199
+:1067F0000101010101010101010101010101010189
+:106800000101010101010101010101010101010178
+:106810000101010101010101010101010101010168
+:106820000101010101010101010101010101010158
+:106830000101010101010101010101010101010148
+:106840000101010101010101010101010101010138
+:106850000101010101010101010101010101010128
+:106860000101010101010101010101010101010118
+:106870000101010101010101010101010101010108
+:1068800001010101010101010101010101010101F8
+:1068900001010101010101010101010101010101E8
+:1068A00001010101010101010101010101010101D8
+:1068B00001010101010101010101010101010101C8
+:1068C00001010101010101010101010101010101B8
+:1068D00001010101010101010101010101010101A8
+:1068E0000101010101010101010101010101010198
+:1068F0000101010101010101010101010101010188
+:106900000101010101010101010101010101010177
+:106910000101010101010101010101010101010167
+:106920000101010101010101010101010101010157
+:106930000101010101010101010101010101010147
+:106940000101010101010101010101010101010137
+:106950000101010101010101010101010101010127
+:106960000101010101010101010101010101010117
+:106970000101010101010101010101010101010107
+:1069800001010101010101010101010101010101F7
+:1069900001010101010101010101010101010101E7
+:1069A00001010101010101010101010101010101D7
+:1069B00001010101010101010101010101010101C7
+:1069C00001010101010101010101010101010101B7
+:1069D00001010101010101010101010101010101A7
+:1069E0000101010101010101010101010101010197
+:1069F0000101010101010101010101010101010187
+:106A00000101010101010101010101010101010176
+:106A10000101010101010101010101010101010067
+:106A20000000000000000000000000000000000066
+:106A30000000000000000000000000000000000056
+:106A40000000000000000000000000000000000046
+:106A50000000000000000000000000000000000036
+:106A60000000000000000000000000000000000026
+:106A70000000000000000000000000000000000016
+:106A80000000000000000000000000000000000006
+:106A900000000000000000000000000000000000F6
+:106AA00000000000000000000000000000000000E6
+:106AB00000000000000000000000000000000000D6
+:106AC00000000000000000000000000000000000C6
+:106AD00000000000000000000000000000000000B6
+:106AE00000000000000000000000000000000000A6
+:106AF0000000000000000000000000000000000096
+:106B00000000000000000000000000000000000085
+:106B10000000000000000000000000000000000075
+:106B20000000000000000000000000000000000065
+:106B30000000000000000000000000000000000055
+:106B40000000000000000000000000000000000045
+:106B50000000000000000000000000000000000035
+:106B60000000000000000000000000000000000025
+:106B70000000000000000000000000000000000015
+:106B80000000000000000000000000000000000005
+:106B900000000000000000000000000000000000F5
+:106BA00000000000000000000000000000000000E5
+:106BB00000000000000000000000000000000000D5
+:106BC00000000000000000000000000000000000C5
+:106BD00000000000000000000000000000000000B5
+:106BE00000000000000000000000000000000000A5
+:106BF0000000000000000000000000000000000095
+:106C00000000000000000000000000000000000084
+:106C10000000000000000000000000000000000074
+:106C20000000000000000000000000000000000064
+:106C30000000000000000000000000000000000054
+:106C40000000000000000000000000000000000044
+:106C50000000000000000000000000000000000034
+:106C60000000000000000000000000000000000024
+:106C70000000000000000000000000000000000014
+:106C80000000000000000000000000000000000004
+:106C900000000000000000000000000000000000F4
+:106CA00000000000000000000000000000000000E4
+:106CB00000000000000000000000000000000000D4
+:106CC00000000000000000000000000000000000C4
+:106CD00000000000000000000000000000000000B4
+:106CE00000000000000000000000000000000000A4
+:106CF0000000000000000000000000000000000094
+:106D00000000000000000000000000000000000083
+:106D10000000000000000000000000000000000073
+:106D20000000000000000000000000000000000063
+:106D30000000000000000000000000000000000053
+:106D40000000000000000000000000000000000043
+:106D50000000000000000000000000000000000033
+:106D60000000000000000000000000000000000023
+:106D70000000000000000000000000000000000013
+:106D80000000000000000000000000000000000003
+:106D900000000000000000000000000000000000F3
+:106DA00000000000000000000000000000000000E3
+:106DB00000000000000000000000000000000000D3
+:106DC00000000000000000000000000000000000C3
+:106DD00000000000000000000000000000000000B3
+:106DE00000000000000000000000000000000000A3
+:106DF0000000000000000000000000000000000093
+:106E00000000000000000000000000000000000082
+:106E10000000000000000000000000000000000270
+:106E20000202020202020202020202020202020242
+:106E30000202020202020202020202020202020232
+:106E40000202020202020202020202020202020222
+:106E50000202020202020202020202020202020212
+:106E60000202020202020202020202020202020202
+:106E700002020202020202020202020202020202F2
+:106E800002020202020202020202020202020202E2
+:106E900002020202020202020202020202020202D2
+:106EA00002020202020202020202020202020202C2
+:106EB00002020202020202020202020202020202B2
+:106EC00002020202020202020202020202020202A2
+:106ED0000202020202020202020202020202020292
+:106EE0000202020202020202020202020202020282
+:106EF0000202020202020202020202020202020272
+:106F00000202020202020202020202020202020261
+:106F10000202020202020202020202020202020251
+:106F20000202020202020202020202020202020241
+:106F30000202020202020202020202020202020231
+:106F40000202020202020202020202020202020221
+:106F50000202020202020202020202020202020211
+:106F60000202020202020202020202020202020201
+:106F700002020202020202020202020202020202F1
+:106F800002020202020202020202020202020202E1
+:106F900002020202020202020202020202020202D1
+:106FA00002020202020202020202020202020202C1
+:106FB00002020202020202020202020202020202B1
+:106FC00002020202020202020202020202020202A1
+:106FD0000202020202020202020202020202020291
+:106FE0000202020202020202020202020202020281
+:106FF0000202020202020202020202020202020271
+:107000000202020202020202020202020202020260
+:107010000202020202020202020202020202020250
+:107020000202020202020202020202020202020240
+:107030000202020202020202020202020202020230
+:107040000202020202020202020202020202020220
+:107050000202020202020202020202020202020210
+:107060000202020202020202020202020202020200
+:1070700002020202020202020202020202020202F0
+:1070800002020202020202020202020202020202E0
+:1070900002020202020202020202020202020202D0
+:1070A00002020202020202020202020202020202C0
+:1070B00002020202020202020202020202020202B0
+:1070C00002020202020202020202020202020202A0
+:1070D0000202020202020202020202020202020290
+:1070E0000202020202020202020202020202020280
+:1070F0000202020202020202020202020202020270
+:10710000020202020202020202020202020202025F
+:10711000020202020202020202020202020202024F
+:10712000020202020202020202020202020202023F
+:10713000020202020202020202020202020202022F
+:10714000020202020202020202020202020202021F
+:10715000020202020202020202020202020202020F
+:1071600002020202020202020202020202020202FF
+:1071700002020202020202020202020202020202EF
+:1071800002020202020202020202020202020202DF
+:1071900002020202020202020202020202020202CF
+:1071A00002020202020202020202020202020202BF
+:1071B00002020202020202020202020202020202AF
+:1071C000020202020202020202020202020202029F
+:1071D000020202020202020202020202020202028F
+:1071E000020202020202020202020202020202027F
+:1071F000020202020202020202020202020202026F
+:10720000020202020202020202020202020202025E
+:10721000020202020202020202020202020202024E
+:10722000020202020202020202020202020202023E
+:10723000020202020202020202020202020202022E
+:10724000020202020202020202020202020202021E
+:10725000020202020202020202020202020202020E
+:1072600002020202020202020202020202020202FE
+:1072700002020202020202020202020202020202EE
+:1072800002020202020202020202020202020202DE
+:1072900002020202020202020202020202020202CE
+:1072A00002020202020202020202020202020202BE
+:1072B00002020202020202020202020202020202AE
+:1072C000020202020202020202020202020202029E
+:1072D000020202020202020202020202020202028E
+:1072E000020202020202020202020202020202027E
+:1072F000020202020202020202020202020202026E
+:10730000020202020202020202020202020202025D
+:10731000020202020202020202020202020202024D
+:10732000020202020202020202020202020202023D
+:10733000020202020202020202020202020202022D
+:10734000020202020202020202020202020202021D
+:10735000020202020202020202020202020202020D
+:1073600002020202020202020202020202020202FD
+:1073700002020202020202020202020202020202ED
+:1073800002020202020202020202020202020202DD
+:1073900002020202020202020202020202020202CD
+:1073A00002020202020202020202020202020202BD
+:1073B00002020202020202020202020202020202AD
+:1073C000020202020202020202020202020202029D
+:1073D000020202020202020202020202020202028D
+:1073E000020202020202020202020202020202027D
+:1073F000020202020202020202020202020202026D
+:10740000020202020202020202020202020202025C
+:10741000020202020202020202020202020202024C
+:10742000020202020202020202020202020202023C
+:10743000020202020202020202020202020202022C
+:10744000020202020202020202020202020202021C
+:10745000020202020202020202020202020202020C
+:1074600002020202020202020202020202020202FC
+:1074700002020202020202020202020202020202EC
+:1074800002020202020202020202020202020202DC
+:1074900002020202020202020202020202020202CC
+:1074A00002020202020202020202020202020202BC
+:1074B00002020202020202020202020202020202AC
+:1074C000020202020202020202020202020202029C
+:1074D000020202020202020202020202020202028C
+:1074E000020202020202020202020202020202027C
+:1074F000020202020202020202020202020202026C
+:10750000020202020202020202020202020202025B
+:10751000020202020202020202020202020202024B
+:10752000020202020202020202020202020202023B
+:10753000020202020202020202020202020202022B
+:10754000020202020202020202020202020202021B
+:10755000020202020202020202020202020202020B
+:1075600002020202020202020202020202020202FB
+:1075700002020202020202020202020202020202EB
+:1075800002020202020202020202020202020202DB
+:1075900002020202020202020202020202020202CB
+:1075A00002020202020202020202020202020202BB
+:1075B00002020202020202020202020202020202AB
+:1075C000020202020202020202020202020202029B
+:1075D000020202020202020202020202020202028B
+:1075E000020202020202020202020202020202027B
+:1075F000020202020202020202020202020202026B
+:10760000020202020202020202020202020202025A
+:10761000020202020202020202020202020202024A
+:10762000020202020202020202020202020202023A
+:10763000020202020202020202020202020202022A
+:10764000020202020202020202020202020202021A
+:10765000020202020202020202020202020202020A
+:1076600002020202020202020202020202020202FA
+:1076700002020202020202020202020202020202EA
+:1076800002020202020202020202020202020202DA
+:1076900002020202020202020202020202020202CA
+:1076A00002020202020202020202020202020202BA
+:1076B00002020202020202020202020202020202AA
+:1076C000020202020202020202020202020202029A
+:1076D000020202020202020202020202020202028A
+:1076E000020202020202020202020202020202027A
+:1076F000020202020202020202020202020202026A
+:107700000202020202020202020202020202020259
+:107710000202020202020202020202020202020249
+:107720000202020202020202020202020202020239
+:107730000202020202020202020202020202020229
+:107740000202020202020202020202020202020219
+:107750000202020202020202020202020202020209
+:1077600002020202020202020202020202020202F9
+:1077700002020202020202020202020202020202E9
+:1077800002020202020202020202020202020202D9
+:1077900002020202020202020202020202020202C9
+:1077A00002020202020202020202020202020202B9
+:1077B00002020202020202020202020202020202A9
+:1077C0000202020202020202020202020202020299
+:1077D0000202020202020202020202020202020289
+:1077E0000202020202020202020202020202020279
+:1077F0000202020202020202020202020202020269
+:107800000202020202020202020202020202020258
+:107810000202020202020202020202020202020248
+:107820000202020202020202020202020202020238
+:107830000202020202020202020202020202020228
+:107840000202020202020202020202020202020218
+:107850000202020202020202020202020202020208
+:1078600002020202020202020202020202020202F8
+:1078700002020202020202020202020202020202E8
+:1078800002020202020202020202020202020202D8
+:1078900002020202020202020202020202020202C8
+:1078A00002020202020202020202020202020202B8
+:1078B00002020202020202020202020202020202A8
+:1078C0000202020202020202020202020202020298
+:1078D0000202020202020202020202020202020288
+:1078E0000202020202020202020202020202020278
+:1078F0000202020202020202020202020202020268
+:107900000202020202020202020202020202020257
+:107910000202020202020202020202020202020247
+:107920000202020202020202020202020202020237
+:107930000202020202020202020202020202020227
+:107940000202020202020202020202020202020217
+:107950000202020202020202020202020202020207
+:1079600002020202020202020202020202020202F7
+:1079700002020202020202020202020202020202E7
+:1079800002020202020202020202020202020202D7
+:1079900002020202020202020202020202020202C7
+:1079A00002020202020202020202020202020202B7
+:1079B00002020202020202020202020202020202A7
+:1079C0000202020202020202020202020202020297
+:1079D0000202020202020202020202020202020287
+:1079E0000202020202020202020202020202020277
+:1079F0000202020202020202020202020202020267
+:107A00000202020202020202020202020202020256
+:107A10000202020202020202020202020202020246
+:107A20000202020202020202020202020202020236
+:107A30000202020202020202020202020202020226
+:107A40000202020202020202020202020202020216
+:107A50000202020202020202020202020202020206
+:107A600002020202020202020202020202020202F6
+:107A700002020202020202020202020202020202E6
+:107A800002020202020202020202020202020202D6
+:107A900002020202020202020202020202020202C6
+:107AA00002020202020202020202020202020202B6
+:107AB00002020202020202020202020202020202A6
+:107AC0000202020202020202020202020202020296
+:107AD0000202020202020202020202020202020286
+:107AE0000202020202020202020202020202020276
+:107AF0000202020202020202020202020202020266
+:107B00000202020202020202020202020202020255
+:107B10000202020202020202020202020202020245
+:107B20000202020202020202020202020202020235
+:107B30000202020202020202020202020202020225
+:107B40000202020202020202020202020202020215
+:107B50000202020202020202020202020202020205
+:107B600002020202020202020202020202020202F5
+:107B700002020202020202020202020202020202E5
+:107B800002020202020202020202020202020202D5
+:107B900002020202020202020202020202020202C5
+:107BA00002020202020202020202020202020202B5
+:107BB00002020202020202020202020202020202A5
+:107BC0000202020202020202020202020202020295
+:107BD0000202020202020202020202020202020285
+:107BE0000202020202020202020202020202020275
+:107BF0000202020202020202020202020202020265
+:107C00000202020202020202020202020202020254
+:107C10000202020202020202020202020202020244
+:107C20000202020202020202020202020202020234
+:107C30000202020202020202020202020202020224
+:107C40000202020202020202020202020202020214
+:107C50000202020202020202020202020202020204
+:107C600002020202020202020202020202020202F4
+:107C700002020202020202020202020202020202E4
+:107C800002020202020202020202020202020202D4
+:107C900002020202020202020202020202020202C4
+:107CA00002020202020202020202020202020202B4
+:107CB00002020202020202020202020202020202A4
+:107CC0000202020202020202020202020202020294
+:107CD0000202020202020202020202020202020284
+:107CE0000202020202020202020202020202020274
+:107CF0000202020202020202020202020202020264
+:107D00000202020202020202020202020202020253
+:107D10000202020202020202020202020202020243
+:107D20000202020202020202020202020202020233
+:107D30000202020202020202020202020202020223
+:107D40000202020202020202020202020202020213
+:107D50000202020202020202020202020202020203
+:107D600002020202020202020202020202020202F3
+:107D700002020202020202020202020202020202E3
+:107D800002020202020202020202020202020202D3
+:107D900002020202020202020202020202020202C3
+:107DA00002020202020202020202020202020202B3
+:107DB00002020202020202020202020202020202A3
+:107DC0000202020202020202020202020202020293
+:107DD0000202020202020202020202020202020283
+:107DE0000202020202020202020202020202020273
+:107DF0000202020202020202020202020202020263
+:107E00000202020202020202020202020202020252
+:107E10000202020202020202020202020202020242
+:107E20000202020202020202020202020202020232
+:107E30000202020202020202020202020202020222
+:107E40000202020202020202020202020202020212
+:107E50000202020202020202020202020202020202
+:107E600002020202020202020202020202020202F2
+:107E700002020202020202020202020202020202E2
+:107E800002020202020202020202020202020202D2
+:107E900002020202020202020202020202020202C2
+:107EA00002020202020202020202020202020202B2
+:107EB00002020202020202020202020202020202A2
+:107EC0000202020202020202020202020202020292
+:107ED0000202020202020202020202020202020282
+:107EE0000202020202020202020202020202020272
+:107EF0000202020202020202020202020202020262
+:107F00000202020202020202020202020202020251
+:107F10000202020202020202020202020202020241
+:107F20000202020202020202020202020202020231
+:107F30000202020202020202020202020202020221
+:107F40000202020202020202020202020202020211
+:107F50000202020202020202020202020202020201
+:107F600002020202020202020202020202020202F1
+:107F700002020202020202020202020202020202E1
+:107F800002020202020202020202020202020202D1
+:107F900002020202020202020202020202020202C1
+:107FA00002020202020202020202020202020202B1
+:107FB00002020202020202020202020202020202A1
+:107FC0000202020202020202020202020202020291
+:107FD0000202020202020202020202020202020281
+:107FE0000202020202020202020202020202020271
+:107FF0000202020202020202020202020202020261
+:108000000202020202020202020202020202020250
+:108010000202020202020202020202020202020240
+:108020000202020202020202020202020202020230
+:108030000202020202020202020202020202020220
+:108040000202020202020202020202020202020210
+:108050000202020202020202020202020202020200
+:1080600002020202020202020202020202020202F0
+:1080700002020202020202020202020202020202E0
+:1080800002020202020202020202020202020202D0
+:1080900002020202020202020202020202020202C0
+:1080A00002020202020202020202020202020202B0
+:1080B00002020202020202020202020202020202A0
+:1080C0000202020202020202020202020202020290
+:1080D0000202020202020202020202020202020280
+:1080E0000202020202020202020202020202020270
+:1080F0000202020202020202020202020202020260
+:10810000020202020202020202020202020202024F
+:10811000020202020202020202020202020202023F
+:10812000020202020202020202020202020202022F
+:10813000020202020202020202020202020202021F
+:10814000020202020202020202020202020202020F
+:1081500002020202020202020202020202020202FF
+:1081600002020202020202020202020202020202EF
+:1081700002020202020202020202020202020202DF
+:1081800002020202020202020202020202020202CF
+:1081900002020202020202020202020202020202BF
+:1081A00002020202020202020202020202020202AF
+:1081B000020202020202020202020202020202029F
+:1081C000020202020202020202020202020202028F
+:1081D000020202020202020202020202020202027F
+:1081E000020202020202020202020202020202026F
+:1081F000020202020202020202020202020202025F
+:10820000020202020202020202020202020202024E
+:10821000020202020202020202020202020202023E
+:10822000020202020202020202020202020202022E
+:10823000020202020202020202020202020202021E
+:10824000020202020202020202020202020202020E
+:1082500002020202020202020202020202020202FE
+:1082600002020202020202020202020202020202EE
+:1082700002020202020202020202020202020202DE
+:1082800002020202020202020202020202020202CE
+:1082900002020202020202020202020202020202BE
+:1082A00002020202020202020202020202020202AE
+:1082B000020202020202020202020202020202029E
+:1082C000020202020202020202020202020202028E
+:1082D000020202020202020202020202020202027E
+:1082E000020202020202020202020202020202026E
+:1082F000020202020202020202020202020202025E
+:10830000020202020202020202020202020202024D
+:10831000020202020202020202020202020202003F
+:10832000000000000000000000000000000000004D
+:10833000000000000000000000000000000000003D
+:10834000000000000000000000000000000000002D
+:10835000000000000000000000000000000000001D
+:10836000000000000000000000000000000000000D
+:1083700000000000000000000000000000000000FD
+:1083800000000000000000000000000000000000ED
+:1083900000000000000000000000000000000000DD
+:1083A00000000000000000000000000000000000CD
+:1083B00000000000000000000000000000000000BD
+:1083C00000000000000000000000000000000000AD
+:1083D000000000000000000000000000000000009D
+:1083E000000000000000000000000000000000008D
+:1083F000000000000000000000000000000000007D
+:10840000000000000000000000000000000000006C
+:10841000000000000000000000000000000000005C
+:10842000000000000000000000000000000000004C
+:10843000000000000000000000000000000000003C
+:10844000000000000000000000000000000000002C
+:10845000000000000000000000000000000000001C
+:10846000000000000000000000000000000000000C
+:1084700000000000000000000000000000000000FC
+:1084800000000000000000000000000000000000EC
+:1084900000000000000000000000000000000000DC
+:1084A00000000000000000000000000000000000CC
+:1084B00000000000000000000000000000000000BC
+:1084C00000000000000000000000000000000000AC
+:1084D000000000000000000000000000000000009C
+:1084E000000000000000000000000000000000008C
+:1084F000000000000000000000000000000000007C
+:10850000000000000000000000000000000000006B
+:10851000000000000000000000000000000000005B
+:10852000000000000000000000000000000000004B
+:10853000000000000000000000000000000000003B
+:10854000000000000000000000000000000000002B
+:10855000000000000000000000000000000000001B
+:10856000000000000000000000000000000000000B
+:1085700000000000000000000000000000000000FB
+:1085800000000000000000000000000000000000EB
+:1085900000000000000000000000000000000000DB
+:1085A00000000000000000000000000000000000CB
+:1085B00000000000000000000000000000000000BB
+:1085C00000000000000000000000000000000000AB
+:1085D000000000000000000000000000000000009B
+:1085E000000000000000000000000000000000008B
+:1085F000000000000000000000000000000000007B
+:10860000000000000000000000000000000000006A
+:10861000000000000000000000000000000000005A
+:10862000000000000000000000000000000000004A
+:10863000000000000000000000000000000000003A
+:10864000000000000000000000000000000000002A
+:10865000000000000000000000000000000000001A
+:10866000000000000000000000000000000000000A
+:1086700000000000000000000000000000000000FA
+:1086800000000000000000000000000000000000EA
+:1086900000000000000000000000000000000000DA
+:1086A00000000000000000000000000000000000CA
+:1086B00000000000000000000000000000000000BA
+:1086C00000000000000000000000000000000000AA
+:1086D000000000000000000000000000000000009A
+:1086E000000000000000000000000000000000008A
+:1086F000000000000000000000000000000000007A
+:108700000000000000000000000000000000000069
+:108710000000000000000000000000000000000059
+:108720000000000000000000000000000000000049
+:108730000000000000000000000000000000000039
+:108740000000000000000000000000000000000029
+:108750000000000000000000000000000000000019
+:108760000000000000000000000000000000000009
+:1087700000000000000000000000000000000000F9
+:1087800000000000000000000000000000000000E9
+:1087900000000000000000000000000000000000D9
+:1087A00000000000000000000000000000000000C9
+:1087B00000000000000000000000000000000000B9
+:1087C00000000000000000000000000000000000A9
+:1087D0000000000000000000000000000000000099
+:1087E0000000000000000000000000000000000089
+:1087F0000000000000000000000000000000000079
+:108800000000000000000000000000000000000068
+:108810000000000000000000000000000000000058
+:108820000000000000000000000000000000000048
+:108830000000000000000000000000000000000038
+:108840000000000000000000000000000000000028
+:108850000000000000000000000000000000000018
+:108860000000000000000000000000000000000008
+:1088700000000000000000000000000000000000F8
+:1088800000000000000000000000000000000000E8
+:1088900000000000000000000000000000000000D8
+:1088A00000000000000000000000000000000000C8
+:1088B00000000000000000000000000000000000B8
+:1088C00000000000000000000000000000000000A8
+:1088D0000000000000000000000000000000000098
+:1088E0000000000000000000000000000000000088
+:1088F0000000000000000000000000000000000078
+:108900000000000000000000000000000000000067
+:108910000000000000000000000000000000000057
+:108920000000000000000000000000000000000047
+:108930000000000000000000000000000000000037
+:108940000000000000000000000000000000000027
+:108950000000000000000000000000000000000017
+:108960000000000000000000000000000000000007
+:1089700000000000000000000000000000000000F7
+:1089800000000000000000000000000000000000E7
+:1089900000000000000000000000000000000000D7
+:1089A00000000000000000000000000000000000C7
+:1089B00000000000000000000000000000000000B7
+:1089C00000000000000000000000000000000000A7
+:1089D0000000000000000000000000000000000097
+:1089E0000000000000000000000000000000000087
+:1089F0000000000000000000000000000000000077
+:108A00000000000000000000000000000000000066
+:108A10000000000000000000000000000000000056
+:108A20000000000000000000000000000000000046
+:108A30000000000000000000000000000000000036
+:108A40000000000000000000000000000000000026
+:108A50000000000000000000000000000000000016
+:108A60000000000000000000000000000000000006
+:108A700000000000000000000000000000000000F6
+:108A800000000000000000000000000000000000E6
+:108A900000000000000000000000000000000000D6
+:108AA00000000000000000000000000000000000C6
+:108AB00000000000000000000000000000000000B6
+:108AC00000000000000000000000000000000000A6
+:108AD0000000000000000000000000000000000096
+:108AE0000000000000000000000000000000000086
+:108AF0000000000000000000000000000000000076
+:108B00000000000000000000000000000000000065
+:108B10000000000000000000000000000000005FF6
+:108B2000000000000000000101010101010101013C
+:108B30000101010101010101010101010101010125
+:108B40000101010101010101010101010101010115
+:108B50000101010101010101010101010101010105
+:108B600001010101010101010101010101010101F5
+:108B700001010101010101010101010101010101E5
+:108B800001010101010101010101010101010101D5
+:108B900001010101010101010101010101010101C5
+:108BA00001010101010101010101010101010101B5
+:108BB00001010101010101010101010101010101A5
+:108BC0000101010101010101010101010101010195
+:108BD0000101010101010101010101010101010185
+:108BE0000101010101010101010101010101010175
+:108BF0000101010101010101010101010101010165
+:108C00000101010101010101010101010101010154
+:108C10000101010101010101010101010101010144
+:108C20000101010101010101010101010101010134
+:108C30000101010101010101010101010101010124
+:108C40000101010101010101010101010101010114
+:108C50000101010101010101010101010101010104
+:108C600001010101010101010101010101010101F4
+:108C700001010101010101010101010101010101E4
+:108C800001010101010101010101010101010101D4
+:108C900001010101010101010101010101010101C4
+:108CA00001010101010101010101010101010101B4
+:108CB00001010101010101010101010101010101A4
+:108CC0000101010101010101010101010101010194
+:108CD0000101010101010101010101010101010184
+:108CE0000101010101010101010101010101010174
+:108CF0000101010101010101010101010101010164
+:108D00000101010101010101010101010101010153
+:108D10000101010101010101010101010101010143
+:108D20000101010101010101010101010101010133
+:108D30000101010101010101010101010101010123
+:108D40000101010101010101010101010101010113
+:108D50000101010101010101010101010101010103
+:108D600001010101010101010101010101010101F3
+:108D700001010101010101010101010101010101E3
+:108D800001010101010101010101010101010101D3
+:108D900001010101010101010101010101010101C3
+:108DA00001010101010101010101010101010101B3
+:108DB00001010101010101010101010101010101A3
+:108DC0000101010101010101010101010101010193
+:108DD0000101010101010101010101010101010183
+:108DE0000101010101010101010101010101010173
+:108DF0000101010101010101010101010101010163
+:108E00000101010101010101010101010101010152
+:108E10000101010101010101010101010101010142
+:108E20000101010101010101010101010101010132
+:108E30000101010101010101010101010101010122
+:108E40000101010101010101010101010101010112
+:108E50000101010101010101010101010101010102
+:108E600001010101010101010101010101010101F2
+:108E700001010101010101010101010101010101E2
+:108E800001010101010101010101010101010101D2
+:108E900001010101010101010101010101010101C2
+:108EA00001010101010101010101010101010101B2
+:108EB00001010101010101010101010101010101A2
+:108EC0000101010101010101010101010101010192
+:108ED0000101010101010101010101010101010182
+:108EE0000101010101010101010101010101010172
+:108EF0000101010101010101010101010101010162
+:108F00000101010101010101010101010101010151
+:108F10000101010101010101010101010101010141
+:108F20000101010101010101010101010101010131
+:108F30000101010101010101010101010101010121
+:108F40000101010101010101010101010101010111
+:108F50000101010101010101010101010101010101
+:108F600001010101010101010101010101010101F1
+:108F700001010101010101010101010101010101E1
+:108F800001010101010101010101010101010101D1
+:108F900001010101010101010101010101010101C1
+:108FA00001010101010101010101010101010101B1
+:108FB00001010101010101010101010101010101A1
+:108FC0000101010101010101010101010101010191
+:108FD0000101010101010101010101010101010181
+:108FE0000101010101010101010101010101010171
+:108FF0000101010101010101010101010101010161
+:109000000101010101010101010101010101010150
+:109010000101010101010101010101010101010140
+:109020000101010101010101010101010101010130
+:109030000101010101010101010101010101010120
+:109040000101010101010101010101010101010110
+:109050000101010101010101010101010101010100
+:1090600001010101010101010101010101010101F0
+:1090700001010101010101010101010101010101E0
+:1090800001010101010101010101010101010101D0
+:1090900001010101010101010101010101010101C0
+:1090A00001010101010101010101010101010101B0
+:1090B00001010101010101010101010101010101A0
+:1090C0000101010101010101010101010101010190
+:1090D0000101010101010101010101010101010180
+:1090E0000101010101010101010101010101010170
+:1090F0000101010101010101010101010101010160
+:10910000010101010101010101010101010101014F
+:10911000010101010101010101010101010101013F
+:10912000010101010101010101010101010101012F
+:10913000010101010101010101010101010101011F
+:10914000010101010101010101010101010101010F
+:1091500001010101010101010101010101010101FF
+:1091600001010101010101010101010101010101EF
+:1091700001010101010101010101010101010101DF
+:1091800001010101010101010101010101010101CF
+:1091900001010101010101010101010101010101BF
+:1091A00001010101010101010101010101010101AF
+:1091B000010101010101010101010101010101019F
+:1091C000010101010101010101010101010101018F
+:1091D000010101010101010101010101010101017F
+:1091E000010101010101010101010101010101016F
+:1091F000010101010101010101010101010101015F
+:10920000010101010101010101010101010101014E
+:10921000010101010101010101010101010101013E
+:10922000010101010101010101010101010101012E
+:10923000010101010101010101010101010101011E
+:10924000010101010101010101010101010101010E
+:1092500001010101010101010101010101010101FE
+:1092600001010101010101010101010101010101EE
+:1092700001010101010101010101010101010101DE
+:1092800001010101010101010101010101010101CE
+:1092900001010101010101010101010101010101BE
+:1092A00001010101010101010101010101010101AE
+:1092B000010101010101010101010101010101019E
+:1092C000010101010101010101010101010101018E
+:1092D000010101010101010101010101010101017E
+:1092E000010101010101010101010101010101016E
+:1092F000010101010101010101010101010101015E
+:10930000010101010101010101010101010101014D
+:10931000010101010101010101010101010101013D
+:10932000010101010101010101010101010101012D
+:10933000010101010101010101010101010101011D
+:10934000010101010101010101010101010101010D
+:1093500001010101010101010101010101010101FD
+:1093600001010101010101010101010101010101ED
+:1093700001010101010101010101010101010101DD
+:1093800001010101010101010101010101010101CD
+:1093900001010101010101010101010101010101BD
+:1093A00001010101010101010101010101010101AD
+:1093B000010101010101010101010101010101019D
+:1093C000010101010101010101010101010101018D
+:1093D000010101010101010101010101010101017D
+:1093E000010101010101010101010101010101016D
+:1093F000010101010101010101010101010101015D
+:10940000010101010101010101010101010101014C
+:10941000010101010101010101010101010101013C
+:10942000010101010101010101010101010101012C
+:10943000010101010101010101010101010101011C
+:10944000010101010101010101010101010101010C
+:1094500001010101010101010101010101010101FC
+:1094600001010101010101010101010101010101EC
+:1094700001010101010101010101010101010101DC
+:1094800001010101010101010101010101010101CC
+:1094900001010101010101010101010101010101BC
+:1094A00001010101010101010101010101010101AC
+:1094B000010101010101010101010101010101019C
+:1094C000010101010101010101010101010101018C
+:1094D000010101010101010101010101010101017C
+:1094E000010101010101010101010101010101016C
+:1094F000010101010101010101010101010101015C
+:10950000010101010101010101010101010101014B
+:10951000010101010101010101010101010101013B
+:10952000010101010101010101010101010101012B
+:10953000010101010101010101010101010101011B
+:10954000010101010101010101010101010101010B
+:1095500001010101010101010101010101010101FB
+:1095600001010101010101010101010101010101EB
+:1095700001010101010101010101010101010101DB
+:1095800001010101010101010101010101010101CB
+:1095900001010101010101010101010101010101BB
+:1095A00001010101010101010101010101010101AB
+:1095B000010101010101010101010101010101019B
+:1095C000010101010101010101010101010101018B
+:1095D000010101010101010101010101010101017B
+:1095E000010101010101010101010101010101016B
+:1095F000010101010101010101010101010101015B
+:10960000010101010101010101010101010101014A
+:10961000010101010101010101010101010101013A
+:10962000010101010101010101010101010101012A
+:10963000010101010101010101010101010101011A
+:10964000010101010101010101010101010101010A
+:1096500001010101010101010101010101010101FA
+:1096600001010101010101010101010101010101EA
+:1096700001010101010101010101010101010101DA
+:1096800001010101010101010101010101010101CA
+:1096900001010101010101010101010101010101BA
+:1096A00001010101010101010101010101010101AA
+:1096B000010101010101010101010101010101019A
+:1096C000010101010101010101010101010101018A
+:1096D000010101010101010101010101010101017A
+:1096E000010101010101010101010101010101016A
+:1096F000010101010101010101010101010101015A
+:109700000101010101010101010101010101010149
+:109710000101010101010101010101010101010139
+:109720000101010101010101010101010101010129
+:109730000101010101010101010101010101010119
+:109740000101010101010101010101010101010109
+:1097500001010101010101010101010101010101F9
+:1097600001010101010101010101010101010101E9
+:1097700001010101010101010101010101010101D9
+:1097800001010101010101010101010101010101C9
+:1097900001010101010101010101010101010101B9
+:1097A00001010101010101010101010101010101A9
+:1097B0000101010101010101010101010101010199
+:1097C0000101010101010101010101010101010189
+:1097D0000101010101010101010101010101010179
+:1097E0000101010101010101010101010101010169
+:1097F0000101010101010101010101010101010159
+:109800000101010101010101010101010101010148
+:109810000101010101010101010101010101010138
+:109820000101010101010101010101010101010128
+:109830000101010101010101010101010101010118
+:109840000101010101010101010101010101010108
+:1098500001010101010101010101010101010101F8
+:1098600001010101010101010101010101010101E8
+:1098700001010101010101010101010101010101D8
+:1098800001010101010101010101010101010101C8
+:1098900001010101010101010101010101010101B8
+:1098A00001010101010101010101010101010101A8
+:1098B0000101010101010101010101010101010198
+:1098C0000101010101010101010101010101010188
+:1098D0000101010101010101010101010101010178
+:1098E0000101010101010101010101010101010168
+:1098F0000101010101010101010101010101010158
+:109900000101010101010101010101010101010147
+:109910000101010101010101010101010101010137
+:109920000101010101010101010101010101010127
+:109930000101010101010101010101010101010117
+:109940000101010101010101010101010101010107
+:1099500001010101010101010101010101010101F7
+:1099600001010101010101010101010101010101E7
+:1099700001010101010101010101010101010101D7
+:1099800001010101010101010101010101010101C7
+:1099900001010101010101010101010101010101B7
+:1099A00001010101010101010101010101010101A7
+:1099B0000101010101010101010101010101010197
+:1099C0000101010101010101010101010101010187
+:1099D0000101010101010101010101010101010177
+:1099E0000101010101010101010101010101010167
+:1099F0000101010101010101010101010101010157
+:109A00000101010101010101010101010101010146
+:109A10000101010101010101010101010101010136
+:109A20000101010101010101010101010101010126
+:109A30000101010101010101010101010101010116
+:109A40000101010101010101010101010101010106
+:109A500001010101010101010101010101010101F6
+:109A600001010101010101010101010101010101E6
+:109A700001010101010101010101010101010101D6
+:109A800001010101010101010101010101010101C6
+:109A900001010101010101010101010101010101B6
+:109AA00001010101010101010101010101010101A6
+:109AB0000101010101010101010101010101010196
+:109AC0000101010101010101010101010101010186
+:109AD0000101010101010101010101010101010176
+:109AE0000101010101010101010101010101010166
+:109AF0000101010101010101010101010101010156
+:109B00000101010101010101010101010101010145
+:109B10000101010101010101010101010101010135
+:109B20000101010101010101010101010101010125
+:109B30000101010101010101010101010101010115
+:109B40000101010101010101010101010101010105
+:109B500001010101010101010101010101010101F5
+:109B600001010101010101010101010101010101E5
+:109B700001010101010101010101010101010101D5
+:109B800001010101010101010101010101010101C5
+:109B900001010101010101010101010101010101B5
+:109BA00001010101010101010101010101010101A5
+:109BB0000101010101010101010101010101010195
+:109BC0000101010101010101010101010101010185
+:109BD0000101010101010101010101010101010175
+:109BE0000101010101010101010101010101010165
+:109BF0000101010101010101010101010101010155
+:109C00000101010101010101010101010101010144
+:109C10000101010101010101010101010101010134
+:109C2000010101010101010000000000000000002D
+:109C30000000000000000000000000000000000024
+:109C40000000000000000000000000000000000014
+:109C50000000000000000000000000000000000004
+:109C600000000000000000000000000000000000F4
+:109C700000000000000000000000000000000000E4
+:109C800000000000000000000000000000000000D4
+:109C900000000000000000000000000000000000C4
+:109CA00000000000000000000000000000000000B4
+:109CB00000000000000000000000000000000000A4
+:109CC0000000000000000000000000000000000094
+:109CD0000000000000000000000000000000000084
+:109CE0000000000000000000000000000000000074
+:109CF0000000000000000000000000000000000064
+:109D00000000000000000000000000000000000053
+:109D10000000000000000000000000000000000043
+:109D20000000000000000000000000000000000033
+:109D30000000000000000000000000000000000023
+:109D40000000000000000000000000000000000013
+:109D50000000000000000000000000000000000003
+:109D600000000000000000000000000000000000F3
+:109D700000000000000000000000000000000000E3
+:109D800000000000000000000000000000000000D3
+:109D900000000000000000000000000000000000C3
+:109DA00000000000000000000000000000000000B3
+:109DB00000000000000000000000000000000000A3
+:109DC0000000000000000000000000000000000093
+:109DD0000000000000000000000000000000000083
+:109DE0000000000000000000000000000000000073
+:109DF0000000000000000000000000000000000063
+:109E00000000000000000000000000000000000052
+:109E10000000000000000000000000000000000042
+:109E20000000000000000000000000000000000032
+:109E30000000000000000000000000000000000022
+:109E40000000000000000000000000000000000012
+:109E50000000000000000000000000000000000002
+:109E600000000000000000000000000000000000F2
+:109E700000000000000000000000000000000000E2
+:109E800000000000000000000000000000000000D2
+:109E900000000000000000000000000000000000C2
+:109EA00000000000000000000000000000000000B2
+:109EB00000000000000000000000000000000000A2
+:109EC0000000000000000000000000000000000092
+:109ED0000000000000000000000000000000000082
+:109EE0000000000000000000000000000000000072
+:109EF0000000000000000000000000000000000062
+:109F00000000000000000000000000000000000051
+:109F10000000000000000000000000000000000041
+:109F20000000000000000000000000000000000031
+:109F30000000000000000000000000000000000021
+:109F40000000000000000000000000000000000011
+:109F50000000000000000000000000000000000001
+:109F600000000000000000000000000000000000F1
+:109F700000000000000000000000000000000000E1
+:109F800000000000000000000000000000000000D1
+:109F900000000000000000000000000000000000C1
+:109FA00000000000000000000000000000000000B1
+:109FB00000000000000000000000000000000000A1
+:109FC0000000000000000000000000000000000091
+:109FD0000000000000000000000000000000000081
+:109FE0000000000000000000000000000000000071
+:109FF0000000000000000000000000000000000061
+:10A000000000000000000000000000000000000050
+:10A010000000000000000000000000000000000040
+:10A02000000000000000000202020202020202021E
+:10A030000202020202020202020202020202020200
+:10A0400002020202020202020202020202020202F0
+:10A0500002020202020202020202020202020202E0
+:10A0600002020202020202020202020202020202D0
+:10A0700002020202020202020202020202020202C0
+:10A0800002020202020202020202020202020202B0
+:10A0900002020202020202020202020202020202A0
+:10A0A0000202020202020202020202020202020290
+:10A0B0000202020202020202020202020202020280
+:10A0C0000202020202020202020202020202020270
+:10A0D0000202020202020202020202020202020260
+:10A0E0000202020202020202020202020202020250
+:10A0F0000202020202020202020202020202020240
+:10A10000020202020202020202020202020202022F
+:10A11000020202020202020202020202020202021F
+:10A12000020202020202020202020202020202020F
+:10A1300002020202020202020202020202020202FF
+:10A1400002020202020202020202020202020202EF
+:10A1500002020202020202020202020202020202DF
+:10A1600002020202020202020202020202020202CF
+:10A1700002020202020202020202020202020202BF
+:10A1800002020202020202020202020202020202AF
+:10A19000020202020202020202020202020202029F
+:10A1A000020202020202020202020202020202028F
+:10A1B000020202020202020202020202020202027F
+:10A1C000020202020202020202020202020202026F
+:10A1D000020202020202020202020202020202025F
+:10A1E000020202020202020202020202020202024F
+:10A1F000020202020202020202020202020202023F
+:10A20000020202020202020202020202020202022E
+:10A21000020202020202020202020202020202021E
+:10A22000020202020202020202020202020202020E
+:10A2300002020202020202020202020202020202FE
+:10A2400002020202020202020202020202020202EE
+:10A2500002020202020202020202020202020202DE
+:10A2600002020202020202020202020202020202CE
+:10A2700002020202020202020202020202020202BE
+:10A2800002020202020202020202020202020202AE
+:10A29000020202020202020202020202020202029E
+:10A2A000020202020202020202020202020202028E
+:10A2B000020202020202020202020202020202027E
+:10A2C000020202020202020202020202020202026E
+:10A2D000020202020202020202020202020202025E
+:10A2E000020202020202020202020202020202024E
+:10A2F000020202020202020202020202020202023E
+:10A30000020202020202020202020202020202022D
+:10A31000020202020202020202020202020202021D
+:10A32000020202020202020202020202020202020D
+:10A3300002020202020202020202020202020202FD
+:10A3400002020202020202020202020202020202ED
+:10A3500002020202020202020202020202020202DD
+:10A3600002020202020202020202020202020202CD
+:10A3700002020202020202020202020202020202BD
+:10A3800002020202020202020202020202020202AD
+:10A39000020202020202020202020202020202029D
+:10A3A000020202020202020202020202020202028D
+:10A3B000020202020202020202020202020202027D
+:10A3C000020202020202020202020202020202026D
+:10A3D000020202020202020202020202020202025D
+:10A3E000020202020202020202020202020202024D
+:10A3F000020202020202020202020202020202023D
+:10A40000020202020202020202020202020202022C
+:10A41000020202020202020202020202020202021C
+:10A42000020202020202020202020202020202020C
+:10A4300002020202020202020202020202020202FC
+:10A4400002020202020202020202020202020202EC
+:10A4500002020202020202020202020202020202DC
+:10A4600002020202020202020202020202020202CC
+:10A4700002020202020202020202020202020202BC
+:10A4800002020202020202020202020202020202AC
+:10A49000020202020202020202020202020202029C
+:10A4A000020202020202020202020202020202028C
+:10A4B000020202020202020202020202020202027C
+:10A4C000020202020202020202020202020202026C
+:10A4D000020202020202020202020202020202025C
+:10A4E000020202020202020202020202020202024C
+:10A4F000020202020202020202020202020202023C
+:10A50000020202020202020202020202020202022B
+:10A51000020202020202020202020202020202021B
+:10A52000020202020202020202020202020202020B
+:10A5300002020202020202020202020202020202FB
+:10A5400002020202020202020202020202020202EB
+:10A5500002020202020202020202020202020202DB
+:10A5600002020202020202020202020202020202CB
+:10A5700002020202020202020202020202020202BB
+:10A5800002020202020202020202020202020202AB
+:10A59000020202020202020202020202020202029B
+:10A5A000020202020202020202020202020202028B
+:10A5B000020202020202020202020202020202027B
+:10A5C000020202020202020202020202020202026B
+:10A5D000020202020202020202020202020202025B
+:10A5E000020202020202020202020202020202024B
+:10A5F000020202020202020202020202020202023B
+:10A60000020202020202020202020202020202022A
+:10A61000020202020202020202020202020202021A
+:10A62000020202020202020202020202020202020A
+:10A6300002020202020202020202020202020202FA
+:10A6400002020202020202020202020202020202EA
+:10A6500002020202020202020202020202020202DA
+:10A6600002020202020202020202020202020202CA
+:10A6700002020202020202020202020202020202BA
+:10A6800002020202020202020202020202020202AA
+:10A69000020202020202020202020202020202029A
+:10A6A000020202020202020202020202020202028A
+:10A6B000020202020202020202020202020202027A
+:10A6C000020202020202020202020202020202026A
+:10A6D000020202020202020202020202020202025A
+:10A6E000020202020202020202020202020202024A
+:10A6F000020202020202020202020202020202023A
+:10A700000202020202020202020202020202020229
+:10A710000202020202020202020202020202020219
+:10A720000202020202020202020202020202020209
+:10A7300002020202020202020202020202020202F9
+:10A7400002020202020202020202020202020202E9
+:10A7500002020202020202020202020202020202D9
+:10A7600002020202020202020202020202020202C9
+:10A7700002020202020202020202020202020202B9
+:10A7800002020202020202020202020202020202A9
+:10A790000202020202020202020202020202020299
+:10A7A0000202020202020202020202020202020289
+:10A7B0000202020202020202020202020202020279
+:10A7C0000202020202020202020202020202020269
+:10A7D0000202020202020202020202020202020259
+:10A7E0000202020202020202020202020202020249
+:10A7F0000202020202020202020202020202020239
+:10A800000202020202020202020202020202020228
+:10A810000202020202020202020202020202020218
+:10A820000202020202020202020202020202020208
+:10A8300002020202020202020202020202020202F8
+:10A8400002020202020202020202020202020202E8
+:10A8500002020202020202020202020202020202D8
+:10A8600002020202020202020202020202020202C8
+:10A8700002020202020202020202020202020202B8
+:10A8800002020202020202020202020202020202A8
+:10A890000202020202020202020202020202020298
+:10A8A0000202020202020202020202020202020288
+:10A8B0000202020202020202020202020202020278
+:10A8C0000202020202020202020202020202020268
+:10A8D0000202020202020202020202020202020258
+:10A8E0000202020202020202020202020202020248
+:10A8F0000202020202020202020202020202020238
+:10A900000202020202020202020202020202020227
+:10A910000202020202020202020202020202020217
+:10A920000202020202020202020202020202020207
+:10A9300002020202020202020202020202020202F7
+:10A9400002020202020202020202020202020202E7
+:10A9500002020202020202020202020202020202D7
+:10A9600002020202020202020202020202020202C7
+:10A9700002020202020202020202020202020202B7
+:10A9800002020202020202020202020202020202A7
+:10A990000202020202020202020202020202020297
+:10A9A0000202020202020202020202020202020287
+:10A9B0000202020202020202020202020202020277
+:10A9C0000202020202020202020202020202020267
+:10A9D0000202020202020202020202020202020257
+:10A9E0000202020202020202020202020202020247
+:10A9F0000202020202020202020202020202020237
+:10AA00000202020202020202020202020202020226
+:10AA10000202020202020202020202020202020216
+:10AA20000202020202020202020202020202020206
+:10AA300002020202020202020202020202020202F6
+:10AA400002020202020202020202020202020202E6
+:10AA500002020202020202020202020202020202D6
+:10AA600002020202020202020202020202020202C6
+:10AA700002020202020202020202020202020202B6
+:10AA800002020202020202020202020202020202A6
+:10AA90000202020202020202020202020202020296
+:10AAA0000202020202020202020202020202020286
+:10AAB0000202020202020202020202020202020276
+:10AAC0000202020202020202020202020202020266
+:10AAD0000202020202020202020202020202020256
+:10AAE0000202020202020202020202020202020246
+:10AAF0000202020202020202020202020202020236
+:10AB00000202020202020202020202020202020225
+:10AB10000202020202020202020202020202020215
+:10AB20000202020202020202020202020202020205
+:10AB300002020202020202020202020202020202F5
+:10AB400002020202020202020202020202020202E5
+:10AB500002020202020202020202020202020202D5
+:10AB600002020202020202020202020202020202C5
+:10AB700002020202020202020202020202020202B5
+:10AB800002020202020202020202020202020202A5
+:10AB90000202020202020202020202020202020295
+:10ABA0000202020202020202020202020202020285
+:10ABB0000202020202020202020202020202020275
+:10ABC0000202020202020202020202020202020265
+:10ABD0000202020202020202020202020202020255
+:10ABE0000202020202020202020202020202020245
+:10ABF0000202020202020202020202020202020235
+:10AC00000202020202020202020202020202020224
+:10AC10000202020202020202020202020202020214
+:10AC20000202020202020202020202020202020204
+:10AC300002020202020202020202020202020202F4
+:10AC400002020202020202020202020202020202E4
+:10AC500002020202020202020202020202020202D4
+:10AC600002020202020202020202020202020202C4
+:10AC700002020202020202020202020202020202B4
+:10AC800002020202020202020202020202020202A4
+:10AC90000202020202020202020202020202020294
+:10ACA0000202020202020202020202020202020284
+:10ACB0000202020202020202020202020202020274
+:10ACC0000202020202020202020202020202020264
+:10ACD0000202020202020202020202020202020254
+:10ACE0000202020202020202020202020202020244
+:10ACF0000202020202020202020202020202020234
+:10AD00000202020202020202020202020202020223
+:10AD10000202020202020202020202020202020213
+:10AD20000202020202020202020202020202020203
+:10AD300002020202020202020202020202020202F3
+:10AD400002020202020202020202020202020202E3
+:10AD500002020202020202020202020202020202D3
+:10AD600002020202020202020202020202020202C3
+:10AD700002020202020202020202020202020202B3
+:10AD800002020202020202020202020202020202A3
+:10AD90000202020202020202020202020202020293
+:10ADA0000202020202020202020202020202020283
+:10ADB0000202020202020202020202020202020273
+:10ADC0000202020202020202020202020202020263
+:10ADD0000202020202020202020202020202020253
+:10ADE0000202020202020202020202020202020243
+:10ADF0000202020202020202020202020202020233
+:10AE00000202020202020202020202020202020222
+:10AE10000202020202020202020202020202020212
+:10AE20000202020202020202020202020202020202
+:10AE300002020202020202020202020202020202F2
+:10AE400002020202020202020202020202020202E2
+:10AE500002020202020202020202020202020202D2
+:10AE600002020202020202020202020202020202C2
+:10AE700002020202020202020202020202020202B2
+:10AE800002020202020202020202020202020202A2
+:10AE90000202020202020202020202020202020292
+:10AEA0000202020202020202020202020202020282
+:10AEB0000202020202020202020202020202020272
+:10AEC0000202020202020202020202020202020262
+:10AED0000202020202020202020202020202020252
+:10AEE0000202020202020202020202020202020242
+:10AEF0000202020202020202020202020202020232
+:10AF00000202020202020202020202020202020221
+:10AF10000202020202020202020202020202020211
+:10AF20000202020202020202020202020202020201
+:10AF300002020202020202020202020202020202F1
+:10AF400002020202020202020202020202020202E1
+:10AF500002020202020202020202020202020202D1
+:10AF600002020202020202020202020202020202C1
+:10AF700002020202020202020202020202020202B1
+:10AF800002020202020202020202020202020202A1
+:10AF90000202020202020202020202020202020291
+:10AFA0000202020202020202020202020202020281
+:10AFB0000202020202020202020202020202020271
+:10AFC0000202020202020202020202020202020261
+:10AFD0000202020202020202020202020202020251
+:10AFE0000202020202020202020202020202020241
+:10AFF0000202020202020202020202020202020231
+:10B000000202020202020202020202020202020220
+:10B010000202020202020202020202020202020210
+:10B020000202020202020202020202020202020200
+:10B0300002020202020202020202020202020202F0
+:10B0400002020202020202020202020202020202E0
+:10B0500002020202020202020202020202020202D0
+:10B0600002020202020202020202020202020202C0
+:10B0700002020202020202020202020202020202B0
+:10B0800002020202020202020202020202020202A0
+:10B090000202020202020202020202020202020290
+:10B0A0000202020202020202020202020202020280
+:10B0B0000202020202020202020202020202020270
+:10B0C0000202020202020202020202020202020260
+:10B0D0000202020202020202020202020202020250
+:10B0E0000202020202020202020202020202020240
+:10B0F0000202020202020202020202020202020230
+:10B10000020202020202020202020202020202021F
+:10B11000020202020202020202020202020202020F
+:10B120000202020202020200000000000000000011
+:10B13000000000000000000000000000000000000F
+:10B1400000000000000000000000000000000000FF
+:10B1500000000000000000000000000000000000EF
+:10B1600000000000000000000000000000000000DF
+:10B1700000000000000000000000000000000000CF
+:10B1800000000000000000000000000000000000BF
+:10B1900000000000000000000000000000000000AF
+:10B1A000000000000000000000000000000000009F
+:10B1B000000000000000000000000000000000008F
+:10B1C000000000000000000000000000000000007F
+:10B1D000000000000000000000000000000000006F
+:10B1E000000000000000000000000000000000005F
+:10B1F000000000000000000000000000000000004F
+:10B20000000000000000000000000000000000003E
+:10B21000000000000000000000000000000000002E
+:10B22000000000000000000000000000000000001E
+:10B23000000000000000000000000000000000000E
+:10B2400000000000000000000000000000000000FE
+:10B2500000000000000000000000000000000000EE
+:10B2600000000000000000000000000000000000DE
+:10B2700000000000000000000000000000000000CE
+:10B2800000000000000000000000000000000000BE
+:10B2900000000000000000000000000000000000AE
+:10B2A000000000000000000000000000000000009E
+:10B2B000000000000000000000000000000000008E
+:10B2C000000000000000000000000000000000007E
+:10B2D000000000000000000000000000000000006E
+:10B2E000000000000000000000000000000000005E
+:10B2F000000000000000000000000000000000004E
+:10B30000000000000000000000000000000000003D
+:10B31000000000000000000000000000000000002D
+:10B32000000000000000000000000000000000001D
+:10B33000000000000000000000000000000000000D
+:10B3400000000000000000000000000000000000FD
+:10B3500000000000000000000000000000000000ED
+:10B3600000000000000000000000000000000000DD
+:10B3700000000000000000000000000000000000CD
+:10B3800000000000000000000000000000000000BD
+:10B3900000000000000000000000000000000000AD
+:10B3A000000000000000000000000000000000009D
+:10B3B000000000000000000000000000000000008D
+:10B3C000000000000000000000000000000000007D
+:10B3D000000000000000000000000000000000006D
+:10B3E000000000000000000000000000000000005D
+:10B3F000000000000000000000000000000000004D
+:10B40000000000000000000000000000000000003C
+:10B41000000000000000000000000000000000002C
+:10B42000000000000000000000000000000000001C
+:10B43000000000000000000000000000000000000C
+:10B4400000000000000000000000000000000000FC
+:10B4500000000000000000000000000000000000EC
+:10B4600000000000000000000000000000000000DC
+:10B4700000000000000000000000000000000000CC
+:10B4800000000000000000000000000000000000BC
+:10B4900000000000000000000000000000000000AC
+:10B4A000000000000000000000000000000000009C
+:10B4B000000000000000000000000000000000008C
+:10B4C000000000000000000000000000000000007C
+:10B4D000000000000000000000000000000000006C
+:10B4E000000000000000000000000000000000005C
+:10B4F000000000000000000000000000000000004C
+:10B50000000000000000000000000000000000003B
+:10B51000000000000000000000000000000000002B
+:10B52000000000000000000000000000000000001B
+:10B53000000000000000000000000000000000000B
+:10B5400000000000000000000000000000000000FB
+:10B5500000000000000000000000000000000000EB
+:10B5600000000000000000000000000000000000DB
+:10B5700000000000000000000000000000000000CB
+:10B5800000000000000000000000000000000000BB
+:10B5900000000000000000000000000000000000AB
+:10B5A000000000000000000000000000000000009B
+:10B5B000000000000000000000000000000000008B
+:10B5C000000000000000000000000000000000007B
+:10B5D000000000000000000000000000000000006B
+:10B5E000000000000000000000000000000000005B
+:10B5F000000000000000000000000000000000004B
+:10B60000000000000000000000000000000000003A
+:10B61000000000000000000000000000000000002A
+:10B62000000000000000000000000000000000001A
+:10B63000000000000000000000000000000000000A
+:10B6400000000000000000000000000000000000FA
+:10B6500000000000000000000000000000000000EA
+:10B6600000000000000000000000000000000000DA
+:10B6700000000000000000000000000000000000CA
+:10B6800000000000000000000000000000000000BA
+:10B6900000000000000000000000000000000000AA
+:10B6A000000000000000000000000000000000009A
+:10B6B000000000000000000000000000000000008A
+:10B6C000000000000000000000000000000000007A
+:10B6D000000000000000000000000000000000006A
+:10B6E000000000000000000000000000000000005A
+:10B6F000000000000000000000000000000000004A
+:10B700000000000000000000000000000000000039
+:10B710000000000000000000000000000000000029
+:10B720000000000000000000000000000000000019
+:10B730000000000000000000000000000000000009
+:10B7400000000000000000000000000000000000F9
+:10B7500000000000000000000000000000000000E9
+:10B7600000000000000000000000000000000000D9
+:10B7700000000000000000000000000000000000C9
+:10B7800000000000000000000000000000000000B9
+:10B7900000000000000000000000000000000000A9
+:10B7A0000000000000000000000000000000000099
+:10B7B0000000000000000000000000000000000089
+:10B7C0000000000000000000000000000000000079
+:10B7D0000000000000000000000000000000000069
+:10B7E0000000000000000000000000000000000059
+:10B7F0000000000000000000000000000000000049
+:10B800000000000000000000000000000000000038
+:10B810000000000000000000000000000000000028
+:10B820000000000000000000000000000000000018
+:10B830000000000000000000000000000000000008
+:10B8400000000000000000000000000000000000F8
+:10B8500000000000000000000000000000000000E8
+:10B8600000000000000000000000000000000000D8
+:10B8700000000000000000000000000000000000C8
+:10B8800000000000000000000000000000000000B8
+:10B8900000000000000000000000000000000000A8
+:10B8A0000000000000000000000000000000000098
+:10B8B0000000000000000000000000000000000088
+:10B8C0000000000000000000000000000000000078
+:10B8D0000000000000000000000000000000000068
+:10B8E0000000000000000000000000000000000058
+:10B8F0000000000000000000000000000000000048
+:10B900000000000000000000000000000000000037
+:10B910000000000000000000000000000000000027
+:10B920000000000000000000000000000000000017
+:10B930000000000000000000000000000000000007
+:10B9400000000000000000000000000000000000F7
+:10B9500000000000000000000000000000000000E7
+:10B9600000000000000000000000000000000000D7
+:10B9700000000000000000000000000000000000C7
+:10B9800000000000000000000000000000000000B7
+:10B9900000000000000000000000000000000000A7
+:10B9A0000000000000000000000000000000000097
+:10B9B0000000000000000000000000000000000087
+:10B9C0000000000000000000000000000000000077
+:10B9D0000000000000000000000000000000000067
+:10B9E0000000000000000000000000000000000057
+:10B9F0000000000000000000000000000000000047
+:10BA00000000000000000000000000000000000036
+:10BA10000000000000000000000000000000000026
+:10BA20000000000000000000000000000000000016
+:10BA30000000000000000000000000000000000006
+:10BA400000000000000000000000000000000000F6
+:10BA500000000000000000000000000000000000E6
+:10BA600000000000000000000000000000000000D6
+:10BA700000000000000000000000000000000000C6
+:10BA800000000000000000000000000000000000B6
+:10BA900000000000000000000000000000000000A6
+:10BAA0000000000000000000000000000000000096
+:10BAB0000000000000000000000000000000000086
+:10BAC0000000000000000000000000000000000076
+:10BAD0000000000000000000000000000000000066
+:10BAE0000000000000000000000000000000000056
+:10BAF0000000000000000000000000000000000046
+:10BB00000000000000000000000000000000000035
+:10BB10000000000000000000000000000000000025
+:10BB20000000000000000000000000000000000015
+:10BB30000000000000000000000000000000000005
+:10BB400000000000000000000000000000000000F5
+:10BB500000000000000000000000000000000000E5
+:10BB600000000000000000000000000000000000D5
+:10BB700000000000000000000000000000000000C5
+:10BB800000000000000000000000000000000000B5
+:10BB900000000000000000000000000000000000A5
+:10BBA0000000000000000000000000000000000095
+:10BBB0000000000000000000000000000000000085
+:10BBC0000000000000000000000000000000000075
+:10BBD0000000000000000000000000000000000065
+:10BBE0000000000000000000000000000000000055
+:10BBF0000000000000000000000000000000000045
+:10BC00000000000000000000000000000000000034
+:10BC10000000000000000000000000000000000024
+:10BC2000000000000000000101010101010101010B
+:10BC300001010101010101010101010101010101F4
+:10BC400001010101010101010101010101010101E4
+:10BC500001010101010101010101010101010101D4
+:10BC600001010101010101010101010101010101C4
+:10BC700001010101010101010101010101010101B4
+:10BC800001010101010101010101010101010101A4
+:10BC90000101010101010101010101010101010194
+:10BCA0000101010101010101010101010101010184
+:10BCB0000101010101010101010101010101010174
+:10BCC0000101010101010101010101010101010164
+:10BCD0000101010101010101010101010101010154
+:10BCE0000101010101010101010101010101010144
+:10BCF0000101010101010101010101010101010134
+:10BD00000101010101010101010101010101010123
+:10BD10000101010101010101010101010101010113
+:10BD20000101010101010101010101010101010103
+:10BD300001010101010101010101010101010101F3
+:10BD400001010101010101010101010101010101E3
+:10BD500001010101010101010101010101010101D3
+:10BD600001010101010101010101010101010101C3
+:10BD700001010101010101010101010101010101B3
+:10BD800001010101010101010101010101010101A3
+:10BD90000101010101010101010101010101010193
+:10BDA0000101010101010101010101010101010183
+:10BDB0000101010101010101010101010101010173
+:10BDC0000101010101010101010101010101010163
+:10BDD0000101010101010101010101010101010153
+:10BDE0000101010101010101010101010101010143
+:10BDF0000101010101010101010101010101010133
+:10BE00000101010101010101010101010101010122
+:10BE10000101010101010101010101010101010112
+:10BE20000101010101010101010101010101010102
+:10BE300001010101010101010101010101010101F2
+:10BE400001010101010101010101010101010101E2
+:10BE500001010101010101010101010101010101D2
+:10BE600001010101010101010101010101010101C2
+:10BE700001010101010101010101010101010101B2
+:10BE800001010101010101010101010101010101A2
+:10BE90000101010101010101010101010101010192
+:10BEA0000101010101010101010101010101010182
+:10BEB0000101010101010101010101010101010172
+:10BEC0000101010101010101010101010101010162
+:10BED0000101010101010101010101010101010152
+:10BEE0000101010101010101010101010101010142
+:10BEF0000101010101010101010101010101010132
+:10BF00000101010101010101010101010101010121
+:10BF10000101010101010101010101010101010111
+:10BF20000101010101010101010101010101010101
+:10BF300001010101010101010101010101010101F1
+:10BF400001010101010101010101010101010101E1
+:10BF500001010101010101010101010101010101D1
+:10BF600001010101010101010101010101010101C1
+:10BF700001010101010101010101010101010101B1
+:10BF800001010101010101010101010101010101A1
+:10BF90000101010101010101010101010101010191
+:10BFA0000101010101010101010101010101010181
+:10BFB0000101010101010101010101010101010171
+:10BFC0000101010101010101010101010101010161
+:10BFD0000101010101010101010101010101010151
+:10BFE0000101010101010101010101010101010141
+:10BFF0000101010101010101010101010101010131
+:10C000000101010101010101010101010101010120
+:10C010000101010101010101010101010101010110
+:10C020000101010101010101010101010101010100
+:10C0300001010101010101010101010101010101F0
+:10C0400001010101010101010101010101010101E0
+:10C0500001010101010101010101010101010101D0
+:10C0600001010101010101010101010101010101C0
+:10C0700001010101010101010101010101010101B0
+:10C0800001010101010101010101010101010101A0
+:10C090000101010101010101010101010101010190
+:10C0A0000101010101010101010101010101010180
+:10C0B0000101010101010101010101010101010170
+:10C0C0000101010101010101010101010101010160
+:10C0D0000101010101010101010101010101010150
+:10C0E0000101010101010101010101010101010140
+:10C0F0000101010101010101010101010101010130
+:10C10000010101010101010101010101010101011F
+:10C11000010101010101010101010101010101010F
+:10C1200001010101010101010101010101010101FF
+:10C1300001010101010101010101010101010101EF
+:10C1400001010101010101010101010101010101DF
+:10C1500001010101010101010101010101010101CF
+:10C1600001010101010101010101010101010101BF
+:10C1700001010101010101010101010101010101AF
+:10C18000010101010101010101010101010101019F
+:10C19000010101010101010101010101010101018F
+:10C1A000010101010101010101010101010101017F
+:10C1B000010101010101010101010101010101016F
+:10C1C000010101010101010101010101010101015F
+:10C1D000010101010101010101010101010101014F
+:10C1E000010101010101010101010101010101013F
+:10C1F000010101010101010101010101010101012F
+:10C20000010101010101010101010101010101011E
+:10C21000010101010101010101010101010101010E
+:10C2200001010101010101010101010101010101FE
+:10C2300001010101010101010101010101010101EE
+:10C2400001010101010101010101010101010101DE
+:10C2500001010101010101010101010101010101CE
+:10C2600001010101010101010101010101010101BE
+:10C2700001010101010101010101010101010101AE
+:10C28000010101010101010101010101010101019E
+:10C29000010101010101010101010101010101018E
+:10C2A000010101010101010101010101010101017E
+:10C2B000010101010101010101010101010101016E
+:10C2C000010101010101010101010101010101015E
+:10C2D000010101010101010101010101010101014E
+:10C2E000010101010101010101010101010101013E
+:10C2F000010101010101010101010101010101012E
+:10C30000010101010101010101010101010101011D
+:10C31000010101010101010101010101010101010D
+:10C3200001010101010101010101010101010101FD
+:10C3300001010101010101010101010101010101ED
+:10C3400001010101010101010101010101010101DD
+:10C3500001010101010101010101010101010101CD
+:10C3600001010101010101010101010101010101BD
+:10C3700001010101010101010101010101010101AD
+:10C38000010101010101010101010101010101019D
+:10C39000010101010101010101010101010101018D
+:10C3A000010101010101010101010101010101017D
+:10C3B000010101010101010101010101010101016D
+:10C3C000010101010101010101010101010101015D
+:10C3D000010101010101010101010101010101014D
+:10C3E000010101010101010101010101010101013D
+:10C3F000010101010101010101010101010101012D
+:10C40000010101010101010101010101010101011C
+:10C41000010101010101010101010101010101010C
+:10C4200001010101010101010101010101010101FC
+:10C4300001010101010101010101010101010101EC
+:10C4400001010101010101010101010101010101DC
+:10C4500001010101010101010101010101010101CC
+:10C4600001010101010101010101010101010101BC
+:10C4700001010101010101010101010101010101AC
+:10C48000010101010101010101010101010101019C
+:10C49000010101010101010101010101010101018C
+:10C4A000010101010101010101010101010101017C
+:10C4B000010101010101010101010101010101016C
+:10C4C000010101010101010101010101010101015C
+:10C4D000010101010101010101010101010101014C
+:10C4E000010101010101010101010101010101013C
+:10C4F000010101010101010101010101010101012C
+:10C50000010101010101010101010101010101011B
+:10C51000010101010101010101010101010101010B
+:10C5200001010101010101010101010101010101FB
+:10C5300001010101010101010101010101010101EB
+:10C5400001010101010101010101010101010101DB
+:10C5500001010101010101010101010101010101CB
+:10C5600001010101010101010101010101010101BB
+:10C5700001010101010101010101010101010101AB
+:10C58000010101010101010101010101010101019B
+:10C59000010101010101010101010101010101018B
+:10C5A000010101010101010101010101010101017B
+:10C5B000010101010101010101010101010101016B
+:10C5C000010101010101010101010101010101015B
+:10C5D000010101010101010101010101010101014B
+:10C5E000010101010101010101010101010101013B
+:10C5F000010101010101010101010101010101012B
+:10C60000010101010101010101010101010101011A
+:10C61000010101010101010101010101010101010A
+:10C6200001010101010101010101010101010101FA
+:10C6300001010101010101010101010101010101EA
+:10C6400001010101010101010101010101010101DA
+:10C6500001010101010101010101010101010101CA
+:10C6600001010101010101010101010101010101BA
+:10C6700001010101010101010101010101010101AA
+:10C68000010101010101010101010101010101019A
+:10C69000010101010101010101010101010101018A
+:10C6A000010101010101010101010101010101017A
+:10C6B000010101010101010101010101010101016A
+:10C6C000010101010101010101010101010101015A
+:10C6D000010101010101010101010101010101014A
+:10C6E000010101010101010101010101010101013A
+:10C6F000010101010101010101010101010101012A
+:10C700000101010101010101010101010101010119
+:10C710000101010101010101010101010101010109
+:10C7200001010101010101010101010101010101F9
+:10C7300001010101010101010101010101010101E9
+:10C7400001010101010101010101010101010101D9
+:10C7500001010101010101010101010101010101C9
+:10C7600001010101010101010101010101010101B9
+:10C7700001010101010101010101010101010101A9
+:10C780000101010101010101010101010101010199
+:10C790000101010101010101010101010101010189
+:10C7A0000101010101010101010101010101010179
+:10C7B0000101010101010101010101010101010169
+:10C7C0000101010101010101010101010101010159
+:10C7D0000101010101010101010101010101010149
+:10C7E0000101010101010101010101010101010139
+:10C7F0000101010101010101010101010101010129
+:10C800000101010101010101010101010101010118
+:10C810000101010101010101010101010101010108
+:10C8200001010101010101010101010101010101F8
+:10C8300001010101010101010101010101010101E8
+:10C8400001010101010101010101010101010101D8
+:10C8500001010101010101010101010101010101C8
+:10C8600001010101010101010101010101010101B8
+:10C8700001010101010101010101010101010101A8
+:10C880000101010101010101010101010101010198
+:10C890000101010101010101010101010101010188
+:10C8A0000101010101010101010101010101010178
+:10C8B0000101010101010101010101010101010168
+:10C8C0000101010101010101010101010101010158
+:10C8D0000101010101010101010101010101010148
+:10C8E0000101010101010101010101010101010138
+:10C8F0000101010101010101010101010101010128
+:10C900000101010101010101010101010101010117
+:10C910000101010101010101010101010101010107
+:10C9200001010101010101010101010101010101F7
+:10C9300001010101010101010101010101010101E7
+:10C9400001010101010101010101010101010101D7
+:10C9500001010101010101010101010101010101C7
+:10C9600001010101010101010101010101010101B7
+:10C9700001010101010101010101010101010101A7
+:10C980000101010101010101010101010101010197
+:10C990000101010101010101010101010101010187
+:10C9A0000101010101010101010101010101010177
+:10C9B0000101010101010101010101010101010167
+:10C9C0000101010101010101010101010101010157
+:10C9D0000101010101010101010101010101010147
+:10C9E0000101010101010101010101010101010137
+:10C9F0000101010101010101010101010101010127
+:10CA00000101010101010101010101010101010116
+:10CA10000101010101010101010101010101010106
+:10CA200001010101010101010101010101010101F6
+:10CA300001010101010101010101010101010101E6
+:10CA400001010101010101010101010101010101D6
+:10CA500001010101010101010101010101010101C6
+:10CA600001010101010101010101010101010101B6
+:10CA700001010101010101010101010101010101A6
+:10CA80000101010101010101010101010101010196
+:10CA90000101010101010101010101010101010186
+:10CAA0000101010101010101010101010101010176
+:10CAB0000101010101010101010101010101010166
+:10CAC0000101010101010101010101010101010156
+:10CAD0000101010101010101010101010101010146
+:10CAE0000101010101010101010101010101010136
+:10CAF0000101010101010101010101010101010126
+:10CB00000101010101010101010101010101010115
+:10CB10000101010101010101010101010101010105
+:10CB200001010101010101010101010101010101F5
+:10CB300001010101010101010101010101010101E5
+:10CB400001010101010101010101010101010101D5
+:10CB500001010101010101010101010101010101C5
+:10CB600001010101010101010101010101010101B5
+:10CB700001010101010101010101010101010101A5
+:10CB80000101010101010101010101010101010195
+:10CB90000101010101010101010101010101010185
+:10CBA0000101010101010101010101010101010175
+:10CBB0000101010101010101010101010101010165
+:10CBC0000101010101010101010101010101010155
+:10CBD0000101010101010101010101010101010145
+:10CBE0000101010101010101010101010101010135
+:10CBF0000101010101010101010101010101010125
+:10CC00000101010101010101010101010101010114
+:10CC10000101010101010101010101010101010104
+:10CC200001010101010101010101010101010101F4
+:10CC300001010101010101010101010101010101E4
+:10CC400001010101010101010101010101010101D4
+:10CC500001010101010101010101010101010101C4
+:10CC600001010101010101010101010101010101B4
+:10CC700001010101010101010101010101010101A4
+:10CC80000101010101010101010101010101010194
+:10CC90000101010101010101010101010101010184
+:10CCA0000101010101010101010101010101010174
+:10CCB0000101010101010101010101010101010164
+:10CCC0000101010101010101010101010101010154
+:10CCD0000101010101010101010101010101010144
+:10CCE0000101010101010101010101010101010134
+:10CCF0000101010101010101010101010101010124
+:10CD00000101010101010101010101010101010113
+:10CD10000101010101010101010101010101010103
+:10CD200001010101010101000000000000000000FC
+:10CD300000000000000000000000000000000000F3
+:10CD400000000000000000000000000000000000E3
+:10CD500000000000000000000000000000000000D3
+:10CD600000000000000000000000000000000000C3
+:10CD700000000000000000000000000000000000B3
+:10CD800000000000000000000000000000000000A3
+:10CD90000000000000000000000000000000000093
+:10CDA0000000000000000000000000000000000083
+:10CDB0000000000000000000000000000000000073
+:10CDC0000000000000000000000000000000000063
+:10CDD0000000000000000000000000000000000053
+:10CDE0000000000000000000000000000000000043
+:10CDF0000000000000000000000000000000000033
+:10CE00000000000000000000000000000000000022
+:10CE10000000000000000000000000000000000012
+:10CE20000000000000000000000000000000000002
+:10CE300000000000000000000000000000000000F2
+:10CE400000000000000000000000000000000000E2
+:10CE500000000000000000000000000000000000D2
+:10CE600000000000000000000000000000000000C2
+:10CE700000000000000000000000000000000000B2
+:10CE800000000000000000000000000000000000A2
+:10CE90000000000000000000000000000000000092
+:10CEA0000000000000000000000000000000000082
+:10CEB0000000000000000000000000000000000072
+:10CEC0000000000000000000000000000000000062
+:10CED0000000000000000000000000000000000052
+:10CEE0000000000000000000000000000000000042
+:10CEF0000000000000000000000000000000000032
+:10CF00000000000000000000000000000000000021
+:10CF10000000000000000000000000000000000011
+:10CF20000000000000000000000000000000000001
+:10CF300000000000000000000000000000000000F1
+:10CF400000000000000000000000000000000000E1
+:10CF500000000000000000000000000000000000D1
+:10CF600000000000000000000000000000000000C1
+:10CF700000000000000000000000000000000000B1
+:10CF800000000000000000000000000000000000A1
+:10CF90000000000000000000000000000000000091
+:10CFA0000000000000000000000000000000000081
+:10CFB0000000000000000000000000000000000071
+:10CFC0000000000000000000000000000000000061
+:10CFD0000000000000000000000000000000000051
+:10CFE0000000000000000000000000000000000041
+:10CFF0000000000000000000000000000000000031
+:10D000000000000000000000000000000000000020
+:10D010000000000000000000000000000000000010
+:10D020000000000000000000000000000000000000
+:10D0300000000000000000000000000000000000F0
+:10D0400000000000000000000000000000000000E0
+:10D0500000000000000000000000000000000000D0
+:10D0600000000000000000000000000000000000C0
+:10D0700000000000000000000000000000000000B0
+:10D0800000000000000000000000000000000000A0
+:10D090000000000000000000000000000000000090
+:10D0A0000000000000000000000000000000000080
+:10D0B0000000000000000000000000000000000070
+:10D0C0000000000000000000000000000000000060
+:10D0D0000000000000000000000000000000000050
+:10D0E0000000000000000000000000000000000040
+:10D0F0000000000000000000000000000000000030
+:10D10000000000000000000000000000000000001F
+:10D11000000000000000000000000000000000000F
+:10D1200000000000000000020202020202020202ED
+:10D1300002020202020202020202020202020202CF
+:10D1400002020202020202020202020202020202BF
+:10D1500002020202020202020202020202020202AF
+:10D16000020202020202020202020202020202029F
+:10D17000020202020202020202020202020202028F
+:10D18000020202020202020202020202020202027F
+:10D19000020202020202020202020202020202026F
+:10D1A000020202020202020202020202020202025F
+:10D1B000020202020202020202020202020202024F
+:10D1C000020202020202020202020202020202023F
+:10D1D000020202020202020202020202020202022F
+:10D1E000020202020202020202020202020202021F
+:10D1F000020202020202020202020202020202020F
+:10D2000002020202020202020202020202020202FE
+:10D2100002020202020202020202020202020202EE
+:10D2200002020202020202020202020202020202DE
+:10D2300002020202020202020202020202020202CE
+:10D2400002020202020202020202020202020202BE
+:10D2500002020202020202020202020202020202AE
+:10D26000020202020202020202020202020202029E
+:10D27000020202020202020202020202020202028E
+:10D28000020202020202020202020202020202027E
+:10D29000020202020202020202020202020202026E
+:10D2A000020202020202020202020202020202025E
+:10D2B000020202020202020202020202020202024E
+:10D2C000020202020202020202020202020202023E
+:10D2D000020202020202020202020202020202022E
+:10D2E000020202020202020202020202020202021E
+:10D2F000020202020202020202020202020202020E
+:10D3000002020202020202020202020202020202FD
+:10D3100002020202020202020202020202020202ED
+:10D3200002020202020202020202020202020202DD
+:10D3300002020202020202020202020202020202CD
+:10D3400002020202020202020202020202020202BD
+:10D3500002020202020202020202020202020202AD
+:10D36000020202020202020202020202020202029D
+:10D37000020202020202020202020202020202028D
+:10D38000020202020202020202020202020202027D
+:10D39000020202020202020202020202020202026D
+:10D3A000020202020202020202020202020202025D
+:10D3B000020202020202020202020202020202024D
+:10D3C000020202020202020202020202020202023D
+:10D3D000020202020202020202020202020202022D
+:10D3E000020202020202020202020202020202021D
+:10D3F000020202020202020202020202020202020D
+:10D4000002020202020202020202020202020202FC
+:10D4100002020202020202020202020202020202EC
+:10D4200002020202020202020202020202020202DC
+:10D4300002020202020202020202020202020202CC
+:10D4400002020202020202020202020202020202BC
+:10D4500002020202020202020202020202020202AC
+:10D46000020202020202020202020202020202029C
+:10D47000020202020202020202020202020202028C
+:10D48000020202020202020202020202020202027C
+:10D49000020202020202020202020202020202026C
+:10D4A000020202020202020202020202020202025C
+:10D4B000020202020202020202020202020202024C
+:10D4C000020202020202020202020202020202023C
+:10D4D000020202020202020202020202020202022C
+:10D4E000020202020202020202020202020202021C
+:10D4F000020202020202020202020202020202020C
+:10D5000002020202020202020202020202020202FB
+:10D5100002020202020202020202020202020202EB
+:10D5200002020202020202020202020202020202DB
+:10D5300002020202020202020202020202020202CB
+:10D5400002020202020202020202020202020202BB
+:10D5500002020202020202020202020202020202AB
+:10D56000020202020202020202020202020202029B
+:10D57000020202020202020202020202020202028B
+:10D58000020202020202020202020202020202027B
+:10D59000020202020202020202020202020202026B
+:10D5A000020202020202020202020202020202025B
+:10D5B000020202020202020202020202020202024B
+:10D5C000020202020202020202020202020202023B
+:10D5D000020202020202020202020202020202022B
+:10D5E000020202020202020202020202020202021B
+:10D5F000020202020202020202020202020202020B
+:10D6000002020202020202020202020202020202FA
+:10D6100002020202020202020202020202020202EA
+:10D6200002020202020202020202020202020202DA
+:10D6300002020202020202020202020202020202CA
+:10D6400002020202020202020202020202020202BA
+:10D6500002020202020202020202020202020202AA
+:10D66000020202020202020202020202020202029A
+:10D67000020202020202020202020202020202028A
+:10D68000020202020202020202020202020202027A
+:10D69000020202020202020202020202020202026A
+:10D6A000020202020202020202020202020202025A
+:10D6B000020202020202020202020202020202024A
+:10D6C000020202020202020202020202020202023A
+:10D6D000020202020202020202020202020202022A
+:10D6E000020202020202020202020202020202021A
+:10D6F000020202020202020202020202020202020A
+:10D7000002020202020202020202020202020202F9
+:10D7100002020202020202020202020202020202E9
+:10D7200002020202020202020202020202020202D9
+:10D7300002020202020202020202020202020202C9
+:10D7400002020202020202020202020202020202B9
+:10D7500002020202020202020202020202020202A9
+:10D760000202020202020202020202020202020299
+:10D770000202020202020202020202020202020289
+:10D780000202020202020202020202020202020279
+:10D790000202020202020202020202020202020269
+:10D7A0000202020202020202020202020202020259
+:10D7B0000202020202020202020202020202020249
+:10D7C0000202020202020202020202020202020239
+:10D7D0000202020202020202020202020202020229
+:10D7E0000202020202020202020202020202020219
+:10D7F0000202020202020202020202020202020209
+:10D8000002020202020202020202020202020202F8
+:10D8100002020202020202020202020202020202E8
+:10D8200002020202020202020202020202020202D8
+:10D8300002020202020202020202020202020202C8
+:10D8400002020202020202020202020202020202B8
+:10D8500002020202020202020202020202020202A8
+:10D860000202020202020202020202020202020298
+:10D870000202020202020202020202020202020288
+:10D880000202020202020202020202020202020278
+:10D890000202020202020202020202020202020268
+:10D8A0000202020202020202020202020202020258
+:10D8B0000202020202020202020202020202020248
+:10D8C0000202020202020202020202020202020238
+:10D8D0000202020202020202020202020202020228
+:10D8E0000202020202020202020202020202020218
+:10D8F0000202020202020202020202020202020208
+:10D9000002020202020202020202020202020202F7
+:10D9100002020202020202020202020202020202E7
+:10D9200002020202020202020202020202020202D7
+:10D9300002020202020202020202020202020202C7
+:10D9400002020202020202020202020202020202B7
+:10D9500002020202020202020202020202020202A7
+:10D960000202020202020202020202020202020297
+:10D970000202020202020202020202020202020287
+:10D980000202020202020202020202020202020277
+:10D990000202020202020202020202020202020267
+:10D9A0000202020202020202020202020202020257
+:10D9B0000202020202020202020202020202020247
+:10D9C0000202020202020202020202020202020237
+:10D9D0000202020202020202020202020202020227
+:10D9E0000202020202020202020202020202020217
+:10D9F0000202020202020202020202020202020207
+:10DA000002020202020202020202020202020202F6
+:10DA100002020202020202020202020202020202E6
+:10DA200002020202020202020202020202020202D6
+:10DA300002020202020202020202020202020202C6
+:10DA400002020202020202020202020202020202B6
+:10DA500002020202020202020202020202020202A6
+:10DA60000202020202020202020202020202020296
+:10DA70000202020202020202020202020202020286
+:10DA80000202020202020202020202020202020276
+:10DA90000202020202020202020202020202020266
+:10DAA0000202020202020202020202020202020256
+:10DAB0000202020202020202020202020202020246
+:10DAC0000202020202020202020202020202020236
+:10DAD0000202020202020202020202020202020226
+:10DAE0000202020202020202020202020202020216
+:10DAF0000202020202020202020202020202020206
+:10DB000002020202020202020202020202020202F5
+:10DB100002020202020202020202020202020202E5
+:10DB200002020202020202020202020202020202D5
+:10DB300002020202020202020202020202020202C5
+:10DB400002020202020202020202020202020202B5
+:10DB500002020202020202020202020202020202A5
+:10DB60000202020202020202020202020202020295
+:10DB70000202020202020202020202020202020285
+:10DB80000202020202020202020202020202020275
+:10DB90000202020202020202020202020202020265
+:10DBA0000202020202020202020202020202020255
+:10DBB0000202020202020202020202020202020245
+:10DBC0000202020202020202020202020202020235
+:10DBD0000202020202020202020202020202020225
+:10DBE0000202020202020202020202020202020215
+:10DBF0000202020202020202020202020202020205
+:10DC000002020202020202020202020202020202F4
+:10DC100002020202020202020202020202020202E4
+:10DC200002020202020202020202020202020202D4
+:10DC300002020202020202020202020202020202C4
+:10DC400002020202020202020202020202020202B4
+:10DC500002020202020202020202020202020202A4
+:10DC60000202020202020202020202020202020294
+:10DC70000202020202020202020202020202020284
+:10DC80000202020202020202020202020202020274
+:10DC90000202020202020202020202020202020264
+:10DCA0000202020202020202020202020202020254
+:10DCB0000202020202020202020202020202020244
+:10DCC0000202020202020202020202020202020234
+:10DCD0000202020202020202020202020202020224
+:10DCE0000202020202020202020202020202020214
+:10DCF0000202020202020202020202020202020204
+:10DD000002020202020202020202020202020202F3
+:10DD100002020202020202020202020202020202E3
+:10DD200002020202020202020202020202020202D3
+:10DD300002020202020202020202020202020202C3
+:10DD400002020202020202020202020202020202B3
+:10DD500002020202020202020202020202020202A3
+:10DD60000202020202020202020202020202020293
+:10DD70000202020202020202020202020202020283
+:10DD80000202020202020202020202020202020273
+:10DD90000202020202020202020202020202020263
+:10DDA0000202020202020202020202020202020253
+:10DDB0000202020202020202020202020202020243
+:10DDC0000202020202020202020202020202020233
+:10DDD0000202020202020202020202020202020223
+:10DDE0000202020202020202020202020202020213
+:10DDF0000202020202020202020202020202020203
+:10DE000002020202020202020202020202020202F2
+:10DE100002020202020202020202020202020202E2
+:10DE200002020202020202020202020202020202D2
+:10DE300002020202020202020202020202020202C2
+:10DE400002020202020202020202020202020202B2
+:10DE500002020202020202020202020202020202A2
+:10DE60000202020202020202020202020202020292
+:10DE70000202020202020202020202020202020282
+:10DE80000202020202020202020202020202020272
+:10DE90000202020202020202020202020202020262
+:10DEA0000202020202020202020202020202020252
+:10DEB0000202020202020202020202020202020242
+:10DEC0000202020202020202020202020202020232
+:10DED0000202020202020202020202020202020222
+:10DEE0000202020202020202020202020202020212
+:10DEF0000202020202020202020202020202020202
+:10DF000002020202020202020202020202020202F1
+:10DF100002020202020202020202020202020202E1
+:10DF200002020202020202020202020202020202D1
+:10DF300002020202020202020202020202020202C1
+:10DF400002020202020202020202020202020202B1
+:10DF500002020202020202020202020202020202A1
+:10DF60000202020202020202020202020202020291
+:10DF70000202020202020202020202020202020281
+:10DF80000202020202020202020202020202020271
+:10DF90000202020202020202020202020202020261
+:10DFA0000202020202020202020202020202020251
+:10DFB0000202020202020202020202020202020241
+:10DFC0000202020202020202020202020202020231
+:10DFD0000202020202020202020202020202020221
+:10DFE0000202020202020202020202020202020211
+:10DFF0000202020202020202020202020202020201
+:10E0000002020202020202020202020202020202F0
+:10E0100002020202020202020202020202020202E0
+:10E0200002020202020202020202020202020202D0
+:10E0300002020202020202020202020202020202C0
+:10E0400002020202020202020202020202020202B0
+:10E0500002020202020202020202020202020202A0
+:10E060000202020202020202020202020202020290
+:10E070000202020202020202020202020202020280
+:10E080000202020202020202020202020202020270
+:10E090000202020202020202020202020202020260
+:10E0A0000202020202020202020202020202020250
+:10E0B0000202020202020202020202020202020240
+:10E0C0000202020202020202020202020202020230
+:10E0D0000202020202020202020202020202020220
+:10E0E0000202020202020202020202020202020210
+:10E0F0000202020202020202020202020202020200
+:10E1000002020202020202020202020202020202EF
+:10E1100002020202020202020202020202020202DF
+:10E1200002020202020202020202020202020202CF
+:10E1300002020202020202020202020202020202BF
+:10E1400002020202020202020202020202020202AF
+:10E15000020202020202020202020202020202029F
+:10E16000020202020202020202020202020202028F
+:10E17000020202020202020202020202020202027F
+:10E18000020202020202020202020202020202026F
+:10E19000020202020202020202020202020202025F
+:10E1A000020202020202020202020202020202024F
+:10E1B000020202020202020202020202020202023F
+:10E1C000020202020202020202020202020202022F
+:10E1D000020202020202020202020202020202021F
+:10E1E000020202020202020202020202020202020F
+:10E1F00002020202020202020202020202020202FF
+:10E2000002020202020202020202020202020202EE
+:10E2100002020202020202020202020202020202DE
+:10E2200002020202020202000000000000000000E0
+:10E2300000000000000000000000000000000000DE
+:10E2400000000000000000000000000000000000CE
+:10E2500000000000000000000000000000000000BE
+:10E2600000000000000000000000000000000000AE
+:10E27000000000000000000000000000000000009E
+:10E28000000000000000000000000000000000008E
+:10E29000000000000000000000000000000000007E
+:10E2A000000000000000000000000000000000006E
+:10E2B000000000000000000000000000000000005E
+:10E2C000000000000000000000000000000000004E
+:10E2D000000000000000000000000000000000003E
+:10E2E000000000000000000000000000000000002E
+:10E2F000000000000000000000000000000000001E
+:10E30000000000000000000000000000000000000D
+:10E3100000000000000000000000000000000000FD
+:10E3200000000000000000000000000000000000ED
+:10E3300000000000000000000000000000000000DD
+:10E3400000000000000000000000000000000000CD
+:10E3500000000000000000000000000000000000BD
+:10E3600000000000000000000000000000000000AD
+:10E37000000000000000000000000000000000009D
+:10E38000000000000000000000000000000000008D
+:10E39000000000000000000000000000000000007D
+:10E3A000000000000000000000000000000000006D
+:10E3B000000000000000000000000000000000005D
+:10E3C000000000000000000000000000000000004D
+:10E3D000000000000000000000000000000000003D
+:10E3E000000000000000000000000000000000002D
+:10E3F000000000000000000000000000000000001D
+:10E40000000000000000000000000000000000000C
+:10E4100000000000000000000000000000000000FC
+:10E4200000000000000000000000000000000000EC
+:10E4300000000000000000000000000000000000DC
+:10E4400000000000000000000000000000000000CC
+:10E4500000000000000000000000000000000000BC
+:10E4600000000000000000000000000000000000AC
+:10E47000000000000000000000000000000000009C
+:10E48000000000000000000000000000000000008C
+:10E49000000000000000000000000000000000007C
+:10E4A000000000000000000000000000000000006C
+:10E4B000000000000000000000000000000000005C
+:10E4C000000000000000000000000000000000004C
+:10E4D000000000000000000000000000000000003C
+:10E4E000000000000000000000000000000000002C
+:10E4F000000000000000000000000000000000001C
+:10E50000000000000000000000000000000000000B
+:10E5100000000000000000000000000000000000FB
+:10E5200000000000000000000000000000000000EB
+:10E5300000000000000000000000000000000000DB
+:10E5400000000000000000000000000000000000CB
+:10E5500000000000000000000000000000000000BB
+:10E5600000000000000000000000000000000000AB
+:10E57000000000000000000000000000000000009B
+:10E58000000000000000000000000000000000008B
+:10E59000000000000000000000000000000000007B
+:10E5A000000000000000000000000000000000006B
+:10E5B000000000000000000000000000000000005B
+:10E5C000000000000000000000000000000000004B
+:10E5D000000000000000000000000000000000003B
+:10E5E000000000000000000000000000000000002B
+:10E5F000000000000000000000000000000000001B
+:10E60000000000000000000000000000000000000A
+:10E6100000000000000000000000000000000000FA
+:10E6200000000000000000000000000000000000EA
+:10E6300000000000000000000000000000000000DA
+:10E6400000000000000000000000000000000000CA
+:10E6500000000000000000000000000000000000BA
+:10E6600000000000000000000000000000000000AA
+:10E67000000000000000000000000000000000009A
+:10E68000000000000000000000000000000000008A
+:10E69000000000000000000000000000000000007A
+:10E6A000000000000000000000000000000000006A
+:10E6B000000000000000000000000000000000005A
+:10E6C000000000000000000000000000000000004A
+:10E6D000000000000000000000000000000000003A
+:10E6E000000000000000000000000000000000002A
+:10E6F000000000000000000000000000000000001A
+:10E700000000000000000000000000000000000009
+:10E7100000000000000000000000000000000000F9
+:10E7200000000000000000000000000000000000E9
+:10E7300000000000000000000000000000000000D9
+:10E7400000000000000000000000000000000000C9
+:10E7500000000000000000000000000000000000B9
+:10E7600000000000000000000000000000000000A9
+:10E770000000000000000000000000000000000099
+:10E780000000000000000000000000000000000089
+:10E790000000000000000000000000000000000079
+:10E7A0000000000000000000000000000000000069
+:10E7B0000000000000000000000000000000000059
+:10E7C0000000000000000000000000000000000049
+:10E7D0000000000000000000000000000000000039
+:10E7E0000000000000000000000000000000000029
+:10E7F0000000000000000000000000000000000019
+:10E800000000000000000000000000000000000008
+:10E8100000000000000000000000000000000000F8
+:10E8200000000000000000000000000000000000E8
+:10E8300000000000000000000000000000000000D8
+:10E8400000000000000000000000000000000000C8
+:10E8500000000000000000000000000000000000B8
+:10E8600000000000000000000000000000000000A8
+:10E870000000000000000000000000000000000098
+:10E880000000000000000000000000000000000088
+:10E890000000000000000000000000000000000078
+:10E8A0000000000000000000000000000000000068
+:10E8B0000000000000000000000000000000000058
+:10E8C0000000000000000000000000000000000048
+:10E8D0000000000000000000000000000000000038
+:10E8E0000000000000000000000000000000000028
+:10E8F0000000000000000000000000000000000018
+:10E900000000000000000000000000000000000007
+:10E9100000000000000000000000000000000000F7
+:10E9200000000000000000000000000000000000E7
+:10E9300000000000000000000000000000000000D7
+:10E9400000000000000000000000000000000000C7
+:10E9500000000000000000000000000000000000B7
+:10E9600000000000000000000000000000000000A7
+:10E970000000000000000000000000000000000097
+:10E980000000000000000000000000000000000087
+:10E990000000000000000000000000000000000077
+:10E9A0000000000000000000000000000000000067
+:10E9B0000000000000000000000000000000000057
+:10E9C0000000000000000000000000000000000047
+:10E9D0000000000000000000000000000000000037
+:10E9E0000000000000000000000000000000000027
+:10E9F0000000000000000000000000000000000017
+:10EA00000000000000000000000000000000000006
+:10EA100000000000000000000000000000000000F6
+:10EA2000000000000000005B00000000000000018A
+:10EA300001010101010101010101010101010101C6
+:10EA400001010101010101010101010101010101B6
+:10EA500001010101010101010101010101010101A6
+:10EA60000101010101010101010101010101010196
+:10EA70000101010101010101010101010101010186
+:10EA80000101010101010101010101010101010176
+:10EA90000101010101010101010101010101010166
+:10EAA0000101010101010101010101010101010156
+:10EAB0000101010101010101010101010101010146
+:10EAC0000101010101010101010101010101010136
+:10EAD0000101010101010101010101010101010126
+:10EAE0000101010101010101010101010101010116
+:10EAF0000101010101010101010101010101010106
+:10EB000001010101010101010101010101010101F5
+:10EB100001010101010101010101010101010101E5
+:10EB200001010101010101010101010101010101D5
+:10EB300001010101010101010101010101010101C5
+:10EB400001010101010101010101010101010101B5
+:10EB500001010101010101010101010101010101A5
+:10EB60000101010101010101010101010101010195
+:10EB70000101010101010101010101010101010185
+:10EB80000101010101010101010101010101010175
+:10EB90000101010101010101010101010101010165
+:10EBA0000101010101010101010101010101010155
+:10EBB0000101010101010101010101010101010145
+:10EBC0000101010101010101010101010101010135
+:10EBD0000101010101010101010101010101010125
+:10EBE0000101010101010101010101010101010115
+:10EBF0000101010101010101010101010101010105
+:10EC000001010101010101010101010101010101F4
+:10EC100001010101010101010101010101010101E4
+:10EC200001010101010101010101010101010101D4
+:10EC300001010101010101010101010101010101C4
+:10EC400001010101010101010101010101010101B4
+:10EC500001010101010101010101010101010101A4
+:10EC60000101010101010101010101010101010194
+:10EC70000101010101010101010101010101010184
+:10EC80000101010101010101010101010101010174
+:10EC90000101010101010101010101010101010164
+:10ECA0000101010101010101010101010101010154
+:10ECB0000101010101010101010101010101010144
+:10ECC0000101010101010101010101010101010134
+:10ECD0000101010101010101010101010101010124
+:10ECE0000101010101010101010101010101010114
+:10ECF0000101010101010101010101010101010104
+:10ED000001010101010101010101010101010101F3
+:10ED100001010101010101010101010101010101E3
+:10ED200001010101010101010101010101010101D3
+:10ED300001010101010101010101010101010101C3
+:10ED400001010101010101010101010101010101B3
+:10ED500001010101010101010101010101010101A3
+:10ED60000101010101010101010101010101010193
+:10ED70000101010101010101010101010101010183
+:10ED80000101010101010101010101010101010173
+:10ED90000101010101010101010101010101010163
+:10EDA0000101010101010101010101010101010153
+:10EDB0000101010101010101010101010101010143
+:10EDC0000101010101010101010101010101010133
+:10EDD0000101010101010101010101010101010123
+:10EDE0000101010101010101010101010101010113
+:10EDF0000101010101010101010101010101010103
+:10EE000001010101010101010101010101010101F2
+:10EE100001010101010101010101010101010101E2
+:10EE200001010101010101010101010101010101D2
+:10EE300001010101010101010101010101010101C2
+:10EE400001010101010101010101010101010101B2
+:10EE500001010101010101010101010101010101A2
+:10EE60000101010101010101010101010101010192
+:10EE70000101010101010101010101010101010182
+:10EE80000101010101010101010101010101010172
+:10EE90000101010101010101010101010101010162
+:10EEA0000101010101010101010101010101010152
+:10EEB0000101010101010101010101010101010142
+:10EEC0000101010101010101010101010101010132
+:10EED0000101010101010101010101010101010122
+:10EEE0000101010101010101010101010101010112
+:10EEF0000101010101010101010101010101010102
+:10EF000001010101010101010101010101010101F1
+:10EF100001010101010101010101010101010101E1
+:10EF200001010101010101010101010101010101D1
+:10EF300001010101010101010101010101010101C1
+:10EF400001010101010101010101010101010101B1
+:10EF500001010101010101010101010101010101A1
+:10EF60000101010101010101010101010101010191
+:10EF70000101010101010101010101010101010181
+:10EF80000101010101010101010101010101010171
+:10EF90000101010101010101010101010101010161
+:10EFA0000101010101010101010101010101010151
+:10EFB0000101010101010101010101010101010141
+:10EFC0000101010101010101010101010101010131
+:10EFD0000101010101010101010101010101010121
+:10EFE0000101010101010101010101010101010111
+:10EFF0000101010101010101010101010101010101
+:10F0000001010101010101010101010101010101F0
+:10F0100001010101010101010101010101010101E0
+:10F0200001010101010101010101010101010101D0
+:10F0300001010101010101010101010101010101C0
+:10F0400001010101010101010101010101010101B0
+:10F0500001010101010101010101010101010101A0
+:10F060000101010101010101010101010101010190
+:10F070000101010101010101010101010101010180
+:10F080000101010101010101010101010101010170
+:10F090000101010101010101010101010101010160
+:10F0A0000101010101010101010101010101010150
+:10F0B0000101010101010101010101010101010140
+:10F0C0000101010101010101010101010101010130
+:10F0D0000101010101010101010101010101010120
+:10F0E0000101010101010101010101010101010110
+:10F0F0000101010101010101010101010101010100
+:10F1000001010101010101010101010101010101EF
+:10F1100001010101010101010101010101010101DF
+:10F1200001010101010101010101010101010101CF
+:10F1300001010101010101010101010101010101BF
+:10F1400001010101010101010101010101010101AF
+:10F15000010101010101010101010101010101019F
+:10F16000010101010101010101010101010101018F
+:10F17000010101010101010101010101010101017F
+:10F18000010101010101010101010101010101016F
+:10F19000010101010101010101010101010101015F
+:10F1A000010101010101010101010101010101014F
+:10F1B000010101010101010101010101010101013F
+:10F1C000010101010101010101010101010101012F
+:10F1D000010101010101010101010101010101011F
+:10F1E000010101010101010101010101010101010F
+:10F1F00001010101010101010101010101010101FF
+:10F2000001010101010101010101010101010101EE
+:10F2100001010101010101010101010101010101DE
+:10F2200001010101010101010101010101010101CE
+:10F2300001010101010101010101010101010101BE
+:10F2400001010101010101010101010101010101AE
+:10F25000010101010101010101010101010101019E
+:10F26000010101010101010101010101010101018E
+:10F27000010101010101010101010101010101017E
+:10F28000010101010101010101010101010101016E
+:10F29000010101010101010101010101010101015E
+:10F2A000010101010101010101010101010101014E
+:10F2B000010101010101010101010101010101013E
+:10F2C000010101010101010101010101010101012E
+:10F2D000010101010101010101010101010101011E
+:10F2E000010101010101010101010101010101010E
+:10F2F00001010101010101010101010101010101FE
+:10F3000001010101010101010101010101010101ED
+:10F3100001010101010101010101010101010101DD
+:10F3200001010101010101010101010101010101CD
+:10F3300001010101010101010101010101010101BD
+:10F3400001010101010101010101010101010101AD
+:10F35000010101010101010101010101010101019D
+:10F36000010101010101010101010101010101018D
+:10F37000010101010101010101010101010101017D
+:10F38000010101010101010101010101010101016D
+:10F39000010101010101010101010101010101015D
+:10F3A000010101010101010101010101010101014D
+:10F3B000010101010101010101010101010101013D
+:10F3C000010101010101010101010101010101012D
+:10F3D000010101010101010101010101010101011D
+:10F3E000010101010101010101010101010101010D
+:10F3F00001010101010101010101010101010101FD
+:10F4000001010101010101010101010101010101EC
+:10F4100001010101010101010101010101010101DC
+:10F4200001010101010101010101010101010101CC
+:10F4300001010101010101010101010101010101BC
+:10F4400001010101010101010101010101010101AC
+:10F45000010101010101010101010101010101019C
+:10F46000010101010101010101010101010101018C
+:10F47000010101010101010101010101010101017C
+:10F48000010101010101010101010101010101016C
+:10F49000010101010101010101010101010101015C
+:10F4A000010101010101010101010101010101014C
+:10F4B000010101010101010101010101010101013C
+:10F4C000010101010101010101010101010101012C
+:10F4D000010101010101010101010101010101011C
+:10F4E000010101010101010101010101010101010C
+:10F4F00001010101010101010101010101010101FC
+:10F5000001010101010101010101010101010101EB
+:10F5100001010101010101010101010101010101DB
+:10F5200001010101010101010101010101010101CB
+:10F5300001010101010101010101010101010101BB
+:10F5400001010101010101010101010101010101AB
+:10F55000010101010101010101010101010101019B
+:10F56000010101010101010101010101010101018B
+:10F57000010101010101010101010101010101017B
+:10F58000010101010101010101010101010101016B
+:10F59000010101010101010101010101010101015B
+:10F5A000010101010101010101010101010101014B
+:10F5B000010101010101010101010101010101013B
+:10F5C000010101010101010101010101010101012B
+:10F5D000010101010101010101010101010101011B
+:10F5E000010101010101010101010101010101010B
+:10F5F00001010101010101010101010101010101FB
+:10F6000001010101010101010101010101010101EA
+:10F6100001010101010101010101010101010101DA
+:10F6200001010101010101010101010101010101CA
+:10F6300001010101010101010101010101010101BA
+:10F6400001010101010101010101010101010101AA
+:10F65000010101010101010101010101010101019A
+:10F66000010101010101010101010101010101018A
+:10F67000010101010101010101010101010101017A
+:10F68000010101010101010101010101010101016A
+:10F69000010101010101010101010101010101015A
+:10F6A000010101010101010101010101010101014A
+:10F6B000010101010101010101010101010101013A
+:10F6C000010101010101010101010101010101012A
+:10F6D000010101010101010101010101010101011A
+:10F6E000010101010101010101010101010101010A
+:10F6F00001010101010101010101010101010101FA
+:10F7000001010101010101010101010101010101E9
+:10F7100001010101010101010101010101010101D9
+:10F7200001010101010101010101010101010101C9
+:10F7300001010101010101010101010101010101B9
+:10F7400001010101010101010101010101010101A9
+:10F750000101010101010101010101010101010199
+:10F760000101010101010101010101010101010189
+:10F770000101010101010101010101010101010179
+:10F780000101010101010101010101010101010169
+:10F790000101010101010101010101010101010159
+:10F7A0000101010101010101010101010101010149
+:10F7B0000101010101010101010101010101010139
+:10F7C0000101010101010101010101010101010129
+:10F7D0000101010101010101010101010101010119
+:10F7E0000101010101010101010101010101010109
+:10F7F00001010101010101010101010101010101F9
+:10F8000001010101010101010101010101010101E8
+:10F8100001010101010101010101010101010101D8
+:10F8200001010101010101010101010101010101C8
+:10F8300001010101010101010101010101010101B8
+:10F8400001010101010101010101010101010101A8
+:10F850000101010101010101010101010101010198
+:10F860000101010101010101010101010101010188
+:10F870000101010101010101010101010101010178
+:10F880000101010101010101010101010101010168
+:10F890000101010101010101010101010101010158
+:10F8A0000101010101010101010101010101010148
+:10F8B0000101010101010101010101010101010138
+:10F8C0000101010101010101010101010101010128
+:10F8D0000101010101010101010101010101010118
+:10F8E0000101010101010101010101010101010108
+:10F8F00001010101010101010101010101010101F8
+:10F9000001010101010101010101010101010101E7
+:10F9100001010101010101010101010101010101D7
+:10F9200001010101010101010101010101010101C7
+:10F9300001010101010101010101010101010101B7
+:10F9400001010101010101010101010101010101A7
+:10F950000101010101010101010101010101010197
+:10F960000101010101010101010101010101010187
+:10F970000101010101010101010101010101010177
+:10F980000101010101010101010101010101010167
+:10F990000101010101010101010101010101010157
+:10F9A0000101010101010101010101010101010147
+:10F9B0000101010101010101010101010101010137
+:10F9C0000101010101010101010101010101010127
+:10F9D0000101010101010101010101010101010117
+:10F9E0000101010101010101010101010101010107
+:10F9F00001010101010101010101010101010101F7
+:10FA000001010101010101010101010101010101E6
+:10FA100001010101010101010101010101010101D6
+:10FA200001010101010101010101010101010100C7
+:10FA300000000000000000000000000000000000C6
+:10FA400000000000000000000000000000000000B6
+:10FA500000000000000000000000000000000000A6
+:10FA60000000000000000000000000000000000096
+:10FA70000000000000000000000000000000000086
+:10FA80000000000000000000000000000000000076
+:10FA90000000000000000000000000000000000066
+:10FAA0000000000000000000000000000000000056
+:10FAB0000000000000000000000000000000000046
+:10FAC0000000000000000000000000000000000036
+:10FAD0000000000000000000000000000000000026
+:10FAE0000000000000000000000000000000000016
+:10FAF0000000000000000000000000000000000006
+:10FB000000000000000000000000000000000000F5
+:10FB100000000000000000000000000000000000E5
+:10FB200000000000000000000000000000000000D5
+:10FB300000000000000000000000000000000000C5
+:10FB400000000000000000000000000000000000B5
+:10FB500000000000000000000000000000000000A5
+:10FB60000000000000000000000000000000000095
+:10FB70000000000000000000000000000000000085
+:10FB80000000000000000000000000000000000075
+:10FB90000000000000000000000000000000000065
+:10FBA0000000000000000000000000000000000055
+:10FBB0000000000000000000000000000000000045
+:10FBC0000000000000000000000000000000000035
+:10FBD0000000000000000000000000000000000025
+:10FBE0000000000000000000000000000000000015
+:10FBF0000000000000000000000000000000000005
+:10FC000000000000000000000000000000000000F4
+:10FC100000000000000000000000000000000000E4
+:10FC200000000000000000000000000000000000D4
+:10FC300000000000000000000000000000000000C4
+:10FC400000000000000000000000000000000000B4
+:10FC500000000000000000000000000000000000A4
+:10FC60000000000000000000000000000000000094
+:10FC70000000000000000000000000000000000084
+:10FC80000000000000000000000000000000000074
+:10FC90000000000000000000000000000000000064
+:10FCA0000000000000000000000000000000000054
+:10FCB0000000000000000000000000000000000044
+:10FCC0000000000000000000000000000000000034
+:10FCD0000000000000000000000000000000000024
+:10FCE0000000000000000000000000000000000014
+:10FCF0000000000000000000000000000000000004
+:10FD000000000000000000000000000000000000F3
+:10FD100000000000000000000000000000000000E3
+:10FD200000000000000000000000000000000000D3
+:10FD300000000000000000000000000000000000C3
+:10FD400000000000000000000000000000000000B3
+:10FD500000000000000000000000000000000000A3
+:10FD60000000000000000000000000000000000093
+:10FD70000000000000000000000000000000000083
+:10FD80000000000000000000000000000000000073
+:10FD90000000000000000000000000000000000063
+:10FDA0000000000000000000000000000000000053
+:10FDB0000000000000000000000000000000000043
+:10FDC0000000000000000000000000000000000033
+:10FDD0000000000000000000000000000000000023
+:10FDE0000000000000000000000000000000000013
+:10FDF0000000000000000000000000000000000003
+:10FE000000000000000000000000000000000000F2
+:10FE100000000000000000000000000000000000E2
+:10FE200000000000000000000000000000000002D0
+:10FE300002020202020202020202020202020202A2
+:10FE40000202020202020202020202020202020292
+:10FE50000202020202020202020202020202020282
+:10FE60000202020202020202020202020202020272
+:10FE70000202020202020202020202020202020262
+:10FE80000202020202020202020202020202020252
+:10FE90000202020202020202020202020202020242
+:10FEA0000202020202020202020202020202020232
+:10FEB0000202020202020202020202020202020222
+:10FEC0000202020202020202020202020202020212
+:10FED0000202020202020202020202020202020202
+:10FEE00002020202020202020202020202020202F2
+:10FEF00002020202020202020202020202020202E2
+:10FF000002020202020202020202020202020202D1
+:10FF100002020202020202020202020202020202C1
+:10FF200002020202020202020202020202020202B1
+:10FF300002020202020202020202020202020202A1
+:10FF40000202020202020202020202020202020291
+:10FF50000202020202020202020202020202020281
+:10FF60000202020202020202020202020202020271
+:10FF70000202020202020202020202020202020261
+:10FF80000202020202020202020202020202020251
+:10FF90000202020202020202020202020202020241
+:10FFA0000202020202020202020202020202020231
+:10FFB0000202020202020202020202020202020221
+:10FFC0000202020202020202020202020202020211
+:10FFD0000202020202020202020202020202020201
+:10FFE00002020202020202020202020202020202F1
+:10FFF00002020202020202020202020202020202E1
+:020000024000BC
+:1000000002020202020202020202020202020202D0
+:1000100002020202020202020202020202020202C0
+:1000200002020202020202020202020202020202B0
+:1000300002020202020202020202020202020202A0
+:100040000202020202020202020202020202020290
+:100050000202020202020202020202020202020280
+:100060000202020202020202020202020202020270
+:100070000202020202020202020202020202020260
+:100080000202020202020202020202020202020250
+:100090000202020202020202020202020202020240
+:1000A0000202020202020202020202020202020230
+:1000B0000202020202020202020202020202020220
+:1000C0000202020202020202020202020202020210
+:1000D0000202020202020202020202020202020200
+:1000E00002020202020202020202020202020202F0
+:1000F00002020202020202020202020202020202E0
+:1001000002020202020202020202020202020202CF
+:1001100002020202020202020202020202020202BF
+:1001200002020202020202020202020202020202AF
+:10013000020202020202020202020202020202029F
+:10014000020202020202020202020202020202028F
+:10015000020202020202020202020202020202027F
+:10016000020202020202020202020202020202026F
+:10017000020202020202020202020202020202025F
+:10018000020202020202020202020202020202024F
+:10019000020202020202020202020202020202023F
+:1001A000020202020202020202020202020202022F
+:1001B000020202020202020202020202020202021F
+:1001C000020202020202020202020202020202020F
+:1001D00002020202020202020202020202020202FF
+:1001E00002020202020202020202020202020202EF
+:1001F00002020202020202020202020202020202DF
+:1002000002020202020202020202020202020202CE
+:1002100002020202020202020202020202020202BE
+:1002200002020202020202020202020202020202AE
+:10023000020202020202020202020202020202029E
+:10024000020202020202020202020202020202028E
+:10025000020202020202020202020202020202027E
+:10026000020202020202020202020202020202026E
+:10027000020202020202020202020202020202025E
+:10028000020202020202020202020202020202024E
+:10029000020202020202020202020202020202023E
+:1002A000020202020202020202020202020202022E
+:1002B000020202020202020202020202020202021E
+:1002C000020202020202020202020202020202020E
+:1002D00002020202020202020202020202020202FE
+:1002E00002020202020202020202020202020202EE
+:1002F00002020202020202020202020202020202DE
+:1003000002020202020202020202020202020202CD
+:1003100002020202020202020202020202020202BD
+:1003200002020202020202020202020202020202AD
+:10033000020202020202020202020202020202029D
+:10034000020202020202020202020202020202028D
+:10035000020202020202020202020202020202027D
+:10036000020202020202020202020202020202026D
+:10037000020202020202020202020202020202025D
+:10038000020202020202020202020202020202024D
+:10039000020202020202020202020202020202023D
+:1003A000020202020202020202020202020202022D
+:1003B000020202020202020202020202020202021D
+:1003C000020202020202020202020202020202020D
+:1003D00002020202020202020202020202020202FD
+:1003E00002020202020202020202020202020202ED
+:1003F00002020202020202020202020202020202DD
+:1004000002020202020202020202020202020202CC
+:1004100002020202020202020202020202020202BC
+:1004200002020202020202020202020202020202AC
+:10043000020202020202020202020202020202029C
+:10044000020202020202020202020202020202028C
+:10045000020202020202020202020202020202027C
+:10046000020202020202020202020202020202026C
+:10047000020202020202020202020202020202025C
+:10048000020202020202020202020202020202024C
+:10049000020202020202020202020202020202023C
+:1004A000020202020202020202020202020202022C
+:1004B000020202020202020202020202020202021C
+:1004C000020202020202020202020202020202020C
+:1004D00002020202020202020202020202020202FC
+:1004E00002020202020202020202020202020202EC
+:1004F00002020202020202020202020202020202DC
+:1005000002020202020202020202020202020202CB
+:1005100002020202020202020202020202020202BB
+:1005200002020202020202020202020202020202AB
+:10053000020202020202020202020202020202029B
+:10054000020202020202020202020202020202028B
+:10055000020202020202020202020202020202027B
+:10056000020202020202020202020202020202026B
+:10057000020202020202020202020202020202025B
+:10058000020202020202020202020202020202024B
+:10059000020202020202020202020202020202023B
+:1005A000020202020202020202020202020202022B
+:1005B000020202020202020202020202020202021B
+:1005C000020202020202020202020202020202020B
+:1005D00002020202020202020202020202020202FB
+:1005E00002020202020202020202020202020202EB
+:1005F00002020202020202020202020202020202DB
+:1006000002020202020202020202020202020202CA
+:1006100002020202020202020202020202020202BA
+:1006200002020202020202020202020202020202AA
+:10063000020202020202020202020202020202029A
+:10064000020202020202020202020202020202028A
+:10065000020202020202020202020202020202027A
+:10066000020202020202020202020202020202026A
+:10067000020202020202020202020202020202025A
+:10068000020202020202020202020202020202024A
+:10069000020202020202020202020202020202023A
+:1006A000020202020202020202020202020202022A
+:1006B000020202020202020202020202020202021A
+:1006C000020202020202020202020202020202020A
+:1006D00002020202020202020202020202020202FA
+:1006E00002020202020202020202020202020202EA
+:1006F00002020202020202020202020202020202DA
+:1007000002020202020202020202020202020202C9
+:1007100002020202020202020202020202020202B9
+:1007200002020202020202020202020202020202A9
+:100730000202020202020202020202020202020299
+:100740000202020202020202020202020202020289
+:100750000202020202020202020202020202020279
+:100760000202020202020202020202020202020269
+:100770000202020202020202020202020202020259
+:100780000202020202020202020202020202020249
+:100790000202020202020202020202020202020239
+:1007A0000202020202020202020202020202020229
+:1007B0000202020202020202020202020202020219
+:1007C0000202020202020202020202020202020209
+:1007D00002020202020202020202020202020202F9
+:1007E00002020202020202020202020202020202E9
+:1007F00002020202020202020202020202020202D9
+:1008000002020202020202020202020202020202C8
+:1008100002020202020202020202020202020202B8
+:1008200002020202020202020202020202020202A8
+:100830000202020202020202020202020202020298
+:100840000202020202020202020202020202020288
+:100850000202020202020202020202020202020278
+:100860000202020202020202020202020202020268
+:100870000202020202020202020202020202020258
+:100880000202020202020202020202020202020248
+:100890000202020202020202020202020202020238
+:1008A0000202020202020202020202020202020228
+:1008B0000202020202020202020202020202020218
+:1008C0000202020202020202020202020202020208
+:1008D00002020202020202020202020202020202F8
+:1008E00002020202020202020202020202020202E8
+:1008F00002020202020202020202020202020202D8
+:1009000002020202020202020202020202020202C7
+:1009100002020202020202020202020202020202B7
+:1009200002020202020202020202020202020202A7
+:100930000202020202020202020202020202020297
+:100940000202020202020202020202020202020287
+:100950000202020202020202020202020202020277
+:100960000202020202020202020202020202020267
+:100970000202020202020202020202020202020257
+:100980000202020202020202020202020202020247
+:100990000202020202020202020202020202020237
+:1009A0000202020202020202020202020202020227
+:1009B0000202020202020202020202020202020217
+:1009C0000202020202020202020202020202020207
+:1009D00002020202020202020202020202020202F7
+:1009E00002020202020202020202020202020202E7
+:1009F00002020202020202020202020202020202D7
+:100A000002020202020202020202020202020202C6
+:100A100002020202020202020202020202020202B6
+:100A200002020202020202020202020202020202A6
+:100A30000202020202020202020202020202020296
+:100A40000202020202020202020202020202020286
+:100A50000202020202020202020202020202020276
+:100A60000202020202020202020202020202020266
+:100A70000202020202020202020202020202020256
+:100A80000202020202020202020202020202020246
+:100A90000202020202020202020202020202020236
+:100AA0000202020202020202020202020202020226
+:100AB0000202020202020202020202020202020216
+:100AC0000202020202020202020202020202020206
+:100AD00002020202020202020202020202020202F6
+:100AE00002020202020202020202020202020202E6
+:100AF00002020202020202020202020202020202D6
+:100B000002020202020202020202020202020202C5
+:100B100002020202020202020202020202020202B5
+:100B200002020202020202020202020202020202A5
+:100B30000202020202020202020202020202020295
+:100B40000202020202020202020202020202020285
+:100B50000202020202020202020202020202020275
+:100B60000202020202020202020202020202020265
+:100B70000202020202020202020202020202020255
+:100B80000202020202020202020202020202020245
+:100B90000202020202020202020202020202020235
+:100BA0000202020202020202020202020202020225
+:100BB0000202020202020202020202020202020215
+:100BC0000202020202020202020202020202020205
+:100BD00002020202020202020202020202020202F5
+:100BE00002020202020202020202020202020202E5
+:100BF00002020202020202020202020202020202D5
+:100C000002020202020202020202020202020202C4
+:100C100002020202020202020202020202020202B4
+:100C200002020202020202020202020202020202A4
+:100C30000202020202020202020202020202020294
+:100C40000202020202020202020202020202020284
+:100C50000202020202020202020202020202020274
+:100C60000202020202020202020202020202020264
+:100C70000202020202020202020202020202020254
+:100C80000202020202020202020202020202020244
+:100C90000202020202020202020202020202020234
+:100CA0000202020202020202020202020202020224
+:100CB0000202020202020202020202020202020214
+:100CC0000202020202020202020202020202020204
+:100CD00002020202020202020202020202020202F4
+:100CE00002020202020202020202020202020202E4
+:100CF00002020202020202020202020202020202D4
+:100D000002020202020202020202020202020202C3
+:100D100002020202020202020202020202020202B3
+:100D200002020202020202020202020202020202A3
+:100D30000202020202020202020202020202020293
+:100D40000202020202020202020202020202020283
+:100D50000202020202020202020202020202020273
+:100D60000202020202020202020202020202020263
+:100D70000202020202020202020202020202020253
+:100D80000202020202020202020202020202020243
+:100D90000202020202020202020202020202020233
+:100DA0000202020202020202020202020202020223
+:100DB0000202020202020202020202020202020213
+:100DC0000202020202020202020202020202020203
+:100DD00002020202020202020202020202020202F3
+:100DE00002020202020202020202020202020202E3
+:100DF00002020202020202020202020202020202D3
+:100E000002020202020202020202020202020202C2
+:100E100002020202020202020202020202020202B2
+:100E200002020202020202020202020202020200A4
+:100E300000000000000000000000000000000000B2
+:100E400000000000000000000000000000000000A2
+:100E50000000000000000000000000000000000092
+:100E60000000000000000000000000000000000082
+:100E70000000000000000000000000000000000072
+:100E80000000000000000000000000000000000062
+:100E90000000000000000000000000000000000052
+:100EA0000000000000000000000000000000000042
+:100EB0000000000000000000000000000000000032
+:100EC0000000000000000000000000000000000022
+:100ED0000000000000000000000000000000000012
+:100EE0000000000000000000000000000000000002
+:100EF00000000000000000000000000000000000F2
+:100F000000000000000000000000000000000000E1
+:100F100000000000000000000000000000000000D1
+:100F200000000000000000000000000000000000C1
+:100F300000000000000000000000000000000000B1
+:100F400000000000000000000000000000000000A1
+:100F50000000000000000000000000000000000091
+:100F60000000000000000000000000000000000081
+:100F70000000000000000000000000000000000071
+:100F80000000000000000000000000000000000061
+:100F90000000000000000000000000000000000051
+:100FA0000000000000000000000000000000000041
+:100FB0000000000000000000000000000000000031
+:100FC0000000000000000000000000000000000021
+:100FD0000000000000000000000000000000000011
+:100FE0000000000000000000000000000000000001
+:100FF00000000000000000000000000000000000F1
+:1010000000000000000000000000000000000000E0
+:1010100000000000000000000000000000000000D0
+:1010200000000000000000000000000000000000C0
+:1010300000000000000000000000000000000000B0
+:1010400000000000000000000000000000000000A0
+:101050000000000000000000000000000000000090
+:101060000000000000000000000000000000000080
+:101070000000000000000000000000000000000070
+:101080000000000000000000000000000000000060
+:101090000000000000000000000000000000000050
+:1010A0000000000000000000000000000000000040
+:1010B0000000000000000000000000000000000030
+:1010C0000000000000000000000000000000000020
+:1010D0000000000000000000000000000000000010
+:1010E0000000000000000000000000000000000000
+:1010F00000000000000000000000000000000000F0
+:1011000000000000000000000000000000000000DF
+:1011100000000000000000000000000000000000CF
+:1011200000000000000000000000000000000000BF
+:1011300000000000000000000000000000000000AF
+:10114000000000000000000000000000000000009F
+:10115000000000000000000000000000000000008F
+:10116000000000000000000000000000000000007F
+:10117000000000000000000000000000000000006F
+:10118000000000000000000000000000000000005F
+:10119000000000000000000000000000000000004F
+:1011A000000000000000000000000000000000003F
+:1011B000000000000000000000000000000000002F
+:1011C000000000000000000000000000000000001F
+:1011D000000000000000000000000000000000000F
+:1011E00000000000000000000000000000000000FF
+:1011F00000000000000000000000000000000000EF
+:1012000000000000000000000000000000000000DE
+:1012100000000000000000000000000000000000CE
+:1012200000000000000000000000000000000000BE
+:1012300000000000000000000000000000000000AE
+:10124000000000000000000000000000000000009E
+:10125000000000000000000000000000000000008E
+:10126000000000000000000000000000000000007E
+:10127000000000000000000000000000000000006E
+:10128000000000000000000000000000000000005E
+:10129000000000000000000000000000000000004E
+:1012A000000000000000000000000000000000003E
+:1012B000000000000000000000000000000000002E
+:1012C000000000000000000000000000000000001E
+:1012D000000000000000000000000000000000000E
+:1012E00000000000000000000000000000000000FE
+:1012F00000000000000000000000000000000000EE
+:1013000000000000000000000000000000000000DD
+:1013100000000000000000000000000000000000CD
+:1013200000000000000000000000000000000000BD
+:1013300000000000000000000000000000000000AD
+:10134000000000000000000000000000000000009D
+:10135000000000000000000000000000000000008D
+:10136000000000000000000000000000000000007D
+:10137000000000000000000000000000000000006D
+:10138000000000000000000000000000000000005D
+:10139000000000000000000000000000000000004D
+:1013A000000000000000000000000000000000003D
+:1013B000000000000000000000000000000000002D
+:1013C000000000000000000000000000000000001D
+:1013D000000000000000000000000000000000000D
+:1013E00000000000000000000000000000000000FD
+:1013F00000000000000000000000000000000000ED
+:1014000000000000000000000000000000000000DC
+:1014100000000000000000000000000000000000CC
+:1014200000000000000000000000000000000000BC
+:1014300000000000000000000000000000000000AC
+:10144000000000000000000000000000000000009C
+:10145000000000000000000000000000000000008C
+:10146000000000000000000000000000000000007C
+:10147000000000000000000000000000000000006C
+:10148000000000000000000000000000000000005C
+:10149000000000000000000000000000000000004C
+:1014A000000000000000000000000000000000003C
+:1014B000000000000000000000000000000000002C
+:1014C000000000000000000000000000000000001C
+:1014D000000000000000000000000000000000000C
+:1014E00000000000000000000000000000000000FC
+:1014F00000000000000000000000000000000000EC
+:1015000000000000000000000000000000000000DB
+:1015100000000000000000000000000000000000CB
+:1015200000000000000000000000000000000000BB
+:1015300000000000000000000000000000000000AB
+:10154000000000000000000000000000000000009B
+:10155000000000000000000000000000000000008B
+:10156000000000000000000000000000000000007B
+:10157000000000000000000000000000000000006B
+:10158000000000000000000000000000000000005B
+:10159000000000000000000000000000000000004B
+:1015A000000000000000000000000000000000003B
+:1015B000000000000000000000000000000000002B
+:1015C000000000000000000000000000000000001B
+:1015D000000000000000000000000000000000000B
+:1015E00000000000000000000000000000000000FB
+:1015F00000000000000000000000000000000000EB
+:1016000000000000000000000000000000000000DA
+:1016100000000000000000000000000000000000CA
+:1016200000000000000000000000000000000000BA
+:1016300000000000000000000000000000000000AA
+:10164000000000000000000000000000000000009A
+:10165000000000000000000000000000000000008A
+:10166000000000000000000000000000000000007A
+:10167000000000000000000000000000000000006A
+:10168000000000000000000000000000000000005A
+:10169000000000000000000000000000000000004A
+:1016A000000000000000000000000000000000003A
+:1016B000000000000000000000000000000000002A
+:1016C000000000000000000000000000000000001A
+:1016D000000000000000000000000000000000000A
+:1016E00000000000000000000000000000000000FA
+:1016F00000000000000000000000000000000000EA
+:1017000000000000000000000000000000000000D9
+:1017100000000000000000000000000000000000C9
+:1017200000000000000000000000000000000000B9
+:1017300000000000000000000000000000000000A9
+:101740000000000000000000000000000000000099
+:101750000000000000000000000000000000000089
+:101760000000000000000000000000000000000079
+:101770000000000000000000000000000000000069
+:101780000000000000000000000000000000000059
+:101790000000000000000000000000000000000049
+:1017A0000000000000000000000000000000000039
+:1017B0000000000000000000000000000000000029
+:1017C0000000000000000000000000000000000019
+:1017D0000000000000000000000000000000000009
+:1017E00000000000000000000000000000000000F9
+:1017F00000000000000000000000000000000000E9
+:1018000000000000000000000000000000000000D8
+:1018100000000000000000000000000000000000C8
+:1018200000000000000000000000000000000000B8
+:1018300000000000000000000000000000000000A8
+:101840000000000000000000000000000000000098
+:101850000000000000000000000000000000000088
+:101860000000000000000000000000000000000078
+:101870000000000000000000000000000000000068
+:101880000000000000000000000000000000000058
+:101890000000000000000000000000000000000048
+:1018A0000000000000000000000000000000000038
+:1018B0000000000000000000000000000000000028
+:1018C0000000000000000000000000000000000018
+:1018D0000000000000000000000000000000000008
+:1018E00000000000000000000000000000000000F8
+:1018F00000000000000000000000000000000000E8
+:1019000000000000000000000000000000000000D7
+:1019100000000000000000000000000000000000C7
+:1019200000000000000000000000000000000001B6
+:101930000101010101010101010101010101010197
+:101940000101010101010101010101010101010187
+:101950000101010101010101010101010101010177
+:101960000101010101010101010101010101010167
+:101970000101010101010101010101010101010157
+:101980000101010101010101010101010101010147
+:101990000101010101010101010101010101010137
+:1019A0000101010101010101010101010101010127
+:1019B0000101010101010101010101010101010117
+:1019C0000101010101010101010101010101010107
+:1019D00001010101010101010101010101010101F7
+:1019E00001010101010101010101010101010101E7
+:1019F00001010101010101010101010101010101D7
+:101A000001010101010101010101010101010101C6
+:101A100001010101010101010101010101010101B6
+:101A200001010101010101010101010101010101A6
+:101A30000101010101010101010101010101010196
+:101A40000101010101010101010101010101010186
+:101A50000101010101010101010101010101010176
+:101A60000101010101010101010101010101010166
+:101A70000101010101010101010101010101010156
+:101A80000101010101010101010101010101010146
+:101A90000101010101010101010101010101010136
+:101AA0000101010101010101010101010101010126
+:101AB0000101010101010101010101010101010116
+:101AC0000101010101010101010101010101010106
+:101AD00001010101010101010101010101010101F6
+:101AE00001010101010101010101010101010101E6
+:101AF00001010101010101010101010101010101D6
+:101B000001010101010101010101010101010101C5
+:101B100001010101010101010101010101010101B5
+:101B200001010101010101010101010101010101A5
+:101B30000101010101010101010101010101010195
+:101B40000101010101010101010101010101010185
+:101B50000101010101010101010101010101010175
+:101B60000101010101010101010101010101010165
+:101B70000101010101010101010101010101010155
+:101B80000101010101010101010101010101010145
+:101B90000101010101010101010101010101010135
+:101BA0000101010101010101010101010101010125
+:101BB0000101010101010101010101010101010115
+:101BC0000101010101010101010101010101010105
+:101BD00001010101010101010101010101010101F5
+:101BE00001010101010101010101010101010101E5
+:101BF00001010101010101010101010101010101D5
+:101C000001010101010101010101010101010101C4
+:101C100001010101010101010101010101010101B4
+:101C200001010101010101010101010101010101A4
+:101C30000101010101010101010101010101010194
+:101C40000101010101010101010101010101010184
+:101C50000101010101010101010101010101010174
+:101C60000101010101010101010101010101010164
+:101C70000101010101010101010101010101010154
+:101C80000101010101010101010101010101010144
+:101C90000101010101010101010101010101010134
+:101CA0000101010101010101010101010101010124
+:101CB0000101010101010101010101010101010114
+:101CC0000101010101010101010101010101010104
+:101CD00001010101010101010101010101010101F4
+:101CE00001010101010101010101010101010101E4
+:101CF00001010101010101010101010101010101D4
+:101D000001010101010101010101010101010101C3
+:101D100001010101010101010101010101010101B3
+:101D200001010101010101010101010101010101A3
+:101D30000101010101010101010101010101010193
+:101D40000101010101010101010101010101010183
+:101D50000101010101010101010101010101010173
+:101D60000101010101010101010101010101010163
+:101D70000101010101010101010101010101010153
+:101D80000101010101010101010101010101010143
+:101D90000101010101010101010101010101010133
+:101DA0000101010101010101010101010101010123
+:101DB0000101010101010101010101010101010113
+:101DC0000101010101010101010101010101010103
+:101DD00001010101010101010101010101010101F3
+:101DE00001010101010101010101010101010101E3
+:101DF00001010101010101010101010101010101D3
+:101E000001010101010101010101010101010101C2
+:101E100001010101010101010101010101010101B2
+:101E200001010101010101010101010101010101A2
+:101E30000101010101010101010101010101010192
+:101E40000101010101010101010101010101010182
+:101E50000101010101010101010101010101010172
+:101E60000101010101010101010101010101010162
+:101E70000101010101010101010101010101010152
+:101E80000101010101010101010101010101010142
+:101E90000101010101010101010101010101010132
+:101EA0000101010101010101010101010101010122
+:101EB0000101010101010101010101010101010112
+:101EC0000101010101010101010101010101010102
+:101ED00001010101010101010101010101010101F2
+:101EE00001010101010101010101010101010101E2
+:101EF00001010101010101010101010101010101D2
+:101F000001010101010101010101010101010101C1
+:101F100001010101010101010101010101010101B1
+:101F200001010101010101010101010101010101A1
+:101F30000101010101010101010101010101010191
+:101F40000101010101010101010101010101010181
+:101F50000101010101010101010101010101010171
+:101F60000101010101010101010101010101010161
+:101F70000101010101010101010101010101010151
+:101F80000101010101010101010101010101010141
+:101F90000101010101010101010101010101010131
+:101FA0000101010101010101010101010101010121
+:101FB0000101010101010101010101010101010111
+:101FC0000101010101010101010101010101010101
+:101FD00001010101010101010101010101010101F1
+:101FE00001010101010101010101010101010101E1
+:101FF00001010101010101010101010101010101D1
+:1020000001010101010101010101010101010101C0
+:1020100001010101010101010101010101010101B0
+:1020200001010101010101010101010101010101A0
+:102030000101010101010101010101010101010190
+:102040000101010101010101010101010101010180
+:102050000101010101010101010101010101010170
+:102060000101010101010101010101010101010160
+:102070000101010101010101010101010101010150
+:102080000101010101010101010101010101010140
+:102090000101010101010101010101010101010130
+:1020A0000101010101010101010101010101010120
+:1020B0000101010101010101010101010101010110
+:1020C0000101010101010101010101010101010100
+:1020D00001010101010101010101010101010101F0
+:1020E00001010101010101010101010101010101E0
+:1020F00001010101010101010101010101010101D0
+:1021000001010101010101010101010101010101BF
+:1021100001010101010101010101010101010101AF
+:10212000010101010101010101010101010101019F
+:10213000010101010101010101010101010101018F
+:10214000010101010101010101010101010101017F
+:10215000010101010101010101010101010101016F
+:10216000010101010101010101010101010101015F
+:10217000010101010101010101010101010101014F
+:10218000010101010101010101010101010101013F
+:10219000010101010101010101010101010101012F
+:1021A000010101010101010101010101010101011F
+:1021B000010101010101010101010101010101010F
+:1021C00001010101010101010101010101010101FF
+:1021D00001010101010101010101010101010101EF
+:1021E00001010101010101010101010101010101DF
+:1021F00001010101010101010101010101010101CF
+:1022000001010101010101010101010101010101BE
+:1022100001010101010101010101010101010101AE
+:10222000010101010101010101010101010101019E
+:10223000010101010101010101010101010101018E
+:10224000010101010101010101010101010101017E
+:10225000010101010101010101010101010101016E
+:10226000010101010101010101010101010101015E
+:10227000010101010101010101010101010101014E
+:10228000010101010101010101010101010101013E
+:10229000010101010101010101010101010101012E
+:1022A000010101010101010101010101010101011E
+:1022B000010101010101010101010101010101010E
+:1022C00001010101010101010101010101010101FE
+:1022D00001010101010101010101010101010101EE
+:1022E00001010101010101010101010101010101DE
+:1022F00001010101010101010101010101010101CE
+:1023000001010101010101010101010101010101BD
+:1023100001010101010101010101010101010101AD
+:10232000010101010101010101010101010101019D
+:10233000010101010101010101010101010101018D
+:10234000010101010101010101010101010101017D
+:10235000010101010101010101010101010101016D
+:10236000010101010101010101010101010101015D
+:10237000010101010101010101010101010101014D
+:10238000010101010101010101010101010101013D
+:10239000010101010101010101010101010101012D
+:1023A000010101010101010101010101010101011D
+:1023B000010101010101010101010101010101010D
+:1023C00001010101010101010101010101010101FD
+:1023D00001010101010101010101010101010101ED
+:1023E00001010101010101010101010101010101DD
+:1023F00001010101010101010101010101010101CD
+:1024000001010101010101010101010101010101BC
+:1024100001010101010101010101010101010101AC
+:10242000010101010101010101010101010101019C
+:10243000010101010101010101010101010101018C
+:10244000010101010101010101010101010101017C
+:10245000010101010101010101010101010101016C
+:10246000010101010101010101010101010101015C
+:10247000010101010101010101010101010101014C
+:10248000010101010101010101010101010101013C
+:10249000010101010101010101010101010101012C
+:1024A000010101010101010101010101010101011C
+:1024B000010101010101010101010101010101010C
+:1024C00001010101010101010101010101010101FC
+:1024D00001010101010101010101010101010101EC
+:1024E00001010101010101010101010101010101DC
+:1024F00001010101010101010101010101010101CC
+:1025000001010101010101010101010101010101BB
+:1025100001010101010101010101010101010101AB
+:10252000010101010101010101010101010101019B
+:10253000010101010101010101010101010101018B
+:10254000010101010101010101010101010101017B
+:10255000010101010101010101010101010101016B
+:10256000010101010101010101010101010101015B
+:10257000010101010101010101010101010101014B
+:10258000010101010101010101010101010101013B
+:10259000010101010101010101010101010101012B
+:1025A000010101010101010101010101010101011B
+:1025B000010101010101010101010101010101010B
+:1025C00001010101010101010101010101010101FB
+:1025D00001010101010101010101010101010101EB
+:1025E00001010101010101010101010101010101DB
+:1025F00001010101010101010101010101010101CB
+:1026000001010101010101010101010101010101BA
+:1026100001010101010101010101010101010101AA
+:10262000010101010101010101010101010101019A
+:10263000010101010101010101010101010101018A
+:10264000010101010101010101010101010101017A
+:10265000010101010101010101010101010101016A
+:10266000010101010101010101010101010101015A
+:10267000010101010101010101010101010101014A
+:10268000010101010101010101010101010101013A
+:10269000010101010101010101010101010101012A
+:1026A000010101010101010101010101010101011A
+:1026B000010101010101010101010101010101010A
+:1026C00001010101010101010101010101010101FA
+:1026D00001010101010101010101010101010101EA
+:1026E00001010101010101010101010101010101DA
+:1026F00001010101010101010101010101010101CA
+:1027000001010101010101010101010101010101B9
+:1027100001010101010101010101010101010101A9
+:102720000101010101010101010101010101010199
+:102730000101010101010101010101010101010189
+:102740000101010101010101010101010101010179
+:102750000101010101010101010101010101010169
+:102760000101010101010101010101010101010159
+:102770000101010101010101010101010101010149
+:102780000101010101010101010101010101010139
+:102790000101010101010101010101010101010129
+:1027A0000101010101010101010101010101010119
+:1027B0000101010101010101010101010101010109
+:1027C00001010101010101010101010101010101F9
+:1027D00001010101010101010101010101010101E9
+:1027E00001010101010101010101010101010101D9
+:1027F00001010101010101010101010101010101C9
+:1028000001010101010101010101010101010101B8
+:1028100001010101010101010101010101010101A8
+:102820000101010101010101010101010101010198
+:102830000101010101010101010101010101010188
+:102840000101010101010101010101010101010178
+:102850000101010101010101010101010101010168
+:102860000101010101010101010101010101010158
+:102870000101010101010101010101010101010148
+:102880000101010101010101010101010101010138
+:102890000101010101010101010101010101010128
+:1028A0000101010101010101010101010101010118
+:1028B0000101010101010101010101010101010108
+:1028C00001010101010101010101010101010101F8
+:1028D00001010101010101010101010101010101E8
+:1028E00001010101010101010101010101010101D8
+:1028F00001010101010101010101010101010101C8
+:1029000001010101010101010101010101010101B7
+:1029100001010101010101010101010101010101A7
+:102920000101010101010101010101010101010098
+:102930000000000000000000000000000000000097
+:102940000000000000000000000000000000000087
+:102950000000000000000000000000000000000077
+:102960000000000000000000000000000000000067
+:102970000000000000000000000000000000000057
+:102980000000000000000000000000000000000047
+:102990000000000000000000000000000000000037
+:1029A0000000000000000000000000000000000027
+:1029B0000000000000000000000000000000000017
+:1029C0000000000000000000000000000000000007
+:1029D00000000000000000000000000000000000F7
+:1029E00000000000000000000000000000000000E7
+:1029F00000000000000000000000000000000000D7
+:102A000000000000000000000000000000000000C6
+:102A100000000000000000000000000000000000B6
+:102A200000000000000000000000000000000000A6
+:102A30000000000000000000000000000000000096
+:102A40000000000000000000000000000000000086
+:102A50000000000000000000000000000000000076
+:102A60000000000000000000000000000000000066
+:102A70000000000000000000000000000000000056
+:102A80000000000000000000000000000000000046
+:102A90000000000000000000000000000000000036
+:102AA0000000000000000000000000000000000026
+:102AB0000000000000000000000000000000000016
+:102AC0000000000000000000000000000000000006
+:102AD00000000000000000000000000000000000F6
+:102AE00000000000000000000000000000000000E6
+:102AF00000000000000000000000000000000000D6
+:102B000000000000000000000000000000000000C5
+:102B100000000000000000000000000000000000B5
+:102B200000000000000000000000000000000000A5
+:102B30000000000000000000000000000000000095
+:102B40000000000000000000000000000000000085
+:102B50000000000000000000000000000000000075
+:102B60000000000000000000000000000000000065
+:102B70000000000000000000000000000000000055
+:102B80000000000000000000000000000000000045
+:102B90000000000000000000000000000000000035
+:102BA0000000000000000000000000000000000025
+:102BB0000000000000000000000000000000000015
+:102BC0000000000000000000000000000000000005
+:102BD00000000000000000000000000000000000F5
+:102BE00000000000000000000000000000000000E5
+:102BF00000000000000000000000000000000000D5
+:102C000000000000000000000000000000000000C4
+:102C100000000000000000000000000000000000B4
+:102C200000000000000000000000000000000000A4
+:102C30000000000000000000000000000000000094
+:102C40000000000000000000000000000000000084
+:102C50000000000000000000000000000000000074
+:102C60000000000000000000000000000000000064
+:102C70000000000000000000000000000000000054
+:102C80000000000000000000000000000000000044
+:102C90000000000000000000000000000000000034
+:102CA0000000000000000000000000000000000024
+:102CB0000000000000000000000000000000000014
+:102CC0000000000000000000000000000000000004
+:102CD00000000000000000000000000000000000F4
+:102CE00000000000000000000000000000000000E4
+:102CF00000000000000000000000000000000000D4
+:102D000000000000000000000000000000000000C3
+:102D100000000000000000000000000000000000B3
+:102D200000000000000000000000000000000002A1
+:102D30000202020202020202020202020202020273
+:102D40000202020202020202020202020202020263
+:102D50000202020202020202020202020202020253
+:102D60000202020202020202020202020202020243
+:102D70000202020202020202020202020202020233
+:102D80000202020202020202020202020202020223
+:102D90000202020202020202020202020202020213
+:102DA0000202020202020202020202020202020203
+:102DB00002020202020202020202020202020202F3
+:102DC00002020202020202020202020202020202E3
+:102DD00002020202020202020202020202020202D3
+:102DE00002020202020202020202020202020202C3
+:102DF00002020202020202020202020202020202B3
+:102E000002020202020202020202020202020202A2
+:102E10000202020202020202020202020202020292
+:102E20000202020202020202020202020202020282
+:102E30000202020202020202020202020202020272
+:102E40000202020202020202020202020202020262
+:102E50000202020202020202020202020202020252
+:102E60000202020202020202020202020202020242
+:102E70000202020202020202020202020202020232
+:102E80000202020202020202020202020202020222
+:102E90000202020202020202020202020202020212
+:102EA0000202020202020202020202020202020202
+:102EB00002020202020202020202020202020202F2
+:102EC00002020202020202020202020202020202E2
+:102ED00002020202020202020202020202020202D2
+:102EE00002020202020202020202020202020202C2
+:102EF00002020202020202020202020202020202B2
+:102F000002020202020202020202020202020202A1
+:102F10000202020202020202020202020202020291
+:102F20000202020202020202020202020202020281
+:102F30000202020202020202020202020202020271
+:102F40000202020202020202020202020202020261
+:102F50000202020202020202020202020202020251
+:102F60000202020202020202020202020202020241
+:102F70000202020202020202020202020202020231
+:102F80000202020202020202020202020202020221
+:102F90000202020202020202020202020202020211
+:102FA0000202020202020202020202020202020201
+:102FB00002020202020202020202020202020202F1
+:102FC00002020202020202020202020202020202E1
+:102FD00002020202020202020202020202020202D1
+:102FE00002020202020202020202020202020202C1
+:102FF00002020202020202020202020202020202B1
+:1030000002020202020202020202020202020202A0
+:103010000202020202020202020202020202020290
+:103020000202020202020202020202020202020280
+:103030000202020202020202020202020202020270
+:103040000202020202020202020202020202020260
+:103050000202020202020202020202020202020250
+:103060000202020202020202020202020202020240
+:103070000202020202020202020202020202020230
+:103080000202020202020202020202020202020220
+:103090000202020202020202020202020202020210
+:1030A0000202020202020202020202020202020200
+:1030B00002020202020202020202020202020202F0
+:1030C00002020202020202020202020202020202E0
+:1030D00002020202020202020202020202020202D0
+:1030E00002020202020202020202020202020202C0
+:1030F00002020202020202020202020202020202B0
+:10310000020202020202020202020202020202029F
+:10311000020202020202020202020202020202028F
+:10312000020202020202020202020202020202027F
+:10313000020202020202020202020202020202026F
+:10314000020202020202020202020202020202025F
+:10315000020202020202020202020202020202024F
+:10316000020202020202020202020202020202023F
+:10317000020202020202020202020202020202022F
+:10318000020202020202020202020202020202021F
+:10319000020202020202020202020202020202020F
+:1031A00002020202020202020202020202020202FF
+:1031B00002020202020202020202020202020202EF
+:1031C00002020202020202020202020202020202DF
+:1031D00002020202020202020202020202020202CF
+:1031E00002020202020202020202020202020202BF
+:1031F00002020202020202020202020202020202AF
+:10320000020202020202020202020202020202029E
+:10321000020202020202020202020202020202028E
+:10322000020202020202020202020202020202027E
+:10323000020202020202020202020202020202026E
+:10324000020202020202020202020202020202025E
+:10325000020202020202020202020202020202024E
+:10326000020202020202020202020202020202023E
+:10327000020202020202020202020202020202022E
+:10328000020202020202020202020202020202021E
+:10329000020202020202020202020202020202020E
+:1032A00002020202020202020202020202020202FE
+:1032B00002020202020202020202020202020202EE
+:1032C00002020202020202020202020202020202DE
+:1032D00002020202020202020202020202020202CE
+:1032E00002020202020202020202020202020202BE
+:1032F00002020202020202020202020202020202AE
+:10330000020202020202020202020202020202029D
+:10331000020202020202020202020202020202028D
+:10332000020202020202020202020202020202027D
+:10333000020202020202020202020202020202026D
+:10334000020202020202020202020202020202025D
+:10335000020202020202020202020202020202024D
+:10336000020202020202020202020202020202023D
+:10337000020202020202020202020202020202022D
+:10338000020202020202020202020202020202021D
+:10339000020202020202020202020202020202020D
+:1033A00002020202020202020202020202020202FD
+:1033B00002020202020202020202020202020202ED
+:1033C00002020202020202020202020202020202DD
+:1033D00002020202020202020202020202020202CD
+:1033E00002020202020202020202020202020202BD
+:1033F00002020202020202020202020202020202AD
+:10340000020202020202020202020202020202029C
+:10341000020202020202020202020202020202028C
+:10342000020202020202020202020202020202027C
+:10343000020202020202020202020202020202026C
+:10344000020202020202020202020202020202025C
+:10345000020202020202020202020202020202024C
+:10346000020202020202020202020202020202023C
+:10347000020202020202020202020202020202022C
+:10348000020202020202020202020202020202021C
+:10349000020202020202020202020202020202020C
+:1034A00002020202020202020202020202020202FC
+:1034B00002020202020202020202020202020202EC
+:1034C00002020202020202020202020202020202DC
+:1034D00002020202020202020202020202020202CC
+:1034E00002020202020202020202020202020202BC
+:1034F00002020202020202020202020202020202AC
+:10350000020202020202020202020202020202029B
+:10351000020202020202020202020202020202028B
+:10352000020202020202020202020202020202027B
+:10353000020202020202020202020202020202026B
+:10354000020202020202020202020202020202025B
+:10355000020202020202020202020202020202024B
+:10356000020202020202020202020202020202023B
+:10357000020202020202020202020202020202022B
+:10358000020202020202020202020202020202021B
+:10359000020202020202020202020202020202020B
+:1035A00002020202020202020202020202020202FB
+:1035B00002020202020202020202020202020202EB
+:1035C00002020202020202020202020202020202DB
+:1035D00002020202020202020202020202020202CB
+:1035E00002020202020202020202020202020202BB
+:1035F00002020202020202020202020202020202AB
+:10360000020202020202020202020202020202029A
+:10361000020202020202020202020202020202028A
+:10362000020202020202020202020202020202027A
+:10363000020202020202020202020202020202026A
+:10364000020202020202020202020202020202025A
+:10365000020202020202020202020202020202024A
+:10366000020202020202020202020202020202023A
+:10367000020202020202020202020202020202022A
+:10368000020202020202020202020202020202021A
+:10369000020202020202020202020202020202020A
+:1036A00002020202020202020202020202020202FA
+:1036B00002020202020202020202020202020202EA
+:1036C00002020202020202020202020202020202DA
+:1036D00002020202020202020202020202020202CA
+:1036E00002020202020202020202020202020202BA
+:1036F00002020202020202020202020202020202AA
+:103700000202020202020202020202020202020299
+:103710000202020202020202020202020202020289
+:103720000202020202020202020202020202020279
+:103730000202020202020202020202020202020269
+:103740000202020202020202020202020202020259
+:103750000202020202020202020202020202020249
+:103760000202020202020202020202020202020239
+:103770000202020202020202020202020202020229
+:103780000202020202020202020202020202020219
+:103790000202020202020202020202020202020209
+:1037A00002020202020202020202020202020202F9
+:1037B00002020202020202020202020202020202E9
+:1037C00002020202020202020202020202020202D9
+:1037D00002020202020202020202020202020202C9
+:1037E00002020202020202020202020202020202B9
+:1037F00002020202020202020202020202020202A9
+:103800000202020202020202020202020202020298
+:103810000202020202020202020202020202020288
+:103820000202020202020202020202020202020278
+:103830000202020202020202020202020202020268
+:103840000202020202020202020202020202020258
+:103850000202020202020202020202020202020248
+:103860000202020202020202020202020202020238
+:103870000202020202020202020202020202020228
+:103880000202020202020202020202020202020218
+:103890000202020202020202020202020202020208
+:1038A00002020202020202020202020202020202F8
+:1038B00002020202020202020202020202020202E8
+:1038C00002020202020202020202020202020202D8
+:1038D00002020202020202020202020202020202C8
+:1038E00002020202020202020202020202020202B8
+:1038F00002020202020202020202020202020202A8
+:103900000202020202020202020202020202020297
+:103910000202020202020202020202020202020287
+:103920000202020202020202020202020202020277
+:103930000202020202020202020202020202020267
+:103940000202020202020202020202020202020257
+:103950000202020202020202020202020202020247
+:103960000202020202020202020202020202020237
+:103970000202020202020202020202020202020227
+:103980000202020202020202020202020202020217
+:103990000202020202020202020202020202020207
+:1039A00002020202020202020202020202020202F7
+:1039B00002020202020202020202020202020202E7
+:1039C00002020202020202020202020202020202D7
+:1039D00002020202020202020202020202020202C7
+:1039E00002020202020202020202020202020202B7
+:1039F00002020202020202020202020202020202A7
+:103A00000202020202020202020202020202020296
+:103A10000202020202020202020202020202020286
+:103A20000202020202020202020202020202020276
+:103A30000202020202020202020202020202020266
+:103A40000202020202020202020202020202020256
+:103A50000202020202020202020202020202020246
+:103A60000202020202020202020202020202020236
+:103A70000202020202020202020202020202020226
+:103A80000202020202020202020202020202020216
+:103A90000202020202020202020202020202020206
+:103AA00002020202020202020202020202020202F6
+:103AB00002020202020202020202020202020202E6
+:103AC00002020202020202020202020202020202D6
+:103AD00002020202020202020202020202020202C6
+:103AE00002020202020202020202020202020202B6
+:103AF00002020202020202020202020202020202A6
+:103B00000202020202020202020202020202020295
+:103B10000202020202020202020202020202020285
+:103B20000202020202020202020202020202020275
+:103B30000202020202020202020202020202020265
+:103B40000202020202020202020202020202020255
+:103B50000202020202020202020202020202020245
+:103B60000202020202020202020202020202020235
+:103B70000202020202020202020202020202020225
+:103B80000202020202020202020202020202020215
+:103B90000202020202020202020202020202020205
+:103BA00002020202020202020202020202020202F5
+:103BB00002020202020202020202020202020202E5
+:103BC00002020202020202020202020202020202D5
+:103BD00002020202020202020202020202020202C5
+:103BE00002020202020202020202020202020202B5
+:103BF00002020202020202020202020202020202A5
+:103C00000202020202020202020202020202020294
+:103C10000202020202020202020202020202020284
+:103C20000202020202020202020202020202020274
+:103C30000202020202020202020202020202020264
+:103C40000202020202020202020202020202020254
+:103C50000202020202020202020202020202020244
+:103C60000202020202020202020202020202020234
+:103C70000202020202020202020202020202020224
+:103C80000202020202020202020202020202020214
+:103C90000202020202020202020202020202020204
+:103CA00002020202020202020202020202020202F4
+:103CB00002020202020202020202020202020202E4
+:103CC00002020202020202020202020202020202D4
+:103CD00002020202020202020202020202020202C4
+:103CE00002020202020202020202020202020202B4
+:103CF00002020202020202020202020202020202A4
+:103D00000202020202020202020202020202020293
+:103D10000202020202020202020202020202020283
+:103D20000202020202020202020202020202020075
+:103D30000000000000000000000000000000000083
+:103D40000000000000000000000000000000000073
+:103D50000000000000000000000000000000000063
+:103D60000000000000000000000000000000000053
+:103D70000000000000000000000000000000000043
+:103D80000000000000000000000000000000000033
+:103D90000000000000000000000000000000000023
+:103DA0000000000000000000000000000000000013
+:103DB0000000000000000000000000000000000003
+:103DC00000000000000000000000000000000000F3
+:103DD00000000000000000000000000000000000E3
+:103DE00000000000000000000000000000000000D3
+:103DF00000000000000000000000000000000000C3
+:103E000000000000000000000000000000000000B2
+:103E100000000000000000000000000000000000A2
+:103E20000000000000000000000000000000000092
+:103E30000000000000000000000000000000000082
+:103E40000000000000000000000000000000000072
+:103E50000000000000000000000000000000000062
+:103E60000000000000000000000000000000000052
+:103E70000000000000000000000000000000000042
+:103E80000000000000000000000000000000000032
+:103E90000000000000000000000000000000000022
+:103EA0000000000000000000000000000000000012
+:103EB0000000000000000000000000000000000002
+:103EC00000000000000000000000000000000000F2
+:103ED00000000000000000000000000000000000E2
+:103EE00000000000000000000000000000000000D2
+:103EF00000000000000000000000000000000000C2
+:103F000000000000000000000000000000000000B1
+:103F100000000000000000000000000000000000A1
+:103F20000000000000000000000000000000000091
+:103F30000000000000000000000000000000000081
+:103F40000000000000000000000000000000000071
+:103F50000000000000000000000000000000000061
+:103F60000000000000000000000000000000000051
+:103F70000000000000000000000000000000000041
+:103F80000000000000000000000000000000000031
+:103F90000000000000000000000000000000000021
+:103FA0000000000000000000000000000000000011
+:103FB0000000000000000000000000000000000001
+:103FC00000000000000000000000000000000000F1
+:103FD00000000000000000000000000000000000E1
+:103FE00000000000000000000000000000000000D1
+:103FF00000000000000000000000000000000000C1
+:1040000000000000000000000000000000000000B0
+:1040100000000000000000000000000000000000A0
+:104020000000000000000000000000000000000090
+:104030000000000000000000000000000000000080
+:104040000000000000000000000000000000000070
+:104050000000000000000000000000000000000060
+:104060000000000000000000000000000000000050
+:104070000000000000000000000000000000000040
+:104080000000000000000000000000000000000030
+:104090000000000000000000000000000000000020
+:1040A0000000000000000000000000000000000010
+:1040B0000000000000000000000000000000000000
+:1040C00000000000000000000000000000000000F0
+:1040D00000000000000000000000000000000000E0
+:1040E00000000000000000000000000000000000D0
+:1040F00000000000000000000000000000000000C0
+:1041000000000000000000000000000000000000AF
+:10411000000000000000000000000000000000009F
+:10412000000000000000000000000000000000008F
+:10413000000000000000000000000000000000007F
+:10414000000000000000000000000000000000006F
+:10415000000000000000000000000000000000005F
+:10416000000000000000000000000000000000004F
+:10417000000000000000000000000000000000003F
+:10418000000000000000000000000000000000002F
+:10419000000000000000000000000000000000001F
+:1041A000000000000000000000000000000000000F
+:1041B00000000000000000000000000000000000FF
+:1041C00000000000000000000000000000000000EF
+:1041D00000000000000000000000000000000000DF
+:1041E00000000000000000000000000000000000CF
+:1041F00000000000000000000000000000000000BF
+:1042000000000000000000000000000000000000AE
+:10421000000000000000000000000000000000009E
+:10422000000000000000000000000000000000008E
+:10423000000000000000000000000000000000007E
+:10424000000000000000000000000000000000006E
+:10425000000000000000000000000000000000005E
+:10426000000000000000000000000000000000004E
+:10427000000000000000000000000000000000003E
+:10428000000000000000000000000000000000002E
+:10429000000000000000000000000000000000001E
+:1042A000000000000000000000000000000000000E
+:1042B00000000000000000000000000000000000FE
+:1042C00000000000000000000000000000000000EE
+:1042D00000000000000000000000000000000000DE
+:1042E00000000000000000000000000000000000CE
+:1042F00000000000000000000000000000000000BE
+:1043000000000000000000000000000000000000AD
+:10431000000000000000000000000000000000009D
+:10432000000000000000000000000000000000008D
+:10433000000000000000000000000000000000007D
+:10434000000000000000000000000000000000006D
+:10435000000000000000000000000000000000005D
+:10436000000000000000000000000000000000004D
+:10437000000000000000000000000000000000003D
+:10438000000000000000000000000000000000002D
+:10439000000000000000000000000000000000001D
+:1043A000000000000000000000000000000000000D
+:1043B00000000000000000000000000000000000FD
+:1043C00000000000000000000000000000000000ED
+:1043D00000000000000000000000000000000000DD
+:1043E00000000000000000000000000000000000CD
+:1043F00000000000000000000000000000000000BD
+:1044000000000000000000000000000000000000AC
+:10441000000000000000000000000000000000009C
+:10442000000000000000000000000000000000008C
+:10443000000000000000000000000000000000007C
+:10444000000000000000000000000000000000006C
+:10445000000000000000000000000000000000005C
+:10446000000000000000000000000000000000004C
+:10447000000000000000000000000000000000003C
+:10448000000000000000000000000000000000002C
+:10449000000000000000000000000000000000001C
+:1044A000000000000000000000000000000000000C
+:1044B00000000000000000000000000000000000FC
+:1044C00000000000000000000000000000000000EC
+:1044D00000000000000000000000000000000000DC
+:1044E00000000000000000000000000000000000CC
+:1044F00000000000000000000000000000000000BC
+:1045000000000000000000000000000000000000AB
+:10451000000000000000000000000000000000009B
+:104520000000000000000000000000000000005338
+:104530000000000000000001010101010101010172
+:10454000010101010101010101010101010101015B
+:10455000010101010101010101010101010101014B
+:10456000010101010101010101010101010101013B
+:10457000010101010101010101010101010101012B
+:10458000010101010101010101010101010101011B
+:10459000010101010101010101010101010101010B
+:1045A00001010101010101010101010101010101FB
+:1045B00001010101010101010101010101010101EB
+:1045C00001010101010101010101010101010101DB
+:1045D00001010101010101010101010101010101CB
+:1045E00001010101010101010101010101010101BB
+:1045F00001010101010101010101010101010101AB
+:10460000010101010101010101010101010101019A
+:10461000010101010101010101010101010101018A
+:10462000010101010101010101010101010101017A
+:10463000010101010101010101010101010101016A
+:10464000010101010101010101010101010101015A
+:10465000010101010101010101010101010101014A
+:10466000010101010101010101010101010101013A
+:10467000010101010101010101010101010101012A
+:10468000010101010101010101010101010101011A
+:10469000010101010101010101010101010101010A
+:1046A00001010101010101010101010101010101FA
+:1046B00001010101010101010101010101010101EA
+:1046C00001010101010101010101010101010101DA
+:1046D00001010101010101010101010101010101CA
+:1046E00001010101010101010101010101010101BA
+:1046F00001010101010101010101010101010101AA
+:104700000101010101010101010101010101010199
+:104710000101010101010101010101010101010189
+:104720000101010101010101010101010101010179
+:104730000101010101010101010101010101010169
+:104740000101010101010101010101010101010159
+:104750000101010101010101010101010101010149
+:104760000101010101010101010101010101010139
+:104770000101010101010101010101010101010129
+:104780000101010101010101010101010101010119
+:104790000101010101010101010101010101010109
+:1047A00001010101010101010101010101010101F9
+:1047B00001010101010101010101010101010101E9
+:1047C00001010101010101010101010101010101D9
+:1047D00001010101010101010101010101010101C9
+:1047E00001010101010101010101010101010101B9
+:1047F00001010101010101010101010101010101A9
+:104800000101010101010101010101010101010198
+:104810000101010101010101010101010101010188
+:104820000101010101010101010101010101010178
+:104830000101010101010101010101010101010168
+:104840000101010101010101010101010101010158
+:104850000101010101010101010101010101010148
+:104860000101010101010101010101010101010138
+:104870000101010101010101010101010101010128
+:104880000101010101010101010101010101010118
+:104890000101010101010101010101010101010108
+:1048A00001010101010101010101010101010101F8
+:1048B00001010101010101010101010101010101E8
+:1048C00001010101010101010101010101010101D8
+:1048D00001010101010101010101010101010101C8
+:1048E00001010101010101010101010101010101B8
+:1048F00001010101010101010101010101010101A8
+:104900000101010101010101010101010101010197
+:104910000101010101010101010101010101010187
+:104920000101010101010101010101010101010177
+:104930000101010101010101010101010101010167
+:104940000101010101010101010101010101010157
+:104950000101010101010101010101010101010147
+:104960000101010101010101010101010101010137
+:104970000101010101010101010101010101010127
+:104980000101010101010101010101010101010117
+:104990000101010101010101010101010101010107
+:1049A00001010101010101010101010101010101F7
+:1049B00001010101010101010101010101010101E7
+:1049C00001010101010101010101010101010101D7
+:1049D00001010101010101010101010101010101C7
+:1049E00001010101010101010101010101010101B7
+:1049F00001010101010101010101010101010101A7
+:104A00000101010101010101010101010101010196
+:104A10000101010101010101010101010101010186
+:104A20000101010101010101010101010101010176
+:104A30000101010101010101010101010101010166
+:104A40000101010101010101010101010101010156
+:104A50000101010101010101010101010101010146
+:104A60000101010101010101010101010101010136
+:104A70000101010101010101010101010101010126
+:104A80000101010101010101010101010101010116
+:104A90000101010101010101010101010101010106
+:104AA00001010101010101010101010101010101F6
+:104AB00001010101010101010101010101010101E6
+:104AC00001010101010101010101010101010101D6
+:104AD00001010101010101010101010101010101C6
+:104AE00001010101010101010101010101010101B6
+:104AF00001010101010101010101010101010101A6
+:104B00000101010101010101010101010101010195
+:104B10000101010101010101010101010101010185
+:104B20000101010101010101010101010101010175
+:104B30000101010101010101010101010101010165
+:104B40000101010101010101010101010101010155
+:104B50000101010101010101010101010101010145
+:104B60000101010101010101010101010101010135
+:104B70000101010101010101010101010101010125
+:104B80000101010101010101010101010101010115
+:104B90000101010101010101010101010101010105
+:104BA00001010101010101010101010101010101F5
+:104BB00001010101010101010101010101010101E5
+:104BC00001010101010101010101010101010101D5
+:104BD00001010101010101010101010101010101C5
+:104BE00001010101010101010101010101010101B5
+:104BF00001010101010101010101010101010101A5
+:104C00000101010101010101010101010101010194
+:104C10000101010101010101010101010101010184
+:104C20000101010101010101010101010101010174
+:104C30000101010101010101010101010101010164
+:104C40000101010101010101010101010101010154
+:104C50000101010101010101010101010101010144
+:104C60000101010101010101010101010101010134
+:104C70000101010101010101010101010101010124
+:104C80000101010101010101010101010101010114
+:104C90000101010101010101010101010101010104
+:104CA00001010101010101010101010101010101F4
+:104CB00001010101010101010101010101010101E4
+:104CC00001010101010101010101010101010101D4
+:104CD00001010101010101010101010101010101C4
+:104CE00001010101010101010101010101010101B4
+:104CF00001010101010101010101010101010101A4
+:104D00000101010101010101010101010101010193
+:104D10000101010101010101010101010101010183
+:104D20000101010101010101010101010101010173
+:104D30000101010101010101010101010101010163
+:104D40000101010101010101010101010101010153
+:104D50000101010101010101010101010101010143
+:104D60000101010101010101010101010101010133
+:104D70000101010101010101010101010101010123
+:104D80000101010101010101010101010101010113
+:104D90000101010101010101010101010101010103
+:104DA00001010101010101010101010101010101F3
+:104DB00001010101010101010101010101010101E3
+:104DC00001010101010101010101010101010101D3
+:104DD00001010101010101010101010101010101C3
+:104DE00001010101010101010101010101010101B3
+:104DF00001010101010101010101010101010101A3
+:104E00000101010101010101010101010101010192
+:104E10000101010101010101010101010101010182
+:104E20000101010101010101010101010101010172
+:104E30000101010101010101010101010101010162
+:104E40000101010101010101010101010101010152
+:104E50000101010101010101010101010101010142
+:104E60000101010101010101010101010101010132
+:104E70000101010101010101010101010101010122
+:104E80000101010101010101010101010101010112
+:104E90000101010101010101010101010101010102
+:104EA00001010101010101010101010101010101F2
+:104EB00001010101010101010101010101010101E2
+:104EC00001010101010101010101010101010101D2
+:104ED00001010101010101010101010101010101C2
+:104EE00001010101010101010101010101010101B2
+:104EF00001010101010101010101010101010101A2
+:104F00000101010101010101010101010101010191
+:104F10000101010101010101010101010101010181
+:104F20000101010101010101010101010101010171
+:104F30000101010101010101010101010101010161
+:104F40000101010101010101010101010101010151
+:104F50000101010101010101010101010101010141
+:104F60000101010101010101010101010101010131
+:104F70000101010101010101010101010101010121
+:104F80000101010101010101010101010101010111
+:104F90000101010101010101010101010101010101
+:104FA00001010101010101010101010101010101F1
+:104FB00001010101010101010101010101010101E1
+:104FC00001010101010101010101010101010101D1
+:104FD00001010101010101010101010101010101C1
+:104FE00001010101010101010101010101010101B1
+:104FF00001010101010101010101010101010101A1
+:105000000101010101010101010101010101010190
+:105010000101010101010101010101010101010180
+:105020000101010101010101010101010101010170
+:105030000101010101010101010101010101010160
+:105040000101010101010101010101010101010150
+:105050000101010101010101010101010101010140
+:105060000101010101010101010101010101010130
+:105070000101010101010101010101010101010120
+:105080000101010101010101010101010101010110
+:105090000101010101010101010101010101010100
+:1050A00001010101010101010101010101010101F0
+:1050B00001010101010101010101010101010101E0
+:1050C00001010101010101010101010101010101D0
+:1050D00001010101010101010101010101010101C0
+:1050E00001010101010101010101010101010101B0
+:1050F00001010101010101010101010101010101A0
+:10510000010101010101010101010101010101018F
+:10511000010101010101010101010101010101017F
+:10512000010101010101010101010101010101016F
+:10513000010101010101010101010101010101015F
+:10514000010101010101010101010101010101014F
+:10515000010101010101010101010101010101013F
+:10516000010101010101010101010101010101012F
+:10517000010101010101010101010101010101011F
+:10518000010101010101010101010101010101010F
+:1051900001010101010101010101010101010101FF
+:1051A00001010101010101010101010101010101EF
+:1051B00001010101010101010101010101010101DF
+:1051C00001010101010101010101010101010101CF
+:1051D00001010101010101010101010101010101BF
+:1051E00001010101010101010101010101010101AF
+:1051F000010101010101010101010101010101019F
+:10520000010101010101010101010101010101018E
+:10521000010101010101010101010101010101017E
+:10522000010101010101010101010101010101016E
+:10523000010101010101010101010101010101015E
+:10524000010101010101010101010101010101014E
+:10525000010101010101010101010101010101013E
+:10526000010101010101010101010101010101012E
+:10527000010101010101010101010101010101011E
+:10528000010101010101010101010101010101010E
+:1052900001010101010101010101010101010101FE
+:1052A00001010101010101010101010101010101EE
+:1052B00001010101010101010101010101010101DE
+:1052C00001010101010101010101010101010101CE
+:1052D00001010101010101010101010101010101BE
+:1052E00001010101010101010101010101010101AE
+:1052F000010101010101010101010101010101019E
+:10530000010101010101010101010101010101018D
+:10531000010101010101010101010101010101017D
+:10532000010101010101010101010101010101016D
+:105330000101010101010100000000000000000066
+:10534000000000000000000000000000000000005D
+:10535000000000000000000000000000000000004D
+:10536000000000000000000000000000000000003D
+:10537000000000000000000000000000000000002D
+:10538000000000000000000000000000000000001D
+:10539000000000000000000000000000000000000D
+:1053A00000000000000000000000000000000000FD
+:1053B00000000000000000000000000000000000ED
+:1053C00000000000000000000000000000000000DD
+:1053D00000000000000000000000000000000000CD
+:1053E00000000000000000000000000000000000BD
+:1053F00000000000000000000000000000000000AD
+:10540000000000000000000000000000000000009C
+:10541000000000000000000000000000000000008C
+:10542000000000000000000000000000000000007C
+:10543000000000000000000000000000000000006C
+:10544000000000000000000000000000000000005C
+:10545000000000000000000000000000000000004C
+:10546000000000000000000000000000000000003C
+:10547000000000000000000000000000000000002C
+:10548000000000000000000000000000000000001C
+:10549000000000000000000000000000000000000C
+:1054A00000000000000000000000000000000000FC
+:1054B00000000000000000000000000000000000EC
+:1054C00000000000000000000000000000000000DC
+:1054D00000000000000000000000000000000000CC
+:1054E00000000000000000000000000000000000BC
+:1054F00000000000000000000000000000000000AC
+:10550000000000000000000000000000000000009B
+:10551000000000000000000000000000000000008B
+:10552000000000000000000000000000000000007B
+:10553000000000000000000000000000000000006B
+:10554000000000000000000000000000000000005B
+:10555000000000000000000000000000000000004B
+:10556000000000000000000000000000000000003B
+:10557000000000000000000000000000000000002B
+:10558000000000000000000000000000000000001B
+:10559000000000000000000000000000000000000B
+:1055A00000000000000000000000000000000000FB
+:1055B00000000000000000000000000000000000EB
+:1055C00000000000000000000000000000000000DB
+:1055D00000000000000000000000000000000000CB
+:1055E00000000000000000000000000000000000BB
+:1055F00000000000000000000000000000000000AB
+:10560000000000000000000000000000000000009A
+:10561000000000000000000000000000000000008A
+:10562000000000000000000000000000000000007A
+:10563000000000000000000000000000000000006A
+:10564000000000000000000000000000000000005A
+:10565000000000000000000000000000000000004A
+:10566000000000000000000000000000000000003A
+:10567000000000000000000000000000000000002A
+:10568000000000000000000000000000000000001A
+:10569000000000000000000000000000000000000A
+:1056A00000000000000000000000000000000000FA
+:1056B00000000000000000000000000000000000EA
+:1056C00000000000000000000000000000000000DA
+:1056D00000000000000000000000000000000000CA
+:1056E00000000000000000000000000000000000BA
+:1056F00000000000000000000000000000000000AA
+:105700000000000000000000000000000000000099
+:105710000000000000000000000000000000000089
+:105720000000000000000000000000000000000079
+:105730000000000000000002020202020202020257
+:105740000202020202020202020202020202020239
+:105750000202020202020202020202020202020229
+:105760000202020202020202020202020202020219
+:105770000202020202020202020202020202020209
+:1057800002020202020202020202020202020202F9
+:1057900002020202020202020202020202020202E9
+:1057A00002020202020202020202020202020202D9
+:1057B00002020202020202020202020202020202C9
+:1057C00002020202020202020202020202020202B9
+:1057D00002020202020202020202020202020202A9
+:1057E0000202020202020202020202020202020299
+:1057F0000202020202020202020202020202020289
+:105800000202020202020202020202020202020278
+:105810000202020202020202020202020202020268
+:105820000202020202020202020202020202020258
+:105830000202020202020202020202020202020248
+:105840000202020202020202020202020202020238
+:105850000202020202020202020202020202020228
+:105860000202020202020202020202020202020218
+:105870000202020202020202020202020202020208
+:1058800002020202020202020202020202020202F8
+:1058900002020202020202020202020202020202E8
+:1058A00002020202020202020202020202020202D8
+:1058B00002020202020202020202020202020202C8
+:1058C00002020202020202020202020202020202B8
+:1058D00002020202020202020202020202020202A8
+:1058E0000202020202020202020202020202020298
+:1058F0000202020202020202020202020202020288
+:105900000202020202020202020202020202020277
+:105910000202020202020202020202020202020267
+:105920000202020202020202020202020202020257
+:105930000202020202020202020202020202020247
+:105940000202020202020202020202020202020237
+:105950000202020202020202020202020202020227
+:105960000202020202020202020202020202020217
+:105970000202020202020202020202020202020207
+:1059800002020202020202020202020202020202F7
+:1059900002020202020202020202020202020202E7
+:1059A00002020202020202020202020202020202D7
+:1059B00002020202020202020202020202020202C7
+:1059C00002020202020202020202020202020202B7
+:1059D00002020202020202020202020202020202A7
+:1059E0000202020202020202020202020202020297
+:1059F0000202020202020202020202020202020287
+:105A00000202020202020202020202020202020276
+:105A10000202020202020202020202020202020266
+:105A20000202020202020202020202020202020256
+:105A30000202020202020202020202020202020246
+:105A40000202020202020202020202020202020236
+:105A50000202020202020202020202020202020226
+:105A60000202020202020202020202020202020216
+:105A70000202020202020202020202020202020206
+:105A800002020202020202020202020202020202F6
+:105A900002020202020202020202020202020202E6
+:105AA00002020202020202020202020202020202D6
+:105AB00002020202020202020202020202020202C6
+:105AC00002020202020202020202020202020202B6
+:105AD00002020202020202020202020202020202A6
+:105AE0000202020202020202020202020202020296
+:105AF0000202020202020202020202020202020286
+:105B00000202020202020202020202020202020275
+:105B10000202020202020202020202020202020265
+:105B20000202020202020202020202020202020255
+:105B30000202020202020202020202020202020245
+:105B40000202020202020202020202020202020235
+:105B50000202020202020202020202020202020225
+:105B60000202020202020202020202020202020215
+:105B70000202020202020202020202020202020205
+:105B800002020202020202020202020202020202F5
+:105B900002020202020202020202020202020202E5
+:105BA00002020202020202020202020202020202D5
+:105BB00002020202020202020202020202020202C5
+:105BC00002020202020202020202020202020202B5
+:105BD00002020202020202020202020202020202A5
+:105BE0000202020202020202020202020202020295
+:105BF0000202020202020202020202020202020285
+:105C00000202020202020202020202020202020274
+:105C10000202020202020202020202020202020264
+:105C20000202020202020202020202020202020254
+:105C30000202020202020202020202020202020244
+:105C40000202020202020202020202020202020234
+:105C50000202020202020202020202020202020224
+:105C60000202020202020202020202020202020214
+:105C70000202020202020202020202020202020204
+:105C800002020202020202020202020202020202F4
+:105C900002020202020202020202020202020202E4
+:105CA00002020202020202020202020202020202D4
+:105CB00002020202020202020202020202020202C4
+:105CC00002020202020202020202020202020202B4
+:105CD00002020202020202020202020202020202A4
+:105CE0000202020202020202020202020202020294
+:105CF0000202020202020202020202020202020284
+:105D00000202020202020202020202020202020273
+:105D10000202020202020202020202020202020263
+:105D20000202020202020202020202020202020253
+:105D30000202020202020202020202020202020243
+:105D40000202020202020202020202020202020233
+:105D50000202020202020202020202020202020223
+:105D60000202020202020202020202020202020213
+:105D70000202020202020202020202020202020203
+:105D800002020202020202020202020202020202F3
+:105D900002020202020202020202020202020202E3
+:105DA00002020202020202020202020202020202D3
+:105DB00002020202020202020202020202020202C3
+:105DC00002020202020202020202020202020202B3
+:105DD00002020202020202020202020202020202A3
+:105DE0000202020202020202020202020202020293
+:105DF0000202020202020202020202020202020283
+:105E00000202020202020202020202020202020272
+:105E10000202020202020202020202020202020262
+:105E20000202020202020202020202020202020252
+:105E30000202020202020202020202020202020242
+:105E40000202020202020202020202020202020232
+:105E50000202020202020202020202020202020222
+:105E60000202020202020202020202020202020212
+:105E70000202020202020202020202020202020202
+:105E800002020202020202020202020202020202F2
+:105E900002020202020202020202020202020202E2
+:105EA00002020202020202020202020202020202D2
+:105EB00002020202020202020202020202020202C2
+:105EC00002020202020202020202020202020202B2
+:105ED00002020202020202020202020202020202A2
+:105EE0000202020202020202020202020202020292
+:105EF0000202020202020202020202020202020282
+:105F00000202020202020202020202020202020271
+:105F10000202020202020202020202020202020261
+:105F20000202020202020202020202020202020251
+:105F30000202020202020202020202020202020241
+:105F40000202020202020202020202020202020231
+:105F50000202020202020202020202020202020221
+:105F60000202020202020202020202020202020211
+:105F70000202020202020202020202020202020201
+:105F800002020202020202020202020202020202F1
+:105F900002020202020202020202020202020202E1
+:105FA00002020202020202020202020202020202D1
+:105FB00002020202020202020202020202020202C1
+:105FC00002020202020202020202020202020202B1
+:105FD00002020202020202020202020202020202A1
+:105FE0000202020202020202020202020202020291
+:105FF0000202020202020202020202020202020281
+:106000000202020202020202020202020202020270
+:106010000202020202020202020202020202020260
+:106020000202020202020202020202020202020250
+:106030000202020202020202020202020202020240
+:106040000202020202020202020202020202020230
+:106050000202020202020202020202020202020220
+:106060000202020202020202020202020202020210
+:106070000202020202020202020202020202020200
+:1060800002020202020202020202020202020202F0
+:1060900002020202020202020202020202020202E0
+:1060A00002020202020202020202020202020202D0
+:1060B00002020202020202020202020202020202C0
+:1060C00002020202020202020202020202020202B0
+:1060D00002020202020202020202020202020202A0
+:1060E0000202020202020202020202020202020290
+:1060F0000202020202020202020202020202020280
+:10610000020202020202020202020202020202026F
+:10611000020202020202020202020202020202025F
+:10612000020202020202020202020202020202024F
+:10613000020202020202020202020202020202023F
+:10614000020202020202020202020202020202022F
+:10615000020202020202020202020202020202021F
+:10616000020202020202020202020202020202020F
+:1061700002020202020202020202020202020202FF
+:1061800002020202020202020202020202020202EF
+:1061900002020202020202020202020202020202DF
+:1061A00002020202020202020202020202020202CF
+:1061B00002020202020202020202020202020202BF
+:1061C00002020202020202020202020202020202AF
+:1061D000020202020202020202020202020202029F
+:1061E000020202020202020202020202020202028F
+:1061F000020202020202020202020202020202027F
+:10620000020202020202020202020202020202026E
+:10621000020202020202020202020202020202025E
+:10622000020202020202020202020202020202024E
+:10623000020202020202020202020202020202023E
+:10624000020202020202020202020202020202022E
+:10625000020202020202020202020202020202021E
+:10626000020202020202020202020202020202020E
+:1062700002020202020202020202020202020202FE
+:1062800002020202020202020202020202020202EE
+:1062900002020202020202020202020202020202DE
+:1062A00002020202020202020202020202020202CE
+:1062B00002020202020202020202020202020202BE
+:1062C00002020202020202020202020202020202AE
+:1062D000020202020202020202020202020202029E
+:1062E000020202020202020202020202020202028E
+:1062F000020202020202020202020202020202027E
+:10630000020202020202020202020202020202026D
+:10631000020202020202020202020202020202025D
+:10632000020202020202020202020202020202024D
+:10633000020202020202020202020202020202023D
+:10634000020202020202020202020202020202022D
+:10635000020202020202020202020202020202021D
+:10636000020202020202020202020202020202020D
+:1063700002020202020202020202020202020202FD
+:1063800002020202020202020202020202020202ED
+:1063900002020202020202020202020202020202DD
+:1063A00002020202020202020202020202020202CD
+:1063B00002020202020202020202020202020202BD
+:1063C00002020202020202020202020202020202AD
+:1063D000020202020202020202020202020202029D
+:1063E000020202020202020202020202020202028D
+:1063F000020202020202020202020202020202027D
+:10640000020202020202020202020202020202026C
+:10641000020202020202020202020202020202025C
+:10642000020202020202020202020202020202024C
+:10643000020202020202020202020202020202023C
+:10644000020202020202020202020202020202022C
+:10645000020202020202020202020202020202021C
+:10646000020202020202020202020202020202020C
+:1064700002020202020202020202020202020202FC
+:1064800002020202020202020202020202020202EC
+:1064900002020202020202020202020202020202DC
+:1064A00002020202020202020202020202020202CC
+:1064B00002020202020202020202020202020202BC
+:1064C00002020202020202020202020202020202AC
+:1064D000020202020202020202020202020202029C
+:1064E000020202020202020202020202020202028C
+:1064F000020202020202020202020202020202027C
+:10650000020202020202020202020202020202026B
+:10651000020202020202020202020202020202025B
+:10652000020202020202020202020202020202024B
+:10653000020202020202020000000000000000004D
+:10654000000000000000000000000000000000004B
+:10655000000000000000000000000000000000003B
+:10656000000000000000000000000000000000002B
+:10657000000000000000000000000000000000001B
+:10658000000000000000000000000000000000000B
+:1065900000000000000000000000000000000000FB
+:1065A00000000000000000000000000000000000EB
+:1065B00000000000000000000000000000000000DB
+:1065C00000000000000000000000000000000000CB
+:1065D00000000000000000000000000000000000BB
+:1065E00000000000000000000000000000000000AB
+:1065F000000000000000000000000000000000009B
+:10660000000000000000000000000000000000008A
+:10661000000000000000000000000000000000007A
+:10662000000000000000000000000000000000006A
+:10663000000000000000000000000000000000005A
+:10664000000000000000000000000000000000004A
+:10665000000000000000000000000000000000003A
+:10666000000000000000000000000000000000002A
+:10667000000000000000000000000000000000001A
+:10668000000000000000000000000000000000000A
+:1066900000000000000000000000000000000000FA
+:1066A00000000000000000000000000000000000EA
+:1066B00000000000000000000000000000000000DA
+:1066C00000000000000000000000000000000000CA
+:1066D00000000000000000000000000000000000BA
+:1066E00000000000000000000000000000000000AA
+:1066F000000000000000000000000000000000009A
+:106700000000000000000000000000000000000089
+:106710000000000000000000000000000000000079
+:106720000000000000000000000000000000000069
+:106730000000000000000000000000000000000059
+:106740000000000000000000000000000000000049
+:106750000000000000000000000000000000000039
+:106760000000000000000000000000000000000029
+:106770000000000000000000000000000000000019
+:106780000000000000000000000000000000000009
+:1067900000000000000000000000000000000000F9
+:1067A00000000000000000000000000000000000E9
+:1067B00000000000000000000000000000000000D9
+:1067C00000000000000000000000000000000000C9
+:1067D00000000000000000000000000000000000B9
+:1067E00000000000000000000000000000000000A9
+:1067F0000000000000000000000000000000000099
+:106800000000000000000000000000000000000088
+:106810000000000000000000000000000000000078
+:106820000000000000000000000000000000000068
+:106830000000000000000000000000000000000058
+:106840000000000000000000000000000000000048
+:106850000000000000000000000000000000000038
+:106860000000000000000000000000000000000028
+:106870000000000000000000000000000000000018
+:106880000000000000000000000000000000000008
+:1068900000000000000000000000000000000000F8
+:1068A00000000000000000000000000000000000E8
+:1068B00000000000000000000000000000000000D8
+:1068C00000000000000000000000000000000000C8
+:1068D00000000000000000000000000000000000B8
+:1068E00000000000000000000000000000000000A8
+:1068F0000000000000000000000000000000000098
+:106900000000000000000000000000000000000087
+:106910000000000000000000000000000000000077
+:106920000000000000000000000000000000000067
+:106930000000000000000000000000000000000057
+:106940000000000000000000000000000000000047
+:106950000000000000000000000000000000000037
+:106960000000000000000000000000000000000027
+:106970000000000000000000000000000000000017
+:106980000000000000000000000000000000000007
+:1069900000000000000000000000000000000000F7
+:1069A00000000000000000000000000000000000E7
+:1069B00000000000000000000000000000000000D7
+:1069C00000000000000000000000000000000000C7
+:1069D00000000000000000000000000000000000B7
+:1069E00000000000000000000000000000000000A7
+:1069F0000000000000000000000000000000000097
+:106A00000000000000000000000000000000000086
+:106A10000000000000000000000000000000000076
+:106A20000000000000000000000000000000000066
+:106A30000000000000000000000000000000000056
+:106A40000000000000000000000000000000000046
+:106A50000000000000000000000000000000000036
+:106A60000000000000000000000000000000000026
+:106A70000000000000000000000000000000000016
+:106A80000000000000000000000000000000000006
+:106A900000000000000000000000000000000000F6
+:106AA00000000000000000000000000000000000E6
+:106AB00000000000000000000000000000000000D6
+:106AC00000000000000000000000000000000000C6
+:106AD00000000000000000000000000000000000B6
+:106AE00000000000000000000000000000000000A6
+:106AF0000000000000000000000000000000000096
+:106B00000000000000000000000000000000000085
+:106B10000000000000000000000000000000000075
+:106B20000000000000000000000000000000000065
+:106B30000000000000000000000000000000000055
+:106B40000000000000000000000000000000000045
+:106B50000000000000000000000000000000000035
+:106B60000000000000000000000000000000000025
+:106B70000000000000000000000000000000000015
+:106B80000000000000000000000000000000000005
+:106B900000000000000000000000000000000000F5
+:106BA00000000000000000000000000000000000E5
+:106BB00000000000000000000000000000000000D5
+:106BC00000000000000000000000000000000000C5
+:106BD00000000000000000000000000000000000B5
+:106BE00000000000000000000000000000000000A5
+:106BF0000000000000000000000000000000000095
+:106C00000000000000000000000000000000000084
+:106C10000000000000000000000000000000000074
+:106C20000000000000000000000000000000000064
+:106C30000000000000000000000000000000000054
+:106C40000000000000000000000000000000000044
+:106C50000000000000000000000000000000000034
+:106C60000000000000000000000000000000000024
+:106C70000000000000000000000000000000000014
+:106C80000000000000000000000000000000000004
+:106C900000000000000000000000000000000000F4
+:106CA00000000000000000000000000000000000E4
+:106CB00000000000000000000000000000000000D4
+:106CC00000000000000000000000000000000000C4
+:106CD00000000000000000000000000000000000B4
+:106CE00000000000000000000000000000000000A4
+:106CF0000000000000000000000000000000000094
+:106D00000000000000000000000000000000000083
+:106D10000000000000000000000000000000000073
+:106D20000000000000000000000000000000000063
+:106D30000000000000000000000000000000000053
+:106D40000000000000000000000000000000000043
+:106D50000000000000000000000000000000000033
+:106D60000000000000000000000000000000000023
+:106D70000000000000000000000000000000000013
+:106D80000000000000000000000000000000000003
+:106D900000000000000000000000000000000000F3
+:106DA00000000000000000000000000000000000E3
+:106DB00000000000000000000000000000000000D3
+:106DC00000000000000000000000000000000000C3
+:106DD00000000000000000000000000000000000B3
+:106DE00000000000000000000000000000000000A3
+:106DF0000000000000000000000000000000000093
+:106E00000000000000000000000000000000000082
+:106E10000000000000000000000000000000000072
+:106E20000000000000000000000000000000000062
+:106E30000000000000000000000000000000000052
+:106E40000000000000000000000000000000000042
+:106E50000000000000000000000000000000000032
+:106E60000000000000000000000000000000000022
+:106E70000000000000000000000000000000000012
+:106E80000000000000000000000000000000000002
+:106E900000000000000000000000000000000000F2
+:106EA00000000000000000000000000000000000E2
+:106EB00000000000000000000000000000000000D2
+:106EC00000000000000000000000000000000000C2
+:106ED00000000000000000000000000000000000B2
+:106EE00000000000000000000000000000000000A2
+:106EF0000000000000000000000000000000000092
+:106F00000000000000000000000000000000000081
+:106F10000000000000000000000000000000000071
+:106F20000000000000000000000000000000000061
+:106F30000000000000000000000000000000000051
+:106F40000000000000000000000000000000000041
+:106F50000000000000000000000000000000000031
+:106F60000000000000000000000000000000000021
+:106F70000000000000000000000000000000000011
+:106F80000000000000000000000000000000000001
+:106F900000000000000000000000000000000000F1
+:106FA00000000000000000000000000000000000E1
+:106FB00000000000000000000000000000000000D1
+:106FC00000000000000000000000000000000000C1
+:106FD00000000000000000000000000000000000B1
+:106FE00000000000000000000000000000000000A1
+:106FF0000000000000000000000000000000000091
+:107000000000000000000000000000000000000080
+:107010000000000000000000000000000000000070
+:107020000000000000000000000000000000000060
+:107030000000000000000001010101010101010147
+:107040000101010101010101010101010101010130
+:107050000101010101010101010101010101010120
+:107060000101010101010101010101010101010110
+:107070000101010101010101010101010101010100
+:1070800001010101010101010101010101010101F0
+:1070900001010101010101010101010101010101E0
+:1070A00001010101010101010101010101010101D0
+:1070B00001010101010101010101010101010101C0
+:1070C00001010101010101010101010101010101B0
+:1070D00001010101010101010101010101010101A0
+:1070E0000101010101010101010101010101010190
+:1070F0000101010101010101010101010101010180
+:10710000010101010101010101010101010101016F
+:10711000010101010101010101010101010101015F
+:10712000010101010101010101010101010101014F
+:10713000010101010101010101010101010101013F
+:10714000010101010101010101010101010101012F
+:10715000010101010101010101010101010101011F
+:10716000010101010101010101010101010101010F
+:1071700001010101010101010101010101010101FF
+:1071800001010101010101010101010101010101EF
+:1071900001010101010101010101010101010101DF
+:1071A00001010101010101010101010101010101CF
+:1071B00001010101010101010101010101010101BF
+:1071C00001010101010101010101010101010101AF
+:1071D000010101010101010101010101010101019F
+:1071E000010101010101010101010101010101018F
+:1071F000010101010101010101010101010101017F
+:10720000010101010101010101010101010101016E
+:10721000010101010101010101010101010101015E
+:10722000010101010101010101010101010101014E
+:10723000010101010101010101010101010101013E
+:10724000010101010101010101010101010101012E
+:10725000010101010101010101010101010101011E
+:10726000010101010101010101010101010101010E
+:1072700001010101010101010101010101010101FE
+:1072800001010101010101010101010101010101EE
+:1072900001010101010101010101010101010101DE
+:1072A00001010101010101010101010101010101CE
+:1072B00001010101010101010101010101010101BE
+:1072C00001010101010101010101010101010101AE
+:1072D000010101010101010101010101010101019E
+:1072E000010101010101010101010101010101018E
+:1072F000010101010101010101010101010101017E
+:10730000010101010101010101010101010101016D
+:10731000010101010101010101010101010101015D
+:10732000010101010101010101010101010101014D
+:10733000010101010101010101010101010101013D
+:10734000010101010101010101010101010101012D
+:10735000010101010101010101010101010101011D
+:10736000010101010101010101010101010101010D
+:1073700001010101010101010101010101010101FD
+:1073800001010101010101010101010101010101ED
+:1073900001010101010101010101010101010101DD
+:1073A00001010101010101010101010101010101CD
+:1073B00001010101010101010101010101010101BD
+:1073C00001010101010101010101010101010101AD
+:1073D000010101010101010101010101010101019D
+:1073E000010101010101010101010101010101018D
+:1073F000010101010101010101010101010101017D
+:10740000010101010101010101010101010101016C
+:10741000010101010101010101010101010101015C
+:10742000010101010101010101010101010101014C
+:10743000010101010101010101010101010101013C
+:10744000010101010101010101010101010101012C
+:10745000010101010101010101010101010101011C
+:10746000010101010101010101010101010101010C
+:1074700001010101010101010101010101010101FC
+:1074800001010101010101010101010101010101EC
+:1074900001010101010101010101010101010101DC
+:1074A00001010101010101010101010101010101CC
+:1074B00001010101010101010101010101010101BC
+:1074C00001010101010101010101010101010101AC
+:1074D000010101010101010101010101010101019C
+:1074E000010101010101010101010101010101018C
+:1074F000010101010101010101010101010101017C
+:10750000010101010101010101010101010101016B
+:10751000010101010101010101010101010101015B
+:10752000010101010101010101010101010101014B
+:10753000010101010101010101010101010101013B
+:10754000010101010101010101010101010101012B
+:10755000010101010101010101010101010101011B
+:10756000010101010101010101010101010101010B
+:1075700001010101010101010101010101010101FB
+:1075800001010101010101010101010101010101EB
+:1075900001010101010101010101010101010101DB
+:1075A00001010101010101010101010101010101CB
+:1075B00001010101010101010101010101010101BB
+:1075C00001010101010101010101010101010101AB
+:1075D000010101010101010101010101010101019B
+:1075E000010101010101010101010101010101018B
+:1075F000010101010101010101010101010101017B
+:10760000010101010101010101010101010101016A
+:10761000010101010101010101010101010101015A
+:10762000010101010101010101010101010101014A
+:10763000010101010101010101010101010101013A
+:10764000010101010101010101010101010101012A
+:10765000010101010101010101010101010101011A
+:10766000010101010101010101010101010101010A
+:1076700001010101010101010101010101010101FA
+:1076800001010101010101010101010101010101EA
+:1076900001010101010101010101010101010101DA
+:1076A00001010101010101010101010101010101CA
+:1076B00001010101010101010101010101010101BA
+:1076C00001010101010101010101010101010101AA
+:1076D000010101010101010101010101010101019A
+:1076E000010101010101010101010101010101018A
+:1076F000010101010101010101010101010101017A
+:107700000101010101010101010101010101010169
+:107710000101010101010101010101010101010159
+:107720000101010101010101010101010101010149
+:107730000101010101010101010101010101010139
+:107740000101010101010101010101010101010129
+:107750000101010101010101010101010101010119
+:107760000101010101010101010101010101010109
+:1077700001010101010101010101010101010101F9
+:1077800001010101010101010101010101010101E9
+:1077900001010101010101010101010101010101D9
+:1077A00001010101010101010101010101010101C9
+:1077B00001010101010101010101010101010101B9
+:1077C00001010101010101010101010101010101A9
+:1077D0000101010101010101010101010101010199
+:1077E0000101010101010101010101010101010189
+:1077F0000101010101010101010101010101010179
+:107800000101010101010101010101010101010168
+:107810000101010101010101010101010101010158
+:107820000101010101010101010101010101010148
+:107830000101010101010101010101010101010138
+:107840000101010101010101010101010101010128
+:107850000101010101010101010101010101010118
+:107860000101010101010101010101010101010108
+:1078700001010101010101010101010101010101F8
+:1078800001010101010101010101010101010101E8
+:1078900001010101010101010101010101010101D8
+:1078A00001010101010101010101010101010101C8
+:1078B00001010101010101010101010101010101B8
+:1078C00001010101010101010101010101010101A8
+:1078D0000101010101010101010101010101010198
+:1078E0000101010101010101010101010101010188
+:1078F0000101010101010101010101010101010178
+:107900000101010101010101010101010101010167
+:107910000101010101010101010101010101010157
+:107920000101010101010101010101010101010147
+:107930000101010101010101010101010101010137
+:107940000101010101010101010101010101010127
+:107950000101010101010101010101010101010117
+:107960000101010101010101010101010101010107
+:1079700001010101010101010101010101010101F7
+:1079800001010101010101010101010101010101E7
+:1079900001010101010101010101010101010101D7
+:1079A00001010101010101010101010101010101C7
+:1079B00001010101010101010101010101010101B7
+:1079C00001010101010101010101010101010101A7
+:1079D0000101010101010101010101010101010197
+:1079E0000101010101010101010101010101010187
+:1079F0000101010101010101010101010101010177
+:107A00000101010101010101010101010101010166
+:107A10000101010101010101010101010101010156
+:107A20000101010101010101010101010101010146
+:107A30000101010101010101010101010101010136
+:107A40000101010101010101010101010101010126
+:107A50000101010101010101010101010101010116
+:107A60000101010101010101010101010101010106
+:107A700001010101010101010101010101010101F6
+:107A800001010101010101010101010101010101E6
+:107A900001010101010101010101010101010101D6
+:107AA00001010101010101010101010101010101C6
+:107AB00001010101010101010101010101010101B6
+:107AC00001010101010101010101010101010101A6
+:107AD0000101010101010101010101010101010196
+:107AE0000101010101010101010101010101010186
+:107AF0000101010101010101010101010101010176
+:107B00000101010101010101010101010101010165
+:107B10000101010101010101010101010101010155
+:107B20000101010101010101010101010101010145
+:107B30000101010101010101010101010101010135
+:107B40000101010101010101010101010101010125
+:107B50000101010101010101010101010101010115
+:107B60000101010101010101010101010101010105
+:107B700001010101010101010101010101010101F5
+:107B800001010101010101010101010101010101E5
+:107B900001010101010101010101010101010101D5
+:107BA00001010101010101010101010101010101C5
+:107BB00001010101010101010101010101010101B5
+:107BC00001010101010101010101010101010101A5
+:107BD0000101010101010101010101010101010195
+:107BE0000101010101010101010101010101010185
+:107BF0000101010101010101010101010101010175
+:107C00000101010101010101010101010101010164
+:107C10000101010101010101010101010101010154
+:107C20000101010101010101010101010101010144
+:107C30000101010101010101010101010101010134
+:107C40000101010101010101010101010101010124
+:107C50000101010101010101010101010101010114
+:107C60000101010101010101010101010101010104
+:107C700001010101010101010101010101010101F4
+:107C800001010101010101010101010101010101E4
+:107C900001010101010101010101010101010101D4
+:107CA00001010101010101010101010101010101C4
+:107CB00001010101010101010101010101010101B4
+:107CC00001010101010101010101010101010101A4
+:107CD0000101010101010101010101010101010194
+:107CE0000101010101010101010101010101010184
+:107CF0000101010101010101010101010101010174
+:107D00000101010101010101010101010101010163
+:107D10000101010101010101010101010101010153
+:107D20000101010101010101010101010101010143
+:107D30000101010101010101010101010101010133
+:107D40000101010101010101010101010101010123
+:107D50000101010101010101010101010101010113
+:107D60000101010101010101010101010101010103
+:107D700001010101010101010101010101010101F3
+:107D800001010101010101010101010101010101E3
+:107D900001010101010101010101010101010101D3
+:107DA00001010101010101010101010101010101C3
+:107DB00001010101010101010101010101010101B3
+:107DC00001010101010101010101010101010101A3
+:107DD0000101010101010101010101010101010193
+:107DE0000101010101010101010101010101010183
+:107DF0000101010101010101010101010101010173
+:107E00000101010101010101010101010101010162
+:107E10000101010101010101010101010101010152
+:107E20000101010101010101010101010101010142
+:107E3000010101010101010000000000000000003B
+:107E40000000000000000000000000000000000032
+:107E50000000000000000000000000000000000022
+:107E60000000000000000000000000000000000012
+:107E70000000000000000000000000000000000002
+:107E800000000000000000000000000000000000F2
+:107E900000000000000000000000000000000000E2
+:107EA00000000000000000000000000000000000D2
+:107EB00000000000000000000000000000000000C2
+:107EC00000000000000000000000000000000000B2
+:107ED00000000000000000000000000000000000A2
+:107EE0000000000000000000000000000000000092
+:107EF0000000000000000000000000000000000082
+:107F00000000000000000000000000000000000071
+:107F10000000000000000000000000000000000061
+:107F20000000000000000000000000000000000051
+:107F30000000000000000000000000000000000041
+:107F40000000000000000000000000000000000031
+:107F50000000000000000000000000000000000021
+:107F60000000000000000000000000000000000011
+:107F70000000000000000000000000000000000001
+:107F800000000000000000000000000000000000F1
+:107F900000000000000000000000000000000000E1
+:107FA00000000000000000000000000000000000D1
+:107FB00000000000000000000000000000000000C1
+:107FC00000000000000000000000000000000000B1
+:107FD00000000000000000000000000000000000A1
+:107FE0000000000000000000000000000000000091
+:107FF0000000000000000000000000000000000081
+:108000000000000000000000000000000000000070
+:108010000000000000000000000000000000000060
+:108020000000000000000000000000000000000050
+:108030000000000000000000000000000000000040
+:108040000000000000000000000000000000000030
+:108050000000000000000000000000000000000020
+:108060000000000000000000000000000000000010
+:108070000000000000000000000000000000000000
+:1080800000000000000000000000000000000000F0
+:1080900000000000000000000000000000000000E0
+:1080A00000000000000000000000000000000000D0
+:1080B00000000000000000000000000000000000C0
+:1080C00000000000000000000000000000000000B0
+:1080D00000000000000000000000000000000000A0
+:1080E0000000000000000000000000000000000090
+:1080F0000000000000000000000000000000000080
+:10810000000000000000000000000000000000006F
+:10811000000000000000000000000000000000005F
+:10812000000000000000000000000000000000004F
+:10813000000000000000000000000000000000003F
+:10814000000000000000000000000000000000002F
+:10815000000000000000000000000000000000001F
+:10816000000000000000000000000000000000000F
+:1081700000000000000000000000000000000000FF
+:1081800000000000000000000000000000000000EF
+:1081900000000000000000000000000000000000DF
+:1081A00000000000000000000000000000000000CF
+:1081B00000000000000000000000000000000000BF
+:1081C00000000000000000000000000000000000AF
+:1081D000000000000000000000000000000000009F
+:1081E000000000000000000000000000000000008F
+:1081F000000000000000000000000000000000007F
+:10820000000000000000000000000000000000006E
+:10821000000000000000000000000000000000005E
+:10822000000000000000000000000000000000004E
+:10823000000000000000000202020202020202022C
+:10824000020202020202020202020202020202020E
+:1082500002020202020202020202020202020202FE
+:1082600002020202020202020202020202020202EE
+:1082700002020202020202020202020202020202DE
+:1082800002020202020202020202020202020202CE
+:1082900002020202020202020202020202020202BE
+:1082A00002020202020202020202020202020202AE
+:1082B000020202020202020202020202020202029E
+:1082C000020202020202020202020202020202028E
+:1082D000020202020202020202020202020202027E
+:1082E000020202020202020202020202020202026E
+:1082F000020202020202020202020202020202025E
+:10830000020202020202020202020202020202024D
+:10831000020202020202020202020202020202023D
+:10832000020202020202020202020202020202022D
+:10833000020202020202020202020202020202021D
+:10834000020202020202020202020202020202020D
+:1083500002020202020202020202020202020202FD
+:1083600002020202020202020202020202020202ED
+:1083700002020202020202020202020202020202DD
+:1083800002020202020202020202020202020202CD
+:1083900002020202020202020202020202020202BD
+:1083A00002020202020202020202020202020202AD
+:1083B000020202020202020202020202020202029D
+:1083C000020202020202020202020202020202028D
+:1083D000020202020202020202020202020202027D
+:1083E000020202020202020202020202020202026D
+:1083F000020202020202020202020202020202025D
+:10840000020202020202020202020202020202024C
+:10841000020202020202020202020202020202023C
+:10842000020202020202020202020202020202022C
+:10843000020202020202020202020202020202021C
+:10844000020202020202020202020202020202020C
+:1084500002020202020202020202020202020202FC
+:1084600002020202020202020202020202020202EC
+:1084700002020202020202020202020202020202DC
+:1084800002020202020202020202020202020202CC
+:1084900002020202020202020202020202020202BC
+:1084A00002020202020202020202020202020202AC
+:1084B000020202020202020202020202020202029C
+:1084C000020202020202020202020202020202028C
+:1084D000020202020202020202020202020202027C
+:1084E000020202020202020202020202020202026C
+:1084F000020202020202020202020202020202025C
+:10850000020202020202020202020202020202024B
+:10851000020202020202020202020202020202023B
+:10852000020202020202020202020202020202022B
+:10853000020202020202020202020202020202021B
+:10854000020202020202020202020202020202020B
+:1085500002020202020202020202020202020202FB
+:1085600002020202020202020202020202020202EB
+:1085700002020202020202020202020202020202DB
+:1085800002020202020202020202020202020202CB
+:1085900002020202020202020202020202020202BB
+:1085A00002020202020202020202020202020202AB
+:1085B000020202020202020202020202020202029B
+:1085C000020202020202020202020202020202028B
+:1085D000020202020202020202020202020202027B
+:1085E000020202020202020202020202020202026B
+:1085F000020202020202020202020202020202025B
+:10860000020202020202020202020202020202024A
+:10861000020202020202020202020202020202023A
+:10862000020202020202020202020202020202022A
+:10863000020202020202020202020202020202021A
+:10864000020202020202020202020202020202020A
+:1086500002020202020202020202020202020202FA
+:1086600002020202020202020202020202020202EA
+:1086700002020202020202020202020202020202DA
+:1086800002020202020202020202020202020202CA
+:1086900002020202020202020202020202020202BA
+:1086A00002020202020202020202020202020202AA
+:1086B000020202020202020202020202020202029A
+:1086C000020202020202020202020202020202028A
+:1086D000020202020202020202020202020202027A
+:1086E000020202020202020202020202020202026A
+:1086F000020202020202020202020202020202025A
+:108700000202020202020202020202020202020249
+:108710000202020202020202020202020202020239
+:108720000202020202020202020202020202020229
+:108730000202020202020202020202020202020219
+:108740000202020202020202020202020202020209
+:1087500002020202020202020202020202020202F9
+:1087600002020202020202020202020202020202E9
+:1087700002020202020202020202020202020202D9
+:1087800002020202020202020202020202020202C9
+:1087900002020202020202020202020202020202B9
+:1087A00002020202020202020202020202020202A9
+:1087B0000202020202020202020202020202020299
+:1087C0000202020202020202020202020202020289
+:1087D0000202020202020202020202020202020279
+:1087E0000202020202020202020202020202020269
+:1087F0000202020202020202020202020202020259
+:108800000202020202020202020202020202020248
+:108810000202020202020202020202020202020238
+:108820000202020202020202020202020202020228
+:108830000202020202020202020202020202020218
+:108840000202020202020202020202020202020208
+:1088500002020202020202020202020202020202F8
+:1088600002020202020202020202020202020202E8
+:1088700002020202020202020202020202020202D8
+:1088800002020202020202020202020202020202C8
+:1088900002020202020202020202020202020202B8
+:1088A00002020202020202020202020202020202A8
+:1088B0000202020202020202020202020202020298
+:1088C0000202020202020202020202020202020288
+:1088D0000202020202020202020202020202020278
+:1088E0000202020202020202020202020202020268
+:1088F0000202020202020202020202020202020258
+:108900000202020202020202020202020202020247
+:108910000202020202020202020202020202020237
+:108920000202020202020202020202020202020227
+:108930000202020202020202020202020202020217
+:108940000202020202020202020202020202020207
+:1089500002020202020202020202020202020202F7
+:1089600002020202020202020202020202020202E7
+:1089700002020202020202020202020202020202D7
+:1089800002020202020202020202020202020202C7
+:1089900002020202020202020202020202020202B7
+:1089A00002020202020202020202020202020202A7
+:1089B0000202020202020202020202020202020297
+:1089C0000202020202020202020202020202020287
+:1089D0000202020202020202020202020202020277
+:1089E0000202020202020202020202020202020267
+:1089F0000202020202020202020202020202020257
+:108A00000202020202020202020202020202020246
+:108A10000202020202020202020202020202020236
+:108A20000202020202020202020202020202020226
+:108A30000202020202020202020202020202020216
+:108A40000202020202020202020202020202020206
+:108A500002020202020202020202020202020202F6
+:108A600002020202020202020202020202020202E6
+:108A700002020202020202020202020202020202D6
+:108A800002020202020202020202020202020202C6
+:108A900002020202020202020202020202020202B6
+:108AA00002020202020202020202020202020202A6
+:108AB0000202020202020202020202020202020296
+:108AC0000202020202020202020202020202020286
+:108AD0000202020202020202020202020202020276
+:108AE0000202020202020202020202020202020266
+:108AF0000202020202020202020202020202020256
+:108B00000202020202020202020202020202020245
+:108B10000202020202020202020202020202020235
+:108B20000202020202020202020202020202020225
+:108B30000202020202020202020202020202020215
+:108B40000202020202020202020202020202020205
+:108B500002020202020202020202020202020202F5
+:108B600002020202020202020202020202020202E5
+:108B700002020202020202020202020202020202D5
+:108B800002020202020202020202020202020202C5
+:108B900002020202020202020202020202020202B5
+:108BA00002020202020202020202020202020202A5
+:108BB0000202020202020202020202020202020295
+:108BC0000202020202020202020202020202020285
+:108BD0000202020202020202020202020202020275
+:108BE0000202020202020202020202020202020265
+:108BF0000202020202020202020202020202020255
+:108C00000202020202020202020202020202020244
+:108C10000202020202020202020202020202020234
+:108C20000202020202020202020202020202020224
+:108C30000202020202020202020202020202020214
+:108C40000202020202020202020202020202020204
+:108C500002020202020202020202020202020202F4
+:108C600002020202020202020202020202020202E4
+:108C700002020202020202020202020202020202D4
+:108C800002020202020202020202020202020202C4
+:108C900002020202020202020202020202020202B4
+:108CA00002020202020202020202020202020202A4
+:108CB0000202020202020202020202020202020294
+:108CC0000202020202020202020202020202020284
+:108CD0000202020202020202020202020202020274
+:108CE0000202020202020202020202020202020264
+:108CF0000202020202020202020202020202020254
+:108D00000202020202020202020202020202020243
+:108D10000202020202020202020202020202020233
+:108D20000202020202020202020202020202020223
+:108D30000202020202020202020202020202020213
+:108D40000202020202020202020202020202020203
+:108D500002020202020202020202020202020202F3
+:108D600002020202020202020202020202020202E3
+:108D700002020202020202020202020202020202D3
+:108D800002020202020202020202020202020202C3
+:108D900002020202020202020202020202020202B3
+:108DA00002020202020202020202020202020202A3
+:108DB0000202020202020202020202020202020293
+:108DC0000202020202020202020202020202020283
+:108DD0000202020202020202020202020202020273
+:108DE0000202020202020202020202020202020263
+:108DF0000202020202020202020202020202020253
+:108E00000202020202020202020202020202020242
+:108E10000202020202020202020202020202020232
+:108E20000202020202020202020202020202020222
+:108E30000202020202020202020202020202020212
+:108E40000202020202020202020202020202020202
+:108E500002020202020202020202020202020202F2
+:108E600002020202020202020202020202020202E2
+:108E700002020202020202020202020202020202D2
+:108E800002020202020202020202020202020202C2
+:108E900002020202020202020202020202020202B2
+:108EA00002020202020202020202020202020202A2
+:108EB0000202020202020202020202020202020292
+:108EC0000202020202020202020202020202020282
+:108ED0000202020202020202020202020202020272
+:108EE0000202020202020202020202020202020262
+:108EF0000202020202020202020202020202020252
+:108F00000202020202020202020202020202020241
+:108F10000202020202020202020202020202020231
+:108F20000202020202020202020202020202020221
+:108F30000202020202020202020202020202020211
+:108F40000202020202020202020202020202020201
+:108F500002020202020202020202020202020202F1
+:108F600002020202020202020202020202020202E1
+:108F700002020202020202020202020202020202D1
+:108F800002020202020202020202020202020202C1
+:108F900002020202020202020202020202020202B1
+:108FA00002020202020202020202020202020202A1
+:108FB0000202020202020202020202020202020291
+:108FC0000202020202020202020202020202020281
+:108FD0000202020202020202020202020202020271
+:108FE0000202020202020202020202020202020261
+:108FF0000202020202020202020202020202020251
+:109000000202020202020202020202020202020240
+:109010000202020202020202020202020202020230
+:109020000202020202020202020202020202020220
+:109030000202020202020200000000000000000022
+:109040000000000000000000000000000000000020
+:109050000000000000000000000000000000000010
+:109060000000000000000000000000000000000000
+:1090700000000000000000000000000000000000F0
+:1090800000000000000000000000000000000000E0
+:1090900000000000000000000000000000000000D0
+:1090A00000000000000000000000000000000000C0
+:1090B00000000000000000000000000000000000B0
+:1090C00000000000000000000000000000000000A0
+:1090D0000000000000000000000000000000000090
+:1090E0000000000000000000000000000000000080
+:1090F0000000000000000000000000000000000070
+:10910000000000000000000000000000000000005F
+:10911000000000000000000000000000000000004F
+:10912000000000000000000000000000000000003F
+:10913000000000000000000000000000000000002F
+:10914000000000000000000000000000000000001F
+:10915000000000000000000000000000000000000F
+:1091600000000000000000000000000000000000FF
+:1091700000000000000000000000000000000000EF
+:1091800000000000000000000000000000000000DF
+:1091900000000000000000000000000000000000CF
+:1091A00000000000000000000000000000000000BF
+:1091B00000000000000000000000000000000000AF
+:1091C000000000000000000000000000000000009F
+:1091D000000000000000000000000000000000008F
+:1091E000000000000000000000000000000000007F
+:1091F000000000000000000000000000000000006F
+:10920000000000000000000000000000000000005E
+:10921000000000000000000000000000000000004E
+:10922000000000000000000000000000000000003E
+:10923000000000000000000000000000000000002E
+:10924000000000000000000000000000000000001E
+:10925000000000000000000000000000000000000E
+:1092600000000000000000000000000000000000FE
+:1092700000000000000000000000000000000000EE
+:1092800000000000000000000000000000000000DE
+:1092900000000000000000000000000000000000CE
+:1092A00000000000000000000000000000000000BE
+:1092B00000000000000000000000000000000000AE
+:1092C000000000000000000000000000000000009E
+:1092D000000000000000000000000000000000008E
+:1092E000000000000000000000000000000000007E
+:1092F000000000000000000000000000000000006E
+:10930000000000000000000000000000000000005D
+:10931000000000000000000000000000000000004D
+:10932000000000000000000000000000000000003D
+:10933000000000000000000000000000000000002D
+:10934000000000000000000000000000000000001D
+:10935000000000000000000000000000000000000D
+:1093600000000000000000000000000000000000FD
+:1093700000000000000000000000000000000000ED
+:1093800000000000000000000000000000000000DD
+:1093900000000000000000000000000000000000CD
+:1093A00000000000000000000000000000000000BD
+:1093B00000000000000000000000000000000000AD
+:1093C000000000000000000000000000000000009D
+:1093D000000000000000000000000000000000008D
+:1093E000000000000000000000000000000000007D
+:1093F000000000000000000000000000000000006D
+:10940000000000000000000000000000000000005C
+:10941000000000000000000000000000000000004C
+:10942000000000000000000000000000000000003C
+:10943000000000000000000000000000000000002C
+:10944000000000000000000000000000000000001C
+:10945000000000000000000000000000000000000C
+:1094600000000000000000000000000000000000FC
+:1094700000000000000000000000000000000000EC
+:1094800000000000000000000000000000000000DC
+:1094900000000000000000000000000000000000CC
+:1094A00000000000000000000000000000000000BC
+:1094B00000000000000000000000000000000000AC
+:1094C000000000000000000000000000000000009C
+:1094D000000000000000000000000000000000008C
+:1094E000000000000000000000000000000000007C
+:1094F000000000000000000000000000000000006C
+:10950000000000000000000000000000000000005B
+:10951000000000000000000000000000000000004B
+:10952000000000000000000000000000000000003B
+:10953000000000000000000000000000000000002B
+:10954000000000000000000000000000000000001B
+:10955000000000000000000000000000000000000B
+:1095600000000000000000000000000000000000FB
+:1095700000000000000000000000000000000000EB
+:1095800000000000000000000000000000000000DB
+:1095900000000000000000000000000000000000CB
+:1095A00000000000000000000000000000000000BB
+:1095B00000000000000000000000000000000000AB
+:1095C000000000000000000000000000000000009B
+:1095D000000000000000000000000000000000008B
+:1095E000000000000000000000000000000000007B
+:1095F000000000000000000000000000000000006B
+:10960000000000000000000000000000000000005A
+:10961000000000000000000000000000000000004A
+:10962000000000000000000000000000000000003A
+:10963000000000000000000000000000000000002A
+:10964000000000000000000000000000000000001A
+:10965000000000000000000000000000000000000A
+:1096600000000000000000000000000000000000FA
+:1096700000000000000000000000000000000000EA
+:1096800000000000000000000000000000000000DA
+:1096900000000000000000000000000000000000CA
+:1096A00000000000000000000000000000000000BA
+:1096B00000000000000000000000000000000000AA
+:1096C000000000000000000000000000000000009A
+:1096D000000000000000000000000000000000008A
+:1096E000000000000000000000000000000000007A
+:1096F000000000000000000000000000000000006A
+:109700000000000000000000000000000000000059
+:109710000000000000000000000000000000000049
+:109720000000000000000000000000000000000039
+:109730000000000000000000000000000000000029
+:109740000000000000000000000000000000000019
+:109750000000000000000000000000000000000009
+:1097600000000000000000000000000000000000F9
+:1097700000000000000000000000000000000000E9
+:1097800000000000000000000000000000000000D9
+:1097900000000000000000000000000000000000C9
+:1097A00000000000000000000000000000000000B9
+:1097B00000000000000000000000000000000000A9
+:1097C0000000000000000000000000000000000099
+:1097D0000000000000000000000000000000000089
+:1097E0000000000000000000000000000000000079
+:1097F0000000000000000000000000000000000069
+:109800000000000000000000000000000000000058
+:109810000000000000000000000000000000000048
+:109820000000000000000000000000000000000038
+:1098300000000000000000530000000000000001D4
+:109840000101010101010101010101010101010108
+:1098500001010101010101010101010101010101F8
+:1098600001010101010101010101010101010101E8
+:1098700001010101010101010101010101010101D8
+:1098800001010101010101010101010101010101C8
+:1098900001010101010101010101010101010101B8
+:1098A00001010101010101010101010101010101A8
+:1098B0000101010101010101010101010101010198
+:1098C0000101010101010101010101010101010188
+:1098D0000101010101010101010101010101010178
+:1098E0000101010101010101010101010101010168
+:1098F0000101010101010101010101010101010158
+:109900000101010101010101010101010101010147
+:109910000101010101010101010101010101010137
+:109920000101010101010101010101010101010127
+:109930000101010101010101010101010101010117
+:109940000101010101010101010101010101010107
+:1099500001010101010101010101010101010101F7
+:1099600001010101010101010101010101010101E7
+:1099700001010101010101010101010101010101D7
+:1099800001010101010101010101010101010101C7
+:1099900001010101010101010101010101010101B7
+:1099A00001010101010101010101010101010101A7
+:1099B0000101010101010101010101010101010197
+:1099C0000101010101010101010101010101010187
+:1099D0000101010101010101010101010101010177
+:1099E0000101010101010101010101010101010167
+:1099F0000101010101010101010101010101010157
+:109A00000101010101010101010101010101010146
+:109A10000101010101010101010101010101010136
+:109A20000101010101010101010101010101010126
+:109A30000101010101010101010101010101010116
+:109A40000101010101010101010101010101010106
+:109A500001010101010101010101010101010101F6
+:109A600001010101010101010101010101010101E6
+:109A700001010101010101010101010101010101D6
+:109A800001010101010101010101010101010101C6
+:109A900001010101010101010101010101010101B6
+:109AA00001010101010101010101010101010101A6
+:109AB0000101010101010101010101010101010196
+:109AC0000101010101010101010101010101010186
+:109AD0000101010101010101010101010101010176
+:109AE0000101010101010101010101010101010166
+:109AF0000101010101010101010101010101010156
+:109B00000101010101010101010101010101010145
+:109B10000101010101010101010101010101010135
+:109B20000101010101010101010101010101010125
+:109B30000101010101010101010101010101010115
+:109B40000101010101010101010101010101010105
+:109B500001010101010101010101010101010101F5
+:109B600001010101010101010101010101010101E5
+:109B700001010101010101010101010101010101D5
+:109B800001010101010101010101010101010101C5
+:109B900001010101010101010101010101010101B5
+:109BA00001010101010101010101010101010101A5
+:109BB0000101010101010101010101010101010195
+:109BC0000101010101010101010101010101010185
+:109BD0000101010101010101010101010101010175
+:109BE0000101010101010101010101010101010165
+:109BF0000101010101010101010101010101010155
+:109C00000101010101010101010101010101010144
+:109C10000101010101010101010101010101010134
+:109C20000101010101010101010101010101010124
+:109C30000101010101010101010101010101010114
+:109C40000101010101010101010101010101010104
+:109C500001010101010101010101010101010101F4
+:109C600001010101010101010101010101010101E4
+:109C700001010101010101010101010101010101D4
+:109C800001010101010101010101010101010101C4
+:109C900001010101010101010101010101010101B4
+:109CA00001010101010101010101010101010101A4
+:109CB0000101010101010101010101010101010194
+:109CC0000101010101010101010101010101010184
+:109CD0000101010101010101010101010101010174
+:109CE0000101010101010101010101010101010164
+:109CF0000101010101010101010101010101010154
+:109D00000101010101010101010101010101010143
+:109D10000101010101010101010101010101010133
+:109D20000101010101010101010101010101010123
+:109D30000101010101010101010101010101010113
+:109D40000101010101010101010101010101010103
+:109D500001010101010101010101010101010101F3
+:109D600001010101010101010101010101010101E3
+:109D700001010101010101010101010101010101D3
+:109D800001010101010101010101010101010101C3
+:109D900001010101010101010101010101010101B3
+:109DA00001010101010101010101010101010101A3
+:109DB0000101010101010101010101010101010193
+:109DC0000101010101010101010101010101010183
+:109DD0000101010101010101010101010101010173
+:109DE0000101010101010101010101010101010163
+:109DF0000101010101010101010101010101010153
+:109E00000101010101010101010101010101010142
+:109E10000101010101010101010101010101010132
+:109E20000101010101010101010101010101010122
+:109E30000101010101010101010101010101010112
+:109E40000101010101010101010101010101010102
+:109E500001010101010101010101010101010101F2
+:109E600001010101010101010101010101010101E2
+:109E700001010101010101010101010101010101D2
+:109E800001010101010101010101010101010101C2
+:109E900001010101010101010101010101010101B2
+:109EA00001010101010101010101010101010101A2
+:109EB0000101010101010101010101010101010192
+:109EC0000101010101010101010101010101010182
+:109ED0000101010101010101010101010101010172
+:109EE0000101010101010101010101010101010162
+:109EF0000101010101010101010101010101010152
+:109F00000101010101010101010101010101010141
+:109F10000101010101010101010101010101010131
+:109F20000101010101010101010101010101010121
+:109F30000101010101010101010101010101010111
+:109F40000101010101010101010101010101010101
+:109F500001010101010101010101010101010101F1
+:109F600001010101010101010101010101010101E1
+:109F700001010101010101010101010101010101D1
+:109F800001010101010101010101010101010101C1
+:109F900001010101010101010101010101010101B1
+:109FA00001010101010101010101010101010101A1
+:109FB0000101010101010101010101010101010191
+:109FC0000101010101010101010101010101010181
+:109FD0000101010101010101010101010101010171
+:109FE0000101010101010101010101010101010161
+:109FF0000101010101010101010101010101010151
+:10A000000101010101010101010101010101010140
+:10A010000101010101010101010101010101010130
+:10A020000101010101010101010101010101010120
+:10A030000101010101010101010101010101010110
+:10A040000101010101010101010101010101010100
+:10A0500001010101010101010101010101010101F0
+:10A0600001010101010101010101010101010101E0
+:10A0700001010101010101010101010101010101D0
+:10A0800001010101010101010101010101010101C0
+:10A0900001010101010101010101010101010101B0
+:10A0A00001010101010101010101010101010101A0
+:10A0B0000101010101010101010101010101010190
+:10A0C0000101010101010101010101010101010180
+:10A0D0000101010101010101010101010101010170
+:10A0E0000101010101010101010101010101010160
+:10A0F0000101010101010101010101010101010150
+:10A10000010101010101010101010101010101013F
+:10A11000010101010101010101010101010101012F
+:10A12000010101010101010101010101010101011F
+:10A13000010101010101010101010101010101010F
+:10A1400001010101010101010101010101010101FF
+:10A1500001010101010101010101010101010101EF
+:10A1600001010101010101010101010101010101DF
+:10A1700001010101010101010101010101010101CF
+:10A1800001010101010101010101010101010101BF
+:10A1900001010101010101010101010101010101AF
+:10A1A000010101010101010101010101010101019F
+:10A1B000010101010101010101010101010101018F
+:10A1C000010101010101010101010101010101017F
+:10A1D000010101010101010101010101010101016F
+:10A1E000010101010101010101010101010101015F
+:10A1F000010101010101010101010101010101014F
+:10A20000010101010101010101010101010101013E
+:10A21000010101010101010101010101010101012E
+:10A22000010101010101010101010101010101011E
+:10A23000010101010101010101010101010101010E
+:10A2400001010101010101010101010101010101FE
+:10A2500001010101010101010101010101010101EE
+:10A2600001010101010101010101010101010101DE
+:10A2700001010101010101010101010101010101CE
+:10A2800001010101010101010101010101010101BE
+:10A2900001010101010101010101010101010101AE
+:10A2A000010101010101010101010101010101019E
+:10A2B000010101010101010101010101010101018E
+:10A2C000010101010101010101010101010101017E
+:10A2D000010101010101010101010101010101016E
+:10A2E000010101010101010101010101010101015E
+:10A2F000010101010101010101010101010101014E
+:10A30000010101010101010101010101010101013D
+:10A31000010101010101010101010101010101012D
+:10A32000010101010101010101010101010101011D
+:10A33000010101010101010101010101010101010D
+:10A3400001010101010101010101010101010101FD
+:10A3500001010101010101010101010101010101ED
+:10A3600001010101010101010101010101010101DD
+:10A3700001010101010101010101010101010101CD
+:10A3800001010101010101010101010101010101BD
+:10A3900001010101010101010101010101010101AD
+:10A3A000010101010101010101010101010101019D
+:10A3B000010101010101010101010101010101018D
+:10A3C000010101010101010101010101010101017D
+:10A3D000010101010101010101010101010101016D
+:10A3E000010101010101010101010101010101015D
+:10A3F000010101010101010101010101010101014D
+:10A40000010101010101010101010101010101013C
+:10A41000010101010101010101010101010101012C
+:10A42000010101010101010101010101010101011C
+:10A43000010101010101010101010101010101010C
+:10A4400001010101010101010101010101010101FC
+:10A4500001010101010101010101010101010101EC
+:10A4600001010101010101010101010101010101DC
+:10A4700001010101010101010101010101010101CC
+:10A4800001010101010101010101010101010101BC
+:10A4900001010101010101010101010101010101AC
+:10A4A000010101010101010101010101010101019C
+:10A4B000010101010101010101010101010101018C
+:10A4C000010101010101010101010101010101017C
+:10A4D000010101010101010101010101010101016C
+:10A4E000010101010101010101010101010101015C
+:10A4F000010101010101010101010101010101014C
+:10A50000010101010101010101010101010101013B
+:10A51000010101010101010101010101010101012B
+:10A52000010101010101010101010101010101011B
+:10A53000010101010101010101010101010101010B
+:10A5400001010101010101010101010101010101FB
+:10A5500001010101010101010101010101010101EB
+:10A5600001010101010101010101010101010101DB
+:10A5700001010101010101010101010101010101CB
+:10A5800001010101010101010101010101010101BB
+:10A5900001010101010101010101010101010101AB
+:10A5A000010101010101010101010101010101019B
+:10A5B000010101010101010101010101010101018B
+:10A5C000010101010101010101010101010101017B
+:10A5D000010101010101010101010101010101016B
+:10A5E000010101010101010101010101010101015B
+:10A5F000010101010101010101010101010101014B
+:10A60000010101010101010101010101010101013A
+:10A61000010101010101010101010101010101012A
+:10A62000010101010101010101010101010101011A
+:10A63000010101010101010101010101010101000B
+:10A64000000000000000000000000000000000000A
+:10A6500000000000000000000000000000000000FA
+:10A6600000000000000000000000000000000000EA
+:10A6700000000000000000000000000000000000DA
+:10A6800000000000000000000000000000000000CA
+:10A6900000000000000000000000000000000000BA
+:10A6A00000000000000000000000000000000000AA
+:10A6B000000000000000000000000000000000009A
+:10A6C000000000000000000000000000000000008A
+:10A6D000000000000000000000000000000000007A
+:10A6E000000000000000000000000000000000006A
+:10A6F000000000000000000000000000000000005A
+:10A700000000000000000000000000000000000049
+:10A710000000000000000000000000000000000039
+:10A720000000000000000000000000000000000029
+:10A730000000000000000000000000000000000019
+:10A740000000000000000000000000000000000009
+:10A7500000000000000000000000000000000000F9
+:10A7600000000000000000000000000000000000E9
+:10A7700000000000000000000000000000000000D9
+:10A7800000000000000000000000000000000000C9
+:10A7900000000000000000000000000000000000B9
+:10A7A00000000000000000000000000000000000A9
+:10A7B0000000000000000000000000000000000099
+:10A7C0000000000000000000000000000000000089
+:10A7D0000000000000000000000000000000000079
+:10A7E0000000000000000000000000000000000069
+:10A7F0000000000000000000000000000000000059
+:10A800000000000000000000000000000000000048
+:10A810000000000000000000000000000000000038
+:10A820000000000000000000000000000000000028
+:10A830000000000000000000000000000000000018
+:10A840000000000000000000000000000000000008
+:10A8500000000000000000000000000000000000F8
+:10A8600000000000000000000000000000000000E8
+:10A8700000000000000000000000000000000000D8
+:10A8800000000000000000000000000000000000C8
+:10A8900000000000000000000000000000000000B8
+:10A8A00000000000000000000000000000000000A8
+:10A8B0000000000000000000000000000000000098
+:10A8C0000000000000000000000000000000000088
+:10A8D0000000000000000000000000000000000078
+:10A8E0000000000000000000000000000000000068
+:10A8F0000000000000000000000000000000000058
+:10A900000000000000000000000000000000000047
+:10A910000000000000000000000000000000000037
+:10A920000000000000000000000000000000000027
+:10A930000000000000000000000000000000000017
+:10A940000000000000000000000000000000000007
+:10A9500000000000000000000000000000000000F7
+:10A9600000000000000000000000000000000000E7
+:10A9700000000000000000000000000000000000D7
+:10A9800000000000000000000000000000000000C7
+:10A9900000000000000000000000000000000000B7
+:10A9A00000000000000000000000000000000000A7
+:10A9B0000000000000000000000000000000000097
+:10A9C0000000000000000000000000000000000087
+:10A9D0000000000000000000000000000000000077
+:10A9E0000000000000000000000000000000000067
+:10A9F0000000000000000000000000000000000057
+:10AA00000000000000000000000000000000000046
+:10AA10000000000000000000000000000000000036
+:10AA20000000000000000000000000000000000026
+:10AA30000000000000000000000000000000000214
+:10AA400002020202020202020202020202020202E6
+:10AA500002020202020202020202020202020202D6
+:10AA600002020202020202020202020202020202C6
+:10AA700002020202020202020202020202020202B6
+:10AA800002020202020202020202020202020202A6
+:10AA90000202020202020202020202020202020296
+:10AAA0000202020202020202020202020202020286
+:10AAB0000202020202020202020202020202020276
+:10AAC0000202020202020202020202020202020266
+:10AAD0000202020202020202020202020202020256
+:10AAE0000202020202020202020202020202020246
+:10AAF0000202020202020202020202020202020236
+:10AB00000202020202020202020202020202020225
+:10AB10000202020202020202020202020202020215
+:10AB20000202020202020202020202020202020205
+:10AB300002020202020202020202020202020202F5
+:10AB400002020202020202020202020202020202E5
+:10AB500002020202020202020202020202020202D5
+:10AB600002020202020202020202020202020202C5
+:10AB700002020202020202020202020202020202B5
+:10AB800002020202020202020202020202020202A5
+:10AB90000202020202020202020202020202020295
+:10ABA0000202020202020202020202020202020285
+:10ABB0000202020202020202020202020202020275
+:10ABC0000202020202020202020202020202020265
+:10ABD0000202020202020202020202020202020255
+:10ABE0000202020202020202020202020202020245
+:10ABF0000202020202020202020202020202020235
+:10AC00000202020202020202020202020202020224
+:10AC10000202020202020202020202020202020214
+:10AC20000202020202020202020202020202020204
+:10AC300002020202020202020202020202020202F4
+:10AC400002020202020202020202020202020202E4
+:10AC500002020202020202020202020202020202D4
+:10AC600002020202020202020202020202020202C4
+:10AC700002020202020202020202020202020202B4
+:10AC800002020202020202020202020202020202A4
+:10AC90000202020202020202020202020202020294
+:10ACA0000202020202020202020202020202020284
+:10ACB0000202020202020202020202020202020274
+:10ACC0000202020202020202020202020202020264
+:10ACD0000202020202020202020202020202020254
+:10ACE0000202020202020202020202020202020244
+:10ACF0000202020202020202020202020202020234
+:10AD00000202020202020202020202020202020223
+:10AD10000202020202020202020202020202020213
+:10AD20000202020202020202020202020202020203
+:10AD300002020202020202020202020202020202F3
+:10AD400002020202020202020202020202020202E3
+:10AD500002020202020202020202020202020202D3
+:10AD600002020202020202020202020202020202C3
+:10AD700002020202020202020202020202020202B3
+:10AD800002020202020202020202020202020202A3
+:10AD90000202020202020202020202020202020293
+:10ADA0000202020202020202020202020202020283
+:10ADB0000202020202020202020202020202020273
+:10ADC0000202020202020202020202020202020263
+:10ADD0000202020202020202020202020202020253
+:10ADE0000202020202020202020202020202020243
+:10ADF0000202020202020202020202020202020233
+:10AE00000202020202020202020202020202020222
+:10AE10000202020202020202020202020202020212
+:10AE20000202020202020202020202020202020202
+:10AE300002020202020202020202020202020202F2
+:10AE400002020202020202020202020202020202E2
+:10AE500002020202020202020202020202020202D2
+:10AE600002020202020202020202020202020202C2
+:10AE700002020202020202020202020202020202B2
+:10AE800002020202020202020202020202020202A2
+:10AE90000202020202020202020202020202020292
+:10AEA0000202020202020202020202020202020282
+:10AEB0000202020202020202020202020202020272
+:10AEC0000202020202020202020202020202020262
+:10AED0000202020202020202020202020202020252
+:10AEE0000202020202020202020202020202020242
+:10AEF0000202020202020202020202020202020232
+:10AF00000202020202020202020202020202020221
+:10AF10000202020202020202020202020202020211
+:10AF20000202020202020202020202020202020201
+:10AF300002020202020202020202020202020202F1
+:10AF400002020202020202020202020202020202E1
+:10AF500002020202020202020202020202020202D1
+:10AF600002020202020202020202020202020202C1
+:10AF700002020202020202020202020202020202B1
+:10AF800002020202020202020202020202020202A1
+:10AF90000202020202020202020202020202020291
+:10AFA0000202020202020202020202020202020281
+:10AFB0000202020202020202020202020202020271
+:10AFC0000202020202020202020202020202020261
+:10AFD0000202020202020202020202020202020251
+:10AFE0000202020202020202020202020202020241
+:10AFF0000202020202020202020202020202020231
+:10B000000202020202020202020202020202020220
+:10B010000202020202020202020202020202020210
+:10B020000202020202020202020202020202020200
+:10B0300002020202020202020202020202020202F0
+:10B0400002020202020202020202020202020202E0
+:10B0500002020202020202020202020202020202D0
+:10B0600002020202020202020202020202020202C0
+:10B0700002020202020202020202020202020202B0
+:10B0800002020202020202020202020202020202A0
+:10B090000202020202020202020202020202020290
+:10B0A0000202020202020202020202020202020280
+:10B0B0000202020202020202020202020202020270
+:10B0C0000202020202020202020202020202020260
+:10B0D0000202020202020202020202020202020250
+:10B0E0000202020202020202020202020202020240
+:10B0F0000202020202020202020202020202020230
+:10B10000020202020202020202020202020202021F
+:10B11000020202020202020202020202020202020F
+:10B1200002020202020202020202020202020202FF
+:10B1300002020202020202020202020202020202EF
+:10B1400002020202020202020202020202020202DF
+:10B1500002020202020202020202020202020202CF
+:10B1600002020202020202020202020202020202BF
+:10B1700002020202020202020202020202020202AF
+:10B18000020202020202020202020202020202029F
+:10B19000020202020202020202020202020202028F
+:10B1A000020202020202020202020202020202027F
+:10B1B000020202020202020202020202020202026F
+:10B1C000020202020202020202020202020202025F
+:10B1D000020202020202020202020202020202024F
+:10B1E000020202020202020202020202020202023F
+:10B1F000020202020202020202020202020202022F
+:10B20000020202020202020202020202020202021E
+:10B21000020202020202020202020202020202020E
+:10B2200002020202020202020202020202020202FE
+:10B2300002020202020202020202020202020202EE
+:10B2400002020202020202020202020202020202DE
+:10B2500002020202020202020202020202020202CE
+:10B2600002020202020202020202020202020202BE
+:10B2700002020202020202020202020202020202AE
+:10B28000020202020202020202020202020202029E
+:10B29000020202020202020202020202020202028E
+:10B2A000020202020202020202020202020202027E
+:10B2B000020202020202020202020202020202026E
+:10B2C000020202020202020202020202020202025E
+:10B2D000020202020202020202020202020202024E
+:10B2E000020202020202020202020202020202023E
+:10B2F000020202020202020202020202020202022E
+:10B30000020202020202020202020202020202021D
+:10B31000020202020202020202020202020202020D
+:10B3200002020202020202020202020202020202FD
+:10B3300002020202020202020202020202020202ED
+:10B3400002020202020202020202020202020202DD
+:10B3500002020202020202020202020202020202CD
+:10B3600002020202020202020202020202020202BD
+:10B3700002020202020202020202020202020202AD
+:10B38000020202020202020202020202020202029D
+:10B39000020202020202020202020202020202028D
+:10B3A000020202020202020202020202020202027D
+:10B3B000020202020202020202020202020202026D
+:10B3C000020202020202020202020202020202025D
+:10B3D000020202020202020202020202020202024D
+:10B3E000020202020202020202020202020202023D
+:10B3F000020202020202020202020202020202022D
+:10B40000020202020202020202020202020202021C
+:10B41000020202020202020202020202020202020C
+:10B4200002020202020202020202020202020202FC
+:10B4300002020202020202020202020202020202EC
+:10B4400002020202020202020202020202020202DC
+:10B4500002020202020202020202020202020202CC
+:10B4600002020202020202020202020202020202BC
+:10B4700002020202020202020202020202020202AC
+:10B48000020202020202020202020202020202029C
+:10B49000020202020202020202020202020202028C
+:10B4A000020202020202020202020202020202027C
+:10B4B000020202020202020202020202020202026C
+:10B4C000020202020202020202020202020202025C
+:10B4D000020202020202020202020202020202024C
+:10B4E000020202020202020202020202020202023C
+:10B4F000020202020202020202020202020202022C
+:10B50000020202020202020202020202020202021B
+:10B51000020202020202020202020202020202020B
+:10B5200002020202020202020202020202020202FB
+:10B5300002020202020202020202020202020202EB
+:10B5400002020202020202020202020202020202DB
+:10B5500002020202020202020202020202020202CB
+:10B5600002020202020202020202020202020202BB
+:10B5700002020202020202020202020202020202AB
+:10B58000020202020202020202020202020202029B
+:10B59000020202020202020202020202020202028B
+:10B5A000020202020202020202020202020202027B
+:10B5B000020202020202020202020202020202026B
+:10B5C000020202020202020202020202020202025B
+:10B5D000020202020202020202020202020202024B
+:10B5E000020202020202020202020202020202023B
+:10B5F000020202020202020202020202020202022B
+:10B60000020202020202020202020202020202021A
+:10B61000020202020202020202020202020202020A
+:10B6200002020202020202020202020202020202FA
+:10B6300002020202020202020202020202020202EA
+:10B6400002020202020202020202020202020202DA
+:10B6500002020202020202020202020202020202CA
+:10B6600002020202020202020202020202020202BA
+:10B6700002020202020202020202020202020202AA
+:10B68000020202020202020202020202020202029A
+:10B69000020202020202020202020202020202028A
+:10B6A000020202020202020202020202020202027A
+:10B6B000020202020202020202020202020202026A
+:10B6C000020202020202020202020202020202025A
+:10B6D000020202020202020202020202020202024A
+:10B6E000020202020202020202020202020202023A
+:10B6F000020202020202020202020202020202022A
+:10B700000202020202020202020202020202020219
+:10B710000202020202020202020202020202020209
+:10B7200002020202020202020202020202020202F9
+:10B7300002020202020202020202020202020202E9
+:10B7400002020202020202020202020202020202D9
+:10B7500002020202020202020202020202020202C9
+:10B7600002020202020202020202020202020202B9
+:10B7700002020202020202020202020202020202A9
+:10B780000202020202020202020202020202020299
+:10B790000202020202020202020202020202020289
+:10B7A0000202020202020202020202020202020279
+:10B7B0000202020202020202020202020202020269
+:10B7C0000202020202020202020202020202020259
+:10B7D0000202020202020202020202020202020249
+:10B7E0000202020202020202020202020202020239
+:10B7F0000202020202020202020202020202020229
+:10B800000202020202020202020202020202020218
+:10B810000202020202020202020202020202020208
+:10B8200002020202020202020202020202020202F8
+:10B8300002020202020202020202020202020200EA
+:10B8400000000000000000000000000000000000F8
+:10B8500000000000000000000000000000000000E8
+:10B8600000000000000000000000000000000000D8
+:10B8700000000000000000000000000000000000C8
+:10B8800000000000000000000000000000000000B8
+:10B8900000000000000000000000000000000000A8
+:10B8A0000000000000000000000000000000000098
+:10B8B0000000000000000000000000000000000088
+:10B8C0000000000000000000000000000000000078
+:10B8D0000000000000000000000000000000000068
+:10B8E0000000000000000000000000000000000058
+:10B8F0000000000000000000000000000000000048
+:10B900000000000000000000000000000000000037
+:10B910000000000000000000000000000000000027
+:10B920000000000000000000000000000000000017
+:10B930000000000000000000000000000000000007
+:10B9400000000000000000000000000000000000F7
+:10B9500000000000000000000000000000000000E7
+:10B9600000000000000000000000000000000000D7
+:10B9700000000000000000000000000000000000C7
+:10B9800000000000000000000000000000000000B7
+:10B9900000000000000000000000000000000000A7
+:10B9A0000000000000000000000000000000000097
+:10B9B0000000000000000000000000000000000087
+:10B9C0000000000000000000000000000000000077
+:10B9D0000000000000000000000000000000000067
+:10B9E0000000000000000000000000000000000057
+:10B9F0000000000000000000000000000000000047
+:10BA00000000000000000000000000000000000036
+:10BA10000000000000000000000000000000000026
+:10BA20000000000000000000000000000000000016
+:10BA30000000000000000000000000000000000006
+:10BA400000000000000000000000000000000000F6
+:10BA500000000000000000000000000000000000E6
+:10BA600000000000000000000000000000000000D6
+:10BA700000000000000000000000000000000000C6
+:10BA800000000000000000000000000000000000B6
+:10BA900000000000000000000000000000000000A6
+:10BAA0000000000000000000000000000000000096
+:10BAB0000000000000000000000000000000000086
+:10BAC0000000000000000000000000000000000076
+:10BAD0000000000000000000000000000000000066
+:10BAE0000000000000000000000000000000000056
+:10BAF0000000000000000000000000000000000046
+:10BB00000000000000000000000000000000000035
+:10BB10000000000000000000000000000000000025
+:10BB20000000000000000000000000000000000015
+:10BB30000000000000000000000000000000000005
+:10BB400000000000000000000000000000000000F5
+:10BB500000000000000000000000000000000000E5
+:10BB600000000000000000000000000000000000D5
+:10BB700000000000000000000000000000000000C5
+:10BB800000000000000000000000000000000000B5
+:10BB900000000000000000000000000000000000A5
+:10BBA0000000000000000000000000000000000095
+:10BBB0000000000000000000000000000000000085
+:10BBC0000000000000000000000000000000000075
+:10BBD0000000000000000000000000000000000065
+:10BBE0000000000000000000000000000000000055
+:10BBF0000000000000000000000000000000000045
+:10BC00000000000000000000000000000000000034
+:10BC10000000000000000000000000000000000024
+:10BC20000000000000000000000000000000000014
+:10BC30000000000000000000000000000000000004
+:10BC400000000000000000000000000000000000F4
+:10BC500000000000000000000000000000000000E4
+:10BC600000000000000000000000000000000000D4
+:10BC700000000000000000000000000000000000C4
+:10BC800000000000000000000000000000000000B4
+:10BC900000000000000000000000000000000000A4
+:10BCA0000000000000000000000000000000000094
+:10BCB0000000000000000000000000000000000084
+:10BCC0000000000000000000000000000000000074
+:10BCD0000000000000000000000000000000000064
+:10BCE0000000000000000000000000000000000054
+:10BCF0000000000000000000000000000000000044
+:10BD00000000000000000000000000000000000033
+:10BD10000000000000000000000000000000000023
+:10BD20000000000000000000000000000000000013
+:10BD30000000000000000000000000000000000003
+:10BD400000000000000000000000000000000000F3
+:10BD500000000000000000000000000000000000E3
+:10BD600000000000000000000000000000000000D3
+:10BD700000000000000000000000000000000000C3
+:10BD800000000000000000000000000000000000B3
+:10BD900000000000000000000000000000000000A3
+:10BDA0000000000000000000000000000000000093
+:10BDB0000000000000000000000000000000000083
+:10BDC0000000000000000000000000000000000073
+:10BDD0000000000000000000000000000000000063
+:10BDE0000000000000000000000000000000000053
+:10BDF0000000000000000000000000000000000043
+:10BE00000000000000000000000000000000000032
+:10BE10000000000000000000000000000000000022
+:10BE20000000000000000000000000000000000012
+:10BE30000000000000000000000000000000000002
+:10BE400000000000000000000000000000000000F2
+:10BE500000000000000000000000000000000000E2
+:10BE600000000000000000000000000000000000D2
+:10BE700000000000000000000000000000000000C2
+:10BE800000000000000000000000000000000000B2
+:10BE900000000000000000000000000000000000A2
+:10BEA0000000000000000000000000000000000092
+:10BEB0000000000000000000000000000000000082
+:10BEC0000000000000000000000000000000000072
+:10BED0000000000000000000000000000000000062
+:10BEE0000000000000000000000000000000000052
+:10BEF0000000000000000000000000000000000042
+:10BF00000000000000000000000000000000000031
+:10BF10000000000000000000000000000000000021
+:10BF20000000000000000000000000000000000011
+:10BF30000000000000000000000000000000000001
+:10BF400000000000000000000000000000000000F1
+:10BF500000000000000000000000000000000000E1
+:10BF600000000000000000000000000000000000D1
+:10BF700000000000000000000000000000000000C1
+:10BF800000000000000000000000000000000000B1
+:10BF900000000000000000000000000000000000A1
+:10BFA0000000000000000000000000000000000091
+:10BFB0000000000000000000000000000000000081
+:10BFC0000000000000000000000000000000000071
+:10BFD0000000000000000000000000000000000061
+:10BFE0000000000000000000000000000000000051
+:10BFF0000000000000000000000000000000000041
+:10C000000000000000000000000000000000000030
+:10C010000000000000000000000000000000000020
+:10C020000000000000000000000000000000000010
+:10C030000000000000000000000000000000000000
+:10C0400000000000000000000000000000000000F0
+:10C0500000000000000000000000000000000000E0
+:10C0600000000000000000000000000000000000D0
+:10C0700000000000000000000000000000000000C0
+:10C0800000000000000000000000000000000000B0
+:10C0900000000000000000000000000000000000A0
+:10C0A0000000000000000000000000000000000090
+:10C0B0000000000000000000000000000000000080
+:10C0C0000000000000000000000000000000000070
+:10C0D0000000000000000000000000000000000060
+:10C0E0000000000000000000000000000000000050
+:10C0F0000000000000000000000000000000000040
+:10C10000000000000000000000000000000000002F
+:10C11000000000000000000000000000000000001F
+:10C12000000000000000000000000000000000000F
+:10C1300000000000000000000000000000000000FF
+:10C1400000000000000000000000000000000000EF
+:10C1500000000000000000000000000000000000DF
+:10C1600000000000000000000000000000000000CF
+:10C1700000000000000000000000000000000000BF
+:10C1800000000000000000000000000000000000AF
+:10C19000000000000000000000000000000000009F
+:10C1A000000000000000000000000000000000008F
+:10C1B000000000000000000000000000000000007F
+:10C1C000000000000000000000000000000000006F
+:10C1D000000000000000000000000000000000005F
+:10C1E000000000000000000000000000000000004F
+:10C1F000000000000000000000000000000000003F
+:10C20000000000000000000000000000000000002E
+:10C21000000000000000000000000000000000001E
+:10C22000000000000000000000000000000000000E
+:10C2300000000000000000000000000000000000FE
+:10C2400000000000000000000000000000000000EE
+:10C2500000000000000000000000000000000000DE
+:10C2600000000000000000000000000000000000CE
+:10C2700000000000000000000000000000000000BE
+:10C2800000000000000000000000000000000000AE
+:10C29000000000000000000000000000000000009E
+:10C2A000000000000000000000000000000000008E
+:10C2B000000000000000000000000000000000007E
+:10C2C000000000000000000000000000000000006E
+:10C2D000000000000000000000000000000000005E
+:10C2E000000000000000000000000000000000004E
+:10C2F000000000000000000000000000000000003E
+:10C30000000000000000000000000000000000002D
+:10C31000000000000000000000000000000000001D
+:10C32000000000000000000000000000000000000D
+:10C3300000000000000000000000000000000001FC
+:10C3400001010101010101010101010101010101DD
+:10C3500001010101010101010101010101010101CD
+:10C3600001010101010101010101010101010101BD
+:10C3700001010101010101010101010101010101AD
+:10C38000010101010101010101010101010101019D
+:10C39000010101010101010101010101010101018D
+:10C3A000010101010101010101010101010101017D
+:10C3B000010101010101010101010101010101016D
+:10C3C000010101010101010101010101010101015D
+:10C3D000010101010101010101010101010101014D
+:10C3E000010101010101010101010101010101013D
+:10C3F000010101010101010101010101010101012D
+:10C40000010101010101010101010101010101011C
+:10C41000010101010101010101010101010101010C
+:10C4200001010101010101010101010101010101FC
+:10C4300001010101010101010101010101010101EC
+:10C4400001010101010101010101010101010101DC
+:10C4500001010101010101010101010101010101CC
+:10C4600001010101010101010101010101010101BC
+:10C4700001010101010101010101010101010101AC
+:10C48000010101010101010101010101010101019C
+:10C49000010101010101010101010101010101018C
+:10C4A000010101010101010101010101010101017C
+:10C4B000010101010101010101010101010101016C
+:10C4C000010101010101010101010101010101015C
+:10C4D000010101010101010101010101010101014C
+:10C4E000010101010101010101010101010101013C
+:10C4F000010101010101010101010101010101012C
+:10C50000010101010101010101010101010101011B
+:10C51000010101010101010101010101010101010B
+:10C5200001010101010101010101010101010101FB
+:10C5300001010101010101010101010101010101EB
+:10C5400001010101010101010101010101010101DB
+:10C5500001010101010101010101010101010101CB
+:10C5600001010101010101010101010101010101BB
+:10C5700001010101010101010101010101010101AB
+:10C58000010101010101010101010101010101019B
+:10C59000010101010101010101010101010101018B
+:10C5A000010101010101010101010101010101017B
+:10C5B000010101010101010101010101010101016B
+:10C5C000010101010101010101010101010101015B
+:10C5D000010101010101010101010101010101014B
+:10C5E000010101010101010101010101010101013B
+:10C5F000010101010101010101010101010101012B
+:10C60000010101010101010101010101010101011A
+:10C61000010101010101010101010101010101010A
+:10C6200001010101010101010101010101010101FA
+:10C6300001010101010101010101010101010101EA
+:10C6400001010101010101010101010101010101DA
+:10C6500001010101010101010101010101010101CA
+:10C6600001010101010101010101010101010101BA
+:10C6700001010101010101010101010101010101AA
+:10C68000010101010101010101010101010101019A
+:10C69000010101010101010101010101010101018A
+:10C6A000010101010101010101010101010101017A
+:10C6B000010101010101010101010101010101016A
+:10C6C000010101010101010101010101010101015A
+:10C6D000010101010101010101010101010101014A
+:10C6E000010101010101010101010101010101013A
+:10C6F000010101010101010101010101010101012A
+:10C700000101010101010101010101010101010119
+:10C710000101010101010101010101010101010109
+:10C7200001010101010101010101010101010101F9
+:10C7300001010101010101010101010101010101E9
+:10C7400001010101010101010101010101010101D9
+:10C7500001010101010101010101010101010101C9
+:10C7600001010101010101010101010101010101B9
+:10C7700001010101010101010101010101010101A9
+:10C780000101010101010101010101010101010199
+:10C790000101010101010101010101010101010189
+:10C7A0000101010101010101010101010101010179
+:10C7B0000101010101010101010101010101010169
+:10C7C0000101010101010101010101010101010159
+:10C7D0000101010101010101010101010101010149
+:10C7E0000101010101010101010101010101010139
+:10C7F0000101010101010101010101010101010129
+:10C800000101010101010101010101010101010118
+:10C810000101010101010101010101010101010108
+:10C8200001010101010101010101010101010101F8
+:10C8300001010101010101010101010101010101E8
+:10C8400001010101010101010101010101010101D8
+:10C8500001010101010101010101010101010101C8
+:10C8600001010101010101010101010101010101B8
+:10C8700001010101010101010101010101010101A8
+:10C880000101010101010101010101010101010198
+:10C890000101010101010101010101010101010188
+:10C8A0000101010101010101010101010101010178
+:10C8B0000101010101010101010101010101010168
+:10C8C0000101010101010101010101010101010158
+:10C8D0000101010101010101010101010101010148
+:10C8E0000101010101010101010101010101010138
+:10C8F0000101010101010101010101010101010128
+:10C900000101010101010101010101010101010117
+:10C910000101010101010101010101010101010107
+:10C9200001010101010101010101010101010101F7
+:10C9300001010101010101010101010101010101E7
+:10C9400001010101010101010101010101010101D7
+:10C9500001010101010101010101010101010101C7
+:10C9600001010101010101010101010101010101B7
+:10C9700001010101010101010101010101010101A7
+:10C980000101010101010101010101010101010197
+:10C990000101010101010101010101010101010187
+:10C9A0000101010101010101010101010101010177
+:10C9B0000101010101010101010101010101010167
+:10C9C0000101010101010101010101010101010157
+:10C9D0000101010101010101010101010101010147
+:10C9E0000101010101010101010101010101010137
+:10C9F0000101010101010101010101010101010127
+:10CA00000101010101010101010101010101010116
+:10CA10000101010101010101010101010101010106
+:10CA200001010101010101010101010101010101F6
+:10CA300001010101010101010101010101010101E6
+:10CA400001010101010101010101010101010101D6
+:10CA500001010101010101010101010101010101C6
+:10CA600001010101010101010101010101010101B6
+:10CA700001010101010101010101010101010101A6
+:10CA80000101010101010101010101010101010196
+:10CA90000101010101010101010101010101010186
+:10CAA0000101010101010101010101010101010176
+:10CAB0000101010101010101010101010101010166
+:10CAC0000101010101010101010101010101010156
+:10CAD0000101010101010101010101010101010146
+:10CAE0000101010101010101010101010101010136
+:10CAF0000101010101010101010101010101010126
+:10CB00000101010101010101010101010101010115
+:10CB10000101010101010101010101010101010105
+:10CB200001010101010101010101010101010101F5
+:10CB300001010101010101010101010101010101E5
+:10CB400001010101010101010101010101010101D5
+:10CB500001010101010101010101010101010101C5
+:10CB600001010101010101010101010101010101B5
+:10CB700001010101010101010101010101010101A5
+:10CB80000101010101010101010101010101010195
+:10CB90000101010101010101010101010101010185
+:10CBA0000101010101010101010101010101010175
+:10CBB0000101010101010101010101010101010165
+:10CBC0000101010101010101010101010101010155
+:10CBD0000101010101010101010101010101010145
+:10CBE0000101010101010101010101010101010135
+:10CBF0000101010101010101010101010101010125
+:10CC00000101010101010101010101010101010114
+:10CC10000101010101010101010101010101010104
+:10CC200001010101010101010101010101010101F4
+:10CC300001010101010101010101010101010101E4
+:10CC400001010101010101010101010101010101D4
+:10CC500001010101010101010101010101010101C4
+:10CC600001010101010101010101010101010101B4
+:10CC700001010101010101010101010101010101A4
+:10CC80000101010101010101010101010101010194
+:10CC90000101010101010101010101010101010184
+:10CCA0000101010101010101010101010101010174
+:10CCB0000101010101010101010101010101010164
+:10CCC0000101010101010101010101010101010154
+:10CCD0000101010101010101010101010101010144
+:10CCE0000101010101010101010101010101010134
+:10CCF0000101010101010101010101010101010124
+:10CD00000101010101010101010101010101010113
+:10CD10000101010101010101010101010101010103
+:10CD200001010101010101010101010101010101F3
+:10CD300001010101010101010101010101010101E3
+:10CD400001010101010101010101010101010101D3
+:10CD500001010101010101010101010101010101C3
+:10CD600001010101010101010101010101010101B3
+:10CD700001010101010101010101010101010101A3
+:10CD80000101010101010101010101010101010193
+:10CD90000101010101010101010101010101010183
+:10CDA0000101010101010101010101010101010173
+:10CDB0000101010101010101010101010101010163
+:10CDC0000101010101010101010101010101010153
+:10CDD0000101010101010101010101010101010143
+:10CDE0000101010101010101010101010101010133
+:10CDF0000101010101010101010101010101010123
+:10CE00000101010101010101010101010101010112
+:10CE10000101010101010101010101010101010102
+:10CE200001010101010101010101010101010101F2
+:10CE300001010101010101010101010101010101E2
+:10CE400001010101010101010101010101010101D2
+:10CE500001010101010101010101010101010101C2
+:10CE600001010101010101010101010101010101B2
+:10CE700001010101010101010101010101010101A2
+:10CE80000101010101010101010101010101010192
+:10CE90000101010101010101010101010101010182
+:10CEA0000101010101010101010101010101010172
+:10CEB0000101010101010101010101010101010162
+:10CEC0000101010101010101010101010101010152
+:10CED0000101010101010101010101010101010142
+:10CEE0000101010101010101010101010101010132
+:10CEF0000101010101010101010101010101010122
+:10CF00000101010101010101010101010101010111
+:10CF10000101010101010101010101010101010101
+:10CF200001010101010101010101010101010101F1
+:10CF300001010101010101010101010101010101E1
+:10CF400001010101010101010101010101010101D1
+:10CF500001010101010101010101010101010101C1
+:10CF600001010101010101010101010101010101B1
+:10CF700001010101010101010101010101010101A1
+:10CF80000101010101010101010101010101010191
+:10CF90000101010101010101010101010101010181
+:10CFA0000101010101010101010101010101010171
+:10CFB0000101010101010101010101010101010161
+:10CFC0000101010101010101010101010101010151
+:10CFD0000101010101010101010101010101010141
+:10CFE0000101010101010101010101010101010131
+:10CFF0000101010101010101010101010101010121
+:10D000000101010101010101010101010101010110
+:10D010000101010101010101010101010101010100
+:10D0200001010101010101010101010101010101F0
+:10D0300001010101010101010101010101010101E0
+:10D0400001010101010101010101010101010101D0
+:10D0500001010101010101010101010101010101C0
+:10D0600001010101010101010101010101010101B0
+:10D0700001010101010101010101010101010101A0
+:10D080000101010101010101010101010101010190
+:10D090000101010101010101010101010101010180
+:10D0A0000101010101010101010101010101010170
+:10D0B0000101010101010101010101010101010160
+:10D0C0000101010101010101010101010101010150
+:10D0D0000101010101010101010101010101010140
+:10D0E0000101010101010101010101010101010130
+:10D0F0000101010101010101010101010101010120
+:10D10000010101010101010101010101010101010F
+:10D1100001010101010101010101010101010101FF
+:10D1200001010101010101010101010101010101EF
+:10D1300001010101010101010101010101010100E0
+:10D1400000000000000000000000000000000000DF
+:10D1500000000000000000000000000000000000CF
+:10D1600000000000000000000000000000000000BF
+:10D1700000000000000000000000000000000000AF
+:10D18000000000000000000000000000000000009F
+:10D19000000000000000000000000000000000008F
+:10D1A000000000000000000000000000000000007F
+:10D1B000000000000000000000000000000000006F
+:10D1C000000000000000000000000000000000005F
+:10D1D000000000000000000000000000000000004F
+:10D1E000000000000000000000000000000000003F
+:10D1F000000000000000000000000000000000002F
+:10D20000000000000000000000000000000000001E
+:10D21000000000000000000000000000000000000E
+:10D2200000000000000000000000000000000000FE
+:10D2300000000000000000000000000000000000EE
+:10D2400000000000000000000000000000000000DE
+:10D2500000000000000000000000000000000000CE
+:10D2600000000000000000000000000000000000BE
+:10D2700000000000000000000000000000000000AE
+:10D28000000000000000000000000000000000009E
+:10D29000000000000000000000000000000000008E
+:10D2A000000000000000000000000000000000007E
+:10D2B000000000000000000000000000000000006E
+:10D2C000000000000000000000000000000000005E
+:10D2D000000000000000000000000000000000004E
+:10D2E000000000000000000000000000000000003E
+:10D2F000000000000000000000000000000000002E
+:10D30000000000000000000000000000000000001D
+:10D31000000000000000000000000000000000000D
+:10D3200000000000000000000000000000000000FD
+:10D3300000000000000000000000000000000000ED
+:10D3400000000000000000000000000000000000DD
+:10D3500000000000000000000000000000000000CD
+:10D3600000000000000000000000000000000000BD
+:10D3700000000000000000000000000000000000AD
+:10D38000000000000000000000000000000000009D
+:10D39000000000000000000000000000000000008D
+:10D3A000000000000000000000000000000000007D
+:10D3B000000000000000000000000000000000006D
+:10D3C000000000000000000000000000000000005D
+:10D3D000000000000000000000000000000000004D
+:10D3E000000000000000000000000000000000003D
+:10D3F000000000000000000000000000000000002D
+:10D40000000000000000000000000000000000001C
+:10D41000000000000000000000000000000000000C
+:10D4200000000000000000000000000000000000FC
+:10D4300000000000000000000000000000000000EC
+:10D4400000000000000000000000000000000000DC
+:10D4500000000000000000000000000000000000CC
+:10D4600000000000000000000000000000000000BC
+:10D4700000000000000000000000000000000000AC
+:10D48000000000000000000000000000000000009C
+:10D49000000000000000000000000000000000008C
+:10D4A000000000000000000000000000000000007C
+:10D4B000000000000000000000000000000000006C
+:10D4C000000000000000000000000000000000005C
+:10D4D000000000000000000000000000000000004C
+:10D4E000000000000000000000000000000000003C
+:10D4F000000000000000000000000000000000002C
+:10D50000000000000000000000000000000000001B
+:10D51000000000000000000000000000000000000B
+:10D5200000000000000000000000000000000000FB
+:10D5300000000000000000000000000000000002E9
+:10D5400002020202020202020202020202020202BB
+:10D5500002020202020202020202020202020202AB
+:10D56000020202020202020202020202020202029B
+:10D57000020202020202020202020202020202028B
+:10D58000020202020202020202020202020202027B
+:10D59000020202020202020202020202020202026B
+:10D5A000020202020202020202020202020202025B
+:10D5B000020202020202020202020202020202024B
+:10D5C000020202020202020202020202020202023B
+:10D5D000020202020202020202020202020202022B
+:10D5E000020202020202020202020202020202021B
+:10D5F000020202020202020202020202020202020B
+:10D6000002020202020202020202020202020202FA
+:10D6100002020202020202020202020202020202EA
+:10D6200002020202020202020202020202020202DA
+:10D6300002020202020202020202020202020202CA
+:10D6400002020202020202020202020202020202BA
+:10D6500002020202020202020202020202020202AA
+:10D66000020202020202020202020202020202029A
+:10D67000020202020202020202020202020202028A
+:10D68000020202020202020202020202020202027A
+:10D69000020202020202020202020202020202026A
+:10D6A000020202020202020202020202020202025A
+:10D6B000020202020202020202020202020202024A
+:10D6C000020202020202020202020202020202023A
+:10D6D000020202020202020202020202020202022A
+:10D6E000020202020202020202020202020202021A
+:10D6F000020202020202020202020202020202020A
+:10D7000002020202020202020202020202020202F9
+:10D7100002020202020202020202020202020202E9
+:10D7200002020202020202020202020202020202D9
+:10D7300002020202020202020202020202020202C9
+:10D7400002020202020202020202020202020202B9
+:10D7500002020202020202020202020202020202A9
+:10D760000202020202020202020202020202020299
+:10D770000202020202020202020202020202020289
+:10D780000202020202020202020202020202020279
+:10D790000202020202020202020202020202020269
+:10D7A0000202020202020202020202020202020259
+:10D7B0000202020202020202020202020202020249
+:10D7C0000202020202020202020202020202020239
+:10D7D0000202020202020202020202020202020229
+:10D7E0000202020202020202020202020202020219
+:10D7F0000202020202020202020202020202020209
+:10D8000002020202020202020202020202020202F8
+:10D8100002020202020202020202020202020202E8
+:10D8200002020202020202020202020202020202D8
+:10D8300002020202020202020202020202020202C8
+:10D8400002020202020202020202020202020202B8
+:10D8500002020202020202020202020202020202A8
+:10D860000202020202020202020202020202020298
+:10D870000202020202020202020202020202020288
+:10D880000202020202020202020202020202020278
+:10D890000202020202020202020202020202020268
+:10D8A0000202020202020202020202020202020258
+:10D8B0000202020202020202020202020202020248
+:10D8C0000202020202020202020202020202020238
+:10D8D0000202020202020202020202020202020228
+:10D8E0000202020202020202020202020202020218
+:10D8F0000202020202020202020202020202020208
+:10D9000002020202020202020202020202020202F7
+:10D9100002020202020202020202020202020202E7
+:10D9200002020202020202020202020202020202D7
+:10D9300002020202020202020202020202020202C7
+:10D9400002020202020202020202020202020202B7
+:10D9500002020202020202020202020202020202A7
+:10D960000202020202020202020202020202020297
+:10D970000202020202020202020202020202020287
+:10D980000202020202020202020202020202020277
+:10D990000202020202020202020202020202020267
+:10D9A0000202020202020202020202020202020257
+:10D9B0000202020202020202020202020202020247
+:10D9C0000202020202020202020202020202020237
+:10D9D0000202020202020202020202020202020227
+:10D9E0000202020202020202020202020202020217
+:10D9F0000202020202020202020202020202020207
+:10DA000002020202020202020202020202020202F6
+:10DA100002020202020202020202020202020202E6
+:10DA200002020202020202020202020202020202D6
+:10DA300002020202020202020202020202020202C6
+:10DA400002020202020202020202020202020202B6
+:10DA500002020202020202020202020202020202A6
+:10DA60000202020202020202020202020202020296
+:10DA70000202020202020202020202020202020286
+:10DA80000202020202020202020202020202020276
+:10DA90000202020202020202020202020202020266
+:10DAA0000202020202020202020202020202020256
+:10DAB0000202020202020202020202020202020246
+:10DAC0000202020202020202020202020202020236
+:10DAD0000202020202020202020202020202020226
+:10DAE0000202020202020202020202020202020216
+:10DAF0000202020202020202020202020202020206
+:10DB000002020202020202020202020202020202F5
+:10DB100002020202020202020202020202020202E5
+:10DB200002020202020202020202020202020202D5
+:10DB300002020202020202020202020202020202C5
+:10DB400002020202020202020202020202020202B5
+:10DB500002020202020202020202020202020202A5
+:10DB60000202020202020202020202020202020295
+:10DB70000202020202020202020202020202020285
+:10DB80000202020202020202020202020202020275
+:10DB90000202020202020202020202020202020265
+:10DBA0000202020202020202020202020202020255
+:10DBB0000202020202020202020202020202020245
+:10DBC0000202020202020202020202020202020235
+:10DBD0000202020202020202020202020202020225
+:10DBE0000202020202020202020202020202020215
+:10DBF0000202020202020202020202020202020205
+:10DC000002020202020202020202020202020202F4
+:10DC100002020202020202020202020202020202E4
+:10DC200002020202020202020202020202020202D4
+:10DC300002020202020202020202020202020202C4
+:10DC400002020202020202020202020202020202B4
+:10DC500002020202020202020202020202020202A4
+:10DC60000202020202020202020202020202020294
+:10DC70000202020202020202020202020202020284
+:10DC80000202020202020202020202020202020274
+:10DC90000202020202020202020202020202020264
+:10DCA0000202020202020202020202020202020254
+:10DCB0000202020202020202020202020202020244
+:10DCC0000202020202020202020202020202020234
+:10DCD0000202020202020202020202020202020224
+:10DCE0000202020202020202020202020202020214
+:10DCF0000202020202020202020202020202020204
+:10DD000002020202020202020202020202020202F3
+:10DD100002020202020202020202020202020202E3
+:10DD200002020202020202020202020202020202D3
+:10DD300002020202020202020202020202020202C3
+:10DD400002020202020202020202020202020202B3
+:10DD500002020202020202020202020202020202A3
+:10DD60000202020202020202020202020202020293
+:10DD70000202020202020202020202020202020283
+:10DD80000202020202020202020202020202020273
+:10DD90000202020202020202020202020202020263
+:10DDA0000202020202020202020202020202020253
+:10DDB0000202020202020202020202020202020243
+:10DDC0000202020202020202020202020202020233
+:10DDD0000202020202020202020202020202020223
+:10DDE0000202020202020202020202020202020213
+:10DDF0000202020202020202020202020202020203
+:10DE000002020202020202020202020202020202F2
+:10DE100002020202020202020202020202020202E2
+:10DE200002020202020202020202020202020202D2
+:10DE300002020202020202020202020202020202C2
+:10DE400002020202020202020202020202020202B2
+:10DE500002020202020202020202020202020202A2
+:10DE60000202020202020202020202020202020292
+:10DE70000202020202020202020202020202020282
+:10DE80000202020202020202020202020202020272
+:10DE90000202020202020202020202020202020262
+:10DEA0000202020202020202020202020202020252
+:10DEB0000202020202020202020202020202020242
+:10DEC0000202020202020202020202020202020232
+:10DED0000202020202020202020202020202020222
+:10DEE0000202020202020202020202020202020212
+:10DEF0000202020202020202020202020202020202
+:10DF000002020202020202020202020202020202F1
+:10DF100002020202020202020202020202020202E1
+:10DF200002020202020202020202020202020202D1
+:10DF300002020202020202020202020202020202C1
+:10DF400002020202020202020202020202020202B1
+:10DF500002020202020202020202020202020202A1
+:10DF60000202020202020202020202020202020291
+:10DF70000202020202020202020202020202020281
+:10DF80000202020202020202020202020202020271
+:10DF90000202020202020202020202020202020261
+:10DFA0000202020202020202020202020202020251
+:10DFB0000202020202020202020202020202020241
+:10DFC0000202020202020202020202020202020231
+:10DFD0000202020202020202020202020202020221
+:10DFE0000202020202020202020202020202020211
+:10DFF0000202020202020202020202020202020201
+:10E0000002020202020202020202020202020202F0
+:10E0100002020202020202020202020202020202E0
+:10E0200002020202020202020202020202020202D0
+:10E0300002020202020202020202020202020202C0
+:10E0400002020202020202020202020202020202B0
+:10E0500002020202020202020202020202020202A0
+:10E060000202020202020202020202020202020290
+:10E070000202020202020202020202020202020280
+:10E080000202020202020202020202020202020270
+:10E090000202020202020202020202020202020260
+:10E0A0000202020202020202020202020202020250
+:10E0B0000202020202020202020202020202020240
+:10E0C0000202020202020202020202020202020230
+:10E0D0000202020202020202020202020202020220
+:10E0E0000202020202020202020202020202020210
+:10E0F0000202020202020202020202020202020200
+:10E1000002020202020202020202020202020202EF
+:10E1100002020202020202020202020202020202DF
+:10E1200002020202020202020202020202020202CF
+:10E1300002020202020202020202020202020202BF
+:10E1400002020202020202020202020202020202AF
+:10E15000020202020202020202020202020202029F
+:10E16000020202020202020202020202020202028F
+:10E17000020202020202020202020202020202027F
+:10E18000020202020202020202020202020202026F
+:10E19000020202020202020202020202020202025F
+:10E1A000020202020202020202020202020202024F
+:10E1B000020202020202020202020202020202023F
+:10E1C000020202020202020202020202020202022F
+:10E1D000020202020202020202020202020202021F
+:10E1E000020202020202020202020202020202020F
+:10E1F00002020202020202020202020202020202FF
+:10E2000002020202020202020202020202020202EE
+:10E2100002020202020202020202020202020202DE
+:10E2200002020202020202020202020202020202CE
+:10E2300002020202020202020202020202020202BE
+:10E2400002020202020202020202020202020202AE
+:10E25000020202020202020202020202020202029E
+:10E26000020202020202020202020202020202028E
+:10E27000020202020202020202020202020202027E
+:10E28000020202020202020202020202020202026E
+:10E29000020202020202020202020202020202025E
+:10E2A000020202020202020202020202020202024E
+:10E2B000020202020202020202020202020202023E
+:10E2C000020202020202020202020202020202022E
+:10E2D000020202020202020202020202020202021E
+:10E2E000020202020202020202020202020202020E
+:10E2F00002020202020202020202020202020202FE
+:10E3000002020202020202020202020202020202ED
+:10E3100002020202020202020202020202020202DD
+:10E3200002020202020202020202020202020202CD
+:10E3300002020202020202020202020202020200BF
+:10E3400000000000000000000000000000000000CD
+:10E3500000000000000000000000000000000000BD
+:10E3600000000000000000000000000000000000AD
+:10E37000000000000000000000000000000000009D
+:10E38000000000000000000000000000000000008D
+:10E39000000000000000000000000000000000007D
+:10E3A000000000000000000000000000000000006D
+:10E3B000000000000000000000000000000000005D
+:10E3C000000000000000000000000000000000004D
+:10E3D000000000000000000000000000000000003D
+:10E3E000000000000000000000000000000000002D
+:10E3F000000000000000000000000000000000001D
+:10E40000000000000000000000000000000000000C
+:10E4100000000000000000000000000000000000FC
+:10E4200000000000000000000000000000000000EC
+:10E4300000000000000000000000000000000000DC
+:10E4400000000000000000000000000000000000CC
+:10E4500000000000000000000000000000000000BC
+:10E4600000000000000000000000000000000000AC
+:10E47000000000000000000000000000000000009C
+:10E48000000000000000000000000000000000008C
+:10E49000000000000000000000000000000000007C
+:10E4A000000000000000000000000000000000006C
+:10E4B000000000000000000000000000000000005C
+:10E4C000000000000000000000000000000000004C
+:10E4D000000000000000000000000000000000003C
+:10E4E000000000000000000000000000000000002C
+:10E4F000000000000000000000000000000000001C
+:10E50000000000000000000000000000000000000B
+:10E5100000000000000000000000000000000000FB
+:10E5200000000000000000000000000000000000EB
+:10E5300000000000000000000000000000000000DB
+:10E5400000000000000000000000000000000000CB
+:10E5500000000000000000000000000000000000BB
+:10E5600000000000000000000000000000000000AB
+:10E57000000000000000000000000000000000009B
+:10E58000000000000000000000000000000000008B
+:10E59000000000000000000000000000000000007B
+:10E5A000000000000000000000000000000000006B
+:10E5B000000000000000000000000000000000005B
+:10E5C000000000000000000000000000000000004B
+:10E5D000000000000000000000000000000000003B
+:10E5E000000000000000000000000000000000002B
+:10E5F000000000000000000000000000000000001B
+:10E60000000000000000000000000000000000000A
+:10E6100000000000000000000000000000000000FA
+:10E6200000000000000000000000000000000000EA
+:10E6300000000000000000000000000000000000DA
+:10E6400000000000000000000000000000000000CA
+:10E6500000000000000000000000000000000000BA
+:10E6600000000000000000000000000000000000AA
+:10E67000000000000000000000000000000000009A
+:10E68000000000000000000000000000000000008A
+:10E69000000000000000000000000000000000007A
+:10E6A000000000000000000000000000000000006A
+:10E6B000000000000000000000000000000000005A
+:10E6C000000000000000000000000000000000004A
+:10E6D000000000000000000000000000000000003A
+:10E6E000000000000000000000000000000000002A
+:10E6F000000000000000000000000000000000001A
+:10E700000000000000000000000000000000000009
+:10E7100000000000000000000000000000000000F9
+:10E7200000000000000000000000000000000000E9
+:10E7300000000000000000000000000000000000D9
+:10E7400000000000000000000000000000000000C9
+:10E7500000000000000000000000000000000000B9
+:10E7600000000000000000000000000000000000A9
+:10E770000000000000000000000000000000000099
+:10E780000000000000000000000000000000000089
+:10E790000000000000000000000000000000000079
+:10E7A0000000000000000000000000000000000069
+:10E7B0000000000000000000000000000000000059
+:10E7C0000000000000000000000000000000000049
+:10E7D0000000000000000000000000000000000039
+:10E7E0000000000000000000000000000000000029
+:10E7F0000000000000000000000000000000000019
+:10E800000000000000000000000000000000000008
+:10E8100000000000000000000000000000000000F8
+:10E8200000000000000000000000000000000000E8
+:10E8300000000000000000000000000000000000D8
+:10E8400000000000000000000000000000000000C8
+:10E8500000000000000000000000000000000000B8
+:10E8600000000000000000000000000000000000A8
+:10E870000000000000000000000000000000000098
+:10E880000000000000000000000000000000000088
+:10E890000000000000000000000000000000000078
+:10E8A0000000000000000000000000000000000068
+:10E8B0000000000000000000000000000000000058
+:10E8C0000000000000000000000000000000000048
+:10E8D0000000000000000000000000000000000038
+:10E8E0000000000000000000000000000000000028
+:10E8F0000000000000000000000000000000000018
+:10E900000000000000000000000000000000000007
+:10E9100000000000000000000000000000000000F7
+:10E9200000000000000000000000000000000000E7
+:10E9300000000000000000000000000000000000D7
+:10E9400000000000000000000000000000000000C7
+:10E9500000000000000000000000000000000000B7
+:10E9600000000000000000000000000000000000A7
+:10E970000000000000000000000000000000000097
+:10E980000000000000000000000000000000000087
+:10E990000000000000000000000000000000000077
+:10E9A0000000000000000000000000000000000067
+:10E9B0000000000000000000000000000000000057
+:10E9C0000000000000000000000000000000000047
+:10E9D0000000000000000000000000000000000037
+:10E9E0000000000000000000000000000000000027
+:10E9F0000000000000000000000000000000000017
+:10EA00000000000000000000000000000000000006
+:10EA100000000000000000000000000000000000F6
+:10EA200000000000000000000000000000000000E6
+:10EA300000000000000000000000000000000000D6
+:10EA400000000000000000000000000000000000C6
+:10EA500000000000000000000000000000000000B6
+:10EA600000000000000000000000000000000000A6
+:10EA70000000000000000000000000000000000096
+:10EA80000000000000000000000000000000000086
+:10EA90000000000000000000000000000000000076
+:10EAA0000000000000000000000000000000000066
+:10EAB0000000000000000000000000000000000056
+:10EAC0000000000000000000000000000000000046
+:10EAD0000000000000000000000000000000000036
+:10EAE0000000000000000000000000000000000026
+:10EAF0000000000000000000000000000000000016
+:10EB00000000000000000000000000000000000005
+:10EB100000000000000000000000000000000000F5
+:10EB200000000000000000000000000000000000E5
+:10EB30000000000000000000000000000000005382
+:10EB400000000000000000010101010101010101BC
+:10EB500001010101010101010101010101010101A5
+:10EB60000101010101010101010101010101010195
+:10EB70000101010101010101010101010101010185
+:10EB80000101010101010101010101010101010175
+:10EB90000101010101010101010101010101010165
+:10EBA0000101010101010101010101010101010155
+:10EBB0000101010101010101010101010101010145
+:10EBC0000101010101010101010101010101010135
+:10EBD0000101010101010101010101010101010125
+:10EBE0000101010101010101010101010101010115
+:10EBF0000101010101010101010101010101010105
+:10EC000001010101010101010101010101010101F4
+:10EC100001010101010101010101010101010101E4
+:10EC200001010101010101010101010101010101D4
+:10EC300001010101010101010101010101010101C4
+:10EC400001010101010101010101010101010101B4
+:10EC500001010101010101010101010101010101A4
+:10EC60000101010101010101010101010101010194
+:10EC70000101010101010101010101010101010184
+:10EC80000101010101010101010101010101010174
+:10EC90000101010101010101010101010101010164
+:10ECA0000101010101010101010101010101010154
+:10ECB0000101010101010101010101010101010144
+:10ECC0000101010101010101010101010101010134
+:10ECD0000101010101010101010101010101010124
+:10ECE0000101010101010101010101010101010114
+:10ECF0000101010101010101010101010101010104
+:10ED000001010101010101010101010101010101F3
+:10ED100001010101010101010101010101010101E3
+:10ED200001010101010101010101010101010101D3
+:10ED300001010101010101010101010101010101C3
+:10ED400001010101010101010101010101010101B3
+:10ED500001010101010101010101010101010101A3
+:10ED60000101010101010101010101010101010193
+:10ED70000101010101010101010101010101010183
+:10ED80000101010101010101010101010101010173
+:10ED90000101010101010101010101010101010163
+:10EDA0000101010101010101010101010101010153
+:10EDB0000101010101010101010101010101010143
+:10EDC0000101010101010101010101010101010133
+:10EDD0000101010101010101010101010101010123
+:10EDE0000101010101010101010101010101010113
+:10EDF0000101010101010101010101010101010103
+:10EE000001010101010101010101010101010101F2
+:10EE100001010101010101010101010101010101E2
+:10EE200001010101010101010101010101010101D2
+:10EE300001010101010101010101010101010101C2
+:10EE400001010101010101010101010101010101B2
+:10EE500001010101010101010101010101010101A2
+:10EE60000101010101010101010101010101010192
+:10EE70000101010101010101010101010101010182
+:10EE80000101010101010101010101010101010172
+:10EE90000101010101010101010101010101010162
+:10EEA0000101010101010101010101010101010152
+:10EEB0000101010101010101010101010101010142
+:10EEC0000101010101010101010101010101010132
+:10EED0000101010101010101010101010101010122
+:10EEE0000101010101010101010101010101010112
+:10EEF0000101010101010101010101010101010102
+:10EF000001010101010101010101010101010101F1
+:10EF100001010101010101010101010101010101E1
+:10EF200001010101010101010101010101010101D1
+:10EF300001010101010101010101010101010101C1
+:10EF400001010101010101010101010101010101B1
+:10EF500001010101010101010101010101010101A1
+:10EF60000101010101010101010101010101010191
+:10EF70000101010101010101010101010101010181
+:10EF80000101010101010101010101010101010171
+:10EF90000101010101010101010101010101010161
+:10EFA0000101010101010101010101010101010151
+:10EFB0000101010101010101010101010101010141
+:10EFC0000101010101010101010101010101010131
+:10EFD0000101010101010101010101010101010121
+:10EFE0000101010101010101010101010101010111
+:10EFF0000101010101010101010101010101010101
+:10F0000001010101010101010101010101010101F0
+:10F0100001010101010101010101010101010101E0
+:10F0200001010101010101010101010101010101D0
+:10F0300001010101010101010101010101010101C0
+:10F0400001010101010101010101010101010101B0
+:10F0500001010101010101010101010101010101A0
+:10F060000101010101010101010101010101010190
+:10F070000101010101010101010101010101010180
+:10F080000101010101010101010101010101010170
+:10F090000101010101010101010101010101010160
+:10F0A0000101010101010101010101010101010150
+:10F0B0000101010101010101010101010101010140
+:10F0C0000101010101010101010101010101010130
+:10F0D0000101010101010101010101010101010120
+:10F0E0000101010101010101010101010101010110
+:10F0F0000101010101010101010101010101010100
+:10F1000001010101010101010101010101010101EF
+:10F1100001010101010101010101010101010101DF
+:10F1200001010101010101010101010101010101CF
+:10F1300001010101010101010101010101010101BF
+:10F1400001010101010101010101010101010101AF
+:10F15000010101010101010101010101010101019F
+:10F16000010101010101010101010101010101018F
+:10F17000010101010101010101010101010101017F
+:10F18000010101010101010101010101010101016F
+:10F19000010101010101010101010101010101015F
+:10F1A000010101010101010101010101010101014F
+:10F1B000010101010101010101010101010101013F
+:10F1C000010101010101010101010101010101012F
+:10F1D000010101010101010101010101010101011F
+:10F1E000010101010101010101010101010101010F
+:10F1F00001010101010101010101010101010101FF
+:10F2000001010101010101010101010101010101EE
+:10F2100001010101010101010101010101010101DE
+:10F2200001010101010101010101010101010101CE
+:10F2300001010101010101010101010101010101BE
+:10F2400001010101010101010101010101010101AE
+:10F25000010101010101010101010101010101019E
+:10F26000010101010101010101010101010101018E
+:10F27000010101010101010101010101010101017E
+:10F28000010101010101010101010101010101016E
+:10F29000010101010101010101010101010101015E
+:10F2A000010101010101010101010101010101014E
+:10F2B000010101010101010101010101010101013E
+:10F2C000010101010101010101010101010101012E
+:10F2D000010101010101010101010101010101011E
+:10F2E000010101010101010101010101010101010E
+:10F2F00001010101010101010101010101010101FE
+:10F3000001010101010101010101010101010101ED
+:10F3100001010101010101010101010101010101DD
+:10F3200001010101010101010101010101010101CD
+:10F3300001010101010101010101010101010101BD
+:10F3400001010101010101010101010101010101AD
+:10F35000010101010101010101010101010101019D
+:10F36000010101010101010101010101010101018D
+:10F37000010101010101010101010101010101017D
+:10F38000010101010101010101010101010101016D
+:10F39000010101010101010101010101010101015D
+:10F3A000010101010101010101010101010101014D
+:10F3B000010101010101010101010101010101013D
+:10F3C000010101010101010101010101010101012D
+:10F3D000010101010101010101010101010101011D
+:10F3E000010101010101010101010101010101010D
+:10F3F00001010101010101010101010101010101FD
+:10F4000001010101010101010101010101010101EC
+:10F4100001010101010101010101010101010101DC
+:10F4200001010101010101010101010101010101CC
+:10F4300001010101010101010101010101010101BC
+:10F4400001010101010101010101010101010101AC
+:10F45000010101010101010101010101010101019C
+:10F46000010101010101010101010101010101018C
+:10F47000010101010101010101010101010101017C
+:10F48000010101010101010101010101010101016C
+:10F49000010101010101010101010101010101015C
+:10F4A000010101010101010101010101010101014C
+:10F4B000010101010101010101010101010101013C
+:10F4C000010101010101010101010101010101012C
+:10F4D000010101010101010101010101010101011C
+:10F4E000010101010101010101010101010101010C
+:10F4F00001010101010101010101010101010101FC
+:10F5000001010101010101010101010101010101EB
+:10F5100001010101010101010101010101010101DB
+:10F5200001010101010101010101010101010101CB
+:10F5300001010101010101010101010101010101BB
+:10F5400001010101010101010101010101010101AB
+:10F55000010101010101010101010101010101019B
+:10F56000010101010101010101010101010101018B
+:10F57000010101010101010101010101010101017B
+:10F58000010101010101010101010101010101016B
+:10F59000010101010101010101010101010101015B
+:10F5A000010101010101010101010101010101014B
+:10F5B000010101010101010101010101010101013B
+:10F5C000010101010101010101010101010101012B
+:10F5D000010101010101010101010101010101011B
+:10F5E000010101010101010101010101010101010B
+:10F5F00001010101010101010101010101010101FB
+:10F6000001010101010101010101010101010101EA
+:10F6100001010101010101010101010101010101DA
+:10F6200001010101010101010101010101010101CA
+:10F6300001010101010101010101010101010101BA
+:10F6400001010101010101010101010101010101AA
+:10F65000010101010101010101010101010101019A
+:10F66000010101010101010101010101010101018A
+:10F67000010101010101010101010101010101017A
+:10F68000010101010101010101010101010101016A
+:10F69000010101010101010101010101010101015A
+:10F6A000010101010101010101010101010101014A
+:10F6B000010101010101010101010101010101013A
+:10F6C000010101010101010101010101010101012A
+:10F6D000010101010101010101010101010101011A
+:10F6E000010101010101010101010101010101010A
+:10F6F00001010101010101010101010101010101FA
+:10F7000001010101010101010101010101010101E9
+:10F7100001010101010101010101010101010101D9
+:10F7200001010101010101010101010101010101C9
+:10F7300001010101010101010101010101010101B9
+:10F7400001010101010101010101010101010101A9
+:10F750000101010101010101010101010101010199
+:10F760000101010101010101010101010101010189
+:10F770000101010101010101010101010101010179
+:10F780000101010101010101010101010101010169
+:10F790000101010101010101010101010101010159
+:10F7A0000101010101010101010101010101010149
+:10F7B0000101010101010101010101010101010139
+:10F7C0000101010101010101010101010101010129
+:10F7D0000101010101010101010101010101010119
+:10F7E0000101010101010101010101010101010109
+:10F7F00001010101010101010101010101010101F9
+:10F8000001010101010101010101010101010101E8
+:10F8100001010101010101010101010101010101D8
+:10F8200001010101010101010101010101010101C8
+:10F8300001010101010101010101010101010101B8
+:10F8400001010101010101010101010101010101A8
+:10F850000101010101010101010101010101010198
+:10F860000101010101010101010101010101010188
+:10F870000101010101010101010101010101010178
+:10F880000101010101010101010101010101010168
+:10F890000101010101010101010101010101010158
+:10F8A0000101010101010101010101010101010148
+:10F8B0000101010101010101010101010101010138
+:10F8C0000101010101010101010101010101010128
+:10F8D0000101010101010101010101010101010118
+:10F8E0000101010101010101010101010101010108
+:10F8F00001010101010101010101010101010101F8
+:10F9000001010101010101010101010101010101E7
+:10F9100001010101010101010101010101010101D7
+:10F9200001010101010101010101010101010101C7
+:10F9300001010101010101010101010101010101B7
+:10F9400001010101010101000000000000000000B0
+:10F9500000000000000000000000000000000000A7
+:10F960000000000000000000000000000000000097
+:10F970000000000000000000000000000000000087
+:10F980000000000000000000000000000000000077
+:10F990000000000000000000000000000000000067
+:10F9A0000000000000000000000000000000000057
+:10F9B0000000000000000000000000000000000047
+:10F9C0000000000000000000000000000000000037
+:10F9D0000000000000000000000000000000000027
+:10F9E0000000000000000000000000000000000017
+:10F9F0000000000000000000000000000000000007
+:10FA000000000000000000000000000000000000F6
+:10FA100000000000000000000000000000000000E6
+:10FA200000000000000000000000000000000000D6
+:10FA300000000000000000000000000000000000C6
+:10FA400000000000000000000000000000000000B6
+:10FA500000000000000000000000000000000000A6
+:10FA60000000000000000000000000000000000096
+:10FA70000000000000000000000000000000000086
+:10FA80000000000000000000000000000000000076
+:10FA90000000000000000000000000000000000066
+:10FAA0000000000000000000000000000000000056
+:10FAB0000000000000000000000000000000000046
+:10FAC0000000000000000000000000000000000036
+:10FAD0000000000000000000000000000000000026
+:10FAE0000000000000000000000000000000000016
+:10FAF0000000000000000000000000000000000006
+:10FB000000000000000000000000000000000000F5
+:10FB100000000000000000000000000000000000E5
+:10FB200000000000000000000000000000000000D5
+:10FB300000000000000000000000000000000000C5
+:10FB400000000000000000000000000000000000B5
+:10FB500000000000000000000000000000000000A5
+:10FB60000000000000000000000000000000000095
+:10FB70000000000000000000000000000000000085
+:10FB80000000000000000000000000000000000075
+:10FB90000000000000000000000000000000000065
+:10FBA0000000000000000000000000000000000055
+:10FBB0000000000000000000000000000000000045
+:10FBC0000000000000000000000000000000000035
+:10FBD0000000000000000000000000000000000025
+:10FBE0000000000000000000000000000000000015
+:10FBF0000000000000000000000000000000000005
+:10FC000000000000000000000000000000000000F4
+:10FC100000000000000000000000000000000000E4
+:10FC200000000000000000000000000000000000D4
+:10FC300000000000000000000000000000000000C4
+:10FC400000000000000000000000000000000000B4
+:10FC500000000000000000000000000000000000A4
+:10FC60000000000000000000000000000000000094
+:10FC70000000000000000000000000000000000084
+:10FC80000000000000000000000000000000000074
+:10FC90000000000000000000000000000000000064
+:10FCA0000000000000000000000000000000000054
+:10FCB0000000000000000000000000000000000044
+:10FCC0000000000000000000000000000000000034
+:10FCD0000000000000000000000000000000000024
+:10FCE0000000000000000000000000000000000014
+:10FCF0000000000000000000000000000000000004
+:10FD000000000000000000000000000000000000F3
+:10FD100000000000000000000000000000000000E3
+:10FD200000000000000000000000000000000000D3
+:10FD300000000000000000000000000000000000C3
+:10FD400000000000000000020202020202020202A1
+:10FD50000202020202020202020202020202020283
+:10FD60000202020202020202020202020202020273
+:10FD70000202020202020202020202020202020263
+:10FD80000202020202020202020202020202020253
+:10FD90000202020202020202020202020202020243
+:10FDA0000202020202020202020202020202020233
+:10FDB0000202020202020202020202020202020223
+:10FDC0000202020202020202020202020202020213
+:10FDD0000202020202020202020202020202020203
+:10FDE00002020202020202020202020202020202F3
+:10FDF00002020202020202020202020202020202E3
+:10FE000002020202020202020202020202020202D2
+:10FE100002020202020202020202020202020202C2
+:10FE200002020202020202020202020202020202B2
+:10FE300002020202020202020202020202020202A2
+:10FE40000202020202020202020202020202020292
+:10FE50000202020202020202020202020202020282
+:10FE60000202020202020202020202020202020272
+:10FE70000202020202020202020202020202020262
+:10FE80000202020202020202020202020202020252
+:10FE90000202020202020202020202020202020242
+:10FEA0000202020202020202020202020202020232
+:10FEB0000202020202020202020202020202020222
+:10FEC0000202020202020202020202020202020212
+:10FED0000202020202020202020202020202020202
+:10FEE00002020202020202020202020202020202F2
+:10FEF00002020202020202020202020202020202E2
+:10FF000002020202020202020202020202020202D1
+:10FF100002020202020202020202020202020202C1
+:10FF200002020202020202020202020202020202B1
+:10FF300002020202020202020202020202020202A1
+:10FF40000202020202020202020202020202020291
+:10FF50000202020202020202020202020202020281
+:10FF60000202020202020202020202020202020271
+:10FF70000202020202020202020202020202020261
+:10FF80000202020202020202020202020202020251
+:10FF90000202020202020202020202020202020241
+:10FFA0000202020202020202020202020202020231
+:10FFB0000202020202020202020202020202020221
+:10FFC0000202020202020202020202020202020211
+:10FFD0000202020202020202020202020202020201
+:10FFE00002020202020202020202020202020202F1
+:10FFF00002020202020202020202020202020202E1
+:020000025000AC
+:1000000002020202020202020202020202020202D0
+:1000100002020202020202020202020202020202C0
+:1000200002020202020202020202020202020202B0
+:1000300002020202020202020202020202020202A0
+:100040000202020202020202020202020202020290
+:100050000202020202020202020202020202020280
+:100060000202020202020202020202020202020270
+:100070000202020202020202020202020202020260
+:100080000202020202020202020202020202020250
+:100090000202020202020202020202020202020240
+:1000A0000202020202020202020202020202020230
+:1000B0000202020202020202020202020202020220
+:1000C0000202020202020202020202020202020210
+:1000D0000202020202020202020202020202020200
+:1000E00002020202020202020202020202020202F0
+:1000F00002020202020202020202020202020202E0
+:1001000002020202020202020202020202020202CF
+:1001100002020202020202020202020202020202BF
+:1001200002020202020202020202020202020202AF
+:10013000020202020202020202020202020202029F
+:10014000020202020202020202020202020202028F
+:10015000020202020202020202020202020202027F
+:10016000020202020202020202020202020202026F
+:10017000020202020202020202020202020202025F
+:10018000020202020202020202020202020202024F
+:10019000020202020202020202020202020202023F
+:1001A000020202020202020202020202020202022F
+:1001B000020202020202020202020202020202021F
+:1001C000020202020202020202020202020202020F
+:1001D00002020202020202020202020202020202FF
+:1001E00002020202020202020202020202020202EF
+:1001F00002020202020202020202020202020202DF
+:1002000002020202020202020202020202020202CE
+:1002100002020202020202020202020202020202BE
+:1002200002020202020202020202020202020202AE
+:10023000020202020202020202020202020202029E
+:10024000020202020202020202020202020202028E
+:10025000020202020202020202020202020202027E
+:10026000020202020202020202020202020202026E
+:10027000020202020202020202020202020202025E
+:10028000020202020202020202020202020202024E
+:10029000020202020202020202020202020202023E
+:1002A000020202020202020202020202020202022E
+:1002B000020202020202020202020202020202021E
+:1002C000020202020202020202020202020202020E
+:1002D00002020202020202020202020202020202FE
+:1002E00002020202020202020202020202020202EE
+:1002F00002020202020202020202020202020202DE
+:1003000002020202020202020202020202020202CD
+:1003100002020202020202020202020202020202BD
+:1003200002020202020202020202020202020202AD
+:10033000020202020202020202020202020202029D
+:10034000020202020202020202020202020202028D
+:10035000020202020202020202020202020202027D
+:10036000020202020202020202020202020202026D
+:10037000020202020202020202020202020202025D
+:10038000020202020202020202020202020202024D
+:10039000020202020202020202020202020202023D
+:1003A000020202020202020202020202020202022D
+:1003B000020202020202020202020202020202021D
+:1003C000020202020202020202020202020202020D
+:1003D00002020202020202020202020202020202FD
+:1003E00002020202020202020202020202020202ED
+:1003F00002020202020202020202020202020202DD
+:1004000002020202020202020202020202020202CC
+:1004100002020202020202020202020202020202BC
+:1004200002020202020202020202020202020202AC
+:10043000020202020202020202020202020202029C
+:10044000020202020202020202020202020202028C
+:10045000020202020202020202020202020202027C
+:10046000020202020202020202020202020202026C
+:10047000020202020202020202020202020202025C
+:10048000020202020202020202020202020202024C
+:10049000020202020202020202020202020202023C
+:1004A000020202020202020202020202020202022C
+:1004B000020202020202020202020202020202021C
+:1004C000020202020202020202020202020202020C
+:1004D00002020202020202020202020202020202FC
+:1004E00002020202020202020202020202020202EC
+:1004F00002020202020202020202020202020202DC
+:1005000002020202020202020202020202020202CB
+:1005100002020202020202020202020202020202BB
+:1005200002020202020202020202020202020202AB
+:10053000020202020202020202020202020202029B
+:10054000020202020202020202020202020202028B
+:10055000020202020202020202020202020202027B
+:10056000020202020202020202020202020202026B
+:10057000020202020202020202020202020202025B
+:10058000020202020202020202020202020202024B
+:10059000020202020202020202020202020202023B
+:1005A000020202020202020202020202020202022B
+:1005B000020202020202020202020202020202021B
+:1005C000020202020202020202020202020202020B
+:1005D00002020202020202020202020202020202FB
+:1005E00002020202020202020202020202020202EB
+:1005F00002020202020202020202020202020202DB
+:1006000002020202020202020202020202020202CA
+:1006100002020202020202020202020202020202BA
+:1006200002020202020202020202020202020202AA
+:10063000020202020202020202020202020202029A
+:10064000020202020202020202020202020202028A
+:10065000020202020202020202020202020202027A
+:10066000020202020202020202020202020202026A
+:10067000020202020202020202020202020202025A
+:10068000020202020202020202020202020202024A
+:10069000020202020202020202020202020202023A
+:1006A000020202020202020202020202020202022A
+:1006B000020202020202020202020202020202021A
+:1006C000020202020202020202020202020202020A
+:1006D00002020202020202020202020202020202FA
+:1006E00002020202020202020202020202020202EA
+:1006F00002020202020202020202020202020202DA
+:1007000002020202020202020202020202020202C9
+:1007100002020202020202020202020202020202B9
+:1007200002020202020202020202020202020202A9
+:100730000202020202020202020202020202020299
+:100740000202020202020202020202020202020289
+:100750000202020202020202020202020202020279
+:100760000202020202020202020202020202020269
+:100770000202020202020202020202020202020259
+:100780000202020202020202020202020202020249
+:100790000202020202020202020202020202020239
+:1007A0000202020202020202020202020202020229
+:1007B0000202020202020202020202020202020219
+:1007C0000202020202020202020202020202020209
+:1007D00002020202020202020202020202020202F9
+:1007E00002020202020202020202020202020202E9
+:1007F00002020202020202020202020202020202D9
+:1008000002020202020202020202020202020202C8
+:1008100002020202020202020202020202020202B8
+:1008200002020202020202020202020202020202A8
+:100830000202020202020202020202020202020298
+:100840000202020202020202020202020202020288
+:100850000202020202020202020202020202020278
+:100860000202020202020202020202020202020268
+:100870000202020202020202020202020202020258
+:100880000202020202020202020202020202020248
+:100890000202020202020202020202020202020238
+:1008A0000202020202020202020202020202020228
+:1008B0000202020202020202020202020202020218
+:1008C0000202020202020202020202020202020208
+:1008D00002020202020202020202020202020202F8
+:1008E00002020202020202020202020202020202E8
+:1008F00002020202020202020202020202020202D8
+:1009000002020202020202020202020202020202C7
+:1009100002020202020202020202020202020202B7
+:1009200002020202020202020202020202020202A7
+:100930000202020202020202020202020202020297
+:100940000202020202020202020202020202020287
+:100950000202020202020202020202020202020277
+:100960000202020202020202020202020202020267
+:100970000202020202020202020202020202020257
+:100980000202020202020202020202020202020247
+:100990000202020202020202020202020202020237
+:1009A0000202020202020202020202020202020227
+:1009B0000202020202020202020202020202020217
+:1009C0000202020202020202020202020202020207
+:1009D00002020202020202020202020202020202F7
+:1009E00002020202020202020202020202020202E7
+:1009F00002020202020202020202020202020202D7
+:100A000002020202020202020202020202020202C6
+:100A100002020202020202020202020202020202B6
+:100A200002020202020202020202020202020202A6
+:100A30000202020202020202020202020202020296
+:100A40000202020202020202020202020202020286
+:100A50000202020202020202020202020202020276
+:100A60000202020202020202020202020202020266
+:100A70000202020202020202020202020202020256
+:100A80000202020202020202020202020202020246
+:100A90000202020202020202020202020202020236
+:100AA0000202020202020202020202020202020226
+:100AB0000202020202020202020202020202020216
+:100AC0000202020202020202020202020202020206
+:100AD00002020202020202020202020202020202F6
+:100AE00002020202020202020202020202020202E6
+:100AF00002020202020202020202020202020202D6
+:100B000002020202020202020202020202020202C5
+:100B100002020202020202020202020202020202B5
+:100B200002020202020202020202020202020202A5
+:100B30000202020202020202020202020202020295
+:100B40000202020202020200000000000000000097
+:100B50000000000000000000000000000000000095
+:100B60000000000000000000000000000000000085
+:100B70000000000000000000000000000000000075
+:100B80000000000000000000000000000000000065
+:100B90000000000000000000000000000000000055
+:100BA0000000000000000000000000000000000045
+:100BB0000000000000000000000000000000000035
+:100BC0000000000000000000000000000000000025
+:100BD0000000000000000000000000000000000015
+:100BE0000000000000000000000000000000000005
+:100BF00000000000000000000000000000000000F5
+:100C000000000000000000000000000000000000E4
+:100C100000000000000000000000000000000000D4
+:100C200000000000000000000000000000000000C4
+:100C300000000000000000000000000000000000B4
+:100C400000000000000000000000000000000000A4
+:100C50000000000000000000000000000000000094
+:100C60000000000000000000000000000000000084
+:100C70000000000000000000000000000000000074
+:100C80000000000000000000000000000000000064
+:100C90000000000000000000000000000000000054
+:100CA0000000000000000000000000000000000044
+:100CB0000000000000000000000000000000000034
+:100CC0000000000000000000000000000000000024
+:100CD0000000000000000000000000000000000014
+:100CE0000000000000000000000000000000000004
+:100CF00000000000000000000000000000000000F4
+:100D000000000000000000000000000000000000E3
+:100D100000000000000000000000000000000000D3
+:100D200000000000000000000000000000000000C3
+:100D300000000000000000000000000000000000B3
+:100D400000000000000000000000000000000000A3
+:100D50000000000000000000000000000000000093
+:100D60000000000000000000000000000000000083
+:100D70000000000000000000000000000000000073
+:100D80000000000000000000000000000000000063
+:100D90000000000000000000000000000000000053
+:100DA0000000000000000000000000000000000043
+:100DB0000000000000000000000000000000000033
+:100DC0000000000000000000000000000000000023
+:100DD0000000000000000000000000000000000013
+:100DE0000000000000000000000000000000000003
+:100DF00000000000000000000000000000000000F3
+:100E000000000000000000000000000000000000E2
+:100E100000000000000000000000000000000000D2
+:100E200000000000000000000000000000000000C2
+:100E300000000000000000000000000000000000B2
+:100E400000000000000000000000000000000000A2
+:100E50000000000000000000000000000000000092
+:100E60000000000000000000000000000000000082
+:100E70000000000000000000000000000000000072
+:100E80000000000000000000000000000000000062
+:100E90000000000000000000000000000000000052
+:100EA0000000000000000000000000000000000042
+:100EB0000000000000000000000000000000000032
+:100EC0000000000000000000000000000000000022
+:100ED0000000000000000000000000000000000012
+:100EE0000000000000000000000000000000000002
+:100EF00000000000000000000000000000000000F2
+:100F000000000000000000000000000000000000E1
+:100F100000000000000000000000000000000000D1
+:100F200000000000000000000000000000000000C1
+:100F300000000000000000000000000000000000B1
+:100F400000000000000000000000000000000000A1
+:100F50000000000000000000000000000000000091
+:100F60000000000000000000000000000000000081
+:100F70000000000000000000000000000000000071
+:100F80000000000000000000000000000000000061
+:100F90000000000000000000000000000000000051
+:100FA0000000000000000000000000000000000041
+:100FB0000000000000000000000000000000000031
+:100FC0000000000000000000000000000000000021
+:100FD0000000000000000000000000000000000011
+:100FE0000000000000000000000000000000000001
+:100FF00000000000000000000000000000000000F1
+:1010000000000000000000000000000000000000E0
+:1010100000000000000000000000000000000000D0
+:1010200000000000000000000000000000000000C0
+:1010300000000000000000000000000000000000B0
+:1010400000000000000000000000000000000000A0
+:101050000000000000000000000000000000000090
+:101060000000000000000000000000000000000080
+:101070000000000000000000000000000000000070
+:101080000000000000000000000000000000000060
+:101090000000000000000000000000000000000050
+:1010A0000000000000000000000000000000000040
+:1010B0000000000000000000000000000000000030
+:1010C0000000000000000000000000000000000020
+:1010D0000000000000000000000000000000000010
+:1010E0000000000000000000000000000000000000
+:1010F00000000000000000000000000000000000F0
+:1011000000000000000000000000000000000000DF
+:1011100000000000000000000000000000000000CF
+:1011200000000000000000000000000000000000BF
+:1011300000000000000000000000000000000000AF
+:10114000000000000000000000000000000000009F
+:10115000000000000000000000000000000000008F
+:10116000000000000000000000000000000000007F
+:10117000000000000000000000000000000000006F
+:10118000000000000000000000000000000000005F
+:10119000000000000000000000000000000000004F
+:1011A000000000000000000000000000000000003F
+:1011B000000000000000000000000000000000002F
+:1011C000000000000000000000000000000000001F
+:1011D000000000000000000000000000000000000F
+:1011E00000000000000000000000000000000000FF
+:1011F00000000000000000000000000000000000EF
+:1012000000000000000000000000000000000000DE
+:1012100000000000000000000000000000000000CE
+:1012200000000000000000000000000000000000BE
+:1012300000000000000000000000000000000000AE
+:10124000000000000000000000000000000000009E
+:10125000000000000000000000000000000000008E
+:10126000000000000000000000000000000000007E
+:10127000000000000000000000000000000000006E
+:10128000000000000000000000000000000000005E
+:10129000000000000000000000000000000000004E
+:1012A000000000000000000000000000000000003E
+:1012B000000000000000000000000000000000002E
+:1012C000000000000000000000000000000000001E
+:1012D000000000000000000000000000000000000E
+:1012E00000000000000000000000000000000000FE
+:1012F00000000000000000000000000000000000EE
+:1013000000000000000000000000000000000000DD
+:1013100000000000000000000000000000000000CD
+:1013200000000000000000000000000000000000BD
+:1013300000000000000000000000000000000000AD
+:10134000000000000000000000000000000000009D
+:10135000000000000000000000000000000000008D
+:10136000000000000000000000000000000000007D
+:10137000000000000000000000000000000000006D
+:10138000000000000000000000000000000000005D
+:10139000000000000000000000000000000000004D
+:1013A000000000000000000000000000000000003D
+:1013B000000000000000000000000000000000002D
+:1013C000000000000000000000000000000000001D
+:1013D000000000000000000000000000000000000D
+:1013E00000000000000000000000000000000000FD
+:1013F00000000000000000000000000000000000ED
+:1014000000000000000000000000000000000000DC
+:1014100000000000000000000000000000000000CC
+:1014200000000000000000000000000000000000BC
+:1014300000000000000000000000000000000000AC
+:10144000000000000000000000000000000000009C
+:10145000000000000000000000000000000000008C
+:10146000000000000000000000000000000000007C
+:10147000000000000000000000000000000000006C
+:10148000000000000000000000000000000000005C
+:10149000000000000000000000000000000000004C
+:1014A000000000000000000000000000000000003C
+:1014B000000000000000000000000000000000002C
+:1014C000000000000000000000000000000000001C
+:1014D000000000000000000000000000000000000C
+:1014E00000000000000000000000000000000000FC
+:1014F00000000000000000000000000000000000EC
+:1015000000000000000000000000000000000000DB
+:1015100000000000000000000000000000000000CB
+:1015200000000000000000000000000000000000BB
+:1015300000000000000000000000000000000000AB
+:10154000000000000000000000000000000000009B
+:10155000000000000000000000000000000000008B
+:10156000000000000000000000000000000000007B
+:10157000000000000000000000000000000000006B
+:10158000000000000000000000000000000000005B
+:10159000000000000000000000000000000000004B
+:1015A000000000000000000000000000000000003B
+:1015B000000000000000000000000000000000002B
+:1015C000000000000000000000000000000000001B
+:1015D000000000000000000000000000000000000B
+:1015E00000000000000000000000000000000000FB
+:1015F00000000000000000000000000000000000EB
+:1016000000000000000000000000000000000000DA
+:1016100000000000000000000000000000000000CA
+:1016200000000000000000000000000000000000BA
+:1016300000000000000000000000000000000000AA
+:101640000000000000000001010101010101010191
+:10165000010101010101010101010101010101017A
+:10166000010101010101010101010101010101016A
+:10167000010101010101010101010101010101015A
+:10168000010101010101010101010101010101014A
+:10169000010101010101010101010101010101013A
+:1016A000010101010101010101010101010101012A
+:1016B000010101010101010101010101010101011A
+:1016C000010101010101010101010101010101010A
+:1016D00001010101010101010101010101010101FA
+:1016E00001010101010101010101010101010101EA
+:1016F00001010101010101010101010101010101DA
+:1017000001010101010101010101010101010101C9
+:1017100001010101010101010101010101010101B9
+:1017200001010101010101010101010101010101A9
+:101730000101010101010101010101010101010199
+:101740000101010101010101010101010101010189
+:101750000101010101010101010101010101010179
+:101760000101010101010101010101010101010169
+:101770000101010101010101010101010101010159
+:101780000101010101010101010101010101010149
+:101790000101010101010101010101010101010139
+:1017A0000101010101010101010101010101010129
+:1017B0000101010101010101010101010101010119
+:1017C0000101010101010101010101010101010109
+:1017D00001010101010101010101010101010101F9
+:1017E00001010101010101010101010101010101E9
+:1017F00001010101010101010101010101010101D9
+:1018000001010101010101010101010101010101C8
+:1018100001010101010101010101010101010101B8
+:1018200001010101010101010101010101010101A8
+:101830000101010101010101010101010101010198
+:101840000101010101010101010101010101010188
+:101850000101010101010101010101010101010178
+:101860000101010101010101010101010101010168
+:101870000101010101010101010101010101010158
+:101880000101010101010101010101010101010148
+:101890000101010101010101010101010101010138
+:1018A0000101010101010101010101010101010128
+:1018B0000101010101010101010101010101010118
+:1018C0000101010101010101010101010101010108
+:1018D00001010101010101010101010101010101F8
+:1018E00001010101010101010101010101010101E8
+:1018F00001010101010101010101010101010101D8
+:1019000001010101010101010101010101010101C7
+:1019100001010101010101010101010101010101B7
+:1019200001010101010101010101010101010101A7
+:101930000101010101010101010101010101010197
+:101940000101010101010101010101010101010187
+:101950000101010101010101010101010101010177
+:101960000101010101010101010101010101010167
+:101970000101010101010101010101010101010157
+:101980000101010101010101010101010101010147
+:101990000101010101010101010101010101010137
+:1019A0000101010101010101010101010101010127
+:1019B0000101010101010101010101010101010117
+:1019C0000101010101010101010101010101010107
+:1019D00001010101010101010101010101010101F7
+:1019E00001010101010101010101010101010101E7
+:1019F00001010101010101010101010101010101D7
+:101A000001010101010101010101010101010101C6
+:101A100001010101010101010101010101010101B6
+:101A200001010101010101010101010101010101A6
+:101A30000101010101010101010101010101010196
+:101A40000101010101010101010101010101010186
+:101A50000101010101010101010101010101010176
+:101A60000101010101010101010101010101010166
+:101A70000101010101010101010101010101010156
+:101A80000101010101010101010101010101010146
+:101A90000101010101010101010101010101010136
+:101AA0000101010101010101010101010101010126
+:101AB0000101010101010101010101010101010116
+:101AC0000101010101010101010101010101010106
+:101AD00001010101010101010101010101010101F6
+:101AE00001010101010101010101010101010101E6
+:101AF00001010101010101010101010101010101D6
+:101B000001010101010101010101010101010101C5
+:101B100001010101010101010101010101010101B5
+:101B200001010101010101010101010101010101A5
+:101B30000101010101010101010101010101010195
+:101B40000101010101010101010101010101010185
+:101B50000101010101010101010101010101010175
+:101B60000101010101010101010101010101010165
+:101B70000101010101010101010101010101010155
+:101B80000101010101010101010101010101010145
+:101B90000101010101010101010101010101010135
+:101BA0000101010101010101010101010101010125
+:101BB0000101010101010101010101010101010115
+:101BC0000101010101010101010101010101010105
+:101BD00001010101010101010101010101010101F5
+:101BE00001010101010101010101010101010101E5
+:101BF00001010101010101010101010101010101D5
+:101C000001010101010101010101010101010101C4
+:101C100001010101010101010101010101010101B4
+:101C200001010101010101010101010101010101A4
+:101C30000101010101010101010101010101010194
+:101C40000101010101010101010101010101010184
+:101C50000101010101010101010101010101010174
+:101C60000101010101010101010101010101010164
+:101C70000101010101010101010101010101010154
+:101C80000101010101010101010101010101010144
+:101C90000101010101010101010101010101010134
+:101CA0000101010101010101010101010101010124
+:101CB0000101010101010101010101010101010114
+:101CC0000101010101010101010101010101010104
+:101CD00001010101010101010101010101010101F4
+:101CE00001010101010101010101010101010101E4
+:101CF00001010101010101010101010101010101D4
+:101D000001010101010101010101010101010101C3
+:101D100001010101010101010101010101010101B3
+:101D200001010101010101010101010101010101A3
+:101D30000101010101010101010101010101010193
+:101D40000101010101010101010101010101010183
+:101D50000101010101010101010101010101010173
+:101D60000101010101010101010101010101010163
+:101D70000101010101010101010101010101010153
+:101D80000101010101010101010101010101010143
+:101D90000101010101010101010101010101010133
+:101DA0000101010101010101010101010101010123
+:101DB0000101010101010101010101010101010113
+:101DC0000101010101010101010101010101010103
+:101DD00001010101010101010101010101010101F3
+:101DE00001010101010101010101010101010101E3
+:101DF00001010101010101010101010101010101D3
+:101E000001010101010101010101010101010101C2
+:101E100001010101010101010101010101010101B2
+:101E200001010101010101010101010101010101A2
+:101E30000101010101010101010101010101010192
+:101E40000101010101010101010101010101010182
+:101E50000101010101010101010101010101010172
+:101E60000101010101010101010101010101010162
+:101E70000101010101010101010101010101010152
+:101E80000101010101010101010101010101010142
+:101E90000101010101010101010101010101010132
+:101EA0000101010101010101010101010101010122
+:101EB0000101010101010101010101010101010112
+:101EC0000101010101010101010101010101010102
+:101ED00001010101010101010101010101010101F2
+:101EE00001010101010101010101010101010101E2
+:101EF00001010101010101010101010101010101D2
+:101F000001010101010101010101010101010101C1
+:101F100001010101010101010101010101010101B1
+:101F200001010101010101010101010101010101A1
+:101F30000101010101010101010101010101010191
+:101F40000101010101010101010101010101010181
+:101F50000101010101010101010101010101010171
+:101F60000101010101010101010101010101010161
+:101F70000101010101010101010101010101010151
+:101F80000101010101010101010101010101010141
+:101F90000101010101010101010101010101010131
+:101FA0000101010101010101010101010101010121
+:101FB0000101010101010101010101010101010111
+:101FC0000101010101010101010101010101010101
+:101FD00001010101010101010101010101010101F1
+:101FE00001010101010101010101010101010101E1
+:101FF00001010101010101010101010101010101D1
+:1020000001010101010101010101010101010101C0
+:1020100001010101010101010101010101010101B0
+:1020200001010101010101010101010101010101A0
+:102030000101010101010101010101010101010190
+:102040000101010101010101010101010101010180
+:102050000101010101010101010101010101010170
+:102060000101010101010101010101010101010160
+:102070000101010101010101010101010101010150
+:102080000101010101010101010101010101010140
+:102090000101010101010101010101010101010130
+:1020A0000101010101010101010101010101010120
+:1020B0000101010101010101010101010101010110
+:1020C0000101010101010101010101010101010100
+:1020D00001010101010101010101010101010101F0
+:1020E00001010101010101010101010101010101E0
+:1020F00001010101010101010101010101010101D0
+:1021000001010101010101010101010101010101BF
+:1021100001010101010101010101010101010101AF
+:10212000010101010101010101010101010101019F
+:10213000010101010101010101010101010101018F
+:10214000010101010101010101010101010101017F
+:10215000010101010101010101010101010101016F
+:10216000010101010101010101010101010101015F
+:10217000010101010101010101010101010101014F
+:10218000010101010101010101010101010101013F
+:10219000010101010101010101010101010101012F
+:1021A000010101010101010101010101010101011F
+:1021B000010101010101010101010101010101010F
+:1021C00001010101010101010101010101010101FF
+:1021D00001010101010101010101010101010101EF
+:1021E00001010101010101010101010101010101DF
+:1021F00001010101010101010101010101010101CF
+:1022000001010101010101010101010101010101BE
+:1022100001010101010101010101010101010101AE
+:10222000010101010101010101010101010101019E
+:10223000010101010101010101010101010101018E
+:10224000010101010101010101010101010101017E
+:10225000010101010101010101010101010101016E
+:10226000010101010101010101010101010101015E
+:10227000010101010101010101010101010101014E
+:10228000010101010101010101010101010101013E
+:10229000010101010101010101010101010101012E
+:1022A000010101010101010101010101010101011E
+:1022B000010101010101010101010101010101010E
+:1022C00001010101010101010101010101010101FE
+:1022D00001010101010101010101010101010101EE
+:1022E00001010101010101010101010101010101DE
+:1022F00001010101010101010101010101010101CE
+:1023000001010101010101010101010101010101BD
+:1023100001010101010101010101010101010101AD
+:10232000010101010101010101010101010101019D
+:10233000010101010101010101010101010101018D
+:10234000010101010101010101010101010101017D
+:10235000010101010101010101010101010101016D
+:10236000010101010101010101010101010101015D
+:10237000010101010101010101010101010101014D
+:10238000010101010101010101010101010101013D
+:10239000010101010101010101010101010101012D
+:1023A000010101010101010101010101010101011D
+:1023B000010101010101010101010101010101010D
+:1023C00001010101010101010101010101010101FD
+:1023D00001010101010101010101010101010101ED
+:1023E00001010101010101010101010101010101DD
+:1023F00001010101010101010101010101010101CD
+:1024000001010101010101010101010101010101BC
+:1024100001010101010101010101010101010101AC
+:10242000010101010101010101010101010101019C
+:10243000010101010101010101010101010101018C
+:102440000101010101010100000000000000000085
+:10245000000000000000000000000000000000007C
+:10246000000000000000000000000000000000006C
+:10247000000000000000000000000000000000005C
+:10248000000000000000000000000000000000004C
+:10249000000000000000000000000000000000003C
+:1024A000000000000000000000000000000000002C
+:1024B000000000000000000000000000000000001C
+:1024C000000000000000000000000000000000000C
+:1024D00000000000000000000000000000000000FC
+:1024E00000000000000000000000000000000000EC
+:1024F00000000000000000000000000000000000DC
+:1025000000000000000000000000000000000000CB
+:1025100000000000000000000000000000000000BB
+:1025200000000000000000000000000000000000AB
+:10253000000000000000000000000000000000009B
+:10254000000000000000000000000000000000008B
+:10255000000000000000000000000000000000007B
+:10256000000000000000000000000000000000006B
+:10257000000000000000000000000000000000005B
+:10258000000000000000000000000000000000004B
+:10259000000000000000000000000000000000003B
+:1025A000000000000000000000000000000000002B
+:1025B000000000000000000000000000000000001B
+:1025C000000000000000000000000000000000000B
+:1025D00000000000000000000000000000000000FB
+:1025E00000000000000000000000000000000000EB
+:1025F00000000000000000000000000000000000DB
+:1026000000000000000000000000000000000000CA
+:1026100000000000000000000000000000000000BA
+:1026200000000000000000000000000000000000AA
+:10263000000000000000000000000000000000009A
+:10264000000000000000000000000000000000008A
+:10265000000000000000000000000000000000007A
+:10266000000000000000000000000000000000006A
+:10267000000000000000000000000000000000005A
+:10268000000000000000000000000000000000004A
+:10269000000000000000000000000000000000003A
+:1026A000000000000000000000000000000000002A
+:1026B000000000000000000000000000000000001A
+:1026C000000000000000000000000000000000000A
+:1026D00000000000000000000000000000000000FA
+:1026E00000000000000000000000000000000000EA
+:1026F00000000000000000000000000000000000DA
+:1027000000000000000000000000000000000000C9
+:1027100000000000000000000000000000000000B9
+:1027200000000000000000000000000000000000A9
+:102730000000000000000000000000000000000099
+:102740000000000000000000000000000000000089
+:102750000000000000000000000000000000000079
+:102760000000000000000000000000000000000069
+:102770000000000000000000000000000000000059
+:102780000000000000000000000000000000000049
+:102790000000000000000000000000000000000039
+:1027A0000000000000000000000000000000000029
+:1027B0000000000000000000000000000000000019
+:1027C0000000000000000000000000000000000009
+:1027D00000000000000000000000000000000000F9
+:1027E00000000000000000000000000000000000E9
+:1027F00000000000000000000000000000000000D9
+:1028000000000000000000000000000000000000C8
+:1028100000000000000000000000000000000000B8
+:1028200000000000000000000000000000000000A8
+:102830000000000000000000000000000000000098
+:102840000000000000000002020202020202020276
+:102850000202020202020202020202020202020258
+:102860000202020202020202020202020202020248
+:102870000202020202020202020202020202020238
+:102880000202020202020202020202020202020228
+:102890000202020202020202020202020202020218
+:1028A0000202020202020202020202020202020208
+:1028B00002020202020202020202020202020202F8
+:1028C00002020202020202020202020202020202E8
+:1028D00002020202020202020202020202020202D8
+:1028E00002020202020202020202020202020202C8
+:1028F00002020202020202020202020202020202B8
+:1029000002020202020202020202020202020202A7
+:102910000202020202020202020202020202020297
+:102920000202020202020202020202020202020287
+:102930000202020202020202020202020202020277
+:102940000202020202020202020202020202020267
+:102950000202020202020202020202020202020257
+:102960000202020202020202020202020202020247
+:102970000202020202020202020202020202020237
+:102980000202020202020202020202020202020227
+:102990000202020202020202020202020202020217
+:1029A0000202020202020202020202020202020207
+:1029B00002020202020202020202020202020202F7
+:1029C00002020202020202020202020202020202E7
+:1029D00002020202020202020202020202020202D7
+:1029E00002020202020202020202020202020202C7
+:1029F00002020202020202020202020202020202B7
+:102A000002020202020202020202020202020202A6
+:102A10000202020202020202020202020202020296
+:102A20000202020202020202020202020202020286
+:102A30000202020202020202020202020202020276
+:102A40000202020202020202020202020202020266
+:102A50000202020202020202020202020202020256
+:102A60000202020202020202020202020202020246
+:102A70000202020202020202020202020202020236
+:102A80000202020202020202020202020202020226
+:102A90000202020202020202020202020202020216
+:102AA0000202020202020202020202020202020206
+:102AB00002020202020202020202020202020202F6
+:102AC00002020202020202020202020202020202E6
+:102AD00002020202020202020202020202020202D6
+:102AE00002020202020202020202020202020202C6
+:102AF00002020202020202020202020202020202B6
+:102B000002020202020202020202020202020202A5
+:102B10000202020202020202020202020202020295
+:102B20000202020202020202020202020202020285
+:102B30000202020202020202020202020202020275
+:102B40000202020202020202020202020202020265
+:102B50000202020202020202020202020202020255
+:102B60000202020202020202020202020202020245
+:102B70000202020202020202020202020202020235
+:102B80000202020202020202020202020202020225
+:102B90000202020202020202020202020202020215
+:102BA0000202020202020202020202020202020205
+:102BB00002020202020202020202020202020202F5
+:102BC00002020202020202020202020202020202E5
+:102BD00002020202020202020202020202020202D5
+:102BE00002020202020202020202020202020202C5
+:102BF00002020202020202020202020202020202B5
+:102C000002020202020202020202020202020202A4
+:102C10000202020202020202020202020202020294
+:102C20000202020202020202020202020202020284
+:102C30000202020202020202020202020202020274
+:102C40000202020202020202020202020202020264
+:102C50000202020202020202020202020202020254
+:102C60000202020202020202020202020202020244
+:102C70000202020202020202020202020202020234
+:102C80000202020202020202020202020202020224
+:102C90000202020202020202020202020202020214
+:102CA0000202020202020202020202020202020204
+:102CB00002020202020202020202020202020202F4
+:102CC00002020202020202020202020202020202E4
+:102CD00002020202020202020202020202020202D4
+:102CE00002020202020202020202020202020202C4
+:102CF00002020202020202020202020202020202B4
+:102D000002020202020202020202020202020202A3
+:102D10000202020202020202020202020202020293
+:102D20000202020202020202020202020202020283
+:102D30000202020202020202020202020202020273
+:102D40000202020202020202020202020202020263
+:102D50000202020202020202020202020202020253
+:102D60000202020202020202020202020202020243
+:102D70000202020202020202020202020202020233
+:102D80000202020202020202020202020202020223
+:102D90000202020202020202020202020202020213
+:102DA0000202020202020202020202020202020203
+:102DB00002020202020202020202020202020202F3
+:102DC00002020202020202020202020202020202E3
+:102DD00002020202020202020202020202020202D3
+:102DE00002020202020202020202020202020202C3
+:102DF00002020202020202020202020202020202B3
+:102E000002020202020202020202020202020202A2
+:102E10000202020202020202020202020202020292
+:102E20000202020202020202020202020202020282
+:102E30000202020202020202020202020202020272
+:102E40000202020202020202020202020202020262
+:102E50000202020202020202020202020202020252
+:102E60000202020202020202020202020202020242
+:102E70000202020202020202020202020202020232
+:102E80000202020202020202020202020202020222
+:102E90000202020202020202020202020202020212
+:102EA0000202020202020202020202020202020202
+:102EB00002020202020202020202020202020202F2
+:102EC00002020202020202020202020202020202E2
+:102ED00002020202020202020202020202020202D2
+:102EE00002020202020202020202020202020202C2
+:102EF00002020202020202020202020202020202B2
+:102F000002020202020202020202020202020202A1
+:102F10000202020202020202020202020202020291
+:102F20000202020202020202020202020202020281
+:102F30000202020202020202020202020202020271
+:102F40000202020202020202020202020202020261
+:102F50000202020202020202020202020202020251
+:102F60000202020202020202020202020202020241
+:102F70000202020202020202020202020202020231
+:102F80000202020202020202020202020202020221
+:102F90000202020202020202020202020202020211
+:102FA0000202020202020202020202020202020201
+:102FB00002020202020202020202020202020202F1
+:102FC00002020202020202020202020202020202E1
+:102FD00002020202020202020202020202020202D1
+:102FE00002020202020202020202020202020202C1
+:102FF00002020202020202020202020202020202B1
+:1030000002020202020202020202020202020202A0
+:103010000202020202020202020202020202020290
+:103020000202020202020202020202020202020280
+:103030000202020202020202020202020202020270
+:103040000202020202020202020202020202020260
+:103050000202020202020202020202020202020250
+:103060000202020202020202020202020202020240
+:103070000202020202020202020202020202020230
+:103080000202020202020202020202020202020220
+:103090000202020202020202020202020202020210
+:1030A0000202020202020202020202020202020200
+:1030B00002020202020202020202020202020202F0
+:1030C00002020202020202020202020202020202E0
+:1030D00002020202020202020202020202020202D0
+:1030E00002020202020202020202020202020202C0
+:1030F00002020202020202020202020202020202B0
+:10310000020202020202020202020202020202029F
+:10311000020202020202020202020202020202028F
+:10312000020202020202020202020202020202027F
+:10313000020202020202020202020202020202026F
+:10314000020202020202020202020202020202025F
+:10315000020202020202020202020202020202024F
+:10316000020202020202020202020202020202023F
+:10317000020202020202020202020202020202022F
+:10318000020202020202020202020202020202021F
+:10319000020202020202020202020202020202020F
+:1031A00002020202020202020202020202020202FF
+:1031B00002020202020202020202020202020202EF
+:1031C00002020202020202020202020202020202DF
+:1031D00002020202020202020202020202020202CF
+:1031E00002020202020202020202020202020202BF
+:1031F00002020202020202020202020202020202AF
+:10320000020202020202020202020202020202029E
+:10321000020202020202020202020202020202028E
+:10322000020202020202020202020202020202027E
+:10323000020202020202020202020202020202026E
+:10324000020202020202020202020202020202025E
+:10325000020202020202020202020202020202024E
+:10326000020202020202020202020202020202023E
+:10327000020202020202020202020202020202022E
+:10328000020202020202020202020202020202021E
+:10329000020202020202020202020202020202020E
+:1032A00002020202020202020202020202020202FE
+:1032B00002020202020202020202020202020202EE
+:1032C00002020202020202020202020202020202DE
+:1032D00002020202020202020202020202020202CE
+:1032E00002020202020202020202020202020202BE
+:1032F00002020202020202020202020202020202AE
+:10330000020202020202020202020202020202029D
+:10331000020202020202020202020202020202028D
+:10332000020202020202020202020202020202027D
+:10333000020202020202020202020202020202026D
+:10334000020202020202020202020202020202025D
+:10335000020202020202020202020202020202024D
+:10336000020202020202020202020202020202023D
+:10337000020202020202020202020202020202022D
+:10338000020202020202020202020202020202021D
+:10339000020202020202020202020202020202020D
+:1033A00002020202020202020202020202020202FD
+:1033B00002020202020202020202020202020202ED
+:1033C00002020202020202020202020202020202DD
+:1033D00002020202020202020202020202020202CD
+:1033E00002020202020202020202020202020202BD
+:1033F00002020202020202020202020202020202AD
+:10340000020202020202020202020202020202029C
+:10341000020202020202020202020202020202028C
+:10342000020202020202020202020202020202027C
+:10343000020202020202020202020202020202026C
+:10344000020202020202020202020202020202025C
+:10345000020202020202020202020202020202024C
+:10346000020202020202020202020202020202023C
+:10347000020202020202020202020202020202022C
+:10348000020202020202020202020202020202021C
+:10349000020202020202020202020202020202020C
+:1034A00002020202020202020202020202020202FC
+:1034B00002020202020202020202020202020202EC
+:1034C00002020202020202020202020202020202DC
+:1034D00002020202020202020202020202020202CC
+:1034E00002020202020202020202020202020202BC
+:1034F00002020202020202020202020202020202AC
+:10350000020202020202020202020202020202029B
+:10351000020202020202020202020202020202028B
+:10352000020202020202020202020202020202027B
+:10353000020202020202020202020202020202026B
+:10354000020202020202020202020202020202025B
+:10355000020202020202020202020202020202024B
+:10356000020202020202020202020202020202023B
+:10357000020202020202020202020202020202022B
+:10358000020202020202020202020202020202021B
+:10359000020202020202020202020202020202020B
+:1035A00002020202020202020202020202020202FB
+:1035B00002020202020202020202020202020202EB
+:1035C00002020202020202020202020202020202DB
+:1035D00002020202020202020202020202020202CB
+:1035E00002020202020202020202020202020202BB
+:1035F00002020202020202020202020202020202AB
+:10360000020202020202020202020202020202029A
+:10361000020202020202020202020202020202028A
+:10362000020202020202020202020202020202027A
+:10363000020202020202020202020202020202026A
+:10364000020202020202020000000000000000006C
+:10365000000000000000000000000000000000006A
+:10366000000000000000000000000000000000005A
+:10367000000000000000000000000000000000004A
+:10368000000000000000000000000000000000003A
+:10369000000000000000000000000000000000002A
+:1036A000000000000000000000000000000000001A
+:1036B000000000000000000000000000000000000A
+:1036C00000000000000000000000000000000000FA
+:1036D00000000000000000000000000000000000EA
+:1036E00000000000000000000000000000000000DA
+:1036F00000000000000000000000000000000000CA
+:1037000000000000000000000000000000000000B9
+:1037100000000000000000000000000000000000A9
+:103720000000000000000000000000000000000099
+:103730000000000000000000000000000000000089
+:103740000000000000000000000000000000000079
+:103750000000000000000000000000000000000069
+:103760000000000000000000000000000000000059
+:103770000000000000000000000000000000000049
+:103780000000000000000000000000000000000039
+:103790000000000000000000000000000000000029
+:1037A0000000000000000000000000000000000019
+:1037B0000000000000000000000000000000000009
+:1037C00000000000000000000000000000000000F9
+:1037D00000000000000000000000000000000000E9
+:1037E00000000000000000000000000000000000D9
+:1037F00000000000000000000000000000000000C9
+:1038000000000000000000000000000000000000B8
+:1038100000000000000000000000000000000000A8
+:103820000000000000000000000000000000000098
+:103830000000000000000000000000000000000088
+:103840000000000000000000000000000000000078
+:103850000000000000000000000000000000000068
+:103860000000000000000000000000000000000058
+:103870000000000000000000000000000000000048
+:103880000000000000000000000000000000000038
+:103890000000000000000000000000000000000028
+:1038A0000000000000000000000000000000000018
+:1038B0000000000000000000000000000000000008
+:1038C00000000000000000000000000000000000F8
+:1038D00000000000000000000000000000000000E8
+:1038E00000000000000000000000000000000000D8
+:1038F00000000000000000000000000000000000C8
+:1039000000000000000000000000000000000000B7
+:1039100000000000000000000000000000000000A7
+:103920000000000000000000000000000000000097
+:103930000000000000000000000000000000000087
+:103940000000000000000000000000000000000077
+:103950000000000000000000000000000000000067
+:103960000000000000000000000000000000000057
+:103970000000000000000000000000000000000047
+:103980000000000000000000000000000000000037
+:103990000000000000000000000000000000000027
+:1039A0000000000000000000000000000000000017
+:1039B0000000000000000000000000000000000007
+:1039C00000000000000000000000000000000000F7
+:1039D00000000000000000000000000000000000E7
+:1039E00000000000000000000000000000000000D7
+:1039F00000000000000000000000000000000000C7
+:103A000000000000000000000000000000000000B6
+:103A100000000000000000000000000000000000A6
+:103A20000000000000000000000000000000000096
+:103A30000000000000000000000000000000000086
+:103A40000000000000000000000000000000000076
+:103A50000000000000000000000000000000000066
+:103A60000000000000000000000000000000000056
+:103A70000000000000000000000000000000000046
+:103A80000000000000000000000000000000000036
+:103A90000000000000000000000000000000000026
+:103AA0000000000000000000000000000000000016
+:103AB0000000000000000000000000000000000006
+:103AC00000000000000000000000000000000000F6
+:103AD00000000000000000000000000000000000E6
+:103AE00000000000000000000000000000000000D6
+:103AF00000000000000000000000000000000000C6
+:103B000000000000000000000000000000000000B5
+:103B100000000000000000000000000000000000A5
+:103B20000000000000000000000000000000000095
+:103B30000000000000000000000000000000000085
+:103B40000000000000000000000000000000000075
+:103B50000000000000000000000000000000000065
+:103B60000000000000000000000000000000000055
+:103B70000000000000000000000000000000000045
+:103B80000000000000000000000000000000000035
+:103B90000000000000000000000000000000000025
+:103BA0000000000000000000000000000000000015
+:103BB0000000000000000000000000000000000005
+:103BC00000000000000000000000000000000000F5
+:103BD00000000000000000000000000000000000E5
+:103BE00000000000000000000000000000000000D5
+:103BF00000000000000000000000000000000000C5
+:103C000000000000000000000000000000000000B4
+:103C100000000000000000000000000000000000A4
+:103C20000000000000000000000000000000000094
+:103C30000000000000000000000000000000000084
+:103C40000000000000000000000000000000000074
+:103C50000000000000000000000000000000000064
+:103C60000000000000000000000000000000000054
+:103C70000000000000000000000000000000000044
+:103C80000000000000000000000000000000000034
+:103C90000000000000000000000000000000000024
+:103CA0000000000000000000000000000000000014
+:103CB0000000000000000000000000000000000004
+:103CC00000000000000000000000000000000000F4
+:103CD00000000000000000000000000000000000E4
+:103CE00000000000000000000000000000000000D4
+:103CF00000000000000000000000000000000000C4
+:103D000000000000000000000000000000000000B3
+:103D100000000000000000000000000000000000A3
+:103D20000000000000000000000000000000000093
+:103D30000000000000000000000000000000000083
+:103D40000000000000000000000000000000000073
+:103D50000000000000000000000000000000000063
+:103D60000000000000000000000000000000000053
+:103D70000000000000000000000000000000000043
+:103D80000000000000000000000000000000000033
+:103D90000000000000000000000000000000000023
+:103DA0000000000000000000000000000000000013
+:103DB0000000000000000000000000000000000003
+:103DC00000000000000000000000000000000000F3
+:103DD00000000000000000000000000000000000E3
+:103DE00000000000000000000000000000000000D3
+:103DF00000000000000000000000000000000000C3
+:103E000000000000000000000000000000000000B2
+:103E100000000000000000000000000000000000A2
+:103E20000000000000000000000000000000000092
+:103E30000000000000000000000000000000000082
+:103E400000000000000000783E0500000000008037
+:103E50006F05000000000088990500000000009038
+:103E6000BF05000000000098E5050000000000A06C
+:103E700002060000000000A81B060000000000B0C1
+:103E800031060000000000B847060000000000C036
+:103E90005D060000000000C873060000000000D0AE
+:103EA00089060000000000D89F060000000000E026
+:103EB000B506000000000031000000000000000016
+:103EC00000000000000000000000000000000100F1
+:103ED00000000000000000000000000000000000E2
+:103EE00000000000000000000000000000000000D2
+:103EF00000000000000000000000000000000000C2
+:103F000000000000000000000000000000000000B1
+:103F100000000000000000000000000000000000A1
+:103F20000000000000000000000000000000000091
+:103F30000000000000000000000000000000000081
+:103F40000000000000000000000000000000000071
+:103F50000000000000000000000000000000000061
+:103F60000000000000000000000000000000000051
+:103F70000000000000000000000000000000000041
+:103F80000000000000000000000000000000000031
+:103F90000000000000000000000000000000000021
+:103FA000000000000000000000000000000000020F
+:103FB0000000000000000000000000000000000001
+:103FC00000000000000000000000000000000100F0
+:103FD00000000000000000000000000000000000E1
+:103FE00000000000000000000000000000000000D1
+:103FF00000000000000000000000000000000000C1
+:1040000000000000000000000000000000000000B0
+:1040100000000000000000000000000000000000A0
+:104020000000000000000000000000000000000090
+:104030000000000000000000000000000000000080
+:104040000000000000000000000000000000000070
+:104050000000000000000000000000000000000060
+:104060000000000000000000000000000000000050
+:104070000000000000000000000000000000000040
+:104080000000000000000000000000000000000030
+:104090000000000000000000000000000000000020
+:1040A000000000000000000000000000000000020E
+:1040B0000000000000000000000000000000000000
+:1040C00000000000000000000000000000000100EF
+:1040D00000000000000000000000000000000000E0
+:1040E00000000000000000000000000000000000D0
+:1040F00000000000000000000000000000000000C0
+:1041000000000000000000000000000000000000AF
+:10411000000000000000000000000000000000009F
+:10412000000000000000000000000000000000008F
+:10413000000000000000000000000000000000007F
+:10414000000000000000000000000000000000006F
+:10415000000000000000000000000000000000005F
+:10416000000000000000000000000000000000004F
+:10417000000000000000000000000000000000003F
+:10418000000000000000000000000000000000002F
+:10419000000000000000000000000000000000001F
+:1041A000000000000000000000000000000000020D
+:1041B00000000000000000000000000000000000FF
+:1041C00000000000000000000000000000000100EE
+:1041D00000000000000000000000000000000000DF
+:1041E00000000000000000000000000000000000CF
+:1041F00000000000000000000000000000000000BF
+:1042000000000000000000000000000000000000AE
+:10421000000000000000000000000000000000009E
+:10422000000000000000000000000000000000008E
+:10423000000000000000000000000000000000007E
+:10424000000000000000000000000000000000006E
+:10425000000000000000000000000000000000005E
+:10426000000000000000000000000000000000004E
+:10427000000000000000000000000000000000003E
+:10428000000000000000000000000000000000002E
+:10429000000000000000000000000000000000001E
+:1042A000000000000000000000000000000000020C
+:1042B00000000000000000000000000000000000FE
+:1042C00000000000000000000000000000000100ED
+:1042D00000000000000000000000000000000000DE
+:1042E00000000000000000000000000000000000CE
+:1042F00000000000000000000000000000000000BE
+:1043000000000000000000000000000000000000AD
+:10431000000000000000000000000000000000009D
+:10432000000000000000000000000000000000008D
+:10433000000000000000000000000000000000007D
+:10434000000000000000000000000000000000006D
+:10435000000000000000000000000000000000005D
+:10436000000000000000000000000000000000004D
+:10437000000000000000000000000000000000003D
+:10438000000000000000000000000000000000002D
+:10439000000000000000000000000000000000001D
+:1043A000000000000000000000000000000000020B
+:1043B00000000000000000000000000000000000FD
+:1043C00000000000000000000000000000000100EC
+:1043D00000000000000000000000000000000000DD
+:1043E00000000000000000000000000000000000CD
+:1043F00000000000000000000000000000000000BD
+:1044000000000000000000000000000000000000AC
+:10441000000000000000000000000000000000009C
+:10442000000000000000000000000000000000008C
+:10443000000000000000000000000000000000007C
+:10444000000000000000000000000000000000006C
+:10445000000000000000000000000000000000005C
+:10446000000000000000000000000000000000004C
+:10447000000000000000000000000000000000003C
+:10448000000000000000000000000000000000002C
+:10449000000000000000000000000000000000001C
+:1044A000000000000000000000000000000000020A
+:1044B00000000000000000000000000000000000FC
+:1044C00000000000000000000000000000010100EA
+:1044D00000000000000000000000000000000000DC
+:1044E00000000000000000000000000000000000CC
+:1044F00000000000000000000000000000000000BC
+:1045000000000000000000000000000000000000AB
+:10451000000000000000000000000000000000009B
+:10452000000000000000000000000000000000008B
+:10453000000000000000000000000000000000007B
+:10454000000000000000000000000000000000006B
+:10455000000000000000000000000000000000005B
+:10456000000000000000000000000000000000004B
+:10457000000000000000000000000000000000003B
+:10458000000000000000000000000000000000002B
+:10459000000000000000000000000000000000001B
+:1045A0000000000000000000000000000000000209
+:1045B00000000000000000000000000000000000FB
+:1045C00000000000000000000000000000010100E9
+:1045D00000000000000000000000000000000000DB
+:1045E00000000000000000000000000000000000CB
+:1045F00000000000000000000000000000000000BB
+:1046000000000000000000000000000000000000AA
+:10461000000000000000000000000000000000009A
+:10462000000000000000000000000000000000008A
+:10463000000000000000000000000000000000007A
+:10464000000000000000000000000000000000006A
+:10465000000000000000000000000000000000005A
+:10466000000000000000000000000000000000004A
+:10467000000000000000000000000000000000003A
+:10468000000000000000000000000000000000002A
+:10469000000000000000000000000000000000001A
+:1046A0000000000000000000000000000000000208
+:1046B00002000000000000000000000000000000F8
+:1046C00000000000000000000000000000010100E8
+:1046D00000000000000000000000000000000000DA
+:1046E00000000000000000000000000000000000CA
+:1046F00000000000000000000000000000000000BA
+:1047000000000000000000000000000000000000A9
+:104710000000000000000000000000000000000099
+:104720000000000000000000000000000000000089
+:104730000000000000000000000000000000000079
+:104740000000000000000000000000000000000069
+:104750000000000000000000000000000000000059
+:104760000000000000000000000000000000000049
+:104770000000000000000000000000000000000039
+:104780000000000000000000000000000000000029
+:104790000000000000000000000000000000000019
+:1047A0000000000000000000000000000000000207
+:1047B00002000000000000000000000000000000F7
+:1047C00000000000000000000000000000010100E7
+:1047D00000000000000000000000000000000000D9
+:1047E00000000000000000000000000000000000C9
+:1047F00000000000000000000000000000000000B9
+:1048000000000000000000000000000000000000A8
+:104810000000000000000000000000000000000098
+:104820000000000000000000000000000000000088
+:104830000000000000000000000000000000000078
+:104840000000000000000000000000000000000068
+:104850000000000000000000000000000000000058
+:104860000000000000000000000000000000000048
+:104870000000000000000000000000000000000038
+:104880000000000000000000000000000000000028
+:104890000000000000000000000000000000000018
+:1048A0000000000000000000000000000000000206
+:1048B00002020000000000000000000000000000F4
+:1048C00000000000000000000000000000010100E6
+:1048D00000000000000000000000000000000000D8
+:1048E00000000000000000000000000000000000C8
+:1048F00000000000000000000000000000000000B8
+:1049000000000000000000000000000000000000A7
+:104910000000000000000000000000000000000097
+:104920000000000000000000000000000000000087
+:104930000000000000000000000000000000000077
+:104940000000000000000000000000000000000067
+:104950000000000000000000000000000000000057
+:104960000000000000000000000000000000000047
+:104970000000000000000000000000000000000037
+:104980000000000000000000000000000000000027
+:104990000000000000000000000000000000000017
+:1049A0000000000000000000000000000000000205
+:1049B00002020000000000000000000000000000F3
+:1049C00000000000000000000000000000010100E5
+:1049D00000000000000000000000000000000000D7
+:1049E00000000000000000000000000000000000C7
+:1049F00000000000000000000000000000000000B7
+:104A000000000000000000000000000000000000A6
+:104A10000000000000000000000000000000000096
+:104A20000000000000000000000000000000000086
+:104A30000000000000000000000000000000000076
+:104A40000000000000000000000000000000000066
+:104A50000000000000000000000000000000000056
+:104A60000000000000000000000000000000000046
+:104A70000000000000000000000000000000000036
+:104A80000000000000000000000000000000000026
+:104A90000000000000000000000000000000000016
+:104AA0000000000000000000000000000000000204
+:104AB00002020000000000000000000000000000F2
+:104AC00000000000000000000000000000010100E4
+:104AD00000000000000000000000000000000000D6
+:104AE00000000000000000000000000000000000C6
+:104AF00000000000000000000000000000000000B6
+:104B000000000000000000000000000000000000A5
+:104B10000000000000000000000000000000000095
+:104B20000000000000000000000000000000000085
+:104B30000000000000000000000000000000000075
+:104B40000000000000000000000000000000000065
+:104B50000000000000000000000000000000000055
+:104B60000000000000000000000000000000000045
+:104B70000000000000000000000000000000000035
+:104B80000000000000000000000000000000000025
+:104B90000000000000000000000000000000000015
+:104BA0000000000000000000000000000000000203
+:104BB00002020200000000000000000000000000EF
+:104BC00000000000000000000000000001010100E2
+:104BD00000000000000000000000000000000000D5
+:104BE00000000000000000000000000000000000C5
+:104BF00000000000000000000000000000000000B5
+:104C000000000000000000000000000000000000A4
+:104C10000000000000000000000000000000000094
+:104C20000000000000000000000000000000000084
+:104C30000000000000000000000000000000000074
+:104C40000000000000000000000000000000000064
+:104C50000000000000000000000000000000000054
+:104C60000000000000000000000000000000000044
+:104C70000000000000000000000000000000000034
+:104C80000000000000000000000000000000000024
+:104C90000000000000000000000000000000000014
+:104CA0000000000000000000000000000000000202
+:104CB00002020200000000000000000000000000EE
+:104CC00000000000000000000000000001010100E1
+:104CD00000000000000000000000000000000000D4
+:104CE00000000000000000000000000000000000C4
+:104CF00000000000000000000000000000000000B4
+:104D000000000000000000000000000000000000A3
+:104D10000000000000000000000000000000000093
+:104D20000000000000000000000000000000000083
+:104D30000000000000000000000000000000000073
+:104D40000000000000000000000000000000000063
+:104D50000000000000000000000000000000000053
+:104D60000000000000000000000000000000000043
+:104D70000000000000000000000000000000000033
+:104D80000000000000000000000000000000000023
+:104D90000000000000000000000000000000000013
+:104DA0000000000000000000000000000000000201
+:104DB00002020200000000000000000000000000ED
+:104DC00000000000000000000000000101010100DF
+:104DD00000000000000000000000000000000000D3
+:104DE00000000000000000000000000000000000C3
+:104DF00000000000000000000000000000000000B3
+:104E000000000000000000000000000000000000A2
+:104E10000000000000000000000000000000000092
+:104E20000000000000000000000000000000000082
+:104E30000000000000000000000000000000000072
+:104E40000000000000000000000000000000000062
+:104E50000000000000000000000000000000000052
+:104E60000000000000000000000000000000000042
+:104E70000000000000000000000000000000000032
+:104E80000000000000000000000000000000000022
+:104E90000000000000000000000000000000000012
+:104EA0000000000000000000000000000000000200
+:104EB00002020202000000000000000000000000EA
+:104EC00000000000000000000000000101010100DE
+:104ED00000000000000000000000000000000000D2
+:104EE00000000000000000000000000000000000C2
+:104EF00000000000000000000000000000000000B2
+:104F000000000000000000000000000000000000A1
+:104F10000000000000000000000000000000000091
+:104F20000000000000000000000000000000000081
+:104F30000000000000000000000000000000000071
+:104F40000000000000000000000000000000000061
+:104F50000000000000000000000000000000000051
+:104F60000000000000000000000000000000000041
+:104F70000000000000000000000000000000000031
+:104F80000000000000000000000000000000000021
+:104F90000000000000000000000000000000000011
+:104FA00000000000000000000000000000000002FF
+:104FB00002020202000000000000000000000000E9
+:104FC00000000000000000000000000101010100DD
+:104FD00000000000000000000000000000000000D1
+:104FE00000000000000000000000000000000000C1
+:104FF00000000000000000000000000000000000B1
+:1050000000000000000000000000000000000000A0
+:105010000000000000000000000000000000000090
+:105020000000000000000000000000000000000080
+:105030000000000000000000000000000000000070
+:105040000000000000000000000000000000000060
+:105050000000000000000000000000000000000050
+:105060000000000000000000000000000000000040
+:105070000000000000000000000000000000000030
+:105080000000000000000000000000000000000020
+:105090000000000000000000000000000000000010
+:1050A00000000000000000000000000000000002FE
+:1050B00002020202020000000000000000000000E6
+:1050C00000000000000000000000010101010100DB
+:1050D00000000000000000000000000000000000D0
+:1050E00000000000000000000000000000000000C0
+:1050F00000000000000000000000000000000000B0
+:10510000000000000000000000000000000000009F
+:10511000000000000000000000000000000000008F
+:10512000000000000000000000000000000000007F
+:10513000000000000000000000000000000000006F
+:10514000000000000000000000000000000000005F
+:10515000000000000000000000000000000000004F
+:10516000000000000000000000000000000000003F
+:10517000000000000000000000000000000000002F
+:10518000000000000000000000000000000000001F
+:10519000000000000000000000000000000000000F
+:1051A00000000000000000000000000000000002FD
+:1051B00002020202020101010000000000000000E2
+:1051C00000000000000000000001010101010100D9
+:1051D00000000000000000000000000000000000CF
+:1051E00000000000000000000000000000000000BF
+:1051F00000000000000000000000000000000000AF
+:10520000000000000000000000000000000000009E
+:10521000000000000000000000000000000000008E
+:10522000000000000000000000000000000000007E
+:10523000000000000000000000000000000000006E
+:10524000000000000000000000000000000000005E
+:10525000000000000000000000000000000000004E
+:10526000000000000000000000000000000000003E
+:10527000000000000000000000000000000000002E
+:10528000000000000000000000000000000000001E
+:10529000000000000000000000000000000000000E
+:1052A00000000000000000000000000000000002FC
+:1052B00002020202020201010000000000000000E0
+:1052C00000000000000000000001010101010100D8
+:1052D00000000000000000000000000000000000CE
+:1052E00000000000000000000000000000000000BE
+:1052F00000000000000000000000000000000000AE
+:10530000000000000000000000000000000000009D
+:10531000000000000000000000000000000000008D
+:10532000000000000000000000000000000000007D
+:10533000000000000000000000000000000000006D
+:10534000000000000000000000000000000000005D
+:10535000000000000000000000000000000000004D
+:10536000000000000000000000000000000000003D
+:10537000000000000000000000000000000000002D
+:10538000000000000000000000000000000000001D
+:10539000000000000000000000000000000000000D
+:1053A00000000000000000000000000000000002FB
+:1053B00002020202020202010000000000000000DE
+:1053C00000000000000000000001010101010100D7
+:1053D00000000000000000000000000000000000CD
+:1053E00000000000000000000000000000000000BD
+:1053F00000000000000000000000000000000000AD
+:10540000000000000000000000000000000000009C
+:10541000000000000000000000000000000000008C
+:10542000000000000000000000000000000000007C
+:10543000000000000000000000000000000000006C
+:10544000000000000000000000000000000000005C
+:10545000000000000000000000000000000000004C
+:10546000000000000000000000000000000000003C
+:10547000000000000000000000000000000000002C
+:10548000000000000000000000000000000000001C
+:10549000000000000000000000000000000000000C
+:1054A00000000000000000000000000000000002FA
+:1054B00002020202020202020001000000000000DB
+:1054C00000000000000000000101010101010100D5
+:1054D00000000000000000000000000000000000CC
+:1054E00000000000000000000000000000000000BC
+:1054F00000000000000000000000000000000000AC
+:10550000000000000000000000000000000000009B
+:10551000000000000000000000000000000000008B
+:10552000000000000000000000000000000000007B
+:10553000000000000000000000000000000000006B
+:10554000000000000000000000000000000000005B
+:10555000000000000000000000000000000000004B
+:10556000000000000000000000000000000000003B
+:10557000000000000000000000000000000000002B
+:10558000000000000000000000000000000000001B
+:10559000000000000000000000000000000000000B
+:1055A00000000000000000000000000000000002F9
+:1055B00002020202020202020101010000000000D8
+:1055C00000000000000000000101010101010100D4
+:1055D00000000000000000000000000000000000CB
+:1055E00000000000000000000000000000000000BB
+:1055F00000000000000000000000000000000000AB
+:10560000000000000000000000000000000000009A
+:10561000000000000000000000000000000000008A
+:10562000000000000000000000000000000000007A
+:10563000000000000000000000000000000000006A
+:10564000000000000000000000000000000000005A
+:10565000000000000000000000000000000000004A
+:10566000000000000000000000000000000000003A
+:10567000000000000000000000000000000000002A
+:10568000000000000000000000000000000000001A
+:10569000000000000000000000000000000000000A
+:1056A00000000000000000000000000000000002F8
+:1056B00002020202020202020101010000000000D7
+:1056C00000000000000000010101010101010100D2
+:1056D00000000000000000000000000000000000CA
+:1056E00000000000000000000000000000000000BA
+:1056F00000000000000000000000000000000000AA
+:105700000000000000000000000000000000000099
+:105710000000000000000000000000000000000089
+:105720000000000000000000000000000000000079
+:105730000000000000000000000000000000000069
+:105740000000000000000000000000000000000059
+:105750000000000000000000000000000000000049
+:105760000000000000000000000000000000000039
+:105770000000000000000000000000000000000029
+:105780000000000000000000000000000000000019
+:105790000000000000000000000000000000000009
+:1057A00000000000000000000000000000000002F7
+:1057B00002020202020202020201010000000000D5
+:1057C00000000000000000010101010101010100D1
+:1057D00000000000000000000000000000000000C9
+:1057E00000000000000000000000000000000000B9
+:1057F00000000000000000000000000000000000A9
+:105800000000000000000000000000000000000098
+:105810000000000000000000000000000000000088
+:105820000000000000000000000000000000000078
+:105830000000000000000000000000000000000068
+:105840000000000000000000000000000000000058
+:105850000000000000000000000000000000000048
+:105860000000000000000000000000000000000038
+:105870000000000000000000000000000000000028
+:105880000000000000000000000000000000000018
+:105890000000000000000000000000000000000008
+:1058A00000000000000000000000000000000002F6
+:1058B00002020202020202020202010000000000D3
+:1058C00000000000000001010101010101010100CF
+:1058D00000000000000000000000000000000000C8
+:1058E00000000000000000000000000000000000B8
+:1058F00000000000000000000000000000000000A8
+:105900000000000000000000000000000000000097
+:105910000000000000000000000000000000000087
+:105920000000000000000000000000000000000077
+:105930000000000000000000000000000000000067
+:105940000000000000000000000000000000000057
+:105950000000000000000000000000000000000047
+:105960000000000000000000000000000000000037
+:105970000000000000000000000000000000000027
+:105980000000000000000000000000000000000017
+:105990000000000000000000000000000000000007
+:1059A00000000000000000000000000000000002F5
+:1059B00002020202020202020202020000000000D1
+:1059C00000000000000001010101010101010100CE
+:1059D00000000000000000000000000000000000C7
+:1059E00000000000000000000000000000000000B7
+:1059F00000000000000000000000000000000000A7
+:105A00000000000000000000000000000000000096
+:105A10000000000000000000000000000000000086
+:105A20000000000000000000000000000000000076
+:105A30000000000000000000000000000000000066
+:105A40000000000000000000000000000000000056
+:105A50000000000000000000000000000000000046
+:105A60000000000000000000000000000000000036
+:105A70000000000000000000000000000000000026
+:105A80000000000000000000000000000000000016
+:105A90000000000000000000000000000000000006
+:105AA00000000000000000000000000000000002F4
+:105AB00002020202020202020202020100000000CF
+:105AC00000000000000101010101010101010100CC
+:105AD00000000000000000000000000000000000C6
+:105AE00000000000000000000000000000000000B6
+:105AF00000000000000000000000000000000000A6
+:105B00000000000000000000000000000000000095
+:105B10000000000000000000000000000000000085
+:105B20000000000000000000000000000000000075
+:105B30000000000000000000000000000000000065
+:105B40000000000000000000000000000000000055
+:105B50000000000000000000000000000000000045
+:105B60000000000000000000000000000000000035
+:105B70000000000000000000000000000000000025
+:105B80000000000000000000000000000000000015
+:105B90000000000000000000000000000000000005
+:105BA00000000000000000000000000000000002F3
+:105BB00002020202020202020202020100000000CE
+:105BC00000000000000101010101010101010100CB
+:105BD00000000000000000000000000000000000C5
+:105BE00000000000000000000000000000000000B5
+:105BF00000000000000000000000000000000000A5
+:105C00000000000000000000000000000000000094
+:105C10000000000000000000000000000000000084
+:105C20000000000000000000000000000000000074
+:105C30000000000000000000000000000000000064
+:105C40000000000000000000000000000000000054
+:105C50000000000000000000000000000000000044
+:105C60000000000000000000000000000000000034
+:105C70000000000000000000000000000000000024
+:105C80000000000000000000000000000000000014
+:105C90000000000000000000000000000000000004
+:105CA00000000000000000000000000000000002F2
+:105CB00002020202020202020202020101000000CC
+:105CC00000000000000101010101010101010100CA
+:105CD00000000000000000000000000000000000C4
+:105CE00000000000000000000000000000000000B4
+:105CF00000000000000000000000000000000000A4
+:105D00000000000000000000000000000000000093
+:105D10000000000000000000000000000000000083
+:105D20000000000000000000000000000000000073
+:105D30000000000000000000000000000000000063
+:105D40000000000000000000000000000000000053
+:105D50000000000000000000000000000000000043
+:105D60000000000000000000000000000000000033
+:105D70000000000000000000000000000000000023
+:105D80000000000000000000000000000000000013
+:105D90000000000000000000000000000000000003
+:105DA00000000000000000000000000000000002F1
+:105DB00002020202020202020202020201010000C9
+:105DC00000000000010101010101010101010100C8
+:105DD00000000000000000000000000000000000C3
+:105DE00000000000000000000000000000000000B3
+:105DF00000000000000000000000000000000000A3
+:105E00000000000000000000000000000000000092
+:105E10000000000000000000000000000000000082
+:105E20000000000000000000000000000000000072
+:105E30000000000000000000000000000000000062
+:105E40000000000000000000000000000000000052
+:105E50000000000000000000000000000000000042
+:105E60000000000000000000000000000000000032
+:105E70000000000000000000000000000000000022
+:105E80000000000000000000000000000000000012
+:105E90000000000000000000000000000000000002
+:105EA00000000000000000000000000000000002F0
+:105EB00002020202020202020202020201010000C8
+:105EC00000000000010101010101010101010100C7
+:105ED00000000000000000000000000000000000C2
+:105EE00000000000000000000000000000000000B2
+:105EF00000000000000000000000000000000000A2
+:105F00000000000000000000000000000000000091
+:105F10000000000000000000000000000000000081
+:105F20000000000000000000000000000000000071
+:105F30000000000000000000000000000000000061
+:105F40000000000000000000000000000000000051
+:105F50000000000000000000000000000000000041
+:105F60000000000000000000000000000000000031
+:105F70000000000000000000000000000000000021
+:105F80000000000000000000000000000000000011
+:105F90000000000000000000000000000000000001
+:105FA00000000000000000000000000000000002EF
+:105FB00002020202020202020202020202010000C6
+:105FC00000000001010101010101010101010100C5
+:105FD00000000000000000000000000000000000C1
+:105FE00000000000000000000000000000000000B1
+:105FF00000000000000000000000000000000000A1
+:106000000000000000000000000000000000000090
+:106010000000000000000000000000000000000080
+:106020000000000000000000000000000000000070
+:106030000000000000000000000000000000000060
+:106040000000000000000000000000000000000050
+:106050000000000000000000000000000000000040
+:106060000000000000000000000000000000000030
+:106070000000000000000000000000000000000020
+:106080000000000000000000000000000000000010
+:106090000000000000000000000000000000000000
+:1060A00000000000000000000000000000000002EE
+:1060B00002020202020202020202020202010000C5
+:1060C00000000001010101010101010101010100C4
+:1060D00000000000000000000000000000000000C0
+:1060E00000000000000000000000000000000000B0
+:1060F00000000000000000000000000000000000A0
+:10610000000000000000000000000000000000008F
+:10611000000000000000000000000000000000007F
+:10612000000000000000000000000000000000006F
+:10613000000000000000000000000000000000005F
+:10614000000000000000000000000000000000004F
+:10615000000000000000000000000000000000003F
+:10616000000000000000000000000000000000002F
+:10617000000000000000000000000000000000001F
+:10618000000000000000000000000000000000000F
+:1061900000000000000000000000000000000000FF
+:1061A00000000000000000000000000000000002ED
+:1061B00002020202020202020202020202010000C4
+:1061C00000000001010101010101010101010100C3
+:1061D00000000000000000000000000000000000BF
+:1061E00000000000000000000000000000000000AF
+:1061F000000000000000000000000000000000009F
+:10620000000000000000000000000000000000008E
+:10621000000000000000000000000000000000007E
+:10622000000000000000000000000000000000006E
+:10623000000000000000000000000000000000005E
+:10624000000000000000000000000000000000004E
+:10625000000000000000000000000000000000003E
+:10626000000000000000000000000000000000002E
+:10627000000000000000000000000000000000001E
+:10628000000000000000000000000000000000000E
+:1062900000000000000000000000000000000000FE
+:1062A00000000000000000000000000000000002EC
+:1062B00002020202020202020202020202010000C3
+:1062C00000000101010101010101010101010100C1
+:1062D00000000000000000000000000000000000BE
+:1062E00000000000000000000000000000000000AE
+:1062F000000000000000000000000000000000009E
+:10630000000000000000000000000000000000008D
+:10631000000000000000000000000000000000007D
+:10632000000000000000000000000000000000006D
+:10633000000000000000000000000000000000005D
+:10634000000000000000000000000000000000004D
+:10635000000000000000000000000000000000003D
+:10636000000000000000000000000000000000002D
+:10637000000000000000000000000000000000001D
+:10638000000000000000000000000000000000000D
+:1063900000000000000000000000000000000000FD
+:1063A00000000000000000000000000000000002EB
+:1063B00002020202020202020202020202020000C1
+:1063C00000000101010101010101010101010100C0
+:1063D00000000000000000000000000000000000BD
+:1063E00000000000000000000000000000000000AD
+:1063F000000000000000000000000000000000009D
+:10640000000000000000000000000000000000008C
+:10641000000000000000000000000000000000007C
+:10642000000000000000000000000000000000006C
+:10643000000000000000000000000000000000005C
+:10644000000000000000000000000000000000004C
+:10645000000000000000000000000000000000003C
+:10646000000000000000000000000000000000002C
+:10647000000000000000000000000000000000001C
+:10648000000000000000000000000000000000000C
+:1064900000000000000000000000000000000000FC
+:1064A00000000000000000000000000000000002EA
+:1064B00002020202020202020202020202020000C0
+:1064C00000000101010101010101010101010100BF
+:1064D00000000000000000000000000000000000BC
+:1064E00000000000000000000000000000000000AC
+:1064F000000000000000000000000000000000009C
+:10650000000000000000000000000000000000008B
+:10651000000000000000000000000000000000007B
+:10652000000000000000000000000000000000006B
+:10653000000000000000000000000000000000005B
+:10654000000000000000000000000000000000004B
+:10655000000000000000000000000000000000003B
+:10656000000000000000000000000000000000002B
+:10657000000000000000000000000000000000001B
+:10658000000000000000000000000000000000000B
+:1065900000000000000000000000000000000000FB
+:1065A00000000000000000000000000000000002E9
+:1065B00002020202020202020202020202020000BF
+:1065C00000010101010101010101010101010100BD
+:1065D00000000000000000000000000000000000BB
+:1065E00000000000000000000000000000000000AB
+:1065F000000000000000000000000000000000009B
+:10660000000000000000000000000000000000008A
+:10661000000000000000000000000000000000007A
+:10662000000000000000000000000000000000006A
+:10663000000000000000000000000000000000005A
+:10664000000000000000000000000000000000004A
+:10665000000000000000000000000000000000003A
+:10666000000000000000000000000000000000002A
+:10667000000000000000000000000000000000001A
+:10668000000000000000000000000000000000000A
+:1066900000000000000000000000000000000000FA
+:1066A00000000000000000000000000000000002E8
+:1066B00002020202020202020202020202020000BE
+:1066C00000010101010101010101010101010100BC
+:1066D00000000000000000000000000000000000BA
+:1066E00000000000000000000000000000000000AA
+:1066F000000000000000000000000000000000009A
+:106700000000000000000000000000000000000089
+:106710000000000000000000000000000000000079
+:106720000000000000000000000000000000000069
+:106730000000000000000000000000000000000059
+:106740000000000000000000000000000000000049
+:106750000000000000000000000000000000000039
+:106760000000000000000000000000000000000029
+:106770000000000000000000000000000000000019
+:106780000000000000000000000000000000000009
+:1067900000000000000000000000000000000000F9
+:1067A00000000000000000000000000000000002E7
+:1067B00002020202020202020202020202020000BD
+:1067C00001010101010101010101010101010100BA
+:1067D00000000000000000000000000000000000B9
+:1067E00000000000000000000000000000000000A9
+:1067F0000000000000000000000000000000000099
+:106800000000000000000000000000000000000088
+:106810000000000000000000000000000000000078
+:106820000000000000000000000000000000000068
+:106830000000000000000000000000000000000058
+:106840000000000000000000000000000000000048
+:106850000000000000000000000000000000000038
+:106860000000000000000000000000000000000028
+:106870000000000000000000000000000000000018
+:106880000000000000000000000000000000000008
+:1068900000000000000000000000000000000000F8
+:1068A00000000000000000000000000000000002E6
+:1068B00002020202020202020202020202020000BC
+:1068C00001010101010101010101010101010100B9
+:1068D00000000000000000000000000000000000B8
+:1068E00000000000000000000000000000000000A8
+:1068F0000000000000000000000000000000000098
+:106900000000000000000000000000000000000087
+:106910000000000000000000000000000000000077
+:106920000000000000000000000000000000000067
+:106930000000000000000000000000000000000057
+:106940000000000000000000000000000000000047
+:106950000000000000000000000000000000000037
+:106960000000000000000000000000000000000027
+:106970000000000000000000000000000000000017
+:106980000000000000000000000000000000000007
+:1069900000000000000000000000000000000000F7
+:1069A00000000000000000000000000000000002E5
+:1069B00002020202020202020202020202020000BB
+:1069C00001010101010101010101010101010100B8
+:1069D00000000000000000000000000000000000B7
+:1069E00000000000000000000000000000000000A7
+:1069F0000000000000000000000000000000000097
+:106A00000000000000000000000000000000000086
+:106A10000000000000000000000000000000000076
+:106A20000000000000000000000000000000000066
+:106A30000000000000000000000000000000000056
+:106A40000000000000000000000000000000000046
+:106A50000000000000000000000000000000000036
+:106A60000000000000000000000000000000000026
+:106A70000000000000000000000000000000000016
+:106A80000000000000000000000000000000000006
+:106A900000000000000000000000000000000000F6
+:106AA00000000000000000000000000000000002E4
+:106AB00002020202020202020202020202020000BA
+:106AC00001010101010101010101010101010100B7
+:106AD00000000000000000000000000000000000B6
+:106AE00000000000000000000000000000000000A6
+:106AF0000000000000000000000000000000000096
+:106B00000000000000000000000000000000000085
+:106B10000000000000000000000000000000000075
+:106B20000000000000000000000000000000000065
+:106B30000000000000000000000000000000000055
+:106B40000000000000000000000000000000000045
+:106B50000000000000000000000000000000000035
+:106B60000000000000000000000000000000000025
+:106B70000000000000000000000000000000000015
+:106B80000000000000000000000000000000000005
+:106B900000000000000000000000000000000000F5
+:106BA00000000000000000000000000000000002E3
+:106BB00002020202020202020202020202020000B9
+:106BC00001010101010101010101010101010100B6
+:106BD00000000000000000000000000000000000B5
+:106BE00000000000000000000000000000000000A5
+:106BF0000000000000000000000000000000000095
+:106C00000000000000000000000000000000000084
+:106C10000000000000000000000000000000000074
+:106C20000000000000000000000000000000000064
+:106C30000000000000000000000000000000000054
+:106C40000000000000000000000000000000000044
+:106C50000000000000000000000000000000000034
+:106C60000000000000000000000000000000000024
+:106C70000000000000000000000000000000000014
+:106C80000000000000000000000000000000000004
+:106C900000000000000000000000000000000000F4
+:106CA00000000000000000000000000000000002E2
+:106CB00002020202020202020202020202020000B8
+:106CC00001010101010101010101010101010100B5
+:106CD00000000000000000000000000000000000B4
+:106CE00000000000000000000000000000000000A4
+:106CF0000000000000000000000000000000000094
+:106D00000000000000000000000000000000000083
+:106D10000000000000000000000000000000000073
+:106D20000000000000000000000000000000000063
+:106D30000000000000000000000000000000000053
+:106D40000000000000000000000000000000000043
+:106D50000000000000000000000000000000000033
+:106D60000000000000000000000000000000000023
+:106D70000000000000000000000000000000000013
+:106D80000000000000000000000000000000000003
+:106D900000000000000000000000000000000000F3
+:106DA00000000000000000000000000000000002E1
+:106DB00002020202020202020202020202020000B7
+:106DC00001010101010101010101010101010100B4
+:106DD00000000000000000000000000000000000B3
+:106DE00000000000000000000000000000000000A3
+:106DF0000000000000000000000000000000000093
+:106E00000000000000000000000000000000000082
+:106E10000000000000000000000000000000000072
+:106E20000000000000000000000000000000000062
+:106E30000000000000000000000000000000000052
+:106E40000000000000000000000000000000000042
+:106E50000000000000000000000000000000000032
+:106E60000000000000000000000000000000000022
+:106E70000000000000000000000000000000000012
+:106E80000000000000000000000000000000000002
+:106E900000000000000000000000000000000000F2
+:106EA00000000000000000000000000000000002E0
+:106EB00002020202020202020202020202020000B6
+:106EC00000000000000000000000000000000000C2
+:106ED00000000000000000000000000000000000B2
+:106EE00000000000000000000000000000000000A2
+:106EF0000000000000000000000000000000000092
+:106F00000000000000000000000000000000000081
+:106F10000000000000000000000000000000000071
+:106F20000000000000000000000000000000000061
+:106F30000000000000000000000000000000000051
+:106F40000000000000000000000000000000000041
+:106F50000000000000000000000000000000000031
+:106F60000000000000000000000000000000000021
+:106F70000000000000000000000000000000000011
+:106F80000000000000000000000000000000000001
+:106F900000000000000000000000000000000000F1
+:106FA00000000000000000000000000000000000E1
+:106FB0000000000000000000000000000000002AA7
+:106FC00000000000000000000000000000000000C1
+:106FD00000000000000001000000000000000000B0
+:106FE00000000000000000000000000000000000A1
+:106FF0000000000000000000000000000000000091
+:107000000000000000000000000000000000000080
+:107010000000000000000000000000000000000070
+:107020000000000000000000000000000000000060
+:107030000000000000000000000000000000000050
+:107040000000000000000000000000000000000040
+:107050000000000000000000000000000000000030
+:107060000000000000000000000000000000000020
+:107070000000000000000000000000000000000010
+:107080000000000000000000000000000000000000
+:1070900000000000000000000000000000000000F0
+:1070A00000000000000000000000000000000000E0
+:1070B00000000000000000020000000000000000CE
+:1070C00000000000000000000000000000000000C0
+:1070D00000000000000001000000000000000000AF
+:1070E00000000000000000000000000000000000A0
+:1070F0000000000000000000000000000000000090
+:10710000000000000000000000000000000000007F
+:10711000000000000000000000000000000000006F
+:10712000000000000000000000000000000000005F
+:10713000000000000000000000000000000000004F
+:10714000000000000000000000000000000000003F
+:10715000000000000000000000000000000000002F
+:10716000000000000000000000000000000000001F
+:10717000000000000000000000000000000000000F
+:1071800000000000000000000000000000000000FF
+:1071900000000000000000000000000000000000EF
+:1071A00000000000000000000000000000000000DF
+:1071B00000000000000000020000000000000000CD
+:1071C00000000000000000000000000000000000BF
+:1071D00000000000000001000000000000000000AE
+:1071E000000000000000000000000000000000009F
+:1071F000000000000000000000000000000000008F
+:10720000000000000000000000000000000000007E
+:10721000000000000000000000000000000000006E
+:10722000000000000000000000000000000000005E
+:10723000000000000000000000000000000000004E
+:10724000000000000000000000000000000000003E
+:10725000000000000000000000000000000000002E
+:10726000000000000000000000000000000000001E
+:10727000000000000000000000000000000000000E
+:1072800000000000000000000000000000000000FE
+:1072900000000000000000000000000000000000EE
+:1072A00000000000000000000000000000000000DE
+:1072B00000000000000000020000000000000000CC
+:1072C00000000000000000000000000000000000BE
+:1072D00000000000000001000000000000000000AD
+:1072E000000000000000000000000000000000009E
+:1072F000000000000000000000000000000000008E
+:10730000000000000000000000000000000000007D
+:10731000000000000000000000000000000000006D
+:10732000000000000000000000000000000000005D
+:10733000000000000000000000000000000000004D
+:10734000000000000000000000000000000000003D
+:10735000000000000000000000000000000000002D
+:10736000000000000000000000000000000000001D
+:10737000000000000000000000000000000000000D
+:1073800000000000000000000000000000000000FD
+:1073900000000000000000000000000000000000ED
+:1073A00000000000000000000000000000000000DD
+:1073B00000000000000000020200000000000000C9
+:1073C00000000000000000000000000000000000BD
+:1073D00000000000000001000000000000000000AC
+:1073E000000000000000000000000000000000009D
+:1073F000000000000000000000000000000000008D
+:10740000000000000000000000000000000000007C
+:10741000000000000000000000000000000000006C
+:10742000000000000000000000000000000000005C
+:10743000000000000000000000000000000000004C
+:10744000000000000000000000000000000000003C
+:10745000000000000000000000000000000000002C
+:10746000000000000000000000000000000000001C
+:10747000000000000000000000000000000000000C
+:1074800000000000000000000000000000000000FC
+:1074900000000000000000000000000000000000EC
+:1074A00000000000000000000000000000000000DC
+:1074B00000000000000000020200000000000000C8
+:1074C00000000000000000000000000000000000BC
+:1074D00000000000000001000000000000000000AB
+:1074E000000000000000000000000000000000009C
+:1074F000000000000000000000000000000000008C
+:10750000000000000000000000000000000000007B
+:10751000000000000000000000000000000000006B
+:10752000000000000000000000000000000000005B
+:10753000000000000000000000000000000000004B
+:10754000000000000000000000000000000000003B
+:10755000000000000000000000000000000000002B
+:10756000000000000000000000000000000000001B
+:10757000000000000000000000000000000000000B
+:1075800000000000000000000000000000000000FB
+:1075900000000000000000000000000000000000EB
+:1075A00000000000000000000000000000000000DB
+:1075B00000000000000000020200000000000000C7
+:1075C00000000000000000000000000000000000BB
+:1075D00000000000000001000000000000000000AA
+:1075E000000000000000000000000000000000009B
+:1075F000000000000000000000000000000000008B
+:10760000000000000000000000000000000000007A
+:10761000000000000000000000000000000000006A
+:10762000000000000000000000000000000000005A
+:10763000000000000000000000000000000000004A
+:10764000000000000000000000000000000000003A
+:10765000000000000000000000000000000000002A
+:10766000000000000000000000000000000000001A
+:10767000000000000000000000000000000000000A
+:1076800000000000000000000000000000000000FA
+:1076900000000000000000000000000000000000EA
+:1076A00000000000000000000000000000000000DA
+:1076B00000000000000000020202000000000000C4
+:1076C00000000000000000000000000000000000BA
+:1076D00000000000000001000000000000000000A9
+:1076E000000000000000000000000000000000009A
+:1076F000000000000000000000000000000000008A
+:107700000000000000000000000000000000000079
+:107710000000000000000000000000000000000069
+:107720000000000000000000000000000000000059
+:107730000000000000000000000000000000000049
+:107740000000000000000000000000000000000039
+:107750000000000000000000000000000000000029
+:107760000000000000000000000000000000000019
+:107770000000000000000000000000000000000009
+:1077800000000000000000000000000000000000F9
+:1077900000000000000000000000000000000000E9
+:1077A00000000000000000000000000000000000D9
+:1077B00000000000000000020202000000000000C3
+:1077C00000000000000000000000000000000000B9
+:1077D00000000000000101000000000000000000A7
+:1077E0000000000000000000000000000000000099
+:1077F0000000000000000000000000000000000089
+:107800000000000000000000000000000000000078
+:107810000000000000000000000000000000000068
+:107820000000000000000000000000000000000058
+:107830000000000000000000000000000000000048
+:107840000000000000000000000000000000000038
+:107850000000000000000000000000000000000028
+:107860000000000000000000000000000000000018
+:107870000000000000000000000000000000000008
+:1078800000000000000000000000000000000000F8
+:1078900000000000000000000000000000000000E8
+:1078A00000000000000000000000000000000000D8
+:1078B00000000000000000020202020000000000C0
+:1078C00000000000000000000000000000000000B8
+:1078D00000000000000101000000000000000000A6
+:1078E0000000000000000000000000000000000098
+:1078F0000000000000000000000000000000000088
+:107900000000000000000000000000000000000077
+:107910000000000000000000000000000000000067
+:107920000000000000000000000000000000000057
+:107930000000000000000000000000000000000047
+:107940000000000000000000000000000000000037
+:107950000000000000000000000000000000000027
+:107960000000000000000000000000000000000017
+:107970000000000000000000000000000000000007
+:1079800000000000000000000000000000000000F7
+:1079900000000000000000000000000000000000E7
+:1079A00000000000000000000000000000000000D7
+:1079B00000000000000000020202020000000000BF
+:1079C00000000000000000000000000000000000B7
+:1079D00000000000000101000000000000000000A5
+:1079E0000000000000000000000000000000000097
+:1079F0000000000000000000000000000000000087
+:107A00000000000000000000000000000000000076
+:107A10000000000000000000000000000000000066
+:107A20000000000000000000000000000000000056
+:107A30000000000000000000000000000000000046
+:107A40000000000000000000000000000000000036
+:107A50000000000000000000000000000000000026
+:107A60000000000000000000000000000000000016
+:107A70000000000000000000000000000000000006
+:107A800000000000000000000000000000000000F6
+:107A900000000000000000000000000000000000E6
+:107AA00000000000000000000000000000000000D6
+:107AB00000000000000000020202020000000000BE
+:107AC00000000000000000000000000000000000B6
+:107AD00000000000000101000000000000000000A4
+:107AE0000000000000000000000000000000000096
+:107AF0000000000000000000000000000000000086
+:107B00000000000000000000000000000000000075
+:107B10000000000000000000000000000000000065
+:107B20000000000000000000000000000000000055
+:107B30000000000000000000000000000000000045
+:107B40000000000000000000000000000000000035
+:107B50000000000000000000000000000000000025
+:107B60000000000000000000000000000000000015
+:107B70000000000000000000000000000000000005
+:107B800000000000000000000000000000000000F5
+:107B900000000000000000000000000000000000E5
+:107BA00000000000000000000000000000000000D5
+:107BB00000000000000000020202020200000000BB
+:107BC00000000000000000000000000000000000B5
+:107BD00000000000000101000000000000000000A3
+:107BE0000000000000000000000000000000000095
+:107BF0000000000000000000000000000000000085
+:107C00000000000000000000000000000000000074
+:107C10000000000000000000000000000000000064
+:107C20000000000000000000000000000000000054
+:107C30000000000000000000000000000000000044
+:107C40000000000000000000000000000000000034
+:107C50000000000000000000000000000000000024
+:107C60000000000000000000000000000000000014
+:107C70000000000000000000000000000000000004
+:107C800000000000000000000000000000000000F4
+:107C900000000000000000000000000000000000E4
+:107CA00000000000000000000000000000000000D4
+:107CB00000000000000000020202020202000000B8
+:107CC00000000000000000000000000000000000B4
+:107CD00000000000000101000000000000000000A2
+:107CE0000000000000000000000000000000000094
+:107CF0000000000000000000000000000000000084
+:107D00000000000000000000000000000000000073
+:107D10000000000000000000000000000000000063
+:107D20000000000000000000000000000000000053
+:107D30000000000000000000000000000000000043
+:107D40000000000000000000000000000000000033
+:107D50000000000000000000000000000000000023
+:107D60000000000000000000000000000000000013
+:107D70000000000000000000000000000000000003
+:107D800000000000000000000000000000000000F3
+:107D900000000000000000000000000000000000E3
+:107DA00000000000000000000000000000000000D3
+:107DB00000000000000000020202020202000000B7
+:107DC00000000000000000000000000000000000B3
+:107DD00000000000010101000000000000000000A0
+:107DE0000000000000000000000000000000000093
+:107DF0000000000000000000000000000000000083
+:107E00000000000000000000000000000000000072
+:107E10000000000000000000000000000000000062
+:107E20000000000000000000000000000000000052
+:107E30000000000000000000000000000000000042
+:107E40000000000000000000000000000000000032
+:107E50000000000000000000000000000000000022
+:107E60000000000000000000000000000000000012
+:107E70000000000000000000000000000000000002
+:107E800000000000000000000000000000000000F2
+:107E900000000000000000000000000000000000E2
+:107EA00000000000000000000000000000000000D2
+:107EB00000000000000000020202020202000000B6
+:107EC00000000000000000000000000000000000B2
+:107ED000000000000101010000000000000000009F
+:107EE0000000000000000000000000000000000092
+:107EF0000000000000000000000000000000000082
+:107F00000000000000000000000000000000000071
+:107F10000000000000000000000000000000000061
+:107F20000000000000000000000000000000000051
+:107F30000000000000000000000000000000000041
+:107F40000000000000000000000000000000000031
+:107F50000000000000000000000000000000000021
+:107F60000000000000000000000000000000000011
+:107F70000000000000000000000000000000000001
+:107F800000000000000000000000000000000000F1
+:107F900000000000000000000000000000000000E1
+:107FA00000000000000000000000000000000000D1
+:107FB00000000000000000020202020202020000B3
+:107FC00000000000000000000000000000000000B1
+:107FD000000000000101010000000000000000009E
+:107FE0000000000000000000000000000000000091
+:107FF0000000000000000000000000000000000081
+:108000000000000000000000000000000000000070
+:108010000000000000000000000000000000000060
+:108020000000000000000000000000000000000050
+:108030000000000000000000000000000000000040
+:108040000000000000000000000000000000000030
+:108050000000000000000000000000000000000020
+:108060000000000000000000000000000000000010
+:108070000000000000000000000000000000000000
+:1080800000000000000000000000000000000000F0
+:1080900000000000000000000000000000000000E0
+:1080A00000000000000000000000000000000000D0
+:1080B00000000000000000020202020202020200B0
+:1080C00000000000000000000000000000000000B0
+:1080D000000000000101010000000000000000009D
+:1080E0000000000000000000000000000000000090
+:1080F0000000000000000000000000000000000080
+:10810000000000000000000000000000000000006F
+:10811000000000000000000000000000000000005F
+:10812000000000000000000000000000000000004F
+:10813000000000000000000000000000000000003F
+:10814000000000000000000000000000000000002F
+:10815000000000000000000000000000000000001F
+:10816000000000000000000000000000000000000F
+:1081700000000000000000000000000000000000FF
+:1081800000000000000000000000000000000000EF
+:1081900000000000000000000000000000000000DF
+:1081A00000000000000000000000000000000000CF
+:1081B00000000000000000020202020202020200AF
+:1081C00000000000000000000000000000000000AF
+:1081D000000001010101010000000000000000009A
+:1081E000000000000000000000000000000000008F
+:1081F000000000000000000000000000000000007F
+:10820000000000000000000000000000000000006E
+:10821000000000000000000000000000000000005E
+:10822000000000000000000000000000000000004E
+:10823000000000000000000000000000000000003E
+:10824000000000000000000000000000000000002E
+:10825000000000000000000000000000000000001E
+:10826000000000000000000000000000000000000E
+:1082700000000000000000000000000000000000FE
+:1082800000000000000000000000000000000000EE
+:1082900000000000000000000000000000000000DE
+:1082A00000000000000000000000000000000000CE
+:1082B00000000000000000020202020202020202AC
+:1082C00000000000000000000000000000000000AE
+:1082D0000000010101010100000000000000000099
+:1082E000000000000000000000000000000000008E
+:1082F000000000000000000000000000000000007E
+:10830000000000000000000000000000000000006D
+:10831000000000000000000000000000000000005D
+:10832000000000000000000000000000000000004D
+:10833000000000000000000000000000000000003D
+:10834000000000000000000000000000000000002D
+:10835000000000000000000000000000000000001D
+:10836000000000000000000000000000000000000D
+:1083700000000000000000000000000000000000FD
+:1083800000000000000000000000000000000000ED
+:1083900000000000000000000000000000000000DD
+:1083A00000000000000000000000000000000000CD
+:1083B00000000000000000020202020202020202AB
+:1083C00002000000000000000000000000000000AB
+:1083D0000000010101010100000000000000000098
+:1083E000000000000000000000000000000000008D
+:1083F000000000000000000000000000000000007D
+:10840000000000000000000000000000000000006C
+:10841000000000000000000000000000000000005C
+:10842000000000000000000000000000000000004C
+:10843000000000000000000000000000000000003C
+:10844000000000000000000000000000000000002C
+:10845000000000000000000000000000000000001C
+:10846000000000000000000000000000000000000C
+:1084700000000000000000000000000000000000FC
+:1084800000000000000000000000000000000000EC
+:1084900000000000000000000000000000000000DC
+:1084A00000000000000000000000000000000000CC
+:1084B00000000000000000020202020202020202AA
+:1084C00002020000000000000000000000000000A8
+:1084D0000001010101010100000000000000000096
+:1084E000000000000000000000000000000000008C
+:1084F000000000000000000000000000000000007C
+:10850000000000000000000000000000000000006B
+:10851000000000000000000000000000000000005B
+:10852000000000000000000000000000000000004B
+:10853000000000000000000000000000000000003B
+:10854000000000000000000000000000000000002B
+:10855000000000000000000000000000000000001B
+:10856000000000000000000000000000000000000B
+:1085700000000000000000000000000000000000FB
+:1085800000000000000000000000000000000000EB
+:1085900000000000000000000000000000000000DB
+:1085A00000000000000000000000000000000000CB
+:1085B00000000000000000020202020202020202A9
+:1085C00002020000000000000000000000000000A7
+:1085D0000101010101010100000000000000000094
+:1085E000000000000000000000000000000000008B
+:1085F000000000000000000000000000000000007B
+:10860000000000000000000000000000000000006A
+:10861000000000000000000000000000000000005A
+:10862000000000000000000000000000000000004A
+:10863000000000000000000000000000000000003A
+:10864000000000000000000000000000000000002A
+:10865000000000000000000000000000000000001A
+:10866000000000000000000000000000000000000A
+:1086700000000000000000000000000000000000FA
+:1086800000000000000000000000000000000000EA
+:1086900000000000000000000000000000000000DA
+:1086A00000000000000000000000000000000000CA
+:1086B00000000000000000020202020202020202A8
+:1086C00002020000000000000000000000000001A5
+:1086D0000101010101010100000000000000000093
+:1086E000000000000000000000000000000000008A
+:1086F000000000000000000000000000000000007A
+:108700000000000000000000000000000000000069
+:108710000000000000000000000000000000000059
+:108720000000000000000000000000000000000049
+:108730000000000000000000000000000000000039
+:108740000000000000000000000000000000000029
+:108750000000000000000000000000000000000019
+:108760000000000000000000000000000000000009
+:1087700000000000000000000000000000000000F9
+:1087800000000000000000000000000000000000E9
+:1087900000000000000000000000000000000000D9
+:1087A00000000000000000000000000000000000C9
+:1087B00000000000000000020202020202020202A7
+:1087C00002020202000000000000000000000001A0
+:1087D0000101010101010100000000000000000092
+:1087E0000000000000000000000000000000000089
+:1087F0000000000000000000000000000000000079
+:108800000000000000000000000000000000000068
+:108810000000000000000000000000000000000058
+:108820000000000000000000000000000000000048
+:108830000000000000000000000000000000000038
+:108840000000000000000000000000000000000028
+:108850000000000000000000000000000000000018
+:108860000000000000000000000000000000000008
+:1088700000000000000000000000000000000000F8
+:1088800000000000000000000000000000000000E8
+:1088900000000000000000000000000000000000D8
+:1088A00000000000000000000000000000000000C8
+:1088B00000000000000000020202020202020202A6
+:1088C000020202020000000000000000000001019E
+:1088D0000101010101010100000000000000000091
+:1088E0000000000000000000000000000000000088
+:1088F0000000000000000000000000000000000078
+:108900000000000000000000000000000000000067
+:108910000000000000000000000000000000000057
+:108920000000000000000000000000000000000047
+:108930000000000000000000000000000000000037
+:108940000000000000000000000000000000000027
+:108950000000000000000000000000000000000017
+:108960000000000000000000000000000000000007
+:1089700000000000000000000000000000000000F7
+:1089800000000000000000000000000000000000E7
+:1089900000000000000000000000000000000000D7
+:1089A00000000000000000000000000000000000C7
+:1089B00000000000000000020202020202020202A5
+:1089C000020202020000000000000000000101019C
+:1089D0000101010101010100000000000000000090
+:1089E0000000000000000000000000000000000087
+:1089F0000000000000000000000000000000000077
+:108A00000000000000000000000000000000000066
+:108A10000000000000000000000000000000000056
+:108A20000000000000000000000000000000000046
+:108A30000000000000000000000000000000000036
+:108A40000000000000000000000000000000000026
+:108A50000000000000000000000000000000000016
+:108A60000000000000000000000000000000000006
+:108A700000000000000000000000000000000000F6
+:108A800000000000000000000000000000000000E6
+:108A900000000000000000000000000000000000D6
+:108AA00000000000000000000000000000000000C6
+:108AB00000000000000000020202020202020202A4
+:108AC000020202020000000000000000000101019B
+:108AD000010101010101010000000000000000008F
+:108AE0000000000000000000000000000000000086
+:108AF0000000000000000000000000000000000076
+:108B00000000000000000000000000000000000065
+:108B10000000000000000000000000000000000055
+:108B20000000000000000000000000000000000045
+:108B30000000000000000000000000000000000035
+:108B40000000000000000000000000000000000025
+:108B50000000000000000000000000000000000015
+:108B60000000000000000000000000000000000005
+:108B700000000000000000000000000000000000F5
+:108B800000000000000000000000000000000000E5
+:108B900000000000000000000000000000000000D5
+:108BA00000000000000000000000000000000000C5
+:108BB00000000000000000020202020202020202A3
+:108BC0000202020202000000000000000001010198
+:108BD000010101010101010000000000000000008E
+:108BE0000000000000000000000000000000000085
+:108BF0000000000000000000000000000000000075
+:108C00000000000000000000000000000000000064
+:108C10000000000000000000000000000000000054
+:108C20000000000000000000000000000000000044
+:108C30000000000000000000000000000000000034
+:108C40000000000000000000000000000000000024
+:108C50000000000000000000000000000000000014
+:108C60000000000000000000000000000000000004
+:108C700000000000000000000000000000000000F4
+:108C800000000000000000000000000000000000E4
+:108C900000000000000000000000000000000000D4
+:108CA00000000000000000000000000000000000C4
+:108CB00000000000000000020202020202020202A2
+:108CC0000202020202000000000000000101010196
+:108CD000010101010101010000000000000000008D
+:108CE0000000000000000000000000000000000084
+:108CF0000000000000000000000000000000000074
+:108D00000000000000000000000000000000000063
+:108D10000000000000000000000000000000000053
+:108D20000000000000000000000000000000000043
+:108D30000000000000000000000000000000000033
+:108D40000000000000000000000000000000000023
+:108D50000000000000000000000000000000000013
+:108D60000000000000000000000000000000000003
+:108D700000000000000000000000000000000000F3
+:108D800000000000000000000000000000000000E3
+:108D900000000000000000000000000000000000D3
+:108DA00000000000000000000000000000000000C3
+:108DB00000000000000000020202020202020202A1
+:108DC0000202020202000000000000010101010194
+:108DD000010101010101010000000000000000008C
+:108DE0000000000000000000000000000000000083
+:108DF0000000000000000000000000000000000073
+:108E00000000000000000000000000000000000062
+:108E10000000000000000000000000000000000052
+:108E20000000000000000000000000000000000042
+:108E30000000000000000000000000000000000032
+:108E40000000000000000000000000000000000022
+:108E50000000000000000000000000000000000012
+:108E60000000000000000000000000000000000002
+:108E700000000000000000000000000000000000F2
+:108E800000000000000000000000000000000000E2
+:108E900000000000000000000000000000000000D2
+:108EA00000000000000000000000000000000000C2
+:108EB00000000000000000020202020202020202A0
+:108EC0000202020202000000000000010101010193
+:108ED000010101010101010000000000000000008B
+:108EE0000000000000000000000000000000000082
+:108EF0000000000000000000000000000000000072
+:108F00000000000000000000000000000000000061
+:108F10000000000000000000000000000000000051
+:108F20000000000000000000000000000000000041
+:108F30000000000000000000000000000000000031
+:108F40000000000000000000000000000000000021
+:108F50000000000000000000000000000000000011
+:108F60000000000000000000000000000000000001
+:108F700000000000000000000000000000000000F1
+:108F800000000000000000000000000000000000E1
+:108F900000000000000000000000000000000000D1
+:108FA00000000000000000000000000000000000C1
+:108FB000000000000000000202020202020202029F
+:108FC0000202020202000000000000010101010192
+:108FD000010101010101010000000000000000008A
+:108FE0000000000000000000000000000000000081
+:108FF0000000000000000000000000000000000071
+:109000000000000000000000000000000000000060
+:109010000000000000000000000000000000000050
+:109020000000000000000000000000000000000040
+:109030000000000000000000000000000000000030
+:109040000000000000000000000000000000000020
+:109050000000000000000000000000000000000010
+:109060000000000000000000000000000000000000
+:1090700000000000000000000000000000000000F0
+:1090800000000000000000000000000000000000E0
+:1090900000000000000000000000000000000000D0
+:1090A00000000000000000000000000000000000C0
+:1090B000000000000000000202020202020202029E
+:1090C0000202020202000000000001010101010190
+:1090D0000101010101010100000000000000000089
+:1090E0000000000000000000000000000000000080
+:1090F0000000000000000000000000000000000070
+:10910000000000000000000000000000000000005F
+:10911000000000000000000000000000000000004F
+:10912000000000000000000000000000000000003F
+:10913000000000000000000000000000000000002F
+:10914000000000000000000000000000000000001F
+:10915000000000000000000000000000000000000F
+:1091600000000000000000000000000000000000FF
+:1091700000000000000000000000000000000000EF
+:1091800000000000000000000000000000000000DF
+:1091900000000000000000000000000000000000CF
+:1091A00000000000000000000000000000000000BF
+:1091B000000000000000000202020202020202029D
+:1091C000020202020202000000000101010101018D
+:1091D0000101010101010100000000000000000088
+:1091E000000000000000000000000000000000007F
+:1091F000000000000000000000000000000000006F
+:10920000000000000000000000000000000000005E
+:10921000000000000000000000000000000000004E
+:10922000000000000000000000000000000000003E
+:10923000000000000000000000000000000000002E
+:10924000000000000000000000000000000000001E
+:10925000000000000000000000000000000000000E
+:1092600000000000000000000000000000000000FE
+:1092700000000000000000000000000000000000EE
+:1092800000000000000000000000000000000000DE
+:1092900000000000000000000000000000000000CE
+:1092A00000000000000000000000000000000000BE
+:1092B000000000000000000202020202020202029C
+:1092C000020202020202000000010101010101018B
+:1092D0000101010101010100000000000000000087
+:1092E000000000000000000000000000000000007E
+:1092F000000000000000000000000000000000006E
+:10930000000000000000000000000000000000005D
+:10931000000000000000000000000000000000004D
+:10932000000000000000000000000000000000003D
+:10933000000000000000000000000000000000002D
+:10934000000000000000000000000000000000001D
+:10935000000000000000000000000000000000000D
+:1093600000000000000000000000000000000000FD
+:1093700000000000000000000000000000000000ED
+:1093800000000000000000000000000000000000DD
+:1093900000000000000000000000000000000000CD
+:1093A00000000000000000000000000000000000BD
+:1093B000000000000000000202020202020202029B
+:1093C000020202020202000000010101010101018A
+:1093D0000101010101010100000000000000000086
+:1093E000000000000000000000000000000000007D
+:1093F000000000000000000000000000000000006D
+:10940000000000000000000000000000000000005C
+:10941000000000000000000000000000000000004C
+:10942000000000000000000000000000000000003C
+:10943000000000000000000000000000000000002C
+:10944000000000000000000000000000000000001C
+:10945000000000000000000000000000000000000C
+:1094600000000000000000000000000000000000FC
+:1094700000000000000000000000000000000000EC
+:1094800000000000000000000000000000000000DC
+:1094900000000000000000000000000000000000CC
+:1094A00000000000000000000000000000000000BC
+:1094B000000000000000000202020202020202029A
+:1094C0000202020202020000000101010101010189
+:1094D0000101010101010100000000000000000085
+:1094E000000000000000000000000000000000007C
+:1094F000000000000000000000000000000000006C
+:10950000000000000000000000000000000000005B
+:10951000000000000000000000000000000000004B
+:10952000000000000000000000000000000000003B
+:10953000000000000000000000000000000000002B
+:10954000000000000000000000000000000000001B
+:10955000000000000000000000000000000000000B
+:1095600000000000000000000000000000000000FB
+:1095700000000000000000000000000000000000EB
+:1095800000000000000000000000000000000000DB
+:1095900000000000000000000000000000000000CB
+:1095A00000000000000000000000000000000000BB
+:1095B0000000000000000002020202020202020299
+:1095C0000202020202020000010101010101010187
+:1095D0000101010101010100000000000000000084
+:1095E000000000000000000000000000000000007B
+:1095F000000000000000000000000000000000006B
+:10960000000000000000000000000000000000005A
+:10961000000000000000000000000000000000004A
+:10962000000000000000000000000000000000003A
+:10963000000000000000000000000000000000002A
+:10964000000000000000000000000000000000001A
+:10965000000000000000000000000000000000000A
+:1096600000000000000000000000000000000000FA
+:1096700000000000000000000000000000000000EA
+:1096800000000000000000000000000000000000DA
+:1096900000000000000000000000000000000000CA
+:1096A00000000000000000000000000000000000BA
+:1096B0000000000000000002020202020202020298
+:1096C0000202020202020000010101010101010186
+:1096D0000101010101010100000000000000000083
+:1096E000000000000000000000000000000000007A
+:1096F000000000000000000000000000000000006A
+:109700000000000000000000000000000000000059
+:109710000000000000000000000000000000000049
+:109720000000000000000000000000000000000039
+:109730000000000000000000000000000000000029
+:109740000000000000000000000000000000000019
+:109750000000000000000000000000000000000009
+:1097600000000000000000000000000000000000F9
+:1097700000000000000000000000000000000000E9
+:1097800000000000000000000000000000000000D9
+:1097900000000000000000000000000000000000C9
+:1097A00000000000000000000000000000000000B9
+:1097B0000000000000000002020202020202020297
+:1097C0000202020202020000010101010101010185
+:1097D0000101010101010100000000000000000082
+:1097E0000000000000000000000000000000000079
+:1097F0000000000000000000000000000000000069
+:109800000000000000000000000000000000000058
+:109810000000000000000000000000000000000048
+:109820000000000000000000000000000000000038
+:109830000000000000000000000000000000000028
+:109840000000000000000000000000000000000018
+:109850000000000000000000000000000000000008
+:1098600000000000000000000000000000000000F8
+:1098700000000000000000000000000000000000E8
+:1098800000000000000000000000000000000000D8
+:1098900000000000000000000000000000000000C8
+:1098A00000000000000000000000000000000000B8
+:1098B0000000000000000002020202020202020296
+:1098C000020202020202000000000000000000008C
+:1098D0000000000000000000000000000000000088
+:1098E0000000000000000000000000000000000078
+:1098F0000000000000000000000000000000000068
+:109900000000000000000000000000000000000057
+:109910000000000000000000000000000000000047
+:109920000000000000000000000000000000000037
+:109930000000000000000000000000000000000027
+:109940000000000000000000000000000000000017
+:109950000000000000000000000000000000000007
+:1099600000000000000000000000000000000000F7
+:1099700000000000000000000000000000000000E7
+:1099800000000000000000000000000000000000D7
+:1099900000000000000000000000000000000000C7
+:1099A00000000000000000000000000000000000B7
+:1099B00000000000000000000000000000000000A7
+:1099C0000000000000000026000000000000000071
+:1099D0000000000000000000000000000000010086
+:1099E0000000000000000000000000000000000077
+:1099F0000000000000000000000000000000000067
+:109A00000000000000000000000000000000000056
+:109A10000000000000000000000000000000000046
+:109A20000000000000000000000000000000000036
+:109A30000000000000000000000000000000000026
+:109A40000000000000000000000000000000000016
+:109A50000000000000000000000000000000000006
+:109A600000000000000000000000000000000000F6
+:109A700000000000000000000000000000000000E6
+:109A800000000000000000000000000000000000D6
+:109A900000000000000000000000000000000000C6
+:109AA00000000000000000000000000000000000B6
+:109AB00000000000000000000000000000000002A4
+:109AC0000000000000000000000000000000000096
+:109AD0000000000000000000000000000000010085
+:109AE0000000000000000000000000000000000076
+:109AF0000000000000000000000000000000000066
+:109B00000000000000000000000000000000000055
+:109B10000000000000000000000000000000000045
+:109B20000000000000000000000000000000000035
+:109B30000000000000000000000000000000000025
+:109B40000000000000000000000000000000000015
+:109B50000000000000000000000000000000000005
+:109B600000000000000000000000000000000000F5
+:109B700000000000000000000000000000000000E5
+:109B800000000000000000000000000000000000D5
+:109B900000000000000000000000000000000000C5
+:109BA00000000000000000000000000000000000B5
+:109BB00000000000000000000000000000000002A3
+:109BC0000000000000000000000000000000000095
+:109BD0000000000000000000000000000000010084
+:109BE0000000000000000000000000000000000075
+:109BF0000000000000000000000000000000000065
+:109C00000000000000000000000000000000000054
+:109C10000000000000000000000000000000000044
+:109C20000000000000000000000000000000000034
+:109C30000000000000000000000000000000000024
+:109C40000000000000000000000000000000000014
+:109C50000000000000000000000000000000000004
+:109C600000000000000000000000000000000000F4
+:109C700000000000000000000000000000000000E4
+:109C800000000000000000000000000000000000D4
+:109C900000000000000000000000000000000000C4
+:109CA00000000000000000000000000000000000B4
+:109CB00000000000000000000000000000000002A2
+:109CC0000000000000000000000000000000000094
+:109CD0000000000000000000000000000000010083
+:109CE0000000000000000000000000000000000074
+:109CF0000000000000000000000000000000000064
+:109D00000000000000000000000000000000000053
+:109D10000000000000000000000000000000000043
+:109D20000000000000000000000000000000000033
+:109D30000000000000000000000000000000000023
+:109D40000000000000000000000000000000000013
+:109D50000000000000000000000000000000000003
+:109D600000000000000000000000000000000000F3
+:109D700000000000000000000000000000000000E3
+:109D800000000000000000000000000000000000D3
+:109D900000000000000000000000000000000000C3
+:109DA00000000000000000000000000000000000B3
+:109DB00000000000000000000000000000000002A1
+:109DC0000200000000000000000000000000000091
+:109DD0000000000000000000000000000000010082
+:109DE0000000000000000000000000000000000073
+:109DF0000000000000000000000000000000000063
+:109E00000000000000000000000000000000000052
+:109E10000000000000000000000000000000000042
+:109E20000000000000000000000000000000000032
+:109E30000000000000000000000000000000000022
+:109E40000000000000000000000000000000000012
+:109E50000000000000000000000000000000000002
+:109E600000000000000000000000000000000000F2
+:109E700000000000000000000000000000000000E2
+:109E800000000000000000000000000000000000D2
+:109E900000000000000000000000000000000000C2
+:109EA00000000000000000000000000000000000B2
+:109EB00000000000000000000000000000000002A0
+:109EC0000200000000000000000000000000000090
+:109ED0000000000000000000000000000000010081
+:109EE0000000000000000000000000000000000072
+:109EF0000000000000000000000000000000000062
+:109F00000000000000000000000000000000000051
+:109F10000000000000000000000000000000000041
+:109F20000000000000000000000000000000000031
+:109F30000000000000000000000000000000000021
+:109F40000000000000000000000000000000000011
+:109F50000000000000000000000000000000000001
+:109F600000000000000000000000000000000000F1
+:109F700000000000000000000000000000000000E1
+:109F800000000000000000000000000000000000D1
+:109F900000000000000000000000000000000000C1
+:109FA00000000000000000000000000000000000B1
+:109FB000000000000000000000000000000000029F
+:109FC000020000000000000000000000000000008F
+:109FD0000000000000000000000000000000010080
+:109FE0000000000000000000000000000000000071
+:109FF0000000000000000000000000000000000061
+:10A000000000000000000000000000000000000050
+:10A010000000000000000000000000000000000040
+:10A020000000000000000000000000000000000030
+:10A030000000000000000000000000000000000020
+:10A040000000000000000000000000000000000010
+:10A050000000000000000000000000000000000000
+:10A0600000000000000000000000000000000000F0
+:10A0700000000000000000000000000000000000E0
+:10A0800000000000000000000000000000000000D0
+:10A0900000000000000000000000000000000000C0
+:10A0A00000000000000000000000000000000000B0
+:10A0B000000000000000000000000000000000029E
+:10A0C000020200000000000000000000000000008C
+:10A0D000000000000000000000000000000001007F
+:10A0E0000000000000000000000000000000000070
+:10A0F0000000000000000000000000000000000060
+:10A10000000000000000000000000000000000004F
+:10A11000000000000000000000000000000000003F
+:10A12000000000000000000000000000000000002F
+:10A13000000000000000000000000000000000001F
+:10A14000000000000000000000000000000000000F
+:10A1500000000000000000000000000000000000FF
+:10A1600000000000000000000000000000000000EF
+:10A1700000000000000000000000000000000000DF
+:10A1800000000000000000000000000000000000CF
+:10A1900000000000000000000000000000000000BF
+:10A1A00000000000000000000000000000000000AF
+:10A1B000000000000000000000000000000000029D
+:10A1C0000202020000000000000000000000000089
+:10A1D000000000000000000000000000000101007D
+:10A1E000000000000000000000000000000000006F
+:10A1F000000000000000000000000000000000005F
+:10A20000000000000000000000000000000000004E
+:10A21000000000000000000000000000000000003E
+:10A22000000000000000000000000000000000002E
+:10A23000000000000000000000000000000000001E
+:10A24000000000000000000000000000000000000E
+:10A2500000000000000000000000000000000000FE
+:10A2600000000000000000000000000000000000EE
+:10A2700000000000000000000000000000000000DE
+:10A2800000000000000000000000000000000000CE
+:10A2900000000000000000000000000000000000BE
+:10A2A00000000000000000000000000000000000AE
+:10A2B000000000000000000000000000000000029C
+:10A2C0000202020000000000000000000000000088
+:10A2D000000000000000000000000000000101007C
+:10A2E000000000000000000000000000000000006E
+:10A2F000000000000000000000000000000000005E
+:10A30000000000000000000000000000000000004D
+:10A31000000000000000000000000000000000003D
+:10A32000000000000000000000000000000000002D
+:10A33000000000000000000000000000000000001D
+:10A34000000000000000000000000000000000000D
+:10A3500000000000000000000000000000000000FD
+:10A3600000000000000000000000000000000000ED
+:10A3700000000000000000000000000000000000DD
+:10A3800000000000000000000000000000000000CD
+:10A3900000000000000000000000000000000000BD
+:10A3A00000000000000000000000000000000000AD
+:10A3B000000000000000000000000000000000029B
+:10A3C0000202020000000000000000000000000087
+:10A3D000000000000000000000000000000101007B
+:10A3E000000000000000000000000000000000006D
+:10A3F000000000000000000000000000000000005D
+:10A40000000000000000000000000000000000004C
+:10A41000000000000000000000000000000000003C
+:10A42000000000000000000000000000000000002C
+:10A43000000000000000000000000000000000001C
+:10A44000000000000000000000000000000000000C
+:10A4500000000000000000000000000000000000FC
+:10A4600000000000000000000000000000000000EC
+:10A4700000000000000000000000000000000000DC
+:10A4800000000000000000000000000000000000CC
+:10A4900000000000000000000000000000000000BC
+:10A4A00000000000000000000000000000000000AC
+:10A4B000000000000000000000000000000000029A
+:10A4C0000202020202000000000000000000000082
+:10A4D000000000000000000000000000000101007A
+:10A4E000000000000000000000000000000000006C
+:10A4F000000000000000000000000000000000005C
+:10A50000000000000000000000000000000000004B
+:10A51000000000000000000000000000000000003B
+:10A52000000000000000000000000000000000002B
+:10A53000000000000000000000000000000000001B
+:10A54000000000000000000000000000000000000B
+:10A5500000000000000000000000000000000000FB
+:10A5600000000000000000000000000000000000EB
+:10A5700000000000000000000000000000000000DB
+:10A5800000000000000000000000000000000000CB
+:10A5900000000000000000000000000000000000BB
+:10A5A00000000000000000000000000000000000AB
+:10A5B0000000000000000000000000000000000299
+:10A5C0000202020202000000000000000000000081
+:10A5D0000000000000000000000000000101010078
+:10A5E000000000000000000000000000000000006B
+:10A5F000000000000000000000000000000000005B
+:10A60000000000000000000000000000000000004A
+:10A61000000000000000000000000000000000003A
+:10A62000000000000000000000000000000000002A
+:10A63000000000000000000000000000000000001A
+:10A64000000000000000000000000000000000000A
+:10A6500000000000000000000000000000000000FA
+:10A6600000000000000000000000000000000000EA
+:10A6700000000000000000000000000000000000DA
+:10A6800000000000000000000000000000000000CA
+:10A6900000000000000000000000000000000000BA
+:10A6A00000000000000000000000000000000000AA
+:10A6B0000000000000000000000000000000000298
+:10A6C000020202020202000000000000000000007E
+:10A6D0000000000000000000000000000101010077
+:10A6E000000000000000000000000000000000006A
+:10A6F000000000000000000000000000000000005A
+:10A700000000000000000000000000000000000049
+:10A710000000000000000000000000000000000039
+:10A720000000000000000000000000000000000029
+:10A730000000000000000000000000000000000019
+:10A740000000000000000000000000000000000009
+:10A7500000000000000000000000000000000000F9
+:10A7600000000000000000000000000000000000E9
+:10A7700000000000000000000000000000000000D9
+:10A7800000000000000000000000000000000000C9
+:10A7900000000000000000000000000000000000B9
+:10A7A00000000000000000000000000000000000A9
+:10A7B0000000000000000000000000000000000297
+:10A7C000020202020202000000000000000000007D
+:10A7D0000000000000000000000000000101010076
+:10A7E0000000000000000000000000000000000069
+:10A7F0000000000000000000000000000000000059
+:10A800000000000000000000000000000000000048
+:10A810000000000000000000000000000000000038
+:10A820000000000000000000000000000000000028
+:10A830000000000000000000000000000000000018
+:10A840000000000000000000000000000000000008
+:10A8500000000000000000000000000000000000F8
+:10A8600000000000000000000000000000000000E8
+:10A8700000000000000000000000000000000000D8
+:10A8800000000000000000000000000000000000C8
+:10A8900000000000000000000000000000000000B8
+:10A8A00000000000000000000000000000000000A8
+:10A8B0000000000000000000000000000000000296
+:10A8C000020202020202000000000000000000007C
+:10A8D0000000000000000000000000000101010075
+:10A8E0000000000000000000000000000000000068
+:10A8F0000000000000000000000000000000000058
+:10A900000000000000000000000000000000000047
+:10A910000000000000000000000000000000000037
+:10A920000000000000000000000000000000000027
+:10A930000000000000000000000000000000000017
+:10A940000000000000000000000000000000000007
+:10A9500000000000000000000000000000000000F7
+:10A9600000000000000000000000000000000000E7
+:10A9700000000000000000000000000000000000D7
+:10A9800000000000000000000000000000000000C7
+:10A9900000000000000000000000000000000000B7
+:10A9A00000000000000000000000000000000000A7
+:10A9B0000000000000000000000000000000000295
+:10A9C0000202020202020202000000000000000077
+:10A9D0000000000000000000000000010101010073
+:10A9E0000000000000000000000000000000000067
+:10A9F0000000000000000000000000000000000057
+:10AA00000000000000000000000000000000000046
+:10AA10000000000000000000000000000000000036
+:10AA20000000000000000000000000000000000026
+:10AA30000000000000000000000000000000000016
+:10AA40000000000000000000000000000000000006
+:10AA500000000000000000000000000000000000F6
+:10AA600000000000000000000000000000000000E6
+:10AA700000000000000000000000000000000000D6
+:10AA800000000000000000000000000000000000C6
+:10AA900000000000000000000000000000000000B6
+:10AAA00000000000000000000000000000000000A6
+:10AAB0000000000000000000000000000000000294
+:10AAC0000202020202020202020000000000000074
+:10AAD0000000000000000000000000010101010072
+:10AAE0000000000000000000000000000000000066
+:10AAF0000000000000000000000000000000000056
+:10AB00000000000000000000000000000000000045
+:10AB10000000000000000000000000000000000035
+:10AB20000000000000000000000000000000000025
+:10AB30000000000000000000000000000000000015
+:10AB40000000000000000000000000000000000005
+:10AB500000000000000000000000000000000000F5
+:10AB600000000000000000000000000000000000E5
+:10AB700000000000000000000000000000000000D5
+:10AB800000000000000000000000000000000000C5
+:10AB900000000000000000000000000000000000B5
+:10ABA00000000000000000000000000000000000A5
+:10ABB0000000000000000000000000000000000293
+:10ABC0000202020202020202020000000000000073
+:10ABD0000000000000000000000001010101010070
+:10ABE0000000000000000000000000000000000065
+:10ABF0000000000000000000000000000000000055
+:10AC00000000000000000000000000000000000044
+:10AC10000000000000000000000000000000000034
+:10AC20000000000000000000000000000000000024
+:10AC30000000000000000000000000000000000014
+:10AC40000000000000000000000000000000000004
+:10AC500000000000000000000000000000000000F4
+:10AC600000000000000000000000000000000000E4
+:10AC700000000000000000000000000000000000D4
+:10AC800000000000000000000000000000000000C4
+:10AC900000000000000000000000000000000000B4
+:10ACA00000000000000000000000000000000000A4
+:10ACB0000000000000000000000000000000000292
+:10ACC0000202020202020202020200000000000070
+:10ACD000000000000000000000010101010101006E
+:10ACE0000000000000000000000000000000000064
+:10ACF0000000000000000000000000000000000054
+:10AD00000000000000000000000000000000000043
+:10AD10000000000000000000000000000000000033
+:10AD20000000000000000000000000000000000023
+:10AD30000000000000000000000000000000000013
+:10AD40000000000000000000000000000000000003
+:10AD500000000000000000000000000000000000F3
+:10AD600000000000000000000000000000000000E3
+:10AD700000000000000000000000000000000000D3
+:10AD800000000000000000000000000000000000C3
+:10AD900000000000000000000000000000000000B3
+:10ADA00000000000000000000000000000000000A3
+:10ADB0000000000000000000000000000000000291
+:10ADC000020202020202020202020200000000006D
+:10ADD000000000000000000000010101010101006D
+:10ADE0000000000000000000000000000000000063
+:10ADF0000000000000000000000000000000000053
+:10AE00000000000000000000000000000000000042
+:10AE10000000000000000000000000000000000032
+:10AE20000000000000000000000000000000000022
+:10AE30000000000000000000000000000000000012
+:10AE40000000000000000000000000000000000002
+:10AE500000000000000000000000000000000000F2
+:10AE600000000000000000000000000000000000E2
+:10AE700000000000000000000000000000000000D2
+:10AE800000000000000000000000000000000000C2
+:10AE900000000000000000000000000000000000B2
+:10AEA00000000000000000000000000000000000A2
+:10AEB0000000000000000000000000000000000290
+:10AEC000020202020202020202020200000000006C
+:10AED000000000000000000001010101010101006B
+:10AEE0000000000000000000000000000000000062
+:10AEF0000000000000000000000000000000000052
+:10AF00000000000000000000000000000000000041
+:10AF10000000000000000000000000000000000031
+:10AF20000000000000000000000000000000000021
+:10AF30000000000000000000000000000000000011
+:10AF40000000000000000000000000000000000001
+:10AF500000000000000000000000000000000000F1
+:10AF600000000000000000000000000000000000E1
+:10AF700000000000000000000000000000000000D1
+:10AF800000000000000000000000000000000000C1
+:10AF900000000000000000000000000000000000B1
+:10AFA00000000000000000000000000000000000A1
+:10AFB000000000000000000000000000000000028F
+:10AFC0000202020202020202020202020000000069
+:10AFD0000000000000000101010101010101010068
+:10AFE0000000000000000000000000000000000061
+:10AFF0000000000000000000000000000000000051
+:10B000000000000000000000000000000000000040
+:10B010000000000000000000000000000000000030
+:10B020000000000000000000000000000000000020
+:10B030000000000000000000000000000000000010
+:10B040000000000000000000000000000000000000
+:10B0500000000000000000000000000000000000F0
+:10B0600000000000000000000000000000000000E0
+:10B0700000000000000000000000000000000000D0
+:10B0800000000000000000000000000000000000C0
+:10B0900000000000000000000000000000000000B0
+:10B0A00000000000000000000000000000000000A0
+:10B0B000000000000000000000000000000000028E
+:10B0C0000202020202020202020202020000000068
+:10B0D0000000000000000101010101010101010067
+:10B0E0000000000000000000000000000000000060
+:10B0F0000000000000000000000000000000000050
+:10B10000000000000000000000000000000000003F
+:10B11000000000000000000000000000000000002F
+:10B12000000000000000000000000000000000001F
+:10B13000000000000000000000000000000000000F
+:10B1400000000000000000000000000000000000FF
+:10B1500000000000000000000000000000000000EF
+:10B1600000000000000000000000000000000000DF
+:10B1700000000000000000000000000000000000CF
+:10B1800000000000000000000000000000000000BF
+:10B1900000000000000000000000000000000000AF
+:10B1A000000000000000000000000000000000009F
+:10B1B000000000000000000000000000000000028D
+:10B1C0000202020202020202020202020000000067
+:10B1D0000000000000000101010101010101010066
+:10B1E000000000000000000000000000000000005F
+:10B1F000000000000000000000000000000000004F
+:10B20000000000000000000000000000000000003E
+:10B21000000000000000000000000000000000002E
+:10B22000000000000000000000000000000000001E
+:10B23000000000000000000000000000000000000E
+:10B2400000000000000000000000000000000000FE
+:10B2500000000000000000000000000000000000EE
+:10B2600000000000000000000000000000000000DE
+:10B2700000000000000000000000000000000000CE
+:10B2800000000000000000000000000000000000BE
+:10B2900000000000000000000000000000000000AE
+:10B2A000000000000000000000000000000000009E
+:10B2B000000000000000000000000000000000028C
+:10B2C0000202020202020202020202020000000066
+:10B2D0000000000000010101010101010101010064
+:10B2E000000000000000000000000000000000005E
+:10B2F000000000000000000000000000000000004E
+:10B30000000000000000000000000000000000003D
+:10B31000000000000000000000000000000000002D
+:10B32000000000000000000000000000000000001D
+:10B33000000000000000000000000000000000000D
+:10B3400000000000000000000000000000000000FD
+:10B3500000000000000000000000000000000000ED
+:10B3600000000000000000000000000000000000DD
+:10B3700000000000000000000000000000000000CD
+:10B3800000000000000000000000000000000000BD
+:10B3900000000000000000000000000000000000AD
+:10B3A000000000000000000000000000000000009D
+:10B3B000000000000000000000000000000000028B
+:10B3C0000202020202020202020202020200000063
+:10B3D0000000000000010101010101010101010063
+:10B3E000000000000000000000000000000000005D
+:10B3F000000000000000000000000000000000004D
+:10B40000000000000000000000000000000000003C
+:10B41000000000000000000000000000000000002C
+:10B42000000000000000000000000000000000001C
+:10B43000000000000000000000000000000000000C
+:10B4400000000000000000000000000000000000FC
+:10B4500000000000000000000000000000000000EC
+:10B4600000000000000000000000000000000000DC
+:10B4700000000000000000000000000000000000CC
+:10B4800000000000000000000000000000000000BC
+:10B4900000000000000000000000000000000000AC
+:10B4A000000000000000000000000000000000009C
+:10B4B000000000000000000000000000000000028A
+:10B4C0000202020202020202020202020200000062
+:10B4D0000000000101010101010101010101010060
+:10B4E000000000000000000000000000000000005C
+:10B4F000000000000000000000000000000000004C
+:10B50000000000000000000000000000000000003B
+:10B51000000000000000000000000000000000002B
+:10B52000000000000000000000000000000000001B
+:10B53000000000000000000000000000000000000B
+:10B5400000000000000000000000000000000000FB
+:10B5500000000000000000000000000000000000EB
+:10B5600000000000000000000000000000000000DB
+:10B5700000000000000000000000000000000000CB
+:10B5800000000000000000000000000000000000BB
+:10B5900000000000000000000000000000000000AB
+:10B5A000000000000000000000000000000000009B
+:10B5B0000000000000000000000000000000000289
+:10B5C0000202020202020202020202020200000061
+:10B5D000000000010101010101010101010101005F
+:10B5E000000000000000000000000000000000005B
+:10B5F000000000000000000000000000000000004B
+:10B60000000000000000000000000000000000003A
+:10B61000000000000000000000000000000000002A
+:10B62000000000000000000000000000000000001A
+:10B63000000000000000000000000000000000000A
+:10B6400000000000000000000000000000000000FA
+:10B6500000000000000000000000000000000000EA
+:10B6600000000000000000000000000000000000DA
+:10B6700000000000000000000000000000000000CA
+:10B6800000000000000000000000000000000000BA
+:10B6900000000000000000000000000000000000AA
+:10B6A000000000000000000000000000000000009A
+:10B6B0000000000000000000000000000000000288
+:10B6C0000202020202020202020202020200000060
+:10B6D000000000010101010101010101010101005E
+:10B6E000000000000000000000000000000000005A
+:10B6F000000000000000000000000000000000004A
+:10B700000000000000000000000000000000000039
+:10B710000000000000000000000000000000000029
+:10B720000000000000000000000000000000000019
+:10B730000000000000000000000000000000000009
+:10B7400000000000000000000000000000000000F9
+:10B7500000000000000000000000000000000000E9
+:10B7600000000000000000000000000000000000D9
+:10B7700000000000000000000000000000000000C9
+:10B7800000000000000000000000000000000000B9
+:10B7900000000000000000000000000000000000A9
+:10B7A0000000000000000000000000000000000099
+:10B7B0000000000000000000000000000000000287
+:10B7C000020202020202020202020202020200005D
+:10B7D000000001010101010101010101010101005C
+:10B7E0000000000000000000000000000000000059
+:10B7F0000000000000000000000000000000000049
+:10B800000000000000000000000000000000000038
+:10B810000000000000000000000000000000000028
+:10B820000000000000000000000000000000000018
+:10B830000000000000000000000000000000000008
+:10B8400000000000000000000000000000000000F8
+:10B8500000000000000000000000000000000000E8
+:10B8600000000000000000000000000000000000D8
+:10B8700000000000000000000000000000000000C8
+:10B8800000000000000000000000000000000000B8
+:10B8900000000000000000000000000000000000A8
+:10B8A0000000000000000000000000000000000098
+:10B8B0000000000000000000000000000000000286
+:10B8C000020202020202020202020202020200005C
+:10B8D000000101010101010101010101010101005A
+:10B8E0000000000000000000000000000000000058
+:10B8F0000000000000000000000000000000000048
+:10B900000000000000000000000000000000000037
+:10B910000000000000000000000000000000000027
+:10B920000000000000000000000000000000000017
+:10B930000000000000000000000000000000000007
+:10B9400000000000000000000000000000000000F7
+:10B9500000000000000000000000000000000000E7
+:10B9600000000000000000000000000000000000D7
+:10B9700000000000000000000000000000000000C7
+:10B9800000000000000000000000000000000000B7
+:10B9900000000000000000000000000000000000A7
+:10B9A0000000000000000000000000000000000097
+:10B9B0000000000000000000000000000000000285
+:10B9C000020202020202020202020202020200005B
+:10B9D0000001010101010101010101010101010059
+:10B9E0000000000000000000000000000000000057
+:10B9F0000000000000000000000000000000000047
+:10BA00000000000000000000000000000000000036
+:10BA10000000000000000000000000000000000026
+:10BA20000000000000000000000000000000000016
+:10BA30000000000000000000000000000000000006
+:10BA400000000000000000000000000000000000F6
+:10BA500000000000000000000000000000000000E6
+:10BA600000000000000000000000000000000000D6
+:10BA700000000000000000000000000000000000C6
+:10BA800000000000000000000000000000000000B6
+:10BA900000000000000000000000000000000000A6
+:10BAA0000000000000000000000000000000000096
+:10BAB0000000000000000000000000000000000284
+:10BAC000020202020202020202020202020200005A
+:10BAD0000001010101010101010101010101010058
+:10BAE0000000000000000000000000000000000056
+:10BAF0000000000000000000000000000000000046
+:10BB00000000000000000000000000000000000035
+:10BB10000000000000000000000000000000000025
+:10BB20000000000000000000000000000000000015
+:10BB30000000000000000000000000000000000005
+:10BB400000000000000000000000000000000000F5
+:10BB500000000000000000000000000000000000E5
+:10BB600000000000000000000000000000000000D5
+:10BB700000000000000000000000000000000000C5
+:10BB800000000000000000000000000000000000B5
+:10BB900000000000000000000000000000000000A5
+:10BBA0000000000000000000000000000000000095
+:10BBB0000000000000000000000000000000000283
+:10BBC0000202020202020202020202020202000059
+:10BBD0000101010101010101010101010101010056
+:10BBE0000000000000000000000000000000000055
+:10BBF0000000000000000000000000000000000045
+:10BC00000000000000000000000000000000000034
+:10BC10000000000000000000000000000000000024
+:10BC20000000000000000000000000000000000014
+:10BC30000000000000000000000000000000000004
+:10BC400000000000000000000000000000000000F4
+:10BC500000000000000000000000000000000000E4
+:10BC600000000000000000000000000000000000D4
+:10BC700000000000000000000000000000000000C4
+:10BC800000000000000000000000000000000000B4
+:10BC900000000000000000000000000000000000A4
+:10BCA0000000000000000000000000000000000094
+:10BCB0000000000000000000000000000000000282
+:10BCC0000202020202020202020202020202000058
+:10BCD0000101010101010101010101010101010055
+:10BCE0000000000000000000000000000000000054
+:10BCF0000000000000000000000000000000000044
+:10BD00000000000000000000000000000000000033
+:10BD10000000000000000000000000000000000023
+:10BD20000000000000000000000000000000000013
+:10BD30000000000000000000000000000000000003
+:10BD400000000000000000000000000000000000F3
+:10BD500000000000000000000000000000000000E3
+:10BD600000000000000000000000000000000000D3
+:10BD700000000000000000000000000000000000C3
+:10BD800000000000000000000000000000000000B3
+:10BD900000000000000000000000000000000000A3
+:10BDA0000000000000000000000000000000000093
+:10BDB0000000000000000000000000000000000281
+:10BDC0000202020202020202020202020202000057
+:10BDD0000101010101010101010101010101010054
+:10BDE0000000000000000000000000000000000053
+:10BDF0000000000000000000000000000000000043
+:10BE00000000000000000000000000000000000032
+:10BE10000000000000000000000000000000000022
+:10BE20000000000000000000000000000000000012
+:10BE30000000000000000000000000000000000002
+:10BE400000000000000000000000000000000000F2
+:10BE500000000000000000000000000000000000E2
+:10BE600000000000000000000000000000000000D2
+:10BE700000000000000000000000000000000000C2
+:10BE800000000000000000000000000000000000B2
+:10BE900000000000000000000000000000000000A2
+:10BEA0000000000000000000000000000000000092
+:10BEB0000000000000000000000000000000000280
+:10BEC0000202020202020202020202020202000056
+:10BED0000000000000000000000000000000000062
+:10BEE0000000000000000000000000000000000052
+:10BEF0000000000000000000000000000000000042
+:10BF00000000000000000000000000000000000031
+:10BF10000000000000000000000000000000000021
+:10BF20000000000000000000000000000000000011
+:10BF30000000000000000000000000000000000001
+:10BF400000000000000000000000000000000000F1
+:10BF500000000000000000000000000000000000E1
+:10BF600000000000000000000000000000000000D1
+:10BF700000000000000000000000000000000000C1
+:10BF800000000000000000000000000000000000B1
+:10BF900000000000000000000000000000000000A1
+:10BFA0000000000000000000000000000000000091
+:10BFB0000000000000000000000000000000000081
+:10BFC000000000000000000000000000000000264B
+:10BFD0000000000000000000000000000000000061
+:10BFE0000000000000000100000000000000000050
+:10BFF0000000000000000000000000000000000041
+:10C000000000000000000000000000000000000030
+:10C010000000000000000000000000000000000020
+:10C020000000000000000000000000000000000010
+:10C030000000000000000000000000000000000000
+:10C0400000000000000000000000000000000000F0
+:10C0500000000000000000000000000000000000E0
+:10C0600000000000000000000000000000000000D0
+:10C0700000000000000000000000000000000000C0
+:10C0800000000000000000000000000000000000B0
+:10C0900000000000000000000000000000000000A0
+:10C0A0000000000000000000000000000000000090
+:10C0B0000000000000000000000000000000000080
+:10C0C000000000000000000200000000000000006E
+:10C0D0000000000000000000000000000000000060
+:10C0E000000000000000010000000000000000004F
+:10C0F0000000000000000000000000000000000040
+:10C10000000000000000000000000000000000002F
+:10C11000000000000000000000000000000000001F
+:10C12000000000000000000000000000000000000F
+:10C1300000000000000000000000000000000000FF
+:10C1400000000000000000000000000000000000EF
+:10C1500000000000000000000000000000000000DF
+:10C1600000000000000000000000000000000000CF
+:10C1700000000000000000000000000000000000BF
+:10C1800000000000000000000000000000000000AF
+:10C19000000000000000000000000000000000009F
+:10C1A000000000000000000000000000000000008F
+:10C1B000000000000000000000000000000000007F
+:10C1C000000000000000000200000000000000006D
+:10C1D000000000000000000000000000000000005F
+:10C1E000000000000000010000000000000000004E
+:10C1F000000000000000000000000000000000003F
+:10C20000000000000000000000000000000000002E
+:10C21000000000000000000000000000000000001E
+:10C22000000000000000000000000000000000000E
+:10C2300000000000000000000000000000000000FE
+:10C2400000000000000000000000000000000000EE
+:10C2500000000000000000000000000000000000DE
+:10C2600000000000000000000000000000000000CE
+:10C2700000000000000000000000000000000000BE
+:10C2800000000000000000000000000000000000AE
+:10C29000000000000000000000000000000000009E
+:10C2A000000000000000000000000000000000008E
+:10C2B000000000000000000000000000000000007E
+:10C2C000000000000000000200000000000000006C
+:10C2D000000000000000000000000000000000005E
+:10C2E000000000000000010000000000000000004D
+:10C2F000000000000000000000000000000000003E
+:10C30000000000000000000000000000000000002D
+:10C31000000000000000000000000000000000001D
+:10C32000000000000000000000000000000000000D
+:10C3300000000000000000000000000000000000FD
+:10C3400000000000000000000000000000000000ED
+:10C3500000000000000000000000000000000000DD
+:10C3600000000000000000000000000000000000CD
+:10C3700000000000000000000000000000000000BD
+:10C3800000000000000000000000000000000000AD
+:10C39000000000000000000000000000000000009D
+:10C3A000000000000000000000000000000000008D
+:10C3B000000000000000000000000000000000007D
+:10C3C0000000000000000002020000000000000069
+:10C3D000000000000000000000000000000000005D
+:10C3E000000000000000010000000000000000004C
+:10C3F000000000000000000000000000000000003D
+:10C40000000000000000000000000000000000002C
+:10C41000000000000000000000000000000000001C
+:10C42000000000000000000000000000000000000C
+:10C4300000000000000000000000000000000000FC
+:10C4400000000000000000000000000000000000EC
+:10C4500000000000000000000000000000000000DC
+:10C4600000000000000000000000000000000000CC
+:10C4700000000000000000000000000000000000BC
+:10C4800000000000000000000000000000000000AC
+:10C49000000000000000000000000000000000009C
+:10C4A000000000000000000000000000000000008C
+:10C4B000000000000000000000000000000000007C
+:10C4C0000000000000000002020000000000000068
+:10C4D000000000000000000000000000000000005C
+:10C4E000000000000000010000000000000000004B
+:10C4F000000000000000000000000000000000003C
+:10C50000000000000000000000000000000000002B
+:10C51000000000000000000000000000000000001B
+:10C52000000000000000000000000000000000000B
+:10C5300000000000000000000000000000000000FB
+:10C5400000000000000000000000000000000000EB
+:10C5500000000000000000000000000000000000DB
+:10C5600000000000000000000000000000000000CB
+:10C5700000000000000000000000000000000000BB
+:10C5800000000000000000000000000000000000AB
+:10C59000000000000000000000000000000000009B
+:10C5A000000000000000000000000000000000008B
+:10C5B000000000000000000000000000000000007B
+:10C5C0000000000000000002020000000000000067
+:10C5D000000000000000000000000000000000005B
+:10C5E000000000000000010000000000000000004A
+:10C5F000000000000000000000000000000000003B
+:10C60000000000000000000000000000000000002A
+:10C61000000000000000000000000000000000001A
+:10C62000000000000000000000000000000000000A
+:10C6300000000000000000000000000000000000FA
+:10C6400000000000000000000000000000000000EA
+:10C6500000000000000000000000000000000000DA
+:10C6600000000000000000000000000000000000CA
+:10C6700000000000000000000000000000000000BA
+:10C6800000000000000000000000000000000000AA
+:10C69000000000000000000000000000000000009A
+:10C6A000000000000000000000000000000000008A
+:10C6B000000000000000000000000000000000007A
+:10C6C0000000000000000002020200000000000064
+:10C6D000000000000000000000000000000000005A
+:10C6E0000000000000010100000000000000000048
+:10C6F000000000000000000000000000000000003A
+:10C700000000000000000000000000000000000029
+:10C710000000000000000000000000000000000019
+:10C720000000000000000000000000000000000009
+:10C7300000000000000000000000000000000000F9
+:10C7400000000000000000000000000000000000E9
+:10C7500000000000000000000000000000000000D9
+:10C7600000000000000000000000000000000000C9
+:10C7700000000000000000000000000000000000B9
+:10C7800000000000000000000000000000000000A9
+:10C790000000000000000000000000000000000099
+:10C7A0000000000000000000000000000000000089
+:10C7B0000000000000000000000000000000000079
+:10C7C0000000000000000002020202000000000061
+:10C7D0000000000000000000000000000000000059
+:10C7E0000000000000010100000000000000000047
+:10C7F0000000000000000000000000000000000039
+:10C800000000000000000000000000000000000028
+:10C810000000000000000000000000000000000018
+:10C820000000000000000000000000000000000008
+:10C8300000000000000000000000000000000000F8
+:10C8400000000000000000000000000000000000E8
+:10C8500000000000000000000000000000000000D8
+:10C8600000000000000000000000000000000000C8
+:10C8700000000000000000000000000000000000B8
+:10C8800000000000000000000000000000000000A8
+:10C890000000000000000000000000000000000098
+:10C8A0000000000000000000000000000000000088
+:10C8B0000000000000000000000000000000000078
+:10C8C0000000000000000002020202000000000060
+:10C8D0000000000000000000000000000000000058
+:10C8E0000000000000010100000000000000000046
+:10C8F0000000000000000000000000000000000038
+:10C900000000000000000000000000000000000027
+:10C910000000000000000000000000000000000017
+:10C920000000000000000000000000000000000007
+:10C9300000000000000000000000000000000000F7
+:10C9400000000000000000000000000000000000E7
+:10C9500000000000000000000000000000000000D7
+:10C9600000000000000000000000000000000000C7
+:10C9700000000000000000000000000000000000B7
+:10C9800000000000000000000000000000000000A7
+:10C990000000000000000000000000000000000097
+:10C9A0000000000000000000000000000000000087
+:10C9B0000000000000000000000000000000000077
+:10C9C000000000000000000202020200000000005F
+:10C9D0000000000000000000000000000000000057
+:10C9E0000000000000010100000000000000000045
+:10C9F0000000000000000000000000000000000037
+:10CA00000000000000000000000000000000000026
+:10CA10000000000000000000000000000000000016
+:10CA20000000000000000000000000000000000006
+:10CA300000000000000000000000000000000000F6
+:10CA400000000000000000000000000000000000E6
+:10CA500000000000000000000000000000000000D6
+:10CA600000000000000000000000000000000000C6
+:10CA700000000000000000000000000000000000B6
+:10CA800000000000000000000000000000000000A6
+:10CA90000000000000000000000000000000000096
+:10CAA0000000000000000000000000000000000086
+:10CAB0000000000000000000000000000000000076
+:10CAC000000000000000000202020202020000005A
+:10CAD0000000000000000000000000000000000056
+:10CAE0000000000000010100000000000000000044
+:10CAF0000000000000000000000000000000000036
+:10CB00000000000000000000000000000000000025
+:10CB10000000000000000000000000000000000015
+:10CB20000000000000000000000000000000000005
+:10CB300000000000000000000000000000000000F5
+:10CB400000000000000000000000000000000000E5
+:10CB500000000000000000000000000000000000D5
+:10CB600000000000000000000000000000000000C5
+:10CB700000000000000000000000000000000000B5
+:10CB800000000000000000000000000000000000A5
+:10CB90000000000000000000000000000000000095
+:10CBA0000000000000000000000000000000000085
+:10CBB0000000000000000000000000000000000075
+:10CBC0000000000000000002020202020202000057
+:10CBD0000000000000000000000000000000000055
+:10CBE0000000000001010100000000000000000042
+:10CBF0000000000000000000000000000000000035
+:10CC00000000000000000000000000000000000024
+:10CC10000000000000000000000000000000000014
+:10CC20000000000000000000000000000000000004
+:10CC300000000000000000000000000000000000F4
+:10CC400000000000000000000000000000000000E4
+:10CC500000000000000000000000000000000000D4
+:10CC600000000000000000000000000000000000C4
+:10CC700000000000000000000000000000000000B4
+:10CC800000000000000000000000000000000000A4
+:10CC90000000000000000000000000000000000094
+:10CCA0000000000000000000000000000000000084
+:10CCB0000000000000000000000000000000000074
+:10CCC0000000000000000002020202020202020054
+:10CCD0000000000000000000000000000000000054
+:10CCE0000000000001010100000000000000000041
+:10CCF0000000000000000000000000000000000034
+:10CD00000000000000000000000000000000000023
+:10CD10000000000000000000000000000000000013
+:10CD20000000000000000000000000000000000003
+:10CD300000000000000000000000000000000000F3
+:10CD400000000000000000000000000000000000E3
+:10CD500000000000000000000000000000000000D3
+:10CD600000000000000000000000000000000000C3
+:10CD700000000000000000000000000000000000B3
+:10CD800000000000000000000000000000000000A3
+:10CD90000000000000000000000000000000000093
+:10CDA0000000000000000000000000000000000083
+:10CDB0000000000000000000000000000000000073
+:10CDC0000000000000000002020202020202020053
+:10CDD0000000000000000000000000000000000053
+:10CDE0000000000001010100000000000000000040
+:10CDF0000000000000000000000000000000000033
+:10CE00000000000000000000000000000000000022
+:10CE10000000000000000000000000000000000012
+:10CE20000000000000000000000000000000000002
+:10CE300000000000000000000000000000000000F2
+:10CE400000000000000000000000000000000000E2
+:10CE500000000000000000000000000000000000D2
+:10CE600000000000000000000000000000000000C2
+:10CE700000000000000000000000000000000000B2
+:10CE800000000000000000000000000000000000A2
+:10CE90000000000000000000000000000000000092
+:10CEA0000000000000000000000000000000000082
+:10CEB0000000000000000000000000000000000072
+:10CEC0000000000000000002020202020202020250
+:10CED0000000000000000000000000000000000052
+:10CEE000000000000101010000000000000000003F
+:10CEF0000000000000000000000000000000000032
+:10CF00000000000000000000000000000000000021
+:10CF10000000000000000000000000000000000011
+:10CF20000000000000000000000000000000000001
+:10CF300000000000000000000000000000000000F1
+:10CF400000000000000000000000000000000000E1
+:10CF500000000000000000000000000000000000D1
+:10CF600000000000000000000000000000000000C1
+:10CF700000000000000000000000000000000000B1
+:10CF800000000000000000000000000000000000A1
+:10CF90000000000000000000000000000000000091
+:10CFA0000000000000000000000000000000000081
+:10CFB0000000000000000000000000000000000071
+:10CFC000000000000000000202020202020202024F
+:10CFD000020000000000000000000000000000004F
+:10CFE000000000000101010000000000000000003E
+:10CFF0000000000000000000000000000000000031
+:10D000000000000000000000000000000000000020
+:10D010000000000000000000000000000000000010
+:10D020000000000000000000000000000000000000
+:10D0300000000000000000000000000000000000F0
+:10D0400000000000000000000000000000000000E0
+:10D0500000000000000000000000000000000000D0
+:10D0600000000000000000000000000000000000C0
+:10D0700000000000000000000000000000000000B0
+:10D0800000000000000000000000000000000000A0
+:10D090000000000000000000000000000000000090
+:10D0A0000000000000000000000000000000000080
+:10D0B0000000000000000000000000000000000070
+:10D0C000000000000000000202020202020202024E
+:10D0D000020200000000000000000000000000004C
+:10D0E000000000010101010000000000000000003C
+:10D0F0000000000000000000000000000000000030
+:10D10000000000000000000000000000000000001F
+:10D11000000000000000000000000000000000000F
+:10D1200000000000000000000000000000000000FF
+:10D1300000000000000000000000000000000000EF
+:10D1400000000000000000000000000000000000DF
+:10D1500000000000000000000000000000000000CF
+:10D1600000000000000000000000000000000000BF
+:10D1700000000000000000000000000000000000AF
+:10D18000000000000000000000000000000000009F
+:10D19000000000000000000000000000000000008F
+:10D1A000000000000000000000000000000000007F
+:10D1B000000000000000000000000000000000006F
+:10D1C000000000000000000202020202020202024D
+:10D1D000020200000000000000000000000000004B
+:10D1E000000001010101010000000000000000003A
+:10D1F000000000000000000000000000000000002F
+:10D20000000000000000000000000000000000001E
+:10D21000000000000000000000000000000000000E
+:10D2200000000000000000000000000000000000FE
+:10D2300000000000000000000000000000000000EE
+:10D2400000000000000000000000000000000000DE
+:10D2500000000000000000000000000000000000CE
+:10D2600000000000000000000000000000000000BE
+:10D2700000000000000000000000000000000000AE
+:10D28000000000000000000000000000000000009E
+:10D29000000000000000000000000000000000008E
+:10D2A000000000000000000000000000000000007E
+:10D2B000000000000000000000000000000000006E
+:10D2C000000000000000000202020202020202024C
+:10D2D000020200000000000000000000000000004A
+:10D2E0000000010101010100000000000000000039
+:10D2F000000000000000000000000000000000002E
+:10D30000000000000000000000000000000000001D
+:10D31000000000000000000000000000000000000D
+:10D3200000000000000000000000000000000000FD
+:10D3300000000000000000000000000000000000ED
+:10D3400000000000000000000000000000000000DD
+:10D3500000000000000000000000000000000000CD
+:10D3600000000000000000000000000000000000BD
+:10D3700000000000000000000000000000000000AD
+:10D38000000000000000000000000000000000009D
+:10D39000000000000000000000000000000000008D
+:10D3A000000000000000000000000000000000007D
+:10D3B000000000000000000000000000000000006D
+:10D3C000000000000000000202020202020202024B
+:10D3D0000202020000000000000000000000000047
+:10D3E0000000010101010100000000000000000038
+:10D3F000000000000000000000000000000000002D
+:10D40000000000000000000000000000000000001C
+:10D41000000000000000000000000000000000000C
+:10D4200000000000000000000000000000000000FC
+:10D4300000000000000000000000000000000000EC
+:10D4400000000000000000000000000000000000DC
+:10D4500000000000000000000000000000000000CC
+:10D4600000000000000000000000000000000000BC
+:10D4700000000000000000000000000000000000AC
+:10D48000000000000000000000000000000000009C
+:10D49000000000000000000000000000000000008C
+:10D4A000000000000000000000000000000000007C
+:10D4B000000000000000000000000000000000006C
+:10D4C000000000000000000202020202020202024A
+:10D4D0000202020200000000000000000000000044
+:10D4E0000001010101010100000000000000000036
+:10D4F000000000000000000000000000000000002C
+:10D50000000000000000000000000000000000001B
+:10D51000000000000000000000000000000000000B
+:10D5200000000000000000000000000000000000FB
+:10D5300000000000000000000000000000000000EB
+:10D5400000000000000000000000000000000000DB
+:10D5500000000000000000000000000000000000CB
+:10D5600000000000000000000000000000000000BB
+:10D5700000000000000000000000000000000000AB
+:10D58000000000000000000000000000000000009B
+:10D59000000000000000000000000000000000008B
+:10D5A000000000000000000000000000000000007B
+:10D5B000000000000000000000000000000000006B
+:10D5C0000000000000000002020202020202020249
+:10D5D0000202020200000000000000000000000043
+:10D5E0000101010101010100000000000000000034
+:10D5F000000000000000000000000000000000002B
+:10D60000000000000000000000000000000000001A
+:10D61000000000000000000000000000000000000A
+:10D6200000000000000000000000000000000000FA
+:10D6300000000000000000000000000000000000EA
+:10D6400000000000000000000000000000000000DA
+:10D6500000000000000000000000000000000000CA
+:10D6600000000000000000000000000000000000BA
+:10D6700000000000000000000000000000000000AA
+:10D68000000000000000000000000000000000009A
+:10D69000000000000000000000000000000000008A
+:10D6A000000000000000000000000000000000007A
+:10D6B000000000000000000000000000000000006A
+:10D6C0000000000000000002020202020202020248
+:10D6D0000202020200000000000000000000000141
+:10D6E0000101010101010100000000000000000033
+:10D6F000000000000000000000000000000000002A
+:10D700000000000000000000000000000000000019
+:10D710000000000000000000000000000000000009
+:10D7200000000000000000000000000000000000F9
+:10D7300000000000000000000000000000000000E9
+:10D7400000000000000000000000000000000000D9
+:10D7500000000000000000000000000000000000C9
+:10D7600000000000000000000000000000000000B9
+:10D7700000000000000000000000000000000000A9
+:10D780000000000000000000000000000000000099
+:10D790000000000000000000000000000000000089
+:10D7A0000000000000000000000000000000000079
+:10D7B0000000000000000000000000000000000069
+:10D7C0000000000000000002020202020202020247
+:10D7D0000202020200000000000000000000000140
+:10D7E0000101010101010100000000000000000032
+:10D7F0000000000000000000000000000000000029
+:10D800000000000000000000000000000000000018
+:10D810000000000000000000000000000000000008
+:10D8200000000000000000000000000000000000F8
+:10D8300000000000000000000000000000000000E8
+:10D8400000000000000000000000000000000000D8
+:10D8500000000000000000000000000000000000C8
+:10D8600000000000000000000000000000000000B8
+:10D8700000000000000000000000000000000000A8
+:10D880000000000000000000000000000000000098
+:10D890000000000000000000000000000000000088
+:10D8A0000000000000000000000000000000000078
+:10D8B0000000000000000000000000000000000068
+:10D8C0000000000000000002020202020202020246
+:10D8D000020202020000000000000000000001013E
+:10D8E0000101010101010100000000000000000031
+:10D8F0000000000000000000000000000000000028
+:10D900000000000000000000000000000000000017
+:10D910000000000000000000000000000000000007
+:10D9200000000000000000000000000000000000F7
+:10D9300000000000000000000000000000000000E7
+:10D9400000000000000000000000000000000000D7
+:10D9500000000000000000000000000000000000C7
+:10D9600000000000000000000000000000000000B7
+:10D9700000000000000000000000000000000000A7
+:10D980000000000000000000000000000000000097
+:10D990000000000000000000000000000000000087
+:10D9A0000000000000000000000000000000000077
+:10D9B0000000000000000000000000000000000067
+:10D9C0000000000000000002020202020202020245
+:10D9D000020202020200000000000000000101013A
+:10D9E0000101010101010100000000000000000030
+:10D9F0000000000000000000000000000000000027
+:10DA00000000000000000000000000000000000016
+:10DA10000000000000000000000000000000000006
+:10DA200000000000000000000000000000000000F6
+:10DA300000000000000000000000000000000000E6
+:10DA400000000000000000000000000000000000D6
+:10DA500000000000000000000000000000000000C6
+:10DA600000000000000000000000000000000000B6
+:10DA700000000000000000000000000000000000A6
+:10DA80000000000000000000000000000000000096
+:10DA90000000000000000000000000000000000086
+:10DAA0000000000000000000000000000000000076
+:10DAB0000000000000000000000000000000000066
+:10DAC0000000000000000002020202020202020244
+:10DAD0000202020202000000000000010101010137
+:10DAE000010101010101010000000000000000002F
+:10DAF0000000000000000000000000000000000026
+:10DB00000000000000000000000000000000000015
+:10DB10000000000000000000000000000000000005
+:10DB200000000000000000000000000000000000F5
+:10DB300000000000000000000000000000000000E5
+:10DB400000000000000000000000000000000000D5
+:10DB500000000000000000000000000000000000C5
+:10DB600000000000000000000000000000000000B5
+:10DB700000000000000000000000000000000000A5
+:10DB80000000000000000000000000000000000095
+:10DB90000000000000000000000000000000000085
+:10DBA0000000000000000000000000000000000075
+:10DBB0000000000000000000000000000000000065
+:10DBC0000000000000000002020202020202020243
+:10DBD0000202020202000000000000010101010136
+:10DBE000010101010101010000000000000000002E
+:10DBF0000000000000000000000000000000000025
+:10DC00000000000000000000000000000000000014
+:10DC10000000000000000000000000000000000004
+:10DC200000000000000000000000000000000000F4
+:10DC300000000000000000000000000000000000E4
+:10DC400000000000000000000000000000000000D4
+:10DC500000000000000000000000000000000000C4
+:10DC600000000000000000000000000000000000B4
+:10DC700000000000000000000000000000000000A4
+:10DC80000000000000000000000000000000000094
+:10DC90000000000000000000000000000000000084
+:10DCA0000000000000000000000000000000000074
+:10DCB0000000000000000000000000000000000064
+:10DCC0000000000000000002020202020202020242
+:10DCD0000202020202000000000000010101010135
+:10DCE000010101010101010000000000000000002D
+:10DCF0000000000000000000000000000000000024
+:10DD00000000000000000000000000000000000013
+:10DD10000000000000000000000000000000000003
+:10DD200000000000000000000000000000000000F3
+:10DD300000000000000000000000000000000000E3
+:10DD400000000000000000000000000000000000D3
+:10DD500000000000000000000000000000000000C3
+:10DD600000000000000000000000000000000000B3
+:10DD700000000000000000000000000000000000A3
+:10DD80000000000000000000000000000000000093
+:10DD90000000000000000000000000000000000083
+:10DDA0000000000000000000000000000000000073
+:10DDB0000000000000000000000000000000000063
+:10DDC0000000000000000002020202020202020241
+:10DDD0000202020202000000000001010101010133
+:10DDE000010101010101010000000000000000002C
+:10DDF0000000000000000000000000000000000023
+:10DE00000000000000000000000000000000000012
+:10DE10000000000000000000000000000000000002
+:10DE200000000000000000000000000000000000F2
+:10DE300000000000000000000000000000000000E2
+:10DE400000000000000000000000000000000000D2
+:10DE500000000000000000000000000000000000C2
+:10DE600000000000000000000000000000000000B2
+:10DE700000000000000000000000000000000000A2
+:10DE80000000000000000000000000000000000092
+:10DE90000000000000000000000000000000000082
+:10DEA0000000000000000000000000000000000072
+:10DEB0000000000000000000000000000000000062
+:10DEC0000000000000000002020202020202020240
+:10DED000020202020202000000010101010101012F
+:10DEE000010101010101010000000000000000002B
+:10DEF0000000000000000000000000000000000022
+:10DF00000000000000000000000000000000000011
+:10DF10000000000000000000000000000000000001
+:10DF200000000000000000000000000000000000F1
+:10DF300000000000000000000000000000000000E1
+:10DF400000000000000000000000000000000000D1
+:10DF500000000000000000000000000000000000C1
+:10DF600000000000000000000000000000000000B1
+:10DF700000000000000000000000000000000000A1
+:10DF80000000000000000000000000000000000091
+:10DF90000000000000000000000000000000000081
+:10DFA0000000000000000000000000000000000071
+:10DFB0000000000000000000000000000000000061
+:10DFC000000000000000000202020202020202023F
+:10DFD000020202020202000000010101010101012E
+:10DFE000010101010101010000000000000000002A
+:10DFF0000000000000000000000000000000000021
+:10E000000000000000000000000000000000000010
+:10E010000000000000000000000000000000000000
+:10E0200000000000000000000000000000000000F0
+:10E0300000000000000000000000000000000000E0
+:10E0400000000000000000000000000000000000D0
+:10E0500000000000000000000000000000000000C0
+:10E0600000000000000000000000000000000000B0
+:10E0700000000000000000000000000000000000A0
+:10E080000000000000000000000000000000000090
+:10E090000000000000000000000000000000000080
+:10E0A0000000000000000000000000000000000070
+:10E0B0000000000000000000000000000000000060
+:10E0C000000000000000000202020202020202023E
+:10E0D000020202020202000000010101010101012D
+:10E0E0000101010101010100000000000000000029
+:10E0F0000000000000000000000000000000000020
+:10E10000000000000000000000000000000000000F
+:10E1100000000000000000000000000000000000FF
+:10E1200000000000000000000000000000000000EF
+:10E1300000000000000000000000000000000000DF
+:10E1400000000000000000000000000000000000CF
+:10E1500000000000000000000000000000000000BF
+:10E1600000000000000000000000000000000000AF
+:10E17000000000000000000000000000000000009F
+:10E18000000000000000000000000000000000008F
+:10E19000000000000000000000000000000000007F
+:10E1A000000000000000000000000000000000006F
+:10E1B000000000000000000000000000000000005F
+:10E1C000000000000000000202020202020202023D
+:10E1D000020202020202000001010101010101012B
+:10E1E0000101010101010100000000000000000028
+:10E1F000000000000000000000000000000000001F
+:10E20000000000000000000000000000000000000E
+:10E2100000000000000000000000000000000000FE
+:10E2200000000000000000000000000000000000EE
+:10E2300000000000000000000000000000000000DE
+:10E2400000000000000000000000000000000000CE
+:10E2500000000000000000000000000000000000BE
+:10E2600000000000000000000000000000000000AE
+:10E27000000000000000000000000000000000009E
+:10E28000000000000000000000000000000000008E
+:10E29000000000000000000000000000000000007E
+:10E2A000000000000000000000000000000000006E
+:10E2B000000000000000000000000000000000005E
+:10E2C000000000000000000202020202020202023C
+:10E2D000020202020202000001010101010101012A
+:10E2E0000101010101010100000000000000000027
+:10E2F000000000000000000000000000000000001E
+:10E30000000000000000000000000000000000000D
+:10E3100000000000000000000000000000000000FD
+:10E3200000000000000000000000000000000000ED
+:10E3300000000000000000000000000000000000DD
+:10E3400000000000000000000000000000000000CD
+:10E3500000000000000000000000000000000000BD
+:10E3600000000000000000000000000000000000AD
+:10E37000000000000000000000000000000000009D
+:10E38000000000000000000000000000000000008D
+:10E39000000000000000000000000000000000007D
+:10E3A000000000000000000000000000000000006D
+:10E3B000000000000000000000000000000000005D
+:10E3C000000000000000000202020202020202023B
+:10E3D0000202020202020000010101010101010129
+:10E3E0000101010101010100000000000000000026
+:10E3F000000000000000000000000000000000001D
+:10E40000000000000000000000000000000000000C
+:10E4100000000000000000000000000000000000FC
+:10E4200000000000000000000000000000000000EC
+:10E4300000000000000000000000000000000000DC
+:10E4400000000000000000000000000000000000CC
+:10E4500000000000000000000000000000000000BC
+:10E4600000000000000000000000000000000000AC
+:10E47000000000000000000000000000000000009C
+:10E48000000000000000000000000000000000008C
+:10E49000000000000000000000000000000000007C
+:10E4A000000000000000000000000000000000006C
+:10E4B000000000000000000000000000000000005C
+:10E4C000000000000000000202020202020202023A
+:10E4D0000202020202020000000000000000000030
+:10E4E000000000000000000000000000000000002C
+:10E4F000000000000000000000000000000000001C
+:10E50000000000000000000000000000000000000B
+:10E5100000000000000000000000000000000000FB
+:10E5200000000000000000000000000000000000EB
+:10E5300000000000000000000000000000000000DB
+:10E5400000000000000000000000000000000000CB
+:10E5500000000000000000000000000000000000BB
+:10E5600000000000000000000000000000000000AB
+:10E57000000000000000000000000000000000009B
+:10E58000000000000000000000000000000000008B
+:10E59000000000000000000000000000000000007B
+:10E5A000000000000000000000000000000000006B
+:10E5B000000000000000000000000000000000005B
+:10E5C000000000000000000000000000000000004B
+:10E5D000000000000000001D00000000000000001E
+:10E5E000000000000000000000000000000001002A
+:10E5F000000000000000000000000000000000001B
+:10E60000000000000000000000000000000000000A
+:10E6100000000000000000000000000000000000FA
+:10E6200000000000000000000000000000000000EA
+:10E6300000000000000000000000000000000000DA
+:10E6400000000000000000000000000000000000CA
+:10E6500000000000000000000000000000000000BA
+:10E6600000000000000000000000000000000000AA
+:10E67000000000000000000000000000000000009A
+:10E68000000000000000000000000000000000008A
+:10E69000000000000000000000000000000000007A
+:10E6A000000000000000000000000000000000006A
+:10E6B000000000000000000000000000000000005A
+:10E6C0000000000000000000000000000000000248
+:10E6D000000000000000000000000000000000003A
+:10E6E0000000000000000000000000000000010029
+:10E6F000000000000000000000000000000000001A
+:10E700000000000000000000000000000000000009
+:10E7100000000000000000000000000000000000F9
+:10E7200000000000000000000000000000000000E9
+:10E7300000000000000000000000000000000000D9
+:10E7400000000000000000000000000000000000C9
+:10E7500000000000000000000000000000000000B9
+:10E7600000000000000000000000000000000000A9
+:10E770000000000000000000000000000000000099
+:10E780000000000000000000000000000000000089
+:10E790000000000000000000000000000000000079
+:10E7A0000000000000000000000000000000000069
+:10E7B0000000000000000000000000000000000059
+:10E7C0000000000000000000000000000000000247
+:10E7D0000000000000000000000000000000000039
+:10E7E0000000000000000000000000000000010028
+:10E7F0000000000000000000000000000000000019
+:10E800000000000000000000000000000000000008
+:10E8100000000000000000000000000000000000F8
+:10E8200000000000000000000000000000000000E8
+:10E8300000000000000000000000000000000000D8
+:10E8400000000000000000000000000000000000C8
+:10E8500000000000000000000000000000000000B8
+:10E8600000000000000000000000000000000000A8
+:10E870000000000000000000000000000000000098
+:10E880000000000000000000000000000000000088
+:10E890000000000000000000000000000000000078
+:10E8A0000000000000000000000000000000000068
+:10E8B0000000000000000000000000000000000058
+:10E8C0000000000000000000000000000000000246
+:10E8D0000200000000000000000000000000000036
+:10E8E0000000000000000000000000000000010027
+:10E8F0000000000000000000000000000000000018
+:10E900000000000000000000000000000000000007
+:10E9100000000000000000000000000000000000F7
+:10E9200000000000000000000000000000000000E7
+:10E9300000000000000000000000000000000000D7
+:10E9400000000000000000000000000000000000C7
+:10E9500000000000000000000000000000000000B7
+:10E9600000000000000000000000000000000000A7
+:10E970000000000000000000000000000000000097
+:10E980000000000000000000000000000000000087
+:10E990000000000000000000000000000000000077
+:10E9A0000000000000000000000000000000000067
+:10E9B0000000000000000000000000000000000057
+:10E9C0000000000000000000000000000000000245
+:10E9D0000202000000000000000000000000000033
+:10E9E0000000000000000000000000000001010025
+:10E9F0000000000000000000000000000000000017
+:10EA00000000000000000000000000000000000006
+:10EA100000000000000000000000000000000000F6
+:10EA200000000000000000000000000000000000E6
+:10EA300000000000000000000000000000000000D6
+:10EA400000000000000000000000000000000000C6
+:10EA500000000000000000000000000000000000B6
+:10EA600000000000000000000000000000000000A6
+:10EA70000000000000000000000000000000000096
+:10EA80000000000000000000000000000000000086
+:10EA90000000000000000000000000000000000076
+:10EAA0000000000000000000000000000000000066
+:10EAB0000000000000000000000000000000000056
+:10EAC0000000000000000000000000000000000244
+:10EAD0000202000000000000000000000000000032
+:10EAE0000000000000000000000000000001010024
+:10EAF0000000000000000000000000000000000016
+:10EB00000000000000000000000000000000000005
+:10EB100000000000000000000000000000000000F5
+:10EB200000000000000000000000000000000000E5
+:10EB300000000000000000000000000000000000D5
+:10EB400000000000000000000000000000000000C5
+:10EB500000000000000000000000000000000000B5
+:10EB600000000000000000000000000000000000A5
+:10EB70000000000000000000000000000000000095
+:10EB80000000000000000000000000000000000085
+:10EB90000000000000000000000000000000000075
+:10EBA0000000000000000000000000000000000065
+:10EBB0000000000000000000000000000000000055
+:10EBC0000000000000000000000000000000000243
+:10EBD000020202000000000000000000000000002F
+:10EBE0000000000000000000000000000101010022
+:10EBF0000000000000000000000000000000000015
+:10EC00000000000000000000000000000000000004
+:10EC100000000000000000000000000000000000F4
+:10EC200000000000000000000000000000000000E4
+:10EC300000000000000000000000000000000000D4
+:10EC400000000000000000000000000000000000C4
+:10EC500000000000000000000000000000000000B4
+:10EC600000000000000000000000000000000000A4
+:10EC70000000000000000000000000000000000094
+:10EC80000000000000000000000000000000000084
+:10EC90000000000000000000000000000000000074
+:10ECA0000000000000000000000000000000000064
+:10ECB0000000000000000000000000000000000054
+:10ECC0000000000000000000000000000000000242
+:10ECD000020202000000000000000000000000002E
+:10ECE0000000000000000000000000000101010021
+:10ECF0000000000000000000000000000000000014
+:10ED00000000000000000000000000000000000003
+:10ED100000000000000000000000000000000000F3
+:10ED200000000000000000000000000000000000E3
+:10ED300000000000000000000000000000000000D3
+:10ED400000000000000000000000000000000000C3
+:10ED500000000000000000000000000000000000B3
+:10ED600000000000000000000000000000000000A3
+:10ED70000000000000000000000000000000000093
+:10ED80000000000000000000000000000000000083
+:10ED90000000000000000000000000000000000073
+:10EDA0000000000000000000000000000000000063
+:10EDB0000000000000000000000000000000000053
+:10EDC0000000000000000000000000000000000241
+:10EDD000020202020000000000000000000000002B
+:10EDE0000000000000000000000000000101010020
+:10EDF0000000000000000000000000000000000013
+:10EE00000000000000000000000000000000000002
+:10EE100000000000000000000000000000000000F2
+:10EE200000000000000000000000000000000000E2
+:10EE300000000000000000000000000000000000D2
+:10EE400000000000000000000000000000000000C2
+:10EE500000000000000000000000000000000000B2
+:10EE600000000000000000000000000000000000A2
+:10EE70000000000000000000000000000000000092
+:10EE80000000000000000000000000000000000082
+:10EE90000000000000000000000000000000000072
+:10EEA0000000000000000000000000000000000062
+:10EEB0000000000000000000000000000000000052
+:10EEC0000000000000000000000000000000000240
+:10EED0000202020202000000000000000000000028
+:10EEE000000000000000000000000000010101001F
+:10EEF0000000000000000000000000000000000012
+:10EF00000000000000000000000000000000000001
+:10EF100000000000000000000000000000000000F1
+:10EF200000000000000000000000000000000000E1
+:10EF300000000000000000000000000000000000D1
+:10EF400000000000000000000000000000000000C1
+:10EF500000000000000000000000000000000000B1
+:10EF600000000000000000000000000000000000A1
+:10EF70000000000000000000000000000000000091
+:10EF80000000000000000000000000000000000081
+:10EF90000000000000000000000000000000000071
+:10EFA0000000000000000000000000000000000061
+:10EFB0000000000000000000000000000000000051
+:10EFC000000000000000000000000000000000023F
+:10EFD0000202020202000000000000000000000027
+:10EFE000000000000000000000000001010101001D
+:10EFF0000000000000000000000000000000000011
+:10F000000000000000000000000000000000000000
+:10F0100000000000000000000000000000000000F0
+:10F0200000000000000000000000000000000000E0
+:10F0300000000000000000000000000000000000D0
+:10F0400000000000000000000000000000000000C0
+:10F0500000000000000000000000000000000000B0
+:10F0600000000000000000000000000000000000A0
+:10F070000000000000000000000000000000000090
+:10F080000000000000000000000000000000000080
+:10F090000000000000000000000000000000000070
+:10F0A0000000000000000000000000000000000060
+:10F0B0000000000000000000000000000000000050
+:10F0C000000000000000000000000000000000023E
+:10F0D0000202020202020000000000000000000024
+:10F0E000000000000000000000000001010101001C
+:10F0F0000000000000000000000000000000000010
+:10F1000000000000000000000000000000000000FF
+:10F1100000000000000000000000000000000000EF
+:10F1200000000000000000000000000000000000DF
+:10F1300000000000000000000000000000000000CF
+:10F1400000000000000000000000000000000000BF
+:10F1500000000000000000000000000000000000AF
+:10F16000000000000000000000000000000000009F
+:10F17000000000000000000000000000000000008F
+:10F18000000000000000000000000000000000007F
+:10F19000000000000000000000000000000000006F
+:10F1A000000000000000000000000000000000005F
+:10F1B000000000000000000000000000000000004F
+:10F1C000000000000000000000000000000000023D
+:10F1D000020202020202020200000000000000001F
+:10F1E000000000000000000000000101010101001A
+:10F1F000000000000000000000000000000000000F
+:10F2000000000000000000000000000000000000FE
+:10F2100000000000000000000000000000000000EE
+:10F2200000000000000000000000000000000000DE
+:10F2300000000000000000000000000000000000CE
+:10F2400000000000000000000000000000000000BE
+:10F2500000000000000000000000000000000000AE
+:10F26000000000000000000000000000000000009E
+:10F27000000000000000000000000000000000008E
+:10F28000000000000000000000000000000000007E
+:10F29000000000000000000000000000000000006E
+:10F2A000000000000000000000000000000000005E
+:10F2B000000000000000000000000000000000004E
+:10F2C000000000000000000000000000000000023C
+:10F2D000020202020202020202000000000000001C
+:10F2E0000000000000000000000001010101010019
+:10F2F000000000000000000000000000000000000E
+:10F3000000000000000000000000000000000000FD
+:10F3100000000000000000000000000000000000ED
+:10F3200000000000000000000000000000000000DD
+:10F3300000000000000000000000000000000000CD
+:10F3400000000000000000000000000000000000BD
+:10F3500000000000000000000000000000000000AD
+:10F36000000000000000000000000000000000009D
+:10F37000000000000000000000000000000000008D
+:10F38000000000000000000000000000000000007D
+:10F39000000000000000000000000000000000006D
+:10F3A000000000000000000000000000000000005D
+:10F3B000000000000000000000000000000000004D
+:10F3C000000000000000000000000000000000023B
+:10F3D000020202020202020202000000000000001B
+:10F3E0000000000000000000000101010101010017
+:10F3F000000000000000000000000000000000000D
+:10F4000000000000000000000000000000000000FC
+:10F4100000000000000000000000000000000000EC
+:10F4200000000000000000000000000000000000DC
+:10F4300000000000000000000000000000000000CC
+:10F4400000000000000000000000000000000000BC
+:10F4500000000000000000000000000000000000AC
+:10F46000000000000000000000000000000000009C
+:10F47000000000000000000000000000000000008C
+:10F48000000000000000000000000000000000007C
+:10F49000000000000000000000000000000000006C
+:10F4A000000000000000000000000000000000005C
+:10F4B000000000000000000000000000000000004C
+:10F4C000000000000000000000000000000000023A
+:10F4D0000202020202020202020200000000000018
+:10F4E0000000000000000000000101010101010016
+:10F4F000000000000000000000000000000000000C
+:10F5000000000000000000000000000000000000FB
+:10F5100000000000000000000000000000000000EB
+:10F5200000000000000000000000000000000000DB
+:10F5300000000000000000000000000000000000CB
+:10F5400000000000000000000000000000000000BB
+:10F5500000000000000000000000000000000000AB
+:10F56000000000000000000000000000000000009B
+:10F57000000000000000000000000000000000008B
+:10F58000000000000000000000000000000000007B
+:10F59000000000000000000000000000000000006B
+:10F5A000000000000000000000000000000000005B
+:10F5B000000000000000000000000000000000004B
+:10F5C0000000000000000000000000000000000239
+:10F5D0000202020202020202020200000000000017
+:10F5E0000000000000000000010101010101010014
+:10F5F000000000000000000000000000000000000B
+:10F6000000000000000000000000000000000000FA
+:10F6100000000000000000000000000000000000EA
+:10F6200000000000000000000000000000000000DA
+:10F6300000000000000000000000000000000000CA
+:10F6400000000000000000000000000000000000BA
+:10F6500000000000000000000000000000000000AA
+:10F66000000000000000000000000000000000009A
+:10F67000000000000000000000000000000000008A
+:10F68000000000000000000000000000000000007A
+:10F69000000000000000000000000000000000006A
+:10F6A000000000000000000000000000000000005A
+:10F6B000000000000000000000000000000000004A
+:10F6C0000000000000000000000000000000000238
+:10F6D0000202020202020202020202000000000014
+:10F6E0000000000000000101010101010101010011
+:10F6F000000000000000000000000000000000000A
+:10F7000000000000000000000000000000000000F9
+:10F7100000000000000000000000000000000000E9
+:10F7200000000000000000000000000000000000D9
+:10F7300000000000000000000000000000000000C9
+:10F7400000000000000000000000000000000000B9
+:10F7500000000000000000000000000000000000A9
+:10F760000000000000000000000000000000000099
+:10F770000000000000000000000000000000000089
+:10F780000000000000000000000000000000000079
+:10F790000000000000000000000000000000000069
+:10F7A0000000000000000000000000000000000059
+:10F7B0000000000000000000000000000000000049
+:10F7C0000000000000000000000000000000000237
+:10F7D0000202020202020202020202000000000013
+:10F7E000000000000001010101010101010101000F
+:10F7F0000000000000000000000000000000000009
+:10F8000000000000000000000000000000000000F8
+:10F8100000000000000000000000000000000000E8
+:10F8200000000000000000000000000000000000D8
+:10F8300000000000000000000000000000000000C8
+:10F8400000000000000000000000000000000000B8
+:10F8500000000000000000000000000000000000A8
+:10F860000000000000000000000000000000000098
+:10F870000000000000000000000000000000000088
+:10F880000000000000000000000000000000000078
+:10F890000000000000000000000000000000000068
+:10F8A0000000000000000000000000000000000058
+:10F8B0000000000000000000000000000000000048
+:10F8C0000000000000000000000000000000000236
+:10F8D0000202020202020202020202020000000010
+:10F8E000000000000001010101010101010101000E
+:10F8F0000000000000000000000000000000000008
+:10F9000000000000000000000000000000000000F7
+:10F9100000000000000000000000000000000000E7
+:10F9200000000000000000000000000000000000D7
+:10F9300000000000000000000000000000000000C7
+:10F9400000000000000000000000000000000000B7
+:10F9500000000000000000000000000000000000A7
+:10F960000000000000000000000000000000000097
+:10F970000000000000000000000000000000000087
+:10F980000000000000000000000000000000000077
+:10F990000000000000000000000000000000000067
+:10F9A0000000000000000000000000000000000057
+:10F9B0000000000000000000000000000000000047
+:10F9C0000000000000000000000000000000000235
+:10F9D000020202020202020202020202000000000F
+:10F9E000000000000101010101010101010101000C
+:10F9F0000000000000000000000000000000000007
+:10FA000000000000000000000000000000000000F6
+:10FA100000000000000000000000000000000000E6
+:10FA200000000000000000000000000000000000D6
+:10FA300000000000000000000000000000000000C6
+:10FA400000000000000000000000000000000000B6
+:10FA500000000000000000000000000000000000A6
+:10FA60000000000000000000000000000000000096
+:10FA70000000000000000000000000000000000086
+:10FA80000000000000000000000000000000000076
+:10FA90000000000000000000000000000000000066
+:10FAA0000000000000000000000000000000000056
+:10FAB0000000000000000000000000000000000046
+:10FAC0000000000000000000000000000000000234
+:10FAD000020202020202020202020202000000000E
+:10FAE000000000010101010101010101010101000A
+:10FAF0000000000000000000000000000000000006
+:10FB000000000000000000000000000000000000F5
+:10FB100000000000000000000000000000000000E5
+:10FB200000000000000000000000000000000000D5
+:10FB300000000000000000000000000000000000C5
+:10FB400000000000000000000000000000000000B5
+:10FB500000000000000000000000000000000000A5
+:10FB60000000000000000000000000000000000095
+:10FB70000000000000000000000000000000000085
+:10FB80000000000000000000000000000000000075
+:10FB90000000000000000000000000000000000065
+:10FBA0000000000000000000000000000000000055
+:10FBB0000000000000000000000000000000000045
+:10FBC0000000000000000000000000000000000233
+:10FBD000020202020202020202020202000000000D
+:10FBE0000000000101010101010101010101010009
+:10FBF0000000000000000000000000000000000005
+:10FC000000000000000000000000000000000000F4
+:10FC100000000000000000000000000000000000E4
+:10FC200000000000000000000000000000000000D4
+:10FC300000000000000000000000000000000000C4
+:10FC400000000000000000000000000000000000B4
+:10FC500000000000000000000000000000000000A4
+:10FC60000000000000000000000000000000000094
+:10FC70000000000000000000000000000000000084
+:10FC80000000000000000000000000000000000074
+:10FC90000000000000000000000000000000000064
+:10FCA0000000000000000000000000000000000054
+:10FCB0000000000000000000000000000000000044
+:10FCC0000000000000000000000000000000000232
+:10FCD000020202020202020202020202020000000A
+:10FCE0000000010101010101010101010101010007
+:10FCF0000000000000000000000000000000000004
+:10FD000000000000000000000000000000000000F3
+:10FD100000000000000000000000000000000000E3
+:10FD200000000000000000000000000000000000D3
+:10FD300000000000000000000000000000000000C3
+:10FD400000000000000000000000000000000000B3
+:10FD500000000000000000000000000000000000A3
+:10FD60000000000000000000000000000000000093
+:10FD70000000000000000000000000000000000083
+:10FD80000000000000000000000000000000000073
+:10FD90000000000000000000000000000000000063
+:10FDA0000000000000000000000000000000000053
+:10FDB0000000000000000000000000000000000043
+:10FDC0000000000000000000000000000000000231
+:10FDD0000202020202020202020202020200000009
+:10FDE0000000010101010101010101010101010006
+:10FDF0000000000000000000000000000000000003
+:10FE000000000000000000000000000000000000F2
+:10FE100000000000000000000000000000000000E2
+:10FE200000000000000000000000000000000000D2
+:10FE300000000000000000000000000000000000C2
+:10FE400000000000000000000000000000000000B2
+:10FE500000000000000000000000000000000000A2
+:10FE60000000000000000000000000000000000092
+:10FE70000000000000000000000000000000000082
+:10FE80000000000000000000000000000000000072
+:10FE90000000000000000000000000000000000062
+:10FEA0000000000000000000000000000000000052
+:10FEB0000000000000000000000000000000000042
+:10FEC0000000000000000000000000000000000230
+:10FED0000202020202020202020202020202000006
+:10FEE0000001010101010101010101010101010004
+:10FEF0000000000000000000000000000000000002
+:10FF000000000000000000000000000000000000F1
+:10FF100000000000000000000000000000000000E1
+:10FF200000000000000000000000000000000000D1
+:10FF300000000000000000000000000000000000C1
+:10FF400000000000000000000000000000000000B1
+:10FF500000000000000000000000000000000000A1
+:10FF60000000000000000000000000000000000091
+:10FF70000000000000000000000000000000000081
+:10FF80000000000000000000000000000000000071
+:10FF90000000000000000000000000000000000061
+:10FFA0000000000000000000000000000000000051
+:10FFB0000000000000000000000000000000000041
+:10FFC000000000000000000000000000000000022F
+:10FFD0000202020202020202020202020202000005
+:10FFE0000101010101010101010101010101010002
+:10FFF0000000000000000000000000000000000001
+:0200000260009C
+:1000000000000000000000000000000000000000F0
+:1000100000000000000000000000000000000000E0
+:1000200000000000000000000000000000000000D0
+:1000300000000000000000000000000000000000C0
+:1000400000000000000000000000000000000000B0
+:1000500000000000000000000000000000000000A0
+:100060000000000000000000000000000000000090
+:100070000000000000000000000000000000000080
+:100080000000000000000000000000000000000070
+:100090000000000000000000000000000000000060
+:1000A0000000000000000000000000000000000050
+:1000B0000000000000000000000000000000000040
+:1000C000000000000000000000000000000000022E
+:1000D0000202020202020202020202020202000004
+:1000E0000101010101010101010101010101010001
+:1000F0000000000000000000000000000000000000
+:1001000000000000000000000000000000000000EF
+:1001100000000000000000000000000000000000DF
+:1001200000000000000000000000000000000000CF
+:1001300000000000000000000000000000000000BF
+:1001400000000000000000000000000000000000AF
+:10015000000000000000000000000000000000009F
+:10016000000000000000000000000000000000008F
+:10017000000000000000000000000000000000007F
+:10018000000000000000000000000000000000006F
+:10019000000000000000000000000000000000005F
+:1001A000000000000000000000000000000000004F
+:1001B000000000000000000000000000000000003F
+:1001C000000000000000000000000000000000022D
+:1001D0000202020202020202020202020202000003
+:1001E000000000000000000000000000000000000F
+:1001F00000000000000000000000000000000000FF
+:1002000000000000000000000000000000000000EE
+:1002100000000000000000000000000000000000DE
+:1002200000000000000000000000000000000000CE
+:1002300000000000000000000000000000000000BE
+:1002400000000000000000000000000000000000AE
+:10025000000000000000000000000000000000009E
+:10026000000000000000000000000000000000008E
+:10027000000000000000000000000000000000007E
+:10028000000000000000000000000000000000006E
+:10029000000000000000000000000000000000005E
+:1002A000000000000000000000000000000000004E
+:1002B000000000000000000000000000000000003E
+:1002C000000000000000000000000000000000002E
+:1002D0000000000000000000000000000000001905
+:1002E000000000000000000000000000000000000E
+:1002F00000000000000001000000000000000000FD
+:1003000000000000000000000000000000000000ED
+:1003100000000000000000000000000000000000DD
+:1003200000000000000000000000000000000000CD
+:1003300000000000000000000000000000000000BD
+:1003400000000000000000000000000000000000AD
+:10035000000000000000000000000000000000009D
+:10036000000000000000000000000000000000008D
+:10037000000000000000000000000000000000007D
+:10038000000000000000000000000000000000006D
+:10039000000000000000000000000000000000005D
+:1003A000000000000000000000000000000000004D
+:1003B000000000000000000000000000000000003D
+:1003C000000000000000000000000000000000002D
+:1003D000000000000000000200000000000000001B
+:1003E000000000000000000000000000000000000D
+:1003F00000000000000001000000000000000000FC
+:1004000000000000000000000000000000000000EC
+:1004100000000000000000000000000000000000DC
+:1004200000000000000000000000000000000000CC
+:1004300000000000000000000000000000000000BC
+:1004400000000000000000000000000000000000AC
+:10045000000000000000000000000000000000009C
+:10046000000000000000000000000000000000008C
+:10047000000000000000000000000000000000007C
+:10048000000000000000000000000000000000006C
+:10049000000000000000000000000000000000005C
+:1004A000000000000000000000000000000000004C
+:1004B000000000000000000000000000000000003C
+:1004C000000000000000000000000000000000002C
+:1004D000000000000000000200000000000000001A
+:1004E000000000000000000000000000000000000C
+:1004F00000000000000001000000000000000000FB
+:1005000000000000000000000000000000000000EB
+:1005100000000000000000000000000000000000DB
+:1005200000000000000000000000000000000000CB
+:1005300000000000000000000000000000000000BB
+:1005400000000000000000000000000000000000AB
+:10055000000000000000000000000000000000009B
+:10056000000000000000000000000000000000008B
+:10057000000000000000000000000000000000007B
+:10058000000000000000000000000000000000006B
+:10059000000000000000000000000000000000005B
+:1005A000000000000000000000000000000000004B
+:1005B000000000000000000000000000000000003B
+:1005C000000000000000000000000000000000002B
+:1005D0000000000000000002020000000000000017
+:1005E000000000000000000000000000000000000B
+:1005F00000000000000001000000000000000000FA
+:1006000000000000000000000000000000000000EA
+:1006100000000000000000000000000000000000DA
+:1006200000000000000000000000000000000000CA
+:1006300000000000000000000000000000000000BA
+:1006400000000000000000000000000000000000AA
+:10065000000000000000000000000000000000009A
+:10066000000000000000000000000000000000008A
+:10067000000000000000000000000000000000007A
+:10068000000000000000000000000000000000006A
+:10069000000000000000000000000000000000005A
+:1006A000000000000000000000000000000000004A
+:1006B000000000000000000000000000000000003A
+:1006C000000000000000000000000000000000002A
+:1006D0000000000000000002020200000000000014
+:1006E000000000000000000000000000000000000A
+:1006F00000000000010101000000000000000000F7
+:1007000000000000000000000000000000000000E9
+:1007100000000000000000000000000000000000D9
+:1007200000000000000000000000000000000000C9
+:1007300000000000000000000000000000000000B9
+:1007400000000000000000000000000000000000A9
+:100750000000000000000000000000000000000099
+:100760000000000000000000000000000000000089
+:100770000000000000000000000000000000000079
+:100780000000000000000000000000000000000069
+:100790000000000000000000000000000000000059
+:1007A0000000000000000000000000000000000049
+:1007B0000000000000000000000000000000000039
+:1007C0000000000000000000000000000000000029
+:1007D0000000000000000002020200000000000013
+:1007E0000000000000000000000000000000000009
+:1007F00000000000010101000000000000000000F6
+:1008000000000000000000000000000000000000E8
+:1008100000000000000000000000000000000000D8
+:1008200000000000000000000000000000000000C8
+:1008300000000000000000000000000000000000B8
+:1008400000000000000000000000000000000000A8
+:100850000000000000000000000000000000000098
+:100860000000000000000000000000000000000088
+:100870000000000000000000000000000000000078
+:100880000000000000000000000000000000000068
+:100890000000000000000000000000000000000058
+:1008A0000000000000000000000000000000000048
+:1008B0000000000000000000000000000000000038
+:1008C0000000000000000000000000000000000028
+:1008D0000000000000000002020202000000000010
+:1008E0000000000000000000000000000000000008
+:1008F00000000000010101000000000000000000F5
+:1009000000000000000000000000000000000000E7
+:1009100000000000000000000000000000000000D7
+:1009200000000000000000000000000000000000C7
+:1009300000000000000000000000000000000000B7
+:1009400000000000000000000000000000000000A7
+:100950000000000000000000000000000000000097
+:100960000000000000000000000000000000000087
+:100970000000000000000000000000000000000077
+:100980000000000000000000000000000000000067
+:100990000000000000000000000000000000000057
+:1009A0000000000000000000000000000000000047
+:1009B0000000000000000000000000000000000037
+:1009C0000000000000000000000000000000000027
+:1009D000000000000000000202020202000000000D
+:1009E0000000000000000000000000000000000007
+:1009F00000000000010101000000000000000000F4
+:100A000000000000000000000000000000000000E6
+:100A100000000000000000000000000000000000D6
+:100A200000000000000000000000000000000000C6
+:100A300000000000000000000000000000000000B6
+:100A400000000000000000000000000000000000A6
+:100A50000000000000000000000000000000000096
+:100A60000000000000000000000000000000000086
+:100A70000000000000000000000000000000000076
+:100A80000000000000000000000000000000000066
+:100A90000000000000000000000000000000000056
+:100AA0000000000000000000000000000000000046
+:100AB0000000000000000000000000000000000036
+:100AC0000000000000000000000000000000000026
+:100AD000000000000000000202020202020000000A
+:100AE0000000000000000000000000000000000006
+:100AF00000000001010101000000000000000000F2
+:100B000000000000000000000000000000000000E5
+:100B100000000000000000000000000000000000D5
+:100B200000000000000000000000000000000000C5
+:100B300000000000000000000000000000000000B5
+:100B400000000000000000000000000000000000A5
+:100B50000000000000000000000000000000000095
+:100B60000000000000000000000000000000000085
+:100B70000000000000000000000000000000000075
+:100B80000000000000000000000000000000000065
+:100B90000000000000000000000000000000000055
+:100BA0000000000000000000000000000000000045
+:100BB0000000000000000000000000000000000035
+:100BC0000000000000000000000000000000000025
+:100BD0000000000000000002020202020202000007
+:100BE0000000000000000000000000000000000005
+:100BF00000000001010101000000000000000000F1
+:100C000000000000000000000000000000000000E4
+:100C100000000000000000000000000000000000D4
+:100C200000000000000000000000000000000000C4
+:100C300000000000000000000000000000000000B4
+:100C400000000000000000000000000000000000A4
+:100C50000000000000000000000000000000000094
+:100C60000000000000000000000000000000000084
+:100C70000000000000000000000000000000000074
+:100C80000000000000000000000000000000000064
+:100C90000000000000000000000000000000000054
+:100CA0000000000000000000000000000000000044
+:100CB0000000000000000000000000000000000034
+:100CC0000000000000000000000000000000000024
+:100CD0000000000000000002020202020202020004
+:100CE0000000000000000000000000000000000004
+:100CF00000000101010101000000000000000000EF
+:100D000000000000000000000000000000000000E3
+:100D100000000000000000000000000000000000D3
+:100D200000000000000000000000000000000000C3
+:100D300000000000000000000000000000000000B3
+:100D400000000000000000000000000000000000A3
+:100D50000000000000000000000000000000000093
+:100D60000000000000000000000000000000000083
+:100D70000000000000000000000000000000000073
+:100D80000000000000000000000000000000000063
+:100D90000000000000000000000000000000000053
+:100DA0000000000000000000000000000000000043
+:100DB0000000000000000000000000000000000033
+:100DC0000000000000000000000000000000000023
+:100DD0000000000000000002020202020202020201
+:100DE0000000000000000000000000000000000003
+:100DF00000000101010101000000000000000000EE
+:100E000000000000000000000000000000000000E2
+:100E100000000000000000000000000000000000D2
+:100E200000000000000000000000000000000000C2
+:100E300000000000000000000000000000000000B2
+:100E400000000000000000000000000000000000A2
+:100E50000000000000000000000000000000000092
+:100E60000000000000000000000000000000000082
+:100E70000000000000000000000000000000000072
+:100E80000000000000000000000000000000000062
+:100E90000000000000000000000000000000000052
+:100EA0000000000000000000000000000000000042
+:100EB0000000000000000000000000000000000032
+:100EC0000000000000000000000000000000000022
+:100ED0000000000000000002020202020202020200
+:100EE0000200000000000000000000000000000000
+:100EF00000010101010101000000000000000000EC
+:100F000000000000000000000000000000000000E1
+:100F100000000000000000000000000000000000D1
+:100F200000000000000000000000000000000000C1
+:100F300000000000000000000000000000000000B1
+:100F400000000000000000000000000000000000A1
+:100F50000000000000000000000000000000000091
+:100F60000000000000000000000000000000000081
+:100F70000000000000000000000000000000000071
+:100F80000000000000000000000000000000000061
+:100F90000000000000000000000000000000000051
+:100FA0000000000000000000000000000000000041
+:100FB0000000000000000000000000000000000031
+:100FC0000000000000000000000000000000000021
+:100FD00000000000000000020202020202020202FF
+:100FE00002020000000000000000000000000000FD
+:100FF00001010101010101000000000000000000EA
+:1010000000000000000000000000000000000000E0
+:1010100000000000000000000000000000000000D0
+:1010200000000000000000000000000000000000C0
+:1010300000000000000000000000000000000000B0
+:1010400000000000000000000000000000000000A0
+:101050000000000000000000000000000000000090
+:101060000000000000000000000000000000000080
+:101070000000000000000000000000000000000070
+:101080000000000000000000000000000000000060
+:101090000000000000000000000000000000000050
+:1010A0000000000000000000000000000000000040
+:1010B0000000000000000000000000000000000030
+:1010C0000000000000000000000000000000000020
+:1010D00000000000000000020202020202020202FE
+:1010E00002020000000000000000000000000001FB
+:1010F00001010101010101000000000000000000E9
+:1011000000000000000000000000000000000000DF
+:1011100000000000000000000000000000000000CF
+:1011200000000000000000000000000000000000BF
+:1011300000000000000000000000000000000000AF
+:10114000000000000000000000000000000000009F
+:10115000000000000000000000000000000000008F
+:10116000000000000000000000000000000000007F
+:10117000000000000000000000000000000000006F
+:10118000000000000000000000000000000000005F
+:10119000000000000000000000000000000000004F
+:1011A000000000000000000000000000000000003F
+:1011B000000000000000000000000000000000002F
+:1011C000000000000000000000000000000000001F
+:1011D00000000000000000020202020202020202FD
+:1011E00002020200000000000000000000000101F7
+:1011F00001010101010101000000000000000000E8
+:1012000000000000000000000000000000000000DE
+:1012100000000000000000000000000000000000CE
+:1012200000000000000000000000000000000000BE
+:1012300000000000000000000000000000000000AE
+:10124000000000000000000000000000000000009E
+:10125000000000000000000000000000000000008E
+:10126000000000000000000000000000000000007E
+:10127000000000000000000000000000000000006E
+:10128000000000000000000000000000000000005E
+:10129000000000000000000000000000000000004E
+:1012A000000000000000000000000000000000003E
+:1012B000000000000000000000000000000000002E
+:1012C000000000000000000000000000000000001E
+:1012D00000000000000000020202020202020202FC
+:1012E00002020200000000000000000000010101F5
+:1012F00001010101010101000000000000000000E7
+:1013000000000000000000000000000000000000DD
+:1013100000000000000000000000000000000000CD
+:1013200000000000000000000000000000000000BD
+:1013300000000000000000000000000000000000AD
+:10134000000000000000000000000000000000009D
+:10135000000000000000000000000000000000008D
+:10136000000000000000000000000000000000007D
+:10137000000000000000000000000000000000006D
+:10138000000000000000000000000000000000005D
+:10139000000000000000000000000000000000004D
+:1013A000000000000000000000000000000000003D
+:1013B000000000000000000000000000000000002D
+:1013C000000000000000000000000000000000001D
+:1013D00000000000000000020202020202020202FB
+:1013E00002020202000000000000000001010101F1
+:1013F00001010101010101000000000000000000E6
+:1014000000000000000000000000000000000000DC
+:1014100000000000000000000000000000000000CC
+:1014200000000000000000000000000000000000BC
+:1014300000000000000000000000000000000000AC
+:10144000000000000000000000000000000000009C
+:10145000000000000000000000000000000000008C
+:10146000000000000000000000000000000000007C
+:10147000000000000000000000000000000000006C
+:10148000000000000000000000000000000000005C
+:10149000000000000000000000000000000000004C
+:1014A000000000000000000000000000000000003C
+:1014B000000000000000000000000000000000002C
+:1014C000000000000000000000000000000000001C
+:1014D00000000000000000020202020202020202FA
+:1014E00002020202000000000000000101010101EF
+:1014F00001010101010101000000000000000000E5
+:1015000000000000000000000000000000000000DB
+:1015100000000000000000000000000000000000CB
+:1015200000000000000000000000000000000000BB
+:1015300000000000000000000000000000000000AB
+:10154000000000000000000000000000000000009B
+:10155000000000000000000000000000000000008B
+:10156000000000000000000000000000000000007B
+:10157000000000000000000000000000000000006B
+:10158000000000000000000000000000000000005B
+:10159000000000000000000000000000000000004B
+:1015A000000000000000000000000000000000003B
+:1015B000000000000000000000000000000000002B
+:1015C000000000000000000000000000000000001B
+:1015D00000000000000000020202020202020202F9
+:1015E00002020202000000000000010101010101ED
+:1015F00001010101010101000000000000000000E4
+:1016000000000000000000000000000000000000DA
+:1016100000000000000000000000000000000000CA
+:1016200000000000000000000000000000000000BA
+:1016300000000000000000000000000000000000AA
+:10164000000000000000000000000000000000009A
+:10165000000000000000000000000000000000008A
+:10166000000000000000000000000000000000007A
+:10167000000000000000000000000000000000006A
+:10168000000000000000000000000000000000005A
+:10169000000000000000000000000000000000004A
+:1016A000000000000000000000000000000000003A
+:1016B000000000000000000000000000000000002A
+:1016C000000000000000000000000000000000001A
+:1016D00000000000000000020202020202020202F8
+:1016E00002020202000000000000010101010101EC
+:1016F00001010101010101000000000000000000E3
+:1017000000000000000000000000000000000000D9
+:1017100000000000000000000000000000000000C9
+:1017200000000000000000000000000000000000B9
+:1017300000000000000000000000000000000000A9
+:101740000000000000000000000000000000000099
+:101750000000000000000000000000000000000089
+:101760000000000000000000000000000000000079
+:101770000000000000000000000000000000000069
+:101780000000000000000000000000000000000059
+:101790000000000000000000000000000000000049
+:1017A0000000000000000000000000000000000039
+:1017B0000000000000000000000000000000000029
+:1017C0000000000000000000000000000000000019
+:1017D00000000000000000020202020202020202F7
+:1017E00002020202020200000001010101010101E6
+:1017F00001010101010101000000000000000000E2
+:1018000000000000000000000000000000000000D8
+:1018100000000000000000000000000000000000C8
+:1018200000000000000000000000000000000000B8
+:1018300000000000000000000000000000000000A8
+:101840000000000000000000000000000000000098
+:101850000000000000000000000000000000000088
+:101860000000000000000000000000000000000078
+:101870000000000000000000000000000000000068
+:101880000000000000000000000000000000000058
+:101890000000000000000000000000000000000048
+:1018A0000000000000000000000000000000000038
+:1018B0000000000000000000000000000000000028
+:1018C0000000000000000000000000000000000018
+:1018D00000000000000000020202020202020202F6
+:1018E00002020202020200000101010101010101E4
+:1018F00001010101010101000000000000000000E1
+:1019000000000000000000000000000000000000D7
+:1019100000000000000000000000000000000000C7
+:1019200000000000000000000000000000000000B7
+:1019300000000000000000000000000000000000A7
+:101940000000000000000000000000000000000097
+:101950000000000000000000000000000000000087
+:101960000000000000000000000000000000000077
+:101970000000000000000000000000000000000067
+:101980000000000000000000000000000000000057
+:101990000000000000000000000000000000000047
+:1019A0000000000000000000000000000000000037
+:1019B0000000000000000000000000000000000027
+:1019C0000000000000000000000000000000000017
+:1019D00000000000000000020202020202020202F5
+:1019E00002020202020200000101010101010101E3
+:1019F00001010101010101000000000000000000E0
+:101A000000000000000000000000000000000000D6
+:101A100000000000000000000000000000000000C6
+:101A200000000000000000000000000000000000B6
+:101A300000000000000000000000000000000000A6
+:101A40000000000000000000000000000000000096
+:101A50000000000000000000000000000000000086
+:101A60000000000000000000000000000000000076
+:101A70000000000000000000000000000000000066
+:101A80000000000000000000000000000000000056
+:101A90000000000000000000000000000000000046
+:101AA0000000000000000000000000000000000036
+:101AB0000000000000000000000000000000000026
+:101AC0000000000000000000000000000000000016
+:101AD00000000000000000020202020202020202F4
+:101AE00002020202020200000000000000000000EA
+:101AF00000000000000000000000000000000000E6
+:101B000000000000000000000000000000000000D5
+:101B100000000000000000000000000000000000C5
+:101B200000000000000000000000000000000000B5
+:101B300000000000000000000000000000000000A5
+:101B40000000000000000000000000000000000095
+:101B50000000000000000000000000000000000085
+:101B60000000000000000000000000000000000075
+:101B70000000000000000000000000000000000065
+:101B80000000000000000000000000000000000055
+:101B90000000000000000000000000000000000045
+:101BA0000000000000000000000000000000000035
+:101BB0000000000000000000000000000000000025
+:101BC0000000000000000000000000000000000015
+:101BD0000000000000000000000000000000000005
+:101BE00000000000000000160000000000000000DF
+:101BF00000000000000000000000000000000100E4
+:101C000000000000000000000000000000000000D4
+:101C100000000000000000000000000000000000C4
+:101C200000000000000000000000000000000000B4
+:101C300000000000000000000000000000000000A4
+:101C40000000000000000000000000000000000094
+:101C50000000000000000000000000000000000084
+:101C60000000000000000000000000000000000074
+:101C70000000000000000000000000000000000064
+:101C80000000000000000000000000000000000054
+:101C90000000000000000000000000000000000044
+:101CA0000000000000000000000000000000000034
+:101CB0000000000000000000000000000000000024
+:101CC0000000000000000000000000000000000014
+:101CD0000000000000000000000000000000000202
+:101CE00000000000000000000000000000000000F4
+:101CF00000000000000000000000000000000100E3
+:101D000000000000000000000000000000000000D3
+:101D100000000000000000000000000000000000C3
+:101D200000000000000000000000000000000000B3
+:101D300000000000000000000000000000000000A3
+:101D40000000000000000000000000000000000093
+:101D50000000000000000000000000000000000083
+:101D60000000000000000000000000000000000073
+:101D70000000000000000000000000000000000063
+:101D80000000000000000000000000000000000053
+:101D90000000000000000000000000000000000043
+:101DA0000000000000000000000000000000000033
+:101DB0000000000000000000000000000000000023
+:101DC0000000000000000000000000000000000013
+:101DD0000000000000000000000000000000000201
+:101DE00000000000000000000000000000000000F3
+:101DF00000000000000000000000000001010100E0
+:101E000000000000000000000000000000000000D2
+:101E100000000000000000000000000000000000C2
+:101E200000000000000000000000000000000000B2
+:101E300000000000000000000000000000000000A2
+:101E40000000000000000000000000000000000092
+:101E50000000000000000000000000000000000082
+:101E60000000000000000000000000000000000072
+:101E70000000000000000000000000000000000062
+:101E80000000000000000000000000000000000052
+:101E90000000000000000000000000000000000042
+:101EA0000000000000000000000000000000000032
+:101EB0000000000000000000000000000000000022
+:101EC0000000000000000000000000000000000012
+:101ED0000000000000000000000000000000000200
+:101EE00000000000000000000000000000000000F2
+:101EF00000000000000000000000000001010100DF
+:101F000000000000000000000000000000000000D1
+:101F100000000000000000000000000000000000C1
+:101F200000000000000000000000000000000000B1
+:101F300000000000000000000000000000000000A1
+:101F40000000000000000000000000000000000091
+:101F50000000000000000000000000000000000081
+:101F60000000000000000000000000000000000071
+:101F70000000000000000000000000000000000061
+:101F80000000000000000000000000000000000051
+:101F90000000000000000000000000000000000041
+:101FA0000000000000000000000000000000000031
+:101FB0000000000000000000000000000000000021
+:101FC0000000000000000000000000000000000011
+:101FD00000000000000000000000000000000002FF
+:101FE00001000000000000000000000000000000F0
+:101FF00000000000000000000000000101010100DD
+:1020000000000000000000000000000000000000D0
+:1020100000000000000000000000000000000000C0
+:1020200000000000000000000000000000000000B0
+:1020300000000000000000000000000000000000A0
+:102040000000000000000000000000000000000090
+:102050000000000000000000000000000000000080
+:102060000000000000000000000000000000000070
+:102070000000000000000000000000000000000060
+:102080000000000000000000000000000000000050
+:102090000000000000000000000000000000000040
+:1020A0000000000000000000000000000000000030
+:1020B0000000000000000000000000000000000020
+:1020C0000000000000000000000000000000000010
+:1020D00000000000000000000000000000000002FE
+:1020E00002000000000000000000000000000000EE
+:1020F00000000000000000000000010101010100DB
+:1021000000000000000000000000000000000000CF
+:1021100000000000000000000000000000000000BF
+:1021200000000000000000000000000000000000AF
+:10213000000000000000000000000000000000009F
+:10214000000000000000000000000000000000008F
+:10215000000000000000000000000000000000007F
+:10216000000000000000000000000000000000006F
+:10217000000000000000000000000000000000005F
+:10218000000000000000000000000000000000004F
+:10219000000000000000000000000000000000003F
+:1021A000000000000000000000000000000000002F
+:1021B000000000000000000000000000000000001F
+:1021C000000000000000000000000000000000000F
+:1021D00000000000000000000000000000000002FD
+:1021E00002000000000000000000000000000000ED
+:1021F00000000000000000000000010101010100DA
+:1022000000000000000000000000000000000000CE
+:1022100000000000000000000000000000000000BE
+:1022200000000000000000000000000000000000AE
+:10223000000000000000000000000000000000009E
+:10224000000000000000000000000000000000008E
+:10225000000000000000000000000000000000007E
+:10226000000000000000000000000000000000006E
+:10227000000000000000000000000000000000005E
+:10228000000000000000000000000000000000004E
+:10229000000000000000000000000000000000003E
+:1022A000000000000000000000000000000000002E
+:1022B000000000000000000000000000000000001E
+:1022C000000000000000000000000000000000000E
+:1022D00000000000000000000000000000000002FC
+:1022E00002020000000000000000000000000000EA
+:1022F00000000000000000000001010101010100D8
+:1023000000000000000000000000000000000000CD
+:1023100000000000000000000000000000000000BD
+:1023200000000000000000000000000000000000AD
+:10233000000000000000000000000000000000009D
+:10234000000000000000000000000000000000008D
+:10235000000000000000000000000000000000007D
+:10236000000000000000000000000000000000006D
+:10237000000000000000000000000000000000005D
+:10238000000000000000000000000000000000004D
+:10239000000000000000000000000000000000003D
+:1023A000000000000000000000000000000000002D
+:1023B000000000000000000000000000000000001D
+:1023C000000000000000000000000000000000000D
+:1023D00000000000000000000000000000000002FB
+:1023E00002020000000000000000000000000000E9
+:1023F00000000000000000010101010101010100D5
+:1024000000000000000000000000000000000000CC
+:1024100000000000000000000000000000000000BC
+:1024200000000000000000000000000000000000AC
+:10243000000000000000000000000000000000009C
+:10244000000000000000000000000000000000008C
+:10245000000000000000000000000000000000007C
+:10246000000000000000000000000000000000006C
+:10247000000000000000000000000000000000005C
+:10248000000000000000000000000000000000004C
+:10249000000000000000000000000000000000003C
+:1024A000000000000000000000000000000000002C
+:1024B000000000000000000000000000000000001C
+:1024C000000000000000000000000000000000000C
+:1024D00000000000000000000000000000000002FA
+:1024E00002020200000000000000000000000000E6
+:1024F00000000000000000010101010101010100D4
+:1025000000000000000000000000000000000000CB
+:1025100000000000000000000000000000000000BB
+:1025200000000000000000000000000000000000AB
+:10253000000000000000000000000000000000009B
+:10254000000000000000000000000000000000008B
+:10255000000000000000000000000000000000007B
+:10256000000000000000000000000000000000006B
+:10257000000000000000000000000000000000005B
+:10258000000000000000000000000000000000004B
+:10259000000000000000000000000000000000003B
+:1025A000000000000000000000000000000000002B
+:1025B000000000000000000000000000000000001B
+:1025C000000000000000000000000000000000000B
+:1025D00000000000000000000000000000000002F9
+:1025E00002020202020000000000000001000000E0
+:1025F00000000000000101010101010101010100D1
+:1026000000000000000000000000000000000000CA
+:1026100000000000000000000000000000000000BA
+:1026200000000000000000000000000000000000AA
+:10263000000000000000000000000000000000009A
+:10264000000000000000000000000000000000008A
+:10265000000000000000000000000000000000007A
+:10266000000000000000000000000000000000006A
+:10267000000000000000000000000000000000005A
+:10268000000000000000000000000000000000004A
+:10269000000000000000000000000000000000003A
+:1026A000000000000000000000000000000000002A
+:1026B000000000000000000000000000000000001A
+:1026C000000000000000000000000000000000000A
+:1026D00000000000000000000000000000000002F8
+:1026E00002020202020000000000000001000000DF
+:1026F00000000000000101010101010101010100D0
+:1027000000000000000000000000000000000000C9
+:1027100000000000000000000000000000000000B9
+:1027200000000000000000000000000000000000A9
+:102730000000000000000000000000000000000099
+:102740000000000000000000000000000000000089
+:102750000000000000000000000000000000000079
+:102760000000000000000000000000000000000069
+:102770000000000000000000000000000000000059
+:102780000000000000000000000000000000000049
+:102790000000000000000000000000000000000039
+:1027A0000000000000000000000000000000000029
+:1027B0000000000000000000000000000000000019
+:1027C0000000000000000000000000000000000009
+:1027D00000000000000000000000000000000002F7
+:1027E00002020202020202000000000001000000DA
+:1027F00000000001010101010101010101010100CD
+:1028000000000000000000000000000000000000C8
+:1028100000000000000000000000000000000000B8
+:1028200000000000000000000000000000000000A8
+:102830000000000000000000000000000000000098
+:102840000000000000000000000000000000000088
+:102850000000000000000000000000000000000078
+:102860000000000000000000000000000000000068
+:102870000000000000000000000000000000000058
+:102880000000000000000000000000000000000048
+:102890000000000000000000000000000000000038
+:1028A0000000000000000000000000000000000028
+:1028B0000000000000000000000000000000000018
+:1028C0000000000000000000000000000000000008
+:1028D00000000000000000000000000000000002F6
+:1028E00002020202020202000000000001000000D9
+:1028F00000000101010101010101010101010100CB
+:1029000000000000000000000000000000000000C7
+:1029100000000000000000000000000000000000B7
+:1029200000000000000000000000000000000000A7
+:102930000000000000000000000000000000000097
+:102940000000000000000000000000000000000087
+:102950000000000000000000000000000000000077
+:102960000000000000000000000000000000000067
+:102970000000000000000000000000000000000057
+:102980000000000000000000000000000000000047
+:102990000000000000000000000000000000000037
+:1029A0000000000000000000000000000000000027
+:1029B0000000000000000000000000000000000017
+:1029C0000000000000000000000000000000000007
+:1029D00000000000000000000000000000000002F5
+:1029E00002020202020202020200000001000000D4
+:1029F00000000101010101010101010101010100CA
+:102A000000000000000000000000000000000000C6
+:102A100000000000000000000000000000000000B6
+:102A200000000000000000000000000000000000A6
+:102A30000000000000000000000000000000000096
+:102A40000000000000000000000000000000000086
+:102A50000000000000000000000000000000000076
+:102A60000000000000000000000000000000000066
+:102A70000000000000000000000000000000000056
+:102A80000000000000000000000000000000000046
+:102A90000000000000000000000000000000000036
+:102AA0000000000000000000000000000000000026
+:102AB0000000000000000000000000000000000016
+:102AC0000000000000000000000000000000000006
+:102AD00000000000000000000000000000000002F4
+:102AE00002020202020202020202010002000000CF
+:102AF00000010101010101010101010101010100C8
+:102B000000000000000000000000000000000000C5
+:102B100000000000000000000000000000000000B5
+:102B200000000000000000000000000000000000A5
+:102B30000000000000000000000000000000000095
+:102B40000000000000000000000000000000000085
+:102B50000000000000000000000000000000000075
+:102B60000000000000000000000000000000000065
+:102B70000000000000000000000000000000000055
+:102B80000000000000000000000000000000000045
+:102B90000000000000000000000000000000000035
+:102BA0000000000000000000000000000000000025
+:102BB0000000000000000000000000000000000015
+:102BC0000000000000000000000000000000000005
+:102BD00000000000000000000000000000000002F3
+:102BE00002020202020202020202020102000000CC
+:102BF00001010101010101010101010101010100C6
+:102C000000000000000000000000000000000000C4
+:102C100000000000000000000000000000000000B4
+:102C200000000000000000000000000000000000A4
+:102C30000000000000000000000000000000000094
+:102C40000000000000000000000000000000000084
+:102C50000000000000000000000000000000000074
+:102C60000000000000000000000000000000000064
+:102C70000000000000000000000000000000000054
+:102C80000000000000000000000000000000000044
+:102C90000000000000000000000000000000000034
+:102CA0000000000000000000000000000000000024
+:102CB0000000000000000000000000000000000014
+:102CC0000000000000000000000000000000000004
+:102CD00000000000000000000000000000000002F2
+:102CE00002020202020202020202020202000000CA
+:102CF00001010101010101010101010101010100C5
+:102D000000000000000000000000000000000000C3
+:102D100000000000000000000000000000000000B3
+:102D200000000000000000000000000000000000A3
+:102D30000000000000000000000000000000000093
+:102D40000000000000000000000000000000000083
+:102D50000000000000000000000000000000000073
+:102D60000000000000000000000000000000000063
+:102D70000000000000000000000000000000000053
+:102D80000000000000000000000000000000000043
+:102D90000000000000000000000000000000000033
+:102DA0000000000000000000000000000000000023
+:102DB0000000000000000000000000000000000013
+:102DC0000000000000000000000000000000000003
+:102DD00000000000000000000000000000000002F1
+:102DE00002020202020202020202020202010000C8
+:102DF00001010101010101010101010101010100C4
+:102E000000000000000000000000000000000000C2
+:102E100000000000000000000000000000000000B2
+:102E200000000000000000000000000000000000A2
+:102E30000000000000000000000000000000000092
+:102E40000000000000000000000000000000000082
+:102E50000000000000000000000000000000000072
+:102E60000000000000000000000000000000000062
+:102E70000000000000000000000000000000000052
+:102E80000000000000000000000000000000000042
+:102E90000000000000000000000000000000000032
+:102EA0000000000000000000000000000000000022
+:102EB0000000000000000000000000000000000012
+:102EC0000000000000000000000000000000000002
+:102ED00000000000000000000000000000000002F0
+:102EE00002020202020202020202020202020000C6
+:102EF00001010101010101010101010101010100C3
+:102F000000000000000000000000000000000000C1
+:102F100000000000000000000000000000000000B1
+:102F200000000000000000000000000000000000A1
+:102F30000000000000000000000000000000000091
+:102F40000000000000000000000000000000000081
+:102F50000000000000000000000000000000000071
+:102F60000000000000000000000000000000000061
+:102F70000000000000000000000000000000000051
+:102F80000000000000000000000000000000000041
+:102F90000000000000000000000000000000000031
+:102FA0000000000000000000000000000000000021
+:102FB0000000000000000000000000000000000011
+:102FC0000000000000000000000000000000000001
+:102FD00000000000000000000000000000000002EF
+:102FE00002020202020202020202020202020000C5
+:102FF00001010101010101010101010101010100C2
+:1030000000000000000000000000000000000000C0
+:1030100000000000000000000000000000000000B0
+:1030200000000000000000000000000000000000A0
+:103030000000000000000000000000000000000090
+:103040000000000000000000000000000000000080
+:103050000000000000000000000000000000000070
+:103060000000000000000000000000000000000060
+:103070000000000000000000000000000000000050
+:103080000000000000000000000000000000000040
+:103090000000000000000000000000000000000030
+:1030A0000000000000000000000000000000000020
+:1030B0000000000000000000000000000000000010
+:1030C0000000000000000000000000000000000000
+:1030D00000000000000000000000000000000002EE
+:1030E00002020202020202020202020202020000C4
+:1030F00000000000000000000000000000000000D0
+:1031000000000000000000000000000000000000BF
+:1031100000000000000000000000000000000000AF
+:10312000000000000000000000000000000000009F
+:10313000000000000000000000000000000000008F
+:10314000000000000000000000000000000000007F
+:10315000000000000000000000000000000000006F
+:10316000000000000000000000000000000000005F
+:10317000000000000000000000000000000000004F
+:10318000000000000000000000000000000000003F
+:10319000000000000000000000000000000000002F
+:1031A000000000000000000000000000000000001F
+:1031B000000000000000000000000000000000000F
+:1031C00000000000000000000000000000000000FF
+:1031D00000000000000000000000000000000000EF
+:1031E00000000000000000000000000000000016C9
+:1031F00000000000000000000000000000000000CF
+:1032000000000000000001000000000000000000BD
+:1032100000000000000000000000000000000000AE
+:10322000000000000000000000000000000000009E
+:10323000000000000000000000000000000000008E
+:10324000000000000000000000000000000000007E
+:10325000000000000000000000000000000000006E
+:10326000000000000000000000000000000000005E
+:10327000000000000000000000000000000000004E
+:10328000000000000000000000000000000000003E
+:10329000000000000000000000000000000000002E
+:1032A000000000000000000000000000000000001E
+:1032B000000000000000000000000000000000000E
+:1032C00000000000000000000000000000000000FE
+:1032D00000000000000000000000000000000000EE
+:1032E00000000000000000020000000000000000DC
+:1032F00000000000000000000000000000000000CE
+:1033000000000000000001000000000000000000BC
+:1033100000000000000000000000000000000000AD
+:10332000000000000000000000000000000000009D
+:10333000000000000000000000000000000000008D
+:10334000000000000000000000000000000000007D
+:10335000000000000000000000000000000000006D
+:10336000000000000000000000000000000000005D
+:10337000000000000000000000000000000000004D
+:10338000000000000000000000000000000000003D
+:10339000000000000000000000000000000000002D
+:1033A000000000000000000000000000000000001D
+:1033B000000000000000000000000000000000000D
+:1033C00000000000000000000000000000000000FD
+:1033D00000000000000000000000000000000000ED
+:1033E00000000000000000020000000000000000DB
+:1033F00000000000000000000000000000000000CD
+:1034000000000000000101000000000000000000BA
+:1034100000000000000000000000000000000000AC
+:10342000000000000000000000000000000000009C
+:10343000000000000000000000000000000000008C
+:10344000000000000000000000000000000000007C
+:10345000000000000000000000000000000000006C
+:10346000000000000000000000000000000000005C
+:10347000000000000000000000000000000000004C
+:10348000000000000000000000000000000000003C
+:10349000000000000000000000000000000000002C
+:1034A000000000000000000000000000000000001C
+:1034B000000000000000000000000000000000000C
+:1034C00000000000000000000000000000000000FC
+:1034D00000000000000000000000000000000000EC
+:1034E00000000000000000020000000000000000DA
+:1034F00000000000000000000000000000000000CC
+:1035000000000000000101000000000000000000B9
+:1035100000000000000000000000000000000000AB
+:10352000000000000000000000000000000000009B
+:10353000000000000000000000000000000000008B
+:10354000000000000000000000000000000000007B
+:10355000000000000000000000000000000000006B
+:10356000000000000000000000000000000000005B
+:10357000000000000000000000000000000000004B
+:10358000000000000000000000000000000000003B
+:10359000000000000000000000000000000000002B
+:1035A000000000000000000000000000000000001B
+:1035B000000000000000000000000000000000000B
+:1035C00000000000000000000000000000000000FB
+:1035D00000000000000000000000000000000000EB
+:1035E00000000000000000020000000000000000D9
+:1035F00000000000000000000000000000000000CB
+:1036000000000001010101000000000000000000B6
+:1036100000000000000000000000000000000000AA
+:10362000000000000000000000000000000000009A
+:10363000000000000000000000000000000000008A
+:10364000000000000000000000000000000000007A
+:10365000000000000000000000000000000000006A
+:10366000000000000000000000000000000000005A
+:10367000000000000000000000000000000000004A
+:10368000000000000000000000000000000000003A
+:10369000000000000000000000000000000000002A
+:1036A000000000000000000000000000000000001A
+:1036B000000000000000000000000000000000000A
+:1036C00000000000000000000000000000000000FA
+:1036D00000000000000000000000000000000000EA
+:1036E00000000000000000020000000000000000D8
+:1036F00000000000000000000000000000000000CA
+:1037000000000001010101000000000000000000B5
+:1037100000000000000000000000000000000000A9
+:103720000000000000000000000000000000000099
+:103730000000000000000000000000000000000089
+:103740000000000000000000000000000000000079
+:103750000000000000000000000000000000000069
+:103760000000000000000000000000000000000059
+:103770000000000000000000000000000000000049
+:103780000000000000000000000000000000000039
+:103790000000000000000000000000000000000029
+:1037A0000000000000000000000000000000000019
+:1037B0000000000000000000000000000000000009
+:1037C00000000000000000000000000000000000F9
+:1037D00000000000000000000000000000000000E9
+:1037E00000000000000000020200000000000000D5
+:1037F00000000000000000000000000000000000C9
+:1038000000000101010101000000000000000000B3
+:1038100000000000000000000000000000000000A8
+:103820000000000000000000000000000000000098
+:103830000000000000000000000000000000000088
+:103840000000000000000000000000000000000078
+:103850000000000000000000000000000000000068
+:103860000000000000000000000000000000000058
+:103870000000000000000000000000000000000048
+:103880000000000000000000000000000000000038
+:103890000000000000000000000000000000000028
+:1038A0000000000000000000000000000000000018
+:1038B0000000000000000000000000000000000008
+:1038C00000000000000000000000000000000000F8
+:1038D00000000000000000000000000000000000E8
+:1038E00000000000000000020202000000000000D2
+:1038F00000000000000000000000000000000000C8
+:1039000000010101010101000000000000000000B1
+:1039100000000000000000000000000000000000A7
+:103920000000000000000000000000000000000097
+:103930000000000000000000000000000000000087
+:103940000000000000000000000000000000000077
+:103950000000000000000000000000000000000067
+:103960000000000000000000000000000000000057
+:103970000000000000000000000000000000000047
+:103980000000000000000000000000000000000037
+:103990000000000000000000000000000000000027
+:1039A0000000000000000000000000000000000017
+:1039B0000000000000000000000000000000000007
+:1039C00000000000000000000000000000000000F7
+:1039D00000000000000000000000000000000000E7
+:1039E00000000000000000020202020000000000CF
+:1039F00000000000000000000000000000000000C7
+:103A000001010101010101000000000000000000AF
+:103A100000000000000000000000000000000000A6
+:103A20000000000000000000000000000000000096
+:103A30000000000000000000000000000000000086
+:103A40000000000000000000000000000000000076
+:103A50000000000000000000000000000000000066
+:103A60000000000000000000000000000000000056
+:103A70000000000000000000000000000000000046
+:103A80000000000000000000000000000000000036
+:103A90000000000000000000000000000000000026
+:103AA0000000000000000000000000000000000016
+:103AB0000000000000000000000000000000000006
+:103AC00000000000000000000000000000000000F6
+:103AD00000000000000000000000000000000000E6
+:103AE00000000000000000020202020000000000CE
+:103AF00000000000000000000000000000000000C6
+:103B000001010101010101000000000000000000AE
+:103B100000000000000000000000000000000000A5
+:103B20000000000000000000000000000000000095
+:103B30000000000000000000000000000000000085
+:103B40000000000000000000000000000000000075
+:103B50000000000000000000000000000000000065
+:103B60000000000000000000000000000000000055
+:103B70000000000000000000000000000000000045
+:103B80000000000000000000000000000000000035
+:103B90000000000000000000000000000000000025
+:103BA0000000000000000000000000000000000015
+:103BB0000000000000000000000000000000000005
+:103BC00000000000000000000000000000000000F5
+:103BD00000000000000000000000000000000000E5
+:103BE00000000000000000020202020202020202C3
+:103BF00000000000000000000000000000000000C5
+:103C000001010101010101000000000000000000AD
+:103C100000000000000000000000000000000000A4
+:103C20000000000000000000000000000000000094
+:103C30000000000000000000000000000000000084
+:103C40000000000000000000000000000000000074
+:103C50000000000000000000000000000000000064
+:103C60000000000000000000000000000000000054
+:103C70000000000000000000000000000000000044
+:103C80000000000000000000000000000000000034
+:103C90000000000000000000000000000000000024
+:103CA0000000000000000000000000000000000014
+:103CB0000000000000000000000000000000000004
+:103CC00000000000000000000000000000000000F4
+:103CD00000000000000000000000000000000000E4
+:103CE00000000000000000020202020202020202C2
+:103CF00000000000000000000000000000000000C4
+:103D000001010101010101000000000000000000AC
+:103D100000000000000000000000000000000000A3
+:103D20000000000000000000000000000000000093
+:103D30000000000000000000000000000000000083
+:103D40000000000000000000000000000000000073
+:103D50000000000000000000000000000000000063
+:103D60000000000000000000000000000000000053
+:103D70000000000000000000000000000000000043
+:103D80000000000000000000000000000000000033
+:103D90000000000000000000000000000000000023
+:103DA0000000000000000000000000000000000013
+:103DB0000000000000000000000000000000000003
+:103DC00000000000000000000000000000000000F3
+:103DD00000000000000000000000000000000000E3
+:103DE00000000000000000020202020202020202C1
+:103DF00000000000000000000000000101010101BE
+:103E000001010101010101000000000000000000AB
+:103E100000000000000000000000000000000000A2
+:103E20000000000000000000000000000000000092
+:103E30000000000000000000000000000000000082
+:103E40000000000000000000000000000000000072
+:103E50000000000000000000000000000000000062
+:103E60000000000000000000000000000000000052
+:103E70000000000000000000000000000000000042
+:103E80000000000000000000000000000000000032
+:103E90000000000000000000000000000000000022
+:103EA0000000000000000000000000000000000012
+:103EB0000000000000000000000000000000000002
+:103EC00000000000000000000000000000000000F2
+:103ED00000000000000000000000000000000000E2
+:103EE00000000000000000020202020202020202C0
+:103EF00000000000000000000000000101010101BD
+:103F000001010101010101000000000000000000AA
+:103F100000000000000000000000000000000000A1
+:103F20000000000000000000000000000000000091
+:103F30000000000000000000000000000000000081
+:103F40000000000000000000000000000000000071
+:103F50000000000000000000000000000000000061
+:103F60000000000000000000000000000000000051
+:103F70000000000000000000000000000000000041
+:103F80000000000000000000000000000000000031
+:103F90000000000000000000000000000000000021
+:103FA0000000000000000000000000000000000011
+:103FB0000000000000000000000000000000000001
+:103FC00000000000000000000000000000000000F1
+:103FD00000000000000000000000000000000000E1
+:103FE00000000000000000020202020202020202BF
+:103FF00002000000000000000000010101010101B9
+:1040000001010101010101000000000000000000A9
+:1040100000000000000000000000000000000000A0
+:104020000000000000000000000000000000000090
+:104030000000000000000000000000000000000080
+:104040000000000000000000000000000000000070
+:104050000000000000000000000000000000000060
+:104060000000000000000000000000000000000050
+:104070000000000000000000000000000000000040
+:104080000000000000000000000000000000000030
+:104090000000000000000000000000000000000020
+:1040A0000000000000000000000000000000000010
+:1040B0000000000000000000000000000000000000
+:1040C00000000000000000000000000000000000F0
+:1040D00000000000000000000000000000000000E0
+:1040E00000000000000000020202020202020202BE
+:1040F00002020000000000000001010101010101B5
+:1041000001010101010101000000000000000000A8
+:10411000000000000000000000000000000000009F
+:10412000000000000000000000000000000000008F
+:10413000000000000000000000000000000000007F
+:10414000000000000000000000000000000000006F
+:10415000000000000000000000000000000000005F
+:10416000000000000000000000000000000000004F
+:10417000000000000000000000000000000000003F
+:10418000000000000000000000000000000000002F
+:10419000000000000000000000000000000000001F
+:1041A000000000000000000000000000000000000F
+:1041B00000000000000000000000000000000000FF
+:1041C00000000000000000000000000000000000EF
+:1041D00000000000000000000000000000000000DF
+:1041E00000000000000000020202020202020202BD
+:1041F00002020201000000000101010101010101B0
+:1042000001010101010101000000000000000000A7
+:10421000000000000000000000000000000000009E
+:10422000000000000000000000000000000000008E
+:10423000000000000000000000000000000000007E
+:10424000000000000000000000000000000000006E
+:10425000000000000000000000000000000000005E
+:10426000000000000000000000000000000000004E
+:10427000000000000000000000000000000000003E
+:10428000000000000000000000000000000000002E
+:10429000000000000000000000000000000000001E
+:1042A000000000000000000000000000000000000E
+:1042B00000000000000000000000000000000000FE
+:1042C00000000000000000000000000000000000EE
+:1042D00000000000000000000000000000000000DE
+:1042E00000000000000000020202020202020202BC
+:1042F00002020202000000000101010101010101AE
+:1043000001010101010101000000000000000000A6
+:10431000000000000000000000000000000000009D
+:10432000000000000000000000000000000000008D
+:10433000000000000000000000000000000000007D
+:10434000000000000000000000000000000000006D
+:10435000000000000000000000000000000000005D
+:10436000000000000000000000000000000000004D
+:10437000000000000000000000000000000000003D
+:10438000000000000000000000000000000000002D
+:10439000000000000000000000000000000000001D
+:1043A000000000000000000000000000000000000D
+:1043B00000000000000000000000000000000000FD
+:1043C00000000000000000000000000000000000ED
+:1043D00000000000000000000000000000000000DD
+:1043E00000000000000000020202020202020202BB
+:1043F00002020202020100000101010101010101AA
+:1044000001010101010101000000000000000000A5
+:10441000000000000000000000000000000000009C
+:10442000000000000000000000000000000000008C
+:10443000000000000000000000000000000000007C
+:10444000000000000000000000000000000000006C
+:10445000000000000000000000000000000000005C
+:10446000000000000000000000000000000000004C
+:10447000000000000000000000000000000000003C
+:10448000000000000000000000000000000000002C
+:10449000000000000000000000000000000000001C
+:1044A000000000000000000000000000000000000C
+:1044B00000000000000000000000000000000000FC
+:1044C00000000000000000000000000000000000EC
+:1044D00000000000000000000000000000000000DC
+:1044E00000000000000000020202020202020202BA
+:1044F00002020202020200000101010101010101A8
+:1045000001010101010101000000000000000000A4
+:10451000000000000000000000000000000000009B
+:10452000000000000000000000000000000000008B
+:10453000000000000000000000000000000000007B
+:10454000000000000000000000000000000000006B
+:10455000000000000000000000000000000000005B
+:10456000000000000000000000000000000000004B
+:10457000000000000000000000000000000000003B
+:10458000000000000000000000000000000000002B
+:10459000000000000000000000000000000000001B
+:1045A000000000000000000000000000000000000B
+:1045B00000000000000000000000000000000000FB
+:1045C00000000000000000000000000000000000EB
+:1045D00000000000000000000000000000000000DB
+:1045E00000000000000000020202020202020202B9
+:1045F00002020202020200000101010101010101A7
+:1046000001010101010101000000000000000000A3
+:10461000000000000000000000000000000000009A
+:10462000000000000000000000000000000000008A
+:10463000000000000000000000000000000000007A
+:10464000000000000000000000000000000000006A
+:10465000000000000000000000000000000000005A
+:10466000000000000000000000000000000000004A
+:10467000000000000000000000000000000000003A
+:10468000000000000000000000000000000000002A
+:10469000000000000000000000000000000000001A
+:1046A000000000000000000000000000000000000A
+:1046B00000000000000000000000000000000000FA
+:1046C00000000000000000000000000000000000EA
+:1046D00000000000000000000000000000000000DA
+:1046E00000000000000000020202020202020202B8
+:1046F00002020202020200000000000000000000AE
+:1047000000000000000000000000000000000000A9
+:104710000000000000000000000000000000000099
+:104720000000000000000000000000000000000089
+:104730000000000000000000000000000000000079
+:104740000000000000000000000000000000000069
+:104750000000000000000000000000000000000059
+:104760000000000000000000000000000000000049
+:104770000000000000000000000000000000000039
+:104780000000000000000000000000000000000029
+:104790000000000000000000000000000000000019
+:1047A0000000000000000000000000000000000009
+:1047B00000000000000000000000000000000000F9
+:1047C00000000000000000000000000000000000E9
+:1047D00000000000000000000000000000000000D9
+:1047E00000000000000000000000000000000000C9
+:1047F00000000000000000160000000000000000A3
+:1048000000000000000000000000000000000100A7
+:104810000000000000000000000000000000000098
+:104820000000000000000000000000000000000088
+:104830000000000000000000000000000000000078
+:104840000000000000000000000000000000000068
+:104850000000000000000000000000000000000058
+:104860000000000000000000000000000000000048
+:104870000000000000000000000000000000000038
+:104880000000000000000000000000000000000028
+:104890000000000000000000000000000000000018
+:1048A0000000000000000000000000000000000008
+:1048B00000000000000000000000000000000000F8
+:1048C00000000000000000000000000000000000E8
+:1048D00000000000000000000000000000000000D8
+:1048E00000000000000000000000000000000002C6
+:1048F00000000000000000000000000000000000B8
+:1049000000000000000000000000000000000100A6
+:104910000000000000000000000000000000000097
+:104920000000000000000000000000000000000087
+:104930000000000000000000000000000000000077
+:104940000000000000000000000000000000000067
+:104950000000000000000000000000000000000057
+:104960000000000000000000000000000000000047
+:104970000000000000000000000000000000000037
+:104980000000000000000000000000000000000027
+:104990000000000000000000000000000000000017
+:1049A0000000000000000000000000000000000007
+:1049B00000000000000000000000000000000000F7
+:1049C00000000000000000000000000000000000E7
+:1049D00000000000000000000000000000000000D7
+:1049E00000000000000000000000000000000002C5
+:1049F00000000000000000000000000000000000B7
+:104A000000000000000000000000000000010100A4
+:104A10000000000000000000000000000000000096
+:104A20000000000000000000000000000000000086
+:104A30000000000000000000000000000000000076
+:104A40000000000000000000000000000000000066
+:104A50000000000000000000000000000000000056
+:104A60000000000000000000000000000000000046
+:104A70000000000000000000000000000000000036
+:104A80000000000000000000000000000000000026
+:104A90000000000000000000000000000000000016
+:104AA0000000000000000000000000000000000006
+:104AB00000000000000000000000000000000000F6
+:104AC00000000000000000000000000000000000E6
+:104AD00000000000000000000000000000000000D6
+:104AE00000000000000000000000000000000002C4
+:104AF00000000000000000000000000000000000B6
+:104B000000000000000000000000000000010100A3
+:104B10000000000000000000000000000000000095
+:104B20000000000000000000000000000000000085
+:104B30000000000000000000000000000000000075
+:104B40000000000000000000000000000000000065
+:104B50000000000000000000000000000000000055
+:104B60000000000000000000000000000000000045
+:104B70000000000000000000000000000000000035
+:104B80000000000000000000000000000000000025
+:104B90000000000000000000000000000000000015
+:104BA0000000000000000000000000000000000005
+:104BB00000000000000000000000000000000000F5
+:104BC00000000000000000000000000000000000E5
+:104BD00000000000000000000000000000000000D5
+:104BE00000000000000000000000000000000002C3
+:104BF00000000000000000000000000000000000B5
+:104C000000000000000000000000000101010100A0
+:104C10000000000000000000000000000000000094
+:104C20000000000000000000000000000000000084
+:104C30000000000000000000000000000000000074
+:104C40000000000000000000000000000000000064
+:104C50000000000000000000000000000000000054
+:104C60000000000000000000000000000000000044
+:104C70000000000000000000000000000000000034
+:104C80000000000000000000000000000000000024
+:104C90000000000000000000000000000000000014
+:104CA0000000000000000000000000000000000004
+:104CB00000000000000000000000000000000000F4
+:104CC00000000000000000000000000000000000E4
+:104CD00000000000000000000000000000000000D4
+:104CE00000000000000000000000000000000002C2
+:104CF00000000000000000000000000000000000B4
+:104D0000000000000000000000000001010101009F
+:104D10000000000000000000000000000000000093
+:104D20000000000000000000000000000000000083
+:104D30000000000000000000000000000000000073
+:104D40000000000000000000000000000000000063
+:104D50000000000000000000000000000000000053
+:104D60000000000000000000000000000000000043
+:104D70000000000000000000000000000000000033
+:104D80000000000000000000000000000000000023
+:104D90000000000000000000000000000000000013
+:104DA0000000000000000000000000000000000003
+:104DB00000000000000000000000000000000000F3
+:104DC00000000000000000000000000000000000E3
+:104DD00000000000000000000000000000000000D3
+:104DE00000000000000000000000000000000002C1
+:104DF00000000000000000000000000000000000B3
+:104E0000000000000000000000000001010101009E
+:104E10000000000000000000000000000000000092
+:104E20000000000000000000000000000000000082
+:104E30000000000000000000000000000000000072
+:104E40000000000000000000000000000000000062
+:104E50000000000000000000000000000000000052
+:104E60000000000000000000000000000000000042
+:104E70000000000000000000000000000000000032
+:104E80000000000000000000000000000000000022
+:104E90000000000000000000000000000000000012
+:104EA0000000000000000000000000000000000002
+:104EB00000000000000000000000000000000000F2
+:104EC00000000000000000000000000000000000E2
+:104ED00000000000000000000000000000000000D2
+:104EE00000000000000000000000000000000002C0
+:104EF00002020000000000000000000000000000AE
+:104F0000000000000000000000000101010101009C
+:104F10000000000000000000000000000000000091
+:104F20000000000000000000000000000000000081
+:104F30000000000000000000000000000000000071
+:104F40000000000000000000000000000000000061
+:104F50000000000000000000000000000000000051
+:104F60000000000000000000000000000000000041
+:104F70000000000000000000000000000000000031
+:104F80000000000000000000000000000000000021
+:104F90000000000000000000000000000000000011
+:104FA0000000000000000000000000000000000001
+:104FB00000000000000000000000000000000000F1
+:104FC00000000000000000000000000000000000E1
+:104FD00000000000000000000000000000000000D1
+:104FE00000000000000000000000000000000002BF
+:104FF00002020200000000000000000000000000AB
+:105000000000000000000000010101010101010099
+:105010000000000000000000000000000000000090
+:105020000000000000000000000000000000000080
+:105030000000000000000000000000000000000070
+:105040000000000000000000000000000000000060
+:105050000000000000000000000000000000000050
+:105060000000000000000000000000000000000040
+:105070000000000000000000000000000000000030
+:105080000000000000000000000000000000000020
+:105090000000000000000000000000000000000010
+:1050A0000000000000000000000000000000000000
+:1050B00000000000000000000000000000000000F0
+:1050C00000000000000000000000000000000000E0
+:1050D00000000000000000000000000000000000D0
+:1050E00000000000000000000000000000000002BE
+:1050F00002020202000000000000000000000000A8
+:105100000000000000000001010101010101010097
+:10511000000000000000000000000000000000008F
+:10512000000000000000000000000000000000007F
+:10513000000000000000000000000000000000006F
+:10514000000000000000000000000000000000005F
+:10515000000000000000000000000000000000004F
+:10516000000000000000000000000000000000003F
+:10517000000000000000000000000000000000002F
+:10518000000000000000000000000000000000001F
+:10519000000000000000000000000000000000000F
+:1051A00000000000000000000000000000000000FF
+:1051B00000000000000000000000000000000000EF
+:1051C00000000000000000000000000000000000DF
+:1051D00000000000000000000000000000000000CF
+:1051E00000000000000000000000000000000002BD
+:1051F00002020202020000000000000000000000A5
+:105200000000000000000101010101010101010095
+:10521000000000000000000000000000000000008E
+:10522000000000000000000000000000000000007E
+:10523000000000000000000000000000000000006E
+:10524000000000000000000000000000000000005E
+:10525000000000000000000000000000000000004E
+:10526000000000000000000000000000000000003E
+:10527000000000000000000000000000000000002E
+:10528000000000000000000000000000000000001E
+:10529000000000000000000000000000000000000E
+:1052A00000000000000000000000000000000000FE
+:1052B00000000000000000000000000000000000EE
+:1052C00000000000000000000000000000000000DE
+:1052D00000000000000000000000000000000000CE
+:1052E00000000000000000000000000000000002BC
+:1052F00002020202020200000000000000000000A2
+:105300000000000000010101010101010101010093
+:10531000000000000000000000000000000000008D
+:10532000000000000000000000000000000000007D
+:10533000000000000000000000000000000000006D
+:10534000000000000000000000000000000000005D
+:10535000000000000000000000000000000000004D
+:10536000000000000000000000000000000000003D
+:10537000000000000000000000000000000000002D
+:10538000000000000000000000000000000000001D
+:10539000000000000000000000000000000000000D
+:1053A00000000000000000000000000000000000FD
+:1053B00000000000000000000000000000000000ED
+:1053C00000000000000000000000000000000000DD
+:1053D00000000000000000000000000000000000CD
+:1053E00000000000000000000000000000000002BB
+:1053F000020202020202020000000000000000009F
+:105400000000000001010101010101010101010091
+:10541000000000000000000000000000000000008C
+:10542000000000000000000000000000000000007C
+:10543000000000000000000000000000000000006C
+:10544000000000000000000000000000000000005C
+:10545000000000000000000000000000000000004C
+:10546000000000000000000000000000000000003C
+:10547000000000000000000000000000000000002C
+:10548000000000000000000000000000000000001C
+:10549000000000000000000000000000000000000C
+:1054A00000000000000000000000000000000000FC
+:1054B00000000000000000000000000000000000EC
+:1054C00000000000000000000000000000000000DC
+:1054D00000000000000000000000000000000000CC
+:1054E00000000000000000000000000000000002BA
+:1054F000020202020202020200000000000000009C
+:10550000000000010101010101010101010101008F
+:10551000000000000000000000000000000000008B
+:10552000000000000000000000000000000000007B
+:10553000000000000000000000000000000000006B
+:10554000000000000000000000000000000000005B
+:10555000000000000000000000000000000000004B
+:10556000000000000000000000000000000000003B
+:10557000000000000000000000000000000000002B
+:10558000000000000000000000000000000000001B
+:10559000000000000000000000000000000000000B
+:1055A00000000000000000000000000000000000FB
+:1055B00000000000000000000000000000000000EB
+:1055C00000000000000000000000000000000000DB
+:1055D00000000000000000000000000000000000CB
+:1055E00000000000000000000000000000000002B9
+:1055F0000202020202020202020200000000000097
+:10560000000001010101010101010101010101008D
+:10561000000000000000000000000000000000008A
+:10562000000000000000000000000000000000007A
+:10563000000000000000000000000000000000006A
+:10564000000000000000000000000000000000005A
+:10565000000000000000000000000000000000004A
+:10566000000000000000000000000000000000003A
+:10567000000000000000000000000000000000002A
+:10568000000000000000000000000000000000001A
+:10569000000000000000000000000000000000000A
+:1056A00000000000000000000000000000000000FA
+:1056B00000000000000000000000000000000000EA
+:1056C00000000000000000000000000000000000DA
+:1056D00000000000000000000000000000000000CA
+:1056E00000000000000000000000000000000002B8
+:1056F0000202020202020202020202000000000094
+:10570000010101010101010101010101010101008A
+:105710000000000000000000000000000000000089
+:105720000000000000000000000000000000000079
+:105730000000000000000000000000000000000069
+:105740000000000000000000000000000000000059
+:105750000000000000000000000000000000000049
+:105760000000000000000000000000000000000039
+:105770000000000000000000000000000000000029
+:105780000000000000000000000000000000000019
+:105790000000000000000000000000000000000009
+:1057A00000000000000000000000000000000000F9
+:1057B00000000000000000000000000000000000E9
+:1057C00000000000000000000000000000000000D9
+:1057D00000000000000000000000000000000000C9
+:1057E00000000000000000000000000000000002B7
+:1057F0000202020202020202020202000000000093
+:105800000101010101010101010101010101010089
+:105810000000000000000000000000000000000088
+:105820000000000000000000000000000000000078
+:105830000000000000000000000000000000000068
+:105840000000000000000000000000000000000058
+:105850000000000000000000000000000000000048
+:105860000000000000000000000000000000000038
+:105870000000000000000000000000000000000028
+:105880000000000000000000000000000000000018
+:105890000000000000000000000000000000000008
+:1058A00000000000000000000000000000000000F8
+:1058B00000000000000000000000000000000000E8
+:1058C00000000000000000000000000000000000D8
+:1058D00000000000000000000000000000000000C8
+:1058E00000000000000000000000000000000002B6
+:1058F0000202020202020202020202000000000092
+:105900000101010101010101010101010101010088
+:105910000000000000000000000000000000000087
+:105920000000000000000000000000000000000077
+:105930000000000000000000000000000000000067
+:105940000000000000000000000000000000000057
+:105950000000000000000000000000000000000047
+:105960000000000000000000000000000000000037
+:105970000000000000000000000000000000000027
+:105980000000000000000000000000000000000017
+:105990000000000000000000000000000000000007
+:1059A00000000000000000000000000000000000F7
+:1059B00000000000000000000000000000000000E7
+:1059C00000000000000000000000000000000000D7
+:1059D00000000000000000000000000000000000C7
+:1059E00000000000000000000000000000000002B5
+:1059F000020202020202020202020202020100008C
+:105A00000101010101010101010101010101010087
+:105A10000000000000000000000000000000000086
+:105A20000000000000000000000000000000000076
+:105A30000000000000000000000000000000000066
+:105A40000000000000000000000000000000000056
+:105A50000000000000000000000000000000000046
+:105A60000000000000000000000000000000000036
+:105A70000000000000000000000000000000000026
+:105A80000000000000000000000000000000000016
+:105A90000000000000000000000000000000000006
+:105AA00000000000000000000000000000000000F6
+:105AB00000000000000000000000000000000000E6
+:105AC00000000000000000000000000000000000D6
+:105AD00000000000000000000000000000000000C6
+:105AE00000000000000000000000000000000002B4
+:105AF000020202020202020202020202020200008A
+:105B00000101010101010101010101010101010086
+:105B10000000000000000000000000000000000085
+:105B20000000000000000000000000000000000075
+:105B30000000000000000000000000000000000065
+:105B40000000000000000000000000000000000055
+:105B50000000000000000000000000000000000045
+:105B60000000000000000000000000000000000035
+:105B70000000000000000000000000000000000025
+:105B80000000000000000000000000000000000015
+:105B90000000000000000000000000000000000005
+:105BA00000000000000000000000000000000000F5
+:105BB00000000000000000000000000000000000E5
+:105BC00000000000000000000000000000000000D5
+:105BD00000000000000000000000000000000000C5
+:105BE00000000000000000000000000000000002B3
+:105BF0000202020202020202020202020202000089
+:105C00000101010101010101010101010101010085
+:105C10000000000000000000000000000000000084
+:105C20000000000000000000000000000000000074
+:105C30000000000000000000000000000000000064
+:105C40000000000000000000000000000000000054
+:105C50000000000000000000000000000000000044
+:105C60000000000000000000000000000000000034
+:105C70000000000000000000000000000000000024
+:105C80000000000000000000000000000000000014
+:105C90000000000000000000000000000000000004
+:105CA00000000000000000000000000000000000F4
+:105CB00000000000000000000000000000000000E4
+:105CC00000000000000000000000000000000000D4
+:105CD00000000000000000000000000000000000C4
+:105CE00000000000000000000000000000000002B2
+:105CF0000202020202020202020202020202000088
+:105D00000000000000000000000000000000000093
+:105D10000000000000000000000000000000000083
+:105D20000000000000000000000000000000000073
+:105D30000000000000000000000000000000000063
+:105D40000000000000000000000000000000000053
+:105D50000000000000000000000000000000000043
+:105D60000000000000000000000000000000000033
+:105D70000000000000000000000000000000000023
+:105D80000000000000000000000000000000000013
+:105D90000000000000000000000000000000000003
+:105DA00000000000000000000000000000000000F3
+:105DB00000000000000000000000000000000000E3
+:105DC00000000000000000000000000000000000D3
+:105DD00000000000000000000000000000000000C3
+:105DE00000000000000000000000000000000000B3
+:105DF000000000000000000000000000000000168D
+:105E00000000000000000000000000000000000092
+:105E10000000000000000000000000000000000082
+:105E20000000000000000000000000000000000072
+:105E30000000000000000000000000000000000062
+:105E40000000000000000000000000000000000052
+:105E50000000000000000000000000000000000042
+:105E60000000000000000000000000000000000032
+:105E70000000000000000000000000000000000022
+:105E80000000000000000000000000000000000012
+:105E90000000000000000000000000000000000002
+:105EA00000000000000000000000000000000000F2
+:105EB00000000000000000000000000000000000E2
+:105EC00000000000000000000000000000000000D2
+:105ED00000000000000000000000000000000000C2
+:105EE00000000000000000000000000000000000B2
+:105EF00000000000000000020000000000000000A0
+:105F00000000000000000000000000000000000091
+:105F10000000000000000000000000000000000081
+:105F20000000000000000000000000000000000071
+:105F30000000000000000000000000000000000061
+:105F40000000000000000000000000000000000051
+:105F50000000000000000000000000000000000041
+:105F60000000000000000000000000000000000031
+:105F70000000000000000000000000000000000021
+:105F80000000000000000000000000000000000011
+:105F90000000000000000000000000000000000001
+:105FA00000000000000000000000000000000000F1
+:105FB00000000000000000000000000000000000E1
+:105FC00000000000000000000000000000000000D1
+:105FD00000000000000000000000000000000000C1
+:105FE00000000000000000000000000000000000B1
+:105FF000000000000000000200000000000000009F
+:106000000000000000000000000000000000000090
+:106010000000000000000000000000000000000080
+:106020000000000000000000000000000000000070
+:106030000000000000000000000000000000000060
+:106040000000000000000000000000000000000050
+:106050000000000000000000000000000000000040
+:106060000000000000000000000000000000000030
+:106070000000000000000000000000000000000020
+:106080000000000000000000000000000000000010
+:106090000000000000000000000000000000000000
+:1060A00000000000000000000000000000000000F0
+:1060B00000000000000000000000000000000000E0
+:1060C00000000000000000000000000000000000D0
+:1060D00000000000000000000000000000000000C0
+:1060E00000000000000000000000000000000000B0
+:1060F000000000000000000200000000000000009E
+:10610000000000000000000000000000000000008F
+:10611000000000000000000000000000000000007F
+:10612000000000000000000000000000000000006F
+:10613000000000000000000000000000000000005F
+:10614000000000000000000000000000000000004F
+:10615000000000000000000000000000000000003F
+:10616000000000000000000000000000000000002F
+:10617000000000000000000000000000000000001F
+:10618000000000000000000000000000000000000F
+:1061900000000000000000000000000000000000FF
+:1061A00000000000000000000000000000000000EF
+:1061B00000000000000000000000000000000000DF
+:1061C00000000000000000000000000000000000CF
+:1061D00000000000000000000000000000000000BF
+:1061E00000000000000000000000000000000000AF
+:1061F000000000000000000200000000000000009D
+:10620000000000000001000000000000000000008D
+:10621000000000000001010000000000000000007C
+:10622000000000000000000000000000000000006E
+:10623000000000000000000000000000000000005E
+:10624000000000000000000000000000000000004E
+:10625000000000000000000000000000000000003E
+:10626000000000000000000000000000000000002E
+:10627000000000000000000000000000000000001E
+:10628000000000000000000000000000000000000E
+:1062900000000000000000000000000000000000FE
+:1062A00000000000000000000000000000000000EE
+:1062B00000000000000000000000000000000000DE
+:1062C00000000000000000000000000000000000CE
+:1062D00000000000000000000000000000000000BE
+:1062E00000000000000000000000000000000000AE
+:1062F000000000000000000200000000000000009C
+:10630000000000000001000000000000000000008C
+:10631000000000000001010000000000000000007B
+:10632000000000000000000000000000000000006D
+:10633000000000000000000000000000000000005D
+:10634000000000000000000000000000000000004D
+:10635000000000000000000000000000000000003D
+:10636000000000000000000000000000000000002D
+:10637000000000000000000000000000000000001D
+:10638000000000000000000000000000000000000D
+:1063900000000000000000000000000000000000FD
+:1063A00000000000000000000000000000000000ED
+:1063B00000000000000000000000000000000000DD
+:1063C00000000000000000000000000000000000CD
+:1063D00000000000000000000000000000000000BD
+:1063E00000000000000000000000000000000000AD
+:1063F000000000000000000200000000000000009B
+:10640000000000000001000000000000000000008B
+:106410000000000001010100000000000000000079
+:10642000000000000000000000000000000000006C
+:10643000000000000000000000000000000000005C
+:10644000000000000000000000000000000000004C
+:10645000000000000000000000000000000000003C
+:10646000000000000000000000000000000000002C
+:10647000000000000000000000000000000000001C
+:10648000000000000000000000000000000000000C
+:1064900000000000000000000000000000000000FC
+:1064A00000000000000000000000000000000000EC
+:1064B00000000000000000000000000000000000DC
+:1064C00000000000000000000000000000000000CC
+:1064D00000000000000000000000000000000000BC
+:1064E00000000000000000000000000000000000AC
+:1064F0000000000000000002020000000000000098
+:10650000000000000001000000000000000000008A
+:106510000000000001010100000000000000000078
+:10652000000000000000000000000000000000006B
+:10653000000000000000000000000000000000005B
+:10654000000000000000000000000000000000004B
+:10655000000000000000000000000000000000003B
+:10656000000000000000000000000000000000002B
+:10657000000000000000000000000000000000001B
+:10658000000000000000000000000000000000000B
+:1065900000000000000000000000000000000000FB
+:1065A00000000000000000000000000000000000EB
+:1065B00000000000000000000000000000000000DB
+:1065C00000000000000000000000000000000000CB
+:1065D00000000000000000000000000000000000BB
+:1065E00000000000000000000000000000000000AB
+:1065F0000000000000000002020000000000000097
+:106600000000000000010000000000000000000089
+:106610000001010101010100000000000000000074
+:10662000000000000000000000000000000000006A
+:10663000000000000000000000000000000000005A
+:10664000000000000000000000000000000000004A
+:10665000000000000000000000000000000000003A
+:10666000000000000000000000000000000000002A
+:10667000000000000000000000000000000000001A
+:10668000000000000000000000000000000000000A
+:1066900000000000000000000000000000000000FA
+:1066A00000000000000000000000000000000000EA
+:1066B00000000000000000000000000000000000DA
+:1066C00000000000000000000000000000000000CA
+:1066D00000000000000000000000000000000000BA
+:1066E00000000000000000000000000000000000AA
+:1066F0000000000000000002020000000000000096
+:106700000000000000010000000000000000000088
+:106710000101010101010100000000000000000072
+:106720000000000000000000000000000000000069
+:106730000000000000000000000000000000000059
+:106740000000000000000000000000000000000049
+:106750000000000000000000000000000000000039
+:106760000000000000000000000000000000000029
+:106770000000000000000000000000000000000019
+:106780000000000000000000000000000000000009
+:1067900000000000000000000000000000000000F9
+:1067A00000000000000000000000000000000000E9
+:1067B00000000000000000000000000000000000D9
+:1067C00000000000000000000000000000000000C9
+:1067D00000000000000000000000000000000000B9
+:1067E00000000000000000000000000000000000A9
+:1067F0000000000000000002020000000000000095
+:106800000000000000010000000000000000000186
+:106810000101010101010100000000000000000071
+:106820000000000000000000000000000000000068
+:106830000000000000000000000000000000000058
+:106840000000000000000000000000000000000048
+:106850000000000000000000000000000000000038
+:106860000000000000000000000000000000000028
+:106870000000000000000000000000000000000018
+:106880000000000000000000000000000000000008
+:1068900000000000000000000000000000000000F8
+:1068A00000000000000000000000000000000000E8
+:1068B00000000000000000000000000000000000D8
+:1068C00000000000000000000000000000000000C8
+:1068D00000000000000000000000000000000000B8
+:1068E00000000000000000000000000000000000A8
+:1068F0000000000000000002020200000000000092
+:106900000000000000010000000000000000010184
+:106910000101010101010100000000000000000070
+:106920000000000000000000000000000000000067
+:106930000000000000000000000000000000000057
+:106940000000000000000000000000000000000047
+:106950000000000000000000000000000000000037
+:106960000000000000000000000000000000000027
+:106970000000000000000000000000000000000017
+:106980000000000000000000000000000000000007
+:1069900000000000000000000000000000000000F7
+:1069A00000000000000000000000000000000000E7
+:1069B00000000000000000000000000000000000D7
+:1069C00000000000000000000000000000000000C7
+:1069D00000000000000000000000000000000000B7
+:1069E00000000000000000000000000000000000A7
+:1069F000000000000000000202020200000000008F
+:106A00000000000000010000000000000101010181
+:106A1000010101010101010000000000000000006F
+:106A20000000000000000000000000000000000066
+:106A30000000000000000000000000000000000056
+:106A40000000000000000000000000000000000046
+:106A50000000000000000000000000000000000036
+:106A60000000000000000000000000000000000026
+:106A70000000000000000000000000000000000016
+:106A80000000000000000000000000000000000006
+:106A900000000000000000000000000000000000F6
+:106AA00000000000000000000000000000000000E6
+:106AB00000000000000000000000000000000000D6
+:106AC00000000000000000000000000000000000C6
+:106AD00000000000000000000000000000000000B6
+:106AE00000000000000000000000000000000000A6
+:106AF000000000000000000202020202000000008C
+:106B0000000000000002000000000001010101017E
+:106B1000010101010101010000000000000000006E
+:106B20000000000000000000000000000000000065
+:106B30000000000000000000000000000000000055
+:106B40000000000000000000000000000000000045
+:106B50000000000000000000000000000000000035
+:106B60000000000000000000000000000000000025
+:106B70000000000000000000000000000000000015
+:106B80000000000000000000000000000000000005
+:106B900000000000000000000000000000000000F5
+:106BA00000000000000000000000000000000000E5
+:106BB00000000000000000000000000000000000D5
+:106BC00000000000000000000000000000000000C5
+:106BD00000000000000000000000000000000000B5
+:106BE00000000000000000000000000000000000A5
+:106BF0000000000000000002020202020202000087
+:106C0000000100000002000000000101010101017B
+:106C1000010101010101010000000000000000006D
+:106C20000000000000000000000000000000000064
+:106C30000000000000000000000000000000000054
+:106C40000000000000000000000000000000000044
+:106C50000000000000000000000000000000000034
+:106C60000000000000000000000000000000000024
+:106C70000000000000000000000000000000000014
+:106C80000000000000000000000000000000000004
+:106C900000000000000000000000000000000000F4
+:106CA00000000000000000000000000000000000E4
+:106CB00000000000000000000000000000000000D4
+:106CC00000000000000000000000000000000000C4
+:106CD00000000000000000000000000000000000B4
+:106CE00000000000000000000000000000000000A4
+:106CF0000000000000000002020202020202020084
+:106D00000101000000020000000101010101010178
+:106D1000010101010101010000000000000000006C
+:106D20000000000000000000000000000000000063
+:106D30000000000000000000000000000000000053
+:106D40000000000000000000000000000000000043
+:106D50000000000000000000000000000000000033
+:106D60000000000000000000000000000000000023
+:106D70000000000000000000000000000000000013
+:106D80000000000000000000000000000000000003
+:106D900000000000000000000000000000000000F3
+:106DA00000000000000000000000000000000000E3
+:106DB00000000000000000000000000000000000D3
+:106DC00000000000000000000000000000000000C3
+:106DD00000000000000000000000000000000000B3
+:106DE00000000000000000000000000000000000A3
+:106DF0000000000000000002020202020202020281
+:106E00000202010001020000000101010101010173
+:106E1000010101010101010000000000000000006B
+:106E20000000000000000000000000000000000062
+:106E30000000000000000000000000000000000052
+:106E40000000000000000000000000000000000042
+:106E50000000000000000000000000000000000032
+:106E60000000000000000000000000000000000022
+:106E70000000000000000000000000000000000012
+:106E80000000000000000000000000000000000002
+:106E900000000000000000000000000000000000F2
+:106EA00000000000000000000000000000000000E2
+:106EB00000000000000000000000000000000000D2
+:106EC00000000000000000000000000000000000C2
+:106ED00000000000000000000000000000000000B2
+:106EE00000000000000000000000000000000000A2
+:106EF0000000000000000002020202020202020280
+:106F00000202020001020000000101010101010171
+:106F1000010101010101010000000000000000006A
+:106F20000000000000000000000000000000000061
+:106F30000000000000000000000000000000000051
+:106F40000000000000000000000000000000000041
+:106F50000000000000000000000000000000000031
+:106F60000000000000000000000000000000000021
+:106F70000000000000000000000000000000000011
+:106F80000000000000000000000000000000000001
+:106F900000000000000000000000000000000000F1
+:106FA00000000000000000000000000000000000E1
+:106FB00000000000000000000000000000000000D1
+:106FC00000000000000000000000000000000000C1
+:106FD00000000000000000000000000000000000B1
+:106FE00000000000000000000000000000000000A1
+:106FF0000000000000000000020202020202020281
+:10700000020202020202000000010101010101016D
+:107010000101010101010100000000000000000069
+:107020000000000000000000000000000000000060
+:107030000000000000000000000000000000000050
+:107040000000000000000000000000000000000040
+:107050000000000000000000000000000000000030
+:107060000000000000000000000000000000000020
+:107070000000000000000000000000000000000010
+:107080000000000000000000000000000000000000
+:1070900000000000000000000000000000000000F0
+:1070A00000000000000000000000000000000000E0
+:1070B00000000000000000000000000000000000D0
+:1070C00000000000000000000000000000000000C0
+:1070D00000000000000000000000000000000000B0
+:1070E00000000000000000000000000000000000A0
+:1070F0000000000000000000020202020202020280
+:10710000020202020202000001010101010101016B
+:107110000101010101010100000000000000000068
+:10712000000000000000000000000000000000005F
+:10713000000000000000000000000000000000004F
+:10714000000000000000000000000000000000003F
+:10715000000000000000000000000000000000002F
+:10716000000000000000000000000000000000001F
+:10717000000000000000000000000000000000000F
+:1071800000000000000000000000000000000000FF
+:1071900000000000000000000000000000000000EF
+:1071A00000000000000000000000000000000000DF
+:1071B00000000000000000000000000000000000CF
+:1071C00000000000000000000000000000000000BF
+:1071D00000000000000000000000000000000000AF
+:1071E000000000000000000000000000000000009F
+:1071F000000000000000000002020202020202027F
+:10720000020202020202000001010101010101016A
+:107210000101010101010100000000000000000067
+:10722000000000000000000000000000000000005E
+:10723000000000000000000000000000000000004E
+:10724000000000000000000000000000000000003E
+:10725000000000000000000000000000000000002E
+:10726000000000000000000000000000000000001E
+:10727000000000000000000000000000000000000E
+:1072800000000000000000000000000000000000FE
+:1072900000000000000000000000000000000000EE
+:1072A00000000000000000000000000000000000DE
+:1072B00000000000000000000000000000000000CE
+:1072C00000000000000000000000000000000000BE
+:1072D00000000000000000000000000000000000AE
+:1072E000000000000000000000000000000000009E
+:1072F000000000000000000002020202020202027E
+:107300000202020202020000000000000000000071
+:10731000000000000000000000000000000000006D
+:10732000000000000000000000000000000000005D
+:10733000000000000000000000000000000000004D
+:10734000000000000000000000000000000000003D
+:10735000000000000000000000000000000000002D
+:10736000000000000000000000000000000000001D
+:10737000000000000000000000000000000000000D
+:1073800000000000000000000000000000000000FD
+:1073900000000000000000000000000000000000ED
+:1073A00000000000000000000000000000000000DD
+:1073B00000000000000000000000000000000000CD
+:1073C00000000000000000000000000000000000BD
+:1073D00000000000000000000000000000000000AD
+:1073E000000000000000000000000000000000009D
+:1073F000000000000000000000000000000000008D
+:107400000000000000000016000000000000000066
+:10741000000000000000000000000000000000006C
+:10742000000000000000000000000000000000005C
+:10743000000000000000000000000000000000004C
+:10744000000000000000000000000000000000003C
+:10745000000000000000000000000000000000002C
+:10746000000000000000000000000000000000001C
+:10747000000000000000000000000000000000000C
+:1074800000000000000000000000000000000000FC
+:1074900000000000000000000000000000000000EC
+:1074A00000000000000000000000000000000000DC
+:1074B00000000000000000000000000000000000CC
+:1074C00000000000000000000000000000000000BC
+:1074D00000000000000000000000000000000000AC
+:1074E000000000000000000000000000000000009C
+:1074F000000000000000000000000000000000028A
+:10750000000000000000000000000000000000007B
+:10751000000000000000000000000000000000006B
+:10752000000000000000000000000000000000005B
+:10753000000000000000000000000000000000004B
+:10754000000000000000000000000000000000003B
+:10755000000000000000000000000000000000002B
+:10756000000000000000000000000000000000001B
+:10757000000000000000000000000000000000000B
+:1075800000000000000000000000000000000000FB
+:1075900000000000000000000000000000000000EB
+:1075A00000000000000000000000000000000000DB
+:1075B00000000000000000000000000000000000CB
+:1075C00000000000000000000000000000000000BB
+:1075D00000000000000000000000000000000000AB
+:1075E000000000000000000000000000000000009B
+:1075F0000000000000000000000000000000000289
+:10760000000000000000000000000000000000007A
+:10761000000000000000000000000000000000006A
+:10762000000000000000000000000000000000005A
+:10763000000000000000000000000000000000004A
+:10764000000000000000000000000000000000003A
+:10765000000000000000000000000000000000002A
+:10766000000000000000000000000000000000001A
+:10767000000000000000000000000000000000000A
+:1076800000000000000000000000000000000000FA
+:1076900000000000000000000000000000000000EA
+:1076A00000000000000000000000000000000000DA
+:1076B00000000000000000000000000000000000CA
+:1076C00000000000000000000000000000000000BA
+:1076D00000000000000000000000000000000000AA
+:1076E000000000000000000000000000000000009A
+:1076F0000000000000000000000000000000000288
+:107700000000000000000000000000000000000079
+:107710000000000000000000000000000000000069
+:107720000000000000000000000000000000000059
+:107730000000000000000000000000000000000049
+:107740000000000000000000000000000000000039
+:107750000000000000000000000000000000000029
+:107760000000000000000000000000000000000019
+:107770000000000000000000000000000000000009
+:1077800000000000000000000000000000000000F9
+:1077900000000000000000000000000000000000E9
+:1077A00000000000000000000000000000000000D9
+:1077B00000000000000000000000000000000000C9
+:1077C00000000000000000000000000000000000B9
+:1077D00000000000000000000000000000000000A9
+:1077E0000000000000000000000000000000000099
+:1077F0000000000000000000000000000000000287
+:107800000000000000000000000000000100000077
+:107810000000000000000000000000000000000068
+:107820000000000000000000000000000000000058
+:107830000000000000000000000000000000000048
+:107840000000000000000000000000000000000038
+:107850000000000000000000000000000000000028
+:107860000000000000000000000000000000000018
+:107870000000000000000000000000000000000008
+:1078800000000000000000000000000000000000F8
+:1078900000000000000000000000000000000000E8
+:1078A00000000000000000000000000000000000D8
+:1078B00000000000000000000000000000000000C8
+:1078C00000000000000000000000000000000000B8
+:1078D00000000000000000000000000000000000A8
+:1078E0000000000000000000000000000000000098
+:1078F0000000000000000000000000000000000286
+:107900000000000000000000000000000100000076
+:107910000000000000000000000000000101010064
+:107920000000000000000000000000000000000057
+:107930000000000000000000000000000000000047
+:107940000000000000000000000000000000000037
+:107950000000000000000000000000000000000027
+:107960000000000000000000000000000000000017
+:107970000000000000000000000000000000000007
+:1079800000000000000000000000000000000000F7
+:1079900000000000000000000000000000000000E7
+:1079A00000000000000000000000000000000000D7
+:1079B00000000000000000000000000000000000C7
+:1079C00000000000000000000000000000000000B7
+:1079D00000000000000000000000000000000000A7
+:1079E0000000000000000000000000000000000097
+:1079F0000000000000000000000000000000000285
+:107A00000000000000000000000000000101000074
+:107A10000000000000000000000000000101010063
+:107A20000000000000000000000000000000000056
+:107A30000000000000000000000000000000000046
+:107A40000000000000000000000000000000000036
+:107A50000000000000000000000000000000000026
+:107A60000000000000000000000000000000000016
+:107A70000000000000000000000000000000000006
+:107A800000000000000000000000000000000000F6
+:107A900000000000000000000000000000000000E6
+:107AA00000000000000000000000000000000000D6
+:107AB00000000000000000000000000000000000C6
+:107AC00000000000000000000000000000000000B6
+:107AD00000000000000000000000000000000000A6
+:107AE0000000000000000000000000000000000096
+:107AF0000000000000000000000000000000000284
+:107B00000000000000000000000000000101000073
+:107B10000000000000000000000001010101010060
+:107B20000000000000000000000000000000000055
+:107B30000000000000000000000000000000000045
+:107B40000000000000000000000000000000000035
+:107B50000000000000000000000000000000000025
+:107B60000000000000000000000000000000000015
+:107B70000000000000000000000000000000000005
+:107B800000000000000000000000000000000000F5
+:107B900000000000000000000000000000000000E5
+:107BA00000000000000000000000000000000000D5
+:107BB00000000000000000000000000000000000C5
+:107BC00000000000000000000000000000000000B5
+:107BD00000000000000000000000000000000000A5
+:107BE0000000000000000000000000000000000095
+:107BF0000000000000000000000000000000000283
+:107C00000000000000000000000000000101000072
+:107C1000000000000000000000010101010101005E
+:107C20000000000000000000000000000000000054
+:107C30000000000000000000000000000000000044
+:107C40000000000000000000000000000000000034
+:107C50000000000000000000000000000000000024
+:107C60000000000000000000000000000000000014
+:107C70000000000000000000000000000000000004
+:107C800000000000000000000000000000000000F4
+:107C900000000000000000000000000000000000E4
+:107CA00000000000000000000000000000000000D4
+:107CB00000000000000000000000000000000000C4
+:107CC00000000000000000000000000000000000B4
+:107CD00000000000000000000000000000000000A4
+:107CE0000000000000000000000000000000000094
+:107CF0000000000000000000000000000000000282
+:107D00000000000000000000000000000101000071
+:107D1000000000000000000001010101010101005C
+:107D20000000000000000000000000000000000053
+:107D30000000000000000000000000000000000043
+:107D40000000000000000000000000000000000033
+:107D50000000000000000000000000000000000023
+:107D60000000000000000000000000000000000013
+:107D70000000000000000000000000000000000003
+:107D800000000000000000000000000000000000F3
+:107D900000000000000000000000000000000000E3
+:107DA00000000000000000000000000000000000D3
+:107DB00000000000000000000000000000000000C3
+:107DC00000000000000000000000000000000000B3
+:107DD00000000000000000000000000000000000A3
+:107DE0000000000000000000000000000000000093
+:107DF0000000000000000000000000000000000281
+:107E0000020000000000000000000100010100006D
+:107E1000000000000000000101010101010101005A
+:107E20000000000000000000000000000000000052
+:107E30000000000000000000000000000000000042
+:107E40000000000000000000000000000000000032
+:107E50000000000000000000000000000000000022
+:107E60000000000000000000000000000000000012
+:107E70000000000000000000000000000000000002
+:107E800000000000000000000000000000000000F2
+:107E900000000000000000000000000000000000E2
+:107EA00000000000000000000000000000000000D2
+:107EB00000000000000000000000000000000000C2
+:107EC00000000000000000000000000000000000B2
+:107ED00000000000000000000000000000000000A2
+:107EE0000000000000000000000000000000000092
+:107EF0000000000000000000000000000000000280
+:107F0000020000000000000000000100010100006C
+:107F10000000000000000001010101010101010059
+:107F20000000000000000000000000000000000051
+:107F30000000000000000000000000000000000041
+:107F40000000000000000000000000000000000031
+:107F50000000000000000000000000000000000021
+:107F60000000000000000000000000000000000011
+:107F70000000000000000000000000000000000001
+:107F800000000000000000000000000000000000F1
+:107F900000000000000000000000000000000000E1
+:107FA00000000000000000000000000000000000D1
+:107FB00000000000000000000000000000000000C1
+:107FC00000000000000000000000000000000000B1
+:107FD00000000000000000000000000000000000A1
+:107FE0000000000000000000000000000000000091
+:107FF000000000000000000000000000000000027F
+:108000000202000000000000000001010101000068
+:108010000000000000000101010101010101010057
+:108020000000000000000000000000000000000050
+:108030000000000000000000000000000000000040
+:108040000000000000000000000000000000000030
+:108050000000000000000000000000000000000020
+:108060000000000000000000000000000000000010
+:108070000000000000000000000000000000000000
+:1080800000000000000000000000000000000000F0
+:1080900000000000000000000000000000000000E0
+:1080A00000000000000000000000000000000000D0
+:1080B00000000000000000000000000000000000C0
+:1080C00000000000000000000000000000000000B0
+:1080D00000000000000000000000000000000000A0
+:1080E0000000000000000000000000000000000090
+:1080F000000000000000000000000000000000027E
+:108100000202020000000000000101010201000063
+:108110000000000101010101010101010101010053
+:10812000000000000000000000000000000000004F
+:10813000000000000000000000000000000000003F
+:10814000000000000000000000000000000000002F
+:10815000000000000000000000000000000000001F
+:10816000000000000000000000000000000000000F
+:1081700000000000000000000000000000000000FF
+:1081800000000000000000000000000000000000EF
+:1081900000000000000000000000000000000000DF
+:1081A00000000000000000000000000000000000CF
+:1081B00000000000000000000000000000000000BF
+:1081C00000000000000000000000000000000000AF
+:1081D000000000000000000000000000000000009F
+:1081E000000000000000000000000000000000008F
+:1081F000000000000000000000000000000000027D
+:10820000020202020202000001010101020200005A
+:108210000000010101010101010101010101010051
+:10822000000000000000000000000000000000004E
+:10823000000000000000000000000000000000003E
+:10824000000000000000000000000000000000002E
+:10825000000000000000000000000000000000001E
+:10826000000000000000000000000000000000000E
+:1082700000000000000000000000000000000000FE
+:1082800000000000000000000000000000000000EE
+:1082900000000000000000000000000000000000DE
+:1082A00000000000000000000000000000000000CE
+:1082B00000000000000000000000000000000000BE
+:1082C00000000000000000000000000000000000AE
+:1082D000000000000000000000000000000000009E
+:1082E000000000000000000000000000000000008E
+:1082F000000000000000000000000000000000027C
+:108300000202020202020201010102010202000055
+:10831000000101010101010101010101010101004F
+:10832000000000000000000000000000000000004D
+:10833000000000000000000000000000000000003D
+:10834000000000000000000000000000000000002D
+:10835000000000000000000000000000000000001D
+:10836000000000000000000000000000000000000D
+:1083700000000000000000000000000000000000FD
+:1083800000000000000000000000000000000000ED
+:1083900000000000000000000000000000000000DD
+:1083A00000000000000000000000000000000000CD
+:1083B00000000000000000000000000000000000BD
+:1083C00000000000000000000000000000000000AD
+:1083D000000000000000000000000000000000009D
+:1083E000000000000000000000000000000000008D
+:1083F000000000000000000000000000000000027B
+:108400000202020202020202020202020202000050
+:10841000000101010101010101010101010101004E
+:10842000000000000000000000000000000000004C
+:10843000000000000000000000000000000000003C
+:10844000000000000000000000000000000000002C
+:10845000000000000000000000000000000000001C
+:10846000000000000000000000000000000000000C
+:1084700000000000000000000000000000000000FC
+:1084800000000000000000000000000000000000EC
+:1084900000000000000000000000000000000000DC
+:1084A00000000000000000000000000000000000CC
+:1084B00000000000000000000000000000000000BC
+:1084C00000000000000000000000000000000000AC
+:1084D000000000000000000000000000000000009C
+:1084E000000000000000000000000000000000008C
+:1084F000000000000000000000000000000000007C
+:10850000020202020202020202020202020200004F
+:10851000010101010101010101010101010101004C
+:10852000000000000000000000000000000000004B
+:10853000000000000000000000000000000000003B
+:10854000000000000000000000000000000000002B
+:10855000000000000000000000000000000000001B
+:10856000000000000000000000000000000000000B
+:1085700000000000000000000000000000000000FB
+:1085800000000000000000000000000000000000EB
+:1085900000000000000000000000000000000000DB
+:1085A00000000000000000000000000000000000CB
+:1085B00000000000000000000000000000000000BB
+:1085C00000000000000000000000000000000000AB
+:1085D000000000000000000000000000000000009B
+:1085E000000000000000000000000000000000008B
+:1085F000000000000000000000000000000000007B
+:10860000020202020202020202020202020200004E
+:10861000010101010101010101010101010101004B
+:10862000000000000000000000000000000000004A
+:10863000000000000000000000000000000000003A
+:10864000000000000000000000000000000000002A
+:10865000000000000000000000000000000000001A
+:10866000000000000000000000000000000000000A
+:1086700000000000000000000000000000000000FA
+:1086800000000000000000000000000000000000EA
+:1086900000000000000000000000000000000000DA
+:1086A00000000000000000000000000000000000CA
+:1086B00000000000000000000000000000000000BA
+:1086C00000000000000000000000000000000000AA
+:1086D000000000000000000000000000000000009A
+:1086E000000000000000000000000000000000008A
+:1086F000000000000000000000000000000000007A
+:10870000020202020202020202020202020200004D
+:10871000010101010101010101010101010101004A
+:108720000000000000000000000000000000000049
+:108730000000000000000000000000000000000039
+:108740000000000000000000000000000000000029
+:108750000000000000000000000000000000000019
+:108760000000000000000000000000000000000009
+:1087700000000000000000000000000000000000F9
+:1087800000000000000000000000000000000000E9
+:1087900000000000000000000000000000000000D9
+:1087A00000000000000000000000000000000000C9
+:1087B00000000000000000000000000000000000B9
+:1087C00000000000000000000000000000000000A9
+:1087D0000000000000000000000000000000000099
+:1087E0000000000000000000000000000000000089
+:1087F0000000000000000000000000000000000079
+:10880000020202020202020202020202020200004C
+:108810000101010101010101010101010101010049
+:108820000000000000000000000000000000000048
+:108830000000000000000000000000000000000038
+:108840000000000000000000000000000000000028
+:108850000000000000000000000000000000000018
+:108860000000000000000000000000000000000008
+:1088700000000000000000000000000000000000F8
+:1088800000000000000000000000000000000000E8
+:1088900000000000000000000000000000000000D8
+:1088A00000000000000000000000000000000000C8
+:1088B00000000000000000000000000000000000B8
+:1088C00000000000000000000000000000000000A8
+:1088D0000000000000000000000000000000000098
+:1088E0000000000000000000000000000000000088
+:1088F0000000000000000000000000000000000078
+:10890000020202020202020202020202020200004B
+:108910000000000000000000000000000000000057
+:108920000000000000000000000000000000000047
+:108930000000000000000000000000000000000037
+:108940000000000000000000000000000000000027
+:108950000000000000000000000000000000000017
+:108960000000000000000000000000000000000007
+:1089700000000000000000000000000000000000F7
+:1089800000000000000000000000000000000000E7
+:1089900000000000000000000000000000000000D7
+:1089A00000000000000000000000000000000000C7
+:1089B00000000000000000000000000000000000B7
+:1089C00000000000000000000000000000000000A7
+:1089D0000000000000000000000000000000000097
+:1089E0000000000000000000000000000000000087
+:1089F0000000000000000000000000000000000077
+:108A00000000000000000000000000000000001650
+:108A10000000000000000000000000000000000056
+:108A20000000000000000000000000000000000046
+:108A30000000000000000000000000000000000036
+:108A40000000000000000000000000000000000026
+:108A50000000000000000000000000000000000016
+:108A60000000000000000000000000000000000006
+:108A700000000000000000000000000000000000F6
+:108A800000000000000000000000000000000000E6
+:108A900000000000000000000000000000000000D6
+:108AA00000000000000000000000000000000000C6
+:108AB00000000000000000000000000000000000B6
+:108AC00000000000000000000000000000000000A6
+:108AD0000000000000000000000000000000000096
+:108AE0000000000000000000000000000000000086
+:108AF0000000000000000000000000000000000076
+:108B00000000000000000002000000000000000063
+:108B10000000000000000000000000000000000055
+:108B20000000000000000000000000000000000045
+:108B30000000000000000000000000000000000035
+:108B40000000000000000000000000000000000025
+:108B50000000000000000000000000000000000015
+:108B60000000000000000000000000000000000005
+:108B700000000000000000000000000000000000F5
+:108B800000000000000000000000000000000000E5
+:108B900000000000000000000000000000000000D5
+:108BA00000000000000000000000000000000000C5
+:108BB00000000000000000000000000000000000B5
+:108BC00000000000000000000000000000000000A5
+:108BD0000000000000000000000000000000000095
+:108BE0000000000000000000000000000000000085
+:108BF0000000000000000000000000000000000075
+:108C00000000000000000002000000000000000062
+:108C10000000000000000000000000000000000054
+:108C20000000000000000000000000000000000044
+:108C30000000000000000000000000000000000034
+:108C40000000000000000000000000000000000024
+:108C50000000000000000000000000000000000014
+:108C60000000000000000000000000000000000004
+:108C700000000000000000000000000000000000F4
+:108C800000000000000000000000000000000000E4
+:108C900000000000000000000000000000000000D4
+:108CA00000000000000000000000000000000000C4
+:108CB00000000000000000000000000000000000B4
+:108CC00000000000000000000000000000000000A4
+:108CD0000000000000000000000000000000000094
+:108CE0000000000000000000000000000000000084
+:108CF0000000000000000000000000000000000074
+:108D00000000000000000002000000000000000061
+:108D10000000000000000000000000000000000053
+:108D20000000000000000000000000000000000043
+:108D30000000000000000000000000000000000033
+:108D40000000000000000000000000000000000023
+:108D50000000000000000000000000000000000013
+:108D60000000000000000000000000000000000003
+:108D700000000000000000000000000000000000F3
+:108D800000000000000000000000000000000000E3
+:108D900000000000000000000000000000000000D3
+:108DA00000000000000000000000000000000000C3
+:108DB00000000000000000000000000000000000B3
+:108DC00000000000000000000000000000000000A3
+:108DD0000000000000000000000000000000000093
+:108DE0000000000000000000000000000000000083
+:108DF0000000000000000000000000000000000073
+:108E00000000000000000002000000000000000060
+:108E10000000000000000000000000000000000052
+:108E20000000000000000000000000000000000042
+:108E30000000000000000000000000000000000032
+:108E40000000000000000000000000000000000022
+:108E50000000000000000000000000000000000012
+:108E60000000000000000000000000000000000002
+:108E700000000000000000000000000000000000F2
+:108E800000000000000000000000000000000000E2
+:108E900000000000000000000000000000000000D2
+:108EA00000000000000000000000000000000000C2
+:108EB00000000000000000000000000000000000B2
+:108EC00000000000000000000000000000000000A2
+:108ED0000000000000000000000000000000000092
+:108EE0000000000000000000000000000000000082
+:108EF0000000000000000000000000000000000072
+:108F0000000000000000000200000000000000005F
+:108F10000000000000000000000000000000000051
+:108F20000000000000000000000000000000000041
+:108F30000000000000000000000000000000000031
+:108F40000000000000000000000000000000000021
+:108F50000000000000000000000000000000000011
+:108F60000000000000000000000000000000000001
+:108F700000000000000000000000000000000000F1
+:108F800000000000000000000000000000000000E1
+:108F900000000000000000000000000000000000D1
+:108FA00000000000000000000000000000000000C1
+:108FB00000000000000000000000000000000000B1
+:108FC00000000000000000000000000000000000A1
+:108FD0000000000000000000000000000000000091
+:108FE0000000000000000000000000000000000081
+:108FF0000000000000000000000000000000000071
+:10900000000000000000000200000000000000005E
+:109010000000000000000000000000000000000050
+:109020000000000000000000000000000000000040
+:109030000000000000000000000000000000000030
+:109040000000000000000000000000000000000020
+:109050000000000000000000000000000000000010
+:109060000000000000000000000000000000000000
+:1090700000000000000000000000000000000000F0
+:1090800000000000000000000000000000000000E0
+:1090900000000000000000000000000000000000D0
+:1090A00000000000000000000000000000000000C0
+:1090B00000000000000000000000000000000000B0
+:1090C00000000000000000000000000000000000A0
+:1090D0000000000000000000000000000000000090
+:1090E0000000000000000000000000000000000080
+:1090F0000000000000000000000000000000000070
+:10910000000000000000000200000000000000005D
+:10911000000000000000000000000000000000004F
+:10912000000000000001010000000000000000003D
+:10913000000000000000000000000000000000002F
+:10914000000000000000000000000000000000001F
+:10915000000000000000000000000000000000000F
+:1091600000000000000000000000000000000000FF
+:1091700000000000000000000000000000000000EF
+:1091800000000000000000000000000000000000DF
+:1091900000000000000000000000000000000000CF
+:1091A00000000000000000000000000000000000BF
+:1091B00000000000000000000000000000000000AF
+:1091C000000000000000000000000000000000009F
+:1091D000000000000000000000000000000000008F
+:1091E000000000000000000000000000000000007F
+:1091F000000000000000000000000000000000006F
+:10920000000000000000000200000000000000005C
+:10921000000000000001000000000000000000004D
+:10922000000000000001010000000000000000003C
+:10923000000000000000000000000000000000002E
+:10924000000000000000000000000000000000001E
+:10925000000000000000000000000000000000000E
+:1092600000000000000000000000000000000000FE
+:1092700000000000000000000000000000000000EE
+:1092800000000000000000000000000000000000DE
+:1092900000000000000000000000000000000000CE
+:1092A00000000000000000000000000000000000BE
+:1092B00000000000000000000000000000000000AE
+:1092C000000000000000000000000000000000009E
+:1092D000000000000000000000000000000000008E
+:1092E000000000000000000000000000000000007E
+:1092F000000000000000000000000000000000006E
+:109300000000000000000002020202000000000055
+:10931000000000000001000000000000000000004C
+:10932000000000000101010000000000000000003A
+:10933000000000000000000000000000000000002D
+:10934000000000000000000000000000000000001D
+:10935000000000000000000000000000000000000D
+:1093600000000000000000000000000000000000FD
+:1093700000000000000000000000000000000000ED
+:1093800000000000000000000000000000000000DD
+:1093900000000000000000000000000000000000CD
+:1093A00000000000000000000000000000000000BD
+:1093B00000000000000000000000000000000000AD
+:1093C000000000000000000000000000000000009D
+:1093D000000000000000000000000000000000008D
+:1093E000000000000000000000000000000000007D
+:1093F000000000000000000000000000000000006D
+:109400000000000000000002020202000000000054
+:10941000000000000001000000000000000000004B
+:109420000000000101010100000000000000000038
+:10943000000000000000000000000000000000002C
+:10944000000000000000000000000000000000001C
+:10945000000000000000000000000000000000000C
+:1094600000000000000000000000000000000000FC
+:1094700000000000000000000000000000000000EC
+:1094800000000000000000000000000000000000DC
+:1094900000000000000000000000000000000000CC
+:1094A00000000000000000000000000000000000BC
+:1094B00000000000000000000000000000000000AC
+:1094C000000000000000000000000000000000009C
+:1094D000000000000000000000000000000000008C
+:1094E000000000000000000000000000000000007C
+:1094F000000000000000000000000000000000006C
+:109500000000000000000002020202020000000051
+:10951000000000000001000000000000000000004A
+:109520000001010101010100000000000000000035
+:10953000000000000000000000000000000000002B
+:10954000000000000000000000000000000000001B
+:10955000000000000000000000000000000000000B
+:1095600000000000000000000000000000000000FB
+:1095700000000000000000000000000000000000EB
+:1095800000000000000000000000000000000000DB
+:1095900000000000000000000000000000000000CB
+:1095A00000000000000000000000000000000000BB
+:1095B00000000000000000000000000000000000AB
+:1095C000000000000000000000000000000000009B
+:1095D000000000000000000000000000000000008B
+:1095E000000000000000000000000000000000007B
+:1095F000000000000000000000000000000000006B
+:109600000000000000000002020202020000000050
+:109610000000000000010000000000000000000049
+:109620000101010101010100000000000000000033
+:10963000000000000000000000000000000000002A
+:10964000000000000000000000000000000000001A
+:10965000000000000000000000000000000000000A
+:1096600000000000000000000000000000000000FA
+:1096700000000000000000000000000000000000EA
+:1096800000000000000000000000000000000000DA
+:1096900000000000000000000000000000000000CA
+:1096A00000000000000000000000000000000000BA
+:1096B00000000000000000000000000000000000AA
+:1096C000000000000000000000000000000000009A
+:1096D000000000000000000000000000000000008A
+:1096E000000000000000000000000000000000007A
+:1096F000000000000000000000000000000000006A
+:10970000000000000000000202020202020200004B
+:109710000000000000010000000000000000000048
+:109720000101010101010100000000000000000032
+:109730000000000000000000000000000000000029
+:109740000000000000000000000000000000000019
+:109750000000000000000000000000000000000009
+:1097600000000000000000000000000000000000F9
+:1097700000000000000000000000000000000000E9
+:1097800000000000000000000000000000000000D9
+:1097900000000000000000000000000000000000C9
+:1097A00000000000000000000000000000000000B9
+:1097B00000000000000000000000000000000000A9
+:1097C0000000000000000000000000000000000099
+:1097D0000000000000000000000000000000000089
+:1097E0000000000000000000000000000000000079
+:1097F0000000000000000000000000000000000069
+:109800000000000000000002020202020202020048
+:109810000000000000010000000000000000000146
+:109820000101010101010100000000000000000031
+:109830000000000000000000000000000000000028
+:109840000000000000000000000000000000000018
+:109850000000000000000000000000000000000008
+:1098600000000000000000000000000000000000F8
+:1098700000000000000000000000000000000000E8
+:1098800000000000000000000000000000000000D8
+:1098900000000000000000000000000000000000C8
+:1098A00000000000000000000000000000000000B8
+:1098B00000000000000000000000000000000000A8
+:1098C0000000000000000000000000000000000098
+:1098D0000000000000000000000000000000000088
+:1098E0000000000000000000000000000000000078
+:1098F0000000000000000000000000000000000068
+:109900000000000000000000020202020202020247
+:109910000000000000020000000000000000010143
+:109920000101010101010100000000000000000030
+:109930000000000000000000000000000000000027
+:109940000000000000000000000000000000000017
+:109950000000000000000000000000000000000007
+:1099600000000000000000000000000000000000F7
+:1099700000000000000000000000000000000000E7
+:1099800000000000000000000000000000000000D7
+:1099900000000000000000000000000000000000C7
+:1099A00000000000000000000000000000000000B7
+:1099B00000000000000000000000000000000000A7
+:1099C0000000000000000000000000000000000097
+:1099D0000000000000000000000000000000000087
+:1099E0000000000000000000000000000000000077
+:1099F0000000000000000000000000000000000067
+:109A00000000000000000000020202020202020246
+:109A10000000000000020000000000000101010140
+:109A2000010101010101010000000000000000002F
+:109A30000000000000000000000000000000000026
+:109A40000000000000000000000000000000000016
+:109A50000000000000000000000000000000000006
+:109A600000000000000000000000000000000000F6
+:109A700000000000000000000000000000000000E6
+:109A800000000000000000000000000000000000D6
+:109A900000000000000000000000000000000000C6
+:109AA00000000000000000000000000000000000B6
+:109AB00000000000000000000000000000000000A6
+:109AC0000000000000000000000000000000000096
+:109AD0000000000000000000000000000000000086
+:109AE0000000000000000000000000000000000076
+:109AF0000000000000000000000000000000000066
+:109B00000000000000000000020202020202020245
+:109B1000020000010002000000000000010101013C
+:109B2000010101010101010000000000000000002E
+:109B30000000000000000000000000000000000025
+:109B40000000000000000000000000000000000015
+:109B50000000000000000000000000000000000005
+:109B600000000000000000000000000000000000F5
+:109B700000000000000000000000000000000000E5
+:109B800000000000000000000000000000000000D5
+:109B900000000000000000000000000000000000C5
+:109BA00000000000000000000000000000000000B5
+:109BB00000000000000000000000000000000000A5
+:109BC0000000000000000000000000000000000095
+:109BD0000000000000000000000000000000000085
+:109BE0000000000000000000000000000000000075
+:109BF0000000000000000000000000000000000065
+:109C00000000000000000000020202020202020244
+:109C10000202020201020000000000010101010134
+:109C2000010101010101010000000000000000002D
+:109C30000000000000000000000000000000000024
+:109C40000000000000000000000000000000000014
+:109C50000000000000000000000000000000000004
+:109C600000000000000000000000000000000000F4
+:109C700000000000000000000000000000000000E4
+:109C800000000000000000000000000000000000D4
+:109C900000000000000000000000000000000000C4
+:109CA00000000000000000000000000000000000B4
+:109CB00000000000000000000000000000000000A4
+:109CC0000000000000000000000000000000000094
+:109CD0000000000000000000000000000000000084
+:109CE0000000000000000000000000000000000074
+:109CF0000000000000000000000000000000000064
+:109D00000000000000000000020202020202020243
+:109D10000202020202020000000000010101010132
+:109D2000010101010101010000000000000000002C
+:109D30000000000000000000000000000000000023
+:109D40000000000000000000000000000000000013
+:109D50000000000000000000000000000000000003
+:109D600000000000000000000000000000000000F3
+:109D700000000000000000000000000000000000E3
+:109D800000000000000000000000000000000000D3
+:109D900000000000000000000000000000000000C3
+:109DA00000000000000000000000000000000000B3
+:109DB00000000000000000000000000000000000A3
+:109DC0000000000000000000000000000000000093
+:109DD0000000000000000000000000000000000083
+:109DE0000000000000000000000000000000000073
+:109DF0000000000000000000000000000000000063
+:109E00000000000000000000020202020202020242
+:109E1000020202020202000001010101010101012E
+:109E2000010101010101010000000000000000002B
+:109E30000000000000000000000000000000000022
+:109E40000000000000000000000000000000000012
+:109E50000000000000000000000000000000000002
+:109E600000000000000000000000000000000000F2
+:109E700000000000000000000000000000000000E2
+:109E800000000000000000000000000000000000D2
+:109E900000000000000000000000000000000000C2
+:109EA00000000000000000000000000000000000B2
+:109EB00000000000000000000000000000000000A2
+:109EC0000000000000000000000000000000000092
+:109ED0000000000000000000000000000000000082
+:109EE0000000000000000000000000000000000072
+:109EF0000000000000000000000000000000000062
+:109F00000000000000000000020202020202020241
+:109F10000202020202020000000000000000000035
+:109F20000000000000000000000000000000000031
+:109F30000000000000000000000000000000000021
+:109F40000000000000000000000000000000000011
+:109F50000000000000000000000000000000000001
+:109F600000000000000000000000000000000000F1
+:109F700000000000000000000000000000000000E1
+:109F800000000000000000000000000000000000D1
+:109F900000000000000000000000000000000000C1
+:109FA00000000000000000000000000000000000B1
+:109FB00000000000000000000000000000000000A1
+:109FC0000000000000000000000000000000000091
+:109FD0000000000000000000000000000000000081
+:109FE0000000000000000000000000000000000071
+:109FF0000000000000000000000000000000000061
+:10A000000000000000000000000000000000000050
+:10A01000000000000000001600000000000000002A
+:10A020000000000000000000000000000000000030
+:10A030000000000000000000000000000000000020
+:10A040000000000000000000000000000000000010
+:10A050000000000000000000000000000000000000
+:10A0600000000000000000000000000000000000F0
+:10A0700000000000000000000000000000000000E0
+:10A0800000000000000000000000000000000000D0
+:10A0900000000000000000000000000000000000C0
+:10A0A00000000000000000000000000000000000B0
+:10A0B00000000000000000000000000000000000A0
+:10A0C0000000000000000000000000000000000090
+:10A0D0000000000000000000000000000000000080
+:10A0E0000000000000000000000000000000000070
+:10A0F0000000000000000000000000000000000060
+:10A10000000000000000000000000000000000024D
+:10A11000000000000000000000000000000000003F
+:10A12000000000000000000000000000000000002F
+:10A13000000000000000000000000000000000001F
+:10A14000000000000000000000000000000000000F
+:10A1500000000000000000000000000000000000FF
+:10A1600000000000000000000000000000000000EF
+:10A1700000000000000000000000000000000000DF
+:10A1800000000000000000000000000000000000CF
+:10A1900000000000000000000000000000000000BF
+:10A1A00000000000000000000000000000000000AF
+:10A1B000000000000000000000000000000000009F
+:10A1C000000000000000000000000000000000008F
+:10A1D000000000000000000000000000000000007F
+:10A1E000000000000000000000000000000000006F
+:10A1F000000000000000000000000000000000005F
+:10A20000000000000000000000000000000000024C
+:10A21000000000000000000000000000000000003E
+:10A22000000000000000000000000000000000002E
+:10A23000000000000000000000000000000000001E
+:10A24000000000000000000000000000000000000E
+:10A2500000000000000000000000000000000000FE
+:10A2600000000000000000000000000000000000EE
+:10A2700000000000000000000000000000000000DE
+:10A2800000000000000000000000000000000000CE
+:10A2900000000000000000000000000000000000BE
+:10A2A00000000000000000000000000000000000AE
+:10A2B000000000000000000000000000000000009E
+:10A2C000000000000000000000000000000000008E
+:10A2D000000000000000000000000000000000007E
+:10A2E000000000000000000000000000000000006E
+:10A2F000000000000000000000000000000000005E
+:10A30000000000000000000000000000000000024B
+:10A31000000000000000000000000000000000003D
+:10A32000000000000000000000000000000000002D
+:10A33000000000000000000000000000000000001D
+:10A34000000000000000000000000000000000000D
+:10A3500000000000000000000000000000000000FD
+:10A3600000000000000000000000000000000000ED
+:10A3700000000000000000000000000000000000DD
+:10A3800000000000000000000000000000000000CD
+:10A3900000000000000000000000000000000000BD
+:10A3A00000000000000000000000000000000000AD
+:10A3B000000000000000000000000000000000009D
+:10A3C000000000000000000000000000000000008D
+:10A3D000000000000000000000000000000000007D
+:10A3E000000000000000000000000000000000006D
+:10A3F000000000000000000000000000000000005D
+:10A40000000000000000000000000000000000024A
+:10A41000000000000000000000000000000000003C
+:10A42000000000000000000000000000000000002C
+:10A43000000000000000000000000000000000001C
+:10A44000000000000000000000000000000000000C
+:10A4500000000000000000000000000000000000FC
+:10A4600000000000000000000000000000000000EC
+:10A4700000000000000000000000000000000000DC
+:10A4800000000000000000000000000000000000CC
+:10A4900000000000000000000000000000000000BC
+:10A4A00000000000000000000000000000000000AC
+:10A4B000000000000000000000000000000000009C
+:10A4C000000000000000000000000000000000008C
+:10A4D000000000000000000000000000000000007C
+:10A4E000000000000000000000000000000000006C
+:10A4F000000000000000000000000000000000005C
+:10A500000000000000000000000000000000000249
+:10A51000000000000000000000000000000000003B
+:10A52000000000000000000000000000000000002B
+:10A53000000000000000000000000000000000001B
+:10A54000000000000000000000000000000000000B
+:10A5500000000000000000000000000000000000FB
+:10A5600000000000000000000000000000000000EB
+:10A5700000000000000000000000000000000000DB
+:10A5800000000000000000000000000000000000CB
+:10A5900000000000000000000000000000000000BB
+:10A5A00000000000000000000000000000000000AB
+:10A5B000000000000000000000000000000000009B
+:10A5C000000000000000000000000000000000008B
+:10A5D000000000000000000000000000000000007B
+:10A5E000000000000000000000000000000000006B
+:10A5F000000000000000000000000000000000005B
+:10A600000000000000000000000000000000000248
+:10A610000000000000000000000000000001000039
+:10A62000000000000000000000000000000000002A
+:10A63000000000000000000000000000000000001A
+:10A64000000000000000000000000000000000000A
+:10A6500000000000000000000000000000000000FA
+:10A6600000000000000000000000000000000000EA
+:10A6700000000000000000000000000000000000DA
+:10A6800000000000000000000000000000000000CA
+:10A6900000000000000000000000000000000000BA
+:10A6A00000000000000000000000000000000000AA
+:10A6B000000000000000000000000000000000009A
+:10A6C000000000000000000000000000000000008A
+:10A6D000000000000000000000000000000000007A
+:10A6E000000000000000000000000000000000006A
+:10A6F000000000000000000000000000000000005A
+:10A700000000000000000000000000000000000247
+:10A710000000000000000000000000000001000038
+:10A720000000000000000000000000000001010027
+:10A730000000000000000000000000000000000019
+:10A740000000000000000000000000000000000009
+:10A7500000000000000000000000000000000000F9
+:10A7600000000000000000000000000000000000E9
+:10A7700000000000000000000000000000000000D9
+:10A7800000000000000000000000000000000000C9
+:10A7900000000000000000000000000000000000B9
+:10A7A00000000000000000000000000000000000A9
+:10A7B0000000000000000000000000000000000099
+:10A7C0000000000000000000000000000000000089
+:10A7D0000000000000000000000000000000000079
+:10A7E0000000000000000000000000000000000069
+:10A7F0000000000000000000000000000000000059
+:10A800000000000000000000000000000000000246
+:10A810000200000000000000000000000001000035
+:10A820000000000000000000000000000101010025
+:10A830000000000000000000000000000000000018
+:10A840000000000000000000000000000000000008
+:10A8500000000000000000000000000000000000F8
+:10A8600000000000000000000000000000000000E8
+:10A8700000000000000000000000000000000000D8
+:10A8800000000000000000000000000000000000C8
+:10A8900000000000000000000000000000000000B8
+:10A8A00000000000000000000000000000000000A8
+:10A8B0000000000000000000000000000000000098
+:10A8C0000000000000000000000000000000000088
+:10A8D0000000000000000000000000000000000078
+:10A8E0000000000000000000000000000000000068
+:10A8F0000000000000000000000000000000000058
+:10A900000000000000000000000000000000000245
+:10A91000020202000000000000000000010100002F
+:10A920000000000000000000000000010101010023
+:10A930000000000000000000000000000000000017
+:10A940000000000000000000000000000000000007
+:10A9500000000000000000000000000000000000F7
+:10A9600000000000000000000000000000000000E7
+:10A9700000000000000000000000000000000000D7
+:10A9800000000000000000000000000000000000C7
+:10A9900000000000000000000000000000000000B7
+:10A9A00000000000000000000000000000000000A7
+:10A9B0000000000000000000000000000000000097
+:10A9C0000000000000000000000000000000000087
+:10A9D0000000000000000000000000000000000077
+:10A9E0000000000000000000000000000000000067
+:10A9F0000000000000000000000000000000000057
+:10AA00000000000000000000000000000000000244
+:10AA1000020202000000000000000000010100002E
+:10AA20000000000000000000000000010101010022
+:10AA30000000000000000000000000000000000016
+:10AA40000000000000000000000000000000000006
+:10AA500000000000000000000000000000000000F6
+:10AA600000000000000000000000000000000000E6
+:10AA700000000000000000000000000000000000D6
+:10AA800000000000000000000000000000000000C6
+:10AA900000000000000000000000000000000000B6
+:10AAA00000000000000000000000000000000000A6
+:10AAB0000000000000000000000000000000000096
+:10AAC0000000000000000000000000000000000086
+:10AAD0000000000000000000000000000000000076
+:10AAE0000000000000000000000000000000000066
+:10AAF0000000000000000000000000000000000056
+:10AB00000000000000000000000000000000000243
+:10AB1000020202020000000000000000010100002B
+:10AB2000000000000000000000010101010101001F
+:10AB30000000000000000000000000000000000015
+:10AB40000000000000000000000000000000000005
+:10AB500000000000000000000000000000000000F5
+:10AB600000000000000000000000000000000000E5
+:10AB700000000000000000000000000000000000D5
+:10AB800000000000000000000000000000000000C5
+:10AB900000000000000000000000000000000000B5
+:10ABA00000000000000000000000000000000000A5
+:10ABB0000000000000000000000000000000000095
+:10ABC0000000000000000000000000000000000085
+:10ABD0000000000000000000000000000000000075
+:10ABE0000000000000000000000000000000000065
+:10ABF0000000000000000000000000000000000055
+:10AC00000000000000000000000000000000000242
+:10AC1000020202020000000000000000010100002A
+:10AC2000000000000000000001010101010101001D
+:10AC30000000000000000000000000000000000014
+:10AC40000000000000000000000000000000000004
+:10AC500000000000000000000000000000000000F4
+:10AC600000000000000000000000000000000000E4
+:10AC700000000000000000000000000000000000D4
+:10AC800000000000000000000000000000000000C4
+:10AC900000000000000000000000000000000000B4
+:10ACA00000000000000000000000000000000000A4
+:10ACB0000000000000000000000000000000000094
+:10ACC0000000000000000000000000000000000084
+:10ACD0000000000000000000000000000000000074
+:10ACE0000000000000000000000000000000000064
+:10ACF0000000000000000000000000000000000054
+:10AD00000000000000000000000000000000000241
+:10AD10000202020202000000000000000101000027
+:10AD2000000000000000000001010101010101001C
+:10AD30000000000000000000000000000000000013
+:10AD40000000000000000000000000000000000003
+:10AD500000000000000000000000000000000000F3
+:10AD600000000000000000000000000000000000E3
+:10AD700000000000000000000000000000000000D3
+:10AD800000000000000000000000000000000000C3
+:10AD900000000000000000000000000000000000B3
+:10ADA00000000000000000000000000000000000A3
+:10ADB0000000000000000000000000000000000093
+:10ADC0000000000000000000000000000000000083
+:10ADD0000000000000000000000000000000000073
+:10ADE0000000000000000000000000000000000063
+:10ADF0000000000000000000000000000000000053
+:10AE00000000000000000000000000000000000240
+:10AE10000202020202020200000000010102000020
+:10AE2000000000000000000101010101010101001A
+:10AE30000000000000000000000000000000000012
+:10AE40000000000000000000000000000000000002
+:10AE500000000000000000000000000000000000F2
+:10AE600000000000000000000000000000000000E2
+:10AE700000000000000000000000000000000000D2
+:10AE800000000000000000000000000000000000C2
+:10AE900000000000000000000000000000000000B2
+:10AEA00000000000000000000000000000000000A2
+:10AEB0000000000000000000000000000000000092
+:10AEC0000000000000000000000000000000000082
+:10AED0000000000000000000000000000000000072
+:10AEE0000000000000000000000000000000000062
+:10AEF0000000000000000000000000000000000052
+:10AF00000000000000000000000000000000000041
+:10AF1000020202020202020200000001020200001C
+:10AF20000000000000010101010101010101010017
+:10AF30000000000000000000000000000000000011
+:10AF40000000000000000000000000000000000001
+:10AF500000000000000000000000000000000000F1
+:10AF600000000000000000000000000000000000E1
+:10AF700000000000000000000000000000000000D1
+:10AF800000000000000000000000000000000000C1
+:10AF900000000000000000000000000000000000B1
+:10AFA00000000000000000000000000000000000A1
+:10AFB0000000000000000000000000000000000091
+:10AFC0000000000000000000000000000000000081
+:10AFD0000000000000000000000000000000000071
+:10AFE0000000000000000000000000000000000061
+:10AFF0000000000000000000000000000000000051
+:10B000000000000000000000000000000000000040
+:10B01000020202020202020200010001020200001A
+:10B020000000000001010101010101010101010015
+:10B030000000000000000000000000000000000010
+:10B040000000000000000000000000000000000000
+:10B0500000000000000000000000000000000000F0
+:10B0600000000000000000000000000000000000E0
+:10B0700000000000000000000000000000000000D0
+:10B0800000000000000000000000000000000000C0
+:10B0900000000000000000000000000000000000B0
+:10B0A00000000000000000000000000000000000A0
+:10B0B0000000000000000000000000000000000090
+:10B0C0000000000000000000000000000000000080
+:10B0D0000000000000000000000000000000000070
+:10B0E0000000000000000000000000000000000060
+:10B0F0000000000000000000000000000000000050
+:10B10000000000000000000000000000000000003F
+:10B110000202020202020202020200020202000015
+:10B120000000000001010101010101010101010014
+:10B13000000000000000000000000000000000000F
+:10B1400000000000000000000000000000000000FF
+:10B1500000000000000000000000000000000000EF
+:10B1600000000000000000000000000000000000DF
+:10B1700000000000000000000000000000000000CF
+:10B1800000000000000000000000000000000000BF
+:10B1900000000000000000000000000000000000AF
+:10B1A000000000000000000000000000000000009F
+:10B1B000000000000000000000000000000000008F
+:10B1C000000000000000000000000000000000007F
+:10B1D000000000000000000000000000000000006F
+:10B1E000000000000000000000000000000000005F
+:10B1F000000000000000000000000000000000004F
+:10B20000000000000000000000000000000000003E
+:10B210000202020202020202020202020202000012
+:10B220000000000101010101010101010101010012
+:10B23000000000000000000000000000000000000E
+:10B2400000000000000000000000000000000000FE
+:10B2500000000000000000000000000000000000EE
+:10B2600000000000000000000000000000000000DE
+:10B2700000000000000000000000000000000000CE
+:10B2800000000000000000000000000000000000BE
+:10B2900000000000000000000000000000000000AE
+:10B2A000000000000000000000000000000000009E
+:10B2B000000000000000000000000000000000008E
+:10B2C000000000000000000000000000000000007E
+:10B2D000000000000000000000000000000000006E
+:10B2E000000000000000000000000000000000005E
+:10B2F000000000000000000000000000000000004E
+:10B30000000000000000000000000000000000003D
+:10B310000202020202020202020202020202000011
+:10B320000000000101010101010101010101010011
+:10B33000000000000000000000000000000000000D
+:10B3400000000000000000000000000000000000FD
+:10B3500000000000000000000000000000000000ED
+:10B3600000000000000000000000000000000000DD
+:10B3700000000000000000000000000000000000CD
+:10B3800000000000000000000000000000000000BD
+:10B3900000000000000000000000000000000000AD
+:10B3A000000000000000000000000000000000009D
+:10B3B000000000000000000000000000000000008D
+:10B3C000000000000000000000000000000000007D
+:10B3D000000000000000000000000000000000006D
+:10B3E000000000000000000000000000000000005D
+:10B3F000000000000000000000000000000000004D
+:10B40000000000000000000000000000000000003C
+:10B410000202020202020202020202020202000010
+:10B42000000101010101010101010101010101000E
+:10B43000000000000000000000000000000000000C
+:10B4400000000000000000000000000000000000FC
+:10B4500000000000000000000000000000000000EC
+:10B4600000000000000000000000000000000000DC
+:10B4700000000000000000000000000000000000CC
+:10B4800000000000000000000000000000000000BC
+:10B4900000000000000000000000000000000000AC
+:10B4A000000000000000000000000000000000009C
+:10B4B000000000000000000000000000000000008C
+:10B4C000000000000000000000000000000000007C
+:10B4D000000000000000000000000000000000006C
+:10B4E000000000000000000000000000000000005C
+:10B4F000000000000000000000000000000000004C
+:10B50000000000000000000000000000000000003B
+:10B51000020202020202020202020202020200000F
+:10B52000000000000000000000000000000000001B
+:10B53000000000000000000000000000000000000B
+:10B5400000000000000000000000000000000000FB
+:10B5500000000000000000000000000000000000EB
+:10B5600000000000000000000000000000000000DB
+:10B5700000000000000000000000000000000000CB
+:10B5800000000000000000000000000000000000BB
+:10B5900000000000000000000000000000000000AB
+:10B5A000000000000000000000000000000000009B
+:10B5B000000000000000000000000000000000008B
+:10B5C000000000000000000000000000000000007B
+:10B5D000000000000000000000000000000000006B
+:10B5E000000000000000000000000000000000005B
+:10B5F000000000000000000000000000000000004B
+:10B60000000000000000000000000000000000003A
+:10B610000000000000000000000000000000001614
+:10B62000000000000000000000000000000000001A
+:10B63000000000000000000000000000000000000A
+:10B6400000000000000000000000000000000000FA
+:10B6500000000000000000000000000000000000EA
+:10B6600000000000000000000000000000000000DA
+:10B6700000000000000000000000000000000000CA
+:10B6800000000000000000000000000000000000BA
+:10B6900000000000000000000000000000000000AA
+:10B6A000000000000000000000000000000000009A
+:10B6B000000000000000000000000000000000008A
+:10B6C000000000000000000000000000000000007A
+:10B6D000000000000000000000000000000000006A
+:10B6E000000000000000000000000000000000005A
+:10B6F000000000000000000000000000000000004A
+:10B700000000000000000000000000000000000039
+:10B710000000000000000002000000000000000027
+:10B720000000000000000000000000000000000019
+:10B730000000000000000000000000000000000009
+:10B7400000000000000000000000000000000000F9
+:10B7500000000000000000000000000000000000E9
+:10B7600000000000000000000000000000000000D9
+:10B7700000000000000000000000000000000000C9
+:10B7800000000000000000000000000000000000B9
+:10B7900000000000000000000000000000000000A9
+:10B7A0000000000000000000000000000000000099
+:10B7B0000000000000000000000000000000000089
+:10B7C0000000000000000000000000000000000079
+:10B7D0000000000000000000000000000000000069
+:10B7E0000000000000000000000000000000000059
+:10B7F0000000000000000000000000000000000049
+:10B800000000000000000000000000000000000038
+:10B810000000000000000002000000000000000026
+:10B820000000000000010000000000000000000017
+:10B830000000000000000000000000000000000008
+:10B8400000000000000000000000000000000000F8
+:10B8500000000000000000000000000000000000E8
+:10B8600000000000000000000000000000000000D8
+:10B8700000000000000000000000000000000000C8
+:10B8800000000000000000000000000000000000B8
+:10B8900000000000000000000000000000000000A8
+:10B8A0000000000000000000000000000000000098
+:10B8B0000000000000000000000000000000000088
+:10B8C0000000000000000000000000000000000078
+:10B8D0000000000000000000000000000000000068
+:10B8E0000000000000000000000000000000000058
+:10B8F0000000000000000000000000000000000048
+:10B900000000000000000000000000000000000037
+:10B910000000000000000002000000000000000025
+:10B920000000000000010000000000000000000016
+:10B930000000000000000000000000000000000007
+:10B9400000000000000000000000000000000000F7
+:10B9500000000000000000000000000000000000E7
+:10B9600000000000000000000000000000000000D7
+:10B9700000000000000000000000000000000000C7
+:10B9800000000000000000000000000000000000B7
+:10B9900000000000000000000000000000000000A7
+:10B9A0000000000000000000000000000000000097
+:10B9B0000000000000000000000000000000000087
+:10B9C0000000000000000000000000000000000077
+:10B9D0000000000000000000000000000000000067
+:10B9E0000000000000000000000000000000000057
+:10B9F0000000000000000000000000000000000047
+:10BA00000000000000000000000000000000000036
+:10BA10000000000000000002000000000000000024
+:10BA20000000000000010000000000000000000015
+:10BA30000000000000000000000000000000000006
+:10BA400000000000000000000000000000000000F6
+:10BA500000000000000000000000000000000000E6
+:10BA600000000000000000000000000000000000D6
+:10BA700000000000000000000000000000000000C6
+:10BA800000000000000000000000000000000000B6
+:10BA900000000000000000000000000000000000A6
+:10BAA0000000000000000000000000000000000096
+:10BAB0000000000000000000000000000000000086
+:10BAC0000000000000000000000000000000000076
+:10BAD0000000000000000000000000000000000066
+:10BAE0000000000000000000000000000000000056
+:10BAF0000000000000000000000000000000000046
+:10BB00000000000000000000000000000000000035
+:10BB10000000000000000002000000000000000023
+:10BB20000000000000010000000000000000000014
+:10BB30000000000000000000000000000000000005
+:10BB400000000000000000000000000000000000F5
+:10BB500000000000000000000000000000000000E5
+:10BB600000000000000000000000000000000000D5
+:10BB700000000000000000000000000000000000C5
+:10BB800000000000000000000000000000000000B5
+:10BB900000000000000000000000000000000000A5
+:10BBA0000000000000000000000000000000000095
+:10BBB0000000000000000000000000000000000085
+:10BBC0000000000000000000000000000000000075
+:10BBD0000000000000000000000000000000000065
+:10BBE0000000000000000000000000000000000055
+:10BBF0000000000000000000000000000000000045
+:10BC00000000000000000000000000000000000034
+:10BC10000000000000000002000000000000000022
+:10BC20000000000000010000000000000000000013
+:10BC30000000000000000000000000000000000004
+:10BC400000000000000000000000000000000000F4
+:10BC500000000000000000000000000000000000E4
+:10BC600000000000000000000000000000000000D4
+:10BC700000000000000000000000000000000000C4
+:10BC800000000000000000000000000000000000B4
+:10BC900000000000000000000000000000000000A4
+:10BCA0000000000000000000000000000000000094
+:10BCB0000000000000000000000000000000000084
+:10BCC0000000000000000000000000000000000074
+:10BCD0000000000000000000000000000000000064
+:10BCE0000000000000000000000000000000000054
+:10BCF0000000000000000000000000000000000044
+:10BD00000000000000000000000000000000000033
+:10BD10000000000000000002000000000000000021
+:10BD20000000000001010000000000000000000011
+:10BD30000000000000010100000000000000000001
+:10BD400000000000000000000000000000000000F3
+:10BD500000000000000000000000000000000000E3
+:10BD600000000000000000000000000000000000D3
+:10BD700000000000000000000000000000000000C3
+:10BD800000000000000000000000000000000000B3
+:10BD900000000000000000000000000000000000A3
+:10BDA0000000000000000000000000000000000093
+:10BDB0000000000000000000000000000000000083
+:10BDC0000000000000000000000000000000000073
+:10BDD0000000000000000000000000000000000063
+:10BDE0000000000000000000000000000000000053
+:10BDF0000000000000000000000000000000000043
+:10BE00000000000000000000000000000000000032
+:10BE1000000000000000000202000000000000001E
+:10BE20000000000001010000000000000000000010
+:10BE300000000000010101000000000000000000FF
+:10BE400000000000000000000000000000000000F2
+:10BE500000000000000000000000000000000000E2
+:10BE600000000000000000000000000000000000D2
+:10BE700000000000000000000000000000000000C2
+:10BE800000000000000000000000000000000000B2
+:10BE900000000000000000000000000000000000A2
+:10BEA0000000000000000000000000000000000092
+:10BEB0000000000000000000000000000000000082
+:10BEC0000000000000000000000000000000000072
+:10BED0000000000000000000000000000000000062
+:10BEE0000000000000000000000000000000000052
+:10BEF0000000000000000000000000000000000042
+:10BF00000000000000000000000000000000000031
+:10BF1000000000000000000202020000000000001B
+:10BF2000000000000101000000000000000000000F
+:10BF300000000001010101000000000000000000FD
+:10BF400000000000000000000000000000000000F1
+:10BF500000000000000000000000000000000000E1
+:10BF600000000000000000000000000000000000D1
+:10BF700000000000000000000000000000000000C1
+:10BF800000000000000000000000000000000000B1
+:10BF900000000000000000000000000000000000A1
+:10BFA0000000000000000000000000000000000091
+:10BFB0000000000000000000000000000000000081
+:10BFC0000000000000000000000000000000000071
+:10BFD0000000000000000000000000000000000061
+:10BFE0000000000000000000000000000000000051
+:10BFF0000000000000000000000000000000000041
+:10C000000000000000000000000000000000000030
+:10C01000000000000000000202020000000000001A
+:10C02000000000010101000000000000000000000D
+:10C0300000000001010101000000000000000000FC
+:10C0400000000000000000000000000000000000F0
+:10C0500000000000000000000000000000000000E0
+:10C0600000000000000000000000000000000000D0
+:10C0700000000000000000000000000000000000C0
+:10C0800000000000000000000000000000000000B0
+:10C0900000000000000000000000000000000000A0
+:10C0A0000000000000000000000000000000000090
+:10C0B0000000000000000000000000000000000080
+:10C0C0000000000000000000000000000000000070
+:10C0D0000000000000000000000000000000000060
+:10C0E0000000000000000000000000000000000050
+:10C0F0000000000000000000000000000000000040
+:10C10000000000000000000000000000000000002F
+:10C110000000000000000002020202020000000015
+:10C12000000000010101000000000000000000000C
+:10C1300001010101010101000000000000000000F8
+:10C1400000000000000000000000000000000000EF
+:10C1500000000000000000000000000000000000DF
+:10C1600000000000000000000000000000000000CF
+:10C1700000000000000000000000000000000000BF
+:10C1800000000000000000000000000000000000AF
+:10C19000000000000000000000000000000000009F
+:10C1A000000000000000000000000000000000008F
+:10C1B000000000000000000000000000000000007F
+:10C1C000000000000000000000000000000000006F
+:10C1D000000000000000000000000000000000005F
+:10C1E000000000000000000000000000000000004F
+:10C1F000000000000000000000000000000000003F
+:10C20000000000000000000000000000000000002E
+:10C210000000000000000002020202020000000014
+:10C22000000000010102000000000000000000000A
+:10C2300001010101010101000000000000000000F7
+:10C2400000000000000000000000000000000000EE
+:10C2500000000000000000000000000000000000DE
+:10C2600000000000000000000000000000000000CE
+:10C2700000000000000000000000000000000000BE
+:10C2800000000000000000000000000000000000AE
+:10C29000000000000000000000000000000000009E
+:10C2A000000000000000000000000000000000008E
+:10C2B000000000000000000000000000000000007E
+:10C2C000000000000000000000000000000000006E
+:10C2D000000000000000000000000000000000005E
+:10C2E000000000000000000000000000000000004E
+:10C2F000000000000000000000000000000000003E
+:10C30000000000000000000000000000000000002D
+:10C310000000000000000002020202020200000011
+:10C320000000000101020000000000000000000009
+:10C3300001010101010101000000000000000000F6
+:10C3400000000000000000000000000000000000ED
+:10C3500000000000000000000000000000000000DD
+:10C3600000000000000000000000000000000000CD
+:10C3700000000000000000000000000000000000BD
+:10C3800000000000000000000000000000000000AD
+:10C39000000000000000000000000000000000009D
+:10C3A000000000000000000000000000000000008D
+:10C3B000000000000000000000000000000000007D
+:10C3C000000000000000000000000000000000006D
+:10C3D000000000000000000000000000000000005D
+:10C3E000000000000000000000000000000000004D
+:10C3F000000000000000000000000000000000003D
+:10C40000000000000000000000000000000000002C
+:10C41000000000000000000202020202020202000C
+:10C420000100000102020000000000000000000105
+:10C4300001010101010101000000000000000000F5
+:10C4400000000000000000000000000000000000EC
+:10C4500000000000000000000000000000000000DC
+:10C4600000000000000000000000000000000000CC
+:10C4700000000000000000000000000000000000BC
+:10C4800000000000000000000000000000000000AC
+:10C49000000000000000000000000000000000009C
+:10C4A000000000000000000000000000000000008C
+:10C4B000000000000000000000000000000000007C
+:10C4C000000000000000000000000000000000006C
+:10C4D000000000000000000000000000000000005C
+:10C4E000000000000000000000000000000000004C
+:10C4F000000000000000000000000000000000003C
+:10C50000000000000000000000000000000000002B
+:10C51000000000000000000002020202020202020B
+:10C520000100000202020000000000000001010101
+:10C5300001010101010101000000000000000000F4
+:10C5400000000000000000000000000000000000EB
+:10C5500000000000000000000000000000000000DB
+:10C5600000000000000000000000000000000000CB
+:10C5700000000000000000000000000000000000BB
+:10C5800000000000000000000000000000000000AB
+:10C59000000000000000000000000000000000009B
+:10C5A000000000000000000000000000000000008B
+:10C5B000000000000000000000000000000000007B
+:10C5C000000000000000000000000000000000006B
+:10C5D000000000000000000000000000000000005B
+:10C5E000000000000000000000000000000000004B
+:10C5F000000000000000000000000000000000003B
+:10C60000000000000000000000000000000000002A
+:10C61000000000000000000002020202020202020A
+:10C6200002010002020200000000000001010101FD
+:10C6300001010101010101000000000000000000F3
+:10C6400000000000000000000000000000000000EA
+:10C6500000000000000000000000000000000000DA
+:10C6600000000000000000000000000000000000CA
+:10C6700000000000000000000000000000000000BA
+:10C6800000000000000000000000000000000000AA
+:10C69000000000000000000000000000000000009A
+:10C6A000000000000000000000000000000000008A
+:10C6B000000000000000000000000000000000007A
+:10C6C000000000000000000000000000000000006A
+:10C6D000000000000000000000000000000000005A
+:10C6E000000000000000000000000000000000004A
+:10C6F000000000000000000000000000000000003A
+:10C700000000000000000000000000000000000029
+:10C710000000000000000000020202020202020209
+:10C7200002020002020200000000000001010101FB
+:10C7300001010101010101000000000000000000F2
+:10C7400000000000000000000000000000000000E9
+:10C7500000000000000000000000000000000000D9
+:10C7600000000000000000000000000000000000C9
+:10C7700000000000000000000000000000000000B9
+:10C7800000000000000000000000000000000000A9
+:10C790000000000000000000000000000000000099
+:10C7A0000000000000000000000000000000000089
+:10C7B0000000000000000000000000000000000079
+:10C7C0000000000000000000000000000000000069
+:10C7D0000000000000000000000000000000000059
+:10C7E0000000000000000000000000000000000049
+:10C7F0000000000000000000000000000000000039
+:10C800000000000000000000000000000000000028
+:10C810000000000000000000020202020202020208
+:10C8200002020202020200000000010101010101F6
+:10C8300001010101010101000000000000000000F1
+:10C8400000000000000000000000000000000000E8
+:10C8500000000000000000000000000000000000D8
+:10C8600000000000000000000000000000000000C8
+:10C8700000000000000000000000000000000000B8
+:10C8800000000000000000000000000000000000A8
+:10C890000000000000000000000000000000000098
+:10C8A0000000000000000000000000000000000088
+:10C8B0000000000000000000000000000000000078
+:10C8C0000000000000000000000000000000000068
+:10C8D0000000000000000000000000000000000058
+:10C8E0000000000000000000000000000000000048
+:10C8F0000000000000000000000000000000000038
+:10C900000000000000000000000000000000000027
+:10C910000000000000000000020202020202020207
+:10C9200002020202020200000000010101010101F5
+:10C9300001010101010101000000000000000000F0
+:10C9400000000000000000000000000000000000E7
+:10C9500000000000000000000000000000000000D7
+:10C9600000000000000000000000000000000000C7
+:10C9700000000000000000000000000000000000B7
+:10C9800000000000000000000000000000000000A7
+:10C990000000000000000000000000000000000097
+:10C9A0000000000000000000000000000000000087
+:10C9B0000000000000000000000000000000000077
+:10C9C0000000000000000000000000000000000067
+:10C9D0000000000000000000000000000000000057
+:10C9E0000000000000000000000000000000000047
+:10C9F0000000000000000000000000000000000037
+:10CA00000000000000000000000000000000000026
+:10CA10000000000000000000020202020202020206
+:10CA200002020202020200000001010101010101F3
+:10CA300001010101010101000000000000000000EF
+:10CA400000000000000000000000000000000000E6
+:10CA500000000000000000000000000000000000D6
+:10CA600000000000000000000000000000000000C6
+:10CA700000000000000000000000000000000000B6
+:10CA800000000000000000000000000000000000A6
+:10CA90000000000000000000000000000000000096
+:10CAA0000000000000000000000000000000000086
+:10CAB0000000000000000000000000000000000076
+:10CAC0000000000000000000000000000000000066
+:10CAD0000000000000000000000000000000000056
+:10CAE0000000000000000000000000000000000046
+:10CAF0000000000000000000000000000000000036
+:10CB00000000000000000000000000000000000025
+:10CB10000000000000000000020202020202020205
+:10CB200002020202020200000000000000000000F9
+:10CB300000000000000000000000000000000000F5
+:10CB400000000000000000000000000000000000E5
+:10CB500000000000000000000000000000000000D5
+:10CB600000000000000000000000000000000000C5
+:10CB700000000000000000000000000000000000B5
+:10CB800000000000000000000000000000000000A5
+:10CB90000000000000000000000000000000000095
+:10CBA0000000000000000000000000000000000085
+:10CBB0000000000000000000000000000000000075
+:10CBC0000000000000000000000000000000000065
+:10CBD0000000000000000000000000000000000055
+:10CBE0000000000000000000000000000000000045
+:10CBF0000000000000000000000000000000000035
+:10CC00000000000000000000000000000000000024
+:10CC10000000000000000000000000000000000014
+:10CC20000000000000000058CC060000000000607A
+:10CC30004207000000000068970700000000007035
+:10CC4000E3070000000000782F08000000000080CB
+:10CC50007308000000000088B10800000000009088
+:10CC6000EA0800000000009820090000000000A071
+:10CC700053090000000000A886090000000000B071
+:10CC8000C1090000000000B8050A0000000000C053
+:10CC9000490A0000000000760000000000000000CB
+:10CCA0000200000202000000000200020200000177
+:10CCB000000000000000000200000200000202006C
+:10CCC0000000020000020202020002000002000056
+:10CCD0000000000200000000000000000000000250
+:10CCE0000000000000000000020000000000000042
+:10CCF0000000000002000000000200000000000030
+:10CD0000020000000000000000020000020000001D
+:10CD10000000000000000000000000000000000013
+:10CD20000000000000000000000000000000000003
+:10CD300000020000020000000000000000000000EF
+:10CD400000000000000202000200020000020200D7
+:10CD500002020000000000000002000002000000CB
+:10CD600002020002020000000002000202000002B3
+:10CD700000000200000202020200020000020200A3
+:10CD80000202000202000000000000000200000099
+:10CD90000000020000020202020002000002000283
+:10CDA000020202020200020200020202020200016A
+:10CDB0000200000000000002000002020202020065
+:10CDC000000202000202020202020202000200004D
+:10CDD0000000020200000000000000000002020249
+:10CDE000020000000000000002000000000000023D
+:10CDF0000000020002020202020200000000000025
+:10CE0000020000000000000200020000020000001A
+:10CE10000000000000000000000000000000000012
+:10CE20000000000000000000000000000000000002
+:10CE300000020000020202000000020000020000E6
+:10CE400002000000020202000202020000020202CE
+:10CE500002020000000202000202000002000202C0
+:10CE600002020202020202020202020202020202A2
+:10CE70000202020202020202020202020202020292
+:10CE8000020202020200000002000200020202008E
+:10CE90000202020202020202020202020202000274
+:10CEA0000202020202020202020202020202000264
+:10CEB0000200000000000002000002020202020163
+:10CEC000000202000202020202020202000200004C
+:10CED0000000020200000000000000000002020248
+:10CEE000020000000000000002000000000000023C
+:10CEF0000200020002020202020200000000000022
+:10CF00000200000000000002000200000200000019
+:10CF10000000000000000000000000000000000011
+:10CF20000000000000000000000000000000000001
+:10CF300000020000020202000000020200020002E1
+:10CF400002000200020202020202020000020202C9
+:10CF500002020000020202000202000002000202BD
+:10CF600002020202020202020202020202020202A1
+:10CF70000202020202020202020202020202020291
+:10CF8000020202020200000002000200020202008D
+:10CF90000202020202020202020202020202020271
+:10CFA0000202020202020202020202020202000263
+:10CFB0000200000000000002000002020202020162
+:10CFC0000202020002020202020202020002000049
+:10CFD0000000020200000000000000000002020247
+:10CFE0000202000200000000020000000200000235
+:10CFF0000200020002020202020200000000000021
+:10D000000200000000000002000200000200000018
+:10D01000000000020000000000000000020000000C
+:10D0200000000000000000000000000000000002FE
+:10D0300000020000020202020000020200020002DE
+:10D0400002000202020202020202020200020202C4
+:10D0500002020200020202000202000002020202B8
+:10D0600002020202020202020202020202020202A0
+:10D070000202020202020202020202020202020290
+:10D08000020202020200000002000200020202008C
+:10D090000202020202020202020202020202020270
+:10D0A0000202020202020202020202020202000262
+:10D0B0000200000000000002000002020202020260
+:10D0C0000202020002020202020202020002000048
+:10D0D0000000020200000000000000000002020246
+:10D0E0000202000200000000020002000200000232
+:10D0F000020202000202020202020000000000001E
+:10D100000200000200000002000200000200000015
+:10D110000000020200000000000000000200000009
+:10D1200000000000000000000000000000000002FD
+:10D1300002020002020202020000020200020002D9
+:10D1400002000202020202020202020200020202C3
+:10D1500002020202020202000202000002020202B5
+:10D16000020202020202020202020202020202029F
+:10D17000020202020202020202020202020202028F
+:10D18000020202020200000002000200020202008B
+:10D19000020202020202020202020202020202026F
+:10D1A0000202020202020202020202020202000261
+:10D1B000020000000000000200000202020202025F
+:10D1C0000202020202020202020202020002000045
+:10D1D0000000020200000000000000000002020245
+:10D1E000020200020000000002000202020000022F
+:10D1F000020202000202020202020000000000001D
+:10D200000200000200000002000200000200020012
+:10D210000000020200000000000000000200000008
+:10D2200000000000000000000000000000000002FC
+:10D2300002020002020202020200020200020002D6
+:10D2400002020202020202020202020202020202BE
+:10D2500002020202020202020202020002020202B0
+:10D26000020202020202020202020202020202029E
+:10D27000020202020202020202020202020202028E
+:10D28000020202020200000002000200020202008A
+:10D29000020202020202020202020202020202026E
+:10D2A0000202020202020202020202020202000260
+:10D2B000020000000000000200000202020202025E
+:10D2C0000202020202020202020202020002000044
+:10D2D0000000020200000000000000000002020244
+:10D2E000020202020000000002000202020000022C
+:10D2F000020202000202020202020000000000001C
+:10D30000020000020000000200020000020002020F
+:10D310000000020200000000020000000200000005
+:10D3200000000000000000000000000000000002FB
+:10D3300002020002020202020202020202020002D1
+:10D3400002020202020202020202020202020202BD
+:10D3500002020202020202020202020202020202AD
+:10D36000020202020202020202020202020202029D
+:10D37000020202020202020202020202020202028D
+:10D38000020202020200000002000200020201008A
+:10D39000020202020202020202020202020202026D
+:10D3A000020202020202020202020202020200025F
+:10D3B000020000000000000200000202020202025D
+:10D3C0000202020202020202020202020002000043
+:10D3D0000000020200000000000000000002020243
+:10D3E000020202020000000002000202020000022B
+:10D3F000020202000202020202020000000000001B
+:10D40000020000020000000200020000020002020E
+:10D410000002020200000000020000000200000002
+:10D4200000000000000000000000000000000002FA
+:10D4300002020202020202020202020202020002CE
+:10D4400002020202020202020202020202020202BC
+:10D4500002020202020202020202020202020202AC
+:10D46000020202020202020202020202020202029C
+:10D47000020202020202020202020202020202028C
+:10D480000202020202000000020002000202010089
+:10D49000020202020202020202020202020202026C
+:10D4A000020202020202020202020202020200025E
+:10D4B000020000000000000200000202020202025C
+:10D4C0000202020202020202020202020002000042
+:10D4D000020202020000000000000000000202023E
+:10D4E0000202020200020200020002020200000226
+:10D4F000020202000202020202020000000000001A
+:10D50000020000020000000200020000020002020D
+:10D5100000020202000000000200000002000200FF
+:10D5200000000000000000000000000000000002F9
+:10D5300002020202020202020202020202020002CD
+:10D5400002020202020202020202020202020202BB
+:10D5500002020202020202020202020202020202AB
+:10D56000020202020202020202020202020202029B
+:10D57000020202020202020202020202020202028B
+:10D580000202020202000000020002020202010086
+:10D59000020202020202020202020202020202026B
+:10D5A000020202020202020202020202020200025D
+:10D5B000020000000000000200000202020202025B
+:10D5C0000202020202020202020202020002000041
+:10D5D000020202020000000000000000000202023D
+:10D5E0000202020200020200020002020200000225
+:10D5F0000202020002020202020202000000000017
+:10D60000020000020000000202020000020002020A
+:10D6100002020202020000000200000002000200FA
+:10D6200000000000000000000000000000000002F8
+:10D6300002020202020202020202020202020002CC
+:10D6400002020202020202020202020202020202BA
+:10D6500002020202020202020202020202020202AA
+:10D66000020202020202020202020202020202029A
+:10D67000020202020202020202020202020202028A
+:10D680000202020202000000020002020201010086
+:10D69000020202020202020202020202020202026A
+:10D6A000020202020202020202020202020200025C
+:10D6B000020000000000000200000202020202025A
+:10D6C0000202020202020202020202020002000040
+:10D6D000020202020000000000000000000202023C
+:10D6E0000202020200020200020002020200000224
+:10D6F0000202020202020202020202000000000014
+:10D700000200000202000002020200000200020207
+:10D7100002020202020200000200020002000200F5
+:10D7200000000000000000000000000000000002F7
+:10D7300002020202020202020202020202020002CB
+:10D7400002020202020202020202020202020202B9
+:10D7500002020202020202020202020202020202A9
+:10D760000202020202020202020202020202020299
+:10D770000202020202020202020202020202020289
+:10D780000202020202000000020002020201010085
+:10D79000020202020202020202020202020201026A
+:10D7A000020202020202020202020202020200025B
+:10D7B0000200000000000002000002020202020259
+:10D7C000020202020202020202020202000200003F
+:10D7D000020202020000000000000000000202023B
+:10D7E0000202020200020200020002020200000223
+:10D7F0000202020202020202020202000000000013
+:10D800000200000202020002020200000202020202
+:10D8100002020202020200000200020202000202F0
+:10D8200000000000000000000000000000000002F6
+:10D8300002020202020202020202020202020002CA
+:10D8400002020202020202020202020202020202B8
+:10D8500002020202020202020202020202020202A8
+:10D860000202020202020202020202020202020298
+:10D870000202020202020202020202020202020288
+:10D880000202020202000000020002020201010084
+:10D890000202020202020202020202020202010269
+:10D8A000020202020202020202020202020200025A
+:10D8B0000200000000000002000002020202020258
+:10D8C000020202020202020202020202000200003E
+:10D8D000020202020000000000000000000202023A
+:10D8E0000202020200020200020002020200000222
+:10D8F0000202020202020202020202000000000012
+:10D900000200000202020002020200000202020201
+:10D9100002020202020200000200020202020202ED
+:10D9200000000000000000000000000000000002F5
+:10D9300002020202020202020202020202020002C9
+:10D9400002020202020202020202020202020202B7
+:10D9500002020202020202020202020202020202A7
+:10D960000202020202020202020202020202020297
+:10D970000202020202020202020202020202020287
+:10D980000202020202000000020002020101010084
+:10D990000202020202020202020202020202010268
+:10D9A0000202020202020202020202020202000259
+:10D9B0000200000000000002000002020202020257
+:10D9C000020202020202020202020202020200003B
+:10D9D0000202020200000000000000000002020239
+:10D9E000020202020002020002020202020000021F
+:10D9F0000202020202020202020202000000000011
+:10DA00000200000202020002020200000202020200
+:10DA100002020202020200000200020202020202EC
+:10DA200000000200000000000000000000000002F2
+:10DA300002020202020202020202020202020202C6
+:10DA400002020202020202020202020202020202B6
+:10DA500002020202020202020202020202020202A6
+:10DA60000202020202020202020202020202020296
+:10DA70000202020202020202020202020202020286
+:10DA80000202020202000000020002020101010083
+:10DA90000202020202020202020202020201010268
+:10DAA0000202020202020202020202020202000258
+:10DAB0000200000000000002000002020202020256
+:10DAC000020202020202020202020202020200003A
+:10DAD0000202020200000000000000000202020236
+:10DAE000020202020002020002020202020000021E
+:10DAF0000202020202020202020202000000000010
+:10DB000002000002020200020202000002020202FF
+:10DB100002020202020200000200020202020202EB
+:10DB200000000202000000000002000002000002EB
+:10DB300002020202020202020202020202020202C5
+:10DB400002020202020202020202020202020202B5
+:10DB500002020202020202020202020202020202A5
+:10DB60000202020202020202020202020202020295
+:10DB70000202020202020202020202020202010286
+:10DB80000202020202000000020202020101010080
+:10DB90000202020202020202020202020201010267
+:10DBA0000202020202020202020202020202000257
+:10DBB0000200000200000002000002020202020253
+:10DBC0000202020202020202020202020202000039
+:10DBD0000202020200000000000000000202020235
+:10DBE000020202020002020002020202020000021D
+:10DBF000020202020202020202020200000000000F
+:10DC000002000002020200020202000002020202FE
+:10DC100002020202020200000200020202020202EA
+:10DC200000000202000000000202000002000002E8
+:10DC300002020202020202020202020202020202C4
+:10DC400002020202020202020202020202020102B5
+:10DC500002020202020202020202020202020202A4
+:10DC60000202020202020202020202020202010295
+:10DC70000202020202020202020202020202010285
+:10DC80000202020202000000020201020101010080
+:10DC90000202020202020202020202010201010267
+:10DCA0000202020202020202020202020202000256
+:10DCB0000200000200000002000002020202020252
+:10DCC0000202020202020202020202020202000038
+:10DCD0000202020200000000000000000202020234
+:10DCE000020202020002020002020202020200021A
+:10DCF000020202020202020202020200000000000E
+:10DD000002000002020200020202000202020202FB
+:10DD100002020202020200000200020202020202E9
+:10DD200002020202000000000202000002000002E3
+:10DD300002020202020202020202020202020202C3
+:10DD400002020202020202020202020202020102B4
+:10DD500002020202020202020202020202020202A3
+:10DD60000202020202020202020202020202010294
+:10DD70000202020202020202020202020202010284
+:10DD8000020202020200000002020102010101007F
+:10DD90000202020202020202020201010101010268
+:10DDA0000202020202020202020202020202000255
+:10DDB0000200000200000002000002020202020251
+:10DDC0000202020202020202020202020202000037
+:10DDD0000202020200000000000000000202020233
+:10DDE0000202020200020200020202020202000219
+:10DDF000020202020202020202020200000000000D
+:10DE000002000002020200020202000202020202FA
+:10DE100002020202020200000200020202020202E8
+:10DE200002020202000000000202000002020202DE
+:10DE300002020202020202020202020202020202C2
+:10DE400002020202020202020202020202020102B3
+:10DE500002020202020202020202020202020202A2
+:10DE60000202020202020202020202020202010293
+:10DE70000202020202020202020202020202010283
+:10DE8000020202020200000201020101010101007E
+:10DE90000202020202020202020101010101010268
+:10DEA0000202020202020202020202020202000254
+:10DEB0000200000200000002000002020202020250
+:10DEC0000202020202020202020202020202000036
+:10DED0000202020200000000000000000202020232
+:10DEE0000202020200020200020202020202020216
+:10DEF000020202020202020202020202000000000A
+:10DF000002000002020200020202000202020202F9
+:10DF100002020202020200000200020202020202E7
+:10DF200002020202020000000202000002020202DB
+:10DF300002020202020202020202020202020202C1
+:10DF400002020202020202020202020202020102B2
+:10DF500002020202020202020202020202020102A2
+:10DF60000202020202020202020202020202010292
+:10DF70000202020202020202020202020201010283
+:10DF8000020202020200000201020101010101007D
+:10DF90000202020202020202010101010101010268
+:10DFA0000202020202020202020202020202000253
+:10DFB000020000020000000200000202020202024F
+:10DFC0000202020202020202020202020202000134
+:10DFD0000202020200000000000000000202020231
+:10DFE0000202020200020200020202020202020215
+:10DFF0000202020202020202020202020000000009
+:10E0000002000002020200020202000202020202F8
+:10E0100002020202020200000202020202020202E4
+:10E0200002020202020002020202000002020202D6
+:10E0300002020202020202020202020202020202C0
+:10E0400002020202020202020202020202010102B2
+:10E0500002020202020202020202020202020102A1
+:10E060000202020202020202020202020201010292
+:10E070000202020202020202020202020201010282
+:10E08000020202020200000201020101010101007C
+:10E090000202020202020201010101010101010268
+:10E0A0000202020202020202020202020202000252
+:10E0B000020000020000000200000202020202024E
+:10E0C0000202020202020202020202020202000133
+:10E0D0000202020200000000000000000202020230
+:10E0E0000202020200020200020202020202020214
+:10E0F0000202020202020202020202020000000008
+:10E1000002000002020200020202000202020202F7
+:10E1100002020202020200000202020202020202E3
+:10E1200002020202020002020202000002020202D5
+:10E1300002020202020202020202020202020202BF
+:10E1400002020202020202020202020202010102B1
+:10E1500002020202020202020202020202020102A0
+:10E160000202020202020202020202020201010291
+:10E170000202020202020202020202020201010281
+:10E18000020202020200000201020101010101007B
+:10E190000202020202020101010101010101010268
+:10E1A0000202020202020202020202020202000251
+:10E1B000020100020100000200000202020202024B
+:10E1C0000202020202020202020202020202000231
+:10E1D000020202020000000000000000020202022F
+:10E1E0000202020200020200020202020202020213
+:10E1F0000202020202020202020202020000000007
+:10E2000002000002020200020202000202020202F6
+:10E2100002020202020200000202020202020202E2
+:10E2200002020202020202020202020002020202D0
+:10E2300002020202020202020202020202020202BE
+:10E2400002020202020202020202020202010102B0
+:10E25000020202020202020202020202020201029F
+:10E260000202020202020202020202020201010290
+:10E270000202020202020202020202020201010280
+:10E280000202020201000202010201010101010079
+:10E290000202020202010101010101010101010268
+:10E2A0000202020202020202020202020202000250
+:10E2B000020100020100000200000202020202024A
+:10E2C0000202020202020202020202020202000230
+:10E2D000020202020000000000000000020202022E
+:10E2E0000202020200020200020202020202020212
+:10E2F0000202020202020202020202020000000006
+:10E3000002000002020200020202000202020202F5
+:10E3100002020202020202000202020202020102E0
+:10E3200002020202020202020202020202020202CD
+:10E3300002020202020202020202020202020202BD
+:10E3400002020202020202020202020202010102AF
+:10E35000020202020202020202020202020201029E
+:10E360000202020202020202020202020101010290
+:10E370000202020202020202020202010101010281
+:10E38000020202010100020201010101010101007A
+:10E390000202020202010101010101010101010267
+:10E3A000020202020202020202020202020200024F
+:10E3B0000202000202000002000002020202020247
+:10E3C000020202020202020202020202020200022F
+:10E3D000020202020000000000000200020201022C
+:10E3E0000202020200020200020202020202020211
+:10E3F0000202020202020202020202020000020003
+:10E4000002000002020200020202000202020102F5
+:10E4100002020202020202000202020202020102DF
+:10E4200002020202020202020202020202020202CC
+:10E4300002020202020202020202020202010202BD
+:10E4400002020202020202020202020202010102AE
+:10E45000020202020202020202020202020101029E
+:10E460000202020202020202020202010101010290
+:10E470000202020202020202020202010101010280
+:10E480000202020101020202010101010101010077
+:10E490000202020202010101010101010101010266
+:10E4A000020202020202020202020202020200024E
+:10E4B0000202000202000002000002020202020246
+:10E4C000020202020202020202020202020202022C
+:10E4D000020202020000000000000200020201022B
+:10E4E0000202020200020200020202020202020210
+:10E4F0000202020202020202020202020000020002
+:10E5000002000002020200020202000202020102F4
+:10E5100002020202020202000202020202020102DE
+:10E5200002020202020202020202020202020202CB
+:10E5300002020202020202020202020202010202BC
+:10E5400002020202020202020202020202010102AD
+:10E55000020202020202020202020202020101029D
+:10E56000020202020202020202020201010101028F
+:10E570000202020202020202020201010101010280
+:10E580000202010101020202010101010101010077
+:10E590000202020201010101010101010101010266
+:10E5A000020202020202020202020202020200024D
+:10E5B0000202000202000002000002020202020245
+:10E5C000020202020202020202020202020202022B
+:10E5D000020202020000000000000200020201022A
+:10E5E000020202020002020002020202020202020F
+:10E5F0000202020202020202020202020000020001
+:10E6000002000002020200020202000202020102F3
+:10E6100002020202020202000202020202020102DD
+:10E6200002020202020202020202020202020202CA
+:10E6300002020202020202020202020202010202BB
+:10E6400002020202020202020202020202010102AC
+:10E65000020202020202020202020202010101029D
+:10E66000020202020202020202020101010101028F
+:10E670000202020202020202020101010101010181
+:10E680000101010101020202010101010101010078
+:10E690000202020201010101010101010101010265
+:10E6A000020202020202020202020202020100024D
+:10E6B0000202010202000002000002020202020243
+:10E6C000020202020202020202020202020202022A
+:10E6D0000202020200000000000002000202010229
+:10E6E000020202020002020002020202020202020E
+:10E6F0000202020202020202020202020000020000
+:10E7000002000002020200020202000202020102F2
+:10E7100002020202020202000202020202020102DC
+:10E7200002020202020202020202020202020202C9
+:10E7300002020202020202020202020202010102BB
+:10E7400002020202020202020202010101010102AE
+:10E75000020202020202020202020202010101029C
+:10E76000020202020202020202010101010101028F
+:10E770000202020202020202020101010101010180
+:10E780000101010101020201010101010101010078
+:10E790000202020201010101010101010101010264
+:10E7A000020202020202020202020202020100024C
+:10E7B0000202010202000002000002020202010243
+:10E7C000020202020202020202020202020102022A
+:10E7D0000202020200000000010002000201010228
+:10E7E000020202020002020002020202020202020D
+:10E7F00002020202020202020202020200000200FF
+:10E8000002000002020200020202000202020102F1
+:10E8100002020202020202000202020201020102DC
+:10E8200002020202020202020202020202020102C9
+:10E8300002020202020202020202020202010102BA
+:10E8400002020202020202020201010101010102AE
+:10E85000020202020202020202020202010101029B
+:10E86000020202020202020201010101010101028F
+:10E870000202020202020202010101010101010180
+:10E880000101010101020201010101010101010077
+:10E890000202020101010101010101010101010264
+:10E8A000020202020202020202020202020100024B
+:10E8B0000202020202000002000002020202010241
+:10E8C0000202020202020202020202020201020229
+:10E8D0000202020200000000010202010201010224
+:10E8E000020202020002020002020202020202020C
+:10E8F00002020202020202020202020200000200FE
+:10E9000002000002020200020202000201020102F1
+:10E9100002020202020202000202020201010102DC
+:10E9200002020202020202020202020202020102C8
+:10E9300002020202020202020202020202010102B9
+:10E9400002020202020202020101010101010102AE
+:10E95000020202020202020202020202010101029A
+:10E96000020202020202020201010101010101028E
+:10E970000202020202020201010101010101010180
+:10E980000101010101020201010101010101010076
+:10E990000202010101010101010101010101010264
+:10E9A000020202020202020202020202010100024B
+:10E9B0000202020202000002000002020202010240
+:10E9C0000202020202020202020202020201020228
+:10E9D0000202020200000002020202010201010220
+:10E9E000020202020002020002020202020202020B
+:10E9F00002020202020202020202020200020200FB
+:10EA000002000002020200020202000201020102F0
+:10EA100002020202020202000202020201010102DB
+:10EA200002020202020202020202020202020102C7
+:10EA300002020202020202020202020102010102B9
+:10EA400002020202020202020101010101010102AD
+:10EA5000020202020202020202010202010101029A
+:10EA6000020202020202020101010101010101028E
+:10EA70000202020202020101010101010101010180
+:10EA80000101010101020101010101010101010076
+:10EA90000102010101010101010101010101010264
+:10EAA000020202020202020202020201010100024B
+:10EAB000020202020200020200000202020201023D
+:10EAC0000202020202020202020202020201020227
+:10EAD000020202020000000202020202020101021E
+:10EAE000020202020002020002020202020202020A
+:10EAF00002020202020202020202020200020200FA
+:10EB000002000002020200020202000201010102F0
+:10EB100002020202020202020202020201010102D8
+:10EB200002020202020202020202020202020102C6
+:10EB300002020202020202020202010101010102BA
+:10EB400002020202020202020101010101010102AC
+:10EB5000020202020202020202010201010101029A
+:10EB6000020202020202010101010101010101028E
+:10EB70000202020202010101010101010101010180
+:10EB80000101010101020101010101010101010075
+:10EB90000102010101010101010101010101010263
+:10EBA000020202020202020202020201010100024A
+:10EBB000020202020200020200000202020101023D
+:10EBC0000202020202020202020202020201020226
+:10EBD000020202020000000202020202020101021D
+:10EBE000020202020002020002020202010201020B
+:10EBF00002020202020202020202020200020200F9
+:10EC000002000002020202020202000201010102ED
+:10EC100002020202020202020202020201010102D7
+:10EC200002020202020202020202020202010102C6
+:10EC300002020202020202020202010101010102B9
+:10EC400002020202020201010101010101010102AD
+:10EC5000020202020202020201010101010101029B
+:10EC6000020202020202010101010101010101028D
+:10EC7000020202020201010101010101010101017F
+:10EC80000101010101010101010101010101010075
+:10EC90000102010101010101010101010101010262
+:10ECA000020202020202020202010101010100024B
+:10ECB000020202020200020200000202020101023C
+:10ECC0000202020202020202020202020201020225
+:10ECD000020202020000000202020202020101021C
+:10ECE000020202020002020002020202010201020A
+:10ECF00002020202020202020202020200020200F8
+:10ED000002000002020202020201000201010102ED
+:10ED100002020202020202020202020201010102D6
+:10ED200002020202020202020202020202010102C5
+:10ED300002020202020202020202010101010102B8
+:10ED400002020202020101010101010101010102AD
+:10ED5000020202020202020201010101010101029A
+:10ED6000020202020201010101010101010101028D
+:10ED7000020202020201010101010101010101017E
+:10ED80000101010101010101010101010101010074
+:10ED90000102010101010101010101010101010261
+:10EDA000020202020202020202010101010100024A
+:10EDB000020202020200020200000202020101023B
+:10EDC0000202020202020202020202010201020225
+:10EDD000020202020000000202020202020101021B
+:10EDE000020202020002020002020201010201020A
+:10EDF00002020202020202020202020200020200F7
+:10EE000002000002020202020201000201010102EC
+:10EE100002020202020202020202020101010102D6
+:10EE200002020202020202020202020201010102C5
+:10EE300002020202020202020202010101010102B7
+:10EE400002020202020101010101010101010102AC
+:10EE50000202020202020202010101010101010299
+:10EE6000020202020101010101010101010101028D
+:10EE7000020202020101010101010101010101017E
+:10EE80000101010101010101010101010101010073
+:10EE90000101010101010101010101010101010261
+:10EEA0000202020202020202020101010102000248
+:10EEB000020202020200020200000202020101023A
+:10EEC0000202020202020202020201010201020225
+:10EED0000202020202000002020202020201010218
+:10EEE000020202020002020001020101010101020C
+:10EEF00002020202020202020201020200020200F7
+:10EF000002000002020202020201000201010102EB
+:10EF100002020202020202020102010101010102D7
+:10EF200002020202020202020202020201010102C4
+:10EF300002020202020202020201010101010102B7
+:10EF400002020202010101010101010101010102AC
+:10EF50000202020202020102010101010101010299
+:10EF6000020202010101010101010101010101028D
+:10EF7000020202020101010101010101010101017D
+:10EF80000101010101010101010101010101010072
+:10EF90000101010101010101010101010101010260
+:10EFA0000202020202020201020101010102000248
+:10EFB0000202020202000202000202020101010238
+:10EFC0000202020202020202020101010201020225
+:10EFD0000202020202020202020202020201010213
+:10EFE000020202020002020001020101010101020B
+:10EFF00002020202020202020201020200020100F7
+:10F0000002000002020202010201000201010102EB
+:10F0100002020202020202020102010101010102D6
+:10F0200002020202020202020202020201010102C3
+:10F0300002020202020201010101010101010102B9
+:10F0400002020202010101010101010101010102AB
+:10F05000020202020201010101010101010101029A
+:10F06000020202010101010101010101010101028C
+:10F07000020202010101010101010101010101017D
+:10F080000101010101010101010101010101010071
+:10F09000010101010101010101010101010101025F
+:10F0A0000202020202020101010101010102000249
+:10F0B0000202020202000202020202020101010235
+:10F0C0000202020202020202010101010201010226
+:10F0D0000202020202020202020202020201010212
+:10F0E000020202020002020001020101010101020A
+:10F0F00002020202020202020101020200020100F7
+:10F1000002000002020202010201000201010102EA
+:10F1100002020202020202020102010101010102D5
+:10F1200002020202020202020202020201010102C2
+:10F1300002020202020101010101010101010102B9
+:10F1400002020202010101010101010101010102AA
+:10F150000202020202010101010101010101010299
+:10F16000020202010101010101010101010101028B
+:10F17000020201010101010101010101010101017D
+:10F180000101010101010101010101010101010070
+:10F19000010101010101010101010101010101025E
+:10F1A0000202020202020101010101010202000247
+:10F1B0000202020202000202020201010101010236
+:10F1C0000202020202020201010101010201010226
+:10F1D0000202020202020202020202020201010211
+:10F1E0000202020200020200010201010101010209
+:10F1F00002020202020202010101020200020100F7
+:10F2000002000002020202010201000201010102E9
+:10F2100002020202020202020102010101010102D4
+:10F2200002020202020202020201020201010102C2
+:10F2300002020202010101010101010101010102B9
+:10F2400002020201010101010101010101010102AA
+:10F250000202020201010101010101010101010299
+:10F26000020201010101010101010101010101028B
+:10F27000020201010101010101010101010101017C
+:10F28000010101010101010101010101010101006F
+:10F29000010101010101010101010101010101025D
+:10F2A0000202020202020101010101020202000245
+:10F2B0000202020202010202020201010101010234
+:10F2C0000202020202020101010101010101010227
+:10F2D0000202020202020202020202020101010211
+:10F2E0000202020200020200010201010101010208
+:10F2F00002020202020201010101010200020100F8
+:10F3000002000002020202010101000101010102EA
+:10F3100002020202020202020102010101010102D3
+:10F3200002020202020202020201020201010102C1
+:10F3300002020202010101010101010101010102B8
+:10F3400002020101010101010101010101010102AA
+:10F350000202020201010101010101010101010298
+:10F36000010101010101010101010101010101028C
+:10F37000010201010101010101010101010101017C
+:10F38000010101010101010101010101010101006E
+:10F39000010101010101010101010101010101025C
+:10F3A0000202020102010101010101020202000246
+:10F3B0000202020202010202020201010101010233
+:10F3C0000202020202010101010101010101010227
+:10F3D0000202020202020202020202020101010210
+:10F3E0000202020200020200010201010101010207
+:10F3F00002020202020101010101010200020100F8
+:10F4000002000002020202010101000101010102E9
+:10F4100002020201020202020102010101010102D3
+:10F4200002020202020202020101020101010102C2
+:10F4300002020202010101010101010101010102B7
+:10F4400001020101010101010101010101010102AA
+:10F450000202020201010101010101010101010297
+:10F46000010101010101010101010101010101028B
+:10F47000010101010101010101010101010101017C
+:10F48000010101010101010101010101010101006D
+:10F49000010101010101010101010101010101025B
+:10F4A0000202020102010101010202020202000243
+:10F4B0000202020202020202020201010101010231
+:10F4C0000202020202010101010101010101010226
+:10F4D000020202020202020202020202010101020F
+:10F4E0000202020200020200010101010101010207
+:10F4F00002020202010101010101010200020100F8
+:10F5000002000002020202010101000101010102E8
+:10F5100002020201020102020101010101010102D4
+:10F5200002020202020202020101010101010102C2
+:10F5300002020202010101010101010101010102B6
+:10F5400001020101010101010101010101010102A9
+:10F550000202020101010101010101010101010297
+:10F56000010101010101010101010101010101028A
+:10F57000010101010101010101010101010101017B
+:10F58000010101010101010101010101010101006C
+:10F59000010101010101010101010101010101025A
+:10F5A0000202020102010101010202020202000242
+:10F5B0000202020202020201020201010101010231
+:10F5C0000202020201010101010101010101010226
+:10F5D000020202010202020202020202010101020F
+:10F5E0000202020200020100010101010101010207
+:10F5F00002020202010101010101010100020100F8
+:10F6000002000202020202010101000101010102E5
+:10F6100002020101010102020101010101010102D5
+:10F6200002020202020202020101010101010102C1
+:10F6300002020201010101010101010101010102B6
+:10F6400001020101010101010101010101010102A8
+:10F650000101010101010101010101010101010299
+:10F660000101010101010101010101010101010289
+:10F67000010101010101010101010101010101017A
+:10F68000010101010101010101010101010101006B
+:10F690000101010101010101010101010101010259
+:10F6A0000202020101010101010202020200000244
+:10F6B0000202020202020201020201010101010230
+:10F6C0000202020201010101010101010101010225
+:10F6D000020202010202020202020202010101020E
+:10F6E0000202020100010100010101010101010208
+:10F6F00002020202010101010101010100010100F8
+:10F7000002000201020202010101000101010102E5
+:10F7100002020101010102020101010101010102D4
+:10F7200002020202020202020101010101010102C0
+:10F7300002010201010101010101010101010102B6
+:10F7400001010101010101010101010101010102A8
+:10F750000101010101010101010101010101010298
+:10F760000101010101010101010101010101010189
+:10F770000101010101010101010101010101010179
+:10F78000010101010101010101010101010101006A
+:10F790000101010101010101010101010101010258
+:10F7A0000202020101010102010202020200000242
+:10F7B000020202020202020102020101010101022F
+:10F7C0000202010201010101010101010101010225
+:10F7D000020201010202020202020202010101020E
+:10F7E0000202020100010100010101010101010207
+:10F7F00002020102010101010101010100010102F6
+:10F8000001000201020102010101000101010102E6
+:10F8100002020101010102020101010101010102D3
+:10F8200002020202020202010101010101010102C0
+:10F8300002010201010101010101010101010102B5
+:10F8400001010101010101010101010101010102A7
+:10F850000101010101010101010101010101010198
+:10F860000101010101010101010101010101010188
+:10F870000101010101010101010101010101010178
+:10F880000101010101010101010101010101010069
+:10F890000101010101010101010101010101010257
+:10F8A0000201020101010202020202020200000240
+:10F8B000020202020202020102020101010101022E
+:10F8C0000202010201010101010101010101010224
+:10F8D000020201010202020202020202010101020D
+:10F8E0000102020100010100010101010101010207
+:10F8F00002020102010101010101010102010102F3
+:10F9000001000201010102010101000101010102E6
+:10F9100002020101010102020101010101010102D2
+:10F9200002020202020201010101010101010102C0
+:10F9300002010101010101010101010101010101B6
+:10F9400001010101010101010101010101010102A6
+:10F950000101010101010101010101010101010197
+:10F960000101010101010101010101010101010187
+:10F970000101010101010101010101010101010177
+:10F980000101010101010101010101010101010068
+:10F990000101010101010101010101010101010256
+:10F9A0000201010101010202020202020000000242
+:10F9B000020202020202020102020101010101022D
+:10F9C0000202010101010101010101010101010224
+:10F9D000020201010202020202020102010101020D
+:10F9E0000101010102010100010101010101010206
+:10F9F00002020102010101010101010102010102F2
+:10FA000001000201010102010101000101010102E5
+:10FA100002010101010102020101010101010102D2
+:10FA200002020201020201010101010101010102C0
+:10FA300001010101010101010101010101010101B6
+:10FA400001010101010101010101010101010102A5
+:10FA50000101010101010101010101010101010196
+:10FA60000101010101010101010101010101010186
+:10FA70000101010101010101010101010101010176
+:10FA80000101010101010101010101010101010067
+:10FA90000101010101010101010101010101010255
+:10FAA0000201010101010202020202000000000243
+:10FAB000020202020202020102020101010101022C
+:10FAC0000201010101010101010101010101010224
+:10FAD000020201010202020202020102010101020C
+:10FAE0000101010102010100010101010101010205
+:10FAF00001020102010101010101010102010102F2
+:10FB000001000201010102010101000101010102E4
+:10FB100001010101010101020101010101010102D3
+:10FB200002020101010101010101010101010102C2
+:10FB300001010101010101010101010101010101B5
+:10FB400001010101010101010101010101010101A5
+:10FB50000101010101010101010101010101010195
+:10FB60000101010101010101010101010101010185
+:10FB70000101010101010101010101010101010175
+:10FB80000101010101010101010101010101010066
+:10FB90000101010101010101010101010101010254
+:10FBA0000201010201020202020202000000000240
+:10FBB000020202020202020102020101010101022B
+:10FBC0000101010101010101010101010101010224
+:10FBD000020201010202020202020102010101010C
+:10FBE0000101010102010100010101010101010204
+:10FBF00001010101010101010101010102010102F3
+:10FC000001000201010102010101000101010102E3
+:10FC100001010101010101020101010101010102D2
+:10FC200002020101010101010101010101010102C1
+:10FC300001010101010101010101010101010101B4
+:10FC400001010101010101010101010101010101A4
+:10FC50000101010101010101010101010101010194
+:10FC60000101010101010101010101010101010184
+:10FC70000101010101010101010101010101010174
+:10FC80000101010101010101010101010101010065
+:10FC90000101010101010101010101010101010253
+:10FCA0000201010201020202020000000000000243
+:10FCB000020202020202020102020101010101022A
+:10FCC0000101010101010101010101010101010223
+:10FCD000020201010202020202020102010101010B
+:10FCE0000101010102010102010101010101010201
+:10FCF00001010101010101010101010102010102F2
+:10FD000001000201010102010101000101010101E3
+:10FD100001010101010101020101010101010102D1
+:10FD200002020101010101010101010101010101C1
+:10FD300001010101010101010101010101010101B3
+:10FD400001010101010101010101010101010101A3
+:10FD50000101010101010101010101010101010193
+:10FD60000101010101010101010101010101010183
+:10FD70000101010101010101010101010101010173
+:10FD80000101010101010101010101010101010064
+:10FD90000101010101010101010101010101010252
+:10FDA0000201010201020202020000000000000242
+:10FDB000010202020202020102020101010101022A
+:10FDC0000101010101010101010101010101010222
+:10FDD000010101010202020202010101010101010E
+:10FDE0000101010102010102010101010101010101
+:10FDF00001010101010101010101010102010102F1
+:10FE000001000201010102010101000101010101E2
+:10FE100001010101010101020101010101010102D0
+:10FE200002020101010101010101010101010101C0
+:10FE300001010101010101010101010101010101B2
+:10FE400001010101010101010101010101010101A2
+:10FE50000101010101010101010101010101010192
+:10FE60000101010101010101010101010101010182
+:10FE70000101010101010101010101010101010172
+:10FE80000101010101010101010101010101010063
+:10FE90000101010101010101010101010101010251
+:10FEA000020101020202020202000000000100023F
+:10FEB0000102020202020201020201010101010229
+:10FEC0000101010101010101010101010101010221
+:10FED000010101010202020202010101010101010D
+:10FEE0000101010102010102010101010101010100
+:10FEF00001010101010101010101010102010102F0
+:10FF000001000201010102010101000101010101E1
+:10FF100001010101010101010101010101010102D0
+:10FF200001010101010101010101010101010101C1
+:10FF300001010101010101010101010101010101B1
+:10FF400001010101010101010101010101010101A1
+:10FF50000101010101010101010101010101010191
+:10FF60000101010101010101010101010101010181
+:10FF70000101010101010101010101010101010171
+:10FF80000101010101010101010101010101010062
+:10FF90000101010101010101010101010101010250
+:10FFA0000201010202020200020000000001000240
+:10FFB0000102020202020201020201010101010228
+:10FFC0000101010101010101010101010101010220
+:10FFD000010101010202020202010101010101010C
+:10FFE00001010101020101020101010101010101FF
+:10FFF00001010101010101010101010102010102EF
+:0200000270008C
+:1000000001000201010102010101000101010101E0
+:1000100001010101010101010101010101010101D0
+:1000200001010101010101010101010101010101C0
+:1000300001010101010101010101010101010101B0
+:1000400001010101010101010101010101010101A0
+:100050000101010101010101010101010101010190
+:100060000101010101010101010101010101010180
+:100070000101010101010101010101010101010170
+:100080000101010101010101010101010101010061
+:10009000010101010101010101010101010101024F
+:1000A0000202010202020000000000000001000242
+:1000B0000102020202020201020201010101010128
+:1000C000010101010101010101010101010101021F
+:1000D000010101010202020101010101010101010D
+:1000E00001010101020101020101010101010101FE
+:1000F00001010101010101010101010102010102EE
+:1001000001000201010102010101000101010101DF
+:1001100001010101010101010101010101010101CF
+:1001200001010101010101010101010101010101BF
+:1001300001010101010101010101010101010101AF
+:10014000010101010101010101010101010101019F
+:10015000010101010101010101010101010101018F
+:10016000010101010101010101010101010101017F
+:10017000010101010101010101010101010101016F
+:100180000101010101010101010101010101010060
+:10019000010101010101010101010101010101024E
+:1001A000020202020202000000000000010100023F
+:1001B0000102020102020201020201010101010128
+:1001C000010101010101010101010101010101021E
+:1001D000010101010202020101010101010101010C
+:1001E00001010101020101020101010101010101FD
+:1001F00001010101010101010101010102010102ED
+:1002000001000201010102010101000101010101DE
+:1002100001010101010101010101010101010101CE
+:1002200001010101010101010101010101010101BE
+:1002300001010101010101010101010101010101AE
+:10024000010101010101010101010101010101019E
+:10025000010101010101010101010101010101018E
+:10026000010101010101010101010101010101017E
+:10027000010101010101010101010101010101016E
+:10028000010101010101010101010101010101005F
+:10029000010101010101010101010101010101024D
+:1002A000020202020202000000000001010100013E
+:1002B0000102020102020201020201010101010127
+:1002C000010101010101010101010101010101021D
+:1002D000010101010202020101010101010101010B
+:1002E00001010101020101020101010101010101FC
+:1002F00001010101010101010101010102010102EC
+:1003000001020201010101010101000101010101DC
+:1003100001010101010101010101010101010101CD
+:1003200001010101010101010101010101010101BD
+:1003300001010101010101010101010101010101AD
+:10034000010101010101010101010101010101019D
+:10035000010101010101010101010101010101018D
+:10036000010101010101010101010101010101017D
+:10037000010101010101010101010101010101016D
+:10038000010101010101010101010101010101005E
+:10039000010101010101010101010101010101024C
+:1003A0000102020002000000000000010101000142
+:1003B0000102020102020201020201010101010126
+:1003C000010101010101010101010101010101021C
+:1003D000010101010202020101010101010101010A
+:1003E00001010101020101020101010101010101FB
+:1003F00001010101010101010101010101010102EC
+:1004000001020201010101010101000101010101DB
+:1004100001010101010101010101010101010101CC
+:1004200001010101010101010101010101010101BC
+:1004300001010101010101010101010101010101AC
+:10044000010101010101010101010101010101019C
+:10045000010101010101010101010101010101018C
+:10046000010101010101010101010101010101017C
+:10047000010101010101010101010101010101016C
+:10048000010101010101010101010101010101005D
+:10049000010101010101010101010101010101024B
+:1004A000010202000200000000010101010100013F
+:1004B0000102020102020201020101010101010126
+:1004C000010101010101010101010101010101021B
+:1004D0000101010102020201010101010101010109
+:1004E00001010101020101020101010101010101FA
+:1004F00001010101010101010101010101010102EB
+:1005000001020201010101010101000101010101DA
+:1005100001010101010101010101010101010101CB
+:1005200001010101010101010101010101010101BB
+:1005300001010101010101010101010101010101AB
+:10054000010101010101010101010101010101019B
+:10055000010101010101010101010101010101018B
+:10056000010101010101010101010101010101017B
+:10057000010101010101010101010101010101016B
+:10058000010101010101010101010101010101005C
+:10059000010101010101010101010101010101024A
+:1005A000010202000200000001010101010100013D
+:1005B0000102020101020101020101010101010127
+:1005C000010101010101010101010101010101021A
+:1005D0000101010102020101010101010101010109
+:1005E00001010101020101020101010101010101F9
+:1005F00001010101010101010101010101010102EA
+:1006000001020201010101010101020101010101D7
+:1006100001010101010101010101010101010101CA
+:1006200001010101010101010101010101010101BA
+:1006300001010101010101010101010101010101AA
+:10064000010101010101010101010101010101019A
+:10065000010101010101010101010101010101018A
+:10066000010101010101010101010101010101017A
+:100670000101010101010101010101010101010269
+:10068000010101010101010101010101010101005B
+:100690000101010101010101010101010101010249
+:1006A000010202000100000001010101010100013D
+:1006B0000102020101020101010101010101010127
+:1006C0000101010101010101010101010101010219
+:1006D0000101010102010101010101010101010109
+:1006E00001010101020101020101010101010101F8
+:1006F00001010101010101010101010101010102E9
+:1007000001020201010101010101020101010101D6
+:1007100001010101010101010101010101010101C9
+:1007200001010101010101010101010101010101B9
+:1007300001010101010101010101010101010101A9
+:100740000101010101010101010101010101010199
+:100750000101010101010101010101010101010189
+:100760000101010101010101010101010101010179
+:100770000101010101010101010101010101010268
+:10078000010101010101010101010101010101005A
+:100790000101010101010101010101010101010149
+:1007A000010202000100000101010101010100013B
+:1007B0000102020101020101010101010101010126
+:1007C0000101010101010101010101010101010218
+:1007D0000101010101010101010101010101010109
+:1007E00001010101020101020101010101010101F7
+:1007F00001010101010101010101010101010102E8
+:1008000001020201010101010101020101010101D5
+:1008100001010101010101010101010101010101C8
+:1008200001010101010101010101010101010101B8
+:1008300001010101010101010101010101010101A8
+:100840000101010101010101010101010101010198
+:100850000101010101010101010101010101010188
+:100860000101010101010101010101010101010178
+:100870000101010101010101010101010101010267
+:100880000101010101010101010101010101010059
+:100890000101010101010101010101010101010148
+:1008A000010002000101010101010101010100013A
+:1008B0000102020101020101010101010101010125
+:1008C0000101010101010101010101010101010217
+:1008D0000101010101010101010101010101010108
+:1008E00001010101020101020101010101010101F6
+:1008F00001010101010101010101010101010102E7
+:1009000001020201010101010101020101010101D4
+:1009100001010101010101010101010101010101C7
+:1009200001010101010101010101010101010101B7
+:1009300001010101010101010101010101010101A7
+:100940000101010101010101010101010101010197
+:100950000101010101010101010101010101010187
+:100960000101010101010101010101010101010177
+:100970000101010101010101010101010101010266
+:100980000101010101010101010101010101010058
+:100990000101010101010101010101010101010147
+:1009A000010001000101010101010101010100013A
+:1009B0000102020101020101010101010101010124
+:1009C0000101010101010101010101010101010216
+:1009D0000101010101010101010101010101010107
+:1009E00001010101020101020101010101010101F5
+:1009F00001010101010101010101010101010102E6
+:100A000001020201010101010101020101010101D3
+:100A100001010101010101010101010101010101C6
+:100A200001010101010101010101010101010101B6
+:100A300001010101010101010101010101010101A6
+:100A40000101010101010101010101010101010196
+:100A50000101010101010101010101010101010186
+:100A60000101010101010101010101010101010176
+:100A70000101010101010101010101010101010265
+:100A80000201010101010101010101010101010056
+:100A90000101010101010101010101010101010146
+:100AA0000100010001010101010101010101000139
+:100AB0000101020101020101010101010101010124
+:100AC0000101010101010101010101010101010116
+:100AD0000101010101010101010101010101010106
+:100AE00001010101020101020101010101010101F4
+:100AF00001010101010101010101010101010102E5
+:100B000001020201010101010101020101010101D2
+:100B100001010101010101010101010101010101C5
+:100B200001010101010101010101010101010101B5
+:100B300001010101010101010101010101010101A5
+:100B40000101010101010101010101010101010195
+:100B50000101010101010101010101010101010185
+:100B60000101010101010101010101010101010175
+:100B70000101010101010101010101010101010264
+:100B80000202020202020202020202020202020047
+:100B9000010101010102020202020202010101013E
+:100BA0000100010101010101010101010101000137
+:100BB0000101010101020101010101010101010124
+:100BC0000101010101010101010101010101010115
+:100BD0000101010101010101010101010101010105
+:100BE00001010101020101020101010101010101F3
+:100BF00001010101010101010101010101010102E4
+:100C000001020201010101010101020101010101D1
+:100C100001010101010101010101010101010101C4
+:100C200001010101010101010101010101010101B4
+:100C300001010101010101010101010101010101A4
+:100C40000101010101010101010101010101010194
+:100C50000101010101010101010101010101010184
+:100C60000101010101010101010101010101010174
+:100C70000101010101010101010101010101010263
+:100C80000202020202020202020202020202020046
+:100C9000020101010202020202020202010102013A
+:100CA0000100010101010101010101010101000136
+:100CB0000101010101020101010101010101010123
+:100CC0000101010101010101010101010101010114
+:100CD0000101010101010101010101010101010104
+:100CE00001010101020101010101010101010101F3
+:100CF00001010101010101010101010101010102E3
+:100D000001020201010101010101020101010101D0
+:100D100001010101010101010101010101010101C3
+:100D200001010101010101010101010101010101B3
+:100D300001010101010101010101010101010101A3
+:100D40000101010101010101010101010101010193
+:100D50000101010101010101010101010101010183
+:100D60000101010101010101010101010101010173
+:100D70000101010101010101010101010101010262
+:100D80000202020202020202020202020202020045
+:100D90000201010102020202020202020201020138
+:100DA0000101010101010101010101010101000134
+:100DB0000101010101010101010101010101010123
+:100DC0000101010101010101010101010101010113
+:100DD0000101010101010101010101010101010103
+:100DE00001010101020101010101010101010101F2
+:100DF00001010101010101010101010101010102E2
+:100E000001020201010101010101020101010101CF
+:100E100001010101010101010101010101010101C2
+:100E200001010101010101010101010101010101B2
+:100E300001010101010101010101010101010101A2
+:100E40000101010101010101010101010101010192
+:100E50000101010101010101010101010101010182
+:100E60000101010101010101010101010101010172
+:100E70000101010101010101010101010101010261
+:100E80000202020202020202020202020202020044
+:100E90000201020202020202020202020202020134
+:100EA0000101010101010101010101010101000133
+:100EB0000101010101010101010101010101010122
+:100EC0000101010101010101010101010101010112
+:100ED0000101010101010101010101010101010102
+:100EE00001010101010101010101010101010101F2
+:100EF00001010101010101010101010101010102E1
+:100F000001020201010101010101010101010101CF
+:100F100001010101010101010101010101010101C1
+:100F200001010101010101010101010101010101B1
+:100F300001010101010101010101010101010101A1
+:100F40000101010101010101010101010101010191
+:100F50000101010101010101010101010101010181
+:100F60000101010101010101010101010101010171
+:100F70000101010101010101010101010101010260
+:100F80000202020202020202020202020202020043
+:100F90000201020202020202020202020202020133
+:100FA0000101010101010101010101010101000132
+:100FB0000101010101010101010101010101010121
+:100FC0000101010101010101010101010101010111
+:100FD0000101010101010101010101010101010101
+:100FE00001010101010101010101010101010101F1
+:100FF00001010101010101010101010101010102E0
+:1010000001020101010101010101010101010101CF
+:1010100001010101010101010101010101010101C0
+:1010200001010101010101010101010101010101B0
+:1010300001010101010101010101010101010101A0
+:101040000101010101010101010101010101010190
+:101050000101010101010101010101010101010180
+:101060000101010101010101010101010101010170
+:10107000010101010101010101010101010101025F
+:101080000202020202020202020202020202020042
+:101090000201020202020202020202020202020132
+:1010A0000101010101010101010101010101000131
+:1010B0000101010101010101010101010101010120
+:1010C0000101010101010101010101010101010110
+:1010D0000101010101010101010101010101010100
+:1010E00001010101010101010101010101010101F0
+:1010F00001010101010101010101010101010102DF
+:1011000001020101010101010101010101010101CE
+:1011100001010101010101010101010101010101BF
+:1011200001010101010101010101010101010101AF
+:10113000010101010101010101010101010101019F
+:10114000010101010101010101010101010101018F
+:10115000010101010101010101010101010101017F
+:10116000010101010101010101010101010101016F
+:10117000010101010101010101010101010101025E
+:101180000202020202020202020202020202020041
+:101190000202020202020202020202020202020130
+:1011A000010101010101010101010101010101012F
+:1011B000010101010101010101010101010101011F
+:1011C000010101010101010101010101010101010F
+:1011D00001010101010101010101010101010101FF
+:1011E00001010101010101010101010101010101EF
+:1011F00001010101010101010101010101010102DE
+:1012000001020101010101010101010101010101CD
+:1012100001010101010101010101010101010101BE
+:1012200001010101010101010101010101010101AE
+:10123000010101010101010101010101010101019E
+:10124000010101010101010101010101010101018E
+:10125000010101010101010101010101010101017E
+:10126000010101010101010101010101010101016E
+:10127000010101010101010101010101010101025D
+:10128000020202020202020202020202020202023E
+:10129000020202020202020202020202020202012F
+:1012A000010101010101010101010101010101012E
+:1012B000010101010101010101010101010101011E
+:1012C000010101010101010101010101010101010E
+:1012D00001010101010101010101010101010101FE
+:1012E00001010101010101010101010101010101EE
+:1012F00001010101010101010101010101010102DD
+:1013000001020101010101010101010101010101CC
+:1013100001010101010101010101010101010101BD
+:1013200001010101010101010101010101010101AD
+:10133000010101010101010101010101010101019D
+:10134000010101010101010101010101010101018D
+:10135000010101010101010101010101010101017D
+:10136000010101010101010101010101010101016D
+:10137000010101010101010101010101010101025C
+:10138000020202020202020202020202020202023D
+:10139000020202020202020202020202020202012E
+:1013A000010101010101010101010101010101012D
+:1013B000010101010101010101010101010101011D
+:1013C000010101010101010101010101010101010D
+:1013D00001010101010101010101010101010101FD
+:1013E00001010101010101010101010101010101ED
+:1013F00001010101010101010101010101010102DC
+:1014000001020101010101010101010101010101CB
+:1014100001010101010101010101010101010101BC
+:1014200001010101010101010101010101010101AC
+:10143000010101010101010101010101010101019C
+:10144000010101010101010101010101010101018C
+:10145000010101010101010101010101010101017C
+:10146000010101010101010101010101010101016C
+:10147000010101010101010101010101010101025B
+:10148000020202020202020202020202020202023C
+:10149000020202020202020202020202020202012D
+:1014A000010101010101010101010101010101012C
+:1014B000010101010101010101010101010101011C
+:1014C000010101010101010101010101010101010C
+:1014D00001010101010101010101010101010101FC
+:1014E00001010101010101010101010101010101EC
+:1014F00001010101010101010101010101010102DB
+:1015000001020101010101010101010101010101CA
+:1015100001010101010101010101010101010101BB
+:1015200001010101010101010101010101010101AB
+:10153000010101010101010101010101010101019B
+:10154000010101010101010101010101010101018B
+:10155000010101010101010101010101010101017B
+:10156000010101010101010101010101010101016B
+:10157000010101010101010101010101010101025A
+:10158000020202020202020202020202020202023B
+:10159000020202020202020202020202020202012C
+:1015A000010101010101010101010101010101012B
+:1015B000010101010101010101010101010101011B
+:1015C000010101010101010101010101010101010B
+:1015D00001010101010101010101010101010101FB
+:1015E00001010101010101010101010101010101EB
+:1015F00001010101010101010101010101010102DA
+:1016000001020101010101010101010101010101C9
+:1016100001010101010101010101010101010101BA
+:1016200001010101010101010101010101010101AA
+:10163000010101010101010101010101010101019A
+:10164000010101010101010101010101010101018A
+:10165000010101010101010101010101010101017A
+:10166000010101010101010101010101010101016A
+:101670000101010101010101010101010101010259
+:10168000020202020202020202020202020202023A
+:10169000020202020202020202020202020202012B
+:1016A000010101010101010101010101010101012A
+:1016B000010101010101010101010101010101011A
+:1016C000010101010101010101010101010101010A
+:1016D00001010101010101010101010101010101FA
+:1016E00001010101010101010101010101010101EA
+:1016F00001010101010101010101010101010102D9
+:1017000001020101010101010101010101010101C8
+:1017100001010101010101010101010101010101B9
+:1017200001010101010101010101010101010101A9
+:101730000101010101010101010101010101010199
+:101740000101010101010101010101010101010189
+:101750000101010101010101010101010101010179
+:101760000101010101010101010101010101010169
+:101770000101010101010101010101020101020256
+:101780000202020202020202020202020202020239
+:10179000020202020202020202020202020202012A
+:1017A0000101010101010101010101010101010129
+:1017B0000101010101010101010101010101010119
+:1017C0000101010101010101010101010101010109
+:1017D00001010101010101010101010101010101F9
+:1017E00001010101010101010101010101010101E9
+:1017F00001010101010101010101010101010101D9
+:1018000001020101010101010101010101010101C7
+:1018100001010101010101010101010101010101B8
+:1018200001010101010101010101010101010101A8
+:101830000101010101010101010101010101010198
+:101840000101010101010101010101010101010188
+:101850000101010101010101010101010101010178
+:101860000101010101010101010101010101020167
+:101870000101010101010101010202020202020251
+:101880000202020202020202020202020202020238
+:101890000202020202020202020202020202020129
+:1018A0000101010101010101010101010101010128
+:1018B0000101010101010101010101010101010118
+:1018C0000101010101010101010101010101010108
+:1018D00001010101010101010101010101010101F8
+:1018E00001010101010101010101010101010101E8
+:1018F00001010101010101010101010101010101D8
+:1019000001020101010101010101010101010101C6
+:1019100001010101010101010101010101010101B7
+:1019200001010101010101010101010101010101A7
+:101930000101010101010101010101010101010197
+:101940000101010101010101010101010101010187
+:101950000101010101010101010101010101010177
+:101960000101010101010101020102020202020161
+:10197000010101010102020202020202020202024C
+:101980000202020202020202020202020202020237
+:101990000202020202020202020202020202020128
+:1019A0000101010101010101010101010101010127
+:1019B0000101010101010101010101010101010117
+:1019C0000101010101010101010101010101010107
+:1019D00001010101010101010101010101010101F7
+:1019E00001010101010101010101010101010101E7
+:1019F00001010101010101010101010101010101D7
+:101A000001020101010101010101010101010101C5
+:101A100001010101010101010101010101010101B6
+:101A200001010101010101010101010101010101A6
+:101A30000101010101010101010101010101010196
+:101A40000101010101010101010101010101020185
+:101A50000101010101010101010101010101010176
+:101A6000010101010101020202020202020202015D
+:101A70000201010102020202020202020202020249
+:101A80000202020202020202020202020202020236
+:101A90000202020202020202020202020202020127
+:101AA0000101010101010101010101010101010126
+:101AB0000101010101010101010101010101010116
+:101AC0000101010101010101010101010101010106
+:101AD00001010101010101010101010101010101F6
+:101AE00001010101010101010101010101010101E6
+:101AF00001010101010101010101010101010101D6
+:101B000001020101010101010101010101010101C4
+:101B100001010101010101010101010101010101B5
+:101B200001010101010101010101010101010101A5
+:101B30000101010101010101010101010101010195
+:101B40000101010101010101010101010102020183
+:101B50000101010101010101010101010101010175
+:101B60000201010202020202020202020202020257
+:101B70000201020202020202020202020202020246
+:101B80000202020202020202020202020202020235
+:101B90000202020202020202020202020202020126
+:101BA0000101010101010101010101010101010125
+:101BB0000101010101010101010101010101010115
+:101BC0000101010101010101010101010101010105
+:101BD00001010101010101010101010101010101F5
+:101BE00001010101010101010101010101010101E5
+:101BF00001010101010101010101010101010101D5
+:101C000001010101010101010101010101010101C4
+:101C100001010101010101010101010101010101B4
+:101C200001010101010101010101010101010101A4
+:101C30000101010101010101010101010101010194
+:101C4000010101010101010102020202020202017D
+:101C50000101010101010101010101010101010273
+:101C60000202020202020202020202020202020254
+:101C70000202020202020202020202020202020244
+:101C80000202020202020202020202020202020234
+:101C90000202020202020202020202020202020125
+:101CA0000101010101010101010101010101010124
+:101CB0000101010101010101010101010101010114
+:101CC0000101010101010101010101010101010104
+:101CD00001010101010101010101010101010101F4
+:101CE00001010101010101010101010101010101E4
+:101CF00001010101010101010101010101010101D4
+:101D000001010101010101010101010101010101C3
+:101D100001010101010101010101010101010101B3
+:101D200001010101010101010101010101010101A3
+:101D30000101010101010101010101010101010193
+:101D40000201010102020202020202020202020177
+:101D50000101010101010101010101010101020271
+:101D60000202020202020202020202020202020253
+:101D70000202020202020202020202020202020243
+:101D80000202020202020202020202020202020233
+:101D90000202020202020202020202020202020124
+:101DA0000101010101010101010101010101010123
+:101DB0000101010101010101010101010101010113
+:101DC0000101010101010101010101010101010103
+:101DD00001010101010101010101010101010101F3
+:101DE00001010101010101010101010101010101E3
+:101DF00001010101010101010101010101010101D3
+:101E000001010101010101010101010101010101C2
+:101E100001010101010101010101010101010101B2
+:101E200001010101010101010101010101010101A2
+:101E30000101010101010101010101010101010291
+:101E40000201020202020202020202020202020174
+:101E5000010101010101010101010101020202026E
+:101E60000202020202020202020202020202020252
+:101E70000202020202020202020202020202020242
+:101E80000202020202020202020202020202020232
+:101E90000202020202020202020202020202020123
+:101EA0000101010101010101010101010101010122
+:101EB0000101010101010101010101010101010112
+:101EC0000101010101010101010101010101010102
+:101ED00001010101010101010101010101010101F2
+:101EE00001010101010101010101010101010101E2
+:101EF00001010101010101010101010101010101D2
+:101F000001010101010101010101010101010101C1
+:101F100001010101010101010101010101010101B1
+:101F200001010101010101010101010101010101A1
+:101F30000101010101010101010101010101010290
+:101F40000202020202020202020202020202020172
+:101F50000101010101010101020202020202020269
+:101F60000202020202020202020202020202020251
+:101F70000202020202020202020202020202020241
+:101F80000202020202020202020202020202020231
+:101F90000202020202020202020202020202020122
+:101FA0000101010101010101010101010101010121
+:101FB0000101010101010101010101010101010111
+:101FC0000101010101010101010101010101010101
+:101FD00001010101010101010101010101010101F1
+:101FE00001010101010101010101010101010101E1
+:101FF00001010101010101010101010101010101D1
+:1020000001010101010101010101010101010101C0
+:1020100001010101010101010101010101010201AF
+:10202000010101010101010101010101010102019F
+:10203000010101010101010101010101010202028D
+:102040000202020202020202020202020202020171
+:102050000201010102020202020202020202020263
+:102060000202020202020202020202020202020250
+:102070000202020202020202020202020202020240
+:102080000202020202020202020202020202020230
+:102090000202020202020202020202020202020121
+:1020A0000101010101010101010101010101010120
+:1020B0000101010101010101010101010101010110
+:1020C0000101010101010101010101010101010100
+:1020D00001010101010101010101010101010101F0
+:1020E00001010101010101010101010101010101E0
+:1020F00001010101010101010101010101010101D0
+:1021000001010101010101010101010101010101BF
+:1021100001010101010101010101010102020201AC
+:10212000010101010101010101010101020202019C
+:102130000101010101010101010102020202020289
+:10214000020202020202020202020202020202026F
+:10215000020202020202020202020202020202025F
+:10216000020202020202020202020202020202024F
+:10217000020202020202020202020202020202023F
+:10218000020202020202020202020202020202022F
+:102190000202020202020202020202020202020120
+:1021A000010101010101010101010101010101011F
+:1021B000010101010101010101010101010101010F
+:1021C00001010101010101010101010101010101FF
+:1021D00001010101010101010101010101010101EF
+:1021E00001010101010101010101010101010101DF
+:1021F00001010101010101010101010101010101CF
+:1022000001010101010101010101010101010101BE
+:1022100001010101010101010201020202020201A8
+:102220000101010101010101020202020202020197
+:102230000101010102020202020202020202020282
+:10224000020202020202020202020202020202026E
+:10225000020202020202020202020202020202025E
+:10226000020202020202020202020202020202024E
+:10227000020202020202020202020202020202023E
+:10228000020202020202020202020202020202022E
+:10229000020202020202020202020202020202011F
+:1022A000010101010101010101010101010101011E
+:1022B000010101010101010101010101010101010E
+:1022C00001010101010101010101010101010101FE
+:1022D00001010101010101010101010101010101EE
+:1022E00001010101010101010101010101010101DE
+:1022F00001010101010101010101010101010101CE
+:1023000001010101010101010101010101010102BC
+:1023100002010202020201010202020202020202A0
+:10232000020102020202020202020202020202028E
+:10233000020202020202020202020202020202027D
+:10234000020202020202020202020202020202026D
+:10235000020202020202020202020202020202025D
+:10236000020202020202020202020202020202024D
+:10237000020202020202020202020202020202023D
+:10238000020202020202020202020202020202022D
+:10239000020202020202020202020202020202011E
+:1023A000010101010101010101010101010101011D
+:1023B000010101010101010101010101010101010D
+:1023C00001010101010101010101010101010101FD
+:1023D00001010101010101010101010101010101ED
+:1023E00001010101010101010101010101010101DD
+:1023F00001010101010101010101010101010101CD
+:1024000001010101010101010101010101010202BA
+:10241000020202020202020102020202020202029D
+:10242000020202020202020202020202020202028C
+:10243000020202020202020202020202020202027C
+:10244000020202020202020202020202020202026C
+:10245000020202020202020202020202020202025C
+:10246000020202020202020202020202020202024C
+:10247000020202020202020202020202020202023C
+:10248000020202020202020202020202020202022C
+:10249000020202020202020202020202020202011D
+:1024A000010101010101010101010101010101011C
+:1024B000010101010101010101010101010101010C
+:1024C00001010101010101010101010101010101FC
+:1024D00001010101010101010101010101010101EC
+:1024E00001010101010101010101010101010101DC
+:1024F00001010101010101010101010101010101CC
+:1025000001010101010101010101010102020202B7
+:10251000020202020202020202020202020202029B
+:10252000020202020202020202020202020202028B
+:10253000020202020202020202020202020202027B
+:10254000020202020202020202020202020202026B
+:10255000020202020202020202020202020202025B
+:10256000020202020202020202020202020202024B
+:10257000020202020202020202020202020202023B
+:10258000020202020202020202020202020202022B
+:10259000020202020202020202020202020202011C
+:1025A000010101010101010101010101010101011B
+:1025B000010101010101010101010101010101010B
+:1025C00001010101010101010101010101010101FB
+:1025D00001010101010101010101010101010101EB
+:1025E00001010101010101010101010101010101DB
+:1025F00001010101010101010101010101010101CB
+:1026000002010101010101020202010202020202B1
+:10261000020202020202020202020202020202029A
+:10262000020202020202020202020202020202028A
+:10263000020202020202020202020202020202027A
+:10264000020202020202020202020202020202026A
+:10265000020202020202020202020202020202025A
+:10266000020202020202020202020202020202024A
+:10267000020202020202020202020202020202023A
+:10268000020202020202020202020202020202022A
+:10269000020202020202020202020202020202011B
+:1026A000010101010101010101010101010101011A
+:1026B000010101010101010101010101010101010A
+:1026C00001010101010101010101010101010101FA
+:1026D00001010101010101010101010101010101EA
+:1026E00001010101010101010101010101010201D9
+:1026F00001010101010101010101010101010101CA
+:1027000002010102020201020202010202020202AD
+:102710000202020202020202020202020202020299
+:102720000202020202020202020202020202020289
+:102730000202020202020202020202020202020279
+:102740000202020202020202020202020202020269
+:102750000202020202020202020202020202020259
+:102760000202020202020202020202020202020249
+:102770000202020202020202020202020202020239
+:102780000202020202020202020202020202020229
+:10279000020202020202020202020202020202011A
+:1027A0000101010101010101010101010101010119
+:1027B0000101010101010101010101010101010109
+:1027C00001010101010101010101010101010101F9
+:1027D00001010101010101010101010101010102E8
+:1027E00002010101010101010201020202020201D2
+:1027F00001010101010101010101010101010101C9
+:1028000002010102020201020202010202020202AC
+:102810000202020202020202020202020202020298
+:102820000202020202020202020202020202020288
+:102830000202020202020202020202020202020278
+:102840000202020202020202020202020202020268
+:102850000202020202020202020202020202020258
+:102860000202020202020202020202020202020248
+:102870000202020202020202020202020202020238
+:102880000202020202020202020202020202020228
+:102890000202020202020202020202020202020119
+:1028A0000101010101010101010101010101010118
+:1028B0000101010101010101010101010101010108
+:1028C00001010101010101010101010101010101F8
+:1028D00001010101010101010101010101010202E6
+:1028E00002020202010202010202020202020201CB
+:1028F00001010101010101010101010101010201C7
+:1029000002010102020202020202010202020202AA
+:102910000202020202020202020202020202020297
+:102920000202020202020202020202020202020287
+:102930000202020202020202020202020202020277
+:102940000202020202020202020202020202020267
+:102950000202020202020202020202020202020257
+:102960000202020202020202020202020202020247
+:102970000202020202020202020202020202020237
+:102980000202020202020202020202020202020227
+:102990000202020202020202020202020202020118
+:1029A0000101010101010101010101010101010117
+:1029B0000101010101010101010101010101010107
+:1029C00001010101010101010101010101010101F7
+:1029D00001010101010101010101010101020202E4
+:1029E00002020202010202010202020202020202C9
+:1029F00002010201020202020202020201020201BB
+:102A000002010102020202020202010202020202A9
+:102A10000202020202020202020202020202020296
+:102A20000202020202020202020202020202020286
+:102A30000202020202020202020202020202020276
+:102A40000202020202020202020202020202020266
+:102A50000202020202020202020202020202020256
+:102A60000202020202020202020202020202020246
+:102A70000202020202020202020202020202020236
+:102A80000202020202020202020202020202020226
+:102A90000202020202020202020202020202020117
+:102AA0000101010101010101010101010101010116
+:102AB0000101010101010101010101010101010106
+:102AC00001010101010101010101010101010101F6
+:102AD00002010202010101010101020102020202DE
+:102AE00002020202010202010202020202020202C8
+:102AF00002020202020202020202020201020201B8
+:102B000002010102020202020202010202020202A8
+:102B10000202020202020202020202020202020295
+:102B20000202020202020202020202020202020285
+:102B30000202020202020202020202020202020275
+:102B40000202020202020202020202020202020265
+:102B50000202020202020202020202020202020255
+:102B60000202020202020202020202020202020245
+:102B70000202020202020202020202020202020235
+:102B80000202020202020202020202020202020225
+:102B90000202020202020202020202020202020116
+:102BA0000101010101010101010101010101010115
+:102BB0000101010101010101010101010101010105
+:102BC00001010101010101010101010101020201F3
+:102BD00002020202010101020202020202020202D8
+:102BE00002020202010202010202020202020202C7
+:102BF00002020202020202020202020202020201B6
+:102C000002010202020202020202020202020202A5
+:102C10000202020202020202020202020202020294
+:102C20000202020202020202020202020202020284
+:102C30000202020202020202020202020202020274
+:102C40000202020202020202020202020202020264
+:102C50000202020202020202020202020202020254
+:102C60000202020202020202020202020202020244
+:102C70000202020202020202020202020202020234
+:102C80000202020202020202020202020202020224
+:102C90000202020202020202020202020202020115
+:102CA0000101010101010101010101010101010114
+:102CB0000101010101010101010101010101010203
+:102CC00002010201020202020202020202020202E6
+:102CD00002020202020202020202020202020202D4
+:102CE00002020202020202020202020202020202C4
+:102CF00002020202020202020202020202020202B4
+:102D000002010202020202020202020202020202A4
+:102D10000202020202020202020202020202020293
+:102D20000202020202020202020202020202020283
+:102D30000202020202020202020202020202020273
+:102D40000202020202020202020202020202020263
+:102D50000202020202020202020202020202020253
+:102D60000202020202020202020202020202020243
+:102D70000202020202020202020202020202020233
+:102D80000202020202020202020202020202020223
+:102D90000202020202020202020202020202020114
+:102DA0000101010101010101010101010101010113
+:102DB0000101010101010101010101010101010202
+:102DC00002020202020202020202020202020202E3
+:102DD00002020202020202020202020202020202D3
+:102DE00002020202020202020202020202020202C3
+:102DF00002020202020202020202020202020202B3
+:102E000002010202020202020202020202020202A3
+:102E10000202020202020202020202020202020292
+:102E20000202020202020202020202020202020282
+:102E30000202020202020202020202020202020272
+:102E40000202020202020202020202020202020262
+:102E50000202020202020202020202020202020252
+:102E60000202020202020202020202020202020242
+:102E70000202020202020202020202020202020232
+:102E80000202020202020202020202020202020222
+:102E90000202020202020202020202020202020113
+:102EA0000101010101010101010101010101010112
+:102EB0000101010101010101010101010101010201
+:102EC00002020202020202020202020202020202E2
+:102ED00002020202020202020202020202020202D2
+:102EE00002020202020202020202020202020202C2
+:102EF00002020202020202020202020202020202B2
+:102F000002010202020202020202020202020202A2
+:102F10000202020202020202020202020202020291
+:102F20000202020202020202020202020202020281
+:102F30000202020202020202020202020202020271
+:102F40000202020202020202020202020202020261
+:102F50000202020202020202020202020202020251
+:102F60000202020202020202020202020202020241
+:102F70000202020202020202020202020202020231
+:102F80000202020202020202020202020202020221
+:102F90000202020202020202020202020202020112
+:102FA0000101010101010101010101010101010111
+:102FB0000101010101010101010101010101010200
+:102FC00002020202020202020202020202020202E1
+:102FD00002020202020202020202020202020202D1
+:102FE00002020202020202020202020202020202C1
+:102FF00002020202020202020202020202020202B1
+:1030000002020202020202020202020202020202A0
+:103010000202020202020202020202020202020290
+:103020000202020202020202020202020202020280
+:103030000202020202020202020202020202020270
+:103040000202020202020202020202020202020260
+:103050000202020202020202020202020202020250
+:103060000202020202020202020202020202020240
+:103070000202020202020202020202020202020230
+:103080000202020202020202020202020202020220
+:103090000202020202020202020202020202020111
+:1030A0000101010101010101010101010101010110
+:1030B00001010101010101010101010101010202FE
+:1030C00002020202020202020202020202020202E0
+:1030D00002020202020202020202020202020202D0
+:1030E00002020202020202020202020202020202C0
+:1030F00002020202020202020202020202020202B0
+:10310000020202020202020202020202020202029F
+:10311000020202020202020202020202020202028F
+:10312000020202020202020202020202020202027F
+:10313000020202020202020202020202020202026F
+:10314000020202020202020202020202020202025F
+:10315000020202020202020202020202020202024F
+:10316000020202020202020202020202020202023F
+:10317000020202020202020202020202020202022F
+:10318000020202020202020202020202020202021F
+:103190000202020202020202020202020202020110
+:1031A000010101010101010101010101010101020E
+:1031B00002010101010101010101020102020202F9
+:1031C00002020202020202020202020202020202DF
+:1031D00002020202020202020202020202020202CF
+:1031E00002020202020202020202020202020202BF
+:1031F00002020202020202020202020202020202AF
+:10320000020202020202020202020202020202029E
+:10321000020202020202020202020202020202028E
+:10322000020202020202020202020202020202027E
+:10323000020202020202020202020202020202026E
+:10324000020202020202020202020202020202025E
+:10325000020202020202020202020202020202024E
+:10326000020202020202020202020202020202023E
+:10327000020202020202020202020202020202022E
+:10328000020202020202020202020202020202021E
+:10329000020202020202020202020202020202010F
+:1032A000010101010101010101010101010101020D
+:1032B00002010102020102020202020202020202F1
+:1032C00002020202020202020202020202020202DE
+:1032D00002020202020202020202020202020202CE
+:1032E00002020202020202020202020202020202BE
+:1032F00002020202020202020202020202020202AE
+:10330000020202020202020202020202020202029D
+:10331000020202020202020202020202020202028D
+:10332000020202020202020202020202020202027D
+:10333000020202020202020202020202020202026D
+:10334000020202020202020202020202020202025D
+:10335000020202020202020202020202020202024D
+:10336000020202020202020202020202020202023D
+:10337000020202020202020202020202020202022D
+:10338000020202020202020202020202020202021D
+:10339000020202020202020202020202020202010E
+:1033A000010101010101010101010101010101020C
+:1033B00002020202020202020202020202020202ED
+:1033C00002020202020202020202020202020202DD
+:1033D00002020202020202020202020202020202CD
+:1033E00002020202020202020202020202020202BD
+:1033F00002020202020202020202020202020202AD
+:10340000020202020202020202020202020202029C
+:10341000020202020202020202020202020202028C
+:10342000020202020202020202020202020202027C
+:10343000020202020202020202020202020202026C
+:10344000020202020202020202020202020202025C
+:10345000020202020202020202020202020202024C
+:10346000020202020202020202020202020202023C
+:10347000020202020202020202020202020202022C
+:10348000020202020202020202020202020202021C
+:10349000020202020202020202020202020202010D
+:1034A000010101010101010101010101010101020B
+:1034B00002020202020202020202020202020202EC
+:1034C00002020202020202020202020202020202DC
+:1034D00002020202020202020202020202020202CC
+:1034E00002020202020202020202020202020202BC
+:1034F00002020202020202020202020202020202AC
+:10350000020202020202020202020202020202029B
+:10351000020202020202020202020202020202028B
+:10352000020202020202020202020202020202027B
+:10353000020202020202020202020202020202026B
+:10354000020202020202020202020202020202025B
+:10355000020202020202020202020202020202024B
+:10356000020202020202020202020202020202023B
+:10357000020202020202020202020202020202022B
+:10358000020202020202020202020202020202021B
+:10359000020202020202020202020202020202010C
+:1035A000010101010101010101010101010101020A
+:1035B00002020202020202020202020202020202EB
+:1035C00002020202020202020202020202020202DB
+:1035D00002020202020202020202020202020202CB
+:1035E00002020202020202020202020202020202BB
+:1035F00002020202020202020202020202020202AB
+:10360000020202020202020202020202020202029A
+:10361000020202020202020202020202020202028A
+:10362000020202020202020202020202020202027A
+:10363000020202020202020202020202020202026A
+:10364000020202020202020202020202020202025A
+:10365000020202020202020202020202020202024A
+:10366000020202020202020202020202020202023A
+:10367000020202020202020202020202020202022A
+:10368000020202020202020202020202020202021A
+:10369000020202020202020202020202020202010B
+:1036A0000101010101010101010101010101010209
+:1036B00002020202020202020202020202020202EA
+:1036C00002020202020202020202020202020202DA
+:1036D00002020202020202020202020202020202CA
+:1036E00002020202020202020202020202020202BA
+:1036F00002020202020202020202020202020202AA
+:103700000202020202020202020202020202020299
+:103710000202020202020202020202020202020289
+:103720000202020202020202020202020202020279
+:103730000202020202020202020202020202020269
+:103740000202020202020202020202020202020259
+:103750000202020202020202020202020202020249
+:103760000202020202020202020202020202020239
+:103770000202020202020202020202020202020229
+:103780000202020202020202020202020202020219
+:10379000020202020202020202020202020202010A
+:1037A0000101010101010101010101010101010208
+:1037B00002020202020202020202020202020202E9
+:1037C00002020202020202020202020202020202D9
+:1037D00002020202020202020202020202020202C9
+:1037E00002020202020202020202020202020202B9
+:1037F00002020202020202020202020202020202A9
+:103800000202020202020202020202020202020298
+:103810000202020202020202020202020202020288
+:103820000202020202020202020202020202020278
+:103830000202020202020202020202020202020268
+:103840000202020202020202020202020202020258
+:103850000202020202020202020202020202020248
+:103860000202020202020202020202020202020238
+:103870000202020202020202020202020202020228
+:103880000202020202020202020202020202020218
+:103890000202020202020202020202020202020109
+:1038A0000101010101010101010101010101010207
+:1038B00002020202020202020202020202020202E8
+:1038C00002020202020202020202020202020202D8
+:1038D00002020202020202020202020202020202C8
+:1038E00002020202020202020202020202020202B8
+:1038F00002020202020202020202020202020202A8
+:103900000202020202020202020202020202020297
+:103910000202020202020202020202020202020287
+:103920000202020202020202020202020202020277
+:103930000202020202020202020202020202020267
+:103940000202020202020202020202020202020257
+:103950000202020202020202020202020202020247
+:103960000202020202020202020202020202020237
+:103970000202020202020202020202020202020227
+:103980000202020202020202020202020202020217
+:103990000202020202020202020202020202020108
+:1039A0000101010101010101010101010101010206
+:1039B00002020202020202020202020202020200E9
+:1039C00000000000000000000000000000000000F7
+:1039D00000000000000000000000000000000000E7
+:1039E00000000000000000000000000000000002D5
+:1039F00002020202020202020202020202020202A7
+:103A00000202020202020202020202020202020296
+:103A10000202020202020202020202020202020286
+:103A20000202020202020202020202020202020078
+:103A30000000000000000000000000000000000284
+:103A40000202020202020202020202020202020256
+:103A50000202020202020202020202020202020246
+:103A60000202020202020202020202020202020236
+:103A70000202020202020202020202020202020226
+:103A80000202020202020202020202020202020216
+:103A90000202020202020202020202020202010108
+:103AA0000101010101010101010101010101010205
+:103AB00002020202020202020202020202020200E8
+:103AC00000000000000000000000000000000000F6
+:103AD00000000000000000000000000000000000E6
+:103AE00000000000000000000000000000000000D6
+:103AF00000000000000000000000000000000002C4
+:103B00000202020202020202020202020202020097
+:103B100000000000000000000000000000000002A3
+:103B20000202020202020202020202020202020077
+:103B30000000000000000000000000000000000283
+:103B40000202020202020202020202020202020255
+:103B50000202020202020202020202020202020047
+:103B60000000000000000000000000000000000055
+:103B70000000000000000000000000000000000243
+:103B80000202020202020202020202020202020215
+:103B90000000000000000000000000000000000124
+:103BA0000101010101010101010101010101010105
+:103BB00001010101010101010101010101010101F5
+:103BC00001010101010101010101010101010101E5
+:103BD00001010101010101010101010101010101D5
+:103BE00001010101010101010101010101010101C5
+:103BF00001010101010101010101010101010101B5
+:103C000001010101010101010101010101010101A4
+:103C10000101010101010101010101010101010194
+:103C20000101010101010101010101010101010184
+:103C30000101010101010101010101010101010174
+:103C40000101010101010101010101010101010164
+:103C50000101010101010101010101010101010154
+:103C60000101010101010101010101010101010144
+:103C70000101010101010101010101010101010134
+:103C80000101010101010101010101010101010223
+:103C90000000000000000000000000000000000123
+:103CA0000101010101010101010101010101010104
+:103CB00001010101010101010101010101010101F4
+:103CC00001010101010101010101010101010101E4
+:103CD00001010101010101010101010101010101D4
+:103CE00001010101010101010101010101010101C4
+:103CF00001010101010101010101010101010101B4
+:103D000001010101010101010101010101010101A3
+:103D10000101010101010101010101010101010193
+:103D20000101010101010101010101010101010183
+:103D30000101010101010101010101010101010173
+:103D40000101010101010101010101010101010163
+:103D50000101010101010101010101010101010153
+:103D60000101010101010101010101010101010143
+:103D70000101010101010101010101010101010133
+:103D80000101010101010101010101010101010222
+:103D90000000000000000000000000000000000122
+:103DA0000101010101010101010101010101010103
+:103DB00001010101010101010101010101010101F3
+:103DC00001010101010101010101010101010101E3
+:103DD00001010101010101010101010101010101D3
+:103DE00001010101010101010101010101010101C3
+:103DF00001010101010101010101010101010101B3
+:103E000001010101010101010101010101010101A2
+:103E10000101010101010101010101010101010192
+:103E20000101010101010101010101010101010182
+:103E30000101010101010101010101010101010172
+:103E40000101010101010101010101010101010162
+:103E50000101010101010101010101010101010152
+:103E60000101010101010101010101010101010142
+:103E70000101010101010101010101010101010132
+:103E80000101010101010101010101010101010221
+:103E90000000000000000000000000000000000121
+:103EA0000101010101010101010101010101010102
+:103EB00001010101010101010101010101010101F2
+:103EC00001010101010101010101010101010101E2
+:103ED00001010101010101010101010101010101D2
+:103EE00001010101010101010101010101010101C2
+:103EF00001010101010101010101010101010101B2
+:103F000001010101010101010101010101010101A1
+:103F10000101010101010101010101010101010191
+:103F20000101010101010101010101010101010181
+:103F30000101010101010101010101010101010171
+:103F40000101010101010101010101010101010161
+:103F50000101010101010101010101010101010151
+:103F60000101010101010101010101010101010042
+:103F70000000000000000000000000000000000140
+:103F80000101010101010101010101010101010220
+:103F90000000000000000000000000000000000120
+:103FA0000101010101010101010101010101010101
+:103FB00001010101010101010101010101010101F1
+:103FC00001010101010101010101010101010101E1
+:103FD00001010101010101010101010101010101D1
+:103FE00001010101010101010101010101010100C2
+:103FF00000000000000000000000000000000001C0
+:1040000001010101010101010101010101010101A0
+:104010000101010101010101010101010101010190
+:104020000101010101010101010101010101010081
+:10403000000000000000000000000000000000017F
+:104040000101010101010101010101010101010061
+:104050000000000000000000000000000000000060
+:104060000000000000000000000000000000000050
+:104070000000000000000000000000000000000040
+:10408000000000000000000000000000000000022E
+:10409000000000000000000000000000000000011F
+:1040A0000101010101010101010101010101010100
+:1040B00001010101010101010101010101010101F0
+:1040C00001010101010101010101010101010101E0
+:1040D00001010101010101010101010101010101D0
+:1040E00001010101010101010101010101010100C1
+:1040F00000000000000000000000000000000001BF
+:10410000010101010101010101010101010101019F
+:10411000010101010101010101010101010101018F
+:104120000101010101010101010101010101010080
+:10413000000000000000000000000000000000017E
+:104140000101010101010101010101010101010060
+:10415000000000000000000000000000000000005F
+:10416000000000000000000000000000000000004F
+:10417000000000000000000000000000000000003F
+:10418000000000000000000000000000000000022D
+:10419000000000000000000000000000000000001F
+:1041A000000000000000000000000000000000000F
+:1041B00000000000000000000000000000000000FF
+:1041C00000000000000000000000000000000000EF
+:1041D00000000000000000000000000000000000DF
+:1041E00000000000000000000000000000000000CF
+:1041F00000000000000000000000000000000000BF
+:1042000000000000000000000000000000000000AE
+:10421000000000000000000000000000000000009E
+:10422000000000000000000000000000000000008E
+:10423000000000000000000000000000000000007E
+:10424000000000000000000000000000000000006E
+:10425000000000000000000000000000000000005E
+:10426000000000000000000000000000000000004E
+:10427000000000000000000000000000000000003E
+:10428000000000000000000000000000000000002E
+:1042900000000000000000000000000000000055C9
+:1042A000000000000000000000000000000000000E
+:1042B00000000000000000000000000002000102F9
+:1042C00000000000000000000000000000000000EE
+:1042D00002000000000200000000000000000000DA
+:1042E00000000000000000000000000000000000CE
+:1042F00000000000000000000000000000000200BC
+:1043000000000000000000020000000000000000AB
+:10431000000000000000000000000000000000009D
+:10432000000000000000000000000200000000008B
+:10433000000000000000000000000000000000007D
+:104340000200000000000000000200000000000069
+:104350000002000000000000000000000200000059
+:10436000000000000000000000020000000000004B
+:104370000002000000000000020000000002000037
+:104380000200000200020000000202000200000021
+:104390000002000000000000000202000200020211
+:1043A0000002000000000200020000020002000003
+:1043B00002000202020200000000000002000102EE
+:1043C00000000000000202020002000002000000E3
+:1043D00002020000000200000000000000000000D7
+:1043E00000000000000000000000000002000000CB
+:1043F00000020000000000000000000000000200B9
+:1044000000000000000000020000000000000000AA
+:10441000020000000000000000000000000000009A
+:104420000200000000000000000002020000000086
+:104430000000020200000000000002000000000076
+:104440000202000000000000000200000002000064
+:10445000000202020002020000000002020200004C
+:10446000000002000202020002020000000200003E
+:104470000202020000020202020202000202020222
+:104480000202000200020000020202020202000018
+:1044900002020202020202000202020202020202FE
+:1044A00002020202020202020202020202020202EC
+:1044B00002020202020200000000020002000202E8
+:1044C00000000000000202020002000002000000E2
+:1044D00002020002000200020000020000000200CE
+:1044E00000000000000000000200000002000000C8
+:1044F00002020000000200000000000000000202B2
+:1045000000000000000000020000020000000000A7
+:104510000202000000000002000002000000000093
+:10452000020200000000000200020202000002007D
+:104530000000020200000000020002020000000071
+:10454000020202000000000000020000020202005D
+:104550000002020200020202000202020202000243
+:104560000000020002020200020202000202020037
+:10457000020202000002020202020202020202021F
+:10458000020202020202020202020202020202020B
+:1045900002020202020202000202020202020202FD
+:1045A00002020202020202020202020202020202EB
+:1045B00002020202020200000200020002000202E5
+:1045C00000000000000202020002000002000000E1
+:1045D00002020002000200020000020000000200CD
+:1045E00000000000000000000202000002000000C5
+:1045F00002020000000200000000000000000202B1
+:1046000002000000000200020000020200000000A0
+:104610000202000200000002000002000000000090
+:104620000202020200000002020202020002020074
+:10463000000002020002000002020202000000006C
+:10464000020202000000000000020000020202005C
+:104650000002020200020202020202020202000240
+:104660000200020002020200020202000202020034
+:10467000020202020002020202020202020202021C
+:10468000020202020202020202020202020202020A
+:1046900002020202020201000202020202020202FD
+:1046A00002020202020202020202020202020202EA
+:1046B00002020202020200010200020002000202E3
+:1046C00000000000000202020202000002000000DE
+:1046D00002020002000200020000020000000200CC
+:1046E00000000000000000000202000002000000C4
+:1046F00002020002000200000002000000000202AC
+:10470000020000000002000200000202000000009F
+:10471000020200020000000200000200000000008F
+:10472000020202020000000202020202020202026F
+:104730000000020200020000020202020002000069
+:104740000202020200000000000202000202020255
+:10475000000202020002020202020202020202023D
+:10476000020202000202020002020200020202022F
+:10477000020202020002020202020202020202021B
+:104780000202020202020202020202020202020209
+:1047900002020202020201000202020202020202FC
+:1047A00002020202020202020202020202020202E9
+:1047B00002020202020200010200020002000202E2
+:1047C00000000000000202020202000002000000DD
+:1047D00002020002000200020000020000000200CB
+:1047E00000000000000000020202020002000000BF
+:1047F00002020002000200000002000000000202AB
+:10480000020000000002020202000202000000009A
+:104810000202020200000002020002020002000086
+:10482000020202020000000202020202020202026E
+:104830000000020202020000020202020202020062
+:104840000202020200000000020202000202020252
+:10485000000202020202020202020202020202023A
+:10486000020202020202020002020202020202022A
+:104870000202020202020202020202020202020218
+:104880000202020202020102020202020202020209
+:1048900002020202020201000202020202020202FB
+:1048A00002020202020202020202020202020202E8
+:1048B00002020202020200010200020002000202E1
+:1048C00000000000000202020202000002000000DC
+:1048D00002020002000200020000020000000200CA
+:1048E00000000000000000020202020002000000BE
+:1048F00002020202000200000002000000000202A8
+:104900000200000000020202020002020000020097
+:10491000020202020000000202020202020202027D
+:10492000020202020000000202020202020202026D
+:104930000000020202020000020202020202020061
+:10494000020202020002000002020200020202024F
+:104950000002020202020202020202020202020239
+:10496000020202020202010002020202020202022A
+:104970000202020202020202020202020202020217
+:104980000202020202020102020202020202020208
+:1049900002020202020201000202020202020202FA
+:1049A00002020202020201020202020202020202E8
+:1049B00002020202020200010200020002000202E0
+:1049C00000000000000202020202000002000000DB
+:1049D00002020002000200020200020200020200C3
+:1049E00000000000000000020202020002000000BD
+:1049F00002020202000200000202000000000202A5
+:104A00000200020000020202020002020002020092
+:104A1000020202020002000202020202020202027A
+:104A2000020202020200000202020202020202026A
+:104A3000020002020202000002020202020202025C
+:104A4000020202020002000002020202020202024C
+:104A50000202020202020202020202020202020236
+:104A60000202020202020100020202020202020229
+:104A70000202020202020202020202020202020216
+:104A80000202020202020102020202020202020207
+:104A900002020202020201000202020202020202F9
+:104AA00002020202020201020202020202020202E7
+:104AB00002020202020200020201020002000202DD
+:104AC00000000000000202020202000002000000DA
+:104AD00002020002000200020200020200020202C0
+:104AE00000000000000000020202020202000000BA
+:104AF00002020202020200000202020000000202A0
+:104B0000020002000002020202000202000202028F
+:104B10000202020200020002020202020202020279
+:104B20000202020202000002020202020202020269
+:104B30000202020202020000020202020202020259
+:104B40000202020202020002020202020202020247
+:104B50000202020202020102020202020202020236
+:104B60000202020202020100020202020202020228
+:104B70000202020202020102020202020202020216
+:104B80000202020202020102020202020202020206
+:104B900002020202020201000202020202020202F8
+:104BA00002020202020201020202020202020202E6
+:104BB00002020202020200020201020002000202DC
+:104BC00000000000000202020202000002000000D9
+:104BD00002020002000200020200020200020202BF
+:104BE00000000000000000020202020202000200B7
+:104BF000020202020202000002020202000002029D
+:104C0000020002020002020202000202000202028C
+:104C10000202020202020002020202020202020276
+:104C20000202020202020002020202020202020266
+:104C30000202020202020000020202020202020258
+:104C40000202020202020002020202020202020246
+:104C50000202020202020102020202020202020235
+:104C60000202020202020100020202020202020227
+:104C70000202020202020102020202020202020215
+:104C80000202020202010102020202020202020206
+:104C900002020202020101000202020202020202F8
+:104CA00002020202020201020202020202020202E5
+:104CB00002020202020200020202020002000202DA
+:104CC00000000000000202020202000002000000D8
+:104CD00002020202000200020202020200020202BA
+:104CE00000020000000000020202020202020200B2
+:104CF000020202020202000002020202000002029C
+:104D0000020002020002020202000202000202028B
+:104D10000202020202020002020202020202020275
+:104D20000202020202020002020202020202020265
+:104D30000202020202020000020202020202020257
+:104D40000202020202020202020202020202020243
+:104D50000202020202020102020202020202020234
+:104D60000202020202020100020202020202020226
+:104D70000202020202020102020202020202020214
+:104D80000202020202010102020202020202020205
+:104D900002020202020101000202020202020202F7
+:104DA00002020202020201020202020202020202E4
+:104DB00002020202020200020202020002000202D9
+:104DC00000000000000202020202020002000000D5
+:104DD00002020202000200020202020200020202B9
+:104DE00000020000000000020202020202020200B1
+:104DF0000202020202020000020202020002020299
+:104E0000020002020002020202000202000202028A
+:104E10000202020202020002020202020202020274
+:104E20000202020202020002020202020202020264
+:104E30000202020202020000020202020202020256
+:104E40000202020202020202020202020202020242
+:104E50000202020202020102020202020202020233
+:104E60000202020202010100020202020202020226
+:104E70000202020202020102020202020202020213
+:104E80000202020202010102020202020202020204
+:104E900002020202020101000202020202020202F6
+:104EA00002020202020101020202020202020202E4
+:104EB00002020202020200020202020002000202D8
+:104EC00000000000000202020202020202000000D2
+:104ED00002020202000200020202020202020202B6
+:104EE00000020000000000020202020202020200B0
+:104EF0000202020202020200020202020202020294
+:104F00000200020200020202020002020002020289
+:104F10000202020202020002020202020202020273
+:104F20000202020202020002020202020202020263
+:104F30000202020202020000020202020202020255
+:104F40000202020202020202020202020202020241
+:104F50000202020202020102020202020202020232
+:104F60000202020202010102020202020202020223
+:104F70000202020202020102020202020202020212
+:104F80000202020202010102020202020202020203
+:104F900002020202010101000202020202020202F6
+:104FA00002020202020101020202020202020202E3
+:104FB00002020202020100020202020002000202D8
+:104FC00000000000000202020202020202000000D1
+:104FD00002020202000200020202020202020202B5
+:104FE00000020002000000020202020202020202AB
+:104FF0000202020202020200020202020202020293
+:105000000200020200020102020002020002020289
+:105010000202020202020002020202020202020272
+:105020000202020202020002020202020202020262
+:105030000202020202020200020202020202020252
+:105040000202020202020102020202020202020241
+:105050000202020202010102020202020202020232
+:105060000202020202010102020202020202020222
+:105070000202020202010102020202020202020212
+:105080000202020202010102020202020202020202
+:1050900002020201010101000202020202020202F6
+:1050A00002020202020101020202020202020202E2
+:1050B00002020202020100020202020002000202D7
+:1050C00000000000000202020202020202000000D0
+:1050D00002020202000200020202020202020202B4
+:1050E00000020002000000020202020202020202AA
+:1050F0000202020202020200020202020202020292
+:105100000200020200020102020002020002020288
+:105110000202020202020002020202020202020271
+:105120000202020202020002020202020202020261
+:105130000202020202010100020202020202020253
+:105140000202020202020102020202020202020240
+:105150000202020202010102020202020202020231
+:105160000202020202010102020202020202020221
+:105170000202020202010102020202020202020211
+:105180000202020201010102020202020202020202
+:1051900002010101010101000202020202020202F7
+:1051A00002020202010101020202020202020202E2
+:1051B00002020202020100020202020102010202D4
+:1051C00000000000000201020202020202000000D0
+:1051D00002020202000200020202020202020202B3
+:1051E00002020002000200020202020202020202A5
+:1051F0000202020202020200020202020202020291
+:105200000200020202020102020002020002020285
+:105210000202020202020002020202020202020270
+:105220000202020202020002020202020202020260
+:105230000202020202010100020202020202020252
+:10524000020202020202010202020202020202023F
+:105250000202020202010102020202020202020230
+:105260000202020201010102020202020202020221
+:105270000202020202010102020202020202020210
+:105280000202020101010102020202020202020103
+:1052900001010101010101000202020202020202F7
+:1052A00002020202010101020202020202020202E1
+:1052B00002020202010100020202020102010202D4
+:1052C00000000000000201020202020202000000CF
+:1052D00002020202000200020202020202020202B2
+:1052E00002020002000200020202020202020202A4
+:1052F0000202020202020200020202020202020290
+:105300000200020202020102020202020002020282
+:10531000020202020202000202020202020202026F
+:10532000020202020202000202020202020202025F
+:105330000202020202010100020202020202020251
+:10534000020202020201010202020202020202023F
+:10535000020202020201010202020202020202022F
+:105360000202020201010102020202020202020220
+:10537000020202020201010202020202020202020F
+:105380000202010101010102020202020201010105
+:1053900001010101010101000202020202020202F6
+:1053A00002020101010101020202020202020202E2
+:1053B00002020202010100020202020102010202D3
+:1053C00000000000000201020202020202000202CA
+:1053D00002020202000100020202020202020202B2
+:1053E000020202020202000202020202020202029F
+:1053F0000202020202010100020202020202020291
+:105400000200020202010102020202020002020282
+:10541000020202020201010202020202020202026E
+:10542000020202020202010202020202020202025D
+:105430000202020202010100020202020202020250
+:10544000020202020201010202020202020202023E
+:10545000020202020201010202020202020202022E
+:105460000202010201010102020202020202020220
+:10547000020202020201010202020202020202020E
+:105480000101010101010102020202020201010106
+:1054900001010101010101000202020202020202F5
+:1054A00002010101010101020202020202020202E2
+:1054B00002020101010100020202020102010202D4
+:1054C00000000000000201020202020202020202C7
+:1054D00002020202000100020202020202020202B1
+:1054E000020202020202000202020202020202029E
+:1054F0000202020202010100020202020202020290
+:10550000020202020201010202020202000202027F
+:10551000020202020201010202020202020202026D
+:10552000020202020201010202020202020202025D
+:10553000020202020201010002020202020202024F
+:10554000020202020201010202020202020202023D
+:10555000020202020201010202020202020202022D
+:10556000020201020101010202020202020202021F
+:10557000020202020201010202020202020202010E
+:105580000101010101010102020202020201010105
+:1055900001010101010101000202020202020201F5
+:1055A00001010101010101020202020202020202E2
+:1055B00002020101010100020202020202020202D1
+:1055C00000000000000201020202020202020202C6
+:1055D00002020202000100020202020202020202B0
+:1055E000020202020202000202020202020202029D
+:1055F000020202020201010002020202020202028F
+:10560000020202020201010202020202000202027E
+:10561000020202020201010202020202020202026C
+:10562000020202020201010202020202020202025C
+:10563000020201010101010202020202020202024F
+:10564000020202020201010202020202020202023C
+:10565000020201010101010202020202020202022F
+:10566000020201020101010202020202020202021E
+:10567000020201020101010202020202020202010F
+:105680000101010101010102020202020101010105
+:1056900001010101010101000202020202020101F5
+:1056A00001010101010101020202020202020202E1
+:1056B00001010101010100020202020202020202D2
+:1056C00000000000000101020202020202020202C6
+:1056D00002020202000100020202020202020202AF
+:1056E000020202020202000202020202020202029C
+:1056F000020202020201010002020202020202028E
+:10570000020202020201010202020202000202027D
+:10571000020202020201010202020202020202026B
+:10572000020202020201010202020202020202025B
+:10573000020201010101010202020202020202024E
+:10574000020201020201010202020202020202023C
+:10575000020101010101010202020202020202022F
+:10576000020201010101010202020202020202021E
+:105770000201010101010102020202020201010112
+:105780000101010101010102020202020101010104
+:1057900001010101010101000202020202010101F5
+:1057A00001010101010101020202020202020201E1
+:1057B00001010101010200020202020202020202D0
+:1057C00000000001000101020202020202020202C4
+:1057D00002020202000100020202020202020202AE
+:1057E000020202020202000202020202020202029B
+:1057F000020202020201010002020202020202028D
+:10580000020202020201010202020202000202027C
+:10581000020202010201010202020202020202026B
+:10582000020201010101010202020202020202025D
+:10583000020201010101010202020202020202024D
+:10584000010101010101010202020202020202023F
+:10585000020101010101010202020202020202012F
+:10586000010101010101010202020202020202021F
+:105870000101010101010102020202020201010112
+:105880000101010101010102020202020101010103
+:1058900001010101010101000202020202010101F4
+:1058A00001010101010101020202020202010101E2
+:1058B00001010101010200020202020202020202CF
+:1058C00000000001000101020202020202020202C3
+:1058D00002020202000100020202020202020202AD
+:1058E000020202020202000202020202020202029A
+:1058F000020202020201010002020202020202028C
+:10590000020202020201010202020202000202027B
+:10591000010101010101010202020202020202026E
+:10592000010101010101010202020202020202025E
+:10593000020201010101010202020202020202024C
+:10594000010101010101010202020202020202023E
+:10595000020101010101010202020202020102012F
+:10596000010101010101010202020202020202021E
+:105970000101010101010102020202020101010112
+:105980000101010101010102020202010101010103
+:1059900001010101010101000202020202010101F3
+:1059A00001010101010101020202020202010101E1
+:1059B00001010101010200020202020202020202CE
+:1059C00000000002000101020202020202020202C1
+:1059D00002020202000100020202020202020202AC
+:1059E0000202020202020002020202020202020299
+:1059F000020202020201010002020202020202028B
+:105A0000020202020201010202020202000202027A
+:105A1000010101010101010202020202020202026D
+:105A2000010101010101010202020202020202025D
+:105A3000020201010101010202020202020202024B
+:105A4000010101010101010202020202020202023D
+:105A5000020101010101010202020202010102012F
+:105A6000010101010101010202020202020202021D
+:105A70000101010101010102020202020101010111
+:105A80000101010101010102010201010101010104
+:105A900001010101010101000202020202010101F2
+:105AA00001010101010101020202020101010101E2
+:105AB00001010101020200020202020202020202CC
+:105AC00000000002000101020202020202020202C0
+:105AD00002020201000101020202020202020202AB
+:105AE0000202020202020002020202020202020298
+:105AF000020102010101010002020202020202028D
+:105B00000202020202010102020202020202020277
+:105B1000010101010101010202020202020202026C
+:105B2000010101010101010202020202020201015E
+:105B3000020201010101010202020202020202024A
+:105B4000010101010101010202020202020101013F
+:105B5000020101010101010202020202010101012F
+:105B6000010101010101010202020202020101011F
+:105B70000101010101010102020202010101010111
+:105B80000101010101010101010201010101010104
+:105B900001010101010101000202020201010101F2
+:105BA00001010101010101020202020101010101E1
+:105BB00001010101020200020202020202020202CB
+:105BC00000000002000101020202020202020202BF
+:105BD00001010201000101020202020202020202AC
+:105BE0000202020202010102020202020202020297
+:105BF0000101010101010100020202020202010190
+:105C00000102010202010102020202020202020278
+:105C1000010101010101010202020202020202026B
+:105C2000010101010101010202020202020101015E
+:105C3000010101010101010202020202020202024B
+:105C4000010101010101010202020202020101013E
+:105C50000101010101010102020202010101010130
+:105C6000010101010101010202020202020101011E
+:105C70000101010101010102020202010101010110
+:105C80000101010101010101010201010101010103
+:105C900001010101010101000202020201010101F1
+:105CA00001010101010101020202010101010101E1
+:105CB00001010202020200020202020202020202C8
+:105CC00000000002000101020202020202020202BE
+:105CD00001010201000101020202020202020202AB
+:105CE0000202020202010102020202020202020296
+:105CF000010101010101010002020202020201018F
+:105D00000102010102010102020202020202020278
+:105D1000010101010101010202020202020202016B
+:105D2000010101010101010202020201020101015E
+:105D3000010101010101010202020202020101014D
+:105D4000010101010101010202020202010101013E
+:105D5000010101010101010202020201010101012F
+:105D6000010101010101010202020202010101011E
+:105D70000101010101010101010201010101010112
+:105D80000101010101010101010101010101010103
+:105D900001010101010101000202020201010101F0
+:105DA00001010101010101020201010101010101E1
+:105DB00001010202020200020202020202020202C7
+:105DC00001000002000101020202020202020202BC
+:105DD00001010201000101020202020202020202AA
+:105DE0000202020202010102020202020202020295
+:105DF000010101010101010002020202020201018E
+:105E0000010201010101010202020202020201017A
+:105E1000010101010101010202020202020101016C
+:105E2000010101010101010202020101010101015F
+:105E3000010101010101010202020201020101014D
+:105E4000010101010101010202020202010101013D
+:105E5000010101010101010202020101010101012F
+:105E6000010101010101010202020202010101011D
+:105E70000101010101010101010101010101010112
+:105E80000101010101010101010101010101010102
+:105E900001010101010101000202020101010101F0
+:105EA00001010101010101020201010101010101E0
+:105EB00002020202020200020202020202020201C5
+:105EC00001000002000101020202020202020202BB
+:105ED00001010101000101020202020202020102AB
+:105EE0000202020202010102020202020102020295
+:105EF000010101010101010202020202020201018B
+:105F0000010201010101010202020201020101017B
+:105F1000010101010101010202020202020101016B
+:105F2000010101010101010202020101010101015E
+:105F3000010101010101010202020101010101014E
+:105F4000010101010101010202020202010101013C
+:105F5000010101010101010202020101010101012E
+:105F6000010101010101010202020202010101011C
+:105F70000101010101010101010101010101010111
+:105F80000101010101010101010101010101010101
+:105F900001010101010101000202010101010101F0
+:105FA00001010101010101020201010101010102DE
+:105FB00002020202020000020202020202020201C6
+:105FC00002000002000101020202020201020202BA
+:105FD00001010101000101020202020202020102AA
+:105FE0000202020202010102020202020102020294
+:105FF000010101010101010202020202020201018A
+:10600000010201010101010202020101020101017B
+:10601000010101010101010202020101010101016D
+:10602000010101010101010202020101010101015D
+:10603000010101010101010202020101010101014D
+:10604000010101010101010202010202010101013C
+:10605000010101010101010202010101010101012E
+:10606000010101010101010202010101010101011E
+:106070000101010101010101010101010101010110
+:106080000101010101010101010101010101010100
+:1060900001010101010101000202010101010101EF
+:1060A00001010101010101020201010101020202DB
+:1060B00002020202020000020202020201020201C6
+:1060C00002000002000101020202020201020202B9
+:1060D00001010101000101020202020202020101AA
+:1060E0000201020101010102020202020102020296
+:1060F0000101010101010102020202020202010189
+:10610000010201010101010202020101020101017A
+:10611000010101010101010202020101010101016C
+:10612000010101010101010202010101010101015D
+:10613000010101010101010202020101010101014C
+:10614000010101010101010202010101010101013D
+:10615000010101010101010101010101010101012F
+:10616000010101010101010202010101010101011D
+:10617000010101010101010101010101010101010F
+:1061800001010101010101010101010101010101FF
+:1061900001010101010101000202010101010101EE
+:1061A00001010101010101020201010101020202DA
+:1061B00002020202020000020202020201020101C6
+:1061C00002000002000101020202020201020202B8
+:1061D00001010101000101020202020202010101AA
+:1061E0000201020101010102020202020102010296
+:1061F0000101010101010102020202020202010188
+:10620000010201010101010102020101020101017A
+:10621000010101010101010202020101010101016B
+:10622000010101010101010101010101010101015E
+:10623000010101010101010201010101010101014D
+:10624000010101010101010202010101010101013C
+:10625000010101010101010101010101010101012E
+:10626000010101010101010201010101010101011D
+:10627000010101010101010101010101010101010E
+:1062800001010101010101010101010101010101FE
+:1062900001010101010101000202010101010101ED
+:1062A00001010101010101020201010202020202D7
+:1062B00002020202000000020202020201020101C7
+:1062C00002020002000101020202020201020202B5
+:1062D00001010101020101020202010202010101A8
+:1062E0000201010101010102020202020101010198
+:1062F0000101010101010102020202020201010188
+:106300000102010101010101020201010201010179
+:10631000010101010101010102020101010101016B
+:10632000010101010101010101010101010101015D
+:10633000010101010101010201010101010101014C
+:10634000010101010101010202010101010101013B
+:10635000010101010101010101010101010101012D
+:10636000010101010101010201010101010101011C
+:10637000010101010101010101010101010101010D
+:1063800001010101010101010101010101010101FD
+:1063900001010101010101000201010101010101ED
+:1063A00001010101010101020101010202020202D7
+:1063B00002020202000000020202020201020101C6
+:1063C00002020002010101020201020201020202B4
+:1063D00001010101020101020202010102010101A8
+:1063E000010101010101010201010101010101019C
+:1063F0000101010101010102020102010201010189
+:10640000010101010101010101020101020101017A
+:10641000010101010101010101010101010101016C
+:10642000010101010101010101010101010101015C
+:10643000010101010101010201010101010101014B
+:10644000010101010101010201010101010101013B
+:10645000010101010101010101010101010101012C
+:10646000010101010101010201010101010101011B
+:10647000010101010101010101010101010101010C
+:1064800001010101010101010101010101010101FC
+:1064900001010101010101000101010101010101ED
+:1064A00001010101010101020101020202020202D5
+:1064B00002020000000000020202010201020101CA
+:1064C00002020002010101010201020201020202B4
+:1064D00001010101020101020202010102010101A7
+:1064E000010101010101010201010101010101019B
+:1064F000010101010101010202010101010101018A
+:106500000101010101010101010201010201010179
+:10651000010101010101010101010101010101016B
+:10652000010101010101010101010101010101015B
+:10653000010101010101010201010101010101014A
+:10654000010101010101010201010101010101013A
+:10655000010101010101010101010101010101012B
+:10656000010101010101010201010101010101011A
+:10657000010101010101010101010101010101010B
+:1065800001010101010101010101010101010101FB
+:1065900001010101010101000101010101010101EC
+:1065A00001010101010101020102020202020202D3
+:1065B00002020000000000020202010201020101C9
+:1065C00002020002010101010101020201020201B5
+:1065D00001010101020101010202010101010101A8
+:1065E000010101010101010201010101010101019A
+:1065F0000101010101010102020101010101010189
+:106600000101010101010101010201010201010178
+:10661000010101010101010101010101010101016A
+:10662000010101010101010101010101010101015A
+:106630000101010101010102010101010101010149
+:106640000101010101010102010101010101010139
+:10665000010101010101010101010101010101012A
+:106660000101010101010102010101010101010119
+:10667000010101010101010101010101010101010A
+:1066800001010101010101010101010101010101FA
+:1066900001010101010101000101010101010101EB
+:1066A00001010101010101020102020202020202D2
+:1066B00000000000000000020102010201020101CD
+:1066C00002020002010101010101020101020101B6
+:1066D00001010101020101010202010101010101A7
+:1066E000010101010101010101010101010101019A
+:1066F0000101010101010102010101010101010189
+:106700000101010101010101010201010201010177
+:106710000101010101010101010101010101010169
+:106720000101010101010101010101010101010159
+:106730000101010101010102010101010101010148
+:106740000101010101010101010101010101010139
+:106750000101010101010101010101010101010129
+:106760000101010101010102010101010101010118
+:106770000101010101010101010101010101010109
+:1067800001010101010101010101010101010101F9
+:1067900001010101010101000101010101010101EA
+:1067A00001010101010101020102020202020200D3
+:1067B00000000000000000020102010201020101CC
+:1067C00002020202020101010101010101010101B4
+:1067D00001010101020101010102010101010101A7
+:1067E0000101010101010101010101010101010199
+:1067F0000101010101010102010101010101010188
+:106800000101010101010101010201010201010176
+:106810000101010101010101010101010101010168
+:106820000101010101010101010101010101010158
+:106830000101010101010102010101010101010147
+:106840000101010101010101010101010101010138
+:106850000101010101010101010101010101010128
+:106860000101010101010102010101010101010117
+:106870000101010101010101010101010101010108
+:1068800001010101010101010101010101010101F8
+:1068900001010101010101000101010101010101E9
+:1068A00001010101010101020102020202000000D6
+:1068B00000000000000000020102010201020101CB
+:1068C00002020201020101010101010101010101B4
+:1068D00001010101010101010101010101010101A8
+:1068E0000101010101010101010101010101010198
+:1068F0000101010101010102010101010101010187
+:106900000101010101010101010201010201010175
+:106910000101010101010101010101010101010167
+:106920000101010101010101010101010101010157
+:106930000101010101010102010101010101010146
+:106940000101010101010101010101010101010137
+:106950000101010101010101010101010101010127
+:106960000101010101010102010101010101010116
+:106970000101010101010101010101010101010107
+:1069800001010101010101010101010101010101F7
+:1069900001010101010101000101010101010101E8
+:1069A00001010101010101020102020202000000D5
+:1069B00000000000000100020102010201020101C9
+:1069C00002020201020101010101010101010101B3
+:1069D00001010101010101010101010101010101A7
+:1069E0000101010101010101010101010101010197
+:1069F0000101010101010102010101010101010186
+:106A00000101010101010101010201010201010174
+:106A10000101010101010101010101010101010166
+:106A20000101010101010101010101010101010156
+:106A30000101010101010102010101010101010145
+:106A40000101010101010101010101010101010136
+:106A50000101010101010101010101010101010126
+:106A60000101010101010102010101010101010115
+:106A70000101010101010101010101010101010106
+:106A800001010101010101010101010101010101F6
+:106A900001010101010101000101010101010101E7
+:106AA00001010101010101020102020000000000D8
+:106AB00000000000000100020101010201020101C9
+:106AC00002020201020101010101010101010101B2
+:106AD00001010101010101010101010101010101A6
+:106AE0000101010101010101010101010101010196
+:106AF0000101010101010102010101010101010185
+:106B00000101010101010101010101010201010174
+:106B10000101010101010101010101010101010165
+:106B20000101010101010101010101010101010155
+:106B30000101010101010102010101010101010144
+:106B40000101010101010101010101010101010135
+:106B50000101010101010101010101010101010125
+:106B60000101010101010101010101010101010115
+:106B70000101010101010101010101010101010105
+:106B800001010101010101010101010101010101F5
+:106B900001010101010101000101010101010101E6
+:106BA00001010101010101020202020000000000D6
+:106BB00000000000000100020101010201010101C9
+:106BC00002020201020101010101010101010101B1
+:106BD00001010101010101010101010101010101A5
+:106BE0000101010101010101010101010101010195
+:106BF0000101010101010102010101010101010184
+:106C00000101010101010101010101010101010174
+:106C10000101010101010101010101010101010164
+:106C20000101010101010101010101010101010154
+:106C30000101010101010102010101010101010143
+:106C40000101010101010101010101010101010134
+:106C50000101010101010101010101010101010124
+:106C60000101010101010101010101010101010114
+:106C70000101010101010101010101010101010104
+:106C800001010101010101010101010101010101F4
+:106C900001010101010101000101010101010101E5
+:106CA00001010101010101020202000000000000D7
+:106CB00000000000010100010101010201010101C8
+:106CC00002020201020101010101010101010101B0
+:106CD00001010101010101010101010101010101A4
+:106CE0000101010101010101010101010101010194
+:106CF0000101010101010102010101010101010183
+:106D00000101010101010101010101010101010173
+:106D10000101010101010101010101010101010163
+:106D20000101010101010101010101010101010153
+:106D30000101010101010102010101010101010142
+:106D40000101010101010101010101010101010133
+:106D50000101010101010101010101010101010123
+:106D60000101010101010101010101010101010113
+:106D70000101010101010101010101010101010103
+:106D800001010101010101010101010101010101F3
+:106D900001010101010101000101010101010101E4
+:106DA00001010101010101010200000000000000D9
+:106DB00000000000010101010101010101010101C7
+:106DC00001010201020101010101010101010101B1
+:106DD00001010101010101010101010101010101A3
+:106DE0000101010101010101010101010101010193
+:106DF0000101010101010102010101010101010182
+:106E00000101010101010101010101010101010172
+:106E10000101010101010101010101010101010162
+:106E20000101010101010101010101010101010152
+:106E30000101010101010101010101010101010142
+:106E40000101010101010101010101010101010132
+:106E50000101010101010101010101010101010122
+:106E60000101010101010101010101010101010112
+:106E70000101010101010101010101010101010102
+:106E800001010101010101010101010101010101F2
+:106E900001010101010101020101010101010101E1
+:106EA00001010101010101010200000000000000D8
+:106EB00000000101010101010101010101010101C4
+:106EC00001010101010101010101010101010101B2
+:106ED00001010101010101010101010101010101A2
+:106EE0000101010101010101010101010101010192
+:106EF0000101010101010102010101010101010181
+:106F00000101010101010101010101010101010171
+:106F10000101010101010101010101010101010161
+:106F20000101010101010101010101010101010151
+:106F30000101010101010101010101010101010141
+:106F40000101010101010101010101010101010131
+:106F50000101010101010101010101010101010121
+:106F60000101010101010101010101010101010111
+:106F70000101010101010101010101010101010101
+:106F800001010101010101020101010101020202ED
+:106F900001010101010102020101010101010101DF
+:106FA00001010101010100010200000000000000D8
+:106FB00000000101010101010101010101010101C3
+:106FC00001010101010101010101010101010101B1
+:106FD00001010101010101010101010101010101A1
+:106FE0000101010101010101010101010101010191
+:106FF0000101010101010102010101010101010180
+:107000000101010101010101010101010101010170
+:107010000101010101010101010101010101010160
+:107020000101010101010101010101010101010150
+:107030000101010101010101010101010101010140
+:107040000101010101010101010101010101010130
+:107050000101010101010101010101010101010120
+:107060000101010101010101010101010101010110
+:107070000101010101010101010101010101010100
+:1070800001010101010101020201010101020202EB
+:1070900002020102010102020101010101020202D8
+:1070A00002020202020202010200000000000000CF
+:1070B00001010101010101010101010101010101C0
+:1070C00001010101010101010101010101010101B0
+:1070D00001010101010101010101010101010101A0
+:1070E0000101010101010101010101010101010190
+:1070F000010101010101010201010101010101017F
+:10710000010101010101010101010101010101016F
+:10711000010101010101010101010101010101015F
+:10712000010101010101010101010101010101014F
+:10713000010101010101010101010101010101013F
+:10714000010101010101010101010101010101012F
+:10715000010101010101010101010101010101011F
+:10716000010101010101010101010101010101010F
+:1071700001010101010101010101010101010101FF
+:1071800001010101010101020201010102020202E9
+:1071900002020202020202020101010101020202D4
+:1071A00002020202020202010200000000000001CD
+:1071B00001010101010101010101010101010101BF
+:1071C00001010101010101010101010101010101AF
+:1071D000010101010101010101010101010101019F
+:1071E000010101010101010101010101010101018F
+:1071F000010101010101010201010101010101017E
+:10720000010101010101010101010101010101016E
+:10721000010101010101010101010101010101015E
+:10722000010101010101010101010101010101014E
+:10723000010101010101010101010101010101013E
+:10724000010101010101010101010101010101012E
+:10725000010101010101010101010101010101011E
+:10726000010101010101010101010101010101010E
+:1072700001010101010101010101010101010101FE
+:1072800001010101010101020201010102020202E8
+:1072900002020202020202020101010101020202D3
+:1072A00002020202020202010200000000010101CA
+:1072B00001010101010101010101010101010101BE
+:1072C00001010101010101010101010101010101AE
+:1072D000010101010101010101010101010101019E
+:1072E000010101010101010101010101010101018E
+:1072F000010101010101010201010101010101017D
+:10730000010101010101010101010101010101016D
+:10731000010101010101010101010101010101015D
+:10732000010101010101010101010101010101014D
+:10733000010101010101010101010101010101013D
+:10734000010101010101010101010101010101012D
+:10735000010101010101010101010101010101011D
+:10736000010101010101010101010101010101010D
+:1073700001010101010101010101010101010101FD
+:1073800001010101010102020201020202020202E4
+:1073900002020202020202020101010102020202D1
+:1073A00002020202020202010100000000010101CA
+:1073B00001010101010101010101010101010101BD
+:1073C00001010101010101010101010101010101AD
+:1073D000010101010101010101010101010101019D
+:1073E000010101010101010101010101010101018D
+:1073F000010101010101010201010101010101017C
+:10740000010101010101010101010101010101016C
+:10741000010101010101010101010101010101015C
+:10742000010101010101010101010101010101014C
+:10743000010101010101010101010101010101013C
+:10744000010101010101010101010101010101012C
+:10745000010101010101010101010101010101011C
+:10746000010101010101010101010101010101010C
+:1074700001010101010101020101010101010101FB
+:1074800001010101010202020201020202020202E2
+:1074900002020202020202020101010102020202D0
+:1074A00002020202020202010100000101010101C7
+:1074B00001010101010101010101010101010101BC
+:1074C00001010101010101010101010101010101AC
+:1074D000010101010101010101010101010101019C
+:1074E000010101010101010101010101010101018C
+:1074F000010101010101010201010101010101017B
+:10750000010101010101010101010101010101016B
+:10751000010101010101010101010101010101015B
+:10752000010101010101010101010101010101014B
+:10753000010101010101010101010101010101013B
+:10754000010101010101010101010101010101012B
+:10755000010101010101010101010101010101011B
+:10756000010101010101010101010101010101010B
+:1075700001010101010101020101010101010102F9
+:1075800002020202020202020202020202020202DB
+:1075900002020202020202020101020202020202CD
+:1075A00002020202020202010100000101010101C6
+:1075B00001010101010101010101010101010101BB
+:1075C00001010101010101010101010101010101AB
+:1075D000010101010101010101010101010101019B
+:1075E000010101010101010101010101010101018B
+:1075F000010101010101010101010101010101017B
+:10760000010101010101010101010101010101016A
+:10761000010101010101010101010101010101015A
+:10762000010101010101010101010101010101014A
+:10763000010101010101010101010101010101013A
+:10764000010101010101010101010101010101012A
+:10765000010101010101010101010101010101011A
+:107660000101010101010201010101010101010109
+:1076700001010101010101020201010102020202F4
+:1076800002020202020202020202020202020202DA
+:1076900002020202020202020101020202020202CC
+:1076A00002020202020202010100010101010101C4
+:1076B00001010101010101010101010101010101BA
+:1076C00001010101010101010101010101010101AA
+:1076D000010101010101010101010101010101019A
+:1076E000010101010101010101010101010101018A
+:1076F000010101010101010101010101010101017A
+:107700000101010101010101010101010101010169
+:107710000101010101010101010101010101010159
+:107720000101010101010101010101010101010149
+:107730000101010101010101010101010101010139
+:107740000101010101010101010101010101010129
+:107750000101010101010101010101010101010119
+:107760000101010101020201010101010101010107
+:1077700001010101010101020201010202020202F2
+:1077800002020202020202020202020202020202D9
+:1077900002020202020202020201020202020202CA
+:1077A00002020202020202010101010101010101C2
+:1077B00001010101010101010101010101010101B9
+:1077C00001010101010101010101010101010101A9
+:1077D0000101010101010101010101010101010199
+:1077E0000101010101010101010101010101010189
+:1077F0000101010101010101010101010101010179
+:107800000101010101010101010101010101010168
+:107810000101010101010101010101010101010158
+:107820000101010101010101010101010101010148
+:107830000101010101010101010101010101010138
+:107840000101010101010101010101010101010128
+:107850000101010101010101010101010101010118
+:107860000101020102020201010101010101010104
+:1078700001010101010101020202020202020202EF
+:1078800002020202020202020202020202020202D8
+:1078900002020202020202020202020202020202C8
+:1078A00002020202020202010101010101010101C1
+:1078B00001010101010101010101010101010101B8
+:1078C00001010101010101010101010101010101A8
+:1078D0000101010101010101010101010101010198
+:1078E0000101010101010101010101010101010188
+:1078F0000101010101010101010101010101010178
+:107900000101010101010101010101010101010167
+:107910000101010101010101010101010101010157
+:107920000101010101010101010101010101010147
+:107930000101010101010101010101010101010137
+:107940000101010101010101010101010101010127
+:107950000101010101010102010101010202010213
+:107960000202020202020201010101010101010100
+:1079700001010101010102020202020202020202ED
+:1079800002020202020202020202020202020202D7
+:1079900002020202020202020202020202020202C7
+:1079A00002020202020202010101010101010101C0
+:1079B00001010101010101010101010101010101B7
+:1079C00001010101010101010101010101010101A7
+:1079D0000101010101010101010101010101010197
+:1079E0000101010101010101010101010101010187
+:1079F0000101010101010101010101010101010177
+:107A00000101010101010101010101010101010166
+:107A10000101010101010101010101010101010156
+:107A20000101010101010101010101010101010146
+:107A30000101010101010201010101010101010135
+:107A40000101010101010201010101010101010125
+:107A5000010101010101020202010202020202020D
+:107A600002020202020202010101010101010101FF
+:107A700001010101010202020202020202020202EB
+:107A800002020202020202020202020202020202D6
+:107A900002020202020202020202020202020202C6
+:107AA00002020202020202010101010101010101BF
+:107AB00001010101010101010101010101010101B6
+:107AC00001010101010101010101010101010101A6
+:107AD0000101010101010101010101010101010196
+:107AE0000101010101010101010101010101010186
+:107AF0000101010101010101010101010101010176
+:107B00000101010101010101010101010101010165
+:107B10000101010101010101010101010101010155
+:107B20000101010101010101010101010101010145
+:107B30000101010101020201010101010101010133
+:107B40000101010101020201010101010101010123
+:107B5000010101010102020202020202020202020A
+:107B600002020202020202010101010101010101FE
+:107B700002020202020202020202020202020202E5
+:107B800002020202020202020202020202020202D5
+:107B900002020202020202020202020202020202C5
+:107BA00002020202020202010101010101010101BE
+:107BB00001010101010101010101010101010101B5
+:107BC00001010101010101010101010101010101A5
+:107BD0000101010101010101010101010101010195
+:107BE0000101010101010101010101010101010185
+:107BF0000101010101010101010101010101010175
+:107C00000101010101010101010101010101010164
+:107C10000101010101010201010101010101010153
+:107C20000101010101010202010101010101010142
+:107C3000010102020202020101010101010101012F
+:107C4000020202020202020101010101010101011D
+:107C50000102020202020202020202020202020205
+:107C600002020202020202010101010102020202F9
+:107C700002020202020202020202020202020202E4
+:107C800002020202020202020202020202020202D4
+:107C900002020202020202020202020202020202C4
+:107CA00002020202020202010101010101010101BD
+:107CB00001010101010101010101010101010101B4
+:107CC00001010101010101010101010101010101A4
+:107CD0000101010101010101010101010101010194
+:107CE0000101010101010101010101010101010184
+:107CF0000101010101010101010101010101010174
+:107D00000101010101010101010101010101010163
+:107D10000101010101020201010101010101010151
+:107D20000101010101020202020102020202020239
+:107D30000202020202020201020102020202020225
+:107D40000202020202020201010101010202020218
+:107D50000202020202020202020202020202020203
+:107D600002020202020202010202020202020202F4
+:107D700002020202020202020202020202020202E3
+:107D800002020202020202020202020202020202D3
+:107D900002020202020202020202020202020202C3
+:107DA00002020202020202010101010101010101BC
+:107DB00001010101010101010101010101010101B3
+:107DC00001010101010101010101010101010101A3
+:107DD0000101010101010101010101010101010193
+:107DE0000101010101010101010101010101010183
+:107DF0000101010101010101010101010101010173
+:107E00000101010101010102010101010101010161
+:107E1000020202020202020201010101010101014A
+:107E20000202020202020202020202020202020232
+:107E30000202020202020201020202020202020223
+:107E40000202020202020202020202020202020212
+:107E50000202020202020202020202020202020202
+:107E600002020202020202010202020202020202F3
+:107E700002020202020202020202020202020202E2
+:107E800002020202020202020202020202020202D2
+:107E900002020202020202020202020202020202C2
+:107EA00002020202020202010101010101010101BB
+:107EB00001010101010101010101010101010101B2
+:107EC00001010101010101010101010101010101A2
+:107ED0000101010101010101010101010101010192
+:107EE0000101010101010101010101010101010182
+:107EF0000101010101010101010101010101010172
+:107F0000010101010101010202010202010202025A
+:107F10000202020202020202020102020202020242
+:107F20000202020202020202020202020202020231
+:107F30000202020202020202020202020202020221
+:107F40000202020202020202020202020202020211
+:107F50000202020202020202020202020202020201
+:107F600002020202020202020202020202020202F1
+:107F700002020202020202020202020202020202E1
+:107F800002020202020202020202020202020202D1
+:107F900002020202020202020202020202020202C1
+:107FA00002020202020202010101010101010101BA
+:107FB00001010101010101010101010101010101B1
+:107FC00001010101010101010101010101010101A1
+:107FD0000101010101010101010101010101010191
+:107FE0000101010101010101010101010101010181
+:107FF0000101010101010101010101010101010171
+:108000000101010101010202020102020102020258
+:108010000202020202020202020202020202020240
+:108020000202020202020202020202020202020230
+:108030000202020202020202020202020202020220
+:108040000202020202020202020202020202020210
+:108050000202020202020202020202020202020200
+:1080600002020202020202020202020202020202F0
+:1080700002020202020202020202020202020202E0
+:1080800002020202020202020202020202020202D0
+:1080900002020202020202020202020202020202C0
+:1080A00002020202020202010101010101010101B9
+:1080B00001010101010101010101010101010101B0
+:1080C00001010101010101010101010101010101A0
+:1080D0000101010101010101010101010101010190
+:1080E0000101010101010101010101010101010180
+:1080F000010101010101020101010101010101016F
+:108100000101010101020202020102020102020256
+:10811000020202020202020202020202020202023F
+:10812000020202020202020202020202020202022F
+:10813000020202020202020202020202020202021F
+:10814000020202020202020202020202020202020F
+:1081500002020202020202020202020202020202FF
+:1081600002020202020202020202020202020202EF
+:1081700002020202020202020202020202020202DF
+:1081800002020202020202020202020202020202CF
+:1081900002020202020202020202020202020202BF
+:1081A00002020202020202010101010101010101B8
+:1081B00001010101010101010101010101010101AF
+:1081C000010101010101010101010101010101019F
+:1081D000010101010101010101010101010101018F
+:1081E000010101010101010101010101010101017F
+:1081F000010101010102020101010101010102026B
+:10820000020102020202020202020202020202024F
+:10821000020202020202020202020202020202023E
+:10822000020202020202020202020202020202022E
+:10823000020202020202020202020202020202021E
+:10824000020202020202020202020202020202020E
+:1082500002020202020202020202020202020202FE
+:1082600002020202020202020202020202020202EE
+:1082700002020202020202020202020202020202DE
+:1082800002020202020202020202020202020202CE
+:1082900002020202020202020202020202020202BE
+:1082A00002020202020202010101010101010101B7
+:1082B00001010101010101010101010101010101AE
+:1082C000010101010101010101010101010101019E
+:1082D000010101010101010101010101010101018E
+:1082E000010101010101010202010101020101017B
+:1082F000020202020202020102020202020202025F
+:10830000020202020202020202020202020202024D
+:10831000020202020202020202020202020202023D
+:10832000020202020202020202020202020202022D
+:10833000020202020202020202020202020202021D
+:10834000020202020202020202020202020202020D
+:1083500002020202020202020202020202020202FD
+:1083600002020202020202020202020202020202ED
+:1083700002020202020202020202020202020202DD
+:1083800002020202020202020202020202020202CD
+:1083900002020202020202020202020202020202BD
+:1083A00002020202020202010101010101010101B6
+:1083B00001010101010101010101010101010101AD
+:1083C000010101010101010101010101010101019D
+:1083D000010101010101020101010101010101018C
+:1083E0000101010101010202020202020202020273
+:1083F000020202020202020102020202020202025E
+:10840000020202020202020202020202020202024C
+:10841000020202020202020202020202020202023C
+:10842000020202020202020202020202020202022C
+:10843000020202020202020202020202020202021C
+:10844000020202020202020202020202020202020C
+:1084500002020202020202020202020202020202FC
+:1084600002020202020202020202020202020202EC
+:1084700002020202020202020202020202020202DC
+:1084800002020202020202020202020202020202CC
+:1084900002020202020202020202020202020202BC
+:1084A00002020202020202010101010101010101B5
+:1084B00001010101010101010101010101010101AC
+:1084C000010101010101010201010101010101019B
+:1084D0000101010101020202010101010101010189
+:1084E0000101010101020202020202020202020271
+:1084F000020202020202020102020202020202025D
+:10850000020202020202020202020202020202024B
+:10851000020202020202020202020202020202023B
+:10852000020202020202020202020202020202022B
+:10853000020202020202020202020202020202021B
+:10854000020202020202020202020202020202020B
+:1085500002020202020202020202020202020202FB
+:1085600002020202020202020202020202020202EB
+:1085700002020202020202020202020202020202DB
+:1085800002020202020202020202020202020202CB
+:1085900002020202020202020202020202020202BB
+:1085A00002020202020202010101010101010101B4
+:1085B00001010101010101010101010101010101AB
+:1085C0000101010101010102020101010201010198
+:1085D000020202020102020202010202020202027D
+:1085E000020202020202020202020202020202026B
+:1085F000020202020202020202020202020202025B
+:10860000020202020202020202020202020202024A
+:10861000020202020202020202020202020202023A
+:10862000020202020202020202020202020202022A
+:10863000020202020202020202020202020202021A
+:10864000020202020202020202020202020202020A
+:1086500002020202020202020202020202020202FA
+:1086600002020202020202020202020202020202EA
+:1086700002020202020202020202020202020202DA
+:1086800002020202020202020202020202020202CA
+:1086900002020202020202020202020202020202BA
+:1086A00002020202020202010101010101010101B3
+:1086B00001010101010101010101010101010101AA
+:1086C0000101010101010102020202020202020291
+:1086D000020202020202020202020202020202027A
+:1086E000020202020202020202020202020202026A
+:1086F000020202020202020202020202020202025A
+:108700000202020202020202020202020202020249
+:108710000202020202020202020202020202020239
+:108720000202020202020202020202020202020229
+:108730000202020202020202020202020202020219
+:108740000202020202020202020202020202020209
+:1087500002020202020202020202020202020202F9
+:1087600002020202020202020202020202020202E9
+:1087700002020202020202020202020202020202D9
+:1087800002020202020202020202020202020202C9
+:1087900002020202020202020202020202020202B9
+:1087A00002020202020202010101010101010101B2
+:1087B00001010101010101010101010101010101A9
+:1087C0000101010101010102020202020202020290
+:1087D0000202020202020202020202020202020279
+:1087E0000202020202020202020202020202020269
+:1087F0000202020202020202020202020202020259
+:108800000202020202020202020202020202020248
+:108810000202020202020202020202020202020238
+:108820000202020202020202020202020202020228
+:108830000202020202020202020202020202020218
+:108840000202020202020202020202020202020208
+:1088500002020202020202020202020202020202F8
+:1088600002020202020202020202020202020202E8
+:1088700002020202020202020202020202020202D8
+:1088800002020202020202020202020202020202C8
+:1088900002020202020202020202020202020202B8
+:1088A00002020202020202010101010101010101B1
+:1088B00001010101010101010101010101010101A8
+:1088C000010101010101010202020202020202028F
+:1088D0000202020202020202020202020202020278
+:1088E0000202020202020202020202020202020268
+:1088F0000202020202020202020202020202020258
+:108900000202020202020202020202020202020247
+:108910000202020202020202020202020202020237
+:108920000202020202020202020202020202020227
+:108930000202020202020202020202020202020217
+:108940000202020202020202020202020202020207
+:1089500002020202020202020202020202020202F7
+:1089600002020202020202020202020202020202E7
+:1089700002020202020202020202020202020202D7
+:1089800002020202020202020202020202020202C7
+:1089900002020202020202020202020202020202B7
+:1089A00002020202020202010101010101010101B0
+:1089B00001010101010101010101010101010101A7
+:1089C000010101010101020202020202020202028D
+:1089D0000202020202020202020202020202020277
+:1089E0000202020202020202020202020202020267
+:1089F0000202020202020202020202020202020257
+:108A00000202020202020202020202020202020246
+:108A10000202020202020202020202020202020236
+:108A20000202020202020202020202020202020226
+:108A30000202020202020202020202020202020216
+:108A40000202020202020202020202020202020206
+:108A500002020202020202020202020202020202F6
+:108A600002020202020202020202020202020202E6
+:108A700002020202020202020202020202020202D6
+:108A800002020202020202020202020202020202C6
+:108A900002020202020202020202020202020202B6
+:108AA00002020202020202010101010101010101AF
+:108AB00001010101010101020201010102010101A3
+:108AC000010101010102020202020202020202028B
+:108AD0000202020202020202020202020202020276
+:108AE0000202020202020202020202020202020266
+:108AF0000202020202020202020202020202020256
+:108B00000202020202020202020202020202020245
+:108B10000202020202020202020202020202020235
+:108B20000202020202020202020202020202020225
+:108B30000202020202020202020202020202020215
+:108B40000202020202020202020202020202020205
+:108B500002020202020202020202020202020202F5
+:108B600002020202020202020202020202020202E5
+:108B700002020202020202020202020202020202D5
+:108B800002020202020202020202020202020202C5
+:108B900002020202020202020202020202020202B5
+:108BA00002020202020202010101010101010101AE
+:108BB000010101010101010202020202020202029C
+:108BC0000202020202020202020202020202020285
+:108BD0000202020202020202020202020202020275
+:108BE0000202020202020202020202020202020265
+:108BF0000202020202020202020202020202020255
+:108C00000202020202020202020202020202020244
+:108C10000202020202020202020202020202020234
+:108C20000202020202020202020202020202020224
+:108C30000202020202020202020202020202020214
+:108C40000202020202020202020202020202020204
+:108C500002020202020202020202020202020202F4
+:108C600002020202020202020202020202020202E4
+:108C700002020202020202020202020202020202D4
+:108C800002020202020202020202020202020202C4
+:108C900002020202020202020202020202020202B4
+:108CA00002020202020202010101010101010101AD
+:108CB000010101010101010202020202020202029B
+:108CC0000202020202020202020202020202020284
+:108CD0000202020202020202020202020202020274
+:108CE0000202020202020202020202020202020264
+:108CF0000202020202020202020202020202020254
+:108D00000202020202020202020202020202020243
+:108D10000202020202020202020202020202020233
+:108D20000202020202020202020202020202020223
+:108D30000202020202020202020202020202020213
+:108D40000202020202020202020202020202020203
+:108D500002020202020202020202020202020202F3
+:108D600002020202020202020202020202020202E3
+:108D700002020202020202020202020202020202D3
+:108D800002020202020202020202020202020202C3
+:108D900002020202020202020202020202020202B3
+:108DA00002020202020202010101010101010101AC
+:108DB000010101010101010202020202020202029A
+:108DC0000202020202020202020202020202020283
+:108DD0000202020202020202020202020202020273
+:108DE0000202020202020202020202020202020263
+:108DF0000202020202020202020202020202020253
+:108E00000202020202020202020202020202020242
+:108E10000202020202020202020202020202020232
+:108E20000202020202020202020202020202020222
+:108E30000202020202020202020202020202020212
+:108E40000202020202020202020202020202020202
+:108E500002020202020202020202020202020202F2
+:108E600002020202020202020202020202020202E2
+:108E700002020202020202020202020202020202D2
+:108E800002020202020202020202020202020202C2
+:108E900002020202020202020202020202020202B2
+:108EA00002020202020202010101010101010101AB
+:108EB00001010101010101000000000000000000AB
+:108EC0000000000000000002020202020202020290
+:108ED0000202020202020200000000000000000084
+:108EE0000000000000000002020202020202020270
+:108EF0000202020202020200000000000000000064
+:108F0000000000000000000202020202020202024F
+:108F10000202020202020202020202020202020231
+:108F20000202020202020202020202020202020221
+:108F30000202020202020200000000000000000023
+:108F4000000000000000000202020202020202020F
+:108F500002020202020202020202020202020202F1
+:108F600002020202020202020202020202020202E1
+:108F700002020202020202020202020202020202D1
+:108F800002020202020202020202020202020202C1
+:108F900002020202020202020202020202020202B1
+:108FA00002020202020202010101010101010101AA
+:108FB00001010101010101010101010101010101A1
+:108FC000010101010101010000000000000000009A
+:108FD0000000000000000000000000000000000091
+:108FE000000000000000000202020202020202026F
+:108FF0000202020202020200000000000000000063
+:109000000000000000000000000000000000000060
+:10901000000000000000000202020202020202023E
+:109020000202020202020202020202020202020220
+:109030000202020202020200000000000000000022
+:10904000000000000000000202020202020202020E
+:109050000202020202020200000000000000000002
+:109060000000000000000000000000000000000000
+:1090700000000000000000000000000000000000F0
+:1090800000000000000000020202020202020202CE
+:1090900002020202020202020000000000000000C0
+:1090A00000000000000000010101010101010101B7
+:1090B00001010101010101010101010101010101A0
+:1090C0000101010101010101010101010101010190
+:1090D0000101010101010101010101010101010180
+:1090E0000101010101010101010101010101010170
+:1090F0000101010101010101010101010101010160
+:10910000010101010101010101010101010101014F
+:10911000010101010101010101010101010101013F
+:10912000010101010101010101010101010101012F
+:10913000010101010101010101010101010101011F
+:10914000010101010101010101010101010101010F
+:1091500001010101010101010101010101010101FF
+:1091600001010101010101010101010101010101EF
+:1091700001010101010101010101010101010101DF
+:1091800001010101010101010101010101010101CF
+:1091900001010101010101020000000000000000C6
+:1091A00000000000000000010101010101010101B6
+:1091B0000101010101010102020202020202020296
+:1091C0000202020202020201010101010101010188
+:1091D000010101010101010101010101010101017F
+:1091E000010101010101010101010101010101016F
+:1091F000010101010101010101010101010101015F
+:10920000010101010101010101010101010101014E
+:10921000010101010101010101010101010101013E
+:10922000010101010101010101010101010101012E
+:10923000010101010101010101010101010101011E
+:10924000010101010101010101010101010101010E
+:1092500001010101010101010101010101010101FE
+:1092600001010101010101010101010101010101EE
+:1092700001010101010101010101010101010101DE
+:1092800001010101010101010101010101010101CE
+:1092900001010101010101020000000000000000C5
+:1092A00000000000000000010101010101010101B5
+:1092B00001010101010101000000000000000000A7
+:1092C0000000000000000001010101010101010195
+:1092D000010101010101010101010101010101017E
+:1092E000010101010101010101010101010101016E
+:1092F000010101010101010101010101010101015E
+:10930000010101010101010101010101010101014D
+:10931000010101010101010101010101010101013D
+:10932000010101010101010101010101010101012D
+:10933000010101010101010101010101010101011D
+:10934000010101010101010101010101010101010D
+:1093500001010101010101010101010101010101FD
+:1093600001010101010101000000000000000000F6
+:1093700000000000000000010101010101010101E4
+:1093800001010101010101010101010101010101CD
+:1093900001010101010101020000000000000000C4
+:1093A00000000000000000010101010101010101B4
+:1093B00001010101010101000000000000000000A6
+:1093C0000000000000000001010101010101010194
+:1093D000010101010101010101010101010101017D
+:1093E000010101010101010101010101010101016D
+:1093F000010101010101010101010101010101015D
+:10940000010101010101010101010101010101014C
+:10941000010101010101010101010101010101013C
+:10942000010101010101010101010101010101012C
+:10943000010101010101010101010101010101011C
+:10944000010101010101010101010101010101010C
+:1094500001010101010101010101010101010101FC
+:1094600001010101010101000000000000000000F5
+:1094700000000000000000000000000000000000EC
+:1094800000000000000000000000000000000000DC
+:1094900000000000000000020000000000000000CA
+:1094A00000000000000000010101010101010101B3
+:1094B00001010101010101000000000000000000A5
+:1094C0000000000000000001010101010101010193
+:1094D0000101010101010100000000000000000085
+:1094E0000000000000000001010101010101010173
+:1094F0000101010101010100000000000000000065
+:109500000000000000000001010101010101010152
+:10951000010101010101010101010101010101013B
+:10952000010101010101010101010101010101012B
+:109530000101010101010100000000000000000024
+:10954000000000000000000000000000000000001B
+:10955000000000000000000000000000000000000B
+:1095600000000000000000000000000000000000FB
+:1095700000000000000000000000000000000000EB
+:1095800000000000000000000000000000000000DB
+:1095900000000000000000020000000000000000C9
+:1095A00000000000000000010101010101010101B2
+:1095B00001010101010101000000000000000000A4
+:1095C0000000000000000001010101010101010192
+:1095D0000101010101010100000000000000000084
+:1095E0000000000000000001010101010101010172
+:1095F0000101010101010100000000000000000064
+:109600000000000000000001010101010101010151
+:10961000010101010101010101010101010101013A
+:10962000010101010101010101010101010101012A
+:109630000101010101010100000000000000000023
+:10964000000000000000000000000000000000001A
+:10965000000000000000000000000000000000000A
+:1096600000000000000000000000000000000000FA
+:1096700000000000000000000000000000000000EA
+:1096800000000000000000000000000000000000DA
+:1096900000000000000000020000000000000000C8
+:1096A00000000000000000000000000000000000BA
+:1096B00000000000000000000000000000000000AA
+:1096C000000000000000000000000000000000009A
+:1096D000000000000000000000000000000000008A
+:1096E000000000000000000000000000000000007A
+:1096F000000000000000000000000000000000006A
+:109700000000000000000000000000000000000059
+:109710000000000000000000000000000000000049
+:109720000000000000000000000000000000000039
+:109730000000000000000000000000000000000029
+:109740000000000000000000000000000000000019
+:109750000000000000000000000000000000000009
+:1097600000000000000000000000000000000000F9
+:1097700000000000000000000000000000000000E9
+:1097800000000000000000000000000000000000D9
+:1097900000000000000000000000000000000000C9
+:1097A000000000000000004C00000000000000006D
+:1097B00000000000000000000000000000000000A9
+:1097C0000000000000000000020000000000000097
+:1097D0000000020000000000000002020000000083
+:1097E0000000000000000000000000000000000079
+:1097F0000000000000000000000000000000000069
+:109800000000000000000000000000000000000058
+:109810000000000000000000000000000000000246
+:109820000000000000000000000000000000000038
+:109830000002000000000000000000000000000224
+:109840000002000000000000000200000000000014
+:109850000000000000000000000200000000000006
+:1098600000020000000000000000000000000002F4
+:1098700000020000000000000200000000000000E4
+:1098800000020002000200000002000000000000D0
+:1098900000000200000000020000020202020000BC
+:1098A00002000200000002020000020202020202A4
+:1098B000000200020202000002020000000000009C
+:1098C0000000020000000002020002020202000189
+:1098D000000202000002000000000202000000007E
+:1098E000000002000000020200000202000200006C
+:1098F0000000000000000000000002020000000064
+:109900000000000000000000000000000000000057
+:10991000000000020202000000000000000000023F
+:109920000000020000000000000000000002000033
+:109930000002020000000000000002020002020219
+:10994000000202000000000000020002000202000B
+:1099500002000200000000000002020200020000FB
+:1099600002020200000000000000020200020202E7
+:1099700002020200000002020200020200020000D5
+:1099800002020202000202020002020202020202BB
+:1099900000020202020200020202020202020000AF
+:1099A0000202020202020202020202020202020297
+:1099B0000202020202020202020202020202000289
+:1099C0000000020000000002020002020202000188
+:1099D0000002020000020000000002020000020279
+:1099E0000000020202020202020002020002000063
+:1099F0000000000000000000000002020000000063
+:109A00000000000000000000000000000200000054
+:109A1000020000020202000000000000020000023A
+:109A2000000202020002000000000000000200002C
+:109A30000002020202000000000002020002020214
+:109A40000002020202000000000200020002020204
+:109A500002020200020000000002020200020002F4
+:109A600002020202020200000002020200020202DE
+:109A700002020202020202020202020200020002CA
+:109A800002020202020202020202020202020202B6
+:109A900002020202020202020202020202020100A9
+:109AA0000202020202020202020202020202020296
+:109AB0000202020202020202020202020202000288
+:109AC0000000020000000002020002020202020284
+:109AD0000002020000020000000002020000020278
+:109AE0000000020202020202020002020002000062
+:109AF000020002000000000000000202020000005C
+:109B00000000000000000000000000000200000251
+:109B10000200000202020000020000000200000237
+:109B20000002020200020000000000000202000029
+:109B30000002020202000000000002020002020213
+:109B40000202020202000000000200020002020201
+:109B500002020200020000000002020200020002F3
+:109B600002020202020202000002020200020202DB
+:109B700002020202020202020202020202020002C7
+:109B800002020202020202020202020202020102B6
+:109B900002020202020202020202020202020100A8
+:109BA0000202020202020202020202020202020295
+:109BB0000202020202020202020202020202000287
+:109BC0000000020000000002020002020202020283
+:109BD0000102020000020000000002020200020274
+:109BE000000002020202020202000202000200025F
+:109BF000020002000000000000000202020000005B
+:109C00000000000000000000000000000200000250
+:109C10000200000202020202020000000200000232
+:109C20000002020200020000020000000202000026
+:109C30000002020202020000000002020002020210
+:109C400002020202020200000202000200020202FC
+:109C500002020202020200000002020200020002EE
+:109C600002020202020202000002020200020202DA
+:109C700002020202020202020202020202020002C6
+:109C800002020202020202020202020202020102B5
+:109C900002020202020202020202020202020100A7
+:109CA0000202020202020202020202020202020294
+:109CB0000202020202020202020202020202000286
+:109CC0000000020000000002020002020202020282
+:109CD0000102020000020000000002020200020273
+:109CE000000002020202020202000202000200025E
+:109CF000020002000000000000000202020000005A
+:109D0000000200020000000000000000020000024B
+:109D1000020000020202020202020000020000022F
+:109D20000002020200020202020000000202000021
+:109D3000020202020202000000000202000202020D
+:109D400002020202020200000202000202020202F9
+:109D500002020202020200000002020200020002ED
+:109D600002020202020202020002020202020202D5
+:109D700002020202020202020202020202020202C3
+:109D800002020202020202020202020202020102B4
+:109D900002020202020202020202020202020100A6
+:109DA0000202020202020202020202020202020293
+:109DB0000202020202020202020202020202000285
+:109DC0000000020000000002020002020202020281
+:109DD0000202020000020000000002020200020271
+:109DE000000002020202020202000202000200025D
+:109DF0000202020202000000000002020200000053
+:109E00000002020200000000000000000200000248
+:109E1000020000020202020202020000020000022E
+:109E20000002020200020202020000000202000020
+:109E3000020202020202000000000202000202020C
+:109E400002020202020200000202000202020102F9
+:109E500002020202020200000202020200020002EA
+:109E600002020202020202020202020202020102D3
+:109E700002020202020202020202020202020202C2
+:109E800002020202020202020202020202020102B3
+:109E900002020202020202020202020202020100A5
+:109EA0000202020202020202020202020202010293
+:109EB0000202020202020202020202020202000284
+:109EC0000000020000000002020002020202020280
+:109ED0000202020000020000000002020200020270
+:109EE000000002020202020202000202000200025C
+:109EF0000202020202000200000002020200000050
+:109F00000002020202020000000000000200000243
+:109F1000020000020202020202020000020000022D
+:109F2000020202020002020202000200020200001B
+:109F30000202020202020202000002020202010206
+:109F400002020202020202020202000202020102F4
+:109F500002020202020202020202020202020002E3
+:109F600002020202020202020202020202020102D2
+:109F700002020202020202020202020202020102C2
+:109F800002020202020202020202020202020102B2
+:109F900002020202020202020202020202010100A5
+:109FA0000202020202020202020202020202010292
+:109FB0000202020202020202020202020202000283
+:109FC000000002000000000202000202020202027F
+:109FD000020202000002000000000202020002026F
+:109FE000000002020202020202000202000200025B
+:109FF000020202020202020002000202020000004B
+:10A00000020202020202000000000000020200023E
+:10A010000200020202020202020202020202000224
+:10A020000202020200020202020202000202000018
+:10A030000202020202020202020002020202010203
+:10A0400002020202020202020202000202020102F3
+:10A0500002020202020202020202020202020002E2
+:10A0600002020202020202020202020202020102D1
+:10A0700002020202020202020202020202020102C1
+:10A0800002020202020202020202020202020102B1
+:10A0900002020202020202020202020202010100A4
+:10A0A0000202020202020202020202020202010291
+:10A0B0000202020202020202020202020202000282
+:10A0C000000002000000000202000202020202027E
+:10A0D000020202010002000000000202020002026D
+:10A0E0000200020202020202020002020002000258
+:10A0F0000202020202020202020002020200000048
+:10A10000020202020202000002000000020200023B
+:10A110000202020202020202020202020202000221
+:10A120000202020200020202020202020202000015
+:10A130000202020202020202020002020202010202
+:10A1400002020202020202020202020202020102F0
+:10A1500002020202020202020202020202020002E1
+:10A1600002020202020202020202020202020102D0
+:10A1700002020202020202020202020202020102C0
+:10A1800002020202020202020202020202010102B1
+:10A1900002020202020202020202020201010100A4
+:10A1A0000202020202020202020202020202010290
+:10A1B0000202020202020202020202020202000281
+:10A1C000000002000000000202000202020202027D
+:10A1D000020202010002000000000202020002026C
+:10A1E0000200020202020202020002020002000257
+:10A1F0000202020202020202020202020200000045
+:10A200000202020202020202020000000202000236
+:10A210000202020202020202020202020202000220
+:10A220000202020202020202020202020202000012
+:10A2300002020202020202020202020202020102FF
+:10A2400002020202020202020202020202020102EF
+:10A2500002020202020202020202020202020002E0
+:10A2600002020202020202020202020202020102CF
+:10A2700002020202020202020202020202010102C0
+:10A2800002020202020202020202020202010102B0
+:10A2900002020202020202020202020201010100A3
+:10A2A0000202020202020202020202020201010290
+:10A2B0000202020202020202020202020201000281
+:10A2C000000002000000000202000202020202027C
+:10A2D0000202020201020000000002020200020269
+:10A2E0000200020202020202020002020002000256
+:10A2F0000202020202020202020202020200000044
+:10A300000202020202020202020000000202000235
+:10A31000020202020202020202020202020200021F
+:10A320000202020202020202020202020202000011
+:10A3300002020202020202020202020202020102FE
+:10A3400002020202020202020202020202010102EF
+:10A3500002020202020202020202020202010102DF
+:10A3600002020202020202020202020202010102CF
+:10A3700002020202020202020202020202010102BF
+:10A3800002020202020202020202020201010102B0
+:10A3900002020202020202020202020101010100A3
+:10A3A000020202020202020202020202020101028F
+:10A3B0000202020202020202020202020201000280
+:10A3C000000002000000000202000202020202027B
+:10A3D0000202020201020000000002020200010269
+:10A3E0000200020202020202020002020002000255
+:10A3F0000202020202020202020202020200000043
+:10A400000202020202020202020002000202000232
+:10A41000020202020202020202020202020200021E
+:10A42000020202020202020202020202020100020F
+:10A4300002020202020202020202020202010102FE
+:10A4400002020202020202020202020202010102EE
+:10A4500002020202020202020202020202010102DE
+:10A4600002020202020202020202020202010102CE
+:10A4700002020202020202020202020202010102BE
+:10A4800002020202020202020202020201010102AF
+:10A4900002020202020202020201020101010100A3
+:10A4A000020202020202020202020202010101028F
+:10A4B0000202020202020202020202020101000280
+:10A4C000000002000000000202000202020202027A
+:10A4D0000202020202020000000002020200010267
+:10A4E0000200020202020202020002020202000252
+:10A4F0000202020202020202020202020202000040
+:10A50000020202020202020202020200020200022F
+:10A51000020202020202020202020202020200021D
+:10A52000020202020202020202020202020101020D
+:10A5300002020202020202020202020202010102FD
+:10A5400002020202020202020202020202010102ED
+:10A5500002020202020202020202020202010102DD
+:10A5600002020202020202020202020202010102CD
+:10A5700002020202020202020202020202010102BD
+:10A5800002020202020202020202020101010102AF
+:10A5900002020202020201010201010101010100A5
+:10A5A000020202020202020202020202010101028E
+:10A5B000020202020202020202020202010100027F
+:10A5C0000000020000000002020002020202020279
+:10A5D0000202020202020000000002020200010266
+:10A5E0000200020202020202020002020202000251
+:10A5F000020202020202020202020202020200003F
+:10A60000020202020202020202020200020200022E
+:10A61000020202020202020202020202020200021C
+:10A62000020202020202020202020202020101020C
+:10A6300002020202020202020202020202010102FC
+:10A6400002020202020202020202020202010102EC
+:10A6500002020202020202020202020202010102DC
+:10A6600002020202020202020202020202010102CC
+:10A6700002020202020202020202020201010102BD
+:10A6800002020202020202020201010101010102B0
+:10A6900002020202020201010201010101010100A4
+:10A6A000020202020202020202020201010101028E
+:10A6B000020202020202020202020201010100027F
+:10A6C0000200020000000002020002020202010277
+:10A6D0000202020202020000000002020200010265
+:10A6E0000200020202020202020002020202000250
+:10A6F000020202020202020202020202020200003E
+:10A70000020202020202020202020200020200022D
+:10A71000020202020202020202020202020200021B
+:10A72000020202020202020202020202020101020B
+:10A7300002020202020202020202020202010102FB
+:10A7400002020202020202020202020202010102EB
+:10A7500002020202020202020202020202010102DB
+:10A7600002020202020202020202020202010102CB
+:10A7700002020202020202020202020101010102BD
+:10A7800002020202020202020201010101010102AF
+:10A7900002020202020101010101010101010100A5
+:10A7A000020202020202020202020101010101028E
+:10A7B0000202020202020202020101010101000280
+:10A7C0000200020000000002020002020202010276
+:10A7D0000202020202020000000002020200010264
+:10A7E000020202020202020202000202020100024E
+:10A7F000020202020202020202020202020200003D
+:10A80000020202020202020202020202020200022A
+:10A81000020202020202020202020202010201021A
+:10A82000020202020202020202020202010101020B
+:10A8300002020202020202020202020202010102FA
+:10A8400002020202020202020202020101010102EC
+:10A8500002020202020202020202020102010102DB
+:10A8600002020202020202020202020101010102CC
+:10A8700002020202020202020202010101010102BD
+:10A8800002020202020202020201010101010102AE
+:10A8900002020202020101010101010101010100A4
+:10A8A000020202020202020202010101010101028E
+:10A8B0000202020202020202010101010101000280
+:10A8C0000200020000000002020002020202010275
+:10A8D0000202020202020000000002020200010263
+:10A8E000020202020202020202000202020100024D
+:10A8F000020202020202020202020202020201003B
+:10A900000202020202020202020202020202000229
+:10A91000020202020202020202020202010101021A
+:10A92000020202020202020202020202010101020A
+:10A9300002020202020202020202020102010102FA
+:10A9400002020202020202020201020101010102EC
+:10A9500002020202020202020201010101010102DD
+:10A9600002020202020202020202010101010102CC
+:10A9700002020202020202020101010101010102BE
+:10A9800002020202020201010101010101010102B0
+:10A9900002020202010101010101010101010100A4
+:10A9A000020202020202010202010101010101028E
+:10A9B0000202020202020101010101010101000281
+:10A9C0000200020000000002020002020202010274
+:10A9D0000202020202020100000002020200010261
+:10A9E000020202020202020202000202020100024C
+:10A9F000020202020202020202020202010201003B
+:10AA00000202020202020202020202020102000229
+:10AA10000202020202020202020202020101010219
+:10AA20000202020202020202020202020101010209
+:10AA300002020202020202020202010101010102FB
+:10AA400002020202020202020201020101010102EB
+:10AA500002020202020202020201010101010102DC
+:10AA600002020202020202020201010101010102CC
+:10AA700002020202020201010101010101010102BF
+:10AA800002020202020101010101010101010102B0
+:10AA900002020201010101010101010101010100A4
+:10AAA000020202020202010201010101010101028E
+:10AAB0000202020202010101010101010102000280
+:10AAC0000200020000000002020002020201010274
+:10AAD0000202020202020100000002020200010260
+:10AAE000020202020202020202000202020100024B
+:10AAF000020202020202020202020201010201003B
+:10AB00000202020202020202020202020101000229
+:10AB10000202020202020202020202020101010218
+:10AB20000202020202020202020202020101010208
+:10AB300002020202020202020202010101010102FA
+:10AB400002020202020202020201020101010102EA
+:10AB500002020202020202020201010101010102DB
+:10AB600002020202020202020201010101010102CB
+:10AB700002020202020201010101010101010102BE
+:10AB800002020201020101010101010101010101B1
+:10AB900001020201010101010101010101010100A4
+:10ABA000020202020201010101010101010101028F
+:10ABB0000202020101010101010101010102000281
+:10ABC0000200020000000002020002020201010273
+:10ABD000020202020202020000000202020001025E
+:10ABE000020202020202020202000202020100024A
+:10ABF000020202020202020202020101010201003B
+:10AC00000202020202020202020202020101010227
+:10AC10000202020202020202020202020101010217
+:10AC20000202020202020202020202020101010207
+:10AC300002020202020202020202010101010102F9
+:10AC400002020202020202020201020101010102E9
+:10AC500002020202020202020201010101010102DA
+:10AC600002020202020202020201010101010102CA
+:10AC700002020202020201010101010101010102BD
+:10AC800002020201020101010101010101010101B0
+:10AC900001020101010101010101010101010100A4
+:10ACA000020202020201010101010101010101028E
+:10ACB000020202010101010101010101020200027F
+:10ACC0000200020000000002020002020201010272
+:10ACD000020202020202020002020201010001025B
+:10ACE0000202020202020202020002010201010249
+:10ACF000020202020202020202020101010101003B
+:10AD00000202020202020202020202020101010226
+:10AD10000202020202020202020202020101010216
+:10AD20000202020202020202020202020101010206
+:10AD300002020202020202020202010101010102F8
+:10AD400002020202020202020101020101010102E9
+:10AD500002020202020202020201010101010102D9
+:10AD600002020202020201020201010101010102CA
+:10AD700002020202020101010101010101010102BD
+:10AD800002020201010101010101010101010101B0
+:10AD900001020101010101010101010101010100A3
+:10ADA000020202020201010101010101010101028D
+:10ADB0000201010101010101010101010202000280
+:10ADC0000200020000000002020002020101010272
+:10ADD0000202020202020202020201010100010259
+:10ADE0000202020202020202020001010201010249
+:10ADF000020202020202020202020101010101003A
+:10AE00000202020202020202020202020101010225
+:10AE10000202020202020202010102010101010218
+:10AE20000202020202020202010201010101010208
+:10AE300002020202020202020202010101010102F7
+:10AE400002020202020202020101010101010102E9
+:10AE500002020202020202020101010101010102D9
+:10AE600002020202020101010101010101010102CC
+:10AE700002020201010101010101010101010101BF
+:10AE800001010101010101010101010101010101B2
+:10AE900001010101010101010101010101010100A3
+:10AEA000020202020201010101010101010101028C
+:10AEB000020101010101010101010102020200027E
+:10AEC0000200020000000002020002020101010271
+:10AED0000202020202020202020201010100010258
+:10AEE0000202020202020202020001010201010248
+:10AEF0000202020202020202020201010101010237
+:10AF00000202020202020202020202020101010224
+:10AF1000020202020201010101010101010101021B
+:10AF2000020202020201010101010101010101020B
+:10AF300002020202020202020202010101010102F6
+:10AF400002020201010101010101010101010102ED
+:10AF500002020202010101010101010101010102DC
+:10AF600002020201010101010101010101010102CD
+:10AF700002010101010101010101010101010101C0
+:10AF800001010101010101010101010101010101B1
+:10AF900001010101010101010101010101010100A2
+:10AFA000020202020201010101010101010101028B
+:10AFB000020101010101010101020202020200027B
+:10AFC0000200020100000002020002010101010270
+:10AFD0000202020202020202020201010100010257
+:10AFE0000202020202020101010201010201010248
+:10AFF0000202020202020202020201010101010236
+:10B000000202020202020202020202020101010223
+:10B01000020202010101010101010101010101021C
+:10B02000020202010201010101010101010101020B
+:10B0300002020201010101010101010101010102FC
+:10B0400002010101010101010101010101010102EE
+:10B0500002020101010101010101010101010102DD
+:10B0600002010101010101010101010101010102CE
+:10B0700002010101010101010101010101010101BF
+:10B0800001010101010101010101010101010101B0
+:10B0900001010101010101010101010101010100A1
+:10B0A000020202020101010101010101010101028B
+:10B0B0000201010101010101020202020202000279
+:10B0C0000200020100000002020001010101010270
+:10B0D0000202020202020202020201010100010256
+:10B0E0000202020202020101010201010101010248
+:10B0F0000202020202020202020201010101010235
+:10B100000202020202020202020202020101010222
+:10B11000020202010101010101010101010101021B
+:10B12000020201010201010101010101010101020B
+:10B1300002010101010101010101010101010102FD
+:10B1400002010101010101010101010101010102ED
+:10B1500001010101010101010101010101010102DE
+:10B1600002010101010101010101010101010101CE
+:10B1700001010101010101010101010101010101BF
+:10B1800001010101010101010101010101010101AF
+:10B1900001010101010101010101010101010100A0
+:10B1A000020202010101010101010101010101028B
+:10B1B0000201010101010202020202020202000276
+:10B1C0000200020100000002010001010101010270
+:10B1D0000202020202010202020201010101010255
+:10B1E0000202020202010101010201010101010248
+:10B1F0000202020202020102010101010101010237
+:10B200000202020202020202020202020101010221
+:10B21000020202010101010101010101010101021A
+:10B22000020101010201010101010101010101020B
+:10B2300002010101010101010101010101010101FD
+:10B2400002010101010101010101010101010102EC
+:10B2500001010101010101010101010101010102DD
+:10B2600001010101010101010101010101010101CE
+:10B2700001010101010101010101010101010101BE
+:10B2800001010101010101010101010101010101AE
+:10B29000010101010101010101010101010101009F
+:10B2A000020201010101010101010101010101028B
+:10B2B0000201010101020202020202020200000276
+:10B2C000020002020000000101000101010101026F
+:10B2D0000202020202010202020201010101010254
+:10B2E0000202020101010101010201010101010249
+:10B2F0000202020202020101010101010101010237
+:10B300000202020202020202010201020101010222
+:10B31000020202010101010101010101010101011A
+:10B32000020101010201010101010101010101020A
+:10B3300002010101010101010101010101010101FC
+:10B3400001010101010101010101010101010101ED
+:10B3500001010101010101010101010101010102DC
+:10B3600001010101010101010101010101010101CD
+:10B3700001010101010101010101010101010101BD
+:10B3800001010101010101010101010101010101AD
+:10B39000010101010101010101010101010101009E
+:10B3A000020201010101010101010101010101028A
+:10B3B0000201010202020202020202020200000273
+:10B3C000020202020000000101000101010101026C
+:10B3D0000202010202010202020201010102010253
+:10B3E0000202010101010101010201010101010249
+:10B3F000020201010101010101010101010101023A
+:10B400000202020102010101010101010101010227
+:10B41000010202010101010101010101010101011A
+:10B420000201010102010101010101010101010209
+:10B4300002010101010101010101010101010101FB
+:10B4400001010101010101010101010101010101EC
+:10B4500001010101010101010101010101010101DC
+:10B4600001010101010101010101010101010101CC
+:10B4700001010101010101010101010101010101BC
+:10B4800001010101010101010101010101010101AC
+:10B49000010101010101010101010101010101009D
+:10B4A0000202010101010101010101010101010289
+:10B4B0000101010202020202020202020000000275
+:10B4C000020202020000010101000101010101026A
+:10B4D0000201010202010202020201010102010253
+:10B4E0000202010101010101010201010101010248
+:10B4F000010201010101010101010101010101023A
+:10B500000202020101010101010101010101010227
+:10B510000102020101010101010101010101010119
+:10B520000201010101010101010101010101010209
+:10B5300001010101010101010101010101010101FB
+:10B5400001010101010101010101010101010101EB
+:10B5500001010101010101010101010101010101DB
+:10B5600001010101010101010101010101010101CB
+:10B5700001010101010101010101010101010101BB
+:10B5800001010101010101010101010101010101AB
+:10B59000010101010101010101010101010101009C
+:10B5A0000102010101010101010101010101010289
+:10B5B0000102020202020202020202020000000272
+:10B5C0000202020202000101010001010101010267
+:10B5D0000201010202010202020201010102010252
+:10B5E0000202010101010101010201010101010247
+:10B5F000010101010101010101010101010101023A
+:10B600000201010101010101010101010101010129
+:10B610000102010101010101010101010101010119
+:10B620000101010101010101010101010101010209
+:10B6300001010101010101010101010101010101FA
+:10B6400001010101010101010101010101010101EA
+:10B6500001010101010101010101010101010101DA
+:10B6600001010101010101010101010101010101CA
+:10B6700001010101010101010101010101010101BA
+:10B6800001010101010101010101010101010101AA
+:10B69000010101010101010101010101010101009B
+:10B6A0000101010101010101010101010101010289
+:10B6B0000102020202020202020202000000000273
+:10B6C0000202010202000101010001010101010267
+:10B6D0000201010202010202020201010102010152
+:10B6E0000202010101010101010201010101010147
+:10B6F0000101010101010101010101010101010239
+:10B700000201010101010101010101010101010128
+:10B710000101010101010101010101010101010119
+:10B720000101010101010101010101010101010208
+:10B7300001010101010101010101010101010101F9
+:10B7400001010101010101010101010101010101E9
+:10B7500001010101010101010101010101010101D9
+:10B7600001010101010101010101010101010101C9
+:10B7700001010101010101010101010101010101B9
+:10B7800001010101010101010101010101010101A9
+:10B79000010101010101010101010101010101009A
+:10B7A0000101010101010101010101010101010288
+:10B7B0000102020202020202020000000000000276
+:10B7C0000202010202020201010001010101010263
+:10B7D0000201010202010202020201010101010152
+:10B7E0000202010101010101010201010101010146
+:10B7F0000101010101010101010101010101010238
+:10B800000201010101010101010101010101010127
+:10B810000101010101010101010101010101010118
+:10B820000101010101010101010101010101010207
+:10B8300001010101010101010101010101010101F8
+:10B8400001010101010101010101010101010101E8
+:10B8500001010101010101010101010101010101D8
+:10B8600001010101010101010101010101010101C8
+:10B8700001010101010101010101010101010101B8
+:10B8800001010101010101010101010101010101A8
+:10B890000101010101010101010101010101010099
+:10B8A0000101010101010101010101010101010287
+:10B8B0000102020202020202000000000000000178
+:10B8C0000202010202020201010001010101010163
+:10B8D0000201010202010202020201010101010151
+:10B8E0000202010101010101010201010101010145
+:10B8F0000101010101010101010101010101010237
+:10B900000101010101010101010101010101010127
+:10B910000101010101010101010101010101010117
+:10B920000101010101010101010101010101010206
+:10B9300001010101010101010101010101010101F7
+:10B9400001010101010101010101010101010101E7
+:10B9500001010101010101010101010101010101D7
+:10B9600001010101010101010101010101010101C7
+:10B9700001010101010101010101010101010101B7
+:10B9800001010101010101010101010101010101A7
+:10B990000101010101010101010101010101010098
+:10B9A0000101010101010101010101010101010286
+:10B9B000010202020202000000000000000000017B
+:10B9C0000202010202020201010001010101010162
+:10B9D0000101010102010202020101010101010153
+:10B9E0000102010101010101010201010101010145
+:10B9F0000101010101010101010101010101010236
+:10BA00000101010101010101010101010101010126
+:10BA10000101010101010101010101010101010116
+:10BA20000101010101010101010101010101010205
+:10BA300001010101010101010101010101010101F6
+:10BA400001010101010101010101010101010101E6
+:10BA500001010101010101010101010101010101D6
+:10BA600001010101010101010101010101010101C6
+:10BA700001010101010101010101010101010101B6
+:10BA800001010101010101010101010101010101A6
+:10BA90000101010101010101010101010101010097
+:10BAA0000101010101010101010101010101010285
+:10BAB000010202020200000000000000000000017C
+:10BAC0000202010202020201010001010101010161
+:10BAD0000101010101010202010101010101010154
+:10BAE0000102010101010101010101010101010145
+:10BAF0000101010101010101010101010101010235
+:10BB00000101010101010101010101010101010125
+:10BB10000101010101010101010101010101010115
+:10BB20000101010101010101010101010101010105
+:10BB300001010101010101010101010101010101F5
+:10BB400001010101010101010101010101010101E5
+:10BB500001010101010101010101010101010101D5
+:10BB600001010101010101010101010101010101C5
+:10BB700001010101010101010101010101010101B5
+:10BB800001010101010101010101010101010101A5
+:10BB90000101010101010101010101010101010096
+:10BBA0000101010101010101010101010101010284
+:10BBB000010202000000000000000000000000017F
+:10BBC0000202010202020201010001010101010160
+:10BBD0000101010101010101010101010101010155
+:10BBE0000102010101010101010101010101010144
+:10BBF0000101010101010101010101010101010234
+:10BC00000101010101010101010101010101010124
+:10BC10000101010101010101010101010101010114
+:10BC20000101010101010101010101010101010104
+:10BC300001010101010101010101010101010101F4
+:10BC400001010101010101010101010101010101E4
+:10BC500001010101010101010101010101010101D4
+:10BC600001010101010101010101010101010101C4
+:10BC700001010101010101010101010101010101B4
+:10BC800001010101010101010101010101010101A4
+:10BC90000101010101010101010101010101010095
+:10BCA0000101010101010101010101010101010283
+:10BCB000020202000000000000000000000100017C
+:10BCC000020201020202020101000101010101015F
+:10BCD0000101010101010101010101010101010154
+:10BCE0000101010101010101010101010101010144
+:10BCF0000101010101010101010101010101010233
+:10BD00000101010101010101010101010101010123
+:10BD10000101010101010101010101010101010113
+:10BD20000101010101010101010101010101010103
+:10BD300001010101010101010101010101010101F3
+:10BD400001010101010101010101010101010101E3
+:10BD500001010101010101010101010101010101D3
+:10BD600001010101010101010101010101010101C3
+:10BD700001010101010101010101010101010101B3
+:10BD800001010101010101010101010101010102A2
+:10BD90000101010101010101010101010101010094
+:10BDA0000101010101010101010101010101010183
+:10BDB000020000000000000000000000000101017E
+:10BDC000020201020202020101000101010101015E
+:10BDD0000101010101010101010101010101010153
+:10BDE0000101010101010101010101010101010143
+:10BDF0000101010101010101010101010101010232
+:10BE00000101010101010101010101010101010122
+:10BE10000101010101010101010101010101010112
+:10BE20000101010101010101010101010101010102
+:10BE300001010101010101010101010101010101F2
+:10BE400001010101010101010101010101010101E2
+:10BE500001010101010101010101010101010101D2
+:10BE600001010101010101010101010101010101C2
+:10BE700001010101010101010101010101010101B2
+:10BE800001010101010101010101010101010102A1
+:10BE9000020101010101020101010101010102028E
+:10BEA0000101010101010101010101010101010182
+:10BEB000020000000000000000000000010101017C
+:10BEC000010201020202020101000101010101015E
+:10BED0000101010101010101010101010101010152
+:10BEE0000101010101010101010101010101010142
+:10BEF0000101010101010101010101010101010231
+:10BF00000101010101010101010101010101010121
+:10BF10000101010101010101010101010101010111
+:10BF20000101010101010101010101010101010101
+:10BF300001010101010101010101010101010101F1
+:10BF400001010101010101010101010101010101E1
+:10BF500001010101010101010101010101010101D1
+:10BF600001010101010101010101010101010101C1
+:10BF700001010101010101010101010101010101B1
+:10BF800001010101010101010101010101010102A0
+:10BF9000020101010102020201020101010102028A
+:10BFA0000101010101010101010101010101010181
+:10BFB000020000000000000000000000010101017B
+:10BFC000010201020202020101020101010101015B
+:10BFD0000101010101010101010101010101010151
+:10BFE0000101010101010101010101010101010141
+:10BFF0000101010101010101010101010101010230
+:10C000000101010101010101010101010101010120
+:10C010000101010101010101010101010101010110
+:10C020000101010101010101010101010101010100
+:10C0300001010101010101010101010101010101F0
+:10C0400001010101010101010101010101010101E0
+:10C0500001010101010101010101010101010101D0
+:10C0600001010101010101010101010101010101C0
+:10C0700001010101010101010101010101010101B0
+:10C08000010101010101010101010101010101029F
+:10C090000201010102020202010201020202020285
+:10C0A0000101010101020201010202020202020178
+:10C0B0000200000000000000000000010101010179
+:10C0C000010201020202020101020101010101015A
+:10C0D0000101010101010101010101010101010150
+:10C0E0000101010101010101010101010101010140
+:10C0F000010101010101010101010101010101022F
+:10C10000010101010101010101010101010101011F
+:10C11000010101010101010101010101010101010F
+:10C1200001010101010101010101010101010101FF
+:10C1300001010101010101010101010101010101EF
+:10C1400001010101010101010101010101010101DF
+:10C1500001010101010101010101010101010101CF
+:10C1600001010101010101010101010101010101BF
+:10C1700001010101010101010101010101010102AE
+:10C18000010101010101010101010101010102029D
+:10C190000201010202020202020202020202020281
+:10C1A0000101010101020201020202020202020176
+:10C1B0000200000000000000000101010101010176
+:10C1C0000102010202020201010201010101010159
+:10C1D000010101010101010101010101010101014F
+:10C1E000010101010101010101010101010101013F
+:10C1F000010101010101010101010101010101022E
+:10C20000010101010101010101010101010101011E
+:10C21000010101010101010101010101010101010E
+:10C2200001010101010101010101010101010101FE
+:10C2300001010101010101010101010101010101EE
+:10C2400001010101010101010101010101010101DE
+:10C2500001010101010101010101010101010101CE
+:10C2600001010101010101010101010101010101BE
+:10C2700001010101010101010101010101010102AD
+:10C28000010101010101010101010101010102029C
+:10C29000020102020202020202020202020202027F
+:10C2A0000101010101020202020202020202020174
+:10C2B0000200000000000000010101010101010174
+:10C2C0000102010202020201010201010101010158
+:10C2D000010101010101010101010101010101014E
+:10C2E000010101010101010101010101010101013E
+:10C2F000010101010101010101010101010101022D
+:10C30000010101010101010101010101010101011D
+:10C31000010101010101010101010101010101010D
+:10C3200001010101010101010101010101010101FD
+:10C3300001010101010101010101010101010101ED
+:10C3400001010101010101010101010101010101DD
+:10C3500001010101010101010101010101010101CD
+:10C3600001010101010101010101010101010101BD
+:10C3700001010101010101010101010101010102AC
+:10C380000201010101010101010202020202020295
+:10C39000020202020202020202020202020202027D
+:10C3A0000101010101020202020202020202020173
+:10C3B0000200000000000101010101010101010171
+:10C3C000010201010101010101020101010101015B
+:10C3D000010101010101010101010101010101014D
+:10C3E000010101010101010101010101010101013D
+:10C3F000010101010101010101010101010101012D
+:10C40000010101010101010101010101010101011C
+:10C41000010101010101010101010101010101010C
+:10C4200001010101010101010101010101010101FC
+:10C4300001010101010101010101010101010101EC
+:10C4400001010101010101010101010101010101DC
+:10C4500001010101010101010101010101010101CC
+:10C4600001010101010101010101010101010101BC
+:10C4700001010101010101010101010101010102AB
+:10C48000020101020102020202020202020202028F
+:10C49000020202020202020202020202020202027C
+:10C4A0000101010102020202020202020202020171
+:10C4B0000100000000010101010101010101010170
+:10C4C000010101010101010101010101010101015C
+:10C4D000010101010101010101010101010101014C
+:10C4E000010101010101010101010101010101013C
+:10C4F000010101010101010101010101010101012C
+:10C50000010101010101010101010101010101011B
+:10C51000010101010101010101010101010101010B
+:10C5200001010101010101010101010101010101FB
+:10C5300001010101010101010101010101010101EB
+:10C5400001010101010101010101010101010101DB
+:10C5500001010101010101010101010101010101CB
+:10C5600001010101010101010101010101010101BB
+:10C5700001010101010101010101010101010202A9
+:10C58000020202020202020202020202020202028B
+:10C59000020202020202020202020202020202027B
+:10C5A000010102020202020202020202020202016E
+:10C5B000010000010101010101010101010101016D
+:10C5C000010101010101010101010101010101015B
+:10C5D000010101010101010101010101010101014B
+:10C5E000010101010101010101010101010101013B
+:10C5F000010101010101010101010101010101012B
+:10C60000010101010101010101010101010101011A
+:10C61000010101010101010101010101010101010A
+:10C6200001010101010101010101010101010101FA
+:10C6300001010101010101010101010101010101EA
+:10C6400001010101010101010101010101010101DA
+:10C6500001010101010101010101010101010101CA
+:10C6600001010101010101010101010101010101BA
+:10C6700001010101010101010101010101020202A7
+:10C68000020202020202020202020202020202028A
+:10C69000020202020202020202020202020202027A
+:10C6A000020102020202020202020202020202016C
+:10C6B000010000010101010101010101010101016C
+:10C6C000010101010101010101010101010101015A
+:10C6D000010101010101010101010101010101014A
+:10C6E000010101010101010101010101010101013A
+:10C6F000010101010101010101010101010101012A
+:10C700000101010101010101010101010101010119
+:10C710000101010101010101010101010101010109
+:10C7200001010101010101010101010101010101F9
+:10C7300001010101010101010101010101010101E9
+:10C7400001010101010101010101010101010101D9
+:10C7500001010101010101010101010101010201C8
+:10C7600001010101010101010101010101010202B7
+:10C77000010101010101020202020202020202029F
+:10C780000202020202020202020202020202020289
+:10C790000202020202020202020202020202020279
+:10C7A000020102020202020202020202020202016B
+:10C7B0000101010101010101010101010101010169
+:10C7C0000101010101010101010101010101010159
+:10C7D0000101010101010101010101010101010149
+:10C7E0000101010101010101010101010101010139
+:10C7F0000101010101010101010101010101010129
+:10C800000101010101010101010101010101010118
+:10C810000101010101010101010101010101010108
+:10C8200001010101010101010101010101010101F8
+:10C8300001010101010101010101010101010101E8
+:10C8400001010101010101010101010101010201D7
+:10C8500001010101010101010101010101020201C6
+:10C8600001010101010101010101010101020202B5
+:10C870000202020202020202020202020202020298
+:10C880000202020202020202020202020202020288
+:10C890000202020202020202020202020202020278
+:10C8A0000202020202020202020202020202020169
+:10C8B0000101010101010101010101010101010168
+:10C8C0000101010101010101010101010101010158
+:10C8D0000101010101010101010101010101010148
+:10C8E0000101010101010101010101010101010138
+:10C8F0000101010101010101010101010101010128
+:10C900000101010101010101010101010101010117
+:10C910000101010101010101010101010101010107
+:10C9200001010101010101010101010101010201F6
+:10C9300001010101010101010101010101010201E6
+:10C9400001010101010101010101010101020202D4
+:10C9500002010101010101010102020202020201C0
+:10C9600001010101010101010102020202020202B0
+:10C970000202020202020202020202020202020297
+:10C980000202020202020202020202020202020287
+:10C990000202020202020202020202020202020277
+:10C9A0000202020202020202020202020202020168
+:10C9B0000101010101010101010101010101010167
+:10C9C0000101010101010101010101010101010157
+:10C9D0000101010101010101010101010101010147
+:10C9E0000101010101010101010101010101010137
+:10C9F0000101010101010101010101010101010127
+:10CA00000101010101010101010101010101010116
+:10CA10000101010101010101010101010101010106
+:10CA200001010101010101010101010101020201F4
+:10CA300001010101010101010101010101020202E3
+:10CA400001010101010101010102010202020202D0
+:10CA500002020202020202020202020202020202B6
+:10CA600002020202020202020202020202020202A6
+:10CA70000202020202020202020202020202020296
+:10CA80000202020202020202020202020202020286
+:10CA90000202020202020202020202020202020276
+:10CAA0000202020202020202020202020202020167
+:10CAB0000101010101010101010101010101010166
+:10CAC0000101010101010101010101010101010156
+:10CAD0000101010101010101010101010101010146
+:10CAE0000101010101010101010101010101010136
+:10CAF0000101010101010101010101010101010126
+:10CB00000101010101010101010101010101010115
+:10CB10000101010101010101010101010101010204
+:10CB200001010101010101010101010102020201F2
+:10CB300001010101010101010101020202020202DF
+:10CB400002020202020202020202020202020202C5
+:10CB500002020202020202020202020202020202B5
+:10CB600002020202020202020202020202020202A5
+:10CB70000202020202020202020202020202020295
+:10CB80000202020202020202020202020202020285
+:10CB90000202020202020202020202020202020275
+:10CBA0000202020202020202020202020202020166
+:10CBB0000101010101010101010101010101010165
+:10CBC0000101010101010101010101010101010155
+:10CBD0000101010101010101010101010101010145
+:10CBE0000101010101010101010101010101010135
+:10CBF0000101010101010101010101010101010125
+:10CC00000101010101010101010101010101010114
+:10CC10000101010101010101010101010101020202
+:10CC200002020202010202020202020202020201E6
+:10CC300002020202020202020202020202020202D4
+:10CC400002020202020202020202020202020202C4
+:10CC500002020202020202020202020202020202B4
+:10CC600002020202020202020202020202020202A4
+:10CC70000202020202020202020202020202020294
+:10CC80000202020202020202020202020202020284
+:10CC90000202020202020202020202020202020274
+:10CCA0000202020202020202020202020202020165
+:10CCB0000101010101010101010101010101010164
+:10CCC0000101010101010101010101010101010154
+:10CCD0000101010101010101010101010101010144
+:10CCE0000101010101010101010101010101010134
+:10CCF0000101010101010101010101010101020123
+:10CD00000101010101010101010101010101010113
+:10CD100001010101010101010101010102020202FF
+:10CD200002020202020202020202020202020202E3
+:10CD300002020202020202020202020202020202D3
+:10CD400002020202020202020202020202020202C3
+:10CD500002020202020202020202020202020202B3
+:10CD600002020202020202020202020202020202A3
+:10CD70000202020202020202020202020202020293
+:10CD80000202020202020202020202020202020283
+:10CD90000202020202020202020202020202020273
+:10CDA0000202020202020202020202020202020164
+:10CDB0000101010101010101010101010101010163
+:10CDC0000101010101010101010101010101010153
+:10CDD0000101010101010101010101010101010143
+:10CDE0000101010101010101010101010101010133
+:10CDF0000101010101010101010101010101020122
+:10CE00000101010101010101010101010101010211
+:10CE100002010102020202020202020202020202F4
+:10CE200002020202020202020202020202020202E2
+:10CE300002020202020202020202020202020202D2
+:10CE400002020202020202020202020202020202C2
+:10CE500002020202020202020202020202020202B2
+:10CE600002020202020202020202020202020202A2
+:10CE70000202020202020202020202020202020292
+:10CE80000202020202020202020202020202020282
+:10CE90000202020202020202020202020202020272
+:10CEA0000202020202020202020202020202020163
+:10CEB0000101010101010101010101010101010162
+:10CEC0000101010101010101010101010101010152
+:10CED0000101010101010101010101010101010142
+:10CEE0000101010101010101010101010101010231
+:10CEF000020101010101010101010202020202011C
+:10CF00000101010101010101010101010101010210
+:10CF100002020202020202020202020202020202F1
+:10CF200002020202020202020202020202020202E1
+:10CF300002020202020202020202020202020202D1
+:10CF400002020202020202020202020202020202C1
+:10CF500002020202020202020202020202020202B1
+:10CF600002020202020202020202020202020202A1
+:10CF70000202020202020202020202020202020291
+:10CF80000202020202020202020202020202020281
+:10CF90000202020202020202020202020202020271
+:10CFA0000202020202020202020202020202020162
+:10CFB0000101010101010101010101010101010161
+:10CFC0000101010101010101010101010101010151
+:10CFD0000101010101010101010101010101010141
+:10CFE0000101010101010101010101010101010230
+:10CFF0000202020202020202020202020202020112
+:10D00000010101010101010101010101010102020E
+:10D0100002020202020202020202020202020202F0
+:10D0200002020202020202020202020202020202E0
+:10D0300002020202020202020202020202020202D0
+:10D0400002020202020202020202020202020202C0
+:10D0500002020202020202020202020202020202B0
+:10D0600002020202020202020202020202020202A0
+:10D070000202020202020202020202020202020290
+:10D080000202020202020202020202020202020280
+:10D090000202020202020202020202020202020270
+:10D0A0000202020202020202020202020202020161
+:10D0B0000101010101010101010101010101010160
+:10D0C0000101010101010101010101010101010150
+:10D0D0000101010101010101010101010101010140
+:10D0E000010101010101010101010101010102022E
+:10D0F0000202020202020202020202020202020111
+:10D10000010101010101010101010101020202020B
+:10D1100002020202020202020202020202020202EF
+:10D1200002020202020202020202020202020202DF
+:10D1300002020202020202020202020202020202CF
+:10D1400002020202020202020202020202020202BF
+:10D1500002020202020202020202020202020202AF
+:10D16000020202020202020202020202020202029F
+:10D17000020202020202020202020202020202028F
+:10D18000020202020202020202020202020202027F
+:10D19000020202020202020202020202020202026F
+:10D1A0000202020202020202020202020202020160
+:10D1B000010101010101010101010101010101015F
+:10D1C000010101010101010101010101010101014F
+:10D1D000010101010101010101010101010102023D
+:10D1E000010101010101010101010101010202022C
+:10D1F0000202020202020202020202020202020110
+:10D2000002020202020202020202020202020202FE
+:10D2100002020202020202020202020202020202EE
+:10D2200002020202020202020202020202020202DE
+:10D2300002020202020202020202020202020202CE
+:10D2400002020202020202020202020202020202BE
+:10D2500002020202020202020202020202020202AE
+:10D26000020202020202020202020202020202029E
+:10D27000020202020202020202020202020202028E
+:10D28000020202020202020202020202020202027E
+:10D29000020202020202020202020202020202026E
+:10D2A000020202020202020202020202020202015F
+:10D2B000010101010101010101010101010101015E
+:10D2C000010101010101010101010101010101024D
+:10D2D000010101010101010101010101010102023C
+:10D2E0000201020202020202020102020202020220
+:10D2F000020202020202020202020202020202010F
+:10D3000002020202020202020202020202020202FD
+:10D3100002020202020202020202020202020202ED
+:10D3200002020202020202020202020202020202DD
+:10D3300002020202020202020202020202020202CD
+:10D3400002020202020202020202020202020202BD
+:10D3500002020202020202020202020202020202AD
+:10D36000020202020202020202020202020202029D
+:10D37000020202020202020202020202020202028D
+:10D38000020202020202020202020202020202027D
+:10D39000020202020202020202020202020202026D
+:10D3A000020202020202020202020202020202015E
+:10D3B000010101010101010101010101010101015D
+:10D3C000010101010101010101010101010101024C
+:10D3D0000202020101020101010102020202020233
+:10D3E000020202020202020202020202020202021D
+:10D3F000020202020202020202020202020202020D
+:10D4000002020202020202020202020202020202FC
+:10D4100002020202020202020202020202020202EC
+:10D4200002020202020202020202020202020202DC
+:10D4300002020202020202020202020202020202CC
+:10D4400002020202020202020202020202020202BC
+:10D4500002020202020202020202020202020202AC
+:10D46000020202020202020202020202020202029C
+:10D47000020202020202020202020202020202028C
+:10D48000020202020202020202020202020202027C
+:10D49000020202020202020202020202020202026C
+:10D4A000020202020202020202020202020202015D
+:10D4B000010101010101010101010101010101015C
+:10D4C000010101010101010101010101010101024B
+:10D4D000020202020202020202020202020202022C
+:10D4E000020202020202020202020202020202021C
+:10D4F000020202020202020202020202020202020C
+:10D5000002020202020202020202020202020202FB
+:10D5100002020202020202020202020202020202EB
+:10D5200002020202020202020202020202020202DB
+:10D5300002020202020202020202020202020202CB
+:10D5400002020202020202020202020202020202BB
+:10D5500002020202020202020202020202020202AB
+:10D56000020202020202020202020202020202029B
+:10D57000020202020202020202020202020202028B
+:10D58000020202020202020202020202020202027B
+:10D59000020202020202020202020202020202026B
+:10D5A000020202020202020202020202020202015C
+:10D5B000010101010101010101010101010101015B
+:10D5C000010101010101010101010101010101024A
+:10D5D000020202020202020202020202020202022B
+:10D5E000020202020202020202020202020202021B
+:10D5F000020202020202020202020202020202020B
+:10D6000002020202020202020202020202020202FA
+:10D6100002020202020202020202020202020202EA
+:10D6200002020202020202020202020202020202DA
+:10D6300002020202020202020202020202020202CA
+:10D6400002020202020202020202020202020202BA
+:10D6500002020202020202020202020202020202AA
+:10D66000020202020202020202020202020202029A
+:10D67000020202020202020202020202020202028A
+:10D68000020202020202020202020202020202027A
+:10D69000020202020202020202020202020202026A
+:10D6A000020202020202020202020202020202015B
+:10D6B000010101010101010101010101010101015A
+:10D6C0000101010101010101010101010101010249
+:10D6D000020202020202020202020202020202022A
+:10D6E000020202020202020202020202020202021A
+:10D6F000020202020202020202020202020202020A
+:10D7000002020202020202020202020202020202F9
+:10D7100002020202020202020202020202020202E9
+:10D7200002020202020202020202020202020202D9
+:10D7300002020202020202020202020202020202C9
+:10D7400002020202020202020202020202020202B9
+:10D7500002020202020202020202020202020202A9
+:10D760000202020202020202020202020202020299
+:10D770000202020202020202020202020202020289
+:10D780000202020202020202020202020202020279
+:10D790000202020202020202020202020202020269
+:10D7A000020202020202020202020202020202015A
+:10D7B0000101010101010101010101010101010258
+:10D7C0000101010101010101010101010101020247
+:10D7D0000202020202020202020202020202020229
+:10D7E0000202020202020202020202020202020219
+:10D7F0000202020202020202020202020202020209
+:10D8000002020202020202020202020202020202F8
+:10D8100002020202020202020202020202020202E8
+:10D8200002020202020202020202020202020202D8
+:10D8300002020202020202020202020202020202C8
+:10D8400002020202020202020202020202020202B8
+:10D8500002020202020202020202020202020202A8
+:10D860000202020202020202020202020202020298
+:10D870000202020202020202020202020202020288
+:10D880000202020202020202020202020202020278
+:10D890000202020202020202020202020202020268
+:10D8A0000202020202020202020202020202020159
+:10D8B0000101010101010101010101010101010257
+:10D8C0000202020202020202020202020202020238
+:10D8D0000202020202020202020202020202020228
+:10D8E0000202020202020202020202020202020218
+:10D8F0000202020202020202020202020202020208
+:10D9000002020202020202020202020202020202F7
+:10D9100002020202020202020202020202020202E7
+:10D9200002020202020202020202020202020202D7
+:10D9300002020202020202020202020202020202C7
+:10D9400002020202020202020202020202020202B7
+:10D9500002020202020202020202020202020202A7
+:10D960000202020202020202020202020202020297
+:10D970000202020202020202020202020202020287
+:10D980000202020202020202020202020202020277
+:10D990000202020202020202020202020202020267
+:10D9A0000202020202020202020202020202020158
+:10D9B0000101010101010101010101010101010256
+:10D9C0000202020202020202020202020202020237
+:10D9D0000202020202020202020202020202020227
+:10D9E0000202020202020202020202020202020217
+:10D9F0000202020202020202020202020202020207
+:10DA000002020202020202020202020202020202F6
+:10DA100002020202020202020202020202020202E6
+:10DA200002020202020202020202020202020202D6
+:10DA300002020202020202020202020202020202C6
+:10DA400002020202020202020202020202020202B6
+:10DA500002020202020202020202020202020202A6
+:10DA60000202020202020202020202020202020296
+:10DA70000202020202020202020202020202020286
+:10DA80000202020202020202020202020202020276
+:10DA90000202020202020202020202020202020266
+:10DAA0000202020202020202020202020202020157
+:10DAB0000101010101010101010101010101010057
+:10DAC0000000000000000000000000000000000254
+:10DAD0000202020202020202020202020202020028
+:10DAE0000000000000000000000000000000000234
+:10DAF0000202020202020202020202020202020206
+:10DB000002020202020202020202020202020200F7
+:10DB10000000000000000000000000000000000203
+:10DB200002020202020202020202020202020200D7
+:10DB300000000000000000000000000000000002E3
+:10DB400002020202020202020202020202020202B5
+:10DB500002020202020202020202020202020202A5
+:10DB60000202020202020202020202020202020295
+:10DB70000202020202020202020202020202020285
+:10DB80000202020202020202020202020202020275
+:10DB90000202020202020202020202020202020265
+:10DBA0000202020202020202020202020202020156
+:10DBB0000101010101010101010101010101010155
+:10DBC0000101010101010101010101010101010244
+:10DBD0000202020202020202020202020202020027
+:10DBE0000000000000000000000000000000000035
+:10DBF0000000000000000000000000000000000223
+:10DC000002020202020202020202020202020200F6
+:10DC10000000000000000000000000000000000202
+:10DC200002020202020202020202020202020200D6
+:10DC300000000000000000000000000000000000E4
+:10DC400000000000000000000000000000000000D4
+:10DC500000000000000000000000000000000000C4
+:10DC600000000000000000000000000000000000B4
+:10DC700000000000000000000000000000000000A4
+:10DC80000000000000000000000000000000000292
+:10DC90000202020202020202020202020202020264
+:10DCA0000000000000000000000000000000000173
+:10DCB0000101010101010101010101010101010253
+:10DCC0000201010101010101010101010102020141
+:10DCD0000101010101010101010101010101010134
+:10DCE0000101010101010101010101010101010124
+:10DCF0000101010101010101010101010101010114
+:10DD00000101010101010101010101010101010103
+:10DD100001010101010101010101010101010101F3
+:10DD200001010101010101010101010101010101E3
+:10DD300001010101010101010101010101010101D3
+:10DD400001010101010101010101010101010101C3
+:10DD500001010101010101010101010101010101B3
+:10DD600001010101010101010101010101010101A3
+:10DD70000101010101010101010101010101010193
+:10DD80000101010101010101010101010101010183
+:10DD90000101010101010101010101010101010272
+:10DDA0000000000000000000000000000000000172
+:10DDB0000101010101010101010101010101010054
+:10DDC0000000000000000000000000000000000152
+:10DDD0000101010101010101010101010101010133
+:10DDE0000101010101010101010101010101010123
+:10DDF0000101010101010101010101010101010113
+:10DE00000101010101010101010101010101010102
+:10DE100001010101010101010101010101010101F2
+:10DE200001010101010101010101010101010101E2
+:10DE300001010101010101010101010101010101D2
+:10DE400001010101010101010101010101010101C2
+:10DE500001010101010101010101010101010101B2
+:10DE600001010101010101010101010101010101A2
+:10DE70000101010101010101010101010101010192
+:10DE80000101010101010101010101010101010182
+:10DE90000101010101010101010101010101010271
+:10DEA0000000000000000000000000000000000171
+:10DEB0000101010101010101010101010101010053
+:10DEC0000000000000000000000000000000000151
+:10DED0000101010101010101010101010101010132
+:10DEE0000101010101010101010101010101010122
+:10DEF0000101010101010101010101010101010112
+:10DF00000101010101010101010101010101010101
+:10DF100001010101010101010101010101010101F1
+:10DF200001010101010101010101010101010101E1
+:10DF300001010101010101010101010101010101D1
+:10DF400001010101010101010101010101010101C1
+:10DF500001010101010101010101010101010101B1
+:10DF600001010101010101010101010101010101A1
+:10DF70000101010101010101010101010101010191
+:10DF80000101010101010101010101010101010181
+:10DF90000101010101010101010101010101010270
+:10DFA0000000000000000000000000000000000170
+:10DFB0000101010101010101010101010101010052
+:10DFC0000000000000000000000000000000000150
+:10DFD0000101010101010101010101010101010131
+:10DFE0000101010101010101010101010101010121
+:10DFF0000101010101010101010101010101010111
+:10E000000101010101010101010101010101010100
+:10E0100001010101010101010101010101010101F0
+:10E0200001010101010101010101010101010101E0
+:10E0300001010101010101010101010101010101D0
+:10E0400001010101010101010101010101010101C0
+:10E0500001010101010101010101010101010100B1
+:10E0600000000000000000000000000000000000B0
+:10E0700000000000000000000000000000000000A0
+:10E080000000000000000000000000000000000090
+:10E09000000000000000000000000000000000027E
+:10E0A000000000000000000000000000000000016F
+:10E0B0000101010101010101010101010101010051
+:10E0C000000000000000000000000000000000014F
+:10E0D0000101010101010101010101010101010031
+:10E0E000000000000000000000000000000000012F
+:10E0F0000101010101010101010101010101010011
+:10E10000000000000000000000000000000000000F
+:10E1100000000000000000000000000000000001FE
+:10E1200001010101010101010101010101010100E0
+:10E1300000000000000000000000000000000000DF
+:10E1400000000000000000000000000000000000CF
+:10E1500000000000000000000000000000000000BF
+:10E1600000000000000000000000000000000000AF
+:10E17000000000000000000000000000000000009F
+:10E18000000000000000000000000000000000008F
+:10E19000000000000000000000000000000000027D
+:10E1A000000000000000000000000000000000016E
+:10E1B0000101010101010101010101010101010050
+:10E1C000000000000000000000000000000000014E
+:10E1D0000101010101010101010101010101010030
+:10E1E000000000000000000000000000000000012E
+:10E1F0000101010101010101010101010101010010
+:10E20000000000000000000000000000000000000E
+:10E2100000000000000000000000000000000001FD
+:10E2200001010101010101010101010101010100DF
+:10E2300000000000000000000000000000000000DE
+:10E2400000000000000000000000000000000000CE
+:10E2500000000000000000000000000000000000BE
+:10E2600000000000000000000000000000000000AE
+:10E27000000000000000000000000000000000009E
+:10E28000000000000000000000000000000000008E
+:10E29000000000000000000000000000000000027C
+:10E2A000000000000000000000000000000000006E
+:10E2B000000000000000000000000000000000005E
+:10E2C000000000000000000000000000000000004E
+:10E2D000000000000000000000000000000000003E
+:10E2E000000000000000000000000000000000002E
+:10E2F000000000000000000000000000000000001E
+:10E30000000000000000000000000000000000000D
+:10E3100000000000000000000000000000000000FD
+:10E3200000000000000000000000000000000000ED
+:10E3300000000000000000000000000000000000DD
+:10E3400000000000000000000000000000000000CD
+:10E3500000000000000000000000000000000000BD
+:10E3600000000000000000000000000000000000AD
+:10E37000000000000000000000000000000000009D
+:10E38000000000000000000000000000000000008D
+:10E39000000000000000000000000000000000007D
+:10E3A0000000000000000000000000000000004C21
+:10E3B000000000000000000000000000000000005D
+:10E3C0000000000000000000000002000002000049
+:10E3D0000200020002000000000000000000000037
+:10E3E000000000000002000000000000000000002B
+:10E3F0000200000000000200000000000000000019
+:10E40000000000000000000000000000000000000C
+:10E4100000000000000000000000000000000000FC
+:10E4200000000000000000000000000000000000EC
+:10E4300000000000000000000000000000000000DC
+:10E4400000000000000000000000000200000202C6
+:10E4500000000000000000000000000000000002BA
+:10E4600000000000000000000002000000000200A8
+:10E470000000000000020000000002000000000098
+:10E480000200020000000000000200020000020280
+:10E49000000200020000000000020002020002026E
+:10E4A0000002000200020000020002000002000060
+:10E4B0000200020002000202000000000000000052
+:10E4C000000000000000000200020202020202023C
+:10E4D0000202020202020000000000000000000030
+:10E4E0000000000000020200000000000000000226
+:10E4F0000200000200020200000000000000000014
+:10E50000000000000000000000000000000000000B
+:10E5100000000000000000000000000000000000FB
+:10E5200000000000000000000000020000020000E7
+:10E5300000000000000000000000000000000000DB
+:10E5400000000000000000000200000200000202C3
+:10E5500000000000000000000000000000000002B9
+:10E5600000000000000000000202020000020200A1
+:10E570000200000002020202000202020000020089
+:10E580000202020000020000020202020002020275
+:10E59000020202020200020002020202020202025F
+:10E5A000020202020202010002020202020202024E
+:10E5B000020202020202020200000000000000004B
+:10E5C0000000000000000002020202020202020239
+:10E5D000020202020202000000000000000000002F
+:10E5E0000002000000020200000000000000000223
+:10E5F0000200000200020200000000000000000013
+:10E60000000000000000000000000000000000000A
+:10E6100000000000000000000000000000000000FA
+:10E6200000000000000000000000020202020202DE
+:10E6300000000000000000000000000000000000DA
+:10E6400000000000000000000200000200000202C2
+:10E6500000000000000000020000000000000002B6
+:10E660000002000000000002020202020202020296
+:10E670000202000002020202020202020002020082
+:10E68000020202000202020202020202020202026C
+:10E69000020202020202020202020202020202025A
+:10E6A000020202020202010002020202020202024D
+:10E6B000020202020202020200000000000000004A
+:10E6C0000000000000000002020202020202020238
+:10E6D000020202020202000000000200000000002C
+:10E6E0000002000000020200000000000000000222
+:10E6F0000200000200020200000000000000000012
+:10E700000000000000000000000000000000000009
+:10E7100000000000000000000000000000000000F9
+:10E7200000000000000000000200020202020202DB
+:10E7300002000000000000000000000000000000D7
+:10E7400000000000000200000200000200000202BF
+:10E7500000000200000000020000000000000002B3
+:10E760000002000000000002020202020202020295
+:10E77000020202000202020202020202020202027B
+:10E78000020202000202020202020202020202026B
+:10E79000020202020202010202020202020202025A
+:10E7A000020202020202010002020202020202024C
+:10E7B0000202020202020202020200020200000041
+:10E7C0000000000000000002020202020202020237
+:10E7D0000202020202020002000002000000000029
+:10E7E0000002000000020200000000000000000221
+:10E7F0000200000200020200000000000000000011
+:10E800000000000000000000000000000000000008
+:10E8100000000000000000000000000000000000F8
+:10E8200000000000000000000200020202020202DA
+:10E8300002020000000000000000000000000000D4
+:10E8400000000000000200000200000200000202BE
+:10E8500000000202000000020000000000000002B0
+:10E860000002000000000002020202020202020294
+:10E87000020202000202020202020202020202027A
+:10E88000020202000202020202020202020202026A
+:10E890000202020202020102020202020202020259
+:10E8A000020202020202010002020202020202024B
+:10E8B000020202020202020202020202020200003C
+:10E8C0000000000000000002020202020202020236
+:10E8D0000202020202020002020002000000000026
+:10E8E000000200000002020200000000000000021E
+:10E8F0000200000200020200000000000000000010
+:10E900000000000000000000000000000000000007
+:10E9100002000000000000000000000000000000F5
+:10E9200000000000000000000200020202020202D9
+:10E9300002020000000000000200000000000000D1
+:10E9400000000000000200000200000200000202BD
+:10E9500000000202000000020000020000000002AD
+:10E960000002020000000002020202020202020291
+:10E97000020202000202010202020202020202027A
+:10E980000202020202020102020202020202020268
+:10E990000202020202020102020202020202020258
+:10E9A000020202020202010002020202020202024A
+:10E9B000020202020202020202020202020200003B
+:10E9C0000000000000000002020202020202020235
+:10E9D0000202020202020002020002000000000025
+:10E9E000000200000002020200000000000000021D
+:10E9F000020000020002020000000000000000020D
+:10EA00000002000000000000000002000000000002
+:10EA100002020000000200000002000000000000EE
+:10EA200000000000000000020200020202020202D6
+:10EA300002020002000000000200000000000000CE
+:10EA400000000000000202020200000200000202B8
+:10EA500000000202000000020002020000000002AA
+:10EA6000000202020002000202020202020202028C
+:10EA70000202020002020102020202020202020279
+:10EA80000202020202020102020202020202020267
+:10EA90000202020202020102020202020202020257
+:10EAA0000202020202020100020202020202020249
+:10EAB000020202020202020202020202020200003A
+:10EAC0000000000000000002020202020202020234
+:10EAD0000202020202020002020002000000000024
+:10EAE000000200000002020200000000000000021C
+:10EAF0000200000200020200020000000000020208
+:10EB000002020000000002000000020000000200FB
+:10EB100002020200000200000002000000000000EB
+:10EB200000000000000000020200020202020202D5
+:10EB300002020202000000000200000000000000CB
+:10EB400000000000000202020200000200000202B7
+:10EB500000000202000000020202020000000002A7
+:10EB6000000202020002000202020202020202028B
+:10EB70000202020002020102020202020202020278
+:10EB80000202020202020102020202020202020266
+:10EB90000202020202020102020202020202020256
+:10EBA0000202020202010100020202020202020249
+:10EBB0000202020202020102020202020202020236
+:10EBC000000200000002000202020202020202022F
+:10EBD0000202020202020002020002000000000023
+:10EBE000000200000002020200000000000000021B
+:10EBF0000200000200020200020000000000020207
+:10EC000002020000000002000200020000020200F6
+:10EC100002020200000200000002000002000200E6
+:10EC200000000000000000020200020202020202D4
+:10EC300002020202000000020200000000000000C8
+:10EC400000000002000202020202000200000202B2
+:10EC500000000202000200020202020002000202A0
+:10EC6000000202020002000202020202020202028A
+:10EC70000202020002020102020202020202020277
+:10EC80000202020202020102020202020202020265
+:10EC90000202020202020102020202020202020255
+:10ECA0000202020202010100020202020202020248
+:10ECB0000202020202020102020202020202020235
+:10ECC0000202020002020002020202020202020228
+:10ECD0000202020202020002020002000000000022
+:10ECE0000002000000020202000200000000000218
+:10ECF0000200000200020200020002000000020204
+:10ED000002020000000002000200020000020202F3
+:10ED100002020200000202000202000002020200DF
+:10ED200000000000000000020202020202020202D1
+:10ED300002020202000000020200000000000000C7
+:10ED400000000002000201020202020200000202B0
+:10ED5000000002020002020202020200020202029B
+:10ED60000002020200020202020202020202020287
+:10ED70000202020002010102020202020202020277
+:10ED80000202020202010102020202020202020265
+:10ED90000202020202010102020202020202020255
+:10EDA0000202020202010100020202020202020247
+:10EDB0000202020202020102020202020202020234
+:10EDC0000202020002020002020202020202020227
+:10EDD0000202020202020002020002000000000021
+:10EDE0000002000000020202020202000002000211
+:10EDF0000200000200020102020202000000020200
+:10EE000002020000000002000200020000020202F2
+:10EE100002020200000202020202000202020202D8
+:10EE200000000000000000020202020202020202D0
+:10EE300002020202000200020202000000000000C2
+:10EE400000000002000201020202020202000202AD
+:10EE50000000020200020202020202020202020298
+:10EE60000002020200020202020202020202020286
+:10EE70000202020002010102020202020202020276
+:10EE80000202020202010102020202020202020264
+:10EE90000202020202010102020202020202020254
+:10EEA0000202020201010100020202020202020247
+:10EEB0000202020202020102020202020202020233
+:10EEC0000202020002020002020202020202020226
+:10EED0000202020202020002020002000000000020
+:10EEE0000002000000020102020202000002000211
+:10EEF00002000002000201020202020002000202FD
+:10EF000002020000000001000200020000020202F2
+:10EF100002020200000202020202000202020202D7
+:10EF200000000000000000020202020202020202CF
+:10EF300002020202000202020202020000000000BD
+:10EF400000000002000201020202020202020202AA
+:10EF50000000020200020102020202020202020298
+:10EF60000002020200020102020202020202020286
+:10EF70000202020002010102020202020202020275
+:10EF80000202020202010102020202020202020263
+:10EF90000202020201010102020202020202020254
+:10EFA0000202020201010100020202020202020246
+:10EFB0000202020202010102020202020202020233
+:10EFC0000202020002010002020202020202020226
+:10EFD000020202020202000202000200000000001F
+:10EFE0000002000000020102020202000002000210
+:10EFF00002000202000201020202020002000202FA
+:10F0000002020002000001000200020000020202EF
+:10F0100002020200000202020202000202020202D6
+:10F0200000020000000000020202020202020202CC
+:10F0300002020202000202020202020202000200B6
+:10F0400000000002000101020202020202020202AA
+:10F050000000020200020102020202020202020297
+:10F060000002020200020102020202020202020285
+:10F070000202020202010102020202020202020272
+:10F080000202020202010102020202020202020262
+:10F090000202020201010102020202020202020253
+:10F0A0000202020101010100020202020202020246
+:10F0B0000202020202010102020202020202020232
+:10F0C0000202020002010002020202020202020225
+:10F0D000020202020202000202000200000000001E
+:10F0E0000002000000020102020202020202020209
+:10F0F00002000202000201020202020202000202F7
+:10F1000002020002000001000200020000020202EE
+:10F1100002020200000201020202000202020202D6
+:10F1200002020000000002020202020202020202C7
+:10F1300002020202000201020202020202020200B4
+:10F1400000000002000101020202020202020202A9
+:10F150000200020202020102020202020202020292
+:10F160000202020202020102020202020202020280
+:10F170000202020201010102020202020202020272
+:10F180000202020201010102020202020202020262
+:10F190000202020201010102020202020202010154
+:10F1A0000202020101010100020202020202020245
+:10F1B0000202020201010102020202020202020232
+:10F1C0000202020002010002020202020202020224
+:10F1D000020202020202000202020200000000001B
+:10F1E0000002000000020102020202020202020208
+:10F1F00002000202000201020202020202000202F6
+:10F2000002020002000001000200020000020202ED
+:10F2100002020200000201020202000202020202D5
+:10F2200002020000000002020202020202020202C6
+:10F2300002020202000201020202020202020202B1
+:10F2400000000002000101020202020202020202A8
+:10F25000020202020202010202020202020202028F
+:10F260000202020202010102020202020202020280
+:10F270000202020201010102020202020202020271
+:10F280000202020201010102020202020202020261
+:10F290000202020101010102020202020202010154
+:10F2A0000201010101010100020202020202020246
+:10F2B0000202020201010102020202020202020231
+:10F2C0000202020001010002020202020202020224
+:10F2D000020202020202000202020200000000001A
+:10F2E0000002000000010102020202020202020208
+:10F2F00002000202000101020202020202000202F6
+:10F3000002020002000001000202020000020202EA
+:10F3100002020202000201020202000202020202D2
+:10F3200002020200000001020202020202020202C4
+:10F3300002020202000201020202020202020202B0
+:10F3400002000002020101020202020202020202A3
+:10F35000020202020202010202020202020202028E
+:10F36000020202020201010202020202020202027F
+:10F370000202020201010102020202020202020270
+:10F380000202010201010102020202020202020261
+:10F390000202010101010102020202020201010155
+:10F3A0000101010101010100020202020202020246
+:10F3B0000202020201010102020202020202020230
+:10F3C0000202020201010002020202020202020221
+:10F3D0000202020202020002020202000000000019
+:10F3E0000002000000010102020202020202020207
+:10F3F00002000202000101020202020202000202F5
+:10F4000002020202000001000202020000020202E7
+:10F4100002020202000101020202000202020202D2
+:10F4200002020202000001020202020202020202C1
+:10F4300002020202000201020202020202020202AF
+:10F4400002020002020101020202020202020202A0
+:10F45000020202020201010202020202020202028E
+:10F46000020202020201010202020202020202027E
+:10F47000020202020101010202020202020202026F
+:10F480000202010201010102020202020202020260
+:10F490000201010101010102020202020201010155
+:10F4A0000101010101010100020202020202020245
+:10F4B0000202010101010102020202020202020231
+:10F4C0000202020201010002020202020202020220
+:10F4D000020202020101000202020200000000001A
+:10F4E0000002000000010102020202020202020206
+:10F4F00002000202000101020202020202000202F4
+:10F5000002020202000001000202020000020202E6
+:10F5100002020202000101020202000202020202D1
+:10F5200002020202000001020202020202020202C0
+:10F5300002020202020101020202020202020202AD
+:10F54000020200020201010202020202020202029F
+:10F55000020202020201010202020202020202028D
+:10F56000020202020201010202020202020202027D
+:10F57000020202020101010202020202020202026E
+:10F580000102010201010102020202020202020161
+:10F590000101010101010102020202020101010156
+:10F5A0000101010101010100020202020202020244
+:10F5B0000202010101010102020202020202020230
+:10F5C0000202010201010002020202020202020220
+:10F5D0000202020201010002020202000000000019
+:10F5E0000002000000010102020202020202020205
+:10F5F00002000202000101020202020202000202F3
+:10F6000002020202000001000202020000020202E5
+:10F6100002020202000101020202000202020202D0
+:10F6200002020202000001020202020202020202BF
+:10F6300002020202020101020202020202020202AC
+:10F64000020200020201010202020202020202029E
+:10F65000020202020201010202020202020202028C
+:10F66000020202020201010202020202020202027C
+:10F67000020201020101010202020202020202026E
+:10F680000101010101010102020202020202010163
+:10F690000101010101010102010202010101010157
+:10F6A0000101010101010100020202020202020243
+:10F6B0000102010101010102020202020202020230
+:10F6C0000201010201010002020202020202020220
+:10F6D0000202020201010002020202000000000018
+:10F6E0000002000000010102020202020202020204
+:10F6F00002000202000101020202020202000202F2
+:10F7000002020202000001020202020202020202DE
+:10F7100002020202000101020202000202020202CF
+:10F7200002020202000001020202020202020202BE
+:10F7300002020202020101020202020202020202AB
+:10F74000020202020201010202020202020202029B
+:10F75000020202020201010202020202020202028B
+:10F76000020202020201010202020202020202027B
+:10F77000010101020101010202020202020202026F
+:10F780000101010101010102020202010201010164
+:10F790000101010101010102010202010101010156
+:10F7A0000101010101010100020202020202020242
+:10F7B0000101010101010102020202010101020134
+:10F7C000010101020102000202020202020202021F
+:10F7D0000202010101010002020202000200020015
+:10F7E0000002000000010102020202020202020203
+:10F7F00002000202000101020202020202000202F1
+:10F8000002020202000001020202020202020202DD
+:10F8100002020202000101020202000202020202CE
+:10F8200002020202000201020202020202020202BB
+:10F8300002020202020101020202020202020202AA
+:10F84000020202020201010202020202020202029A
+:10F85000020201010201010202020202020202018D
+:10F86000020101010201010202020202020201017F
+:10F870000101010201010102020202020202010170
+:10F880000101010101010102020202010201010163
+:10F890000101010101010101010202010101010156
+:10F8A0000101010101010100020202020201010144
+:10F8B0000101010101010102020202010101010134
+:10F8C000010101010102000202020202020202021F
+:10F8D0000202010101020002020202000200020013
+:10F8E0000002000002010102020202020202020200
+:10F8F00002000201000101020202020202020202EF
+:10F9000002020202000001020202020202020202DC
+:10F9100002020202000101020202000202020202CD
+:10F9200002020202000201020202020202020202BA
+:10F9300002020201020101020202020202020202AA
+:10F94000020202010201010202020202020202019B
+:10F95000020201010201010202020202020202018C
+:10F960000201010101010102020202020201010180
+:10F970000101010201010102020202010201010171
+:10F980000101010101010102020202010101010163
+:10F990000101010101010101010201010101010156
+:10F9A0000101010101010100020202020201010143
+:10F9B0000101010101010102020101010101010135
+:10F9C000010101010102000202020202020202021E
+:10F9D0000101010101020002020202000200020212
+:10F9E00000020000020101020202020202020202FF
+:10F9F00002000201020101020202020202020202EC
+:10FA000002020202000201020202020202020202D9
+:10FA100002020202000101020202000202020202CC
+:10FA200002020202000201020202020202020201BA
+:10FA300001010101020101020202020202020202AC
+:10FA4000020202010101010202020202020201019C
+:10FA5000020201010101010202020202020202018C
+:10FA60000201010101010102020202010101010181
+:10FA70000101010201010102020201010101010172
+:10FA80000101010101010101010101010101010166
+:10FA90000101010101010101010101010101010156
+:10FAA0000101010101010100020202020201010142
+:10FAB0000101010101010102020101010101010134
+:10FAC000010101010202000202020202020202011D
+:10FAD000010101010202000202020200020202020E
+:10FAE00002020000020101020202020202020202FC
+:10FAF00001000201020101020202020202020202EC
+:10FB000002020202000201020202020202020202D8
+:10FB100002020102000101020202000202020202CC
+:10FB200002020202000201020202020202010101BB
+:10FB300001010101020101020202020202020202AB
+:10FB4000020202010101010202020201020201019C
+:10FB5000020201010101010202020202020202018B
+:10FB60000201010101010102020101010101010182
+:10FB70000101010101010102020101010101010173
+:10FB80000101010101010101010101010101010165
+:10FB90000101010101010101010101010101010155
+:10FBA0000101010101010100020202020201010141
+:10FBB0000101010101010102020101010101010133
+:10FBC000010101010202000202020202020101011E
+:10FBD000010101010202000202020200020202020D
+:10FBE00002020002020101020202020202020201FA
+:10FBF00001000201020101020202020202020202EB
+:10FC000002010202000101020202020202020202D9
+:10FC100001010102020101020202000202020202CB
+:10FC200002020202000101020202020101010101BD
+:10FC300001010101010101020202020202020202AB
+:10FC4000020202010101010202020201020201019B
+:10FC5000020201010101010202020202020202018A
+:10FC60000201010101010102020101010101010181
+:10FC70000101010101010102020101010101010172
+:10FC80000101010101010101010101010101010164
+:10FC90000101010101010101010101010101010154
+:10FCA0000101010101010100020202020201010140
+:10FCB0000101010101010102020101010101010132
+:10FCC000010101010202000202020202020101011D
+:10FCD000010101010201000202020200020202020D
+:10FCE00002010202020101020202020202020201F8
+:10FCF00001000201020101020202020202020201EB
+:10FD000001010201000101020202020202020202DA
+:10FD100001010102020101020202020202020202C8
+:10FD200002020202020101020202010101010101BB
+:10FD300001010101010101020202020202020202AA
+:10FD4000020202010101010202020201020201019A
+:10FD50000202010101010102020202020202020189
+:10FD60000201010101010102010101010101010181
+:10FD70000101010101010101010101010101010173
+:10FD80000101010101010101010101010101010163
+:10FD90000101010101010101010101010101010153
+:10FDA0000101010101010100010202020201010140
+:10FDB0000101010101010102020101010101010131
+:10FDC000010102010202000202020202020101011B
+:10FDD000010102020201000202020200020202020A
+:10FDE00002010202020101020202020202020201F7
+:10FDF00001000201020101020202020202020201EA
+:10FE000001010201000101020202020202020202D9
+:10FE100001010102020101020202020202020202C7
+:10FE200002020202020101020202010101010101BA
+:10FE300001010101010101020202020202020202A9
+:10FE40000202020101010102020202010202010199
+:10FE50000202010101010102020202020202010189
+:10FE60000201010101010101010101010101010181
+:10FE70000101010101010101010101010101010172
+:10FE80000101010101010101010101010101010162
+:10FE90000101010101010101010101010101010152
+:10FEA0000101010101010100010202010101010141
+:10FEB0000101010101010102020101010101010130
+:10FEC000010202010202000202020201010101011B
+:10FED0000101020202010002020202000202020209
+:10FEE00002010202020101020202020202020201F6
+:10FEF00001020101020101020202020202020101E9
+:10FF000001010201020101020202020202020101D8
+:10FF100001010101020101020202020202020202C7
+:10FF200002020202020101020202010101010101B9
+:10FF300001010101010101020202020202020202A8
+:10FF40000202020101010102010202010202010199
+:10FF5000020201010101010202020102010101018B
+:10FF60000101010101010101010101010101010181
+:10FF70000101010101010101010101010101010171
+:10FF80000101010101010101010101010101010161
+:10FF90000101010101010101010101010101010151
+:10FFA0000101010101010100010202010101010140
+:10FFB000010101010101010202010102020201022B
+:10FFC000020202010200000202020101010101011C
+:10FFD0000202020202010102020202000202020205
+:10FFE00002010202020101020202020202020201F5
+:10FFF00001020101020101020202020202020101E8
+:0200000280007C
+:1000000001010101020101020202020202010101D9
+:1000100001010101020101020202020202020101C8
+:1000200002010101020101020102010101010101BC
+:1000300001010101010101020102020202020101AA
+:10004000010101010101010201020201020201019B
+:10005000010101010101010102010101010101018F
+:100060000101010101010101010101010101010180
+:100070000101010101010101010101010101010170
+:100080000101010101010101010101010101010160
+:100090000101010101010101010101010101010150
+:1000A0000101010101010100010201010101010140
+:1000B0000101010101010102020101020202020229
+:1000C0000202020202000002020201010101010219
+:1000D0000202020201010102020201000202020206
+:1000E00002010202010101020202020202020201F5
+:1000F00001020101010101020202020202020101E8
+:1001000001010101020101020202010202010101D9
+:1001100001010101010101020202020201010101CA
+:1001200001010101020101020102010101010101BC
+:1001300001010101010101020102020101010101AC
+:10014000010101010101010201020201010101019C
+:10015000010101010101010102010101010101018E
+:10016000010101010101010101010101010101017F
+:10017000010101010101010101010101010101016F
+:10018000010101010101010101010101010101015F
+:10019000010101010101010101010101010101014F
+:1001A000010101010101010001020101010101013F
+:1001B0000101010101010101010202020202020228
+:1001C0000202020202000002020201010102020216
+:1001D0000202020201010102020201020202020203
+:1001E00002010202010101020202020202010201F5
+:1001F00001020101010101020202010201020101E9
+:1002000001010101020101020202010202010101D8
+:1002100001010101010101020201020101010101CB
+:1002200001010101010101020101010101010101BD
+:1002300001010101010101020101010101010101AD
+:10024000010101010101010201010101010101019D
+:10025000010101010101010101010101010101018E
+:10026000010101010101010101010101010101017E
+:10027000010101010101010101010101010101016E
+:10028000010101010101010101010101010101015E
+:10029000010101010101010101010101010101014E
+:1002A000010101010101010001020101010101013E
+:1002B0000101010101010101010202020202020227
+:1002C0000202020200000002020201020202020215
+:1002D0000202020201010102020201020202020202
+:1002E00002010202010101020202020202010101F5
+:1002F00001020101010101020101010101020101EB
+:1003000001010101010101020202010202010101D8
+:1003100001010101010101020201020101010101CA
+:1003200001010101010101010101010101010101BD
+:1003300001010101010101010101010101010101AD
+:10034000010101010101010101010101010101019D
+:10035000010101010101010101010101010101018D
+:10036000010101010101010101010101010101017D
+:10037000010101010101010101010101010101016D
+:10038000010101010101010101010101010101015D
+:10039000010101010101010101010101010101014D
+:1003A000010101010101010001010101010101013E
+:1003B0000101010101010101010202020202020226
+:1003C0000202020200000002020202020202020213
+:1003D0000202010101010101010201020202020205
+:1003E00002010202010101010201010101010101F9
+:1003F00001020101010101020101010101020101EA
+:1004000001010101010101020102010202010101D8
+:1004100001010101010101020201020101010101C9
+:1004200001010101010101010101010101010101BC
+:1004300001010101010101010101010101010101AC
+:10044000010101010101010101010101010101019C
+:10045000010101010101010101010101010101018C
+:10046000010101010101010101010101010101017C
+:10047000010101010101010101010101010101016C
+:10048000010101010101010101010101010101015C
+:10049000010101010101010101010101010101014C
+:1004A000010101010101010001010101010101013D
+:1004B0000101010101010101010202020202020225
+:1004C0000202020200000002020102020202020213
+:1004D0000202010101010101010201020202020204
+:1004E00002010202010101010201010101010101F8
+:1004F00001020101010101020101010101020101E9
+:1005000001010101010101020102010202010101D7
+:1005100001010101010101020101020101010101C9
+:1005200001010101010101010101010101010101BB
+:1005300001010101010101010101010101010101AB
+:10054000010101010101010101010101010101019B
+:10055000010101010101010101010101010101018B
+:10056000010101010101010101010101010101017B
+:10057000010101010101010101010101010101016B
+:10058000010101010101010101010101010101015B
+:10059000010101010101010101010101010101014B
+:1005A000010101010101010001010101010101013C
+:1005B0000101010101010101010202020202020224
+:1005C0000202000200000001010102020202020216
+:1005D0000101010101010101010201020202020205
+:1005E00002010201010101010101010101010101F9
+:1005F00001020101010101010101010101020101E9
+:1006000001010101010101020102010202010101D6
+:1006100001010101010101020101020101010101C8
+:1006200001010101010101010101010101010101BA
+:1006300001010101010101010101010101010101AA
+:10064000010101010101010101010101010101019A
+:10065000010101010101010101010101010101018A
+:10066000010101010101010101010101010101017A
+:10067000010101010101010101010101010101016A
+:10068000010101010101010101010101010101015A
+:10069000010101010101010101010101010101014A
+:1006A000010101010101010001010101010101013B
+:1006B0000101010101010101010202020202020223
+:1006C000020000020000000101010201010202011A
+:1006D0000101010101010101010201020202020204
+:1006E00002010101010101010101010101010101F9
+:1006F00001020101010101010101010101020101E8
+:1007000001010101010101020101010101010101D8
+:1007100001010101010101010101020101010101C8
+:1007200001010101010101010101010101010101B9
+:1007300001010101010101010101010101010101A9
+:100740000101010101010101010101010101010199
+:100750000101010101010101010101010101010189
+:100760000101010101010101010101010101010179
+:100770000101010101010101010101010101010169
+:100780000101010101010101010101010101010159
+:100790000101010101010101010101010101010149
+:1007A000010101010101010001010101010101013A
+:1007B000010101010101010101020200000002002A
+:1007C000000000020000000101010101010101011E
+:1007D0000101010101010101010101020202010106
+:1007E00001010101010101010101010101010101F9
+:1007F00001020101010101010101010101010101E8
+:1008000001010101010101020101010101010101D7
+:1008100001010101010101010101020101010101C7
+:1008200001010101010101010101010101010101B8
+:1008300001010101010101010101010101010101A8
+:100840000101010101010101010101010101010198
+:100850000101010101010101010101010101010188
+:100860000101010101010101010101010101010178
+:100870000101010101010101010101010101010168
+:100880000101010101010101010101010101010158
+:100890000101010101010101010101010101010148
+:1008A0000101010101010100010101010101010139
+:1008B000010101010101010101020200000000002B
+:1008C000000000000000000101010101010101011F
+:1008D0000101010101010101010101020102010106
+:1008E00001010101010101010101010101010101F8
+:1008F00001010101010101010101010101010101E8
+:1009000001010101010101020101010101010101D6
+:1009100001010101010101010101020101010101C6
+:1009200001010101010101010101010101010101B7
+:1009300001010101010101010101010101010101A7
+:100940000101010101010101010101010101010197
+:100950000101010101010101010101010101010187
+:100960000101010101010101010101010101010177
+:100970000101010101010101010101010101010167
+:100980000101010101010101010101010101010157
+:100990000101010101010102020101010101020144
+:1009A0000101010101010200010101010101010137
+:1009B000010101010101010202000000000000002C
+:1009C000000000000000010101010101010101011D
+:1009D0000101010101010101010101020101010106
+:1009E00001010101010101010101010101010101F7
+:1009F00001010101010101010101010101010101E7
+:100A000001010101010101020101010101010101D5
+:100A100001010101010101010101020101010101C5
+:100A200001010101010101010101010101010101B6
+:100A300001010101010101010101010101010101A6
+:100A40000101010101010101010101010101010196
+:100A50000101010101010101010101010101010186
+:100A60000101010101010101010101010101010176
+:100A70000101010101010101010101010101010166
+:100A80000101010101010101010101010101010156
+:100A90000101010101010102020101010102020241
+:100AA0000101010101010202010101010101010134
+:100AB000010101010101010202000000000000002B
+:100AC000000000000000010101010101010101011C
+:100AD0000101010101010101010101020101010105
+:100AE00001010101010101010101010101010101F6
+:100AF00001010101010101010101010101010101E6
+:100B000001010101010101020101010101010101D4
+:100B100001010101010101010101020101010101C4
+:100B200001010101010101010101010101010101B5
+:100B300001010101010101010101010101010101A5
+:100B40000101010101010101010101010101010195
+:100B50000101010101010101010101010101010185
+:100B60000101010101010101010101010101010175
+:100B70000101010101010101010101010101010165
+:100B80000101010101010101010101010101010155
+:100B90000101010101010102020101010102020240
+:100BA0000101010101010202010101010101010133
+:100BB000010101010101010202000000000000002A
+:100BC000000000000000010101010101010101011B
+:100BD0000101010101010101010101020101010104
+:100BE00001010101010101010101010101010101F5
+:100BF00001010101010101010101010101010101E5
+:100C000001010101010101010101010101010101D4
+:100C100001010101010101010101020101010101C3
+:100C200001010101010101010101010101010101B4
+:100C300001010101010101010101010101010101A4
+:100C40000101010101010101010101010101010194
+:100C50000101010101010101010101010101010184
+:100C60000101010101010101010101010101010174
+:100C70000101010101010101010101010101010164
+:100C80000101010101010101010101010101010154
+:100C9000010101010101010202010101020202023E
+:100CA000020201020202020201010101010101012D
+:100CB0000101010101010102020000000000000029
+:100CC0000000000000010101010101010101010119
+:100CD0000101010101010101010101020101010103
+:100CE00001010101010101010101010101010101F4
+:100CF00001010101010101010101010101010101E4
+:100D000001010101010101010101010101010101D3
+:100D100001010101010101010101010101010101C3
+:100D200001010101010101010101010101010101B3
+:100D300001010101010101010101010101010101A3
+:100D40000101010101010101010101010101010193
+:100D50000101010101010101010101010101010183
+:100D60000101010101010101010101010101010173
+:100D70000101010101010101010101010101010163
+:100D80000101010101010102010101010101010152
+:100D9000010101010101020202010102020202023B
+:100DA0000202020202020202010101010102020129
+:100DB0000201020202020202020000000000000022
+:100DC0000000000000010101010101010101010118
+:100DD0000101010101010101010101020101010102
+:100DE00001010101010101010101010101010101F3
+:100DF00001010101010101010101010101010101E3
+:100E000001010101010101010101010101010101D2
+:100E100001010101010101010101010101010101C2
+:100E200001010101010101010101010101010101B2
+:100E300001010101010101010101010101010101A2
+:100E40000101010101010101010101010101010192
+:100E50000101010101010101010101010101010182
+:100E60000101010101010101010101010101010172
+:100E70000101010101010101010101010101010162
+:100E80000101010101010102010101010101010151
+:100E90000101010101010202020102020202020239
+:100EA0000202020202020202020101010102020226
+:100EB0000202020202020202020000000000000020
+:100EC0000000000000010101010101010101010117
+:100ED0000101010101010101010101010101010102
+:100EE00001010101010101010101010101010101F2
+:100EF00001010101010101010101010101010101E2
+:100F000001010101010101010101010101010101D1
+:100F100001010101010101010101010101010101C1
+:100F200001010101010101010101010101010101B1
+:100F300001010101010101010101010101010101A1
+:100F40000101010101010101010101010101010191
+:100F50000101010101010101010101010101010181
+:100F60000101010101010101010101010101010171
+:100F70000101010101010101010101010101010161
+:100F8000010101010101010202010101010101014F
+:100F90000101010102020202020202020202020235
+:100FA0000202020202020202020101010102020225
+:100FB000020202020202020202000000000000001F
+:100FC0000000000001010101010101010101010115
+:100FD0000101010101010101010101010101010101
+:100FE00001010101010101010101010101010101F1
+:100FF00001010101010101010101010101010101E1
+:1010000001010101010101010101010101010101D0
+:1010100001010101010101010101010101010101C0
+:1010200001010101010101010101010101010101B0
+:1010300001010101010101010101010101010101A0
+:101040000101010101010101010101010101010190
+:101050000101010101010101010101010101010180
+:101060000101010101010101010101010101010170
+:101070000101010101010101010101010101010160
+:10108000010101010101010202010102010202024A
+:101090000202020202020202020202020202020230
+:1010A0000202020202020202020101010102020224
+:1010B000020202020202020202000000000000001E
+:1010C0000000000001010101010101010101010114
+:1010D0000101010101010101010101010101010100
+:1010E00001010101010101010101010101010101F0
+:1010F00001010101010101010101010101010101E0
+:1011000001010101010101010101010101010101CF
+:1011100001010101010101010101010101010101BF
+:1011200001010101010101010101010101010101AF
+:10113000010101010101010101010101010101019F
+:10114000010101010101010101010101010101018F
+:10115000010101010101010101010101010101017F
+:10116000010101010101010101010101010101016F
+:10117000010101010101010101010101010101015F
+:101180000101010101010202020202020202020245
+:10119000020202020202020202020202020202022F
+:1011A0000202020202020202020101010102020223
+:1011B000020202020202020101000000000000001F
+:1011C0000000000001010101010101010101010113
+:1011D00001010101010101010101010101010101FF
+:1011E00001010101010101010101010101010101EF
+:1011F00001010101010101010101010101010101DF
+:1012000001010101010101010101010101010101CE
+:1012100001010101010101010101010101010101BE
+:1012200001010101010101010101010101010101AE
+:10123000010101010101010101010101010101019E
+:10124000010101010101010101010101010101018E
+:10125000010101010101010101010101010101017E
+:10126000010101010101010101010101010101016E
+:10127000010101010101020101010101010101015D
+:101280000101010101020202020202020202020243
+:10129000020202020202020202020202020202022E
+:1012A0000202020202020202020101020202020220
+:1012B000020202020202020101000000000000001E
+:1012C0000000010001010101010101010101010111
+:1012D00001010101010101010101010101010101FE
+:1012E00001010101010101010101010101010101EE
+:1012F00001010101010101010101010101010101DE
+:1013000001010101010101010101010101010101CD
+:1013100001010101010101010101010101010101BD
+:1013200001010101010101010101010101010101AD
+:10133000010101010101010101010101010101019D
+:10134000010101010101010101010101010101018D
+:10135000010101010101010101010101010101017D
+:10136000010101010101010101010101010101016D
+:10137000010101010102020201010101010101015A
+:10138000020102010202020202020202020202023F
+:10139000020202020202020202020202020202022D
+:1013A000020202020202020202010202020202021E
+:1013B000020202020202020101000000000000001D
+:1013C000000101000101010101010101010101010F
+:1013D00001010101010101010101010101010101FD
+:1013E00001010101010101010101010101010101ED
+:1013F00001010101010101010101010101010101DD
+:1014000001010101010101010101010101010101CC
+:1014100001010101010101010101010101010101BC
+:1014200001010101010101010101010101010101AC
+:10143000010101010101010101010101010101019C
+:10144000010101010101010101010101010101018C
+:10145000010101010101010101010101010101017C
+:10146000010101010101010201010101010101016B
+:101470000101010102020202020202020202020250
+:10148000020202020202020202020202020202023C
+:10149000020202020202020202020202020202022C
+:1014A000020202020202020202010202020202021D
+:1014B0000202020202020201010000010101000118
+:1014C000010101000101010101010101010101010D
+:1014D00001010101010101010101010101010101FC
+:1014E00001010101010101010101010101010101EC
+:1014F00001010101010101010101010101010101DC
+:1015000001010101010101010101010101010101CB
+:1015100001010101010101010101010101010101BB
+:1015200001010101010101010101010101010101AB
+:10153000010101010101010101010101010101019B
+:10154000010101010101020101010101010101018A
+:10155000010101010101000101010101010101017C
+:101560000101010101010202020202020202020261
+:10157000020202010202020202020202020202024C
+:10158000020202020202020202020202020202023B
+:10159000020202020202020202020202020202022B
+:1015A000020202020202020202020202020202021B
+:1015B0000202020202020201010000010101010116
+:1015C000010101010101010101010101010101010B
+:1015D00001010101010101010101010101010101FB
+:1015E00001010101010101010101010101010101EB
+:1015F00001010101010101010101010101010101DB
+:1016000001010101010101010101010101010101CA
+:1016100001010101010101010101010101010101BA
+:1016200001010101010101010101010101010101AA
+:10163000010101010101010101010101010101019A
+:101640000101010101020201010101010101010188
+:10165000010101010101000101010101010101017B
+:10166000010101010102020202020202020202025F
+:10167000020202020202020202020202020202024A
+:10168000020202020202020202020202020202023A
+:10169000020202020202020202020202020202022A
+:1016A000020202020202020202020202020202021A
+:1016B0000202020202020201010101010101010113
+:1016C000010101010101010101010101010101010A
+:1016D00001010101010101010101010101010101FA
+:1016E00001010101010101010101010101010101EA
+:1016F00001010101010101010101010101010101DA
+:1017000001010101010100010101010101010101CA
+:1017100001010101010101010101010101010101B9
+:1017200001010101010101010101010101010101A9
+:10173000010101010101010000010101010101019B
+:101740000101010000020201010101010101010189
+:101750000101010101010202010101010101010276
+:10176000010202020202020202020202020202025A
+:101770000202020202020202020202020202020249
+:101780000202020202020202020202020202020239
+:101790000202020202020202020202020202020229
+:1017A0000202020202020202020202020202020219
+:1017B0000202020202020201010101010101010112
+:1017C0000101010101010101010101010101010109
+:1017D00001010101010101010101010101010101F9
+:1017E00001010101010101010101010101010101E9
+:1017F00001010101010101010101010101010101D9
+:1018000001010101010100010101010101010101C9
+:1018100001010101010101010101010101010101B8
+:1018200001010101010101010101010101010101A8
+:10183000010101010101020202000000000000009C
+:101840000000000202020201010101010101010187
+:10185000010101010102020202020202020202026D
+:101860000202020202020202020202020202020258
+:101870000202020202020202020202020202020248
+:101880000202020202020202020202020202020238
+:101890000202020202020202020202020202020228
+:1018A0000202020202020202020202020202020218
+:1018B0000202020202020201010101010101010111
+:1018C0000101010101010101010101010101010108
+:1018D00001010101010101010101010101010101F8
+:1018E00001010101010101010101010101010101E8
+:1018F00001010101010101010101010101010101D8
+:1019000001010101010002010101010101010101C7
+:1019100001010101010100010101010101010101B8
+:1019200001010101010100010101010101010101A8
+:10193000010101010102020202020202020202028C
+:10194000020202020202020202010102010102027B
+:101950000101020202020202020202020202020269
+:101960000202020202020202020202020202020257
+:101970000202020202020202020202020202020247
+:101980000202020202020202020202020202020237
+:101990000202020202020202020202020202020227
+:1019A0000202020202020202020202020202020217
+:1019B0000202020202020201010101010101010110
+:1019C0000101010101010101010101010101010107
+:1019D00001010101010101010101010101010101F7
+:1019E00001010101010101010101010101010101E7
+:1019F00001010101010101010100000101010100DA
+:101A000000000100010002010101010101010101C9
+:101A100001010101010002010101010101010101B6
+:101A200001010101010100020200020202020202A0
+:101A30000202020202020202020202020202020286
+:101A40000202020202020202020202020202020276
+:101A50000202020202020202020202020202020266
+:101A60000202020202020202020202020202020256
+:101A70000202020202020202020202020202020246
+:101A80000202020202020202020202020202020236
+:101A90000202020202020202020202020202020226
+:101AA0000202020202020202020202020202020216
+:101AB000020202020202020101010101010101010F
+:101AC0000101010101010101010101010101010106
+:101AD00001010101010101010101010101010101F6
+:101AE00001010101010101010101010101010101E6
+:101AF00001010101010101020200000000010000DA
+:101B000000000000010202010101010101010101C7
+:101B100000000001010202010101010101010101B6
+:101B2000010101010101020202020202020202029B
+:101B30000202020202020202020202020202020285
+:101B40000202020202020202020202020202020275
+:101B50000202020202020202020202020202020265
+:101B60000202020202020202020202020202020255
+:101B70000202020202020202020202020202020245
+:101B80000202020202020202020202020202020235
+:101B90000202020202020202020202020202020225
+:101BA0000202020202020202020202020202020215
+:101BB000020202020202020101010101010101010E
+:101BC0000101010101010101010101010101010105
+:101BD00001010101010101010101010101010101F5
+:101BE00001010101010101010101010101010101E5
+:101BF00001010101010102020202020202010202CC
+:101C000002020202020202010201020101020202B8
+:101C100002020202020202010101010101010101AD
+:101C20000101010101020202020202020202020299
+:101C30000202020202020202020202020202020284
+:101C40000202020202020202020202020202020274
+:101C50000202020202020202020202020202020264
+:101C60000202020202020202020202020202020254
+:101C70000202020202020202020202020202020244
+:101C80000202020202020202020202020202020234
+:101C90000202020202020202020202020202020224
+:101CA0000202020202020202020202020202020214
+:101CB000020202020202020101010101010101010D
+:101CC0000101010101010101010101010101010104
+:101CD00001010101010101010101010101010101F4
+:101CE00001010101010102020101010101010101E2
+:101CF00001010101010202020202020202020202C9
+:101D000002020202020202020202020202020202B3
+:101D100002020202020202020202010202020202A4
+:101D20000202020202020202020202020202020293
+:101D30000202020202020202020202020202020283
+:101D40000202020202020202020202020202020273
+:101D50000202020202020202020202020202020263
+:101D60000202020202020202020202020202020253
+:101D70000202020202020202020202020202020243
+:101D80000202020202020202020202020202020233
+:101D90000202020202020202020202020202020223
+:101DA0000202020202020202020202020202020213
+:101DB000020202020202020101010101010101010C
+:101DC0000101010101010101010101010101010103
+:101DD00001010101010101020101010101010101F2
+:101DE00001010101010202020202020202020202D8
+:101DF00002010202020202020202020202020202C4
+:101E000002020202020202020202020202020202B2
+:101E100002020202020202020202010202020202A3
+:101E20000202020202020202020202020202020292
+:101E30000202020202020202020202020202020282
+:101E40000202020202020202020202020202020272
+:101E50000202020202020202020202020202020262
+:101E60000202020202020202020202020202020252
+:101E70000202020202020202020202020202020242
+:101E80000202020202020202020202020202020232
+:101E90000202020202020202020202020202020222
+:101EA0000202020202020202020202020202020212
+:101EB000020202020202020101010101010101010B
+:101EC0000101010101010101010101010101010102
+:101ED00001010101010101020201020101010101EF
+:101EE00001010101020202020202020202020202D6
+:101EF00002020202020202020202020202020202C2
+:101F000002020202020202020202020202020202B1
+:101F100002020202020202020202020202020202A1
+:101F20000202020202020202020202020202020291
+:101F30000202020202020202020202020202020281
+:101F40000202020202020202020202020202020271
+:101F50000202020202020202020202020202020261
+:101F60000202020202020202020202020202020251
+:101F70000202020202020202020202020202020241
+:101F80000202020202020202020202020202020231
+:101F90000202020202020202020202020202020221
+:101FA0000202020202020202020202020202020211
+:101FB000020202020202020101010101010101010A
+:101FC0000101010101010101010101010101010101
+:101FD00001010101010101020202020102020202E9
+:101FE00002020202020202020202020202020202D1
+:101FF00002020202020202020202020202020202C1
+:1020000002020202020202020202020202020202B0
+:1020100002020202020202020202020202020202A0
+:102020000202020202020202020202020202020290
+:102030000202020202020202020202020202020280
+:102040000202020202020202020202020202020270
+:102050000202020202020202020202020202020260
+:102060000202020202020202020202020202020250
+:102070000202020202020202020202020202020240
+:102080000202020202020202020202020202020230
+:102090000202020202020202020202020202020220
+:1020A0000202020202020202020202020202020210
+:1020B0000202020202020201010101010101010109
+:1020C0000101010101010101010101010101010100
+:1020D00001010101010101020202020202020202E7
+:1020E00002020202020202020202020202020202D0
+:1020F00002020202020202020202020202020202C0
+:1021000002020202020202020202020202020202AF
+:10211000020202020202020202020202020202029F
+:10212000020202020202020202020202020202028F
+:10213000020202020202020202020202020202027F
+:10214000020202020202020202020202020202026F
+:10215000020202020202020202020202020202025F
+:10216000020202020202020202020202020202024F
+:10217000020202020202020202020202020202023F
+:10218000020202020202020202020202020202022F
+:10219000020202020202020202020202020202021F
+:1021A000020202020202020202020202020202020F
+:1021B0000202020202020201010101010101010108
+:1021C00001010101010101010101010101010101FF
+:1021D00001010101010101020202020202020202E6
+:1021E00002020202020202020202020202020202CF
+:1021F00002020202020202020202020202020202BF
+:1022000002020202020202020202020202020202AE
+:10221000020202020202020202020202020202029E
+:10222000020202020202020202020202020202028E
+:10223000020202020202020202020202020202027E
+:10224000020202020202020202020202020202026E
+:10225000020202020202020202020202020202025E
+:10226000020202020202020202020202020202024E
+:10227000020202020202020202020202020202023E
+:10228000020202020202020202020202020202022E
+:10229000020202020202020202020202020202021E
+:1022A000020202020202020202020202020202020E
+:1022B0000202020202020201010101010101010107
+:1022C00001010101010101010101010101010101FE
+:1022D00001010101010101020202020202020202E5
+:1022E00002020202020202020202020202020202CE
+:1022F00002020202020202020202020202020202BE
+:1023000002020202020202020202020202020202AD
+:10231000020202020202020202020202020202029D
+:10232000020202020202020202020202020202028D
+:10233000020202020202020202020202020202027D
+:10234000020202020202020202020202020202026D
+:10235000020202020202020202020202020202025D
+:10236000020202020202020202020202020202024D
+:10237000020202020202020202020202020202023D
+:10238000020202020202020202020202020202022D
+:10239000020202020202020202020202020202021D
+:1023A000020202020202020202020202020202020D
+:1023B0000202020202020201010101010101010106
+:1023C00001010101010101010101010101010101FD
+:1023D00001010101010101020202020202020202E4
+:1023E00002020202020202020202020202020202CD
+:1023F00002020202020202020202020202020202BD
+:1024000002020202020202020202020202020202AC
+:10241000020202020202020202020202020202029C
+:10242000020202020202020202020202020202028C
+:10243000020202020202020202020202020202027C
+:10244000020202020202020202020202020202026C
+:10245000020202020202020202020202020202025C
+:10246000020202020202020202020202020202024C
+:10247000020202020202020202020202020202023C
+:10248000020202020202020202020202020202022C
+:10249000020202020202020202020202020202021C
+:1024A000020202020202020202020202020202020C
+:1024B0000202020202020201010101010101010105
+:1024C00001010101010101010101010101010101FC
+:1024D00001010101010102020202020202020202E2
+:1024E00002020202020202020202020202020202CC
+:1024F00002020202020202020202020202020202BC
+:1025000002020202020202020202020202020202AB
+:10251000020202020202020202020202020202029B
+:10252000020202020202020202020202020202028B
+:10253000020202020202020202020202020202027B
+:10254000020202020202020202020202020202026B
+:10255000020202020202020202020202020202025B
+:10256000020202020202020202020202020202024B
+:10257000020202020202020202020202020202023B
+:10258000020202020202020202020202020202022B
+:10259000020202020202020202020202020202021B
+:1025A000020202020202020202020202020202020B
+:1025B0000202020202020201010101010101010104
+:1025C00001010101010101020201010101010101F9
+:1025D00001010101010102020202020202020202E1
+:1025E00002020202020202000000000000000000DD
+:1025F00000000000000000020202020202020202C9
+:1026000002020202020202020202020202020202AA
+:10261000020202020202020202020202020202029A
+:10262000020202020202020202020202020202028A
+:10263000020202020202020202020202020202027A
+:10264000020202020202020202020202020202026A
+:10265000020202020202020202020202020202025A
+:10266000020202020202020202020202020202024A
+:10267000020202020202020202020202020202023A
+:10268000020202020202020202020202020202022A
+:10269000020202020202020202020202020202021A
+:1026A000020202020202020202020202020202020A
+:1026B0000202020202020201010101010101010103
+:1026C00001010101010101020202020202020202F1
+:1026D00002020202020202020202020202020202DA
+:1026E00002020202020202000000000000000000DC
+:1026F00000000000000000020202020202020202C8
+:1027000002020202020202000000000000000000BB
+:1027100000000000000000020202020202020202A7
+:102720000202020202020202020202020202020289
+:10273000020202020202020000000000000000008B
+:102740000000000000000002020202020202020277
+:10275000020202020202020000000000000000006B
+:102760000000000000000002020202020202020257
+:102770000202020202020202020202020202020239
+:102780000202020202020202020202020202020229
+:102790000202020202020202020202020202020219
+:1027A0000202020202020202020202020202020209
+:1027B0000202020202020201010101010101010102
+:1027C00001010101010101010101010101010101F9
+:1027D00001010101010101000000000000000000F2
+:1027E00000000000000000010101010101010101E0
+:1027F00001010101010101000000000000000000D2
+:1028000000000000000000000000000000000000C8
+:1028100000000000000000020202020202020202A6
+:102820000202020202020201010101010101010191
+:102830000101010101010100000000000000000091
+:102840000000000000000002020202020202020276
+:10285000020202020202020000000000000000006A
+:102860000000000000000002020202020202020256
+:10287000020202020202020000000000000000004A
+:102880000000000000000000000000000000000048
+:102890000000000000000002020202020202020226
+:1028A0000202020202020202000000000000000018
+:1028B000000000000000000101010101010101010F
+:1028C00001010101010101020101010101010101F7
+:1028D00001010101010102010101010101010101E7
+:1028E00001010101010101010101010101010101D8
+:1028F00001010101010101010101010101010101C8
+:1029000001010101010101010101010101010101B7
+:1029100001010101010101010101010101010101A7
+:102920000101010101010101010101010101010197
+:102930000101010101010101010101010101010187
+:102940000101010101010101010101010101010177
+:102950000101010101010101010101010101010167
+:102960000101010101010101010101010101010157
+:102970000101010101010101010101010101010147
+:102980000101010101010101010101010101010137
+:102990000101010101010101010101010101010127
+:1029A000010101010101010200000000000000001E
+:1029B000000000000000000101010101010101010E
+:1029C0000101010101010100000000000000000000
+:1029D00000000000000000010101010101010101EE
+:1029E00001010101010101010101010101010101D7
+:1029F00001010101010101010101010101010101C7
+:102A000001010101010101010101010101010101B6
+:102A100001010101010101010101010101010101A6
+:102A20000101010101010101010101010101010196
+:102A30000101010101010101010101010101010186
+:102A40000101010101010101010101010101010176
+:102A50000101010101010101010101010101010166
+:102A60000101010101010101010101010101010156
+:102A70000101010101010101010101010101010146
+:102A80000101010101010101010101010101010136
+:102A90000101010101010101010101010101010126
+:102AA000010101010101010200000000000000001D
+:102AB000000000000000000101010101010101010D
+:102AC00001010101010101000000000000000000FF
+:102AD00000000000000000010101010101010101ED
+:102AE00001010101010101010101010101010101D6
+:102AF00001010101010101010101010101010101C6
+:102B000001010101010101010101010101010101B5
+:102B100001010101010101010101010101010101A5
+:102B20000101010101010101010101010101010195
+:102B30000101010101010101010101010101010185
+:102B40000101010101010101010101010101010175
+:102B50000101010101010101010101010101010165
+:102B60000101010101010101010101010101010155
+:102B70000101010101010101010101010101010145
+:102B80000101010101010101010101010101010135
+:102B90000101010101010101010101010101010125
+:102BA000010101010101010200000000000000001C
+:102BB000000000000000000101010101010101010C
+:102BC00001010101010101000000000000000000FE
+:102BD00000000000000000010101010101010101EC
+:102BE00001010101010101000000000000000000DE
+:102BF00000000000000000010101010101010101CC
+:102C000001010101010101010101010101010101B4
+:102C100001010101010101010101010101010101A4
+:102C2000010101010101010000000000000000009D
+:102C3000000000000000000101010101010101018B
+:102C40000101010101010101010101010101010174
+:102C5000010101010101010000000000000000006D
+:102C6000000000000000000101010101010101015B
+:102C7000010101010101010000000000000000004D
+:102C80000000000000000000000000000000000044
+:102C90000000000000000000000000000000000034
+:102CA0000000000000000002000000000000000022
+:102CB000000000000000000101010101010101010B
+:102CC00001010101010101000000000000000000FD
+:102CD00000000000000000010101010101010101EB
+:102CE00001010101010101000000000000000000DD
+:102CF00000000000000000010101010101010101CB
+:102D000001010101010101000000000000000000BC
+:102D100000000000000000000000000000000000B3
+:102D200000000000000000000000000000000000A3
+:102D30000000000000000000000000000000000093
+:102D40000000000000000000000000000000000083
+:102D50000000000000000000000000000000000073
+:102D60000000000000000000000000000000000063
+:102D70000000000000000000000000000000000053
+:102D80000000000000000000000000000000000043
+:102D90000000000000000000000000000000000033
+:102DA0000000000000000002000000000000000021
+:102DB000000000000000000101010101010101010A
+:102DC00001010101010101000000000000000000FC
+:102DD00000000000000000010101010101010101EA
+:102DE00001010101010101000000000000000000DC
+:102DF00000000000000000010101010101010101CA
+:102E000001010101010101000000000000000000BB
+:102E100000000000000000000000000000000000B2
+:102E200000000000000000000000000000000000A2
+:102E30000000000000000000000000000000000092
+:102E40000000000000000000000000000000000082
+:102E50000000000000000000000000000000000072
+:102E60000000000000000000000000000000000062
+:102E70000000000000000000000000000000000052
+:102E80000000000000000000000000000000000042
+:102E90000000000000000000000000000000000032
+:102EA0000000000000000002000000000000000020
+:102EB0000000000000000000000000000000000012
+:102EC0000000000000000000000000000000000002
+:102ED00000000000000000000000000000000000F2
+:102EE00000000000000000000000000000000000E2
+:102EF00000000000000000000000000000000000D2
+:102F000000000000000000000000000000000000C1
+:102F100000000000000000000000000000000000B1
+:102F200000000000000000000000000000000000A1
+:102F30000000000000000000000000000000000091
+:102F40000000000000000000000000000000000081
+:102F50000000000000000000000000000000000071
+:102F60000000000000000000000000000000000061
+:102F70000000000000000000000000000000000051
+:102F80000000000000000000000000000000000041
+:102F90000000000000000000000000000000000031
+:102FA0000000000000000000000000000000000021
+:102FB00000000000000000440000000000000000CD
+:102FC0000000000000000000000000000000000001
+:102FD00000000000000000000000000000000000F1
+:102FE00000000000000000000000020202020000D9
+:102FF00000020000000000000000000200000202C9
+:1030000002000000020000000002000000000000BA
+:1030100000000001000000000000000000000000AF
+:10302000000000020000000000000000000000009E
+:103030000000000000000000000000000000000090
+:103040000000000000000000000000000000000080
+:103050000000000000000000000000000000000070
+:103060000000000000000000000000000000000060
+:10307000000202010000000000000000000000004B
+:103080000000000000000000000000000000000040
+:103090000000000000000000000000000000000030
+:1030A0000000000000000000000000000000000020
+:1030B000000000000000000000000000000000020E
+:1030C00002000000000000000000000000000000FE
+:1030D00000000000000000000000000000000002EE
+:1030E00002000000000000000200020202020000D4
+:1030F00000020002000000020002000200000202C2
+:1031000002000202020000000002000000000002B3
+:1031100002000002000000000200000000000001A8
+:10312000020000020001000000000000000000009A
+:10313000000000000000000000000000000000008F
+:10314000000000000000000000000000000000007F
+:10315000000000000000000000000000000000006F
+:103160000000000000000000000200000000020259
+:10317000020202020202000000000000000202003F
+:10318000000000000000000000000000000002003D
+:10319000000000000000000000000000000000022D
+:1031A000020000000202000002020202020202000B
+:1031B000020000000000000000000000000000020B
+:1031C00002000000000000000000000000000000FD
+:1031D00001000000000000000000000000000002EC
+:1031E00002010000000102000200020202020000CF
+:1031F00001020002000000020002000200000202C0
+:1032000002000202020200000002000002020002AC
+:1032100002010102000000000200000000000001A5
+:103220000201020200010002000000000000000292
+:10323000000000000000000000000000000200008C
+:103240000202000000010000000000000000000079
+:10325000000000000000000000000000000000006E
+:103260000000000000000000000200000000020258
+:10327000020202020202020000000000000202003C
+:103280000000020000000202000000000000020036
+:10329000000000000000000000000000000000022C
+:1032A0000202020002020202020202020202020002
+:1032B000020000000000000000000000000000020A
+:1032C00002020000000000000000000000000001F9
+:1032D00001000000000000000000000000000002EB
+:1032E00002020000000102000200020202020001CC
+:1032F00002020102000000020002000200000202BD
+:1033000002020202020202020002000002020002A5
+:1033100002020202000000000200000000000002A1
+:10332000020202020102000202000000020000028A
+:103330000201010100000000000000000002000284
+:103340000202010000010000000000000200000273
+:103350000200000000020000000000000000020067
+:103360000200000001020000020200000000020250
+:103370000202020202020200000200000002020039
+:103380000200020000000202000000000000020033
+:10339000000000000000000000000000000000022B
+:1033A0000202020002020202020202020202020001
+:1033B0000200000000000000000000000000000209
+:1033C00002020000000000000000000000000002F7
+:1033D00001000000000000000000000000000002EA
+:1033E00002020000000102000200020202020002CA
+:1033F00002020202000000020002000200020202B9
+:1034000002020202020202020002020002020002A2
+:1034100002020202000000000200000000000002A0
+:103420000202020202020202020000000200000286
+:10343000020202020000000000000000020200027E
+:10344000020202000101000000000000020002026E
+:103450000202020200020000000000000000020060
+:10346000020000000102020202020000000002024B
+:103470000202020202020202000200000002020036
+:103480000200020000000202000000000000020032
+:103490000002020200000202000000000000000220
+:1034A00002020202020202020202020202020200FE
+:1034B0000200000000000000000000000000000208
+:1034C00002020200000000000000000000000002F4
+:1034D00002000000000000000000000000000002E8
+:1034E00002020000000202000200020202020002C8
+:1034F00002020202000000020002000200020202B8
+:1035000002020202020202020002020002020002A1
+:10351000020202020202000002000000000000029B
+:103520000202020202020202020000000200020283
+:10353000020202020000000000000000020200027D
+:10354000020202020102000000000000020002026A
+:10355000020202020202000000000000000002025B
+:103560000200000002020202020200000200020247
+:103570000202020202020202020200000202020031
+:10358000020002000000020200000000000002022F
+:10359000020202020202020202020202020201020C
+:1035A00002020202020202020202020202020100FE
+:1035B0000200000000000000000000000000000207
+:1035C00002020200000000000000000000000002F3
+:1035D00002000000000000000000000000000202E5
+:1035E00002020000000202000200020202020002C7
+:1035F00002020202000002020002000200020202B5
+:10360000020202020202020200020202020200029E
+:103610000202020202020002020000000000000298
+:103620000202020202020202020000000200020282
+:103630000202020202020000020000000202000276
+:103640000202020202020000000000000200020268
+:103650000202020202020200000000000000020258
+:103660000200000002020202020200000202020244
+:103670000202020202020202020200000202020030
+:10368000020002020000020200000000000002022C
+:10369000020202020202020202020202020201020B
+:1036A00002020202020202020202020202020100FD
+:1036B0000200000000000000000000000000000206
+:1036C00002020202000000000000000000000002F0
+:1036D00002020000000000000000000000000202E2
+:1036E00002020000000202000200020202020002C6
+:1036F00002020202000002020002000200020202B4
+:10370000020202020202020200020202020200029D
+:103710000202020202020002020200000002000293
+:103720000202020202020202020000000200020281
+:103730000202020202020002020000000202000273
+:103740000202020202020000000000000200020267
+:103750000202020202020200000000000200020255
+:103760000200000002020202020200020202020241
+:10377000020202020202020202020200020202002D
+:10378000020002020201020202020202020201021D
+:10379000020202020202020202020202020201020A
+:1037A00002020202020202020202020202020100FC
+:1037B0000202000002000000000000000000000201
+:1037C00002020202000000000000000000000002EF
+:1037D00002020000000000000000000000000202E1
+:1037E00002020100000202000200020202020002C4
+:1037F00002020202000002020002000200020202B3
+:10380000020202020202020200020202020200029C
+:103810000202020202020202020200000002000290
+:103820000202020202020202020000000200020280
+:103830000202020202020002020000000202000272
+:103840000202020202020000000200000200020264
+:103850000202020202020202000000000200020252
+:10386000020201010202020202020002020202023C
+:10387000020202020202020202020200020202002C
+:103880000202020202020202020202020202010219
+:103890000202020202020202020202020202010209
+:1038A00002020202020202020202020201010100FD
+:1038B0000202000002000000000000000000000200
+:1038C00002020202000000000000000000000002EE
+:1038D00002020000000000000000000000000202E0
+:1038E00002020100000202000200020202020002C3
+:1038F00002020202000002020002000200020202B2
+:10390000020202020202020200020202020200029B
+:10391000020202020202020202020000000200028F
+:10392000020202020202020202000000020202027D
+:10393000020202020202020202000000020200026F
+:10394000020202020202020200020000020002025F
+:10395000020202020202020200000200020002024F
+:103960000202020202020202020202020202020237
+:10397000020202020202020202020200020201002C
+:103980000202020202020202020202020202010218
+:10399000020202020202020202020202010101020A
+:1039A00002020202020202020202020201010100FC
+:1039B00002020202020000000000000000000102FA
+:1039C00002020202000000000000000000000002ED
+:1039D00002020000000000000000000000000202DF
+:1039E00002020200000202000200020202020002C1
+:1039F00002020202000002020002000200020202B1
+:103A0000020202020202020200020202020200029A
+:103A1000020202020202020202020000000200028E
+:103A2000020202020202020202000000020202027C
+:103A3000020202020202020202020000020200026C
+:103A4000020202020202020202020200020002025A
+:103A5000020202020202020202000200020002024C
+:103A60000202020202020202020202020202010237
+:103A7000020202020202020202020200020201002B
+:103A80000202020202020202020202020202010217
+:103A90000202020202020202020202020101010209
+:103AA00002020202020202020202020101010100FC
+:103AB00002020202020000000000000000000102F9
+:103AC00002020202000000000000000000000002EC
+:103AD00002020000000000000000000000000202DE
+:103AE00002020200000202000200020202020002C0
+:103AF00002020202000002020002000200020202B0
+:103B00000202020202020202000202020202000299
+:103B1000020202020202020202020200000200028B
+:103B20000202020202020202020200000202020279
+:103B3000020202020202020202020000020200026B
+:103B40000202020202020202020202000200020259
+:103B5000020202020202020202000200020201024A
+:103B60000202020202020202020202020202010236
+:103B70000202020202020202020202020201010029
+:103B80000202020202020202020202020202010216
+:103B90000202020202020202020202020101010208
+:103BA00002020202020202020202020101010100FB
+:103BB00002020202020200000000000000000102F6
+:103BC00002020202000000000000000000000002EB
+:103BD00002020000000000000000000000000202DD
+:103BE00002020200000202000200020202020002BF
+:103BF00002020202000002020002000200020202AF
+:103C00000202020202020202000202020202020296
+:103C10000202020202020202020202020002000288
+:103C20000202020202020202020200020202010277
+:103C30000202020202020202020202000202000268
+:103C40000202020202020202020202020200020256
+:103C50000202020202020202020202000202010247
+:103C60000202020202020202020202020202010235
+:103C70000202020202020202020202020201010028
+:103C80000202020202020202020202020202010215
+:103C90000202020202020202020202010101010208
+:103CA00002020202020202020202010101010100FB
+:103CB00002020202020200020000000000000102F3
+:103CC00002020202000000000000000000000002EA
+:103CD00002020002000000000000000000000202DA
+:103CE00002020200000202000200020202020002BE
+:103CF00002020202000002020002000200020102AF
+:103D00000202020202020202000202020202020295
+:103D10000202020202020202020202020002000287
+:103D20000202020202020202020202020202010274
+:103D30000202020202020202020202000202000267
+:103D40000202020202020202020202020200010256
+:103D50000202020202020202020202020202010244
+:103D60000202020202020202020202020202010234
+:103D70000202020202020202020202020201010027
+:103D80000202020202020202020202020201010215
+:103D90000202020202020202020201010101010208
+:103DA00002020202020202020201010101010100FB
+:103DB00002020202020200020000000000000102F2
+:103DC00002020202000000000000000000000002E9
+:103DD00002020002000000000000000000020202D7
+:103DE00002020200000202000200020202020002BD
+:103DF00002020202000002020002000200020102AE
+:103E00000202020202020202000202020202020294
+:103E10000202020202020202020202020002020284
+:103E20000202020202020202020202020102010274
+:103E30000202020202020202020202020202020262
+:103E40000202020202020202020202020202010253
+:103E50000202020202020202020202020202010243
+:103E60000202020202020202020202020202010233
+:103E70000202020202020202020202020201010026
+:103E80000202020202020202020202020101010215
+:103E90000202020202020202020201010101010207
+:103EA00002020202020101020201010101010100FC
+:103EB00002020202020200020202000000000102ED
+:103EC00002020202000000000000000000000002E8
+:103ED00002020202000000000000000000020202D4
+:103EE00002020200000202000200020202020202BA
+:103EF00002020202000002020002000200020102AD
+:103F00000202020202020202000202020202020293
+:103F10000202020202020202020202020002020283
+:103F20000202020202020202020202020102010273
+:103F30000202020202020202020202020201020262
+:103F40000202020202020202020202020202010252
+:103F50000202020202020202020202020202010242
+:103F60000202020202020202020202020201010233
+:103F70000202020202020202020202020101010026
+:103F80000202020202020202020202020101010214
+:103F9000020202020202010101010101010101020A
+:103FA00002020202020101010101010101010100FD
+:103FB00002020202020200020202000000000102EC
+:103FC00002020202000000000000000000000002E7
+:103FD00002020202000000000000000002020202D1
+:103FE00002020200000202000200020201020202BA
+:103FF00002020202000002020002000200020102AC
+:104000000202020202020202000202020201020293
+:104010000202020202020202020202020002020282
+:104020000202020202020202020202020101010273
+:104030000202020202020202020202020201020261
+:104040000202020202020202020202020102010252
+:104050000202020202020202020202020202010241
+:104060000202020202020202020202020101010233
+:104070000202020202020202020202020101010025
+:104080000202020202020202020202020101010114
+:10409000010202020202010101010101010101020A
+:1040A00002020202020101010101010101010100FC
+:1040B00002020202020202020202000000020102E7
+:1040C00002020202000000000000000000000002E6
+:1040D00002020202000002000000000002020202CE
+:1040E00002020200000202000200020201010202BA
+:1040F00002020202000002020002000200010102AC
+:104100000202020202020202000202020101020293
+:10411000020202020202020202020202020202027F
+:104120000202020202020202020202020101010272
+:104130000202020202020202020202020101020261
+:104140000202020202020202020202020102010251
+:104150000202020202020202020202020102010241
+:104160000202020202020202020202020101010232
+:104170000202020202020202020202020101010024
+:104180000202020202020202020202010101010114
+:10419000010202010201010101010101010101020B
+:1041A00002020202020101010101010101010100FB
+:1041B00002020202020202020202020000020102E4
+:1041C00002020202000000000000000000000002E5
+:1041D00002020202020002000000000002020102CC
+:1041E00002020200000202000200020201010202B9
+:1041F00002020202000002020002000200010102AB
+:104200000202020202020202020202020101010291
+:10421000020202020202020202020202020102027F
+:104220000202020202020202020202020101010271
+:104230000202020202020202020202020101010261
+:104240000202020202020202020202020102010250
+:104250000202020202020202020202020101010241
+:104260000202020202020202020202020101010231
+:104270000202020202020202020202020101010023
+:104280000202020202020101020201010101010116
+:10429000010201010101010101010101010101020C
+:1042A00001020202010101010101010101010100FC
+:1042B00002020202020202020202020000020102E3
+:1042C00002020202000000000000000000000002E4
+:1042D00002020202020002000000000002020102CB
+:1042E00002020200000202000200020101010202B9
+:1042F00002020202000002020002000100010102AB
+:104300000202020202020202020202020101010290
+:10431000020202020202020202020202020101027F
+:104320000202020202020202020202020101010270
+:104330000202020202020202020202020101010260
+:10434000020202020202020202020202010201024F
+:104350000202020202020202020202020101010240
+:104360000202020202020202020102010101010232
+:104370000202020202020202020102020101010221
+:104380000202020202020101020101010101010116
+:10439000010101010101010101010101010101010D
+:1043A00001020102010101010101010101010100FC
+:1043B00002020202020202020202020200020102E0
+:1043C00002010101020200000202020200000002DA
+:1043D00002020202020002000000000002020102CA
+:1043E00002020200000202000200010101010202B9
+:1043F00002020202000002020002000102010102A8
+:10440000020202020202020202020202010101028F
+:10441000020202020202020202020202020101027E
+:104420000202020202020201010202020101010271
+:10443000020202020202020202020202010101025F
+:10444000020202020202020202020202010201024E
+:10445000020202020202020202020202010101023F
+:104460000202020202020202020102010101010231
+:104470000202020202010102020101020101010223
+:104480000202020202020101010101010101010116
+:10449000010101010101010101010101010101010C
+:1044A00001020102010101010101010101010101FA
+:1044B00002020202020202020202020200010102E0
+:1044C00002010101020202020202020200000002D5
+:1044D00002020202020002000000000002020102C9
+:1044E00002020200000202000200010101010202B8
+:1044F00002020202000102020002000102010102A6
+:104500000202020202020202020101010101010291
+:10451000020202020202020202020202020101027D
+:104520000202020102020101010202020101010272
+:10453000020202020202020202020202010101025E
+:10454000020202020202020202020202010101024E
+:10455000020202020202020202020202010101023E
+:104560000202020202020202010102010101010231
+:104570000202020201010101010101010101010226
+:104580000102010202020101010101010101010117
+:10459000010101010101010101010101010101010B
+:1045A00001010101010101010101010101010101FB
+:1045B00002020202020202020202020200010102DF
+:1045C00002010101020202020202020100000002D5
+:1045D00002020202020002000000000002020102C8
+:1045E00002020200000202000200010101010102B8
+:1045F00002020202000202020001000102010102A5
+:104600000202020202020202020101010101010290
+:10461000020202020202020201020202020101027D
+:104620000202020102020101010202010101010272
+:10463000020202020202020202020202010101025D
+:10464000020202020202020202020202010101024D
+:10465000020202020201020202020102010101023F
+:104660000202020202010101010101010101010234
+:104670000202010101010101010101010101010227
+:104680000102010202020101010101010101010116
+:10469000010101010101010101010101010101010A
+:1046A00001010101010101010101010101010101FA
+:1046B00002020202020202020202020202010102DC
+:1046C00002010101020202020202010102000002D3
+:1046D00002020202020002000000000002020102C7
+:1046E00002020200000201000100010101010102B9
+:1046F00002020202000202010001000102010102A5
+:104700000202020201020202020101010101010290
+:10471000020202020202020201020202020101027C
+:104720000202010102010101010202010101010273
+:10473000020202020202020202020202010101025C
+:10474000020202020202020202010101010101024F
+:104750000202020202010102020201010101010240
+:104760000202020202010101010101010101010233
+:104770000101010101010101010101010101010228
+:104780000102010101010101010101010101010118
+:104790000101010101010101010101010101010109
+:1047A00001010101010101010101010101010101F9
+:1047B00002020202020202020202020202010102DB
+:1047C00002010101020202020201010102000002D3
+:1047D00002020202020002000000000002020102C6
+:1047E00002020200000201000100010101010102B8
+:1047F00002020202000202010001000102010102A4
+:104800000202020101010101020101010101010293
+:10481000020202020202020201010201020101027D
+:104820000102010101010101010101010101010276
+:10483000020202020202020201020202010101025C
+:10484000020202020202020202010101010101024E
+:104850000202020101010101020201010101010242
+:104860000202020202010101010101010101010133
+:104870000101010101010101010101010101010227
+:104880000102010101010101010101010101010117
+:104890000101010101010101010101010101010108
+:1048A00001010101010101010101010101010101F8
+:1048B00002020202020202020202020202010102DA
+:1048C00002010101020202020101010101010002D3
+:1048D00002020202020202000000000002010102C4
+:1048E00002020200000201000100010101010102B7
+:1048F00002020201000202010001000102010102A4
+:104900000102010101010101020101010101010294
+:104910000202020102010201010101010101010281
+:104920000102010101010101010101010101010275
+:104930000202020202010201010101010101010260
+:10494000020202020202020202010101010101024D
+:104950000202010101010101010101010101010244
+:104960000202020202010101010101010101010132
+:104970000101010101010101010101010101010226
+:104980000102010101010101010101010101010116
+:104990000101010101010101010101010101010107
+:1049A00001010101010101010101010101010101F7
+:1049B00001020202020202020202020202010101DB
+:1049C00002020202020101010101010101010002D2
+:1049D00002020202020202000002000002010102C1
+:1049E00002020200000101000100010101010102B7
+:1049F00002010201020201010001000102010101A4
+:104A00000102010101010101020101010101010293
+:104A10000102020101010101010101010101010283
+:104A20000101010101010101010101010101010275
+:104A30000102020101010101010101010101010263
+:104A40000101020102010101010101010101010154
+:104A50000101010101010101010101010101010245
+:104A60000102020201010101010101010101010133
+:104A70000101010101010101010101010101010225
+:104A80000101010101010101010101010101010116
+:104A90000101010101010101010101010101010106
+:104AA00001010101010101010101010101010102F5
+:104AB00001020202010202020202020202010101DB
+:104AC00001020202010101010101010201010002D2
+:104AD00002020202020202000002000001010102C1
+:104AE00002020200000101000100010101010102B6
+:104AF00002010201020201010001000101010101A4
+:104B00000101010101010101020101010101010194
+:104B10000102010101010101010101010101010184
+:104B20000101010101010101010101010101010175
+:104B30000102010101010101010101010101010164
+:104B40000101010101010101010101010101010155
+:104B50000101010101010101010101010101010244
+:104B60000102020201010101010101010101010132
+:104B70000101010101010101010101010101010224
+:104B80000101010101010101010101010101010115
+:104B90000101010101010101010101010101010105
+:104BA00001010101010101010101010101010102F4
+:104BB00001020202010202020201020201010201DB
+:104BC00001020202010101010101020201010002D0
+:104BD00002020202020202000002020001010102BE
+:104BE00001020200000101000100010101010102B6
+:104BF00001010101020201010201000101010101A3
+:104C00000101010101010101020101010101010193
+:104C10000101010101010101010101010101010184
+:104C20000101010101010101010101010101010174
+:104C30000101010101010101010101010101010164
+:104C40000101010101010101010101010101010154
+:104C50000101010101010101010101010101010144
+:104C60000102020101010101010101010101010132
+:104C70000101010101010101010101010101010223
+:104C80000101010101010101010101010101010114
+:104C90000101010101010101010101010101010104
+:104CA00001010101010101010101010101010102F3
+:104CB00001020202010102010201010101010201DE
+:104CC00001020202010101010102020202020002CC
+:104CD00002020202020202000002020001010101BE
+:104CE00001020200000101000100010101010102B5
+:104CF00001010101020201010201000101010101A2
+:104D00000101010101010101020101010101010192
+:104D10000101010101010101010101010101010183
+:104D20000101010101010101010101010101010173
+:104D30000101010101010101010101010101010163
+:104D40000101010101010101010101010101010153
+:104D50000101010101010101010101010101010143
+:104D60000101010101010101010101010101010133
+:104D70000101010101010101010101010101010222
+:104D80000101010101010101010101010101010113
+:104D90000101010101010101010101010101010103
+:104DA00001010101010101010101010101010102F2
+:104DB00001020201010102010101010101010201DF
+:104DC00001020202010101010202020202020002CA
+:104DD00002020202020202000202020001010101BB
+:104DE00001010200000101000100010101010101B6
+:104DF00001010101020201010201000101010101A1
+:104E00000101010101010101020101010101010191
+:104E10000101010101010101010101010101010182
+:104E20000101010101010101010101010101010172
+:104E30000101010101010101010101010101010162
+:104E40000101010101010101010101010101010152
+:104E50000101010101010101010101010101010142
+:104E60000101010101010101010101010101010132
+:104E70000101010101010101010101010101010122
+:104E80000101010101010101010101010101010112
+:104E90000101010101010101010101010101010102
+:104EA00001010101010101010101010101010102F1
+:104EB00001010101010102010101010101010201E0
+:104EC00001020202010202020202020202020001C7
+:104ED00002010202020202000202020001010101BB
+:104EE00001010200000101000100010101010101B5
+:104EF00001010101020201010201000101010101A0
+:104F00000101010101010101010101010101010191
+:104F10000101010101010101010101010101010181
+:104F20000101010101010101010101010101010171
+:104F30000101010101010101010101010101010161
+:104F40000101010101010101010101010101010151
+:104F50000101010101010101010101010101010141
+:104F60000101010101010101010101010101010131
+:104F70000101010101010101010101010101010121
+:104F80000101010101010101010101010101010012
+:104F90000101010101010101010101010101010101
+:104FA00001010101010101010101010101010102F0
+:104FB00001010101010101010101010101010202DF
+:104FC00002000000020202020202020002020001CC
+:104FD00001010202020202000202020001010101BB
+:104FE00001010200000101000100010101010101B4
+:104FF000010101010202010102010001010101019F
+:105000000101010101010101010101010101010190
+:105010000101010101010101010101010101010180
+:105020000101010101010101010101010101010170
+:105030000101010101010101010101010101010160
+:105040000101010101010101010101010101010150
+:105050000101010101010101010101010101010140
+:105060000101010101010101010101010101010130
+:105070000101010101010101010101010101010120
+:105080000101010101010101010101010101010011
+:105090000001010101010101010101010101010101
+:1050A00001010101010101010101010101010102EF
+:1050B00001010101010101010101010101010202DE
+:1050C00002000000020202020202000001010001CF
+:1050D00001010201020201000202020001010101BC
+:1050E00001010100000101020100010101010101B2
+:1050F000010101010202010102010001010101019E
+:10510000010101010101010101010101010101018F
+:10511000010101010101010101010101010101017F
+:10512000010101010101010101010101010101016F
+:10513000010101010101010101010101010101015F
+:10514000010101010101010101010101010101014F
+:10515000010101010101010101010101010101013F
+:10516000010101010101010101010101010101012F
+:10517000010101010101010101010101010101011F
+:10518000010101010101010101010101010101020E
+:105190000001010101010101010101010101010100
+:1051A00001010101010101010101010101010102EE
+:1051B00001010101010101010101010101010202DD
+:1051C00002000000020202020200000001010001D0
+:1051D00001010201020201000202020001010101BB
+:1051E00001010100000101020100010101010101B1
+:1051F000010101010202010102010201010101019B
+:10520000010101010101010101010101010101018E
+:10521000010101010101010101010101010101017E
+:10522000010101010101010101010101010101016E
+:10523000010101010101010101010101010101015E
+:10524000010101010101010101010101010101014E
+:10525000010101010101010101010101010101013E
+:10526000010101010101010101010101010101012E
+:10527000010101010101010101010101010101011E
+:10528000010101010101010101010101010101020D
+:1052900002010101010101010101010101010001FE
+:1052A00001010101010101010101010101010102ED
+:1052B00001010101010101010101010101000202DD
+:1052C00002000000020202020000000001010001D1
+:1052D00001010101010201020202020001010101BA
+:1052E00001010100010101020100010101010101AF
+:1052F000010101010201010102010201010101019B
+:10530000010101010101010101010101010101018D
+:10531000010101010101010101010101010101017D
+:10532000010101010101010101010101010101016D
+:10533000010101010101010101010101010101015D
+:10534000010101010101010101010101010101014D
+:10535000010101010101010101010101010101013D
+:10536000010101010101010101010101010101012D
+:10537000010101010101010101010101010101011D
+:10538000010101010101010101010101010101020C
+:1053900002010101010101010101010100010001FE
+:1053A00001010101010101010101010101010102EC
+:1053B00000010101010101010101010101000202DD
+:1053C00002000000020000000000000001010001D6
+:1053D00001010101010201020201010001010101BB
+:1053E00001010100020101020100010101010101AD
+:1053F000010101010201010102010201010101019A
+:10540000010101010101010101010101010101018C
+:10541000010101010101010101010101010101017C
+:10542000010101010101010101010101010101016C
+:10543000010101010101010101010101010101015C
+:10544000010101010101010101010101010101014C
+:10545000010101010101010101010101010101013C
+:10546000010101010101010101010101010101012C
+:10547000010101010101010101010101010101011C
+:10548000010101010101010101010101010101020B
+:105490000200000001010000000100000000020203
+:1054A00002010101010202010101010202010202E5
+:1054B00000010101010101010101010100000002DF
+:1054C00001000000000000000000000001010001D8
+:1054D00001010101010101020201010001010101BB
+:1054E00001010100020101020100010101010101AC
+:1054F000010101010201010101010201010101019A
+:10550000010101010101010101010101010101018B
+:10551000010101010101010101010101010101017B
+:10552000010101010101010101010101010101016B
+:10553000010101010101010101010101010101015B
+:10554000010101010101010101010101010101014B
+:10555000010101010101010101010101010101013B
+:10556000010101010101010101010101010101012B
+:10557000010101010101010101010101010101011B
+:10558000010101010101010101010101010101020A
+:105590000200000000000000000000000200020203
+:1055A00002010101010202020102020202020202E0
+:1055B00000010001000100010100010000000001E4
+:1055C00001000000000000000000000001010001D7
+:1055D00001010101010101020201010201010101B8
+:1055E00001010102020101020100010101010101A9
+:1055F000010101010101010101010101010101019B
+:10560000010101010101010101010101010101018A
+:10561000010101010101010101010101010101017A
+:10562000010101010101010101010101010101016A
+:10563000010101010101010101010101010101015A
+:10564000010101010101010101010101010101014A
+:10565000010101010101010101010101010101013A
+:10566000010101010101010101010101010101012A
+:10567000010101010101010101010101010101011A
+:105680000101010101010101010101010101010209
+:1056900002020202000002020200020202020202F0
+:1056A00002010201010202020202020202020202DD
+:1056B00000000000000000010000000000000001E8
+:1056C00001000000000000000000000001010101D5
+:1056D00001010101010101020101010201010101B8
+:1056E00001010102020101020100010101010101A8
+:1056F000010101010101010101010101010101019A
+:105700000101010101010101010101010101010189
+:105710000101010101010101010101010101010179
+:105720000101010101010101010101010101010169
+:105730000101010101010101010101010101010159
+:105740000101010101010101010101010101010149
+:105750000101010101010101010101010101010139
+:105760000101010101010101010101010101010129
+:105770000101010101010101010101010101010119
+:105780000101010101010101010101010101010208
+:1057900002020202020202020202020202020202E9
+:1057A00002020201020202020202020202020202DA
+:1057B00000000000000000000000000000000001E8
+:1057C00001000000000000000000000001010101D4
+:1057D00001010101010101020101010101010101B8
+:1057E00001010102020101010100010101010101A8
+:1057F0000101010101010101010101010101010199
+:105800000101010101010101010101010101010188
+:105810000101010101010101010101010101010178
+:105820000101010101010101010101010101010168
+:105830000101010101010101010101010101010158
+:105840000101010101010101010101010101010148
+:105850000101010101010101010101010101010138
+:105860000101010101010101010101010101010128
+:105870000101010101010101010101010101010118
+:105880000101010101010101010101010101010207
+:1058900002020202020202020202020202020202E8
+:1058A00002020202020202020202020202020202D8
+:1058B00000000000000000000000000000000001E7
+:1058C00001000000000000000000000001010101D3
+:1058D00001010101010101020101010101010101B7
+:1058E00001010102020101010100010101010101A7
+:1058F0000101010101010101010101010101010198
+:105900000101010101010101010101010101010187
+:105910000101010101010101010101010101010177
+:105920000101010101010101010101010101010167
+:105930000101010101010101010101010101010157
+:105940000101010101010101010101010101010147
+:105950000101010101010101010101010101010137
+:105960000101010101010101010101010101010127
+:105970000101010101010101010101010101010216
+:105980000201010101010101010101010101020204
+:1059900002020202020202020202020202020202E7
+:1059A00002020202020202020202020202020202D7
+:1059B00000000000000000000000000000000001E6
+:1059C00001000000000000000000000001010101D2
+:1059D00001010101010101010101010101010101B7
+:1059E00001010102020101010102010101010101A4
+:1059F0000101010101010101010101010101010197
+:105A00000101010101010101010101010101010186
+:105A10000101010101010101010101010101010176
+:105A20000101010101010101010101010101010166
+:105A30000101010101010101010101010101010156
+:105A40000101010101010101010101010101010146
+:105A50000101010101010101010101010101010136
+:105A60000101010101010101010101010101010126
+:105A70000101010101010101010101010101010215
+:105A80000201010101010101010101010202020201
+:105A900002020202020202020202020202020202E6
+:105AA00002020202020202020202020202020202D6
+:105AB00000000000000000000000000000000001E5
+:105AC00001000000000000000000000001010101D1
+:105AD00001010101010101010101010101010101B6
+:105AE00001010102020101010102010101010101A3
+:105AF0000101010101010101010101010101010196
+:105B00000101010101010101010101010101010185
+:105B10000101010101010101010101010101010175
+:105B20000101010101010101010101010101010165
+:105B30000101010101010101010101010101010155
+:105B40000101010101010101010101010101010145
+:105B50000101010101010101010101010101010135
+:105B60000101010101010101010101010101010125
+:105B70000101010101010101010101010101010214
+:105B800002010201010102020202020202020202F9
+:105B900002020202020202020202020202020202E5
+:105BA00002020202020202020202020202020202D5
+:105BB00000000000000000000000000000000001E4
+:105BC00001000000000000000000000001010101D0
+:105BD00001010101010101010101010101010101B5
+:105BE00001010102020101010101010101010101A3
+:105BF0000101010101010101010101010101010195
+:105C00000101010101010101010101010101010184
+:105C10000101010101010101010101010101010174
+:105C20000101010101010101010101010101010164
+:105C30000101010101010101010101010101010154
+:105C40000101010101010101010101010101010144
+:105C50000101010101010101010101010101010134
+:105C60000101010101010101010101010101010124
+:105C70000101010101010101010101010102020211
+:105C800002020202020202020202020202020202F4
+:105C900002020202020202020202020202020202E4
+:105CA00002020202020202020202020202020202D4
+:105CB00000000000000000000000000000000001E3
+:105CC00001000000000000000000000000000101D1
+:105CD00001010101010101010101010101010101B4
+:105CE00001010102010101010101010101010101A3
+:105CF0000101010101010101010101010101010194
+:105D00000101010101010101010101010101010183
+:105D10000101010101010101010101010101010173
+:105D20000101010101010101010101010000010165
+:105D30000101010101010101010101010101010153
+:105D40000101010101010101010101010101010143
+:105D50000101010101010101010101010101010133
+:105D60000101010101010101010101010101010222
+:105D7000020101010101010101010101020202020E
+:105D800002020202020202020202020202020202F3
+:105D900002020202020202020202020202020202E3
+:105DA00002020202020202020202020202020202D3
+:105DB00000000000000000000000000000000001E2
+:105DC00001000000000000000000000000000101D0
+:105DD00001010101010101010101010101010101B3
+:105DE00001010101010101010101010101010101A3
+:105DF0000101010101010101010101010101010193
+:105E00000101010101010101010101010101010182
+:105E10000101010101010101010101010101010073
+:105E20000101000001010000000101010000020168
+:105E30000101010101010101010101010101010152
+:105E40000101010101010101010101010101010142
+:105E50000101010101010101010101010101000133
+:105E60000101010101010101010101000100020222
+:105E70000202020202020202020202020202020202
+:105E800002020202020202020202020202020202F2
+:105E900002020202020202020202020202020202E2
+:105EA00002020202020202020202020202020202D2
+:105EB00000000000000000000000000000020001DF
+:105EC00001010101000000000000000100000101CB
+:105ED00001010101010101010101010101010101B2
+:105EE00001010101010101010101010101010101A2
+:105EF0000101010101010101010101010101010192
+:105F00000101010101010101010101010101010181
+:105F10000101010101010101010101010101010072
+:105F20000201000001010000000101000202020163
+:105F30000101010101010101010101010101010151
+:105F40000101010101010101010101010101010042
+:105F50000101010101010101010101010000000134
+:105F6000010101010101010101010100020202021E
+:105F70000202020202020202020202020202020201
+:105F800002020202020202020202020202020202F1
+:105F900002020202020202020202020202020202E1
+:105FA00002020202020202020202020202020202D1
+:105FB00000000000000000000000000000020001DE
+:105FC00001010101000000000000010100000101C9
+:105FD00001010101010101010101010101010101B1
+:105FE00001010101010101010101010101010101A1
+:105FF0000101010101010101010101010101010191
+:106000000101010101010101010101010101010180
+:10601000010101010101010101010101010101026F
+:106020000202020202020202020202020202020151
+:106030000001010101010101010101010101000053
+:106040000101010101010101010101010101010041
+:106050000100000000000000010100000000020239
+:106060000201010101020202020202020202020214
+:106070000202020202020202020202020202020200
+:1060800002020202020202020202020202020202F0
+:1060900002020202020202020202020202020202E0
+:1060A00002020202020202020202020202020202D0
+:1060B00002000000020000020000000000020001D7
+:1060C00001010101000000000001010100000101C7
+:1060D00001010101010101010101010101010101B0
+:1060E00001010101010101010101010101010101A0
+:1060F0000101010101010101010101010101010190
+:10610000010101010101010101010101010101017F
+:10611000010101010101010101010101010101026E
+:106120000202020202020202020202020202020150
+:106130000001010101010101010101010101000052
+:106140000101010101010101010000000001020241
+:106150000200000000000000000000000202020235
+:10616000020202020202020202020202020202020F
+:1061700002020202020202020202020202020202FF
+:1061800002020202020202020202020202020202EF
+:1061900002020202020202020202020202020202DF
+:1061A00002020202020202020202020202020202CF
+:1061B00002000000020200020002020000020000D1
+:1061C00001010101000000000101010100000101C5
+:1061D00001010101010101010101010101010101AF
+:1061E000010101010101010101010101010101019F
+:1061F000010101010101010101010101010101018F
+:10620000010101010101010101010101010101017E
+:10621000010101010101010101010101010101026D
+:10622000020202020202020202020202020202024E
+:10623000000101010101010101010101020202004D
+:10624000020001010101010101000000020202023D
+:10625000020202020202020202020202020202021E
+:10626000020202020202020202020202020202020E
+:1062700002020202020202020202020202020202FE
+:1062800002020202020202020202020202020202EE
+:1062900002020202020202020202020202020202DE
+:1062A00002020202020202020202020202020202CE
+:1062B00002020002020200020202020202020000C6
+:1062C00000010101000101010101010100000101C2
+:1062D00001010101010101010101010101010101AE
+:1062E000010101010101010101010101010101019E
+:1062F000010101010101010101010101010101028D
+:10630000020101000001010101010000010102017F
+:10631000010101010101010101010101010100026D
+:10632000020202020202020202020202020202024D
+:10633000020202020202020202020202020202023D
+:10634000020202020202020202020202020202022D
+:10635000020202020202020202020202020202021D
+:10636000020202020202020202020202020202020D
+:1063700002020202020202020202020202020202FD
+:1063800002020202020202020202020202020202ED
+:1063900002020202020202020202020202020202DD
+:1063A00002020202020202020202020202020202CD
+:1063B00002020202020200020202020202020200C1
+:1063C00000010101010101010101010100000101C0
+:1063D00001010101010101010101010101010101AD
+:1063E000010101010100010101010101020101019D
+:1063F000010101010101010101010101010201028B
+:106400000202020000010101010100000202020279
+:106410000201010101010101010101000102020269
+:10642000020202020202020202020202020202024C
+:10643000020202020202020202020202020202023C
+:10644000020202020202020202020202020202022C
+:10645000020202020202020202020202020202021C
+:10646000020202020202020202020202020202020C
+:1064700002020202020202020202020202020202FC
+:1064800002020202020202020202020202020202EC
+:1064900002020202020202020202020202020202DC
+:1064A00002020202020202020202020202020202CC
+:1064B00002020202020202020202020202020200BE
+:1064C00001010101010101010101010100000101BE
+:1064D00001010101010101010101010101010101AC
+:1064E000010101010100020101010101020101019B
+:1064F000000001010101010201010102010100028C
+:10650000020202020202020202020202020202026B
+:10651000020202020202020202020202020202025B
+:10652000020202020202020202020202020202024B
+:10653000020202020202020202020202020202023B
+:10654000020202020202020202020202020202022B
+:10655000020202020202020202020202020202021B
+:10656000020202020202020202020202020202020B
+:1065700002020202020202020202020202020202FB
+:1065800002020202020202020202020202020202EB
+:1065900002020202020202020202020202020202DB
+:1065A00002020202020202020202020202020202CB
+:1065B00002020202020202020202020202020201BC
+:1065C00001010101010101010101010100000101BD
+:1065D00001010101010101010101010101010101AB
+:1065E0000101010101000201010102020201010297
+:1065F000020000000100010101020101000002028D
+:10660000020202020202020202020202020202026A
+:10661000020202020202020202020202020202025A
+:10662000020202020202020202020202020202024A
+:10663000020202020202020202020202020202023A
+:10664000020202020202020202020202020202022A
+:10665000020202020202020202020202020202021A
+:10666000020202020202020202020202020202020A
+:1066700002020202020202020202020202020202FA
+:1066800002020202020202020202020202020202EA
+:1066900002020202020202020202020202020202DA
+:1066A00002020202020202020202020202020202CA
+:1066B00002020202020202020202020202020201BB
+:1066C00001010101010101010101010101010101BA
+:1066D00001010101010101010101010101010101AA
+:1066E0000101010101000201020102020101010296
+:1066F0000202020200000200000100000202020287
+:106700000202020202020202020202020202020269
+:106710000202020202020202020202020202020259
+:106720000202020202020202020202020202020249
+:106730000202020202020202020202020202020239
+:106740000202020202020202020202020202020229
+:106750000202020202020202020202020202020219
+:106760000202020202020202020202020202020209
+:1067700002020202020202020202020202020202F9
+:1067800002020202020202020202020202020202E9
+:1067900002020202020202020202020202020202D9
+:1067A00002020202020202020202020202020202C9
+:1067B00002020202020202020202020202020201BA
+:1067C00001010101010101010101010101010100BA
+:1067D00001010101010101010101010101010101A9
+:1067E0000101010101000100020101010101010299
+:1067F0000202020202020202020202020202020279
+:106800000202020202020202020202020202020268
+:106810000202020202020202020202020202020258
+:106820000202020202020202020202020202020248
+:106830000202020202020202020202020202020238
+:106840000202020202020202020202020202020228
+:106850000202020202020202020202020202020218
+:106860000202020202020202020202020202020208
+:1068700002020202020202020202020202020202F8
+:1068800002020202020202020202020202020202E8
+:1068900002020202020202020202020202020202D8
+:1068A00002020202020202020202020202020202C8
+:1068B00002020202020202020202020202020201B9
+:1068C00001010101010101010101010101010100B9
+:1068D00000000101010101010101010101010002AA
+:1068E0000201010101000100010101010100020298
+:1068F0000202020202020202020202020202020278
+:106900000202020202020202020202020202020267
+:106910000202020202020202020202020202020257
+:106920000202020202020202020202020202020247
+:106930000202020202020202020202020202020237
+:106940000202020202020202020202020202020227
+:106950000202020202020202020202020202020217
+:106960000202020202020202020202020202020207
+:1069700002020202020202020202020202020202F7
+:1069800002020202020202020202020202020202E7
+:1069900002020202020202020202020202020202D7
+:1069A00002020202020202020202020202020202C7
+:1069B00002020202020202020202020202020201B8
+:1069C00001010101010101010101010101010102B6
+:1069D0000202020202020202020202020202020297
+:1069E0000202020202020202020202020202020287
+:1069F0000202020202020202020202020202020277
+:106A00000202020202020202020202020202020266
+:106A10000202020202020202020202020202020256
+:106A20000202020202020202020202020202020246
+:106A30000202020202020202020202020202020236
+:106A40000202020202020202020202020202020226
+:106A50000202020202020202020202020202020216
+:106A60000202020202020202020202020202020206
+:106A700002020202020202020202020202020202F6
+:106A800002020202020202020202020202020202E6
+:106A900002020202020202020202020202020202D6
+:106AA00002020202020202020202020202020202C6
+:106AB00002020202020202020202020202020201B7
+:106AC00001010101010101010101010101010102B5
+:106AD0000202020202020202020202020202020296
+:106AE0000202020202020202020202020202020286
+:106AF0000202020202020202020202020202020276
+:106B00000202020202020202020202020202020265
+:106B10000202020202020202020202020202020057
+:106B20000000000000000000000000000000000263
+:106B30000202020202020202020202020202020235
+:106B40000202020202020202020202020202020225
+:106B50000202020202020202020202020202020215
+:106B60000202020202020202020202020202020205
+:106B700002020202020202020202020202020202F5
+:106B800002020202020202020202020202020202E5
+:106B900002020202020202020202020202020202D5
+:106BA00002020202020202020202020202020202C5
+:106BB00002020202020202020202020202020201B6
+:106BC00001010101010101010101010101010100B6
+:106BD00000000000000000000000000000000002B3
+:106BE0000202020202020202020202020202020285
+:106BF0000202020202020202020202020202020275
+:106C00000202020202020202020202020202020264
+:106C10000202020202020202020202020202020056
+:106C20000000000000000000000000000000000262
+:106C30000202020202020202020202020202020234
+:106C40000202020202020202020202020202020224
+:106C50000202020202020202020202020202020214
+:106C60000202020202020202020202020202020204
+:106C700002020202020202020202020202020202F4
+:106C800002020202020202020202020202020202E4
+:106C900002020202020202020202020202020202D4
+:106CA00002020202020202020202020202020200C6
+:106CB00000000000000000000000000000000001D3
+:106CC00001010101010101010101010101010100B5
+:106CD00000000000000000000000000000000000B4
+:106CE00000000000000000000000000000000000A4
+:106CF0000000000000000000000000000000000094
+:106D00000000000000000000000000000000000281
+:106D10000202020202020202020202020202020154
+:106D20000101010101010101010101010101010252
+:106D30000202020202020202020202020202020233
+:106D40000202020202020202020202020202020223
+:106D50000202020202020202020202020202020213
+:106D60000202020202020202020202020202020203
+:106D700002020202020202020202020202020202F3
+:106D800002020202020202020202020202020202E3
+:106D900002020202020202020202020202020200D5
+:106DA00000000000000000000000000000000000E3
+:106DB00000000000000000000000000000000001D2
+:106DC00001010101010101010101010101010101B3
+:106DD00001010101010101010101010101010101A3
+:106DE0000101010101010101010101010101010193
+:106DF0000101010101010101010101010101010084
+:106E00000000000000000000000000000000000280
+:106E10000202020202020202020202020202020153
+:106E20000101010101010101010101010101010251
+:106E30000202020202020202020202020202020034
+:106E40000000000000000000000000000000000042
+:106E50000000000000000000000000000000000032
+:106E60000000000000000000000000000000000022
+:106E70000000000000000000000000000000000012
+:106E80000000000000000000000000000000000002
+:106E900000000000000000000000000000000000F2
+:106EA00000000000000000000000000000000000E2
+:106EB00000000000000000000000000000000001D1
+:106EC00001010101010101010101010101010100B3
+:106ED00000000101010001010101010101010001A6
+:106EE0000101010101010101010101010101010192
+:106EF0000101010101010101010101010101010182
+:106F00000101010101010101010101010101010171
+:106F10000101010101010101010101010101010161
+:106F20000101010101010101010101010101010151
+:106F30000101010101010101010101010101010141
+:106F40000101010101010101010101010101010131
+:106F50000101010101010101010101010101010121
+:106F60000101010101010101010101010101010111
+:106F70000101010101010101010101010101010101
+:106F800001010101010101010101010101010101F1
+:106F900001010101010101010101010101010101E1
+:106FA00001010101010101010101010101010100D2
+:106FB00000000000000000000000000000000001D0
+:106FC00001010101010101010101010101010100B2
+:106FD00000000000000000000000000000000002AF
+:106FE0000202020101000100010000000002020192
+:106FF0000101010101010101010101010101010181
+:107000000101010101010101010101010101010170
+:107010000101010101010101010101010101010160
+:107020000101010101010101010101010101010150
+:107030000101010101010101010101010101010140
+:107040000101010101010101010101010101010130
+:107050000101010101010101010101010101010120
+:107060000101010101010101010101010101010110
+:107070000101010101010101010101010101010100
+:1070800001010101010101010101010101010101F0
+:1070900001010101010101010101010101010101E0
+:1070A00001010101010101010101010101010100D1
+:1070B00000000000000000000000000000000001CF
+:1070C00001010101010101010101010101010100B1
+:1070D00000000000000000000000000000000000B0
+:1070E00000000000000000000000000000000000A0
+:1070F000000000000000000000000000000000018F
+:10710000010101010101010101010101010101016F
+:107110000101010101010101010101010101010060
+:10712000000000000000000000000000000000015E
+:10713000010101010101010101010101010101013F
+:10714000010101010101010101010101010101012F
+:10715000010101010101010101010101010101011F
+:10716000010101010101010101010101010101010F
+:1071700001010101010101010101010101010101FF
+:1071800001010101010101010101010101010101EF
+:1071900001010101010101010101010101010100E0
+:1071A00000000000000000000000000000000000DF
+:1071B00000000000000000000000000000000001CE
+:1071C00001010101010101010101010101010100B0
+:1071D00000000000000000000000000000000000AF
+:1071E000000000000000000000000000000000009F
+:1071F000000000000000000000000000000000018E
+:10720000010101010101010101010101010101016E
+:10721000010101010101010101010101010101005F
+:10722000000000000000000000000000000000015D
+:10723000010101010101010101010101010101003F
+:10724000000000000000000000000000000000003E
+:10725000000000000000000000000000000000002E
+:10726000000000000000000000000000000000001E
+:10727000000000000000000000000000000000000E
+:1072800000000000000000000000000000000000FE
+:1072900000000000000000000000000000000000EE
+:1072A00000000000000000000000000000000000DE
+:1072B00000000000000000000000000000000000CE
+:1072C00000000000000000000000000000000000BE
+:1072D00000000000000000000000000000000000AE
+:1072E000000000000000000000000000000000009E
+:1072F000000000000000000000000000000000008E
+:10730000000000000000000000000000000000007D
+:10731000000000000000000000000000000000006D
+:10732000000000000000000000000000000000005D
+:10733000000000000000000000000000000000004D
+:10734000000000000000000000000000000000003D
+:10735000000000000000000000000000000000002D
+:10736000000000000000000000000000000000001D
+:10737000000000000000000000000000000000000D
+:1073800000000000000000000000000000000000FD
+:1073900000000000000000000000000000000000ED
+:1073A00000000000000000000000000000000000DD
+:1073B0000000000000000000000000000000003E8F
+:1073C00000000000000000000000000000000000BD
+:1073D00000000000000000000000000000000000AD
+:1073E0000000000000000002000000000100020098
+:1073F000000000000000000000000000000000008D
+:10740000000000000000000000000000000000007C
+:10741000000000000000000000000000000000006C
+:10742000000000000000000000000000010000005B
+:10743000000000000000000000000000000000004C
+:107440000000000000000000000200000200020036
+:107450000200000000000000000200000000000028
+:10746000000000000000000000000000000200001A
+:107470000000000000000000020000020002000204
+:1074800000020000020200000000000000000000F6
+:1074900000000202000000000000000000000000E8
+:1074A00000000000000000000000000000000000DC
+:1074B00000000000000000000000000000000000CC
+:1074C00000000000000000020200000000000000B8
+:1074D00000000000000000000201000200000000A7
+:1074E0000000000000000002000000010101020095
+:1074F0000000000200000000000200000000000088
+:10750000000000000000000000000000000000007B
+:10751000000000000000000000000000000000006B
+:10752000000000000000000000000000010000005A
+:10753000000000000000000000000000000000004B
+:107540000000000000000000000200000200020035
+:107550000200000000000001020200000000000024
+:107560000000020000000000000002000202000013
+:1075700000000000000000020200000202020002FF
+:1075800000020000020200000001020002000200EE
+:1075900002000202000000000000000000000000E5
+:1075A00000000000000000020200000000020002D3
+:1075B00000020202020202000000000000000000BF
+:1075C00000000000000000020200000000000000B7
+:1075D00000000000000000000201020200000000A4
+:1075E0000000000000000002000000010101020094
+:1075F0000200000200000002000200000002000081
+:107600000002000200000000000000000000000076
+:10761000000000000000000000000000000000006A
+:107620000000000000000000000000000100000059
+:10763000000000000000000000000000000000004A
+:107640000000000000000000000200000200020034
+:107650000200000000000002020200000000000022
+:10766000000002000000000201000202020200000D
+:1076700000000002000000020200000202020002FC
+:1076800000020000020200020201020202020200E5
+:1076900002000202000000020200000200020002DA
+:1076A00000020202020202020202020002020202BE
+:1076B00002020202020202000000000000000000BC
+:1076C00000000000000002020200000000000000B4
+:1076D00000000000000000000201020200000000A3
+:1076E000000000000000020201000102020102008D
+:1076F000020000020000000200020200020202007A
+:107700000002000200000001000000000000000074
+:107710000000000000000000000200000000000067
+:107720000000000000000200020000000200000053
+:107730000000000000000000000100000000000048
+:107740000000000000000002010200000200020030
+:10775000020002000002000202020000000000001D
+:107760000000020200000202020202020202020003
+:1077700000000002000000020202020202020002F7
+:1077800002020000020202020202020202020200DF
+:1077900002000202000200020202020202020202CF
+:1077A00002020202020202020202020002020202BB
+:1077B00002020202020202000202000000000000B7
+:1077C00000000000000002020200000000000000B3
+:1077D00000000000000000000202020200000000A1
+:1077E0000000000000000202010001020202020289
+:1077F0000200000200000002000202000202020079
+:10780000000202020000000200000000000002006E
+:107810000000000002020000000200000000020060
+:10782000000000000000020002000200020002004E
+:107830000000000000000002000200000000000044
+:10784000000000000000000202020000020002002E
+:10785000020002000002000202020200000000001A
+:107860000000020200000202020202020202020200
+:1078700000020002000200020202020202020002F2
+:1078800002020200020202020202020202020202DA
+:1078900002020202020200020202020202020202CA
+:1078A00002020202020202020202020002020202BA
+:1078B00002020202020202000202000200000000B4
+:1078C00000000000000002020200000000000000B2
+:1078D00000000000000000000202020200000000A0
+:1078E0000000000002000202010002020202020285
+:1078F0000200020200000002000202000202020076
+:10790000000202020002000200000000000002006B
+:10791000000000000202020001020000000002005C
+:107920000000000000000202020002010201020247
+:107930000000000000000002000200000000000043
+:10794000000000000000000202020000020202002B
+:107950000200020200020202020202000002000013
+:1079600000000202000002020202020202020202FF
+:1079700002020002000200020202020202020002EF
+:1079800002020200020202020202020202020202D9
+:1079900002020202020202020202020202020202C7
+:1079A00002020202020202020202020202020202B7
+:1079B00002020202020202000202020200000000B1
+:1079C00000000000000002020200000000000000B1
+:1079D000000000000000000002020202000000009F
+:1079E0000000000002000202020002020202020283
+:1079F000020002020200000202020202020202026D
+:107A0000000202020002000200000000000002006A
+:107A1000000000000202020001020000000002005B
+:107A20000000020000000202020002020202020242
+:107A3000020000000000000201020001000000003E
+:107A40000000000000000002020202000202020028
+:107A50000200020200020202020202000002000012
+:107A600000000202000002020202020202020202FE
+:107A700002020002020200020202020202020002EC
+:107A800002020200020202020202020202020202D8
+:107A900002020202020202020202020202020202C6
+:107AA00002020202020201020202020202020202B7
+:107AB00002020202020201000202020200020200AD
+:107AC00000000000000002020200000000000000B0
+:107AD000000000000000000002020202000000009E
+:107AE0000000000002020202020002020202020280
+:107AF000020002020200020202020202020202026A
+:107B00000202020202020002010000000000020064
+:107B10000000000002020202020201010001020054
+:107B20000000020000000202020002020202020241
+:107B3000020000000000000202020101000000003B
+:107B40000200020000000002020202000202020023
+:107B5000020002020002020202020202000200000F
+:107B600000000202020202020202020202020202F9
+:107B700002020002020202020202020202020202E7
+:107B800002020200020202020202020202020202D7
+:107B900002020202020202020202020202020202C5
+:107BA00002020202020201020202020202020202B6
+:107BB00002020202020201000202020200020202AA
+:107BC00000000000000002020200000000000002AD
+:107BD000000000000000000002020202020000009B
+:107BE000000000000202020202000202020202027F
+:107BF0000200020202000202020202020202020269
+:107C00000202020202020002010001000000020062
+:107C10000000000002020202020201010001020053
+:107C2000000202000000020202020202020202023C
+:107C3000020000000000000202020101000000003A
+:107C40000200020000000002020202000202020022
+:107C5000020002020002020202020202020202000A
+:107C600002000202020202020202020202020202F6
+:107C700002020202020202020202020202020202E4
+:107C800002020202020202020202020202020202D4
+:107C900002020202020202020202020202020202C4
+:107CA00002020202010201020202020202020202B6
+:107CB00002020202010201000202020200020202AA
+:107CC00002000000000002020200000000000002AA
+:107CD000000000000000000002020202020000009A
+:107CE000000000000202020202000202020202027E
+:107CF0000200020202000202020202020202020268
+:107D00000202020202020002010001000000020061
+:107D10000000000002020202020201010001020052
+:107D2000000202000000020202020202020202023B
+:107D30000200020002020002020202020100000030
+:107D4000020002000000000202020202020202001F
+:107D50000200020200020202020202020202020207
+:107D600002020202020202020202020202020202F3
+:107D700002020202020202020202020202020202E3
+:107D800002020202020202020202020202020202D3
+:107D900002020202020202020202020202020202C3
+:107DA00002020202010101020202020202020202B6
+:107DB00002020202010101000202020200020202AA
+:107DC00002000000000001020200000000000002AA
+:107DD0000000000000000000020202020200000099
+:107DE000000000000202020202000202020202027D
+:107DF0000200020202000202020202020202020267
+:107E0000020202020202020202020100000002005B
+:107E1000000000000202020202020202000202024C
+:107E2000000202000000020202020202020202023A
+:107E3000020002000202000202020202010100002E
+:107E4000020202000000000202020202020202001C
+:107E50000200020200020202020202020202020206
+:107E600002020202020202020202020202020202F2
+:107E700002020202020202020202020202020202E2
+:107E800002020202020201020202020202020202D3
+:107E900002020202020201020202020202020202C3
+:107EA00002020201010101020202020202020202B6
+:107EB00002020201010101000202020200020202AA
+:107EC00002000000000001020200000000000002A9
+:107ED0000000000000000000020202020200000098
+:107EE000000000000202020202000202020202027C
+:107EF0000200020202000202020202020202020266
+:107F00000202020202020202020202010000020058
+:107F1000000000000202020202020202000202024B
+:107F20000002020000000202020202020202020239
+:107F30000202020002020002020202020202020027
+:107F40000202020000000002020202020202020219
+:107F50000202020202020202020202020202020201
+:107F600002020202020202020202020202020202F1
+:107F700002020202020202020202020202020202E1
+:107F800002020202010101020202020202020202D4
+:107F900002020202020101020202020202020202C3
+:107FA00002020201010101020202020202020202B5
+:107FB00002020201010101000202020202020202A7
+:107FC00002020200000001020200000000000002A4
+:107FD0000000000000000000020202020200020095
+:107FE000000000000202020202000202020202027B
+:107FF0000200020202000202020202020202020265
+:108000000202020202020202020202010000020057
+:10801000000000000202020202020202000202024A
+:108020000002020000000202020202020202020238
+:108030000202020002020002020202020202020224
+:108040000202020000000202020202020202020216
+:108050000202020202020202020202020202020200
+:1080600002020202020201020202020202020202F1
+:1080700002020202020202020202020202020202E0
+:1080800002020202010101020202020202020202D3
+:1080900002020201010101020202020202020202C4
+:1080A00002020101010101020202020202020202B5
+:1080B00002010101010101000202020202020202A8
+:1080C00002020200020001020200000000000002A1
+:1080D0000000000000000000020202020200020292
+:1080E0000000020002020202020002020202020278
+:1080F0000200020202000202020202020202020264
+:108100000202020202020202020202010000020056
+:108110000000000002020202020202020002020249
+:108120000002020000000102020202020202020238
+:108130000202020002020002020202020202020223
+:108140000202020000020202020202020202020213
+:108150000202020202020102020202020202020200
+:1081600002020202020201020202020202020202F0
+:1081700002020202020201020202020202020202E0
+:1081800002020202010101020202020202020202D2
+:1081900002020101010101020202020202020202C4
+:1081A00002010101010101020202020202020201B6
+:1081B00002010101010101000202020202020202A7
+:1081C000020202020200010202000000000000029E
+:1081D0000000000000000000020202020200020291
+:1081E0000000020002020202020002020202020277
+:1081F0000200020202000202020202020202020263
+:108200000202020202020202020202020100020053
+:108210000000000002020202020202020002020248
+:108220000002020000020102020202020202020235
+:108230000202020002020002020202020202020222
+:108240000202020200020202020202020202020210
+:108250000202020202010102020202020202020200
+:1082600002020202020201020202020202020202EF
+:1082700002020202020101020202020202020202E0
+:1082800002020202010101020202020202020202D1
+:1082900002020101010101020202020202020201C4
+:1082A00001010101010101020202020202010101B8
+:1082B00001010101010101000202020202020202A7
+:1082C000020202020200010202000000000000029D
+:1082D0000000000000000000020202020200020290
+:1082E0000000020002020202020002020202020276
+:1082F0000200020202000202020202020202020262
+:108300000202020202020102020202020100020053
+:108310000000020002020102020202020002020246
+:108320000002020000020102020202020202020234
+:108330000202020002020002020202020202020221
+:10834000020202020002020202020202020202020F
+:1083500002020202020101020202020202020202FF
+:1083600002020202020201020202020202020202EE
+:1083700002020202010101020202020202020202E0
+:1083800002020202010101020202020202020202D0
+:1083900001020101010101020102020202010201C6
+:1083A00001010101010101020202020202010101B7
+:1083B00001010101010101000202020202020202A6
+:1083C0000202020202020102020200000000000298
+:1083D000000000000000000002020202020002028F
+:1083E0000000020002020202020002020202020275
+:1083F0000200020202000202020202020202020261
+:108400000202020202010102020202020200020052
+:108410000000020002020102020202020002020245
+:108420000002020000020102020202020202020233
+:108430000202020002020002020202020202020220
+:10844000020202020002020202020202020202020E
+:1084500002020202020101020202020202020202FE
+:1084600002020202020201020202020202020202ED
+:1084700002020201010101020202020202020202E0
+:1084800002010202010101020202020202020202D0
+:1084900001020101010101020102020102010101C7
+:1084A00001010101010101020102020202010101B7
+:1084B00001010101010101000202020202020202A5
+:1084C0000202020201020102020200000000000298
+:1084D000000000000000000102020202020202028B
+:1084E000020202020202020202000202020202026E
+:1084F0000200020202000102020202020202020261
+:108500000202020201010102020202020201020051
+:108510000000020001010102020202020002020246
+:108520000202020000020102020202020202020230
+:10853000020202020202020202020202020202021B
+:10854000020202020002010202020202020202020E
+:1085500002020202020101020202020202020202FD
+:1085600002020101010101020202020202020202F0
+:1085700002020201010101020202020202020201E0
+:1085800002010102010101020202020202020102D1
+:1085900001010101010101010101010101010101CB
+:1085A00001010101010101020102020201010101B7
+:1085B00001010101010101000202020202020202A4
+:1085C0000202020201020102020202000000000196
+:1085D0000000000200000001020202020202020288
+:1085E000020202020202010202000202020202026E
+:1085F0000200020201000102020202020202020261
+:108600000202020101010102020202020202020050
+:108610000000020001010102020202020002020245
+:10862000020202020002010202020202020202022D
+:10863000020202020101020202020202020202021C
+:10864000020202020202010202020202020202020B
+:1086500001020101020101020202020202020202FF
+:1086600002020101010101020202020202020202EF
+:1086700002020201010101020202020202010201E0
+:1086800001010101010101020202020201010101D5
+:1086900001010101010101010101010101010101CA
+:1086A00001010101010101010101010201010101B9
+:1086B00001010101010101000202020202020202A3
+:1086C0000202020201020102020202000000020193
+:1086D0000200000200000001020202020202020285
+:1086E000020202020202010202000202020202026D
+:1086F0000200020101000102020202020202020261
+:10870000020202010101010202020202020202004F
+:108710000000020201010102020202020202020240
+:10872000020202020202010202020202020202022A
+:10873000020202020101020202020202020202021B
+:10874000020202020202010202020202020201020B
+:1087500001020101010101020202020202020202FF
+:1087600002020101010101020202020202010202EF
+:1087700002010201010101020202020101010201E2
+:1087800001010101010101020102010101010101D7
+:1087900001010101010101010101010101010101C9
+:1087A00001010101010101010101010101010101B9
+:1087B00001010101010101000202020202020202A2
+:1087C0000202020201010102020202000000020193
+:1087D0000200020100000002020202020202020282
+:1087E000020202020202010202010202020202026B
+:1087F0000200020101000102020202020202020260
+:108800000201010101010102020202020202020050
+:10881000020002020101010202020202020202023D
+:10882000020201020202010202020202020202022A
+:10883000020202020101010202020202020202021B
+:10884000020201020201010202020202010201020D
+:1088500001020101010101020202020202020202FE
+:1088600002020101010101020202020201010101F1
+:1088700001010101010101020102020101010201E4
+:1088800001010101010101020102010101010101D6
+:1088900001010101010101010101010101010101C8
+:1088A00001010101010101010101010101010101B8
+:1088B00001010101010101000202020202020101A3
+:1088C0000102010101010101020202000002020194
+:1088D000020002010202000202020202020202027D
+:1088E000020202020202010202010202020202026A
+:1088F000020002010100010202020202020202025F
+:10890000020101010101010202020202020202004F
+:10891000020002020101010202020202020202023C
+:10892000020201020201010202020202020202022A
+:10893000020202020101010202020202020202021A
+:10894000020201020201010202020202010201020C
+:1089500001020101010101020202020202020202FD
+:1089600002020101010101020202010101010101F2
+:1089700001010101010101020102020101010201E3
+:1089800001010101010101010102010101010101D6
+:1089900001010101010101010101010101010101C7
+:1089A00001010101010101010101010101010101B7
+:1089B00001010101010101000102020102010101A5
+:1089C0000102010101010101020202000202020290
+:1089D000020201010101000202020202020202027D
+:1089E000020202020102010202020202020201026A
+:1089F0000100010101000102020202020201010262
+:108A0000020101010101010202020202020202004E
+:108A1000020002020101010202020202020201023C
+:108A2000020201020201010202020202020201012B
+:108A3000010201020101010202020202020202021B
+:108A4000010101020201010202010202010101020F
+:108A500001020101010101020201020202020202FD
+:108A600002020101010101020202010101010101F1
+:108A700001010101010101010101010101010101E6
+:108A800001010101010101010101010101010101D6
+:108A900001010101010101010101010101010101C6
+:108AA00001010101010101010101010101010101B6
+:108AB00001010101010101000101020102010101A5
+:108AC000010101010101010102020202020202028E
+:108AD000010201010101000202020202020202027D
+:108AE000020202020101010202020202020201016B
+:108AF0000100010101020102020102020101010162
+:108B0000010101010101010202020202020201024D
+:108B10000202020201010102020202020202010239
+:108B2000020101020201010202020202020201012B
+:108B3000010201020101010202020202020202021A
+:108B40000101010101010102020102020101010210
+:108B500001020101010101020101020202010202FE
+:108B600001010101010101020201010101010101F3
+:108B700001010101010101010101010101010101E5
+:108B800001010101010101010101010101010101D5
+:108B900001010101010101010101010101010101C5
+:108BA00001010101010101010101010101010101B5
+:108BB00001010101010101000101010102010101A5
+:108BC000010101010101010101020202020201028F
+:108BD000010101020101000202020202020202027C
+:108BE000020202020101010202020202020201016A
+:108BF0000100010101020102020101020101010162
+:108C0000010101010101010202020202020201024C
+:108C10000202020201010102020102020202010239
+:108C2000020101020101010201020102010101012F
+:108C3000010101020101010202020202020202021A
+:108C4000010101010101010202010202010101020F
+:108C50000101010101010102010101020201010101
+:108C600001010101010101010101010101010101F4
+:108C700001010101010101010101010101010101E4
+:108C800001010101010101010101010101010101D4
+:108C900001010101010101010101010101010101C4
+:108CA00001010101010101010101010101010101B4
+:108CB00001010101010101010101010102010101A3
+:108CC000010101010101010101020202020201028E
+:108CD0000101010202020002020202020202020279
+:108CE000020202020101010102020202020201016A
+:108CF0000100010101020101020101010101010163
+:108D0000010101010101010202020202020201024B
+:108D10000202020201010102020102020202010139
+:108D2000020101020101010201020101010101012F
+:108D3000010101010101010202010202020201011D
+:108D40000101010101010101010101020101010112
+:108D50000101010101010101010101010101010103
+:108D600001010101010101010101010101010101F3
+:108D700001010101010101010101010101010101E3
+:108D800001010101010101010101010101010101D3
+:108D900001010101010101010101010101010101C3
+:108DA00001010101010101010101010101010101B3
+:108DB00001010101010101010101010102010101A2
+:108DC000010101010101010101020202020201008F
+:108DD0000101020202020002020202020202020277
+:108DE000020202020101010102020201010101016C
+:108DF0000100010101020101010101010101010163
+:108E0000010101010101010202020202020201024A
+:108E10000202010201010102020102020202010139
+:108E20000201010101010101010201010101010130
+:108E3000010101010101010102010202020201011D
+:108E40000101010101010101010101010101010112
+:108E50000101010101010101010101010101010102
+:108E600001010101010101010101010101010101F2
+:108E700001010101010101010101010101010101E2
+:108E800001010101010101010101010101010101D2
+:108E900001010101010101010101010101010101C2
+:108EA00001010101010101010101010101010101B2
+:108EB00001010101010101010101010101010101A2
+:108EC000010101010101010201020202020201008D
+:108ED0000201020202020002010202010202020277
+:108EE000020202020101010102020101010101016C
+:108EF0000100010101010101010101010101010163
+:108F0000010101010101010102020202020201024A
+:108F10000202010101010102020102020202010139
+:108F20000201010101010101010101010101010130
+:108F3000010101010101010101010202020101011E
+:108F40000101010101010101010101010101010111
+:108F50000101010101010101010101010101010101
+:108F600001010101010101010101010101010101F1
+:108F700001010101010101010101010101010101E1
+:108F800001010101010101010101010101010101D1
+:108F900001010101010101010101010101010101C1
+:108FA00001010101010101010101010101010101B1
+:108FB00001010101010101020101010101010101A0
+:108FC000010101010101010201020202020202008B
+:108FD000020202000101000201020101020202027A
+:108FE000020202020101010102020101010101016B
+:108FF0000100010101010101010101010101010162
+:109000000101010101010101020202020202010249
+:10901000020201010101010101010202020101013B
+:109020000101010101010101010101010101010130
+:109030000101010101010101010101010101010120
+:109040000101010101010101010101010101010110
+:109050000101010101010101010101010101010100
+:1090600001010101010101010101010101010101F0
+:1090700001010101010101010101010101010101E0
+:1090800001010101010101010101010101010101D0
+:1090900001010101010101010101010101010101C0
+:1090A00001010101010101010101010101010101B0
+:1090B000010101010101010201010101010101019F
+:1090C0000101010101010102020202020202020089
+:1090D0000202020001010002010201010202020279
+:1090E000020201020101010101020101010101016C
+:1090F0000100010101010101010101010101010161
+:109100000101010101010101020102020202010249
+:10911000020201010101010101010201020101013B
+:10912000010101010101010101010101010101012F
+:10913000010101010101010101010101010101011F
+:10914000010101010101010101010101010101010F
+:1091500001010101010101010101010101010101FF
+:1091600001010101010101010101010101010101EF
+:1091700001010101010101010101010101010101DF
+:1091800001010101010101010101010101010101CF
+:1091900001010101010101010101010101010101BF
+:1091A00001010101010101010101010101010101AF
+:1091B000010101010101010200010101010101019F
+:1091C0000101010101010102020202020202020088
+:1091D000020200000101000201010101010202027C
+:1091E000020201010101010101020101010101016C
+:1091F0000100010101010101010101010101010160
+:109200000101010101010101020102020202010248
+:10921000010201010101010101010101020101013C
+:10922000010101010101010101010101010101012E
+:10923000010101010101010101010101010101011E
+:10924000010101010101010101010101010101010E
+:1092500001010101010101010101010101010101FE
+:1092600001010101010101010101010101010101EE
+:1092700001010101010101010101010101010101DE
+:1092800001010101010101010101010101010101CE
+:1092900001010101010101010101010101010101BE
+:1092A00001010101010101010101010101010101AE
+:1092B000010101010101010200010101010101019E
+:1092C000010101010101010202010102020102008A
+:1092D000000200000101000201010101010201017F
+:1092E000020201010101010101020101010101016B
+:1092F000010001010101010101010101010101015F
+:109300000101010101010101010101020202010249
+:10931000010201010101010101010101020101013B
+:10932000010101010101010101010101010101012D
+:10933000010101010101010101010101010101011D
+:10934000010101010101010101010101010101010D
+:1093500001010101010101010101010101010101FD
+:1093600001010101010101010101010101010101ED
+:1093700001010101010101010101010101010101DD
+:1093800001010101010101010101010101010101CD
+:1093900001010101010101010101010101010101BD
+:1093A00001010101010101010101010101010101AD
+:1093B000010101010101010200000101010101019E
+:1093C000010101000000010202010102010100008F
+:1093D0000000000001010002010101010102010180
+:1093E000010101010101010101020101010101016C
+:1093F000010001010101010101010101010101015E
+:10940000010101010101010101010101010101024B
+:10941000010101010101010101010101010101013C
+:10942000010101010101010101010101010101012C
+:10943000010101010101010101010101010101011C
+:10944000010101010101010101010101010101010C
+:1094500001010101010101010101010101010101FC
+:1094600001010101010101010101010101010101EC
+:1094700001010101010101010101010101010101DC
+:1094800001010101010101010101010101010101CC
+:1094900001010101010101010201010101010101BB
+:1094A00001010101010101010101010101010101AC
+:1094B00001010101010101020000000000000000A3
+:1094C0000000000000000101020101010101000093
+:1094D0000000000001010002010101010101010180
+:1094E000010101010101010101020101010101016B
+:1094F000010001010101010101010101010101015D
+:10950000010101010101010101010101010101014B
+:10951000010101010101010101010101010101013B
+:10952000010101010101010101010101010101012B
+:10953000010101010101010101010101010101011B
+:10954000010101010101010101010101010101010B
+:1095500001010101010101010101010101010101FB
+:1095600001010101010101010101010101010101EB
+:1095700001010101010101010101010101010101DB
+:1095800001010101010101010101010101010101CB
+:1095900001010101010101020201010101010101B9
+:1095A00001010101010101010101010101010101AB
+:1095B00001010101010101020000000000000000A2
+:1095C0000000000000000101010101010101000093
+:1095D000000000000101000201010101010101017F
+:1095E000010101010101010101020101010101016A
+:1095F000010001010101010101010101010101015C
+:10960000010101010101010101010101010101014A
+:10961000010101010101010101010101010101013A
+:10962000010101010101010101010101010101012A
+:10963000010101010101010101010101010101011A
+:10964000010101010101010101010101010101010A
+:1096500001010101010101010101010101010101FA
+:1096600001010101010101010101010101010101EA
+:1096700001010101010101010101010101010101DA
+:1096800001010101010101010101010101010101CA
+:1096900001010101010101020202010101010101B7
+:1096A00001010102020102010201010101010101A6
+:1096B00001010101010101020000000000000000A1
+:1096C0000000000000000101010101010101000092
+:1096D000000000000101000201010101010101017E
+:1096E0000101010101010101010201010101010169
+:1096F000010001010101010101010101010101015B
+:109700000101010101010101010101010101010149
+:109710000101010101010101010101010101010139
+:109720000101010101010101010101010101010129
+:109730000101010101010101010101010101010119
+:109740000101010101010101010101010101010109
+:1097500001010101010101010101010101010101F9
+:1097600001010101010101010101010101010101E9
+:1097700001010101010101010101010101010101D9
+:1097800001010101010101010101010101010101C9
+:1097900001010101010101020202020201020102B2
+:1097A000020202020202020202010101010202029D
+:1097B000010201020201020200000000000000009C
+:1097C0000000000000000201010101010101000090
+:1097D000000000000101000201010101010101017D
+:1097E0000101010101010101010201010101010168
+:1097F000010001010101010101010101010101015A
+:109800000101010101010101010101010101010148
+:109810000101010101010101010101010101010138
+:109820000101010101010101010101010101010128
+:109830000101010101010101010101010101010118
+:109840000101010101010101010101010101010108
+:1098500001010101010101010101010101010101F8
+:1098600001010101010101010101010101010101E8
+:1098700001010101010101010101010101010101D8
+:1098800001010101010101010101010101010101C8
+:1098900001010101010101020202020202020202AF
+:1098A000020202020202020202020101010202029B
+:1098B0000202020202020202000000000000000098
+:1098C000000000000000020101020201010200008C
+:1098D000000000000101010201010101010101017B
+:1098E0000101010101010101010101010101010168
+:1098F0000100010101010101010101010101010159
+:109900000101010101010101010101010101010147
+:109910000101010101010101010101010101010137
+:109920000101010101010101010101010101010127
+:109930000101010101010101010101010101010117
+:109940000101010101010101010101010101010107
+:1099500001010101010101010101010101010101F7
+:1099600001010101010101010101010101010101E7
+:1099700001010101010101010101010101010101D7
+:1099800001010101010101010101010101010101C7
+:1099900001010101010101020202020202020202AE
+:1099A0000202020202020202020202020202020297
+:1099B0000202020202020202000000000000000097
+:1099C000000000000000020101020201020200008A
+:1099D000000000000000010201010101010101017C
+:1099E0000101010101010101010101010101010167
+:1099F0000100010101010101010101010101010158
+:109A00000101010101010101010101010101010146
+:109A10000101010101010101010101010101010136
+:109A20000101010101010101010101010101010126
+:109A30000101010101010101010101010101010116
+:109A40000101010101010101010101010101010106
+:109A500001010101010101010101010101010101F6
+:109A600001010101010101010101010101010101E6
+:109A700001010101010101010101010101010101D6
+:109A800001010101010101010201010101010101C5
+:109A900001010101010000020202020202020202AF
+:109AA0000202020202020202020202020202020296
+:109AB0000202020202020202000000000000000096
+:109AC0000000000000000201010202020202000088
+:109AD000000000000000010201010101010101017B
+:109AE0000101010101010101010101010101010166
+:109AF0000100010101010101010101010101010157
+:109B00000101010101010101010101010101010145
+:109B10000101010101010101010101010101010135
+:109B20000101010101010101010101010101010125
+:109B30000101010101010101010101010101010115
+:109B40000101010101010101010101010101010105
+:109B500001010101010101010101010101010101F5
+:109B600001010101010101010101010101010101E5
+:109B700001010101010101010101010101010101D5
+:109B800001010101010101020201010101010101C3
+:109B900002010202020202020202020202020202A6
+:109BA0000202020202020202020202020202020295
+:109BB0000202020202020202000000000000000095
+:109BC0000000000002000201010202020202000085
+:109BD000000000000000010101010101010101017B
+:109BE0000101010101010101010101010101010165
+:109BF0000100010101010101010101010101010156
+:109C00000101010101010101010101010101010144
+:109C10000101010101010101010101010101010134
+:109C20000101010101010101010101010101010124
+:109C30000101010101010101010101010101010114
+:109C40000101010101010101010101010101010104
+:109C500001010101010101010101010101010101F4
+:109C600001010101010101010101010101010101E4
+:109C700001010101010101010101010101010101D4
+:109C800001010101010100020202020202020202BC
+:109C900002020202020202020202020202020202A4
+:109CA0000202020202020202020202020202020294
+:109CB0000202020202020202000000000000000094
+:109CC0000000000002000201010202020202000183
+:109CD000000000000000010101010101010101017A
+:109CE0000101010101010101010101010101010164
+:109CF0000100010101010101010101010101010155
+:109D00000101010101010101010101010101010143
+:109D10000101010101010101010101010101010133
+:109D20000101010101010101010101010101010123
+:109D30000101010101010101010101010101010113
+:109D40000101010101010101010101010101010103
+:109D500001010101010101010101010101010101F3
+:109D600001010101010101010101010101010101E3
+:109D700001010101010101000201010101010101D3
+:109D800001010101020202020202020202020202B7
+:109D900002020202020202020202020202020202A3
+:109DA0000202020202020202020202020202020293
+:109DB000020202020202020200000000000002028F
+:109DC000020002000200020101020202020200017E
+:109DD0000000000000000101010101010101010179
+:109DE0000101010101010101010101010101010163
+:109DF0000101010101010101010101010101010153
+:109E00000101010101010101010101010101010142
+:109E10000101010101010101010101010101010132
+:109E20000101010101010101010101010101010122
+:109E30000101010101010101010101010101010112
+:109E40000101010101010101010101010101010102
+:109E500001010101010101010101010101010101F2
+:109E600001010101010101010101010101010101E2
+:109E700001010101010100020202010202020102CC
+:109E800002020202020202020202020202020202B2
+:109E900002020202020202020202020202020202A2
+:109EA0000202020202020202020202020202020292
+:109EB0000202020202020202020000020002020288
+:109EC000020002020202020001010102020100017D
+:109ED0000000000100000101010101010101010177
+:109EE0000101010101010101010101010101010162
+:109EF0000101010101010101010101010101010152
+:109F00000101010101010001010101010101010142
+:109F10000101010101010101010101010101010131
+:109F20000101010101010101010101010101010121
+:109F30000101010101010101010101010101010111
+:109F40000100010101010101010101010101010102
+:109F500001010101010001010101010101010101F2
+:109F600001010101010101010101010101010101E1
+:109F700001010101020202020202020202020202C5
+:109F800002020202020202020202020202020202B1
+:109F900002020202020202020202020202020202A1
+:109FA0000202020202020202020202020202020291
+:109FB0000202020202020202020200020002020285
+:109FC000020202020202020001010102010100017B
+:109FD0000000000100000101010101010101010176
+:109FE0000101010101010101010101010101010161
+:109FF0000101010101010101010101010101010151
+:10A000000101010101010001010101010101010141
+:10A010000101010101010101010101010101010130
+:10A020000101010101010101010101010101010120
+:10A030000101010101010101010101010101010110
+:10A040000100010101010101010101010100010102
+:10A0500001010101010002010101010101010101F0
+:10A0600001010101010102020202020202020202D6
+:10A0700002020202020202020202020202020202C0
+:10A0800002020202020202020202020202020202B0
+:10A0900002020202020202020202020202020202A0
+:10A0A0000202020202020202020202020202020290
+:10A0B0000202020202020202020202020002020282
+:10A0C000020202020202020001010101010100017B
+:10A0D0000000010100000101010101010101010174
+:10A0E0000101010101010101010101010101010160
+:10A0F0000101010101010101010101010101010150
+:10A100000101010100000001010101010101010142
+:10A11000010101010101010101010101010101012F
+:10A12000010102010101010001010101010101011F
+:10A130000101010101010101010101010101000011
+:10A1400001000002010002020202010102000201FC
+:10A1500002010202020202020202010101010101E6
+:10A1600001010202020202020202020202020202D1
+:10A1700002020202020202020202020202020202BF
+:10A1800002020202020202020202020202020202AF
+:10A19000020202020202020202020202020202029F
+:10A1A000020202020202020202020202020202028F
+:10A1B0000202020202020202020202020002020281
+:10A1C000020202020202020000010101010100017B
+:10A1D0000100010100000101010101010101010172
+:10A1E000010101010101010101010101010101015F
+:10A1F000010101010101010101010101010101014F
+:10A200000101010100000001010101010101010141
+:10A21000010101010101010101000101010102012E
+:10A220000101010101000000020101010101010120
+:10A23000010101010202020202020101010100000A
+:10A2400002000201020202020202020202020202F1
+:10A2500002020202020202020202020202020202DE
+:10A2600002020202020202020202020202020202CE
+:10A2700002020202020202020202020202020202BE
+:10A2800002020202020202020202020202020202AE
+:10A29000020202020202020202020202020202029E
+:10A2A000020202020202020202020202020202028E
+:10A2B000020202020202020202020202020202027E
+:10A2C0000202020202020200000101010101010179
+:10A2D0000101010100000101010101010101010170
+:10A2E000010101010101010101010101010101015E
+:10A2F000010101010101010202020101010101014B
+:10A30000010101010000020001010101010101013F
+:10A310000101010101010100000001010101010130
+:10A320000001000100000202020202020202020217
+:10A3300002020202020202020202020202020202FD
+:10A3400002020202020202020202020202020202ED
+:10A3500002020202020202020202020202020202DD
+:10A3600002020202020202020202020202020202CD
+:10A3700002020202020202020202020202020202BD
+:10A3800002020202020202020202020202020202AD
+:10A39000020202020202020202020202020202029D
+:10A3A000020202020202020202020202020202028D
+:10A3B000020202020202020202020202020202027D
+:10A3C0000202020202020200010101010101010177
+:10A3D000010101010000010101010101010101016F
+:10A3E000010101010101010101010101010101015D
+:10A3F0000101010101010102020202020202020244
+:10A400000202020202020200010101010101020135
+:10A41000000102010000020202020100010000022C
+:10A420000002000202020202020202020202020210
+:10A4300002020202020202020202020202020202FC
+:10A4400002020202020202020202020202020202EC
+:10A4500002020202020202020202020202020202DC
+:10A4600002020202020202020202020202020202CC
+:10A4700002020202020202020202020202020202BC
+:10A4800002020202020202020202020202020202AC
+:10A49000020202020202020202020202020202029C
+:10A4A000020202020202020202020202020202028C
+:10A4B000020202020202020202020202020202027C
+:10A4C0000202020202020200010101010101010176
+:10A4D000010101010000010101010101010101016E
+:10A4E000010101010101010101010101010101015C
+:10A4F0000101010100010102020202020202020244
+:10A500000202020202020202020201010101010131
+:10A51000000101020202020202020202020202021F
+:10A52000020202020202020202020202020202020B
+:10A5300002020202020202020202020202020202FB
+:10A5400002020202020202020202020202020202EB
+:10A5500002020202020202020202020202020202DB
+:10A5600002020202020202020202020202020202CB
+:10A5700002020202020202020202020202020202BB
+:10A5800002020202020202020202020202020202AB
+:10A59000020202020202020202020202020202029B
+:10A5A000020202020202020202020202020202028B
+:10A5B000020202020202020202020202020202027B
+:10A5C0000202020202020200010101010101010175
+:10A5D000010101010101010101010101010101016B
+:10A5E000010101010101010001010101010101015C
+:10A5F0000101010100010102020202020202020243
+:10A60000020202020202020202020202020202022A
+:10A61000020202020202020202020202020202021A
+:10A62000020202020202020202020202020202020A
+:10A6300002020202020202020202020202020202FA
+:10A6400002020202020202020202020202020202EA
+:10A6500002020202020202020202020202020202DA
+:10A6600002020202020202020202020202020202CA
+:10A6700002020202020202020202020202020202BA
+:10A6800002020202020202020202020202020202AA
+:10A69000020202020202020202020202020202029A
+:10A6A000020202020202020202020202020202028A
+:10A6B000020202020202020202020202020202027A
+:10A6C0000202020202020201010101010101010173
+:10A6D000010101010101010101010101010101016A
+:10A6E000010101010101010202010001010101005A
+:10A6F0000101010100020202020202020202020240
+:10A700000202020202020202020202020202020229
+:10A710000202020202020202020202020202020219
+:10A720000202020202020202020202020202020209
+:10A7300002020202020202020202020202020202F9
+:10A7400002020202020202020202020202020202E9
+:10A7500002020202020202020202020202020202D9
+:10A7600002020202020202020202020202020202C9
+:10A7700002020202020202020202020202020202B9
+:10A7800002020202020202020202020202020202A9
+:10A790000202020202020202020202020202020299
+:10A7A0000202020202020202020202020202020289
+:10A7B0000202020202020202020202020202020279
+:10A7C0000202020202020201010101010101010172
+:10A7D0000101010101010101010101010101010169
+:10A7E0000101010101010102020202020202020250
+:10A7F000020002020202020202020202020202023B
+:10A800000202020202020202020202020202020228
+:10A810000202020202020202020202020202020218
+:10A820000202020202020202020202020202020208
+:10A8300002020202020202020202020202020202F8
+:10A8400002020202020202020202020202020202E8
+:10A8500002020202020202020202020202020202D8
+:10A8600002020202020202020202020202020202C8
+:10A8700002020202020202020202020202020202B8
+:10A8800002020202020202020202020202020202A8
+:10A890000202020202020202020202020202020298
+:10A8A0000202020202020202020202020202020288
+:10A8B0000202020202020202020202020202020278
+:10A8C0000202020202020201010101010101010171
+:10A8D0000101010101010101010101010101010168
+:10A8E000010101010101010202020202020202024F
+:10A8F0000202020202020202020202020202020238
+:10A900000202020202020202020202020202020227
+:10A910000202020202020202020202020202020217
+:10A920000202020202020202020202020202020207
+:10A9300002020202020202020202020202020202F7
+:10A9400002020202020202020202020202020202E7
+:10A9500002020202020202020202020202020202D7
+:10A9600002020202020202020202020202020202C7
+:10A9700002020202020202020202020202020202B7
+:10A9800002020202020202020202020202020202A7
+:10A990000202020202020202020202020202020297
+:10A9A0000202020202020202020202020202020287
+:10A9B0000202020202020202020202020202020277
+:10A9C0000202020202020201010101010101010170
+:10A9D0000101010101010101010101010101010167
+:10A9E0000101010101010100000000000000000060
+:10A9F0000000000000000002020202020202020245
+:10AA00000202020202020202020202020202020226
+:10AA10000202020202020202020202020202020216
+:10AA20000202020202020202020202020202020206
+:10AA300002020202020202020202020202020202F6
+:10AA400002020202020202020202020202020202E6
+:10AA500002020202020202020202020202020202D6
+:10AA600002020202020202020202020202020202C6
+:10AA700002020202020202020202020202020202B6
+:10AA800002020202020202020202020202020202A6
+:10AA90000202020202020202020202020202020296
+:10AAA0000202020202020202020202020202020286
+:10AAB0000202020202020200000000000000000088
+:10AAC000000000000000000101010101010101017D
+:10AAD0000101010101010101020001010101010166
+:10AAE000010101010101010000000000000000005F
+:10AAF0000000000000000000000000000000000056
+:10AB00000000000000000002020202020202020233
+:10AB10000202020202020202020202020202020215
+:10AB20000202020202020202020202020202020205
+:10AB300002020202020202020202020202020202F5
+:10AB400002020202020202020202020202020202E5
+:10AB500002020202020202020202020202020202D5
+:10AB600002020202020202020202020202020202C5
+:10AB700002020202020202020202020202020202B5
+:10AB800002020202020202020202020202020202A5
+:10AB90000202020202020202020202020202020295
+:10ABA0000202020202020202020202020202020285
+:10ABB0000202020202020200000000000000000087
+:10ABC000000000000000000101010101010101017C
+:10ABD0000101010101010102020201010102010161
+:10ABE000000101010101020000000000000000005E
+:10ABF0000000000000000000000000000000000055
+:10AC00000000000000000000000000000000000044
+:10AC10000000000000000000000000000000000034
+:10AC20000000000000000000000000000000000024
+:10AC30000000000000000000000000000000000014
+:10AC40000000000000000000000000000000000004
+:10AC500000000000000000020202020202020202E2
+:10AC600002020202020202020202020202020202C4
+:10AC700002020202020202020202020202020202B4
+:10AC800002020202020202020202020202020202A4
+:10AC90000202020202020202020202020202020294
+:10ACA0000202020202020202020202020202020284
+:10ACB0000202020202020200000000000000000086
+:10ACC000000000000000000101010101010101017B
+:10ACD000010101010101010000000000000000006D
+:10ACE0000000000000000000000000000000000064
+:10ACF000000000000000000101010101010101014B
+:10AD00000101010101010101010101010101010133
+:10AD10000101010101010101010101010101010123
+:10AD20000101010101010101010101010101010113
+:10AD30000101010101010101010101010101010103
+:10AD400001010101010101010101010101010101F3
+:10AD500001010101010101010101010101010101E3
+:10AD600001010101010101010101010101010101D3
+:10AD700001010101010101010101010101010101C3
+:10AD800001010101010101010101010101010101B3
+:10AD900001010101010101010101010101010101A3
+:10ADA0000101010101010101010101010101010193
+:10ADB000010101010101010000000000000000008C
+:10ADC000000000000000000101010101010101017A
+:10ADD000010101010101010000000000000000006C
+:10ADE0000000000000000000000000000000000063
+:10ADF000000000000000000101010101010101014A
+:10AE00000101010101010101010101010101010132
+:10AE10000101010101010101010101010101010122
+:10AE20000101010101010101010101010101010112
+:10AE30000101010101010101010101010101010102
+:10AE400001010101010101010101010101010101F2
+:10AE500001010101010101010101010101010101E2
+:10AE600001010101010101010101010101010101D2
+:10AE700001010101010101010101010101010101C2
+:10AE800001010101010101010101010101010101B2
+:10AE900001010101010101010101010101010101A2
+:10AEA0000101010101010101010101010101010192
+:10AEB000010101010101010000000000000000008B
+:10AEC0000000000000000001010101010101010179
+:10AED000010101010101010000000000000000006B
+:10AEE0000000000000000000000000000000000062
+:10AEF0000000000000000001010101010101010149
+:10AF00000101010101010101010101010101010131
+:10AF10000101010101010101010101010101010121
+:10AF20000101010101010101010101010101010111
+:10AF30000101010101010101010101010101010101
+:10AF400001010101010101010101010101010101F1
+:10AF500001010101010101010101010101010101E1
+:10AF600001010101010101010101010101010101D1
+:10AF700001010101010101010101010101010101C1
+:10AF800001010101010101010101010101010101B1
+:10AF900001010101010101010101010101010101A1
+:10AFA000010101010101010000000000000000009A
+:10AFB0000000000000000000000000000000000091
+:10AFC0000000000000000001010101010101010178
+:10AFD000010101010101010000000000000000006A
+:10AFE0000000000000000000000000000000000061
+:10AFF0000000000000000001010101010101010148
+:10B000000101010101010100000000000000000039
+:10B010000000000000000000000000000000000030
+:10B020000000000000000000000000000000000020
+:10B030000000000000000000000000000000000010
+:10B040000000000000000000000000000000000000
+:10B0500000000000000000000000000000000000F0
+:10B0600000000000000000000000000000000000E0
+:10B0700000000000000000000000000000000000D0
+:10B0800000000000000000000000000000000000C0
+:10B0900000000000000000000000000000000000B0
+:10B0A00000000000000000000000000000000000A0
+:10B0B0000000000000000000000000000000000090
+:10B0C0000000000000000000000000000000000080
+:10B0D0000000000000000000000000000000000070
+:10B0E0000000000000000000000000000000000060
+:10B0F0000000000000000000000000000000000050
+:10B10000000000000000000000000000000000003F
+:10B11000000000000000000000000000000000002F
+:10B12000000000000000000000000000000000001F
+:10B13000000000000000000000000000000000000F
+:10B1400000000000000000000000000000000000FF
+:10B1500000000000000000000000000000000000EF
+:10B1600000000000000000000000000000000000DF
+:10B1700000000000000000000000000000000000CF
+:10B1800000000000000000000000000000000000BF
+:10B1900000000000000000000000000000000000AF
+:10B1A000000000000000000000000000000000009F
+:10B1B000000000000000000000000000000000008F
+:10B1C0000000000000000039000000000000000244
+:10B1D000000200000000000000000000000000006D
+:10B1E0000200000200020000000000000000000059
+:10B1F000000001000000000000000000000000004E
+:10B200000002020000000000000200000200000036
+:10B210000000000001000000020200000002020025
+:10B22000000000000000020000000000000200001A
+:10B23000000000000000000000000000000000000E
+:10B2400000000000000000000000000000000000FE
+:10B2500001000000000000000000000000000000ED
+:10B2600000000000000000000000000200000000DC
+:10B2700000000000000000000000000000000000CE
+:10B2800000000000000000000000000000000000BE
+:10B2900000000000000000000000000000000000AE
+:10B2A000000000000000000000000000000000009E
+:10B2B000000000000000000000000000000000008E
+:10B2C000000000000000000000000000000002027A
+:10B2D0000202000000000000000000000000000268
+:10B2E0000201020200020000000000000000000055
+:10B2F0000000010200000000000000000000020049
+:10B300000002020001000002000200000200000131
+:10B310000000000001000000020200000002020024
+:10B320000000020000000200000000000002000017
+:10B33000000000000000000000000000000000000D
+:10B3400000000001000000000000000000000000FC
+:10B3500002000000000000000000000000000000EB
+:10B3600000000000000000000000020200000000D9
+:10B3700000000000000000000000000000000000CD
+:10B3800000000000000000000000000000000000BD
+:10B3900000000000000000000000000000000000AD
+:10B3A000000000000000000000000000000000009D
+:10B3B000020000000202020202000002020002007B
+:10B3C0000000000000000000000000000000020279
+:10B3D0000202000000000000000000000000000267
+:10B3E0000201020200020000000000000000000054
+:10B3F0000000020200000000000000000000020146
+:10B400000002020001000002000200000200000130
+:10B410000000000001000000020200000002020023
+:10B420000000020000000200000000000002000016
+:10B43000000000000000000000000000000000010B
+:10B4400000000001000000000000000000000000FB
+:10B4500002020001010100000000000002020200DF
+:10B4600000000000000000000000020200000000D8
+:10B4700000000000000000000000000000000000CC
+:10B4800000000000000000000000000000000000BC
+:10B4900000000000000000000000000000000000AC
+:10B4A000020000020200020002000002020200028A
+:10B4B0000202020002020202020202020200020072
+:10B4C0000000000000000000000000000000020278
+:10B4D0000202000000000000000000000000000266
+:10B4E0000201020200020000000000000000000053
+:10B4F0000000020200000000000000000200020143
+:10B50000000202000100000200020000020002012D
+:10B51000000200000200000002020000000202011E
+:10B520000000020000000200000000000002000015
+:10B53000000000000000000000000000000000010A
+:10B5400001000001010000000101000000000000F6
+:10B5500002020002010100000200000002020200DB
+:10B5600000000000000000000000020200000000D7
+:10B5700000000000000000000000000000000000CB
+:10B5800000000000000000000000000000000000BB
+:10B5900000000000000000000000000000000002A9
+:10B5A0000201020202000200020202020202000282
+:10B5B000020202020202020202020202020202006D
+:10B5C0000002000000000000000000000000020275
+:10B5D0000202000000000000000000000000000265
+:10B5E000020202020002000000000000000002004F
+:10B5F0000000020200000000000000000200020142
+:10B60000000202000200000200020000020002022A
+:10B61000000200000200000002020000000202011D
+:10B62000010002000002020000000000020200000F
+:10B630000000000000000000000000000000000208
+:10B6400001000101010000000101000000010000F3
+:10B6500002020002010200000200000002020200D9
+:10B6600000010000000000000000020200000000D5
+:10B6700000000000000000000000000000000000CA
+:10B6800000000000000000000000000000000000BA
+:10B6900000000000000000000000000000000002A8
+:10B6A000020202020202020202020202020202027A
+:10B6B000020202020202020202020202020202006C
+:10B6C0000002000000000000000000000000020274
+:10B6D0000202000000000000000000000000000264
+:10B6E000020202020002000000000000000002004E
+:10B6F000000002020002000000000000020202023C
+:10B700000002020002000002000200020200020227
+:10B71000000200000200000002020000000202021B
+:10B72000010002000002020000000000020200000E
+:10B730000000000000000000000000000000000207
+:10B7400002000101010000000202010000010100ED
+:10B7500002020002020200020200000002020200D5
+:10B7600000020000000000000000020200000000D3
+:10B7700000000000000000000000000000000000C9
+:10B7800000000000000000000000000000000000B9
+:10B7900000000000000000000000000000000002A7
+:10B7A0000202020202020202020202020202020279
+:10B7B000020202020202020202020202020202006B
+:10B7C0000002000000000000000000000000020273
+:10B7D0000202000000000000000000000000000263
+:10B7E000020202020002000000000000020002014A
+:10B7F000000002020002000000000000020202023B
+:10B800000002020002000002000200020200020226
+:10B810000102000002000000020200000002020219
+:10B82000020002000002020000000000020200000C
+:10B830000000000000000000000000000000000206
+:10B8400002010102020000000202010100020102E5
+:10B8500002020002020202020202020002020200CE
+:10B8600000020100000000000200020200000000CF
+:10B8700000000000000000000000000000000000C8
+:10B8800000000000000000000000000000000000B8
+:10B8900000000000000000000000000000000002A6
+:10B8A0000202020202020202020202020202020278
+:10B8B000020202020202020202020202020202006A
+:10B8C0000002000000000000000000000000020272
+:10B8D0000202000000000000000000000000000262
+:10B8E0000202020200020000000000000200020149
+:10B8F0000000020200020202000000000202020236
+:10B900000102020002000002000200020200020224
+:10B910000102000002000000020200000002020218
+:10B92000020002000002020000000000020200010A
+:10B930000000000000000000000000000000000205
+:10B9400002010102020000000202020101020202E1
+:10B9500002020002020202020202020002020200CD
+:10B9600000020200020100000200020202020200C4
+:10B9700000000000000000000000000000000000C7
+:10B9800000000000000000000000000000000002B5
+:10B9900000010000000000000000000000000002A4
+:10B9A0000202020202020202020202020202020277
+:10B9B0000202020202020202020202020202020069
+:10B9C000020200000000000000000000020001026E
+:10B9D0000202000000000000000000000000000261
+:10B9E0000202020200020002000000000202020144
+:10B9F0000000020200020202000000000202020235
+:10BA00000102020002000002000200020200020223
+:10BA10000202010002000000020200000002020215
+:10BA20000200020000020200000000000202000109
+:10BA30000100000000000000000000000000000203
+:10BA400002010202020000000202020201020202DE
+:10BA500002020002020202020202020002020202CA
+:10BA600000020200020202000200020202020200C0
+:10BA700001000100000000000000000000000000C4
+:10BA800001000001000102000200000000000002AD
+:10BA900000010000000000000000000000000002A3
+:10BAA0000202020202020202020202020202020276
+:10BAB0000202020202020202020202020202010069
+:10BAC0000202000000000002000002000202010267
+:10BAD0000202000000000000000000000000000260
+:10BAE0000202020200020002000200000202020240
+:10BAF0000000020200020202000000000202020234
+:10BB00000102020002000002000200020200020222
+:10BB10000202010002000000020200000002020214
+:10BB20000200020000020200000000000202000207
+:10BB30000100000000000000000000000000000202
+:10BB400002020202020100010202020202020202D9
+:10BB500002020202020202020202020002020202C7
+:10BB600001020202020202000200020202020200BC
+:10BB700001020100000000000000000000000002BF
+:10BB800001020202000202000202000000000002A4
+:10BB900000010200000000000000000000000002A0
+:10BBA0000202020202020202020202020202020275
+:10BBB0000202020202020202020202020102010069
+:10BBC000020200000002000202020202020201025E
+:10BBD000020200000000000000000000000000025F
+:10BBE000020202020002000200020000020202023F
+:10BBF0000000020200020202000000000202020233
+:10BC00000202020002000002000200020200020220
+:10BC10000202010002000000020200000002020213
+:10BC20000200020001020200000000000202020203
+:10BC300002000000010000010000000000000002FE
+:10BC400002020202020100010202020202020202D8
+:10BC500002020202020202020202020002020202C6
+:10BC600002020202020202020200020202020201B7
+:10BC700001020200020000000000000000000002BB
+:10BC800002020202000202000202000000000202A0
+:10BC90000102020200020202000000000000020293
+:10BCA0000202020202020202020202020202020274
+:10BCB0000202020202020202020202010102010069
+:10BCC000020200000002020202020202020201025B
+:10BCD000020200000000000000000000000000025E
+:10BCE000020202020002000200020000020202023E
+:10BCF0000000020200020202000000000202020232
+:10BD0000020202000200000200020002020002021F
+:10BD10000202020002000000020200000002020211
+:10BD20000200020001020200000002000202020200
+:10BD300002000000010000010000010000000102FB
+:10BD400002020202020101020202020202020202D5
+:10BD500002020202020202020202020202020202C3
+:10BD600002020202020202020200020202020202B5
+:10BD700002020200020000000000000000000002B9
+:10BD8000020202020002020002020002000002029D
+:10BD90000202020200020202000000000000020291
+:10BDA0000202020202020202020202020202020273
+:10BDB0000202020202020202020202010101010069
+:10BDC0000202000202020202020202020102010257
+:10BDD000020200000000000000000000000000025D
+:10BDE000020202020002000200020000020202023D
+:10BDF0000000020200020202000000000202020231
+:10BE0000020202000200000200020002020002021E
+:10BE1000020202000201000002020000000202020F
+:10BE200002000200020202000000020002020202FE
+:10BE300002000000010100020000010101010102F5
+:10BE400002020202020201020202020202020202D3
+:10BE500002020202020202020202020202020202C2
+:10BE600002020202020202020202020202020202B2
+:10BE700002020200020002000000000202020002B0
+:10BE80000202020201020200020200020200020299
+:10BE9000020202020002020202020000000002028C
+:10BEA0000202020202020202020202020202020272
+:10BEB000020202020202020102010101010101006B
+:10BEC0000202000202020202020202020101010257
+:10BED000020200000000000000000000000000025C
+:10BEE000020202020002000200020200020202023A
+:10BEF0000000020200020202000000000202020230
+:10BF0000020202000200020200020002020002021B
+:10BF1000020202000201000002020000000202020E
+:10BF200002020200020202000000020002020202FB
+:10BF300002000000020100020000020101010202F1
+:10BF400002020202020202020202020202020202D1
+:10BF500002020202020202020202020202020202C1
+:10BF600002020202020202020202020202020202B1
+:10BF700002020200020002000000000202020002AF
+:10BF80000202020202020200020200020200020297
+:10BF90000202020200020202020202000000020289
+:10BFA0000202020202020202020202020101010274
+:10BFB000020202020201020101010101010101006C
+:10BFC0000202000202020202020201020101010257
+:10BFD000020200000000000000000000000000025B
+:10BFE0000202020201020002020202020202020234
+:10BFF000000002020002020200020000020202022D
+:10C00000020202000200020200020002020002021A
+:10C01000020202000201000002020000000202020D
+:10C0200002020200020202000000020002020202FA
+:10C0300002000000020100020000020202020202ED
+:10C0400002020202020202020202020202020202D0
+:10C0500002020202020202020202020202020102C1
+:10C0600002020202020202020202020202020202B0
+:10C0700002020202020202000200000202020202A6
+:10C080000202020202020202020200020200020294
+:10C090000202020202020202020202000000020286
+:10C0A0000202020202020202020202010101010274
+:10C0B000020202020201010101010101010101006C
+:10C0C0000202000202020202020201010101010257
+:10C0D000020100000000000000000000000000025B
+:10C0E0000202020202020002020202020202020232
+:10C0F000000002020002020200020000020202022C
+:10C100000202020002000202000200020200020219
+:10C11000020202010202000002020000000201020B
+:10C1200002020200020202000000020002010202FA
+:10C1300002000100020100020000020202020202EB
+:10C1400002020202020202020202020202020202CF
+:10C1500002020202020202020202020202010102C1
+:10C1600002020202020202020202020102020202B0
+:10C1700002020202020202000202000202020202A3
+:10C180000202020202020202020202020200020291
+:10C190000202020202020202020202000000020285
+:10C1A0000202020202020202020201010101010274
+:10C1B000020202020101010101010101010101006C
+:10C1C0000202020202020201020101010101010256
+:10C1D000020100000000000000000000000000025A
+:10C1E0000202020202020002020202020202020231
+:10C1F000000202020002020200020000020201022A
+:10C200000202020002000202000200020100020219
+:10C21000020202020202000002020000000101020A
+:10C2200002020200020202000200020002010202F7
+:10C2300002000101020201020000020202020202E7
+:10C2400002020202020202020202020202020202CE
+:10C2500002020202020202020202020201010102C1
+:10C2600002020202020202020202010102020102B1
+:10C2700002020202020202000202000202020202A2
+:10C280000202020202020202020202020200020290
+:10C290000202020202020202020202000000020284
+:10C2A0000202020202020202020201010101010273
+:10C2B000010201010101010101010101010101006E
+:10C2C0000201020202020201010101010101010257
+:10C2D0000201000000000000000000000002000257
+:10C2E0000202020202020002020202020202020230
+:10C2F0000002020200020202000200000202010229
+:10C300000202020002000202000200020100010219
+:10C31000020202020202000002010000000101020A
+:10C3200002020200020202000200020001010202F7
+:10C3300002000201020201020000020202020202E5
+:10C3400002020202020202020202020202010102CF
+:10C3500002020202020202020202020201010102C0
+:10C3600002020202020202020202010101010102B2
+:10C3700002020202020202000202000202020202A1
+:10C38000020202020202020202020202020002028F
+:10C390000202020202020202020202000000020283
+:10C3A0000202020202020202010101010101010274
+:10C3B000010201010101010101010101010101006D
+:10C3C0000201020202010201010101010101010158
+:10C3D0000201000000000000000000000002000256
+:10C3E000020202020202000202020202020202022F
+:10C3F0000002020200020202000200000102010229
+:10C400000202020002000202000200020100010218
+:10C410000202020202020000020100000001010209
+:10C4200002020200020202000200020001010202F6
+:10C4300002000202020202020100020202020202E1
+:10C4400002020202020202020202020202010102CE
+:10C4500002020202020202020202020201010102BF
+:10C4600002020202020202020202010101010102B1
+:10C47000020202020202020202020202020202029C
+:10C48000020202020202020202020202020201028D
+:10C49000020202020202020202020202020201027D
+:10C4A0000202020202020101010101010101010275
+:10C4B000010101010101010101010101010101006D
+:10C4C0000101020202010101010101010101010159
+:10C4D0000201000000000000000000000002000255
+:10C4E000020202020202000202020202020202022E
+:10C4F0000002020200020202000200000101010229
+:10C500000202020002000202000100020100010218
+:10C510000202020202020000010100000001010209
+:10C5200002020200020201000200020001010102F7
+:10C5300002020202020202020100020202020202DE
+:10C5400002020202020202020201010101010102D1
+:10C5500002020202020202020102010201010102C0
+:10C5600002020202020202020202010101010102B0
+:10C57000020202020202020202020202020202029B
+:10C58000020202020202020202020202020201028C
+:10C59000020202020202020202020202020201027C
+:10C5A0000202020101010101010101010101010277
+:10C5B000010101010101010101010101010101006C
+:10C5C0000101020202010101010101010101010158
+:10C5D0000202020000000000000000000001000252
+:10C5E000020202020202000202020202020202022D
+:10C5F0000002020200020202000200000101010228
+:10C600000202020002000201000100010100010219
+:10C610000202020202020200010100000001010206
+:10C6200002020202020201000200020001010102F4
+:10C6300002020202020202020200020202020202DC
+:10C6400002020202020202020101010101010102D1
+:10C6500002020202020202010101010201010102C1
+:10C6600002020202020202020102010101010102B0
+:10C67000020202020202020202020202020201029B
+:10C68000020202020202020202020201010201028D
+:10C69000020202020202020202020202020201027B
+:10C6A0000102010101010101010101010101010278
+:10C6B000010101010101010101010101010101006B
+:10C6C0000101020101010101010101010101010159
+:10C6D0000202020000000000000000000001000251
+:10C6E000020202020202000202020202020201022D
+:10C6F0000002020200020202000200000101010227
+:10C700000202020002000201000100010100010218
+:10C710000202020202020200010100000001010205
+:10C7200002020102020101000202020001010102F3
+:10C7300002020202020202020200020202020102DC
+:10C7400002020202020202020101010101010102D0
+:10C7500002020202020202010101010101010102C1
+:10C7600002020202020202020102010101010102AF
+:10C77000020202020202020202020201010101029D
+:10C78000020202020202020201010201010201028E
+:10C79000020202020202020202020202020201027A
+:10C7A0000102010101010101010101010101010277
+:10C7B000010101010101010101010101010101006A
+:10C7C0000101020101010101010101010101010158
+:10C7D0000202020000000000000000000001000250
+:10C7E000020202020202000202020202020201022C
+:10C7F0000002020100020202000200000101010227
+:10C800000202010002000201000100010100010218
+:10C810000202020202020200010100000001010204
+:10C8200002020102020101000202010201010102F1
+:10C8300002020202020202020200020201020102DC
+:10C8400002020202020202020101010101010102CF
+:10C8500002010201020101010101010101010102C4
+:10C8600002020202020201010102010101010102B0
+:10C87000020202020202020202020201010101029C
+:10C88000020202020202020201010201010201028D
+:10C890000202020202020202020202020202010279
+:10C8A0000102010101010101010101010101010177
+:10C8B0000101010101010101010101010101010168
+:10C8C0000101020101010101010101010101010157
+:10C8D0000102020000000000000000000001000250
+:10C8E000020201020202000202020202010201022D
+:10C8F0000202020100010201000200000101010226
+:10C900000201010102010201000100010102010214
+:10C910000202020202020200010100000001010203
+:10C9200002020102020101000202010201010102F0
+:10C9300002020202020202020200020201010102DC
+:10C9400002020202020202010101010101010102CF
+:10C9500001010201020101010101010101010102C4
+:10C9600002020202010101010101010101010102B2
+:10C97000020202020202020202020201010101029B
+:10C98000020202020202010201010201010201028D
+:10C99000020202020202020102010102020201027B
+:10C9A0000101010101010101010101010101010177
+:10C9B0000101010101010101010101010101010167
+:10C9C0000101020101010101010101010101010255
+:10C9D000010202000000000000000000000100024F
+:10C9E000020201020201000202020202010101022E
+:10C9F0000202010100010101000200000101010227
+:10CA00000201010202020201000100010102010211
+:10CA10000201020202020202010100000001010201
+:10CA200002020102020101020202010201010102ED
+:10CA300002020202020202020200010101010102DD
+:10CA400002020202010202010101010101010102CF
+:10CA500001010201020101010101010101010102C3
+:10CA600002010101010101010101010101010102B4
+:10CA7000020202020202020202020201010101029A
+:10CA8000020202020201010201010101010101028F
+:10CA9000020202020201010101010102010101027F
+:10CAA0000101010101010101010101010101010176
+:10CAB0000101010101010101010101010101010166
+:10CAC0000101010101010101010101010101010255
+:10CAD000010102020000000000000000000100024D
+:10CAE000010201010201000202020202010101022F
+:10CAF0000202010101010101000200000101010225
+:10CB00000201010202020201000100010102010210
+:10CB10000201020201020202010100000001010201
+:10CB200002020102020101020202010201010102EC
+:10CB300002020202020202010202010101010102DB
+:10CB400001020202010202010101010101010102CF
+:10CB500001010201010101010101010101010102C3
+:10CB600002010101010101010101010101010102B3
+:10CB7000020202020102010201010101010101029E
+:10CB80000202010102010101010101010101010291
+:10CB90000202010102010101010101010101010281
+:10CBA0000101010101010101010101010101010175
+:10CBB0000101010101010101010101010101010264
+:10CBC0000101010101010101010101010101010254
+:10CBD000010102020000000000000000000100024C
+:10CBE000010201010201000202020202010101022E
+:10CBF0000202010102010101000100000101010224
+:10CC00000201010201020201000100010102010210
+:10CC10000201020201020202010100000001010200
+:10CC200001020102020101020202010201010102EC
+:10CC300002020202020202010202010101010102DA
+:10CC400001020201010202010101010101010102CF
+:10CC500001010101010101010101010101010102C3
+:10CC600002010101010101010101010101010102B2
+:10CC7000020102020101010201010101010101029F
+:10CC80000201010102010101010101010101010291
+:10CC90000202010102010101010101010101010181
+:10CCA0000101010101010101010101010101010174
+:10CCB0000101010101010101010101010101010263
+:10CCC0000100010100010101010101010101010255
+:10CCD000010102020000000000000000000100024B
+:10CCE000010201010201000102010202010101022F
+:10CCF0000202010102010101000100020101010221
+:10CD0000020101020102010102010001010201020E
+:10CD100002010202010202020101020000010102FD
+:10CD200001020102020101020102010101010102ED
+:10CD300002020202020202010202010101010102D9
+:10CD400001020101010101010101010101010102D1
+:10CD500001010101010101010101010101010102C2
+:10CD600001010101010101010101010101010102B2
+:10CD700002010101010101010101010101010102A1
+:10CD80000201010102010101010101010101010290
+:10CD90000202010102010101010101010101010180
+:10CDA0000101010101010101010101010101010173
+:10CDB0000101010101010101010101010101010262
+:10CDC0000100010100010101010101010101010254
+:10CDD000010102020000000000000000000100024A
+:10CDE0000102010102010001020101010101010230
+:10CDF000020201010201010100010202010101021E
+:10CE0000020101020102010102010001010101020E
+:10CE100001010202010202020101020200010102FB
+:10CE200001020102010101020102010101010102ED
+:10CE300002020202020202010202010101010101D9
+:10CE400001010101010101010101010101010101D2
+:10CE500001010101010101010101010101010102C1
+:10CE600001010101010101010101010101010102B1
+:10CE700002010101010101010101010101010102A0
+:10CE80000101010101010101010101010101010291
+:10CE90000102010101010101010101010101010181
+:10CEA0000101010101010101010101010101010172
+:10CEB0000101010101010101010101010101010261
+:10CEC0000100010100010101010101010000010255
+:10CED0000101020200020000000000000001000148
+:10CEE0000101010102010001020101010101010230
+:10CEF000020201010201010100010202010101021D
+:10CF0000020101020102010102010001010101020D
+:10CF100001010102010202020101020200010101FC
+:10CF200001010102010101020101010101010102EE
+:10CF300001020202020202010202010101010101D9
+:10CF400001010101010101010101010101010101D1
+:10CF500001010101010101010101010101010101C1
+:10CF600001010101010101010101010101010102B0
+:10CF700001010101010101010101010101010102A0
+:10CF80000101010101010101010101010101010191
+:10CF90000101010101010101010101010101010181
+:10CFA0000101010101010101010101010101010171
+:10CFB0000101010101010101010101010101010260
+:10CFC000010001000000000000000001000001015C
+:10CFD0000101020200020000000000000001000147
+:10CFE0000101010102010001010101010101010230
+:10CFF000020201010201010100010202010101021C
+:10D00000010101020102010102010001010101010E
+:10D0100001010101010102020101020202010101FB
+:10D0200001010102010101020101010101010102ED
+:10D0300001020202010202010202010101010101D9
+:10D0400001010101010101010101010101010101D0
+:10D0500001010101010101010101010101010101C0
+:10D0600001010101010101010101010101010102AF
+:10D0700001010101010101010101010101010101A0
+:10D080000101010101010101010101010101010190
+:10D090000101010101010101010101010101010180
+:10D0A0000101010101010101010101010101010170
+:10D0B000010101010101010101010101010101025F
+:10D0C000000000000000000000000000000001015E
+:10D0D0000101020200020002000000000200000143
+:10D0E000010101010201000101010101010101022F
+:10D0F000020101010201010100010201010101011E
+:10D10000010101020102010102010001010101010D
+:10D1100001010101010101020101020202010101FB
+:10D1200001010101010101010101010101010102EE
+:10D1300001020202010101010102010101010101DB
+:10D1400001010101010101010101010101010101CF
+:10D1500001010101010101010101010101010101BF
+:10D1600001010101010101010101010101010102AE
+:10D17000010101010101010101010101010101019F
+:10D18000010101010101010101010101010101018F
+:10D19000010101010101010101010101010101017F
+:10D1A000010101010101010101010101010101016F
+:10D1B000010101010101010101010101010101025E
+:10D1C000000000000000000000000000000000015E
+:10D1D0000101020200020002000200000200000140
+:10D1E000010101010201000101010101010101022E
+:10D1F000020101010201010100010101010101011E
+:10D20000010101020102010102010201010101010A
+:10D2100001010101010101010101010101010101FE
+:10D2200001010101010101010101010101010101EE
+:10D2300001020101010101010101010101010101DD
+:10D2400001010101010101010101010101010101CE
+:10D2500001010101010101010101010101010101BE
+:10D2600001010101010101010101010101010101AE
+:10D27000010101010101010101010101010101019E
+:10D28000010101010101010101010101010101018E
+:10D29000010101010101010101010101010101017E
+:10D2A000010101010101010101010101010101016E
+:10D2B0000001010101000100010001000001000264
+:10D2C0000200000000000000000000000000020159
+:10D2D0000101020200020202020200020200000139
+:10D2E000010101010101000101010101010101012F
+:10D2F000020101010201010100010101010101011D
+:10D300000101010201020101020102010101010109
+:10D3100001010101010101010101010101010101FD
+:10D3200001010101010101010101010101010101ED
+:10D3300001010101010101010101010101010101DD
+:10D3400001010101010101010101010101010101CD
+:10D3500001010101010101010101010101010101BD
+:10D3600001010101010101010101010101010101AD
+:10D37000010101010101010101010101010101019D
+:10D38000010101010101010101010101010101018D
+:10D39000010101010101010101010101010101017D
+:10D3A000010101010101010101010101010101016D
+:10D3B000000100000000000000000000000000026A
+:10D3C0000200000000000000000002000000020156
+:10D3D0000101010200020202020202020100000138
+:10D3E000010101010101000101010101010101012E
+:10D3F000020101010201010100010101010101011C
+:10D40000010101020101010101010201010101010A
+:10D4100001010101010101010101010101010101FC
+:10D4200001010101010101010101010101010101EC
+:10D4300001010101010101010101010101010101DC
+:10D4400001010101010101010101010101010101CC
+:10D4500001010101010101010101010101010101BC
+:10D4600001010101010101010101010101010101AC
+:10D47000010101010101010101010101010101019C
+:10D48000010101010101010101010101010101018C
+:10D49000010101010101010101010101010101017C
+:10D4A000010101010101010101010101010101016C
+:10D4B000000000000000000000000000000000026A
+:10D4C000020000000000000200020202020002014D
+:10D4D0000100010202020202020202020100010135
+:10D4E000010101010101000101010101010101012D
+:10D4F000010101010201010102010101010101011A
+:10D50000010101010101010101010101010101010B
+:10D5100001010101010101010101010101010101FB
+:10D5200001010101010101010101010101010101EB
+:10D5300001010101010101010101010101010101DB
+:10D5400001010101010101010101010101010101CB
+:10D5500001010101010101010101010101010101BB
+:10D5600001010101010101010101010101010101AB
+:10D57000010101010101010101010101010101019B
+:10D58000010101010101010101010101010101018B
+:10D59000010101010101010101010101010101017B
+:10D5A000010101010101010101010101010101006C
+:10D5B000020000000002000200020002020002025B
+:10D5C0000200000000020002020202020202020146
+:10D5D0000000010102020202020202010100010137
+:10D5E000010101010101000101010101010101012C
+:10D5F000010101010101010102010101010101011A
+:10D60000010101010101010101010101010101010A
+:10D6100001010101010101010101010101010101FA
+:10D6200001010101010101010101010101010101EA
+:10D6300001010101010101010101010101010101DA
+:10D6400001010101010101010101010101010101CA
+:10D6500001010101010101010101010101010101BA
+:10D6600001010101010101010101010101010101AA
+:10D67000010101010101010101010101010101019A
+:10D68000010101010101010101010101010101018A
+:10D69000010101010101010101010101010101017A
+:10D6A000010101010101010101010101010101006B
+:10D6B000020002020202020202020202020202024C
+:10D6C0000200000000020202020202020202020143
+:10D6D000000001010201020102010101010001013A
+:10D6E000010101010101000101010101010101012B
+:10D6F0000101010101010101020101010101010119
+:10D700000101010101010101010101010101010109
+:10D7100001010101010101010101010101010101F9
+:10D7200001010101010101010101010101010101E9
+:10D7300001010101010101010101010101010101D9
+:10D7400001010101010101010101010101010101C9
+:10D7500001010101010101010101010101010101B9
+:10D7600001010101010101010101010101010101A9
+:10D770000101010101010101010101010101010199
+:10D780000101010101010101010101010101010189
+:10D790000101010101010101010101010101010179
+:10D7A000010101010101010101010101010101006A
+:10D7B0000202020202020202020202020202020249
+:10D7C000020200020002020202020202020202013E
+:10D7D000000001010201020101010101010001013A
+:10D7E000010101010101000101010101010101012A
+:10D7F0000101010101010101010101010101010119
+:10D800000101010101010101010101010101010108
+:10D8100001010101010101010101010101010101F8
+:10D8200001010101010101010101010101010101E8
+:10D8300001010101010101010101010101010101D8
+:10D8400001010101010101010101010101010101C8
+:10D8500001010101010101010101010101010101B8
+:10D8600001010101010101010101010101010101A8
+:10D870000101010101010101010101010101010198
+:10D880000101010101010101010101010101010188
+:10D890000101010101010101010101010101010178
+:10D8A0000201010101010101010102020202020261
+:10D8B0000202020202020202020202020202020248
+:10D8C000020200020002020202020202020202003E
+:10D8D000000001010201010101010101010001013A
+:10D8E0000101010101010001010101010101010129
+:10D8F0000101010101010101010101010101010118
+:10D900000101010101010101010101010101010107
+:10D9100001010101010101010101010101010101F7
+:10D9200001010101010101010101010101010101E7
+:10D9300001010101010101010101010101010101D7
+:10D9400001010101010101010100000001020101C9
+:10D9500001010101010101010101010101010101B7
+:10D9600001010101010101010101010101010101A7
+:10D970000101010101010101010101010101010197
+:10D980000101010101010101010101000101010188
+:10D990000101010101010101010101010101010177
+:10D9A0000201020202020202020202020202020258
+:10D9B0000202020202020202020202020202020247
+:10D9C000020202020002020202020202020202003B
+:10D9D0000000010102010101010101010100010139
+:10D9E0000101010101010001010101010101010128
+:10D9F0000101010101010101010101010101010117
+:10DA00000101010101010101010101010101010106
+:10DA100001010101010101010101010101010101F6
+:10DA200001010101010101010101010101010101E6
+:10DA300001010101010101010101010102010101D5
+:10DA400001010101010101000000000002010101CA
+:10DA500001010101010101010101010101020101B5
+:10DA600001010101010101010101010102020101A4
+:10DA70000101010101010101010101020101010195
+:10DA8000010101010101010100000100000101018A
+:10DA90000101010101010101010101010101010176
+:10DAA0000202020202020202020202020202020256
+:10DAB0000202020202020202020202020202020246
+:10DAC0000202020202020202020202020202020038
+:10DAD0000000010101010101010101010100010139
+:10DAE0000101010101010201010101010101010125
+:10DAF0000101010101010101010101010101010116
+:10DB00000101010101010101010101010101010105
+:10DB100001010101010101010101010101010101F5
+:10DB200001010101010101010101010101010101E5
+:10DB300001010101010101010101010101010101D5
+:10DB400001010101010101000000000001000001CC
+:10DB500001000101010101000000000001010001BC
+:10DB600001010101010100000001010101010001A9
+:10DB70000101010101010101010100010101000197
+:10DB80000101010101010101000001000001020188
+:10DB90000101010101010101010001010101020274
+:10DBA0000202020202020202020202020202020255
+:10DBB0000202020202020202020202020202020245
+:10DBC0000202020202020202020202020202020037
+:10DBD0000100010101010101010101010100010137
+:10DBE0000101010101010201010101010101010124
+:10DBF0000101010101010101010101010101010115
+:10DC00000101010101010101010101010101010104
+:10DC100001010101010101010100010101010101F5
+:10DC200001010101010101010101010101010101E4
+:10DC300001010101010101020101020200010001D3
+:10DC400001010101000101000000000000000000CE
+:10DC500001000100010000000000000001000001BF
+:10DC600000000000000000000000020200000201AD
+:10DC700000000100000000000000000001010001A0
+:10DC80000202020201020202020202020202020176
+:10DC90000201020201020202020202020202020266
+:10DCA0000202020202020202020202020202020254
+:10DCB0000202020202020202020202020202020244
+:10DCC0000202020202020202020202020202020036
+:10DCD0000100010101010101010101010100010136
+:10DCE0000101010101010201010101010101010123
+:10DCF0000101010101010101010101010101010114
+:10DD00000101010101010101010101010101010103
+:10DD100001010101010101010100010101010101F4
+:10DD200001010101010101010101010101010101E3
+:10DD300001010101010101010101010100000001D6
+:10DD400002010101000101000000000000000200CA
+:10DD500002000100010000000000000002000200BB
+:10DD60000202020202020202020202020202020194
+:10DD7000000000000000000000000000020202029B
+:10DD80000202020202020202020202020202020273
+:10DD90000202020202020202020202020202020263
+:10DDA0000202020202020202020202020202020253
+:10DDB0000202020202020202020202020202020243
+:10DDC0000202020202020202020202020202020035
+:10DDD0000100010101010101010101010100010135
+:10DDE0000101010101010101010101010101010123
+:10DDF0000101010101010101010101010101010113
+:10DE00000101010101010101010101010101010102
+:10DE100001010101010101010100010101010101F3
+:10DE200001010101010202010101020001010101E0
+:10DE300001010101010101000101000000000002D7
+:10DE400002020202020202020202020202020200B4
+:10DE500002020202020202020202020202020202A2
+:10DE60000202020202020202020202020202020094
+:10DE70000202020202020202020202020202020282
+:10DE80000202020202020202020202020202020272
+:10DE90000202020202020202020202020202020262
+:10DEA0000202020202020202020202020202020252
+:10DEB0000202020202020202020202020202020242
+:10DEC0000202020202020202020202020202020034
+:10DED0000101010101010101010101010101010132
+:10DEE0000101010101010101010101010101010122
+:10DEF0000101010101010101010101010101010112
+:10DF00000101010101010101010101010001010102
+:10DF100001010101010101010000010101020101F2
+:10DF200002010201010101010101010002020201DD
+:10DF300002010101010101000101000000020202D1
+:10DF400002020202020202020202020202020202B1
+:10DF500002020202020202020202020202020202A1
+:10DF60000202020202020202020202020202020291
+:10DF70000202020202020202020202020202020281
+:10DF80000202020202020202020202020202020271
+:10DF90000202020202020202020202020202020261
+:10DFA0000202020202020202020202020202020251
+:10DFB0000202020202020202020202020202020241
+:10DFC0000202020202020202020202020202020033
+:10DFD0000101010101010101010101010101010131
+:10DFE0000101010101010101010101010101010121
+:10DFF0000101010101010101010101010101010111
+:10E0000001010101010102020100010200020101FE
+:10E0100002020000010101010000010101010202F0
+:10E0200002020202020202020202020202020202D0
+:10E0300002020202020202020202020202020202C0
+:10E0400002020202020202020202020202020202B0
+:10E0500002020202020202020202020202020202A0
+:10E060000202020202020202020202020202020290
+:10E070000202020202020202020202020202020280
+:10E080000202020202020202020202020202020270
+:10E090000202020202020202020202020202020260
+:10E0A0000202020202020202020202020202020250
+:10E0B0000202020202020202020202020202020240
+:10E0C0000202020202020202020202020202020131
+:10E0D0000101010101010101010101010101010130
+:10E0E0000101010101010101010101010101010120
+:10E0F000010101010101020101010101020101010E
+:10E1000002020201010101010100010100010202FC
+:10E1100002020202020202020202020202020202DF
+:10E1200002020202020202020202020202020202CF
+:10E1300002020202020202020202020202020202BF
+:10E1400002020202020202020202020202020202AF
+:10E15000020202020202020202020202020202029F
+:10E16000020202020202020202020202020202028F
+:10E17000020202020202020202020202020202027F
+:10E18000020202020202020202020202020202026F
+:10E19000020202020202020202020202020202025F
+:10E1A000020202020202020202020202020202024F
+:10E1B000020202020202020202020202020202023F
+:10E1C0000202020202020202020202020202020130
+:10E1D000010101010101010101010101010101012F
+:10E1E000010102010101010101010101010101011E
+:10E1F0000202020201020102010202020102020203
+:10E2000002020202020202020202020202020202EE
+:10E2100002020202020202020202020202020202DE
+:10E2200002020202020202020202020202020202CE
+:10E2300002020202020202020202020202020202BE
+:10E2400002020202020202020202020202020202AE
+:10E25000020202020202020202020202020202029E
+:10E26000020202020202020202020202020202028E
+:10E27000020202020202020202020202020202027E
+:10E28000020202020202020202020202020202026E
+:10E29000020202020202020202020202020202025E
+:10E2A000020202020202020202020202020202024E
+:10E2B000020202020202020202020202020202023E
+:10E2C000020202020202020202020202020202012F
+:10E2D000010101010101010101010101010101012E
+:10E2E000010102010101010101010101010101021C
+:10E2F00002020202020202020202020202020202FE
+:10E3000002020202020202020202020202020202ED
+:10E3100002020202020202020202020202020202DD
+:10E3200002020202020202020202020202020202CD
+:10E3300002020202020202020202020202020202BD
+:10E3400002020202020202020202020202020202AD
+:10E35000020202020202020202020202020202029D
+:10E36000020202020202020202020202020202028D
+:10E37000020202020202020202020202020202027D
+:10E38000020202020202020202020202020202026D
+:10E39000020202020202020202020202020202025D
+:10E3A000020202020202020202020202020202024D
+:10E3B000020202020202020202020202020202003F
+:10E3C000000000000000000000000000000000014C
+:10E3D000010101010101010101010101010101012D
+:10E3E000010102010101010101010101010101021B
+:10E3F00002020202020202020202020202020202FD
+:10E4000002020202020202020202020202020202EC
+:10E4100002020202020202020202020202020202DC
+:10E4200002020202020202020202020202020202CC
+:10E4300002020202020202020202020202020202BC
+:10E4400002020202020202020202020202020202AC
+:10E45000020202020202020202020202020202029C
+:10E46000020202020202020202020202020202028C
+:10E47000020202020202020202020202020202027C
+:10E48000020202020202020202020202020202026C
+:10E49000020202020202020202020202020202025C
+:10E4A000020202020202020202020202020202024C
+:10E4B000020202020202020202020202020202003E
+:10E4C000000000000000000000000000000000014B
+:10E4D000010101010101010101010101010101012C
+:10E4E000010101010101010101010101010101021B
+:10E4F00002020202020202020202020202020202FC
+:10E5000002020202020202020202020202020202EB
+:10E5100002020202020202020202020202020202DB
+:10E5200002020202020202020202020202020202CB
+:10E5300002020202020202020202020202020200BD
+:10E5400000000000000000000000000000000002C9
+:10E55000020202020202020202020202020202029B
+:10E56000020202020202020202020202020202028B
+:10E57000020202020202020202020202020202027B
+:10E58000020202020202020202020202020202026B
+:10E59000020202020202020202020202020202025B
+:10E5A000020202020202020202020202020202004D
+:10E5B000000000000000000000000000000000005B
+:10E5C000000000000000000000000000000000014A
+:10E5D000010101010101010101010101010101012B
+:10E5E000020101010101010101010101010101001B
+:10E5F000000000000000000000000000000000001B
+:10E60000000000000000000000000000000000000A
+:10E6100000000000000000000000000000000000FA
+:10E6200000000000000000000000000000000000EA
+:10E6300000000000000000000000000000000000DA
+:10E6400000000000000000000000000000000000CA
+:10E6500000000000000000000000000000000000BA
+:10E6600000000000000000000000000000000002A8
+:10E67000020202020202020202020202020202027A
+:10E68000020202020202020202020202020202026A
+:10E69000020202020202020202020202020202025A
+:10E6A000020202020202020202020202020202004C
+:10E6B000000000000000000000000000000000005A
+:10E6C0000000000000000000000000000000000149
+:10E6D0000101010101010101010101010101010229
+:10E6E000020201010101000101010101010101001A
+:10E6F000000000000000000000000000000000001A
+:10E700000000000000000000000000000000000009
+:10E7100000000000000000000000000000000000F9
+:10E7200000000000000000000000000000000000E9
+:10E7300000000000000000000000000000000001D8
+:10E7400001010101010101010101010101010100BA
+:10E7500000000000000000000000000000000000B9
+:10E7600000000000000000000000000000000001A8
+:10E77000010101010101010101010101010101008A
+:10E780000000000000000000000000000000000287
+:10E790000202020202020202020202020202020259
+:10E7A000020202020202020202020202020202014A
+:10E7B000010101010101010101010101010101004A
+:10E7C0000000000000000000000000000000000148
+:10E7D000010101010101010101010101010101002A
+:10E7E0000000000000000000000000000000000128
+:10E7F0000101010101010101010101010101010109
+:10E8000001010101010101010101010101010101F8
+:10E8100001010101010101010101010101010101E8
+:10E8200001010101010101010101010101010101D8
+:10E8300001010101010101010101010101010101C8
+:10E8400001010101010101010101010101010101B8
+:10E8500001010101010101010101010101010101A8
+:10E860000101010101010101010101010101010198
+:10E870000101010101010101010101010101010188
+:10E880000101010101010101010101010101010178
+:10E890000101010101010101010101010101010168
+:10E8A0000101010101010101010101010101010158
+:10E8B0000101010101010101010101010101010049
+:10E8C0000000000000000000000000000000000147
+:10E8D0000101010101010101010101010101010029
+:10E8E0000000000000000000000000000000000127
+:10E8F0000101010101010101010101010101010108
+:10E9000001010101010101010101010101010101F7
+:10E9100001010101010101010101010101010101E7
+:10E9200001010101010101010101010101010101D7
+:10E9300001010101010101010101010101010100C8
+:10E9400000000000000000000000000000000001C6
+:10E9500001010101010101010101010101010101A7
+:10E960000101010101010101010101010101010098
+:10E970000000000000000000000000000000000196
+:10E980000101010101010101010101010101010177
+:10E990000101010101010101010101010101010167
+:10E9A0000101010101010101010101010101010256
+:10E9B0000202020202020202020202020202020039
+:10E9C0000000000000000000000000000000000047
+:10E9D0000000000000000000000000000000000037
+:10E9E0000000000000000000000000000000000027
+:10E9F0000000000000000000000000000000000017
+:10EA00000000000000000000000000000000000006
+:10EA100000000000000000000000000000000000F6
+:10EA200000000000000000000000000000000000E6
+:10EA300000000000000000000000000000000000D6
+:10EA400000000000000000000000000000000000C6
+:10EA500000000000000000000000000000000000B6
+:10EA600000000000000000000000000000000000A6
+:10EA70000000000000000000000000000000000096
+:10EA80000000000000000000000000000000000086
+:10EA90000000000000000000000000000000000076
+:10EAA0000000000000000000000000000000000066
+:10EAB0000000000000000000000000000000000056
+:10EAC0000000000000000000000000000000003610
+:10EAD0000000000000000002000000000000000034
+:10EAE0000000000000000002000000010000000023
+:10EAF0000000000000000000000200000000000014
+:10EB00000000000000000000000001000000000004
+:10EB100000000000000000010001000000000000F3
+:10EB200000000000000000000000000002000000E3
+:10EB300000000000000000000000000000000000D5
+:10EB400000000000000000000000000000000000C5
+:10EB500000000000000000000000000000000000B5
+:10EB600000000000000000000000000000000000A5
+:10EB70000000000000000000000000000000000095
+:10EB80000000000000000002000000000000000083
+:10EB90000000000000000000000000000202000071
+:10EBA000000002000200000001000101010100005C
+:10EBB0000000000200000000000000000000000053
+:10EBC0000000000000000000000200000000020041
+:10EBD000000000000000020200020000000000002F
+:10EBE0000000000000000002020000010000000020
+:10EBF000000000000000020000020000000000020F
+:10EC000000000000000002000000010000000002FF
+:10EC100000020000000000020201000000000000ED
+:10EC200000000000000200020000000102000202D9
+:10EC300000000000000000000000000000000000D4
+:10EC400000000000000000000000000000000000C4
+:10EC500000000000000000000000000000000000B4
+:10EC600000000000000000020000000000000000A2
+:10EC70000000000000000000000000000200000290
+:10EC8000000000000000000201000002000200007D
+:10EC9000000000000000020200020000020200006A
+:10ECA0000000020002000002020202010201000054
+:10ECB0000002000200000000020000020202020244
+:10ECC0000200020200020200000202000000020034
+:10ECD000000000000000020200020000000000002E
+:10ECE000000000000000000202000001000000001F
+:10ECF000000000000000020000020000000100020D
+:10ED000000020000000002000000010200000202F8
+:10ED100000020000000002020201000002000000E8
+:10ED200000000000000200020000000102020202D6
+:10ED300000000000000000000000000000000000D3
+:10ED400000000000000000000000000000000000C3
+:10ED500000000000000000000200000000000000B1
+:10ED600000000000000000020000000000000000A1
+:10ED7000000000000000000000000000020000028F
+:10ED80000000000000000002020200020002000079
+:10ED90000000000000000202000202020202020261
+:10EDA000000002000200020202020202020202024B
+:10EDB000020200020200000202010002020202023C
+:10EDC000020202020002020000020200000002022F
+:10EDD000000000000000020200020000000000002D
+:10EDE000000000000000000202000002000000001D
+:10EDF000000000000000020000020100000100020B
+:10EE000000020000000002010000020200000202F5
+:10EE100000020000000002020202000002020000E4
+:10EE200000000000000200020000000202020202D4
+:10EE300000000000000200000000000000000000D0
+:10EE400000000000000000000000000000000000C2
+:10EE500000000000000000000200000002000200AC
+:10EE600000000000000000020000000000000000A0
+:10EE70000000000000000000000001000202020289
+:10EE8000000000020002020202020202010200006F
+:10EE9000020000000000020200020202020202025E
+:10EEA0000002020002000202020202020202020248
+:10EEB0000202000202000002020202020202020238
+:10EEC000020202020202020000020202000002022A
+:10EED000000000000000020200020000000000002C
+:10EEE000000000000000000202000002000000001C
+:10EEF000000000000000020000020100000100020A
+:10EF000000020000000002010000020200000202F4
+:10EF100000020000000002020202020002020200DF
+:10EF200000000000000200020000000202020202D3
+:10EF300000000000000200000000000000000000CF
+:10EF400002000000020000000000000000000000BD
+:10EF500000000000000000000200010002010200A9
+:10EF6000000000000002000200000000000000009D
+:10EF70000000000000000000000202000202020285
+:10EF8000000000020002020202020202010200006E
+:10EF9000020000000000020202020202020202025B
+:10EFA0000202020202000202020202020202020243
+:10EFB0000202020202000202020202020202020233
+:10EFC0000202020202020200000202020000020229
+:10EFD000000000000000020200020000000000002B
+:10EFE000000000000000000202000002000000001B
+:10EFF0000000000002020200000201000002000204
+:10F0000000020000000002010001020200000202F2
+:10F0100000020000000002020202020002020200DE
+:10F0200000000000000202020000000202020202D0
+:10F0300000000000000200010000000000000000CD
+:10F0400002000000020000000000000000000000BC
+:10F0500000000000000000000200010002020200A7
+:10F06000000000000002000200000000000002009A
+:10F070000000000000000000000202000202020284
+:10F080000000000200020202020202020202020268
+:10F09000020000000000020202020202020202025A
+:10F0A0000202020202000202020202020202020242
+:10F0B0000202020202000202020202020202020232
+:10F0C0000202020202020200000202020000020228
+:10F0D000000000000000020200020000000000002A
+:10F0E000000000000000000202000002000000001A
+:10F0F0000000000002020201000202000002000201
+:10F1000000020000000002020002020200000202EF
+:10F1100000020000000002020202020002020200DD
+:10F1200000000000000202020000000202020202CF
+:10F1300000000000000200020000000200000000C9
+:10F1400002000000020000020001000000000000B8
+:10F1500000000000000000000200020002020200A5
+:10F160000000000000020202000100000000020096
+:10F170000000000000000002000202000202020281
+:10F180000000000200020202020202020202020267
+:10F190000202000000000202020202020202020257
+:10F1A000020202020202020202020202020202023F
+:10F1B000020202020202020202020202020202022F
+:10F1C0000202020202020200020202020000020225
+:10F1D000000000000000010200020000000000002A
+:10F1E0000000000000000002020000020000000019
+:10F1F0000000000002020201000202000002000200
+:10F2000000020000000202020002020200000202EC
+:10F2100000020000000002020202020002020200DC
+:10F2200000000000000202020002020202020202CA
+:10F2300000000000000200020001000200000000C7
+:10F2400002000000020000020001010000000000B6
+:10F2500000000000000000000202020002020200A2
+:10F260000000000000020202010200010200020090
+:10F27000000000000000000201020202020202027D
+:10F280000200000200020202020202020202020264
+:10F290000202020000000202020202020202020254
+:10F2A000020202020202020202020202020202023E
+:10F2B000020202020202020202020202020202022E
+:10F2C0000202020202020200020202020202020220
+:10F2D0000000000000000102020200000000000027
+:10F2E0000000000000000002020000020000000018
+:10F2F00000000000020202010002020000020002FF
+:10F3000000020000000202020002020200000202EB
+:10F3100000020000000002020202020002020200DB
+:10F3200000000000000202020002020202020202C9
+:10F3300000000000000200020201000201000000C3
+:10F3400002000000020000020001010000000000B5
+:10F3500000000000000000010202020002020200A0
+:10F36000000000000002020201020002020002008E
+:10F37000000000000000000202020202020202027B
+:10F380000200000200020202020202020202020263
+:10F390000202020000000202020202020202020253
+:10F3A000020202020202020202020202020202023D
+:10F3B000020202020202020202020202020202022D
+:10F3C0000202020202020100020202020202020220
+:10F3D0000002000000000102020200000000000024
+:10F3E0000000000000000002020000020000000017
+:10F3F00002000000020202020002020200020002F9
+:10F4000000020000000202020002020200000202EA
+:10F4100000020000000002020202020002020200DA
+:10F4200000000000000202020202020202020202C6
+:10F4300000000000000200020201000201000000C2
+:10F4400002000200020200020002010100020202A8
+:10F45000000000000000000202020200020202029C
+:10F46000000000000002020202020002020202008A
+:10F47000000000000000000202020202020202027A
+:10F480000200020200020202020202020202020260
+:10F490000202020000000202020202020202020252
+:10F4A000020202020202020202020202020202023C
+:10F4B000020202020202020202020202020202022C
+:10F4C0000202020202010100020202020202020220
+:10F4D0000002020000000102020200000000000021
+:10F4E0000000000000000002020000020200000014
+:10F4F00002020000020202020002020200020002F6
+:10F5000000020000000202020002020200000202E9
+:10F5100000020200000002020202020002020200D7
+:10F5200000000000000202020202020202020202C5
+:10F5300000000000000200020202020202010000BC
+:10F5400002000200020200020002020100020202A6
+:10F55000000000000000000202020200020202029B
+:10F560000000000000020202020200020202020089
+:10F570000200000000000002020202020202020277
+:10F58000020202020002020202020202020202025D
+:10F590000202020000000202020202020202020251
+:10F5A000020202020202020202020202020202023B
+:10F5B000020202020202020202020202020202022B
+:10F5C0000202020102010100020202020202020220
+:10F5D000020202000002010202020000000000001C
+:10F5E0000000000000000002020000020200000013
+:10F5F00002020002020202020002020200020002F3
+:10F6000000020000000202020002020200000202E8
+:10F6100000020200000002020202020002020200D6
+:10F6200000000000000202020202020202020202C4
+:10F6300000000200000200020202020202010000B9
+:10F6400002000200020202020102020100020202A2
+:10F65000000000000000000202020200020202029A
+:10F660000000000000020202020202020202020086
+:10F670000200000000020002020202020202020274
+:10F68000020202020002020202020202020202025C
+:10F69000020202000200020202020202020202024E
+:10F6A000020202020202020202020202020202023A
+:10F6B000020202020202020202020202020202022A
+:10F6C0000202020102010100020201020202010221
+:10F6D0000202020200020102020200000000000019
+:10F6E0000000000000000002020000020200000012
+:10F6F00002020002020202020002020200020002F2
+:10F7000000020000000202020002020200000202E7
+:10F7100000020202000002020202020202020200D1
+:10F7200000000000000202020202020202020202C3
+:10F7300002000200000200020202020202020002B3
+:10F7400002000200020202020102020200020202A0
+:10F750000000000000000002020202020202020297
+:10F760000000000000020202020202020202020283
+:10F770000200000000020002020202020202020273
+:10F78000020202020002020202020202020202025B
+:10F79000020202000200010202020202020202024E
+:10F7A000020202020202010202020202020202023A
+:10F7B0000202020202020202020202020202020229
+:10F7C0000202010101010100020201010202010223
+:10F7D0000202020202010102020200000000000017
+:10F7E000000000000000000202000002020002000F
+:10F7F00002020002020202020002020200020002F1
+:10F8000000020000000202020002020200000202E6
+:10F8100000020202000002020202020202020200D0
+:10F8200002000000000202020202020202020202C0
+:10F8300002000202000200020202020202020002B0
+:10F84000020002000202020201020202020202029D
+:10F850000000000000000002020202020202020296
+:10F860000200000000010102020202020202020282
+:10F870000200000000020202020202020202020270
+:10F88000020202020002010202020202020202025B
+:10F890000202020202020102020202020202020249
+:10F8A000020202020102010202020202020202023A
+:10F8B000020202010202010202020202020202022A
+:10F8C0000101010101010100020101010202010126
+:10F8D0000201010202010102020200000000000018
+:10F8E000000000000000000202000002020102000D
+:10F8F00002020002020202020002020200020002F0
+:10F9000000020000000202020002020200010202E4
+:10F9100000020202000002020202020202020200CF
+:10F9200002000000000201020202020202020202C0
+:10F9300002000202000200020202020202020202AD
+:10F94000020002000202020202020202020202029B
+:10F950000000000000000002020202020202020295
+:10F960000200000000010102020202020202020281
+:10F97000020000000002020202020202020202026F
+:10F98000020202020001010202020202020202025B
+:10F990000202020202020102020202020202020248
+:10F9A000020201020102010202020202020202023A
+:10F9B000020202010102010202020202020202022A
+:10F9C0000101010101010100020101010202010125
+:10F9D0000201010102010102020100000000000019
+:10F9E000000000000000000202000002020202000B
+:10F9F00002020002020201020002020200020002F0
+:10FA000000020000000201020102020200020202E2
+:10FA100000020202000001020202020202020200CF
+:10FA200002000002020201020202020202020202BB
+:10FA300002020202000100020202020202020202AB
+:10FA4000020002000102010202020202020202029C
+:10FA50000200000000000202020202020202020290
+:10FA60000200000000010102020202020202020280
+:10FA7000020200000002020202020202020202026C
+:10FA80000202020102010102020202020202020259
+:10FA90000202020202020102020202020202020247
+:10FAA000020201010101010202020202020202023B
+:10FAB000020202010101010202020201020102022C
+:10FAC0000101010101010100010101010202010125
+:10FAD000010101010101010102010000000000001B
+:10FAE000000000000000000202000002020202000A
+:10FAF00002020202020201020002020200020002ED
+:10FB000000020000000201020102020200020202E1
+:10FB100000020202020001020202020202020202CA
+:10FB200002020002020101020202020202020202B9
+:10FB300002020202000100020202020202020202AA
+:10FB4000020002000101010202020202020202029C
+:10FB5000020000000000020202020202020202028F
+:10FB6000020002000001010202020202020202027D
+:10FB7000020200000002020202020202020202026B
+:10FB80000202020102010102020202020202020258
+:10FB90000202020202020102020202020202020246
+:10FBA000020201010101010202020202020202023A
+:10FBB0000201010101010102020202010101010130
+:10FBC0000101010101010100010101010101010126
+:10FBD000010101010101010102010000000000001A
+:10FBE0000000000000020002020000020202020007
+:10FBF00002020202020201020002020200020002EC
+:10FC000000020000000201020202020200020202DF
+:10FC100000010202020001020202020202020202CA
+:10FC200002020002020101020202020202020202B8
+:10FC300002020202020100020202020202020202A7
+:10FC4000020002000101010202020202020202029B
+:10FC5000020000000000020202020202020202028E
+:10FC6000020202000001010202020202020202027A
+:10FC70000202020000020202020202020202020268
+:10FC80000202020102010102020202020202020257
+:10FC90000202020202020102020202020202020245
+:10FCA000020101010101010202020202020202023A
+:10FCB0000101010101010102010202010101010131
+:10FCC0000101010101010100010101010101010125
+:10FCD0000101010101010101020102000000020015
+:10FCE0000000000000020002020000020202020006
+:10FCF00002020202020101020002020200020002EC
+:10FD000000020000000201020202020200020202DE
+:10FD100000010202020001020202020202020202C9
+:10FD200002020002020101020202020202020101B9
+:10FD300002020202020100020202020202020202A6
+:10FD4000010002000101010202020202020202029B
+:10FD5000020000000000020202020202010202028E
+:10FD60000202020002010102020202020202020277
+:10FD70000202020000020202020202020202020267
+:10FD80000202020102010102020202020202020256
+:10FD90000102020202020102020202020101020247
+:10FDA000010101010101010202020202020202023A
+:10FDB0000101010101010102010201010101010131
+:10FDC0000101010101010100010101010101010124
+:10FDD0000101010101010101020102000000020014
+:10FDE0000000000000020002020000020202020005
+:10FDF00002020202010101020002020200020002EC
+:10FE000002010000020101020202020200020201DC
+:10FE100000010202020001020202020202020202C8
+:10FE200002020202020101020202020201020101B7
+:10FE300002020202020100020202020202020202A5
+:10FE4000010002000101010202020202020202029A
+:10FE5000020200000000010201020202010201028E
+:10FE60000202020002010102020202020202020276
+:10FE70000202020202010102020202020102020166
+:10FE80000202020102010102020202010201020257
+:10FE90000101010202020102020202010101020249
+:10FEA0000101010101010102020202020202020239
+:10FEB0000101010101010102010201010101010130
+:10FEC0000101010101010100010101010101010123
+:10FED0000101010101010101020102000000020013
+:10FEE0000000000000010002020000020202020005
+:10FEF00002020202010101020002020200020202E9
+:10FF000002010000020101020202020200020101DC
+:10FF100002010202020001020202020202020202C5
+:10FF200002020202020101020202020201010101B7
+:10FF300002020201020100020202020202020202A5
+:10FF4000010001000101010202020202020202029A
+:10FF5000020200000000010201020202010101028E
+:10FF60000202020202010102020202020202020273
+:10FF70000202020202010102020202020101010167
+:10FF80000102010102010102020202010201020258
+:10FF9000010101020101010202010101010101014E
+:10FFA000010101010101010202020202010201013B
+:10FFB0000101010101010102010101010101010130
+:10FFC0000101010101010100010101010101010122
+:10FFD0000101010101010101020202000000020011
+:10FFE0000000000000010002020000020202020004
+:10FFF00002020201010101020202020200020202E7
+:0200000290006C
+:1000000002010000020101020202020100020101DC
+:1000100002010202020001020102020201010202C7
+:1000200002020202020101020202020101010101B7
+:1000300002020101020100020202020202020202A5
+:100040000100010001010102020202020202020299
+:100050000202020202000102010202020101010287
+:100060000102020202010102020202020202020273
+:100070000202020202010102020202020101010166
+:10008000010101010201010202010101020102025A
+:10009000010101010101010202010101010101014E
+:1000A000010101010101010201010101010101013F
+:1000B000010101010101010201010101010101012F
+:1000C0000101010101010100010100010101010122
+:1000D000010101010101010202020200000002000F
+:1000E0000000000000010002020000020202020003
+:1000F00002010201010101020201020200020201E9
+:1001000002010000020101020202020100020101DB
+:1001100002010201020001020102020201010202C7
+:1001200002020202020101020202020101010101B6
+:1001300002020101020102020202020102020202A3
+:100140000100010001010102020202020201020299
+:100150000202020202000102010101020101010189
+:100160000102010201010102020202020202010275
+:100170000102020202010102020101010101010169
+:10018000010101010101010201010101020101015D
+:10019000010101010101010201010101010101014E
+:1001A000010101010101010201010101010101013E
+:1001B000010101010101010201010101010101012E
+:1001C0000101010101010100010100000001010123
+:1001D000010101010101010202020200000001000F
+:1001E0000000000000010002020000020202020002
+:1001F00002010201010101020201020200020201E8
+:1002000002010000020101020202020100020101DA
+:1002100002010101020001020102010201010102C9
+:1002200002020202020101020202010101010101B6
+:1002300001020101010102020202020102020202A4
+:100240000102010001010102020202020201010198
+:100250000102020202020102010101010101010188
+:100260000101010101010102020202020102010277
+:100270000102020202010102020101010101010168
+:10028000010101010101010201010101010101015D
+:10029000010101010101010201010101010101014D
+:1002A000010101010101010201010101010101013D
+:1002B000010101010101010101010101010101012E
+:1002C0000101010101010100010000000001010123
+:1002D000010101010101010202020202000001000C
+:1002E0000000000000010002010000010202020003
+:1002F00001010201010101020201020200020201E8
+:1003000002010000020101020202010100020101DA
+:1003100002010101010001020102010201010102C9
+:1003200002020201010101010201010101010101B9
+:1003300001010101010101020102010102020202A7
+:100340000102010001010102020202020201010197
+:10035000010202010101010201010101010101018A
+:100360000101010101010101020202010101010279
+:100370000101020202010102020101010101010168
+:10038000010101010101010101010101010101015D
+:10039000010101010101010101010101010101014D
+:1003A000010101010101010101010101010101013D
+:1003B000010101010101010101010101010101012D
+:1003C0000101010101010100010000000000000025
+:1003D000010101010101010202020202000002000A
+:1003E0000000000000010001010000010202020003
+:1003F00001010201010101020201020100010201E9
+:1004000002010200020101020201010100020101D8
+:1004100002010101010001020101010201010102C9
+:1004200001020201010101010101010101010101BA
+:1004300001010101010101020102010102020202A6
+:100440000102010001010102020202020101010197
+:10045000010102010101010201010101010101018A
+:100460000101010101010101020102010101010279
+:10047000010101010101010201010101010101016B
+:10048000010101010101010101010101010101015C
+:10049000010101010101010101010101010101014C
+:1004A000010101010101010101010101010101013C
+:1004B000010101010101010101010101010101012C
+:1004C0000101010101010102010000000000000022
+:1004D0000101010101010102020202020000020207
+:1004E0000000000000010001010000010102020201
+:1004F00001010201010101020201010100010201E9
+:1005000002010200010101020201010100020101D8
+:1005100002010101010001010101010101010102CA
+:1005200001010201010101010101010101010101BA
+:1005300001010101010101020102010101020201A7
+:100540000102010201010101020101010101010198
+:10055000010101010101010201010101010101018A
+:10056000010101010101010102010101010101017A
+:10057000010101010101010201010101010101016A
+:10058000010101010101010101010101010101015B
+:10059000010101010101010101010101010101014B
+:1005A000010101010101010101010101010101013B
+:1005B000010101010101010101010101010101012B
+:1005C0000101010101010102010000000000000021
+:1005D000000000010100010202010202000001020C
+:1005E0000000000000010001010100010102010200
+:1005F00001010101010101020201010100010201E9
+:1006000002010200010101020201010100020101D7
+:1006100002010101010001010101010101010102C9
+:1006200001010101010101010101010101010101BA
+:1006300001010101010101020102010101010101A8
+:100640000102010201010101020101010101010197
+:10065000010101010101010101010101010101018A
+:10066000010101010101010101010101010101017A
+:10067000010101010101010101010101010101016A
+:10068000010101010101010101010101010101015A
+:10069000010101010101010101010101010101014A
+:1006A000010101010101010101010101010101013A
+:1006B000010101010101010101010101010101012A
+:1006C000010101010101010202000000000000001F
+:1006D000000000000000010101010202000001020F
+:1006E00000000000000100010102000101020102FE
+:1006F00001010101010101020201010100010201E8
+:1007000001010200010101020201010102020101D5
+:1007100001010101010201010101010101010102C7
+:1007200001010101010101010101010101010101B9
+:1007300001010101010101010101010101010101A9
+:100740000102010201010101020101010101010196
+:100750000101010101010101010101010101010189
+:100760000101010101010101010101010101010179
+:100770000101010101010101010101010101010169
+:100780000101010101010101010101010101010159
+:100790000101010101010101010101010101010149
+:1007A0000101010101010101010101010101010139
+:1007B0000101010101010101010101010101010129
+:1007C000010101010101010202000000000000001E
+:1007D000000000000000010101010202000001020E
+:1007E00000000000000100010102000101020102FD
+:1007F00001010101010101020201010102010201E5
+:1008000001010202010101010201010102010101D4
+:1008100001010101010101010101010101010101C8
+:1008200001010101010101010101010101010101B8
+:1008300001010101010101010101010101010101A8
+:100840000101010101010101010101010101010198
+:100850000101010101010101010101010101010188
+:100860000101010101010101010101010101010178
+:100870000101010101010101010101010101010168
+:100880000101010101010101010101010101010158
+:100890000101010101010101010101010101010148
+:1008A0000101010101010101010101010101010138
+:1008B0000101010101010101010101010101010128
+:1008C000010101010101010202000000000000001D
+:1008D000000000000000020101010202000201020A
+:1008E00002000002020100010102000101020102F6
+:1008F00001010101010101020201010102010101E5
+:1009000001010102010101010201010102010101D4
+:1009100001010101010101010101010101010101C7
+:1009200001010101010101010101010101010101B7
+:1009300001010101010101010101010101010101A7
+:100940000101010101010101010101010101010197
+:100950000101010101010101010101010101010187
+:100960000101010101010101010101010101010177
+:100970000101010101010101010101010101010167
+:100980000101010101010101010101010101010157
+:100990000101010101010101010101010101010147
+:1009A0000101010101010101010101010101010137
+:1009B0000101010101010101010101010101010127
+:1009C000010101010101010202000000000000001C
+:1009D000000000000000020101010202000201010A
+:1009E00002000002020000010102000101010102F7
+:1009F00001010101010101020201010102010101E4
+:100A000001010101010101010201010102010101D4
+:100A100001010101010101010101010101010101C6
+:100A200001010101010101010101010101010101B6
+:100A300001010101010101010101010101010101A6
+:100A40000101010101010101010101010101010196
+:100A50000101010101010101010101010101010186
+:100A60000101010101010101010101010101010176
+:100A70000101010101010101010101010101010166
+:100A80000101010101010101010101010101010156
+:100A90000101010101010101010101010101010146
+:100AA0000101010101010101010101010101010136
+:100AB0000101010101010101010101010101010126
+:100AC000010101000100000202000000000000001E
+:100AD0000002020000000201010101020202010104
+:100AE00002000002020001010102000101010102F5
+:100AF00001010101010101010201010102010101E4
+:100B000001010101010101010101010102010101D4
+:100B100001010101010101010101010101010101C5
+:100B200001010101010101010101010101010101B5
+:100B300001010101010101010101010101010101A5
+:100B40000101010101010101010101010101010195
+:100B50000101010101010101010101010101010185
+:100B60000101010101010101010101010101010175
+:100B70000101010101010101010101010101010165
+:100B80000101010101010101010101010101010155
+:100B90000101010101010101010101010101010145
+:100BA0000101010101010101010101010101010135
+:100BB0000101010101010101000101000100010128
+:100BC000000000000000000202000200000002001D
+:100BD00002020202000202010101010202020101FD
+:100BE00002020001010001010102020101010102F2
+:100BF00001010101010101010101010102010101E4
+:100C000001010101010101010101010102010101D3
+:100C100001010101010101010101010101010101C4
+:100C200001010101010101010101010101010101B4
+:100C300001010101010101010101010101010101A4
+:100C40000101010101010101010101010101010194
+:100C50000101010101010101010101010101010184
+:100C60000101010101010101010101010101010174
+:100C70000101010101010101010101010101010164
+:100C80000101010101010101010101010101010154
+:100C90000101010101010101010101010101010144
+:100CA0000101010101010101010101010101010134
+:100CB000010101010101010100010000000000002B
+:100CC000000000000000000202000202000002001A
+:100CD00002020202020202010101010102020001FC
+:100CE00002020201010001010102020101010102EF
+:100CF00001010101010101010101010102010101E3
+:100D000001010101010101010101010102010101D2
+:100D100001010101010101010101010101010101C3
+:100D200001010101010101010101010101010101B3
+:100D300001010101010101010101010101010101A3
+:100D40000101010101010101010101010101010193
+:100D50000101010101010101010101010101010183
+:100D60000101010101010101010101010101010173
+:100D70000101010101010101010101010101010163
+:100D80000101010101010101010101010101010153
+:100D90000101010101010101010101010101010143
+:100DA0000101010101010101010101010101010133
+:100DB000010101010101010100000000000000002B
+:100DC000000000020002020202020202000002020F
+:100DD00002020202020202010101010102020002FA
+:100DE00001020201010001010102020101010102EF
+:100DF00001010101010101010101010102010101E2
+:100E000001010101010101010101010101010101D2
+:100E100001010101010101010101010101010101C2
+:100E200001010101010101010101010101010101B2
+:100E300001010101010101010101010101010101A2
+:100E40000101010101010001010101010101010193
+:100E50000101010101010101010101010101010182
+:100E60000101010101010101010101010101010172
+:100E70000101010101010101010101010101010162
+:100E80000101010101010101010101010101010152
+:100E90000101010101010101010101010101010142
+:100EA0000101010101010101010101010101010132
+:100EB0000101010101010100020000020002000025
+:100EC0000202020202020202020202020002020204
+:100ED00002020202020202000101010102020002FA
+:100EE00001010101010001010102020101010101F1
+:100EF00001010101010101010101010101010101E2
+:100F000001010101010101010101010101010101D1
+:100F100001010101010101010101010101010101C1
+:100F200001010101010101010101010101010101B1
+:100F300001010101010101010101010101010101A1
+:100F40000101010101010001010101010101010192
+:100F50000101010101010101010101010101010181
+:100F60000101010101010101010101010101010171
+:100F70000101010101010101010101010101010161
+:100F80000101010101010101010101010101010151
+:100F90000101010101010101010101010101010141
+:100FA0000101010101010101010101010101010131
+:100FB000010101010101010002000202020202021C
+:100FC0000202020202020202020202020002020203
+:100FD00002020202020202000100010102010002FB
+:100FE00001010101010001010101020101010101F1
+:100FF00001010101010101010101010101010101E1
+:1010000001010101010101010101010101010101D0
+:1010100001010101010101010101010101010101C0
+:1010200001010101010101010101010101010101B0
+:1010300001010101010101010101010101010101A0
+:101040000101010101000001010101010101010192
+:101050000101010101010101010101010101010180
+:101060000101010101010101010101010101010170
+:101070000101010101010101010101010101010160
+:101080000101010101010101010101010101010150
+:101090000101010101010101010101010101010140
+:1010A000010102020202020101010101010101012B
+:1010B0000101020202020200020202020202020214
+:1010C0000202020202020202020202020202020200
+:1010D00002020202020202000100010101010002FB
+:1010E00001010101010001010101010101010101F1
+:1010F00001010101010101010101010101010101E0
+:1011000001010101010101010101010101010101CF
+:1011100001010101010101010101010101010101BF
+:1011200001010101010100010101010101010000B2
+:10113000010101010101010101010101010101019F
+:101140000101010100000001010101010101010192
+:10115000010101010101010101010101010101017F
+:10116000010101010102010101010101010101016E
+:10117000010101010101010101010101010101015F
+:10118000010101020102010101010101010101014D
+:101190000101010101010101020202020202010139
+:1011A0000202020202020201020101010101010127
+:1011B000020202020202020202020202020202020F
+:1011C00002020202020202020202020202020202FF
+:1011D00002020202020202000100010101010001FB
+:1011E00001010101010001010101010101010101F0
+:1011F00001010101010101010101010101010101DF
+:1012000001010101010101010101010101010101CE
+:1012100001010101010101010101010101010101BE
+:1012200001010101010100010101010101010000B1
+:10123000010101000101010101010101010101019F
+:101240000101010100000001010101010101010191
+:101250000101010101010101000101010001010180
+:101260000001010101010001010101010101010170
+:10127000010101010102010101010101010100025D
+:10128000010101010101020101010101010101014D
+:101290000101010101010202020202020202020234
+:1012A000020202020202020202020202020202021E
+:1012B000020202020202020202020202020202020E
+:1012C00002020202020202020202020202020202FE
+:1012D00002020202020202000100010101010001FA
+:1012E00001010101010001010101010101010101EF
+:1012F00001010101010101010101010101010101DE
+:1013000001010101010101010101010101010102CC
+:1013100001010101010101010001010101010101BE
+:1013200001010101010100010101010101010000B0
+:1013300001010100010101010001000101010101A0
+:101340000001010100000001010101010100010192
+:101350000001010000000100020000000000010186
+:101360000000000000000200010101010101010173
+:10137000000001010101000102020202020200015B
+:101380000202020202020201020202020102010141
+:10139000020202020202020202020202020202022D
+:1013A000020202020202020202020202020202021D
+:1013B000020202020202020202020202020202020D
+:1013C00002020202020202020202020202020202FD
+:1013D00002020202020202000100010101010001F9
+:1013E00001010101010001010101010101010101EE
+:1013F00001010101010101010101010101010101DD
+:1014000001010101010101010101010101010201CB
+:1014100001020101010101010001010101000101BD
+:1014200001010101010100010001000001010000B2
+:1014300001010000000001010001000101010101A2
+:101440000001000100000001010101010100010192
+:101450000000010000000200020202020202020279
+:10146000020202020202020000000000000000026C
+:101470000000000000000202020202020202020258
+:10148000020202020202020202020202020202023C
+:10149000020202020202020202020202020202022C
+:1014A000020202020202020202020202020202021C
+:1014B000020202020202020202020202020202020C
+:1014C00002020202020202020202020202020202FC
+:1014D00002020202020202000100010101010001F8
+:1014E00001010101010101010101010101010101EC
+:1014F00001010101010101010101010101010101DC
+:1015000001010101010101010101010101010200CB
+:1015100001020101010101010001010100000101BD
+:1015200001010101010100020202020202020000A7
+:101530000202020202020201000100020101010195
+:101540000001000100000002020202020202020287
+:10155000020202020202020202020202020202026B
+:10156000020202020202020202020202020202015C
+:10157000020202020202020202020202020202024B
+:10158000020202020202020202020202020202023B
+:10159000020202020202020202020202020202022B
+:1015A000020202020202020202020202020202021B
+:1015B000020202020202020202020202020202020B
+:1015C00002020202020202020202020202020202FB
+:1015D00002020202020202000101010101010001F6
+:1015E00001010101010101010101010101010101EB
+:1015F00001020102010101010101010101010101D9
+:1016000001010101010101020101010101010100CA
+:1016100001010101010101010001000000000101BF
+:1016200001010101010100020202020202020202A2
+:101630000202020202020201000100010101010195
+:101640000001000100000002020202020202020286
+:10165000020202020202020202020202020202026A
+:10166000020202020202020202020202020202025A
+:10167000020202020202020202020202020202024A
+:10168000020202020202020202020202020202023A
+:10169000020202020202020202020202020202022A
+:1016A000020202020202020202020202020202021A
+:1016B000020202020202020202020202020202020A
+:1016C00002020202020202020202020202020202FA
+:1016D00002020202020202000101010101010001F5
+:1016E00001010101010101010101010101010101EA
+:1016F00001010101010101010101010101010001DB
+:1017000001010101010101010100000001010100CD
+:1017100000010100000000020202020200000000BD
+:101720000202020202020202020202020202020299
+:101730000202020202020202020202020202020289
+:101740000202020202020202020202020202020279
+:101750000202020202020202020202020202020269
+:101760000202020202020202020202020202020259
+:101770000202020202020202020202020202020249
+:101780000202020202020202020202020202020239
+:101790000202020202020202020202020202020229
+:1017A0000202020202020202020202020202020219
+:1017B0000202020202020202020202020202020209
+:1017C00002020202020202020202020202020202F9
+:1017D00002020202020202010101010101010001F3
+:1017E00001010101010101000101000101010001EC
+:1017F00001000100000000010101010101010001DF
+:1018000001020101010101000000000000010000CF
+:1018100000000100000000020202020202020202B5
+:101820000202020202020202020202020202020298
+:101830000202020202020202020202020202020288
+:101840000202020202020202020202020202020278
+:101850000202020202020202020202020202020268
+:101860000202020202020202020202020202020258
+:101870000202020202020202020202020202020248
+:101880000202020202020202020202020202020238
+:101890000202020202020202020202020202020228
+:1018A0000202020202020202020202020202020218
+:1018B0000202020202020202020202020202020208
+:1018C00002020202020202020202020202020202F8
+:1018D00002020202020202010101010101010101F1
+:1018E00001010101010101000100000000010001EE
+:1018F00001000100000000010202020201000001DB
+:1019000002010202020202020202020202020202B8
+:1019100002020202020202020202020202020202A7
+:101920000202020202020202020202020202020297
+:101930000202020202020202020202020202020287
+:101940000202020202020202020202020202020277
+:101950000202020202020202020202020202020267
+:101960000202020202020202020202020202020257
+:101970000202020202020202020202020202020247
+:101980000202020202020202020202020202020237
+:101990000202020202020202020202020202020227
+:1019A0000202020202020202020202020202020217
+:1019B0000202020202020202020202020202020207
+:1019C0000202020202020200000000000000000009
+:1019D00000000000000000010101010101010101FE
+:1019E00001010101010101000100000000010001ED
+:1019F00000000100000000020202020202020202D4
+:101A000002020202020202020202020202020202B6
+:101A100002020202020202020202020202020202A6
+:101A20000202020202020202020202020202020296
+:101A30000202020202020202020202020202020286
+:101A40000202020202020202020202020202020276
+:101A50000202020202020202020202020202020266
+:101A60000202020202020202020202020202020256
+:101A70000202020202020202020202020202020246
+:101A80000202020202020202020202020202020236
+:101A90000202020202020202020202020202020226
+:101AA0000202020202020202020202020202020216
+:101AB0000202020202020202020202020202020206
+:101AC0000202020202020200000000000000000008
+:101AD00000000000000000010101010101010101FD
+:101AE00001010101010101000000000000010001ED
+:101AF00000000200000000020202020202020202D2
+:101B000002020202020202000000000000000000C7
+:101B100000000000000000020202020202020202B3
+:101B200002020202020202000000000000000000A7
+:101B30000000000000000002020202020202020293
+:101B40000202020202020202020202020202020275
+:101B50000202020202020202020202020202020265
+:101B60000202020202020202020202020202020255
+:101B70000202020202020202020202020202020245
+:101B80000202020202020202020202020202020235
+:101B90000202020202020202020202020202020225
+:101BA0000202020202020202020202020202020215
+:101BB0000202020202020202020202020202020205
+:101BC0000202020202020200000000000000000007
+:101BD00000000000000000010101010101010101FC
+:101BE00001010101010101000200000000010001EA
+:101BF00000000100000000020202020202020202D2
+:101C000002020202020202000000000000000000C6
+:101C100000000000000000000000000000000000C4
+:101C200000000000000000000000000000000000B4
+:101C300000000000000000000000000000000000A4
+:101C40000000000000000000000000000000000094
+:101C50000000000000000000000000000000000084
+:101C60000000000000000002020202020202020262
+:101C70000202020202020202020202020202020244
+:101C80000202020202020202020202020202020234
+:101C90000202020202020202020202020202020224
+:101CA0000202020202020200000000000000000026
+:101CB0000000000000000000000000000000000024
+:101CC0000000000000000000000000000000000014
+:101CD00000000000000000010101010101010101FB
+:101CE00001010101010101000000000000000000ED
+:101CF00000000000000000010101010101010101DB
+:101D000001010101010101010101010101010101C3
+:101D100001010101010101000000000000000000BC
+:101D200000000000000000010101010101010101AA
+:101D3000010101010101010000000000000000009C
+:101D40000000000000000000000000000000000093
+:101D50000000000000000000000000000000000083
+:101D6000000000000000000101010101010101016A
+:101D7000010101010101010000000000000000005C
+:101D80000000000000000002020202020202020241
+:101D9000020202020202020101010101010101012C
+:101DA0000101010101010101010101010101010123
+:101DB000010101010101010000000000000000001C
+:101DC0000000000000000000000000000000000013
+:101DD00000000000000000010101010101010101FA
+:101DE00001010101010101000000000000000000EC
+:101DF00000000000000000010101010101010101DA
+:101E000001010101010101000202020200020000C1
+:101E100002000202020202010101010101010101AD
+:101E200001010101010101010101010101010101A2
+:101E30000101010101010101010101010101010192
+:101E40000101010101010101010101010101010182
+:101E50000101010101010101010101010101010172
+:101E60000101010101010101010101010101010162
+:101E70000101010101010101010101010101010152
+:101E80000101010101010101010101010101010142
+:101E90000101010101010101010101010101010132
+:101EA0000101010101010101010101010101010122
+:101EB0000101010101010101010101010101010112
+:101EC000010101010101010000000000000000000B
+:101ED00000000000000000010101010101010101F9
+:101EE00001010101010101000000000000000000EB
+:101EF00000000000000000000000000000000000E2
+:101F000000000000000000000000000000000000D1
+:101F100000000000000000010101010101010101B8
+:101F200001010101010101000000000000000000AA
+:101F300000000000000000000000000000000000A1
+:101F40000000000000000001010101010101010188
+:101F50000101010101010101010101010101010171
+:101F6000010101010101010000000000000000006A
+:101F70000000000000000001010101010101010158
+:101F80000101010101010101010101010101010141
+:101F9000010101010101010000000000000000003A
+:101FA000000000000000000202020202020202021F
+:101FB0000202020202020200000000000000000013
+:101FC0000000000000000000000000000000000011
+:101FD0000000000000000000000000000000000001
+:101FE00000000000000000000000000000000000F1
+:101FF00000000000000000000000000000000000E1
+:1020000000000000000000000000000000000000D0
+:1020100000000000000000000000000000000000C0
+:1020200000000000000000000000000000000000B0
+:1020300000000000000000000000000000000000A0
+:102040000000000000000000000000000000000090
+:102050000000000000000000000000000000000080
+:102060000000000000000000000000000000000070
+:102070000000000000000000000000000000000060
+:102080000000000000000000000000000000000050
+:102090000000000000000000000000000000000040
+:1020A0000000000000000000000000000000000030
+:1020B0000000000000000000000000000000000020
+:1020C0000000000000000000000000000000000010
+:1020D00000000000000000330000000000000002CB
+:1020E00000000000000000000000000000000002EE
+:1020F00000000000000000000000000000000000E0
+:1021000000000100010000000002000000000000CB
+:1021100000000000000000000200000002000000BB
+:1021200000000000000000000000000000000000AF
+:10213000000000000000000000000000000000009F
+:10214000000000000000000000000000000000008F
+:10215000000000000000000000000000000000007F
+:10216000000000000000000000000000000000006F
+:10217000000000000000000000000000000000005F
+:10218000000000000000000000000000000000004F
+:10219000000000000000000000000000000000003F
+:1021A0000002020000020200000200000002000023
+:1021B000000000000000000000000000000000001F
+:1021C000000000000000000000000000000000000F
+:1021D00000020000000000000000000000000202F9
+:1021E00000000000000000000000000000000002ED
+:1021F00002000000000000000000000000000000DD
+:1022000000000202010000000002000000000001C6
+:1022100000000000000000000200000002000000BA
+:1022200000000000000000000000000000000000AE
+:10223000000000000000000000000000000000009E
+:10224000000000000000000000000000000000008E
+:10225000000000000000000000000000000000007E
+:10226000000000000000000000000000000000006E
+:10227000000000000000000000000000000000005E
+:10228000000000000000000000000000000000004E
+:10229000000000000000000000000000000000023C
+:1022A000020202010002020200020200000200001B
+:1022B000000000000000000000000000000000001E
+:1022C00000000200020002000202000202020000FE
+:1022D00000020202000002020000000000000202F0
+:1022E00000000000000000000000000000000002EC
+:1022F00002000200000000000000000000000000DA
+:1023000000000202010000000002000000000201C3
+:1023100000000000000000000200000002000200B7
+:1023200000000000000000000000000000000000AD
+:10233000000000000000000000000000000000009D
+:10234000000000000000000000000000000000008D
+:10235000000000010000000000000000000000007C
+:10236000000000000000000000000000000000006D
+:10237000000000000000000000000000000000005D
+:10238000000000000000000000000000000000004D
+:10239000000000000000000000000000000000023B
+:1023A0000202020200020202020202000002000017
+:1023B000000000000000000000000000000000021B
+:1023C00002020201020202020202020202020000F2
+:1023D00000020202000002020002000000000202ED
+:1023E00000000000000000000000000000000002EB
+:1023F00002000200000000000000000000000001D8
+:1024000000000202020000020002000000000201BF
+:1024100000000001000100020200020002000200B0
+:1024200000000000000000000000000000000000AC
+:10243000000000000000000000000000000000009C
+:10244000000000000000000000000000000000008C
+:102450000000000201000000000000000000020077
+:10246000000000000000000000000000000000026A
+:10247000000000000000000000000000000000005C
+:10248000000000000000000000000000000000004C
+:10249000000000000000000000000000000000023A
+:1024A0000202020200020202020202000002000214
+:1024B0000002000200010002000000000000000213
+:1024C00002020202020202020202020202020200EE
+:1024D00000020202000202020202020000000202E6
+:1024E00000000000000000000000000000000002EA
+:1024F00002000200000000000000000000000201D5
+:1025000000000202020000020002000000000202BD
+:1025100000000201020102020202020002000200A7
+:1025200000000000000000000000000000000000AB
+:102530000000000000000002000000000000000099
+:10254000000000000000000000000000000000008B
+:102550000001000202000002000000000000020072
+:102560000000000000000000000000000000000269
+:10257000000000000000000000000000000000005B
+:10258000000000000000000000000000000000004B
+:102590000000000000000000000000000000000239
+:1025A000020202020202020202020200000202020F
+:1025B0000002020202020002000200020000020207
+:1025C00002020202020202020202020202020200ED
+:1025D00000020202020202020202020000000202E3
+:1025E00000000000000000000000000000000002E9
+:1025F00002000200000000000000000000000201D4
+:1026000000000202020000020002000000000202BC
+:1026100000000202020202020202020002000200A4
+:1026200000000000000000000000000000000000AA
+:102630000000010000000002000000000000000295
+:10264000000000000000000000000000000000008A
+:10265000000201020200000200000000000002006F
+:102660000000000000000000000000000000000268
+:10267000000000000000000000000000000000005A
+:10268000000000000000000000000000000000004A
+:102690000000000000000000000000000000000238
+:1026A000020202020202020202020200000202020E
+:1026B0000202020202020002000202020000020202
+:1026C00002020202020202020202020202020200EC
+:1026D00000020202020202020202020000000102E3
+:1026E00000000000000000000000000000000002E8
+:1026F00002000200000000000000000000000202D2
+:1027000000000202020000020002000000020202B9
+:1027100000000202020202020202020002000200A3
+:1027200000000000000000000000000000000000A9
+:102730000102020000000002000000000000000290
+:102740000000000000000000000000000000000188
+:10275000000202020200000200000000000002006D
+:102760000000000000000000000000000000000267
+:102770000000000000000000000000000000000059
+:102780000000000001000000000000000000000048
+:102790000000000000000000000000000000000237
+:1027A000020202020202020202020200020202020B
+:1027B0000202020202020002000202020000020201
+:1027C00002020202020202020202020202020200EB
+:1027D00000020202020202020202020000000102E2
+:1027E00000000000000000000000000000000002E7
+:1027F00002000200000000000000000000000202D1
+:1028000000000202020000020002020000020202B6
+:1028100001000202020202020202020002000200A1
+:1028200000000000000000000000000000000000A8
+:10283000010202000000020200000000000000028D
+:102840000101000000010000000000000000000283
+:10285000000202020200000200000000000002006C
+:102860000000000000000000000000000000000266
+:102870000000000000000000000000000000000256
+:10288000000200020102020000000000000000003F
+:102890000000000000000000000000000000000236
+:1028A000020202020202020202020200020202020A
+:1028B0000202020202020002000202020000020200
+:1028C00002020202020202020202020202020200EA
+:1028D00000020202020202020202020000000102E1
+:1028E00000000000000000000000000000000002E6
+:1028F00002000200000000000000000000000202D0
+:1029000000000202020000020002020000020202B5
+:1029100001000202020202020202020002000200A0
+:1029200000000000000000000000000000020002A3
+:10293000020202000000020200000000000000028B
+:102940000101010001010200000200000202000278
+:102950000002020202020002000000000000020069
+:102960000000000000000000000000000000000265
+:102970000102000000020000000000000000000250
+:10298000000202020102020000000200000000003A
+:102990000000000000010000000000000000000234
+:1029A0000202020202020202020202000202020209
+:1029B00002020202020202020002020202000202FB
+:1029C00002020202020202020202020202010100EB
+:1029D00000020202020201010101010000000102E5
+:1029E00000000000000000000000000000000002E5
+:1029F00002010200000000000000000000000202CE
+:102A000000000202020000020002020000020202B4
+:102A1000010202020202020202020200020002009D
+:102A200000000200000000000000000000020002A0
+:102A3000020202000000020200000000000000028A
+:102A40000102010002020200000200000202000274
+:102A50000002020202020002000000000000020068
+:102A60000000000000000000000000000000000264
+:102A70000202020002020000000200000002020244
+:102A80000102020202020200020002000000020033
+:102A9000000002000101020000020000000002022A
+:102AA0000202020202020202020202000202020208
+:102AB00002020202020202020002020202000202FA
+:102AC00002020202020202020202020101010100EC
+:102AD00000020202020201010101010200000102E2
+:102AE00000000000000000000000000000000002E4
+:102AF00002010200000000000000000000020202CB
+:102B000000000202020000020002020200020202B1
+:102B1000020202020202020202020200020002009B
+:102B2000000002000000000000000000000200029F
+:102B30000202020000000202000000000000000289
+:102B4000020202000202020002020002020200026D
+:102B50000202020202020002000000000000020065
+:102B60000000010000000000000000000000000262
+:102B70000202020102020000000202000002020240
+:102B8000020202020202020202000200000002012E
+:102B90000201020001010202000202000000020222
+:102BA0000202020202020202020202020201020206
+:102BB00002020202020202020202020202020202F5
+:102BC00002020202020202020202020101010100EB
+:102BD00002020202020201010101010200000102DF
+:102BE00000000000000000000000000000000002E3
+:102BF00002010202000000000000000000020202C8
+:102C000000000202020000020002020200020202B0
+:102C1000020202020202020202020200020002009A
+:102C2000000002000000000000000000000200029E
+:102C30000202020000000202000000000000020286
+:102C4000020202020202020002020002020200026A
+:102C5000020202020202020200020000000002025E
+:102C60000102020200000000000000000002020257
+:102C7000020202010202000000020200000202023F
+:102C8000020202020202020202020200000002022A
+:102C9000020102000202020200020200000002021F
+:102CA0000202020202020202020202020201010206
+:102CB00002020202020202020202020202020102F5
+:102CC00002020202020202020101020101010100EC
+:102CD00002020202020101010101010102020102DC
+:102CE00002000000000000000000000000000002E0
+:102CF00002020202000000000000000002020202C4
+:102D000000000202020000020002020200020202AF
+:102D10000202020202020202020202000200020099
+:102D2000000002000000000000000000000200029D
+:102D30000202020000000202000000000000020285
+:102D40000202020202020200020200020202020267
+:102D50000202020202020202000202020200020257
+:102D60000102020202000000000000000002020254
+:102D7000020202020202000200020200000202023B
+:102D80000202020202020202020202000000020229
+:102D9000020202000202020200020200000002021D
+:102DA0000202020202020202020202020201010205
+:102DB00002020202020202020202020202020102F4
+:102DC00002020202020201010101010101010100EE
+:102DD00002020102020101010101010102010102DD
+:102DE00002000000000000000000000000000002DF
+:102DF00002020202000000020000000002020202C1
+:102E000001020202020000020002020200020102AC
+:102E10000202020202020202020202000200020296
+:102E2000000002000001000000000000000200029B
+:102E30000202020001000202000000000000020283
+:102E40000202020202020200020200020202020266
+:102E50000202020202020202020202020200010255
+:102E6000020202020202000000020000000202024E
+:102E70000202020202020202020202000002020236
+:102E80000202020202020202020202000000020228
+:102E9000020202000202020202020200000002021A
+:102EA0000202020202020202020202020201010204
+:102EB00002020202020202020202020102020102F4
+:102EC00002020202020101010101010101010100EE
+:102ED00002010101010101010101010101010102E0
+:102EE00002000000000000000000000000000002DE
+:102EF00002020202000002020000000202020202BC
+:102F000001020202020000020002020200020102AB
+:102F10000202020202020202020202020100010295
+:102F20000000020000010000000200000002000298
+:102F30000202020001000202000000000000020282
+:102F40000202020202020200020200020202020265
+:102F50000202020202020202020202020200010254
+:102F6000020202020202000000020000000202024D
+:102F70000202020202020202020202000002020235
+:102F80000202020202020202020202000000020227
+:102F90000202020202020202020202000000010218
+:102FA0000202020202020202020101020201010205
+:102FB00002020202020202020202020102020102F3
+:102FC00002020202020101010101010101010100ED
+:102FD00002010101010101010101010101010101E0
+:102FE00002000000000000000000000000000002DD
+:102FF00002020202000002020000000202020202BB
+:1030000002020202020000020002020200020102A9
+:103010000202020202020202020202020100010294
+:103020000000020100010000000200000002020294
+:103030000202020002000202000000000000020280
+:103040000202020202020202020202020202020260
+:103050000202020202020202020202020200010253
+:10306000020202020202000200020000000202024A
+:103070000202020202020202020202000002010235
+:103080000202020202020202020202000000010227
+:103090000202020202020202020202000000010217
+:1030A0000202020202020101010101020101010208
+:1030B00002020202020202020202020102020102F2
+:1030C00001020102010101010101010101010100EF
+:1030D00002010101010101010101010101010101DF
+:1030E00002000000000000000000000000000002DC
+:1030F00002020202020002020200000202020102B7
+:1031000002020202020202020202020202010102A1
+:103110000202020202020202010202020100010294
+:103120000000020101020000000200000002020291
+:10313000020202010200020200000000000001027F
+:103140000202020202020202020202020102020260
+:103150000202020202020202020202020200010252
+:103160000202020202020202000200000002010248
+:103170000202020202020202020202000002010234
+:103180000202020202020202020202000000010226
+:103190000202020202020202020202000000010216
+:1031A0000202020202010101010101020101010208
+:1031B00002020202020202010201010101010102F6
+:1031C00001020102010101010101010101010100EE
+:1031D00002010101010101010101010101010101DE
+:1031E00002000000000000000000000000000002DB
+:1031F00002020202020002020200020202020102B4
+:1032000002020202020202020202020202010102A0
+:103210000202020202020202010201020100010294
+:10322000020002010102000000020200000101028E
+:10323000020202020200020200000000020001027B
+:103240000202020202020202020202020101020260
+:103250000202020202020202020202020200010251
+:103260000202020202020202000202000001010246
+:103270000202020202020202020202000001010234
+:103280000202020202020202020202000000010225
+:103290000202020202020202020202000200010213
+:1032A0000202010202010101010101010101010209
+:1032B00002020202020202010201010101010102F5
+:1032C00001010101010101010101010101010100EF
+:1032D00001010101010101010101010101010101DE
+:1032E00002000000000000000000000000000002DA
+:1032F00002020202020002020202020202020102B1
+:1033000002020202020202020201020202010102A0
+:103310000202020202020201010101020100010295
+:10332000020002020102000002020200000101028A
+:10333000020202020200020200000000020001027A
+:103340000202020202020202020202020101010260
+:103350000202020202020202020202020200010250
+:103360000202020202020202020202000001010243
+:103370000202020202020202020202000001010233
+:103380000202020202020202020202000202010220
+:103390000202020202020202020202000200010212
+:1033A000010101020201010101010101010101020A
+:1033B00002020202020202010201010101010102F4
+:1033C00001010101010101010101010101010100EE
+:1033D00001010101010101010101010101010101DD
+:1033E00002000200000000000000000200020002D3
+:1033F00001020202020002020202020202020102B1
+:1034000002020202020202010201020102010102A1
+:103410000202020202020101010101020100010295
+:103420000200020202020000020202000001010288
+:103430000202020202000201000000020202010276
+:103440000202020202020202020202010101010260
+:103450000202020202020201020202020200010250
+:103460000202020202020202020202000001010242
+:10347000020202020202020202020202020101022E
+:10348000020202020202020202020102020201021E
+:10349000020202020202020202010102020201020F
+:1034A000010101010101010101010101010101020B
+:1034B00002020201010102010201010101010102F6
+:1034C00001010101010101010101010101010100ED
+:1034D00001010101000100010001010101010101DF
+:1034E00002000200000000000000000200020002D2
+:1034F00001020202020002020202020202010102B1
+:1035000002020101020202010201010102010102A3
+:103510000202020201020101010101020100010295
+:103520000200020202020000020202000001010287
+:103530000202020202020201000000020202010273
+:103540000202020202020202020102010101010260
+:103550000202020202020201020202010100010251
+:103560000202020202020202020202000001010241
+:10357000020202020202020202010102020101022F
+:10358000020202020202010201020102020201021F
+:103590000202020202020101020101020202010210
+:1035A000010101010101010101010101010101020A
+:1035B00002010101010101010101010101010102F9
+:1035C00001010101010101010101010101010100EC
+:1035D00001010001000000000000000101010102E2
+:1035E00002000200000000000000000200010002D2
+:1035F00001020202020002020202020202010102B0
+:1036000002020101010202010201010102010102A3
+:103610000202020201010101010101020100010295
+:103620000200010202020000020202000001010287
+:103630000202020202020101000000020202010273
+:103640000202020202020102010102010101010261
+:103650000202020101020201020202010102010250
+:103660000202020202020202020202000001010240
+:10367000020202020202020202010102020101022E
+:103680000202020202010101010101020202010221
+:103690000202020202020101010101020102010211
+:1036A0000101010101010101010101010101010209
+:1036B00001010101010101010101010101010102F9
+:1036C00001010101010101010101010101010100EB
+:1036D00001000001000000000000000101010102E2
+:1036E00002020200000000000000000100010002D0
+:1036F00001020102020002020202020201010102B1
+:1037000002020101010202010201010101010102A3
+:103710000202010101010101010101010100010297
+:103720000202010202020000020202000201010282
+:103730000202020202020101000200020202010270
+:103740000202020202020102010102010101010260
+:103750000202020101010201020101010102010252
+:10376000020202020202020202010200020101023E
+:10377000020202020201020202010102020101022E
+:103780000202020102010101010101020201010222
+:103790000202020202020101010101020101010211
+:1037A0000101010101010101010101010101010208
+:1037B00001010101010101010101010101010101F9
+:1037C00001010101010101010101010101010102E8
+:1037D00001000001000000000000000001010102E2
+:1037E00002020200000000000000000100010002CF
+:1037F00001020102020002020202020101010102B1
+:1038000002020101010202010201010101010102A2
+:103810000202010101010101010101010100010296
+:103820000202010202020000020202000201010281
+:103830000201010202020101000202020101010271
+:10384000020202020202010201010201010101025F
+:103850000201010101010101010101010102010255
+:10386000020202020202020202010200020101023D
+:103870000202020201010201010101020201010230
+:103880000201010102010101010101010101010225
+:103890000102010202020101010101010101010114
+:1038A0000101010101010101010101010101010207
+:1038B00001010101010101010101010101010101F8
+:1038C00001010101010101010101010101010102E7
+:1038D00001000000000000000000000000000102E4
+:1038E00002020200000000000000000100010002CE
+:1038F00001020102020002020202020101010102B0
+:1039000002020101010202010101010101010102A2
+:103910000202010101010101010101010102010293
+:10392000020201020202000002010202020101027F
+:10393000020101020202010102020201010101026F
+:103940000202020201010102010101010101010261
+:103950000201010101010101010101010101010255
+:10396000020202020202020202010202020101013B
+:103970000201010201010101010101010101010234
+:103980000201010102010101010101010101010224
+:103990000102010202020101010101010101010113
+:1039A0000101010101010101010101010101010107
+:1039B00001010101010101010101010101010101F7
+:1039C00001010101010101010101010101010102E6
+:1039D00000000000000000000000000000000102E4
+:1039E00002020200020000000000000100010002CB
+:1039F00001020102020002010202020101010102B0
+:103A000002020101010201010101010101010102A2
+:103A10000201010101010101010101010102010293
+:103A2000020201020202020002010102020101027D
+:103A3000010101020202010102020201010101026F
+:103A40000202020101010101010101010101010262
+:103A50000101010101010101010101010101010255
+:103A6000020202010101020102010102020101013F
+:103A70000101010201010101010101010101010234
+:103A80000101010101010101010101010101010225
+:103A90000102010201010101010101010101010114
+:103AA0000101010101010101010101010101010106
+:103AB00001010101010101010101010101010101F6
+:103AC00001010101010101010101010101010102E5
+:103AD00000000000000000000000000000000102E3
+:103AE00002020200020200000000000100010001C9
+:103AF00001020101020001010102010101010102B3
+:103B000002010101010101010101010101010102A3
+:103B10000201010101010101010101010101010293
+:103B2000020201020202020201010102010101027C
+:103B3000010101020202010102020201010101016F
+:103B40000201010101010101010101010101010263
+:103B50000101010101010101010101010101010254
+:103B60000201010101010101010101020101010143
+:103B70000101010201010101010101010101010233
+:103B80000101010101010101010101010101010224
+:103B90000102010101010101010101010101010114
+:103BA0000101010101010101010101010101010105
+:103BB00001010101010101010101010101010101F5
+:103BC00001010101010101010101010101010102E4
+:103BD00000000000000000000000000000000001E4
+:103BE00002020200020202000000000100010001C6
+:103BF00001020101020201010101010101010102B1
+:103C000002010101010101010101010101010101A3
+:103C10000101010101010101010101010101010293
+:103C2000020201020202020201010101010101027C
+:103C3000010101020202010102020201010101016E
+:103C40000101010101010101010101010101010263
+:103C50000101010101010101010101010101010253
+:103C60000201010101010101010101010101010143
+:103C70000101010101010101010101010101010134
+:103C80000101010101010101010101010101010223
+:103C90000101010101010101010101010101010114
+:103CA0000101010101010101010101010101010104
+:103CB00001010101010101010101010101010101F4
+:103CC00001010101010101010101010101010102E3
+:103CD00000000000000000000000000000000201E1
+:103CE00001020202020202000000000100010001C4
+:103CF00001020101010201010101010101010101B2
+:103D000001010101010101010101010101010101A3
+:103D10000101010101010101010101010101010292
+:103D2000020201020201020201010101010101017D
+:103D30000101010201020101020101010101010170
+:103D40000101010101010101010101010101010163
+:103D50000101010101010101010101010101010252
+:103D60000101010101010101010101010101010143
+:103D70000101010101010101010101010101010133
+:103D80000101010101010101010101010101010222
+:103D90000101010101010101010101010101010113
+:103DA0000101010101010101010101010101010103
+:103DB00001010101010101010101010101010101F3
+:103DC00001010101010101010101010101010102E2
+:103DD00002000000000000000000000000000201DE
+:103DE00001020202020202000000000102010101C0
+:103DF00001010101010201010101010101010101B2
+:103E000001010101010101010101010101010101A2
+:103E10000101010101010101010101010101010291
+:103E2000010201020201020201010101010101017D
+:103E30000101010101010101010101010101010172
+:103E40000101010101010101010101010101010162
+:103E50000101010101010101010101010101010251
+:103E60000101010101010101010101010101010142
+:103E70000101010101010101010101010101010132
+:103E80000101010101010101010101010101010221
+:103E90000101010101010101010101010101010112
+:103EA0000101010101010101010101010101010102
+:103EB00001010101010101010101010101010101F2
+:103EC00001010101010101010101010101010102E1
+:103ED00002000000000002020202020000000201D3
+:103EE00001020202020202020000000102010101BD
+:103EF00001010101010201010101010101010101B1
+:103F000001010101010101010101010101010101A1
+:103F10000101010101010101010101010101010290
+:103F2000010201020201020201010101010101017C
+:103F30000101010101010101010101010101010171
+:103F40000101010101010101010101010101010161
+:103F50000101010101010101010101010101010151
+:103F60000101010101010101010101010101010141
+:103F70000101010101010101010101010101010131
+:103F80000101010101010101010101010101010121
+:103F90000101010101010101010101010101010111
+:103FA0000101010101010101010101010101010101
+:103FB00001010101010101010101010101010101F1
+:103FC00002010101010202020202010202020202D6
+:103FD00002000000000002020202020200000201D0
+:103FE00001020102020202020200000101000101BD
+:103FF00001010101010201010101010101010101B0
+:1040000001010101010101010101010101010101A0
+:104010000101010101010101010101010101010190
+:10402000010201010101010101010101010101017F
+:104030000101010101010101010101010101010170
+:104040000101010101010101010101010101010160
+:104050000101010101010101010101010101010150
+:104060000101010101010101010101010101010140
+:104070000101010101010101010101010101010130
+:104080000101010101010101010101010101010120
+:104090000101010101010101010101010101010110
+:1040A0000101010101010101010101010101010100
+:1040B00001010101010101010101010101010101F0
+:1040C00002010201010202020202020202020202D3
+:1040D00002000000000202020202020202020201C9
+:1040E00001020102020202020200010001000101BC
+:1040F00001010101010201010101010101010101AF
+:10410000010101010101010101010101010101019F
+:10411000010101010101010101010101010101018F
+:10412000010101010101010101010101010101017F
+:10413000010101010101010101010101010101016F
+:10414000010101010101010101010101010101015F
+:10415000010101010101010101010101010101014F
+:10416000010101010101010101010101010101013F
+:10417000010101010101010101010101010101012F
+:10418000010101010101010101010101010101011F
+:10419000010101010101010101010101010101010F
+:1041A00001010101010101010101010101010101FF
+:1041B00001010101010101010101010101010101EF
+:1041C00002020202020202020202020202020202CF
+:1041D00002000202000202020202020202020201C4
+:1041E00001010102010101020202010001000101BD
+:1041F00001010101010101010101010101010101AF
+:10420000010101010101010101010101010101019E
+:10421000010101010101010101010101010101018E
+:10422000010101010101010101010101010101017E
+:10423000010101010101010101010101010101016E
+:10424000010101010101010101010101010101015E
+:10425000010101010101010101010101010101014E
+:10426000010101010101010101010101010101013E
+:10427000010101010101010101010101010101012E
+:10428000010101010101010101010101010101011E
+:10429000010101010101010101010101010101010E
+:1042A0000101010101010101010101010100000100
+:1042B00001010101010101010101010201010201EC
+:1042C00002020202020202020202020202020202CE
+:1042D00002020202000202020202020202020200C2
+:1042E00001010102010101010102020001000101BD
+:1042F00001010101010101010101010101010101AE
+:10430000010101010101010101010101010101019D
+:10431000010101010101010101010101010101018D
+:10432000010102010101010101010101010101017C
+:10433000010101010101010101010101010101016D
+:10434000010101010101010101010101010101015D
+:10435000010101010101010101010101010101014D
+:10436000010101010101010101010101010101013D
+:10437000010101010101010101010101010101012D
+:10438000010101010101010101010101010101011D
+:10439000010101010101010101010101010101010D
+:1043A0000001000101010000000000000002020104
+:1043B00001010101010101020102020202020202E5
+:1043C00002020202020202020202020202020202CD
+:1043D00002020202020202020202020202020200BF
+:1043E00001010101010101010101020001000101BE
+:1043F00001010101010101010101010101010101AD
+:10440000010101010101010101010101010101019C
+:10441000010101010101010101010101010101018C
+:10442000010101010101010101010101010100017D
+:10443000010101010101010101010101010101016C
+:10444000010101010101010101010101000101015D
+:10445000010101010101010101010101010101014C
+:10446000010101010101010101010101010201013B
+:10447000010101010101010101010101010101012C
+:10448000010101010101010101010101010101011C
+:10449000010101010101010101010101010100010D
+:1044A00002020200000202020202020202020201F1
+:1044B00002020202020202020202020202020202DC
+:1044C00002020202020202020202020202020202CC
+:1044D00002020202020202020202020202020200BE
+:1044E00001010101010101010101010001000101BE
+:1044F00001010101010101010101010101010101AC
+:10450000010101010101010101010101010101019B
+:10451000010101010101010101010101010101018B
+:10452000010100010101010101010101010100017D
+:10453000010101010101010101010101010101016B
+:10454000010101010101010101010101000101015C
+:10455000010101010101010101010101010101014B
+:10456000010101010101010101010101010100013C
+:10457000010101010101010101010101010100012C
+:10458000010101010101010101010101010101011B
+:104590000001010101010000000000010001000014
+:1045A00002020202020202020202020202020202EB
+:1045B00002020202020202020202020202020202DB
+:1045C00002020202020202020202020202020202CB
+:1045D00002020202020202020202020202020200BD
+:1045E00001010101010101010101010001000101BD
+:1045F00002010101010101010101010101010101AA
+:10460000010101010101010101010101010101019A
+:10461000010101010101010101010101010101018A
+:10462000010100010101010101010101010100017C
+:10463000010101010101010101010101010100016B
+:10464000010101010101010101010101000101015B
+:10465000010101010101010101010101010101014A
+:10466000010101010101010101000101010000003E
+:10467000010101010101010101000001010100012D
+:10468000010101010101010101010101010100011B
+:10469000000101010101000000000001000102020F
+:1046A00002020202020202020202020202020202EA
+:1046B00002020202020202020202020202020202DA
+:1046C00002020202020202020202020202020202CA
+:1046D00002020202020202020202020202020200BC
+:1046E00001010101010101010101010001000101BC
+:1046F00002010101010101010101010101010101A9
+:104700000101010101010101010101010101010199
+:104710000101010101010101010101010101010189
+:10472000010100010101010101010101010100017B
+:10473000010101010101010101010101010100016A
+:10474000010101010101010101010101000101015A
+:104750000101010101010101010101010101010149
+:10476000010101010101010101000101010000003D
+:104770000101010101010101010000010102020129
+:10478000010101010101000000000000010102011E
+:1047900002010201010102020202020202020202FD
+:1047A00002020202020202020202020202020202E9
+:1047B00002020202020202020202020202020202D9
+:1047C00002020202020202020202020202020202C9
+:1047D00002020202020202020202020202020200BB
+:1047E00001010101010101010101010001010101BA
+:1047F00002010101010101010101010101010101A8
+:104800000101010102010101010101010101010197
+:10481000010101020202020202020201020101017F
+:10482000010100010101010101010101010100017A
+:104830000101010101010101010101010101000169
+:10484000010101010101000100000102000101015B
+:104850000101010101010101010101000001020149
+:10486000010101010101010101000101010002003A
+:10487000020202010202020202020202020202011A
+:10488000020202020102020202020202020202010A
+:1048900002020202020202020202020202020202F8
+:1048A00002020202020202020202020202020202E8
+:1048B00002020202020202020202020202020202D8
+:1048C00002020202020202020202020202020202C8
+:1048D00002020202020202020202020202020200BA
+:1048E00001010101010101010101010101010101B8
+:1048F00001010101010101010101010101010101A8
+:10490000020202010201020102010102020202018D
+:10491000010101020202020202020201020101017E
+:10492000010100010101010101010101010000017A
+:104930000101010101010101010101010101000267
+:104940000101010101010001000001010002020159
+:104950000202020202020202020202020202020138
+:104960000202020202020202020202020202020227
+:104970000202020202020202020202020202020217
+:104980000202020202020202020202020202020207
+:1049900002020202020202020202020202020202F7
+:1049A00002020202020202020202020202020202E7
+:1049B00002020202020202020202020202020202D7
+:1049C00002020202020202020202020202020202C7
+:1049D00002020202020202020202020202020200B9
+:1049E00001010101010101010101010101010101B7
+:1049F00001010101010101010101010101010102A6
+:104A00000101010102020101010101010101010293
+:104A10000101010101010101010101010101010186
+:104A2000010100010100010101010101010000017A
+:104A30000202020101010202000000020202020160
+:104A40000202020202020202020202020202020246
+:104A50000202020202020202020202020202020236
+:104A60000202020202020202020202020202020226
+:104A70000202020202020202020202020202020216
+:104A80000202020202020202020202020202020206
+:104A900002020202020202020202020202020202F6
+:104AA00002020202020202020202020202020202E6
+:104AB00002020202020202020202020202020202D6
+:104AC00002020202020202020202020202020202C6
+:104AD00002020202020202020202020202020201B7
+:104AE00001010101010101010101010101010101B6
+:104AF00001010101010101010101010101010101A6
+:104B000000000000010100000001000000000001A1
+:104B1000000000010101010101010100010000018B
+:104B20000200000101000000020202020202020271
+:104B30000202020202020202020202020202020255
+:104B40000202020202020202020202020202020245
+:104B50000202020202020202020202020202020235
+:104B60000202020202020202020202020202020225
+:104B70000202020202020202020202020202020215
+:104B80000202020202020202020202020202020205
+:104B900002020202020202020202020202020202F5
+:104BA00002020202020202020202020202020202E5
+:104BB00002020202020202020202020202020202D5
+:104BC00002020202020202020202020202020202C5
+:104BD00002020202020202020202020202020201B6
+:104BE00001010101010101010101010101010101B5
+:104BF00000000000000000000000000000000000B5
+:104C000000000000010000000001000000000002A0
+:104C10000202020202020202020202020202020274
+:104C20000202020202020202020202020202020264
+:104C30000202020202020202020202020202020254
+:104C40000202020202020202020202020202020244
+:104C50000202020202020202020202020202020234
+:104C60000202020202020202020202020202020224
+:104C70000202020202020202020202020202020214
+:104C80000202020202020202020202020202020204
+:104C900002020202020202020202020202020202F4
+:104CA00002020202020202020202020202020202E4
+:104CB00002020202020202020202020202020202D4
+:104CC00002020202020202020202020202020200C6
+:104CD00000000000000000000000000000000001D3
+:104CE00001010101010101010101010101010101B4
+:104CF00000000000000000000000000000000000B4
+:104D00000202020201020202020202020202020284
+:104D10000202020202020202020202020202020273
+:104D20000202020202020202020202020202020263
+:104D30000202020202020202020202020202020253
+:104D40000202020202020202020202020202020243
+:104D50000202020202020202020202020202020233
+:104D60000202020202020202020202020202020223
+:104D70000202020202020202020202020202020213
+:104D80000202020202020202020202020202020203
+:104D900002020202020202020202020202020202F3
+:104DA00002020202020202020202020202020202E3
+:104DB00002020202020202020202020202020202D3
+:104DC00002020202020202020202020202020200C5
+:104DD00000000000000000000000000000000001D2
+:104DE00001010101010101010101010101010101B3
+:104DF00000000000000000000000000000000002B1
+:104E00000202020202020202020202020202020183
+:104E10000101010101010101010101010101010281
+:104E20000202020202020202020202020202020262
+:104E30000202020202020202020202020202020252
+:104E40000202020202020202020202020202020242
+:104E50000202020202020202020202020202020232
+:104E60000202020202020202020202020202020222
+:104E70000202020202020202020202020202020212
+:104E80000202020202020202020202020202020202
+:104E900002020202020202020202020202020202F2
+:104EA00002020202020202020202020202020200E4
+:104EB00000000000000000000000000000000002F0
+:104EC00002020202020202020202020202020200C4
+:104ED00000000000000000000000000000000001D1
+:104EE00001010101010101010101010101010102B1
+:104EF0000202020202020202020202020202020094
+:104F000000000000000000000000000000000000A1
+:104F10000202020000000000000000020002020283
+:104F20000202020202020202020202020202020261
+:104F30000202020202020202020202020202020251
+:104F40000202020202020202020202020202020241
+:104F50000202020202020202020202020202020231
+:104F60000202020202020202020202020202020221
+:104F70000202020202020202020202020202020211
+:104F80000202020202020202020202020202020201
+:104F900002020202020202020202020202020202F1
+:104FA00002020202020202020202020202020200E3
+:104FB00000000000000000000000000000000000F1
+:104FC00000000000000000000000000000000000E1
+:104FD00000000000000000000000000000000001D0
+:104FE00001010101010101010101010101010100B2
+:104FF00000000000000000000000000000000000B1
+:1050000000000000000000000000000000000000A0
+:105010000000000000000000000000000000000090
+:105020000000000000000000000000000000000080
+:10503000000000000000000000000000000000016F
+:105040000101010101010101010101010101010051
+:105050000000000000000000000000000000000050
+:105060000000000000000000000000000000000040
+:10507000000000000000000000000000000000022E
+:105080000202020202020202020202020202020200
+:1050900002020202020202020202020202020201F1
+:1050A00001010101010101010101010101010101F0
+:1050B00001010101010101010101010101010101E0
+:1050C00001010101010101010101010101010100D1
+:1050D00000000000000000000000000000000001CF
+:1050E00001010101010101010101010101010101B0
+:1050F00001010101010101010101010101010101A0
+:105100000101010101010101010101010101010090
+:10511000000000000000000000000000000000018E
+:10512000010101010101010101010101010101016F
+:10513000010101010101010101010101010101015F
+:10514000010101010101010101010101010101014F
+:10515000010101010101010101010101010101013F
+:10516000010101010101010101010101010101012F
+:10517000010101010101010101010101010101011F
+:10518000010101010101010101010101010101010F
+:1051900001010101010101010101010101010101FF
+:1051A00001010101010101010101010101010101EF
+:1051B00001010101010101010101010101010101DF
+:1051C00001010101010101010101010101010100D0
+:1051D00000000000000000000000000000000001CE
+:1051E00001010101010101010101010101010100B0
+:1051F00000000000000000000000000000000000AF
+:10520000000000000000000000000000000000009E
+:10521000000000000000000000000000000000018D
+:10522000010101010101010101010101010101016E
+:10523000010101010101010101010101010101005F
+:10524000000000000000000000000000000000015D
+:10525000010101010101010101010101010101013E
+:10526000010101010101010101010101010101012E
+:10527000010101010101010101010101010101011E
+:10528000010101010101010101010101010101010E
+:1052900001010101010101010101010101010100FF
+:1052A00000000000000000000000000000000002FC
+:1052B00002020202020202020202020202020202CE
+:1052C00002020202020202020202020202020200C0
+:1052D00000000000000000000000000000000000CE
+:1052E00000000000000000000000000000000000BE
+:1052F00000000000000000000000000000000000AE
+:10530000000000000000000000000000000000009D
+:10531000000000000000000000000000000000008D
+:10532000000000000000000000000000000000007D
+:10533000000000000000000000000000000000006D
+:10534000000000000000000000000000000000005D
+:10535000000000000000000000000000000000004D
+:10536000000000000000000000000000000000003D
+:10537000000000000000000000000000000000002D
+:10538000000000000000000000000000000000001D
+:10539000000000000000000000000000000000000D
+:1053A00000000000000000000000000000000000FD
+:1053B00000000000000000000000000000000000ED
+:1053C00000000000000000000000000000000000DD
+:1053D000000000000000000000000000000000339A
+:1053E00000000000000000000000000000000000BD
+:1053F00000000000000000000000000000000000AD
+:10540000000000000000000000000000000000009C
+:105410000000000000000000000000000202000088
+:105420000000020202000000000000020000020072
+:10543000000000000000000000000000000000006C
+:10544000000000000000000000000000000000005C
+:105450000000000000000000000000000200000248
+:105460000000000200000000020000000000000038
+:10547000000000000000000000000000000000002C
+:105480000000000000000000000002000000000218
+:10549000000000000000000000000000000000000C
+:1054A00000020200000000000000000000000000F8
+:1054B00000000000000000000000000000000000EC
+:1054C00000000000000000000000000000000000DC
+:1054D00000000000000000000000000000000000CC
+:1054E00000000000000000000000000000000000BC
+:1054F00000000000000000000000000000000000AC
+:10550000000000000000000000000000000000009B
+:105510000000000000000000020000020202020081
+:10552000000002020200000000000202020002026B
+:105530000000020202000000000000000000000065
+:105540000000000002000000000000000000000059
+:105550000000000000000000000200000200020243
+:105560000000000200000000020000000000000037
+:105570000000000000000000000200020000020025
+:105580000000000000000000000002000000000217
+:105590000000000000000000020000000000000009
+:1055A00000020200000000000000000000000000F7
+:1055B00000000000000000000000000000000000EB
+:1055C00000000000000000000000000000000000DB
+:1055D00000000000000000000000000000000000CB
+:1055E00000000000000000000000000000000000BB
+:1055F00000000000000000000000000000000000AB
+:10560000000000000000000000000000000000009A
+:105610000000000000000000020000020202020080
+:10562000000002020200000000000202020002026A
+:105630000000020202000000000000000000000064
+:105640000000000002000000000000000000000058
+:105650000000000000000000000202000200020240
+:105660000000000200000000020000000000000036
+:105670000000000000000000000202020000020220
+:105680000000000200000000000002000000000214
+:105690000000020000000000020000000000000006
+:1056A00000020200020000000000000000000000F4
+:1056B00000000000000000000000000000000000EA
+:1056C00000000000000000000000000000000000DA
+:1056D00000000002000000000200000000000000C6
+:1056E00000000000000000000000000000000000BA
+:1056F00000000000000000000000000000000000AA
+:105700000000000000000000000000000000000099
+:10571000000000000000000002020002020202007D
+:105720000000020202000000000002020200020269
+:105730000000020202000000000000000000000063
+:105740000000000002000000000000000000000057
+:10575000000000000000000200020202020002023B
+:105760000200000200000000020000000000000033
+:10577000000000000000000200020202000002021D
+:10578000020000020000000002000200000000020F
+:105790000000020000000000020000000000000005
+:1057A00000020200020000000000000000000000F3
+:1057B00000000000000000000000000000000000E9
+:1057C00000000000000000020000000000000200D5
+:1057D00000000002000000000200000000000000C5
+:1057E00000000000000000000000000000000000B9
+:1057F00000000000000000000000000000000000A9
+:105800000000000000000000000000000000000098
+:105810000000000000020200020200020202020078
+:105820000000020202000200000202020200020264
+:10583000000002020200000002020002000000005C
+:105840000000000002000000000000000000000056
+:10585000000000000000000200020202020002023A
+:105860000200020200000000020000000000000030
+:10587000000000000000000200020202000002021C
+:10588000020002020000000002000200000000020C
+:105890000002020000000000020000000000000002
+:1058A00000020200020000000000000000000000F2
+:1058B00000000000000000000000000000000000E8
+:1058C00000000000000000020000020002020202CC
+:1058D00000020202020202000200000000000000BA
+:1058E00000020000000202000000000000000000B2
+:1058F00000000000000000000000000000000000A8
+:105900000000000000000000000000000000000097
+:105910000000000000020200020200020202020077
+:105920000200020202000200000202020200020261
+:105930000000020202000000020202020200000057
+:105940000000000002000000000000000000000055
+:105950000000000000000002000202020200020239
+:10596000020002020000000002000000000200002D
+:105970000000000000000002020202020000020219
+:10598000020002020000000002000200000000020B
+:105990000002020000000000020000000000000001
+:1059A00000020200020000000000000000000000F1
+:1059B00000000000000000000000000000000000E7
+:1059C00000000000000000020202020002020202C7
+:1059D00002020202020202000200000000000002B5
+:1059E00000020000020202000200000000000000AD
+:1059F00000000000000000000000000000000000A7
+:105A00000002000000000000020000000000000092
+:105A10000000000000020200020200020202020076
+:105A2000020202020202020000020202020002025C
+:105A30000000020202000002020202020200000054
+:105A40000000000002000000000000000000000054
+:105A50000000000000000002000202020200020238
+:105A6000020002020000000002000000000200002C
+:105A70000000000000000002020202020000020218
+:105A8000020002020000000002000200000000020A
+:105A90000002020000000000020000000000000000
+:105AA00000020200020000000000000000000000F0
+:105AB00000000000000000000200000000000000E4
+:105AC00000000000000000020202020002020202C6
+:105AD00002020202020202000200000000000002B4
+:105AE00002020000020202000200000000000000AA
+:105AF00000000000000000000202000000000200A0
+:105B0000020200000000000002000002000000028B
+:105B10000000020000020200020200020202020073
+:105B2000020202020202020000020202020002025B
+:105B30000000020202000202020202020200000051
+:105B40000000000202000000000000000000000051
+:105B50000000000000000002020202020200020235
+:105B60000200020200000000020000000202000029
+:105B70000000000000000002020202020000020217
+:105B80000200020200000002020002000000000207
+:105B900000020200000002020202000000000000F9
+:105BA00002020200020000020002000000000000E9
+:105BB00000000000000000000200020000000000E1
+:105BC00000000000000000020202020202020202C3
+:105BD00002020202020202000202000002000202AD
+:105BE00002020202020202000200000000000000A5
+:105BF000000000000000000002020000000002009F
+:105C00000202000200000000020000020000000288
+:105C10000000020000020200020202020202020070
+:105C2000020202020202020000020202020002025A
+:105C3000020002020200020202020202020000004E
+:105C40000000000202000000000000000000000050
+:105C50000000000000000002020202020200020234
+:105C6000020202020000000202020002020202001E
+:105C70000000000000000002020202020000020216
+:105C80000202020200000002020002000000000204
+:105C900000020200020002020202020002020000F0
+:105CA00002020200020002020002020000000000E4
+:105CB00000000000000000000200020200000000DE
+:105CC00000000000000000020202020202020202C2
+:105CD00002020202020202000202000202000202AA
+:105CE00002020202020102000200000000000000A5
+:105CF000000000000000000002020000000002009E
+:105D00000202000200000000020200020000000285
+:105D1000000202000202020002020202020202006B
+:105D20000202020202020200000202020200020259
+:105D3000020202020200020202020202020000004B
+:105D4000000000020202000000000000000200004B
+:105D50000000000000000002020202020200020233
+:105D60000202020200000002020202020202020219
+:105D70000000000000000002020202020000020215
+:105D800002020202000000020202020200000002FF
+:105D900000020200020002020202020202020200EB
+:105DA00002020200020002020202020200000000DF
+:105DB00000000000000000000200020202020000D9
+:105DC00000000000000000020202020202020202C1
+:105DD00002020202020202000202020202020202A5
+:105DE00002020202020101000200000000000000A5
+:105DF0000000000000000000020202000002020099
+:105E00000202000200000000020202020000000282
+:105E10000202020002020200020202020202020266
+:105E20000202020202020202000202020200020256
+:105E3000020202020200020202020202020000004A
+:105E40000000000202020000000200000002000048
+:105E50000000000000000002020202020200020232
+:105E60000202020202000002020202020202020216
+:105E70000000000000000002020202020202020210
+:105E800002020202020000020202020202020002F8
+:105E900000020200020202020202020202020200E8
+:105EA00002020200020202020202020202020000D8
+:105EB00000000000000202020200020202020200D0
+:105EC00000000000000000020202020202020202C0
+:105ED00002020202020202000202020202020202A4
+:105EE00002010202010101000200000000000000A6
+:105EF0000000000000000000020202020002020096
+:105F00000202000200000000020202020000000281
+:105F10000202020002020200020202020202020265
+:105F20000202020202020202000202020200020255
+:105F30000202020202000202020202020200000049
+:105F40000000020202020000000202000202000041
+:105F50000000000000000002020202020200020231
+:105F60000202020202000002020202020202020215
+:105F7000000000020000000202020202020202020D
+:105F800002020202020000020202020202020202F5
+:105F900000020200020202020202020202020200E7
+:105FA00002020200020202020202020202020200D5
+:105FB00000000000000202020200020202020202CD
+:105FC00000000000000202020202020202020202BB
+:105FD00002020202020202000202020202020202A3
+:105FE00002010202010101000200000000000000A5
+:105FF0000000000000000000020202020202020093
+:106000000202000200000000020202020000000280
+:106010000202020002020200020202020202020264
+:106020000202020202020202000202020200020254
+:106030000202020202000202020202020200000246
+:106040000200020201020002020202020202020037
+:10605000000000000000000202020202020202022E
+:106060000202020202000002020202020202020214
+:10607000020000020000000202020202020202020A
+:1060800002020202020000020202020202020202F4
+:1060900000020200020202020202020202020202E4
+:1060A00002020202020202020202020202020202D0
+:1060B00000000000000202020200020202020202CC
+:1060C00000000000000202020202020202020202BA
+:1060D00002020202020202000202020202020201A3
+:1060E00001010202010101000200000000000000A5
+:1060F0000000000000000002020202020202020090
+:10610000020200020000000002020202000000027F
+:106110000202020202020200020202020202020261
+:106120000202020201020202000202020200010255
+:106130000202020102000202020202020200000246
+:106140000202020201020002020202020202020034
+:10615000000000000000000202020202010201022F
+:106160000202020102000002020202020202020214
+:106170000200020200000002020202020202020207
+:1061800002020202020000020202020202020202F3
+:1061900002020200020202020202020202020202E1
+:1061A00002020202020202020202020202020202CF
+:1061B00000000000000202020200020202020202CB
+:1061C00000000000000202020202020202020202B9
+:1061D00002020202020101000202020202020201A4
+:1061E00001010101010101020200000000000000A4
+:1061F000000000000000000202020202020202008F
+:106200000202020202020200020202020000000276
+:106210000202020202020200020202020202020260
+:106220000202020101020202020202020200010154
+:106230000202020101000202020202020200020244
+:106240000202020201020002020202020202020033
+:10625000000000000000000202020202010201022E
+:106260000202020102000202020202020202020211
+:106270000200020200000002020202020202020206
+:1062800002020202020202020202020202020202EE
+:1062900002020202020202020202020202020202DE
+:1062A00002020202020202020202020202020202CE
+:1062B00000000000000202020202020202020202C8
+:1062C00002000000000202020202020202020202B6
+:1062D00002020201010101000202020202020101A6
+:1062E00001010101010101020200000000000000A3
+:1062F000000000000000000202020202020202008E
+:106300000202020202020202020202020000000273
+:10631000020202020202020202020202020202025D
+:106320000202010101020202020202020100010155
+:106330000202010101000202020202020200020244
+:106340000202020201020002020202020202020230
+:10635000000000020000000202020202010201022B
+:10636000020202020200020202020202020202020F
+:106370000202020200000202020202020202020201
+:1063800002020202020202020202020202020202ED
+:1063900002020202020202020202020202020202DD
+:1063A00002010102010202020202020202020202D0
+:1063B00002000000000202020202020202020202C5
+:1063C00002000002000202020202020202020202B3
+:1063D00002010201010101000202020201020101A7
+:1063E00001010101010101020200000000000000A2
+:1063F000000000000000000202020202020202028B
+:106400000202020202020202020202020200000270
+:10641000020202020202020202020202010101025F
+:106420000202010101020202020202020100010154
+:106430000202010101000202020202020202020241
+:10644000020202020202000202020202020202022E
+:106450000200000200000002020202020102010129
+:10646000020202020200020202020202020202020E
+:106470000202020200000202020202020202010201
+:1064800002020202020202020202020202020201ED
+:1064900002020102020201020202020202020202DE
+:1064A00002010102010202020202020202020202CF
+:1064B00002000202000202020202020202020202C0
+:1064C00002000002000202020202020202020202B2
+:1064D00002010101010101000101020101020101AA
+:1064E00001010101010101020200000000000000A1
+:1064F000000000000000000202020202020202028A
+:10650000020202020202020202020202020200026D
+:10651000020202020202020202020202010101025E
+:106520000202010102020202020202010102010151
+:10653000020201010200020202020202020202023F
+:10654000020202020202020202020202020202022B
+:106550000202020200000202020202020202020120
+:106560000102010102000202020202020202020210
+:1065700002020202020002020202020202020102FE
+:1065800002020201020202020202020202020201ED
+:1065900002010102020201020202020202020202DE
+:1065A00002010102010201020202020202020202CF
+:1065B00002000202000101020202020202020202C1
+:1065C00002020202000202020202020202020101AF
+:1065D00001010101010101000101020101010101AB
+:1065E00001010101010101020200000000000000A0
+:1065F0000000000000000002020202020202020289
+:10660000020202020202020202020202020202026A
+:10661000020202020201010202020202010101025F
+:10662000020202020202010202020201010201014F
+:10663000020202020200020202020202020202023C
+:10664000020202010202020202020202020202022B
+:10665000020202020200020202020202020202011D
+:10666000010201010202020202020202020202020D
+:1066700002020202020002020202020202020201FD
+:1066800001020101020202020202010202020201EF
+:1066900002010102010101020202020202020202DF
+:1066A00002010102010101020202020202020202CF
+:1066B00002020202020101020202020202020202BC
+:1066C00002020202000101020202020201010101B2
+:1066D00001010101010101000101010101010101AB
+:1066E000010101010101010201000200000000009E
+:1066F0000000000000000002020202020202020288
+:10670000020102020202020202020202020202026A
+:10671000020202020201010202020201010101025F
+:10672000010102020201010202020201010202024F
+:10673000010102020202010202020201010202023E
+:10674000020202010201020202020202020202022B
+:10675000020202020202020202010101020202011D
+:10676000010101010102020202020202020202020E
+:1067700002020202020002020202020102020201FD
+:1067800001020101020202020202010202020201EE
+:1067900002010102010101020202020202020202DE
+:1067A00001010102010101020202020202020202CF
+:1067B00002020202020101020202020202020202BB
+:1067C00002020202020101020202010201010101B0
+:1067D00001010101010101000101010101010101AA
+:1067E000010101010101010201020200000000009B
+:1067F0000000000000000002020202020202020287
+:106800000201020202020202020202020202020269
+:10681000020202020201010201020201020202025C
+:10682000010102020201010202020202020202024C
+:106830000101020201020102020101010102020240
+:10684000020201010101020202020202020202022C
+:10685000020202020202020202010101020202011C
+:10686000010101010102010202020202020202020E
+:1068700002020202020002020201010102020101FF
+:1068800001010101010202020202010202020201EF
+:1068900002010102010101020202020202020202DD
+:1068A00001010102010101020202020202020202CE
+:1068B00002020202020101020202020202020202BA
+:1068C00002020202020101020202010201010101AF
+:1068D00001010101010101000101010101010101A9
+:1068E000010101010101010201020200000000009A
+:1068F0000000000000000002020202020202010287
+:106900000101020202020202020202020202020269
+:10691000020202020201010201020202020202025A
+:10692000020201020101010202020102020202024C
+:106930000101010201020102020101010102020240
+:10694000010101010101010202020202020202022E
+:10695000020202020202020202010101010201011D
+:10696000010101010102010202020202020102020E
+:1069700002020202020201020201010102020101FD
+:1069800001010101010101020202010202020201F0
+:1069900002010102010101020202020202020202DC
+:1069A00001010102010101020202020202020202CD
+:1069B00002020202020101020202020202020202B9
+:1069C00002020202020101020201010101010101B0
+:1069D00001010101010101000101010101010101A8
+:1069E0000101010101010102020202000000000098
+:1069F0000000000000000002020202020201010287
+:106A0000010102010201010202020202020202026B
+:106A1000020201020101010201020202020202015C
+:106A2000020201010101010202020102020202024C
+:106A3000020201020102010202010101010202013E
+:106A4000010101010101010202020202020202022D
+:106A5000020202020202010202010101010201011D
+:106A60000101010101010102010202020101010112
+:106A700002020201020201020201010102020101FD
+:106A800001010101010101020202010202020201EF
+:106A900002010102010101020102020201010102DF
+:106AA00001010101010101020201010101010101D4
+:106AB00002020202020101020202010101010101BE
+:106AC00002020202020101020201010101010101AF
+:106AD00001010101010101000101010101010101A7
+:106AE0000101010101010102020202000000000097
+:106AF0000000000000000002020102020201010287
+:106B0000010102010101010202020202020202016C
+:106B1000020101020101010201010201020202015E
+:106B2000010101010101010202010101020202024F
+:106B3000020201010102010202010101010202013E
+:106B4000010101010101010202020202020102022D
+:106B5000020202020201010202010101010101011E
+:106B60000101010101010102010202010101010112
+:106B70000102010102020102020101010101010100
+:106B800001010101010101020102010101010101F3
+:106B900001010101010101020101010101010101E4
+:106BA00001010101010101020201010101010101D3
+:106BB00001020101010101020202010101010101C1
+:106BC00001020201020101020201010101010101B0
+:106BD00001010101010101000001010101010101A7
+:106BE0000101010101010102020202020000000094
+:106BF0000000000000000002020102020201010286
+:106C0000010101010101010202020201020202016D
+:106C1000010101020101010202010201010101025F
+:106C2000010101010101010202010101020202014F
+:106C3000020201010102010201010101010202013E
+:106C4000010101010101010202020202010101022E
+:106C50000202020101010101020101010101010120
+:106C60000101010101010102010101010101010113
+:106C70000101010101020102020101010101010101
+:106C800001010101010101020101010101010101F3
+:106C900001010101010101020101010101010101E3
+:106CA00001010101010101020201010101010101D2
+:106CB00001010101010101020202010101010101C1
+:106CC00001010101010101010101010101010101B4
+:106CD00001010101010101000001010101010101A6
+:106CE0000101010101010102010202020200000092
+:106CF0000000000000000002020101010101010288
+:106D0000010101010101010202020201020202016C
+:106D10000101010101010102020101010101010260
+:106D20000101010101010102020101010102010150
+:106D30000101010101010102010101010102010141
+:106D40000101010101010102020101010101010131
+:106D50000101010101010101010101010101010123
+:106D60000101010101010102010101010101010112
+:106D70000101010101010101010101010101010103
+:106D800001010101010101020101010101010101F2
+:106D900001010101010101020101010101010101E2
+:106DA00001010101010101020201010101010101D1
+:106DB00001010101010101020102010101010101C1
+:106DC00001010101010101010101010101010101B3
+:106DD00001010101010101000000010101010101A6
+:106DE0000101010101010102010202020200000091
+:106DF0000000000000000002010101010101010189
+:106E0000010101010101010202010101020202016D
+:106E10000101010101010102020101010101010160
+:106E2000010101010101010202010101010201014F
+:106E30000101010101010102010101010102010140
+:106E40000101010101010102020101010101010130
+:106E50000101010101010101010101010101010122
+:106E60000101010101010102010101010101010111
+:106E70000101010101010101010101010101010102
+:106E800001010101010101020101010101010101F1
+:106E900001010101010101020101010101010101E1
+:106EA00001010101010101010101010101010101D2
+:106EB00001010101010101020102010101010101C0
+:106EC00001010101010101010101010101010101B2
+:106ED00001010101010101020000010101010101A3
+:106EE0000101010101000101010202020202000090
+:106EF0000002000000000002010101010101010186
+:106F0000010101010101010201010101020202016D
+:106F1000010101010101010202010101010101015F
+:106F2000010101010101010202010101010201014E
+:106F30000101010101010101010101010101010141
+:106F4000010101010101010202010101010101012F
+:106F50000101010101010101010101010101010121
+:106F60000101010101010102010101010101010110
+:106F70000101010101010101010101010101010101
+:106F800001010101010101010101010101010101F1
+:106F900001010101010101010101010101010101E1
+:106FA00001010101010101010101010101010101D1
+:106FB00001010101010101020101010101010101C0
+:106FC00001010101010101010101010101010101B1
+:106FD00001010101010101020000010000010000A6
+:106FE0000000010100000101010202020202020090
+:106FF0000202000000000002010101010101010183
+:10700000010101010101010201010101010202016D
+:10701000010101010101010201010101010101015F
+:10702000010101010101010202010101010101014E
+:107030000101010101010101010101010101010140
+:10704000010101010101010201010101010101012F
+:107050000101010101010101010101010101010120
+:107060000101010101010101010101010101010110
+:107070000101010101010101010101010101010100
+:1070800001010101010101010101010101010101F0
+:1070900001010101010101010101010101010101E0
+:1070A00001010101010101010101010101010101D0
+:1070B00001010101010101020101010101010101BF
+:1070C00001010101010101010101010101010101B0
+:1070D00001010101010101020000000000000000A7
+:1070E000000200000000020101020202020202028C
+:1070F000020200000202000201010101010101017E
+:10710000010101010101010201010101010101016E
+:10711000010101010101010201010101010101015E
+:10712000010101010101010202010101010101014D
+:10713000010101010101010101010101010101013F
+:10714000010101010101010201010101010101012E
+:10715000010101010101010101010101010101011F
+:10716000010101010101010101010101010101010F
+:1071700001010101010101010101010101010101FF
+:1071800001010101010101010101010101010101EF
+:1071900001010101010101010101010101010101DF
+:1071A00001010101010101010101010101010101CF
+:1071B00001010101010101010101010101010101BF
+:1071C00001010101010101010101010101010101AF
+:1071D00001010101010101020000000000000002A4
+:1071E0000202000002020201010202020202020285
+:1071F000020200000202000101010101010101017E
+:10720000010101010101010201010101010101016D
+:10721000010101010101010201010101010101015D
+:10722000010101010101010102010101010101014D
+:10723000010101010101010101010101010101013E
+:10724000010101010101010101010101010101012E
+:10725000010101010101010101010101010101011E
+:10726000010101010101010101010101010101010E
+:1072700001010101010101010101010101010101FE
+:1072800001010101010101010101010101010101EE
+:1072900001010101010101010101010101010101DE
+:1072A00001010101010101010101010101010101CE
+:1072B00001010101010101010101010101010101BE
+:1072C00001010101010101010101010101010101AE
+:1072D00001010101010101020000000000000202A1
+:1072E0000202020202020201010201020202020281
+:1072F000020202020201000101010101010101017A
+:10730000010101010101010201010101010101016C
+:10731000010101010101010201010101010101015C
+:10732000010101010101010101010101010101014D
+:10733000010101010101010101010101010101013D
+:10734000010101010101010101010101010101012D
+:10735000010101010101010101010101010101011D
+:10736000010101010101010101010101010101010D
+:1073700001010101010101010101010101010101FD
+:1073800001010101010101010101010101010101ED
+:1073900001010101010101010101010101010101DD
+:1073A00001010101010101010101010101010101CD
+:1073B00001010101010101010101010101010101BD
+:1073C00001010101010101010101010101010101AD
+:1073D000010101010101010200000002020002029C
+:1073E0000202020202020202000101020202020281
+:1073F000020102020101000101010101010101017B
+:10740000010101010101010201010101010101016B
+:10741000010101010101010201010101010101015B
+:10742000010101010101010101010101010101014C
+:10743000010101010101010101010101010101013C
+:10744000010101010101010101010101010101012C
+:10745000010101010101010101010101010101011C
+:10746000010101010101010101010101010101010C
+:1074700001010101010101010101010101010101FC
+:1074800001010101010101010101010101010101EC
+:1074900001010101010101010101010101010101DC
+:1074A00001010101010101010101010101010101CC
+:1074B00001010101010101010101010101010101BC
+:1074C00001010101010101010101010101010101AC
+:1074D0000101010101010102000202020202020295
+:1074E0000202020202020202000101010102020282
+:1074F000010102020101010101010101010101017A
+:10750000010101010101010101010101010101016B
+:10751000010101010101010101010101010101015B
+:10752000010101010101010101010101010101014B
+:10753000010101010101010101010101010101013B
+:10754000010101010101010101010101010101012B
+:10755000010101010101010101010101010101011B
+:10756000010101010101010101010101010101010B
+:1075700001010101010101010101010101010101FB
+:1075800001010101010101010101010101010101EB
+:1075900001010101010101010101010101010101DB
+:1075A00001010101010101010101010101010101CB
+:1075B00001010101010101010101010101010101BB
+:1075C00001010101010101010101010101010101AB
+:1075D0000101010101010102000202020202020294
+:1075E0000202020202020202000101010101010184
+:1075F000010101010101010101010101010101017B
+:10760000010101010101010101010101010101016A
+:10761000010101010101010101010101010101015A
+:10762000010101010101010101010101010101014A
+:10763000010101010101010101010101010101013A
+:10764000010101010101010101010101010101012A
+:10765000010101010101010101010101010101011A
+:10766000010101010101010101010101010101010A
+:1076700001010101010101010101010101010101FA
+:1076800001010101010101010101010101010101EA
+:1076900001010101010101010101010101010101DA
+:1076A00001010101010101010101010101010101CA
+:1076B00001010101010101010101010101010101BA
+:1076C00001010101010101010101010101010101AA
+:1076D000010201020202020200020202020202028E
+:1076E0000202020202020202000101010101010183
+:1076F000010101010101010101010101010101017A
+:107700000101010101010101010101010101010169
+:107710000101010101010101010101010101010159
+:107720000101010101010101010101010101010149
+:107730000101010101010101010101010101010139
+:107740000101010101010101010101010101010129
+:107750000101010101010101010101010101010119
+:107760000101010101010101010101010101010109
+:1077700001010101010101010101010101010101F9
+:1077800001010101010101010101010101010101E9
+:1077900001010101010101010101010101010101D9
+:1077A00001010101010101010101010101010101C9
+:1077B00001010101010101010101010101010101B9
+:1077C00001010101010101010101020102020202A4
+:1077D0000202020202020202020202020202020289
+:1077E0000202020202020002000101010101010184
+:1077F0000101010101010101010101010101010179
+:107800000101010101010101010101010101010168
+:107810000101010101010101010101010101010158
+:107820000101010101010101010101010101010148
+:10783000010101010101010101000000000101013C
+:10784000000000000101000101010101010101012D
+:107850000101010101010101010101010101010118
+:107860000101010101010101010101010101010108
+:1078700001010101010101010101010101010101F8
+:1078800001010101010101010101010101010101E8
+:1078900001010101010100010101010101010101D9
+:1078A00000010101010101010101010101010101C9
+:1078B00001010101010202010101010101010101B6
+:1078C000010101010102020101020202020202029F
+:1078D0000202020202020202020202020202020288
+:1078E0000202020202020201000101010101010182
+:1078F0000101010101010101010101010101010178
+:107900000101010101010101010101010101010167
+:107910000101010101010101010101010101010157
+:107920000101010101010101010101010101010147
+:10793000010101010101010101000000000101003C
+:10794000000000000101000101010101010101012C
+:107950000101010101010101010101010100010118
+:107960000101010101010101010101010101010107
+:1079700001010101010101010101010101010101F7
+:1079800001010101010101010101020101010102E5
+:1079900001020201020202010101010101010101D2
+:1079A00000020201020202010102020202020202BC
+:1079B00002020202020202010101020202020202AA
+:1079C0000202020202020202020202020202020297
+:1079D0000202020202020202020202020202020287
+:1079E0000202020202020201000101010101010181
+:1079F0000101010101010101010101010101010177
+:107A00000101010101010101010101010101010166
+:107A10000101010101010101010101010101010156
+:107A20000101010101010101010101010101010146
+:107A3000010101010101010101000000000101003B
+:107A4000000000000101000101010101010101012B
+:107A50000101010101010101010202020200020211
+:107A600002020202020202010101010101010101FF
+:107A700001010101010100010101010100000101F9
+:107A800001010101010101010202020202020202DE
+:107A900002020202020202010202020202020202C7
+:107AA00002020202020202020202020202020202B6
+:107AB00002020202020202010202020202020202A7
+:107AC0000202020202020202020202020202020296
+:107AD0000202020202020202020202020202020286
+:107AE0000202020202020201000101010101010180
+:107AF0000101010101010101010101010101010176
+:107B00000101010101010101010101010101010165
+:107B10000101010101010101010101010101010155
+:107B20000101010101010101010101010101010145
+:107B3000010101010101010101000000000101003A
+:107B4000000000000101000101010101010101012A
+:107B5000010101010100000202020202020202020E
+:107B600002020202020202010101010101010101FE
+:107B700001010101010100010102020200000202F3
+:107B800002020202020202020202020202020202D5
+:107B900002020202020202020202020202020202C5
+:107BA00002020202020202020202020202020202B5
+:107BB00002020202020202020202020202020202A5
+:107BC0000202020202020202020202020202020295
+:107BD0000202020202020202020202020202020285
+:107BE000020202020202020100010101010101017F
+:107BF0000101010101010101010101010101010175
+:107C00000101010101010101010101010101010164
+:107C10000101010101010101010101010101010154
+:107C20000101010101010101010101010101010144
+:107C3000010101010101010100000000000100003B
+:107C4000000000000101000100010101010101012A
+:107C5000010101010000000202020202020202020E
+:107C600002020202020202010202020202020202F5
+:107C700002020202020202020202020202020202E4
+:107C800002020202020202020202020202020202D4
+:107C900002020202020202020202020202020202C4
+:107CA00002020202020202020202020202020202B4
+:107CB00002020202020202020202020202020202A4
+:107CC0000202020202020202020202020202020294
+:107CD0000202020202020202020202020202020284
+:107CE000020202020202020100010101010101017E
+:107CF0000101010101010101010101010102010173
+:107D00000101010101010101010101010101010163
+:107D10000101010101010101010101010101010153
+:107D20000101010101010101010101010101010143
+:107D3000010101010101010100000000000000003B
+:107D40000000000002020001000202020202020220
+:107D50000202020202020202020202020202020203
+:107D600002020202020202020202020202020202F3
+:107D700002020202020202020202020202020202E3
+:107D800002020202020202020202020202020202D3
+:107D900002020202020202020202020202020202C3
+:107DA00002020202020202020202020202020202B3
+:107DB00002020202020202020202020202020202A3
+:107DC0000202020202020202020202020202020293
+:107DD0000202020202020202020202020202020283
+:107DE000020202020202020101010101010101017C
+:107DF0000101010101010101010101010102010172
+:107E00000101010101010101010101010101010162
+:107E10000101010101010101010101010101010152
+:107E20000101010101010101010101010100010143
+:107E30000101010101010102020202020202020229
+:107E40000202020202020202020202020202020212
+:107E50000202020202020202020202020202020202
+:107E600002020202020202020202020202020202F2
+:107E700002020202020202020202020202020202E2
+:107E800002020202020202020202020202020202D2
+:107E900002020202020202020202020202020202C2
+:107EA00002020202020202020202020202020202B2
+:107EB00002020202020202020202020202020202A2
+:107EC0000202020202020202020202020202020292
+:107ED0000202020202020202020202020202020282
+:107EE000020202020202020101010101010101017B
+:107EF0000101010101010101010101010102020170
+:107F00000102010101010101010101010101010160
+:107F10000101010101010101010101010101010151
+:107F2000010101010101010101020202020002023C
+:107F30000202020202020202020202020202020221
+:107F40000202020202020202020202020202020211
+:107F50000202020202020202020202020202020201
+:107F600002020202020202020202020202020202F1
+:107F700002020202020202020202020202020202E1
+:107F800002020202020202020202020202020202D1
+:107F900002020202020202020202020202020202C1
+:107FA00002020202020202020202020202020202B1
+:107FB00002020202020202020202020202020202A1
+:107FC0000202020202020202020202020202020291
+:107FD0000202020202020200000000000000000093
+:107FE0000000000000000001010101010101010188
+:107FF0000101010101010101010001010101020171
+:108000000102010101010101010000000001010163
+:10801000010101010100000102020202020202024A
+:108020000202020202020202020202020202020230
+:108030000202020202020202020202020202020220
+:108040000202020202020202020202020202020210
+:108050000202020202020202020202020202020200
+:1080600002020202020202020202020202020202F0
+:1080700002020202020202020202020202020202E0
+:1080800002020202020202020202020202020202D0
+:1080900002020202020202020202020202020202C0
+:1080A00002020202020202020202020202020202B0
+:1080B00002020202020202020202020202020202A0
+:1080C0000202020202020202020202020202020290
+:1080D0000202020202020200000000000000000092
+:1080E0000000000000000001010101010101010187
+:1080F0000101010101010101010001010101010171
+:108100000201010101010100020202020202020257
+:10811000020202020202020202020202020202023F
+:10812000020202020202020202020202020202022F
+:10813000020202020202020202020202020202021F
+:10814000020202020202020202020202020202020F
+:108150000202020202020200000000000000000011
+:1081600000000000000000020202020202020202FD
+:1081700002020202020202020202020202020202DF
+:1081800002020202020202020202020202020202CF
+:1081900002020202020202000000000000000000D1
+:1081A00000000000000000000000000000000000CF
+:1081B00000000000000000020202020202020202AD
+:1081C000020202020202020202020202020202028F
+:1081D0000202020202020200000000000000000091
+:1081E0000000000000000001010101010101010186
+:1081F0000101010101010102020202020201010268
+:108200000101020102020202020202020202020251
+:10821000020202020202020202020202020202023E
+:10822000020202020202020202020202020202022E
+:10823000020202020202020202020202020202021E
+:10824000020202020202020202020202020202020E
+:108250000202020202020201010101010101010107
+:1082600001010101010101020202020202020202F5
+:1082700002020202020202020202020202020202DE
+:1082800002020202020202010101010101010101D7
+:1082900001010101010101000000000000000000D7
+:1082A00000000000000000000000000000000000CE
+:1082B00000000000000000000000000000000000BE
+:1082C000000000000000000202020202020202029C
+:1082D0000202020202020200000000000000000090
+:1082E0000000000000000001010101010101010185
+:1082F0000101010101010100000000000000000077
+:10830000000000000000000202020202020202025B
+:10831000020202020202020000000000000000004F
+:10832000000000000000000202020202020202023B
+:108330000202020202020201010101010101010126
+:10834000010101010101010101010101010101011D
+:10835000010101010101010101010101010101010D
+:1083600001010101010101010101010101010101FD
+:1083700001010101010101010101010101010101ED
+:1083800001010101010101010101010101010101DD
+:1083900001010101010101010101010101010101CD
+:1083A00001010101010101010101010101010101BD
+:1083B00001010101010101000000000000000000B6
+:1083C00000000000000000000000000000000000AD
+:1083D000000000000000000000000000000000009D
+:1083E0000000000000000001010101010101010184
+:1083F0000101010101010100000000000000000076
+:108400000000000000000001010101010101010163
+:10841000010101010101010101010101010101014C
+:10842000010101010101010101010101010101013C
+:10843000010101010101010101010101010101012C
+:10844000010101010101010101010101010101011C
+:108450000101010101010100000000000000000015
+:108460000000000000000001010101010101010103
+:1084700001010101010101010101010101010101EC
+:1084800001010101010101000000000000000000E5
+:1084900000000000000000010101010101010101D3
+:1084A00001010101010101010101010101010101BC
+:1084B00001010101010101010101010101010101AC
+:1084C000010101010101010101010101010101019C
+:1084D0000101010101010100000000000000000095
+:1084E0000000000000000001010101010101010183
+:1084F0000101010101010100000000000000000075
+:108500000000000000000001010101010101010162
+:108510000101010101010100000000000000000054
+:108520000000000000000001010101010101010142
+:108530000101010101010100000000000000000034
+:10854000000000000000000000000000000000002B
+:10855000000000000000000000000000000000001B
+:10856000000000000000000000000000000000000B
+:1085700000000000000000000000000000000000FB
+:1085800000000000000000000000000000000000EB
+:1085900000000000000000020202020202020202C9
+:1085A00002020202020202020202020202020202AB
+:1085B00002020202020202000000000000000000AD
+:1085C00000000000000000000000000000000000AB
+:1085D000000000000000000000000000000000009B
+:1085E000000000000000000000000000000000008B
+:1085F000000000000000000000000000000000007B
+:10860000000000000000000000000000000000006A
+:10861000000000000000000000000000000000005A
+:10862000000000000000000000000000000000004A
+:10863000000000000000000000000000000000003A
+:10864000000000000000000000000000000000002A
+:10865000000000000000000000000000000000001A
+:10866000000000000000000000000000000000000A
+:1086700000000000000000000000000000000000FA
+:1086800000000000000000000000000000000000EA
+:1086900000000000000000000000000000000000DA
+:1086A00000000000000000000000000000000000CA
+:1086B00000000000000000000000000000000000BA
+:1086C00000000000000000000000000000000000AA
+:1086D000000000000000000000000000000000009A
+:1086E000000000000000003B00000000000000004F
+:1086F000000000000000000000000000000000007A
+:108700000000000000000000000000000000000069
+:108710000000020101000000000200000200000051
+:108720000000000000000000000000000000000049
+:108730000000000000000000000000000000000039
+:10874000000102000000000200000002020200001E
+:108750000000000000000202000000000000000015
+:108760000000000000000000000000000000000009
+:1087700000000000000000000000000000000000F9
+:1087800000000200000002020002000000000002DF
+:1087900002020002000000000200020000000000CF
+:1087A00000000000000000000000000000000000C9
+:1087B00000000000010000020200020202020200AA
+:1087C00000000000000000000000000000000000A9
+:1087D0000000000000000000000000000000000099
+:1087E0000000000000000000000000000000000089
+:1087F0000000000000000000000000000000000277
+:10880000000002020000000000000200020202005C
+:108810000000020101000000020202020200020048
+:10882000000000020000020000000202020000023C
+:108830000200020000000000000200000002000030
+:108840000202020000000002020002020202020014
+:108850000200000201000202020000020000020009
+:108860000200000000000000020000020000000002
+:1088700002020002000200000200000202020002E6
+:1088800000020200000002020202020202000202D2
+:1088900002020202000002020202020000020000C4
+:1088A00000000000000000000000000000000200C6
+:1088B00000000100010000020202020202020200A6
+:1088C0000200000100000000020002020202020297
+:1088D0000202000202000000020002020202020084
+:1088E0000000000000000000000000000202000084
+:1088F0000000000000000000000000000000000276
+:108900000000020200000000000202000202020059
+:108910000000020101000000020202020202020144
+:108920000000000200020202020202020200000233
+:108930000202020201000002020202020202000020
+:108940000202020000000002020002020202020013
+:108950000200020201000202020200020002020002
+:1089600002000201020100020202000200000000F7
+:1089700002020202000202020202000202020002DD
+:1089800000020200000002020202020202000202D1
+:1089900002020202010102020202020200020200BD
+:1089A00000020000000000000000000000000200C3
+:1089B00001010101010100020202020202020200A1
+:1089C0000200010200000000020202020202020292
+:1089D000020202020200020202020202020202007B
+:1089E0000000000000000000000000000202000083
+:1089F0000000000000000000000000000000000275
+:108A00000000020200000000000202000202020058
+:108A10000000020202000000020202020202020141
+:108A20000000000200020202020202020200000232
+:108A3000020202020100000202020202020200001F
+:108A4000020202010101000202000202020202000F
+:108A50000200020201000202020200020002020001
+:108A600002020202020200020202020200000000F0
+:108A700002020202000202020202000202020002DC
+:108A800000020200000002020202020202000202D0
+:108A900002020202010102020202020200020200BC
+:108AA00000020200000100020000000000020200BB
+:108AB000020101010201000202020202020202029C
+:108AC000020202020202000002020202020202028A
+:108AD0000202020202020202020202020202020078
+:108AE0000000000000000000000000000202000082
+:108AF0000000000000000000000000000000000274
+:108B00000000020200000000000202000202020057
+:108B10000000020202000000020202020202020140
+:108B20000000000200020202020202020200000231
+:108B3000020202020100000202020202020200001E
+:108B4000020202010101020202000202020202000C
+:108B500002000202020002020202000200020200FF
+:108B600002020202020200020202020200000000EF
+:108B700002020202000202020202000202020002DB
+:108B800000020200000002020202020202000202CF
+:108B900002020202010102020202020202020200B9
+:108BA00000020200000100020200020200020201B3
+:108BB0000202020202020002020202020202020297
+:108BC0000202020202020200020202020202020287
+:108BD0000202020202020202020202020202020077
+:108BE000000000000000000000000002020200007F
+:108BF0000000000000000000000000000000000273
+:108C00000000020200000000000202020202020054
+:108C1000000002020200000002020202020202023E
+:108C2000000000020002020202020202020002022E
+:108C3000020202020200020202020202020200001A
+:108C40000202020102020202020002020202020009
+:108C500002000202020002020202000200020200FE
+:108C600002020202020200020202020200000001ED
+:108C700002020202000202020202000202020202D8
+:108C800001020200000102020202020202000202CC
+:108C900002020202020202020202020202020200B6
+:108CA00000020200000200020202020200020202AE
+:108CB0000202020202020002020202020202020296
+:108CC0000202020202020200020202020202020286
+:108CD0000202020202020202020202020202020076
+:108CE000000000000000000000000202020200007C
+:108CF0000000000000000000000000000000000272
+:108D00000000020200000000000202020202020053
+:108D1000000002020200000002020202020202023D
+:108D2000000000020002020202020202020002022D
+:108D30000202020202010202020202020202020016
+:108D40000202020202020202020002020202020007
+:108D500002000202020002020202000200020200FD
+:108D600002020202020200020202020200020002E9
+:108D700002020202010202020202000202020202D6
+:108D800001020200010102020202020202000202CA
+:108D900002020202020202020202020202020200B5
+:108DA00000020200000200020202020200020202AD
+:108DB0000202020202020002020202020202020295
+:108DC0000202020202020200020202020202020285
+:108DD0000202020202020202020202020202020075
+:108DE0000000000200000000020002020202000077
+:108DF0000000000000000000000000000000000271
+:108E00000000020200000000000202020202020052
+:108E1000000002020200000002020202020202023C
+:108E2000000000020002020202020202020002022C
+:108E30000202020202010202020202020202020114
+:108E40000202020202020202020002020202020006
+:108E500002010202020002020202000200020201FA
+:108E600002020202020200020202020200020202E6
+:108E700002020202010202020202020202020202D3
+:108E800001020201010102020202020202000202C8
+:108E900002020202020202020202020202020200B4
+:108EA00000020200000200020202020202020202AA
+:108EB0000202020202020002020202020202020294
+:108EC0000202020202020200020202020202020284
+:108ED0000202020202020202020202020202020074
+:108EE000000200020002000202020202020200006E
+:108EF0000000000000000000000000000000000270
+:108F0000000002020000000200020202020202004F
+:108F1000000002020200000002020202020202023B
+:108F2000000000020002020202020202020002022B
+:108F30000202020202020202020202020202020112
+:108F40000202020202020202020002020202020005
+:108F500002020202020002020202000200020201F8
+:108F600002020202020200020202020200020202E5
+:108F700002020202010202020202020202020202D2
+:108F800002020201020202020202020202000202C4
+:108F900002020202020202020202020202020200B3
+:108FA00000020200000200020202020202020202A9
+:108FB0000202020202020002020202020202020293
+:108FC0000202020202020202020202020202020281
+:108FD0000202020202020202020202020202020073
+:108FE0000202020202020202020202020202000065
+:108FF000000000000000000000000000000000026F
+:10900000000002020000000200020202020202004E
+:10901000000002020200000002020202020202023A
+:10902000000000020002020202020202020002022A
+:109030000202020202020202020202020202020111
+:109040000202020202020202020002020202020103
+:1090500002020202020102020202000200020201F6
+:1090600002020202020200020202020200020202E4
+:1090700002020202020202020202020202020202D0
+:1090800002020201020202020202020202000202C3
+:1090900002020202020202020202020202020200B2
+:1090A00000020200000200020202020202020202A8
+:1090B0000202020202020002020202020202020292
+:1090C0000202020202020202020202020202020280
+:1090D0000202020202020202020202020202020072
+:1090E0000202020202020202020202020202000064
+:1090F000000000000000000000000000000000026E
+:10910000000002020000000200020202020202004D
+:109110000000020202000000020202020202020239
+:109120000000000200020202020202020200020229
+:10913000020202020202020202020202020202020F
+:109140000202020202020202020002020202020102
+:1091500002020202020102020202000200020202F4
+:1091600002020202020200020202020200020202E3
+:1091700002020202020202020202020202020202CF
+:1091800002020202020202020202020202000202C1
+:1091900002020202020202020202020202020202AF
+:1091A00002020201000202020202020202020202A2
+:1091B0000202020202020002020202020202020291
+:1091C000020202020202020202020202020202027F
+:1091D0000202020202020202020202020202020071
+:1091E0000202020202020202020202020101000065
+:1091F000000000000000000000000000000000026D
+:10920000000002020000000200020202020202004C
+:109210000000020202000000020202020202020238
+:109220000000000200020202020202020200020228
+:10923000020202020202020202020202020202020E
+:109240000202020202020202020002020202020200
+:1092500002020202020202020202000200020202F2
+:1092600002020202020200020202020200020202E2
+:1092700002020202020202020202020202020202CE
+:1092800002020202020202020202020202020202BE
+:1092900002020202020202020202020202020202AE
+:1092A00002020202000202020202020202020202A0
+:1092B000020202020202020202020202020202028E
+:1092C000020202020202020202020202020202027E
+:1092D0000202020202020202020202020202020070
+:1092E0000202020202020202020202020101000064
+:1092F000000000000000000000000000000000026C
+:10930000000002020000000200020202020202014A
+:109310000000020202000000020202020202020237
+:109320000000000200020202020202020200020227
+:10933000020202020202020202020202020202020D
+:1093400002020202020202020202020202020202FD
+:1093500002020202020202020202000200020202F1
+:1093600002020202020200020202020200020202E1
+:1093700002020202020202020202020202020202CD
+:1093800002020202020202020202020202020202BD
+:1093900002020202020202020202020202020202AD
+:1093A000020202020202020202020202020202029D
+:1093B000020202020202020202020202020202028D
+:1093C000020202020202020202020202020202027D
+:1093D000020202020202020202020202020202006F
+:1093E0000202020202020202020202020101000063
+:1093F000000000000000000000000000000000026B
+:109400000000020200000002000202020202020149
+:109410000100020202000000020202020202020235
+:109420000100000200020202020202020200020225
+:10943000020202020202020202020202020202020C
+:1094400002020202020202020202020202020202FC
+:1094500002020202020202020202000200020202F0
+:1094600002020202020200020202020200020202E0
+:1094700002020202020202020202020202020202CC
+:1094800002020202020202020202020202020202BC
+:1094900002020202020202020202020202020202AC
+:1094A000020202020202020202020202020202029C
+:1094B000020202020202020202020202020202028C
+:1094C000020202020202020202020202020202027C
+:1094D000020202020202020202020202020202006E
+:1094E0000202020202020202020202020101000062
+:1094F000000000000000000000000000000000026A
+:109500000000020200000202000202020202020146
+:109510000100020202000000020202020202020234
+:109520000100010202020202020202020200020221
+:10953000020202020202020202020202020202020B
+:1095400002020202020202020202020202020202FB
+:1095500002020202020202020202000200020202EF
+:1095600002020202020200020202020200020202DF
+:1095700002020202020202020202020202020202CB
+:1095800002020202020202020202020202020202BB
+:1095900002020202020202020202020202020202AB
+:1095A000020202020202020202020202020202029B
+:1095B000020202020202020202020202020202028B
+:1095C000020202020202020202020202020202027B
+:1095D0000202020202020202020202020101010070
+:1095E0000202020202020202020202010101010061
+:1095F0000000000000000000000000000000000269
+:109600000000020200000202020202020202020242
+:109610000100020202000000020202020202020233
+:10962000020001020202020202020202020002021F
+:10963000020202020202020202020202020202020A
+:1096400002020202020202020202020202020202FA
+:1096500002020202020202020202000200020202EE
+:1096600002020202020200020202020200020202DE
+:1096700002020202020202020202020202020202CA
+:1096800002020202020202020202020202020202BA
+:1096900002020202020202020202020202020202AA
+:1096A000020202020202020202020202020201029B
+:1096B000020202020202020202020202010101028D
+:1096C000020202020202020202020202020202027A
+:1096D0000202020202020202020201010101010071
+:1096E0000202020202020202020201010101010061
+:1096F0000000000000000000000000000000000268
+:109700000000020200000202020202020202020241
+:10971000020002020200000202020202020202022F
+:10972000020002020202020202020202020002021D
+:109730000202020202020202020202020202020209
+:1097400002020202020202020202020202020202F9
+:1097500002020202020202020202000200020202ED
+:1097600002020202020200020202020200020202DD
+:1097700002020202020202020202020202020202C9
+:1097800002020202020202020202020202020202B9
+:1097900002020202020202020202020202020202A9
+:1097A000020202020202020202020202020101029B
+:1097B000020202020202020202020101010101028E
+:1097C000020202020202020202020202010101027C
+:1097D0000202020202020202010101010101010072
+:1097E0000202020202020202020201010101010060
+:1097F0000000000000000000000000000000000267
+:10980000000002020001020202020202020202023F
+:10981000020002020202000202020202020202022C
+:10982000020102020202020202020202020002021B
+:109830000202020202020202020202020202020208
+:1098400002020202020202020202020202020202F8
+:1098500002020202020202020202000200020202EC
+:1098600002020202020200020202020200020202DC
+:1098700002020202020202020202020202020202C8
+:1098800002020202020202020202020201020202B9
+:1098900002020202020202020202020202010202A9
+:1098A000020202020202020202020202020101029A
+:1098B000020202020202020201010101010101028F
+:1098C000020202020202020202020101010101027D
+:1098D0000202020202020201010101010101010072
+:1098E0000202020202020202010101010101010061
+:1098F0000000000000000000000000000000000266
+:10990000000002020001020202020202020202023E
+:10991000020002020202000202020202020202022B
+:10992000020102020202020202020202020002021A
+:109930000202020202020202020202020202020207
+:1099400002020202020202020202020201010202F9
+:1099500002020202020202020202000200020202EB
+:1099600002020202020200020202020200020202DB
+:1099700002020202020202020202020201010202C9
+:1099800002020202020202020202020201020102B9
+:1099900002020202020202020202010201010102AB
+:1099A000020202020202020202020202010101029A
+:1099B000020202020202020201010101010101028E
+:1099C000020202020202020201010101010101027E
+:1099D0000202020202020101010101010101010072
+:1099E0000202020202020201010101010101010061
+:1099F0000000000000000000000000000000000265
+:109A0000000002020102020202020202020202023B
+:109A1000020002020202000202020202020202022A
+:109A20000202020202020202020202020100020219
+:109A30000202020202020202020202020202020206
+:109A400002020202020202020202020101010102FA
+:109A500002020202020202020202000200010102EC
+:109A600002020202020200020202020200020202DA
+:109A700002020202020202020202020201010202C8
+:109A800002020202020202020201010101020102BB
+:109A900002020202020202020101010101010102AD
+:109AA000020202020202020202020101010101029B
+:109AB000020202020202020101010101010101028E
+:109AC000020202020202020201010101010101027D
+:109AD0000202020101020101010101010101010073
+:109AE0000202020102020201010101010101010061
+:109AF0000000000000000000000000000000000264
+:109B0000000002020102020202020202010202023B
+:109B1000020002020202000202020202010202022A
+:109B2000020202020202020202020101010002021A
+:109B30000202020202020202020202020101020207
+:109B400002020202020202020202010101010102FA
+:109B500002020202020202020202000100010102EC
+:109B600002020202020200020202020100020202DA
+:109B700002020202020202020202020101010202C8
+:109B800002020202020202010101010101020102BC
+:109B900002020202020202010101010101010102AD
+:109BA000020202020202020101010101010101029D
+:109BB000020202020202020101010101010101028D
+:109BC000020202020202020201010101010101027C
+:109BD0000201010101010101010101010101010075
+:109BE0000202020102010101010101010101010062
+:109BF0000000000000000000000000000000000263
+:109C0000000002020202020202020202010101023B
+:109C1000020002020202000202020202010101022B
+:109C2000020202020202020201010101010001021C
+:109C30000202020202020202020202020101020206
+:109C400002020202020202010102010101010102FB
+:109C500002020202020202010101000100010102EE
+:109C600002020202020200020101010100010202DD
+:109C700002020202020202020101020101010102CA
+:109C800002020202020201010101010101020102BC
+:109C900002020201020201010101010101010102AE
+:109CA000020202020202020101010101010101029C
+:109CB000020202020202020101010101010101028C
+:109CC000020202020202020201010101010101027B
+:109CD0000101010101010101010101010101010075
+:109CE0000201010101010101010101010101010064
+:109CF0000000000000000000000000000000000262
+:109D0000000002020202020202020102010101023B
+:109D1000020002020202000202010101010101022D
+:109D2000020202020202020101010101010001021C
+:109D30000202020202020201020101010101020209
+:109D400002020202020202010102010101010102FA
+:109D500002020202020201010101000100010102EE
+:109D600002020202020200010101010100010102DE
+:109D700002020202020202010101020101010102CA
+:109D800002020102020201010101010101020102BC
+:109D900002010101020201010101010101010102AF
+:109DA000020101020202020101010101010101029D
+:109DB000020202020202020101010101010101028B
+:109DC000020202010101010201010101010101027E
+:109DD0000101010101010101010101010101010074
+:109DE0000201010101010101010101010101010063
+:109DF0000000000000000000000000000000000261
+:109E0000000001020202020202010102010101023C
+:109E1000020001020202000201010101010101022E
+:109E2000020202010202010101010101010001021D
+:109E3000020202020202020101010101010101020A
+:109E400002020102020201010102010101010102FB
+:109E500002020201020201010101020100010102EC
+:109E600002020202020202010101010100010102DB
+:109E700002020201020101010101010101010102CD
+:109E800002010102020201010101010101010102BD
+:109E900001010101020201010101010101010102AF
+:109EA000020101020201020101010101010101029D
+:109EB000020202010101020101010101010101028D
+:109EC0000101010101010101010101010101010281
+:109ED0000101010101010101010101010101010073
+:109EE0000101010101010101010101010101010063
+:109EF000020000000000000000000000000000025E
+:109F0000000001010202020202010101010101023D
+:109F1000020001020202000201010101010101022D
+:109F2000020202010201010101010101010001021D
+:109F30000202020202020201010101010101010209
+:109F400002010102020201010102010101010102FB
+:109F500002020101020201010101020100010102EC
+:109F600002020102010202010101010100010102DC
+:109F700002010101020101010101010101010102CE
+:109F800002010102020201010101010101010102BC
+:109F900001010101020201010101010101010102AE
+:109FA000020101020201010101010101010101029D
+:109FB000010101010101020101010101010101028F
+:109FC0000101010101010101010101010101010181
+:109FD0000101010101010101010101010101010072
+:109FE0000101010101010101010101010101000063
+:109FF000020002000000000000000000000000025B
+:10A00000000001010202020202010101010101023C
+:10A01000020001020202000201010101010101022C
+:10A02000020202010201010101010101010001021C
+:10A03000020101010202010101010101010101020C
+:10A0400001010102020201010102010101010102FB
+:10A0500001020101020201010101020100010102EC
+:10A0600001010101010102010101010100010102DF
+:10A0700001010101020101010101010101010102CE
+:10A0800002010102020201010101010101010102BB
+:10A0900001010101020201010101010101010102AD
+:10A0A000020101020201010101010101010101029C
+:10A0B000010101010101010101010101010101028F
+:10A0C0000101010101010101010101010101010180
+:10A0D0000101010101010101010101010101010071
+:10A0E0000101010101010101010101010101000062
+:10A0F0000202020000000000000000000000000258
+:10A10000000001010202020202010101010101023B
+:10A11000020001010102000201010101010101022D
+:10A12000020202010201010101010101010001021B
+:10A13000010101010202010101010101010101020C
+:10A1400001010102010101010101010101010102FD
+:10A1500001020101010201010101020100010102EC
+:10A1600001010101010102010101010100010102DE
+:10A1700001010101020101010101010101010102CD
+:10A1800002010102020201010101010101010101BB
+:10A1900001010101010101010101010101010102AE
+:10A1A000020101020201010101010101010101029B
+:10A1B000010101010101010101010101010101028E
+:10A1C000010101010101010101010101010101017F
+:10A1D0000101010101010101010101010101010070
+:10A1E0000101010101010101010101010101000061
+:10A1F0000202020000000000000000000000000158
+:10A20000000001010202020102010101010101023B
+:10A21000020001010102000201010101010101022C
+:10A22000020202010201010101010101010001011B
+:10A23000010101010202010101010101010101020B
+:10A2400001010101010101010101010101010102FD
+:10A2500001020101010201010101020100010102EB
+:10A2600001010101010102010101010100010102DD
+:10A2700001010101020101010101010101010101CD
+:10A2800002010102010201010101010101010101BB
+:10A2900001010101010101010101010101010102AD
+:10A2A000020101010101010101010101010101029C
+:10A2B000010101010101010101010101010101018E
+:10A2C000010101010101010101010101010101017E
+:10A2D000010101010101010101010101010101006F
+:10A2E0000101010101010101010101010101000060
+:10A2F0000202020000000000000000000000000157
+:10A30000000001010202020102010101010101023A
+:10A31000020001010102000201010101010101022B
+:10A32000020202010201010101010101010001011A
+:10A33000010101010102010101010101010101020B
+:10A3400001010101010101010101010101010102FC
+:10A3500001010101010201010101020100010102EB
+:10A3600001010101010102010101010100010102DC
+:10A3700001010101020101010101010101010101CC
+:10A3800002010102010101010101010101010101BB
+:10A3900001010101010101010101010101010102AC
+:10A3A000010101010101010101010101010101019D
+:10A3B000010101010101010101010101010101018D
+:10A3C000010101010101010101010101010101017D
+:10A3D000010101010101010101010101010101006E
+:10A3E000010101010101010101010101010100005F
+:10A3F0000202020000000000000000000000000255
+:10A40000000001010202020101010101010101023A
+:10A41000020101010102000201010101010101012A
+:10A420000202020102010101010101010100010119
+:10A43000010101010101010101010101010101020B
+:10A4400001010101010101010101010101010102FB
+:10A4500001010101010101010101020102010102E9
+:10A4600001010101010102010101010102010102D9
+:10A4700001010101010101010101010101010101CC
+:10A4800002010101010101010101010101010101BB
+:10A4900001010101010101010101010101010102AB
+:10A4A000010101010101010101010101010101019C
+:10A4B000010101010101010101010101010101018C
+:10A4C000010101010101010101010101010101017C
+:10A4D000010101010101010101010101010101006D
+:10A4E000010101010101010101010101010102005C
+:10A4F0000202020000000000000000000000000254
+:10A50000000001010202010101010101010101023A
+:10A510000202010101020002010101010101010128
+:10A520000202020101010101010101010100010119
+:10A53000010101010101010101010101010101020A
+:10A5400001010101010101010101010101010102FA
+:10A5500001010101010101010101020102010102E8
+:10A5600001010101010102010101010102010102D8
+:10A5700001010101010101010101010101010101CB
+:10A5800001010101010101010101010101010101BB
+:10A5900001010101010101010101010101010102AA
+:10A5A000010101010101010101010101010101019B
+:10A5B000010101010101010101010101010101018B
+:10A5C000010101010101010101010101010101017B
+:10A5D000010101010101010101010101010101006C
+:10A5E000010101010101010101010101010102005B
+:10A5F0000202020000000000000000000000000154
+:10A600000000010102020101010101010101010239
+:10A610000202010101020001010101010101010128
+:10A620000202020101010101010101010100010118
+:10A630000101010101010101010101010101010209
+:10A6400001010101010101010101010101010102F9
+:10A6500001010101010101010101010102010102E8
+:10A6600001010101010102010101010102010101D8
+:10A6700001010101010101010101010101010101CA
+:10A6800001010101010101010101010101010101BA
+:10A6900001010101010101010101010101010101AA
+:10A6A000010101010101010101010101010101019A
+:10A6B000010101010101010101010101010101018A
+:10A6C000010101010101010101010101010101017A
+:10A6D000010101010101010101010101010101006B
+:10A6E000010101010101010101010101010102005A
+:10A6F000020202020000000000000000020000014F
+:10A700000000010102020101010101010101010238
+:10A710000202010101020001010101010101010127
+:10A720000202010101010101010101010100010118
+:10A730000101010101010101010101010101010208
+:10A7400001010101010101010101010101010102F8
+:10A7500001010101010101010101010102010102E7
+:10A7600001010101010102010101010102010101D7
+:10A7700001010101010101010101010101010101C9
+:10A7800001010101010101010101010101010101B9
+:10A7900001010101010101010101010101010101A9
+:10A7A0000101010101010101010101010101010199
+:10A7B0000101010101010101010101010101010189
+:10A7C0000101010101010101010101010101010179
+:10A7D000010101010101010101010101010101006A
+:10A7E0000101010101010101010101010101020059
+:10A7F000020202020000000000020000020000014C
+:10A800000000010102020101010101010101010237
+:10A810000202010101010001010101010101010127
+:10A820000102010101010101010101010100010118
+:10A830000101010101010101010101010101010207
+:10A8400001010101010101010101010101010101F8
+:10A8500001010101010101010101010101010102E7
+:10A8600001010101010102010101010101010101D7
+:10A8700001010101010101010101010101010101C8
+:10A8800001010101010101010101010101010101B8
+:10A8900001010101010101010101010101010101A8
+:10A8A0000101010101010101010101010101010198
+:10A8B0000101010101010101010101010101010188
+:10A8C0000101010101010101010101010101010178
+:10A8D0000101010101010101010101010101010069
+:10A8E0000101010101010101010101010100020059
+:10A8F0000202020202000000020200020200000145
+:10A900000000010102020101010101010101010236
+:10A910000202010101010201010101010101010124
+:10A920000101010101010101010101010100010118
+:10A930000101010101010101010101010101010107
+:10A9400001010101010101010101010101010101F7
+:10A9500001010101010101010101010101010101E7
+:10A9600001010101010101010101010101010101D7
+:10A9700001010101010101010101010101010101C7
+:10A9800001010101010101010101010101010101B7
+:10A9900001010101010101010101010101010101A7
+:10A9A0000101010101010101010101010101010197
+:10A9B0000101010101010101010101010101010187
+:10A9C0000101010101010101010101010101010177
+:10A9D0000101010101010101010101010101010068
+:10A9E000010101010101010101010101000000005B
+:10A9F0000202020202000202020200020200000140
+:10AA00000000010102010101010101010101010236
+:10AA10000202010101010201010101010101010123
+:10AA20000101010101010101010101010102010115
+:10AA30000101010101010101010101010101010106
+:10AA400001010101010101010101010101010101F6
+:10AA500001010101010101010101010101010101E6
+:10AA600001010101010101010101010101010101D6
+:10AA700001010101010101010101010101010101C6
+:10AA800001010101010101010101010101010101B6
+:10AA900001010101010101010101010101010101A6
+:10AAA0000101010101010101010101010101010196
+:10AAB0000101010101010101010101010101010186
+:10AAC0000101010101010101010101010101010176
+:10AAD0000101010101010101010101010101010265
+:10AAE000010101010101010101010100000000005B
+:10AAF0000202020202020202020202020202000139
+:10AB00000000010101010101010101010101010236
+:10AB10000102010101010201010101010101010123
+:10AB20000101010101010101010101010101010115
+:10AB30000101010101010101010101010101010105
+:10AB400001010101010101010101010101010101F5
+:10AB500001010101010101010101010101010101E5
+:10AB600001010101010101010101010101010101D5
+:10AB700001010101010101010101010101010101C5
+:10AB800001010101010101010101010101010101B5
+:10AB900001010101010101010101010101010101A5
+:10ABA0000101010101010101010101010101010195
+:10ABB0000101010101010101010101010101010185
+:10ABC0000101010101010101010101010101010175
+:10ABD0000101010101010101010101010101010264
+:10ABE000000000000100010101010000020000005E
+:10ABF0000202020202020202020202020102000139
+:10AC00000000010101010101010101010101010235
+:10AC10000102010101010201010101010101010122
+:10AC20000101010101010101010101010101010114
+:10AC30000101010101010101010101010101010104
+:10AC400001010101010101010101010101010101F4
+:10AC500001010101010101010101010101010101E4
+:10AC600001010101010101010101010101010101D4
+:10AC700001010101010101010101010101010101C4
+:10AC800001010101010101010101010101010101B4
+:10AC900001010101010101010101010101010101A4
+:10ACA0000101010101010101010101010101010194
+:10ACB0000101010101010101010101010101010184
+:10ACC0000101010101010101010101010101010174
+:10ACD0000101010101010101010101010101010263
+:10ACE0000000000000000000000000000202000060
+:10ACF0000202010202020202020202020102000139
+:10AD00000000010101010101010101010101010135
+:10AD10000102010101010201010101010101010121
+:10AD20000101010101010101010101010101010113
+:10AD30000101010101010101010101010101010103
+:10AD400001010101010101010101010101010101F3
+:10AD500001010101010101010101010101010101E3
+:10AD600001010101010101010101010101010101D3
+:10AD700001010101010101010101010101010101C3
+:10AD800001010101010101010101010101010101B3
+:10AD900001010101010101010101010101010101A3
+:10ADA0000101010101010101010101010101010193
+:10ADB0000101010101010101010101010101010183
+:10ADC0000101010101010101010101010101010173
+:10ADD0000101010101010101010101010101010262
+:10ADE0000000000000000002020202020202000055
+:10ADF000010101020202020202010201010100013D
+:10AE00000200010101010101010101010101010132
+:10AE10000102010101010201010101010101010120
+:10AE20000101010101010101010101010101010112
+:10AE30000101010101010101010101010101010102
+:10AE400001010101010101010101010101010101F2
+:10AE500001010101010101010101010101010101E2
+:10AE600001010101010101010101010101010101D2
+:10AE700001010101010101010101010101010101C2
+:10AE800001010101010101010101010101010101B2
+:10AE900001010101010101010101010101010101A2
+:10AEA0000101010101010101010101010101010192
+:10AEB0000101010101010101010101010101010182
+:10AEC0000101010101010101010101010101010172
+:10AED0000101010101010101010101010101010261
+:10AEE0000000000200000202020202020202000050
+:10AEF000010101020202020201010101010100013E
+:10AF00000200010101010101010101010101010131
+:10AF1000010201010101020101010101010101011F
+:10AF20000101010101010101010101010101010111
+:10AF30000101010101010101010101010101010101
+:10AF400001010101010101010101010101010101F1
+:10AF500001010101010101010101010101010101E1
+:10AF600001010101010101010101010101010101D1
+:10AF700001010101010101010101010101010101C1
+:10AF800001010101010101010101010101010101B1
+:10AF900001010101010101010101010101010101A1
+:10AFA0000101010101010101010101010000000194
+:10AFB0000101010101010101000000000000000188
+:10AFC0000101010101010101010101010101010171
+:10AFD0000101010101010202020202020202020257
+:10AFE0000002020202020202020202020202000047
+:10AFF000010101010202020101010101010100013F
+:10B000000200010101010101010101010101010130
+:10B010000101010101010101010101010101010120
+:10B020000101010101010101010101010101010110
+:10B030000101010101010101010101010101010100
+:10B0400001010101010101010101010101010101F0
+:10B0500001010101010101010101010101010101E0
+:10B0600001010101010101010101010101010101D0
+:10B0700001010101010101010101010101010101C0
+:10B0800001010101010101010101010101010101B0
+:10B0900001010101010101010101010101010101A0
+:10B0A0000101010101000001010101010000000195
+:10B0B000000000000000000100000000000000018E
+:10B0C0000101010101010101000000000000000177
+:10B0D0000202020202020202020202020202020250
+:10B0E0000202020202020202020202020202000044
+:10B0F000010101010102010101010101010101013F
+:10B10000020001010101010101010101010101012F
+:10B11000010101010101010101010101010101011F
+:10B12000010101010101010101010101010101010F
+:10B1300001010101010101010101010101010101FF
+:10B1400001010101010101010101010101010101EF
+:10B1500001010101010101010101010101010101DF
+:10B1600001010101010101010101010101010101CF
+:10B1700001010101010101010101010101010101BF
+:10B1800001010101010101010101010101010101AF
+:10B19000010101010101010101010101010101019F
+:10B1A0000101010101000001010101010000000095
+:10B1B000000000000000000100000000000000018D
+:10B1C000000000000000000002020202020202026F
+:10B1D000020202020202020202020202020202024F
+:10B1E0000202020202020202020202020202000043
+:10B1F000010101010101010101010101010101013F
+:10B20000020001010101010101010101010101012E
+:10B21000010101010101010101010101010101021D
+:10B22000010101010101010101010101010101010E
+:10B2300001010101010101010101010101010101FE
+:10B2400001010101010101010101010101010101EE
+:10B2500001010101010101010101010101010101DE
+:10B2600001010101010101010101010101010101CE
+:10B2700001010101010101010101010101010101BE
+:10B2800001010101010101010101010101010101AE
+:10B29000010101010101010101010101000101019F
+:10B2A0000102020101000002020202020202020087
+:10B2B000000000000000000202020202020202007E
+:10B2C000020202020202020202020202020202025E
+:10B2D000020202020202020202020202020202024E
+:10B2E0000202020202020202020202020202000042
+:10B2F000010101010101010101010101010101013E
+:10B30000020001010101010101010101010101012D
+:10B31000010101010101010101010101010101021C
+:10B32000010101010101010101010101010101010D
+:10B3300001010101010101010101010101010101FD
+:10B3400001010101010101010101010101010101ED
+:10B3500001010101010101010101010101010101DD
+:10B3600001010101010101010101010101010101CD
+:10B3700001010101010101010101010101010101BD
+:10B3800001010101010101010101010100010101AE
+:10B39000010101010101020101010101000001019E
+:10B3A000020202020202020202020202020202007F
+:10B3B000020202020202020202020202020202026D
+:10B3C000020202020202020202020202020202025D
+:10B3D000020202020202020202020202020202024D
+:10B3E0000202020202020202020202020202000041
+:10B3F000010101010101010101010101010101013D
+:10B40000020001010101010101010101010101012C
+:10B41000010101010101010101010101010101021B
+:10B42000010101010101010101010101010101010C
+:10B4300001010101010101010101010101010101FC
+:10B4400001010101010101010101010101010101EC
+:10B4500001010101010101010101010101010101DC
+:10B4600001010101010101010101010101010101CC
+:10B4700001010101010101010101010101010101BC
+:10B4800001010101010101010101010100010101AD
+:10B49000020202020101010202020202020202028F
+:10B4A000020202020202020202020202020202027C
+:10B4B000020202020202020202020202020202026C
+:10B4C000020202020202020202020202020202025C
+:10B4D000020202020202020202020202020202024C
+:10B4E0000202020202020202020202020202000040
+:10B4F000010101010101010101010101010101013C
+:10B50000010001010101010101010101010101012C
+:10B51000010101010101010101010101010101011B
+:10B52000010101010101010102010101010101010A
+:10B5300001010101010101010101010101010101FB
+:10B5400001010101010102010101010101010101EA
+:10B5500001010101010101010101010101010101DB
+:10B5600001010101010101010101010101010101CB
+:10B5700001010101010101010101010100000101BD
+:10B5800001020201000102020202020202020202A0
+:10B59000020202020202020202020202020202028B
+:10B5A000020202020202020202020202020202027B
+:10B5B000020202020202020202020202020202026B
+:10B5C000020202020202020202020202020202025B
+:10B5D000020202020202020202020202020202024B
+:10B5E000020202020202020202020202020202003D
+:10B5F000010101010101010101010101010101013B
+:10B60000010001010101010101010101010101012B
+:10B61000010101010101010101010101010101011A
+:10B620000202020201010102010202020202020000
+:10B6300001010101010101020101010101010101F9
+:10B6400001010101010101010101010101010101EA
+:10B6500001010101010101010101010101010101DA
+:10B6600001010101010101010101010101000101CB
+:10B6700001010101010101010101010100000102BB
+:10B68000020202020202020202020202020202029A
+:10B69000020202020202020202020202020202028A
+:10B6A000020202020202020202020202020202027A
+:10B6B000020202020202020202020202020202026A
+:10B6C000020202020202020202020202020202025A
+:10B6D000020202020202020202020202020202024A
+:10B6E000020202020202020202020202020202003C
+:10B6F000010101010101010101010101010101013A
+:10B70000010000010101010101010101010101012B
+:10B710000101000202010101010101010101010118
+:10B720000101010102020201000101010101010008
+:10B7300001010101010102010101010101010101F8
+:10B7400001000102020200010101010000000100EC
+:10B7500001010101020201010101010101000101D8
+:10B7600000000001010102000000000000000001D3
+:10B7700002020202000202020202020202020202AB
+:10B780000202020202020202020202020202020299
+:10B790000202020202020202020202020202020289
+:10B7A0000202020202020202020202020202020279
+:10B7B0000202020202020202020202020202020269
+:10B7C0000202020202020202020202020202020259
+:10B7D0000202020202020202020202020202020249
+:10B7E000020202020202020202020202020202003B
+:10B7F0000101010101010101010101010101010139
+:10B800000102000101010101010101010101010128
+:10B810000101000202010101010101010101010018
+:10B820000000000001010100000000000000000015
+:10B8300001000101010101000101010100010101FB
+:10B8400002020201010100020202020202020200DF
+:10B8500002020202010102020202020202020200CC
+:10B8600002020202020201020202020202020202B9
+:10B8700002020202020202020202020202020202A8
+:10B880000202020202020202020202020202020298
+:10B890000202020202020202020202020202020288
+:10B8A0000202020202020202020202020202020278
+:10B8B0000202020202020202020202020202020268
+:10B8C0000202020202020202020202020202020258
+:10B8D0000202020202020202020202020202020248
+:10B8E000020202020202020202020202020202003A
+:10B8F0000101010101010101010101010101010138
+:10B900000101000101010101010101010101010128
+:10B910000101000202010101010101010101010017
+:10B920000000000000000000000000000000000017
+:10B9300000000101020200000101010100000102FA
+:10B9400002020202020202020202020202020202D7
+:10B9500002020202020202020202020202020202C7
+:10B9600002020202020202020202020202020202B7
+:10B9700002020202020202020202020202020202A7
+:10B980000202020202020202020202020202020297
+:10B990000202020202020202020202020202020287
+:10B9A0000202020202020202020202020202020277
+:10B9B0000202020202020202020202020202020267
+:10B9C0000202020202020202020202020202020257
+:10B9D0000202020202020202020202020202020247
+:10B9E0000202020202020202020202020202020039
+:10B9F0000101010101010101010101010101010137
+:10BA0000010100000101000100010101000101012B
+:10BA1000010100010101010101010101000001001A
+:10BA20000000000000000000000000000000000016
+:10BA300002020202010100000202020202020202EC
+:10BA400002020202020202020202020202020202D6
+:10BA500002020202020202020202020202020202C6
+:10BA600002020202020202020202020202020202B6
+:10BA700002020202020202020202020202020202A6
+:10BA80000202020202020202020202020202020296
+:10BA90000202020202020202020202020202020286
+:10BAA0000202020202020202020202020202020276
+:10BAB0000202020202020202020202020202020266
+:10BAC0000202020202020202020202020202020256
+:10BAD0000202020202020202020202020202020048
+:10BAE0000000000000000000000000000000000056
+:10BAF0000101010101010101010101010101010136
+:10BB0000010100000101000100010101000101002B
+:10BB10000000000101000000000000000000000023
+:10BB20000000000000000000000000000000000213
+:10BB300002020202020202020202020202020202E5
+:10BB400002020202020202020202020202020202D5
+:10BB500002020202020202020202020202020202C5
+:10BB600002020202020202020202020202020202B5
+:10BB700002020202020202020202020202020202A5
+:10BB80000202020202020202020202020202020295
+:10BB90000202020202020202020202020202020285
+:10BBA0000202020202020202020202020202020077
+:10BBB0000000000000000000000000000000000283
+:10BBC0000202020202020202020202020202020255
+:10BBD0000202020202020202020202020202020047
+:10BBE0000000000000000000000000000000000055
+:10BBF0000101010101010101010101010101010234
+:10BC00000202020202020202020202020202020016
+:10BC10000202020101020202020202020202020008
+:10BC200002020202020202020202020202020202F4
+:10BC300002020202020202020202020202020202E4
+:10BC400002020202020202020202020202020202D4
+:10BC500002020202020202020202020202020202C4
+:10BC600002020202020202020202020202020202B4
+:10BC700002020202020202020202020202020202A4
+:10BC80000202020202020202020202020202020294
+:10BC90000202020202020202020202020202020284
+:10BCA0000202020202020202020202020202020076
+:10BCB0000000000000000000000000000000000084
+:10BCC0000000000000000000000000000000000272
+:10BCD0000202020202020202020202020202020046
+:10BCE0000000000000000000000000000000000054
+:10BCF0000101010101010101010101010101010035
+:10BD00000000000000000000000000000000000231
+:10BD10000202020202020202020202020202020203
+:10BD200002020202020202020202020202020202F3
+:10BD300002020202020202020202020202020202E3
+:10BD400002020202020202020202020202020200D5
+:10BD500000000000000000000000000000000000E3
+:10BD600000000000000000000000000000000002D1
+:10BD700002020202020202020202020202020202A3
+:10BD80000202020202020202020202020202020293
+:10BD90000202020202020202020202020202020184
+:10BDA0000101010101010101010101010101010183
+:10BDB0000101010101010101010101010101010074
+:10BDC0000000000000000000000000000000000073
+:10BDD0000000000000000000000000000000000063
+:10BDE0000000000000000000000000000000000053
+:10BDF0000101010101010101010101010101010034
+:10BE00000000000000000000000000000000000131
+:10BE10000101010101010101010101010101010013
+:10BE20000000000000000000000000000000000210
+:10BE300002020202020202020202020202020201E3
+:10BE400001010101010101010101010101010100E3
+:10BE500000000000000000000000000000000001E1
+:10BE600001010101010101010101010101010102C1
+:10BE700002020202020202020202020202020201A3
+:10BE800001010101010101010101010101010101A2
+:10BE90000101010101010101010101010101010192
+:10BEA0000101010101010101010101010101010182
+:10BEB0000101010101010101010101010101010172
+:10BEC0000101010101010101010101010101010063
+:10BED0000000000000000000000000000000000062
+:10BEE0000000000000000000000000000000000052
+:10BEF0000101010101010101010101010101010132
+:10BF00000101010101010101010101010101010022
+:10BF10000000000000000000000000000000000120
+:10BF20000101010101010101010101010101010101
+:10BF300001010101010101010101010101010101F1
+:10BF400001010101010101010101010101010101E1
+:10BF500001010101010101010101010101010101D1
+:10BF600001010101010101010101010101010101C1
+:10BF700001010101010101010101010101010101B1
+:10BF800001010101010101010101010101010101A1
+:10BF90000101010101010101010101010101010092
+:10BFA000000000000000000000000000000000028F
+:10BFB0000202020202020202020202020202020162
+:10BFC0000101010101010101010101010101010161
+:10BFD0000101010101010101010101010101010052
+:10BFE0000000000000000000000000000000000051
+:10BFF0000101010101010101010101010101010032
+:10C000000000000000000000000000000000000030
+:10C010000000000000000000000000000000000020
+:10C02000000000000000000000000000000000010F
+:10C0300001010101010101010101010101010100F1
+:10C0400000000000000000000000000000000000F0
+:10C0500000000000000000000000000000000002DE
+:10C0600002020202020202020202020202020201B1
+:10C0700001010101010101010101010101010100B1
+:10C0800000000000000000000000000000000000B0
+:10C0900000000000000000000000000000000000A0
+:10C0A0000000000000000000000000000000000090
+:10C0B000000000000000000000000000000000027E
+:10C0C0000202020202020202020202020202020052
+:10C0D0000000000000000000000000000000000060
+:10C0E0000000000000000000000000000000000050
+:10C0F0000000000000000000000000000000000040
+:10C10000000000000000000000000000000000002F
+:10C11000000000000000000000000000000000001F
+:10C12000000000000000000000000000000000000F
+:10C1300000000000000000000000000000000000FF
+:10C1400000000000000000000000000000000000EF
+:10C1500000000000000000000000000000000000DF
+:10C1600000000000000000000000000000000000CF
+:10C1700000000000000000000000000000000000BF
+:10C1800000000000000000000000000000000000AF
+:10C19000000000000000000000000000000000009F
+:10C1A000000000000000000000000000000000008F
+:10C1B000000000000000000000000000000000007F
+:10C1C000000000000000000000000000000000006F
+:10C1D000000000000000000000000000000000005F
+:10C1E000000000000000000000000000000000440B
+:10C1F000000000000000000000000000000000003F
+:10C20000000000000000000000000000000000002E
+:10C21000000000000000000000000000000000001E
+:10C22000000000000000000000000000000000000E
+:10C2300000000000000000000000000000000000FE
+:10C2400000000000000000000000000000000000EE
+:10C2500000000000000000000000000000000000DE
+:10C2600000000000000000000000000000000000CE
+:10C2700000000000000000000000000000000000BE
+:10C2800000000000000000000001010000000000AC
+:10C29000020000000000000000000000000000009C
+:10C2A000000000000000000000000000000000008E
+:10C2B000000000000000000000000001000000027B
+:10C2C000010000020000000000000000000000006B
+:10C2D000000000000000000000000000000000005E
+:10C2E000000000000000000000000000000000004E
+:10C2F000000000000000000200020202020202022E
+:10C300000202000202000000000000000100020022
+:10C310000002020000020000000000000000020015
+:10C320000001000001010000010000010000000008
+:10C3300001000000000000000000000000010000FB
+:10C3400001000001000000000000000100020001E7
+:10C3500000000001000000000000000000000100DB
+:10C3600000010100000000000100000000000000CA
+:10C3700000000001000000000000000000000200BA
+:10C3800000010100010200000001010000000000A6
+:10C390000202020002020000000000000100000092
+:10C3A0000000000200000000010100000100000187
+:10C3B000000000000000000000000001000000027A
+:10C3C000010202020101000000000001010200015F
+:10C3D0000100000100000001000000000000010059
+:10C3E000000101000001000000000000000000004A
+:10C3F000000000000000000202020202020202022B
+:10C40000020202020200000000000201010102011A
+:10C410000102020100010000010000010000020011
+:10C420000101000101010000010000010000000005
+:10C4300001020100020100000001000000010000F3
+:10C4400001020201020200000000000100020201DC
+:10C4500000020101020000000100010100000102D0
+:10C4600001010101000000000100000000000000C7
+:10C4700000020101020100000100000000020202AE
+:10C4800001010101010200000001010100000000A2
+:10C490000202020202010000000000000100000090
+:10C4A000000200020202000101010000010002017D
+:10C4B0000000000000000000000000010000000279
+:10C4C000010202020101000100000001010202015B
+:10C4D0000101010101010101000000000101010150
+:10C4E0000101010100010000000000000000000047
+:10C4F000000000000000000202020202020202022A
+:10C500000202020202000000000002010202020117
+:10C51000010202010201000001000001000002000E
+:10C5200001010201010100000101000100000002FF
+:10C5300001020100020100000101000001010001EF
+:10C5400001020201020100000001010100020201DA
+:10C5500001020101020000000100010100000101CF
+:10C5600001010101020100000100000001020000C0
+:10C5700000020101020100000100000000020101AF
+:10C5800001010101010100000001010100000000A2
+:10C59000010202020201000000000000010000028E
+:10C5A000020200020201000101010001010001017B
+:10C5B0000000000000000000000000010000020177
+:10C5C000010202010101000100000001010102015C
+:10C5D000010101010101010100000000010101014F
+:10C5E0000101010101010000000000020000000043
+:10C5F0000000000000000002020202020202020229
+:10C600000202020202000000010002010202010215
+:10C610000101010201010000010000010000010010
+:10C6200001010101010100000101000100000002FF
+:10C6300001010100010101000101000001010101EE
+:10C6400001020201020100000001010100010101DB
+:10C6500001020101020200000100010100000101CC
+:10C6600001010101010100000100000001010000C1
+:10C6700000010101010100000100000000010101B1
+:10C68000010101010101000000010101000000029F
+:10C690000101010201010000000000000100000290
+:10C6A000020200010201000101010001010001017B
+:10C6B0000000000000020000000000010002020172
+:10C6C000010101010101000100000001010101015E
+:10C6D000010101010101010100000001010101014D
+:10C6E0000101010101010000000000020000000042
+:10C6F0000000000000000002020202020202020228
+:10C700000202020202000000010002010202010214
+:10C71000020101020101000001000001000001000E
+:10C7200001010101010100000101000100000002FE
+:10C7300001010102010101000101010101010101E9
+:10C7400001010101010100000101010100010101DC
+:10C7500001010101010100000100010100000101CE
+:10C7600001010101010101000100000001010002BD
+:10C7700000010101010100000100000000010101B0
+:10C78000010101010101000000010101000002029C
+:10C790000101010101010000000000000100000290
+:10C7A000020100010101000101010001010101017B
+:10C7B0000000000000020000000000010002020171
+:10C7C000010101010101010100000001010101015C
+:10C7D000010101010101010100000001010101014C
+:10C7E0000101010101010100000000020000000040
+:10C7F0000000000000000002020202020202020227
+:10C800000202020202000000010002010202010213
+:10C81000020101020101000001000001000001000D
+:10C8200001010101010100000101000100000001FE
+:10C8300001010101010101000101010101010101E9
+:10C8400001010101010101000101010100010101DA
+:10C8500001010101010100000100010100000101CD
+:10C8600001010101010101000100000001010202BA
+:10C8700000010101010100000100000001010101AE
+:10C88000010101010101000000010101000002029B
+:10C890000101010101010000000000000100000190
+:10C8A000010100010101000101010001010101017B
+:10C8B0000000000002020000000000010001010170
+:10C8C000010101010101010100000001010101015B
+:10C8D000010101010101010100000001010101014B
+:10C8E000010101010101010000000002000000003F
+:10C8F0000000000000000002020202020202020226
+:10C900000202020202000000010002020202020210
+:10C91000020101020101000001000001000001000C
+:10C9200001010101010101000101000100000001FC
+:10C9300001010101010101000101010101010101E8
+:10C9400001010101010101000101010100010101D9
+:10C9500001010101010100010100010100000101CB
+:10C9600001010101010101000101000001010202B8
+:10C9700000010101010100010100000001010101AC
+:10C98000010101010101000100010101000002019A
+:10C99000010101010101010000000100010000018D
+:10C9A000010100010101000101010001010101017A
+:10C9B000000000020201000000000001000101016E
+:10C9C000010101010101010100000001010101015A
+:10C9D000010101010101010100000001010101014A
+:10C9E000010101010101010000000002000000003E
+:10C9F0000000000000000002020202020202020225
+:10CA0000020202020200000001000202020202020F
+:10CA1000020101020101000001000001000001000B
+:10CA200001010101010101010101000100000201F8
+:10CA300001010101010101000101010101010101E7
+:10CA400001010101010101010101010100010101D7
+:10CA500001010101010101010101010100000101C8
+:10CA600001010101010101000101000001010201B8
+:10CA700000010101010100010100000001010101AB
+:10CA8000010101010101000100010101000001019A
+:10CA9000010101010101010000000100010000018C
+:10CAA0000101020101010101010100010101010176
+:10CAB000000000020201000000000001000101016D
+:10CAC0000101010101010101000000010101010159
+:10CAD0000101010101010101000000010101010149
+:10CAE0000101010101010100000000020202000039
+:10CAF0000000000000000002020202020202020224
+:10CB0000020202020200000001000202020202020E
+:10CB1000020101020101000001000001000001000A
+:10CB200001010101010101010101000101020101F5
+:10CB300001010101010101000101010101010101E6
+:10CB400001010101010101010101010101010101D5
+:10CB500001010101010101010101010100000101C7
+:10CB600001010101010101000101000001010101B8
+:10CB700000010101010100010100000001010101AA
+:10CB80000101010101010101000101010000010198
+:10CB9000010101010101010000010100010000018A
+:10CBA0000101010101010101010100010101010176
+:10CBB000000000020101000000000001000101016D
+:10CBC0000101010101010101000000010101010158
+:10CBD0000101010101010101000000010101010148
+:10CBE0000101010101010100000000020202000038
+:10CBF0000000000000000002020202020202020223
+:10CC0000020202020200000001000202020202020D
+:10CC10000201010201010000010001010100010007
+:10CC200001010101010101010101000101020101F4
+:10CC300001010101010101010101010101010101E4
+:10CC400001010101010101010101010101010101D4
+:10CC500001010101010101010101010100020101C4
+:10CC600001010101010101000101000001010101B7
+:10CC700000010101010100010100000101010101A8
+:10CC80000101010101010101000101010000010197
+:10CC90000101010101010100000101000100000189
+:10CCA0000101010101010101010100010101010175
+:10CCB0000002020101010000000000010001010169
+:10CCC0000101010101010101000000010101010157
+:10CCD0000101010101010101000000010101010147
+:10CCE0000101010101010100000000020202000037
+:10CCF0000000000000000002020202020202020222
+:10CD0000020202020200000102000202020202020A
+:10CD10000201010201010100010001010100010005
+:10CD200001010101010101010101000101020101F3
+:10CD300001010101010101010101010101010101E3
+:10CD400001010101010101010101010101010101D3
+:10CD500001010101010101010101010100020101C3
+:10CD600001010101010101010101010101010101B3
+:10CD700000010101010100010100000101010101A7
+:10CD80000101010101010101000101010000010196
+:10CD90000101010101010100000101000100000188
+:10CDA0000101010101010101010101010101010173
+:10CDB0000002020101010000000000010001010168
+:10CDC0000101010101010101000000010101010156
+:10CDD0000101010101010101000000010101010146
+:10CDE0000101010101010100000000020202000036
+:10CDF0000000000000000002020202020202020221
+:10CE00000202020202000001020002020202020209
+:10CE10000201010201010100010001010100010202
+:10CE200001010101010101010101000101010101F3
+:10CE300001010101010101010101010101010101E2
+:10CE400001010101010101010101010101010101D2
+:10CE500001010101010101010101010101020101C1
+:10CE600001010101010101010101010101010101B2
+:10CE700000010101010101010101000101010101A4
+:10CE80000101010101010101000101010002010193
+:10CE90000101010101010100000101000100000187
+:10CEA0000101010101010101010101010101010172
+:10CEB0000002020101010000000000010001010167
+:10CEC0000101010101010101000000010101010155
+:10CED0000101010101010101000000010101010145
+:10CEE0000101010101010100000000020202000035
+:10CEF0000000000000000002020202020202020220
+:10CF00000202020202000002020002020202020207
+:10CF10000201010201010101010001010100010200
+:10CF200001010101010101010101010101010101F1
+:10CF300001010101010101010101010101010101E1
+:10CF400001010101010101010101010101010101D1
+:10CF500001010101010101010101010101010101C1
+:10CF600001010101010101010101010101010101B1
+:10CF700000010101010101010101000101010101A3
+:10CF80000101010101010101000101010002010192
+:10CF90000101010101010100000101000102000184
+:10CFA0000101010101010101010101010101010171
+:10CFB0000001010101010001000000010001010167
+:10CFC0000101010101010101000000010101010154
+:10CFD0000101010101010101000000010101010144
+:10CFE0000101010101010100000000020202000034
+:10CFF000000000000000000202020202020202021F
+:10D000000202020202000002020002020202020206
+:10D0100002010102010101010101010101000102FE
+:10D0200001010101010101010101010101010101F0
+:10D0300001010101010101010101010101010101E0
+:10D0400001010101010101010101010101010101D0
+:10D0500001010101010101010101010101010101C0
+:10D0600001010101010101010101010101010101B0
+:10D0700000010101010101010101010101010101A1
+:10D080000101010101010101000101010002010191
+:10D090000101010101010100000101000102000183
+:10D0A0000101010101010101010101010101010170
+:10D0B0000001010101010001000000010001010166
+:10D0C0000101010101010101000000010101010153
+:10D0D0000101010101010101000000010101010143
+:10D0E0000101010101010100000000020202000033
+:10D0F000000000000000000202020202020202021E
+:10D100000202020202000002020002020202020205
+:10D1100002010102010201010101010101000101FD
+:10D1200001010101010101010101010101010101EF
+:10D1300001010101010101010101010101010101DF
+:10D1400001010101010101010101010101010101CF
+:10D1500001010101010101010101010101010101BF
+:10D1600001010101010101010101010101010101AF
+:10D17000020101010101010101010101010101019E
+:10D180000101010101010101000101010001010191
+:10D190000101010101010100000101000102000182
+:10D1A000010101010101010101010101010101016F
+:10D1B0000201010101010001000000010001010163
+:10D1C0000101010101010101000000010101010152
+:10D1D0000101010101010101000000010101010142
+:10D1E0000101010101010100000002020202000030
+:10D1F000000000000000000202020202020202021D
+:10D200000202020202000002020202020202020202
+:10D2100002020202020201010101010101000101F9
+:10D2200001010101010101010101010101010101EE
+:10D2300001010101010101010101010101010101DE
+:10D2400001010101010101010101010101010101CE
+:10D2500001010101010101010101010101010101BE
+:10D2600001010101010101010101010101010101AE
+:10D27000020101010101010101010101010101019D
+:10D28000010101010101010101010101000101018F
+:10D290000101010101010100000101000101020180
+:10D2A000010101010101010101010101010101016E
+:10D2B0000201010101010101010000010001010160
+:10D2C0000101010101010101000000010101010151
+:10D2D0000101010101010101010000010101010140
+:10D2E000010101010101010000000202020200002F
+:10D2F000000000000000000202020202020202021C
+:10D300000202020202000002020202020202020201
+:10D3100002020202020201010101010201000101F7
+:10D3200001010101010101010202010201010101EA
+:10D3300001010101010101010102010101010101DC
+:10D3400001010101010101010101010101010101CD
+:10D3500001010101010101010101010101010101BD
+:10D3600001010101010101010101010101010101AD
+:10D37000010101010101010101010101010101019D
+:10D38000010101010101010101010101000101018E
+:10D39000010101010101010001010100010102017E
+:10D3A000010101010101010101010101010101016D
+:10D3B000020101010101010101000001000101015F
+:10D3C0000101010101010101000000010101010150
+:10D3D000010101010101010101000001010101013F
+:10D3E000010101010101010000000202020200002E
+:10D3F000000000000000000202020202020202021B
+:10D400000102020102000002020202020202020202
+:10D4100002020202020201010201010201020101F3
+:10D4200001010101010101010202010201010101E9
+:10D4300001010101010101010102020101020101D9
+:10D4400001010101010101010101010101010101CC
+:10D4500001010101010101010101020101010101BB
+:10D4600001010101010101010201010101010101AB
+:10D47000010101010101010101010101010101019C
+:10D48000010101010101010101010101000101018D
+:10D49000010101010101010101010100010102017C
+:10D4A000010101010101010101010101010101016C
+:10D4B000010101010101010101000001000101015F
+:10D4C000010101010101010100000001010101014F
+:10D4D000010101010101010101000001010101013E
+:10D4E000010101010101010000000202020200002D
+:10D4F000000000000000000202020202020201011C
+:10D500000101010102000002020202020202020203
+:10D5100002020202020201010201010201020101F2
+:10D5200001010101010101010202010201010101E8
+:10D5300001010101010101010202020101020101D7
+:10D5400001010101010101010102020201010101C8
+:10D5500001010101010101010201020201010101B8
+:10D5600001010101010101010201010101010101AA
+:10D57000010101010101010101010101010101019B
+:10D58000010101010101010101020201000101018A
+:10D59000010101010101010101010100010101017C
+:10D5A000010101010101010101010101010101016B
+:10D5B000010101010101010101000001000101015E
+:10D5C000010101010101010200000002010101014C
+:10D5D000010101010101010101000001010101013D
+:10D5E000010101010101010000020202020200002A
+:10D5F000000000000001000202020202010101011C
+:10D600000101010101000002020202020202020203
+:10D6100002020202020202010201010201020101F0
+:10D6200001010101010101010202010201010101E7
+:10D6300001010101010101010202020202020101D4
+:10D6400001010101010101010102020201010101C7
+:10D6500001010101010101010201020201010201B6
+:10D6600001010101010101010201010101010101A9
+:10D670000101010101010101020101010101010199
+:10D680000101010101010101010202010001010189
+:10D69000010101010101010101010100010101017B
+:10D6A0000101010101010102020201010101010167
+:10D6B000010101010101010101000001000101015D
+:10D6C000010101010101010200000002020101014A
+:10D6D000010101010101010201000001010101013B
+:10D6E0000101010101010100000202020202000029
+:10D6F000000000000001000202020201010101011C
+:10D700000101010101000002020202020202020202
+:10D7100002020202020202010201020201010101EF
+:10D7200002020101010101020202010201010101E3
+:10D7300002010101010101010202020202020202D0
+:10D7400002010101010101010202020201010102C3
+:10D7500001010101010101020201020201010201B4
+:10D7600001010101010101010202010102010101A6
+:10D770000101010101010101020101010101010198
+:10D780000101010101010101010202020001010187
+:10D79000010101010101010101010100010101017A
+:10D7A0000101010101010102020201010101010166
+:10D7B000010101010101010101000002000101015B
+:10D7C0000101010101010102000000020201010149
+:10D7D000010101010101010201000001010101013A
+:10D7E0000101010101010100000202020202000028
+:10D7F000000000000001000102010101010101011E
+:10D800000101010101000002020202020202020201
+:10D8100002020202020202010201020201010101EE
+:10D8200002020101010101020202010201010101E2
+:10D8300002010101010101020202020202020202CE
+:10D8400002010102010101020202020201010102C0
+:10D8500001010101010101020202020201010201B2
+:10D8600001010101010101010202010102020101A4
+:10D870000101010101010102020101010101010196
+:10D880000101010101010102010202020001010185
+:10D890000101010101010101010101000201010178
+:10D8A0000101010101010102020201020201010163
+:10D8B000010101010101010101000002000101015A
+:10D8C0000101010101010102000000020201010247
+:10D8D0000101010101010102010000010101010139
+:10D8E0000101010101010100000202020101000029
+:10D8F000000000000001000102010101010101011D
+:10D900000101010101000002020202020202020200
+:10D9100002020202020202010201020202010201EB
+:10D9200002020102020101020202020202010101DD
+:10D9300002010201010101020202020202020202CC
+:10D9400002010102010101020202020201010102BF
+:10D9500001010101010101020202020201010202B0
+:10D96000020202010101010202020201020201019E
+:10D970000101020201010102020101010101010193
+:10D980000101010101010102010202020001010184
+:10D990000101010101010101010102010201010175
+:10D9A0000101010101010102020201020201010261
+:10D9B0000101010101010101010000020001010159
+:10D9C0000101010101010102000000020202010245
+:10D9D0000201010101010102010000020202020133
+:10D9E0000101010101010100000202020101020026
+:10D9F000000000000001000102010101010101011C
+:10DA000001010101010000020202020202020202FF
+:10DA100002020202020202020202020202010201E8
+:10DA200002020102020101020202020202010101DC
+:10DA300002010201010101020202020202020202CB
+:10DA400002010102010101020202020201020202BC
+:10DA500002010202010101020202020201010202AC
+:10DA6000020202020101010202020202020201019B
+:10DA7000010102020101010202010101020202028E
+:10DA8000020202010101010201020202010101017F
+:10DA90000101010101010101010202010201010173
+:10DAA000010101010101010202020102020202025E
+:10DAB0000101010101010101010000020101010157
+:10DAC0000101010101010102000000020202020243
+:10DAD000020202020101010201000002020202022E
+:10DAE0000101010101010100000202010101020026
+:10DAF0000000020001010001020101010101010118
+:10DB000001010102010000020202020202020202FD
+:10DB100002020202020202020202020202010201E7
+:10DB200002020202020201020202020202010202D7
+:10DB300002010201010101020202020202020202CA
+:10DB400002010102010101020202020202020202BA
+:10DB500002010202010101020202020201010202AB
+:10DB6000020202020101010202020202020201019A
+:10DB7000010102020101010202020102020202028B
+:10DB8000020202020201010201020202010101017C
+:10DB90000101010101010101010202010201010172
+:10DBA000010101010101010202020202020202025C
+:10DBB0000101010101010101010000020101010156
+:10DBC0000201010101010102000000020202020241
+:10DBD000020202020201010201000002020202022C
+:10DBE0000202020101010100000202010101020220
+:10DBF0000000020001010001020101010101010117
+:10DC000002020202010000020202020202020202F9
+:10DC100002020202020202020202020202010201E6
+:10DC200002020202020201020202020202010202D6
+:10DC300002020201010201020202020202020202C7
+:10DC400002010102010101020202020202020202B9
+:10DC500002010202010101020202020202010202A9
+:10DC60000202020201010102020202020202010199
+:10DC70000102020201020102020202020202020287
+:10DC8000020202020201010201020202010101017B
+:10DC90000101010101010101010202010201010171
+:10DCA000010101010101010202020202020202025B
+:10DCB0000101010101010101010000020101010155
+:10DCC0000201010101010102000000020202020240
+:10DCD0000202020202020202010000020202020229
+:10DCE000020202020101010000020201010102021E
+:10DCF0000000020001010001010101010101020215
+:10DD000002020202020000020202020202020202F7
+:10DD100002020202020202020202020202010201E5
+:10DD200002020202020201020202020202010202D5
+:10DD300002020202020202020202020202020202C3
+:10DD400002020202010201020202020202020202B5
+:10DD500002010202010101020202020202010202A8
+:10DD60000202020202020102020202020202020294
+:10DD70000102020202020102020202020202020285
+:10DD8000020202020201010201020202010101017A
+:10DD9000020101010101010101020201020101016F
+:10DDA000010101010101010202020202020202025A
+:10DDB0000101010101010102010000020102010251
+:10DDC000020101010201010201000002020202023D
+:10DDD0000202020202020202010000020202020228
+:10DDE000020202020202010000020201010102021B
+:10DDF000000201020101000101010101020202020F
+:10DE000002020202020000020202020202020202F6
+:10DE100002020202020202020202020202010201E4
+:10DE200002020202020201020202020202020202D3
+:10DE300002020202020202020202020202020202C2
+:10DE400002020202020202020202020202020202B2
+:10DE500002020202010101020202020202010202A6
+:10DE60000202020202020202020202020202020292
+:10DE70000102020202020102020202020202020284
+:10DE80000202020202010102020202020101020276
+:10DE9000020202010102010101020201020101026A
+:10DEA0000101010101010102020202020202020259
+:10DEB000010101010101010201000002010202024F
+:10DEC000020101010202010201000002020202023B
+:10DED0000202020202020202020000020202020226
+:10DEE0000202020202020100010202010101020219
+:10DEF000000201010101000101010102020202020E
+:10DF000002020202020000020202020202020202F5
+:10DF100002020202020202020202020202010201E3
+:10DF200002020202020202020202020202020202D1
+:10DF300002020202020202020202020202020202C1
+:10DF400002020202020202020202020202020202B1
+:10DF500002020202020201020202020202020202A2
+:10DF60000202020202020202020202020202020291
+:10DF70000102020202020102020202020202020283
+:10DF80000202020202020102020202020101020274
+:10DF90000202020202020102020202010201010265
+:10DFA0000202010201020102020202020202020254
+:10DFB000010101010101010202000002010202024D
+:10DFC0000202020202020102010000020202020237
+:10DFD0000202020202020202020000020202020225
+:10DFE0000202020202020200010202010101020217
+:10DFF0000201010101010002010202020202020209
+:10E0000002020202020000020202020202020202F4
+:10E0100002020201020202020202020202010201E3
+:10E0200002020202020202020202020202020202D0
+:10E0300002020202020202020202020202020202C0
+:10E0400002020202020202020202020202020202B0
+:10E0500002020202020202020202020202020202A0
+:10E060000202020202020202020202020202020290
+:10E070000102020202020102020202020202020282
+:10E080000202020202020102020202020101020273
+:10E090000202020202020202020202010201010263
+:10E0A0000202020202020102020202020202020251
+:10E0B000010101010101010202000002010202024C
+:10E0C0000202020202020202010000020202020235
+:10E0D0000202020202020202020000020202020224
+:10E0E0000202020202020200010201010101020217
+:10E0F0000201010101010002010202020202020208
+:10E1000002020202020000020202020200020002F7
+:10E1100002020201020202020202020202010202E1
+:10E1200002020202020202020202020202020202CF
+:10E1300002020202020202020202020202020202BF
+:10E1400002020202020202020202020202020202AF
+:10E15000020202020202020202020202020202029F
+:10E16000020202020202020202020202020202028F
+:10E170000102020202020102020202020202020281
+:10E180000202020202020202020202020102020270
+:10E190000202020202020202020202010201010262
+:10E1A000020202020202020202020202020202024F
+:10E1B000010101010101010202000002010202024B
+:10E1C0000202020202020202010000020202020234
+:10E1D0000202020202020202020000020202020223
+:10E1E0000202020202020200010201010101010217
+:10E1F0000201010100010002010202020202020208
+:10E2000002020201020000020202020200010001F9
+:10E2100001020201020202020202020202010202E1
+:10E2200002020202020202020202020202020202CE
+:10E2300002020202020202020202020202020202BE
+:10E2400002020202020202020202020202020202AE
+:10E25000020202020202020202020202020202029E
+:10E26000020202020202020202020202020202028E
+:10E27000010202020202020202020202020202027F
+:10E28000020202020202020202020202010202026F
+:10E290000202020202020202020202010202010260
+:10E2A000020202020202020202020202020202024E
+:10E2B0000101010202020102020000020102020247
+:10E2C0000202020202020202020000020202020232
+:10E2D0000202020202020202020000020202020222
+:10E2E0000202020202020200010101010101010118
+:10E2F0000101010100000002020202020202020208
+:10E3000002010101020000020202010200010001FB
+:10E3100001020201020202020202020202020202DF
+:10E3200002020202020202020202020202020202CD
+:10E3300002020202020202020202020202020202BD
+:10E3400002020202020202020202020202020202AD
+:10E35000020202020202020202020202020202029D
+:10E36000020202020202020202020202020202028D
+:10E37000020202020202020202020202020202027D
+:10E38000020202020202020202020202010202026E
+:10E39000020202020202020202020202020201025E
+:10E3A000020202020202020202020202020202024D
+:10E3B0000102020202020102020000020102020244
+:10E3C0000202020202020202020100020202020230
+:10E3D0000202020202020202020000020202020221
+:10E3E0000202020202020200010101010101010117
+:10E3F0000101010100000002020202020202020207
+:10E4000001010101010000020202010201010001FB
+:10E4100001020201020202020202020202020202DE
+:10E4200002020202020202020202020202020202CC
+:10E4300002020202020202020202020202020202BC
+:10E4400002020202020202020202020202020202AC
+:10E45000020202020202020202020202020202029C
+:10E46000020202020202020202020202020202028C
+:10E47000020202020202020202020202020202027C
+:10E48000020202020202020202020202020202026C
+:10E49000020202020202020202020202020202025C
+:10E4A000020202020202020202020202020202024C
+:10E4B0000102020202020102020100020102020242
+:10E4C000020202020202020202010002020202022F
+:10E4D0000202020202020202020000020202020220
+:10E4E0000202020202020200020101010101010115
+:10E4F0000101010000000002020202020202010109
+:10E5000001010101010000020202010201010101F9
+:10E5100001020201020202020202020202020202DD
+:10E5200002020202020202020202020202020202CB
+:10E5300002020202020202020202020202020202BB
+:10E5400002020202020202020202020202020202AB
+:10E55000020202020202020202020202020202029B
+:10E56000020202020202020202020202020202028B
+:10E57000020202020202020202020202020202027B
+:10E58000020202020202020202020202020202026B
+:10E59000020202020202020202020202020202025B
+:10E5A000020202020202020202020202020202024B
+:10E5B000020202020202020202010002020202023E
+:10E5C000020202020202020202020002020202022D
+:10E5D000020202020202020202000002020202021F
+:10E5E0000202020202020200020101010101010114
+:10E5F000010001000000000202020202010101010B
+:10E6000001010101010000020202010201010101F8
+:10E6100001020201020202020202020202020202DC
+:10E6200002020202020202020202020202020202CA
+:10E6300002020202020202020202020202020202BA
+:10E6400002020202020202020202020202020202AA
+:10E65000020202020202020202020202020202029A
+:10E66000020202020202020202020202020202028A
+:10E67000020202020202020202020202020202027A
+:10E68000020202020202020202020202020202026A
+:10E69000020202020202020202020202020202025A
+:10E6A000020202020202020202020202020202024A
+:10E6B000020202020202020202010102020202023C
+:10E6C000020202020202020202020002020202022C
+:10E6D000020202020202020202010002020202021D
+:10E6E0000202020202020200020101010000010115
+:10E6F000010000000000000202020201010101010C
+:10E7000001010101010000020202010101010101F8
+:10E7100001020201020202020202020202020202DB
+:10E7200002020202020202020202020202020202C9
+:10E7300002020202020202020202020202020202B9
+:10E7400002020202020202020202020202020202A9
+:10E750000202020202020202020202020202020299
+:10E760000202020202020202020202020202020289
+:10E770000202020202020202020202020202020279
+:10E780000202020202020202020202020202020269
+:10E790000202020202020202020202020202020259
+:10E7A0000202020202020202020202020202020249
+:10E7B000020202020202020202010102020202023B
+:10E7C0000202020202020202020202020202020229
+:10E7D000020202020202020202010002020202021C
+:10E7E0000202020202020200020101010000010114
+:10E7F000000000000000010102010101010101010E
+:10E8000001010101010000020202010101010101F7
+:10E8100001020201020202020202020202020202DA
+:10E8200002020202020202020202020202020202C8
+:10E8300002020202020202020202020202020202B8
+:10E8400002020202020202020202020202020202A8
+:10E850000202020202020202020202020202020298
+:10E860000202020202020202020202020202020288
+:10E870000202020202020202020202020202020278
+:10E880000202020202020202020202020202020268
+:10E890000202020202020202020202020202020258
+:10E8A0000202020202020202020202020202020248
+:10E8B0000202020202020202020201020202020239
+:10E8C0000202020202020202020202020202020228
+:10E8D0000202020202020202020201020202020219
+:10E8E0000202020202020200020101010000010113
+:10E8F000000000000000010101010101010101010E
+:10E9000001010101010000020202010101010101F6
+:10E9100001020201020102020202020202020202DA
+:10E9200002020202020202020202020202020202C7
+:10E9300002020202020202020202020202020202B7
+:10E9400002020202020202020202020202020202A7
+:10E950000202020202020202020202020202020297
+:10E960000202020202020202020202020202020287
+:10E970000202020202020202020202020202020277
+:10E980000202020202020202020202020202020267
+:10E990000202020202020202020202020202020257
+:10E9A0000202020202020202020202020202020247
+:10E9B0000202020202020202020202020202020237
+:10E9C0000202020202020202020202020202020227
+:10E9D0000202020202020202020202020202020217
+:10E9E0000202020202020200020101010000000113
+:10E9F000000000000000010101010101010101010D
+:10EA000001010101010000010201010101010101F7
+:10EA100001010101010101020202020202020202DD
+:10EA200002020202020202020202020202020202C6
+:10EA300002020202020202020202020202020202B6
+:10EA400002020202020202020202020202020202A6
+:10EA50000202020202020202020202020202020296
+:10EA60000202020202020202020202020202020286
+:10EA70000202020202020202020202020202020276
+:10EA80000202020202020202020202020202020266
+:10EA90000202020202020202020202020202020256
+:10EAA0000202020202020202020202020202020246
+:10EAB0000202020202020202020202020202020236
+:10EAC0000202020202020202020202020202020226
+:10EAD0000202020202020202020202020202020216
+:10EAE0000202020202020200020101010000000013
+:10EAF000000000000000010101010101010101010C
+:10EB000001010101010000010101010101010101F7
+:10EB100001010101010101020202020202020202DC
+:10EB200002020202020202020202020202020202C5
+:10EB300002020202020202020202020202020202B5
+:10EB400002020202020202020202020202020202A5
+:10EB50000202020202020202020202020202020295
+:10EB60000202020202020202020202020202020285
+:10EB70000202020202020202020202020202020275
+:10EB80000202020202020202020202020202020265
+:10EB90000202020202020202020202020202020255
+:10EBA0000202020202020202020202020202020245
+:10EBB0000202020202020202020202020202020235
+:10EBC0000202020202020202020202020202020225
+:10EBD0000202020202020202020202020202020215
+:10EBE0000202020202020200020101010000000012
+:10EBF000000000000000010101010101010101010B
+:10EC000001010101010200010101010101010101F4
+:10EC100001010101010101020202020202020202DB
+:10EC200002020202020202020202020202020202C4
+:10EC300002020202020202020202020202020202B4
+:10EC400002020202020202020202020202020202A4
+:10EC50000202020202020202020202020202020294
+:10EC60000202020202020202020202020202020284
+:10EC70000202020202020202020202020202020274
+:10EC80000202020202020202020202020202020264
+:10EC90000202020202020202020202020202020254
+:10ECA0000202020202020202020202020202020244
+:10ECB0000202020202020202020202020202020234
+:10ECC0000202020202020202020202020202020224
+:10ECD0000202020202020202020202020202020214
+:10ECE0000202020202020200020101010000000011
+:10ECF000000000000000010101010101010101010A
+:10ED000001010101010200010101010101010101F3
+:10ED100001010101010101020202020202020202DA
+:10ED200002020202020202020202020202020202C3
+:10ED300002020202020202020202020202020202B3
+:10ED400002020202020202020202020202020202A3
+:10ED50000202020202020202020202020202020293
+:10ED60000202020202020202020202020202020283
+:10ED70000202020202020202020202020202020273
+:10ED80000202020202020202020202020202020263
+:10ED90000202020202020202020202020202020253
+:10EDA0000202020202020202020202020202020243
+:10EDB0000202020202020202020202020202020233
+:10EDC0000202020202020202020202020202020223
+:10EDD0000202020202020202020202020202020213
+:10EDE0000202020202020200020101010000000010
+:10EDF0000000000000000101010101010101010109
+:10EE000001010101010100010101010101010101F3
+:10EE100001010101010101020202020202020202D9
+:10EE200002020202020202020202020202020202C2
+:10EE300002020202020202020202020202020202B2
+:10EE400002020202020202020202020202020202A2
+:10EE50000202020202020202020202020202020292
+:10EE60000202020202020202020202020202020282
+:10EE70000202020202020202020202020202020272
+:10EE80000202020202020202020202020202020262
+:10EE90000202020202020202020202020202020252
+:10EEA0000202020202020202020202020202020242
+:10EEB0000202020202020202020202020202020232
+:10EEC0000202020202020202020202020202020222
+:10EED0000202020202020202020202020202020212
+:10EEE0000202020202020200000101010000000011
+:10EEF0000000000000000101010101010101010108
+:10EF000001010101010100010101010101010101F2
+:10EF100001010101010101020202020202020202D8
+:10EF200002020202020202020202020202020202C1
+:10EF300002020202020202020201020202020202B2
+:10EF400002020202020202020202020202020202A1
+:10EF50000202020202020202020202020202020291
+:10EF60000202020202020202020202020202020281
+:10EF70000202020202020202020202020202020271
+:10EF80000202020202020202020202020202020261
+:10EF90000202020202020202020202020202020251
+:10EFA0000202020202020202020202020202020241
+:10EFB0000202020202020202020202020202020231
+:10EFC0000202020202020202020202020202020221
+:10EFD0000202020202020202020202020202020211
+:10EFE000020202020202020000020200000000000F
+:10EFF0000000000000000101010101010101010107
+:10F0000001010000010100010101010101010101F3
+:10F0100001010101010101020202020202020202D7
+:10F0200002020202020202020202020202020202C0
+:10F0300002020202020202020202020202020202B0
+:10F0400002020202020202020202020202020202A0
+:10F050000202020202020202020202020202020290
+:10F060000202020202020202020202020202020280
+:10F070000202020202020202020202020202020270
+:10F080000202020202020202020202020202020260
+:10F090000202020202020202020202020202020250
+:10F0A0000202020202020202020202020202020240
+:10F0B0000202020202020202020202020202020230
+:10F0C0000202020202020202020202020202020220
+:10F0D0000202020202020202020202020202020210
+:10F0E000020202020202020200020200000000000C
+:10F0F0000000000000000001010101010101000009
+:10F1000000000000010100010101010101010101F4
+:10F1100001010101010101020202020102020202D7
+:10F1200002020202020202020201020102020202C1
+:10F1300002020202020202020200010202010202B3
+:10F14000020202020202020202020202020202029F
+:10F15000020202020202020202020202020202028F
+:10F16000020202020202020202020202020202027F
+:10F17000020202020202020202020202020202026F
+:10F18000020202020202020202020202020202025F
+:10F19000020202020202020202020202020202024F
+:10F1A000020202020202020202020202020202023F
+:10F1B000020202020202020202020202020202022F
+:10F1C000020202020202020202020202020202021F
+:10F1D000020202020202020202020202020202020F
+:10F1E000020202020202020200020200000000000B
+:10F1F000000000000002000001010100000000000A
+:10F2000000000000010100010101010101010101F3
+:10F2100001010101010101020202010101020202D8
+:10F2200001010202020202020101010101020202C5
+:10F2300001020202020202020200010101010101B7
+:10F2400001020201020202020202020202020202A0
+:10F25000020202020202020202020202020202028E
+:10F26000020202020202020202020202020202027E
+:10F27000020202020202020202020202020202026E
+:10F28000020202020202020202020202020202025E
+:10F29000020202020202020202020202020202024E
+:10F2A000020202020202020202020202020202023E
+:10F2B000020202020202020202020202020202022E
+:10F2C0000202020202020202020202010102020220
+:10F2D000020202020202020202020202020202020E
+:10F2E000020202020202020200020200000000000A
+:10F2F000000000000002000001000000000000000B
+:10F3000000000000000100010101010101010101F3
+:10F3100001010101010101020101010101020102DA
+:10F3200001010201010202010101010101020101C9
+:10F3300001020102020202010100010101010101B9
+:10F34000010202010202020202020202020202029F
+:10F35000020202020202020202020202020202028D
+:10F36000020202020202020202020202020202027D
+:10F37000020202020202020202020202020202026D
+:10F38000020202020202020202020202020202025D
+:10F39000020202020202020202020202020202024D
+:10F3A000020202020202020202020202020202023D
+:10F3B000020202020202020202020202020202022D
+:10F3C000020202020202020202020201010202021F
+:10F3D000020202020202020202020202020202020D
+:10F3E0000202020202020202020202020000000005
+:10F3F000000000000002000001000000000000000A
+:10F4000000000000000100010101010101010101F2
+:10F4100001010101010101010101010101020102DA
+:10F4200001010101010102010101010101010101CB
+:10F4300001010101010101010101010101010101BC
+:10F4400001010101010101020201010102020201A7
+:10F45000020202020202020202020101020201028F
+:10F460000202020202020200010101010101020284
+:10F47000020201010202020202020202020202026E
+:10F48000020202020202020202020202020202025C
+:10F49000020202020202020202020202020202024C
+:10F4A000020202020202020202020202020202023C
+:10F4B000020202020202020202020202020202022C
+:10F4C0000202020202020201010101010101010125
+:10F4D0000101010101010102020202020202020213
+:10F4E0000202020202020202020202020000000004
+:10F4F0000000020000020000010000000000000007
+:10F5000000000000010100010101010101010101F0
+:10F5100001010101010101010101010101010101DB
+:10F5200001010101010101010101010101010101CB
+:10F5300001010101010101010101010101010101BB
+:10F5400001010101010101010101010101010101AB
+:10F550000102010102020201010101010102010196
+:10F560000101010102020201010101010101010188
+:10F570000201010101010202020202020202020270
+:10F58000020202020202020202020202020202025B
+:10F59000020202020202020202020202020202024B
+:10F5A000020202020202020202020202020202023B
+:10F5B000020202020202020202020202020202022B
+:10F5C0000202020202020201010101020201010122
+:10F5D0000101010101010102020202020202020212
+:10F5E00002020202020202020202020202020000FF
+:10F5F0000000020002020200000000000000000003
+:10F6000000000000010000010101010101010101F0
+:10F6100001010101010101010101010101010101DA
+:10F6200001010101010101010101010101010101CA
+:10F6300001010101010101010101010101010101BA
+:10F6400001010101010101010101010101010101AA
+:10F65000010101010101010101010101010101019A
+:10F66000010101010101010101010101010101018A
+:10F67000010101010101010101010101010101017A
+:10F680000101010101020200020202020202020261
+:10F69000020202020202020202020202020202024A
+:10F6A000020202020202020202020202020202023A
+:10F6B000020202020202020202020202020202022A
+:10F6C000020202020202020202020202020202021A
+:10F6D000020202020202020202020202020202020A
+:10F6E00002020202020202020202020202020202FA
+:10F6F00000020202020202000000000000000000FE
+:10F7000000010101010001010101010101010101EB
+:10F7100001010101010101010101010101010101D9
+:10F7200001010101010101010101010101010101C9
+:10F7300001010101010101010101010101010101B9
+:10F7400001010101010101010101010101010101A9
+:10F750000101010101010101010101010101010199
+:10F760000101010101010101010101010101010189
+:10F770000101010101010101010101010101010179
+:10F780000101010101010100020101010202020265
+:10F79000020202020202020202010102010202024C
+:10F7A0000202020202020202020202020202020239
+:10F7B0000202020202020202020202020202020229
+:10F7C0000202020202020202020202020202020219
+:10F7D0000202020202020202020202020202020209
+:10F7E00002020202020202020202020202020202F9
+:10F7F00002020202020202000100000000000001F9
+:10F8000001010101010001010101010101010101E9
+:10F8100001010101010101010101010101010101D8
+:10F8200001010101010101010101010101010101C8
+:10F8300001010101010101010101010101010101B8
+:10F8400001010101010101010101010101010101A8
+:10F850000101010101010101010101010101010198
+:10F860000101010101010101010101010101010188
+:10F870000101010101010101010101010101010178
+:10F880000101010101010101010101010101010168
+:10F89000010101010101010202020202020202024F
+:10F8A0000202020202020201010101010101010141
+:10F8B0000202020202020202020202010202020229
+:10F8C000020202020202020000000000000000002A
+:10F8D000000000000000000101010101010101011F
+:10F8E00001010101010101020202020202020202FF
+:10F8F00002020202020202000100000101010101F4
+:10F9000001010101010001010101010101010101E8
+:10F9100001010101010101010101010101010101D7
+:10F9200001010101010101010101010101010101C7
+:10F9300001010101010101010101010101010101B7
+:10F9400001010101010101010101010101010101A7
+:10F950000101010101010101010101010101010197
+:10F960000101010101010101010101010101010187
+:10F970000101010101010101010101010101010177
+:10F980000101010101010101010101010101010167
+:10F990000101010101010101010101010101010157
+:10F9A0000101010101010101010101010101010147
+:10F9B000010101010101010202020202020202022E
+:10F9C0000202020202020200000000000000000029
+:10F9D0000000000000000002020202020202020215
+:10F9E00002020202020202020202020202020202F7
+:10F9F00002020202020202010101010101010101F0
+:10FA000001010101010001010101010101010101E7
+:10FA100001010101010101010101010101010101D6
+:10FA200001010101010101010101010101010101C6
+:10FA300001010101010101010101010101010101B6
+:10FA400001010101010101010101010101010101A6
+:10FA50000101010101010101010101010101010196
+:10FA60000101010101010101010101010101010186
+:10FA70000101010101010101010101010101010176
+:10FA80000101010101010101010101010101010166
+:10FA90000101010101010101010101010101010156
+:10FAA0000101010101010101010101010101010146
+:10FAB0000101010101010101010101010101010136
+:10FAC000010101010101010000000000000000002F
+:10FAD0000000000000000000000000000000000026
+:10FAE0000000000000000002020202020202020204
+:10FAF00002020202020202010101010101010101EF
+:10FB000001010101010001010101010101010101E6
+:10FB100001010101010101010101010101010101D5
+:10FB200001010101010101010101010101010101C5
+:10FB300001010101010101010101010101010101B5
+:10FB400001010101010101010101010101010101A5
+:10FB50000101010101010101010101010101010195
+:10FB60000101010101010101010101010101010185
+:10FB70000101010101010101010101010101010175
+:10FB80000101010101010101010101010101010165
+:10FB90000101010101010101010101010101010155
+:10FBA0000101010101010101010101010101010145
+:10FBB0000101010101010101010101010101010135
+:10FBC0000101010101010101010101010101010125
+:10FBD000010101010101010000000000000000001E
+:10FBE0000000000000000002020202020202020203
+:10FBF00002020202020202010101010101010101EE
+:10FC000001010101010001010101010101010101E5
+:10FC100001010101010101010101010101010101D4
+:10FC200001010101010101010101010101010101C4
+:10FC300001010101010101010101010101010101B4
+:10FC400001010101010101010101010101010101A4
+:10FC50000101010101010101010101010101010194
+:10FC60000101010101010101010101010101010184
+:10FC70000101010101010101010101010101010174
+:10FC80000101010101010101010101010101010164
+:10FC90000101010101010101010101010101010154
+:10FCA0000101010101010101010101010101010144
+:10FCB0000101010101010101010101010101010134
+:10FCC0000101010101010101010101010101010124
+:10FCD0000101010101010101010101010101010114
+:10FCE00001010101010101020202020202020202FB
+:10FCF00002020202020202010101010101010101ED
+:10FD000001010101010101010101010101010101E3
+:10FD100001010101010101010101010101010101D3
+:10FD200001010101010101010101010101010101C3
+:10FD300001010101010101010101010101010101B3
+:10FD400001010101010101010101010101010101A3
+:10FD50000101010101010101010101010101010193
+:10FD60000101010101010101010101010101010183
+:10FD70000101010101010101010101010101010173
+:10FD80000101010101010101010101010101010163
+:10FD90000101010101010101010101010101010153
+:10FDA0000101010101010101010101010101010143
+:10FDB0000101010101010101010101010101010133
+:10FDC0000101010101010101010101010101010123
+:10FDD0000101010101010101010101010101010113
+:10FDE00001010101010101020101010202020202FD
+:10FDF00002020202020202010101010101010101EC
+:10FE000001010101010101010101010101010101E2
+:10FE100001010101010101010101010101010101D2
+:10FE200001010101010101010101010101010101C2
+:10FE300001010101010101010101010101010101B2
+:10FE400001010101010101010101010101010101A2
+:10FE50000101010101010101010101010101010192
+:10FE60000101010101010101010101010101010182
+:10FE70000101010101010101010101010101010172
+:10FE80000101010101010101010101010101010162
+:10FE90000101010101010101010101010101010152
+:10FEA0000101010101010101010101010101010142
+:10FEB0000101010101010101010101010101010132
+:10FEC0000101010101010101010101010101010122
+:10FED0000101010101010101010101010101010112
+:10FEE000010101010101010000000000000000000B
+:10FEF00000000000000000010101010101010101F9
+:10FF000001010101010101010101010101010101E1
+:10FF100001010101010101010101010101010101D1
+:10FF200001010101010101010101010101010101C1
+:10FF300001010101010101010101010101010101B1
+:10FF400001010101010101010101010101010101A1
+:10FF50000101010101010101010101010101010191
+:10FF60000101010101010101010101010101010181
+:10FF70000101010101010101010101010101010171
+:10FF80000101010101010101010101010101010161
+:10FF90000101010101010101010101010101010151
+:10FFA0000101010101010101010101010101010141
+:10FFB0000101010101010101010101010101010131
+:10FFC0000101010101010101010101010101010121
+:10FFD0000101010101010101010101010101010111
+:10FFE000010101010101010000000000000000000A
+:10FFF00000000000000000010101010101010101F8
+:02000002A0005C
+:1000000001010101010101010101010101010101E0
+:1000100001010101010101010101010101010101D0
+:1000200001010101010101010101010101010101C0
+:1000300001010101010101000000000000000000B9
+:1000400000000000000000000000000000000000B0
+:100050000000000000000001010101010101010197
+:100060000101010101010100000000000000000089
+:100070000000000000000000000000000000000080
+:100080000000000000000000000000000000000070
+:100090000000000000000000000000000000000060
+:1000A0000000000000000001010101010101010147
+:1000B0000101010101010101010101010101010130
+:1000C0000101010101010100000000000000000029
+:1000D0000000000000000000000000000000000020
+:1000E0000000000000000000000000000000000010
+:1000F00000000000000000010101010101010101F7
+:1001000001010101010101010101010101010101DF
+:1001100001010101010101010101010101010101CF
+:1001200001010101010101010101010101010101BF
+:1001300001010101010101000000000000000000B8
+:1001400000000000000000000000000000000000AF
+:100150000000000000000001010101010101010196
+:100160000101010101010100000000000000000088
+:10017000000000000000000000000000000000007F
+:10018000000000000000000202020202020202025D
+:100190000202020202020200000000000000000051
+:1001A000000000000000000000000000000000004F
+:1001B000000000000000000202020202020202022D
+:1001C0000202020202020200000000000000000021
+:1001D000000000000000000000000000000000001F
+:1001E000000000000000000000000000000000000F
+:1001F00000000000000000010101010101010101F6
+:1002000001010101010101000000000000000000E7
+:1002100000000000000000000000000000000000DE
+:1002200000000000000000020202020202020202BC
+:10023000020202020202020202020202020202029E
+:10024000020202020202020202020202020202028E
+:10025000020202020202020202020202020202027E
+:10026000020202020202020202020202020202026E
+:10027000020202020202020202020202020202025E
+:10028000020202020202020202020202020202024E
+:10029000020202020202020202020202020202023E
+:1002A000020202020202020202020202020202022E
+:1002B000020202020202020202020202020202021E
+:1002C000020202020202020202020202020202020E
+:1002D00002020202020202020202020202020202FE
+:1002E0000202020202020200000000000000000000
+:1002F00000000000000000010101010101010101F5
+:1003000001010101010101000000000000000000E6
+:1003100000000000000000000000000000000000DD
+:1003200000000000000000000000000000000000CD
+:1003300000000000000000000000000000000000BD
+:1003400000000000000000000000000000000000AD
+:10035000000000000000000202020202020202028B
+:10036000020202020202020202020202020202026D
+:10037000020202020202020202020202020202025D
+:10038000020202020202020000000000000000005F
+:10039000000000000000000202020202020202024B
+:1003A000020202020202020202020202020202022D
+:1003B000020202020202020202020202020202021D
+:1003C000020202020202020202020202020202020D
+:1003D00002020202020202020202020202020202FD
+:1003E00002020202020202000000000000000000FF
+:1003F00000000000000000010101010101010101F4
+:1004000001010101010101000000000000000000E5
+:1004100000000000000000000000000000000000DC
+:1004200000000000000000000000000000000000CC
+:1004300000000000000000000000000000000000BC
+:1004400000000000000000000000000000000000AC
+:10045000000000000000000000000000000000009C
+:10046000000000000000000000000000000000008C
+:10047000000000000000000000000000000000007C
+:10048000000000000000000000000000000000006C
+:10049000000000000000000000000000000000005C
+:1004A000000000000000000202020202020202023A
+:1004B000020202020202020000000000000000002E
+:1004C000000000000000000202020202020202021A
+:1004D00002020202020202020202020202020202FC
+:1004E00002020202020202000000000000000000FE
+:1004F00000000000000000000000000000000000FC
+:1005000000000000000000000000000000000000EB
+:1005100000000000000000000000000000000000DB
+:1005200000000000000000000000000000000000CB
+:1005300000000000000000000000000000000000BB
+:1005400000000000000000000000000000000000AB
+:10055000000000000000000000000000000000009B
+:10056000000000000000000000000000000000008B
+:10057000000000000000000000000000000000007B
+:10058000000000000000000000000000000000006B
+:10059000000000000000000000000000000000005B
+:1005A000000000000000000000000000000000004B
+:1005B000000000000000000000000000000000003B
+:1005C000000000000000000000000000000000002B
+:1005D000000000000000000000000000000000001B
+:1005E000000000000000000000000000000000000B
+:1005F00000000000000000440000000000000000B7
+:1006000000000000000000000000000000000000EA
+:1006100000000000000000000000000000000000DA
+:1006200000000000000000000000000000000000CA
+:1006300000000000000000000000000000000000BA
+:1006400000000000000000000000000000000000AA
+:10065000000000000000000000000000000000009A
+:10066000000000000000000000000000000000008A
+:10067000000000000000000000000000000000007A
+:10068000000000000000000000000000000000006A
+:100690000000000000000000000000000002000058
+:1006A000000000000000000000000000000000004A
+:1006B000000000000000000000000000000000003A
+:1006C000000000000000000000000000000000002A
+:1006D000000000000000000000000000000000001A
+:1006E000000000000000000000000000000000000A
+:1006F00002000000000000000000000000000002F6
+:1007000002020202020202020002020200000000D3
+:1007100000000001000000010000000000000000D7
+:1007200001000000000000000001000000010000C6
+:1007300000000000000000000200000001000000B6
+:1007400000010000010000000100000001000000A5
+:100750000001010000000000020000000000000095
+:100760000000000000010000000200020002000082
+:100770000001000000000000000000000100000176
+:100780000100000000010000000200000001000064
+:100790000000000001000000000000000202000153
+:1007A0000000000000000000000000020002000045
+:1007B0000000000000000000000000000000000039
+:1007C0000000000000000000000000000002000027
+:1007D0000000000000000000000202010001000013
+:1007E0000001010000000001010000000100000004
+:1007F00002020200000000000000000000000002F1
+:1008000002020202020202020202020202020000CC
+:1008100000000001010202010002020200010000CA
+:1008200001000101010000000101000000010000C1
+:1008300000000000000100000201010201010000AF
+:10084000010100000101010001010102010100009C
+:10085000000101000001000002020201000100008D
+:10086000000000000001000102020002020200017B
+:10087000010100000000000000010102010200016E
+:10088000010000010101000202020000010100005C
+:10089000000000000100000000020002020200014E
+:1008A0000000010100000000000000020202000040
+:1008B0000000000001000001000000000000000036
+:1008C0000000000000000000000000000002000026
+:1008D000000001000000000201010101010100000F
+:1008E00000010100000101010101010101010000FD
+:1008F00002020200000000000000000000000002F0
+:1009000002020202020202020202020202020000CB
+:1009100000000001010202010002020202010001C6
+:1009200001000101010000000101020100010100BC
+:1009300000000000000100000201010101010000AF
+:10094000010100010101010101010101010100009A
+:100950000001010001010001020202010101000089
+:100960000000000000010101020202020201000178
+:10097000010101000000000001010102010100016C
+:100980000100000101010202020202010101010055
+:10099000000000000100000002020002020100014C
+:1009A000010001010000000000020002020200013B
+:1009B0000000000001000001000000000000000035
+:1009C0000000000000000000000000020002000023
+:1009D000000001000000000201010101010100000E
+:1009E00000010100000101010101010101010000FC
+:1009F00002020200000000000000000000000002EF
+:100A000002020202020202020202020202020000CA
+:100A100001000001010202010002020201010001C5
+:100A200001000101010000000101010101010101BA
+:100A300000000000000100000101010101010100AE
+:100A40000101000101010101010101010101010098
+:100A50000001010001010101010101010101010089
+:100A60000000000001010101020102010101000179
+:100A7000010101000000000001010102010100016B
+:100A80000101010101010202010101010101010055
+:100A9000000000000100000002020202010100014A
+:100AA000010001010100000000020001020100013B
+:100AB0000000000101000001000000000000000033
+:100AC0000000000000000000000000020201000021
+:100AD000000001000000000101010101010100000E
+:100AE00000010100000101010101010101010000FB
+:100AF00002020200000000000000000000000002EE
+:100B000002020202020202020202020202020000C9
+:100B100001000001010101010001010101010001C9
+:100B200001000101010000000101010101010101B9
+:100B300000010001000100000101010101010100AB
+:100B40000101000101010101010101010101010097
+:100B50000001010001010101010101010101010088
+:100B60000000000001010101010102010101000179
+:100B7000010101000000000001010101010100016B
+:100B80000101010101010201010101010101010055
+:100B9000000000010100000002010201010100014A
+:100BA0000100010101000000000202010101000139
+:100BB000000000010100000100000002000200002E
+:100BC000000000000000000000020202020100001C
+:100BD000000001000002000101010101010101000A
+:100BE00000010101000101010101010101010000F9
+:100BF00002020200000000000000000000000002ED
+:100C000002020202020202020202020202020000C8
+:100C100001000001010101010001010101010001C8
+:100C200001000101010000000101010101010101B8
+:100C300001010001000102000101010101010100A7
+:100C40000101000101010101010101010101010195
+:100C50000101010001010101010101010101010086
+:100C60000000000001010101010101010101000179
+:100C7000010101000000000001010101010100016A
+:100C80000101010101010101010101010101010055
+:100C90000100000101000000010102010101000149
+:100CA0000101010101000000020102010101000136
+:100CB000000000010100000100000002020200002B
+:100CC000000000000000000000020201010100001D
+:100CD0000000010000020001010101010101010009
+:100CE00000010101000101010101010101010100F7
+:100CF00002020200000000000000000000000002EC
+:100D000002020202020202020202020202020000C7
+:100D100001010001010101010001010101010001C6
+:100D200001000101010002000101010101010101B5
+:100D300001010001000102020101010101010100A4
+:100D40000101000101010101010101010101010194
+:100D50000101010101010101010101010101010084
+:100D60000000000001010101010101010101010177
+:100D70000101010001000000010101010101000168
+:100D80000101010101010101010101010101010054
+:100D90000101010101000002010101010101000145
+:100DA0000101010101000000020102010101000135
+:100DB0000000000101000101000000020202000029
+:100DC000000000000000000000020201010100001C
+:100DD0000000010000010201010101010101010007
+:100DE00000010101000101010101010101010100F6
+:100DF00002020200000000000000000000000002EB
+:100E000002020202020202020202020202020000C6
+:100E100001010001010101010001010101010101C4
+:100E200001000101010002000101010101010101B4
+:100E300001010001000102020101010101010100A3
+:100E40000101000101010101010101010101010193
+:100E50000101010101010101010101010101010083
+:100E60000000000101010101010101010101010175
+:100E70000101010001000000010101010101010166
+:100E80000101010101010101010101010101010053
+:100E90000101010101000002010101010101000144
+:100EA0000101010101000002020101010101000133
+:100EB0000001000101000101000000010201000029
+:100EC000000001000000000002010101010100001A
+:100ED0000000010000010201010101010101010006
+:100EE00000010101000101010101010101010100F5
+:100EF00002020202000000000000000000000002E8
+:100F000002020202020202020202020202020000C5
+:100F100001010101010101010001010101010101C2
+:100F200001000101010002000101010101010101B3
+:100F300001010101010101020101010101010100A1
+:100F40000101000101010101010101010101010192
+:100F50000101010101010101010101010101010181
+:100F60000100000101010101010101010101010173
+:100F70000101010001000002010101010101010163
+:100F80000101010101010101010101010101010052
+:100F90000101010101000002010101010101000143
+:100FA0000101010101000002010101010101000133
+:100FB0000101000101000101000200010101000125
+:100FC0000000010000000000020101010101000019
+:100FD0000000010000010101010101010101010006
+:100FE00000010101000101010101010101010100F4
+:100FF00002020202000000000000000000000002E7
+:1010000002020202020202020202020202020000C4
+:1010100001010101010101020001010101010101C0
+:1010200001010101010001020101010101010101B0
+:1010300001010101010101010101010101010101A0
+:101040000101000101010101010101010101010191
+:101050000101010101010101010101010101010180
+:101060000100010101010101010101010101010171
+:101070000101010001000202010101010101010160
+:101080000101010101010101010101010101010051
+:101090000101010101000201010101010101010140
+:1010A0000101010101000002010101010101000132
+:1010B0000101000101000101000200010101000124
+:1010C0000000010100000000020101010101000017
+:1010D0000000010000010101010101010101010005
+:1010E00000010101000101010101010101010100F3
+:1010F00002020202000000000000000000000002E6
+:1011000002020202020202020202020202020000C3
+:1011100001010101010101020201010101010101BD
+:1011200001010101010201020101010101010101AD
+:10113000010101010101010101010101010101019F
+:10114000010101010101010101010101010101018F
+:10115000010101010101010101010101010101017F
+:101160000100010101010101010101010101010170
+:10117000010101000100020201010101010101015F
+:101180000101010101010101010101010101010050
+:10119000010101010100020101010101010101013F
+:1011A000010101010102000101010101010101012F
+:1011B0000101000101000101000202010101000121
+:1011C0000000010100000000010101010101000017
+:1011D0000000010000010101010101010101010004
+:1011E00000010101000101010101010101010100F2
+:1011F00002020202000000000000000000000002E5
+:1012000002020202020202020202020202020000C2
+:1012100002010102010101020201010101010101BA
+:1012200001010101010201010101010101010101AD
+:10123000010101010101010101010101010101019E
+:10124000010101010101010101010101010101018E
+:10125000010101010101010101010101010101017E
+:10126000010001010101010101010101010101016F
+:10127000010101000102020101010101010101015D
+:10128000010101010101010101010101010101004F
+:10129000010101010100020101010101010101013E
+:1012A000010101010102000101010101010101012E
+:1012B0000101000101000101000102010101000121
+:1012C0000000010100000000010101010101000016
+:1012D0000000010000010101010101010101010102
+:1012E00000010101000101010101010101010100F1
+:1012F00002020202000000000000000000010002E3
+:1013000002020202020202020202020202020000C1
+:1013100002010102020101020101010101010101B9
+:1013200001010101010101010101010101010101AD
+:10133000010101010101010101010101010101019D
+:10134000010101010101010101010101010101018D
+:10135000010101010101010101010101010101017D
+:10136000010001010101010101010101010101016E
+:10137000010101010102010101010101010101015C
+:10138000010101010101010101010101010101004E
+:10139000010101010100010101010101010101013E
+:1013A000010101010102000101010101010101012D
+:1013B0000101000101000101000102010101000120
+:1013C0000000010100000000010101010101000015
+:1013D0000000010000010101010101010101010101
+:1013E00000010101000101010101010101010100F0
+:1013F00002020202000000000000000000010002E2
+:1014000002020202020202020202020202020000C0
+:1014100002020102020101020101010101010101B7
+:1014200001010101010101010101010101010101AC
+:10143000010101010101010101010101010101019C
+:10144000010101010101010101010101010101018C
+:10145000010101010101010101010101010101017C
+:10146000010001010101010101010101010101016D
+:10147000010101010102010101010101010101015B
+:10148000010101010101010101010101010101014C
+:10149000010101010102010101010101010101013B
+:1014A000010101010101000101010101010101012D
+:1014B000010100010100010102010101010100011E
+:1014C0000000010100000000010101010101000014
+:1014D0000000010000010101010101010101010100
+:1014E00000010101000101010101010101010100EF
+:1014F00002020202000000000000000000010002E1
+:1015000002020202020202020202020202020000BF
+:1015100002020202020101020101010101010101B5
+:1015200002010101010101010101010101010101AA
+:10153000010101010101010101010101010101019B
+:10154000010101010101010101010101010101018B
+:10155000010101010101010101010101010101017B
+:10156000010101010101010101010101010101016B
+:10157000010101010101010101010101010101015B
+:10158000010101010101010101010101010101014B
+:10159000010101010102010101010101010101013A
+:1015A000010101010101000101010101010101012C
+:1015B000010100010100010102010101010100011D
+:1015C0000000010100020000010101010101010010
+:1015D00000000100000101010101010101010101FF
+:1015E00000010101000101010101010101010100EE
+:1015F00002020202000000000000010001010002DE
+:1016000002020202020202020202020202020000BE
+:1016100002020202020101020101010101010101B4
+:1016200002010201010101010101010101010101A8
+:10163000010101010101010101010101010101019A
+:101640000202010101010101010101010101010188
+:10165000010101010101010101010101010101017A
+:10166000010101010101010101010101010101016A
+:10167000010101010101010101010101010101015A
+:10168000010101010101010101010101010101014A
+:101690000101010101020101010101010101010139
+:1016A000010101010101000101010101010101012B
+:1016B000010101010100010102010101010100011B
+:1016C000000001010002000201010101010101000D
+:1016D00000000100000101010101010101010101FE
+:1016E00000010101000101010101010101010100ED
+:1016F00002020202000000000000010101010002DC
+:1017000002020202020202020202020202020000BD
+:1017100002020202020202020101010101020102AF
+:1017200002010202010101010101010101010102A5
+:101730000102010101010101010101010101010198
+:101740000202010101010101010101010101010187
+:101750000102020101010101010101010101010177
+:101760000101010101010101010101010101010169
+:101770000101010101010101010101010101010159
+:101780000101010101010101010101010101010149
+:101790000101010101010101010101010101010139
+:1017A000010101010101000101010101010101012A
+:1017B000010101010100010101010101010101011A
+:1017C000000001010001020201010101010101000B
+:1017D00000000100000101010101010101010101FD
+:1017E00000010101000101010101010101010100EC
+:1017F00002020202000000000001010101010002DA
+:1018000002020202020202020202020202020001BB
+:1018100002020202020202020101010101020102AE
+:1018200002010202010101010101010101010102A4
+:101830000202010101010101010101010101010196
+:101840000202010202010101010101010101010184
+:101850000102020101010101010101010101010176
+:101860000101010101010101010101010101010267
+:101870000202010101010101010101010101010255
+:101880000201010101010101010101010101010147
+:101890000101010101010101010101010101010138
+:1018A0000101010101010001010101010101010129
+:1018B0000101010101000101010101010101010119
+:1018C000000001010001020101010101010101000B
+:1018D00000000100000101010101010101010101FC
+:1018E00000010101000101010101010101010100EB
+:1018F00002020202020000000001010101010002D7
+:1019000002020202020201010202020202020001BC
+:1019100002020202020202020101010101020102AD
+:1019200002010202020101010101010101010102A2
+:101930000202020201020101010101010101010192
+:101940000202010202020201010101010101010181
+:101950000102020101010101010101010101010175
+:101960000101010101010101010101010101010266
+:101970000202020101010101010101010101010253
+:101980000201010101010101010101010101010146
+:101990000101010101010101010101010101010137
+:1019A0000101010101010201010101010101010126
+:1019B0000101010101000101010101010101010118
+:1019C000000001010001020101010101010101000A
+:1019D00000000100000101010101010101010101FB
+:1019E00000010101000101010101010101010100EA
+:1019F00002020202020000000001010101010002D6
+:101A000002020202020201010201010202020001BD
+:101A100002020202020202020101010101020102AC
+:101A200002010202020101010101010101010102A1
+:101A30000202020201020101010101010101010191
+:101A4000020201020202020201010101010101027E
+:101A50000202020101010101010101010101010173
+:101A60000101010101010101010101010101010265
+:101A70000202020101010101010101010101010252
+:101A80000202020201010101010101010101010142
+:101A90000101010101010101010101010101010235
+:101AA0000101010101010201010101010101010125
+:101AB0000101010101000101010101010101010117
+:101AC000000001010001010101010101010101000A
+:101AD00000000100010101010101010101010101F9
+:101AE00000010101000101010101010101010100E9
+:101AF00002020202020000000001010101010002D5
+:101B000002020202010101010101010202020002BE
+:101B100002020202020202020102020102020102A8
+:101B2000020102020201010102020101010101029E
+:101B3000020202020102010101010101010101028F
+:101B4000020202020202020202010101010101027B
+:101B50000202020102020101010101010101010170
+:101B60000101010101010101010101010101010264
+:101B70000202020101010101010101010101010251
+:101B8000020202020202010101010101010101013F
+:101B90000101010101010101010101010101010234
+:101BA0000201020101010201010101010101010221
+:101BB0000101010101000101010101010101010116
+:101BC0000000010100010101010101010101010108
+:101BD00000000100010101010101010101010101F8
+:101BE00000010101000101010101010101010100E8
+:101BF00002020202020000000001010101010002D4
+:101C000002020201010101010101010102020002BF
+:101C100002020202020202020102020202020102A6
+:101C2000020202020201010102020101010101029C
+:101C3000020202020202010101020201010101028B
+:101C40000202020202020202020202010101010278
+:101C5000020202020202020201010101010101016C
+:101C60000101010101020101010101010101010262
+:101C70000202020101010101010101010101010250
+:101C8000020202020202010101010101010101013E
+:101C90000201010102010101010101010101010231
+:101CA0000201020201010101010101010101010220
+:101CB0000101010101000101010101010101010115
+:101CC0000000010100010101010101010101010107
+:101CD00000000201010101010101010101010101F5
+:101CE00000020201000101010101010101010100E5
+:101CF00002020202020000000001010101010001D4
+:101D000001010101010101010101010102020002C1
+:101D100002020202020202020102020202020202A4
+:101D2000020202020201010102020101010101029B
+:101D30000202020202020101010202010201010289
+:101D40000202020202020202020202010201010276
+:101D5000020202020202020201010101010101026A
+:101D6000020101010202020201010101010101025D
+:101D7000020202010101010101010101010101024F
+:101D8000020202020202010101010101010101013D
+:101D9000020202020201010101010101010101022D
+:101DA000020202020101010101010101010101021E
+:101DB0000101010202000101010101010101010112
+:101DC0000000010100010101010101010101010106
+:101DD00000000201010101010101010101010101F4
+:101DE00000020201010101010101010101010100E3
+:101DF00001020202020202020001010101010001CE
+:101E000001010101010101010101010101010002C2
+:101E100002020202020202020202020202020202A2
+:101E2000020202020201010102020101010101029A
+:101E30000202020202020101010202010201010288
+:101E40000202020202020202020202010201010275
+:101E50000202020202020202010101010101010269
+:101E6000020102020202020201010101010101025A
+:101E7000020202010201010102020201010101024A
+:101E8000020202020202010101010101010101013C
+:101E9000020202020201010101010101010101022C
+:101EA000020202020201010101010101010101021C
+:101EB000020201020200010201010101010101010E
+:101EC0000000010100010101010101010101010105
+:101ED00000000201010101010101010101010101F3
+:101EE00000020201010101010101010101010100E2
+:101EF00001010102020202020001010101010001CF
+:101F000001010101010101010101010101010002C1
+:101F100002020202020202020202020202020202A1
+:101F20000202020202010101020202020102010296
+:101F30000202020202020101020202020202010284
+:101F40000202020202020202020202020202010272
+:101F50000202020202020202010101020101010267
+:101F60000201020202020202010101010101010259
+:101F70000202020102010101020202010201010248
+:101F8000020202020202010101010101010101013B
+:101F9000020202020201010101010101010101022B
+:101FA000020202020201010101010101010101021B
+:101FB000020201020202010201010101010101020A
+:101FC0000000020100010101010101010101010103
+:101FD00000000201010101010101010101010101F2
+:101FE00000020202010101010101010101010100E0
+:101FF00001010102020202020001010101010001CE
+:1020000001010101010101010102020102010002BD
+:1020100002020202020202020202020202020202A0
+:102020000202020202010101020202020202020293
+:102030000202020202020201020202020202020281
+:102040000202020202020202020202020202020270
+:102050000202020202020202020202020202010261
+:102060000202020202020202010101010101010257
+:102070000202020202010101020202010201010246
+:102080000202020202020202020102020202010232
+:10209000020202020201010101010101010101022A
+:1020A000020202020201010101010101010101021A
+:1020B0000202010202020202010101010101010208
+:1020C0000000020100010101010101010101010102
+:1020D00000010201010101010101010101010101F0
+:1020E00000020202010202020101010101010100DC
+:1020F00001010101020202020001010101010001CE
+:1021000001010101010102020202020202010002B8
+:10211000020202020202020202020202020202029F
+:102120000202020202010201020202020202020291
+:10213000020202020202020202020202020202027F
+:10214000020202020202020202020202020202026F
+:10215000020202020202020202020202020202025F
+:102160000202020202020202010101010101010256
+:102170000202020202010101020202010201010245
+:10218000020202020202020202020202020202022F
+:102190000202020202010101010101010101010229
+:1021A0000202020202010101010101010101010219
+:1021B0000202010202020202010101010101010207
+:1021C00001000202000101010101010101010101FF
+:1021D00001010201010101010201010101010101ED
+:1021E00000020202010202020201010101010100DA
+:1021F00001010101010202020201010101010001CC
+:1022000001010101020202020202020201010002B6
+:10221000020202020202020202020202020202029E
+:10222000020202020202020202020202020202028E
+:10223000020202020202020202020202020202027E
+:10224000020202020202020202020202020202026E
+:10225000020202020202020202020202020202025E
+:102260000202020202020202020201010101010253
+:102270000202020202010101020202010202010243
+:10228000020202020202020202020202020202022E
+:102290000202020202010101010101010101010228
+:1022A0000202020202010101010101010101010218
+:1022B0000202020202010202010101010101010206
+:1022C00001000202000101010101010101010101FE
+:1022D00001010201010101020202020201010102E7
+:1022E00000020202010202020202020101010100D7
+:1022F00001010101010202020201010101010001CB
+:1023000001010102020202020202020201010002B4
+:10231000020202020202020202020202020202029D
+:10232000020202020202020202020202020202028D
+:10233000020202020202020202020202020202027D
+:10234000020202020202020202020202020202026D
+:10235000020202020202020202020202020202025D
+:10236000020202020202020202020202020201024E
+:102370000202020202010101020202020202010241
+:10238000020202020202020202020202020202022D
+:102390000202020202010101020201010101010225
+:1023A0000202020202010101010101010101010217
+:1023B0000202020202010202010101010101010205
+:1023C00001000202000101010101010101010101FD
+:1023D00001010201010201020202020202020102E3
+:1023E00000020202010202020202020202010100D4
+:1023F00001010101010202010101000101010002CC
+:1024000002020202020202020202020201010002B0
+:10241000020202020202020202020202020202029C
+:10242000020202020202020202020202020202028C
+:10243000020202020202020202020202020202027C
+:10244000020202020202020202020202020202026C
+:10245000020202020202020202020202020202025C
+:10246000020202020202020202020202020202024C
+:10247000020202020201020202020202020202023D
+:10248000020202020202020202020202020202022C
+:10249000020202020201010202020202020201021F
+:1024A0000202020202010101010201020101010214
+:1024B0000202020202010202010101010101010204
+:1024C00001000202000101010101010101010101FC
+:1024D00001010201010202020202020202020102E1
+:1024E00000020202010202020202020202020100D2
+:1024F00001010101010101010100000101010002CE
+:1025000002020202020202020202020201010002AF
+:10251000020202020202020202020202020202029B
+:10252000020202020202020202020202020202028B
+:10253000020202020202020202020202020202027B
+:10254000020202020202020202020202020202026B
+:10255000020202020202020202020202020202025B
+:10256000020202020202020202020202020202024B
+:10257000020202020202020202020202020202023B
+:10258000020202020202020202020202020202022B
+:10259000020202020201020202020202020201021D
+:1025A000020202020201010202020202020201020E
+:1025B0000202020202010202010101010101010203
+:1025C00001000202000101010101010101010101FB
+:1025D00001010201010202020202020202020202DF
+:1025E00000020202010202020202020202020100D1
+:1025F00001010101010101010100000101010002CD
+:1026000002020202020202020201010101010002B1
+:10261000020202020202020202020202020202029A
+:10262000020202020202020202020202020202028A
+:10263000020202020202020202020202020202027A
+:10264000020202020202020202020202020202026A
+:10265000020202020202020202020202020202025A
+:10266000020202020202020202020202020202024A
+:10267000020202020202020202020202020202023A
+:10268000020202020202020202020202020202022A
+:10269000020202020201020202020202020202021B
+:1026A000020202020202010202020202020201020C
+:1026B0000202020202010202010101020101010201
+:1026C00001010202010101010102020202020102F2
+:1026D00001010201010202020202020202020202DE
+:1026E00001020202010202020202020202020200CE
+:1026F00001010101010101010100000001010002CD
+:1027000002020202020202020101010101010002B1
+:102710000202020202020202020202020202020299
+:102720000202020202020202020202020202020289
+:102730000202020202020202020202020202020279
+:102740000202020202020202020202020202020269
+:102750000202020202020202020202020202020259
+:102760000202020202020202020202020202020249
+:102770000202020202020202020202020202020239
+:102780000202020202020202020202020202020229
+:102790000202020202020202020202020202020219
+:1027A000020202020202010202020202020202020A
+:1027B00002020202020102020102010202020102FD
+:1027C00001010202010101010202020202020102F0
+:1027D00001010201010202020202020202020202DD
+:1027E00001020202010202020202020202020200CD
+:1027F00001010101010101010100000000000002CE
+:1028000002020202020202020101010101010002B0
+:102810000202020202020202020202020202020298
+:102820000202020202020202020202020202020288
+:102830000202020202020202020202020202020278
+:102840000202020202020202020202020202020268
+:102850000202020202020202020202020202020258
+:102860000202020202020202020202020202020248
+:102870000202020202020202020202020202020238
+:102880000202020202020202020202020202020228
+:102890000202020202020202020202020202020218
+:1028A0000202020202020102020202020202020209
+:1028B00002020202020102020102020202020102FB
+:1028C00001010202010201010202020202020102EE
+:1028D00001010202020202020202020202020202DA
+:1028E00001020202010202020202020202020200CC
+:1028F00001010101010101010100000000000002CD
+:1029000002020202010101010101010101010002B3
+:102910000202020202020202020202020202020297
+:102920000202020202020202020202020202020287
+:102930000202020202020202020202020202020277
+:102940000202020202020202020202020202020267
+:102950000202020202020202020202020202020257
+:102960000202020202020202020202020202020247
+:102970000202020202020202020202020202020237
+:102980000202020202020202020202020202020227
+:102990000202020202020202020202020202020217
+:1029A0000202020202020102020202020202020208
+:1029B00002020202020102020202020202020102F9
+:1029C00002010202010201020202020202020102EB
+:1029D00002020202020202020202020202020202D7
+:1029E00001020202010202020202020202020200CB
+:1029F00001010101010101010100000000000102CB
+:102A000002020201010101010101010101010002B3
+:102A10000202020202020202020202020202020296
+:102A20000202020202020202020202020202020286
+:102A30000202020202020202020202020202020276
+:102A40000202020202020202020202020202020266
+:102A50000202020202020202020202020202020256
+:102A60000202020202020202020202020202020246
+:102A70000202020202020202020202020202020236
+:102A80000202020202020202020202020202020226
+:102A90000202020202020202020202020202020216
+:102AA0000202020202020202020202020202020206
+:102AB00002020202020102020202020202020202F7
+:102AC00002010202010202020202020202020202E8
+:102AD00002020202020202020202020202020202D6
+:102AE00001020202020202020202020202020200C9
+:102AF00001010101000101010000000000000101CD
+:102B000001010101010101010101010101010002B5
+:102B10000202020202020202020202020202020295
+:102B20000202020202020202020202020202020285
+:102B30000202020202020202020202020202020275
+:102B40000202020202020202020202020202020265
+:102B50000202020202020202020202020202020255
+:102B60000202020202020202020202020202020245
+:102B70000202020202020202020202020202020235
+:102B80000202020202020202020202020202020225
+:102B90000202020202020202020202020202020215
+:102BA0000202020202020202020202020202020205
+:102BB00002020202020102020202020202020202F6
+:102BC00002010202010202020202020202020202E7
+:102BD00002020202020202020202020202020202D5
+:102BE00001020202020202020202020202020200C8
+:102BF00001010101000100010000000000000101CD
+:102C000001010101010101010101010101010002B4
+:102C10000202020202020201020202020202020295
+:102C20000202020202020202020202020202020284
+:102C30000202020202020202020202020202020274
+:102C40000202020202020202020202020202020264
+:102C50000202020202020202020202020202020254
+:102C60000202020202020202020202020202020244
+:102C70000202020202020202020202020202020234
+:102C80000202020202020202020202020202020224
+:102C90000202020202020202020202020202020214
+:102CA0000202020202020202020202020202020204
+:102CB00002020202020102020202020202020202F5
+:102CC00002020202010202020202020202020202E5
+:102CD00002020202020202020202020202020202D4
+:102CE00002020202020202020202020202020200C6
+:102CF00001010101000000000000000000000101CE
+:102D000001010101010101010101010101010002B3
+:102D10000202020200020201020202020202020296
+:102D20000202020202020202020202020202020283
+:102D30000202020202020202020202020202020273
+:102D40000202020202020202020202020202020263
+:102D50000202020202020202020202020202020253
+:102D60000202020202020202020202020202020243
+:102D70000202020202020202020202020202020233
+:102D80000202020202020202020202020202020223
+:102D90000202020202020202020202020202020213
+:102DA0000202020202020202020202020202020203
+:102DB00002020202020202020202020202020202F3
+:102DC00002020202010202020202020202020202E4
+:102DD00002020202020202020202020202020202D3
+:102DE00002020202020202020202020202020200C5
+:102DF00001010101000000000000000000020101CB
+:102E000001010101010101010101010101010002B2
+:102E10000202010100010101020202020202020299
+:102E20000202020202020202020202020202020282
+:102E30000202020202020202020202020202020272
+:102E40000202020202020202020202020202020262
+:102E50000202020202020202020202020202020252
+:102E60000202020202020202020202020202020242
+:102E70000202020202020202020202020202020232
+:102E80000202020202020202020202020202020222
+:102E90000202020202020202020202020202020212
+:102EA0000202020202020202020202020202020202
+:102EB00002020202020202020202020202020202F2
+:102EC00002020202020202020202020202020202E2
+:102ED00002020202020202020202020202020202D2
+:102EE00002020202020202020202020202020200C4
+:102EF00001010101000000000000000000020101CA
+:102F000001010101010101010101010101010002B1
+:102F10000202010100020201020202020201020297
+:102F20000202020202020202020202020202020281
+:102F30000202020202020202020202020202020271
+:102F40000202020202020202020202020202020261
+:102F50000202020202020202020202020202020251
+:102F60000202020202020202020202020202020241
+:102F70000202020202020202020202020202020231
+:102F80000202020202020202020202020202020221
+:102F90000202020202020202020202020202020211
+:102FA0000202020202020202020202020202020201
+:102FB00002020202020202020202020202020202F1
+:102FC00002020202020202020202020202020202E1
+:102FD00002020202020202020202020202020202D1
+:102FE00002020202020202020202020202020200C3
+:102FF00001010101000000000000000002020101C7
+:1030000001010101010101010101010101000002B1
+:10301000010102020000000102020202020102029A
+:103020000202020202020202020202020202020280
+:103030000202020202020202020202020202020270
+:103040000202020202020202020202020202020260
+:103050000202020202020202020202020202020250
+:103060000202020202020202020202020202020240
+:103070000202020202020202020202020202020230
+:103080000202020202020202020202020202020220
+:103090000202020202020202020202020202020210
+:1030A0000202020202020202020202020202020200
+:1030B00002020202020202020202020202020202F0
+:1030C00002020202020202020202020202020202E0
+:1030D00002020202020202020202020202020202D0
+:1030E00002020202020202020202020202020200C2
+:1030F00001010101000000000000020202020101C2
+:1031000001010101010101010101010101000002B0
+:103110000101020200000001020202020201020299
+:10312000020202020202020202020202020202027F
+:10313000020202020202020202020202020202026F
+:10314000020202020202020202020202020202025F
+:10315000020202020202020202020202020202024F
+:10316000020202020202020202020202020202023F
+:10317000020202020202020202020202020202022F
+:10318000020202020202020202020202020202021F
+:10319000020202020202020202020202020202020F
+:1031A00002020202020202020202020202020202FF
+:1031B00002020202020202020202020202020202EF
+:1031C00002020202020202020202020202020202DF
+:1031D00002020202020202020202020202020202CF
+:1031E00002020202020202020202020202020200C1
+:1031F00001010101000000000002020202020101BF
+:1032000001010101010101010101010101000001B0
+:10321000010101010101010101010101010101029D
+:10322000020202020202020202020202020202027E
+:10323000020202020202020202020202020202026E
+:10324000020202020202020202020202020202025E
+:10325000020202020202020202020202020202024E
+:10326000020202020202020202020202020202023E
+:10327000020202020202020202020202020202022E
+:10328000020202020202020202020202020202021E
+:10329000020202020202020202020202020202020E
+:1032A00002020202020202020202020202020202FE
+:1032B00002020202020202020202020202020202EE
+:1032C00002020202020202020202020202020202DE
+:1032D00002020202020202020202020202020202CE
+:1032E00002020202020202020202020202020200C0
+:1032F00001010100000000000002020202020101BF
+:1033000001010101010101010101010100000001B0
+:10331000010101010101010101010101010101029C
+:10332000020202020202020202020202020202027D
+:10333000020202020202020202020202020202026D
+:10334000020202020202020202020202020202025D
+:10335000020202020202020202020202020202024D
+:10336000020202020202020202020202020202023D
+:10337000020202020202020202020202020202022D
+:10338000020202020202020202020202020202021D
+:10339000020202020202020202020202020202020D
+:1033A00002020202020202020202020202020202FD
+:1033B00002020202020202020202020202020202ED
+:1033C00002020202020202020202020202020202DD
+:1033D00002020202020202020202020202020202CD
+:1033E00002020202020202020202020202020200BF
+:1033F00001010100000000000002020202020101BE
+:1034000001010101010101010100000100000001B1
+:10341000010101010101010101010101010101029B
+:10342000020202020202020202020202020202027C
+:10343000020101020202020202020202020202026E
+:10344000020202020202020202020202020202025C
+:10345000020202020202020202020202020202024C
+:10346000020202020202020202020202020202023C
+:10347000020202020202020202020202020202022C
+:10348000020202020202020202020202020202021C
+:10349000020202020202020202020202020202020C
+:1034A00002020202020202020202020202020202FC
+:1034B00002020202020202020202020202020202EC
+:1034C00002020202020202020202020202020202DC
+:1034D00002020202020202020202020202020202CC
+:1034E00002020202020202020202020202020202BC
+:1034F00002010100000000000002020202020001BD
+:1035000001010101000100000000000100000001B4
+:10351000010101010101010101010101010101029A
+:10352000010201010202020202020202020202017F
+:103530000101010101010202020202020202020073
+:103540000101010101010101020202020202020263
+:10355000020202020202020202020202020202024B
+:10356000020202020202020202020202020202023B
+:10357000020202020202020202020202020202022B
+:10358000020202020202020202020202020202021B
+:10359000020202020202020202020202020202020B
+:1035A00002020202020202020202020202020202FB
+:1035B00002020202020202020202020202020202EB
+:1035C00002020202020202020202020202020202DB
+:1035D00002020202020202020202020202020202CB
+:1035E00002020202020202020202020202020202BB
+:1035F00002020200000000000002020202020000BB
+:1036000000000000000000000000000000000001B9
+:10361000010101010101010101010101010101019A
+:103620000101010101020202010102020202020182
+:103630000101010101010202020101020102020075
+:103640000101010101010101010101020102020266
+:10365000020202020202020202020202020202024A
+:10366000020202020202020202020202020202023A
+:10367000020202020202020202020202020202022A
+:10368000020202020202020202020202020202021A
+:10369000020202020202020202020202020202020A
+:1036A00002020202020202020202020202020202FA
+:1036B00002020202020202020202020202020202EA
+:1036C00002020202020202020202020202020202DA
+:1036D00002020202020202020202020202020202CA
+:1036E00002020202020202020202020202020202BA
+:1036F00002020200000000000002020202020000BA
+:1037000000000000000000000000000001010001B6
+:103710000101010101010101010101010101010199
+:103720000102010101020202010102020202020180
+:103730000101010101010101010101010101010179
+:103740000101010101010101010101010101010268
+:10375000020101020202020202020202020202024B
+:103760000202020202020202020202020202020239
+:103770000202020202020202020202020202020229
+:103780000202020202020202020202020202020219
+:103790000202020202020202020202020202020209
+:1037A00002020202020202020202020202020202F9
+:1037B00002020202020202020202020202020202E9
+:1037C00002020202020202020202020202020202D9
+:1037D00002020202020202020202020202020202C9
+:1037E00002020202020202020202020202020202B9
+:1037F00002020202000000000002020202020200B5
+:1038000000000000000000000000000101010001B4
+:103810000101010101010101010101010101010198
+:103820000101010101010101010101010101010188
+:103830000101010101010101010101010101010178
+:103840000101010101010101010101010101010168
+:103850000101010101010101020202020202020250
+:10386000020002020202020202020202020202023A
+:103870000202020202020202020202020202020228
+:103880000202020202020202020202020202020218
+:103890000202020202020202020202020202020208
+:1038A00002020202020202020202020202020202F8
+:1038B00002020202020202020202020202020202E8
+:1038C00002020202020202020202020202020202D8
+:1038D00002020202020202020202020202020202C8
+:1038E00002020202020202020202020202020202B8
+:1038F00002020202000000020202020202020200B0
+:1039000000000000000000000000000101010001B3
+:103910000101010101010101010101010101010197
+:103920000101010101010101010101010101010187
+:103930000101010101010101010101010101010177
+:103940000101010101010101010101010101010167
+:103950000101010101010101010101010101010256
+:10396000020002020202020202020202020202013A
+:10397000010101020202020202020202020202012B
+:10398000010101010101020202020202020202021D
+:103990000202020202020202020202020202020207
+:1039A00002020202020202020202020202020202F7
+:1039B00002020202020202020202020202020202E7
+:1039C00002020202020202020202020202020202D7
+:1039D00002020202020202020202020202020202C7
+:1039E00002020202020202020202020202020202B7
+:1039F00002020202020200020202020202020200AB
+:103A000000000000000000000001010101010001B0
+:103A10000101010101010101010101010101010196
+:103A20000101010101010101010101010101010186
+:103A30000101010101010101010101010101010176
+:103A40000101010101010101010101010101010166
+:103A50000101010101010101010101010101010156
+:103A60000100010101010101020202020202020140
+:103A70000101010101020202010101020102020130
+:103A80000101010101010101010101010101010225
+:103A90000202020202020202020202020202020206
+:103AA00002020202020202020202020202020202F6
+:103AB00002020202020202020202020202020202E6
+:103AC00002020202020202020202020202020202D6
+:103AD00002020202020202020202020202020202C6
+:103AE00002020202020202020202020202020202B6
+:103AF00002020202020202020202020202020200A8
+:103B000000000000000000000101010101010101AD
+:103B10000101010101010101010101010101010195
+:103B20000101010101010101010101010101010185
+:103B30000101010101010101010101010101010175
+:103B40000101010101010101010101010101010165
+:103B50000101010101010101010101010101010155
+:103B60000101010101010101010101010101010145
+:103B70000101010101010101010101010101010135
+:103B80000101010101010101010101010101010026
+:103B90000202020202020202020202020202020205
+:103BA00002020202020202020202020202020202F5
+:103BB00002020202020202020202020202020202E5
+:103BC00002020202020202020202020202020202D5
+:103BD00002020202020202020202020202020202C5
+:103BE00002020202020202020202020202020202B5
+:103BF00002020202020202020202020202020200A7
+:103C000000000000010100010101010101010101A9
+:103C10000101010101010101010101010101010194
+:103C20000101010101010101010101010101010184
+:103C30000101010101010101010101010101010174
+:103C40000101010101010101010101010101010164
+:103C50000101010101010101010101010101010154
+:103C60000101010101010101010101010101010144
+:103C70000101010101010101010101010101010134
+:103C80000101010101010101010101010101010025
+:103C90000101010101020202020202020202020209
+:103CA00002020202010202020202020202020202F5
+:103CB00002020202020202020202020202020202E4
+:103CC00002020202020202020202020202020202D4
+:103CD00002020202020202020202020202020202C4
+:103CE00002020202020202020202020202020202B4
+:103CF00002020202020202020202020202020200A6
+:103D000000010101010101010101010101010101A4
+:103D10000101010101010101010101010101010193
+:103D20000101010101010101010101010101010183
+:103D30000101010101010101010101010101010173
+:103D40000101010101010101010101010101010163
+:103D50000101010101010101010101010101010153
+:103D60000101010101010101010101010101010143
+:103D70000101010101010101010101010101010133
+:103D80000101010101010101010101010101010123
+:103D90000101010101010101010101010101010113
+:103DA00001010101020202020202020202020201F8
+:103DB00001010101010201010202020202020202EA
+:103DC00002020202020202020202020202020202D3
+:103DD00002020202020202020202020202020202C3
+:103DE00002020202020202020202020202020202B3
+:103DF00002020202020202020202020202020201A4
+:103E000001010101010101010101010101010101A2
+:103E10000101010101010101010101010101010192
+:103E20000101010101010101010101010101010182
+:103E30000101010101010101010101010101010172
+:103E40000101010101010101010101010101010162
+:103E50000101010101010101010101010101010152
+:103E60000101010101010101010101010101010142
+:103E70000101010101010101010101010101010132
+:103E80000101010101010101010101010101010122
+:103E90000101010101010101010101010101010112
+:103EA0000101010101010101010101010101010102
+:103EB00001010101010101010101010101010100F3
+:103EC00002020101020202020202020202020202D4
+:103ED00002020102020202020202020202020202C3
+:103EE00002020202020202020202020202020202B2
+:103EF00002020202020202020202020202020201A3
+:103F000001010101010101010101010101010101A1
+:103F10000101010101010101010101010101010191
+:103F20000101010101010101010101010101010181
+:103F30000101010101010101010101010101010171
+:103F40000101010101010101010101010101010161
+:103F50000101010101010101010101010101010151
+:103F60000101010101010101010101010101010141
+:103F70000101010101010101010101010101010131
+:103F80000101010101010101010101010101010121
+:103F90000101010101010101010101010101010111
+:103FA0000101010101010101010101010101010101
+:103FB00001010101010101010101010101010100F2
+:103FC00002020202020202020202020202020202D1
+:103FD00002020202020202020202020202020202C1
+:103FE00002010101020202020202020202020202B4
+:103FF00002020202020202020202020202020201A2
+:1040000001010101010101010101010101010101A0
+:104010000101010101010101010101010101010190
+:104020000101010101010101010101010101010180
+:104030000101010101010101010101010101010170
+:104040000101010101010101010101010101010160
+:104050000101010101010101010101010101010150
+:104060000101010101010101010101010101010140
+:104070000101010101010101010101010101010130
+:104080000101010101010101010101010101010120
+:104090000101010101010101010101010101010110
+:1040A0000101010101010101010101010101010100
+:1040B00001010101010101010101010101010101F0
+:1040C00001010101010101010101010101010100E1
+:1040D00000000000000000000000000000000002DE
+:1040E00002020202020202020202020202020202B0
+:1040F00002020202020202020202020202020201A1
+:10410000010101010101010101010101010101019F
+:10411000010101010101010101010101010101018F
+:10412000010101010101010101010101010101017F
+:10413000010101010101010101010101010101016F
+:10414000010101010101010101010101010101015F
+:10415000010101010101010101010101010101014F
+:10416000010101010101010101010101010101013F
+:10417000010101010101010101010101010101012F
+:10418000010101010101010101010101010101011F
+:10419000010101010101010101010101010101010F
+:1041A00001010101010101010101010101010101FF
+:1041B00001010101010101010101010101010101EF
+:1041C00001010101010101010101010101010101DF
+:1041D00001010101010101010101010101010100D0
+:1041E00000000000000000000000000000000002CD
+:1041F00002020202020202020202020202020201A0
+:10420000010101010101010101010101010101019E
+:10421000010101010101010101010101010101018E
+:10422000010101010101010101010101010101017E
+:10423000010101010101010101010101010101016E
+:10424000010101010101010101010101010101015E
+:10425000010101010101010101010101010101014E
+:10426000010101010101010101010101010101013E
+:10427000010101010101010101010101010101012E
+:10428000010101010101010101010101010101011E
+:10429000010101010101010101010101010101010E
+:1042A00001010101010101010101010101010101FE
+:1042B00001010101010101010101010101010101EE
+:1042C00001010101010101010101010101010101DE
+:1042D00001010101010101010101010101010101CE
+:1042E00001010101010101010101010101010100BF
+:1042F00000000000000000000000000000000001BD
+:10430000010101010101010101010101010101019D
+:10431000010101010101010101010101010101018D
+:10432000010101010101010101010101010101017D
+:10433000010101010101010101010101010101016D
+:10434000010101010101010101010101010101015D
+:10435000010101010101010101010101010101014D
+:10436000010101010101010101010101010101013D
+:10437000010101010101010101010101010101012D
+:10438000010101010101010101010101010101011D
+:10439000010101010101010101010101010101010D
+:1043A00001010101010101010101010101010101FD
+:1043B00001010101010101010101010101010101ED
+:1043C00001010101010101010101010101010101DD
+:1043D00001010101010101010101010101010101CD
+:1043E00001010101010101010101010101010100BE
+:1043F00000000000000000000000000000000001BC
+:10440000010101010101010101010101010101019C
+:10441000010101010101010101010101010101018C
+:10442000010101010101010101010101010101017C
+:10443000010101010101010101010101010101006D
+:10444000000000000000000000000000000000006C
+:10445000000000000000000000000000000000005C
+:10446000000000000000000000000000000000014B
+:10447000010101010101010101010101010101002D
+:10448000000000000000000000000000000000012B
+:10449000010101010101010101010101010101010C
+:1044A00001010101010101010101010101010101FC
+:1044B00001010101010101010101010101010101EC
+:1044C00001010101010101010101010101010101DC
+:1044D00001010101010101010101010101010101CC
+:1044E00001010101010101010101010101010100BD
+:1044F00000000000000000000000000000000001BB
+:10450000010101010101010101010101010101019B
+:10451000010101010101010101010101010101018B
+:10452000010101010101010101010101010101017B
+:10453000010101010101010101010101010101006C
+:10454000000000000000000000000000000000006B
+:10455000000000000000000000000000000000005B
+:10456000000000000000000000000000000000014A
+:10457000010101010101010101010101010101002C
+:104580000000000000000000000000000000000229
+:1045900002020202020202020202020202020200FD
+:1045A000000000000000000000000000000000010A
+:1045B00001010101010101010101010101010100EC
+:1045C00000000000000000000000000000000000EB
+:1045D00000000000000000000000000000000001DA
+:1045E00001010101010101010101010101010100BC
+:1045F00000000000000000000000000000000001BA
+:10460000010101010101010101010101010101009B
+:10461000000000000000000000000000000000009A
+:104620000000000000000000000000000000000288
+:10463000020202020202020202020202020202025A
+:10464000020202020202020202020202020202024A
+:10465000020202020202020202020202020202023A
+:10466000020202020202020202020202020202022A
+:10467000020202020202020202020202020202021A
+:10468000020202020202020202020202020202020A
+:1046900002020202020202020202020202020202FA
+:1046A00002020202020202020202020202020202EA
+:1046B00002020202020202020202020202020202DA
+:1046C00002020202020202020202020202020202CA
+:1046D00002020202020202020202020202020202BA
+:1046E00002020202020202020202020202020200AC
+:1046F00000000000000000000000000000000001B9
+:10470000010101010101010101010101010101009A
+:104710000000000000000000000000000000000099
+:104720000000000000000000000000000000000089
+:104730000000000000000000000000000000000079
+:104740000000000000000000000000000000000069
+:104750000000000000000000000000000000000059
+:104760000000000000000000000000000000000247
+:104770000202020202020202020202020202020219
+:10478000020202020202020202020202020202000B
+:104790000000000000000000000000000000000217
+:1047A00002020202020202020202020202020202E9
+:1047B00002020202020202020202020202020202D9
+:1047C00002020202020202020202020202020202C9
+:1047D00002020202020202020202020202020202B9
+:1047E00002020202020202020202020202020200AB
+:1047F00000000000000000000000000000000001B8
+:104800000101010101010101010101010101010099
+:104810000000000000000000000000000000000098
+:104820000000000000000000000000000000000088
+:104830000000000000000000000000000000000078
+:104840000000000000000000000000000000000068
+:104850000000000000000000000000000000000058
+:104860000000000000000000000000000000000048
+:104870000000000000000000000000000000000038
+:104880000000000000000000000000000000000028
+:104890000000000000000000000000000000000018
+:1048A0000000000000000000000000000000000206
+:1048B00002020202020202020202020202020200DA
+:1048C00000000000000000000000000000000000E8
+:1048D00000000000000000000000000000000002D6
+:1048E00002020202020202020202020202020200AA
+:1048F00000000000000000000000000000000000B8
+:1049000000000000000000000000000000000000A7
+:104910000000000000000000000000000000000097
+:104920000000000000000000000000000000000087
+:104930000000000000000000000000000000000077
+:104940000000000000000000000000000000000067
+:104950000000000000000000000000000000000057
+:104960000000000000000000000000000000000047
+:104970000000000000000000000000000000000037
+:104980000000000000000000000000000000000027
+:104990000000000000000000000000000000000017
+:1049A0000000000000000000000000000000000007
+:1049B00000000000000000000000000000000000F7
+:1049C00000000000000000000000000000000000E7
+:1049D00000000000000000000000000000000000D7
+:1049E00000000000000000000000000000000000C7
+:1049F0000000000000000000000000000000004473
+:104A000000000000000000000000000000000000A6
+:104A10000000000000000000000000000000000096
+:104A20000000000000000000000000000000000086
+:104A30000000000000000000000000000001020073
+:104A40000101020100000100000000000000000060
+:104A50000000000000000000000000000000000056
+:104A60000000000000000000000000000000000046
+:104A70000000000000000000000000000000000036
+:104A80000000000000000000000000000000000026
+:104A90000000000000000000000000000000000016
+:104AA0000000000000000000000000000000000006
+:104AB00000000000000000000000000000000000F6
+:104AC00000000000000000000000000000000000E6
+:104AD00000000000000000000000000001000000D5
+:104AE00000000000020000000001000000000002C1
+:104AF00000000000020000000000000000000000B4
+:104B00000000000000000002020200020002020099
+:104B10000202020200020000000000000100020088
+:104B2000020200010000000000000001010000007E
+:104B3000000000000000000000010000010102016F
+:104B4000010101010100010101000000000000005D
+:104B50000000000000010000000001010000000052
+:104B60000000000000000000000000010000000242
+:104B7000000000000200000101000000000101002F
+:104B8000020002000001000000000000010000021D
+:104B90000000000000000000000001000000000014
+:104BA0000000000002000000000000000001000002
+:104BB00000000000000200010100000000000000F1
+:104BC00002020002000000000001010000000000DD
+:104BD00000000000000000000000000001000000D4
+:104BE00000000000020200000101000000000101BD
+:104BF00002010101020001000000000000000000AD
+:104C00000000000000000002020202020202020292
+:104C10000202020202020001000000000100020183
+:104C20000202000101000000010100010100020078
+:104C30000101010100010000000100000101020169
+:104C40000101010101000101010001010000000159
+:104C50000000000000010000000001010000000051
+:104C60000101010200020001000000010000000239
+:104C70000101010202020001010100000101010124
+:104C80000100020001010000000000000101020219
+:104C9000020202010001000000000100000000000B
+:104CA00002020202020200000000000100010000F6
+:104CB00000000000020200010101000000000000ED
+:104CC00002020002020000000001010000000000DA
+:104CD00000000000000200000000000001000000D1
+:104CE00000000000020200000101000000000101BC
+:104CF00001010101020101000000020200000000A8
+:104D00000000000000000002020202020202020291
+:104D10000202020202020001000000000100020182
+:104D20000202010101010000010101010100020074
+:104D30000101010101010000000101010101010166
+:104D40000101010101010101010001010001020154
+:104D50000102020100010100000001010000000049
+:104D60000101010102020001000000010000000138
+:104D70000101010202020001010100000101010123
+:104D80000102020101010100000001000101020213
+:104D90000102020101010000000101000000000009
+:104DA00002020202020200010000000100010000F4
+:104DB00000000002020200010101000000000000EA
+:104DC00002020202020100000001010000000000D6
+:104DD00000000000020200000000000001000000CE
+:104DE00002000000010200000101000000010101B9
+:104DF00001010101010101000000020200000000A8
+:104E00000000000000000002020202020202020290
+:104E10000202020202020001000000010100010181
+:104E20000101010101010000010101010102010074
+:104E30000101010101010100000101010101010164
+:104E40000101010101010101010001010101020152
+:104E50000101010101010101010001010002000045
+:104E60000101010101010001000000010000020137
+:104E70000101010201010001010100000101010124
+:104E80000101010101010100000001000101020115
+:104E90000101020101010100000101000000000008
+:104EA00002020202010200010000010100010000F3
+:104EB00000000002020100010101010000000000E9
+:104EC00001010201020100000001010000000000D8
+:104ED00000000002020100000000000001000000CC
+:104EE00002000000010100000101000100010101B8
+:104EF00001010101010101000000020200000000A7
+:104F0000000001010001000202020202020202028C
+:104F1000020202020202000100000001010201017E
+:104F20000101010101010000010101010102010073
+:104F30000101010101010100000101010101010163
+:104F40000101010101010101010001010101020151
+:104F50000101010101010101010101010001000044
+:104F60000101010101010001000000010000010137
+:104F70000101010101010001010100000101010124
+:104F80000101010101010100000001010101010114
+:104F90000101010101010100000101000000000008
+:104FA00001010101010100010000010100010000F7
+:104FB00000000002010100010101010000000000E9
+:104FC00001010201010100000001010000000000D8
+:104FD00000000002020100000000000001000000CB
+:104FE00001000002010100000101000100010101B6
+:104FF00001010101010101000000020200000000A6
+:10500000000001010101000202020202020202028A
+:10501000020202020202000100000001010201017D
+:105020000101010101010000010101010102010072
+:105030000101010101010100000101010101010162
+:105040000101010101010101010001010101010151
+:105050000101010101010101010101010001000043
+:105060000101010101010001000000010001010135
+:105070000101010101010001010101000101010122
+:105080000101010101010101000001010101010112
+:105090000101010101010100000101000000000007
+:1050A00001010101010100010000010100010000F6
+:1050B00000000001010100010101010000000002E7
+:1050C00001010101010100000001010000000000D8
+:1050D00000000002010100000001000001000000CA
+:1050E00001000002010100000101000100010101B5
+:1050F00001010101010101000000020200000000A5
+:105100000000010101010002020202020202020289
+:10511000020202020202000100000001010201017C
+:10512000010101010101010001010101010101026F
+:105130000101010101010100000101010101010161
+:10514000010101010101010101010101010101014F
+:105150000101010101010101010101010001000240
+:105160000101010101010001000000010001010134
+:105170000101010101010001010101000101010121
+:105180000101010101010101000001010101010111
+:105190000101010101010100000101000000000204
+:1051A00001010101010100010000010100010000F5
+:1051B00002020201010100010101010000000002E0
+:1051C00001010101010100000001010000000000D7
+:1051D00000000001010100000001000001000000CA
+:1051E00001000001010100000101000100010101B5
+:1051F00001010101010101000000020200000000A4
+:105200000000010101010002020202020202020288
+:10521000020202020202000100000101010101017B
+:10522000010101010101010001010101010101026E
+:10523000010101010101010101010101010101015E
+:10524000010101010101010101010101010101014E
+:10525000010101010101010101010101000101023E
+:105260000101010101010101000000010001010132
+:10527000010101010101000101010101010101011F
+:10528000010101010101010101000101010101010F
+:105290000101010101010100010101000000020200
+:1052A00001010101010100010000010100010000F4
+:1052B00002020201010100010101010000000002DF
+:1052C00001010101010100000001010000000000D6
+:1052D00002020001010100000001000101000000C4
+:1052E00001000001010100000101000100010101B4
+:1052F00001010101010101000000020200000000A3
+:105300000000010101010002020202020202020287
+:105310000202020202020001010001010101010179
+:10532000010101010101010001010101010101026D
+:10533000010101010101010101010101010101015D
+:10534000010101010101010101010101010101014D
+:10535000010101010101010101010101010101023C
+:105360000101010101010101000000010001010131
+:10537000010101010101000101010101010101011E
+:10538000010101010101010101010101010101010D
+:1053900001010101010101000101010000000202FF
+:1053A00001010101010100010100010100010000F2
+:1053B00002020201010100010101010000020001DD
+:1053C00001010101010101000001010000000000D4
+:1053D00002020001010100000001000101000000C3
+:1053E00001000001010100000101000100010101B3
+:1053F00001010101010101000000020200000000A2
+:105400000000010101010002020202020202020286
+:105410000202020202020001010101010101010177
+:10542000010101010101010001010101010101016D
+:10543000010101010101010101010101010101015C
+:10544000010101010101010101010101010101014C
+:10545000010101010101010101010101010101013C
+:105460000101010101010101000000010001010130
+:10547000010101010101010101010101010101011C
+:10548000010101010101010101010101010101010C
+:1054900001010101010101000101010000020201FD
+:1054A00001010101010101010100010101010000EF
+:1054B00001010101010100010101010000020001DF
+:1054C00001010101010101000001010000000000D3
+:1054D00001020201010100000001000101000000C1
+:1054E00001000001010100000101000100010101B2
+:1054F00001010101010101000000020200000000A1
+:105500000000010101010002020202020202020285
+:105510000202020202020001010101010101010176
+:10552000010101010101010001010101010101016C
+:10553000010101010101010101010101010101015B
+:10554000010101010101010101010101010101014B
+:10555000010101010101010101010101010101013B
+:10556000010101010101010100000001010101012E
+:10557000010101010101010101010101010101011B
+:10558000010101010101010101010101010101010B
+:1055900001010101010101000101010000020101FD
+:1055A00001010101010101010100010101010000EE
+:1055B00001010101010100010101010000020201DC
+:1055C00001010101010101000001010000000000D2
+:1055D00001010201010100000001000101000000C1
+:1055E00001020201010100000101000100010101AD
+:1055F00001010101010101000000020200000000A0
+:105600000000010101010002020202020202020284
+:105610000202020202020002010101010101010174
+:10562000010101010101010001010101010101016B
+:10563000010101010101010101010101010101015A
+:10564000010101010101010101010101010101014A
+:10565000010101010101010101010101010101013A
+:10566000010101010101010100000001010101012D
+:10567000010101010101010101010101010101011A
+:10568000010101010101010101010101010101010A
+:1056900001010101010101000101010000020101FC
+:1056A00001010101010101010100010101010002EB
+:1056B00001010101010100010101010000010201DC
+:1056C00001010101010101000001010000000000D1
+:1056D00001010101010100000001010101000000C0
+:1056E00001010101010100000101000100010101AE
+:1056F000010101010101010000000202000000009F
+:105700000100010101010002020202020202020282
+:105710000202020202020002010101020101010172
+:10572000010101010101010001010101010101016A
+:105730000101010101010101010101010101010159
+:105740000101010101010101010101010101010149
+:105750000101010101010101010101010101010139
+:10576000010101010101010100000101010101012B
+:105770000101010101010101010101010101010119
+:105780000101010101010101010101010101010109
+:1057900001010101010101000101010100010101FB
+:1057A00001010101010101010100010101010002EA
+:1057B00001010101010101010101010000010201DA
+:1057C00001010101010101000001010000000000D0
+:1057D00001010101010100000001010101000000BF
+:1057E00001010101010100000101000100010101AD
+:1057F000010101010101010000000202000000009E
+:105800000100010101010002020202020202020281
+:10581000020202020202000201010102020101026F
+:105820000101010101010101010101010101010168
+:105830000101010101010101010101010101010158
+:105840000101010101010101010101010101010148
+:105850000101010101010101010101010101010138
+:10586000010101010101010100000101010101012A
+:105870000101010101010101010101010101010118
+:105880000101010101010101010101010101010108
+:1058900001010101010101010101010100010101F9
+:1058A00001010101010101010100010101010002E9
+:1058B00001010101010101010101010000010101DA
+:1058C00001010101010101000101010000000000CE
+:1058D00001010101010100000001010101000000BE
+:1058E00001010101010100000101000100010101AC
+:1058F000010101010101010000000202000000009D
+:105900000100010101010002020202020202020280
+:10591000020202020202000201010102020101026E
+:105920000101010101010101010101010101010167
+:105930000101010101010101010101010101010157
+:105940000101010101010101010101010101010147
+:105950000101010101010101010101010101010137
+:105960000101010101010101000101010101010128
+:105970000101010101010101010101010101010117
+:105980000101010101010101010101010101010107
+:1059900001010101010101010101010100010101F8
+:1059A00001010101010101010100010101010001E9
+:1059B00001010101010101010101010000010101D9
+:1059C00001010101010101000101010000000002CB
+:1059D00001010101010100000101010101020000BA
+:1059E00001010101010101000101000100010101AA
+:1059F000010101010101010000000202000000009C
+:105A0000010101010101000202020202020202027E
+:105A1000020202020202000202010202020101026B
+:105A20000101010101010101020101010101010165
+:105A30000101010101010101010101010101010156
+:105A40000101010101010101010101010101010146
+:105A50000101010101010101010101010101010136
+:105A60000101010101010101000101010101010127
+:105A70000101010101010101010101010101010116
+:105A80000101010101010101010101010101010106
+:105A900001010101010101010101010100010101F7
+:105AA00001010101010101010101010101010001E7
+:105AB00001010101010101010101010000010101D8
+:105AC00001010101010101010101010000020002C7
+:105AD00001010101010101000101010101020002B6
+:105AE00001010101010101000101000100010101A9
+:105AF000010101010101010000000202000000009B
+:105B0000010101010101000202020202020202027D
+:105B10000202020202020002020202020201010269
+:105B20000101020101010101020201020101010161
+:105B30000101010101010101010201010101010154
+:105B40000101010101010102020101010101010143
+:105B50000101010101010101010101010101010135
+:105B60000101010101010101000101010101010126
+:105B70000101010101010102020101010101010113
+:105B80000101010101010101010101010101010105
+:105B900001010101010101010101010100010101F6
+:105BA00001010101010101010101010101010001E6
+:105BB00001010101010101010101010000010101D7
+:105BC00001010101010101010101010100020002C5
+:105BD00001010101010101000101010101020202B3
+:105BE00001010101010101000101000100010101A8
+:105BF000010101010101010000000202000000009A
+:105C0000010101010101000202020202020202027C
+:105C10000202020202020002020202020201020267
+:105C2000010102020101010102020102010101015F
+:105C30000101010101010101010201010101010153
+:105C40000101010101010102020101010101010142
+:105C50000101010101010101010101010101010134
+:105C60000101010101010101000101010101010125
+:105C70000101010101010102020201010101010111
+:105C80000101010101010101010101010101010104
+:105C900001010101010101010101010100010101F5
+:105CA00001010101010101010101010101010001E5
+:105CB00001010101010101010101010000010101D6
+:105CC00001010101010101010101010100020001C5
+:105CD00001010101010101000101010101010201B4
+:105CE00001010101010101000101000100010101A7
+:105CF000010101010101010000000101000000009B
+:105D0000010101010101000202020202020202027B
+:105D10000202020202020002020202020201020266
+:105D2000010102020101010102020202020101015C
+:105D30000101010101010101010201010101010152
+:105D4000010101010101010202010202010101013F
+:105D5000010101010101010202010202010101012F
+:105D60000101010101010102010101010101010122
+:105D70000101010101010102020201010101010110
+:105D80000101010101010101010101010101010103
+:105D900001010101010101010101010100010101F4
+:105DA00001010101010101010101010101010201E2
+:105DB00001010101010101010101010000010101D5
+:105DC00001010101010101010101010100010001C5
+:105DD00001010101010101000101010101010201B3
+:105DE00001010101010101000101000100010101A6
+:105DF000010101010101010000000101000000009A
+:105E0000010101010101000202020202020202027A
+:105E10000202020202020002020202020201020265
+:105E20000101020202020101020202020201010159
+:105E3000010101010101010101020202020201014D
+:105E4000010101010101010202010202010101013E
+:105E5000010101010101010202020202010101012D
+:105E60000101010101010102010101020101010120
+:105E7000010101010101010202020101010101010F
+:105E80000101010101010101010101010101010102
+:105E900001010101010101010101010100010101F3
+:105EA00001010101010101010101010101010201E1
+:105EB00001010101010101010101010000010101D4
+:105EC00001010101010101010101010100010201C2
+:105ED00001010101010101000101010101010101B3
+:105EE00001010101010101000101000100010101A5
+:105EF0000101010101010100000001010000000099
+:105F00000101010101010002020202020202020279
+:105F10000202020202020002020202020202020263
+:105F20000101020202020101020202020201010158
+:105F30000101010101010102020202020202010249
+:105F4000010101010101010202020202010101013C
+:105F5000010101010101010202020202010101012C
+:105F6000010101010101010201010102010101011F
+:105F7000010101010101010202020101020202010B
+:105F80000101010101010101010101010101010101
+:105F900001010101010101010101010101010101F1
+:105FA00001010101010101010101010101010201E0
+:105FB00001010101010101010101010000010101D3
+:105FC00001010101010101010102010100010201C0
+:105FD00001010101010101000101010101010101B2
+:105FE00001010101010101000202000100010101A2
+:105FF0000101010101010100000001010000000296
+:106000000101010101010002020202020202020179
+:106010000202020202020002020202020202020262
+:106020000202020202020101020202020201010155
+:106030000101010101010102020202020202010248
+:106040000101010101010102020202020202010238
+:10605000010101010101010202020202010101012B
+:10606000010101010101010201010102010101011E
+:106070000101010101010102020202010202020208
+:1060800001010101010101020101020102010101FD
+:1060900001010101010101010102020101010101EE
+:1060A00001010101010101020101010101010101DF
+:1060B00001010101010101020201010001010101CF
+:1060C00001010101010101010102020100010201BE
+:1060D00001010101010101000101010101010101B1
+:1060E00001010101010101000202000100010101A1
+:1060F0000101010101010100000001010000000295
+:10610000010101010101000102010201020202017B
+:106110000202010202020002020202020202020262
+:106120000202020202020101020202020201020153
+:106130000202020101010102020202020202010244
+:106140000202010101010102020202020202010235
+:10615000010101010101010202020202010101012A
+:10616000010101010101010201010102010101011D
+:106170000101010101010102020202020202020206
+:1061800001010101010101020201020202020101F9
+:1061900001010101010101010102020101010101ED
+:1061A00001010101010101020101010201010101DD
+:1061B00001010101010101020202010001010101CD
+:1061C00001010101010101010102020100010101BE
+:1061D00001010101010101000101010102010101AF
+:1061E000010101010101010102020001000101019F
+:1061F0000101010101010100000001010002000292
+:10620000010101010101000101010201020201017C
+:106210000202010202020002020202020202020261
+:106220000202020202020202020202020201020150
+:106230000202020101010102020202020202020242
+:106240000202020201010102020202020202010232
+:106250000101010101010102020202020102010128
+:106260000202020101010102010101020101010119
+:106270000101010101010102020202020202020205
+:1062800001010101010101020202020202020101F7
+:1062900001010101010101010202020101010101EB
+:1062A00001010101010101020101020201020101DA
+:1062B00001010101010101020202010001010101CC
+:1062C00001010101010101010102020100010101BD
+:1062D00001010101010101000102010102010101AD
+:1062E000010101010101010102020002010101019C
+:1062F0000101010101010100000001010002000291
+:10630000010101010101000101010201020101017C
+:106310000201010102010002020202020202020263
+:10632000020202020202020202020202020102014F
+:106330000202020201010102020202020202020240
+:10634000020202020201020202020202020201022F
+:106350000201010101010102020202020202020124
+:106360000202020101010102010101020102020215
+:106370000202020101010102020202020202020201
+:1063800002010101010101020202020202020101F5
+:1063900001010101010101010202020101010101EA
+:1063A00001010101010101020201020201020101D8
+:1063B00001010101010101020202020001010101CA
+:1063C00001010101010101010102020100010101BC
+:1063D00001010101010101000102010102010101AC
+:1063E000010101010101010102020002010102019A
+:1063F000010101010101010000000101000202028E
+:10640000010101010101000101010101020101017C
+:106410000101020102010002020202020202020262
+:10642000020202020202020202020202020202014D
+:10643000020202020202010202020202020202023D
+:10644000020202020201020202020202020202022D
+:10645000020202020102010202020202020202011F
+:106460000202020101010102010201020102020213
+:106470000202020101010102020202020202020200
+:1064800002020102020201020202020202020101F0
+:1064900001010101010101010202020101010101E9
+:1064A00001010101010101020201020201020101D7
+:1064B00001010101010101020202020001010101C9
+:1064C00001010101010101010102020100010101BB
+:1064D00001010101010101000102010202010101AA
+:1064E0000101010101010101020200020102020297
+:1064F000010101010101010000000101020202018C
+:10650000010101010101000101010101010101017C
+:106510000101020201010002020202020202020261
+:10652000020202020202020202020202020202014C
+:10653000020202020202020202020202020202023B
+:10654000020202020202020202020202020202022B
+:10655000020202020202020202020202020202011C
+:10656000020202020101010201020202020202020F
+:1065700002020201010101020202020202020202FF
+:1065800002020202020202020202020202020202EB
+:1065900002010102010101020202020101010101E5
+:1065A00001010101010101020201020201020101D6
+:1065B00001010101010101020202020001010101C8
+:1065C00001010101010101010202020100010101B9
+:1065D00001010101010101000102010202010101A9
+:1065E0000101010101010101020200020102020296
+:1065F000010202010101010000000101020102018A
+:10660000010101010101000101010101010101017B
+:10661000020202020101000202020202020202025E
+:10662000020202020202020202020202020202024A
+:10663000020202020202020202020202020202023A
+:10664000020202020202020202020202020202022A
+:10665000020202020202020202020202020202011B
+:10666000020202020201010202020202020202020C
+:1066700002020201010101020202020202020202FE
+:1066800002020202020202020202020202020202EA
+:1066900002020102020201020202020201010101E0
+:1066A00001010101010101020202020202020101D3
+:1066B00001010101010101020202020101010101C6
+:1066C00001010101010101020202020100010101B7
+:1066D00001010101010101000202020202010101A6
+:1066E0000101010101010101020200020102020295
+:1066F0000202020201010100000001010201020187
+:10670000010001010001000101010101010101027B
+:10671000020201010101000202020202020202025F
+:106720000202020202020202020202020202020249
+:106730000202020202020202020202020202020239
+:106740000202020202020202020202020202020229
+:106750000202020202020202020202020202020219
+:10676000020202020202010202020202020202020A
+:1067700002020201010101020202020202020202FD
+:1067800002020202020202020202020202020202E9
+:1067900002020202020202020202020201010101DD
+:1067A00001010101010101020202020202020101D2
+:1067B00001010101010101020202020101010101C5
+:1067C00001010101010101020202020100010101B6
+:1067D00001010101010101010202020202010101A4
+:1067E0000101010101010101020200020102020294
+:1067F0000202020201010200000001010201020185
+:106800000100010100010002020202020102020273
+:10681000010201010101000202020202020202025F
+:106820000202020202020202020202020202020248
+:106830000202020202020202020202020202020238
+:106840000202020202020202020202020202020228
+:106850000202020202020202020202020202020218
+:106860000202020202020202020202020202020208
+:1068700002020202020201020202020202020202F9
+:1068800002020202020202020202020202020202E8
+:1068900002020202020202020202020201010101DC
+:1068A00002020201010101020202020202020101CE
+:1068B00001010101010101020202020101010101C4
+:1068C00001010101010101020202020200010101B4
+:1068D00001010101010101010202020202010101A3
+:1068E0000201010101010101020200020102020292
+:1068F0000202020201020200010001010201020182
+:10690000010002010001010202020202020202026F
+:10691000010101010101000202020202020202025F
+:106920000202020202020202020202020202020247
+:106930000202020202020202020202020202020237
+:106940000202020202020202020202020202020227
+:106950000202020202020202020202020202020217
+:106960000202020202020202020202020202020207
+:1069700002020202020201020202020202020202F8
+:1069800002020202020202020202020202020202E7
+:1069900002020202020202020202020201010202D9
+:1069A00002020202020101020202020202020101CB
+:1069B00001010101010101020202020101010101C3
+:1069C00002020101010201020202020200010101B0
+:1069D00001010101010201010202020202010101A1
+:1069E0000201010102010101020200020102020290
+:1069F000020202020202020001010101020102017F
+:106A0000010002020001010202020202020202026D
+:106A1000010101010101000202020202020202025E
+:106A20000202020202020202020202020202020246
+:106A30000202020202020202020202020202020236
+:106A40000202020202020202020202020202020226
+:106A50000202020202020202020202020202020216
+:106A60000202020202020202020202020202020206
+:106A700002020202020202020202020202020202F6
+:106A800002020202020202020202020202020202E6
+:106A900002020202020202020202020201020202D7
+:106AA00002020202020201020202020202020101C9
+:106AB00001010102020201020202020101010102BE
+:106AC00002020202010201020202020200010101AD
+:106AD000020101020202010102020202020101019D
+:106AE000020101020202010102020102010202028C
+:106AF0000202020202020200010101010101010180
+:106B0000000002020202010202020202020202026A
+:106B1000010101010101000202020202020202025D
+:106B20000202020202020202020202020202020245
+:106B30000202020202020202020202020202020235
+:106B40000202020202020202020202020202020225
+:106B50000202020202020202020202020202020215
+:106B60000202020202020202020202020202020205
+:106B700002020202020202020202020202020202F5
+:106B800002020202020202020202020202020202E5
+:106B900002020202020202020202020201020202D6
+:106BA00002020202020202020202020202020101C7
+:106BB00002020202020201020202020101020102B9
+:106BC00002020202020201020202020200010101AB
+:106BD000020202020202010102020202020101019A
+:106BE0000202020202020102020201020102020288
+:106BF000020202020202020002010101010101017E
+:106C0000000002020202010202020102020202026A
+:106C1000010101010101000202020202020202025C
+:106C20000202020202020202020202020202020244
+:106C30000202020202020202020202020202020234
+:106C40000202020202020202020202020202020224
+:106C50000202020202020202020202020202020214
+:106C60000202020202020202020202020202020204
+:106C700002020202020202020202020202020202F4
+:106C800002020202020202020202020202020202E4
+:106C900002020202020202020202020202020202D4
+:106CA00002020202020202020202020202020102C5
+:106CB00002020202020201020202020101020202B7
+:106CC00002020202020202020202020200010101A9
+:106CD0000202020202020101020202020201010199
+:106CE0000202020202020102020201020102020287
+:106CF000020202020202020002020000010101017E
+:106D0000000002020202010202020102010102026B
+:106D1000010101010101000202020202020202025B
+:106D20000202020202020202020202020202020243
+:106D30000202020202020202020202020202020233
+:106D40000202020202020202020202020202020223
+:106D50000202020202020202020202020202020213
+:106D60000202020202020202020202020202020203
+:106D700002020202020202020202020202020202F3
+:106D800002020202020202020202020202020202E3
+:106D900002020202020202020202020202020202D3
+:106DA00002020202020202020202020202020102C4
+:106DB00002020202020202020202020101020202B5
+:106DC00002020202020202020202020201020102A5
+:106DD0000202020202020101020202020202010296
+:106DE0000202020202020102020201020102020286
+:106DF000020202020202020002020000010101017D
+:106E0000000002020202010201020102010101016D
+:106E1000010101010101000202020202020202025A
+:106E20000202020202020202020202020202020242
+:106E30000202020202020202020202020202020232
+:106E40000202020202020202020202020202020222
+:106E50000202020202020202020202020202020212
+:106E60000202020202020202020202020202020202
+:106E700002020202020202020202020202020202F2
+:106E800002020202020202020202020202020202E2
+:106E900002020202020202020202020202020202D2
+:106EA00002020202020202020202020202020102C3
+:106EB00002020202020202020202020102020202B3
+:106EC00002020202020202020202020201020102A4
+:106ED0000202020202020202020202020202020292
+:106EE0000202020202020202020201020202020283
+:106EF000020202020202020002020000010001017D
+:106F0000020002020202010101010101010101016D
+:106F10000101010101010002020202020202020259
+:106F20000202020202020202020202020202020241
+:106F30000202020202020202020202020202020231
+:106F40000202020202020202020202020202020221
+:106F50000202020202020202020202020202020211
+:106F60000202020202020202020202020202020201
+:106F700002020202020202020202020202020202F1
+:106F800002020202020202020202020202020202E1
+:106F900002020202020202020202020202020202D1
+:106FA00002020202020202020202020202020202C1
+:106FB00002020202020202020202020102020202B2
+:106FC00002020202020202020202020201020202A2
+:106FD0000202020202020202020202020202020291
+:106FE0000202020202020202020201020202020282
+:106FF000020202020202020002020000010001007D
+:10700000020002020202010101010101010101016C
+:107010000101010101010002020202020202020258
+:107020000202020202020202020202020202020240
+:107030000202020202020202020202020202020230
+:107040000202020202020202020202020202020220
+:107050000202020202020202020202020202020210
+:107060000202020202020202020202020202020200
+:1070700002020202020202020202020202020202F0
+:1070800002020202020202020202020202020202E0
+:1070900002020202020202020202020202020202D0
+:1070A00002020202020202020202020202020202C0
+:1070B00002020202020202020202020202020202B0
+:1070C00002020202020202020202020201020202A1
+:1070D0000202020202020202020202020202020290
+:1070E0000202020202020202020201020202020281
+:1070F000020202020202020002020000000001007D
+:10710000020002020202010101010101010101016B
+:107110000101010101010002020202020202020257
+:10712000020202020202020202020202020202023F
+:10713000020202020202020202020202020202022F
+:10714000020202020202020202020202020202021F
+:10715000020202020202020202020202020202020F
+:1071600002020202020202020202020202020202FF
+:1071700002020202020202020202020202020202EF
+:1071800002020202020202020202020202020202DF
+:1071900002020202020202020202020202020202CF
+:1071A00002020202020202020202020202020202BF
+:1071B00002020202020202020202020202020202AF
+:1071C00002020202020202020202020201020202A0
+:1071D000020202020202020202020202020202028F
+:1071E000020202020202020202020202020202027F
+:1071F000020202020202020002020000000001007C
+:10720000020002020202010101010101010101016A
+:107210000101010101010002020202020202020256
+:10722000020202020202020202020202020202023E
+:10723000020202020202020202020202020202022E
+:10724000020202020202020202020202020202021E
+:10725000020202020202020202020202020202020E
+:1072600002020202020202020202020202020202FE
+:1072700002020202020202020202020202020202EE
+:1072800002020202020202020202020202020202DE
+:1072900002020202020202020202020202020202CE
+:1072A00002020202020202020202020202020202BE
+:1072B00002020202020202020202020202020202AE
+:1072C000020202020202020202020202010202029F
+:1072D000020202020202020202020202020202028E
+:1072E000020202020202020202020202020202027E
+:1072F000020202020202020002020000000000007C
+:107300000200020202020201010101010101010168
+:107310000101010101010000020202020002020259
+:10732000020202020202020202020202020202023D
+:10733000020202020202020202020202020202022D
+:10734000020202020202020202020202020202021D
+:10735000020202020202020202020202020202020D
+:1073600002020202020202020202020202020202FD
+:1073700002020202020202020202020202020202ED
+:1073800002020202020202020202020202020202DD
+:1073900002020202020202020202020202020202CD
+:1073A00002020202020202020202020202020202BD
+:1073B00002020202020202020202020202020202AD
+:1073C000020202020202020202020202020202029D
+:1073D000020202020202020202020202020202028D
+:1073E000020202020202020202020202020202027D
+:1073F000020202020202020002020000000000007B
+:107400000202020202020201010101010101010165
+:10741000010101010101000002020201000202015A
+:10742000020202020202020202020202020202023C
+:10743000020202020202020202020202020202022C
+:10744000020202020202020202020202020202021C
+:10745000020202020202020202020202020202020C
+:1074600002020202020202020202020202020202FC
+:1074700002020202020202020202020202020202EC
+:1074800002020202020202020202020202020202DC
+:1074900002020202020202020202020202020202CC
+:1074A00002020202020202020202020202020202BC
+:1074B00002020202020202020202020202020202AC
+:1074C000020202020202020202020202020202029C
+:1074D000020202020202020202020202020202028C
+:1074E000020202020202020202020202020202027C
+:1074F000020202020202020000020000000000007C
+:107500000202020202020201010101010101010164
+:10751000010101010101000002020101000202015A
+:10752000020201020202020202020202020202023C
+:10753000020202020202020202020202020202022B
+:10754000020202020202020202020202020202021B
+:10755000020202020202020202020202020202020B
+:1075600002020202020202020202020202020202FB
+:1075700002020202020202020202020202020202EB
+:1075800002020202020202020202020202020202DB
+:1075900002020202020202020202020202020202CB
+:1075A00002020202020202020202020202020202BB
+:1075B00002020202020202020202020202020202AB
+:1075C000020202020202020202020202020202029B
+:1075D000020202020202020202020202020202028B
+:1075E000020202020202020202020202020202027B
+:1075F000020202020202020000000000000000007D
+:107600000202020202020201010101010101010163
+:10761000010101010100000001010101000201015D
+:10762000020201010201020202020202020202023D
+:10763000020202020202020202020202020202022A
+:10764000020202020202020202020202020202021A
+:10765000020202020202020202020202020202020A
+:1076600002020202020202020202020202020202FA
+:1076700002020202020202020202020202020202EA
+:1076800002020202020202020202020202020202DA
+:1076900002020202020202020202020202020202CA
+:1076A00002020202020202020202020202020202BA
+:1076B00002020202020202020202020202020202AA
+:1076C000020202020202020202020202020202029A
+:1076D000020202020202020202020202020202028A
+:1076E000020202020202020202020202020202027A
+:1076F000020202020202020000000000000000007C
+:107700000202020200020201010101010101010164
+:10771000010100010100000001010101000101015E
+:10772000020201010101020202020202020202023D
+:107730000202020202020202020202020202020229
+:107740000202020202020202020202020202020219
+:107750000202020202020202020202020202020209
+:1077600002020202020202020202020202020202F9
+:1077700002020202020202020202020202020202E9
+:1077800002020202020202020202020202020202D9
+:1077900002020202020202020202020202020202C9
+:1077A00002020202020202020202020202020202B9
+:1077B00002020202020202020202020202020202A9
+:1077C0000202020202020202020202020202020299
+:1077D0000202020202020202020202020202020289
+:1077E0000202020202020202020202020202020279
+:1077F000020202020202020000000000000000007B
+:107800000202020200020001010101010101010165
+:10781000010100010000000101010101010101015C
+:107820000101010101010102020102020202020240
+:107830000202020202020202020202020202020228
+:107840000202020202020202020202020202020218
+:107850000202020202020202020202020202020208
+:1078600002020202020202020202020202020202F8
+:1078700002020202020202020202020202020202E8
+:1078800002020202020202020202020202020202D8
+:1078900002020202020202020202020202020202C8
+:1078A00002020202020202020202020202020202B8
+:1078B00002020202020202020202020202020202A8
+:1078C0000202020202020202020202020202020298
+:1078D0000202020202020202020202020202020288
+:1078E0000202020202020202020202020202020278
+:1078F0000202020202020202000000000000000078
+:107900000202020200020001000100010101010166
+:10791000000100000000000101010101010101015D
+:10792000010101010101010202020202020202023E
+:107930000202020202020202020202020202020227
+:107940000202020202020202020202020202020217
+:107950000202020202020202020202020202020207
+:1079600002020202020202020202020202020202F7
+:1079700002020202020202020202020202020202E7
+:1079800002020202020202020202020202020202D7
+:1079900002020202020202020202020202020202C7
+:1079A00002020202020202020202020202020202B7
+:1079B00002020202020202020202020202020202A7
+:1079C0000202020202020202020202020202020297
+:1079D0000202020202020202020202020202020287
+:1079E0000202020202020202020202020202020277
+:1079F0000202020202020202000000000002000273
+:107A00000202020200020000000000010101010167
+:107A1000000000000101000101010101010101015B
+:107A20000101010101010102010002010202020241
+:107A30000202020202020202020202020202020226
+:107A40000202020202020202020202020202020216
+:107A50000202020202020202020202020202020206
+:107A600002020202020202020202020202020202F6
+:107A700002020202020202020202020202020202E6
+:107A800002020202020202020202020202020202D6
+:107A900002020202020202020202020202020202C6
+:107AA00002020202020202020202020202020202B6
+:107AB00002020202020202020202020202020202A6
+:107AC0000202020202020202020202020202020296
+:107AD0000202020202020202020202020202020286
+:107AE0000202020202020202020202020202020276
+:107AF0000202020202020202000000000002000272
+:107B00000202020202020000000000000101010066
+:107B10000100000101010001010101010101010158
+:107B20000101010101010102010001010102020242
+:107B30000202020202020202020102020202020226
+:107B40000202020202020202020002020202020217
+:107B50000202020202020202020202020202020205
+:107B600002020202020202020202020202020202F5
+:107B700002020202020202020202020202020202E5
+:107B800002020202020202020202020202020202D5
+:107B900002020202020202020202020202020202C5
+:107BA00002020202020202020202020202020202B5
+:107BB00002020202020202020202020202020202A5
+:107BC0000202020202020202020202020202020295
+:107BD0000202020202020202020202020202020285
+:107BE0000202020202020202020202020202020275
+:107BF000020202020202020200000202000200026D
+:107C00000202020202020000000000000000000068
+:107C10000101000101010001010101010101010156
+:107C20000101010101010101010001010102010243
+:107C3000010101020202020101010101010102012F
+:107C4000020202020202020101000101020202021A
+:107C50000202020202020202020202020202020204
+:107C600002020202020202020200020202020202F6
+:107C700002020202020202020202020202020202E4
+:107C800002020202020202020202020202020202D4
+:107C900002020202020202020202020202020202C4
+:107CA00002020202020202020202020202020202B4
+:107CB00002020202020202020202020202020202A4
+:107CC0000202020202020202020202020202020294
+:107CD0000202020202020202020202020202020284
+:107CE0000202020202020202020202020202020274
+:107CF000020202020202020202000202000200026A
+:107D00000200020202020000000000000000000069
+:107D10000101010101010001010101010101010154
+:107D20000101010101010101010101010101010143
+:107D30000101010101010101010101010101010133
+:107D40000101010101000101010001010101020124
+:107D50000202020202020201010101010202020208
+:107D600002020202020202020000020202020202F7
+:107D700002020202020202010101020202020202E6
+:107D800002020202020202020202020202020202D3
+:107D900002020202020202020202020202020202C3
+:107DA00002020202020202020202020202020202B3
+:107DB00002020202020202020202020202020202A3
+:107DC0000202020202020202020202020202020293
+:107DD0000202020202020202020202020202020283
+:107DE0000202020202020202020202020202020273
+:107DF0000202020202020202020202020202020263
+:107E00000200020202020000000000000101010065
+:107E10000101010101010001010101010101010153
+:107E20000101010101010101010101010101010142
+:107E30000101010101010101010101010101010132
+:107E40000101010101010101010101010101010122
+:107E50000101010101010101010101010101010211
+:107E600001010102020202010000020102020202FB
+:107E700002020202020202010101010101010101EB
+:107E800002020202020202020202020202020202D2
+:107E900002020202020202020202020202020202C2
+:107EA00002020202020202020202020202020202B2
+:107EB00002020202020202020202020202020202A2
+:107EC0000202020202020202020202020202020292
+:107ED0000202020202020202020202020202020282
+:107EE0000202020202020202020202020202020272
+:107EF0000202020202020202020202020202020262
+:107F00000202020202020000000001000101010160
+:107F10000101010101010101010101010101010151
+:107F20000101010101010101010101010101010141
+:107F30000101010101010101010101010101010131
+:107F40000101010101010101010101010101010121
+:107F50000101010101010101010101010101010111
+:107F60000101010101010101000001010101010103
+:107F700001010102020202010101010101010101ED
+:107F800001010101010101020202020202020202D8
+:107F900002020202020202020202020202020202C1
+:107FA00002020202020202020202020202020202B1
+:107FB00002020202020202020202020202020202A1
+:107FC0000202020202020202020202020202020291
+:107FD0000202020202020202020202020202020281
+:107FE0000202020202020202020202020202020271
+:107FF0000202020202020202020202020202020261
+:10800000020202020202000000000101010101015E
+:108010000101010101010101010101010101010150
+:108020000101010101010101010101010101010140
+:108030000101010101010101010101010101010130
+:108040000101010101010101010101010101010120
+:108050000101010101010101010101010101010110
+:108060000101010101010101010101010101010100
+:1080700001010101010101010101010101010101F0
+:1080800001010101010101010101010101010202DE
+:1080900002020202020202020202020202020202C0
+:1080A00002020202020202020200020202020202B2
+:1080B00002020202020202020202020202020202A0
+:1080C0000202020202020202020202020202020290
+:1080D0000202020202020202020202020202020280
+:1080E0000202020202020202020202020202020270
+:1080F0000202020202020202020202020202020260
+:10810000020202020202000001010101010101015B
+:10811000010101010101010101010101010101014F
+:10812000010101010101010101010101010101013F
+:10813000010101010101010101010101010101012F
+:10814000010101010101010101010101010101011F
+:10815000010101010101010101010101010101010F
+:1081600001010101010101010101010101010101FF
+:1081700001010101010101010101010101010101EF
+:1081800001010101010101010101010101010101DF
+:1081900001010101010101000202020002020202CA
+:1081A00002020202020202020200020202020202B1
+:1081B000020202020202020202020202020202029F
+:1081C0000202020202020200010202010202020293
+:1081D000020202020202020202020202020202027F
+:1081E000020202020202020202020202020202026F
+:1081F000020202020202020202020202020202025F
+:108200000202020202020201010101010101010157
+:10821000010101010101010101010101010101014E
+:10822000010101010101010101010101010101013E
+:10823000010101010101010101010101010101012E
+:10824000010101010101010101010101010101011E
+:10825000010101010101010101010101010101010E
+:1082600001010101010101010101010101010101FE
+:1082700001010101010101010101010101010101EE
+:1082800001010101010101010101010101010101DE
+:1082900001010101010101000101010002020202CC
+:1082A00002020202020202020200020201020202B1
+:1082B000020202020202020202020202020202029E
+:1082C0000202020202020200020101020202020292
+:1082D0000202020202020202010100010102020284
+:1082E0000202020202020202010102010202020271
+:1082F000020202020202020202020202020202025E
+:108300000202020202020201010101010101010156
+:10831000010101010101010101010101010101014D
+:10832000010101010101010101010101010101013D
+:10833000010101010101010101010101010101012D
+:10834000010101010101010101010101010101011D
+:10835000010101010101010101010101010101010D
+:1083600001010101010101010101010101010101FD
+:1083700001010101010101010101010101010101ED
+:1083800001010101010101010101010101010101DD
+:1083900001010101010101010101010101010101CD
+:1083A00001010101010101010100010102010202BB
+:1083B000020202020202020202020102020202029E
+:1083C0000202020202020201010101010101010196
+:1083D0000101010101010102020200020202020286
+:1083E000020202020202020202020202020202026D
+:1083F000020202020202020202020202020202025D
+:108400000202020202020201010101010101010155
+:10841000010101010101010101010101010101014C
+:10842000010101010101010101010101010101013C
+:10843000010101010101010101010101010101012C
+:10844000010101010101010101010101010101011C
+:10845000010101010101010101010101010101010C
+:1084600001010101010101010101010101010101FC
+:1084700001010101010101010101010101010101EC
+:1084800001010101010101010101010101010101DC
+:1084900001010101010101010101010101010101CC
+:1084A00001010101010101010101010101010101BC
+:1084B00001010101010101010101020202020202A6
+:1084C0000202020202020201010101010101010195
+:1084D000010101010101010101010101010101018C
+:1084E0000101010101010100000000000000000085
+:1084F0000000000000020002020202020202020268
+:108500000202020202020201010101010101010154
+:10851000010101010101010101010101010101014B
+:10852000010101010101010101010101010101013B
+:10853000010101010101010101010101010101012B
+:10854000010101010101010101010101010101011B
+:10855000010101010101010101010101010101010B
+:1085600001010101010101010101010101010101FB
+:1085700001010101010101010101010101010101EB
+:1085800001010101010101010101010101010101DB
+:1085900001010101010101010101010101010101CB
+:1085A00001010101010101010101010101010101BB
+:1085B00001010101010101010101010101010101AB
+:1085C000010101010101010101010101010101019B
+:1085D000010101010101010101010101010101018B
+:1085E000010101010101010101010101010101017B
+:1085F0000101010101010102010102020202020264
+:108600000202020202020201010101010101010153
+:10861000010101010101010101010101010101014A
+:10862000010101010101010101010101010101013A
+:10863000010101010101010101010101010101012A
+:10864000010101010101010101010101010101011A
+:10865000010101010101010101010101010101010A
+:1086600001010101010101010101010101010101FA
+:1086700001010101010101010101010101010101EA
+:1086800001010101010101010101010101010101DA
+:1086900001010101010101010101010101010101CA
+:1086A00001010101010101010101010101010101BA
+:1086B00001010101010101010101010101010101AA
+:1086C000010101010101010101010101010101019A
+:1086D000010101010101010101010101010101018A
+:1086E000010101010101010101010101010101017A
+:1086F0000101010101010100000000000000000073
+:108700000000000000000001010101010101010160
+:108710000101010101010101010101010101010149
+:108720000101010101010101010101010101010139
+:108730000101010101010101010101010101010129
+:108740000101010101010101010101010101010119
+:108750000101010101010101010101010101010109
+:1087600001010101010101010101010101010101F9
+:1087700001010101010101010101010101010101E9
+:1087800001010101010101010101010101010101D9
+:1087900001010101010101010101010101010101C9
+:1087A00001010101010101010101010101010101B9
+:1087B00001010101010101010101010101010101A9
+:1087C0000101010101010101010101010101010199
+:1087D0000101010101010101010101010101010189
+:1087E0000101010101010101010101010101010179
+:1087F0000101010101010100000000000000000072
+:10880000000000000000000101010101010101015F
+:108810000101010101010101010101010101010148
+:108820000101010101010101010101010101010138
+:108830000101010101010101010101010101010128
+:108840000101010101010101010101010101010118
+:108850000101010101010101010101010101010108
+:1088600001010101010101010101010101010101F8
+:1088700001010101010101010101010101010101E8
+:1088800001010101010101010101010101010101D8
+:1088900001010101010101010101010101010101C8
+:1088A00001010101010101010101010101010101B8
+:1088B00001010101010101010101010101010101A8
+:1088C00001010101010101000000000000000000A1
+:1088D0000000000000000000000000000000000098
+:1088E0000000000000000002020202020202020276
+:1088F000020202020202020000000000000000006A
+:10890000000000000000000101010101010101015E
+:108910000101010101010101010101010101010147
+:108920000101010101010101010101010101010137
+:108930000101010101010100000000000000000030
+:10894000000000000000000101010101010101011E
+:108950000101010101010101010101010101010107
+:108960000101010101010100000000000000000000
+:1089700000000000000000010101010101010101EE
+:1089800001010101010101010101010101010101D7
+:1089900001010101010101000000000000000000D0
+:1089A00000000000000000010101010101010101BE
+:1089B00001010101010101010101010101010101A7
+:1089C00001010101010101000000000000000000A0
+:1089D0000000000000000002020202020202020285
+:1089E0000202020202020202020202020202020267
+:1089F0000202020202020200000000000000000069
+:108A0000000000000000000101010101010101015D
+:108A10000101010101010101010101010101010146
+:108A20000101010101010101010101010101010136
+:108A3000010101010101010000000000000000002F
+:108A4000000000000000000101010101010101011D
+:108A5000010101010101010000000000000000000F
+:108A60000000000000000000000000000000000006
+:108A700000000000000000010101010101010101ED
+:108A800001010101010101010101010101010101D6
+:108A900001010101010101000000000000000000CF
+:108AA00000000000000000010101010101010101BD
+:108AB00001010101010101010101010101010101A6
+:108AC000010101010101010202020202020202028D
+:108AD0000202020202020202020202020202020276
+:108AE0000202020202020200000000000000000078
+:108AF0000000000000000000000000000000000076
+:108B0000000000000000000101010101010101015C
+:108B1000010101010101010000000000000000004E
+:108B20000000000000000000000000000000000045
+:108B30000000000000000000000000000000000035
+:108B40000000000000000002020202020202020213
+:108B500002020202020202020202020202020202F5
+:108B600002020202020202020202020202020202E5
+:108B700002020202020202020202020202020202D5
+:108B800002020202020202020202020202020202C5
+:108B900002020202020202020202020202020202B5
+:108BA00002020202020202020202020202020202A5
+:108BB0000202020202020202020202020202020295
+:108BC0000202020202020202020202020202020285
+:108BD0000202020202020200000000000000000087
+:108BE0000000000000000000000000000000000085
+:108BF0000000000000000000000000000000000075
+:108C0000000000000000000101010101010101015B
+:108C1000010101010101010000000000000000004D
+:108C20000000000000000000000000000000000044
+:108C30000000000000000000000000000000000034
+:108C40000000000000000000000000000000000024
+:108C50000000000000000000000000000000000014
+:108C60000000000000000000000000000000000004
+:108C700000000000000000020202020202020202E2
+:108C800002020202020202020202020202020202C4
+:108C900002020202020202000000000000000000C6
+:108CA00000000000000000020202020202020202B2
+:108CB0000202020202020202020202020202020294
+:108CC0000202020202020200000000000000000096
+:108CD0000000000000000000000000000000000094
+:108CE0000000000000000000000000000000000084
+:108CF0000000000000000000000000000000000074
+:108D00000000000000000000000000000000000063
+:108D10000000000000000000000000000000000053
+:108D20000000000000000000000000000000000043
+:108D30000000000000000000000000000000000033
+:108D40000000000000000000000000000000000023
+:108D50000000000000000000000000000000000013
+:108D60000000000000000000000000000000000003
+:108D700000000000000000000000000000000000F3
+:108D800000000000000000000000000000000000E3
+:108D900000000000000000000000000000000000D3
+:108DA00000000000000000000000000000000000C3
+:108DB00000000000000000000000000000000000B3
+:108DC00000000000000000000000000000000000A3
+:108DD0000000000000000000000000000000000093
+:108DE0000000000000000000000000000000000083
+:108DF0000000000000000000000000000000000073
+:108E000000000000000000388E0A00000000004052
+:108E1000040B000000000048590B00000000005047
+:108E2000A50B000000000058F10B000000000060DE
+:108E3000350C000000000068730C0000000000709A
+:108E4000AC0C000000000078E20C00000000008084
+:108E5000150D000000000088480D00000000009083
+:108E6000830D000000000098C70D0000000000A066
+:108E70000B0E000000000076000000000000000063
+:108E800002000002020000000002000202000001D5
+:108E900000000000000000020000020000020200CA
+:108EA00000000200000202020200020000020000B4
+:108EB00000000002000000000000000000000002AE
+:108EC00000000000000000000200000000000000A0
+:108ED000000000000200000000020000000000008E
+:108EE000020000000000000000020000020000007C
+:108EF0000000000000000000000000000000000072
+:108F00000000000000000000000000000000000061
+:108F1000000200000200000000000000000000004D
+:108F20000000000000020200020002000002020035
+:108F30000202000000000000000200000200000029
+:108F40000202000202000000000200020200000211
+:108F50000000020000020202020002000002020001
+:108F600002020002020000000000000002000000F7
+:108F700000000200000202020200020000020002E1
+:108F800002020202020002020002020202020001C8
+:108F900002000000000000020000020202020200C3
+:108FA00000020200020202020202020200020000AB
+:108FB00000000202000000000000000000020202A7
+:108FC000020000000000000002000000000000029B
+:108FD0000000020002020202020200000000000083
+:108FE0000200000000000002000200000200000079
+:108FF0000000000000000000000000000000000071
+:109000000000000000000000000000000000000060
+:109010000002000002020200000002000002000044
+:10902000020000000202020002020200000202022C
+:10903000020200000002020002020000020002021E
+:109040000202020202020202020202020202020200
+:1090500002020202020202020202020202020202F0
+:1090600002020202020000000200020002020200EC
+:1090700002020202020202020202020202020002D2
+:1090800002020202020202020202020202020002C2
+:1090900002000000000000020000020202020201C1
+:1090A00000020200020202020202020200020000AA
+:1090B00000000202000000000000000000020202A6
+:1090C000020000000000000002000000000000029A
+:1090D0000200020002020202020200000000000080
+:1090E0000200000000000002000200000200000078
+:1090F0000000000000000000000000000000000070
+:10910000000000000000000000000000000000005F
+:10911000000200000202020000000202000200023F
+:109120000200020002020202020202000002020227
+:10913000020200000202020002020000020002021B
+:1091400002020202020202020202020202020202FF
+:1091500002020202020202020202020202020202EF
+:1091600002020202020000000200020002020200EB
+:1091700002020202020202020202020202020202CF
+:1091800002020202020202020202020202020002C1
+:1091900002000000000000020000020202020201C0
+:1091A00002020200020202020202020200020000A7
+:1091B00000000202000000000000000000020202A5
+:1091C0000202000200000000020000000200000293
+:1091D000020002000202020202020000000000007F
+:1091E0000200000000000002000200000200000077
+:1091F000000000020000000000000000020000006B
+:10920000000000000000000000000000000000025C
+:10921000000200000202020200000202000200023C
+:109220000200020202020202020202020002020222
+:109230000202020002020200020200000202020216
+:1092400002020202020202020202020202020202FE
+:1092500002020202020202020202020202020202EE
+:1092600002020202020000000200020002020200EA
+:1092700002020202020202020202020202020202CE
+:1092800002020202020202020202020202020002C0
+:1092900002000000000000020000020202020202BE
+:1092A00002020200020202020202020200020000A6
+:1092B00000000202000000000000000000020202A4
+:1092C0000202000200000000020002000200000290
+:1092D000020202000202020202020000000000007C
+:1092E0000200000200000002000200000200000074
+:1092F0000000020200000000000000000200000068
+:10930000000000000000000000000000000000025B
+:109310000202000202020202000002020002000237
+:109320000200020202020202020202020002020221
+:109330000202020202020200020200000202020213
+:1093400002020202020202020202020202020202FD
+:1093500002020202020202020202020202020202ED
+:1093600002020202020000000200020002020200E9
+:1093700002020202020202020202020202020202CD
+:1093800002020202020202020202020202020002BF
+:1093900002000000000000020000020202020202BD
+:1093A00002020202020202020202020200020000A3
+:1093B00000000202000000000000000000020202A3
+:1093C000020200020000000002000202020000028D
+:1093D000020202000202020202020000000000007B
+:1093E0000200000200000002000200000200020071
+:1093F0000000020200000000000000000200000067
+:10940000000000000000000000000000000000025A
+:109410000202000202020202020002020002000234
+:10942000020202020202020202020202020202021C
+:10943000020202020202020202020200020202020E
+:1094400002020202020202020202020202020202FC
+:1094500002020202020202020202020202020202EC
+:1094600002020202020000000200020002020200E8
+:1094700002020202020202020202020202020202CC
+:1094800002020202020202020202020202020002BE
+:1094900002000000000000020000020202020202BC
+:1094A00002020202020202020202020200020000A2
+:1094B00000000202000000000000000000020202A2
+:1094C000020202020000000002000202020000028A
+:1094D000020202000202020202020000000000007A
+:1094E000020000020000000200020000020002026E
+:1094F0000000020200000000020000000200000064
+:109500000000000000000000000000000000000259
+:10951000020200020202020202020202020200022F
+:10952000020202020202020202020202020202021B
+:10953000020202020202020202020202020202020B
+:1095400002020202020202020202020202020202FB
+:1095500002020202020202020202020202020202EB
+:1095600002020202020000000200020002020100E8
+:1095700002020202020202020202020202020202CB
+:1095800002020202020202020202020202020002BD
+:1095900002000000000000020000020202020202BB
+:1095A00002020202020202020202020200020000A1
+:1095B00000000202000000000000000000020202A1
+:1095C0000202020200000000020002020200000289
+:1095D0000202020002020202020200000000000079
+:1095E000020000020000000200020000020002026D
+:1095F0000002020200000000020000000200000061
+:109600000000000000000000000000000000000258
+:10961000020202020202020202020202020200022C
+:10962000020202020202020202020202020202021A
+:10963000020202020202020202020202020202020A
+:1096400002020202020202020202020202020202FA
+:1096500002020202020202020202020202020202EA
+:1096600002020202020000000200020002020100E7
+:1096700002020202020202020202020202020202CA
+:1096800002020202020202020202020202020002BC
+:1096900002000000000000020000020202020202BA
+:1096A00002020202020202020202020200020000A0
+:1096B000020202020000000000000000000202029C
+:1096C0000202020200020200020002020200000284
+:1096D0000202020002020202020200000000000078
+:1096E000020000020000000200020000020002026C
+:1096F000000202020000000002000000020002005E
+:109700000000000000000000000000000000000257
+:10971000020202020202020202020202020200022B
+:109720000202020202020202020202020202020219
+:109730000202020202020202020202020202020209
+:1097400002020202020202020202020202020202F9
+:1097500002020202020202020202020202020202E9
+:1097600002020202020000000200020202020100E4
+:1097700002020202020202020202020202020202C9
+:1097800002020202020202020202020202020002BB
+:1097900002000000000000020000020202020202B9
+:1097A000020202020202020202020202000200009F
+:1097B000020202020000000000000000000202029B
+:1097C0000202020200020200020002020200000283
+:1097D0000202020002020202020202000000000075
+:1097E0000200000200000002020200000200020269
+:1097F0000202020202000000020000000200020059
+:109800000000000000000000000000000000000256
+:10981000020202020202020202020202020200022A
+:109820000202020202020202020202020202020218
+:109830000202020202020202020202020202020208
+:1098400002020202020202020202020202020202F8
+:1098500002020202020202020202020202020202E8
+:1098600002020202020000000200020202010100E4
+:1098700002020202020202020202020202020202C8
+:1098800002020202020202020202020202020002BA
+:1098900002000000000000020000020202020202B8
+:1098A000020202020202020202020202000200009E
+:1098B000020202020000000000000000000202029A
+:1098C0000202020200020200020002020200000282
+:1098D0000202020202020202020202000000000072
+:1098E0000200000202000002020200000200020266
+:1098F0000202020202020000020002000200020054
+:109900000000000000000000000000000000000255
+:109910000202020202020202020202020202000229
+:109920000202020202020202020202020202020217
+:109930000202020202020202020202020202020207
+:1099400002020202020202020202020202020202F7
+:1099500002020202020202020202020202020202E7
+:1099600002020202020000000200020202010100E3
+:1099700002020202020202020202020202020102C8
+:1099800002020202020202020202020202020002B9
+:1099900002000000000000020000020202020202B7
+:1099A000020202020202020202020202000200009D
+:1099B0000202020200000000000000000002020299
+:1099C0000202020200020200020002020200000281
+:1099D0000202020202020202020202000000000071
+:1099E0000200000202020002020200000202020261
+:1099F000020202020202000002000202020002024F
+:109A00000000000000000000000000000000000254
+:109A10000202020202020202020202020202000228
+:109A20000202020202020202020202020202020216
+:109A30000202020202020202020202020202020206
+:109A400002020202020202020202020202020202F6
+:109A500002020202020202020202020202020202E6
+:109A600002020202020000000200020202010100E2
+:109A700002020202020202020202020202020102C7
+:109A800002020202020202020202020202020002B8
+:109A900002000000000000020000020202020202B6
+:109AA000020202020202020202020202000200009C
+:109AB0000202020200000000000000000002020298
+:109AC0000202020200020200020002020200000280
+:109AD0000202020202020202020202000000000070
+:109AE0000200000202020002020200000202020260
+:109AF000020202020202000002000202020202024C
+:109B00000000000000000000000000000000000253
+:109B10000202020202020202020202020202000227
+:109B20000202020202020202020202020202020215
+:109B30000202020202020202020202020202020205
+:109B400002020202020202020202020202020202F5
+:109B500002020202020202020202020202020202E5
+:109B600002020202020000000200020201010100E2
+:109B700002020202020202020202020202020102C6
+:109B800002020202020202020202020202020002B7
+:109B900002000000000000020000020202020202B5
+:109BA0000202020202020202020202020202000099
+:109BB0000202020200000000000000000002020297
+:109BC000020202020002020002020202020000027D
+:109BD000020202020202020202020200000000006F
+:109BE000020000020202000202020000020202025F
+:109BF000020202020202000002000202020202024B
+:109C00000000020000000000000000000000000250
+:109C10000202020202020202020202020202020224
+:109C20000202020202020202020202020202020214
+:109C30000202020202020202020202020202020204
+:109C400002020202020202020202020202020202F4
+:109C500002020202020202020202020202020202E4
+:109C600002020202020000000200020201010100E1
+:109C700002020202020202020202020202010102C6
+:109C800002020202020202020202020202020002B6
+:109C900002000000000000020000020202020202B4
+:109CA0000202020202020202020202020202000098
+:109CB0000202020200000000000000000202020294
+:109CC000020202020002020002020202020000027C
+:109CD000020202020202020202020200000000006E
+:109CE000020000020202000202020000020202025E
+:109CF000020202020202000002000202020202024A
+:109D00000000020200000000000200000200000249
+:109D10000202020202020202020202020202020223
+:109D20000202020202020202020202020202020213
+:109D30000202020202020202020202020202020203
+:109D400002020202020202020202020202020202F3
+:109D500002020202020202020202020202020102E4
+:109D600002020202020000000202020201010100DE
+:109D700002020202020202020202020202010102C5
+:109D800002020202020202020202020202020002B5
+:109D900002000002000000020000020202020202B1
+:109DA0000202020202020202020202020202000097
+:109DB0000202020200000000000000000202020293
+:109DC000020202020002020002020202020000027B
+:109DD000020202020202020202020200000000006D
+:109DE000020000020202000202020000020202025D
+:109DF0000202020202020000020002020202020249
+:109E00000000020200000000020200000200000246
+:109E10000202020202020202020202020202020222
+:109E20000202020202020202020202020202010213
+:109E30000202020202020202020202020202020202
+:109E400002020202020202020202020202020102F3
+:109E500002020202020202020202020202020102E3
+:109E600002020202020000000202010201010100DE
+:109E700002020202020202020202020102010102C5
+:109E800002020202020202020202020202020002B4
+:109E900002000002000000020000020202020202B0
+:109EA0000202020202020202020202020202000096
+:109EB0000202020200000000000000000202020292
+:109EC0000202020200020200020202020202000278
+:109ED000020202020202020202020200000000006C
+:109EE000020000020202000202020002020202025A
+:109EF0000202020202020000020002020202020248
+:109F00000202020200000000020200000200000241
+:109F10000202020202020202020202020202020221
+:109F20000202020202020202020202020202010212
+:109F30000202020202020202020202020202020201
+:109F400002020202020202020202020202020102F2
+:109F500002020202020202020202020202020102E2
+:109F600002020202020000000202010201010100DD
+:109F700002020202020202020202010101010102C6
+:109F800002020202020202020202020202020002B3
+:109F900002000002000000020000020202020202AF
+:109FA0000202020202020202020202020202000095
+:109FB0000202020200000000000000000202020291
+:109FC0000202020200020200020202020202000277
+:109FD000020202020202020202020200000000006B
+:109FE0000200000202020002020200020202020259
+:109FF0000202020202020000020002020202020247
+:10A00000020202020000000002020000020202023C
+:10A010000202020202020202020202020202020220
+:10A020000202020202020202020202020202010211
+:10A030000202020202020202020202020202020200
+:10A0400002020202020202020202020202020102F1
+:10A0500002020202020202020202020202020102E1
+:10A0600002020202020000020102010101010100DC
+:10A0700002020202020202020201010101010102C6
+:10A0800002020202020202020202020202020002B2
+:10A0900002000002000000020000020202020202AE
+:10A0A0000202020202020202020202020202000094
+:10A0B0000202020200000000000000000202020290
+:10A0C0000202020200020200020202020202020274
+:10A0D0000202020202020202020202020000000068
+:10A0E0000200000202020002020200020202020258
+:10A0F0000202020202020000020002020202020246
+:10A100000202020202000000020200000202020239
+:10A11000020202020202020202020202020202021F
+:10A120000202020202020202020202020202010210
+:10A130000202020202020202020202020202010200
+:10A1400002020202020202020202020202020102F0
+:10A1500002020202020202020202020202010102E1
+:10A1600002020202020000020102010101010100DB
+:10A1700002020202020202020101010101010102C6
+:10A1800002020202020202020202020202020002B1
+:10A1900002000002000000020000020202020202AD
+:10A1A0000202020202020202020202020202000192
+:10A1B000020202020000000000000000020202028F
+:10A1C0000202020200020200020202020202020273
+:10A1D0000202020202020202020202020000000067
+:10A1E0000200000202020002020200020202020257
+:10A1F0000202020202020000020202020202020243
+:10A200000202020202000202020200000202020234
+:10A21000020202020202020202020202020202021E
+:10A220000202020202020202020202020201010210
+:10A2300002020202020202020202020202020102FF
+:10A2400002020202020202020202020202010102F0
+:10A2500002020202020202020202020202010102E0
+:10A2600002020202020000020102010101010100DA
+:10A2700002020202020202010101010101010102C6
+:10A2800002020202020202020202020202020002B0
+:10A2900002000002000000020000020202020202AC
+:10A2A0000202020202020202020202020202000191
+:10A2B000020202020000000000000000020202028E
+:10A2C0000202020200020200020202020202020272
+:10A2D0000202020202020202020202020000000066
+:10A2E0000200000202020002020200020202020256
+:10A2F0000202020202020000020202020202020242
+:10A300000202020202000202020200000202020233
+:10A31000020202020202020202020202020202021D
+:10A32000020202020202020202020202020101020F
+:10A3300002020202020202020202020202020102FE
+:10A3400002020202020202020202020202010102EF
+:10A3500002020202020202020202020202010102DF
+:10A3600002020202020000020102010101010100D9
+:10A3700002020202020201010101010101010102C6
+:10A3800002020202020202020202020202020002AF
+:10A3900002010002010000020000020202020202A9
+:10A3A000020202020202020202020202020200028F
+:10A3B000020202020000000000000000020202028D
+:10A3C0000202020200020200020202020202020271
+:10A3D0000202020202020202020202020000000065
+:10A3E0000200000202020002020200020202020255
+:10A3F0000202020202020000020202020202020241
+:10A40000020202020202020202020200020202022E
+:10A41000020202020202020202020202020202021C
+:10A42000020202020202020202020202020101020E
+:10A4300002020202020202020202020202020102FD
+:10A4400002020202020202020202020202010102EE
+:10A4500002020202020202020202020202010102DE
+:10A4600002020202010002020102010101010100D7
+:10A4700002020202020101010101010101010102C6
+:10A4800002020202020202020202020202020002AE
+:10A4900002010002010000020000020202020202A8
+:10A4A000020202020202020202020202020200028E
+:10A4B000020202020000000000000000020202028C
+:10A4C0000202020200020200020202020202020270
+:10A4D0000202020202020202020202020000000064
+:10A4E0000200000202020002020200020202020254
+:10A4F000020202020202020002020202020201023F
+:10A50000020202020202020202020202020202022B
+:10A51000020202020202020202020202020202021B
+:10A52000020202020202020202020202020101020D
+:10A5300002020202020202020202020202020102FC
+:10A5400002020202020202020202020201010102EE
+:10A5500002020202020202020202020101010102DF
+:10A5600002020201010002020101010101010100D8
+:10A5700002020202020101010101010101010102C5
+:10A5800002020202020202020202020202020002AD
+:10A5900002020002020000020000020202020202A5
+:10A5A000020202020202020202020202020200028D
+:10A5B000020202020000000000000200020201028A
+:10A5C000020202020002020002020202020202026F
+:10A5D0000202020202020202020202020000020061
+:10A5E0000200000202020002020200020202010254
+:10A5F000020202020202020002020202020201023E
+:10A60000020202020202020202020202020202022A
+:10A61000020202020202020202020202020102021B
+:10A62000020202020202020202020202020101020C
+:10A6300002020202020202020202020202010102FC
+:10A6400002020202020202020202020101010102EE
+:10A6500002020202020202020202020101010102DE
+:10A6600002020201010202020101010101010100D5
+:10A6700002020202020101010101010101010102C4
+:10A6800002020202020202020202020202020002AC
+:10A6900002020002020000020000020202020202A4
+:10A6A000020202020202020202020202020202028A
+:10A6B0000202020200000000000002000202010289
+:10A6C000020202020002020002020202020202026E
+:10A6D0000202020202020202020202020000020060
+:10A6E0000200000202020002020200020202010253
+:10A6F000020202020202020002020202020201023D
+:10A700000202020202020202020202020202020229
+:10A71000020202020202020202020202020102021A
+:10A72000020202020202020202020202020101020B
+:10A7300002020202020202020202020202010102FB
+:10A7400002020202020202020202020101010102ED
+:10A7500002020202020202020202010101010102DE
+:10A7600002020101010202020101010101010100D5
+:10A7700002020202010101010101010101010102C4
+:10A7800002020202020202020202020202020002AB
+:10A7900002020002020000020000020202020202A3
+:10A7A0000202020202020202020202020202020289
+:10A7B0000202020200000000000002000202010288
+:10A7C000020202020002020002020202020202026D
+:10A7D000020202020202020202020202000002005F
+:10A7E0000200000202020002020200020202010252
+:10A7F000020202020202020002020202020201023C
+:10A800000202020202020202020202020202020228
+:10A810000202020202020202020202020201020219
+:10A82000020202020202020202020202020101020A
+:10A8300002020202020202020202020201010102FB
+:10A8400002020202020202020202010101010102ED
+:10A8500002020202020202020201010101010101DF
+:10A8600001010101010202020101010101010100D6
+:10A8700002020202010101010101010101010102C3
+:10A8800002020202020202020202020202010002AB
+:10A8900002020102020000020000020202020202A1
+:10A8A0000202020202020202020202020202020288
+:10A8B0000202020200000000000002000202010287
+:10A8C000020202020002020002020202020202026C
+:10A8D000020202020202020202020202000002005E
+:10A8E0000200000202020002020200020202010251
+:10A8F000020202020202020002020202020201023B
+:10A900000202020202020202020202020202020227
+:10A910000202020202020202020202020201010219
+:10A92000020202020202020202020101010101020C
+:10A9300002020202020202020202020201010102FA
+:10A9400002020202020202020201010101010102ED
+:10A9500002020202020202020201010101010101DE
+:10A9600001010101010202010101010101010100D6
+:10A9700002020202010101010101010101010102C2
+:10A9800002020202020202020202020202010002AA
+:10A9900002020102020000020000020202020102A1
+:10A9A0000202020202020202020202020201020288
+:10A9B0000202020200000000010002000201010286
+:10A9C000020202020002020002020202020202026B
+:10A9D000020202020202020202020202000002005D
+:10A9E0000200000202020002020200020202010250
+:10A9F000020202020202020002020202010201023B
+:10AA00000202020202020202020202020202010227
+:10AA10000202020202020202020202020201010218
+:10AA2000020202020202020202010101010101020C
+:10AA300002020202020202020202020201010102F9
+:10AA400002020202020202020101010101010102ED
+:10AA500002020202020202020101010101010101DE
+:10AA600001010101010202010101010101010100D5
+:10AA700002020201010101010101010101010102C2
+:10AA800002020202020202020202020202010002A9
+:10AA9000020202020200000200000202020201029F
+:10AAA0000202020202020202020202020201020287
+:10AAB0000202020200000000010202010201010282
+:10AAC000020202020002020002020202020202026A
+:10AAD000020202020202020202020202000002005C
+:10AAE0000200000202020002020200020102010250
+:10AAF000020202020202020002020202010101023B
+:10AB00000202020202020202020202020202010226
+:10AB10000202020202020202020202020201010217
+:10AB2000020202020202020201010101010101020C
+:10AB300002020202020202020202020201010102F8
+:10AB400002020202020202020101010101010102EC
+:10AB500002020202020202010101010101010101DE
+:10AB600001010101010202010101010101010100D4
+:10AB700002020101010101010101010101010102C2
+:10AB800002020202020202020202020201010002A9
+:10AB9000020202020200000200000202020201029E
+:10ABA0000202020202020202020202020201020286
+:10ABB000020202020000000202020201020101027E
+:10ABC0000202020200020200020202020202020269
+:10ABD0000202020202020202020202020002020059
+:10ABE000020000020202000202020002010201024F
+:10ABF000020202020202020002020202010101023A
+:10AC00000202020202020202020202020202010225
+:10AC10000202020202020202020202010201010217
+:10AC2000020202020202020201010101010101020B
+:10AC300002020202020202020201020201010102F8
+:10AC400002020202020202010101010101010102EC
+:10AC500002020202020201010101010101010101DE
+:10AC600001010101010201010101010101010100D4
+:10AC700001020101010101010101010101010102C2
+:10AC800002020202020202020202020101010002A9
+:10AC9000020202020200020200000202020201029B
+:10ACA0000202020202020202020202020201020285
+:10ACB000020202020000000202020202020101027C
+:10ACC0000202020200020200020202020202020268
+:10ACD0000202020202020202020202020002020058
+:10ACE000020000020202000202020002010101024F
+:10ACF0000202020202020202020202020101010237
+:10AD00000202020202020202020202020202010224
+:10AD10000202020202020202020201010101010218
+:10AD2000020202020202020201010101010101020A
+:10AD300002020202020202020201020101010102F8
+:10AD400002020202020201010101010101010102EC
+:10AD500002020202020101010101010101010101DE
+:10AD600001010101010201010101010101010100D3
+:10AD700001020101010101010101010101010102C1
+:10AD800002020202020202020202020101010002A8
+:10AD9000020202020200020200000202020101029B
+:10ADA0000202020202020202020202020201020284
+:10ADB000020202020000000202020202020101027B
+:10ADC0000202020200020200020202020102010269
+:10ADD0000202020202020202020202020002020057
+:10ADE000020000020202020202020002010101024C
+:10ADF0000202020202020202020202020101010236
+:10AE00000202020202020202020202020201010224
+:10AE10000202020202020202020201010101010217
+:10AE2000020202020202010101010101010101020B
+:10AE300002020202020202020101010101010102F9
+:10AE400002020202020201010101010101010102EB
+:10AE500002020202020101010101010101010101DD
+:10AE600001010101010101010101010101010100D3
+:10AE700001020101010101010101010101010102C0
+:10AE800002020202020202020201010101010002A9
+:10AE9000020202020200020200000202020101029A
+:10AEA0000202020202020202020202020201020283
+:10AEB000020202020000000202020202020101027A
+:10AEC0000202020200020200020202020102010268
+:10AED0000202020202020202020202020002020056
+:10AEE000020000020202020202010002010101024C
+:10AEF0000202020202020202020202020101010235
+:10AF00000202020202020202020202020201010223
+:10AF10000202020202020202020201010101010216
+:10AF2000020202020201010101010101010101020B
+:10AF300002020202020202020101010101010102F8
+:10AF400002020202020101010101010101010102EB
+:10AF500002020202020101010101010101010101DC
+:10AF600001010101010101010101010101010100D2
+:10AF700001020101010101010101010101010102BF
+:10AF800002020202020202020201010101010002A8
+:10AF90000202020202000202000002020201010299
+:10AFA0000202020202020202020202010201020283
+:10AFB0000202020200000002020202020201010279
+:10AFC0000202020200020200020202010102010268
+:10AFD0000202020202020202020202020002020055
+:10AFE000020000020202020202010002010101024B
+:10AFF0000202020202020202020202010101010235
+:10B000000202020202020202020202020101010223
+:10B010000202020202020202020201010101010215
+:10B02000020202020201010101010101010101020A
+:10B0300002020202020202020101010101010102F7
+:10B0400002020202010101010101010101010102EB
+:10B0500002020202010101010101010101010101DC
+:10B0600001010101010101010101010101010100D1
+:10B0700001010101010101010101010101010102BF
+:10B0800002020202020202020201010101020002A6
+:10B090000202020202000202000002020201010298
+:10B0A0000202020202020202020201010201020283
+:10B0B0000202020202000002020202020201010276
+:10B0C000020202020002020001020101010101026A
+:10B0D0000202020202020202020102020002020055
+:10B0E000020000020202020202010002010101024A
+:10B0F0000202020202020202010201010101010236
+:10B100000202020202020202020202020101010222
+:10B110000202020202020202020101010101010215
+:10B12000020202020101010101010101010101020A
+:10B1300002020202020201020101010101010102F7
+:10B1400002020201010101010101010101010102EB
+:10B1500002020202010101010101010101010101DB
+:10B1600001010101010101010101010101010100D0
+:10B1700001010101010101010101010101010102BE
+:10B1800002020202020202010201010101020002A6
+:10B190000202020202000202000202020101010296
+:10B1A0000202020202020202020101010201020283
+:10B1B0000202020202020202020202020201010271
+:10B1C0000202020200020200010201010101010269
+:10B1D0000202020202020202020102020002010055
+:10B1E000020000020202020102010002010101024A
+:10B1F0000202020202020202010201010101010235
+:10B200000202020202020202020202020101010221
+:10B210000202020202020101010101010101010217
+:10B220000202020201010101010101010101010209
+:10B2300002020202020101010101010101010102F8
+:10B2400002020201010101010101010101010102EA
+:10B2500002020201010101010101010101010101DB
+:10B2600001010101010101010101010101010100CF
+:10B2700001010101010101010101010101010102BD
+:10B2800002020202020201010101010101020002A7
+:10B290000202020202000202020202020101010293
+:10B2A0000202020202020202010101010201010284
+:10B2B0000202020202020202020202020201010270
+:10B2C0000202020200020200010201010101010268
+:10B2D0000202020202020202010102020002010055
+:10B2E0000200000202020201020100020101010249
+:10B2F0000202020202020202010201010101010234
+:10B300000202020202020202020202020101010220
+:10B310000202020202010101010101010101010217
+:10B320000202020201010101010101010101010208
+:10B3300002020202020101010101010101010102F7
+:10B3400002020201010101010101010101010102E9
+:10B3500002020101010101010101010101010101DB
+:10B3600001010101010101010101010101010100CE
+:10B3700001010101010101010101010101010102BC
+:10B3800002020202020201010101010102020002A5
+:10B390000202020202000202020201010101010294
+:10B3A0000202020202020201010101010201010284
+:10B3B000020202020202020202020202020101026F
+:10B3C0000202020200020200010201010101010267
+:10B3D0000202020202020201010102020002010055
+:10B3E0000200000202020201020100020101010248
+:10B3F0000202020202020202010201010101010233
+:10B400000202020202020202020102020101010220
+:10B410000202020201010101010101010101010217
+:10B420000202020101010101010101010101010208
+:10B4300002020202010101010101010101010102F7
+:10B4400002020101010101010101010101010102E9
+:10B4500002020101010101010101010101010101DA
+:10B4600001010101010101010101010101010100CD
+:10B4700001010101010101010101010101010102BB
+:10B4800002020202020201010101010202020002A3
+:10B490000202020202010202020201010101010292
+:10B4A0000202020202020101010101010101010285
+:10B4B000020202020202020202020202010101026F
+:10B4C0000202020200020200010201010101010266
+:10B4D0000202020202020101010101020002010056
+:10B4E0000200000202020201010100010101010249
+:10B4F0000202020202020202010201010101010232
+:10B50000020202020202020202010202010101021F
+:10B510000202020201010101010101010101010216
+:10B520000202010101010101010101010101010208
+:10B5300002020202010101010101010101010102F6
+:10B5400001010101010101010101010101010102EA
+:10B5500001020101010101010101010101010101DA
+:10B5600001010101010101010101010101010100CC
+:10B5700001010101010101010101010101010102BA
+:10B5800002020201020101010101010202020002A4
+:10B590000202020202010202020201010101010291
+:10B5A0000202020202010101010101010101010285
+:10B5B000020202020202020202020202010101026E
+:10B5C0000202020200020200010201010101010265
+:10B5D0000202020202010101010101020002010056
+:10B5E0000200000202020201010100010101010248
+:10B5F0000202020102020202010201010101010232
+:10B600000202020202020202010102010101010220
+:10B610000202020201010101010101010101010215
+:10B620000102010101010101010101010101010208
+:10B6300002020202010101010101010101010102F5
+:10B6400001010101010101010101010101010102E9
+:10B6500001010101010101010101010101010101DA
+:10B6600001010101010101010101010101010100CB
+:10B6700001010101010101010101010101010102B9
+:10B6800002020201020101010102020202020002A1
+:10B69000020202020202020202020101010101028F
+:10B6A0000202020202010101010101010101010284
+:10B6B000020202020202020202020202010101026D
+:10B6C0000202020200020200010101010101010265
+:10B6D0000202020201010101010101020002010056
+:10B6E0000200000202020201010100010101010247
+:10B6F0000202020102010202010101010101010233
+:10B700000202020202020202010101010101010220
+:10B710000202020201010101010101010101010214
+:10B720000102010101010101010101010101010207
+:10B7300002020201010101010101010101010102F5
+:10B7400001010101010101010101010101010102E8
+:10B7500001010101010101010101010101010101D9
+:10B7600001010101010101010101010101010100CA
+:10B7700001010101010101010101010101010102B8
+:10B7800002020201020101010102020202020002A0
+:10B79000020202020202020102020101010101028F
+:10B7A0000202020201010101010101010101010284
+:10B7B000020202010202020202020202010101026D
+:10B7C0000202020200020100010101010101010265
+:10B7D0000202020201010101010101010002010056
+:10B7E0000200020202020201010100010101010244
+:10B7F0000202010101010202010101010101010234
+:10B80000020202020202020201010101010101021F
+:10B810000202020101010101010101010101010214
+:10B820000102010101010101010101010101010206
+:10B8300001010101010101010101010101010102F7
+:10B8400001010101010101010101010101010102E7
+:10B8500001010101010101010101010101010101D8
+:10B8600001010101010101010101010101010100C9
+:10B8700001010101010101010101010101010102B7
+:10B8800002020201010101010102020202000002A2
+:10B89000020202020202020102020101010101028E
+:10B8A0000202020201010101010101010101010283
+:10B8B000020202010202020202020202010101026C
+:10B8C0000202020100010100010101010101010266
+:10B8D0000202020201010101010101010001010056
+:10B8E0000200020102020201010100010101010244
+:10B8F0000202010101010202010101010101010233
+:10B90000020202020202020201010101010101021E
+:10B910000201020101010101010101010101010214
+:10B920000101010101010101010101010101010206
+:10B9300001010101010101010101010101010102F6
+:10B9400001010101010101010101010101010101E7
+:10B9500001010101010101010101010101010101D7
+:10B9600001010101010101010101010101010100C8
+:10B9700001010101010101010101010101010102B6
+:10B9800002020201010101020102020202000002A0
+:10B99000020202020202020102020101010101028D
+:10B9A0000202010201010101010101010101010283
+:10B9B000020201010202020202020202010101026C
+:10B9C0000202020100010100010101010101010265
+:10B9D0000202010201010101010101010001010254
+:10B9E0000100020102010201010100010101010245
+:10B9F0000202010101010202010101010101010232
+:10BA0000020202020202020101010101010101021E
+:10BA10000201020101010101010101010101010213
+:10BA20000101010101010101010101010101010205
+:10BA300001010101010101010101010101010101F6
+:10BA400001010101010101010101010101010101E6
+:10BA500001010101010101010101010101010101D6
+:10BA600001010101010101010101010101010100C7
+:10BA700001010101010101010101010101010102B5
+:10BA8000020102010101020202020202020000029E
+:10BA9000020202020202020102020101010101028C
+:10BAA0000202010201010101010101010101010282
+:10BAB000020201010202020202020202010101026B
+:10BAC0000102020100010100010101010101010265
+:10BAD0000202010201010101010101010201010251
+:10BAE0000100020101010201010100010101010245
+:10BAF0000202010101010202010101010101010231
+:10BB0000020202020202010101010101010101021E
+:10BB10000201010101010101010101010101010114
+:10BB20000101010101010101010101010101010204
+:10BB300001010101010101010101010101010101F5
+:10BB400001010101010101010101010101010101E5
+:10BB500001010101010101010101010101010101D5
+:10BB600001010101010101010101010101010100C6
+:10BB700001010101010101010101010101010102B4
+:10BB800002010101010102020202020200000002A0
+:10BB9000020202020202020102020101010101028B
+:10BBA0000202010101010101010101010101010282
+:10BBB000020201010202020202020102010101026B
+:10BBC0000101010102010100010101010101010264
+:10BBD0000202010201010101010101010201010250
+:10BBE0000100020101010201010100010101010244
+:10BBF0000201010101010202010101010101010231
+:10BC0000020202010202010101010101010101021E
+:10BC10000101010101010101010101010101010114
+:10BC20000101010101010101010101010101010203
+:10BC300001010101010101010101010101010101F4
+:10BC400001010101010101010101010101010101E4
+:10BC500001010101010101010101010101010101D4
+:10BC600001010101010101010101010101010100C5
+:10BC700001010101010101010101010101010102B3
+:10BC800002010101010102020202020000000002A1
+:10BC9000020202020202020102020101010101028A
+:10BCA0000201010101010101010101010101010282
+:10BCB000020201010202020202020102010101026A
+:10BCC0000101010102010100010101010101010263
+:10BCD0000102010201010101010101010201010250
+:10BCE0000100020101010201010100010101010243
+:10BCF0000101010101010102010101010101010232
+:10BD00000202010101010101010101010101010220
+:10BD10000101010101010101010101010101010113
+:10BD20000101010101010101010101010101010103
+:10BD300001010101010101010101010101010101F3
+:10BD400001010101010101010101010101010101E3
+:10BD500001010101010101010101010101010101D3
+:10BD600001010101010101010101010101010100C4
+:10BD700001010101010101010101010101010102B2
+:10BD8000020101020102020202020200000000029E
+:10BD90000202020202020201020201010101010289
+:10BDA0000101010101010101010101010101010282
+:10BDB000020201010202020202020102010101016A
+:10BDC0000101010102010100010101010101010262
+:10BDD0000101010101010101010101010201010251
+:10BDE0000100020101010201010100010101010242
+:10BDF0000101010101010102010101010101010231
+:10BE0000020201010101010101010101010101021F
+:10BE10000101010101010101010101010101010112
+:10BE20000101010101010101010101010101010102
+:10BE300001010101010101010101010101010101F2
+:10BE400001010101010101010101010101010101E2
+:10BE500001010101010101010101010101010101D2
+:10BE600001010101010101010101010101010100C3
+:10BE700001010101010101010101010101010102B1
+:10BE800002010102010202020200000000000002A1
+:10BE90000202020202020201020201010101010288
+:10BEA0000101010101010101010101010101010281
+:10BEB0000202010102020202020201020101010169
+:10BEC000010101010201010201010101010101025F
+:10BED0000101010101010101010101010201010250
+:10BEE0000100020101010201010100010101010142
+:10BEF0000101010101010102010101010101010230
+:10BF0000020201010101010101010101010101011F
+:10BF10000101010101010101010101010101010111
+:10BF20000101010101010101010101010101010101
+:10BF300001010101010101010101010101010101F1
+:10BF400001010101010101010101010101010101E1
+:10BF500001010101010101010101010101010101D1
+:10BF600001010101010101010101010101010100C2
+:10BF700001010101010101010101010101010102B0
+:10BF800002010102010202020200000000000002A0
+:10BF90000102020202020201020201010101010288
+:10BFA0000101010101010101010101010101010280
+:10BFB000010101010202020202010101010101016C
+:10BFC000010101010201010201010101010101015F
+:10BFD000010101010101010101010101020101024F
+:10BFE0000100020101010201010100010101010141
+:10BFF000010101010101010201010101010101022F
+:10C00000020201010101010101010101010101011E
+:10C010000101010101010101010101010101010110
+:10C020000101010101010101010101010101010100
+:10C0300001010101010101010101010101010101F0
+:10C0400001010101010101010101010101010101E0
+:10C0500001010101010101010101010101010101D0
+:10C0600001010101010101010101010101010100C1
+:10C0700001010101010101010101010101010102AF
+:10C08000020101020202020202000000000100029D
+:10C090000102020202020201020201010101010287
+:10C0A000010101010101010101010101010101027F
+:10C0B000010101010202020202010101010101016B
+:10C0C000010101010201010201010101010101015E
+:10C0D000010101010101010101010101020101024E
+:10C0E0000100020101010201010100010101010140
+:10C0F000010101010101010101010101010101022F
+:10C10000010101010101010101010101010101011F
+:10C11000010101010101010101010101010101010F
+:10C1200001010101010101010101010101010101FF
+:10C1300001010101010101010101010101010101EF
+:10C1400001010101010101010101010101010101DF
+:10C1500001010101010101010101010101010101CF
+:10C1600001010101010101010101010101010100C0
+:10C1700001010101010101010101010101010102AE
+:10C18000020101020202020002000000000100029E
+:10C190000102020202020201020201010101010286
+:10C1A000010101010101010101010101010101027E
+:10C1B000010101010202020202010101010101016A
+:10C1C000010101010201010201010101010101015D
+:10C1D000010101010101010101010101020101024D
+:10C1E000010002010101020101010001010101013F
+:10C1F000010101010101010101010101010101012F
+:10C20000010101010101010101010101010101011E
+:10C21000010101010101010101010101010101010E
+:10C2200001010101010101010101010101010101FE
+:10C2300001010101010101010101010101010101EE
+:10C2400001010101010101010101010101010101DE
+:10C2500001010101010101010101010101010101CE
+:10C2600001010101010101010101010101010100BF
+:10C2700001010101010101010101010101010102AD
+:10C2800002020102020200000000000000010002A0
+:10C290000102020202020201020201010101010186
+:10C2A000010101010101010101010101010101027D
+:10C2B000010101010202020101010101010101016B
+:10C2C000010101010201010201010101010101015C
+:10C2D000010101010101010101010101020101024C
+:10C2E000010002010101020101010001010101013E
+:10C2F000010101010101010101010101010101012E
+:10C30000010101010101010101010101010101011D
+:10C31000010101010101010101010101010101010D
+:10C3200001010101010101010101010101010101FD
+:10C3300001010101010101010101010101010101ED
+:10C3400001010101010101010101010101010101DD
+:10C3500001010101010101010101010101010101CD
+:10C3600001010101010101010101010101010100BE
+:10C3700001010101010101010101010101010102AC
+:10C38000020202020202000000000000010100029D
+:10C390000102020102020201020201010101010186
+:10C3A000010101010101010101010101010101027C
+:10C3B000010101010202020101010101010101016A
+:10C3C000010101010201010201010101010101015B
+:10C3D000010101010101010101010101020101024B
+:10C3E000010002010101020101010001010101013D
+:10C3F000010101010101010101010101010101012D
+:10C40000010101010101010101010101010101011C
+:10C41000010101010101010101010101010101010C
+:10C4200001010101010101010101010101010101FC
+:10C4300001010101010101010101010101010101EC
+:10C4400001010101010101010101010101010101DC
+:10C4500001010101010101010101010101010101CC
+:10C4600001010101010101010101010101010100BD
+:10C4700001010101010101010101010101010102AB
+:10C48000020202020202000000000001010100019C
+:10C490000102020102020201020201010101010185
+:10C4A000010101010101010101010101010101027B
+:10C4B0000101010102020201010101010101010169
+:10C4C000010101010201010201010101010101015A
+:10C4D000010101010101010101010101020101024A
+:10C4E000010202010101010101010001010101013B
+:10C4F000010101010101010101010101010101012C
+:10C50000010101010101010101010101010101011B
+:10C51000010101010101010101010101010101010B
+:10C5200001010101010101010101010101010101FB
+:10C5300001010101010101010101010101010101EB
+:10C5400001010101010101010101010101010101DB
+:10C5500001010101010101010101010101010101CB
+:10C5600001010101010101010101010101010100BC
+:10C5700001010101010101010101010101010102AA
+:10C5800001020200020000000000000101010001A0
+:10C590000102020102020201020201010101010184
+:10C5A000010101010101010101010101010101027A
+:10C5B0000101010102020201010101010101010168
+:10C5C0000101010102010102010101010101010159
+:10C5D000010101010101010101010101010101024A
+:10C5E000010202010101010101010001010101013A
+:10C5F000010101010101010101010101010101012B
+:10C60000010101010101010101010101010101011A
+:10C61000010101010101010101010101010101010A
+:10C6200001010101010101010101010101010101FA
+:10C6300001010101010101010101010101010101EA
+:10C6400001010101010101010101010101010101DA
+:10C6500001010101010101010101010101010101CA
+:10C6600001010101010101010101010101010100BB
+:10C6700001010101010101010101010101010102A9
+:10C68000010202000200000000010101010100019D
+:10C690000102020102020201020101010101010184
+:10C6A0000101010101010101010101010101010279
+:10C6B0000101010102020201010101010101010167
+:10C6C0000101010102010102010101010101010158
+:10C6D0000101010101010101010101010101010249
+:10C6E0000102020101010101010100010101010139
+:10C6F000010101010101010101010101010101012A
+:10C700000101010101010101010101010101010119
+:10C710000101010101010101010101010101010109
+:10C7200001010101010101010101010101010101F9
+:10C7300001010101010101010101010101010101E9
+:10C7400001010101010101010101010101010101D9
+:10C7500001010101010101010101010101010101C9
+:10C7600001010101010101010101010101010100BA
+:10C7700001010101010101010101010101010102A8
+:10C78000010202000200000001010101010100019B
+:10C790000102020101020101020101010101010185
+:10C7A0000101010101010101010101010101010278
+:10C7B0000101010102020101010101010101010167
+:10C7C0000101010102010102010101010101010157
+:10C7D0000101010101010101010101010101010248
+:10C7E0000102020101010101010102010101010136
+:10C7F0000101010101010101010101010101010129
+:10C800000101010101010101010101010101010118
+:10C810000101010101010101010101010101010108
+:10C8200001010101010101010101010101010101F8
+:10C8300001010101010101010101010101010101E8
+:10C8400001010101010101010101010101010101D8
+:10C8500001010101010101010101010101010102C7
+:10C8600001010101010101010101010101010100B9
+:10C8700001010101010101010101010101010102A7
+:10C88000010202000100000001010101010100019B
+:10C890000102020101020101010101010101010185
+:10C8A0000101010101010101010101010101010277
+:10C8B0000101010102010101010101010101010167
+:10C8C0000101010102010102010101010101010156
+:10C8D0000101010101010101010101010101010247
+:10C8E0000102020101010101010102010101010135
+:10C8F0000101010101010101010101010101010128
+:10C900000101010101010101010101010101010117
+:10C910000101010101010101010101010101010107
+:10C9200001010101010101010101010101010101F7
+:10C9300001010101010101010101010101010101E7
+:10C9400001010101010101010101010101010101D7
+:10C9500001010101010101010101010101010102C6
+:10C9600001010101010101010101010101010100B8
+:10C9700001010101010101010101010101010101A7
+:10C980000102020001000001010101010101000199
+:10C990000102020101020101010101010101010184
+:10C9A0000101010101010101010101010101010276
+:10C9B0000101010101010101010101010101010167
+:10C9C0000101010102010102010101010101010155
+:10C9D0000101010101010101010101010101010246
+:10C9E0000102020101010101010102010101010134
+:10C9F0000101010101010101010101010101010127
+:10CA00000101010101010101010101010101010116
+:10CA10000101010101010101010101010101010106
+:10CA200001010101010101010101010101010101F6
+:10CA300001010101010101010101010101010101E6
+:10CA400001010101010101010101010101010101D6
+:10CA500001010101010101010101010101010102C5
+:10CA600001010101010101010101010101010100B7
+:10CA700001010101010101010101010101010101A6
+:10CA80000100020001010101010101010101000198
+:10CA90000102020101020101010101010101010183
+:10CAA0000101010101010101010101010101010275
+:10CAB0000101010101010101010101010101010166
+:10CAC0000101010102010102010101010101010154
+:10CAD0000101010101010101010101010101010245
+:10CAE0000102020101010101010102010101010133
+:10CAF0000101010101010101010101010101010126
+:10CB00000101010101010101010101010101010115
+:10CB10000101010101010101010101010101010105
+:10CB200001010101010101010101010101010101F5
+:10CB300001010101010101010101010101010101E5
+:10CB400001010101010101010101010101010101D5
+:10CB500001010101010101010101010101010102C4
+:10CB600001010101010101010101010101010100B6
+:10CB700001010101010101010101010101010101A5
+:10CB80000100010001010101010101010101000198
+:10CB90000102020101020101010101010101010182
+:10CBA0000101010101010101010101010101010274
+:10CBB0000101010101010101010101010101010165
+:10CBC0000101010102010102010101010101010153
+:10CBD0000101010101010101010101010101010244
+:10CBE0000102020101010101010102010101010132
+:10CBF0000101010101010101010101010101010125
+:10CC00000101010101010101010101010101010114
+:10CC10000101010101010101010101010101010104
+:10CC200001010101010101010101010101010101F4
+:10CC300001010101010101010101010101010101E4
+:10CC400001010101010101010101010101010101D4
+:10CC500001010101010101010101010101010102C3
+:10CC600002010101010101010101010101010100B4
+:10CC700001010101010101010101010101010101A4
+:10CC80000100010001010101010101010101000197
+:10CC90000101020101020101010101010101010182
+:10CCA0000101010101010101010101010101010174
+:10CCB0000101010101010101010101010101010164
+:10CCC0000101010102010102010101010101010152
+:10CCD0000101010101010101010101010101010243
+:10CCE0000102020101010101010102010101010131
+:10CCF0000101010101010101010101010101010124
+:10CD00000101010101010101010101010101010113
+:10CD10000101010101010101010101010101010103
+:10CD200001010101010101010101010101010101F3
+:10CD300001010101010101010101010101010101E3
+:10CD400001010101010101010101010101010101D3
+:10CD500001010101010101010101010101010102C2
+:10CD600002020202020202020202020202020200A5
+:10CD7000010101010102020202020202010101019C
+:10CD80000100010101010101010101010101000195
+:10CD90000101010101020101010101010101010182
+:10CDA0000101010101010101010101010101010173
+:10CDB0000101010101010101010101010101010163
+:10CDC0000101010102010102010101010101010151
+:10CDD0000101010101010101010101010101010242
+:10CDE0000102020101010101010102010101010130
+:10CDF0000101010101010101010101010101010123
+:10CE00000101010101010101010101010101010112
+:10CE10000101010101010101010101010101010102
+:10CE200001010101010101010101010101010101F2
+:10CE300001010101010101010101010101010101E2
+:10CE400001010101010101010101010101010101D2
+:10CE500001010101010101010101010101010102C1
+:10CE600002020202020202020202020202020200A4
+:10CE70000201010102020202020202020101020198
+:10CE80000100010101010101010101010101000194
+:10CE90000101010101020101010101010101010181
+:10CEA0000101010101010101010101010101010172
+:10CEB0000101010101010101010101010101010162
+:10CEC0000101010102010101010101010101010151
+:10CED0000101010101010101010101010101010241
+:10CEE000010202010101010101010201010101012F
+:10CEF0000101010101010101010101010101010122
+:10CF00000101010101010101010101010101010111
+:10CF10000101010101010101010101010101010101
+:10CF200001010101010101010101010101010101F1
+:10CF300001010101010101010101010101010101E1
+:10CF400001010101010101010101010101010101D1
+:10CF500001010101010101010101010101010102C0
+:10CF600002020202020202020202020202020200A3
+:10CF70000201010102020202020202020201020196
+:10CF80000101010101010101010101010101000192
+:10CF90000101010101010101010101010101010181
+:10CFA0000101010101010101010101010101010171
+:10CFB0000101010101010101010101010101010161
+:10CFC0000101010102010101010101010101010150
+:10CFD0000101010101010101010101010101010240
+:10CFE000010202010101010101010201010101012E
+:10CFF0000101010101010101010101010101010121
+:10D000000101010101010101010101010101010110
+:10D010000101010101010101010101010101010100
+:10D0200001010101010101010101010101010101F0
+:10D0300001010101010101010101010101010101E0
+:10D0400001010101010101010101010101010101D0
+:10D0500001010101010101010101010101010102BF
+:10D0600002020202020202020202020202020200A2
+:10D070000201020202020202020202020202020192
+:10D080000101010101010101010101010101000191
+:10D090000101010101010101010101010101010180
+:10D0A0000101010101010101010101010101010170
+:10D0B0000101010101010101010101010101010160
+:10D0C0000101010101010101010101010101010150
+:10D0D000010101010101010101010101010101023F
+:10D0E000010202010101010101010101010101012E
+:10D0F0000101010101010101010101010101010120
+:10D10000010101010101010101010101010101010F
+:10D1100001010101010101010101010101010101FF
+:10D1200001010101010101010101010101010101EF
+:10D1300001010101010101010101010101010101DF
+:10D1400001010101010101010101010101010101CF
+:10D1500001010101010101010101010101010102BE
+:10D1600002020202020202020202020202020200A1
+:10D170000201020202020202020202020202020191
+:10D180000101010101010101010101010101000190
+:10D19000010101010101010101010101010101017F
+:10D1A000010101010101010101010101010101016F
+:10D1B000010101010101010101010101010101015F
+:10D1C000010101010101010101010101010101014F
+:10D1D000010101010101010101010101010101023E
+:10D1E000010201010101010101010101010101012E
+:10D1F000010101010101010101010101010101011F
+:10D20000010101010101010101010101010101010E
+:10D2100001010101010101010101010101010101FE
+:10D2200001010101010101010101010101010101EE
+:10D2300001010101010101010101010101010101DE
+:10D2400001010101010101010101010101010101CE
+:10D2500001010101010101010101010101010102BD
+:10D2600002020202020202020202020202020200A0
+:10D270000201020202020202020202020202020190
+:10D28000010101010101010101010101010100018F
+:10D29000010101010101010101010101010101017E
+:10D2A000010101010101010101010101010101016E
+:10D2B000010101010101010101010101010101015E
+:10D2C000010101010101010101010101010101014E
+:10D2D000010101010101010101010101010101023D
+:10D2E000010201010101010101010101010101012D
+:10D2F000010101010101010101010101010101011E
+:10D30000010101010101010101010101010101010D
+:10D3100001010101010101010101010101010101FD
+:10D3200001010101010101010101010101010101ED
+:10D3300001010101010101010101010101010101DD
+:10D3400001010101010101010101010101010101CD
+:10D3500001010101010101010101010101010102BC
+:10D36000020202020202020202020202020202009F
+:10D37000020202020202020202020202020202018E
+:10D38000010101010101010101010101010101018D
+:10D39000010101010101010101010101010101017D
+:10D3A000010101010101010101010101010101016D
+:10D3B000010101010101010101010101010101015D
+:10D3C000010101010101010101010101010101014D
+:10D3D000010101010101010101010101010101023C
+:10D3E000010201010101010101010101010101012C
+:10D3F000010101010101010101010101010101011D
+:10D40000010101010101010101010101010101010C
+:10D4100001010101010101010101010101010101FC
+:10D4200001010101010101010101010101010101EC
+:10D4300001010101010101010101010101010101DC
+:10D4400001010101010101010101010101010101CC
+:10D4500001010101010101010101010101010102BB
+:10D46000020202020202020202020202020202029C
+:10D47000020202020202020202020202020202018D
+:10D48000010101010101010101010101010101018C
+:10D49000010101010101010101010101010101017C
+:10D4A000010101010101010101010101010101016C
+:10D4B000010101010101010101010101010101015C
+:10D4C000010101010101010101010101010101014C
+:10D4D000010101010101010101010101010101023B
+:10D4E000010201010101010101010101010101012B
+:10D4F000010101010101010101010101010101011C
+:10D50000010101010101010101010101010101010B
+:10D5100001010101010101010101010101010101FB
+:10D5200001010101010101010101010101010101EB
+:10D5300001010101010101010101010101010101DB
+:10D5400001010101010101010101010101010101CB
+:10D5500001010101010101010101010101010102BA
+:10D56000020202020202020202020202020202029B
+:10D57000020202020202020202020202020202018C
+:10D58000010101010101010101010101010101018B
+:10D59000010101010101010101010101010101017B
+:10D5A000010101010101010101010101010101016B
+:10D5B000010101010101010101010101010101015B
+:10D5C000010101010101010101010101010101014B
+:10D5D000010101010101010101010101010101023A
+:10D5E000010201010101010101010101010101012A
+:10D5F000010101010101010101010101010101011B
+:10D60000010101010101010101010101010101010A
+:10D6100001010101010101010101010101010101FA
+:10D6200001010101010101010101010101010101EA
+:10D6300001010101010101010101010101010101DA
+:10D6400001010101010101010101010101010101CA
+:10D6500001010101010101010101010101010102B9
+:10D66000020202020202020202020202020202029A
+:10D67000020202020202020202020202020202018B
+:10D68000010101010101010101010101010101018A
+:10D69000010101010101010101010101010101017A
+:10D6A000010101010101010101010101010101016A
+:10D6B000010101010101010101010101010101015A
+:10D6C000010101010101010101010101010101014A
+:10D6D0000101010101010101010101010101010239
+:10D6E0000102010101010101010101010101010129
+:10D6F000010101010101010101010101010101011A
+:10D700000101010101010101010101010101010109
+:10D7100001010101010101010101010101010101F9
+:10D7200001010101010101010101010101010101E9
+:10D7300001010101010101010101010101010101D9
+:10D7400001010101010101010101010101010101C9
+:10D7500001010101010101010101010101010102B8
+:10D760000202020202020202020202020202020299
+:10D77000020202020202020202020202020202018A
+:10D780000101010101010101010101010101010189
+:10D790000101010101010101010101010101010179
+:10D7A0000101010101010101010101010101010169
+:10D7B0000101010101010101010101010101010159
+:10D7C0000101010101010101010101010101010149
+:10D7D0000101010101010101010101010101010238
+:10D7E0000102010101010101010101010101010128
+:10D7F0000101010101010101010101010101010119
+:10D800000101010101010101010101010101010108
+:10D8100001010101010101010101010101010101F8
+:10D8200001010101010101010101010101010101E8
+:10D8300001010101010101010101010101010101D8
+:10D8400001010101010101010101010101010101C8
+:10D8500001010101010101010101010101010102B7
+:10D860000202020202020202020202020202020298
+:10D870000202020202020202020202020202020189
+:10D880000101010101010101010101010101010188
+:10D890000101010101010101010101010101010178
+:10D8A0000101010101010101010101010101010168
+:10D8B0000101010101010101010101010101010158
+:10D8C0000101010101010101010101010101010148
+:10D8D0000101010101010101010101010101010237
+:10D8E0000102010101010101010101010101010127
+:10D8F0000101010101010101010101010101010118
+:10D900000101010101010101010101010101010107
+:10D9100001010101010101010101010101010101F7
+:10D9200001010101010101010101010101010101E7
+:10D9300001010101010101010101010101010101D7
+:10D9400001010101010101010101010101010101C7
+:10D9500001010101010101010101010201010202B4
+:10D960000202020202020202020202020202020297
+:10D970000202020202020202020202020202020188
+:10D980000101010101010101010101010101010187
+:10D990000101010101010101010101010101010177
+:10D9A0000101010101010101010101010101010167
+:10D9B0000101010101010101010101010101010157
+:10D9C0000101010101010101010101010101010147
+:10D9D0000101010101010101010101010101010137
+:10D9E0000102010101010101010101010101010126
+:10D9F0000101010101010101010101010101010117
+:10DA00000101010101010101010101010101010106
+:10DA100001010101010101010101010101010101F6
+:10DA200001010101010101010101010101010101E6
+:10DA300001010101010101010101010101010101D6
+:10DA400001010101010101010101010101010201C5
+:10DA500001010101010101010102020202020202AF
+:10DA60000202020202020202020202020202020296
+:10DA70000202020202020202020202020202020187
+:10DA80000101010101010101010101010101010186
+:10DA90000101010101010101010101010101010176
+:10DAA0000101010101010101010101010101010166
+:10DAB0000101010101010101010101010101010156
+:10DAC0000101010101010101010101010101010146
+:10DAD0000101010101010101010101010101010136
+:10DAE0000102010101010101010101010101010125
+:10DAF0000101010101010101010101010101010116
+:10DB00000101010101010101010101010101010105
+:10DB100001010101010101010101010101010101F5
+:10DB200001010101010101010101010101010101E5
+:10DB300001010101010101010101010101010101D5
+:10DB400001010101010101010201020202020201BF
+:10DB500001010101010202020202020202020202AA
+:10DB60000202020202020202020202020202020295
+:10DB70000202020202020202020202020202020186
+:10DB80000101010101010101010101010101010185
+:10DB90000101010101010101010101010101010175
+:10DBA0000101010101010101010101010101010165
+:10DBB0000101010101010101010101010101010155
+:10DBC0000101010101010101010101010101010145
+:10DBD0000101010101010101010101010101010135
+:10DBE0000102010101010101010101010101010124
+:10DBF0000101010101010101010101010101010115
+:10DC00000101010101010101010101010101010104
+:10DC100001010101010101010101010101010101F4
+:10DC200001010101010101010101010101010201E3
+:10DC300001010101010101010101010101010101D4
+:10DC400001010101010102020202020202020201BB
+:10DC500002010101020202020202020202020202A7
+:10DC60000202020202020202020202020202020294
+:10DC70000202020202020202020202020202020185
+:10DC80000101010101010101010101010101010184
+:10DC90000101010101010101010101010101010174
+:10DCA0000101010101010101010101010101010164
+:10DCB0000101010101010101010101010101010154
+:10DCC0000101010101010101010101010101010144
+:10DCD0000101010101010101010101010101010134
+:10DCE0000102010101010101010101010101010123
+:10DCF0000101010101010101010101010101010114
+:10DD00000101010101010101010101010101010103
+:10DD100001010101010101010101010101010101F3
+:10DD200001010101010101010101010101020201E1
+:10DD300001010101010101010101010101010101D3
+:10DD400002010102020202020202020202020202B5
+:10DD500002010202020202020202020202020202A4
+:10DD60000202020202020202020202020202020293
+:10DD70000202020202020202020202020202020184
+:10DD80000101010101010101010101010101010183
+:10DD90000101010101010101010101010101010173
+:10DDA0000101010101010101010101010101010163
+:10DDB0000101010101010101010101010101010153
+:10DDC0000101010101010101010101010101010143
+:10DDD0000101010101010101010101010101010133
+:10DDE0000101010101010101010101010101010123
+:10DDF0000101010101010101010101010101010113
+:10DE00000101010101010101010101010101010102
+:10DE100001010101010101010101010101010101F2
+:10DE200001010101010101010202020202020201DB
+:10DE300001010101010101010101010101010102D1
+:10DE400002020202020202020202020202020202B2
+:10DE500002020202020202020202020202020202A2
+:10DE60000202020202020202020202020202020292
+:10DE70000202020202020202020202020202020183
+:10DE80000101010101010101010101010101010182
+:10DE90000101010101010101010101010101010172
+:10DEA0000101010101010101010101010101010162
+:10DEB0000101010101010101010101010101010152
+:10DEC0000101010101010101010101010101010142
+:10DED0000101010101010101010101010101010132
+:10DEE0000101010101010101010101010101010122
+:10DEF0000101010101010101010101010101010112
+:10DF00000101010101010101010101010101010101
+:10DF100001010101010101010101010101010101F1
+:10DF200002010101020202020202020202020201D5
+:10DF300001010101010101010101010101010202CF
+:10DF400002020202020202020202020202020202B1
+:10DF500002020202020202020202020202020202A1
+:10DF60000202020202020202020202020202020291
+:10DF70000202020202020202020202020202020182
+:10DF80000101010101010101010101010101010181
+:10DF90000101010101010101010101010101010171
+:10DFA0000101010101010101010101010101010161
+:10DFB0000101010101010101010101010101010151
+:10DFC0000101010101010101010101010101010141
+:10DFD0000101010101010101010101010101010131
+:10DFE0000101010101010101010101010101010121
+:10DFF0000101010101010101010101010101010111
+:10E000000101010101010101010101010101010100
+:10E0100001010101010101010101010101010102EF
+:10E0200002010202020202020202020202020201D2
+:10E0300001010101010101010101010102020202CC
+:10E0400002020202020202020202020202020202B0
+:10E0500002020202020202020202020202020202A0
+:10E060000202020202020202020202020202020290
+:10E070000202020202020202020202020202020181
+:10E080000101010101010101010101010101010180
+:10E090000101010101010101010101010101010170
+:10E0A0000101010101010101010101010101010160
+:10E0B0000101010101010101010101010101010150
+:10E0C0000101010101010101010101010101010140
+:10E0D0000101010101010101010101010101010130
+:10E0E0000101010101010101010101010101010120
+:10E0F0000101010101010101010101010101010110
+:10E1000001010101010101010101010101010101FF
+:10E1100001010101010101010101010101010102EE
+:10E1200002020202020202020202020202020201D0
+:10E1300001010101010101010202020202020202C7
+:10E1400002020202020202020202020202020202AF
+:10E15000020202020202020202020202020202029F
+:10E16000020202020202020202020202020202028F
+:10E170000202020202020202020202020202020180
+:10E18000010101010101010101010101010101017F
+:10E19000010101010101010101010101010101016F
+:10E1A000010101010101010101010101010101015F
+:10E1B000010101010101010101010101010101014F
+:10E1C000010101010101010101010101010101013F
+:10E1D000010101010101010101010101010101012F
+:10E1E000010101010101010101010101010101011F
+:10E1F000010101010101010101010101010102010E
+:10E2000001010101010101010101010101010201FD
+:10E2100001010101010101010101010101020202EB
+:10E2200002020202020202020202020202020201CF
+:10E2300002010101020202020202020202020202C1
+:10E2400002020202020202020202020202020202AE
+:10E25000020202020202020202020202020202029E
+:10E26000020202020202020202020202020202028E
+:10E27000020202020202020202020202020202017F
+:10E28000010101010101010101010101010101017E
+:10E29000010101010101010101010101010101016E
+:10E2A000010101010101010101010101010101015E
+:10E2B000010101010101010101010101010101014E
+:10E2C000010101010101010101010101010101013E
+:10E2D000010101010101010101010101010101012E
+:10E2E000010101010101010101010101010101011E
+:10E2F000010101010101010101010101020202010B
+:10E3000001010101010101010101010102020201FA
+:10E3100001010101010101010101020202020202E7
+:10E3200002020202020202020202020202020202CD
+:10E3300002020202020202020202020202020202BD
+:10E3400002020202020202020202020202020202AD
+:10E35000020202020202020202020202020202029D
+:10E36000020202020202020202020202020202028D
+:10E37000020202020202020202020202020202017E
+:10E38000010101010101010101010101010101017D
+:10E39000010101010101010101010101010101016D
+:10E3A000010101010101010101010101010101015D
+:10E3B000010101010101010101010101010101014D
+:10E3C000010101010101010101010101010101013D
+:10E3D000010101010101010101010101010101012D
+:10E3E000010101010101010101010101010101011D
+:10E3F0000101010101010101020102020202020107
+:10E4000001010101010101010202020202020201F5
+:10E4100001010101020202020202020202020202E0
+:10E4200002020202020202020202020202020202CC
+:10E4300002020202020202020202020202020202BC
+:10E4400002020202020202020202020202020202AC
+:10E45000020202020202020202020202020202029C
+:10E46000020202020202020202020202020202028C
+:10E47000020202020202020202020202020202017D
+:10E48000010101010101010101010101010101017C
+:10E49000010101010101010101010101010101016C
+:10E4A000010101010101010101010101010101015C
+:10E4B000010101010101010101010101010101014C
+:10E4C000010101010101010101010101010101013C
+:10E4D000010101010101010101010101010101012C
+:10E4E000010101010101010101010101010101021B
+:10E4F00002010202020201010202020202020202FF
+:10E5000002010202020202020202020202020202EC
+:10E5100002020202020202020202020202020202DB
+:10E5200002020202020202020202020202020202CB
+:10E5300002020202020202020202020202020202BB
+:10E5400002020202020202020202020202020202AB
+:10E55000020202020202020202020202020202029B
+:10E56000020202020202020202020202020202028B
+:10E57000020202020202020202020202020202017C
+:10E58000010101010101010101010101010101017B
+:10E59000010101010101010101010101010101016B
+:10E5A000010101010101010101010101010101015B
+:10E5B000010101010101010101010101010101014B
+:10E5C000010101010101010101010101010101013B
+:10E5D000010101010101010101010101010101012B
+:10E5E0000101010101010101010101010101020219
+:10E5F00002020202020202010202020202020202FC
+:10E6000002020202020202020202020202020202EA
+:10E6100002020202020202020202020202020202DA
+:10E6200002020202020202020202020202020202CA
+:10E6300002020202020202020202020202020202BA
+:10E6400002020202020202020202020202020202AA
+:10E65000020202020202020202020202020202029A
+:10E66000020202020202020202020202020202028A
+:10E67000020202020202020202020202020202017B
+:10E68000010101010101010101010101010101017A
+:10E69000010101010101010101010101010101016A
+:10E6A000010101010101010101010101010101015A
+:10E6B000010101010101010101010101010101014A
+:10E6C000010101010101010101010101010101013A
+:10E6D000010101010101010101010101010101012A
+:10E6E0000101010101010101010101010202020216
+:10E6F00002020202020202020202020202020202FA
+:10E7000002020202020202020202020202020202E9
+:10E7100002020202020202020202020202020202D9
+:10E7200002020202020202020202020202020202C9
+:10E7300002020202020202020202020202020202B9
+:10E7400002020202020202020202020202020202A9
+:10E750000202020202020202020202020202020299
+:10E760000202020202020202020202020202020289
+:10E77000020202020202020202020202020202017A
+:10E780000101010101010101010101010101010179
+:10E790000101010101010101010101010101010169
+:10E7A0000101010101010101010101010101010159
+:10E7B0000101010101010101010101010101010149
+:10E7C0000101010101010101010101010101010139
+:10E7D0000101010101010101010101010101010129
+:10E7E0000201010101010102020201020202020210
+:10E7F00002020202020202020202020202020202F9
+:10E8000002020202020202020202020202020202E8
+:10E8100002020202020202020202020202020202D8
+:10E8200002020202020202020202020202020202C8
+:10E8300002020202020202020202020202020202B8
+:10E8400002020202020202020202020202020202A8
+:10E850000202020202020202020202020202020298
+:10E860000202020202020202020202020202020288
+:10E870000202020202020202020202020202020179
+:10E880000101010101010101010101010101010178
+:10E890000101010101010101010101010101010168
+:10E8A0000101010101010101010101010101010158
+:10E8B0000101010101010101010101010101010148
+:10E8C0000101010101010101010101010101020137
+:10E8D0000101010101010101010101010101010128
+:10E8E000020101020202010202020102020202020C
+:10E8F00002020202020202020202020202020202F8
+:10E9000002020202020202020202020202020202E7
+:10E9100002020202020202020202020202020202D7
+:10E9200002020202020202020202020202020202C7
+:10E9300002020202020202020202020202020202B7
+:10E9400002020202020202020202020202020202A7
+:10E950000202020202020202020202020202020297
+:10E960000202020202020202020202020202020287
+:10E970000202020202020202020202020202020178
+:10E980000101010101010101010101010101010177
+:10E990000101010101010101010101010101010167
+:10E9A0000101010101010101010101010101010157
+:10E9B0000101010101010101010101010101010246
+:10E9C0000201010101010101020102020202020130
+:10E9D0000101010101010101010101010101010127
+:10E9E000020101020202010202020102020202020B
+:10E9F00002020202020202020202020202020202F7
+:10EA000002020202020202020202020202020202E6
+:10EA100002020202020202020202020202020202D6
+:10EA200002020202020202020202020202020202C6
+:10EA300002020202020202020202020202020202B6
+:10EA400002020202020202020202020202020202A6
+:10EA50000202020202020202020202020202020296
+:10EA60000202020202020202020202020202020286
+:10EA70000202020202020202020202020202020177
+:10EA80000101010101010101010101010101010176
+:10EA90000101010101010101010101010101010166
+:10EAA0000101010101010101010101010101010156
+:10EAB0000101010101010101010101010101020244
+:10EAC0000202020201020201020202020202020129
+:10EAD0000101010101010101010101010101020125
+:10EAE0000201010202020202020201020202020209
+:10EAF00002020202020202020202020202020202F6
+:10EB000002020202020202020202020202020202E5
+:10EB100002020202020202020202020202020202D5
+:10EB200002020202020202020202020202020202C5
+:10EB300002020202020202020202020202020202B5
+:10EB400002020202020202020202020202020202A5
+:10EB50000202020202020202020202020202020295
+:10EB60000202020202020202020202020202020285
+:10EB70000202020202020202020202020202020176
+:10EB80000101010101010101010101010101010175
+:10EB90000101010101010101010101010101010165
+:10EBA0000101010101010101010101010101010155
+:10EBB0000101010101010101010101010102020242
+:10EBC0000202020201020201020202020202020227
+:10EBD0000201020102020202020202020102020119
+:10EBE0000201010202020202020201020202020208
+:10EBF00002020202020202020202020202020202F5
+:10EC000002020202020202020202020202020202E4
+:10EC100002020202020202020202020202020202D4
+:10EC200002020202020202020202020202020202C4
+:10EC300002020202020202020202020202020202B4
+:10EC400002020202020202020202020202020202A4
+:10EC50000202020202020202020202020202020294
+:10EC60000202020202020202020202020202020284
+:10EC70000202020202020202020202020202020175
+:10EC80000101010101010101010101010101010174
+:10EC90000101010101010101010101010101010164
+:10ECA0000101010101010101010101010101010154
+:10ECB000020102020101010101010201020202023C
+:10ECC0000202020201020201020202020202020226
+:10ECD0000202020202020202020202020102020116
+:10ECE0000201010202020202020201020202020207
+:10ECF00002020202020202020202020202020202F4
+:10ED000002020202020202020202020202020202E3
+:10ED100002020202020202020202020202020202D3
+:10ED200002020202020202020202020202020202C3
+:10ED300002020202020202020202020202020202B3
+:10ED400002020202020202020202020202020202A3
+:10ED50000202020202020202020202020202020293
+:10ED60000202020202020202020202020202020283
+:10ED70000202020202020202020202020202020174
+:10ED80000101010101010101010101010101010173
+:10ED90000101010101010101010101010101010163
+:10EDA0000101010101010101010101010102020151
+:10EDB0000202020201010102020202020202020236
+:10EDC0000202020201020201020202020202020225
+:10EDD0000202020202020202020202020202020114
+:10EDE0000201020202020202020202020202020204
+:10EDF00002020202020202020202020202020202F3
+:10EE000002020202020202020202020202020202E2
+:10EE100002020202020202020202020202020202D2
+:10EE200002020202020202020202020202020202C2
+:10EE300002020202020202020202020202020202B2
+:10EE400002020202020202020202020202020202A2
+:10EE50000202020202020202020202020202020292
+:10EE60000202020202020202020202020202020282
+:10EE70000202020202020202020202020202020173
+:10EE80000101010101010101010101010101010172
+:10EE90000101010101010101010101010101010261
+:10EEA0000201020102020202020202020202020244
+:10EEB0000202020202020202020202020202020232
+:10EEC0000202020202020202020202020202020222
+:10EED0000202020202020202020202020202020212
+:10EEE0000201020202020202020202020202020203
+:10EEF00002020202020202020202020202020202F2
+:10EF000002020202020202020202020202020202E1
+:10EF100002020202020202020202020202020202D1
+:10EF200002020202020202020202020202020202C1
+:10EF300002020202020202020202020202020202B1
+:10EF400002020202020202020202020202020202A1
+:10EF50000202020202020202020202020202020291
+:10EF60000202020202020202020202020202020281
+:10EF70000202020202020202020202020202020172
+:10EF80000101010101010101010101010101010171
+:10EF90000101010101010101010101010101010260
+:10EFA0000202020202020202020202020202020241
+:10EFB0000202020202020202020202020202020231
+:10EFC0000202020202020202020202020202020221
+:10EFD0000202020202020202020202020202020211
+:10EFE0000201020202020202020202020202020202
+:10EFF00002020202020202020202020202020202F1
+:10F0000002020202020202020202020202020202E0
+:10F0100002020202020202020202020202020202D0
+:10F0200002020202020202020202020202020202C0
+:10F0300002020202020202020202020202020202B0
+:10F0400002020202020202020202020202020202A0
+:10F050000202020202020202020202020202020290
+:10F060000202020202020202020202020202020280
+:10F070000202020202020202020202020202020171
+:10F080000101010101010101010101010101010170
+:10F09000010101010101010101010101010101025F
+:10F0A0000202020202020202020202020202020240
+:10F0B0000202020202020202020202020202020230
+:10F0C0000202020202020202020202020202020220
+:10F0D0000202020202020202020202020202020210
+:10F0E0000201020202020202020202020202020201
+:10F0F00002020202020202020202020202020202F0
+:10F1000002020202020202020202020202020202DF
+:10F1100002020202020202020202020202020202CF
+:10F1200002020202020202020202020202020202BF
+:10F1300002020202020202020202020202020202AF
+:10F14000020202020202020202020202020202029F
+:10F15000020202020202020202020202020202028F
+:10F16000020202020202020202020202020202027F
+:10F170000202020202020202020202020202020170
+:10F18000010101010101010101010101010101016F
+:10F19000010101010101010101010101010101025E
+:10F1A000020202020202020202020202020202023F
+:10F1B000020202020202020202020202020202022F
+:10F1C000020202020202020202020202020202021F
+:10F1D000020202020202020202020202020202020F
+:10F1E00002020202020202020202020202020202FF
+:10F1F00002020202020202020202020202020202EF
+:10F2000002020202020202020202020202020202DE
+:10F2100002020202020202020202020202020202CE
+:10F2200002020202020202020202020202020202BE
+:10F2300002020202020202020202020202020202AE
+:10F24000020202020202020202020202020202029E
+:10F25000020202020202020202020202020202028E
+:10F26000020202020202020202020202020202027E
+:10F27000020202020202020202020202020202016F
+:10F28000010101010101010101010101010101016E
+:10F29000010101010101010101010101010102025C
+:10F2A000020202020202020202020202020202023E
+:10F2B000020202020202020202020202020202022E
+:10F2C000020202020202020202020202020202021E
+:10F2D000020202020202020202020202020202020E
+:10F2E00002020202020202020202020202020202FE
+:10F2F00002020202020202020202020202020202EE
+:10F3000002020202020202020202020202020202DD
+:10F3100002020202020202020202020202020202CD
+:10F3200002020202020202020202020202020202BD
+:10F3300002020202020202020202020202020202AD
+:10F34000020202020202020202020202020202029D
+:10F35000020202020202020202020202020202028D
+:10F36000020202020202020202020202020202027D
+:10F37000020202020202020202020202020202016E
+:10F38000010101010101010101010101010101026C
+:10F390000201010101010101010102010202020257
+:10F3A000020202020202020202020202020202023D
+:10F3B000020202020202020202020202020202022D
+:10F3C000020202020202020202020202020202021D
+:10F3D000020202020202020202020202020202020D
+:10F3E00002020202020202020202020202020202FD
+:10F3F00002020202020202020202020202020202ED
+:10F4000002020202020202020202020202020202DC
+:10F4100002020202020202020202020202020202CC
+:10F4200002020202020202020202020202020202BC
+:10F4300002020202020202020202020202020202AC
+:10F44000020202020202020202020202020202029C
+:10F45000020202020202020202020202020202028C
+:10F46000020202020202020202020202020202027C
+:10F47000020202020202020202020202020202016D
+:10F48000010101010101010101010101010101026B
+:10F49000020101020201020202020202020202024F
+:10F4A000020202020202020202020202020202023C
+:10F4B000020202020202020202020202020202022C
+:10F4C000020202020202020202020202020202021C
+:10F4D000020202020202020202020202020202020C
+:10F4E00002020202020202020202020202020202FC
+:10F4F00002020202020202020202020202020202EC
+:10F5000002020202020202020202020202020202DB
+:10F5100002020202020202020202020202020202CB
+:10F5200002020202020202020202020202020202BB
+:10F5300002020202020202020202020202020202AB
+:10F54000020202020202020202020202020202029B
+:10F55000020202020202020202020202020202028B
+:10F56000020202020202020202020202020202027B
+:10F57000020202020202020202020202020202016C
+:10F58000010101010101010101010101010101026A
+:10F59000020202020202020202020202020202024B
+:10F5A000020202020202020202020202020202023B
+:10F5B000020202020202020202020202020202022B
+:10F5C000020202020202020202020202020202021B
+:10F5D000020202020202020202020202020202020B
+:10F5E00002020202020202020202020202020202FB
+:10F5F00002020202020202020202020202020202EB
+:10F6000002020202020202020202020202020202DA
+:10F6100002020202020202020202020202020202CA
+:10F6200002020202020202020202020202020202BA
+:10F6300002020202020202020202020202020202AA
+:10F64000020202020202020202020202020202029A
+:10F65000020202020202020202020202020202028A
+:10F66000020202020202020202020202020202027A
+:10F67000020202020202020202020202020202016B
+:10F680000101010101010101010101010101010269
+:10F69000020202020202020202020202020202024A
+:10F6A000020202020202020202020202020202023A
+:10F6B000020202020202020202020202020202022A
+:10F6C000020202020202020202020202020202021A
+:10F6D000020202020202020202020202020202020A
+:10F6E00002020202020202020202020202020202FA
+:10F6F00002020202020202020202020202020202EA
+:10F7000002020202020202020202020202020202D9
+:10F7100002020202020202020202020202020202C9
+:10F7200002020202020202020202020202020202B9
+:10F7300002020202020202020202020202020202A9
+:10F740000202020202020202020202020202020299
+:10F750000202020202020202020202020202020289
+:10F760000202020202020202020202020202020279
+:10F77000020202020202020202020202020202016A
+:10F780000101010101010101010101010101010268
+:10F790000202020202020202020202020202020249
+:10F7A0000202020202020202020202020202020239
+:10F7B0000202020202020202020202020202020229
+:10F7C0000202020202020202020202020202020219
+:10F7D0000202020202020202020202020202020209
+:10F7E00002020202020202020202020202020202F9
+:10F7F00002020202020202020202020202020202E9
+:10F8000002020202020202020202020202020202D8
+:10F8100002020202020202020202020202020202C8
+:10F8200002020202020202020202020202020202B8
+:10F8300002020202020202020202020202020202A8
+:10F840000202020202020202020202020202020298
+:10F850000202020202020202020202020202020288
+:10F860000202020202020202020202020202020278
+:10F870000202020202020202020202020202020169
+:10F880000101010101010101010101010101010267
+:10F890000202020202020202020202020202020248
+:10F8A0000202020202020202020202020202020238
+:10F8B0000202020202020202020202020202020228
+:10F8C0000202020202020202020202020202020218
+:10F8D0000202020202020202020202020202020208
+:10F8E00002020202020202020202020202020202F8
+:10F8F00002020202020202020202020202020202E8
+:10F9000002020202020202020202020202020202D7
+:10F9100002020202020202020202020202020202C7
+:10F9200002020202020202020202020202020202B7
+:10F9300002020202020202020202020202020202A7
+:10F940000202020202020202020202020202020297
+:10F950000202020202020202020202020202020287
+:10F960000202020202020202020202020202020277
+:10F970000202020202020202020202020202020168
+:10F980000101010101010101010101010101010266
+:10F990000202020202020202020202020202020247
+:10F9A0000202020202020202020202020202020237
+:10F9B0000202020202020202020202020202020227
+:10F9C0000202020202020202020202020202020217
+:10F9D0000202020202020202020202020202020207
+:10F9E00002020202020202020202020202020202F7
+:10F9F00002020202020202020202020202020202E7
+:10FA000002020202020202020202020202020202D6
+:10FA100002020202020202020202020202020202C6
+:10FA200002020202020202020202020202020202B6
+:10FA300002020202020202020202020202020202A6
+:10FA40000202020202020202020202020202020296
+:10FA50000202020202020202020202020202020286
+:10FA60000202020202020202020202020202020276
+:10FA70000202020202020202020202020202020167
+:10FA80000101010101010101010101010101010265
+:10FA90000202020202020202020202020202020246
+:10FAA0000202020202020202020202020202020236
+:10FAB0000202020202020202020202020202020226
+:10FAC0000202020202020202020202020202020216
+:10FAD0000202020202020202020202020202020206
+:10FAE00002020202020202020202020202020202F6
+:10FAF00002020202020202020202020202020202E6
+:10FB000002020202020202020202020202020202D5
+:10FB100002020202020202020202020202020202C5
+:10FB200002020202020202020202020202020202B5
+:10FB300002020202020202020202020202020202A5
+:10FB40000202020202020202020202020202020295
+:10FB50000202020202020202020202020202020285
+:10FB60000202020202020202020202020202020275
+:10FB70000202020202020202020202020202020166
+:10FB80000101010101010101010101010101010264
+:10FB90000202020202020202020202020202020047
+:10FBA0000000000000000000000000000000000055
+:10FBB0000000000000000000000000000000000045
+:10FBC0000000000000000000000000000000000233
+:10FBD0000202020202020202020202020202020205
+:10FBE00002020202020202020202020202020202F5
+:10FBF00002020202020202020202020202020202E5
+:10FC000002020202020202020202020202020200D6
+:10FC100000000000000000000000000000000002E2
+:10FC200002020202020202020202020202020202B4
+:10FC300002020202020202020202020202020202A4
+:10FC40000202020202020202020202020202020294
+:10FC50000202020202020202020202020202020284
+:10FC60000202020202020202020202020202020274
+:10FC70000202020202020202020202020202010166
+:10FC80000101010101010101010101010101010263
+:10FC90000202020202020202020202020202020046
+:10FCA0000000000000000000000000000000000054
+:10FCB0000000000000000000000000000000000044
+:10FCC0000000000000000000000000000000000034
+:10FCD0000000000000000000000000000000000222
+:10FCE00002020202020202020202020202020200F6
+:10FCF0000000000000000000000000000000000202
+:10FD000002020202020202020202020202020200D5
+:10FD100000000000000000000000000000000002E1
+:10FD200002020202020202020202020202020202B3
+:10FD300002020202020202020202020202020200A5
+:10FD400000000000000000000000000000000000B3
+:10FD500000000000000000000000000000000002A1
+:10FD60000202020202020202020202020202020273
+:10FD70000000000000000000000000000000000182
+:10FD80000101010101010101010101010101010163
+:10FD90000101010101010101010101010101010153
+:10FDA0000101010101010101010101010101010143
+:10FDB0000101010101010101010101010101010133
+:10FDC0000101010101010101010101010101010123
+:10FDD0000101010101010101010101010101010113
+:10FDE0000101010101010101010101010101010103
+:10FDF00001010101010101010101010101010101F3
+:10FE000001010101010101010101010101010101E2
+:10FE100001010101010101010101010101010101D2
+:10FE200001010101010101010101010101010101C2
+:10FE300001010101010101010101010101010101B2
+:10FE400001010101010101010101010101010101A2
+:10FE50000101010101010101010101010101010192
+:10FE60000101010101010101010101010101010281
+:10FE70000000000000000000000000000000000181
+:10FE80000101010101010101010101010101010162
+:10FE90000101010101010101010101010101010152
+:10FEA0000101010101010101010101010101010142
+:10FEB0000101010101010101010101010101010132
+:10FEC0000101010101010101010101010101010122
+:10FED0000101010101010101010101010101010112
+:10FEE0000101010101010101010101010101010102
+:10FEF00001010101010101010101010101010101F2
+:10FF000001010101010101010101010101010101E1
+:10FF100001010101010101010101010101010101D1
+:10FF200001010101010101010101010101010101C1
+:10FF300001010101010101010101010101010101B1
+:10FF400001010101010101010101010101010101A1
+:10FF50000101010101010101010101010101010191
+:10FF60000101010101010101010101010101010280
+:10FF70000000000000000000000000000000000180
+:10FF80000101010101010101010101010101010161
+:10FF90000101010101010101010101010101010151
+:10FFA0000101010101010101010101010101010141
+:10FFB0000101010101010101010101010101010131
+:10FFC0000101010101010101010101010101010121
+:10FFD0000101010101010101010101010101010111
+:10FFE0000101010101010101010101010101010101
+:10FFF00001010101010101010101010101010101F1
+:02000002B0004C
+:1000000001010101010101010101010101010101E0
+:1000100001010101010101010101010101010101D0
+:1000200001010101010101010101010101010101C0
+:1000300001010101010101010101010101010101B0
+:1000400001010101010101010101010101010101A0
+:100050000101010101010101010101010101010190
+:10006000010101010101010101010101010101027F
+:10007000000000000000000000000000000000017F
+:100080000101010101010101010101010101010160
+:100090000101010101010101010101010101010150
+:1000A0000101010101010101010101010101010140
+:1000B0000101010101010101010101010101010130
+:1000C0000101010101010101010101010101010120
+:1000D0000101010101010101010101010101010110
+:1000E0000101010101010101010101010101010100
+:1000F00001010101010101010101010101010101F0
+:1001000001010101010101010101010101010101DF
+:1001100001010101010101010101010101010101CF
+:1001200001010101010101010101010101010101BF
+:1001300001010101010101010101010101010101AF
+:1001400001010101010101010101010101010100A0
+:10015000000000000000000000000000000000019E
+:10016000010101010101010101010101010101027E
+:10017000000000000000000000000000000000017E
+:10018000010101010101010101010101010101015F
+:10019000010101010101010101010101010101014F
+:1001A000010101010101010101010101010101013F
+:1001B000010101010101010101010101010101012F
+:1001C0000101010101010101010101010101010020
+:1001D000000000000000000000000000000000011E
+:1001E00001010101010101010101010101010101FF
+:1001F00001010101010101010101010101010101EF
+:1002000001010101010101010101010101010100DF
+:1002100000000000000000000000000000000001DD
+:1002200001010101010101010101010101010100BF
+:1002300000000000000000000000000000000000BE
+:1002400000000000000000000000000000000000AE
+:10025000000000000000000000000000000000009E
+:10026000000000000000000000000000000000028C
+:10027000000000000000000000000000000000017D
+:10028000010101010101010101010101010101015E
+:10029000010101010101010101010101010101014E
+:1002A000010101010101010101010101010101013E
+:1002B000010101010101010101010101010101012E
+:1002C000010101010101010101010101010101001F
+:1002D000000000000000000000000000000000011D
+:1002E00001010101010101010101010101010101FE
+:1002F00001010101010101010101010101010101EE
+:1003000001010101010101010101010101010100DE
+:1003100000000000000000000000000000000001DC
+:1003200001010101010101010101010101010100BE
+:1003300000000000000000000000000000000000BD
+:1003400000000000000000000000000000000000AD
+:10035000000000000000000000000000000000009D
+:10036000000000000000000000000000000000028B
+:10037000000000000000000000000000000000007D
+:10038000000000000000000000000000000000006D
+:10039000000000000000000000000000000000005D
+:1003A000000000000000000000000000000000004D
+:1003B000000000000000000000000000000000003D
+:1003C000000000000000000000000000000000002D
+:1003D000000000000000000000000000000000001D
+:1003E000000000000000000000000000000000000D
+:1003F00000000000000000000000000000000000FD
+:1004000000000000000000000000000000000000EC
+:1004100000000000000000000000000000000000DC
+:1004200000000000000000000000000000000000CC
+:1004300000000000000000000000000000000000BC
+:1004400000000000000000000000000000000000AC
+:10045000000000000000000000000000000000009C
+:10046000000000000000000000000000000000008C
+:100470000000000000000000000000000000005527
+:10048000000000000000000000000000000000006C
+:100490000000000000000000000000000200010257
+:1004A000000000000000000000000000000000004C
+:1004B0000200000000020000000000000000000038
+:1004C000000000000000000000000000000000002C
+:1004D000000000000000000000000000000002001A
+:1004E000000000000000000200000000000000000A
+:1004F00000000000000000000000000000000000FC
+:1005000000000000000000000000020000000000E9
+:1005100000000000000000000000000000000000DB
+:1005200002000000000000000002000000000000C7
+:1005300000020000000000000000000002000000B7
+:1005400000000000000000000002000000000000A9
+:100550000002000000000000020000000002000095
+:10056000020000020002000000020200020000007F
+:10057000000200000000000000020200020002026F
+:100580000002000000000200020000020002000061
+:10059000020002020202000000000000020001024C
+:1005A0000000000000020202000200000200000041
+:1005B0000202000000020000000000000000000035
+:1005C0000000000000000000000000000200000029
+:1005D0000002000000000000000000000000020017
+:1005E0000000000000000002000000000000000009
+:1005F00002000000000000000000000000000000F9
+:1006000002000000000000000000020200000000E4
+:1006100000000202000000000000020000000000D4
+:1006200002020000000000000002000000020000C2
+:1006300000020202000202000000000202020000AA
+:10064000000002000202020002020000000200009C
+:100650000202020000020202020202000202020280
+:100660000202000200020000020202020202000076
+:10067000020202020202020002020202020202025C
+:10068000020202020202020202020202020202024A
+:100690000202020202020000000002000200020246
+:1006A0000000000000020202000200000200000040
+:1006B000020200020002000200000200000002002C
+:1006C0000000000000000000020000000200000026
+:1006D0000202000000020000000000000000020210
+:1006E0000000000000000002000002000000000006
+:1006F00002020000000000020000020000000000F2
+:1007000002020000000000020002020200000200DB
+:1007100000000202000000000200020200000000CF
+:1007200002020200000000000002000002020200BB
+:1007300000020202000202020002020202020002A1
+:100740000000020002020200020202000202020095
+:10075000020202000002020202020202020202027D
+:100760000202020202020202020202020202020269
+:10077000020202020202020002020202020202025B
+:100780000202020202020202020202020202020249
+:100790000202020202020000020002000200020243
+:1007A000000000000002020200020000020000003F
+:1007B000020200020002000200000200000002002B
+:1007C0000000000000000000020200000200000023
+:1007D000020200000002000000000000000002020F
+:1007E00002000000000200020000020200000000FF
+:1007F00002020002000000020000020000000000EF
+:1008000002020202000000020202020200020200D2
+:1008100000000202000200000202020200000000CA
+:1008200002020200000000000002000002020200BA
+:10083000000202020002020202020202020200029E
+:100840000200020002020200020202000202020092
+:10085000020202020002020202020202020202027A
+:100860000202020202020202020202020202020268
+:10087000020202020202010002020202020202025B
+:100880000202020202020202020202020202020248
+:100890000202020202020001020002000200020241
+:1008A000000000000002020202020000020000003C
+:1008B000020200020002000200000200000002002A
+:1008C0000000000000000000020200000200000022
+:1008D000020200020002000000020000000002020A
+:1008E00002000000000200020000020200000000FE
+:1008F00002020002000000020000020000000000EE
+:1009000002020202000000020202020202020202CD
+:1009100000000202000200000202020200020000C7
+:1009200002020202000000000002020002020202B3
+:10093000000202020002020202020202020202029B
+:10094000020202000202020002020200020202028D
+:100950000202020200020202020202020202020279
+:100960000202020202020202020202020202020267
+:10097000020202020202010002020202020202025A
+:100980000202020202020202020202020202020247
+:100990000202020202020001020002000200020240
+:1009A000000000000002020202020000020000003B
+:1009B0000202000200020002000002000000020029
+:1009C000000000000000000202020200020000001D
+:1009D0000202000200020000000200000000020209
+:1009E00002000000000202020200020200000000F9
+:1009F00002020202000000020200020200020000E5
+:100A000002020202000000020202020202020202CC
+:100A100000000202020200000202020202020200C0
+:100A200002020202000000000202020002020202B0
+:100A30000002020202020202020202020202020298
+:100A40000202020202020200020202020202020288
+:100A50000202020202020202020202020202020276
+:100A60000202020202020102020202020202020267
+:100A70000202020202020100020202020202020259
+:100A80000202020202020202020202020202020246
+:100A9000020202020202000102000200020002023F
+:100AA000000000000002020202020000020000003A
+:100AB0000202000200020002000002000000020028
+:100AC000000000000000000202020200020000001C
+:100AD0000202020200020000000200000000020206
+:100AE00002000000000202020200020200000200F6
+:100AF00002020202000000020202020202020202DC
+:100B000002020202000000020202020202020202CB
+:100B100000000202020200000202020202020200BF
+:100B200002020202000200000202020002020202AD
+:100B30000002020202020202020202020202020297
+:100B40000202020202020100020202020202020288
+:100B50000202020202020202020202020202020275
+:100B60000202020202020102020202020202020266
+:100B70000202020202020100020202020202020258
+:100B80000202020202020102020202020202020246
+:100B9000020202020202000102000200020002023E
+:100BA0000000000000020202020200000200000039
+:100BB0000202000200020002020002020002020021
+:100BC000000000000000000202020200020000001B
+:100BD0000202020200020000020200000000020203
+:100BE00002000200000202020200020200020200F1
+:100BF00002020202000200020202020202020202D9
+:100C000002020202020000020202020202020202C8
+:100C100002000202020200000202020202020202BA
+:100C200002020202000200000202020202020202AA
+:100C30000202020202020202020202020202020294
+:100C40000202020202020100020202020202020287
+:100C50000202020202020202020202020202020274
+:100C60000202020202020102020202020202020265
+:100C70000202020202020100020202020202020257
+:100C80000202020202020102020202020202020245
+:100C9000020202020202000202010200020002023B
+:100CA0000000000000020202020200000200000038
+:100CB000020200020002000202000202000202021E
+:100CC0000000000000000002020202020200000018
+:100CD00002020202020200000202020000000202FE
+:100CE00002000200000202020200020200020202EE
+:100CF00002020202000200020202020202020202D8
+:100D000002020202020000020202020202020202C7
+:100D100002020202020200000202020202020202B7
+:100D200002020202020200020202020202020202A5
+:100D30000202020202020102020202020202020294
+:100D40000202020202020100020202020202020286
+:100D50000202020202020102020202020202020274
+:100D60000202020202020102020202020202020264
+:100D70000202020202020100020202020202020256
+:100D80000202020202020102020202020202020244
+:100D9000020202020202000202010200020002023A
+:100DA0000000000000020202020200000200000037
+:100DB000020200020002000202000202000202021D
+:100DC0000000000000000002020202020200020015
+:100DD00002020202020200000202020200000202FB
+:100DE00002000202000202020200020200020202EB
+:100DF00002020202020200020202020202020202D5
+:100E000002020202020200020202020202020202C4
+:100E100002020202020200000202020202020202B6
+:100E200002020202020200020202020202020202A4
+:100E30000202020202020102020202020202020293
+:100E40000202020202020100020202020202020285
+:100E50000202020202020102020202020202020273
+:100E60000202020202010102020202020202020264
+:100E70000202020202010100020202020202020256
+:100E80000202020202020102020202020202020243
+:100E90000202020202020002020202000200020238
+:100EA0000000000000020202020200000200000036
+:100EB0000202020200020002020202020002020218
+:100EC0000002000000000002020202020202020010
+:100ED00002020202020200000202020200000202FA
+:100EE00002000202000202020200020200020202EA
+:100EF00002020202020200020202020202020202D4
+:100F000002020202020200020202020202020202C3
+:100F100002020202020200000202020202020202B5
+:100F200002020202020202020202020202020202A1
+:100F30000202020202020102020202020202020292
+:100F40000202020202020100020202020202020284
+:100F50000202020202020102020202020202020272
+:100F60000202020202010102020202020202020263
+:100F70000202020202010100020202020202020255
+:100F80000202020202020102020202020202020242
+:100F90000202020202020002020202000200020237
+:100FA0000000000000020202020202000200000033
+:100FB0000202020200020002020202020002020217
+:100FC000000200000000000202020202020202000F
+:100FD00002020202020200000202020200020202F7
+:100FE00002000202000202020200020200020202E9
+:100FF00002020202020200020202020202020202D3
+:1010000002020202020200020202020202020202C2
+:1010100002020202020200000202020202020202B4
+:1010200002020202020202020202020202020202A0
+:101030000202020202020102020202020202020291
+:101040000202020202010100020202020202020284
+:101050000202020202020102020202020202020271
+:101060000202020202010102020202020202020262
+:101070000202020202010100020202020202020254
+:101080000202020202010102020202020202020242
+:101090000202020202020002020202000200020236
+:1010A0000000000000020202020202020200000030
+:1010B0000202020200020002020202020202020214
+:1010C000000200000000000202020202020202000E
+:1010D00002020202020202000202020202020202F2
+:1010E00002000202000202020200020200020202E8
+:1010F00002020202020200020202020202020202D2
+:1011000002020202020200020202020202020202C1
+:1011100002020202020200000202020202020202B3
+:10112000020202020202020202020202020202029F
+:101130000202020202020102020202020202020290
+:101140000202020202010102020202020202020281
+:101150000202020202020102020202020202020270
+:101160000202020202010102020202020202020261
+:101170000202020201010100020202020202020254
+:101180000202020202010102020202020202020241
+:101190000202020202010002020202000200020236
+:1011A000000000000002020202020202020000002F
+:1011B0000202020200020002020202020202020213
+:1011C0000002000200000002020202020202020209
+:1011D00002020202020202000202020202020202F1
+:1011E00002000202000201020200020200020202E8
+:1011F00002020202020200020202020202020202D1
+:1012000002020202020200020202020202020202C0
+:1012100002020202020202000202020202020202B0
+:10122000020202020202010202020202020202029F
+:101230000202020202010102020202020202020290
+:101240000202020202010102020202020202020280
+:101250000202020202010102020202020202020270
+:101260000202020202010102020202020202020260
+:101270000202020101010100020202020202020254
+:101280000202020202010102020202020202020240
+:101290000202020202010002020202000200020235
+:1012A000000000000002020202020202020000002E
+:1012B0000202020200020002020202020202020212
+:1012C0000002000200000002020202020202020208
+:1012D00002020202020202000202020202020202F0
+:1012E00002000202000201020200020200020202E7
+:1012F00002020202020200020202020202020202D0
+:1013000002020202020200020202020202020202BF
+:1013100002020202020101000202020202020202B1
+:10132000020202020202010202020202020202029E
+:10133000020202020201010202020202020202028F
+:10134000020202020201010202020202020202027F
+:10135000020202020201010202020202020202026F
+:101360000202020201010102020202020202020260
+:101370000201010101010100020202020202020255
+:101380000202020201010102020202020202020240
+:101390000202020202010002020202010201020232
+:1013A000000000000002010202020202020000002E
+:1013B0000202020200020002020202020202020211
+:1013C0000202000200020002020202020202020203
+:1013D00002020202020202000202020202020202EF
+:1013E00002000202020201020200020200020202E4
+:1013F00002020202020200020202020202020202CF
+:1014000002020202020200020202020202020202BE
+:1014100002020202020101000202020202020202B0
+:10142000020202020202010202020202020202029D
+:10143000020202020201010202020202020202028E
+:10144000020202020101010202020202020202027F
+:10145000020202020201010202020202020202026E
+:101460000202020101010102020202020202020161
+:101470000101010101010100020202020202020255
+:10148000020202020101010202020202020202023F
+:101490000202020201010002020202010201020232
+:1014A000000000000002010202020202020000002D
+:1014B0000202020200020002020202020202020210
+:1014C0000202000200020002020202020202020202
+:1014D00002020202020202000202020202020202EE
+:1014E00002000202020201020202020200020202E1
+:1014F00002020202020200020202020202020202CE
+:1015000002020202020200020202020202020202BD
+:1015100002020202020101000202020202020202AF
+:10152000020202020201010202020202020202029D
+:10153000020202020201010202020202020202028D
+:10154000020202020101010202020202020202027E
+:10155000020202020201010202020202020202026D
+:101560000202010101010102020202020201010163
+:101570000101010101010100020202020202020254
+:101580000202010101010102020202020202020240
+:101590000202020201010002020202010201020231
+:1015A0000000000000020102020202020200020228
+:1015B0000202020200010002020202020202020210
+:1015C00002020202020200020202020202020202FD
+:1015D00002020202020101000202020202020202EF
+:1015E00002000202020101020202020200020202E1
+:1015F00002020202020101020202020202020202CD
+:1016000002020202020201020202020202020202BB
+:1016100002020202020101000202020202020202AE
+:10162000020202020201010202020202020202029C
+:10163000020202020201010202020202020202028C
+:10164000020201020101010202020202020202027E
+:10165000020202020201010202020202020202026C
+:101660000101010101010102020202020201010164
+:101670000101010101010100020202020202020253
+:101680000201010101010102020202020202020240
+:101690000202010101010002020202010201020232
+:1016A0000000000000020102020202020202020225
+:1016B000020202020001000202020202020202020F
+:1016C00002020202020200020202020202020202FC
+:1016D00002020202020101000202020202020202EE
+:1016E00002020202020101020202020200020202DE
+:1016F00002020202020101020202020202020202CC
+:1017000002020202020101020202020202020202BB
+:1017100002020202020101000202020202020202AD
+:10172000020202020201010202020202020202029B
+:10173000020202020201010202020202020202028B
+:10174000020201020101010202020202020202027D
+:10175000020202020201010202020202020202016C
+:101760000101010101010102020202020201010163
+:101770000101010101010100020202020202020153
+:101780000101010101010102020202020202020240
+:10179000020201010101000202020202020202022F
+:1017A0000000000000020102020202020202020224
+:1017B000020202020001000202020202020202020E
+:1017C00002020202020200020202020202020202FB
+:1017D00002020202020101000202020202020202ED
+:1017E00002020202020101020202020200020202DD
+:1017F00002020202020101020202020202020202CB
+:1018000002020202020101020202020202020202BA
+:1018100002020101010101020202020202020202AD
+:10182000020202020201010202020202020202029A
+:10183000020201010101010202020202020202028D
+:10184000020201020101010202020202020202027C
+:10185000020201020101010202020202020202016D
+:101860000101010101010102020202020101010163
+:101870000101010101010100020202020202010153
+:10188000010101010101010202020202020202023F
+:101890000101010101010002020202020202020230
+:1018A0000000000000010102020202020202020224
+:1018B000020202020001000202020202020202020D
+:1018C00002020202020200020202020202020202FA
+:1018D00002020202020101000202020202020202EC
+:1018E00002020202020101020202020200020202DC
+:1018F00002020202020101020202020202020202CA
+:1019000002020202020101020202020202020202B9
+:1019100002020101010101020202020202020202AC
+:10192000020201020201010202020202020202029A
+:10193000020101010101010202020202020202028D
+:10194000020201010101010202020202020202027C
+:101950000201010101010102020202020201010170
+:101960000101010101010102020202020101010162
+:101970000101010101010100020202020201010153
+:10198000010101010101010202020202020202013F
+:10199000010101010102000202020202020202022E
+:1019A0000000000100010102020202020202020222
+:1019B000020202020001000202020202020202020C
+:1019C00002020202020200020202020202020202F9
+:1019D00002020202020101000202020202020202EB
+:1019E00002020202020101020202020200020202DB
+:1019F00002020201020101020202020202020202CA
+:101A000002020101010101020202020202020202BB
+:101A100002020101010101020202020202020202AB
+:101A2000010101010101010202020202020202029D
+:101A3000020101010101010202020202020202018D
+:101A4000010101010101010202020202020202027D
+:101A50000101010101010102020202020201010170
+:101A60000101010101010102020202020101010161
+:101A70000101010101010100020202020201010152
+:101A80000101010101010102020202020201010140
+:101A9000010101010102000202020202020202022D
+:101AA0000000000100010102020202020202020221
+:101AB000020202020001000202020202020202020B
+:101AC00002020202020200020202020202020202F8
+:101AD00002020202020101000202020202020202EA
+:101AE00002020202020101020202020200020202DA
+:101AF00001010101010101020202020202020202CD
+:101B000001010101010101020202020202020202BC
+:101B100002020101010101020202020202020202AA
+:101B2000010101010101010202020202020202029C
+:101B3000020101010101010202020202020102018D
+:101B4000010101010101010202020202020202027C
+:101B50000101010101010102020202020101010170
+:101B60000101010101010102020202010101010161
+:101B70000101010101010100020202020201010151
+:101B8000010101010101010202020202020101013F
+:101B9000010101010102000202020202020202022C
+:101BA000000000020001010202020202020202021F
+:101BB000020202020001000202020202020202020A
+:101BC00002020202020200020202020202020202F7
+:101BD00002020202020101000202020202020202E9
+:101BE00002020202020101020202020200020202D9
+:101BF00001010101010101020202020202020202CC
+:101C000001010101010101020202020202020202BB
+:101C100002020101010101020202020202020202A9
+:101C2000010101010101010202020202020202029B
+:101C3000020101010101010202020202010102018D
+:101C4000010101010101010202020202020202027B
+:101C5000010101010101010202020202010101016F
+:101C60000101010101010102010201010101010162
+:101C70000101010101010100020202020201010150
+:101C80000101010101010102020202010101010140
+:101C9000010101010202000202020202020202022A
+:101CA000000000020001010202020202020202021E
+:101CB0000202020100010102020202020202020209
+:101CC00002020202020200020202020202020202F6
+:101CD00002010201010101000202020202020202EB
+:101CE00002020202020101020202020202020202D6
+:101CF00001010101010101020202020202020202CB
+:101D000001010101010101020202020202020101BC
+:101D100002020101010101020202020202020202A8
+:101D2000010101010101010202020202020101019D
+:101D3000020101010101010202020202010101018D
+:101D4000010101010101010202020202020101017D
+:101D5000010101010101010202020201010101016F
+:101D60000101010101010101010201010101010162
+:101D70000101010101010100020202020101010150
+:101D8000010101010101010202020201010101013F
+:101D90000101010102020002020202020202020229
+:101DA000000000020001010202020202020202021D
+:101DB000010102010001010202020202020202020A
+:101DC00002020202020101020202020202020202F5
+:101DD00001010101010101000202020202020101EE
+:101DE00001020102020101020202020202020202D7
+:101DF00001010101010101020202020202020202CA
+:101E000001010101010101020202020202010101BC
+:101E100001010101010101020202020202020202A9
+:101E2000010101010101010202020202020101019C
+:101E3000010101010101010202020201010101018E
+:101E4000010101010101010202020202020101017C
+:101E5000010101010101010202020201010101016E
+:101E60000101010101010101010201010101010161
+:101E7000010101010101010002020202010101014F
+:101E8000010101010101010202020101010101013F
+:101E90000101020202020002020202020202020226
+:101EA000000000020001010202020202020202021C
+:101EB0000101020100010102020202020202020209
+:101EC00002020202020101020202020202020202F4
+:101ED00001010101010101000202020202020101ED
+:101EE00001020101020101020202020202020202D7
+:101EF00001010101010101020202020202020201CA
+:101F000001010101010101020202020102010101BC
+:101F100001010101010101020202020202010101AB
+:101F2000010101010101010202020202010101019C
+:101F3000010101010101010202020201010101018D
+:101F4000010101010101010202020202010101017C
+:101F50000101010101010101010201010101010170
+:101F60000101010101010101010101010101010161
+:101F7000010101010101010002020202010101014E
+:101F8000010101010101010202010101010101013F
+:101F90000101020202020002020202020202020225
+:101FA000010000020001010202020202020202021A
+:101FB0000101020100010102020202020202020208
+:101FC00002020202020101020202020202020202F3
+:101FD00001010101010101000202020202020101EC
+:101FE00001020101010101020202020202020101D9
+:101FF00001010101010101020202020202010101CB
+:1020000001010101010101020202010101010101BD
+:1020100001010101010101020202020102010101AB
+:10202000010101010101010202020202010101019B
+:10203000010101010101010202020101010101018D
+:10204000010101010101010202020202010101017B
+:102050000101010101010101010101010101010170
+:102060000101010101010101010101010101010160
+:10207000010101010101010002020201010101014E
+:10208000010101010101010202010101010101013E
+:102090000202020202020002020202020202020123
+:1020A0000100000200010102020202020202020219
+:1020B0000101010100010102020202020202010209
+:1020C00002020202020101020202020201020202F3
+:1020D00001010101010101020202020202020101E9
+:1020E00001020101010101020202020102010101DA
+:1020F00001010101010101020202020202010101CA
+:1021000001010101010101020202010101010101BC
+:1021100001010101010101020202010101010101AC
+:10212000010101010101010202020202010101019A
+:10213000010101010101010202020101010101018C
+:10214000010101010101010202020202010101017A
+:10215000010101010101010101010101010101016F
+:10216000010101010101010101010101010101015F
+:10217000010101010101010002020101010101014E
+:10218000010101010101010202010101010101023C
+:102190000202020202000002020202020202020124
+:1021A0000200000200010102020202020102020218
+:1021B0000101010100010102020202020202010208
+:1021C00002020202020101020202020201020202F2
+:1021D00001010101010101020202020202020101E8
+:1021E00001020101010101020202010102010101DA
+:1021F00001010101010101020202010101010101CC
+:1022000001010101010101020202010101010101BB
+:1022100001010101010101020202010101010101AB
+:10222000010101010101010202010202010101019A
+:10223000010101010101010202010101010101018C
+:10224000010101010101010202010101010101017C
+:10225000010101010101010101010101010101016E
+:10226000010101010101010101010101010101015E
+:10227000010101010101010002020101010101014D
+:102280000101010101010102020101010102020239
+:102290000202020202000002020202020102020124
+:1022A0000200000200010102020202020102020217
+:1022B0000101010100010102020202020202010108
+:1022C00002010201010101020202020201020202F4
+:1022D00001010101010101020202020202020101E7
+:1022E00001020101010101020202010102010101D9
+:1022F00001010101010101020202010101010101CB
+:1023000001010101010101020201010101010101BB
+:1023100001010101010101020202010101010101AA
+:10232000010101010101010202010101010101019B
+:10233000010101010101010101010101010101018D
+:10234000010101010101010202010101010101017B
+:10235000010101010101010101010101010101016D
+:10236000010101010101010101010101010101015D
+:10237000010101010101010002020101010101014C
+:102380000101010101010102020101010102020238
+:102390000202020202000002020202020102010124
+:1023A0000200000200010102020202020102020216
+:1023B0000101010100010102020202020201010108
+:1023C00002010201010101020202020201020102F4
+:1023D00001010101010101020202020202020101E6
+:1023E00001020101010101010202010102010101D9
+:1023F00001010101010101020202010101010101CA
+:1024000001010101010101010101010101010101BC
+:1024100001010101010101020101010101010101AB
+:10242000010101010101010202010101010101019A
+:10243000010101010101010101010101010101018C
+:10244000010101010101010201010101010101017B
+:10245000010101010101010101010101010101016C
+:10246000010101010101010101010101010101015C
+:10247000010101010101010002020101010101014B
+:102480000101010101010102020101020202020235
+:102490000202020200000002020202020102010125
+:1024A0000202000200010102020202020102020213
+:1024B0000101010102010102020201020201010106
+:1024C00002010101010101020202020201010101F6
+:1024D00001010101010101020202020202010101E6
+:1024E00001020101010101010202010102010101D8
+:1024F00001010101010101010202010101010101CA
+:1025000001010101010101010101010101010101BB
+:1025100001010101010101020101010101010101AA
+:102520000101010101010102020101010101010199
+:10253000010101010101010101010101010101018B
+:10254000010101010101010201010101010101017A
+:10255000010101010101010101010101010101016B
+:10256000010101010101010101010101010101015B
+:10257000010101010101010002010101010101014B
+:102580000101010101010102010101020202020235
+:102590000202020200000002020202020102010124
+:1025A0000202000201010102020102020102020212
+:1025B0000101010102010102020201010201010106
+:1025C00001010101010101020101010101010101FA
+:1025D00001010101010101020201020102010101E7
+:1025E00001010101010101010102010102010101D9
+:1025F00001010101010101010101010101010101CB
+:1026000001010101010101010101010101010101BA
+:1026100001010101010101020101010101010101A9
+:102620000101010101010102010101010101010199
+:10263000010101010101010101010101010101018A
+:102640000101010101010102010101010101010179
+:10265000010101010101010101010101010101016A
+:10266000010101010101010101010101010101015A
+:10267000010101010101010001010101010101014B
+:102680000101010101010102010102020202020233
+:102690000202000000000002020201020102010128
+:1026A0000202000201010101020102020102020212
+:1026B0000101010102010102020201010201010105
+:1026C00001010101010101020101010101010101F9
+:1026D00001010101010101020201010101010101E8
+:1026E00001010101010101010102010102010101D8
+:1026F00001010101010101010101010101010101CA
+:1027000001010101010101010101010101010101B9
+:1027100001010101010101020101010101010101A8
+:102720000101010101010102010101010101010198
+:102730000101010101010101010101010101010189
+:102740000101010101010102010101010101010178
+:102750000101010101010101010101010101010169
+:102760000101010101010101010101010101010159
+:10277000010101010101010001010101010101014A
+:102780000101010101010102010202020202020231
+:102790000202000000000002020201020102010127
+:1027A0000202000201010101010102020102020113
+:1027B0000101010102010101020201010101010106
+:1027C00001010101010101020101010101010101F8
+:1027D00001010101010101020201010101010101E7
+:1027E00001010101010101010102010102010101D7
+:1027F00001010101010101010101010101010101C9
+:1028000001010101010101010101010101010101B8
+:1028100001010101010101020101010101010101A7
+:102820000101010101010102010101010101010197
+:102830000101010101010101010101010101010188
+:102840000101010101010102010101010101010177
+:102850000101010101010101010101010101010168
+:102860000101010101010101010101010101010158
+:102870000101010101010100010101010101010149
+:102880000101010101010102010202020202020230
+:10289000000000000000000201020102010201012B
+:1028A0000202000201010101010102010102010114
+:1028B0000101010102010101020201010101010105
+:1028C00001010101010101010101010101010101F8
+:1028D00001010101010101020101010101010101E7
+:1028E00001010101010101010102010102010101D6
+:1028F00001010101010101010101010101010101C8
+:1029000001010101010101010101010101010101B7
+:1029100001010101010101020101010101010101A6
+:102920000101010101010101010101010101010197
+:102930000101010101010101010101010101010187
+:102940000101010101010102010101010101010176
+:102950000101010101010101010101010101010167
+:102960000101010101010101010101010101010157
+:102970000101010101010100010101010101010148
+:102980000101010101010102010202020202020031
+:10299000000000000000000201020102010201012A
+:1029A0000202020202010101010101010101010112
+:1029B0000101010102010101010201010101010105
+:1029C00001010101010101010101010101010101F7
+:1029D00001010101010101020101010101010101E6
+:1029E00001010101010101010102010102010101D5
+:1029F00001010101010101010101010101010101C7
+:102A000001010101010101010101010101010101B6
+:102A100001010101010101020101010101010101A5
+:102A20000101010101010101010101010101010196
+:102A30000101010101010101010101010101010186
+:102A40000101010101010102010101010101010175
+:102A50000101010101010101010101010101010166
+:102A60000101010101010101010101010101010156
+:102A70000101010101010100010101010101010147
+:102A80000101010101010102010202020200000034
+:102A90000000000000000002010201020102010129
+:102AA0000202020102010101010101010101010112
+:102AB0000101010101010101010101010101010106
+:102AC00001010101010101010101010101010101F6
+:102AD00001010101010101020101010101010101E5
+:102AE00001010101010101010102010102010101D4
+:102AF00001010101010101010101010101010101C6
+:102B000001010101010101010101010101010101B5
+:102B100001010101010101020101010101010101A4
+:102B20000101010101010101010101010101010195
+:102B30000101010101010101010101010101010185
+:102B40000101010101010102010101010101010174
+:102B50000101010101010101010101010101010165
+:102B60000101010101010101010101010101010155
+:102B70000101010101010100010101010101010146
+:102B80000101010101010102010202020200000033
+:102B90000000000000010002010201020102010127
+:102BA0000202020102010101010101010101010111
+:102BB0000101010101010101010101010101010105
+:102BC00001010101010101010101010101010101F5
+:102BD00001010101010101020101010101010101E4
+:102BE00001010101010101010102010102010101D3
+:102BF00001010101010101010101010101010101C5
+:102C000001010101010101010101010101010101B4
+:102C100001010101010101020101010101010101A3
+:102C20000101010101010101010101010101010194
+:102C30000101010101010101010101010101010184
+:102C40000101010101010102010101010101010173
+:102C50000101010101010101010101010101010164
+:102C60000101010101010101010101010101010154
+:102C70000101010101010100010101010101010145
+:102C80000101010101010102010202000000000036
+:102C90000000000000010002010101020102010127
+:102CA0000202020102010101010101010101010110
+:102CB0000101010101010101010101010101010104
+:102CC00001010101010101010101010101010101F4
+:102CD00001010101010101020101010101010101E3
+:102CE00001010101010101010101010102010101D3
+:102CF00001010101010101010101010101010101C4
+:102D000001010101010101010101010101010101B3
+:102D100001010101010101020101010101010101A2
+:102D20000101010101010101010101010101010193
+:102D30000101010101010101010101010101010183
+:102D40000101010101010101010101010101010173
+:102D50000101010101010101010101010101010163
+:102D60000101010101010101010101010101010153
+:102D70000101010101010100010101010101010144
+:102D80000101010101010102020202000000000034
+:102D90000000000000010002010101020101010127
+:102DA000020202010201010101010101010101010F
+:102DB0000101010101010101010101010101010103
+:102DC00001010101010101010101010101010101F3
+:102DD00001010101010101020101010101010101E2
+:102DE00001010101010101010101010101010101D3
+:102DF00001010101010101010101010101010101C3
+:102E000001010101010101010101010101010101B2
+:102E100001010101010101020101010101010101A1
+:102E20000101010101010101010101010101010192
+:102E30000101010101010101010101010101010182
+:102E40000101010101010101010101010101010172
+:102E50000101010101010101010101010101010162
+:102E60000101010101010101010101010101010152
+:102E70000101010101010100010101010101010143
+:102E80000101010101010102020200000000000035
+:102E90000000000001010001010101020101010126
+:102EA000020202010201010101010101010101010E
+:102EB0000101010101010101010101010101010102
+:102EC00001010101010101010101010101010101F2
+:102ED00001010101010101020101010101010101E1
+:102EE00001010101010101010101010101010101D2
+:102EF00001010101010101010101010101010101C2
+:102F000001010101010101010101010101010101B1
+:102F100001010101010101020101010101010101A0
+:102F20000101010101010101010101010101010191
+:102F30000101010101010101010101010101010181
+:102F40000101010101010101010101010101010171
+:102F50000101010101010101010101010101010161
+:102F60000101010101010101010101010101010151
+:102F70000101010101010100010101010101010142
+:102F80000101010101010101020000000000000037
+:102F90000000000001010101010101010101010125
+:102FA000010102010201010101010101010101010F
+:102FB0000101010101010101010101010101010101
+:102FC00001010101010101010101010101010101F1
+:102FD00001010101010101020101010101010101E0
+:102FE00001010101010101010101010101010101D1
+:102FF00001010101010101010101010101010101C1
+:1030000001010101010101010101010101010101B0
+:1030100001010101010101010101010101010101A0
+:103020000101010101010101010101010101010190
+:103030000101010101010101010101010101010180
+:103040000101010101010101010101010101010170
+:103050000101010101010101010101010101010160
+:103060000101010101010101010101010101010150
+:10307000010101010101010201010101010101013F
+:103080000101010101010101020000000000000036
+:103090000000010101010101010101010101010122
+:1030A0000101010101010101010101010101010110
+:1030B0000101010101010101010101010101010100
+:1030C00001010101010101010101010101010101F0
+:1030D00001010101010101020101010101010101DF
+:1030E00001010101010101010101010101010101D0
+:1030F00001010101010101010101010101010101C0
+:1031000001010101010101010101010101010101AF
+:10311000010101010101010101010101010101019F
+:10312000010101010101010101010101010101018F
+:10313000010101010101010101010101010101017F
+:10314000010101010101010101010101010101016F
+:10315000010101010101010101010101010101015F
+:10316000010101010101010201010101010202024B
+:10317000010101010101020201010101010101013D
+:103180000101010101010001020000000000000036
+:103190000000010101010101010101010101010121
+:1031A000010101010101010101010101010101010F
+:1031B00001010101010101010101010101010101FF
+:1031C00001010101010101010101010101010101EF
+:1031D00001010101010101020101010101010101DE
+:1031E00001010101010101010101010101010101CF
+:1031F00001010101010101010101010101010101BF
+:1032000001010101010101010101010101010101AE
+:10321000010101010101010101010101010101019E
+:10322000010101010101010101010101010101018E
+:10323000010101010101010101010101010101017E
+:10324000010101010101010101010101010101016E
+:10325000010101010101010101010101010101015E
+:103260000101010101010102020101010102020249
+:103270000202010201010202010101010102020236
+:10328000020202020202020102000000000000002D
+:10329000010101010101010101010101010101011E
+:1032A000010101010101010101010101010101010E
+:1032B00001010101010101010101010101010101FE
+:1032C00001010101010101010101010101010101EE
+:1032D00001010101010101020101010101010101DD
+:1032E00001010101010101010101010101010101CE
+:1032F00001010101010101010101010101010101BE
+:1033000001010101010101010101010101010101AD
+:10331000010101010101010101010101010101019D
+:10332000010101010101010101010101010101018D
+:10333000010101010101010101010101010101017D
+:10334000010101010101010101010101010101016D
+:10335000010101010101010101010101010101015D
+:103360000101010101010102020101010202020247
+:103370000202020202020202010101010102020232
+:10338000020202020202020102000000000000012B
+:10339000010101010101010101010101010101011D
+:1033A000010101010101010101010101010101010D
+:1033B00001010101010101010101010101010101FD
+:1033C00001010101010101010101010101010101ED
+:1033D00001010101010101020101010101010101DC
+:1033E00001010101010101010101010101010101CD
+:1033F00001010101010101010101010101010101BD
+:1034000001010101010101010101010101010101AC
+:10341000010101010101010101010101010101019C
+:10342000010101010101010101010101010101018C
+:10343000010101010101010101010101010101017C
+:10344000010101010101010101010101010101016C
+:10345000010101010101010101010101010101015C
+:103460000101010101010102020101010202020246
+:103470000202020202020202010101010102020231
+:103480000202020202020201020000000001010128
+:10349000010101010101010101010101010101011C
+:1034A000010101010101010101010101010101010C
+:1034B00001010101010101010101010101010101FC
+:1034C00001010101010101010101010101010101EC
+:1034D00001010101010101020101010101010101DB
+:1034E00001010101010101010101010101010101CC
+:1034F00001010101010101010101010101010101BC
+:1035000001010101010101010101010101010101AB
+:10351000010101010101010101010101010101019B
+:10352000010101010101010101010101010101018B
+:10353000010101010101010101010101010101017B
+:10354000010101010101010101010101010101016B
+:10355000010101010101010101010101010101015B
+:103560000101010101010202020102020202020242
+:10357000020202020202020201010101020202022F
+:103580000202020202020201010000000001010128
+:10359000010101010101010101010101010101011B
+:1035A000010101010101010101010101010101010B
+:1035B00001010101010101010101010101010101FB
+:1035C00001010101010101010101010101010101EB
+:1035D00001010101010101020101010101010101DA
+:1035E00001010101010101010101010101010101CB
+:1035F00001010101010101010101010101010101BB
+:1036000001010101010101010101010101010101AA
+:10361000010101010101010101010101010101019A
+:10362000010101010101010101010101010101018A
+:10363000010101010101010101010101010101017A
+:10364000010101010101010101010101010101016A
+:103650000101010101010102010101010101010159
+:103660000101010101020202020102020202020240
+:10367000020202020202020201010101020202022E
+:103680000202020202020201010000010101010125
+:10369000010101010101010101010101010101011A
+:1036A000010101010101010101010101010101010A
+:1036B00001010101010101010101010101010101FA
+:1036C00001010101010101010101010101010101EA
+:1036D00001010101010101020101010101010101D9
+:1036E00001010101010101010101010101010101CA
+:1036F00001010101010101010101010101010101BA
+:1037000001010101010101010101010101010101A9
+:103710000101010101010101010101010101010199
+:103720000101010101010101010101010101010189
+:103730000101010101010101010101010101010179
+:103740000101010101010101010101010101010169
+:103750000101010101010102010101010101010257
+:103760000202020202020202020202020202020239
+:10377000020202020202020201010202020202022B
+:103780000202020202020201010000010101010124
+:103790000101010101010101010101010101010119
+:1037A0000101010101010101010101010101010109
+:1037B00001010101010101010101010101010101F9
+:1037C00001010101010101010101010101010101E9
+:1037D00001010101010101010101010101010101D9
+:1037E00001010101010101010101010101010101C9
+:1037F00001010101010101010101010101010101B9
+:1038000001010101010101010101010101010101A8
+:103810000101010101010101010101010101010198
+:103820000101010101010101010101010101010188
+:103830000101010101010101010101010101010178
+:103840000101010101010201010101010101010167
+:103850000101010101010102020101010202020252
+:103860000202020202020202020202020202020238
+:10387000020202020202020201010202020202022A
+:103880000202020202020201010001010101010122
+:103890000101010101010101010101010101010118
+:1038A0000101010101010101010101010101010108
+:1038B00001010101010101010101010101010101F8
+:1038C00001010101010101010101010101010101E8
+:1038D00001010101010101010101010101010101D8
+:1038E00001010101010101010101010101010101C8
+:1038F00001010101010101010101010101010101B8
+:1039000001010101010101010101010101010101A7
+:103910000101010101010101010101010101010197
+:103920000101010101010101010101010101010187
+:103930000101010101010101010101010101010177
+:103940000101010101020201010101010101010165
+:103950000101010101010102020101020202020250
+:103960000202020202020202020202020202020237
+:103970000202020202020202020102020202020228
+:103980000202020202020201010101010101010120
+:103990000101010101010101010101010101010117
+:1039A0000101010101010101010101010101010107
+:1039B00001010101010101010101010101010101F7
+:1039C00001010101010101010101010101010101E7
+:1039D00001010101010101010101010101010101D7
+:1039E00001010101010101010101010101010101C7
+:1039F00001010101010101010101010101010101B7
+:103A000001010101010101010101010101010101A6
+:103A10000101010101010101010101010101010196
+:103A20000101010101010101010101010101010186
+:103A30000101010101010101010101010101010176
+:103A40000101020102020201010101010101010162
+:103A5000010101010101010202020202020202024D
+:103A60000202020202020202020202020202020236
+:103A70000202020202020202020202020202020226
+:103A8000020202020202020101010101010101011F
+:103A90000101010101010101010101010101010116
+:103AA0000101010101010101010101010101010106
+:103AB00001010101010101010101010101010101F6
+:103AC00001010101010101010101010101010101E6
+:103AD00001010101010101010101010101010101D6
+:103AE00001010101010101010101010101010101C6
+:103AF00001010101010101010101010101010101B6
+:103B000001010101010101010101010101010101A5
+:103B10000101010101010101010101010101010195
+:103B20000101010101010101010101010101010185
+:103B30000101010101010102010101010202010271
+:103B4000020202020202020101010101010101015E
+:103B5000010101010101020202020202020202024B
+:103B60000202020202020202020202020202020235
+:103B70000202020202020202020202020202020225
+:103B8000020202020202020101010101010101011E
+:103B90000101010101010101010101010101010115
+:103BA0000101010101010101010101010101010105
+:103BB00001010101010101010101010101010101F5
+:103BC00001010101010101010101010101010101E5
+:103BD00001010101010101010101010101010101D5
+:103BE00001010101010101010101010101010101C5
+:103BF00001010101010101010101010101010101B5
+:103C000001010101010101010101010101010101A4
+:103C10000101010101010201010101010101010193
+:103C20000101010101010201010101010101010183
+:103C3000010101010101020202010202020202026B
+:103C4000020202020202020101010101010101015D
+:103C50000101010101020202020202020202020249
+:103C60000202020202020202020202020202020234
+:103C70000202020202020202020202020202020224
+:103C8000020202020202020101010101010101011D
+:103C90000101010101010101010101010101010114
+:103CA0000101010101010101010101010101010104
+:103CB00001010101010101010101010101010101F4
+:103CC00001010101010101010101010101010101E4
+:103CD00001010101010101010101010101010101D4
+:103CE00001010101010101010101010101010101C4
+:103CF00001010101010101010101010101010101B4
+:103D000001010101010101010101010101010101A3
+:103D10000101010101020201010101010101010191
+:103D20000101010101020201010101010101010181
+:103D30000101010101020202020202020202020268
+:103D4000020202020202020101010101010101015C
+:103D50000202020202020202020202020202020243
+:103D60000202020202020202020202020202020233
+:103D70000202020202020202020202020202020223
+:103D8000020202020202020101010101010101011C
+:103D90000101010101010101010101010101010113
+:103DA0000101010101010101010101010101010103
+:103DB00001010101010101010101010101010101F3
+:103DC00001010101010101010101010101010101E3
+:103DD00001010101010101010101010101010101D3
+:103DE00001010101010101010101010101010101C3
+:103DF00001010101010102010101010101010101B2
+:103E000001010101010102020101010101010101A0
+:103E1000010102020202020101010101010101018D
+:103E2000020202020202020101010101010101017B
+:103E30000102020202020202020202020202020263
+:103E40000202020202020201010101010202020257
+:103E50000202020202020202020202020202020242
+:103E60000202020202020202020202020202020232
+:103E70000202020202020202020202020202020222
+:103E8000020202020202020101010101010101011B
+:103E90000101010101010101010101010101010112
+:103EA0000101010101010101010101010101010102
+:103EB00001010101010101010101010101010101F2
+:103EC00001010101010101010101010101010101E2
+:103ED00001010101010101010101010101010101D2
+:103EE00001010101010101010101010101010101C2
+:103EF00001010101010202010101010101010101B0
+:103F00000101010101020202020102020202020297
+:103F10000202020202020201020102020202020283
+:103F20000202020202020201010101010202020276
+:103F30000202020202020202020202020202020261
+:103F40000202020202020201020202020202020252
+:103F50000202020202020202020202020202020241
+:103F60000202020202020202020202020202020231
+:103F70000202020202020202020202020202020221
+:103F8000020202020202020101010101010101011A
+:103F90000101010101010101010101010101010111
+:103FA0000101010101010101010101010101010101
+:103FB00001010101010101010101010101010101F1
+:103FC00001010101010101010101010101010101E1
+:103FD00001010101010101010101010101010101D1
+:103FE00001010101010101020101010101010101C0
+:103FF00002020202020202020101010101010101A9
+:104000000202020202020202020202020202020290
+:104010000202020202020201020202020202020281
+:104020000202020202020202020202020202020270
+:104030000202020202020202020202020202020260
+:104040000202020202020201020202020202020251
+:104050000202020202020202020202020202020240
+:104060000202020202020202020202020202020230
+:104070000202020202020202020202020202020220
+:104080000202020202020201010101010101010119
+:104090000101010101010101010101010101010110
+:1040A0000101010101010101010101010101010100
+:1040B00001010101010101010101010101010101F0
+:1040C00001010101010101010101010101010101E0
+:1040D00001010101010101010101010101010101D0
+:1040E00001010101010101020201020201020202B9
+:1040F00002020202020202020201020202020202A1
+:10410000020202020202020202020202020202028F
+:10411000020202020202020202020202020202027F
+:10412000020202020202020202020202020202026F
+:10413000020202020202020202020202020202025F
+:10414000020202020202020202020202020202024F
+:10415000020202020202020202020202020202023F
+:10416000020202020202020202020202020202022F
+:10417000020202020202020202020202020202021F
+:104180000202020202020201010101010101010118
+:10419000010101010101010101010101010101010F
+:1041A00001010101010101010101010101010101FF
+:1041B00001010101010101010101010101010101EF
+:1041C00001010101010101010101010101010101DF
+:1041D00001010101010101010101010101010101CF
+:1041E00001010101010102020201020201020202B7
+:1041F000020202020202020202020202020202029F
+:10420000020202020202020202020202020202028E
+:10421000020202020202020202020202020202027E
+:10422000020202020202020202020202020202026E
+:10423000020202020202020202020202020202025E
+:10424000020202020202020202020202020202024E
+:10425000020202020202020202020202020202023E
+:10426000020202020202020202020202020202022E
+:10427000020202020202020202020202020202021E
+:104280000202020202020201010101010101010117
+:10429000010101010101010101010101010101010E
+:1042A00001010101010101010101010101010101FE
+:1042B00001010101010101010101010101010101EE
+:1042C00001010101010101010101010101010101DE
+:1042D00001010101010102010101010101010101CD
+:1042E00001010101010202020201020201020202B5
+:1042F000020202020202020202020202020202029E
+:10430000020202020202020202020202020202028D
+:10431000020202020202020202020202020202027D
+:10432000020202020202020202020202020202026D
+:10433000020202020202020202020202020202025D
+:10434000020202020202020202020202020202024D
+:10435000020202020202020202020202020202023D
+:10436000020202020202020202020202020202022D
+:10437000020202020202020202020202020202021D
+:104380000202020202020201010101010101010116
+:10439000010101010101010101010101010101010D
+:1043A00001010101010101010101010101010101FD
+:1043B00001010101010101010101010101010101ED
+:1043C00001010101010101010101010101010101DD
+:1043D00001010101010202010101010101010202C9
+:1043E00002010202020202020202020202020202AE
+:1043F000020202020202020202020202020202029D
+:10440000020202020202020202020202020202028C
+:10441000020202020202020202020202020202027C
+:10442000020202020202020202020202020202026C
+:10443000020202020202020202020202020202025C
+:10444000020202020202020202020202020202024C
+:10445000020202020202020202020202020202023C
+:10446000020202020202020202020202020202022C
+:10447000020202020202020202020202020202021C
+:104480000202020202020201010101010101010115
+:10449000010101010101010101010101010101010C
+:1044A00001010101010101010101010101010101FC
+:1044B00001010101010101010101010101010101EC
+:1044C00001010101010101020201010102010101D9
+:1044D00002020202020202010202020202020202BD
+:1044E00002020202020202020202020202020202AC
+:1044F000020202020202020202020202020202029C
+:10450000020202020202020202020202020202028B
+:10451000020202020202020202020202020202027B
+:10452000020202020202020202020202020202026B
+:10453000020202020202020202020202020202025B
+:10454000020202020202020202020202020202024B
+:10455000020202020202020202020202020202023B
+:10456000020202020202020202020202020202022B
+:10457000020202020202020202020202020202021B
+:104580000202020202020201010101010101010114
+:10459000010101010101010101010101010101010B
+:1045A00001010101010101010101010101010101FB
+:1045B00001010101010102010101010101010101EA
+:1045C00001010101010102020202020202020202D1
+:1045D00002020202020202010202020202020202BC
+:1045E00002020202020202020202020202020202AB
+:1045F000020202020202020202020202020202029B
+:10460000020202020202020202020202020202028A
+:10461000020202020202020202020202020202027A
+:10462000020202020202020202020202020202026A
+:10463000020202020202020202020202020202025A
+:10464000020202020202020202020202020202024A
+:10465000020202020202020202020202020202023A
+:10466000020202020202020202020202020202022A
+:10467000020202020202020202020202020202021A
+:104680000202020202020201010101010101010113
+:10469000010101010101010101010101010101010A
+:1046A00001010101010101020101010101010101F9
+:1046B00001010101010202020101010101010101E7
+:1046C00001010101010202020202020202020202CF
+:1046D00002020202020202010202020202020202BB
+:1046E00002020202020202020202020202020202AA
+:1046F000020202020202020202020202020202029A
+:104700000202020202020202020202020202020289
+:104710000202020202020202020202020202020279
+:104720000202020202020202020202020202020269
+:104730000202020202020202020202020202020259
+:104740000202020202020202020202020202020249
+:104750000202020202020202020202020202020239
+:104760000202020202020202020202020202020229
+:104770000202020202020202020202020202020219
+:104780000202020202020201010101010101010112
+:104790000101010101010101010101010101010109
+:1047A00001010101010101020201010102010101F6
+:1047B00002020202010202020201020202020202DB
+:1047C00002020202020202020202020202020202C9
+:1047D00002020202020202020202020202020202B9
+:1047E00002020202020202020202020202020202A9
+:1047F0000202020202020202020202020202020299
+:104800000202020202020202020202020202020288
+:104810000202020202020202020202020202020278
+:104820000202020202020202020202020202020268
+:104830000202020202020202020202020202020258
+:104840000202020202020202020202020202020248
+:104850000202020202020202020202020202020238
+:104860000202020202020202020202020202020228
+:104870000202020202020202020202020202020218
+:104880000202020202020201010101010101010111
+:104890000101010101010101010101010101010108
+:1048A00001010101010101020202020202020202EF
+:1048B00002020202020202020202020202020202D8
+:1048C00002020202020202020202020202020202C8
+:1048D00002020202020202020202020202020202B8
+:1048E00002020202020202020202020202020202A8
+:1048F0000202020202020202020202020202020298
+:104900000202020202020202020202020202020287
+:104910000202020202020202020202020202020277
+:104920000202020202020202020202020202020267
+:104930000202020202020202020202020202020257
+:104940000202020202020202020202020202020247
+:104950000202020202020202020202020202020237
+:104960000202020202020202020202020202020227
+:104970000202020202020202020202020202020217
+:104980000202020202020201010101010101010110
+:104990000101010101010101010101010101010107
+:1049A00001010101010101020202020202020202EE
+:1049B00002020202020202020202020202020202D7
+:1049C00002020202020202020202020202020202C7
+:1049D00002020202020202020202020202020202B7
+:1049E00002020202020202020202020202020202A7
+:1049F0000202020202020202020202020202020297
+:104A00000202020202020202020202020202020286
+:104A10000202020202020202020202020202020276
+:104A20000202020202020202020202020202020266
+:104A30000202020202020202020202020202020256
+:104A40000202020202020202020202020202020246
+:104A50000202020202020202020202020202020236
+:104A60000202020202020202020202020202020226
+:104A70000202020202020202020202020202020216
+:104A8000020202020202020101010101010101010F
+:104A90000101010101010101010101010101010106
+:104AA00001010101010101020202020202020202ED
+:104AB00002020202020202020202020202020202D6
+:104AC00002020202020202020202020202020202C6
+:104AD00002020202020202020202020202020202B6
+:104AE00002020202020202020202020202020202A6
+:104AF0000202020202020202020202020202020296
+:104B00000202020202020202020202020202020285
+:104B10000202020202020202020202020202020275
+:104B20000202020202020202020202020202020265
+:104B30000202020202020202020202020202020255
+:104B40000202020202020202020202020202020245
+:104B50000202020202020202020202020202020235
+:104B60000202020202020202020202020202020225
+:104B70000202020202020202020202020202020215
+:104B8000020202020202020101010101010101010E
+:104B90000101010101010101010101010101010105
+:104BA00001010101010102020202020202020202EB
+:104BB00002020202020202020202020202020202D5
+:104BC00002020202020202020202020202020202C5
+:104BD00002020202020202020202020202020202B5
+:104BE00002020202020202020202020202020202A5
+:104BF0000202020202020202020202020202020295
+:104C00000202020202020202020202020202020284
+:104C10000202020202020202020202020202020274
+:104C20000202020202020202020202020202020264
+:104C30000202020202020202020202020202020254
+:104C40000202020202020202020202020202020244
+:104C50000202020202020202020202020202020234
+:104C60000202020202020202020202020202020224
+:104C70000202020202020202020202020202020214
+:104C8000020202020202020101010101010101010D
+:104C90000101010101010102020101010201010101
+:104CA00001010101010202020202020202020202E9
+:104CB00002020202020202020202020202020202D4
+:104CC00002020202020202020202020202020202C4
+:104CD00002020202020202020202020202020202B4
+:104CE00002020202020202020202020202020202A4
+:104CF0000202020202020202020202020202020294
+:104D00000202020202020202020202020202020283
+:104D10000202020202020202020202020202020273
+:104D20000202020202020202020202020202020263
+:104D30000202020202020202020202020202020253
+:104D40000202020202020202020202020202020243
+:104D50000202020202020202020202020202020233
+:104D60000202020202020202020202020202020223
+:104D70000202020202020202020202020202020213
+:104D8000020202020202020101010101010101010C
+:104D900001010101010101020202020202020202FA
+:104DA00002020202020202020202020202020202E3
+:104DB00002020202020202020202020202020202D3
+:104DC00002020202020202020202020202020202C3
+:104DD00002020202020202020202020202020202B3
+:104DE00002020202020202020202020202020202A3
+:104DF0000202020202020202020202020202020293
+:104E00000202020202020202020202020202020282
+:104E10000202020202020202020202020202020272
+:104E20000202020202020202020202020202020262
+:104E30000202020202020202020202020202020252
+:104E40000202020202020202020202020202020242
+:104E50000202020202020202020202020202020232
+:104E60000202020202020202020202020202020222
+:104E70000202020202020202020202020202020212
+:104E8000020202020202020101010101010101010B
+:104E900001010101010101020202020202020202F9
+:104EA00002020202020202020202020202020202E2
+:104EB00002020202020202020202020202020202D2
+:104EC00002020202020202020202020202020202C2
+:104ED00002020202020202020202020202020202B2
+:104EE00002020202020202020202020202020202A2
+:104EF0000202020202020202020202020202020292
+:104F00000202020202020202020202020202020281
+:104F10000202020202020202020202020202020271
+:104F20000202020202020202020202020202020261
+:104F30000202020202020202020202020202020251
+:104F40000202020202020202020202020202020241
+:104F50000202020202020202020202020202020231
+:104F60000202020202020202020202020202020221
+:104F70000202020202020202020202020202020211
+:104F8000020202020202020101010101010101010A
+:104F900001010101010101020202020202020202F8
+:104FA00002020202020202020202020202020202E1
+:104FB00002020202020202020202020202020202D1
+:104FC00002020202020202020202020202020202C1
+:104FD00002020202020202020202020202020202B1
+:104FE00002020202020202020202020202020202A1
+:104FF0000202020202020202020202020202020291
+:105000000202020202020202020202020202020280
+:105010000202020202020202020202020202020270
+:105020000202020202020202020202020202020260
+:105030000202020202020202020202020202020250
+:105040000202020202020202020202020202020240
+:105050000202020202020202020202020202020230
+:105060000202020202020202020202020202020220
+:105070000202020202020202020202020202020210
+:105080000202020202020201010101010101010109
+:105090000101010101010100000000000000000009
+:1050A00000000000000000020202020202020202EE
+:1050B00002020202020202000000000000000000E2
+:1050C00000000000000000020202020202020202CE
+:1050D00002020202020202000000000000000000C2
+:1050E00000000000000000020202020202020202AE
+:1050F0000202020202020202020202020202020290
+:10510000020202020202020202020202020202027F
+:105110000202020202020200000000000000000081
+:10512000000000000000000202020202020202026D
+:10513000020202020202020202020202020202024F
+:10514000020202020202020202020202020202023F
+:10515000020202020202020202020202020202022F
+:10516000020202020202020202020202020202021F
+:10517000020202020202020202020202020202020F
+:105180000202020202020201010101010101010108
+:1051900001010101010101010101010101010101FF
+:1051A00001010101010101000000000000000000F8
+:1051B00000000000000000000000000000000000EF
+:1051C00000000000000000020202020202020202CD
+:1051D00002020202020202000000000000000000C1
+:1051E00000000000000000000000000000000000BF
+:1051F000000000000000000202020202020202029D
+:10520000020202020202020202020202020202027E
+:105210000202020202020200000000000000000080
+:10522000000000000000000202020202020202026C
+:105230000202020202020200000000000000000060
+:10524000000000000000000000000000000000005E
+:10525000000000000000000000000000000000004E
+:10526000000000000000000202020202020202022C
+:10527000020202020202020200000000000000001E
+:105280000000000000000001010101010101010115
+:1052900001010101010101010101010101010101FE
+:1052A00001010101010101010101010101010101EE
+:1052B00001010101010101010101010101010101DE
+:1052C00001010101010101010101010101010101CE
+:1052D00001010101010101010101010101010101BE
+:1052E00001010101010101010101010101010101AE
+:1052F000010101010101010101010101010101019E
+:10530000010101010101010101010101010101018D
+:10531000010101010101010101010101010101017D
+:10532000010101010101010101010101010101016D
+:10533000010101010101010101010101010101015D
+:10534000010101010101010101010101010101014D
+:10535000010101010101010101010101010101013D
+:10536000010101010101010101010101010101012D
+:105370000101010101010102000000000000000024
+:105380000000000000000001010101010101010114
+:1053900001010101010101020202020202020202F4
+:1053A00002020202020202010101010101010101E6
+:1053B00001010101010101010101010101010101DD
+:1053C00001010101010101010101010101010101CD
+:1053D00001010101010101010101010101010101BD
+:1053E00001010101010101010101010101010101AD
+:1053F000010101010101010101010101010101019D
+:10540000010101010101010101010101010101018C
+:10541000010101010101010101010101010101017C
+:10542000010101010101010101010101010101016C
+:10543000010101010101010101010101010101015C
+:10544000010101010101010101010101010101014C
+:10545000010101010101010101010101010101013C
+:10546000010101010101010101010101010101012C
+:105470000101010101010102000000000000000023
+:105480000000000000000001010101010101010113
+:105490000101010101010100000000000000000005
+:1054A00000000000000000010101010101010101F3
+:1054B00001010101010101010101010101010101DC
+:1054C00001010101010101010101010101010101CC
+:1054D00001010101010101010101010101010101BC
+:1054E00001010101010101010101010101010101AC
+:1054F000010101010101010101010101010101019C
+:10550000010101010101010101010101010101018B
+:10551000010101010101010101010101010101017B
+:10552000010101010101010101010101010101016B
+:10553000010101010101010101010101010101015B
+:105540000101010101010100000000000000000054
+:105550000000000000000001010101010101010142
+:10556000010101010101010101010101010101012B
+:105570000101010101010102000000000000000022
+:105580000000000000000001010101010101010112
+:105590000101010101010100000000000000000004
+:1055A00000000000000000010101010101010101F2
+:1055B00001010101010101010101010101010101DB
+:1055C00001010101010101010101010101010101CB
+:1055D00001010101010101010101010101010101BB
+:1055E00001010101010101010101010101010101AB
+:1055F000010101010101010101010101010101019B
+:10560000010101010101010101010101010101018A
+:10561000010101010101010101010101010101017A
+:10562000010101010101010101010101010101016A
+:10563000010101010101010101010101010101015A
+:105640000101010101010100000000000000000053
+:10565000000000000000000000000000000000004A
+:10566000000000000000000000000000000000003A
+:105670000000000000000002000000000000000028
+:105680000000000000000001010101010101010111
+:105690000101010101010100000000000000000003
+:1056A00000000000000000010101010101010101F1
+:1056B00001010101010101000000000000000000E3
+:1056C00000000000000000010101010101010101D1
+:1056D00001010101010101000000000000000000C3
+:1056E00000000000000000010101010101010101B1
+:1056F000010101010101010101010101010101019A
+:105700000101010101010101010101010101010189
+:105710000101010101010100000000000000000082
+:105720000000000000000000000000000000000079
+:105730000000000000000000000000000000000069
+:105740000000000000000000000000000000000059
+:105750000000000000000000000000000000000049
+:105760000000000000000000000000000000000039
+:105770000000000000000002000000000000000027
+:105780000000000000000001010101010101010110
+:105790000101010101010100000000000000000002
+:1057A00000000000000000010101010101010101F0
+:1057B00001010101010101000000000000000000E2
+:1057C00000000000000000010101010101010101D0
+:1057D00001010101010101000000000000000000C2
+:1057E00000000000000000010101010101010101B0
+:1057F0000101010101010101010101010101010199
+:105800000101010101010101010101010101010188
+:105810000101010101010100000000000000000081
+:105820000000000000000000000000000000000078
+:105830000000000000000000000000000000000068
+:105840000000000000000000000000000000000058
+:105850000000000000000000000000000000000048
+:105860000000000000000000000000000000000038
+:105870000000000000000002000000000000000026
+:105880000000000000000000000000000000000018
+:105890000000000000000000000000000000000008
+:1058A00000000000000000000000000000000000F8
+:1058B00000000000000000000000000000000000E8
+:1058C00000000000000000000000000000000000D8
+:1058D00000000000000000000000000000000000C8
+:1058E00000000000000000000000000000000000B8
+:1058F00000000000000000000000000000000000A8
+:105900000000000000000000000000000000000097
+:105910000000000000000000000000000000000087
+:105920000000000000000000000000000000000077
+:105930000000000000000000000000000000000067
+:105940000000000000000000000000000000000057
+:105950000000000000000000000000000000000047
+:105960000000000000000000000000000000000037
+:105970000000000000000000000000000000000027
+:10598000000000000000004C0000000000000000CB
+:105990000000000000000000000000000000000007
+:1059A00000000000000000000200000000000000F5
+:1059B00000000200000000000000020200000000E1
+:1059C00000000000000000000000000000000000D7
+:1059D00000000000000000000000000000000000C7
+:1059E00000000000000000000000000000000000B7
+:1059F00000000000000000000000000000000002A5
+:105A00000000000000000000000000000000000096
+:105A10000002000000000000000000000000000282
+:105A20000002000000000000000200000000000072
+:105A30000000000000000000000200000000000064
+:105A40000002000000000000000000000000000252
+:105A50000002000000000000020000000000000042
+:105A6000000200020002000000020000000000002E
+:105A7000000002000000000200000202020200001A
+:105A80000200020000000202000002020202020202
+:105A900000020002020200000202000000000000FA
+:105AA00000000200000000020200020202020001E7
+:105AB00000020200000200000000020200000000DC
+:105AC00000000200000002020000020200020000CA
+:105AD00000000000000000000000020200000000C2
+:105AE00000000000000000000000000000000000B6
+:105AF000000000020202000000000000000000029E
+:105B00000000020000000000000000000002000091
+:105B10000002020000000000000002020002020277
+:105B20000002020000000000000200020002020069
+:105B30000200020000000000000202020002000059
+:105B40000202020000000000000002020002020245
+:105B50000202020000000202020002020002000033
+:105B60000202020200020202000202020202020219
+:105B7000000202020202000202020202020200000D
+:105B800002020202020202020202020202020202F5
+:105B900002020202020202020202020202020002E7
+:105BA00000000200000000020200020202020001E6
+:105BB00000020200000200000000020200000202D7
+:105BC00000000202020202020200020200020000C1
+:105BD00000000000000000000000020200000000C1
+:105BE00000000000000000000000000002000000B3
+:105BF0000200000202020000000000000200000299
+:105C0000000202020002000000000000000200008A
+:105C10000002020202000000000002020002020272
+:105C20000002020202000000000200020002020262
+:105C30000202020002000000000202020002000252
+:105C4000020202020202000000020202000202023C
+:105C50000202020202020202020202020002000228
+:105C60000202020202020202020202020202020214
+:105C70000202020202020202020202020202010007
+:105C800002020202020202020202020202020202F4
+:105C900002020202020202020202020202020002E6
+:105CA00000000200000000020200020202020202E2
+:105CB00000020200000200000000020200000202D6
+:105CC00000000202020202020200020200020000C0
+:105CD00002000200000000000000020202000000BA
+:105CE00000000000000000000000000002000002B0
+:105CF0000200000202020000020000000200000296
+:105D00000002020200020000000000000202000087
+:105D10000002020202000000000002020002020271
+:105D2000020202020200000000020002000202025F
+:105D30000202020002000000000202020002000251
+:105D40000202020202020200000202020002020239
+:105D50000202020202020202020202020202000225
+:105D60000202020202020202020202020202010214
+:105D70000202020202020202020202020202010006
+:105D800002020202020202020202020202020202F3
+:105D900002020202020202020202020202020002E5
+:105DA00000000200000000020200020202020202E1
+:105DB00001020200000200000000020202000202D2
+:105DC00000000202020202020200020200020002BD
+:105DD00002000200000000000000020202000000B9
+:105DE00000000000000000000000000002000002AF
+:105DF0000200000202020202020000000200000291
+:105E00000002020200020000020000000202000084
+:105E1000000202020202000000000202000202026E
+:105E2000020202020202000002020002000202025A
+:105E3000020202020202000000020202000200024C
+:105E40000202020202020200000202020002020238
+:105E50000202020202020202020202020202000224
+:105E60000202020202020202020202020202010213
+:105E70000202020202020202020202020202010005
+:105E800002020202020202020202020202020202F2
+:105E900002020202020202020202020202020002E4
+:105EA00000000200000000020200020202020202E0
+:105EB00001020200000200000000020202000202D1
+:105EC00000000202020202020200020200020002BC
+:105ED00002000200000000000000020202000000B8
+:105EE00000020002000000000000000002000002AA
+:105EF000020000020202020202020000020000028E
+:105F0000000202020002020202000000020200007F
+:105F1000020202020202000000000202000202026B
+:105F20000202020202020000020200020202020257
+:105F3000020202020202000000020202000200024B
+:105F40000202020202020202000202020202020233
+:105F50000202020202020202020202020202020221
+:105F60000202020202020202020202020202010212
+:105F70000202020202020202020202020202010004
+:105F800002020202020202020202020202020202F1
+:105F900002020202020202020202020202020002E3
+:105FA00000000200000000020200020202020202DF
+:105FB00002020200000200000000020202000202CF
+:105FC00000000202020202020200020200020002BB
+:105FD00002020202020000000000020202000000B1
+:105FE00000020202000000000000000002000002A7
+:105FF000020000020202020202020000020000028D
+:10600000000202020002020202000000020200007E
+:10601000020202020202000000000202000202026A
+:106020000202020202020000020200020202010257
+:106030000202020202020000020202020002000248
+:106040000202020202020202020202020202010231
+:106050000202020202020202020202020202020220
+:106060000202020202020202020202020202010211
+:106070000202020202020202020202020202010003
+:1060800002020202020202020202020202020102F1
+:1060900002020202020202020202020202020002E2
+:1060A00000000200000000020200020202020202DE
+:1060B00002020200000200000000020202000202CE
+:1060C00000000202020202020200020200020002BA
+:1060D00002020202020002000000020202000000AE
+:1060E00000020202020200000000000002000002A2
+:1060F000020000020202020202020000020000028C
+:106100000202020200020202020002000202000079
+:106110000202020202020202000002020202010264
+:106120000202020202020202020200020202010252
+:106130000202020202020202020202020202000241
+:106140000202020202020202020202020202010230
+:106150000202020202020202020202020202010220
+:106160000202020202020202020202020202010210
+:106170000202020202020202020202020201010003
+:1061800002020202020202020202020202020102F0
+:1061900002020202020202020202020202020002E1
+:1061A00000000200000000020200020202020202DD
+:1061B00002020200000200000000020202000202CD
+:1061C00000000202020202020200020200020002B9
+:1061D00002020202020202000200020202000000A9
+:1061E000020202020202000000000000020200029D
+:1061F0000200020202020202020202020202000283
+:106200000202020200020202020202000202000076
+:106210000202020202020202020002020202010261
+:106220000202020202020202020200020202010251
+:106230000202020202020202020202020202000240
+:10624000020202020202020202020202020201022F
+:10625000020202020202020202020202020201021F
+:10626000020202020202020202020202020201020F
+:106270000202020202020202020202020201010002
+:1062800002020202020202020202020202020102EF
+:1062900002020202020202020202020202020002E0
+:1062A00000000200000000020200020202020202DC
+:1062B00002020201000200000000020202000202CB
+:1062C00002000202020202020200020200020002B6
+:1062D00002020202020202020200020202000000A6
+:1062E000020202020202000002000000020200029A
+:1062F0000202020202020202020202020202000280
+:106300000202020200020202020202020202000073
+:106310000202020202020202020002020202010260
+:10632000020202020202020202020202020201024E
+:10633000020202020202020202020202020200023F
+:10634000020202020202020202020202020201022E
+:10635000020202020202020202020202020201021E
+:10636000020202020202020202020202020101020F
+:106370000202020202020202020202020101010002
+:1063800002020202020202020202020202020102EE
+:1063900002020202020202020202020202020002DF
+:1063A00000000200000000020200020202020202DB
+:1063B00002020201000200000000020202000202CA
+:1063C00002000202020202020200020200020002B5
+:1063D00002020202020202020202020202000000A3
+:1063E0000202020202020202020000000202000295
+:1063F000020202020202020202020202020200027F
+:106400000202020202020202020202020202000070
+:10641000020202020202020202020202020201025D
+:10642000020202020202020202020202020201024D
+:10643000020202020202020202020202020200023E
+:10644000020202020202020202020202020201022D
+:10645000020202020202020202020202020101021E
+:10646000020202020202020202020202020101020E
+:106470000202020202020202020202020101010001
+:1064800002020202020202020202020202010102EE
+:1064900002020202020202020202020202010002DF
+:1064A00000000200000000020200020202020202DA
+:1064B00002020202010200000000020202000202C7
+:1064C00002000202020202020200020200020002B4
+:1064D00002020202020202020202020202000000A2
+:1064E0000202020202020202020000000202000294
+:1064F000020202020202020202020202020200027E
+:10650000020202020202020202020202020200006F
+:10651000020202020202020202020202020201025C
+:10652000020202020202020202020202020101024D
+:10653000020202020202020202020202020101023D
+:10654000020202020202020202020202020101022D
+:10655000020202020202020202020202020101021D
+:10656000020202020202020202020202010101020E
+:106570000202020202020202020202010101010001
+:1065800002020202020202020202020202010102ED
+:1065900002020202020202020202020202010002DE
+:1065A00000000200000000020200020202020202D9
+:1065B00002020202010200000000020202000102C7
+:1065C00002000202020202020200020200020002B3
+:1065D00002020202020202020202020202000000A1
+:1065E0000202020202020202020002000202000291
+:1065F000020202020202020202020202020200027D
+:10660000020202020202020202020202020100026D
+:10661000020202020202020202020202020101025C
+:10662000020202020202020202020202020101024C
+:10663000020202020202020202020202020101023C
+:10664000020202020202020202020202020101022C
+:10665000020202020202020202020202020101021C
+:10666000020202020202020202020202010101020D
+:106670000202020202020202020102010101010001
+:1066800002020202020202020202020201010102ED
+:1066900002020202020202020202020201010002DE
+:1066A00000000200000000020200020202020202D8
+:1066B00002020202020200000000020202000102C5
+:1066C00002000202020202020200020202020002B0
+:1066D000020202020202020202020202020200009E
+:1066E000020202020202020202020200020200028E
+:1066F000020202020202020202020202020200027C
+:10670000020202020202020202020202020101026B
+:10671000020202020202020202020202020101025B
+:10672000020202020202020202020202020101024B
+:10673000020202020202020202020202020101023B
+:10674000020202020202020202020202020101022B
+:10675000020202020202020202020202020101021B
+:10676000020202020202020202020201010101020D
+:106770000202020202020101020101010101010003
+:1067800002020202020202020202020201010102EC
+:1067900002020202020202020202020201010002DD
+:1067A00000000200000000020200020202020202D7
+:1067B00002020202020200000000020202000102C4
+:1067C00002000202020202020200020202020002AF
+:1067D000020202020202020202020202020200009D
+:1067E000020202020202020202020200020200028D
+:1067F000020202020202020202020202020200027B
+:10680000020202020202020202020202020101026A
+:10681000020202020202020202020202020101025A
+:10682000020202020202020202020202020101024A
+:10683000020202020202020202020202020101023A
+:10684000020202020202020202020202020101022A
+:10685000020202020202020202020202010101021B
+:10686000020202020202020202010101010101020E
+:106870000202020202020101020101010101010002
+:1068800002020202020202020202020101010102EC
+:1068900002020202020202020202020101010002DD
+:1068A00002000200000000020200020202020102D5
+:1068B00002020202020200000000020202000102C3
+:1068C00002000202020202020200020202020002AE
+:1068D000020202020202020202020202020200009C
+:1068E000020202020202020202020200020200028C
+:1068F000020202020202020202020202020200027A
+:106900000202020202020202020202020201010269
+:106910000202020202020202020202020201010259
+:106920000202020202020202020202020201010249
+:106930000202020202020202020202020201010239
+:106940000202020202020202020202020201010229
+:10695000020202020202020202020201010101021B
+:10696000020202020202020202010101010101020D
+:106970000202020202010101010101010101010003
+:1069800002020202020202020202010101010102EC
+:1069900002020202020202020201010101010002DE
+:1069A00002000200000000020200020202020102D4
+:1069B00002020202020200000000020202000102C2
+:1069C00002020202020202020200020202010002AC
+:1069D000020202020202020202020202020200009B
+:1069E0000202020202020202020202020202000289
+:1069F0000202020202020202020202020102010279
+:106A00000202020202020202020202020101010269
+:106A10000202020202020202020202020201010258
+:106A2000020202020202020202020201010101024A
+:106A30000202020202020202020202010201010239
+:106A4000020202020202020202020201010101022A
+:106A5000020202020202020202020101010101021B
+:106A6000020202020202020202010101010101020C
+:106A70000202020202010101010101010101010002
+:106A800002020202020202020201010101010102EC
+:106A900002020202020202020101010101010002DE
+:106AA00002000200000000020200020202020102D3
+:106AB00002020202020200000000020202000102C1
+:106AC00002020202020202020200020202010002AB
+:106AD0000202020202020202020202020202010099
+:106AE0000202020202020202020202020202000288
+:106AF0000202020202020202020202020101010279
+:106B00000202020202020202020202020101010268
+:106B10000202020202020202020202010201010258
+:106B2000020202020202020202010201010101024A
+:106B3000020202020202020202010101010101023B
+:106B4000020202020202020202020101010101022A
+:106B5000020202020202020201010101010101021C
+:106B6000020202020202010101010101010101020E
+:106B70000202020201010101010101010101010002
+:106B800002020202020201020201010101010102EC
+:106B900002020202020201010101010101010002DF
+:106BA00002000200000000020200020202020102D2
+:106BB00002020202020201000000020202000102BF
+:106BC00002020202020202020200020202010002AA
+:106BD0000202020202020202020202020102010099
+:106BE0000202020202020202020202020102000288
+:106BF0000202020202020202020202020101010278
+:106C00000202020202020202020202020101010267
+:106C10000202020202020202020201010101010259
+:106C20000202020202020202020102010101010249
+:106C3000020202020202020202010101010101023A
+:106C4000020202020202020202010101010101022A
+:106C5000020202020202010101010101010101021D
+:106C6000020202020201010101010101010101020E
+:106C70000202020101010101010101010101010002
+:106C800002020202020201020101010101010102EC
+:106C900002020202020101010101010101020002DE
+:106CA00002000200000000020200020202010102D2
+:106CB00002020202020201000000020202000102BE
+:106CC00002020202020202020200020202010002A9
+:106CD0000202020202020202020202010102010099
+:106CE0000202020202020202020202020101000288
+:106CF0000202020202020202020202020101010277
+:106D00000202020202020202020202020101010266
+:106D10000202020202020202020201010101010258
+:106D20000202020202020202020102010101010248
+:106D30000202020202020202020101010101010239
+:106D40000202020202020202020101010101010229
+:106D5000020202020202010101010101010101021C
+:106D6000020202010201010101010101010101010F
+:106D70000102020101010101010101010101010002
+:106D800002020202020101010101010101010102ED
+:106D900002020201010101010101010101020002DF
+:106DA00002000200000000020200020202010102D1
+:106DB00002020202020202000000020202000102BC
+:106DC00002020202020202020200020202010002A8
+:106DD0000202020202020202020201010102010099
+:106DE0000202020202020202020202020101010286
+:106DF0000202020202020202020202020101010276
+:106E00000202020202020202020202020101010265
+:106E10000202020202020202020201010101010257
+:106E20000202020202020202020102010101010247
+:106E30000202020202020202020101010101010238
+:106E40000202020202020202020101010101010228
+:106E5000020202020202010101010101010101021B
+:106E6000020202010201010101010101010101010E
+:106E70000102010101010101010101010101010002
+:106E800002020202020101010101010101010102EC
+:106E900002020201010101010101010102020002DD
+:106EA00002000200000000020200020202010102D0
+:106EB00002020202020202000202020101000102B9
+:106EC00002020202020202020200020102010102A7
+:106ED0000202020202020202020201010101010099
+:106EE0000202020202020202020202020101010285
+:106EF0000202020202020202020202020101010275
+:106F00000202020202020202020202020101010264
+:106F10000202020202020202020201010101010256
+:106F20000202020202020202010102010101010247
+:106F30000202020202020202020101010101010237
+:106F40000202020202020102020101010101010228
+:106F5000020202020201010101010101010101021B
+:106F6000020202010101010101010101010101010E
+:106F70000102010101010101010101010101010001
+:106F800002020202020101010101010101010102EB
+:106F900002010101010101010101010102020002DE
+:106FA00002000200000000020200020201010102D0
+:106FB00002020202020202020202010101000102B7
+:106FC00002020202020202020200010102010102A7
+:106FD0000202020202020202020201010101010098
+:106FE0000202020202020202020202020101010284
+:106FF0000202020202020202010102010101010277
+:107000000202020202020202010201010101010266
+:107010000202020202020202020201010101010255
+:107020000202020202020202010101010101010247
+:107030000202020202020202010101010101010237
+:10704000020202020201010101010101010101022A
+:10705000020202010101010101010101010101011D
+:107060000101010101010101010101010101010110
+:107070000101010101010101010101010101010001
+:1070800002020202020101010101010101010102EA
+:1070900002010101010101010101010202020002DC
+:1070A00002000200000000020200020201010102CF
+:1070B00002020202020202020202010101000102B6
+:1070C00002020202020202020200010102010102A6
+:1070D0000202020202020202020201010101010295
+:1070E0000202020202020202020202020101010283
+:1070F000020202020201010101010101010101027A
+:107100000202020202010101010101010101010269
+:107110000202020202020202020201010101010254
+:10712000020202010101010101010101010101024B
+:10713000020202020101010101010101010101023A
+:10714000020202010101010101010101010101022B
+:10715000020101010101010101010101010101011E
+:10716000010101010101010101010101010101010F
+:107170000101010101010101010101010101010000
+:1071800002020202020101010101010101010102E9
+:1071900002010101010101010102020202020002D9
+:1071A00002000201000000020200020101010102CE
+:1071B00002020202020202020202010101000102B5
+:1071C00002020202020201010102010102010102A6
+:1071D0000202020202020202020201010101010294
+:1071E0000202020202020202020202020101010282
+:1071F000020202010101010101010101010101027B
+:107200000202020102010101010101010101010269
+:10721000020202010101010101010101010101025A
+:10722000020101010101010101010101010101024C
+:10723000020201010101010101010101010101023B
+:10724000020101010101010101010101010101022C
+:10725000020101010101010101010101010101011D
+:10726000010101010101010101010101010101010E
+:1072700001010101010101010101010101010100FF
+:1072800002020202010101010101010101010102E9
+:1072900002010101010101010202020202020002D7
+:1072A00002000201000000020200010101010102CE
+:1072B00002020202020202020202010101000102B4
+:1072C00002020202020201010102010101010102A6
+:1072D0000202020202020202020201010101010293
+:1072E0000202020202020202020202020101010281
+:1072F000020202010101010101010101010101027A
+:107300000202010102010101010101010101010269
+:10731000020101010101010101010101010101025B
+:10732000020101010101010101010101010101024B
+:10733000010101010101010101010101010101023C
+:10734000020101010101010101010101010101012C
+:10735000010101010101010101010101010101011D
+:10736000010101010101010101010101010101010D
+:1073700001010101010101010101010101010100FE
+:1073800002020201010101010101010101010102E9
+:1073900002010101010102020202020202020002D4
+:1073A00002000201000000020100010101010102CE
+:1073B00002020202020102020202010101010102B3
+:1073C00002020202020101010102010101010102A6
+:1073D0000202020202020102010101010101010295
+:1073E0000202020202020202020202020101010280
+:1073F0000202020101010101010101010101010279
+:107400000201010102010101010101010101010269
+:10741000020101010101010101010101010101015B
+:10742000020101010101010101010101010101024A
+:10743000010101010101010101010101010101023B
+:10744000010101010101010101010101010101012C
+:10745000010101010101010101010101010101011C
+:10746000010101010101010101010101010101010C
+:1074700001010101010101010101010101010100FD
+:1074800002020101010101010101010101010102E9
+:1074900002010101010202020202020202000002D4
+:1074A00002000202000000010100010101010102CD
+:1074B00002020202020102020202010101010102B2
+:1074C00002020201010101010102010101010102A7
+:1074D0000202020202020101010101010101010295
+:1074E0000202020202020202010201020101010281
+:1074F0000202020101010101010101010101010179
+:107500000201010102010101010101010101010268
+:10751000020101010101010101010101010101015A
+:10752000010101010101010101010101010101014B
+:10753000010101010101010101010101010101023A
+:10754000010101010101010101010101010101012B
+:10755000010101010101010101010101010101011B
+:10756000010101010101010101010101010101010B
+:1075700001010101010101010101010101010100FC
+:1075800002020101010101010101010101010102E8
+:1075900002010102020202020202020202000002D1
+:1075A00002020202000000010100010101010102CA
+:1075B00002020102020102020202010101020102B1
+:1075C00002020101010101010102010101010102A7
+:1075D0000202010101010101010101010101010298
+:1075E0000202020102010101010101010101010286
+:1075F0000102020101010101010101010101010179
+:107600000201010102010101010101010101010267
+:107610000201010101010101010101010101010159
+:10762000010101010101010101010101010101014A
+:10763000010101010101010101010101010101013A
+:10764000010101010101010101010101010101012A
+:10765000010101010101010101010101010101011A
+:10766000010101010101010101010101010101010A
+:1076700001010101010101010101010101010100FB
+:1076800002020101010101010101010101010102E7
+:1076900001010102020202020202020200000002D3
+:1076A00002020202000001010100010101010102C8
+:1076B00002010102020102020202010101020102B1
+:1076C00002020101010101010102010101010102A6
+:1076D0000102010101010101010101010101010298
+:1076E0000202020101010101010101010101010286
+:1076F0000102020101010101010101010101010178
+:107700000201010101010101010101010101010267
+:107710000101010101010101010101010101010159
+:107720000101010101010101010101010101010149
+:107730000101010101010101010101010101010139
+:107740000101010101010101010101010101010129
+:107750000101010101010101010101010101010119
+:107760000101010101010101010101010101010109
+:1077700001010101010101010101010101010100FA
+:1077800001020101010101010101010101010102E7
+:1077900001020202020202020202020200000002D0
+:1077A00002020202020001010100010101010102C5
+:1077B00002010102020102020202010101020102B0
+:1077C00002020101010101010102010101010102A5
+:1077D0000101010101010101010101010101010298
+:1077E0000201010101010101010101010101010188
+:1077F0000102010101010101010101010101010178
+:107800000101010101010101010101010101010267
+:107810000101010101010101010101010101010158
+:107820000101010101010101010101010101010148
+:107830000101010101010101010101010101010138
+:107840000101010101010101010101010101010128
+:107850000101010101010101010101010101010118
+:107860000101010101010101010101010101010108
+:1078700001010101010101010101010101010100F9
+:1078800001010101010101010101010101010102E7
+:1078900001020202020202020202020000000002D1
+:1078A00002020102020001010100010101010102C5
+:1078B00002010102020102020202010101020101B0
+:1078C00002020101010101010102010101010101A5
+:1078D0000101010101010101010101010101010297
+:1078E0000201010101010101010101010101010187
+:1078F0000101010101010101010101010101010178
+:107900000101010101010101010101010101010266
+:107910000101010101010101010101010101010157
+:107920000101010101010101010101010101010147
+:107930000101010101010101010101010101010137
+:107940000101010101010101010101010101010127
+:107950000101010101010101010101010101010117
+:107960000101010101010101010101010101010107
+:1079700001010101010101010101010101010100F8
+:1079800001010101010101010101010101010102E6
+:1079900001020202020202020200000000000002D4
+:1079A00002020102020202010100010101010102C1
+:1079B00002010102020102020202010101010101B0
+:1079C00002020101010101010102010101010101A4
+:1079D0000101010101010101010101010101010296
+:1079E0000201010101010101010101010101010186
+:1079F0000101010101010101010101010101010177
+:107A00000101010101010101010101010101010265
+:107A10000101010101010101010101010101010156
+:107A20000101010101010101010101010101010146
+:107A30000101010101010101010101010101010136
+:107A40000101010101010101010101010101010126
+:107A50000101010101010101010101010101010116
+:107A60000101010101010101010101010101010106
+:107A700001010101010101010101010101010100F7
+:107A800001010101010101010101010101010102E5
+:107A900001020202020202020000000000000001D6
+:107AA00002020102020202010100010101010101C1
+:107AB00002010102020102020202010101010101AF
+:107AC00002020101010101010102010101010101A3
+:107AD0000101010101010101010101010101010295
+:107AE0000101010101010101010101010101010186
+:107AF0000101010101010101010101010101010176
+:107B00000101010101010101010101010101010264
+:107B10000101010101010101010101010101010155
+:107B20000101010101010101010101010101010145
+:107B30000101010101010101010101010101010135
+:107B40000101010101010101010101010101010125
+:107B50000101010101010101010101010101010115
+:107B60000101010101010101010101010101010105
+:107B700001010101010101010101010101010100F6
+:107B800001010101010101010101010101010102E4
+:107B900001020202020200000000000000000001D9
+:107BA00002020102020202010100010101010101C0
+:107BB00001010101020102020201010101010101B1
+:107BC00001020101010101010102010101010101A3
+:107BD0000101010101010101010101010101010294
+:107BE0000101010101010101010101010101010185
+:107BF0000101010101010101010101010101010175
+:107C00000101010101010101010101010101010263
+:107C10000101010101010101010101010101010154
+:107C20000101010101010101010101010101010144
+:107C30000101010101010101010101010101010134
+:107C40000101010101010101010101010101010124
+:107C50000101010101010101010101010101010114
+:107C60000101010101010101010101010101010104
+:107C700001010101010101010101010101010100F5
+:107C800001010101010101010101010101010102E3
+:107C900001020202020000000000000000000001DA
+:107CA00002020102020202010100010101010101BF
+:107CB00001010101010102020101010101010101B2
+:107CC00001020101010101010101010101010101A3
+:107CD0000101010101010101010101010101010293
+:107CE0000101010101010101010101010101010184
+:107CF0000101010101010101010101010101010174
+:107D00000101010101010101010101010101010163
+:107D10000101010101010101010101010101010153
+:107D20000101010101010101010101010101010143
+:107D30000101010101010101010101010101010133
+:107D40000101010101010101010101010101010123
+:107D50000101010101010101010101010101010113
+:107D60000101010101010101010101010101010103
+:107D700001010101010101010101010101010100F4
+:107D800001010101010101010101010101010102E2
+:107D900001020200000000000000000000000001DD
+:107DA00002020102020202010100010101010101BE
+:107DB00001010101010101010101010101010101B3
+:107DC00001020101010101010101010101010101A2
+:107DD0000101010101010101010101010101010292
+:107DE0000101010101010101010101010101010183
+:107DF0000101010101010101010101010101010173
+:107E00000101010101010101010101010101010162
+:107E10000101010101010101010101010101010152
+:107E20000101010101010101010101010101010142
+:107E30000101010101010101010101010101010132
+:107E40000101010101010101010101010101010122
+:107E50000101010101010101010101010101010112
+:107E60000101010101010101010101010101010102
+:107E700001010101010101010101010101010100F3
+:107E800001010101010101010101010101010102E1
+:107E900002020200000000000000000000010001DA
+:107EA00002020102020202010100010101010101BD
+:107EB00001010101010101010101010101010101B2
+:107EC00001010101010101010101010101010101A2
+:107ED0000101010101010101010101010101010291
+:107EE0000101010101010101010101010101010182
+:107EF0000101010101010101010101010101010172
+:107F00000101010101010101010101010101010161
+:107F10000101010101010101010101010101010151
+:107F20000101010101010101010101010101010141
+:107F30000101010101010101010101010101010131
+:107F40000101010101010101010101010101010121
+:107F50000101010101010101010101010101010111
+:107F60000101010101010101010101010101010200
+:107F700001010101010101010101010101010100F2
+:107F800001010101010101010101010101010101E1
+:107F900002000000000000000000000000010101DC
+:107FA00002020102020202010100010101010101BC
+:107FB00001010101010101010101010101010101B1
+:107FC00001010101010101010101010101010101A1
+:107FD0000101010101010101010101010101010290
+:107FE0000101010101010101010101010101010181
+:107FF0000101010101010101010101010101010171
+:108000000101010101010101010101010101010160
+:108010000101010101010101010101010101010150
+:108020000101010101010101010101010101010140
+:108030000101010101010101010101010101010130
+:108040000101010101010101010101010101010120
+:108050000101010101010101010101010101010110
+:1080600001010101010101010101010101010102FF
+:1080700002010101010102010101010101010202EC
+:1080800001010101010101010101010101010101E0
+:1080900002000000000000000000000001010101DA
+:1080A00001020102020202010100010101010101BC
+:1080B00001010101010101010101010101010101B0
+:1080C00001010101010101010101010101010101A0
+:1080D000010101010101010101010101010101028F
+:1080E0000101010101010101010101010101010180
+:1080F0000101010101010101010101010101010170
+:10810000010101010101010101010101010101015F
+:10811000010101010101010101010101010101014F
+:10812000010101010101010101010101010101013F
+:10813000010101010101010101010101010101012F
+:10814000010101010101010101010101010101011F
+:10815000010101010101010101010101010101010F
+:1081600001010101010101010101010101010102FE
+:1081700002010101010202020102010101010202E8
+:1081800001010101010101010101010101010101DF
+:1081900002000000000000000000000001010101D9
+:1081A00001020102020202010102010101010101B9
+:1081B00001010101010101010101010101010101AF
+:1081C000010101010101010101010101010101019F
+:1081D000010101010101010101010101010101028E
+:1081E000010101010101010101010101010101017F
+:1081F000010101010101010101010101010101016F
+:10820000010101010101010101010101010101015E
+:10821000010101010101010101010101010101014E
+:10822000010101010101010101010101010101013E
+:10823000010101010101010101010101010101012E
+:10824000010101010101010101010101010101011E
+:10825000010101010101010101010101010101010E
+:1082600001010101010101010101010101010102FD
+:1082700002010101020202020102010202020202E3
+:1082800001010101010202010102020202020201D6
+:1082900002000000000000000000000101010101D7
+:1082A00001020102020202010102010101010101B8
+:1082B00001010101010101010101010101010101AE
+:1082C000010101010101010101010101010101019E
+:1082D000010101010101010101010101010101028D
+:1082E000010101010101010101010101010101017E
+:1082F000010101010101010101010101010101016E
+:10830000010101010101010101010101010101015D
+:10831000010101010101010101010101010101014D
+:10832000010101010101010101010101010101013D
+:10833000010101010101010101010101010101012D
+:10834000010101010101010101010101010101011D
+:10835000010101010101010101010101010101020C
+:1083600001010101010101010101010101010202FB
+:1083700002010102020202020202020202020202DF
+:1083800001010101010202010202020202020201D4
+:1083900002000000000000000001010101010101D4
+:1083A00001020102020202010102010101010101B7
+:1083B00001010101010101010101010101010101AD
+:1083C000010101010101010101010101010101019D
+:1083D000010101010101010101010101010101028C
+:1083E000010101010101010101010101010101017D
+:1083F000010101010101010101010101010101016D
+:10840000010101010101010101010101010101015C
+:10841000010101010101010101010101010101014C
+:10842000010101010101010101010101010101013C
+:10843000010101010101010101010101010101012C
+:10844000010101010101010101010101010101011C
+:10845000010101010101010101010101010101020B
+:1084600001010101010101010101010101010202FA
+:1084700002010202020202020202020202020202DD
+:1084800001010101010202020202020202020201D2
+:1084900002000000000000000101010101010101D2
+:1084A00001020102020202010102010101010101B6
+:1084B00001010101010101010101010101010101AC
+:1084C000010101010101010101010101010101019C
+:1084D000010101010101010101010101010101028B
+:1084E000010101010101010101010101010101017C
+:1084F000010101010101010101010101010101016C
+:10850000010101010101010101010101010101015B
+:10851000010101010101010101010101010101014B
+:10852000010101010101010101010101010101013B
+:10853000010101010101010101010101010101012B
+:10854000010101010101010101010101010101011B
+:10855000010101010101010101010101010101020A
+:1085600002010101010101010102020202020202F3
+:1085700002020202020202020202020202020202DB
+:1085800001010101010202020202020202020201D1
+:1085900002000000000001010101010101010101CF
+:1085A00001020101010101010102010101010101B9
+:1085B00001010101010101010101010101010101AB
+:1085C000010101010101010101010101010101019B
+:1085D000010101010101010101010101010101018B
+:1085E000010101010101010101010101010101017B
+:1085F000010101010101010101010101010101016B
+:10860000010101010101010101010101010101015A
+:10861000010101010101010101010101010101014A
+:10862000010101010101010101010101010101013A
+:10863000010101010101010101010101010101012A
+:10864000010101010101010101010101010101011A
+:108650000101010101010101010101010101010209
+:1086600002010102010202020202020202020202ED
+:1086700002020202020202020202020202020202DA
+:1086800001010101020202020202020202020201CF
+:1086900001000000000101010101010101010101CE
+:1086A00001010101010101010101010101010101BA
+:1086B00001010101010101010101010101010101AA
+:1086C000010101010101010101010101010101019A
+:1086D000010101010101010101010101010101018A
+:1086E000010101010101010101010101010101017A
+:1086F000010101010101010101010101010101016A
+:108700000101010101010101010101010101010159
+:108710000101010101010101010101010101010149
+:108720000101010101010101010101010101010139
+:108730000101010101010101010101010101010129
+:108740000101010101010101010101010101010119
+:108750000101010101010101010101010101020207
+:1087600002020202020202020202020202020202E9
+:1087700002020202020202020202020202020202D9
+:1087800001010202020202020202020202020201CC
+:1087900001000001010101010101010101010101CB
+:1087A00001010101010101010101010101010101B9
+:1087B00001010101010101010101010101010101A9
+:1087C0000101010101010101010101010101010199
+:1087D0000101010101010101010101010101010189
+:1087E0000101010101010101010101010101010179
+:1087F0000101010101010101010101010101010169
+:108800000101010101010101010101010101010158
+:108810000101010101010101010101010101010148
+:108820000101010101010101010101010101010138
+:108830000101010101010101010101010101010128
+:108840000101010101010101010101010101010118
+:108850000101010101010101010101010102020205
+:1088600002020202020202020202020202020202E8
+:1088700002020202020202020202020202020202D8
+:1088800002010202020202020202020202020201CA
+:1088900001000001010101010101010101010101CA
+:1088A00001010101010101010101010101010101B8
+:1088B00001010101010101010101010101010101A8
+:1088C0000101010101010101010101010101010198
+:1088D0000101010101010101010101010101010188
+:1088E0000101010101010101010101010101010178
+:1088F0000101010101010101010101010101010168
+:108900000101010101010101010101010101010157
+:108910000101010101010101010101010101010147
+:108920000101010101010101010101010101010137
+:108930000101010101010101010101010101020126
+:108940000101010101010101010101010101020215
+:1089500001010101010102020202020202020202FD
+:1089600002020202020202020202020202020202E7
+:1089700002020202020202020202020202020202D7
+:1089800002010202020202020202020202020201C9
+:1089900001010101010101010101010101010101C7
+:1089A00001010101010101010101010101010101B7
+:1089B00001010101010101010101010101010101A7
+:1089C0000101010101010101010101010101010197
+:1089D0000101010101010101010101010101010187
+:1089E0000101010101010101010101010101010177
+:1089F0000101010101010101010101010101010167
+:108A00000101010101010101010101010101010156
+:108A10000101010101010101010101010101010146
+:108A20000101010101010101010101010101020135
+:108A30000101010101010101010101010102020124
+:108A40000101010101010101010101010102020213
+:108A500002020202020202020202020202020202F6
+:108A600002020202020202020202020202020202E6
+:108A700002020202020202020202020202020202D6
+:108A800002020202020202020202020202020201C7
+:108A900001010101010101010101010101010101C6
+:108AA00001010101010101010101010101010101B6
+:108AB00001010101010101010101010101010101A6
+:108AC0000101010101010101010101010101010196
+:108AD0000101010101010101010101010101010186
+:108AE0000101010101010101010101010101010176
+:108AF0000101010101010101010101010101010166
+:108B00000101010101010101010101010101020154
+:108B10000101010101010101010101010101020144
+:108B20000101010101010101010101010102020232
+:108B3000020101010101010101020202020202011E
+:108B4000010101010101010101020202020202020E
+:108B500002020202020202020202020202020202F5
+:108B600002020202020202020202020202020202E5
+:108B700002020202020202020202020202020202D5
+:108B800002020202020202020202020202020201C6
+:108B900001010101010101010101010101010101C5
+:108BA00001010101010101010101010101010101B5
+:108BB00001010101010101010101010101010101A5
+:108BC0000101010101010101010101010101010195
+:108BD0000101010101010101010101010101010185
+:108BE0000101010101010101010101010101010175
+:108BF0000101010101010101010101010101010165
+:108C00000101010101010101010101010102020152
+:108C10000101010101010101010101010102020241
+:108C2000010101010101010101020102020202022E
+:108C30000202020202020202020202020202020214
+:108C40000202020202020202020202020202020204
+:108C500002020202020202020202020202020202F4
+:108C600002020202020202020202020202020202E4
+:108C700002020202020202020202020202020202D4
+:108C800002020202020202020202020202020201C5
+:108C900001010101010101010101010101010101C4
+:108CA00001010101010101010101010101010101B4
+:108CB00001010101010101010101010101010101A4
+:108CC0000101010101010101010101010101010194
+:108CD0000101010101010101010101010101010184
+:108CE0000101010101010101010101010101010174
+:108CF0000101010101010101010101010101010263
+:108D00000101010101010101010101010202020150
+:108D1000010101010101010101010202020202023D
+:108D20000202020202020202020202020202020223
+:108D30000202020202020202020202020202020213
+:108D40000202020202020202020202020202020203
+:108D500002020202020202020202020202020202F3
+:108D600002020202020202020202020202020202E3
+:108D700002020202020202020202020202020202D3
+:108D800002020202020202020202020202020201C4
+:108D900001010101010101010101010101010101C3
+:108DA00001010101010101010101010101010101B3
+:108DB00001010101010101010101010101010101A3
+:108DC0000101010101010101010101010101010193
+:108DD0000101010101010101010101010101010183
+:108DE0000101010101010101010101010101010173
+:108DF0000101010101010101010101010101020261
+:108E00000202020201020202020202020202020144
+:108E10000202020202020202020202020202020232
+:108E20000202020202020202020202020202020222
+:108E30000202020202020202020202020202020212
+:108E40000202020202020202020202020202020202
+:108E500002020202020202020202020202020202F2
+:108E600002020202020202020202020202020202E2
+:108E700002020202020202020202020202020202D2
+:108E800002020202020202020202020202020201C3
+:108E900001010101010101010101010101010101C2
+:108EA00001010101010101010101010101010101B2
+:108EB00001010101010101010101010101010101A2
+:108EC0000101010101010101010101010101010192
+:108ED0000101010101010101010101010101020181
+:108EE0000101010101010101010101010101010172
+:108EF000010101010101010101010101020202025E
+:108F00000202020202020202020202020202020241
+:108F10000202020202020202020202020202020231
+:108F20000202020202020202020202020202020221
+:108F30000202020202020202020202020202020211
+:108F40000202020202020202020202020202020201
+:108F500002020202020202020202020202020202F1
+:108F600002020202020202020202020202020202E1
+:108F700002020202020202020202020202020202D1
+:108F800002020202020202020202020202020201C2
+:108F900001010101010101010101010101010101C1
+:108FA00001010101010101010101010101010101B1
+:108FB00001010101010101010101010101010101A1
+:108FC0000101010101010101010101010101010191
+:108FD0000101010101010101010101010101020180
+:108FE0000101010101010101010101010101010270
+:108FF0000201010202020202020202020202020253
+:109000000202020202020202020202020202020240
+:109010000202020202020202020202020202020230
+:109020000202020202020202020202020202020220
+:109030000202020202020202020202020202020210
+:109040000202020202020202020202020202020200
+:1090500002020202020202020202020202020202F0
+:1090600002020202020202020202020202020202E0
+:1090700002020202020202020202020202020202D0
+:1090800002020202020202020202020202020201C1
+:1090900001010101010101010101010101010101C0
+:1090A00001010101010101010101010101010101B0
+:1090B00001010101010101010101010101010101A0
+:1090C000010101010101010101010101010101028F
+:1090D000020101010101010101010202020202017A
+:1090E000010101010101010101010101010101026F
+:1090F0000202020202020202020202020202020250
+:10910000020202020202020202020202020202023F
+:10911000020202020202020202020202020202022F
+:10912000020202020202020202020202020202021F
+:10913000020202020202020202020202020202020F
+:1091400002020202020202020202020202020202FF
+:1091500002020202020202020202020202020202EF
+:1091600002020202020202020202020202020202DF
+:1091700002020202020202020202020202020202CF
+:1091800002020202020202020202020202020201C0
+:1091900001010101010101010101010101010101BF
+:1091A00001010101010101010101010101010101AF
+:1091B000010101010101010101010101010101019F
+:1091C000010101010101010101010101010101028E
+:1091D0000202020202020202020202020202020170
+:1091E000010101010101010101010101010102026D
+:1091F000020202020202020202020202020202024F
+:10920000020202020202020202020202020202023E
+:10921000020202020202020202020202020202022E
+:10922000020202020202020202020202020202021E
+:10923000020202020202020202020202020202020E
+:1092400002020202020202020202020202020202FE
+:1092500002020202020202020202020202020202EE
+:1092600002020202020202020202020202020202DE
+:1092700002020202020202020202020202020202CE
+:1092800002020202020202020202020202020201BF
+:1092900001010101010101010101010101010101BE
+:1092A00001010101010101010101010101010101AE
+:1092B000010101010101010101010101010101019E
+:1092C000010101010101010101010101010102028C
+:1092D000020202020202020202020202020202016F
+:1092E000010101010101010101010101020202026A
+:1092F000020202020202020202020202020202024E
+:10930000020202020202020202020202020202023D
+:10931000020202020202020202020202020202022D
+:10932000020202020202020202020202020202021D
+:10933000020202020202020202020202020202020D
+:1093400002020202020202020202020202020202FD
+:1093500002020202020202020202020202020202ED
+:1093600002020202020202020202020202020202DD
+:1093700002020202020202020202020202020202CD
+:1093800002020202020202020202020202020201BE
+:1093900001010101010101010101010101010101BD
+:1093A00001010101010101010101010101010101AD
+:1093B000010101010101010101010101010102029B
+:1093C000010101010101010101010101010202028A
+:1093D000020202020202020202020202020202016E
+:1093E000020202020202020202020202020202025D
+:1093F000020202020202020202020202020202024D
+:10940000020202020202020202020202020202023C
+:10941000020202020202020202020202020202022C
+:10942000020202020202020202020202020202021C
+:10943000020202020202020202020202020202020C
+:1094400002020202020202020202020202020202FC
+:1094500002020202020202020202020202020202EC
+:1094600002020202020202020202020202020202DC
+:1094700002020202020202020202020202020202CC
+:1094800002020202020202020202020202020201BD
+:1094900001010101010101010101010101010101BC
+:1094A00001010101010101010101010101010102AB
+:1094B000010101010101010101010101010102029A
+:1094C000020102020202020202010202020202027E
+:1094D000020202020202020202020202020202016D
+:1094E000020202020202020202020202020202025C
+:1094F000020202020202020202020202020202024C
+:10950000020202020202020202020202020202023B
+:10951000020202020202020202020202020202022B
+:10952000020202020202020202020202020202021B
+:10953000020202020202020202020202020202020B
+:1095400002020202020202020202020202020202FB
+:1095500002020202020202020202020202020202EB
+:1095600002020202020202020202020202020202DB
+:1095700002020202020202020202020202020202CB
+:1095800002020202020202020202020202020201BC
+:1095900001010101010101010101010101010101BB
+:1095A00001010101010101010101010101010102AA
+:1095B0000202020101020101010102020202020291
+:1095C000020202020202020202020202020202027B
+:1095D000020202020202020202020202020202026B
+:1095E000020202020202020202020202020202025B
+:1095F000020202020202020202020202020202024B
+:10960000020202020202020202020202020202023A
+:10961000020202020202020202020202020202022A
+:10962000020202020202020202020202020202021A
+:10963000020202020202020202020202020202020A
+:1096400002020202020202020202020202020202FA
+:1096500002020202020202020202020202020202EA
+:1096600002020202020202020202020202020202DA
+:1096700002020202020202020202020202020202CA
+:1096800002020202020202020202020202020201BB
+:1096900001010101010101010101010101010101BA
+:1096A00001010101010101010101010101010102A9
+:1096B000020202020202020202020202020202028A
+:1096C000020202020202020202020202020202027A
+:1096D000020202020202020202020202020202026A
+:1096E000020202020202020202020202020202025A
+:1096F000020202020202020202020202020202024A
+:109700000202020202020202020202020202020239
+:109710000202020202020202020202020202020229
+:109720000202020202020202020202020202020219
+:109730000202020202020202020202020202020209
+:1097400002020202020202020202020202020202F9
+:1097500002020202020202020202020202020202E9
+:1097600002020202020202020202020202020202D9
+:1097700002020202020202020202020202020202C9
+:1097800002020202020202020202020202020201BA
+:1097900001010101010101010101010101010101B9
+:1097A00001010101010101010101010101010102A8
+:1097B0000202020202020202020202020202020289
+:1097C0000202020202020202020202020202020279
+:1097D0000202020202020202020202020202020269
+:1097E0000202020202020202020202020202020259
+:1097F0000202020202020202020202020202020249
+:109800000202020202020202020202020202020238
+:109810000202020202020202020202020202020228
+:109820000202020202020202020202020202020218
+:109830000202020202020202020202020202020208
+:1098400002020202020202020202020202020202F8
+:1098500002020202020202020202020202020202E8
+:1098600002020202020202020202020202020202D8
+:1098700002020202020202020202020202020202C8
+:1098800002020202020202020202020202020201B9
+:1098900001010101010101010101010101010101B8
+:1098A00001010101010101010101010101010102A7
+:1098B0000202020202020202020202020202020288
+:1098C0000202020202020202020202020202020278
+:1098D0000202020202020202020202020202020268
+:1098E0000202020202020202020202020202020258
+:1098F0000202020202020202020202020202020248
+:109900000202020202020202020202020202020237
+:109910000202020202020202020202020202020227
+:109920000202020202020202020202020202020217
+:109930000202020202020202020202020202020207
+:1099400002020202020202020202020202020202F7
+:1099500002020202020202020202020202020202E7
+:1099600002020202020202020202020202020202D7
+:1099700002020202020202020202020202020202C7
+:1099800002020202020202020202020202020201B8
+:1099900001010101010101010101010101010102B6
+:1099A00001010101010101010101010101010202A5
+:1099B0000202020202020202020202020202020287
+:1099C0000202020202020202020202020202020277
+:1099D0000202020202020202020202020202020267
+:1099E0000202020202020202020202020202020257
+:1099F0000202020202020202020202020202020247
+:109A00000202020202020202020202020202020236
+:109A10000202020202020202020202020202020226
+:109A20000202020202020202020202020202020216
+:109A30000202020202020202020202020202020206
+:109A400002020202020202020202020202020202F6
+:109A500002020202020202020202020202020202E6
+:109A600002020202020202020202020202020202D6
+:109A700002020202020202020202020202020202C6
+:109A800002020202020202020202020202020201B7
+:109A900001010101010101010101010101010102B5
+:109AA0000202020202020202020202020202020296
+:109AB0000202020202020202020202020202020286
+:109AC0000202020202020202020202020202020276
+:109AD0000202020202020202020202020202020266
+:109AE0000202020202020202020202020202020256
+:109AF0000202020202020202020202020202020246
+:109B00000202020202020202020202020202020235
+:109B10000202020202020202020202020202020225
+:109B20000202020202020202020202020202020215
+:109B30000202020202020202020202020202020205
+:109B400002020202020202020202020202020202F5
+:109B500002020202020202020202020202020202E5
+:109B600002020202020202020202020202020202D5
+:109B700002020202020202020202020202020202C5
+:109B800002020202020202020202020202020201B6
+:109B900001010101010101010101010101010102B4
+:109BA0000202020202020202020202020202020295
+:109BB0000202020202020202020202020202020285
+:109BC0000202020202020202020202020202020275
+:109BD0000202020202020202020202020202020265
+:109BE0000202020202020202020202020202020255
+:109BF0000202020202020202020202020202020245
+:109C00000202020202020202020202020202020234
+:109C10000202020202020202020202020202020224
+:109C20000202020202020202020202020202020214
+:109C30000202020202020202020202020202020204
+:109C400002020202020202020202020202020202F4
+:109C500002020202020202020202020202020202E4
+:109C600002020202020202020202020202020202D4
+:109C700002020202020202020202020202020202C4
+:109C800002020202020202020202020202020201B5
+:109C900001010101010101010101010101010100B5
+:109CA00000000000000000000000000000000002B2
+:109CB0000202020202020202020202020202020086
+:109CC0000000000000000000000000000000000292
+:109CD0000202020202020202020202020202020264
+:109CE0000202020202020202020202020202020056
+:109CF0000000000000000000000000000000000262
+:109D00000202020202020202020202020202020035
+:109D10000000000000000000000000000000000241
+:109D20000202020202020202020202020202020213
+:109D30000202020202020202020202020202020203
+:109D400002020202020202020202020202020202F3
+:109D500002020202020202020202020202020202E3
+:109D600002020202020202020202020202020202D3
+:109D700002020202020202020202020202020202C3
+:109D800002020202020202020202020202020201B4
+:109D900001010101010101010101010101010101B3
+:109DA00001010101010101010101010101010102A2
+:109DB0000202020202020202020202020202020085
+:109DC0000000000000000000000000000000000093
+:109DD0000000000000000000000000000000000281
+:109DE0000202020202020202020202020202020055
+:109DF0000000000000000000000000000000000261
+:109E00000202020202020202020202020202020034
+:109E10000000000000000000000000000000000042
+:109E20000000000000000000000000000000000032
+:109E30000000000000000000000000000000000022
+:109E40000000000000000000000000000000000012
+:109E50000000000000000000000000000000000002
+:109E600000000000000000000000000000000002F0
+:109E700002020202020202020202020202020202C2
+:109E800000000000000000000000000000000001D1
+:109E900001010101010101010101010101010102B1
+:109EA000020101010101010101010101010202019F
+:109EB0000101010101010101010101010101010192
+:109EC0000101010101010101010101010101010182
+:109ED0000101010101010101010101010101010172
+:109EE0000101010101010101010101010101010162
+:109EF0000101010101010101010101010101010152
+:109F00000101010101010101010101010101010141
+:109F10000101010101010101010101010101010131
+:109F20000101010101010101010101010101010121
+:109F30000101010101010101010101010101010111
+:109F40000101010101010101010101010101010101
+:109F500001010101010101010101010101010101F1
+:109F600001010101010101010101010101010101E1
+:109F700001010101010101010101010101010102D0
+:109F800000000000000000000000000000000001D0
+:109F900001010101010101010101010101010100B2
+:109FA00000000000000000000000000000000001B0
+:109FB0000101010101010101010101010101010191
+:109FC0000101010101010101010101010101010181
+:109FD0000101010101010101010101010101010171
+:109FE0000101010101010101010101010101010161
+:109FF0000101010101010101010101010101010151
+:10A000000101010101010101010101010101010140
+:10A010000101010101010101010101010101010130
+:10A020000101010101010101010101010101010120
+:10A030000101010101010101010101010101010110
+:10A040000101010101010101010101010101010100
+:10A0500001010101010101010101010101010101F0
+:10A0600001010101010101010101010101010101E0
+:10A0700001010101010101010101010101010102CF
+:10A0800000000000000000000000000000000001CF
+:10A0900001010101010101010101010101010100B1
+:10A0A00000000000000000000000000000000001AF
+:10A0B0000101010101010101010101010101010190
+:10A0C0000101010101010101010101010101010180
+:10A0D0000101010101010101010101010101010170
+:10A0E0000101010101010101010101010101010160
+:10A0F0000101010101010101010101010101010150
+:10A10000010101010101010101010101010101013F
+:10A11000010101010101010101010101010101012F
+:10A12000010101010101010101010101010101011F
+:10A13000010101010101010101010101010101010F
+:10A1400001010101010101010101010101010101FF
+:10A1500001010101010101010101010101010101EF
+:10A1600001010101010101010101010101010101DF
+:10A1700001010101010101010101010101010102CE
+:10A1800000000000000000000000000000000001CE
+:10A1900001010101010101010101010101010100B0
+:10A1A00000000000000000000000000000000001AE
+:10A1B000010101010101010101010101010101018F
+:10A1C000010101010101010101010101010101017F
+:10A1D000010101010101010101010101010101016F
+:10A1E000010101010101010101010101010101015F
+:10A1F000010101010101010101010101010101014F
+:10A20000010101010101010101010101010101013E
+:10A21000010101010101010101010101010101012E
+:10A22000010101010101010101010101010101011E
+:10A23000010101010101010101010101010101000F
+:10A24000000000000000000000000000000000000E
+:10A2500000000000000000000000000000000000FE
+:10A2600000000000000000000000000000000000EE
+:10A2700000000000000000000000000000000002DC
+:10A2800000000000000000000000000000000001CD
+:10A2900001010101010101010101010101010100AF
+:10A2A00000000000000000000000000000000001AD
+:10A2B000010101010101010101010101010101008F
+:10A2C000000000000000000000000000000000018D
+:10A2D000010101010101010101010101010101006F
+:10A2E000000000000000000000000000000000006E
+:10A2F000000000000000000000000000000000015D
+:10A30000010101010101010101010101010101003E
+:10A31000000000000000000000000000000000003D
+:10A32000000000000000000000000000000000002D
+:10A33000000000000000000000000000000000001D
+:10A34000000000000000000000000000000000000D
+:10A3500000000000000000000000000000000000FD
+:10A3600000000000000000000000000000000000ED
+:10A3700000000000000000000000000000000002DB
+:10A3800000000000000000000000000000000001CC
+:10A3900001010101010101010101010101010100AE
+:10A3A00000000000000000000000000000000001AC
+:10A3B000010101010101010101010101010101008E
+:10A3C000000000000000000000000000000000018C
+:10A3D000010101010101010101010101010101006E
+:10A3E000000000000000000000000000000000006D
+:10A3F000000000000000000000000000000000015C
+:10A40000010101010101010101010101010101003D
+:10A41000000000000000000000000000000000003C
+:10A42000000000000000000000000000000000002C
+:10A43000000000000000000000000000000000001C
+:10A44000000000000000000000000000000000000C
+:10A4500000000000000000000000000000000000FC
+:10A4600000000000000000000000000000000000EC
+:10A4700000000000000000000000000000000002DA
+:10A4800000000000000000000000000000000000CC
+:10A4900000000000000000000000000000000000BC
+:10A4A00000000000000000000000000000000000AC
+:10A4B000000000000000000000000000000000009C
+:10A4C000000000000000000000000000000000008C
+:10A4D000000000000000000000000000000000007C
+:10A4E000000000000000000000000000000000006C
+:10A4F000000000000000000000000000000000005C
+:10A50000000000000000000000000000000000004B
+:10A51000000000000000000000000000000000003B
+:10A52000000000000000000000000000000000002B
+:10A53000000000000000000000000000000000001B
+:10A54000000000000000000000000000000000000B
+:10A5500000000000000000000000000000000000FB
+:10A5600000000000000000000000000000000000EB
+:10A5700000000000000000000000000000000000DB
+:10A580000000000000000000000000000000004C7F
+:10A5900000000000000000000000000000000000BB
+:10A5A00000000000000000000000020000020000A7
+:10A5B0000200020002000000000000000000000095
+:10A5C0000000000000020000000000000000000089
+:10A5D0000200000000000200000000000000000077
+:10A5E000000000000000000000000000000000006B
+:10A5F000000000000000000000000000000000005B
+:10A60000000000000000000000000000000000004A
+:10A61000000000000000000000000000000000003A
+:10A620000000000000000000000000020000020224
+:10A630000000000000000000000000000000000218
+:10A640000000000000000000000200000000020006
+:10A6500000000000000200000000020000000000F6
+:10A6600002000200000000000002000200000202DE
+:10A6700000020002000000000002000202000202CC
+:10A6800000020002000200000200020000020000BE
+:10A6900002000200020002020000000000000000B0
+:10A6A000000000000000000200020202020202029A
+:10A6B000020202020202000000000000000000008E
+:10A6C0000000000000020200000000000000000284
+:10A6D0000200000200020200000000000000000072
+:10A6E000000000000000000000000000000000006A
+:10A6F000000000000000000000000000000000005A
+:10A700000000000000000000000002000002000045
+:10A710000000000000000000000000000000000039
+:10A720000000000000000000020000020000020221
+:10A730000000000000000000000000000000000217
+:10A7400000000000000000000202020000020200FF
+:10A7500002000000020202020002020200000200E7
+:10A7600002020200000200000202020200020202D3
+:10A7700002020202020002000202020202020202BD
+:10A7800002020202020201000202020202020202AC
+:10A7900002020202020202020000000000000000A9
+:10A7A0000000000000000002020202020202020297
+:10A7B000020202020202000000000000000000008D
+:10A7C0000002000000020200000000000000000281
+:10A7D0000200000200020200000000000000000071
+:10A7E0000000000000000000000000000000000069
+:10A7F0000000000000000000000000000000000059
+:10A80000000000000000000000000202020202023C
+:10A810000000000000000000000000000000000038
+:10A820000000000000000000020000020000020220
+:10A830000000000000000002000000000000000214
+:10A8400000020000000000020202020202020202F4
+:10A8500002020000020202020202020200020200E0
+:10A8600002020200020202020202020202020202CA
+:10A8700002020202020202020202020202020202B8
+:10A8800002020202020201000202020202020202AB
+:10A8900002020202020202020000000000000000A8
+:10A8A0000000000000000002020202020202020296
+:10A8B000020202020202000000000200000000008A
+:10A8C0000002000000020200000000000000000280
+:10A8D0000200000200020200000000000000000070
+:10A8E0000000000000000000000000000000000068
+:10A8F0000000000000000000000000000000000058
+:10A900000000000000000000020002020202020239
+:10A910000200000000000000000000000000000035
+:10A92000000000000002000002000002000002021D
+:10A930000000020000000002000000000000000211
+:10A9400000020000000000020202020202020202F3
+:10A9500002020200020202020202020202020202D9
+:10A9600002020200020202020202020202020202C9
+:10A9700002020202020201020202020202020202B8
+:10A9800002020202020201000202020202020202AA
+:10A99000020202020202020202020002020000009F
+:10A9A0000000000000000002020202020202020295
+:10A9B0000202020202020002000002000000000087
+:10A9C000000200000002020000000000000000027F
+:10A9D000020000020002020000000000000000006F
+:10A9E0000000000000000000000000000000000067
+:10A9F0000000000000000000000000000000000057
+:10AA00000000000000000000020002020202020238
+:10AA10000202000000000000000000000000000032
+:10AA2000000000000002000002000002000002021C
+:10AA3000000002020000000200000000000000020E
+:10AA400000020000000000020202020202020202F2
+:10AA500002020200020202020202020202020202D8
+:10AA600002020200020202020202020202020202C8
+:10AA700002020202020201020202020202020202B7
+:10AA800002020202020201000202020202020202A9
+:10AA9000020202020202020202020202020200009A
+:10AAA0000000000000000002020202020202020294
+:10AAB0000202020202020002020002000000000084
+:10AAC000000200000002020200000000000000027C
+:10AAD000020000020002020000000000000000006E
+:10AAE0000000000000000000000000000000000066
+:10AAF0000200000000000000000000000000000054
+:10AB00000000000000000000020002020202020237
+:10AB1000020200000000000002000000000000002F
+:10AB2000000000000002000002000002000002021B
+:10AB3000000002020000000200000200000000020B
+:10AB400000020200000000020202020202020202EF
+:10AB500002020200020201020202020202020202D8
+:10AB600002020202020201020202020202020202C6
+:10AB700002020202020201020202020202020202B6
+:10AB800002020202020201000202020202020202A8
+:10AB90000202020202020202020202020202000099
+:10ABA0000000000000000002020202020202020293
+:10ABB0000202020202020002020002000000000083
+:10ABC000000200000002020200000000000000027B
+:10ABD000020000020002020000000000000000026B
+:10ABE0000002000000000000000002000000000061
+:10ABF000020200000002000000020000000000004D
+:10AC00000000000000000002020002020202020234
+:10AC1000020200020000000002000000000000002C
+:10AC20000000000000020202020000020000020216
+:10AC30000000020200000002000202000000000208
+:10AC400000020202000200020202020202020202EA
+:10AC500002020200020201020202020202020202D7
+:10AC600002020202020201020202020202020202C5
+:10AC700002020202020201020202020202020202B5
+:10AC800002020202020201000202020202020202A7
+:10AC90000202020202020202020202020202000098
+:10ACA0000000000000000002020202020202020292
+:10ACB0000202020202020002020002000000000082
+:10ACC000000200000002020200000000000000027A
+:10ACD0000200000200020200020000000000020266
+:10ACE000020200000000020000000200000002005A
+:10ACF000020202000002000000020000000000004A
+:10AD00000000000000000002020002020202020233
+:10AD10000202020200000000020000000000000029
+:10AD20000000000000020202020000020000020215
+:10AD30000000020200000002020202000000000205
+:10AD400000020202000200020202020202020202E9
+:10AD500002020200020201020202020202020202D6
+:10AD600002020202020201020202020202020202C4
+:10AD700002020202020201020202020202020202B4
+:10AD800002020202020101000202020202020202A7
+:10AD90000202020202020102020202020202020294
+:10ADA000000200000002000202020202020202028D
+:10ADB0000202020202020002020002000000000081
+:10ADC0000002000000020202000000000000000279
+:10ADD0000200000200020200020000000000020265
+:10ADE0000202000000000200020002000002020055
+:10ADF0000202020000020000000200000200020045
+:10AE00000000000000000002020002020202020232
+:10AE10000202020200000002020000000000000026
+:10AE20000000000200020202020200020000020210
+:10AE300000000202000200020202020002000202FE
+:10AE400000020202000200020202020202020202E8
+:10AE500002020200020201020202020202020202D5
+:10AE600002020202020201020202020202020202C3
+:10AE700002020202020201020202020202020202B3
+:10AE800002020202020101000202020202020202A6
+:10AE90000202020202020102020202020202020293
+:10AEA0000202020002020002020202020202020286
+:10AEB0000202020202020002020002000000000080
+:10AEC0000002000000020202000200000000000276
+:10AED0000200000200020200020002000000020262
+:10AEE0000202000000000200020002000002020252
+:10AEF000020202000002020002020000020202003E
+:10AF0000000000000000000202020202020202022F
+:10AF10000202020200000002020000000000000025
+:10AF2000000000020002010202020202000002020E
+:10AF300000000202000202020202020002020202F9
+:10AF400000020202000202020202020202020202E5
+:10AF500002020200020101020202020202020202D5
+:10AF600002020202020101020202020202020202C3
+:10AF700002020202020101020202020202020202B3
+:10AF800002020202020101000202020202020202A5
+:10AF90000202020202020102020202020202020292
+:10AFA0000202020002020002020202020202020285
+:10AFB000020202020202000202000200000000007F
+:10AFC000000200000002020202020200000200026F
+:10AFD000020000020002010202020200000002025E
+:10AFE0000202000000000200020002000002020251
+:10AFF0000202020000020202020200020202020237
+:10B00000000000000000000202020202020202022E
+:10B010000202020200020002020200000000000020
+:10B02000000000020002010202020202020002020B
+:10B0300000000202000202020202020202020202F6
+:10B0400000020202000202020202020202020202E4
+:10B0500002020200020101020202020202020202D4
+:10B0600002020202020101020202020202020202C2
+:10B0700002020202020101020202020202020202B2
+:10B0800002020202010101000202020202020202A5
+:10B090000202020202020102020202020202020291
+:10B0A0000202020002020002020202020202020284
+:10B0B000020202020202000202000200000000007E
+:10B0C000000200000002010202020200000200026F
+:10B0D000020000020002010202020200020002025B
+:10B0E0000202000000000100020002000002020251
+:10B0F0000202020000020202020200020202020236
+:10B10000000000000000000202020202020202022D
+:10B11000020202020002020202020200000000001B
+:10B120000000000200020102020202020202020208
+:10B1300000000202000201020202020202020202F6
+:10B1400000020202000201020202020202020202E4
+:10B1500002020200020101020202020202020202D3
+:10B1600002020202020101020202020202020202C1
+:10B1700002020202010101020202020202020202B2
+:10B1800002020202010101000202020202020202A4
+:10B190000202020202010102020202020202020291
+:10B1A0000202020002010002020202020202020284
+:10B1B000020202020202000202000200000000007D
+:10B1C000000200000002010202020200000200026E
+:10B1D0000200020200020102020202000200020258
+:10B1E000020200020000010002000200000202024E
+:10B1F0000202020000020202020200020202020235
+:10B20000000200000000000202020202020202022A
+:10B210000202020200020202020202020200020014
+:10B220000000000200010102020202020202020208
+:10B2300000000202000201020202020202020202F5
+:10B2400000020202000201020202020202020202E3
+:10B2500002020202020101020202020202020202D0
+:10B2600002020202020101020202020202020202C0
+:10B2700002020202010101020202020202020202B1
+:10B2800002020201010101000202020202020202A4
+:10B290000202020202010102020202020202020290
+:10B2A0000202020002010002020202020202020283
+:10B2B000020202020202000202000200000000007C
+:10B2C0000002000000020102020202020202020267
+:10B2D0000200020200020102020202020200020255
+:10B2E000020200020000010002000200000202024D
+:10B2F0000202020000020102020200020202020235
+:10B300000202000000000202020202020202020225
+:10B310000202020200020102020202020202020012
+:10B320000000000200010102020202020202020207
+:10B3300002000202020201020202020202020202F0
+:10B3400002020202020201020202020202020202DE
+:10B3500002020202010101020202020202020202D0
+:10B3600002020202010101020202020202020202C0
+:10B3700002020202010101020202020202020101B2
+:10B3800002020201010101000202020202020202A3
+:10B390000202020201010102020202020202020290
+:10B3A0000202020002010002020202020202020282
+:10B3B0000202020202020002020202000000000079
+:10B3C0000002000000020102020202020202020266
+:10B3D0000200020200020102020202020200020254
+:10B3E000020200020000010002000200000202024C
+:10B3F0000202020000020102020200020202020234
+:10B400000202000000000202020202020202020224
+:10B41000020202020002010202020202020202020F
+:10B420000000000200010102020202020202020206
+:10B4300002020202020201020202020202020202ED
+:10B4400002020202020101020202020202020202DE
+:10B4500002020202010101020202020202020202CF
+:10B4600002020202010101020202020202020202BF
+:10B4700002020201010101020202020202020101B2
+:10B4800002010101010101000202020202020202A4
+:10B49000020202020101010202020202020202028F
+:10B4A0000202020001010002020202020202020282
+:10B4B0000202020202020002020202000000000078
+:10B4C0000002000000010102020202020202020266
+:10B4D0000200020200010102020202020200020254
+:10B4E0000202000200000100020202000002020249
+:10B4F0000202020200020102020200020202020231
+:10B500000202020000000102020202020202020222
+:10B51000020202020002010202020202020202020E
+:10B520000200000202010102020202020202020201
+:10B5300002020202020201020202020202020202EC
+:10B5400002020202020101020202020202020202DD
+:10B5500002020202010101020202020202020202CE
+:10B5600002020102010101020202020202020202BF
+:10B5700002020101010101020202020202010101B3
+:10B5800001010101010101000202020202020202A4
+:10B59000020202020101010202020202020202028E
+:10B5A000020202020101000202020202020202027F
+:10B5B0000202020202020002020202000000000077
+:10B5C0000002000000010102020202020202020265
+:10B5D0000200020200010102020202020200020253
+:10B5E0000202020200000100020202000002020246
+:10B5F0000202020200010102020200020202020231
+:10B60000020202020000010202020202020202021F
+:10B61000020202020002010202020202020202020D
+:10B6200002020002020101020202020202020202FE
+:10B6300002020202020101020202020202020202EC
+:10B6400002020202020101020202020202020202DC
+:10B6500002020202010101020202020202020202CD
+:10B6600002020102010101020202020202020202BE
+:10B6700002010101010101020202020202010101B3
+:10B6800001010101010101000202020202020202A3
+:10B69000020201010101010202020202020202028F
+:10B6A000020202020101000202020202020202027E
+:10B6B0000202020201010002020202000000000078
+:10B6C0000002000000010102020202020202020264
+:10B6D0000200020200010102020202020200020252
+:10B6E0000202020200000100020202000002020245
+:10B6F0000202020200010102020200020202020230
+:10B70000020202020000010202020202020202021E
+:10B71000020202020201010202020202020202020B
+:10B7200002020002020101020202020202020202FD
+:10B7300002020202020101020202020202020202EB
+:10B7400002020202020101020202020202020202DB
+:10B7500002020202010101020202020202020202CC
+:10B7600001020102010101020202020202020201BF
+:10B7700001010101010101020202020201010101B4
+:10B7800001010101010101000202020202020202A2
+:10B79000020201010101010202020202020202028E
+:10B7A000020201020101000202020202020202027E
+:10B7B0000202020201010002020202000000000077
+:10B7C0000002000000010102020202020202020263
+:10B7D0000200020200010102020202020200020251
+:10B7E0000202020200000100020202000002020244
+:10B7F000020202020001010202020002020202022F
+:10B80000020202020000010202020202020202021D
+:10B81000020202020201010202020202020202020A
+:10B8200002020002020101020202020202020202FC
+:10B8300002020202020101020202020202020202EA
+:10B8400002020202020101020202020202020202DA
+:10B8500002020102010101020202020202020202CC
+:10B8600001010101010101020202020202020101C1
+:10B8700001010101010101020102020101010101B5
+:10B8800001010101010101000202020202020202A1
+:10B89000010201010101010202020202020202028E
+:10B8A000020101020101000202020202020202027E
+:10B8B0000202020201010002020202000000000076
+:10B8C0000002000000010102020202020202020262
+:10B8D0000200020200010102020202020200020250
+:10B8E000020202020000010202020202020202023D
+:10B8F000020202020001010202020002020202022E
+:10B90000020202020000010202020202020202021C
+:10B910000202020202010102020202020202020209
+:10B9200002020202020101020202020202020202F9
+:10B9300002020202020101020202020202020202E9
+:10B9400002020202020101020202020202020202D9
+:10B9500001010102010101020202020202020202CD
+:10B9600001010101010101020202020102010101C2
+:10B9700001010101010101020102020101010101B4
+:10B9800001010101010101000202020202020202A0
+:10B990000101010101010102020202010101020192
+:10B9A000010101020102000202020202020202027D
+:10B9B0000202010101010002020202000200020073
+:10B9C0000002000000010102020202020202020261
+:10B9D000020002020001010202020202020002024F
+:10B9E000020202020000010202020202020202023C
+:10B9F000020202020001010202020002020202022D
+:10BA00000202020200020102020202020202020219
+:10BA10000202020202010102020202020202020208
+:10BA200002020202020101020202020202020202F8
+:10BA300002020101020101020202020202020201EB
+:10BA400002010101020101020202020202020101DD
+:10BA500001010102010101020202020202020101CE
+:10BA600001010101010101020202020102010101C1
+:10BA700001010101010101010102020101010101B4
+:10BA800001010101010101000202020202010101A2
+:10BA90000101010101010102020202010101010192
+:10BAA000010101010102000202020202020202027D
+:10BAB0000202010101020002020202000200020071
+:10BAC000000200000201010202020202020202025E
+:10BAD000020002010001010202020202020202024D
+:10BAE000020202020000010202020202020202023B
+:10BAF000020202020001010202020002020202022C
+:10BB00000202020200020102020202020202020218
+:10BB10000202020102010102020202020202020208
+:10BB200002020201020101020202020202020201F9
+:10BB300002020101020101020202020202020201EA
+:10BB400002010101010101020202020202010101DE
+:10BB500001010102010101020202020102010101CF
+:10BB600001010101010101020202020101010101C1
+:10BB700001010101010101010102010101010101B4
+:10BB800001010101010101000202020202010101A1
+:10BB90000101010101010102020101010101010193
+:10BBA000010101010102000202020202020202027C
+:10BBB0000101010101020002020202000200020270
+:10BBC000000200000201010202020202020202025D
+:10BBD000020002010201010202020202020202024A
+:10BBE0000202020200020102020202020202020238
+:10BBF000020202020001010202020002020202022B
+:10BC00000202020200020102020202020202020118
+:10BC1000010101010201010202020202020202020A
+:10BC200002020201010101020202020202020101FA
+:10BC300002020101010101020202020202020201EA
+:10BC400002010101010101020202020101010101DF
+:10BC500001010102010101020202010101010101D0
+:10BC600001010101010101010101010101010101C4
+:10BC700001010101010101010101010101010101B4
+:10BC800001010101010101000202020202010101A0
+:10BC90000101010101010102020101010101010192
+:10BCA000010101010202000202020202020202017B
+:10BCB000010101010202000202020200020202026C
+:10BCC000020200000201010202020202020202025A
+:10BCD000010002010201010202020202020202024A
+:10BCE0000202020200020102020202020202020237
+:10BCF000020201020001010202020002020202022B
+:10BD00000202020200020102020202020201010119
+:10BD10000101010102010102020202020202020209
+:10BD200002020201010101020202020102020101FA
+:10BD300002020101010101020202020202020201E9
+:10BD400002010101010101020201010101010101E0
+:10BD500001010101010101020201010101010101D1
+:10BD600001010101010101010101010101010101C3
+:10BD700001010101010101010101010101010101B3
+:10BD8000010101010101010002020202020101019F
+:10BD90000101010101010102020101010101010191
+:10BDA000010101010202000202020202020101017C
+:10BDB000010101010202000202020200020202026B
+:10BDC0000202000202010102020202020202020158
+:10BDD0000100020102010102020202020202020249
+:10BDE0000201020200010102020202020202020238
+:10BDF000010101020201010202020002020202022A
+:10BE0000020202020001010202020201010101011B
+:10BE10000101010101010102020202020202020209
+:10BE200002020201010101020202020102020101F9
+:10BE300002020101010101020202020202020201E8
+:10BE400002010101010101020201010101010101DF
+:10BE500001010101010101020201010101010101D0
+:10BE600001010101010101010101010101010101C2
+:10BE700001010101010101010101010101010101B2
+:10BE8000010101010101010002020202020101019E
+:10BE90000101010101010102020101010101010190
+:10BEA000010101010202000202020202020101017B
+:10BEB000010101010201000202020200020202026B
+:10BEC0000201020202010102020202020202020156
+:10BED0000100020102010102020202020202020149
+:10BEE0000101020100010102020202020202020239
+:10BEF0000101010202010102020202020202020227
+:10BF00000202020202010102020201010101010119
+:10BF10000101010101010102020202020202020208
+:10BF200002020201010101020202020102020101F8
+:10BF300002020101010101020202020202020201E7
+:10BF400002010101010101020101010101010101DF
+:10BF500001010101010101010101010101010101D1
+:10BF600001010101010101010101010101010101C1
+:10BF700001010101010101010101010101010101B1
+:10BF8000010101010101010001020202020101019E
+:10BF9000010101010101010202010101010101018F
+:10BFA0000101020102020002020202020201010179
+:10BFB0000101020202010002020202000202020268
+:10BFC0000201020202010102020202020202020155
+:10BFD0000100020102010102020202020202020148
+:10BFE0000101020100010102020202020202020238
+:10BFF0000101010202010102020202020202020226
+:10C000000202020202010102020201010101010118
+:10C010000101010101010102020202020202020207
+:10C0200002020201010101020202020102020101F7
+:10C0300002020101010101020202020202020101E7
+:10C0400002010101010101010101010101010101DF
+:10C0500001010101010101010101010101010101D0
+:10C0600001010101010101010101010101010101C0
+:10C0700001010101010101010101010101010101B0
+:10C08000010101010101010001020201010101019F
+:10C09000010101010101010202010101010101018E
+:10C0A0000102020102020002020202010101010179
+:10C0B0000101020202010002020202000202020267
+:10C0C0000201020202010102020202020202020154
+:10C0D0000102010102010102020202020202010147
+:10C0E0000101020102010102020202020202010137
+:10C0F0000101010102010102020202020202020226
+:10C100000202020202010102020201010101010117
+:10C110000101010101010102020202020202020206
+:10C1200002020201010101020102020102020101F7
+:10C1300002020101010101020202010201010101E9
+:10C1400001010101010101010101010101010101DF
+:10C1500001010101010101010101010101010101CF
+:10C1600001010101010101010101010101010101BF
+:10C1700001010101010101010101010101010101AF
+:10C18000010101010101010001020201010101019E
+:10C190000101010101010102020101020202010289
+:10C1A000020202010200000202020101010101017A
+:10C1B0000202020202010102020202000202020263
+:10C1C0000201020202010102020202020202020153
+:10C1D0000102010102010102020202020202010146
+:10C1E0000101010102010102020202020201010138
+:10C1F0000101010102010102020202020202010127
+:10C20000020101010201010201020101010101011A
+:10C210000101010101010102010202020202010108
+:10C2200001010101010101020102020102020101F9
+:10C2300001010101010101010201010101010101ED
+:10C2400001010101010101010101010101010101DE
+:10C2500001010101010101010101010101010101CE
+:10C2600001010101010101010101010101010101BE
+:10C2700001010101010101010101010101010101AE
+:10C28000010101010101010001020101010101019E
+:10C290000101010101010102020101020202020287
+:10C2A0000202020202000002020201010101010277
+:10C2B0000202020201010102020201000202020264
+:10C2C0000201020201010102020202020202020153
+:10C2D0000102010101010102020202020202010146
+:10C2E0000101010102010102020201020201010138
+:10C2F0000101010101010102020202020101010129
+:10C30000010101010201010201020101010101011A
+:10C31000010101010101010201020201010101010A
+:10C3200001010101010101020102020101010101FA
+:10C3300001010101010101010201010101010101EC
+:10C3400001010101010101010101010101010101DD
+:10C3500001010101010101010101010101010101CD
+:10C3600001010101010101010101010101010101BD
+:10C3700001010101010101010101010101010101AD
+:10C38000010101010101010001020101010101019D
+:10C390000101010101010101010202020202020286
+:10C3A0000202020202000002020201010102020274
+:10C3B0000202020201010102020201020202020261
+:10C3C0000201020201010102020202020201020153
+:10C3D0000102010101010102020201020102010147
+:10C3E0000101010102010102020201020201010137
+:10C3F000010101010101010202010201010101012A
+:10C40000010101010101010201010101010101011B
+:10C41000010101010101010201010101010101010B
+:10C4200001010101010101020101010101010101FB
+:10C4300001010101010101010101010101010101EC
+:10C4400001010101010101010101010101010101DC
+:10C4500001010101010101010101010101010101CC
+:10C4600001010101010101010101010101010101BC
+:10C4700001010101010101010101010101010101AC
+:10C48000010101010101010001020101010101019C
+:10C490000101010101010101010202020202020285
+:10C4A0000202020200000002020201020202020273
+:10C4B0000202020201010102020201020202020260
+:10C4C0000201020201010102020202020201010153
+:10C4D0000102010101010102010101010102010149
+:10C4E0000101010101010102020201020201010137
+:10C4F0000101010101010102020102010101010129
+:10C50000010101010101010101010101010101011B
+:10C51000010101010101010101010101010101010B
+:10C5200001010101010101010101010101010101FB
+:10C5300001010101010101010101010101010101EB
+:10C5400001010101010101010101010101010101DB
+:10C5500001010101010101010101010101010101CB
+:10C5600001010101010101010101010101010101BB
+:10C5700001010101010101010101010101010101AB
+:10C58000010101010101010001010101010101019C
+:10C590000101010101010101010202020202020284
+:10C5A0000202020200000002020202020202020271
+:10C5B0000202010101010101010201020202020263
+:10C5C0000201020201010101020101010101010157
+:10C5D0000102010101010102010101010102010148
+:10C5E0000101010101010102010201020201010137
+:10C5F0000101010101010102020102010101010128
+:10C60000010101010101010101010101010101011A
+:10C61000010101010101010101010101010101010A
+:10C6200001010101010101010101010101010101FA
+:10C6300001010101010101010101010101010101EA
+:10C6400001010101010101010101010101010101DA
+:10C6500001010101010101010101010101010101CA
+:10C6600001010101010101010101010101010101BA
+:10C6700001010101010101010101010101010101AA
+:10C68000010101010101010001010101010101019B
+:10C690000101010101010101010202020202020283
+:10C6A0000202020200000002020102020202020271
+:10C6B0000202010101010101010201020202020262
+:10C6C0000201020201010101020101010101010156
+:10C6D0000102010101010102010101010102010147
+:10C6E0000101010101010102010201020201010136
+:10C6F0000101010101010102010102010101010128
+:10C700000101010101010101010101010101010119
+:10C710000101010101010101010101010101010109
+:10C7200001010101010101010101010101010101F9
+:10C7300001010101010101010101010101010101E9
+:10C7400001010101010101010101010101010101D9
+:10C7500001010101010101010101010101010101C9
+:10C7600001010101010101010101010101010101B9
+:10C7700001010101010101010101010101010101A9
+:10C78000010101010101010001010101010101019A
+:10C790000101010101010101010202020202020282
+:10C7A0000202000200000001010102020202020274
+:10C7B0000101010101010101010201020202020263
+:10C7C0000201020101010101010101010101010157
+:10C7D0000102010101010101010101010102010147
+:10C7E0000101010101010102010201020201010135
+:10C7F0000101010101010102010102010101010127
+:10C800000101010101010101010101010101010118
+:10C810000101010101010101010101010101010108
+:10C8200001010101010101010101010101010101F8
+:10C8300001010101010101010101010101010101E8
+:10C8400001010101010101010101010101010101D8
+:10C8500001010101010101010101010101010101C8
+:10C8600001010101010101010101010101010101B8
+:10C8700001010101010101010101010101010101A8
+:10C880000101010101010100010101010101010199
+:10C890000101010101010101010202020202020281
+:10C8A0000200000200000001010102010102020178
+:10C8B0000101010101010101010201020202020262
+:10C8C0000201010101010101010101010101010157
+:10C8D0000102010101010101010101010102010146
+:10C8E0000101010101010102010101010101010137
+:10C8F0000101010101010101010102010101010127
+:10C900000101010101010101010101010101010117
+:10C910000101010101010101010101010101010107
+:10C9200001010101010101010101010101010101F7
+:10C9300001010101010101010101010101010101E7
+:10C9400001010101010101010101010101010101D7
+:10C9500001010101010101010101010101010101C7
+:10C9600001010101010101010101010101010101B7
+:10C9700001010101010101010101010101010101A7
+:10C980000101010101010100010101010101010198
+:10C990000101010101010101010202000000020088
+:10C9A000000000020000000101010101010101017C
+:10C9B0000101010101010101010101020202010164
+:10C9C0000101010101010101010101010101010157
+:10C9D0000102010101010101010101010101010146
+:10C9E0000101010101010102010101010101010136
+:10C9F0000101010101010101010102010101010126
+:10CA00000101010101010101010101010101010116
+:10CA10000101010101010101010101010101010106
+:10CA200001010101010101010101010101010101F6
+:10CA300001010101010101010101010101010101E6
+:10CA400001010101010101010101010101010101D6
+:10CA500001010101010101010101010101010101C6
+:10CA600001010101010101010101010101010101B6
+:10CA700001010101010101010101010101010101A6
+:10CA80000101010101010100010101010101010197
+:10CA90000101010101010101010202000000000089
+:10CAA000000000000000000101010101010101017D
+:10CAB0000101010101010101010101020102010164
+:10CAC0000101010101010101010101010101010156
+:10CAD0000101010101010101010101010101010146
+:10CAE0000101010101010102010101010101010135
+:10CAF0000101010101010101010102010101010125
+:10CB00000101010101010101010101010101010115
+:10CB10000101010101010101010101010101010105
+:10CB200001010101010101010101010101010101F5
+:10CB300001010101010101010101010101010101E5
+:10CB400001010101010101010101010101010101D5
+:10CB500001010101010101010101010101010101C5
+:10CB600001010101010101010101010101010101B5
+:10CB700001010101010101020201010101010201A2
+:10CB80000101010101010200010101010101010195
+:10CB9000010101010101010202000000000000008A
+:10CBA000000000000000010101010101010101017B
+:10CBB0000101010101010101010101020101010164
+:10CBC0000101010101010101010101010101010155
+:10CBD0000101010101010101010101010101010145
+:10CBE0000101010101010102010101010101010134
+:10CBF0000101010101010101010102010101010124
+:10CC00000101010101010101010101010101010114
+:10CC10000101010101010101010101010101010104
+:10CC200001010101010101010101010101010101F4
+:10CC300001010101010101010101010101010101E4
+:10CC400001010101010101010101010101010101D4
+:10CC500001010101010101010101010101010101C4
+:10CC600001010101010101010101010101010101B4
+:10CC7000010101010101010202010101010202029F
+:10CC80000101010101010202010101010101010192
+:10CC90000101010101010102020000000000000089
+:10CCA000000000000000010101010101010101017A
+:10CCB0000101010101010101010101020101010163
+:10CCC0000101010101010101010101010101010154
+:10CCD0000101010101010101010101010101010144
+:10CCE0000101010101010102010101010101010133
+:10CCF0000101010101010101010102010101010123
+:10CD00000101010101010101010101010101010113
+:10CD10000101010101010101010101010101010103
+:10CD200001010101010101010101010101010101F3
+:10CD300001010101010101010101010101010101E3
+:10CD400001010101010101010101010101010101D3
+:10CD500001010101010101010101010101010101C3
+:10CD600001010101010101010101010101010101B3
+:10CD7000010101010101010202010101010202029E
+:10CD80000101010101010202010101010101010191
+:10CD90000101010101010102020000000000000088
+:10CDA0000000000000000101010101010101010179
+:10CDB0000101010101010101010101020101010162
+:10CDC0000101010101010101010101010101010153
+:10CDD0000101010101010101010101010101010143
+:10CDE0000101010101010101010101010101010133
+:10CDF0000101010101010101010102010101010122
+:10CE00000101010101010101010101010101010112
+:10CE10000101010101010101010101010101010102
+:10CE200001010101010101010101010101010101F2
+:10CE300001010101010101010101010101010101E2
+:10CE400001010101010101010101010101010101D2
+:10CE500001010101010101010101010101010101C2
+:10CE600001010101010101010101010101010101B2
+:10CE7000010101010101010202010101020202029C
+:10CE8000020201020202020201010101010101018B
+:10CE90000101010101010102020000000000000087
+:10CEA0000000000000010101010101010101010177
+:10CEB0000101010101010101010101020101010161
+:10CEC0000101010101010101010101010101010152
+:10CED0000101010101010101010101010101010142
+:10CEE0000101010101010101010101010101010132
+:10CEF0000101010101010101010101010101010122
+:10CF00000101010101010101010101010101010111
+:10CF10000101010101010101010101010101010101
+:10CF200001010101010101010101010101010101F1
+:10CF300001010101010101010101010101010101E1
+:10CF400001010101010101010101010101010101D1
+:10CF500001010101010101010101010101010101C1
+:10CF600001010101010101020101010101010101B0
+:10CF70000101010101010202020101020202020299
+:10CF80000202020202020202010101010102020187
+:10CF90000201020202020202020000000000000080
+:10CFA0000000000000010101010101010101010176
+:10CFB0000101010101010101010101020101010160
+:10CFC0000101010101010101010101010101010151
+:10CFD0000101010101010101010101010101010141
+:10CFE0000101010101010101010101010101010131
+:10CFF0000101010101010101010101010101010121
+:10D000000101010101010101010101010101010110
+:10D010000101010101010101010101010101010100
+:10D0200001010101010101010101010101010101F0
+:10D0300001010101010101010101010101010101E0
+:10D0400001010101010101010101010101010101D0
+:10D0500001010101010101010101010101010101C0
+:10D0600001010101010101020101010101010101AF
+:10D070000101010101010202020102020202020297
+:10D080000202020202020202020101010102020284
+:10D09000020202020202020202000000000000007E
+:10D0A0000000000000010101010101010101010175
+:10D0B0000101010101010101010101010101010160
+:10D0C0000101010101010101010101010101010150
+:10D0D0000101010101010101010101010101010140
+:10D0E0000101010101010101010101010101010130
+:10D0F0000101010101010101010101010101010120
+:10D10000010101010101010101010101010101010F
+:10D1100001010101010101010101010101010101FF
+:10D1200001010101010101010101010101010101EF
+:10D1300001010101010101010101010101010101DF
+:10D1400001010101010101010101010101010101CF
+:10D1500001010101010101010101010101010101BF
+:10D1600001010101010101020201010101010101AD
+:10D170000101010102020202020202020202020293
+:10D180000202020202020202020101010102020283
+:10D19000020202020202020202000000000000007D
+:10D1A0000000000001010101010101010101010173
+:10D1B000010101010101010101010101010101015F
+:10D1C000010101010101010101010101010101014F
+:10D1D000010101010101010101010101010101013F
+:10D1E000010101010101010101010101010101012F
+:10D1F000010101010101010101010101010101011F
+:10D20000010101010101010101010101010101010E
+:10D2100001010101010101010101010101010101FE
+:10D2200001010101010101010101010101010101EE
+:10D2300001010101010101010101010101010101DE
+:10D2400001010101010101010101010101010101CE
+:10D2500001010101010101010101010101010101BE
+:10D2600001010101010101020201010201020202A8
+:10D27000020202020202020202020202020202028E
+:10D280000202020202020202020101010102020282
+:10D29000020202020202020202000000000000007C
+:10D2A0000000000001010101010101010101010172
+:10D2B000010101010101010101010101010101015E
+:10D2C000010101010101010101010101010101014E
+:10D2D000010101010101010101010101010101013E
+:10D2E000010101010101010101010101010101012E
+:10D2F000010101010101010101010101010101011E
+:10D30000010101010101010101010101010101010D
+:10D3100001010101010101010101010101010101FD
+:10D3200001010101010101010101010101010101ED
+:10D3300001010101010101010101010101010101DD
+:10D3400001010101010101010101010101010101CD
+:10D3500001010101010101010101010101010101BD
+:10D3600001010101010102020202020202020202A3
+:10D37000020202020202020202020202020202028D
+:10D380000202020202020202020101010102020281
+:10D39000020202020202020101000000000000007D
+:10D3A0000000000001010101010101010101010171
+:10D3B000010101010101010101010101010101015D
+:10D3C000010101010101010101010101010101014D
+:10D3D000010101010101010101010101010101013D
+:10D3E000010101010101010101010101010101012D
+:10D3F000010101010101010101010101010101011D
+:10D40000010101010101010101010101010101010C
+:10D4100001010101010101010101010101010101FC
+:10D4200001010101010101010101010101010101EC
+:10D4300001010101010101010101010101010101DC
+:10D4400001010101010101010101010101010101CC
+:10D4500001010101010102010101010101010101BB
+:10D4600001010101010202020202020202020202A1
+:10D47000020202020202020202020202020202028C
+:10D48000020202020202020202010102020202027E
+:10D49000020202020202020101000000000000007C
+:10D4A000000001000101010101010101010101016F
+:10D4B000010101010101010101010101010101015C
+:10D4C000010101010101010101010101010101014C
+:10D4D000010101010101010101010101010101013C
+:10D4E000010101010101010101010101010101012C
+:10D4F000010101010101010101010101010101011C
+:10D50000010101010101010101010101010101010B
+:10D5100001010101010101010101010101010101FB
+:10D5200001010101010101010101010101010101EB
+:10D5300001010101010101010101010101010101DB
+:10D5400001010101010101010101010101010101CB
+:10D5500001010101010202020101010101010101B8
+:10D56000020102010202020202020202020202029D
+:10D57000020202020202020202020202020202028B
+:10D58000020202020202020202010202020202027C
+:10D59000020202020202020101000000000000007B
+:10D5A000000101000101010101010101010101016D
+:10D5B000010101010101010101010101010101015B
+:10D5C000010101010101010101010101010101014B
+:10D5D000010101010101010101010101010101013B
+:10D5E000010101010101010101010101010101012B
+:10D5F000010101010101010101010101010101011B
+:10D60000010101010101010101010101010101010A
+:10D6100001010101010101010101010101010101FA
+:10D6200001010101010101010101010101010101EA
+:10D6300001010101010101010101010101010101DA
+:10D6400001010101010101020101010101010101C9
+:10D6500001010101020202020202020202020202AE
+:10D66000020202020202020202020202020202029A
+:10D67000020202020202020202020202020202028A
+:10D68000020202020202020202010202020202027B
+:10D690000202020202020201010000010101000176
+:10D6A000010101000101010101010101010101016B
+:10D6B000010101010101010101010101010101015A
+:10D6C000010101010101010101010101010101014A
+:10D6D000010101010101010101010101010101013A
+:10D6E000010101010101010101010101010101012A
+:10D6F000010101010101010101010101010101011A
+:10D700000101010101010101010101010101010109
+:10D7100001010101010101010101010101010101F9
+:10D7200001010101010102010101010101010101E8
+:10D7300001010101010100010101010101010101DA
+:10D7400001010101010102020202020202020202BF
+:10D7500002020201020202020202020202020202AA
+:10D760000202020202020202020202020202020299
+:10D770000202020202020202020202020202020289
+:10D780000202020202020202020202020202020279
+:10D790000202020202020201010000010101010174
+:10D7A0000101010101010101010101010101010169
+:10D7B0000101010101010101010101010101010159
+:10D7C0000101010101010101010101010101010149
+:10D7D0000101010101010101010101010101010139
+:10D7E0000101010101010101010101010101010129
+:10D7F0000101010101010101010101010101010119
+:10D800000101010101010101010101010101010108
+:10D8100001010101010101010101010101010101F8
+:10D8200001010101010202010101010101010101E6
+:10D8300001010101010100010101010101010101D9
+:10D8400001010101010202020202020202020202BD
+:10D8500002020202020202020202020202020202A8
+:10D860000202020202020202020202020202020298
+:10D870000202020202020202020202020202020288
+:10D880000202020202020202020202020202020278
+:10D890000202020202020201010101010101010171
+:10D8A0000101010101010101010101010101010168
+:10D8B0000101010101010101010101010101010158
+:10D8C0000101010101010101010101010101010148
+:10D8D0000101010101010101010101010101010138
+:10D8E0000101010101010001010101010101010129
+:10D8F0000101010101010101010101010101010118
+:10D900000101010101010101010101010101010107
+:10D9100001010101010101000001010101010101F9
+:10D9200001010100000202010101010101010101E7
+:10D9300001010101010102020101010101010102D4
+:10D9400001020202020202020202020202020202B8
+:10D9500002020202020202020202020202020202A7
+:10D960000202020202020202020202020202020297
+:10D970000202020202020202020202020202020287
+:10D980000202020202020202020202020202020277
+:10D990000202020202020201010101010101010170
+:10D9A0000101010101010101010101010101010167
+:10D9B0000101010101010101010101010101010157
+:10D9C0000101010101010101010101010101010147
+:10D9D0000101010101010101010101010101010137
+:10D9E0000101010101010001010101010101010128
+:10D9F0000101010101010101010101010101010117
+:10DA00000101010101010101010101010101010106
+:10DA100001010101010102020200000000000000FA
+:10DA200000000002020202010101010101010101E5
+:10DA300001010101010202020202020202020202CB
+:10DA400002020202020202020202020202020202B6
+:10DA500002020202020202020202020202020202A6
+:10DA60000202020202020202020202020202020296
+:10DA70000202020202020202020202020202020286
+:10DA80000202020202020202020202020202020276
+:10DA9000020202020202020101010101010101016F
+:10DAA0000101010101010101010101010101010166
+:10DAB0000101010101010101010101010101010156
+:10DAC0000101010101010101010101010101010146
+:10DAD0000101010101010101010101010101010136
+:10DAE0000101010101000201010101010101010126
+:10DAF0000101010101010001010101010101010117
+:10DB00000101010101010001010101010101010106
+:10DB100001010101010202020202020202020202EA
+:10DB200002020202020202020201010201010202D9
+:10DB300001010202020202020202020202020202C7
+:10DB400002020202020202020202020202020202B5
+:10DB500002020202020202020202020202020202A5
+:10DB60000202020202020202020202020202020295
+:10DB70000202020202020202020202020202020285
+:10DB80000202020202020202020202020202020275
+:10DB9000020202020202020101010101010101016E
+:10DBA0000101010101010101010101010101010165
+:10DBB0000101010101010101010101010101010155
+:10DBC0000101010101010101010101010101010145
+:10DBD0000101010101010101010000010101010038
+:10DBE0000000010001000201010101010101010128
+:10DBF0000101010101000201010101010101010115
+:10DC000001010101010100020200020202020202FE
+:10DC100002020202020202020202020202020202E4
+:10DC200002020202020202020202020202020202D4
+:10DC300002020202020202020202020202020202C4
+:10DC400002020202020202020202020202020202B4
+:10DC500002020202020202020202020202020202A4
+:10DC60000202020202020202020202020202020294
+:10DC70000202020202020202020202020202020284
+:10DC80000202020202020202020202020202020274
+:10DC9000020202020202020101010101010101016D
+:10DCA0000101010101010101010101010101010164
+:10DCB0000101010101010101010101010101010154
+:10DCC0000101010101010101010101010101010144
+:10DCD0000101010101010102020000000001000038
+:10DCE0000000000001020201010101010101010126
+:10DCF0000000000101020201010101010101010115
+:10DD000001010101010102020202020202020202F9
+:10DD100002020202020202020202020202020202E3
+:10DD200002020202020202020202020202020202D3
+:10DD300002020202020202020202020202020202C3
+:10DD400002020202020202020202020202020202B3
+:10DD500002020202020202020202020202020202A3
+:10DD60000202020202020202020202020202020293
+:10DD70000202020202020202020202020202020283
+:10DD80000202020202020202020202020202020273
+:10DD9000020202020202020101010101010101016C
+:10DDA0000101010101010101010101010101010163
+:10DDB0000101010101010101010101010101010153
+:10DDC0000101010101010101010101010101010143
+:10DDD000010101010101020202020202020102022A
+:10DDE0000202020202020201020102010102020217
+:10DDF000020202020202020101010101010101010C
+:10DE000001010101010202020202020202020202F7
+:10DE100002020202020202020202020202020202E2
+:10DE200002020202020202020202020202020202D2
+:10DE300002020202020202020202020202020202C2
+:10DE400002020202020202020202020202020202B2
+:10DE500002020202020202020202020202020202A2
+:10DE60000202020202020202020202020202020292
+:10DE70000202020202020202020202020202020282
+:10DE80000202020202020202020202020202020272
+:10DE9000020202020202020101010101010101016B
+:10DEA0000101010101010101010101010101010162
+:10DEB0000101010101010101010101010101010152
+:10DEC0000101010101010202010101010101010140
+:10DED0000101010101020202020202020202020227
+:10DEE0000202020202020202020202020202020212
+:10DEF0000202020202020202020201020202020203
+:10DF000002020202020202020202020202020202F1
+:10DF100002020202020202020202020202020202E1
+:10DF200002020202020202020202020202020202D1
+:10DF300002020202020202020202020202020202C1
+:10DF400002020202020202020202020202020202B1
+:10DF500002020202020202020202020202020202A1
+:10DF60000202020202020202020202020202020291
+:10DF70000202020202020202020202020202020281
+:10DF80000202020202020202020202020202020271
+:10DF9000020202020202020101010101010101016A
+:10DFA0000101010101010101010101010101010161
+:10DFB0000101010101010102010101010101010150
+:10DFC0000101010101020202020202020202020236
+:10DFD0000201020202020202020202020202020222
+:10DFE0000202020202020202020202020202020211
+:10DFF0000202020202020202020201020202020202
+:10E0000002020202020202020202020202020202F0
+:10E0100002020202020202020202020202020202E0
+:10E0200002020202020202020202020202020202D0
+:10E0300002020202020202020202020202020202C0
+:10E0400002020202020202020202020202020202B0
+:10E0500002020202020202020202020202020202A0
+:10E060000202020202020202020202020202020290
+:10E070000202020202020202020202020202020280
+:10E080000202020202020202020202020202020270
+:10E090000202020202020201010101010101010169
+:10E0A0000101010101010101010101010101010160
+:10E0B000010101010101010202010201010101014D
+:10E0C0000101010102020202020202020202020234
+:10E0D0000202020202020202020202020202020220
+:10E0E0000202020202020202020202020202020210
+:10E0F0000202020202020202020202020202020200
+:10E1000002020202020202020202020202020202EF
+:10E1100002020202020202020202020202020202DF
+:10E1200002020202020202020202020202020202CF
+:10E1300002020202020202020202020202020202BF
+:10E1400002020202020202020202020202020202AF
+:10E15000020202020202020202020202020202029F
+:10E16000020202020202020202020202020202028F
+:10E17000020202020202020202020202020202027F
+:10E18000020202020202020202020202020202026F
+:10E190000202020202020201010101010101010168
+:10E1A000010101010101010101010101010101015F
+:10E1B0000101010101010102020202010202020247
+:10E1C000020202020202020202020202020202022F
+:10E1D000020202020202020202020202020202021F
+:10E1E000020202020202020202020202020202020F
+:10E1F00002020202020202020202020202020202FF
+:10E2000002020202020202020202020202020202EE
+:10E2100002020202020202020202020202020202DE
+:10E2200002020202020202020202020202020202CE
+:10E2300002020202020202020202020202020202BE
+:10E2400002020202020202020202020202020202AE
+:10E25000020202020202020202020202020202029E
+:10E26000020202020202020202020202020202028E
+:10E27000020202020202020202020202020202027E
+:10E28000020202020202020202020202020202026E
+:10E290000202020202020201010101010101010167
+:10E2A000010101010101010101010101010101015E
+:10E2B0000101010101010102020202020202020245
+:10E2C000020202020202020202020202020202022E
+:10E2D000020202020202020202020202020202021E
+:10E2E000020202020202020202020202020202020E
+:10E2F00002020202020202020202020202020202FE
+:10E3000002020202020202020202020202020202ED
+:10E3100002020202020202020202020202020202DD
+:10E3200002020202020202020202020202020202CD
+:10E3300002020202020202020202020202020202BD
+:10E3400002020202020202020202020202020202AD
+:10E35000020202020202020202020202020202029D
+:10E36000020202020202020202020202020202028D
+:10E37000020202020202020202020202020202027D
+:10E38000020202020202020202020202020202026D
+:10E390000202020202020201010101010101010166
+:10E3A000010101010101010101010101010101015D
+:10E3B0000101010101010102020202020202020244
+:10E3C000020202020202020202020202020202022D
+:10E3D000020202020202020202020202020202021D
+:10E3E000020202020202020202020202020202020D
+:10E3F00002020202020202020202020202020202FD
+:10E4000002020202020202020202020202020202EC
+:10E4100002020202020202020202020202020202DC
+:10E4200002020202020202020202020202020202CC
+:10E4300002020202020202020202020202020202BC
+:10E4400002020202020202020202020202020202AC
+:10E45000020202020202020202020202020202029C
+:10E46000020202020202020202020202020202028C
+:10E47000020202020202020202020202020202027C
+:10E48000020202020202020202020202020202026C
+:10E490000202020202020201010101010101010165
+:10E4A000010101010101010101010101010101015C
+:10E4B0000101010101010102020202020202020243
+:10E4C000020202020202020202020202020202022C
+:10E4D000020202020202020202020202020202021C
+:10E4E000020202020202020202020202020202020C
+:10E4F00002020202020202020202020202020202FC
+:10E5000002020202020202020202020202020202EB
+:10E5100002020202020202020202020202020202DB
+:10E5200002020202020202020202020202020202CB
+:10E5300002020202020202020202020202020202BB
+:10E5400002020202020202020202020202020202AB
+:10E55000020202020202020202020202020202029B
+:10E56000020202020202020202020202020202028B
+:10E57000020202020202020202020202020202027B
+:10E58000020202020202020202020202020202026B
+:10E590000202020202020201010101010101010164
+:10E5A000010101010101010101010101010101015B
+:10E5B0000101010101010102020202020202020242
+:10E5C000020202020202020202020202020202022B
+:10E5D000020202020202020202020202020202021B
+:10E5E000020202020202020202020202020202020B
+:10E5F00002020202020202020202020202020202FB
+:10E6000002020202020202020202020202020202EA
+:10E6100002020202020202020202020202020202DA
+:10E6200002020202020202020202020202020202CA
+:10E6300002020202020202020202020202020202BA
+:10E6400002020202020202020202020202020202AA
+:10E65000020202020202020202020202020202029A
+:10E66000020202020202020202020202020202028A
+:10E67000020202020202020202020202020202027A
+:10E68000020202020202020202020202020202026A
+:10E690000202020202020201010101010101010163
+:10E6A000010101010101010101010101010101015A
+:10E6B0000101010101010202020202020202020240
+:10E6C000020202020202020202020202020202022A
+:10E6D000020202020202020202020202020202021A
+:10E6E000020202020202020202020202020202020A
+:10E6F00002020202020202020202020202020202FA
+:10E7000002020202020202020202020202020202E9
+:10E7100002020202020202020202020202020202D9
+:10E7200002020202020202020202020202020202C9
+:10E7300002020202020202020202020202020202B9
+:10E7400002020202020202020202020202020202A9
+:10E750000202020202020202020202020202020299
+:10E760000202020202020202020202020202020289
+:10E770000202020202020202020202020202020279
+:10E780000202020202020202020202020202020269
+:10E790000202020202020201010101010101010162
+:10E7A0000101010101010102020101010101010157
+:10E7B000010101010101020202020202020202023F
+:10E7C000020202020202020000000000000000003B
+:10E7D0000000000000000002020202020202020227
+:10E7E0000202020202020202020202020202020209
+:10E7F00002020202020202020202020202020202F9
+:10E8000002020202020202020202020202020202E8
+:10E8100002020202020202020202020202020202D8
+:10E8200002020202020202020202020202020202C8
+:10E8300002020202020202020202020202020202B8
+:10E8400002020202020202020202020202020202A8
+:10E850000202020202020202020202020202020298
+:10E860000202020202020202020202020202020288
+:10E870000202020202020202020202020202020278
+:10E880000202020202020202020202020202020268
+:10E890000202020202020201010101010101010161
+:10E8A000010101010101010202020202020202024F
+:10E8B0000202020202020202020202020202020238
+:10E8C000020202020202020000000000000000003A
+:10E8D0000000000000000002020202020202020226
+:10E8E000020202020202020000000000000000001A
+:10E8F0000000000000000002020202020202020206
+:10E9000002020202020202020202020202020202E7
+:10E9100002020202020202000000000000000000E9
+:10E9200000000000000000020202020202020202D5
+:10E9300002020202020202000000000000000000C9
+:10E9400000000000000000020202020202020202B5
+:10E950000202020202020202020202020202020297
+:10E960000202020202020202020202020202020287
+:10E970000202020202020202020202020202020277
+:10E980000202020202020202020202020202020267
+:10E990000202020202020201010101010101010160
+:10E9A0000101010101010101010101010101010157
+:10E9B0000101010101010100000000000000000050
+:10E9C000000000000000000101010101010101013E
+:10E9D0000101010101010100000000000000000030
+:10E9E0000000000000000000000000000000000027
+:10E9F0000000000000000002020202020202020205
+:10EA000002020202020202010101010101010101EF
+:10EA100001010101010101000000000000000000EF
+:10EA200000000000000000020202020202020202D4
+:10EA300002020202020202000000000000000000C8
+:10EA400000000000000000020202020202020202B4
+:10EA500002020202020202000000000000000000A8
+:10EA600000000000000000000000000000000000A6
+:10EA70000000000000000002020202020202020284
+:10EA80000202020202020202000000000000000076
+:10EA9000000000000000000101010101010101016D
+:10EAA0000101010101010102010101010101010155
+:10EAB0000101010101010201010101010101010145
+:10EAC0000101010101010101010101010101010136
+:10EAD0000101010101010101010101010101010126
+:10EAE0000101010101010101010101010101010116
+:10EAF0000101010101010101010101010101010106
+:10EB000001010101010101010101010101010101F5
+:10EB100001010101010101010101010101010101E5
+:10EB200001010101010101010101010101010101D5
+:10EB300001010101010101010101010101010101C5
+:10EB400001010101010101010101010101010101B5
+:10EB500001010101010101010101010101010101A5
+:10EB60000101010101010101010101010101010195
+:10EB70000101010101010101010101010101010185
+:10EB8000010101010101010200000000000000007C
+:10EB9000000000000000000101010101010101016C
+:10EBA000010101010101010000000000000000005E
+:10EBB000000000000000000101010101010101014C
+:10EBC0000101010101010101010101010101010135
+:10EBD0000101010101010101010101010101010125
+:10EBE0000101010101010101010101010101010115
+:10EBF0000101010101010101010101010101010105
+:10EC000001010101010101010101010101010101F4
+:10EC100001010101010101010101010101010101E4
+:10EC200001010101010101010101010101010101D4
+:10EC300001010101010101010101010101010101C4
+:10EC400001010101010101010101010101010101B4
+:10EC500001010101010101010101010101010101A4
+:10EC60000101010101010101010101010101010194
+:10EC70000101010101010101010101010101010184
+:10EC8000010101010101010200000000000000007B
+:10EC9000000000000000000101010101010101016B
+:10ECA000010101010101010000000000000000005D
+:10ECB000000000000000000101010101010101014B
+:10ECC0000101010101010101010101010101010134
+:10ECD0000101010101010101010101010101010124
+:10ECE0000101010101010101010101010101010114
+:10ECF0000101010101010101010101010101010104
+:10ED000001010101010101010101010101010101F3
+:10ED100001010101010101010101010101010101E3
+:10ED200001010101010101010101010101010101D3
+:10ED300001010101010101010101010101010101C3
+:10ED400001010101010101010101010101010101B3
+:10ED500001010101010101010101010101010101A3
+:10ED60000101010101010101010101010101010193
+:10ED70000101010101010101010101010101010183
+:10ED8000010101010101010200000000000000007A
+:10ED9000000000000000000101010101010101016A
+:10EDA000010101010101010000000000000000005C
+:10EDB000000000000000000101010101010101014A
+:10EDC000010101010101010000000000000000003C
+:10EDD000000000000000000101010101010101012A
+:10EDE0000101010101010101010101010101010113
+:10EDF0000101010101010101010101010101010103
+:10EE000001010101010101000000000000000000FB
+:10EE100000000000000000010101010101010101E9
+:10EE200001010101010101010101010101010101D2
+:10EE300001010101010101000000000000000000CB
+:10EE400000000000000000010101010101010101B9
+:10EE500001010101010101000000000000000000AB
+:10EE600000000000000000000000000000000000A2
+:10EE70000000000000000000000000000000000092
+:10EE80000000000000000002000000000000000080
+:10EE90000000000000000001010101010101010169
+:10EEA000010101010101010000000000000000005B
+:10EEB0000000000000000001010101010101010149
+:10EEC000010101010101010000000000000000003B
+:10EED0000000000000000001010101010101010129
+:10EEE000010101010101010000000000000000001B
+:10EEF0000000000000000000000000000000000012
+:10EF00000000000000000000000000000000000001
+:10EF100000000000000000000000000000000000F1
+:10EF200000000000000000000000000000000000E1
+:10EF300000000000000000000000000000000000D1
+:10EF400000000000000000000000000000000000C1
+:10EF500000000000000000000000000000000000B1
+:10EF600000000000000000000000000000000000A1
+:10EF70000000000000000000000000000000000091
+:10EF8000000000000000000200000000000000007F
+:10EF90000000000000000001010101010101010168
+:10EFA000010101010101010000000000000000005A
+:10EFB0000000000000000001010101010101010148
+:10EFC000010101010101010000000000000000003A
+:10EFD0000000000000000001010101010101010128
+:10EFE000010101010101010000000000000000001A
+:10EFF0000000000000000000000000000000000011
+:10F000000000000000000000000000000000000000
+:10F0100000000000000000000000000000000000F0
+:10F0200000000000000000000000000000000000E0
+:10F0300000000000000000000000000000000000D0
+:10F0400000000000000000000000000000000000C0
+:10F0500000000000000000000000000000000000B0
+:10F0600000000000000000000000000000000000A0
+:10F070000000000000000000000000000000000090
+:10F08000000000000000000200000000000000007E
+:10F090000000000000000000000000000000000070
+:10F0A0000000000000000000000000000000000060
+:10F0B0000000000000000000000000000000000050
+:10F0C0000000000000000000000000000000000040
+:10F0D0000000000000000000000000000000000030
+:10F0E0000000000000000000000000000000000020
+:10F0F0000000000000000000000000000000000010
+:10F1000000000000000000000000000000000000FF
+:10F1100000000000000000000000000000000000EF
+:10F1200000000000000000000000000000000000DF
+:10F1300000000000000000000000000000000000CF
+:10F1400000000000000000000000000000000000BF
+:10F1500000000000000000000000000000000000AF
+:10F16000000000000000000000000000000000009F
+:10F17000000000000000000000000000000000008F
+:10F18000000000000000000000000000000000007F
+:10F19000000000000000004400000000000000002B
+:10F1A000000000000000000000000000000000005F
+:10F1B000000000000000000000000000000000004F
+:10F1C0000000000000000000000002020202000037
+:10F1D0000002000000000000000000020000020227
+:10F1E0000200000002000000000200000000000019
+:10F1F000000000010000000000000000000000000E
+:10F2000000000002000000000000000000000000FC
+:10F2100000000000000000000000000000000000EE
+:10F2200000000000000000000000000000000000DE
+:10F2300000000000000000000000000000000000CE
+:10F2400000000000000000000000000000000000BE
+:10F2500000020201000000000000000000000000A9
+:10F26000000000000000000000000000000000009E
+:10F27000000000000000000000000000000000008E
+:10F28000000000000000000000000000000000007E
+:10F29000000000000000000000000000000000026C
+:10F2A000020000000000000000000000000000005C
+:10F2B000000000000000000000000000000000024C
+:10F2C0000200000000000000020002020202000032
+:10F2D0000002000200000002000200020000020220
+:10F2E0000200020202000000000200000000000212
+:10F2F0000200000200000000020000000000000107
+:10F3000002000002000100000000000000000000F8
+:10F3100000000000000000000000000000000000ED
+:10F3200000000000000000000000000000000000DD
+:10F3300000000000000000000000000000000000CD
+:10F3400000000000000000000002000000000202B7
+:10F35000020202020202000000000000000202009D
+:10F36000000000000000000000000000000002009B
+:10F37000000000000000000000000000000000028B
+:10F380000200000002020000020202020202020069
+:10F390000200000000000000000000000000000269
+:10F3A000020000000000000000000000000000005B
+:10F3B000010000000000000000000000000000024A
+:10F3C000020100000001020002000202020200002D
+:10F3D000010200020000000200020002000002021E
+:10F3E000020002020202000000020000020200020B
+:10F3F0000201010200000000020000000000000104
+:10F4000002010202000100020000000000000002F0
+:10F4100000000000000000000000000000020000EA
+:10F4200002020000000100000000000000000000D7
+:10F4300000000000000000000000000000000000CC
+:10F4400000000000000000000002000000000202B6
+:10F45000020202020202020000000000000202009A
+:10F460000000020000000202000000000000020094
+:10F47000000000000000000000000000000000028A
+:10F480000202020002020202020202020202020060
+:10F490000200000000000000000000000000000268
+:10F4A0000202000000000000000000000000000157
+:10F4B0000100000000000000000000000000000249
+:10F4C000020200000001020002000202020200012A
+:10F4D000020201020000000200020002000002021B
+:10F4E0000202020202020202000200000202000204
+:10F4F0000202020200000000020000000000000200
+:10F5000002020202010200020200000002000002E8
+:10F5100002010101000000000000000000020002E2
+:10F5200002020100000100000000000002000002D1
+:10F5300002000000000200000000000000000200C5
+:10F5400002000000010200000202000000000202AE
+:10F550000202020202020200000200000002020097
+:10F560000200020000000202000000000000020091
+:10F570000000000000000000000000000000000289
+:10F58000020202000202020202020202020202005F
+:10F590000200000000000000000000000000000267
+:10F5A0000202000000000000000000000000000255
+:10F5B0000100000000000000000000000000000248
+:10F5C0000202000000010200020002020202000228
+:10F5D0000202020200000002000200020002020217
+:10F5E0000202020202020202000202000202000201
+:10F5F00002020202000000000200000000000002FF
+:10F6000002020202020202020200000002000002E4
+:10F6100002020202000000000000000002020002DC
+:10F6200002020200010100000000000002000202CC
+:10F6300002020202000200000000000000000200BE
+:10F6400002000000010202020202000000000202A9
+:10F650000202020202020202000200000002020094
+:10F660000200020000000202000000000000020090
+:10F67000000202020000020200000000000000027E
+:10F68000020202020202020202020202020202005C
+:10F690000200000000000000000000000000000266
+:10F6A0000202020000000000000000000000000252
+:10F6B0000200000000000000000000000000000246
+:10F6C0000202000000020200020002020202000226
+:10F6D0000202020200000002000200020002020216
+:10F6E0000202020202020202000202000202000200
+:10F6F00002020202020200000200000000000002FA
+:10F7000002020202020202020200000002000202E1
+:10F7100002020202000000000000000002020002DB
+:10F7200002020202010200000000000002000202C8
+:10F7300002020202020200000000000000000202B9
+:10F7400002000000020202020202000002000202A5
+:10F75000020202020202020202020000020202008F
+:10F76000020002000000020200000000000002028D
+:10F77000020202020202020202020202020201026A
+:10F78000020202020202020202020202020201005C
+:10F790000200000000000000000000000000000265
+:10F7A0000202020000000000000000000000000251
+:10F7B0000200000000000000000000000000020243
+:10F7C0000202000000020200020002020202000225
+:10F7D0000202020200000202000200020002020213
+:10F7E00002020202020202020002020202020002FD
+:10F7F00002020202020200020200000000000002F7
+:10F8000002020202020202020200000002000202E0
+:10F8100002020202020200000200000002020002D4
+:10F8200002020202020200000000000002000202C6
+:10F8300002020202020202000000000000000202B6
+:10F8400002000000020202020202000002020202A2
+:10F85000020202020202020202020000020202008E
+:10F86000020002020000020200000000000002028A
+:10F870000202020202020202020202020202010269
+:10F88000020202020202020202020202020201005B
+:10F890000200000000000000000000000000000264
+:10F8A000020202020000000000000000000000024E
+:10F8B0000202000000000000000000000000020240
+:10F8C0000202000000020200020002020202000224
+:10F8D0000202020200000202000200020002020212
+:10F8E00002020202020202020002020202020002FC
+:10F8F00002020202020200020202000000020002F2
+:10F9000002020202020202020200000002000202DF
+:10F9100002020202020200020200000002020002D1
+:10F9200002020202020200000000000002000202C5
+:10F9300002020202020202000000000002000202B3
+:10F94000020000000202020202020002020202029F
+:10F95000020202020202020202020200020202008B
+:10F96000020002020201020202020202020201027B
+:10F970000202020202020202020202020202010268
+:10F98000020202020202020202020202020201005A
+:10F99000020200000200000000000000000000025F
+:10F9A000020202020000000000000000000000024D
+:10F9B000020200000000000000000000000002023F
+:10F9C0000202010000020200020002020202000222
+:10F9D0000202020200000202000200020002020211
+:10F9E00002020202020202020002020202020002FB
+:10F9F00002020202020202020202000000020002EF
+:10FA000002020202020202020200000002000202DE
+:10FA100002020202020200020200000002020002D0
+:10FA200002020202020200000002000002000202C2
+:10FA300002020202020202020000000002000202B0
+:10FA4000020201010202020202020002020202029A
+:10FA5000020202020202020202020200020202008A
+:10FA60000202020202020202020202020202010277
+:10FA70000202020202020202020202020202010267
+:10FA8000020202020202020202020202010101005B
+:10FA9000020200000200000000000000000000025E
+:10FAA000020202020000000000000000000000024C
+:10FAB000020200000000000000000000000002023E
+:10FAC0000202010000020200020002020202000221
+:10FAD0000202020200000202000200020002020210
+:10FAE00002020202020202020002020202020002FA
+:10FAF00002020202020202020202000000020002EE
+:10FB000002020202020202020200000002020202DB
+:10FB100002020202020202020200000002020002CD
+:10FB200002020202020202020002000002000202BD
+:10FB300002020202020202020000020002000202AD
+:10FB40000202020202020202020202020202020295
+:10FB5000020202020202020202020200020201008A
+:10FB60000202020202020202020202020202010276
+:10FB70000202020202020202020202020101010268
+:10FB8000020202020202020202020202010101005A
+:10FB90000202020202000000000000000000010258
+:10FBA000020202020000000000000000000000024B
+:10FBB000020200000000000000000000000002023D
+:10FBC000020202000002020002000202020200021F
+:10FBD000020202020000020200020002000202020F
+:10FBE00002020202020202020002020202020002F9
+:10FBF00002020202020202020202000000020002ED
+:10FC000002020202020202020200000002020202DA
+:10FC100002020202020202020202000002020002CA
+:10FC200002020202020202020202020002000202B8
+:10FC300002020202020202020200020002000202AA
+:10FC40000202020202020202020202020202010295
+:10FC50000202020202020202020202000202010089
+:10FC60000202020202020202020202020202010275
+:10FC70000202020202020202020202020101010267
+:10FC8000020202020202020202020201010101005A
+:10FC90000202020202000000000000000000010257
+:10FCA000020202020000000000000000000000024A
+:10FCB000020200000000000000000000000002023C
+:10FCC000020202000002020002000202020200021E
+:10FCD000020202020000020200020002000202020E
+:10FCE00002020202020202020002020202020002F8
+:10FCF00002020202020202020202020000020002EA
+:10FD000002020202020202020202000002020202D7
+:10FD100002020202020202020202000002020002C9
+:10FD200002020202020202020202020002000202B7
+:10FD300002020202020202020200020002020102A8
+:10FD40000202020202020202020202020202010294
+:10FD50000202020202020202020202020201010087
+:10FD60000202020202020202020202020202010274
+:10FD70000202020202020202020202020101010266
+:10FD80000202020202020202020202010101010059
+:10FD90000202020202020000000000000000010254
+:10FDA0000202020200000000000000000000000249
+:10FDB000020200000000000000000000000002023B
+:10FDC000020202000002020002000202020200021D
+:10FDD000020202020000020200020002000202020D
+:10FDE00002020202020202020002020202020202F5
+:10FDF00002020202020202020202020200020002E7
+:10FE000002020202020202020202000202020102D5
+:10FE100002020202020202020202020002020002C6
+:10FE200002020202020202020202020202000202B4
+:10FE300002020202020202020202020002020102A5
+:10FE40000202020202020202020202020202010293
+:10FE50000202020202020202020202020201010086
+:10FE60000202020202020202020202020202010273
+:10FE70000202020202020202020202010101010266
+:10FE80000202020202020202020201010101010059
+:10FE90000202020202020002000000000000010251
+:10FEA0000202020200000000000000000000000248
+:10FEB0000202000200000000000000000000020238
+:10FEC000020202000002020002000202020200021C
+:10FED000020202020000020200020002000201020D
+:10FEE00002020202020202020002020202020202F4
+:10FEF00002020202020202020202020200020002E6
+:10FF000002020202020202020202020202020102D2
+:10FF100002020202020202020202020002020002C5
+:10FF200002020202020202020202020202000102B4
+:10FF300002020202020202020202020202020102A2
+:10FF40000202020202020202020202020202010292
+:10FF50000202020202020202020202020201010085
+:10FF60000202020202020202020202020201010273
+:10FF70000202020202020202020201010101010266
+:10FF80000202020202020202020101010101010059
+:10FF90000202020202020002000000000000010250
+:10FFA0000202020200000000000000000000000247
+:10FFB0000202000200000000000000000002020235
+:10FFC000020202000002020002000202020200021B
+:10FFD000020202020000020200020002000201020C
+:10FFE00002020202020202020002020202020202F3
+:10FFF00002020202020202020202020200020202E3
+:02000002C0003C
+:1000000002020202020202020202020201020102D2
+:1000100002020202020202020202020202020202C0
+:1000200002020202020202020202020202020102B1
+:1000300002020202020202020202020202020102A1
+:100040000202020202020202020202020202010291
+:100050000202020202020202020202020201010084
+:100060000202020202020202020202020101010273
+:100070000202020202020202020201010101010265
+:10008000020202020201010202010101010101005A
+:10009000020202020202000202020000000001024B
+:1000A0000202020200000000000000000000000246
+:1000B0000202020200000000000000000002020232
+:1000C0000202020000020200020002020202020218
+:1000D000020202020000020200020002000201020B
+:1000E00002020202020202020002020202020202F2
+:1000F00002020202020202020202020200020202E2
+:1001000002020202020202020202020201020102D1
+:1001100002020202020202020202020202010202C0
+:1001200002020202020202020202020202020102B0
+:1001300002020202020202020202020202020102A0
+:100140000202020202020202020202020201010291
+:100150000202020202020202020202020101010084
+:100160000202020202020202020202020101010272
+:100170000202020202020101010101010101010268
+:10018000020202020201010101010101010101005B
+:10019000020202020202000202020000000001024A
+:1001A0000202020200000000000000000000000245
+:1001B000020202020000000000000000020202022F
+:1001C0000202020000020200020002020102020218
+:1001D000020202020000020200020002000201020A
+:1001E00002020202020202020002020202010202F2
+:1001F00002020202020202020202020200020202E1
+:1002000002020202020202020202020201010102D1
+:1002100002020202020202020202020202010202BF
+:1002200002020202020202020202020201020102B0
+:10023000020202020202020202020202020201029F
+:100240000202020202020202020202020101010291
+:100250000202020202020202020202020101010083
+:100260000202020202020202020202020101010172
+:100270000102020202020101010101010101010268
+:10028000020202020201010101010101010101005A
+:100290000202020202020202020200000002010245
+:1002A0000202020200000000000000000000000244
+:1002B000020202020000020000000000020202022C
+:1002C0000202020000020200020002020101020218
+:1002D000020202020000020200020002000101020A
+:1002E00002020202020202020002020201010202F2
+:1002F00002020202020202020202020202020202DE
+:1003000002020202020202020202020201010102D0
+:1003100002020202020202020202020201010202BF
+:1003200002020202020202020202020201020102AF
+:10033000020202020202020202020202010201029F
+:100340000202020202020202020202020101010290
+:100350000202020202020202020202020101010082
+:100360000202020202020202020202010101010172
+:100370000102020102010101010101010101010269
+:100380000202020202010101010101010101010059
+:100390000202020202020202020202000002010242
+:1003A0000202020200000000000000000000000243
+:1003B000020202020200020000000000020201022A
+:1003C0000202020000020200020002020101020217
+:1003D0000202020200000202000200020001010209
+:1003E00002020202020202020202020201010102F0
+:1003F00002020202020202020202020202010202DE
+:1004000002020202020202020202020201010102CF
+:1004100002020202020202020202020201010102BF
+:1004200002020202020202020202020201020102AE
+:10043000020202020202020202020202010101029F
+:10044000020202020202020202020202010101028F
+:100450000202020202020202020202020101010081
+:100460000202020202020101020201010101010174
+:10047000010201010101010101010101010101026A
+:10048000010202020101010101010101010101005A
+:100490000202020202020202020202000002010241
+:1004A0000202020200000000000000000000000242
+:1004B0000202020202000200000000000202010229
+:1004C0000202020000020200020002010101020217
+:1004D0000202020200000202000200010001010209
+:1004E00002020202020202020202020201010102EF
+:1004F00002020202020202020202020202010102DE
+:1005000002020202020202020202020201010102CE
+:1005100002020202020202020202020201010102BE
+:1005200002020202020202020202020201020102AD
+:10053000020202020202020202020202010101029E
+:100540000202020202020202020102010101010290
+:10055000020202020202020202010202010101027F
+:100560000202020202020101020101010101010174
+:10057000010101010101010101010101010101016B
+:10058000010201020101010101010101010101005A
+:10059000020202020202020202020202000201023E
+:1005A0000201010102020000020202020000000238
+:1005B0000202020202000200000000000202010228
+:1005C0000202020000020200020001010101020217
+:1005D0000202020200000202000200010201010206
+:1005E00002020202020202020202020201010102EE
+:1005F00002020202020202020202020202010102DD
+:1006000002020202020202010102020201010102CF
+:1006100002020202020202020202020201010102BD
+:1006200002020202020202020202020201020102AC
+:10063000020202020202020202020202010101029D
+:10064000020202020202020202010201010101028F
+:100650000202020202010102020101020101010281
+:100660000202020202020101010101010101010174
+:10067000010101010101010101010101010101016A
+:100680000102010201010101010101010101010158
+:10069000020202020202020202020202000101023E
+:1006A0000201010102020202020202020000000233
+:1006B0000202020202000200000000000202010227
+:1006C0000202020000020200020001010101020216
+:1006D0000202020200010202000200010201010204
+:1006E00002020202020202020201010101010102F0
+:1006F00002020202020202020202020202010102DC
+:1007000002020201020201010102020201010102D0
+:1007100002020202020202020202020201010102BC
+:1007200002020202020202020202020201010102AC
+:10073000020202020202020202020202010101029C
+:10074000020202020202020201010201010101028F
+:100750000202020201010101010101010101010284
+:100760000102010202020101010101010101010175
+:100770000101010101010101010101010101010169
+:100780000101010101010101010101010101010159
+:10079000020202020202020202020202000101023D
+:1007A0000201010102020202020202010000000233
+:1007B0000202020202000200000000000202010226
+:1007C0000202020000020200020001010101010216
+:1007D0000202020200020202000100010201010203
+:1007E00002020202020202020201010101010102EF
+:1007F00002020202020202020102020202010102DC
+:1008000002020201020201010102020101010102D0
+:1008100002020202020202020202020201010102BB
+:1008200002020202020202020202020201010102AB
+:10083000020202020201020202020102010101029D
+:100840000202020202010101010101010101010292
+:100850000202010101010101010101010101010285
+:100860000102010202020101010101010101010174
+:100870000101010101010101010101010101010168
+:100880000101010101010101010101010101010158
+:10089000020202020202020202020202020101023A
+:1008A0000201010102020202020201010200000231
+:1008B0000202020202000200000000000202010225
+:1008C0000202020000020100010001010101010217
+:1008D0000202020200020201000100010201010203
+:1008E00002020202010202020201010101010102EF
+:1008F00002020202020202020102020202010102DB
+:1009000002020101020101010102020101010102D1
+:1009100002020202020202020202020201010102BA
+:1009200002020202020202020201010101010102AD
+:10093000020202020201010202020101010101029E
+:100940000202020202010101010101010101010291
+:100950000101010101010101010101010101010286
+:100960000102010101010101010101010101010176
+:100970000101010101010101010101010101010167
+:100980000101010101010101010101010101010157
+:100990000202020202020202020202020201010239
+:1009A0000201010102020202020101010200000231
+:1009B0000202020202000200000000000202010224
+:1009C0000202020000020100010001010101010216
+:1009D0000202020200020201000100010201010202
+:1009E00002020201010101010201010101010102F2
+:1009F00002020202020202020101020102010102DC
+:100A000001020101010101010101010101010102D4
+:100A100002020202020202020102020201010102BA
+:100A200002020202020202020201010101010102AC
+:100A300002020201010101010202010101010102A0
+:100A40000202020202010101010101010101010191
+:100A50000101010101010101010101010101010285
+:100A60000102010101010101010101010101010175
+:100A70000101010101010101010101010101010166
+:100A80000101010101010101010101010101010156
+:100A90000202020202020202020202020201010238
+:100AA0000201010102020202010101010101000231
+:100AB0000202020202020200000000000201010222
+:100AC0000202020000020100010001010101010215
+:100AD0000202020100020201000100010201010202
+:100AE00001020101010101010201010101010102F3
+:100AF00002020201020102010101010101010102E0
+:100B000001020101010101010101010101010102D3
+:100B100002020202020102010101010101010102BE
+:100B200002020202020202020201010101010102AB
+:100B300002020101010101010101010101010102A2
+:100B40000202020202010101010101010101010190
+:100B50000101010101010101010101010101010284
+:100B60000102010101010101010101010101010174
+:100B70000101010101010101010101010101010165
+:100B80000101010101010101010101010101010155
+:100B90000102020202020202020202020201010139
+:100BA0000202020202010101010101010101000230
+:100BB000020202020202020000020000020101021F
+:100BC0000202020000010100010001010101010215
+:100BD0000201020102020101000100010201010102
+:100BE00001020101010101010201010101010102F2
+:100BF00001020201010101010101010101010102E2
+:100C000001010101010101010101010101010102D3
+:100C100001020201010101010101010101010102C1
+:100C200001010201020101010101010101010101B2
+:100C300001010101010101010101010101010102A3
+:100C40000102020201010101010101010101010191
+:100C50000101010101010101010101010101010283
+:100C60000101010101010101010101010101010174
+:100C70000101010101010101010101010101010164
+:100C80000101010101010101010101010101010253
+:100C90000102020201020202020202020201010139
+:100CA0000102020201010101010101020101000230
+:100CB000020202020202020000020000010101021F
+:100CC0000202020000010100010001010101010214
+:100CD0000201020102020101000100010101010102
+:100CE00001010101010101010201010101010101F3
+:100CF00001020101010101010101010101010101E3
+:100D000001010101010101010101010101010101D3
+:100D100001020101010101010101010101010101C2
+:100D200001010101010101010101010101010101B3
+:100D300001010101010101010101010101010102A2
+:100D40000102020201010101010101010101010190
+:100D50000101010101010101010101010101010282
+:100D60000101010101010101010101010101010173
+:100D70000101010101010101010101010101010163
+:100D80000101010101010101010101010101010252
+:100D90000102020201020202020102020101020139
+:100DA000010202020101010101010202010100022E
+:100DB000020202020202020000020200010101021C
+:100DC0000102020000010100010001010101010214
+:100DD0000101010102020101020100010101010101
+:100DE00001010101010101010201010101010101F2
+:100DF00001010101010101010101010101010101E3
+:100E000001010101010101010101010101010101D2
+:100E100001010101010101010101010101010101C2
+:100E200001010101010101010101010101010101B2
+:100E300001010101010101010101010101010101A2
+:100E40000102020101010101010101010101010190
+:100E50000101010101010101010101010101010281
+:100E60000101010101010101010101010101010172
+:100E70000101010101010101010101010101010162
+:100E80000101010101010101010101010101010251
+:100E9000010202020101020102010101010102013C
+:100EA000010202020101010101020202020200022A
+:100EB000020202020202020000020200010101011C
+:100EC0000102020000010100010001010101010213
+:100ED0000101010102020101020100010101010100
+:100EE00001010101010101010201010101010101F1
+:100EF00001010101010101010101010101010101E2
+:100F000001010101010101010101010101010101D1
+:100F100001010101010101010101010101010101C1
+:100F200001010101010101010101010101010101B1
+:100F300001010101010101010101010101010101A1
+:100F40000101010101010101010101010101010191
+:100F50000101010101010101010101010101010280
+:100F60000101010101010101010101010101010171
+:100F70000101010101010101010101010101010161
+:100F80000101010101010101010101010101010250
+:100F9000010202010101020101010101010102013D
+:100FA0000102020201010101020202020202000228
+:100FB0000202020202020200020202000101010119
+:100FC0000101020000010100010001010101010114
+:100FD00001010101020201010201000101010101FF
+:100FE00001010101010101010201010101010101F0
+:100FF00001010101010101010101010101010101E1
+:1010000001010101010101010101010101010101D0
+:1010100001010101010101010101010101010101C0
+:1010200001010101010101010101010101010101B0
+:1010300001010101010101010101010101010101A0
+:101040000101010101010101010101010101010190
+:101050000101010101010101010101010101010180
+:101060000101010101010101010101010101010170
+:101070000101010101010101010101010101010160
+:10108000010101010101010101010101010101024F
+:10109000010101010101020101010101010102013E
+:1010A0000102020201020202020202020202000125
+:1010B0000201020202020200020202000101010119
+:1010C0000101020000010100010001010101010113
+:1010D00001010101020201010201000101010101FE
+:1010E00001010101010101010101010101010101F0
+:1010F00001010101010101010101010101010101E0
+:1011000001010101010101010101010101010101CF
+:1011100001010101010101010101010101010101BF
+:1011200001010101010101010101010101010101AF
+:10113000010101010101010101010101010101019F
+:10114000010101010101010101010101010101018F
+:10115000010101010101010101010101010101017F
+:101160000101010101010101010101010101010070
+:10117000010101010101010101010101010101015F
+:10118000010101010101010101010101010101024E
+:10119000010101010101010101010101010102023D
+:1011A000020000000202020202020200020200012A
+:1011B0000101020202020200020202000101010119
+:1011C0000101020000010100010001010101010112
+:1011D00001010101020201010201000101010101FD
+:1011E00001010101010101010101010101010101EF
+:1011F00001010101010101010101010101010101DF
+:1012000001010101010101010101010101010101CE
+:1012100001010101010101010101010101010101BE
+:1012200001010101010101010101010101010101AE
+:10123000010101010101010101010101010101019E
+:10124000010101010101010101010101010101018E
+:10125000010101010101010101010101010101017E
+:10126000010101010101010101010101010101006F
+:10127000000101010101010101010101010101015F
+:10128000010101010101010101010101010101024D
+:10129000010101010101010101010101010102023C
+:1012A000020000000202020202020000010100012D
+:1012B000010102010202010002020200010101011A
+:1012C0000101010000010102010001010101010110
+:1012D00001010101020201010201000101010101FC
+:1012E00001010101010101010101010101010101EE
+:1012F00001010101010101010101010101010101DE
+:1013000001010101010101010101010101010101CD
+:1013100001010101010101010101010101010101BD
+:1013200001010101010101010101010101010101AD
+:10133000010101010101010101010101010101019D
+:10134000010101010101010101010101010101018D
+:10135000010101010101010101010101010101017D
+:10136000010101010101010101010101010101026C
+:10137000000101010101010101010101010101015E
+:10138000010101010101010101010101010101024C
+:10139000010101010101010101010101010102023B
+:1013A000020000000202020202000000010100012E
+:1013B0000101020102020100020202000101010119
+:1013C000010101000001010201000101010101010F
+:1013D00001010101020201010201020101010101F9
+:1013E00001010101010101010101010101010101ED
+:1013F00001010101010101010101010101010101DD
+:1014000001010101010101010101010101010101CC
+:1014100001010101010101010101010101010101BC
+:1014200001010101010101010101010101010101AC
+:10143000010101010101010101010101010101019C
+:10144000010101010101010101010101010101018C
+:10145000010101010101010101010101010101017C
+:10146000010101010101010101010101010101026B
+:10147000020101010101010101010101010100015C
+:10148000010101010101010101010101010101024B
+:10149000010101010101010101010101010002023B
+:1014A000020000000202020200000000010100012F
+:1014B0000101010101020102020202000101010118
+:1014C000010101000101010201000101010101010D
+:1014D00001010101020101010201020101010101F9
+:1014E00001010101010101010101010101010101EC
+:1014F00001010101010101010101010101010101DC
+:1015000001010101010101010101010101010101CB
+:1015100001010101010101010101010101010101BB
+:1015200001010101010101010101010101010101AB
+:10153000010101010101010101010101010101019B
+:10154000010101010101010101010101010101018B
+:10155000010101010101010101010101010101017B
+:10156000010101010101010101010101010101026A
+:10157000020101010101010101010101000100015C
+:10158000010101010101010101010101010101024A
+:10159000000101010101010101010101010002023B
+:1015A0000200000002000000000000000101000134
+:1015B0000101010101020102020101000101010119
+:1015C000010101000201010201000101010101010B
+:1015D00001010101020101010201020101010101F8
+:1015E00001010101010101010101010101010101EB
+:1015F00001010101010101010101010101010101DB
+:1016000001010101010101010101010101010101CA
+:1016100001010101010101010101010101010101BA
+:1016200001010101010101010101010101010101AA
+:10163000010101010101010101010101010101019A
+:10164000010101010101010101010101010101018A
+:10165000010101010101010101010101010101017A
+:101660000101010101010101010101010101010269
+:101670000200000001010000000100000000020261
+:101680000201010101020201010101020201020243
+:10169000000101010101010101010101000000023D
+:1016A0000100000000000000000000000101000136
+:1016B0000101010101010102020101000101010119
+:1016C000010101000201010201000101010101010A
+:1016D00001010101020101010101020101010101F8
+:1016E00001010101010101010101010101010101EA
+:1016F00001010101010101010101010101010101DA
+:1017000001010101010101010101010101010101C9
+:1017100001010101010101010101010101010101B9
+:1017200001010101010101010101010101010101A9
+:101730000101010101010101010101010101010199
+:101740000101010101010101010101010101010189
+:101750000101010101010101010101010101010179
+:101760000101010101010101010101010101010268
+:101770000200000000000000000000000200020261
+:10178000020101010102020201020202020202023E
+:101790000001000100010001010001000000000142
+:1017A0000100000000000000000000000101000135
+:1017B0000101010101010102020101020101010116
+:1017C0000101010202010102010001010101010107
+:1017D00001010101010101010101010101010101F9
+:1017E00001010101010101010101010101010101E9
+:1017F00001010101010101010101010101010101D9
+:1018000001010101010101010101010101010101C8
+:1018100001010101010101010101010101010101B8
+:1018200001010101010101010101010101010101A8
+:101830000101010101010101010101010101010198
+:101840000101010101010101010101010101010188
+:101850000101010101010101010101010101010178
+:101860000101010101010101010101010101010267
+:10187000020202020000020202000202020202024E
+:10188000020102010102020202020202020202023B
+:101890000000000000000001000000000000000146
+:1018A0000100000000000000000000000101010133
+:1018B0000101010101010102010101020101010116
+:1018C0000101010202010102010001010101010106
+:1018D00001010101010101010101010101010101F8
+:1018E00001010101010101010101010101010101E8
+:1018F00001010101010101010101010101010101D8
+:1019000001010101010101010101010101010101C7
+:1019100001010101010101010101010101010101B7
+:1019200001010101010101010101010101010101A7
+:101930000101010101010101010101010101010197
+:101940000101010101010101010101010101010187
+:101950000101010101010101010101010101010177
+:101960000101010101010101010101010101010266
+:101970000202020202020202020202020202020247
+:101980000202020102020202020202020202020238
+:101990000000000000000000000000000000000146
+:1019A0000100000000000000000000000101010132
+:1019B0000101010101010102010101010101010116
+:1019C0000101010202010101010001010101010106
+:1019D00001010101010101010101010101010101F7
+:1019E00001010101010101010101010101010101E7
+:1019F00001010101010101010101010101010101D7
+:101A000001010101010101010101010101010101C6
+:101A100001010101010101010101010101010101B6
+:101A200001010101010101010101010101010101A6
+:101A30000101010101010101010101010101010196
+:101A40000101010101010101010101010101010186
+:101A50000101010101010101010101010101010176
+:101A60000101010101010101010101010101010265
+:101A70000202020202020202020202020202020246
+:101A80000202020202020202020202020202020236
+:101A90000000000000000000000000000000000145
+:101AA0000100000000000000000000000101010131
+:101AB0000101010101010102010101010101010115
+:101AC0000101010202010101010001010101010105
+:101AD00001010101010101010101010101010101F6
+:101AE00001010101010101010101010101010101E6
+:101AF00001010101010101010101010101010101D6
+:101B000001010101010101010101010101010101C5
+:101B100001010101010101010101010101010101B5
+:101B200001010101010101010101010101010101A5
+:101B30000101010101010101010101010101010195
+:101B40000101010101010101010101010101010185
+:101B50000101010101010101010101010101010274
+:101B60000201010101010101010101010101020262
+:101B70000202020202020202020202020202020245
+:101B80000202020202020202020202020202020235
+:101B90000000000000000000000000000000000144
+:101BA0000100000000000000000000000101010130
+:101BB0000101010101010101010101010101010115
+:101BC0000101010202010101010201010101010102
+:101BD00001010101010101010101010101010101F5
+:101BE00001010101010101010101010101010101E5
+:101BF00001010101010101010101010101010101D5
+:101C000001010101010101010101010101010101C4
+:101C100001010101010101010101010101010101B4
+:101C200001010101010101010101010101010101A4
+:101C30000101010101010101010101010101010194
+:101C40000101010101010101010101010101010184
+:101C50000101010101010101010101010101010273
+:101C6000020101010101010101010101020202025F
+:101C70000202020202020202020202020202020244
+:101C80000202020202020202020202020202020234
+:101C90000000000000000000000000000000000143
+:101CA000010000000000000000000000010101012F
+:101CB0000101010101010101010101010101010114
+:101CC0000101010202010101010201010101010101
+:101CD00001010101010101010101010101010101F4
+:101CE00001010101010101010101010101010101E4
+:101CF00001010101010101010101010101010101D4
+:101D000001010101010101010101010101010101C3
+:101D100001010101010101010101010101010101B3
+:101D200001010101010101010101010101010101A3
+:101D30000101010101010101010101010101010193
+:101D40000101010101010101010101010101010183
+:101D50000101010101010101010101010101010272
+:101D60000201020101010202020202020202020257
+:101D70000202020202020202020202020202020243
+:101D80000202020202020202020202020202020233
+:101D90000000000000000000000000000000000142
+:101DA000010000000000000000000000010101012E
+:101DB0000101010101010101010101010101010113
+:101DC0000101010202010101010101010101010101
+:101DD00001010101010101010101010101010101F3
+:101DE00001010101010101010101010101010101E3
+:101DF00001010101010101010101010101010101D3
+:101E000001010101010101010101010101010101C2
+:101E100001010101010101010101010101010101B2
+:101E200001010101010101010101010101010101A2
+:101E30000101010101010101010101010101010192
+:101E40000101010101010101010101010101010182
+:101E5000010101010101010101010101010202026F
+:101E60000202020202020202020202020202020252
+:101E70000202020202020202020202020202020242
+:101E80000202020202020202020202020202020232
+:101E90000000000000000000000000000000000141
+:101EA000010000000000000000000000000001012F
+:101EB0000101010101010101010101010101010112
+:101EC0000101010201010101010101010101010101
+:101ED00001010101010101010101010101010101F2
+:101EE00001010101010101010101010101010101E2
+:101EF00001010101010101010101010101010101D2
+:101F000001010101010101010101010100000101C3
+:101F100001010101010101010101010101010101B1
+:101F200001010101010101010101010101010101A1
+:101F30000101010101010101010101010101010191
+:101F40000101010101010101010101010101010280
+:101F5000020101010101010101010101020202026C
+:101F60000202020202020202020202020202020251
+:101F70000202020202020202020202020202020241
+:101F80000202020202020202020202020202020231
+:101F90000000000000000000000000000000000140
+:101FA000010000000000000000000000000001012E
+:101FB0000101010101010101010101010101010111
+:101FC0000101010101010101010101010101010101
+:101FD00001010101010101010101010101010101F1
+:101FE00001010101010101010101010101010101E1
+:101FF00001010101010101010101010101010100D2
+:1020000001010000010100000001010100000201C6
+:1020100001010101010101010101010101010101B0
+:1020200001010101010101010101010101010101A0
+:102030000101010101010101010101010101000191
+:102040000101010101010101010101000100020280
+:102050000202020202020202020202020202020260
+:102060000202020202020202020202020202020250
+:102070000202020202020202020202020202020240
+:102080000202020202020202020202020202020230
+:10209000000000000000000000000000000200013D
+:1020A0000101010100000000000000010000010129
+:1020B0000101010101010101010101010101010110
+:1020C0000101010101010101010101010101010100
+:1020D00001010101010101010101010101010101F0
+:1020E00001010101010101010101010101010101E0
+:1020F00001010101010101010101010101010100D1
+:1021000002010000010100000001010002020201C1
+:1021100001010101010101010101010101010101AF
+:1021200001010101010101010101010101010100A0
+:102130000101010101010101010101010000000192
+:10214000010101010101010101010100020202027C
+:10215000020202020202020202020202020202025F
+:10216000020202020202020202020202020202024F
+:10217000020202020202020202020202020202023F
+:10218000020202020202020202020202020202022F
+:10219000000000000000000000000000000200013C
+:1021A0000101010100000000000001010000010127
+:1021B000010101010101010101010101010101010F
+:1021C00001010101010101010101010101010101FF
+:1021D00001010101010101010101010101010101EF
+:1021E00001010101010101010101010101010101DF
+:1021F00001010101010101010101010101010102CE
+:1022000002020202020202020202020202020201AF
+:1022100000010101010101010101010101010000B1
+:10222000010101010101010101010101010101009F
+:102230000100000000000000010100000000020297
+:102240000201010101020202020202020202020272
+:10225000020202020202020202020202020202025E
+:10226000020202020202020202020202020202024E
+:10227000020202020202020202020202020202023E
+:10228000020202020202020202020202020202022E
+:102290000200000002000002000000000002000135
+:1022A0000101010100000000000101010000010125
+:1022B000010101010101010101010101010101010E
+:1022C00001010101010101010101010101010101FE
+:1022D00001010101010101010101010101010101EE
+:1022E00001010101010101010101010101010101DE
+:1022F00001010101010101010101010101010102CD
+:1023000002020202020202020202020202020201AE
+:1023100000010101010101010101010101010000B0
+:10232000010101010101010101000000000102029F
+:102330000200000000000000000000000202020293
+:10234000020202020202020202020202020202026D
+:10235000020202020202020202020202020202025D
+:10236000020202020202020202020202020202024D
+:10237000020202020202020202020202020202023D
+:10238000020202020202020202020202020202022D
+:10239000020000000202000200020200000200002F
+:1023A0000101010100000000010101010000010123
+:1023B000010101010101010101010101010101010D
+:1023C00001010101010101010101010101010101FD
+:1023D00001010101010101010101010101010101ED
+:1023E00001010101010101010101010101010101DD
+:1023F00001010101010101010101010101010102CC
+:1024000002020202020202020202020202020202AC
+:1024100000010101010101010101010102020200AB
+:10242000020001010101010101000000020202029B
+:10243000020202020202020202020202020202027C
+:10244000020202020202020202020202020202026C
+:10245000020202020202020202020202020202025C
+:10246000020202020202020202020202020202024C
+:10247000020202020202020202020202020202023C
+:10248000020202020202020202020202020202022C
+:102490000202000202020002020202020202000024
+:1024A0000001010100010101010101010000010120
+:1024B000010101010101010101010101010101010C
+:1024C00001010101010101010101010101010101FC
+:1024D00001010101010101010101010101010102EB
+:1024E00002010100000101010101000001010201DE
+:1024F00001010101010101010101010101010002CC
+:1025000002020202020202020202020202020202AB
+:10251000020202020202020202020202020202029B
+:10252000020202020202020202020202020202028B
+:10253000020202020202020202020202020202027B
+:10254000020202020202020202020202020202026B
+:10255000020202020202020202020202020202025B
+:10256000020202020202020202020202020202024B
+:10257000020202020202020202020202020202023B
+:10258000020202020202020202020202020202022B
+:10259000020202020202000202020202020202001F
+:1025A000000101010101010101010101000001011E
+:1025B000010101010101010101010101010101010B
+:1025C00001010101010001010101010102010101FB
+:1025D00001010101010101010101010101020102E9
+:1025E00002020200000101010101000002020202D8
+:1025F00002010101010101010101010001020202C8
+:1026000002020202020202020202020202020202AA
+:10261000020202020202020202020202020202029A
+:10262000020202020202020202020202020202028A
+:10263000020202020202020202020202020202027A
+:10264000020202020202020202020202020202026A
+:10265000020202020202020202020202020202025A
+:10266000020202020202020202020202020202024A
+:10267000020202020202020202020202020202023A
+:10268000020202020202020202020202020202022A
+:10269000020202020202020202020202020202001C
+:1026A000010101010101010101010101000001011C
+:1026B000010101010101010101010101010101010A
+:1026C00001010101010002010101010102010101F9
+:1026D00000000101010101020101010201010002EA
+:1026E00002020202020202020202020202020202CA
+:1026F00002020202020202020202020202020202BA
+:1027000002020202020202020202020202020202A9
+:102710000202020202020202020202020202020299
+:102720000202020202020202020202020202020289
+:102730000202020202020202020202020202020279
+:102740000202020202020202020202020202020269
+:102750000202020202020202020202020202020259
+:102760000202020202020202020202020202020249
+:102770000202020202020202020202020202020239
+:102780000202020202020202020202020202020229
+:10279000020202020202020202020202020202011A
+:1027A000010101010101010101010101000001011B
+:1027B0000101010101010101010101010101010109
+:1027C00001010101010002010101020202010102F5
+:1027D00002000000010001010102010100000202EB
+:1027E00002020202020202020202020202020202C9
+:1027F00002020202020202020202020202020202B9
+:1028000002020202020202020202020202020202A8
+:102810000202020202020202020202020202020298
+:102820000202020202020202020202020202020288
+:102830000202020202020202020202020202020278
+:102840000202020202020202020202020202020268
+:102850000202020202020202020202020202020258
+:102860000202020202020202020202020202020248
+:102870000202020202020202020202020202020238
+:102880000202020202020202020202020202020228
+:102890000202020202020202020202020202020119
+:1028A0000101010101010101010101010101010118
+:1028B0000101010101010101010101010101010108
+:1028C00001010101010002010201020201010102F4
+:1028D00002020202000002000001000002020202E5
+:1028E00002020202020202020202020202020202C8
+:1028F00002020202020202020202020202020202B8
+:1029000002020202020202020202020202020202A7
+:102910000202020202020202020202020202020297
+:102920000202020202020202020202020202020287
+:102930000202020202020202020202020202020277
+:102940000202020202020202020202020202020267
+:102950000202020202020202020202020202020257
+:102960000202020202020202020202020202020247
+:102970000202020202020202020202020202020237
+:102980000202020202020202020202020202020227
+:102990000202020202020202020202020202020118
+:1029A0000101010101010101010101010101010018
+:1029B0000101010101010101010101010101010107
+:1029C00001010101010001000201010101010102F7
+:1029D00002020202020202020202020202020202D7
+:1029E00002020202020202020202020202020202C7
+:1029F00002020202020202020202020202020202B7
+:102A000002020202020202020202020202020202A6
+:102A10000202020202020202020202020202020296
+:102A20000202020202020202020202020202020286
+:102A30000202020202020202020202020202020276
+:102A40000202020202020202020202020202020266
+:102A50000202020202020202020202020202020256
+:102A60000202020202020202020202020202020246
+:102A70000202020202020202020202020202020236
+:102A80000202020202020202020202020202020226
+:102A90000202020202020202020202020202020117
+:102AA0000101010101010101010101010101010017
+:102AB0000000010101010101010101010101000208
+:102AC00002010101010001000101010101000202F6
+:102AD00002020202020202020202020202020202D6
+:102AE00002020202020202020202020202020202C6
+:102AF00002020202020202020202020202020202B6
+:102B000002020202020202020202020202020202A5
+:102B10000202020202020202020202020202020295
+:102B20000202020202020202020202020202020285
+:102B30000202020202020202020202020202020275
+:102B40000202020202020202020202020202020265
+:102B50000202020202020202020202020202020255
+:102B60000202020202020202020202020202020245
+:102B70000202020202020202020202020202020235
+:102B80000202020202020202020202020202020225
+:102B90000202020202020202020202020202020116
+:102BA0000101010101010101010101010101010214
+:102BB00002020202020202020202020202020202F5
+:102BC00002020202020202020202020202020202E5
+:102BD00002020202020202020202020202020202D5
+:102BE00002020202020202020202020202020202C5
+:102BF00002020202020202020202020202020202B5
+:102C000002020202020202020202020202020202A4
+:102C10000202020202020202020202020202020294
+:102C20000202020202020202020202020202020284
+:102C30000202020202020202020202020202020274
+:102C40000202020202020202020202020202020264
+:102C50000202020202020202020202020202020254
+:102C60000202020202020202020202020202020244
+:102C70000202020202020202020202020202020234
+:102C80000202020202020202020202020202020224
+:102C90000202020202020202020202020202020115
+:102CA0000101010101010101010101010101010213
+:102CB00002020202020202020202020202020202F4
+:102CC00002020202020202020202020202020202E4
+:102CD00002020202020202020202020202020202D4
+:102CE00002020202020202020202020202020202C4
+:102CF00002020202020202020202020202020200B6
+:102D000000000000000000000000000000000002C1
+:102D10000202020202020202020202020202020293
+:102D20000202020202020202020202020202020283
+:102D30000202020202020202020202020202020273
+:102D40000202020202020202020202020202020263
+:102D50000202020202020202020202020202020253
+:102D60000202020202020202020202020202020243
+:102D70000202020202020202020202020202020233
+:102D80000202020202020202020202020202020223
+:102D90000202020202020202020202020202020114
+:102DA0000101010101010101010101010101010014
+:102DB0000000000000000000000000000000000211
+:102DC00002020202020202020202020202020202E3
+:102DD00002020202020202020202020202020202D3
+:102DE00002020202020202020202020202020202C3
+:102DF00002020202020202020202020202020200B5
+:102E000000000000000000000000000000000002C0
+:102E10000202020202020202020202020202020292
+:102E20000202020202020202020202020202020282
+:102E30000202020202020202020202020202020272
+:102E40000202020202020202020202020202020262
+:102E50000202020202020202020202020202020252
+:102E60000202020202020202020202020202020242
+:102E70000202020202020202020202020202020232
+:102E80000202020202020202020202020202020024
+:102E90000000000000000000000000000000000131
+:102EA0000101010101010101010101010101010013
+:102EB0000000000000000000000000000000000012
+:102EC0000000000000000000000000000000000002
+:102ED00000000000000000000000000000000000F2
+:102EE00000000000000000000000000000000002E0
+:102EF00002020202020202020202020202020201B3
+:102F000001010101010101010101010101010102B0
+:102F10000202020202020202020202020202020291
+:102F20000202020202020202020202020202020281
+:102F30000202020202020202020202020202020271
+:102F40000202020202020202020202020202020261
+:102F50000202020202020202020202020202020251
+:102F60000202020202020202020202020202020241
+:102F70000202020202020202020202020202020033
+:102F80000000000000000000000000000000000041
+:102F90000000000000000000000000000000000130
+:102FA0000101010101010101010101010101010111
+:102FB0000101010101010101010101010101010101
+:102FC00001010101010101010101010101010101F1
+:102FD00001010101010101010101010101010100E2
+:102FE00000000000000000000000000000000002DF
+:102FF00002020202020202020202020202020201B2
+:1030000001010101010101010101010101010102AF
+:103010000202020202020202020202020202020092
+:1030200000000000000000000000000000000000A0
+:103030000000000000000000000000000000000090
+:103040000000000000000000000000000000000080
+:103050000000000000000000000000000000000070
+:103060000000000000000000000000000000000060
+:103070000000000000000000000000000000000050
+:103080000000000000000000000000000000000040
+:10309000000000000000000000000000000000012F
+:1030A0000101010101010101010101010101010011
+:1030B0000000010101000101010101010101000104
+:1030C00001010101010101010101010101010101F0
+:1030D00001010101010101010101010101010101E0
+:1030E00001010101010101010101010101010101D0
+:1030F00001010101010101010101010101010101C0
+:1031000001010101010101010101010101010101AF
+:10311000010101010101010101010101010101019F
+:10312000010101010101010101010101010101018F
+:10313000010101010101010101010101010101017F
+:10314000010101010101010101010101010101016F
+:10315000010101010101010101010101010101015F
+:10316000010101010101010101010101010101014F
+:10317000010101010101010101010101010101013F
+:103180000101010101010101010101010101010030
+:10319000000000000000000000000000000000012E
+:1031A0000101010101010101010101010101010010
+:1031B000000000000000000000000000000000020D
+:1031C00002020201010001000100000000020201F0
+:1031D00001010101010101010101010101010101DF
+:1031E00001010101010101010101010101010101CF
+:1031F00001010101010101010101010101010101BF
+:1032000001010101010101010101010101010101AE
+:10321000010101010101010101010101010101019E
+:10322000010101010101010101010101010101018E
+:10323000010101010101010101010101010101017E
+:10324000010101010101010101010101010101016E
+:10325000010101010101010101010101010101015E
+:10326000010101010101010101010101010101014E
+:10327000010101010101010101010101010101013E
+:10328000010101010101010101010101010101002F
+:10329000000000000000000000000000000000012D
+:1032A000010101010101010101010101010101000F
+:1032B000000000000000000000000000000000000E
+:1032C00000000000000000000000000000000000FE
+:1032D00000000000000000000000000000000001ED
+:1032E00001010101010101010101010101010101CE
+:1032F00001010101010101010101010101010100BF
+:1033000000000000000000000000000000000001BC
+:10331000010101010101010101010101010101019D
+:10332000010101010101010101010101010101018D
+:10333000010101010101010101010101010101017D
+:10334000010101010101010101010101010101016D
+:10335000010101010101010101010101010101015D
+:10336000010101010101010101010101010101014D
+:10337000010101010101010101010101010101003E
+:10338000000000000000000000000000000000003D
+:10339000000000000000000000000000000000012C
+:1033A000010101010101010101010101010101000E
+:1033B000000000000000000000000000000000000D
+:1033C00000000000000000000000000000000000FD
+:1033D00000000000000000000000000000000001EC
+:1033E00001010101010101010101010101010101CD
+:1033F00001010101010101010101010101010100BE
+:1034000000000000000000000000000000000001BB
+:10341000010101010101010101010101010101009D
+:10342000000000000000000000000000000000009C
+:10343000000000000000000000000000000000008C
+:10344000000000000000000000000000000000007C
+:10345000000000000000000000000000000000006C
+:10346000000000000000000000000000000000005C
+:10347000000000000000000000000000000000004C
+:10348000000000000000000000000000000000003C
+:10349000000000000000000000000000000000002C
+:1034A000000000000000000000000000000000001C
+:1034B000000000000000000000000000000000000C
+:1034C00000000000000000000000000000000000FC
+:1034D00000000000000000000000000000000000EC
+:1034E00000000000000000000000000000000000DC
+:1034F00000000000000000000000000000000000CC
+:1035000000000000000000000000000000000000BB
+:1035100000000000000000000000000000000000AB
+:10352000000000000000000000000000000000009B
+:10353000000000000000000000000000000000008B
+:10354000000000000000000000000000000000007B
+:10355000000000000000000000000000000000006B
+:10356000000000000000000000000000000000005B
+:10357000000000000000000000000000000000004B
+:10358000000000000000000000000000000000003B
+:103590000000000000000000000000000000003EED
+:1035A000000000000000000000000000000000001B
+:1035B000000000000000000000000000000000000B
+:1035C00000000000000000020000000001000200F6
+:1035D00000000000000000000000000000000000EB
+:1035E00000000000000000000000000000000000DB
+:1035F00000000000000000000000000000000000CB
+:1036000000000000000000000000000001000000B9
+:1036100000000000000000000000000000000000AA
+:103620000000000000000000000200000200020094
+:103630000200000000000000000200000000000086
+:103640000000000000000000000000000002000078
+:103650000000000000000000020000020002000262
+:103660000002000002020000000000000000000054
+:103670000000020200000000000000000000000046
+:10368000000000000000000000000000000000003A
+:10369000000000000000000000000000000000002A
+:1036A0000000000000000002020000000000000016
+:1036B0000000000000000000020100020000000005
+:1036C00000000000000000020000000101010200F3
+:1036D00000000002000000000002000000000000E6
+:1036E00000000000000000000000000000000000DA
+:1036F00000000000000000000000000000000000CA
+:1037000000000000000000000000000001000000B8
+:1037100000000000000000000000000000000000A9
+:103720000000000000000000000200000200020093
+:103730000200000000000001020200000000000082
+:103740000000020000000000000002000202000071
+:10375000000000000000000202000002020200025D
+:10376000000200000202000000010200020002004C
+:103770000200020200000000000000000000000043
+:103780000000000000000002020000000002000231
+:10379000000202020202020000000000000000001D
+:1037A0000000000000000002020000000000000015
+:1037B0000000000000000000020102020000000002
+:1037C00000000000000000020000000101010200F2
+:1037D00002000002000000020002000000020000DF
+:1037E00000020002000000000000000000000000D5
+:1037F00000000000000000000000000000000000C9
+:1038000000000000000000000000000001000000B7
+:1038100000000000000000000000000000000000A8
+:103820000000000000000000000200000200020092
+:103830000200000000000002020200000000000080
+:10384000000002000000000201000202020200006B
+:10385000000000020000000202000002020200025A
+:103860000002000002020002020102020202020043
+:103870000200020200000002020000020002000238
+:10388000000202020202020202020200020202021C
+:10389000020202020202020000000000000000001A
+:1038A0000000000000000202020000000000000012
+:1038B0000000000000000000020102020000000001
+:1038C00000000000000002020100010202010200EB
+:1038D00002000002000000020002020002020200D8
+:1038E00000020002000000010000000000000000D3
+:1038F00000000000000000000002000000000000C6
+:1039000000000000000002000200000002000000B1
+:1039100000000000000000000001000000000000A6
+:10392000000000000000000201020000020002008E
+:10393000020002000002000202020000000000007B
+:103940000000020200000202020202020202020061
+:103950000000000200000002020202020202000255
+:10396000020200000202020202020202020202003D
+:10397000020002020002000202020202020202022D
+:103980000202020202020202020202000202020219
+:103990000202020202020200020200000000000015
+:1039A0000000000000000202020000000000000011
+:1039B00000000000000000000202020200000000FF
+:1039C00000000000000002020100010202020202E7
+:1039D00002000002000000020002020002020200D7
+:1039E00000020202000000020000000000000200CD
+:1039F00000000000020200000002000000000200BF
+:103A000000000000000002000200020002000200AC
+:103A100000000000000000020002000000000000A2
+:103A2000000000000000000202020000020002008C
+:103A30000200020000020002020202000000000078
+:103A4000000002020000020202020202020202025E
+:103A50000002000200020002020202020202000250
+:103A60000202020002020202020202020202020238
+:103A70000202020202020002020202020202020228
+:103A80000202020202020202020202000202020218
+:103A90000202020202020200020200020000000012
+:103AA0000000000000000202020000000000000010
+:103AB00000000000000000000202020200000000FE
+:103AC00000000000020002020100020202020202E3
+:103AD00002000202000000020002020002020200D4
+:103AE00000020202000200020000000000000200CA
+:103AF00000000000020202000102000000000200BB
+:103B000000000000000002020200020102010202A5
+:103B100000000000000000020002000000000000A1
+:103B20000000000000000002020200000202020089
+:103B30000200020200020202020202000002000071
+:103B4000000002020000020202020202020202025D
+:103B5000020200020002000202020202020200024D
+:103B60000202020002020202020202020202020237
+:103B70000202020202020202020202020202020225
+:103B80000202020202020202020202020202020215
+:103B9000020202020202020002020202000000000F
+:103BA000000000000000020202000000000000000F
+:103BB00000000000000000000202020200000000FD
+:103BC00000000000020002020200020202020202E1
+:103BD00002000202020000020202020202020202CB
+:103BE00000020202000200020000000000000200C9
+:103BF00000000000020202000102000000000200BA
+:103C000000000200000002020200020202020202A0
+:103C1000020000000000000201020001000000009C
+:103C20000000000000000002020202000202020086
+:103C30000200020200020202020202000002000070
+:103C4000000002020000020202020202020202025C
+:103C5000020200020202000202020202020200024A
+:103C60000202020002020202020202020202020236
+:103C70000202020202020202020202020202020224
+:103C80000202020202020102020202020202020215
+:103C9000020202020202010002020202000202000B
+:103CA000000000000000020202000000000000000E
+:103CB00000000000000000000202020200000000FC
+:103CC00000000000020202020200020202020202DE
+:103CD00002000202020002020202020202020202C8
+:103CE00002020202020200020100000000000200C3
+:103CF00000000000020202020202010100010200B3
+:103D0000000002000000020202000202020202029F
+:103D10000200000000000002020201010000000099
+:103D20000200020000000002020202000202020081
+:103D3000020002020002020202020202000200006D
+:103D40000000020202020202020202020202020257
+:103D50000202000202020202020202020202020245
+:103D60000202020002020202020202020202020235
+:103D70000202020202020202020202020202020223
+:103D80000202020202020102020202020202020214
+:103D90000202020202020100020202020002020208
+:103DA000000000000000020202000000000000020B
+:103DB00000000000000000000202020202000000F9
+:103DC00000000000020202020200020202020202DD
+:103DD00002000202020002020202020202020202C7
+:103DE00002020202020200020100010000000200C1
+:103DF00000000000020202020202010100010200B2
+:103E0000000202000000020202020202020202029A
+:103E10000200000000000002020201010000000098
+:103E20000200020000000002020202000202020080
+:103E30000200020200020202020202020202020068
+:103E40000200020202020202020202020202020254
+:103E50000202020202020202020202020202020242
+:103E60000202020202020202020202020202020232
+:103E70000202020202020202020202020202020222
+:103E80000202020201020102020202020202020214
+:103E90000202020201020100020202020002020208
+:103EA0000200000000000202020000000000000208
+:103EB00000000000000000000202020202000000F8
+:103EC00000000000020202020200020202020202DC
+:103ED00002000202020002020202020202020202C6
+:103EE00002020202020200020100010000000200C0
+:103EF00000000000020202020202010100010200B1
+:103F00000002020000000202020202020202020299
+:103F1000020002000202000202020202010000008E
+:103F2000020002000000000202020202020202007D
+:103F30000200020200020202020202020202020265
+:103F40000202020202020202020202020202020251
+:103F50000202020202020202020202020202020241
+:103F60000202020202020202020202020202020231
+:103F70000202020202020202020202020202020221
+:103F80000202020201010102020202020202020214
+:103F90000202020201010100020202020002020208
+:103FA0000200000000000102020000000000000208
+:103FB00000000000000000000202020202000000F7
+:103FC00000000000020202020200020202020202DB
+:103FD00002000202020002020202020202020202C5
+:103FE00002020202020202020202010000000200BA
+:103FF00000000000020202020202020200020202AB
+:104000000002020000000202020202020202020298
+:10401000020002000202000202020202010100008C
+:10402000020202000000000202020202020202007A
+:104030000200020200020202020202020202020264
+:104040000202020202020202020202020202020250
+:104050000202020202020202020202020202020240
+:104060000202020202020102020202020202020231
+:104070000202020202020102020202020202020221
+:104080000202020101010102020202020202020214
+:104090000202020101010100020202020002020208
+:1040A0000200000000000102020000000000000207
+:1040B00000000000000000000202020202000000F6
+:1040C00000000000020202020200020202020202DA
+:1040D00002000202020002020202020202020202C4
+:1040E00002020202020202020202020100000200B7
+:1040F00000000000020202020202020200020202AA
+:104100000002020000000202020202020202020297
+:104110000202020002020002020202020202020085
+:104120000202020000000002020202020202020277
+:10413000020202020202020202020202020202025F
+:10414000020202020202020202020202020202024F
+:10415000020202020202020202020202020202023F
+:104160000202020201010102020202020202020232
+:104170000202020202010102020202020202020221
+:104180000202020101010102020202020202020213
+:104190000202020101010100020202020202020205
+:1041A0000202020000000102020000000000000202
+:1041B00000000000000000000202020202000200F3
+:1041C00000000000020202020200020202020202D9
+:1041D00002000202020002020202020202020202C3
+:1041E00002020202020202020202020100000200B6
+:1041F00000000000020202020202020200020202A9
+:104200000002020000000202020202020202020296
+:104210000202020002020002020202020202020282
+:104220000202020000000202020202020202020274
+:10423000020202020202020202020202020202025E
+:10424000020202020202010202020202020202024F
+:10425000020202020202020202020202020202023E
+:104260000202020201010102020202020202020231
+:104270000202020101010102020202020202020222
+:104280000202010101010102020202020202020213
+:104290000201010101010100020202020202020206
+:1042A00002020200020001020200000000000002FF
+:1042B00000000000000000000202020202000202F0
+:1042C00000000200020202020200020202020202D6
+:1042D00002000202020002020202020202020202C2
+:1042E00002020202020202020202020100000200B5
+:1042F00000000000020202020202020200020202A8
+:104300000002020000000102020202020202020296
+:104310000202020002020002020202020202020281
+:104320000202020000020202020202020202020271
+:10433000020202020202010202020202020202025E
+:10434000020202020202010202020202020202024E
+:10435000020202020202010202020202020202023E
+:104360000202020201010102020202020202020230
+:104370000202010101010102020202020202020222
+:104380000201010101010102020202020202020114
+:104390000201010101010100020202020202020205
+:1043A00002020202020001020200000000000002FC
+:1043B00000000000000000000202020202000202EF
+:1043C00000000200020202020200020202020202D5
+:1043D00002000202020002020202020202020202C1
+:1043E00002020202020202020202020201000200B2
+:1043F00000000000020202020202020200020202A7
+:104400000002020000020102020202020202020293
+:104410000202020002020002020202020202020280
+:10442000020202020002020202020202020202026E
+:10443000020202020201010202020202020202025E
+:10444000020202020202010202020202020202024D
+:10445000020202020201010202020202020202023E
+:10446000020202020101010202020202020202022F
+:104470000202010101010102020202020202020122
+:104480000101010101010102020202020201010116
+:104490000101010101010100020202020202020205
+:1044A00002020202020001020200000000000002FB
+:1044B00000000000000000000202020202000202EE
+:1044C00000000200020202020200020202020202D4
+:1044D00002000202020002020202020202020202C0
+:1044E00002020202020201020202020201000200B2
+:1044F00000000200020201020202020200020202A5
+:104500000002020000020102020202020202020292
+:10451000020202000202000202020202020202027F
+:10452000020202020002020202020202020202026D
+:10453000020202020201010202020202020202025D
+:10454000020202020202010202020202020202024C
+:10455000020202020101010202020202020202023E
+:10456000020202020101010202020202020202022E
+:104570000102010101010102010202020201020124
+:104580000101010101010102020202020201010115
+:104590000101010101010100020202020202020204
+:1045A00002020202020201020202000000000002F6
+:1045B00000000000000000000202020202000202ED
+:1045C00000000200020202020200020202020202D3
+:1045D00002000202020002020202020202020202BF
+:1045E00002020202020101020202020202000200B1
+:1045F00000000200020201020202020200020202A4
+:104600000002020000020102020202020202020291
+:10461000020202000202000202020202020202027E
+:10462000020202020002020202020202020202026C
+:10463000020202020201010202020202020202025C
+:10464000020202020202010202020202020202024B
+:10465000020202010101010202020202020202023E
+:10466000020102020101010202020202020202022E
+:104670000102010101010102010202010201010125
+:104680000101010101010102010202020201010115
+:104690000101010101010100020202020202020203
+:1046A00002020202010201020202000000000002F6
+:1046B00000000000000000010202020202020202E9
+:1046C00002020202020202020200020202020202CC
+:1046D00002000202020001020202020202020202BF
+:1046E00002020202010101020202020202010200B0
+:1046F00000000200010101020202020200020202A5
+:10470000020202000002010202020202020202028E
+:104710000202020202020202020202020202020279
+:10472000020202020002010202020202020202026C
+:10473000020202020201010202020202020202025B
+:10474000020201010101010202020202020202024E
+:10475000020202010101010202020202020202013E
+:10476000020101020101010202020202020201022F
+:104770000101010101010101010101010101010129
+:104780000101010101010102010202020101010115
+:104790000101010101010100020202020202020202
+:1047A00002020202010201020202020000000001F4
+:1047B00000000002000000010202020202020202E6
+:1047C00002020202020201020200020202020202CC
+:1047D00002000202010001020202020202020202BF
+:1047E00002020201010101020202020202020200AF
+:1047F00000000200010101020202020200020202A4
+:10480000020202020002010202020202020202028B
+:10481000020202020101020202020202020202027A
+:104820000202020202020102020202020202020269
+:10483000010201010201010202020202020202025D
+:10484000020201010101010202020202020202024D
+:10485000020202010101010202020202020102013E
+:104860000101010101010102020202020101010133
+:104870000101010101010101010101010101010128
+:104880000101010101010101010101020101010117
+:104890000101010101010100020202020202020201
+:1048A00002020202010201020202020000000201F1
+:1048B00002000002000000010202020202020202E3
+:1048C00002020202020201020200020202020202CB
+:1048D00002000201010001020202020202020202BF
+:1048E00002020201010101020202020202020200AE
+:1048F000000002020101010202020202020202029F
+:104900000202020202020102020202020202020288
+:104910000202020201010202020202020202020279
+:104920000202020202020102020202020202010269
+:10493000010201010101010202020202020202025D
+:10494000020201010101010202020202020102024D
+:104950000201020101010102020202010101020140
+:104960000101010101010102010201010101010135
+:104970000101010101010101010101010101010127
+:104980000101010101010101010101010101010117
+:104990000101010101010100020202020202020200
+:1049A00002020202010101020202020000000201F1
+:1049B00002000201000000020202020202020202E0
+:1049C00002020202020201020201020202020202C9
+:1049D00002000201010001020202020202020202BE
+:1049E00002010101010101020202020202020200AF
+:1049F000020002020101010202020202020202029C
+:104A00000202010202020102020202020202020288
+:104A10000202020201010102020202020202020279
+:104A2000020201020201010202020202010201026B
+:104A3000010201010101010202020202020202025C
+:104A4000020201010101010202020202010101014F
+:104A50000101010101010102010202010101020142
+:104A60000101010101010102010201010101010134
+:104A70000101010101010101010101010101010126
+:104A80000101010101010101010101010101010116
+:104A90000101010101010100020202020202010101
+:104AA00001020101010101010202020000020201F2
+:104AB00002000201020200020202020202020202DB
+:104AC00002020202020201020201020202020202C8
+:104AD00002000201010001020202020202020202BD
+:104AE00002010101010101020202020202020200AE
+:104AF000020002020101010202020202020202029B
+:104B00000202010202010102020202020202020288
+:104B10000202020201010102020202020202020278
+:104B2000020201020201010202020202010201026A
+:104B3000010201010101010202020202020202025B
+:104B40000202010101010102020201010101010150
+:104B50000101010101010102010202010101020141
+:104B60000101010101010101010201010101010134
+:104B70000101010101010101010101010101010125
+:104B80000101010101010101010101010101010115
+:104B90000101010101010100010202010201010103
+:104BA00001020101010101010202020002020202EE
+:104BB00002020101010100020202020202020202DB
+:104BC00002020202010201020202020202020102C8
+:104BD00001000101010001020202020202010102C0
+:104BE00002010101010101020202020202020200AD
+:104BF000020002020101010202020202020201029B
+:104C00000202010202010102020202020202010189
+:104C10000102010201010102020202020202020279
+:104C2000010101020201010202010202010101026D
+:104C3000010201010101010202010202020202025B
+:104C4000020201010101010202020101010101014F
+:104C50000101010101010101010101010101010144
+:104C60000101010101010101010101010101010134
+:104C70000101010101010101010101010101010124
+:104C80000101010101010101010101010101010114
+:104C90000101010101010100010102010201010103
+:104CA00001010101010101010202020202020202EC
+:104CB00001020101010100020202020202020202DB
+:104CC00002020202010101020202020202020101C9
+:104CD00001000101010201020201020201010101C0
+:104CE00001010101010101020202020202020102AC
+:104CF0000202020201010102020202020202010298
+:104D00000201010202010102020202020202010189
+:104D10000102010201010102020202020202020278
+:104D2000010101010101010202010202010101026E
+:104D3000010201010101010201010202020102025C
+:104D40000101010101010102020101010101010151
+:104D50000101010101010101010101010101010143
+:104D60000101010101010101010101010101010133
+:104D70000101010101010101010101010101010123
+:104D80000101010101010101010101010101010113
+:104D90000101010101010100010101010201010103
+:104DA00001010101010101010102020202020102ED
+:104DB00001010102010100020202020202020202DA
+:104DC00002020202010101020202020202020101C8
+:104DD00001000101010201020201010201010101C0
+:104DE00001010101010101020202020202020102AB
+:104DF0000202020201010102020102020202010298
+:104E0000020101020101010201020102010101018D
+:104E10000101010201010102020202020202020278
+:104E2000010101010101010202010202010101026D
+:104E3000010101010101010201010102020101015F
+:104E40000101010101010101010101010101010152
+:104E50000101010101010101010101010101010142
+:104E60000101010101010101010101010101010132
+:104E70000101010101010101010101010101010122
+:104E80000101010101010101010101010101010112
+:104E90000101010101010101010101010201010101
+:104EA00001010101010101010102020202020102EC
+:104EB00001010102020200020202020202020202D7
+:104EC00002020202010101010202020202020101C8
+:104ED00001000101010201010201010101010101C1
+:104EE00001010101010101020202020202020102AA
+:104EF0000202020201010102020102020202010198
+:104F0000020101020101010201020101010101018D
+:104F1000010101010101010202010202020201017B
+:104F20000101010101010101010101020101010170
+:104F30000101010101010101010101010101010161
+:104F40000101010101010101010101010101010151
+:104F50000101010101010101010101010101010141
+:104F60000101010101010101010101010101010131
+:104F70000101010101010101010101010101010121
+:104F80000101010101010101010101010101010111
+:104F90000101010101010101010101010201010100
+:104FA00001010101010101010102020202020100ED
+:104FB00001010202020200020202020202020202D5
+:104FC00002020202010101010202020101010101CA
+:104FD00001000101010201010101010101010101C1
+:104FE00001010101010101020202020202020102A9
+:104FF0000202010201010102020102020202010198
+:10500000020101010101010101020101010101018E
+:10501000010101010101010102010202020201017B
+:105020000101010101010101010101010101010170
+:105030000101010101010101010101010101010160
+:105040000101010101010101010101010101010150
+:105050000101010101010101010101010101010140
+:105060000101010101010101010101010101010130
+:105070000101010101010101010101010101010120
+:105080000101010101010101010101010101010110
+:105090000101010101010101010101010101010100
+:1050A00001010101010101020102020202020100EB
+:1050B00002010202020200020102020102020202D5
+:1050C00002020202010101010202010101010101CA
+:1050D00001000101010101010101010101010101C1
+:1050E00001010101010101010202020202020102A9
+:1050F0000202010101010102020102020202010198
+:10510000020101010101010101010101010101018E
+:10511000010101010101010101010202020101017C
+:10512000010101010101010101010101010101016F
+:10513000010101010101010101010101010101015F
+:10514000010101010101010101010101010101014F
+:10515000010101010101010101010101010101013F
+:10516000010101010101010101010101010101012F
+:10517000010101010101010101010101010101011F
+:10518000010101010101010101010101010101010F
+:1051900001010101010101020101010101010101FE
+:1051A00001010101010101020102020202020200E9
+:1051B00002020200010100020102010102020202D8
+:1051C00002020202010101010202010101010101C9
+:1051D00001000101010101010101010101010101C0
+:1051E00001010101010101010202020202020102A8
+:1051F000020201010101010101010202020101019A
+:10520000010101010101010101010101010101018E
+:10521000010101010101010101010101010101017E
+:10522000010101010101010101010101010101016E
+:10523000010101010101010101010101010101015E
+:10524000010101010101010101010101010101014E
+:10525000010101010101010101010101010101013E
+:10526000010101010101010101010101010101012E
+:10527000010101010101010101010101010101011E
+:10528000010101010101010101010101010101010E
+:1052900001010101010101020101010101010101FD
+:1052A00001010101010101020202020202020200E7
+:1052B00002020200010100020102010102020202D7
+:1052C00002020102010101010102010101010101CA
+:1052D00001000101010101010101010101010101BF
+:1052E00001010101010101010201020202020102A8
+:1052F000020201010101010101010201020101019A
+:10530000010101010101010101010101010101018D
+:10531000010101010101010101010101010101017D
+:10532000010101010101010101010101010101016D
+:10533000010101010101010101010101010101015D
+:10534000010101010101010101010101010101014D
+:10535000010101010101010101010101010101013D
+:10536000010101010101010101010101010101012D
+:10537000010101010101010101010101010101011D
+:10538000010101010101010101010101010101010D
+:1053900001010101010101020001010101010101FD
+:1053A00001010101010101020202020202020200E6
+:1053B00002020000010100020101010101020202DA
+:1053C00002020101010101010102010101010101CA
+:1053D00001000101010101010101010101010101BE
+:1053E00001010101010101010201020202020102A7
+:1053F000010201010101010101010101020101019B
+:10540000010101010101010101010101010101018C
+:10541000010101010101010101010101010101017C
+:10542000010101010101010101010101010101016C
+:10543000010101010101010101010101010101015C
+:10544000010101010101010101010101010101014C
+:10545000010101010101010101010101010101013C
+:10546000010101010101010101010101010101012C
+:10547000010101010101010101010101010101011C
+:10548000010101010101010101010101010101010C
+:1054900001010101010101020001010101010101FC
+:1054A00001010101010101020201010202010200E8
+:1054B00000020000010100020101010101020101DD
+:1054C00002020101010101010102010101010101C9
+:1054D00001000101010101010101010101010101BD
+:1054E00001010101010101010101010202020102A8
+:1054F000010201010101010101010101020101019A
+:10550000010101010101010101010101010101018B
+:10551000010101010101010101010101010101017B
+:10552000010101010101010101010101010101016B
+:10553000010101010101010101010101010101015B
+:10554000010101010101010101010101010101014B
+:10555000010101010101010101010101010101013B
+:10556000010101010101010101010101010101012B
+:10557000010101010101010101010101010101011B
+:10558000010101010101010101010101010101010B
+:1055900001010101010101020000010101010101FC
+:1055A00001010100000001020201010201010000ED
+:1055B00000000000010100020101010101020101DE
+:1055C00001010101010101010102010101010101CA
+:1055D00001000101010101010101010101010101BC
+:1055E00001010101010101010101010101010102AA
+:1055F000010101010101010101010101010101019B
+:10560000010101010101010101010101010101018A
+:10561000010101010101010101010101010101017A
+:10562000010101010101010101010101010101016A
+:10563000010101010101010101010101010101015A
+:10564000010101010101010101010101010101014A
+:10565000010101010101010101010101010101013A
+:10566000010101010101010101010101010101012A
+:105670000101010101010101020101010101010119
+:10568000010101010101010101010101010101010A
+:105690000101010101010102000000000000000001
+:1056A00000000000000001010201010101010000F1
+:1056B00000000000010100020101010101010101DE
+:1056C00001010101010101010102010101010101C9
+:1056D00001000101010101010101010101010101BB
+:1056E00001010101010101010101010101010101AA
+:1056F000010101010101010101010101010101019A
+:105700000101010101010101010101010101010189
+:105710000101010101010101010101010101010179
+:105720000101010101010101010101010101010169
+:105730000101010101010101010101010101010159
+:105740000101010101010101010101010101010149
+:105750000101010101010101010101010101010139
+:105760000101010101010101010101010101010129
+:105770000101010101010102020101010101010117
+:105780000101010101010101010101010101010109
+:105790000101010101010102000000000000000000
+:1057A00000000000000001010101010101010000F1
+:1057B00000000000010100020101010101010101DD
+:1057C00001010101010101010102010101010101C8
+:1057D00001000101010101010101010101010101BA
+:1057E00001010101010101010101010101010101A9
+:1057F0000101010101010101010101010101010199
+:105800000101010101010101010101010101010188
+:105810000101010101010101010101010101010178
+:105820000101010101010101010101010101010168
+:105830000101010101010101010101010101010158
+:105840000101010101010101010101010101010148
+:105850000101010101010101010101010101010138
+:105860000101010101010101010101010101010128
+:105870000101010101010102020201010101010115
+:105880000101010202010201020101010101010104
+:1058900001010101010101020000000000000000FF
+:1058A00000000000000001010101010101010000F0
+:1058B00000000000010100020101010101010101DC
+:1058C00001010101010101010102010101010101C7
+:1058D00001000101010101010101010101010101B9
+:1058E00001010101010101010101010101010101A8
+:1058F0000101010101010101010101010101010198
+:105900000101010101010101010101010101010187
+:105910000101010101010101010101010101010177
+:105920000101010101010101010101010101010167
+:105930000101010101010101010101010101010157
+:105940000101010101010101010101010101010147
+:105950000101010101010101010101010101010137
+:105960000101010101010101010101010101010127
+:105970000101010101010102020202020102010210
+:1059800002020202020202020201010101020202FB
+:1059900001020102020102020000000000000000FA
+:1059A00000000000000002010101010101010000EE
+:1059B00000000000010100020101010101010101DB
+:1059C00001010101010101010102010101010101C6
+:1059D00001000101010101010101010101010101B8
+:1059E00001010101010101010101010101010101A7
+:1059F0000101010101010101010101010101010197
+:105A00000101010101010101010101010101010186
+:105A10000101010101010101010101010101010176
+:105A20000101010101010101010101010101010166
+:105A30000101010101010101010101010101010156
+:105A40000101010101010101010101010101010146
+:105A50000101010101010101010101010101010136
+:105A60000101010101010101010101010101010126
+:105A7000010101010101010202020202020202020D
+:105A800002020202020202020202010101020202F9
+:105A900002020202020202020000000000000000F6
+:105AA00000000000000002010102020101020000EA
+:105AB00000000000010101020101010101010101D9
+:105AC00001010101010101010101010101010101C6
+:105AD00001000101010101010101010101010101B7
+:105AE00001010101010101010101010101010101A6
+:105AF0000101010101010101010101010101010196
+:105B00000101010101010101010101010101010185
+:105B10000101010101010101010101010101010175
+:105B20000101010101010101010101010101010165
+:105B30000101010101010101010101010101010155
+:105B40000101010101010101010101010101010145
+:105B50000101010101010101010101010101010135
+:105B60000101010101010101010101010101010125
+:105B7000010101010101010202020202020202020C
+:105B800002020202020202020202020202020202F5
+:105B900002020202020202020000000000000000F5
+:105BA00000000000000002010102020102020000E8
+:105BB00000000000000001020101010101010101DA
+:105BC00001010101010101010101010101010101C5
+:105BD00001000101010101010101010101010101B6
+:105BE00001010101010101010101010101010101A5
+:105BF0000101010101010101010101010101010195
+:105C00000101010101010101010101010101010184
+:105C10000101010101010101010101010101010174
+:105C20000101010101010101010101010101010164
+:105C30000101010101010101010101010101010154
+:105C40000101010101010101010101010101010144
+:105C50000101010101010101010101010101010134
+:105C60000101010101010101020101010101010123
+:105C7000010101010100000202020202020202020D
+:105C800002020202020202020202020202020202F4
+:105C900002020202020202020000000000000000F4
+:105CA00000000000000002010102020202020000E6
+:105CB00000000000000001020101010101010101D9
+:105CC00001010101010101010101010101010101C4
+:105CD00001000101010101010101010101010101B5
+:105CE00001010101010101010101010101010101A4
+:105CF0000101010101010101010101010101010194
+:105D00000101010101010101010101010101010183
+:105D10000101010101010101010101010101010173
+:105D20000101010101010101010101010101010163
+:105D30000101010101010101010101010101010153
+:105D40000101010101010101010101010101010143
+:105D50000101010101010101010101010101010133
+:105D60000101010101010102020101010101010121
+:105D70000201020202020202020202020202020204
+:105D800002020202020202020202020202020202F3
+:105D900002020202020202020000000000000000F3
+:105DA00000000000020002010102020202020000E3
+:105DB00000000000000001010101010101010101D9
+:105DC00001010101010101010101010101010101C3
+:105DD00001000101010101010101010101010101B4
+:105DE00001010101010101010101010101010101A3
+:105DF0000101010101010101010101010101010193
+:105E00000101010101010101010101010101010182
+:105E10000101010101010101010101010101010172
+:105E20000101010101010101010101010101010162
+:105E30000101010101010101010101010101010152
+:105E40000101010101010101010101010101010142
+:105E50000101010101010101010101010101010132
+:105E6000010101010101000202020202020202021A
+:105E70000202020202020202020202020202020202
+:105E800002020202020202020202020202020202F2
+:105E900002020202020202020000000000000000F2
+:105EA00000000000020002010102020202020001E1
+:105EB00000000000000001010101010101010101D8
+:105EC00001010101010101010101010101010101C2
+:105ED00001000101010101010101010101010101B3
+:105EE00001010101010101010101010101010101A2
+:105EF0000101010101010101010101010101010192
+:105F00000101010101010101010101010101010181
+:105F10000101010101010101010101010101010171
+:105F20000101010101010101010101010101010161
+:105F30000101010101010101010101010101010151
+:105F40000101010101010101010101010101010141
+:105F50000101010101010100020101010101010131
+:105F60000101010102020202020202020202020215
+:105F70000202020202020202020202020202020201
+:105F800002020202020202020202020202020202F1
+:105F900002020202020202020000000000000202ED
+:105FA00002000200020002010102020202020001DC
+:105FB00000000000000001010101010101010101D7
+:105FC00001010101010101010101010101010101C1
+:105FD00001010101010101010101010101010101B1
+:105FE00001010101010101010101010101010101A1
+:105FF0000101010101010101010101010101010191
+:106000000101010101010101010101010101010180
+:106010000101010101010101010101010101010170
+:106020000101010101010101010101010101010160
+:106030000101010101010101010101010101010150
+:106040000101010101010101010101010101010140
+:10605000010101010101000202020102020201022A
+:106060000202020202020202020202020202020210
+:106070000202020202020202020202020202020200
+:1060800002020202020202020202020202020202F0
+:1060900002020202020202020200000200020202E6
+:1060A00002000202020202000101010202010001DB
+:1060B00000000001000001010101010101010101D5
+:1060C00001010101010101010101010101010101C0
+:1060D00001010101010101010101010101010101B0
+:1060E00001010101010100010101010101010101A1
+:1060F0000101010101010101010101010101010190
+:10610000010101010101010101010101010101017F
+:10611000010101010101010101010101010101016F
+:106120000100010101010101010101010101010160
+:106130000101010101000101010101010101010150
+:10614000010101010101010101010101010101013F
+:106150000101010102020202020202020202020223
+:10616000020202020202020202020202020202020F
+:1061700002020202020202020202020202020202FF
+:1061800002020202020202020202020202020202EF
+:1061900002020202020202020202000200020202E3
+:1061A00002020202020202000101010201010001D9
+:1061B00000000001000001010101010101010101D4
+:1061C00001010101010101010101010101010101BF
+:1061D00001010101010101010101010101010101AF
+:1061E00001010101010100010101010101010101A0
+:1061F000010101010101010101010101010101018F
+:10620000010101010101010101010101010101017E
+:10621000010101010101010101010101010101016E
+:106220000100010101010101010101010100010160
+:10623000010101010100020101010101010101014E
+:106240000101010101010202020202020202020234
+:10625000020202020202020202020202020202021E
+:10626000020202020202020202020202020202020E
+:1062700002020202020202020202020202020202FE
+:1062800002020202020202020202020202020202EE
+:1062900002020202020202020202020200020202E0
+:1062A00002020202020202000101010101010001D9
+:1062B00000000101000001010101010101010101D2
+:1062C00001010101010101010101010101010101BE
+:1062D00001010101010101010101010101010101AE
+:1062E00001010101000000010101010101010101A1
+:1062F000010101010101010101010101010101018E
+:10630000010102010101010001010101010101017D
+:10631000010101010101010101010101010100006F
+:10632000010000020100020202020101020002015A
+:106330000201020202020202020201010101010144
+:10634000010102020202020202020202020202022F
+:10635000020202020202020202020202020202021D
+:10636000020202020202020202020202020202020D
+:1063700002020202020202020202020202020202FD
+:1063800002020202020202020202020202020202ED
+:1063900002020202020202020202020200020202DF
+:1063A00002020202020202000001010101010001D9
+:1063B00001000101000001010101010101010101D0
+:1063C00001010101010101010101010101010101BD
+:1063D00001010101010101010101010101010101AD
+:1063E00001010101000000010101010101010101A0
+:1063F000010101010101010101000101010102018D
+:10640000010101010100000002010101010101017E
+:106410000101010102020202020201010101000068
+:10642000020002010202020202020202020202024F
+:10643000020202020202020202020202020202023C
+:10644000020202020202020202020202020202022C
+:10645000020202020202020202020202020202021C
+:10646000020202020202020202020202020202020C
+:1064700002020202020202020202020202020202FC
+:1064800002020202020202020202020202020202EC
+:1064900002020202020202020202020202020202DC
+:1064A00002020202020202000001010101010101D7
+:1064B00001010101000001010101010101010101CE
+:1064C00001010101010101010101010101010101BC
+:1064D00001010101010101020202010101010101A9
+:1064E000010101010000020001010101010101019E
+:1064F000010101010101010000000101010101018F
+:106500000001000100000202020202020202020275
+:10651000020202020202020202020202020202025B
+:10652000020202020202020202020202020202024B
+:10653000020202020202020202020202020202023B
+:10654000020202020202020202020202020202022B
+:10655000020202020202020202020202020202021B
+:10656000020202020202020202020202020202020B
+:1065700002020202020202020202020202020202FB
+:1065800002020202020202020202020202020202EB
+:1065900002020202020202020202020202020202DB
+:1065A00002020202020202000101010101010101D5
+:1065B00001010101000001010101010101010101CD
+:1065C00001010101010101010101010101010101BB
+:1065D00001010101010101020202020202020202A2
+:1065E0000202020202020200010101010101020194
+:1065F000000102010000020202020100010000028B
+:10660000000200020202020202020202020202026E
+:10661000020202020202020202020202020202025A
+:10662000020202020202020202020202020202024A
+:10663000020202020202020202020202020202023A
+:10664000020202020202020202020202020202022A
+:10665000020202020202020202020202020202021A
+:10666000020202020202020202020202020202020A
+:1066700002020202020202020202020202020202FA
+:1066800002020202020202020202020202020202EA
+:1066900002020202020202020202020202020202DA
+:1066A00002020202020202000101010101010101D4
+:1066B00001010101000001010101010101010101CC
+:1066C00001010101010101010101010101010101BA
+:1066D00001010101000101020202020202020202A2
+:1066E0000202020202020202020201010101010190
+:1066F000000101020202020202020202020202027E
+:106700000202020202020202020202020202020269
+:106710000202020202020202020202020202020259
+:106720000202020202020202020202020202020249
+:106730000202020202020202020202020202020239
+:106740000202020202020202020202020202020229
+:106750000202020202020202020202020202020219
+:106760000202020202020202020202020202020209
+:1067700002020202020202020202020202020202F9
+:1067800002020202020202020202020202020202E9
+:1067900002020202020202020202020202020202D9
+:1067A00002020202020202000101010101010101D3
+:1067B00001010101010101010101010101010101C9
+:1067C00001010101010101000101010101010101BA
+:1067D00001010101000101020202020202020202A1
+:1067E0000202020202020202020202020202020289
+:1067F0000202020202020202020202020202020279
+:106800000202020202020202020202020202020268
+:106810000202020202020202020202020202020258
+:106820000202020202020202020202020202020248
+:106830000202020202020202020202020202020238
+:106840000202020202020202020202020202020228
+:106850000202020202020202020202020202020218
+:106860000202020202020202020202020202020208
+:1068700002020202020202020202020202020202F8
+:1068800002020202020202020202020202020202E8
+:1068900002020202020202020202020202020202D8
+:1068A00002020202020202010101010101010101D1
+:1068B00001010101010101010101010101010101C8
+:1068C00001010101010101020201000101010100B8
+:1068D000010101010002020202020202020202029E
+:1068E0000202020202020202020202020202020288
+:1068F0000202020202020202020202020202020278
+:106900000202020202020202020202020202020267
+:106910000202020202020202020202020202020257
+:106920000202020202020202020202020202020247
+:106930000202020202020202020202020202020237
+:106940000202020202020202020202020202020227
+:106950000202020202020202020202020202020217
+:106960000202020202020202020202020202020207
+:1069700002020202020202020202020202020202F7
+:1069800002020202020202020202020202020202E7
+:1069900002020202020202020202020202020202D7
+:1069A00002020202020202010101010101010101D0
+:1069B00001010101010101010101010101010101C7
+:1069C00001010101010101020202020202020202AE
+:1069D0000200020202020202020202020202020299
+:1069E0000202020202020202020202020202020287
+:1069F0000202020202020202020202020202020277
+:106A00000202020202020202020202020202020266
+:106A10000202020202020202020202020202020256
+:106A20000202020202020202020202020202020246
+:106A30000202020202020202020202020202020236
+:106A40000202020202020202020202020202020226
+:106A50000202020202020202020202020202020216
+:106A60000202020202020202020202020202020206
+:106A700002020202020202020202020202020202F6
+:106A800002020202020202020202020202020202E6
+:106A900002020202020202020202020202020202D6
+:106AA00002020202020202010101010101010101CF
+:106AB00001010101010101010101010101010101C6
+:106AC00001010101010101020202020202020202AD
+:106AD0000202020202020202020202020202020296
+:106AE0000202020202020202020202020202020286
+:106AF0000202020202020202020202020202020276
+:106B00000202020202020202020202020202020265
+:106B10000202020202020202020202020202020255
+:106B20000202020202020202020202020202020245
+:106B30000202020202020202020202020202020235
+:106B40000202020202020202020202020202020225
+:106B50000202020202020202020202020202020215
+:106B60000202020202020202020202020202020205
+:106B700002020202020202020202020202020202F5
+:106B800002020202020202020202020202020202E5
+:106B900002020202020202020202020202020202D5
+:106BA00002020202020202010101010101010101CE
+:106BB00001010101010101010101010101010101C5
+:106BC00001010101010101000000000000000000BE
+:106BD00000000000000000020202020202020202A3
+:106BE0000202020202020202020202020202020285
+:106BF0000202020202020202020202020202020275
+:106C00000202020202020202020202020202020264
+:106C10000202020202020202020202020202020254
+:106C20000202020202020202020202020202020244
+:106C30000202020202020202020202020202020234
+:106C40000202020202020202020202020202020224
+:106C50000202020202020202020202020202020214
+:106C60000202020202020202020202020202020204
+:106C700002020202020202020202020202020202F4
+:106C800002020202020202020202020202020202E4
+:106C900002020202020202000000000000000000E6
+:106CA00000000000000000010101010101010101DB
+:106CB00001010101010101010200010101010101C4
+:106CC00001010101010101000000000000000000BD
+:106CD00000000000000000000000000000000000B4
+:106CE0000000000000000002020202020202020292
+:106CF0000202020202020202020202020202020274
+:106D00000202020202020202020202020202020263
+:106D10000202020202020202020202020202020253
+:106D20000202020202020202020202020202020243
+:106D30000202020202020202020202020202020233
+:106D40000202020202020202020202020202020223
+:106D50000202020202020202020202020202020213
+:106D60000202020202020202020202020202020203
+:106D700002020202020202020202020202020202F3
+:106D800002020202020202020202020202020202E3
+:106D900002020202020202000000000000000000E5
+:106DA00000000000000000010101010101010101DA
+:106DB00001010101010101020202010101020101BF
+:106DC00000010101010102000000000000000000BC
+:106DD00000000000000000000000000000000000B3
+:106DE00000000000000000000000000000000000A3
+:106DF0000000000000000000000000000000000093
+:106E00000000000000000000000000000000000082
+:106E10000000000000000000000000000000000072
+:106E20000000000000000000000000000000000062
+:106E30000000000000000002020202020202020240
+:106E40000202020202020202020202020202020222
+:106E50000202020202020202020202020202020212
+:106E60000202020202020202020202020202020202
+:106E700002020202020202020202020202020202F2
+:106E800002020202020202020202020202020202E2
+:106E900002020202020202000000000000000000E4
+:106EA00000000000000000010101010101010101D9
+:106EB00001010101010101000000000000000000CB
+:106EC00000000000000000000000000000000000C2
+:106ED00000000000000000010101010101010101A9
+:106EE0000101010101010101010101010101010192
+:106EF0000101010101010101010101010101010182
+:106F00000101010101010101010101010101010171
+:106F10000101010101010101010101010101010161
+:106F20000101010101010101010101010101010151
+:106F30000101010101010101010101010101010141
+:106F40000101010101010101010101010101010131
+:106F50000101010101010101010101010101010121
+:106F60000101010101010101010101010101010111
+:106F70000101010101010101010101010101010101
+:106F800001010101010101010101010101010101F1
+:106F900001010101010101000000000000000000EA
+:106FA00000000000000000010101010101010101D8
+:106FB00001010101010101000000000000000000CA
+:106FC00000000000000000000000000000000000C1
+:106FD00000000000000000010101010101010101A8
+:106FE0000101010101010101010101010101010191
+:106FF0000101010101010101010101010101010181
+:107000000101010101010101010101010101010170
+:107010000101010101010101010101010101010160
+:107020000101010101010101010101010101010150
+:107030000101010101010101010101010101010140
+:107040000101010101010101010101010101010130
+:107050000101010101010101010101010101010120
+:107060000101010101010101010101010101010110
+:107070000101010101010101010101010101010100
+:1070800001010101010101010101010101010101F0
+:1070900001010101010101000000000000000000E9
+:1070A00000000000000000010101010101010101D7
+:1070B00001010101010101000000000000000000C9
+:1070C00000000000000000000000000000000000C0
+:1070D00000000000000000010101010101010101A7
+:1070E0000101010101010101010101010101010190
+:1070F0000101010101010101010101010101010180
+:10710000010101010101010101010101010101016F
+:10711000010101010101010101010101010101015F
+:10712000010101010101010101010101010101014F
+:10713000010101010101010101010101010101013F
+:10714000010101010101010101010101010101012F
+:10715000010101010101010101010101010101011F
+:10716000010101010101010101010101010101010F
+:1071700001010101010101010101010101010101FF
+:1071800001010101010101000000000000000000F8
+:1071900000000000000000000000000000000000EF
+:1071A00000000000000000010101010101010101D6
+:1071B00001010101010101000000000000000000C8
+:1071C00000000000000000000000000000000000BF
+:1071D00000000000000000010101010101010101A6
+:1071E0000101010101010100000000000000000098
+:1071F000000000000000000000000000000000008F
+:10720000000000000000000000000000000000007E
+:10721000000000000000000000000000000000006E
+:10722000000000000000000000000000000000005E
+:10723000000000000000000000000000000000004E
+:10724000000000000000000000000000000000003E
+:10725000000000000000000000000000000000002E
+:10726000000000000000000000000000000000001E
+:10727000000000000000000000000000000000000E
+:1072800000000000000000000000000000000000FE
+:1072900000000000000000000000000000000000EE
+:1072A00000000000000000000000000000000000DE
+:1072B00000000000000000000000000000000000CE
+:1072C00000000000000000000000000000000000BE
+:1072D00000000000000000000000000000000000AE
+:1072E000000000000000000000000000000000009E
+:1072F000000000000000000000000000000000008E
+:10730000000000000000000000000000000000007D
+:10731000000000000000000000000000000000006D
+:10732000000000000000000000000000000000005D
+:10733000000000000000000000000000000000004D
+:10734000000000000000000000000000000000003D
+:10735000000000000000000000000000000000002D
+:10736000000000000000000000000000000000001D
+:10737000000000000000000000000000000000000D
+:1073800000000000000000000000000000000000FD
+:1073900000000000000000000000000000000000ED
+:1073A00000000000000000390000000000000002A2
+:1073B00000020000000000000000000000000000CB
+:1073C00002000002000200000000000000000000B7
+:1073D00000000100000000000000000000000000AC
+:1073E0000002020000000000000200000200000095
+:1073F0000000000001000000020200000002020084
+:107400000000000000000200000000000002000078
+:10741000000000000000000000000000000000006C
+:10742000000000000000000000000000000000005C
+:10743000010000000000000000000000000000004B
+:10744000000000000000000000000002000000003A
+:10745000000000000000000000000000000000002C
+:10746000000000000000000000000000000000001C
+:10747000000000000000000000000000000000000C
+:1074800000000000000000000000000000000000FC
+:1074900000000000000000000000000000000000EC
+:1074A00000000000000000000000000000000202D8
+:1074B00002020000000000000000000000000002C6
+:1074C00002010202000200000000000000000000B3
+:1074D00000000102000000000000000000000200A7
+:1074E0000002020001000002000200000200000190
+:1074F0000000000001000000020200000002020083
+:107500000000020000000200000000000002000075
+:10751000000000000000000000000000000000006B
+:10752000000000010000000000000000000000005A
+:107530000200000000000000000000000000000049
+:107540000000000000000000000002020000000037
+:10755000000000000000000000000000000000002B
+:10756000000000000000000000000000000000001B
+:10757000000000000000000000000000000000000B
+:1075800000000000000000000000000000000000FB
+:1075900002000000020202020200000202000200D9
+:1075A00000000000000000000000000000000202D7
+:1075B00002020000000000000000000000000002C5
+:1075C00002010202000200000000000000000000B2
+:1075D00000000202000000000000000000000201A4
+:1075E000000202000100000200020000020000018F
+:1075F0000000000001000000020200000002020082
+:107600000000020000000200000000000002000074
+:107610000000000000000000000000000000000169
+:107620000000000100000000000000000000000059
+:10763000020200010101000000000000020202003D
+:107640000000000000000000000002020000000036
+:10765000000000000000000000000000000000002A
+:10766000000000000000000000000000000000001A
+:10767000000000000000000000000000000000000A
+:1076800002000002020002000200000202020002E8
+:1076900002020200020202020202020202000200D0
+:1076A00000000000000000000000000000000202D6
+:1076B00002020000000000000000000000000002C4
+:1076C00002010202000200000000000000000000B1
+:1076D00000000202000000000000000002000201A1
+:1076E000000202000100000200020000020002018C
+:1076F000000200000200000002020000000202017D
+:107700000000020000000200000000000002000073
+:107710000000000000000000000000000000000168
+:107720000100000101000000010100000000000054
+:107730000202000201010000020000000202020039
+:107740000000000000000000000002020000000035
+:107750000000000000000000000000000000000029
+:107760000000000000000000000000000000000019
+:107770000000000000000000000000000000000207
+:1077800002010202020002000202020202020002E0
+:1077900002020202020202020202020202020200CB
+:1077A00000020000000000000000000000000202D3
+:1077B00002020000000000000000000000000002C3
+:1077C00002020202000200000000000000000200AD
+:1077D00000000202000000000000000002000201A0
+:1077E0000002020002000002000200000200020289
+:1077F000000200000200000002020000000202017C
+:10780000010002000002020000000000020200006D
+:107810000000000000000000000000000000000266
+:107820000100010101000000010100000001000051
+:107830000202000201020000020000000202020037
+:107840000001000000000000000002020000000033
+:107850000000000000000000000000000000000028
+:107860000000000000000000000000000000000018
+:107870000000000000000000000000000000000206
+:1078800002020202020202020202020202020202D8
+:1078900002020202020202020202020202020200CA
+:1078A00000020000000000000000000000000202D2
+:1078B00002020000000000000000000000000002C2
+:1078C00002020202000200000000000000000200AC
+:1078D000000002020002000000000000020202029A
+:1078E0000002020002000002000200020200020286
+:1078F000000200000200000002020000000202027A
+:10790000010002000002020000000000020200006C
+:107910000000000000000000000000000000000265
+:10792000020001010100000002020100000101004B
+:107930000202000202020002020000000202020033
+:107940000002000000000000000002020000000031
+:107950000000000000000000000000000000000027
+:107960000000000000000000000000000000000017
+:107970000000000000000000000000000000000205
+:1079800002020202020202020202020202020202D7
+:1079900002020202020202020202020202020200C9
+:1079A00000020000000000000000000000000202D1
+:1079B00002020000000000000000000000000002C1
+:1079C00002020202000200000000000002000201A8
+:1079D0000000020200020000000000000202020299
+:1079E0000002020002000002000200020200020285
+:1079F0000102000002000000020200000002020278
+:107A0000020002000002020000000000020200006A
+:107A10000000000000000000000000000000000264
+:107A20000201010202000000020201010002010243
+:107A3000020200020202020202020200020202002C
+:107A4000000201000000000002000202000000002D
+:107A50000000000000000000000000000000000026
+:107A60000000000000000000000000000000000016
+:107A70000000000000000000000000000000000204
+:107A800002020202020202020202020202020202D6
+:107A900002020202020202020202020202020200C8
+:107AA00000020000000000000000000000000202D0
+:107AB00002020000000000000000000000000002C0
+:107AC00002020202000200000000000002000201A7
+:107AD0000000020200020202000000000202020294
+:107AE0000102020002000002000200020200020283
+:107AF0000102000002000000020200000002020277
+:107B00000200020000020200000000000202000168
+:107B10000000000000000000000000000000000263
+:107B2000020101020200000002020201010202023F
+:107B3000020200020202020202020200020202002B
+:107B40000002020002010000020002020202020022
+:107B50000000000000000000000000000000000025
+:107B60000000000000000000000000000000000213
+:107B70000001000000000000000000000000000202
+:107B800002020202020202020202020202020202D5
+:107B900002020202020202020202020202020200C7
+:107BA00002020000000000000000000002000102CC
+:107BB00002020000000000000000000000000002BF
+:107BC00002020202000200020000000002020201A2
+:107BD0000000020200020202000000000202020293
+:107BE0000102020002000002000200020200020282
+:107BF0000202010002000000020200000002020274
+:107C00000200020000020200000000000202000167
+:107C10000100000000000000000000000000000261
+:107C2000020102020200000002020202010202023C
+:107C30000202000202020202020202000202020228
+:107C4000000202000202020002000202020202001E
+:107C50000100010000000000000000000000000022
+:107C6000010000010001020002000000000000020B
+:107C70000001000000000000000000000000000201
+:107C800002020202020202020202020202020202D4
+:107C900002020202020202020202020202020100C7
+:107CA00002020000000000020000020002020102C5
+:107CB00002020000000000000000000000000002BE
+:107CC000020202020002000200020000020202029E
+:107CD0000000020200020202000000000202020292
+:107CE0000102020002000002000200020200020281
+:107CF0000202010002000000020200000002020273
+:107D00000200020000020200000000000202000265
+:107D10000100000000000000000000000000000260
+:107D20000202020202010001020202020202020237
+:107D30000202020202020202020202000202020225
+:107D4000010202020202020002000202020202001A
+:107D5000010201000000000000000000000000021D
+:107D60000102020200020200020200000000000202
+:107D700000010200000000000000000000000002FE
+:107D800002020202020202020202020202020202D3
+:107D900002020202020202020202020201020100C7
+:107DA00002020000000200020202020202020102BC
+:107DB00002020000000000000000000000000002BD
+:107DC000020202020002000200020000020202029D
+:107DD0000000020200020202000000000202020291
+:107DE000020202000200000200020002020002027F
+:107DF0000202010002000000020200000002020272
+:107E00000200020001020200000000000202020261
+:107E1000020000000100000100000000000000025C
+:107E20000202020202010001020202020202020236
+:107E30000202020202020202020202000202020224
+:107E40000202020202020202020002020202020115
+:107E50000102020002000000000000000000000219
+:107E600002020202000202000202000000000202FE
+:107E700001020202000202020000000000000202F1
+:107E800002020202020202020202020202020202D2
+:107E900002020202020202020202020101020100C7
+:107EA00002020000000202020202020202020102B9
+:107EB00002020000000000000000000000000002BC
+:107EC000020202020002000200020000020202029C
+:107ED0000000020200020202000000000202020290
+:107EE000020202000200000200020002020002027E
+:107EF0000202020002000000020200000002020270
+:107F0000020002000102020000000200020202025E
+:107F10000200000001000001000001000000010259
+:107F20000202020202010102020202020202020233
+:107F30000202020202020202020202020202020221
+:107F40000202020202020202020002020202020213
+:107F50000202020002000000000000000000000217
+:107F600002020202000202000202000200000202FB
+:107F700002020202000202020000000000000202EF
+:107F800002020202020202020202020202020202D1
+:107F900002020202020202020202020101010100C7
+:107FA00002020002020202020202020201020102B5
+:107FB00002020000000000000000000000000002BB
+:107FC000020202020002000200020000020202029B
+:107FD000000002020002020200000000020202028F
+:107FE000020202000200000200020002020002027D
+:107FF000020202000201000002020000000202026E
+:10800000020002000202020000000200020202025C
+:108010000200000001010002000001010101010253
+:108020000202020202020102020202020202020231
+:108030000202020202020202020202020202020220
+:108040000202020202020202020202020202020210
+:10805000020202000200020000000002020200020E
+:1080600002020202010202000202000202000202F7
+:1080700002020202000202020202000000000202EA
+:1080800002020202020202020202020202020202D0
+:1080900002020202020202010201010101010100C9
+:1080A00002020002020202020202020201010102B5
+:1080B00002020000000000000000000000000002BA
+:1080C0000202020200020002000202000202020298
+:1080D000000002020002020200000000020202028E
+:1080E000020202000200020200020002020002027A
+:1080F000020202000201000002020000000202026D
+:108100000202020002020200000002000202020259
+:10811000020000000201000200000201010102024F
+:10812000020202020202020202020202020202022F
+:10813000020202020202020202020202020202021F
+:10814000020202020202020202020202020202020F
+:10815000020202000200020000000002020200020D
+:1081600002020202020202000202000202000202F5
+:1081700002020202000202020202020000000202E7
+:1081800002020202020202020202020201010102D2
+:1081900002020202020102010101010101010100CA
+:1081A00002020002020202020202010201010102B5
+:1081B00002020000000000000000000000000002B9
+:1081C0000202020201020002020202020202020292
+:1081D000000002020002020200020000020202028B
+:1081E0000202020002000202000200020200020279
+:1081F000020202000201000002020000000202026C
+:108200000202020002020200000002000202020258
+:10821000020000000201000200000202020202024B
+:10822000020202020202020202020202020202022E
+:10823000020202020202020202020202020201021F
+:10824000020202020202020202020202020202020E
+:108250000202020202020200020000020202020204
+:1082600002020202020202020202000202000202F2
+:1082700002020202020202020202020000000202E4
+:1082800002020202020202020202020101010102D2
+:1082900002020202020101010101010101010100CA
+:1082A00002020002020202020202010101010102B5
+:1082B00002010000000000000000000000000002B9
+:1082C0000202020202020002020202020202020290
+:1082D000000002020002020200020000020202028A
+:1082E0000202020002000202000200020200020278
+:1082F000020202010202000002020000000201026A
+:108300000202020002020200000002000201020258
+:108310000200010002010002000002020202020249
+:10832000020202020202020202020202020202022D
+:10833000020202020202020202020202020101021F
+:10834000020202020202020202020201020202020E
+:108350000202020202020200020200020202020201
+:1083600002020202020202020202020202000202EF
+:1083700002020202020202020202020000000202E3
+:1083800002020202020202020202010101010102D2
+:1083900002020202010101010101010101010100CA
+:1083A00002020202020202010201010101010102B4
+:1083B00002010000000000000000000000000002B8
+:1083C000020202020202000202020202020202028F
+:1083D0000002020200020202000200000202010288
+:1083E0000202020002000202000200020100020278
+:1083F0000202020202020000020200000001010269
+:108400000202020002020200020002000201020255
+:108410000200010102020102000002020202020245
+:10842000020202020202020202020202020202022C
+:10843000020202020202020202020202010101021F
+:10844000020202020202020202020101020201020F
+:108450000202020202020200020200020202020200
+:1084600002020202020202020202020202000202EE
+:1084700002020202020202020202020000000202E2
+:1084800002020202020202020202010101010102D1
+:1084900001020101010101010101010101010100CC
+:1084A00002010202020202010101010101010102B5
+:1084B00002010000000000000000000000020002B5
+:1084C000020202020202000202020202020202028E
+:1084D0000002020200020202000200000202010287
+:1084E0000202020002000202000200020100010278
+:1084F0000202020202020000020100000001010269
+:108500000202020002020200020002000101020255
+:108510000200020102020102000002020202020243
+:10852000020202020202020202020202020101022D
+:10853000020202020202020202020202010101021E
+:108540000202020202020202020201010101010210
+:1085500002020202020202000202000202020202FF
+:1085600002020202020202020202020202000202ED
+:1085700002020202020202020202020000000202E1
+:1085800002020202020202020101010101010102D2
+:1085900001020101010101010101010101010100CB
+:1085A00002010202020102010101010101010101B6
+:1085B00002010000000000000000000000020002B4
+:1085C000020202020202000202020202020202028D
+:1085D0000002020200020202000200000102010287
+:1085E0000202020002000202000200020100010277
+:1085F0000202020202020000020100000001010268
+:108600000202020002020200020002000101020254
+:10861000020002020202020201000202020202023F
+:10862000020202020202020202020202020101022C
+:10863000020202020202020202020202010101021D
+:10864000020202020202020202020101010101020F
+:1086500002020202020202020202020202020202FA
+:1086600002020202020202020202020202020102EB
+:1086700002020202020202020202020202020102DB
+:1086800002020202020201010101010101010102D3
+:1086900001010101010101010101010101010100CB
+:1086A00001010202020101010101010101010101B7
+:1086B00002010000000000000000000000020002B3
+:1086C000020202020202000202020202020202028C
+:1086D0000002020200020202000200000101010287
+:1086E0000202020002000202000100020100010277
+:1086F0000202020202020000010100000001010268
+:108700000202020002020100020002000101010255
+:10871000020202020202020201000202020202023C
+:10872000020202020202020202010101010101022F
+:10873000020202020202020201020102010101021E
+:10874000020202020202020202020101010101020E
+:1087500002020202020202020202020202020202F9
+:1087600002020202020202020202020202020102EA
+:1087700002020202020202020202020202020102DA
+:1087800002020201010101010101010101010102D5
+:1087900001010101010101010101010101010100CA
+:1087A00001010202020101010101010101010101B6
+:1087B00002020200000000000000000000010002B0
+:1087C000020202020202000202020202020202028B
+:1087D0000002020200020202000200000101010286
+:1087E0000202020002000201000100010100010278
+:1087F0000202020202020200010100000001010265
+:108800000202020202020100020002000101010252
+:10881000020202020202020202000202020202023A
+:10882000020202020202020201010101010101022F
+:10883000020202020202020101010102010101021F
+:10884000020202020202020201020101010101020E
+:1088500002020202020202020202020202020102F9
+:1088600002020202020202020202020101020102EB
+:1088700002020202020202020202020202020102D9
+:1088800001020101010101010101010101010102D6
+:1088900001010101010101010101010101010100C9
+:1088A00001010201010101010101010101010101B7
+:1088B00002020200000000000000000000010002AF
+:1088C000020202020202000202020202020201028B
+:1088D0000002020200020202000200000101010285
+:1088E0000202020002000201000100010100010277
+:1088F0000202020202020200010100000001010264
+:108900000202010202010100020202000101010251
+:10891000020202020202020202000202020201023A
+:10892000020202020202020201010101010101022E
+:10893000020202020202020101010101010101021F
+:10894000020202020202020201020101010101020D
+:1089500002020202020202020202020101010102FB
+:1089600002020202020202020101020101020102EC
+:1089700002020202020202020202020202020102D8
+:1089800001020101010101010101010101010102D5
+:1089900001010101010101010101010101010100C8
+:1089A00001010201010101010101010101010101B6
+:1089B00002020200000000000000000000010002AE
+:1089C000020202020202000202020202020201028A
+:1089D0000002020100020202000200000101010285
+:1089E0000202010002000201000100010100010277
+:1089F0000202020202020200010100000001010263
+:108A0000020201020201010002020102010101024F
+:108A1000020202020202020202000202010201023A
+:108A2000020202020202020201010101010101022D
+:108A30000201020102010101010101010101010222
+:108A4000020202020202010101020101010101020E
+:108A500002020202020202020202020101010102FA
+:108A600002020202020202020101020101020102EB
+:108A700002020202020202020202020202020102D7
+:108A800001020101010101010101010101010101D5
+:108A900001010101010101010101010101010101C6
+:108AA00001010201010101010101010101010101B5
+:108AB00001020200000000000000000000010002AE
+:108AC000020201020202000202020202010201028B
+:108AD0000202020100010201000200000101010284
+:108AE0000201010102010201000100010102010273
+:108AF0000202020202020200010100000001010262
+:108B0000020201020201010002020102010101024E
+:108B1000020202020202020202000202010101023A
+:108B2000020202020202020101010101010101022D
+:108B30000101020102010101010101010101010222
+:108B40000202020201010101010101010101010210
+:108B500002020202020202020202020101010102F9
+:108B600002020202020201020101020101020102EB
+:108B700002020202020202010201010202020102D9
+:108B800001010101010101010101010101010101D5
+:108B900001010101010101010101010101010101C5
+:108BA00001010201010101010101010101010102B3
+:108BB00001020200000000000000000000010002AD
+:108BC000020201020201000202020202010101028C
+:108BD0000202010100010101000200000101010285
+:108BE0000201010202020201000100010102010270
+:108BF0000201020202020202010100000001010260
+:108C0000020201020201010202020102010101024B
+:108C1000020202020202020202000101010101023B
+:108C2000020202020102020101010101010101022D
+:108C30000101020102010101010101010101010221
+:108C40000201010101010101010101010101010212
+:108C500002020202020202020202020101010102F8
+:108C600002020202020101020101010101010102ED
+:108C700002020202020101010101010201010102DD
+:108C800001010101010101010101010101010101D4
+:108C900001010101010101010101010101010101C4
+:108CA00001010101010101010101010101010102B3
+:108CB00001010202000000000000000000010002AB
+:108CC000010201010201000202020202010101028D
+:108CD0000202010101010101000200000101010283
+:108CE000020101020202020100010001010201026F
+:108CF0000201020201020202010100000001010260
+:108D0000020201020201010202020102010101024A
+:108D10000202020202020201020201010101010239
+:108D2000010202020102020101010101010101022D
+:108D30000101020101010101010101010101010221
+:108D40000201010101010101010101010101010211
+:108D500002020202010201020101010101010102FC
+:108D600002020101020101010101010101010102EF
+:108D700002020101020101010101010101010102DF
+:108D800001010101010101010101010101010101D3
+:108D900001010101010101010101010101010102C2
+:108DA00001010101010101010101010101010102B2
+:108DB00001010202000000000000000000010002AA
+:108DC000010201010201000202020202010101028C
+:108DD0000202010102010101000100000101010282
+:108DE000020101020102020100010001010201026F
+:108DF000020102020102020201010000000101025F
+:108E0000010201020201010202020102010101024A
+:108E10000202020202020201020201010101010238
+:108E2000010202010102020101010101010101022D
+:108E30000101010101010101010101010101010221
+:108E40000201010101010101010101010101010210
+:108E500002010202010101020101010101010102FD
+:108E600002010101020101010101010101010102EF
+:108E700002020101020101010101010101010101DF
+:108E800001010101010101010101010101010101D2
+:108E900001010101010101010101010101010102C1
+:108EA00001000101000101010101010101010102B3
+:108EB00001010202000000000000000000010002A9
+:108EC000010201010201000102010202010101028D
+:108ED000020201010201010100010002010101027F
+:108EE000020101020102010102010001010201026D
+:108EF000020102020102020201010200000101025C
+:108F0000010201020201010201020101010101024B
+:108F10000202020202020201020201010101010237
+:108F2000010201010101010101010101010101022F
+:108F30000101010101010101010101010101010220
+:108F40000101010101010101010101010101010210
+:108F500002010101010101010101010101010102FF
+:108F600002010101020101010101010101010102EE
+:108F700002020101020101010101010101010101DE
+:108F800001010101010101010101010101010101D1
+:108F900001010101010101010101010101010102C0
+:108FA00001000101000101010101010101010102B2
+:108FB00001010202000000000000000000010002A8
+:108FC000010201010201000102010101010101028E
+:108FD000020201010201010100010202010101027C
+:108FE000020101020102010102010001010101026D
+:108FF000010102020102020201010202000101025A
+:10900000010201020101010201020101010101024B
+:109010000202020202020201020201010101010137
+:109020000101010101010101010101010101010130
+:10903000010101010101010101010101010101021F
+:10904000010101010101010101010101010101020F
+:1090500002010101010101010101010101010102FE
+:1090600001010101010101010101010101010102EF
+:1090700001020101010101010101010101010101DF
+:1090800001010101010101010101010101010101D0
+:1090900001010101010101010101010101010102BF
+:1090A00001000101000101010101010100000102B3
+:1090B00001010202000200000000000000010001A6
+:1090C000010101010201000102010101010101028E
+:1090D000020201010201010100010202010101027B
+:1090E000020101020102010102010001010101026C
+:1090F000010101020102020201010202000101015B
+:10910000010101020101010201010101010101024C
+:109110000102020202020201020201010101010137
+:10912000010101010101010101010101010101012F
+:10913000010101010101010101010101010101011F
+:10914000010101010101010101010101010101020E
+:1091500001010101010101010101010101010102FE
+:1091600001010101010101010101010101010101EF
+:1091700001010101010101010101010101010101DF
+:1091800001010101010101010101010101010101CF
+:1091900001010101010101010101010101010102BE
+:1091A00001000100000000000000000100000101BA
+:1091B00001010202000200000000000000010001A5
+:1091C000010101010201000101010101010101028E
+:1091D000020201010201010100010202010101027A
+:1091E000010101020102010102010001010101016D
+:1091F000010101010101020201010202020101015A
+:10920000010101020101010201010101010101024B
+:109210000102020201020201020201010101010137
+:10922000010101010101010101010101010101012E
+:10923000010101010101010101010101010101011E
+:10924000010101010101010101010101010101020D
+:1092500001010101010101010101010101010101FE
+:1092600001010101010101010101010101010101EE
+:1092700001010101010101010101010101010101DE
+:1092800001010101010101010101010101010101CE
+:1092900001010101010101010101010101010102BD
+:1092A00000000000000000000000000000000101BC
+:1092B00001010202000200020000000002000001A1
+:1092C000010101010201000101010101010101028D
+:1092D000020101010201010100010201010101017C
+:1092E000010101020102010102010001010101016C
+:1092F000010101010101010201010202020101015A
+:10930000010101010101010101010101010101024C
+:109310000102020201010101010201010101010139
+:10932000010101010101010101010101010101012D
+:10933000010101010101010101010101010101011D
+:10934000010101010101010101010101010101020C
+:1093500001010101010101010101010101010101FD
+:1093600001010101010101010101010101010101ED
+:1093700001010101010101010101010101010101DD
+:1093800001010101010101010101010101010101CD
+:1093900001010101010101010101010101010102BC
+:1093A00000000000000000000000000000000001BC
+:1093B000010102020002000200020000020000019E
+:1093C000010101010201000101010101010101028C
+:1093D000020101010201010100010101010101017C
+:1093E0000101010201020101020102010101010169
+:1093F000010101010101010101010101010101015D
+:10940000010101010101010101010101010101014C
+:10941000010201010101010101010101010101013B
+:10942000010101010101010101010101010101012C
+:10943000010101010101010101010101010101011C
+:10944000010101010101010101010101010101010C
+:1094500001010101010101010101010101010101FC
+:1094600001010101010101010101010101010101EC
+:1094700001010101010101010101010101010101DC
+:1094800001010101010101010101010101010101CC
+:1094900000010101010001000100010000010002C2
+:1094A00002000000000000000000000000000201B7
+:1094B0000101020200020202020200020200000197
+:1094C000010101010101000101010101010101018D
+:1094D000020101010201010100010101010101017B
+:1094E0000101010201020101020102010101010168
+:1094F000010101010101010101010101010101015C
+:10950000010101010101010101010101010101014B
+:10951000010101010101010101010101010101013B
+:10952000010101010101010101010101010101012B
+:10953000010101010101010101010101010101011B
+:10954000010101010101010101010101010101010B
+:1095500001010101010101010101010101010101FB
+:1095600001010101010101010101010101010101EB
+:1095700001010101010101010101010101010101DB
+:1095800001010101010101010101010101010101CB
+:1095900000010000000000000000000000000002C8
+:1095A00002000000000000000000020000000201B4
+:1095B0000101010200020202020202020100000196
+:1095C000010101010101000101010101010101018C
+:1095D000020101010201010100010101010101017A
+:1095E0000101010201010101010102010101010169
+:1095F000010101010101010101010101010101015B
+:10960000010101010101010101010101010101014A
+:10961000010101010101010101010101010101013A
+:10962000010101010101010101010101010101012A
+:10963000010101010101010101010101010101011A
+:10964000010101010101010101010101010101010A
+:1096500001010101010101010101010101010101FA
+:1096600001010101010101010101010101010101EA
+:1096700001010101010101010101010101010101DA
+:1096800001010101010101010101010101010101CA
+:1096900000000000000000000000000000000002C8
+:1096A00002000000000000020002020202000201AB
+:1096B0000100010202020202020202020100010193
+:1096C000010101010101000101010101010101018B
+:1096D0000101010102010101020101010101010178
+:1096E000010101010101010101010101010101016A
+:1096F000010101010101010101010101010101015A
+:109700000101010101010101010101010101010149
+:109710000101010101010101010101010101010139
+:109720000101010101010101010101010101010129
+:109730000101010101010101010101010101010119
+:109740000101010101010101010101010101010109
+:1097500001010101010101010101010101010101F9
+:1097600001010101010101010101010101010101E9
+:1097700001010101010101010101010101010101D9
+:1097800001010101010101010101010101010100CA
+:1097900002000000000200020002000202000202B9
+:1097A00002000000000200020202020202020201A4
+:1097B0000000010102020202020202010100010195
+:1097C000010101010101000101010101010101018A
+:1097D0000101010101010101020101010101010178
+:1097E0000101010101010101010101010101010169
+:1097F0000101010101010101010101010101010159
+:109800000101010101010101010101010101010148
+:109810000101010101010101010101010101010138
+:109820000101010101010101010101010101010128
+:109830000101010101010101010101010101010118
+:109840000101010101010101010101010101010108
+:1098500001010101010101010101010101010101F8
+:1098600001010101010101010101010101010101E8
+:1098700001010101010101010101010101010101D8
+:1098800001010101010101010101010101010100C9
+:1098900002000202020202020202020202020202AA
+:1098A00002000000000202020202020202020201A1
+:1098B0000000010102010201020101010100010198
+:1098C0000101010101010001010101010101010189
+:1098D0000101010101010101020101010101010177
+:1098E0000101010101010101010101010101010168
+:1098F0000101010101010101010101010101010158
+:109900000101010101010101010101010101010147
+:109910000101010101010101010101010101010137
+:109920000101010101010101010101010101010127
+:109930000101010101010101010101010101010117
+:109940000101010101010101010101010101010107
+:1099500001010101010101010101010101010101F7
+:1099600001010101010101010101010101010101E7
+:1099700001010101010101010101010101010101D7
+:1099800001010101010101010101010101010100C8
+:1099900002020202020202020202020202020202A7
+:1099A000020200020002020202020202020202019C
+:1099B0000000010102010201010101010100010198
+:1099C0000101010101010001010101010101010188
+:1099D0000101010101010101010101010101010177
+:1099E0000101010101010101010101010101010167
+:1099F0000101010101010101010101010101010157
+:109A00000101010101010101010101010101010146
+:109A10000101010101010101010101010101010136
+:109A20000101010101010101010101010101010126
+:109A30000101010101010101010101010101010116
+:109A40000101010101010101010101010101010106
+:109A500001010101010101010101010101010101F6
+:109A600001010101010101010101010101010101E6
+:109A700001010101010101010101010101010101D6
+:109A800002010101010101010101020202020202BF
+:109A900002020202020202020202020202020202A6
+:109AA000020200020002020202020202020202009C
+:109AB0000000010102010101010101010100010198
+:109AC0000101010101010001010101010101010187
+:109AD0000101010101010101010101010101010176
+:109AE0000101010101010101010101010101010166
+:109AF0000101010101010101010101010101010156
+:109B00000101010101010101010101010101010145
+:109B10000101010101010101010101010101010135
+:109B20000101010101010101010000000102010127
+:109B30000101010101010101010101010101010115
+:109B40000101010101010101010101010101010105
+:109B500001010101010101010101010101010101F5
+:109B600001010101010101010101010001010101E6
+:109B700001010101010101010101010101010101D5
+:109B800002010202020202020202020202020202B6
+:109B900002020202020202020202020202020202A5
+:109BA0000202020200020202020202020202020099
+:109BB0000000010102010101010101010100010197
+:109BC0000101010101010001010101010101010186
+:109BD0000101010101010101010101010101010175
+:109BE0000101010101010101010101010101010165
+:109BF0000101010101010101010101010101010155
+:109C00000101010101010101010101010101010144
+:109C10000101010101010101010101010201010133
+:109C20000101010101010100000000000201010128
+:109C30000101010101010101010101010102010113
+:109C40000101010101010101010101010202010102
+:109C500001010101010101010101010201010101F3
+:109C600001010101010101010000010000010101E8
+:109C700001010101010101010101010101010101D4
+:109C800002020202020202020202020202020202B4
+:109C900002020202020202020202020202020202A4
+:109CA0000202020202020202020202020202020096
+:109CB0000000010101010101010101010100010197
+:109CC0000101010101010201010101010101010183
+:109CD0000101010101010101010101010101010174
+:109CE0000101010101010101010101010101010164
+:109CF0000101010101010101010101010101010154
+:109D00000101010101010101010101010101010143
+:109D10000101010101010101010101010101010133
+:109D2000010101010101010000000000010000012A
+:109D3000010001010101010000000000010100011A
+:109D40000101010101010000000101010101000107
+:109D500001010101010101010101000101010001F5
+:109D600001010101010101010000010000010201E6
+:109D700001010101010101010100010101010202D2
+:109D800002020202020202020202020202020202B3
+:109D900002020202020202020202020202020202A3
+:109DA0000202020202020202020202020202020095
+:109DB0000100010101010101010101010100010195
+:109DC0000101010101010201010101010101010182
+:109DD0000101010101010101010101010101010173
+:109DE0000101010101010101010101010101010163
+:109DF0000101010101010101010001010101010154
+:109E00000101010101010101010101010101010142
+:109E10000101010101010102010102020001000131
+:109E2000010101010001010000000000000000002C
+:109E3000010001000100000000000000010000011D
+:109E4000000000000000000000000202000002010B
+:109E500000000100000000000000000001010001FE
+:109E600002020202010202020202020202020201D4
+:109E700002010202010202020202020202020202C4
+:109E800002020202020202020202020202020202B2
+:109E900002020202020202020202020202020202A2
+:109EA0000202020202020202020202020202020094
+:109EB0000100010101010101010101010100010194
+:109EC0000101010101010201010101010101010181
+:109ED0000101010101010101010101010101010172
+:109EE0000101010101010101010101010101010162
+:109EF0000101010101010101010001010101010153
+:109F00000101010101010101010101010101010141
+:109F10000101010101010101010101010000000134
+:109F20000201010100010100000000000000020028
+:109F30000200010001000000000000000200020019
+:109F400002020202020202020202020202020201F2
+:109F500000000000000000000000000002020202F9
+:109F600002020202020202020202020202020202D1
+:109F700002020202020202020202020202020202C1
+:109F800002020202020202020202020202020202B1
+:109F900002020202020202020202020202020202A1
+:109FA0000202020202020202020202020202020093
+:109FB0000100010101010101010101010100010193
+:109FC0000101010101010101010101010101010181
+:109FD0000101010101010101010101010101010171
+:109FE0000101010101010101010101010101010161
+:109FF0000101010101010101010001010101010152
+:10A00000010101010102020101010200010101013E
+:10A010000101010101010100010100000000000235
+:10A020000202020202020202020202020202020012
+:10A030000202020202020202020202020202020200
+:10A0400002020202020202020202020202020200F2
+:10A0500002020202020202020202020202020202E0
+:10A0600002020202020202020202020202020202D0
+:10A0700002020202020202020202020202020202C0
+:10A0800002020202020202020202020202020202B0
+:10A0900002020202020202020202020202020202A0
+:10A0A0000202020202020202020202020202020092
+:10A0B0000101010101010101010101010101010190
+:10A0C0000101010101010101010101010101010180
+:10A0D0000101010101010101010101010101010170
+:10A0E0000101010101010101010101010001010161
+:10A0F0000101010101010101000001010102010151
+:10A10000020102010101010101010100020202013B
+:10A11000020101010101010001010000000202022F
+:10A12000020202020202020202020202020202020F
+:10A1300002020202020202020202020202020202FF
+:10A1400002020202020202020202020202020202EF
+:10A1500002020202020202020202020202020202DF
+:10A1600002020202020202020202020202020202CF
+:10A1700002020202020202020202020202020202BF
+:10A1800002020202020202020202020202020202AF
+:10A19000020202020202020202020202020202029F
+:10A1A0000202020202020202020202020202020091
+:10A1B000010101010101010101010101010101018F
+:10A1C000010101010101010101010101010101017F
+:10A1D000010101010101010101010101010101016F
+:10A1E000010101010101020201000102000201015D
+:10A1F000020200000101010100000101010102024F
+:10A20000020202020202020202020202020202022E
+:10A21000020202020202020202020202020202021E
+:10A22000020202020202020202020202020202020E
+:10A2300002020202020202020202020202020202FE
+:10A2400002020202020202020202020202020202EE
+:10A2500002020202020202020202020202020202DE
+:10A2600002020202020202020202020202020202CE
+:10A2700002020202020202020202020202020202BE
+:10A2800002020202020202020202020202020202AE
+:10A29000020202020202020202020202020202029E
+:10A2A000020202020202020202020202020202018F
+:10A2B000010101010101010101010101010101018E
+:10A2C000010101010101010101010101010101017E
+:10A2D000010101010101020101010101020101016C
+:10A2E000020202010101010101000101000102025B
+:10A2F000020202020202020202020202020202023E
+:10A30000020202020202020202020202020202022D
+:10A31000020202020202020202020202020202021D
+:10A32000020202020202020202020202020202020D
+:10A3300002020202020202020202020202020202FD
+:10A3400002020202020202020202020202020202ED
+:10A3500002020202020202020202020202020202DD
+:10A3600002020202020202020202020202020202CD
+:10A3700002020202020202020202020202020202BD
+:10A3800002020202020202020202020202020202AD
+:10A39000020202020202020202020202020202029D
+:10A3A000020202020202020202020202020202018E
+:10A3B000010101010101010101010101010101018D
+:10A3C000010102010101010101010101010101017C
+:10A3D0000202020201020102010202020102020261
+:10A3E000020202020202020202020202020202024D
+:10A3F000020202020202020202020202020202023D
+:10A40000020202020202020202020202020202022C
+:10A41000020202020202020202020202020202021C
+:10A42000020202020202020202020202020202020C
+:10A4300002020202020202020202020202020202FC
+:10A4400002020202020202020202020202020202EC
+:10A4500002020202020202020202020202020202DC
+:10A4600002020202020202020202020202020202CC
+:10A4700002020202020202020202020202020202BC
+:10A4800002020202020202020202020202020202AC
+:10A49000020202020202020202020202020202029C
+:10A4A000020202020202020202020202020202018D
+:10A4B000010101010101010101010101010101018C
+:10A4C000010102010101010101010101010101027A
+:10A4D000020202020202020202020202020202025C
+:10A4E000020202020202020202020202020202024C
+:10A4F000020202020202020202020202020202023C
+:10A50000020202020202020202020202020202022B
+:10A51000020202020202020202020202020202021B
+:10A52000020202020202020202020202020202020B
+:10A5300002020202020202020202020202020202FB
+:10A5400002020202020202020202020202020202EB
+:10A5500002020202020202020202020202020202DB
+:10A5600002020202020202020202020202020202CB
+:10A5700002020202020202020202020202020202BB
+:10A5800002020202020202020202020202020202AB
+:10A59000020202020202020202020202020202009D
+:10A5A00000000000000000000000000000000001AA
+:10A5B000010101010101010101010101010101018B
+:10A5C0000101020101010101010101010101010279
+:10A5D000020202020202020202020202020202025B
+:10A5E000020202020202020202020202020202024B
+:10A5F000020202020202020202020202020202023B
+:10A60000020202020202020202020202020202022A
+:10A61000020202020202020202020202020202021A
+:10A62000020202020202020202020202020202020A
+:10A6300002020202020202020202020202020202FA
+:10A6400002020202020202020202020202020202EA
+:10A6500002020202020202020202020202020202DA
+:10A6600002020202020202020202020202020202CA
+:10A6700002020202020202020202020202020202BA
+:10A6800002020202020202020202020202020202AA
+:10A69000020202020202020202020202020202009C
+:10A6A00000000000000000000000000000000001A9
+:10A6B000010101010101010101010101010101018A
+:10A6C0000101010101010101010101010101010279
+:10A6D000020202020202020202020202020202025A
+:10A6E000020202020202020202020202020202024A
+:10A6F000020202020202020202020202020202023A
+:10A700000202020202020202020202020202020229
+:10A71000020202020202020202020202020202001B
+:10A720000000000000000000000000000000000227
+:10A7300002020202020202020202020202020202F9
+:10A7400002020202020202020202020202020202E9
+:10A7500002020202020202020202020202020202D9
+:10A7600002020202020202020202020202020202C9
+:10A7700002020202020202020202020202020202B9
+:10A7800002020202020202020202020202020200AB
+:10A7900000000000000000000000000000000000B9
+:10A7A00000000000000000000000000000000001A8
+:10A7B0000101010101010101010101010101010189
+:10A7C0000201010101010101010101010101010079
+:10A7D0000000000000000000000000000000000079
+:10A7E0000000000000000000000000000000000069
+:10A7F0000000000000000000000000000000000059
+:10A800000000000000000000000000000000000048
+:10A810000000000000000000000000000000000038
+:10A820000000000000000000000000000000000028
+:10A830000000000000000000000000000000000018
+:10A840000000000000000000000000000000000206
+:10A8500002020202020202020202020202020202D8
+:10A8600002020202020202020202020202020202C8
+:10A8700002020202020202020202020202020202B8
+:10A8800002020202020202020202020202020200AA
+:10A8900000000000000000000000000000000000B8
+:10A8A00000000000000000000000000000000001A7
+:10A8B0000101010101010101010101010101010287
+:10A8C0000202010101010001010101010101010078
+:10A8D0000000000000000000000000000000000078
+:10A8E0000000000000000000000000000000000068
+:10A8F0000000000000000000000000000000000058
+:10A900000000000000000000000000000000000047
+:10A910000000000000000000000000000000000136
+:10A920000101010101010101010101010101010018
+:10A930000000000000000000000000000000000017
+:10A940000000000000000000000000000000000106
+:10A9500001010101010101010101010101010100E8
+:10A9600000000000000000000000000000000002E5
+:10A9700002020202020202020202020202020202B7
+:10A9800002020202020202020202020202020201A8
+:10A9900001010101010101010101010101010100A8
+:10A9A00000000000000000000000000000000001A6
+:10A9B0000101010101010101010101010101010088
+:10A9C0000000000000000000000000000000000186
+:10A9D0000101010101010101010101010101010167
+:10A9E0000101010101010101010101010101010157
+:10A9F0000101010101010101010101010101010147
+:10AA00000101010101010101010101010101010136
+:10AA10000101010101010101010101010101010126
+:10AA20000101010101010101010101010101010116
+:10AA30000101010101010101010101010101010106
+:10AA400001010101010101010101010101010101F6
+:10AA500001010101010101010101010101010101E6
+:10AA600001010101010101010101010101010101D6
+:10AA700001010101010101010101010101010101C6
+:10AA800001010101010101010101010101010101B6
+:10AA900001010101010101010101010101010100A7
+:10AAA00000000000000000000000000000000001A5
+:10AAB0000101010101010101010101010101010087
+:10AAC0000000000000000000000000000000000185
+:10AAD0000101010101010101010101010101010166
+:10AAE0000101010101010101010101010101010156
+:10AAF0000101010101010101010101010101010146
+:10AB00000101010101010101010101010101010135
+:10AB10000101010101010101010101010101010026
+:10AB20000000000000000000000000000000000124
+:10AB30000101010101010101010101010101010105
+:10AB400001010101010101010101010101010100F6
+:10AB500000000000000000000000000000000001F4
+:10AB600001010101010101010101010101010101D5
+:10AB700001010101010101010101010101010101C5
+:10AB800001010101010101010101010101010102B4
+:10AB90000202020202020202020202020202020097
+:10ABA00000000000000000000000000000000000A5
+:10ABB0000000000000000000000000000000000095
+:10ABC0000000000000000000000000000000000085
+:10ABD0000000000000000000000000000000000075
+:10ABE0000000000000000000000000000000000065
+:10ABF0000000000000000000000000000000000055
+:10AC00000000000000000000000000000000000044
+:10AC10000000000000000000000000000000000034
+:10AC20000000000000000000000000000000000024
+:10AC30000000000000000000000000000000000014
+:10AC40000000000000000000000000000000000004
+:10AC500000000000000000000000000000000000F4
+:10AC600000000000000000000000000000000000E4
+:10AC700000000000000000000000000000000000D4
+:10AC800000000000000000000000000000000000C4
+:10AC900000000000000000000000000000000000B4
+:10ACA000000000000000000000000000000000366E
+:10ACB0000000000000000002000000000000000092
+:10ACC0000000000000000002000000010000000081
+:10ACD0000000000000000000000200000000000072
+:10ACE0000000000000000000000001000000000063
+:10ACF0000000000000000001000100000000000052
+:10AD00000000000000000000000000000200000041
+:10AD10000000000000000000000000000000000033
+:10AD20000000000000000000000000000000000023
+:10AD30000000000000000000000000000000000013
+:10AD40000000000000000000000000000000000003
+:10AD500000000000000000000000000000000000F3
+:10AD600000000000000000020000000000000000E1
+:10AD700000000000000000000000000002020000CF
+:10AD800000000200020000000100010101010000BA
+:10AD900000000002000000000000000000000000B1
+:10ADA000000000000000000000020000000002009F
+:10ADB000000000000000020200020000000000008D
+:10ADC000000000000000000202000001000000007E
+:10ADD000000000000000020000020000000000026D
+:10ADE000000000000000020000000100000000025E
+:10ADF000000200000000000202010000000000004C
+:10AE00000000000000020002000000010200020237
+:10AE10000000000000000000000000000000000032
+:10AE20000000000000000000000000000000000022
+:10AE30000000000000000000000000000000000012
+:10AE40000000000000000002000000000000000000
+:10AE500000000000000000000000000002000002EE
+:10AE600000000000000000020100000200020000DB
+:10AE700000000000000002020002000002020000C8
+:10AE800000000200020000020202020102010000B2
+:10AE900000020002000000000200000202020202A2
+:10AEA0000200020200020200000202000000020092
+:10AEB000000000000000020200020000000000008C
+:10AEC000000000000000000202000001000000007D
+:10AED000000000000000020000020000000100026B
+:10AEE0000002000000000200000001020000020257
+:10AEF0000002000000000202020100000200000047
+:10AF00000000000000020002000000010202020234
+:10AF10000000000000000000000000000000000031
+:10AF20000000000000000000000000000000000021
+:10AF3000000000000000000002000000000000000F
+:10AF400000000000000000020000000000000000FF
+:10AF500000000000000000000000000002000002ED
+:10AF600000000000000000020202000200020000D7
+:10AF700000000000000002020002020202020202BF
+:10AF800000000200020002020202020202020202A9
+:10AF9000020200020200000202010002020202029A
+:10AFA000020202020002020000020200000002028D
+:10AFB000000000000000020200020000000000008B
+:10AFC000000000000000000202000002000000007B
+:10AFD0000000000000000200000201000001000269
+:10AFE0000002000000000201000002020000020254
+:10AFF0000002000000000202020200000202000043
+:10B000000000000000020002000000020202020232
+:10B01000000000000002000000000000000000002E
+:10B020000000000000000000000000000000000020
+:10B03000000000000000000002000000020002000A
+:10B0400000000000000000020000000000000000FE
+:10B0500000000000000000000000010002020202E7
+:10B0600000000002000202020202020201020000CD
+:10B0700002000000000002020002020202020202BC
+:10B0800000020200020002020202020202020202A6
+:10B090000202000202000002020202020202020296
+:10B0A0000202020202020200000202020000020288
+:10B0B000000000000000020200020000000000008A
+:10B0C000000000000000000202000002000000007A
+:10B0D0000000000000000200000201000001000268
+:10B0E0000002000000000201000002020000020253
+:10B0F000000200000000020202020200020202003E
+:10B100000000000000020002000000020202020231
+:10B11000000000000002000000000000000000002D
+:10B12000020000000200000000000000000000001B
+:10B130000000000000000000020001000201020007
+:10B1400000000000000200020000000000000000FB
+:10B1500000000000000000000002020002020202E3
+:10B1600000000002000202020202020201020000CC
+:10B1700002000000000002020202020202020202B9
+:10B1800002020202020002020202020202020202A1
+:10B190000202020202000202020202020202020291
+:10B1A0000202020202020200000202020000020287
+:10B1B0000000000000000202000200000000000089
+:10B1C0000000000000000002020000020000000079
+:10B1D0000000000002020200000201000002000262
+:10B1E0000002000000000201000102020000020251
+:10B1F000000200000000020202020200020202003D
+:10B20000000000000002020200000002020202022E
+:10B21000000000000002000100000000000000002B
+:10B22000020000000200000000000000000000001A
+:10B230000000000000000000020001000202020005
+:10B2400000000000000200020000000000000200F8
+:10B2500000000000000000000002020002020202E2
+:10B2600000000002000202020202020202020202C6
+:10B2700002000000000002020202020202020202B8
+:10B2800002020202020002020202020202020202A0
+:10B290000202020202000202020202020202020290
+:10B2A0000202020202020200000202020000020286
+:10B2B0000000000000000202000200000000000088
+:10B2C0000000000000000002020000020000000078
+:10B2D000000000000202020100020200000200025F
+:10B2E000000200000000020200020202000002024E
+:10B2F000000200000000020202020200020202003C
+:10B30000000000000002020200000002020202022D
+:10B310000000000000020002000000020000000027
+:10B320000200000002000002000100000000000016
+:10B330000000000000000000020002000202020003
+:10B3400000000000000202020001000000000200F4
+:10B3500000000000000000020002020002020202DF
+:10B3600000000002000202020202020202020202C5
+:10B3700002020000000002020202020202020202B5
+:10B38000020202020202020202020202020202029D
+:10B39000020202020202020202020202020202028D
+:10B3A0000202020202020200020202020000020283
+:10B3B0000000000000000102000200000000000088
+:10B3C0000000000000000002020000020000000077
+:10B3D000000000000202020100020200000200025E
+:10B3E000000200000002020200020202000002024B
+:10B3F000000200000000020202020200020202003B
+:10B400000000000000020202000202020202020228
+:10B410000000000000020002000100020000000025
+:10B420000200000002000002000101000000000014
+:10B430000000000000000000020202000202020000
+:10B4400000000000000202020102000102000200EE
+:10B4500000000000000000020102020202020202DB
+:10B4600002000002000202020202020202020202C2
+:10B4700002020200000002020202020202020202B2
+:10B48000020202020202020202020202020202029C
+:10B49000020202020202020202020202020202028C
+:10B4A000020202020202020002020202020202027E
+:10B4B0000000000000000102020200000000000085
+:10B4C0000000000000000002020000020000000076
+:10B4D000000000000202020100020200000200025D
+:10B4E000000200000002020200020202000002024A
+:10B4F000000200000000020202020200020202003A
+:10B500000000000000020202000202020202020227
+:10B510000000000000020002020100020100000021
+:10B520000200000002000002000101000000000013
+:10B5300000000000000000010202020002020200FE
+:10B5400000000000000202020102000202000200EC
+:10B5500000000000000000020202020202020202D9
+:10B5600002000002000202020202020202020202C1
+:10B5700002020200000002020202020202020202B1
+:10B58000020202020202020202020202020202029B
+:10B59000020202020202020202020202020202028B
+:10B5A000020202020202010002020202020202027E
+:10B5B0000002000000000102020200000000000082
+:10B5C0000000000000000002020000020000000075
+:10B5D0000200000002020202000202020002000257
+:10B5E0000002000000020202000202020000020249
+:10B5F0000002000000000202020202000202020039
+:10B600000000000000020202020202020202020224
+:10B610000000000000020002020100020100000020
+:10B620000200020002020002000201010002020206
+:10B6300000000000000000020202020002020202FA
+:10B6400000000000000202020202000202020200E8
+:10B6500000000000000000020202020202020202D8
+:10B6600002000202000202020202020202020202BE
+:10B6700002020200000002020202020202020202B0
+:10B68000020202020202020202020202020202029A
+:10B69000020202020202020202020202020202028A
+:10B6A000020202020201010002020202020202027E
+:10B6B000000202000000010202020000000000007F
+:10B6C0000000000000000002020000020200000072
+:10B6D0000202000002020202000202020002000254
+:10B6E0000002000000020202000202020000020248
+:10B6F0000002020000000202020202000202020036
+:10B700000000000000020202020202020202020223
+:10B71000000000000002000202020202020100001A
+:10B720000200020002020002000202010002020204
+:10B7300000000000000000020202020002020202F9
+:10B7400000000000000202020202000202020200E7
+:10B7500002000000000000020202020202020202D5
+:10B7600002020202000202020202020202020202BB
+:10B7700002020200000002020202020202020202AF
+:10B780000202020202020202020202020202020299
+:10B790000202020202020202020202020202020289
+:10B7A000020202010201010002020202020202027E
+:10B7B000020202000002010202020000000000007A
+:10B7C0000000000000000002020000020200000071
+:10B7D0000202000202020202000202020002000251
+:10B7E0000002000000020202000202020000020247
+:10B7F0000002020000000202020202000202020035
+:10B800000000000000020202020202020202020222
+:10B810000000020000020002020202020201000017
+:10B820000200020002020202010202010002020200
+:10B8300000000000000000020202020002020202F8
+:10B8400000000000000202020202020202020200E4
+:10B8500002000000000200020202020202020202D2
+:10B8600002020202000202020202020202020202BA
+:10B8700002020200020002020202020202020202AC
+:10B880000202020202020202020202020202020298
+:10B890000202020202020202020202020202020288
+:10B8A000020202010201010002020102020201027F
+:10B8B0000202020200020102020200000000000077
+:10B8C0000000000000000002020000020200000070
+:10B8D0000202000202020202000202020002000250
+:10B8E0000002000000020202000202020000020246
+:10B8F0000002020200000202020202020202020030
+:10B900000000000000020202020202020202020221
+:10B910000200020000020002020202020202000211
+:10B9200002000200020202020102020200020202FE
+:10B9300000000000000000020202020202020202F5
+:10B9400000000000000202020202020202020202E1
+:10B9500002000000000200020202020202020202D1
+:10B9600002020202000202020202020202020202B9
+:10B9700002020200020001020202020202020202AC
+:10B980000202020202020102020202020202020298
+:10B990000202020202020202020202020202020287
+:10B9A0000202010101010100020201010202010281
+:10B9B0000202020202010102020200000000000075
+:10B9C000000000000000000202000002020002006D
+:10B9D000020200020202020200020202000200024F
+:10B9E0000002000000020202000202020000020245
+:10B9F000000202020000020202020202020202002F
+:10BA0000020000000002020202020202020202021E
+:10BA1000020002020002000202020202020200020E
+:10BA200002000200020202020102020202020202FB
+:10BA300000000000000000020202020202020202F4
+:10BA400002000000000101020202020202020202E0
+:10BA500002000000000202020202020202020202CE
+:10BA600002020202000201020202020202020202B9
+:10BA700002020202020201020202020202020202A7
+:10BA80000202020201020102020202020202020298
+:10BA90000202020102020102020202020202020288
+:10BAA0000101010101010100020101010202010184
+:10BAB0000201010202010102020200000000000076
+:10BAC000000000000000000202000002020102006B
+:10BAD000020200020202020200020202000200024E
+:10BAE0000002000000020202000202020001020243
+:10BAF000000202020000020202020202020202002E
+:10BB0000020000000002010202020202020202021E
+:10BB1000020002020002000202020202020202020B
+:10BB200002000200020202020202020202020202F9
+:10BB300000000000000000020202020202020202F3
+:10BB400002000000000101020202020202020202DF
+:10BB500002000000000202020202020202020202CD
+:10BB600002020202000101020202020202020202B9
+:10BB700002020202020201020202020202020202A6
+:10BB80000202010201020102020202020202020298
+:10BB90000202020101020102020202020202020288
+:10BBA0000101010101010100020101010202010183
+:10BBB0000201010102010102020100000000000077
+:10BBC0000000000000000002020000020202020069
+:10BBD000020200020202010200020202000200024E
+:10BBE0000002000000020102010202020002020241
+:10BBF000000202020000010202020202020202002E
+:10BC00000200000202020102020202020202020219
+:10BC10000202020200010002020202020202020209
+:10BC200002000200010201020202020202020202FA
+:10BC300002000000000002020202020202020202EE
+:10BC400002000000000101020202020202020202DE
+:10BC500002020000000202020202020202020202CA
+:10BC600002020201020101020202020202020202B7
+:10BC700002020202020201020202020202020202A5
+:10BC80000202010101010102020202020202020299
+:10BC9000020202010101010202020201020102028A
+:10BCA0000101010101010100010101010202010183
+:10BCB0000101010101010101020100000000000079
+:10BCC0000000000000000002020000020202020068
+:10BCD000020202020202010200020202000200024B
+:10BCE0000002000000020102010202020002020240
+:10BCF0000002020202000102020202020202020229
+:10BD00000202000202010102020202020202020217
+:10BD10000202020200010002020202020202020208
+:10BD200002000200010101020202020202020202FA
+:10BD300002000000000002020202020202020202ED
+:10BD400002000200000101020202020202020202DB
+:10BD500002020000000202020202020202020202C9
+:10BD600002020201020101020202020202020202B6
+:10BD700002020202020201020202020202020202A4
+:10BD80000202010101010102020202020202020298
+:10BD9000020101010101010202020201010101018E
+:10BDA0000101010101010100010101010101010184
+:10BDB0000101010101010101020100000000000078
+:10BDC0000000000000020002020000020202020065
+:10BDD000020202020202010200020202000200024A
+:10BDE000000200000002010202020202000202023E
+:10BDF0000001020202000102020202020202020229
+:10BE00000202000202010102020202020202020216
+:10BE10000202020202010002020202020202020205
+:10BE200002000200010101020202020202020202F9
+:10BE300002000000000002020202020202020202EC
+:10BE400002020200000101020202020202020202D8
+:10BE500002020200000202020202020202020202C6
+:10BE600002020201020101020202020202020202B5
+:10BE700002020202020201020202020202020202A3
+:10BE80000201010101010102020202020202020298
+:10BE9000010101010101010201020201010101018F
+:10BEA0000101010101010100010101010101010183
+:10BEB0000101010101010101020102000000020073
+:10BEC0000000000000020002020000020202020064
+:10BED000020202020201010200020202000200024A
+:10BEE000000200000002010202020202000202023D
+:10BEF0000001020202000102020202020202020228
+:10BF00000202000202010102020202020202010117
+:10BF10000202020202010002020202020202020204
+:10BF200001000200010101020202020202020202F9
+:10BF300002000000000002020202020201020202EC
+:10BF400002020200020101020202020202020202D5
+:10BF500002020200000202020202020202020202C5
+:10BF600002020201020101020202020202020202B4
+:10BF700001020202020201020202020201010202A5
+:10BF80000101010101010102020202020202020298
+:10BF9000010101010101010201020101010101018F
+:10BFA0000101010101010100010101010101010182
+:10BFB0000101010101010101020102000000020072
+:10BFC0000000000000020002020000020202020063
+:10BFD000020202020101010200020202000200024A
+:10BFE000020100000201010202020202000202013B
+:10BFF0000001020202000102020202020202020227
+:10C000000202020202010102020202020102010115
+:10C010000202020202010002020202020202020203
+:10C0200001000200010101020202020202020202F8
+:10C0300002020000000001020102020201020102EC
+:10C0400002020200020101020202020202020202D4
+:10C0500002020202020101020202020201020201C4
+:10C0600002020201020101020202020102010202B5
+:10C0700001010102020201020202020101010202A7
+:10C080000101010101010102020202020202020297
+:10C09000010101010101010201020101010101018E
+:10C0A0000101010101010100010101010101010181
+:10C0B0000101010101010101020102000000020071
+:10C0C0000000000000010002020000020202020063
+:10C0D0000202020201010102000202020002020247
+:10C0E000020100000201010202020202000201013B
+:10C0F0000201020202000102020202020202020224
+:10C100000202020202010102020202020101010115
+:10C110000202020102010002020202020202020203
+:10C1200001000100010101020202020202020202F8
+:10C1300002020000000001020102020201010102EC
+:10C1400002020202020101020202020202020202D1
+:10C1500002020202020101020202020201010101C5
+:10C1600001020101020101020202020102010202B6
+:10C1700001010102010101020201010101010101AC
+:10C180000101010101010102020202020102010199
+:10C19000010101010101010201010101010101018E
+:10C1A0000101010101010100010101010101010180
+:10C1B000010101010101010102020200000002006F
+:10C1C0000000000000010002020000020202020062
+:10C1D0000202020101010102020202020002020245
+:10C1E000020100000201010202020201000201013B
+:10C1F0000201020202000102010202020101020226
+:10C200000202020202010102020202010101010115
+:10C210000202010102010002020202020202020203
+:10C2200001000100010101020202020202020202F7
+:10C2300002020202020001020102020201010102E5
+:10C2400001020202020101020202020202020202D1
+:10C2500002020202020101020202020201010101C4
+:10C2600001010101020101020201010102010202B8
+:10C2700001010101010101020201010101010101AC
+:10C28000010101010101010201010101010101019D
+:10C29000010101010101010201010101010101018D
+:10C2A0000101010101010100010100010101010180
+:10C2B000010101010101010202020200000002006D
+:10C2C0000000000000010002020000020202020061
+:10C2D0000201020101010102020102020002020147
+:10C2E000020100000201010202020201000201013A
+:10C2F0000201020102000102010202020101020226
+:10C300000202020202010102020202010101010114
+:10C310000202010102010202020202010202020201
+:10C3200001000100010101020202020202010202F7
+:10C3300002020202020001020101010201010101E7
+:10C3400001020102010101020202020202020102D3
+:10C3500001020202020101020201010101010101C7
+:10C3600001010101010101020101010102010101BB
+:10C3700001010101010101020101010101010101AC
+:10C38000010101010101010201010101010101019C
+:10C39000010101010101010201010101010101018C
+:10C3A0000101010101010100010100000001010181
+:10C3B000010101010101010202020200000001006D
+:10C3C0000000000000010002020000020202020060
+:10C3D0000201020101010102020102020002020146
+:10C3E0000201000002010102020202010002010139
+:10C3F0000201010102000102010201020101010228
+:10C400000202020202010102020201010101010114
+:10C410000102010101010202020202010202020202
+:10C4200001020100010101020202020202010101F6
+:10C4300001020202020201020101010101010101E6
+:10C4400001010101010101020202020201020102D5
+:10C4500001020202020101020201010101010101C6
+:10C4600001010101010101020101010101010101BB
+:10C4700001010101010101020101010101010101AB
+:10C48000010101010101010201010101010101019B
+:10C49000010101010101010101010101010101018C
+:10C4A0000101010101010100010000000001010181
+:10C4B000010101010101010202020202000001006A
+:10C4C0000000000000010002010000010202020061
+:10C4D0000101020101010102020102020002020146
+:10C4E0000201000002010102020201010002010139
+:10C4F0000201010101000102010201020101010228
+:10C500000202020101010101020101010101010117
+:10C510000101010101010102010201010202020205
+:10C5200001020100010101020202020202010101F5
+:10C5300001020201010101020101010101010101E8
+:10C5400001010101010101010202020101010102D7
+:10C5500001010202020101020201010101010101C6
+:10C5600001010101010101010101010101010101BB
+:10C5700001010101010101010101010101010101AB
+:10C58000010101010101010101010101010101019B
+:10C59000010101010101010101010101010101018B
+:10C5A0000101010101010100010000000000000083
+:10C5B0000101010101010102020202020000020068
+:10C5C0000000000000010001010000010202020061
+:10C5D0000101020101010102020102010001020147
+:10C5E0000201020002010102020101010002010137
+:10C5F0000201010101000102010101020101010228
+:10C600000102020101010101010101010101010118
+:10C610000101010101010102010201010202020204
+:10C6200001020100010101020202020201010101F5
+:10C6300001010201010101020101010101010101E8
+:10C6400001010101010101010201020101010102D7
+:10C6500001010101010101020101010101010101C9
+:10C6600001010101010101010101010101010101BA
+:10C6700001010101010101010101010101010101AA
+:10C68000010101010101010101010101010101019A
+:10C69000010101010101010101010101010101018A
+:10C6A0000101010101010102010000000000000080
+:10C6B0000101010101010102020202020000020265
+:10C6C000000000000001000101000001010202025F
+:10C6D0000101020101010102020101010001020147
+:10C6E0000201020001010102020101010002010137
+:10C6F0000201010101000101010101010101010229
+:10C700000101020101010101010101010101010118
+:10C710000101010101010102010201010102020105
+:10C7200001020102010101010201010101010101F6
+:10C7300001010101010101020101010101010101E8
+:10C7400001010101010101010201010101010101D8
+:10C7500001010101010101020101010101010101C8
+:10C7600001010101010101010101010101010101B9
+:10C7700001010101010101010101010101010101A9
+:10C780000101010101010101010101010101010199
+:10C790000101010101010101010101010101010189
+:10C7A000010101010101010201000000000000007F
+:10C7B000000000010100010202010202000001026A
+:10C7C000000000000001000101010001010201025E
+:10C7D0000101010101010102020101010001020147
+:10C7E0000201020001010102020101010002010136
+:10C7F0000201010101000101010101010101010228
+:10C800000101010101010101010101010101010118
+:10C810000101010101010102010201010101010106
+:10C8200001020102010101010201010101010101F5
+:10C8300001010101010101010101010101010101E8
+:10C8400001010101010101010101010101010101D8
+:10C8500001010101010101010101010101010101C8
+:10C8600001010101010101010101010101010101B8
+:10C8700001010101010101010101010101010101A8
+:10C880000101010101010101010101010101010198
+:10C890000101010101010101010101010101010188
+:10C8A000010101010101010202000000000000007D
+:10C8B000000000000000010101010202000001026D
+:10C8C000000000000001000101020001010201025C
+:10C8D0000101010101010102020101010001020146
+:10C8E0000101020001010102020101010202010134
+:10C8F0000101010101020101010101010101010226
+:10C900000101010101010101010101010101010117
+:10C910000101010101010101010101010101010107
+:10C9200001020102010101010201010101010101F4
+:10C9300001010101010101010101010101010101E7
+:10C9400001010101010101010101010101010101D7
+:10C9500001010101010101010101010101010101C7
+:10C9600001010101010101010101010101010101B7
+:10C9700001010101010101010101010101010101A7
+:10C980000101010101010101010101010101010197
+:10C990000101010101010101010101010101010187
+:10C9A000010101010101010202000000000000007C
+:10C9B000000000000000010101010202000001026C
+:10C9C000000000000001000101020001010201025B
+:10C9D0000101010101010102020101010201020143
+:10C9E0000101020201010101020101010201010133
+:10C9F0000101010101010101010101010101010127
+:10CA00000101010101010101010101010101010116
+:10CA10000101010101010101010101010101010106
+:10CA200001010101010101010101010101010101F6
+:10CA300001010101010101010101010101010101E6
+:10CA400001010101010101010101010101010101D6
+:10CA500001010101010101010101010101010101C6
+:10CA600001010101010101010101010101010101B6
+:10CA700001010101010101010101010101010101A6
+:10CA80000101010101010101010101010101010196
+:10CA90000101010101010101010101010101010186
+:10CAA000010101010101010202000000000000007B
+:10CAB0000000000000000201010102020002010268
+:10CAC0000200000202010001010200010102010254
+:10CAD0000101010101010102020101010201010143
+:10CAE0000101010201010101020101010201010133
+:10CAF0000101010101010101010101010101010126
+:10CB00000101010101010101010101010101010115
+:10CB10000101010101010101010101010101010105
+:10CB200001010101010101010101010101010101F5
+:10CB300001010101010101010101010101010101E5
+:10CB400001010101010101010101010101010101D5
+:10CB500001010101010101010101010101010101C5
+:10CB600001010101010101010101010101010101B5
+:10CB700001010101010101010101010101010101A5
+:10CB80000101010101010101010101010101010195
+:10CB90000101010101010101010101010101010185
+:10CBA000010101010101010202000000000000007A
+:10CBB0000000000000000201010102020002010168
+:10CBC0000200000202000001010200010101010255
+:10CBD0000101010101010102020101010201010142
+:10CBE0000101010101010101020101010201010133
+:10CBF0000101010101010101010101010101010125
+:10CC00000101010101010101010101010101010114
+:10CC10000101010101010101010101010101010104
+:10CC200001010101010101010101010101010101F4
+:10CC300001010101010101010101010101010101E4
+:10CC400001010101010101010101010101010101D4
+:10CC500001010101010101010101010101010101C4
+:10CC600001010101010101010101010101010101B4
+:10CC700001010101010101010101010101010101A4
+:10CC80000101010101010101010101010101010194
+:10CC90000101010101010101010101010101010184
+:10CCA000010101000100000202000000000000007C
+:10CCB0000002020000000201010101020202010162
+:10CCC0000200000202000101010200010101010253
+:10CCD0000101010101010101020101010201010142
+:10CCE0000101010101010101010101010201010133
+:10CCF0000101010101010101010101010101010124
+:10CD00000101010101010101010101010101010113
+:10CD10000101010101010101010101010101010103
+:10CD200001010101010101010101010101010101F3
+:10CD300001010101010101010101010101010101E3
+:10CD400001010101010101010101010101010101D3
+:10CD500001010101010101010101010101010101C3
+:10CD600001010101010101010101010101010101B3
+:10CD700001010101010101010101010101010101A3
+:10CD80000101010101010101010101010101010193
+:10CD90000101010101010101000101000100010186
+:10CDA000000000000000000202000200000002007B
+:10CDB000020202020002020101010102020201015B
+:10CDC0000202000101000101010202010101010250
+:10CDD0000101010101010101010101010201010142
+:10CDE0000101010101010101010101010201010132
+:10CDF0000101010101010101010101010101010123
+:10CE00000101010101010101010101010101010112
+:10CE10000101010101010101010101010101010102
+:10CE200001010101010101010101010101010101F2
+:10CE300001010101010101010101010101010101E2
+:10CE400001010101010101010101010101010101D2
+:10CE500001010101010101010101010101010101C2
+:10CE600001010101010101010101010101010101B2
+:10CE700001010101010101010101010101010101A2
+:10CE80000101010101010101010101010101010192
+:10CE90000101010101010101000100000000000089
+:10CEA0000000000000000002020002020000020078
+:10CEB000020202020202020101010101020200015A
+:10CEC000020202010100010101020201010101024D
+:10CED0000101010101010101010101010201010141
+:10CEE0000101010101010101010101010201010131
+:10CEF0000101010101010101010101010101010122
+:10CF00000101010101010101010101010101010111
+:10CF10000101010101010101010101010101010101
+:10CF200001010101010101010101010101010101F1
+:10CF300001010101010101010101010101010101E1
+:10CF400001010101010101010101010101010101D1
+:10CF500001010101010101010101010101010101C1
+:10CF600001010101010101010101010101010101B1
+:10CF700001010101010101010101010101010101A1
+:10CF80000101010101010101010101010101010191
+:10CF90000101010101010101000000000000000089
+:10CFA000000000020002020202020202000002026D
+:10CFB0000202020202020201010101010202000258
+:10CFC000010202010100010101020201010101024D
+:10CFD0000101010101010101010101010201010140
+:10CFE0000101010101010101010101010101010131
+:10CFF0000101010101010101010101010101010121
+:10D000000101010101010101010101010101010110
+:10D010000101010101010101010101010101010100
+:10D0200001010101010100010101010101010101F1
+:10D0300001010101010101010101010101010101E0
+:10D0400001010101010101010101010101010101D0
+:10D0500001010101010101010101010101010101C0
+:10D0600001010101010101010101010101010101B0
+:10D0700001010101010101010101010101010101A0
+:10D080000101010101010101010101010101010190
+:10D090000101010101010100020000020002000083
+:10D0A0000202020202020202020202020002020262
+:10D0B0000202020202020200010101010202000258
+:10D0C000010101010100010101020201010101014F
+:10D0D0000101010101010101010101010101010140
+:10D0E0000101010101010101010101010101010130
+:10D0F0000101010101010101010101010101010120
+:10D10000010101010101010101010101010101010F
+:10D1100001010101010101010101010101010101FF
+:10D1200001010101010100010101010101010101F0
+:10D1300001010101010101010101010101010101DF
+:10D1400001010101010101010101010101010101CF
+:10D1500001010101010101010101010101010101BF
+:10D1600001010101010101010101010101010101AF
+:10D17000010101010101010101010101010101019F
+:10D18000010101010101010101010101010101018F
+:10D19000010101010101010002000202020202027A
+:10D1A0000202020202020202020202020002020261
+:10D1B0000202020202020200010001010201000259
+:10D1C000010101010100010101010201010101014F
+:10D1D000010101010101010101010101010101013F
+:10D1E000010101010101010101010101010101012F
+:10D1F000010101010101010101010101010101011F
+:10D20000010101010101010101010101010101010E
+:10D2100001010101010101010101010101010101FE
+:10D2200001010101010000010101010101010101F0
+:10D2300001010101010101010101010101010101DE
+:10D2400001010101010101010101010101010101CE
+:10D2500001010101010101010101010101010101BE
+:10D2600001010101010101010101010101010101AE
+:10D27000010101010101010101010101010101019E
+:10D280000101020202020201010101010101010189
+:10D290000101020202020200020202020202020272
+:10D2A000020202020202020202020202020202025E
+:10D2B0000202020202020200010001010101000259
+:10D2C000010101010100010101010101010101014F
+:10D2D000010101010101010101010101010101013E
+:10D2E000010101010101010101010101010101012E
+:10D2F000010101010101010101010101010101011E
+:10D300000101010101010001010101010101000010
+:10D3100001010101010101010101010101010101FD
+:10D3200001010101000000010101010101010101F0
+:10D3300001010101010101010101010101010101DD
+:10D3400001010101010201010101010101010101CC
+:10D3500001010101010101010101010101010101BD
+:10D3600001010102010201010101010101010101AB
+:10D370000101010101010101020202020202010197
+:10D380000202020202020201020101010101010185
+:10D39000020202020202020202020202020202026D
+:10D3A000020202020202020202020202020202025D
+:10D3B0000202020202020200010001010101000159
+:10D3C000010101010100010101010101010101014E
+:10D3D000010101010101010101010101010101013D
+:10D3E000010101010101010101010101010101012D
+:10D3F000010101010101010101010101010101011D
+:10D40000010101010101000101010101010100000F
+:10D4100001010100010101010101010101010101FD
+:10D4200001010101000000010101010101010101EF
+:10D4300001010101010101010001010100010101DE
+:10D4400000010101010100010101010101010101CE
+:10D4500001010101010201010101010101010002BB
+:10D4600001010101010102010101010101010101AB
+:10D470000101010101010202020202020202020292
+:10D48000020202020202020202020202020202027C
+:10D49000020202020202020202020202020202026C
+:10D4A000020202020202020202020202020202025C
+:10D4B0000202020202020200010001010101000158
+:10D4C000010101010100010101010101010101014D
+:10D4D000010101010101010101010101010101013C
+:10D4E000010101010101010101010101010101022B
+:10D4F000010101010101010100010101010101011D
+:10D50000010101010101000101010101010100000E
+:10D5100001010100010101010001000101010101FE
+:10D5200000010101000000010101010101000101F0
+:10D5300000010100000001000200000000000101E4
+:10D5400000000000000002000101010101010101D1
+:10D5500000000101010100010202020202020001B9
+:10D56000020202020202020102020202010201019F
+:10D57000020202020202020202020202020202028B
+:10D58000020202020202020202020202020202027B
+:10D59000020202020202020202020202020202026B
+:10D5A000020202020202020202020202020202025B
+:10D5B0000202020202020200010001010101000157
+:10D5C000010101010100010101010101010101014C
+:10D5D000010101010101010101010101010101013B
+:10D5E000010101010101010101010101010102012A
+:10D5F000010201010101010100010101010001011C
+:10D600000101010101010001000100000101000010
+:10D610000101000000000101000100010101010100
+:10D6200000010001000000010101010101000101F0
+:10D6300000000100000002000202020202020202D7
+:10D6400002020202020202000000000000000002CA
+:10D6500000000000000002020202020202020202B6
+:10D66000020202020202020202020202020202029A
+:10D67000020202020202020202020202020202028A
+:10D68000020202020202020202020202020202027A
+:10D69000020202020202020202020202020202026A
+:10D6A000020202020202020202020202020202025A
+:10D6B0000202020202020200010001010101000156
+:10D6C000010101010101010101010101010101014A
+:10D6D000010101010101010101010101010101013A
+:10D6E000010101010101010101010101010102002A
+:10D6F000010201010101010100010101000001011C
+:10D700000101010101010002020202020202000005
+:10D7100002020202020202010001000201010101F3
+:10D7200000010001000000020202020202020202E5
+:10D7300002020202020202020202020202020202C9
+:10D7400002020202020202020202020202020201BA
+:10D7500002020202020202020202020202020202A9
+:10D760000202020202020202020202020202020299
+:10D770000202020202020202020202020202020289
+:10D780000202020202020202020202020202020279
+:10D790000202020202020202020202020202020269
+:10D7A0000202020202020202020202020202020259
+:10D7B0000202020202020200010101010101000154
+:10D7C0000101010101010101010101010101010149
+:10D7D0000102010201010101010101010101010137
+:10D7E0000101010101010102010101010101010029
+:10D7F000010101010101010100010000000001011E
+:10D800000101010101010002020202020202020200
+:10D8100002020202020202010001000101010101F3
+:10D8200000010001000000020202020202020202E4
+:10D8300002020202020202020202020202020202C8
+:10D8400002020202020202020202020202020202B8
+:10D8500002020202020202020202020202020202A8
+:10D860000202020202020202020202020202020298
+:10D870000202020202020202020202020202020288
+:10D880000202020202020202020202020202020278
+:10D890000202020202020202020202020202020268
+:10D8A0000202020202020202020202020202020258
+:10D8B0000202020202020200010101010101000153
+:10D8C0000101010101010101010101010101010148
+:10D8D0000101010101010101010101010101000139
+:10D8E000010101010101010101000000010101002C
+:10D8F000000101000000000202020202000000001C
+:10D9000002020202020202020202020202020202F7
+:10D9100002020202020202020202020202020202E7
+:10D9200002020202020202020202020202020202D7
+:10D9300002020202020202020202020202020202C7
+:10D9400002020202020202020202020202020202B7
+:10D9500002020202020202020202020202020202A7
+:10D960000202020202020202020202020202020297
+:10D970000202020202020202020202020202020287
+:10D980000202020202020202020202020202020277
+:10D990000202020202020202020202020202020267
+:10D9A0000202020202020202020202020202020257
+:10D9B0000202020202020201010101010101000151
+:10D9C000010101010101010001010001010100014A
+:10D9D000010001000000000101010101010100013D
+:10D9E000010201010101010000000000000100002E
+:10D9F0000000010000000002020202020202020214
+:10DA000002020202020202020202020202020202F6
+:10DA100002020202020202020202020202020202E6
+:10DA200002020202020202020202020202020202D6
+:10DA300002020202020202020202020202020202C6
+:10DA400002020202020202020202020202020202B6
+:10DA500002020202020202020202020202020202A6
+:10DA60000202020202020202020202020202020296
+:10DA70000202020202020202020202020202020286
+:10DA80000202020202020202020202020202020276
+:10DA90000202020202020202020202020202020266
+:10DAA0000202020202020202020202020202020256
+:10DAB000020202020202020101010101010101014F
+:10DAC000010101010101010001000000000100014C
+:10DAD0000100010000000001020202020100000139
+:10DAE0000201020202020202020202020202020217
+:10DAF0000202020202020202020202020202020206
+:10DB000002020202020202020202020202020202F5
+:10DB100002020202020202020202020202020202E5
+:10DB200002020202020202020202020202020202D5
+:10DB300002020202020202020202020202020202C5
+:10DB400002020202020202020202020202020202B5
+:10DB500002020202020202020202020202020202A5
+:10DB60000202020202020202020202020202020295
+:10DB70000202020202020202020202020202020285
+:10DB80000202020202020202020202020202020275
+:10DB90000202020202020202020202020202020265
+:10DBA0000202020202020200000000000000000067
+:10DBB000000000000000000101010101010101015C
+:10DBC000010101010101010001000000000100014B
+:10DBD0000000010000000002020202020202020232
+:10DBE0000202020202020202020202020202020215
+:10DBF0000202020202020202020202020202020205
+:10DC000002020202020202020202020202020202F4
+:10DC100002020202020202020202020202020202E4
+:10DC200002020202020202020202020202020202D4
+:10DC300002020202020202020202020202020202C4
+:10DC400002020202020202020202020202020202B4
+:10DC500002020202020202020202020202020202A4
+:10DC60000202020202020202020202020202020294
+:10DC70000202020202020202020202020202020284
+:10DC80000202020202020202020202020202020274
+:10DC90000202020202020202020202020202020264
+:10DCA0000202020202020200000000000000000066
+:10DCB000000000000000000101010101010101015B
+:10DCC000010101010101010000000000000100014B
+:10DCD0000000020000000002020202020202020230
+:10DCE0000202020202020200000000000000000026
+:10DCF0000000000000000002020202020202020212
+:10DD00000202020202020200000000000000000005
+:10DD100000000000000000020202020202020202F1
+:10DD200002020202020202020202020202020202D3
+:10DD300002020202020202020202020202020202C3
+:10DD400002020202020202020202020202020202B3
+:10DD500002020202020202020202020202020202A3
+:10DD60000202020202020202020202020202020293
+:10DD70000202020202020202020202020202020283
+:10DD80000202020202020202020202020202020273
+:10DD90000202020202020202020202020202020263
+:10DDA0000202020202020200000000000000000065
+:10DDB000000000000000000101010101010101015A
+:10DDC0000101010101010100020000000001000148
+:10DDD0000000010000000002020202020202020230
+:10DDE0000202020202020200000000000000000025
+:10DDF0000000000000000000000000000000000023
+:10DE00000000000000000000000000000000000012
+:10DE10000000000000000000000000000000000002
+:10DE200000000000000000000000000000000000F2
+:10DE300000000000000000000000000000000000E2
+:10DE400000000000000000020202020202020202C0
+:10DE500002020202020202020202020202020202A2
+:10DE60000202020202020202020202020202020292
+:10DE70000202020202020202020202020202020282
+:10DE80000202020202020200000000000000000084
+:10DE90000000000000000000000000000000000082
+:10DEA0000000000000000000000000000000000072
+:10DEB0000000000000000001010101010101010159
+:10DEC000010101010101010000000000000000004B
+:10DED0000000000000000001010101010101010139
+:10DEE0000101010101010101010101010101010122
+:10DEF000010101010101010000000000000000001B
+:10DF00000000000000000001010101010101010108
+:10DF100001010101010101000000000000000000FA
+:10DF200000000000000000000000000000000000F1
+:10DF300000000000000000000000000000000000E1
+:10DF400000000000000000010101010101010101C8
+:10DF500001010101010101000000000000000000BA
+:10DF6000000000000000000202020202020202029F
+:10DF7000020202020202020101010101010101018A
+:10DF80000101010101010101010101010101010181
+:10DF9000010101010101010000000000000000007A
+:10DFA0000000000000000000000000000000000071
+:10DFB0000000000000000001010101010101010158
+:10DFC000010101010101010000000000000000004A
+:10DFD0000000000000000001010101010101010138
+:10DFE0000101010101010100020202020002000020
+:10DFF000020002020202020101010101010101010C
+:10E000000101010101010101010101010101010100
+:10E0100001010101010101010101010101010101F0
+:10E0200001010101010101010101010101010101E0
+:10E0300001010101010101010101010101010101D0
+:10E0400001010101010101010101010101010101C0
+:10E0500001010101010101010101010101010101B0
+:10E0600001010101010101010101010101010101A0
+:10E070000101010101010101010101010101010190
+:10E080000101010101010101010101010101010180
+:10E090000101010101010101010101010101010170
+:10E0A0000101010101010100000000000000000069
+:10E0B0000000000000000001010101010101010157
+:10E0C0000101010101010100000000000000000049
+:10E0D0000000000000000000000000000000000040
+:10E0E0000000000000000000000000000000000030
+:10E0F0000000000000000001010101010101010117
+:10E100000101010101010100000000000000000008
+:10E1100000000000000000000000000000000000FF
+:10E1200000000000000000010101010101010101E6
+:10E1300001010101010101010101010101010101CF
+:10E1400001010101010101000000000000000000C8
+:10E1500000000000000000010101010101010101B6
+:10E16000010101010101010101010101010101019F
+:10E170000101010101010100000000000000000098
+:10E18000000000000000000202020202020202027D
+:10E190000202020202020200000000000000000071
+:10E1A000000000000000000000000000000000006F
+:10E1B000000000000000000000000000000000005F
+:10E1C000000000000000000000000000000000004F
+:10E1D000000000000000000000000000000000003F
+:10E1E000000000000000000000000000000000002F
+:10E1F000000000000000000000000000000000001F
+:10E20000000000000000000000000000000000000E
+:10E2100000000000000000000000000000000000FE
+:10E2200000000000000000000000000000000000EE
+:10E2300000000000000000000000000000000000DE
+:10E2400000000000000000000000000000000000CE
+:10E2500000000000000000000000000000000000BE
+:10E2600000000000000000000000000000000000AE
+:10E27000000000000000000000000000000000009E
+:10E28000000000000000000000000000000000008E
+:10E29000000000000000000000000000000000007E
+:10E2A000000000000000000000000000000000006E
+:10E2B0000000000000000033000000000000000229
+:10E2C000000000000000000000000000000000024C
+:10E2D000000000000000000000000000000000003E
+:10E2E000000001000100000000020000000000002A
+:10E2F000000000000000000002000000020000001A
+:10E30000000000000000000000000000000000000D
+:10E3100000000000000000000000000000000000FD
+:10E3200000000000000000000000000000000000ED
+:10E3300000000000000000000000000000000000DD
+:10E3400000000000000000000000000000000000CD
+:10E3500000000000000000000000000000000000BD
+:10E3600000000000000000000000000000000000AD
+:10E37000000000000000000000000000000000009D
+:10E380000002020000020200000200000002000081
+:10E39000000000000000000000000000000000007D
+:10E3A000000000000000000000000000000000006D
+:10E3B0000002000000000000000000000000020257
+:10E3C000000000000000000000000000000000024B
+:10E3D000020000000000000000000000000000003B
+:10E3E0000000020201000000000200000000000125
+:10E3F0000000000000000000020000000200000019
+:10E40000000000000000000000000000000000000C
+:10E4100000000000000000000000000000000000FC
+:10E4200000000000000000000000000000000000EC
+:10E4300000000000000000000000000000000000DC
+:10E4400000000000000000000000000000000000CC
+:10E4500000000000000000000000000000000000BC
+:10E4600000000000000000000000000000000000AC
+:10E47000000000000000000000000000000000029A
+:10E480000202020100020202000202000002000079
+:10E49000000000000000000000000000000000007C
+:10E4A000000002000200020002020002020200005C
+:10E4B000000202020000020200000000000002024E
+:10E4C000000000000000000000000000000000024A
+:10E4D0000200020000000000000000000000000038
+:10E4E0000000020201000000000200000000020122
+:10E4F0000000000000000000020000000200020016
+:10E50000000000000000000000000000000000000B
+:10E5100000000000000000000000000000000000FB
+:10E5200000000000000000000000000000000000EB
+:10E5300000000001000000000000000000000000DA
+:10E5400000000000000000000000000000000000CB
+:10E5500000000000000000000000000000000000BB
+:10E5600000000000000000000000000000000000AB
+:10E570000000000000000000000000000000000299
+:10E580000202020200020202020202000002000075
+:10E590000000000000000000000000000000000279
+:10E5A0000202020102020202020202020202000050
+:10E5B000000202020000020200020000000002024B
+:10E5C0000000000000000000000000000000000249
+:10E5D0000200020000000000000000000000000136
+:10E5E000000002020200000200020000000002011E
+:10E5F000000000010001000202000200020002000F
+:10E60000000000000000000000000000000000000A
+:10E6100000000000000000000000000000000000FA
+:10E6200000000000000000000000000000000000EA
+:10E6300000000002010000000000000000000200D5
+:10E6400000000000000000000000000000000002C8
+:10E6500000000000000000000000000000000000BA
+:10E6600000000000000000000000000000000000AA
+:10E670000000000000000000000000000000000298
+:10E680000202020200020202020202000002000272
+:10E690000002000200010002000000000000000271
+:10E6A000020202020202020202020202020202004C
+:10E6B0000002020200020202020202000000020244
+:10E6C0000000000000000000000000000000000248
+:10E6D0000200020000000000000000000000020133
+:10E6E000000002020200000200020000000002021C
+:10E6F0000000020102010202020202000200020006
+:10E700000000000000000000000000000000000009
+:10E7100000000000000000020000000000000000F7
+:10E7200000000000000000000000000000000000E9
+:10E7300000010002020000020000000000000200D0
+:10E7400000000000000000000000000000000002C7
+:10E7500000000000000000000000000000000000B9
+:10E7600000000000000000000000000000000000A9
+:10E770000000000000000000000000000000000297
+:10E78000020202020202020202020200000202026D
+:10E790000002020202020002000200020000020265
+:10E7A000020202020202020202020202020202004B
+:10E7B0000002020202020202020202000000020241
+:10E7C0000000000000000000000000000000000247
+:10E7D0000200020000000000000000000000020132
+:10E7E000000002020200000200020000000002021B
+:10E7F0000000020202020202020202000200020003
+:10E800000000000000000000000000000000000008
+:10E8100000000100000000020000000000000002F3
+:10E8200000000000000000000000000000000000E8
+:10E8300000020102020000020000000000000200CD
+:10E8400000000000000000000000000000000002C6
+:10E8500000000000000000000000000000000000B8
+:10E8600000000000000000000000000000000000A8
+:10E870000000000000000000000000000000000296
+:10E88000020202020202020202020200000202026C
+:10E890000202020202020002000202020000020260
+:10E8A000020202020202020202020202020202004A
+:10E8B0000002020202020202020202000000010241
+:10E8C0000000000000000000000000000000000246
+:10E8D0000200020000000000000000000000020230
+:10E8E0000000020202000002000200000002020218
+:10E8F0000000020202020202020202000200020002
+:10E900000000000000000000000000000000000007
+:10E9100001020200000000020000000000000002EE
+:10E9200000000000000000000000000000000001E6
+:10E9300000020202020000020000000000000200CB
+:10E9400000000000000000000000000000000002C5
+:10E9500000000000000000000000000000000000B7
+:10E9600000000000010000000000000000000000A6
+:10E970000000000000000000000000000000000295
+:10E980000202020202020202020202000202020269
+:10E99000020202020202000200020202000002025F
+:10E9A0000202020202020202020202020202020049
+:10E9B0000002020202020202020202000000010240
+:10E9C0000000000000000000000000000000000245
+:10E9D000020002000000000000000000000002022F
+:10E9E0000000020202000002000202000002020215
+:10E9F0000100020202020202020202000200020000
+:10EA00000000000000000000000000000000000006
+:10EA100001020200000002020000000000000002EB
+:10EA200001010000000100000000000000000002E1
+:10EA300000020202020000020000000000000200CA
+:10EA400000000000000000000000000000000002C4
+:10EA500000000000000000000000000000000002B4
+:10EA6000000200020102020000000000000000009D
+:10EA70000000000000000000000000000000000294
+:10EA80000202020202020202020202000202020268
+:10EA9000020202020202000200020202000002025E
+:10EAA0000202020202020202020202020202020048
+:10EAB000000202020202020202020200000001023F
+:10EAC0000000000000000000000000000000000244
+:10EAD000020002000000000000000000000002022E
+:10EAE0000000020202000002000202000002020214
+:10EAF00001000202020202020202020002000200FF
+:10EB00000000000000000000000000000002000201
+:10EB100002020200000002020000000000000002E9
+:10EB200001010100010102000002000002020002D6
+:10EB300000020202020200020000000000000200C7
+:10EB400000000000000000000000000000000002C3
+:10EB500001020000000200000000000000000002AE
+:10EB60000002020201020200000002000000000098
+:10EB70000000000000010000000000000000000292
+:10EB80000202020202020202020202000202020267
+:10EB90000202020202020202000202020200020259
+:10EBA0000202020202020202020202020201010049
+:10EBB0000002020202020101010101000000010243
+:10EBC0000000000000000000000000000000000243
+:10EBD000020102000000000000000000000002022C
+:10EBE0000000020202000002000202000002020213
+:10EBF00001020202020202020202020002000200FC
+:10EC000000000200000000000000000000020002FE
+:10EC100002020200000002020000000000000002E8
+:10EC200001020100020202000002000002020002D2
+:10EC300000020202020200020000000000000200C6
+:10EC400000000000000000000000000000000002C2
+:10EC500002020200020200000002000000020202A2
+:10EC60000102020202020200020002000000020091
+:10EC70000000020001010200000200000000020288
+:10EC80000202020202020202020202000202020266
+:10EC90000202020202020202000202020200020258
+:10ECA000020202020202020202020201010101004A
+:10ECB0000002020202020101010101020000010240
+:10ECC0000000000000000000000000000000000242
+:10ECD0000201020000000000000000000002020229
+:10ECE0000000020202000002000202020002020210
+:10ECF00002020202020202020202020002000200FA
+:10ED000000000200000000000000000000020002FD
+:10ED100002020200000002020000000000000002E7
+:10ED200002020200020202000202000202020002CB
+:10ED300002020202020200020000000000000200C3
+:10ED400000000100000000000000000000000002C0
+:10ED5000020202010202000000020200000202029E
+:10ED6000020202020202020202000200000002018C
+:10ED70000201020001010202000202000000020280
+:10ED80000202020202020202020202020201020264
+:10ED90000202020202020202020202020202020253
+:10EDA0000202020202020202020202010101010049
+:10EDB000020202020202010101010102000001023D
+:10EDC0000000000000000000000000000000000241
+:10EDD0000201020200000000000000000002020226
+:10EDE000000002020200000200020202000202020F
+:10EDF00002020202020202020202020002000200F9
+:10EE000000000200000000000000000000020002FC
+:10EE100002020200000002020000000000000202E4
+:10EE200002020202020202000202000202020002C8
+:10EE300002020202020202020002000000000202BC
+:10EE400001020202000000000000000000020202B5
+:10EE5000020202010202000000020200000202029D
+:10EE60000202020202020202020202000000020288
+:10EE7000020102000202020200020200000002027D
+:10EE80000202020202020202020202020201010264
+:10EE90000202020202020202020202020202010253
+:10EEA000020202020202020201010201010101004A
+:10EEB000020202020201010101010101020201023A
+:10EEC000020000000000000000000000000000023E
+:10EED0000202020200000000000000000202020222
+:10EEE000000002020200000200020202000202020E
+:10EEF00002020202020202020202020002000200F8
+:10EF000000000200000000000000000000020002FB
+:10EF100002020200000002020000000000000202E3
+:10EF200002020202020202000202000202020202C5
+:10EF300002020202020202020002020202000202B5
+:10EF400001020202020000000000000000020202B2
+:10EF50000202020202020002000202000002020299
+:10EF60000202020202020202020202000000020287
+:10EF7000020202000202020200020200000002027B
+:10EF80000202020202020202020202020201010263
+:10EF90000202020202020202020202020202010252
+:10EFA000020202020202010101010101010101004C
+:10EFB000020201020201010101010101020101023B
+:10EFC000020000000000000000000000000000023D
+:10EFD000020202020000000200000000020202021F
+:10EFE000010202020200000200020202000201020B
+:10EFF00002020202020202020202020002000202F5
+:10F0000000000200000100000000000000020002F9
+:10F0100002020200010002020000000000000202E1
+:10F0200002020202020202000202000202020202C4
+:10F0300002020202020202020202020202000102B3
+:10F0400002020202020200000002000000020202AC
+:10F050000202020202020202020202000002020294
+:10F060000202020202020202020202000000020286
+:10F070000202020002020202020202000000020278
+:10F080000202020202020202020202020201010262
+:10F090000202020202020202020202010202010252
+:10F0A000020202020201010101010101010101004C
+:10F0B000020101010101010101010101010101023E
+:10F0C000020000000000000000000000000000023C
+:10F0D000020202020000020200000002020202021A
+:10F0E000010202020200000200020202000201020A
+:10F0F00002020202020202020202020201000102F4
+:10F1000000000200000100000002000000020002F6
+:10F1100002020200010002020000000000000202E0
+:10F1200002020202020202000202000202020202C3
+:10F1300002020202020202020202020202000102B2
+:10F1400002020202020200000002000000020202AB
+:10F150000202020202020202020202000002020293
+:10F160000202020202020202020202000000020285
+:10F170000202020202020202020202000000010276
+:10F180000202020202020202020101020201010263
+:10F190000202020202020202020202010202010251
+:10F1A000020202020201010101010101010101004B
+:10F1B000020101010101010101010101010101013E
+:10F1C000020000000000000000000000000000023B
+:10F1D0000202020200000202000000020202020219
+:10F1E0000202020202000002000202020002010208
+:10F1F00002020202020202020202020201000102F3
+:10F2000000000201000100000002000000020202F2
+:10F2100002020200020002020000000000000202DE
+:10F2200002020202020202020202020202020202BE
+:10F2300002020202020202020202020202000102B1
+:10F2400002020202020200020002000000020202A8
+:10F250000202020202020202020202000002010293
+:10F260000202020202020202020202000000010285
+:10F270000202020202020202020202000000010275
+:10F280000202020202020101010101020101010266
+:10F290000202020202020202020202010202010250
+:10F2A000010201020101010101010101010101004D
+:10F2B000020101010101010101010101010101013D
+:10F2C000020000000000000000000000000000023A
+:10F2D0000202020202000202020000020202010215
+:10F2E0000202020202020202020202020201010200
+:10F2F00002020202020202020102020201000102F3
+:10F3000000000201010200000002000000020202EF
+:10F3100002020201020002020000000000000102DD
+:10F3200002020202020202020202020201020202BE
+:10F3300002020202020202020202020202000102B0
+:10F3400002020202020202020002000000020102A6
+:10F350000202020202020202020202000002010292
+:10F360000202020202020202020202000000010284
+:10F370000202020202020202020202000000010274
+:10F380000202020202010101010101020101010266
+:10F390000202020202020201020101010101010254
+:10F3A000010201020101010101010101010101004C
+:10F3B000020101010101010101010101010101013C
+:10F3C0000200000000000000000000000000000239
+:10F3D0000202020202000202020002020202010212
+:10F3E00002020202020202020202020202010102FF
+:10F3F00002020202020202020102010201000102F3
+:10F4000002000201010200000002020000010102EC
+:10F4100002020202020002020000000002000102D9
+:10F4200002020202020202020202020201010202BE
+:10F4300002020202020202020202020202000102AF
+:10F4400002020202020202020002020000010102A4
+:10F450000202020202020202020202000001010292
+:10F460000202020202020202020202000000010283
+:10F470000202020202020202020202000200010271
+:10F480000202010202010101010101010101010267
+:10F490000202020202020201020101010101010253
+:10F4A000010101010101010101010101010101004D
+:10F4B000010101010101010101010101010101013C
+:10F4C0000200000000000000000000000000000238
+:10F4D000020202020200020202020202020201020F
+:10F4E00002020202020202020201020202010102FF
+:10F4F00002020202020202010101010201000102F4
+:10F5000002000202010200000202020000010102E8
+:10F5100002020202020002020000000002000102D8
+:10F5200002020202020202020202020201010102BE
+:10F5300002020202020202020202020202000102AE
+:10F5400002020202020202020202020000010102A1
+:10F550000202020202020202020202000001010291
+:10F56000020202020202020202020200020201027E
+:10F570000202020202020202020202000200010270
+:10F580000101010202010101010101010101010268
+:10F590000202020202020201020101010101010252
+:10F5A000010101010101010101010101010101004C
+:10F5B000010101010101010101010101010101013B
+:10F5C0000200020000000000000000020002000231
+:10F5D000010202020200020202020202020201020F
+:10F5E0000202020202020201020102010201010200
+:10F5F00002020202020201010101010201000102F4
+:10F6000002000202020200000202020000010102E6
+:10F6100002020202020002010000000202020102D4
+:10F6200002020202020202020202020101010102BE
+:10F6300002020202020202010202020202000102AE
+:10F6400002020202020202020202020000010102A0
+:10F65000020202020202020202020202020101028C
+:10F66000020202020202020202020102020201027C
+:10F67000020202020202020202010102020201026D
+:10F680000101010101010101010101010101010269
+:10F690000202020101010201020101010101010254
+:10F6A000010101010101010101010101010101004B
+:10F6B000010101010001000100010101010101013D
+:10F6C0000200020000000000000000020002000230
+:10F6D000010202020200020202020202020101020F
+:10F6E0000202010102020201020101010201010202
+:10F6F00002020202010201010101010201000102F4
+:10F7000002000202020200000202020000010102E5
+:10F7100002020202020202010000000202020102D1
+:10F7200002020202020202020201020101010102BE
+:10F7300002020202020202010202020101000102AF
+:10F74000020202020202020202020200000101029F
+:10F75000020202020202020202010102020101028D
+:10F76000020202020202010201020102020201027D
+:10F77000020202020202010102010102020201026E
+:10F780000101010101010101010101010101010268
+:10F790000201010101010101010101010101010257
+:10F7A000010101010101010101010101010101004A
+:10F7B0000101000100000000000000010101010240
+:10F7C0000200020000000000000000020001000230
+:10F7D000010202020200020202020202020101020E
+:10F7E0000202010101020201020101010201010202
+:10F7F00002020202010101010101010201000102F4
+:10F8000002000102020200000202020000010102E5
+:10F8100002020202020201010000000202020102D1
+:10F8200002020202020201020101020101010102BF
+:10F8300002020201010202010202020101020102AE
+:10F84000020202020202020202020200000101029E
+:10F85000020202020202020202010102020101028C
+:10F86000020202020201010101010102020201027F
+:10F87000020202020202010101010102010201026F
+:10F880000101010101010101010101010101010267
+:10F890000101010101010101010101010101010257
+:10F8A0000101010101010101010101010101010049
+:10F8B0000100000100000000000000010101010240
+:10F8C000020202000000000000000001000100022E
+:10F8D000010201020200020202020202010101020F
+:10F8E0000202010101020201020101010101010202
+:10F8F00002020101010101010101010101000102F6
+:10F9000002020102020200000202020002010102E0
+:10F9100002020202020201010002000202020102CE
+:10F9200002020202020201020101020101010102BE
+:10F9300002020201010102010201010101020102B0
+:10F94000020202020202020202010200020101029C
+:10F95000020202020201020202010102020101028C
+:10F960000202020102010101010101020201010280
+:10F97000020202020202010101010102010101026F
+:10F980000101010101010101010101010101010266
+:10F990000101010101010101010101010101010157
+:10F9A0000101010101010101010101010101010246
+:10F9B0000100000100000000000000000101010240
+:10F9C000020202000000000000000001000100022D
+:10F9D000010201020200020202020201010101020F
+:10F9E0000202010101020201020101010101010201
+:10F9F00002020101010101010101010101000102F5
+:10FA000002020102020200000202020002010102DF
+:10FA100002010102020201010002020201010102CF
+:10FA200002020202020201020101020101010102BD
+:10FA300002010101010101010101010101020102B3
+:10FA4000020202020202020202010200020101029B
+:10FA5000020202020101020101010102020101028E
+:10FA60000201010102010101010101010101010283
+:10FA70000102010202020101010101010101010172
+:10FA80000101010101010101010101010101010265
+:10FA90000101010101010101010101010101010156
+:10FAA0000101010101010101010101010101010245
+:10FAB0000100000000000000000000000000010242
+:10FAC000020202000000000000000001000100022C
+:10FAD000010201020200020202020201010101020E
+:10FAE0000202010101020201010101010101010201
+:10FAF00002020101010101010101010101020102F2
+:10FB000002020102020200000201020202010102DD
+:10FB100002010102020201010202020101010102CD
+:10FB200002020202010101020101010101010102BF
+:10FB300002010101010101010101010101010102B3
+:10FB40000202020202020202020102020201010199
+:10FB50000201010201010101010101010101010292
+:10FB60000201010102010101010101010101010282
+:10FB70000102010202020101010101010101010171
+:10FB80000101010101010101010101010101010165
+:10FB90000101010101010101010101010101010155
+:10FBA0000101010101010101010101010101010244
+:10FBB0000000000000000000000000000000010242
+:10FBC0000202020002000000000000010001000229
+:10FBD000010201020200020102020201010101020E
+:10FBE0000202010101020101010101010101010201
+:10FBF00002010101010101010101010101020102F2
+:10FC000002020102020202000201010202010102DB
+:10FC100001010102020201010202020101010102CD
+:10FC200002020201010101010101010101010102C0
+:10FC300001010101010101010101010101010102B3
+:10FC4000020202010101020102010102020101019D
+:10FC50000101010201010101010101010101010292
+:10FC60000101010101010101010101010101010283
+:10FC70000102010201010101010101010101010172
+:10FC80000101010101010101010101010101010164
+:10FC90000101010101010101010101010101010154
+:10FCA0000101010101010101010101010101010243
+:10FCB0000000000000000000000000000000010241
+:10FCC0000202020002020000000000010001000127
+:10FCD0000102010102000101010201010101010211
+:10FCE0000201010101010101010101010101010202
+:10FCF00002010101010101010101010101010102F2
+:10FD000002020102020202020101010201010102DA
+:10FD100001010102020201010202020101010101CD
+:10FD200002010101010101010101010101010102C1
+:10FD300001010101010101010101010101010102B2
+:10FD400002010101010101010101010201010101A1
+:10FD50000101010201010101010101010101010291
+:10FD60000101010101010101010101010101010282
+:10FD70000102010101010101010101010101010172
+:10FD80000101010101010101010101010101010163
+:10FD90000101010101010101010101010101010153
+:10FDA0000101010101010101010101010101010242
+:10FDB0000000000000000000000000000000000142
+:10FDC0000202020002020200000000010001000124
+:10FDD000010201010202010101010101010101020F
+:10FDE0000201010101010101010101010101010102
+:10FDF00001010101010101010101010101010102F2
+:10FE000002020102020202020101010101010102DA
+:10FE100001010102020201010202020101010101CC
+:10FE200001010101010101010101010101010102C1
+:10FE300001010101010101010101010101010102B1
+:10FE400002010101010101010101010101010101A1
+:10FE50000101010101010101010101010101010192
+:10FE60000101010101010101010101010101010281
+:10FE70000101010101010101010101010101010172
+:10FE80000101010101010101010101010101010162
+:10FE90000101010101010101010101010101010152
+:10FEA0000101010101010101010101010101010241
+:10FEB000000000000000000000000000000002013F
+:10FEC0000102020202020200000000010001000122
+:10FED0000102010101020101010101010101010110
+:10FEE0000101010101010101010101010101010102
+:10FEF00001010101010101010101010101010102F1
+:10FF000002020102020102020101010101010101DB
+:10FF100001010102010201010201010101010101CE
+:10FF200001010101010101010101010101010101C1
+:10FF300001010101010101010101010101010102B0
+:10FF400001010101010101010101010101010101A1
+:10FF50000101010101010101010101010101010191
+:10FF60000101010101010101010101010101010280
+:10FF70000101010101010101010101010101010171
+:10FF80000101010101010101010101010101010161
+:10FF90000101010101010101010101010101010151
+:10FFA0000101010101010101010101010101010240
+:10FFB000020000000000000000000000000002013C
+:10FFC000010202020202020000000001020101011E
+:10FFD0000101010101020101010101010101010110
+:10FFE0000101010101010101010101010101010101
+:10FFF00001010101010101010101010101010102F0
+:02000002D0002C
+:1000000001020102020102020101010101010101DB
+:1000100001010101010101010101010101010101D0
+:1000200001010101010101010101010101010101C0
+:1000300001010101010101010101010101010102AF
+:1000400001010101010101010101010101010101A0
+:100050000101010101010101010101010101010190
+:10006000010101010101010101010101010101027F
+:100070000101010101010101010101010101010170
+:100080000101010101010101010101010101010160
+:100090000101010101010101010101010101010150
+:1000A000010101010101010101010101010101023F
+:1000B0000200000000000202020202000000020131
+:1000C000010202020202020200000001020101011B
+:1000D000010101010102010101010101010101010F
+:1000E0000101010101010101010101010101010100
+:1000F00001010101010101010101010101010102EF
+:1001000001020102020102020101010101010101DA
+:1001100001010101010101010101010101010101CF
+:1001200001010101010101010101010101010101BF
+:1001300001010101010101010101010101010101AF
+:10014000010101010101010101010101010101019F
+:10015000010101010101010101010101010101018F
+:10016000010101010101010101010101010101017F
+:10017000010101010101010101010101010101016F
+:10018000010101010101010101010101010101015F
+:10019000010101010101010101010101010101014F
+:1001A0000201010101020202020201020202020234
+:1001B000020000000000020202020202000002012E
+:1001C000010201020202020202000001010001011B
+:1001D000010101010102010101010101010101010E
+:1001E00001010101010101010101010101010101FF
+:1001F00001010101010101010101010101010101EF
+:1002000001020101010101010101010101010101DD
+:1002100001010101010101010101010101010101CE
+:1002200001010101010101010101010101010101BE
+:1002300001010101010101010101010101010101AE
+:10024000010101010101010101010101010101019E
+:10025000010101010101010101010101010101018E
+:10026000010101010101010101010101010101017E
+:10027000010101010101010101010101010101016E
+:10028000010101010101010101010101010101015E
+:10029000010101010101010101010101010101014E
+:1002A0000201020101020202020202020202020231
+:1002B0000200000000020202020202020202020127
+:1002C000010201020202020202000100010001011A
+:1002D000010101010102010101010101010101010D
+:1002E00001010101010101010101010101010101FE
+:1002F00001010101010101010101010101010101EE
+:1003000001010101010101010101010101010101DD
+:1003100001010101010101010101010101010101CD
+:1003200001010101010101010101010101010101BD
+:1003300001010101010101010101010101010101AD
+:10034000010101010101010101010101010101019D
+:10035000010101010101010101010101010101018D
+:10036000010101010101010101010101010101017D
+:10037000010101010101010101010101010101016D
+:10038000010101010101010101010101010101015D
+:10039000010101010101010101010101010101014D
+:1003A000020202020202020202020202020202022D
+:1003B0000200020200020202020202020202020122
+:1003C000010101020101010202020100010001011B
+:1003D000010101010101010101010101010101010D
+:1003E00001010101010101010101010101010101FD
+:1003F00001010101010101010101010101010101ED
+:1004000001010101010101010101010101010101DC
+:1004100001010101010101010101010101010101CC
+:1004200001010101010101010101010101010101BC
+:1004300001010101010101010101010101010101AC
+:10044000010101010101010101010101010101019C
+:10045000010101010101010101010101010101018C
+:10046000010101010101010101010101010101017C
+:10047000010101010101010101010101010101016C
+:10048000010101010101010101010101010000015E
+:10049000010101010101010101010102010102014A
+:1004A000020202020202020202020202020202022C
+:1004B0000202020200020202020202020202020020
+:1004C000010101020101010101020200010001011B
+:1004D000010101010101010101010101010101010C
+:1004E00001010101010101010101010101010101FC
+:1004F00001010101010101010101010101010101EC
+:1005000001010201010101010101010101010101DA
+:1005100001010101010101010101010101010101CB
+:1005200001010101010101010101010101010101BB
+:1005300001010101010101010101010101010101AB
+:10054000010101010101010101010101010101019B
+:10055000010101010101010101010101010101018B
+:10056000010101010101010101010101010101017B
+:10057000010101010101010101010101010101016B
+:100580000001000101010000000000000002020162
+:100590000101010101010102010202020202020243
+:1005A000020202020202020202020202020202022B
+:1005B000020202020202020202020202020202001D
+:1005C000010101010101010101010200010001011C
+:1005D000010101010101010101010101010101010B
+:1005E00001010101010101010101010101010101FB
+:1005F00001010101010101010101010101010101EB
+:1006000001010101010101010101010101010001DB
+:1006100001010101010101010101010101010101CA
+:1006200001010101010101010101010100010101BB
+:1006300001010101010101010101010101010101AA
+:100640000101010101010101010101010102010199
+:10065000010101010101010101010101010101018A
+:10066000010101010101010101010101010101017A
+:10067000010101010101010101010101010100016B
+:10068000020202000002020202020202020202014F
+:10069000020202020202020202020202020202023A
+:1006A000020202020202020202020202020202022A
+:1006B000020202020202020202020202020202001C
+:1006C000010101010101010101010100010001011C
+:1006D000010101010101010101010101010101010A
+:1006E00001010101010101010101010101010101FA
+:1006F00001010101010101010101010101010101EA
+:1007000001010001010101010101010101010001DB
+:1007100001010101010101010101010101010101C9
+:1007200001010101010101010101010100010101BA
+:1007300001010101010101010101010101010101A9
+:10074000010101010101010101010101010100019A
+:10075000010101010101010101010101010100018A
+:100760000101010101010101010101010101010179
+:100770000001010101010000000000010001000072
+:100780000202020202020202020202020202020249
+:100790000202020202020202020202020202020239
+:1007A0000202020202020202020202020202020229
+:1007B000020202020202020202020202020202001B
+:1007C000010101010101010101010100010001011B
+:1007D0000201010101010101010101010101010108
+:1007E00001010101010101010101010101010101F9
+:1007F00001010101010101010101010101010101E9
+:1008000001010001010101010101010101010001DA
+:1008100001010101010101010101010101010001C9
+:1008200001010101010101010101010100010101B9
+:1008300001010101010101010101010101010101A8
+:10084000010101010101010101000101010000009C
+:10085000010101010101010101000001010100018B
+:100860000101010101010101010101010101000179
+:10087000000101010101000000000001000102026D
+:100880000202020202020202020202020202020248
+:100890000202020202020202020202020202020238
+:1008A0000202020202020202020202020202020228
+:1008B000020202020202020202020202020202001A
+:1008C000010101010101010101010100010001011A
+:1008D0000201010101010101010101010101010107
+:1008E00001010101010101010101010101010101F8
+:1008F00001010101010101010101010101010101E8
+:1009000001010001010101010101010101010001D9
+:1009100001010101010101010101010101010001C8
+:1009200001010101010101010101010100010101B8
+:1009300001010101010101010101010101010101A7
+:10094000010101010101010101000101010000009B
+:100950000101010101010101010000010102020187
+:10096000010101010101000000000000010102017C
+:10097000020102010101020202020202020202025B
+:100980000202020202020202020202020202020247
+:100990000202020202020202020202020202020237
+:1009A0000202020202020202020202020202020227
+:1009B0000202020202020202020202020202020019
+:1009C0000101010101010101010101000101010118
+:1009D0000201010101010101010101010101010106
+:1009E00001010101020101010101010101010101F6
+:1009F00001010102020202020202020102010101DE
+:100A000001010001010101010101010101010001D8
+:100A100001010101010101010101010101010001C7
+:100A200001010101010100010000010200010101B9
+:100A300001010101010101010101010000010201A7
+:100A40000101010101010101010001010100020098
+:100A50000202020102020202020202020202020178
+:100A60000202020201020202020202020202020168
+:100A70000202020202020202020202020202020256
+:100A80000202020202020202020202020202020246
+:100A90000202020202020202020202020202020236
+:100AA0000202020202020202020202020202020226
+:100AB0000202020202020202020202020202020018
+:100AC0000101010101010101010101010101010116
+:100AD0000101010101010101010101010101010106
+:100AE00002020201020102010201010202020201EC
+:100AF00001010102020202020202020102010101DD
+:100B000001010001010101010101010101000001D8
+:100B100001010101010101010101010101010002C5
+:100B200001010101010100010000010100020201B7
+:100B30000202020202020202020202020202020196
+:100B40000202020202020202020202020202020285
+:100B50000202020202020202020202020202020275
+:100B60000202020202020202020202020202020265
+:100B70000202020202020202020202020202020255
+:100B80000202020202020202020202020202020245
+:100B90000202020202020202020202020202020235
+:100BA0000202020202020202020202020202020225
+:100BB0000202020202020202020202020202020017
+:100BC0000101010101010101010101010101010115
+:100BD0000101010101010101010101010101010204
+:100BE00001010101020201010101010101010102F2
+:100BF00001010101010101010101010101010101E5
+:100C000001010001010001010101010101000001D8
+:100C100002020201010102020000000202020201BE
+:100C200002020202020202020202020202020202A4
+:100C30000202020202020202020202020202020294
+:100C40000202020202020202020202020202020284
+:100C50000202020202020202020202020202020274
+:100C60000202020202020202020202020202020264
+:100C70000202020202020202020202020202020254
+:100C80000202020202020202020202020202020244
+:100C90000202020202020202020202020202020234
+:100CA0000202020202020202020202020202020224
+:100CB0000202020202020202020202020202020115
+:100CC0000101010101010101010101010101010114
+:100CD0000101010101010101010101010101010104
+:100CE0000000000001010000000100000000000100
+:100CF00000000001010101010101010001000001EA
+:100D000002000001010000000202020202020202CF
+:100D100002020202020202020202020202020202B3
+:100D200002020202020202020202020202020202A3
+:100D30000202020202020202020202020202020293
+:100D40000202020202020202020202020202020283
+:100D50000202020202020202020202020202020273
+:100D60000202020202020202020202020202020263
+:100D70000202020202020202020202020202020253
+:100D80000202020202020202020202020202020243
+:100D90000202020202020202020202020202020233
+:100DA0000202020202020202020202020202020223
+:100DB0000202020202020202020202020202020114
+:100DC0000101010101010101010101010101010113
+:100DD0000000000000000000000000000000000013
+:100DE00000000000010000000001000000000002FF
+:100DF00002020202020202020202020202020202D3
+:100E000002020202020202020202020202020202C2
+:100E100002020202020202020202020202020202B2
+:100E200002020202020202020202020202020202A2
+:100E30000202020202020202020202020202020292
+:100E40000202020202020202020202020202020282
+:100E50000202020202020202020202020202020272
+:100E60000202020202020202020202020202020262
+:100E70000202020202020202020202020202020252
+:100E80000202020202020202020202020202020242
+:100E90000202020202020202020202020202020232
+:100EA0000202020202020202020202020202020024
+:100EB0000000000000000000000000000000000131
+:100EC0000101010101010101010101010101010112
+:100ED0000000000000000000000000000000000012
+:100EE00002020202010202020202020202020202E3
+:100EF00002020202020202020202020202020202D2
+:100F000002020202020202020202020202020202C1
+:100F100002020202020202020202020202020202B1
+:100F200002020202020202020202020202020202A1
+:100F30000202020202020202020202020202020291
+:100F40000202020202020202020202020202020281
+:100F50000202020202020202020202020202020271
+:100F60000202020202020202020202020202020261
+:100F70000202020202020202020202020202020251
+:100F80000202020202020202020202020202020241
+:100F90000202020202020202020202020202020231
+:100FA0000202020202020202020202020202020023
+:100FB0000000000000000000000000000000000130
+:100FC0000101010101010101010101010101010111
+:100FD000000000000000000000000000000000020F
+:100FE00002020202020202020202020202020201E2
+:100FF00001010101010101010101010101010102E0
+:1010000002020202020202020202020202020202C0
+:1010100002020202020202020202020202020202B0
+:1010200002020202020202020202020202020202A0
+:101030000202020202020202020202020202020290
+:101040000202020202020202020202020202020280
+:101050000202020202020202020202020202020270
+:101060000202020202020202020202020202020260
+:101070000202020202020202020202020202020250
+:101080000202020202020202020202020202020042
+:10109000000000000000000000000000000000024E
+:1010A0000202020202020202020202020202020022
+:1010B000000000000000000000000000000000012F
+:1010C000010101010101010101010101010101020F
+:1010D00002020202020202020202020202020200F2
+:1010E0000000000000000000000000000000000000
+:1010F00002020200000000000000000200020202E2
+:1011000002020202020202020202020202020202BF
+:1011100002020202020202020202020202020202AF
+:10112000020202020202020202020202020202029F
+:10113000020202020202020202020202020202028F
+:10114000020202020202020202020202020202027F
+:10115000020202020202020202020202020202026F
+:10116000020202020202020202020202020202025F
+:10117000020202020202020202020202020202024F
+:101180000202020202020202020202020202020041
+:10119000000000000000000000000000000000004F
+:1011A000000000000000000000000000000000003F
+:1011B000000000000000000000000000000000012E
+:1011C0000101010101010101010101010101010010
+:1011D000000000000000000000000000000000000F
+:1011E00000000000000000000000000000000000FF
+:1011F00000000000000000000000000000000000EF
+:1012000000000000000000000000000000000000DE
+:1012100000000000000000000000000000000001CD
+:1012200001010101010101010101010101010100AF
+:1012300000000000000000000000000000000000AE
+:10124000000000000000000000000000000000009E
+:10125000000000000000000000000000000000028C
+:10126000020202020202020202020202020202025E
+:10127000020202020202020202020202020202014F
+:10128000010101010101010101010101010101014E
+:10129000010101010101010101010101010101013E
+:1012A000010101010101010101010101010101002F
+:1012B000000000000000000000000000000000012D
+:1012C000010101010101010101010101010101010E
+:1012D00001010101010101010101010101010101FE
+:1012E00001010101010101010101010101010100EF
+:1012F00000000000000000000000000000000001ED
+:1013000001010101010101010101010101010101CD
+:1013100001010101010101010101010101010101BD
+:1013200001010101010101010101010101010101AD
+:10133000010101010101010101010101010101019D
+:10134000010101010101010101010101010101018D
+:10135000010101010101010101010101010101017D
+:10136000010101010101010101010101010101016D
+:10137000010101010101010101010101010101015D
+:10138000010101010101010101010101010101014D
+:10139000010101010101010101010101010101013D
+:1013A000010101010101010101010101010101002E
+:1013B000000000000000000000000000000000012C
+:1013C000010101010101010101010101010101000E
+:1013D000000000000000000000000000000000000D
+:1013E00000000000000000000000000000000000FD
+:1013F00000000000000000000000000000000001EC
+:1014000001010101010101010101010101010101CC
+:1014100001010101010101010101010101010100BD
+:1014200000000000000000000000000000000001BB
+:10143000010101010101010101010101010101019C
+:10144000010101010101010101010101010101018C
+:10145000010101010101010101010101010101017C
+:10146000010101010101010101010101010101016C
+:10147000010101010101010101010101010101005D
+:10148000000000000000000000000000000000025A
+:10149000020202020202020202020202020202022C
+:1014A000020202020202020202020202020202001E
+:1014B000000000000000000000000000000000002C
+:1014C000000000000000000000000000000000001C
+:1014D000000000000000000000000000000000000C
+:1014E00000000000000000000000000000000000FC
+:1014F00000000000000000000000000000000000EC
+:1015000000000000000000000000000000000000DB
+:1015100000000000000000000000000000000000CB
+:1015200000000000000000000000000000000000BB
+:1015300000000000000000000000000000000000AB
+:10154000000000000000000000000000000000009B
+:10155000000000000000000000000000000000008B
+:10156000000000000000000000000000000000007B
+:10157000000000000000000000000000000000006B
+:10158000000000000000000000000000000000005B
+:10159000000000000000000000000000000000004B
+:1015A000000000000000000000000000000000003B
+:1015B00000000000000000000000000000000033F8
+:1015C000000000000000000000000000000000001B
+:1015D000000000000000000000000000000000000B
+:1015E00000000000000000000000000000000000FB
+:1015F00000000000000000000000000002020000E7
+:1016000000000202020000000000000200000200D0
+:1016100000000000000000000000000000000000CA
+:1016200000000000000000000000000000000000BA
+:1016300000000000000000000000000002000002A6
+:101640000000000200000000020000000000000096
+:10165000000000000000000000000000000000008A
+:101660000000000000000000000002000000000276
+:10167000000000000000000000000000000000006A
+:101680000002020000000000000000000000000056
+:10169000000000000000000000000000000000004A
+:1016A000000000000000000000000000000000003A
+:1016B000000000000000000000000000000000002A
+:1016C000000000000000000000000000000000001A
+:1016D000000000000000000000000000000000000A
+:1016E00000000000000000000000000000000000FA
+:1016F00000000000000000000200000202020200E0
+:1017000000000202020000000000020202000202C9
+:1017100000000202020000000000000000000000C3
+:1017200000000000020000000000000000000000B7
+:1017300000000000000000000002000002000202A1
+:101740000000000200000000020000000000000095
+:101750000000000000000000000200020000020083
+:101760000000000000000000000002000000000275
+:101770000000000000000000020000000000000067
+:101780000002020000000000000000000000000055
+:101790000000000000000000000000000000000049
+:1017A0000000000000000000000000000000000039
+:1017B0000000000000000000000000000000000029
+:1017C0000000000000000000000000000000000019
+:1017D0000000000000000000000000000000000009
+:1017E00000000000000000000000000000000000F9
+:1017F00000000000000000000200000202020200DF
+:1018000000000202020000000000020202000202C8
+:1018100000000202020000000000000000000000C2
+:1018200000000000020000000000000000000000B6
+:10183000000000000000000000020200020002029E
+:101840000000000200000000020000000000000094
+:10185000000000000000000000020202000002027E
+:101860000000000200000000000002000000000272
+:101870000000020000000000020000000000000064
+:101880000002020002000000000000000000000052
+:101890000000000000000000000000000000000048
+:1018A0000000000000000000000000000000000038
+:1018B0000000000200000000020000000000000024
+:1018C0000000000000000000000000000000000018
+:1018D0000000000000000000000000000000000008
+:1018E00000000000000000000000000000000000F8
+:1018F00000000000000000000202000202020200DC
+:1019000000000202020000000000020202000202C7
+:1019100000000202020000000000000000000000C1
+:1019200000000000020000000000000000000000B5
+:101930000000000000000002000202020200020299
+:101940000200000200000000020000000000000091
+:10195000000000000000000200020202000002027B
+:10196000020000020000000002000200000000026D
+:101970000000020000000000020000000000000063
+:101980000002020002000000000000000000000051
+:101990000000000000000000000000000000000047
+:1019A0000000000000000002000000000000020033
+:1019B0000000000200000000020000000000000023
+:1019C0000000000000000000000000000000000017
+:1019D0000000000000000000000000000000000007
+:1019E00000000000000000000000000000000000F7
+:1019F00000000000000202000202000202020200D7
+:101A000000000202020002000002020202000202C2
+:101A100000000202020000000202000200000000BA
+:101A200000000000020000000000000000000000B4
+:101A30000000000000000002000202020200020298
+:101A4000020002020000000002000000000000008E
+:101A5000000000000000000200020202000002027A
+:101A6000020002020000000002000200000000026A
+:101A70000002020000000000020000000000000060
+:101A80000002020002000000000000000000000050
+:101A90000000000000000000000000000000000046
+:101AA000000000000000000200000200020202022A
+:101AB0000002020202020200020000000000000018
+:101AC0000002000000020200000000000000000010
+:101AD0000000000000000000000000000000000006
+:101AE00000000000000000000000000000000000F6
+:101AF00000000000000202000202000202020200D6
+:101B000002000202020002000002020202000202BF
+:101B100000000202020000000202020202000000B5
+:101B200000000000020000000000000000000000B3
+:101B30000000000000000002000202020200020297
+:101B4000020002020000000002000000000200008B
+:101B50000000000000000002020202020000020277
+:101B60000200020200000000020002000000000269
+:101B7000000202000000000002000000000000005F
+:101B8000000202000200000000000000000000004F
+:101B90000000000000000000000000000000000045
+:101BA0000000000000000002020202000202020225
+:101BB0000202020202020200020000000000000213
+:101BC000000200000202020002000000000000000B
+:101BD0000000000000000000000000000000000005
+:101BE00000020000000000000200000000000000F1
+:101BF00000000000000202000202000202020200D5
+:101C000002020202020202000002020202000202BA
+:101C100000000202020000020202020202000000B2
+:101C200000000000020000000000000000000000B2
+:101C30000000000000000002000202020200020296
+:101C4000020002020000000002000000000200008A
+:101C50000000000000000002020202020000020276
+:101C60000200020200000000020002000000000268
+:101C7000000202000000000002000000000000005E
+:101C8000000202000200000000000000000000004E
+:101C90000000000000000000020000000000000042
+:101CA0000000000000000002020202000202020224
+:101CB0000202020202020200020000000000000212
+:101CC0000202000002020200020000000000000008
+:101CD00000000000000000000202000000000200FE
+:101CE00002020000000000000200000200000002EA
+:101CF00000000200000202000202000202020200D2
+:101D000002020202020202000002020202000202B9
+:101D100000000202020002020202020202000000AF
+:101D200000000002020000000000000000000000AF
+:101D30000000000000000002020202020200020293
+:101D40000200020200000000020000000202000087
+:101D50000000000000000002020202020000020275
+:101D60000200020200000002020002000000000265
+:101D70000002020000000202020200000000000057
+:101D80000202020002000002000200000000000047
+:101D9000000000000000000002000200000000003F
+:101DA0000000000000000002020202020202020221
+:101DB000020202020202020002020000020002020B
+:101DC0000202020202020200020000000000000003
+:101DD00000000000000000000202000000000200FD
+:101DE00002020002000000000200000200000002E7
+:101DF00000000200000202000202020202020200CF
+:101E000002020202020202000002020202000202B8
+:101E100002000202020002020202020202000000AC
+:101E200000000002020000000000000000000000AE
+:101E30000000000000000002020202020200020292
+:101E4000020202020000000202020002020202007C
+:101E50000000000000000002020202020000020274
+:101E60000202020200000002020002000000000262
+:101E7000000202000200020202020200020200004E
+:101E80000202020002000202000202000000000042
+:101E9000000000000000000002000202000000003C
+:101EA0000000000000000002020202020202020220
+:101EB0000202020202020200020200020200020208
+:101EC0000202020202010200020000000000000003
+:101ED00000000000000000000202000000000200FC
+:101EE00002020002000000000202000200000002E4
+:101EF00000020200020202000202020202020200CA
+:101F000002020202020202000002020202000202B7
+:101F100002020202020002020202020202000000A9
+:101F200000000002020200000000000000020000A9
+:101F30000000000000000002020202020200020291
+:101F40000202020200000002020202020202020277
+:101F50000000000000000002020202020000020273
+:101F6000020202020000000202020202000000025D
+:101F70000002020002000202020202020202020049
+:101F8000020202000200020202020202000000003D
+:101F90000000000000000000020002020202000037
+:101FA000000000000000000202020202020202021F
+:101FB0000202020202020200020202020202020203
+:101FC0000202020202010100020000000000000003
+:101FD00000000000000000000202020000020200F7
+:101FE00002020002000000000202020200000002E1
+:101FF00002020200020202000202020202020202C5
+:1020000002020202020202020002020202000202B4
+:1020100002020202020002020202020202000000A8
+:1020200000000002020200000002000000020000A6
+:102030000000000000000002020202020200020290
+:102040000202020202000002020202020202020274
+:10205000000000000000000202020202020202026E
+:102060000202020202000002020202020202000256
+:102070000002020002020202020202020202020046
+:102080000202020002020202020202020202000036
+:10209000000000000002020202000202020202002E
+:1020A000000000000000000202020202020202021E
+:1020B0000202020202020200020202020202020202
+:1020C0000201020201010100020000000000000004
+:1020D00000000000000000000202020200020200F4
+:1020E00002020002000000000202020200000002E0
+:1020F00002020200020202000202020202020202C4
+:1021000002020202020202020002020202000202B3
+:1021100002020202020002020202020202000000A7
+:10212000000002020202000000020200020200009F
+:10213000000000000000000202020202020002028F
+:102140000202020202000002020202020202020273
+:10215000000000020000000202020202020202026B
+:102160000202020202000002020202020202020253
+:102170000002020002020202020202020202020045
+:102180000202020002020202020202020202020033
+:10219000000000000002020202000202020202022B
+:1021A0000000000000020202020202020202020219
+:1021B0000202020202020200020202020202020201
+:1021C0000201020201010100020000000000000003
+:1021D00000000000000000000202020202020200F1
+:1021E00002020002000000000202020200000002DF
+:1021F00002020200020202000202020202020202C3
+:1022000002020202020202020002020202000202B2
+:1022100002020202020002020202020202000002A4
+:102220000200020201020002020202020202020095
+:10223000000000000000000202020202020202028C
+:102240000202020202000002020202020202020272
+:102250000200000200000002020202020202020268
+:102260000202020202000002020202020202020252
+:102270000002020002020202020202020202020242
+:10228000020202020202020202020202020202022E
+:10229000000000000002020202000202020202022A
+:1022A0000000000000020202020202020202020218
+:1022B0000202020202020200020202020202020101
+:1022C0000101020201010100020000000000000003
+:1022D00000000000000000020202020202020200EE
+:1022E00002020002000000000202020200000002DE
+:1022F00002020202020202000202020202020202C0
+:1023000002020202010202020002020202000102B3
+:1023100002020201020002020202020202000002A4
+:102320000202020201020002020202020202020092
+:10233000000000000000000202020202010201028D
+:102340000202020102000002020202020202020272
+:102350000200020200000002020202020202020265
+:102360000202020202000002020202020202020251
+:10237000020202000202020202020202020202023F
+:10238000020202020202020202020202020202022D
+:102390000000000000020202020002020202020229
+:1023A0000000000000020202020202020202020217
+:1023B0000202020202010100020202020202020102
+:1023C0000101010101010102020000000000000002
+:1023D00000000000000000020202020202020200ED
+:1023E00002020202020202000202020200000002D5
+:1023F00002020202020202000202020202020202BF
+:1024000002020201010202020202020202000101B2
+:1024100002020201010002020202020202000202A2
+:102420000202020201020002020202020202020091
+:10243000000000000000000202020202010201028C
+:10244000020202010200020202020202020202026F
+:102450000200020200000002020202020202020264
+:10246000020202020202020202020202020202024C
+:10247000020202020202020202020202020202023C
+:10248000020202020202020202020202020202022C
+:102490000000000000020202020202020202020226
+:1024A0000200000000020202020202020202020214
+:1024B0000202020101010100020202020202010104
+:1024C0000101010101010102020000000000000001
+:1024D00000000000000000020202020202020200EC
+:1024E00002020202020202020202020200000002D2
+:1024F00002020202020202020202020202020202BC
+:1025000002020101010202020202020201000101B3
+:1025100002020101010002020202020202000202A2
+:10252000020202020102000202020202020202028E
+:102530000000000200000002020202020102010289
+:10254000020202020200020202020202020202026D
+:10255000020202020000020202020202020202025F
+:10256000020202020202020202020202020202024B
+:10257000020202020202020202020202020202023B
+:10258000020101020102020202020202020202022E
+:102590000200000000020202020202020202020223
+:1025A0000200000200020202020202020202020211
+:1025B0000201020101010100020202020102010105
+:1025C0000101010101010102020000000000000000
+:1025D00000000000000000020202020202020202E9
+:1025E00002020202020202020202020202000002CF
+:1025F00002020202020202020202020201010102BE
+:1026000002020101010202020202020201000101B2
+:10261000020201010100020202020202020202029F
+:10262000020202020202000202020202020202028C
+:102630000200000200000002020202020102010187
+:10264000020202020200020202020202020202026C
+:10265000020202020000020202020202020201025F
+:10266000020202020202020202020202020202014B
+:10267000020201020202010202020202020202023C
+:10268000020101020102020202020202020202022D
+:10269000020002020002020202020202020202021E
+:1026A0000200000200020202020202020202020210
+:1026B0000201010101010100010102010102010108
+:1026C00001010101010101020200000000000000FF
+:1026D00000000000000000020202020202020202E8
+:1026E00002020202020202020202020202020002CC
+:1026F00002020202020202020202020201010102BD
+:1027000002020101020202020202020101020101AF
+:10271000020201010200020202020202020202029D
+:102720000202020202020202020202020202020289
+:10273000020202020000020202020202020202017E
+:10274000010201010200020202020202020202026E
+:10275000020202020200020202020202020201025C
+:10276000020202010202020202020202020202014B
+:10277000020101020202010202020202020202023C
+:10278000020101020102010202020202020202022D
+:10279000020002020001010202020202020202021F
+:1027A000020202020002020202020202020201010D
+:1027B0000101010101010100010102010101010109
+:1027C00001010101010101020200000000000000FE
+:1027D00000000000000000020202020202020202E7
+:1027E00002020202020202020202020202020202C9
+:1027F00002020202020101020202020201010102BE
+:1028000002020202020201020202020101020101AD
+:10281000020202020200020202020202020202029A
+:102820000202020102020202020202020202020289
+:10283000020202020200020202020202020202017B
+:10284000010201010202020202020202020202026B
+:10285000020202020200020202020202020202015B
+:10286000010201010202020202020102020202014D
+:10287000020101020101010202020202020202023D
+:10288000020101020101010202020202020202022D
+:10289000020202020201010202020202020202021A
+:1028A0000202020200010102020202020101010110
+:1028B0000101010101010100010101010101010109
+:1028C00001010101010101020100020000000000FC
+:1028D00000000000000000020202020202020202E6
+:1028E00002010202020202020202020202020202C9
+:1028F00002020202020101020202020101010102BE
+:1029000001010202020101020202020101020202AD
+:10291000010102020202010202020201010202029C
+:102920000202020102010202020202020202020289
+:10293000020202020202020202010101020202017B
+:10294000010101010102020202020202020202026C
+:10295000020202020200020202020201020202015B
+:10296000010201010202020202020102020202014C
+:10297000020101020101010202020202020202023C
+:10298000010101020101010202020202020202022D
+:102990000202020202010102020202020202020219
+:1029A000020202020201010202020102010101010E
+:1029B0000101010101010100010101010101010108
+:1029C00001010101010101020102020000000000F9
+:1029D00000000000000000020202020202020202E5
+:1029E00002010202020202020202020202020202C8
+:1029F00002020202020101020102020102020202BB
+:102A000001010202020101020202020202020202AA
+:102A1000010102020102010202010101010202029E
+:102A2000020201010101020202020202020202028A
+:102A3000020202020202020202010101020202017A
+:102A4000010101010102010202020202020202026C
+:102A5000020202020200020202010101020201015D
+:102A6000010101010102020202020102020202014D
+:102A7000020101020101010202020202020202023B
+:102A8000010101020101010202020202020202022C
+:102A90000202020202010102020202020202020218
+:102AA000020202020201010202020102010101010D
+:102AB0000101010101010100010101010101010107
+:102AC00001010101010101020102020000000000F8
+:102AD00000000000000000020202020202020102E5
+:102AE00001010202020202020202020202020202C8
+:102AF00002020202020101020102020202020202B9
+:102B000002020102010101020202010202020202AA
+:102B1000010101020102010202010101010202029E
+:102B2000010101010101010202020202020202028C
+:102B3000020202020202020202010101010201017B
+:102B4000010101010102010202020202020102026C
+:102B5000020202020202010202010101020201015B
+:102B6000010101010101010202020102020202014E
+:102B7000020101020101010202020202020202023A
+:102B8000010101020101010202020202020202022B
+:102B90000202020202010102020202020202020217
+:102BA000020202020201010202010101010101010E
+:102BB0000101010101010100010101010101010106
+:102BC00001010101010101020202020000000000F6
+:102BD00000000000000000020202020202010102E5
+:102BE00001010201020101020202020202020202CA
+:102BF00002020102010101020102020202020201BB
+:102C000002020101010101020202010202020202AA
+:102C1000020201020102010202010101010202019C
+:102C2000010101010101010202020202020202028B
+:102C3000020202020202010202010101010201017B
+:102C40000101010101010102010202020101010170
+:102C5000020202010202010202010101020201015B
+:102C6000010101010101010202020102020202014D
+:102C7000020101020101010201020202010101023D
+:102C80000101010101010102020101010101010132
+:102C9000020202020201010202020101010101011C
+:102CA000020202020201010202010101010101010D
+:102CB0000101010101010100010101010101010105
+:102CC00001010101010101020202020000000000F5
+:102CD00000000000000000020201020202010102E5
+:102CE00001010201010101020202020202020201CB
+:102CF00002010102010101020101020102020201BD
+:102D000001010101010101020201010102020202AD
+:102D1000020201010102010202010101010202019C
+:102D2000010101010101010202020202020102028B
+:102D3000020202020201010202010101010101017C
+:102D40000101010101010102010202010101010170
+:102D5000010201010202010202010101010101015E
+:102D60000101010101010102010201010101010151
+:102D70000101010101010102010101010101010142
+:102D80000101010101010102020101010101010131
+:102D9000010201010101010202020101010101011F
+:102DA000010202010201010202010101010101010E
+:102DB0000101010101010100000101010101010105
+:102DC00001010101010101020202020200000000F2
+:102DD00000000000000000020201020202010102E4
+:102DE00001010101010101020202020102020201CC
+:102DF00001010102010101020201020101010102BE
+:102E000001010101010101020201010102020201AD
+:102E1000020201010102010201010101010202019C
+:102E2000010101010101010202020202010101028C
+:102E3000020202010101010102010101010101017E
+:102E40000101010101010102010101010101010171
+:102E5000010101010102010202010101010101015F
+:102E60000101010101010102010101010101010151
+:102E70000101010101010102010101010101010141
+:102E80000101010101010102020101010101010130
+:102E9000010101010101010202020101010101011F
+:102EA0000101010101010101010101010101010112
+:102EB0000101010101010100000101010101010104
+:102EC00001010101010101020102020202000000F0
+:102ED00000000000000000020201010101010102E6
+:102EE00001010101010101020202020102020201CB
+:102EF00001010101010101020201010101010102BF
+:102F000001010101010101020201010101020101AE
+:102F1000010101010101010201010101010201019F
+:102F2000010101010101010202010101010101018F
+:102F30000101010101010101010101010101010181
+:102F40000101010101010102010101010101010170
+:102F50000101010101010101010101010101010161
+:102F60000101010101010102010101010101010150
+:102F70000101010101010102010101010101010140
+:102F8000010101010101010202010101010101012F
+:102F9000010101010101010201020101010101011F
+:102FA0000101010101010101010101010101010111
+:102FB0000101010101010100000001010101010104
+:102FC00001010101010101020102020202000000EF
+:102FD00000000000000000020101010101010101E7
+:102FE00001010101010101020201010102020201CC
+:102FF00001010101010101020201010101010101BF
+:1030000001010101010101020201010101020101AD
+:10301000010101010101010201010101010201019E
+:10302000010101010101010202010101010101018E
+:103030000101010101010101010101010101010180
+:10304000010101010101010201010101010101016F
+:103050000101010101010101010101010101010160
+:10306000010101010101010201010101010101014F
+:10307000010101010101010201010101010101013F
+:103080000101010101010101010101010101010130
+:10309000010101010101010201020101010101011E
+:1030A0000101010101010101010101010101010110
+:1030B0000101010101010102000001010101010101
+:1030C00001010101010001010102020202020000EE
+:1030D00000020000000000020101010101010101E4
+:1030E00001010101010101020101010102020201CC
+:1030F00001010101010101020201010101010101BE
+:1031000001010101010101020201010101020101AC
+:10311000010101010101010101010101010101019F
+:10312000010101010101010202010101010101018D
+:10313000010101010101010101010101010101017F
+:10314000010101010101010201010101010101016E
+:10315000010101010101010101010101010101015F
+:10316000010101010101010101010101010101014F
+:10317000010101010101010101010101010101013F
+:10318000010101010101010101010101010101012F
+:10319000010101010101010201010101010101011E
+:1031A000010101010101010101010101010101010F
+:1031B0000101010101010102000001000001000004
+:1031C00000000101000001010102020202020200EE
+:1031D00002020000000000020101010101010101E1
+:1031E00001010101010101020101010101020201CC
+:1031F00001010101010101020101010101010101BE
+:1032000001010101010101020201010101010101AC
+:10321000010101010101010101010101010101019E
+:10322000010101010101010201010101010101018D
+:10323000010101010101010101010101010101017E
+:10324000010101010101010101010101010101016E
+:10325000010101010101010101010101010101015E
+:10326000010101010101010101010101010101014E
+:10327000010101010101010101010101010101013E
+:10328000010101010101010101010101010101012E
+:10329000010101010101010201010101010101011D
+:1032A000010101010101010101010101010101010E
+:1032B0000101010101010102000000000000000005
+:1032C00000020000000002010102020202020202EA
+:1032D00002020000020200020101010101010101DC
+:1032E00001010101010101020101010101010101CD
+:1032F00001010101010101020101010101010101BD
+:1033000001010101010101020201010101010101AB
+:10331000010101010101010101010101010101019D
+:10332000010101010101010201010101010101018C
+:10333000010101010101010101010101010101017D
+:10334000010101010101010101010101010101016D
+:10335000010101010101010101010101010101015D
+:10336000010101010101010101010101010101014D
+:10337000010101010101010101010101010101013D
+:10338000010101010101010101010101010101012D
+:10339000010101010101010101010101010101011D
+:1033A000010101010101010101010101010101010D
+:1033B0000101010101010102000000000000000202
+:1033C00002020000020202010102020202020202E3
+:1033D00002020000020200010101010101010101DC
+:1033E00001010101010101020101010101010101CC
+:1033F00001010101010101020101010101010101BC
+:1034000001010101010101010201010101010101AB
+:10341000010101010101010101010101010101019C
+:10342000010101010101010101010101010101018C
+:10343000010101010101010101010101010101017C
+:10344000010101010101010101010101010101016C
+:10345000010101010101010101010101010101015C
+:10346000010101010101010101010101010101014C
+:10347000010101010101010101010101010101013C
+:10348000010101010101010101010101010101012C
+:10349000010101010101010101010101010101011C
+:1034A000010101010101010101010101010101010C
+:1034B00001010101010101020000000000000202FF
+:1034C00002020202020202010102010202020202DF
+:1034D00002020202020100010101010101010101D8
+:1034E00001010101010101020101010101010101CB
+:1034F00001010101010101020101010101010101BB
+:1035000001010101010101010101010101010101AB
+:10351000010101010101010101010101010101019B
+:10352000010101010101010101010101010101018B
+:10353000010101010101010101010101010101017B
+:10354000010101010101010101010101010101016B
+:10355000010101010101010101010101010101015B
+:10356000010101010101010101010101010101014B
+:10357000010101010101010101010101010101013B
+:10358000010101010101010101010101010101012B
+:10359000010101010101010101010101010101011B
+:1035A000010101010101010101010101010101010B
+:1035B00001010101010101020000000202000202FA
+:1035C00002020202020202020001010202020202DF
+:1035D00002010202010100010101010101010101D9
+:1035E00001010101010101020101010101010101CA
+:1035F00001010101010101020101010101010101BA
+:1036000001010101010101010101010101010101AA
+:10361000010101010101010101010101010101019A
+:10362000010101010101010101010101010101018A
+:10363000010101010101010101010101010101017A
+:10364000010101010101010101010101010101016A
+:10365000010101010101010101010101010101015A
+:10366000010101010101010101010101010101014A
+:10367000010101010101010101010101010101013A
+:10368000010101010101010101010101010101012A
+:10369000010101010101010101010101010101011A
+:1036A000010101010101010101010101010101010A
+:1036B00001010101010101020002020202020202F3
+:1036C00002020202020202020001010101020202E0
+:1036D00001010202010101010101010101010101D8
+:1036E00001010101010101010101010101010101CA
+:1036F00001010101010101010101010101010101BA
+:1037000001010101010101010101010101010101A9
+:103710000101010101010101010101010101010199
+:103720000101010101010101010101010101010189
+:103730000101010101010101010101010101010179
+:103740000101010101010101010101010101010169
+:103750000101010101010101010101010101010159
+:103760000101010101010101010101010101010149
+:103770000101010101010101010101010101010139
+:103780000101010101010101010101010101010129
+:103790000101010101010101010101010101010119
+:1037A0000101010101010101010101010101010109
+:1037B00001010101010101020002020202020202F2
+:1037C00002020202020202020001010101010101E2
+:1037D00001010101010101010101010101010101D9
+:1037E00001010101010101010101010101010101C9
+:1037F00001010101010101010101010101010101B9
+:1038000001010101010101010101010101010101A8
+:103810000101010101010101010101010101010198
+:103820000101010101010101010101010101010188
+:103830000101010101010101010101010101010178
+:103840000101010101010101010101010101010168
+:103850000101010101010101010101010101010158
+:103860000101010101010101010101010101010148
+:103870000101010101010101010101010101010138
+:103880000101010101010101010101010101010128
+:103890000101010101010101010101010101010118
+:1038A0000101010101010101010101010101010108
+:1038B00001020102020202020002020202020202EC
+:1038C00002020202020202020001010101010101E1
+:1038D00001010101010101010101010101010101D8
+:1038E00001010101010101010101010101010101C8
+:1038F00001010101010101010101010101010101B8
+:1039000001010101010101010101010101010101A7
+:103910000101010101010101010101010101010197
+:103920000101010101010101010101010101010187
+:103930000101010101010101010101010101010177
+:103940000101010101010101010101010101010167
+:103950000101010101010101010101010101010157
+:103960000101010101010101010101010101010147
+:103970000101010101010101010101010101010137
+:103980000101010101010101010101010101010127
+:103990000101010101010101010101010101010117
+:1039A0000101010101010101010102010202020202
+:1039B00002020202020202020202020202020202E7
+:1039C00002020202020200020001010101010101E2
+:1039D00001010101010101010101010101010101D7
+:1039E00001010101010101010101010101010101C7
+:1039F00001010101010101010101010101010101B7
+:103A000001010101010101010101010101010101A6
+:103A1000010101010101010101000000000101019A
+:103A2000000000000101000101010101010101018B
+:103A30000101010101010101010101010101010176
+:103A40000101010101010101010101010101010166
+:103A50000101010101010101010101010101010156
+:103A60000101010101010101010101010101010146
+:103A70000101010101010001010101010101010137
+:103A80000001010101010101010101010101010127
+:103A90000101010101020201010101010101010114
+:103AA00001010101010202010102020202020202FD
+:103AB00002020202020202020202020202020202E6
+:103AC00002020202020202010001010101010101E0
+:103AD00001010101010101010101010101010101D6
+:103AE00001010101010101010101010101010101C6
+:103AF00001010101010101010101010101010101B6
+:103B000001010101010101010101010101010101A5
+:103B1000010101010101010101000000000101009A
+:103B2000000000000101000101010101010101018A
+:103B30000101010101010101010101010100010176
+:103B40000101010101010101010101010101010165
+:103B50000101010101010101010101010101010155
+:103B60000101010101010101010102010101010243
+:103B70000102020102020201010101010101010130
+:103B8000000202010202020101020202020202021A
+:103B90000202020202020201010102020202020208
+:103BA00002020202020202020202020202020202F5
+:103BB00002020202020202020202020202020202E5
+:103BC00002020202020202010001010101010101DF
+:103BD00001010101010101010101010101010101D5
+:103BE00001010101010101010101010101010101C5
+:103BF00001010101010101010101010101010101B5
+:103C000001010101010101010101010101010101A4
+:103C10000101010101010101010000000001010099
+:103C20000000000001010001010101010101010189
+:103C3000010101010101010101020202020002026F
+:103C4000020202020202020101010101010101015D
+:103C50000101010101010001010101010000010157
+:103C6000010101010101010102020202020202023C
+:103C70000202020202020201020202020202020225
+:103C80000202020202020202020202020202020214
+:103C90000202020202020201020202020202020205
+:103CA00002020202020202020202020202020202F4
+:103CB00002020202020202020202020202020202E4
+:103CC00002020202020202010001010101010101DE
+:103CD00001010101010101010101010101010101D4
+:103CE00001010101010101010101010101010101C4
+:103CF00001010101010101010101010101010101B4
+:103D000001010101010101010101010101010101A3
+:103D10000101010101010101010000000001010098
+:103D20000000000001010001010101010101010188
+:103D3000010101010100000202020202020202026C
+:103D4000020202020202020101010101010101015C
+:103D50000101010101010001010202020000020251
+:103D60000202020202020202020202020202020233
+:103D70000202020202020202020202020202020223
+:103D80000202020202020202020202020202020213
+:103D90000202020202020202020202020202020203
+:103DA00002020202020202020202020202020202F3
+:103DB00002020202020202020202020202020202E3
+:103DC00002020202020202010001010101010101DD
+:103DD00001010101010101010101010101010101D3
+:103DE00001010101010101010101010101010101C3
+:103DF00001010101010101010101010101010101B3
+:103E000001010101010101010101010101010101A2
+:103E10000101010101010101000000000001000099
+:103E20000000000001010001000101010101010188
+:103E3000010101010000000202020202020202026C
+:103E40000202020202020201020202020202020253
+:103E50000202020202020202020202020202020242
+:103E60000202020202020202020202020202020232
+:103E70000202020202020202020202020202020222
+:103E80000202020202020202020202020202020212
+:103E90000202020202020202020202020202020202
+:103EA00002020202020202020202020202020202F2
+:103EB00002020202020202020202020202020202E2
+:103EC00002020202020202010001010101010101DC
+:103ED00001010101010101010101010101020101D1
+:103EE00001010101010101010101010101010101C2
+:103EF00001010101010101010101010101010101B2
+:103F000001010101010101010101010101010101A1
+:103F10000101010101010101000000000000000099
+:103F2000000000000202000100020202020202027E
+:103F30000202020202020202020202020202020261
+:103F40000202020202020202020202020202020251
+:103F50000202020202020202020202020202020241
+:103F60000202020202020202020202020202020231
+:103F70000202020202020202020202020202020221
+:103F80000202020202020202020202020202020211
+:103F90000202020202020202020202020202020201
+:103FA00002020202020202020202020202020202F1
+:103FB00002020202020202020202020202020202E1
+:103FC00002020202020202010101010101010101DA
+:103FD00001010101010101010101010101020101D0
+:103FE00001010101010101010101010101010101C1
+:103FF00001010101010101010101010101010101B1
+:1040000001010101010101010101010101000101A1
+:104010000101010101010102020202020202020287
+:104020000202020202020202020202020202020270
+:104030000202020202020202020202020202020260
+:104040000202020202020202020202020202020250
+:104050000202020202020202020202020202020240
+:104060000202020202020202020202020202020230
+:104070000202020202020202020202020202020220
+:104080000202020202020202020202020202020210
+:104090000202020202020202020202020202020200
+:1040A00002020202020202020202020202020202F0
+:1040B00002020202020202020202020202020202E0
+:1040C00002020202020202010101010101010101D9
+:1040D00001010101010101010101010101020201CE
+:1040E00001020101010101010101010101010101BF
+:1040F00001010101010101010101010101010101B0
+:10410000010101010101010101020202020002029A
+:10411000020202020202020202020202020202027F
+:10412000020202020202020202020202020202026F
+:10413000020202020202020202020202020202025F
+:10414000020202020202020202020202020202024F
+:10415000020202020202020202020202020202023F
+:10416000020202020202020202020202020202022F
+:10417000020202020202020202020202020202021F
+:10418000020202020202020202020202020202020F
+:1041900002020202020202020202020202020202FF
+:1041A00002020202020202020202020202020202EF
+:1041B00002020202020202000000000000000000F1
+:1041C00000000000000000010101010101010101E6
+:1041D00001010101010101010100010101010201CF
+:1041E00001020101010101010100000000010101C2
+:1041F00001010101010000010202020202020202A9
+:10420000020202020202020202020202020202028E
+:10421000020202020202020202020202020202027E
+:10422000020202020202020202020202020202026E
+:10423000020202020202020202020202020202025E
+:10424000020202020202020202020202020202024E
+:10425000020202020202020202020202020202023E
+:10426000020202020202020202020202020202022E
+:10427000020202020202020202020202020202021E
+:10428000020202020202020202020202020202020E
+:1042900002020202020202020202020202020202FE
+:1042A00002020202020202020202020202020202EE
+:1042B00002020202020202000000000000000000F0
+:1042C00000000000000000010101010101010101E5
+:1042D00001010101010101010100010101010101CF
+:1042E00002010101010101000202020202020202B6
+:1042F000020202020202020202020202020202029E
+:10430000020202020202020202020202020202028D
+:10431000020202020202020202020202020202027D
+:10432000020202020202020202020202020202026D
+:10433000020202020202020000000000000000006F
+:10434000000000000000000202020202020202025B
+:10435000020202020202020202020202020202023D
+:10436000020202020202020202020202020202022D
+:10437000020202020202020000000000000000002F
+:10438000000000000000000000000000000000002D
+:10439000000000000000000202020202020202020B
+:1043A00002020202020202020202020202020202ED
+:1043B00002020202020202000000000000000000EF
+:1043C00000000000000000010101010101010101E4
+:1043D00001010101010101020202020202010102C6
+:1043E00001010201020202020202020202020202B0
+:1043F000020202020202020202020202020202029D
+:10440000020202020202020202020202020202028C
+:10441000020202020202020202020202020202027C
+:10442000020202020202020202020202020202026C
+:104430000202020202020201010101010101010165
+:104440000101010101010102020202020202020253
+:10445000020202020202020202020202020202023C
+:104460000202020202020201010101010101010135
+:104470000101010101010100000000000000000035
+:10448000000000000000000000000000000000002C
+:10449000000000000000000000000000000000001C
+:1044A00000000000000000020202020202020202FA
+:1044B00002020202020202000000000000000000EE
+:1044C00000000000000000010101010101010101E3
+:1044D00001010101010101000000000000000000D5
+:1044E00000000000000000020202020202020202BA
+:1044F00002020202020202000000000000000000AE
+:104500000000000000000002020202020202020299
+:104510000202020202020201010101010101010184
+:10452000010101010101010101010101010101017B
+:10453000010101010101010101010101010101016B
+:10454000010101010101010101010101010101015B
+:10455000010101010101010101010101010101014B
+:10456000010101010101010101010101010101013B
+:10457000010101010101010101010101010101012B
+:10458000010101010101010101010101010101011B
+:104590000101010101010100000000000000000014
+:1045A000000000000000000000000000000000000B
+:1045B00000000000000000000000000000000000FB
+:1045C00000000000000000010101010101010101E2
+:1045D00001010101010101000000000000000000D4
+:1045E00000000000000000010101010101010101C2
+:1045F00001010101010101010101010101010101AB
+:10460000010101010101010101010101010101019A
+:10461000010101010101010101010101010101018A
+:10462000010101010101010101010101010101017A
+:104630000101010101010100000000000000000073
+:104640000000000000000001010101010101010161
+:10465000010101010101010101010101010101014A
+:104660000101010101010100000000000000000043
+:104670000000000000000001010101010101010131
+:10468000010101010101010101010101010101011A
+:10469000010101010101010101010101010101010A
+:1046A00001010101010101010101010101010101FA
+:1046B00001010101010101000000000000000000F3
+:1046C00000000000000000010101010101010101E1
+:1046D00001010101010101000000000000000000D3
+:1046E00000000000000000010101010101010101C1
+:1046F00001010101010101000000000000000000B3
+:1047000000000000000000010101010101010101A0
+:104710000101010101010100000000000000000092
+:104720000000000000000000000000000000000089
+:104730000000000000000000000000000000000079
+:104740000000000000000000000000000000000069
+:104750000000000000000000000000000000000059
+:104760000000000000000000000000000000000049
+:104770000000000000000002020202020202020227
+:104780000202020202020202020202020202020209
+:10479000020202020202020000000000000000000B
+:1047A0000000000000000000000000000000000009
+:1047B00000000000000000000000000000000000F9
+:1047C00000000000000000000000000000000000E9
+:1047D00000000000000000000000000000000000D9
+:1047E00000000000000000000000000000000000C9
+:1047F00000000000000000000000000000000000B9
+:1048000000000000000000000000000000000000A8
+:104810000000000000000000000000000000000098
+:104820000000000000000000000000000000000088
+:104830000000000000000000000000000000000078
+:104840000000000000000000000000000000000068
+:104850000000000000000000000000000000000058
+:104860000000000000000000000000000000000048
+:104870000000000000000000000000000000000038
+:104880000000000000000000000000000000000028
+:104890000000000000000000000000000000000018
+:1048A0000000000000000000000000000000000008
+:1048B00000000000000000000000000000000000F8
+:1048C000000000000000003B0000000000000000AD
+:1048D00000000000000000000000000000000000D8
+:1048E00000000000000000000000000000000000C8
+:1048F00000000201010000000002000002000000B0
+:1049000000000000000000000000000000000000A7
+:104910000000000000000000000000000000000097
+:10492000000102000000000200000002020200007C
+:104930000000000000000202000000000000000073
+:104940000000000000000000000000000000000067
+:104950000000000000000000000000000000000057
+:10496000000002000000020200020000000000023D
+:10497000020200020000000002000200000000002D
+:104980000000000000000000000000000000000027
+:104990000000000001000002020002020202020008
+:1049A0000000000000000000000000000000000007
+:1049B00000000000000000000000000000000000F7
+:1049C00000000000000000000000000000000000E7
+:1049D00000000000000000000000000000000002D5
+:1049E00000000202000000000000020002020200BB
+:1049F00000000201010000000202020202000200A7
+:104A0000000000020000020000000202020000029A
+:104A1000020002000000000000020000000200008E
+:104A20000202020000000002020002020202020072
+:104A30000200000201000202020000020000020067
+:104A40000200000000000000020000020000000060
+:104A50000202000200020000020000020202000244
+:104A60000002020000000202020202020200020230
+:104A70000202020200000202020202000002000022
+:104A80000000000000000000000000000000020024
+:104A90000000010001000002020202020202020004
+:104AA00002000001000000000200020202020202F5
+:104AB00002020002020000000200020202020200E2
+:104AC00000000000000000000000000002020000E2
+:104AD00000000000000000000000000000000002D4
+:104AE00000000202000000000002020002020200B8
+:104AF00000000201010000000202020202020201A3
+:104B00000000000200020202020202020200000291
+:104B1000020202020100000202020202020200007E
+:104B20000202020000000002020002020202020071
+:104B30000200020201000202020200020002020060
+:104B40000200020102010002020200020000000055
+:104B5000020202020002020202020002020200023B
+:104B6000000202000000020202020202020002022F
+:104B7000020202020101020202020202000202001B
+:104B80000002000000000000000000000000020021
+:104B900001010101010100020202020202020200FF
+:104BA00002000102000000000202020202020202F0
+:104BB00002020202020002020202020202020200D9
+:104BC00000000000000000000000000002020000E1
+:104BD00000000000000000000000000000000002D3
+:104BE00000000202000000000002020002020200B7
+:104BF00000000202020000000202020202020201A0
+:104C00000000000200020202020202020200000290
+:104C1000020202020100000202020202020200007D
+:104C2000020202010101000202000202020202006D
+:104C3000020002020100020202020002000202005F
+:104C4000020202020202000202020202000000004E
+:104C5000020202020002020202020002020200023A
+:104C6000000202000000020202020202020002022E
+:104C7000020202020101020202020202000202001A
+:104C80000002020000010002000000000002020019
+:104C900002010101020100020202020202020202FA
+:104CA00002020202020200000202020202020202E8
+:104CB00002020202020202020202020202020200D6
+:104CC00000000000000000000000000002020000E0
+:104CD00000000000000000000000000000000002D2
+:104CE00000000202000000000002020002020200B6
+:104CF000000002020200000002020202020202019F
+:104D0000000000020002020202020202020000028F
+:104D1000020202020100000202020202020200007C
+:104D2000020202010101020202000202020202006A
+:104D3000020002020200020202020002000202005D
+:104D4000020202020202000202020202000000004D
+:104D50000202020200020202020200020202000239
+:104D6000000202000000020202020202020002022D
+:104D70000202020201010202020202020202020017
+:104D80000002020000010002020002020002020111
+:104D900002020202020200020202020202020202F5
+:104DA00002020202020202000202020202020202E5
+:104DB00002020202020202020202020202020200D5
+:104DC00000000000000000000000000202020000DD
+:104DD00000000000000000000000000000000002D1
+:104DE00000000202000000000002020202020200B3
+:104DF000000002020200000002020202020202029D
+:104E0000000000020002020202020202020002028C
+:104E10000202020202000202020202020202000078
+:104E20000202020102020202020002020202020067
+:104E3000020002020200020202020002000202005C
+:104E4000020202020202000202020202000000014B
+:104E50000202020200020202020200020202020236
+:104E6000010202000001020202020202020002022A
+:104E70000202020202020202020202020202020014
+:104E8000000202000002000202020202000202020C
+:104E900002020202020200020202020202020202F4
+:104EA00002020202020202000202020202020202E4
+:104EB00002020202020202020202020202020200D4
+:104EC00000000000000000000000020202020000DA
+:104ED00000000000000000000000000000000002D0
+:104EE00000000202000000000002020202020200B2
+:104EF000000002020200000002020202020202029C
+:104F0000000000020002020202020202020002028B
+:104F10000202020202010202020202020202020074
+:104F20000202020202020202020002020202020065
+:104F3000020002020200020202020002000202005B
+:104F40000202020202020002020202020002000247
+:104F50000202020201020202020200020202020234
+:104F60000102020001010202020202020200020228
+:104F70000202020202020202020202020202020013
+:104F8000000202000002000202020202000202020B
+:104F900002020202020200020202020202020202F3
+:104FA00002020202020202000202020202020202E3
+:104FB00002020202020202020202020202020200D3
+:104FC00000000002000000000200020202020000D5
+:104FD00000000000000000000000000000000002CF
+:104FE00000000202000000000002020202020200B1
+:104FF000000002020200000002020202020202029B
+:10500000000000020002020202020202020002028A
+:105010000202020202010202020202020202020172
+:105020000202020202020202020002020202020064
+:105030000201020202000202020200020002020158
+:105040000202020202020002020202020002020244
+:105050000202020201020202020202020202020231
+:105060000102020101010202020202020200020226
+:105070000202020202020202020202020202020012
+:105080000002020000020002020202020202020208
+:1050900002020202020200020202020202020202F2
+:1050A00002020202020202000202020202020202E2
+:1050B00002020202020202020202020202020200D2
+:1050C00000020002000200020202020202020000CC
+:1050D00000000000000000000000000000000002CE
+:1050E00000000202000000020002020202020200AE
+:1050F000000002020200000002020202020202029A
+:105100000000000200020202020202020200020289
+:105110000202020202020202020202020202020170
+:105120000202020202020202020002020202020063
+:105130000202020202000202020200020002020156
+:105140000202020202020002020202020002020243
+:105150000202020201020202020202020202020230
+:105160000202020102020202020202020200020222
+:105170000202020202020202020202020202020011
+:105180000002020000020002020202020202020207
+:1051900002020202020200020202020202020202F1
+:1051A00002020202020202020202020202020202DF
+:1051B00002020202020202020202020202020200D1
+:1051C00002020202020202020202020202020000C3
+:1051D00000000000000000000000000000000002CD
+:1051E00000000202000000020002020202020200AD
+:1051F0000000020202000000020202020202020299
+:105200000000000200020202020202020200020288
+:10521000020202020202020202020202020202016F
+:105220000202020202020202020002020202020161
+:105230000202020202010202020200020002020154
+:105240000202020202020002020202020002020242
+:10525000020202020202020202020202020202022E
+:105260000202020102020202020202020200020221
+:105270000202020202020202020202020202020010
+:105280000002020000020002020202020202020206
+:1052900002020202020200020202020202020202F0
+:1052A00002020202020202020202020202020202DE
+:1052B00002020202020202020202020202020200D0
+:1052C00002020202020202020202020202020000C2
+:1052D00000000000000000000000000000000002CC
+:1052E00000000202000000020002020202020200AC
+:1052F0000000020202000000020202020202020298
+:105300000000000200020202020202020200020287
+:10531000020202020202020202020202020202026D
+:105320000202020202020202020002020202020160
+:105330000202020202010202020200020002020252
+:105340000202020202020002020202020002020241
+:10535000020202020202020202020202020202022D
+:10536000020202020202020202020202020002021F
+:10537000020202020202020202020202020202020D
+:105380000202020100020202020202020202020200
+:1053900002020202020200020202020202020202EF
+:1053A00002020202020202020202020202020202DD
+:1053B00002020202020202020202020202020200CF
+:1053C00002020202020202020202020201010000C3
+:1053D00000000000000000000000000000000002CB
+:1053E00000000202000000020002020202020200AB
+:1053F0000000020202000000020202020202020297
+:105400000000000200020202020202020200020286
+:10541000020202020202020202020202020202026C
+:10542000020202020202020202000202020202025E
+:105430000202020202020202020200020002020250
+:105440000202020202020002020202020002020240
+:10545000020202020202020202020202020202022C
+:10546000020202020202020202020202020202021C
+:10547000020202020202020202020202020202020C
+:1054800002020202000202020202020202020202FE
+:1054900002020202020202020202020202020202EC
+:1054A00002020202020202020202020202020202DC
+:1054B00002020202020202020202020202020200CE
+:1054C00002020202020202020202020201010000C2
+:1054D00000000000000000000000000000000002CA
+:1054E00000000202000000020002020202020201A9
+:1054F0000000020202000000020202020202020296
+:105500000000000200020202020202020200020285
+:10551000020202020202020202020202020202026B
+:10552000020202020202020202020202020202025B
+:10553000020202020202020202020002000202024F
+:10554000020202020202000202020202000202023F
+:10555000020202020202020202020202020202022B
+:10556000020202020202020202020202020202021B
+:10557000020202020202020202020202020202020B
+:1055800002020202020202020202020202020202FB
+:1055900002020202020202020202020202020202EB
+:1055A00002020202020202020202020202020202DB
+:1055B00002020202020202020202020202020200CD
+:1055C00002020202020202020202020201010000C1
+:1055D00000000000000000000000000000000002C9
+:1055E00000000202000000020002020202020201A8
+:1055F0000100020202000000020202020202020294
+:105600000100000200020202020202020200020283
+:10561000020202020202020202020202020202026A
+:10562000020202020202020202020202020202025A
+:10563000020202020202020202020002000202024E
+:10564000020202020202000202020202000202023E
+:10565000020202020202020202020202020202022A
+:10566000020202020202020202020202020202021A
+:10567000020202020202020202020202020202020A
+:1056800002020202020202020202020202020202FA
+:1056900002020202020202020202020202020202EA
+:1056A00002020202020202020202020202020202DA
+:1056B00002020202020202020202020202020200CC
+:1056C00002020202020202020202020201010000C0
+:1056D00000000000000000000000000000000002C8
+:1056E00000000202000002020002020202020201A5
+:1056F0000100020202000000020202020202020293
+:10570000010001020202020202020202020002027F
+:105710000202020202020202020202020202020269
+:105720000202020202020202020202020202020259
+:10573000020202020202020202020002000202024D
+:10574000020202020202000202020202000202023D
+:105750000202020202020202020202020202020229
+:105760000202020202020202020202020202020219
+:105770000202020202020202020202020202020209
+:1057800002020202020202020202020202020202F9
+:1057900002020202020202020202020202020202E9
+:1057A00002020202020202020202020202020202D9
+:1057B00002020202020202020202020201010100CE
+:1057C00002020202020202020202020101010100BF
+:1057D00000000000000000000000000000000002C7
+:1057E00000000202000002020202020202020202A1
+:1057F0000100020202000000020202020202020292
+:10580000020001020202020202020202020002027D
+:105810000202020202020202020202020202020268
+:105820000202020202020202020202020202020258
+:10583000020202020202020202020002000202024C
+:10584000020202020202000202020202000202023C
+:105850000202020202020202020202020202020228
+:105860000202020202020202020202020202020218
+:105870000202020202020202020202020202020208
+:1058800002020202020202020202020202020102F9
+:1058900002020202020202020202020201010102EB
+:1058A00002020202020202020202020202020202D8
+:1058B00002020202020202020202010101010100CF
+:1058C00002020202020202020202010101010100BF
+:1058D00000000000000000000000000000000002C6
+:1058E00000000202000002020202020202020202A0
+:1058F000020002020200000202020202020202028E
+:10590000020002020202020202020202020002027B
+:105910000202020202020202020202020202020267
+:105920000202020202020202020202020202020257
+:10593000020202020202020202020002000202024B
+:10594000020202020202000202020202000202023B
+:105950000202020202020202020202020202020227
+:105960000202020202020202020202020202020217
+:105970000202020202020202020202020202020207
+:1059800002020202020202020202020202010102F9
+:1059900002020202020202020202010101010102EC
+:1059A00002020202020202020202020201010102DA
+:1059B00002020202020202020101010101010100D0
+:1059C00002020202020202020202010101010100BE
+:1059D00000000000000000000000000000000002C5
+:1059E000000002020001020202020202020202029E
+:1059F000020002020202000202020202020202028B
+:105A00000201020202020202020202020200020279
+:105A10000202020202020202020202020202020266
+:105A20000202020202020202020202020202020256
+:105A3000020202020202020202020002000202024A
+:105A4000020202020202000202020202000202023A
+:105A50000202020202020202020202020202020226
+:105A60000202020202020202020202020102020217
+:105A70000202020202020202020202020201020207
+:105A800002020202020202020202020202010102F8
+:105A900002020202020202020101010101010102ED
+:105AA00002020202020202020202010101010102DB
+:105AB00002020202020202010101010101010100D0
+:105AC00002020202020202020101010101010100BF
+:105AD00000000000000000000000000000000002C4
+:105AE000000002020001020202020202020202029D
+:105AF000020002020202000202020202020202028A
+:105B00000201020202020202020202020200020278
+:105B10000202020202020202020202020202020265
+:105B20000202020202020202020202020101020257
+:105B30000202020202020202020200020002020249
+:105B40000202020202020002020202020002020239
+:105B50000202020202020202020202020101020227
+:105B60000202020202020202020202020102010217
+:105B70000202020202020202020201020101010209
+:105B800002020202020202020202020201010102F8
+:105B900002020202020202020101010101010102EC
+:105BA00002020202020202020101010101010102DC
+:105BB00002020202020201010101010101010100D0
+:105BC00002020202020202010101010101010100BF
+:105BD00000000000000000000000000000000002C3
+:105BE000000002020102020202020202020202029A
+:105BF0000200020202020002020202020202020289
+:105C00000202020202020202020202020100020277
+:105C10000202020202020202020202020202020264
+:105C20000202020202020202020202010101010258
+:105C3000020202020202020202020002000101024A
+:105C40000202020202020002020202020002020238
+:105C50000202020202020202020202020101020226
+:105C60000202020202020202020101010102010219
+:105C7000020202020202020201010101010101020B
+:105C800002020202020202020202010101010102F9
+:105C900002020202020202010101010101010102EC
+:105CA00002020202020202020101010101010102DB
+:105CB00002020201010201010101010101010100D1
+:105CC00002020201020202010101010101010100BF
+:105CD00000000000000000000000000000000002C2
+:105CE000000002020102020202020202010202029A
+:105CF0000200020202020002020202020102020289
+:105D00000202020202020202020201010100020278
+:105D10000202020202020202020202020101020265
+:105D20000202020202020202020201010101010258
+:105D3000020202020202020202020001000101024A
+:105D40000202020202020002020202010002020238
+:105D50000202020202020202020202010101020226
+:105D6000020202020202020101010101010201021A
+:105D7000020202020202020101010101010101020B
+:105D800002020202020202010101010101010102FB
+:105D900002020202020202010101010101010102EB
+:105DA00002020202020202020101010101010102DA
+:105DB00002010101010101010101010101010100D3
+:105DC00002020201020101010101010101010100C0
+:105DD00000000000000000000000000000000002C1
+:105DE000000002020202020202020202010101029A
+:105DF000020002020202000202020202010101028A
+:105E0000020202020202020201010101010001027A
+:105E10000202020202020202020202020101020264
+:105E20000202020202020201010201010101010259
+:105E3000020202020202020101010001000101024C
+:105E4000020202020202000201010101000102023B
+:105E50000202020202020202010102010101010228
+:105E6000020202020202010101010101010201021A
+:105E7000020202010202010101010101010101020C
+:105E800002020202020202010101010101010102FA
+:105E900002020202020202010101010101010102EA
+:105EA00002020202020202020101010101010102D9
+:105EB00001010101010101010101010101010100D3
+:105EC00002010101010101010101010101010100C2
+:105ED00000000000000000000000000000000002C0
+:105EE000000002020202020202020102010101029A
+:105EF000020002020202000202010101010101028C
+:105F0000020202020202020101010101010001027A
+:105F10000202020202020201020101010101020267
+:105F20000202020202020201010201010101010258
+:105F3000020202020202010101010001000101024C
+:105F4000020202020202000101010101000101023C
+:105F50000202020202020201010102010101010228
+:105F6000020201020202010101010101010201021A
+:105F7000020101010202010101010101010101020D
+:105F800002010102020202010101010101010102FB
+:105F900002020202020202010101010101010102E9
+:105FA00002020201010101020101010101010102DC
+:105FB00001010101010101010101010101010100D2
+:105FC00002010101010101010101010101010100C1
+:105FD00000000000000000000000000000000002BF
+:105FE000000001020202020202010102010101029B
+:105FF000020001020202000201010101010101028D
+:10600000020202010202010101010101010001027B
+:106010000202020202020201010101010101010268
+:106020000202010202020101010201010101010259
+:10603000020202010202010101010201000101024A
+:106040000202020202020201010101010001010239
+:10605000020202010201010101010101010101022B
+:10606000020101020202010101010101010101021B
+:10607000010101010202010101010101010101020D
+:1060800002010102020102010101010101010102FB
+:1060900002020201010102010101010101010102EB
+:1060A00001010101010101010101010101010102DF
+:1060B00001010101010101010101010101010100D1
+:1060C00001010101010101010101010101010100C1
+:1060D00002000000000000000000000000000002BC
+:1060E000000001010202020202010101010101029C
+:1060F000020001020202000201010101010101028C
+:10610000020202010201010101010101010001027B
+:106110000202020202020201010101010101010267
+:106120000201010202020101010201010101010259
+:10613000020201010202010101010201000101024A
+:10614000020201020102020101010101000101023A
+:10615000020101010201010101010101010101022C
+:10616000020101020202010101010101010101021A
+:10617000010101010202010101010101010101020C
+:1061800002010102020101010101010101010102FB
+:1061900001010101010102010101010101010102ED
+:1061A00001010101010101010101010101010101DF
+:1061B00001010101010101010101010101010100D0
+:1061C00001010101010101010101010101010000C1
+:1061D00002000200000000000000000000000002B9
+:1061E000000001010202020202010101010101029B
+:1061F000020001020202000201010101010101028B
+:10620000020202010201010101010101010001027A
+:10621000020101010202010101010101010101026A
+:106220000101010202020101010201010101010259
+:10623000010201010202010101010201000101024A
+:10624000010101010101020101010101000101023D
+:10625000010101010201010101010101010101022C
+:106260000201010202020101010101010101010219
+:10627000010101010202010101010101010101020B
+:1062800002010102020101010101010101010102FA
+:1062900001010101010101010101010101010102ED
+:1062A00001010101010101010101010101010101DE
+:1062B00001010101010101010101010101010100CF
+:1062C00001010101010101010101010101010000C0
+:1062D00002020200000000000000000000000002B6
+:1062E000000001010202020202010101010101029A
+:1062F000020001010102000201010101010101028C
+:106300000202020102010101010101010100010279
+:10631000010101010202010101010101010101026A
+:10632000010101020101010101010101010101025B
+:10633000010201010102010101010201000101024A
+:10634000010101010101020101010101000101023C
+:10635000010101010201010101010101010101022B
+:106360000201010202020101010101010101010119
+:10637000010101010101010101010101010101020C
+:1063800002010102020101010101010101010102F9
+:1063900001010101010101010101010101010102EC
+:1063A00001010101010101010101010101010101DD
+:1063B00001010101010101010101010101010100CE
+:1063C00001010101010101010101010101010000BF
+:1063D00002020200000000000000000000000001B6
+:1063E000000001010202020102010101010101029A
+:1063F000020001010102000201010101010101028B
+:106400000202020102010101010101010100010179
+:106410000101010102020101010101010101010269
+:10642000010101010101010101010101010101025B
+:106430000102010101020101010102010001010249
+:10644000010101010101020101010101000101023B
+:10645000010101010201010101010101010101012B
+:106460000201010201020101010101010101010119
+:10647000010101010101010101010101010101020B
+:1064800002010101010101010101010101010102FA
+:1064900001010101010101010101010101010101EC
+:1064A00001010101010101010101010101010101DC
+:1064B00001010101010101010101010101010100CD
+:1064C00001010101010101010101010101010000BE
+:1064D00002020200000000000000000000000001B5
+:1064E0000000010102020201020101010101010299
+:1064F000020001010102000201010101010101028A
+:106500000202020102010101010101010100010178
+:106510000101010101020101010101010101010269
+:10652000010101010101010101010101010101025A
+:106530000101010101020101010102010001010249
+:10654000010101010101020101010101000101023A
+:10655000010101010201010101010101010101012A
+:106560000201010201010101010101010101010119
+:10657000010101010101010101010101010101020A
+:1065800001010101010101010101010101010101FB
+:1065900001010101010101010101010101010101EB
+:1065A00001010101010101010101010101010101DB
+:1065B00001010101010101010101010101010100CC
+:1065C00001010101010101010101010101010000BD
+:1065D00002020200000000000000000000000002B3
+:1065E0000000010102020201010101010101010299
+:1065F0000201010101020002010101010101010189
+:106600000202020102010101010101010100010177
+:106610000101010101010101010101010101010269
+:106620000101010101010101010101010101010259
+:106630000101010101010101010102010201010247
+:106640000101010101010201010101010201010237
+:10665000010101010101010101010101010101012A
+:106660000201010101010101010101010101010119
+:106670000101010101010101010101010101010209
+:1066800001010101010101010101010101010101FA
+:1066900001010101010101010101010101010101EA
+:1066A00001010101010101010101010101010101DA
+:1066B00001010101010101010101010101010100CB
+:1066C00001010101010101010101010101010200BA
+:1066D00002020200000000000000000000000002B2
+:1066E0000000010102020101010101010101010299
+:1066F0000202010101020002010101010101010187
+:106700000202020101010101010101010100010177
+:106710000101010101010101010101010101010268
+:106720000101010101010101010101010101010258
+:106730000101010101010101010102010201010246
+:106740000101010101010201010101010201010236
+:106750000101010101010101010101010101010129
+:106760000101010101010101010101010101010119
+:106770000101010101010101010101010101010208
+:1067800001010101010101010101010101010101F9
+:1067900001010101010101010101010101010101E9
+:1067A00001010101010101010101010101010101D9
+:1067B00001010101010101010101010101010100CA
+:1067C00001010101010101010101010101010200B9
+:1067D00002020200000000000000000000000001B2
+:1067E0000000010102020101010101010101010298
+:1067F0000202010101020001010101010101010187
+:106800000202020101010101010101010100010176
+:106810000101010101010101010101010101010267
+:106820000101010101010101010101010101010257
+:106830000101010101010101010101010201010246
+:106840000101010101010201010101010201010136
+:106850000101010101010101010101010101010128
+:106860000101010101010101010101010101010118
+:106870000101010101010101010101010101010108
+:1068800001010101010101010101010101010101F8
+:1068900001010101010101010101010101010101E8
+:1068A00001010101010101010101010101010101D8
+:1068B00001010101010101010101010101010100C9
+:1068C00001010101010101010101010101010200B8
+:1068D00002020202000000000000000002000001AD
+:1068E0000000010102020101010101010101010297
+:1068F0000202010101020001010101010101010186
+:106900000202010101010101010101010100010176
+:106910000101010101010101010101010101010266
+:106920000101010101010101010101010101010256
+:106930000101010101010101010101010201010245
+:106940000101010101010201010101010201010135
+:106950000101010101010101010101010101010127
+:106960000101010101010101010101010101010117
+:106970000101010101010101010101010101010107
+:1069800001010101010101010101010101010101F7
+:1069900001010101010101010101010101010101E7
+:1069A00001010101010101010101010101010101D7
+:1069B00001010101010101010101010101010100C8
+:1069C00001010101010101010101010101010200B7
+:1069D00002020202000000000002000002000001AA
+:1069E0000000010102020101010101010101010296
+:1069F0000202010101010001010101010101010186
+:106A00000102010101010101010101010100010176
+:106A10000101010101010101010101010101010265
+:106A20000101010101010101010101010101010156
+:106A30000101010101010101010101010101010245
+:106A40000101010101010201010101010101010135
+:106A50000101010101010101010101010101010126
+:106A60000101010101010101010101010101010116
+:106A70000101010101010101010101010101010106
+:106A800001010101010101010101010101010101F6
+:106A900001010101010101010101010101010101E6
+:106AA00001010101010101010101010101010101D6
+:106AB00001010101010101010101010101010100C7
+:106AC00001010101010101010101010101000200B7
+:106AD00002020202020000000202000202000001A3
+:106AE0000000010102020101010101010101010295
+:106AF0000202010101010201010101010101010183
+:106B00000101010101010101010101010100010176
+:106B10000101010101010101010101010101010165
+:106B20000101010101010101010101010101010155
+:106B30000101010101010101010101010101010145
+:106B40000101010101010101010101010101010135
+:106B50000101010101010101010101010101010125
+:106B60000101010101010101010101010101010115
+:106B70000101010101010101010101010101010105
+:106B800001010101010101010101010101010101F5
+:106B900001010101010101010101010101010101E5
+:106BA00001010101010101010101010101010101D5
+:106BB00001010101010101010101010101010100C6
+:106BC00001010101010101010101010100000000B9
+:106BD000020202020200020202020002020000019E
+:106BE0000000010102010101010101010101010295
+:106BF0000202010101010201010101010101010182
+:106C00000101010101010101010101010102010173
+:106C10000101010101010101010101010101010164
+:106C20000101010101010101010101010101010154
+:106C30000101010101010101010101010101010144
+:106C40000101010101010101010101010101010134
+:106C50000101010101010101010101010101010124
+:106C60000101010101010101010101010101010114
+:106C70000101010101010101010101010101010104
+:106C800001010101010101010101010101010101F4
+:106C900001010101010101010101010101010101E4
+:106CA00001010101010101010101010101010101D4
+:106CB00001010101010101010101010101010102C3
+:106CC00001010101010101010101010000000000B9
+:106CD0000202020202020202020202020202000197
+:106CE0000000010101010101010101010101010295
+:106CF0000102010101010201010101010101010182
+:106D00000101010101010101010101010101010173
+:106D10000101010101010101010101010101010163
+:106D20000101010101010101010101010101010153
+:106D30000101010101010101010101010101010143
+:106D40000101010101010101010101010101010133
+:106D50000101010101010101010101010101010123
+:106D60000101010101010101010101010101010113
+:106D70000101010101010101010101010101010103
+:106D800001010101010101010101010101010101F3
+:106D900001010101010101010101010101010101E3
+:106DA00001010101010101010101010101010101D3
+:106DB00001010101010101010101010101010102C2
+:106DC00000000000010001010101000002000000BC
+:106DD0000202020202020202020202020102000197
+:106DE0000000010101010101010101010101010294
+:106DF0000102010101010201010101010101010181
+:106E00000101010101010101010101010101010172
+:106E10000101010101010101010101010101010162
+:106E20000101010101010101010101010101010152
+:106E30000101010101010101010101010101010142
+:106E40000101010101010101010101010101010132
+:106E50000101010101010101010101010101010122
+:106E60000101010101010101010101010101010112
+:106E70000101010101010101010101010101010102
+:106E800001010101010101010101010101010101F2
+:106E900001010101010101010101010101010101E2
+:106EA00001010101010101010101010101010101D2
+:106EB00001010101010101010101010101010102C1
+:106EC00000000000000000000000000002020000BE
+:106ED0000202010202020202020202020102000197
+:106EE0000000010101010101010101010101010194
+:106EF0000102010101010201010101010101010180
+:106F00000101010101010101010101010101010171
+:106F10000101010101010101010101010101010161
+:106F20000101010101010101010101010101010151
+:106F30000101010101010101010101010101010141
+:106F40000101010101010101010101010101010131
+:106F50000101010101010101010101010101010121
+:106F60000101010101010101010101010101010111
+:106F70000101010101010101010101010101010101
+:106F800001010101010101010101010101010101F1
+:106F900001010101010101010101010101010101E1
+:106FA00001010101010101010101010101010101D1
+:106FB00001010101010101010101010101010102C0
+:106FC00000000000000000020202020202020000B3
+:106FD000010101020202020202010201010100019B
+:106FE0000200010101010101010101010101010191
+:106FF000010201010101020101010101010101017F
+:107000000101010101010101010101010101010170
+:107010000101010101010101010101010101010160
+:107020000101010101010101010101010101010150
+:107030000101010101010101010101010101010140
+:107040000101010101010101010101010101010130
+:107050000101010101010101010101010101010120
+:107060000101010101010101010101010101010110
+:107070000101010101010101010101010101010100
+:1070800001010101010101010101010101010101F0
+:1070900001010101010101010101010101010101E0
+:1070A00001010101010101010101010101010101D0
+:1070B00001010101010101010101010101010102BF
+:1070C00000000002000002020202020202020000AE
+:1070D000010101020202020201010101010100019C
+:1070E0000200010101010101010101010101010190
+:1070F000010201010101020101010101010101017E
+:10710000010101010101010101010101010101016F
+:10711000010101010101010101010101010101015F
+:10712000010101010101010101010101010101014F
+:10713000010101010101010101010101010101013F
+:10714000010101010101010101010101010101012F
+:10715000010101010101010101010101010101011F
+:10716000010101010101010101010101010101010F
+:1071700001010101010101010101010101010101FF
+:1071800001010101010101010101010100000001F2
+:1071900001010101010101010000000000000001E6
+:1071A00001010101010101010101010101010101CF
+:1071B00001010101010102020202020202020202B5
+:1071C00000020202020202020202020202020000A5
+:1071D000010101010202020101010101010100019D
+:1071E000020001010101010101010101010101018F
+:1071F000010101010101010101010101010101017F
+:10720000010101010101010101010101010101016E
+:10721000010101010101010101010101010101015E
+:10722000010101010101010101010101010101014E
+:10723000010101010101010101010101010101013E
+:10724000010101010101010101010101010101012E
+:10725000010101010101010101010101010101011E
+:10726000010101010101010101010101010101010E
+:1072700001010101010101010101010101010101FE
+:1072800001010101010000010101010100000001F3
+:1072900000000000000000010000000000000001EC
+:1072A00001010101010101010000000000000001D5
+:1072B00002020202020202020202020202020202AE
+:1072C00002020202020202020202020202020000A2
+:1072D000010101010102010101010101010101019D
+:1072E000020001010101010101010101010101018E
+:1072F000010101010101010101010101010101017E
+:10730000010101010101010101010101010101016D
+:10731000010101010101010101010101010101015D
+:10732000010101010101010101010101010101014D
+:10733000010101010101010101010101010101013D
+:10734000010101010101010101010101010101012D
+:10735000010101010101010101010101010101011D
+:10736000010101010101010101010101010101010D
+:1073700001010101010101010101010101010101FD
+:1073800001010101010000010101010100000000F3
+:1073900000000000000000010000000000000001EB
+:1073A00000000000000000000202020202020202CD
+:1073B00002020202020202020202020202020202AD
+:1073C00002020202020202020202020202020000A1
+:1073D000010101010101010101010101010101019D
+:1073E000020001010101010101010101010101018D
+:1073F000010101010101010101010101010101027C
+:10740000010101010101010101010101010101016C
+:10741000010101010101010101010101010101015C
+:10742000010101010101010101010101010101014C
+:10743000010101010101010101010101010101013C
+:10744000010101010101010101010101010101012C
+:10745000010101010101010101010101010101011C
+:10746000010101010101010101010101010101010C
+:1074700001010101010101010101010100010101FD
+:1074800001020201010000020202020202020200E5
+:1074900000000000000000020202020202020200DC
+:1074A00002020202020202020202020202020202BC
+:1074B00002020202020202020202020202020202AC
+:1074C00002020202020202020202020202020000A0
+:1074D000010101010101010101010101010101019C
+:1074E000020001010101010101010101010101018C
+:1074F000010101010101010101010101010101027B
+:10750000010101010101010101010101010101016B
+:10751000010101010101010101010101010101015B
+:10752000010101010101010101010101010101014B
+:10753000010101010101010101010101010101013B
+:10754000010101010101010101010101010101012B
+:10755000010101010101010101010101010101011B
+:10756000010101010101010101010101000101010C
+:1075700001010101010102010101010100000101FC
+:1075800002020202020202020202020202020200DD
+:1075900002020202020202020202020202020202CB
+:1075A00002020202020202020202020202020202BB
+:1075B00002020202020202020202020202020202AB
+:1075C000020202020202020202020202020200009F
+:1075D000010101010101010101010101010101019B
+:1075E000020001010101010101010101010101018B
+:1075F000010101010101010101010101010101027A
+:10760000010101010101010101010101010101016A
+:10761000010101010101010101010101010101015A
+:10762000010101010101010101010101010101014A
+:10763000010101010101010101010101010101013A
+:10764000010101010101010101010101010101012A
+:10765000010101010101010101010101010101011A
+:10766000010101010101010101010101000101010B
+:1076700002020202010101020202020202020202ED
+:1076800002020202020202020202020202020202DA
+:1076900002020202020202020202020202020202CA
+:1076A00002020202020202020202020202020202BA
+:1076B00002020202020202020202020202020202AA
+:1076C000020202020202020202020202020200009E
+:1076D000010101010101010101010101010101019A
+:1076E000010001010101010101010101010101018B
+:1076F000010101010101010101010101010101017A
+:107700000101010101010101020101010101010168
+:107710000101010101010101010101010101010159
+:107720000101010101010201010101010101010148
+:107730000101010101010101010101010101010139
+:107740000101010101010101010101010101010129
+:10775000010101010101010101010101000001011B
+:1077600001020201000102020202020202020202FE
+:1077700002020202020202020202020202020202E9
+:1077800002020202020202020202020202020202D9
+:1077900002020202020202020202020202020202C9
+:1077A00002020202020202020202020202020202B9
+:1077B00002020202020202020202020202020202A9
+:1077C000020202020202020202020202020202009B
+:1077D0000101010101010101010101010101010199
+:1077E000010001010101010101010101010101018A
+:1077F0000101010101010101010101010101010179
+:10780000020202020101010201020202020202005E
+:107810000101010101010102010101010101010157
+:107820000101010101010101010101010101010148
+:107830000101010101010101010101010101010138
+:107840000101010101010101010101010100010129
+:107850000101010101010101010101010000010219
+:1078600002020202020202020202020202020202F8
+:1078700002020202020202020202020202020202E8
+:1078800002020202020202020202020202020202D8
+:1078900002020202020202020202020202020202C8
+:1078A00002020202020202020202020202020202B8
+:1078B00002020202020202020202020202020202A8
+:1078C000020202020202020202020202020202009A
+:1078D0000101010101010101010101010101010198
+:1078E000010000010101010101010101010101018A
+:1078F0000101000202010101010101010101010177
+:107900000101010102020201000101010101010066
+:107910000101010101010201010101010101010156
+:10792000010001020202000101010100000001004A
+:107930000101010102020101010101010100010136
+:107940000000000101010200000000000000000131
+:107950000202020200020202020202020202020209
+:1079600002020202020202020202020202020202F7
+:1079700002020202020202020202020202020202E7
+:1079800002020202020202020202020202020202D7
+:1079900002020202020202020202020202020202C7
+:1079A00002020202020202020202020202020202B7
+:1079B00002020202020202020202020202020202A7
+:1079C0000202020202020202020202020202020099
+:1079D0000101010101010101010101010101010197
+:1079E0000102000101010101010101010101010187
+:1079F0000101000202010101010101010101010077
+:107A00000000000001010100000000000000000073
+:107A10000100010101010100010101010001010159
+:107A2000020202010101000202020202020202003D
+:107A3000020202020101020202020202020202002A
+:107A40000202020202020102020202020202020217
+:107A50000202020202020202020202020202020206
+:107A600002020202020202020202020202020202F6
+:107A700002020202020202020202020202020202E6
+:107A800002020202020202020202020202020202D6
+:107A900002020202020202020202020202020202C6
+:107AA00002020202020202020202020202020202B6
+:107AB00002020202020202020202020202020202A6
+:107AC0000202020202020202020202020202020098
+:107AD0000101010101010101010101010101010196
+:107AE0000101000101010101010101010101010187
+:107AF0000101000202010101010101010101010076
+:107B00000000000000000000000000000000000075
+:107B10000000010102020000010101010000010258
+:107B20000202020202020202020202020202020235
+:107B30000202020202020202020202020202020225
+:107B40000202020202020202020202020202020215
+:107B50000202020202020202020202020202020205
+:107B600002020202020202020202020202020202F5
+:107B700002020202020202020202020202020202E5
+:107B800002020202020202020202020202020202D5
+:107B900002020202020202020202020202020202C5
+:107BA00002020202020202020202020202020202B5
+:107BB00002020202020202020202020202020202A5
+:107BC0000202020202020202020202020202020097
+:107BD0000101010101010101010101010101010195
+:107BE000010100000101000100010101000101018A
+:107BF0000101000101010101010101010000010079
+:107C00000000000000000000000000000000000074
+:107C1000020202020101000002020202020202024A
+:107C20000202020202020202020202020202020234
+:107C30000202020202020202020202020202020224
+:107C40000202020202020202020202020202020214
+:107C50000202020202020202020202020202020204
+:107C600002020202020202020202020202020202F4
+:107C700002020202020202020202020202020202E4
+:107C800002020202020202020202020202020202D4
+:107C900002020202020202020202020202020202C4
+:107CA00002020202020202020202020202020202B4
+:107CB00002020202020202020202020202020200A6
+:107CC00000000000000000000000000000000000B4
+:107CD0000101010101010101010101010101010194
+:107CE000010100000101000100010101000101008A
+:107CF0000000000101000000000000000000000082
+:107D00000000000000000000000000000000000271
+:107D10000202020202020202020202020202020243
+:107D20000202020202020202020202020202020233
+:107D30000202020202020202020202020202020223
+:107D40000202020202020202020202020202020213
+:107D50000202020202020202020202020202020203
+:107D600002020202020202020202020202020202F3
+:107D700002020202020202020202020202020202E3
+:107D800002020202020202020202020202020200D5
+:107D900000000000000000000000000000000002E1
+:107DA00002020202020202020202020202020202B3
+:107DB00002020202020202020202020202020200A5
+:107DC00000000000000000000000000000000000B3
+:107DD0000101010101010101010101010101010292
+:107DE0000202020202020202020202020202020075
+:107DF0000202020101020202020202020202020067
+:107E00000202020202020202020202020202020252
+:107E10000202020202020202020202020202020242
+:107E20000202020202020202020202020202020232
+:107E30000202020202020202020202020202020222
+:107E40000202020202020202020202020202020212
+:107E50000202020202020202020202020202020202
+:107E600002020202020202020202020202020202F2
+:107E700002020202020202020202020202020202E2
+:107E800002020202020202020202020202020200D4
+:107E900000000000000000000000000000000000E2
+:107EA00000000000000000000000000000000002D0
+:107EB00002020202020202020202020202020200A4
+:107EC00000000000000000000000000000000000B2
+:107ED0000101010101010101010101010101010093
+:107EE0000000000000000000000000000000000290
+:107EF0000202020202020202020202020202020262
+:107F00000202020202020202020202020202020251
+:107F10000202020202020202020202020202020241
+:107F20000202020202020202020202020202020033
+:107F30000000000000000000000000000000000041
+:107F4000000000000000000000000000000000022F
+:107F50000202020202020202020202020202020201
+:107F600002020202020202020202020202020202F1
+:107F700002020202020202020202020202020201E2
+:107F800001010101010101010101010101010101E1
+:107F900001010101010101010101010101010100D2
+:107FA00000000000000000000000000000000000D1
+:107FB00000000000000000000000000000000000C1
+:107FC00000000000000000000000000000000000B1
+:107FD0000101010101010101010101010101010092
+:107FE0000000000000000000000000000000000190
+:107FF0000101010101010101010101010101010072
+:10800000000000000000000000000000000000026E
+:108010000202020202020202020202020202020141
+:108020000101010101010101010101010101010041
+:10803000000000000000000000000000000000013F
+:10804000010101010101010101010101010101021F
+:108050000202020202020202020202020202020101
+:108060000101010101010101010101010101010100
+:1080700001010101010101010101010101010101F0
+:1080800001010101010101010101010101010101E0
+:1080900001010101010101010101010101010101D0
+:1080A00001010101010101010101010101010100C1
+:1080B00000000000000000000000000000000000C0
+:1080C00000000000000000000000000000000000B0
+:1080D0000101010101010101010101010101010190
+:1080E0000101010101010101010101010101010081
+:1080F000000000000000000000000000000000017F
+:10810000010101010101010101010101010101015F
+:10811000010101010101010101010101010101014F
+:10812000010101010101010101010101010101013F
+:10813000010101010101010101010101010101012F
+:10814000010101010101010101010101010101011F
+:10815000010101010101010101010101010101010F
+:1081600001010101010101010101010101010101FF
+:1081700001010101010101010101010101010100F0
+:1081800000000000000000000000000000000002ED
+:1081900002020202020202020202020202020201C0
+:1081A00001010101010101010101010101010101BF
+:1081B00001010101010101010101010101010100B0
+:1081C00000000000000000000000000000000000AF
+:1081D0000101010101010101010101010101010090
+:1081E000000000000000000000000000000000008F
+:1081F000000000000000000000000000000000007F
+:10820000000000000000000000000000000000016D
+:10821000010101010101010101010101010101004F
+:10822000000000000000000000000000000000004E
+:10823000000000000000000000000000000000023C
+:10824000020202020202020202020202020202010F
+:10825000010101010101010101010101010101000F
+:10826000000000000000000000000000000000000E
+:1082700000000000000000000000000000000000FE
+:1082800000000000000000000000000000000000EE
+:1082900000000000000000000000000000000002DC
+:1082A00002020202020202020202020202020200B0
+:1082B00000000000000000000000000000000000BE
+:1082C00000000000000000000000000000000000AE
+:1082D000000000000000000000000000000000009E
+:1082E000000000000000000000000000000000008E
+:1082F000000000000000000000000000000000007E
+:10830000000000000000000000000000000000006D
+:10831000000000000000000000000000000000005D
+:10832000000000000000000000000000000000004D
+:10833000000000000000000000000000000000003D
+:10834000000000000000000000000000000000002D
+:10835000000000000000000000000000000000001D
+:10836000000000000000000000000000000000000D
+:1083700000000000000000000000000000000000FD
+:1083800000000000000000000000000000000000ED
+:1083900000000000000000000000000000000000DD
+:1083A00000000000000000000000000000000000CD
+:1083B00000000000000000000000000000000000BD
+:1083C0000000000000000000000000000000004469
+:1083D000000000000000000000000000000000009D
+:1083E000000000000000000000000000000000008D
+:1083F000000000000000000000000000000000007D
+:10840000000000000000000000000000000000006C
+:10841000000000000000000000000000000000005C
+:10842000000000000000000000000000000000004C
+:10843000000000000000000000000000000000003C
+:10844000000000000000000000000000000000002C
+:10845000000000000000000000000000000000001C
+:10846000000000000000000000010100000000000A
+:1084700002000000000000000000000000000000FA
+:1084800000000000000000000000000000000000EC
+:1084900000000000000000000000000100000002D9
+:1084A00001000002000000000000000000000000C9
+:1084B00000000000000000000000000000000000BC
+:1084C00000000000000000000000000000000000AC
+:1084D000000000000000000200020202020202028C
+:1084E0000202000202000000000000000100020081
+:1084F0000002020000020000000000000000020074
+:108500000001000001010000010000010000000066
+:108510000100000000000000000000000001000059
+:108520000100000100000000000000010002000145
+:108530000000000100000000000000000000010039
+:108540000001010000000000010000000000000028
+:108550000000000100000000000000000000020018
+:108560000001010001020000000101000000000004
+:1085700002020200020200000000000001000000F0
+:1085800000000002000000000101000001000001E5
+:1085900000000000000000000000000100000002D8
+:1085A00001020202010100000000000101020001BD
+:1085B00001000001000000010000000000000100B7
+:1085C00000010100000100000000000000000000A8
+:1085D0000000000000000002020202020202020289
+:1085E0000202020202000000000002010101020179
+:1085F0000102020100010000010000010000020070
+:108600000101000101010000010000010000000063
+:108610000102010002010000000100000001000051
+:10862000010202010202000000000001000202013A
+:10863000000201010200000001000101000001022E
+:108640000101010100000000010000000000000025
+:10865000000201010201000001000000000202020C
+:108660000101010101020000000101010000000000
+:1086700002020202020100000000000001000000EE
+:1086800000020002020200010101000001000201DB
+:1086900000000000000000000000000100000002D7
+:1086A00001020202010100010000000101020201B9
+:1086B00001010101010101010000000001010101AE
+:1086C00001010101000100000000000000000000A5
+:1086D0000000000000000002020202020202020288
+:1086E0000202020202000000000002010202020176
+:1086F000010202010201000001000001000002006D
+:10870000010102010101000001010001000000025D
+:10871000010201000201000001010000010100014D
+:108720000102020102010000000101010002020138
+:10873000010201010200000001000101000001012D
+:10874000010101010201000001000000010200001E
+:10875000000201010201000001000000000201010D
+:108760000101010101010000000101010000000000
+:1087700001020202020100000000000001000002EC
+:1087800002020002020100010101000101000101D9
+:1087900000000000000000000000000100000201D5
+:1087A00001020201010100010000000101010201BA
+:1087B00001010101010101010000000001010101AD
+:1087C00001010101010100000000000200000000A1
+:1087D0000000000000000002020202020202020287
+:1087E0000202020202000000010002010202010274
+:1087F000010101020101000001000001000001006F
+:10880000010101010101000001010001000000025D
+:10881000010101000101010001010000010101014C
+:108820000102020102010000000101010001010139
+:10883000010201010202000001000101000001012A
+:10884000010101010101000001000000010100001F
+:10885000000101010101000001000000000101010F
+:1088600001010101010100000001010100000002FD
+:1088700001010102010100000000000001000002EE
+:1088800002020001020100010101000101000101D9
+:1088900000000000000200000000000100020201D0
+:1088A00001010101010100010000000101010101BC
+:1088B00001010101010101010000000101010101AB
+:1088C00001010101010100000000000200000000A0
+:1088D0000000000000000002020202020202020286
+:1088E0000202020202000000010002010202010273
+:1088F000020101020101000001000001000001006D
+:10890000010101010101000001010001000000025C
+:108910000101010201010100010101010101010147
+:10892000010101010101000001010101000101013A
+:10893000010101010101000001000101000001012C
+:10894000010101010101010001000000010100021B
+:10895000000101010101000001000000000101010E
+:1089600001010101010100000001010100000202FA
+:1089700001010101010100000000000001000002EE
+:1089800002010001010100010101000101010101D9
+:1089900000000000000200000000000100020201CF
+:1089A00001010101010101010000000101010101BA
+:1089B00001010101010101010000000101010101AA
+:1089C000010101010101010000000002000000009E
+:1089D0000000000000000002020202020202020285
+:1089E0000202020202000000010002010202010272
+:1089F000020101020101000001000001000001006C
+:108A0000010101010101000001010001000000015C
+:108A10000101010101010100010101010101010147
+:108A20000101010101010100010101010001010138
+:108A3000010101010101000001000101000001012B
+:108A40000101010101010100010000000101020218
+:108A5000000101010101000001000000010101010C
+:108A600001010101010100000001010100000202F9
+:108A700001010101010100000000000001000001EE
+:108A800001010001010100010101000101010101D9
+:108A900000000000020200000000000100010101CE
+:108AA00001010101010101010000000101010101B9
+:108AB00001010101010101010000000101010101A9
+:108AC000010101010101010000000002000000009D
+:108AD0000000000000000002020202020202020284
+:108AE000020202020200000001000202020202026F
+:108AF000020101020101000001000001000001006B
+:108B0000010101010101010001010001000000015A
+:108B10000101010101010100010101010101010146
+:108B20000101010101010100010101010001010137
+:108B30000101010101010001010001010000010129
+:108B40000101010101010100010100000101020216
+:108B5000000101010101000101000000010101010A
+:108B600001010101010100010001010100000201F8
+:108B700001010101010101000000010001000001EB
+:108B800001010001010100010101000101010101D8
+:108B900000000002020100000000000100010101CC
+:108BA00001010101010101010000000101010101B8
+:108BB00001010101010101010000000101010101A8
+:108BC000010101010101010000000002000000009C
+:108BD0000000000000000002020202020202020283
+:108BE000020202020200000001000202020202026E
+:108BF000020101020101000001000001000001006A
+:108C00000101010101010101010100010000020156
+:108C10000101010101010100010101010101010145
+:108C20000101010101010101010101010001010135
+:108C30000101010101010101010101010000010126
+:108C40000101010101010100010100000101020116
+:108C50000001010101010001010000000101010109
+:108C600001010101010100010001010100000101F8
+:108C700001010101010101000000010001000001EA
+:108C800001010201010101010101000101010101D4
+:108C900000000002020100000000000100010101CB
+:108CA00001010101010101010000000101010101B7
+:108CB00001010101010101010000000101010101A7
+:108CC0000101010101010100000000020202000097
+:108CD0000000000000000002020202020202020282
+:108CE000020202020200000001000202020202026D
+:108CF0000201010201010000010000010000010069
+:108D00000101010101010101010100010102010153
+:108D10000101010101010100010101010101010144
+:108D20000101010101010101010101010101010133
+:108D30000101010101010101010101010000010125
+:108D40000101010101010100010100000101010116
+:108D50000001010101010001010000000101010108
+:108D600001010101010101010001010100000101F6
+:108D700001010101010101000001010001000001E8
+:108D800001010101010101010101000101010101D4
+:108D900000000002010100000000000100010101CB
+:108DA00001010101010101010000000101010101B6
+:108DB00001010101010101010000000101010101A6
+:108DC0000101010101010100000000020202000096
+:108DD0000000000000000002020202020202020281
+:108DE000020202020200000001000202020202026C
+:108DF0000201010201010000010001010100010066
+:108E00000101010101010101010100010102010152
+:108E10000101010101010101010101010101010142
+:108E20000101010101010101010101010101010132
+:108E30000101010101010101010101010002010122
+:108E40000101010101010100010100000101010115
+:108E50000001010101010001010000010101010106
+:108E600001010101010101010001010100000101F5
+:108E700001010101010101000001010001000001E7
+:108E800001010101010101010101000101010101D3
+:108E900000020201010100000000000100010101C7
+:108EA00001010101010101010000000101010101B5
+:108EB00001010101010101010000000101010101A5
+:108EC0000101010101010100000000020202000095
+:108ED0000000000000000002020202020202020280
+:108EE0000202020202000001020002020202020269
+:108EF0000201010201010100010001010100010064
+:108F00000101010101010101010100010102010151
+:108F10000101010101010101010101010101010141
+:108F20000101010101010101010101010101010131
+:108F30000101010101010101010101010002010121
+:108F40000101010101010101010101010101010111
+:108F50000001010101010001010000010101010105
+:108F600001010101010101010001010100000101F4
+:108F700001010101010101000001010001000001E6
+:108F800001010101010101010101010101010101D1
+:108F900000020201010100000000000100010101C6
+:108FA00001010101010101010000000101010101B4
+:108FB00001010101010101010000000101010101A4
+:108FC0000101010101010100000000020202000094
+:108FD000000000000000000202020202020202027F
+:108FE0000202020202000001020002020202020268
+:108FF0000201010201010100010001010100010261
+:109000000101010101010101010100010101010151
+:109010000101010101010101010101010101010140
+:109020000101010101010101010101010101010130
+:10903000010101010101010101010101010201011F
+:109040000101010101010101010101010101010110
+:109050000001010101010101010100010101010102
+:1090600001010101010101010001010100020101F1
+:1090700001010101010101000001010001000001E5
+:1090800001010101010101010101010101010101D0
+:1090900000020201010100000000000100010101C5
+:1090A00001010101010101010000000101010101B3
+:1090B00001010101010101010000000101010101A3
+:1090C0000101010101010100000000020202000093
+:1090D000000000000000000202020202020202027E
+:1090E0000202020202000002020002020202020266
+:1090F000020101020101010101000101010001025F
+:10910000010101010101010101010101010101014F
+:10911000010101010101010101010101010101013F
+:10912000010101010101010101010101010101012F
+:10913000010101010101010101010101010101011F
+:10914000010101010101010101010101010101010F
+:109150000001010101010101010100010101010101
+:1091600001010101010101010001010100020101F0
+:1091700001010101010101000001010001020001E2
+:1091800001010101010101010101010101010101CF
+:1091900000010101010100010000000100010101C5
+:1091A00001010101010101010000000101010101B2
+:1091B00001010101010101010000000101010101A2
+:1091C0000101010101010100000000020202000092
+:1091D000000000000000000202020202020202027D
+:1091E0000202020202000002020002020202020265
+:1091F000020101020101010101010101010001025D
+:10920000010101010101010101010101010101014E
+:10921000010101010101010101010101010101013E
+:10922000010101010101010101010101010101012E
+:10923000010101010101010101010101010101011E
+:10924000010101010101010101010101010101010E
+:1092500000010101010101010101010101010101FF
+:1092600001010101010101010001010100020101EF
+:1092700001010101010101000001010001020001E1
+:1092800001010101010101010101010101010101CE
+:1092900000010101010100010000000100010101C4
+:1092A00001010101010101010000000101010101B1
+:1092B00001010101010101010000000101010101A1
+:1092C0000101010101010100000000020202000091
+:1092D000000000000000000202020202020202027C
+:1092E0000202020202000002020002020202020264
+:1092F000020101020102010101010101010001015C
+:10930000010101010101010101010101010101014D
+:10931000010101010101010101010101010101013D
+:10932000010101010101010101010101010101012D
+:10933000010101010101010101010101010101011D
+:10934000010101010101010101010101010101010D
+:1093500002010101010101010101010101010101FC
+:1093600001010101010101010001010100010101EF
+:1093700001010101010101000001010001020001E0
+:1093800001010101010101010101010101010101CD
+:1093900002010101010100010000000100010101C1
+:1093A00001010101010101010000000101010101B0
+:1093B00001010101010101010000000101010101A0
+:1093C000010101010101010000000202020200008E
+:1093D000000000000000000202020202020202027B
+:1093E0000202020202000002020202020202020261
+:1093F0000202020202020101010101010100010158
+:10940000010101010101010101010101010101014C
+:10941000010101010101010101010101010101013C
+:10942000010101010101010101010101010101012C
+:10943000010101010101010101010101010101011C
+:10944000010101010101010101010101010101010C
+:1094500002010101010101010101010101010101FB
+:1094600001010101010101010101010100010101ED
+:1094700001010101010101000001010001010201DE
+:1094800001010101010101010101010101010101CC
+:1094900002010101010101010100000100010101BE
+:1094A00001010101010101010000000101010101AF
+:1094B000010101010101010101000001010101019E
+:1094C000010101010101010000000202020200008D
+:1094D000000000000000000202020202020202027A
+:1094E0000202020202000002020202020202020260
+:1094F0000202020202020101010101020100010156
+:109500000101010101010101020201020101010148
+:10951000010101010101010101020101010101013A
+:10952000010101010101010101010101010101012B
+:10953000010101010101010101010101010101011B
+:10954000010101010101010101010101010101010B
+:1095500001010101010101010101010101010101FB
+:1095600001010101010101010101010100010101EC
+:1095700001010101010101000101010001010201DC
+:1095800001010101010101010101010101010101CB
+:1095900002010101010101010100000100010101BD
+:1095A00001010101010101010000000101010101AE
+:1095B000010101010101010101000001010101019D
+:1095C000010101010101010000000202020200008C
+:1095D0000000000000000002020202020202020279
+:1095E0000102020102000002020202020202020261
+:1095F0000202020202020101020101020102010152
+:109600000101010101010101020201020101010147
+:109610000101010101010101010202010102010137
+:10962000010101010101010101010101010101012A
+:109630000101010101010101010102010101010119
+:109640000101010101010101020101010101010109
+:1096500001010101010101010101010101010101FA
+:1096600001010101010101010101010100010101EB
+:1096700001010101010101010101010001010201DA
+:1096800001010101010101010101010101010101CA
+:1096900001010101010101010100000100010101BD
+:1096A00001010101010101010000000101010101AD
+:1096B000010101010101010101000001010101019C
+:1096C000010101010101010000000202020200008B
+:1096D000000000000000000202020202020201017A
+:1096E0000101010102000002020202020202020262
+:1096F0000202020202020101020101020102010151
+:109700000101010101010101020201020101010146
+:109710000101010101010101020202010102010135
+:109720000101010101010101010202020101010126
+:109730000101010101010101020102020101010116
+:109740000101010101010101020101010101010108
+:1097500001010101010101010101010101010101F9
+:1097600001010101010101010102020100010101E8
+:1097700001010101010101010101010001010101DA
+:1097800001010101010101010101010101010101C9
+:1097900001010101010101010100000100010101BC
+:1097A00001010101010101020000000201010101AA
+:1097B000010101010101010101000001010101019B
+:1097C0000101010101010100000202020202000088
+:1097D000000000000001000202020202010101017A
+:1097E0000101010101000002020202020202020262
+:1097F000020202020202020102010102010201014F
+:109800000101010101010101020201020101010145
+:109810000101010101010101020202020202010132
+:109820000101010101010101010202020101010125
+:109830000101010101010101020102020101020114
+:109840000101010101010101020101010101010107
+:1098500001010101010101010201010101010101F7
+:1098600001010101010101010102020100010101E7
+:1098700001010101010101010101010001010101D9
+:1098800001010101010101020202010101010101C5
+:1098900001010101010101010100000100010101BB
+:1098A00001010101010101020000000202010101A8
+:1098B0000101010101010102010000010101010199
+:1098C0000101010101010100000202020202000087
+:1098D000000000000001000202020201010101017A
+:1098E0000101010101000002020202020202020261
+:1098F000020202020202020102010202010101014E
+:109900000202010101010102020201020101010141
+:10991000020101010101010102020202020202022E
+:109920000201010101010101020202020101010221
+:109930000101010101010102020102020101020112
+:109940000101010101010101020201010201010104
+:1099500001010101010101010201010101010101F6
+:1099600001010101010101010102020200010101E5
+:1099700001010101010101010101010001010101D8
+:1099800001010101010101020202010101010101C4
+:1099900001010101010101010100000200010101B9
+:1099A00001010101010101020000000202010101A7
+:1099B0000101010101010102010000010101010198
+:1099C0000101010101010100000202020202000086
+:1099D000000000000001000102010101010101017C
+:1099E0000101010101000002020202020202020260
+:1099F000020202020202020102010202010101014D
+:109A00000202010101010102020201020101010140
+:109A1000020101010101010202020202020202022C
+:109A2000020101020101010202020202010101021E
+:109A30000101010101010102020202020101020110
+:109A40000101010101010101020201010202010102
+:109A500001010101010101020201010101010101F4
+:109A600001010101010101020102020200010101E3
+:109A700001010101010101010101010002010101D6
+:109A800001010101010101020202010202010101C1
+:109A900001010101010101010100000200010101B8
+:109AA00001010101010101020000000202010102A5
+:109AB0000101010101010102010000010101010197
+:109AC0000101010101010100000202020101000087
+:109AD000000000000001000102010101010101017B
+:109AE000010101010100000202020202020202025F
+:109AF000020202020202020102010202020102014A
+:109B0000020201020201010202020202020101013B
+:109B1000020102010101010202020202020202022A
+:109B2000020101020101010202020202010101021D
+:109B3000010101010101010202020202010102020E
+:109B400002020201010101020202020102020101FC
+:109B500001010202010101020201010101010101F1
+:109B600001010101010101020102020200010101E2
+:109B700001010101010101010101020102010101D3
+:109B800001010101010101020202010202010102BF
+:109B900001010101010101010100000200010101B7
+:109BA00001010101010101020000000202020102A3
+:109BB0000201010101010102010000020202020191
+:109BC0000101010101010100000202020101020084
+:109BD000000000000001000102010101010101017A
+:109BE000010101010100000202020202020202025E
+:109BF0000202020202020202020202020201020147
+:109C0000020201020201010202020202020101013A
+:109C10000201020101010102020202020202020229
+:109C2000020101020101010202020202010202021A
+:109C3000020102020101010202020202010102020A
+:109C400002020202010101020202020202020101F9
+:109C500001010202010101020201010102020202EC
+:109C600002020201010101020102020201010101DD
+:109C700001010101010101010102020102010101D1
+:109C800001010101010101020202010202020202BC
+:109C900001010101010101010100000201010101B5
+:109CA00001010101010101020000000202020202A1
+:109CB000020202020101010201000002020202028C
+:109CC0000101010101010100000202010101020084
+:109CD0000000020001010001020101010101010176
+:109CE000010101020100000202020202020202025C
+:109CF0000202020202020202020202020201020146
+:109D00000202020202020102020202020201020235
+:109D10000201020101010102020202020202020228
+:109D20000201010201010102020202020202020218
+:109D30000201020201010102020202020101020209
+:109D400002020202010101020202020202020101F8
+:109D500001010202010101020202010202020202E9
+:109D600002020202020101020102020201010101DA
+:109D700001010101010101010102020102010101D0
+:109D800001010101010101020202020202020202BA
+:109D900001010101010101010100000201010101B4
+:109DA000020101010101010200000002020202029F
+:109DB000020202020201010201000002020202028A
+:109DC000020202010101010000020201010102027E
+:109DD0000000020001010001020101010101010175
+:109DE0000202020201000002020202020202020258
+:109DF0000202020202020202020202020201020145
+:109E00000202020202020102020202020201020234
+:109E10000202020101020102020202020202020225
+:109E20000201010201010102020202020202020217
+:109E30000201020201010102020202020201020207
+:109E400002020202010101020202020202020101F7
+:109E500001020202010201020202020202020202E5
+:109E600002020202020101020102020201010101D9
+:109E700001010101010101010102020102010101CF
+:109E800001010101010101020202020202020202B9
+:109E900001010101010101010100000201010101B3
+:109EA000020101010101010200000002020202029E
+:109EB0000202020202020202010000020202020287
+:109EC000020202020101010000020201010102027C
+:109ED0000000020001010001010101010101020273
+:109EE0000202020202000002020202020202020256
+:109EF0000202020202020202020202020201020144
+:109F00000202020202020102020202020201020233
+:109F10000202020202020202020202020202020221
+:109F20000202020201020102020202020202020213
+:109F30000201020201010102020202020201020206
+:109F400002020202020201020202020202020202F2
+:109F500001020202020201020202020202020202E3
+:109F600002020202020101020102020201010101D8
+:109F700002010101010101010102020102010101CD
+:109F800001010101010101020202020202020202B8
+:109F900001010101010101020100000201020102AF
+:109FA000020101010201010201000002020202029B
+:109FB0000202020202020202010000020202020286
+:109FC0000202020202020100000202010101020279
+:109FD000000201020101000101010101020202026D
+:109FE0000202020202000002020202020202020255
+:109FF0000202020202020202020202020201020143
+:10A000000202020202020102020202020202020231
+:10A010000202020202020202020202020202020220
+:10A020000202020202020202020202020202020210
+:10A030000202020201010102020202020201020204
+:10A0400002020202020202020202020202020202F0
+:10A0500001020202020201020202020202020202E2
+:10A0600002020202020101020202020201010202D4
+:10A0700002020201010201010102020102010102C8
+:10A0800001010101010101020202020202020202B7
+:10A0900001010101010101020100000201020202AD
+:10A0A0000201010102020102010000020202020299
+:10A0B0000202020202020202020000020202020284
+:10A0C0000202020202020100010202010101020277
+:10A0D000000201010101000101010102020202026C
+:10A0E0000202020202000002020202020202020254
+:10A0F0000202020202020202020202020201020142
+:10A10000020202020202020202020202020202022F
+:10A11000020202020202020202020202020202021F
+:10A12000020202020202020202020202020202020F
+:10A130000202020202020102020202020202020200
+:10A1400002020202020202020202020202020202EF
+:10A1500001020202020201020202020202020202E1
+:10A1600002020202020201020202020201010202D2
+:10A1700002020202020201020202020102010102C3
+:10A1800002020102010201020202020202020202B2
+:10A1900001010101010101020200000201020202AB
+:10A1A0000202020202020102010000020202020295
+:10A1B0000202020202020202020000020202020283
+:10A1C0000202020202020200010202010101020275
+:10A1D0000201010101010002010202020202020267
+:10A1E0000202020202000002020202020202020253
+:10A1F0000202020102020202020202020201020142
+:10A20000020202020202020202020202020202022E
+:10A21000020202020202020202020202020202021E
+:10A22000020202020202020202020202020202020E
+:10A2300002020202020202020202020202020202FE
+:10A2400002020202020202020202020202020202EE
+:10A2500001020202020201020202020202020202E0
+:10A2600002020202020201020202020201010202D1
+:10A2700002020202020202020202020102010102C1
+:10A2800002020202020201020202020202020202AF
+:10A2900001010101010101020200000201020202AA
+:10A2A0000202020202020202010000020202020293
+:10A2B0000202020202020202020000020202020282
+:10A2C0000202020202020200010201010101020275
+:10A2D0000201010101010002010202020202020266
+:10A2E0000202020202000002020202020002000256
+:10A2F0000202020102020202020202020201020240
+:10A30000020202020202020202020202020202022D
+:10A31000020202020202020202020202020202021D
+:10A32000020202020202020202020202020202020D
+:10A3300002020202020202020202020202020202FD
+:10A3400002020202020202020202020202020202ED
+:10A3500001020202020201020202020202020202DF
+:10A3600002020202020202020202020201020202CE
+:10A3700002020202020202020202020102010102C0
+:10A3800002020202020202020202020202020202AD
+:10A3900001010101010101020200000201020202A9
+:10A3A0000202020202020202010000020202020292
+:10A3B0000202020202020202020000020202020281
+:10A3C0000202020202020200010201010101010275
+:10A3D0000201010100010002010202020202020266
+:10A3E0000202020102000002020202020001000158
+:10A3F0000102020102020202020202020201020240
+:10A40000020202020202020202020202020202022C
+:10A41000020202020202020202020202020202021C
+:10A42000020202020202020202020202020202020C
+:10A4300002020202020202020202020202020202FC
+:10A4400002020202020202020202020202020202EC
+:10A4500001020202020202020202020202020202DD
+:10A4600002020202020202020202020201020202CD
+:10A4700002020202020202020202020102020102BE
+:10A4800002020202020202020202020202020202AC
+:10A4900001010102020201020200000201020202A5
+:10A4A0000202020202020202020000020202020290
+:10A4B0000202020202020202020000020202020280
+:10A4C0000202020202020200010101010101010176
+:10A4D0000101010100000002020202020202020266
+:10A4E000020101010200000202020102000100015A
+:10A4F000010202010202020202020202020202023E
+:10A50000020202020202020202020202020202022B
+:10A51000020202020202020202020202020202021B
+:10A52000020202020202020202020202020202020B
+:10A5300002020202020202020202020202020202FB
+:10A5400002020202020202020202020202020202EB
+:10A5500002020202020202020202020202020202DB
+:10A5600002020202020202020202020201020202CC
+:10A5700002020202020202020202020202020102BC
+:10A5800002020202020202020202020202020202AB
+:10A5900001020202020201020200000201020202A2
+:10A5A000020202020202020202010002020202028E
+:10A5B000020202020202020202000002020202027F
+:10A5C0000202020202020200010101010101010175
+:10A5D0000101010100000002020202020202020265
+:10A5E000010101010100000202020102010100015A
+:10A5F000010202010202020202020202020202023D
+:10A60000020202020202020202020202020202022A
+:10A61000020202020202020202020202020202021A
+:10A62000020202020202020202020202020202020A
+:10A6300002020202020202020202020202020202FA
+:10A6400002020202020202020202020202020202EA
+:10A6500002020202020202020202020202020202DA
+:10A6600002020202020202020202020202020202CA
+:10A6700002020202020202020202020202020202BA
+:10A6800002020202020202020202020202020202AA
+:10A6900001020202020201020201000201020202A0
+:10A6A000020202020202020202010002020202028D
+:10A6B000020202020202020202000002020202027E
+:10A6C0000202020202020200020101010101010173
+:10A6D0000101010000000002020202020202010167
+:10A6E0000101010101000002020201020101010158
+:10A6F000010202010202020202020202020202023C
+:10A700000202020202020202020202020202020229
+:10A710000202020202020202020202020202020219
+:10A720000202020202020202020202020202020209
+:10A7300002020202020202020202020202020202F9
+:10A7400002020202020202020202020202020202E9
+:10A7500002020202020202020202020202020202D9
+:10A7600002020202020202020202020202020202C9
+:10A7700002020202020202020202020202020202B9
+:10A7800002020202020202020202020202020202A9
+:10A79000020202020202020202010002020202029C
+:10A7A000020202020202020202020002020202028B
+:10A7B000020202020202020202000002020202027D
+:10A7C0000202020202020200020101010101010172
+:10A7D0000100010000000002020202020101010169
+:10A7E0000101010101000002020201020101010157
+:10A7F000010202010202020202020202020202023B
+:10A800000202020202020202020202020202020228
+:10A810000202020202020202020202020202020218
+:10A820000202020202020202020202020202020208
+:10A8300002020202020202020202020202020202F8
+:10A8400002020202020202020202020202020202E8
+:10A8500002020202020202020202020202020202D8
+:10A8600002020202020202020202020202020202C8
+:10A8700002020202020202020202020202020202B8
+:10A8800002020202020202020202020202020202A8
+:10A89000020202020202020202010102020202029A
+:10A8A000020202020202020202020002020202028A
+:10A8B000020202020202020202010002020202027B
+:10A8C0000202020202020200020101010000010173
+:10A8D000010000000000000202020201010101016A
+:10A8E0000101010101000002020201010101010157
+:10A8F000010202010202020202020202020202023A
+:10A900000202020202020202020202020202020227
+:10A910000202020202020202020202020202020217
+:10A920000202020202020202020202020202020207
+:10A9300002020202020202020202020202020202F7
+:10A9400002020202020202020202020202020202E7
+:10A9500002020202020202020202020202020202D7
+:10A9600002020202020202020202020202020202C7
+:10A9700002020202020202020202020202020202B7
+:10A9800002020202020202020202020202020202A7
+:10A990000202020202020202020101020202020299
+:10A9A0000202020202020202020202020202020287
+:10A9B000020202020202020202010002020202027A
+:10A9C0000202020202020200020101010000010172
+:10A9D000000000000000010102010101010101016C
+:10A9E0000101010101000002020201010101010156
+:10A9F0000102020102020202020202020202020239
+:10AA00000202020202020202020202020202020226
+:10AA10000202020202020202020202020202020216
+:10AA20000202020202020202020202020202020206
+:10AA300002020202020202020202020202020202F6
+:10AA400002020202020202020202020202020202E6
+:10AA500002020202020202020202020202020202D6
+:10AA600002020202020202020202020202020202C6
+:10AA700002020202020202020202020202020202B6
+:10AA800002020202020202020202020202020202A6
+:10AA90000202020202020202020201020202020297
+:10AAA0000202020202020202020202020202020286
+:10AAB0000202020202020202020201020202020277
+:10AAC0000202020202020200020101010000010171
+:10AAD000000000000000010101010101010101016C
+:10AAE0000101010101000002020201010101010155
+:10AAF0000102020102010202020202020202020239
+:10AB00000202020202020202020202020202020225
+:10AB10000202020202020202020202020202020215
+:10AB20000202020202020202020202020202020205
+:10AB300002020202020202020202020202020202F5
+:10AB400002020202020202020202020202020202E5
+:10AB500002020202020202020202020202020202D5
+:10AB600002020202020202020202020202020202C5
+:10AB700002020202020202020202020202020202B5
+:10AB800002020202020202020202020202020202A5
+:10AB90000202020202020202020202020202020295
+:10ABA0000202020202020202020202020202020285
+:10ABB0000202020202020202020202020202020275
+:10ABC0000202020202020200020101010000000171
+:10ABD000000000000000010101010101010101016B
+:10ABE0000101010101000001020101010101010156
+:10ABF000010101010101010202020202020202023C
+:10AC00000202020202020202020202020202020224
+:10AC10000202020202020202020202020202020214
+:10AC20000202020202020202020202020202020204
+:10AC300002020202020202020202020202020202F4
+:10AC400002020202020202020202020202020202E4
+:10AC500002020202020202020202020202020202D4
+:10AC600002020202020202020202020202020202C4
+:10AC700002020202020202020202020202020202B4
+:10AC800002020202020202020202020202020202A4
+:10AC90000202020202020202020202020202020294
+:10ACA0000202020202020202020202020202020284
+:10ACB0000202020202020202020202020202020274
+:10ACC0000202020202020200020101010000000071
+:10ACD000000000000000010101010101010101016A
+:10ACE0000101010101000001010101010101010156
+:10ACF000010101010101010202020202020202023B
+:10AD00000202020202020202020202020202020223
+:10AD10000202020202020202020202020202020213
+:10AD20000202020202020202020202020202020203
+:10AD300002020202020202020202020202020202F3
+:10AD400002020202020202020202020202020202E3
+:10AD500002020202020202020202020202020202D3
+:10AD600002020202020202020202020202020202C3
+:10AD700002020202020202020202020202020202B3
+:10AD800002020202020202020202020202020202A3
+:10AD90000202020202020202020202020202020293
+:10ADA0000202020202020202020202020202020283
+:10ADB0000202020202020202020202020202020273
+:10ADC0000202020202020200020101010000000070
+:10ADD0000000000000000101010101010101010169
+:10ADE0000101010101020001010101010101010153
+:10ADF000010101010101010202020202020202023A
+:10AE00000202020202020202020202020202020222
+:10AE10000202020202020202020202020202020212
+:10AE20000202020202020202020202020202020202
+:10AE300002020202020202020202020202020202F2
+:10AE400002020202020202020202020202020202E2
+:10AE500002020202020202020202020202020202D2
+:10AE600002020202020202020202020202020202C2
+:10AE700002020202020202020202020202020202B2
+:10AE800002020202020202020202020202020202A2
+:10AE90000202020202020202020202020202020292
+:10AEA0000202020202020202020202020202020282
+:10AEB0000202020202020202020202020202020272
+:10AEC000020202020202020002010101000000006F
+:10AED0000000000000000101010101010101010168
+:10AEE0000101010101020001010101010101010152
+:10AEF0000101010101010102020202020202020239
+:10AF00000202020202020202020202020202020221
+:10AF10000202020202020202020202020202020211
+:10AF20000202020202020202020202020202020201
+:10AF300002020202020202020202020202020202F1
+:10AF400002020202020202020202020202020202E1
+:10AF500002020202020202020202020202020202D1
+:10AF600002020202020202020202020202020202C1
+:10AF700002020202020202020202020202020202B1
+:10AF800002020202020202020202020202020202A1
+:10AF90000202020202020202020202020202020291
+:10AFA0000202020202020202020202020202020281
+:10AFB0000202020202020202020202020202020271
+:10AFC000020202020202020002010101000000006E
+:10AFD0000000000000000101010101010101010167
+:10AFE0000101010101010001010101010101010152
+:10AFF0000101010101010102020202020202020238
+:10B000000202020202020202020202020202020220
+:10B010000202020202020202020202020202020210
+:10B020000202020202020202020202020202020200
+:10B0300002020202020202020202020202020202F0
+:10B0400002020202020202020202020202020202E0
+:10B0500002020202020202020202020202020202D0
+:10B0600002020202020202020202020202020202C0
+:10B0700002020202020202020202020202020202B0
+:10B0800002020202020202020202020202020202A0
+:10B090000202020202020202020202020202020290
+:10B0A0000202020202020202020202020202020280
+:10B0B0000202020202020202020202020202020270
+:10B0C000020202020202020000010101000000006F
+:10B0D0000000000000000101010101010101010166
+:10B0E0000101010101010001010101010101010151
+:10B0F0000101010101010102020202020202020237
+:10B10000020202020202020202020202020202021F
+:10B110000202020202020202020102020202020210
+:10B1200002020202020202020202020202020202FF
+:10B1300002020202020202020202020202020202EF
+:10B1400002020202020202020202020202020202DF
+:10B1500002020202020202020202020202020202CF
+:10B1600002020202020202020202020202020202BF
+:10B1700002020202020202020202020202020202AF
+:10B18000020202020202020202020202020202029F
+:10B19000020202020202020202020202020202028F
+:10B1A000020202020202020202020202020202027F
+:10B1B000020202020202020202020202020202026F
+:10B1C000020202020202020000020200000000006D
+:10B1D0000000000000000101010101010101010165
+:10B1E0000101000001010001010101010101010152
+:10B1F0000101010101010102020202020202020236
+:10B20000020202020202020202020202020202021E
+:10B21000020202020202020202020202020202020E
+:10B2200002020202020202020202020202020202FE
+:10B2300002020202020202020202020202020202EE
+:10B2400002020202020202020202020202020202DE
+:10B2500002020202020202020202020202020202CE
+:10B2600002020202020202020202020202020202BE
+:10B2700002020202020202020202020202020202AE
+:10B28000020202020202020202020202020202029E
+:10B29000020202020202020202020202020202028E
+:10B2A000020202020202020202020202020202027E
+:10B2B000020202020202020202020202020202026E
+:10B2C000020202020202020200020200000000006A
+:10B2D0000000000000000001010101010101000067
+:10B2E0000000000001010001010101010101010153
+:10B2F0000101010101010102020202010202020236
+:10B30000020202020202020202010201020202021F
+:10B310000202020202020202020001020201020211
+:10B3200002020202020202020202020202020202FD
+:10B3300002020202020202020202020202020202ED
+:10B3400002020202020202020202020202020202DD
+:10B3500002020202020202020202020202020202CD
+:10B3600002020202020202020202020202020202BD
+:10B3700002020202020202020202020202020202AD
+:10B38000020202020202020202020202020202029D
+:10B39000020202020202020202020202020202028D
+:10B3A000020202020202020202020202020202027D
+:10B3B000020202020202020202020202020202026D
+:10B3C0000202020202020202000202000000000069
+:10B3D0000000000000020000010101000000000068
+:10B3E0000000000001010001010101010101010152
+:10B3F0000101010101010102020201010102020237
+:10B400000101020202020202010101010102020223
+:10B410000102020202020202020001010101010115
+:10B4200001020201020202020202020202020202FE
+:10B4300002020202020202020202020202020202EC
+:10B4400002020202020202020202020202020202DC
+:10B4500002020202020202020202020202020202CC
+:10B4600002020202020202020202020202020202BC
+:10B4700002020202020202020202020202020202AC
+:10B48000020202020202020202020202020202029C
+:10B49000020202020202020202020202020202028C
+:10B4A000020202020202020202020201010202027E
+:10B4B000020202020202020202020202020202026C
+:10B4C0000202020202020202000202000000000068
+:10B4D0000000000000020000010000000000000069
+:10B4E0000000000000010001010101010101010152
+:10B4F0000101010101010102010101010102010239
+:10B500000101020101020201010101010102010127
+:10B510000102010202020201010001010101010117
+:10B5200001020201020202020202020202020202FD
+:10B5300002020202020202020202020202020202EB
+:10B5400002020202020202020202020202020202DB
+:10B5500002020202020202020202020202020202CB
+:10B5600002020202020202020202020202020202BB
+:10B5700002020202020202020202020202020202AB
+:10B58000020202020202020202020202020202029B
+:10B59000020202020202020202020202020202028B
+:10B5A000020202020202020202020201010202027D
+:10B5B000020202020202020202020202020202026B
+:10B5C0000202020202020202020202020000000063
+:10B5D0000000000000020000010000000000000068
+:10B5E0000000000000010001010101010101010151
+:10B5F0000101010101010101010101010102010239
+:10B600000101010101010201010101010101010129
+:10B61000010101010101010101010101010101011A
+:10B620000101010101010102020101010202020105
+:10B6300002020202020202020202010102020102ED
+:10B6400002020202020202000101010101010202E2
+:10B6500002020101020202020202020202020202CC
+:10B6600002020202020202020202020202020202BA
+:10B6700002020202020202020202020202020202AA
+:10B68000020202020202020202020202020202029A
+:10B69000020202020202020202020202020202028A
+:10B6A0000202020202020201010101010101010183
+:10B6B0000101010101010102020202020202020271
+:10B6C0000202020202020202020202020000000062
+:10B6D0000000020000020000010000000000000065
+:10B6E000000000000101000101010101010101014F
+:10B6F000010101010101010101010101010101013A
+:10B700000101010101010101010101010101010129
+:10B710000101010101010101010101010101010119
+:10B720000101010101010101010101010101010109
+:10B7300001020101020202010101010101020101F4
+:10B7400001010101020202010101010101010101E6
+:10B7500002010101010102020202020202020202CE
+:10B7600002020202020202020202020202020202B9
+:10B7700002020202020202020202020202020202A9
+:10B780000202020202020202020202020202020299
+:10B790000202020202020202020202020202020289
+:10B7A0000202020202020201010101020201010180
+:10B7B0000101010101010102020202020202020270
+:10B7C000020202020202020202020202020200005D
+:10B7D0000000020002020200000000000000000061
+:10B7E000000000000100000101010101010101014F
+:10B7F0000101010101010101010101010101010139
+:10B800000101010101010101010101010101010128
+:10B810000101010101010101010101010101010118
+:10B820000101010101010101010101010101010108
+:10B8300001010101010101010101010101010101F8
+:10B8400001010101010101010101010101010101E8
+:10B8500001010101010101010101010101010101D8
+:10B8600001010101010202000202020202020202BF
+:10B8700002020202020202020202020202020202A8
+:10B880000202020202020202020202020202020298
+:10B890000202020202020202020202020202020288
+:10B8A0000202020202020202020202020202020278
+:10B8B0000202020202020202020202020202020268
+:10B8C0000202020202020202020202020202020258
+:10B8D000000202020202020000000000000000005C
+:10B8E000000101010100010101010101010101014A
+:10B8F0000101010101010101010101010101010138
+:10B900000101010101010101010101010101010127
+:10B910000101010101010101010101010101010117
+:10B920000101010101010101010101010101010107
+:10B9300001010101010101010101010101010101F7
+:10B9400001010101010101010101010101010101E7
+:10B9500001010101010101010101010101010101D7
+:10B9600001010101010101000201010102020202C3
+:10B9700002020202020202020201010201020202AA
+:10B980000202020202020202020202020202020297
+:10B990000202020202020202020202020202020287
+:10B9A0000202020202020202020202020202020277
+:10B9B0000202020202020202020202020202020267
+:10B9C0000202020202020202020202020202020257
+:10B9D0000202020202020200010000000000000157
+:10B9E0000101010101000101010101010101010148
+:10B9F0000101010101010101010101010101010137
+:10BA00000101010101010101010101010101010126
+:10BA10000101010101010101010101010101010116
+:10BA20000101010101010101010101010101010106
+:10BA300001010101010101010101010101010101F6
+:10BA400001010101010101010101010101010101E6
+:10BA500001010101010101010101010101010101D6
+:10BA600001010101010101010101010101010101C6
+:10BA700001010101010101020202020202020202AD
+:10BA8000020202020202020101010101010101019F
+:10BA90000202020202020202020202010202020287
+:10BAA0000202020202020200000000000000000088
+:10BAB000000000000000000101010101010101017D
+:10BAC000010101010101010202020202020202025D
+:10BAD0000202020202020200010000010101010152
+:10BAE0000101010101000101010101010101010147
+:10BAF0000101010101010101010101010101010136
+:10BB00000101010101010101010101010101010125
+:10BB10000101010101010101010101010101010115
+:10BB20000101010101010101010101010101010105
+:10BB300001010101010101010101010101010101F5
+:10BB400001010101010101010101010101010101E5
+:10BB500001010101010101010101010101010101D5
+:10BB600001010101010101010101010101010101C5
+:10BB700001010101010101010101010101010101B5
+:10BB800001010101010101010101010101010101A5
+:10BB9000010101010101010202020202020202028C
+:10BBA0000202020202020200000000000000000087
+:10BBB0000000000000000002020202020202020273
+:10BBC0000202020202020202020202020202020255
+:10BBD000020202020202020101010101010101014E
+:10BBE0000101010101000101010101010101010146
+:10BBF0000101010101010101010101010101010135
+:10BC00000101010101010101010101010101010124
+:10BC10000101010101010101010101010101010114
+:10BC20000101010101010101010101010101010104
+:10BC300001010101010101010101010101010101F4
+:10BC400001010101010101010101010101010101E4
+:10BC500001010101010101010101010101010101D4
+:10BC600001010101010101010101010101010101C4
+:10BC700001010101010101010101010101010101B4
+:10BC800001010101010101010101010101010101A4
+:10BC90000101010101010101010101010101010194
+:10BCA000010101010101010000000000000000008D
+:10BCB0000000000000000000000000000000000084
+:10BCC0000000000000000002020202020202020262
+:10BCD000020202020202020101010101010101014D
+:10BCE0000101010101000101010101010101010145
+:10BCF0000101010101010101010101010101010134
+:10BD00000101010101010101010101010101010123
+:10BD10000101010101010101010101010101010113
+:10BD20000101010101010101010101010101010103
+:10BD300001010101010101010101010101010101F3
+:10BD400001010101010101010101010101010101E3
+:10BD500001010101010101010101010101010101D3
+:10BD600001010101010101010101010101010101C3
+:10BD700001010101010101010101010101010101B3
+:10BD800001010101010101010101010101010101A3
+:10BD90000101010101010101010101010101010193
+:10BDA0000101010101010101010101010101010183
+:10BDB000010101010101010000000000000000007C
+:10BDC0000000000000000002020202020202020261
+:10BDD000020202020202020101010101010101014C
+:10BDE0000101010101000101010101010101010144
+:10BDF0000101010101010101010101010101010133
+:10BE00000101010101010101010101010101010122
+:10BE10000101010101010101010101010101010112
+:10BE20000101010101010101010101010101010102
+:10BE300001010101010101010101010101010101F2
+:10BE400001010101010101010101010101010101E2
+:10BE500001010101010101010101010101010101D2
+:10BE600001010101010101010101010101010101C2
+:10BE700001010101010101010101010101010101B2
+:10BE800001010101010101010101010101010101A2
+:10BE90000101010101010101010101010101010192
+:10BEA0000101010101010101010101010101010182
+:10BEB0000101010101010101010101010101010172
+:10BEC0000101010101010102020202020202020259
+:10BED000020202020202020101010101010101014B
+:10BEE0000101010101010101010101010101010142
+:10BEF0000101010101010101010101010101010132
+:10BF00000101010101010101010101010101010121
+:10BF10000101010101010101010101010101010111
+:10BF20000101010101010101010101010101010101
+:10BF300001010101010101010101010101010101F1
+:10BF400001010101010101010101010101010101E1
+:10BF500001010101010101010101010101010101D1
+:10BF600001010101010101010101010101010101C1
+:10BF700001010101010101010101010101010101B1
+:10BF800001010101010101010101010101010101A1
+:10BF90000101010101010101010101010101010191
+:10BFA0000101010101010101010101010101010181
+:10BFB0000101010101010101010101010101010171
+:10BFC000010101010101010201010102020202025B
+:10BFD000020202020202020101010101010101014A
+:10BFE0000101010101010101010101010101010141
+:10BFF0000101010101010101010101010101010131
+:10C000000101010101010101010101010101010120
+:10C010000101010101010101010101010101010110
+:10C020000101010101010101010101010101010100
+:10C0300001010101010101010101010101010101F0
+:10C0400001010101010101010101010101010101E0
+:10C0500001010101010101010101010101010101D0
+:10C0600001010101010101010101010101010101C0
+:10C0700001010101010101010101010101010101B0
+:10C0800001010101010101010101010101010101A0
+:10C090000101010101010101010101010101010190
+:10C0A0000101010101010101010101010101010180
+:10C0B0000101010101010101010101010101010170
+:10C0C0000101010101010100000000000000000069
+:10C0D0000000000000000001010101010101010157
+:10C0E0000101010101010101010101010101010140
+:10C0F0000101010101010101010101010101010130
+:10C10000010101010101010101010101010101011F
+:10C11000010101010101010101010101010101010F
+:10C1200001010101010101010101010101010101FF
+:10C1300001010101010101010101010101010101EF
+:10C1400001010101010101010101010101010101DF
+:10C1500001010101010101010101010101010101CF
+:10C1600001010101010101010101010101010101BF
+:10C1700001010101010101010101010101010101AF
+:10C18000010101010101010101010101010101019F
+:10C19000010101010101010101010101010101018F
+:10C1A000010101010101010101010101010101017F
+:10C1B000010101010101010101010101010101016F
+:10C1C0000101010101010100000000000000000068
+:10C1D0000000000000000001010101010101010156
+:10C1E000010101010101010101010101010101013F
+:10C1F000010101010101010101010101010101012F
+:10C20000010101010101010101010101010101011E
+:10C210000101010101010100000000000000000017
+:10C22000000000000000000000000000000000000E
+:10C2300000000000000000010101010101010101F5
+:10C2400001010101010101000000000000000000E7
+:10C2500000000000000000000000000000000000DE
+:10C2600000000000000000000000000000000000CE
+:10C2700000000000000000000000000000000000BE
+:10C2800000000000000000010101010101010101A5
+:10C29000010101010101010101010101010101018E
+:10C2A0000101010101010100000000000000000087
+:10C2B000000000000000000000000000000000007E
+:10C2C000000000000000000000000000000000006E
+:10C2D0000000000000000001010101010101010155
+:10C2E000010101010101010101010101010101013E
+:10C2F000010101010101010101010101010101012E
+:10C30000010101010101010101010101010101011D
+:10C310000101010101010100000000000000000016
+:10C32000000000000000000000000000000000000D
+:10C3300000000000000000010101010101010101F4
+:10C3400001010101010101000000000000000000E6
+:10C3500000000000000000000000000000000000DD
+:10C3600000000000000000020202020202020202BB
+:10C3700002020202020202000000000000000000AF
+:10C3800000000000000000000000000000000000AD
+:10C39000000000000000000202020202020202028B
+:10C3A000020202020202020000000000000000007F
+:10C3B000000000000000000000000000000000007D
+:10C3C000000000000000000000000000000000006D
+:10C3D0000000000000000001010101010101010154
+:10C3E0000101010101010100000000000000000046
+:10C3F000000000000000000000000000000000003D
+:10C40000000000000000000202020202020202021A
+:10C4100002020202020202020202020202020202FC
+:10C4200002020202020202020202020202020202EC
+:10C4300002020202020202020202020202020202DC
+:10C4400002020202020202020202020202020202CC
+:10C4500002020202020202020202020202020202BC
+:10C4600002020202020202020202020202020202AC
+:10C47000020202020202020202020202020202029C
+:10C48000020202020202020202020202020202028C
+:10C49000020202020202020202020202020202027C
+:10C4A000020202020202020202020202020202026C
+:10C4B000020202020202020202020202020202025C
+:10C4C000020202020202020000000000000000005E
+:10C4D0000000000000000001010101010101010153
+:10C4E0000101010101010100000000000000000045
+:10C4F000000000000000000000000000000000003C
+:10C50000000000000000000000000000000000002B
+:10C51000000000000000000000000000000000001B
+:10C52000000000000000000000000000000000000B
+:10C5300000000000000000020202020202020202E9
+:10C5400002020202020202020202020202020202CB
+:10C5500002020202020202020202020202020202BB
+:10C5600002020202020202000000000000000000BD
+:10C5700000000000000000020202020202020202A9
+:10C58000020202020202020202020202020202028B
+:10C59000020202020202020202020202020202027B
+:10C5A000020202020202020202020202020202026B
+:10C5B000020202020202020202020202020202025B
+:10C5C000020202020202020000000000000000005D
+:10C5D0000000000000000001010101010101010152
+:10C5E0000101010101010100000000000000000044
+:10C5F000000000000000000000000000000000003B
+:10C60000000000000000000000000000000000002A
+:10C61000000000000000000000000000000000001A
+:10C62000000000000000000000000000000000000A
+:10C6300000000000000000000000000000000000FA
+:10C6400000000000000000000000000000000000EA
+:10C6500000000000000000000000000000000000DA
+:10C6600000000000000000000000000000000000CA
+:10C6700000000000000000000000000000000000BA
+:10C680000000000000000002020202020202020298
+:10C69000020202020202020000000000000000008C
+:10C6A0000000000000000002020202020202020278
+:10C6B000020202020202020202020202020202025A
+:10C6C000020202020202020000000000000000005C
+:10C6D000000000000000000000000000000000005A
+:10C6E000000000000000000000000000000000004A
+:10C6F000000000000000000000000000000000003A
+:10C700000000000000000000000000000000000029
+:10C710000000000000000000000000000000000019
+:10C720000000000000000000000000000000000009
+:10C7300000000000000000000000000000000000F9
+:10C7400000000000000000000000000000000000E9
+:10C7500000000000000000000000000000000000D9
+:10C7600000000000000000000000000000000000C9
+:10C7700000000000000000000000000000000000B9
+:10C7800000000000000000000000000000000000A9
+:10C790000000000000000000000000000000000099
+:10C7A0000000000000000000000000000000000089
+:10C7B0000000000000000000000000000000000079
+:10C7C0000000000000000000000000000000000069
+:10C7D0000000000000000044000000000000000015
+:10C7E0000000000000000000000000000000000049
+:10C7F0000000000000000000000000000000000039
+:10C800000000000000000000000000000000000028
+:10C810000000000000000000000000000000000018
+:10C820000000000000000000000000000000000008
+:10C8300000000000000000000000000000000000F8
+:10C8400000000000000000000000000000000000E8
+:10C8500000000000000000000000000000000000D8
+:10C8600000000000000000000000000000000000C8
+:10C8700000000000000000000000000000020000B6
+:10C8800000000000000000000000000000000000A8
+:10C890000000000000000000000000000000000098
+:10C8A0000000000000000000000000000000000088
+:10C8B0000000000000000000000000000000000078
+:10C8C0000000000000000000000000000000000068
+:10C8D0000200000000000000000000000000000254
+:10C8E0000202020202020202000202020000000032
+:10C8F0000000000100000001000000000000000036
+:10C900000100000000000000000100000001000024
+:10C910000000000000000000020000000100000014
+:10C920000001000001000000010000000100000003
+:10C9300000010100000000000200000000000000F3
+:10C9400000000000000100000002000200020000E0
+:10C9500000010000000000000000000001000001D4
+:10C9600001000000000100000002000000010000C2
+:10C9700000000000010000000000000002020001B1
+:10C9800000000000000000000000000200020000A3
+:10C990000000000000000000000000000000000097
+:10C9A0000000000000000000000000000002000085
+:10C9B0000000000000000000000202010001000071
+:10C9C0000001010000000001010000000100000062
+:10C9D000020202000000000000000000000000024F
+:10C9E000020202020202020202020202020200002B
+:10C9F0000000000101020201000202020001000029
+:10CA0000010001010100000001010000000100001F
+:10CA1000000000000001000002010102010100000D
+:10CA200001010000010101000101010201010000FA
+:10CA300000010100000100000202020100010000EB
+:10CA400000000000000100010202000202020001D9
+:10CA500001010000000000000001010201020001CC
+:10CA600001000001010100020202000001010000BA
+:10CA700000000000010000000002000202020001AC
+:10CA8000000001010000000000000002020200009E
+:10CA90000000000001000001000000000000000094
+:10CAA0000000000000000000000000000002000084
+:10CAB000000001000000000201010101010100006D
+:10CAC000000101000001010101010101010100005B
+:10CAD000020202000000000000000000000000024E
+:10CAE000020202020202020202020202020200002A
+:10CAF0000000000101020201000202020201000125
+:10CB0000010001010100000001010201000101001A
+:10CB1000000000000001000002010101010100000D
+:10CB200001010001010101010101010101010000F8
+:10CB300000010100010100010202020101010000E7
+:10CB400000000000000101010202020202010001D6
+:10CB500001010100000000000101010201010001CA
+:10CB600001000001010102020202020101010100B3
+:10CB700000000000010000000202000202010001AA
+:10CB80000100010100000000000200020202000199
+:10CB90000000000001000001000000000000000093
+:10CBA0000000000000000000000000020002000081
+:10CBB000000001000000000201010101010100006C
+:10CBC000000101000001010101010101010100005A
+:10CBD000020202000000000000000000000000024D
+:10CBE0000202020202020202020202020202000029
+:10CBF0000100000101020201000202020101000124
+:10CC00000100010101000000010101010101010118
+:10CC1000000000000001000001010101010101000C
+:10CC200001010001010101010101010101010100F6
+:10CC300000010100010101010101010101010100E7
+:10CC400000000000010101010201020101010001D7
+:10CC500001010100000000000101010201010001C9
+:10CC600001010101010102020101010101010100B3
+:10CC700000000000010000000202020201010001A8
+:10CC80000100010101000000000200010201000199
+:10CC90000000000101000001000000000000000091
+:10CCA000000000000000000000000002020100007F
+:10CCB000000001000000000101010101010100006C
+:10CCC0000001010000010101010101010101000059
+:10CCD000020202000000000000000000000000024C
+:10CCE0000202020202020202020202020202000028
+:10CCF0000100000101010101000101010101000128
+:10CD00000100010101000000010101010101010117
+:10CD10000001000100010000010101010101010009
+:10CD200001010001010101010101010101010100F5
+:10CD300000010100010101010101010101010100E6
+:10CD400000000000010101010101020101010001D7
+:10CD500001010100000000000101010101010001C9
+:10CD600001010101010102010101010101010100B3
+:10CD700000000001010000000201020101010001A8
+:10CD80000100010101000000000202010101000197
+:10CD9000000000010100000100000002000200008C
+:10CDA000000000000000000000020202020100007A
+:10CDB0000000010000020001010101010101010068
+:10CDC0000001010100010101010101010101000057
+:10CDD000020202000000000000000000000000024B
+:10CDE0000202020202020202020202020202000027
+:10CDF0000100000101010101000101010101000127
+:10CE00000100010101000000010101010101010116
+:10CE10000101000100010200010101010101010005
+:10CE200001010001010101010101010101010101F3
+:10CE300001010100010101010101010101010100E4
+:10CE400000000000010101010101010101010001D7
+:10CE500001010100000000000101010101010001C8
+:10CE600001010101010101010101010101010100B3
+:10CE700001000001010000000101020101010001A7
+:10CE80000101010101000000020102010101000194
+:10CE90000000000101000001000000020202000089
+:10CEA000000000000000000000020201010100007B
+:10CEB0000000010000020001010101010101010067
+:10CEC0000001010100010101010101010101010055
+:10CED000020202000000000000000000000000024A
+:10CEE0000202020202020202020202020202000026
+:10CEF0000101000101010101000101010101000125
+:10CF00000100010101000200010101010101010113
+:10CF10000101000100010202010101010101010002
+:10CF200001010001010101010101010101010101F2
+:10CF300001010101010101010101010101010100E2
+:10CF400000000000010101010101010101010101D5
+:10CF500001010100010000000101010101010001C6
+:10CF600001010101010101010101010101010100B2
+:10CF700001010101010000020101010101010001A3
+:10CF80000101010101000000020102010101000193
+:10CF90000000000101000101000000020202000087
+:10CFA000000000000000000000020201010100007A
+:10CFB0000000010000010201010101010101010065
+:10CFC0000001010100010101010101010101010054
+:10CFD0000202020000000000000000000000000249
+:10CFE0000202020202020202020202020202000025
+:10CFF0000101000101010101000101010101010123
+:10D000000100010101000200010101010101010112
+:10D010000101000100010202010101010101010001
+:10D0200001010001010101010101010101010101F1
+:10D0300001010101010101010101010101010100E1
+:10D0400000000001010101010101010101010101D3
+:10D0500001010100010000000101010101010101C4
+:10D0600001010101010101010101010101010100B1
+:10D0700001010101010000020101010101010001A2
+:10D080000101010101000002020101010101000191
+:10D090000001000101000101000000010201000087
+:10D0A0000000010000000000020101010101000078
+:10D0B0000000010000010201010101010101010064
+:10D0C0000001010100010101010101010101010053
+:10D0D0000202020200000000000000000000000246
+:10D0E0000202020202020202020202020202000024
+:10D0F0000101010101010101000101010101010121
+:10D100000100010101000200010101010101010111
+:10D1100001010101010101020101010101010100FF
+:10D1200001010001010101010101010101010101F0
+:10D1300001010101010101010101010101010101DF
+:10D1400001000001010101010101010101010101D1
+:10D1500001010100010000020101010101010101C1
+:10D1600001010101010101010101010101010100B0
+:10D1700001010101010000020101010101010001A1
+:10D180000101010101000002010101010101000191
+:10D190000101000101000101000200010101000183
+:10D1A0000000010000000000020101010101000077
+:10D1B0000000010000010101010101010101010064
+:10D1C0000001010100010101010101010101010052
+:10D1D0000202020200000000000000000000000245
+:10D1E0000202020202020202020202020202000023
+:10D1F000010101010101010200010101010101011F
+:10D20000010101010100010201010101010101010E
+:10D2100001010101010101010101010101010101FE
+:10D2200001010001010101010101010101010101EF
+:10D2300001010101010101010101010101010101DE
+:10D2400001000101010101010101010101010101CF
+:10D2500001010100010002020101010101010101BE
+:10D2600001010101010101010101010101010100AF
+:10D27000010101010100020101010101010101019E
+:10D280000101010101000002010101010101000190
+:10D290000101000101000101000200010101000182
+:10D2A0000000010100000000020101010101000075
+:10D2B0000000010000010101010101010101010063
+:10D2C0000001010100010101010101010101010051
+:10D2D0000202020200000000000000000000000244
+:10D2E0000202020202020202020202020202000022
+:10D2F000010101010101010202010101010101011C
+:10D30000010101010102010201010101010101010B
+:10D3100001010101010101010101010101010101FD
+:10D3200001010101010101010101010101010101ED
+:10D3300001010101010101010101010101010101DD
+:10D3400001000101010101010101010101010101CE
+:10D3500001010100010002020101010101010101BD
+:10D3600001010101010101010101010101010100AE
+:10D37000010101010100020101010101010101019D
+:10D38000010101010102000101010101010101018D
+:10D39000010100010100010100020201010100017F
+:10D3A0000000010100000000010101010101000075
+:10D3B0000000010000010101010101010101010062
+:10D3C0000001010100010101010101010101010050
+:10D3D0000202020200000000000000000000000243
+:10D3E0000202020202020202020202020202000021
+:10D3F0000201010201010102020101010101010119
+:10D40000010101010102010101010101010101010B
+:10D4100001010101010101010101010101010101FC
+:10D4200001010101010101010101010101010101EC
+:10D4300001010101010101010101010101010101DC
+:10D4400001000101010101010101010101010101CD
+:10D4500001010100010202010101010101010101BB
+:10D4600001010101010101010101010101010100AD
+:10D47000010101010100020101010101010101019C
+:10D48000010101010102000101010101010101018C
+:10D49000010100010100010100010201010100017F
+:10D4A0000000010100000000010101010101000074
+:10D4B0000000010000010101010101010101010160
+:10D4C000000101010001010101010101010101004F
+:10D4D0000202020200000000000000000001000241
+:10D4E0000202020202020202020202020202000020
+:10D4F0000201010202010102010101010101010118
+:10D50000010101010101010101010101010101010B
+:10D5100001010101010101010101010101010101FB
+:10D5200001010101010101010101010101010101EB
+:10D5300001010101010101010101010101010101DB
+:10D5400001000101010101010101010101010101CC
+:10D5500001010101010201010101010101010101BA
+:10D5600001010101010101010101010101010100AC
+:10D57000010101010100010101010101010101019C
+:10D58000010101010102000101010101010101018B
+:10D59000010100010100010100010201010100017E
+:10D5A0000000010100000000010101010101000073
+:10D5B000000001000001010101010101010101015F
+:10D5C000000101010001010101010101010101004E
+:10D5D0000202020200000000000000000001000240
+:10D5E000020202020202020202020202020200001F
+:10D5F0000202010202010102010101010101010116
+:10D60000010101010101010101010101010101010A
+:10D6100001010101010101010101010101010101FA
+:10D6200001010101010101010101010101010101EA
+:10D6300001010101010101010101010101010101DA
+:10D6400001000101010101010101010101010101CB
+:10D6500001010101010201010101010101010101B9
+:10D6600001010101010101010101010101010101AA
+:10D670000101010101020101010101010101010199
+:10D68000010101010101000101010101010101018B
+:10D69000010100010100010102010101010100017C
+:10D6A0000000010100000000010101010101000072
+:10D6B000000001000001010101010101010101015E
+:10D6C000000101010001010101010101010101004D
+:10D6D000020202020000000000000000000100023F
+:10D6E000020202020202020202020202020200001E
+:10D6F0000202020202010102010101010101010114
+:10D700000201010101010101010101010101010108
+:10D7100001010101010101010101010101010101F9
+:10D7200001010101010101010101010101010101E9
+:10D7300001010101010101010101010101010101D9
+:10D7400001010101010101010101010101010101C9
+:10D7500001010101010101010101010101010101B9
+:10D7600001010101010101010101010101010101A9
+:10D770000101010101020101010101010101010198
+:10D78000010101010101000101010101010101018A
+:10D79000010100010100010102010101010100017B
+:10D7A000000001010002000001010101010101006E
+:10D7B000000001000001010101010101010101015D
+:10D7C000000101010001010101010101010101004C
+:10D7D000020202020000000000000100010100023C
+:10D7E000020202020202020202020202020200001D
+:10D7F0000202020202010102010101010101010113
+:10D800000201020101010101010101010101010106
+:10D8100001010101010101010101010101010101F8
+:10D8200002020101010101010101010101010101E6
+:10D8300001010101010101010101010101010101D8
+:10D8400001010101010101010101010101010101C8
+:10D8500001010101010101010101010101010101B8
+:10D8600001010101010101010101010101010101A8
+:10D870000101010101020101010101010101010197
+:10D880000101010101010001010101010101010189
+:10D890000101010101000101020101010101000179
+:10D8A000000001010002000201010101010101006B
+:10D8B000000001000001010101010101010101015C
+:10D8C000000101010001010101010101010101004B
+:10D8D000020202020000000000000101010100023A
+:10D8E000020202020202020202020202020200001C
+:10D8F000020202020202020201010101010201020E
+:10D900000201020201010101010101010101010203
+:10D9100001020101010101010101010101010101F6
+:10D9200002020101010101010101010101010101E5
+:10D9300001020201010101010101010101010101D5
+:10D9400001010101010101010101010101010101C7
+:10D9500001010101010101010101010101010101B7
+:10D9600001010101010101010101010101010101A7
+:10D970000101010101010101010101010101010197
+:10D980000101010101010001010101010101010188
+:10D990000101010101000101010101010101010178
+:10D9A0000000010100010202010101010101010069
+:10D9B000000001000001010101010101010101015B
+:10D9C000000101010001010101010101010101004A
+:10D9D0000202020200000000000101010101000238
+:10D9E000020202020202020202020202020200011A
+:10D9F000020202020202020201010101010201020D
+:10DA00000201020201010101010101010101010202
+:10DA100002020101010101010101010101010101F4
+:10DA200002020102020101010101010101010101E2
+:10DA300001020201010101010101010101010101D4
+:10DA400001010101010101010101010101010102C5
+:10DA500002020101010101010101010101010102B3
+:10DA600002010101010101010101010101010101A5
+:10DA70000101010101010101010101010101010196
+:10DA80000101010101010001010101010101010187
+:10DA90000101010101000101010101010101010177
+:10DAA0000000010100010201010101010101010069
+:10DAB000000001000001010101010101010101015A
+:10DAC0000001010100010101010101010101010049
+:10DAD0000202020202000000000101010101000235
+:10DAE000020202020202010102020202020200011B
+:10DAF000020202020202020201010101010201020C
+:10DB00000201020202010101010101010101010200
+:10DB100002020202010201010101010101010101F0
+:10DB200002020102020202010101010101010101DF
+:10DB300001020201010101010101010101010101D3
+:10DB400001010101010101010101010101010102C4
+:10DB500002020201010101010101010101010102B1
+:10DB600002010101010101010101010101010101A4
+:10DB70000101010101010101010101010101010195
+:10DB80000101010101010201010101010101010184
+:10DB90000101010101000101010101010101010176
+:10DBA0000000010100010201010101010101010068
+:10DBB0000000010000010101010101010101010159
+:10DBC0000001010100010101010101010101010048
+:10DBD0000202020202000000000101010101000234
+:10DBE000020202020202010102010102020200011C
+:10DBF000020202020202020201010101010201020B
+:10DC000002010202020101010101010101010102FF
+:10DC100002020202010201010101010101010101EF
+:10DC200002020102020202020101010101010102DC
+:10DC300002020201010101010101010101010101D1
+:10DC400001010101010101010101010101010102C3
+:10DC500002020201010101010101010101010102B0
+:10DC600002020202010101010101010101010101A0
+:10DC70000101010101010101010101010101010293
+:10DC80000101010101010201010101010101010183
+:10DC90000101010101000101010101010101010175
+:10DCA0000000010100010101010101010101010068
+:10DCB0000000010001010101010101010101010157
+:10DCC0000001010100010101010101010101010047
+:10DCD0000202020202000000000101010101000233
+:10DCE000020202020101010101010102020200021D
+:10DCF0000202020202020202010202010202010207
+:10DD000002010202020101010202010101010102FC
+:10DD100002020202010201010101010101010102ED
+:10DD200002020202020202020201010101010102D9
+:10DD300002020201020201010101010101010101CE
+:10DD400001010101010101010101010101010102C2
+:10DD500002020201010101010101010101010102AF
+:10DD6000020202020202010101010101010101019D
+:10DD70000101010101010101010101010101010292
+:10DD8000020102010101020101010101010101027F
+:10DD90000101010101000101010101010101010174
+:10DDA0000000010100010101010101010101010166
+:10DDB0000000010001010101010101010101010156
+:10DDC0000001010100010101010101010101010046
+:10DDD0000202020202000000000101010101000232
+:10DDE000020202010101010101010101020200021E
+:10DDF0000202020202020202010202020202010205
+:10DE000002020202020101010202010101010102FA
+:10DE100002020202020201010102020101010102E9
+:10DE200002020202020202020202020101010102D6
+:10DE300002020202020202020101010101010101CA
+:10DE400001010101010201010101010101010102C0
+:10DE500002020201010101010101010101010102AE
+:10DE6000020202020202010101010101010101019C
+:10DE7000020101010201010101010101010101028F
+:10DE8000020102020101010101010101010101027E
+:10DE90000101010101000101010101010101010173
+:10DEA0000000010100010101010101010101010165
+:10DEB0000000020101010101010101010101010153
+:10DEC0000002020100010101010101010101010043
+:10DED0000202020202000000000101010101000132
+:10DEE0000101010101010101010101010202000220
+:10DEF0000202020202020202010202020202020203
+:10DF000002020202020101010202010101010102F9
+:10DF100002020202020201010102020102010102E7
+:10DF200002020202020202020202020102010102D4
+:10DF300002020202020202020101010101010102C8
+:10DF400002010101020202020101010101010102BB
+:10DF500002020201010101010101010101010102AD
+:10DF6000020202020202010101010101010101019B
+:10DF7000020202020201010101010101010101028B
+:10DF8000020202020101010101010101010101027C
+:10DF90000101010202000101010101010101010170
+:10DFA0000000010100010101010101010101010164
+:10DFB0000000020101010101010101010101010152
+:10DFC0000002020101010101010101010101010041
+:10DFD000010202020202020200010101010100012C
+:10DFE0000101010101010101010101010101000221
+:10DFF0000202020202020202020202020202020201
+:10E0000002020202020101010202010101010102F8
+:10E0100002020202020201010102020102010102E6
+:10E0200002020202020202020202020102010102D3
+:10E0300002020202020202020101010101010102C7
+:10E0400002010202020202020101010101010102B8
+:10E0500002020201020101010202020101010102A8
+:10E06000020202020202010101010101010101019A
+:10E07000020202020201010101010101010101028A
+:10E08000020202020201010101010101010101027A
+:10E09000020201020200010201010101010101016C
+:10E0A0000000010100010101010101010101010163
+:10E0B0000000020101010101010101010101010151
+:10E0C0000002020101010101010101010101010040
+:10E0D000010101020202020200010101010100012D
+:10E0E0000101010101010101010101010101000220
+:10E0F0000202020202020202020202020202020200
+:10E1000002020202020101010202020201020102F4
+:10E1100002020202020201010202020202020102E2
+:10E1200002020202020202020202020202020102D0
+:10E1300002020202020202020101010201010102C5
+:10E1400002010202020202020101010101010102B7
+:10E1500002020201020101010202020102010102A6
+:10E160000202020202020101010101010101010199
+:10E170000202020202010101010101010101010289
+:10E180000202020202010101010101010101010279
+:10E190000202010202020102010101010101010268
+:10E1A0000000020100010101010101010101010161
+:10E1B0000000020101010101010101010101010150
+:10E1C000000202020101010101010101010101003E
+:10E1D000010101020202020200010101010100012C
+:10E1E000010101010101010101020201020100021C
+:10E1F00002020202020202020202020202020202FF
+:10E2000002020202020101010202020202020202F1
+:10E2100002020202020202010202020202020202DF
+:10E2200002020202020202020202020202020202CE
+:10E2300002020202020202020202020202020102BF
+:10E2400002020202020202020101010101010102B5
+:10E2500002020202020101010202020102010102A4
+:10E260000202020202020202020102020202010290
+:10E270000202020202010101010101010101010288
+:10E280000202020202010101010101010101010278
+:10E290000202010202020202010101010101010266
+:10E2A0000000020100010101010101010101010160
+:10E2B000000102010101010101010101010101014E
+:10E2C000000202020102020201010101010101003A
+:10E2D000010101010202020200010101010100012C
+:10E2E0000101010101010202020202020201000217
+:10E2F00002020202020202020202020202020202FE
+:10E3000002020202020102010202020202020202EF
+:10E3100002020202020202020202020202020202DD
+:10E3200002020202020202020202020202020202CD
+:10E3300002020202020202020202020202020202BD
+:10E3400002020202020202020101010101010102B4
+:10E3500002020202020101010202020102010102A3
+:10E36000020202020202020202020202020202028D
+:10E370000202020202010101010101010101010287
+:10E380000202020202010101010101010101010277
+:10E390000202010202020202010101010101010265
+:10E3A000010002020001010101010101010101015D
+:10E3B000010102010101010102010101010101014B
+:10E3C0000002020201020202020101010101010038
+:10E3D000010101010102020202010101010100012A
+:10E3E0000101010102020202020202020101000215
+:10E3F00002020202020202020202020202020202FD
+:10E4000002020202020202020202020202020202EC
+:10E4100002020202020202020202020202020202DC
+:10E4200002020202020202020202020202020202CC
+:10E4300002020202020202020202020202020202BC
+:10E4400002020202020202020202010101010102B1
+:10E4500002020202020101010202020102020102A1
+:10E46000020202020202020202020202020202028C
+:10E470000202020202010101010101010101010286
+:10E480000202020202010101010101010101010276
+:10E490000202020202010202010101010101010264
+:10E4A000010002020001010101010101010101015C
+:10E4B0000101020101010102020202020101010245
+:10E4C0000002020201020202020202010101010035
+:10E4D0000101010101020202020101010101000129
+:10E4E0000101010202020202020202020101000213
+:10E4F00002020202020202020202020202020202FC
+:10E5000002020202020202020202020202020202EB
+:10E5100002020202020202020202020202020202DB
+:10E5200002020202020202020202020202020202CB
+:10E5300002020202020202020202020202020202BB
+:10E5400002020202020202020202020202020102AC
+:10E55000020202020201010102020202020201029F
+:10E56000020202020202020202020202020202028B
+:10E570000202020202010101020201010101010283
+:10E580000202020202010101010101010101010275
+:10E590000202020202010202010101010101010263
+:10E5A000010002020001010101010101010101015B
+:10E5B0000101020101020102020202020202010241
+:10E5C0000002020201020202020202020201010032
+:10E5D000010101010102020101010001010100022A
+:10E5E000020202020202020202020202010100020F
+:10E5F00002020202020202020202020202020202FB
+:10E6000002020202020202020202020202020202EA
+:10E6100002020202020202020202020202020202DA
+:10E6200002020202020202020202020202020202CA
+:10E6300002020202020202020202020202020202BA
+:10E6400002020202020202020202020202020202AA
+:10E65000020202020201020202020202020202029B
+:10E66000020202020202020202020202020202028A
+:10E67000020202020201010202020202020201027D
+:10E680000202020202010101010201020101010272
+:10E690000202020202010202010101010101010262
+:10E6A000010002020001010101010101010101015A
+:10E6B000010102010102020202020202020201023F
+:10E6C0000002020201020202020202020202010030
+:10E6D000010101010101010101000001010100022C
+:10E6E000020202020202020202020202010100020E
+:10E6F00002020202020202020202020202020202FA
+:10E7000002020202020202020202020202020202E9
+:10E7100002020202020202020202020202020202D9
+:10E7200002020202020202020202020202020202C9
+:10E7300002020202020202020202020202020202B9
+:10E7400002020202020202020202020202020202A9
+:10E750000202020202020202020202020202020299
+:10E760000202020202020202020202020202020289
+:10E77000020202020201020202020202020201027B
+:10E78000020202020201010202020202020201026C
+:10E790000202020202010202010101010101010261
+:10E7A0000100020200010101010101010101010159
+:10E7B000010102010102020202020202020202023D
+:10E7C000000202020102020202020202020201002F
+:10E7D000010101010101010101000001010100022B
+:10E7E0000202020202020202020101010101000210
+:10E7F00002020202020202020202020202020202F9
+:10E8000002020202020202020202020202020202E8
+:10E8100002020202020202020202020202020202D8
+:10E8200002020202020202020202020202020202C8
+:10E8300002020202020202020202020202020202B8
+:10E8400002020202020202020202020202020202A8
+:10E850000202020202020202020202020202020298
+:10E860000202020202020202020202020202020288
+:10E870000202020202010202020202020202020279
+:10E88000020202020202010202020202020201026A
+:10E89000020202020201020201010102010101025F
+:10E8A0000101020201010101010202020202010250
+:10E8B000010102010102020202020202020202023C
+:10E8C000010202020102020202020202020202002C
+:10E8D000010101010101010101000000010100022B
+:10E8E0000202020202020202010101010101000210
+:10E8F00002020202020202020202020202020202F8
+:10E9000002020202020202020202020202020202E7
+:10E9100002020202020202020202020202020202D7
+:10E9200002020202020202020202020202020202C7
+:10E9300002020202020202020202020202020202B7
+:10E9400002020202020202020202020202020202A7
+:10E950000202020202020202020202020202020297
+:10E960000202020202020202020202020202020287
+:10E970000202020202020202020202020202020277
+:10E980000202020202020102020202020202020268
+:10E99000020202020201020201020102020201025B
+:10E9A000010102020101010102020202020201024E
+:10E9B000010102010102020202020202020202023B
+:10E9C000010202020102020202020202020202002B
+:10E9D000010101010101010101000000000000022C
+:10E9E000020202020202020201010101010100020F
+:10E9F00002020202020202020202020202020202F7
+:10EA000002020202020202020202020202020202E6
+:10EA100002020202020202020202020202020202D6
+:10EA200002020202020202020202020202020202C6
+:10EA300002020202020202020202020202020202B6
+:10EA400002020202020202020202020202020202A6
+:10EA50000202020202020202020202020202020296
+:10EA60000202020202020202020202020202020286
+:10EA70000202020202020202020202020202020276
+:10EA80000202020202020102020202020202020267
+:10EA90000202020202010202010202020202010259
+:10EAA000010102020102010102020202020201024C
+:10EAB0000101020202020202020202020202020238
+:10EAC000010202020102020202020202020202002A
+:10EAD000010101010101010101000000000000022B
+:10EAE0000202020201010101010101010101000212
+:10EAF00002020202020202020202020202020202F6
+:10EB000002020202020202020202020202020202E5
+:10EB100002020202020202020202020202020202D5
+:10EB200002020202020202020202020202020202C5
+:10EB300002020202020202020202020202020202B5
+:10EB400002020202020202020202020202020202A5
+:10EB50000202020202020202020202020202020295
+:10EB60000202020202020202020202020202020285
+:10EB70000202020202020202020202020202020275
+:10EB80000202020202020102020202020202020266
+:10EB90000202020202010202020202020202010257
+:10EBA0000201020201020102020202020202010249
+:10EBB0000202020202020202020202020202020235
+:10EBC0000102020201020202020202020202020029
+:10EBD0000101010101010101010000000000010229
+:10EBE0000202020101010101010101010101000212
+:10EBF00002020202020202020202020202020202F5
+:10EC000002020202020202020202020202020202E4
+:10EC100002020202020202020202020202020202D4
+:10EC200002020202020202020202020202020202C4
+:10EC300002020202020202020202020202020202B4
+:10EC400002020202020202020202020202020202A4
+:10EC50000202020202020202020202020202020294
+:10EC60000202020202020202020202020202020284
+:10EC70000202020202020202020202020202020274
+:10EC80000202020202020202020202020202020264
+:10EC90000202020202010202020202020202020255
+:10ECA0000201020201020202020202020202020246
+:10ECB0000202020202020202020202020202020234
+:10ECC0000102020202020202020202020202020027
+:10ECD000010101010001010100000000000001012B
+:10ECE0000101010101010101010101010101000214
+:10ECF00002020202020202020202020202020202F4
+:10ED000002020202020202020202020202020202E3
+:10ED100002020202020202020202020202020202D3
+:10ED200002020202020202020202020202020202C3
+:10ED300002020202020202020202020202020202B3
+:10ED400002020202020202020202020202020202A3
+:10ED50000202020202020202020202020202020293
+:10ED60000202020202020202020202020202020283
+:10ED70000202020202020202020202020202020273
+:10ED80000202020202020202020202020202020263
+:10ED90000202020202010202020202020202020254
+:10EDA0000201020201020202020202020202020245
+:10EDB0000202020202020202020202020202020233
+:10EDC0000102020202020202020202020202020026
+:10EDD000010101010001000100000000000001012B
+:10EDE0000101010101010101010101010101000213
+:10EDF00002020202020202010202020202020202F4
+:10EE000002020202020202020202020202020202E2
+:10EE100002020202020202020202020202020202D2
+:10EE200002020202020202020202020202020202C2
+:10EE300002020202020202020202020202020202B2
+:10EE400002020202020202020202020202020202A2
+:10EE50000202020202020202020202020202020292
+:10EE60000202020202020202020202020202020282
+:10EE70000202020202020202020202020202020272
+:10EE80000202020202020202020202020202020262
+:10EE90000202020202010202020202020202020253
+:10EEA0000202020201020202020202020202020243
+:10EEB0000202020202020202020202020202020232
+:10EEC0000202020202020202020202020202020024
+:10EED000010101010000000000000000000001012C
+:10EEE0000101010101010101010101010101000212
+:10EEF00002020202000202010202020202020202F5
+:10EF000002020202020202020202020202020202E1
+:10EF100002020202020202020202020202020202D1
+:10EF200002020202020202020202020202020202C1
+:10EF300002020202020202020202020202020202B1
+:10EF400002020202020202020202020202020202A1
+:10EF50000202020202020202020202020202020291
+:10EF60000202020202020202020202020202020281
+:10EF70000202020202020202020202020202020271
+:10EF80000202020202020202020202020202020261
+:10EF90000202020202020202020202020202020251
+:10EFA0000202020201020202020202020202020242
+:10EFB0000202020202020202020202020202020231
+:10EFC0000202020202020202020202020202020023
+:10EFD0000101010100000000000000000002010129
+:10EFE0000101010101010101010101010101000211
+:10EFF00002020101000101010202020202020202F8
+:10F0000002020202020202020202020202020202E0
+:10F0100002020202020202020202020202020202D0
+:10F0200002020202020202020202020202020202C0
+:10F0300002020202020202020202020202020202B0
+:10F0400002020202020202020202020202020202A0
+:10F050000202020202020202020202020202020290
+:10F060000202020202020202020202020202020280
+:10F070000202020202020202020202020202020270
+:10F080000202020202020202020202020202020260
+:10F090000202020202020202020202020202020250
+:10F0A0000202020202020202020202020202020240
+:10F0B0000202020202020202020202020202020230
+:10F0C0000202020202020202020202020202020022
+:10F0D0000101010100000000000000000002010128
+:10F0E0000101010101010101010101010101000210
+:10F0F00002020101000202010202020202010202F6
+:10F1000002020202020202020202020202020202DF
+:10F1100002020202020202020202020202020202CF
+:10F1200002020202020202020202020202020202BF
+:10F1300002020202020202020202020202020202AF
+:10F14000020202020202020202020202020202029F
+:10F15000020202020202020202020202020202028F
+:10F16000020202020202020202020202020202027F
+:10F17000020202020202020202020202020202026F
+:10F18000020202020202020202020202020202025F
+:10F19000020202020202020202020202020202024F
+:10F1A000020202020202020202020202020202023F
+:10F1B000020202020202020202020202020202022F
+:10F1C0000202020202020202020202020202020021
+:10F1D0000101010100000000000000000202010125
+:10F1E0000101010101010101010101010100000210
+:10F1F00001010202000000010202020202010202F9
+:10F2000002020202020202020202020202020202DE
+:10F2100002020202020202020202020202020202CE
+:10F2200002020202020202020202020202020202BE
+:10F2300002020202020202020202020202020202AE
+:10F24000020202020202020202020202020202029E
+:10F25000020202020202020202020202020202028E
+:10F26000020202020202020202020202020202027E
+:10F27000020202020202020202020202020202026E
+:10F28000020202020202020202020202020202025E
+:10F29000020202020202020202020202020202024E
+:10F2A000020202020202020202020202020202023E
+:10F2B000020202020202020202020202020202022E
+:10F2C0000202020202020202020202020202020020
+:10F2D0000101010100000000000002020202010120
+:10F2E000010101010101010101010101010000020F
+:10F2F00001010202000000010202020202010202F8
+:10F3000002020202020202020202020202020202DD
+:10F3100002020202020202020202020202020202CD
+:10F3200002020202020202020202020202020202BD
+:10F3300002020202020202020202020202020202AD
+:10F34000020202020202020202020202020202029D
+:10F35000020202020202020202020202020202028D
+:10F36000020202020202020202020202020202027D
+:10F37000020202020202020202020202020202026D
+:10F38000020202020202020202020202020202025D
+:10F39000020202020202020202020202020202024D
+:10F3A000020202020202020202020202020202023D
+:10F3B000020202020202020202020202020202022D
+:10F3C000020202020202020202020202020202001F
+:10F3D000010101010000000000020202020201011D
+:10F3E000010101010101010101010101010000010F
+:10F3F00001010101010101010101010101010102FC
+:10F4000002020202020202020202020202020202DC
+:10F4100002020202020202020202020202020202CC
+:10F4200002020202020202020202020202020202BC
+:10F4300002020202020202020202020202020202AC
+:10F44000020202020202020202020202020202029C
+:10F45000020202020202020202020202020202028C
+:10F46000020202020202020202020202020202027C
+:10F47000020202020202020202020202020202026C
+:10F48000020202020202020202020202020202025C
+:10F49000020202020202020202020202020202024C
+:10F4A000020202020202020202020202020202023C
+:10F4B000020202020202020202020202020202022C
+:10F4C000020202020202020202020202020202001E
+:10F4D000010101000000000000020202020201011D
+:10F4E000010101010101010101010101000000010F
+:10F4F00001010101010101010101010101010102FB
+:10F5000002020202020202020202020202020202DB
+:10F5100002020202020202020202020202020202CB
+:10F5200002020202020202020202020202020202BB
+:10F5300002020202020202020202020202020202AB
+:10F54000020202020202020202020202020202029B
+:10F55000020202020202020202020202020202028B
+:10F56000020202020202020202020202020202027B
+:10F57000020202020202020202020202020202026B
+:10F58000020202020202020202020202020202025B
+:10F59000020202020202020202020202020202024B
+:10F5A000020202020202020202020202020202023B
+:10F5B000020202020202020202020202020202022B
+:10F5C000020202020202020202020202020202001D
+:10F5D000010101000000000000020202020201011C
+:10F5E0000101010101010101010000010000000110
+:10F5F00001010101010101010101010101010102FA
+:10F6000002020202020202020202020202020202DA
+:10F6100002010102020202020202020202020202CC
+:10F6200002020202020202020202020202020202BA
+:10F6300002020202020202020202020202020202AA
+:10F64000020202020202020202020202020202029A
+:10F65000020202020202020202020202020202028A
+:10F66000020202020202020202020202020202027A
+:10F67000020202020202020202020202020202026A
+:10F68000020202020202020202020202020202025A
+:10F69000020202020202020202020202020202024A
+:10F6A000020202020202020202020202020202023A
+:10F6B000020202020202020202020202020202022A
+:10F6C000020202020202020202020202020202021A
+:10F6D000020101000000000000020202020200011B
+:10F6E0000101010100010000000000010000000113
+:10F6F00001010101010101010101010101010102F9
+:10F7000001020101020202020202020202020201DD
+:10F7100001010101010102020202020202020200D1
+:10F7200001010101010101010202020202020202C1
+:10F7300002020202020202020202020202020202A9
+:10F740000202020202020202020202020202020299
+:10F750000202020202020202020202020202020289
+:10F760000202020202020202020202020202020279
+:10F770000202020202020202020202020202020269
+:10F780000202020202020202020202020202020259
+:10F790000202020202020202020202020202020249
+:10F7A0000202020202020202020202020202020239
+:10F7B0000202020202020202020202020202020229
+:10F7C0000202020202020202020202020202020219
+:10F7D0000202020000000000000202020202000019
+:10F7E0000000000000000000000000000000000118
+:10F7F00001010101010101010101010101010101F9
+:10F8000001010101010202020101020202020201E0
+:10F8100001010101010102020201010201020200D3
+:10F8200001010101010101010101010201020202C4
+:10F8300002020202020202020202020202020202A8
+:10F840000202020202020202020202020202020298
+:10F850000202020202020202020202020202020288
+:10F860000202020202020202020202020202020278
+:10F870000202020202020202020202020202020268
+:10F880000202020202020202020202020202020258
+:10F890000202020202020202020202020202020248
+:10F8A0000202020202020202020202020202020238
+:10F8B0000202020202020202020202020202020228
+:10F8C0000202020202020202020202020202020218
+:10F8D0000202020000000000000202020202000018
+:10F8E0000000000000000000000000000101000115
+:10F8F00001010101010101010101010101010101F8
+:10F9000001020101010202020101020202020201DE
+:10F9100001010101010101010101010101010101D7
+:10F9200001010101010101010101010101010102C6
+:10F9300002010102020202020202020202020202A9
+:10F940000202020202020202020202020202020297
+:10F950000202020202020202020202020202020287
+:10F960000202020202020202020202020202020277
+:10F970000202020202020202020202020202020267
+:10F980000202020202020202020202020202020257
+:10F990000202020202020202020202020202020247
+:10F9A0000202020202020202020202020202020237
+:10F9B0000202020202020202020202020202020227
+:10F9C0000202020202020202020202020202020217
+:10F9D0000202020200000000000202020202020013
+:10F9E0000000000000000000000000010101000113
+:10F9F00001010101010101010101010101010101F7
+:10FA000001010101010101010101010101010101E6
+:10FA100001010101010101010101010101010101D6
+:10FA200001010101010101010101010101010101C6
+:10FA300001010101010101010202020202020202AE
+:10FA40000200020202020202020202020202020298
+:10FA50000202020202020202020202020202020286
+:10FA60000202020202020202020202020202020276
+:10FA70000202020202020202020202020202020266
+:10FA80000202020202020202020202020202020256
+:10FA90000202020202020202020202020202020246
+:10FAA0000202020202020202020202020202020236
+:10FAB0000202020202020202020202020202020226
+:10FAC0000202020202020202020202020202020216
+:10FAD000020202020000000202020202020202000E
+:10FAE0000000000000000000000000010101000112
+:10FAF00001010101010101010101010101010101F6
+:10FB000001010101010101010101010101010101E5
+:10FB100001010101010101010101010101010101D5
+:10FB200001010101010101010101010101010101C5
+:10FB300001010101010101010101010101010102B4
+:10FB40000200020202020202020202020202020198
+:10FB50000101010202020202020202020202020189
+:10FB6000010101010101020202020202020202027B
+:10FB70000202020202020202020202020202020265
+:10FB80000202020202020202020202020202020255
+:10FB90000202020202020202020202020202020245
+:10FBA0000202020202020202020202020202020235
+:10FBB0000202020202020202020202020202020225
+:10FBC0000202020202020202020202020202020215
+:10FBD0000202020202020002020202020202020009
+:10FBE000000000000000000000010101010100010F
+:10FBF00001010101010101010101010101010101F5
+:10FC000001010101010101010101010101010101E4
+:10FC100001010101010101010101010101010101D4
+:10FC200001010101010101010101010101010101C4
+:10FC300001010101010101010101010101010101B4
+:10FC4000010001010101010102020202020202019E
+:10FC5000010101010102020201010102010202018E
+:10FC60000101010101010101010101010101010283
+:10FC70000202020202020202020202020202020264
+:10FC80000202020202020202020202020202020254
+:10FC90000202020202020202020202020202020244
+:10FCA0000202020202020202020202020202020234
+:10FCB0000202020202020202020202020202020224
+:10FCC0000202020202020202020202020202020214
+:10FCD0000202020202020202020202020202020006
+:10FCE000000000000000000001010101010101010C
+:10FCF00001010101010101010101010101010101F4
+:10FD000001010101010101010101010101010101E3
+:10FD100001010101010101010101010101010101D3
+:10FD200001010101010101010101010101010101C3
+:10FD300001010101010101010101010101010101B3
+:10FD400001010101010101010101010101010101A3
+:10FD50000101010101010101010101010101010193
+:10FD60000101010101010101010101010101010084
+:10FD70000202020202020202020202020202020263
+:10FD80000202020202020202020202020202020253
+:10FD90000202020202020202020202020202020243
+:10FDA0000202020202020202020202020202020233
+:10FDB0000202020202020202020202020202020223
+:10FDC0000202020202020202020202020202020213
+:10FDD0000202020202020202020202020202020005
+:10FDE0000000000001010001010101010101010108
+:10FDF00001010101010101010101010101010101F3
+:10FE000001010101010101010101010101010101E2
+:10FE100001010101010101010101010101010101D2
+:10FE200001010101010101010101010101010101C2
+:10FE300001010101010101010101010101010101B2
+:10FE400001010101010101010101010101010101A2
+:10FE50000101010101010101010101010101010192
+:10FE60000101010101010101010101010101010083
+:10FE70000101010101020202020202020202020267
+:10FE80000202020201020202020202020202020253
+:10FE90000202020202020202020202020202020242
+:10FEA0000202020202020202020202020202020232
+:10FEB0000202020202020202020202020202020222
+:10FEC0000202020202020202020202020202020212
+:10FED0000202020202020202020202020202020004
+:10FEE0000001010101010101010101010101010103
+:10FEF00001010101010101010101010101010101F2
+:10FF000001010101010101010101010101010101E1
+:10FF100001010101010101010101010101010101D1
+:10FF200001010101010101010101010101010101C1
+:10FF300001010101010101010101010101010101B1
+:10FF400001010101010101010101010101010101A1
+:10FF50000101010101010101010101010101010191
+:10FF60000101010101010101010101010101010181
+:10FF70000101010101010101010101010101010171
+:10FF80000101010102020202020202020202020156
+:10FF90000101010101020101020202020202020248
+:10FFA0000202020202020202020202020202020231
+:10FFB0000202020202020202020202020202020221
+:10FFC0000202020202020202020202020202020211
+:10FFD0000202020202020202020202020202020102
+:10FFE0000101010101010101010101010101010101
+:10FFF00001010101010101010101010101010101F1
+:02000002E0001C
+:1000000001010101010101010101010101010101E0
+:1000100001010101010101010101010101010101D0
+:1000200001010101010101010101010101010101C0
+:1000300001010101010101010101010101010101B0
+:1000400001010101010101010101010101010101A0
+:100050000101010101010101010101010101010190
+:100060000101010101010101010101010101010180
+:100070000101010101010101010101010101010170
+:100080000101010101010101010101010101010160
+:100090000101010101010101010101010101010051
+:1000A0000202010102020202020202020202020232
+:1000B0000202010202020202020202020202020221
+:1000C0000202020202020202020202020202020210
+:1000D0000202020202020202020202020202020101
+:1000E0000101010101010101010101010101010100
+:1000F00001010101010101010101010101010101F0
+:1001000001010101010101010101010101010101DF
+:1001100001010101010101010101010101010101CF
+:1001200001010101010101010101010101010101BF
+:1001300001010101010101010101010101010101AF
+:10014000010101010101010101010101010101019F
+:10015000010101010101010101010101010101018F
+:10016000010101010101010101010101010101017F
+:10017000010101010101010101010101010101016F
+:10018000010101010101010101010101010101015F
+:100190000101010101010101010101010101010050
+:1001A000020202020202020202020202020202022F
+:1001B000020202020202020202020202020202021F
+:1001C0000201010102020202020202020202020212
+:1001D0000202020202020202020202020202020100
+:1001E00001010101010101010101010101010101FF
+:1001F00001010101010101010101010101010101EF
+:1002000001010101010101010101010101010101DE
+:1002100001010101010101010101010101010101CE
+:1002200001010101010101010101010101010101BE
+:1002300001010101010101010101010101010101AE
+:10024000010101010101010101010101010101019E
+:10025000010101010101010101010101010101018E
+:10026000010101010101010101010101010101017E
+:10027000010101010101010101010101010101016E
+:10028000010101010101010101010101010101015E
+:10029000010101010101010101010101010101014E
+:1002A000010101010101010101010101010101003F
+:1002B000000000000000000000000000000000023C
+:1002C000020202020202020202020202020202020E
+:1002D00002020202020202020202020202020201FF
+:1002E00001010101010101010101010101010101FE
+:1002F00001010101010101010101010101010101EE
+:1003000001010101010101010101010101010101DD
+:1003100001010101010101010101010101010101CD
+:1003200001010101010101010101010101010101BD
+:1003300001010101010101010101010101010101AD
+:10034000010101010101010101010101010101019D
+:10035000010101010101010101010101010101018D
+:10036000010101010101010101010101010101017D
+:10037000010101010101010101010101010101016D
+:10038000010101010101010101010101010101015D
+:10039000010101010101010101010101010101014D
+:1003A000010101010101010101010101010101013D
+:1003B000010101010101010101010101010101002E
+:1003C000000000000000000000000000000000022B
+:1003D00002020202020202020202020202020201FE
+:1003E00001010101010101010101010101010101FD
+:1003F00001010101010101010101010101010101ED
+:1004000001010101010101010101010101010101DC
+:1004100001010101010101010101010101010101CC
+:1004200001010101010101010101010101010101BC
+:1004300001010101010101010101010101010101AC
+:10044000010101010101010101010101010101019C
+:10045000010101010101010101010101010101018C
+:10046000010101010101010101010101010101017C
+:10047000010101010101010101010101010101016C
+:10048000010101010101010101010101010101015C
+:10049000010101010101010101010101010101014C
+:1004A000010101010101010101010101010101013C
+:1004B000010101010101010101010101010101012C
+:1004C000010101010101010101010101010101001D
+:1004D000000000000000000000000000000000011B
+:1004E00001010101010101010101010101010101FC
+:1004F00001010101010101010101010101010101EC
+:1005000001010101010101010101010101010101DB
+:1005100001010101010101010101010101010101CB
+:1005200001010101010101010101010101010101BB
+:1005300001010101010101010101010101010101AB
+:10054000010101010101010101010101010101019B
+:10055000010101010101010101010101010101018B
+:10056000010101010101010101010101010101017B
+:10057000010101010101010101010101010101016B
+:10058000010101010101010101010101010101015B
+:10059000010101010101010101010101010101014B
+:1005A000010101010101010101010101010101013B
+:1005B000010101010101010101010101010101012B
+:1005C000010101010101010101010101010101001C
+:1005D000000000000000000000000000000000011A
+:1005E00001010101010101010101010101010101FB
+:1005F00001010101010101010101010101010101EB
+:1006000001010101010101010101010101010101DA
+:1006100001010101010101010101010101010100CB
+:1006200000000000000000000000000000000000CA
+:1006300000000000000000000000000000000000BA
+:1006400000000000000000000000000000000001A9
+:10065000010101010101010101010101010101008B
+:100660000000000000000000000000000000000189
+:10067000010101010101010101010101010101016A
+:10068000010101010101010101010101010101015A
+:10069000010101010101010101010101010101014A
+:1006A000010101010101010101010101010101013A
+:1006B000010101010101010101010101010101012A
+:1006C000010101010101010101010101010101001B
+:1006D0000000000000000000000000000000000119
+:1006E00001010101010101010101010101010101FA
+:1006F00001010101010101010101010101010101EA
+:1007000001010101010101010101010101010101D9
+:1007100001010101010101010101010101010100CA
+:1007200000000000000000000000000000000000C9
+:1007300000000000000000000000000000000000B9
+:1007400000000000000000000000000000000001A8
+:10075000010101010101010101010101010101008A
+:100760000000000000000000000000000000000287
+:10077000020202020202020202020202020202005B
+:100780000000000000000000000000000000000168
+:10079000010101010101010101010101010101004A
+:1007A0000000000000000000000000000000000049
+:1007B0000000000000000000000000000000000138
+:1007C000010101010101010101010101010101001A
+:1007D0000000000000000000000000000000000118
+:1007E00001010101010101010101010101010100FA
+:1007F00000000000000000000000000000000000F9
+:1008000000000000000000000000000000000002E6
+:1008100002020202020202020202020202020202B8
+:1008200002020202020202020202020202020202A8
+:100830000202020202020202020202020202020298
+:100840000202020202020202020202020202020288
+:100850000202020202020202020202020202020278
+:100860000202020202020202020202020202020268
+:100870000202020202020202020202020202020258
+:100880000202020202020202020202020202020248
+:100890000202020202020202020202020202020238
+:1008A0000202020202020202020202020202020228
+:1008B0000202020202020202020202020202020218
+:1008C000020202020202020202020202020202000A
+:1008D0000000000000000000000000000000000117
+:1008E00001010101010101010101010101010100F9
+:1008F00000000000000000000000000000000000F8
+:1009000000000000000000000000000000000000E7
+:1009100000000000000000000000000000000000D7
+:1009200000000000000000000000000000000000C7
+:1009300000000000000000000000000000000000B7
+:1009400000000000000000000000000000000002A5
+:100950000202020202020202020202020202020277
+:100960000202020202020202020202020202020069
+:100970000000000000000000000000000000000275
+:100980000202020202020202020202020202020247
+:100990000202020202020202020202020202020237
+:1009A0000202020202020202020202020202020227
+:1009B0000202020202020202020202020202020217
+:1009C0000202020202020202020202020202020009
+:1009D0000000000000000000000000000000000116
+:1009E00001010101010101010101010101010100F8
+:1009F00000000000000000000000000000000000F7
+:100A000000000000000000000000000000000000E6
+:100A100000000000000000000000000000000000D6
+:100A200000000000000000000000000000000000C6
+:100A300000000000000000000000000000000000B6
+:100A400000000000000000000000000000000000A6
+:100A50000000000000000000000000000000000096
+:100A60000000000000000000000000000000000086
+:100A70000000000000000000000000000000000076
+:100A80000000000000000000000000000000000264
+:100A90000202020202020202020202020202020038
+:100AA0000000000000000000000000000000000046
+:100AB0000000000000000000000000000000000234
+:100AC0000202020202020202020202020202020008
+:100AD0000000000000000000000000000000000016
+:100AE0000000000000000000000000000000000006
+:100AF00000000000000000000000000000000000F6
+:100B000000000000000000000000000000000000E5
+:100B100000000000000000000000000000000000D5
+:100B200000000000000000000000000000000000C5
+:100B300000000000000000000000000000000000B5
+:100B400000000000000000000000000000000000A5
+:100B50000000000000000000000000000000000095
+:100B60000000000000000000000000000000000085
+:100B70000000000000000000000000000000000075
+:100B80000000000000000000000000000000000065
+:100B90000000000000000000000000000000000055
+:100BA0000000000000000000000000000000000045
+:100BB0000000000000000000000000000000000035
+:100BC0000000000000000000000000000000000025
+:100BD00000000000000000000000000000000044D1
+:100BE0000000000000000000000000000000000005
+:100BF00000000000000000000000000000000000F5
+:100C000000000000000000000000000000000000E4
+:100C100000000000000000000000000000010200D1
+:100C200001010201000001000000000000000000BE
+:100C300000000000000000000000000000000000B4
+:100C400000000000000000000000000000000000A4
+:100C50000000000000000000000000000000000094
+:100C60000000000000000000000000000000000084
+:100C70000000000000000000000000000000000074
+:100C80000000000000000000000000000000000064
+:100C90000000000000000000000000000000000054
+:100CA0000000000000000000000000000000000044
+:100CB0000000000000000000000000000100000033
+:100CC000000000000200000000010000000000021F
+:100CD0000000000002000000000000000000000012
+:100CE00000000000000000020202000200020200F8
+:100CF00002020202000200000000000001000200E7
+:100D000002020001000000000000000101000000DC
+:100D100000000000000000000001000001010201CD
+:100D200001010101010001010100000000000000BB
+:100D300000000000000100000000010100000000B0
+:100D400000000000000000000000000100000002A0
+:100D5000000000000200000101000000000101008D
+:100D6000020002000001000000000000010000027B
+:100D70000000000000000000000001000000000072
+:100D80000000000002000000000000000001000060
+:100D9000000000000002000101000000000000004F
+:100DA000020200020000000000010100000000003B
+:100DB0000000000000000000000000000100000032
+:100DC000000000000202000001010000000001011B
+:100DD000020101010200010000000000000000000B
+:100DE00000000000000000020202020202020202F1
+:100DF00002020202020200010000000001000201E2
+:100E000002020001010000000101000101000200D6
+:100E100001010101000100000001000001010201C7
+:100E200001010101010001010100010100000001B7
+:100E300000000000000100000000010100000000AF
+:100E40000101010200020001000000010000000297
+:100E50000101010202020001010100000101010182
+:100E60000100020001010000000000000101020277
+:100E70000202020100010000000001000000000069
+:100E80000202020202020000000000010001000054
+:100E9000000000000202000101010000000000004B
+:100EA0000202000202000000000101000000000038
+:100EB000000000000002000000000000010000002F
+:100EC000000000000202000001010000000001011A
+:100ED0000101010102010100000002020000000006
+:100EE00000000000000000020202020202020202F0
+:100EF00002020202020200010000000001000201E1
+:100F000002020101010100000101010101000200D2
+:100F100001010101010100000001010101010101C4
+:100F200001010101010101010100010100010201B2
+:100F300001020201000101000000010100000000A7
+:100F40000101010102020001000000010000000196
+:100F50000101010202020001010100000101010181
+:100F60000102020101010100000001000101020271
+:100F70000102020101010000000101000000000067
+:100F80000202020202020001000000010001000052
+:100F90000000000202020001010100000000000048
+:100FA0000202020202010000000101000000000034
+:100FB000000000000202000000000000010000002C
+:100FC0000200000001020000010100000001010117
+:100FD0000101010101010100000002020000000006
+:100FE00000000000000000020202020202020202EF
+:100FF00002020202020200010000000101000101E0
+:1010000001010101010100000101010101020100D2
+:1010100001010101010101000001010101010101C2
+:1010200001010101010101010100010101010201B0
+:1010300001010101010101010100010100020000A3
+:101040000101010101010001000000010000020195
+:101050000101010201010001010100000101010182
+:101060000101010101010100000001000101020173
+:101070000101020101010100000101000000000066
+:101080000202020201020001000001010001000051
+:101090000000000202010001010101000000000047
+:1010A0000101020102010000000101000000000036
+:1010B000000000020201000000000000010000002A
+:1010C0000200000001010000010100010001010116
+:1010D0000101010101010100000002020000000005
+:1010E00000000101000100020202020202020202EB
+:1010F00002020202020200010000000101020101DD
+:1011000001010101010100000101010101020100D1
+:1011100001010101010101000001010101010101C1
+:1011200001010101010101010100010101010201AF
+:1011300001010101010101010101010100010000A2
+:101140000101010101010001000000010000010195
+:101150000101010101010001010100000101010182
+:101160000101010101010100000001010101010172
+:101170000101010101010100000101000000000066
+:101180000101010101010001000001010001000055
+:101190000000000201010001010101000000000047
+:1011A0000101020101010000000101000000000036
+:1011B0000000000202010000000000000100000029
+:1011C0000100000201010000010100010001010114
+:1011D0000101010101010100000002020000000004
+:1011E00000000101010100020202020202020202E9
+:1011F00002020202020200010000000101020101DC
+:1012000001010101010100000101010101020100D0
+:1012100001010101010101000001010101010101C0
+:1012200001010101010101010100010101010101AF
+:1012300001010101010101010101010100010000A1
+:101240000101010101010001000000010001010193
+:101250000101010101010001010101000101010180
+:101260000101010101010101000001010101010170
+:101270000101010101010100000101000000000065
+:101280000101010101010001000001010001000054
+:101290000000000101010001010101000000000245
+:1012A0000101010101010000000101000000000036
+:1012B0000000000201010000000100000100000028
+:1012C0000100000201010000010100010001010113
+:1012D0000101010101010100000002020000000003
+:1012E00000000101010100020202020202020202E8
+:1012F00002020202020200010000000101020101DB
+:1013000001010101010101000101010101010102CD
+:1013100001010101010101000001010101010101BF
+:1013200001010101010101010101010101010101AD
+:10133000010101010101010101010101000100029E
+:101340000101010101010001000000010001010192
+:10135000010101010101000101010100010101017F
+:10136000010101010101010100000101010101016F
+:101370000101010101010100000101000000000262
+:101380000101010101010001000001010001000053
+:10139000020202010101000101010100000000023E
+:1013A0000101010101010000000101000000000035
+:1013B0000000000101010000000100000100000028
+:1013C0000100000101010000010100010001010113
+:1013D0000101010101010100000002020000000002
+:1013E00000000101010100020202020202020202E7
+:1013F00002020202020200010000010101010101DA
+:1014000001010101010101000101010101010102CC
+:1014100001010101010101010101010101010101BC
+:1014200001010101010101010101010101010101AC
+:10143000010101010101010101010101000101029C
+:101440000101010101010101000000010001010190
+:10145000010101010101000101010101010101017D
+:10146000010101010101010101000101010101016D
+:10147000010101010101010001010100000002025E
+:101480000101010101010001000001010001000052
+:10149000020202010101000101010100000000023D
+:1014A0000101010101010000000101000000000034
+:1014B0000202000101010000000100010100000022
+:1014C0000100000101010000010100010001010112
+:1014D0000101010101010100000002020000000001
+:1014E00000000101010100020202020202020202E6
+:1014F00002020202020200010100010101010101D8
+:1015000001010101010101000101010101010102CB
+:1015100001010101010101010101010101010101BB
+:1015200001010101010101010101010101010101AB
+:10153000010101010101010101010101010101029A
+:10154000010101010101010100000001000101018F
+:10155000010101010101000101010101010101017C
+:10156000010101010101010101010101010101016B
+:10157000010101010101010001010100000002025D
+:101580000101010101010001010001010001000050
+:10159000020202010101000101010100000200013B
+:1015A0000101010101010100000101000000000032
+:1015B0000202000101010000000100010100000021
+:1015C0000100000101010000010100010001010111
+:1015D0000101010101010100000002020000000000
+:1015E00000000101010100020202020202020202E5
+:1015F00002020202020200010101010101010101D6
+:1016000001010101010101000101010101010101CB
+:1016100001010101010101010101010101010101BA
+:1016200001010101010101010101010101010101AA
+:10163000010101010101010101010101010101019A
+:10164000010101010101010100000001000101018E
+:10165000010101010101010101010101010101017A
+:10166000010101010101010101010101010101016A
+:10167000010101010101010001010100000202015B
+:10168000010101010101010101000101010100004D
+:10169000010101010101000101010100000200013D
+:1016A0000101010101010100000101000000000031
+:1016B000010202010101000000010001010000001F
+:1016C0000100000101010000010100010001010110
+:1016D00001010101010101000000020200000000FF
+:1016E00000000101010100020202020202020202E4
+:1016F00002020202020200010101010101010101D5
+:1017000001010101010101000101010101010101CA
+:1017100001010101010101010101010101010101B9
+:1017200001010101010101010101010101010101A9
+:101730000101010101010101010101010101010199
+:10174000010101010101010100000001010101018C
+:101750000101010101010101010101010101010179
+:101760000101010101010101010101010101010169
+:10177000010101010101010001010100000201015B
+:10178000010101010101010101000101010100004C
+:10179000010101010101000101010100000202013A
+:1017A0000101010101010100000101000000000030
+:1017B000010102010101000000010001010000001F
+:1017C000010202010101000001010001000101010B
+:1017D00001010101010101000000020200000000FE
+:1017E00000000101010100020202020202020202E3
+:1017F00002020202020200020101010101010101D3
+:1018000001010101010101000101010101010101C9
+:1018100001010101010101010101010101010101B8
+:1018200001010101010101010101010101010101A8
+:101830000101010101010101010101010101010198
+:10184000010101010101010100000001010101018B
+:101850000101010101010101010101010101010178
+:101860000101010101010101010101010101010168
+:10187000010101010101010001010100000201015A
+:101880000101010101010101010001010101000249
+:10189000010101010101000101010100000102013A
+:1018A000010101010101010000010100000000002F
+:1018B000010101010101000000010101010000001E
+:1018C000010101010101000001010001000101010C
+:1018D00001010101010101000000020200000000FD
+:1018E00001000101010100020202020202020202E1
+:1018F00002020202020200020101010201010101D1
+:1019000001010101010101000101010101010101C8
+:1019100001010101010101010101010101010101B7
+:1019200001010101010101010101010101010101A7
+:101930000101010101010101010101010101010197
+:101940000101010101010101000001010101010189
+:101950000101010101010101010101010101010177
+:101960000101010101010101010101010101010167
+:101970000101010101010100010101010001010159
+:101980000101010101010101010001010101000248
+:101990000101010101010101010101000001020138
+:1019A000010101010101010000010100000000002E
+:1019B000010101010101000000010101010000001D
+:1019C000010101010101000001010001000101010B
+:1019D00001010101010101000000020200000000FC
+:1019E00001000101010100020202020202020202E0
+:1019F00002020202020200020101010202010102CE
+:101A000001010101010101010101010101010101C6
+:101A100001010101010101010101010101010101B6
+:101A200001010101010101010101010101010101A6
+:101A30000101010101010101010101010101010196
+:101A40000101010101010101000001010101010188
+:101A50000101010101010101010101010101010176
+:101A60000101010101010101010101010101010166
+:101A70000101010101010101010101010001010157
+:101A80000101010101010101010001010101000247
+:101A90000101010101010101010101000001010138
+:101AA000010101010101010001010100000000002C
+:101AB000010101010101000000010101010000001C
+:101AC000010101010101000001010001000101010A
+:101AD00001010101010101000000020200000000FB
+:101AE00001000101010100020202020202020202DF
+:101AF00002020202020200020101010202010102CD
+:101B000001010101010101010101010101010101C5
+:101B100001010101010101010101010101010101B5
+:101B200001010101010101010101010101010101A5
+:101B30000101010101010101010101010101010195
+:101B40000101010101010101000101010101010186
+:101B50000101010101010101010101010101010175
+:101B60000101010101010101010101010101010165
+:101B70000101010101010101010101010001010156
+:101B80000101010101010101010001010101000147
+:101B90000101010101010101010101000001010137
+:101BA0000101010101010100010101000000000229
+:101BB0000101010101010000010101010102000018
+:101BC0000101010101010100010100010001010108
+:101BD00001010101010101000000020200000000FA
+:101BE00001010101010100020202020202020202DD
+:101BF00002020202020200020201020202010102CA
+:101C000001010101010101010201010101010101C3
+:101C100001010101010101010101010101010101B4
+:101C200001010101010101010101010101010101A4
+:101C30000101010101010101010101010101010194
+:101C40000101010101010101000101010101010185
+:101C50000101010101010101010101010101010174
+:101C60000101010101010101010101010101010164
+:101C70000101010101010101010101010001010155
+:101C80000101010101010101010101010101000145
+:101C90000101010101010101010101000001010136
+:101CA0000101010101010101010101000002000225
+:101CB0000101010101010100010101010102000214
+:101CC0000101010101010100010100010001010107
+:101CD00001010101010101000000020200000000F9
+:101CE00001010101010100020202020202020202DC
+:101CF00002020202020200020202020202010102C8
+:101D000001010201010101010202010201010101BF
+:101D100001010101010101010102010101010101B2
+:101D200001010101010101020201010101010101A1
+:101D30000101010101010101010101010101010193
+:101D40000101010101010101000101010101010184
+:101D50000101010101010102020101010101010171
+:101D60000101010101010101010101010101010163
+:101D70000101010101010101010101010001010154
+:101D80000101010101010101010101010101000144
+:101D90000101010101010101010101000001010135
+:101DA0000101010101010101010101010002000223
+:101DB0000101010101010100010101010102020211
+:101DC0000101010101010100010100010001010106
+:101DD00001010101010101000000020200000000F8
+:101DE00001010101010100020202020202020202DB
+:101DF00002020202020200020202020202010202C6
+:101E000001010202010101010202010201010101BD
+:101E100001010101010101010102010101010101B1
+:101E200001010101010101020201010101010101A0
+:101E30000101010101010101010101010101010192
+:101E40000101010101010101000101010101010183
+:101E5000010101010101010202020101010101016F
+:101E60000101010101010101010101010101010162
+:101E70000101010101010101010101010001010153
+:101E80000101010101010101010101010101000143
+:101E90000101010101010101010101000001010134
+:101EA0000101010101010101010101010002000123
+:101EB0000101010101010100010101010101020112
+:101EC0000101010101010100010100010001010105
+:101ED00001010101010101000000010100000000F9
+:101EE00001010101010100020202020202020202DA
+:101EF00002020202020200020202020202010202C5
+:101F000001010202010101010202020202010101BA
+:101F100001010101010101010102010101010101B0
+:101F2000010101010101010202010202010101019D
+:101F3000010101010101010202010202010101018D
+:101F40000101010101010102010101010101010180
+:101F5000010101010101010202020101010101016E
+:101F60000101010101010101010101010101010161
+:101F70000101010101010101010101010001010152
+:101F80000101010101010101010101010101020140
+:101F90000101010101010101010101000001010133
+:101FA0000101010101010101010101010001000123
+:101FB0000101010101010100010101010101020111
+:101FC0000101010101010100010100010001010104
+:101FD00001010101010101000000010100000000F8
+:101FE00001010101010100020202020202020202D9
+:101FF00002020202020200020202020202010202C4
+:1020000001010202020201010202020202010101B7
+:1020100001010101010101010102020202020101AB
+:10202000010101010101010202010202010101019C
+:10203000010101010101010202020202010101018B
+:10204000010101010101010201010102010101017E
+:10205000010101010101010202020101010101016D
+:102060000101010101010101010101010101010160
+:102070000101010101010101010101010001010151
+:10208000010101010101010101010101010102013F
+:102090000101010101010101010101000001010132
+:1020A0000101010101010101010101010001020120
+:1020B0000101010101010100010101010101010111
+:1020C0000101010101010100010100010001010103
+:1020D00001010101010101000000010100000000F7
+:1020E00001010101010100020202020202020202D8
+:1020F00002020202020200020202020202020202C2
+:1021000001010202020201010202020202010101B6
+:1021100001010101010101020202020202020102A7
+:10212000010101010101010202020202010101019A
+:10213000010101010101010202020202010101018A
+:10214000010101010101010201010102010101017D
+:102150000101010101010102020201010202020169
+:10216000010101010101010101010101010101015F
+:10217000010101010101010101010101010101014F
+:10218000010101010101010101010101010102013E
+:102190000101010101010101010101000001010131
+:1021A000010101010101010101020101000102011E
+:1021B0000101010101010100010101010101010110
+:1021C0000101010101010100020200010001010100
+:1021D00001010101010101000000010100000002F4
+:1021E00001010101010100020202020202020201D8
+:1021F00002020202020200020202020202020202C1
+:1022000002020202020201010202020202010101B3
+:1022100001010101010101020202020202020102A6
+:102220000101010101010102020202020202010296
+:102230000101010101010102020202020101010189
+:10224000010101010101010201010102010101017C
+:102250000101010101010102020202010202020266
+:10226000010101010101010201010201020101015B
+:10227000010101010101010101020201010101014C
+:10228000010101010101010201010101010101013D
+:10229000010101010101010202010100010101012D
+:1022A000010101010101010101020201000102011C
+:1022B000010101010101010001010101010101010F
+:1022C00001010101010101000202000100010101FF
+:1022D00001010101010101000000010100000002F3
+:1022E00001010101010100010201020102020201DA
+:1022F00002020102020200020202020202020202C1
+:1023000002020202020201010202020202010201B1
+:1023100002020201010101020202020202020102A2
+:102320000202010101010102020202020202010293
+:102330000101010101010102020202020101010188
+:10234000010101010101010201010102010101017B
+:102350000101010101010102020202020202020264
+:102360000101010101010102020102020202010157
+:10237000010101010101010101020201010101014B
+:10238000010101010101010201010102010101013B
+:10239000010101010101010202020100010101012B
+:1023A000010101010101010101020201000101011C
+:1023B000010101010101010001010101020101010D
+:1023C00001010101010101010202000100010101FD
+:1023D00001010101010101000000010100020002F0
+:1023E00001010101010100010101020102020101DB
+:1023F00002020102020200020202020202020202C0
+:1024000002020202020202020202020202010201AE
+:1024100002020201010101020202020202020202A0
+:102420000202020201010102020202020202010290
+:102430000101010101010102020202020102010186
+:102440000202020101010102010101020101010177
+:102450000101010101010102020202020202020263
+:102460000101010101010102020202020202010155
+:102470000101010101010101020202010101010149
+:102480000101010101010102010102020102010138
+:10249000010101010101010202020100010101012A
+:1024A000010101010101010101020201000101011B
+:1024B000010101010101010001020101020101010B
+:1024C00001010101010101010202000201010101FA
+:1024D00001010101010101000000010100020002EF
+:1024E00001010101010100010101020102010101DB
+:1024F00002010101020100020202020202020202C2
+:1025000002020202020202020202020202010201AD
+:10251000020202020101010202020202020202029E
+:10252000020202020201020202020202020201028D
+:102530000201010101010102020202020202020182
+:102540000202020101010102010101020102020273
+:10255000020202010101010202020202020202025F
+:102560000201010101010102020202020202010153
+:102570000101010101010101020202010101010148
+:102580000101010101010102020102020102010136
+:102590000101010101010102020202000101010128
+:1025A000010101010101010101020201000101011A
+:1025B000010101010101010001020101020101010A
+:1025C00001010101010101010202000201010201F8
+:1025D00001010101010101000000010100020202EC
+:1025E00001010101010100010101010102010101DB
+:1025F00001010201020100020202020202020202C1
+:1026000002020202020202020202020202020201AB
+:10261000020202020202010202020202020202029B
+:10262000020202020201020202020202020202028B
+:10263000020202020102010202020202020202017D
+:102640000202020101010102010201020102020271
+:10265000020202010101010202020202020202025E
+:10266000020201020202010202020202020201014E
+:102670000101010101010101020202010101010147
+:102680000101010101010102020102020102010135
+:102690000101010101010102020202000101010127
+:1026A0000101010101010101010202010001010119
+:1026B0000101010101010100010201020201010108
+:1026C00001010101010101010202000201020202F5
+:1026D00001010101010101000000010102020201EA
+:1026E00001010101010100010101010101010101DB
+:1026F00001010202010100020202020202020202C0
+:1027000002020202020202020202020202020201AA
+:102710000202020202020202020202020202020299
+:102720000202020202020202020202020202020289
+:10273000020202020202020202020202020202017A
+:10274000020202020101010201020202020202026D
+:10275000020202010101010202020202020202025D
+:102760000202020202020202020202020202020249
+:102770000201010201010102020202010101010143
+:102780000101010101010102020102020102010134
+:102790000101010101010102020202000101010126
+:1027A0000101010101010101020202010001010117
+:1027B0000101010101010100010201020201010107
+:1027C00001010101010101010202000201020202F4
+:1027D00001020201010101000000010102010201E8
+:1027E00001010101010100010101010101010101DA
+:1027F00002020202010100020202020202020202BD
+:1028000002020202020202020202020202020202A8
+:102810000202020202020202020202020202020298
+:102820000202020202020202020202020202020288
+:102830000202020202020202020202020202020179
+:10284000020202020201010202020202020202026A
+:10285000020202010101010202020202020202025C
+:102860000202020202020202020202020202020248
+:10287000020201020202010202020202010101013E
+:102880000101010101010102020202020202010131
+:102890000101010101010102020202010101010124
+:1028A0000101010101010102020202010001010115
+:1028B0000101010101010100020202020201010104
+:1028C00001010101010101010202000201020202F3
+:1028D00002020202010101000000010102010201E5
+:1028E00001000101000100010101010101010102DA
+:1028F00002020101010100020202020202020202BE
+:1029000002020202020202020202020202020202A7
+:102910000202020202020202020202020202020297
+:102920000202020202020202020202020202020287
+:102930000202020202020202020202020202020277
+:102940000202020202020102020202020202020268
+:10295000020202010101010202020202020202025B
+:102960000202020202020202020202020202020247
+:10297000020202020202020202020202010101013B
+:102980000101010101010102020202020202010130
+:102990000101010101010102020202010101010123
+:1029A0000101010101010102020202010001010114
+:1029B0000101010101010101020202020201010102
+:1029C00001010101010101010202000201020202F2
+:1029D00002020202010102000000010102010201E3
+:1029E00001000101000100020202020201020202D2
+:1029F00001020101010100020202020202020202BE
+:102A000002020202020202020202020202020202A6
+:102A10000202020202020202020202020202020296
+:102A20000202020202020202020202020202020286
+:102A30000202020202020202020202020202020276
+:102A40000202020202020202020202020202020266
+:102A50000202020202020102020202020202020257
+:102A60000202020202020202020202020202020246
+:102A7000020202020202020202020202010101013A
+:102A8000020202010101010202020202020201012C
+:102A90000101010101010102020202010101010122
+:102AA0000101010101010102020202020001010112
+:102AB0000101010101010101020202020201010101
+:102AC00002010101010101010202000201020202F0
+:102AD00002020202010202000100010102010201E0
+:102AE00001000201000101020202020202020202CE
+:102AF00001010101010100020202020202020202BE
+:102B000002020202020202020202020202020202A5
+:102B10000202020202020202020202020202020295
+:102B20000202020202020202020202020202020285
+:102B30000202020202020202020202020202020275
+:102B40000202020202020202020202020202020265
+:102B50000202020202020102020202020202020256
+:102B60000202020202020202020202020202020245
+:102B70000202020202020202020202020101020237
+:102B80000202020202010102020202020202010129
+:102B90000101010101010102020202010101010121
+:102BA000020201010102010202020202000101010E
+:102BB00001010101010201010202020202010101FF
+:102BC00002010101020101010202000201020202EE
+:102BD00002020202020202000101010102010201DD
+:102BE00001000202000101020202020202020202CC
+:102BF00001010101010100020202020202020202BD
+:102C000002020202020202020202020202020202A4
+:102C10000202020202020202020202020202020294
+:102C20000202020202020202020202020202020284
+:102C30000202020202020202020202020202020274
+:102C40000202020202020202020202020202020264
+:102C50000202020202020202020202020202020254
+:102C60000202020202020202020202020202020244
+:102C70000202020202020202020202020102020235
+:102C80000202020202020102020202020202010127
+:102C9000010101020202010202020201010101021C
+:102CA000020202020102010202020202000101010B
+:102CB00002010102020201010202020202010101FB
+:102CC00002010102020201010202010201020202EA
+:102CD00002020202020202000101010101010101DE
+:102CE00000000202020201020202020202020202C9
+:102CF00001010101010100020202020202020202BC
+:102D000002020202020202020202020202020202A3
+:102D10000202020202020202020202020202020293
+:102D20000202020202020202020202020202020283
+:102D30000202020202020202020202020202020273
+:102D40000202020202020202020202020202020263
+:102D50000202020202020202020202020202020253
+:102D60000202020202020202020202020202020243
+:102D70000202020202020202020202020102020234
+:102D80000202020202020202020202020202010125
+:102D90000202020202020102020202010102010217
+:102DA0000202020202020102020202020001010109
+:102DB00002020202020201010202020202010101F8
+:102DC00002020202020201020202010201020202E6
+:102DD00002020202020202000201010101010101DC
+:102DE00000000202020201020202010202020202C9
+:102DF00001010101010100020202020202020202BB
+:102E000002020202020202020202020202020202A2
+:102E10000202020202020202020202020202020292
+:102E20000202020202020202020202020202020282
+:102E30000202020202020202020202020202020272
+:102E40000202020202020202020202020202020262
+:102E50000202020202020202020202020202020252
+:102E60000202020202020202020202020202020242
+:102E70000202020202020202020202020202020232
+:102E80000202020202020202020202020202010223
+:102E90000202020202020102020202010102020215
+:102EA0000202020202020202020202020001010107
+:102EB00002020202020201010202020202010101F7
+:102EC00002020202020201020202010201020202E5
+:102ED00002020202020202000202000001010101DC
+:102EE00000000202020201020202010201010202CA
+:102EF00001010101010100020202020202020202BA
+:102F000002020202020202020202020202020202A1
+:102F10000202020202020202020202020202020291
+:102F20000202020202020202020202020202020281
+:102F30000202020202020202020202020202020271
+:102F40000202020202020202020202020202020261
+:102F50000202020202020202020202020202020251
+:102F60000202020202020202020202020202020241
+:102F70000202020202020202020202020202020231
+:102F80000202020202020202020202020202010222
+:102F90000202020202020202020202010102020213
+:102FA0000202020202020202020202020102010203
+:102FB00002020202020201010202020202020102F4
+:102FC00002020202020201020202010201020202E4
+:102FD00002020202020202000202000001010101DB
+:102FE00000000202020201020102010201010101CC
+:102FF00001010101010100020202020202020202B9
+:1030000002020202020202020202020202020202A0
+:103010000202020202020202020202020202020290
+:103020000202020202020202020202020202020280
+:103030000202020202020202020202020202020270
+:103040000202020202020202020202020202020260
+:103050000202020202020202020202020202020250
+:103060000202020202020202020202020202020240
+:103070000202020202020202020202020202020230
+:103080000202020202020202020202020202010221
+:103090000202020202020202020202010202020211
+:1030A0000202020202020202020202020102010202
+:1030B00002020202020202020202020202020202F0
+:1030C00002020202020202020202010202020202E1
+:1030D00002020202020202000202000001000101DB
+:1030E00002000202020201010101010101010101CC
+:1030F00001010101010100020202020202020202B8
+:10310000020202020202020202020202020202029F
+:10311000020202020202020202020202020202028F
+:10312000020202020202020202020202020202027F
+:10313000020202020202020202020202020202026F
+:10314000020202020202020202020202020202025F
+:10315000020202020202020202020202020202024F
+:10316000020202020202020202020202020202023F
+:10317000020202020202020202020202020202022F
+:10318000020202020202020202020202020202021F
+:103190000202020202020202020202010202020210
+:1031A0000202020202020202020202020102020200
+:1031B00002020202020202020202020202020202EF
+:1031C00002020202020202020202010202020202E0
+:1031D00002020202020202000202000001000100DB
+:1031E00002000202020201010101010101010101CB
+:1031F00001010101010100020202020202020202B7
+:10320000020202020202020202020202020202029E
+:10321000020202020202020202020202020202028E
+:10322000020202020202020202020202020202027E
+:10323000020202020202020202020202020202026E
+:10324000020202020202020202020202020202025E
+:10325000020202020202020202020202020202024E
+:10326000020202020202020202020202020202023E
+:10327000020202020202020202020202020202022E
+:10328000020202020202020202020202020202021E
+:10329000020202020202020202020202020202020E
+:1032A00002020202020202020202020201020202FF
+:1032B00002020202020202020202020202020202EE
+:1032C00002020202020202020202010202020202DF
+:1032D00002020202020202000202000000000100DB
+:1032E00002000202020201010101010101010101CA
+:1032F00001010101010100020202020202020202B6
+:10330000020202020202020202020202020202029D
+:10331000020202020202020202020202020202028D
+:10332000020202020202020202020202020202027D
+:10333000020202020202020202020202020202026D
+:10334000020202020202020202020202020202025D
+:10335000020202020202020202020202020202024D
+:10336000020202020202020202020202020202023D
+:10337000020202020202020202020202020202022D
+:10338000020202020202020202020202020202021D
+:10339000020202020202020202020202020202020D
+:1033A00002020202020202020202020201020202FE
+:1033B00002020202020202020202020202020202ED
+:1033C00002020202020202020202020202020202DD
+:1033D00002020202020202000202000000000100DA
+:1033E00002000202020201010101010101010101C9
+:1033F00001010101010100020202020202020202B5
+:10340000020202020202020202020202020202029C
+:10341000020202020202020202020202020202028C
+:10342000020202020202020202020202020202027C
+:10343000020202020202020202020202020202026C
+:10344000020202020202020202020202020202025C
+:10345000020202020202020202020202020202024C
+:10346000020202020202020202020202020202023C
+:10347000020202020202020202020202020202022C
+:10348000020202020202020202020202020202021C
+:10349000020202020202020202020202020202020C
+:1034A00002020202020202020202020201020202FD
+:1034B00002020202020202020202020202020202EC
+:1034C00002020202020202020202020202020202DC
+:1034D00002020202020202000202000000000000DA
+:1034E00002000202020202010101010101010101C7
+:1034F00001010101010100000202020200020202B8
+:10350000020202020202020202020202020202029B
+:10351000020202020202020202020202020202028B
+:10352000020202020202020202020202020202027B
+:10353000020202020202020202020202020202026B
+:10354000020202020202020202020202020202025B
+:10355000020202020202020202020202020202024B
+:10356000020202020202020202020202020202023B
+:10357000020202020202020202020202020202022B
+:10358000020202020202020202020202020202021B
+:10359000020202020202020202020202020202020B
+:1035A00002020202020202020202020202020202FB
+:1035B00002020202020202020202020202020202EB
+:1035C00002020202020202020202020202020202DB
+:1035D00002020202020202000202000000000000D9
+:1035E00002020202020202010101010101010101C4
+:1035F00001010101010100000202020100020201B9
+:10360000020202020202020202020202020202029A
+:10361000020202020202020202020202020202028A
+:10362000020202020202020202020202020202027A
+:10363000020202020202020202020202020202026A
+:10364000020202020202020202020202020202025A
+:10365000020202020202020202020202020202024A
+:10366000020202020202020202020202020202023A
+:10367000020202020202020202020202020202022A
+:10368000020202020202020202020202020202021A
+:10369000020202020202020202020202020202020A
+:1036A00002020202020202020202020202020202FA
+:1036B00002020202020202020202020202020202EA
+:1036C00002020202020202020202020202020202DA
+:1036D00002020202020202000002000000000000DA
+:1036E00002020202020202010101010101010101C3
+:1036F00001010101010100000202010100020201B9
+:10370000020201020202020202020202020202029A
+:103710000202020202020202020202020202020289
+:103720000202020202020202020202020202020279
+:103730000202020202020202020202020202020269
+:103740000202020202020202020202020202020259
+:103750000202020202020202020202020202020249
+:103760000202020202020202020202020202020239
+:103770000202020202020202020202020202020229
+:103780000202020202020202020202020202020219
+:103790000202020202020202020202020202020209
+:1037A00002020202020202020202020202020202F9
+:1037B00002020202020202020202020202020202E9
+:1037C00002020202020202020202020202020202D9
+:1037D00002020202020202000000000000000000DB
+:1037E00002020202020202010101010101010101C2
+:1037F00001010101010000000101010100020101BC
+:10380000020201010201020202020202020202029B
+:103810000202020202020202020202020202020288
+:103820000202020202020202020202020202020278
+:103830000202020202020202020202020202020268
+:103840000202020202020202020202020202020258
+:103850000202020202020202020202020202020248
+:103860000202020202020202020202020202020238
+:103870000202020202020202020202020202020228
+:103880000202020202020202020202020202020218
+:103890000202020202020202020202020202020208
+:1038A00002020202020202020202020202020202F8
+:1038B00002020202020202020202020202020202E8
+:1038C00002020202020202020202020202020202D8
+:1038D00002020202020202000000000000000000DA
+:1038E00002020202000202010101010101010101C3
+:1038F00001010001010000000101010100010101BD
+:10390000020201010101020202020202020202029B
+:103910000202020202020202020202020202020287
+:103920000202020202020202020202020202020277
+:103930000202020202020202020202020202020267
+:103940000202020202020202020202020202020257
+:103950000202020202020202020202020202020247
+:103960000202020202020202020202020202020237
+:103970000202020202020202020202020202020227
+:103980000202020202020202020202020202020217
+:103990000202020202020202020202020202020207
+:1039A00002020202020202020202020202020202F7
+:1039B00002020202020202020202020202020202E7
+:1039C00002020202020202020202020202020202D7
+:1039D00002020202020202000000000000000000D9
+:1039E00002020202000200010101010101010101C4
+:1039F00001010001000000010101010101010101BB
+:103A0000010101010101010202010202020202029E
+:103A10000202020202020202020202020202020286
+:103A20000202020202020202020202020202020276
+:103A30000202020202020202020202020202020266
+:103A40000202020202020202020202020202020256
+:103A50000202020202020202020202020202020246
+:103A60000202020202020202020202020202020236
+:103A70000202020202020202020202020202020226
+:103A80000202020202020202020202020202020216
+:103A90000202020202020202020202020202020206
+:103AA00002020202020202020202020202020202F6
+:103AB00002020202020202020202020202020202E6
+:103AC00002020202020202020202020202020202D6
+:103AD00002020202020202020000000000000000D6
+:103AE00002020202000200010001000101010101C5
+:103AF00000010000000000010101010101010101BC
+:103B0000010101010101010202020202020202029C
+:103B10000202020202020202020202020202020285
+:103B20000202020202020202020202020202020275
+:103B30000202020202020202020202020202020265
+:103B40000202020202020202020202020202020255
+:103B50000202020202020202020202020202020245
+:103B60000202020202020202020202020202020235
+:103B70000202020202020202020202020202020225
+:103B80000202020202020202020202020202020215
+:103B90000202020202020202020202020202020205
+:103BA00002020202020202020202020202020202F5
+:103BB00002020202020202020202020202020202E5
+:103BC00002020202020202020202020202020202D5
+:103BD00002020202020202020000000000020002D1
+:103BE00002020202000200000000000101010101C6
+:103BF00000000000010100010101010101010101BA
+:103C0000010101010101010201000201020202029F
+:103C10000202020202020202020202020202020284
+:103C20000202020202020202020202020202020274
+:103C30000202020202020202020202020202020264
+:103C40000202020202020202020202020202020254
+:103C50000202020202020202020202020202020244
+:103C60000202020202020202020202020202020234
+:103C70000202020202020202020202020202020224
+:103C80000202020202020202020202020202020214
+:103C90000202020202020202020202020202020204
+:103CA00002020202020202020202020202020202F4
+:103CB00002020202020202020202020202020202E4
+:103CC00002020202020202020202020202020202D4
+:103CD00002020202020202020000000000020002D0
+:103CE00002020202020200000000000001010100C5
+:103CF00001000001010100010101010101010101B7
+:103D000001010101010101020100010101020202A0
+:103D10000202020202020202020102020202020284
+:103D20000202020202020202020002020202020275
+:103D30000202020202020202020202020202020263
+:103D40000202020202020202020202020202020253
+:103D50000202020202020202020202020202020243
+:103D60000202020202020202020202020202020233
+:103D70000202020202020202020202020202020223
+:103D80000202020202020202020202020202020213
+:103D90000202020202020202020202020202020203
+:103DA00002020202020202020202020202020202F3
+:103DB00002020202020202020202020202020202E3
+:103DC00002020202020202020202020202020202D3
+:103DD00002020202020202020000020200020002CB
+:103DE00002020202020200000000000000000000C7
+:103DF00001010001010100010101010101010101B5
+:103E000001010101010101010100010101020102A1
+:103E1000010101020202020101010101010102018D
+:103E20000202020202020201010001010202020278
+:103E30000202020202020202020202020202020262
+:103E40000202020202020202020002020202020254
+:103E50000202020202020202020202020202020242
+:103E60000202020202020202020202020202020232
+:103E70000202020202020202020202020202020222
+:103E80000202020202020202020202020202020212
+:103E90000202020202020202020202020202020202
+:103EA00002020202020202020202020202020202F2
+:103EB00002020202020202020202020202020202E2
+:103EC00002020202020202020202020202020202D2
+:103ED00002020202020202020200020200020002C8
+:103EE00002000202020200000000000000000000C8
+:103EF00001010101010100010101010101010101B3
+:103F000001010101010101010101010101010101A1
+:103F10000101010101010101010101010101010191
+:103F20000101010101000101010001010101020182
+:103F30000202020202020201010101010202020266
+:103F40000202020202020202000002020202020255
+:103F50000202020202020201010102020202020244
+:103F60000202020202020202020202020202020231
+:103F70000202020202020202020202020202020221
+:103F80000202020202020202020202020202020211
+:103F90000202020202020202020202020202020201
+:103FA00002020202020202020202020202020202F1
+:103FB00002020202020202020202020202020202E1
+:103FC00002020202020202020202020202020202D1
+:103FD00002020202020202020202020202020202C1
+:103FE00002000202020200000000000001010100C4
+:103FF00001010101010100010101010101010101B2
+:1040000001010101010101010101010101010101A0
+:104010000101010101010101010101010101010190
+:104020000101010101010101010101010101010180
+:10403000010101010101010101010101010101026F
+:104040000101010202020201000002010202020259
+:104050000202020202020201010101010101010149
+:104060000202020202020202020202020202020230
+:104070000202020202020202020202020202020220
+:104080000202020202020202020202020202020210
+:104090000202020202020202020202020202020200
+:1040A00002020202020202020202020202020202F0
+:1040B00002020202020202020202020202020202E0
+:1040C00002020202020202020202020202020202D0
+:1040D00002020202020202020202020202020202C0
+:1040E00002020202020200000000010001010101BF
+:1040F00001010101010101010101010101010101B0
+:10410000010101010101010101010101010101019F
+:10411000010101010101010101010101010101018F
+:10412000010101010101010101010101010101017F
+:10413000010101010101010101010101010101016F
+:104140000101010101010101000001010101010161
+:10415000010101020202020101010101010101014B
+:104160000101010101010102020202020202020236
+:10417000020202020202020202020202020202021F
+:10418000020202020202020202020202020202020F
+:1041900002020202020202020202020202020202FF
+:1041A00002020202020202020202020202020202EF
+:1041B00002020202020202020202020202020202DF
+:1041C00002020202020202020202020202020202CF
+:1041D00002020202020202020202020202020202BF
+:1041E00002020202020200000000010101010101BD
+:1041F00001010101010101010101010101010101AF
+:10420000010101010101010101010101010101019E
+:10421000010101010101010101010101010101018E
+:10422000010101010101010101010101010101017E
+:10423000010101010101010101010101010101016E
+:10424000010101010101010101010101010101015E
+:10425000010101010101010101010101010101014E
+:10426000010101010101010101010101010102023C
+:10427000020202020202020202020202020202021E
+:104280000202020202020202020002020202020210
+:1042900002020202020202020202020202020202FE
+:1042A00002020202020202020202020202020202EE
+:1042B00002020202020202020202020202020202DE
+:1042C00002020202020202020202020202020202CE
+:1042D00002020202020202020202020202020202BE
+:1042E00002020202020200000101010101010101BA
+:1042F00001010101010101010101010101010101AE
+:10430000010101010101010101010101010101019D
+:10431000010101010101010101010101010101018D
+:10432000010101010101010101010101010101017D
+:10433000010101010101010101010101010101016D
+:10434000010101010101010101010101010101015D
+:10435000010101010101010101010101010101014D
+:10436000010101010101010101010101010101013D
+:104370000101010101010100020202000202020228
+:10438000020202020202020202000202020202020F
+:1043900002020202020202020202020202020202FD
+:1043A00002020202020202000102020102020202F1
+:1043B00002020202020202020202020202020202DD
+:1043C00002020202020202020202020202020202CD
+:1043D00002020202020202020202020202020202BD
+:1043E00002020202020202010101010101010101B6
+:1043F00001010101010101010101010101010101AD
+:10440000010101010101010101010101010101019C
+:10441000010101010101010101010101010101018C
+:10442000010101010101010101010101010101017C
+:10443000010101010101010101010101010101016C
+:10444000010101010101010101010101010101015C
+:10445000010101010101010101010101010101014C
+:10446000010101010101010101010101010101013C
+:10447000010101010101010001010100020202022A
+:10448000020202020202020202000202010202020F
+:1044900002020202020202020202020202020202FC
+:1044A00002020202020202000201010202020202F0
+:1044B00002020202020202020101000101020202E2
+:1044C00002020202020202020101020102020202CF
+:1044D00002020202020202020202020202020202BC
+:1044E00002020202020202010101010101010101B5
+:1044F00001010101010101010101010101010101AC
+:10450000010101010101010101010101010101019B
+:10451000010101010101010101010101010101018B
+:10452000010101010101010101010101010101017B
+:10453000010101010101010101010101010101016B
+:10454000010101010101010101010101010101015B
+:10455000010101010101010101010101010101014B
+:10456000010101010101010101010101010101013B
+:10457000010101010101010101010101010101012B
+:104580000101010101010101010001010201020219
+:1045900002020202020202020202010202020202FC
+:1045A00002020202020202010101010101010101F4
+:1045B00001010101010101020202000202020202E4
+:1045C00002020202020202020202020202020202CB
+:1045D00002020202020202020202020202020202BB
+:1045E00002020202020202010101010101010101B4
+:1045F00001010101010101010101010101010101AB
+:10460000010101010101010101010101010101019A
+:10461000010101010101010101010101010101018A
+:10462000010101010101010101010101010101017A
+:10463000010101010101010101010101010101016A
+:10464000010101010101010101010101010101015A
+:10465000010101010101010101010101010101014A
+:10466000010101010101010101010101010101013A
+:10467000010101010101010101010101010101012A
+:10468000010101010101010101010101010101011A
+:104690000101010101010101010102020202020204
+:1046A00002020202020202010101010101010101F3
+:1046B00001010101010101010101010101010101EA
+:1046C00001010101010101000000000000000000E3
+:1046D00000000000000200020202020202020202C6
+:1046E00002020202020202010101010101010101B3
+:1046F00001010101010101010101010101010101AA
+:104700000101010101010101010101010101010199
+:104710000101010101010101010101010101010189
+:104720000101010101010101010101010101010179
+:104730000101010101010101010101010101010169
+:104740000101010101010101010101010101010159
+:104750000101010101010101010101010101010149
+:104760000101010101010101010101010101010139
+:104770000101010101010101010101010101010129
+:104780000101010101010101010101010101010119
+:104790000101010101010101010101010101010109
+:1047A00001010101010101010101010101010101F9
+:1047B00001010101010101010101010101010101E9
+:1047C00001010101010101010101010101010101D9
+:1047D00001010101010101020101020202020202C2
+:1047E00002020202020202010101010101010101B2
+:1047F00001010101010101010101010101010101A9
+:104800000101010101010101010101010101010198
+:104810000101010101010101010101010101010188
+:104820000101010101010101010101010101010178
+:104830000101010101010101010101010101010168
+:104840000101010101010101010101010101010158
+:104850000101010101010101010101010101010148
+:104860000101010101010101010101010101010138
+:104870000101010101010101010101010101010128
+:104880000101010101010101010101010101010118
+:104890000101010101010101010101010101010108
+:1048A00001010101010101010101010101010101F8
+:1048B00001010101010101010101010101010101E8
+:1048C00001010101010101010101010101010101D8
+:1048D00001010101010101000000000000000000D1
+:1048E00000000000000000010101010101010101BF
+:1048F00001010101010101010101010101010101A8
+:104900000101010101010101010101010101010197
+:104910000101010101010101010101010101010187
+:104920000101010101010101010101010101010177
+:104930000101010101010101010101010101010167
+:104940000101010101010101010101010101010157
+:104950000101010101010101010101010101010147
+:104960000101010101010101010101010101010137
+:104970000101010101010101010101010101010127
+:104980000101010101010101010101010101010117
+:104990000101010101010101010101010101010107
+:1049A00001010101010101010101010101010101F7
+:1049B00001010101010101010101010101010101E7
+:1049C00001010101010101010101010101010101D7
+:1049D00001010101010101000000000000000000D0
+:1049E00000000000000000010101010101010101BE
+:1049F00001010101010101010101010101010101A7
+:104A00000101010101010101010101010101010196
+:104A10000101010101010101010101010101010186
+:104A20000101010101010101010101010101010176
+:104A30000101010101010101010101010101010166
+:104A40000101010101010101010101010101010156
+:104A50000101010101010101010101010101010146
+:104A60000101010101010101010101010101010136
+:104A70000101010101010101010101010101010126
+:104A80000101010101010101010101010101010116
+:104A90000101010101010101010101010101010106
+:104AA00001010101010101000000000000000000FF
+:104AB00000000000000000000000000000000000F6
+:104AC00000000000000000020202020202020202D4
+:104AD00002020202020202000000000000000000C8
+:104AE00000000000000000010101010101010101BD
+:104AF00001010101010101010101010101010101A6
+:104B00000101010101010101010101010101010195
+:104B1000010101010101010000000000000000008E
+:104B2000000000000000000101010101010101017C
+:104B30000101010101010101010101010101010165
+:104B4000010101010101010000000000000000005E
+:104B5000000000000000000101010101010101014C
+:104B60000101010101010101010101010101010135
+:104B7000010101010101010000000000000000002E
+:104B8000000000000000000101010101010101011C
+:104B90000101010101010101010101010101010105
+:104BA00001010101010101000000000000000000FE
+:104BB00000000000000000020202020202020202E3
+:104BC00002020202020202020202020202020202C5
+:104BD00002020202020202000000000000000000C7
+:104BE00000000000000000010101010101010101BC
+:104BF00001010101010101010101010101010101A5
+:104C00000101010101010101010101010101010194
+:104C1000010101010101010000000000000000008D
+:104C2000000000000000000101010101010101017B
+:104C3000010101010101010000000000000000006D
+:104C40000000000000000000000000000000000064
+:104C5000000000000000000101010101010101014B
+:104C60000101010101010101010101010101010134
+:104C7000010101010101010000000000000000002D
+:104C8000000000000000000101010101010101011B
+:104C90000101010101010101010101010101010104
+:104CA00001010101010101020202020202020202EB
+:104CB00002020202020202020202020202020202D4
+:104CC00002020202020202000000000000000000D6
+:104CD00000000000000000000000000000000000D4
+:104CE00000000000000000010101010101010101BB
+:104CF00001010101010101000000000000000000AD
+:104D000000000000000000000000000000000000A3
+:104D10000000000000000000000000000000000093
+:104D20000000000000000002020202020202020271
+:104D30000202020202020202020202020202020253
+:104D40000202020202020202020202020202020243
+:104D50000202020202020202020202020202020233
+:104D60000202020202020202020202020202020223
+:104D70000202020202020202020202020202020213
+:104D80000202020202020202020202020202020203
+:104D900002020202020202020202020202020202F3
+:104DA00002020202020202020202020202020202E3
+:104DB00002020202020202000000000000000000E5
+:104DC00000000000000000000000000000000000E3
+:104DD00000000000000000000000000000000000D3
+:104DE00000000000000000010101010101010101BA
+:104DF00001010101010101000000000000000000AC
+:104E000000000000000000000000000000000000A2
+:104E10000000000000000000000000000000000092
+:104E20000000000000000000000000000000000082
+:104E30000000000000000000000000000000000072
+:104E40000000000000000000000000000000000062
+:104E50000000000000000002020202020202020240
+:104E60000202020202020202020202020202020222
+:104E70000202020202020200000000000000000024
+:104E80000000000000000002020202020202020210
+:104E900002020202020202020202020202020202F2
+:104EA00002020202020202000000000000000000F4
+:104EB00000000000000000000000000000000000F2
+:104EC00000000000000000000000000000000000E2
+:104ED00000000000000000000000000000000000D2
+:104EE00000000000000000000000000000000000C2
+:104EF00000000000000000000000000000000000B2
+:104F000000000000000000000000000000000000A1
+:104F10000000000000000000000000000000000091
+:104F20000000000000000000000000000000000081
+:104F30000000000000000000000000000000000071
+:104F40000000000000000000000000000000000061
+:104F50000000000000000000000000000000000051
+:104F60000000000000000000000000000000000041
+:104F70000000000000000000000000000000000031
+:104F80000000000000000000000000000000000021
+:104F90000000000000000000000000000000000011
+:104FA0000000000000000000000000000000000001
+:104FB00000000000000000000000000000000000F1
+:104FC00000000000000000000000000000000000E1
+:104FD00000000000000000000000000000000000D1
+:104FE0000000000000000018500E0000000000202B
+:104FF000660E0000000000287A0E0000000000305D
+:105000008C0E0000000000389E0E000000000040E2
+:10501000AD0E000000000048B90E00000000005076
+:10502000C30E000000000058CD0E0000000000601C
+:10503000D70E000000000068E10E000000000070C4
+:10504000EB0E000000000078F50E0000000000806C
+:10505000FF0E00000000001600000000000000002D
+:10506000000000000000000000000000000001003F
+:105070000000000000000000000000000000000030
+:105080000000000000000000000000000000000020
+:105090000000000000000000000000000000000010
+:1050A0000000000000000000000000000000000000
+:1050B00000000000000000000000000000000000F0
+:1050C00000000000000000000000000000000000E0
+:1050D00000000000000000000000000000000000D0
+:1050E00000000000000000000000000000000000C0
+:1050F00000000000000000000000000000000000B0
+:10510000000000000000000000000000000000009F
+:10511000000000000000000000000000000000008F
+:10512000000000000000000000000000000000007F
+:10513000000000000000000000000000000000006F
+:10514000000000000000000000000000000000025D
+:10515000000000000000000000000000000000004F
+:10516000000000000000000000000000000001003E
+:10517000000000000000000000000000000000002F
+:10518000000000000000000000000000000000001F
+:10519000000000000000000000000000000000000F
+:1051A00000000000000000000000000000000000FF
+:1051B00000000000000000000000000000000000EF
+:1051C00000000000000000000000000000000000DF
+:1051D00000000000000000000000000000000000CF
+:1051E00000000000000000000000000000000000BF
+:1051F00000000000000000000000000000000000AF
+:10520000000000000000000000000000000000009E
+:10521000000000000000000000000000000000008E
+:10522000000000000000000000000000000000007E
+:10523000000000000000000000000000000000006E
+:10524000000000000000000000000000000000025C
+:10525000000000000000000000000000000000004E
+:10526000000000000000000000000000000001003D
+:10527000000000000000000000000000000000002E
+:10528000000000000000000000000000000000001E
+:10529000000000000000000000000000000000000E
+:1052A00000000000000000000000000000000000FE
+:1052B00000000000000000000000000000000000EE
+:1052C00000000000000000000000000000000000DE
+:1052D00000000000000000000000000000000000CE
+:1052E00000000000000000000000000000000000BE
+:1052F00000000000000000000000000000000000AE
+:10530000000000000000000000000000000000009D
+:10531000000000000000000000000000000000008D
+:10532000000000000000000000000000000000007D
+:10533000000000000000000000000000000000006D
+:10534000000000000000000000000000000000025B
+:10535000000000000000000000000000000000004D
+:10536000000000000000000000000000000001003C
+:10537000000000000000000000000000000000002D
+:10538000000000000000000000000000000000001D
+:10539000000000000000000000000000000000000D
+:1053A00000000000000000000000000000000000FD
+:1053B00000000000000000000000000000000000ED
+:1053C00000000000000000000000000000000000DD
+:1053D00000000000000000000000000000000000CD
+:1053E00000000000000000000000000000000000BD
+:1053F00000000000000000000000000000000000AD
+:10540000000000000000000000000000000000009C
+:10541000000000000000000000000000000000008C
+:10542000000000000000000000000000000000007C
+:10543000000000000000000000000000000000006C
+:10544000000000000000000000000000000000025A
+:10545000000000000000000000000000000000004C
+:10546000000000000000000000000000000001003B
+:10547000000000000000000000000000000000002C
+:10548000000000000000000000000000000000001C
+:10549000000000000000000000000000000000000C
+:1054A00000000000000000000000000000000000FC
+:1054B00000000000000000000000000000000000EC
+:1054C00000000000000000000000000000000000DC
+:1054D00000000000000000000000000000000000CC
+:1054E00000000000000000000000000000000000BC
+:1054F00000000000000000000000000000000000AC
+:10550000000000000000000000000000000000009B
+:10551000000000000000000000000000000000008B
+:10552000000000000000000000000000000000007B
+:10553000000000000000000000000000000000006B
+:105540000000000000000000000000000000000259
+:10555000000000000000000000000000000000004B
+:10556000000000000000000000000000000001003A
+:10557000000000000000000000000000000000002B
+:10558000000000000000000000000000000000001B
+:10559000000000000000000000000000000000000B
+:1055A00000000000000000000000000000000000FB
+:1055B00000000000000000000000000000000000EB
+:1055C00000000000000000000000000000000000DB
+:1055D00000000000000000000000000000000000CB
+:1055E00000000000000000000000000000000000BB
+:1055F00000000000000000000000000000000000AB
+:10560000000000000000000000000000000000009A
+:10561000000000000000000000000000000000008A
+:10562000000000000000000000000000000000007A
+:10563000000000000000000000000000000000006A
+:105640000000000000000000000000000000000258
+:10565000000000000000000000000000000000004A
+:105660000000000000000000000000000000010039
+:10567000000000000000000000000000000000002A
+:10568000000000000000000000000000000000001A
+:10569000000000000000000000000000000000000A
+:1056A00000000000000000000000000000000000FA
+:1056B00000000000000000000000000000000000EA
+:1056C00000000000000000000000000000000000DA
+:1056D00000000000000000000000000000000000CA
+:1056E00000000000000000000000000000000000BA
+:1056F00000000000000000000000000000000000AA
+:105700000000000000000000000000000000000099
+:105710000000000000000000000000000000000089
+:105720000000000000000000000000000000000079
+:105730000000000000000000000000000000000069
+:105740000000000000000000000000000000000257
+:105750000000000000000000000000000000000049
+:105760000000000000000000000000000000010038
+:105770000000000000000000000000000000000029
+:105780000000000000000000000000000000000019
+:105790000000000000000000000000000000000009
+:1057A00000000000000000000000000000000000F9
+:1057B00000000000000000000000000000000000E9
+:1057C00000000000000000000000000000000000D9
+:1057D00000000000000000000000000000000000C9
+:1057E00000000000000000000000000000000000B9
+:1057F00000000000000000000000000000000000A9
+:105800000000000000000000000000000000000098
+:105810000000000000000000000000000000000088
+:105820000000000000000000000000000000000078
+:105830000000000000000000000000000000000068
+:105840000000000000000000000000000000000256
+:105850000000000000000000000000000000000048
+:105860000000000000000000000000000000010037
+:105870000000000000000000000000000000000028
+:105880000000000000000000000000000000000018
+:105890000000000000000000000000000000000008
+:1058A00000000000000000000000000000000000F8
+:1058B00000000000000000000000000000000000E8
+:1058C00000000000000000000000000000000000D8
+:1058D00000000000000000000000000000000000C8
+:1058E00000000000000000000000000000000000B8
+:1058F00000000000000000000000000000000000A8
+:105900000000000000000000000000000000000097
+:105910000000000000000000000000000000000087
+:105920000000000000000000000000000000000077
+:105930000000000000000000000000000000000067
+:105940000000000000000000000000000000000255
+:105950000000000000000000000000000000000047
+:105960000000000000000000000000000000010036
+:105970000000000000000000000000000000000027
+:105980000000000000000000000000000000000017
+:105990000000000000000000000000000000000007
+:1059A00000000000000000000000000000000000F7
+:1059B00000000000000000000000000000000000E7
+:1059C00000000000000000000000000000000000D7
+:1059D00000000000000000000000000000000000C7
+:1059E00000000000000000000000000000000000B7
+:1059F00000000000000000000000000000000000A7
+:105A00000000000000000000000000000000000096
+:105A10000000000000000000000000000000000086
+:105A20000000000000000000000000000000000076
+:105A30000000000000000000000000000000000066
+:105A40000000000000000000000000000000000254
+:105A50000000000000000000000000000000000046
+:105A60000000000000000000000000000000010035
+:105A70000000000000000000000000000000000026
+:105A80000000000000000000000000000000000016
+:105A90000000000000000000000000000000000006
+:105AA00000000000000000000000000000000000F6
+:105AB00000000000000000000000000000000000E6
+:105AC00000000000000000000000000000000000D6
+:105AD00000000000000000000000000000000000C6
+:105AE00000000000000000000000000000000000B6
+:105AF00000000000000000000000000000000000A6
+:105B00000000000000000000000000000000000095
+:105B10000000000000000000000000000000000085
+:105B20000000000000000000000000000000000075
+:105B30000000000000000000000000000000000065
+:105B40000000000000000000000000000000000253
+:105B50000000000000000000000000000000000045
+:105B60000000000000000000000000000000010034
+:105B70000000000000000000000000000000000025
+:105B80000000000000000000000000000000000015
+:105B90000000000000000000000000000000000005
+:105BA00000000000000000000000000000000000F5
+:105BB00000000000000000000000000000000000E5
+:105BC00000000000000000000000000000000000D5
+:105BD00000000000000000000000000000000000C5
+:105BE00000000000000000000000000000000000B5
+:105BF00000000000000000000000000000000000A5
+:105C00000000000000000000000000000000000094
+:105C10000000000000000000000000000000000084
+:105C20000000000000000000000000000000000074
+:105C30000000000000000000000000000000000064
+:105C40000000000000000000000000000000000252
+:105C50000000000000000000000000000000000044
+:105C60000000000000000000000000000000010033
+:105C70000000000000000000000000000000000024
+:105C80000000000000000000000000000000000014
+:105C90000000000000000000000000000000000004
+:105CA00000000000000000000000000000000000F4
+:105CB00000000000000000000000000000000000E4
+:105CC00000000000000000000000000000000000D4
+:105CD00000000000000000000000000000000000C4
+:105CE00000000000000000000000000000000000B4
+:105CF00000000000000000000000000000000000A4
+:105D00000000000000000000000000000000000093
+:105D10000000000000000000000000000000000083
+:105D20000000000000000000000000000000000073
+:105D30000000000000000000000000000000000063
+:105D40000000000000000000000000000000000251
+:105D50000000000000000000000000000000000043
+:105D60000000000000000000000000000000010032
+:105D70000000000000000000000000000000000023
+:105D80000000000000000000000000000000000013
+:105D90000000000000000000000000000000000003
+:105DA00000000000000000000000000000000000F3
+:105DB00000000000000000000000000000000000E3
+:105DC00000000000000000000000000000000000D3
+:105DD00000000000000000000000000000000000C3
+:105DE00000000000000000000000000000000000B3
+:105DF00000000000000000000000000000000000A3
+:105E00000000000000000000000000000000000092
+:105E10000000000000000000000000000000000082
+:105E20000000000000000000000000000000000072
+:105E30000000000000000000000000000000000062
+:105E40000000000000000000000000000000000250
+:105E50000000000000000000000000000000000042
+:105E60000000000000000000000000000000010031
+:105E70000000000000000000000000000000000022
+:105E80000000000000000000000000000000000012
+:105E90000000000000000000000000000000000002
+:105EA00000000000000000000000000000000000F2
+:105EB00000000000000000000000000000000000E2
+:105EC00000000000000000000000000000000000D2
+:105ED00000000000000000000000000000000000C2
+:105EE00000000000000000000000000000000000B2
+:105EF00000000000000000000000000000000000A2
+:105F00000000000000000000000000000000000091
+:105F10000000000000000000000000000000000081
+:105F20000000000000000000000000000000000071
+:105F30000000000000000000000000000000000061
+:105F4000000000000000000000000000000000024F
+:105F50000000000000000000000000000000000041
+:105F60000000000000000000000000000000010030
+:105F70000000000000000000000000000000000021
+:105F80000000000000000000000000000000000011
+:105F90000000000000000000000000000000000001
+:105FA00000000000000000000000000000000000F1
+:105FB00000000000000000000000000000000000E1
+:105FC00000000000000000000000000000000000D1
+:105FD00000000000000000000000000000000000C1
+:105FE00000000000000000000000000000000000B1
+:105FF00000000000000000000000000000000000A1
+:106000000000000000000000000000000000000090
+:106010000000000000000000000000000000000080
+:106020000000000000000000000000000000000070
+:106030000000000000000000000000000000000060
+:10604000000000000000000000000000000000024E
+:106050000000000000000000000000000000000040
+:10606000000000000000000000000000000001002F
+:106070000000000000000000000000000000000020
+:106080000000000000000000000000000000000010
+:106090000000000000000000000000000000000000
+:1060A00000000000000000000000000000000000F0
+:1060B00000000000000000000000000000000000E0
+:1060C00000000000000000000000000000000000D0
+:1060D00000000000000000000000000000000000C0
+:1060E00000000000000000000000000000000000B0
+:1060F00000000000000000000000000000000000A0
+:10610000000000000000000000000000000000008F
+:10611000000000000000000000000000000000007F
+:10612000000000000000000000000000000000006F
+:10613000000000000000000000000000000000005F
+:10614000000000000000000000000000000000024D
+:10615000000000000000000000000000000000003F
+:10616000000000000000000000000000000001002E
+:10617000000000000000000000000000000000001F
+:10618000000000000000000000000000000000000F
+:1061900000000000000000000000000000000000FF
+:1061A00000000000000000000000000000000000EF
+:1061B00000000000000000000000000000000000DF
+:1061C00000000000000000000000000000000000CF
+:1061D00000000000000000000000000000000000BF
+:1061E00000000000000000000000000000000000AF
+:1061F000000000000000000000000000000000009F
+:10620000000000000000000000000000000000008E
+:10621000000000000000000000000000000000007E
+:10622000000000000000000000000000000000006E
+:10623000000000000000000000000000000000005E
+:10624000000000000000000000000000000000024C
+:10625000000000000000000000000000000000003E
+:10626000000000000000000000000000000001002D
+:10627000000000000000000000000000000000001E
+:10628000000000000000000000000000000000000E
+:1062900000000000000000000000000000000000FE
+:1062A00000000000000000000000000000000000EE
+:1062B00000000000000000000000000000000000DE
+:1062C00000000000000000000000000000000000CE
+:1062D00000000000000000000000000000000000BE
+:1062E00000000000000000000000000000000000AE
+:1062F000000000000000000000000000000000009E
+:10630000000000000000000000000000000000008D
+:10631000000000000000000000000000000000007D
+:10632000000000000000000000000000000000006D
+:10633000000000000000000000000000000000005D
+:10634000000000000000000000000000000000024B
+:10635000000000000000000000000000000000003D
+:10636000000000000000000000000000000001002C
+:10637000000000000000000000000000000000001D
+:10638000000000000000000000000000000000000D
+:1063900000000000000000000000000000000000FD
+:1063A00000000000000000000000000000000000ED
+:1063B00000000000000000000000000000000000DD
+:1063C00000000000000000000000000000000000CD
+:1063D00000000000000000000000000000000000BD
+:1063E00000000000000000000000000000000000AD
+:1063F000000000000000000000000000000000009D
+:10640000000000000000000000000000000000008C
+:10641000000000000000000000000000000000007C
+:10642000000000000000000000000000000000006C
+:10643000000000000000000000000000000000005C
+:10644000000000000000000000000000000000024A
+:10645000000000000000000000000000000000003C
+:10646000000000000000000000000000000001002B
+:10647000000000000000000000000000000000001C
+:10648000000000000000000000000000000000000C
+:1064900000000000000000000000000000000000FC
+:1064A00000000000000000000000000000000000EC
+:1064B00000000000000000000000000000000000DC
+:1064C00000000000000000000000000000000000CC
+:1064D00000000000000000000000000000000000BC
+:1064E00000000000000000000000000000000000AC
+:1064F000000000000000000000000000000000009C
+:10650000000000000000000000000000000000008B
+:10651000000000000000000000000000000000007B
+:10652000000000000000000000000000000000006B
+:10653000000000000000000000000000000000005B
+:106540000000000000000000000000000000000249
+:10655000000000000000000000000000000000003B
+:10656000000000000000000000000000000000002B
+:10657000000000000000000000000000000000001B
+:10658000000000000000000000000000000000000B
+:1065900000000000000000000000000000000000FB
+:1065A00000000000000000000000000000000000EB
+:1065B00000000000000000000000000000000000DB
+:1065C00000000000000000000000000000000000CB
+:1065D00000000000000000000000000000000000BB
+:1065E00000000000000000000000000000000000AB
+:1065F000000000000000000000000000000000009B
+:10660000000000000000000000000000000000008A
+:10661000000000000000000000000000000000007A
+:10662000000000000000000000000000000000006A
+:10663000000000000000000000000000000000005A
+:10664000000000000000000000000000000000004A
+:106650000000000000000000000000000000001426
+:10666000000000000000000000000000000000002A
+:106670000000000000000100000000000000000019
+:10668000000000000000000000000000000000000A
+:1066900000000000000000000000000000000000FA
+:1066A00000000000000000000000000000000000EA
+:1066B00000000000000000000000000000000000DA
+:1066C00000000000000000000000000000000000CA
+:1066D00000000000000000000000000000000000BA
+:1066E00000000000000000000000000000000000AA
+:1066F000000000000000000000000000000000009A
+:106700000000000000000000000000000000000089
+:106710000000000000000000000000000000000079
+:106720000000000000000000000000000000000069
+:106730000000000000000000000000000000000059
+:106740000000000000000000000000000000000049
+:106750000000000000000002000000000000000037
+:106760000000000000000000000000000000000029
+:106770000000000000000100000000000000000018
+:106780000000000000000000000000000000000009
+:1067900000000000000000000000000000000000F9
+:1067A00000000000000000000000000000000000E9
+:1067B00000000000000000000000000000000000D9
+:1067C00000000000000000000000000000000000C9
+:1067D00000000000000000000000000000000000B9
+:1067E00000000000000000000000000000000000A9
+:1067F0000000000000000000000000000000000099
+:106800000000000000000000000000000000000088
+:106810000000000000000000000000000000000078
+:106820000000000000000000000000000000000068
+:106830000000000000000000000000000000000058
+:106840000000000000000000000000000000000048
+:106850000000000000000002000000000000000036
+:106860000000000000000000000000000000000028
+:106870000000000000000100000000000000000017
+:106880000000000000000000000000000000000008
+:1068900000000000000000000000000000000000F8
+:1068A00000000000000000000000000000000000E8
+:1068B00000000000000000000000000000000000D8
+:1068C00000000000000000000000000000000000C8
+:1068D00000000000000000000000000000000000B8
+:1068E00000000000000000000000000000000000A8
+:1068F0000000000000000000000000000000000098
+:106900000000000000000000000000000000000087
+:106910000000000000000000000000000000000077
+:106920000000000000000000000000000000000067
+:106930000000000000000000000000000000000057
+:106940000000000000000000000000000000000047
+:106950000000000000000002000000000000000035
+:106960000000000000000000000000000000000027
+:106970000000000000000100000000000000000016
+:106980000000000000000000000000000000000007
+:1069900000000000000000000000000000000000F7
+:1069A00000000000000000000000000000000000E7
+:1069B00000000000000000000000000000000000D7
+:1069C00000000000000000000000000000000000C7
+:1069D00000000000000000000000000000000000B7
+:1069E00000000000000000000000000000000000A7
+:1069F0000000000000000000000000000000000097
+:106A00000000000000000000000000000000000086
+:106A10000000000000000000000000000000000076
+:106A20000000000000000000000000000000000066
+:106A30000000000000000000000000000000000056
+:106A40000000000000000000000000000000000046
+:106A50000000000000000002000000000000000034
+:106A60000000000000000000000000000000000026
+:106A70000000000000000100000000000000000015
+:106A80000000000000000000000000000000000006
+:106A900000000000000000000000000000000000F6
+:106AA00000000000000000000000000000000000E6
+:106AB00000000000000000000000000000000000D6
+:106AC00000000000000000000000000000000000C6
+:106AD00000000000000000000000000000000000B6
+:106AE00000000000000000000000000000000000A6
+:106AF0000000000000000000000000000000000096
+:106B00000000000000000000000000000000000085
+:106B10000000000000000000000000000000000075
+:106B20000000000000000000000000000000000065
+:106B30000000000000000000000000000000000055
+:106B40000000000000000000000000000000000045
+:106B50000000000000000002000000000000000033
+:106B60000000000000000000000000000000000025
+:106B70000000000000000100000000000000000014
+:106B80000000000000000000000000000000000005
+:106B900000000000000000000000000000000000F5
+:106BA00000000000000000000000000000000000E5
+:106BB00000000000000000000000000000000000D5
+:106BC00000000000000000000000000000000000C5
+:106BD00000000000000000000000000000000000B5
+:106BE00000000000000000000000000000000000A5
+:106BF0000000000000000000000000000000000095
+:106C00000000000000000000000000000000000084
+:106C10000000000000000000000000000000000074
+:106C20000000000000000000000000000000000064
+:106C30000000000000000000000000000000000054
+:106C40000000000000000000000000000000000044
+:106C50000000000000000002000000000000000032
+:106C60000000000000000000000000000000000024
+:106C70000000000000000100000000000000000013
+:106C80000000000000000000000000000000000004
+:106C900000000000000000000000000000000000F4
+:106CA00000000000000000000000000000000000E4
+:106CB00000000000000000000000000000000000D4
+:106CC00000000000000000000000000000000000C4
+:106CD00000000000000000000000000000000000B4
+:106CE00000000000000000000000000000000000A4
+:106CF0000000000000000000000000000000000094
+:106D00000000000000000000000000000000000083
+:106D10000000000000000000000000000000000073
+:106D20000000000000000000000000000000000063
+:106D30000000000000000000000000000000000053
+:106D40000000000000000000000000000000000043
+:106D50000000000000000002000000000000000031
+:106D60000000000000000000000000000000000023
+:106D70000000000000000100000000000000000012
+:106D80000000000000000000000000000000000003
+:106D900000000000000000000000000000000000F3
+:106DA00000000000000000000000000000000000E3
+:106DB00000000000000000000000000000000000D3
+:106DC00000000000000000000000000000000000C3
+:106DD00000000000000000000000000000000000B3
+:106DE00000000000000000000000000000000000A3
+:106DF0000000000000000000000000000000000093
+:106E00000000000000000000000000000000000082
+:106E10000000000000000000000000000000000072
+:106E20000000000000000000000000000000000062
+:106E30000000000000000000000000000000000052
+:106E40000000000000000000000000000000000042
+:106E50000000000000000002000000000000000030
+:106E60000000000000000000000000000000000022
+:106E70000000000000000100000000000000000011
+:106E80000000000000000000000000000000000002
+:106E900000000000000000000000000000000000F2
+:106EA00000000000000000000000000000000000E2
+:106EB00000000000000000000000000000000000D2
+:106EC00000000000000000000000000000000000C2
+:106ED00000000000000000000000000000000000B2
+:106EE00000000000000000000000000000000000A2
+:106EF0000000000000000000000000000000000092
+:106F00000000000000000000000000000000000081
+:106F10000000000000000000000000000000000071
+:106F20000000000000000000000000000000000061
+:106F30000000000000000000000000000000000051
+:106F40000000000000000000000000000000000041
+:106F5000000000000000000200000000000000002F
+:106F60000000000000000000000000000000000021
+:106F70000000000000000100000000000000000010
+:106F80000000000000000000000000000000000001
+:106F900000000000000000000000000000000000F1
+:106FA00000000000000000000000000000000000E1
+:106FB00000000000000000000000000000000000D1
+:106FC00000000000000000000000000000000000C1
+:106FD00000000000000000000000000000000000B1
+:106FE00000000000000000000000000000000000A1
+:106FF0000000000000000000000000000000000091
+:107000000000000000000000000000000000000080
+:107010000000000000000000000000000000000070
+:107020000000000000000000000000000000000060
+:107030000000000000000000000000000000000050
+:107040000000000000000000000000000000000040
+:10705000000000000000000200000000000000002E
+:107060000000000000000000000000000000000020
+:10707000000000000000010000000000000000000F
+:107080000000000000000000000000000000000000
+:1070900000000000000000000000000000000000F0
+:1070A00000000000000000000000000000000000E0
+:1070B00000000000000000000000000000000000D0
+:1070C00000000000000000000000000000000000C0
+:1070D00000000000000000000000000000000000B0
+:1070E00000000000000000000000000000000000A0
+:1070F0000000000000000000000000000000000090
+:10710000000000000000000000000000000000007F
+:10711000000000000000000000000000000000006F
+:10712000000000000000000000000000000000005F
+:10713000000000000000000000000000000000004F
+:10714000000000000000000000000000000000003F
+:10715000000000000000000200000000000000002D
+:10716000000000000000000000000000000000001F
+:10717000000000000000010000000000000000000E
+:1071800000000000000000000000000000000000FF
+:1071900000000000000000000000000000000000EF
+:1071A00000000000000000000000000000000000DF
+:1071B00000000000000000000000000000000000CF
+:1071C00000000000000000000000000000000000BF
+:1071D00000000000000000000000000000000000AF
+:1071E000000000000000000000000000000000009F
+:1071F000000000000000000000000000000000008F
+:10720000000000000000000000000000000000007E
+:10721000000000000000000000000000000000006E
+:10722000000000000000000000000000000000005E
+:10723000000000000000000000000000000000004E
+:10724000000000000000000000000000000000003E
+:10725000000000000000000200000000000000002C
+:10726000000000000000000000000000000000001E
+:10727000000000000000010000000000000000000D
+:1072800000000000000000000000000000000000FE
+:1072900000000000000000000000000000000000EE
+:1072A00000000000000000000000000000000000DE
+:1072B00000000000000000000000000000000000CE
+:1072C00000000000000000000000000000000000BE
+:1072D00000000000000000000000000000000000AE
+:1072E000000000000000000000000000000000009E
+:1072F000000000000000000000000000000000008E
+:10730000000000000000000000000000000000007D
+:10731000000000000000000000000000000000006D
+:10732000000000000000000000000000000000005D
+:10733000000000000000000000000000000000004D
+:10734000000000000000000000000000000000003D
+:10735000000000000000000200000000000000002B
+:10736000000000000000000000000000000000001D
+:10737000000000000000010000000000000000000C
+:1073800000000000000000000000000000000000FD
+:1073900000000000000000000000000000000000ED
+:1073A00000000000000000000000000000000000DD
+:1073B00000000000000000000000000000000000CD
+:1073C00000000000000000000000000000000000BD
+:1073D00000000000000000000000000000000000AD
+:1073E000000000000000000000000000000000009D
+:1073F000000000000000000000000000000000008D
+:10740000000000000000000000000000000000007C
+:10741000000000000000000000000000000000006C
+:10742000000000000000000000000000000000005C
+:10743000000000000000000000000000000000004C
+:10744000000000000000000000000000000000003C
+:10745000000000000000000200000000000000002A
+:10746000000000000000000000000000000000001C
+:10747000000000000000010000000000000000000B
+:1074800000000000000000000000000000000000FC
+:1074900000000000000000000000000000000000EC
+:1074A00000000000000000000000000000000000DC
+:1074B00000000000000000000000000000000000CC
+:1074C00000000000000000000000000000000000BC
+:1074D00000000000000000000000000000000000AC
+:1074E000000000000000000000000000000000009C
+:1074F000000000000000000000000000000000008C
+:10750000000000000000000000000000000000007B
+:10751000000000000000000000000000000000006B
+:10752000000000000000000000000000000000005B
+:10753000000000000000000000000000000000004B
+:10754000000000000000000000000000000000003B
+:107550000000000000000002000000000000000029
+:10756000000000000000000000000000000000001B
+:10757000000000000000010000000000000000000A
+:1075800000000000000000000000000000000000FB
+:1075900000000000000000000000000000000000EB
+:1075A00000000000000000000000000000000000DB
+:1075B00000000000000000000000000000000000CB
+:1075C00000000000000000000000000000000000BB
+:1075D00000000000000000000000000000000000AB
+:1075E000000000000000000000000000000000009B
+:1075F000000000000000000000000000000000008B
+:10760000000000000000000000000000000000007A
+:10761000000000000000000000000000000000006A
+:10762000000000000000000000000000000000005A
+:10763000000000000000000000000000000000004A
+:10764000000000000000000000000000000000003A
+:107650000000000000000002000000000000000028
+:10766000000000000000000000000000000000001A
+:107670000000000000000100000000000000000009
+:1076800000000000000000000000000000000000FA
+:1076900000000000000000000000000000000000EA
+:1076A00000000000000000000000000000000000DA
+:1076B00000000000000000000000000000000000CA
+:1076C00000000000000000000000000000000000BA
+:1076D00000000000000000000000000000000000AA
+:1076E000000000000000000000000000000000009A
+:1076F000000000000000000000000000000000008A
+:107700000000000000000000000000000000000079
+:107710000000000000000000000000000000000069
+:107720000000000000000000000000000000000059
+:107730000000000000000000000000000000000049
+:107740000000000000000000000000000000000039
+:107750000000000000000002000000000000000027
+:107760000000000000000000000000000000000019
+:107770000000000000000100000000000000000008
+:1077800000000000000000000000000000000000F9
+:1077900000000000000000000000000000000000E9
+:1077A00000000000000000000000000000000000D9
+:1077B00000000000000000000000000000000000C9
+:1077C00000000000000000000000000000000000B9
+:1077D00000000000000000000000000000000000A9
+:1077E0000000000000000000000000000000000099
+:1077F0000000000000000000000000000000000089
+:107800000000000000000000000000000000000078
+:107810000000000000000000000000000000000068
+:107820000000000000000000000000000000000058
+:107830000000000000000000000000000000000048
+:107840000000000000000000000000000000000038
+:107850000000000000000002000000000000000026
+:107860000000000000000000000000000000000018
+:107870000000000000000100000000000000000007
+:1078800000000000000000000000000000000000F8
+:1078900000000000000000000000000000000000E8
+:1078A00000000000000000000000000000000000D8
+:1078B00000000000000000000000000000000000C8
+:1078C00000000000000000000000000000000000B8
+:1078D00000000000000000000000000000000000A8
+:1078E0000000000000000000000000000000000098
+:1078F0000000000000000000000000000000000088
+:107900000000000000000000000000000000000077
+:107910000000000000000000000000000000000067
+:107920000000000000000000000000000000000057
+:107930000000000000000000000000000000000047
+:107940000000000000000000000000000000000037
+:107950000000000000000002000000000000000025
+:107960000000000000000000000000000000000017
+:107970000000000000000000000000000000000007
+:1079800000000000000000000000000000000000F7
+:1079900000000000000000000000000000000000E7
+:1079A00000000000000000000000000000000000D7
+:1079B00000000000000000000000000000000000C7
+:1079C00000000000000000000000000000000000B7
+:1079D00000000000000000000000000000000000A7
+:1079E0000000000000000000000000000000000097
+:1079F0000000000000000000000000000000000087
+:107A00000000000000000000000000000000000076
+:107A10000000000000000000000000000000000066
+:107A20000000000000000000000000000000000056
+:107A30000000000000000000000000000000000046
+:107A40000000000000000000000000000000000036
+:107A50000000000000000000000000000000000026
+:107A60000000000000000012000000000000000004
+:107A70000000000000000000000000000000010005
+:107A800000000000000000000000000000000000F6
+:107A900000000000000000000000000000000000E6
+:107AA00000000000000000000000000000000000D6
+:107AB00000000000000000000000000000000000C6
+:107AC00000000000000000000000000000000000B6
+:107AD00000000000000000000000000000000000A6
+:107AE0000000000000000000000000000000000096
+:107AF0000000000000000000000000000000000086
+:107B00000000000000000000000000000000000075
+:107B10000000000000000000000000000000000065
+:107B20000000000000000000000000000000000055
+:107B30000000000000000000000000000000000045
+:107B40000000000000000000000000000000000035
+:107B50000000000000000000000000000000000223
+:107B60000000000000000000000000000000000015
+:107B70000000000000000000000000000000010004
+:107B800000000000000000000000000000000000F5
+:107B900000000000000000000000000000000000E5
+:107BA00000000000000000000000000000000000D5
+:107BB00000000000000000000000000000000000C5
+:107BC00000000000000000000000000000000000B5
+:107BD00000000000000000000000000000000000A5
+:107BE0000000000000000000000000000000000095
+:107BF0000000000000000000000000000000000085
+:107C00000000000000000000000000000000000074
+:107C10000000000000000000000000000000000064
+:107C20000000000000000000000000000000000054
+:107C30000000000000000000000000000000000044
+:107C40000000000000000000000000000000000034
+:107C50000000000000000000000000000000000222
+:107C60000000000000000000000000000000000014
+:107C70000000000000000000000000000000010003
+:107C800000000000000000000000000000000000F4
+:107C900000000000000000000000000000000000E4
+:107CA00000000000000000000000000000000000D4
+:107CB00000000000000000000000000000000000C4
+:107CC00000000000000000000000000000000000B4
+:107CD00000000000000000000000000000000000A4
+:107CE0000000000000000000000000000000000094
+:107CF0000000000000000000000000000000000084
+:107D00000000000000000000000000000000000073
+:107D10000000000000000000000000000000000063
+:107D20000000000000000000000000000000000053
+:107D30000000000000000000000000000000000043
+:107D40000000000000000000000000000000000033
+:107D50000000000000000000000000000000000221
+:107D60000000000000000000000000000000000013
+:107D70000000000000000000000000000000010002
+:107D800000000000000000000000000000000000F3
+:107D900000000000000000000000000000000000E3
+:107DA00000000000000000000000000000000000D3
+:107DB00000000000000000000000000000000000C3
+:107DC00000000000000000000000000000000000B3
+:107DD00000000000000000000000000000000000A3
+:107DE0000000000000000000000000000000000093
+:107DF0000000000000000000000000000000000083
+:107E00000000000000000000000000000000000072
+:107E10000000000000000000000000000000000062
+:107E20000000000000000000000000000000000052
+:107E30000000000000000000000000000000000042
+:107E40000000000000000000000000000000000032
+:107E50000000000000000000000000000000000220
+:107E60000000000000000000000000000000000012
+:107E70000000000000000000000000000000010001
+:107E800000000000000000000000000000000000F2
+:107E900000000000000000000000000000000000E2
+:107EA00000000000000000000000000000000000D2
+:107EB00000000000000000000000000000000000C2
+:107EC00000000000000000000000000000000000B2
+:107ED00000000000000000000000000000000000A2
+:107EE0000000000000000000000000000000000092
+:107EF0000000000000000000000000000000000082
+:107F00000000000000000000000000000000000071
+:107F10000000000000000000000000000000000061
+:107F20000000000000000000000000000000000051
+:107F30000000000000000000000000000000000041
+:107F40000000000000000000000000000000000031
+:107F5000000000000000000000000000000000021F
+:107F60000000000000000000000000000000000011
+:107F70000000000000000000000000000000010000
+:107F800000000000000000000000000000000000F1
+:107F900000000000000000000000000000000000E1
+:107FA00000000000000000000000000000000000D1
+:107FB00000000000000000000000000000000000C1
+:107FC00000000000000000000000000000000000B1
+:107FD00000000000000000000000000000000000A1
+:107FE0000000000000000000000000000000000091
+:107FF0000000000000000000000000000000000081
+:108000000000000000000000000000000000000070
+:108010000000000000000000000000000000000060
+:108020000000000000000000000000000000000050
+:108030000000000000000000000000000000000040
+:108040000000000000000000000000000000000030
+:10805000000000000000000000000000000000021E
+:108060000000000000000000000000000000000010
+:1080700000000000000000000000000000000100FF
+:1080800000000000000000000000000000000000F0
+:1080900000000000000000000000000000000000E0
+:1080A00000000000000000000000000000000000D0
+:1080B00000000000000000000000000000000000C0
+:1080C00000000000000000000000000000000000B0
+:1080D00000000000000000000000000000000000A0
+:1080E0000000000000000000000000000000000090
+:1080F0000000000000000000000000000000000080
+:10810000000000000000000000000000000000006F
+:10811000000000000000000000000000000000005F
+:10812000000000000000000000000000000000004F
+:10813000000000000000000000000000000000003F
+:10814000000000000000000000000000000000002F
+:10815000000000000000000000000000000000021D
+:10816000000000000000000000000000000000000F
+:1081700000000000000000000000000000000100FE
+:1081800000000000000000000000000000000000EF
+:1081900000000000000000000000000000000000DF
+:1081A00000000000000000000000000000000000CF
+:1081B00000000000000000000000000000000000BF
+:1081C00000000000000000000000000000000000AF
+:1081D000000000000000000000000000000000009F
+:1081E000000000000000000000000000000000008F
+:1081F000000000000000000000000000000000007F
+:10820000000000000000000000000000000000006E
+:10821000000000000000000000000000000000005E
+:10822000000000000000000000000000000000004E
+:10823000000000000000000000000000000000003E
+:10824000000000000000000000000000000000002E
+:10825000000000000000000000000000000000021C
+:10826000000000000000000000000000000000000E
+:1082700000000000000000000000000000000100FD
+:1082800000000000000000000000000000000000EE
+:1082900000000000000000000000000000000000DE
+:1082A00000000000000000000000000000000000CE
+:1082B00000000000000000000000000000000000BE
+:1082C00000000000000000000000000000000000AE
+:1082D000000000000000000000000000000000009E
+:1082E000000000000000000000000000000000008E
+:1082F000000000000000000000000000000000007E
+:10830000000000000000000000000000000000006D
+:10831000000000000000000000000000000000005D
+:10832000000000000000000000000000000000004D
+:10833000000000000000000000000000000000003D
+:10834000000000000000000000000000000000002D
+:10835000000000000000000000000000000000021B
+:10836000000000000000000000000000000000000D
+:1083700000000000000000000000000000000100FC
+:1083800000000000000000000000000000000000ED
+:1083900000000000000000000000000000000000DD
+:1083A00000000000000000000000000000000000CD
+:1083B00000000000000000000000000000000000BD
+:1083C00000000000000000000000000000000000AD
+:1083D000000000000000000000000000000000009D
+:1083E000000000000000000000000000000000008D
+:1083F000000000000000000000000000000000007D
+:10840000000000000000000000000000000000006C
+:10841000000000000000000000000000000000005C
+:10842000000000000000000000000000000000004C
+:10843000000000000000000000000000000000003C
+:10844000000000000000000000000000000000002C
+:10845000000000000000000000000000000000021A
+:10846000000000000000000000000000000000000C
+:1084700000000000000000000000000000000100FB
+:1084800000000000000000000000000000000000EC
+:1084900000000000000000000000000000000000DC
+:1084A00000000000000000000000000000000000CC
+:1084B00000000000000000000000000000000000BC
+:1084C00000000000000000000000000000000000AC
+:1084D000000000000000000000000000000000009C
+:1084E000000000000000000000000000000000008C
+:1084F000000000000000000000000000000000007C
+:10850000000000000000000000000000000000006B
+:10851000000000000000000000000000000000005B
+:10852000000000000000000000000000000000004B
+:10853000000000000000000000000000000000003B
+:10854000000000000000000000000000000000002B
+:108550000000000000000000000000000000000219
+:10856000000000000000000000000000000000000B
+:1085700000000000000000000000000000000100FA
+:1085800000000000000000000000000000000000EB
+:1085900000000000000000000000000000000000DB
+:1085A00000000000000000000000000000000000CB
+:1085B00000000000000000000000000000000000BB
+:1085C00000000000000000000000000000000000AB
+:1085D000000000000000000000000000000000009B
+:1085E000000000000000000000000000000000008B
+:1085F000000000000000000000000000000000007B
+:10860000000000000000000000000000000000006A
+:10861000000000000000000000000000000000005A
+:10862000000000000000000000000000000000004A
+:10863000000000000000000000000000000000003A
+:10864000000000000000000000000000000000002A
+:108650000000000000000000000000000000000218
+:10866000000000000000000000000000000000000A
+:1086700000000000000000000000000000000100F9
+:1086800000000000000000000000000000000000EA
+:1086900000000000000000000000000000000000DA
+:1086A00000000000000000000000000000000000CA
+:1086B00000000000000000000000000000000000BA
+:1086C00000000000000000000000000000000000AA
+:1086D000000000000000000000000000000000009A
+:1086E000000000000000000000000000000000008A
+:1086F000000000000000000000000000000000007A
+:108700000000000000000000000000000000000069
+:108710000000000000000000000000000000000059
+:108720000000000000000000000000000000000049
+:108730000000000000000000000000000000000039
+:108740000000000000000000000000000000000029
+:108750000000000000000000000000000000000217
+:108760000000000000000000000000000000000009
+:1087700000000000000000000000000000000100F8
+:1087800000000000000000000000000000000000E9
+:1087900000000000000000000000000000000000D9
+:1087A00000000000000000000000000000000000C9
+:1087B00000000000000000000000000000000000B9
+:1087C00000000000000000000000000000000000A9
+:1087D0000000000000000000000000000000000099
+:1087E0000000000000000000000000000000000089
+:1087F0000000000000000000000000000000000079
+:108800000000000000000000000000000000000068
+:108810000000000000000000000000000000000058
+:108820000000000000000000000000000000000048
+:108830000000000000000000000000000000000038
+:108840000000000000000000000000000000000028
+:108850000000000000000000000000000000000216
+:108860000000000000000000000000000000000008
+:1088700000000000000000000000000000000100F7
+:1088800000000000000000000000000000000000E8
+:1088900000000000000000000000000000000000D8
+:1088A00000000000000000000000000000000000C8
+:1088B00000000000000000000000000000000000B8
+:1088C00000000000000000000000000000000000A8
+:1088D0000000000000000000000000000000000098
+:1088E0000000000000000000000000000000000088
+:1088F0000000000000000000000000000000000078
+:108900000000000000000000000000000000000067
+:108910000000000000000000000000000000000057
+:108920000000000000000000000000000000000047
+:108930000000000000000000000000000000000037
+:108940000000000000000000000000000000000027
+:108950000000000000000000000000000000000215
+:108960000000000000000000000000000000000007
+:1089700000000000000000000000000000000100F6
+:1089800000000000000000000000000000000000E7
+:1089900000000000000000000000000000000000D7
+:1089A00000000000000000000000000000000000C7
+:1089B00000000000000000000000000000000000B7
+:1089C00000000000000000000000000000000000A7
+:1089D0000000000000000000000000000000000097
+:1089E0000000000000000000000000000000000087
+:1089F0000000000000000000000000000000000077
+:108A00000000000000000000000000000000000066
+:108A10000000000000000000000000000000000056
+:108A20000000000000000000000000000000000046
+:108A30000000000000000000000000000000000036
+:108A40000000000000000000000000000000000026
+:108A50000000000000000000000000000000000214
+:108A60000000000000000000000000000000000006
+:108A700000000000000000000000000000000100F5
+:108A800000000000000000000000000000000000E6
+:108A900000000000000000000000000000000000D6
+:108AA00000000000000000000000000000000000C6
+:108AB00000000000000000000000000000000000B6
+:108AC00000000000000000000000000000000000A6
+:108AD0000000000000000000000000000000000096
+:108AE0000000000000000000000000000000000086
+:108AF0000000000000000000000000000000000076
+:108B00000000000000000000000000000000000065
+:108B10000000000000000000000000000000000055
+:108B20000000000000000000000000000000000045
+:108B30000000000000000000000000000000000035
+:108B40000000000000000000000000000000000025
+:108B50000000000000000000000000000000000213
+:108B60000000000000000000000000000000000005
+:108B700000000000000000000000000000000000F5
+:108B800000000000000000000000000000000000E5
+:108B900000000000000000000000000000000000D5
+:108BA00000000000000000000000000000000000C5
+:108BB00000000000000000000000000000000000B5
+:108BC00000000000000000000000000000000000A5
+:108BD0000000000000000000000000000000000095
+:108BE0000000000000000000000000000000000085
+:108BF0000000000000000000000000000000000075
+:108C00000000000000000000000000000000000064
+:108C10000000000000000000000000000000000054
+:108C20000000000000000000000000000000000044
+:108C30000000000000000000000000000000000034
+:108C40000000000000000000000000000000000024
+:108C50000000000000000000000000000000000014
+:108C600000000000000000000000000000000012F2
+:108C700000000000000000000000000000000000F4
+:108C800000000000000001000000000000000000E3
+:108C900000000000000000000000000000000000D4
+:108CA00000000000000000000000000000000000C4
+:108CB00000000000000000000000000000000000B4
+:108CC00000000000000000000000000000000000A4
+:108CD0000000000000000000000000000000000094
+:108CE0000000000000000000000000000000000084
+:108CF0000000000000000000000000000000000074
+:108D00000000000000000000000000000000000063
+:108D10000000000000000000000000000000000053
+:108D20000000000000000000000000000000000043
+:108D30000000000000000000000000000000000033
+:108D40000000000000000000000000000000000023
+:108D50000000000000000000000000000000000013
+:108D60000000000000000002000000000000000001
+:108D700000000000000000000000000000000000F3
+:108D800000000000000001000000000000000000E2
+:108D900000000000000000000000000000000000D3
+:108DA00000000000000000000000000000000000C3
+:108DB00000000000000000000000000000000000B3
+:108DC00000000000000000000000000000000000A3
+:108DD0000000000000000000000000000000000093
+:108DE0000000000000000000000000000000000083
+:108DF0000000000000000000000000000000000073
+:108E00000000000000000000000000000000000062
+:108E10000000000000000000000000000000000052
+:108E20000000000000000000000000000000000042
+:108E30000000000000000000000000000000000032
+:108E40000000000000000000000000000000000022
+:108E50000000000000000000000000000000000012
+:108E60000000000000000002000000000000000000
+:108E700000000000000000000000000000000000F2
+:108E800000000000000001000000000000000000E1
+:108E900000000000000000000000000000000000D2
+:108EA00000000000000000000000000000000000C2
+:108EB00000000000000000000000000000000000B2
+:108EC00000000000000000000000000000000000A2
+:108ED0000000000000000000000000000000000092
+:108EE0000000000000000000000000000000000082
+:108EF0000000000000000000000000000000000072
+:108F00000000000000000000000000000000000061
+:108F10000000000000000000000000000000000051
+:108F20000000000000000000000000000000000041
+:108F30000000000000000000000000000000000031
+:108F40000000000000000000000000000000000021
+:108F50000000000000000000000000000000000011
+:108F600000000000000000020000000000000000FF
+:108F700000000000000000000000000000000000F1
+:108F800000000000000001000000000000000000E0
+:108F900000000000000000000000000000000000D1
+:108FA00000000000000000000000000000000000C1
+:108FB00000000000000000000000000000000000B1
+:108FC00000000000000000000000000000000000A1
+:108FD0000000000000000000000000000000000091
+:108FE0000000000000000000000000000000000081
+:108FF0000000000000000000000000000000000071
+:109000000000000000000000000000000000000060
+:109010000000000000000000000000000000000050
+:109020000000000000000000000000000000000040
+:109030000000000000000000000000000000000030
+:109040000000000000000000000000000000000020
+:109050000000000000000000000000000000000010
+:1090600000000000000000020000000000000000FE
+:1090700000000000000000000000000000000000F0
+:1090800000000000000001000000000000000000DF
+:1090900000000000000000000000000000000000D0
+:1090A00000000000000000000000000000000000C0
+:1090B00000000000000000000000000000000000B0
+:1090C00000000000000000000000000000000000A0
+:1090D0000000000000000000000000000000000090
+:1090E0000000000000000000000000000000000080
+:1090F0000000000000000000000000000000000070
+:10910000000000000000000000000000000000005F
+:10911000000000000000000000000000000000004F
+:10912000000000000000000000000000000000003F
+:10913000000000000000000000000000000000002F
+:10914000000000000000000000000000000000001F
+:10915000000000000000000000000000000000000F
+:1091600000000000000000020000000000000000FD
+:1091700000000000000000000000000000000000EF
+:1091800000000000000001000000000000000000DE
+:1091900000000000000000000000000000000000CF
+:1091A00000000000000000000000000000000000BF
+:1091B00000000000000000000000000000000000AF
+:1091C000000000000000000000000000000000009F
+:1091D000000000000000000000000000000000008F
+:1091E000000000000000000000000000000000007F
+:1091F000000000000000000000000000000000006F
+:10920000000000000000000000000000000000005E
+:10921000000000000000000000000000000000004E
+:10922000000000000000000000000000000000003E
+:10923000000000000000000000000000000000002E
+:10924000000000000000000000000000000000001E
+:10925000000000000000000000000000000000000E
+:1092600000000000000000020000000000000000FC
+:1092700000000000000000000000000000000000EE
+:1092800000000000000001000000000000000000DD
+:1092900000000000000000000000000000000000CE
+:1092A00000000000000000000000000000000000BE
+:1092B00000000000000000000000000000000000AE
+:1092C000000000000000000000000000000000009E
+:1092D000000000000000000000000000000000008E
+:1092E000000000000000000000000000000000007E
+:1092F000000000000000000000000000000000006E
+:10930000000000000000000000000000000000005D
+:10931000000000000000000000000000000000004D
+:10932000000000000000000000000000000000003D
+:10933000000000000000000000000000000000002D
+:10934000000000000000000000000000000000001D
+:10935000000000000000000000000000000000000D
+:1093600000000000000000020000000000000000FB
+:1093700000000000000000000000000000000000ED
+:1093800000000000000001000000000000000000DC
+:1093900000000000000000000000000000000000CD
+:1093A00000000000000000000000000000000000BD
+:1093B00000000000000000000000000000000000AD
+:1093C000000000000000000000000000000000009D
+:1093D000000000000000000000000000000000008D
+:1093E000000000000000000000000000000000007D
+:1093F000000000000000000000000000000000006D
+:10940000000000000000000000000000000000005C
+:10941000000000000000000000000000000000004C
+:10942000000000000000000000000000000000003C
+:10943000000000000000000000000000000000002C
+:10944000000000000000000000000000000000001C
+:10945000000000000000000000000000000000000C
+:1094600000000000000000020000000000000000FA
+:1094700000000000000000000000000000000000EC
+:1094800000000000000001000000000000000000DB
+:1094900000000000000000000000000000000000CC
+:1094A00000000000000000000000000000000000BC
+:1094B00000000000000000000000000000000000AC
+:1094C000000000000000000000000000000000009C
+:1094D000000000000000000000000000000000008C
+:1094E000000000000000000000000000000000007C
+:1094F000000000000000000000000000000000006C
+:10950000000000000000000000000000000000005B
+:10951000000000000000000000000000000000004B
+:10952000000000000000000000000000000000003B
+:10953000000000000000000000000000000000002B
+:10954000000000000000000000000000000000001B
+:10955000000000000000000000000000000000000B
+:1095600000000000000000020000000000000000F9
+:1095700000000000000000000000000000000000EB
+:1095800000000000000001000000000000000000DA
+:1095900000000000000000000000000000000000CB
+:1095A00000000000000000000000000000000000BB
+:1095B00000000000000000000000000000000000AB
+:1095C000000000000000000000000000000000009B
+:1095D000000000000000000000000000000000008B
+:1095E000000000000000000000000000000000007B
+:1095F000000000000000000000000000000000006B
+:10960000000000000000000000000000000000005A
+:10961000000000000000000000000000000000004A
+:10962000000000000000000000000000000000003A
+:10963000000000000000000000000000000000002A
+:10964000000000000000000000000000000000001A
+:10965000000000000000000000000000000000000A
+:1096600000000000000000020000000000000000F8
+:1096700000000000000000000000000000000000EA
+:1096800000000000000001000000000000000000D9
+:1096900000000000000000000000000000000000CA
+:1096A00000000000000000000000000000000000BA
+:1096B00000000000000000000000000000000000AA
+:1096C000000000000000000000000000000000009A
+:1096D000000000000000000000000000000000008A
+:1096E000000000000000000000000000000000007A
+:1096F000000000000000000000000000000000006A
+:109700000000000000000000000000000000000059
+:109710000000000000000000000000000000000049
+:109720000000000000000000000000000000000039
+:109730000000000000000000000000000000000029
+:109740000000000000000000000000000000000019
+:109750000000000000000000000000000000000009
+:1097600000000000000000020000000000000000F7
+:1097700000000000000000000000000000000000E9
+:1097800000000000000001000000000000000000D8
+:1097900000000000000000000000000000000000C9
+:1097A00000000000000000000000000000000000B9
+:1097B00000000000000000000000000000000000A9
+:1097C0000000000000000000000000000000000099
+:1097D0000000000000000000000000000000000089
+:1097E0000000000000000000000000000000000079
+:1097F0000000000000000000000000000000000069
+:109800000000000000000000000000000000000058
+:109810000000000000000000000000000000000048
+:109820000000000000000000000000000000000038
+:109830000000000000000000000000000000000028
+:109840000000000000000000000000000000000018
+:109850000000000000000000000000000000000008
+:1098600000000000000000020000000000000000F6
+:1098700000000000000000000000000000000000E8
+:1098800000000000000001000000000000000000D7
+:1098900000000000000000000000000000000000C8
+:1098A00000000000000000000000000000000000B8
+:1098B00000000000000000000000000000000000A8
+:1098C0000000000000000000000000000000000098
+:1098D0000000000000000000000000000000000088
+:1098E0000000000000000000000000000000000078
+:1098F0000000000000000000000000000000000068
+:109900000000000000000000000000000000000057
+:109910000000000000000000000000000000000047
+:109920000000000000000000000000000000000037
+:109930000000000000000000000000000000000027
+:109940000000000000000000000000000000000017
+:109950000000000000000000000000000000000007
+:1099600000000000000000020000000000000000F5
+:1099700000000000000000000000000000000000E7
+:1099800000000000000001000000000000000000D6
+:1099900000000000000000000000000000000000C7
+:1099A00000000000000000000000000000000000B7
+:1099B00000000000000000000000000000000000A7
+:1099C0000000000000000000000000000000000097
+:1099D0000000000000000000000000000000000087
+:1099E0000000000000000000000000000000000077
+:1099F0000000000000000000000000000000000067
+:109A00000000000000000000000000000000000056
+:109A10000000000000000000000000000000000046
+:109A20000000000000000000000000000000000036
+:109A30000000000000000000000000000000000026
+:109A40000000000000000000000000000000000016
+:109A50000000000000000000000000000000000006
+:109A600000000000000000020000000000000000F4
+:109A700000000000000000000000000000000000E6
+:109A800000000000000001000000000000000000D5
+:109A900000000000000000000000000000000000C6
+:109AA00000000000000000000000000000000000B6
+:109AB00000000000000000000000000000000000A6
+:109AC0000000000000000000000000000000000096
+:109AD0000000000000000000000000000000000086
+:109AE0000000000000000000000000000000000076
+:109AF0000000000000000000000000000000000066
+:109B00000000000000000000000000000000000055
+:109B10000000000000000000000000000000000045
+:109B20000000000000000000000000000000000035
+:109B30000000000000000000000000000000000025
+:109B40000000000000000000000000000000000015
+:109B50000000000000000000000000000000000005
+:109B600000000000000000020000000000000000F3
+:109B700000000000000000000000000000000000E5
+:109B800000000000000001000000000000000000D4
+:109B900000000000000000000000000000000000C5
+:109BA00000000000000000000000000000000000B5
+:109BB00000000000000000000000000000000000A5
+:109BC0000000000000000000000000000000000095
+:109BD0000000000000000000000000000000000085
+:109BE0000000000000000000000000000000000075
+:109BF0000000000000000000000000000000000065
+:109C00000000000000000000000000000000000054
+:109C10000000000000000000000000000000000044
+:109C20000000000000000000000000000000000034
+:109C30000000000000000000000000000000000024
+:109C40000000000000000000000000000000000014
+:109C50000000000000000000000000000000000004
+:109C600000000000000000020000000000000000F2
+:109C700000000000000000000000000000000000E4
+:109C800000000000000001000000000000000000D3
+:109C900000000000000000000000000000000000C4
+:109CA00000000000000000000000000000000000B4
+:109CB00000000000000000000000000000000000A4
+:109CC0000000000000000000000000000000000094
+:109CD0000000000000000000000000000000000084
+:109CE0000000000000000000000000000000000074
+:109CF0000000000000000000000000000000000064
+:109D00000000000000000000000000000000000053
+:109D10000000000000000000000000000000000043
+:109D20000000000000000000000000000000000033
+:109D30000000000000000000000000000000000023
+:109D40000000000000000000000000000000000013
+:109D50000000000000000000000000000000000003
+:109D600000000000000000020000000000000000F1
+:109D700000000000000000000000000000000000E3
+:109D800000000000000000000000000000000000D3
+:109D900000000000000000000000000000000000C3
+:109DA00000000000000000000000000000000000B3
+:109DB00000000000000000000000000000000000A3
+:109DC0000000000000000000000000000000000093
+:109DD0000000000000000000000000000000000083
+:109DE0000000000000000000000000000000000073
+:109DF0000000000000000000000000000000000063
+:109E00000000000000000000000000000000000052
+:109E10000000000000000000000000000000000042
+:109E20000000000000000000000000000000000032
+:109E30000000000000000000000000000000000022
+:109E40000000000000000000000000000000000012
+:109E50000000000000000000000000000000000002
+:109E600000000000000000000000000000000000F2
+:109E7000000000000000000F0000000000000000D3
+:109E800000000000000000000000000000000100D1
+:109E900000000000000000000000000000000000C2
+:109EA00000000000000000000000000000000000B2
+:109EB00000000000000000000000000000000000A2
+:109EC0000000000000000000000000000000000092
+:109ED0000000000000000000000000000000000082
+:109EE0000000000000000000000000000000000072
+:109EF0000000000000000000000000000000000062
+:109F00000000000000000000000000000000000051
+:109F10000000000000000000000000000000000041
+:109F20000000000000000000000000000000000031
+:109F30000000000000000000000000000000000021
+:109F40000000000000000000000000000000000011
+:109F50000000000000000000000000000000000001
+:109F600000000000000000000000000000000002EF
+:109F700000000000000000000000000000000000E1
+:109F800000000000000000000000000000000100D0
+:109F900000000000000000000000000000000000C1
+:109FA00000000000000000000000000000000000B1
+:109FB00000000000000000000000000000000000A1
+:109FC0000000000000000000000000000000000091
+:109FD0000000000000000000000000000000000081
+:109FE0000000000000000000000000000000000071
+:109FF0000000000000000000000000000000000061
+:10A000000000000000000000000000000000000050
+:10A010000000000000000000000000000000000040
+:10A020000000000000000000000000000000000030
+:10A030000000000000000000000000000000000020
+:10A040000000000000000000000000000000000010
+:10A050000000000000000000000000000000000000
+:10A0600000000000000000000000000000000002EE
+:10A0700000000000000000000000000000000000E0
+:10A0800000000000000000000000000000000100CF
+:10A0900000000000000000000000000000000000C0
+:10A0A00000000000000000000000000000000000B0
+:10A0B00000000000000000000000000000000000A0
+:10A0C0000000000000000000000000000000000090
+:10A0D0000000000000000000000000000000000080
+:10A0E0000000000000000000000000000000000070
+:10A0F0000000000000000000000000000000000060
+:10A10000000000000000000000000000000000004F
+:10A11000000000000000000000000000000000003F
+:10A12000000000000000000000000000000000002F
+:10A13000000000000000000000000000000000001F
+:10A14000000000000000000000000000000000000F
+:10A1500000000000000000000000000000000000FF
+:10A1600000000000000000000000000000000002ED
+:10A1700000000000000000000000000000000000DF
+:10A1800000000000000000000000000000000100CE
+:10A1900000000000000000000000000000000000BF
+:10A1A00000000000000000000000000000000000AF
+:10A1B000000000000000000000000000000000009F
+:10A1C000000000000000000000000000000000008F
+:10A1D000000000000000000000000000000000007F
+:10A1E000000000000000000000000000000000006F
+:10A1F000000000000000000000000000000000005F
+:10A20000000000000000000000000000000000004E
+:10A21000000000000000000000000000000000003E
+:10A22000000000000000000000000000000000002E
+:10A23000000000000000000000000000000000001E
+:10A24000000000000000000000000000000000000E
+:10A2500000000000000000000000000000000000FE
+:10A2600000000000000000000000000000000002EC
+:10A2700000000000000000000000000000000000DE
+:10A2800000000000000000000000000000000100CD
+:10A2900000000000000000000000000000000000BE
+:10A2A00000000000000000000000000000000000AE
+:10A2B000000000000000000000000000000000009E
+:10A2C000000000000000000000000000000000008E
+:10A2D000000000000000000000000000000000007E
+:10A2E000000000000000000000000000000000006E
+:10A2F000000000000000000000000000000000005E
+:10A30000000000000000000000000000000000004D
+:10A31000000000000000000000000000000000003D
+:10A32000000000000000000000000000000000002D
+:10A33000000000000000000000000000000000001D
+:10A34000000000000000000000000000000000000D
+:10A3500000000000000000000000000000000000FD
+:10A3600000000000000000000000000000000002EB
+:10A3700000000000000000000000000000000000DD
+:10A3800000000000000000000000000000000100CC
+:10A3900000000000000000000000000000000000BD
+:10A3A00000000000000000000000000000000000AD
+:10A3B000000000000000000000000000000000009D
+:10A3C000000000000000000000000000000000008D
+:10A3D000000000000000000000000000000000007D
+:10A3E000000000000000000000000000000000006D
+:10A3F000000000000000000000000000000000005D
+:10A40000000000000000000000000000000000004C
+:10A41000000000000000000000000000000000003C
+:10A42000000000000000000000000000000000002C
+:10A43000000000000000000000000000000000001C
+:10A44000000000000000000000000000000000000C
+:10A4500000000000000000000000000000000000FC
+:10A4600000000000000000000000000000000002EA
+:10A4700000000000000000000000000000000000DC
+:10A4800000000000000000000000000000000100CB
+:10A4900000000000000000000000000000000000BC
+:10A4A00000000000000000000000000000000000AC
+:10A4B000000000000000000000000000000000009C
+:10A4C000000000000000000000000000000000008C
+:10A4D000000000000000000000000000000000007C
+:10A4E000000000000000000000000000000000006C
+:10A4F000000000000000000000000000000000005C
+:10A50000000000000000000000000000000000004B
+:10A51000000000000000000000000000000000003B
+:10A52000000000000000000000000000000000002B
+:10A53000000000000000000000000000000000001B
+:10A54000000000000000000000000000000000000B
+:10A5500000000000000000000000000000000000FB
+:10A5600000000000000000000000000000000002E9
+:10A5700000000000000000000000000000000000DB
+:10A5800000000000000000000000000000000100CA
+:10A5900000000000000000000000000000000000BB
+:10A5A00000000000000000000000000000000000AB
+:10A5B000000000000000000000000000000000009B
+:10A5C000000000000000000000000000000000008B
+:10A5D000000000000000000000000000000000007B
+:10A5E000000000000000000000000000000000006B
+:10A5F000000000000000000000000000000000005B
+:10A60000000000000000000000000000000000004A
+:10A61000000000000000000000000000000000003A
+:10A62000000000000000000000000000000000002A
+:10A63000000000000000000000000000000000001A
+:10A64000000000000000000000000000000000000A
+:10A6500000000000000000000000000000000000FA
+:10A6600000000000000000000000000000000002E8
+:10A6700000000000000000000000000000000000DA
+:10A6800000000000000000000000000000000100C9
+:10A6900000000000000000000000000000000000BA
+:10A6A00000000000000000000000000000000000AA
+:10A6B000000000000000000000000000000000009A
+:10A6C000000000000000000000000000000000008A
+:10A6D000000000000000000000000000000000007A
+:10A6E000000000000000000000000000000000006A
+:10A6F000000000000000000000000000000000005A
+:10A700000000000000000000000000000000000049
+:10A710000000000000000000000000000000000039
+:10A720000000000000000000000000000000000029
+:10A730000000000000000000000000000000000019
+:10A740000000000000000000000000000000000009
+:10A7500000000000000000000000000000000000F9
+:10A7600000000000000000000000000000000002E7
+:10A7700000000000000000000000000000000000D9
+:10A7800000000000000000000000000000000100C8
+:10A7900000000000000000000000000000000000B9
+:10A7A00000000000000000000000000000000000A9
+:10A7B0000000000000000000000000000000000099
+:10A7C0000000000000000000000000000000000089
+:10A7D0000000000000000000000000000000000079
+:10A7E0000000000000000000000000000000000069
+:10A7F0000000000000000000000000000000000059
+:10A800000000000000000000000000000000000048
+:10A810000000000000000000000000000000000038
+:10A820000000000000000000000000000000000028
+:10A830000000000000000000000000000000000018
+:10A840000000000000000000000000000000000008
+:10A8500000000000000000000000000000000000F8
+:10A8600000000000000000000000000000000002E6
+:10A8700000000000000000000000000000000000D8
+:10A8800000000000000000000000000000000100C7
+:10A8900000000000000000000000000000000000B8
+:10A8A00000000000000000000000000000000000A8
+:10A8B0000000000000000000000000000000000098
+:10A8C0000000000000000000000000000000000088
+:10A8D0000000000000000000000000000000000078
+:10A8E0000000000000000000000000000000000068
+:10A8F0000000000000000000000000000000000058
+:10A900000000000000000000000000000000000047
+:10A910000000000000000000000000000000000037
+:10A920000000000000000000000000000000000027
+:10A930000000000000000000000000000000000017
+:10A940000000000000000000000000000000000007
+:10A9500000000000000000000000000000000000F7
+:10A9600000000000000000000000000000000002E5
+:10A9700000000000000000000000000000000000D7
+:10A9800000000000000000000000000000000100C6
+:10A9900000000000000000000000000000000000B7
+:10A9A00000000000000000000000000000000000A7
+:10A9B0000000000000000000000000000000000097
+:10A9C0000000000000000000000000000000000087
+:10A9D0000000000000000000000000000000000077
+:10A9E0000000000000000000000000000000000067
+:10A9F0000000000000000000000000000000000057
+:10AA00000000000000000000000000000000000046
+:10AA10000000000000000000000000000000000036
+:10AA20000000000000000000000000000000000026
+:10AA30000000000000000000000000000000000016
+:10AA40000000000000000000000000000000000006
+:10AA500000000000000000000000000000000000F6
+:10AA600000000000000000000000000000000002E4
+:10AA700000000000000000000000000000000000D6
+:10AA800000000000000000000000000000000100C5
+:10AA900000000000000000000000000000000000B6
+:10AAA00000000000000000000000000000000000A6
+:10AAB0000000000000000000000000000000000096
+:10AAC0000000000000000000000000000000000086
+:10AAD0000000000000000000000000000000000076
+:10AAE0000000000000000000000000000000000066
+:10AAF0000000000000000000000000000000000056
+:10AB00000000000000000000000000000000000045
+:10AB10000000000000000000000000000000000035
+:10AB20000000000000000000000000000000000025
+:10AB30000000000000000000000000000000000015
+:10AB40000000000000000000000000000000000005
+:10AB500000000000000000000000000000000000F5
+:10AB600000000000000000000000000000000002E3
+:10AB700000000000000000000000000000000000D5
+:10AB800000000000000000000000000000000100C4
+:10AB900000000000000000000000000000000000B5
+:10ABA00000000000000000000000000000000000A5
+:10ABB0000000000000000000000000000000000095
+:10ABC0000000000000000000000000000000000085
+:10ABD0000000000000000000000000000000000075
+:10ABE0000000000000000000000000000000000065
+:10ABF0000000000000000000000000000000000055
+:10AC00000000000000000000000000000000000044
+:10AC10000000000000000000000000000000000034
+:10AC20000000000000000000000000000000000024
+:10AC30000000000000000000000000000000000014
+:10AC40000000000000000000000000000000000004
+:10AC500000000000000000000000000000000000F4
+:10AC600000000000000000000000000000000002E2
+:10AC700000000000000000000000000000000000D4
+:10AC800000000000000000000000000000000000C4
+:10AC900000000000000000000000000000000000B4
+:10ACA00000000000000000000000000000000000A4
+:10ACB0000000000000000000000000000000000094
+:10ACC0000000000000000000000000000000000084
+:10ACD0000000000000000000000000000000000074
+:10ACE0000000000000000000000000000000000064
+:10ACF0000000000000000000000000000000000054
+:10AD00000000000000000000000000000000000043
+:10AD10000000000000000000000000000000000033
+:10AD20000000000000000000000000000000000023
+:10AD30000000000000000000000000000000000013
+:10AD40000000000000000000000000000000000003
+:10AD500000000000000000000000000000000000F3
+:10AD600000000000000000000000000000000000E3
+:10AD70000000000000000000000000000000000CC7
+:10AD800000000000000000000000000000000000C3
+:10AD900000000000000001000000000000000000B2
+:10ADA00000000000000000000000000000000000A3
+:10ADB0000000000000000000000000000000000093
+:10ADC0000000000000000000000000000000000083
+:10ADD0000000000000000000000000000000000073
+:10ADE0000000000000000000000000000000000063
+:10ADF0000000000000000000000000000000000053
+:10AE00000000000000000000000000000000000042
+:10AE10000000000000000000000000000000000032
+:10AE20000000000000000000000000000000000022
+:10AE30000000000000000000000000000000000012
+:10AE40000000000000000000000000000000000002
+:10AE500000000000000000000000000000000000F2
+:10AE600000000000000000000000000000000000E2
+:10AE700000000000000000020000000000000000D0
+:10AE800000000000000000000000000000000000C2
+:10AE900000000000000001000000000000000000B1
+:10AEA00000000000000000000000000000000000A2
+:10AEB0000000000000000000000000000000000092
+:10AEC0000000000000000000000000000000000082
+:10AED0000000000000000000000000000000000072
+:10AEE0000000000000000000000000000000000062
+:10AEF0000000000000000000000000000000000052
+:10AF00000000000000000000000000000000000041
+:10AF10000000000000000000000000000000000031
+:10AF20000000000000000000000000000000000021
+:10AF30000000000000000000000000000000000011
+:10AF40000000000000000000000000000000000001
+:10AF500000000000000000000000000000000000F1
+:10AF600000000000000000000000000000000000E1
+:10AF700000000000000000020000000000000000CF
+:10AF800000000000000000000000000000000000C1
+:10AF900000000000000001000000000000000000B0
+:10AFA00000000000000000000000000000000000A1
+:10AFB0000000000000000000000000000000000091
+:10AFC0000000000000000000000000000000000081
+:10AFD0000000000000000000000000000000000071
+:10AFE0000000000000000000000000000000000061
+:10AFF0000000000000000000000000000000000051
+:10B000000000000000000000000000000000000040
+:10B010000000000000000000000000000000000030
+:10B020000000000000000000000000000000000020
+:10B030000000000000000000000000000000000010
+:10B040000000000000000000000000000000000000
+:10B0500000000000000000000000000000000000F0
+:10B0600000000000000000000000000000000000E0
+:10B0700000000000000000020000000000000000CE
+:10B0800000000000000000000000000000000000C0
+:10B0900000000000000001000000000000000000AF
+:10B0A00000000000000000000000000000000000A0
+:10B0B0000000000000000000000000000000000090
+:10B0C0000000000000000000000000000000000080
+:10B0D0000000000000000000000000000000000070
+:10B0E0000000000000000000000000000000000060
+:10B0F0000000000000000000000000000000000050
+:10B10000000000000000000000000000000000003F
+:10B11000000000000000000000000000000000002F
+:10B12000000000000000000000000000000000001F
+:10B13000000000000000000000000000000000000F
+:10B1400000000000000000000000000000000000FF
+:10B1500000000000000000000000000000000000EF
+:10B1600000000000000000000000000000000000DF
+:10B1700000000000000000020000000000000000CD
+:10B1800000000000000000000000000000000000BF
+:10B1900000000000000001000000000000000000AE
+:10B1A000000000000000000000000000000000009F
+:10B1B000000000000000000000000000000000008F
+:10B1C000000000000000000000000000000000007F
+:10B1D000000000000000000000000000000000006F
+:10B1E000000000000000000000000000000000005F
+:10B1F000000000000000000000000000000000004F
+:10B20000000000000000000000000000000000003E
+:10B21000000000000000000000000000000000002E
+:10B22000000000000000000000000000000000001E
+:10B23000000000000000000000000000000000000E
+:10B2400000000000000000000000000000000000FE
+:10B2500000000000000000000000000000000000EE
+:10B2600000000000000000000000000000000000DE
+:10B2700000000000000000020000000000000000CC
+:10B2800000000000000000000000000000000000BE
+:10B2900000000000000001000000000000000000AD
+:10B2A000000000000000000000000000000000009E
+:10B2B000000000000000000000000000000000008E
+:10B2C000000000000000000000000000000000007E
+:10B2D000000000000000000000000000000000006E
+:10B2E000000000000000000000000000000000005E
+:10B2F000000000000000000000000000000000004E
+:10B30000000000000000000000000000000000003D
+:10B31000000000000000000000000000000000002D
+:10B32000000000000000000000000000000000001D
+:10B33000000000000000000000000000000000000D
+:10B3400000000000000000000000000000000000FD
+:10B3500000000000000000000000000000000000ED
+:10B3600000000000000000000000000000000000DD
+:10B3700000000000000000020000000000000000CB
+:10B3800000000000000000000000000000000000BD
+:10B3900000000000000001000000000000000000AC
+:10B3A000000000000000000000000000000000009D
+:10B3B000000000000000000000000000000000008D
+:10B3C000000000000000000000000000000000007D
+:10B3D000000000000000000000000000000000006D
+:10B3E000000000000000000000000000000000005D
+:10B3F000000000000000000000000000000000004D
+:10B40000000000000000000000000000000000003C
+:10B41000000000000000000000000000000000002C
+:10B42000000000000000000000000000000000001C
+:10B43000000000000000000000000000000000000C
+:10B4400000000000000000000000000000000000FC
+:10B4500000000000000000000000000000000000EC
+:10B4600000000000000000000000000000000000DC
+:10B4700000000000000000020000000000000000CA
+:10B4800000000000000000000000000000000000BC
+:10B4900000000000000001000000000000000000AB
+:10B4A000000000000000000000000000000000009C
+:10B4B000000000000000000000000000000000008C
+:10B4C000000000000000000000000000000000007C
+:10B4D000000000000000000000000000000000006C
+:10B4E000000000000000000000000000000000005C
+:10B4F000000000000000000000000000000000004C
+:10B50000000000000000000000000000000000003B
+:10B51000000000000000000000000000000000002B
+:10B52000000000000000000000000000000000001B
+:10B53000000000000000000000000000000000000B
+:10B5400000000000000000000000000000000000FB
+:10B5500000000000000000000000000000000000EB
+:10B5600000000000000000000000000000000000DB
+:10B5700000000000000000020000000000000000C9
+:10B5800000000000000000000000000000000000BB
+:10B5900000000000000001000000000000000000AA
+:10B5A000000000000000000000000000000000009B
+:10B5B000000000000000000000000000000000008B
+:10B5C000000000000000000000000000000000007B
+:10B5D000000000000000000000000000000000006B
+:10B5E000000000000000000000000000000000005B
+:10B5F000000000000000000000000000000000004B
+:10B60000000000000000000000000000000000003A
+:10B61000000000000000000000000000000000002A
+:10B62000000000000000000000000000000000001A
+:10B63000000000000000000000000000000000000A
+:10B6400000000000000000000000000000000000FA
+:10B6500000000000000000000000000000000000EA
+:10B6600000000000000000000000000000000000DA
+:10B6700000000000000000020000000000000000C8
+:10B6800000000000000000000000000000000000BA
+:10B6900000000000000001000000000000000000A9
+:10B6A000000000000000000000000000000000009A
+:10B6B000000000000000000000000000000000008A
+:10B6C000000000000000000000000000000000007A
+:10B6D000000000000000000000000000000000006A
+:10B6E000000000000000000000000000000000005A
+:10B6F000000000000000000000000000000000004A
+:10B700000000000000000000000000000000000039
+:10B710000000000000000000000000000000000029
+:10B720000000000000000000000000000000000019
+:10B730000000000000000000000000000000000009
+:10B7400000000000000000000000000000000000F9
+:10B7500000000000000000000000000000000000E9
+:10B7600000000000000000000000000000000000D9
+:10B7700000000000000000020000000000000000C7
+:10B7800000000000000000000000000000000000B9
+:10B7900000000000000001000000000000000000A8
+:10B7A0000000000000000000000000000000000099
+:10B7B0000000000000000000000000000000000089
+:10B7C0000000000000000000000000000000000079
+:10B7D0000000000000000000000000000000000069
+:10B7E0000000000000000000000000000000000059
+:10B7F0000000000000000000000000000000000049
+:10B800000000000000000000000000000000000038
+:10B810000000000000000000000000000000000028
+:10B820000000000000000000000000000000000018
+:10B830000000000000000000000000000000000008
+:10B8400000000000000000000000000000000000F8
+:10B8500000000000000000000000000000000000E8
+:10B8600000000000000000000000000000000000D8
+:10B8700000000000000000020000000000000000C6
+:10B8800000000000000000000000000000000000B8
+:10B8900000000000000000000000000000000000A8
+:10B8A0000000000000000000000000000000000098
+:10B8B0000000000000000000000000000000000088
+:10B8C0000000000000000000000000000000000078
+:10B8D0000000000000000000000000000000000068
+:10B8E0000000000000000000000000000000000058
+:10B8F0000000000000000000000000000000000048
+:10B900000000000000000000000000000000000037
+:10B910000000000000000000000000000000000027
+:10B920000000000000000000000000000000000017
+:10B930000000000000000000000000000000000007
+:10B9400000000000000000000000000000000000F7
+:10B9500000000000000000000000000000000000E7
+:10B9600000000000000000000000000000000000D7
+:10B9700000000000000000000000000000000000C7
+:10B98000000000000000000A0000000000000000AD
+:10B9900000000000000000000000000000000100A6
+:10B9A0000000000000000000000000000000000097
+:10B9B0000000000000000000000000000000000087
+:10B9C0000000000000000000000000000000000077
+:10B9D0000000000000000000000000000000000067
+:10B9E0000000000000000000000000000000000057
+:10B9F0000000000000000000000000000000000047
+:10BA00000000000000000000000000000000000036
+:10BA10000000000000000000000000000000000026
+:10BA20000000000000000000000000000000000016
+:10BA30000000000000000000000000000000000006
+:10BA400000000000000000000000000000000000F6
+:10BA500000000000000000000000000000000000E6
+:10BA600000000000000000000000000000000000D6
+:10BA700000000000000000000000000000000002C4
+:10BA800000000000000000000000000000000000B6
+:10BA900000000000000000000000000000000100A5
+:10BAA0000000000000000000000000000000000096
+:10BAB0000000000000000000000000000000000086
+:10BAC0000000000000000000000000000000000076
+:10BAD0000000000000000000000000000000000066
+:10BAE0000000000000000000000000000000000056
+:10BAF0000000000000000000000000000000000046
+:10BB00000000000000000000000000000000000035
+:10BB10000000000000000000000000000000000025
+:10BB20000000000000000000000000000000000015
+:10BB30000000000000000000000000000000000005
+:10BB400000000000000000000000000000000000F5
+:10BB500000000000000000000000000000000000E5
+:10BB600000000000000000000000000000000000D5
+:10BB700000000000000000000000000000000002C3
+:10BB800000000000000000000000000000000000B5
+:10BB900000000000000000000000000000000100A4
+:10BBA0000000000000000000000000000000000095
+:10BBB0000000000000000000000000000000000085
+:10BBC0000000000000000000000000000000000075
+:10BBD0000000000000000000000000000000000065
+:10BBE0000000000000000000000000000000000055
+:10BBF0000000000000000000000000000000000045
+:10BC00000000000000000000000000000000000034
+:10BC10000000000000000000000000000000000024
+:10BC20000000000000000000000000000000000014
+:10BC30000000000000000000000000000000000004
+:10BC400000000000000000000000000000000000F4
+:10BC500000000000000000000000000000000000E4
+:10BC600000000000000000000000000000000000D4
+:10BC700000000000000000000000000000000002C2
+:10BC800000000000000000000000000000000000B4
+:10BC900000000000000000000000000000000100A3
+:10BCA0000000000000000000000000000000000094
+:10BCB0000000000000000000000000000000000084
+:10BCC0000000000000000000000000000000000074
+:10BCD0000000000000000000000000000000000064
+:10BCE0000000000000000000000000000000000054
+:10BCF0000000000000000000000000000000000044
+:10BD00000000000000000000000000000000000033
+:10BD10000000000000000000000000000000000023
+:10BD20000000000000000000000000000000000013
+:10BD30000000000000000000000000000000000003
+:10BD400000000000000000000000000000000000F3
+:10BD500000000000000000000000000000000000E3
+:10BD600000000000000000000000000000000000D3
+:10BD700000000000000000000000000000000002C1
+:10BD800000000000000000000000000000000000B3
+:10BD900000000000000000000000000000000100A2
+:10BDA0000000000000000000000000000000000093
+:10BDB0000000000000000000000000000000000083
+:10BDC0000000000000000000000000000000000073
+:10BDD0000000000000000000000000000000000063
+:10BDE0000000000000000000000000000000000053
+:10BDF0000000000000000000000000000000000043
+:10BE00000000000000000000000000000000000032
+:10BE10000000000000000000000000000000000022
+:10BE20000000000000000000000000000000000012
+:10BE30000000000000000000000000000000000002
+:10BE400000000000000000000000000000000000F2
+:10BE500000000000000000000000000000000000E2
+:10BE600000000000000000000000000000000000D2
+:10BE700000000000000000000000000000000002C0
+:10BE800000000000000000000000000000000000B2
+:10BE900000000000000000000000000000000100A1
+:10BEA0000000000000000000000000000000000092
+:10BEB0000000000000000000000000000000000082
+:10BEC0000000000000000000000000000000000072
+:10BED0000000000000000000000000000000000062
+:10BEE0000000000000000000000000000000000052
+:10BEF0000000000000000000000000000000000042
+:10BF00000000000000000000000000000000000031
+:10BF10000000000000000000000000000000000021
+:10BF20000000000000000000000000000000000011
+:10BF30000000000000000000000000000000000001
+:10BF400000000000000000000000000000000000F1
+:10BF500000000000000000000000000000000000E1
+:10BF600000000000000000000000000000000000D1
+:10BF700000000000000000000000000000000002BF
+:10BF800000000000000000000000000000000000B1
+:10BF900000000000000000000000000000000100A0
+:10BFA0000000000000000000000000000000000091
+:10BFB0000000000000000000000000000000000081
+:10BFC0000000000000000000000000000000000071
+:10BFD0000000000000000000000000000000000061
+:10BFE0000000000000000000000000000000000051
+:10BFF0000000000000000000000000000000000041
+:10C000000000000000000000000000000000000030
+:10C010000000000000000000000000000000000020
+:10C020000000000000000000000000000000000010
+:10C030000000000000000000000000000000000000
+:10C0400000000000000000000000000000000000F0
+:10C0500000000000000000000000000000000000E0
+:10C0600000000000000000000000000000000000D0
+:10C0700000000000000000000000000000000002BE
+:10C0800000000000000000000000000000000000B0
+:10C09000000000000000000000000000000001009F
+:10C0A0000000000000000000000000000000000090
+:10C0B0000000000000000000000000000000000080
+:10C0C0000000000000000000000000000000000070
+:10C0D0000000000000000000000000000000000060
+:10C0E0000000000000000000000000000000000050
+:10C0F0000000000000000000000000000000000040
+:10C10000000000000000000000000000000000002F
+:10C11000000000000000000000000000000000001F
+:10C12000000000000000000000000000000000000F
+:10C1300000000000000000000000000000000000FF
+:10C1400000000000000000000000000000000000EF
+:10C1500000000000000000000000000000000000DF
+:10C1600000000000000000000000000000000000CF
+:10C1700000000000000000000000000000000002BD
+:10C1800000000000000000000000000000000000AF
+:10C19000000000000000000000000000000001009E
+:10C1A000000000000000000000000000000000008F
+:10C1B000000000000000000000000000000000007F
+:10C1C000000000000000000000000000000000006F
+:10C1D000000000000000000000000000000000005F
+:10C1E000000000000000000000000000000000004F
+:10C1F000000000000000000000000000000000003F
+:10C20000000000000000000000000000000000002E
+:10C21000000000000000000000000000000000001E
+:10C22000000000000000000000000000000000000E
+:10C2300000000000000000000000000000000000FE
+:10C2400000000000000000000000000000000000EE
+:10C2500000000000000000000000000000000000DE
+:10C2600000000000000000000000000000000000CE
+:10C2700000000000000000000000000000000002BC
+:10C2800000000000000000000000000000000000AE
+:10C29000000000000000000000000000000000009E
+:10C2A000000000000000000000000000000000008E
+:10C2B000000000000000000000000000000000007E
+:10C2C000000000000000000000000000000000006E
+:10C2D000000000000000000000000000000000005E
+:10C2E000000000000000000000000000000000004E
+:10C2F000000000000000000000000000000000003E
+:10C30000000000000000000000000000000000002D
+:10C31000000000000000000000000000000000001D
+:10C32000000000000000000000000000000000000D
+:10C3300000000000000000000000000000000000FD
+:10C3400000000000000000000000000000000000ED
+:10C3500000000000000000000000000000000000DD
+:10C3600000000000000000000000000000000000CD
+:10C3700000000000000000000000000000000000BD
+:10C380000000000000000000000000000000000AA3
+:10C39000000000000000000000000000000000009D
+:10C3A000000000000000010000000000000000008C
+:10C3B000000000000000000000000000000000007D
+:10C3C000000000000000000000000000000000006D
+:10C3D000000000000000000000000000000000005D
+:10C3E000000000000000000000000000000000004D
+:10C3F000000000000000000000000000000000003D
+:10C40000000000000000000000000000000000002C
+:10C41000000000000000000000000000000000001C
+:10C42000000000000000000000000000000000000C
+:10C4300000000000000000000000000000000000FC
+:10C4400000000000000000000000000000000000EC
+:10C4500000000000000000000000000000000000DC
+:10C4600000000000000000000000000000000000CC
+:10C4700000000000000000000000000000000000BC
+:10C4800000000000000000020000000000000000AA
+:10C49000000000000000000000000000000000009C
+:10C4A000000000000000010000000000000000008B
+:10C4B000000000000000000000000000000000007C
+:10C4C000000000000000000000000000000000006C
+:10C4D000000000000000000000000000000000005C
+:10C4E000000000000000000000000000000000004C
+:10C4F000000000000000000000000000000000003C
+:10C50000000000000000000000000000000000002B
+:10C51000000000000000000000000000000000001B
+:10C52000000000000000000000000000000000000B
+:10C5300000000000000000000000000000000000FB
+:10C5400000000000000000000000000000000000EB
+:10C5500000000000000000000000000000000000DB
+:10C5600000000000000000000000000000000000CB
+:10C5700000000000000000000000000000000000BB
+:10C5800000000000000000020000000000000000A9
+:10C59000000000000000000000000000000000009B
+:10C5A000000000000000010000000000000000008A
+:10C5B000000000000000000000000000000000007B
+:10C5C000000000000000000000000000000000006B
+:10C5D000000000000000000000000000000000005B
+:10C5E000000000000000000000000000000000004B
+:10C5F000000000000000000000000000000000003B
+:10C60000000000000000000000000000000000002A
+:10C61000000000000000000000000000000000001A
+:10C62000000000000000000000000000000000000A
+:10C6300000000000000000000000000000000000FA
+:10C6400000000000000000000000000000000000EA
+:10C6500000000000000000000000000000000000DA
+:10C6600000000000000000000000000000000000CA
+:10C6700000000000000000000000000000000000BA
+:10C6800000000000000000020000000000000000A8
+:10C69000000000000000000000000000000000009A
+:10C6A0000000000000000100000000000000000089
+:10C6B000000000000000000000000000000000007A
+:10C6C000000000000000000000000000000000006A
+:10C6D000000000000000000000000000000000005A
+:10C6E000000000000000000000000000000000004A
+:10C6F000000000000000000000000000000000003A
+:10C700000000000000000000000000000000000029
+:10C710000000000000000000000000000000000019
+:10C720000000000000000000000000000000000009
+:10C7300000000000000000000000000000000000F9
+:10C7400000000000000000000000000000000000E9
+:10C7500000000000000000000000000000000000D9
+:10C7600000000000000000000000000000000000C9
+:10C7700000000000000000000000000000000000B9
+:10C7800000000000000000020000000000000000A7
+:10C790000000000000000000000000000000000099
+:10C7A0000000000000000100000000000000000088
+:10C7B0000000000000000000000000000000000079
+:10C7C0000000000000000000000000000000000069
+:10C7D0000000000000000000000000000000000059
+:10C7E0000000000000000000000000000000000049
+:10C7F0000000000000000000000000000000000039
+:10C800000000000000000000000000000000000028
+:10C810000000000000000000000000000000000018
+:10C820000000000000000000000000000000000008
+:10C8300000000000000000000000000000000000F8
+:10C8400000000000000000000000000000000000E8
+:10C8500000000000000000000000000000000000D8
+:10C8600000000000000000000000000000000000C8
+:10C8700000000000000000000000000000000000B8
+:10C8800000000000000000020000000000000000A6
+:10C890000000000000000000000000000000000098
+:10C8A0000000000000000100000000000000000087
+:10C8B0000000000000000000000000000000000078
+:10C8C0000000000000000000000000000000000068
+:10C8D0000000000000000000000000000000000058
+:10C8E0000000000000000000000000000000000048
+:10C8F0000000000000000000000000000000000038
+:10C900000000000000000000000000000000000027
+:10C910000000000000000000000000000000000017
+:10C920000000000000000000000000000000000007
+:10C9300000000000000000000000000000000000F7
+:10C9400000000000000000000000000000000000E7
+:10C9500000000000000000000000000000000000D7
+:10C9600000000000000000000000000000000000C7
+:10C9700000000000000000000000000000000000B7
+:10C9800000000000000000020000000000000000A5
+:10C990000000000000000000000000000000000097
+:10C9A0000000000000000100000000000000000086
+:10C9B0000000000000000000000000000000000077
+:10C9C0000000000000000000000000000000000067
+:10C9D0000000000000000000000000000000000057
+:10C9E0000000000000000000000000000000000047
+:10C9F0000000000000000000000000000000000037
+:10CA00000000000000000000000000000000000026
+:10CA10000000000000000000000000000000000016
+:10CA20000000000000000000000000000000000006
+:10CA300000000000000000000000000000000000F6
+:10CA400000000000000000000000000000000000E6
+:10CA500000000000000000000000000000000000D6
+:10CA600000000000000000000000000000000000C6
+:10CA700000000000000000000000000000000000B6
+:10CA800000000000000000020000000000000000A4
+:10CA90000000000000000000000000000000000096
+:10CAA0000000000000000100000000000000000085
+:10CAB0000000000000000000000000000000000076
+:10CAC0000000000000000000000000000000000066
+:10CAD0000000000000000000000000000000000056
+:10CAE0000000000000000000000000000000000046
+:10CAF0000000000000000000000000000000000036
+:10CB00000000000000000000000000000000000025
+:10CB10000000000000000000000000000000000015
+:10CB20000000000000000000000000000000000005
+:10CB300000000000000000000000000000000000F5
+:10CB400000000000000000000000000000000000E5
+:10CB500000000000000000000000000000000000D5
+:10CB600000000000000000000000000000000000C5
+:10CB700000000000000000000000000000000000B5
+:10CB800000000000000000020000000000000000A3
+:10CB90000000000000000000000000000000000095
+:10CBA0000000000000000100000000000000000084
+:10CBB0000000000000000000000000000000000075
+:10CBC0000000000000000000000000000000000065
+:10CBD0000000000000000000000000000000000055
+:10CBE0000000000000000000000000000000000045
+:10CBF0000000000000000000000000000000000035
+:10CC00000000000000000000000000000000000024
+:10CC10000000000000000000000000000000000014
+:10CC20000000000000000000000000000000000004
+:10CC300000000000000000000000000000000000F4
+:10CC400000000000000000000000000000000000E4
+:10CC500000000000000000000000000000000000D4
+:10CC600000000000000000000000000000000000C4
+:10CC700000000000000000000000000000000000B4
+:10CC800000000000000000020000000000000000A2
+:10CC90000000000000000000000000000000000094
+:10CCA0000000000000000000000000000000000084
+:10CCB0000000000000000000000000000000000074
+:10CCC0000000000000000000000000000000000064
+:10CCD0000000000000000000000000000000000054
+:10CCE0000000000000000000000000000000000044
+:10CCF0000000000000000000000000000000000034
+:10CD00000000000000000000000000000000000023
+:10CD10000000000000000000000000000000000013
+:10CD20000000000000000000000000000000000003
+:10CD300000000000000000000000000000000000F3
+:10CD400000000000000000000000000000000000E3
+:10CD500000000000000000000000000000000000D3
+:10CD600000000000000000000000000000000000C3
+:10CD700000000000000000000000000000000000B3
+:10CD800000000000000000000000000000000000A3
+:10CD9000000000000000000A000000000000000089
+:10CDA0000000000000000000000000000000010082
+:10CDB0000000000000000000000000000000000073
+:10CDC0000000000000000000000000000000000063
+:10CDD0000000000000000000000000000000000053
+:10CDE0000000000000000000000000000000000043
+:10CDF0000000000000000000000000000000000033
+:10CE00000000000000000000000000000000000022
+:10CE10000000000000000000000000000000000012
+:10CE20000000000000000000000000000000000002
+:10CE300000000000000000000000000000000000F2
+:10CE400000000000000000000000000000000000E2
+:10CE500000000000000000000000000000000000D2
+:10CE600000000000000000000000000000000000C2
+:10CE700000000000000000000000000000000000B2
+:10CE800000000000000000000000000000000002A0
+:10CE90000000000000000000000000000000000092
+:10CEA0000000000000000000000000000000010081
+:10CEB0000000000000000000000000000000000072
+:10CEC0000000000000000000000000000000000062
+:10CED0000000000000000000000000000000000052
+:10CEE0000000000000000000000000000000000042
+:10CEF0000000000000000000000000000000000032
+:10CF00000000000000000000000000000000000021
+:10CF10000000000000000000000000000000000011
+:10CF20000000000000000000000000000000000001
+:10CF300000000000000000000000000000000000F1
+:10CF400000000000000000000000000000000000E1
+:10CF500000000000000000000000000000000000D1
+:10CF600000000000000000000000000000000000C1
+:10CF700000000000000000000000000000000000B1
+:10CF8000000000000000000000000000000000029F
+:10CF90000000000000000000000000000000000091
+:10CFA0000000000000000000000000000000010080
+:10CFB0000000000000000000000000000000000071
+:10CFC0000000000000000000000000000000000061
+:10CFD0000000000000000000000000000000000051
+:10CFE0000000000000000000000000000000000041
+:10CFF0000000000000000000000000000000000031
+:10D000000000000000000000000000000000000020
+:10D010000000000000000000000000000000000010
+:10D020000000000000000000000000000000000000
+:10D0300000000000000000000000000000000000F0
+:10D0400000000000000000000000000000000000E0
+:10D0500000000000000000000000000000000000D0
+:10D0600000000000000000000000000000000000C0
+:10D0700000000000000000000000000000000000B0
+:10D08000000000000000000000000000000000029E
+:10D090000000000000000000000000000000000090
+:10D0A000000000000000000000000000000001007F
+:10D0B0000000000000000000000000000000000070
+:10D0C0000000000000000000000000000000000060
+:10D0D0000000000000000000000000000000000050
+:10D0E0000000000000000000000000000000000040
+:10D0F0000000000000000000000000000000000030
+:10D10000000000000000000000000000000000001F
+:10D11000000000000000000000000000000000000F
+:10D1200000000000000000000000000000000000FF
+:10D1300000000000000000000000000000000000EF
+:10D1400000000000000000000000000000000000DF
+:10D1500000000000000000000000000000000000CF
+:10D1600000000000000000000000000000000000BF
+:10D1700000000000000000000000000000000000AF
+:10D18000000000000000000000000000000000029D
+:10D19000000000000000000000000000000000008F
+:10D1A000000000000000000000000000000001007E
+:10D1B000000000000000000000000000000000006F
+:10D1C000000000000000000000000000000000005F
+:10D1D000000000000000000000000000000000004F
+:10D1E000000000000000000000000000000000003F
+:10D1F000000000000000000000000000000000002F
+:10D20000000000000000000000000000000000001E
+:10D21000000000000000000000000000000000000E
+:10D2200000000000000000000000000000000000FE
+:10D2300000000000000000000000000000000000EE
+:10D2400000000000000000000000000000000000DE
+:10D2500000000000000000000000000000000000CE
+:10D2600000000000000000000000000000000000BE
+:10D2700000000000000000000000000000000000AE
+:10D28000000000000000000000000000000000029C
+:10D29000000000000000000000000000000000008E
+:10D2A000000000000000000000000000000001007D
+:10D2B000000000000000000000000000000000006E
+:10D2C000000000000000000000000000000000005E
+:10D2D000000000000000000000000000000000004E
+:10D2E000000000000000000000000000000000003E
+:10D2F000000000000000000000000000000000002E
+:10D30000000000000000000000000000000000001D
+:10D31000000000000000000000000000000000000D
+:10D3200000000000000000000000000000000000FD
+:10D3300000000000000000000000000000000000ED
+:10D3400000000000000000000000000000000000DD
+:10D3500000000000000000000000000000000000CD
+:10D3600000000000000000000000000000000000BD
+:10D3700000000000000000000000000000000000AD
+:10D38000000000000000000000000000000000029B
+:10D39000000000000000000000000000000000008D
+:10D3A000000000000000000000000000000001007C
+:10D3B000000000000000000000000000000000006D
+:10D3C000000000000000000000000000000000005D
+:10D3D000000000000000000000000000000000004D
+:10D3E000000000000000000000000000000000003D
+:10D3F000000000000000000000000000000000002D
+:10D40000000000000000000000000000000000001C
+:10D41000000000000000000000000000000000000C
+:10D4200000000000000000000000000000000000FC
+:10D4300000000000000000000000000000000000EC
+:10D4400000000000000000000000000000000000DC
+:10D4500000000000000000000000000000000000CC
+:10D4600000000000000000000000000000000000BC
+:10D4700000000000000000000000000000000000AC
+:10D48000000000000000000000000000000000029A
+:10D49000000000000000000000000000000000008C
+:10D4A000000000000000000000000000000001007B
+:10D4B000000000000000000000000000000000006C
+:10D4C000000000000000000000000000000000005C
+:10D4D000000000000000000000000000000000004C
+:10D4E000000000000000000000000000000000003C
+:10D4F000000000000000000000000000000000002C
+:10D50000000000000000000000000000000000001B
+:10D51000000000000000000000000000000000000B
+:10D5200000000000000000000000000000000000FB
+:10D5300000000000000000000000000000000000EB
+:10D5400000000000000000000000000000000000DB
+:10D5500000000000000000000000000000000000CB
+:10D5600000000000000000000000000000000000BB
+:10D5700000000000000000000000000000000000AB
+:10D580000000000000000000000000000000000299
+:10D59000000000000000000000000000000000008B
+:10D5A000000000000000000000000000000001007A
+:10D5B000000000000000000000000000000000006B
+:10D5C000000000000000000000000000000000005B
+:10D5D000000000000000000000000000000000004B
+:10D5E000000000000000000000000000000000003B
+:10D5F000000000000000000000000000000000002B
+:10D60000000000000000000000000000000000001A
+:10D61000000000000000000000000000000000000A
+:10D6200000000000000000000000000000000000FA
+:10D6300000000000000000000000000000000000EA
+:10D6400000000000000000000000000000000000DA
+:10D6500000000000000000000000000000000000CA
+:10D6600000000000000000000000000000000000BA
+:10D6700000000000000000000000000000000000AA
+:10D680000000000000000000000000000000000298
+:10D69000000000000000000000000000000000008A
+:10D6A000000000000000000000000000000000007A
+:10D6B000000000000000000000000000000000006A
+:10D6C000000000000000000000000000000000005A
+:10D6D000000000000000000000000000000000004A
+:10D6E000000000000000000000000000000000003A
+:10D6F000000000000000000000000000000000002A
+:10D700000000000000000000000000000000000019
+:10D710000000000000000000000000000000000009
+:10D7200000000000000000000000000000000000F9
+:10D7300000000000000000000000000000000000E9
+:10D7400000000000000000000000000000000000D9
+:10D7500000000000000000000000000000000000C9
+:10D7600000000000000000000000000000000000B9
+:10D7700000000000000000000000000000000000A9
+:10D780000000000000000000000000000000000099
+:10D790000000000000000000000000000000000A7F
+:10D7A0000000000000000000000000000000000079
+:10D7B0000000000000000100000000000000000068
+:10D7C0000000000000000000000000000000000059
+:10D7D0000000000000000000000000000000000049
+:10D7E0000000000000000000000000000000000039
+:10D7F0000000000000000000000000000000000029
+:10D800000000000000000000000000000000000018
+:10D810000000000000000000000000000000000008
+:10D8200000000000000000000000000000000000F8
+:10D8300000000000000000000000000000000000E8
+:10D8400000000000000000000000000000000000D8
+:10D8500000000000000000000000000000000000C8
+:10D8600000000000000000000000000000000000B8
+:10D8700000000000000000000000000000000000A8
+:10D880000000000000000000000000000000000098
+:10D890000000000000000002000000000000000086
+:10D8A0000000000000000000000000000000000078
+:10D8B0000000000000000100000000000000000067
+:10D8C0000000000000000000000000000000000058
+:10D8D0000000000000000000000000000000000048
+:10D8E0000000000000000000000000000000000038
+:10D8F0000000000000000000000000000000000028
+:10D900000000000000000000000000000000000017
+:10D910000000000000000000000000000000000007
+:10D9200000000000000000000000000000000000F7
+:10D9300000000000000000000000000000000000E7
+:10D9400000000000000000000000000000000000D7
+:10D9500000000000000000000000000000000000C7
+:10D9600000000000000000000000000000000000B7
+:10D9700000000000000000000000000000000000A7
+:10D980000000000000000000000000000000000097
+:10D990000000000000000002000000000000000085
+:10D9A0000000000000000000000000000000000077
+:10D9B0000000000000000100000000000000000066
+:10D9C0000000000000000000000000000000000057
+:10D9D0000000000000000000000000000000000047
+:10D9E0000000000000000000000000000000000037
+:10D9F0000000000000000000000000000000000027
+:10DA00000000000000000000000000000000000016
+:10DA10000000000000000000000000000000000006
+:10DA200000000000000000000000000000000000F6
+:10DA300000000000000000000000000000000000E6
+:10DA400000000000000000000000000000000000D6
+:10DA500000000000000000000000000000000000C6
+:10DA600000000000000000000000000000000000B6
+:10DA700000000000000000000000000000000000A6
+:10DA80000000000000000000000000000000000096
+:10DA90000000000000000002000000000000000084
+:10DAA0000000000000000000000000000000000076
+:10DAB0000000000000000100000000000000000065
+:10DAC0000000000000000000000000000000000056
+:10DAD0000000000000000000000000000000000046
+:10DAE0000000000000000000000000000000000036
+:10DAF0000000000000000000000000000000000026
+:10DB00000000000000000000000000000000000015
+:10DB10000000000000000000000000000000000005
+:10DB200000000000000000000000000000000000F5
+:10DB300000000000000000000000000000000000E5
+:10DB400000000000000000000000000000000000D5
+:10DB500000000000000000000000000000000000C5
+:10DB600000000000000000000000000000000000B5
+:10DB700000000000000000000000000000000000A5
+:10DB80000000000000000000000000000000000095
+:10DB90000000000000000002000000000000000083
+:10DBA0000000000000000000000000000000000075
+:10DBB0000000000000000100000000000000000064
+:10DBC0000000000000000000000000000000000055
+:10DBD0000000000000000000000000000000000045
+:10DBE0000000000000000000000000000000000035
+:10DBF0000000000000000000000000000000000025
+:10DC00000000000000000000000000000000000014
+:10DC10000000000000000000000000000000000004
+:10DC200000000000000000000000000000000000F4
+:10DC300000000000000000000000000000000000E4
+:10DC400000000000000000000000000000000000D4
+:10DC500000000000000000000000000000000000C4
+:10DC600000000000000000000000000000000000B4
+:10DC700000000000000000000000000000000000A4
+:10DC80000000000000000000000000000000000094
+:10DC90000000000000000002000000000000000082
+:10DCA0000000000000000000000000000000000074
+:10DCB0000000000000000100000000000000000063
+:10DCC0000000000000000000000000000000000054
+:10DCD0000000000000000000000000000000000044
+:10DCE0000000000000000000000000000000000034
+:10DCF0000000000000000000000000000000000024
+:10DD00000000000000000000000000000000000013
+:10DD10000000000000000000000000000000000003
+:10DD200000000000000000000000000000000000F3
+:10DD300000000000000000000000000000000000E3
+:10DD400000000000000000000000000000000000D3
+:10DD500000000000000000000000000000000000C3
+:10DD600000000000000000000000000000000000B3
+:10DD700000000000000000000000000000000000A3
+:10DD80000000000000000000000000000000000093
+:10DD90000000000000000002000000000000000081
+:10DDA0000000000000000000000000000000000073
+:10DDB0000000000000000100000000000000000062
+:10DDC0000000000000000000000000000000000053
+:10DDD0000000000000000000000000000000000043
+:10DDE0000000000000000000000000000000000033
+:10DDF0000000000000000000000000000000000023
+:10DE00000000000000000000000000000000000012
+:10DE10000000000000000000000000000000000002
+:10DE200000000000000000000000000000000000F2
+:10DE300000000000000000000000000000000000E2
+:10DE400000000000000000000000000000000000D2
+:10DE500000000000000000000000000000000000C2
+:10DE600000000000000000000000000000000000B2
+:10DE700000000000000000000000000000000000A2
+:10DE80000000000000000000000000000000000092
+:10DE90000000000000000002000000000000000080
+:10DEA0000000000000000000000000000000000072
+:10DEB0000000000000000100000000000000000061
+:10DEC0000000000000000000000000000000000052
+:10DED0000000000000000000000000000000000042
+:10DEE0000000000000000000000000000000000032
+:10DEF0000000000000000000000000000000000022
+:10DF00000000000000000000000000000000000011
+:10DF10000000000000000000000000000000000001
+:10DF200000000000000000000000000000000000F1
+:10DF300000000000000000000000000000000000E1
+:10DF400000000000000000000000000000000000D1
+:10DF500000000000000000000000000000000000C1
+:10DF600000000000000000000000000000000000B1
+:10DF700000000000000000000000000000000000A1
+:10DF80000000000000000000000000000000000091
+:10DF9000000000000000000200000000000000007F
+:10DFA0000000000000000000000000000000000071
+:10DFB0000000000000000100000000000000000060
+:10DFC0000000000000000000000000000000000051
+:10DFD0000000000000000000000000000000000041
+:10DFE0000000000000000000000000000000000031
+:10DFF0000000000000000000000000000000000021
+:10E000000000000000000000000000000000000010
+:10E010000000000000000000000000000000000000
+:10E0200000000000000000000000000000000000F0
+:10E0300000000000000000000000000000000000E0
+:10E0400000000000000000000000000000000000D0
+:10E0500000000000000000000000000000000000C0
+:10E0600000000000000000000000000000000000B0
+:10E0700000000000000000000000000000000000A0
+:10E080000000000000000000000000000000000090
+:10E09000000000000000000200000000000000007E
+:10E0A0000000000000000000000000000000000070
+:10E0B0000000000000000000000000000000000060
+:10E0C0000000000000000000000000000000000050
+:10E0D0000000000000000000000000000000000040
+:10E0E0000000000000000000000000000000000030
+:10E0F0000000000000000000000000000000000020
+:10E10000000000000000000000000000000000000F
+:10E1100000000000000000000000000000000000FF
+:10E1200000000000000000000000000000000000EF
+:10E1300000000000000000000000000000000000DF
+:10E1400000000000000000000000000000000000CF
+:10E1500000000000000000000000000000000000BF
+:10E1600000000000000000000000000000000000AF
+:10E17000000000000000000000000000000000009F
+:10E18000000000000000000000000000000000008F
+:10E19000000000000000000000000000000000007F
+:10E1A000000000000000000A000000000000000065
+:10E1B000000000000000000000000000000001005E
+:10E1C000000000000000000000000000000000004F
+:10E1D000000000000000000000000000000000003F
+:10E1E000000000000000000000000000000000002F
+:10E1F000000000000000000000000000000000001F
+:10E20000000000000000000000000000000000000E
+:10E2100000000000000000000000000000000000FE
+:10E2200000000000000000000000000000000000EE
+:10E2300000000000000000000000000000000000DE
+:10E2400000000000000000000000000000000000CE
+:10E2500000000000000000000000000000000000BE
+:10E2600000000000000000000000000000000000AE
+:10E27000000000000000000000000000000000009E
+:10E28000000000000000000000000000000000008E
+:10E29000000000000000000000000000000000027C
+:10E2A000000000000000000000000000000000006E
+:10E2B000000000000000000000000000000001005D
+:10E2C000000000000000000000000000000000004E
+:10E2D000000000000000000000000000000000003E
+:10E2E000000000000000000000000000000000002E
+:10E2F000000000000000000000000000000000001E
+:10E30000000000000000000000000000000000000D
+:10E3100000000000000000000000000000000000FD
+:10E3200000000000000000000000000000000000ED
+:10E3300000000000000000000000000000000000DD
+:10E3400000000000000000000000000000000000CD
+:10E3500000000000000000000000000000000000BD
+:10E3600000000000000000000000000000000000AD
+:10E37000000000000000000000000000000000009D
+:10E38000000000000000000000000000000000008D
+:10E39000000000000000000000000000000000027B
+:10E3A000000000000000000000000000000000006D
+:10E3B000000000000000000000000000000001005C
+:10E3C000000000000000000000000000000000004D
+:10E3D000000000000000000000000000000000003D
+:10E3E000000000000000000000000000000000002D
+:10E3F000000000000000000000000000000000001D
+:10E40000000000000000000000000000000000000C
+:10E4100000000000000000000000000000000000FC
+:10E4200000000000000000000000000000000000EC
+:10E4300000000000000000000000000000000000DC
+:10E4400000000000000000000000000000000000CC
+:10E4500000000000000000000000000000000000BC
+:10E4600000000000000000000000000000000000AC
+:10E47000000000000000000000000000000000009C
+:10E48000000000000000000000000000000000008C
+:10E49000000000000000000000000000000000027A
+:10E4A000000000000000000000000000000000006C
+:10E4B000000000000000000000000000000001005B
+:10E4C000000000000000000000000000000000004C
+:10E4D000000000000000000000000000000000003C
+:10E4E000000000000000000000000000000000002C
+:10E4F000000000000000000000000000000000001C
+:10E50000000000000000000000000000000000000B
+:10E5100000000000000000000000000000000000FB
+:10E5200000000000000000000000000000000000EB
+:10E5300000000000000000000000000000000000DB
+:10E5400000000000000000000000000000000000CB
+:10E5500000000000000000000000000000000000BB
+:10E5600000000000000000000000000000000000AB
+:10E57000000000000000000000000000000000009B
+:10E58000000000000000000000000000000000008B
+:10E590000000000000000000000000000000000279
+:10E5A000000000000000000000000000000000006B
+:10E5B000000000000000000000000000000001005A
+:10E5C000000000000000000000000000000000004B
+:10E5D000000000000000000000000000000000003B
+:10E5E000000000000000000000000000000000002B
+:10E5F000000000000000000000000000000000001B
+:10E60000000000000000000000000000000000000A
+:10E6100000000000000000000000000000000000FA
+:10E6200000000000000000000000000000000000EA
+:10E6300000000000000000000000000000000000DA
+:10E6400000000000000000000000000000000000CA
+:10E6500000000000000000000000000000000000BA
+:10E6600000000000000000000000000000000000AA
+:10E67000000000000000000000000000000000009A
+:10E68000000000000000000000000000000000008A
+:10E690000000000000000000000000000000000278
+:10E6A000000000000000000000000000000000006A
+:10E6B0000000000000000000000000000000010059
+:10E6C000000000000000000000000000000000004A
+:10E6D000000000000000000000000000000000003A
+:10E6E000000000000000000000000000000000002A
+:10E6F000000000000000000000000000000000001A
+:10E700000000000000000000000000000000000009
+:10E7100000000000000000000000000000000000F9
+:10E7200000000000000000000000000000000000E9
+:10E7300000000000000000000000000000000000D9
+:10E7400000000000000000000000000000000000C9
+:10E7500000000000000000000000000000000000B9
+:10E7600000000000000000000000000000000000A9
+:10E770000000000000000000000000000000000099
+:10E780000000000000000000000000000000000089
+:10E790000000000000000000000000000000000277
+:10E7A0000000000000000000000000000000000069
+:10E7B0000000000000000000000000000000010058
+:10E7C0000000000000000000000000000000000049
+:10E7D0000000000000000000000000000000000039
+:10E7E0000000000000000000000000000000000029
+:10E7F0000000000000000000000000000000000019
+:10E800000000000000000000000000000000000008
+:10E8100000000000000000000000000000000000F8
+:10E8200000000000000000000000000000000000E8
+:10E8300000000000000000000000000000000000D8
+:10E8400000000000000000000000000000000000C8
+:10E8500000000000000000000000000000000000B8
+:10E8600000000000000000000000000000000000A8
+:10E870000000000000000000000000000000000098
+:10E880000000000000000000000000000000000088
+:10E890000000000000000000000000000000000276
+:10E8A0000000000000000000000000000000000068
+:10E8B0000000000000000000000000000000010057
+:10E8C0000000000000000000000000000000000048
+:10E8D0000000000000000000000000000000000038
+:10E8E0000000000000000000000000000000000028
+:10E8F0000000000000000000000000000000000018
+:10E900000000000000000000000000000000000007
+:10E9100000000000000000000000000000000000F7
+:10E9200000000000000000000000000000000000E7
+:10E9300000000000000000000000000000000000D7
+:10E9400000000000000000000000000000000000C7
+:10E9500000000000000000000000000000000000B7
+:10E9600000000000000000000000000000000000A7
+:10E970000000000000000000000000000000000097
+:10E980000000000000000000000000000000000087
+:10E990000000000000000000000000000000000275
+:10E9A0000000000000000000000000000000000067
+:10E9B0000000000000000000000000000000010056
+:10E9C0000000000000000000000000000000000047
+:10E9D0000000000000000000000000000000000037
+:10E9E0000000000000000000000000000000000027
+:10E9F0000000000000000000000000000000000017
+:10EA00000000000000000000000000000000000006
+:10EA100000000000000000000000000000000000F6
+:10EA200000000000000000000000000000000000E6
+:10EA300000000000000000000000000000000000D6
+:10EA400000000000000000000000000000000000C6
+:10EA500000000000000000000000000000000000B6
+:10EA600000000000000000000000000000000000A6
+:10EA70000000000000000000000000000000000096
+:10EA80000000000000000000000000000000000086
+:10EA90000000000000000000000000000000000274
+:10EAA0000000000000000000000000000000000066
+:10EAB0000000000000000000000000000000000056
+:10EAC0000000000000000000000000000000000046
+:10EAD0000000000000000000000000000000000036
+:10EAE0000000000000000000000000000000000026
+:10EAF0000000000000000000000000000000000016
+:10EB00000000000000000000000000000000000005
+:10EB100000000000000000000000000000000000F5
+:10EB200000000000000000000000000000000000E5
+:10EB300000000000000000000000000000000000D5
+:10EB400000000000000000000000000000000000C5
+:10EB500000000000000000000000000000000000B5
+:10EB600000000000000000000000000000000000A5
+:10EB70000000000000000000000000000000000095
+:10EB80000000000000000000000000000000000085
+:10EB90000000000000000000000000000000000075
+:10EBA0000000000000000000000000000000000A5B
+:10EBB0000000000000000000000000000000000055
+:10EBC0000000000000000100000000000000000044
+:10EBD0000000000000000000000000000000000035
+:10EBE0000000000000000000000000000000000025
+:10EBF0000000000000000000000000000000000015
+:10EC00000000000000000000000000000000000004
+:10EC100000000000000000000000000000000000F4
+:10EC200000000000000000000000000000000000E4
+:10EC300000000000000000000000000000000000D4
+:10EC400000000000000000000000000000000000C4
+:10EC500000000000000000000000000000000000B4
+:10EC600000000000000000000000000000000000A4
+:10EC70000000000000000000000000000000000094
+:10EC80000000000000000000000000000000000084
+:10EC90000000000000000000000000000000000074
+:10ECA0000000000000000002000000000000000062
+:10ECB0000000000000000000000000000000000054
+:10ECC0000000000000000100000000000000000043
+:10ECD0000000000000000000000000000000000034
+:10ECE0000000000000000000000000000000000024
+:10ECF0000000000000000000000000000000000014
+:10ED00000000000000000000000000000000000003
+:10ED100000000000000000000000000000000000F3
+:10ED200000000000000000000000000000000000E3
+:10ED300000000000000000000000000000000000D3
+:10ED400000000000000000000000000000000000C3
+:10ED500000000000000000000000000000000000B3
+:10ED600000000000000000000000000000000000A3
+:10ED70000000000000000000000000000000000093
+:10ED80000000000000000000000000000000000083
+:10ED90000000000000000000000000000000000073
+:10EDA0000000000000000002000000000000000061
+:10EDB0000000000000000000000000000000000053
+:10EDC0000000000000000100000000000000000042
+:10EDD0000000000000000000000000000000000033
+:10EDE0000000000000000000000000000000000023
+:10EDF0000000000000000000000000000000000013
+:10EE00000000000000000000000000000000000002
+:10EE100000000000000000000000000000000000F2
+:10EE200000000000000000000000000000000000E2
+:10EE300000000000000000000000000000000000D2
+:10EE400000000000000000000000000000000000C2
+:10EE500000000000000000000000000000000000B2
+:10EE600000000000000000000000000000000000A2
+:10EE70000000000000000000000000000000000092
+:10EE80000000000000000000000000000000000082
+:10EE90000000000000000000000000000000000072
+:10EEA0000000000000000002000000000000000060
+:10EEB0000000000000000000000000000000000052
+:10EEC0000000000000000100000000000000000041
+:10EED0000000000000000000000000000000000032
+:10EEE0000000000000000000000000000000000022
+:10EEF0000000000000000000000000000000000012
+:10EF00000000000000000000000000000000000001
+:10EF100000000000000000000000000000000000F1
+:10EF200000000000000000000000000000000000E1
+:10EF300000000000000000000000000000000000D1
+:10EF400000000000000000000000000000000000C1
+:10EF500000000000000000000000000000000000B1
+:10EF600000000000000000000000000000000000A1
+:10EF70000000000000000000000000000000000091
+:10EF80000000000000000000000000000000000081
+:10EF90000000000000000000000000000000000071
+:10EFA000000000000000000200000000000000005F
+:10EFB0000000000000000000000000000000000051
+:10EFC0000000000000000100000000000000000040
+:10EFD0000000000000000000000000000000000031
+:10EFE0000000000000000000000000000000000021
+:10EFF0000000000000000000000000000000000011
+:10F000000000000000000000000000000000000000
+:10F0100000000000000000000000000000000000F0
+:10F0200000000000000000000000000000000000E0
+:10F0300000000000000000000000000000000000D0
+:10F0400000000000000000000000000000000000C0
+:10F0500000000000000000000000000000000000B0
+:10F0600000000000000000000000000000000000A0
+:10F070000000000000000000000000000000000090
+:10F080000000000000000000000000000000000080
+:10F090000000000000000000000000000000000070
+:10F0A000000000000000000200000000000000005E
+:10F0B0000000000000000000000000000000000050
+:10F0C000000000000000010000000000000000003F
+:10F0D0000000000000000000000000000000000030
+:10F0E0000000000000000000000000000000000020
+:10F0F0000000000000000000000000000000000010
+:10F1000000000000000000000000000000000000FF
+:10F1100000000000000000000000000000000000EF
+:10F1200000000000000000000000000000000000DF
+:10F1300000000000000000000000000000000000CF
+:10F1400000000000000000000000000000000000BF
+:10F1500000000000000000000000000000000000AF
+:10F16000000000000000000000000000000000009F
+:10F17000000000000000000000000000000000008F
+:10F18000000000000000000000000000000000007F
+:10F19000000000000000000000000000000000006F
+:10F1A000000000000000000200000000000000005D
+:10F1B000000000000000000000000000000000004F
+:10F1C000000000000000010000000000000000003E
+:10F1D000000000000000000000000000000000002F
+:10F1E000000000000000000000000000000000001F
+:10F1F000000000000000000000000000000000000F
+:10F2000000000000000000000000000000000000FE
+:10F2100000000000000000000000000000000000EE
+:10F2200000000000000000000000000000000000DE
+:10F2300000000000000000000000000000000000CE
+:10F2400000000000000000000000000000000000BE
+:10F2500000000000000000000000000000000000AE
+:10F26000000000000000000000000000000000009E
+:10F27000000000000000000000000000000000008E
+:10F28000000000000000000000000000000000007E
+:10F29000000000000000000000000000000000006E
+:10F2A000000000000000000200000000000000005C
+:10F2B000000000000000000000000000000000004E
+:10F2C000000000000000010000000000000000003D
+:10F2D000000000000000000000000000000000002E
+:10F2E000000000000000000000000000000000001E
+:10F2F000000000000000000000000000000000000E
+:10F3000000000000000000000000000000000000FD
+:10F3100000000000000000000000000000000000ED
+:10F3200000000000000000000000000000000000DD
+:10F3300000000000000000000000000000000000CD
+:10F3400000000000000000000000000000000000BD
+:10F3500000000000000000000000000000000000AD
+:10F36000000000000000000000000000000000009D
+:10F37000000000000000000000000000000000008D
+:10F38000000000000000000000000000000000007D
+:10F39000000000000000000000000000000000006D
+:10F3A000000000000000000200000000000000005B
+:10F3B000000000000000000000000000000000004D
+:10F3C000000000000000010000000000000000003C
+:10F3D000000000000000000000000000000000002D
+:10F3E000000000000000000000000000000000001D
+:10F3F000000000000000000000000000000000000D
+:10F4000000000000000000000000000000000000FC
+:10F4100000000000000000000000000000000000EC
+:10F4200000000000000000000000000000000000DC
+:10F4300000000000000000000000000000000000CC
+:10F4400000000000000000000000000000000000BC
+:10F4500000000000000000000000000000000000AC
+:10F46000000000000000000000000000000000009C
+:10F47000000000000000000000000000000000008C
+:10F48000000000000000000000000000000000007C
+:10F49000000000000000000000000000000000006C
+:10F4A000000000000000000200000000000000005A
+:10F4B000000000000000000000000000000000004C
+:10F4C000000000000000000000000000000000003C
+:10F4D000000000000000000000000000000000002C
+:10F4E000000000000000000000000000000000001C
+:10F4F000000000000000000000000000000000000C
+:10F5000000000000000000000000000000000000FB
+:10F5100000000000000000000000000000000000EB
+:10F5200000000000000000000000000000000000DB
+:10F5300000000000000000000000000000000000CB
+:10F5400000000000000000000000000000000000BB
+:10F5500000000000000000000000000000000000AB
+:10F56000000000000000000000000000000000009B
+:10F57000000000000000000000000000000000008B
+:10F58000000000000000000000000000000000007B
+:10F59000000000000000000000000000000000006B
+:10F5A000000000000000000000000000000000005B
+:10F5B000000000000000000A000000000000000041
+:10F5C000000000000000000000000000000001003A
+:10F5D000000000000000000000000000000000002B
+:10F5E000000000000000000000000000000000001B
+:10F5F000000000000000000000000000000000000B
+:10F6000000000000000000000000000000000000FA
+:10F6100000000000000000000000000000000000EA
+:10F6200000000000000000000000000000000000DA
+:10F6300000000000000000000000000000000000CA
+:10F6400000000000000000000000000000000000BA
+:10F6500000000000000000000000000000000000AA
+:10F66000000000000000000000000000000000009A
+:10F67000000000000000000000000000000000008A
+:10F68000000000000000000000000000000000007A
+:10F69000000000000000000000000000000000006A
+:10F6A0000000000000000000000000000000000258
+:10F6B000000000000000000000000000000000004A
+:10F6C0000000000000000000000000000000010039
+:10F6D000000000000000000000000000000000002A
+:10F6E000000000000000000000000000000000001A
+:10F6F000000000000000000000000000000000000A
+:10F7000000000000000000000000000000000000F9
+:10F7100000000000000000000000000000000000E9
+:10F7200000000000000000000000000000000000D9
+:10F7300000000000000000000000000000000000C9
+:10F7400000000000000000000000000000000000B9
+:10F7500000000000000000000000000000000000A9
+:10F760000000000000000000000000000000000099
+:10F770000000000000000000000000000000000089
+:10F780000000000000000000000000000000000079
+:10F790000000000000000000000000000000000069
+:10F7A0000000000000000000000000000000000257
+:10F7B0000000000000000000000000000000000049
+:10F7C0000000000000000000000000000000010038
+:10F7D0000000000000000000000000000000000029
+:10F7E0000000000000000000000000000000000019
+:10F7F0000000000000000000000000000000000009
+:10F8000000000000000000000000000000000000F8
+:10F8100000000000000000000000000000000000E8
+:10F8200000000000000000000000000000000000D8
+:10F8300000000000000000000000000000000000C8
+:10F8400000000000000000000000000000000000B8
+:10F8500000000000000000000000000000000000A8
+:10F860000000000000000000000000000000000098
+:10F870000000000000000000000000000000000088
+:10F880000000000000000000000000000000000078
+:10F890000000000000000000000000000000000068
+:10F8A0000000000000000000000000000000000256
+:10F8B0000000000000000000000000000000000048
+:10F8C0000000000000000000000000000000010037
+:10F8D0000000000000000000000000000000000028
+:10F8E0000000000000000000000000000000000018
+:10F8F0000000000000000000000000000000000008
+:10F9000000000000000000000000000000000000F7
+:10F9100000000000000000000000000000000000E7
+:10F9200000000000000000000000000000000000D7
+:10F9300000000000000000000000000000000000C7
+:10F9400000000000000000000000000000000000B7
+:10F9500000000000000000000000000000000000A7
+:10F960000000000000000000000000000000000097
+:10F970000000000000000000000000000000000087
+:10F980000000000000000000000000000000000077
+:10F990000000000000000000000000000000000067
+:10F9A0000000000000000000000000000000000255
+:10F9B0000000000000000000000000000000000047
+:10F9C0000000000000000000000000000000010036
+:10F9D0000000000000000000000000000000000027
+:10F9E0000000000000000000000000000000000017
+:10F9F0000000000000000000000000000000000007
+:10FA000000000000000000000000000000000000F6
+:10FA100000000000000000000000000000000000E6
+:10FA200000000000000000000000000000000000D6
+:10FA300000000000000000000000000000000000C6
+:10FA400000000000000000000000000000000000B6
+:10FA500000000000000000000000000000000000A6
+:10FA60000000000000000000000000000000000096
+:10FA70000000000000000000000000000000000086
+:10FA80000000000000000000000000000000000076
+:10FA90000000000000000000000000000000000066
+:10FAA0000000000000000000000000000000000254
+:10FAB0000000000000000000000000000000000046
+:10FAC0000000000000000000000000000000010035
+:10FAD0000000000000000000000000000000000026
+:10FAE0000000000000000000000000000000000016
+:10FAF0000000000000000000000000000000000006
+:10FB000000000000000000000000000000000000F5
+:10FB100000000000000000000000000000000000E5
+:10FB200000000000000000000000000000000000D5
+:10FB300000000000000000000000000000000000C5
+:10FB400000000000000000000000000000000000B5
+:10FB500000000000000000000000000000000000A5
+:10FB60000000000000000000000000000000000095
+:10FB70000000000000000000000000000000000085
+:10FB80000000000000000000000000000000000075
+:10FB90000000000000000000000000000000000065
+:10FBA0000000000000000000000000000000000253
+:10FBB0000000000000000000000000000000000045
+:10FBC0000000000000000000000000000000010034
+:10FBD0000000000000000000000000000000000025
+:10FBE0000000000000000000000000000000000015
+:10FBF0000000000000000000000000000000000005
+:10FC000000000000000000000000000000000000F4
+:10FC100000000000000000000000000000000000E4
+:10FC200000000000000000000000000000000000D4
+:10FC300000000000000000000000000000000000C4
+:10FC400000000000000000000000000000000000B4
+:10FC500000000000000000000000000000000000A4
+:10FC60000000000000000000000000000000000094
+:10FC70000000000000000000000000000000000084
+:10FC80000000000000000000000000000000000074
+:10FC90000000000000000000000000000000000064
+:10FCA0000000000000000000000000000000000252
+:10FCB0000000000000000000000000000000000044
+:10FCC0000000000000000000000000000000010033
+:10FCD0000000000000000000000000000000000024
+:10FCE0000000000000000000000000000000000014
+:10FCF0000000000000000000000000000000000004
+:10FD000000000000000000000000000000000000F3
+:10FD100000000000000000000000000000000000E3
+:10FD200000000000000000000000000000000000D3
+:10FD300000000000000000000000000000000000C3
+:10FD400000000000000000000000000000000000B3
+:10FD500000000000000000000000000000000000A3
+:10FD60000000000000000000000000000000000093
+:10FD70000000000000000000000000000000000083
+:10FD80000000000000000000000000000000000073
+:10FD90000000000000000000000000000000000063
+:10FDA0000000000000000000000000000000000251
+:10FDB0000000000000000000000000000000000043
+:10FDC0000000000000000000000000000000010032
+:10FDD0000000000000000000000000000000000023
+:10FDE0000000000000000000000000000000000013
+:10FDF0000000000000000000000000000000000003
+:10FE000000000000000000000000000000000000F2
+:10FE100000000000000000000000000000000000E2
+:10FE200000000000000000000000000000000000D2
+:10FE300000000000000000000000000000000000C2
+:10FE400000000000000000000000000000000000B2
+:10FE500000000000000000000000000000000000A2
+:10FE60000000000000000000000000000000000092
+:10FE70000000000000000000000000000000000082
+:10FE80000000000000000000000000000000000072
+:10FE90000000000000000000000000000000000062
+:10FEA0000000000000000000000000000000000250
+:10FEB0000000000000000000000000000000000042
+:10FEC0000000000000000000000000000000000032
+:10FED0000000000000000000000000000000000022
+:10FEE0000000000000000000000000000000000012
+:10FEF0000000000000000000000000000000000002
+:10FF000000000000000000000000000000000000F1
+:10FF100000000000000000000000000000000000E1
+:10FF200000000000000000000000000000000000D1
+:10FF300000000000000000000000000000000000C1
+:10FF400000000000000000000000000000000000B1
+:10FF500000000000000000000000000000000000A1
+:10FF60000000000000000000000000000000000091
+:10FF70000000000000000000000000000000000081
+:10FF80000000000000000000000000000000000071
+:10FF90000000000000000000000000000000000061
+:10FFA0000000000000000000000000000000000051
+:10FFB0000000000000000000000000000000000A37
+:10FFC0000000000000000000000000000000000031
+:10FFD0000000000000000100000000000000000020
+:10FFE0000000000000000000000000000000000011
+:10FFF0000000000000000000000000000000000001
+:02000002F0000C
+:1000000000000000000000000000000000000000F0
+:1000100000000000000000000000000000000000E0
+:1000200000000000000000000000000000000000D0
+:1000300000000000000000000000000000000000C0
+:1000400000000000000000000000000000000000B0
+:1000500000000000000000000000000000000000A0
+:100060000000000000000000000000000000000090
+:100070000000000000000000000000000000000080
+:100080000000000000000000000000000000000070
+:100090000000000000000000000000000000000060
+:1000A0000000000000000000000000000000000050
+:1000B000000000000000000200000000000000003E
+:1000C0000000000000000000000000000000000030
+:1000D000000000000000010000000000000000001F
+:1000E0000000000000000000000000000000000010
+:1000F0000000000000000000000000000000000000
+:1001000000000000000000000000000000000000EF
+:1001100000000000000000000000000000000000DF
+:1001200000000000000000000000000000000000CF
+:1001300000000000000000000000000000000000BF
+:1001400000000000000000000000000000000000AF
+:10015000000000000000000000000000000000009F
+:10016000000000000000000000000000000000008F
+:10017000000000000000000000000000000000007F
+:10018000000000000000000000000000000000006F
+:10019000000000000000000000000000000000005F
+:1001A000000000000000000000000000000000004F
+:1001B000000000000000000200000000000000003D
+:1001C000000000000000000000000000000000002F
+:1001D000000000000000010000000000000000001E
+:1001E000000000000000000000000000000000000F
+:1001F00000000000000000000000000000000000FF
+:1002000000000000000000000000000000000000EE
+:1002100000000000000000000000000000000000DE
+:1002200000000000000000000000000000000000CE
+:1002300000000000000000000000000000000000BE
+:1002400000000000000000000000000000000000AE
+:10025000000000000000000000000000000000009E
+:10026000000000000000000000000000000000008E
+:10027000000000000000000000000000000000007E
+:10028000000000000000000000000000000000006E
+:10029000000000000000000000000000000000005E
+:1002A000000000000000000000000000000000004E
+:1002B000000000000000000200000000000000003C
+:1002C000000000000000000000000000000000002E
+:1002D000000000000000010000000000000000001D
+:1002E000000000000000000000000000000000000E
+:1002F00000000000000000000000000000000000FE
+:1003000000000000000000000000000000000000ED
+:1003100000000000000000000000000000000000DD
+:1003200000000000000000000000000000000000CD
+:1003300000000000000000000000000000000000BD
+:1003400000000000000000000000000000000000AD
+:10035000000000000000000000000000000000009D
+:10036000000000000000000000000000000000008D
+:10037000000000000000000000000000000000007D
+:10038000000000000000000000000000000000006D
+:10039000000000000000000000000000000000005D
+:1003A000000000000000000000000000000000004D
+:1003B000000000000000000200000000000000003B
+:1003C000000000000000000000000000000000002D
+:1003D000000000000000010000000000000000001C
+:1003E000000000000000000000000000000000000D
+:1003F00000000000000000000000000000000000FD
+:1004000000000000000000000000000000000000EC
+:1004100000000000000000000000000000000000DC
+:1004200000000000000000000000000000000000CC
+:1004300000000000000000000000000000000000BC
+:1004400000000000000000000000000000000000AC
+:10045000000000000000000000000000000000009C
+:10046000000000000000000000000000000000008C
+:10047000000000000000000000000000000000007C
+:10048000000000000000000000000000000000006C
+:10049000000000000000000000000000000000005C
+:1004A000000000000000000000000000000000004C
+:1004B000000000000000000200000000000000003A
+:1004C000000000000000000000000000000000002C
+:1004D000000000000000010000000000000000001B
+:1004E000000000000000000000000000000000000C
+:1004F00000000000000000000000000000000000FC
+:1005000000000000000000000000000000000000EB
+:1005100000000000000000000000000000000000DB
+:1005200000000000000000000000000000000000CB
+:1005300000000000000000000000000000000000BB
+:1005400000000000000000000000000000000000AB
+:10055000000000000000000000000000000000009B
+:10056000000000000000000000000000000000008B
+:10057000000000000000000000000000000000007B
+:10058000000000000000000000000000000000006B
+:10059000000000000000000000000000000000005B
+:1005A000000000000000000000000000000000004B
+:1005B0000000000000000002000000000000000039
+:1005C000000000000000000000000000000000002B
+:1005D000000000000000010000000000000000001A
+:1005E000000000000000000000000000000000000B
+:1005F00000000000000000000000000000000000FB
+:1006000000000000000000000000000000000000EA
+:1006100000000000000000000000000000000000DA
+:1006200000000000000000000000000000000000CA
+:1006300000000000000000000000000000000000BA
+:1006400000000000000000000000000000000000AA
+:10065000000000000000000000000000000000009A
+:10066000000000000000000000000000000000008A
+:10067000000000000000000000000000000000007A
+:10068000000000000000000000000000000000006A
+:10069000000000000000000000000000000000005A
+:1006A000000000000000000000000000000000004A
+:1006B0000000000000000002000000000000000038
+:1006C000000000000000000000000000000000002A
+:1006D0000000000000000100000000000000000019
+:1006E000000000000000000000000000000000000A
+:1006F00000000000000000000000000000000000FA
+:1007000000000000000000000000000000000000E9
+:1007100000000000000000000000000000000000D9
+:1007200000000000000000000000000000000000C9
+:1007300000000000000000000000000000000000B9
+:1007400000000000000000000000000000000000A9
+:100750000000000000000000000000000000000099
+:100760000000000000000000000000000000000089
+:100770000000000000000000000000000000000079
+:100780000000000000000000000000000000000069
+:100790000000000000000000000000000000000059
+:1007A0000000000000000000000000000000000049
+:1007B0000000000000000002000000000000000037
+:1007C0000000000000000000000000000000000029
+:1007D0000000000000000100000000000000000018
+:1007E0000000000000000000000000000000000009
+:1007F00000000000000000000000000000000000F9
+:1008000000000000000000000000000000000000E8
+:1008100000000000000000000000000000000000D8
+:1008200000000000000000000000000000000000C8
+:1008300000000000000000000000000000000000B8
+:1008400000000000000000000000000000000000A8
+:100850000000000000000000000000000000000098
+:100860000000000000000000000000000000000088
+:100870000000000000000000000000000000000078
+:100880000000000000000000000000000000000068
+:100890000000000000000000000000000000000058
+:1008A0000000000000000000000000000000000048
+:1008B0000000000000000002000000000000000036
+:1008C0000000000000000000000000000000000028
+:1008D0000000000000000000000000000000000018
+:1008E0000000000000000000000000000000000008
+:1008F00000000000000000000000000000000000F8
+:1009000000000000000000000000000000000000E7
+:1009100000000000000000000000000000000000D7
+:1009200000000000000000000000000000000000C7
+:1009300000000000000000000000000000000000B7
+:1009400000000000000000000000000000000000A7
+:100950000000000000000000000000000000000097
+:100960000000000000000000000000000000000087
+:100970000000000000000000000000000000000077
+:100980000000000000000000000000000000000067
+:100990000000000000000000000000000000000057
+:1009A0000000000000000000000000000000000047
+:1009B0000000000000000000000000000000000037
+:0709C0000000000000000030
+:00000001FF
diff --git a/firmware/imx/epdc_E60_V110.fw.ihex b/firmware/imx/epdc_E60_V110.fw.ihex
new file mode 100644 (file)
index 0000000..eca5478
--- /dev/null
@@ -0,0 +1,45914 @@
+:10000000C7FFA986DE9C0000E30100000003250075
+:100010000127020E3C03000000000000400000C366
+:100020004700000100030D00FFFC0000000000532A
+:10003000000306090C0F1215181B1E21262B302059
+:10004000000000000000000017050000000000E0B4
+:1000500011060000000000C03509000000000090FB
+:10006000000000000000009895000000000000A0C3
+:1000700016010000000000A885010000000000B08B
+:10008000F2010000000000B85D020000000000C0A6
+:10009000C0020000000000C81B030000000000D0E8
+:1000A00074030000000000D8C9030000000000E055
+:1000B0001E040000000000E863040000000000F0DF
+:1000C0009E040000000000F8D70400000000009526
+:1000D0000000000000000001010101010101010117
+:1000E0000101010101010101010101010101010100
+:1000F00001010101010101010101010101010101F0
+:1001000001010101010101010101010101010101DF
+:1001100001010101010101010101010101010101CF
+:1001200001010101010101010101010101010101BF
+:1001300001010101010101010101010101010101AF
+:10014000010101010101010101010101010101019F
+:10015000010101010101010101010101010101018F
+:10016000010101010101010101010101010101017F
+:10017000010101010101010101010101010101016F
+:10018000010101010101010101010101010101015F
+:10019000010101010101010101010101010101014F
+:1001A000010101010101010101010101010101013F
+:1001B000010101010101010101010101010101012F
+:1001C000010101010101010101010101010101011F
+:1001D000010101010101010101010101010101010F
+:1001E00001010101010101010101010101010101FF
+:1001F00001010101010101010101010101010101EF
+:1002000001010101010101010101010101010101DE
+:1002100001010101010101010101010101010101CE
+:1002200001010101010101010101010101010101BE
+:1002300001010101010101010101010101010101AE
+:10024000010101010101010101010101010101019E
+:10025000010101010101010101010101010101018E
+:10026000010101010101010101010101010101017E
+:10027000010101010101010101010101010101016E
+:10028000010101010101010101010101010101015E
+:10029000010101010101010101010101010101014E
+:1002A000010101010101010101010101010101013E
+:1002B000010101010101010101010101010101012E
+:1002C000010101010101010101010101010101011E
+:1002D000010101010101010101010101010101010E
+:1002E00001010101010101010101010101010101FE
+:1002F00001010101010101010101010101010101EE
+:1003000001010101010101010101010101010101DD
+:1003100001010101010101010101010101010101CD
+:1003200001010101010101010101010101010101BD
+:1003300001010101010101010101010101010101AD
+:10034000010101010101010101010101010101019D
+:10035000010101010101010101010101010101018D
+:10036000010101010101010101010101010101017D
+:10037000010101010101010101010101010101016D
+:10038000010101010101010101010101010101015D
+:10039000010101010101010101010101010101014D
+:1003A000010101010101010101010101010101013D
+:1003B000010101010101010101010101010101012D
+:1003C000010101010101010101010101010101011D
+:1003D000010101010101010101010101010101010D
+:1003E00001010101010101010101010101010101FD
+:1003F00001010101010101010101010101010101ED
+:1004000001010101010101010101010101010101DC
+:1004100001010101010101010101010101010101CC
+:1004200001010101010101010101010101010101BC
+:1004300001010101010101010101010101010101AC
+:10044000010101010101010101010101010101019C
+:10045000010101010101010101010101010101018C
+:10046000010101010101010101010101010101017C
+:10047000010101010101010101010101010101016C
+:10048000010101010101010101010101010101015C
+:10049000010101010101010101010101010101014C
+:1004A000010101010101010101010101010101013C
+:1004B000010101010101010101010101010101012C
+:1004C000010101010101010101010101010101011C
+:1004D000010101010101010101010101010101010C
+:1004E00001010101010101010101010101010101FC
+:1004F00001010101010101010101010101010101EC
+:1005000001010101010101010101010101010101DB
+:1005100001010101010101010101010101010101CB
+:1005200001010101010101010101010101010101BB
+:1005300001010101010101010101010101010101AB
+:10054000010101010101010101010101010101019B
+:10055000010101010101010101010101010101018B
+:10056000010101010101010101010101010101017B
+:10057000010101010101010101010101010101016B
+:10058000010101010101010101010101010101015B
+:10059000010101010101010101010101010101014B
+:1005A000010101010101010101010101010101013B
+:1005B000010101010101010101010101010101012B
+:1005C000010101010101010101010101010101011B
+:1005D000010101010101010101010101010101010B
+:1005E00001010101010101010101010101010101FB
+:1005F00001010101010101010101010101010101EB
+:1006000001010101010101010101010101010101DA
+:1006100001010101010101010101010101010101CA
+:1006200001010101010101010101010101010101BA
+:1006300001010101010101010101010101010101AA
+:10064000010101010101010101010101010101019A
+:10065000010101010101010101010101010101018A
+:10066000010101010101010101010101010101017A
+:10067000010101010101010101010101010101016A
+:10068000010101010101010101010101010101015A
+:10069000010101010101010101010101010101014A
+:1006A000010101010101010101010101010101013A
+:1006B000010101010101010101010101010101012A
+:1006C000010101010101010101010101010101011A
+:1006D000010101010101010101010101010101010A
+:1006E00001010101010101010101010101010101FA
+:1006F00001010101010101010101010101010101EA
+:1007000001010101010101010101010101010101D9
+:1007100001010101010101010101010101010101C9
+:1007200001010101010101010101010101010101B9
+:1007300001010101010101010101010101010101A9
+:100740000101010101010101010101010101010199
+:100750000101010101010101010101010101010189
+:100760000101010101010101010101010101010179
+:100770000101010101010101010101010101010169
+:100780000101010101010101010101010101010159
+:100790000101010101010101010101010101010149
+:1007A0000101010101010101010101010101010139
+:1007B0000101010101010101010101010101010129
+:1007C0000101010101010101010101010101010119
+:1007D0000101010101010101010101010101010109
+:1007E00001010101010101010101010101010101F9
+:1007F00001010101010101010101010101010101E9
+:1008000001010101010101010101010101010101D8
+:1008100001010101010101010101010101010101C8
+:1008200001010101010101010101010101010101B8
+:1008300001010101010101010101010101010101A8
+:100840000101010101010101010101010101010198
+:100850000101010101010101010101010101010188
+:100860000101010101010101010101010101010178
+:100870000101010101010101010101010101010168
+:100880000101010101010101010101010101010158
+:100890000101010101010101010101010101010148
+:1008A0000101010101010101010101010101010138
+:1008B0000101010101010101010101010101010128
+:1008C0000101010101010101010101010101010118
+:1008D0000101010101010101010101010101010108
+:1008E00001010101010101010101010101010101F8
+:1008F00001010101010101010101010101010101E8
+:1009000001010101010101010101010101010101D7
+:1009100001010101010101010101010101010101C7
+:1009200001010101010101010101010101010101B7
+:1009300001010101010101010101010101010101A7
+:100940000101010101010101010101010101010197
+:100950000101010101010101010101010101010187
+:100960000101010101010101010101010101010177
+:100970000101010101010101010101010101010167
+:100980000101010101010101010101010101010157
+:100990000101010101010101010101010101010147
+:1009A0000101010101010101010101010101010137
+:1009B0000101010101010101010101010101010127
+:1009C0000101010101010101010101010101010117
+:1009D0000101010101010101010101010101010107
+:1009E00001010101010101010101010101010101F7
+:1009F00001010101010101010101010101010101E7
+:100A000001010101010101010101010101010101D6
+:100A100001010101010101010101010101010101C6
+:100A200001010101010101010101010101010101B6
+:100A300001010101010101010101010101010101A6
+:100A40000101010101010101010101010101010196
+:100A50000101010101010101010101010101010186
+:100A60000101010101010101010101010101010176
+:100A70000101010101010101010101010101010166
+:100A80000101010101010101010101010101010156
+:100A90000101010101010101010101010101010146
+:100AA0000101010101010101010101010101010136
+:100AB0000101010101010101010101010101010126
+:100AC0000101010101010101010101010101010116
+:100AD0000101010101010101010101010101010106
+:100AE00001010101010101010101010101010101F6
+:100AF00001010101010101010101010101010101E6
+:100B000001010101010101010101010101010101D5
+:100B100001010101010101010101010101010101C5
+:100B200001010101010101010101010101010101B5
+:100B300001010101010101010101010101010101A5
+:100B40000101010101010101010101010101010195
+:100B50000101010101010101010101010101010185
+:100B60000101010101010101010101010101010175
+:100B70000101010101010101010101010101010165
+:100B80000101010101010101010101010101010155
+:100B90000101010101010101010101010101010145
+:100BA0000101010101010101010101010101010135
+:100BB0000101010101010101010101010101010125
+:100BC0000101010101010101010101010101010115
+:100BD0000101010101010101010101010101010105
+:100BE00001010101010101010101010101010101F5
+:100BF00001010101010101010101010101010101E5
+:100C000001010101010101010101010101010101D4
+:100C100001010101010101010101010101010101C4
+:100C200001010101010101010101010101010101B4
+:100C300001010101010101010101010101010101A4
+:100C40000101010101010101010101010101010194
+:100C50000101010101010101010101010101010184
+:100C60000101010101010101010101010101010174
+:100C70000101010101010101010101010101010164
+:100C80000101010101010101010101010101010154
+:100C90000101010101010101010101010101010144
+:100CA0000101010101010101010101010101010134
+:100CB0000101010101010101010101010101010124
+:100CC0000101010101010101010101010101010114
+:100CD0000101010101010101010101010101010104
+:100CE00001010101010101010101010101010101F4
+:100CF00001010101010101010101010101010101E4
+:100D000001010101010101010101010101010101D3
+:100D100001010101010101010101010101010101C3
+:100D200001010101010101010101010101010101B3
+:100D300001010101010101010101010101010101A3
+:100D40000101010101010101010101010101010193
+:100D50000101010101010101010101010101010183
+:100D60000101010101010101010101010101010173
+:100D70000101010101010101010101010101010163
+:100D80000101010101010101010101010101010153
+:100D90000101010101010101010101010101010143
+:100DA0000101010101010101010101010101010133
+:100DB0000101010101010101010101010101010123
+:100DC0000101010101010101010101010101010113
+:100DD0000101010101010101010101010101010103
+:100DE00001010101010101010101010101010101F3
+:100DF00001010101010101010101010101010101E3
+:100E000001010101010101010101010101010101D2
+:100E100001010101010101010101010101010101C2
+:100E200001010101010101010101010101010101B2
+:100E300001010101010101010101010101010101A2
+:100E40000101010101010101010101010101010192
+:100E50000101010101010101010101010101010182
+:100E60000101010101010101010101010101010172
+:100E70000101010101010101010101010101010162
+:100E80000101010101010101010101010101010152
+:100E90000101010101010101010101010101010142
+:100EA0000101010101010101010101010101010132
+:100EB0000101010101010101010101010101010122
+:100EC0000101010101010101010101010101010112
+:100ED0000101010101010101010101010101010102
+:100EE00001010101010101010101010101010101F2
+:100EF00001010101010101010101010101010101E2
+:100F000001010101010101010101010101010101D1
+:100F100001010101010101010101010101010101C1
+:100F200001010101010101010101010101010101B1
+:100F300001010101010101010101010101010101A1
+:100F40000101010101010101010101010101010191
+:100F50000101010101010101010101010101010181
+:100F60000101010101010101010101010101010171
+:100F70000101010101010101010101010101010161
+:100F80000101010101010101010101010101010151
+:100F90000101010101010101010101010101010141
+:100FA0000101010101010101010101010101010131
+:100FB0000101010101010101010101010101010121
+:100FC0000101010101010101010101010101010111
+:100FD0000101010101010101010101010101010101
+:100FE00001010101010101010101010101010101F1
+:100FF00001010101010101010101010101010101E1
+:1010000001010101010101010101010101010101D0
+:1010100001010101010101010101010101010101C0
+:1010200001010101010101010101010101010101B0
+:1010300001010101010101010101010101010101A0
+:101040000101010101010101010101010101010190
+:101050000101010101010101010101010101010180
+:101060000101010101010101010101010101010170
+:101070000101010101010101010101010101010160
+:101080000101010101010101010101010101010150
+:101090000101010101010101010101010101010140
+:1010A0000101010101010101010101010101010130
+:1010B0000101010101010101010101010101010120
+:1010C0000101010101010101010101010101010110
+:1010D0000101010101010101010101010101010100
+:1010E00001010101010101010101010101010101F0
+:1010F00001010101010101010101010101010101E0
+:1011000001010101010101010101010101010101CF
+:1011100001010101010101010101010101010101BF
+:1011200001010101010101010101010101010101AF
+:10113000010101010101010101010101010101019F
+:10114000010101010101010101010101010101018F
+:10115000010101010101010101010101010101017F
+:10116000010101010101010101010101010101016F
+:10117000010101010101010101010101010101015F
+:10118000010101010101010101010101010101014F
+:10119000010101010101010101010101010101013F
+:1011A000010101010101010101010101010101012F
+:1011B000010101010101010101010101010101011F
+:1011C000010101010101010101010101010101010F
+:1011D00001010101010101010101010101010101FF
+:1011E00001010101010101010101010101010101EF
+:1011F00001010101010101010101010101010101DF
+:1012000001010101010101010101010101010101CE
+:1012100001010101010101010101010101010101BE
+:1012200001010101010101010101010101010101AE
+:10123000010101010101010101010101010101019E
+:10124000010101010101010101010101010101018E
+:10125000010101010101010101010101010101017E
+:10126000010101010101010101010101010101016E
+:10127000010101010101010101010101010101015E
+:10128000010101010101010101010101010101014E
+:10129000010101010101010101010101010101013E
+:1012A000010101010101010101010101010101012E
+:1012B000010101010101010101010101010101011E
+:1012C000010101010101010101010101010101010E
+:1012D00001010101010101010101010101010101FE
+:1012E00001010101010101010101010101010101EE
+:1012F00001010101010101010101010101010101DE
+:1013000001010101010101010101010101010101CD
+:1013100001010101010101010101010101010101BD
+:1013200001010101010101010101010101010101AD
+:10133000010101010101010101010101010101019D
+:10134000010101010101010101010101010101018D
+:10135000010101010101010101010101010101017D
+:10136000010101010101010101010101010101016D
+:10137000010101010101010101010101010101015D
+:10138000010101010101010101010101010101014D
+:10139000010101010101010101010101010101013D
+:1013A000010101010101010101010101010101012D
+:1013B000010101010101010101010101010101011D
+:1013C000010101010101010101010101010101010D
+:1013D00001010101010101010101010101010101FD
+:1013E00001010101010101010101010101010101ED
+:1013F00001010101010101010101010101010101DD
+:1014000001010101010101010101010101010101CC
+:1014100001010101010101010101010101010101BC
+:1014200001010101010101010101010101010101AC
+:10143000010101010101010101010101010101019C
+:10144000010101010101010101010101010101018C
+:10145000010101010101010101010101010101017C
+:10146000010101010101010101010101010101016C
+:10147000010101010101010101010101010101015C
+:10148000010101010101010101010101010101014C
+:10149000010101010101010101010101010101013C
+:1014A000010101010101010101010101010101012C
+:1014B000010101010101010101010101010101011C
+:1014C000010101010101010101010101010101010C
+:1014D00001010101010101010101010101010101FC
+:1014E00001010101010101010101010101010101EC
+:1014F00001010101010101010101010101010101DC
+:1015000001010101010101010101010101010101CB
+:1015100001010101010101010101010101010101BB
+:1015200001010101010101010101010101010101AB
+:10153000010101010101010101010101010101019B
+:10154000010101010101010101010101010101018B
+:10155000010101010101010101010101010101017B
+:10156000010101010101010101010101010101016B
+:10157000010101010101010101010101010101015B
+:10158000010101010101010101010101010101014B
+:10159000010101010101010101010101010101013B
+:1015A000010101010101010101010101010101012B
+:1015B000010101010101010101010101010101011B
+:1015C000010101010101010101010101010101010B
+:1015D00001010101010101010101010101010101FB
+:1015E00001010101010101010101010101010101EB
+:1015F00001010101010101010101010101010101DB
+:1016000001010101010101010101010101010101CA
+:1016100001010101010101010101010101010101BA
+:1016200001010101010101010101010101010101AA
+:10163000010101010101010101010101010101019A
+:10164000010101010101010101010101010101018A
+:10165000010101010101010101010101010101017A
+:10166000010101010101010101010101010101016A
+:10167000010101010101010101010101010101015A
+:10168000010101010101010101010101010101014A
+:10169000010101010101010101010101010101013A
+:1016A000010101010101010101010101010101012A
+:1016B000010101010101010101010101010101011A
+:1016C000010101010101010101010101010101010A
+:1016D00001010101010101010101010101010101FA
+:1016E00001010101010101010101010101010101EA
+:1016F00001010101010101010101010101010101DA
+:1017000001010101010101010101010101010101C9
+:1017100001010101010101010101010101010101B9
+:1017200001010101010101010101010101010101A9
+:101730000101010101010101010101010101010199
+:101740000101010101010101010101010101010189
+:101750000101010101010101010101010101010179
+:101760000101010101010101010101010101010169
+:101770000101010101010101010101010101010159
+:101780000101010101010101010101010101010149
+:101790000101010101010101010101010101010139
+:1017A0000101010101010101010101010101010129
+:1017B0000101010101010101010101010101010119
+:1017C0000101010101010101010101010101010109
+:1017D00001010101010101010101010101010101F9
+:1017E00001010101010101010101010101010101E9
+:1017F00001010101010101010101010101010101D9
+:1018000001010101010101010101010101010101C8
+:1018100001010101010101010101010101010101B8
+:1018200001010101010101010101010101010101A8
+:101830000101010101010101010101010101010198
+:101840000101010101010101010101010101010188
+:101850000101010101010101010101010101010178
+:101860000101010101010101010101010101010168
+:101870000101010101010101010101010101010158
+:101880000101010101010101010101010101010148
+:101890000101010101010101010101010101010138
+:1018A0000101010101010101010101010101010128
+:1018B0000101010101010101010101010101010118
+:1018C0000101010101010101010101010101010108
+:1018D00001010101010101010101010101010101F8
+:1018E00001010101010101010101010101010101E8
+:1018F00001010101010101010101010101010101D8
+:1019000001010101010101010101010101010101C7
+:1019100001010101010101010101010101010101B7
+:1019200001010101010101010101010101010101A7
+:101930000101010101010101010101010101010197
+:101940000101010101010101010101010101010187
+:101950000101010101010101010101010101010177
+:101960000101010101010101010101010101010167
+:101970000101010101010101010101010101010157
+:101980000101010101010101010101010101010147
+:101990000101010101010101010101010101010137
+:1019A0000101010101010101010101010101010127
+:1019B0000101010101010101010101010101010117
+:1019C0000101010101010101010101010101010107
+:1019D00001010101010101010101010101010101F7
+:1019E00001010101010101010101010101010101E7
+:1019F00001010101010101010101010101010101D7
+:101A000001010101010101010101010101010101C6
+:101A100001010101010101010101010101010101B6
+:101A200001010101010101010101010101010101A6
+:101A30000101010101010101010101010101010196
+:101A40000101010101010101010101010101010186
+:101A50000101010101010101010101010101010176
+:101A60000101010101010101010101010101010166
+:101A70000101010101010101010101010101010156
+:101A80000101010101010101010101010101010146
+:101A90000101010101010101010101010101010136
+:101AA0000101010101010101010101010101010126
+:101AB0000101010101010101010101010101010116
+:101AC0000101010101010101010101010101010106
+:101AD00001010101010101010101010101010101F6
+:101AE00001010101010101010101010101010101E6
+:101AF00001010101010101010101010101010101D6
+:101B000001010101010101010101010101010101C5
+:101B100001010101010101010101010101010101B5
+:101B200001010101010101010101010101010101A5
+:101B30000101010101010101010101010101010195
+:101B40000101010101010101010101010101010185
+:101B50000101010101010101010101010101010175
+:101B60000101010101010101010101010101010165
+:101B70000101010101010101010101010101010155
+:101B80000101010101010101010101010101010145
+:101B90000101010101010101010101010101010135
+:101BA0000101010101010101010101010101010125
+:101BB0000101010101010101010101010101010115
+:101BC0000101010101010101010101010101010105
+:101BD00001010101010101010101010101010101F5
+:101BE00001010101010101010101010101010101E5
+:101BF00001010101010101010101010101010101D5
+:101C000001010101010101010101010101010101C4
+:101C100001010101010101010101010101010101B4
+:101C200001010101010101010101010101010101A4
+:101C30000101010101010101010101010101010194
+:101C40000101010101010101010101010101010184
+:101C50000101010101010101010101010101010174
+:101C60000101010101010101010101010101010164
+:101C70000101010101010101010101010101010154
+:101C80000101010101010101010101010101010144
+:101C90000101010101010101010101010101010134
+:101CA0000101010101010101010101010101010124
+:101CB0000101010101010101010101010101010114
+:101CC0000101010101010101010101010101010104
+:101CD00001010101010101010101010101010101F4
+:101CE00001010101010101010101010101010101E4
+:101CF00001010101010101010101010101010101D4
+:101D000001010101010101010101010101010101C3
+:101D100001010101010101010101010101010101B3
+:101D200001010101010101010101010101010101A3
+:101D30000101010101010101010101010101010193
+:101D40000101010101010101010101010101010183
+:101D50000101010101010101010101010101010173
+:101D60000101010101010101010101010101010163
+:101D70000101010101010101010101010101010153
+:101D80000101010101010101010101010101010143
+:101D90000101010101010101010101010101010133
+:101DA0000101010101010101010101010101010123
+:101DB0000101010101010101010101010101010113
+:101DC0000101010101010101010101010101010103
+:101DD00001010101010101000000000000000000FC
+:101DE00000000000000000000000000000000000F3
+:101DF00000000000000000000000000000000000E3
+:101E000000000000000000000000000000000000D2
+:101E100000000000000000000000000000000000C2
+:101E200000000000000000000000000000000000B2
+:101E300000000000000000000000000000000000A2
+:101E40000000000000000000000000000000000092
+:101E50000000000000000000000000000000000082
+:101E60000000000000000000000000000000000072
+:101E70000000000000000000000000000000000062
+:101E80000000000000000000000000000000000052
+:101E90000000000000000000000000000000000042
+:101EA0000000000000000000000000000000000032
+:101EB0000000000000000000000000000000000022
+:101EC0000000000000000000000000000000000012
+:101ED0000000000000000000000000000000000002
+:101EE00000000000000000000000000000000000F2
+:101EF00000000000000000000000000000000000E2
+:101F000000000000000000000000000000000000D1
+:101F100000000000000000000000000000000000C1
+:101F200000000000000000000000000000000000B1
+:101F300000000000000000000000000000000000A1
+:101F40000000000000000000000000000000000091
+:101F50000000000000000000000000000000000081
+:101F60000000000000000000000000000000000071
+:101F70000000000000000000000000000000000061
+:101F80000000000000000000000000000000000051
+:101F90000000000000000000000000000000000041
+:101FA0000000000000000000000000000000000031
+:101FB0000000000000000000000000000000000021
+:101FC0000000000000000000000000000000000011
+:101FD0000000000000000000000000000000000001
+:101FE00000000000000000000000000000000000F1
+:101FF00000000000000000000000000000000000E1
+:1020000000000000000000000000000000000000D0
+:1020100000000000000000000000000000000000C0
+:1020200000000000000000000000000000000000B0
+:1020300000000000000000000000000000000000A0
+:102040000000000000000000000000000000000090
+:102050000000000000000000000000000000000080
+:102060000000000000000000000000000000000070
+:102070000000000000000000000000000000000060
+:102080000000000000000000000000000000000050
+:102090000000000000000000000000000000000040
+:1020A0000000000000000000000000000000000030
+:1020B0000000000000000000000000000000000020
+:1020C0000000000000000000000000000000000010
+:1020D0000000000000000000000000000000000000
+:1020E00000000000000000000000000000000000F0
+:1020F00000000000000000000000000000000000E0
+:1021000000000000000000000000000000000000CF
+:1021100000000000000000000000000000000000BF
+:1021200000000000000000000000000000000000AF
+:10213000000000000000000000000000000000009F
+:10214000000000000000000000000000000000008F
+:10215000000000000000000000000000000000007F
+:10216000000000000000000000000000000000006F
+:10217000000000000000000000000000000000005F
+:10218000000000000000000000000000000000004F
+:10219000000000000000000000000000000000003F
+:1021A000000000000000000000000000000000002F
+:1021B000000000000000000000000000000000001F
+:1021C000000000000000000000000000000000000F
+:1021D00000000000000000000000000000000000FF
+:1021E00000000000000000000000000000000000EF
+:1021F00000000000000000000000000000000000DF
+:1022000000000000000000000000000000000000CE
+:1022100000000000000000000000000000000000BE
+:1022200000000000000000000000000000000000AE
+:10223000000000000000000000000000000000009E
+:10224000000000000000000000000000000000008E
+:10225000000000000000000000000000000000007E
+:10226000000000000000000000000000000000006E
+:10227000000000000000000000000000000000005E
+:10228000000000000000000000000000000000004E
+:10229000000000000000000000000000000000003E
+:1022A000000000000000000000000000000000002E
+:1022B000000000000000000000000000000000001E
+:1022C000000000000000000000000000000000000E
+:1022D00000000000000000000000000000000000FE
+:1022E00000000000000000000000000000000000EE
+:1022F00000000000000000000000000000000000DE
+:1023000000000000000000000000000000000000CD
+:1023100000000000000000000000000000000000BD
+:1023200000000000000000000000000000000000AD
+:10233000000000000000000000000000000000009D
+:10234000000000000000000000000000000000008D
+:10235000000000000000000000000000000000007D
+:10236000000000000000000000000000000000006D
+:10237000000000000000000000000000000000005D
+:10238000000000000000000000000000000000004D
+:10239000000000000000000000000000000000003D
+:1023A000000000000000000000000000000000002D
+:1023B000000000000000000000000000000000001D
+:1023C000000000000000000000000000000000000D
+:1023D00000000000000000020202020202020202EB
+:1023E00002020202020202020202020202020202CD
+:1023F00002020202020202020202020202020202BD
+:1024000002020202020202020202020202020202AC
+:10241000020202020202020202020202020202029C
+:10242000020202020202020202020202020202028C
+:10243000020202020202020202020202020202027C
+:10244000020202020202020202020202020202026C
+:10245000020202020202020202020202020202025C
+:10246000020202020202020202020202020202024C
+:10247000020202020202020202020202020202023C
+:10248000020202020202020202020202020202022C
+:10249000020202020202020202020202020202021C
+:1024A000020202020202020202020202020202020C
+:1024B00002020202020202020202020202020202FC
+:1024C00002020202020202020202020202020202EC
+:1024D00002020202020202020202020202020202DC
+:1024E00002020202020202020202020202020202CC
+:1024F00002020202020202020202020202020202BC
+:1025000002020202020202020202020202020202AB
+:10251000020202020202020202020202020202029B
+:10252000020202020202020202020202020202028B
+:10253000020202020202020202020202020202027B
+:10254000020202020202020202020202020202026B
+:10255000020202020202020202020202020202025B
+:10256000020202020202020202020202020202024B
+:10257000020202020202020202020202020202023B
+:10258000020202020202020202020202020202022B
+:10259000020202020202020202020202020202021B
+:1025A000020202020202020202020202020202020B
+:1025B00002020202020202020202020202020202FB
+:1025C00002020202020202020202020202020202EB
+:1025D00002020202020202020202020202020202DB
+:1025E00002020202020202020202020202020202CB
+:1025F00002020202020202020202020202020202BB
+:1026000002020202020202020202020202020202AA
+:10261000020202020202020202020202020202029A
+:10262000020202020202020202020202020202028A
+:10263000020202020202020202020202020202027A
+:10264000020202020202020202020202020202026A
+:10265000020202020202020202020202020202025A
+:10266000020202020202020202020202020202024A
+:10267000020202020202020202020202020202023A
+:10268000020202020202020202020202020202022A
+:10269000020202020202020202020202020202021A
+:1026A000020202020202020202020202020202020A
+:1026B00002020202020202020202020202020202FA
+:1026C00002020202020202020202020202020202EA
+:1026D00002020202020202020202020202020202DA
+:1026E00002020202020202020202020202020202CA
+:1026F00002020202020202020202020202020202BA
+:1027000002020202020202020202020202020202A9
+:102710000202020202020202020202020202020299
+:102720000202020202020202020202020202020289
+:102730000202020202020202020202020202020279
+:102740000202020202020202020202020202020269
+:102750000202020202020202020202020202020259
+:102760000202020202020202020202020202020249
+:102770000202020202020202020202020202020239
+:102780000202020202020202020202020202020229
+:102790000202020202020202020202020202020219
+:1027A0000202020202020202020202020202020209
+:1027B00002020202020202020202020202020202F9
+:1027C00002020202020202020202020202020202E9
+:1027D00002020202020202020202020202020202D9
+:1027E00002020202020202020202020202020202C9
+:1027F00002020202020202020202020202020202B9
+:1028000002020202020202020202020202020202A8
+:102810000202020202020202020202020202020298
+:102820000202020202020202020202020202020288
+:102830000202020202020202020202020202020278
+:102840000202020202020202020202020202020268
+:102850000202020202020202020202020202020258
+:102860000202020202020202020202020202020248
+:102870000202020202020202020202020202020238
+:102880000202020202020202020202020202020228
+:102890000202020202020202020202020202020218
+:1028A0000202020202020202020202020202020208
+:1028B00002020202020202020202020202020202F8
+:1028C00002020202020202020202020202020202E8
+:1028D00002020202020202020202020202020202D8
+:1028E00002020202020202020202020202020202C8
+:1028F00002020202020202020202020202020202B8
+:1029000002020202020202020202020202020202A7
+:102910000202020202020202020202020202020297
+:102920000202020202020202020202020202020287
+:102930000202020202020202020202020202020277
+:102940000202020202020202020202020202020267
+:102950000202020202020202020202020202020257
+:102960000202020202020202020202020202020247
+:102970000202020202020202020202020202020237
+:102980000202020202020202020202020202020227
+:102990000202020202020202020202020202020217
+:1029A0000202020202020202020202020202020207
+:1029B00002020202020202020202020202020202F7
+:1029C00002020202020202020202020202020202E7
+:1029D00002020202020202020202020202020202D7
+:1029E00002020202020202020202020202020202C7
+:1029F00002020202020202020202020202020202B7
+:102A000002020202020202020202020202020202A6
+:102A10000202020202020202020202020202020296
+:102A20000202020202020202020202020202020286
+:102A30000202020202020202020202020202020276
+:102A40000202020202020202020202020202020266
+:102A50000202020202020202020202020202020256
+:102A60000202020202020202020202020202020246
+:102A70000202020202020202020202020202020236
+:102A80000202020202020202020202020202020226
+:102A90000202020202020202020202020202020216
+:102AA0000202020202020202020202020202020206
+:102AB00002020202020202020202020202020202F6
+:102AC00002020202020202020202020202020202E6
+:102AD00002020202020202020202020202020202D6
+:102AE00002020202020202020202020202020202C6
+:102AF00002020202020202020202020202020202B6
+:102B000002020202020202020202020202020202A5
+:102B10000202020202020202020202020202020295
+:102B20000202020202020202020202020202020285
+:102B30000202020202020202020202020202020275
+:102B40000202020202020202020202020202020265
+:102B50000202020202020202020202020202020255
+:102B60000202020202020202020202020202020245
+:102B70000202020202020202020202020202020235
+:102B80000202020202020202020202020202020225
+:102B90000202020202020202020202020202020215
+:102BA0000202020202020202020202020202020205
+:102BB00002020202020202020202020202020202F5
+:102BC00002020202020202020202020202020202E5
+:102BD00002020202020202020202020202020202D5
+:102BE00002020202020202020202020202020202C5
+:102BF00002020202020202020202020202020202B5
+:102C000002020202020202020202020202020202A4
+:102C10000202020202020202020202020202020294
+:102C20000202020202020202020202020202020284
+:102C30000202020202020202020202020202020274
+:102C40000202020202020202020202020202020264
+:102C50000202020202020202020202020202020254
+:102C60000202020202020202020202020202020244
+:102C70000202020202020202020202020202020234
+:102C80000202020202020202020202020202020224
+:102C90000202020202020202020202020202020214
+:102CA0000202020202020202020202020202020204
+:102CB00002020202020202020202020202020202F4
+:102CC00002020202020202020202020202020202E4
+:102CD00002020202020202020202020202020202D4
+:102CE00002020202020202020202020202020202C4
+:102CF00002020202020202020202020202020202B4
+:102D000002020202020202020202020202020202A3
+:102D10000202020202020202020202020202020293
+:102D20000202020202020202020202020202020283
+:102D30000202020202020202020202020202020273
+:102D40000202020202020202020202020202020263
+:102D50000202020202020202020202020202020253
+:102D60000202020202020202020202020202020243
+:102D70000202020202020202020202020202020233
+:102D80000202020202020202020202020202020223
+:102D90000202020202020202020202020202020213
+:102DA0000202020202020202020202020202020203
+:102DB00002020202020202020202020202020202F3
+:102DC00002020202020202020202020202020202E3
+:102DD00002020202020202020202020202020202D3
+:102DE00002020202020202020202020202020202C3
+:102DF00002020202020202020202020202020202B3
+:102E000002020202020202020202020202020202A2
+:102E10000202020202020202020202020202020292
+:102E20000202020202020202020202020202020282
+:102E30000202020202020202020202020202020272
+:102E40000202020202020202020202020202020262
+:102E50000202020202020202020202020202020252
+:102E60000202020202020202020202020202020242
+:102E70000202020202020202020202020202020232
+:102E80000202020202020202020202020202020222
+:102E90000202020202020202020202020202020212
+:102EA0000202020202020202020202020202020202
+:102EB00002020202020202020202020202020202F2
+:102EC00002020202020202020202020202020202E2
+:102ED00002020202020202020202020202020202D2
+:102EE00002020202020202020202020202020202C2
+:102EF00002020202020202020202020202020202B2
+:102F000002020202020202020202020202020202A1
+:102F10000202020202020202020202020202020291
+:102F20000202020202020202020202020202020281
+:102F30000202020202020202020202020202020271
+:102F40000202020202020202020202020202020261
+:102F50000202020202020202020202020202020251
+:102F60000202020202020202020202020202020241
+:102F70000202020202020202020202020202020231
+:102F80000202020202020202020202020202020221
+:102F90000202020202020202020202020202020211
+:102FA0000202020202020202020202020202020201
+:102FB00002020202020202020202020202020202F1
+:102FC00002020202020202020202020202020202E1
+:102FD00002020202020202020202020202020202D1
+:102FE00002020202020202020202020202020202C1
+:102FF00002020202020202020202020202020202B1
+:1030000002020202020202020202020202020202A0
+:103010000202020202020202020202020202020290
+:103020000202020202020202020202020202020280
+:103030000202020202020202020202020202020270
+:103040000202020202020202020202020202020260
+:103050000202020202020202020202020202020250
+:103060000202020202020202020202020202020240
+:103070000202020202020202020202020202020230
+:103080000202020202020202020202020202020220
+:103090000202020202020202020202020202020210
+:1030A0000202020202020202020202020202020200
+:1030B00002020202020202020202020202020202F0
+:1030C00002020202020202020202020202020202E0
+:1030D00002020202020202020202020202020202D0
+:1030E00002020202020202020202020202020202C0
+:1030F00002020202020202020202020202020202B0
+:10310000020202020202020202020202020202029F
+:10311000020202020202020202020202020202028F
+:10312000020202020202020202020202020202027F
+:10313000020202020202020202020202020202026F
+:10314000020202020202020202020202020202025F
+:10315000020202020202020202020202020202024F
+:10316000020202020202020202020202020202023F
+:10317000020202020202020202020202020202022F
+:10318000020202020202020202020202020202021F
+:10319000020202020202020202020202020202020F
+:1031A00002020202020202020202020202020202FF
+:1031B00002020202020202020202020202020202EF
+:1031C00002020202020202020202020202020202DF
+:1031D00002020202020202020202020202020202CF
+:1031E00002020202020202020202020202020202BF
+:1031F00002020202020202020202020202020202AF
+:10320000020202020202020202020202020202029E
+:10321000020202020202020202020202020202028E
+:10322000020202020202020202020202020202027E
+:10323000020202020202020202020202020202026E
+:10324000020202020202020202020202020202025E
+:10325000020202020202020202020202020202024E
+:10326000020202020202020202020202020202023E
+:10327000020202020202020202020202020202022E
+:10328000020202020202020202020202020202021E
+:10329000020202020202020202020202020202020E
+:1032A00002020202020202020202020202020202FE
+:1032B00002020202020202020202020202020202EE
+:1032C00002020202020202020202020202020202DE
+:1032D00002020202020202020202020202020202CE
+:1032E00002020202020202020202020202020202BE
+:1032F00002020202020202020202020202020202AE
+:10330000020202020202020202020202020202029D
+:10331000020202020202020202020202020202028D
+:10332000020202020202020202020202020202027D
+:10333000020202020202020202020202020202026D
+:10334000020202020202020202020202020202025D
+:10335000020202020202020202020202020202024D
+:10336000020202020202020202020202020202023D
+:10337000020202020202020202020202020202022D
+:10338000020202020202020202020202020202021D
+:10339000020202020202020202020202020202020D
+:1033A00002020202020202020202020202020202FD
+:1033B00002020202020202020202020202020202ED
+:1033C00002020202020202020202020202020202DD
+:1033D00002020202020202020202020202020202CD
+:1033E00002020202020202020202020202020202BD
+:1033F00002020202020202020202020202020202AD
+:10340000020202020202020202020202020202029C
+:10341000020202020202020202020202020202028C
+:10342000020202020202020202020202020202027C
+:10343000020202020202020202020202020202026C
+:10344000020202020202020202020202020202025C
+:10345000020202020202020202020202020202024C
+:10346000020202020202020202020202020202023C
+:10347000020202020202020202020202020202022C
+:10348000020202020202020202020202020202021C
+:10349000020202020202020202020202020202020C
+:1034A00002020202020202020202020202020202FC
+:1034B00002020202020202020202020202020202EC
+:1034C00002020202020202020202020202020202DC
+:1034D00002020202020202020202020202020202CC
+:1034E00002020202020202020202020202020202BC
+:1034F00002020202020202020202020202020202AC
+:10350000020202020202020202020202020202029B
+:10351000020202020202020202020202020202028B
+:10352000020202020202020202020202020202027B
+:10353000020202020202020202020202020202026B
+:10354000020202020202020202020202020202025B
+:10355000020202020202020202020202020202024B
+:10356000020202020202020202020202020202023B
+:10357000020202020202020202020202020202022B
+:10358000020202020202020202020202020202021B
+:10359000020202020202020202020202020202020B
+:1035A00002020202020202020202020202020202FB
+:1035B00002020202020202020202020202020202EB
+:1035C00002020202020202020202020202020202DB
+:1035D00002020202020202020202020202020202CB
+:1035E00002020202020202020202020202020202BB
+:1035F00002020202020202020202020202020202AB
+:10360000020202020202020202020202020202029A
+:10361000020202020202020202020202020202028A
+:10362000020202020202020202020202020202027A
+:10363000020202020202020202020202020202026A
+:10364000020202020202020202020202020202025A
+:10365000020202020202020202020202020202024A
+:10366000020202020202020202020202020202023A
+:10367000020202020202020202020202020202022A
+:10368000020202020202020202020202020202021A
+:10369000020202020202020202020202020202020A
+:1036A00002020202020202020202020202020202FA
+:1036B00002020202020202020202020202020202EA
+:1036C00002020202020202020202020202020202DA
+:1036D00002020202020202020202020202020202CA
+:1036E00002020202020202020202020202020202BA
+:1036F00002020202020202020202020202020202AA
+:103700000202020202020202020202020202020299
+:103710000202020202020202020202020202020289
+:103720000202020202020202020202020202020279
+:103730000202020202020202020202020202020269
+:103740000202020202020202020202020202020259
+:103750000202020202020202020202020202020249
+:103760000202020202020202020202020202020239
+:103770000202020202020202020202020202020229
+:103780000202020202020202020202020202020219
+:103790000202020202020202020202020202020209
+:1037A00002020202020202020202020202020202F9
+:1037B00002020202020202020202020202020202E9
+:1037C00002020202020202020202020202020202D9
+:1037D00002020202020202020202020202020202C9
+:1037E00002020202020202020202020202020202B9
+:1037F00002020202020202020202020202020202A9
+:103800000202020202020202020202020202020298
+:103810000202020202020202020202020202020288
+:103820000202020202020202020202020202020278
+:103830000202020202020202020202020202020268
+:103840000202020202020202020202020202020258
+:103850000202020202020202020202020202020248
+:103860000202020202020202020202020202020238
+:103870000202020202020202020202020202020228
+:103880000202020202020202020202020202020218
+:103890000202020202020202020202020202020208
+:1038A00002020202020202020202020202020202F8
+:1038B00002020202020202020202020202020202E8
+:1038C00002020202020202020202020202020202D8
+:1038D00002020202020202020202020202020202C8
+:1038E00002020202020202020202020202020202B8
+:1038F00002020202020202020202020202020202A8
+:103900000202020202020202020202020202020297
+:103910000202020202020202020202020202020287
+:103920000202020202020202020202020202020277
+:103930000202020202020202020202020202020267
+:103940000202020202020202020202020202020257
+:103950000202020202020202020202020202020247
+:103960000202020202020202020202020202020237
+:103970000202020202020202020202020202020227
+:103980000202020202020202020202020202020217
+:103990000202020202020202020202020202020207
+:1039A00002020202020202020202020202020202F7
+:1039B00002020202020202020202020202020202E7
+:1039C00002020202020202020202020202020202D7
+:1039D00002020202020202020202020202020202C7
+:1039E00002020202020202020202020202020202B7
+:1039F00002020202020202020202020202020202A7
+:103A00000202020202020202020202020202020296
+:103A10000202020202020202020202020202020286
+:103A20000202020202020202020202020202020276
+:103A30000202020202020202020202020202020266
+:103A40000202020202020202020202020202020256
+:103A50000202020202020202020202020202020246
+:103A60000202020202020202020202020202020236
+:103A70000202020202020202020202020202020226
+:103A80000202020202020202020202020202020216
+:103A90000202020202020202020202020202020206
+:103AA00002020202020202020202020202020202F6
+:103AB00002020202020202020202020202020202E6
+:103AC00002020202020202020202020202020202D6
+:103AD00002020202020202020202020202020202C6
+:103AE00002020202020202020202020202020202B6
+:103AF00002020202020202020202020202020202A6
+:103B00000202020202020202020202020202020295
+:103B10000202020202020202020202020202020285
+:103B20000202020202020202020202020202020275
+:103B30000202020202020202020202020202020265
+:103B40000202020202020202020202020202020255
+:103B50000202020202020202020202020202020245
+:103B60000202020202020202020202020202020235
+:103B70000202020202020202020202020202020225
+:103B80000202020202020202020202020202020215
+:103B90000202020202020202020202020202020205
+:103BA00002020202020202020202020202020202F5
+:103BB00002020202020202020202020202020202E5
+:103BC00002020202020202020202020202020202D5
+:103BD00002020202020202020202020202020202C5
+:103BE00002020202020202020202020202020202B5
+:103BF00002020202020202020202020202020202A5
+:103C00000202020202020202020202020202020294
+:103C10000202020202020202020202020202020284
+:103C20000202020202020202020202020202020274
+:103C30000202020202020202020202020202020264
+:103C40000202020202020202020202020202020254
+:103C50000202020202020202020202020202020244
+:103C60000202020202020202020202020202020234
+:103C70000202020202020202020202020202020224
+:103C80000202020202020202020202020202020214
+:103C90000202020202020202020202020202020204
+:103CA00002020202020202020202020202020202F4
+:103CB00002020202020202020202020202020202E4
+:103CC00002020202020202020202020202020202D4
+:103CD00002020202020202020202020202020202C4
+:103CE00002020202020202020202020202020202B4
+:103CF00002020202020202020202020202020202A4
+:103D00000202020202020202020202020202020293
+:103D10000202020202020202020202020202020283
+:103D20000202020202020202020202020202020273
+:103D30000202020202020202020202020202020263
+:103D40000202020202020202020202020202020253
+:103D50000202020202020202020202020202020243
+:103D60000202020202020202020202020202020233
+:103D70000202020202020202020202020202020223
+:103D80000202020202020202020202020202020213
+:103D90000202020202020202020202020202020203
+:103DA00002020202020202020202020202020202F3
+:103DB00002020202020202020202020202020202E3
+:103DC00002020202020202020202020202020202D3
+:103DD00002020202020202020202020202020202C3
+:103DE00002020202020202020202020202020202B3
+:103DF00002020202020202020202020202020202A3
+:103E00000202020202020202020202020202020292
+:103E10000202020202020202020202020202020282
+:103E20000202020202020202020202020202020272
+:103E30000202020202020202020202020202020262
+:103E40000202020202020202020202020202020252
+:103E50000202020202020202020202020202020242
+:103E60000202020202020202020202020202020232
+:103E70000202020202020202020202020202020222
+:103E80000202020202020202020202020202020212
+:103E90000202020202020202020202020202020202
+:103EA00002020202020202020202020202020202F2
+:103EB00002020202020202020202020202020202E2
+:103EC00002020202020202020202020202020202D2
+:103ED00002020202020202020202020202020202C2
+:103EE00002020202020202020202020202020202B2
+:103EF00002020202020202020202020202020202A2
+:103F00000202020202020202020202020202020291
+:103F10000202020202020202020202020202020281
+:103F20000202020202020202020202020202020271
+:103F30000202020202020202020202020202020261
+:103F40000202020202020202020202020202020251
+:103F50000202020202020202020202020202020241
+:103F60000202020202020202020202020202020231
+:103F70000202020202020202020202020202020221
+:103F80000202020202020202020202020202020211
+:103F90000202020202020202020202020202020201
+:103FA00002020202020202020202020202020202F1
+:103FB00002020202020202020202020202020202E1
+:103FC00002020202020202020202020202020202D1
+:103FD00002020202020202020202020202020202C1
+:103FE00002020202020202020202020202020202B1
+:103FF00002020202020202020202020202020202A1
+:104000000202020202020202020202020202020290
+:104010000202020202020202020202020202020280
+:104020000202020202020202020202020202020270
+:104030000202020202020202020202020202020260
+:104040000202020202020202020202020202020250
+:104050000202020202020202020202020202020240
+:104060000202020202020202020202020202020230
+:104070000202020202020202020202020202020220
+:104080000202020202020202020202020202020210
+:104090000202020202020202020202020202020200
+:1040A00002020202020202020202020202020202F0
+:1040B00002020202020202020202020202020202E0
+:1040C00002020202020202020202020202020202D0
+:1040D00002020202020202000000000000000000D2
+:1040E00000000000000000000000000000000000D0
+:1040F00000000000000000000000000000000000C0
+:1041000000000000000000000000000000000000AF
+:10411000000000000000000000000000000000009F
+:10412000000000000000000000000000000000008F
+:10413000000000000000000000000000000000007F
+:10414000000000000000000000000000000000006F
+:10415000000000000000000000000000000000005F
+:10416000000000000000000000000000000000004F
+:10417000000000000000000000000000000000003F
+:10418000000000000000000000000000000000002F
+:10419000000000000000000000000000000000001F
+:1041A000000000000000000000000000000000000F
+:1041B00000000000000000000000000000000000FF
+:1041C00000000000000000000000000000000000EF
+:1041D00000000000000000000000000000000000DF
+:1041E00000000000000000000000000000000000CF
+:1041F00000000000000000000000000000000000BF
+:1042000000000000000000000000000000000000AE
+:10421000000000000000000000000000000000009E
+:10422000000000000000000000000000000000008E
+:10423000000000000000000000000000000000007E
+:10424000000000000000000000000000000000006E
+:10425000000000000000000000000000000000005E
+:10426000000000000000000000000000000000004E
+:10427000000000000000000000000000000000003E
+:10428000000000000000000000000000000000002E
+:10429000000000000000000000000000000000001E
+:1042A000000000000000000000000000000000000E
+:1042B00000000000000000000000000000000000FE
+:1042C00000000000000000000000000000000000EE
+:1042D00000000000000000000000000000000000DE
+:1042E00000000000000000000000000000000000CE
+:1042F00000000000000000000000000000000000BE
+:1043000000000000000000000000000000000000AD
+:10431000000000000000000000000000000000009D
+:10432000000000000000000000000000000000008D
+:10433000000000000000000000000000000000007D
+:10434000000000000000000000000000000000006D
+:10435000000000000000000000000000000000005D
+:10436000000000000000000000000000000000004D
+:10437000000000000000000000000000000000003D
+:10438000000000000000000000000000000000002D
+:10439000000000000000000000000000000000001D
+:1043A000000000000000000000000000000000000D
+:1043B00000000000000000000000000000000000FD
+:1043C00000000000000000000000000000000000ED
+:1043D00000000000000000000000000000000000DD
+:1043E00000000000000000000000000000000000CD
+:1043F00000000000000000000000000000000000BD
+:1044000000000000000000000000000000000000AC
+:10441000000000000000000000000000000000009C
+:10442000000000000000000000000000000000008C
+:10443000000000000000000000000000000000007C
+:10444000000000000000000000000000000000006C
+:10445000000000000000000000000000000000005C
+:10446000000000000000000000000000000000004C
+:10447000000000000000000000000000000000003C
+:10448000000000000000000000000000000000002C
+:10449000000000000000000000000000000000001C
+:1044A000000000000000000000000000000000000C
+:1044B00000000000000000000000000000000000FC
+:1044C00000000000000000000000000000000000EC
+:1044D00000000000000000000000000000000000DC
+:1044E00000000000000000000000000000000000CC
+:1044F00000000000000000000000000000000000BC
+:1045000000000000000000000000000000000000AB
+:10451000000000000000000000000000000000009B
+:10452000000000000000000000000000000000008B
+:10453000000000000000000000000000000000007B
+:10454000000000000000000000000000000000006B
+:10455000000000000000000000000000000000005B
+:10456000000000000000000000000000000000004B
+:10457000000000000000000000000000000000003B
+:10458000000000000000000000000000000000002B
+:10459000000000000000000000000000000000001B
+:1045A000000000000000000000000000000000000B
+:1045B00000000000000000000000000000000000FB
+:1045C00000000000000000000000000000000000EB
+:1045D00000000000000000000000000000000000DB
+:1045E00000000000000000000000000000000000CB
+:1045F00000000000000000000000000000000000BB
+:1046000000000000000000000000000000000000AA
+:10461000000000000000000000000000000000009A
+:10462000000000000000000000000000000000008A
+:10463000000000000000000000000000000000007A
+:10464000000000000000000000000000000000006A
+:10465000000000000000000000000000000000005A
+:10466000000000000000000000000000000000004A
+:10467000000000000000000000000000000000003A
+:10468000000000000000000000000000000000002A
+:10469000000000000000000000000000000000001A
+:1046A000000000000000000000000000000000000A
+:1046B00000000000000000000000000000000000FA
+:1046C00000000000000000000000000000000000EA
+:1046D00000000000000000000000000000000000DA
+:1046E00000000000000000000000000000000000CA
+:1046F00000000000000000000000000000000000BA
+:1047000000000000000000000000000000000000A9
+:104710000000000000000000000000000000000099
+:104720000000000000000000000000000000000089
+:104730000000000000000000000000000000000079
+:104740000000000000000000000000000000000069
+:104750000000000000000000000000000000000059
+:104760000000000000000000000000000000000049
+:104770000000000000000000000000000000000039
+:104780000000000000000000000000000000000029
+:104790000000000000000000000000000000000019
+:1047A0000000000000000000000000000000000009
+:1047B00000000000000000000000000000000000F9
+:1047C00000000000000000000000000000000000E9
+:1047D00000000000000000000000000000000000D9
+:1047E00000000000000000000000000000000000C9
+:1047F00000000000000000000000000000000000B9
+:1048000000000000000000000000000000000000A8
+:104810000000000000000000000000000000000098
+:104820000000000000000000000000000000000088
+:104830000000000000000000000000000000000078
+:104840000000000000000000000000000000000068
+:104850000000000000000000000000000000000058
+:104860000000000000000000000000000000000048
+:104870000000000000000000000000000000000038
+:104880000000000000000000000000000000000028
+:104890000000000000000000000000000000000018
+:1048A0000000000000000000000000000000000008
+:1048B00000000000000000000000000000000000F8
+:1048C00000000000000000000000000000000000E8
+:1048D00000000000000000000000000000000000D8
+:1048E00000000000000000000000000000000000C8
+:1048F00000000000000000000000000000000000B8
+:1049000000000000000000000000000000000000A7
+:104910000000000000000000000000000000000097
+:104920000000000000000000000000000000000087
+:104930000000000000000000000000000000000077
+:104940000000000000000000000000000000000067
+:104950000000000000000000000000000000000057
+:104960000000000000000000000000000000000047
+:104970000000000000000000000000000000000037
+:104980000000000000000000000000000000000027
+:104990000000000000000000000000000000000017
+:1049A0000000000000000000000000000000000007
+:1049B00000000000000000000000000000000000F7
+:1049C00000000000000000000000000000000000E7
+:1049D00000000000000000000000000000000000D7
+:1049E00000000000000000000000000000000000C7
+:1049F00000000000000000000000000000000000B7
+:104A000000000000000000000000000000000000A6
+:104A10000000000000000000000000000000000096
+:104A20000000000000000000000000000000000086
+:104A30000000000000000000000000000000000076
+:104A40000000000000000000000000000000000066
+:104A50000000000000000000000000000000000056
+:104A60000000000000000000000000000000000046
+:104A70000000000000000000000000000000000036
+:104A80000000000000000000000000000000000026
+:104A90000000000000000000000000000000000016
+:104AA0000000000000000000000000000000000006
+:104AB00000000000000000000000000000000000F6
+:104AC00000000000000000000000000000000000E6
+:104AD00000000000000000000000000000000000D6
+:104AE00000000000000000000000000000000000C6
+:104AF00000000000000000000000000000000000B6
+:104B000000000000000000000000000000000000A5
+:104B10000000000000000000000000000000000095
+:104B20000000000000000000000000000000000085
+:104B30000000000000000000000000000000000075
+:104B40000000000000000000000000000000000065
+:104B50000000000000000000000000000000000055
+:104B60000000000000000000000000000000000045
+:104B70000000000000000000000000000000000035
+:104B80000000000000000000000000000000000025
+:104B90000000000000000000000000000000000015
+:104BA0000000000000000000000000000000000005
+:104BB00000000000000000000000000000000000F5
+:104BC00000000000000000000000000000000000E5
+:104BD00000000000000000000000000000000000D5
+:104BE00000000000000000000000000000000000C5
+:104BF00000000000000000000000000000000000B5
+:104C000000000000000000000000000000000000A4
+:104C10000000000000000000000000000000000094
+:104C20000000000000000000000000000000000084
+:104C30000000000000000000000000000000000074
+:104C40000000000000000000000000000000000064
+:104C50000000000000000000000000000000000054
+:104C60000000000000000000000000000000000044
+:104C70000000000000000000000000000000000034
+:104C80000000000000000000000000000000000024
+:104C90000000000000000000000000000000000014
+:104CA0000000000000000000000000000000000004
+:104CB00000000000000000000000000000000000F4
+:104CC00000000000000000000000000000000000E4
+:104CD00000000000000000010101010101010101CB
+:104CE00001010101010101010101010101010101B4
+:104CF00001010101010101010101010101010101A4
+:104D00000101010101010101010101010101010193
+:104D10000101010101010101010101010101010183
+:104D20000101010101010101010101010101010173
+:104D30000101010101010101010101010101010163
+:104D40000101010101010101010101010101010153
+:104D50000101010101010101010101010101010143
+:104D60000101010101010101010101010101010133
+:104D70000101010101010101010101010101010123
+:104D80000101010101010101010101010101010113
+:104D90000101010101010101010101010101010103
+:104DA00001010101010101010101010101010101F3
+:104DB00001010101010101010101010101010101E3
+:104DC00001010101010101010101010101010101D3
+:104DD00001010101010101010101010101010101C3
+:104DE00001010101010101010101010101010101B3
+:104DF00001010101010101010101010101010101A3
+:104E00000101010101010101010101010101010192
+:104E10000101010101010101010101010101010182
+:104E20000101010101010101010101010101010172
+:104E30000101010101010101010101010101010162
+:104E40000101010101010101010101010101010152
+:104E50000101010101010101010101010101010142
+:104E60000101010101010101010101010101010132
+:104E70000101010101010101010101010101010122
+:104E80000101010101010101010101010101010112
+:104E90000101010101010101010101010101010102
+:104EA00001010101010101010101010101010101F2
+:104EB00001010101010101010101010101010101E2
+:104EC00001010101010101010101010101010101D2
+:104ED00001010101010101010101010101010101C2
+:104EE00001010101010101010101010101010101B2
+:104EF00001010101010101010101010101010101A2
+:104F00000101010101010101010101010101010191
+:104F10000101010101010101010101010101010181
+:104F20000101010101010101010101010101010171
+:104F30000101010101010101010101010101010161
+:104F40000101010101010101010101010101010151
+:104F50000101010101010101010101010101010141
+:104F60000101010101010101010101010101010131
+:104F70000101010101010101010101010101010121
+:104F80000101010101010101010101010101010111
+:104F90000101010101010101010101010101010101
+:104FA00001010101010101010101010101010101F1
+:104FB00001010101010101010101010101010101E1
+:104FC00001010101010101010101010101010101D1
+:104FD00001010101010101010101010101010101C1
+:104FE00001010101010101010101010101010101B1
+:104FF00001010101010101010101010101010101A1
+:105000000101010101010101010101010101010190
+:105010000101010101010101010101010101010180
+:105020000101010101010101010101010101010170
+:105030000101010101010101010101010101010160
+:105040000101010101010101010101010101010150
+:105050000101010101010101010101010101010140
+:105060000101010101010101010101010101010130
+:105070000101010101010101010101010101010120
+:105080000101010101010101010101010101010110
+:105090000101010101010101010101010101010100
+:1050A00001010101010101010101010101010101F0
+:1050B00001010101010101010101010101010101E0
+:1050C00001010101010101010101010101010101D0
+:1050D00001010101010101010101010101010101C0
+:1050E00001010101010101010101010101010101B0
+:1050F00001010101010101010101010101010101A0
+:10510000010101010101010101010101010101018F
+:10511000010101010101010101010101010101017F
+:10512000010101010101010101010101010101016F
+:10513000010101010101010101010101010101015F
+:10514000010101010101010101010101010101014F
+:10515000010101010101010101010101010101013F
+:10516000010101010101010101010101010101012F
+:10517000010101010101010101010101010101011F
+:10518000010101010101010101010101010101010F
+:1051900001010101010101010101010101010101FF
+:1051A00001010101010101010101010101010101EF
+:1051B00001010101010101010101010101010101DF
+:1051C00001010101010101010101010101010101CF
+:1051D00001010101010101010101010101010101BF
+:1051E00001010101010101010101010101010101AF
+:1051F000010101010101010101010101010101019F
+:10520000010101010101010101010101010101018E
+:10521000010101010101010101010101010101017E
+:10522000010101010101010101010101010101016E
+:10523000010101010101010101010101010101015E
+:10524000010101010101010101010101010101014E
+:10525000010101010101010101010101010101013E
+:10526000010101010101010101010101010101012E
+:10527000010101010101010101010101010101011E
+:10528000010101010101010101010101010101010E
+:1052900001010101010101010101010101010101FE
+:1052A00001010101010101010101010101010101EE
+:1052B00001010101010101010101010101010101DE
+:1052C00001010101010101010101010101010101CE
+:1052D00001010101010101010101010101010101BE
+:1052E00001010101010101010101010101010101AE
+:1052F000010101010101010101010101010101019E
+:10530000010101010101010101010101010101018D
+:10531000010101010101010101010101010101017D
+:10532000010101010101010101010101010101016D
+:10533000010101010101010101010101010101015D
+:10534000010101010101010101010101010101014D
+:10535000010101010101010101010101010101013D
+:10536000010101010101010101010101010101012D
+:10537000010101010101010101010101010101011D
+:10538000010101010101010101010101010101010D
+:1053900001010101010101010101010101010101FD
+:1053A00001010101010101010101010101010101ED
+:1053B00001010101010101010101010101010101DD
+:1053C00001010101010101010101010101010101CD
+:1053D00001010101010101010101010101010101BD
+:1053E00001010101010101010101010101010101AD
+:1053F000010101010101010101010101010101019D
+:10540000010101010101010101010101010101018C
+:10541000010101010101010101010101010101017C
+:10542000010101010101010101010101010101016C
+:10543000010101010101010101010101010101015C
+:10544000010101010101010101010101010101014C
+:10545000010101010101010101010101010101013C
+:10546000010101010101010101010101010101012C
+:10547000010101010101010101010101010101011C
+:10548000010101010101010101010101010101010C
+:1054900001010101010101010101010101010101FC
+:1054A00001010101010101010101010101010101EC
+:1054B00001010101010101010101010101010101DC
+:1054C00001010101010101010101010101010101CC
+:1054D00001010101010101010101010101010101BC
+:1054E00001010101010101010101010101010101AC
+:1054F000010101010101010101010101010101019C
+:10550000010101010101010101010101010101018B
+:10551000010101010101010101010101010101017B
+:10552000010101010101010101010101010101016B
+:10553000010101010101010101010101010101015B
+:10554000010101010101010101010101010101014B
+:10555000010101010101010101010101010101013B
+:10556000010101010101010101010101010101012B
+:10557000010101010101010101010101010101011B
+:10558000010101010101010101010101010101010B
+:1055900001010101010101010101010101010101FB
+:1055A00001010101010101010101010101010101EB
+:1055B00001010101010101010101010101010101DB
+:1055C00001010101010101010101010101010101CB
+:1055D00001010101010101010101010101010101BB
+:1055E00001010101010101010101010101010101AB
+:1055F000010101010101010101010101010101019B
+:10560000010101010101010101010101010101018A
+:10561000010101010101010101010101010101017A
+:10562000010101010101010101010101010101016A
+:10563000010101010101010101010101010101015A
+:10564000010101010101010101010101010101014A
+:10565000010101010101010101010101010101013A
+:10566000010101010101010101010101010101012A
+:10567000010101010101010101010101010101011A
+:10568000010101010101010101010101010101010A
+:1056900001010101010101010101010101010101FA
+:1056A00001010101010101010101010101010101EA
+:1056B00001010101010101010101010101010101DA
+:1056C00001010101010101010101010101010101CA
+:1056D00001010101010101010101010101010101BA
+:1056E00001010101010101010101010101010101AA
+:1056F000010101010101010101010101010101019A
+:105700000101010101010101010101010101010189
+:105710000101010101010101010101010101010179
+:105720000101010101010101010101010101010169
+:105730000101010101010101010101010101010159
+:105740000101010101010101010101010101010149
+:105750000101010101010101010101010101010139
+:105760000101010101010101010101010101010129
+:105770000101010101010101010101010101010119
+:105780000101010101010101010101010101010109
+:1057900001010101010101010101010101010101F9
+:1057A00001010101010101010101010101010101E9
+:1057B00001010101010101010101010101010101D9
+:1057C00001010101010101010101010101010101C9
+:1057D00001010101010101010101010101010101B9
+:1057E00001010101010101010101010101010101A9
+:1057F0000101010101010101010101010101010199
+:105800000101010101010101010101010101010188
+:105810000101010101010101010101010101010178
+:105820000101010101010101010101010101010168
+:105830000101010101010101010101010101010158
+:105840000101010101010101010101010101010148
+:105850000101010101010101010101010101010138
+:105860000101010101010101010101010101010128
+:105870000101010101010101010101010101010118
+:105880000101010101010101010101010101010108
+:1058900001010101010101010101010101010101F8
+:1058A00001010101010101010101010101010101E8
+:1058B00001010101010101010101010101010101D8
+:1058C00001010101010101010101010101010101C8
+:1058D00001010101010101010101010101010101B8
+:1058E00001010101010101010101010101010101A8
+:1058F0000101010101010101010101010101010198
+:105900000101010101010101010101010101010187
+:105910000101010101010101010101010101010177
+:105920000101010101010101010101010101010167
+:105930000101010101010101010101010101010157
+:105940000101010101010101010101010101010147
+:105950000101010101010101010101010101010137
+:105960000101010101010101010101010101010127
+:105970000101010101010101010101010101010117
+:105980000101010101010101010101010101010107
+:1059900001010101010101010101010101010101F7
+:1059A00001010101010101010101010101010101E7
+:1059B00001010101010101010101010101010101D7
+:1059C00001010101010101010101010101010101C7
+:1059D00001010101010101010101010101010101B7
+:1059E00001010101010101010101010101010101A7
+:1059F0000101010101010101010101010101010197
+:105A00000101010101010101010101010101010186
+:105A10000101010101010101010101010101010176
+:105A20000101010101010101010101010101010166
+:105A30000101010101010101010101010101010156
+:105A40000101010101010101010101010101010146
+:105A50000101010101010101010101010101010136
+:105A60000101010101010101010101010101010126
+:105A70000101010101010101010101010101010116
+:105A80000101010101010101010101010101010106
+:105A900001010101010101010101010101010101F6
+:105AA00001010101010101010101010101010101E6
+:105AB00001010101010101010101010101010101D6
+:105AC00001010101010101010101010101010101C6
+:105AD00001010101010101010101010101010101B6
+:105AE00001010101010101010101010101010101A6
+:105AF0000101010101010101010101010101010196
+:105B00000101010101010101010101010101010185
+:105B10000101010101010101010101010101010175
+:105B20000101010101010101010101010101010165
+:105B30000101010101010101010101010101010155
+:105B40000101010101010101010101010101010145
+:105B50000101010101010101010101010101010135
+:105B60000101010101010101010101010101010125
+:105B70000101010101010101010101010101010115
+:105B80000101010101010101010101010101010105
+:105B900001010101010101010101010101010101F5
+:105BA00001010101010101010101010101010101E5
+:105BB00001010101010101010101010101010101D5
+:105BC00001010101010101010101010101010101C5
+:105BD00001010101010101010101010101010101B5
+:105BE00001010101010101010101010101010101A5
+:105BF0000101010101010101010101010101010195
+:105C00000101010101010101010101010101010184
+:105C10000101010101010101010101010101010174
+:105C20000101010101010101010101010101010164
+:105C30000101010101010101010101010101010154
+:105C40000101010101010101010101010101010144
+:105C50000101010101010101010101010101010134
+:105C60000101010101010101010101010101010124
+:105C70000101010101010101010101010101010114
+:105C80000101010101010101010101010101010104
+:105C900001010101010101010101010101010101F4
+:105CA00001010101010101010101010101010101E4
+:105CB00001010101010101010101010101010101D4
+:105CC00001010101010101010101010101010101C4
+:105CD00001010101010101010101010101010101B4
+:105CE00001010101010101010101010101010101A4
+:105CF0000101010101010101010101010101010194
+:105D00000101010101010101010101010101010183
+:105D10000101010101010101010101010101010173
+:105D20000101010101010101010101010101010163
+:105D30000101010101010101010101010101010153
+:105D40000101010101010101010101010101010143
+:105D50000101010101010101010101010101010133
+:105D60000101010101010101010101010101010123
+:105D70000101010101010101010101010101010113
+:105D80000101010101010101010101010101010103
+:105D900001010101010101010101010101010101F3
+:105DA00001010101010101010101010101010101E3
+:105DB00001010101010101010101010101010101D3
+:105DC00001010101010101010101010101010101C3
+:105DD00001010101010101010101010101010101B3
+:105DE00001010101010101010101010101010101A3
+:105DF0000101010101010101010101010101010193
+:105E00000101010101010101010101010101010182
+:105E10000101010101010101010101010101010172
+:105E20000101010101010101010101010101010162
+:105E30000101010101010101010101010101010152
+:105E40000101010101010101010101010101010142
+:105E50000101010101010101010101010101010132
+:105E60000101010101010101010101010101010122
+:105E70000101010101010101010101010101010112
+:105E80000101010101010101010101010101010102
+:105E900001010101010101010101010101010101F2
+:105EA00001010101010101010101010101010101E2
+:105EB00001010101010101010101010101010101D2
+:105EC00001010101010101010101010101010101C2
+:105ED00001010101010101010101010101010101B2
+:105EE00001010101010101010101010101010101A2
+:105EF0000101010101010101010101010101010192
+:105F00000101010101010101010101010101010181
+:105F10000101010101010101010101010101010171
+:105F20000101010101010101010101010101010161
+:105F30000101010101010101010101010101010151
+:105F40000101010101010101010101010101010141
+:105F50000101010101010101010101010101010131
+:105F60000101010101010101010101010101010121
+:105F70000101010101010101010101010101010111
+:105F80000101010101010101010101010101010101
+:105F900001010101010101010101010101010101F1
+:105FA00001010101010101010101010101010101E1
+:105FB00001010101010101010101010101010101D1
+:105FC00001010101010101010101010101010101C1
+:105FD00001010101010101010101010101010101B1
+:105FE00001010101010101010101010101010101A1
+:105FF0000101010101010101010101010101010191
+:106000000101010101010101010101010101010180
+:106010000101010101010101010101010101010170
+:106020000101010101010101010101010101010160
+:106030000101010101010101010101010101010150
+:106040000101010101010101010101010101010140
+:106050000101010101010101010101010101010130
+:106060000101010101010101010101010101010120
+:106070000101010101010101010101010101010110
+:106080000101010101010101010101010101010100
+:1060900001010101010101010101010101010101F0
+:1060A00001010101010101010101010101010101E0
+:1060B00001010101010101010101010101010101D0
+:1060C00001010101010101010101010101010101C0
+:1060D00001010101010101010101010101010101B0
+:1060E00001010101010101010101010101010101A0
+:1060F0000101010101010101010101010101010190
+:10610000010101010101010101010101010101017F
+:10611000010101010101010101010101010101016F
+:10612000010101010101010101010101010101015F
+:10613000010101010101010101010101010101014F
+:10614000010101010101010101010101010101013F
+:10615000010101010101010101010101010101012F
+:10616000010101010101010101010101010101011F
+:10617000010101010101010101010101010101010F
+:1061800001010101010101010101010101010101FF
+:1061900001010101010101010101010101010101EF
+:1061A00001010101010101010101010101010101DF
+:1061B00001010101010101010101010101010101CF
+:1061C00001010101010101010101010101010101BF
+:1061D00001010101010101010101010101010101AF
+:1061E000010101010101010101010101010101019F
+:1061F000010101010101010101010101010101018F
+:10620000010101010101010101010101010101017E
+:10621000010101010101010101010101010101016E
+:10622000010101010101010101010101010101015E
+:10623000010101010101010101010101010101014E
+:10624000010101010101010101010101010101013E
+:10625000010101010101010101010101010101012E
+:10626000010101010101010101010101010101011E
+:10627000010101010101010101010101010101010E
+:1062800001010101010101010101010101010101FE
+:1062900001010101010101010101010101010101EE
+:1062A00001010101010101010101010101010101DE
+:1062B00001010101010101010101010101010101CE
+:1062C00001010101010101010101010101010101BE
+:1062D00001010101010101010101010101010101AE
+:1062E000010101010101010101010101010101019E
+:1062F000010101010101010101010101010101018E
+:10630000010101010101010101010101010101017D
+:10631000010101010101010101010101010101016D
+:10632000010101010101010101010101010101015D
+:10633000010101010101010101010101010101014D
+:10634000010101010101010101010101010101013D
+:10635000010101010101010101010101010101012D
+:10636000010101010101010101010101010101011D
+:10637000010101010101010101010101010101010D
+:1063800001010101010101010101010101010101FD
+:1063900001010101010101010101010101010101ED
+:1063A00001010101010101010101010101010101DD
+:1063B00001010101010101010101010101010101CD
+:1063C00001010101010101010101010101010101BD
+:1063D00001010101010101010101010101010101AD
+:1063E000010101010101010101010101010101019D
+:1063F000010101010101010101010101010101018D
+:10640000010101010101010101010101010101017C
+:10641000010101010101010101010101010101016C
+:10642000010101010101010101010101010101015C
+:10643000010101010101010101010101010101014C
+:10644000010101010101010101010101010101013C
+:10645000010101010101010101010101010101012C
+:10646000010101010101010101010101010101011C
+:10647000010101010101010101010101010101010C
+:1064800001010101010101010101010101010101FC
+:1064900001010101010101010101010101010101EC
+:1064A00001010101010101010101010101010101DC
+:1064B00001010101010101010101010101010101CC
+:1064C00001010101010101010101010101010101BC
+:1064D00001010101010101010101010101010101AC
+:1064E000010101010101010101010101010101019C
+:1064F000010101010101010101010101010101018C
+:10650000010101010101010101010101010101017B
+:10651000010101010101010101010101010101016B
+:10652000010101010101010101010101010101015B
+:10653000010101010101010101010101010101014B
+:10654000010101010101010101010101010101013B
+:10655000010101010101010101010101010101012B
+:10656000010101010101010101010101010101011B
+:10657000010101010101010101010101010101010B
+:1065800001010101010101010101010101010101FB
+:1065900001010101010101010101010101010101EB
+:1065A00001010101010101010101010101010101DB
+:1065B00001010101010101010101010101010101CB
+:1065C00001010101010101010101010101010101BB
+:1065D00001010101010101010101010101010101AB
+:1065E000010101010101010101010101010101019B
+:1065F000010101010101010101010101010101018B
+:10660000010101010101010101010101010101017A
+:10661000010101010101010101010101010101016A
+:10662000010101010101010101010101010101015A
+:10663000010101010101010101010101010101014A
+:10664000010101010101010101010101010101013A
+:10665000010101010101010101010101010101012A
+:10666000010101010101010101010101010101011A
+:10667000010101010101010101010101010101010A
+:1066800001010101010101010101010101010101FA
+:1066900001010101010101010101010101010101EA
+:1066A00001010101010101010101010101010101DA
+:1066B00001010101010101010101010101010101CA
+:1066C00001010101010101010101010101010101BA
+:1066D00001010101010101010101010101010101AA
+:1066E000010101010101010101010101010101019A
+:1066F000010101010101010101010101010101018A
+:106700000101010101010101010101010101010179
+:106710000101010101010101010101010101010169
+:106720000101010101010101010101010101010159
+:106730000101010101010101010101010101010149
+:106740000101010101010101010101010101010139
+:106750000101010101010101010101010101010129
+:106760000101010101010101010101010101010119
+:106770000101010101010101010101010101010109
+:1067800001010101010101010101010101010101F9
+:1067900001010101010101010101010101010101E9
+:1067A00001010101010101010101010101010101D9
+:1067B00001010101010101010101010101010101C9
+:1067C00001010101010101010101010101010101B9
+:1067D00001010101010101010101010101010101A9
+:1067E0000101010101010101010101010101010199
+:1067F0000101010101010101010101010101010189
+:106800000101010101010101010101010101010178
+:106810000101010101010101010101010101010168
+:106820000101010101010101010101010101010158
+:106830000101010101010101010101010101010148
+:106840000101010101010101010101010101010138
+:106850000101010101010101010101010101010128
+:106860000101010101010101010101010101010118
+:106870000101010101010101010101010101010108
+:1068800001010101010101010101010101010101F8
+:1068900001010101010101010101010101010101E8
+:1068A00001010101010101010101010101010101D8
+:1068B00001010101010101010101010101010101C8
+:1068C00001010101010101010101010101010101B8
+:1068D00001010101010101010101010101010101A8
+:1068E0000101010101010101010101010101010198
+:1068F0000101010101010101010101010101010188
+:106900000101010101010101010101010101010177
+:106910000101010101010101010101010101010167
+:106920000101010101010101010101010101010157
+:106930000101010101010101010101010101010147
+:106940000101010101010101010101010101010137
+:106950000101010101010101010101010101010127
+:106960000101010101010101010101010101010117
+:106970000101010101010101010101010101010107
+:1069800001010101010101010101010101010101F7
+:1069900001010101010101010101010101010101E7
+:1069A00001010101010101010101010101010101D7
+:1069B00001010101010101010101010101010101C7
+:1069C00001010101010101010101010101010101B7
+:1069D00001010101010101000000000000000000B0
+:1069E00000000000000000000000000000000000A7
+:1069F0000000000000000000000000000000000097
+:106A00000000000000000000000000000000000086
+:106A10000000000000000000000000000000000076
+:106A20000000000000000000000000000000000066
+:106A30000000000000000000000000000000000056
+:106A40000000000000000000000000000000000046
+:106A50000000000000000000000000000000000036
+:106A60000000000000000000000000000000000026
+:106A70000000000000000000000000000000000016
+:106A80000000000000000000000000000000000006
+:106A900000000000000000000000000000000000F6
+:106AA00000000000000000000000000000000000E6
+:106AB00000000000000000000000000000000000D6
+:106AC00000000000000000000000000000000000C6
+:106AD00000000000000000000000000000000000B6
+:106AE00000000000000000000000000000000000A6
+:106AF0000000000000000000000000000000000096
+:106B00000000000000000000000000000000000085
+:106B10000000000000000000000000000000000075
+:106B20000000000000000000000000000000000065
+:106B30000000000000000000000000000000000055
+:106B40000000000000000000000000000000000045
+:106B50000000000000000000000000000000000035
+:106B60000000000000000000000000000000000025
+:106B70000000000000000000000000000000000015
+:106B80000000000000000000000000000000000005
+:106B900000000000000000000000000000000000F5
+:106BA00000000000000000000000000000000000E5
+:106BB00000000000000000000000000000000000D5
+:106BC00000000000000000000000000000000000C5
+:106BD00000000000000000000000000000000000B5
+:106BE00000000000000000000000000000000000A5
+:106BF0000000000000000000000000000000000095
+:106C00000000000000000000000000000000000084
+:106C10000000000000000000000000000000000074
+:106C20000000000000000000000000000000000064
+:106C30000000000000000000000000000000000054
+:106C40000000000000000000000000000000000044
+:106C50000000000000000000000000000000000034
+:106C60000000000000000000000000000000000024
+:106C70000000000000000000000000000000000014
+:106C80000000000000000000000000000000000004
+:106C900000000000000000000000000000000000F4
+:106CA00000000000000000000000000000000000E4
+:106CB00000000000000000000000000000000000D4
+:106CC00000000000000000000000000000000000C4
+:106CD00000000000000000000000000000000000B4
+:106CE00000000000000000000000000000000000A4
+:106CF0000000000000000000000000000000000094
+:106D00000000000000000000000000000000000083
+:106D10000000000000000000000000000000000073
+:106D20000000000000000000000000000000000063
+:106D30000000000000000000000000000000000053
+:106D40000000000000000000000000000000000043
+:106D50000000000000000000000000000000000033
+:106D60000000000000000000000000000000000023
+:106D70000000000000000000000000000000000013
+:106D80000000000000000000000000000000000003
+:106D900000000000000000000000000000000000F3
+:106DA00000000000000000000000000000000000E3
+:106DB00000000000000000000000000000000000D3
+:106DC00000000000000000000000000000000000C3
+:106DD00000000000000000000000000000000000B3
+:106DE00000000000000000000000000000000000A3
+:106DF0000000000000000000000000000000000093
+:106E00000000000000000000000000000000000082
+:106E10000000000000000000000000000000000072
+:106E20000000000000000000000000000000000062
+:106E30000000000000000000000000000000000052
+:106E40000000000000000000000000000000000042
+:106E50000000000000000000000000000000000032
+:106E60000000000000000000000000000000000022
+:106E70000000000000000000000000000000000012
+:106E80000000000000000000000000000000000002
+:106E900000000000000000000000000000000000F2
+:106EA00000000000000000000000000000000000E2
+:106EB00000000000000000000000000000000000D2
+:106EC00000000000000000000000000000000000C2
+:106ED00000000000000000000000000000000000B2
+:106EE00000000000000000000000000000000000A2
+:106EF0000000000000000000000000000000000092
+:106F00000000000000000000000000000000000081
+:106F10000000000000000000000000000000000071
+:106F20000000000000000000000000000000000061
+:106F30000000000000000000000000000000000051
+:106F40000000000000000000000000000000000041
+:106F50000000000000000000000000000000000031
+:106F60000000000000000000000000000000000021
+:106F70000000000000000000000000000000000011
+:106F80000000000000000000000000000000000001
+:106F900000000000000000000000000000000000F1
+:106FA00000000000000000000000000000000000E1
+:106FB00000000000000000000000000000000000D1
+:106FC00000000000000000000000000000000000C1
+:106FD000000000000000000202020202020202029F
+:106FE0000202020202020202020202020202020281
+:106FF0000202020202020202020202020202020271
+:107000000202020202020202020202020202020260
+:107010000202020202020202020202020202020250
+:107020000202020202020202020202020202020240
+:107030000202020202020202020202020202020230
+:107040000202020202020202020202020202020220
+:107050000202020202020202020202020202020210
+:107060000202020202020202020202020202020200
+:1070700002020202020202020202020202020202F0
+:1070800002020202020202020202020202020202E0
+:1070900002020202020202020202020202020202D0
+:1070A00002020202020202020202020202020202C0
+:1070B00002020202020202020202020202020202B0
+:1070C00002020202020202020202020202020202A0
+:1070D0000202020202020202020202020202020290
+:1070E0000202020202020202020202020202020280
+:1070F0000202020202020202020202020202020270
+:10710000020202020202020202020202020202025F
+:10711000020202020202020202020202020202024F
+:10712000020202020202020202020202020202023F
+:10713000020202020202020202020202020202022F
+:10714000020202020202020202020202020202021F
+:10715000020202020202020202020202020202020F
+:1071600002020202020202020202020202020202FF
+:1071700002020202020202020202020202020202EF
+:1071800002020202020202020202020202020202DF
+:1071900002020202020202020202020202020202CF
+:1071A00002020202020202020202020202020202BF
+:1071B00002020202020202020202020202020202AF
+:1071C000020202020202020202020202020202029F
+:1071D000020202020202020202020202020202028F
+:1071E000020202020202020202020202020202027F
+:1071F000020202020202020202020202020202026F
+:10720000020202020202020202020202020202025E
+:10721000020202020202020202020202020202024E
+:10722000020202020202020202020202020202023E
+:10723000020202020202020202020202020202022E
+:10724000020202020202020202020202020202021E
+:10725000020202020202020202020202020202020E
+:1072600002020202020202020202020202020202FE
+:1072700002020202020202020202020202020202EE
+:1072800002020202020202020202020202020202DE
+:1072900002020202020202020202020202020202CE
+:1072A00002020202020202020202020202020202BE
+:1072B00002020202020202020202020202020202AE
+:1072C000020202020202020202020202020202029E
+:1072D000020202020202020202020202020202028E
+:1072E000020202020202020202020202020202027E
+:1072F000020202020202020202020202020202026E
+:10730000020202020202020202020202020202025D
+:10731000020202020202020202020202020202024D
+:10732000020202020202020202020202020202023D
+:10733000020202020202020202020202020202022D
+:10734000020202020202020202020202020202021D
+:10735000020202020202020202020202020202020D
+:1073600002020202020202020202020202020202FD
+:1073700002020202020202020202020202020202ED
+:1073800002020202020202020202020202020202DD
+:1073900002020202020202020202020202020202CD
+:1073A00002020202020202020202020202020202BD
+:1073B00002020202020202020202020202020202AD
+:1073C000020202020202020202020202020202029D
+:1073D000020202020202020202020202020202028D
+:1073E000020202020202020202020202020202027D
+:1073F000020202020202020202020202020202026D
+:10740000020202020202020202020202020202025C
+:10741000020202020202020202020202020202024C
+:10742000020202020202020202020202020202023C
+:10743000020202020202020202020202020202022C
+:10744000020202020202020202020202020202021C
+:10745000020202020202020202020202020202020C
+:1074600002020202020202020202020202020202FC
+:1074700002020202020202020202020202020202EC
+:1074800002020202020202020202020202020202DC
+:1074900002020202020202020202020202020202CC
+:1074A00002020202020202020202020202020202BC
+:1074B00002020202020202020202020202020202AC
+:1074C000020202020202020202020202020202029C
+:1074D000020202020202020202020202020202028C
+:1074E000020202020202020202020202020202027C
+:1074F000020202020202020202020202020202026C
+:10750000020202020202020202020202020202025B
+:10751000020202020202020202020202020202024B
+:10752000020202020202020202020202020202023B
+:10753000020202020202020202020202020202022B
+:10754000020202020202020202020202020202021B
+:10755000020202020202020202020202020202020B
+:1075600002020202020202020202020202020202FB
+:1075700002020202020202020202020202020202EB
+:1075800002020202020202020202020202020202DB
+:1075900002020202020202020202020202020202CB
+:1075A00002020202020202020202020202020202BB
+:1075B00002020202020202020202020202020202AB
+:1075C000020202020202020202020202020202029B
+:1075D000020202020202020202020202020202028B
+:1075E000020202020202020202020202020202027B
+:1075F000020202020202020202020202020202026B
+:10760000020202020202020202020202020202025A
+:10761000020202020202020202020202020202024A
+:10762000020202020202020202020202020202023A
+:10763000020202020202020202020202020202022A
+:10764000020202020202020202020202020202021A
+:10765000020202020202020202020202020202020A
+:1076600002020202020202020202020202020202FA
+:1076700002020202020202020202020202020202EA
+:1076800002020202020202020202020202020202DA
+:1076900002020202020202020202020202020202CA
+:1076A00002020202020202020202020202020202BA
+:1076B00002020202020202020202020202020202AA
+:1076C000020202020202020202020202020202029A
+:1076D000020202020202020202020202020202028A
+:1076E000020202020202020202020202020202027A
+:1076F000020202020202020202020202020202026A
+:107700000202020202020202020202020202020259
+:107710000202020202020202020202020202020249
+:107720000202020202020202020202020202020239
+:107730000202020202020202020202020202020229
+:107740000202020202020202020202020202020219
+:107750000202020202020202020202020202020209
+:1077600002020202020202020202020202020202F9
+:1077700002020202020202020202020202020202E9
+:1077800002020202020202020202020202020202D9
+:1077900002020202020202020202020202020202C9
+:1077A00002020202020202020202020202020202B9
+:1077B00002020202020202020202020202020202A9
+:1077C0000202020202020202020202020202020299
+:1077D0000202020202020202020202020202020289
+:1077E0000202020202020202020202020202020279
+:1077F0000202020202020202020202020202020269
+:107800000202020202020202020202020202020258
+:107810000202020202020202020202020202020248
+:107820000202020202020202020202020202020238
+:107830000202020202020202020202020202020228
+:107840000202020202020202020202020202020218
+:107850000202020202020202020202020202020208
+:1078600002020202020202020202020202020202F8
+:1078700002020202020202020202020202020202E8
+:1078800002020202020202020202020202020202D8
+:1078900002020202020202020202020202020202C8
+:1078A00002020202020202020202020202020202B8
+:1078B00002020202020202020202020202020202A8
+:1078C0000202020202020202020202020202020298
+:1078D0000202020202020202020202020202020288
+:1078E0000202020202020202020202020202020278
+:1078F0000202020202020202020202020202020268
+:107900000202020202020202020202020202020257
+:107910000202020202020202020202020202020247
+:107920000202020202020202020202020202020237
+:107930000202020202020202020202020202020227
+:107940000202020202020202020202020202020217
+:107950000202020202020202020202020202020207
+:1079600002020202020202020202020202020202F7
+:1079700002020202020202020202020202020202E7
+:1079800002020202020202020202020202020202D7
+:1079900002020202020202020202020202020202C7
+:1079A00002020202020202020202020202020202B7
+:1079B00002020202020202020202020202020202A7
+:1079C0000202020202020202020202020202020297
+:1079D0000202020202020202020202020202020287
+:1079E0000202020202020202020202020202020277
+:1079F0000202020202020202020202020202020267
+:107A00000202020202020202020202020202020256
+:107A10000202020202020202020202020202020246
+:107A20000202020202020202020202020202020236
+:107A30000202020202020202020202020202020226
+:107A40000202020202020202020202020202020216
+:107A50000202020202020202020202020202020206
+:107A600002020202020202020202020202020202F6
+:107A700002020202020202020202020202020202E6
+:107A800002020202020202020202020202020202D6
+:107A900002020202020202020202020202020202C6
+:107AA00002020202020202020202020202020202B6
+:107AB00002020202020202020202020202020202A6
+:107AC0000202020202020202020202020202020296
+:107AD0000202020202020202020202020202020286
+:107AE0000202020202020202020202020202020276
+:107AF0000202020202020202020202020202020266
+:107B00000202020202020202020202020202020255
+:107B10000202020202020202020202020202020245
+:107B20000202020202020202020202020202020235
+:107B30000202020202020202020202020202020225
+:107B40000202020202020202020202020202020215
+:107B50000202020202020202020202020202020205
+:107B600002020202020202020202020202020202F5
+:107B700002020202020202020202020202020202E5
+:107B800002020202020202020202020202020202D5
+:107B900002020202020202020202020202020202C5
+:107BA00002020202020202020202020202020202B5
+:107BB00002020202020202020202020202020202A5
+:107BC0000202020202020202020202020202020295
+:107BD0000202020202020202020202020202020285
+:107BE0000202020202020202020202020202020275
+:107BF0000202020202020202020202020202020265
+:107C00000202020202020202020202020202020254
+:107C10000202020202020202020202020202020244
+:107C20000202020202020202020202020202020234
+:107C30000202020202020202020202020202020224
+:107C40000202020202020202020202020202020214
+:107C50000202020202020202020202020202020204
+:107C600002020202020202020202020202020202F4
+:107C700002020202020202020202020202020202E4
+:107C800002020202020202020202020202020202D4
+:107C900002020202020202020202020202020202C4
+:107CA00002020202020202020202020202020202B4
+:107CB00002020202020202020202020202020202A4
+:107CC0000202020202020202020202020202020294
+:107CD0000202020202020202020202020202020284
+:107CE0000202020202020202020202020202020274
+:107CF0000202020202020202020202020202020264
+:107D00000202020202020202020202020202020253
+:107D10000202020202020202020202020202020243
+:107D20000202020202020202020202020202020233
+:107D30000202020202020202020202020202020223
+:107D40000202020202020202020202020202020213
+:107D50000202020202020202020202020202020203
+:107D600002020202020202020202020202020202F3
+:107D700002020202020202020202020202020202E3
+:107D800002020202020202020202020202020202D3
+:107D900002020202020202020202020202020202C3
+:107DA00002020202020202020202020202020202B3
+:107DB00002020202020202020202020202020202A3
+:107DC0000202020202020202020202020202020293
+:107DD0000202020202020202020202020202020283
+:107DE0000202020202020202020202020202020273
+:107DF0000202020202020202020202020202020263
+:107E00000202020202020202020202020202020252
+:107E10000202020202020202020202020202020242
+:107E20000202020202020202020202020202020232
+:107E30000202020202020202020202020202020222
+:107E40000202020202020202020202020202020212
+:107E50000202020202020202020202020202020202
+:107E600002020202020202020202020202020202F2
+:107E700002020202020202020202020202020202E2
+:107E800002020202020202020202020202020202D2
+:107E900002020202020202020202020202020202C2
+:107EA00002020202020202020202020202020202B2
+:107EB00002020202020202020202020202020202A2
+:107EC0000202020202020202020202020202020292
+:107ED0000202020202020202020202020202020282
+:107EE0000202020202020202020202020202020272
+:107EF0000202020202020202020202020202020262
+:107F00000202020202020202020202020202020251
+:107F10000202020202020202020202020202020241
+:107F20000202020202020202020202020202020231
+:107F30000202020202020202020202020202020221
+:107F40000202020202020202020202020202020211
+:107F50000202020202020202020202020202020201
+:107F600002020202020202020202020202020202F1
+:107F700002020202020202020202020202020202E1
+:107F800002020202020202020202020202020202D1
+:107F900002020202020202020202020202020202C1
+:107FA00002020202020202020202020202020202B1
+:107FB00002020202020202020202020202020202A1
+:107FC0000202020202020202020202020202020291
+:107FD0000202020202020202020202020202020281
+:107FE0000202020202020202020202020202020271
+:107FF0000202020202020202020202020202020261
+:108000000202020202020202020202020202020250
+:108010000202020202020202020202020202020240
+:108020000202020202020202020202020202020230
+:108030000202020202020202020202020202020220
+:108040000202020202020202020202020202020210
+:108050000202020202020202020202020202020200
+:1080600002020202020202020202020202020202F0
+:1080700002020202020202020202020202020202E0
+:1080800002020202020202020202020202020202D0
+:1080900002020202020202020202020202020202C0
+:1080A00002020202020202020202020202020202B0
+:1080B00002020202020202020202020202020202A0
+:1080C0000202020202020202020202020202020290
+:1080D0000202020202020202020202020202020280
+:1080E0000202020202020202020202020202020270
+:1080F0000202020202020202020202020202020260
+:10810000020202020202020202020202020202024F
+:10811000020202020202020202020202020202023F
+:10812000020202020202020202020202020202022F
+:10813000020202020202020202020202020202021F
+:10814000020202020202020202020202020202020F
+:1081500002020202020202020202020202020202FF
+:1081600002020202020202020202020202020202EF
+:1081700002020202020202020202020202020202DF
+:1081800002020202020202020202020202020202CF
+:1081900002020202020202020202020202020202BF
+:1081A00002020202020202020202020202020202AF
+:1081B000020202020202020202020202020202029F
+:1081C000020202020202020202020202020202028F
+:1081D000020202020202020202020202020202027F
+:1081E000020202020202020202020202020202026F
+:1081F000020202020202020202020202020202025F
+:10820000020202020202020202020202020202024E
+:10821000020202020202020202020202020202023E
+:10822000020202020202020202020202020202022E
+:10823000020202020202020202020202020202021E
+:10824000020202020202020202020202020202020E
+:1082500002020202020202020202020202020202FE
+:1082600002020202020202020202020202020202EE
+:1082700002020202020202020202020202020202DE
+:1082800002020202020202020202020202020202CE
+:1082900002020202020202020202020202020202BE
+:1082A00002020202020202020202020202020202AE
+:1082B000020202020202020202020202020202029E
+:1082C000020202020202020202020202020202028E
+:1082D000020202020202020202020202020202027E
+:1082E000020202020202020202020202020202026E
+:1082F000020202020202020202020202020202025E
+:10830000020202020202020202020202020202024D
+:10831000020202020202020202020202020202023D
+:10832000020202020202020202020202020202022D
+:10833000020202020202020202020202020202021D
+:10834000020202020202020202020202020202020D
+:1083500002020202020202020202020202020202FD
+:1083600002020202020202020202020202020202ED
+:1083700002020202020202020202020202020202DD
+:1083800002020202020202020202020202020202CD
+:1083900002020202020202020202020202020202BD
+:1083A00002020202020202020202020202020202AD
+:1083B000020202020202020202020202020202029D
+:1083C000020202020202020202020202020202028D
+:1083D000020202020202020202020202020202027D
+:1083E000020202020202020202020202020202026D
+:1083F000020202020202020202020202020202025D
+:10840000020202020202020202020202020202024C
+:10841000020202020202020202020202020202023C
+:10842000020202020202020202020202020202022C
+:10843000020202020202020202020202020202021C
+:10844000020202020202020202020202020202020C
+:1084500002020202020202020202020202020202FC
+:1084600002020202020202020202020202020202EC
+:1084700002020202020202020202020202020202DC
+:1084800002020202020202020202020202020202CC
+:1084900002020202020202020202020202020202BC
+:1084A00002020202020202020202020202020202AC
+:1084B000020202020202020202020202020202029C
+:1084C000020202020202020202020202020202028C
+:1084D000020202020202020202020202020202027C
+:1084E000020202020202020202020202020202026C
+:1084F000020202020202020202020202020202025C
+:10850000020202020202020202020202020202024B
+:10851000020202020202020202020202020202023B
+:10852000020202020202020202020202020202022B
+:10853000020202020202020202020202020202021B
+:10854000020202020202020202020202020202020B
+:1085500002020202020202020202020202020202FB
+:1085600002020202020202020202020202020202EB
+:1085700002020202020202020202020202020202DB
+:1085800002020202020202020202020202020202CB
+:1085900002020202020202020202020202020202BB
+:1085A00002020202020202020202020202020202AB
+:1085B000020202020202020202020202020202029B
+:1085C000020202020202020202020202020202028B
+:1085D000020202020202020202020202020202027B
+:1085E000020202020202020202020202020202026B
+:1085F000020202020202020202020202020202025B
+:10860000020202020202020202020202020202024A
+:10861000020202020202020202020202020202023A
+:10862000020202020202020202020202020202022A
+:10863000020202020202020202020202020202021A
+:10864000020202020202020202020202020202020A
+:1086500002020202020202020202020202020202FA
+:1086600002020202020202020202020202020202EA
+:1086700002020202020202020202020202020202DA
+:1086800002020202020202020202020202020202CA
+:1086900002020202020202020202020202020202BA
+:1086A00002020202020202020202020202020202AA
+:1086B000020202020202020202020202020202029A
+:1086C000020202020202020202020202020202028A
+:1086D000020202020202020202020202020202027A
+:1086E000020202020202020202020202020202026A
+:1086F000020202020202020202020202020202025A
+:108700000202020202020202020202020202020249
+:108710000202020202020202020202020202020239
+:108720000202020202020202020202020202020229
+:108730000202020202020202020202020202020219
+:108740000202020202020202020202020202020209
+:1087500002020202020202020202020202020202F9
+:1087600002020202020202020202020202020202E9
+:1087700002020202020202020202020202020202D9
+:1087800002020202020202020202020202020202C9
+:1087900002020202020202020202020202020202B9
+:1087A00002020202020202020202020202020202A9
+:1087B0000202020202020202020202020202020299
+:1087C0000202020202020202020202020202020289
+:1087D0000202020202020202020202020202020279
+:1087E0000202020202020202020202020202020269
+:1087F0000202020202020202020202020202020259
+:108800000202020202020202020202020202020248
+:108810000202020202020202020202020202020238
+:108820000202020202020202020202020202020228
+:108830000202020202020202020202020202020218
+:108840000202020202020202020202020202020208
+:1088500002020202020202020202020202020202F8
+:1088600002020202020202020202020202020202E8
+:1088700002020202020202020202020202020202D8
+:1088800002020202020202020202020202020202C8
+:1088900002020202020202020202020202020202B8
+:1088A00002020202020202020202020202020202A8
+:1088B0000202020202020202020202020202020298
+:1088C0000202020202020202020202020202020288
+:1088D0000202020202020202020202020202020278
+:1088E0000202020202020202020202020202020268
+:1088F0000202020202020202020202020202020258
+:108900000202020202020202020202020202020247
+:108910000202020202020202020202020202020237
+:108920000202020202020202020202020202020227
+:108930000202020202020202020202020202020217
+:108940000202020202020202020202020202020207
+:1089500002020202020202020202020202020202F7
+:1089600002020202020202020202020202020202E7
+:1089700002020202020202020202020202020202D7
+:1089800002020202020202020202020202020202C7
+:1089900002020202020202020202020202020202B7
+:1089A00002020202020202020202020202020202A7
+:1089B0000202020202020202020202020202020297
+:1089C0000202020202020202020202020202020287
+:1089D0000202020202020202020202020202020277
+:1089E0000202020202020202020202020202020267
+:1089F0000202020202020202020202020202020257
+:108A00000202020202020202020202020202020246
+:108A10000202020202020202020202020202020236
+:108A20000202020202020202020202020202020226
+:108A30000202020202020202020202020202020216
+:108A40000202020202020202020202020202020206
+:108A500002020202020202020202020202020202F6
+:108A600002020202020202020202020202020202E6
+:108A700002020202020202020202020202020202D6
+:108A800002020202020202020202020202020202C6
+:108A900002020202020202020202020202020202B6
+:108AA00002020202020202020202020202020202A6
+:108AB0000202020202020202020202020202020296
+:108AC0000202020202020202020202020202020286
+:108AD0000202020202020202020202020202020276
+:108AE0000202020202020202020202020202020266
+:108AF0000202020202020202020202020202020256
+:108B00000202020202020202020202020202020245
+:108B10000202020202020202020202020202020235
+:108B20000202020202020202020202020202020225
+:108B30000202020202020202020202020202020215
+:108B40000202020202020202020202020202020205
+:108B500002020202020202020202020202020202F5
+:108B600002020202020202020202020202020202E5
+:108B700002020202020202020202020202020202D5
+:108B800002020202020202020202020202020202C5
+:108B900002020202020202020202020202020202B5
+:108BA00002020202020202020202020202020202A5
+:108BB0000202020202020202020202020202020295
+:108BC0000202020202020202020202020202020285
+:108BD0000202020202020202020202020202020275
+:108BE0000202020202020202020202020202020265
+:108BF0000202020202020202020202020202020255
+:108C00000202020202020202020202020202020244
+:108C10000202020202020202020202020202020234
+:108C20000202020202020202020202020202020224
+:108C30000202020202020202020202020202020214
+:108C40000202020202020202020202020202020204
+:108C500002020202020202020202020202020202F4
+:108C600002020202020202020202020202020202E4
+:108C700002020202020202020202020202020202D4
+:108C800002020202020202020202020202020202C4
+:108C900002020202020202020202020202020202B4
+:108CA00002020202020202020202020202020202A4
+:108CB0000202020202020202020202020202020294
+:108CC0000202020202020202020202020202020284
+:108CD0000202020202020200000000000000000086
+:108CE0000000000000000000000000000000000084
+:108CF0000000000000000000000000000000000074
+:108D00000000000000000000000000000000000063
+:108D10000000000000000000000000000000000053
+:108D20000000000000000000000000000000000043
+:108D30000000000000000000000000000000000033
+:108D40000000000000000000000000000000000023
+:108D50000000000000000000000000000000000013
+:108D60000000000000000000000000000000000003
+:108D700000000000000000000000000000000000F3
+:108D800000000000000000000000000000000000E3
+:108D900000000000000000000000000000000000D3
+:108DA00000000000000000000000000000000000C3
+:108DB00000000000000000000000000000000000B3
+:108DC00000000000000000000000000000000000A3
+:108DD0000000000000000000000000000000000093
+:108DE0000000000000000000000000000000000083
+:108DF0000000000000000000000000000000000073
+:108E00000000000000000000000000000000000062
+:108E10000000000000000000000000000000000052
+:108E20000000000000000000000000000000000042
+:108E30000000000000000000000000000000000032
+:108E40000000000000000000000000000000000022
+:108E50000000000000000000000000000000000012
+:108E60000000000000000000000000000000000002
+:108E700000000000000000000000000000000000F2
+:108E800000000000000000000000000000000000E2
+:108E900000000000000000000000000000000000D2
+:108EA00000000000000000000000000000000000C2
+:108EB00000000000000000000000000000000000B2
+:108EC00000000000000000000000000000000000A2
+:108ED0000000000000000000000000000000000092
+:108EE0000000000000000000000000000000000082
+:108EF0000000000000000000000000000000000072
+:108F00000000000000000000000000000000000061
+:108F10000000000000000000000000000000000051
+:108F20000000000000000000000000000000000041
+:108F30000000000000000000000000000000000031
+:108F40000000000000000000000000000000000021
+:108F50000000000000000000000000000000000011
+:108F60000000000000000000000000000000000001
+:108F700000000000000000000000000000000000F1
+:108F800000000000000000000000000000000000E1
+:108F900000000000000000000000000000000000D1
+:108FA00000000000000000000000000000000000C1
+:108FB00000000000000000000000000000000000B1
+:108FC00000000000000000000000000000000000A1
+:108FD0000000000000000000000000000000000091
+:108FE0000000000000000000000000000000000081
+:108FF0000000000000000000000000000000000071
+:109000000000000000000000000000000000000060
+:109010000000000000000000000000000000000050
+:109020000000000000000000000000000000000040
+:109030000000000000000000000000000000000030
+:109040000000000000000000000000000000000020
+:109050000000000000000000000000000000000010
+:109060000000000000000000000000000000000000
+:1090700000000000000000000000000000000000F0
+:1090800000000000000000000000000000000000E0
+:1090900000000000000000000000000000000000D0
+:1090A00000000000000000000000000000000000C0
+:1090B00000000000000000000000000000000000B0
+:1090C00000000000000000000000000000000000A0
+:1090D0000000000000000000000000000000000090
+:1090E0000000000000000000000000000000000080
+:1090F0000000000000000000000000000000000070
+:10910000000000000000000000000000000000005F
+:10911000000000000000000000000000000000004F
+:10912000000000000000000000000000000000003F
+:10913000000000000000000000000000000000002F
+:10914000000000000000000000000000000000001F
+:10915000000000000000000000000000000000000F
+:1091600000000000000000000000000000000000FF
+:1091700000000000000000000000000000000000EF
+:1091800000000000000000000000000000000000DF
+:1091900000000000000000000000000000000000CF
+:1091A00000000000000000000000000000000000BF
+:1091B00000000000000000000000000000000000AF
+:1091C000000000000000000000000000000000009F
+:1091D000000000000000000000000000000000008F
+:1091E000000000000000000000000000000000007F
+:1091F000000000000000000000000000000000006F
+:10920000000000000000000000000000000000005E
+:10921000000000000000000000000000000000004E
+:10922000000000000000000000000000000000003E
+:10923000000000000000000000000000000000002E
+:10924000000000000000000000000000000000001E
+:10925000000000000000000000000000000000000E
+:1092600000000000000000000000000000000000FE
+:1092700000000000000000000000000000000000EE
+:1092800000000000000000000000000000000000DE
+:1092900000000000000000000000000000000000CE
+:1092A00000000000000000000000000000000000BE
+:1092B00000000000000000000000000000000000AE
+:1092C000000000000000000000000000000000009E
+:1092D000000000000000000000000000000000008E
+:1092E000000000000000000000000000000000007E
+:1092F000000000000000000000000000000000006E
+:10930000000000000000000000000000000000005D
+:10931000000000000000000000000000000000004D
+:10932000000000000000000000000000000000003D
+:10933000000000000000000000000000000000002D
+:10934000000000000000000000000000000000001D
+:10935000000000000000000000000000000000000D
+:1093600000000000000000000000000000000000FD
+:1093700000000000000000000000000000000000ED
+:1093800000000000000000000000000000000000DD
+:1093900000000000000000000000000000000000CD
+:1093A00000000000000000000000000000000000BD
+:1093B00000000000000000000000000000000000AD
+:1093C000000000000000000000000000000000009D
+:1093D000000000000000000000000000000000008D
+:1093E000000000000000000000000000000000007D
+:1093F000000000000000000000000000000000006D
+:10940000000000000000000000000000000000005C
+:10941000000000000000000000000000000000004C
+:10942000000000000000000000000000000000003C
+:10943000000000000000000000000000000000002C
+:10944000000000000000000000000000000000001C
+:10945000000000000000000000000000000000000C
+:1094600000000000000000000000000000000000FC
+:1094700000000000000000000000000000000000EC
+:1094800000000000000000000000000000000000DC
+:1094900000000000000000000000000000000000CC
+:1094A00000000000000000000000000000000000BC
+:1094B00000000000000000000000000000000000AC
+:1094C000000000000000000000000000000000009C
+:1094D000000000000000000000000000000000008C
+:1094E000000000000000000000000000000000007C
+:1094F000000000000000000000000000000000006C
+:10950000000000000000000000000000000000005B
+:10951000000000000000000000000000000000004B
+:10952000000000000000000000000000000000003B
+:10953000000000000000000000000000000000002B
+:10954000000000000000000000000000000000001B
+:10955000000000000000000000000000000000000B
+:1095600000000000000000000000000000000000FB
+:1095700000000000000000000000000000000000EB
+:1095800000000000000000000000000000000000DB
+:1095900000000000000000000000000000000000CB
+:1095A00000000000000000000000000000000000BB
+:1095B00000000000000000000000000000000000AB
+:1095C000000000000000000000000000000000009B
+:1095D0000000000000000081000000000000000109
+:1095E000010101010101010101010101010101016B
+:1095F000010101010101010101010101010101015B
+:10960000010101010101010101010101010101014A
+:10961000010101010101010101010101010101013A
+:10962000010101010101010101010101010101012A
+:10963000010101010101010101010101010101011A
+:10964000010101010101010101010101010101010A
+:1096500001010101010101010101010101010101FA
+:1096600001010101010101010101010101010101EA
+:1096700001010101010101010101010101010101DA
+:1096800001010101010101010101010101010101CA
+:1096900001010101010101010101010101010101BA
+:1096A00001010101010101010101010101010101AA
+:1096B000010101010101010101010101010101019A
+:1096C000010101010101010101010101010101018A
+:1096D000010101010101010101010101010101017A
+:1096E000010101010101010101010101010101016A
+:1096F000010101010101010101010101010101015A
+:109700000101010101010101010101010101010149
+:109710000101010101010101010101010101010139
+:109720000101010101010101010101010101010129
+:109730000101010101010101010101010101010119
+:109740000101010101010101010101010101010109
+:1097500001010101010101010101010101010101F9
+:1097600001010101010101010101010101010101E9
+:1097700001010101010101010101010101010101D9
+:1097800001010101010101010101010101010101C9
+:1097900001010101010101010101010101010101B9
+:1097A00001010101010101010101010101010101A9
+:1097B0000101010101010101010101010101010199
+:1097C0000101010101010101010101010101010189
+:1097D0000101010101010101010101010101010179
+:1097E0000101010101010101010101010101010169
+:1097F0000101010101010101010101010101010159
+:109800000101010101010101010101010101010148
+:109810000101010101010101010101010101010138
+:109820000101010101010101010101010101010128
+:109830000101010101010101010101010101010118
+:109840000101010101010101010101010101010108
+:1098500001010101010101010101010101010101F8
+:1098600001010101010101010101010101010101E8
+:1098700001010101010101010101010101010101D8
+:1098800001010101010101010101010101010101C8
+:1098900001010101010101010101010101010101B8
+:1098A00001010101010101010101010101010101A8
+:1098B0000101010101010101010101010101010198
+:1098C0000101010101010101010101010101010188
+:1098D0000101010101010101010101010101010178
+:1098E0000101010101010101010101010101010168
+:1098F0000101010101010101010101010101010158
+:109900000101010101010101010101010101010147
+:109910000101010101010101010101010101010137
+:109920000101010101010101010101010101010127
+:109930000101010101010101010101010101010117
+:109940000101010101010101010101010101010107
+:1099500001010101010101010101010101010101F7
+:1099600001010101010101010101010101010101E7
+:1099700001010101010101010101010101010101D7
+:1099800001010101010101010101010101010101C7
+:1099900001010101010101010101010101010101B7
+:1099A00001010101010101010101010101010101A7
+:1099B0000101010101010101010101010101010197
+:1099C0000101010101010101010101010101010187
+:1099D0000101010101010101010101010101010177
+:1099E0000101010101010101010101010101010167
+:1099F0000101010101010101010101010101010157
+:109A00000101010101010101010101010101010146
+:109A10000101010101010101010101010101010136
+:109A20000101010101010101010101010101010126
+:109A30000101010101010101010101010101010116
+:109A40000101010101010101010101010101010106
+:109A500001010101010101010101010101010101F6
+:109A600001010101010101010101010101010101E6
+:109A700001010101010101010101010101010101D6
+:109A800001010101010101010101010101010101C6
+:109A900001010101010101010101010101010101B6
+:109AA00001010101010101010101010101010101A6
+:109AB0000101010101010101010101010101010196
+:109AC0000101010101010101010101010101010186
+:109AD0000101010101010101010101010101010176
+:109AE0000101010101010101010101010101010166
+:109AF0000101010101010101010101010101010156
+:109B00000101010101010101010101010101010145
+:109B10000101010101010101010101010101010135
+:109B20000101010101010101010101010101010125
+:109B30000101010101010101010101010101010115
+:109B40000101010101010101010101010101010105
+:109B500001010101010101010101010101010101F5
+:109B600001010101010101010101010101010101E5
+:109B700001010101010101010101010101010101D5
+:109B800001010101010101010101010101010101C5
+:109B900001010101010101010101010101010101B5
+:109BA00001010101010101010101010101010101A5
+:109BB0000101010101010101010101010101010195
+:109BC0000101010101010101010101010101010185
+:109BD0000101010101010101010101010101010175
+:109BE0000101010101010101010101010101010165
+:109BF0000101010101010101010101010101010155
+:109C00000101010101010101010101010101010144
+:109C10000101010101010101010101010101010134
+:109C20000101010101010101010101010101010124
+:109C30000101010101010101010101010101010114
+:109C40000101010101010101010101010101010104
+:109C500001010101010101010101010101010101F4
+:109C600001010101010101010101010101010101E4
+:109C700001010101010101010101010101010101D4
+:109C800001010101010101010101010101010101C4
+:109C900001010101010101010101010101010101B4
+:109CA00001010101010101010101010101010101A4
+:109CB0000101010101010101010101010101010194
+:109CC0000101010101010101010101010101010184
+:109CD0000101010101010101010101010101010174
+:109CE0000101010101010101010101010101010164
+:109CF0000101010101010101010101010101010154
+:109D00000101010101010101010101010101010143
+:109D10000101010101010101010101010101010133
+:109D20000101010101010101010101010101010123
+:109D30000101010101010101010101010101010113
+:109D40000101010101010101010101010101010103
+:109D500001010101010101010101010101010101F3
+:109D600001010101010101010101010101010101E3
+:109D700001010101010101010101010101010101D3
+:109D800001010101010101010101010101010101C3
+:109D900001010101010101010101010101010101B3
+:109DA00001010101010101010101010101010101A3
+:109DB0000101010101010101010101010101010193
+:109DC0000101010101010101010101010101010183
+:109DD0000101010101010101010101010101010173
+:109DE0000101010101010101010101010101010163
+:109DF0000101010101010101010101010101010153
+:109E00000101010101010101010101010101010142
+:109E10000101010101010101010101010101010132
+:109E20000101010101010101010101010101010122
+:109E30000101010101010101010101010101010112
+:109E40000101010101010101010101010101010102
+:109E500001010101010101010101010101010101F2
+:109E600001010101010101010101010101010101E2
+:109E700001010101010101010101010101010101D2
+:109E800001010101010101010101010101010101C2
+:109E900001010101010101010101010101010101B2
+:109EA00001010101010101010101010101010101A2
+:109EB0000101010101010101010101010101010192
+:109EC0000101010101010101010101010101010182
+:109ED0000101010101010101010101010101010172
+:109EE0000101010101010101010101010101010162
+:109EF0000101010101010101010101010101010152
+:109F00000101010101010101010101010101010141
+:109F10000101010101010101010101010101010131
+:109F20000101010101010101010101010101010121
+:109F30000101010101010101010101010101010111
+:109F40000101010101010101010101010101010101
+:109F500001010101010101010101010101010101F1
+:109F600001010101010101010101010101010101E1
+:109F700001010101010101010101010101010101D1
+:109F800001010101010101010101010101010101C1
+:109F900001010101010101010101010101010101B1
+:109FA00001010101010101010101010101010101A1
+:109FB0000101010101010101010101010101010191
+:109FC0000101010101010101010101010101010181
+:109FD0000101010101010101010101010101010171
+:109FE0000101010101010101010101010101010161
+:109FF0000101010101010101010101010101010151
+:10A000000101010101010101010101010101010140
+:10A010000101010101010101010101010101010130
+:10A020000101010101010101010101010101010120
+:10A030000101010101010101010101010101010110
+:10A040000101010101010101010101010101010100
+:10A0500001010101010101010101010101010101F0
+:10A0600001010101010101010101010101010101E0
+:10A0700001010101010101010101010101010101D0
+:10A0800001010101010101010101010101010101C0
+:10A0900001010101010101010101010101010101B0
+:10A0A00001010101010101010101010101010101A0
+:10A0B0000101010101010101010101010101010190
+:10A0C0000101010101010101010101010101010180
+:10A0D0000101010101010101010101010101010170
+:10A0E0000101010101010101010101010101010160
+:10A0F0000101010101010101010101010101010150
+:10A10000010101010101010101010101010101013F
+:10A11000010101010101010101010101010101012F
+:10A12000010101010101010101010101010101011F
+:10A13000010101010101010101010101010101010F
+:10A1400001010101010101010101010101010101FF
+:10A1500001010101010101010101010101010101EF
+:10A1600001010101010101010101010101010101DF
+:10A1700001010101010101010101010101010101CF
+:10A1800001010101010101010101010101010101BF
+:10A1900001010101010101010101010101010101AF
+:10A1A000010101010101010101010101010101019F
+:10A1B000010101010101010101010101010101018F
+:10A1C000010101010101010101010101010101017F
+:10A1D000010101010101010101010101010101016F
+:10A1E000010101010101010101010101010101015F
+:10A1F000010101010101010101010101010101014F
+:10A20000010101010101010101010101010101013E
+:10A21000010101010101010101010101010101012E
+:10A22000010101010101010101010101010101011E
+:10A23000010101010101010101010101010101010E
+:10A2400001010101010101010101010101010101FE
+:10A2500001010101010101010101010101010101EE
+:10A2600001010101010101010101010101010101DE
+:10A2700001010101010101010101010101010101CE
+:10A2800001010101010101010101010101010101BE
+:10A2900001010101010101010101010101010101AE
+:10A2A000010101010101010101010101010101019E
+:10A2B000010101010101010101010101010101018E
+:10A2C000010101010101010101010101010101017E
+:10A2D000010101010101010101010101010101016E
+:10A2E000010101010101010101010101010101015E
+:10A2F000010101010101010101010101010101014E
+:10A30000010101010101010101010101010101013D
+:10A31000010101010101010101010101010101012D
+:10A32000010101010101010101010101010101011D
+:10A33000010101010101010101010101010101010D
+:10A3400001010101010101010101010101010101FD
+:10A3500001010101010101010101010101010101ED
+:10A3600001010101010101010101010101010101DD
+:10A3700001010101010101010101010101010101CD
+:10A3800001010101010101010101010101010101BD
+:10A3900001010101010101010101010101010101AD
+:10A3A000010101010101010101010101010101019D
+:10A3B000010101010101010101010101010101018D
+:10A3C000010101010101010101010101010101017D
+:10A3D000010101010101010101010101010101016D
+:10A3E000010101010101010101010101010101015D
+:10A3F000010101010101010101010101010101014D
+:10A40000010101010101010101010101010101013C
+:10A41000010101010101010101010101010101012C
+:10A42000010101010101010101010101010101011C
+:10A43000010101010101010101010101010101010C
+:10A4400001010101010101010101010101010101FC
+:10A4500001010101010101010101010101010101EC
+:10A4600001010101010101010101010101010101DC
+:10A4700001010101010101010101010101010101CC
+:10A4800001010101010101010101010101010101BC
+:10A4900001010101010101010101010101010101AC
+:10A4A000010101010101010101010101010101019C
+:10A4B000010101010101010101010101010101018C
+:10A4C000010101010101010101010101010101017C
+:10A4D000010101010101010101010101010101016C
+:10A4E000010101010101010101010101010101015C
+:10A4F000010101010101010101010101010101014C
+:10A50000010101010101010101010101010101013B
+:10A51000010101010101010101010101010101012B
+:10A52000010101010101010101010101010101011B
+:10A53000010101010101010101010101010101010B
+:10A5400001010101010101010101010101010101FB
+:10A5500001010101010101010101010101010101EB
+:10A5600001010101010101010101010101010101DB
+:10A5700001010101010101010101010101010101CB
+:10A5800001010101010101010101010101010101BB
+:10A5900001010101010101010101010101010101AB
+:10A5A000010101010101010101010101010101019B
+:10A5B000010101010101010101010101010101018B
+:10A5C000010101010101010101010101010101017B
+:10A5D000010101010101010101010101010101016B
+:10A5E000010101010101010101010101010101015B
+:10A5F000010101010101010101010101010101014B
+:10A60000010101010101010101010101010101013A
+:10A61000010101010101010101010101010101012A
+:10A62000010101010101010101010101010101011A
+:10A63000010101010101010101010101010101010A
+:10A6400001010101010101010101010101010101FA
+:10A6500001010101010101010101010101010101EA
+:10A6600001010101010101010101010101010101DA
+:10A6700001010101010101010101010101010101CA
+:10A6800001010101010101010101010101010101BA
+:10A6900001010101010101010101010101010101AA
+:10A6A000010101010101010101010101010101019A
+:10A6B000010101010101010101010101010101018A
+:10A6C000010101010101010101010101010101017A
+:10A6D000010101010101010101010101010101016A
+:10A6E000010101010101010101010101010101015A
+:10A6F000010101010101010101010101010101014A
+:10A700000101010101010101010101010101010139
+:10A710000101010101010101010101010101010129
+:10A720000101010101010101010101010101010119
+:10A730000101010101010101010101010101010109
+:10A7400001010101010101010101010101010101F9
+:10A7500001010101010101010101010101010101E9
+:10A7600001010101010101010101010101010101D9
+:10A7700001010101010101010101010101010101C9
+:10A7800001010101010101010101010101010101B9
+:10A7900001010101010101010101010101010101A9
+:10A7A0000101010101010101010101010101010199
+:10A7B0000101010101010101010101010101010189
+:10A7C0000101010101010101010101010101010179
+:10A7D0000101010101010101010101010101010169
+:10A7E0000101010101010101010101010101010159
+:10A7F0000101010101010101010101010101010149
+:10A800000101010101010101010101010101010138
+:10A810000101010101010101010101010101010128
+:10A820000101010101010101010101010101010118
+:10A830000101010101010101010101010101010108
+:10A8400001010101010101010101010101010101F8
+:10A8500001010101010101010101010101010101E8
+:10A8600001010101010101010101010101010101D8
+:10A8700001010101010101010101010101010101C8
+:10A8800001010101010101010101010101010101B8
+:10A8900001010101010101010101010101010101A8
+:10A8A0000101010101010101010101010101010198
+:10A8B0000101010101010101010101010101010188
+:10A8C0000101010101010101010101010101010178
+:10A8D0000101010101010101010101010101010168
+:10A8E0000101010101010101010101010101010158
+:10A8F0000101010101010101010101010101010148
+:10A900000101010101010101010101010101010137
+:10A910000101010101010101010101010101010127
+:10A920000101010101010101010101010101010117
+:10A930000101010101010101010101010101010107
+:10A9400001010101010101010101010101010101F7
+:10A9500001010101010101010101010101010101E7
+:10A9600001010101010101010101010101010101D7
+:10A9700001010101010101010101010101010101C7
+:10A9800001010101010101010101010101010101B7
+:10A9900001010101010101010101010101010101A7
+:10A9A0000101010101010101010101010101010197
+:10A9B0000101010101010101010101010101010187
+:10A9C0000101010101010101010101010101010177
+:10A9D0000101010101010101010101010101010167
+:10A9E0000101010101010101010101010101010157
+:10A9F0000101010101010101010101010101010147
+:10AA00000101010101010101010101010101010136
+:10AA10000101010101010101010101010101010126
+:10AA20000101010101010101010101010101010116
+:10AA30000101010101010101010101010101010106
+:10AA400001010101010101010101010101010101F6
+:10AA500001010101010101010101010101010101E6
+:10AA600001010101010101010101010101010101D6
+:10AA700001010101010101010101010101010101C6
+:10AA800001010101010101010101010101010101B6
+:10AA900001010101010101010101010101010101A6
+:10AAA0000101010101010101010101010101010196
+:10AAB0000101010101010101010101010101010186
+:10AAC0000101010101010101010101010101010176
+:10AAD0000101010101010101010101010101010166
+:10AAE0000101010101010101010101010101010156
+:10AAF0000101010101010101010101010101010146
+:10AB00000101010101010101010101010101010135
+:10AB10000101010101010101010101010101010125
+:10AB20000101010101010101010101010101010115
+:10AB30000101010101010101010101010101010105
+:10AB400001010101010101010101010101010101F5
+:10AB500001010101010101010101010101010101E5
+:10AB600001010101010101010101010101010101D5
+:10AB700001010101010101010101010101010101C5
+:10AB800001010101010101010101010101010101B5
+:10AB900001010101010101010101010101010101A5
+:10ABA0000101010101010101010101010101010195
+:10ABB0000101010101010101010101010101010185
+:10ABC0000101010101010101010101010101010175
+:10ABD0000101010101010101010101010101010165
+:10ABE0000101010101010101010101010101010155
+:10ABF0000101010101010101010101010101010145
+:10AC00000101010101010101010101010101010134
+:10AC10000101010101010101010101010101010124
+:10AC20000101010101010101010101010101010114
+:10AC30000101010101010101010101010101010104
+:10AC400001010101010101010101010101010101F4
+:10AC500001010101010101010101010101010101E4
+:10AC600001010101010101010101010101010101D4
+:10AC700001010101010101010101010101010101C4
+:10AC800001010101010101010101010101010101B4
+:10AC900001010101010101010101010101010101A4
+:10ACA0000101010101010101010101010101010194
+:10ACB0000101010101010101010101010101010184
+:10ACC0000101010101010101010101010101010174
+:10ACD0000101010101010101010101010101010164
+:10ACE0000101010101010101010101010101010154
+:10ACF0000101010101010101010101010101010144
+:10AD00000101010101010101010101010101010133
+:10AD10000101010101010101010101010101010123
+:10AD20000101010101010101010101010101010113
+:10AD30000101010101010101010101010101010103
+:10AD400001010101010101010101010101010101F3
+:10AD500001010101010101010101010101010101E3
+:10AD600001010101010101010101010101010101D3
+:10AD700001010101010101010101010101010101C3
+:10AD800001010101010101010101010101010101B3
+:10AD900001010101010101010101010101010101A3
+:10ADA0000101010101010101010101010101010193
+:10ADB0000101010101010101010101010101010183
+:10ADC0000101010101010101010101010101010173
+:10ADD0000101010101010101010101010101010163
+:10ADE0000101010101010101010101010101010153
+:10ADF0000101010101010101010101010101010143
+:10AE00000101010101010101010101010101010132
+:10AE10000101010101010101010101010101010122
+:10AE20000101010101010101010101010101010112
+:10AE30000101010101010101010101010101010102
+:10AE400001010101010101010101010101010101F2
+:10AE500001010101010101010101010101010101E2
+:10AE600001010101010101010101010101010101D2
+:10AE700001010101010101010101010101010101C2
+:10AE800001010101010101010101010101010101B2
+:10AE900001010101010101010101010101010101A2
+:10AEA0000101010101010101010101010101010192
+:10AEB0000101010101010101010101010101010182
+:10AEC0000101010101010101010101010101010172
+:10AED0000101010101010101010101010101010063
+:10AEE0000000000000000000000000000000000062
+:10AEF0000000000000000000000000000000000052
+:10AF00000000000000000000000000000000000041
+:10AF10000000000000000000000000000000000031
+:10AF20000000000000000000000000000000000021
+:10AF30000000000000000000000000000000000011
+:10AF40000000000000000000000000000000000001
+:10AF500000000000000000000000000000000000F1
+:10AF600000000000000000000000000000000000E1
+:10AF700000000000000000000000000000000000D1
+:10AF800000000000000000000000000000000000C1
+:10AF900000000000000000000000000000000000B1
+:10AFA00000000000000000000000000000000000A1
+:10AFB0000000000000000000000000000000000091
+:10AFC0000000000000000000000000000000000081
+:10AFD0000000000000000000000000000000000071
+:10AFE0000000000000000000000000000000000061
+:10AFF0000000000000000000000000000000000051
+:10B000000000000000000000000000000000000040
+:10B010000000000000000000000000000000000030
+:10B020000000000000000000000000000000000020
+:10B030000000000000000000000000000000000010
+:10B040000000000000000000000000000000000000
+:10B0500000000000000000000000000000000000F0
+:10B0600000000000000000000000000000000000E0
+:10B0700000000000000000000000000000000000D0
+:10B0800000000000000000000000000000000000C0
+:10B0900000000000000000000000000000000000B0
+:10B0A00000000000000000000000000000000000A0
+:10B0B0000000000000000000000000000000000090
+:10B0C0000000000000000000000000000000000080
+:10B0D0000000000000000000000000000000000070
+:10B0E0000000000000000000000000000000000060
+:10B0F0000000000000000000000000000000000050
+:10B10000000000000000000000000000000000003F
+:10B11000000000000000000000000000000000002F
+:10B12000000000000000000000000000000000001F
+:10B13000000000000000000000000000000000000F
+:10B1400000000000000000000000000000000000FF
+:10B1500000000000000000000000000000000000EF
+:10B1600000000000000000000000000000000000DF
+:10B1700000000000000000000000000000000000CF
+:10B1800000000000000000000000000000000000BF
+:10B1900000000000000000000000000000000000AF
+:10B1A000000000000000000000000000000000009F
+:10B1B000000000000000000000000000000000008F
+:10B1C000000000000000000000000000000000007F
+:10B1D000000000000000000000000000000000006F
+:10B1E000000000000000000000000000000000005F
+:10B1F000000000000000000000000000000000004F
+:10B20000000000000000000000000000000000003E
+:10B21000000000000000000000000000000000002E
+:10B22000000000000000000000000000000000001E
+:10B23000000000000000000000000000000000000E
+:10B2400000000000000000000000000000000000FE
+:10B2500000000000000000000000000000000000EE
+:10B2600000000000000000000000000000000000DE
+:10B2700000000000000000000000000000000000CE
+:10B2800000000000000000000000000000000000BE
+:10B2900000000000000000000000000000000000AE
+:10B2A000000000000000000000000000000000009E
+:10B2B000000000000000000000000000000000008E
+:10B2C000000000000000000000000000000000007E
+:10B2D000000000000000000000000000000000006E
+:10B2E000000000000000000000000000000000005E
+:10B2F000000000000000000000000000000000004E
+:10B30000000000000000000000000000000000003D
+:10B31000000000000000000000000000000000002D
+:10B32000000000000000000000000000000000001D
+:10B33000000000000000000000000000000000000D
+:10B3400000000000000000000000000000000000FD
+:10B3500000000000000000000000000000000000ED
+:10B3600000000000000000000000000000000000DD
+:10B3700000000000000000000000000000000000CD
+:10B3800000000000000000000000000000000000BD
+:10B3900000000000000000000000000000000000AD
+:10B3A000000000000000000000000000000000009D
+:10B3B000000000000000000000000000000000008D
+:10B3C000000000000000000000000000000000007D
+:10B3D000000000000000000000000000000000006D
+:10B3E000000000000000000000000000000000005D
+:10B3F000000000000000000000000000000000004D
+:10B40000000000000000000000000000000000003C
+:10B41000000000000000000000000000000000002C
+:10B42000000000000000000000000000000000001C
+:10B43000000000000000000000000000000000000C
+:10B4400000000000000000000000000000000000FC
+:10B4500000000000000000000000000000000000EC
+:10B4600000000000000000000000000000000000DC
+:10B4700000000000000000000000000000000000CC
+:10B4800000000000000000000000000000000000BC
+:10B4900000000000000000000000000000000000AC
+:10B4A000000000000000000000000000000000009C
+:10B4B000000000000000000000000000000000008C
+:10B4C000000000000000000000000000000000007C
+:10B4D000000000000000000000000000000000026A
+:10B4E000020202020202020202020202020202023C
+:10B4F000020202020202020202020202020202022C
+:10B50000020202020202020202020202020202021B
+:10B51000020202020202020202020202020202020B
+:10B5200002020202020202020202020202020202FB
+:10B5300002020202020202020202020202020202EB
+:10B5400002020202020202020202020202020202DB
+:10B5500002020202020202020202020202020202CB
+:10B5600002020202020202020202020202020202BB
+:10B5700002020202020202020202020202020202AB
+:10B58000020202020202020202020202020202029B
+:10B59000020202020202020202020202020202028B
+:10B5A000020202020202020202020202020202027B
+:10B5B000020202020202020202020202020202026B
+:10B5C000020202020202020202020202020202025B
+:10B5D000020202020202020202020202020202024B
+:10B5E000020202020202020202020202020202023B
+:10B5F000020202020202020202020202020202022B
+:10B60000020202020202020202020202020202021A
+:10B61000020202020202020202020202020202020A
+:10B6200002020202020202020202020202020202FA
+:10B6300002020202020202020202020202020202EA
+:10B6400002020202020202020202020202020202DA
+:10B6500002020202020202020202020202020202CA
+:10B6600002020202020202020202020202020202BA
+:10B6700002020202020202020202020202020202AA
+:10B68000020202020202020202020202020202029A
+:10B69000020202020202020202020202020202028A
+:10B6A000020202020202020202020202020202027A
+:10B6B000020202020202020202020202020202026A
+:10B6C000020202020202020202020202020202025A
+:10B6D000020202020202020202020202020202024A
+:10B6E000020202020202020202020202020202023A
+:10B6F000020202020202020202020202020202022A
+:10B700000202020202020202020202020202020219
+:10B710000202020202020202020202020202020209
+:10B7200002020202020202020202020202020202F9
+:10B7300002020202020202020202020202020202E9
+:10B7400002020202020202020202020202020202D9
+:10B7500002020202020202020202020202020202C9
+:10B7600002020202020202020202020202020202B9
+:10B7700002020202020202020202020202020202A9
+:10B780000202020202020202020202020202020299
+:10B790000202020202020202020202020202020289
+:10B7A0000202020202020202020202020202020279
+:10B7B0000202020202020202020202020202020269
+:10B7C0000202020202020202020202020202020259
+:10B7D0000202020202020202020202020202020249
+:10B7E0000202020202020202020202020202020239
+:10B7F0000202020202020202020202020202020229
+:10B800000202020202020202020202020202020218
+:10B810000202020202020202020202020202020208
+:10B8200002020202020202020202020202020202F8
+:10B8300002020202020202020202020202020202E8
+:10B8400002020202020202020202020202020202D8
+:10B8500002020202020202020202020202020202C8
+:10B8600002020202020202020202020202020202B8
+:10B8700002020202020202020202020202020202A8
+:10B880000202020202020202020202020202020298
+:10B890000202020202020202020202020202020288
+:10B8A0000202020202020202020202020202020278
+:10B8B0000202020202020202020202020202020268
+:10B8C0000202020202020202020202020202020258
+:10B8D0000202020202020202020202020202020248
+:10B8E0000202020202020202020202020202020238
+:10B8F0000202020202020202020202020202020228
+:10B900000202020202020202020202020202020217
+:10B910000202020202020202020202020202020207
+:10B9200002020202020202020202020202020202F7
+:10B9300002020202020202020202020202020202E7
+:10B9400002020202020202020202020202020202D7
+:10B9500002020202020202020202020202020202C7
+:10B9600002020202020202020202020202020202B7
+:10B9700002020202020202020202020202020202A7
+:10B980000202020202020202020202020202020297
+:10B990000202020202020202020202020202020287
+:10B9A0000202020202020202020202020202020277
+:10B9B0000202020202020202020202020202020267
+:10B9C0000202020202020202020202020202020257
+:10B9D0000202020202020202020202020202020247
+:10B9E0000202020202020202020202020202020237
+:10B9F0000202020202020202020202020202020227
+:10BA00000202020202020202020202020202020216
+:10BA10000202020202020202020202020202020206
+:10BA200002020202020202020202020202020202F6
+:10BA300002020202020202020202020202020202E6
+:10BA400002020202020202020202020202020202D6
+:10BA500002020202020202020202020202020202C6
+:10BA600002020202020202020202020202020202B6
+:10BA700002020202020202020202020202020202A6
+:10BA80000202020202020202020202020202020296
+:10BA90000202020202020202020202020202020286
+:10BAA0000202020202020202020202020202020276
+:10BAB0000202020202020202020202020202020266
+:10BAC0000202020202020202020202020202020256
+:10BAD0000202020202020202020202020202020246
+:10BAE0000202020202020202020202020202020236
+:10BAF0000202020202020202020202020202020226
+:10BB00000202020202020202020202020202020215
+:10BB10000202020202020202020202020202020205
+:10BB200002020202020202020202020202020202F5
+:10BB300002020202020202020202020202020202E5
+:10BB400002020202020202020202020202020202D5
+:10BB500002020202020202020202020202020202C5
+:10BB600002020202020202020202020202020202B5
+:10BB700002020202020202020202020202020202A5
+:10BB80000202020202020202020202020202020295
+:10BB90000202020202020202020202020202020285
+:10BBA0000202020202020202020202020202020275
+:10BBB0000202020202020202020202020202020265
+:10BBC0000202020202020202020202020202020255
+:10BBD0000202020202020202020202020202020245
+:10BBE0000202020202020202020202020202020235
+:10BBF0000202020202020202020202020202020225
+:10BC00000202020202020202020202020202020214
+:10BC10000202020202020202020202020202020204
+:10BC200002020202020202020202020202020202F4
+:10BC300002020202020202020202020202020202E4
+:10BC400002020202020202020202020202020202D4
+:10BC500002020202020202020202020202020202C4
+:10BC600002020202020202020202020202020202B4
+:10BC700002020202020202020202020202020202A4
+:10BC80000202020202020202020202020202020294
+:10BC90000202020202020202020202020202020284
+:10BCA0000202020202020202020202020202020274
+:10BCB0000202020202020202020202020202020264
+:10BCC0000202020202020202020202020202020254
+:10BCD0000202020202020202020202020202020244
+:10BCE0000202020202020202020202020202020234
+:10BCF0000202020202020202020202020202020224
+:10BD00000202020202020202020202020202020213
+:10BD10000202020202020202020202020202020203
+:10BD200002020202020202020202020202020202F3
+:10BD300002020202020202020202020202020202E3
+:10BD400002020202020202020202020202020202D3
+:10BD500002020202020202020202020202020202C3
+:10BD600002020202020202020202020202020202B3
+:10BD700002020202020202020202020202020202A3
+:10BD80000202020202020202020202020202020293
+:10BD90000202020202020202020202020202020283
+:10BDA0000202020202020202020202020202020273
+:10BDB0000202020202020202020202020202020263
+:10BDC0000202020202020202020202020202020253
+:10BDD0000202020202020202020202020202020243
+:10BDE0000202020202020202020202020202020233
+:10BDF0000202020202020202020202020202020223
+:10BE00000202020202020202020202020202020212
+:10BE10000202020202020202020202020202020202
+:10BE200002020202020202020202020202020202F2
+:10BE300002020202020202020202020202020202E2
+:10BE400002020202020202020202020202020202D2
+:10BE500002020202020202020202020202020202C2
+:10BE600002020202020202020202020202020202B2
+:10BE700002020202020202020202020202020202A2
+:10BE80000202020202020202020202020202020292
+:10BE90000202020202020202020202020202020282
+:10BEA0000202020202020202020202020202020272
+:10BEB0000202020202020202020202020202020262
+:10BEC0000202020202020202020202020202020252
+:10BED0000202020202020202020202020202020242
+:10BEE0000202020202020202020202020202020232
+:10BEF0000202020202020202020202020202020222
+:10BF00000202020202020202020202020202020211
+:10BF10000202020202020202020202020202020201
+:10BF200002020202020202020202020202020202F1
+:10BF300002020202020202020202020202020202E1
+:10BF400002020202020202020202020202020202D1
+:10BF500002020202020202020202020202020202C1
+:10BF600002020202020202020202020202020202B1
+:10BF700002020202020202020202020202020202A1
+:10BF80000202020202020202020202020202020291
+:10BF90000202020202020202020202020202020281
+:10BFA0000202020202020202020202020202020271
+:10BFB0000202020202020202020202020202020261
+:10BFC0000202020202020202020202020202020251
+:10BFD0000202020202020202020202020202020241
+:10BFE0000202020202020202020202020202020231
+:10BFF0000202020202020202020202020202020221
+:10C000000202020202020202020202020202020210
+:10C010000202020202020202020202020202020200
+:10C0200002020202020202020202020202020202F0
+:10C0300002020202020202020202020202020202E0
+:10C0400002020202020202020202020202020202D0
+:10C0500002020202020202020202020202020202C0
+:10C0600002020202020202020202020202020202B0
+:10C0700002020202020202020202020202020202A0
+:10C080000202020202020202020202020202020290
+:10C090000202020202020202020202020202020280
+:10C0A0000202020202020202020202020202020270
+:10C0B0000202020202020202020202020202020260
+:10C0C0000202020202020202020202020202020250
+:10C0D0000202020202020202020202020202020240
+:10C0E0000202020202020202020202020202020230
+:10C0F0000202020202020202020202020202020220
+:10C10000020202020202020202020202020202020F
+:10C1100002020202020202020202020202020202FF
+:10C1200002020202020202020202020202020202EF
+:10C1300002020202020202020202020202020202DF
+:10C1400002020202020202020202020202020202CF
+:10C1500002020202020202020202020202020202BF
+:10C1600002020202020202020202020202020202AF
+:10C17000020202020202020202020202020202029F
+:10C18000020202020202020202020202020202028F
+:10C19000020202020202020202020202020202027F
+:10C1A000020202020202020202020202020202026F
+:10C1B000020202020202020202020202020202025F
+:10C1C000020202020202020202020202020202024F
+:10C1D000020202020202020202020202020202023F
+:10C1E000020202020202020202020202020202022F
+:10C1F000020202020202020202020202020202021F
+:10C20000020202020202020202020202020202020E
+:10C2100002020202020202020202020202020202FE
+:10C2200002020202020202020202020202020202EE
+:10C2300002020202020202020202020202020202DE
+:10C2400002020202020202020202020202020202CE
+:10C2500002020202020202020202020202020202BE
+:10C2600002020202020202020202020202020202AE
+:10C27000020202020202020202020202020202029E
+:10C28000020202020202020202020202020202028E
+:10C29000020202020202020202020202020202027E
+:10C2A000020202020202020202020202020202026E
+:10C2B000020202020202020202020202020202025E
+:10C2C000020202020202020202020202020202024E
+:10C2D000020202020202020202020202020202023E
+:10C2E000020202020202020202020202020202022E
+:10C2F000020202020202020202020202020202021E
+:10C30000020202020202020202020202020202020D
+:10C3100002020202020202020202020202020202FD
+:10C3200002020202020202020202020202020202ED
+:10C3300002020202020202020202020202020202DD
+:10C3400002020202020202020202020202020202CD
+:10C3500002020202020202020202020202020202BD
+:10C3600002020202020202020202020202020202AD
+:10C37000020202020202020202020202020202029D
+:10C38000020202020202020202020202020202028D
+:10C39000020202020202020202020202020202027D
+:10C3A000020202020202020202020202020202026D
+:10C3B000020202020202020202020202020202025D
+:10C3C000020202020202020202020202020202024D
+:10C3D000020202020202020202020202020202023D
+:10C3E000020202020202020202020202020202022D
+:10C3F000020202020202020202020202020202021D
+:10C40000020202020202020202020202020202020C
+:10C4100002020202020202020202020202020202FC
+:10C4200002020202020202020202020202020202EC
+:10C4300002020202020202020202020202020202DC
+:10C4400002020202020202020202020202020202CC
+:10C4500002020202020202020202020202020202BC
+:10C4600002020202020202020202020202020202AC
+:10C47000020202020202020202020202020202029C
+:10C48000020202020202020202020202020202028C
+:10C49000020202020202020202020202020202027C
+:10C4A000020202020202020202020202020202026C
+:10C4B000020202020202020202020202020202025C
+:10C4C000020202020202020202020202020202024C
+:10C4D000020202020202020202020202020202023C
+:10C4E000020202020202020202020202020202022C
+:10C4F000020202020202020202020202020202021C
+:10C50000020202020202020202020202020202020B
+:10C5100002020202020202020202020202020202FB
+:10C5200002020202020202020202020202020202EB
+:10C5300002020202020202020202020202020202DB
+:10C5400002020202020202020202020202020202CB
+:10C5500002020202020202020202020202020202BB
+:10C5600002020202020202020202020202020202AB
+:10C57000020202020202020202020202020202029B
+:10C58000020202020202020202020202020202028B
+:10C59000020202020202020202020202020202027B
+:10C5A000020202020202020202020202020202026B
+:10C5B000020202020202020202020202020202025B
+:10C5C000020202020202020202020202020202024B
+:10C5D000020202020202020202020202020202023B
+:10C5E000020202020202020202020202020202022B
+:10C5F000020202020202020202020202020202021B
+:10C60000020202020202020202020202020202020A
+:10C6100002020202020202020202020202020202FA
+:10C6200002020202020202020202020202020202EA
+:10C6300002020202020202020202020202020202DA
+:10C6400002020202020202020202020202020202CA
+:10C6500002020202020202020202020202020202BA
+:10C6600002020202020202020202020202020202AA
+:10C67000020202020202020202020202020202029A
+:10C68000020202020202020202020202020202028A
+:10C69000020202020202020202020202020202027A
+:10C6A000020202020202020202020202020202026A
+:10C6B000020202020202020202020202020202025A
+:10C6C000020202020202020202020202020202024A
+:10C6D000020202020202020202020202020202023A
+:10C6E000020202020202020202020202020202022A
+:10C6F000020202020202020202020202020202021A
+:10C700000202020202020202020202020202020209
+:10C7100002020202020202020202020202020202F9
+:10C7200002020202020202020202020202020202E9
+:10C7300002020202020202020202020202020202D9
+:10C7400002020202020202020202020202020202C9
+:10C7500002020202020202020202020202020202B9
+:10C7600002020202020202020202020202020202A9
+:10C770000202020202020202020202020202020299
+:10C780000202020202020202020202020202020289
+:10C790000202020202020202020202020202020279
+:10C7A0000202020202020202020202020202020269
+:10C7B0000202020202020202020202020202020259
+:10C7C0000202020202020202020202020202020249
+:10C7D0000202020202020202020202020202020239
+:10C7E0000202020202020202020202020202020229
+:10C7F0000202020202020202020202020202020219
+:10C800000202020202020202020202020202020208
+:10C8100002020202020202020202020202020202F8
+:10C8200002020202020202020202020202020202E8
+:10C8300002020202020202020202020202020202D8
+:10C8400002020202020202020202020202020202C8
+:10C8500002020202020202020202020202020202B8
+:10C8600002020202020202020202020202020202A8
+:10C870000202020202020202020202020202020298
+:10C880000202020202020202020202020202020288
+:10C890000202020202020202020202020202020278
+:10C8A0000202020202020202020202020202020268
+:10C8B0000202020202020202020202020202020258
+:10C8C0000202020202020202020202020202020248
+:10C8D0000202020202020202020202020202020238
+:10C8E0000202020202020202020202020202020228
+:10C8F0000202020202020202020202020202020218
+:10C900000202020202020202020202020202020207
+:10C9100002020202020202020202020202020202F7
+:10C9200002020202020202020202020202020202E7
+:10C9300002020202020202020202020202020202D7
+:10C9400002020202020202020202020202020202C7
+:10C9500002020202020202020202020202020202B7
+:10C9600002020202020202020202020202020202A7
+:10C970000202020202020202020202020202020297
+:10C980000202020202020202020202020202020287
+:10C990000202020202020202020202020202020277
+:10C9A0000202020202020202020202020202020267
+:10C9B0000202020202020202020202020202020257
+:10C9C0000202020202020202020202020202020247
+:10C9D0000202020202020202020202020202020237
+:10C9E0000202020202020202020202020202020227
+:10C9F0000202020202020202020202020202020217
+:10CA00000202020202020202020202020202020206
+:10CA100002020202020202020202020202020202F6
+:10CA200002020202020202020202020202020202E6
+:10CA300002020202020202020202020202020202D6
+:10CA400002020202020202020202020202020202C6
+:10CA500002020202020202020202020202020202B6
+:10CA600002020202020202020202020202020202A6
+:10CA70000202020202020202020202020202020296
+:10CA80000202020202020202020202020202020286
+:10CA90000202020202020202020202020202020276
+:10CAA0000202020202020202020202020202020266
+:10CAB0000202020202020202020202020202020256
+:10CAC0000202020202020202020202020202020246
+:10CAD0000202020202020202020202020202020236
+:10CAE0000202020202020202020202020202020226
+:10CAF0000202020202020202020202020202020216
+:10CB00000202020202020202020202020202020205
+:10CB100002020202020202020202020202020202F5
+:10CB200002020202020202020202020202020202E5
+:10CB300002020202020202020202020202020202D5
+:10CB400002020202020202020202020202020202C5
+:10CB500002020202020202020202020202020202B5
+:10CB600002020202020202020202020202020202A5
+:10CB70000202020202020202020202020202020295
+:10CB80000202020202020202020202020202020285
+:10CB90000202020202020202020202020202020275
+:10CBA0000202020202020202020202020202020265
+:10CBB0000202020202020202020202020202020255
+:10CBC0000202020202020202020202020202020245
+:10CBD0000202020202020202020202020202020235
+:10CBE0000202020202020202020202020202020225
+:10CBF0000202020202020202020202020202020215
+:10CC00000202020202020202020202020202020204
+:10CC100002020202020202020202020202020202F4
+:10CC200002020202020202020202020202020202E4
+:10CC300002020202020202020202020202020202D4
+:10CC400002020202020202020202020202020202C4
+:10CC500002020202020202020202020202020202B4
+:10CC600002020202020202020202020202020202A4
+:10CC70000202020202020202020202020202020294
+:10CC80000202020202020202020202020202020284
+:10CC90000202020202020202020202020202020274
+:10CCA0000202020202020202020202020202020264
+:10CCB0000202020202020202020202020202020254
+:10CCC0000202020202020202020202020202020244
+:10CCD0000202020202020202020202020202020234
+:10CCE0000202020202020202020202020202020224
+:10CCF0000202020202020202020202020202020214
+:10CD00000202020202020202020202020202020203
+:10CD100002020202020202020202020202020202F3
+:10CD200002020202020202020202020202020202E3
+:10CD300002020202020202020202020202020202D3
+:10CD400002020202020202020202020202020202C3
+:10CD500002020202020202020202020202020202B3
+:10CD600002020202020202020202020202020202A3
+:10CD70000202020202020202020202020202020293
+:10CD80000202020202020202020202020202020283
+:10CD90000202020202020202020202020202020273
+:10CDA0000202020202020202020202020202020263
+:10CDB0000202020202020202020202020202020253
+:10CDC0000202020202020202020202020202020243
+:10CDD0000202020202020202020202020202020035
+:10CDE0000000000000000000000000000000000043
+:10CDF0000000000000000000000000000000000033
+:10CE00000000000000000000000000000000000022
+:10CE10000000000000000000000000000000000012
+:10CE20000000000000000000000000000000000002
+:10CE300000000000000000000000000000000000F2
+:10CE400000000000000000000000000000000000E2
+:10CE500000000000000000000000000000000000D2
+:10CE600000000000000000000000000000000000C2
+:10CE700000000000000000000000000000000000B2
+:10CE800000000000000000000000000000000000A2
+:10CE90000000000000000000000000000000000092
+:10CEA0000000000000000000000000000000000082
+:10CEB0000000000000000000000000000000000072
+:10CEC0000000000000000000000000000000000062
+:10CED0000000000000000000000000000000000052
+:10CEE0000000000000000000000000000000000042
+:10CEF0000000000000000000000000000000000032
+:10CF00000000000000000000000000000000000021
+:10CF10000000000000000000000000000000000011
+:10CF20000000000000000000000000000000000001
+:10CF300000000000000000000000000000000000F1
+:10CF400000000000000000000000000000000000E1
+:10CF500000000000000000000000000000000000D1
+:10CF600000000000000000000000000000000000C1
+:10CF700000000000000000000000000000000000B1
+:10CF800000000000000000000000000000000000A1
+:10CF90000000000000000000000000000000000091
+:10CFA0000000000000000000000000000000000081
+:10CFB0000000000000000000000000000000000071
+:10CFC0000000000000000000000000000000000061
+:10CFD0000000000000000000000000000000000051
+:10CFE0000000000000000000000000000000000041
+:10CFF0000000000000000000000000000000000031
+:10D000000000000000000000000000000000000020
+:10D010000000000000000000000000000000000010
+:10D020000000000000000000000000000000000000
+:10D0300000000000000000000000000000000000F0
+:10D0400000000000000000000000000000000000E0
+:10D0500000000000000000000000000000000000D0
+:10D0600000000000000000000000000000000000C0
+:10D0700000000000000000000000000000000000B0
+:10D0800000000000000000000000000000000000A0
+:10D090000000000000000000000000000000000090
+:10D0A0000000000000000000000000000000000080
+:10D0B0000000000000000000000000000000000070
+:10D0C0000000000000000000000000000000000060
+:10D0D0000000000000000000000000000000000050
+:10D0E0000000000000000000000000000000000040
+:10D0F0000000000000000000000000000000000030
+:10D10000000000000000000000000000000000001F
+:10D11000000000000000000000000000000000000F
+:10D1200000000000000000000000000000000000FF
+:10D1300000000000000000000000000000000000EF
+:10D1400000000000000000000000000000000000DF
+:10D1500000000000000000000000000000000000CF
+:10D1600000000000000000000000000000000000BF
+:10D1700000000000000000000000000000000000AF
+:10D18000000000000000000000000000000000009F
+:10D19000000000000000000000000000000000008F
+:10D1A000000000000000000000000000000000007F
+:10D1B000000000000000000000000000000000006F
+:10D1C000000000000000000000000000000000005F
+:10D1D000000000000000000000000000000000004F
+:10D1E000000000000000000000000000000000003F
+:10D1F000000000000000000000000000000000002F
+:10D20000000000000000000000000000000000001E
+:10D21000000000000000000000000000000000000E
+:10D2200000000000000000000000000000000000FE
+:10D2300000000000000000000000000000000000EE
+:10D2400000000000000000000000000000000000DE
+:10D2500000000000000000000000000000000000CE
+:10D2600000000000000000000000000000000000BE
+:10D2700000000000000000000000000000000000AE
+:10D28000000000000000000000000000000000009E
+:10D29000000000000000000000000000000000008E
+:10D2A000000000000000000000000000000000007E
+:10D2B000000000000000000000000000000000006E
+:10D2C000000000000000000000000000000000005E
+:10D2D000000000000000000000000000000000004E
+:10D2E000000000000000000000000000000000003E
+:10D2F000000000000000000000000000000000002E
+:10D30000000000000000000000000000000000001D
+:10D31000000000000000000000000000000000000D
+:10D3200000000000000000000000000000000000FD
+:10D3300000000000000000000000000000000000ED
+:10D3400000000000000000000000000000000000DD
+:10D3500000000000000000000000000000000000CD
+:10D3600000000000000000000000000000000000BD
+:10D3700000000000000000000000000000000000AD
+:10D38000000000000000000000000000000000009D
+:10D39000000000000000000000000000000000008D
+:10D3A000000000000000000000000000000000007D
+:10D3B000000000000000000000000000000000006D
+:10D3C000000000000000000000000000000000005D
+:10D3D000000000000000000000000000000000004D
+:10D3E000000000000000000000000000000000003D
+:10D3F000000000000000000000000000000000002D
+:10D40000000000000000000000000000000000001C
+:10D41000000000000000000000000000000000000C
+:10D4200000000000000000000000000000000000FC
+:10D4300000000000000000000000000000000000EC
+:10D4400000000000000000000000000000000000DC
+:10D4500000000000000000000000000000000000CC
+:10D4600000000000000000000000000000000000BC
+:10D4700000000000000000000000000000000000AC
+:10D48000000000000000000000000000000000009C
+:10D49000000000000000000000000000000000008C
+:10D4A000000000000000000000000000000000007C
+:10D4B000000000000000000000000000000000006C
+:10D4C000000000000000000000000000000000005C
+:10D4D000000000000000000000000000000000004C
+:10D4E000000000000000000000000000000000003C
+:10D4F000000000000000000000000000000000002C
+:10D50000000000000000000000000000000000001B
+:10D51000000000000000000000000000000000000B
+:10D5200000000000000000000000000000000000FB
+:10D5300000000000000000000000000000000000EB
+:10D5400000000000000000000000000000000000DB
+:10D5500000000000000000000000000000000000CB
+:10D5600000000000000000000000000000000000BB
+:10D5700000000000000000000000000000000000AB
+:10D58000000000000000000000000000000000009B
+:10D59000000000000000000000000000000000008B
+:10D5A000000000000000000000000000000000007B
+:10D5B000000000000000000000000000000000006B
+:10D5C000000000000000000000000000000000005B
+:10D5D000000000000000000000000000000000004B
+:10D5E000000000000000000000000000000000003B
+:10D5F000000000000000000000000000000000002B
+:10D60000000000000000000000000000000000001A
+:10D61000000000000000000000000000000000000A
+:10D6200000000000000000000000000000000000FA
+:10D6300000000000000000000000000000000000EA
+:10D6400000000000000000000000000000000000DA
+:10D6500000000000000000000000000000000000CA
+:10D6600000000000000000000000000000000000BA
+:10D6700000000000000000000000000000000000AA
+:10D68000000000000000000000000000000000009A
+:10D69000000000000000000000000000000000008A
+:10D6A000000000000000000000000000000000007A
+:10D6B000000000000000000000000000000000006A
+:10D6C000000000000000000000000000000000005A
+:10D6D000000000000000000000000000000000004A
+:10D6E000000000000000000000000000000000003A
+:10D6F000000000000000000000000000000000002A
+:10D700000000000000000000000000000000000019
+:10D710000000000000000000000000000000000009
+:10D7200000000000000000000000000000000000F9
+:10D7300000000000000000000000000000000000E9
+:10D7400000000000000000000000000000000000D9
+:10D7500000000000000000000000000000000000C9
+:10D7600000000000000000000000000000000000B9
+:10D7700000000000000000000000000000000000A9
+:10D780000000000000000000000000000000000099
+:10D790000000000000000000000000000000000089
+:10D7A0000000000000000000000000000000000079
+:10D7B0000000000000000000000000000000000069
+:10D7C0000000000000000000000000000000000059
+:10D7D0000000000000000000000000000000000148
+:10D7E0000101010101010101010101010101010129
+:10D7F0000101010101010101010101010101010119
+:10D800000101010101010101010101010101010108
+:10D8100001010101010101010101010101010101F8
+:10D8200001010101010101010101010101010101E8
+:10D8300001010101010101010101010101010101D8
+:10D8400001010101010101010101010101010101C8
+:10D8500001010101010101010101010101010101B8
+:10D8600001010101010101010101010101010101A8
+:10D870000101010101010101010101010101010198
+:10D880000101010101010101010101010101010188
+:10D890000101010101010101010101010101010178
+:10D8A0000101010101010101010101010101010168
+:10D8B0000101010101010101010101010101010158
+:10D8C0000101010101010101010101010101010148
+:10D8D0000101010101010101010101010101010138
+:10D8E0000101010101010101010101010101010128
+:10D8F0000101010101010101010101010101010118
+:10D900000101010101010101010101010101010107
+:10D9100001010101010101010101010101010101F7
+:10D9200001010101010101010101010101010101E7
+:10D9300001010101010101010101010101010101D7
+:10D9400001010101010101010101010101010101C7
+:10D9500001010101010101010101010101010101B7
+:10D9600001010101010101010101010101010101A7
+:10D970000101010101010101010101010101010197
+:10D980000101010101010101010101010101010187
+:10D990000101010101010101010101010101010177
+:10D9A0000101010101010101010101010101010167
+:10D9B0000101010101010101010101010101010157
+:10D9C0000101010101010101010101010101010147
+:10D9D0000101010101010101010101010101010137
+:10D9E0000101010101010101010101010101010127
+:10D9F0000101010101010101010101010101010117
+:10DA00000101010101010101010101010101010106
+:10DA100001010101010101010101010101010101F6
+:10DA200001010101010101010101010101010101E6
+:10DA300001010101010101010101010101010101D6
+:10DA400001010101010101010101010101010101C6
+:10DA500001010101010101010101010101010101B6
+:10DA600001010101010101010101010101010101A6
+:10DA70000101010101010101010101010101010196
+:10DA80000101010101010101010101010101010186
+:10DA90000101010101010101010101010101010176
+:10DAA0000101010101010101010101010101010166
+:10DAB0000101010101010101010101010101010156
+:10DAC0000101010101010101010101010101010146
+:10DAD0000101010101010101010101010101010136
+:10DAE0000101010101010101010101010101010126
+:10DAF0000101010101010101010101010101010116
+:10DB00000101010101010101010101010101010105
+:10DB100001010101010101010101010101010101F5
+:10DB200001010101010101010101010101010101E5
+:10DB300001010101010101010101010101010101D5
+:10DB400001010101010101010101010101010101C5
+:10DB500001010101010101010101010101010101B5
+:10DB600001010101010101010101010101010101A5
+:10DB70000101010101010101010101010101010195
+:10DB80000101010101010101010101010101010185
+:10DB90000101010101010101010101010101010175
+:10DBA0000101010101010101010101010101010165
+:10DBB0000101010101010101010101010101010155
+:10DBC0000101010101010101010101010101010145
+:10DBD0000101010101010101010101010101010135
+:10DBE0000101010101010101010101010101010125
+:10DBF0000101010101010101010101010101010115
+:10DC00000101010101010101010101010101010104
+:10DC100001010101010101010101010101010101F4
+:10DC200001010101010101010101010101010101E4
+:10DC300001010101010101010101010101010101D4
+:10DC400001010101010101010101010101010101C4
+:10DC500001010101010101010101010101010101B4
+:10DC600001010101010101010101010101010101A4
+:10DC70000101010101010101010101010101010194
+:10DC80000101010101010101010101010101010184
+:10DC90000101010101010101010101010101010174
+:10DCA0000101010101010101010101010101010164
+:10DCB0000101010101010101010101010101010154
+:10DCC0000101010101010101010101010101010144
+:10DCD0000101010101010101010101010101010134
+:10DCE0000101010101010101010101010101010124
+:10DCF0000101010101010101010101010101010114
+:10DD00000101010101010101010101010101010103
+:10DD100001010101010101010101010101010101F3
+:10DD200001010101010101010101010101010101E3
+:10DD300001010101010101010101010101010101D3
+:10DD400001010101010101010101010101010101C3
+:10DD500001010101010101010101010101010101B3
+:10DD600001010101010101010101010101010101A3
+:10DD70000101010101010101010101010101010193
+:10DD80000101010101010101010101010101010183
+:10DD90000101010101010101010101010101010173
+:10DDA0000101010101010101010101010101010163
+:10DDB0000101010101010101010101010101010153
+:10DDC0000101010101010101010101010101010143
+:10DDD0000101010101010101010101010101010133
+:10DDE0000101010101010101010101010101010123
+:10DDF0000101010101010101010101010101010113
+:10DE00000101010101010101010101010101010102
+:10DE100001010101010101010101010101010101F2
+:10DE200001010101010101010101010101010101E2
+:10DE300001010101010101010101010101010101D2
+:10DE400001010101010101010101010101010101C2
+:10DE500001010101010101010101010101010101B2
+:10DE600001010101010101010101010101010101A2
+:10DE70000101010101010101010101010101010192
+:10DE80000101010101010101010101010101010182
+:10DE90000101010101010101010101010101010172
+:10DEA0000101010101010101010101010101010162
+:10DEB0000101010101010101010101010101010152
+:10DEC0000101010101010101010101010101010142
+:10DED0000101010101010101010101010101010132
+:10DEE0000101010101010101010101010101010122
+:10DEF0000101010101010101010101010101010112
+:10DF00000101010101010101010101010101010101
+:10DF100001010101010101010101010101010101F1
+:10DF200001010101010101010101010101010101E1
+:10DF300001010101010101010101010101010101D1
+:10DF400001010101010101010101010101010101C1
+:10DF500001010101010101010101010101010101B1
+:10DF600001010101010101010101010101010101A1
+:10DF70000101010101010101010101010101010191
+:10DF80000101010101010101010101010101010181
+:10DF90000101010101010101010101010101010171
+:10DFA0000101010101010101010101010101010161
+:10DFB0000101010101010101010101010101010151
+:10DFC0000101010101010101010101010101010141
+:10DFD0000101010101010101010101010101010131
+:10DFE0000101010101010101010101010101010121
+:10DFF0000101010101010101010101010101010111
+:10E000000101010101010101010101010101010100
+:10E0100001010101010101010101010101010101F0
+:10E0200001010101010101010101010101010101E0
+:10E0300001010101010101010101010101010101D0
+:10E0400001010101010101010101010101010101C0
+:10E0500001010101010101010101010101010101B0
+:10E0600001010101010101010101010101010101A0
+:10E070000101010101010101010101010101010190
+:10E080000101010101010101010101010101010180
+:10E090000101010101010101010101010101010170
+:10E0A0000101010101010101010101010101010160
+:10E0B0000101010101010101010101010101010150
+:10E0C0000101010101010101010101010101010140
+:10E0D0000101010101010101010101010101010130
+:10E0E0000101010101010101010101010101010120
+:10E0F0000101010101010101010101010101010110
+:10E1000001010101010101010101010101010101FF
+:10E1100001010101010101010101010101010101EF
+:10E1200001010101010101010101010101010101DF
+:10E1300001010101010101010101010101010101CF
+:10E1400001010101010101010101010101010101BF
+:10E1500001010101010101010101010101010101AF
+:10E16000010101010101010101010101010101019F
+:10E17000010101010101010101010101010101018F
+:10E18000010101010101010101010101010101017F
+:10E19000010101010101010101010101010101016F
+:10E1A000010101010101010101010101010101015F
+:10E1B000010101010101010101010101010101014F
+:10E1C000010101010101010101010101010101013F
+:10E1D000010101010101010101010101010101012F
+:10E1E000010101010101010101010101010101011F
+:10E1F000010101010101010101010101010101010F
+:10E2000001010101010101010101010101010101FE
+:10E2100001010101010101010101010101010101EE
+:10E2200001010101010101010101010101010101DE
+:10E2300001010101010101010101010101010101CE
+:10E2400001010101010101010101010101010101BE
+:10E2500001010101010101010101010101010101AE
+:10E26000010101010101010101010101010101019E
+:10E27000010101010101010101010101010101018E
+:10E28000010101010101010101010101010101017E
+:10E29000010101010101010101010101010101016E
+:10E2A000010101010101010101010101010101015E
+:10E2B000010101010101010101010101010101014E
+:10E2C000010101010101010101010101010101013E
+:10E2D000010101010101010101010101010101012E
+:10E2E000010101010101010101010101010101011E
+:10E2F000010101010101010101010101010101010E
+:10E3000001010101010101010101010101010101FD
+:10E3100001010101010101010101010101010101ED
+:10E3200001010101010101010101010101010101DD
+:10E3300001010101010101010101010101010101CD
+:10E3400001010101010101010101010101010101BD
+:10E3500001010101010101010101010101010101AD
+:10E36000010101010101010101010101010101019D
+:10E37000010101010101010101010101010101018D
+:10E38000010101010101010101010101010101017D
+:10E39000010101010101010101010101010101016D
+:10E3A000010101010101010101010101010101015D
+:10E3B000010101010101010101010101010101014D
+:10E3C000010101010101010101010101010101013D
+:10E3D000010101010101010101010101010101012D
+:10E3E000010101010101010101010101010101011D
+:10E3F000010101010101010101010101010101010D
+:10E4000001010101010101010101010101010101FC
+:10E4100001010101010101010101010101010101EC
+:10E4200001010101010101010101010101010101DC
+:10E4300001010101010101010101010101010101CC
+:10E4400001010101010101010101010101010101BC
+:10E4500001010101010101010101010101010101AC
+:10E46000010101010101010101010101010101019C
+:10E47000010101010101010101010101010101018C
+:10E48000010101010101010101010101010101017C
+:10E49000010101010101010101010101010101016C
+:10E4A000010101010101010101010101010101015C
+:10E4B000010101010101010101010101010101014C
+:10E4C000010101010101010101010101010101013C
+:10E4D000010101010101010101010101010101012C
+:10E4E000010101010101010101010101010101011C
+:10E4F000010101010101010101010101010101010C
+:10E5000001010101010101010101010101010101FB
+:10E5100001010101010101010101010101010101EB
+:10E5200001010101010101010101010101010101DB
+:10E5300001010101010101010101010101010101CB
+:10E5400001010101010101010101010101010101BB
+:10E5500001010101010101010101010101010101AB
+:10E56000010101010101010101010101010101019B
+:10E57000010101010101010101010101010101018B
+:10E58000010101010101010101010101010101017B
+:10E59000010101010101010101010101010101016B
+:10E5A000010101010101010101010101010101015B
+:10E5B000010101010101010101010101010101014B
+:10E5C000010101010101010101010101010101013B
+:10E5D000010101010101010101010101010101012B
+:10E5E000010101010101010101010101010101011B
+:10E5F000010101010101010101010101010101010B
+:10E6000001010101010101010101010101010101FA
+:10E6100001010101010101010101010101010101EA
+:10E6200001010101010101010101010101010101DA
+:10E6300001010101010101010101010101010101CA
+:10E6400001010101010101010101010101010101BA
+:10E6500001010101010101010101010101010101AA
+:10E66000010101010101010101010101010101019A
+:10E67000010101010101010101010101010101018A
+:10E68000010101010101010101010101010101017A
+:10E69000010101010101010101010101010101016A
+:10E6A000010101010101010101010101010101015A
+:10E6B000010101010101010101010101010101014A
+:10E6C000010101010101010101010101010101013A
+:10E6D000010101010101010101010101010101012A
+:10E6E000010101010101010101010101010101011A
+:10E6F000010101010101010101010101010101010A
+:10E7000001010101010101010101010101010101F9
+:10E7100001010101010101010101010101010101E9
+:10E7200001010101010101010101010101010101D9
+:10E7300001010101010101010101010101010101C9
+:10E7400001010101010101010101010101010101B9
+:10E7500001010101010101010101010101010101A9
+:10E760000101010101010101010101010101010199
+:10E770000101010101010101010101010101010189
+:10E780000101010101010101010101010101010179
+:10E790000101010101010101010101010101010169
+:10E7A0000101010101010101010101010101010159
+:10E7B0000101010101010101010101010101010149
+:10E7C0000101010101010101010101010101010139
+:10E7D0000101010101010101010101010101010129
+:10E7E0000101010101010101010101010101010119
+:10E7F0000101010101010101010101010101010109
+:10E8000001010101010101010101010101010101F8
+:10E8100001010101010101010101010101010101E8
+:10E8200001010101010101010101010101010101D8
+:10E8300001010101010101010101010101010101C8
+:10E8400001010101010101010101010101010101B8
+:10E8500001010101010101010101010101010101A8
+:10E860000101010101010101010101010101010198
+:10E870000101010101010101010101010101010188
+:10E880000101010101010101010101010101010178
+:10E890000101010101010101010101010101010168
+:10E8A0000101010101010101010101010101010158
+:10E8B0000101010101010101010101010101010148
+:10E8C0000101010101010101010101010101010138
+:10E8D0000101010101010101010101010101010128
+:10E8E0000101010101010101010101010101010118
+:10E8F0000101010101010101010101010101010108
+:10E9000001010101010101010101010101010101F7
+:10E9100001010101010101010101010101010101E7
+:10E9200001010101010101010101010101010101D7
+:10E9300001010101010101010101010101010101C7
+:10E9400001010101010101010101010101010101B7
+:10E9500001010101010101010101010101010101A7
+:10E960000101010101010101010101010101010197
+:10E970000101010101010101010101010101010187
+:10E980000101010101010101010101010101010177
+:10E990000101010101010101010101010101010167
+:10E9A0000101010101010101010101010101010157
+:10E9B0000101010101010101010101010101010147
+:10E9C0000101010101010101010101010101010137
+:10E9D0000101010101010101010101010101010127
+:10E9E0000101010101010101010101010101010117
+:10E9F0000101010101010101010101010101010107
+:10EA000001010101010101010101010101010101F6
+:10EA100001010101010101010101010101010101E6
+:10EA200001010101010101010101010101010101D6
+:10EA300001010101010101010101010101010101C6
+:10EA400001010101010101010101010101010101B6
+:10EA500001010101010101010101010101010101A6
+:10EA60000101010101010101010101010101010196
+:10EA70000101010101010101010101010101010186
+:10EA80000101010101010101010101010101010176
+:10EA90000101010101010101010101010101010166
+:10EAA0000101010101010101010101010101010156
+:10EAB0000101010101010101010101010101010146
+:10EAC0000101010101010101010101010101010136
+:10EAD0000101010101010101010101010101010126
+:10EAE0000101010101010101010101010101010116
+:10EAF0000101010101010101010101010101010106
+:10EB000001010101010101010101010101010101F5
+:10EB100001010101010101010101010101010101E5
+:10EB200001010101010101010101010101010101D5
+:10EB300001010101010101010101010101010101C5
+:10EB400001010101010101010101010101010101B5
+:10EB500001010101010101010101010101010101A5
+:10EB60000101010101010101010101010101010195
+:10EB70000101010101010101010101010101010185
+:10EB80000101010101010101010101010101010175
+:10EB90000101010101010101010101010101010165
+:10EBA0000101010101010101010101010101010155
+:10EBB0000101010101010101010101010101010145
+:10EBC0000101010101010101010101010101010135
+:10EBD0000101010101010101010101010101010125
+:10EBE0000101010101010101010101010101010115
+:10EBF0000101010101010101010101010101010105
+:10EC000001010101010101010101010101010101F4
+:10EC100001010101010101010101010101010101E4
+:10EC200001010101010101010101010101010101D4
+:10EC300001010101010101010101010101010101C4
+:10EC400001010101010101010101010101010101B4
+:10EC500001010101010101010101010101010101A4
+:10EC60000101010101010101010101010101010194
+:10EC70000101010101010101010101010101010184
+:10EC80000101010101010101010101010101010174
+:10EC90000101010101010101010101010101010164
+:10ECA0000101010101010101010101010101010154
+:10ECB0000101010101010101010101010101010144
+:10ECC0000101010101010101010101010101010134
+:10ECD0000101010101010101010101010101010124
+:10ECE0000101010101010101010101010101010114
+:10ECF0000101010101010101010101010101010104
+:10ED000001010101010101010101010101010101F3
+:10ED100001010101010101010101010101010101E3
+:10ED200001010101010101010101010101010101D3
+:10ED300001010101010101010101010101010101C3
+:10ED400001010101010101010101010101010101B3
+:10ED500001010101010101010101010101010101A3
+:10ED60000101010101010101010101010101010193
+:10ED70000101010101010101010101010101010183
+:10ED80000101010101010101010101010101010173
+:10ED90000101010101010101010101010101010163
+:10EDA0000101010101010101010101010101010153
+:10EDB0000101010101010101010101010101010143
+:10EDC0000101010101010101010101010101010133
+:10EDD0000101010101010101010101010101010123
+:10EDE0000101010101010101010101010101010113
+:10EDF0000101010101010101010101010101010103
+:10EE000001010101010101010101010101010101F2
+:10EE100001010101010101010101010101010101E2
+:10EE200001010101010101010101010101010101D2
+:10EE300001010101010101010101010101010101C2
+:10EE400001010101010101010101010101010101B2
+:10EE500001010101010101010101010101010101A2
+:10EE60000101010101010101010101010101010192
+:10EE70000101010101010101010101010101010182
+:10EE80000101010101010101010101010101010172
+:10EE90000101010101010101010101010101010162
+:10EEA0000101010101010101010101010101010152
+:10EEB0000101010101010101010101010101010142
+:10EEC0000101010101010101010101010101010132
+:10EED0000101010101010101010101010101010122
+:10EEE0000101010101010101010101010101010112
+:10EEF0000101010101010101010101010101010102
+:10EF000001010101010101010101010101010101F1
+:10EF100001010101010101010101010101010101E1
+:10EF200001010101010101010101010101010101D1
+:10EF300001010101010101010101010101010101C1
+:10EF400001010101010101010101010101010101B1
+:10EF500001010101010101010101010101010101A1
+:10EF60000101010101010101010101010101010191
+:10EF70000101010101010101010101010101010181
+:10EF80000101010101010101010101010101010171
+:10EF90000101010101010101010101010101010161
+:10EFA0000101010101010101010101010101010151
+:10EFB0000101010101010101010101010101010141
+:10EFC0000101010101010101010101010101010131
+:10EFD0000101010101010101010101010101010121
+:10EFE0000101010101010101010101010101010111
+:10EFF0000101010101010101010101010101010101
+:10F0000001010101010101010101010101010101F0
+:10F0100001010101010101010101010101010101E0
+:10F0200001010101010101010101010101010101D0
+:10F0300001010101010101010101010101010101C0
+:10F0400001010101010101010101010101010101B0
+:10F0500001010101010101010101010101010101A0
+:10F060000101010101010101010101010101010190
+:10F070000101010101010101010101010101010180
+:10F080000101010101010101010101010101010170
+:10F090000101010101010101010101010101010160
+:10F0A0000101010101010101010101010101010150
+:10F0B0000101010101010101010101010101010140
+:10F0C0000101010101010101010101010101010130
+:10F0D0000101010101010101010101010101010021
+:10F0E0000000000000000000000000000000000020
+:10F0F0000000000000000000000000000000000010
+:10F1000000000000000000000000000000000000FF
+:10F1100000000000000000000000000000000000EF
+:10F1200000000000000000000000000000000000DF
+:10F1300000000000000000000000000000000000CF
+:10F1400000000000000000000000000000000000BF
+:10F1500000000000000000000000000000000000AF
+:10F16000000000000000000000000000000000009F
+:10F17000000000000000000000000000000000008F
+:10F18000000000000000000000000000000000007F
+:10F19000000000000000000000000000000000006F
+:10F1A000000000000000000000000000000000005F
+:10F1B000000000000000000000000000000000004F
+:10F1C000000000000000000000000000000000003F
+:10F1D000000000000000000000000000000000002F
+:10F1E000000000000000000000000000000000001F
+:10F1F000000000000000000000000000000000000F
+:10F2000000000000000000000000000000000000FE
+:10F2100000000000000000000000000000000000EE
+:10F2200000000000000000000000000000000000DE
+:10F2300000000000000000000000000000000000CE
+:10F2400000000000000000000000000000000000BE
+:10F2500000000000000000000000000000000000AE
+:10F26000000000000000000000000000000000009E
+:10F27000000000000000000000000000000000008E
+:10F28000000000000000000000000000000000007E
+:10F29000000000000000000000000000000000006E
+:10F2A000000000000000000000000000000000005E
+:10F2B000000000000000000000000000000000004E
+:10F2C000000000000000000000000000000000003E
+:10F2D000000000000000000000000000000000002E
+:10F2E000000000000000000000000000000000001E
+:10F2F000000000000000000000000000000000000E
+:10F3000000000000000000000000000000000000FD
+:10F3100000000000000000000000000000000000ED
+:10F3200000000000000000000000000000000000DD
+:10F3300000000000000000000000000000000000CD
+:10F3400000000000000000000000000000000000BD
+:10F3500000000000000000000000000000000000AD
+:10F36000000000000000000000000000000000009D
+:10F37000000000000000000000000000000000008D
+:10F38000000000000000000000000000000000007D
+:10F39000000000000000000000000000000000006D
+:10F3A000000000000000000000000000000000005D
+:10F3B000000000000000000000000000000000004D
+:10F3C000000000000000000000000000000000003D
+:10F3D000000000000000000000000000000000002D
+:10F3E000000000000000000000000000000000001D
+:10F3F000000000000000000000000000000000000D
+:10F4000000000000000000000000000000000000FC
+:10F4100000000000000000000000000000000000EC
+:10F4200000000000000000000000000000000000DC
+:10F4300000000000000000000000000000000000CC
+:10F4400000000000000000000000000000000000BC
+:10F4500000000000000000000000000000000000AC
+:10F46000000000000000000000000000000000009C
+:10F47000000000000000000000000000000000008C
+:10F48000000000000000000000000000000000007C
+:10F49000000000000000000000000000000000006C
+:10F4A000000000000000000000000000000000005C
+:10F4B000000000000000000000000000000000004C
+:10F4C000000000000000000000000000000000003C
+:10F4D000000000000000000000000000000000002C
+:10F4E000000000000000000000000000000000001C
+:10F4F000000000000000000000000000000000000C
+:10F5000000000000000000000000000000000000FB
+:10F5100000000000000000000000000000000000EB
+:10F5200000000000000000000000000000000000DB
+:10F5300000000000000000000000000000000000CB
+:10F5400000000000000000000000000000000000BB
+:10F5500000000000000000000000000000000000AB
+:10F56000000000000000000000000000000000009B
+:10F57000000000000000000000000000000000008B
+:10F58000000000000000000000000000000000007B
+:10F59000000000000000000000000000000000006B
+:10F5A000000000000000000000000000000000005B
+:10F5B000000000000000000000000000000000004B
+:10F5C000000000000000000000000000000000003B
+:10F5D000000000000000000000000000000000002B
+:10F5E000000000000000000000000000000000001B
+:10F5F000000000000000000000000000000000000B
+:10F6000000000000000000000000000000000000FA
+:10F6100000000000000000000000000000000000EA
+:10F6200000000000000000000000000000000000DA
+:10F6300000000000000000000000000000000000CA
+:10F6400000000000000000000000000000000000BA
+:10F6500000000000000000000000000000000000AA
+:10F66000000000000000000000000000000000009A
+:10F67000000000000000000000000000000000008A
+:10F68000000000000000000000000000000000007A
+:10F69000000000000000000000000000000000006A
+:10F6A000000000000000000000000000000000005A
+:10F6B000000000000000000000000000000000004A
+:10F6C000000000000000000000000000000000003A
+:10F6D0000000000000000000000000000000000228
+:10F6E00002020202020202020202020202020202FA
+:10F6F00002020202020202020202020202020202EA
+:10F7000002020202020202020202020202020202D9
+:10F7100002020202020202020202020202020202C9
+:10F7200002020202020202020202020202020202B9
+:10F7300002020202020202020202020202020202A9
+:10F740000202020202020202020202020202020299
+:10F750000202020202020202020202020202020289
+:10F760000202020202020202020202020202020279
+:10F770000202020202020202020202020202020269
+:10F780000202020202020202020202020202020259
+:10F790000202020202020202020202020202020249
+:10F7A0000202020202020202020202020202020239
+:10F7B0000202020202020202020202020202020229
+:10F7C0000202020202020202020202020202020219
+:10F7D0000202020202020202020202020202020209
+:10F7E00002020202020202020202020202020202F9
+:10F7F00002020202020202020202020202020202E9
+:10F8000002020202020202020202020202020202D8
+:10F8100002020202020202020202020202020202C8
+:10F8200002020202020202020202020202020202B8
+:10F8300002020202020202020202020202020202A8
+:10F840000202020202020202020202020202020298
+:10F850000202020202020202020202020202020288
+:10F860000202020202020202020202020202020278
+:10F870000202020202020202020202020202020268
+:10F880000202020202020202020202020202020258
+:10F890000202020202020202020202020202020248
+:10F8A0000202020202020202020202020202020238
+:10F8B0000202020202020202020202020202020228
+:10F8C0000202020202020202020202020202020218
+:10F8D0000202020202020202020202020202020208
+:10F8E00002020202020202020202020202020202F8
+:10F8F00002020202020202020202020202020202E8
+:10F9000002020202020202020202020202020202D7
+:10F9100002020202020202020202020202020202C7
+:10F9200002020202020202020202020202020202B7
+:10F9300002020202020202020202020202020202A7
+:10F940000202020202020202020202020202020297
+:10F950000202020202020202020202020202020287
+:10F960000202020202020202020202020202020277
+:10F970000202020202020202020202020202020267
+:10F980000202020202020202020202020202020257
+:10F990000202020202020202020202020202020247
+:10F9A0000202020202020202020202020202020237
+:10F9B0000202020202020202020202020202020227
+:10F9C0000202020202020202020202020202020217
+:10F9D0000202020202020202020202020202020207
+:10F9E00002020202020202020202020202020202F7
+:10F9F00002020202020202020202020202020202E7
+:10FA000002020202020202020202020202020202D6
+:10FA100002020202020202020202020202020202C6
+:10FA200002020202020202020202020202020202B6
+:10FA300002020202020202020202020202020202A6
+:10FA40000202020202020202020202020202020296
+:10FA50000202020202020202020202020202020286
+:10FA60000202020202020202020202020202020276
+:10FA70000202020202020202020202020202020266
+:10FA80000202020202020202020202020202020256
+:10FA90000202020202020202020202020202020246
+:10FAA0000202020202020202020202020202020236
+:10FAB0000202020202020202020202020202020226
+:10FAC0000202020202020202020202020202020216
+:10FAD0000202020202020202020202020202020206
+:10FAE00002020202020202020202020202020202F6
+:10FAF00002020202020202020202020202020202E6
+:10FB000002020202020202020202020202020202D5
+:10FB100002020202020202020202020202020202C5
+:10FB200002020202020202020202020202020202B5
+:10FB300002020202020202020202020202020202A5
+:10FB40000202020202020202020202020202020295
+:10FB50000202020202020202020202020202020285
+:10FB60000202020202020202020202020202020275
+:10FB70000202020202020202020202020202020265
+:10FB80000202020202020202020202020202020255
+:10FB90000202020202020202020202020202020245
+:10FBA0000202020202020202020202020202020235
+:10FBB0000202020202020202020202020202020225
+:10FBC0000202020202020202020202020202020215
+:10FBD0000202020202020202020202020202020205
+:10FBE00002020202020202020202020202020202F5
+:10FBF00002020202020202020202020202020202E5
+:10FC000002020202020202020202020202020202D4
+:10FC100002020202020202020202020202020202C4
+:10FC200002020202020202020202020202020202B4
+:10FC300002020202020202020202020202020202A4
+:10FC40000202020202020202020202020202020294
+:10FC50000202020202020202020202020202020284
+:10FC60000202020202020202020202020202020274
+:10FC70000202020202020202020202020202020264
+:10FC80000202020202020202020202020202020254
+:10FC90000202020202020202020202020202020244
+:10FCA0000202020202020202020202020202020234
+:10FCB0000202020202020202020202020202020224
+:10FCC0000202020202020202020202020202020214
+:10FCD0000202020202020202020202020202020204
+:10FCE00002020202020202020202020202020202F4
+:10FCF00002020202020202020202020202020202E4
+:10FD000002020202020202020202020202020202D3
+:10FD100002020202020202020202020202020202C3
+:10FD200002020202020202020202020202020202B3
+:10FD300002020202020202020202020202020202A3
+:10FD40000202020202020202020202020202020293
+:10FD50000202020202020202020202020202020283
+:10FD60000202020202020202020202020202020273
+:10FD70000202020202020202020202020202020263
+:10FD80000202020202020202020202020202020253
+:10FD90000202020202020202020202020202020243
+:10FDA0000202020202020202020202020202020233
+:10FDB0000202020202020202020202020202020223
+:10FDC0000202020202020202020202020202020213
+:10FDD0000202020202020202020202020202020203
+:10FDE00002020202020202020202020202020202F3
+:10FDF00002020202020202020202020202020202E3
+:10FE000002020202020202020202020202020202D2
+:10FE100002020202020202020202020202020202C2
+:10FE200002020202020202020202020202020202B2
+:10FE300002020202020202020202020202020202A2
+:10FE40000202020202020202020202020202020292
+:10FE50000202020202020202020202020202020282
+:10FE60000202020202020202020202020202020272
+:10FE70000202020202020202020202020202020262
+:10FE80000202020202020202020202020202020252
+:10FE90000202020202020202020202020202020242
+:10FEA0000202020202020202020202020202020232
+:10FEB0000202020202020202020202020202020222
+:10FEC0000202020202020202020202020202020212
+:10FED0000202020202020202020202020202020202
+:10FEE00002020202020202020202020202020202F2
+:10FEF00002020202020202020202020202020202E2
+:10FF000002020202020202020202020202020202D1
+:10FF100002020202020202020202020202020202C1
+:10FF200002020202020202020202020202020202B1
+:10FF300002020202020202020202020202020202A1
+:10FF40000202020202020202020202020202020291
+:10FF50000202020202020202020202020202020281
+:10FF60000202020202020202020202020202020271
+:10FF70000202020202020202020202020202020261
+:10FF80000202020202020202020202020202020251
+:10FF90000202020202020202020202020202020241
+:10FFA0000202020202020202020202020202020231
+:10FFB0000202020202020202020202020202020221
+:10FFC0000202020202020202020202020202020211
+:10FFD0000202020202020202020202020202020201
+:10FFE00002020202020202020202020202020202F1
+:10FFF00002020202020202020202020202020202E1
+:020000021000EC
+:1000000002020202020202020202020202020202D0
+:1000100002020202020202020202020202020202C0
+:1000200002020202020202020202020202020202B0
+:1000300002020202020202020202020202020202A0
+:100040000202020202020202020202020202020290
+:100050000202020202020202020202020202020280
+:100060000202020202020202020202020202020270
+:100070000202020202020202020202020202020260
+:100080000202020202020202020202020202020250
+:100090000202020202020202020202020202020240
+:1000A0000202020202020202020202020202020230
+:1000B0000202020202020202020202020202020220
+:1000C0000202020202020202020202020202020210
+:1000D0000202020202020202020202020202020200
+:1000E00002020202020202020202020202020202F0
+:1000F00002020202020202020202020202020202E0
+:1001000002020202020202020202020202020202CF
+:1001100002020202020202020202020202020202BF
+:1001200002020202020202020202020202020202AF
+:10013000020202020202020202020202020202029F
+:10014000020202020202020202020202020202028F
+:10015000020202020202020202020202020202027F
+:10016000020202020202020202020202020202026F
+:10017000020202020202020202020202020202025F
+:10018000020202020202020202020202020202024F
+:10019000020202020202020202020202020202023F
+:1001A000020202020202020202020202020202022F
+:1001B000020202020202020202020202020202021F
+:1001C000020202020202020202020202020202020F
+:1001D00002020202020202020202020202020202FF
+:1001E00002020202020202020202020202020202EF
+:1001F00002020202020202020202020202020202DF
+:1002000002020202020202020202020202020202CE
+:1002100002020202020202020202020202020202BE
+:1002200002020202020202020202020202020202AE
+:10023000020202020202020202020202020202029E
+:10024000020202020202020202020202020202028E
+:10025000020202020202020202020202020202027E
+:10026000020202020202020202020202020202026E
+:10027000020202020202020202020202020202025E
+:10028000020202020202020202020202020202024E
+:10029000020202020202020202020202020202023E
+:1002A000020202020202020202020202020202022E
+:1002B000020202020202020202020202020202021E
+:1002C000020202020202020202020202020202020E
+:1002D00002020202020202020202020202020202FE
+:1002E00002020202020202020202020202020202EE
+:1002F00002020202020202020202020202020202DE
+:1003000002020202020202020202020202020202CD
+:1003100002020202020202020202020202020202BD
+:1003200002020202020202020202020202020202AD
+:10033000020202020202020202020202020202029D
+:10034000020202020202020202020202020202028D
+:10035000020202020202020202020202020202027D
+:10036000020202020202020202020202020202026D
+:10037000020202020202020202020202020202025D
+:10038000020202020202020202020202020202024D
+:10039000020202020202020202020202020202023D
+:1003A000020202020202020202020202020202022D
+:1003B000020202020202020202020202020202021D
+:1003C000020202020202020202020202020202020D
+:1003D00002020202020202020202020202020202FD
+:1003E00002020202020202020202020202020202ED
+:1003F00002020202020202020202020202020202DD
+:1004000002020202020202020202020202020202CC
+:1004100002020202020202020202020202020202BC
+:1004200002020202020202020202020202020202AC
+:10043000020202020202020202020202020202029C
+:10044000020202020202020202020202020202028C
+:10045000020202020202020202020202020202027C
+:10046000020202020202020202020202020202026C
+:10047000020202020202020202020202020202025C
+:10048000020202020202020202020202020202024C
+:10049000020202020202020202020202020202023C
+:1004A000020202020202020202020202020202022C
+:1004B000020202020202020202020202020202021C
+:1004C000020202020202020202020202020202020C
+:1004D00002020202020202020202020202020202FC
+:1004E00002020202020202020202020202020202EC
+:1004F00002020202020202020202020202020202DC
+:1005000002020202020202020202020202020202CB
+:1005100002020202020202020202020202020202BB
+:1005200002020202020202020202020202020202AB
+:10053000020202020202020202020202020202029B
+:10054000020202020202020202020202020202028B
+:10055000020202020202020202020202020202027B
+:10056000020202020202020202020202020202026B
+:10057000020202020202020202020202020202025B
+:10058000020202020202020202020202020202024B
+:10059000020202020202020202020202020202023B
+:1005A000020202020202020202020202020202022B
+:1005B000020202020202020202020202020202021B
+:1005C000020202020202020202020202020202020B
+:1005D00002020202020202020202020202020202FB
+:1005E00002020202020202020202020202020202EB
+:1005F00002020202020202020202020202020202DB
+:1006000002020202020202020202020202020202CA
+:1006100002020202020202020202020202020202BA
+:1006200002020202020202020202020202020202AA
+:10063000020202020202020202020202020202029A
+:10064000020202020202020202020202020202028A
+:10065000020202020202020202020202020202027A
+:10066000020202020202020202020202020202026A
+:10067000020202020202020202020202020202025A
+:10068000020202020202020202020202020202024A
+:10069000020202020202020202020202020202023A
+:1006A000020202020202020202020202020202022A
+:1006B000020202020202020202020202020202021A
+:1006C000020202020202020202020202020202020A
+:1006D00002020202020202020202020202020202FA
+:1006E00002020202020202020202020202020202EA
+:1006F00002020202020202020202020202020202DA
+:1007000002020202020202020202020202020202C9
+:1007100002020202020202020202020202020202B9
+:1007200002020202020202020202020202020202A9
+:100730000202020202020202020202020202020299
+:100740000202020202020202020202020202020289
+:100750000202020202020202020202020202020279
+:100760000202020202020202020202020202020269
+:100770000202020202020202020202020202020259
+:100780000202020202020202020202020202020249
+:100790000202020202020202020202020202020239
+:1007A0000202020202020202020202020202020229
+:1007B0000202020202020202020202020202020219
+:1007C0000202020202020202020202020202020209
+:1007D00002020202020202020202020202020202F9
+:1007E00002020202020202020202020202020202E9
+:1007F00002020202020202020202020202020202D9
+:1008000002020202020202020202020202020202C8
+:1008100002020202020202020202020202020202B8
+:1008200002020202020202020202020202020202A8
+:100830000202020202020202020202020202020298
+:100840000202020202020202020202020202020288
+:100850000202020202020202020202020202020278
+:100860000202020202020202020202020202020268
+:100870000202020202020202020202020202020258
+:100880000202020202020202020202020202020248
+:100890000202020202020202020202020202020238
+:1008A0000202020202020202020202020202020228
+:1008B0000202020202020202020202020202020218
+:1008C0000202020202020202020202020202020208
+:1008D00002020202020202020202020202020202F8
+:1008E00002020202020202020202020202020202E8
+:1008F00002020202020202020202020202020202D8
+:1009000002020202020202020202020202020202C7
+:1009100002020202020202020202020202020202B7
+:1009200002020202020202020202020202020202A7
+:100930000202020202020202020202020202020297
+:100940000202020202020202020202020202020287
+:100950000202020202020202020202020202020277
+:100960000202020202020202020202020202020267
+:100970000202020202020202020202020202020257
+:100980000202020202020202020202020202020247
+:100990000202020202020202020202020202020237
+:1009A0000202020202020202020202020202020227
+:1009B0000202020202020202020202020202020217
+:1009C0000202020202020202020202020202020207
+:1009D00002020202020202020202020202020202F7
+:1009E00002020202020202020202020202020202E7
+:1009F00002020202020202020202020202020202D7
+:100A000002020202020202020202020202020202C6
+:100A100002020202020202020202020202020202B6
+:100A200002020202020202020202020202020202A6
+:100A30000202020202020202020202020202020296
+:100A40000202020202020202020202020202020286
+:100A50000202020202020202020202020202020276
+:100A60000202020202020202020202020202020266
+:100A70000202020202020202020202020202020256
+:100A80000202020202020202020202020202020246
+:100A90000202020202020202020202020202020236
+:100AA0000202020202020202020202020202020226
+:100AB0000202020202020202020202020202020216
+:100AC0000202020202020202020202020202020206
+:100AD00002020202020202020202020202020202F6
+:100AE00002020202020202020202020202020202E6
+:100AF00002020202020202020202020202020202D6
+:100B000002020202020202020202020202020202C5
+:100B100002020202020202020202020202020202B5
+:100B200002020202020202020202020202020202A5
+:100B30000202020202020202020202020202020295
+:100B40000202020202020202020202020202020285
+:100B50000202020202020202020202020202020275
+:100B60000202020202020202020202020202020265
+:100B70000202020202020202020202020202020255
+:100B80000202020202020202020202020202020245
+:100B90000202020202020202020202020202020235
+:100BA0000202020202020202020202020202020225
+:100BB0000202020202020202020202020202020215
+:100BC0000202020202020202020202020202020205
+:100BD00002020202020202020202020202020202F5
+:100BE00002020202020202020202020202020202E5
+:100BF00002020202020202020202020202020202D5
+:100C000002020202020202020202020202020202C4
+:100C100002020202020202020202020202020202B4
+:100C200002020202020202020202020202020202A4
+:100C30000202020202020202020202020202020294
+:100C40000202020202020202020202020202020284
+:100C50000202020202020202020202020202020274
+:100C60000202020202020202020202020202020264
+:100C70000202020202020202020202020202020254
+:100C80000202020202020202020202020202020244
+:100C90000202020202020202020202020202020234
+:100CA0000202020202020202020202020202020224
+:100CB0000202020202020202020202020202020214
+:100CC0000202020202020202020202020202020204
+:100CD00002020202020202020202020202020202F4
+:100CE00002020202020202020202020202020202E4
+:100CF00002020202020202020202020202020202D4
+:100D000002020202020202020202020202020202C3
+:100D100002020202020202020202020202020202B3
+:100D200002020202020202020202020202020202A3
+:100D30000202020202020202020202020202020293
+:100D40000202020202020202020202020202020283
+:100D50000202020202020202020202020202020273
+:100D60000202020202020202020202020202020263
+:100D70000202020202020202020202020202020253
+:100D80000202020202020202020202020202020243
+:100D90000202020202020202020202020202020233
+:100DA0000202020202020202020202020202020223
+:100DB0000202020202020202020202020202020213
+:100DC0000202020202020202020202020202020203
+:100DD00002020202020202020202020202020202F3
+:100DE00002020202020202020202020202020202E3
+:100DF00002020202020202020202020202020202D3
+:100E000002020202020202020202020202020202C2
+:100E100002020202020202020202020202020202B2
+:100E200002020202020202020202020202020202A2
+:100E30000202020202020202020202020202020292
+:100E40000202020202020202020202020202020282
+:100E50000202020202020202020202020202020272
+:100E60000202020202020202020202020202020262
+:100E70000202020202020202020202020202020252
+:100E80000202020202020202020202020202020242
+:100E90000202020202020202020202020202020232
+:100EA0000202020202020202020202020202020222
+:100EB0000202020202020202020202020202020212
+:100EC0000202020202020202020202020202020202
+:100ED00002020202020202020202020202020202F2
+:100EE00002020202020202020202020202020202E2
+:100EF00002020202020202020202020202020202D2
+:100F000002020202020202020202020202020202C1
+:100F100002020202020202020202020202020202B1
+:100F200002020202020202020202020202020202A1
+:100F30000202020202020202020202020202020291
+:100F40000202020202020202020202020202020281
+:100F50000202020202020202020202020202020271
+:100F60000202020202020202020202020202020261
+:100F70000202020202020202020202020202020251
+:100F80000202020202020202020202020202020241
+:100F90000202020202020202020202020202020231
+:100FA0000202020202020202020202020202020221
+:100FB0000202020202020202020202020202020211
+:100FC0000202020202020202020202020202020201
+:100FD00002020202020202020202020202020200F3
+:100FE0000000000000000000000000000000000001
+:100FF00000000000000000000000000000000000F1
+:1010000000000000000000000000000000000000E0
+:1010100000000000000000000000000000000000D0
+:1010200000000000000000000000000000000000C0
+:1010300000000000000000000000000000000000B0
+:1010400000000000000000000000000000000000A0
+:101050000000000000000000000000000000000090
+:101060000000000000000000000000000000000080
+:101070000000000000000000000000000000000070
+:101080000000000000000000000000000000000060
+:101090000000000000000000000000000000000050
+:1010A0000000000000000000000000000000000040
+:1010B0000000000000000000000000000000000030
+:1010C0000000000000000000000000000000000020
+:1010D0000000000000000000000000000000000010
+:1010E0000000000000000000000000000000000000
+:1010F00000000000000000000000000000000000F0
+:1011000000000000000000000000000000000000DF
+:1011100000000000000000000000000000000000CF
+:1011200000000000000000000000000000000000BF
+:1011300000000000000000000000000000000000AF
+:10114000000000000000000000000000000000009F
+:10115000000000000000000000000000000000008F
+:10116000000000000000000000000000000000007F
+:10117000000000000000000000000000000000006F
+:10118000000000000000000000000000000000005F
+:10119000000000000000000000000000000000004F
+:1011A000000000000000000000000000000000003F
+:1011B000000000000000000000000000000000002F
+:1011C000000000000000000000000000000000001F
+:1011D000000000000000000000000000000000000F
+:1011E00000000000000000000000000000000000FF
+:1011F00000000000000000000000000000000000EF
+:1012000000000000000000000000000000000000DE
+:1012100000000000000000000000000000000000CE
+:1012200000000000000000000000000000000000BE
+:1012300000000000000000000000000000000000AE
+:10124000000000000000000000000000000000009E
+:10125000000000000000000000000000000000008E
+:10126000000000000000000000000000000000007E
+:10127000000000000000000000000000000000006E
+:10128000000000000000000000000000000000005E
+:10129000000000000000000000000000000000004E
+:1012A000000000000000000000000000000000003E
+:1012B000000000000000000000000000000000002E
+:1012C000000000000000000000000000000000001E
+:1012D000000000000000000000000000000000000E
+:1012E00000000000000000000000000000000000FE
+:1012F00000000000000000000000000000000000EE
+:1013000000000000000000000000000000000000DD
+:1013100000000000000000000000000000000000CD
+:1013200000000000000000000000000000000000BD
+:1013300000000000000000000000000000000000AD
+:10134000000000000000000000000000000000009D
+:10135000000000000000000000000000000000008D
+:10136000000000000000000000000000000000007D
+:10137000000000000000000000000000000000006D
+:10138000000000000000000000000000000000005D
+:10139000000000000000000000000000000000004D
+:1013A000000000000000000000000000000000003D
+:1013B000000000000000000000000000000000002D
+:1013C000000000000000000000000000000000001D
+:1013D000000000000000000000000000000000000D
+:1013E00000000000000000000000000000000000FD
+:1013F00000000000000000000000000000000000ED
+:1014000000000000000000000000000000000000DC
+:1014100000000000000000000000000000000000CC
+:1014200000000000000000000000000000000000BC
+:1014300000000000000000000000000000000000AC
+:10144000000000000000000000000000000000009C
+:10145000000000000000000000000000000000008C
+:10146000000000000000000000000000000000007C
+:10147000000000000000000000000000000000006C
+:10148000000000000000000000000000000000005C
+:10149000000000000000000000000000000000004C
+:1014A000000000000000000000000000000000003C
+:1014B000000000000000000000000000000000002C
+:1014C000000000000000000000000000000000001C
+:1014D000000000000000000000000000000000000C
+:1014E00000000000000000000000000000000000FC
+:1014F00000000000000000000000000000000000EC
+:1015000000000000000000000000000000000000DB
+:1015100000000000000000000000000000000000CB
+:1015200000000000000000000000000000000000BB
+:1015300000000000000000000000000000000000AB
+:10154000000000000000000000000000000000009B
+:10155000000000000000000000000000000000008B
+:10156000000000000000000000000000000000007B
+:10157000000000000000000000000000000000006B
+:10158000000000000000000000000000000000005B
+:10159000000000000000000000000000000000004B
+:1015A000000000000000000000000000000000003B
+:1015B000000000000000000000000000000000002B
+:1015C000000000000000000000000000000000001B
+:1015D000000000000000000000000000000000000B
+:1015E00000000000000000000000000000000000FB
+:1015F00000000000000000000000000000000000EB
+:1016000000000000000000000000000000000000DA
+:1016100000000000000000000000000000000000CA
+:1016200000000000000000000000000000000000BA
+:1016300000000000000000000000000000000000AA
+:10164000000000000000000000000000000000009A
+:10165000000000000000000000000000000000008A
+:10166000000000000000000000000000000000007A
+:10167000000000000000000000000000000000006A
+:10168000000000000000000000000000000000005A
+:10169000000000000000000000000000000000004A
+:1016A000000000000000000000000000000000003A
+:1016B000000000000000000000000000000000002A
+:1016C000000000000000000000000000000000001A
+:1016D0000000000000000000000000000000006F9B
+:1016E00000000000000000010101010101010101F1
+:1016F00001010101010101010101010101010101DA
+:1017000001010101010101010101010101010101C9
+:1017100001010101010101010101010101010101B9
+:1017200001010101010101010101010101010101A9
+:101730000101010101010101010101010101010199
+:101740000101010101010101010101010101010189
+:101750000101010101010101010101010101010179
+:101760000101010101010101010101010101010169
+:101770000101010101010101010101010101010159
+:101780000101010101010101010101010101010149
+:101790000101010101010101010101010101010139
+:1017A0000101010101010101010101010101010129
+:1017B0000101010101010101010101010101010119
+:1017C0000101010101010101010101010101010109
+:1017D00001010101010101010101010101010101F9
+:1017E00001010101010101010101010101010101E9
+:1017F00001010101010101010101010101010101D9
+:1018000001010101010101010101010101010101C8
+:1018100001010101010101010101010101010101B8
+:1018200001010101010101010101010101010101A8
+:101830000101010101010101010101010101010198
+:101840000101010101010101010101010101010188
+:101850000101010101010101010101010101010178
+:101860000101010101010101010101010101010168
+:101870000101010101010101010101010101010158
+:101880000101010101010101010101010101010148
+:101890000101010101010101010101010101010138
+:1018A0000101010101010101010101010101010128
+:1018B0000101010101010101010101010101010118
+:1018C0000101010101010101010101010101010108
+:1018D00001010101010101010101010101010101F8
+:1018E00001010101010101010101010101010101E8
+:1018F00001010101010101010101010101010101D8
+:1019000001010101010101010101010101010101C7
+:1019100001010101010101010101010101010101B7
+:1019200001010101010101010101010101010101A7
+:101930000101010101010101010101010101010197
+:101940000101010101010101010101010101010187
+:101950000101010101010101010101010101010177
+:101960000101010101010101010101010101010167
+:101970000101010101010101010101010101010157
+:101980000101010101010101010101010101010147
+:101990000101010101010101010101010101010137
+:1019A0000101010101010101010101010101010127
+:1019B0000101010101010101010101010101010117
+:1019C0000101010101010101010101010101010107
+:1019D00001010101010101010101010101010101F7
+:1019E00001010101010101010101010101010101E7
+:1019F00001010101010101010101010101010101D7
+:101A000001010101010101010101010101010101C6
+:101A100001010101010101010101010101010101B6
+:101A200001010101010101010101010101010101A6
+:101A30000101010101010101010101010101010196
+:101A40000101010101010101010101010101010186
+:101A50000101010101010101010101010101010176
+:101A60000101010101010101010101010101010166
+:101A70000101010101010101010101010101010156
+:101A80000101010101010101010101010101010146
+:101A90000101010101010101010101010101010136
+:101AA0000101010101010101010101010101010126
+:101AB0000101010101010101010101010101010116
+:101AC0000101010101010101010101010101010106
+:101AD00001010101010101010101010101010101F6
+:101AE00001010101010101010101010101010101E6
+:101AF00001010101010101010101010101010101D6
+:101B000001010101010101010101010101010101C5
+:101B100001010101010101010101010101010101B5
+:101B200001010101010101010101010101010101A5
+:101B30000101010101010101010101010101010195
+:101B40000101010101010101010101010101010185
+:101B50000101010101010101010101010101010175
+:101B60000101010101010101010101010101010165
+:101B70000101010101010101010101010101010155
+:101B80000101010101010101010101010101010145
+:101B90000101010101010101010101010101010135
+:101BA0000101010101010101010101010101010125
+:101BB0000101010101010101010101010101010115
+:101BC0000101010101010101010101010101010105
+:101BD00001010101010101010101010101010101F5
+:101BE00001010101010101010101010101010101E5
+:101BF00001010101010101010101010101010101D5
+:101C000001010101010101010101010101010101C4
+:101C100001010101010101010101010101010101B4
+:101C200001010101010101010101010101010101A4
+:101C30000101010101010101010101010101010194
+:101C40000101010101010101010101010101010184
+:101C50000101010101010101010101010101010174
+:101C60000101010101010101010101010101010164
+:101C70000101010101010101010101010101010154
+:101C80000101010101010101010101010101010144
+:101C90000101010101010101010101010101010134
+:101CA0000101010101010101010101010101010124
+:101CB0000101010101010101010101010101010114
+:101CC0000101010101010101010101010101010104
+:101CD00001010101010101010101010101010101F4
+:101CE00001010101010101010101010101010101E4
+:101CF00001010101010101010101010101010101D4
+:101D000001010101010101010101010101010101C3
+:101D100001010101010101010101010101010101B3
+:101D200001010101010101010101010101010101A3
+:101D30000101010101010101010101010101010193
+:101D40000101010101010101010101010101010183
+:101D50000101010101010101010101010101010173
+:101D60000101010101010101010101010101010163
+:101D70000101010101010101010101010101010153
+:101D80000101010101010101010101010101010143
+:101D90000101010101010101010101010101010133
+:101DA0000101010101010101010101010101010123
+:101DB0000101010101010101010101010101010113
+:101DC0000101010101010101010101010101010103
+:101DD00001010101010101010101010101010101F3
+:101DE00001010101010101010101010101010101E3
+:101DF00001010101010101010101010101010101D3
+:101E000001010101010101010101010101010101C2
+:101E100001010101010101010101010101010101B2
+:101E200001010101010101010101010101010101A2
+:101E30000101010101010101010101010101010192
+:101E40000101010101010101010101010101010182
+:101E50000101010101010101010101010101010172
+:101E60000101010101010101010101010101010162
+:101E70000101010101010101010101010101010152
+:101E80000101010101010101010101010101010142
+:101E90000101010101010101010101010101010132
+:101EA0000101010101010101010101010101010122
+:101EB0000101010101010101010101010101010112
+:101EC0000101010101010101010101010101010102
+:101ED00001010101010101010101010101010101F2
+:101EE00001010101010101010101010101010101E2
+:101EF00001010101010101010101010101010101D2
+:101F000001010101010101010101010101010101C1
+:101F100001010101010101010101010101010101B1
+:101F200001010101010101010101010101010101A1
+:101F30000101010101010101010101010101010191
+:101F40000101010101010101010101010101010181
+:101F50000101010101010101010101010101010171
+:101F60000101010101010101010101010101010161
+:101F70000101010101010101010101010101010151
+:101F80000101010101010101010101010101010141
+:101F90000101010101010101010101010101010131
+:101FA0000101010101010101010101010101010121
+:101FB0000101010101010101010101010101010111
+:101FC0000101010101010101010101010101010101
+:101FD00001010101010101010101010101010101F1
+:101FE00001010101010101010101010101010101E1
+:101FF00001010101010101010101010101010101D1
+:1020000001010101010101010101010101010101C0
+:1020100001010101010101010101010101010101B0
+:1020200001010101010101010101010101010101A0
+:102030000101010101010101010101010101010190
+:102040000101010101010101010101010101010180
+:102050000101010101010101010101010101010170
+:102060000101010101010101010101010101010160
+:102070000101010101010101010101010101010150
+:102080000101010101010101010101010101010140
+:102090000101010101010101010101010101010130
+:1020A0000101010101010101010101010101010120
+:1020B0000101010101010101010101010101010110
+:1020C0000101010101010101010101010101010100
+:1020D00001010101010101010101010101010101F0
+:1020E00001010101010101010101010101010101E0
+:1020F00001010101010101010101010101010101D0
+:1021000001010101010101010101010101010101BF
+:1021100001010101010101010101010101010101AF
+:10212000010101010101010101010101010101019F
+:10213000010101010101010101010101010101018F
+:10214000010101010101010101010101010101017F
+:10215000010101010101010101010101010101016F
+:10216000010101010101010101010101010101015F
+:10217000010101010101010101010101010101014F
+:10218000010101010101010101010101010101013F
+:10219000010101010101010101010101010101012F
+:1021A000010101010101010101010101010101011F
+:1021B000010101010101010101010101010101010F
+:1021C00001010101010101010101010101010101FF
+:1021D00001010101010101010101010101010101EF
+:1021E00001010101010101010101010101010101DF
+:1021F00001010101010101010101010101010101CF
+:1022000001010101010101010101010101010101BE
+:1022100001010101010101010101010101010101AE
+:10222000010101010101010101010101010101019E
+:10223000010101010101010101010101010101018E
+:10224000010101010101010101010101010101017E
+:10225000010101010101010101010101010101016E
+:10226000010101010101010101010101010101015E
+:10227000010101010101010101010101010101014E
+:10228000010101010101010101010101010101013E
+:10229000010101010101010101010101010101012E
+:1022A000010101010101010101010101010101011E
+:1022B000010101010101010101010101010101010E
+:1022C00001010101010101010101010101010101FE
+:1022D00001010101010101010101010101010101EE
+:1022E00001010101010101010101010101010101DE
+:1022F00001010101010101010101010101010101CE
+:1023000001010101010101010101010101010101BD
+:1023100001010101010101010101010101010101AD
+:10232000010101010101010101010101010101019D
+:10233000010101010101010101010101010101018D
+:10234000010101010101010101010101010101017D
+:10235000010101010101010101010101010101016D
+:10236000010101010101010101010101010101015D
+:10237000010101010101010101010101010101014D
+:10238000010101010101010101010101010101013D
+:10239000010101010101010101010101010101012D
+:1023A000010101010101010101010101010101011D
+:1023B000010101010101010101010101010101010D
+:1023C00001010101010101010101010101010101FD
+:1023D00001010101010101010101010101010101ED
+:1023E00001010101010101010101010101010101DD
+:1023F00001010101010101010101010101010101CD
+:1024000001010101010101010101010101010101BC
+:1024100001010101010101010101010101010101AC
+:10242000010101010101010101010101010101019C
+:10243000010101010101010101010101010101018C
+:10244000010101010101010101010101010101017C
+:10245000010101010101010101010101010101016C
+:10246000010101010101010101010101010101015C
+:10247000010101010101010101010101010101014C
+:10248000010101010101010101010101010101013C
+:10249000010101010101010101010101010101012C
+:1024A000010101010101010101010101010101011C
+:1024B000010101010101010101010101010101010C
+:1024C00001010101010101010101010101010101FC
+:1024D00001010101010101010101010101010101EC
+:1024E00001010101010101010101010101010101DC
+:1024F00001010101010101010101010101010101CC
+:1025000001010101010101010101010101010101BB
+:1025100001010101010101010101010101010101AB
+:10252000010101010101010101010101010101019B
+:10253000010101010101010101010101010101018B
+:10254000010101010101010101010101010101017B
+:10255000010101010101010101010101010101016B
+:10256000010101010101010101010101010101015B
+:10257000010101010101010101010101010101014B
+:10258000010101010101010101010101010101013B
+:10259000010101010101010101010101010101012B
+:1025A000010101010101010101010101010101011B
+:1025B000010101010101010101010101010101010B
+:1025C00001010101010101010101010101010101FB
+:1025D00001010101010101010101010101010101EB
+:1025E00001010101010101010101010101010101DB
+:1025F00001010101010101010101010101010101CB
+:1026000001010101010101010101010101010101BA
+:1026100001010101010101010101010101010101AA
+:10262000010101010101010101010101010101019A
+:10263000010101010101010101010101010101018A
+:10264000010101010101010101010101010101017A
+:10265000010101010101010101010101010101016A
+:10266000010101010101010101010101010101015A
+:10267000010101010101010101010101010101014A
+:10268000010101010101010101010101010101013A
+:10269000010101010101010101010101010101012A
+:1026A000010101010101010101010101010101011A
+:1026B000010101010101010101010101010101010A
+:1026C00001010101010101010101010101010101FA
+:1026D00001010101010101010101010101010101EA
+:1026E00001010101010101010101010101010101DA
+:1026F00001010101010101010101010101010101CA
+:1027000001010101010101010101010101010101B9
+:1027100001010101010101010101010101010101A9
+:102720000101010101010101010101010101010199
+:102730000101010101010101010101010101010189
+:102740000101010101010101010101010101010179
+:102750000101010101010101010101010101010169
+:102760000101010101010101010101010101010159
+:102770000101010101010101010101010101010149
+:102780000101010101010101010101010101010139
+:102790000101010101010101010101010101010129
+:1027A0000101010101010101010101010101010119
+:1027B0000101010101010101010101010101010109
+:1027C00001010101010101010101010101010101F9
+:1027D00001010101010101010101010101010101E9
+:1027E00001010101010101010101010101010101D9
+:1027F00001010101010101010101010101010101C9
+:1028000001010101010101010101010101010101B8
+:1028100001010101010101010101010101010101A8
+:102820000101010101010101010101010101010198
+:102830000101010101010101010101010101010188
+:102840000101010101010101010101010101010178
+:102850000101010101010101010101010101010168
+:102860000101010101010101010101010101010158
+:102870000101010101010101010101010101010148
+:102880000101010101010101010101010101010138
+:102890000101010101010101010101010101010128
+:1028A0000101010101010101010101010101010118
+:1028B0000101010101010101010101010101010108
+:1028C00001010101010101010101010101010101F8
+:1028D00001010101010101010101010101010101E8
+:1028E00001010101010101010101010101010101D8
+:1028F00001010101010101010101010101010101C8
+:1029000001010101010101010101010101010101B7
+:1029100001010101010101010101010101010101A7
+:102920000101010101010101010101010101010197
+:102930000101010101010101010101010101010187
+:102940000101010101010101010101010101010177
+:102950000101010101010101010101010101010167
+:102960000101010101010101010101010101010157
+:102970000101010101010101010101010101010147
+:102980000101010101010101010101010101010137
+:102990000101010101010101010101010101010127
+:1029A0000101010101010101010101010101010117
+:1029B0000101010101010101010101010101010107
+:1029C00001010101010101010101010101010101F7
+:1029D00001010101010101010101010101010101E7
+:1029E00001010101010101010101010101010101D7
+:1029F00001010101010101010101010101010101C7
+:102A000001010101010101010101010101010101B6
+:102A100001010101010101010101010101010101A6
+:102A20000101010101010101010101010101010196
+:102A30000101010101010101010101010101010186
+:102A40000101010101010101010101010101010176
+:102A50000101010101010101010101010101010166
+:102A60000101010101010101010101010101010156
+:102A70000101010101010101010101010101010146
+:102A80000101010101010101010101010101010136
+:102A90000101010101010101010101010101010126
+:102AA0000101010101010101010101010101010116
+:102AB0000101010101010101010101010101010106
+:102AC00001010101010101010101010101010101F6
+:102AD00001010101010101010101010101010101E6
+:102AE00001010101010101010101010101010101D6
+:102AF00001010101010101010101010101010101C6
+:102B000001010101010101010101010101010101B5
+:102B100001010101010101010101010101010101A5
+:102B20000101010101010101010101010101010195
+:102B30000101010101010101010101010101010185
+:102B40000101010101010101010101010101010175
+:102B50000101010101010101010101010101010165
+:102B60000101010101010101010101010101010155
+:102B70000101010101010101010101010101010145
+:102B80000101010101010101010101010101010135
+:102B90000101010101010101010101010101010125
+:102BA0000101010101010101010101010101010115
+:102BB0000101010101010101010101010101010105
+:102BC00001010101010101010101010101010101F5
+:102BD00001010101010101010101010101010101E5
+:102BE00001010101010101010101010101010101D5
+:102BF00001010101010101010101010101010101C5
+:102C000001010101010101010101010101010101B4
+:102C100001010101010101010101010101010101A4
+:102C20000101010101010101010101010101010194
+:102C30000101010101010101010101010101010184
+:102C40000101010101010101010101010101010174
+:102C50000101010101010101010101010101010164
+:102C60000101010101010101010101010101010154
+:102C70000101010101010101010101010101010144
+:102C80000101010101010101010101010101010134
+:102C90000101010101010101010101010101010124
+:102CA0000101010101010101010101010101010114
+:102CB0000101010101010101010101010101010104
+:102CC00001010101010101010101010101010101F4
+:102CD00001010101010101010101010101010101E4
+:102CE00001010101010101000000000000000000DD
+:102CF00000000000000000000000000000000000D4
+:102D000000000000000000000000000000000000C3
+:102D100000000000000000000000000000000000B3
+:102D200000000000000000000000000000000000A3
+:102D30000000000000000000000000000000000093
+:102D40000000000000000000000000000000000083
+:102D50000000000000000000000000000000000073
+:102D60000000000000000000000000000000000063
+:102D70000000000000000000000000000000000053
+:102D80000000000000000000000000000000000043
+:102D90000000000000000000000000000000000033
+:102DA0000000000000000000000000000000000023
+:102DB0000000000000000000000000000000000013
+:102DC0000000000000000000000000000000000003
+:102DD00000000000000000000000000000000000F3
+:102DE00000000000000000000000000000000000E3
+:102DF00000000000000000000000000000000000D3
+:102E000000000000000000000000000000000000C2
+:102E100000000000000000000000000000000000B2
+:102E200000000000000000000000000000000000A2
+:102E30000000000000000000000000000000000092
+:102E40000000000000000000000000000000000082
+:102E50000000000000000000000000000000000072
+:102E60000000000000000000000000000000000062
+:102E70000000000000000000000000000000000052
+:102E80000000000000000000000000000000000042
+:102E90000000000000000000000000000000000032
+:102EA0000000000000000000000000000000000022
+:102EB0000000000000000000000000000000000012
+:102EC0000000000000000000000000000000000002
+:102ED00000000000000000000000000000000000F2
+:102EE00000000000000000000000000000000000E2
+:102EF00000000000000000000000000000000000D2
+:102F000000000000000000000000000000000000C1
+:102F100000000000000000000000000000000000B1
+:102F200000000000000000000000000000000000A1
+:102F30000000000000000000000000000000000091
+:102F40000000000000000000000000000000000081
+:102F50000000000000000000000000000000000071
+:102F60000000000000000000000000000000000061
+:102F70000000000000000000000000000000000051
+:102F80000000000000000000000000000000000041
+:102F90000000000000000000000000000000000031
+:102FA0000000000000000000000000000000000021
+:102FB0000000000000000000000000000000000011
+:102FC0000000000000000000000000000000000001
+:102FD00000000000000000000000000000000000F1
+:102FE00000000000000000000000000000000000E1
+:102FF00000000000000000000000000000000000D1
+:1030000000000000000000000000000000000000C0
+:1030100000000000000000000000000000000000B0
+:1030200000000000000000000000000000000000A0
+:103030000000000000000000000000000000000090
+:103040000000000000000000000000000000000080
+:103050000000000000000000000000000000000070
+:103060000000000000000000000000000000000060
+:103070000000000000000000000000000000000050
+:103080000000000000000000000000000000000040
+:103090000000000000000000000000000000000030
+:1030A0000000000000000000000000000000000020
+:1030B0000000000000000000000000000000000010
+:1030C0000000000000000000000000000000000000
+:1030D00000000000000000000000000000000000F0
+:1030E00000000000000000020202020202020202CE
+:1030F00002020202020202020202020202020202B0
+:10310000020202020202020202020202020202029F
+:10311000020202020202020202020202020202028F
+:10312000020202020202020202020202020202027F
+:10313000020202020202020202020202020202026F
+:10314000020202020202020202020202020202025F
+:10315000020202020202020202020202020202024F
+:10316000020202020202020202020202020202023F
+:10317000020202020202020202020202020202022F
+:10318000020202020202020202020202020202021F
+:10319000020202020202020202020202020202020F
+:1031A00002020202020202020202020202020202FF
+:1031B00002020202020202020202020202020202EF
+:1031C00002020202020202020202020202020202DF
+:1031D00002020202020202020202020202020202CF
+:1031E00002020202020202020202020202020202BF
+:1031F00002020202020202020202020202020202AF
+:10320000020202020202020202020202020202029E
+:10321000020202020202020202020202020202028E
+:10322000020202020202020202020202020202027E
+:10323000020202020202020202020202020202026E
+:10324000020202020202020202020202020202025E
+:10325000020202020202020202020202020202024E
+:10326000020202020202020202020202020202023E
+:10327000020202020202020202020202020202022E
+:10328000020202020202020202020202020202021E
+:10329000020202020202020202020202020202020E
+:1032A00002020202020202020202020202020202FE
+:1032B00002020202020202020202020202020202EE
+:1032C00002020202020202020202020202020202DE
+:1032D00002020202020202020202020202020202CE
+:1032E00002020202020202020202020202020202BE
+:1032F00002020202020202020202020202020202AE
+:10330000020202020202020202020202020202029D
+:10331000020202020202020202020202020202028D
+:10332000020202020202020202020202020202027D
+:10333000020202020202020202020202020202026D
+:10334000020202020202020202020202020202025D
+:10335000020202020202020202020202020202024D
+:10336000020202020202020202020202020202023D
+:10337000020202020202020202020202020202022D
+:10338000020202020202020202020202020202021D
+:10339000020202020202020202020202020202020D
+:1033A00002020202020202020202020202020202FD
+:1033B00002020202020202020202020202020202ED
+:1033C00002020202020202020202020202020202DD
+:1033D00002020202020202020202020202020202CD
+:1033E00002020202020202020202020202020202BD
+:1033F00002020202020202020202020202020202AD
+:10340000020202020202020202020202020202029C
+:10341000020202020202020202020202020202028C
+:10342000020202020202020202020202020202027C
+:10343000020202020202020202020202020202026C
+:10344000020202020202020202020202020202025C
+:10345000020202020202020202020202020202024C
+:10346000020202020202020202020202020202023C
+:10347000020202020202020202020202020202022C
+:10348000020202020202020202020202020202021C
+:10349000020202020202020202020202020202020C
+:1034A00002020202020202020202020202020202FC
+:1034B00002020202020202020202020202020202EC
+:1034C00002020202020202020202020202020202DC
+:1034D00002020202020202020202020202020202CC
+:1034E00002020202020202020202020202020202BC
+:1034F00002020202020202020202020202020202AC
+:10350000020202020202020202020202020202029B
+:10351000020202020202020202020202020202028B
+:10352000020202020202020202020202020202027B
+:10353000020202020202020202020202020202026B
+:10354000020202020202020202020202020202025B
+:10355000020202020202020202020202020202024B
+:10356000020202020202020202020202020202023B
+:10357000020202020202020202020202020202022B
+:10358000020202020202020202020202020202021B
+:10359000020202020202020202020202020202020B
+:1035A00002020202020202020202020202020202FB
+:1035B00002020202020202020202020202020202EB
+:1035C00002020202020202020202020202020202DB
+:1035D00002020202020202020202020202020202CB
+:1035E00002020202020202020202020202020202BB
+:1035F00002020202020202020202020202020202AB
+:10360000020202020202020202020202020202029A
+:10361000020202020202020202020202020202028A
+:10362000020202020202020202020202020202027A
+:10363000020202020202020202020202020202026A
+:10364000020202020202020202020202020202025A
+:10365000020202020202020202020202020202024A
+:10366000020202020202020202020202020202023A
+:10367000020202020202020202020202020202022A
+:10368000020202020202020202020202020202021A
+:10369000020202020202020202020202020202020A
+:1036A00002020202020202020202020202020202FA
+:1036B00002020202020202020202020202020202EA
+:1036C00002020202020202020202020202020202DA
+:1036D00002020202020202020202020202020202CA
+:1036E00002020202020202020202020202020202BA
+:1036F00002020202020202020202020202020202AA
+:103700000202020202020202020202020202020299
+:103710000202020202020202020202020202020289
+:103720000202020202020202020202020202020279
+:103730000202020202020202020202020202020269
+:103740000202020202020202020202020202020259
+:103750000202020202020202020202020202020249
+:103760000202020202020202020202020202020239
+:103770000202020202020202020202020202020229
+:103780000202020202020202020202020202020219
+:103790000202020202020202020202020202020209
+:1037A00002020202020202020202020202020202F9
+:1037B00002020202020202020202020202020202E9
+:1037C00002020202020202020202020202020202D9
+:1037D00002020202020202020202020202020202C9
+:1037E00002020202020202020202020202020202B9
+:1037F00002020202020202020202020202020202A9
+:103800000202020202020202020202020202020298
+:103810000202020202020202020202020202020288
+:103820000202020202020202020202020202020278
+:103830000202020202020202020202020202020268
+:103840000202020202020202020202020202020258
+:103850000202020202020202020202020202020248
+:103860000202020202020202020202020202020238
+:103870000202020202020202020202020202020228
+:103880000202020202020202020202020202020218
+:103890000202020202020202020202020202020208
+:1038A00002020202020202020202020202020202F8
+:1038B00002020202020202020202020202020202E8
+:1038C00002020202020202020202020202020202D8
+:1038D00002020202020202020202020202020202C8
+:1038E00002020202020202020202020202020202B8
+:1038F00002020202020202020202020202020202A8
+:103900000202020202020202020202020202020297
+:103910000202020202020202020202020202020287
+:103920000202020202020202020202020202020277
+:103930000202020202020202020202020202020267
+:103940000202020202020202020202020202020257
+:103950000202020202020202020202020202020247
+:103960000202020202020202020202020202020237
+:103970000202020202020202020202020202020227
+:103980000202020202020202020202020202020217
+:103990000202020202020202020202020202020207
+:1039A00002020202020202020202020202020202F7
+:1039B00002020202020202020202020202020202E7
+:1039C00002020202020202020202020202020202D7
+:1039D00002020202020202020202020202020202C7
+:1039E00002020202020202020202020202020202B7
+:1039F00002020202020202020202020202020202A7
+:103A00000202020202020202020202020202020296
+:103A10000202020202020202020202020202020286
+:103A20000202020202020202020202020202020276
+:103A30000202020202020202020202020202020266
+:103A40000202020202020202020202020202020256
+:103A50000202020202020202020202020202020246
+:103A60000202020202020202020202020202020236
+:103A70000202020202020202020202020202020226
+:103A80000202020202020202020202020202020216
+:103A90000202020202020202020202020202020206
+:103AA00002020202020202020202020202020202F6
+:103AB00002020202020202020202020202020202E6
+:103AC00002020202020202020202020202020202D6
+:103AD00002020202020202020202020202020202C6
+:103AE00002020202020202020202020202020202B6
+:103AF00002020202020202020202020202020202A6
+:103B00000202020202020202020202020202020295
+:103B10000202020202020202020202020202020285
+:103B20000202020202020202020202020202020275
+:103B30000202020202020202020202020202020265
+:103B40000202020202020202020202020202020255
+:103B50000202020202020202020202020202020245
+:103B60000202020202020202020202020202020235
+:103B70000202020202020202020202020202020225
+:103B80000202020202020202020202020202020215
+:103B90000202020202020202020202020202020205
+:103BA00002020202020202020202020202020202F5
+:103BB00002020202020202020202020202020202E5
+:103BC00002020202020202020202020202020202D5
+:103BD00002020202020202020202020202020202C5
+:103BE00002020202020202020202020202020202B5
+:103BF00002020202020202020202020202020202A5
+:103C00000202020202020202020202020202020294
+:103C10000202020202020202020202020202020284
+:103C20000202020202020202020202020202020274
+:103C30000202020202020202020202020202020264
+:103C40000202020202020202020202020202020254
+:103C50000202020202020202020202020202020244
+:103C60000202020202020202020202020202020234
+:103C70000202020202020202020202020202020224
+:103C80000202020202020202020202020202020214
+:103C90000202020202020202020202020202020204
+:103CA00002020202020202020202020202020202F4
+:103CB00002020202020202020202020202020202E4
+:103CC00002020202020202020202020202020202D4
+:103CD00002020202020202020202020202020202C4
+:103CE00002020202020202020202020202020202B4
+:103CF00002020202020202020202020202020202A4
+:103D00000202020202020202020202020202020293
+:103D10000202020202020202020202020202020283
+:103D20000202020202020202020202020202020273
+:103D30000202020202020202020202020202020263
+:103D40000202020202020202020202020202020253
+:103D50000202020202020202020202020202020243
+:103D60000202020202020202020202020202020233
+:103D70000202020202020202020202020202020223
+:103D80000202020202020202020202020202020213
+:103D90000202020202020202020202020202020203
+:103DA00002020202020202020202020202020202F3
+:103DB00002020202020202020202020202020202E3
+:103DC00002020202020202020202020202020202D3
+:103DD00002020202020202020202020202020202C3
+:103DE00002020202020202020202020202020202B3
+:103DF00002020202020202020202020202020202A3
+:103E00000202020202020202020202020202020292
+:103E10000202020202020202020202020202020282
+:103E20000202020202020202020202020202020272
+:103E30000202020202020202020202020202020262
+:103E40000202020202020202020202020202020252
+:103E50000202020202020202020202020202020242
+:103E60000202020202020202020202020202020232
+:103E70000202020202020202020202020202020222
+:103E80000202020202020202020202020202020212
+:103E90000202020202020202020202020202020202
+:103EA00002020202020202020202020202020202F2
+:103EB00002020202020202020202020202020202E2
+:103EC00002020202020202020202020202020202D2
+:103ED00002020202020202020202020202020202C2
+:103EE00002020202020202020202020202020202B2
+:103EF00002020202020202020202020202020202A2
+:103F00000202020202020202020202020202020291
+:103F10000202020202020202020202020202020281
+:103F20000202020202020202020202020202020271
+:103F30000202020202020202020202020202020261
+:103F40000202020202020202020202020202020251
+:103F50000202020202020202020202020202020241
+:103F60000202020202020202020202020202020231
+:103F70000202020202020202020202020202020221
+:103F80000202020202020202020202020202020211
+:103F90000202020202020202020202020202020201
+:103FA00002020202020202020202020202020202F1
+:103FB00002020202020202020202020202020202E1
+:103FC00002020202020202020202020202020202D1
+:103FD00002020202020202020202020202020202C1
+:103FE00002020202020202020202020202020202B1
+:103FF00002020202020202020202020202020202A1
+:104000000202020202020202020202020202020290
+:104010000202020202020202020202020202020280
+:104020000202020202020202020202020202020270
+:104030000202020202020202020202020202020260
+:104040000202020202020202020202020202020250
+:104050000202020202020202020202020202020240
+:104060000202020202020202020202020202020230
+:104070000202020202020202020202020202020220
+:104080000202020202020202020202020202020210
+:104090000202020202020202020202020202020200
+:1040A00002020202020202020202020202020202F0
+:1040B00002020202020202020202020202020202E0
+:1040C00002020202020202020202020202020202D0
+:1040D00002020202020202020202020202020202C0
+:1040E00002020202020202020202020202020202B0
+:1040F00002020202020202020202020202020202A0
+:10410000020202020202020202020202020202028F
+:10411000020202020202020202020202020202027F
+:10412000020202020202020202020202020202026F
+:10413000020202020202020202020202020202025F
+:10414000020202020202020202020202020202024F
+:10415000020202020202020202020202020202023F
+:10416000020202020202020202020202020202022F
+:10417000020202020202020202020202020202021F
+:10418000020202020202020202020202020202020F
+:1041900002020202020202020202020202020202FF
+:1041A00002020202020202020202020202020202EF
+:1041B00002020202020202020202020202020202DF
+:1041C00002020202020202020202020202020202CF
+:1041D00002020202020202020202020202020202BF
+:1041E00002020202020202020202020202020202AF
+:1041F000020202020202020202020202020202029F
+:10420000020202020202020202020202020202028E
+:10421000020202020202020202020202020202027E
+:10422000020202020202020202020202020202026E
+:10423000020202020202020202020202020202025E
+:10424000020202020202020202020202020202024E
+:10425000020202020202020202020202020202023E
+:10426000020202020202020202020202020202022E
+:10427000020202020202020202020202020202021E
+:10428000020202020202020202020202020202020E
+:1042900002020202020202020202020202020202FE
+:1042A00002020202020202020202020202020202EE
+:1042B00002020202020202020202020202020202DE
+:1042C00002020202020202020202020202020202CE
+:1042D00002020202020202020202020202020202BE
+:1042E00002020202020202020202020202020202AE
+:1042F000020202020202020202020202020202029E
+:10430000020202020202020202020202020202028D
+:10431000020202020202020202020202020202027D
+:10432000020202020202020202020202020202026D
+:10433000020202020202020202020202020202025D
+:10434000020202020202020202020202020202024D
+:10435000020202020202020202020202020202023D
+:10436000020202020202020202020202020202022D
+:10437000020202020202020202020202020202021D
+:10438000020202020202020202020202020202020D
+:1043900002020202020202020202020202020202FD
+:1043A00002020202020202020202020202020202ED
+:1043B00002020202020202020202020202020202DD
+:1043C00002020202020202020202020202020202CD
+:1043D00002020202020202020202020202020202BD
+:1043E00002020202020202020202020202020202AD
+:1043F000020202020202020202020202020202029D
+:10440000020202020202020202020202020202028C
+:10441000020202020202020202020202020202027C
+:10442000020202020202020202020202020202026C
+:10443000020202020202020202020202020202025C
+:10444000020202020202020202020202020202024C
+:10445000020202020202020202020202020202023C
+:10446000020202020202020202020202020202022C
+:10447000020202020202020202020202020202021C
+:10448000020202020202020202020202020202020C
+:1044900002020202020202020202020202020202FC
+:1044A00002020202020202020202020202020202EC
+:1044B00002020202020202020202020202020202DC
+:1044C00002020202020202020202020202020202CC
+:1044D00002020202020202020202020202020202BC
+:1044E00002020202020202020202020202020202AC
+:1044F000020202020202020202020202020202029C
+:10450000020202020202020202020202020202028B
+:10451000020202020202020202020202020202027B
+:10452000020202020202020202020202020202026B
+:10453000020202020202020202020202020202025B
+:10454000020202020202020202020202020202024B
+:10455000020202020202020202020202020202023B
+:10456000020202020202020202020202020202022B
+:10457000020202020202020202020202020202021B
+:10458000020202020202020202020202020202020B
+:1045900002020202020202020202020202020202FB
+:1045A00002020202020202020202020202020202EB
+:1045B00002020202020202020202020202020202DB
+:1045C00002020202020202020202020202020202CB
+:1045D00002020202020202020202020202020202BB
+:1045E00002020202020202020202020202020202AB
+:1045F000020202020202020202020202020202029B
+:10460000020202020202020202020202020202028A
+:10461000020202020202020202020202020202027A
+:10462000020202020202020202020202020202026A
+:10463000020202020202020202020202020202025A
+:10464000020202020202020202020202020202024A
+:10465000020202020202020202020202020202023A
+:10466000020202020202020202020202020202022A
+:10467000020202020202020202020202020202021A
+:10468000020202020202020202020202020202020A
+:1046900002020202020202020202020202020202FA
+:1046A00002020202020202020202020202020202EA
+:1046B00002020202020202020202020202020202DA
+:1046C00002020202020202020202020202020202CA
+:1046D00002020202020202020202020202020202BA
+:1046E00002020202020202000000000000000000BC
+:1046F00000000000000000000000000000000000BA
+:1047000000000000000000000000000000000000A9
+:104710000000000000000000000000000000000099
+:104720000000000000000000000000000000000089
+:104730000000000000000000000000000000000079
+:104740000000000000000000000000000000000069
+:104750000000000000000000000000000000000059
+:104760000000000000000000000000000000000049
+:104770000000000000000000000000000000000039
+:104780000000000000000000000000000000000029
+:104790000000000000000000000000000000000019
+:1047A0000000000000000000000000000000000009
+:1047B00000000000000000000000000000000000F9
+:1047C00000000000000000000000000000000000E9
+:1047D00000000000000000000000000000000000D9
+:1047E00000000000000000000000000000000000C9
+:1047F00000000000000000000000000000000000B9
+:1048000000000000000000000000000000000000A8
+:104810000000000000000000000000000000000098
+:104820000000000000000000000000000000000088
+:104830000000000000000000000000000000000078
+:104840000000000000000000000000000000000068
+:104850000000000000000000000000000000000058
+:104860000000000000000000000000000000000048
+:104870000000000000000000000000000000000038
+:104880000000000000000000000000000000000028
+:104890000000000000000000000000000000000018
+:1048A0000000000000000000000000000000000008
+:1048B00000000000000000000000000000000000F8
+:1048C00000000000000000000000000000000000E8
+:1048D00000000000000000000000000000000000D8
+:1048E00000000000000000000000000000000000C8
+:1048F00000000000000000000000000000000000B8
+:1049000000000000000000000000000000000000A7
+:104910000000000000000000000000000000000097
+:104920000000000000000000000000000000000087
+:104930000000000000000000000000000000000077
+:104940000000000000000000000000000000000067
+:104950000000000000000000000000000000000057
+:104960000000000000000000000000000000000047
+:104970000000000000000000000000000000000037
+:104980000000000000000000000000000000000027
+:104990000000000000000000000000000000000017
+:1049A0000000000000000000000000000000000007
+:1049B00000000000000000000000000000000000F7
+:1049C00000000000000000000000000000000000E7
+:1049D00000000000000000000000000000000000D7
+:1049E00000000000000000000000000000000000C7
+:1049F00000000000000000000000000000000000B7
+:104A000000000000000000000000000000000000A6
+:104A10000000000000000000000000000000000096
+:104A20000000000000000000000000000000000086
+:104A30000000000000000000000000000000000076
+:104A40000000000000000000000000000000000066
+:104A50000000000000000000000000000000000056
+:104A60000000000000000000000000000000000046
+:104A70000000000000000000000000000000000036
+:104A80000000000000000000000000000000000026
+:104A90000000000000000000000000000000000016
+:104AA0000000000000000000000000000000000006
+:104AB00000000000000000000000000000000000F6
+:104AC00000000000000000000000000000000000E6
+:104AD00000000000000000000000000000000000D6
+:104AE00000000000000000000000000000000000C6
+:104AF00000000000000000000000000000000000B6
+:104B000000000000000000000000000000000000A5
+:104B10000000000000000000000000000000000095
+:104B20000000000000000000000000000000000085
+:104B30000000000000000000000000000000000075
+:104B40000000000000000000000000000000000065
+:104B50000000000000000000000000000000000055
+:104B60000000000000000000000000000000000045
+:104B70000000000000000000000000000000000035
+:104B80000000000000000000000000000000000025
+:104B90000000000000000000000000000000000015
+:104BA0000000000000000000000000000000000005
+:104BB00000000000000000000000000000000000F5
+:104BC00000000000000000000000000000000000E5
+:104BD00000000000000000000000000000000000D5
+:104BE00000000000000000000000000000000000C5
+:104BF00000000000000000000000000000000000B5
+:104C000000000000000000000000000000000000A4
+:104C10000000000000000000000000000000000094
+:104C20000000000000000000000000000000000084
+:104C30000000000000000000000000000000000074
+:104C40000000000000000000000000000000000064
+:104C50000000000000000000000000000000000054
+:104C60000000000000000000000000000000000044
+:104C70000000000000000000000000000000000034
+:104C80000000000000000000000000000000000024
+:104C90000000000000000000000000000000000014
+:104CA0000000000000000000000000000000000004
+:104CB00000000000000000000000000000000000F4
+:104CC00000000000000000000000000000000000E4
+:104CD00000000000000000000000000000000000D4
+:104CE00000000000000000000000000000000000C4
+:104CF00000000000000000000000000000000000B4
+:104D000000000000000000000000000000000000A3
+:104D10000000000000000000000000000000000093
+:104D20000000000000000000000000000000000083
+:104D30000000000000000000000000000000000073
+:104D40000000000000000000000000000000000063
+:104D50000000000000000000000000000000000053
+:104D60000000000000000000000000000000000043
+:104D70000000000000000000000000000000000033
+:104D80000000000000000000000000000000000023
+:104D90000000000000000000000000000000000013
+:104DA0000000000000000000000000000000000003
+:104DB00000000000000000000000000000000000F3
+:104DC00000000000000000000000000000000000E3
+:104DD00000000000000000000000000000000000D3
+:104DE00000000000000000000000000000000000C3
+:104DF00000000000000000000000000000000000B3
+:104E000000000000000000000000000000000000A2
+:104E10000000000000000000000000000000000092
+:104E20000000000000000000000000000000000082
+:104E30000000000000000000000000000000000072
+:104E40000000000000000000000000000000000062
+:104E50000000000000000000000000000000000052
+:104E60000000000000000000000000000000000042
+:104E70000000000000000000000000000000000032
+:104E80000000000000000000000000000000000022
+:104E90000000000000000000000000000000000012
+:104EA0000000000000000000000000000000000002
+:104EB00000000000000000000000000000000000F2
+:104EC00000000000000000000000000000000000E2
+:104ED00000000000000000000000000000000000D2
+:104EE00000000000000000000000000000000000C2
+:104EF00000000000000000000000000000000000B2
+:104F000000000000000000000000000000000000A1
+:104F10000000000000000000000000000000000091
+:104F20000000000000000000000000000000000081
+:104F30000000000000000000000000000000000071
+:104F40000000000000000000000000000000000061
+:104F50000000000000000000000000000000000051
+:104F60000000000000000000000000000000000041
+:104F70000000000000000000000000000000000031
+:104F80000000000000000000000000000000000021
+:104F90000000000000000000000000000000000011
+:104FA0000000000000000000000000000000000001
+:104FB00000000000000000000000000000000000F1
+:104FC00000000000000000000000000000000000E1
+:104FD00000000000000000000000000000000000D1
+:104FE00000000000000000010101010101010101B8
+:104FF00001010101010101010101010101010101A1
+:105000000101010101010101010101010101010190
+:105010000101010101010101010101010101010180
+:105020000101010101010101010101010101010170
+:105030000101010101010101010101010101010160
+:105040000101010101010101010101010101010150
+:105050000101010101010101010101010101010140
+:105060000101010101010101010101010101010130
+:105070000101010101010101010101010101010120
+:105080000101010101010101010101010101010110
+:105090000101010101010101010101010101010100
+:1050A00001010101010101010101010101010101F0
+:1050B00001010101010101010101010101010101E0
+:1050C00001010101010101010101010101010101D0
+:1050D00001010101010101010101010101010101C0
+:1050E00001010101010101010101010101010101B0
+:1050F00001010101010101010101010101010101A0
+:10510000010101010101010101010101010101018F
+:10511000010101010101010101010101010101017F
+:10512000010101010101010101010101010101016F
+:10513000010101010101010101010101010101015F
+:10514000010101010101010101010101010101014F
+:10515000010101010101010101010101010101013F
+:10516000010101010101010101010101010101012F
+:10517000010101010101010101010101010101011F
+:10518000010101010101010101010101010101010F
+:1051900001010101010101010101010101010101FF
+:1051A00001010101010101010101010101010101EF
+:1051B00001010101010101010101010101010101DF
+:1051C00001010101010101010101010101010101CF
+:1051D00001010101010101010101010101010101BF
+:1051E00001010101010101010101010101010101AF
+:1051F000010101010101010101010101010101019F
+:10520000010101010101010101010101010101018E
+:10521000010101010101010101010101010101017E
+:10522000010101010101010101010101010101016E
+:10523000010101010101010101010101010101015E
+:10524000010101010101010101010101010101014E
+:10525000010101010101010101010101010101013E
+:10526000010101010101010101010101010101012E
+:10527000010101010101010101010101010101011E
+:10528000010101010101010101010101010101010E
+:1052900001010101010101010101010101010101FE
+:1052A00001010101010101010101010101010101EE
+:1052B00001010101010101010101010101010101DE
+:1052C00001010101010101010101010101010101CE
+:1052D00001010101010101010101010101010101BE
+:1052E00001010101010101010101010101010101AE
+:1052F000010101010101010101010101010101019E
+:10530000010101010101010101010101010101018D
+:10531000010101010101010101010101010101017D
+:10532000010101010101010101010101010101016D
+:10533000010101010101010101010101010101015D
+:10534000010101010101010101010101010101014D
+:10535000010101010101010101010101010101013D
+:10536000010101010101010101010101010101012D
+:10537000010101010101010101010101010101011D
+:10538000010101010101010101010101010101010D
+:1053900001010101010101010101010101010101FD
+:1053A00001010101010101010101010101010101ED
+:1053B00001010101010101010101010101010101DD
+:1053C00001010101010101010101010101010101CD
+:1053D00001010101010101010101010101010101BD
+:1053E00001010101010101010101010101010101AD
+:1053F000010101010101010101010101010101019D
+:10540000010101010101010101010101010101018C
+:10541000010101010101010101010101010101017C
+:10542000010101010101010101010101010101016C
+:10543000010101010101010101010101010101015C
+:10544000010101010101010101010101010101014C
+:10545000010101010101010101010101010101013C
+:10546000010101010101010101010101010101012C
+:10547000010101010101010101010101010101011C
+:10548000010101010101010101010101010101010C
+:1054900001010101010101010101010101010101FC
+:1054A00001010101010101010101010101010101EC
+:1054B00001010101010101010101010101010101DC
+:1054C00001010101010101010101010101010101CC
+:1054D00001010101010101010101010101010101BC
+:1054E00001010101010101010101010101010101AC
+:1054F000010101010101010101010101010101019C
+:10550000010101010101010101010101010101018B
+:10551000010101010101010101010101010101017B
+:10552000010101010101010101010101010101016B
+:10553000010101010101010101010101010101015B
+:10554000010101010101010101010101010101014B
+:10555000010101010101010101010101010101013B
+:10556000010101010101010101010101010101012B
+:10557000010101010101010101010101010101011B
+:10558000010101010101010101010101010101010B
+:1055900001010101010101010101010101010101FB
+:1055A00001010101010101010101010101010101EB
+:1055B00001010101010101010101010101010101DB
+:1055C00001010101010101010101010101010101CB
+:1055D00001010101010101010101010101010101BB
+:1055E00001010101010101010101010101010101AB
+:1055F000010101010101010101010101010101019B
+:10560000010101010101010101010101010101018A
+:10561000010101010101010101010101010101017A
+:10562000010101010101010101010101010101016A
+:10563000010101010101010101010101010101015A
+:10564000010101010101010101010101010101014A
+:10565000010101010101010101010101010101013A
+:10566000010101010101010101010101010101012A
+:10567000010101010101010101010101010101011A
+:10568000010101010101010101010101010101010A
+:1056900001010101010101010101010101010101FA
+:1056A00001010101010101010101010101010101EA
+:1056B00001010101010101010101010101010101DA
+:1056C00001010101010101010101010101010101CA
+:1056D00001010101010101010101010101010101BA
+:1056E00001010101010101010101010101010101AA
+:1056F000010101010101010101010101010101019A
+:105700000101010101010101010101010101010189
+:105710000101010101010101010101010101010179
+:105720000101010101010101010101010101010169
+:105730000101010101010101010101010101010159
+:105740000101010101010101010101010101010149
+:105750000101010101010101010101010101010139
+:105760000101010101010101010101010101010129
+:105770000101010101010101010101010101010119
+:105780000101010101010101010101010101010109
+:1057900001010101010101010101010101010101F9
+:1057A00001010101010101010101010101010101E9
+:1057B00001010101010101010101010101010101D9
+:1057C00001010101010101010101010101010101C9
+:1057D00001010101010101010101010101010101B9
+:1057E00001010101010101010101010101010101A9
+:1057F0000101010101010101010101010101010199
+:105800000101010101010101010101010101010188
+:105810000101010101010101010101010101010178
+:105820000101010101010101010101010101010168
+:105830000101010101010101010101010101010158
+:105840000101010101010101010101010101010148
+:105850000101010101010101010101010101010138
+:105860000101010101010101010101010101010128
+:105870000101010101010101010101010101010118
+:105880000101010101010101010101010101010108
+:1058900001010101010101010101010101010101F8
+:1058A00001010101010101010101010101010101E8
+:1058B00001010101010101010101010101010101D8
+:1058C00001010101010101010101010101010101C8
+:1058D00001010101010101010101010101010101B8
+:1058E00001010101010101010101010101010101A8
+:1058F0000101010101010101010101010101010198
+:105900000101010101010101010101010101010187
+:105910000101010101010101010101010101010177
+:105920000101010101010101010101010101010167
+:105930000101010101010101010101010101010157
+:105940000101010101010101010101010101010147
+:105950000101010101010101010101010101010137
+:105960000101010101010101010101010101010127
+:105970000101010101010101010101010101010117
+:105980000101010101010101010101010101010107
+:1059900001010101010101010101010101010101F7
+:1059A00001010101010101010101010101010101E7
+:1059B00001010101010101010101010101010101D7
+:1059C00001010101010101010101010101010101C7
+:1059D00001010101010101010101010101010101B7
+:1059E00001010101010101010101010101010101A7
+:1059F0000101010101010101010101010101010197
+:105A00000101010101010101010101010101010186
+:105A10000101010101010101010101010101010176
+:105A20000101010101010101010101010101010166
+:105A30000101010101010101010101010101010156
+:105A40000101010101010101010101010101010146
+:105A50000101010101010101010101010101010136
+:105A60000101010101010101010101010101010126
+:105A70000101010101010101010101010101010116
+:105A80000101010101010101010101010101010106
+:105A900001010101010101010101010101010101F6
+:105AA00001010101010101010101010101010101E6
+:105AB00001010101010101010101010101010101D6
+:105AC00001010101010101010101010101010101C6
+:105AD00001010101010101010101010101010101B6
+:105AE00001010101010101010101010101010101A6
+:105AF0000101010101010101010101010101010196
+:105B00000101010101010101010101010101010185
+:105B10000101010101010101010101010101010175
+:105B20000101010101010101010101010101010165
+:105B30000101010101010101010101010101010155
+:105B40000101010101010101010101010101010145
+:105B50000101010101010101010101010101010135
+:105B60000101010101010101010101010101010125
+:105B70000101010101010101010101010101010115
+:105B80000101010101010101010101010101010105
+:105B900001010101010101010101010101010101F5
+:105BA00001010101010101010101010101010101E5
+:105BB00001010101010101010101010101010101D5
+:105BC00001010101010101010101010101010101C5
+:105BD00001010101010101010101010101010101B5
+:105BE00001010101010101010101010101010101A5
+:105BF0000101010101010101010101010101010195
+:105C00000101010101010101010101010101010184
+:105C10000101010101010101010101010101010174
+:105C20000101010101010101010101010101010164
+:105C30000101010101010101010101010101010154
+:105C40000101010101010101010101010101010144
+:105C50000101010101010101010101010101010134
+:105C60000101010101010101010101010101010124
+:105C70000101010101010101010101010101010114
+:105C80000101010101010101010101010101010104
+:105C900001010101010101010101010101010101F4
+:105CA00001010101010101010101010101010101E4
+:105CB00001010101010101010101010101010101D4
+:105CC00001010101010101010101010101010101C4
+:105CD00001010101010101010101010101010101B4
+:105CE00001010101010101010101010101010101A4
+:105CF0000101010101010101010101010101010194
+:105D00000101010101010101010101010101010183
+:105D10000101010101010101010101010101010173
+:105D20000101010101010101010101010101010163
+:105D30000101010101010101010101010101010153
+:105D40000101010101010101010101010101010143
+:105D50000101010101010101010101010101010133
+:105D60000101010101010101010101010101010123
+:105D70000101010101010101010101010101010113
+:105D80000101010101010101010101010101010103
+:105D900001010101010101010101010101010101F3
+:105DA00001010101010101010101010101010101E3
+:105DB00001010101010101010101010101010101D3
+:105DC00001010101010101010101010101010101C3
+:105DD00001010101010101010101010101010101B3
+:105DE00001010101010101010101010101010101A3
+:105DF0000101010101010101010101010101010193
+:105E00000101010101010101010101010101010182
+:105E10000101010101010101010101010101010172
+:105E20000101010101010101010101010101010162
+:105E30000101010101010101010101010101010152
+:105E40000101010101010101010101010101010142
+:105E50000101010101010101010101010101010132
+:105E60000101010101010101010101010101010122
+:105E70000101010101010101010101010101010112
+:105E80000101010101010101010101010101010102
+:105E900001010101010101010101010101010101F2
+:105EA00001010101010101010101010101010101E2
+:105EB00001010101010101010101010101010101D2
+:105EC00001010101010101010101010101010101C2
+:105ED00001010101010101010101010101010101B2
+:105EE00001010101010101010101010101010101A2
+:105EF0000101010101010101010101010101010192
+:105F00000101010101010101010101010101010181
+:105F10000101010101010101010101010101010171
+:105F20000101010101010101010101010101010161
+:105F30000101010101010101010101010101010151
+:105F40000101010101010101010101010101010141
+:105F50000101010101010101010101010101010131
+:105F60000101010101010101010101010101010121
+:105F70000101010101010101010101010101010111
+:105F80000101010101010101010101010101010101
+:105F900001010101010101010101010101010101F1
+:105FA00001010101010101010101010101010101E1
+:105FB00001010101010101010101010101010101D1
+:105FC00001010101010101010101010101010101C1
+:105FD00001010101010101010101010101010101B1
+:105FE00001010101010101010101010101010101A1
+:105FF0000101010101010101010101010101010191
+:106000000101010101010101010101010101010180
+:106010000101010101010101010101010101010170
+:106020000101010101010101010101010101010160
+:106030000101010101010101010101010101010150
+:106040000101010101010101010101010101010140
+:106050000101010101010101010101010101010130
+:106060000101010101010101010101010101010120
+:106070000101010101010101010101010101010110
+:106080000101010101010101010101010101010100
+:1060900001010101010101010101010101010101F0
+:1060A00001010101010101010101010101010101E0
+:1060B00001010101010101010101010101010101D0
+:1060C00001010101010101010101010101010101C0
+:1060D00001010101010101010101010101010101B0
+:1060E00001010101010101010101010101010101A0
+:1060F0000101010101010101010101010101010190
+:10610000010101010101010101010101010101017F
+:10611000010101010101010101010101010101016F
+:10612000010101010101010101010101010101015F
+:10613000010101010101010101010101010101014F
+:10614000010101010101010101010101010101013F
+:10615000010101010101010101010101010101012F
+:10616000010101010101010101010101010101011F
+:10617000010101010101010101010101010101010F
+:1061800001010101010101010101010101010101FF
+:1061900001010101010101010101010101010101EF
+:1061A00001010101010101010101010101010101DF
+:1061B00001010101010101010101010101010101CF
+:1061C00001010101010101010101010101010101BF
+:1061D00001010101010101010101010101010101AF
+:1061E000010101010101010101010101010101019F
+:1061F000010101010101010101010101010101018F
+:10620000010101010101010101010101010101017E
+:10621000010101010101010101010101010101016E
+:10622000010101010101010101010101010101015E
+:10623000010101010101010101010101010101014E
+:10624000010101010101010101010101010101013E
+:10625000010101010101010101010101010101012E
+:10626000010101010101010101010101010101011E
+:10627000010101010101010101010101010101010E
+:1062800001010101010101010101010101010101FE
+:1062900001010101010101010101010101010101EE
+:1062A00001010101010101010101010101010101DE
+:1062B00001010101010101010101010101010101CE
+:1062C00001010101010101010101010101010101BE
+:1062D00001010101010101010101010101010101AE
+:1062E000010101010101010101010101010101019E
+:1062F000010101010101010101010101010101018E
+:10630000010101010101010101010101010101017D
+:10631000010101010101010101010101010101016D
+:10632000010101010101010101010101010101015D
+:10633000010101010101010101010101010101014D
+:10634000010101010101010101010101010101013D
+:10635000010101010101010101010101010101012D
+:10636000010101010101010101010101010101011D
+:10637000010101010101010101010101010101010D
+:1063800001010101010101010101010101010101FD
+:1063900001010101010101010101010101010101ED
+:1063A00001010101010101010101010101010101DD
+:1063B00001010101010101010101010101010101CD
+:1063C00001010101010101010101010101010101BD
+:1063D00001010101010101010101010101010101AD
+:1063E000010101010101010101010101010101019D
+:1063F000010101010101010101010101010101018D
+:10640000010101010101010101010101010101017C
+:10641000010101010101010101010101010101016C
+:10642000010101010101010101010101010101015C
+:10643000010101010101010101010101010101014C
+:10644000010101010101010101010101010101013C
+:10645000010101010101010101010101010101012C
+:10646000010101010101010101010101010101011C
+:10647000010101010101010101010101010101010C
+:1064800001010101010101010101010101010101FC
+:1064900001010101010101010101010101010101EC
+:1064A00001010101010101010101010101010101DC
+:1064B00001010101010101010101010101010101CC
+:1064C00001010101010101010101010101010101BC
+:1064D00001010101010101010101010101010101AC
+:1064E000010101010101010101010101010101019C
+:1064F000010101010101010101010101010101018C
+:10650000010101010101010101010101010101017B
+:10651000010101010101010101010101010101016B
+:10652000010101010101010101010101010101015B
+:10653000010101010101010101010101010101014B
+:10654000010101010101010101010101010101013B
+:10655000010101010101010101010101010101012B
+:10656000010101010101010101010101010101011B
+:10657000010101010101010101010101010101010B
+:1065800001010101010101010101010101010101FB
+:1065900001010101010101010101010101010101EB
+:1065A00001010101010101010101010101010101DB
+:1065B00001010101010101010101010101010101CB
+:1065C00001010101010101010101010101010101BB
+:1065D00001010101010101010101010101010101AB
+:1065E00001010101010101000000000000000000A4
+:1065F000000000000000000000000000000000009B
+:10660000000000000000000000000000000000008A
+:10661000000000000000000000000000000000007A
+:10662000000000000000000000000000000000006A
+:10663000000000000000000000000000000000005A
+:10664000000000000000000000000000000000004A
+:10665000000000000000000000000000000000003A
+:10666000000000000000000000000000000000002A
+:10667000000000000000000000000000000000001A
+:10668000000000000000000000000000000000000A
+:1066900000000000000000000000000000000000FA
+:1066A00000000000000000000000000000000000EA
+:1066B00000000000000000000000000000000000DA
+:1066C00000000000000000000000000000000000CA
+:1066D00000000000000000000000000000000000BA
+:1066E00000000000000000000000000000000000AA
+:1066F000000000000000000000000000000000009A
+:106700000000000000000000000000000000000089
+:106710000000000000000000000000000000000079
+:106720000000000000000000000000000000000069
+:106730000000000000000000000000000000000059
+:106740000000000000000000000000000000000049
+:106750000000000000000000000000000000000039
+:106760000000000000000000000000000000000029
+:106770000000000000000000000000000000000019
+:106780000000000000000000000000000000000009
+:1067900000000000000000000000000000000000F9
+:1067A00000000000000000000000000000000000E9
+:1067B00000000000000000000000000000000000D9
+:1067C00000000000000000000000000000000000C9
+:1067D00000000000000000000000000000000000B9
+:1067E00000000000000000000000000000000000A9
+:1067F0000000000000000000000000000000000099
+:106800000000000000000000000000000000000088
+:106810000000000000000000000000000000000078
+:106820000000000000000000000000000000000068
+:106830000000000000000000000000000000000058
+:106840000000000000000000000000000000000048
+:106850000000000000000000000000000000000038
+:106860000000000000000000000000000000000028
+:106870000000000000000000000000000000000018
+:106880000000000000000000000000000000000008
+:1068900000000000000000000000000000000000F8
+:1068A00000000000000000000000000000000000E8
+:1068B00000000000000000000000000000000000D8
+:1068C00000000000000000000000000000000000C8
+:1068D00000000000000000000000000000000000B8
+:1068E00000000000000000000000000000000000A8
+:1068F0000000000000000000000000000000000098
+:106900000000000000000000000000000000000087
+:106910000000000000000000000000000000000077
+:106920000000000000000000000000000000000067
+:106930000000000000000000000000000000000057
+:106940000000000000000000000000000000000047
+:106950000000000000000000000000000000000037
+:106960000000000000000000000000000000000027
+:106970000000000000000000000000000000000017
+:106980000000000000000000000000000000000007
+:1069900000000000000000000000000000000000F7
+:1069A00000000000000000000000000000000000E7
+:1069B00000000000000000000000000000000000D7
+:1069C00000000000000000000000000000000000C7
+:1069D00000000000000000000000000000000000B7
+:1069E0000000000000000002020202020202020295
+:1069F0000202020202020202020202020202020277
+:106A00000202020202020202020202020202020266
+:106A10000202020202020202020202020202020256
+:106A20000202020202020202020202020202020246
+:106A30000202020202020202020202020202020236
+:106A40000202020202020202020202020202020226
+:106A50000202020202020202020202020202020216
+:106A60000202020202020202020202020202020206
+:106A700002020202020202020202020202020202F6
+:106A800002020202020202020202020202020202E6
+:106A900002020202020202020202020202020202D6
+:106AA00002020202020202020202020202020202C6
+:106AB00002020202020202020202020202020202B6
+:106AC00002020202020202020202020202020202A6
+:106AD0000202020202020202020202020202020296
+:106AE0000202020202020202020202020202020286
+:106AF0000202020202020202020202020202020276
+:106B00000202020202020202020202020202020265
+:106B10000202020202020202020202020202020255
+:106B20000202020202020202020202020202020245
+:106B30000202020202020202020202020202020235
+:106B40000202020202020202020202020202020225
+:106B50000202020202020202020202020202020215
+:106B60000202020202020202020202020202020205
+:106B700002020202020202020202020202020202F5
+:106B800002020202020202020202020202020202E5
+:106B900002020202020202020202020202020202D5
+:106BA00002020202020202020202020202020202C5
+:106BB00002020202020202020202020202020202B5
+:106BC00002020202020202020202020202020202A5
+:106BD0000202020202020202020202020202020295
+:106BE0000202020202020202020202020202020285
+:106BF0000202020202020202020202020202020275
+:106C00000202020202020202020202020202020264
+:106C10000202020202020202020202020202020254
+:106C20000202020202020202020202020202020244
+:106C30000202020202020202020202020202020234
+:106C40000202020202020202020202020202020224
+:106C50000202020202020202020202020202020214
+:106C60000202020202020202020202020202020204
+:106C700002020202020202020202020202020202F4
+:106C800002020202020202020202020202020202E4
+:106C900002020202020202020202020202020202D4
+:106CA00002020202020202020202020202020202C4
+:106CB00002020202020202020202020202020202B4
+:106CC00002020202020202020202020202020202A4
+:106CD0000202020202020202020202020202020294
+:106CE0000202020202020202020202020202020284
+:106CF0000202020202020202020202020202020274
+:106D00000202020202020202020202020202020263
+:106D10000202020202020202020202020202020253
+:106D20000202020202020202020202020202020243
+:106D30000202020202020202020202020202020233
+:106D40000202020202020202020202020202020223
+:106D50000202020202020202020202020202020213
+:106D60000202020202020202020202020202020203
+:106D700002020202020202020202020202020202F3
+:106D800002020202020202020202020202020202E3
+:106D900002020202020202020202020202020202D3
+:106DA00002020202020202020202020202020202C3
+:106DB00002020202020202020202020202020202B3
+:106DC00002020202020202020202020202020202A3
+:106DD0000202020202020202020202020202020293
+:106DE0000202020202020202020202020202020283
+:106DF0000202020202020202020202020202020273
+:106E00000202020202020202020202020202020262
+:106E10000202020202020202020202020202020252
+:106E20000202020202020202020202020202020242
+:106E30000202020202020202020202020202020232
+:106E40000202020202020202020202020202020222
+:106E50000202020202020202020202020202020212
+:106E60000202020202020202020202020202020202
+:106E700002020202020202020202020202020202F2
+:106E800002020202020202020202020202020202E2
+:106E900002020202020202020202020202020202D2
+:106EA00002020202020202020202020202020202C2
+:106EB00002020202020202020202020202020202B2
+:106EC00002020202020202020202020202020202A2
+:106ED0000202020202020202020202020202020292
+:106EE0000202020202020202020202020202020282
+:106EF0000202020202020202020202020202020272
+:106F00000202020202020202020202020202020261
+:106F10000202020202020202020202020202020251
+:106F20000202020202020202020202020202020241
+:106F30000202020202020202020202020202020231
+:106F40000202020202020202020202020202020221
+:106F50000202020202020202020202020202020211
+:106F60000202020202020202020202020202020201
+:106F700002020202020202020202020202020202F1
+:106F800002020202020202020202020202020202E1
+:106F900002020202020202020202020202020202D1
+:106FA00002020202020202020202020202020202C1
+:106FB00002020202020202020202020202020202B1
+:106FC00002020202020202020202020202020202A1
+:106FD0000202020202020202020202020202020291
+:106FE0000202020202020202020202020202020281
+:106FF0000202020202020202020202020202020271
+:107000000202020202020202020202020202020260
+:107010000202020202020202020202020202020250
+:107020000202020202020202020202020202020240
+:107030000202020202020202020202020202020230
+:107040000202020202020202020202020202020220
+:107050000202020202020202020202020202020210
+:107060000202020202020202020202020202020200
+:1070700002020202020202020202020202020202F0
+:1070800002020202020202020202020202020202E0
+:1070900002020202020202020202020202020202D0
+:1070A00002020202020202020202020202020202C0
+:1070B00002020202020202020202020202020202B0
+:1070C00002020202020202020202020202020202A0
+:1070D0000202020202020202020202020202020290
+:1070E0000202020202020202020202020202020280
+:1070F0000202020202020202020202020202020270
+:10710000020202020202020202020202020202025F
+:10711000020202020202020202020202020202024F
+:10712000020202020202020202020202020202023F
+:10713000020202020202020202020202020202022F
+:10714000020202020202020202020202020202021F
+:10715000020202020202020202020202020202020F
+:1071600002020202020202020202020202020202FF
+:1071700002020202020202020202020202020202EF
+:1071800002020202020202020202020202020202DF
+:1071900002020202020202020202020202020202CF
+:1071A00002020202020202020202020202020202BF
+:1071B00002020202020202020202020202020202AF
+:1071C000020202020202020202020202020202029F
+:1071D000020202020202020202020202020202028F
+:1071E000020202020202020202020202020202027F
+:1071F000020202020202020202020202020202026F
+:10720000020202020202020202020202020202025E
+:10721000020202020202020202020202020202024E
+:10722000020202020202020202020202020202023E
+:10723000020202020202020202020202020202022E
+:10724000020202020202020202020202020202021E
+:10725000020202020202020202020202020202020E
+:1072600002020202020202020202020202020202FE
+:1072700002020202020202020202020202020202EE
+:1072800002020202020202020202020202020202DE
+:1072900002020202020202020202020202020202CE
+:1072A00002020202020202020202020202020202BE
+:1072B00002020202020202020202020202020202AE
+:1072C000020202020202020202020202020202029E
+:1072D000020202020202020202020202020202028E
+:1072E000020202020202020202020202020202027E
+:1072F000020202020202020202020202020202026E
+:10730000020202020202020202020202020202025D
+:10731000020202020202020202020202020202024D
+:10732000020202020202020202020202020202023D
+:10733000020202020202020202020202020202022D
+:10734000020202020202020202020202020202021D
+:10735000020202020202020202020202020202020D
+:1073600002020202020202020202020202020202FD
+:1073700002020202020202020202020202020202ED
+:1073800002020202020202020202020202020202DD
+:1073900002020202020202020202020202020202CD
+:1073A00002020202020202020202020202020202BD
+:1073B00002020202020202020202020202020202AD
+:1073C000020202020202020202020202020202029D
+:1073D000020202020202020202020202020202028D
+:1073E000020202020202020202020202020202027D
+:1073F000020202020202020202020202020202026D
+:10740000020202020202020202020202020202025C
+:10741000020202020202020202020202020202024C
+:10742000020202020202020202020202020202023C
+:10743000020202020202020202020202020202022C
+:10744000020202020202020202020202020202021C
+:10745000020202020202020202020202020202020C
+:1074600002020202020202020202020202020202FC
+:1074700002020202020202020202020202020202EC
+:1074800002020202020202020202020202020202DC
+:1074900002020202020202020202020202020202CC
+:1074A00002020202020202020202020202020202BC
+:1074B00002020202020202020202020202020202AC
+:1074C000020202020202020202020202020202029C
+:1074D000020202020202020202020202020202028C
+:1074E000020202020202020202020202020202027C
+:1074F000020202020202020202020202020202026C
+:10750000020202020202020202020202020202025B
+:10751000020202020202020202020202020202024B
+:10752000020202020202020202020202020202023B
+:10753000020202020202020202020202020202022B
+:10754000020202020202020202020202020202021B
+:10755000020202020202020202020202020202020B
+:1075600002020202020202020202020202020202FB
+:1075700002020202020202020202020202020202EB
+:1075800002020202020202020202020202020202DB
+:1075900002020202020202020202020202020202CB
+:1075A00002020202020202020202020202020202BB
+:1075B00002020202020202020202020202020202AB
+:1075C000020202020202020202020202020202029B
+:1075D000020202020202020202020202020202028B
+:1075E000020202020202020202020202020202027B
+:1075F000020202020202020202020202020202026B
+:10760000020202020202020202020202020202025A
+:10761000020202020202020202020202020202024A
+:10762000020202020202020202020202020202023A
+:10763000020202020202020202020202020202022A
+:10764000020202020202020202020202020202021A
+:10765000020202020202020202020202020202020A
+:1076600002020202020202020202020202020202FA
+:1076700002020202020202020202020202020202EA
+:1076800002020202020202020202020202020202DA
+:1076900002020202020202020202020202020202CA
+:1076A00002020202020202020202020202020202BA
+:1076B00002020202020202020202020202020202AA
+:1076C000020202020202020202020202020202029A
+:1076D000020202020202020202020202020202028A
+:1076E000020202020202020202020202020202027A
+:1076F000020202020202020202020202020202026A
+:107700000202020202020202020202020202020259
+:107710000202020202020202020202020202020249
+:107720000202020202020202020202020202020239
+:107730000202020202020202020202020202020229
+:107740000202020202020202020202020202020219
+:107750000202020202020202020202020202020209
+:1077600002020202020202020202020202020202F9
+:1077700002020202020202020202020202020202E9
+:1077800002020202020202020202020202020202D9
+:1077900002020202020202020202020202020202C9
+:1077A00002020202020202020202020202020202B9
+:1077B00002020202020202020202020202020202A9
+:1077C0000202020202020202020202020202020299
+:1077D0000202020202020202020202020202020289
+:1077E0000202020202020202020202020202020279
+:1077F0000202020202020202020202020202020269
+:107800000202020202020202020202020202020258
+:107810000202020202020202020202020202020248
+:107820000202020202020202020202020202020238
+:107830000202020202020202020202020202020228
+:107840000202020202020202020202020202020218
+:107850000202020202020202020202020202020208
+:1078600002020202020202020202020202020202F8
+:1078700002020202020202020202020202020202E8
+:1078800002020202020202020202020202020202D8
+:1078900002020202020202020202020202020202C8
+:1078A00002020202020202020202020202020202B8
+:1078B00002020202020202020202020202020202A8
+:1078C0000202020202020202020202020202020298
+:1078D0000202020202020202020202020202020288
+:1078E0000202020202020202020202020202020278
+:1078F0000202020202020202020202020202020268
+:107900000202020202020202020202020202020257
+:107910000202020202020202020202020202020247
+:107920000202020202020202020202020202020237
+:107930000202020202020202020202020202020227
+:107940000202020202020202020202020202020217
+:107950000202020202020202020202020202020207
+:1079600002020202020202020202020202020202F7
+:1079700002020202020202020202020202020202E7
+:1079800002020202020202020202020202020202D7
+:1079900002020202020202020202020202020202C7
+:1079A00002020202020202020202020202020202B7
+:1079B00002020202020202020202020202020202A7
+:1079C0000202020202020202020202020202020297
+:1079D0000202020202020202020202020202020287
+:1079E0000202020202020202020202020202020277
+:1079F0000202020202020202020202020202020267
+:107A00000202020202020202020202020202020256
+:107A10000202020202020202020202020202020246
+:107A20000202020202020202020202020202020236
+:107A30000202020202020202020202020202020226
+:107A40000202020202020202020202020202020216
+:107A50000202020202020202020202020202020206
+:107A600002020202020202020202020202020202F6
+:107A700002020202020202020202020202020202E6
+:107A800002020202020202020202020202020202D6
+:107A900002020202020202020202020202020202C6
+:107AA00002020202020202020202020202020202B6
+:107AB00002020202020202020202020202020202A6
+:107AC0000202020202020202020202020202020296
+:107AD0000202020202020202020202020202020286
+:107AE0000202020202020202020202020202020276
+:107AF0000202020202020202020202020202020266
+:107B00000202020202020202020202020202020255
+:107B10000202020202020202020202020202020245
+:107B20000202020202020202020202020202020235
+:107B30000202020202020202020202020202020225
+:107B40000202020202020202020202020202020215
+:107B50000202020202020202020202020202020205
+:107B600002020202020202020202020202020202F5
+:107B700002020202020202020202020202020202E5
+:107B800002020202020202020202020202020202D5
+:107B900002020202020202020202020202020202C5
+:107BA00002020202020202020202020202020202B5
+:107BB00002020202020202020202020202020202A5
+:107BC0000202020202020202020202020202020295
+:107BD0000202020202020202020202020202020285
+:107BE0000202020202020202020202020202020275
+:107BF0000202020202020202020202020202020265
+:107C00000202020202020202020202020202020254
+:107C10000202020202020202020202020202020244
+:107C20000202020202020202020202020202020234
+:107C30000202020202020202020202020202020224
+:107C40000202020202020202020202020202020214
+:107C50000202020202020202020202020202020204
+:107C600002020202020202020202020202020202F4
+:107C700002020202020202020202020202020202E4
+:107C800002020202020202020202020202020202D4
+:107C900002020202020202020202020202020202C4
+:107CA00002020202020202020202020202020202B4
+:107CB00002020202020202020202020202020202A4
+:107CC0000202020202020202020202020202020294
+:107CD0000202020202020202020202020202020284
+:107CE0000202020202020202020202020202020274
+:107CF0000202020202020202020202020202020264
+:107D00000202020202020202020202020202020253
+:107D10000202020202020202020202020202020243
+:107D20000202020202020202020202020202020233
+:107D30000202020202020202020202020202020223
+:107D40000202020202020202020202020202020213
+:107D50000202020202020202020202020202020203
+:107D600002020202020202020202020202020202F3
+:107D700002020202020202020202020202020202E3
+:107D800002020202020202020202020202020202D3
+:107D900002020202020202020202020202020202C3
+:107DA00002020202020202020202020202020202B3
+:107DB00002020202020202020202020202020202A3
+:107DC0000202020202020202020202020202020293
+:107DD0000202020202020202020202020202020283
+:107DE0000202020202020202020202020202020273
+:107DF0000202020202020202020202020202020263
+:107E00000202020202020202020202020202020252
+:107E10000202020202020202020202020202020242
+:107E20000202020202020202020202020202020232
+:107E30000202020202020202020202020202020222
+:107E40000202020202020202020202020202020212
+:107E50000202020202020202020202020202020202
+:107E600002020202020202020202020202020202F2
+:107E700002020202020202020202020202020202E2
+:107E800002020202020202020202020202020202D2
+:107E900002020202020202020202020202020202C2
+:107EA00002020202020202020202020202020202B2
+:107EB00002020202020202020202020202020202A2
+:107EC0000202020202020202020202020202020292
+:107ED0000202020202020202020202020202020282
+:107EE0000202020202020202020202020202020272
+:107EF0000202020202020202020202020202020262
+:107F00000202020202020202020202020202020251
+:107F10000202020202020202020202020202020241
+:107F20000202020202020202020202020202020231
+:107F30000202020202020202020202020202020221
+:107F40000202020202020202020202020202020211
+:107F50000202020202020202020202020202020201
+:107F600002020202020202020202020202020202F1
+:107F700002020202020202020202020202020202E1
+:107F800002020202020202020202020202020202D1
+:107F900002020202020202020202020202020202C1
+:107FA00002020202020202020202020202020202B1
+:107FB00002020202020202020202020202020202A1
+:107FC0000202020202020202020202020202020291
+:107FD0000202020202020202020202020202020281
+:107FE0000202020202020200000000000000000083
+:107FF0000000000000000000000000000000000081
+:108000000000000000000000000000000000000070
+:108010000000000000000000000000000000000060
+:108020000000000000000000000000000000000050
+:108030000000000000000000000000000000000040
+:108040000000000000000000000000000000000030
+:108050000000000000000000000000000000000020
+:108060000000000000000000000000000000000010
+:108070000000000000000000000000000000000000
+:1080800000000000000000000000000000000000F0
+:1080900000000000000000000000000000000000E0
+:1080A00000000000000000000000000000000000D0
+:1080B00000000000000000000000000000000000C0
+:1080C00000000000000000000000000000000000B0
+:1080D00000000000000000000000000000000000A0
+:1080E0000000000000000000000000000000000090
+:1080F0000000000000000000000000000000000080
+:10810000000000000000000000000000000000006F
+:10811000000000000000000000000000000000005F
+:10812000000000000000000000000000000000004F
+:10813000000000000000000000000000000000003F
+:10814000000000000000000000000000000000002F
+:10815000000000000000000000000000000000001F
+:10816000000000000000000000000000000000000F
+:1081700000000000000000000000000000000000FF
+:1081800000000000000000000000000000000000EF
+:1081900000000000000000000000000000000000DF
+:1081A00000000000000000000000000000000000CF
+:1081B00000000000000000000000000000000000BF
+:1081C00000000000000000000000000000000000AF
+:1081D000000000000000000000000000000000009F
+:1081E000000000000000000000000000000000008F
+:1081F000000000000000000000000000000000007F
+:10820000000000000000000000000000000000006E
+:10821000000000000000000000000000000000005E
+:10822000000000000000000000000000000000004E
+:10823000000000000000000000000000000000003E
+:10824000000000000000000000000000000000002E
+:10825000000000000000000000000000000000001E
+:10826000000000000000000000000000000000000E
+:1082700000000000000000000000000000000000FE
+:1082800000000000000000000000000000000000EE
+:1082900000000000000000000000000000000000DE
+:1082A00000000000000000000000000000000000CE
+:1082B00000000000000000000000000000000000BE
+:1082C00000000000000000000000000000000000AE
+:1082D000000000000000000000000000000000009E
+:1082E000000000000000000000000000000000008E
+:1082F000000000000000000000000000000000007E
+:10830000000000000000000000000000000000006D
+:10831000000000000000000000000000000000005D
+:10832000000000000000000000000000000000004D
+:10833000000000000000000000000000000000003D
+:10834000000000000000000000000000000000002D
+:10835000000000000000000000000000000000001D
+:10836000000000000000000000000000000000000D
+:1083700000000000000000000000000000000000FD
+:1083800000000000000000000000000000000000ED
+:1083900000000000000000000000000000000000DD
+:1083A00000000000000000000000000000000000CD
+:1083B00000000000000000000000000000000000BD
+:1083C00000000000000000000000000000000000AD
+:1083D000000000000000000000000000000000009D
+:1083E000000000000000000000000000000000008D
+:1083F000000000000000000000000000000000007D
+:10840000000000000000000000000000000000006C
+:10841000000000000000000000000000000000005C
+:10842000000000000000000000000000000000004C
+:10843000000000000000000000000000000000003C
+:10844000000000000000000000000000000000002C
+:10845000000000000000000000000000000000001C
+:10846000000000000000000000000000000000000C
+:1084700000000000000000000000000000000000FC
+:1084800000000000000000000000000000000000EC
+:1084900000000000000000000000000000000000DC
+:1084A00000000000000000000000000000000000CC
+:1084B00000000000000000000000000000000000BC
+:1084C00000000000000000000000000000000000AC
+:1084D000000000000000000000000000000000009C
+:1084E000000000000000000000000000000000008C
+:1084F000000000000000000000000000000000007C
+:10850000000000000000000000000000000000006B
+:10851000000000000000000000000000000000005B
+:10852000000000000000000000000000000000004B
+:10853000000000000000000000000000000000003B
+:10854000000000000000000000000000000000002B
+:10855000000000000000000000000000000000001B
+:10856000000000000000000000000000000000000B
+:1085700000000000000000000000000000000000FB
+:1085800000000000000000000000000000000000EB
+:1085900000000000000000000000000000000000DB
+:1085A00000000000000000000000000000000000CB
+:1085B00000000000000000000000000000000000BB
+:1085C00000000000000000000000000000000000AB
+:1085D000000000000000000000000000000000009B
+:1085E000000000000000006D00000000000000011D
+:1085F000010101010101010101010101010101016B
+:10860000010101010101010101010101010101015A
+:10861000010101010101010101010101010101014A
+:10862000010101010101010101010101010101013A
+:10863000010101010101010101010101010101012A
+:10864000010101010101010101010101010101011A
+:10865000010101010101010101010101010101010A
+:1086600001010101010101010101010101010101FA
+:1086700001010101010101010101010101010101EA
+:1086800001010101010101010101010101010101DA
+:1086900001010101010101010101010101010101CA
+:1086A00001010101010101010101010101010101BA
+:1086B00001010101010101010101010101010101AA
+:1086C000010101010101010101010101010101019A
+:1086D000010101010101010101010101010101018A
+:1086E000010101010101010101010101010101017A
+:1086F000010101010101010101010101010101016A
+:108700000101010101010101010101010101010159
+:108710000101010101010101010101010101010149
+:108720000101010101010101010101010101010139
+:108730000101010101010101010101010101010129
+:108740000101010101010101010101010101010119
+:108750000101010101010101010101010101010109
+:1087600001010101010101010101010101010101F9
+:1087700001010101010101010101010101010101E9
+:1087800001010101010101010101010101010101D9
+:1087900001010101010101010101010101010101C9
+:1087A00001010101010101010101010101010101B9
+:1087B00001010101010101010101010101010101A9
+:1087C0000101010101010101010101010101010199
+:1087D0000101010101010101010101010101010189
+:1087E0000101010101010101010101010101010179
+:1087F0000101010101010101010101010101010169
+:108800000101010101010101010101010101010158
+:108810000101010101010101010101010101010148
+:108820000101010101010101010101010101010138
+:108830000101010101010101010101010101010128
+:108840000101010101010101010101010101010118
+:108850000101010101010101010101010101010108
+:1088600001010101010101010101010101010101F8
+:1088700001010101010101010101010101010101E8
+:1088800001010101010101010101010101010101D8
+:1088900001010101010101010101010101010101C8
+:1088A00001010101010101010101010101010101B8
+:1088B00001010101010101010101010101010101A8
+:1088C0000101010101010101010101010101010198
+:1088D0000101010101010101010101010101010188
+:1088E0000101010101010101010101010101010178
+:1088F0000101010101010101010101010101010168
+:108900000101010101010101010101010101010157
+:108910000101010101010101010101010101010147
+:108920000101010101010101010101010101010137
+:108930000101010101010101010101010101010127
+:108940000101010101010101010101010101010117
+:108950000101010101010101010101010101010107
+:1089600001010101010101010101010101010101F7
+:1089700001010101010101010101010101010101E7
+:1089800001010101010101010101010101010101D7
+:1089900001010101010101010101010101010101C7
+:1089A00001010101010101010101010101010101B7
+:1089B00001010101010101010101010101010101A7
+:1089C0000101010101010101010101010101010197
+:1089D0000101010101010101010101010101010187
+:1089E0000101010101010101010101010101010177
+:1089F0000101010101010101010101010101010167
+:108A00000101010101010101010101010101010156
+:108A10000101010101010101010101010101010146
+:108A20000101010101010101010101010101010136
+:108A30000101010101010101010101010101010126
+:108A40000101010101010101010101010101010116
+:108A50000101010101010101010101010101010106
+:108A600001010101010101010101010101010101F6
+:108A700001010101010101010101010101010101E6
+:108A800001010101010101010101010101010101D6
+:108A900001010101010101010101010101010101C6
+:108AA00001010101010101010101010101010101B6
+:108AB00001010101010101010101010101010101A6
+:108AC0000101010101010101010101010101010196
+:108AD0000101010101010101010101010101010186
+:108AE0000101010101010101010101010101010176
+:108AF0000101010101010101010101010101010166
+:108B00000101010101010101010101010101010155
+:108B10000101010101010101010101010101010145
+:108B20000101010101010101010101010101010135
+:108B30000101010101010101010101010101010125
+:108B40000101010101010101010101010101010115
+:108B50000101010101010101010101010101010105
+:108B600001010101010101010101010101010101F5
+:108B700001010101010101010101010101010101E5
+:108B800001010101010101010101010101010101D5
+:108B900001010101010101010101010101010101C5
+:108BA00001010101010101010101010101010101B5
+:108BB00001010101010101010101010101010101A5
+:108BC0000101010101010101010101010101010195
+:108BD0000101010101010101010101010101010185
+:108BE0000101010101010101010101010101010175
+:108BF0000101010101010101010101010101010165
+:108C00000101010101010101010101010101010154
+:108C10000101010101010101010101010101010144
+:108C20000101010101010101010101010101010134
+:108C30000101010101010101010101010101010124
+:108C40000101010101010101010101010101010114
+:108C50000101010101010101010101010101010104
+:108C600001010101010101010101010101010101F4
+:108C700001010101010101010101010101010101E4
+:108C800001010101010101010101010101010101D4
+:108C900001010101010101010101010101010101C4
+:108CA00001010101010101010101010101010101B4
+:108CB00001010101010101010101010101010101A4
+:108CC0000101010101010101010101010101010194
+:108CD0000101010101010101010101010101010184
+:108CE0000101010101010101010101010101010174
+:108CF0000101010101010101010101010101010164
+:108D00000101010101010101010101010101010153
+:108D10000101010101010101010101010101010143
+:108D20000101010101010101010101010101010133
+:108D30000101010101010101010101010101010123
+:108D40000101010101010101010101010101010113
+:108D50000101010101010101010101010101010103
+:108D600001010101010101010101010101010101F3
+:108D700001010101010101010101010101010101E3
+:108D800001010101010101010101010101010101D3
+:108D900001010101010101010101010101010101C3
+:108DA00001010101010101010101010101010101B3
+:108DB00001010101010101010101010101010101A3
+:108DC0000101010101010101010101010101010193
+:108DD0000101010101010101010101010101010183
+:108DE0000101010101010101010101010101010173
+:108DF0000101010101010101010101010101010163
+:108E00000101010101010101010101010101010152
+:108E10000101010101010101010101010101010142
+:108E20000101010101010101010101010101010132
+:108E30000101010101010101010101010101010122
+:108E40000101010101010101010101010101010112
+:108E50000101010101010101010101010101010102
+:108E600001010101010101010101010101010101F2
+:108E700001010101010101010101010101010101E2
+:108E800001010101010101010101010101010101D2
+:108E900001010101010101010101010101010101C2
+:108EA00001010101010101010101010101010101B2
+:108EB00001010101010101010101010101010101A2
+:108EC0000101010101010101010101010101010192
+:108ED0000101010101010101010101010101010182
+:108EE0000101010101010101010101010101010172
+:108EF0000101010101010101010101010101010162
+:108F00000101010101010101010101010101010151
+:108F10000101010101010101010101010101010141
+:108F20000101010101010101010101010101010131
+:108F30000101010101010101010101010101010121
+:108F40000101010101010101010101010101010111
+:108F50000101010101010101010101010101010101
+:108F600001010101010101010101010101010101F1
+:108F700001010101010101010101010101010101E1
+:108F800001010101010101010101010101010101D1
+:108F900001010101010101010101010101010101C1
+:108FA00001010101010101010101010101010101B1
+:108FB00001010101010101010101010101010101A1
+:108FC0000101010101010101010101010101010191
+:108FD0000101010101010101010101010101010181
+:108FE0000101010101010101010101010101010171
+:108FF0000101010101010101010101010101010161
+:109000000101010101010101010101010101010150
+:109010000101010101010101010101010101010140
+:109020000101010101010101010101010101010130
+:109030000101010101010101010101010101010120
+:109040000101010101010101010101010101010110
+:109050000101010101010101010101010101010100
+:1090600001010101010101010101010101010101F0
+:1090700001010101010101010101010101010101E0
+:1090800001010101010101010101010101010101D0
+:1090900001010101010101010101010101010101C0
+:1090A00001010101010101010101010101010101B0
+:1090B00001010101010101010101010101010101A0
+:1090C0000101010101010101010101010101010190
+:1090D0000101010101010101010101010101010180
+:1090E0000101010101010101010101010101010170
+:1090F0000101010101010101010101010101010160
+:10910000010101010101010101010101010101014F
+:10911000010101010101010101010101010101013F
+:10912000010101010101010101010101010101012F
+:10913000010101010101010101010101010101011F
+:10914000010101010101010101010101010101010F
+:1091500001010101010101010101010101010101FF
+:1091600001010101010101010101010101010101EF
+:1091700001010101010101010101010101010101DF
+:1091800001010101010101010101010101010101CF
+:1091900001010101010101010101010101010101BF
+:1091A00001010101010101010101010101010101AF
+:1091B000010101010101010101010101010101019F
+:1091C000010101010101010101010101010101018F
+:1091D000010101010101010101010101010101017F
+:1091E000010101010101010101010101010101016F
+:1091F000010101010101010101010101010101015F
+:10920000010101010101010101010101010101014E
+:10921000010101010101010101010101010101013E
+:10922000010101010101010101010101010101012E
+:10923000010101010101010101010101010101011E
+:10924000010101010101010101010101010101010E
+:1092500001010101010101010101010101010101FE
+:1092600001010101010101010101010101010101EE
+:1092700001010101010101010101010101010101DE
+:1092800001010101010101010101010101010101CE
+:1092900001010101010101010101010101010101BE
+:1092A00001010101010101010101010101010101AE
+:1092B000010101010101010101010101010101019E
+:1092C000010101010101010101010101010101018E
+:1092D000010101010101010101010101010101017E
+:1092E000010101010101010101010101010101016E
+:1092F000010101010101010101010101010101015E
+:10930000010101010101010101010101010101014D
+:10931000010101010101010101010101010101013D
+:10932000010101010101010101010101010101012D
+:10933000010101010101010101010101010101011D
+:10934000010101010101010101010101010101010D
+:1093500001010101010101010101010101010101FD
+:1093600001010101010101010101010101010101ED
+:1093700001010101010101010101010101010101DD
+:1093800001010101010101010101010101010101CD
+:1093900001010101010101010101010101010101BD
+:1093A00001010101010101010101010101010101AD
+:1093B000010101010101010101010101010101019D
+:1093C000010101010101010101010101010101018D
+:1093D000010101010101010101010101010101017D
+:1093E000010101010101010101010101010101016D
+:1093F000010101010101010101010101010101015D
+:10940000010101010101010101010101010101014C
+:10941000010101010101010101010101010101013C
+:10942000010101010101010101010101010101012C
+:10943000010101010101010101010101010101011C
+:10944000010101010101010101010101010101010C
+:1094500001010101010101010101010101010101FC
+:1094600001010101010101010101010101010101EC
+:1094700001010101010101010101010101010101DC
+:1094800001010101010101010101010101010101CC
+:1094900001010101010101010101010101010101BC
+:1094A00001010101010101010101010101010101AC
+:1094B000010101010101010101010101010101019C
+:1094C000010101010101010101010101010101018C
+:1094D000010101010101010101010101010101017C
+:1094E000010101010101010101010101010101016C
+:1094F000010101010101010101010101010101015C
+:10950000010101010101010101010101010101014B
+:10951000010101010101010101010101010101013B
+:10952000010101010101010101010101010101012B
+:10953000010101010101010101010101010101011B
+:10954000010101010101010101010101010101010B
+:1095500001010101010101010101010101010101FB
+:1095600001010101010101010101010101010101EB
+:1095700001010101010101010101010101010101DB
+:1095800001010101010101010101010101010101CB
+:1095900001010101010101010101010101010101BB
+:1095A00001010101010101010101010101010101AB
+:1095B000010101010101010101010101010101019B
+:1095C000010101010101010101010101010101018B
+:1095D000010101010101010101010101010101017B
+:1095E000010101010101010101010101010101016B
+:1095F000010101010101010101010101010101015B
+:10960000010101010101010101010101010101014A
+:10961000010101010101010101010101010101013A
+:10962000010101010101010101010101010101012A
+:10963000010101010101010101010101010101011A
+:10964000010101010101010101010101010101010A
+:1096500001010101010101010101010101010101FA
+:1096600001010101010101010101010101010101EA
+:1096700001010101010101010101010101010101DA
+:1096800001010101010101010101010101010101CA
+:1096900001010101010101010101010101010101BA
+:1096A00001010101010101010101010101010101AA
+:1096B000010101010101010101010101010101019A
+:1096C000010101010101010101010101010101018A
+:1096D000010101010101010101010101010101017A
+:1096E000010101010101010101010101010101016A
+:1096F000010101010101010101010101010101015A
+:109700000101010101010101010101010101010149
+:109710000101010101010101010101010101010139
+:109720000101010101010101010101010101010129
+:109730000101010101010101010101010101010119
+:109740000101010101010101010101010101010109
+:1097500001010101010101010101010101010101F9
+:1097600001010101010101010101010101010101E9
+:1097700001010101010101010101010101010101D9
+:1097800001010101010101010101010101010101C9
+:1097900001010101010101010101010101010101B9
+:1097A00001010101010101010101010101010101A9
+:1097B0000101010101010101010101010101010199
+:1097C0000101010101010101010101010101010189
+:1097D0000101010101010101010101010101010179
+:1097E0000101010101010101010101010101010169
+:1097F0000101010101010101010101010101010159
+:109800000101010101010101010101010101010148
+:109810000101010101010101010101010101010138
+:109820000101010101010101010101010101010128
+:109830000101010101010101010101010101010118
+:109840000101010101010101010101010101010108
+:1098500001010101010101010101010101010101F8
+:1098600001010101010101010101010101010101E8
+:1098700001010101010101010101010101010101D8
+:1098800001010101010101010101010101010101C8
+:1098900001010101010101010101010101010101B8
+:1098A00001010101010101010101010101010101A8
+:1098B0000101010101010101010101010101010198
+:1098C0000101010101010101010101010101010188
+:1098D0000101010101010101010101010101010178
+:1098E0000101010101010101010101010101010168
+:1098F0000101010101010101010101010101010158
+:109900000101010101010101010101010101010147
+:109910000101010101010101010101010101010137
+:109920000101010101010101010101010101010127
+:109930000101010101010101010101010101010117
+:109940000101010101010101010101010101010107
+:1099500001010101010101010101010101010101F7
+:1099600001010101010101010101010101010101E7
+:1099700001010101010101010101010101010101D7
+:1099800001010101010101010101010101010101C7
+:1099900001010101010101010101010101010101B7
+:1099A00001010101010101010101010101010101A7
+:1099B0000101010101010101010101010101010197
+:1099C0000101010101010101010101010101010187
+:1099D0000101010101010101010101010101010177
+:1099E0000101010101010101010101010101010167
+:1099F0000101010101010101010101010101010157
+:109A00000101010101010101010101010101010146
+:109A10000101010101010101010101010101010136
+:109A20000101010101010101010101010101010126
+:109A30000101010101010101010101010101010116
+:109A40000101010101010101010101010101010106
+:109A500001010101010101010101010101010101F6
+:109A600001010101010101010101010101010101E6
+:109A700001010101010101010101010101010101D6
+:109A800001010101010101010101010101010101C6
+:109A900001010101010101010101010101010101B6
+:109AA00001010101010101010101010101010101A6
+:109AB0000101010101010101010101010101010196
+:109AC0000101010101010101010101010101010186
+:109AD0000101010101010101010101010101010176
+:109AE0000101010101010101010101010101010166
+:109AF0000101010101010101010101010101010156
+:109B00000101010101010101010101010101010145
+:109B10000101010101010101010101010101010135
+:109B20000101010101010101010101010101010125
+:109B30000101010101010101010101010101010115
+:109B40000101010101010101010101010101010105
+:109B500001010101010101010101010101010101F5
+:109B600001010101010101010101010101010101E5
+:109B700001010101010101010101010101010101D5
+:109B800001010101010101010101010101010101C5
+:109B900001010101010101010101010101010101B5
+:109BA00001010101010101010101010101010101A5
+:109BB0000101010101010101010101010101010195
+:109BC0000101010101010101010101010101010185
+:109BD0000101010101010101010101010101010175
+:109BE0000101010101010101010101010101010066
+:109BF0000000000000000000000000000000000065
+:109C00000000000000000000000000000000000054
+:109C10000000000000000000000000000000000044
+:109C20000000000000000000000000000000000034
+:109C30000000000000000000000000000000000024
+:109C40000000000000000000000000000000000014
+:109C50000000000000000000000000000000000004
+:109C600000000000000000000000000000000000F4
+:109C700000000000000000000000000000000000E4
+:109C800000000000000000000000000000000000D4
+:109C900000000000000000000000000000000000C4
+:109CA00000000000000000000000000000000000B4
+:109CB00000000000000000000000000000000000A4
+:109CC0000000000000000000000000000000000094
+:109CD0000000000000000000000000000000000084
+:109CE0000000000000000000000000000000000074
+:109CF0000000000000000000000000000000000064
+:109D00000000000000000000000000000000000053
+:109D10000000000000000000000000000000000043
+:109D20000000000000000000000000000000000033
+:109D30000000000000000000000000000000000023
+:109D40000000000000000000000000000000000013
+:109D50000000000000000000000000000000000003
+:109D600000000000000000000000000000000000F3
+:109D700000000000000000000000000000000000E3
+:109D800000000000000000000000000000000000D3
+:109D900000000000000000000000000000000000C3
+:109DA00000000000000000000000000000000000B3
+:109DB00000000000000000000000000000000000A3
+:109DC0000000000000000000000000000000000093
+:109DD0000000000000000000000000000000000083
+:109DE0000000000000000000000000000000000073
+:109DF0000000000000000000000000000000000063
+:109E00000000000000000000000000000000000052
+:109E10000000000000000000000000000000000042
+:109E20000000000000000000000000000000000032
+:109E30000000000000000000000000000000000022
+:109E40000000000000000000000000000000000012
+:109E50000000000000000000000000000000000002
+:109E600000000000000000000000000000000000F2
+:109E700000000000000000000000000000000000E2
+:109E800000000000000000000000000000000000D2
+:109E900000000000000000000000000000000000C2
+:109EA00000000000000000000000000000000000B2
+:109EB00000000000000000000000000000000000A2
+:109EC0000000000000000000000000000000000092
+:109ED0000000000000000000000000000000000082
+:109EE0000000000000000000000000000000000072
+:109EF0000000000000000000000000000000000062
+:109F00000000000000000000000000000000000051
+:109F10000000000000000000000000000000000041
+:109F20000000000000000000000000000000000031
+:109F30000000000000000000000000000000000021
+:109F40000000000000000000000000000000000011
+:109F50000000000000000000000000000000000001
+:109F600000000000000000000000000000000000F1
+:109F700000000000000000000000000000000000E1
+:109F800000000000000000000000000000000000D1
+:109F900000000000000000000000000000000000C1
+:109FA00000000000000000000000000000000000B1
+:109FB00000000000000000000000000000000000A1
+:109FC0000000000000000000000000000000000091
+:109FD0000000000000000000000000000000000081
+:109FE000000000000000000000000000000000026F
+:109FF0000202020202020202020202020202020241
+:10A000000202020202020202020202020202020230
+:10A010000202020202020202020202020202020220
+:10A020000202020202020202020202020202020210
+:10A030000202020202020202020202020202020200
+:10A0400002020202020202020202020202020202F0
+:10A0500002020202020202020202020202020202E0
+:10A0600002020202020202020202020202020202D0
+:10A0700002020202020202020202020202020202C0
+:10A0800002020202020202020202020202020202B0
+:10A0900002020202020202020202020202020202A0
+:10A0A0000202020202020202020202020202020290
+:10A0B0000202020202020202020202020202020280
+:10A0C0000202020202020202020202020202020270
+:10A0D0000202020202020202020202020202020260
+:10A0E0000202020202020202020202020202020250
+:10A0F0000202020202020202020202020202020240
+:10A10000020202020202020202020202020202022F
+:10A11000020202020202020202020202020202021F
+:10A12000020202020202020202020202020202020F
+:10A1300002020202020202020202020202020202FF
+:10A1400002020202020202020202020202020202EF
+:10A1500002020202020202020202020202020202DF
+:10A1600002020202020202020202020202020202CF
+:10A1700002020202020202020202020202020202BF
+:10A1800002020202020202020202020202020202AF
+:10A19000020202020202020202020202020202029F
+:10A1A000020202020202020202020202020202028F
+:10A1B000020202020202020202020202020202027F
+:10A1C000020202020202020202020202020202026F
+:10A1D000020202020202020202020202020202025F
+:10A1E000020202020202020202020202020202024F
+:10A1F000020202020202020202020202020202023F
+:10A20000020202020202020202020202020202022E
+:10A21000020202020202020202020202020202021E
+:10A22000020202020202020202020202020202020E
+:10A2300002020202020202020202020202020202FE
+:10A2400002020202020202020202020202020202EE
+:10A2500002020202020202020202020202020202DE
+:10A2600002020202020202020202020202020202CE
+:10A2700002020202020202020202020202020202BE
+:10A2800002020202020202020202020202020202AE
+:10A29000020202020202020202020202020202029E
+:10A2A000020202020202020202020202020202028E
+:10A2B000020202020202020202020202020202027E
+:10A2C000020202020202020202020202020202026E
+:10A2D000020202020202020202020202020202025E
+:10A2E000020202020202020202020202020202024E
+:10A2F000020202020202020202020202020202023E
+:10A30000020202020202020202020202020202022D
+:10A31000020202020202020202020202020202021D
+:10A32000020202020202020202020202020202020D
+:10A3300002020202020202020202020202020202FD
+:10A3400002020202020202020202020202020202ED
+:10A3500002020202020202020202020202020202DD
+:10A3600002020202020202020202020202020202CD
+:10A3700002020202020202020202020202020202BD
+:10A3800002020202020202020202020202020202AD
+:10A39000020202020202020202020202020202029D
+:10A3A000020202020202020202020202020202028D
+:10A3B000020202020202020202020202020202027D
+:10A3C000020202020202020202020202020202026D
+:10A3D000020202020202020202020202020202025D
+:10A3E000020202020202020202020202020202024D
+:10A3F000020202020202020202020202020202023D
+:10A40000020202020202020202020202020202022C
+:10A41000020202020202020202020202020202021C
+:10A42000020202020202020202020202020202020C
+:10A4300002020202020202020202020202020202FC
+:10A4400002020202020202020202020202020202EC
+:10A4500002020202020202020202020202020202DC
+:10A4600002020202020202020202020202020202CC
+:10A4700002020202020202020202020202020202BC
+:10A4800002020202020202020202020202020202AC
+:10A49000020202020202020202020202020202029C
+:10A4A000020202020202020202020202020202028C
+:10A4B000020202020202020202020202020202027C
+:10A4C000020202020202020202020202020202026C
+:10A4D000020202020202020202020202020202025C
+:10A4E000020202020202020202020202020202024C
+:10A4F000020202020202020202020202020202023C
+:10A50000020202020202020202020202020202022B
+:10A51000020202020202020202020202020202021B
+:10A52000020202020202020202020202020202020B
+:10A5300002020202020202020202020202020202FB
+:10A5400002020202020202020202020202020202EB
+:10A5500002020202020202020202020202020202DB
+:10A5600002020202020202020202020202020202CB
+:10A5700002020202020202020202020202020202BB
+:10A5800002020202020202020202020202020202AB
+:10A59000020202020202020202020202020202029B
+:10A5A000020202020202020202020202020202028B
+:10A5B000020202020202020202020202020202027B
+:10A5C000020202020202020202020202020202026B
+:10A5D000020202020202020202020202020202025B
+:10A5E000020202020202020202020202020202024B
+:10A5F000020202020202020202020202020202023B
+:10A60000020202020202020202020202020202022A
+:10A61000020202020202020202020202020202021A
+:10A62000020202020202020202020202020202020A
+:10A6300002020202020202020202020202020202FA
+:10A6400002020202020202020202020202020202EA
+:10A6500002020202020202020202020202020202DA
+:10A6600002020202020202020202020202020202CA
+:10A6700002020202020202020202020202020202BA
+:10A6800002020202020202020202020202020202AA
+:10A69000020202020202020202020202020202029A
+:10A6A000020202020202020202020202020202028A
+:10A6B000020202020202020202020202020202027A
+:10A6C000020202020202020202020202020202026A
+:10A6D000020202020202020202020202020202025A
+:10A6E000020202020202020202020202020202024A
+:10A6F000020202020202020202020202020202023A
+:10A700000202020202020202020202020202020229
+:10A710000202020202020202020202020202020219
+:10A720000202020202020202020202020202020209
+:10A7300002020202020202020202020202020202F9
+:10A7400002020202020202020202020202020202E9
+:10A7500002020202020202020202020202020202D9
+:10A7600002020202020202020202020202020202C9
+:10A7700002020202020202020202020202020202B9
+:10A7800002020202020202020202020202020202A9
+:10A790000202020202020202020202020202020299
+:10A7A0000202020202020202020202020202020289
+:10A7B0000202020202020202020202020202020279
+:10A7C0000202020202020202020202020202020269
+:10A7D0000202020202020202020202020202020259
+:10A7E0000202020202020202020202020202020249
+:10A7F0000202020202020202020202020202020239
+:10A800000202020202020202020202020202020228
+:10A810000202020202020202020202020202020218
+:10A820000202020202020202020202020202020208
+:10A8300002020202020202020202020202020202F8
+:10A8400002020202020202020202020202020202E8
+:10A8500002020202020202020202020202020202D8
+:10A8600002020202020202020202020202020202C8
+:10A8700002020202020202020202020202020202B8
+:10A8800002020202020202020202020202020202A8
+:10A890000202020202020202020202020202020298
+:10A8A0000202020202020202020202020202020288
+:10A8B0000202020202020202020202020202020278
+:10A8C0000202020202020202020202020202020268
+:10A8D0000202020202020202020202020202020258
+:10A8E0000202020202020202020202020202020248
+:10A8F0000202020202020202020202020202020238
+:10A900000202020202020202020202020202020227
+:10A910000202020202020202020202020202020217
+:10A920000202020202020202020202020202020207
+:10A9300002020202020202020202020202020202F7
+:10A9400002020202020202020202020202020202E7
+:10A9500002020202020202020202020202020202D7
+:10A9600002020202020202020202020202020202C7
+:10A9700002020202020202020202020202020202B7
+:10A9800002020202020202020202020202020202A7
+:10A990000202020202020202020202020202020297
+:10A9A0000202020202020202020202020202020287
+:10A9B0000202020202020202020202020202020277
+:10A9C0000202020202020202020202020202020267
+:10A9D0000202020202020202020202020202020257
+:10A9E0000202020202020202020202020202020247
+:10A9F0000202020202020202020202020202020237
+:10AA00000202020202020202020202020202020226
+:10AA10000202020202020202020202020202020216
+:10AA20000202020202020202020202020202020206
+:10AA300002020202020202020202020202020202F6
+:10AA400002020202020202020202020202020202E6
+:10AA500002020202020202020202020202020202D6
+:10AA600002020202020202020202020202020202C6
+:10AA700002020202020202020202020202020202B6
+:10AA800002020202020202020202020202020202A6
+:10AA90000202020202020202020202020202020296
+:10AAA0000202020202020202020202020202020286
+:10AAB0000202020202020202020202020202020276
+:10AAC0000202020202020202020202020202020266
+:10AAD0000202020202020202020202020202020256
+:10AAE0000202020202020202020202020202020246
+:10AAF0000202020202020202020202020202020236
+:10AB00000202020202020202020202020202020225
+:10AB10000202020202020202020202020202020215
+:10AB20000202020202020202020202020202020205
+:10AB300002020202020202020202020202020202F5
+:10AB400002020202020202020202020202020202E5
+:10AB500002020202020202020202020202020202D5
+:10AB600002020202020202020202020202020202C5
+:10AB700002020202020202020202020202020202B5
+:10AB800002020202020202020202020202020202A5
+:10AB90000202020202020202020202020202020295
+:10ABA0000202020202020202020202020202020285
+:10ABB0000202020202020202020202020202020275
+:10ABC0000202020202020202020202020202020265
+:10ABD0000202020202020202020202020202020255
+:10ABE0000202020202020202020202020202020245
+:10ABF0000202020202020202020202020202020235
+:10AC00000202020202020202020202020202020224
+:10AC10000202020202020202020202020202020214
+:10AC20000202020202020202020202020202020204
+:10AC300002020202020202020202020202020202F4
+:10AC400002020202020202020202020202020202E4
+:10AC500002020202020202020202020202020202D4
+:10AC600002020202020202020202020202020202C4
+:10AC700002020202020202020202020202020202B4
+:10AC800002020202020202020202020202020202A4
+:10AC90000202020202020202020202020202020294
+:10ACA0000202020202020202020202020202020284
+:10ACB0000202020202020202020202020202020274
+:10ACC0000202020202020202020202020202020264
+:10ACD0000202020202020202020202020202020254
+:10ACE0000202020202020202020202020202020244
+:10ACF0000202020202020202020202020202020234
+:10AD00000202020202020202020202020202020223
+:10AD10000202020202020202020202020202020213
+:10AD20000202020202020202020202020202020203
+:10AD300002020202020202020202020202020202F3
+:10AD400002020202020202020202020202020202E3
+:10AD500002020202020202020202020202020202D3
+:10AD600002020202020202020202020202020202C3
+:10AD700002020202020202020202020202020202B3
+:10AD800002020202020202020202020202020202A3
+:10AD90000202020202020202020202020202020293
+:10ADA0000202020202020202020202020202020283
+:10ADB0000202020202020202020202020202020273
+:10ADC0000202020202020202020202020202020263
+:10ADD0000202020202020202020202020202020253
+:10ADE0000202020202020202020202020202020243
+:10ADF0000202020202020202020202020202020233
+:10AE00000202020202020202020202020202020222
+:10AE10000202020202020202020202020202020212
+:10AE20000202020202020202020202020202020202
+:10AE300002020202020202020202020202020202F2
+:10AE400002020202020202020202020202020202E2
+:10AE500002020202020202020202020202020202D2
+:10AE600002020202020202020202020202020202C2
+:10AE700002020202020202020202020202020202B2
+:10AE800002020202020202020202020202020202A2
+:10AE90000202020202020202020202020202020292
+:10AEA0000202020202020202020202020202020282
+:10AEB0000202020202020202020202020202020272
+:10AEC0000202020202020202020202020202020262
+:10AED0000202020202020202020202020202020252
+:10AEE0000202020202020202020202020202020242
+:10AEF0000202020202020202020202020202020232
+:10AF00000202020202020202020202020202020221
+:10AF10000202020202020202020202020202020211
+:10AF20000202020202020202020202020202020201
+:10AF300002020202020202020202020202020202F1
+:10AF400002020202020202020202020202020202E1
+:10AF500002020202020202020202020202020202D1
+:10AF600002020202020202020202020202020202C1
+:10AF700002020202020202020202020202020202B1
+:10AF800002020202020202020202020202020202A1
+:10AF90000202020202020202020202020202020291
+:10AFA0000202020202020202020202020202020281
+:10AFB0000202020202020202020202020202020271
+:10AFC0000202020202020202020202020202020261
+:10AFD0000202020202020202020202020202020251
+:10AFE0000202020202020202020202020202020241
+:10AFF0000202020202020202020202020202020231
+:10B000000202020202020202020202020202020220
+:10B010000202020202020202020202020202020210
+:10B020000202020202020202020202020202020200
+:10B0300002020202020202020202020202020202F0
+:10B0400002020202020202020202020202020202E0
+:10B0500002020202020202020202020202020202D0
+:10B0600002020202020202020202020202020202C0
+:10B0700002020202020202020202020202020202B0
+:10B0800002020202020202020202020202020202A0
+:10B090000202020202020202020202020202020290
+:10B0A0000202020202020202020202020202020280
+:10B0B0000202020202020202020202020202020270
+:10B0C0000202020202020202020202020202020260
+:10B0D0000202020202020202020202020202020250
+:10B0E0000202020202020202020202020202020240
+:10B0F0000202020202020202020202020202020230
+:10B10000020202020202020202020202020202021F
+:10B11000020202020202020202020202020202020F
+:10B1200002020202020202020202020202020202FF
+:10B1300002020202020202020202020202020202EF
+:10B1400002020202020202020202020202020202DF
+:10B1500002020202020202020202020202020202CF
+:10B1600002020202020202020202020202020202BF
+:10B1700002020202020202020202020202020202AF
+:10B18000020202020202020202020202020202029F
+:10B19000020202020202020202020202020202028F
+:10B1A000020202020202020202020202020202027F
+:10B1B000020202020202020202020202020202026F
+:10B1C000020202020202020202020202020202025F
+:10B1D000020202020202020202020202020202024F
+:10B1E000020202020202020202020202020202023F
+:10B1F000020202020202020202020202020202022F
+:10B20000020202020202020202020202020202021E
+:10B21000020202020202020202020202020202020E
+:10B2200002020202020202020202020202020202FE
+:10B2300002020202020202020202020202020202EE
+:10B2400002020202020202020202020202020202DE
+:10B2500002020202020202020202020202020202CE
+:10B2600002020202020202020202020202020202BE
+:10B2700002020202020202020202020202020202AE
+:10B28000020202020202020202020202020202029E
+:10B29000020202020202020202020202020202028E
+:10B2A000020202020202020202020202020202027E
+:10B2B000020202020202020202020202020202026E
+:10B2C000020202020202020202020202020202025E
+:10B2D000020202020202020202020202020202024E
+:10B2E000020202020202020202020202020202023E
+:10B2F000020202020202020202020202020202022E
+:10B30000020202020202020202020202020202021D
+:10B31000020202020202020202020202020202020D
+:10B3200002020202020202020202020202020202FD
+:10B3300002020202020202020202020202020202ED
+:10B3400002020202020202020202020202020202DD
+:10B3500002020202020202020202020202020202CD
+:10B3600002020202020202020202020202020202BD
+:10B3700002020202020202020202020202020202AD
+:10B38000020202020202020202020202020202029D
+:10B39000020202020202020202020202020202028D
+:10B3A000020202020202020202020202020202027D
+:10B3B000020202020202020202020202020202026D
+:10B3C000020202020202020202020202020202025D
+:10B3D000020202020202020202020202020202024D
+:10B3E000020202020202020202020202020202023D
+:10B3F000020202020202020202020202020202022D
+:10B40000020202020202020202020202020202021C
+:10B41000020202020202020202020202020202020C
+:10B4200002020202020202020202020202020202FC
+:10B4300002020202020202020202020202020202EC
+:10B4400002020202020202020202020202020202DC
+:10B4500002020202020202020202020202020202CC
+:10B4600002020202020202020202020202020202BC
+:10B4700002020202020202020202020202020202AC
+:10B48000020202020202020202020202020202029C
+:10B49000020202020202020202020202020202028C
+:10B4A000020202020202020202020202020202027C
+:10B4B000020202020202020202020202020202026C
+:10B4C000020202020202020202020202020202025C
+:10B4D000020202020202020202020202020202024C
+:10B4E000020202020202020202020202020202023C
+:10B4F000020202020202020202020202020202022C
+:10B50000020202020202020202020202020202021B
+:10B51000020202020202020202020202020202020B
+:10B5200002020202020202020202020202020202FB
+:10B5300002020202020202020202020202020202EB
+:10B5400002020202020202020202020202020202DB
+:10B5500002020202020202020202020202020202CB
+:10B5600002020202020202020202020202020202BB
+:10B5700002020202020202020202020202020202AB
+:10B58000020202020202020202020202020202029B
+:10B59000020202020202020202020202020202028B
+:10B5A000020202020202020202020202020202027B
+:10B5B000020202020202020202020202020202026B
+:10B5C000020202020202020202020202020202025B
+:10B5D000020202020202020202020202020202024B
+:10B5E000020202020202020202020202020202003D
+:10B5F000000000000000000000000000000000004B
+:10B60000000000000000000000000000000000003A
+:10B61000000000000000000000000000000000002A
+:10B62000000000000000000000000000000000001A
+:10B63000000000000000000000000000000000000A
+:10B6400000000000000000000000000000000000FA
+:10B6500000000000000000000000000000000000EA
+:10B6600000000000000000000000000000000000DA
+:10B6700000000000000000000000000000000000CA
+:10B6800000000000000000000000000000000000BA
+:10B6900000000000000000000000000000000000AA
+:10B6A000000000000000000000000000000000009A
+:10B6B000000000000000000000000000000000008A
+:10B6C000000000000000000000000000000000007A
+:10B6D000000000000000000000000000000000006A
+:10B6E000000000000000000000000000000000005A
+:10B6F000000000000000000000000000000000004A
+:10B700000000000000000000000000000000000039
+:10B710000000000000000000000000000000000029
+:10B720000000000000000000000000000000000019
+:10B730000000000000000000000000000000000009
+:10B7400000000000000000000000000000000000F9
+:10B7500000000000000000000000000000000000E9
+:10B7600000000000000000000000000000000000D9
+:10B7700000000000000000000000000000000000C9
+:10B7800000000000000000000000000000000000B9
+:10B7900000000000000000000000000000000000A9
+:10B7A0000000000000000000000000000000000099
+:10B7B0000000000000000000000000000000000089
+:10B7C0000000000000000000000000000000000079
+:10B7D0000000000000000000000000000000000069
+:10B7E0000000000000000000000000000000000059
+:10B7F0000000000000000000000000000000000049
+:10B800000000000000000000000000000000000038
+:10B810000000000000000000000000000000000028
+:10B820000000000000000000000000000000000018
+:10B830000000000000000000000000000000000008
+:10B8400000000000000000000000000000000000F8
+:10B8500000000000000000000000000000000000E8
+:10B8600000000000000000000000000000000000D8
+:10B8700000000000000000000000000000000000C8
+:10B8800000000000000000000000000000000000B8
+:10B8900000000000000000000000000000000000A8
+:10B8A0000000000000000000000000000000000098
+:10B8B0000000000000000000000000000000000088
+:10B8C0000000000000000000000000000000000078
+:10B8D0000000000000000000000000000000000068
+:10B8E0000000000000000000000000000000000058
+:10B8F0000000000000000000000000000000000048
+:10B900000000000000000000000000000000000037
+:10B910000000000000000000000000000000000027
+:10B920000000000000000000000000000000000017
+:10B930000000000000000000000000000000000007
+:10B9400000000000000000000000000000000000F7
+:10B9500000000000000000000000000000000000E7
+:10B9600000000000000000000000000000000000D7
+:10B9700000000000000000000000000000000000C7
+:10B9800000000000000000000000000000000000B7
+:10B9900000000000000000000000000000000000A7
+:10B9A0000000000000000000000000000000000097
+:10B9B0000000000000000000000000000000000087
+:10B9C0000000000000000000000000000000000077
+:10B9D0000000000000000000000000000000000067
+:10B9E0000000000000000000000000000000000057
+:10B9F0000000000000000000000000000000000047
+:10BA00000000000000000000000000000000000036
+:10BA10000000000000000000000000000000000026
+:10BA20000000000000000000000000000000000016
+:10BA30000000000000000000000000000000000006
+:10BA400000000000000000000000000000000000F6
+:10BA500000000000000000000000000000000000E6
+:10BA600000000000000000000000000000000000D6
+:10BA700000000000000000000000000000000000C6
+:10BA800000000000000000000000000000000000B6
+:10BA900000000000000000000000000000000000A6
+:10BAA0000000000000000000000000000000000096
+:10BAB0000000000000000000000000000000000086
+:10BAC0000000000000000000000000000000000076
+:10BAD0000000000000000000000000000000000066
+:10BAE0000000000000000000000000000000000056
+:10BAF0000000000000000000000000000000000046
+:10BB00000000000000000000000000000000000035
+:10BB10000000000000000000000000000000000025
+:10BB20000000000000000000000000000000000015
+:10BB30000000000000000000000000000000000005
+:10BB400000000000000000000000000000000000F5
+:10BB500000000000000000000000000000000000E5
+:10BB600000000000000000000000000000000000D5
+:10BB700000000000000000000000000000000000C5
+:10BB800000000000000000000000000000000000B5
+:10BB900000000000000000000000000000000000A5
+:10BBA0000000000000000000000000000000000095
+:10BBB0000000000000000000000000000000000085
+:10BBC0000000000000000000000000000000000075
+:10BBD0000000000000000000000000000000000065
+:10BBE0000000000000000000000000000000000055
+:10BBF0000000000000000000000000000000000045
+:10BC00000000000000000000000000000000000034
+:10BC10000000000000000000000000000000000024
+:10BC20000000000000000000000000000000000014
+:10BC30000000000000000000000000000000000004
+:10BC400000000000000000000000000000000000F4
+:10BC500000000000000000000000000000000000E4
+:10BC600000000000000000000000000000000000D4
+:10BC700000000000000000000000000000000000C4
+:10BC800000000000000000000000000000000000B4
+:10BC900000000000000000000000000000000000A4
+:10BCA0000000000000000000000000000000000094
+:10BCB0000000000000000000000000000000000084
+:10BCC0000000000000000000000000000000000074
+:10BCD0000000000000000000000000000000000064
+:10BCE0000000000000000000000000000000000054
+:10BCF0000000000000000000000000000000000044
+:10BD00000000000000000000000000000000000033
+:10BD10000000000000000000000000000000000023
+:10BD20000000000000000000000000000000000013
+:10BD30000000000000000000000000000000000003
+:10BD400000000000000000000000000000000000F3
+:10BD500000000000000000000000000000000000E3
+:10BD600000000000000000000000000000000000D3
+:10BD700000000000000000000000000000000000C3
+:10BD800000000000000000000000000000000000B3
+:10BD900000000000000000000000000000000000A3
+:10BDA0000000000000000000000000000000000093
+:10BDB0000000000000000000000000000000000083
+:10BDC0000000000000000000000000000000000073
+:10BDD0000000000000000000000000000000000063
+:10BDE0000000000000000000000000000000000152
+:10BDF0000101010101010101010101010101010133
+:10BE00000101010101010101010101010101010122
+:10BE10000101010101010101010101010101010112
+:10BE20000101010101010101010101010101010102
+:10BE300001010101010101010101010101010101F2
+:10BE400001010101010101010101010101010101E2
+:10BE500001010101010101010101010101010101D2
+:10BE600001010101010101010101010101010101C2
+:10BE700001010101010101010101010101010101B2
+:10BE800001010101010101010101010101010101A2
+:10BE90000101010101010101010101010101010192
+:10BEA0000101010101010101010101010101010182
+:10BEB0000101010101010101010101010101010172
+:10BEC0000101010101010101010101010101010162
+:10BED0000101010101010101010101010101010152
+:10BEE0000101010101010101010101010101010142
+:10BEF0000101010101010101010101010101010132
+:10BF00000101010101010101010101010101010121
+:10BF10000101010101010101010101010101010111
+:10BF20000101010101010101010101010101010101
+:10BF300001010101010101010101010101010101F1
+:10BF400001010101010101010101010101010101E1
+:10BF500001010101010101010101010101010101D1
+:10BF600001010101010101010101010101010101C1
+:10BF700001010101010101010101010101010101B1
+:10BF800001010101010101010101010101010101A1
+:10BF90000101010101010101010101010101010191
+:10BFA0000101010101010101010101010101010181
+:10BFB0000101010101010101010101010101010171
+:10BFC0000101010101010101010101010101010161
+:10BFD0000101010101010101010101010101010151
+:10BFE0000101010101010101010101010101010141
+:10BFF0000101010101010101010101010101010131
+:10C000000101010101010101010101010101010120
+:10C010000101010101010101010101010101010110
+:10C020000101010101010101010101010101010100
+:10C0300001010101010101010101010101010101F0
+:10C0400001010101010101010101010101010101E0
+:10C0500001010101010101010101010101010101D0
+:10C0600001010101010101010101010101010101C0
+:10C0700001010101010101010101010101010101B0
+:10C0800001010101010101010101010101010101A0
+:10C090000101010101010101010101010101010190
+:10C0A0000101010101010101010101010101010180
+:10C0B0000101010101010101010101010101010170
+:10C0C0000101010101010101010101010101010160
+:10C0D0000101010101010101010101010101010150
+:10C0E0000101010101010101010101010101010140
+:10C0F0000101010101010101010101010101010130
+:10C10000010101010101010101010101010101011F
+:10C11000010101010101010101010101010101010F
+:10C1200001010101010101010101010101010101FF
+:10C1300001010101010101010101010101010101EF
+:10C1400001010101010101010101010101010101DF
+:10C1500001010101010101010101010101010101CF
+:10C1600001010101010101010101010101010101BF
+:10C1700001010101010101010101010101010101AF
+:10C18000010101010101010101010101010101019F
+:10C19000010101010101010101010101010101018F
+:10C1A000010101010101010101010101010101017F
+:10C1B000010101010101010101010101010101016F
+:10C1C000010101010101010101010101010101015F
+:10C1D000010101010101010101010101010101014F
+:10C1E000010101010101010101010101010101013F
+:10C1F000010101010101010101010101010101012F
+:10C20000010101010101010101010101010101011E
+:10C21000010101010101010101010101010101010E
+:10C2200001010101010101010101010101010101FE
+:10C2300001010101010101010101010101010101EE
+:10C2400001010101010101010101010101010101DE
+:10C2500001010101010101010101010101010101CE
+:10C2600001010101010101010101010101010101BE
+:10C2700001010101010101010101010101010101AE
+:10C28000010101010101010101010101010101019E
+:10C29000010101010101010101010101010101018E
+:10C2A000010101010101010101010101010101017E
+:10C2B000010101010101010101010101010101016E
+:10C2C000010101010101010101010101010101015E
+:10C2D000010101010101010101010101010101014E
+:10C2E000010101010101010101010101010101013E
+:10C2F000010101010101010101010101010101012E
+:10C30000010101010101010101010101010101011D
+:10C31000010101010101010101010101010101010D
+:10C3200001010101010101010101010101010101FD
+:10C3300001010101010101010101010101010101ED
+:10C3400001010101010101010101010101010101DD
+:10C3500001010101010101010101010101010101CD
+:10C3600001010101010101010101010101010101BD
+:10C3700001010101010101010101010101010101AD
+:10C38000010101010101010101010101010101019D
+:10C39000010101010101010101010101010101018D
+:10C3A000010101010101010101010101010101017D
+:10C3B000010101010101010101010101010101016D
+:10C3C000010101010101010101010101010101015D
+:10C3D000010101010101010101010101010101014D
+:10C3E000010101010101010101010101010101013D
+:10C3F000010101010101010101010101010101012D
+:10C40000010101010101010101010101010101011C
+:10C41000010101010101010101010101010101010C
+:10C4200001010101010101010101010101010101FC
+:10C4300001010101010101010101010101010101EC
+:10C4400001010101010101010101010101010101DC
+:10C4500001010101010101010101010101010101CC
+:10C4600001010101010101010101010101010101BC
+:10C4700001010101010101010101010101010101AC
+:10C48000010101010101010101010101010101019C
+:10C49000010101010101010101010101010101018C
+:10C4A000010101010101010101010101010101017C
+:10C4B000010101010101010101010101010101016C
+:10C4C000010101010101010101010101010101015C
+:10C4D000010101010101010101010101010101014C
+:10C4E000010101010101010101010101010101013C
+:10C4F000010101010101010101010101010101012C
+:10C50000010101010101010101010101010101011B
+:10C51000010101010101010101010101010101010B
+:10C5200001010101010101010101010101010101FB
+:10C5300001010101010101010101010101010101EB
+:10C5400001010101010101010101010101010101DB
+:10C5500001010101010101010101010101010101CB
+:10C5600001010101010101010101010101010101BB
+:10C5700001010101010101010101010101010101AB
+:10C58000010101010101010101010101010101019B
+:10C59000010101010101010101010101010101018B
+:10C5A000010101010101010101010101010101017B
+:10C5B000010101010101010101010101010101016B
+:10C5C000010101010101010101010101010101015B
+:10C5D000010101010101010101010101010101014B
+:10C5E000010101010101010101010101010101013B
+:10C5F000010101010101010101010101010101012B
+:10C60000010101010101010101010101010101011A
+:10C61000010101010101010101010101010101010A
+:10C6200001010101010101010101010101010101FA
+:10C6300001010101010101010101010101010101EA
+:10C6400001010101010101010101010101010101DA
+:10C6500001010101010101010101010101010101CA
+:10C6600001010101010101010101010101010101BA
+:10C6700001010101010101010101010101010101AA
+:10C68000010101010101010101010101010101019A
+:10C69000010101010101010101010101010101018A
+:10C6A000010101010101010101010101010101017A
+:10C6B000010101010101010101010101010101016A
+:10C6C000010101010101010101010101010101015A
+:10C6D000010101010101010101010101010101014A
+:10C6E000010101010101010101010101010101013A
+:10C6F000010101010101010101010101010101012A
+:10C700000101010101010101010101010101010119
+:10C710000101010101010101010101010101010109
+:10C7200001010101010101010101010101010101F9
+:10C7300001010101010101010101010101010101E9
+:10C7400001010101010101010101010101010101D9
+:10C7500001010101010101010101010101010101C9
+:10C7600001010101010101010101010101010101B9
+:10C7700001010101010101010101010101010101A9
+:10C780000101010101010101010101010101010199
+:10C790000101010101010101010101010101010189
+:10C7A0000101010101010101010101010101010179
+:10C7B0000101010101010101010101010101010169
+:10C7C0000101010101010101010101010101010159
+:10C7D0000101010101010101010101010101010149
+:10C7E0000101010101010101010101010101010139
+:10C7F0000101010101010101010101010101010129
+:10C800000101010101010101010101010101010118
+:10C810000101010101010101010101010101010108
+:10C8200001010101010101010101010101010101F8
+:10C8300001010101010101010101010101010101E8
+:10C8400001010101010101010101010101010101D8
+:10C8500001010101010101010101010101010101C8
+:10C8600001010101010101010101010101010101B8
+:10C8700001010101010101010101010101010101A8
+:10C880000101010101010101010101010101010198
+:10C890000101010101010101010101010101010188
+:10C8A0000101010101010101010101010101010178
+:10C8B0000101010101010101010101010101010168
+:10C8C0000101010101010101010101010101010158
+:10C8D0000101010101010101010101010101010148
+:10C8E0000101010101010101010101010101010138
+:10C8F0000101010101010101010101010101010128
+:10C900000101010101010101010101010101010117
+:10C910000101010101010101010101010101010107
+:10C9200001010101010101010101010101010101F7
+:10C9300001010101010101010101010101010101E7
+:10C9400001010101010101010101010101010101D7
+:10C9500001010101010101010101010101010101C7
+:10C9600001010101010101010101010101010101B7
+:10C9700001010101010101010101010101010101A7
+:10C980000101010101010101010101010101010197
+:10C990000101010101010101010101010101010187
+:10C9A0000101010101010101010101010101010177
+:10C9B0000101010101010101010101010101010167
+:10C9C0000101010101010101010101010101010157
+:10C9D0000101010101010101010101010101010147
+:10C9E0000101010101010101010101010101010137
+:10C9F0000101010101010101010101010101010127
+:10CA00000101010101010101010101010101010116
+:10CA10000101010101010101010101010101010106
+:10CA200001010101010101010101010101010101F6
+:10CA300001010101010101010101010101010101E6
+:10CA400001010101010101010101010101010101D6
+:10CA500001010101010101010101010101010101C6
+:10CA600001010101010101010101010101010101B6
+:10CA700001010101010101010101010101010101A6
+:10CA80000101010101010101010101010101010196
+:10CA90000101010101010101010101010101010186
+:10CAA0000101010101010101010101010101010176
+:10CAB0000101010101010101010101010101010166
+:10CAC0000101010101010101010101010101010156
+:10CAD0000101010101010101010101010101010146
+:10CAE0000101010101010101010101010101010136
+:10CAF0000101010101010101010101010101010126
+:10CB00000101010101010101010101010101010115
+:10CB10000101010101010101010101010101010105
+:10CB200001010101010101010101010101010101F5
+:10CB300001010101010101010101010101010101E5
+:10CB400001010101010101010101010101010101D5
+:10CB500001010101010101010101010101010101C5
+:10CB600001010101010101010101010101010101B5
+:10CB700001010101010101010101010101010101A5
+:10CB80000101010101010101010101010101010195
+:10CB90000101010101010101010101010101010185
+:10CBA0000101010101010101010101010101010175
+:10CBB0000101010101010101010101010101010165
+:10CBC0000101010101010101010101010101010155
+:10CBD0000101010101010101010101010101010145
+:10CBE0000101010101010101010101010101010135
+:10CBF0000101010101010101010101010101010125
+:10CC00000101010101010101010101010101010114
+:10CC10000101010101010101010101010101010104
+:10CC200001010101010101010101010101010101F4
+:10CC300001010101010101010101010101010101E4
+:10CC400001010101010101010101010101010101D4
+:10CC500001010101010101010101010101010101C4
+:10CC600001010101010101010101010101010101B4
+:10CC700001010101010101010101010101010101A4
+:10CC80000101010101010101010101010101010194
+:10CC90000101010101010101010101010101010184
+:10CCA0000101010101010101010101010101010174
+:10CCB0000101010101010101010101010101010164
+:10CCC0000101010101010101010101010101010154
+:10CCD0000101010101010101010101010101010144
+:10CCE0000101010101010101010101010101010134
+:10CCF0000101010101010101010101010101010124
+:10CD00000101010101010101010101010101010113
+:10CD10000101010101010101010101010101010103
+:10CD200001010101010101010101010101010101F3
+:10CD300001010101010101010101010101010101E3
+:10CD400001010101010101010101010101010101D3
+:10CD500001010101010101010101010101010101C3
+:10CD600001010101010101010101010101010101B3
+:10CD700001010101010101010101010101010101A3
+:10CD80000101010101010101010101010101010193
+:10CD90000101010101010101010101010101010183
+:10CDA0000101010101010101010101010101010173
+:10CDB0000101010101010101010101010101010163
+:10CDC0000101010101010101010101010101010153
+:10CDD0000101010101010101010101010101010143
+:10CDE0000101010101010101010101010101010133
+:10CDF0000101010101010101010101010101010123
+:10CE00000101010101010101010101010101010112
+:10CE10000101010101010101010101010101010102
+:10CE200001010101010101010101010101010101F2
+:10CE300001010101010101010101010101010101E2
+:10CE400001010101010101010101010101010101D2
+:10CE500001010101010101010101010101010101C2
+:10CE600001010101010101010101010101010101B2
+:10CE700001010101010101010101010101010101A2
+:10CE80000101010101010101010101010101010192
+:10CE90000101010101010101010101010101010182
+:10CEA0000101010101010101010101010101010172
+:10CEB0000101010101010101010101010101010162
+:10CEC0000101010101010101010101010101010152
+:10CED0000101010101010101010101010101010142
+:10CEE0000101010101010101010101010101010132
+:10CEF0000101010101010101010101010101010122
+:10CF00000101010101010101010101010101010111
+:10CF10000101010101010101010101010101010101
+:10CF200001010101010101010101010101010101F1
+:10CF300001010101010101010101010101010101E1
+:10CF400001010101010101010101010101010101D1
+:10CF500001010101010101010101010101010101C1
+:10CF600001010101010101010101010101010101B1
+:10CF700001010101010101010101010101010101A1
+:10CF80000101010101010101010101010101010191
+:10CF90000101010101010101010101010101010181
+:10CFA0000101010101010101010101010101010171
+:10CFB0000101010101010101010101010101010161
+:10CFC0000101010101010101010101010101010151
+:10CFD0000101010101010101010101010101010141
+:10CFE0000101010101010101010101010101010131
+:10CFF0000101010101010101010101010101010121
+:10D000000101010101010101010101010101010110
+:10D010000101010101010101010101010101010100
+:10D0200001010101010101010101010101010101F0
+:10D0300001010101010101010101010101010101E0
+:10D0400001010101010101010101010101010101D0
+:10D0500001010101010101010101010101010101C0
+:10D0600001010101010101010101010101010101B0
+:10D0700001010101010101010101010101010101A0
+:10D080000101010101010101010101010101010190
+:10D090000101010101010101010101010101010180
+:10D0A0000101010101010101010101010101010170
+:10D0B0000101010101010101010101010101010160
+:10D0C0000101010101010101010101010101010150
+:10D0D0000101010101010101010101010101010140
+:10D0E0000101010101010101010101010101010130
+:10D0F0000101010101010101010101010101010120
+:10D10000010101010101010101010101010101010F
+:10D1100001010101010101010101010101010101FF
+:10D1200001010101010101010101010101010101EF
+:10D1300001010101010101010101010101010101DF
+:10D1400001010101010101010101010101010101CF
+:10D1500001010101010101010101010101010101BF
+:10D1600001010101010101010101010101010101AF
+:10D17000010101010101010101010101010101019F
+:10D18000010101010101010101010101010101018F
+:10D19000010101010101010101010101010101017F
+:10D1A000010101010101010101010101010101016F
+:10D1B000010101010101010101010101010101015F
+:10D1C000010101010101010101010101010101014F
+:10D1D000010101010101010101010101010101013F
+:10D1E000010101010101010101010101010101012F
+:10D1F000010101010101010101010101010101011F
+:10D20000010101010101010101010101010101010E
+:10D2100001010101010101010101010101010101FE
+:10D2200001010101010101010101010101010101EE
+:10D2300001010101010101010101010101010101DE
+:10D2400001010101010101010101010101010101CE
+:10D2500001010101010101010101010101010101BE
+:10D2600001010101010101010101010101010101AE
+:10D27000010101010101010101010101010101019E
+:10D28000010101010101010101010101010101018E
+:10D29000010101010101010101010101010101017E
+:10D2A000010101010101010101010101010101016E
+:10D2B000010101010101010101010101010101015E
+:10D2C000010101010101010101010101010101014E
+:10D2D000010101010101010101010101010101013E
+:10D2E000010101010101010101010101010101012E
+:10D2F000010101010101010101010101010101011E
+:10D30000010101010101010101010101010101010D
+:10D3100001010101010101010101010101010101FD
+:10D3200001010101010101010101010101010101ED
+:10D3300001010101010101010101010101010101DD
+:10D3400001010101010101010101010101010101CD
+:10D3500001010101010101010101010101010101BD
+:10D3600001010101010101010101010101010101AD
+:10D37000010101010101010101010101010101019D
+:10D38000010101010101010101010101010101018D
+:10D39000010101010101010101010101010101017D
+:10D3A000010101010101010101010101010101016D
+:10D3B000010101010101010101010101010101015D
+:10D3C000010101010101010101010101010101014D
+:10D3D000010101010101010101010101010101013D
+:10D3E000010101010101010101010101010101002E
+:10D3F000000000000000000000000000000000002D
+:10D40000000000000000000000000000000000001C
+:10D41000000000000000000000000000000000000C
+:10D4200000000000000000000000000000000000FC
+:10D4300000000000000000000000000000000000EC
+:10D4400000000000000000000000000000000000DC
+:10D4500000000000000000000000000000000000CC
+:10D4600000000000000000000000000000000000BC
+:10D4700000000000000000000000000000000000AC
+:10D48000000000000000000000000000000000009C
+:10D49000000000000000000000000000000000008C
+:10D4A000000000000000000000000000000000007C
+:10D4B000000000000000000000000000000000006C
+:10D4C000000000000000000000000000000000005C
+:10D4D000000000000000000000000000000000004C
+:10D4E000000000000000000000000000000000003C
+:10D4F000000000000000000000000000000000002C
+:10D50000000000000000000000000000000000001B
+:10D51000000000000000000000000000000000000B
+:10D5200000000000000000000000000000000000FB
+:10D5300000000000000000000000000000000000EB
+:10D5400000000000000000000000000000000000DB
+:10D5500000000000000000000000000000000000CB
+:10D5600000000000000000000000000000000000BB
+:10D5700000000000000000000000000000000000AB
+:10D58000000000000000000000000000000000009B
+:10D59000000000000000000000000000000000008B
+:10D5A000000000000000000000000000000000007B
+:10D5B000000000000000000000000000000000006B
+:10D5C000000000000000000000000000000000005B
+:10D5D000000000000000000000000000000000004B
+:10D5E000000000000000000000000000000000003B
+:10D5F000000000000000000000000000000000002B
+:10D60000000000000000000000000000000000001A
+:10D61000000000000000000000000000000000000A
+:10D6200000000000000000000000000000000000FA
+:10D6300000000000000000000000000000000000EA
+:10D6400000000000000000000000000000000000DA
+:10D6500000000000000000000000000000000000CA
+:10D6600000000000000000000000000000000000BA
+:10D6700000000000000000000000000000000000AA
+:10D68000000000000000000000000000000000009A
+:10D69000000000000000000000000000000000008A
+:10D6A000000000000000000000000000000000007A
+:10D6B000000000000000000000000000000000006A
+:10D6C000000000000000000000000000000000005A
+:10D6D000000000000000000000000000000000004A
+:10D6E000000000000000000000000000000000003A
+:10D6F000000000000000000000000000000000002A
+:10D700000000000000000000000000000000000019
+:10D710000000000000000000000000000000000009
+:10D7200000000000000000000000000000000000F9
+:10D7300000000000000000000000000000000000E9
+:10D7400000000000000000000000000000000000D9
+:10D7500000000000000000000000000000000000C9
+:10D7600000000000000000000000000000000000B9
+:10D7700000000000000000000000000000000000A9
+:10D780000000000000000000000000000000000099
+:10D790000000000000000000000000000000000089
+:10D7A0000000000000000000000000000000000079
+:10D7B0000000000000000000000000000000000069
+:10D7C0000000000000000000000000000000000059
+:10D7D0000000000000000000000000000000000049
+:10D7E0000000000000000000000000000000000237
+:10D7F0000202020202020202020202020202020209
+:10D8000002020202020202020202020202020202F8
+:10D8100002020202020202020202020202020202E8
+:10D8200002020202020202020202020202020202D8
+:10D8300002020202020202020202020202020202C8
+:10D8400002020202020202020202020202020202B8
+:10D8500002020202020202020202020202020202A8
+:10D860000202020202020202020202020202020298
+:10D870000202020202020202020202020202020288
+:10D880000202020202020202020202020202020278
+:10D890000202020202020202020202020202020268
+:10D8A0000202020202020202020202020202020258
+:10D8B0000202020202020202020202020202020248
+:10D8C0000202020202020202020202020202020238
+:10D8D0000202020202020202020202020202020228
+:10D8E0000202020202020202020202020202020218
+:10D8F0000202020202020202020202020202020208
+:10D9000002020202020202020202020202020202F7
+:10D9100002020202020202020202020202020202E7
+:10D9200002020202020202020202020202020202D7
+:10D9300002020202020202020202020202020202C7
+:10D9400002020202020202020202020202020202B7
+:10D9500002020202020202020202020202020202A7
+:10D960000202020202020202020202020202020297
+:10D970000202020202020202020202020202020287
+:10D980000202020202020202020202020202020277
+:10D990000202020202020202020202020202020267
+:10D9A0000202020202020202020202020202020257
+:10D9B0000202020202020202020202020202020247
+:10D9C0000202020202020202020202020202020237
+:10D9D0000202020202020202020202020202020227
+:10D9E0000202020202020202020202020202020217
+:10D9F0000202020202020202020202020202020207
+:10DA000002020202020202020202020202020202F6
+:10DA100002020202020202020202020202020202E6
+:10DA200002020202020202020202020202020202D6
+:10DA300002020202020202020202020202020202C6
+:10DA400002020202020202020202020202020202B6
+:10DA500002020202020202020202020202020202A6
+:10DA60000202020202020202020202020202020296
+:10DA70000202020202020202020202020202020286
+:10DA80000202020202020202020202020202020276
+:10DA90000202020202020202020202020202020266
+:10DAA0000202020202020202020202020202020256
+:10DAB0000202020202020202020202020202020246
+:10DAC0000202020202020202020202020202020236
+:10DAD0000202020202020202020202020202020226
+:10DAE0000202020202020202020202020202020216
+:10DAF0000202020202020202020202020202020206
+:10DB000002020202020202020202020202020202F5
+:10DB100002020202020202020202020202020202E5
+:10DB200002020202020202020202020202020202D5
+:10DB300002020202020202020202020202020202C5
+:10DB400002020202020202020202020202020202B5
+:10DB500002020202020202020202020202020202A5
+:10DB60000202020202020202020202020202020295
+:10DB70000202020202020202020202020202020285
+:10DB80000202020202020202020202020202020275
+:10DB90000202020202020202020202020202020265
+:10DBA0000202020202020202020202020202020255
+:10DBB0000202020202020202020202020202020245
+:10DBC0000202020202020202020202020202020235
+:10DBD0000202020202020202020202020202020225
+:10DBE0000202020202020202020202020202020215
+:10DBF0000202020202020202020202020202020205
+:10DC000002020202020202020202020202020202F4
+:10DC100002020202020202020202020202020202E4
+:10DC200002020202020202020202020202020202D4
+:10DC300002020202020202020202020202020202C4
+:10DC400002020202020202020202020202020202B4
+:10DC500002020202020202020202020202020202A4
+:10DC60000202020202020202020202020202020294
+:10DC70000202020202020202020202020202020284
+:10DC80000202020202020202020202020202020274
+:10DC90000202020202020202020202020202020264
+:10DCA0000202020202020202020202020202020254
+:10DCB0000202020202020202020202020202020244
+:10DCC0000202020202020202020202020202020234
+:10DCD0000202020202020202020202020202020224
+:10DCE0000202020202020202020202020202020214
+:10DCF0000202020202020202020202020202020204
+:10DD000002020202020202020202020202020202F3
+:10DD100002020202020202020202020202020202E3
+:10DD200002020202020202020202020202020202D3
+:10DD300002020202020202020202020202020202C3
+:10DD400002020202020202020202020202020202B3
+:10DD500002020202020202020202020202020202A3
+:10DD60000202020202020202020202020202020293
+:10DD70000202020202020202020202020202020283
+:10DD80000202020202020202020202020202020273
+:10DD90000202020202020202020202020202020263
+:10DDA0000202020202020202020202020202020253
+:10DDB0000202020202020202020202020202020243
+:10DDC0000202020202020202020202020202020233
+:10DDD0000202020202020202020202020202020223
+:10DDE0000202020202020202020202020202020213
+:10DDF0000202020202020202020202020202020203
+:10DE000002020202020202020202020202020202F2
+:10DE100002020202020202020202020202020202E2
+:10DE200002020202020202020202020202020202D2
+:10DE300002020202020202020202020202020202C2
+:10DE400002020202020202020202020202020202B2
+:10DE500002020202020202020202020202020202A2
+:10DE60000202020202020202020202020202020292
+:10DE70000202020202020202020202020202020282
+:10DE80000202020202020202020202020202020272
+:10DE90000202020202020202020202020202020262
+:10DEA0000202020202020202020202020202020252
+:10DEB0000202020202020202020202020202020242
+:10DEC0000202020202020202020202020202020232
+:10DED0000202020202020202020202020202020222
+:10DEE0000202020202020202020202020202020212
+:10DEF0000202020202020202020202020202020202
+:10DF000002020202020202020202020202020202F1
+:10DF100002020202020202020202020202020202E1
+:10DF200002020202020202020202020202020202D1
+:10DF300002020202020202020202020202020202C1
+:10DF400002020202020202020202020202020202B1
+:10DF500002020202020202020202020202020202A1
+:10DF60000202020202020202020202020202020291
+:10DF70000202020202020202020202020202020281
+:10DF80000202020202020202020202020202020271
+:10DF90000202020202020202020202020202020261
+:10DFA0000202020202020202020202020202020251
+:10DFB0000202020202020202020202020202020241
+:10DFC0000202020202020202020202020202020231
+:10DFD0000202020202020202020202020202020221
+:10DFE0000202020202020202020202020202020211
+:10DFF0000202020202020202020202020202020201
+:10E0000002020202020202020202020202020202F0
+:10E0100002020202020202020202020202020202E0
+:10E0200002020202020202020202020202020202D0
+:10E0300002020202020202020202020202020202C0
+:10E0400002020202020202020202020202020202B0
+:10E0500002020202020202020202020202020202A0
+:10E060000202020202020202020202020202020290
+:10E070000202020202020202020202020202020280
+:10E080000202020202020202020202020202020270
+:10E090000202020202020202020202020202020260
+:10E0A0000202020202020202020202020202020250
+:10E0B0000202020202020202020202020202020240
+:10E0C0000202020202020202020202020202020230
+:10E0D0000202020202020202020202020202020220
+:10E0E0000202020202020202020202020202020210
+:10E0F0000202020202020202020202020202020200
+:10E1000002020202020202020202020202020202EF
+:10E1100002020202020202020202020202020202DF
+:10E1200002020202020202020202020202020202CF
+:10E1300002020202020202020202020202020202BF
+:10E1400002020202020202020202020202020202AF
+:10E15000020202020202020202020202020202029F
+:10E16000020202020202020202020202020202028F
+:10E17000020202020202020202020202020202027F
+:10E18000020202020202020202020202020202026F
+:10E19000020202020202020202020202020202025F
+:10E1A000020202020202020202020202020202024F
+:10E1B000020202020202020202020202020202023F
+:10E1C000020202020202020202020202020202022F
+:10E1D000020202020202020202020202020202021F
+:10E1E000020202020202020202020202020202020F
+:10E1F00002020202020202020202020202020202FF
+:10E2000002020202020202020202020202020202EE
+:10E2100002020202020202020202020202020202DE
+:10E2200002020202020202020202020202020202CE
+:10E2300002020202020202020202020202020202BE
+:10E2400002020202020202020202020202020202AE
+:10E25000020202020202020202020202020202029E
+:10E26000020202020202020202020202020202028E
+:10E27000020202020202020202020202020202027E
+:10E28000020202020202020202020202020202026E
+:10E29000020202020202020202020202020202025E
+:10E2A000020202020202020202020202020202024E
+:10E2B000020202020202020202020202020202023E
+:10E2C000020202020202020202020202020202022E
+:10E2D000020202020202020202020202020202021E
+:10E2E000020202020202020202020202020202020E
+:10E2F00002020202020202020202020202020202FE
+:10E3000002020202020202020202020202020202ED
+:10E3100002020202020202020202020202020202DD
+:10E3200002020202020202020202020202020202CD
+:10E3300002020202020202020202020202020202BD
+:10E3400002020202020202020202020202020202AD
+:10E35000020202020202020202020202020202029D
+:10E36000020202020202020202020202020202028D
+:10E37000020202020202020202020202020202027D
+:10E38000020202020202020202020202020202026D
+:10E39000020202020202020202020202020202025D
+:10E3A000020202020202020202020202020202024D
+:10E3B000020202020202020202020202020202023D
+:10E3C000020202020202020202020202020202022D
+:10E3D000020202020202020202020202020202021D
+:10E3E000020202020202020202020202020202020D
+:10E3F00002020202020202020202020202020202FD
+:10E4000002020202020202020202020202020202EC
+:10E4100002020202020202020202020202020202DC
+:10E4200002020202020202020202020202020202CC
+:10E4300002020202020202020202020202020202BC
+:10E4400002020202020202020202020202020202AC
+:10E45000020202020202020202020202020202029C
+:10E46000020202020202020202020202020202028C
+:10E47000020202020202020202020202020202027C
+:10E48000020202020202020202020202020202026C
+:10E49000020202020202020202020202020202025C
+:10E4A000020202020202020202020202020202024C
+:10E4B000020202020202020202020202020202023C
+:10E4C000020202020202020202020202020202022C
+:10E4D000020202020202020202020202020202021C
+:10E4E000020202020202020202020202020202020C
+:10E4F00002020202020202020202020202020202FC
+:10E5000002020202020202020202020202020202EB
+:10E5100002020202020202020202020202020202DB
+:10E5200002020202020202020202020202020202CB
+:10E5300002020202020202020202020202020202BB
+:10E5400002020202020202020202020202020202AB
+:10E55000020202020202020202020202020202029B
+:10E56000020202020202020202020202020202028B
+:10E57000020202020202020202020202020202027B
+:10E58000020202020202020202020202020202026B
+:10E59000020202020202020202020202020202025B
+:10E5A000020202020202020202020202020202024B
+:10E5B000020202020202020202020202020202023B
+:10E5C000020202020202020202020202020202022B
+:10E5D000020202020202020202020202020202021B
+:10E5E000020202020202020202020202020202020B
+:10E5F00002020202020202020202020202020202FB
+:10E6000002020202020202020202020202020202EA
+:10E6100002020202020202020202020202020202DA
+:10E6200002020202020202020202020202020202CA
+:10E6300002020202020202020202020202020202BA
+:10E6400002020202020202020202020202020202AA
+:10E65000020202020202020202020202020202029A
+:10E66000020202020202020202020202020202028A
+:10E67000020202020202020202020202020202027A
+:10E68000020202020202020202020202020202026A
+:10E69000020202020202020202020202020202025A
+:10E6A000020202020202020202020202020202024A
+:10E6B000020202020202020202020202020202023A
+:10E6C000020202020202020202020202020202022A
+:10E6D000020202020202020202020202020202021A
+:10E6E000020202020202020202020202020202020A
+:10E6F00002020202020202020202020202020202FA
+:10E7000002020202020202020202020202020202E9
+:10E7100002020202020202020202020202020202D9
+:10E7200002020202020202020202020202020202C9
+:10E7300002020202020202020202020202020202B9
+:10E7400002020202020202020202020202020202A9
+:10E750000202020202020202020202020202020299
+:10E760000202020202020202020202020202020289
+:10E770000202020202020202020202020202020279
+:10E780000202020202020202020202020202020269
+:10E790000202020202020202020202020202020259
+:10E7A0000202020202020202020202020202020249
+:10E7B0000202020202020202020202020202020239
+:10E7C0000202020202020202020202020202020229
+:10E7D0000202020202020202020202020202020219
+:10E7E0000202020202020202020202020202020209
+:10E7F00002020202020202020202020202020202F9
+:10E8000002020202020202020202020202020202E8
+:10E8100002020202020202020202020202020202D8
+:10E8200002020202020202020202020202020202C8
+:10E8300002020202020202020202020202020202B8
+:10E8400002020202020202020202020202020202A8
+:10E850000202020202020202020202020202020298
+:10E860000202020202020202020202020202020288
+:10E870000202020202020202020202020202020278
+:10E880000202020202020202020202020202020268
+:10E890000202020202020202020202020202020258
+:10E8A0000202020202020202020202020202020248
+:10E8B0000202020202020202020202020202020238
+:10E8C0000202020202020202020202020202020228
+:10E8D0000202020202020202020202020202020218
+:10E8E0000202020202020202020202020202020208
+:10E8F00002020202020202020202020202020202F8
+:10E9000002020202020202020202020202020202E7
+:10E9100002020202020202020202020202020202D7
+:10E9200002020202020202020202020202020202C7
+:10E9300002020202020202020202020202020202B7
+:10E9400002020202020202020202020202020202A7
+:10E950000202020202020202020202020202020297
+:10E960000202020202020202020202020202020287
+:10E970000202020202020202020202020202020277
+:10E980000202020202020202020202020202020267
+:10E990000202020202020202020202020202020257
+:10E9A0000202020202020202020202020202020247
+:10E9B0000202020202020202020202020202020237
+:10E9C0000202020202020202020202020202020227
+:10E9D0000202020202020202020202020202020217
+:10E9E0000202020202020202020202020202020207
+:10E9F00002020202020202020202020202020202F7
+:10EA000002020202020202020202020202020202E6
+:10EA100002020202020202020202020202020202D6
+:10EA200002020202020202020202020202020202C6
+:10EA300002020202020202020202020202020202B6
+:10EA400002020202020202020202020202020202A6
+:10EA50000202020202020202020202020202020296
+:10EA60000202020202020202020202020202020286
+:10EA70000202020202020202020202020202020276
+:10EA80000202020202020202020202020202020266
+:10EA90000202020202020202020202020202020256
+:10EAA0000202020202020202020202020202020246
+:10EAB0000202020202020202020202020202020236
+:10EAC0000202020202020202020202020202020226
+:10EAD0000202020202020202020202020202020216
+:10EAE0000202020202020202020202020202020206
+:10EAF00002020202020202020202020202020202F6
+:10EB000002020202020202020202020202020202E5
+:10EB100002020202020202020202020202020202D5
+:10EB200002020202020202020202020202020202C5
+:10EB300002020202020202020202020202020202B5
+:10EB400002020202020202020202020202020202A5
+:10EB50000202020202020202020202020202020295
+:10EB60000202020202020202020202020202020285
+:10EB70000202020202020202020202020202020275
+:10EB80000202020202020202020202020202020265
+:10EB90000202020202020202020202020202020255
+:10EBA0000202020202020202020202020202020245
+:10EBB0000202020202020202020202020202020235
+:10EBC0000202020202020202020202020202020225
+:10EBD0000202020202020202020202020202020215
+:10EBE0000202020202020202020202020202020205
+:10EBF00002020202020202020202020202020202F5
+:10EC000002020202020202020202020202020202E4
+:10EC100002020202020202020202020202020202D4
+:10EC200002020202020202020202020202020202C4
+:10EC300002020202020202020202020202020202B4
+:10EC400002020202020202020202020202020202A4
+:10EC50000202020202020202020202020202020294
+:10EC60000202020202020202020202020202020284
+:10EC70000202020202020202020202020202020274
+:10EC80000202020202020202020202020202020264
+:10EC90000202020202020202020202020202020254
+:10ECA0000202020202020202020202020202020244
+:10ECB0000202020202020202020202020202020234
+:10ECC0000202020202020202020202020202020224
+:10ECD0000202020202020202020202020202020214
+:10ECE0000202020202020202020202020202020204
+:10ECF00002020202020202020202020202020202F4
+:10ED000002020202020202020202020202020202E3
+:10ED100002020202020202020202020202020202D3
+:10ED200002020202020202020202020202020202C3
+:10ED300002020202020202020202020202020202B3
+:10ED400002020202020202020202020202020202A3
+:10ED50000202020202020202020202020202020293
+:10ED60000202020202020202020202020202020283
+:10ED70000202020202020202020202020202020273
+:10ED80000202020202020202020202020202020263
+:10ED90000202020202020202020202020202020253
+:10EDA0000202020202020202020202020202020243
+:10EDB0000202020202020202020202020202020233
+:10EDC0000202020202020202020202020202020223
+:10EDD0000202020202020202020202020202020213
+:10EDE0000202020202020202020202020202020005
+:10EDF0000000000000000000000000000000000013
+:10EE00000000000000000000000000000000000002
+:10EE100000000000000000000000000000000000F2
+:10EE200000000000000000000000000000000000E2
+:10EE300000000000000000000000000000000000D2
+:10EE400000000000000000000000000000000000C2
+:10EE500000000000000000000000000000000000B2
+:10EE600000000000000000000000000000000000A2
+:10EE70000000000000000000000000000000000092
+:10EE80000000000000000000000000000000000082
+:10EE90000000000000000000000000000000000072
+:10EEA0000000000000000000000000000000000062
+:10EEB0000000000000000000000000000000000052
+:10EEC0000000000000000000000000000000000042
+:10EED0000000000000000000000000000000000032
+:10EEE0000000000000000000000000000000000022
+:10EEF0000000000000000000000000000000000012
+:10EF00000000000000000000000000000000000001
+:10EF100000000000000000000000000000000000F1
+:10EF200000000000000000000000000000000000E1
+:10EF300000000000000000000000000000000000D1
+:10EF400000000000000000000000000000000000C1
+:10EF500000000000000000000000000000000000B1
+:10EF600000000000000000000000000000000000A1
+:10EF70000000000000000000000000000000000091
+:10EF80000000000000000000000000000000000081
+:10EF90000000000000000000000000000000000071
+:10EFA0000000000000000000000000000000000061
+:10EFB0000000000000000000000000000000000051
+:10EFC0000000000000000000000000000000000041
+:10EFD0000000000000000000000000000000000031
+:10EFE0000000000000000000000000000000000021
+:10EFF0000000000000000000000000000000000011
+:10F000000000000000000000000000000000000000
+:10F0100000000000000000000000000000000000F0
+:10F0200000000000000000000000000000000000E0
+:10F0300000000000000000000000000000000000D0
+:10F0400000000000000000000000000000000000C0
+:10F0500000000000000000000000000000000000B0
+:10F0600000000000000000000000000000000000A0
+:10F070000000000000000000000000000000000090
+:10F080000000000000000000000000000000000080
+:10F090000000000000000000000000000000000070
+:10F0A0000000000000000000000000000000000060
+:10F0B0000000000000000000000000000000000050
+:10F0C0000000000000000000000000000000000040
+:10F0D0000000000000000000000000000000000030
+:10F0E0000000000000000000000000000000000020
+:10F0F0000000000000000000000000000000000010
+:10F1000000000000000000000000000000000000FF
+:10F1100000000000000000000000000000000000EF
+:10F1200000000000000000000000000000000000DF
+:10F1300000000000000000000000000000000000CF
+:10F1400000000000000000000000000000000000BF
+:10F1500000000000000000000000000000000000AF
+:10F16000000000000000000000000000000000009F
+:10F17000000000000000000000000000000000008F
+:10F18000000000000000000000000000000000007F
+:10F19000000000000000000000000000000000006F
+:10F1A000000000000000000000000000000000005F
+:10F1B000000000000000000000000000000000004F
+:10F1C000000000000000000000000000000000003F
+:10F1D000000000000000000000000000000000002F
+:10F1E000000000000000000000000000000000001F
+:10F1F000000000000000000000000000000000000F
+:10F2000000000000000000000000000000000000FE
+:10F2100000000000000000000000000000000000EE
+:10F2200000000000000000000000000000000000DE
+:10F2300000000000000000000000000000000000CE
+:10F2400000000000000000000000000000000000BE
+:10F2500000000000000000000000000000000000AE
+:10F26000000000000000000000000000000000009E
+:10F27000000000000000000000000000000000008E
+:10F28000000000000000000000000000000000007E
+:10F29000000000000000000000000000000000006E
+:10F2A000000000000000000000000000000000005E
+:10F2B000000000000000000000000000000000004E
+:10F2C000000000000000000000000000000000003E
+:10F2D000000000000000000000000000000000002E
+:10F2E0000000000000000000000000000000006BB3
+:10F2F0000000000000000001010101010101010105
+:10F3000001010101010101010101010101010101ED
+:10F3100001010101010101010101010101010101DD
+:10F3200001010101010101010101010101010101CD
+:10F3300001010101010101010101010101010101BD
+:10F3400001010101010101010101010101010101AD
+:10F35000010101010101010101010101010101019D
+:10F36000010101010101010101010101010101018D
+:10F37000010101010101010101010101010101017D
+:10F38000010101010101010101010101010101016D
+:10F39000010101010101010101010101010101015D
+:10F3A000010101010101010101010101010101014D
+:10F3B000010101010101010101010101010101013D
+:10F3C000010101010101010101010101010101012D
+:10F3D000010101010101010101010101010101011D
+:10F3E000010101010101010101010101010101010D
+:10F3F00001010101010101010101010101010101FD
+:10F4000001010101010101010101010101010101EC
+:10F4100001010101010101010101010101010101DC
+:10F4200001010101010101010101010101010101CC
+:10F4300001010101010101010101010101010101BC
+:10F4400001010101010101010101010101010101AC
+:10F45000010101010101010101010101010101019C
+:10F46000010101010101010101010101010101018C
+:10F47000010101010101010101010101010101017C
+:10F48000010101010101010101010101010101016C
+:10F49000010101010101010101010101010101015C
+:10F4A000010101010101010101010101010101014C
+:10F4B000010101010101010101010101010101013C
+:10F4C000010101010101010101010101010101012C
+:10F4D000010101010101010101010101010101011C
+:10F4E000010101010101010101010101010101010C
+:10F4F00001010101010101010101010101010101FC
+:10F5000001010101010101010101010101010101EB
+:10F5100001010101010101010101010101010101DB
+:10F5200001010101010101010101010101010101CB
+:10F5300001010101010101010101010101010101BB
+:10F5400001010101010101010101010101010101AB
+:10F55000010101010101010101010101010101019B
+:10F56000010101010101010101010101010101018B
+:10F57000010101010101010101010101010101017B
+:10F58000010101010101010101010101010101016B
+:10F59000010101010101010101010101010101015B
+:10F5A000010101010101010101010101010101014B
+:10F5B000010101010101010101010101010101013B
+:10F5C000010101010101010101010101010101012B
+:10F5D000010101010101010101010101010101011B
+:10F5E000010101010101010101010101010101010B
+:10F5F00001010101010101010101010101010101FB
+:10F6000001010101010101010101010101010101EA
+:10F6100001010101010101010101010101010101DA
+:10F6200001010101010101010101010101010101CA
+:10F6300001010101010101010101010101010101BA
+:10F6400001010101010101010101010101010101AA
+:10F65000010101010101010101010101010101019A
+:10F66000010101010101010101010101010101018A
+:10F67000010101010101010101010101010101017A
+:10F68000010101010101010101010101010101016A
+:10F69000010101010101010101010101010101015A
+:10F6A000010101010101010101010101010101014A
+:10F6B000010101010101010101010101010101013A
+:10F6C000010101010101010101010101010101012A
+:10F6D000010101010101010101010101010101011A
+:10F6E000010101010101010101010101010101010A
+:10F6F00001010101010101010101010101010101FA
+:10F7000001010101010101010101010101010101E9
+:10F7100001010101010101010101010101010101D9
+:10F7200001010101010101010101010101010101C9
+:10F7300001010101010101010101010101010101B9
+:10F7400001010101010101010101010101010101A9
+:10F750000101010101010101010101010101010199
+:10F760000101010101010101010101010101010189
+:10F770000101010101010101010101010101010179
+:10F780000101010101010101010101010101010169
+:10F790000101010101010101010101010101010159
+:10F7A0000101010101010101010101010101010149
+:10F7B0000101010101010101010101010101010139
+:10F7C0000101010101010101010101010101010129
+:10F7D0000101010101010101010101010101010119
+:10F7E0000101010101010101010101010101010109
+:10F7F00001010101010101010101010101010101F9
+:10F8000001010101010101010101010101010101E8
+:10F8100001010101010101010101010101010101D8
+:10F8200001010101010101010101010101010101C8
+:10F8300001010101010101010101010101010101B8
+:10F8400001010101010101010101010101010101A8
+:10F850000101010101010101010101010101010198
+:10F860000101010101010101010101010101010188
+:10F870000101010101010101010101010101010178
+:10F880000101010101010101010101010101010168
+:10F890000101010101010101010101010101010158
+:10F8A0000101010101010101010101010101010148
+:10F8B0000101010101010101010101010101010138
+:10F8C0000101010101010101010101010101010128
+:10F8D0000101010101010101010101010101010118
+:10F8E0000101010101010101010101010101010108
+:10F8F00001010101010101010101010101010101F8
+:10F9000001010101010101010101010101010101E7
+:10F9100001010101010101010101010101010101D7
+:10F9200001010101010101010101010101010101C7
+:10F9300001010101010101010101010101010101B7
+:10F9400001010101010101010101010101010101A7
+:10F950000101010101010101010101010101010197
+:10F960000101010101010101010101010101010187
+:10F970000101010101010101010101010101010177
+:10F980000101010101010101010101010101010167
+:10F990000101010101010101010101010101010157
+:10F9A0000101010101010101010101010101010147
+:10F9B0000101010101010101010101010101010137
+:10F9C0000101010101010101010101010101010127
+:10F9D0000101010101010101010101010101010117
+:10F9E0000101010101010101010101010101010107
+:10F9F00001010101010101010101010101010101F7
+:10FA000001010101010101010101010101010101E6
+:10FA100001010101010101010101010101010101D6
+:10FA200001010101010101010101010101010101C6
+:10FA300001010101010101010101010101010101B6
+:10FA400001010101010101010101010101010101A6
+:10FA50000101010101010101010101010101010196
+:10FA60000101010101010101010101010101010186
+:10FA70000101010101010101010101010101010176
+:10FA80000101010101010101010101010101010166
+:10FA90000101010101010101010101010101010156
+:10FAA0000101010101010101010101010101010146
+:10FAB0000101010101010101010101010101010136
+:10FAC0000101010101010101010101010101010126
+:10FAD0000101010101010101010101010101010116
+:10FAE0000101010101010101010101010101010106
+:10FAF00001010101010101010101010101010101F6
+:10FB000001010101010101010101010101010101E5
+:10FB100001010101010101010101010101010101D5
+:10FB200001010101010101010101010101010101C5
+:10FB300001010101010101010101010101010101B5
+:10FB400001010101010101010101010101010101A5
+:10FB50000101010101010101010101010101010195
+:10FB60000101010101010101010101010101010185
+:10FB70000101010101010101010101010101010175
+:10FB80000101010101010101010101010101010165
+:10FB90000101010101010101010101010101010155
+:10FBA0000101010101010101010101010101010145
+:10FBB0000101010101010101010101010101010135
+:10FBC0000101010101010101010101010101010125
+:10FBD0000101010101010101010101010101010115
+:10FBE0000101010101010101010101010101010105
+:10FBF00001010101010101010101010101010101F5
+:10FC000001010101010101010101010101010101E4
+:10FC100001010101010101010101010101010101D4
+:10FC200001010101010101010101010101010101C4
+:10FC300001010101010101010101010101010101B4
+:10FC400001010101010101010101010101010101A4
+:10FC50000101010101010101010101010101010194
+:10FC60000101010101010101010101010101010184
+:10FC70000101010101010101010101010101010174
+:10FC80000101010101010101010101010101010164
+:10FC90000101010101010101010101010101010154
+:10FCA0000101010101010101010101010101010144
+:10FCB0000101010101010101010101010101010134
+:10FCC0000101010101010101010101010101010124
+:10FCD0000101010101010101010101010101010114
+:10FCE0000101010101010101010101010101010104
+:10FCF00001010101010101010101010101010101F4
+:10FD000001010101010101010101010101010101E3
+:10FD100001010101010101010101010101010101D3
+:10FD200001010101010101010101010101010101C3
+:10FD300001010101010101010101010101010101B3
+:10FD400001010101010101010101010101010101A3
+:10FD50000101010101010101010101010101010193
+:10FD60000101010101010101010101010101010183
+:10FD70000101010101010101010101010101010173
+:10FD80000101010101010101010101010101010163
+:10FD90000101010101010101010101010101010153
+:10FDA0000101010101010101010101010101010143
+:10FDB0000101010101010101010101010101010133
+:10FDC0000101010101010101010101010101010123
+:10FDD0000101010101010101010101010101010113
+:10FDE0000101010101010101010101010101010103
+:10FDF00001010101010101010101010101010101F3
+:10FE000001010101010101010101010101010101E2
+:10FE100001010101010101010101010101010101D2
+:10FE200001010101010101010101010101010101C2
+:10FE300001010101010101010101010101010101B2
+:10FE400001010101010101010101010101010101A2
+:10FE50000101010101010101010101010101010192
+:10FE60000101010101010101010101010101010182
+:10FE70000101010101010101010101010101010172
+:10FE80000101010101010101010101010101010162
+:10FE90000101010101010101010101010101010152
+:10FEA0000101010101010101010101010101010142
+:10FEB0000101010101010101010101010101010132
+:10FEC0000101010101010101010101010101010122
+:10FED0000101010101010101010101010101010112
+:10FEE0000101010101010101010101010101010102
+:10FEF00001010101010101010101010101010101F2
+:10FF000001010101010101010101010101010101E1
+:10FF100001010101010101010101010101010101D1
+:10FF200001010101010101010101010101010101C1
+:10FF300001010101010101010101010101010101B1
+:10FF400001010101010101010101010101010101A1
+:10FF50000101010101010101010101010101010191
+:10FF60000101010101010101010101010101010181
+:10FF70000101010101010101010101010101010171
+:10FF80000101010101010101010101010101010161
+:10FF90000101010101010101010101010101010151
+:10FFA0000101010101010101010101010101010141
+:10FFB0000101010101010101010101010101010131
+:10FFC0000101010101010101010101010101010121
+:10FFD0000101010101010101010101010101010111
+:10FFE0000101010101010101010101010101010101
+:10FFF00001010101010101010101010101010101F1
+:020000022000DC
+:1000000001010101010101010101010101010101E0
+:1000100001010101010101010101010101010101D0
+:1000200001010101010101010101010101010101C0
+:1000300001010101010101010101010101010101B0
+:1000400001010101010101010101010101010101A0
+:100050000101010101010101010101010101010190
+:100060000101010101010101010101010101010180
+:100070000101010101010101010101010101010170
+:100080000101010101010101010101010101010160
+:100090000101010101010101010101010101010150
+:1000A0000101010101010101010101010101010140
+:1000B0000101010101010101010101010101010130
+:1000C0000101010101010101010101010101010120
+:1000D0000101010101010101010101010101010110
+:1000E0000101010101010101010101010101010100
+:1000F00001010101010101010101010101010101F0
+:1001000001010101010101010101010101010101DF
+:1001100001010101010101010101010101010101CF
+:1001200001010101010101010101010101010101BF
+:1001300001010101010101010101010101010101AF
+:10014000010101010101010101010101010101019F
+:10015000010101010101010101010101010101018F
+:10016000010101010101010101010101010101017F
+:10017000010101010101010101010101010101016F
+:10018000010101010101010101010101010101015F
+:10019000010101010101010101010101010101014F
+:1001A000010101010101010101010101010101013F
+:1001B000010101010101010101010101010101012F
+:1001C000010101010101010101010101010101011F
+:1001D000010101010101010101010101010101010F
+:1001E00001010101010101010101010101010101FF
+:1001F00001010101010101010101010101010101EF
+:1002000001010101010101010101010101010101DE
+:1002100001010101010101010101010101010101CE
+:1002200001010101010101010101010101010101BE
+:1002300001010101010101010101010101010101AE
+:10024000010101010101010101010101010101019E
+:10025000010101010101010101010101010101018E
+:10026000010101010101010101010101010101017E
+:10027000010101010101010101010101010101016E
+:10028000010101010101010101010101010101015E
+:10029000010101010101010101010101010101014E
+:1002A000010101010101010101010101010101013E
+:1002B000010101010101010101010101010101012E
+:1002C000010101010101010101010101010101011E
+:1002D000010101010101010101010101010101010E
+:1002E00001010101010101010101010101010101FE
+:1002F00001010101010101010101010101010101EE
+:1003000001010101010101010101010101010101DD
+:1003100001010101010101010101010101010101CD
+:1003200001010101010101010101010101010101BD
+:1003300001010101010101010101010101010101AD
+:10034000010101010101010101010101010101019D
+:10035000010101010101010101010101010101018D
+:10036000010101010101010101010101010101017D
+:10037000010101010101010101010101010101016D
+:10038000010101010101010101010101010101015D
+:10039000010101010101010101010101010101014D
+:1003A000010101010101010101010101010101013D
+:1003B000010101010101010101010101010101012D
+:1003C000010101010101010101010101010101011D
+:1003D000010101010101010101010101010101010D
+:1003E00001010101010101010101010101010101FD
+:1003F00001010101010101010101010101010101ED
+:1004000001010101010101010101010101010101DC
+:1004100001010101010101010101010101010101CC
+:1004200001010101010101010101010101010101BC
+:1004300001010101010101010101010101010101AC
+:10044000010101010101010101010101010101019C
+:10045000010101010101010101010101010101018C
+:10046000010101010101010101010101010101017C
+:10047000010101010101010101010101010101016C
+:10048000010101010101010101010101010101015C
+:10049000010101010101010101010101010101014C
+:1004A000010101010101010101010101010101013C
+:1004B000010101010101010101010101010101012C
+:1004C000010101010101010101010101010101011C
+:1004D000010101010101010101010101010101010C
+:1004E00001010101010101010101010101010101FC
+:1004F00001010101010101010101010101010101EC
+:1005000001010101010101010101010101010101DB
+:1005100001010101010101010101010101010101CB
+:1005200001010101010101010101010101010101BB
+:1005300001010101010101010101010101010101AB
+:10054000010101010101010101010101010101019B
+:10055000010101010101010101010101010101018B
+:10056000010101010101010101010101010101017B
+:10057000010101010101010101010101010101016B
+:10058000010101010101010101010101010101015B
+:10059000010101010101010101010101010101014B
+:1005A000010101010101010101010101010101013B
+:1005B000010101010101010101010101010101012B
+:1005C000010101010101010101010101010101011B
+:1005D000010101010101010101010101010101010B
+:1005E00001010101010101010101010101010101FB
+:1005F00001010101010101010101010101010101EB
+:1006000001010101010101010101010101010101DA
+:1006100001010101010101010101010101010101CA
+:1006200001010101010101010101010101010101BA
+:1006300001010101010101010101010101010101AA
+:10064000010101010101010101010101010101019A
+:10065000010101010101010101010101010101018A
+:10066000010101010101010101010101010101017A
+:10067000010101010101010101010101010101016A
+:10068000010101010101010101010101010101015A
+:10069000010101010101010101010101010101014A
+:1006A000010101010101010101010101010101013A
+:1006B000010101010101010101010101010101012A
+:1006C000010101010101010101010101010101011A
+:1006D000010101010101010101010101010101010A
+:1006E00001010101010101010101010101010101FA
+:1006F00001010101010101000000000000000000F3
+:1007000000000000000000000000000000000000E9
+:1007100000000000000000000000000000000000D9
+:1007200000000000000000000000000000000000C9
+:1007300000000000000000000000000000000000B9
+:1007400000000000000000000000000000000000A9
+:100750000000000000000000000000000000000099
+:100760000000000000000000000000000000000089
+:100770000000000000000000000000000000000079
+:100780000000000000000000000000000000000069
+:100790000000000000000000000000000000000059
+:1007A0000000000000000000000000000000000049
+:1007B0000000000000000000000000000000000039
+:1007C0000000000000000000000000000000000029
+:1007D0000000000000000000000000000000000019
+:1007E0000000000000000000000000000000000009
+:1007F00000000000000000000000000000000000F9
+:1008000000000000000000000000000000000000E8
+:1008100000000000000000000000000000000000D8
+:1008200000000000000000000000000000000000C8
+:1008300000000000000000000000000000000000B8
+:1008400000000000000000000000000000000000A8
+:100850000000000000000000000000000000000098
+:100860000000000000000000000000000000000088
+:100870000000000000000000000000000000000078
+:100880000000000000000000000000000000000068
+:100890000000000000000000000000000000000058
+:1008A0000000000000000000000000000000000048
+:1008B0000000000000000000000000000000000038
+:1008C0000000000000000000000000000000000028
+:1008D0000000000000000000000000000000000018
+:1008E0000000000000000000000000000000000008
+:1008F00000000000000000000000000000000000F8
+:1009000000000000000000000000000000000000E7
+:1009100000000000000000000000000000000000D7
+:1009200000000000000000000000000000000000C7
+:1009300000000000000000000000000000000000B7
+:1009400000000000000000000000000000000000A7
+:100950000000000000000000000000000000000097
+:100960000000000000000000000000000000000087
+:100970000000000000000000000000000000000077
+:100980000000000000000000000000000000000067
+:100990000000000000000000000000000000000057
+:1009A0000000000000000000000000000000000047
+:1009B0000000000000000000000000000000000037
+:1009C0000000000000000000000000000000000027
+:1009D0000000000000000000000000000000000017
+:1009E0000000000000000000000000000000000007
+:1009F00000000000000000000000000000000000F7
+:100A000000000000000000000000000000000000E6
+:100A100000000000000000000000000000000000D6
+:100A200000000000000000000000000000000000C6
+:100A300000000000000000000000000000000000B6
+:100A400000000000000000000000000000000000A6
+:100A50000000000000000000000000000000000096
+:100A60000000000000000000000000000000000086
+:100A70000000000000000000000000000000000076
+:100A80000000000000000000000000000000000066
+:100A90000000000000000000000000000000000056
+:100AA0000000000000000000000000000000000046
+:100AB0000000000000000000000000000000000036
+:100AC0000000000000000000000000000000000026
+:100AD0000000000000000000000000000000000016
+:100AE0000000000000000000000000000000000006
+:100AF00000000000000000000000000000000000F6
+:100B000000000000000000000000000000000000E5
+:100B100000000000000000000000000000000000D5
+:100B200000000000000000000000000000000000C5
+:100B300000000000000000000000000000000000B5
+:100B400000000000000000000000000000000000A5
+:100B50000000000000000000000000000000000095
+:100B60000000000000000000000000000000000085
+:100B70000000000000000000000000000000000075
+:100B80000000000000000000000000000000000065
+:100B90000000000000000000000000000000000055
+:100BA0000000000000000000000000000000000045
+:100BB0000000000000000000000000000000000035
+:100BC0000000000000000000000000000000000025
+:100BD0000000000000000000000000000000000015
+:100BE0000000000000000000000000000000000005
+:100BF00000000000000000000000000000000000F5
+:100C000000000000000000000000000000000000E4
+:100C100000000000000000000000000000000000D4
+:100C200000000000000000000000000000000000C4
+:100C300000000000000000000000000000000000B4
+:100C400000000000000000000000000000000000A4
+:100C50000000000000000000000000000000000094
+:100C60000000000000000000000000000000000084
+:100C70000000000000000000000000000000000074
+:100C80000000000000000000000000000000000064
+:100C90000000000000000000000000000000000054
+:100CA0000000000000000000000000000000000044
+:100CB0000000000000000000000000000000000034
+:100CC0000000000000000000000000000000000024
+:100CD0000000000000000000000000000000000014
+:100CE0000000000000000000000000000000000004
+:100CF00000000000000000020202020202020202E2
+:100D000002020202020202020202020202020202C3
+:100D100002020202020202020202020202020202B3
+:100D200002020202020202020202020202020202A3
+:100D30000202020202020202020202020202020293
+:100D40000202020202020202020202020202020283
+:100D50000202020202020202020202020202020273
+:100D60000202020202020202020202020202020263
+:100D70000202020202020202020202020202020253
+:100D80000202020202020202020202020202020243
+:100D90000202020202020202020202020202020233
+:100DA0000202020202020202020202020202020223
+:100DB0000202020202020202020202020202020213
+:100DC0000202020202020202020202020202020203
+:100DD00002020202020202020202020202020202F3
+:100DE00002020202020202020202020202020202E3
+:100DF00002020202020202020202020202020202D3
+:100E000002020202020202020202020202020202C2
+:100E100002020202020202020202020202020202B2
+:100E200002020202020202020202020202020202A2
+:100E30000202020202020202020202020202020292
+:100E40000202020202020202020202020202020282
+:100E50000202020202020202020202020202020272
+:100E60000202020202020202020202020202020262
+:100E70000202020202020202020202020202020252
+:100E80000202020202020202020202020202020242
+:100E90000202020202020202020202020202020232
+:100EA0000202020202020202020202020202020222
+:100EB0000202020202020202020202020202020212
+:100EC0000202020202020202020202020202020202
+:100ED00002020202020202020202020202020202F2
+:100EE00002020202020202020202020202020202E2
+:100EF00002020202020202020202020202020202D2
+:100F000002020202020202020202020202020202C1
+:100F100002020202020202020202020202020202B1
+:100F200002020202020202020202020202020202A1
+:100F30000202020202020202020202020202020291
+:100F40000202020202020202020202020202020281
+:100F50000202020202020202020202020202020271
+:100F60000202020202020202020202020202020261
+:100F70000202020202020202020202020202020251
+:100F80000202020202020202020202020202020241
+:100F90000202020202020202020202020202020231
+:100FA0000202020202020202020202020202020221
+:100FB0000202020202020202020202020202020211
+:100FC0000202020202020202020202020202020201
+:100FD00002020202020202020202020202020202F1
+:100FE00002020202020202020202020202020202E1
+:100FF00002020202020202020202020202020202D1
+:1010000002020202020202020202020202020202C0
+:1010100002020202020202020202020202020202B0
+:1010200002020202020202020202020202020202A0
+:101030000202020202020202020202020202020290
+:101040000202020202020202020202020202020280
+:101050000202020202020202020202020202020270
+:101060000202020202020202020202020202020260
+:101070000202020202020202020202020202020250
+:101080000202020202020202020202020202020240
+:101090000202020202020202020202020202020230
+:1010A0000202020202020202020202020202020220
+:1010B0000202020202020202020202020202020210
+:1010C0000202020202020202020202020202020200
+:1010D00002020202020202020202020202020202F0
+:1010E00002020202020202020202020202020202E0
+:1010F00002020202020202020202020202020202D0
+:1011000002020202020202020202020202020202BF
+:1011100002020202020202020202020202020202AF
+:10112000020202020202020202020202020202029F
+:10113000020202020202020202020202020202028F
+:10114000020202020202020202020202020202027F
+:10115000020202020202020202020202020202026F
+:10116000020202020202020202020202020202025F
+:10117000020202020202020202020202020202024F
+:10118000020202020202020202020202020202023F
+:10119000020202020202020202020202020202022F
+:1011A000020202020202020202020202020202021F
+:1011B000020202020202020202020202020202020F
+:1011C00002020202020202020202020202020202FF
+:1011D00002020202020202020202020202020202EF
+:1011E00002020202020202020202020202020202DF
+:1011F00002020202020202020202020202020202CF
+:1012000002020202020202020202020202020202BE
+:1012100002020202020202020202020202020202AE
+:10122000020202020202020202020202020202029E
+:10123000020202020202020202020202020202028E
+:10124000020202020202020202020202020202027E
+:10125000020202020202020202020202020202026E
+:10126000020202020202020202020202020202025E
+:10127000020202020202020202020202020202024E
+:10128000020202020202020202020202020202023E
+:10129000020202020202020202020202020202022E
+:1012A000020202020202020202020202020202021E
+:1012B000020202020202020202020202020202020E
+:1012C00002020202020202020202020202020202FE
+:1012D00002020202020202020202020202020202EE
+:1012E00002020202020202020202020202020202DE
+:1012F00002020202020202020202020202020202CE
+:1013000002020202020202020202020202020202BD
+:1013100002020202020202020202020202020202AD
+:10132000020202020202020202020202020202029D
+:10133000020202020202020202020202020202028D
+:10134000020202020202020202020202020202027D
+:10135000020202020202020202020202020202026D
+:10136000020202020202020202020202020202025D
+:10137000020202020202020202020202020202024D
+:10138000020202020202020202020202020202023D
+:10139000020202020202020202020202020202022D
+:1013A000020202020202020202020202020202021D
+:1013B000020202020202020202020202020202020D
+:1013C00002020202020202020202020202020202FD
+:1013D00002020202020202020202020202020202ED
+:1013E00002020202020202020202020202020202DD
+:1013F00002020202020202020202020202020202CD
+:1014000002020202020202020202020202020202BC
+:1014100002020202020202020202020202020202AC
+:10142000020202020202020202020202020202029C
+:10143000020202020202020202020202020202028C
+:10144000020202020202020202020202020202027C
+:10145000020202020202020202020202020202026C
+:10146000020202020202020202020202020202025C
+:10147000020202020202020202020202020202024C
+:10148000020202020202020202020202020202023C
+:10149000020202020202020202020202020202022C
+:1014A000020202020202020202020202020202021C
+:1014B000020202020202020202020202020202020C
+:1014C00002020202020202020202020202020202FC
+:1014D00002020202020202020202020202020202EC
+:1014E00002020202020202020202020202020202DC
+:1014F00002020202020202020202020202020202CC
+:1015000002020202020202020202020202020202BB
+:1015100002020202020202020202020202020202AB
+:10152000020202020202020202020202020202029B
+:10153000020202020202020202020202020202028B
+:10154000020202020202020202020202020202027B
+:10155000020202020202020202020202020202026B
+:10156000020202020202020202020202020202025B
+:10157000020202020202020202020202020202024B
+:10158000020202020202020202020202020202023B
+:10159000020202020202020202020202020202022B
+:1015A000020202020202020202020202020202021B
+:1015B000020202020202020202020202020202020B
+:1015C00002020202020202020202020202020202FB
+:1015D00002020202020202020202020202020202EB
+:1015E00002020202020202020202020202020202DB
+:1015F00002020202020202020202020202020202CB
+:1016000002020202020202020202020202020202BA
+:1016100002020202020202020202020202020202AA
+:10162000020202020202020202020202020202029A
+:10163000020202020202020202020202020202028A
+:10164000020202020202020202020202020202027A
+:10165000020202020202020202020202020202026A
+:10166000020202020202020202020202020202025A
+:10167000020202020202020202020202020202024A
+:10168000020202020202020202020202020202023A
+:10169000020202020202020202020202020202022A
+:1016A000020202020202020202020202020202021A
+:1016B000020202020202020202020202020202020A
+:1016C00002020202020202020202020202020202FA
+:1016D00002020202020202020202020202020202EA
+:1016E00002020202020202020202020202020202DA
+:1016F00002020202020202020202020202020202CA
+:1017000002020202020202020202020202020202B9
+:1017100002020202020202020202020202020202A9
+:101720000202020202020202020202020202020299
+:101730000202020202020202020202020202020289
+:101740000202020202020202020202020202020279
+:101750000202020202020202020202020202020269
+:101760000202020202020202020202020202020259
+:101770000202020202020202020202020202020249
+:101780000202020202020202020202020202020239
+:101790000202020202020202020202020202020229
+:1017A0000202020202020202020202020202020219
+:1017B0000202020202020202020202020202020209
+:1017C00002020202020202020202020202020202F9
+:1017D00002020202020202020202020202020202E9
+:1017E00002020202020202020202020202020202D9
+:1017F00002020202020202020202020202020202C9
+:1018000002020202020202020202020202020202B8
+:1018100002020202020202020202020202020202A8
+:101820000202020202020202020202020202020298
+:101830000202020202020202020202020202020288
+:101840000202020202020202020202020202020278
+:101850000202020202020202020202020202020268
+:101860000202020202020202020202020202020258
+:101870000202020202020202020202020202020248
+:101880000202020202020202020202020202020238
+:101890000202020202020202020202020202020228
+:1018A0000202020202020202020202020202020218
+:1018B0000202020202020202020202020202020208
+:1018C00002020202020202020202020202020202F8
+:1018D00002020202020202020202020202020202E8
+:1018E00002020202020202020202020202020202D8
+:1018F00002020202020202020202020202020202C8
+:1019000002020202020202020202020202020202B7
+:1019100002020202020202020202020202020202A7
+:101920000202020202020202020202020202020297
+:101930000202020202020202020202020202020287
+:101940000202020202020202020202020202020277
+:101950000202020202020202020202020202020267
+:101960000202020202020202020202020202020257
+:101970000202020202020202020202020202020247
+:101980000202020202020202020202020202020237
+:101990000202020202020202020202020202020227
+:1019A0000202020202020202020202020202020217
+:1019B0000202020202020202020202020202020207
+:1019C00002020202020202020202020202020202F7
+:1019D00002020202020202020202020202020202E7
+:1019E00002020202020202020202020202020202D7
+:1019F00002020202020202020202020202020202C7
+:101A000002020202020202020202020202020202B6
+:101A100002020202020202020202020202020202A6
+:101A20000202020202020202020202020202020296
+:101A30000202020202020202020202020202020286
+:101A40000202020202020202020202020202020276
+:101A50000202020202020202020202020202020266
+:101A60000202020202020202020202020202020256
+:101A70000202020202020202020202020202020246
+:101A80000202020202020202020202020202020236
+:101A90000202020202020202020202020202020226
+:101AA0000202020202020202020202020202020216
+:101AB0000202020202020202020202020202020206
+:101AC00002020202020202020202020202020202F6
+:101AD00002020202020202020202020202020202E6
+:101AE00002020202020202020202020202020202D6
+:101AF00002020202020202020202020202020202C6
+:101B000002020202020202020202020202020202B5
+:101B100002020202020202020202020202020202A5
+:101B20000202020202020202020202020202020295
+:101B30000202020202020202020202020202020285
+:101B40000202020202020202020202020202020275
+:101B50000202020202020202020202020202020265
+:101B60000202020202020202020202020202020255
+:101B70000202020202020202020202020202020245
+:101B80000202020202020202020202020202020235
+:101B90000202020202020202020202020202020225
+:101BA0000202020202020202020202020202020215
+:101BB0000202020202020202020202020202020205
+:101BC00002020202020202020202020202020202F5
+:101BD00002020202020202020202020202020202E5
+:101BE00002020202020202020202020202020202D5
+:101BF00002020202020202020202020202020202C5
+:101C000002020202020202020202020202020202B4
+:101C100002020202020202020202020202020202A4
+:101C20000202020202020202020202020202020294
+:101C30000202020202020202020202020202020284
+:101C40000202020202020202020202020202020274
+:101C50000202020202020202020202020202020264
+:101C60000202020202020202020202020202020254
+:101C70000202020202020202020202020202020244
+:101C80000202020202020202020202020202020234
+:101C90000202020202020202020202020202020224
+:101CA0000202020202020202020202020202020214
+:101CB0000202020202020202020202020202020204
+:101CC00002020202020202020202020202020202F4
+:101CD00002020202020202020202020202020202E4
+:101CE00002020202020202020202020202020202D4
+:101CF00002020202020202020202020202020202C4
+:101D000002020202020202020202020202020202B3
+:101D100002020202020202020202020202020202A3
+:101D20000202020202020202020202020202020293
+:101D30000202020202020202020202020202020283
+:101D40000202020202020202020202020202020273
+:101D50000202020202020202020202020202020263
+:101D60000202020202020202020202020202020253
+:101D70000202020202020202020202020202020243
+:101D80000202020202020202020202020202020233
+:101D90000202020202020202020202020202020223
+:101DA0000202020202020202020202020202020213
+:101DB0000202020202020202020202020202020203
+:101DC00002020202020202020202020202020202F3
+:101DD00002020202020202020202020202020202E3
+:101DE00002020202020202020202020202020202D3
+:101DF00002020202020202020202020202020202C3
+:101E000002020202020202020202020202020202B2
+:101E100002020202020202020202020202020202A2
+:101E20000202020202020202020202020202020292
+:101E30000202020202020202020202020202020282
+:101E40000202020202020202020202020202020272
+:101E50000202020202020202020202020202020262
+:101E60000202020202020202020202020202020252
+:101E70000202020202020202020202020202020242
+:101E80000202020202020202020202020202020232
+:101E90000202020202020202020202020202020222
+:101EA0000202020202020202020202020202020212
+:101EB0000202020202020202020202020202020202
+:101EC00002020202020202020202020202020202F2
+:101ED00002020202020202020202020202020202E2
+:101EE00002020202020202020202020202020202D2
+:101EF00002020202020202020202020202020202C2
+:101F000002020202020202020202020202020202B1
+:101F100002020202020202020202020202020202A1
+:101F20000202020202020202020202020202020291
+:101F30000202020202020202020202020202020281
+:101F40000202020202020202020202020202020271
+:101F50000202020202020202020202020202020261
+:101F60000202020202020202020202020202020251
+:101F70000202020202020202020202020202020241
+:101F80000202020202020202020202020202020231
+:101F90000202020202020202020202020202020221
+:101FA0000202020202020202020202020202020211
+:101FB0000202020202020202020202020202020201
+:101FC00002020202020202020202020202020202F1
+:101FD00002020202020202020202020202020202E1
+:101FE00002020202020202020202020202020202D1
+:101FF00002020202020202020202020202020202C1
+:1020000002020202020202020202020202020202B0
+:1020100002020202020202020202020202020202A0
+:102020000202020202020202020202020202020290
+:102030000202020202020202020202020202020280
+:102040000202020202020202020202020202020270
+:102050000202020202020202020202020202020260
+:102060000202020202020202020202020202020250
+:102070000202020202020202020202020202020240
+:102080000202020202020202020202020202020230
+:102090000202020202020202020202020202020220
+:1020A0000202020202020202020202020202020210
+:1020B0000202020202020202020202020202020200
+:1020C00002020202020202020202020202020202F0
+:1020D00002020202020202020202020202020202E0
+:1020E00002020202020202020202020202020202D0
+:1020F00002020202020202000000000000000000D2
+:1021000000000000000000000000000000000000CF
+:1021100000000000000000000000000000000000BF
+:1021200000000000000000000000000000000000AF
+:10213000000000000000000000000000000000009F
+:10214000000000000000000000000000000000008F
+:10215000000000000000000000000000000000007F
+:10216000000000000000000000000000000000006F
+:10217000000000000000000000000000000000005F
+:10218000000000000000000000000000000000004F
+:10219000000000000000000000000000000000003F
+:1021A000000000000000000000000000000000002F
+:1021B000000000000000000000000000000000001F
+:1021C000000000000000000000000000000000000F
+:1021D00000000000000000000000000000000000FF
+:1021E00000000000000000000000000000000000EF
+:1021F00000000000000000000000000000000000DF
+:1022000000000000000000000000000000000000CE
+:1022100000000000000000000000000000000000BE
+:1022200000000000000000000000000000000000AE
+:10223000000000000000000000000000000000009E
+:10224000000000000000000000000000000000008E
+:10225000000000000000000000000000000000007E
+:10226000000000000000000000000000000000006E
+:10227000000000000000000000000000000000005E
+:10228000000000000000000000000000000000004E
+:10229000000000000000000000000000000000003E
+:1022A000000000000000000000000000000000002E
+:1022B000000000000000000000000000000000001E
+:1022C000000000000000000000000000000000000E
+:1022D00000000000000000000000000000000000FE
+:1022E00000000000000000000000000000000000EE
+:1022F00000000000000000000000000000000000DE
+:1023000000000000000000000000000000000000CD
+:1023100000000000000000000000000000000000BD
+:1023200000000000000000000000000000000000AD
+:10233000000000000000000000000000000000009D
+:10234000000000000000000000000000000000008D
+:10235000000000000000000000000000000000007D
+:10236000000000000000000000000000000000006D
+:10237000000000000000000000000000000000005D
+:10238000000000000000000000000000000000004D
+:10239000000000000000000000000000000000003D
+:1023A000000000000000000000000000000000002D
+:1023B000000000000000000000000000000000001D
+:1023C000000000000000000000000000000000000D
+:1023D00000000000000000000000000000000000FD
+:1023E00000000000000000000000000000000000ED
+:1023F00000000000000000000000000000000000DD
+:1024000000000000000000000000000000000000CC
+:1024100000000000000000000000000000000000BC
+:1024200000000000000000000000000000000000AC
+:10243000000000000000000000000000000000009C
+:10244000000000000000000000000000000000008C
+:10245000000000000000000000000000000000007C
+:10246000000000000000000000000000000000006C
+:10247000000000000000000000000000000000005C
+:10248000000000000000000000000000000000004C
+:10249000000000000000000000000000000000003C
+:1024A000000000000000000000000000000000002C
+:1024B000000000000000000000000000000000001C
+:1024C000000000000000000000000000000000000C
+:1024D00000000000000000000000000000000000FC
+:1024E00000000000000000000000000000000000EC
+:1024F00000000000000000000000000000000000DC
+:1025000000000000000000000000000000000000CB
+:1025100000000000000000000000000000000000BB
+:1025200000000000000000000000000000000000AB
+:10253000000000000000000000000000000000009B
+:10254000000000000000000000000000000000008B
+:10255000000000000000000000000000000000007B
+:10256000000000000000000000000000000000006B
+:10257000000000000000000000000000000000005B
+:10258000000000000000000000000000000000004B
+:10259000000000000000000000000000000000003B
+:1025A000000000000000000000000000000000002B
+:1025B000000000000000000000000000000000001B
+:1025C000000000000000000000000000000000000B
+:1025D00000000000000000000000000000000000FB
+:1025E00000000000000000000000000000000000EB
+:1025F00000000000000000000000000000000000DB
+:1026000000000000000000000000000000000000CA
+:1026100000000000000000000000000000000000BA
+:1026200000000000000000000000000000000000AA
+:10263000000000000000000000000000000000009A
+:10264000000000000000000000000000000000008A
+:10265000000000000000000000000000000000007A
+:10266000000000000000000000000000000000006A
+:10267000000000000000000000000000000000005A
+:10268000000000000000000000000000000000004A
+:10269000000000000000000000000000000000003A
+:1026A000000000000000000000000000000000002A
+:1026B000000000000000000000000000000000001A
+:1026C000000000000000000000000000000000000A
+:1026D00000000000000000000000000000000000FA
+:1026E00000000000000000000000000000000000EA
+:1026F00000000000000000000000000000000000DA
+:1027000000000000000000000000000000000000C9
+:1027100000000000000000000000000000000000B9
+:1027200000000000000000000000000000000000A9
+:102730000000000000000000000000000000000099
+:102740000000000000000000000000000000000089
+:102750000000000000000000000000000000000079
+:102760000000000000000000000000000000000069
+:102770000000000000000000000000000000000059
+:102780000000000000000000000000000000000049
+:102790000000000000000000000000000000000039
+:1027A0000000000000000000000000000000000029
+:1027B0000000000000000000000000000000000019
+:1027C0000000000000000000000000000000000009
+:1027D00000000000000000000000000000000000F9
+:1027E00000000000000000000000000000000000E9
+:1027F00000000000000000000000000000000000D9
+:1028000000000000000000000000000000000000C8
+:1028100000000000000000000000000000000000B8
+:1028200000000000000000000000000000000000A8
+:102830000000000000000000000000000000000098
+:102840000000000000000000000000000000000088
+:102850000000000000000000000000000000000078
+:102860000000000000000000000000000000000068
+:102870000000000000000000000000000000000058
+:102880000000000000000000000000000000000048
+:102890000000000000000000000000000000000038
+:1028A0000000000000000000000000000000000028
+:1028B0000000000000000000000000000000000018
+:1028C0000000000000000000000000000000000008
+:1028D00000000000000000000000000000000000F8
+:1028E00000000000000000000000000000000000E8
+:1028F00000000000000000000000000000000000D8
+:1029000000000000000000000000000000000000C7
+:1029100000000000000000000000000000000000B7
+:1029200000000000000000000000000000000000A7
+:102930000000000000000000000000000000000097
+:102940000000000000000000000000000000000087
+:102950000000000000000000000000000000000077
+:102960000000000000000000000000000000000067
+:102970000000000000000000000000000000000057
+:102980000000000000000000000000000000000047
+:102990000000000000000000000000000000000037
+:1029A0000000000000000000000000000000000027
+:1029B0000000000000000000000000000000000017
+:1029C0000000000000000000000000000000000007
+:1029D00000000000000000000000000000000000F7
+:1029E00000000000000000000000000000000000E7
+:1029F00000000000000000010101010101010101CE
+:102A000001010101010101010101010101010101B6
+:102A100001010101010101010101010101010101A6
+:102A20000101010101010101010101010101010196
+:102A30000101010101010101010101010101010186
+:102A40000101010101010101010101010101010176
+:102A50000101010101010101010101010101010166
+:102A60000101010101010101010101010101010156
+:102A70000101010101010101010101010101010146
+:102A80000101010101010101010101010101010136
+:102A90000101010101010101010101010101010126
+:102AA0000101010101010101010101010101010116
+:102AB0000101010101010101010101010101010106
+:102AC00001010101010101010101010101010101F6
+:102AD00001010101010101010101010101010101E6
+:102AE00001010101010101010101010101010101D6
+:102AF00001010101010101010101010101010101C6
+:102B000001010101010101010101010101010101B5
+:102B100001010101010101010101010101010101A5
+:102B20000101010101010101010101010101010195
+:102B30000101010101010101010101010101010185
+:102B40000101010101010101010101010101010175
+:102B50000101010101010101010101010101010165
+:102B60000101010101010101010101010101010155
+:102B70000101010101010101010101010101010145
+:102B80000101010101010101010101010101010135
+:102B90000101010101010101010101010101010125
+:102BA0000101010101010101010101010101010115
+:102BB0000101010101010101010101010101010105
+:102BC00001010101010101010101010101010101F5
+:102BD00001010101010101010101010101010101E5
+:102BE00001010101010101010101010101010101D5
+:102BF00001010101010101010101010101010101C5
+:102C000001010101010101010101010101010101B4
+:102C100001010101010101010101010101010101A4
+:102C20000101010101010101010101010101010194
+:102C30000101010101010101010101010101010184
+:102C40000101010101010101010101010101010174
+:102C50000101010101010101010101010101010164
+:102C60000101010101010101010101010101010154
+:102C70000101010101010101010101010101010144
+:102C80000101010101010101010101010101010134
+:102C90000101010101010101010101010101010124
+:102CA0000101010101010101010101010101010114
+:102CB0000101010101010101010101010101010104
+:102CC00001010101010101010101010101010101F4
+:102CD00001010101010101010101010101010101E4
+:102CE00001010101010101010101010101010101D4
+:102CF00001010101010101010101010101010101C4
+:102D000001010101010101010101010101010101B3
+:102D100001010101010101010101010101010101A3
+:102D20000101010101010101010101010101010193
+:102D30000101010101010101010101010101010183
+:102D40000101010101010101010101010101010173
+:102D50000101010101010101010101010101010163
+:102D60000101010101010101010101010101010153
+:102D70000101010101010101010101010101010143
+:102D80000101010101010101010101010101010133
+:102D90000101010101010101010101010101010123
+:102DA0000101010101010101010101010101010113
+:102DB0000101010101010101010101010101010103
+:102DC00001010101010101010101010101010101F3
+:102DD00001010101010101010101010101010101E3
+:102DE00001010101010101010101010101010101D3
+:102DF00001010101010101010101010101010101C3
+:102E000001010101010101010101010101010101B2
+:102E100001010101010101010101010101010101A2
+:102E20000101010101010101010101010101010192
+:102E30000101010101010101010101010101010182
+:102E40000101010101010101010101010101010172
+:102E50000101010101010101010101010101010162
+:102E60000101010101010101010101010101010152
+:102E70000101010101010101010101010101010142
+:102E80000101010101010101010101010101010132
+:102E90000101010101010101010101010101010122
+:102EA0000101010101010101010101010101010112
+:102EB0000101010101010101010101010101010102
+:102EC00001010101010101010101010101010101F2
+:102ED00001010101010101010101010101010101E2
+:102EE00001010101010101010101010101010101D2
+:102EF00001010101010101010101010101010101C2
+:102F000001010101010101010101010101010101B1
+:102F100001010101010101010101010101010101A1
+:102F20000101010101010101010101010101010191
+:102F30000101010101010101010101010101010181
+:102F40000101010101010101010101010101010171
+:102F50000101010101010101010101010101010161
+:102F60000101010101010101010101010101010151
+:102F70000101010101010101010101010101010141
+:102F80000101010101010101010101010101010131
+:102F90000101010101010101010101010101010121
+:102FA0000101010101010101010101010101010111
+:102FB0000101010101010101010101010101010101
+:102FC00001010101010101010101010101010101F1
+:102FD00001010101010101010101010101010101E1
+:102FE00001010101010101010101010101010101D1
+:102FF00001010101010101010101010101010101C1
+:1030000001010101010101010101010101010101B0
+:1030100001010101010101010101010101010101A0
+:103020000101010101010101010101010101010190
+:103030000101010101010101010101010101010180
+:103040000101010101010101010101010101010170
+:103050000101010101010101010101010101010160
+:103060000101010101010101010101010101010150
+:103070000101010101010101010101010101010140
+:103080000101010101010101010101010101010130
+:103090000101010101010101010101010101010120
+:1030A0000101010101010101010101010101010110
+:1030B0000101010101010101010101010101010100
+:1030C00001010101010101010101010101010101F0
+:1030D00001010101010101010101010101010101E0
+:1030E00001010101010101010101010101010101D0
+:1030F00001010101010101010101010101010101C0
+:1031000001010101010101010101010101010101AF
+:10311000010101010101010101010101010101019F
+:10312000010101010101010101010101010101018F
+:10313000010101010101010101010101010101017F
+:10314000010101010101010101010101010101016F
+:10315000010101010101010101010101010101015F
+:10316000010101010101010101010101010101014F
+:10317000010101010101010101010101010101013F
+:10318000010101010101010101010101010101012F
+:10319000010101010101010101010101010101011F
+:1031A000010101010101010101010101010101010F
+:1031B00001010101010101010101010101010101FF
+:1031C00001010101010101010101010101010101EF
+:1031D00001010101010101010101010101010101DF
+:1031E00001010101010101010101010101010101CF
+:1031F00001010101010101010101010101010101BF
+:1032000001010101010101010101010101010101AE
+:10321000010101010101010101010101010101019E
+:10322000010101010101010101010101010101018E
+:10323000010101010101010101010101010101017E
+:10324000010101010101010101010101010101016E
+:10325000010101010101010101010101010101015E
+:10326000010101010101010101010101010101014E
+:10327000010101010101010101010101010101013E
+:10328000010101010101010101010101010101012E
+:10329000010101010101010101010101010101011E
+:1032A000010101010101010101010101010101010E
+:1032B00001010101010101010101010101010101FE
+:1032C00001010101010101010101010101010101EE
+:1032D00001010101010101010101010101010101DE
+:1032E00001010101010101010101010101010101CE
+:1032F00001010101010101010101010101010101BE
+:1033000001010101010101010101010101010101AD
+:10331000010101010101010101010101010101019D
+:10332000010101010101010101010101010101018D
+:10333000010101010101010101010101010101017D
+:10334000010101010101010101010101010101016D
+:10335000010101010101010101010101010101015D
+:10336000010101010101010101010101010101014D
+:10337000010101010101010101010101010101013D
+:10338000010101010101010101010101010101012D
+:10339000010101010101010101010101010101011D
+:1033A000010101010101010101010101010101010D
+:1033B00001010101010101010101010101010101FD
+:1033C00001010101010101010101010101010101ED
+:1033D00001010101010101010101010101010101DD
+:1033E00001010101010101010101010101010101CD
+:1033F00001010101010101010101010101010101BD
+:1034000001010101010101010101010101010101AC
+:10341000010101010101010101010101010101019C
+:10342000010101010101010101010101010101018C
+:10343000010101010101010101010101010101017C
+:10344000010101010101010101010101010101016C
+:10345000010101010101010101010101010101015C
+:10346000010101010101010101010101010101014C
+:10347000010101010101010101010101010101013C
+:10348000010101010101010101010101010101012C
+:10349000010101010101010101010101010101011C
+:1034A000010101010101010101010101010101010C
+:1034B00001010101010101010101010101010101FC
+:1034C00001010101010101010101010101010101EC
+:1034D00001010101010101010101010101010101DC
+:1034E00001010101010101010101010101010101CC
+:1034F00001010101010101010101010101010101BC
+:1035000001010101010101010101010101010101AB
+:10351000010101010101010101010101010101019B
+:10352000010101010101010101010101010101018B
+:10353000010101010101010101010101010101017B
+:10354000010101010101010101010101010101016B
+:10355000010101010101010101010101010101015B
+:10356000010101010101010101010101010101014B
+:10357000010101010101010101010101010101013B
+:10358000010101010101010101010101010101012B
+:10359000010101010101010101010101010101011B
+:1035A000010101010101010101010101010101010B
+:1035B00001010101010101010101010101010101FB
+:1035C00001010101010101010101010101010101EB
+:1035D00001010101010101010101010101010101DB
+:1035E00001010101010101010101010101010101CB
+:1035F00001010101010101010101010101010101BB
+:1036000001010101010101010101010101010101AA
+:10361000010101010101010101010101010101019A
+:10362000010101010101010101010101010101018A
+:10363000010101010101010101010101010101017A
+:10364000010101010101010101010101010101016A
+:10365000010101010101010101010101010101015A
+:10366000010101010101010101010101010101014A
+:10367000010101010101010101010101010101013A
+:10368000010101010101010101010101010101012A
+:10369000010101010101010101010101010101011A
+:1036A000010101010101010101010101010101010A
+:1036B00001010101010101010101010101010101FA
+:1036C00001010101010101010101010101010101EA
+:1036D00001010101010101010101010101010101DA
+:1036E00001010101010101010101010101010101CA
+:1036F00001010101010101010101010101010101BA
+:1037000001010101010101010101010101010101A9
+:103710000101010101010101010101010101010199
+:103720000101010101010101010101010101010189
+:103730000101010101010101010101010101010179
+:103740000101010101010101010101010101010169
+:103750000101010101010101010101010101010159
+:103760000101010101010101010101010101010149
+:103770000101010101010101010101010101010139
+:103780000101010101010101010101010101010129
+:103790000101010101010101010101010101010119
+:1037A0000101010101010101010101010101010109
+:1037B00001010101010101010101010101010101F9
+:1037C00001010101010101010101010101010101E9
+:1037D00001010101010101010101010101010101D9
+:1037E00001010101010101010101010101010101C9
+:1037F00001010101010101010101010101010101B9
+:1038000001010101010101010101010101010101A8
+:103810000101010101010101010101010101010198
+:103820000101010101010101010101010101010188
+:103830000101010101010101010101010101010178
+:103840000101010101010101010101010101010168
+:103850000101010101010101010101010101010158
+:103860000101010101010101010101010101010148
+:103870000101010101010101010101010101010138
+:103880000101010101010101010101010101010128
+:103890000101010101010101010101010101010118
+:1038A0000101010101010101010101010101010108
+:1038B00001010101010101010101010101010101F8
+:1038C00001010101010101010101010101010101E8
+:1038D00001010101010101010101010101010101D8
+:1038E00001010101010101010101010101010101C8
+:1038F00001010101010101010101010101010101B8
+:1039000001010101010101010101010101010101A7
+:103910000101010101010101010101010101010197
+:103920000101010101010101010101010101010187
+:103930000101010101010101010101010101010177
+:103940000101010101010101010101010101010167
+:103950000101010101010101010101010101010157
+:103960000101010101010101010101010101010147
+:103970000101010101010101010101010101010137
+:103980000101010101010101010101010101010127
+:103990000101010101010101010101010101010117
+:1039A0000101010101010101010101010101010107
+:1039B00001010101010101010101010101010101F7
+:1039C00001010101010101010101010101010101E7
+:1039D00001010101010101010101010101010101D7
+:1039E00001010101010101010101010101010101C7
+:1039F00001010101010101010101010101010101B7
+:103A000001010101010101010101010101010101A6
+:103A10000101010101010101010101010101010196
+:103A20000101010101010101010101010101010186
+:103A30000101010101010101010101010101010176
+:103A40000101010101010101010101010101010166
+:103A50000101010101010101010101010101010156
+:103A60000101010101010101010101010101010146
+:103A70000101010101010101010101010101010136
+:103A80000101010101010101010101010101010126
+:103A90000101010101010101010101010101010116
+:103AA0000101010101010101010101010101010106
+:103AB00001010101010101010101010101010101F6
+:103AC00001010101010101010101010101010101E6
+:103AD00001010101010101010101010101010101D6
+:103AE00001010101010101010101010101010101C6
+:103AF00001010101010101010101010101010101B6
+:103B000001010101010101010101010101010101A5
+:103B10000101010101010101010101010101010195
+:103B20000101010101010101010101010101010185
+:103B30000101010101010101010101010101010175
+:103B40000101010101010101010101010101010165
+:103B50000101010101010101010101010101010155
+:103B60000101010101010101010101010101010145
+:103B70000101010101010101010101010101010135
+:103B80000101010101010101010101010101010125
+:103B90000101010101010101010101010101010115
+:103BA0000101010101010101010101010101010105
+:103BB00001010101010101010101010101010101F5
+:103BC00001010101010101010101010101010101E5
+:103BD00001010101010101010101010101010101D5
+:103BE00001010101010101010101010101010101C5
+:103BF00001010101010101010101010101010101B5
+:103C000001010101010101010101010101010101A4
+:103C10000101010101010101010101010101010194
+:103C20000101010101010101010101010101010184
+:103C30000101010101010101010101010101010174
+:103C40000101010101010101010101010101010164
+:103C50000101010101010101010101010101010154
+:103C60000101010101010101010101010101010144
+:103C70000101010101010101010101010101010134
+:103C80000101010101010101010101010101010124
+:103C90000101010101010101010101010101010114
+:103CA0000101010101010101010101010101010104
+:103CB00001010101010101010101010101010101F4
+:103CC00001010101010101010101010101010101E4
+:103CD00001010101010101010101010101010101D4
+:103CE00001010101010101010101010101010101C4
+:103CF00001010101010101010101010101010101B4
+:103D000001010101010101010101010101010101A3
+:103D10000101010101010101010101010101010193
+:103D20000101010101010101010101010101010183
+:103D30000101010101010101010101010101010173
+:103D40000101010101010101010101010101010163
+:103D50000101010101010101010101010101010153
+:103D60000101010101010101010101010101010143
+:103D70000101010101010101010101010101010133
+:103D80000101010101010101010101010101010123
+:103D90000101010101010101010101010101010113
+:103DA0000101010101010101010101010101010103
+:103DB00001010101010101010101010101010101F3
+:103DC00001010101010101010101010101010101E3
+:103DD00001010101010101010101010101010101D3
+:103DE00001010101010101010101010101010101C3
+:103DF00001010101010101000000000000000000BC
+:103E000000000000000000000000000000000000B2
+:103E100000000000000000000000000000000000A2
+:103E20000000000000000000000000000000000092
+:103E30000000000000000000000000000000000082
+:103E40000000000000000000000000000000000072
+:103E50000000000000000000000000000000000062
+:103E60000000000000000000000000000000000052
+:103E70000000000000000000000000000000000042
+:103E80000000000000000000000000000000000032
+:103E90000000000000000000000000000000000022
+:103EA0000000000000000000000000000000000012
+:103EB0000000000000000000000000000000000002
+:103EC00000000000000000000000000000000000F2
+:103ED00000000000000000000000000000000000E2
+:103EE00000000000000000000000000000000000D2
+:103EF00000000000000000000000000000000000C2
+:103F000000000000000000000000000000000000B1
+:103F100000000000000000000000000000000000A1
+:103F20000000000000000000000000000000000091
+:103F30000000000000000000000000000000000081
+:103F40000000000000000000000000000000000071
+:103F50000000000000000000000000000000000061
+:103F60000000000000000000000000000000000051
+:103F70000000000000000000000000000000000041
+:103F80000000000000000000000000000000000031
+:103F90000000000000000000000000000000000021
+:103FA0000000000000000000000000000000000011
+:103FB0000000000000000000000000000000000001
+:103FC00000000000000000000000000000000000F1
+:103FD00000000000000000000000000000000000E1
+:103FE00000000000000000000000000000000000D1
+:103FF00000000000000000000000000000000000C1
+:1040000000000000000000000000000000000000B0
+:1040100000000000000000000000000000000000A0
+:104020000000000000000000000000000000000090
+:104030000000000000000000000000000000000080
+:104040000000000000000000000000000000000070
+:104050000000000000000000000000000000000060
+:104060000000000000000000000000000000000050
+:104070000000000000000000000000000000000040
+:104080000000000000000000000000000000000030
+:104090000000000000000000000000000000000020
+:1040A0000000000000000000000000000000000010
+:1040B0000000000000000000000000000000000000
+:1040C00000000000000000000000000000000000F0
+:1040D00000000000000000000000000000000000E0
+:1040E00000000000000000000000000000000000D0
+:1040F00000000000000000000000000000000000C0
+:1041000000000000000000000000000000000000AF
+:10411000000000000000000000000000000000009F
+:10412000000000000000000000000000000000008F
+:10413000000000000000000000000000000000007F
+:10414000000000000000000000000000000000006F
+:10415000000000000000000000000000000000005F
+:10416000000000000000000000000000000000004F
+:10417000000000000000000000000000000000003F
+:10418000000000000000000000000000000000002F
+:10419000000000000000000000000000000000001F
+:1041A000000000000000000000000000000000000F
+:1041B00000000000000000000000000000000000FF
+:1041C00000000000000000000000000000000000EF
+:1041D00000000000000000000000000000000000DF
+:1041E00000000000000000000000000000000000CF
+:1041F00000000000000000000000000000000000BF
+:1042000000000000000000000000000000000000AE
+:10421000000000000000000000000000000000009E
+:10422000000000000000000000000000000000008E
+:10423000000000000000000000000000000000007E
+:10424000000000000000000000000000000000006E
+:10425000000000000000000000000000000000005E
+:10426000000000000000000000000000000000004E
+:10427000000000000000000000000000000000003E
+:10428000000000000000000000000000000000002E
+:10429000000000000000000000000000000000001E
+:1042A000000000000000000000000000000000000E
+:1042B00000000000000000000000000000000000FE
+:1042C00000000000000000000000000000000000EE
+:1042D00000000000000000000000000000000000DE
+:1042E00000000000000000000000000000000000CE
+:1042F00000000000000000000000000000000000BE
+:1043000000000000000000000000000000000000AD
+:10431000000000000000000000000000000000009D
+:10432000000000000000000000000000000000008D
+:10433000000000000000000000000000000000007D
+:10434000000000000000000000000000000000006D
+:10435000000000000000000000000000000000005D
+:10436000000000000000000000000000000000004D
+:10437000000000000000000000000000000000003D
+:10438000000000000000000000000000000000002D
+:10439000000000000000000000000000000000001D
+:1043A000000000000000000000000000000000000D
+:1043B00000000000000000000000000000000000FD
+:1043C00000000000000000000000000000000000ED
+:1043D00000000000000000000000000000000000DD
+:1043E00000000000000000000000000000000000CD
+:1043F00000000000000000020202020202020202AB
+:10440000020202020202020202020202020202028C
+:10441000020202020202020202020202020202027C
+:10442000020202020202020202020202020202026C
+:10443000020202020202020202020202020202025C
+:10444000020202020202020202020202020202024C
+:10445000020202020202020202020202020202023C
+:10446000020202020202020202020202020202022C
+:10447000020202020202020202020202020202021C
+:10448000020202020202020202020202020202020C
+:1044900002020202020202020202020202020202FC
+:1044A00002020202020202020202020202020202EC
+:1044B00002020202020202020202020202020202DC
+:1044C00002020202020202020202020202020202CC
+:1044D00002020202020202020202020202020202BC
+:1044E00002020202020202020202020202020202AC
+:1044F000020202020202020202020202020202029C
+:10450000020202020202020202020202020202028B
+:10451000020202020202020202020202020202027B
+:10452000020202020202020202020202020202026B
+:10453000020202020202020202020202020202025B
+:10454000020202020202020202020202020202024B
+:10455000020202020202020202020202020202023B
+:10456000020202020202020202020202020202022B
+:10457000020202020202020202020202020202021B
+:10458000020202020202020202020202020202020B
+:1045900002020202020202020202020202020202FB
+:1045A00002020202020202020202020202020202EB
+:1045B00002020202020202020202020202020202DB
+:1045C00002020202020202020202020202020202CB
+:1045D00002020202020202020202020202020202BB
+:1045E00002020202020202020202020202020202AB
+:1045F000020202020202020202020202020202029B
+:10460000020202020202020202020202020202028A
+:10461000020202020202020202020202020202027A
+:10462000020202020202020202020202020202026A
+:10463000020202020202020202020202020202025A
+:10464000020202020202020202020202020202024A
+:10465000020202020202020202020202020202023A
+:10466000020202020202020202020202020202022A
+:10467000020202020202020202020202020202021A
+:10468000020202020202020202020202020202020A
+:1046900002020202020202020202020202020202FA
+:1046A00002020202020202020202020202020202EA
+:1046B00002020202020202020202020202020202DA
+:1046C00002020202020202020202020202020202CA
+:1046D00002020202020202020202020202020202BA
+:1046E00002020202020202020202020202020202AA
+:1046F000020202020202020202020202020202029A
+:104700000202020202020202020202020202020289
+:104710000202020202020202020202020202020279
+:104720000202020202020202020202020202020269
+:104730000202020202020202020202020202020259
+:104740000202020202020202020202020202020249
+:104750000202020202020202020202020202020239
+:104760000202020202020202020202020202020229
+:104770000202020202020202020202020202020219
+:104780000202020202020202020202020202020209
+:1047900002020202020202020202020202020202F9
+:1047A00002020202020202020202020202020202E9
+:1047B00002020202020202020202020202020202D9
+:1047C00002020202020202020202020202020202C9
+:1047D00002020202020202020202020202020202B9
+:1047E00002020202020202020202020202020202A9
+:1047F0000202020202020202020202020202020299
+:104800000202020202020202020202020202020288
+:104810000202020202020202020202020202020278
+:104820000202020202020202020202020202020268
+:104830000202020202020202020202020202020258
+:104840000202020202020202020202020202020248
+:104850000202020202020202020202020202020238
+:104860000202020202020202020202020202020228
+:104870000202020202020202020202020202020218
+:104880000202020202020202020202020202020208
+:1048900002020202020202020202020202020202F8
+:1048A00002020202020202020202020202020202E8
+:1048B00002020202020202020202020202020202D8
+:1048C00002020202020202020202020202020202C8
+:1048D00002020202020202020202020202020202B8
+:1048E00002020202020202020202020202020202A8
+:1048F0000202020202020202020202020202020298
+:104900000202020202020202020202020202020287
+:104910000202020202020202020202020202020277
+:104920000202020202020202020202020202020267
+:104930000202020202020202020202020202020257
+:104940000202020202020202020202020202020247
+:104950000202020202020202020202020202020237
+:104960000202020202020202020202020202020227
+:104970000202020202020202020202020202020217
+:104980000202020202020202020202020202020207
+:1049900002020202020202020202020202020202F7
+:1049A00002020202020202020202020202020202E7
+:1049B00002020202020202020202020202020202D7
+:1049C00002020202020202020202020202020202C7
+:1049D00002020202020202020202020202020202B7
+:1049E00002020202020202020202020202020202A7
+:1049F0000202020202020202020202020202020297
+:104A00000202020202020202020202020202020286
+:104A10000202020202020202020202020202020276
+:104A20000202020202020202020202020202020266
+:104A30000202020202020202020202020202020256
+:104A40000202020202020202020202020202020246
+:104A50000202020202020202020202020202020236
+:104A60000202020202020202020202020202020226
+:104A70000202020202020202020202020202020216
+:104A80000202020202020202020202020202020206
+:104A900002020202020202020202020202020202F6
+:104AA00002020202020202020202020202020202E6
+:104AB00002020202020202020202020202020202D6
+:104AC00002020202020202020202020202020202C6
+:104AD00002020202020202020202020202020202B6
+:104AE00002020202020202020202020202020202A6
+:104AF0000202020202020202020202020202020296
+:104B00000202020202020202020202020202020285
+:104B10000202020202020202020202020202020275
+:104B20000202020202020202020202020202020265
+:104B30000202020202020202020202020202020255
+:104B40000202020202020202020202020202020245
+:104B50000202020202020202020202020202020235
+:104B60000202020202020202020202020202020225
+:104B70000202020202020202020202020202020215
+:104B80000202020202020202020202020202020205
+:104B900002020202020202020202020202020202F5
+:104BA00002020202020202020202020202020202E5
+:104BB00002020202020202020202020202020202D5
+:104BC00002020202020202020202020202020202C5
+:104BD00002020202020202020202020202020202B5
+:104BE00002020202020202020202020202020202A5
+:104BF0000202020202020202020202020202020295
+:104C00000202020202020202020202020202020284
+:104C10000202020202020202020202020202020274
+:104C20000202020202020202020202020202020264
+:104C30000202020202020202020202020202020254
+:104C40000202020202020202020202020202020244
+:104C50000202020202020202020202020202020234
+:104C60000202020202020202020202020202020224
+:104C70000202020202020202020202020202020214
+:104C80000202020202020202020202020202020204
+:104C900002020202020202020202020202020202F4
+:104CA00002020202020202020202020202020202E4
+:104CB00002020202020202020202020202020202D4
+:104CC00002020202020202020202020202020202C4
+:104CD00002020202020202020202020202020202B4
+:104CE00002020202020202020202020202020202A4
+:104CF0000202020202020202020202020202020294
+:104D00000202020202020202020202020202020283
+:104D10000202020202020202020202020202020273
+:104D20000202020202020202020202020202020263
+:104D30000202020202020202020202020202020253
+:104D40000202020202020202020202020202020243
+:104D50000202020202020202020202020202020233
+:104D60000202020202020202020202020202020223
+:104D70000202020202020202020202020202020213
+:104D80000202020202020202020202020202020203
+:104D900002020202020202020202020202020202F3
+:104DA00002020202020202020202020202020202E3
+:104DB00002020202020202020202020202020202D3
+:104DC00002020202020202020202020202020202C3
+:104DD00002020202020202020202020202020202B3
+:104DE00002020202020202020202020202020202A3
+:104DF0000202020202020202020202020202020293
+:104E00000202020202020202020202020202020282
+:104E10000202020202020202020202020202020272
+:104E20000202020202020202020202020202020262
+:104E30000202020202020202020202020202020252
+:104E40000202020202020202020202020202020242
+:104E50000202020202020202020202020202020232
+:104E60000202020202020202020202020202020222
+:104E70000202020202020202020202020202020212
+:104E80000202020202020202020202020202020202
+:104E900002020202020202020202020202020202F2
+:104EA00002020202020202020202020202020202E2
+:104EB00002020202020202020202020202020202D2
+:104EC00002020202020202020202020202020202C2
+:104ED00002020202020202020202020202020202B2
+:104EE00002020202020202020202020202020202A2
+:104EF0000202020202020202020202020202020292
+:104F00000202020202020202020202020202020281
+:104F10000202020202020202020202020202020271
+:104F20000202020202020202020202020202020261
+:104F30000202020202020202020202020202020251
+:104F40000202020202020202020202020202020241
+:104F50000202020202020202020202020202020231
+:104F60000202020202020202020202020202020221
+:104F70000202020202020202020202020202020211
+:104F80000202020202020202020202020202020201
+:104F900002020202020202020202020202020202F1
+:104FA00002020202020202020202020202020202E1
+:104FB00002020202020202020202020202020202D1
+:104FC00002020202020202020202020202020202C1
+:104FD00002020202020202020202020202020202B1
+:104FE00002020202020202020202020202020202A1
+:104FF0000202020202020202020202020202020291
+:105000000202020202020202020202020202020280
+:105010000202020202020202020202020202020270
+:105020000202020202020202020202020202020260
+:105030000202020202020202020202020202020250
+:105040000202020202020202020202020202020240
+:105050000202020202020202020202020202020230
+:105060000202020202020202020202020202020220
+:105070000202020202020202020202020202020210
+:105080000202020202020202020202020202020200
+:1050900002020202020202020202020202020202F0
+:1050A00002020202020202020202020202020202E0
+:1050B00002020202020202020202020202020202D0
+:1050C00002020202020202020202020202020202C0
+:1050D00002020202020202020202020202020202B0
+:1050E00002020202020202020202020202020202A0
+:1050F0000202020202020202020202020202020290
+:10510000020202020202020202020202020202027F
+:10511000020202020202020202020202020202026F
+:10512000020202020202020202020202020202025F
+:10513000020202020202020202020202020202024F
+:10514000020202020202020202020202020202023F
+:10515000020202020202020202020202020202022F
+:10516000020202020202020202020202020202021F
+:10517000020202020202020202020202020202020F
+:1051800002020202020202020202020202020202FF
+:1051900002020202020202020202020202020202EF
+:1051A00002020202020202020202020202020202DF
+:1051B00002020202020202020202020202020202CF
+:1051C00002020202020202020202020202020202BF
+:1051D00002020202020202020202020202020202AF
+:1051E000020202020202020202020202020202029F
+:1051F000020202020202020202020202020202028F
+:10520000020202020202020202020202020202027E
+:10521000020202020202020202020202020202026E
+:10522000020202020202020202020202020202025E
+:10523000020202020202020202020202020202024E
+:10524000020202020202020202020202020202023E
+:10525000020202020202020202020202020202022E
+:10526000020202020202020202020202020202021E
+:10527000020202020202020202020202020202020E
+:1052800002020202020202020202020202020202FE
+:1052900002020202020202020202020202020202EE
+:1052A00002020202020202020202020202020202DE
+:1052B00002020202020202020202020202020202CE
+:1052C00002020202020202020202020202020202BE
+:1052D00002020202020202020202020202020202AE
+:1052E000020202020202020202020202020202029E
+:1052F000020202020202020202020202020202028E
+:10530000020202020202020202020202020202027D
+:10531000020202020202020202020202020202026D
+:10532000020202020202020202020202020202025D
+:10533000020202020202020202020202020202024D
+:10534000020202020202020202020202020202023D
+:10535000020202020202020202020202020202022D
+:10536000020202020202020202020202020202021D
+:10537000020202020202020202020202020202020D
+:1053800002020202020202020202020202020202FD
+:1053900002020202020202020202020202020202ED
+:1053A00002020202020202020202020202020202DD
+:1053B00002020202020202020202020202020202CD
+:1053C00002020202020202020202020202020202BD
+:1053D00002020202020202020202020202020202AD
+:1053E000020202020202020202020202020202029D
+:1053F000020202020202020202020202020202028D
+:10540000020202020202020202020202020202027C
+:10541000020202020202020202020202020202026C
+:10542000020202020202020202020202020202025C
+:10543000020202020202020202020202020202024C
+:10544000020202020202020202020202020202023C
+:10545000020202020202020202020202020202022C
+:10546000020202020202020202020202020202021C
+:10547000020202020202020202020202020202020C
+:1054800002020202020202020202020202020202FC
+:1054900002020202020202020202020202020202EC
+:1054A00002020202020202020202020202020202DC
+:1054B00002020202020202020202020202020202CC
+:1054C00002020202020202020202020202020202BC
+:1054D00002020202020202020202020202020202AC
+:1054E000020202020202020202020202020202029C
+:1054F000020202020202020202020202020202028C
+:10550000020202020202020202020202020202027B
+:10551000020202020202020202020202020202026B
+:10552000020202020202020202020202020202025B
+:10553000020202020202020202020202020202024B
+:10554000020202020202020202020202020202023B
+:10555000020202020202020202020202020202022B
+:10556000020202020202020202020202020202021B
+:10557000020202020202020202020202020202020B
+:1055800002020202020202020202020202020202FB
+:1055900002020202020202020202020202020202EB
+:1055A00002020202020202020202020202020202DB
+:1055B00002020202020202020202020202020202CB
+:1055C00002020202020202020202020202020202BB
+:1055D00002020202020202020202020202020202AB
+:1055E000020202020202020202020202020202029B
+:1055F000020202020202020202020202020202028B
+:10560000020202020202020202020202020202027A
+:10561000020202020202020202020202020202026A
+:10562000020202020202020202020202020202025A
+:10563000020202020202020202020202020202024A
+:10564000020202020202020202020202020202023A
+:10565000020202020202020202020202020202022A
+:10566000020202020202020202020202020202021A
+:10567000020202020202020202020202020202020A
+:1056800002020202020202020202020202020202FA
+:1056900002020202020202020202020202020202EA
+:1056A00002020202020202020202020202020202DA
+:1056B00002020202020202020202020202020202CA
+:1056C00002020202020202020202020202020202BA
+:1056D00002020202020202020202020202020202AA
+:1056E000020202020202020202020202020202029A
+:1056F000020202020202020202020202020202028A
+:105700000202020202020202020202020202020279
+:105710000202020202020202020202020202020269
+:105720000202020202020202020202020202020259
+:105730000202020202020202020202020202020249
+:105740000202020202020202020202020202020239
+:105750000202020202020202020202020202020229
+:105760000202020202020202020202020202020219
+:105770000202020202020202020202020202020209
+:1057800002020202020202020202020202020202F9
+:1057900002020202020202020202020202020202E9
+:1057A00002020202020202020202020202020202D9
+:1057B00002020202020202020202020202020202C9
+:1057C00002020202020202020202020202020202B9
+:1057D00002020202020202020202020202020202A9
+:1057E0000202020202020202020202020202020299
+:1057F000020202020202020000000000000000009B
+:105800000000000000000000000000000000000098
+:105810000000000000000000000000000000000088
+:105820000000000000000000000000000000000078
+:105830000000000000000000000000000000000068
+:105840000000000000000000000000000000000058
+:105850000000000000000000000000000000000048
+:105860000000000000000000000000000000000038
+:105870000000000000000000000000000000000028
+:105880000000000000000000000000000000000018
+:105890000000000000000000000000000000000008
+:1058A00000000000000000000000000000000000F8
+:1058B00000000000000000000000000000000000E8
+:1058C00000000000000000000000000000000000D8
+:1058D00000000000000000000000000000000000C8
+:1058E00000000000000000000000000000000000B8
+:1058F00000000000000000000000000000000000A8
+:105900000000000000000000000000000000000097
+:105910000000000000000000000000000000000087
+:105920000000000000000000000000000000000077
+:105930000000000000000000000000000000000067
+:105940000000000000000000000000000000000057
+:105950000000000000000000000000000000000047
+:105960000000000000000000000000000000000037
+:105970000000000000000000000000000000000027
+:105980000000000000000000000000000000000017
+:105990000000000000000000000000000000000007
+:1059A00000000000000000000000000000000000F7
+:1059B00000000000000000000000000000000000E7
+:1059C00000000000000000000000000000000000D7
+:1059D00000000000000000000000000000000000C7
+:1059E00000000000000000000000000000000000B7
+:1059F00000000000000000000000000000000000A7
+:105A00000000000000000000000000000000000096
+:105A10000000000000000000000000000000000086
+:105A20000000000000000000000000000000000076
+:105A30000000000000000000000000000000000066
+:105A40000000000000000000000000000000000056
+:105A50000000000000000000000000000000000046
+:105A60000000000000000000000000000000000036
+:105A70000000000000000000000000000000000026
+:105A80000000000000000000000000000000000016
+:105A90000000000000000000000000000000000006
+:105AA00000000000000000000000000000000000F6
+:105AB00000000000000000000000000000000000E6
+:105AC00000000000000000000000000000000000D6
+:105AD00000000000000000000000000000000000C6
+:105AE00000000000000000000000000000000000B6
+:105AF00000000000000000000000000000000000A6
+:105B00000000000000000000000000000000000095
+:105B10000000000000000000000000000000000085
+:105B20000000000000000000000000000000000075
+:105B30000000000000000000000000000000000065
+:105B40000000000000000000000000000000000055
+:105B50000000000000000000000000000000000045
+:105B60000000000000000000000000000000000035
+:105B70000000000000000000000000000000000025
+:105B80000000000000000000000000000000000015
+:105B90000000000000000000000000000000000005
+:105BA00000000000000000000000000000000000F5
+:105BB00000000000000000000000000000000000E5
+:105BC00000000000000000000000000000000000D5
+:105BD00000000000000000000000000000000000C5
+:105BE00000000000000000000000000000000000B5
+:105BF00000000000000000000000000000000000A5
+:105C00000000000000000000000000000000000094
+:105C10000000000000000000000000000000000084
+:105C20000000000000000000000000000000000074
+:105C30000000000000000000000000000000000064
+:105C40000000000000000000000000000000000054
+:105C50000000000000000000000000000000000044
+:105C60000000000000000000000000000000000034
+:105C70000000000000000000000000000000000024
+:105C80000000000000000000000000000000000014
+:105C90000000000000000000000000000000000004
+:105CA00000000000000000000000000000000000F4
+:105CB00000000000000000000000000000000000E4
+:105CC00000000000000000000000000000000000D4
+:105CD00000000000000000000000000000000000C4
+:105CE00000000000000000000000000000000000B4
+:105CF00000000000000000000000000000000000A4
+:105D00000000000000000000000000000000000093
+:105D10000000000000000000000000000000000083
+:105D20000000000000000000000000000000000073
+:105D30000000000000000000000000000000000063
+:105D40000000000000000000000000000000000053
+:105D50000000000000000000000000000000000043
+:105D60000000000000000000000000000000000033
+:105D70000000000000000000000000000000000023
+:105D80000000000000000000000000000000000013
+:105D90000000000000000000000000000000000003
+:105DA00000000000000000000000000000000000F3
+:105DB00000000000000000000000000000000000E3
+:105DC00000000000000000000000000000000000D3
+:105DD00000000000000000000000000000000000C3
+:105DE00000000000000000000000000000000000B3
+:105DF000000000000000006300000000000000013F
+:105E00000101010101010101010101010101010182
+:105E10000101010101010101010101010101010172
+:105E20000101010101010101010101010101010162
+:105E30000101010101010101010101010101010152
+:105E40000101010101010101010101010101010142
+:105E50000101010101010101010101010101010132
+:105E60000101010101010101010101010101010122
+:105E70000101010101010101010101010101010112
+:105E80000101010101010101010101010101010102
+:105E900001010101010101010101010101010101F2
+:105EA00001010101010101010101010101010101E2
+:105EB00001010101010101010101010101010101D2
+:105EC00001010101010101010101010101010101C2
+:105ED00001010101010101010101010101010101B2
+:105EE00001010101010101010101010101010101A2
+:105EF0000101010101010101010101010101010192
+:105F00000101010101010101010101010101010181
+:105F10000101010101010101010101010101010171
+:105F20000101010101010101010101010101010161
+:105F30000101010101010101010101010101010151
+:105F40000101010101010101010101010101010141
+:105F50000101010101010101010101010101010131
+:105F60000101010101010101010101010101010121
+:105F70000101010101010101010101010101010111
+:105F80000101010101010101010101010101010101
+:105F900001010101010101010101010101010101F1
+:105FA00001010101010101010101010101010101E1
+:105FB00001010101010101010101010101010101D1
+:105FC00001010101010101010101010101010101C1
+:105FD00001010101010101010101010101010101B1
+:105FE00001010101010101010101010101010101A1
+:105FF0000101010101010101010101010101010191
+:106000000101010101010101010101010101010180
+:106010000101010101010101010101010101010170
+:106020000101010101010101010101010101010160
+:106030000101010101010101010101010101010150
+:106040000101010101010101010101010101010140
+:106050000101010101010101010101010101010130
+:106060000101010101010101010101010101010120
+:106070000101010101010101010101010101010110
+:106080000101010101010101010101010101010100
+:1060900001010101010101010101010101010101F0
+:1060A00001010101010101010101010101010101E0
+:1060B00001010101010101010101010101010101D0
+:1060C00001010101010101010101010101010101C0
+:1060D00001010101010101010101010101010101B0
+:1060E00001010101010101010101010101010101A0
+:1060F0000101010101010101010101010101010190
+:10610000010101010101010101010101010101017F
+:10611000010101010101010101010101010101016F
+:10612000010101010101010101010101010101015F
+:10613000010101010101010101010101010101014F
+:10614000010101010101010101010101010101013F
+:10615000010101010101010101010101010101012F
+:10616000010101010101010101010101010101011F
+:10617000010101010101010101010101010101010F
+:1061800001010101010101010101010101010101FF
+:1061900001010101010101010101010101010101EF
+:1061A00001010101010101010101010101010101DF
+:1061B00001010101010101010101010101010101CF
+:1061C00001010101010101010101010101010101BF
+:1061D00001010101010101010101010101010101AF
+:1061E000010101010101010101010101010101019F
+:1061F000010101010101010101010101010101018F
+:10620000010101010101010101010101010101017E
+:10621000010101010101010101010101010101016E
+:10622000010101010101010101010101010101015E
+:10623000010101010101010101010101010101014E
+:10624000010101010101010101010101010101013E
+:10625000010101010101010101010101010101012E
+:10626000010101010101010101010101010101011E
+:10627000010101010101010101010101010101010E
+:1062800001010101010101010101010101010101FE
+:1062900001010101010101010101010101010101EE
+:1062A00001010101010101010101010101010101DE
+:1062B00001010101010101010101010101010101CE
+:1062C00001010101010101010101010101010101BE
+:1062D00001010101010101010101010101010101AE
+:1062E000010101010101010101010101010101019E
+:1062F000010101010101010101010101010101018E
+:10630000010101010101010101010101010101017D
+:10631000010101010101010101010101010101016D
+:10632000010101010101010101010101010101015D
+:10633000010101010101010101010101010101014D
+:10634000010101010101010101010101010101013D
+:10635000010101010101010101010101010101012D
+:10636000010101010101010101010101010101011D
+:10637000010101010101010101010101010101010D
+:1063800001010101010101010101010101010101FD
+:1063900001010101010101010101010101010101ED
+:1063A00001010101010101010101010101010101DD
+:1063B00001010101010101010101010101010101CD
+:1063C00001010101010101010101010101010101BD
+:1063D00001010101010101010101010101010101AD
+:1063E000010101010101010101010101010101019D
+:1063F000010101010101010101010101010101018D
+:10640000010101010101010101010101010101017C
+:10641000010101010101010101010101010101016C
+:10642000010101010101010101010101010101015C
+:10643000010101010101010101010101010101014C
+:10644000010101010101010101010101010101013C
+:10645000010101010101010101010101010101012C
+:10646000010101010101010101010101010101011C
+:10647000010101010101010101010101010101010C
+:1064800001010101010101010101010101010101FC
+:1064900001010101010101010101010101010101EC
+:1064A00001010101010101010101010101010101DC
+:1064B00001010101010101010101010101010101CC
+:1064C00001010101010101010101010101010101BC
+:1064D00001010101010101010101010101010101AC
+:1064E000010101010101010101010101010101019C
+:1064F000010101010101010101010101010101018C
+:10650000010101010101010101010101010101017B
+:10651000010101010101010101010101010101016B
+:10652000010101010101010101010101010101015B
+:10653000010101010101010101010101010101014B
+:10654000010101010101010101010101010101013B
+:10655000010101010101010101010101010101012B
+:10656000010101010101010101010101010101011B
+:10657000010101010101010101010101010101010B
+:1065800001010101010101010101010101010101FB
+:1065900001010101010101010101010101010101EB
+:1065A00001010101010101010101010101010101DB
+:1065B00001010101010101010101010101010101CB
+:1065C00001010101010101010101010101010101BB
+:1065D00001010101010101010101010101010101AB
+:1065E000010101010101010101010101010101019B
+:1065F000010101010101010101010101010101018B
+:10660000010101010101010101010101010101017A
+:10661000010101010101010101010101010101016A
+:10662000010101010101010101010101010101015A
+:10663000010101010101010101010101010101014A
+:10664000010101010101010101010101010101013A
+:10665000010101010101010101010101010101012A
+:10666000010101010101010101010101010101011A
+:10667000010101010101010101010101010101010A
+:1066800001010101010101010101010101010101FA
+:1066900001010101010101010101010101010101EA
+:1066A00001010101010101010101010101010101DA
+:1066B00001010101010101010101010101010101CA
+:1066C00001010101010101010101010101010101BA
+:1066D00001010101010101010101010101010101AA
+:1066E000010101010101010101010101010101019A
+:1066F000010101010101010101010101010101018A
+:106700000101010101010101010101010101010179
+:106710000101010101010101010101010101010169
+:106720000101010101010101010101010101010159
+:106730000101010101010101010101010101010149
+:106740000101010101010101010101010101010139
+:106750000101010101010101010101010101010129
+:106760000101010101010101010101010101010119
+:106770000101010101010101010101010101010109
+:1067800001010101010101010101010101010101F9
+:1067900001010101010101010101010101010101E9
+:1067A00001010101010101010101010101010101D9
+:1067B00001010101010101010101010101010101C9
+:1067C00001010101010101010101010101010101B9
+:1067D00001010101010101010101010101010101A9
+:1067E0000101010101010101010101010101010199
+:1067F0000101010101010101010101010101010189
+:106800000101010101010101010101010101010178
+:106810000101010101010101010101010101010168
+:106820000101010101010101010101010101010158
+:106830000101010101010101010101010101010148
+:106840000101010101010101010101010101010138
+:106850000101010101010101010101010101010128
+:106860000101010101010101010101010101010118
+:106870000101010101010101010101010101010108
+:1068800001010101010101010101010101010101F8
+:1068900001010101010101010101010101010101E8
+:1068A00001010101010101010101010101010101D8
+:1068B00001010101010101010101010101010101C8
+:1068C00001010101010101010101010101010101B8
+:1068D00001010101010101010101010101010101A8
+:1068E0000101010101010101010101010101010198
+:1068F0000101010101010101010101010101010188
+:106900000101010101010101010101010101010177
+:106910000101010101010101010101010101010167
+:106920000101010101010101010101010101010157
+:106930000101010101010101010101010101010147
+:106940000101010101010101010101010101010137
+:106950000101010101010101010101010101010127
+:106960000101010101010101010101010101010117
+:106970000101010101010101010101010101010107
+:1069800001010101010101010101010101010101F7
+:1069900001010101010101010101010101010101E7
+:1069A00001010101010101010101010101010101D7
+:1069B00001010101010101010101010101010101C7
+:1069C00001010101010101010101010101010101B7
+:1069D00001010101010101010101010101010101A7
+:1069E0000101010101010101010101010101010197
+:1069F0000101010101010101010101010101010187
+:106A00000101010101010101010101010101010176
+:106A10000101010101010101010101010101010166
+:106A20000101010101010101010101010101010156
+:106A30000101010101010101010101010101010146
+:106A40000101010101010101010101010101010136
+:106A50000101010101010101010101010101010126
+:106A60000101010101010101010101010101010116
+:106A70000101010101010101010101010101010106
+:106A800001010101010101010101010101010101F6
+:106A900001010101010101010101010101010101E6
+:106AA00001010101010101010101010101010101D6
+:106AB00001010101010101010101010101010101C6
+:106AC00001010101010101010101010101010101B6
+:106AD00001010101010101010101010101010101A6
+:106AE0000101010101010101010101010101010196
+:106AF0000101010101010101010101010101010186
+:106B00000101010101010101010101010101010175
+:106B10000101010101010101010101010101010165
+:106B20000101010101010101010101010101010155
+:106B30000101010101010101010101010101010145
+:106B40000101010101010101010101010101010135
+:106B50000101010101010101010101010101010125
+:106B60000101010101010101010101010101010115
+:106B70000101010101010101010101010101010105
+:106B800001010101010101010101010101010101F5
+:106B900001010101010101010101010101010101E5
+:106BA00001010101010101010101010101010101D5
+:106BB00001010101010101010101010101010101C5
+:106BC00001010101010101010101010101010101B5
+:106BD00001010101010101010101010101010101A5
+:106BE0000101010101010101010101010101010195
+:106BF0000101010101010101010101010101010185
+:106C00000101010101010101010101010101010174
+:106C10000101010101010101010101010101010164
+:106C20000101010101010101010101010101010154
+:106C30000101010101010101010101010101010144
+:106C40000101010101010101010101010101010134
+:106C50000101010101010101010101010101010124
+:106C60000101010101010101010101010101010114
+:106C70000101010101010101010101010101010104
+:106C800001010101010101010101010101010101F4
+:106C900001010101010101010101010101010101E4
+:106CA00001010101010101010101010101010101D4
+:106CB00001010101010101010101010101010101C4
+:106CC00001010101010101010101010101010101B4
+:106CD00001010101010101010101010101010101A4
+:106CE0000101010101010101010101010101010194
+:106CF0000101010101010101010101010101010184
+:106D00000101010101010101010101010101010173
+:106D10000101010101010101010101010101010163
+:106D20000101010101010101010101010101010153
+:106D30000101010101010101010101010101010143
+:106D40000101010101010101010101010101010133
+:106D50000101010101010101010101010101010123
+:106D60000101010101010101010101010101010113
+:106D70000101010101010101010101010101010103
+:106D800001010101010101010101010101010101F3
+:106D900001010101010101010101010101010101E3
+:106DA00001010101010101010101010101010101D3
+:106DB00001010101010101010101010101010101C3
+:106DC00001010101010101010101010101010101B3
+:106DD00001010101010101010101010101010101A3
+:106DE0000101010101010101010101010101010193
+:106DF0000101010101010101010101010101010183
+:106E00000101010101010101010101010101010172
+:106E10000101010101010101010101010101010162
+:106E20000101010101010101010101010101010152
+:106E30000101010101010101010101010101010142
+:106E40000101010101010101010101010101010132
+:106E50000101010101010101010101010101010122
+:106E60000101010101010101010101010101010112
+:106E70000101010101010101010101010101010102
+:106E800001010101010101010101010101010101F2
+:106E900001010101010101010101010101010101E2
+:106EA00001010101010101010101010101010101D2
+:106EB00001010101010101010101010101010101C2
+:106EC00001010101010101010101010101010101B2
+:106ED00001010101010101010101010101010101A2
+:106EE0000101010101010101010101010101010192
+:106EF0000101010101010101010101010101010182
+:106F00000101010101010101010101010101010171
+:106F10000101010101010101010101010101010161
+:106F20000101010101010101010101010101010151
+:106F30000101010101010101010101010101010141
+:106F40000101010101010101010101010101010131
+:106F50000101010101010101010101010101010121
+:106F60000101010101010101010101010101010111
+:106F70000101010101010101010101010101010101
+:106F800001010101010101010101010101010101F1
+:106F900001010101010101010101010101010101E1
+:106FA00001010101010101010101010101010101D1
+:106FB00001010101010101010101010101010101C1
+:106FC00001010101010101010101010101010101B1
+:106FD00001010101010101010101010101010101A1
+:106FE0000101010101010101010101010101010191
+:106FF0000101010101010101010101010101010082
+:107000000000000000000000000000000000000080
+:107010000000000000000000000000000000000070
+:107020000000000000000000000000000000000060
+:107030000000000000000000000000000000000050
+:107040000000000000000000000000000000000040
+:107050000000000000000000000000000000000030
+:107060000000000000000000000000000000000020
+:107070000000000000000000000000000000000010
+:107080000000000000000000000000000000000000
+:1070900000000000000000000000000000000000F0
+:1070A00000000000000000000000000000000000E0
+:1070B00000000000000000000000000000000000D0
+:1070C00000000000000000000000000000000000C0
+:1070D00000000000000000000000000000000000B0
+:1070E00000000000000000000000000000000000A0
+:1070F0000000000000000000000000000000000090
+:10710000000000000000000000000000000000007F
+:10711000000000000000000000000000000000006F
+:10712000000000000000000000000000000000005F
+:10713000000000000000000000000000000000004F
+:10714000000000000000000000000000000000003F
+:10715000000000000000000000000000000000002F
+:10716000000000000000000000000000000000001F
+:10717000000000000000000000000000000000000F
+:1071800000000000000000000000000000000000FF
+:1071900000000000000000000000000000000000EF
+:1071A00000000000000000000000000000000000DF
+:1071B00000000000000000000000000000000000CF
+:1071C00000000000000000000000000000000000BF
+:1071D00000000000000000000000000000000000AF
+:1071E000000000000000000000000000000000009F
+:1071F000000000000000000000000000000000008F
+:10720000000000000000000000000000000000007E
+:10721000000000000000000000000000000000006E
+:10722000000000000000000000000000000000005E
+:10723000000000000000000000000000000000004E
+:10724000000000000000000000000000000000003E
+:10725000000000000000000000000000000000002E
+:10726000000000000000000000000000000000001E
+:10727000000000000000000000000000000000000E
+:1072800000000000000000000000000000000000FE
+:1072900000000000000000000000000000000000EE
+:1072A00000000000000000000000000000000000DE
+:1072B00000000000000000000000000000000000CE
+:1072C00000000000000000000000000000000000BE
+:1072D00000000000000000000000000000000000AE
+:1072E000000000000000000000000000000000009E
+:1072F000000000000000000000000000000000008E
+:10730000000000000000000000000000000000007D
+:10731000000000000000000000000000000000006D
+:10732000000000000000000000000000000000005D
+:10733000000000000000000000000000000000004D
+:10734000000000000000000000000000000000003D
+:10735000000000000000000000000000000000002D
+:10736000000000000000000000000000000000001D
+:10737000000000000000000000000000000000000D
+:1073800000000000000000000000000000000000FD
+:1073900000000000000000000000000000000000ED
+:1073A00000000000000000000000000000000000DD
+:1073B00000000000000000000000000000000000CD
+:1073C00000000000000000000000000000000000BD
+:1073D00000000000000000000000000000000000AD
+:1073E000000000000000000000000000000000009D
+:1073F000000000000000000000000000000000008D
+:10740000000000000000000000000000000000007C
+:10741000000000000000000000000000000000006C
+:10742000000000000000000000000000000000005C
+:10743000000000000000000000000000000000004C
+:10744000000000000000000000000000000000003C
+:10745000000000000000000000000000000000002C
+:10746000000000000000000000000000000000001C
+:10747000000000000000000000000000000000000C
+:1074800000000000000000000000000000000000FC
+:1074900000000000000000000000000000000000EC
+:1074A00000000000000000000000000000000000DC
+:1074B00000000000000000000000000000000000CC
+:1074C00000000000000000000000000000000000BC
+:1074D00000000000000000000000000000000000AC
+:1074E000000000000000000000000000000000009C
+:1074F000000000000000000000000000000000008C
+:10750000000000000000000000000000000000007B
+:10751000000000000000000000000000000000006B
+:10752000000000000000000000000000000000005B
+:10753000000000000000000000000000000000004B
+:10754000000000000000000000000000000000003B
+:10755000000000000000000000000000000000002B
+:10756000000000000000000000000000000000001B
+:10757000000000000000000000000000000000000B
+:1075800000000000000000000000000000000000FB
+:1075900000000000000000000000000000000000EB
+:1075A00000000000000000000000000000000000DB
+:1075B00000000000000000000000000000000000CB
+:1075C00000000000000000000000000000000000BB
+:1075D00000000000000000000000000000000000AB
+:1075E000000000000000000000000000000000009B
+:1075F0000000000000000000000000000000000289
+:10760000020202020202020202020202020202025A
+:10761000020202020202020202020202020202024A
+:10762000020202020202020202020202020202023A
+:10763000020202020202020202020202020202022A
+:10764000020202020202020202020202020202021A
+:10765000020202020202020202020202020202020A
+:1076600002020202020202020202020202020202FA
+:1076700002020202020202020202020202020202EA
+:1076800002020202020202020202020202020202DA
+:1076900002020202020202020202020202020202CA
+:1076A00002020202020202020202020202020202BA
+:1076B00002020202020202020202020202020202AA
+:1076C000020202020202020202020202020202029A
+:1076D000020202020202020202020202020202028A
+:1076E000020202020202020202020202020202027A
+:1076F000020202020202020202020202020202026A
+:107700000202020202020202020202020202020259
+:107710000202020202020202020202020202020249
+:107720000202020202020202020202020202020239
+:107730000202020202020202020202020202020229
+:107740000202020202020202020202020202020219
+:107750000202020202020202020202020202020209
+:1077600002020202020202020202020202020202F9
+:1077700002020202020202020202020202020202E9
+:1077800002020202020202020202020202020202D9
+:1077900002020202020202020202020202020202C9
+:1077A00002020202020202020202020202020202B9
+:1077B00002020202020202020202020202020202A9
+:1077C0000202020202020202020202020202020299
+:1077D0000202020202020202020202020202020289
+:1077E0000202020202020202020202020202020279
+:1077F0000202020202020202020202020202020269
+:107800000202020202020202020202020202020258
+:107810000202020202020202020202020202020248
+:107820000202020202020202020202020202020238
+:107830000202020202020202020202020202020228
+:107840000202020202020202020202020202020218
+:107850000202020202020202020202020202020208
+:1078600002020202020202020202020202020202F8
+:1078700002020202020202020202020202020202E8
+:1078800002020202020202020202020202020202D8
+:1078900002020202020202020202020202020202C8
+:1078A00002020202020202020202020202020202B8
+:1078B00002020202020202020202020202020202A8
+:1078C0000202020202020202020202020202020298
+:1078D0000202020202020202020202020202020288
+:1078E0000202020202020202020202020202020278
+:1078F0000202020202020202020202020202020268
+:107900000202020202020202020202020202020257
+:107910000202020202020202020202020202020247
+:107920000202020202020202020202020202020237
+:107930000202020202020202020202020202020227
+:107940000202020202020202020202020202020217
+:107950000202020202020202020202020202020207
+:1079600002020202020202020202020202020202F7
+:1079700002020202020202020202020202020202E7
+:1079800002020202020202020202020202020202D7
+:1079900002020202020202020202020202020202C7
+:1079A00002020202020202020202020202020202B7
+:1079B00002020202020202020202020202020202A7
+:1079C0000202020202020202020202020202020297
+:1079D0000202020202020202020202020202020287
+:1079E0000202020202020202020202020202020277
+:1079F0000202020202020202020202020202020267
+:107A00000202020202020202020202020202020256
+:107A10000202020202020202020202020202020246
+:107A20000202020202020202020202020202020236
+:107A30000202020202020202020202020202020226
+:107A40000202020202020202020202020202020216
+:107A50000202020202020202020202020202020206
+:107A600002020202020202020202020202020202F6
+:107A700002020202020202020202020202020202E6
+:107A800002020202020202020202020202020202D6
+:107A900002020202020202020202020202020202C6
+:107AA00002020202020202020202020202020202B6
+:107AB00002020202020202020202020202020202A6
+:107AC0000202020202020202020202020202020296
+:107AD0000202020202020202020202020202020286
+:107AE0000202020202020202020202020202020276
+:107AF0000202020202020202020202020202020266
+:107B00000202020202020202020202020202020255
+:107B10000202020202020202020202020202020245
+:107B20000202020202020202020202020202020235
+:107B30000202020202020202020202020202020225
+:107B40000202020202020202020202020202020215
+:107B50000202020202020202020202020202020205
+:107B600002020202020202020202020202020202F5
+:107B700002020202020202020202020202020202E5
+:107B800002020202020202020202020202020202D5
+:107B900002020202020202020202020202020202C5
+:107BA00002020202020202020202020202020202B5
+:107BB00002020202020202020202020202020202A5
+:107BC0000202020202020202020202020202020295
+:107BD0000202020202020202020202020202020285
+:107BE0000202020202020202020202020202020275
+:107BF0000202020202020202020202020202020265
+:107C00000202020202020202020202020202020254
+:107C10000202020202020202020202020202020244
+:107C20000202020202020202020202020202020234
+:107C30000202020202020202020202020202020224
+:107C40000202020202020202020202020202020214
+:107C50000202020202020202020202020202020204
+:107C600002020202020202020202020202020202F4
+:107C700002020202020202020202020202020202E4
+:107C800002020202020202020202020202020202D4
+:107C900002020202020202020202020202020202C4
+:107CA00002020202020202020202020202020202B4
+:107CB00002020202020202020202020202020202A4
+:107CC0000202020202020202020202020202020294
+:107CD0000202020202020202020202020202020284
+:107CE0000202020202020202020202020202020274
+:107CF0000202020202020202020202020202020264
+:107D00000202020202020202020202020202020253
+:107D10000202020202020202020202020202020243
+:107D20000202020202020202020202020202020233
+:107D30000202020202020202020202020202020223
+:107D40000202020202020202020202020202020213
+:107D50000202020202020202020202020202020203
+:107D600002020202020202020202020202020202F3
+:107D700002020202020202020202020202020202E3
+:107D800002020202020202020202020202020202D3
+:107D900002020202020202020202020202020202C3
+:107DA00002020202020202020202020202020202B3
+:107DB00002020202020202020202020202020202A3
+:107DC0000202020202020202020202020202020293
+:107DD0000202020202020202020202020202020283
+:107DE0000202020202020202020202020202020273
+:107DF0000202020202020202020202020202020263
+:107E00000202020202020202020202020202020252
+:107E10000202020202020202020202020202020242
+:107E20000202020202020202020202020202020232
+:107E30000202020202020202020202020202020222
+:107E40000202020202020202020202020202020212
+:107E50000202020202020202020202020202020202
+:107E600002020202020202020202020202020202F2
+:107E700002020202020202020202020202020202E2
+:107E800002020202020202020202020202020202D2
+:107E900002020202020202020202020202020202C2
+:107EA00002020202020202020202020202020202B2
+:107EB00002020202020202020202020202020202A2
+:107EC0000202020202020202020202020202020292
+:107ED0000202020202020202020202020202020282
+:107EE0000202020202020202020202020202020272
+:107EF0000202020202020202020202020202020262
+:107F00000202020202020202020202020202020251
+:107F10000202020202020202020202020202020241
+:107F20000202020202020202020202020202020231
+:107F30000202020202020202020202020202020221
+:107F40000202020202020202020202020202020211
+:107F50000202020202020202020202020202020201
+:107F600002020202020202020202020202020202F1
+:107F700002020202020202020202020202020202E1
+:107F800002020202020202020202020202020202D1
+:107F900002020202020202020202020202020202C1
+:107FA00002020202020202020202020202020202B1
+:107FB00002020202020202020202020202020202A1
+:107FC0000202020202020202020202020202020291
+:107FD0000202020202020202020202020202020281
+:107FE0000202020202020202020202020202020271
+:107FF0000202020202020202020202020202020261
+:108000000202020202020202020202020202020250
+:108010000202020202020202020202020202020240
+:108020000202020202020202020202020202020230
+:108030000202020202020202020202020202020220
+:108040000202020202020202020202020202020210
+:108050000202020202020202020202020202020200
+:1080600002020202020202020202020202020202F0
+:1080700002020202020202020202020202020202E0
+:1080800002020202020202020202020202020202D0
+:1080900002020202020202020202020202020202C0
+:1080A00002020202020202020202020202020202B0
+:1080B00002020202020202020202020202020202A0
+:1080C0000202020202020202020202020202020290
+:1080D0000202020202020202020202020202020280
+:1080E0000202020202020202020202020202020270
+:1080F0000202020202020202020202020202020260
+:10810000020202020202020202020202020202024F
+:10811000020202020202020202020202020202023F
+:10812000020202020202020202020202020202022F
+:10813000020202020202020202020202020202021F
+:10814000020202020202020202020202020202020F
+:1081500002020202020202020202020202020202FF
+:1081600002020202020202020202020202020202EF
+:1081700002020202020202020202020202020202DF
+:1081800002020202020202020202020202020202CF
+:1081900002020202020202020202020202020202BF
+:1081A00002020202020202020202020202020202AF
+:1081B000020202020202020202020202020202029F
+:1081C000020202020202020202020202020202028F
+:1081D000020202020202020202020202020202027F
+:1081E000020202020202020202020202020202026F
+:1081F000020202020202020202020202020202025F
+:10820000020202020202020202020202020202024E
+:10821000020202020202020202020202020202023E
+:10822000020202020202020202020202020202022E
+:10823000020202020202020202020202020202021E
+:10824000020202020202020202020202020202020E
+:1082500002020202020202020202020202020202FE
+:1082600002020202020202020202020202020202EE
+:1082700002020202020202020202020202020202DE
+:1082800002020202020202020202020202020202CE
+:1082900002020202020202020202020202020202BE
+:1082A00002020202020202020202020202020202AE
+:1082B000020202020202020202020202020202029E
+:1082C000020202020202020202020202020202028E
+:1082D000020202020202020202020202020202027E
+:1082E000020202020202020202020202020202026E
+:1082F000020202020202020202020202020202025E
+:10830000020202020202020202020202020202024D
+:10831000020202020202020202020202020202023D
+:10832000020202020202020202020202020202022D
+:10833000020202020202020202020202020202021D
+:10834000020202020202020202020202020202020D
+:1083500002020202020202020202020202020202FD
+:1083600002020202020202020202020202020202ED
+:1083700002020202020202020202020202020202DD
+:1083800002020202020202020202020202020202CD
+:1083900002020202020202020202020202020202BD
+:1083A00002020202020202020202020202020202AD
+:1083B000020202020202020202020202020202029D
+:1083C000020202020202020202020202020202028D
+:1083D000020202020202020202020202020202027D
+:1083E000020202020202020202020202020202026D
+:1083F000020202020202020202020202020202025D
+:10840000020202020202020202020202020202024C
+:10841000020202020202020202020202020202023C
+:10842000020202020202020202020202020202022C
+:10843000020202020202020202020202020202021C
+:10844000020202020202020202020202020202020C
+:1084500002020202020202020202020202020202FC
+:1084600002020202020202020202020202020202EC
+:1084700002020202020202020202020202020202DC
+:1084800002020202020202020202020202020202CC
+:1084900002020202020202020202020202020202BC
+:1084A00002020202020202020202020202020202AC
+:1084B000020202020202020202020202020202029C
+:1084C000020202020202020202020202020202028C
+:1084D000020202020202020202020202020202027C
+:1084E000020202020202020202020202020202026C
+:1084F000020202020202020202020202020202025C
+:10850000020202020202020202020202020202024B
+:10851000020202020202020202020202020202023B
+:10852000020202020202020202020202020202022B
+:10853000020202020202020202020202020202021B
+:10854000020202020202020202020202020202020B
+:1085500002020202020202020202020202020202FB
+:1085600002020202020202020202020202020202EB
+:1085700002020202020202020202020202020202DB
+:1085800002020202020202020202020202020202CB
+:1085900002020202020202020202020202020202BB
+:1085A00002020202020202020202020202020202AB
+:1085B000020202020202020202020202020202029B
+:1085C000020202020202020202020202020202028B
+:1085D000020202020202020202020202020202027B
+:1085E000020202020202020202020202020202026B
+:1085F000020202020202020202020202020202025B
+:10860000020202020202020202020202020202024A
+:10861000020202020202020202020202020202023A
+:10862000020202020202020202020202020202022A
+:10863000020202020202020202020202020202021A
+:10864000020202020202020202020202020202020A
+:1086500002020202020202020202020202020202FA
+:1086600002020202020202020202020202020202EA
+:1086700002020202020202020202020202020202DA
+:1086800002020202020202020202020202020202CA
+:1086900002020202020202020202020202020202BA
+:1086A00002020202020202020202020202020202AA
+:1086B000020202020202020202020202020202029A
+:1086C000020202020202020202020202020202028A
+:1086D000020202020202020202020202020202027A
+:1086E000020202020202020202020202020202026A
+:1086F000020202020202020202020202020202025A
+:108700000202020202020202020202020202020249
+:108710000202020202020202020202020202020239
+:108720000202020202020202020202020202020229
+:108730000202020202020202020202020202020219
+:108740000202020202020202020202020202020209
+:1087500002020202020202020202020202020202F9
+:1087600002020202020202020202020202020202E9
+:1087700002020202020202020202020202020202D9
+:1087800002020202020202020202020202020202C9
+:1087900002020202020202020202020202020202B9
+:1087A00002020202020202020202020202020202A9
+:1087B0000202020202020202020202020202020299
+:1087C0000202020202020202020202020202020289
+:1087D0000202020202020202020202020202020279
+:1087E0000202020202020202020202020202020269
+:1087F000020202020202020202020202020202005B
+:108800000000000000000000000000000000000068
+:108810000000000000000000000000000000000058
+:108820000000000000000000000000000000000048
+:108830000000000000000000000000000000000038
+:108840000000000000000000000000000000000028
+:108850000000000000000000000000000000000018
+:108860000000000000000000000000000000000008
+:1088700000000000000000000000000000000000F8
+:1088800000000000000000000000000000000000E8
+:1088900000000000000000000000000000000000D8
+:1088A00000000000000000000000000000000000C8
+:1088B00000000000000000000000000000000000B8
+:1088C00000000000000000000000000000000000A8
+:1088D0000000000000000000000000000000000098
+:1088E0000000000000000000000000000000000088
+:1088F0000000000000000000000000000000000078
+:108900000000000000000000000000000000000067
+:108910000000000000000000000000000000000057
+:108920000000000000000000000000000000000047
+:108930000000000000000000000000000000000037
+:108940000000000000000000000000000000000027
+:108950000000000000000000000000000000000017
+:108960000000000000000000000000000000000007
+:1089700000000000000000000000000000000000F7
+:1089800000000000000000000000000000000000E7
+:1089900000000000000000000000000000000000D7
+:1089A00000000000000000000000000000000000C7
+:1089B00000000000000000000000000000000000B7
+:1089C00000000000000000000000000000000000A7
+:1089D0000000000000000000000000000000000097
+:1089E0000000000000000000000000000000000087
+:1089F0000000000000000000000000000000000077
+:108A00000000000000000000000000000000000066
+:108A10000000000000000000000000000000000056
+:108A20000000000000000000000000000000000046
+:108A30000000000000000000000000000000000036
+:108A40000000000000000000000000000000000026
+:108A50000000000000000000000000000000000016
+:108A60000000000000000000000000000000000006
+:108A700000000000000000000000000000000000F6
+:108A800000000000000000000000000000000000E6
+:108A900000000000000000000000000000000000D6
+:108AA00000000000000000000000000000000000C6
+:108AB00000000000000000000000000000000000B6
+:108AC00000000000000000000000000000000000A6
+:108AD0000000000000000000000000000000000096
+:108AE0000000000000000000000000000000000086
+:108AF0000000000000000000000000000000000076
+:108B00000000000000000000000000000000000065
+:108B10000000000000000000000000000000000055
+:108B20000000000000000000000000000000000045
+:108B30000000000000000000000000000000000035
+:108B40000000000000000000000000000000000025
+:108B50000000000000000000000000000000000015
+:108B60000000000000000000000000000000000005
+:108B700000000000000000000000000000000000F5
+:108B800000000000000000000000000000000000E5
+:108B900000000000000000000000000000000000D5
+:108BA00000000000000000000000000000000000C5
+:108BB00000000000000000000000000000000000B5
+:108BC00000000000000000000000000000000000A5
+:108BD0000000000000000000000000000000000095
+:108BE0000000000000000000000000000000000085
+:108BF0000000000000000000000000000000000075
+:108C00000000000000000000000000000000000064
+:108C10000000000000000000000000000000000054
+:108C20000000000000000000000000000000000044
+:108C30000000000000000000000000000000000034
+:108C40000000000000000000000000000000000024
+:108C50000000000000000000000000000000000014
+:108C60000000000000000000000000000000000004
+:108C700000000000000000000000000000000000F4
+:108C800000000000000000000000000000000000E4
+:108C900000000000000000000000000000000000D4
+:108CA00000000000000000000000000000000000C4
+:108CB00000000000000000000000000000000000B4
+:108CC00000000000000000000000000000000000A4
+:108CD0000000000000000000000000000000000094
+:108CE0000000000000000000000000000000000084
+:108CF0000000000000000000000000000000000074
+:108D00000000000000000000000000000000000063
+:108D10000000000000000000000000000000000053
+:108D20000000000000000000000000000000000043
+:108D30000000000000000000000000000000000033
+:108D40000000000000000000000000000000000023
+:108D50000000000000000000000000000000000013
+:108D60000000000000000000000000000000000003
+:108D700000000000000000000000000000000000F3
+:108D800000000000000000000000000000000000E3
+:108D900000000000000000000000000000000000D3
+:108DA00000000000000000000000000000000000C3
+:108DB00000000000000000000000000000000000B3
+:108DC00000000000000000000000000000000000A3
+:108DD0000000000000000000000000000000000093
+:108DE0000000000000000000000000000000000083
+:108DF0000000000000000000000000000000000073
+:108E00000000000000000000000000000000000062
+:108E10000000000000000000000000000000000052
+:108E20000000000000000000000000000000000042
+:108E30000000000000000000000000000000000032
+:108E40000000000000000000000000000000000022
+:108E50000000000000000000000000000000000012
+:108E60000000000000000000000000000000000002
+:108E700000000000000000000000000000000000F2
+:108E800000000000000000000000000000000000E2
+:108E900000000000000000000000000000000000D2
+:108EA00000000000000000000000000000000000C2
+:108EB00000000000000000000000000000000000B2
+:108EC00000000000000000000000000000000000A2
+:108ED0000000000000000000000000000000000092
+:108EE0000000000000000000000000000000000082
+:108EF0000000000000000000000000000000000072
+:108F00000000000000000000000000000000000061
+:108F10000000000000000000000000000000000051
+:108F20000000000000000000000000000000000041
+:108F30000000000000000000000000000000000031
+:108F40000000000000000000000000000000000021
+:108F50000000000000000000000000000000000011
+:108F60000000000000000000000000000000000001
+:108F700000000000000000000000000000000000F1
+:108F800000000000000000000000000000000000E1
+:108F900000000000000000000000000000000000D1
+:108FA00000000000000000000000000000000000C1
+:108FB00000000000000000000000000000000000B1
+:108FC00000000000000000000000000000000000A1
+:108FD0000000000000000000000000000000000091
+:108FE0000000000000000000000000000000000081
+:108FF0000000000000000000000000000000000071
+:109000000000000000000000000000000000000060
+:109010000000000000000000000000000000000050
+:109020000000000000000000000000000000000040
+:109030000000000000000000000000000000000030
+:109040000000000000000000000000000000000020
+:109050000000000000000000000000000000000010
+:109060000000000000000000000000000000000000
+:1090700000000000000000000000000000000000F0
+:1090800000000000000000000000000000000000E0
+:1090900000000000000000000000000000000000D0
+:1090A00000000000000000000000000000000000C0
+:1090B00000000000000000000000000000000000B0
+:1090C00000000000000000000000000000000000A0
+:1090D0000000000000000000000000000000000090
+:1090E0000000000000000000000000000000000080
+:1090F000000000000000000000000000000000016F
+:10910000010101010101010101010101010101014F
+:10911000010101010101010101010101010101013F
+:10912000010101010101010101010101010101012F
+:10913000010101010101010101010101010101011F
+:10914000010101010101010101010101010101010F
+:1091500001010101010101010101010101010101FF
+:1091600001010101010101010101010101010101EF
+:1091700001010101010101010101010101010101DF
+:1091800001010101010101010101010101010101CF
+:1091900001010101010101010101010101010101BF
+:1091A00001010101010101010101010101010101AF
+:1091B000010101010101010101010101010101019F
+:1091C000010101010101010101010101010101018F
+:1091D000010101010101010101010101010101017F
+:1091E000010101010101010101010101010101016F
+:1091F000010101010101010101010101010101015F
+:10920000010101010101010101010101010101014E
+:10921000010101010101010101010101010101013E
+:10922000010101010101010101010101010101012E
+:10923000010101010101010101010101010101011E
+:10924000010101010101010101010101010101010E
+:1092500001010101010101010101010101010101FE
+:1092600001010101010101010101010101010101EE
+:1092700001010101010101010101010101010101DE
+:1092800001010101010101010101010101010101CE
+:1092900001010101010101010101010101010101BE
+:1092A00001010101010101010101010101010101AE
+:1092B000010101010101010101010101010101019E
+:1092C000010101010101010101010101010101018E
+:1092D000010101010101010101010101010101017E
+:1092E000010101010101010101010101010101016E
+:1092F000010101010101010101010101010101015E
+:10930000010101010101010101010101010101014D
+:10931000010101010101010101010101010101013D
+:10932000010101010101010101010101010101012D
+:10933000010101010101010101010101010101011D
+:10934000010101010101010101010101010101010D
+:1093500001010101010101010101010101010101FD
+:1093600001010101010101010101010101010101ED
+:1093700001010101010101010101010101010101DD
+:1093800001010101010101010101010101010101CD
+:1093900001010101010101010101010101010101BD
+:1093A00001010101010101010101010101010101AD
+:1093B000010101010101010101010101010101019D
+:1093C000010101010101010101010101010101018D
+:1093D000010101010101010101010101010101017D
+:1093E000010101010101010101010101010101016D
+:1093F000010101010101010101010101010101015D
+:10940000010101010101010101010101010101014C
+:10941000010101010101010101010101010101013C
+:10942000010101010101010101010101010101012C
+:10943000010101010101010101010101010101011C
+:10944000010101010101010101010101010101010C
+:1094500001010101010101010101010101010101FC
+:1094600001010101010101010101010101010101EC
+:1094700001010101010101010101010101010101DC
+:1094800001010101010101010101010101010101CC
+:1094900001010101010101010101010101010101BC
+:1094A00001010101010101010101010101010101AC
+:1094B000010101010101010101010101010101019C
+:1094C000010101010101010101010101010101018C
+:1094D000010101010101010101010101010101017C
+:1094E000010101010101010101010101010101016C
+:1094F000010101010101010101010101010101015C
+:10950000010101010101010101010101010101014B
+:10951000010101010101010101010101010101013B
+:10952000010101010101010101010101010101012B
+:10953000010101010101010101010101010101011B
+:10954000010101010101010101010101010101010B
+:1095500001010101010101010101010101010101FB
+:1095600001010101010101010101010101010101EB
+:1095700001010101010101010101010101010101DB
+:1095800001010101010101010101010101010101CB
+:1095900001010101010101010101010101010101BB
+:1095A00001010101010101010101010101010101AB
+:1095B000010101010101010101010101010101019B
+:1095C000010101010101010101010101010101018B
+:1095D000010101010101010101010101010101017B
+:1095E000010101010101010101010101010101016B
+:1095F000010101010101010101010101010101015B
+:10960000010101010101010101010101010101014A
+:10961000010101010101010101010101010101013A
+:10962000010101010101010101010101010101012A
+:10963000010101010101010101010101010101011A
+:10964000010101010101010101010101010101010A
+:1096500001010101010101010101010101010101FA
+:1096600001010101010101010101010101010101EA
+:1096700001010101010101010101010101010101DA
+:1096800001010101010101010101010101010101CA
+:1096900001010101010101010101010101010101BA
+:1096A00001010101010101010101010101010101AA
+:1096B000010101010101010101010101010101019A
+:1096C000010101010101010101010101010101018A
+:1096D000010101010101010101010101010101017A
+:1096E000010101010101010101010101010101016A
+:1096F000010101010101010101010101010101015A
+:109700000101010101010101010101010101010149
+:109710000101010101010101010101010101010139
+:109720000101010101010101010101010101010129
+:109730000101010101010101010101010101010119
+:109740000101010101010101010101010101010109
+:1097500001010101010101010101010101010101F9
+:1097600001010101010101010101010101010101E9
+:1097700001010101010101010101010101010101D9
+:1097800001010101010101010101010101010101C9
+:1097900001010101010101010101010101010101B9
+:1097A00001010101010101010101010101010101A9
+:1097B0000101010101010101010101010101010199
+:1097C0000101010101010101010101010101010189
+:1097D0000101010101010101010101010101010179
+:1097E0000101010101010101010101010101010169
+:1097F0000101010101010101010101010101010159
+:109800000101010101010101010101010101010148
+:109810000101010101010101010101010101010138
+:109820000101010101010101010101010101010128
+:109830000101010101010101010101010101010118
+:109840000101010101010101010101010101010108
+:1098500001010101010101010101010101010101F8
+:1098600001010101010101010101010101010101E8
+:1098700001010101010101010101010101010101D8
+:1098800001010101010101010101010101010101C8
+:1098900001010101010101010101010101010101B8
+:1098A00001010101010101010101010101010101A8
+:1098B0000101010101010101010101010101010198
+:1098C0000101010101010101010101010101010188
+:1098D0000101010101010101010101010101010178
+:1098E0000101010101010101010101010101010168
+:1098F0000101010101010101010101010101010158
+:109900000101010101010101010101010101010147
+:109910000101010101010101010101010101010137
+:109920000101010101010101010101010101010127
+:109930000101010101010101010101010101010117
+:109940000101010101010101010101010101010107
+:1099500001010101010101010101010101010101F7
+:1099600001010101010101010101010101010101E7
+:1099700001010101010101010101010101010101D7
+:1099800001010101010101010101010101010101C7
+:1099900001010101010101010101010101010101B7
+:1099A00001010101010101010101010101010101A7
+:1099B0000101010101010101010101010101010197
+:1099C0000101010101010101010101010101010187
+:1099D0000101010101010101010101010101010177
+:1099E0000101010101010101010101010101010167
+:1099F0000101010101010101010101010101010157
+:109A00000101010101010101010101010101010146
+:109A10000101010101010101010101010101010136
+:109A20000101010101010101010101010101010126
+:109A30000101010101010101010101010101010116
+:109A40000101010101010101010101010101010106
+:109A500001010101010101010101010101010101F6
+:109A600001010101010101010101010101010101E6
+:109A700001010101010101010101010101010101D6
+:109A800001010101010101010101010101010101C6
+:109A900001010101010101010101010101010101B6
+:109AA00001010101010101010101010101010101A6
+:109AB0000101010101010101010101010101010196
+:109AC0000101010101010101010101010101010186
+:109AD0000101010101010101010101010101010176
+:109AE0000101010101010101010101010101010166
+:109AF0000101010101010101010101010101010156
+:109B00000101010101010101010101010101010145
+:109B10000101010101010101010101010101010135
+:109B20000101010101010101010101010101010125
+:109B30000101010101010101010101010101010115
+:109B40000101010101010101010101010101010105
+:109B500001010101010101010101010101010101F5
+:109B600001010101010101010101010101010101E5
+:109B700001010101010101010101010101010101D5
+:109B800001010101010101010101010101010101C5
+:109B900001010101010101010101010101010101B5
+:109BA00001010101010101010101010101010101A5
+:109BB0000101010101010101010101010101010195
+:109BC0000101010101010101010101010101010185
+:109BD0000101010101010101010101010101010175
+:109BE0000101010101010101010101010101010165
+:109BF0000101010101010101010101010101010155
+:109C00000101010101010101010101010101010144
+:109C10000101010101010101010101010101010134
+:109C20000101010101010101010101010101010124
+:109C30000101010101010101010101010101010114
+:109C40000101010101010101010101010101010104
+:109C500001010101010101010101010101010101F4
+:109C600001010101010101010101010101010101E4
+:109C700001010101010101010101010101010101D4
+:109C800001010101010101010101010101010101C4
+:109C900001010101010101010101010101010101B4
+:109CA00001010101010101010101010101010101A4
+:109CB0000101010101010101010101010101010194
+:109CC0000101010101010101010101010101010184
+:109CD0000101010101010101010101010101010174
+:109CE0000101010101010101010101010101010164
+:109CF0000101010101010101010101010101010154
+:109D00000101010101010101010101010101010143
+:109D10000101010101010101010101010101010133
+:109D20000101010101010101010101010101010123
+:109D30000101010101010101010101010101010113
+:109D40000101010101010101010101010101010103
+:109D500001010101010101010101010101010101F3
+:109D600001010101010101010101010101010101E3
+:109D700001010101010101010101010101010101D3
+:109D800001010101010101010101010101010101C3
+:109D900001010101010101010101010101010101B3
+:109DA00001010101010101010101010101010101A3
+:109DB0000101010101010101010101010101010193
+:109DC0000101010101010101010101010101010183
+:109DD0000101010101010101010101010101010173
+:109DE0000101010101010101010101010101010163
+:109DF0000101010101010101010101010101010153
+:109E00000101010101010101010101010101010142
+:109E10000101010101010101010101010101010132
+:109E20000101010101010101010101010101010122
+:109E30000101010101010101010101010101010112
+:109E40000101010101010101010101010101010102
+:109E500001010101010101010101010101010101F2
+:109E600001010101010101010101010101010101E2
+:109E700001010101010101010101010101010101D2
+:109E800001010101010101010101010101010101C2
+:109E900001010101010101010101010101010101B2
+:109EA00001010101010101010101010101010101A2
+:109EB0000101010101010101010101010101010192
+:109EC0000101010101010101010101010101010182
+:109ED0000101010101010101010101010101010172
+:109EE0000101010101010101010101010101010162
+:109EF0000101010101010101010101010101010152
+:109F00000101010101010101010101010101010141
+:109F10000101010101010101010101010101010131
+:109F20000101010101010101010101010101010121
+:109F30000101010101010101010101010101010111
+:109F40000101010101010101010101010101010101
+:109F500001010101010101010101010101010101F1
+:109F600001010101010101010101010101010101E1
+:109F700001010101010101010101010101010101D1
+:109F800001010101010101010101010101010101C1
+:109F900001010101010101010101010101010101B1
+:109FA00001010101010101010101010101010101A1
+:109FB0000101010101010101010101010101010191
+:109FC0000101010101010101010101010101010181
+:109FD0000101010101010101010101010101010171
+:109FE0000101010101010101010101010101010161
+:109FF0000101010101010101010101010101010151
+:10A000000101010101010101010101010101010140
+:10A010000101010101010101010101010101010130
+:10A020000101010101010101010101010101010120
+:10A030000101010101010101010101010101010110
+:10A040000101010101010101010101010101010100
+:10A0500001010101010101010101010101010101F0
+:10A0600001010101010101010101010101010101E0
+:10A0700001010101010101010101010101010101D0
+:10A0800001010101010101010101010101010101C0
+:10A0900001010101010101010101010101010101B0
+:10A0A00001010101010101010101010101010101A0
+:10A0B0000101010101010101010101010101010190
+:10A0C0000101010101010101010101010101010180
+:10A0D0000101010101010101010101010101010170
+:10A0E0000101010101010101010101010101010160
+:10A0F0000101010101010101010101010101010150
+:10A10000010101010101010101010101010101013F
+:10A11000010101010101010101010101010101012F
+:10A12000010101010101010101010101010101011F
+:10A13000010101010101010101010101010101010F
+:10A1400001010101010101010101010101010101FF
+:10A1500001010101010101010101010101010101EF
+:10A1600001010101010101010101010101010101DF
+:10A1700001010101010101010101010101010101CF
+:10A1800001010101010101010101010101010101BF
+:10A1900001010101010101010101010101010101AF
+:10A1A000010101010101010101010101010101019F
+:10A1B000010101010101010101010101010101018F
+:10A1C000010101010101010101010101010101017F
+:10A1D000010101010101010101010101010101016F
+:10A1E000010101010101010101010101010101015F
+:10A1F000010101010101010101010101010101014F
+:10A20000010101010101010101010101010101013E
+:10A21000010101010101010101010101010101012E
+:10A22000010101010101010101010101010101011E
+:10A23000010101010101010101010101010101010E
+:10A2400001010101010101010101010101010101FE
+:10A2500001010101010101010101010101010101EE
+:10A2600001010101010101010101010101010101DE
+:10A2700001010101010101010101010101010101CE
+:10A2800001010101010101010101010101010101BE
+:10A2900001010101010101010101010101010101AE
+:10A2A000010101010101010101010101010101019E
+:10A2B000010101010101010101010101010101018E
+:10A2C000010101010101010101010101010101017E
+:10A2D000010101010101010101010101010101016E
+:10A2E000010101010101010101010101010101015E
+:10A2F000010101010101010101010101010101004F
+:10A30000000000000000000000000000000000004D
+:10A31000000000000000000000000000000000003D
+:10A32000000000000000000000000000000000002D
+:10A33000000000000000000000000000000000001D
+:10A34000000000000000000000000000000000000D
+:10A3500000000000000000000000000000000000FD
+:10A3600000000000000000000000000000000000ED
+:10A3700000000000000000000000000000000000DD
+:10A3800000000000000000000000000000000000CD
+:10A3900000000000000000000000000000000000BD
+:10A3A00000000000000000000000000000000000AD
+:10A3B000000000000000000000000000000000009D
+:10A3C000000000000000000000000000000000008D
+:10A3D000000000000000000000000000000000007D
+:10A3E000000000000000000000000000000000006D
+:10A3F000000000000000000000000000000000005D
+:10A40000000000000000000000000000000000004C
+:10A41000000000000000000000000000000000003C
+:10A42000000000000000000000000000000000002C
+:10A43000000000000000000000000000000000001C
+:10A44000000000000000000000000000000000000C
+:10A4500000000000000000000000000000000000FC
+:10A4600000000000000000000000000000000000EC
+:10A4700000000000000000000000000000000000DC
+:10A4800000000000000000000000000000000000CC
+:10A4900000000000000000000000000000000000BC
+:10A4A00000000000000000000000000000000000AC
+:10A4B000000000000000000000000000000000009C
+:10A4C000000000000000000000000000000000008C
+:10A4D000000000000000000000000000000000007C
+:10A4E000000000000000000000000000000000006C
+:10A4F000000000000000000000000000000000005C
+:10A50000000000000000000000000000000000004B
+:10A51000000000000000000000000000000000003B
+:10A52000000000000000000000000000000000002B
+:10A53000000000000000000000000000000000001B
+:10A54000000000000000000000000000000000000B
+:10A5500000000000000000000000000000000000FB
+:10A5600000000000000000000000000000000000EB
+:10A5700000000000000000000000000000000000DB
+:10A5800000000000000000000000000000000000CB
+:10A5900000000000000000000000000000000000BB
+:10A5A00000000000000000000000000000000000AB
+:10A5B000000000000000000000000000000000009B
+:10A5C000000000000000000000000000000000008B
+:10A5D000000000000000000000000000000000007B
+:10A5E000000000000000000000000000000000006B
+:10A5F000000000000000000000000000000000005B
+:10A60000000000000000000000000000000000004A
+:10A61000000000000000000000000000000000003A
+:10A62000000000000000000000000000000000002A
+:10A63000000000000000000000000000000000001A
+:10A64000000000000000000000000000000000000A
+:10A6500000000000000000000000000000000000FA
+:10A6600000000000000000000000000000000000EA
+:10A6700000000000000000000000000000000000DA
+:10A6800000000000000000000000000000000000CA
+:10A6900000000000000000000000000000000000BA
+:10A6A00000000000000000000000000000000000AA
+:10A6B000000000000000000000000000000000009A
+:10A6C000000000000000000000000000000000008A
+:10A6D000000000000000000000000000000000007A
+:10A6E000000000000000000000000000000000006A
+:10A6F000000000000000000000000000000000005A
+:10A700000000000000000000000000000000000049
+:10A710000000000000000000000000000000000039
+:10A720000000000000000000000000000000000029
+:10A730000000000000000000000000000000000019
+:10A740000000000000000000000000000000000009
+:10A7500000000000000000000000000000000000F9
+:10A7600000000000000000000000000000000000E9
+:10A7700000000000000000000000000000000000D9
+:10A7800000000000000000000000000000000000C9
+:10A7900000000000000000000000000000000000B9
+:10A7A00000000000000000000000000000000000A9
+:10A7B0000000000000000000000000000000000099
+:10A7C0000000000000000000000000000000000089
+:10A7D0000000000000000000000000000000000079
+:10A7E0000000000000000000000000000000000069
+:10A7F0000000000000000000000000000000000059
+:10A800000000000000000000000000000000000048
+:10A810000000000000000000000000000000000038
+:10A820000000000000000000000000000000000028
+:10A830000000000000000000000000000000000018
+:10A840000000000000000000000000000000000008
+:10A8500000000000000000000000000000000000F8
+:10A8600000000000000000000000000000000000E8
+:10A8700000000000000000000000000000000000D8
+:10A8800000000000000000000000000000000000C8
+:10A8900000000000000000000000000000000000B8
+:10A8A00000000000000000000000000000000000A8
+:10A8B0000000000000000000000000000000000098
+:10A8C0000000000000000000000000000000000088
+:10A8D0000000000000000000000000000000000078
+:10A8E0000000000000000000000000000000000068
+:10A8F0000000000000000000000000000000000256
+:10A900000202020202020202020202020202020227
+:10A910000202020202020202020202020202020217
+:10A920000202020202020202020202020202020207
+:10A9300002020202020202020202020202020202F7
+:10A9400002020202020202020202020202020202E7
+:10A9500002020202020202020202020202020202D7
+:10A9600002020202020202020202020202020202C7
+:10A9700002020202020202020202020202020202B7
+:10A9800002020202020202020202020202020202A7
+:10A990000202020202020202020202020202020297
+:10A9A0000202020202020202020202020202020287
+:10A9B0000202020202020202020202020202020277
+:10A9C0000202020202020202020202020202020267
+:10A9D0000202020202020202020202020202020257
+:10A9E0000202020202020202020202020202020247
+:10A9F0000202020202020202020202020202020237
+:10AA00000202020202020202020202020202020226
+:10AA10000202020202020202020202020202020216
+:10AA20000202020202020202020202020202020206
+:10AA300002020202020202020202020202020202F6
+:10AA400002020202020202020202020202020202E6
+:10AA500002020202020202020202020202020202D6
+:10AA600002020202020202020202020202020202C6
+:10AA700002020202020202020202020202020202B6
+:10AA800002020202020202020202020202020202A6
+:10AA90000202020202020202020202020202020296
+:10AAA0000202020202020202020202020202020286
+:10AAB0000202020202020202020202020202020276
+:10AAC0000202020202020202020202020202020266
+:10AAD0000202020202020202020202020202020256
+:10AAE0000202020202020202020202020202020246
+:10AAF0000202020202020202020202020202020236
+:10AB00000202020202020202020202020202020225
+:10AB10000202020202020202020202020202020215
+:10AB20000202020202020202020202020202020205
+:10AB300002020202020202020202020202020202F5
+:10AB400002020202020202020202020202020202E5
+:10AB500002020202020202020202020202020202D5
+:10AB600002020202020202020202020202020202C5
+:10AB700002020202020202020202020202020202B5
+:10AB800002020202020202020202020202020202A5
+:10AB90000202020202020202020202020202020295
+:10ABA0000202020202020202020202020202020285
+:10ABB0000202020202020202020202020202020275
+:10ABC0000202020202020202020202020202020265
+:10ABD0000202020202020202020202020202020255
+:10ABE0000202020202020202020202020202020245
+:10ABF0000202020202020202020202020202020235
+:10AC00000202020202020202020202020202020224
+:10AC10000202020202020202020202020202020214
+:10AC20000202020202020202020202020202020204
+:10AC300002020202020202020202020202020202F4
+:10AC400002020202020202020202020202020202E4
+:10AC500002020202020202020202020202020202D4
+:10AC600002020202020202020202020202020202C4
+:10AC700002020202020202020202020202020202B4
+:10AC800002020202020202020202020202020202A4
+:10AC90000202020202020202020202020202020294
+:10ACA0000202020202020202020202020202020284
+:10ACB0000202020202020202020202020202020274
+:10ACC0000202020202020202020202020202020264
+:10ACD0000202020202020202020202020202020254
+:10ACE0000202020202020202020202020202020244
+:10ACF0000202020202020202020202020202020234
+:10AD00000202020202020202020202020202020223
+:10AD10000202020202020202020202020202020213
+:10AD20000202020202020202020202020202020203
+:10AD300002020202020202020202020202020202F3
+:10AD400002020202020202020202020202020202E3
+:10AD500002020202020202020202020202020202D3
+:10AD600002020202020202020202020202020202C3
+:10AD700002020202020202020202020202020202B3
+:10AD800002020202020202020202020202020202A3
+:10AD90000202020202020202020202020202020293
+:10ADA0000202020202020202020202020202020283
+:10ADB0000202020202020202020202020202020273
+:10ADC0000202020202020202020202020202020263
+:10ADD0000202020202020202020202020202020253
+:10ADE0000202020202020202020202020202020243
+:10ADF0000202020202020202020202020202020233
+:10AE00000202020202020202020202020202020222
+:10AE10000202020202020202020202020202020212
+:10AE20000202020202020202020202020202020202
+:10AE300002020202020202020202020202020202F2
+:10AE400002020202020202020202020202020202E2
+:10AE500002020202020202020202020202020202D2
+:10AE600002020202020202020202020202020202C2
+:10AE700002020202020202020202020202020202B2
+:10AE800002020202020202020202020202020202A2
+:10AE90000202020202020202020202020202020292
+:10AEA0000202020202020202020202020202020282
+:10AEB0000202020202020202020202020202020272
+:10AEC0000202020202020202020202020202020262
+:10AED0000202020202020202020202020202020252
+:10AEE0000202020202020202020202020202020242
+:10AEF0000202020202020202020202020202020232
+:10AF00000202020202020202020202020202020221
+:10AF10000202020202020202020202020202020211
+:10AF20000202020202020202020202020202020201
+:10AF300002020202020202020202020202020202F1
+:10AF400002020202020202020202020202020202E1
+:10AF500002020202020202020202020202020202D1
+:10AF600002020202020202020202020202020202C1
+:10AF700002020202020202020202020202020202B1
+:10AF800002020202020202020202020202020202A1
+:10AF90000202020202020202020202020202020291
+:10AFA0000202020202020202020202020202020281
+:10AFB0000202020202020202020202020202020271
+:10AFC0000202020202020202020202020202020261
+:10AFD0000202020202020202020202020202020251
+:10AFE0000202020202020202020202020202020241
+:10AFF0000202020202020202020202020202020231
+:10B000000202020202020202020202020202020220
+:10B010000202020202020202020202020202020210
+:10B020000202020202020202020202020202020200
+:10B0300002020202020202020202020202020202F0
+:10B0400002020202020202020202020202020202E0
+:10B0500002020202020202020202020202020202D0
+:10B0600002020202020202020202020202020202C0
+:10B0700002020202020202020202020202020202B0
+:10B0800002020202020202020202020202020202A0
+:10B090000202020202020202020202020202020290
+:10B0A0000202020202020202020202020202020280
+:10B0B0000202020202020202020202020202020270
+:10B0C0000202020202020202020202020202020260
+:10B0D0000202020202020202020202020202020250
+:10B0E0000202020202020202020202020202020240
+:10B0F0000202020202020202020202020202020230
+:10B10000020202020202020202020202020202021F
+:10B11000020202020202020202020202020202020F
+:10B1200002020202020202020202020202020202FF
+:10B1300002020202020202020202020202020202EF
+:10B1400002020202020202020202020202020202DF
+:10B1500002020202020202020202020202020202CF
+:10B1600002020202020202020202020202020202BF
+:10B1700002020202020202020202020202020202AF
+:10B18000020202020202020202020202020202029F
+:10B19000020202020202020202020202020202028F
+:10B1A000020202020202020202020202020202027F
+:10B1B000020202020202020202020202020202026F
+:10B1C000020202020202020202020202020202025F
+:10B1D000020202020202020202020202020202024F
+:10B1E000020202020202020202020202020202023F
+:10B1F000020202020202020202020202020202022F
+:10B20000020202020202020202020202020202021E
+:10B21000020202020202020202020202020202020E
+:10B2200002020202020202020202020202020202FE
+:10B2300002020202020202020202020202020202EE
+:10B2400002020202020202020202020202020202DE
+:10B2500002020202020202020202020202020202CE
+:10B2600002020202020202020202020202020202BE
+:10B2700002020202020202020202020202020202AE
+:10B28000020202020202020202020202020202029E
+:10B29000020202020202020202020202020202028E
+:10B2A000020202020202020202020202020202027E
+:10B2B000020202020202020202020202020202026E
+:10B2C000020202020202020202020202020202025E
+:10B2D000020202020202020202020202020202024E
+:10B2E000020202020202020202020202020202023E
+:10B2F000020202020202020202020202020202022E
+:10B30000020202020202020202020202020202021D
+:10B31000020202020202020202020202020202020D
+:10B3200002020202020202020202020202020202FD
+:10B3300002020202020202020202020202020202ED
+:10B3400002020202020202020202020202020202DD
+:10B3500002020202020202020202020202020202CD
+:10B3600002020202020202020202020202020202BD
+:10B3700002020202020202020202020202020202AD
+:10B38000020202020202020202020202020202029D
+:10B39000020202020202020202020202020202028D
+:10B3A000020202020202020202020202020202027D
+:10B3B000020202020202020202020202020202026D
+:10B3C000020202020202020202020202020202025D
+:10B3D000020202020202020202020202020202024D
+:10B3E000020202020202020202020202020202023D
+:10B3F000020202020202020202020202020202022D
+:10B40000020202020202020202020202020202021C
+:10B41000020202020202020202020202020202020C
+:10B4200002020202020202020202020202020202FC
+:10B4300002020202020202020202020202020202EC
+:10B4400002020202020202020202020202020202DC
+:10B4500002020202020202020202020202020202CC
+:10B4600002020202020202020202020202020202BC
+:10B4700002020202020202020202020202020202AC
+:10B48000020202020202020202020202020202029C
+:10B49000020202020202020202020202020202028C
+:10B4A000020202020202020202020202020202027C
+:10B4B000020202020202020202020202020202026C
+:10B4C000020202020202020202020202020202025C
+:10B4D000020202020202020202020202020202024C
+:10B4E000020202020202020202020202020202023C
+:10B4F000020202020202020202020202020202022C
+:10B50000020202020202020202020202020202021B
+:10B51000020202020202020202020202020202020B
+:10B5200002020202020202020202020202020202FB
+:10B5300002020202020202020202020202020202EB
+:10B5400002020202020202020202020202020202DB
+:10B5500002020202020202020202020202020202CB
+:10B5600002020202020202020202020202020202BB
+:10B5700002020202020202020202020202020202AB
+:10B58000020202020202020202020202020202029B
+:10B59000020202020202020202020202020202028B
+:10B5A000020202020202020202020202020202027B
+:10B5B000020202020202020202020202020202026B
+:10B5C000020202020202020202020202020202025B
+:10B5D000020202020202020202020202020202024B
+:10B5E000020202020202020202020202020202023B
+:10B5F000020202020202020202020202020202022B
+:10B60000020202020202020202020202020202021A
+:10B61000020202020202020202020202020202020A
+:10B6200002020202020202020202020202020202FA
+:10B6300002020202020202020202020202020202EA
+:10B6400002020202020202020202020202020202DA
+:10B6500002020202020202020202020202020202CA
+:10B6600002020202020202020202020202020202BA
+:10B6700002020202020202020202020202020202AA
+:10B68000020202020202020202020202020202029A
+:10B69000020202020202020202020202020202028A
+:10B6A000020202020202020202020202020202027A
+:10B6B000020202020202020202020202020202026A
+:10B6C000020202020202020202020202020202025A
+:10B6D000020202020202020202020202020202024A
+:10B6E000020202020202020202020202020202023A
+:10B6F000020202020202020202020202020202022A
+:10B700000202020202020202020202020202020219
+:10B710000202020202020202020202020202020209
+:10B7200002020202020202020202020202020202F9
+:10B7300002020202020202020202020202020202E9
+:10B7400002020202020202020202020202020202D9
+:10B7500002020202020202020202020202020202C9
+:10B7600002020202020202020202020202020202B9
+:10B7700002020202020202020202020202020202A9
+:10B780000202020202020202020202020202020299
+:10B790000202020202020202020202020202020289
+:10B7A0000202020202020202020202020202020279
+:10B7B0000202020202020202020202020202020269
+:10B7C0000202020202020202020202020202020259
+:10B7D0000202020202020202020202020202020249
+:10B7E0000202020202020202020202020202020239
+:10B7F0000202020202020202020202020202020229
+:10B800000202020202020202020202020202020218
+:10B810000202020202020202020202020202020208
+:10B8200002020202020202020202020202020202F8
+:10B8300002020202020202020202020202020202E8
+:10B8400002020202020202020202020202020202D8
+:10B8500002020202020202020202020202020202C8
+:10B8600002020202020202020202020202020202B8
+:10B8700002020202020202020202020202020202A8
+:10B880000202020202020202020202020202020298
+:10B890000202020202020202020202020202020288
+:10B8A0000202020202020202020202020202020278
+:10B8B0000202020202020202020202020202020268
+:10B8C0000202020202020202020202020202020258
+:10B8D0000202020202020202020202020202020248
+:10B8E0000202020202020202020202020202020238
+:10B8F0000202020202020202020202020202020228
+:10B900000202020202020202020202020202020217
+:10B910000202020202020202020202020202020207
+:10B9200002020202020202020202020202020202F7
+:10B9300002020202020202020202020202020202E7
+:10B9400002020202020202020202020202020202D7
+:10B9500002020202020202020202020202020202C7
+:10B9600002020202020202020202020202020202B7
+:10B9700002020202020202020202020202020202A7
+:10B980000202020202020202020202020202020297
+:10B990000202020202020202020202020202020287
+:10B9A0000202020202020202020202020202020277
+:10B9B0000202020202020202020202020202020267
+:10B9C0000202020202020202020202020202020257
+:10B9D0000202020202020202020202020202020247
+:10B9E0000202020202020202020202020202020237
+:10B9F0000202020202020202020202020202020227
+:10BA00000202020202020202020202020202020216
+:10BA10000202020202020202020202020202020206
+:10BA200002020202020202020202020202020202F6
+:10BA300002020202020202020202020202020202E6
+:10BA400002020202020202020202020202020202D6
+:10BA500002020202020202020202020202020202C6
+:10BA600002020202020202020202020202020202B6
+:10BA700002020202020202020202020202020202A6
+:10BA80000202020202020202020202020202020296
+:10BA90000202020202020202020202020202020286
+:10BAA0000202020202020202020202020202020276
+:10BAB0000202020202020202020202020202020266
+:10BAC0000202020202020202020202020202020256
+:10BAD0000202020202020202020202020202020246
+:10BAE0000202020202020202020202020202020236
+:10BAF0000202020202020202020202020202020028
+:10BB00000000000000000000000000000000000035
+:10BB10000000000000000000000000000000000025
+:10BB20000000000000000000000000000000000015
+:10BB30000000000000000000000000000000000005
+:10BB400000000000000000000000000000000000F5
+:10BB500000000000000000000000000000000000E5
+:10BB600000000000000000000000000000000000D5
+:10BB700000000000000000000000000000000000C5
+:10BB800000000000000000000000000000000000B5
+:10BB900000000000000000000000000000000000A5
+:10BBA0000000000000000000000000000000000095
+:10BBB0000000000000000000000000000000000085
+:10BBC0000000000000000000000000000000000075
+:10BBD0000000000000000000000000000000000065
+:10BBE0000000000000000000000000000000000055
+:10BBF0000000000000000000000000000000000045
+:10BC00000000000000000000000000000000000034
+:10BC10000000000000000000000000000000000024
+:10BC20000000000000000000000000000000000014
+:10BC30000000000000000000000000000000000004
+:10BC400000000000000000000000000000000000F4
+:10BC500000000000000000000000000000000000E4
+:10BC600000000000000000000000000000000000D4
+:10BC700000000000000000000000000000000000C4
+:10BC800000000000000000000000000000000000B4
+:10BC900000000000000000000000000000000000A4
+:10BCA0000000000000000000000000000000000094
+:10BCB0000000000000000000000000000000000084
+:10BCC0000000000000000000000000000000000074
+:10BCD0000000000000000000000000000000000064
+:10BCE0000000000000000000000000000000000054
+:10BCF0000000000000000000000000000000000044
+:10BD00000000000000000000000000000000000033
+:10BD10000000000000000000000000000000000023
+:10BD20000000000000000000000000000000000013
+:10BD30000000000000000000000000000000000003
+:10BD400000000000000000000000000000000000F3
+:10BD500000000000000000000000000000000000E3
+:10BD600000000000000000000000000000000000D3
+:10BD700000000000000000000000000000000000C3
+:10BD800000000000000000000000000000000000B3
+:10BD900000000000000000000000000000000000A3
+:10BDA0000000000000000000000000000000000093
+:10BDB0000000000000000000000000000000000083
+:10BDC0000000000000000000000000000000000073
+:10BDD0000000000000000000000000000000000063
+:10BDE0000000000000000000000000000000000053
+:10BDF0000000000000000000000000000000000043
+:10BE00000000000000000000000000000000000032
+:10BE10000000000000000000000000000000000022
+:10BE20000000000000000000000000000000000012
+:10BE30000000000000000000000000000000000002
+:10BE400000000000000000000000000000000000F2
+:10BE500000000000000000000000000000000000E2
+:10BE600000000000000000000000000000000000D2
+:10BE700000000000000000000000000000000000C2
+:10BE800000000000000000000000000000000000B2
+:10BE900000000000000000000000000000000000A2
+:10BEA0000000000000000000000000000000000092
+:10BEB0000000000000000000000000000000000082
+:10BEC0000000000000000000000000000000000072
+:10BED0000000000000000000000000000000000062
+:10BEE0000000000000000000000000000000000052
+:10BEF0000000000000000000000000000000000042
+:10BF00000000000000000000000000000000000031
+:10BF10000000000000000000000000000000000021
+:10BF20000000000000000000000000000000000011
+:10BF30000000000000000000000000000000000001
+:10BF400000000000000000000000000000000000F1
+:10BF500000000000000000000000000000000000E1
+:10BF600000000000000000000000000000000000D1
+:10BF700000000000000000000000000000000000C1
+:10BF800000000000000000000000000000000000B1
+:10BF900000000000000000000000000000000000A1
+:10BFA0000000000000000000000000000000000091
+:10BFB0000000000000000000000000000000000081
+:10BFC0000000000000000000000000000000000071
+:10BFD0000000000000000000000000000000000061
+:10BFE0000000000000000000000000000000000051
+:10BFF0000000000000000000000000000000000041
+:10C000000000000000000000000000000000000030
+:10C010000000000000000000000000000000000020
+:10C020000000000000000000000000000000000010
+:10C030000000000000000000000000000000000000
+:10C0400000000000000000000000000000000000F0
+:10C0500000000000000000000000000000000000E0
+:10C0600000000000000000000000000000000000D0
+:10C0700000000000000000000000000000000000C0
+:10C0800000000000000000000000000000000000B0
+:10C0900000000000000000000000000000000000A0
+:10C0A0000000000000000000000000000000000090
+:10C0B0000000000000000000000000000000000080
+:10C0C0000000000000000000000000000000000070
+:10C0D0000000000000000000000000000000000060
+:10C0E0000000000000000000000000000000000050
+:10C0F0000000000000000000000000000000005BE5
+:10C100000000000000000001010101010101010126
+:10C11000010101010101010101010101010101010F
+:10C1200001010101010101010101010101010101FF
+:10C1300001010101010101010101010101010101EF
+:10C1400001010101010101010101010101010101DF
+:10C1500001010101010101010101010101010101CF
+:10C1600001010101010101010101010101010101BF
+:10C1700001010101010101010101010101010101AF
+:10C18000010101010101010101010101010101019F
+:10C19000010101010101010101010101010101018F
+:10C1A000010101010101010101010101010101017F
+:10C1B000010101010101010101010101010101016F
+:10C1C000010101010101010101010101010101015F
+:10C1D000010101010101010101010101010101014F
+:10C1E000010101010101010101010101010101013F
+:10C1F000010101010101010101010101010101012F
+:10C20000010101010101010101010101010101011E
+:10C21000010101010101010101010101010101010E
+:10C2200001010101010101010101010101010101FE
+:10C2300001010101010101010101010101010101EE
+:10C2400001010101010101010101010101010101DE
+:10C2500001010101010101010101010101010101CE
+:10C2600001010101010101010101010101010101BE
+:10C2700001010101010101010101010101010101AE
+:10C28000010101010101010101010101010101019E
+:10C29000010101010101010101010101010101018E
+:10C2A000010101010101010101010101010101017E
+:10C2B000010101010101010101010101010101016E
+:10C2C000010101010101010101010101010101015E
+:10C2D000010101010101010101010101010101014E
+:10C2E000010101010101010101010101010101013E
+:10C2F000010101010101010101010101010101012E
+:10C30000010101010101010101010101010101011D
+:10C31000010101010101010101010101010101010D
+:10C3200001010101010101010101010101010101FD
+:10C3300001010101010101010101010101010101ED
+:10C3400001010101010101010101010101010101DD
+:10C3500001010101010101010101010101010101CD
+:10C3600001010101010101010101010101010101BD
+:10C3700001010101010101010101010101010101AD
+:10C38000010101010101010101010101010101019D
+:10C39000010101010101010101010101010101018D
+:10C3A000010101010101010101010101010101017D
+:10C3B000010101010101010101010101010101016D
+:10C3C000010101010101010101010101010101015D
+:10C3D000010101010101010101010101010101014D
+:10C3E000010101010101010101010101010101013D
+:10C3F000010101010101010101010101010101012D
+:10C40000010101010101010101010101010101011C
+:10C41000010101010101010101010101010101010C
+:10C4200001010101010101010101010101010101FC
+:10C4300001010101010101010101010101010101EC
+:10C4400001010101010101010101010101010101DC
+:10C4500001010101010101010101010101010101CC
+:10C4600001010101010101010101010101010101BC
+:10C4700001010101010101010101010101010101AC
+:10C48000010101010101010101010101010101019C
+:10C49000010101010101010101010101010101018C
+:10C4A000010101010101010101010101010101017C
+:10C4B000010101010101010101010101010101016C
+:10C4C000010101010101010101010101010101015C
+:10C4D000010101010101010101010101010101014C
+:10C4E000010101010101010101010101010101013C
+:10C4F000010101010101010101010101010101012C
+:10C50000010101010101010101010101010101011B
+:10C51000010101010101010101010101010101010B
+:10C5200001010101010101010101010101010101FB
+:10C5300001010101010101010101010101010101EB
+:10C5400001010101010101010101010101010101DB
+:10C5500001010101010101010101010101010101CB
+:10C5600001010101010101010101010101010101BB
+:10C5700001010101010101010101010101010101AB
+:10C58000010101010101010101010101010101019B
+:10C59000010101010101010101010101010101018B
+:10C5A000010101010101010101010101010101017B
+:10C5B000010101010101010101010101010101016B
+:10C5C000010101010101010101010101010101015B
+:10C5D000010101010101010101010101010101014B
+:10C5E000010101010101010101010101010101013B
+:10C5F000010101010101010101010101010101012B
+:10C60000010101010101010101010101010101011A
+:10C61000010101010101010101010101010101010A
+:10C6200001010101010101010101010101010101FA
+:10C6300001010101010101010101010101010101EA
+:10C6400001010101010101010101010101010101DA
+:10C6500001010101010101010101010101010101CA
+:10C6600001010101010101010101010101010101BA
+:10C6700001010101010101010101010101010101AA
+:10C68000010101010101010101010101010101019A
+:10C69000010101010101010101010101010101018A
+:10C6A000010101010101010101010101010101017A
+:10C6B000010101010101010101010101010101016A
+:10C6C000010101010101010101010101010101015A
+:10C6D000010101010101010101010101010101014A
+:10C6E000010101010101010101010101010101013A
+:10C6F000010101010101010101010101010101012A
+:10C700000101010101010101010101010101010119
+:10C710000101010101010101010101010101010109
+:10C7200001010101010101010101010101010101F9
+:10C7300001010101010101010101010101010101E9
+:10C7400001010101010101010101010101010101D9
+:10C7500001010101010101010101010101010101C9
+:10C7600001010101010101010101010101010101B9
+:10C7700001010101010101010101010101010101A9
+:10C780000101010101010101010101010101010199
+:10C790000101010101010101010101010101010189
+:10C7A0000101010101010101010101010101010179
+:10C7B0000101010101010101010101010101010169
+:10C7C0000101010101010101010101010101010159
+:10C7D0000101010101010101010101010101010149
+:10C7E0000101010101010101010101010101010139
+:10C7F0000101010101010101010101010101010129
+:10C800000101010101010101010101010101010118
+:10C810000101010101010101010101010101010108
+:10C8200001010101010101010101010101010101F8
+:10C8300001010101010101010101010101010101E8
+:10C8400001010101010101010101010101010101D8
+:10C8500001010101010101010101010101010101C8
+:10C8600001010101010101010101010101010101B8
+:10C8700001010101010101010101010101010101A8
+:10C880000101010101010101010101010101010198
+:10C890000101010101010101010101010101010188
+:10C8A0000101010101010101010101010101010178
+:10C8B0000101010101010101010101010101010168
+:10C8C0000101010101010101010101010101010158
+:10C8D0000101010101010101010101010101010148
+:10C8E0000101010101010101010101010101010138
+:10C8F0000101010101010101010101010101010128
+:10C900000101010101010101010101010101010117
+:10C910000101010101010101010101010101010107
+:10C9200001010101010101010101010101010101F7
+:10C9300001010101010101010101010101010101E7
+:10C9400001010101010101010101010101010101D7
+:10C9500001010101010101010101010101010101C7
+:10C9600001010101010101010101010101010101B7
+:10C9700001010101010101010101010101010101A7
+:10C980000101010101010101010101010101010197
+:10C990000101010101010101010101010101010187
+:10C9A0000101010101010101010101010101010177
+:10C9B0000101010101010101010101010101010167
+:10C9C0000101010101010101010101010101010157
+:10C9D0000101010101010101010101010101010147
+:10C9E0000101010101010101010101010101010137
+:10C9F0000101010101010101010101010101010127
+:10CA00000101010101010101010101010101010116
+:10CA10000101010101010101010101010101010106
+:10CA200001010101010101010101010101010101F6
+:10CA300001010101010101010101010101010101E6
+:10CA400001010101010101010101010101010101D6
+:10CA500001010101010101010101010101010101C6
+:10CA600001010101010101010101010101010101B6
+:10CA700001010101010101010101010101010101A6
+:10CA80000101010101010101010101010101010196
+:10CA90000101010101010101010101010101010186
+:10CAA0000101010101010101010101010101010176
+:10CAB0000101010101010101010101010101010166
+:10CAC0000101010101010101010101010101010156
+:10CAD0000101010101010101010101010101010146
+:10CAE0000101010101010101010101010101010136
+:10CAF0000101010101010101010101010101010126
+:10CB00000101010101010101010101010101010115
+:10CB10000101010101010101010101010101010105
+:10CB200001010101010101010101010101010101F5
+:10CB300001010101010101010101010101010101E5
+:10CB400001010101010101010101010101010101D5
+:10CB500001010101010101010101010101010101C5
+:10CB600001010101010101010101010101010101B5
+:10CB700001010101010101010101010101010101A5
+:10CB80000101010101010101010101010101010195
+:10CB90000101010101010101010101010101010185
+:10CBA0000101010101010101010101010101010175
+:10CBB0000101010101010101010101010101010165
+:10CBC0000101010101010101010101010101010155
+:10CBD0000101010101010101010101010101010145
+:10CBE0000101010101010101010101010101010135
+:10CBF0000101010101010101010101010101010125
+:10CC00000101010101010101010101010101010114
+:10CC10000101010101010101010101010101010104
+:10CC200001010101010101010101010101010101F4
+:10CC300001010101010101010101010101010101E4
+:10CC400001010101010101010101010101010101D4
+:10CC500001010101010101010101010101010101C4
+:10CC600001010101010101010101010101010101B4
+:10CC700001010101010101010101010101010101A4
+:10CC80000101010101010101010101010101010194
+:10CC90000101010101010101010101010101010184
+:10CCA0000101010101010101010101010101010174
+:10CCB0000101010101010101010101010101010164
+:10CCC0000101010101010101010101010101010154
+:10CCD0000101010101010101010101010101010144
+:10CCE0000101010101010101010101010101010134
+:10CCF0000101010101010101010101010101010124
+:10CD00000101010101010101010101010101010113
+:10CD10000101010101010101010101010101010103
+:10CD200001010101010101010101010101010101F3
+:10CD300001010101010101010101010101010101E3
+:10CD400001010101010101010101010101010101D3
+:10CD500001010101010101010101010101010101C3
+:10CD600001010101010101010101010101010101B3
+:10CD700001010101010101010101010101010101A3
+:10CD80000101010101010101010101010101010193
+:10CD90000101010101010101010101010101010183
+:10CDA0000101010101010101010101010101010173
+:10CDB0000101010101010101010101010101010163
+:10CDC0000101010101010101010101010101010153
+:10CDD0000101010101010101010101010101010143
+:10CDE0000101010101010101010101010101010133
+:10CDF0000101010101010101010101010101010123
+:10CE00000101010101010101010101010101010112
+:10CE10000101010101010101010101010101010102
+:10CE200001010101010101010101010101010101F2
+:10CE300001010101010101010101010101010101E2
+:10CE400001010101010101010101010101010101D2
+:10CE500001010101010101010101010101010101C2
+:10CE600001010101010101010101010101010101B2
+:10CE700001010101010101010101010101010101A2
+:10CE80000101010101010101010101010101010192
+:10CE90000101010101010101010101010101010182
+:10CEA0000101010101010101010101010101010172
+:10CEB0000101010101010101010101010101010162
+:10CEC0000101010101010101010101010101010152
+:10CED0000101010101010101010101010101010142
+:10CEE0000101010101010101010101010101010132
+:10CEF0000101010101010101010101010101010122
+:10CF00000101010101010101010101010101010111
+:10CF10000101010101010101010101010101010101
+:10CF200001010101010101010101010101010101F1
+:10CF300001010101010101010101010101010101E1
+:10CF400001010101010101010101010101010101D1
+:10CF500001010101010101010101010101010101C1
+:10CF600001010101010101010101010101010101B1
+:10CF700001010101010101010101010101010101A1
+:10CF80000101010101010101010101010101010191
+:10CF90000101010101010101010101010101010181
+:10CFA0000101010101010101010101010101010171
+:10CFB0000101010101010101010101010101010161
+:10CFC0000101010101010101010101010101010151
+:10CFD0000101010101010101010101010101010141
+:10CFE0000101010101010101010101010101010131
+:10CFF0000101010101010101010101010101010121
+:10D000000101010101010100000000000000000019
+:10D010000000000000000000000000000000000010
+:10D020000000000000000000000000000000000000
+:10D0300000000000000000000000000000000000F0
+:10D0400000000000000000000000000000000000E0
+:10D0500000000000000000000000000000000000D0
+:10D0600000000000000000000000000000000000C0
+:10D0700000000000000000000000000000000000B0
+:10D0800000000000000000000000000000000000A0
+:10D090000000000000000000000000000000000090
+:10D0A0000000000000000000000000000000000080
+:10D0B0000000000000000000000000000000000070
+:10D0C0000000000000000000000000000000000060
+:10D0D0000000000000000000000000000000000050
+:10D0E0000000000000000000000000000000000040
+:10D0F0000000000000000000000000000000000030
+:10D10000000000000000000000000000000000001F
+:10D11000000000000000000000000000000000000F
+:10D1200000000000000000000000000000000000FF
+:10D1300000000000000000000000000000000000EF
+:10D1400000000000000000000000000000000000DF
+:10D1500000000000000000000000000000000000CF
+:10D1600000000000000000000000000000000000BF
+:10D1700000000000000000000000000000000000AF
+:10D18000000000000000000000000000000000009F
+:10D19000000000000000000000000000000000008F
+:10D1A000000000000000000000000000000000007F
+:10D1B000000000000000000000000000000000006F
+:10D1C000000000000000000000000000000000005F
+:10D1D000000000000000000000000000000000004F
+:10D1E000000000000000000000000000000000003F
+:10D1F000000000000000000000000000000000002F
+:10D20000000000000000000000000000000000001E
+:10D21000000000000000000000000000000000000E
+:10D2200000000000000000000000000000000000FE
+:10D2300000000000000000000000000000000000EE
+:10D2400000000000000000000000000000000000DE
+:10D2500000000000000000000000000000000000CE
+:10D2600000000000000000000000000000000000BE
+:10D2700000000000000000000000000000000000AE
+:10D28000000000000000000000000000000000009E
+:10D29000000000000000000000000000000000008E
+:10D2A000000000000000000000000000000000007E
+:10D2B000000000000000000000000000000000006E
+:10D2C000000000000000000000000000000000005E
+:10D2D000000000000000000000000000000000004E
+:10D2E000000000000000000000000000000000003E
+:10D2F000000000000000000000000000000000002E
+:10D30000000000000000000000000000000000001D
+:10D31000000000000000000000000000000000000D
+:10D3200000000000000000000000000000000000FD
+:10D3300000000000000000000000000000000000ED
+:10D3400000000000000000000000000000000000DD
+:10D3500000000000000000000000000000000000CD
+:10D3600000000000000000000000000000000000BD
+:10D3700000000000000000000000000000000000AD
+:10D38000000000000000000000000000000000009D
+:10D39000000000000000000000000000000000008D
+:10D3A000000000000000000000000000000000007D
+:10D3B000000000000000000000000000000000006D
+:10D3C000000000000000000000000000000000005D
+:10D3D000000000000000000000000000000000004D
+:10D3E000000000000000000000000000000000003D
+:10D3F000000000000000000000000000000000002D
+:10D40000000000000000000000000000000000001C
+:10D41000000000000000000000000000000000000C
+:10D4200000000000000000000000000000000000FC
+:10D4300000000000000000000000000000000000EC
+:10D4400000000000000000000000000000000000DC
+:10D4500000000000000000000000000000000000CC
+:10D4600000000000000000000000000000000000BC
+:10D4700000000000000000000000000000000000AC
+:10D48000000000000000000000000000000000009C
+:10D49000000000000000000000000000000000008C
+:10D4A000000000000000000000000000000000007C
+:10D4B000000000000000000000000000000000006C
+:10D4C000000000000000000000000000000000005C
+:10D4D000000000000000000000000000000000004C
+:10D4E000000000000000000000000000000000003C
+:10D4F000000000000000000000000000000000002C
+:10D50000000000000000000000000000000000001B
+:10D51000000000000000000000000000000000000B
+:10D5200000000000000000000000000000000000FB
+:10D5300000000000000000000000000000000000EB
+:10D5400000000000000000000000000000000000DB
+:10D5500000000000000000000000000000000000CB
+:10D5600000000000000000000000000000000000BB
+:10D5700000000000000000000000000000000000AB
+:10D58000000000000000000000000000000000009B
+:10D59000000000000000000000000000000000008B
+:10D5A000000000000000000000000000000000007B
+:10D5B000000000000000000000000000000000006B
+:10D5C000000000000000000000000000000000005B
+:10D5D000000000000000000000000000000000004B
+:10D5E000000000000000000000000000000000003B
+:10D5F000000000000000000000000000000000002B
+:10D60000000000000000000000000000000000001A
+:10D61000000000000000000000000000000000000A
+:10D6200000000000000000000000000000000000FA
+:10D6300000000000000000000000000000000000EA
+:10D6400000000000000000000000000000000000DA
+:10D6500000000000000000000000000000000000CA
+:10D6600000000000000000000000000000000000BA
+:10D6700000000000000000000000000000000000AA
+:10D68000000000000000000000000000000000009A
+:10D69000000000000000000000000000000000008A
+:10D6A000000000000000000000000000000000007A
+:10D6B000000000000000000000000000000000006A
+:10D6C000000000000000000000000000000000005A
+:10D6D000000000000000000000000000000000004A
+:10D6E000000000000000000000000000000000003A
+:10D6F000000000000000000000000000000000002A
+:10D700000000000000000002020202020202020207
+:10D7100002020202020202020202020202020202E9
+:10D7200002020202020202020202020202020202D9
+:10D7300002020202020202020202020202020202C9
+:10D7400002020202020202020202020202020202B9
+:10D7500002020202020202020202020202020202A9
+:10D760000202020202020202020202020202020299
+:10D770000202020202020202020202020202020289
+:10D780000202020202020202020202020202020279
+:10D790000202020202020202020202020202020269
+:10D7A0000202020202020202020202020202020259
+:10D7B0000202020202020202020202020202020249
+:10D7C0000202020202020202020202020202020239
+:10D7D0000202020202020202020202020202020229
+:10D7E0000202020202020202020202020202020219
+:10D7F0000202020202020202020202020202020209
+:10D8000002020202020202020202020202020202F8
+:10D8100002020202020202020202020202020202E8
+:10D8200002020202020202020202020202020202D8
+:10D8300002020202020202020202020202020202C8
+:10D8400002020202020202020202020202020202B8
+:10D8500002020202020202020202020202020202A8
+:10D860000202020202020202020202020202020298
+:10D870000202020202020202020202020202020288
+:10D880000202020202020202020202020202020278
+:10D890000202020202020202020202020202020268
+:10D8A0000202020202020202020202020202020258
+:10D8B0000202020202020202020202020202020248
+:10D8C0000202020202020202020202020202020238
+:10D8D0000202020202020202020202020202020228
+:10D8E0000202020202020202020202020202020218
+:10D8F0000202020202020202020202020202020208
+:10D9000002020202020202020202020202020202F7
+:10D9100002020202020202020202020202020202E7
+:10D9200002020202020202020202020202020202D7
+:10D9300002020202020202020202020202020202C7
+:10D9400002020202020202020202020202020202B7
+:10D9500002020202020202020202020202020202A7
+:10D960000202020202020202020202020202020297
+:10D970000202020202020202020202020202020287
+:10D980000202020202020202020202020202020277
+:10D990000202020202020202020202020202020267
+:10D9A0000202020202020202020202020202020257
+:10D9B0000202020202020202020202020202020247
+:10D9C0000202020202020202020202020202020237
+:10D9D0000202020202020202020202020202020227
+:10D9E0000202020202020202020202020202020217
+:10D9F0000202020202020202020202020202020207
+:10DA000002020202020202020202020202020202F6
+:10DA100002020202020202020202020202020202E6
+:10DA200002020202020202020202020202020202D6
+:10DA300002020202020202020202020202020202C6
+:10DA400002020202020202020202020202020202B6
+:10DA500002020202020202020202020202020202A6
+:10DA60000202020202020202020202020202020296
+:10DA70000202020202020202020202020202020286
+:10DA80000202020202020202020202020202020276
+:10DA90000202020202020202020202020202020266
+:10DAA0000202020202020202020202020202020256
+:10DAB0000202020202020202020202020202020246
+:10DAC0000202020202020202020202020202020236
+:10DAD0000202020202020202020202020202020226
+:10DAE0000202020202020202020202020202020216
+:10DAF0000202020202020202020202020202020206
+:10DB000002020202020202020202020202020202F5
+:10DB100002020202020202020202020202020202E5
+:10DB200002020202020202020202020202020202D5
+:10DB300002020202020202020202020202020202C5
+:10DB400002020202020202020202020202020202B5
+:10DB500002020202020202020202020202020202A5
+:10DB60000202020202020202020202020202020295
+:10DB70000202020202020202020202020202020285
+:10DB80000202020202020202020202020202020275
+:10DB90000202020202020202020202020202020265
+:10DBA0000202020202020202020202020202020255
+:10DBB0000202020202020202020202020202020245
+:10DBC0000202020202020202020202020202020235
+:10DBD0000202020202020202020202020202020225
+:10DBE0000202020202020202020202020202020215
+:10DBF0000202020202020202020202020202020205
+:10DC000002020202020202020202020202020202F4
+:10DC100002020202020202020202020202020202E4
+:10DC200002020202020202020202020202020202D4
+:10DC300002020202020202020202020202020202C4
+:10DC400002020202020202020202020202020202B4
+:10DC500002020202020202020202020202020202A4
+:10DC60000202020202020202020202020202020294
+:10DC70000202020202020202020202020202020284
+:10DC80000202020202020202020202020202020274
+:10DC90000202020202020202020202020202020264
+:10DCA0000202020202020202020202020202020254
+:10DCB0000202020202020202020202020202020244
+:10DCC0000202020202020202020202020202020234
+:10DCD0000202020202020202020202020202020224
+:10DCE0000202020202020202020202020202020214
+:10DCF0000202020202020202020202020202020204
+:10DD000002020202020202020202020202020202F3
+:10DD100002020202020202020202020202020202E3
+:10DD200002020202020202020202020202020202D3
+:10DD300002020202020202020202020202020202C3
+:10DD400002020202020202020202020202020202B3
+:10DD500002020202020202020202020202020202A3
+:10DD60000202020202020202020202020202020293
+:10DD70000202020202020202020202020202020283
+:10DD80000202020202020202020202020202020273
+:10DD90000202020202020202020202020202020263
+:10DDA0000202020202020202020202020202020253
+:10DDB0000202020202020202020202020202020243
+:10DDC0000202020202020202020202020202020233
+:10DDD0000202020202020202020202020202020223
+:10DDE0000202020202020202020202020202020213
+:10DDF0000202020202020202020202020202020203
+:10DE000002020202020202020202020202020202F2
+:10DE100002020202020202020202020202020202E2
+:10DE200002020202020202020202020202020202D2
+:10DE300002020202020202020202020202020202C2
+:10DE400002020202020202020202020202020202B2
+:10DE500002020202020202020202020202020202A2
+:10DE60000202020202020202020202020202020292
+:10DE70000202020202020202020202020202020282
+:10DE80000202020202020202020202020202020272
+:10DE90000202020202020202020202020202020262
+:10DEA0000202020202020202020202020202020252
+:10DEB0000202020202020202020202020202020242
+:10DEC0000202020202020202020202020202020232
+:10DED0000202020202020202020202020202020222
+:10DEE0000202020202020202020202020202020212
+:10DEF0000202020202020202020202020202020202
+:10DF000002020202020202020202020202020202F1
+:10DF100002020202020202020202020202020202E1
+:10DF200002020202020202020202020202020202D1
+:10DF300002020202020202020202020202020202C1
+:10DF400002020202020202020202020202020202B1
+:10DF500002020202020202020202020202020202A1
+:10DF60000202020202020202020202020202020291
+:10DF70000202020202020202020202020202020281
+:10DF80000202020202020202020202020202020271
+:10DF90000202020202020202020202020202020261
+:10DFA0000202020202020202020202020202020251
+:10DFB0000202020202020202020202020202020241
+:10DFC0000202020202020202020202020202020231
+:10DFD0000202020202020202020202020202020221
+:10DFE0000202020202020202020202020202020211
+:10DFF0000202020202020202020202020202020201
+:10E0000002020202020202020202020202020202F0
+:10E0100002020202020202020202020202020202E0
+:10E0200002020202020202020202020202020202D0
+:10E0300002020202020202020202020202020202C0
+:10E0400002020202020202020202020202020202B0
+:10E0500002020202020202020202020202020202A0
+:10E060000202020202020202020202020202020290
+:10E070000202020202020202020202020202020280
+:10E080000202020202020202020202020202020270
+:10E090000202020202020202020202020202020260
+:10E0A0000202020202020202020202020202020250
+:10E0B0000202020202020202020202020202020240
+:10E0C0000202020202020202020202020202020230
+:10E0D0000202020202020202020202020202020220
+:10E0E0000202020202020202020202020202020210
+:10E0F0000202020202020202020202020202020200
+:10E1000002020202020202020202020202020202EF
+:10E1100002020202020202020202020202020202DF
+:10E1200002020202020202020202020202020202CF
+:10E1300002020202020202020202020202020202BF
+:10E1400002020202020202020202020202020202AF
+:10E15000020202020202020202020202020202029F
+:10E16000020202020202020202020202020202028F
+:10E17000020202020202020202020202020202027F
+:10E18000020202020202020202020202020202026F
+:10E19000020202020202020202020202020202025F
+:10E1A000020202020202020202020202020202024F
+:10E1B000020202020202020202020202020202023F
+:10E1C000020202020202020202020202020202022F
+:10E1D000020202020202020202020202020202021F
+:10E1E000020202020202020202020202020202020F
+:10E1F00002020202020202020202020202020202FF
+:10E2000002020202020202020202020202020202EE
+:10E2100002020202020202020202020202020202DE
+:10E2200002020202020202020202020202020202CE
+:10E2300002020202020202020202020202020202BE
+:10E2400002020202020202020202020202020202AE
+:10E25000020202020202020202020202020202029E
+:10E26000020202020202020202020202020202028E
+:10E27000020202020202020202020202020202027E
+:10E28000020202020202020202020202020202026E
+:10E29000020202020202020202020202020202025E
+:10E2A000020202020202020202020202020202024E
+:10E2B000020202020202020202020202020202023E
+:10E2C000020202020202020202020202020202022E
+:10E2D000020202020202020202020202020202021E
+:10E2E000020202020202020202020202020202020E
+:10E2F00002020202020202020202020202020202FE
+:10E3000002020202020202020202020202020202ED
+:10E3100002020202020202020202020202020202DD
+:10E3200002020202020202020202020202020202CD
+:10E3300002020202020202020202020202020202BD
+:10E3400002020202020202020202020202020202AD
+:10E35000020202020202020202020202020202029D
+:10E36000020202020202020202020202020202028D
+:10E37000020202020202020202020202020202027D
+:10E38000020202020202020202020202020202026D
+:10E39000020202020202020202020202020202025D
+:10E3A000020202020202020202020202020202024D
+:10E3B000020202020202020202020202020202023D
+:10E3C000020202020202020202020202020202022D
+:10E3D000020202020202020202020202020202021D
+:10E3E000020202020202020202020202020202020D
+:10E3F00002020202020202020202020202020202FD
+:10E4000002020202020202020202020202020202EC
+:10E4100002020202020202020202020202020202DC
+:10E4200002020202020202020202020202020202CC
+:10E4300002020202020202020202020202020202BC
+:10E4400002020202020202020202020202020202AC
+:10E45000020202020202020202020202020202029C
+:10E46000020202020202020202020202020202028C
+:10E47000020202020202020202020202020202027C
+:10E48000020202020202020202020202020202026C
+:10E49000020202020202020202020202020202025C
+:10E4A000020202020202020202020202020202024C
+:10E4B000020202020202020202020202020202023C
+:10E4C000020202020202020202020202020202022C
+:10E4D000020202020202020202020202020202021C
+:10E4E000020202020202020202020202020202020C
+:10E4F00002020202020202020202020202020202FC
+:10E5000002020202020202020202020202020202EB
+:10E5100002020202020202020202020202020202DB
+:10E5200002020202020202020202020202020202CB
+:10E5300002020202020202020202020202020202BB
+:10E5400002020202020202020202020202020202AB
+:10E55000020202020202020202020202020202029B
+:10E56000020202020202020202020202020202028B
+:10E57000020202020202020202020202020202027B
+:10E58000020202020202020202020202020202026B
+:10E59000020202020202020202020202020202025B
+:10E5A000020202020202020202020202020202024B
+:10E5B000020202020202020202020202020202023B
+:10E5C000020202020202020202020202020202022B
+:10E5D000020202020202020202020202020202021B
+:10E5E000020202020202020202020202020202020B
+:10E5F00002020202020202020202020202020202FB
+:10E6000002020202020202000000000000000000FC
+:10E6100000000000000000000000000000000000FA
+:10E6200000000000000000000000000000000000EA
+:10E6300000000000000000000000000000000000DA
+:10E6400000000000000000000000000000000000CA
+:10E6500000000000000000000000000000000000BA
+:10E6600000000000000000000000000000000000AA
+:10E67000000000000000000000000000000000009A
+:10E68000000000000000000000000000000000008A
+:10E69000000000000000000000000000000000007A
+:10E6A000000000000000000000000000000000006A
+:10E6B000000000000000000000000000000000005A
+:10E6C000000000000000000000000000000000004A
+:10E6D000000000000000000000000000000000003A
+:10E6E000000000000000000000000000000000002A
+:10E6F000000000000000000000000000000000001A
+:10E700000000000000000000000000000000000009
+:10E7100000000000000000000000000000000000F9
+:10E7200000000000000000000000000000000000E9
+:10E7300000000000000000000000000000000000D9
+:10E7400000000000000000000000000000000000C9
+:10E7500000000000000000000000000000000000B9
+:10E7600000000000000000000000000000000000A9
+:10E770000000000000000000000000000000000099
+:10E780000000000000000000000000000000000089
+:10E790000000000000000000000000000000000079
+:10E7A0000000000000000000000000000000000069
+:10E7B0000000000000000000000000000000000059
+:10E7C0000000000000000000000000000000000049
+:10E7D0000000000000000000000000000000000039
+:10E7E0000000000000000000000000000000000029
+:10E7F0000000000000000000000000000000000019
+:10E800000000000000000000000000000000000008
+:10E8100000000000000000000000000000000000F8
+:10E8200000000000000000000000000000000000E8
+:10E8300000000000000000000000000000000000D8
+:10E8400000000000000000000000000000000000C8
+:10E8500000000000000000000000000000000000B8
+:10E8600000000000000000000000000000000000A8
+:10E870000000000000000000000000000000000098
+:10E880000000000000000000000000000000000088
+:10E890000000000000000000000000000000000078
+:10E8A0000000000000000000000000000000000068
+:10E8B0000000000000000000000000000000000058
+:10E8C0000000000000000000000000000000000048
+:10E8D0000000000000000000000000000000000038
+:10E8E0000000000000000000000000000000000028
+:10E8F0000000000000000000000000000000000018
+:10E900000000000000000000000000000000000007
+:10E9100000000000000000000000000000000000F7
+:10E9200000000000000000000000000000000000E7
+:10E9300000000000000000000000000000000000D7
+:10E9400000000000000000000000000000000000C7
+:10E9500000000000000000000000000000000000B7
+:10E9600000000000000000000000000000000000A7
+:10E970000000000000000000000000000000000097
+:10E980000000000000000000000000000000000087
+:10E990000000000000000000000000000000000077
+:10E9A0000000000000000000000000000000000067
+:10E9B0000000000000000000000000000000000057
+:10E9C0000000000000000000000000000000000047
+:10E9D0000000000000000000000000000000000037
+:10E9E0000000000000000000000000000000000027
+:10E9F0000000000000000000000000000000000017
+:10EA00000000000000000000000000000000000006
+:10EA100000000000000000000000000000000000F6
+:10EA200000000000000000000000000000000000E6
+:10EA300000000000000000000000000000000000D6
+:10EA400000000000000000000000000000000000C6
+:10EA500000000000000000000000000000000000B6
+:10EA600000000000000000000000000000000000A6
+:10EA70000000000000000000000000000000000096
+:10EA80000000000000000000000000000000000086
+:10EA90000000000000000000000000000000000076
+:10EAA0000000000000000000000000000000000066
+:10EAB0000000000000000000000000000000000056
+:10EAC0000000000000000000000000000000000046
+:10EAD0000000000000000000000000000000000036
+:10EAE0000000000000000000000000000000000026
+:10EAF0000000000000000000000000000000000016
+:10EB00000000000000000000000000000000000005
+:10EB100000000000000000000000000000000000F5
+:10EB200000000000000000000000000000000000E5
+:10EB300000000000000000000000000000000000D5
+:10EB400000000000000000000000000000000000C5
+:10EB500000000000000000000000000000000000B5
+:10EB600000000000000000000000000000000000A5
+:10EB70000000000000000000000000000000000095
+:10EB80000000000000000000000000000000000085
+:10EB90000000000000000000000000000000000075
+:10EBA0000000000000000000000000000000000065
+:10EBB0000000000000000000000000000000000055
+:10EBC0000000000000000000000000000000000045
+:10EBD0000000000000000000000000000000000035
+:10EBE0000000000000000000000000000000000025
+:10EBF0000000000000000000000000000000000015
+:10EC00000000000000000000000000000000000004
+:10EC100000000000000000000000000000000000F4
+:10EC200000000000000000000000000000000000E4
+:10EC300000000000000000000000000000000000D4
+:10EC400000000000000000000000000000000000C4
+:10EC500000000000000000000000000000000000B4
+:10EC600000000000000000000000000000000000A4
+:10EC70000000000000000000000000000000000094
+:10EC80000000000000000000000000000000000084
+:10EC90000000000000000000000000000000000074
+:10ECA0000000000000000000000000000000000064
+:10ECB0000000000000000000000000000000000054
+:10ECC0000000000000000000000000000000000044
+:10ECD0000000000000000000000000000000000034
+:10ECE0000000000000000000000000000000000024
+:10ECF0000000000000000000000000000000000014
+:10ED00000000000000000000000000000000000003
+:10ED100000000000000000000000000000000000F3
+:10ED200000000000000000000000000000000000E3
+:10ED300000000000000000000000000000000000D3
+:10ED400000000000000000000000000000000000C3
+:10ED500000000000000000000000000000000000B3
+:10ED600000000000000000000000000000000000A3
+:10ED70000000000000000000000000000000000093
+:10ED80000000000000000000000000000000000083
+:10ED90000000000000000000000000000000000073
+:10EDA0000000000000000000000000000000000063
+:10EDB0000000000000000000000000000000000053
+:10EDC0000000000000000000000000000000000043
+:10EDD0000000000000000000000000000000000033
+:10EDE0000000000000000000000000000000000023
+:10EDF0000000000000000000000000000000000013
+:10EE00000000000000000000000000000000000002
+:10EE100000000000000000000000000000000000F2
+:10EE200000000000000000000000000000000000E2
+:10EE300000000000000000000000000000000000D2
+:10EE400000000000000000000000000000000000C2
+:10EE500000000000000000000000000000000000B2
+:10EE600000000000000000000000000000000000A2
+:10EE70000000000000000000000000000000000092
+:10EE80000000000000000000000000000000000082
+:10EE90000000000000000000000000000000000072
+:10EEA0000000000000000000000000000000000062
+:10EEB0000000000000000000000000000000000052
+:10EEC0000000000000000000000000000000000042
+:10EED0000000000000000000000000000000000032
+:10EEE0000000000000000000000000000000000022
+:10EEF0000000000000000000000000000000000012
+:10EF00000000000000000000000000000000000001
+:10EF100000000000000000000000000000000000F1
+:10EF200000000000000000000000000000000000E1
+:10EF300000000000000000000000000000000000D1
+:10EF400000000000000000000000000000000000C1
+:10EF500000000000000000000000000000000000B1
+:10EF600000000000000000000000000000000000A1
+:10EF70000000000000000000000000000000000091
+:10EF80000000000000000000000000000000000081
+:10EF90000000000000000000000000000000000071
+:10EFA0000000000000000000000000000000000061
+:10EFB0000000000000000000000000000000000051
+:10EFC0000000000000000000000000000000000041
+:10EFD0000000000000000000000000000000000031
+:10EFE0000000000000000000000000000000000021
+:10EFF0000000000000000000000000000000000011
+:10F0000000000000000000010101010101010101F7
+:10F0100001010101010101010101010101010101E0
+:10F0200001010101010101010101010101010101D0
+:10F0300001010101010101010101010101010101C0
+:10F0400001010101010101010101010101010101B0
+:10F0500001010101010101010101010101010101A0
+:10F060000101010101010101010101010101010190
+:10F070000101010101010101010101010101010180
+:10F080000101010101010101010101010101010170
+:10F090000101010101010101010101010101010160
+:10F0A0000101010101010101010101010101010150
+:10F0B0000101010101010101010101010101010140
+:10F0C0000101010101010101010101010101010130
+:10F0D0000101010101010101010101010101010120
+:10F0E0000101010101010101010101010101010110
+:10F0F0000101010101010101010101010101010100
+:10F1000001010101010101010101010101010101EF
+:10F1100001010101010101010101010101010101DF
+:10F1200001010101010101010101010101010101CF
+:10F1300001010101010101010101010101010101BF
+:10F1400001010101010101010101010101010101AF
+:10F15000010101010101010101010101010101019F
+:10F16000010101010101010101010101010101018F
+:10F17000010101010101010101010101010101017F
+:10F18000010101010101010101010101010101016F
+:10F19000010101010101010101010101010101015F
+:10F1A000010101010101010101010101010101014F
+:10F1B000010101010101010101010101010101013F
+:10F1C000010101010101010101010101010101012F
+:10F1D000010101010101010101010101010101011F
+:10F1E000010101010101010101010101010101010F
+:10F1F00001010101010101010101010101010101FF
+:10F2000001010101010101010101010101010101EE
+:10F2100001010101010101010101010101010101DE
+:10F2200001010101010101010101010101010101CE
+:10F2300001010101010101010101010101010101BE
+:10F2400001010101010101010101010101010101AE
+:10F25000010101010101010101010101010101019E
+:10F26000010101010101010101010101010101018E
+:10F27000010101010101010101010101010101017E
+:10F28000010101010101010101010101010101016E
+:10F29000010101010101010101010101010101015E
+:10F2A000010101010101010101010101010101014E
+:10F2B000010101010101010101010101010101013E
+:10F2C000010101010101010101010101010101012E
+:10F2D000010101010101010101010101010101011E
+:10F2E000010101010101010101010101010101010E
+:10F2F00001010101010101010101010101010101FE
+:10F3000001010101010101010101010101010101ED
+:10F3100001010101010101010101010101010101DD
+:10F3200001010101010101010101010101010101CD
+:10F3300001010101010101010101010101010101BD
+:10F3400001010101010101010101010101010101AD
+:10F35000010101010101010101010101010101019D
+:10F36000010101010101010101010101010101018D
+:10F37000010101010101010101010101010101017D
+:10F38000010101010101010101010101010101016D
+:10F39000010101010101010101010101010101015D
+:10F3A000010101010101010101010101010101014D
+:10F3B000010101010101010101010101010101013D
+:10F3C000010101010101010101010101010101012D
+:10F3D000010101010101010101010101010101011D
+:10F3E000010101010101010101010101010101010D
+:10F3F00001010101010101010101010101010101FD
+:10F4000001010101010101010101010101010101EC
+:10F4100001010101010101010101010101010101DC
+:10F4200001010101010101010101010101010101CC
+:10F4300001010101010101010101010101010101BC
+:10F4400001010101010101010101010101010101AC
+:10F45000010101010101010101010101010101019C
+:10F46000010101010101010101010101010101018C
+:10F47000010101010101010101010101010101017C
+:10F48000010101010101010101010101010101016C
+:10F49000010101010101010101010101010101015C
+:10F4A000010101010101010101010101010101014C
+:10F4B000010101010101010101010101010101013C
+:10F4C000010101010101010101010101010101012C
+:10F4D000010101010101010101010101010101011C
+:10F4E000010101010101010101010101010101010C
+:10F4F00001010101010101010101010101010101FC
+:10F5000001010101010101010101010101010101EB
+:10F5100001010101010101010101010101010101DB
+:10F5200001010101010101010101010101010101CB
+:10F5300001010101010101010101010101010101BB
+:10F5400001010101010101010101010101010101AB
+:10F55000010101010101010101010101010101019B
+:10F56000010101010101010101010101010101018B
+:10F57000010101010101010101010101010101017B
+:10F58000010101010101010101010101010101016B
+:10F59000010101010101010101010101010101015B
+:10F5A000010101010101010101010101010101014B
+:10F5B000010101010101010101010101010101013B
+:10F5C000010101010101010101010101010101012B
+:10F5D000010101010101010101010101010101011B
+:10F5E000010101010101010101010101010101010B
+:10F5F00001010101010101010101010101010101FB
+:10F6000001010101010101010101010101010101EA
+:10F6100001010101010101010101010101010101DA
+:10F6200001010101010101010101010101010101CA
+:10F6300001010101010101010101010101010101BA
+:10F6400001010101010101010101010101010101AA
+:10F65000010101010101010101010101010101019A
+:10F66000010101010101010101010101010101018A
+:10F67000010101010101010101010101010101017A
+:10F68000010101010101010101010101010101016A
+:10F69000010101010101010101010101010101015A
+:10F6A000010101010101010101010101010101014A
+:10F6B000010101010101010101010101010101013A
+:10F6C000010101010101010101010101010101012A
+:10F6D000010101010101010101010101010101011A
+:10F6E000010101010101010101010101010101010A
+:10F6F00001010101010101010101010101010101FA
+:10F7000001010101010101010101010101010101E9
+:10F7100001010101010101010101010101010101D9
+:10F7200001010101010101010101010101010101C9
+:10F7300001010101010101010101010101010101B9
+:10F7400001010101010101010101010101010101A9
+:10F750000101010101010101010101010101010199
+:10F760000101010101010101010101010101010189
+:10F770000101010101010101010101010101010179
+:10F780000101010101010101010101010101010169
+:10F790000101010101010101010101010101010159
+:10F7A0000101010101010101010101010101010149
+:10F7B0000101010101010101010101010101010139
+:10F7C0000101010101010101010101010101010129
+:10F7D0000101010101010101010101010101010119
+:10F7E0000101010101010101010101010101010109
+:10F7F00001010101010101010101010101010101F9
+:10F8000001010101010101010101010101010101E8
+:10F8100001010101010101010101010101010101D8
+:10F8200001010101010101010101010101010101C8
+:10F8300001010101010101010101010101010101B8
+:10F8400001010101010101010101010101010101A8
+:10F850000101010101010101010101010101010198
+:10F860000101010101010101010101010101010188
+:10F870000101010101010101010101010101010178
+:10F880000101010101010101010101010101010168
+:10F890000101010101010101010101010101010158
+:10F8A0000101010101010101010101010101010148
+:10F8B0000101010101010101010101010101010138
+:10F8C0000101010101010101010101010101010128
+:10F8D0000101010101010101010101010101010118
+:10F8E0000101010101010101010101010101010108
+:10F8F00001010101010101010101010101010101F8
+:10F9000001010101010101010101010101010101E7
+:10F9100001010101010101010101010101010101D7
+:10F9200001010101010101010101010101010101C7
+:10F9300001010101010101010101010101010101B7
+:10F9400001010101010101010101010101010101A7
+:10F950000101010101010101010101010101010197
+:10F960000101010101010101010101010101010187
+:10F970000101010101010101010101010101010177
+:10F980000101010101010101010101010101010167
+:10F990000101010101010101010101010101010157
+:10F9A0000101010101010101010101010101010147
+:10F9B0000101010101010101010101010101010137
+:10F9C0000101010101010101010101010101010127
+:10F9D0000101010101010101010101010101010117
+:10F9E0000101010101010101010101010101010107
+:10F9F00001010101010101010101010101010101F7
+:10FA000001010101010101010101010101010101E6
+:10FA100001010101010101010101010101010101D6
+:10FA200001010101010101010101010101010101C6
+:10FA300001010101010101010101010101010101B6
+:10FA400001010101010101010101010101010101A6
+:10FA50000101010101010101010101010101010196
+:10FA60000101010101010101010101010101010186
+:10FA70000101010101010101010101010101010176
+:10FA80000101010101010101010101010101010166
+:10FA90000101010101010101010101010101010156
+:10FAA0000101010101010101010101010101010146
+:10FAB0000101010101010101010101010101010136
+:10FAC0000101010101010101010101010101010126
+:10FAD0000101010101010101010101010101010116
+:10FAE0000101010101010101010101010101010106
+:10FAF00001010101010101010101010101010101F6
+:10FB000001010101010101010101010101010101E5
+:10FB100001010101010101010101010101010101D5
+:10FB200001010101010101010101010101010101C5
+:10FB300001010101010101010101010101010101B5
+:10FB400001010101010101010101010101010101A5
+:10FB50000101010101010101010101010101010195
+:10FB60000101010101010101010101010101010185
+:10FB70000101010101010101010101010101010175
+:10FB80000101010101010101010101010101010165
+:10FB90000101010101010101010101010101010155
+:10FBA0000101010101010101010101010101010145
+:10FBB0000101010101010101010101010101010135
+:10FBC0000101010101010101010101010101010125
+:10FBD0000101010101010101010101010101010115
+:10FBE0000101010101010101010101010101010105
+:10FBF00001010101010101010101010101010101F5
+:10FC000001010101010101010101010101010101E4
+:10FC100001010101010101010101010101010101D4
+:10FC200001010101010101010101010101010101C4
+:10FC300001010101010101010101010101010101B4
+:10FC400001010101010101010101010101010101A4
+:10FC50000101010101010101010101010101010194
+:10FC60000101010101010101010101010101010184
+:10FC70000101010101010101010101010101010174
+:10FC80000101010101010101010101010101010164
+:10FC90000101010101010101010101010101010154
+:10FCA0000101010101010101010101010101010144
+:10FCB0000101010101010101010101010101010134
+:10FCC0000101010101010101010101010101010124
+:10FCD0000101010101010101010101010101010114
+:10FCE0000101010101010101010101010101010104
+:10FCF00001010101010101010101010101010101F4
+:10FD000001010101010101010101010101010101E3
+:10FD100001010101010101010101010101010101D3
+:10FD200001010101010101010101010101010101C3
+:10FD300001010101010101010101010101010101B3
+:10FD400001010101010101010101010101010101A3
+:10FD50000101010101010101010101010101010193
+:10FD60000101010101010101010101010101010183
+:10FD70000101010101010101010101010101010173
+:10FD80000101010101010101010101010101010163
+:10FD90000101010101010101010101010101010153
+:10FDA0000101010101010101010101010101010143
+:10FDB0000101010101010101010101010101010133
+:10FDC0000101010101010101010101010101010123
+:10FDD0000101010101010101010101010101010113
+:10FDE0000101010101010101010101010101010103
+:10FDF00001010101010101010101010101010101F3
+:10FE000001010101010101010101010101010101E2
+:10FE100001010101010101010101010101010101D2
+:10FE200001010101010101010101010101010101C2
+:10FE300001010101010101010101010101010101B2
+:10FE400001010101010101010101010101010101A2
+:10FE50000101010101010101010101010101010192
+:10FE60000101010101010101010101010101010182
+:10FE70000101010101010101010101010101010172
+:10FE80000101010101010101010101010101010162
+:10FE90000101010101010101010101010101010152
+:10FEA0000101010101010101010101010101010142
+:10FEB0000101010101010101010101010101010132
+:10FEC0000101010101010101010101010101010122
+:10FED0000101010101010101010101010101010112
+:10FEE0000101010101010101010101010101010102
+:10FEF00001010101010101010101010101010101F2
+:10FF000001010101010101000000000000000000EA
+:10FF100000000000000000000000000000000000E1
+:10FF200000000000000000000000000000000000D1
+:10FF300000000000000000000000000000000000C1
+:10FF400000000000000000000000000000000000B1
+:10FF500000000000000000000000000000000000A1
+:10FF60000000000000000000000000000000000091
+:10FF70000000000000000000000000000000000081
+:10FF80000000000000000000000000000000000071
+:10FF90000000000000000000000000000000000061
+:10FFA0000000000000000000000000000000000051
+:10FFB0000000000000000000000000000000000041
+:10FFC0000000000000000000000000000000000031
+:10FFD0000000000000000000000000000000000021
+:10FFE0000000000000000000000000000000000011
+:10FFF0000000000000000000000000000000000001
+:020000023000CC
+:1000000000000000000000000000000000000000F0
+:1000100000000000000000000000000000000000E0
+:1000200000000000000000000000000000000000D0
+:1000300000000000000000000000000000000000C0
+:1000400000000000000000000000000000000000B0
+:1000500000000000000000000000000000000000A0
+:100060000000000000000000000000000000000090
+:100070000000000000000000000000000000000080
+:100080000000000000000000000000000000000070
+:100090000000000000000000000000000000000060
+:1000A0000000000000000000000000000000000050
+:1000B0000000000000000000000000000000000040
+:1000C0000000000000000000000000000000000030
+:1000D0000000000000000000000000000000000020
+:1000E0000000000000000000000000000000000010
+:1000F0000000000000000000000000000000000000
+:1001000000000000000000000000000000000000EF
+:1001100000000000000000000000000000000000DF
+:1001200000000000000000000000000000000000CF
+:1001300000000000000000000000000000000000BF
+:1001400000000000000000000000000000000000AF
+:10015000000000000000000000000000000000009F
+:10016000000000000000000000000000000000008F
+:10017000000000000000000000000000000000007F
+:10018000000000000000000000000000000000006F
+:10019000000000000000000000000000000000005F
+:1001A000000000000000000000000000000000004F
+:1001B000000000000000000000000000000000003F
+:1001C000000000000000000000000000000000002F
+:1001D000000000000000000000000000000000001F
+:1001E000000000000000000000000000000000000F
+:1001F00000000000000000000000000000000000FF
+:1002000000000000000000000000000000000000EE
+:1002100000000000000000000000000000000000DE
+:1002200000000000000000000000000000000000CE
+:1002300000000000000000000000000000000000BE
+:1002400000000000000000000000000000000000AE
+:10025000000000000000000000000000000000009E
+:10026000000000000000000000000000000000008E
+:10027000000000000000000000000000000000007E
+:10028000000000000000000000000000000000006E
+:10029000000000000000000000000000000000005E
+:1002A000000000000000000000000000000000004E
+:1002B000000000000000000000000000000000003E
+:1002C000000000000000000000000000000000002E
+:1002D000000000000000000000000000000000001E
+:1002E000000000000000000000000000000000000E
+:1002F00000000000000000000000000000000000FE
+:1003000000000000000000000000000000000000ED
+:1003100000000000000000000000000000000000DD
+:1003200000000000000000000000000000000000CD
+:1003300000000000000000000000000000000000BD
+:1003400000000000000000000000000000000000AD
+:10035000000000000000000000000000000000009D
+:10036000000000000000000000000000000000008D
+:10037000000000000000000000000000000000007D
+:10038000000000000000000000000000000000006D
+:10039000000000000000000000000000000000005D
+:1003A000000000000000000000000000000000004D
+:1003B000000000000000000000000000000000003D
+:1003C000000000000000000000000000000000002D
+:1003D000000000000000000000000000000000001D
+:1003E000000000000000000000000000000000000D
+:1003F00000000000000000000000000000000000FD
+:1004000000000000000000000000000000000000EC
+:1004100000000000000000000000000000000000DC
+:1004200000000000000000000000000000000000CC
+:1004300000000000000000000000000000000000BC
+:1004400000000000000000000000000000000000AC
+:10045000000000000000000000000000000000009C
+:10046000000000000000000000000000000000008C
+:10047000000000000000000000000000000000007C
+:10048000000000000000000000000000000000006C
+:10049000000000000000000000000000000000005C
+:1004A000000000000000000000000000000000004C
+:1004B000000000000000000000000000000000003C
+:1004C000000000000000000000000000000000002C
+:1004D000000000000000000000000000000000001C
+:1004E000000000000000000000000000000000000C
+:1004F00000000000000000000000000000000000FC
+:1005000000000000000000000000000000000000EB
+:1005100000000000000000000000000000000000DB
+:1005200000000000000000000000000000000000CB
+:1005300000000000000000000000000000000000BB
+:1005400000000000000000000000000000000000AB
+:10055000000000000000000000000000000000009B
+:10056000000000000000000000000000000000008B
+:10057000000000000000000000000000000000007B
+:10058000000000000000000000000000000000006B
+:10059000000000000000000000000000000000005B
+:1005A000000000000000000000000000000000004B
+:1005B000000000000000000000000000000000003B
+:1005C000000000000000000000000000000000002B
+:1005D000000000000000000000000000000000001B
+:1005E000000000000000000000000000000000000B
+:1005F00000000000000000000000000000000000FB
+:1006000000000000000000020202020202020202D8
+:1006100002020202020202020202020202020202BA
+:1006200002020202020202020202020202020202AA
+:10063000020202020202020202020202020202029A
+:10064000020202020202020202020202020202028A
+:10065000020202020202020202020202020202027A
+:10066000020202020202020202020202020202026A
+:10067000020202020202020202020202020202025A
+:10068000020202020202020202020202020202024A
+:10069000020202020202020202020202020202023A
+:1006A000020202020202020202020202020202022A
+:1006B000020202020202020202020202020202021A
+:1006C000020202020202020202020202020202020A
+:1006D00002020202020202020202020202020202FA
+:1006E00002020202020202020202020202020202EA
+:1006F00002020202020202020202020202020202DA
+:1007000002020202020202020202020202020202C9
+:1007100002020202020202020202020202020202B9
+:1007200002020202020202020202020202020202A9
+:100730000202020202020202020202020202020299
+:100740000202020202020202020202020202020289
+:100750000202020202020202020202020202020279
+:100760000202020202020202020202020202020269
+:100770000202020202020202020202020202020259
+:100780000202020202020202020202020202020249
+:100790000202020202020202020202020202020239
+:1007A0000202020202020202020202020202020229
+:1007B0000202020202020202020202020202020219
+:1007C0000202020202020202020202020202020209
+:1007D00002020202020202020202020202020202F9
+:1007E00002020202020202020202020202020202E9
+:1007F00002020202020202020202020202020202D9
+:1008000002020202020202020202020202020202C8
+:1008100002020202020202020202020202020202B8
+:1008200002020202020202020202020202020202A8
+:100830000202020202020202020202020202020298
+:100840000202020202020202020202020202020288
+:100850000202020202020202020202020202020278
+:100860000202020202020202020202020202020268
+:100870000202020202020202020202020202020258
+:100880000202020202020202020202020202020248
+:100890000202020202020202020202020202020238
+:1008A0000202020202020202020202020202020228
+:1008B0000202020202020202020202020202020218
+:1008C0000202020202020202020202020202020208
+:1008D00002020202020202020202020202020202F8
+:1008E00002020202020202020202020202020202E8
+:1008F00002020202020202020202020202020202D8
+:1009000002020202020202020202020202020202C7
+:1009100002020202020202020202020202020202B7
+:1009200002020202020202020202020202020202A7
+:100930000202020202020202020202020202020297
+:100940000202020202020202020202020202020287
+:100950000202020202020202020202020202020277
+:100960000202020202020202020202020202020267
+:100970000202020202020202020202020202020257
+:100980000202020202020202020202020202020247
+:100990000202020202020202020202020202020237
+:1009A0000202020202020202020202020202020227
+:1009B0000202020202020202020202020202020217
+:1009C0000202020202020202020202020202020207
+:1009D00002020202020202020202020202020202F7
+:1009E00002020202020202020202020202020202E7
+:1009F00002020202020202020202020202020202D7
+:100A000002020202020202020202020202020202C6
+:100A100002020202020202020202020202020202B6
+:100A200002020202020202020202020202020202A6
+:100A30000202020202020202020202020202020296
+:100A40000202020202020202020202020202020286
+:100A50000202020202020202020202020202020276
+:100A60000202020202020202020202020202020266
+:100A70000202020202020202020202020202020256
+:100A80000202020202020202020202020202020246
+:100A90000202020202020202020202020202020236
+:100AA0000202020202020202020202020202020226
+:100AB0000202020202020202020202020202020216
+:100AC0000202020202020202020202020202020206
+:100AD00002020202020202020202020202020202F6
+:100AE00002020202020202020202020202020202E6
+:100AF00002020202020202020202020202020202D6
+:100B000002020202020202020202020202020202C5
+:100B100002020202020202020202020202020202B5
+:100B200002020202020202020202020202020202A5
+:100B30000202020202020202020202020202020295
+:100B40000202020202020202020202020202020285
+:100B50000202020202020202020202020202020275
+:100B60000202020202020202020202020202020265
+:100B70000202020202020202020202020202020255
+:100B80000202020202020202020202020202020245
+:100B90000202020202020202020202020202020235
+:100BA0000202020202020202020202020202020225
+:100BB0000202020202020202020202020202020215
+:100BC0000202020202020202020202020202020205
+:100BD00002020202020202020202020202020202F5
+:100BE00002020202020202020202020202020202E5
+:100BF00002020202020202020202020202020202D5
+:100C000002020202020202020202020202020202C4
+:100C100002020202020202020202020202020202B4
+:100C200002020202020202020202020202020202A4
+:100C30000202020202020202020202020202020294
+:100C40000202020202020202020202020202020284
+:100C50000202020202020202020202020202020274
+:100C60000202020202020202020202020202020264
+:100C70000202020202020202020202020202020254
+:100C80000202020202020202020202020202020244
+:100C90000202020202020202020202020202020234
+:100CA0000202020202020202020202020202020224
+:100CB0000202020202020202020202020202020214
+:100CC0000202020202020202020202020202020204
+:100CD00002020202020202020202020202020202F4
+:100CE00002020202020202020202020202020202E4
+:100CF00002020202020202020202020202020202D4
+:100D000002020202020202020202020202020202C3
+:100D100002020202020202020202020202020202B3
+:100D200002020202020202020202020202020202A3
+:100D30000202020202020202020202020202020293
+:100D40000202020202020202020202020202020283
+:100D50000202020202020202020202020202020273
+:100D60000202020202020202020202020202020263
+:100D70000202020202020202020202020202020253
+:100D80000202020202020202020202020202020243
+:100D90000202020202020202020202020202020233
+:100DA0000202020202020202020202020202020223
+:100DB0000202020202020202020202020202020213
+:100DC0000202020202020202020202020202020203
+:100DD00002020202020202020202020202020202F3
+:100DE00002020202020202020202020202020202E3
+:100DF00002020202020202020202020202020202D3
+:100E000002020202020202020202020202020202C2
+:100E100002020202020202020202020202020202B2
+:100E200002020202020202020202020202020202A2
+:100E30000202020202020202020202020202020292
+:100E40000202020202020202020202020202020282
+:100E50000202020202020202020202020202020272
+:100E60000202020202020202020202020202020262
+:100E70000202020202020202020202020202020252
+:100E80000202020202020202020202020202020242
+:100E90000202020202020202020202020202020232
+:100EA0000202020202020202020202020202020222
+:100EB0000202020202020202020202020202020212
+:100EC0000202020202020202020202020202020202
+:100ED00002020202020202020202020202020202F2
+:100EE00002020202020202020202020202020202E2
+:100EF00002020202020202020202020202020202D2
+:100F000002020202020202020202020202020202C1
+:100F100002020202020202020202020202020202B1
+:100F200002020202020202020202020202020202A1
+:100F30000202020202020202020202020202020291
+:100F40000202020202020202020202020202020281
+:100F50000202020202020202020202020202020271
+:100F60000202020202020202020202020202020261
+:100F70000202020202020202020202020202020251
+:100F80000202020202020202020202020202020241
+:100F90000202020202020202020202020202020231
+:100FA0000202020202020202020202020202020221
+:100FB0000202020202020202020202020202020211
+:100FC0000202020202020202020202020202020201
+:100FD00002020202020202020202020202020202F1
+:100FE00002020202020202020202020202020202E1
+:100FF00002020202020202020202020202020202D1
+:1010000002020202020202020202020202020202C0
+:1010100002020202020202020202020202020202B0
+:1010200002020202020202020202020202020202A0
+:101030000202020202020202020202020202020290
+:101040000202020202020202020202020202020280
+:101050000202020202020202020202020202020270
+:101060000202020202020202020202020202020260
+:101070000202020202020202020202020202020250
+:101080000202020202020202020202020202020240
+:101090000202020202020202020202020202020230
+:1010A0000202020202020202020202020202020220
+:1010B0000202020202020202020202020202020210
+:1010C0000202020202020202020202020202020200
+:1010D00002020202020202020202020202020202F0
+:1010E00002020202020202020202020202020202E0
+:1010F00002020202020202020202020202020202D0
+:1011000002020202020202020202020202020202BF
+:1011100002020202020202020202020202020202AF
+:10112000020202020202020202020202020202029F
+:10113000020202020202020202020202020202028F
+:10114000020202020202020202020202020202027F
+:10115000020202020202020202020202020202026F
+:10116000020202020202020202020202020202025F
+:10117000020202020202020202020202020202024F
+:10118000020202020202020202020202020202023F
+:10119000020202020202020202020202020202022F
+:1011A000020202020202020202020202020202021F
+:1011B000020202020202020202020202020202020F
+:1011C00002020202020202020202020202020202FF
+:1011D00002020202020202020202020202020202EF
+:1011E00002020202020202020202020202020202DF
+:1011F00002020202020202020202020202020202CF
+:1012000002020202020202020202020202020202BE
+:1012100002020202020202020202020202020202AE
+:10122000020202020202020202020202020202029E
+:10123000020202020202020202020202020202028E
+:10124000020202020202020202020202020202027E
+:10125000020202020202020202020202020202026E
+:10126000020202020202020202020202020202025E
+:10127000020202020202020202020202020202024E
+:10128000020202020202020202020202020202023E
+:10129000020202020202020202020202020202022E
+:1012A000020202020202020202020202020202021E
+:1012B000020202020202020202020202020202020E
+:1012C00002020202020202020202020202020202FE
+:1012D00002020202020202020202020202020202EE
+:1012E00002020202020202020202020202020202DE
+:1012F00002020202020202020202020202020202CE
+:1013000002020202020202020202020202020202BD
+:1013100002020202020202020202020202020202AD
+:10132000020202020202020202020202020202029D
+:10133000020202020202020202020202020202028D
+:10134000020202020202020202020202020202027D
+:10135000020202020202020202020202020202026D
+:10136000020202020202020202020202020202025D
+:10137000020202020202020202020202020202024D
+:10138000020202020202020202020202020202023D
+:10139000020202020202020202020202020202022D
+:1013A000020202020202020202020202020202021D
+:1013B000020202020202020202020202020202020D
+:1013C00002020202020202020202020202020202FD
+:1013D00002020202020202020202020202020202ED
+:1013E00002020202020202020202020202020202DD
+:1013F00002020202020202020202020202020202CD
+:1014000002020202020202020202020202020202BC
+:1014100002020202020202020202020202020202AC
+:10142000020202020202020202020202020202029C
+:10143000020202020202020202020202020202028C
+:10144000020202020202020202020202020202027C
+:10145000020202020202020202020202020202026C
+:10146000020202020202020202020202020202025C
+:10147000020202020202020202020202020202024C
+:10148000020202020202020202020202020202023C
+:10149000020202020202020202020202020202022C
+:1014A000020202020202020202020202020202021C
+:1014B000020202020202020202020202020202020C
+:1014C00002020202020202020202020202020202FC
+:1014D00002020202020202020202020202020202EC
+:1014E00002020202020202020202020202020202DC
+:1014F00002020202020202020202020202020202CC
+:1015000002020202020202000000000000000000CD
+:1015100000000000000000000000000000000000CB
+:1015200000000000000000000000000000000000BB
+:1015300000000000000000000000000000000000AB
+:10154000000000000000000000000000000000009B
+:10155000000000000000000000000000000000008B
+:10156000000000000000000000000000000000007B
+:10157000000000000000000000000000000000006B
+:10158000000000000000000000000000000000005B
+:10159000000000000000000000000000000000004B
+:1015A000000000000000000000000000000000003B
+:1015B000000000000000000000000000000000002B
+:1015C000000000000000000000000000000000001B
+:1015D000000000000000000000000000000000000B
+:1015E00000000000000000000000000000000000FB
+:1015F00000000000000000000000000000000000EB
+:1016000000000000000000000000000000000000DA
+:1016100000000000000000000000000000000000CA
+:1016200000000000000000000000000000000000BA
+:1016300000000000000000000000000000000000AA
+:10164000000000000000000000000000000000009A
+:10165000000000000000000000000000000000008A
+:10166000000000000000000000000000000000007A
+:10167000000000000000000000000000000000006A
+:10168000000000000000000000000000000000005A
+:10169000000000000000000000000000000000004A
+:1016A000000000000000000000000000000000003A
+:1016B000000000000000000000000000000000002A
+:1016C000000000000000000000000000000000001A
+:1016D000000000000000000000000000000000000A
+:1016E00000000000000000000000000000000000FA
+:1016F00000000000000000000000000000000000EA
+:1017000000000000000000000000000000000000D9
+:1017100000000000000000000000000000000000C9
+:1017200000000000000000000000000000000000B9
+:1017300000000000000000000000000000000000A9
+:101740000000000000000000000000000000000099
+:101750000000000000000000000000000000000089
+:101760000000000000000000000000000000000079
+:101770000000000000000000000000000000000069
+:101780000000000000000000000000000000000059
+:101790000000000000000000000000000000000049
+:1017A0000000000000000000000000000000000039
+:1017B0000000000000000000000000000000000029
+:1017C0000000000000000000000000000000000019
+:1017D0000000000000000000000000000000000009
+:1017E00000000000000000000000000000000000F9
+:1017F00000000000000000000000000000000000E9
+:1018000000000000000000000000000000000000D8
+:1018100000000000000000000000000000000000C8
+:1018200000000000000000000000000000000000B8
+:1018300000000000000000000000000000000000A8
+:101840000000000000000000000000000000000098
+:101850000000000000000000000000000000000088
+:101860000000000000000000000000000000000078
+:101870000000000000000000000000000000000068
+:101880000000000000000000000000000000000058
+:101890000000000000000000000000000000000048
+:1018A0000000000000000000000000000000000038
+:1018B0000000000000000000000000000000000028
+:1018C0000000000000000000000000000000000018
+:1018D0000000000000000000000000000000000008
+:1018E00000000000000000000000000000000000F8
+:1018F00000000000000000000000000000000000E8
+:1019000000000000000000000000000000000000D7
+:1019100000000000000000000000000000000000C7
+:1019200000000000000000000000000000000000B7
+:1019300000000000000000000000000000000000A7
+:101940000000000000000000000000000000000097
+:101950000000000000000000000000000000000087
+:101960000000000000000000000000000000000077
+:101970000000000000000000000000000000000067
+:101980000000000000000000000000000000000057
+:101990000000000000000000000000000000000047
+:1019A0000000000000000000000000000000000037
+:1019B0000000000000000000000000000000000027
+:1019C0000000000000000000000000000000000017
+:1019D0000000000000000000000000000000000007
+:1019E00000000000000000000000000000000000F7
+:1019F00000000000000000000000000000000000E7
+:101A000000000000000000000000000000000000D6
+:101A100000000000000000000000000000000000C6
+:101A200000000000000000000000000000000000B6
+:101A300000000000000000000000000000000000A6
+:101A40000000000000000000000000000000000096
+:101A50000000000000000000000000000000000086
+:101A60000000000000000000000000000000000076
+:101A70000000000000000000000000000000000066
+:101A80000000000000000000000000000000000056
+:101A90000000000000000000000000000000000046
+:101AA0000000000000000000000000000000000036
+:101AB0000000000000000000000000000000000026
+:101AC0000000000000000000000000000000000016
+:101AD0000000000000000000000000000000000006
+:101AE00000000000000000000000000000000000F6
+:101AF00000000000000000000000000000000000E6
+:101B000000000000000000000000000000000000D5
+:101B100000000000000000000000000000000000C5
+:101B200000000000000000000000000000000000B5
+:101B300000000000000000000000000000000000A5
+:101B40000000000000000000000000000000000095
+:101B50000000000000000000000000000000000085
+:101B60000000000000000000000000000000000075
+:101B70000000000000000000000000000000000065
+:101B80000000000000000000000000000000000055
+:101B90000000000000000000000000000000000045
+:101BA0000000000000000000000000000000000035
+:101BB0000000000000000000000000000000000025
+:101BC0000000000000000000000000000000000015
+:101BD0000000000000000000000000000000000005
+:101BE00000000000000000000000000000000000F5
+:101BF00000000000000000000000000000000000E5
+:101C0000000000000000005900000000000000017A
+:101C100001010101010101010101010101010101B4
+:101C200001010101010101010101010101010101A4
+:101C30000101010101010101010101010101010194
+:101C40000101010101010101010101010101010184
+:101C50000101010101010101010101010101010174
+:101C60000101010101010101010101010101010164
+:101C70000101010101010101010101010101010154
+:101C80000101010101010101010101010101010144
+:101C90000101010101010101010101010101010134
+:101CA0000101010101010101010101010101010124
+:101CB0000101010101010101010101010101010114
+:101CC0000101010101010101010101010101010104
+:101CD00001010101010101010101010101010101F4
+:101CE00001010101010101010101010101010101E4
+:101CF00001010101010101010101010101010101D4
+:101D000001010101010101010101010101010101C3
+:101D100001010101010101010101010101010101B3
+:101D200001010101010101010101010101010101A3
+:101D30000101010101010101010101010101010193
+:101D40000101010101010101010101010101010183
+:101D50000101010101010101010101010101010173
+:101D60000101010101010101010101010101010163
+:101D70000101010101010101010101010101010153
+:101D80000101010101010101010101010101010143
+:101D90000101010101010101010101010101010133
+:101DA0000101010101010101010101010101010123
+:101DB0000101010101010101010101010101010113
+:101DC0000101010101010101010101010101010103
+:101DD00001010101010101010101010101010101F3
+:101DE00001010101010101010101010101010101E3
+:101DF00001010101010101010101010101010101D3
+:101E000001010101010101010101010101010101C2
+:101E100001010101010101010101010101010101B2
+:101E200001010101010101010101010101010101A2
+:101E30000101010101010101010101010101010192
+:101E40000101010101010101010101010101010182
+:101E50000101010101010101010101010101010172
+:101E60000101010101010101010101010101010162
+:101E70000101010101010101010101010101010152
+:101E80000101010101010101010101010101010142
+:101E90000101010101010101010101010101010132
+:101EA0000101010101010101010101010101010122
+:101EB0000101010101010101010101010101010112
+:101EC0000101010101010101010101010101010102
+:101ED00001010101010101010101010101010101F2
+:101EE00001010101010101010101010101010101E2
+:101EF00001010101010101010101010101010101D2
+:101F000001010101010101010101010101010101C1
+:101F100001010101010101010101010101010101B1
+:101F200001010101010101010101010101010101A1
+:101F30000101010101010101010101010101010191
+:101F40000101010101010101010101010101010181
+:101F50000101010101010101010101010101010171
+:101F60000101010101010101010101010101010161
+:101F70000101010101010101010101010101010151
+:101F80000101010101010101010101010101010141
+:101F90000101010101010101010101010101010131
+:101FA0000101010101010101010101010101010121
+:101FB0000101010101010101010101010101010111
+:101FC0000101010101010101010101010101010101
+:101FD00001010101010101010101010101010101F1
+:101FE00001010101010101010101010101010101E1
+:101FF00001010101010101010101010101010101D1
+:1020000001010101010101010101010101010101C0
+:1020100001010101010101010101010101010101B0
+:1020200001010101010101010101010101010101A0
+:102030000101010101010101010101010101010190
+:102040000101010101010101010101010101010180
+:102050000101010101010101010101010101010170
+:102060000101010101010101010101010101010160
+:102070000101010101010101010101010101010150
+:102080000101010101010101010101010101010140
+:102090000101010101010101010101010101010130
+:1020A0000101010101010101010101010101010120
+:1020B0000101010101010101010101010101010110
+:1020C0000101010101010101010101010101010100
+:1020D00001010101010101010101010101010101F0
+:1020E00001010101010101010101010101010101E0
+:1020F00001010101010101010101010101010101D0
+:1021000001010101010101010101010101010101BF
+:1021100001010101010101010101010101010101AF
+:10212000010101010101010101010101010101019F
+:10213000010101010101010101010101010101018F
+:10214000010101010101010101010101010101017F
+:10215000010101010101010101010101010101016F
+:10216000010101010101010101010101010101015F
+:10217000010101010101010101010101010101014F
+:10218000010101010101010101010101010101013F
+:10219000010101010101010101010101010101012F
+:1021A000010101010101010101010101010101011F
+:1021B000010101010101010101010101010101010F
+:1021C00001010101010101010101010101010101FF
+:1021D00001010101010101010101010101010101EF
+:1021E00001010101010101010101010101010101DF
+:1021F00001010101010101010101010101010101CF
+:1022000001010101010101010101010101010101BE
+:1022100001010101010101010101010101010101AE
+:10222000010101010101010101010101010101019E
+:10223000010101010101010101010101010101018E
+:10224000010101010101010101010101010101017E
+:10225000010101010101010101010101010101016E
+:10226000010101010101010101010101010101015E
+:10227000010101010101010101010101010101014E
+:10228000010101010101010101010101010101013E
+:10229000010101010101010101010101010101012E
+:1022A000010101010101010101010101010101011E
+:1022B000010101010101010101010101010101010E
+:1022C00001010101010101010101010101010101FE
+:1022D00001010101010101010101010101010101EE
+:1022E00001010101010101010101010101010101DE
+:1022F00001010101010101010101010101010101CE
+:1023000001010101010101010101010101010101BD
+:1023100001010101010101010101010101010101AD
+:10232000010101010101010101010101010101019D
+:10233000010101010101010101010101010101018D
+:10234000010101010101010101010101010101017D
+:10235000010101010101010101010101010101016D
+:10236000010101010101010101010101010101015D
+:10237000010101010101010101010101010101014D
+:10238000010101010101010101010101010101013D
+:10239000010101010101010101010101010101012D
+:1023A000010101010101010101010101010101011D
+:1023B000010101010101010101010101010101010D
+:1023C00001010101010101010101010101010101FD
+:1023D00001010101010101010101010101010101ED
+:1023E00001010101010101010101010101010101DD
+:1023F00001010101010101010101010101010101CD
+:1024000001010101010101010101010101010101BC
+:1024100001010101010101010101010101010101AC
+:10242000010101010101010101010101010101019C
+:10243000010101010101010101010101010101018C
+:10244000010101010101010101010101010101017C
+:10245000010101010101010101010101010101016C
+:10246000010101010101010101010101010101015C
+:10247000010101010101010101010101010101014C
+:10248000010101010101010101010101010101013C
+:10249000010101010101010101010101010101012C
+:1024A000010101010101010101010101010101011C
+:1024B000010101010101010101010101010101010C
+:1024C00001010101010101010101010101010101FC
+:1024D00001010101010101010101010101010101EC
+:1024E00001010101010101010101010101010101DC
+:1024F00001010101010101010101010101010101CC
+:1025000001010101010101010101010101010101BB
+:1025100001010101010101010101010101010101AB
+:10252000010101010101010101010101010101019B
+:10253000010101010101010101010101010101018B
+:10254000010101010101010101010101010101017B
+:10255000010101010101010101010101010101016B
+:10256000010101010101010101010101010101015B
+:10257000010101010101010101010101010101014B
+:10258000010101010101010101010101010101013B
+:10259000010101010101010101010101010101012B
+:1025A000010101010101010101010101010101011B
+:1025B000010101010101010101010101010101010B
+:1025C00001010101010101010101010101010101FB
+:1025D00001010101010101010101010101010101EB
+:1025E00001010101010101010101010101010101DB
+:1025F00001010101010101010101010101010101CB
+:1026000001010101010101010101010101010101BA
+:1026100001010101010101010101010101010101AA
+:10262000010101010101010101010101010101019A
+:10263000010101010101010101010101010101018A
+:10264000010101010101010101010101010101017A
+:10265000010101010101010101010101010101016A
+:10266000010101010101010101010101010101015A
+:10267000010101010101010101010101010101014A
+:10268000010101010101010101010101010101013A
+:10269000010101010101010101010101010101012A
+:1026A000010101010101010101010101010101011A
+:1026B000010101010101010101010101010101010A
+:1026C00001010101010101010101010101010101FA
+:1026D00001010101010101010101010101010101EA
+:1026E00001010101010101010101010101010101DA
+:1026F00001010101010101010101010101010101CA
+:1027000001010101010101010101010101010101B9
+:1027100001010101010101010101010101010101A9
+:102720000101010101010101010101010101010199
+:102730000101010101010101010101010101010189
+:102740000101010101010101010101010101010179
+:102750000101010101010101010101010101010169
+:102760000101010101010101010101010101010159
+:102770000101010101010101010101010101010149
+:102780000101010101010101010101010101010139
+:102790000101010101010101010101010101010129
+:1027A0000101010101010101010101010101010119
+:1027B0000101010101010101010101010101010109
+:1027C00001010101010101010101010101010101F9
+:1027D00001010101010101010101010101010101E9
+:1027E00001010101010101010101010101010101D9
+:1027F00001010101010101010101010101010101C9
+:1028000001010101010101010101010101010101B8
+:1028100001010101010101010101010101010101A8
+:102820000101010101010101010101010101010198
+:102830000101010101010101010101010101010188
+:102840000101010101010101010101010101010178
+:102850000101010101010101010101010101010168
+:102860000101010101010101010101010101010158
+:102870000101010101010101010101010101010148
+:102880000101010101010101010101010101010138
+:102890000101010101010101010101010101010128
+:1028A0000101010101010101010101010101010118
+:1028B0000101010101010101010101010101010108
+:1028C00001010101010101010101010101010101F8
+:1028D00001010101010101010101010101010101E8
+:1028E00001010101010101010101010101010101D8
+:1028F00001010101010101010101010101010101C8
+:1029000001010101010101010101010101010101B7
+:1029100001010101010101010101010101010101A7
+:102920000101010101010101010101010101010197
+:102930000101010101010101010101010101010187
+:102940000101010101010101010101010101010177
+:102950000101010101010101010101010101010167
+:102960000101010101010101010101010101010157
+:102970000101010101010101010101010101010147
+:102980000101010101010101010101010101010137
+:102990000101010101010101010101010101010127
+:1029A0000101010101010101010101010101010117
+:1029B0000101010101010101010101010101010107
+:1029C00001010101010101010101010101010101F7
+:1029D00001010101010101010101010101010101E7
+:1029E00001010101010101010101010101010101D7
+:1029F00001010101010101010101010101010101C7
+:102A000001010101010101010101010101010101B6
+:102A100001010101010101010101010101010101A6
+:102A20000101010101010101010101010101010196
+:102A30000101010101010101010101010101010186
+:102A40000101010101010101010101010101010176
+:102A50000101010101010101010101010101010166
+:102A60000101010101010101010101010101010156
+:102A70000101010101010101010101010101010146
+:102A80000101010101010101010101010101010136
+:102A90000101010101010101010101010101010126
+:102AA0000101010101010101010101010101010116
+:102AB0000101010101010101010101010101010106
+:102AC00001010101010101010101010101010101F6
+:102AD00001010101010101010101010101010101E6
+:102AE00001010101010101010101010101010101D6
+:102AF00001010101010101010101010101010101C6
+:102B000001010101010101010101010101010100B6
+:102B100000000000000000000000000000000000B5
+:102B200000000000000000000000000000000000A5
+:102B30000000000000000000000000000000000095
+:102B40000000000000000000000000000000000085
+:102B50000000000000000000000000000000000075
+:102B60000000000000000000000000000000000065
+:102B70000000000000000000000000000000000055
+:102B80000000000000000000000000000000000045
+:102B90000000000000000000000000000000000035
+:102BA0000000000000000000000000000000000025
+:102BB0000000000000000000000000000000000015
+:102BC0000000000000000000000000000000000005
+:102BD00000000000000000000000000000000000F5
+:102BE00000000000000000000000000000000000E5
+:102BF00000000000000000000000000000000000D5
+:102C000000000000000000000000000000000000C4
+:102C100000000000000000000000000000000000B4
+:102C200000000000000000000000000000000000A4
+:102C30000000000000000000000000000000000094
+:102C40000000000000000000000000000000000084
+:102C50000000000000000000000000000000000074
+:102C60000000000000000000000000000000000064
+:102C70000000000000000000000000000000000054
+:102C80000000000000000000000000000000000044
+:102C90000000000000000000000000000000000034
+:102CA0000000000000000000000000000000000024
+:102CB0000000000000000000000000000000000014
+:102CC0000000000000000000000000000000000004
+:102CD00000000000000000000000000000000000F4
+:102CE00000000000000000000000000000000000E4
+:102CF00000000000000000000000000000000000D4
+:102D000000000000000000000000000000000000C3
+:102D100000000000000000000000000000000000B3
+:102D200000000000000000000000000000000000A3
+:102D30000000000000000000000000000000000093
+:102D40000000000000000000000000000000000083
+:102D50000000000000000000000000000000000073
+:102D60000000000000000000000000000000000063
+:102D70000000000000000000000000000000000053
+:102D80000000000000000000000000000000000043
+:102D90000000000000000000000000000000000033
+:102DA0000000000000000000000000000000000023
+:102DB0000000000000000000000000000000000013
+:102DC0000000000000000000000000000000000003
+:102DD00000000000000000000000000000000000F3
+:102DE00000000000000000000000000000000000E3
+:102DF00000000000000000000000000000000000D3
+:102E000000000000000000000000000000000000C2
+:102E100000000000000000000000000000000000B2
+:102E200000000000000000000000000000000000A2
+:102E30000000000000000000000000000000000092
+:102E40000000000000000000000000000000000082
+:102E50000000000000000000000000000000000072
+:102E60000000000000000000000000000000000062
+:102E70000000000000000000000000000000000052
+:102E80000000000000000000000000000000000042
+:102E90000000000000000000000000000000000032
+:102EA0000000000000000000000000000000000022
+:102EB0000000000000000000000000000000000012
+:102EC0000000000000000000000000000000000002
+:102ED00000000000000000000000000000000000F2
+:102EE00000000000000000000000000000000000E2
+:102EF00000000000000000000000000000000000D2
+:102F000000000000000000000000000000000000C1
+:102F100000000000000000000000000000000000B1
+:102F200000000000000000000000000000000000A1
+:102F30000000000000000000000000000000000091
+:102F40000000000000000000000000000000000081
+:102F50000000000000000000000000000000000071
+:102F60000000000000000000000000000000000061
+:102F70000000000000000000000000000000000051
+:102F80000000000000000000000000000000000041
+:102F90000000000000000000000000000000000031
+:102FA0000000000000000000000000000000000021
+:102FB0000000000000000000000000000000000011
+:102FC0000000000000000000000000000000000001
+:102FD00000000000000000000000000000000000F1
+:102FE00000000000000000000000000000000000E1
+:102FF00000000000000000000000000000000000D1
+:1030000000000000000000000000000000000000C0
+:1030100000000000000000000000000000000000B0
+:1030200000000000000000000000000000000000A0
+:103030000000000000000000000000000000000090
+:103040000000000000000000000000000000000080
+:103050000000000000000000000000000000000070
+:103060000000000000000000000000000000000060
+:103070000000000000000000000000000000000050
+:103080000000000000000000000000000000000040
+:103090000000000000000000000000000000000030
+:1030A0000000000000000000000000000000000020
+:1030B0000000000000000000000000000000000010
+:1030C0000000000000000000000000000000000000
+:1030D00000000000000000000000000000000000F0
+:1030E00000000000000000000000000000000000E0
+:1030F00000000000000000000000000000000000D0
+:1031000000000000000000000000000000000000BF
+:1031100000000000000000000000000000000000AF
+:10312000000000000000000000000000000000009F
+:10313000000000000000000000000000000000008F
+:10314000000000000000000000000000000000007F
+:10315000000000000000000000000000000000006F
+:10316000000000000000000000000000000000005F
+:10317000000000000000000000000000000000004F
+:10318000000000000000000000000000000000003F
+:10319000000000000000000000000000000000002F
+:1031A000000000000000000000000000000000001F
+:1031B000000000000000000000000000000000000F
+:1031C00000000000000000000000000000000000FF
+:1031D00000000000000000000000000000000000EF
+:1031E00000000000000000000000000000000000DF
+:1031F00000000000000000000000000000000000CF
+:1032000000000000000000000000000000000002BC
+:10321000020202020202020202020202020202028E
+:10322000020202020202020202020202020202027E
+:10323000020202020202020202020202020202026E
+:10324000020202020202020202020202020202025E
+:10325000020202020202020202020202020202024E
+:10326000020202020202020202020202020202023E
+:10327000020202020202020202020202020202022E
+:10328000020202020202020202020202020202021E
+:10329000020202020202020202020202020202020E
+:1032A00002020202020202020202020202020202FE
+:1032B00002020202020202020202020202020202EE
+:1032C00002020202020202020202020202020202DE
+:1032D00002020202020202020202020202020202CE
+:1032E00002020202020202020202020202020202BE
+:1032F00002020202020202020202020202020202AE
+:10330000020202020202020202020202020202029D
+:10331000020202020202020202020202020202028D
+:10332000020202020202020202020202020202027D
+:10333000020202020202020202020202020202026D
+:10334000020202020202020202020202020202025D
+:10335000020202020202020202020202020202024D
+:10336000020202020202020202020202020202023D
+:10337000020202020202020202020202020202022D
+:10338000020202020202020202020202020202021D
+:10339000020202020202020202020202020202020D
+:1033A00002020202020202020202020202020202FD
+:1033B00002020202020202020202020202020202ED
+:1033C00002020202020202020202020202020202DD
+:1033D00002020202020202020202020202020202CD
+:1033E00002020202020202020202020202020202BD
+:1033F00002020202020202020202020202020202AD
+:10340000020202020202020202020202020202029C
+:10341000020202020202020202020202020202028C
+:10342000020202020202020202020202020202027C
+:10343000020202020202020202020202020202026C
+:10344000020202020202020202020202020202025C
+:10345000020202020202020202020202020202024C
+:10346000020202020202020202020202020202023C
+:10347000020202020202020202020202020202022C
+:10348000020202020202020202020202020202021C
+:10349000020202020202020202020202020202020C
+:1034A00002020202020202020202020202020202FC
+:1034B00002020202020202020202020202020202EC
+:1034C00002020202020202020202020202020202DC
+:1034D00002020202020202020202020202020202CC
+:1034E00002020202020202020202020202020202BC
+:1034F00002020202020202020202020202020202AC
+:10350000020202020202020202020202020202029B
+:10351000020202020202020202020202020202028B
+:10352000020202020202020202020202020202027B
+:10353000020202020202020202020202020202026B
+:10354000020202020202020202020202020202025B
+:10355000020202020202020202020202020202024B
+:10356000020202020202020202020202020202023B
+:10357000020202020202020202020202020202022B
+:10358000020202020202020202020202020202021B
+:10359000020202020202020202020202020202020B
+:1035A00002020202020202020202020202020202FB
+:1035B00002020202020202020202020202020202EB
+:1035C00002020202020202020202020202020202DB
+:1035D00002020202020202020202020202020202CB
+:1035E00002020202020202020202020202020202BB
+:1035F00002020202020202020202020202020202AB
+:10360000020202020202020202020202020202029A
+:10361000020202020202020202020202020202028A
+:10362000020202020202020202020202020202027A
+:10363000020202020202020202020202020202026A
+:10364000020202020202020202020202020202025A
+:10365000020202020202020202020202020202024A
+:10366000020202020202020202020202020202023A
+:10367000020202020202020202020202020202022A
+:10368000020202020202020202020202020202021A
+:10369000020202020202020202020202020202020A
+:1036A00002020202020202020202020202020202FA
+:1036B00002020202020202020202020202020202EA
+:1036C00002020202020202020202020202020202DA
+:1036D00002020202020202020202020202020202CA
+:1036E00002020202020202020202020202020202BA
+:1036F00002020202020202020202020202020202AA
+:103700000202020202020202020202020202020299
+:103710000202020202020202020202020202020289
+:103720000202020202020202020202020202020279
+:103730000202020202020202020202020202020269
+:103740000202020202020202020202020202020259
+:103750000202020202020202020202020202020249
+:103760000202020202020202020202020202020239
+:103770000202020202020202020202020202020229
+:103780000202020202020202020202020202020219
+:103790000202020202020202020202020202020209
+:1037A00002020202020202020202020202020202F9
+:1037B00002020202020202020202020202020202E9
+:1037C00002020202020202020202020202020202D9
+:1037D00002020202020202020202020202020202C9
+:1037E00002020202020202020202020202020202B9
+:1037F00002020202020202020202020202020202A9
+:103800000202020202020202020202020202020298
+:103810000202020202020202020202020202020288
+:103820000202020202020202020202020202020278
+:103830000202020202020202020202020202020268
+:103840000202020202020202020202020202020258
+:103850000202020202020202020202020202020248
+:103860000202020202020202020202020202020238
+:103870000202020202020202020202020202020228
+:103880000202020202020202020202020202020218
+:103890000202020202020202020202020202020208
+:1038A00002020202020202020202020202020202F8
+:1038B00002020202020202020202020202020202E8
+:1038C00002020202020202020202020202020202D8
+:1038D00002020202020202020202020202020202C8
+:1038E00002020202020202020202020202020202B8
+:1038F00002020202020202020202020202020202A8
+:103900000202020202020202020202020202020297
+:103910000202020202020202020202020202020287
+:103920000202020202020202020202020202020277
+:103930000202020202020202020202020202020267
+:103940000202020202020202020202020202020257
+:103950000202020202020202020202020202020247
+:103960000202020202020202020202020202020237
+:103970000202020202020202020202020202020227
+:103980000202020202020202020202020202020217
+:103990000202020202020202020202020202020207
+:1039A00002020202020202020202020202020202F7
+:1039B00002020202020202020202020202020202E7
+:1039C00002020202020202020202020202020202D7
+:1039D00002020202020202020202020202020202C7
+:1039E00002020202020202020202020202020202B7
+:1039F00002020202020202020202020202020202A7
+:103A00000202020202020202020202020202020296
+:103A10000202020202020202020202020202020286
+:103A20000202020202020202020202020202020276
+:103A30000202020202020202020202020202020266
+:103A40000202020202020202020202020202020256
+:103A50000202020202020202020202020202020246
+:103A60000202020202020202020202020202020236
+:103A70000202020202020202020202020202020226
+:103A80000202020202020202020202020202020216
+:103A90000202020202020202020202020202020206
+:103AA00002020202020202020202020202020202F6
+:103AB00002020202020202020202020202020202E6
+:103AC00002020202020202020202020202020202D6
+:103AD00002020202020202020202020202020202C6
+:103AE00002020202020202020202020202020202B6
+:103AF00002020202020202020202020202020202A6
+:103B00000202020202020202020202020202020295
+:103B10000202020202020202020202020202020285
+:103B20000202020202020202020202020202020275
+:103B30000202020202020202020202020202020265
+:103B40000202020202020202020202020202020255
+:103B50000202020202020202020202020202020245
+:103B60000202020202020202020202020202020235
+:103B70000202020202020202020202020202020225
+:103B80000202020202020202020202020202020215
+:103B90000202020202020202020202020202020205
+:103BA00002020202020202020202020202020202F5
+:103BB00002020202020202020202020202020202E5
+:103BC00002020202020202020202020202020202D5
+:103BD00002020202020202020202020202020202C5
+:103BE00002020202020202020202020202020202B5
+:103BF00002020202020202020202020202020202A5
+:103C00000202020202020202020202020202020294
+:103C10000202020202020202020202020202020284
+:103C20000202020202020202020202020202020274
+:103C30000202020202020202020202020202020264
+:103C40000202020202020202020202020202020254
+:103C50000202020202020202020202020202020244
+:103C60000202020202020202020202020202020234
+:103C70000202020202020202020202020202020224
+:103C80000202020202020202020202020202020214
+:103C90000202020202020202020202020202020204
+:103CA00002020202020202020202020202020202F4
+:103CB00002020202020202020202020202020202E4
+:103CC00002020202020202020202020202020202D4
+:103CD00002020202020202020202020202020202C4
+:103CE00002020202020202020202020202020202B4
+:103CF00002020202020202020202020202020202A4
+:103D00000202020202020202020202020202020293
+:103D10000202020202020202020202020202020283
+:103D20000202020202020202020202020202020273
+:103D30000202020202020202020202020202020263
+:103D40000202020202020202020202020202020253
+:103D50000202020202020202020202020202020243
+:103D60000202020202020202020202020202020233
+:103D70000202020202020202020202020202020223
+:103D80000202020202020202020202020202020213
+:103D90000202020202020202020202020202020203
+:103DA00002020202020202020202020202020202F3
+:103DB00002020202020202020202020202020202E3
+:103DC00002020202020202020202020202020202D3
+:103DD00002020202020202020202020202020202C3
+:103DE00002020202020202020202020202020202B3
+:103DF00002020202020202020202020202020202A3
+:103E00000202020202020202020202020202020292
+:103E10000202020202020202020202020202020282
+:103E20000202020202020202020202020202020272
+:103E30000202020202020202020202020202020262
+:103E40000202020202020202020202020202020252
+:103E50000202020202020202020202020202020242
+:103E60000202020202020202020202020202020232
+:103E70000202020202020202020202020202020222
+:103E80000202020202020202020202020202020212
+:103E90000202020202020202020202020202020202
+:103EA00002020202020202020202020202020202F2
+:103EB00002020202020202020202020202020202E2
+:103EC00002020202020202020202020202020202D2
+:103ED00002020202020202020202020202020202C2
+:103EE00002020202020202020202020202020202B2
+:103EF00002020202020202020202020202020202A2
+:103F00000202020202020202020202020202020291
+:103F10000202020202020202020202020202020281
+:103F20000202020202020202020202020202020271
+:103F30000202020202020202020202020202020261
+:103F40000202020202020202020202020202020251
+:103F50000202020202020202020202020202020241
+:103F60000202020202020202020202020202020231
+:103F70000202020202020202020202020202020221
+:103F80000202020202020202020202020202020211
+:103F90000202020202020202020202020202020201
+:103FA00002020202020202020202020202020202F1
+:103FB00002020202020202020202020202020202E1
+:103FC00002020202020202020202020202020202D1
+:103FD00002020202020202020202020202020202C1
+:103FE00002020202020202020202020202020202B1
+:103FF00002020202020202020202020202020202A1
+:104000000202020202020202020202020202020290
+:104010000202020202020202020202020202020280
+:104020000202020202020202020202020202020270
+:104030000202020202020202020202020202020260
+:104040000202020202020202020202020202020250
+:104050000202020202020202020202020202020240
+:104060000202020202020202020202020202020230
+:104070000202020202020202020202020202020220
+:104080000202020202020202020202020202020210
+:104090000202020202020202020202020202020200
+:1040A00002020202020202020202020202020202F0
+:1040B00002020202020202020202020202020202E0
+:1040C00002020202020202020202020202020202D0
+:1040D00002020202020202020202020202020202C0
+:1040E00002020202020202020202020202020202B0
+:1040F00002020202020202020202020202020202A0
+:104100000202020202020202020202020202020091
+:10411000000000000000000000000000000000009F
+:10412000000000000000000000000000000000008F
+:10413000000000000000000000000000000000007F
+:10414000000000000000000000000000000000006F
+:10415000000000000000000000000000000000005F
+:10416000000000000000000000000000000000004F
+:10417000000000000000000000000000000000003F
+:10418000000000000000000000000000000000002F
+:10419000000000000000000000000000000000001F
+:1041A000000000000000000000000000000000000F
+:1041B00000000000000000000000000000000000FF
+:1041C00000000000000000000000000000000000EF
+:1041D00000000000000000000000000000000000DF
+:1041E00000000000000000000000000000000000CF
+:1041F00000000000000000000000000000000000BF
+:1042000000000000000000000000000000000000AE
+:10421000000000000000000000000000000000009E
+:10422000000000000000000000000000000000008E
+:10423000000000000000000000000000000000007E
+:10424000000000000000000000000000000000006E
+:10425000000000000000000000000000000000005E
+:10426000000000000000000000000000000000004E
+:10427000000000000000000000000000000000003E
+:10428000000000000000000000000000000000002E
+:10429000000000000000000000000000000000001E
+:1042A000000000000000000000000000000000000E
+:1042B00000000000000000000000000000000000FE
+:1042C00000000000000000000000000000000000EE
+:1042D00000000000000000000000000000000000DE
+:1042E00000000000000000000000000000000000CE
+:1042F00000000000000000000000000000000000BE
+:1043000000000000000000000000000000000000AD
+:10431000000000000000000000000000000000009D
+:10432000000000000000000000000000000000008D
+:10433000000000000000000000000000000000007D
+:10434000000000000000000000000000000000006D
+:10435000000000000000000000000000000000005D
+:10436000000000000000000000000000000000004D
+:10437000000000000000000000000000000000003D
+:10438000000000000000000000000000000000002D
+:10439000000000000000000000000000000000001D
+:1043A000000000000000000000000000000000000D
+:1043B00000000000000000000000000000000000FD
+:1043C00000000000000000000000000000000000ED
+:1043D00000000000000000000000000000000000DD
+:1043E00000000000000000000000000000000000CD
+:1043F00000000000000000000000000000000000BD
+:1044000000000000000000000000000000000000AC
+:10441000000000000000000000000000000000009C
+:10442000000000000000000000000000000000008C
+:10443000000000000000000000000000000000007C
+:10444000000000000000000000000000000000006C
+:10445000000000000000000000000000000000005C
+:10446000000000000000000000000000000000004C
+:10447000000000000000000000000000000000003C
+:10448000000000000000000000000000000000002C
+:10449000000000000000000000000000000000001C
+:1044A000000000000000000000000000000000000C
+:1044B00000000000000000000000000000000000FC
+:1044C00000000000000000000000000000000000EC
+:1044D00000000000000000000000000000000000DC
+:1044E00000000000000000000000000000000000CC
+:1044F00000000000000000000000000000000000BC
+:1045000000000000000000000000000000000000AB
+:10451000000000000000000000000000000000009B
+:10452000000000000000000000000000000000008B
+:10453000000000000000000000000000000000007B
+:10454000000000000000000000000000000000006B
+:10455000000000000000000000000000000000005B
+:10456000000000000000000000000000000000004B
+:10457000000000000000000000000000000000003B
+:10458000000000000000000000000000000000002B
+:10459000000000000000000000000000000000001B
+:1045A000000000000000000000000000000000000B
+:1045B00000000000000000000000000000000000FB
+:1045C00000000000000000000000000000000000EB
+:1045D00000000000000000000000000000000000DB
+:1045E00000000000000000000000000000000000CB
+:1045F00000000000000000000000000000000000BB
+:1046000000000000000000000000000000000000AA
+:10461000000000000000000000000000000000009A
+:10462000000000000000000000000000000000008A
+:10463000000000000000000000000000000000007A
+:10464000000000000000000000000000000000006A
+:10465000000000000000000000000000000000005A
+:10466000000000000000000000000000000000004A
+:10467000000000000000000000000000000000003A
+:10468000000000000000000000000000000000002A
+:10469000000000000000000000000000000000001A
+:1046A000000000000000000000000000000000000A
+:1046B00000000000000000000000000000000000FA
+:1046C00000000000000000000000000000000000EA
+:1046D00000000000000000000000000000000000DA
+:1046E00000000000000000000000000000000000CA
+:1046F00000000000000000000000000000000000BA
+:1047000000000000000000000000000000000000A9
+:104710000000000000000000000000000000000099
+:104720000000000000000000000000000000000089
+:104730000000000000000000000000000000000079
+:104740000000000000000000000000000000000069
+:104750000000000000000000000000000000000059
+:104760000000000000000000000000000000000049
+:104770000000000000000000000000000000000039
+:104780000000000000000000000000000000000029
+:104790000000000000000000000000000000000019
+:1047A0000000000000000000000000000000000009
+:1047B00000000000000000000000000000000000F9
+:1047C00000000000000000000000000000000000E9
+:1047D00000000000000000000000000000000000D9
+:1047E00000000000000000000000000000000000C9
+:1047F00000000000000000000000000000000000B9
+:1048000000000000000000000000000000000000A8
+:104810000000000000000000000000000000000098
+:104820000000000000000000000000000000000088
+:104830000000000000000000000000000000000078
+:104840000000000000000000000000000000000068
+:104850000000000000000000000000000000000058
+:104860000000000000000000000000000000000048
+:104870000000000000000000000000000000000038
+:104880000000000000000000000000000000000028
+:104890000000000000000000000000000000000018
+:1048A0000000000000000000000000000000000008
+:1048B00000000000000000000000000000000000F8
+:1048C00000000000000000000000000000000000E8
+:1048D00000000000000000000000000000000000D8
+:1048E00000000000000000000000000000000000C8
+:1048F00000000000000000000000000000000000B8
+:1049000000000000000000000000000000000000A7
+:104910000000000000000000000000000000000097
+:104920000000000000000000000000000000000087
+:104930000000000000000000000000000000000077
+:104940000000000000000000000000000000000067
+:104950000000000000000000000000000000000057
+:104960000000000000000000000000000000000047
+:104970000000000000000000000000000000000037
+:104980000000000000000000000000000000000027
+:104990000000000000000000000000000000000017
+:1049A0000000000000000000000000000000000007
+:1049B00000000000000000000000000000000000F7
+:1049C00000000000000000000000000000000000E7
+:1049D00000000000000000000000000000000000D7
+:1049E00000000000000000000000000000000000C7
+:1049F00000000000000000000000000000000000B7
+:104A000000000000000000000000000000000001A5
+:104A10000101010101010101010101010101010186
+:104A20000101010101010101010101010101010176
+:104A30000101010101010101010101010101010166
+:104A40000101010101010101010101010101010156
+:104A50000101010101010101010101010101010146
+:104A60000101010101010101010101010101010136
+:104A70000101010101010101010101010101010126
+:104A80000101010101010101010101010101010116
+:104A90000101010101010101010101010101010106
+:104AA00001010101010101010101010101010101F6
+:104AB00001010101010101010101010101010101E6
+:104AC00001010101010101010101010101010101D6
+:104AD00001010101010101010101010101010101C6
+:104AE00001010101010101010101010101010101B6
+:104AF00001010101010101010101010101010101A6
+:104B00000101010101010101010101010101010195
+:104B10000101010101010101010101010101010185
+:104B20000101010101010101010101010101010175
+:104B30000101010101010101010101010101010165
+:104B40000101010101010101010101010101010155
+:104B50000101010101010101010101010101010145
+:104B60000101010101010101010101010101010135
+:104B70000101010101010101010101010101010125
+:104B80000101010101010101010101010101010115
+:104B90000101010101010101010101010101010105
+:104BA00001010101010101010101010101010101F5
+:104BB00001010101010101010101010101010101E5
+:104BC00001010101010101010101010101010101D5
+:104BD00001010101010101010101010101010101C5
+:104BE00001010101010101010101010101010101B5
+:104BF00001010101010101010101010101010101A5
+:104C00000101010101010101010101010101010194
+:104C10000101010101010101010101010101010184
+:104C20000101010101010101010101010101010174
+:104C30000101010101010101010101010101010164
+:104C40000101010101010101010101010101010154
+:104C50000101010101010101010101010101010144
+:104C60000101010101010101010101010101010134
+:104C70000101010101010101010101010101010124
+:104C80000101010101010101010101010101010114
+:104C90000101010101010101010101010101010104
+:104CA00001010101010101010101010101010101F4
+:104CB00001010101010101010101010101010101E4
+:104CC00001010101010101010101010101010101D4
+:104CD00001010101010101010101010101010101C4
+:104CE00001010101010101010101010101010101B4
+:104CF00001010101010101010101010101010101A4
+:104D00000101010101010101010101010101010193
+:104D10000101010101010101010101010101010183
+:104D20000101010101010101010101010101010173
+:104D30000101010101010101010101010101010163
+:104D40000101010101010101010101010101010153
+:104D50000101010101010101010101010101010143
+:104D60000101010101010101010101010101010133
+:104D70000101010101010101010101010101010123
+:104D80000101010101010101010101010101010113
+:104D90000101010101010101010101010101010103
+:104DA00001010101010101010101010101010101F3
+:104DB00001010101010101010101010101010101E3
+:104DC00001010101010101010101010101010101D3
+:104DD00001010101010101010101010101010101C3
+:104DE00001010101010101010101010101010101B3
+:104DF00001010101010101010101010101010101A3
+:104E00000101010101010101010101010101010192
+:104E10000101010101010101010101010101010182
+:104E20000101010101010101010101010101010172
+:104E30000101010101010101010101010101010162
+:104E40000101010101010101010101010101010152
+:104E50000101010101010101010101010101010142
+:104E60000101010101010101010101010101010132
+:104E70000101010101010101010101010101010122
+:104E80000101010101010101010101010101010112
+:104E90000101010101010101010101010101010102
+:104EA00001010101010101010101010101010101F2
+:104EB00001010101010101010101010101010101E2
+:104EC00001010101010101010101010101010101D2
+:104ED00001010101010101010101010101010101C2
+:104EE00001010101010101010101010101010101B2
+:104EF00001010101010101010101010101010101A2
+:104F00000101010101010101010101010101010191
+:104F10000101010101010101010101010101010181
+:104F20000101010101010101010101010101010171
+:104F30000101010101010101010101010101010161
+:104F40000101010101010101010101010101010151
+:104F50000101010101010101010101010101010141
+:104F60000101010101010101010101010101010131
+:104F70000101010101010101010101010101010121
+:104F80000101010101010101010101010101010111
+:104F90000101010101010101010101010101010101
+:104FA00001010101010101010101010101010101F1
+:104FB00001010101010101010101010101010101E1
+:104FC00001010101010101010101010101010101D1
+:104FD00001010101010101010101010101010101C1
+:104FE00001010101010101010101010101010101B1
+:104FF00001010101010101010101010101010101A1
+:105000000101010101010101010101010101010190
+:105010000101010101010101010101010101010180
+:105020000101010101010101010101010101010170
+:105030000101010101010101010101010101010160
+:105040000101010101010101010101010101010150
+:105050000101010101010101010101010101010140
+:105060000101010101010101010101010101010130
+:105070000101010101010101010101010101010120
+:105080000101010101010101010101010101010110
+:105090000101010101010101010101010101010100
+:1050A00001010101010101010101010101010101F0
+:1050B00001010101010101010101010101010101E0
+:1050C00001010101010101010101010101010101D0
+:1050D00001010101010101010101010101010101C0
+:1050E00001010101010101010101010101010101B0
+:1050F00001010101010101010101010101010101A0
+:10510000010101010101010101010101010101018F
+:10511000010101010101010101010101010101017F
+:10512000010101010101010101010101010101016F
+:10513000010101010101010101010101010101015F
+:10514000010101010101010101010101010101014F
+:10515000010101010101010101010101010101013F
+:10516000010101010101010101010101010101012F
+:10517000010101010101010101010101010101011F
+:10518000010101010101010101010101010101010F
+:1051900001010101010101010101010101010101FF
+:1051A00001010101010101010101010101010101EF
+:1051B00001010101010101010101010101010101DF
+:1051C00001010101010101010101010101010101CF
+:1051D00001010101010101010101010101010101BF
+:1051E00001010101010101010101010101010101AF
+:1051F000010101010101010101010101010101019F
+:10520000010101010101010101010101010101018E
+:10521000010101010101010101010101010101017E
+:10522000010101010101010101010101010101016E
+:10523000010101010101010101010101010101015E
+:10524000010101010101010101010101010101014E
+:10525000010101010101010101010101010101013E
+:10526000010101010101010101010101010101012E
+:10527000010101010101010101010101010101011E
+:10528000010101010101010101010101010101010E
+:1052900001010101010101010101010101010101FE
+:1052A00001010101010101010101010101010101EE
+:1052B00001010101010101010101010101010101DE
+:1052C00001010101010101010101010101010101CE
+:1052D00001010101010101010101010101010101BE
+:1052E00001010101010101010101010101010101AE
+:1052F000010101010101010101010101010101019E
+:10530000010101010101010101010101010101018D
+:10531000010101010101010101010101010101017D
+:10532000010101010101010101010101010101016D
+:10533000010101010101010101010101010101015D
+:10534000010101010101010101010101010101014D
+:10535000010101010101010101010101010101013D
+:10536000010101010101010101010101010101012D
+:10537000010101010101010101010101010101011D
+:10538000010101010101010101010101010101010D
+:1053900001010101010101010101010101010101FD
+:1053A00001010101010101010101010101010101ED
+:1053B00001010101010101010101010101010101DD
+:1053C00001010101010101010101010101010101CD
+:1053D00001010101010101010101010101010101BD
+:1053E00001010101010101010101010101010101AD
+:1053F000010101010101010101010101010101019D
+:10540000010101010101010101010101010101018C
+:10541000010101010101010101010101010101017C
+:10542000010101010101010101010101010101016C
+:10543000010101010101010101010101010101015C
+:10544000010101010101010101010101010101014C
+:10545000010101010101010101010101010101013C
+:10546000010101010101010101010101010101012C
+:10547000010101010101010101010101010101011C
+:10548000010101010101010101010101010101010C
+:1054900001010101010101010101010101010101FC
+:1054A00001010101010101010101010101010101EC
+:1054B00001010101010101010101010101010101DC
+:1054C00001010101010101010101010101010101CC
+:1054D00001010101010101010101010101010101BC
+:1054E00001010101010101010101010101010101AC
+:1054F000010101010101010101010101010101019C
+:10550000010101010101010101010101010101018B
+:10551000010101010101010101010101010101017B
+:10552000010101010101010101010101010101016B
+:10553000010101010101010101010101010101015B
+:10554000010101010101010101010101010101014B
+:10555000010101010101010101010101010101013B
+:10556000010101010101010101010101010101012B
+:10557000010101010101010101010101010101011B
+:10558000010101010101010101010101010101010B
+:1055900001010101010101010101010101010101FB
+:1055A00001010101010101010101010101010101EB
+:1055B00001010101010101010101010101010101DB
+:1055C00001010101010101010101010101010101CB
+:1055D00001010101010101010101010101010101BB
+:1055E00001010101010101010101010101010101AB
+:1055F000010101010101010101010101010101019B
+:10560000010101010101010101010101010101018A
+:10561000010101010101010101010101010101017A
+:10562000010101010101010101010101010101016A
+:10563000010101010101010101010101010101015A
+:10564000010101010101010101010101010101014A
+:10565000010101010101010101010101010101013A
+:10566000010101010101010101010101010101012A
+:10567000010101010101010101010101010101011A
+:10568000010101010101010101010101010101010A
+:1056900001010101010101010101010101010101FA
+:1056A00001010101010101010101010101010101EA
+:1056B00001010101010101010101010101010101DA
+:1056C00001010101010101010101010101010101CA
+:1056D00001010101010101010101010101010101BA
+:1056E00001010101010101010101010101010101AA
+:1056F000010101010101010101010101010101019A
+:105700000101010101010101010101010101010189
+:105710000101010101010101010101010101010179
+:105720000101010101010101010101010101010169
+:105730000101010101010101010101010101010159
+:105740000101010101010101010101010101010149
+:105750000101010101010101010101010101010139
+:105760000101010101010101010101010101010129
+:105770000101010101010101010101010101010119
+:105780000101010101010101010101010101010109
+:1057900001010101010101010101010101010101F9
+:1057A00001010101010101010101010101010101E9
+:1057B00001010101010101010101010101010101D9
+:1057C00001010101010101010101010101010101C9
+:1057D00001010101010101010101010101010101B9
+:1057E00001010101010101010101010101010101A9
+:1057F0000101010101010101010101010101010199
+:105800000101010101010101010101010101010188
+:105810000101010101010101010101010101010178
+:105820000101010101010101010101010101010168
+:105830000101010101010101010101010101010158
+:105840000101010101010101010101010101010148
+:105850000101010101010101010101010101010138
+:105860000101010101010101010101010101010128
+:105870000101010101010101010101010101010118
+:105880000101010101010101010101010101010108
+:1058900001010101010101010101010101010101F8
+:1058A00001010101010101010101010101010101E8
+:1058B00001010101010101010101010101010101D8
+:1058C00001010101010101010101010101010101C8
+:1058D00001010101010101010101010101010101B8
+:1058E00001010101010101010101010101010101A8
+:1058F0000101010101010101010101010101010198
+:105900000101010101010101010101010101010088
+:105910000000000000000000000000000000000087
+:105920000000000000000000000000000000000077
+:105930000000000000000000000000000000000067
+:105940000000000000000000000000000000000057
+:105950000000000000000000000000000000000047
+:105960000000000000000000000000000000000037
+:105970000000000000000000000000000000000027
+:105980000000000000000000000000000000000017
+:105990000000000000000000000000000000000007
+:1059A00000000000000000000000000000000000F7
+:1059B00000000000000000000000000000000000E7
+:1059C00000000000000000000000000000000000D7
+:1059D00000000000000000000000000000000000C7
+:1059E00000000000000000000000000000000000B7
+:1059F00000000000000000000000000000000000A7
+:105A00000000000000000000000000000000000096
+:105A10000000000000000000000000000000000086
+:105A20000000000000000000000000000000000076
+:105A30000000000000000000000000000000000066
+:105A40000000000000000000000000000000000056
+:105A50000000000000000000000000000000000046
+:105A60000000000000000000000000000000000036
+:105A70000000000000000000000000000000000026
+:105A80000000000000000000000000000000000016
+:105A90000000000000000000000000000000000006
+:105AA00000000000000000000000000000000000F6
+:105AB00000000000000000000000000000000000E6
+:105AC00000000000000000000000000000000000D6
+:105AD00000000000000000000000000000000000C6
+:105AE00000000000000000000000000000000000B6
+:105AF00000000000000000000000000000000000A6
+:105B00000000000000000000000000000000000095
+:105B10000000000000000000000000000000000085
+:105B20000000000000000000000000000000000075
+:105B30000000000000000000000000000000000065
+:105B40000000000000000000000000000000000055
+:105B50000000000000000000000000000000000045
+:105B60000000000000000000000000000000000035
+:105B70000000000000000000000000000000000025
+:105B80000000000000000000000000000000000015
+:105B90000000000000000000000000000000000005
+:105BA00000000000000000000000000000000000F5
+:105BB00000000000000000000000000000000000E5
+:105BC00000000000000000000000000000000000D5
+:105BD00000000000000000000000000000000000C5
+:105BE00000000000000000000000000000000000B5
+:105BF00000000000000000000000000000000000A5
+:105C00000000000000000000000000000000000094
+:105C10000000000000000000000000000000000084
+:105C20000000000000000000000000000000000074
+:105C30000000000000000000000000000000000064
+:105C40000000000000000000000000000000000054
+:105C50000000000000000000000000000000000044
+:105C60000000000000000000000000000000000034
+:105C70000000000000000000000000000000000024
+:105C80000000000000000000000000000000000014
+:105C90000000000000000000000000000000000004
+:105CA00000000000000000000000000000000000F4
+:105CB00000000000000000000000000000000000E4
+:105CC00000000000000000000000000000000000D4
+:105CD00000000000000000000000000000000000C4
+:105CE00000000000000000000000000000000000B4
+:105CF00000000000000000000000000000000000A4
+:105D00000000000000000000000000000000000093
+:105D10000000000000000000000000000000000083
+:105D20000000000000000000000000000000000073
+:105D30000000000000000000000000000000000063
+:105D40000000000000000000000000000000000053
+:105D50000000000000000000000000000000000043
+:105D60000000000000000000000000000000000033
+:105D70000000000000000000000000000000000023
+:105D80000000000000000000000000000000000013
+:105D90000000000000000000000000000000000003
+:105DA00000000000000000000000000000000000F3
+:105DB00000000000000000000000000000000000E3
+:105DC00000000000000000000000000000000000D3
+:105DD00000000000000000000000000000000000C3
+:105DE00000000000000000000000000000000000B3
+:105DF00000000000000000000000000000000000A3
+:105E00000000000000000000000000000000000092
+:105E10000000000000000000000000000000000082
+:105E20000000000000000000000000000000000072
+:105E30000000000000000000000000000000000062
+:105E40000000000000000000000000000000000052
+:105E50000000000000000000000000000000000042
+:105E60000000000000000000000000000000000032
+:105E70000000000000000000000000000000000022
+:105E80000000000000000000000000000000000012
+:105E90000000000000000000000000000000000002
+:105EA00000000000000000000000000000000000F2
+:105EB00000000000000000000000000000000000E2
+:105EC00000000000000000000000000000000000D2
+:105ED00000000000000000000000000000000000C2
+:105EE00000000000000000000000000000000000B2
+:105EF00000000000000000000000000000000000A2
+:105F00000000000000000000000000000000000091
+:105F10000000000000000000000000000000000081
+:105F20000000000000000000000000000000000071
+:105F30000000000000000000000000000000000061
+:105F40000000000000000000000000000000000051
+:105F50000000000000000000000000000000000041
+:105F60000000000000000000000000000000000031
+:105F70000000000000000000000000000000000021
+:105F80000000000000000000000000000000000011
+:105F90000000000000000000000000000000000001
+:105FA00000000000000000000000000000000000F1
+:105FB00000000000000000000000000000000000E1
+:105FC00000000000000000000000000000000000D1
+:105FD00000000000000000000000000000000000C1
+:105FE00000000000000000000000000000000000B1
+:105FF00000000000000000000000000000000000A1
+:10600000000000000000000000000000000000028E
+:106010000202020202020202020202020202020260
+:106020000202020202020202020202020202020250
+:106030000202020202020202020202020202020240
+:106040000202020202020202020202020202020230
+:106050000202020202020202020202020202020220
+:106060000202020202020202020202020202020210
+:106070000202020202020202020202020202020200
+:1060800002020202020202020202020202020202F0
+:1060900002020202020202020202020202020202E0
+:1060A00002020202020202020202020202020202D0
+:1060B00002020202020202020202020202020202C0
+:1060C00002020202020202020202020202020202B0
+:1060D00002020202020202020202020202020202A0
+:1060E0000202020202020202020202020202020290
+:1060F0000202020202020202020202020202020280
+:10610000020202020202020202020202020202026F
+:10611000020202020202020202020202020202025F
+:10612000020202020202020202020202020202024F
+:10613000020202020202020202020202020202023F
+:10614000020202020202020202020202020202022F
+:10615000020202020202020202020202020202021F
+:10616000020202020202020202020202020202020F
+:1061700002020202020202020202020202020202FF
+:1061800002020202020202020202020202020202EF
+:1061900002020202020202020202020202020202DF
+:1061A00002020202020202020202020202020202CF
+:1061B00002020202020202020202020202020202BF
+:1061C00002020202020202020202020202020202AF
+:1061D000020202020202020202020202020202029F
+:1061E000020202020202020202020202020202028F
+:1061F000020202020202020202020202020202027F
+:10620000020202020202020202020202020202026E
+:10621000020202020202020202020202020202025E
+:10622000020202020202020202020202020202024E
+:10623000020202020202020202020202020202023E
+:10624000020202020202020202020202020202022E
+:10625000020202020202020202020202020202021E
+:10626000020202020202020202020202020202020E
+:1062700002020202020202020202020202020202FE
+:1062800002020202020202020202020202020202EE
+:1062900002020202020202020202020202020202DE
+:1062A00002020202020202020202020202020202CE
+:1062B00002020202020202020202020202020202BE
+:1062C00002020202020202020202020202020202AE
+:1062D000020202020202020202020202020202029E
+:1062E000020202020202020202020202020202028E
+:1062F000020202020202020202020202020202027E
+:10630000020202020202020202020202020202026D
+:10631000020202020202020202020202020202025D
+:10632000020202020202020202020202020202024D
+:10633000020202020202020202020202020202023D
+:10634000020202020202020202020202020202022D
+:10635000020202020202020202020202020202021D
+:10636000020202020202020202020202020202020D
+:1063700002020202020202020202020202020202FD
+:1063800002020202020202020202020202020202ED
+:1063900002020202020202020202020202020202DD
+:1063A00002020202020202020202020202020202CD
+:1063B00002020202020202020202020202020202BD
+:1063C00002020202020202020202020202020202AD
+:1063D000020202020202020202020202020202029D
+:1063E000020202020202020202020202020202028D
+:1063F000020202020202020202020202020202027D
+:10640000020202020202020202020202020202026C
+:10641000020202020202020202020202020202025C
+:10642000020202020202020202020202020202024C
+:10643000020202020202020202020202020202023C
+:10644000020202020202020202020202020202022C
+:10645000020202020202020202020202020202021C
+:10646000020202020202020202020202020202020C
+:1064700002020202020202020202020202020202FC
+:1064800002020202020202020202020202020202EC
+:1064900002020202020202020202020202020202DC
+:1064A00002020202020202020202020202020202CC
+:1064B00002020202020202020202020202020202BC
+:1064C00002020202020202020202020202020202AC
+:1064D000020202020202020202020202020202029C
+:1064E000020202020202020202020202020202028C
+:1064F000020202020202020202020202020202027C
+:10650000020202020202020202020202020202026B
+:10651000020202020202020202020202020202025B
+:10652000020202020202020202020202020202024B
+:10653000020202020202020202020202020202023B
+:10654000020202020202020202020202020202022B
+:10655000020202020202020202020202020202021B
+:10656000020202020202020202020202020202020B
+:1065700002020202020202020202020202020202FB
+:1065800002020202020202020202020202020202EB
+:1065900002020202020202020202020202020202DB
+:1065A00002020202020202020202020202020202CB
+:1065B00002020202020202020202020202020202BB
+:1065C00002020202020202020202020202020202AB
+:1065D000020202020202020202020202020202029B
+:1065E000020202020202020202020202020202028B
+:1065F000020202020202020202020202020202027B
+:10660000020202020202020202020202020202026A
+:10661000020202020202020202020202020202025A
+:10662000020202020202020202020202020202024A
+:10663000020202020202020202020202020202023A
+:10664000020202020202020202020202020202022A
+:10665000020202020202020202020202020202021A
+:10666000020202020202020202020202020202020A
+:1066700002020202020202020202020202020202FA
+:1066800002020202020202020202020202020202EA
+:1066900002020202020202020202020202020202DA
+:1066A00002020202020202020202020202020202CA
+:1066B00002020202020202020202020202020202BA
+:1066C00002020202020202020202020202020202AA
+:1066D000020202020202020202020202020202029A
+:1066E000020202020202020202020202020202028A
+:1066F000020202020202020202020202020202027A
+:106700000202020202020202020202020202020269
+:106710000202020202020202020202020202020259
+:106720000202020202020202020202020202020249
+:106730000202020202020202020202020202020239
+:106740000202020202020202020202020202020229
+:106750000202020202020202020202020202020219
+:106760000202020202020202020202020202020209
+:1067700002020202020202020202020202020202F9
+:1067800002020202020202020202020202020202E9
+:1067900002020202020202020202020202020202D9
+:1067A00002020202020202020202020202020202C9
+:1067B00002020202020202020202020202020202B9
+:1067C00002020202020202020202020202020202A9
+:1067D0000202020202020202020202020202020299
+:1067E0000202020202020202020202020202020289
+:1067F0000202020202020202020202020202020279
+:106800000202020202020202020202020202020268
+:106810000202020202020202020202020202020258
+:106820000202020202020202020202020202020248
+:106830000202020202020202020202020202020238
+:106840000202020202020202020202020202020228
+:106850000202020202020202020202020202020218
+:106860000202020202020202020202020202020208
+:1068700002020202020202020202020202020202F8
+:1068800002020202020202020202020202020202E8
+:1068900002020202020202020202020202020202D8
+:1068A00002020202020202020202020202020202C8
+:1068B00002020202020202020202020202020202B8
+:1068C00002020202020202020202020202020202A8
+:1068D0000202020202020202020202020202020298
+:1068E0000202020202020202020202020202020288
+:1068F0000202020202020202020202020202020278
+:106900000202020202020202020202020202020267
+:106910000202020202020202020202020202020257
+:106920000202020202020202020202020202020247
+:106930000202020202020202020202020202020237
+:106940000202020202020202020202020202020227
+:106950000202020202020202020202020202020217
+:106960000202020202020202020202020202020207
+:1069700002020202020202020202020202020202F7
+:1069800002020202020202020202020202020202E7
+:1069900002020202020202020202020202020202D7
+:1069A00002020202020202020202020202020202C7
+:1069B00002020202020202020202020202020202B7
+:1069C00002020202020202020202020202020202A7
+:1069D0000202020202020202020202020202020297
+:1069E0000202020202020202020202020202020287
+:1069F0000202020202020202020202020202020277
+:106A00000202020202020202020202020202020266
+:106A10000202020202020202020202020202020256
+:106A20000202020202020202020202020202020246
+:106A30000202020202020202020202020202020236
+:106A40000202020202020202020202020202020226
+:106A50000202020202020202020202020202020216
+:106A60000202020202020202020202020202020206
+:106A700002020202020202020202020202020202F6
+:106A800002020202020202020202020202020202E6
+:106A900002020202020202020202020202020202D6
+:106AA00002020202020202020202020202020202C6
+:106AB00002020202020202020202020202020202B6
+:106AC00002020202020202020202020202020202A6
+:106AD0000202020202020202020202020202020296
+:106AE0000202020202020202020202020202020286
+:106AF0000202020202020202020202020202020276
+:106B00000202020202020202020202020202020265
+:106B10000202020202020202020202020202020255
+:106B20000202020202020202020202020202020245
+:106B30000202020202020202020202020202020235
+:106B40000202020202020202020202020202020225
+:106B50000202020202020202020202020202020215
+:106B60000202020202020202020202020202020205
+:106B700002020202020202020202020202020202F5
+:106B800002020202020202020202020202020202E5
+:106B900002020202020202020202020202020202D5
+:106BA00002020202020202020202020202020202C5
+:106BB00002020202020202020202020202020202B5
+:106BC00002020202020202020202020202020202A5
+:106BD0000202020202020202020202020202020295
+:106BE0000202020202020202020202020202020285
+:106BF0000202020202020202020202020202020275
+:106C00000202020202020202020202020202020264
+:106C10000202020202020202020202020202020254
+:106C20000202020202020202020202020202020244
+:106C30000202020202020202020202020202020234
+:106C40000202020202020202020202020202020224
+:106C50000202020202020202020202020202020214
+:106C60000202020202020202020202020202020204
+:106C700002020202020202020202020202020202F4
+:106C800002020202020202020202020202020202E4
+:106C900002020202020202020202020202020202D4
+:106CA00002020202020202020202020202020202C4
+:106CB00002020202020202020202020202020202B4
+:106CC00002020202020202020202020202020202A4
+:106CD0000202020202020202020202020202020294
+:106CE0000202020202020202020202020202020284
+:106CF0000202020202020202020202020202020274
+:106D00000202020202020202020202020202020263
+:106D10000202020202020202020202020202020253
+:106D20000202020202020202020202020202020243
+:106D30000202020202020202020202020202020233
+:106D40000202020202020202020202020202020223
+:106D50000202020202020202020202020202020213
+:106D60000202020202020202020202020202020203
+:106D700002020202020202020202020202020202F3
+:106D800002020202020202020202020202020202E3
+:106D900002020202020202020202020202020202D3
+:106DA00002020202020202020202020202020202C3
+:106DB00002020202020202020202020202020202B3
+:106DC00002020202020202020202020202020202A3
+:106DD0000202020202020202020202020202020293
+:106DE0000202020202020202020202020202020283
+:106DF0000202020202020202020202020202020273
+:106E00000202020202020202020202020202020262
+:106E10000202020202020202020202020202020252
+:106E20000202020202020202020202020202020242
+:106E30000202020202020202020202020202020232
+:106E40000202020202020202020202020202020222
+:106E50000202020202020202020202020202020212
+:106E60000202020202020202020202020202020202
+:106E700002020202020202020202020202020202F2
+:106E800002020202020202020202020202020202E2
+:106E900002020202020202020202020202020202D2
+:106EA00002020202020202020202020202020202C2
+:106EB00002020202020202020202020202020202B2
+:106EC00002020202020202020202020202020202A2
+:106ED0000202020202020202020202020202020292
+:106EE0000202020202020202020202020202020282
+:106EF0000202020202020202020202020202020272
+:106F00000202020202020202020202020202020063
+:106F10000000000000000000000000000000000071
+:106F20000000000000000000000000000000000061
+:106F30000000000000000000000000000000000051
+:106F40000000000000000000000000000000000041
+:106F50000000000000000000000000000000000031
+:106F60000000000000000000000000000000000021
+:106F70000000000000000000000000000000000011
+:106F80000000000000000000000000000000000001
+:106F900000000000000000000000000000000000F1
+:106FA00000000000000000000000000000000000E1
+:106FB00000000000000000000000000000000000D1
+:106FC00000000000000000000000000000000000C1
+:106FD00000000000000000000000000000000000B1
+:106FE00000000000000000000000000000000000A1
+:106FF0000000000000000000000000000000000091
+:107000000000000000000000000000000000000080
+:107010000000000000000000000000000000000070
+:107020000000000000000000000000000000000060
+:107030000000000000000000000000000000000050
+:107040000000000000000000000000000000000040
+:107050000000000000000000000000000000000030
+:107060000000000000000000000000000000000020
+:107070000000000000000000000000000000000010
+:107080000000000000000000000000000000000000
+:1070900000000000000000000000000000000000F0
+:1070A00000000000000000000000000000000000E0
+:1070B00000000000000000000000000000000000D0
+:1070C00000000000000000000000000000000000C0
+:1070D00000000000000000000000000000000000B0
+:1070E00000000000000000000000000000000000A0
+:1070F0000000000000000000000000000000000090
+:10710000000000000000000000000000000000007F
+:10711000000000000000000000000000000000006F
+:10712000000000000000000000000000000000005F
+:10713000000000000000000000000000000000004F
+:10714000000000000000000000000000000000003F
+:10715000000000000000000000000000000000002F
+:10716000000000000000000000000000000000001F
+:10717000000000000000000000000000000000000F
+:1071800000000000000000000000000000000000FF
+:1071900000000000000000000000000000000000EF
+:1071A00000000000000000000000000000000000DF
+:1071B00000000000000000000000000000000000CF
+:1071C00000000000000000000000000000000000BF
+:1071D00000000000000000000000000000000000AF
+:1071E000000000000000000000000000000000009F
+:1071F000000000000000000000000000000000008F
+:10720000000000000000000000000000000000007E
+:10721000000000000000000000000000000000006E
+:10722000000000000000000000000000000000005E
+:10723000000000000000000000000000000000004E
+:10724000000000000000000000000000000000003E
+:10725000000000000000000000000000000000002E
+:10726000000000000000000000000000000000001E
+:10727000000000000000000000000000000000000E
+:1072800000000000000000000000000000000000FE
+:1072900000000000000000000000000000000000EE
+:1072A00000000000000000000000000000000000DE
+:1072B00000000000000000000000000000000000CE
+:1072C00000000000000000000000000000000000BE
+:1072D00000000000000000000000000000000000AE
+:1072E000000000000000000000000000000000009E
+:1072F000000000000000000000000000000000008E
+:10730000000000000000000000000000000000007D
+:10731000000000000000000000000000000000006D
+:10732000000000000000000000000000000000005D
+:10733000000000000000000000000000000000004D
+:10734000000000000000000000000000000000003D
+:10735000000000000000000000000000000000002D
+:10736000000000000000000000000000000000001D
+:10737000000000000000000000000000000000000D
+:1073800000000000000000000000000000000000FD
+:1073900000000000000000000000000000000000ED
+:1073A00000000000000000000000000000000000DD
+:1073B00000000000000000000000000000000000CD
+:1073C00000000000000000000000000000000000BD
+:1073D00000000000000000000000000000000000AD
+:1073E000000000000000000000000000000000009D
+:1073F000000000000000000000000000000000008D
+:10740000000000000000000000000000000000007C
+:10741000000000000000000000000000000000006C
+:10742000000000000000000000000000000000005C
+:10743000000000000000000000000000000000004C
+:10744000000000000000000000000000000000003C
+:10745000000000000000000000000000000000002C
+:10746000000000000000000000000000000000001C
+:10747000000000000000000000000000000000000C
+:1074800000000000000000000000000000000000FC
+:1074900000000000000000000000000000000000EC
+:1074A00000000000000000000000000000000000DC
+:1074B00000000000000000000000000000000000CC
+:1074C00000000000000000000000000000000000BC
+:1074D00000000000000000000000000000000000AC
+:1074E000000000000000000000000000000000009C
+:1074F000000000000000000000000000000000008C
+:107500000000000000000000000000000000005526
+:107510000000000000000001010101010101010162
+:10752000010101010101010101010101010101014B
+:10753000010101010101010101010101010101013B
+:10754000010101010101010101010101010101012B
+:10755000010101010101010101010101010101011B
+:10756000010101010101010101010101010101010B
+:1075700001010101010101010101010101010101FB
+:1075800001010101010101010101010101010101EB
+:1075900001010101010101010101010101010101DB
+:1075A00001010101010101010101010101010101CB
+:1075B00001010101010101010101010101010101BB
+:1075C00001010101010101010101010101010101AB
+:1075D000010101010101010101010101010101019B
+:1075E000010101010101010101010101010101018B
+:1075F000010101010101010101010101010101017B
+:10760000010101010101010101010101010101016A
+:10761000010101010101010101010101010101015A
+:10762000010101010101010101010101010101014A
+:10763000010101010101010101010101010101013A
+:10764000010101010101010101010101010101012A
+:10765000010101010101010101010101010101011A
+:10766000010101010101010101010101010101010A
+:1076700001010101010101010101010101010101FA
+:1076800001010101010101010101010101010101EA
+:1076900001010101010101010101010101010101DA
+:1076A00001010101010101010101010101010101CA
+:1076B00001010101010101010101010101010101BA
+:1076C00001010101010101010101010101010101AA
+:1076D000010101010101010101010101010101019A
+:1076E000010101010101010101010101010101018A
+:1076F000010101010101010101010101010101017A
+:107700000101010101010101010101010101010169
+:107710000101010101010101010101010101010159
+:107720000101010101010101010101010101010149
+:107730000101010101010101010101010101010139
+:107740000101010101010101010101010101010129
+:107750000101010101010101010101010101010119
+:107760000101010101010101010101010101010109
+:1077700001010101010101010101010101010101F9
+:1077800001010101010101010101010101010101E9
+:1077900001010101010101010101010101010101D9
+:1077A00001010101010101010101010101010101C9
+:1077B00001010101010101010101010101010101B9
+:1077C00001010101010101010101010101010101A9
+:1077D0000101010101010101010101010101010199
+:1077E0000101010101010101010101010101010189
+:1077F0000101010101010101010101010101010179
+:107800000101010101010101010101010101010168
+:107810000101010101010101010101010101010158
+:107820000101010101010101010101010101010148
+:107830000101010101010101010101010101010138
+:107840000101010101010101010101010101010128
+:107850000101010101010101010101010101010118
+:107860000101010101010101010101010101010108
+:1078700001010101010101010101010101010101F8
+:1078800001010101010101010101010101010101E8
+:1078900001010101010101010101010101010101D8
+:1078A00001010101010101010101010101010101C8
+:1078B00001010101010101010101010101010101B8
+:1078C00001010101010101010101010101010101A8
+:1078D0000101010101010101010101010101010198
+:1078E0000101010101010101010101010101010188
+:1078F0000101010101010101010101010101010178
+:107900000101010101010101010101010101010167
+:107910000101010101010101010101010101010157
+:107920000101010101010101010101010101010147
+:107930000101010101010101010101010101010137
+:107940000101010101010101010101010101010127
+:107950000101010101010101010101010101010117
+:107960000101010101010101010101010101010107
+:1079700001010101010101010101010101010101F7
+:1079800001010101010101010101010101010101E7
+:1079900001010101010101010101010101010101D7
+:1079A00001010101010101010101010101010101C7
+:1079B00001010101010101010101010101010101B7
+:1079C00001010101010101010101010101010101A7
+:1079D0000101010101010101010101010101010197
+:1079E0000101010101010101010101010101010187
+:1079F0000101010101010101010101010101010177
+:107A00000101010101010101010101010101010166
+:107A10000101010101010101010101010101010156
+:107A20000101010101010101010101010101010146
+:107A30000101010101010101010101010101010136
+:107A40000101010101010101010101010101010126
+:107A50000101010101010101010101010101010116
+:107A60000101010101010101010101010101010106
+:107A700001010101010101010101010101010101F6
+:107A800001010101010101010101010101010101E6
+:107A900001010101010101010101010101010101D6
+:107AA00001010101010101010101010101010101C6
+:107AB00001010101010101010101010101010101B6
+:107AC00001010101010101010101010101010101A6
+:107AD0000101010101010101010101010101010196
+:107AE0000101010101010101010101010101010186
+:107AF0000101010101010101010101010101010176
+:107B00000101010101010101010101010101010165
+:107B10000101010101010101010101010101010155
+:107B20000101010101010101010101010101010145
+:107B30000101010101010101010101010101010135
+:107B40000101010101010101010101010101010125
+:107B50000101010101010101010101010101010115
+:107B60000101010101010101010101010101010105
+:107B700001010101010101010101010101010101F5
+:107B800001010101010101010101010101010101E5
+:107B900001010101010101010101010101010101D5
+:107BA00001010101010101010101010101010101C5
+:107BB00001010101010101010101010101010101B5
+:107BC00001010101010101010101010101010101A5
+:107BD0000101010101010101010101010101010195
+:107BE0000101010101010101010101010101010185
+:107BF0000101010101010101010101010101010175
+:107C00000101010101010101010101010101010164
+:107C10000101010101010101010101010101010154
+:107C20000101010101010101010101010101010144
+:107C30000101010101010101010101010101010134
+:107C40000101010101010101010101010101010124
+:107C50000101010101010101010101010101010114
+:107C60000101010101010101010101010101010104
+:107C700001010101010101010101010101010101F4
+:107C800001010101010101010101010101010101E4
+:107C900001010101010101010101010101010101D4
+:107CA00001010101010101010101010101010101C4
+:107CB00001010101010101010101010101010101B4
+:107CC00001010101010101010101010101010101A4
+:107CD0000101010101010101010101010101010194
+:107CE0000101010101010101010101010101010184
+:107CF0000101010101010101010101010101010174
+:107D00000101010101010101010101010101010163
+:107D10000101010101010101010101010101010153
+:107D20000101010101010101010101010101010143
+:107D30000101010101010101010101010101010133
+:107D40000101010101010101010101010101010123
+:107D50000101010101010101010101010101010113
+:107D60000101010101010101010101010101010103
+:107D700001010101010101010101010101010101F3
+:107D800001010101010101010101010101010101E3
+:107D900001010101010101010101010101010101D3
+:107DA00001010101010101010101010101010101C3
+:107DB00001010101010101010101010101010101B3
+:107DC00001010101010101010101010101010101A3
+:107DD0000101010101010101010101010101010193
+:107DE0000101010101010101010101010101010183
+:107DF0000101010101010101010101010101010173
+:107E00000101010101010101010101010101010162
+:107E10000101010101010101010101010101010152
+:107E20000101010101010101010101010101010142
+:107E30000101010101010101010101010101010132
+:107E40000101010101010101010101010101010122
+:107E50000101010101010101010101010101010112
+:107E60000101010101010101010101010101010102
+:107E700001010101010101010101010101010101F2
+:107E800001010101010101010101010101010101E2
+:107E900001010101010101010101010101010101D2
+:107EA00001010101010101010101010101010101C2
+:107EB00001010101010101010101010101010101B2
+:107EC00001010101010101010101010101010101A2
+:107ED0000101010101010101010101010101010192
+:107EE0000101010101010101010101010101010182
+:107EF0000101010101010101010101010101010172
+:107F00000101010101010101010101010101010161
+:107F10000101010101010101010101010101010151
+:107F20000101010101010101010101010101010141
+:107F30000101010101010101010101010101010131
+:107F40000101010101010101010101010101010121
+:107F50000101010101010101010101010101010111
+:107F60000101010101010101010101010101010101
+:107F700001010101010101010101010101010101F1
+:107F800001010101010101010101010101010101E1
+:107F900001010101010101010101010101010101D1
+:107FA00001010101010101010101010101010101C1
+:107FB00001010101010101010101010101010101B1
+:107FC00001010101010101010101010101010101A1
+:107FD0000101010101010101010101010101010191
+:107FE0000101010101010101010101010101010181
+:107FF0000101010101010101010101010101010171
+:108000000101010101010101010101010101010160
+:108010000101010101010101010101010101010150
+:108020000101010101010101010101010101010140
+:108030000101010101010101010101010101010130
+:108040000101010101010101010101010101010120
+:108050000101010101010101010101010101010110
+:108060000101010101010101010101010101010100
+:1080700001010101010101010101010101010101F0
+:1080800001010101010101010101010101010101E0
+:1080900001010101010101010101010101010101D0
+:1080A00001010101010101010101010101010101C0
+:1080B00001010101010101010101010101010101B0
+:1080C00001010101010101010101010101010101A0
+:1080D0000101010101010101010101010101010190
+:1080E0000101010101010101010101010101010180
+:1080F0000101010101010101010101010101010170
+:10810000010101010101010101010101010101015F
+:10811000010101010101010101010101010101014F
+:10812000010101010101010101010101010101013F
+:10813000010101010101010101010101010101012F
+:10814000010101010101010101010101010101011F
+:10815000010101010101010101010101010101010F
+:1081600001010101010101010101010101010101FF
+:1081700001010101010101010101010101010101EF
+:1081800001010101010101010101010101010101DF
+:1081900001010101010101010101010101010101CF
+:1081A00001010101010101010101010101010101BF
+:1081B00001010101010101010101010101010101AF
+:1081C000010101010101010101010101010101019F
+:1081D000010101010101010101010101010101018F
+:1081E000010101010101010101010101010101017F
+:1081F000010101010101010101010101010101016F
+:10820000010101010101010101010101010101015E
+:10821000010101010101010101010101010101014E
+:10822000010101010101010101010101010101013E
+:10823000010101010101010101010101010101012E
+:10824000010101010101010101010101010101011E
+:10825000010101010101010101010101010101010E
+:1082600001010101010101010101010101010101FE
+:1082700001010101010101010101010101010101EE
+:1082800001010101010101010101010101010101DE
+:1082900001010101010101010101010101010101CE
+:1082A00001010101010101010101010101010101BE
+:1082B00001010101010101010101010101010101AE
+:1082C000010101010101010101010101010101019E
+:1082D000010101010101010101010101010101018E
+:1082E000010101010101010101010101010101017E
+:1082F000010101010101010101010101010101016E
+:10830000010101010101010101010101010101015D
+:10831000010101010101010101010101010101014D
+:10832000010101010101010101010101010101013D
+:10833000010101010101010101010101010101012D
+:10834000010101010101010101010101010101011D
+:10835000010101010101010101010101010101010D
+:1083600001010101010101010101010101010101FD
+:1083700001010101010101010101010101010101ED
+:1083800001010101010101010101010101010101DD
+:1083900001010101010101010101010101010101CD
+:1083A00001010101010101010101010101010101BD
+:1083B00001010101010101010101010101010101AD
+:1083C000010101010101010101010101010101019D
+:1083D000010101010101010101010101010101018D
+:1083E000010101010101010101010101010101017D
+:1083F000010101010101010101010101010101016D
+:10840000010101010101010101010101010101015C
+:108410000101010101010100000000000000000055
+:10842000000000000000000000000000000000004C
+:10843000000000000000000000000000000000003C
+:10844000000000000000000000000000000000002C
+:10845000000000000000000000000000000000001C
+:10846000000000000000000000000000000000000C
+:1084700000000000000000000000000000000000FC
+:1084800000000000000000000000000000000000EC
+:1084900000000000000000000000000000000000DC
+:1084A00000000000000000000000000000000000CC
+:1084B00000000000000000000000000000000000BC
+:1084C00000000000000000000000000000000000AC
+:1084D000000000000000000000000000000000009C
+:1084E000000000000000000000000000000000008C
+:1084F000000000000000000000000000000000007C
+:10850000000000000000000000000000000000006B
+:10851000000000000000000000000000000000005B
+:10852000000000000000000000000000000000004B
+:10853000000000000000000000000000000000003B
+:10854000000000000000000000000000000000002B
+:10855000000000000000000000000000000000001B
+:10856000000000000000000000000000000000000B
+:1085700000000000000000000000000000000000FB
+:1085800000000000000000000000000000000000EB
+:1085900000000000000000000000000000000000DB
+:1085A00000000000000000000000000000000000CB
+:1085B00000000000000000000000000000000000BB
+:1085C00000000000000000000000000000000000AB
+:1085D000000000000000000000000000000000009B
+:1085E000000000000000000000000000000000008B
+:1085F000000000000000000000000000000000007B
+:10860000000000000000000000000000000000006A
+:10861000000000000000000000000000000000005A
+:10862000000000000000000000000000000000004A
+:10863000000000000000000000000000000000003A
+:10864000000000000000000000000000000000002A
+:10865000000000000000000000000000000000001A
+:10866000000000000000000000000000000000000A
+:1086700000000000000000000000000000000000FA
+:1086800000000000000000000000000000000000EA
+:1086900000000000000000000000000000000000DA
+:1086A00000000000000000000000000000000000CA
+:1086B00000000000000000000000000000000000BA
+:1086C00000000000000000000000000000000000AA
+:1086D000000000000000000000000000000000009A
+:1086E000000000000000000000000000000000008A
+:1086F000000000000000000000000000000000007A
+:108700000000000000000000000000000000000069
+:108710000000000000000000000000000000000059
+:108720000000000000000000000000000000000049
+:108730000000000000000000000000000000000039
+:108740000000000000000000000000000000000029
+:108750000000000000000000000000000000000019
+:108760000000000000000000000000000000000009
+:1087700000000000000000000000000000000000F9
+:1087800000000000000000000000000000000000E9
+:1087900000000000000000000000000000000000D9
+:1087A00000000000000000000000000000000000C9
+:1087B00000000000000000000000000000000000B9
+:1087C00000000000000000000000000000000000A9
+:1087D0000000000000000000000000000000000099
+:1087E0000000000000000000000000000000000089
+:1087F0000000000000000000000000000000000079
+:108800000000000000000000000000000000000068
+:108810000000000000000000000000000000000058
+:108820000000000000000000000000000000000048
+:108830000000000000000000000000000000000038
+:108840000000000000000000000000000000000028
+:108850000000000000000000000000000000000018
+:108860000000000000000000000000000000000008
+:1088700000000000000000000000000000000000F8
+:1088800000000000000000000000000000000000E8
+:1088900000000000000000000000000000000000D8
+:1088A00000000000000000000000000000000000C8
+:1088B00000000000000000000000000000000000B8
+:1088C00000000000000000000000000000000000A8
+:1088D0000000000000000000000000000000000098
+:1088E0000000000000000000000000000000000088
+:1088F0000000000000000000000000000000000078
+:108900000000000000000000000000000000000067
+:108910000000000000000000000000000000000057
+:108920000000000000000000000000000000000047
+:108930000000000000000000000000000000000037
+:108940000000000000000000000000000000000027
+:108950000000000000000000000000000000000017
+:108960000000000000000000000000000000000007
+:1089700000000000000000000000000000000000F7
+:1089800000000000000000000000000000000000E7
+:1089900000000000000000000000000000000000D7
+:1089A00000000000000000000000000000000000C7
+:1089B00000000000000000000000000000000000B7
+:1089C00000000000000000000000000000000000A7
+:1089D0000000000000000000000000000000000097
+:1089E0000000000000000000000000000000000087
+:1089F0000000000000000000000000000000000077
+:108A00000000000000000000000000000000000066
+:108A10000000000000000000000000000000000056
+:108A20000000000000000000000000000000000046
+:108A30000000000000000000000000000000000036
+:108A40000000000000000000000000000000000026
+:108A50000000000000000000000000000000000016
+:108A60000000000000000000000000000000000006
+:108A700000000000000000000000000000000000F6
+:108A800000000000000000000000000000000000E6
+:108A900000000000000000000000000000000000D6
+:108AA00000000000000000000000000000000000C6
+:108AB00000000000000000000000000000000000B6
+:108AC00000000000000000000000000000000000A6
+:108AD0000000000000000000000000000000000096
+:108AE0000000000000000000000000000000000086
+:108AF0000000000000000000000000000000000076
+:108B00000000000000000000000000000000000065
+:108B10000000000000000002020202020202020243
+:108B20000202020202020202020202020202020225
+:108B30000202020202020202020202020202020215
+:108B40000202020202020202020202020202020205
+:108B500002020202020202020202020202020202F5
+:108B600002020202020202020202020202020202E5
+:108B700002020202020202020202020202020202D5
+:108B800002020202020202020202020202020202C5
+:108B900002020202020202020202020202020202B5
+:108BA00002020202020202020202020202020202A5
+:108BB0000202020202020202020202020202020295
+:108BC0000202020202020202020202020202020285
+:108BD0000202020202020202020202020202020275
+:108BE0000202020202020202020202020202020265
+:108BF0000202020202020202020202020202020255
+:108C00000202020202020202020202020202020244
+:108C10000202020202020202020202020202020234
+:108C20000202020202020202020202020202020224
+:108C30000202020202020202020202020202020214
+:108C40000202020202020202020202020202020204
+:108C500002020202020202020202020202020202F4
+:108C600002020202020202020202020202020202E4
+:108C700002020202020202020202020202020202D4
+:108C800002020202020202020202020202020202C4
+:108C900002020202020202020202020202020202B4
+:108CA00002020202020202020202020202020202A4
+:108CB0000202020202020202020202020202020294
+:108CC0000202020202020202020202020202020284
+:108CD0000202020202020202020202020202020274
+:108CE0000202020202020202020202020202020264
+:108CF0000202020202020202020202020202020254
+:108D00000202020202020202020202020202020243
+:108D10000202020202020202020202020202020233
+:108D20000202020202020202020202020202020223
+:108D30000202020202020202020202020202020213
+:108D40000202020202020202020202020202020203
+:108D500002020202020202020202020202020202F3
+:108D600002020202020202020202020202020202E3
+:108D700002020202020202020202020202020202D3
+:108D800002020202020202020202020202020202C3
+:108D900002020202020202020202020202020202B3
+:108DA00002020202020202020202020202020202A3
+:108DB0000202020202020202020202020202020293
+:108DC0000202020202020202020202020202020283
+:108DD0000202020202020202020202020202020273
+:108DE0000202020202020202020202020202020263
+:108DF0000202020202020202020202020202020253
+:108E00000202020202020202020202020202020242
+:108E10000202020202020202020202020202020232
+:108E20000202020202020202020202020202020222
+:108E30000202020202020202020202020202020212
+:108E40000202020202020202020202020202020202
+:108E500002020202020202020202020202020202F2
+:108E600002020202020202020202020202020202E2
+:108E700002020202020202020202020202020202D2
+:108E800002020202020202020202020202020202C2
+:108E900002020202020202020202020202020202B2
+:108EA00002020202020202020202020202020202A2
+:108EB0000202020202020202020202020202020292
+:108EC0000202020202020202020202020202020282
+:108ED0000202020202020202020202020202020272
+:108EE0000202020202020202020202020202020262
+:108EF0000202020202020202020202020202020252
+:108F00000202020202020202020202020202020241
+:108F10000202020202020202020202020202020231
+:108F20000202020202020202020202020202020221
+:108F30000202020202020202020202020202020211
+:108F40000202020202020202020202020202020201
+:108F500002020202020202020202020202020202F1
+:108F600002020202020202020202020202020202E1
+:108F700002020202020202020202020202020202D1
+:108F800002020202020202020202020202020202C1
+:108F900002020202020202020202020202020202B1
+:108FA00002020202020202020202020202020202A1
+:108FB0000202020202020202020202020202020291
+:108FC0000202020202020202020202020202020281
+:108FD0000202020202020202020202020202020271
+:108FE0000202020202020202020202020202020261
+:108FF0000202020202020202020202020202020251
+:109000000202020202020202020202020202020240
+:109010000202020202020202020202020202020230
+:109020000202020202020202020202020202020220
+:109030000202020202020202020202020202020210
+:109040000202020202020202020202020202020200
+:1090500002020202020202020202020202020202F0
+:1090600002020202020202020202020202020202E0
+:1090700002020202020202020202020202020202D0
+:1090800002020202020202020202020202020202C0
+:1090900002020202020202020202020202020202B0
+:1090A00002020202020202020202020202020202A0
+:1090B0000202020202020202020202020202020290
+:1090C0000202020202020202020202020202020280
+:1090D0000202020202020202020202020202020270
+:1090E0000202020202020202020202020202020260
+:1090F0000202020202020202020202020202020250
+:10910000020202020202020202020202020202023F
+:10911000020202020202020202020202020202022F
+:10912000020202020202020202020202020202021F
+:10913000020202020202020202020202020202020F
+:1091400002020202020202020202020202020202FF
+:1091500002020202020202020202020202020202EF
+:1091600002020202020202020202020202020202DF
+:1091700002020202020202020202020202020202CF
+:1091800002020202020202020202020202020202BF
+:1091900002020202020202020202020202020202AF
+:1091A000020202020202020202020202020202029F
+:1091B000020202020202020202020202020202028F
+:1091C000020202020202020202020202020202027F
+:1091D000020202020202020202020202020202026F
+:1091E000020202020202020202020202020202025F
+:1091F000020202020202020202020202020202024F
+:10920000020202020202020202020202020202023E
+:10921000020202020202020202020202020202022E
+:10922000020202020202020202020202020202021E
+:10923000020202020202020202020202020202020E
+:1092400002020202020202020202020202020202FE
+:1092500002020202020202020202020202020202EE
+:1092600002020202020202020202020202020202DE
+:1092700002020202020202020202020202020202CE
+:1092800002020202020202020202020202020202BE
+:1092900002020202020202020202020202020202AE
+:1092A000020202020202020202020202020202029E
+:1092B000020202020202020202020202020202028E
+:1092C000020202020202020202020202020202027E
+:1092D000020202020202020202020202020202026E
+:1092E000020202020202020202020202020202025E
+:1092F000020202020202020202020202020202024E
+:10930000020202020202020202020202020202023D
+:10931000020202020202020202020202020202022D
+:10932000020202020202020202020202020202021D
+:10933000020202020202020202020202020202020D
+:1093400002020202020202020202020202020202FD
+:1093500002020202020202020202020202020202ED
+:1093600002020202020202020202020202020202DD
+:1093700002020202020202020202020202020202CD
+:1093800002020202020202020202020202020202BD
+:1093900002020202020202020202020202020202AD
+:1093A000020202020202020202020202020202029D
+:1093B000020202020202020202020202020202028D
+:1093C000020202020202020202020202020202027D
+:1093D000020202020202020202020202020202026D
+:1093E000020202020202020202020202020202025D
+:1093F000020202020202020202020202020202024D
+:10940000020202020202020202020202020202023C
+:10941000020202020202020202020202020202022C
+:10942000020202020202020202020202020202021C
+:10943000020202020202020202020202020202020C
+:1094400002020202020202020202020202020202FC
+:1094500002020202020202020202020202020202EC
+:1094600002020202020202020202020202020202DC
+:1094700002020202020202020202020202020202CC
+:1094800002020202020202020202020202020202BC
+:1094900002020202020202020202020202020202AC
+:1094A000020202020202020202020202020202029C
+:1094B000020202020202020202020202020202028C
+:1094C000020202020202020202020202020202027C
+:1094D000020202020202020202020202020202026C
+:1094E000020202020202020202020202020202025C
+:1094F000020202020202020202020202020202024C
+:10950000020202020202020202020202020202023B
+:10951000020202020202020202020202020202022B
+:10952000020202020202020202020202020202021B
+:10953000020202020202020202020202020202020B
+:1095400002020202020202020202020202020202FB
+:1095500002020202020202020202020202020202EB
+:1095600002020202020202020202020202020202DB
+:1095700002020202020202020202020202020202CB
+:1095800002020202020202020202020202020202BB
+:1095900002020202020202020202020202020202AB
+:1095A000020202020202020202020202020202029B
+:1095B000020202020202020202020202020202028B
+:1095C000020202020202020202020202020202027B
+:1095D000020202020202020202020202020202026B
+:1095E000020202020202020202020202020202025B
+:1095F000020202020202020202020202020202024B
+:10960000020202020202020202020202020202023A
+:10961000020202020202020202020202020202022A
+:10962000020202020202020202020202020202021A
+:10963000020202020202020202020202020202020A
+:1096400002020202020202020202020202020202FA
+:1096500002020202020202020202020202020202EA
+:1096600002020202020202020202020202020202DA
+:1096700002020202020202020202020202020202CA
+:1096800002020202020202020202020202020202BA
+:1096900002020202020202020202020202020202AA
+:1096A000020202020202020202020202020202029A
+:1096B000020202020202020202020202020202028A
+:1096C000020202020202020202020202020202027A
+:1096D000020202020202020202020202020202026A
+:1096E000020202020202020202020202020202025A
+:1096F000020202020202020202020202020202024A
+:109700000202020202020202020202020202020239
+:109710000202020202020202020202020202020229
+:109720000202020202020202020202020202020219
+:109730000202020202020202020202020202020209
+:1097400002020202020202020202020202020202F9
+:1097500002020202020202020202020202020202E9
+:1097600002020202020202020202020202020202D9
+:1097700002020202020202020202020202020202C9
+:1097800002020202020202020202020202020202B9
+:1097900002020202020202020202020202020202A9
+:1097A0000202020202020202020202020202020299
+:1097B0000202020202020202020202020202020289
+:1097C0000202020202020202020202020202020279
+:1097D0000202020202020202020202020202020269
+:1097E0000202020202020202020202020202020259
+:1097F0000202020202020202020202020202020249
+:109800000202020202020202020202020202020238
+:109810000202020202020202020202020202020228
+:109820000202020202020202020202020202020218
+:109830000202020202020202020202020202020208
+:1098400002020202020202020202020202020202F8
+:1098500002020202020202020202020202020202E8
+:1098600002020202020202020202020202020202D8
+:1098700002020202020202020202020202020202C8
+:1098800002020202020202020202020202020202B8
+:1098900002020202020202020202020202020202A8
+:1098A0000202020202020202020202020202020298
+:1098B0000202020202020202020202020202020288
+:1098C0000202020202020202020202020202020278
+:1098D0000202020202020202020202020202020268
+:1098E0000202020202020202020202020202020258
+:1098F0000202020202020202020202020202020248
+:109900000202020202020202020202020202020237
+:109910000202020202020202020202020202020227
+:109920000202020202020202020202020202020217
+:109930000202020202020202020202020202020207
+:1099400002020202020202020202020202020202F7
+:1099500002020202020202020202020202020202E7
+:1099600002020202020202020202020202020202D7
+:1099700002020202020202020202020202020202C7
+:1099800002020202020202020202020202020202B7
+:1099900002020202020202020202020202020202A7
+:1099A0000202020202020202020202020202020297
+:1099B0000202020202020202020202020202020287
+:1099C0000202020202020202020202020202020277
+:1099D0000202020202020202020202020202020267
+:1099E0000202020202020202020202020202020257
+:1099F0000202020202020202020202020202020247
+:109A00000202020202020202020202020202020236
+:109A10000202020202020200000000000000000038
+:109A20000000000000000000000000000000000036
+:109A30000000000000000000000000000000000026
+:109A40000000000000000000000000000000000016
+:109A50000000000000000000000000000000000006
+:109A600000000000000000000000000000000000F6
+:109A700000000000000000000000000000000000E6
+:109A800000000000000000000000000000000000D6
+:109A900000000000000000000000000000000000C6
+:109AA00000000000000000000000000000000000B6
+:109AB00000000000000000000000000000000000A6
+:109AC0000000000000000000000000000000000096
+:109AD0000000000000000000000000000000000086
+:109AE0000000000000000000000000000000000076
+:109AF0000000000000000000000000000000000066
+:109B00000000000000000000000000000000000055
+:109B10000000000000000000000000000000000045
+:109B20000000000000000000000000000000000035
+:109B30000000000000000000000000000000000025
+:109B40000000000000000000000000000000000015
+:109B50000000000000000000000000000000000005
+:109B600000000000000000000000000000000000F5
+:109B700000000000000000000000000000000000E5
+:109B800000000000000000000000000000000000D5
+:109B900000000000000000000000000000000000C5
+:109BA00000000000000000000000000000000000B5
+:109BB00000000000000000000000000000000000A5
+:109BC0000000000000000000000000000000000095
+:109BD0000000000000000000000000000000000085
+:109BE0000000000000000000000000000000000075
+:109BF0000000000000000000000000000000000065
+:109C00000000000000000000000000000000000054
+:109C10000000000000000000000000000000000044
+:109C20000000000000000000000000000000000034
+:109C30000000000000000000000000000000000024
+:109C40000000000000000000000000000000000014
+:109C50000000000000000000000000000000000004
+:109C600000000000000000000000000000000000F4
+:109C700000000000000000000000000000000000E4
+:109C800000000000000000000000000000000000D4
+:109C900000000000000000000000000000000000C4
+:109CA00000000000000000000000000000000000B4
+:109CB00000000000000000000000000000000000A4
+:109CC0000000000000000000000000000000000094
+:109CD0000000000000000000000000000000000084
+:109CE0000000000000000000000000000000000074
+:109CF0000000000000000000000000000000000064
+:109D00000000000000000000000000000000000053
+:109D10000000000000000000000000000000000043
+:109D20000000000000000000000000000000000033
+:109D30000000000000000000000000000000000023
+:109D40000000000000000000000000000000000013
+:109D50000000000000000000000000000000000003
+:109D600000000000000000000000000000000000F3
+:109D700000000000000000000000000000000000E3
+:109D800000000000000000000000000000000000D3
+:109D900000000000000000000000000000000000C3
+:109DA00000000000000000000000000000000000B3
+:109DB00000000000000000000000000000000000A3
+:109DC0000000000000000000000000000000000093
+:109DD0000000000000000000000000000000000083
+:109DE0000000000000000000000000000000000073
+:109DF0000000000000000000000000000000000063
+:109E00000000000000000000000000000000000052
+:109E10000000000000000000000000000000000042
+:109E20000000000000000000000000000000000032
+:109E30000000000000000000000000000000000022
+:109E40000000000000000000000000000000000012
+:109E50000000000000000000000000000000000002
+:109E600000000000000000000000000000000000F2
+:109E700000000000000000000000000000000000E2
+:109E800000000000000000000000000000000000D2
+:109E900000000000000000000000000000000000C2
+:109EA00000000000000000000000000000000000B2
+:109EB00000000000000000000000000000000000A2
+:109EC0000000000000000000000000000000000092
+:109ED0000000000000000000000000000000000082
+:109EE0000000000000000000000000000000000072
+:109EF0000000000000000000000000000000000062
+:109F00000000000000000000000000000000000051
+:109F10000000000000000000000000000000000041
+:109F20000000000000000000000000000000000031
+:109F30000000000000000000000000000000000021
+:109F40000000000000000000000000000000000011
+:109F50000000000000000000000000000000000001
+:109F600000000000000000000000000000000000F1
+:109F700000000000000000000000000000000000E1
+:109F800000000000000000000000000000000000D1
+:109F900000000000000000000000000000000000C1
+:109FA00000000000000000000000000000000000B1
+:109FB00000000000000000000000000000000000A1
+:109FC0000000000000000000000000000000000091
+:109FD0000000000000000000000000000000000081
+:109FE0000000000000000000000000000000000071
+:109FF0000000000000000000000000000000000061
+:10A000000000000000000000000000000000000050
+:10A010000000000000000000000000000000000040
+:10A020000000000000000000000000000000000030
+:10A030000000000000000000000000000000000020
+:10A040000000000000000000000000000000000010
+:10A050000000000000000000000000000000000000
+:10A0600000000000000000000000000000000000F0
+:10A0700000000000000000000000000000000000E0
+:10A0800000000000000000000000000000000000D0
+:10A0900000000000000000000000000000000000C0
+:10A0A00000000000000000000000000000000000B0
+:10A0B00000000000000000000000000000000000A0
+:10A0C0000000000000000000000000000000000090
+:10A0D0000000000000000000000000000000000080
+:10A0E0000000000000000000000000000000000070
+:10A0F0000000000000000000000000000000000060
+:10A10000000000000000000000000000000000004F
+:10A110000000000000000001010101010101010136
+:10A12000010101010101010101010101010101011F
+:10A13000010101010101010101010101010101010F
+:10A1400001010101010101010101010101010101FF
+:10A1500001010101010101010101010101010101EF
+:10A1600001010101010101010101010101010101DF
+:10A1700001010101010101010101010101010101CF
+:10A1800001010101010101010101010101010101BF
+:10A1900001010101010101010101010101010101AF
+:10A1A000010101010101010101010101010101019F
+:10A1B000010101010101010101010101010101018F
+:10A1C000010101010101010101010101010101017F
+:10A1D000010101010101010101010101010101016F
+:10A1E000010101010101010101010101010101015F
+:10A1F000010101010101010101010101010101014F
+:10A20000010101010101010101010101010101013E
+:10A21000010101010101010101010101010101012E
+:10A22000010101010101010101010101010101011E
+:10A23000010101010101010101010101010101010E
+:10A2400001010101010101010101010101010101FE
+:10A2500001010101010101010101010101010101EE
+:10A2600001010101010101010101010101010101DE
+:10A2700001010101010101010101010101010101CE
+:10A2800001010101010101010101010101010101BE
+:10A2900001010101010101010101010101010101AE
+:10A2A000010101010101010101010101010101019E
+:10A2B000010101010101010101010101010101018E
+:10A2C000010101010101010101010101010101017E
+:10A2D000010101010101010101010101010101016E
+:10A2E000010101010101010101010101010101015E
+:10A2F000010101010101010101010101010101014E
+:10A30000010101010101010101010101010101013D
+:10A31000010101010101010101010101010101012D
+:10A32000010101010101010101010101010101011D
+:10A33000010101010101010101010101010101010D
+:10A3400001010101010101010101010101010101FD
+:10A3500001010101010101010101010101010101ED
+:10A3600001010101010101010101010101010101DD
+:10A3700001010101010101010101010101010101CD
+:10A3800001010101010101010101010101010101BD
+:10A3900001010101010101010101010101010101AD
+:10A3A000010101010101010101010101010101019D
+:10A3B000010101010101010101010101010101018D
+:10A3C000010101010101010101010101010101017D
+:10A3D000010101010101010101010101010101016D
+:10A3E000010101010101010101010101010101015D
+:10A3F000010101010101010101010101010101014D
+:10A40000010101010101010101010101010101013C
+:10A41000010101010101010101010101010101012C
+:10A42000010101010101010101010101010101011C
+:10A43000010101010101010101010101010101010C
+:10A4400001010101010101010101010101010101FC
+:10A4500001010101010101010101010101010101EC
+:10A4600001010101010101010101010101010101DC
+:10A4700001010101010101010101010101010101CC
+:10A4800001010101010101010101010101010101BC
+:10A4900001010101010101010101010101010101AC
+:10A4A000010101010101010101010101010101019C
+:10A4B000010101010101010101010101010101018C
+:10A4C000010101010101010101010101010101017C
+:10A4D000010101010101010101010101010101016C
+:10A4E000010101010101010101010101010101015C
+:10A4F000010101010101010101010101010101014C
+:10A50000010101010101010101010101010101013B
+:10A51000010101010101010101010101010101012B
+:10A52000010101010101010101010101010101011B
+:10A53000010101010101010101010101010101010B
+:10A5400001010101010101010101010101010101FB
+:10A5500001010101010101010101010101010101EB
+:10A5600001010101010101010101010101010101DB
+:10A5700001010101010101010101010101010101CB
+:10A5800001010101010101010101010101010101BB
+:10A5900001010101010101010101010101010101AB
+:10A5A000010101010101010101010101010101019B
+:10A5B000010101010101010101010101010101018B
+:10A5C000010101010101010101010101010101017B
+:10A5D000010101010101010101010101010101016B
+:10A5E000010101010101010101010101010101015B
+:10A5F000010101010101010101010101010101014B
+:10A60000010101010101010101010101010101013A
+:10A61000010101010101010101010101010101012A
+:10A62000010101010101010101010101010101011A
+:10A63000010101010101010101010101010101010A
+:10A6400001010101010101010101010101010101FA
+:10A6500001010101010101010101010101010101EA
+:10A6600001010101010101010101010101010101DA
+:10A6700001010101010101010101010101010101CA
+:10A6800001010101010101010101010101010101BA
+:10A6900001010101010101010101010101010101AA
+:10A6A000010101010101010101010101010101019A
+:10A6B000010101010101010101010101010101018A
+:10A6C000010101010101010101010101010101017A
+:10A6D000010101010101010101010101010101016A
+:10A6E000010101010101010101010101010101015A
+:10A6F000010101010101010101010101010101014A
+:10A700000101010101010101010101010101010139
+:10A710000101010101010101010101010101010129
+:10A720000101010101010101010101010101010119
+:10A730000101010101010101010101010101010109
+:10A7400001010101010101010101010101010101F9
+:10A7500001010101010101010101010101010101E9
+:10A7600001010101010101010101010101010101D9
+:10A7700001010101010101010101010101010101C9
+:10A7800001010101010101010101010101010101B9
+:10A7900001010101010101010101010101010101A9
+:10A7A0000101010101010101010101010101010199
+:10A7B0000101010101010101010101010101010189
+:10A7C0000101010101010101010101010101010179
+:10A7D0000101010101010101010101010101010169
+:10A7E0000101010101010101010101010101010159
+:10A7F0000101010101010101010101010101010149
+:10A800000101010101010101010101010101010138
+:10A810000101010101010101010101010101010128
+:10A820000101010101010101010101010101010118
+:10A830000101010101010101010101010101010108
+:10A8400001010101010101010101010101010101F8
+:10A8500001010101010101010101010101010101E8
+:10A8600001010101010101010101010101010101D8
+:10A8700001010101010101010101010101010101C8
+:10A8800001010101010101010101010101010101B8
+:10A8900001010101010101010101010101010101A8
+:10A8A0000101010101010101010101010101010198
+:10A8B0000101010101010101010101010101010188
+:10A8C0000101010101010101010101010101010178
+:10A8D0000101010101010101010101010101010168
+:10A8E0000101010101010101010101010101010158
+:10A8F0000101010101010101010101010101010148
+:10A900000101010101010101010101010101010137
+:10A910000101010101010101010101010101010127
+:10A920000101010101010101010101010101010117
+:10A930000101010101010101010101010101010107
+:10A9400001010101010101010101010101010101F7
+:10A9500001010101010101010101010101010101E7
+:10A9600001010101010101010101010101010101D7
+:10A9700001010101010101010101010101010101C7
+:10A9800001010101010101010101010101010101B7
+:10A9900001010101010101010101010101010101A7
+:10A9A0000101010101010101010101010101010197
+:10A9B0000101010101010101010101010101010187
+:10A9C0000101010101010101010101010101010177
+:10A9D0000101010101010101010101010101010167
+:10A9E0000101010101010101010101010101010157
+:10A9F0000101010101010101010101010101010147
+:10AA00000101010101010101010101010101010136
+:10AA10000101010101010101010101010101010126
+:10AA20000101010101010101010101010101010116
+:10AA30000101010101010101010101010101010106
+:10AA400001010101010101010101010101010101F6
+:10AA500001010101010101010101010101010101E6
+:10AA600001010101010101010101010101010101D6
+:10AA700001010101010101010101010101010101C6
+:10AA800001010101010101010101010101010101B6
+:10AA900001010101010101010101010101010101A6
+:10AAA0000101010101010101010101010101010196
+:10AAB0000101010101010101010101010101010186
+:10AAC0000101010101010101010101010101010176
+:10AAD0000101010101010101010101010101010166
+:10AAE0000101010101010101010101010101010156
+:10AAF0000101010101010101010101010101010146
+:10AB00000101010101010101010101010101010135
+:10AB10000101010101010101010101010101010125
+:10AB20000101010101010101010101010101010115
+:10AB30000101010101010101010101010101010105
+:10AB400001010101010101010101010101010101F5
+:10AB500001010101010101010101010101010101E5
+:10AB600001010101010101010101010101010101D5
+:10AB700001010101010101010101010101010101C5
+:10AB800001010101010101010101010101010101B5
+:10AB900001010101010101010101010101010101A5
+:10ABA0000101010101010101010101010101010195
+:10ABB0000101010101010101010101010101010185
+:10ABC0000101010101010101010101010101010175
+:10ABD0000101010101010101010101010101010165
+:10ABE0000101010101010101010101010101010155
+:10ABF0000101010101010101010101010101010145
+:10AC00000101010101010101010101010101010134
+:10AC10000101010101010101010101010101010124
+:10AC20000101010101010101010101010101010114
+:10AC30000101010101010101010101010101010104
+:10AC400001010101010101010101010101010101F4
+:10AC500001010101010101010101010101010101E4
+:10AC600001010101010101010101010101010101D4
+:10AC700001010101010101010101010101010101C4
+:10AC800001010101010101010101010101010101B4
+:10AC900001010101010101010101010101010101A4
+:10ACA0000101010101010101010101010101010194
+:10ACB0000101010101010101010101010101010184
+:10ACC0000101010101010101010101010101010174
+:10ACD0000101010101010101010101010101010164
+:10ACE0000101010101010101010101010101010154
+:10ACF0000101010101010101010101010101010144
+:10AD00000101010101010101010101010101010133
+:10AD10000101010101010101010101010101010123
+:10AD20000101010101010101010101010101010113
+:10AD30000101010101010101010101010101010103
+:10AD400001010101010101010101010101010101F3
+:10AD500001010101010101010101010101010101E3
+:10AD600001010101010101010101010101010101D3
+:10AD700001010101010101010101010101010101C3
+:10AD800001010101010101010101010101010101B3
+:10AD900001010101010101010101010101010101A3
+:10ADA0000101010101010101010101010101010193
+:10ADB0000101010101010101010101010101010183
+:10ADC0000101010101010101010101010101010173
+:10ADD0000101010101010101010101010101010163
+:10ADE0000101010101010101010101010101010153
+:10ADF0000101010101010101010101010101010143
+:10AE00000101010101010101010101010101010132
+:10AE10000101010101010101010101010101010122
+:10AE20000101010101010101010101010101010112
+:10AE30000101010101010101010101010101010102
+:10AE400001010101010101010101010101010101F2
+:10AE500001010101010101010101010101010101E2
+:10AE600001010101010101010101010101010101D2
+:10AE700001010101010101010101010101010101C2
+:10AE800001010101010101010101010101010101B2
+:10AE900001010101010101010101010101010101A2
+:10AEA0000101010101010101010101010101010192
+:10AEB0000101010101010101010101010101010182
+:10AEC0000101010101010101010101010101010172
+:10AED0000101010101010101010101010101010162
+:10AEE0000101010101010101010101010101010152
+:10AEF0000101010101010101010101010101010142
+:10AF00000101010101010101010101010101010131
+:10AF10000101010101010101010101010101010121
+:10AF20000101010101010101010101010101010111
+:10AF30000101010101010101010101010101010101
+:10AF400001010101010101010101010101010101F1
+:10AF500001010101010101010101010101010101E1
+:10AF600001010101010101010101010101010101D1
+:10AF700001010101010101010101010101010101C1
+:10AF800001010101010101010101010101010101B1
+:10AF900001010101010101010101010101010101A1
+:10AFA0000101010101010101010101010101010191
+:10AFB0000101010101010101010101010101010181
+:10AFC0000101010101010101010101010101010171
+:10AFD0000101010101010101010101010101010161
+:10AFE0000101010101010101010101010101010151
+:10AFF0000101010101010101010101010101010141
+:10B000000101010101010101010101010101010130
+:10B010000101010101010100000000000000000029
+:10B020000000000000000000000000000000000020
+:10B030000000000000000000000000000000000010
+:10B040000000000000000000000000000000000000
+:10B0500000000000000000000000000000000000F0
+:10B0600000000000000000000000000000000000E0
+:10B0700000000000000000000000000000000000D0
+:10B0800000000000000000000000000000000000C0
+:10B0900000000000000000000000000000000000B0
+:10B0A00000000000000000000000000000000000A0
+:10B0B0000000000000000000000000000000000090
+:10B0C0000000000000000000000000000000000080
+:10B0D0000000000000000000000000000000000070
+:10B0E0000000000000000000000000000000000060
+:10B0F0000000000000000000000000000000000050
+:10B10000000000000000000000000000000000003F
+:10B11000000000000000000000000000000000002F
+:10B12000000000000000000000000000000000001F
+:10B13000000000000000000000000000000000000F
+:10B1400000000000000000000000000000000000FF
+:10B1500000000000000000000000000000000000EF
+:10B1600000000000000000000000000000000000DF
+:10B1700000000000000000000000000000000000CF
+:10B1800000000000000000000000000000000000BF
+:10B1900000000000000000000000000000000000AF
+:10B1A000000000000000000000000000000000009F
+:10B1B000000000000000000000000000000000008F
+:10B1C000000000000000000000000000000000007F
+:10B1D000000000000000000000000000000000006F
+:10B1E000000000000000000000000000000000005F
+:10B1F000000000000000000000000000000000004F
+:10B20000000000000000000000000000000000003E
+:10B21000000000000000000000000000000000002E
+:10B22000000000000000000000000000000000001E
+:10B23000000000000000000000000000000000000E
+:10B2400000000000000000000000000000000000FE
+:10B2500000000000000000000000000000000000EE
+:10B2600000000000000000000000000000000000DE
+:10B2700000000000000000000000000000000000CE
+:10B2800000000000000000000000000000000000BE
+:10B2900000000000000000000000000000000000AE
+:10B2A000000000000000000000000000000000009E
+:10B2B000000000000000000000000000000000008E
+:10B2C000000000000000000000000000000000007E
+:10B2D000000000000000000000000000000000006E
+:10B2E000000000000000000000000000000000005E
+:10B2F000000000000000000000000000000000004E
+:10B30000000000000000000000000000000000003D
+:10B31000000000000000000000000000000000002D
+:10B32000000000000000000000000000000000001D
+:10B33000000000000000000000000000000000000D
+:10B3400000000000000000000000000000000000FD
+:10B3500000000000000000000000000000000000ED
+:10B3600000000000000000000000000000000000DD
+:10B3700000000000000000000000000000000000CD
+:10B3800000000000000000000000000000000000BD
+:10B3900000000000000000000000000000000000AD
+:10B3A000000000000000000000000000000000009D
+:10B3B000000000000000000000000000000000008D
+:10B3C000000000000000000000000000000000007D
+:10B3D000000000000000000000000000000000006D
+:10B3E000000000000000000000000000000000005D
+:10B3F000000000000000000000000000000000004D
+:10B40000000000000000000000000000000000003C
+:10B41000000000000000000000000000000000002C
+:10B42000000000000000000000000000000000001C
+:10B43000000000000000000000000000000000000C
+:10B4400000000000000000000000000000000000FC
+:10B4500000000000000000000000000000000000EC
+:10B4600000000000000000000000000000000000DC
+:10B4700000000000000000000000000000000000CC
+:10B4800000000000000000000000000000000000BC
+:10B4900000000000000000000000000000000000AC
+:10B4A000000000000000000000000000000000009C
+:10B4B000000000000000000000000000000000008C
+:10B4C000000000000000000000000000000000007C
+:10B4D000000000000000000000000000000000006C
+:10B4E000000000000000000000000000000000005C
+:10B4F000000000000000000000000000000000004C
+:10B50000000000000000000000000000000000003B
+:10B51000000000000000000000000000000000002B
+:10B52000000000000000000000000000000000001B
+:10B53000000000000000000000000000000000000B
+:10B5400000000000000000000000000000000000FB
+:10B5500000000000000000000000000000000000EB
+:10B5600000000000000000000000000000000000DB
+:10B5700000000000000000000000000000000000CB
+:10B5800000000000000000000000000000000000BB
+:10B5900000000000000000000000000000000000AB
+:10B5A000000000000000000000000000000000009B
+:10B5B000000000000000000000000000000000008B
+:10B5C000000000000000000000000000000000007B
+:10B5D000000000000000000000000000000000006B
+:10B5E000000000000000000000000000000000005B
+:10B5F000000000000000000000000000000000004B
+:10B60000000000000000000000000000000000003A
+:10B61000000000000000000000000000000000002A
+:10B62000000000000000000000000000000000001A
+:10B63000000000000000000000000000000000000A
+:10B6400000000000000000000000000000000000FA
+:10B6500000000000000000000000000000000000EA
+:10B6600000000000000000000000000000000000DA
+:10B6700000000000000000000000000000000000CA
+:10B6800000000000000000000000000000000000BA
+:10B6900000000000000000000000000000000000AA
+:10B6A000000000000000000000000000000000009A
+:10B6B000000000000000000000000000000000008A
+:10B6C000000000000000000000000000000000007A
+:10B6D000000000000000000000000000000000006A
+:10B6E000000000000000000000000000000000005A
+:10B6F000000000000000000000000000000000004A
+:10B700000000000000000000000000000000000039
+:10B710000000000000000002020202020202020217
+:10B7200002020202020202020202020202020202F9
+:10B7300002020202020202020202020202020202E9
+:10B7400002020202020202020202020202020202D9
+:10B7500002020202020202020202020202020202C9
+:10B7600002020202020202020202020202020202B9
+:10B7700002020202020202020202020202020202A9
+:10B780000202020202020202020202020202020299
+:10B790000202020202020202020202020202020289
+:10B7A0000202020202020202020202020202020279
+:10B7B0000202020202020202020202020202020269
+:10B7C0000202020202020202020202020202020259
+:10B7D0000202020202020202020202020202020249
+:10B7E0000202020202020202020202020202020239
+:10B7F0000202020202020202020202020202020229
+:10B800000202020202020202020202020202020218
+:10B810000202020202020202020202020202020208
+:10B8200002020202020202020202020202020202F8
+:10B8300002020202020202020202020202020202E8
+:10B8400002020202020202020202020202020202D8
+:10B8500002020202020202020202020202020202C8
+:10B8600002020202020202020202020202020202B8
+:10B8700002020202020202020202020202020202A8
+:10B880000202020202020202020202020202020298
+:10B890000202020202020202020202020202020288
+:10B8A0000202020202020202020202020202020278
+:10B8B0000202020202020202020202020202020268
+:10B8C0000202020202020202020202020202020258
+:10B8D0000202020202020202020202020202020248
+:10B8E0000202020202020202020202020202020238
+:10B8F0000202020202020202020202020202020228
+:10B900000202020202020202020202020202020217
+:10B910000202020202020202020202020202020207
+:10B9200002020202020202020202020202020202F7
+:10B9300002020202020202020202020202020202E7
+:10B9400002020202020202020202020202020202D7
+:10B9500002020202020202020202020202020202C7
+:10B9600002020202020202020202020202020202B7
+:10B9700002020202020202020202020202020202A7
+:10B980000202020202020202020202020202020297
+:10B990000202020202020202020202020202020287
+:10B9A0000202020202020202020202020202020277
+:10B9B0000202020202020202020202020202020267
+:10B9C0000202020202020202020202020202020257
+:10B9D0000202020202020202020202020202020247
+:10B9E0000202020202020202020202020202020237
+:10B9F0000202020202020202020202020202020227
+:10BA00000202020202020202020202020202020216
+:10BA10000202020202020202020202020202020206
+:10BA200002020202020202020202020202020202F6
+:10BA300002020202020202020202020202020202E6
+:10BA400002020202020202020202020202020202D6
+:10BA500002020202020202020202020202020202C6
+:10BA600002020202020202020202020202020202B6
+:10BA700002020202020202020202020202020202A6
+:10BA80000202020202020202020202020202020296
+:10BA90000202020202020202020202020202020286
+:10BAA0000202020202020202020202020202020276
+:10BAB0000202020202020202020202020202020266
+:10BAC0000202020202020202020202020202020256
+:10BAD0000202020202020202020202020202020246
+:10BAE0000202020202020202020202020202020236
+:10BAF0000202020202020202020202020202020226
+:10BB00000202020202020202020202020202020215
+:10BB10000202020202020202020202020202020205
+:10BB200002020202020202020202020202020202F5
+:10BB300002020202020202020202020202020202E5
+:10BB400002020202020202020202020202020202D5
+:10BB500002020202020202020202020202020202C5
+:10BB600002020202020202020202020202020202B5
+:10BB700002020202020202020202020202020202A5
+:10BB80000202020202020202020202020202020295
+:10BB90000202020202020202020202020202020285
+:10BBA0000202020202020202020202020202020275
+:10BBB0000202020202020202020202020202020265
+:10BBC0000202020202020202020202020202020255
+:10BBD0000202020202020202020202020202020245
+:10BBE0000202020202020202020202020202020235
+:10BBF0000202020202020202020202020202020225
+:10BC00000202020202020202020202020202020214
+:10BC10000202020202020202020202020202020204
+:10BC200002020202020202020202020202020202F4
+:10BC300002020202020202020202020202020202E4
+:10BC400002020202020202020202020202020202D4
+:10BC500002020202020202020202020202020202C4
+:10BC600002020202020202020202020202020202B4
+:10BC700002020202020202020202020202020202A4
+:10BC80000202020202020202020202020202020294
+:10BC90000202020202020202020202020202020284
+:10BCA0000202020202020202020202020202020274
+:10BCB0000202020202020202020202020202020264
+:10BCC0000202020202020202020202020202020254
+:10BCD0000202020202020202020202020202020244
+:10BCE0000202020202020202020202020202020234
+:10BCF0000202020202020202020202020202020224
+:10BD00000202020202020202020202020202020213
+:10BD10000202020202020202020202020202020203
+:10BD200002020202020202020202020202020202F3
+:10BD300002020202020202020202020202020202E3
+:10BD400002020202020202020202020202020202D3
+:10BD500002020202020202020202020202020202C3
+:10BD600002020202020202020202020202020202B3
+:10BD700002020202020202020202020202020202A3
+:10BD80000202020202020202020202020202020293
+:10BD90000202020202020202020202020202020283
+:10BDA0000202020202020202020202020202020273
+:10BDB0000202020202020202020202020202020263
+:10BDC0000202020202020202020202020202020253
+:10BDD0000202020202020202020202020202020243
+:10BDE0000202020202020202020202020202020233
+:10BDF0000202020202020202020202020202020223
+:10BE00000202020202020202020202020202020212
+:10BE10000202020202020202020202020202020202
+:10BE200002020202020202020202020202020202F2
+:10BE300002020202020202020202020202020202E2
+:10BE400002020202020202020202020202020202D2
+:10BE500002020202020202020202020202020202C2
+:10BE600002020202020202020202020202020202B2
+:10BE700002020202020202020202020202020202A2
+:10BE80000202020202020202020202020202020292
+:10BE90000202020202020202020202020202020282
+:10BEA0000202020202020202020202020202020272
+:10BEB0000202020202020202020202020202020262
+:10BEC0000202020202020202020202020202020252
+:10BED0000202020202020202020202020202020242
+:10BEE0000202020202020202020202020202020232
+:10BEF0000202020202020202020202020202020222
+:10BF00000202020202020202020202020202020211
+:10BF10000202020202020202020202020202020201
+:10BF200002020202020202020202020202020202F1
+:10BF300002020202020202020202020202020202E1
+:10BF400002020202020202020202020202020202D1
+:10BF500002020202020202020202020202020202C1
+:10BF600002020202020202020202020202020202B1
+:10BF700002020202020202020202020202020202A1
+:10BF80000202020202020202020202020202020291
+:10BF90000202020202020202020202020202020281
+:10BFA0000202020202020202020202020202020271
+:10BFB0000202020202020202020202020202020261
+:10BFC0000202020202020202020202020202020251
+:10BFD0000202020202020202020202020202020241
+:10BFE0000202020202020202020202020202020231
+:10BFF0000202020202020202020202020202020221
+:10C000000202020202020202020202020202020210
+:10C010000202020202020202020202020202020200
+:10C0200002020202020202020202020202020202F0
+:10C0300002020202020202020202020202020202E0
+:10C0400002020202020202020202020202020202D0
+:10C0500002020202020202020202020202020202C0
+:10C0600002020202020202020202020202020202B0
+:10C0700002020202020202020202020202020202A0
+:10C080000202020202020202020202020202020290
+:10C090000202020202020202020202020202020280
+:10C0A0000202020202020202020202020202020270
+:10C0B0000202020202020202020202020202020260
+:10C0C0000202020202020202020202020202020250
+:10C0D0000202020202020202020202020202020240
+:10C0E0000202020202020202020202020202020230
+:10C0F0000202020202020202020202020202020220
+:10C10000020202020202020202020202020202020F
+:10C1100002020202020202020202020202020202FF
+:10C1200002020202020202020202020202020202EF
+:10C1300002020202020202020202020202020202DF
+:10C1400002020202020202020202020202020202CF
+:10C1500002020202020202020202020202020202BF
+:10C1600002020202020202020202020202020202AF
+:10C17000020202020202020202020202020202029F
+:10C18000020202020202020202020202020202028F
+:10C19000020202020202020202020202020202027F
+:10C1A000020202020202020202020202020202026F
+:10C1B000020202020202020202020202020202025F
+:10C1C000020202020202020202020202020202024F
+:10C1D000020202020202020202020202020202023F
+:10C1E000020202020202020202020202020202022F
+:10C1F000020202020202020202020202020202021F
+:10C20000020202020202020202020202020202020E
+:10C2100002020202020202020202020202020202FE
+:10C2200002020202020202020202020202020202EE
+:10C2300002020202020202020202020202020202DE
+:10C2400002020202020202020202020202020202CE
+:10C2500002020202020202020202020202020202BE
+:10C2600002020202020202020202020202020202AE
+:10C27000020202020202020202020202020202029E
+:10C28000020202020202020202020202020202028E
+:10C29000020202020202020202020202020202027E
+:10C2A000020202020202020202020202020202026E
+:10C2B000020202020202020202020202020202025E
+:10C2C000020202020202020202020202020202024E
+:10C2D000020202020202020202020202020202023E
+:10C2E000020202020202020202020202020202022E
+:10C2F000020202020202020202020202020202021E
+:10C30000020202020202020202020202020202020D
+:10C3100002020202020202020202020202020202FD
+:10C3200002020202020202020202020202020202ED
+:10C3300002020202020202020202020202020202DD
+:10C3400002020202020202020202020202020202CD
+:10C3500002020202020202020202020202020202BD
+:10C3600002020202020202020202020202020202AD
+:10C37000020202020202020202020202020202029D
+:10C38000020202020202020202020202020202028D
+:10C39000020202020202020202020202020202027D
+:10C3A000020202020202020202020202020202026D
+:10C3B000020202020202020202020202020202025D
+:10C3C000020202020202020202020202020202024D
+:10C3D000020202020202020202020202020202023D
+:10C3E000020202020202020202020202020202022D
+:10C3F000020202020202020202020202020202021D
+:10C40000020202020202020202020202020202020C
+:10C4100002020202020202020202020202020202FC
+:10C4200002020202020202020202020202020202EC
+:10C4300002020202020202020202020202020202DC
+:10C4400002020202020202020202020202020202CC
+:10C4500002020202020202020202020202020202BC
+:10C4600002020202020202020202020202020202AC
+:10C47000020202020202020202020202020202029C
+:10C48000020202020202020202020202020202028C
+:10C49000020202020202020202020202020202027C
+:10C4A000020202020202020202020202020202026C
+:10C4B000020202020202020202020202020202025C
+:10C4C000020202020202020202020202020202024C
+:10C4D000020202020202020202020202020202023C
+:10C4E000020202020202020202020202020202022C
+:10C4F000020202020202020202020202020202021C
+:10C50000020202020202020202020202020202020B
+:10C5100002020202020202020202020202020202FB
+:10C5200002020202020202020202020202020202EB
+:10C5300002020202020202020202020202020202DB
+:10C5400002020202020202020202020202020202CB
+:10C5500002020202020202020202020202020202BB
+:10C5600002020202020202020202020202020202AB
+:10C57000020202020202020202020202020202029B
+:10C58000020202020202020202020202020202028B
+:10C59000020202020202020202020202020202027B
+:10C5A000020202020202020202020202020202026B
+:10C5B000020202020202020202020202020202025B
+:10C5C000020202020202020202020202020202024B
+:10C5D000020202020202020202020202020202023B
+:10C5E000020202020202020202020202020202022B
+:10C5F000020202020202020202020202020202021B
+:10C60000020202020202020202020202020202020A
+:10C61000020202020202020000000000000000000C
+:10C62000000000000000000000000000000000000A
+:10C6300000000000000000000000000000000000FA
+:10C6400000000000000000000000000000000000EA
+:10C6500000000000000000000000000000000000DA
+:10C6600000000000000000000000000000000000CA
+:10C6700000000000000000000000000000000000BA
+:10C6800000000000000000000000000000000000AA
+:10C69000000000000000000000000000000000009A
+:10C6A000000000000000000000000000000000008A
+:10C6B000000000000000000000000000000000007A
+:10C6C000000000000000000000000000000000006A
+:10C6D000000000000000000000000000000000005A
+:10C6E000000000000000000000000000000000004A
+:10C6F000000000000000000000000000000000003A
+:10C700000000000000000000000000000000000029
+:10C710000000000000000000000000000000000019
+:10C720000000000000000000000000000000000009
+:10C7300000000000000000000000000000000000F9
+:10C7400000000000000000000000000000000000E9
+:10C7500000000000000000000000000000000000D9
+:10C7600000000000000000000000000000000000C9
+:10C7700000000000000000000000000000000000B9
+:10C7800000000000000000000000000000000000A9
+:10C790000000000000000000000000000000000099
+:10C7A0000000000000000000000000000000000089
+:10C7B0000000000000000000000000000000000079
+:10C7C0000000000000000000000000000000000069
+:10C7D0000000000000000000000000000000000059
+:10C7E0000000000000000000000000000000000049
+:10C7F0000000000000000000000000000000000039
+:10C800000000000000000000000000000000000028
+:10C810000000000000000000000000000000000018
+:10C820000000000000000000000000000000000008
+:10C8300000000000000000000000000000000000F8
+:10C8400000000000000000000000000000000000E8
+:10C8500000000000000000000000000000000000D8
+:10C8600000000000000000000000000000000000C8
+:10C8700000000000000000000000000000000000B8
+:10C8800000000000000000000000000000000000A8
+:10C890000000000000000000000000000000000098
+:10C8A0000000000000000000000000000000000088
+:10C8B0000000000000000000000000000000000078
+:10C8C0000000000000000000000000000000000068
+:10C8D0000000000000000000000000000000000058
+:10C8E0000000000000000000000000000000000048
+:10C8F0000000000000000000000000000000000038
+:10C900000000000000000000000000000000000027
+:10C910000000000000000000000000000000000017
+:10C920000000000000000000000000000000000007
+:10C9300000000000000000000000000000000000F7
+:10C9400000000000000000000000000000000000E7
+:10C9500000000000000000000000000000000000D7
+:10C9600000000000000000000000000000000000C7
+:10C9700000000000000000000000000000000000B7
+:10C9800000000000000000000000000000000000A7
+:10C990000000000000000000000000000000000097
+:10C9A0000000000000000000000000000000000087
+:10C9B0000000000000000000000000000000000077
+:10C9C0000000000000000000000000000000000067
+:10C9D0000000000000000000000000000000000057
+:10C9E0000000000000000000000000000000000047
+:10C9F0000000000000000000000000000000000037
+:10CA00000000000000000000000000000000000026
+:10CA100000000000000000550000000000000001C0
+:10CA200001010101010101010101010101010101F6
+:10CA300001010101010101010101010101010101E6
+:10CA400001010101010101010101010101010101D6
+:10CA500001010101010101010101010101010101C6
+:10CA600001010101010101010101010101010101B6
+:10CA700001010101010101010101010101010101A6
+:10CA80000101010101010101010101010101010196
+:10CA90000101010101010101010101010101010186
+:10CAA0000101010101010101010101010101010176
+:10CAB0000101010101010101010101010101010166
+:10CAC0000101010101010101010101010101010156
+:10CAD0000101010101010101010101010101010146
+:10CAE0000101010101010101010101010101010136
+:10CAF0000101010101010101010101010101010126
+:10CB00000101010101010101010101010101010115
+:10CB10000101010101010101010101010101010105
+:10CB200001010101010101010101010101010101F5
+:10CB300001010101010101010101010101010101E5
+:10CB400001010101010101010101010101010101D5
+:10CB500001010101010101010101010101010101C5
+:10CB600001010101010101010101010101010101B5
+:10CB700001010101010101010101010101010101A5
+:10CB80000101010101010101010101010101010195
+:10CB90000101010101010101010101010101010185
+:10CBA0000101010101010101010101010101010175
+:10CBB0000101010101010101010101010101010165
+:10CBC0000101010101010101010101010101010155
+:10CBD0000101010101010101010101010101010145
+:10CBE0000101010101010101010101010101010135
+:10CBF0000101010101010101010101010101010125
+:10CC00000101010101010101010101010101010114
+:10CC10000101010101010101010101010101010104
+:10CC200001010101010101010101010101010101F4
+:10CC300001010101010101010101010101010101E4
+:10CC400001010101010101010101010101010101D4
+:10CC500001010101010101010101010101010101C4
+:10CC600001010101010101010101010101010101B4
+:10CC700001010101010101010101010101010101A4
+:10CC80000101010101010101010101010101010194
+:10CC90000101010101010101010101010101010184
+:10CCA0000101010101010101010101010101010174
+:10CCB0000101010101010101010101010101010164
+:10CCC0000101010101010101010101010101010154
+:10CCD0000101010101010101010101010101010144
+:10CCE0000101010101010101010101010101010134
+:10CCF0000101010101010101010101010101010124
+:10CD00000101010101010101010101010101010113
+:10CD10000101010101010101010101010101010103
+:10CD200001010101010101010101010101010101F3
+:10CD300001010101010101010101010101010101E3
+:10CD400001010101010101010101010101010101D3
+:10CD500001010101010101010101010101010101C3
+:10CD600001010101010101010101010101010101B3
+:10CD700001010101010101010101010101010101A3
+:10CD80000101010101010101010101010101010193
+:10CD90000101010101010101010101010101010183
+:10CDA0000101010101010101010101010101010173
+:10CDB0000101010101010101010101010101010163
+:10CDC0000101010101010101010101010101010153
+:10CDD0000101010101010101010101010101010143
+:10CDE0000101010101010101010101010101010133
+:10CDF0000101010101010101010101010101010123
+:10CE00000101010101010101010101010101010112
+:10CE10000101010101010101010101010101010102
+:10CE200001010101010101010101010101010101F2
+:10CE300001010101010101010101010101010101E2
+:10CE400001010101010101010101010101010101D2
+:10CE500001010101010101010101010101010101C2
+:10CE600001010101010101010101010101010101B2
+:10CE700001010101010101010101010101010101A2
+:10CE80000101010101010101010101010101010192
+:10CE90000101010101010101010101010101010182
+:10CEA0000101010101010101010101010101010172
+:10CEB0000101010101010101010101010101010162
+:10CEC0000101010101010101010101010101010152
+:10CED0000101010101010101010101010101010142
+:10CEE0000101010101010101010101010101010132
+:10CEF0000101010101010101010101010101010122
+:10CF00000101010101010101010101010101010111
+:10CF10000101010101010101010101010101010101
+:10CF200001010101010101010101010101010101F1
+:10CF300001010101010101010101010101010101E1
+:10CF400001010101010101010101010101010101D1
+:10CF500001010101010101010101010101010101C1
+:10CF600001010101010101010101010101010101B1
+:10CF700001010101010101010101010101010101A1
+:10CF80000101010101010101010101010101010191
+:10CF90000101010101010101010101010101010181
+:10CFA0000101010101010101010101010101010171
+:10CFB0000101010101010101010101010101010161
+:10CFC0000101010101010101010101010101010151
+:10CFD0000101010101010101010101010101010141
+:10CFE0000101010101010101010101010101010131
+:10CFF0000101010101010101010101010101010121
+:10D000000101010101010101010101010101010110
+:10D010000101010101010101010101010101010100
+:10D0200001010101010101010101010101010101F0
+:10D0300001010101010101010101010101010101E0
+:10D0400001010101010101010101010101010101D0
+:10D0500001010101010101010101010101010101C0
+:10D0600001010101010101010101010101010101B0
+:10D0700001010101010101010101010101010101A0
+:10D080000101010101010101010101010101010190
+:10D090000101010101010101010101010101010180
+:10D0A0000101010101010101010101010101010170
+:10D0B0000101010101010101010101010101010160
+:10D0C0000101010101010101010101010101010150
+:10D0D0000101010101010101010101010101010140
+:10D0E0000101010101010101010101010101010130
+:10D0F0000101010101010101010101010101010120
+:10D10000010101010101010101010101010101010F
+:10D1100001010101010101010101010101010101FF
+:10D1200001010101010101010101010101010101EF
+:10D1300001010101010101010101010101010101DF
+:10D1400001010101010101010101010101010101CF
+:10D1500001010101010101010101010101010101BF
+:10D1600001010101010101010101010101010101AF
+:10D17000010101010101010101010101010101019F
+:10D18000010101010101010101010101010101018F
+:10D19000010101010101010101010101010101017F
+:10D1A000010101010101010101010101010101016F
+:10D1B000010101010101010101010101010101015F
+:10D1C000010101010101010101010101010101014F
+:10D1D000010101010101010101010101010101013F
+:10D1E000010101010101010101010101010101012F
+:10D1F000010101010101010101010101010101011F
+:10D20000010101010101010101010101010101010E
+:10D2100001010101010101010101010101010101FE
+:10D2200001010101010101010101010101010101EE
+:10D2300001010101010101010101010101010101DE
+:10D2400001010101010101010101010101010101CE
+:10D2500001010101010101010101010101010101BE
+:10D2600001010101010101010101010101010101AE
+:10D27000010101010101010101010101010101019E
+:10D28000010101010101010101010101010101018E
+:10D29000010101010101010101010101010101017E
+:10D2A000010101010101010101010101010101016E
+:10D2B000010101010101010101010101010101015E
+:10D2C000010101010101010101010101010101014E
+:10D2D000010101010101010101010101010101013E
+:10D2E000010101010101010101010101010101012E
+:10D2F000010101010101010101010101010101011E
+:10D30000010101010101010101010101010101010D
+:10D3100001010101010101010101010101010101FD
+:10D3200001010101010101010101010101010101ED
+:10D3300001010101010101010101010101010101DD
+:10D3400001010101010101010101010101010101CD
+:10D3500001010101010101010101010101010101BD
+:10D3600001010101010101010101010101010101AD
+:10D37000010101010101010101010101010101019D
+:10D38000010101010101010101010101010101018D
+:10D39000010101010101010101010101010101017D
+:10D3A000010101010101010101010101010101016D
+:10D3B000010101010101010101010101010101015D
+:10D3C000010101010101010101010101010101014D
+:10D3D000010101010101010101010101010101013D
+:10D3E000010101010101010101010101010101012D
+:10D3F000010101010101010101010101010101011D
+:10D40000010101010101010101010101010101010C
+:10D4100001010101010101010101010101010101FC
+:10D4200001010101010101010101010101010101EC
+:10D4300001010101010101010101010101010101DC
+:10D4400001010101010101010101010101010101CC
+:10D4500001010101010101010101010101010101BC
+:10D4600001010101010101010101010101010101AC
+:10D47000010101010101010101010101010101019C
+:10D48000010101010101010101010101010101018C
+:10D49000010101010101010101010101010101017C
+:10D4A000010101010101010101010101010101016C
+:10D4B000010101010101010101010101010101015C
+:10D4C000010101010101010101010101010101014C
+:10D4D000010101010101010101010101010101013C
+:10D4E000010101010101010101010101010101012C
+:10D4F000010101010101010101010101010101011C
+:10D50000010101010101010101010101010101010B
+:10D5100001010101010101010101010101010101FB
+:10D5200001010101010101010101010101010101EB
+:10D5300001010101010101010101010101010101DB
+:10D5400001010101010101010101010101010101CB
+:10D5500001010101010101010101010101010101BB
+:10D5600001010101010101010101010101010101AB
+:10D57000010101010101010101010101010101019B
+:10D58000010101010101010101010101010101018B
+:10D59000010101010101010101010101010101017B
+:10D5A000010101010101010101010101010101016B
+:10D5B000010101010101010101010101010101015B
+:10D5C000010101010101010101010101010101014B
+:10D5D000010101010101010101010101010101013B
+:10D5E000010101010101010101010101010101012B
+:10D5F000010101010101010101010101010101011B
+:10D60000010101010101010101010101010101010A
+:10D6100001010101010101010101010101010101FA
+:10D6200001010101010101010101010101010101EA
+:10D6300001010101010101010101010101010101DA
+:10D6400001010101010101010101010101010101CA
+:10D6500001010101010101010101010101010101BA
+:10D6600001010101010101010101010101010101AA
+:10D67000010101010101010101010101010101019A
+:10D68000010101010101010101010101010101018A
+:10D69000010101010101010101010101010101017A
+:10D6A000010101010101010101010101010101016A
+:10D6B000010101010101010101010101010101015A
+:10D6C000010101010101010101010101010101014A
+:10D6D000010101010101010101010101010101013A
+:10D6E000010101010101010101010101010101012A
+:10D6F000010101010101010101010101010101011A
+:10D700000101010101010101010101010101010109
+:10D7100001010101010101010101010101010101F9
+:10D7200001010101010101010101010101010101E9
+:10D7300001010101010101010101010101010101D9
+:10D7400001010101010101010101010101010101C9
+:10D7500001010101010101010101010101010101B9
+:10D7600001010101010101010101010101010101A9
+:10D770000101010101010101010101010101010199
+:10D780000101010101010101010101010101010189
+:10D790000101010101010101010101010101010179
+:10D7A0000101010101010101010101010101010169
+:10D7B0000101010101010101010101010101010159
+:10D7C0000101010101010101010101010101010149
+:10D7D0000101010101010101010101010101010139
+:10D7E0000101010101010101010101010101010129
+:10D7F0000101010101010101010101010101010119
+:10D800000101010101010101010101010101010108
+:10D8100001010101010101010101010101010100F9
+:10D8200000000000000000000000000000000000F8
+:10D8300000000000000000000000000000000000E8
+:10D8400000000000000000000000000000000000D8
+:10D8500000000000000000000000000000000000C8
+:10D8600000000000000000000000000000000000B8
+:10D8700000000000000000000000000000000000A8
+:10D880000000000000000000000000000000000098
+:10D890000000000000000000000000000000000088
+:10D8A0000000000000000000000000000000000078
+:10D8B0000000000000000000000000000000000068
+:10D8C0000000000000000000000000000000000058
+:10D8D0000000000000000000000000000000000048
+:10D8E0000000000000000000000000000000000038
+:10D8F0000000000000000000000000000000000028
+:10D900000000000000000000000000000000000017
+:10D910000000000000000000000000000000000007
+:10D9200000000000000000000000000000000000F7
+:10D9300000000000000000000000000000000000E7
+:10D9400000000000000000000000000000000000D7
+:10D9500000000000000000000000000000000000C7
+:10D9600000000000000000000000000000000000B7
+:10D9700000000000000000000000000000000000A7
+:10D980000000000000000000000000000000000097
+:10D990000000000000000000000000000000000087
+:10D9A0000000000000000000000000000000000077
+:10D9B0000000000000000000000000000000000067
+:10D9C0000000000000000000000000000000000057
+:10D9D0000000000000000000000000000000000047
+:10D9E0000000000000000000000000000000000037
+:10D9F0000000000000000000000000000000000027
+:10DA00000000000000000000000000000000000016
+:10DA10000000000000000000000000000000000006
+:10DA200000000000000000000000000000000000F6
+:10DA300000000000000000000000000000000000E6
+:10DA400000000000000000000000000000000000D6
+:10DA500000000000000000000000000000000000C6
+:10DA600000000000000000000000000000000000B6
+:10DA700000000000000000000000000000000000A6
+:10DA80000000000000000000000000000000000096
+:10DA90000000000000000000000000000000000086
+:10DAA0000000000000000000000000000000000076
+:10DAB0000000000000000000000000000000000066
+:10DAC0000000000000000000000000000000000056
+:10DAD0000000000000000000000000000000000046
+:10DAE0000000000000000000000000000000000036
+:10DAF0000000000000000000000000000000000026
+:10DB00000000000000000000000000000000000015
+:10DB10000000000000000000000000000000000005
+:10DB200000000000000000000000000000000000F5
+:10DB300000000000000000000000000000000000E5
+:10DB400000000000000000000000000000000000D5
+:10DB500000000000000000000000000000000000C5
+:10DB600000000000000000000000000000000000B5
+:10DB700000000000000000000000000000000000A5
+:10DB80000000000000000000000000000000000095
+:10DB90000000000000000000000000000000000085
+:10DBA0000000000000000000000000000000000075
+:10DBB0000000000000000000000000000000000065
+:10DBC0000000000000000000000000000000000055
+:10DBD0000000000000000000000000000000000045
+:10DBE0000000000000000000000000000000000035
+:10DBF0000000000000000000000000000000000025
+:10DC00000000000000000000000000000000000014
+:10DC10000000000000000000000000000000000004
+:10DC200000000000000000000000000000000000F4
+:10DC300000000000000000000000000000000000E4
+:10DC400000000000000000000000000000000000D4
+:10DC500000000000000000000000000000000000C4
+:10DC600000000000000000000000000000000000B4
+:10DC700000000000000000000000000000000000A4
+:10DC80000000000000000000000000000000000094
+:10DC90000000000000000000000000000000000084
+:10DCA0000000000000000000000000000000000074
+:10DCB0000000000000000000000000000000000064
+:10DCC0000000000000000000000000000000000054
+:10DCD0000000000000000000000000000000000044
+:10DCE0000000000000000000000000000000000034
+:10DCF0000000000000000000000000000000000024
+:10DD00000000000000000000000000000000000013
+:10DD10000000000000000000000000000000000003
+:10DD200000000000000000000000000000000000F3
+:10DD300000000000000000000000000000000000E3
+:10DD400000000000000000000000000000000000D3
+:10DD500000000000000000000000000000000000C3
+:10DD600000000000000000000000000000000000B3
+:10DD700000000000000000000000000000000000A3
+:10DD80000000000000000000000000000000000093
+:10DD90000000000000000000000000000000000083
+:10DDA0000000000000000000000000000000000073
+:10DDB0000000000000000000000000000000000063
+:10DDC0000000000000000000000000000000000053
+:10DDD0000000000000000000000000000000000043
+:10DDE0000000000000000000000000000000000033
+:10DDF0000000000000000000000000000000000023
+:10DE00000000000000000000000000000000000012
+:10DE10000000000000000000000000000000000002
+:10DE200000000000000000000000000000000000F2
+:10DE300000000000000000000000000000000000E2
+:10DE400000000000000000000000000000000000D2
+:10DE500000000000000000000000000000000000C2
+:10DE600000000000000000000000000000000000B2
+:10DE700000000000000000000000000000000000A2
+:10DE80000000000000000000000000000000000092
+:10DE90000000000000000000000000000000000082
+:10DEA0000000000000000000000000000000000072
+:10DEB0000000000000000000000000000000000062
+:10DEC0000000000000000000000000000000000052
+:10DED0000000000000000000000000000000000042
+:10DEE0000000000000000000000000000000000032
+:10DEF0000000000000000000000000000000000022
+:10DF00000000000000000000000000000000000011
+:10DF100000000000000000000000000000000002FF
+:10DF200002020202020202020202020202020202D1
+:10DF300002020202020202020202020202020202C1
+:10DF400002020202020202020202020202020202B1
+:10DF500002020202020202020202020202020202A1
+:10DF60000202020202020202020202020202020291
+:10DF70000202020202020202020202020202020281
+:10DF80000202020202020202020202020202020271
+:10DF90000202020202020202020202020202020261
+:10DFA0000202020202020202020202020202020251
+:10DFB0000202020202020202020202020202020241
+:10DFC0000202020202020202020202020202020231
+:10DFD0000202020202020202020202020202020221
+:10DFE0000202020202020202020202020202020211
+:10DFF0000202020202020202020202020202020201
+:10E0000002020202020202020202020202020202F0
+:10E0100002020202020202020202020202020202E0
+:10E0200002020202020202020202020202020202D0
+:10E0300002020202020202020202020202020202C0
+:10E0400002020202020202020202020202020202B0
+:10E0500002020202020202020202020202020202A0
+:10E060000202020202020202020202020202020290
+:10E070000202020202020202020202020202020280
+:10E080000202020202020202020202020202020270
+:10E090000202020202020202020202020202020260
+:10E0A0000202020202020202020202020202020250
+:10E0B0000202020202020202020202020202020240
+:10E0C0000202020202020202020202020202020230
+:10E0D0000202020202020202020202020202020220
+:10E0E0000202020202020202020202020202020210
+:10E0F0000202020202020202020202020202020200
+:10E1000002020202020202020202020202020202EF
+:10E1100002020202020202020202020202020202DF
+:10E1200002020202020202020202020202020202CF
+:10E1300002020202020202020202020202020202BF
+:10E1400002020202020202020202020202020202AF
+:10E15000020202020202020202020202020202029F
+:10E16000020202020202020202020202020202028F
+:10E17000020202020202020202020202020202027F
+:10E18000020202020202020202020202020202026F
+:10E19000020202020202020202020202020202025F
+:10E1A000020202020202020202020202020202024F
+:10E1B000020202020202020202020202020202023F
+:10E1C000020202020202020202020202020202022F
+:10E1D000020202020202020202020202020202021F
+:10E1E000020202020202020202020202020202020F
+:10E1F00002020202020202020202020202020202FF
+:10E2000002020202020202020202020202020202EE
+:10E2100002020202020202020202020202020202DE
+:10E2200002020202020202020202020202020202CE
+:10E2300002020202020202020202020202020202BE
+:10E2400002020202020202020202020202020202AE
+:10E25000020202020202020202020202020202029E
+:10E26000020202020202020202020202020202028E
+:10E27000020202020202020202020202020202027E
+:10E28000020202020202020202020202020202026E
+:10E29000020202020202020202020202020202025E
+:10E2A000020202020202020202020202020202024E
+:10E2B000020202020202020202020202020202023E
+:10E2C000020202020202020202020202020202022E
+:10E2D000020202020202020202020202020202021E
+:10E2E000020202020202020202020202020202020E
+:10E2F00002020202020202020202020202020202FE
+:10E3000002020202020202020202020202020202ED
+:10E3100002020202020202020202020202020202DD
+:10E3200002020202020202020202020202020202CD
+:10E3300002020202020202020202020202020202BD
+:10E3400002020202020202020202020202020202AD
+:10E35000020202020202020202020202020202029D
+:10E36000020202020202020202020202020202028D
+:10E37000020202020202020202020202020202027D
+:10E38000020202020202020202020202020202026D
+:10E39000020202020202020202020202020202025D
+:10E3A000020202020202020202020202020202024D
+:10E3B000020202020202020202020202020202023D
+:10E3C000020202020202020202020202020202022D
+:10E3D000020202020202020202020202020202021D
+:10E3E000020202020202020202020202020202020D
+:10E3F00002020202020202020202020202020202FD
+:10E4000002020202020202020202020202020202EC
+:10E4100002020202020202020202020202020202DC
+:10E4200002020202020202020202020202020202CC
+:10E4300002020202020202020202020202020202BC
+:10E4400002020202020202020202020202020202AC
+:10E45000020202020202020202020202020202029C
+:10E46000020202020202020202020202020202028C
+:10E47000020202020202020202020202020202027C
+:10E48000020202020202020202020202020202026C
+:10E49000020202020202020202020202020202025C
+:10E4A000020202020202020202020202020202024C
+:10E4B000020202020202020202020202020202023C
+:10E4C000020202020202020202020202020202022C
+:10E4D000020202020202020202020202020202021C
+:10E4E000020202020202020202020202020202020C
+:10E4F00002020202020202020202020202020202FC
+:10E5000002020202020202020202020202020202EB
+:10E5100002020202020202020202020202020202DB
+:10E5200002020202020202020202020202020202CB
+:10E5300002020202020202020202020202020202BB
+:10E5400002020202020202020202020202020202AB
+:10E55000020202020202020202020202020202029B
+:10E56000020202020202020202020202020202028B
+:10E57000020202020202020202020202020202027B
+:10E58000020202020202020202020202020202026B
+:10E59000020202020202020202020202020202025B
+:10E5A000020202020202020202020202020202024B
+:10E5B000020202020202020202020202020202023B
+:10E5C000020202020202020202020202020202022B
+:10E5D000020202020202020202020202020202021B
+:10E5E000020202020202020202020202020202020B
+:10E5F00002020202020202020202020202020202FB
+:10E6000002020202020202020202020202020202EA
+:10E6100002020202020202020202020202020202DA
+:10E6200002020202020202020202020202020202CA
+:10E6300002020202020202020202020202020202BA
+:10E6400002020202020202020202020202020202AA
+:10E65000020202020202020202020202020202029A
+:10E66000020202020202020202020202020202028A
+:10E67000020202020202020202020202020202027A
+:10E68000020202020202020202020202020202026A
+:10E69000020202020202020202020202020202025A
+:10E6A000020202020202020202020202020202024A
+:10E6B000020202020202020202020202020202023A
+:10E6C000020202020202020202020202020202022A
+:10E6D000020202020202020202020202020202021A
+:10E6E000020202020202020202020202020202020A
+:10E6F00002020202020202020202020202020202FA
+:10E7000002020202020202020202020202020202E9
+:10E7100002020202020202020202020202020202D9
+:10E7200002020202020202020202020202020202C9
+:10E7300002020202020202020202020202020202B9
+:10E7400002020202020202020202020202020202A9
+:10E750000202020202020202020202020202020299
+:10E760000202020202020202020202020202020289
+:10E770000202020202020202020202020202020279
+:10E780000202020202020202020202020202020269
+:10E790000202020202020202020202020202020259
+:10E7A0000202020202020202020202020202020249
+:10E7B0000202020202020202020202020202020239
+:10E7C0000202020202020202020202020202020229
+:10E7D0000202020202020202020202020202020219
+:10E7E0000202020202020202020202020202020209
+:10E7F00002020202020202020202020202020202F9
+:10E8000002020202020202020202020202020202E8
+:10E8100002020202020202020202020202020202D8
+:10E8200002020202020202020202020202020202C8
+:10E8300002020202020202020202020202020202B8
+:10E8400002020202020202020202020202020202A8
+:10E850000202020202020202020202020202020298
+:10E860000202020202020202020202020202020288
+:10E870000202020202020202020202020202020278
+:10E880000202020202020202020202020202020268
+:10E890000202020202020202020202020202020258
+:10E8A0000202020202020202020202020202020248
+:10E8B0000202020202020202020202020202020238
+:10E8C0000202020202020202020202020202020228
+:10E8D0000202020202020202020202020202020218
+:10E8E0000202020202020202020202020202020208
+:10E8F00002020202020202020202020202020202F8
+:10E9000002020202020202020202020202020202E7
+:10E9100002020202020202020202020202020202D7
+:10E9200002020202020202020202020202020202C7
+:10E9300002020202020202020202020202020202B7
+:10E9400002020202020202020202020202020202A7
+:10E950000202020202020202020202020202020297
+:10E960000202020202020202020202020202020287
+:10E970000202020202020202020202020202020277
+:10E980000202020202020202020202020202020267
+:10E990000202020202020202020202020202020257
+:10E9A0000202020202020202020202020202020247
+:10E9B0000202020202020202020202020202020237
+:10E9C0000202020202020202020202020202020227
+:10E9D0000202020202020202020202020202020217
+:10E9E0000202020202020202020202020202020207
+:10E9F00002020202020202020202020202020202F7
+:10EA000002020202020202020202020202020202E6
+:10EA100002020202020202020202020202020202D6
+:10EA200002020202020202020202020202020202C6
+:10EA300002020202020202020202020202020202B6
+:10EA400002020202020202020202020202020202A6
+:10EA50000202020202020202020202020202020296
+:10EA60000202020202020202020202020202020286
+:10EA70000202020202020202020202020202020276
+:10EA80000202020202020202020202020202020266
+:10EA90000202020202020202020202020202020256
+:10EAA0000202020202020202020202020202020246
+:10EAB0000202020202020202020202020202020236
+:10EAC0000202020202020202020202020202020226
+:10EAD0000202020202020202020202020202020216
+:10EAE0000202020202020202020202020202020206
+:10EAF00002020202020202020202020202020202F6
+:10EB000002020202020202020202020202020202E5
+:10EB100002020202020202020202020202020202D5
+:10EB200002020202020202020202020202020202C5
+:10EB300002020202020202020202020202020202B5
+:10EB400002020202020202020202020202020202A5
+:10EB50000202020202020202020202020202020295
+:10EB60000202020202020202020202020202020285
+:10EB70000202020202020202020202020202020275
+:10EB80000202020202020202020202020202020265
+:10EB90000202020202020202020202020202020255
+:10EBA0000202020202020202020202020202020245
+:10EBB0000202020202020202020202020202020235
+:10EBC0000202020202020202020202020202020225
+:10EBD0000202020202020202020202020202020215
+:10EBE0000202020202020202020202020202020205
+:10EBF00002020202020202020202020202020202F5
+:10EC000002020202020202020202020202020202E4
+:10EC100002020202020202020202020202020202D4
+:10EC200002020202020202020202020202020202C4
+:10EC300002020202020202020202020202020202B4
+:10EC400002020202020202020202020202020202A4
+:10EC50000202020202020202020202020202020294
+:10EC60000202020202020202020202020202020284
+:10EC70000202020202020202020202020202020274
+:10EC80000202020202020202020202020202020264
+:10EC90000202020202020202020202020202020254
+:10ECA0000202020202020202020202020202020244
+:10ECB0000202020202020202020202020202020234
+:10ECC0000202020202020202020202020202020224
+:10ECD0000202020202020202020202020202020214
+:10ECE0000202020202020202020202020202020204
+:10ECF00002020202020202020202020202020202F4
+:10ED000002020202020202020202020202020202E3
+:10ED100002020202020202020202020202020200D5
+:10ED200000000000000000000000000000000000E3
+:10ED300000000000000000000000000000000000D3
+:10ED400000000000000000000000000000000000C3
+:10ED500000000000000000000000000000000000B3
+:10ED600000000000000000000000000000000000A3
+:10ED70000000000000000000000000000000000093
+:10ED80000000000000000000000000000000000083
+:10ED90000000000000000000000000000000000073
+:10EDA0000000000000000000000000000000000063
+:10EDB0000000000000000000000000000000000053
+:10EDC0000000000000000000000000000000000043
+:10EDD0000000000000000000000000000000000033
+:10EDE0000000000000000000000000000000000023
+:10EDF0000000000000000000000000000000000013
+:10EE00000000000000000000000000000000000002
+:10EE100000000000000000000000000000000000F2
+:10EE200000000000000000000000000000000000E2
+:10EE300000000000000000000000000000000000D2
+:10EE400000000000000000000000000000000000C2
+:10EE500000000000000000000000000000000000B2
+:10EE600000000000000000000000000000000000A2
+:10EE70000000000000000000000000000000000092
+:10EE80000000000000000000000000000000000082
+:10EE90000000000000000000000000000000000072
+:10EEA0000000000000000000000000000000000062
+:10EEB0000000000000000000000000000000000052
+:10EEC0000000000000000000000000000000000042
+:10EED0000000000000000000000000000000000032
+:10EEE0000000000000000000000000000000000022
+:10EEF0000000000000000000000000000000000012
+:10EF00000000000000000000000000000000000001
+:10EF100000000000000000000000000000000000F1
+:10EF200000000000000000000000000000000000E1
+:10EF300000000000000000000000000000000000D1
+:10EF400000000000000000000000000000000000C1
+:10EF500000000000000000000000000000000000B1
+:10EF600000000000000000000000000000000000A1
+:10EF70000000000000000000000000000000000091
+:10EF80000000000000000000000000000000000081
+:10EF90000000000000000000000000000000000071
+:10EFA0000000000000000000000000000000000061
+:10EFB0000000000000000000000000000000000051
+:10EFC0000000000000000000000000000000000041
+:10EFD0000000000000000000000000000000000031
+:10EFE0000000000000000000000000000000000021
+:10EFF0000000000000000000000000000000000011
+:10F000000000000000000000000000000000000000
+:10F0100000000000000000000000000000000000F0
+:10F0200000000000000000000000000000000000E0
+:10F0300000000000000000000000000000000000D0
+:10F0400000000000000000000000000000000000C0
+:10F0500000000000000000000000000000000000B0
+:10F0600000000000000000000000000000000000A0
+:10F070000000000000000000000000000000000090
+:10F080000000000000000000000000000000000080
+:10F090000000000000000000000000000000000070
+:10F0A0000000000000000000000000000000000060
+:10F0B0000000000000000000000000000000000050
+:10F0C0000000000000000000000000000000000040
+:10F0D0000000000000000000000000000000000030
+:10F0E0000000000000000000000000000000000020
+:10F0F0000000000000000000000000000000000010
+:10F1000000000000000000000000000000000000FF
+:10F1100000000000000000000000000000000000EF
+:10F1200000000000000000000000000000000000DF
+:10F1300000000000000000000000000000000000CF
+:10F1400000000000000000000000000000000000BF
+:10F1500000000000000000000000000000000000AF
+:10F16000000000000000000000000000000000009F
+:10F17000000000000000000000000000000000008F
+:10F18000000000000000000000000000000000007F
+:10F19000000000000000000000000000000000006F
+:10F1A000000000000000000000000000000000005F
+:10F1B000000000000000000000000000000000004F
+:10F1C000000000000000000000000000000000003F
+:10F1D000000000000000000000000000000000002F
+:10F1E000000000000000000000000000000000001F
+:10F1F000000000000000000000000000000000000F
+:10F2000000000000000000000000000000000000FE
+:10F2100000000000000000000000000000000000EE
+:10F2200000000000000000000000000000000000DE
+:10F2300000000000000000000000000000000000CE
+:10F2400000000000000000000000000000000000BE
+:10F2500000000000000000000000000000000000AE
+:10F26000000000000000000000000000000000009E
+:10F27000000000000000000000000000000000008E
+:10F28000000000000000000000000000000000007E
+:10F29000000000000000000000000000000000006E
+:10F2A000000000000000000000000000000000005E
+:10F2B000000000000000000000000000000000004E
+:10F2C000000000000000000000000000000000003E
+:10F2D000000000000000000000000000000000002E
+:10F2E000000000000000000000000000000000001E
+:10F2F000000000000000000000000000000000000E
+:10F3000000000000000000000000000000000000FD
+:10F3100000000000000000000000000000000000ED
+:10F3200000000000000000000000000000000000DD
+:10F3300000000000000000000000000000000000CD
+:10F3400000000000000000000000000000000000BD
+:10F3500000000000000000000000000000000000AD
+:10F36000000000000000000000000000000000009D
+:10F37000000000000000000000000000000000008D
+:10F38000000000000000000000000000000000007D
+:10F39000000000000000000000000000000000006D
+:10F3A000000000000000000000000000000000005D
+:10F3B000000000000000000000000000000000004D
+:10F3C000000000000000000000000000000000003D
+:10F3D000000000000000000000000000000000002D
+:10F3E000000000000000000000000000000000001D
+:10F3F000000000000000000000000000000000000D
+:10F4000000000000000000000000000000000000FC
+:10F4100000000000000000000000000000000000EC
+:10F4200000000000000000000000000000000000DC
+:10F4300000000000000000000000000000000000CC
+:10F4400000000000000000000000000000000000BC
+:10F4500000000000000000000000000000000000AC
+:10F46000000000000000000000000000000000009C
+:10F47000000000000000000000000000000000008C
+:10F48000000000000000000000000000000000007C
+:10F49000000000000000000000000000000000006C
+:10F4A000000000000000000000000000000000005C
+:10F4B000000000000000000000000000000000004C
+:10F4C000000000000000000000000000000000003C
+:10F4D000000000000000000000000000000000002C
+:10F4E000000000000000000000000000000000001C
+:10F4F000000000000000000000000000000000000C
+:10F5000000000000000000000000000000000000FB
+:10F5100000000000000000000000000000000000EB
+:10F5200000000000000000000000000000000000DB
+:10F5300000000000000000000000000000000000CB
+:10F5400000000000000000000000000000000000BB
+:10F5500000000000000000000000000000000000AB
+:10F56000000000000000000000000000000000009B
+:10F57000000000000000000000000000000000008B
+:10F58000000000000000000000000000000000007B
+:10F59000000000000000000000000000000000006B
+:10F5A000000000000000000000000000000000005B
+:10F5B000000000000000000000000000000000004B
+:10F5C000000000000000000000000000000000003B
+:10F5D000000000000000000000000000000000002B
+:10F5E000000000000000000000000000000000001B
+:10F5F000000000000000000000000000000000000B
+:10F6000000000000000000000000000000000000FA
+:10F6100000000000000000000000000000000001E9
+:10F6200001010101010101010101010101010101CA
+:10F6300001010101010101010101010101010101BA
+:10F6400001010101010101010101010101010101AA
+:10F65000010101010101010101010101010101019A
+:10F66000010101010101010101010101010101018A
+:10F67000010101010101010101010101010101017A
+:10F68000010101010101010101010101010101016A
+:10F69000010101010101010101010101010101015A
+:10F6A000010101010101010101010101010101014A
+:10F6B000010101010101010101010101010101013A
+:10F6C000010101010101010101010101010101012A
+:10F6D000010101010101010101010101010101011A
+:10F6E000010101010101010101010101010101010A
+:10F6F00001010101010101010101010101010101FA
+:10F7000001010101010101010101010101010101E9
+:10F7100001010101010101010101010101010101D9
+:10F7200001010101010101010101010101010101C9
+:10F7300001010101010101010101010101010101B9
+:10F7400001010101010101010101010101010101A9
+:10F750000101010101010101010101010101010199
+:10F760000101010101010101010101010101010189
+:10F770000101010101010101010101010101010179
+:10F780000101010101010101010101010101010169
+:10F790000101010101010101010101010101010159
+:10F7A0000101010101010101010101010101010149
+:10F7B0000101010101010101010101010101010139
+:10F7C0000101010101010101010101010101010129
+:10F7D0000101010101010101010101010101010119
+:10F7E0000101010101010101010101010101010109
+:10F7F00001010101010101010101010101010101F9
+:10F8000001010101010101010101010101010101E8
+:10F8100001010101010101010101010101010101D8
+:10F8200001010101010101010101010101010101C8
+:10F8300001010101010101010101010101010101B8
+:10F8400001010101010101010101010101010101A8
+:10F850000101010101010101010101010101010198
+:10F860000101010101010101010101010101010188
+:10F870000101010101010101010101010101010178
+:10F880000101010101010101010101010101010168
+:10F890000101010101010101010101010101010158
+:10F8A0000101010101010101010101010101010148
+:10F8B0000101010101010101010101010101010138
+:10F8C0000101010101010101010101010101010128
+:10F8D0000101010101010101010101010101010118
+:10F8E0000101010101010101010101010101010108
+:10F8F00001010101010101010101010101010101F8
+:10F9000001010101010101010101010101010101E7
+:10F9100001010101010101010101010101010101D7
+:10F9200001010101010101010101010101010101C7
+:10F9300001010101010101010101010101010101B7
+:10F9400001010101010101010101010101010101A7
+:10F950000101010101010101010101010101010197
+:10F960000101010101010101010101010101010187
+:10F970000101010101010101010101010101010177
+:10F980000101010101010101010101010101010167
+:10F990000101010101010101010101010101010157
+:10F9A0000101010101010101010101010101010147
+:10F9B0000101010101010101010101010101010137
+:10F9C0000101010101010101010101010101010127
+:10F9D0000101010101010101010101010101010117
+:10F9E0000101010101010101010101010101010107
+:10F9F00001010101010101010101010101010101F7
+:10FA000001010101010101010101010101010101E6
+:10FA100001010101010101010101010101010101D6
+:10FA200001010101010101010101010101010101C6
+:10FA300001010101010101010101010101010101B6
+:10FA400001010101010101010101010101010101A6
+:10FA50000101010101010101010101010101010196
+:10FA60000101010101010101010101010101010186
+:10FA70000101010101010101010101010101010176
+:10FA80000101010101010101010101010101010166
+:10FA90000101010101010101010101010101010156
+:10FAA0000101010101010101010101010101010146
+:10FAB0000101010101010101010101010101010136
+:10FAC0000101010101010101010101010101010126
+:10FAD0000101010101010101010101010101010116
+:10FAE0000101010101010101010101010101010106
+:10FAF00001010101010101010101010101010101F6
+:10FB000001010101010101010101010101010101E5
+:10FB100001010101010101010101010101010101D5
+:10FB200001010101010101010101010101010101C5
+:10FB300001010101010101010101010101010101B5
+:10FB400001010101010101010101010101010101A5
+:10FB50000101010101010101010101010101010195
+:10FB60000101010101010101010101010101010185
+:10FB70000101010101010101010101010101010175
+:10FB80000101010101010101010101010101010165
+:10FB90000101010101010101010101010101010155
+:10FBA0000101010101010101010101010101010145
+:10FBB0000101010101010101010101010101010135
+:10FBC0000101010101010101010101010101010125
+:10FBD0000101010101010101010101010101010115
+:10FBE0000101010101010101010101010101010105
+:10FBF00001010101010101010101010101010101F5
+:10FC000001010101010101010101010101010101E4
+:10FC100001010101010101010101010101010101D4
+:10FC200001010101010101010101010101010101C4
+:10FC300001010101010101010101010101010101B4
+:10FC400001010101010101010101010101010101A4
+:10FC50000101010101010101010101010101010194
+:10FC60000101010101010101010101010101010184
+:10FC70000101010101010101010101010101010174
+:10FC80000101010101010101010101010101010164
+:10FC90000101010101010101010101010101010154
+:10FCA0000101010101010101010101010101010144
+:10FCB0000101010101010101010101010101010134
+:10FCC0000101010101010101010101010101010124
+:10FCD0000101010101010101010101010101010114
+:10FCE0000101010101010101010101010101010104
+:10FCF00001010101010101010101010101010101F4
+:10FD000001010101010101010101010101010101E3
+:10FD100001010101010101010101010101010101D3
+:10FD200001010101010101010101010101010101C3
+:10FD300001010101010101010101010101010101B3
+:10FD400001010101010101010101010101010101A3
+:10FD50000101010101010101010101010101010193
+:10FD60000101010101010101010101010101010183
+:10FD70000101010101010101010101010101010173
+:10FD80000101010101010101010101010101010163
+:10FD90000101010101010101010101010101010153
+:10FDA0000101010101010101010101010101010143
+:10FDB0000101010101010101010101010101010133
+:10FDC0000101010101010101010101010101010123
+:10FDD0000101010101010101010101010101010113
+:10FDE0000101010101010101010101010101010103
+:10FDF00001010101010101010101010101010101F3
+:10FE000001010101010101010101010101010101E2
+:10FE100001010101010101010101010101010101D2
+:10FE200001010101010101010101010101010101C2
+:10FE300001010101010101010101010101010101B2
+:10FE400001010101010101010101010101010101A2
+:10FE50000101010101010101010101010101010192
+:10FE60000101010101010101010101010101010182
+:10FE70000101010101010101010101010101010172
+:10FE80000101010101010101010101010101010162
+:10FE90000101010101010101010101010101010152
+:10FEA0000101010101010101010101010101010142
+:10FEB0000101010101010101010101010101010132
+:10FEC0000101010101010101010101010101010122
+:10FED0000101010101010101010101010101010112
+:10FEE0000101010101010101010101010101010102
+:10FEF00001010101010101010101010101010101F2
+:10FF000001010101010101010101010101010101E1
+:10FF100001010101010101010101010101010101D1
+:10FF200001010101010101010101010101010101C1
+:10FF300001010101010101010101010101010101B1
+:10FF400001010101010101010101010101010101A1
+:10FF50000101010101010101010101010101010191
+:10FF60000101010101010101010101010101010181
+:10FF70000101010101010101010101010101010171
+:10FF80000101010101010101010101010101010161
+:10FF90000101010101010101010101010101010151
+:10FFA0000101010101010101010101010101010141
+:10FFB0000101010101010101010101010101010131
+:10FFC0000101010101010101010101010101010121
+:10FFD0000101010101010101010101010101010111
+:10FFE0000101010101010101010101010101010101
+:10FFF00001010101010101010101010101010101F1
+:020000024000BC
+:1000000001010101010101010101010101010101E0
+:1000100001010101010101010101010101010101D0
+:1000200001010101010101010101010101010101C0
+:1000300001010101010101010101010101010101B0
+:1000400001010101010101010101010101010101A0
+:100050000101010101010101010101010101010190
+:100060000101010101010101010101010101010180
+:100070000101010101010101010101010101010170
+:100080000101010101010101010101010101010160
+:100090000101010101010101010101010101010150
+:1000A0000101010101010101010101010101010140
+:1000B0000101010101010101010101010101010130
+:1000C0000101010101010101010101010101010120
+:1000D0000101010101010101010101010101010110
+:1000E0000101010101010101010101010101010100
+:1000F00001010101010101010101010101010101F0
+:1001000001010101010101010101010101010101DF
+:1001100001010101010101010101010101010101CF
+:1001200001010101010101010101010101010101BF
+:1001300001010101010101010101010101010101AF
+:10014000010101010101010101010101010101019F
+:10015000010101010101010101010101010101018F
+:10016000010101010101010101010101010101017F
+:10017000010101010101010101010101010101016F
+:10018000010101010101010101010101010101015F
+:10019000010101010101010101010101010101014F
+:1001A000010101010101010101010101010101013F
+:1001B000010101010101010101010101010101012F
+:1001C000010101010101010101010101010101011F
+:1001D000010101010101010101010101010101010F
+:1001E00001010101010101010101010101010101FF
+:1001F00001010101010101010101010101010101EF
+:1002000001010101010101010101010101010101DE
+:1002100001010101010101010101010101010101CE
+:1002200001010101010101010101010101010101BE
+:1002300001010101010101010101010101010101AE
+:10024000010101010101010101010101010101019E
+:10025000010101010101010101010101010101018E
+:10026000010101010101010101010101010101017E
+:10027000010101010101010101010101010101016E
+:10028000010101010101010101010101010101015E
+:10029000010101010101010101010101010101014E
+:1002A000010101010101010101010101010101013E
+:1002B000010101010101010101010101010101012E
+:1002C000010101010101010101010101010101011E
+:1002D000010101010101010101010101010101010E
+:1002E00001010101010101010101010101010101FE
+:1002F00001010101010101010101010101010101EE
+:1003000001010101010101010101010101010101DD
+:1003100001010101010101010101010101010101CD
+:1003200001010101010101010101010101010101BD
+:1003300001010101010101010101010101010101AD
+:10034000010101010101010101010101010101019D
+:10035000010101010101010101010101010101018D
+:10036000010101010101010101010101010101017D
+:10037000010101010101010101010101010101016D
+:10038000010101010101010101010101010101015D
+:10039000010101010101010101010101010101014D
+:1003A000010101010101010101010101010101013D
+:1003B000010101010101010101010101010101012D
+:1003C000010101010101010101010101010101011D
+:1003D000010101010101010101010101010101010D
+:1003E00001010101010101010101010101010101FD
+:1003F00001010101010101010101010101010101ED
+:1004000001010101010101010101010101010101DC
+:1004100001010101010101010101010101010100CD
+:1004200000000000000000000000000000000000CC
+:1004300000000000000000000000000000000000BC
+:1004400000000000000000000000000000000000AC
+:10045000000000000000000000000000000000009C
+:10046000000000000000000000000000000000008C
+:10047000000000000000000000000000000000007C
+:10048000000000000000000000000000000000006C
+:10049000000000000000000000000000000000005C
+:1004A000000000000000000000000000000000004C
+:1004B000000000000000000000000000000000003C
+:1004C000000000000000000000000000000000002C
+:1004D000000000000000000000000000000000001C
+:1004E000000000000000000000000000000000000C
+:1004F00000000000000000000000000000000000FC
+:1005000000000000000000000000000000000000EB
+:1005100000000000000000000000000000000000DB
+:1005200000000000000000000000000000000000CB
+:1005300000000000000000000000000000000000BB
+:1005400000000000000000000000000000000000AB
+:10055000000000000000000000000000000000009B
+:10056000000000000000000000000000000000008B
+:10057000000000000000000000000000000000007B
+:10058000000000000000000000000000000000006B
+:10059000000000000000000000000000000000005B
+:1005A000000000000000000000000000000000004B
+:1005B000000000000000000000000000000000003B
+:1005C000000000000000000000000000000000002B
+:1005D000000000000000000000000000000000001B
+:1005E000000000000000000000000000000000000B
+:1005F00000000000000000000000000000000000FB
+:1006000000000000000000000000000000000000EA
+:1006100000000000000000000000000000000000DA
+:1006200000000000000000000000000000000000CA
+:1006300000000000000000000000000000000000BA
+:1006400000000000000000000000000000000000AA
+:10065000000000000000000000000000000000009A
+:10066000000000000000000000000000000000008A
+:10067000000000000000000000000000000000007A
+:10068000000000000000000000000000000000006A
+:10069000000000000000000000000000000000005A
+:1006A000000000000000000000000000000000004A
+:1006B000000000000000000000000000000000003A
+:1006C000000000000000000000000000000000002A
+:1006D000000000000000000000000000000000001A
+:1006E000000000000000000000000000000000000A
+:1006F00000000000000000000000000000000000FA
+:1007000000000000000000000000000000000000E9
+:1007100000000000000000000000000000000000D9
+:1007200000000000000000000000000000000000C9
+:1007300000000000000000000000000000000000B9
+:1007400000000000000000000000000000000000A9
+:100750000000000000000000000000000000000099
+:100760000000000000000000000000000000000089
+:100770000000000000000000000000000000000079
+:100780000000000000000000000000000000000069
+:100790000000000000000000000000000000000059
+:1007A0000000000000000000000000000000000049
+:1007B0000000000000000000000000000000000039
+:1007C0000000000000000000000000000000000029
+:1007D0000000000000000000000000000000000019
+:1007E0000000000000000000000000000000000009
+:1007F00000000000000000000000000000000000F9
+:1008000000000000000000000000000000000000E8
+:1008100000000000000000000000000000000000D8
+:1008200000000000000000000000000000000000C8
+:1008300000000000000000000000000000000000B8
+:1008400000000000000000000000000000000000A8
+:100850000000000000000000000000000000000098
+:100860000000000000000000000000000000000088
+:100870000000000000000000000000000000000078
+:100880000000000000000000000000000000000068
+:100890000000000000000000000000000000000058
+:1008A0000000000000000000000000000000000048
+:1008B0000000000000000000000000000000000038
+:1008C0000000000000000000000000000000000028
+:1008D0000000000000000000000000000000000018
+:1008E0000000000000000000000000000000000008
+:1008F00000000000000000000000000000000000F8
+:1009000000000000000000000000000000000000E7
+:1009100000000000000000000000000000000000D7
+:1009200000000000000000000000000000000000C7
+:1009300000000000000000000000000000000000B7
+:1009400000000000000000000000000000000000A7
+:100950000000000000000000000000000000000097
+:100960000000000000000000000000000000000087
+:100970000000000000000000000000000000000077
+:100980000000000000000000000000000000000067
+:100990000000000000000000000000000000000057
+:1009A0000000000000000000000000000000000047
+:1009B0000000000000000000000000000000000037
+:1009C0000000000000000000000000000000000027
+:1009D0000000000000000000000000000000000017
+:1009E0000000000000000000000000000000000007
+:1009F00000000000000000000000000000000000F7
+:100A000000000000000000000000000000000000E6
+:100A100000000000000000000000000000000000D6
+:100A200000000000000000000000000000000000C6
+:100A300000000000000000000000000000000000B6
+:100A400000000000000000000000000000000000A6
+:100A50000000000000000000000000000000000096
+:100A60000000000000000000000000000000000086
+:100A70000000000000000000000000000000000076
+:100A80000000000000000000000000000000000066
+:100A90000000000000000000000000000000000056
+:100AA0000000000000000000000000000000000046
+:100AB0000000000000000000000000000000000036
+:100AC0000000000000000000000000000000000026
+:100AD0000000000000000000000000000000000016
+:100AE0000000000000000000000000000000000006
+:100AF00000000000000000000000000000000000F6
+:100B000000000000000000000000000000000000E5
+:100B100000000000000000000000000000000002D3
+:100B200002020202020202020202020202020202A5
+:100B30000202020202020202020202020202020295
+:100B40000202020202020202020202020202020285
+:100B50000202020202020202020202020202020275
+:100B60000202020202020202020202020202020265
+:100B70000202020202020202020202020202020255
+:100B80000202020202020202020202020202020245
+:100B90000202020202020202020202020202020235
+:100BA0000202020202020202020202020202020225
+:100BB0000202020202020202020202020202020215
+:100BC0000202020202020202020202020202020205
+:100BD00002020202020202020202020202020202F5
+:100BE00002020202020202020202020202020202E5
+:100BF00002020202020202020202020202020202D5
+:100C000002020202020202020202020202020202C4
+:100C100002020202020202020202020202020202B4
+:100C200002020202020202020202020202020202A4
+:100C30000202020202020202020202020202020294
+:100C40000202020202020202020202020202020284
+:100C50000202020202020202020202020202020274
+:100C60000202020202020202020202020202020264
+:100C70000202020202020202020202020202020254
+:100C80000202020202020202020202020202020244
+:100C90000202020202020202020202020202020234
+:100CA0000202020202020202020202020202020224
+:100CB0000202020202020202020202020202020214
+:100CC0000202020202020202020202020202020204
+:100CD00002020202020202020202020202020202F4
+:100CE00002020202020202020202020202020202E4
+:100CF00002020202020202020202020202020202D4
+:100D000002020202020202020202020202020202C3
+:100D100002020202020202020202020202020202B3
+:100D200002020202020202020202020202020202A3
+:100D30000202020202020202020202020202020293
+:100D40000202020202020202020202020202020283
+:100D50000202020202020202020202020202020273
+:100D60000202020202020202020202020202020263
+:100D70000202020202020202020202020202020253
+:100D80000202020202020202020202020202020243
+:100D90000202020202020202020202020202020233
+:100DA0000202020202020202020202020202020223
+:100DB0000202020202020202020202020202020213
+:100DC0000202020202020202020202020202020203
+:100DD00002020202020202020202020202020202F3
+:100DE00002020202020202020202020202020202E3
+:100DF00002020202020202020202020202020202D3
+:100E000002020202020202020202020202020202C2
+:100E100002020202020202020202020202020202B2
+:100E200002020202020202020202020202020202A2
+:100E30000202020202020202020202020202020292
+:100E40000202020202020202020202020202020282
+:100E50000202020202020202020202020202020272
+:100E60000202020202020202020202020202020262
+:100E70000202020202020202020202020202020252
+:100E80000202020202020202020202020202020242
+:100E90000202020202020202020202020202020232
+:100EA0000202020202020202020202020202020222
+:100EB0000202020202020202020202020202020212
+:100EC0000202020202020202020202020202020202
+:100ED00002020202020202020202020202020202F2
+:100EE00002020202020202020202020202020202E2
+:100EF00002020202020202020202020202020202D2
+:100F000002020202020202020202020202020202C1
+:100F100002020202020202020202020202020202B1
+:100F200002020202020202020202020202020202A1
+:100F30000202020202020202020202020202020291
+:100F40000202020202020202020202020202020281
+:100F50000202020202020202020202020202020271
+:100F60000202020202020202020202020202020261
+:100F70000202020202020202020202020202020251
+:100F80000202020202020202020202020202020241
+:100F90000202020202020202020202020202020231
+:100FA0000202020202020202020202020202020221
+:100FB0000202020202020202020202020202020211
+:100FC0000202020202020202020202020202020201
+:100FD00002020202020202020202020202020202F1
+:100FE00002020202020202020202020202020202E1
+:100FF00002020202020202020202020202020202D1
+:1010000002020202020202020202020202020202C0
+:1010100002020202020202020202020202020202B0
+:1010200002020202020202020202020202020202A0
+:101030000202020202020202020202020202020290
+:101040000202020202020202020202020202020280
+:101050000202020202020202020202020202020270
+:101060000202020202020202020202020202020260
+:101070000202020202020202020202020202020250
+:101080000202020202020202020202020202020240
+:101090000202020202020202020202020202020230
+:1010A0000202020202020202020202020202020220
+:1010B0000202020202020202020202020202020210
+:1010C0000202020202020202020202020202020200
+:1010D00002020202020202020202020202020202F0
+:1010E00002020202020202020202020202020202E0
+:1010F00002020202020202020202020202020202D0
+:1011000002020202020202020202020202020202BF
+:1011100002020202020202020202020202020202AF
+:10112000020202020202020202020202020202029F
+:10113000020202020202020202020202020202028F
+:10114000020202020202020202020202020202027F
+:10115000020202020202020202020202020202026F
+:10116000020202020202020202020202020202025F
+:10117000020202020202020202020202020202024F
+:10118000020202020202020202020202020202023F
+:10119000020202020202020202020202020202022F
+:1011A000020202020202020202020202020202021F
+:1011B000020202020202020202020202020202020F
+:1011C00002020202020202020202020202020202FF
+:1011D00002020202020202020202020202020202EF
+:1011E00002020202020202020202020202020202DF
+:1011F00002020202020202020202020202020202CF
+:1012000002020202020202020202020202020202BE
+:1012100002020202020202020202020202020202AE
+:10122000020202020202020202020202020202029E
+:10123000020202020202020202020202020202028E
+:10124000020202020202020202020202020202027E
+:10125000020202020202020202020202020202026E
+:10126000020202020202020202020202020202025E
+:10127000020202020202020202020202020202024E
+:10128000020202020202020202020202020202023E
+:10129000020202020202020202020202020202022E
+:1012A000020202020202020202020202020202021E
+:1012B000020202020202020202020202020202020E
+:1012C00002020202020202020202020202020202FE
+:1012D00002020202020202020202020202020202EE
+:1012E00002020202020202020202020202020202DE
+:1012F00002020202020202020202020202020202CE
+:1013000002020202020202020202020202020202BD
+:1013100002020202020202020202020202020202AD
+:10132000020202020202020202020202020202029D
+:10133000020202020202020202020202020202028D
+:10134000020202020202020202020202020202027D
+:10135000020202020202020202020202020202026D
+:10136000020202020202020202020202020202025D
+:10137000020202020202020202020202020202024D
+:10138000020202020202020202020202020202023D
+:10139000020202020202020202020202020202022D
+:1013A000020202020202020202020202020202021D
+:1013B000020202020202020202020202020202020D
+:1013C00002020202020202020202020202020202FD
+:1013D00002020202020202020202020202020202ED
+:1013E00002020202020202020202020202020202DD
+:1013F00002020202020202020202020202020202CD
+:1014000002020202020202020202020202020202BC
+:1014100002020202020202020202020202020202AC
+:10142000020202020202020202020202020202029C
+:10143000020202020202020202020202020202028C
+:10144000020202020202020202020202020202027C
+:10145000020202020202020202020202020202026C
+:10146000020202020202020202020202020202025C
+:10147000020202020202020202020202020202024C
+:10148000020202020202020202020202020202023C
+:10149000020202020202020202020202020202022C
+:1014A000020202020202020202020202020202021C
+:1014B000020202020202020202020202020202020C
+:1014C00002020202020202020202020202020202FC
+:1014D00002020202020202020202020202020202EC
+:1014E00002020202020202020202020202020202DC
+:1014F00002020202020202020202020202020202CC
+:1015000002020202020202020202020202020202BB
+:1015100002020202020202020202020202020202AB
+:10152000020202020202020202020202020202029B
+:10153000020202020202020202020202020202028B
+:10154000020202020202020202020202020202027B
+:10155000020202020202020202020202020202026B
+:10156000020202020202020202020202020202025B
+:10157000020202020202020202020202020202024B
+:10158000020202020202020202020202020202023B
+:10159000020202020202020202020202020202022B
+:1015A000020202020202020202020202020202021B
+:1015B000020202020202020202020202020202020B
+:1015C00002020202020202020202020202020202FB
+:1015D00002020202020202020202020202020202EB
+:1015E00002020202020202020202020202020202DB
+:1015F00002020202020202020202020202020202CB
+:1016000002020202020202020202020202020202BA
+:1016100002020202020202020202020202020202AA
+:10162000020202020202020202020202020202029A
+:10163000020202020202020202020202020202028A
+:10164000020202020202020202020202020202027A
+:10165000020202020202020202020202020202026A
+:10166000020202020202020202020202020202025A
+:10167000020202020202020202020202020202024A
+:10168000020202020202020202020202020202023A
+:10169000020202020202020202020202020202022A
+:1016A000020202020202020202020202020202021A
+:1016B000020202020202020202020202020202020A
+:1016C00002020202020202020202020202020202FA
+:1016D00002020202020202020202020202020202EA
+:1016E00002020202020202020202020202020202DA
+:1016F00002020202020202020202020202020202CA
+:1017000002020202020202020202020202020202B9
+:1017100002020202020202020202020202020202A9
+:101720000202020202020202020202020202020299
+:101730000202020202020202020202020202020289
+:101740000202020202020202020202020202020279
+:101750000202020202020202020202020202020269
+:101760000202020202020202020202020202020259
+:101770000202020202020202020202020202020249
+:101780000202020202020202020202020202020239
+:101790000202020202020202020202020202020229
+:1017A0000202020202020202020202020202020219
+:1017B0000202020202020202020202020202020209
+:1017C00002020202020202020202020202020202F9
+:1017D00002020202020202020202020202020202E9
+:1017E00002020202020202020202020202020202D9
+:1017F00002020202020202020202020202020202C9
+:1018000002020202020202020202020202020202B8
+:1018100002020202020202020202020202020202A8
+:101820000202020202020202020202020202020298
+:101830000202020202020202020202020202020288
+:101840000202020202020202020202020202020278
+:101850000202020202020202020202020202020268
+:101860000202020202020202020202020202020258
+:101870000202020202020202020202020202020248
+:101880000202020202020202020202020202020238
+:101890000202020202020202020202020202020228
+:1018A0000202020202020202020202020202020218
+:1018B0000202020202020202020202020202020208
+:1018C00002020202020202020202020202020202F8
+:1018D00002020202020202020202020202020202E8
+:1018E00002020202020202020202020202020202D8
+:1018F00002020202020202020202020202020202C8
+:1019000002020202020202020202020202020202B7
+:1019100002020202020202020202020202020200A9
+:1019200000000000000000000000000000000000B7
+:1019300000000000000000000000000000000000A7
+:101940000000000000000000000000000000000097
+:101950000000000000000000000000000000000087
+:101960000000000000000000000000000000000077
+:101970000000000000000000000000000000000067
+:101980000000000000000000000000000000000057
+:101990000000000000000000000000000000000047
+:1019A0000000000000000000000000000000000037
+:1019B0000000000000000000000000000000000027
+:1019C0000000000000000000000000000000000017
+:1019D0000000000000000000000000000000000007
+:1019E00000000000000000000000000000000000F7
+:1019F00000000000000000000000000000000000E7
+:101A000000000000000000000000000000000000D6
+:101A100000000000000000000000000000000000C6
+:101A200000000000000000000000000000000000B6
+:101A300000000000000000000000000000000000A6
+:101A40000000000000000000000000000000000096
+:101A50000000000000000000000000000000000086
+:101A60000000000000000000000000000000000076
+:101A70000000000000000000000000000000000066
+:101A80000000000000000000000000000000000056
+:101A90000000000000000000000000000000000046
+:101AA0000000000000000000000000000000000036
+:101AB0000000000000000000000000000000000026
+:101AC0000000000000000000000000000000000016
+:101AD0000000000000000000000000000000000006
+:101AE00000000000000000000000000000000000F6
+:101AF00000000000000000000000000000000000E6
+:101B000000000000000000000000000000000000D5
+:101B100000000000000000000000000000000000C5
+:101B200000000000000000000000000000000000B5
+:101B300000000000000000000000000000000000A5
+:101B40000000000000000000000000000000000095
+:101B50000000000000000000000000000000000085
+:101B60000000000000000000000000000000000075
+:101B70000000000000000000000000000000000065
+:101B80000000000000000000000000000000000055
+:101B90000000000000000000000000000000000045
+:101BA0000000000000000000000000000000000035
+:101BB0000000000000000000000000000000000025
+:101BC0000000000000000000000000000000000015
+:101BD0000000000000000000000000000000000005
+:101BE00000000000000000000000000000000000F5
+:101BF00000000000000000000000000000000000E5
+:101C000000000000000000000000000000000000D4
+:101C100000000000000000000000000000000000C4
+:101C200000000000000000000000000000000000B4
+:101C300000000000000000000000000000000000A4
+:101C40000000000000000000000000000000000094
+:101C50000000000000000000000000000000000084
+:101C60000000000000000000000000000000000074
+:101C70000000000000000000000000000000000064
+:101C80000000000000000000000000000000000054
+:101C90000000000000000000000000000000000044
+:101CA0000000000000000000000000000000000034
+:101CB0000000000000000000000000000000000024
+:101CC0000000000000000000000000000000000014
+:101CD0000000000000000000000000000000000004
+:101CE00000000000000000000000000000000000F4
+:101CF00000000000000000000000000000000000E4
+:101D000000000000000000000000000000000000D3
+:101D100000000000000000000000000000000000C3
+:101D200000000000000000000000000000000000B3
+:101D300000000000000000000000000000000000A3
+:101D40000000000000000000000000000000000093
+:101D50000000000000000000000000000000000083
+:101D60000000000000000000000000000000000073
+:101D70000000000000000000000000000000000063
+:101D80000000000000000000000000000000000053
+:101D90000000000000000000000000000000000043
+:101DA0000000000000000000000000000000000033
+:101DB0000000000000000000000000000000000023
+:101DC0000000000000000000000000000000000013
+:101DD0000000000000000000000000000000000003
+:101DE00000000000000000000000000000000000F3
+:101DF00000000000000000000000000000000000E3
+:101E000000000000000000000000000000000000D2
+:101E100000000000000000000000000000000000C2
+:101E200000000000000000000000000000000000B2
+:101E300000000000000000000000000000000000A2
+:101E40000000000000000000000000000000000092
+:101E50000000000000000000000000000000000082
+:101E60000000000000000000000000000000000072
+:101E70000000000000000000000000000000000062
+:101E80000000000000000000000000000000000052
+:101E90000000000000000000000000000000000042
+:101EA0000000000000000000000000000000000032
+:101EB0000000000000000000000000000000000022
+:101EC0000000000000000000000000000000000012
+:101ED0000000000000000000000000000000000002
+:101EE00000000000000000000000000000000000F2
+:101EF00000000000000000000000000000000000E2
+:101F000000000000000000000000000000000000D1
+:101F1000000000000000000000000000000000457C
+:101F200000000000000000010101010101010101A8
+:101F30000101010101010101010101010101010191
+:101F40000101010101010101010101010101010181
+:101F50000101010101010101010101010101010171
+:101F60000101010101010101010101010101010161
+:101F70000101010101010101010101010101010151
+:101F80000101010101010101010101010101010141
+:101F90000101010101010101010101010101010131
+:101FA0000101010101010101010101010101010121
+:101FB0000101010101010101010101010101010111
+:101FC0000101010101010101010101010101010101
+:101FD00001010101010101010101010101010101F1
+:101FE00001010101010101010101010101010101E1
+:101FF00001010101010101010101010101010101D1
+:1020000001010101010101010101010101010101C0
+:1020100001010101010101010101010101010101B0
+:1020200001010101010101010101010101010101A0
+:102030000101010101010101010101010101010190
+:102040000101010101010101010101010101010180
+:102050000101010101010101010101010101010170
+:102060000101010101010101010101010101010160
+:102070000101010101010101010101010101010150
+:102080000101010101010101010101010101010140
+:102090000101010101010101010101010101010130
+:1020A0000101010101010101010101010101010120
+:1020B0000101010101010101010101010101010110
+:1020C0000101010101010101010101010101010100
+:1020D00001010101010101010101010101010101F0
+:1020E00001010101010101010101010101010101E0
+:1020F00001010101010101010101010101010101D0
+:1021000001010101010101010101010101010101BF
+:1021100001010101010101010101010101010101AF
+:10212000010101010101010101010101010101019F
+:10213000010101010101010101010101010101018F
+:10214000010101010101010101010101010101017F
+:10215000010101010101010101010101010101016F
+:10216000010101010101010101010101010101015F
+:10217000010101010101010101010101010101014F
+:10218000010101010101010101010101010101013F
+:10219000010101010101010101010101010101012F
+:1021A000010101010101010101010101010101011F
+:1021B000010101010101010101010101010101010F
+:1021C00001010101010101010101010101010101FF
+:1021D00001010101010101010101010101010101EF
+:1021E00001010101010101010101010101010101DF
+:1021F00001010101010101010101010101010101CF
+:1022000001010101010101010101010101010101BE
+:1022100001010101010101010101010101010101AE
+:10222000010101010101010101010101010101019E
+:10223000010101010101010101010101010101018E
+:10224000010101010101010101010101010101017E
+:10225000010101010101010101010101010101016E
+:10226000010101010101010101010101010101015E
+:10227000010101010101010101010101010101014E
+:10228000010101010101010101010101010101013E
+:10229000010101010101010101010101010101012E
+:1022A000010101010101010101010101010101011E
+:1022B000010101010101010101010101010101010E
+:1022C00001010101010101010101010101010101FE
+:1022D00001010101010101010101010101010101EE
+:1022E00001010101010101010101010101010101DE
+:1022F00001010101010101010101010101010101CE
+:1023000001010101010101010101010101010101BD
+:1023100001010101010101010101010101010101AD
+:10232000010101010101010101010101010101019D
+:10233000010101010101010101010101010101018D
+:10234000010101010101010101010101010101017D
+:10235000010101010101010101010101010101016D
+:10236000010101010101010101010101010101015D
+:10237000010101010101010101010101010101014D
+:10238000010101010101010101010101010101013D
+:10239000010101010101010101010101010101012D
+:1023A000010101010101010101010101010101011D
+:1023B000010101010101010101010101010101010D
+:1023C00001010101010101010101010101010101FD
+:1023D00001010101010101010101010101010101ED
+:1023E00001010101010101010101010101010101DD
+:1023F00001010101010101010101010101010101CD
+:1024000001010101010101010101010101010101BC
+:1024100001010101010101010101010101010101AC
+:10242000010101010101010101010101010101019C
+:10243000010101010101010101010101010101018C
+:10244000010101010101010101010101010101017C
+:10245000010101010101010101010101010101016C
+:10246000010101010101010101010101010101015C
+:10247000010101010101010101010101010101014C
+:10248000010101010101010101010101010101013C
+:10249000010101010101010101010101010101012C
+:1024A000010101010101010101010101010101011C
+:1024B000010101010101010101010101010101010C
+:1024C00001010101010101010101010101010101FC
+:1024D00001010101010101010101010101010101EC
+:1024E00001010101010101010101010101010101DC
+:1024F00001010101010101010101010101010101CC
+:1025000001010101010101010101010101010101BB
+:1025100001010101010101010101010101010101AB
+:10252000010101010101010101010101010101019B
+:10253000010101010101010101010101010101018B
+:10254000010101010101010101010101010101017B
+:10255000010101010101010101010101010101016B
+:10256000010101010101010101010101010101015B
+:10257000010101010101010101010101010101014B
+:10258000010101010101010101010101010101013B
+:10259000010101010101010101010101010101012B
+:1025A000010101010101010101010101010101011B
+:1025B000010101010101010101010101010101010B
+:1025C00001010101010101010101010101010101FB
+:1025D00001010101010101010101010101010101EB
+:1025E00001010101010101010101010101010101DB
+:1025F00001010101010101010101010101010101CB
+:1026000001010101010101010101010101010101BA
+:1026100001010101010101010101010101010101AA
+:10262000010101010101010101010101010101019A
+:10263000010101010101010101010101010101018A
+:10264000010101010101010101010101010101017A
+:10265000010101010101010101010101010101016A
+:10266000010101010101010101010101010101015A
+:10267000010101010101010101010101010101014A
+:10268000010101010101010101010101010101013A
+:10269000010101010101010101010101010101012A
+:1026A000010101010101010101010101010101011A
+:1026B000010101010101010101010101010101010A
+:1026C00001010101010101010101010101010101FA
+:1026D00001010101010101010101010101010101EA
+:1026E00001010101010101010101010101010101DA
+:1026F00001010101010101010101010101010101CA
+:1027000001010101010101010101010101010101B9
+:1027100001010101010101010101010101010101A9
+:102720000101010101010101010101010101010199
+:102730000101010101010101010101010101010189
+:102740000101010101010101010101010101010179
+:102750000101010101010101010101010101010169
+:102760000101010101010101010101010101010159
+:102770000101010101010101010101010101010149
+:102780000101010101010101010101010101010139
+:102790000101010101010101010101010101010129
+:1027A0000101010101010101010101010101010119
+:1027B0000101010101010101010101010101010109
+:1027C00001010101010101010101010101010101F9
+:1027D00001010101010101010101010101010101E9
+:1027E00001010101010101010101010101010101D9
+:1027F00001010101010101010101010101010101C9
+:1028000001010101010101010101010101010101B8
+:1028100001010101010101010101010101010101A8
+:102820000101010101010101010101010101010198
+:102830000101010101010101010101010101010188
+:102840000101010101010101010101010101010178
+:102850000101010101010101010101010101010168
+:102860000101010101010101010101010101010158
+:102870000101010101010101010101010101010148
+:102880000101010101010101010101010101010138
+:102890000101010101010101010101010101010128
+:1028A0000101010101010101010101010101010118
+:1028B0000101010101010101010101010101010108
+:1028C00001010101010101010101010101010101F8
+:1028D00001010101010101010101010101010101E8
+:1028E00001010101010101010101010101010101D8
+:1028F00001010101010101010101010101010101C8
+:1029000001010101010101010101010101010101B7
+:1029100001010101010101010101010101010101A7
+:1029200001010101010101000000000000000000A0
+:102930000000000000000000000000000000000097
+:102940000000000000000000000000000000000087
+:102950000000000000000000000000000000000077
+:102960000000000000000000000000000000000067
+:102970000000000000000000000000000000000057
+:102980000000000000000000000000000000000047
+:102990000000000000000000000000000000000037
+:1029A0000000000000000000000000000000000027
+:1029B0000000000000000000000000000000000017
+:1029C0000000000000000000000000000000000007
+:1029D00000000000000000000000000000000000F7
+:1029E00000000000000000000000000000000000E7
+:1029F00000000000000000000000000000000000D7
+:102A000000000000000000000000000000000000C6
+:102A100000000000000000000000000000000000B6
+:102A200000000000000000000000000000000000A6
+:102A30000000000000000000000000000000000096
+:102A40000000000000000000000000000000000086
+:102A50000000000000000000000000000000000076
+:102A60000000000000000000000000000000000066
+:102A70000000000000000000000000000000000056
+:102A80000000000000000000000000000000000046
+:102A90000000000000000000000000000000000036
+:102AA0000000000000000000000000000000000026
+:102AB0000000000000000000000000000000000016
+:102AC0000000000000000000000000000000000006
+:102AD00000000000000000000000000000000000F6
+:102AE00000000000000000000000000000000000E6
+:102AF00000000000000000000000000000000000D6
+:102B000000000000000000000000000000000000C5
+:102B100000000000000000000000000000000000B5
+:102B200000000000000000000000000000000000A5
+:102B30000000000000000000000000000000000095
+:102B40000000000000000000000000000000000085
+:102B50000000000000000000000000000000000075
+:102B60000000000000000000000000000000000065
+:102B70000000000000000000000000000000000055
+:102B80000000000000000000000000000000000045
+:102B90000000000000000000000000000000000035
+:102BA0000000000000000000000000000000000025
+:102BB0000000000000000000000000000000000015
+:102BC0000000000000000000000000000000000005
+:102BD00000000000000000000000000000000000F5
+:102BE00000000000000000000000000000000000E5
+:102BF00000000000000000000000000000000000D5
+:102C000000000000000000000000000000000000C4
+:102C100000000000000000000000000000000000B4
+:102C200000000000000000000000000000000000A4
+:102C30000000000000000000000000000000000094
+:102C40000000000000000000000000000000000084
+:102C50000000000000000000000000000000000074
+:102C60000000000000000000000000000000000064
+:102C70000000000000000000000000000000000054
+:102C80000000000000000000000000000000000044
+:102C90000000000000000000000000000000000034
+:102CA0000000000000000000000000000000000024
+:102CB0000000000000000000000000000000000014
+:102CC0000000000000000000000000000000000004
+:102CD00000000000000000000000000000000000F4
+:102CE00000000000000000000000000000000000E4
+:102CF00000000000000000000000000000000000D4
+:102D000000000000000000000000000000000000C3
+:102D100000000000000000000000000000000000B3
+:102D200000000000000000000000000000000000A3
+:102D30000000000000000000000000000000000093
+:102D40000000000000000000000000000000000083
+:102D50000000000000000000000000000000000073
+:102D60000000000000000000000000000000000063
+:102D70000000000000000000000000000000000053
+:102D80000000000000000000000000000000000043
+:102D90000000000000000000000000000000000033
+:102DA0000000000000000000000000000000000023
+:102DB0000000000000000000000000000000000013
+:102DC0000000000000000000000000000000000003
+:102DD00000000000000000000000000000000000F3
+:102DE00000000000000000000000000000000000E3
+:102DF00000000000000000000000000000000000D3
+:102E000000000000000000000000000000000000C2
+:102E100000000000000000000000000000000000B2
+:102E200000000000000000000000000000000000A2
+:102E30000000000000000000000000000000000092
+:102E40000000000000000000000000000000000082
+:102E50000000000000000000000000000000000072
+:102E60000000000000000000000000000000000062
+:102E70000000000000000000000000000000000052
+:102E80000000000000000000000000000000000042
+:102E90000000000000000000000000000000000032
+:102EA0000000000000000000000000000000000022
+:102EB0000000000000000000000000000000000012
+:102EC0000000000000000000000000000000000002
+:102ED00000000000000000000000000000000000F2
+:102EE00000000000000000000000000000000000E2
+:102EF00000000000000000000000000000000000D2
+:102F000000000000000000000000000000000000C1
+:102F100000000000000000000000000000000000B1
+:102F200000000000000000000000000000000000A1
+:102F30000000000000000000000000000000000091
+:102F40000000000000000000000000000000000081
+:102F50000000000000000000000000000000000071
+:102F60000000000000000000000000000000000061
+:102F70000000000000000000000000000000000051
+:102F80000000000000000000000000000000000041
+:102F90000000000000000000000000000000000031
+:102FA0000000000000000000000000000000000021
+:102FB0000000000000000000000000000000000011
+:102FC0000000000000000000000000000000000001
+:102FD00000000000000000000000000000000000F1
+:102FE00000000000000000000000000000000000E1
+:102FF00000000000000000000000000000000000D1
+:1030000000000000000000000000000000000000C0
+:1030100000000000000000000000000000000000B0
+:10302000000000000000000202020202020202028E
+:103030000202020202020202020202020202020270
+:103040000202020202020202020202020202020260
+:103050000202020202020202020202020202020250
+:103060000202020202020202020202020202020240
+:103070000202020202020202020202020202020230
+:103080000202020202020202020202020202020220
+:103090000202020202020202020202020202020210
+:1030A0000202020202020202020202020202020200
+:1030B00002020202020202020202020202020202F0
+:1030C00002020202020202020202020202020202E0
+:1030D00002020202020202020202020202020202D0
+:1030E00002020202020202020202020202020202C0
+:1030F00002020202020202020202020202020202B0
+:10310000020202020202020202020202020202029F
+:10311000020202020202020202020202020202028F
+:10312000020202020202020202020202020202027F
+:10313000020202020202020202020202020202026F
+:10314000020202020202020202020202020202025F
+:10315000020202020202020202020202020202024F
+:10316000020202020202020202020202020202023F
+:10317000020202020202020202020202020202022F
+:10318000020202020202020202020202020202021F
+:10319000020202020202020202020202020202020F
+:1031A00002020202020202020202020202020202FF
+:1031B00002020202020202020202020202020202EF
+:1031C00002020202020202020202020202020202DF
+:1031D00002020202020202020202020202020202CF
+:1031E00002020202020202020202020202020202BF
+:1031F00002020202020202020202020202020202AF
+:10320000020202020202020202020202020202029E
+:10321000020202020202020202020202020202028E
+:10322000020202020202020202020202020202027E
+:10323000020202020202020202020202020202026E
+:10324000020202020202020202020202020202025E
+:10325000020202020202020202020202020202024E
+:10326000020202020202020202020202020202023E
+:10327000020202020202020202020202020202022E
+:10328000020202020202020202020202020202021E
+:10329000020202020202020202020202020202020E
+:1032A00002020202020202020202020202020202FE
+:1032B00002020202020202020202020202020202EE
+:1032C00002020202020202020202020202020202DE
+:1032D00002020202020202020202020202020202CE
+:1032E00002020202020202020202020202020202BE
+:1032F00002020202020202020202020202020202AE
+:10330000020202020202020202020202020202029D
+:10331000020202020202020202020202020202028D
+:10332000020202020202020202020202020202027D
+:10333000020202020202020202020202020202026D
+:10334000020202020202020202020202020202025D
+:10335000020202020202020202020202020202024D
+:10336000020202020202020202020202020202023D
+:10337000020202020202020202020202020202022D
+:10338000020202020202020202020202020202021D
+:10339000020202020202020202020202020202020D
+:1033A00002020202020202020202020202020202FD
+:1033B00002020202020202020202020202020202ED
+:1033C00002020202020202020202020202020202DD
+:1033D00002020202020202020202020202020202CD
+:1033E00002020202020202020202020202020202BD
+:1033F00002020202020202020202020202020202AD
+:10340000020202020202020202020202020202029C
+:10341000020202020202020202020202020202028C
+:10342000020202020202020202020202020202027C
+:10343000020202020202020202020202020202026C
+:10344000020202020202020202020202020202025C
+:10345000020202020202020202020202020202024C
+:10346000020202020202020202020202020202023C
+:10347000020202020202020202020202020202022C
+:10348000020202020202020202020202020202021C
+:10349000020202020202020202020202020202020C
+:1034A00002020202020202020202020202020202FC
+:1034B00002020202020202020202020202020202EC
+:1034C00002020202020202020202020202020202DC
+:1034D00002020202020202020202020202020202CC
+:1034E00002020202020202020202020202020202BC
+:1034F00002020202020202020202020202020202AC
+:10350000020202020202020202020202020202029B
+:10351000020202020202020202020202020202028B
+:10352000020202020202020202020202020202027B
+:10353000020202020202020202020202020202026B
+:10354000020202020202020202020202020202025B
+:10355000020202020202020202020202020202024B
+:10356000020202020202020202020202020202023B
+:10357000020202020202020202020202020202022B
+:10358000020202020202020202020202020202021B
+:10359000020202020202020202020202020202020B
+:1035A00002020202020202020202020202020202FB
+:1035B00002020202020202020202020202020202EB
+:1035C00002020202020202020202020202020202DB
+:1035D00002020202020202020202020202020202CB
+:1035E00002020202020202020202020202020202BB
+:1035F00002020202020202020202020202020202AB
+:10360000020202020202020202020202020202029A
+:10361000020202020202020202020202020202028A
+:10362000020202020202020202020202020202027A
+:10363000020202020202020202020202020202026A
+:10364000020202020202020202020202020202025A
+:10365000020202020202020202020202020202024A
+:10366000020202020202020202020202020202023A
+:10367000020202020202020202020202020202022A
+:10368000020202020202020202020202020202021A
+:10369000020202020202020202020202020202020A
+:1036A00002020202020202020202020202020202FA
+:1036B00002020202020202020202020202020202EA
+:1036C00002020202020202020202020202020202DA
+:1036D00002020202020202020202020202020202CA
+:1036E00002020202020202020202020202020202BA
+:1036F00002020202020202020202020202020202AA
+:103700000202020202020202020202020202020299
+:103710000202020202020202020202020202020289
+:103720000202020202020202020202020202020279
+:103730000202020202020202020202020202020269
+:103740000202020202020202020202020202020259
+:103750000202020202020202020202020202020249
+:103760000202020202020202020202020202020239
+:103770000202020202020202020202020202020229
+:103780000202020202020202020202020202020219
+:103790000202020202020202020202020202020209
+:1037A00002020202020202020202020202020202F9
+:1037B00002020202020202020202020202020202E9
+:1037C00002020202020202020202020202020202D9
+:1037D00002020202020202020202020202020202C9
+:1037E00002020202020202020202020202020202B9
+:1037F00002020202020202020202020202020202A9
+:103800000202020202020202020202020202020298
+:103810000202020202020202020202020202020288
+:103820000202020202020202020202020202020278
+:103830000202020202020202020202020202020268
+:103840000202020202020202020202020202020258
+:103850000202020202020202020202020202020248
+:103860000202020202020202020202020202020238
+:103870000202020202020202020202020202020228
+:103880000202020202020202020202020202020218
+:103890000202020202020202020202020202020208
+:1038A00002020202020202020202020202020202F8
+:1038B00002020202020202020202020202020202E8
+:1038C00002020202020202020202020202020202D8
+:1038D00002020202020202020202020202020202C8
+:1038E00002020202020202020202020202020202B8
+:1038F00002020202020202020202020202020202A8
+:103900000202020202020202020202020202020297
+:103910000202020202020202020202020202020287
+:103920000202020202020202020202020202020277
+:103930000202020202020202020202020202020267
+:103940000202020202020202020202020202020257
+:103950000202020202020202020202020202020247
+:103960000202020202020202020202020202020237
+:103970000202020202020202020202020202020227
+:103980000202020202020202020202020202020217
+:103990000202020202020202020202020202020207
+:1039A00002020202020202020202020202020202F7
+:1039B00002020202020202020202020202020202E7
+:1039C00002020202020202020202020202020202D7
+:1039D00002020202020202020202020202020202C7
+:1039E00002020202020202020202020202020202B7
+:1039F00002020202020202020202020202020202A7
+:103A00000202020202020202020202020202020296
+:103A10000202020202020202020202020202020286
+:103A20000202020202020200000000000000000088
+:103A30000000000000000000000000000000000086
+:103A40000000000000000000000000000000000076
+:103A50000000000000000000000000000000000066
+:103A60000000000000000000000000000000000056
+:103A70000000000000000000000000000000000046
+:103A80000000000000000000000000000000000036
+:103A90000000000000000000000000000000000026
+:103AA0000000000000000000000000000000000016
+:103AB0000000000000000000000000000000000006
+:103AC00000000000000000000000000000000000F6
+:103AD00000000000000000000000000000000000E6
+:103AE00000000000000000000000000000000000D6
+:103AF00000000000000000000000000000000000C6
+:103B000000000000000000000000000000000000B5
+:103B100000000000000000000000000000000000A5
+:103B20000000000000000000000000000000000095
+:103B30000000000000000000000000000000000085
+:103B40000000000000000000000000000000000075
+:103B50000000000000000000000000000000000065
+:103B60000000000000000000000000000000000055
+:103B70000000000000000000000000000000000045
+:103B80000000000000000000000000000000000035
+:103B90000000000000000000000000000000000025
+:103BA0000000000000000000000000000000000015
+:103BB0000000000000000000000000000000000005
+:103BC00000000000000000000000000000000000F5
+:103BD00000000000000000000000000000000000E5
+:103BE00000000000000000000000000000000000D5
+:103BF00000000000000000000000000000000000C5
+:103C000000000000000000000000000000000000B4
+:103C100000000000000000000000000000000000A4
+:103C20000000000000000000000000000000000094
+:103C30000000000000000000000000000000000084
+:103C40000000000000000000000000000000000074
+:103C50000000000000000000000000000000000064
+:103C60000000000000000000000000000000000054
+:103C70000000000000000000000000000000000044
+:103C80000000000000000000000000000000000034
+:103C90000000000000000000000000000000000024
+:103CA0000000000000000000000000000000000014
+:103CB0000000000000000000000000000000000004
+:103CC00000000000000000000000000000000000F4
+:103CD00000000000000000000000000000000000E4
+:103CE00000000000000000000000000000000000D4
+:103CF00000000000000000000000000000000000C4
+:103D000000000000000000000000000000000000B3
+:103D100000000000000000000000000000000000A3
+:103D20000000000000000000000000000000000093
+:103D30000000000000000000000000000000000083
+:103D40000000000000000000000000000000000073
+:103D50000000000000000000000000000000000063
+:103D60000000000000000000000000000000000053
+:103D70000000000000000000000000000000000043
+:103D80000000000000000000000000000000000033
+:103D90000000000000000000000000000000000023
+:103DA0000000000000000000000000000000000013
+:103DB0000000000000000000000000000000000003
+:103DC00000000000000000000000000000000000F3
+:103DD00000000000000000000000000000000000E3
+:103DE00000000000000000000000000000000000D3
+:103DF00000000000000000000000000000000000C3
+:103E000000000000000000000000000000000000B2
+:103E100000000000000000000000000000000000A2
+:103E20000000000000000000000000000000000092
+:103E30000000000000000000000000000000000082
+:103E40000000000000000000000000000000000072
+:103E50000000000000000000000000000000000062
+:103E60000000000000000000000000000000000052
+:103E70000000000000000000000000000000000042
+:103E80000000000000000000000000000000000032
+:103E90000000000000000000000000000000000022
+:103EA0000000000000000000000000000000000012
+:103EB0000000000000000000000000000000000002
+:103EC00000000000000000000000000000000000F2
+:103ED00000000000000000000000000000000000E2
+:103EE00000000000000000000000000000000000D2
+:103EF00000000000000000000000000000000000C2
+:103F000000000000000000000000000000000000B1
+:103F100000000000000000000000000000000000A1
+:103F20000000000000000000000000000000000091
+:103F30000000000000000000000000000000000081
+:103F40000000000000000000000000000000000071
+:103F50000000000000000000000000000000000061
+:103F60000000000000000000000000000000000051
+:103F70000000000000000000000000000000000041
+:103F80000000000000000000000000000000000031
+:103F90000000000000000000000000000000000021
+:103FA0000000000000000000000000000000000011
+:103FB0000000000000000000000000000000000001
+:103FC00000000000000000000000000000000000F1
+:103FD00000000000000000000000000000000000E1
+:103FE00000000000000000000000000000000000D1
+:103FF00000000000000000000000000000000000C1
+:1040000000000000000000000000000000000000B0
+:1040100000000000000000000000000000000000A0
+:104020000000000000000000000000000000000090
+:104030000000000000000000000000000000000080
+:104040000000000000000000000000000000000070
+:104050000000000000000000000000000000000060
+:104060000000000000000000000000000000000050
+:104070000000000000000000000000000000000040
+:104080000000000000000000000000000000000030
+:104090000000000000000000000000000000000020
+:1040A0000000000000000000000000000000000010
+:1040B0000000000000000000000000000000000000
+:1040C00000000000000000000000000000000000F0
+:1040D00000000000000000000000000000000000E0
+:1040E00000000000000000000000000000000000D0
+:1040F00000000000000000000000000000000000C0
+:1041000000000000000000000000000000000000AF
+:10411000000000000000000000000000000000009F
+:10412000000000000000000000000000000000008F
+:10413000000000000000000000000000000000007F
+:10414000000000000000000000000000000000006F
+:10415000000000000000000000000000000000005F
+:10416000000000000000000000000000000000004F
+:10417000000000000000000000000000000000003F
+:10418000000000000000000000000000000000002F
+:10419000000000000000000000000000000000001F
+:1041A000000000000000000000000000000000000F
+:1041B00000000000000000000000000000000000FF
+:1041C00000000000000000000000000000000000EF
+:1041D00000000000000000000000000000000000DF
+:1041E00000000000000000000000000000000000CF
+:1041F00000000000000000000000000000000000BF
+:1042000000000000000000000000000000000000AE
+:10421000000000000000000000000000000000009E
+:10422000000000000000000000000000000000008E
+:10423000000000000000000000000000000000007E
+:10424000000000000000000000000000000000006E
+:10425000000000000000000000000000000000005E
+:10426000000000000000000000000000000000004E
+:10427000000000000000000000000000000000003E
+:10428000000000000000000000000000000000002E
+:10429000000000000000000000000000000000001E
+:1042A000000000000000000000000000000000000E
+:1042B00000000000000000000000000000000000FE
+:1042C00000000000000000000000000000000000EE
+:1042D00000000000000000000000000000000000DE
+:1042E00000000000000000000000000000000000CE
+:1042F00000000000000000000000000000000000BE
+:1043000000000000000000000000000000000000AD
+:10431000000000000000000000000000000000009D
+:104320000000000000000001010101010101010184
+:10433000010101010101010101010101010101016D
+:10434000010101010101010101010101010101015D
+:10435000010101010101010101010101010101014D
+:10436000010101010101010101010101010101013D
+:10437000010101010101010101010101010101012D
+:10438000010101010101010101010101010101011D
+:10439000010101010101010101010101010101010D
+:1043A00001010101010101010101010101010101FD
+:1043B00001010101010101010101010101010101ED
+:1043C00001010101010101010101010101010101DD
+:1043D00001010101010101010101010101010101CD
+:1043E00001010101010101010101010101010101BD
+:1043F00001010101010101010101010101010101AD
+:10440000010101010101010101010101010101019C
+:10441000010101010101010101010101010101018C
+:10442000010101010101010101010101010101017C
+:10443000010101010101010101010101010101016C
+:10444000010101010101010101010101010101015C
+:10445000010101010101010101010101010101014C
+:10446000010101010101010101010101010101013C
+:10447000010101010101010101010101010101012C
+:10448000010101010101010101010101010101011C
+:10449000010101010101010101010101010101010C
+:1044A00001010101010101010101010101010101FC
+:1044B00001010101010101010101010101010101EC
+:1044C00001010101010101010101010101010101DC
+:1044D00001010101010101010101010101010101CC
+:1044E00001010101010101010101010101010101BC
+:1044F00001010101010101010101010101010101AC
+:10450000010101010101010101010101010101019B
+:10451000010101010101010101010101010101018B
+:10452000010101010101010101010101010101017B
+:10453000010101010101010101010101010101016B
+:10454000010101010101010101010101010101015B
+:10455000010101010101010101010101010101014B
+:10456000010101010101010101010101010101013B
+:10457000010101010101010101010101010101012B
+:10458000010101010101010101010101010101011B
+:10459000010101010101010101010101010101010B
+:1045A00001010101010101010101010101010101FB
+:1045B00001010101010101010101010101010101EB
+:1045C00001010101010101010101010101010101DB
+:1045D00001010101010101010101010101010101CB
+:1045E00001010101010101010101010101010101BB
+:1045F00001010101010101010101010101010101AB
+:10460000010101010101010101010101010101019A
+:10461000010101010101010101010101010101018A
+:10462000010101010101010101010101010101017A
+:10463000010101010101010101010101010101016A
+:10464000010101010101010101010101010101015A
+:10465000010101010101010101010101010101014A
+:10466000010101010101010101010101010101013A
+:10467000010101010101010101010101010101012A
+:10468000010101010101010101010101010101011A
+:10469000010101010101010101010101010101010A
+:1046A00001010101010101010101010101010101FA
+:1046B00001010101010101010101010101010101EA
+:1046C00001010101010101010101010101010101DA
+:1046D00001010101010101010101010101010101CA
+:1046E00001010101010101010101010101010101BA
+:1046F00001010101010101010101010101010101AA
+:104700000101010101010101010101010101010199
+:104710000101010101010101010101010101010189
+:104720000101010101010101010101010101010179
+:104730000101010101010101010101010101010169
+:104740000101010101010101010101010101010159
+:104750000101010101010101010101010101010149
+:104760000101010101010101010101010101010139
+:104770000101010101010101010101010101010129
+:104780000101010101010101010101010101010119
+:104790000101010101010101010101010101010109
+:1047A00001010101010101010101010101010101F9
+:1047B00001010101010101010101010101010101E9
+:1047C00001010101010101010101010101010101D9
+:1047D00001010101010101010101010101010101C9
+:1047E00001010101010101010101010101010101B9
+:1047F00001010101010101010101010101010101A9
+:104800000101010101010101010101010101010198
+:104810000101010101010101010101010101010188
+:104820000101010101010101010101010101010178
+:104830000101010101010101010101010101010168
+:104840000101010101010101010101010101010158
+:104850000101010101010101010101010101010148
+:104860000101010101010101010101010101010138
+:104870000101010101010101010101010101010128
+:104880000101010101010101010101010101010118
+:104890000101010101010101010101010101010108
+:1048A00001010101010101010101010101010101F8
+:1048B00001010101010101010101010101010101E8
+:1048C00001010101010101010101010101010101D8
+:1048D00001010101010101010101010101010101C8
+:1048E00001010101010101010101010101010101B8
+:1048F00001010101010101010101010101010101A8
+:104900000101010101010101010101010101010197
+:104910000101010101010101010101010101010187
+:104920000101010101010101010101010101010177
+:104930000101010101010101010101010101010167
+:104940000101010101010101010101010101010157
+:104950000101010101010101010101010101010147
+:104960000101010101010101010101010101010137
+:104970000101010101010101010101010101010127
+:104980000101010101010101010101010101010117
+:104990000101010101010101010101010101010107
+:1049A00001010101010101010101010101010101F7
+:1049B00001010101010101010101010101010101E7
+:1049C00001010101010101010101010101010101D7
+:1049D00001010101010101010101010101010101C7
+:1049E00001010101010101010101010101010101B7
+:1049F00001010101010101010101010101010101A7
+:104A00000101010101010101010101010101010196
+:104A10000101010101010101010101010101010186
+:104A20000101010101010101010101010101010176
+:104A30000101010101010101010101010101010166
+:104A40000101010101010101010101010101010156
+:104A50000101010101010101010101010101010146
+:104A60000101010101010101010101010101010136
+:104A70000101010101010101010101010101010126
+:104A80000101010101010101010101010101010116
+:104A90000101010101010101010101010101010106
+:104AA00001010101010101010101010101010101F6
+:104AB00001010101010101010101010101010101E6
+:104AC00001010101010101010101010101010101D6
+:104AD00001010101010101010101010101010101C6
+:104AE00001010101010101010101010101010101B6
+:104AF00001010101010101010101010101010101A6
+:104B00000101010101010101010101010101010195
+:104B10000101010101010101010101010101010185
+:104B20000101010101010101010101010101010175
+:104B30000101010101010101010101010101010165
+:104B40000101010101010101010101010101010155
+:104B50000101010101010101010101010101010145
+:104B60000101010101010101010101010101010135
+:104B70000101010101010101010101010101010125
+:104B80000101010101010101010101010101010115
+:104B90000101010101010101010101010101010105
+:104BA00001010101010101010101010101010101F5
+:104BB00001010101010101010101010101010101E5
+:104BC00001010101010101010101010101010101D5
+:104BD00001010101010101010101010101010101C5
+:104BE00001010101010101010101010101010101B5
+:104BF00001010101010101010101010101010101A5
+:104C00000101010101010101010101010101010194
+:104C10000101010101010101010101010101010184
+:104C20000101010101010101010101010101010174
+:104C30000101010101010101010101010101010164
+:104C40000101010101010101010101010101010154
+:104C50000101010101010101010101010101010144
+:104C60000101010101010101010101010101010134
+:104C70000101010101010101010101010101010124
+:104C80000101010101010101010101010101010114
+:104C90000101010101010101010101010101010104
+:104CA00001010101010101010101010101010101F4
+:104CB00001010101010101010101010101010101E4
+:104CC00001010101010101010101010101010101D4
+:104CD00001010101010101010101010101010101C4
+:104CE00001010101010101010101010101010101B4
+:104CF00001010101010101010101010101010101A4
+:104D00000101010101010101010101010101010193
+:104D10000101010101010101010101010101010183
+:104D2000010101010101010000000000000000007C
+:104D30000000000000000000000000000000000073
+:104D40000000000000000000000000000000000063
+:104D50000000000000000000000000000000000053
+:104D60000000000000000000000000000000000043
+:104D70000000000000000000000000000000000033
+:104D80000000000000000000000000000000000023
+:104D90000000000000000000000000000000000013
+:104DA0000000000000000000000000000000000003
+:104DB00000000000000000000000000000000000F3
+:104DC00000000000000000000000000000000000E3
+:104DD00000000000000000000000000000000000D3
+:104DE00000000000000000000000000000000000C3
+:104DF00000000000000000000000000000000000B3
+:104E000000000000000000000000000000000000A2
+:104E10000000000000000000000000000000000092
+:104E20000000000000000000000000000000000082
+:104E30000000000000000000000000000000000072
+:104E40000000000000000000000000000000000062
+:104E50000000000000000000000000000000000052
+:104E60000000000000000000000000000000000042
+:104E70000000000000000000000000000000000032
+:104E80000000000000000000000000000000000022
+:104E90000000000000000000000000000000000012
+:104EA0000000000000000000000000000000000002
+:104EB00000000000000000000000000000000000F2
+:104EC00000000000000000000000000000000000E2
+:104ED00000000000000000000000000000000000D2
+:104EE00000000000000000000000000000000000C2
+:104EF00000000000000000000000000000000000B2
+:104F000000000000000000000000000000000000A1
+:104F10000000000000000000000000000000000091
+:104F20000000000000000000000000000000000081
+:104F30000000000000000000000000000000000071
+:104F40000000000000000000000000000000000061
+:104F50000000000000000000000000000000000051
+:104F60000000000000000000000000000000000041
+:104F70000000000000000000000000000000000031
+:104F80000000000000000000000000000000000021
+:104F90000000000000000000000000000000000011
+:104FA0000000000000000000000000000000000001
+:104FB00000000000000000000000000000000000F1
+:104FC00000000000000000000000000000000000E1
+:104FD00000000000000000000000000000000000D1
+:104FE00000000000000000000000000000000000C1
+:104FF00000000000000000000000000000000000B1
+:1050000000000000000000000000000000000000A0
+:105010000000000000000000000000000000000090
+:105020000000000000000000000000000000000080
+:105030000000000000000000000000000000000070
+:105040000000000000000000000000000000000060
+:105050000000000000000000000000000000000050
+:105060000000000000000000000000000000000040
+:105070000000000000000000000000000000000030
+:105080000000000000000000000000000000000020
+:105090000000000000000000000000000000000010
+:1050A0000000000000000000000000000000000000
+:1050B00000000000000000000000000000000000F0
+:1050C00000000000000000000000000000000000E0
+:1050D00000000000000000000000000000000000D0
+:1050E00000000000000000000000000000000000C0
+:1050F00000000000000000000000000000000000B0
+:10510000000000000000000000000000000000009F
+:10511000000000000000000000000000000000008F
+:10512000000000000000000000000000000000007F
+:10513000000000000000000000000000000000006F
+:10514000000000000000000000000000000000005F
+:10515000000000000000000000000000000000004F
+:10516000000000000000000000000000000000003F
+:10517000000000000000000000000000000000002F
+:10518000000000000000000000000000000000001F
+:10519000000000000000000000000000000000000F
+:1051A00000000000000000000000000000000000FF
+:1051B00000000000000000000000000000000000EF
+:1051C00000000000000000000000000000000000DF
+:1051D00000000000000000000000000000000000CF
+:1051E00000000000000000000000000000000000BF
+:1051F00000000000000000000000000000000000AF
+:10520000000000000000000000000000000000009E
+:10521000000000000000000000000000000000008E
+:10522000000000000000000000000000000000007E
+:10523000000000000000000000000000000000006E
+:10524000000000000000000000000000000000005E
+:10525000000000000000000000000000000000004E
+:10526000000000000000000000000000000000003E
+:10527000000000000000000000000000000000002E
+:10528000000000000000000000000000000000001E
+:10529000000000000000000000000000000000000E
+:1052A00000000000000000000000000000000000FE
+:1052B00000000000000000000000000000000000EE
+:1052C00000000000000000000000000000000000DE
+:1052D00000000000000000000000000000000000CE
+:1052E00000000000000000000000000000000000BE
+:1052F00000000000000000000000000000000000AE
+:10530000000000000000000000000000000000009D
+:10531000000000000000000000000000000000008D
+:10532000000000000000000000000000000000007D
+:10533000000000000000000000000000000000006D
+:10534000000000000000000000000000000000005D
+:10535000000000000000000000000000000000004D
+:10536000000000000000000000000000000000003D
+:10537000000000000000000000000000000000002D
+:10538000000000000000000000000000000000001D
+:10539000000000000000000000000000000000000D
+:1053A00000000000000000000000000000000000FD
+:1053B00000000000000000000000000000000000ED
+:1053C00000000000000000000000000000000000DD
+:1053D00000000000000000000000000000000000CD
+:1053E00000000000000000000000000000000000BD
+:1053F00000000000000000000000000000000000AD
+:10540000000000000000000000000000000000009C
+:10541000000000000000000000000000000000008C
+:10542000000000000000000202020202020202026A
+:10543000020202020202020202020202020202024C
+:10544000020202020202020202020202020202023C
+:10545000020202020202020202020202020202022C
+:10546000020202020202020202020202020202021C
+:10547000020202020202020202020202020202020C
+:1054800002020202020202020202020202020202FC
+:1054900002020202020202020202020202020202EC
+:1054A00002020202020202020202020202020202DC
+:1054B00002020202020202020202020202020202CC
+:1054C00002020202020202020202020202020202BC
+:1054D00002020202020202020202020202020202AC
+:1054E000020202020202020202020202020202029C
+:1054F000020202020202020202020202020202028C
+:10550000020202020202020202020202020202027B
+:10551000020202020202020202020202020202026B
+:10552000020202020202020202020202020202025B
+:10553000020202020202020202020202020202024B
+:10554000020202020202020202020202020202023B
+:10555000020202020202020202020202020202022B
+:10556000020202020202020202020202020202021B
+:10557000020202020202020202020202020202020B
+:1055800002020202020202020202020202020202FB
+:1055900002020202020202020202020202020202EB
+:1055A00002020202020202020202020202020202DB
+:1055B00002020202020202020202020202020202CB
+:1055C00002020202020202020202020202020202BB
+:1055D00002020202020202020202020202020202AB
+:1055E000020202020202020202020202020202029B
+:1055F000020202020202020202020202020202028B
+:10560000020202020202020202020202020202027A
+:10561000020202020202020202020202020202026A
+:10562000020202020202020202020202020202025A
+:10563000020202020202020202020202020202024A
+:10564000020202020202020202020202020202023A
+:10565000020202020202020202020202020202022A
+:10566000020202020202020202020202020202021A
+:10567000020202020202020202020202020202020A
+:1056800002020202020202020202020202020202FA
+:1056900002020202020202020202020202020202EA
+:1056A00002020202020202020202020202020202DA
+:1056B00002020202020202020202020202020202CA
+:1056C00002020202020202020202020202020202BA
+:1056D00002020202020202020202020202020202AA
+:1056E000020202020202020202020202020202029A
+:1056F000020202020202020202020202020202028A
+:105700000202020202020202020202020202020279
+:105710000202020202020202020202020202020269
+:105720000202020202020202020202020202020259
+:105730000202020202020202020202020202020249
+:105740000202020202020202020202020202020239
+:105750000202020202020202020202020202020229
+:105760000202020202020202020202020202020219
+:105770000202020202020202020202020202020209
+:1057800002020202020202020202020202020202F9
+:1057900002020202020202020202020202020202E9
+:1057A00002020202020202020202020202020202D9
+:1057B00002020202020202020202020202020202C9
+:1057C00002020202020202020202020202020202B9
+:1057D00002020202020202020202020202020202A9
+:1057E0000202020202020202020202020202020299
+:1057F0000202020202020202020202020202020289
+:105800000202020202020202020202020202020278
+:105810000202020202020202020202020202020268
+:105820000202020202020202020202020202020258
+:105830000202020202020202020202020202020248
+:105840000202020202020202020202020202020238
+:105850000202020202020202020202020202020228
+:105860000202020202020202020202020202020218
+:105870000202020202020202020202020202020208
+:1058800002020202020202020202020202020202F8
+:1058900002020202020202020202020202020202E8
+:1058A00002020202020202020202020202020202D8
+:1058B00002020202020202020202020202020202C8
+:1058C00002020202020202020202020202020202B8
+:1058D00002020202020202020202020202020202A8
+:1058E0000202020202020202020202020202020298
+:1058F0000202020202020202020202020202020288
+:105900000202020202020202020202020202020277
+:105910000202020202020202020202020202020267
+:105920000202020202020202020202020202020257
+:105930000202020202020202020202020202020247
+:105940000202020202020202020202020202020237
+:105950000202020202020202020202020202020227
+:105960000202020202020202020202020202020217
+:105970000202020202020202020202020202020207
+:1059800002020202020202020202020202020202F7
+:1059900002020202020202020202020202020202E7
+:1059A00002020202020202020202020202020202D7
+:1059B00002020202020202020202020202020202C7
+:1059C00002020202020202020202020202020202B7
+:1059D00002020202020202020202020202020202A7
+:1059E0000202020202020202020202020202020297
+:1059F0000202020202020202020202020202020287
+:105A00000202020202020202020202020202020276
+:105A10000202020202020202020202020202020266
+:105A20000202020202020202020202020202020256
+:105A30000202020202020202020202020202020246
+:105A40000202020202020202020202020202020236
+:105A50000202020202020202020202020202020226
+:105A60000202020202020202020202020202020216
+:105A70000202020202020202020202020202020206
+:105A800002020202020202020202020202020202F6
+:105A900002020202020202020202020202020202E6
+:105AA00002020202020202020202020202020202D6
+:105AB00002020202020202020202020202020202C6
+:105AC00002020202020202020202020202020202B6
+:105AD00002020202020202020202020202020202A6
+:105AE0000202020202020202020202020202020296
+:105AF0000202020202020202020202020202020286
+:105B00000202020202020202020202020202020275
+:105B10000202020202020202020202020202020265
+:105B20000202020202020202020202020202020255
+:105B30000202020202020202020202020202020245
+:105B40000202020202020202020202020202020235
+:105B50000202020202020202020202020202020225
+:105B60000202020202020202020202020202020215
+:105B70000202020202020202020202020202020205
+:105B800002020202020202020202020202020202F5
+:105B900002020202020202020202020202020202E5
+:105BA00002020202020202020202020202020202D5
+:105BB00002020202020202020202020202020202C5
+:105BC00002020202020202020202020202020202B5
+:105BD00002020202020202020202020202020202A5
+:105BE0000202020202020202020202020202020295
+:105BF0000202020202020202020202020202020285
+:105C00000202020202020202020202020202020274
+:105C10000202020202020202020202020202020264
+:105C20000202020202020202020202020202020254
+:105C30000202020202020202020202020202020244
+:105C40000202020202020202020202020202020234
+:105C50000202020202020202020202020202020224
+:105C60000202020202020202020202020202020214
+:105C70000202020202020202020202020202020204
+:105C800002020202020202020202020202020202F4
+:105C900002020202020202020202020202020202E4
+:105CA00002020202020202020202020202020202D4
+:105CB00002020202020202020202020202020202C4
+:105CC00002020202020202020202020202020202B4
+:105CD00002020202020202020202020202020202A4
+:105CE0000202020202020202020202020202020294
+:105CF0000202020202020202020202020202020284
+:105D00000202020202020202020202020202020273
+:105D10000202020202020202020202020202020263
+:105D20000202020202020202020202020202020253
+:105D30000202020202020202020202020202020243
+:105D40000202020202020202020202020202020233
+:105D50000202020202020202020202020202020223
+:105D60000202020202020202020202020202020213
+:105D70000202020202020202020202020202020203
+:105D800002020202020202020202020202020202F3
+:105D900002020202020202020202020202020202E3
+:105DA00002020202020202020202020202020202D3
+:105DB00002020202020202020202020202020202C3
+:105DC00002020202020202020202020202020202B3
+:105DD00002020202020202020202020202020202A3
+:105DE0000202020202020202020202020202020293
+:105DF0000202020202020202020202020202020283
+:105E00000202020202020202020202020202020272
+:105E10000202020202020202020202020202020262
+:105E20000202020202020200000000000000000064
+:105E30000000000000000000000000000000000062
+:105E40000000000000000000000000000000000052
+:105E50000000000000000000000000000000000042
+:105E60000000000000000000000000000000000032
+:105E70000000000000000000000000000000000022
+:105E80000000000000000000000000000000000012
+:105E90000000000000000000000000000000000002
+:105EA00000000000000000000000000000000000F2
+:105EB00000000000000000000000000000000000E2
+:105EC00000000000000000000000000000000000D2
+:105ED00000000000000000000000000000000000C2
+:105EE00000000000000000000000000000000000B2
+:105EF00000000000000000000000000000000000A2
+:105F00000000000000000000000000000000000091
+:105F10000000000000000000000000000000000081
+:105F20000000000000000000000000000000000071
+:105F30000000000000000000000000000000000061
+:105F40000000000000000000000000000000000051
+:105F50000000000000000000000000000000000041
+:105F60000000000000000000000000000000000031
+:105F70000000000000000000000000000000000021
+:105F80000000000000000000000000000000000011
+:105F90000000000000000000000000000000000001
+:105FA00000000000000000000000000000000000F1
+:105FB00000000000000000000000000000000000E1
+:105FC00000000000000000000000000000000000D1
+:105FD00000000000000000000000000000000000C1
+:105FE00000000000000000000000000000000000B1
+:105FF00000000000000000000000000000000000A1
+:106000000000000000000000000000000000000090
+:106010000000000000000000000000000000000080
+:106020000000000000000000000000000000000070
+:106030000000000000000000000000000000000060
+:106040000000000000000000000000000000000050
+:106050000000000000000000000000000000000040
+:106060000000000000000000000000000000000030
+:106070000000000000000000000000000000000020
+:106080000000000000000000000000000000000010
+:106090000000000000000000000000000000000000
+:1060A00000000000000000000000000000000000F0
+:1060B00000000000000000000000000000000000E0
+:1060C00000000000000000000000000000000000D0
+:1060D00000000000000000000000000000000000C0
+:1060E00000000000000000000000000000000000B0
+:1060F00000000000000000000000000000000000A0
+:10610000000000000000000000000000000000008F
+:10611000000000000000000000000000000000007F
+:10612000000000000000000000000000000000006F
+:10613000000000000000000000000000000000005F
+:10614000000000000000000000000000000000004F
+:10615000000000000000000000000000000000003F
+:10616000000000000000000000000000000000002F
+:10617000000000000000000000000000000000001F
+:10618000000000000000000000000000000000000F
+:1061900000000000000000000000000000000000FF
+:1061A00000000000000000000000000000000000EF
+:1061B00000000000000000000000000000000000DF
+:1061C00000000000000000000000000000000000CF
+:1061D00000000000000000000000000000000000BF
+:1061E00000000000000000000000000000000000AF
+:1061F000000000000000000000000000000000009F
+:10620000000000000000000000000000000000008E
+:10621000000000000000000000000000000000007E
+:10622000000000000000000000000000000000006E
+:10623000000000000000000000000000000000005E
+:10624000000000000000000000000000000000004E
+:10625000000000000000000000000000000000003E
+:10626000000000000000000000000000000000002E
+:10627000000000000000000000000000000000001E
+:10628000000000000000000000000000000000000E
+:1062900000000000000000000000000000000000FE
+:1062A00000000000000000000000000000000000EE
+:1062B00000000000000000000000000000000000DE
+:1062C00000000000000000000000000000000000CE
+:1062D00000000000000000000000000000000000BE
+:1062E00000000000000000000000000000000000AE
+:1062F000000000000000000000000000000000009E
+:10630000000000000000000000000000000000008D
+:10631000000000000000000000000000000000007D
+:10632000000000000000000000000000000000006D
+:10633000000000000000000000000000000000005D
+:10634000000000000000000000000000000000004D
+:10635000000000000000000000000000000000003D
+:10636000000000000000000000000000000000002D
+:10637000000000000000000000000000000000001D
+:10638000000000000000000000000000000000000D
+:1063900000000000000000000000000000000000FD
+:1063A00000000000000000000000000000000000ED
+:1063B00000000000000000000000000000000000DD
+:1063C00000000000000000000000000000000000CD
+:1063D00000000000000000000000000000000000BD
+:1063E00000000000000000000000000000000000AD
+:1063F000000000000000000000000000000000009D
+:10640000000000000000000000000000000000008C
+:10641000000000000000000000000000000000007C
+:10642000000000000000003B000000000000000130
+:10643000010101010101010101010101010101014C
+:10644000010101010101010101010101010101013C
+:10645000010101010101010101010101010101012C
+:10646000010101010101010101010101010101011C
+:10647000010101010101010101010101010101010C
+:1064800001010101010101010101010101010101FC
+:1064900001010101010101010101010101010101EC
+:1064A00001010101010101010101010101010101DC
+:1064B00001010101010101010101010101010101CC
+:1064C00001010101010101010101010101010101BC
+:1064D00001010101010101010101010101010101AC
+:1064E000010101010101010101010101010101019C
+:1064F000010101010101010101010101010101018C
+:10650000010101010101010101010101010101017B
+:10651000010101010101010101010101010101016B
+:10652000010101010101010101010101010101015B
+:10653000010101010101010101010101010101014B
+:10654000010101010101010101010101010101013B
+:10655000010101010101010101010101010101012B
+:10656000010101010101010101010101010101011B
+:10657000010101010101010101010101010101010B
+:1065800001010101010101010101010101010101FB
+:1065900001010101010101010101010101010101EB
+:1065A00001010101010101010101010101010101DB
+:1065B00001010101010101010101010101010101CB
+:1065C00001010101010101010101010101010101BB
+:1065D00001010101010101010101010101010101AB
+:1065E000010101010101010101010101010101019B
+:1065F000010101010101010101010101010101018B
+:10660000010101010101010101010101010101017A
+:10661000010101010101010101010101010101016A
+:10662000010101010101010101010101010101015A
+:10663000010101010101010101010101010101014A
+:10664000010101010101010101010101010101013A
+:10665000010101010101010101010101010101012A
+:10666000010101010101010101010101010101011A
+:10667000010101010101010101010101010101010A
+:1066800001010101010101010101010101010101FA
+:1066900001010101010101010101010101010101EA
+:1066A00001010101010101010101010101010101DA
+:1066B00001010101010101010101010101010101CA
+:1066C00001010101010101010101010101010101BA
+:1066D00001010101010101010101010101010101AA
+:1066E000010101010101010101010101010101019A
+:1066F000010101010101010101010101010101018A
+:106700000101010101010101010101010101010179
+:106710000101010101010101010101010101010169
+:106720000101010101010101010101010101010159
+:106730000101010101010101010101010101010149
+:106740000101010101010101010101010101010139
+:106750000101010101010101010101010101010129
+:106760000101010101010101010101010101010119
+:106770000101010101010101010101010101010109
+:1067800001010101010101010101010101010101F9
+:1067900001010101010101010101010101010101E9
+:1067A00001010101010101010101010101010101D9
+:1067B00001010101010101010101010101010101C9
+:1067C00001010101010101010101010101010101B9
+:1067D00001010101010101010101010101010101A9
+:1067E0000101010101010101010101010101010199
+:1067F0000101010101010101010101010101010189
+:106800000101010101010101010101010101010178
+:106810000101010101010101010101010101010168
+:106820000101010101010101010101010101010158
+:106830000101010101010101010101010101010148
+:106840000101010101010101010101010101010138
+:106850000101010101010101010101010101010128
+:106860000101010101010101010101010101010118
+:106870000101010101010101010101010101010108
+:1068800001010101010101010101010101010101F8
+:1068900001010101010101010101010101010101E8
+:1068A00001010101010101010101010101010101D8
+:1068B00001010101010101010101010101010101C8
+:1068C00001010101010101010101010101010101B8
+:1068D00001010101010101010101010101010101A8
+:1068E0000101010101010101010101010101010198
+:1068F0000101010101010101010101010101010188
+:106900000101010101010101010101010101010177
+:106910000101010101010101010101010101010167
+:106920000101010101010101010101010101010157
+:106930000101010101010101010101010101010147
+:106940000101010101010101010101010101010137
+:106950000101010101010101010101010101010127
+:106960000101010101010101010101010101010117
+:106970000101010101010101010101010101010107
+:1069800001010101010101010101010101010101F7
+:1069900001010101010101010101010101010101E7
+:1069A00001010101010101010101010101010101D7
+:1069B00001010101010101010101010101010101C7
+:1069C00001010101010101010101010101010101B7
+:1069D00001010101010101010101010101010101A7
+:1069E0000101010101010101010101010101010197
+:1069F0000101010101010101010101010101010187
+:106A00000101010101010101010101010101010176
+:106A10000101010101010101010101010101010166
+:106A20000101010101010101010101010101010156
+:106A30000101010101010101010101010101010146
+:106A40000101010101010101010101010101010136
+:106A50000101010101010101010101010101010126
+:106A60000101010101010101010101010101010116
+:106A70000101010101010101010101010101010106
+:106A800001010101010101010101010101010101F6
+:106A900001010101010101010101010101010101E6
+:106AA00001010101010101010101010101010101D6
+:106AB00001010101010101010101010101010101C6
+:106AC00001010101010101010101010101010101B6
+:106AD00001010101010101010101010101010101A6
+:106AE0000101010101010101010101010101010196
+:106AF0000101010101010101010101010101010186
+:106B00000101010101010101010101010101010175
+:106B10000101010101010101010101010101010165
+:106B20000101010101010101010101010101010155
+:106B30000101010101010101010101010101010145
+:106B40000101010101010101010101010101010135
+:106B50000101010101010101010101010101010125
+:106B60000101010101010101010101010101010115
+:106B70000101010101010101010101010101010105
+:106B800001010101010101010101010101010101F5
+:106B900001010101010101010101010101010101E5
+:106BA00001010101010101010101010101010101D5
+:106BB00001010101010101010101010101010101C5
+:106BC00001010101010101010101010101010101B5
+:106BD00001010101010101010101010101010101A5
+:106BE0000101010101010101010101010101010195
+:106BF0000101010101010101010101010101010185
+:106C00000101010101010101010101010101010174
+:106C10000101010101010101010101010101010164
+:106C20000101010101010101010101010101010055
+:106C30000000000000000000000000000000000054
+:106C40000000000000000000000000000000000044
+:106C50000000000000000000000000000000000034
+:106C60000000000000000000000000000000000024
+:106C70000000000000000000000000000000000014
+:106C80000000000000000000000000000000000004
+:106C900000000000000000000000000000000000F4
+:106CA00000000000000000000000000000000000E4
+:106CB00000000000000000000000000000000000D4
+:106CC00000000000000000000000000000000000C4
+:106CD00000000000000000000000000000000000B4
+:106CE00000000000000000000000000000000000A4
+:106CF0000000000000000000000000000000000094
+:106D00000000000000000000000000000000000083
+:106D10000000000000000000000000000000000073
+:106D20000000000000000000000000000000000063
+:106D30000000000000000000000000000000000053
+:106D40000000000000000000000000000000000043
+:106D50000000000000000000000000000000000033
+:106D60000000000000000000000000000000000023
+:106D70000000000000000000000000000000000013
+:106D80000000000000000000000000000000000003
+:106D900000000000000000000000000000000000F3
+:106DA00000000000000000000000000000000000E3
+:106DB00000000000000000000000000000000000D3
+:106DC00000000000000000000000000000000000C3
+:106DD00000000000000000000000000000000000B3
+:106DE00000000000000000000000000000000000A3
+:106DF0000000000000000000000000000000000093
+:106E00000000000000000000000000000000000082
+:106E10000000000000000000000000000000000072
+:106E20000000000000000000000000000000000062
+:106E30000000000000000000000000000000000052
+:106E40000000000000000000000000000000000042
+:106E50000000000000000000000000000000000032
+:106E60000000000000000000000000000000000022
+:106E70000000000000000000000000000000000012
+:106E80000000000000000000000000000000000002
+:106E900000000000000000000000000000000000F2
+:106EA00000000000000000000000000000000000E2
+:106EB00000000000000000000000000000000000D2
+:106EC00000000000000000000000000000000000C2
+:106ED00000000000000000000000000000000000B2
+:106EE00000000000000000000000000000000000A2
+:106EF0000000000000000000000000000000000092
+:106F00000000000000000000000000000000000081
+:106F10000000000000000000000000000000000071
+:106F20000000000000000000000000000000000061
+:106F30000000000000000000000000000000000051
+:106F40000000000000000000000000000000000041
+:106F50000000000000000000000000000000000031
+:106F60000000000000000000000000000000000021
+:106F70000000000000000000000000000000000011
+:106F80000000000000000000000000000000000001
+:106F900000000000000000000000000000000000F1
+:106FA00000000000000000000000000000000000E1
+:106FB00000000000000000000000000000000000D1
+:106FC00000000000000000000000000000000000C1
+:106FD00000000000000000000000000000000000B1
+:106FE00000000000000000000000000000000000A1
+:106FF0000000000000000000000000000000000091
+:107000000000000000000000000000000000000080
+:107010000000000000000000000000000000000070
+:107020000000000000000000000000000000000060
+:107030000000000000000000000000000000000050
+:107040000000000000000000000000000000000040
+:107050000000000000000000000000000000000030
+:107060000000000000000000000000000000000020
+:107070000000000000000000000000000000000010
+:107080000000000000000000000000000000000000
+:1070900000000000000000000000000000000000F0
+:1070A00000000000000000000000000000000000E0
+:1070B00000000000000000000000000000000000D0
+:1070C00000000000000000000000000000000000C0
+:1070D00000000000000000000000000000000000B0
+:1070E00000000000000000000000000000000000A0
+:1070F0000000000000000000000000000000000090
+:10710000000000000000000000000000000000007F
+:10711000000000000000000000000000000000006F
+:10712000000000000000000000000000000000005F
+:10713000000000000000000000000000000000004F
+:10714000000000000000000000000000000000003F
+:10715000000000000000000000000000000000002F
+:10716000000000000000000000000000000000001F
+:10717000000000000000000000000000000000000F
+:1071800000000000000000000000000000000000FF
+:1071900000000000000000000000000000000000EF
+:1071A00000000000000000000000000000000000DF
+:1071B00000000000000000000000000000000000CF
+:1071C00000000000000000000000000000000000BF
+:1071D00000000000000000000000000000000000AF
+:1071E000000000000000000000000000000000009F
+:1071F000000000000000000000000000000000008F
+:10720000000000000000000000000000000000007E
+:10721000000000000000000000000000000000006E
+:10722000000000000000000000000000000000025C
+:10723000020202020202020202020202020202022E
+:10724000020202020202020202020202020202021E
+:10725000020202020202020202020202020202020E
+:1072600002020202020202020202020202020202FE
+:1072700002020202020202020202020202020202EE
+:1072800002020202020202020202020202020202DE
+:1072900002020202020202020202020202020202CE
+:1072A00002020202020202020202020202020202BE
+:1072B00002020202020202020202020202020202AE
+:1072C000020202020202020202020202020202029E
+:1072D000020202020202020202020202020202028E
+:1072E000020202020202020202020202020202027E
+:1072F000020202020202020202020202020202026E
+:10730000020202020202020202020202020202025D
+:10731000020202020202020202020202020202024D
+:10732000020202020202020202020202020202023D
+:10733000020202020202020202020202020202022D
+:10734000020202020202020202020202020202021D
+:10735000020202020202020202020202020202020D
+:1073600002020202020202020202020202020202FD
+:1073700002020202020202020202020202020202ED
+:1073800002020202020202020202020202020202DD
+:1073900002020202020202020202020202020202CD
+:1073A00002020202020202020202020202020202BD
+:1073B00002020202020202020202020202020202AD
+:1073C000020202020202020202020202020202029D
+:1073D000020202020202020202020202020202028D
+:1073E000020202020202020202020202020202027D
+:1073F000020202020202020202020202020202026D
+:10740000020202020202020202020202020202025C
+:10741000020202020202020202020202020202024C
+:10742000020202020202020202020202020202023C
+:10743000020202020202020202020202020202022C
+:10744000020202020202020202020202020202021C
+:10745000020202020202020202020202020202020C
+:1074600002020202020202020202020202020202FC
+:1074700002020202020202020202020202020202EC
+:1074800002020202020202020202020202020202DC
+:1074900002020202020202020202020202020202CC
+:1074A00002020202020202020202020202020202BC
+:1074B00002020202020202020202020202020202AC
+:1074C000020202020202020202020202020202029C
+:1074D000020202020202020202020202020202028C
+:1074E000020202020202020202020202020202027C
+:1074F000020202020202020202020202020202026C
+:10750000020202020202020202020202020202025B
+:10751000020202020202020202020202020202024B
+:10752000020202020202020202020202020202023B
+:10753000020202020202020202020202020202022B
+:10754000020202020202020202020202020202021B
+:10755000020202020202020202020202020202020B
+:1075600002020202020202020202020202020202FB
+:1075700002020202020202020202020202020202EB
+:1075800002020202020202020202020202020202DB
+:1075900002020202020202020202020202020202CB
+:1075A00002020202020202020202020202020202BB
+:1075B00002020202020202020202020202020202AB
+:1075C000020202020202020202020202020202029B
+:1075D000020202020202020202020202020202028B
+:1075E000020202020202020202020202020202027B
+:1075F000020202020202020202020202020202026B
+:10760000020202020202020202020202020202025A
+:10761000020202020202020202020202020202024A
+:10762000020202020202020202020202020202023A
+:10763000020202020202020202020202020202022A
+:10764000020202020202020202020202020202021A
+:10765000020202020202020202020202020202020A
+:1076600002020202020202020202020202020202FA
+:1076700002020202020202020202020202020202EA
+:1076800002020202020202020202020202020202DA
+:1076900002020202020202020202020202020202CA
+:1076A00002020202020202020202020202020202BA
+:1076B00002020202020202020202020202020202AA
+:1076C000020202020202020202020202020202029A
+:1076D000020202020202020202020202020202028A
+:1076E000020202020202020202020202020202027A
+:1076F000020202020202020202020202020202026A
+:107700000202020202020202020202020202020259
+:107710000202020202020202020202020202020249
+:107720000202020202020202020202020202020239
+:107730000202020202020202020202020202020229
+:107740000202020202020202020202020202020219
+:107750000202020202020202020202020202020209
+:1077600002020202020202020202020202020202F9
+:1077700002020202020202020202020202020202E9
+:1077800002020202020202020202020202020202D9
+:1077900002020202020202020202020202020202C9
+:1077A00002020202020202020202020202020202B9
+:1077B00002020202020202020202020202020202A9
+:1077C0000202020202020202020202020202020299
+:1077D0000202020202020202020202020202020289
+:1077E0000202020202020202020202020202020279
+:1077F0000202020202020202020202020202020269
+:107800000202020202020202020202020202020258
+:107810000202020202020202020202020202020248
+:107820000202020202020202020202020202020238
+:107830000202020202020202020202020202020228
+:107840000202020202020202020202020202020218
+:107850000202020202020202020202020202020208
+:1078600002020202020202020202020202020202F8
+:1078700002020202020202020202020202020202E8
+:1078800002020202020202020202020202020202D8
+:1078900002020202020202020202020202020202C8
+:1078A00002020202020202020202020202020202B8
+:1078B00002020202020202020202020202020202A8
+:1078C0000202020202020202020202020202020298
+:1078D0000202020202020202020202020202020288
+:1078E0000202020202020202020202020202020278
+:1078F0000202020202020202020202020202020268
+:107900000202020202020202020202020202020257
+:107910000202020202020202020202020202020247
+:107920000202020202020202020202020202020237
+:107930000202020202020202020202020202020227
+:107940000202020202020202020202020202020217
+:107950000202020202020202020202020202020207
+:1079600002020202020202020202020202020202F7
+:1079700002020202020202020202020202020202E7
+:1079800002020202020202020202020202020202D7
+:1079900002020202020202020202020202020202C7
+:1079A00002020202020202020202020202020202B7
+:1079B00002020202020202020202020202020202A7
+:1079C0000202020202020202020202020202020297
+:1079D0000202020202020202020202020202020287
+:1079E0000202020202020202020202020202020277
+:1079F0000202020202020202020202020202020267
+:107A00000202020202020202020202020202020256
+:107A10000202020202020202020202020202020246
+:107A20000202020202020202020202020202020038
+:107A30000000000000000000000000000000000046
+:107A40000000000000000000000000000000000036
+:107A50000000000000000000000000000000000026
+:107A60000000000000000000000000000000000016
+:107A70000000000000000000000000000000000006
+:107A800000000000000000000000000000000000F6
+:107A900000000000000000000000000000000000E6
+:107AA00000000000000000000000000000000000D6
+:107AB00000000000000000000000000000000000C6
+:107AC00000000000000000000000000000000000B6
+:107AD00000000000000000000000000000000000A6
+:107AE0000000000000000000000000000000000096
+:107AF0000000000000000000000000000000000086
+:107B00000000000000000000000000000000000075
+:107B10000000000000000000000000000000000065
+:107B20000000000000000000000000000000000055
+:107B30000000000000000000000000000000000045
+:107B40000000000000000000000000000000000035
+:107B50000000000000000000000000000000000025
+:107B60000000000000000000000000000000000015
+:107B70000000000000000000000000000000000005
+:107B800000000000000000000000000000000000F5
+:107B900000000000000000000000000000000000E5
+:107BA00000000000000000000000000000000000D5
+:107BB00000000000000000000000000000000000C5
+:107BC00000000000000000000000000000000000B5
+:107BD00000000000000000000000000000000000A5
+:107BE0000000000000000000000000000000000095
+:107BF0000000000000000000000000000000000085
+:107C00000000000000000000000000000000000074
+:107C10000000000000000000000000000000000064
+:107C20000000000000000000000000000000000054
+:107C30000000000000000000000000000000000044
+:107C40000000000000000000000000000000000034
+:107C50000000000000000000000000000000000024
+:107C60000000000000000000000000000000000014
+:107C70000000000000000000000000000000000004
+:107C800000000000000000000000000000000000F4
+:107C900000000000000000000000000000000000E4
+:107CA00000000000000000000000000000000000D4
+:107CB00000000000000000000000000000000000C4
+:107CC00000000000000000000000000000000000B4
+:107CD00000000000000000000000000000000000A4
+:107CE0000000000000000000000000000000000094
+:107CF0000000000000000000000000000000000084
+:107D00000000000000000000000000000000000073
+:107D10000000000000000000000000000000000063
+:107D20000000000000000000000000000000000053
+:107D30000000000000000000000000000000000043
+:107D40000000000000000000000000000000000033
+:107D50000000000000000000000000000000000023
+:107D60000000000000000000000000000000000013
+:107D70000000000000000000000000000000000003
+:107D800000000000000000000000000000000000F3
+:107D900000000000000000000000000000000000E3
+:107DA00000000000000000000000000000000000D3
+:107DB00000000000000000000000000000000000C3
+:107DC00000000000000000000000000000000000B3
+:107DD00000000000000000000000000000000000A3
+:107DE0000000000000000000000000000000000093
+:107DF0000000000000000000000000000000000083
+:107E00000000000000000000000000000000000072
+:107E10000000000000000000000000000000000062
+:107E20000000000000000000000000000000000052
+:107E30000000000000000000000000000000000042
+:107E40000000000000000000000000000000000032
+:107E50000000000000000000000000000000000022
+:107E60000000000000000000000000000000000012
+:107E70000000000000000000000000000000000002
+:107E800000000000000000000000000000000000F2
+:107E900000000000000000000000000000000000E2
+:107EA00000000000000000000000000000000000D2
+:107EB00000000000000000000000000000000000C2
+:107EC00000000000000000000000000000000000B2
+:107ED00000000000000000000000000000000000A2
+:107EE0000000000000000000000000000000000092
+:107EF0000000000000000000000000000000000082
+:107F00000000000000000000000000000000000071
+:107F10000000000000000000000000000000000061
+:107F20000000000000000000000000000000000051
+:107F30000000000000000000000000000000000041
+:107F40000000000000000000000000000000000031
+:107F50000000000000000000000000000000000021
+:107F60000000000000000000000000000000000011
+:107F70000000000000000000000000000000000001
+:107F800000000000000000000000000000000000F1
+:107F900000000000000000000000000000000000E1
+:107FA00000000000000000000000000000000000D1
+:107FB00000000000000000000000000000000000C1
+:107FC00000000000000000000000000000000000B1
+:107FD00000000000000000000000000000000000A1
+:107FE0000000000000000000000000000000000091
+:107FF0000000000000000000000000000000000081
+:108000000000000000000000000000000000000070
+:108010000000000000000000000000000000000060
+:108020000000000000000000000000000000000050
+:108030000000000000000000000000000000000040
+:108040000000000000000000000000000000000030
+:108050000000000000000000000000000000000020
+:108060000000000000000000000000000000000010
+:108070000000000000000000000000000000000000
+:1080800000000000000000000000000000000000F0
+:1080900000000000000000000000000000000000E0
+:1080A00000000000000000000000000000000000D0
+:1080B00000000000000000000000000000000000C0
+:1080C00000000000000000000000000000000000B0
+:1080D00000000000000000000000000000000000A0
+:1080E0000000000000000000000000000000000090
+:1080F0000000000000000000000000000000000080
+:10810000000000000000000000000000000000006F
+:10811000000000000000000000000000000000005F
+:10812000000000000000000000000000000000004F
+:10813000000000000000000000000000000000003F
+:10814000000000000000000000000000000000002F
+:10815000000000000000000000000000000000001F
+:10816000000000000000000000000000000000000F
+:1081700000000000000000000000000000000000FF
+:1081800000000000000000000000000000000000EF
+:1081900000000000000000000000000000000000DF
+:1081A00000000000000000000000000000000000CF
+:1081B00000000000000000000000000000000000BF
+:1081C00000000000000000000000000000000000AF
+:1081D000000000000000000000000000000000009F
+:1081E000000000000000000000000000000000008F
+:1081F000000000000000000000000000000000007F
+:10820000000000000000000000000000000000006E
+:10821000000000000000000000000000000000005E
+:10822000000000000000000000000000000000004E
+:10823000000000000000000000000000000000003E
+:10824000000000000000000000000000000000002E
+:10825000000000000000000000000000000000001E
+:10826000000000000000000000000000000000000E
+:1082700000000000000000000000000000000000FE
+:1082800000000000000000000000000000000000EE
+:1082900000000000000000000000000000000000DE
+:1082A00000000000000000000000000000000000CE
+:1082B00000000000000000000000000000000000BE
+:1082C00000000000000000000000000000000000AE
+:1082D000000000000000000000000000000000009E
+:1082E000000000000000000000000000000000008E
+:1082F000000000000000000000000000000000007E
+:10830000000000000000000000000000000000006D
+:10831000000000000000000000000000000000005D
+:10832000000000000000000000000000000000014C
+:10833000010101010101010101010101010101012D
+:10834000010101010101010101010101010101011D
+:10835000010101010101010101010101010101010D
+:1083600001010101010101010101010101010101FD
+:1083700001010101010101010101010101010101ED
+:1083800001010101010101010101010101010101DD
+:1083900001010101010101010101010101010101CD
+:1083A00001010101010101010101010101010101BD
+:1083B00001010101010101010101010101010101AD
+:1083C000010101010101010101010101010101019D
+:1083D000010101010101010101010101010101018D
+:1083E000010101010101010101010101010101017D
+:1083F000010101010101010101010101010101016D
+:10840000010101010101010101010101010101015C
+:10841000010101010101010101010101010101014C
+:10842000010101010101010101010101010101013C
+:10843000010101010101010101010101010101012C
+:10844000010101010101010101010101010101011C
+:10845000010101010101010101010101010101010C
+:1084600001010101010101010101010101010101FC
+:1084700001010101010101010101010101010101EC
+:1084800001010101010101010101010101010101DC
+:1084900001010101010101010101010101010101CC
+:1084A00001010101010101010101010101010101BC
+:1084B00001010101010101010101010101010101AC
+:1084C000010101010101010101010101010101019C
+:1084D000010101010101010101010101010101018C
+:1084E000010101010101010101010101010101017C
+:1084F000010101010101010101010101010101016C
+:10850000010101010101010101010101010101015B
+:10851000010101010101010101010101010101014B
+:10852000010101010101010101010101010101013B
+:10853000010101010101010101010101010101012B
+:10854000010101010101010101010101010101011B
+:10855000010101010101010101010101010101010B
+:1085600001010101010101010101010101010101FB
+:1085700001010101010101010101010101010101EB
+:1085800001010101010101010101010101010101DB
+:1085900001010101010101010101010101010101CB
+:1085A00001010101010101010101010101010101BB
+:1085B00001010101010101010101010101010101AB
+:1085C000010101010101010101010101010101019B
+:1085D000010101010101010101010101010101018B
+:1085E000010101010101010101010101010101017B
+:1085F000010101010101010101010101010101016B
+:10860000010101010101010101010101010101015A
+:10861000010101010101010101010101010101014A
+:10862000010101010101010101010101010101013A
+:10863000010101010101010101010101010101012A
+:10864000010101010101010101010101010101011A
+:10865000010101010101010101010101010101010A
+:1086600001010101010101010101010101010101FA
+:1086700001010101010101010101010101010101EA
+:1086800001010101010101010101010101010101DA
+:1086900001010101010101010101010101010101CA
+:1086A00001010101010101010101010101010101BA
+:1086B00001010101010101010101010101010101AA
+:1086C000010101010101010101010101010101019A
+:1086D000010101010101010101010101010101018A
+:1086E000010101010101010101010101010101017A
+:1086F000010101010101010101010101010101016A
+:108700000101010101010101010101010101010159
+:108710000101010101010101010101010101010149
+:108720000101010101010101010101010101010139
+:108730000101010101010101010101010101010129
+:108740000101010101010101010101010101010119
+:108750000101010101010101010101010101010109
+:1087600001010101010101010101010101010101F9
+:1087700001010101010101010101010101010101E9
+:1087800001010101010101010101010101010101D9
+:1087900001010101010101010101010101010101C9
+:1087A00001010101010101010101010101010101B9
+:1087B00001010101010101010101010101010101A9
+:1087C0000101010101010101010101010101010199
+:1087D0000101010101010101010101010101010189
+:1087E0000101010101010101010101010101010179
+:1087F0000101010101010101010101010101010169
+:108800000101010101010101010101010101010158
+:108810000101010101010101010101010101010148
+:108820000101010101010101010101010101010138
+:108830000101010101010101010101010101010128
+:108840000101010101010101010101010101010118
+:108850000101010101010101010101010101010108
+:1088600001010101010101010101010101010101F8
+:1088700001010101010101010101010101010101E8
+:1088800001010101010101010101010101010101D8
+:1088900001010101010101010101010101010101C8
+:1088A00001010101010101010101010101010101B8
+:1088B00001010101010101010101010101010101A8
+:1088C0000101010101010101010101010101010198
+:1088D0000101010101010101010101010101010188
+:1088E0000101010101010101010101010101010178
+:1088F0000101010101010101010101010101010168
+:108900000101010101010101010101010101010157
+:108910000101010101010101010101010101010147
+:108920000101010101010101010101010101010137
+:108930000101010101010101010101010101010127
+:108940000101010101010101010101010101010117
+:108950000101010101010101010101010101010107
+:1089600001010101010101010101010101010101F7
+:1089700001010101010101010101010101010101E7
+:1089800001010101010101010101010101010101D7
+:1089900001010101010101010101010101010101C7
+:1089A00001010101010101010101010101010101B7
+:1089B00001010101010101010101010101010101A7
+:1089C0000101010101010101010101010101010197
+:1089D0000101010101010101010101010101010187
+:1089E0000101010101010101010101010101010177
+:1089F0000101010101010101010101010101010167
+:108A00000101010101010101010101010101010156
+:108A10000101010101010101010101010101010146
+:108A20000101010101010101010101010101010136
+:108A30000101010101010101010101010101010126
+:108A40000101010101010101010101010101010116
+:108A50000101010101010101010101010101010106
+:108A600001010101010101010101010101010101F6
+:108A700001010101010101010101010101010101E6
+:108A800001010101010101010101010101010101D6
+:108A900001010101010101010101010101010101C6
+:108AA00001010101010101010101010101010101B6
+:108AB00001010101010101010101010101010101A6
+:108AC0000101010101010101010101010101010196
+:108AD0000101010101010101010101010101010186
+:108AE0000101010101010101010101010101010176
+:108AF0000101010101010101010101010101010166
+:108B00000101010101010101010101010101010155
+:108B10000101010101010101010101010101010145
+:108B20000101010101010101010101010101010036
+:108B30000000000000000000000000000000000035
+:108B40000000000000000000000000000000000025
+:108B50000000000000000000000000000000000015
+:108B60000000000000000000000000000000000005
+:108B700000000000000000000000000000000000F5
+:108B800000000000000000000000000000000000E5
+:108B900000000000000000000000000000000000D5
+:108BA00000000000000000000000000000000000C5
+:108BB00000000000000000000000000000000000B5
+:108BC00000000000000000000000000000000000A5
+:108BD0000000000000000000000000000000000095
+:108BE0000000000000000000000000000000000085
+:108BF0000000000000000000000000000000000075
+:108C00000000000000000000000000000000000064
+:108C10000000000000000000000000000000000054
+:108C20000000000000000000000000000000000044
+:108C30000000000000000000000000000000000034
+:108C40000000000000000000000000000000000024
+:108C50000000000000000000000000000000000014
+:108C60000000000000000000000000000000000004
+:108C700000000000000000000000000000000000F4
+:108C800000000000000000000000000000000000E4
+:108C900000000000000000000000000000000000D4
+:108CA00000000000000000000000000000000000C4
+:108CB00000000000000000000000000000000000B4
+:108CC00000000000000000000000000000000000A4
+:108CD0000000000000000000000000000000000094
+:108CE0000000000000000000000000000000000084
+:108CF0000000000000000000000000000000000074
+:108D00000000000000000000000000000000000063
+:108D10000000000000000000000000000000000053
+:108D20000000000000000000000000000000000043
+:108D30000000000000000000000000000000000033
+:108D40000000000000000000000000000000000023
+:108D50000000000000000000000000000000000013
+:108D60000000000000000000000000000000000003
+:108D700000000000000000000000000000000000F3
+:108D800000000000000000000000000000000000E3
+:108D900000000000000000000000000000000000D3
+:108DA00000000000000000000000000000000000C3
+:108DB00000000000000000000000000000000000B3
+:108DC00000000000000000000000000000000000A3
+:108DD0000000000000000000000000000000000093
+:108DE0000000000000000000000000000000000083
+:108DF0000000000000000000000000000000000073
+:108E00000000000000000000000000000000000062
+:108E10000000000000000000000000000000000052
+:108E20000000000000000000000000000000000042
+:108E30000000000000000000000000000000000032
+:108E40000000000000000000000000000000000022
+:108E50000000000000000000000000000000000012
+:108E60000000000000000000000000000000000002
+:108E700000000000000000000000000000000000F2
+:108E800000000000000000000000000000000000E2
+:108E900000000000000000000000000000000000D2
+:108EA00000000000000000000000000000000000C2
+:108EB00000000000000000000000000000000000B2
+:108EC00000000000000000000000000000000000A2
+:108ED0000000000000000000000000000000000092
+:108EE0000000000000000000000000000000000082
+:108EF0000000000000000000000000000000000072
+:108F00000000000000000000000000000000000061
+:108F10000000000000000000000000000000000051
+:108F20000000000000000000000000000000000041
+:108F30000000000000000000000000000000000031
+:108F40000000000000000000000000000000000021
+:108F50000000000000000000000000000000000011
+:108F60000000000000000000000000000000000001
+:108F700000000000000000000000000000000000F1
+:108F800000000000000000000000000000000000E1
+:108F900000000000000000000000000000000000D1
+:108FA00000000000000000000000000000000000C1
+:108FB00000000000000000000000000000000000B1
+:108FC00000000000000000000000000000000000A1
+:108FD0000000000000000000000000000000000091
+:108FE0000000000000000000000000000000000081
+:108FF0000000000000000000000000000000000071
+:109000000000000000000000000000000000000060
+:109010000000000000000000000000000000000050
+:109020000000000000000000000000000000000040
+:109030000000000000000000000000000000000030
+:109040000000000000000000000000000000000020
+:109050000000000000000000000000000000000010
+:109060000000000000000000000000000000000000
+:1090700000000000000000000000000000000000F0
+:1090800000000000000000000000000000000000E0
+:1090900000000000000000000000000000000000D0
+:1090A00000000000000000000000000000000000C0
+:1090B00000000000000000000000000000000000B0
+:1090C00000000000000000000000000000000000A0
+:1090D0000000000000000000000000000000000090
+:1090E0000000000000000000000000000000000080
+:1090F0000000000000000000000000000000000070
+:10910000000000000000000000000000000000005F
+:10911000000000000000000000000000000000004F
+:10912000000000000000000000000000000000023D
+:10913000020202020202020202020202020202020F
+:1091400002020202020202020202020202020202FF
+:1091500002020202020202020202020202020202EF
+:1091600002020202020202020202020202020202DF
+:1091700002020202020202020202020202020202CF
+:1091800002020202020202020202020202020202BF
+:1091900002020202020202020202020202020202AF
+:1091A000020202020202020202020202020202029F
+:1091B000020202020202020202020202020202028F
+:1091C000020202020202020202020202020202027F
+:1091D000020202020202020202020202020202026F
+:1091E000020202020202020202020202020202025F
+:1091F000020202020202020202020202020202024F
+:10920000020202020202020202020202020202023E
+:10921000020202020202020202020202020202022E
+:10922000020202020202020202020202020202021E
+:10923000020202020202020202020202020202020E
+:1092400002020202020202020202020202020202FE
+:1092500002020202020202020202020202020202EE
+:1092600002020202020202020202020202020202DE
+:1092700002020202020202020202020202020202CE
+:1092800002020202020202020202020202020202BE
+:1092900002020202020202020202020202020202AE
+:1092A000020202020202020202020202020202029E
+:1092B000020202020202020202020202020202028E
+:1092C000020202020202020202020202020202027E
+:1092D000020202020202020202020202020202026E
+:1092E000020202020202020202020202020202025E
+:1092F000020202020202020202020202020202024E
+:10930000020202020202020202020202020202023D
+:10931000020202020202020202020202020202022D
+:10932000020202020202020202020202020202021D
+:10933000020202020202020202020202020202020D
+:1093400002020202020202020202020202020202FD
+:1093500002020202020202020202020202020202ED
+:1093600002020202020202020202020202020202DD
+:1093700002020202020202020202020202020202CD
+:1093800002020202020202020202020202020202BD
+:1093900002020202020202020202020202020202AD
+:1093A000020202020202020202020202020202029D
+:1093B000020202020202020202020202020202028D
+:1093C000020202020202020202020202020202027D
+:1093D000020202020202020202020202020202026D
+:1093E000020202020202020202020202020202025D
+:1093F000020202020202020202020202020202024D
+:10940000020202020202020202020202020202023C
+:10941000020202020202020202020202020202022C
+:10942000020202020202020202020202020202021C
+:10943000020202020202020202020202020202020C
+:1094400002020202020202020202020202020202FC
+:1094500002020202020202020202020202020202EC
+:1094600002020202020202020202020202020202DC
+:1094700002020202020202020202020202020202CC
+:1094800002020202020202020202020202020202BC
+:1094900002020202020202020202020202020202AC
+:1094A000020202020202020202020202020202029C
+:1094B000020202020202020202020202020202028C
+:1094C000020202020202020202020202020202027C
+:1094D000020202020202020202020202020202026C
+:1094E000020202020202020202020202020202025C
+:1094F000020202020202020202020202020202024C
+:10950000020202020202020202020202020202023B
+:10951000020202020202020202020202020202022B
+:10952000020202020202020202020202020202021B
+:10953000020202020202020202020202020202020B
+:1095400002020202020202020202020202020202FB
+:1095500002020202020202020202020202020202EB
+:1095600002020202020202020202020202020202DB
+:1095700002020202020202020202020202020202CB
+:1095800002020202020202020202020202020202BB
+:1095900002020202020202020202020202020202AB
+:1095A000020202020202020202020202020202029B
+:1095B000020202020202020202020202020202028B
+:1095C000020202020202020202020202020202027B
+:1095D000020202020202020202020202020202026B
+:1095E000020202020202020202020202020202025B
+:1095F000020202020202020202020202020202024B
+:10960000020202020202020202020202020202023A
+:10961000020202020202020202020202020202022A
+:10962000020202020202020202020202020202021A
+:10963000020202020202020202020202020202020A
+:1096400002020202020202020202020202020202FA
+:1096500002020202020202020202020202020202EA
+:1096600002020202020202020202020202020202DA
+:1096700002020202020202020202020202020202CA
+:1096800002020202020202020202020202020202BA
+:1096900002020202020202020202020202020202AA
+:1096A000020202020202020202020202020202029A
+:1096B000020202020202020202020202020202028A
+:1096C000020202020202020202020202020202027A
+:1096D000020202020202020202020202020202026A
+:1096E000020202020202020202020202020202025A
+:1096F000020202020202020202020202020202024A
+:109700000202020202020202020202020202020239
+:109710000202020202020202020202020202020229
+:109720000202020202020202020202020202020219
+:109730000202020202020202020202020202020209
+:1097400002020202020202020202020202020202F9
+:1097500002020202020202020202020202020202E9
+:1097600002020202020202020202020202020202D9
+:1097700002020202020202020202020202020202C9
+:1097800002020202020202020202020202020202B9
+:1097900002020202020202020202020202020202A9
+:1097A0000202020202020202020202020202020299
+:1097B0000202020202020202020202020202020289
+:1097C0000202020202020202020202020202020279
+:1097D0000202020202020202020202020202020269
+:1097E0000202020202020202020202020202020259
+:1097F0000202020202020202020202020202020249
+:109800000202020202020202020202020202020238
+:109810000202020202020202020202020202020228
+:109820000202020202020202020202020202020218
+:109830000202020202020202020202020202020208
+:1098400002020202020202020202020202020202F8
+:1098500002020202020202020202020202020202E8
+:1098600002020202020202020202020202020202D8
+:1098700002020202020202020202020202020202C8
+:1098800002020202020202020202020202020202B8
+:1098900002020202020202020202020202020202A8
+:1098A0000202020202020202020202020202020298
+:1098B0000202020202020202020202020202020288
+:1098C0000202020202020202020202020202020278
+:1098D0000202020202020202020202020202020268
+:1098E0000202020202020202020202020202020258
+:1098F0000202020202020202020202020202020248
+:109900000202020202020202020202020202020237
+:109910000202020202020202020202020202020227
+:109920000202020202020202020202020202020019
+:109930000000000000000000000000000000000027
+:109940000000000000000000000000000000000017
+:109950000000000000000000000000000000000007
+:1099600000000000000000000000000000000000F7
+:1099700000000000000000000000000000000000E7
+:1099800000000000000000000000000000000000D7
+:1099900000000000000000000000000000000000C7
+:1099A00000000000000000000000000000000000B7
+:1099B00000000000000000000000000000000000A7
+:1099C0000000000000000000000000000000000097
+:1099D0000000000000000000000000000000000087
+:1099E0000000000000000000000000000000000077
+:1099F0000000000000000000000000000000000067
+:109A00000000000000000000000000000000000056
+:109A10000000000000000000000000000000000046
+:109A20000000000000000000000000000000000036
+:109A30000000000000000000000000000000000026
+:109A40000000000000000000000000000000000016
+:109A50000000000000000000000000000000000006
+:109A600000000000000000000000000000000000F6
+:109A700000000000000000000000000000000000E6
+:109A800000000000000000000000000000000000D6
+:109A900000000000000000000000000000000000C6
+:109AA00000000000000000000000000000000000B6
+:109AB00000000000000000000000000000000000A6
+:109AC0000000000000000000000000000000000096
+:109AD0000000000000000000000000000000000086
+:109AE0000000000000000000000000000000000076
+:109AF0000000000000000000000000000000000066
+:109B00000000000000000000000000000000000055
+:109B10000000000000000000000000000000000045
+:109B20000000000000000000000000000000000035
+:109B30000000000000000000000000000000000025
+:109B40000000000000000000000000000000000015
+:109B50000000000000000000000000000000000005
+:109B600000000000000000000000000000000000F5
+:109B700000000000000000000000000000000000E5
+:109B800000000000000000000000000000000000D5
+:109B900000000000000000000000000000000000C5
+:109BA00000000000000000000000000000000000B5
+:109BB00000000000000000000000000000000000A5
+:109BC0000000000000000000000000000000000095
+:109BD0000000000000000000000000000000000085
+:109BE0000000000000000000000000000000000075
+:109BF0000000000000000000000000000000000065
+:109C00000000000000000000000000000000000054
+:109C10000000000000000000000000000000000044
+:109C20000000000000000000000000000000000034
+:109C30000000000000000000000000000000000024
+:109C40000000000000000000000000000000000014
+:109C50000000000000000000000000000000000004
+:109C600000000000000000000000000000000000F4
+:109C700000000000000000000000000000000000E4
+:109C800000000000000000000000000000000000D4
+:109C900000000000000000000000000000000000C4
+:109CA00000000000000000000000000000000000B4
+:109CB00000000000000000000000000000000000A4
+:109CC0000000000000000000000000000000000094
+:109CD0000000000000000000000000000000000084
+:109CE0000000000000000000000000000000000074
+:109CF0000000000000000000000000000000000064
+:109D00000000000000000000000000000000000053
+:109D10000000000000000000000000000000000043
+:109D20000000000000000000000000000000000033
+:109D30000000000000000000000000000000000023
+:109D40000000000000000000000000000000000013
+:109D50000000000000000000000000000000000003
+:109D600000000000000000000000000000000000F3
+:109D700000000000000000000000000000000000E3
+:109D800000000000000000000000000000000000D3
+:109D900000000000000000000000000000000000C3
+:109DA00000000000000000000000000000000000B3
+:109DB00000000000000000000000000000000000A3
+:109DC0000000000000000000000000000000000093
+:109DD0000000000000000000000000000000000083
+:109DE0000000000000000000000000000000000073
+:109DF0000000000000000000000000000000000063
+:109E00000000000000000000000000000000000052
+:109E10000000000000000000000000000000000042
+:109E20000000000000000000000000000000000032
+:109E30000000000000000000000000000000000022
+:109E40000000000000000000000000000000000012
+:109E50000000000000000000000000000000000002
+:109E600000000000000000000000000000000000F2
+:109E700000000000000000000000000000000000E2
+:109E800000000000000000000000000000000000D2
+:109E900000000000000000000000000000000000C2
+:109EA00000000000000000000000000000000000B2
+:109EB00000000000000000000000000000000000A2
+:109EC0000000000000000000000000000000000092
+:109ED0000000000000000000000000000000000082
+:109EE0000000000000000000000000000000000072
+:109EF0000000000000000000000000000000000062
+:109F00000000000000000000000000000000000051
+:109F10000000000000000000000000000000000041
+:109F200000000000000000000000000000000039F8
+:109F30000000000000000001010101010101010118
+:109F40000101010101010101010101010101010101
+:109F500001010101010101010101010101010101F1
+:109F600001010101010101010101010101010101E1
+:109F700001010101010101010101010101010101D1
+:109F800001010101010101010101010101010101C1
+:109F900001010101010101010101010101010101B1
+:109FA00001010101010101010101010101010101A1
+:109FB0000101010101010101010101010101010191
+:109FC0000101010101010101010101010101010181
+:109FD0000101010101010101010101010101010171
+:109FE0000101010101010101010101010101010161
+:109FF0000101010101010101010101010101010151
+:10A000000101010101010101010101010101010140
+:10A010000101010101010101010101010101010130
+:10A020000101010101010101010101010101010120
+:10A030000101010101010101010101010101010110
+:10A040000101010101010101010101010101010100
+:10A0500001010101010101010101010101010101F0
+:10A0600001010101010101010101010101010101E0
+:10A0700001010101010101010101010101010101D0
+:10A0800001010101010101010101010101010101C0
+:10A0900001010101010101010101010101010101B0
+:10A0A00001010101010101010101010101010101A0
+:10A0B0000101010101010101010101010101010190
+:10A0C0000101010101010101010101010101010180
+:10A0D0000101010101010101010101010101010170
+:10A0E0000101010101010101010101010101010160
+:10A0F0000101010101010101010101010101010150
+:10A10000010101010101010101010101010101013F
+:10A11000010101010101010101010101010101012F
+:10A12000010101010101010101010101010101011F
+:10A13000010101010101010101010101010101010F
+:10A1400001010101010101010101010101010101FF
+:10A1500001010101010101010101010101010101EF
+:10A1600001010101010101010101010101010101DF
+:10A1700001010101010101010101010101010101CF
+:10A1800001010101010101010101010101010101BF
+:10A1900001010101010101010101010101010101AF
+:10A1A000010101010101010101010101010101019F
+:10A1B000010101010101010101010101010101018F
+:10A1C000010101010101010101010101010101017F
+:10A1D000010101010101010101010101010101016F
+:10A1E000010101010101010101010101010101015F
+:10A1F000010101010101010101010101010101014F
+:10A20000010101010101010101010101010101013E
+:10A21000010101010101010101010101010101012E
+:10A22000010101010101010101010101010101011E
+:10A23000010101010101010101010101010101010E
+:10A2400001010101010101010101010101010101FE
+:10A2500001010101010101010101010101010101EE
+:10A2600001010101010101010101010101010101DE
+:10A2700001010101010101010101010101010101CE
+:10A2800001010101010101010101010101010101BE
+:10A2900001010101010101010101010101010101AE
+:10A2A000010101010101010101010101010101019E
+:10A2B000010101010101010101010101010101018E
+:10A2C000010101010101010101010101010101017E
+:10A2D000010101010101010101010101010101016E
+:10A2E000010101010101010101010101010101015E
+:10A2F000010101010101010101010101010101014E
+:10A30000010101010101010101010101010101013D
+:10A31000010101010101010101010101010101012D
+:10A32000010101010101010101010101010101011D
+:10A33000010101010101010101010101010101010D
+:10A3400001010101010101010101010101010101FD
+:10A3500001010101010101010101010101010101ED
+:10A3600001010101010101010101010101010101DD
+:10A3700001010101010101010101010101010101CD
+:10A3800001010101010101010101010101010101BD
+:10A3900001010101010101010101010101010101AD
+:10A3A000010101010101010101010101010101019D
+:10A3B000010101010101010101010101010101018D
+:10A3C000010101010101010101010101010101017D
+:10A3D000010101010101010101010101010101016D
+:10A3E000010101010101010101010101010101015D
+:10A3F000010101010101010101010101010101014D
+:10A40000010101010101010101010101010101013C
+:10A41000010101010101010101010101010101012C
+:10A42000010101010101010101010101010101011C
+:10A43000010101010101010101010101010101010C
+:10A4400001010101010101010101010101010101FC
+:10A4500001010101010101010101010101010101EC
+:10A4600001010101010101010101010101010101DC
+:10A4700001010101010101010101010101010101CC
+:10A4800001010101010101010101010101010101BC
+:10A4900001010101010101010101010101010101AC
+:10A4A000010101010101010101010101010101019C
+:10A4B000010101010101010101010101010101018C
+:10A4C000010101010101010101010101010101017C
+:10A4D000010101010101010101010101010101016C
+:10A4E000010101010101010101010101010101015C
+:10A4F000010101010101010101010101010101014C
+:10A50000010101010101010101010101010101013B
+:10A51000010101010101010101010101010101012B
+:10A52000010101010101010101010101010101011B
+:10A53000010101010101010101010101010101010B
+:10A5400001010101010101010101010101010101FB
+:10A5500001010101010101010101010101010101EB
+:10A5600001010101010101010101010101010101DB
+:10A5700001010101010101010101010101010101CB
+:10A5800001010101010101010101010101010101BB
+:10A5900001010101010101010101010101010101AB
+:10A5A000010101010101010101010101010101019B
+:10A5B000010101010101010101010101010101018B
+:10A5C000010101010101010101010101010101017B
+:10A5D000010101010101010101010101010101016B
+:10A5E000010101010101010101010101010101015B
+:10A5F000010101010101010101010101010101014B
+:10A60000010101010101010101010101010101013A
+:10A61000010101010101010101010101010101012A
+:10A62000010101010101010101010101010101011A
+:10A63000010101010101010101010101010101010A
+:10A6400001010101010101010101010101010101FA
+:10A6500001010101010101010101010101010101EA
+:10A6600001010101010101010101010101010101DA
+:10A6700001010101010101010101010101010101CA
+:10A6800001010101010101010101010101010101BA
+:10A6900001010101010101010101010101010101AA
+:10A6A000010101010101010101010101010101019A
+:10A6B000010101010101010101010101010101018A
+:10A6C000010101010101010101010101010101017A
+:10A6D000010101010101010101010101010101016A
+:10A6E000010101010101010101010101010101015A
+:10A6F000010101010101010101010101010101014A
+:10A700000101010101010101010101010101010139
+:10A710000101010101010101010101010101010129
+:10A720000101010101010101010101010101010119
+:10A730000101010101010100000000000000000012
+:10A740000000000000000000000000000000000009
+:10A7500000000000000000000000000000000000F9
+:10A7600000000000000000000000000000000000E9
+:10A7700000000000000000000000000000000000D9
+:10A7800000000000000000000000000000000000C9
+:10A7900000000000000000000000000000000000B9
+:10A7A00000000000000000000000000000000000A9
+:10A7B0000000000000000000000000000000000099
+:10A7C0000000000000000000000000000000000089
+:10A7D0000000000000000000000000000000000079
+:10A7E0000000000000000000000000000000000069
+:10A7F0000000000000000000000000000000000059
+:10A800000000000000000000000000000000000048
+:10A810000000000000000000000000000000000038
+:10A820000000000000000000000000000000000028
+:10A830000000000000000000000000000000000018
+:10A840000000000000000000000000000000000008
+:10A8500000000000000000000000000000000000F8
+:10A8600000000000000000000000000000000000E8
+:10A8700000000000000000000000000000000000D8
+:10A8800000000000000000000000000000000000C8
+:10A8900000000000000000000000000000000000B8
+:10A8A00000000000000000000000000000000000A8
+:10A8B0000000000000000000000000000000000098
+:10A8C0000000000000000000000000000000000088
+:10A8D0000000000000000000000000000000000078
+:10A8E0000000000000000000000000000000000068
+:10A8F0000000000000000000000000000000000058
+:10A900000000000000000000000000000000000047
+:10A910000000000000000000000000000000000037
+:10A920000000000000000000000000000000000027
+:10A930000000000000000000000000000000000017
+:10A940000000000000000000000000000000000007
+:10A9500000000000000000000000000000000000F7
+:10A9600000000000000000000000000000000000E7
+:10A9700000000000000000000000000000000000D7
+:10A9800000000000000000000000000000000000C7
+:10A9900000000000000000000000000000000000B7
+:10A9A00000000000000000000000000000000000A7
+:10A9B0000000000000000000000000000000000097
+:10A9C0000000000000000000000000000000000087
+:10A9D0000000000000000000000000000000000077
+:10A9E0000000000000000000000000000000000067
+:10A9F0000000000000000000000000000000000057
+:10AA00000000000000000000000000000000000046
+:10AA10000000000000000000000000000000000036
+:10AA20000000000000000000000000000000000026
+:10AA30000000000000000000000000000000000016
+:10AA40000000000000000000000000000000000006
+:10AA500000000000000000000000000000000000F6
+:10AA600000000000000000000000000000000000E6
+:10AA700000000000000000000000000000000000D6
+:10AA800000000000000000000000000000000000C6
+:10AA900000000000000000000000000000000000B6
+:10AAA00000000000000000000000000000000000A6
+:10AAB0000000000000000000000000000000000096
+:10AAC0000000000000000000000000000000000086
+:10AAD0000000000000000000000000000000000076
+:10AAE0000000000000000000000000000000000066
+:10AAF0000000000000000000000000000000000056
+:10AB00000000000000000000000000000000000045
+:10AB10000000000000000000000000000000000035
+:10AB20000000000000000000000000000000000025
+:10AB30000000000000000000000000000000000015
+:10AB40000000000000000000000000000000000005
+:10AB500000000000000000000000000000000000F5
+:10AB600000000000000000000000000000000000E5
+:10AB700000000000000000000000000000000000D5
+:10AB800000000000000000000000000000000000C5
+:10AB900000000000000000000000000000000000B5
+:10ABA00000000000000000000000000000000000A5
+:10ABB0000000000000000000000000000000000095
+:10ABC0000000000000000000000000000000000085
+:10ABD0000000000000000000000000000000000075
+:10ABE0000000000000000000000000000000000065
+:10ABF0000000000000000000000000000000000055
+:10AC00000000000000000000000000000000000044
+:10AC10000000000000000000000000000000000034
+:10AC20000000000000000000000000000000000024
+:10AC30000000000000000000000000000000000014
+:10AC40000000000000000000000000000000000004
+:10AC500000000000000000000000000000000000F4
+:10AC600000000000000000000000000000000000E4
+:10AC700000000000000000000000000000000000D4
+:10AC800000000000000000000000000000000000C4
+:10AC900000000000000000000000000000000000B4
+:10ACA00000000000000000000000000000000000A4
+:10ACB0000000000000000000000000000000000094
+:10ACC0000000000000000000000000000000000084
+:10ACD0000000000000000000000000000000000074
+:10ACE0000000000000000000000000000000000064
+:10ACF0000000000000000000000000000000000054
+:10AD00000000000000000000000000000000000043
+:10AD10000000000000000000000000000000000033
+:10AD20000000000000000000000000000000000023
+:10AD30000000000000000002020202020202020201
+:10AD400002020202020202020202020202020202E3
+:10AD500002020202020202020202020202020202D3
+:10AD600002020202020202020202020202020202C3
+:10AD700002020202020202020202020202020202B3
+:10AD800002020202020202020202020202020202A3
+:10AD90000202020202020202020202020202020293
+:10ADA0000202020202020202020202020202020283
+:10ADB0000202020202020202020202020202020273
+:10ADC0000202020202020202020202020202020263
+:10ADD0000202020202020202020202020202020253
+:10ADE0000202020202020202020202020202020243
+:10ADF0000202020202020202020202020202020233
+:10AE00000202020202020202020202020202020222
+:10AE10000202020202020202020202020202020212
+:10AE20000202020202020202020202020202020202
+:10AE300002020202020202020202020202020202F2
+:10AE400002020202020202020202020202020202E2
+:10AE500002020202020202020202020202020202D2
+:10AE600002020202020202020202020202020202C2
+:10AE700002020202020202020202020202020202B2
+:10AE800002020202020202020202020202020202A2
+:10AE90000202020202020202020202020202020292
+:10AEA0000202020202020202020202020202020282
+:10AEB0000202020202020202020202020202020272
+:10AEC0000202020202020202020202020202020262
+:10AED0000202020202020202020202020202020252
+:10AEE0000202020202020202020202020202020242
+:10AEF0000202020202020202020202020202020232
+:10AF00000202020202020202020202020202020221
+:10AF10000202020202020202020202020202020211
+:10AF20000202020202020202020202020202020201
+:10AF300002020202020202020202020202020202F1
+:10AF400002020202020202020202020202020202E1
+:10AF500002020202020202020202020202020202D1
+:10AF600002020202020202020202020202020202C1
+:10AF700002020202020202020202020202020202B1
+:10AF800002020202020202020202020202020202A1
+:10AF90000202020202020202020202020202020291
+:10AFA0000202020202020202020202020202020281
+:10AFB0000202020202020202020202020202020271
+:10AFC0000202020202020202020202020202020261
+:10AFD0000202020202020202020202020202020251
+:10AFE0000202020202020202020202020202020241
+:10AFF0000202020202020202020202020202020231
+:10B000000202020202020202020202020202020220
+:10B010000202020202020202020202020202020210
+:10B020000202020202020202020202020202020200
+:10B0300002020202020202020202020202020202F0
+:10B0400002020202020202020202020202020202E0
+:10B0500002020202020202020202020202020202D0
+:10B0600002020202020202020202020202020202C0
+:10B0700002020202020202020202020202020202B0
+:10B0800002020202020202020202020202020202A0
+:10B090000202020202020202020202020202020290
+:10B0A0000202020202020202020202020202020280
+:10B0B0000202020202020202020202020202020270
+:10B0C0000202020202020202020202020202020260
+:10B0D0000202020202020202020202020202020250
+:10B0E0000202020202020202020202020202020240
+:10B0F0000202020202020202020202020202020230
+:10B10000020202020202020202020202020202021F
+:10B11000020202020202020202020202020202020F
+:10B1200002020202020202020202020202020202FF
+:10B1300002020202020202020202020202020202EF
+:10B1400002020202020202020202020202020202DF
+:10B1500002020202020202020202020202020202CF
+:10B1600002020202020202020202020202020202BF
+:10B1700002020202020202020202020202020202AF
+:10B18000020202020202020202020202020202029F
+:10B19000020202020202020202020202020202028F
+:10B1A000020202020202020202020202020202027F
+:10B1B000020202020202020202020202020202026F
+:10B1C000020202020202020202020202020202025F
+:10B1D000020202020202020202020202020202024F
+:10B1E000020202020202020202020202020202023F
+:10B1F000020202020202020202020202020202022F
+:10B20000020202020202020202020202020202021E
+:10B21000020202020202020202020202020202020E
+:10B2200002020202020202020202020202020202FE
+:10B2300002020202020202020202020202020202EE
+:10B2400002020202020202020202020202020202DE
+:10B2500002020202020202020202020202020202CE
+:10B2600002020202020202020202020202020202BE
+:10B2700002020202020202020202020202020202AE
+:10B28000020202020202020202020202020202029E
+:10B29000020202020202020202020202020202028E
+:10B2A000020202020202020202020202020202027E
+:10B2B000020202020202020202020202020202026E
+:10B2C000020202020202020202020202020202025E
+:10B2D000020202020202020202020202020202024E
+:10B2E000020202020202020202020202020202023E
+:10B2F000020202020202020202020202020202022E
+:10B30000020202020202020202020202020202021D
+:10B31000020202020202020202020202020202020D
+:10B3200002020202020202020202020202020202FD
+:10B3300002020202020202020202020202020202ED
+:10B3400002020202020202020202020202020202DD
+:10B3500002020202020202020202020202020202CD
+:10B3600002020202020202020202020202020202BD
+:10B3700002020202020202020202020202020202AD
+:10B38000020202020202020202020202020202029D
+:10B39000020202020202020202020202020202028D
+:10B3A000020202020202020202020202020202027D
+:10B3B000020202020202020202020202020202026D
+:10B3C000020202020202020202020202020202025D
+:10B3D000020202020202020202020202020202024D
+:10B3E000020202020202020202020202020202023D
+:10B3F000020202020202020202020202020202022D
+:10B40000020202020202020202020202020202021C
+:10B41000020202020202020202020202020202020C
+:10B4200002020202020202020202020202020202FC
+:10B4300002020202020202020202020202020202EC
+:10B4400002020202020202020202020202020202DC
+:10B4500002020202020202020202020202020202CC
+:10B4600002020202020202020202020202020202BC
+:10B4700002020202020202020202020202020202AC
+:10B48000020202020202020202020202020202029C
+:10B49000020202020202020202020202020202028C
+:10B4A000020202020202020202020202020202027C
+:10B4B000020202020202020202020202020202026C
+:10B4C000020202020202020202020202020202025C
+:10B4D000020202020202020202020202020202024C
+:10B4E000020202020202020202020202020202023C
+:10B4F000020202020202020202020202020202022C
+:10B50000020202020202020202020202020202021B
+:10B51000020202020202020202020202020202020B
+:10B5200002020202020202020202020202020202FB
+:10B5300002020202020202000000000000000000FD
+:10B5400000000000000000000000000000000000FB
+:10B5500000000000000000000000000000000000EB
+:10B5600000000000000000000000000000000000DB
+:10B5700000000000000000000000000000000000CB
+:10B5800000000000000000000000000000000000BB
+:10B5900000000000000000000000000000000000AB
+:10B5A000000000000000000000000000000000009B
+:10B5B000000000000000000000000000000000008B
+:10B5C000000000000000000000000000000000007B
+:10B5D000000000000000000000000000000000006B
+:10B5E000000000000000000000000000000000005B
+:10B5F000000000000000000000000000000000004B
+:10B60000000000000000000000000000000000003A
+:10B61000000000000000000000000000000000002A
+:10B62000000000000000000000000000000000001A
+:10B63000000000000000000000000000000000000A
+:10B6400000000000000000000000000000000000FA
+:10B6500000000000000000000000000000000000EA
+:10B6600000000000000000000000000000000000DA
+:10B6700000000000000000000000000000000000CA
+:10B6800000000000000000000000000000000000BA
+:10B6900000000000000000000000000000000000AA
+:10B6A000000000000000000000000000000000009A
+:10B6B000000000000000000000000000000000008A
+:10B6C000000000000000000000000000000000007A
+:10B6D000000000000000000000000000000000006A
+:10B6E000000000000000000000000000000000005A
+:10B6F000000000000000000000000000000000004A
+:10B700000000000000000000000000000000000039
+:10B710000000000000000000000000000000000029
+:10B720000000000000000000000000000000000019
+:10B730000000000000000000000000000000000009
+:10B7400000000000000000000000000000000000F9
+:10B7500000000000000000000000000000000000E9
+:10B7600000000000000000000000000000000000D9
+:10B7700000000000000000000000000000000000C9
+:10B7800000000000000000000000000000000000B9
+:10B7900000000000000000000000000000000000A9
+:10B7A0000000000000000000000000000000000099
+:10B7B0000000000000000000000000000000000089
+:10B7C0000000000000000000000000000000000079
+:10B7D0000000000000000000000000000000000069
+:10B7E0000000000000000000000000000000000059
+:10B7F0000000000000000000000000000000000049
+:10B800000000000000000000000000000000000038
+:10B810000000000000000000000000000000000028
+:10B820000000000000000000000000000000000018
+:10B830000000000000000000000000000000000008
+:10B8400000000000000000000000000000000000F8
+:10B8500000000000000000000000000000000000E8
+:10B8600000000000000000000000000000000000D8
+:10B8700000000000000000000000000000000000C8
+:10B8800000000000000000000000000000000000B8
+:10B8900000000000000000000000000000000000A8
+:10B8A0000000000000000000000000000000000098
+:10B8B0000000000000000000000000000000000088
+:10B8C0000000000000000000000000000000000078
+:10B8D0000000000000000000000000000000000068
+:10B8E0000000000000000000000000000000000058
+:10B8F0000000000000000000000000000000000048
+:10B900000000000000000000000000000000000037
+:10B910000000000000000000000000000000000027
+:10B920000000000000000000000000000000000017
+:10B930000000000000000000000000000000000007
+:10B9400000000000000000000000000000000000F7
+:10B9500000000000000000000000000000000000E7
+:10B9600000000000000000000000000000000000D7
+:10B9700000000000000000000000000000000000C7
+:10B9800000000000000000000000000000000000B7
+:10B9900000000000000000000000000000000000A7
+:10B9A0000000000000000000000000000000000097
+:10B9B0000000000000000000000000000000000087
+:10B9C0000000000000000000000000000000000077
+:10B9D0000000000000000000000000000000000067
+:10B9E0000000000000000000000000000000000057
+:10B9F0000000000000000000000000000000000047
+:10BA00000000000000000000000000000000000036
+:10BA10000000000000000000000000000000000026
+:10BA20000000000000000000000000000000000016
+:10BA30000000000000000000000000000000000006
+:10BA400000000000000000000000000000000000F6
+:10BA500000000000000000000000000000000000E6
+:10BA600000000000000000000000000000000000D6
+:10BA700000000000000000000000000000000000C6
+:10BA800000000000000000000000000000000000B6
+:10BA900000000000000000000000000000000000A6
+:10BAA0000000000000000000000000000000000096
+:10BAB0000000000000000000000000000000000086
+:10BAC0000000000000000000000000000000000076
+:10BAD0000000000000000000000000000000000066
+:10BAE0000000000000000000000000000000000056
+:10BAF0000000000000000000000000000000000046
+:10BB00000000000000000000000000000000000035
+:10BB10000000000000000000000000000000000025
+:10BB20000000000000000000000000000000000015
+:10BB30000000000000000000000000000000000005
+:10BB400000000000000000000000000000000000F5
+:10BB500000000000000000000000000000000000E5
+:10BB600000000000000000000000000000000000D5
+:10BB700000000000000000000000000000000000C5
+:10BB800000000000000000000000000000000000B5
+:10BB900000000000000000000000000000000000A5
+:10BBA0000000000000000000000000000000000095
+:10BBB0000000000000000000000000000000000085
+:10BBC0000000000000000000000000000000000075
+:10BBD0000000000000000000000000000000000065
+:10BBE0000000000000000000000000000000000055
+:10BBF0000000000000000000000000000000000045
+:10BC00000000000000000000000000000000000034
+:10BC10000000000000000000000000000000000024
+:10BC20000000000000000000000000000000000014
+:10BC30000000000000000000000000000000000004
+:10BC400000000000000000000000000000000000F4
+:10BC500000000000000000000000000000000000E4
+:10BC600000000000000000000000000000000000D4
+:10BC700000000000000000000000000000000000C4
+:10BC800000000000000000000000000000000000B4
+:10BC900000000000000000000000000000000000A4
+:10BCA0000000000000000000000000000000000094
+:10BCB0000000000000000000000000000000000084
+:10BCC0000000000000000000000000000000000074
+:10BCD0000000000000000000000000000000000064
+:10BCE0000000000000000000000000000000000054
+:10BCF0000000000000000000000000000000000044
+:10BD00000000000000000000000000000000000033
+:10BD10000000000000000000000000000000000023
+:10BD20000000000000000000000000000000000013
+:10BD300000000000000000010101010101010101FA
+:10BD400001010101010101010101010101010101E3
+:10BD500001010101010101010101010101010101D3
+:10BD600001010101010101010101010101010101C3
+:10BD700001010101010101010101010101010101B3
+:10BD800001010101010101010101010101010101A3
+:10BD90000101010101010101010101010101010193
+:10BDA0000101010101010101010101010101010183
+:10BDB0000101010101010101010101010101010173
+:10BDC0000101010101010101010101010101010163
+:10BDD0000101010101010101010101010101010153
+:10BDE0000101010101010101010101010101010143
+:10BDF0000101010101010101010101010101010133
+:10BE00000101010101010101010101010101010122
+:10BE10000101010101010101010101010101010112
+:10BE20000101010101010101010101010101010102
+:10BE300001010101010101010101010101010101F2
+:10BE400001010101010101010101010101010101E2
+:10BE500001010101010101010101010101010101D2
+:10BE600001010101010101010101010101010101C2
+:10BE700001010101010101010101010101010101B2
+:10BE800001010101010101010101010101010101A2
+:10BE90000101010101010101010101010101010192
+:10BEA0000101010101010101010101010101010182
+:10BEB0000101010101010101010101010101010172
+:10BEC0000101010101010101010101010101010162
+:10BED0000101010101010101010101010101010152
+:10BEE0000101010101010101010101010101010142
+:10BEF0000101010101010101010101010101010132
+:10BF00000101010101010101010101010101010121
+:10BF10000101010101010101010101010101010111
+:10BF20000101010101010101010101010101010101
+:10BF300001010101010101010101010101010101F1
+:10BF400001010101010101010101010101010101E1
+:10BF500001010101010101010101010101010101D1
+:10BF600001010101010101010101010101010101C1
+:10BF700001010101010101010101010101010101B1
+:10BF800001010101010101010101010101010101A1
+:10BF90000101010101010101010101010101010191
+:10BFA0000101010101010101010101010101010181
+:10BFB0000101010101010101010101010101010171
+:10BFC0000101010101010101010101010101010161
+:10BFD0000101010101010101010101010101010151
+:10BFE0000101010101010101010101010101010141
+:10BFF0000101010101010101010101010101010131
+:10C000000101010101010101010101010101010120
+:10C010000101010101010101010101010101010110
+:10C020000101010101010101010101010101010100
+:10C0300001010101010101010101010101010101F0
+:10C0400001010101010101010101010101010101E0
+:10C0500001010101010101010101010101010101D0
+:10C0600001010101010101010101010101010101C0
+:10C0700001010101010101010101010101010101B0
+:10C0800001010101010101010101010101010101A0
+:10C090000101010101010101010101010101010190
+:10C0A0000101010101010101010101010101010180
+:10C0B0000101010101010101010101010101010170
+:10C0C0000101010101010101010101010101010160
+:10C0D0000101010101010101010101010101010150
+:10C0E0000101010101010101010101010101010140
+:10C0F0000101010101010101010101010101010130
+:10C10000010101010101010101010101010101011F
+:10C11000010101010101010101010101010101010F
+:10C1200001010101010101010101010101010101FF
+:10C1300001010101010101010101010101010101EF
+:10C1400001010101010101010101010101010101DF
+:10C1500001010101010101010101010101010101CF
+:10C1600001010101010101010101010101010101BF
+:10C1700001010101010101010101010101010101AF
+:10C18000010101010101010101010101010101019F
+:10C19000010101010101010101010101010101018F
+:10C1A000010101010101010101010101010101017F
+:10C1B000010101010101010101010101010101016F
+:10C1C000010101010101010101010101010101015F
+:10C1D000010101010101010101010101010101014F
+:10C1E000010101010101010101010101010101013F
+:10C1F000010101010101010101010101010101012F
+:10C20000010101010101010101010101010101011E
+:10C21000010101010101010101010101010101010E
+:10C2200001010101010101010101010101010101FE
+:10C2300001010101010101010101010101010101EE
+:10C2400001010101010101010101010101010101DE
+:10C2500001010101010101010101010101010101CE
+:10C2600001010101010101010101010101010101BE
+:10C2700001010101010101010101010101010101AE
+:10C28000010101010101010101010101010101019E
+:10C29000010101010101010101010101010101018E
+:10C2A000010101010101010101010101010101017E
+:10C2B000010101010101010101010101010101016E
+:10C2C000010101010101010101010101010101015E
+:10C2D000010101010101010101010101010101014E
+:10C2E000010101010101010101010101010101013E
+:10C2F000010101010101010101010101010101012E
+:10C30000010101010101010101010101010101011D
+:10C31000010101010101010101010101010101010D
+:10C3200001010101010101010101010101010101FD
+:10C3300001010101010101010101010101010101ED
+:10C3400001010101010101010101010101010101DD
+:10C3500001010101010101010101010101010101CD
+:10C3600001010101010101010101010101010101BD
+:10C3700001010101010101010101010101010101AD
+:10C38000010101010101010101010101010101019D
+:10C39000010101010101010101010101010101018D
+:10C3A000010101010101010101010101010101017D
+:10C3B000010101010101010101010101010101016D
+:10C3C000010101010101010101010101010101015D
+:10C3D000010101010101010101010101010101014D
+:10C3E000010101010101010101010101010101013D
+:10C3F000010101010101010101010101010101012D
+:10C40000010101010101010101010101010101011C
+:10C41000010101010101010101010101010101010C
+:10C4200001010101010101010101010101010101FC
+:10C4300001010101010101010101010101010101EC
+:10C4400001010101010101010101010101010101DC
+:10C4500001010101010101010101010101010101CC
+:10C4600001010101010101010101010101010101BC
+:10C4700001010101010101010101010101010101AC
+:10C48000010101010101010101010101010101019C
+:10C49000010101010101010101010101010101018C
+:10C4A000010101010101010101010101010101017C
+:10C4B000010101010101010101010101010101016C
+:10C4C000010101010101010101010101010101015C
+:10C4D000010101010101010101010101010101014C
+:10C4E000010101010101010101010101010101013C
+:10C4F000010101010101010101010101010101012C
+:10C50000010101010101010101010101010101011B
+:10C51000010101010101010101010101010101010B
+:10C5200001010101010101010101010101010101FB
+:10C5300001010101010101000000000000000000F4
+:10C5400000000000000000000000000000000000EB
+:10C5500000000000000000000000000000000000DB
+:10C5600000000000000000000000000000000000CB
+:10C5700000000000000000000000000000000000BB
+:10C5800000000000000000000000000000000000AB
+:10C59000000000000000000000000000000000009B
+:10C5A000000000000000000000000000000000008B
+:10C5B000000000000000000000000000000000007B
+:10C5C000000000000000000000000000000000006B
+:10C5D000000000000000000000000000000000005B
+:10C5E000000000000000000000000000000000004B
+:10C5F000000000000000000000000000000000003B
+:10C60000000000000000000000000000000000002A
+:10C61000000000000000000000000000000000001A
+:10C62000000000000000000000000000000000000A
+:10C6300000000000000000000000000000000000FA
+:10C6400000000000000000000000000000000000EA
+:10C6500000000000000000000000000000000000DA
+:10C6600000000000000000000000000000000000CA
+:10C6700000000000000000000000000000000000BA
+:10C6800000000000000000000000000000000000AA
+:10C69000000000000000000000000000000000009A
+:10C6A000000000000000000000000000000000008A
+:10C6B000000000000000000000000000000000007A
+:10C6C000000000000000000000000000000000006A
+:10C6D000000000000000000000000000000000005A
+:10C6E000000000000000000000000000000000004A
+:10C6F000000000000000000000000000000000003A
+:10C700000000000000000000000000000000000029
+:10C710000000000000000000000000000000000019
+:10C720000000000000000000000000000000000009
+:10C7300000000000000000000000000000000000F9
+:10C7400000000000000000000000000000000000E9
+:10C7500000000000000000000000000000000000D9
+:10C7600000000000000000000000000000000000C9
+:10C7700000000000000000000000000000000000B9
+:10C7800000000000000000000000000000000000A9
+:10C790000000000000000000000000000000000099
+:10C7A0000000000000000000000000000000000089
+:10C7B0000000000000000000000000000000000079
+:10C7C0000000000000000000000000000000000069
+:10C7D0000000000000000000000000000000000059
+:10C7E0000000000000000000000000000000000049
+:10C7F0000000000000000000000000000000000039
+:10C800000000000000000000000000000000000028
+:10C810000000000000000000000000000000000018
+:10C820000000000000000000000000000000000008
+:10C8300000000000000000000000000000000000F8
+:10C8400000000000000000000000000000000000E8
+:10C8500000000000000000000000000000000000D8
+:10C8600000000000000000000000000000000000C8
+:10C8700000000000000000000000000000000000B8
+:10C8800000000000000000000000000000000000A8
+:10C890000000000000000000000000000000000098
+:10C8A0000000000000000000000000000000000088
+:10C8B0000000000000000000000000000000000078
+:10C8C0000000000000000000000000000000000068
+:10C8D0000000000000000000000000000000000058
+:10C8E0000000000000000000000000000000000048
+:10C8F0000000000000000000000000000000000038
+:10C900000000000000000000000000000000000027
+:10C910000000000000000000000000000000000017
+:10C920000000000000000000000000000000000007
+:10C9300000000000000000000000000000000000F7
+:10C9400000000000000000000000000000000000E7
+:10C9500000000000000000000000000000000000D7
+:10C9600000000000000000000000000000000000C7
+:10C9700000000000000000000000000000000000B7
+:10C9800000000000000000000000000000000000A7
+:10C990000000000000000000000000000000000097
+:10C9A0000000000000000000000000000000000087
+:10C9B0000000000000000000000000000000000077
+:10C9C0000000000000000000000000000000000067
+:10C9D0000000000000000000000000000000000057
+:10C9E0000000000000000000000000000000000047
+:10C9F0000000000000000000000000000000000037
+:10CA00000000000000000000000000000000000026
+:10CA10000000000000000000000000000000000016
+:10CA20000000000000000000000000000000000006
+:10CA300000000000000000000000000000000000F6
+:10CA400000000000000000000000000000000000E6
+:10CA500000000000000000000000000000000000D6
+:10CA600000000000000000000000000000000000C6
+:10CA700000000000000000000000000000000000B6
+:10CA800000000000000000000000000000000000A6
+:10CA90000000000000000000000000000000000096
+:10CAA0000000000000000000000000000000000086
+:10CAB0000000000000000000000000000000000076
+:10CAC0000000000000000000000000000000000066
+:10CAD0000000000000000000000000000000000056
+:10CAE0000000000000000000000000000000000046
+:10CAF0000000000000000000000000000000000036
+:10CB00000000000000000000000000000000000025
+:10CB10000000000000000000000000000000000015
+:10CB20000000000000000000000000000000000005
+:10CB300000000000000000020202020202020202E3
+:10CB400002020202020202020202020202020202C5
+:10CB500002020202020202020202020202020202B5
+:10CB600002020202020202020202020202020202A5
+:10CB70000202020202020202020202020202020295
+:10CB80000202020202020202020202020202020285
+:10CB90000202020202020202020202020202020275
+:10CBA0000202020202020202020202020202020265
+:10CBB0000202020202020202020202020202020255
+:10CBC0000202020202020202020202020202020245
+:10CBD0000202020202020202020202020202020235
+:10CBE0000202020202020202020202020202020225
+:10CBF0000202020202020202020202020202020215
+:10CC00000202020202020202020202020202020204
+:10CC100002020202020202020202020202020202F4
+:10CC200002020202020202020202020202020202E4
+:10CC300002020202020202020202020202020202D4
+:10CC400002020202020202020202020202020202C4
+:10CC500002020202020202020202020202020202B4
+:10CC600002020202020202020202020202020202A4
+:10CC70000202020202020202020202020202020294
+:10CC80000202020202020202020202020202020284
+:10CC90000202020202020202020202020202020274
+:10CCA0000202020202020202020202020202020264
+:10CCB0000202020202020202020202020202020254
+:10CCC0000202020202020202020202020202020244
+:10CCD0000202020202020202020202020202020234
+:10CCE0000202020202020202020202020202020224
+:10CCF0000202020202020202020202020202020214
+:10CD00000202020202020202020202020202020203
+:10CD100002020202020202020202020202020202F3
+:10CD200002020202020202020202020202020202E3
+:10CD300002020202020202020202020202020202D3
+:10CD400002020202020202020202020202020202C3
+:10CD500002020202020202020202020202020202B3
+:10CD600002020202020202020202020202020202A3
+:10CD70000202020202020202020202020202020293
+:10CD80000202020202020202020202020202020283
+:10CD90000202020202020202020202020202020273
+:10CDA0000202020202020202020202020202020263
+:10CDB0000202020202020202020202020202020253
+:10CDC0000202020202020202020202020202020243
+:10CDD0000202020202020202020202020202020233
+:10CDE0000202020202020202020202020202020223
+:10CDF0000202020202020202020202020202020213
+:10CE00000202020202020202020202020202020202
+:10CE100002020202020202020202020202020202F2
+:10CE200002020202020202020202020202020202E2
+:10CE300002020202020202020202020202020202D2
+:10CE400002020202020202020202020202020202C2
+:10CE500002020202020202020202020202020202B2
+:10CE600002020202020202020202020202020202A2
+:10CE70000202020202020202020202020202020292
+:10CE80000202020202020202020202020202020282
+:10CE90000202020202020202020202020202020272
+:10CEA0000202020202020202020202020202020262
+:10CEB0000202020202020202020202020202020252
+:10CEC0000202020202020202020202020202020242
+:10CED0000202020202020202020202020202020232
+:10CEE0000202020202020202020202020202020222
+:10CEF0000202020202020202020202020202020212
+:10CF00000202020202020202020202020202020201
+:10CF100002020202020202020202020202020202F1
+:10CF200002020202020202020202020202020202E1
+:10CF300002020202020202020202020202020202D1
+:10CF400002020202020202020202020202020202C1
+:10CF500002020202020202020202020202020202B1
+:10CF600002020202020202020202020202020202A1
+:10CF70000202020202020202020202020202020291
+:10CF80000202020202020202020202020202020281
+:10CF90000202020202020202020202020202020271
+:10CFA0000202020202020202020202020202020261
+:10CFB0000202020202020202020202020202020251
+:10CFC0000202020202020202020202020202020241
+:10CFD0000202020202020202020202020202020231
+:10CFE0000202020202020202020202020202020221
+:10CFF0000202020202020202020202020202020211
+:10D000000202020202020202020202020202020200
+:10D0100002020202020202020202020202020202F0
+:10D0200002020202020202020202020202020202E0
+:10D0300002020202020202020202020202020202D0
+:10D0400002020202020202020202020202020202C0
+:10D0500002020202020202020202020202020202B0
+:10D0600002020202020202020202020202020202A0
+:10D070000202020202020202020202020202020290
+:10D080000202020202020202020202020202020280
+:10D090000202020202020202020202020202020270
+:10D0A0000202020202020202020202020202020260
+:10D0B0000202020202020202020202020202020250
+:10D0C0000202020202020202020202020202020240
+:10D0D0000202020202020202020202020202020230
+:10D0E0000202020202020202020202020202020220
+:10D0F0000202020202020202020202020202020210
+:10D1000002020202020202020202020202020202FF
+:10D1100002020202020202020202020202020202EF
+:10D1200002020202020202020202020202020202DF
+:10D1300002020202020202020202020202020202CF
+:10D1400002020202020202020202020202020202BF
+:10D1500002020202020202020202020202020202AF
+:10D16000020202020202020202020202020202029F
+:10D17000020202020202020202020202020202028F
+:10D18000020202020202020202020202020202027F
+:10D19000020202020202020202020202020202026F
+:10D1A000020202020202020202020202020202025F
+:10D1B000020202020202020202020202020202024F
+:10D1C000020202020202020202020202020202023F
+:10D1D000020202020202020202020202020202022F
+:10D1E000020202020202020202020202020202021F
+:10D1F000020202020202020202020202020202020F
+:10D2000002020202020202020202020202020202FE
+:10D2100002020202020202020202020202020202EE
+:10D2200002020202020202020202020202020202DE
+:10D2300002020202020202020202020202020202CE
+:10D2400002020202020202020202020202020202BE
+:10D2500002020202020202020202020202020202AE
+:10D26000020202020202020202020202020202029E
+:10D27000020202020202020202020202020202028E
+:10D28000020202020202020202020202020202027E
+:10D29000020202020202020202020202020202026E
+:10D2A000020202020202020202020202020202025E
+:10D2B000020202020202020202020202020202024E
+:10D2C000020202020202020202020202020202023E
+:10D2D000020202020202020202020202020202022E
+:10D2E000020202020202020202020202020202021E
+:10D2F000020202020202020202020202020202020E
+:10D3000002020202020202020202020202020202FD
+:10D3100002020202020202020202020202020202ED
+:10D3200002020202020202020202020202020202DD
+:10D3300002020202020202000000000000000000DF
+:10D3400000000000000000000000000000000000DD
+:10D3500000000000000000000000000000000000CD
+:10D3600000000000000000000000000000000000BD
+:10D3700000000000000000000000000000000000AD
+:10D38000000000000000000000000000000000009D
+:10D39000000000000000000000000000000000008D
+:10D3A000000000000000000000000000000000007D
+:10D3B000000000000000000000000000000000006D
+:10D3C000000000000000000000000000000000005D
+:10D3D000000000000000000000000000000000004D
+:10D3E000000000000000000000000000000000003D
+:10D3F000000000000000000000000000000000002D
+:10D40000000000000000000000000000000000001C
+:10D41000000000000000000000000000000000000C
+:10D4200000000000000000000000000000000000FC
+:10D4300000000000000000000000000000000000EC
+:10D4400000000000000000000000000000000000DC
+:10D4500000000000000000000000000000000000CC
+:10D4600000000000000000000000000000000000BC
+:10D4700000000000000000000000000000000000AC
+:10D48000000000000000000000000000000000009C
+:10D49000000000000000000000000000000000008C
+:10D4A000000000000000000000000000000000007C
+:10D4B000000000000000000000000000000000006C
+:10D4C000000000000000000000000000000000005C
+:10D4D000000000000000000000000000000000004C
+:10D4E000000000000000000000000000000000003C
+:10D4F000000000000000000000000000000000002C
+:10D50000000000000000000000000000000000001B
+:10D51000000000000000000000000000000000000B
+:10D5200000000000000000000000000000000000FB
+:10D5300000000000000000000000000000000000EB
+:10D5400000000000000000000000000000000000DB
+:10D5500000000000000000000000000000000000CB
+:10D5600000000000000000000000000000000000BB
+:10D5700000000000000000000000000000000000AB
+:10D58000000000000000000000000000000000009B
+:10D59000000000000000000000000000000000008B
+:10D5A000000000000000000000000000000000007B
+:10D5B000000000000000000000000000000000006B
+:10D5C000000000000000000000000000000000005B
+:10D5D000000000000000000000000000000000004B
+:10D5E000000000000000000000000000000000003B
+:10D5F000000000000000000000000000000000002B
+:10D60000000000000000000000000000000000001A
+:10D61000000000000000000000000000000000000A
+:10D6200000000000000000000000000000000000FA
+:10D6300000000000000000000000000000000000EA
+:10D6400000000000000000000000000000000000DA
+:10D6500000000000000000000000000000000000CA
+:10D6600000000000000000000000000000000000BA
+:10D6700000000000000000000000000000000000AA
+:10D68000000000000000000000000000000000009A
+:10D69000000000000000000000000000000000008A
+:10D6A000000000000000000000000000000000007A
+:10D6B000000000000000000000000000000000006A
+:10D6C000000000000000000000000000000000005A
+:10D6D000000000000000000000000000000000004A
+:10D6E000000000000000000000000000000000003A
+:10D6F000000000000000000000000000000000002A
+:10D700000000000000000000000000000000000019
+:10D710000000000000000000000000000000000009
+:10D7200000000000000000000000000000000000F9
+:10D7300000000000000000000000000000000000E9
+:10D7400000000000000000000000000000000000D9
+:10D7500000000000000000000000000000000000C9
+:10D7600000000000000000000000000000000000B9
+:10D7700000000000000000000000000000000000A9
+:10D780000000000000000000000000000000000099
+:10D790000000000000000000000000000000000089
+:10D7A0000000000000000000000000000000000079
+:10D7B0000000000000000000000000000000000069
+:10D7C0000000000000000000000000000000000059
+:10D7D0000000000000000000000000000000000049
+:10D7E0000000000000000000000000000000000039
+:10D7F0000000000000000000000000000000000029
+:10D800000000000000000000000000000000000018
+:10D810000000000000000000000000000000000008
+:10D8200000000000000000000000000000000000F8
+:10D83000000000000000003F0000000000000001A8
+:10D8400001010101010101010101010101010101C8
+:10D8500001010101010101010101010101010101B8
+:10D8600001010101010101010101010101010101A8
+:10D870000101010101010101010101010101010198
+:10D880000101010101010101010101010101010188
+:10D890000101010101010101010101010101010178
+:10D8A0000101010101010101010101010101010168
+:10D8B0000101010101010101010101010101010158
+:10D8C0000101010101010101010101010101010148
+:10D8D0000101010101010101010101010101010138
+:10D8E0000101010101010101010101010101010128
+:10D8F0000101010101010101010101010101010118
+:10D900000101010101010101010101010101010107
+:10D9100001010101010101010101010101010101F7
+:10D9200001010101010101010101010101010101E7
+:10D9300001010101010101010101010101010101D7
+:10D9400001010101010101010101010101010101C7
+:10D9500001010101010101010101010101010101B7
+:10D9600001010101010101010101010101010101A7
+:10D970000101010101010101010101010101010197
+:10D980000101010101010101010101010101010187
+:10D990000101010101010101010101010101010177
+:10D9A0000101010101010101010101010101010167
+:10D9B0000101010101010101010101010101010157
+:10D9C0000101010101010101010101010101010147
+:10D9D0000101010101010101010101010101010137
+:10D9E0000101010101010101010101010101010127
+:10D9F0000101010101010101010101010101010117
+:10DA00000101010101010101010101010101010106
+:10DA100001010101010101010101010101010101F6
+:10DA200001010101010101010101010101010101E6
+:10DA300001010101010101010101010101010101D6
+:10DA400001010101010101010101010101010101C6
+:10DA500001010101010101010101010101010101B6
+:10DA600001010101010101010101010101010101A6
+:10DA70000101010101010101010101010101010196
+:10DA80000101010101010101010101010101010186
+:10DA90000101010101010101010101010101010176
+:10DAA0000101010101010101010101010101010166
+:10DAB0000101010101010101010101010101010156
+:10DAC0000101010101010101010101010101010146
+:10DAD0000101010101010101010101010101010136
+:10DAE0000101010101010101010101010101010126
+:10DAF0000101010101010101010101010101010116
+:10DB00000101010101010101010101010101010105
+:10DB100001010101010101010101010101010101F5
+:10DB200001010101010101010101010101010101E5
+:10DB300001010101010101010101010101010101D5
+:10DB400001010101010101010101010101010101C5
+:10DB500001010101010101010101010101010101B5
+:10DB600001010101010101010101010101010101A5
+:10DB70000101010101010101010101010101010195
+:10DB80000101010101010101010101010101010185
+:10DB90000101010101010101010101010101010175
+:10DBA0000101010101010101010101010101010165
+:10DBB0000101010101010101010101010101010155
+:10DBC0000101010101010101010101010101010145
+:10DBD0000101010101010101010101010101010135
+:10DBE0000101010101010101010101010101010125
+:10DBF0000101010101010101010101010101010115
+:10DC00000101010101010101010101010101010104
+:10DC100001010101010101010101010101010101F4
+:10DC200001010101010101010101010101010101E4
+:10DC300001010101010101010101010101010101D4
+:10DC400001010101010101010101010101010101C4
+:10DC500001010101010101010101010101010101B4
+:10DC600001010101010101010101010101010101A4
+:10DC70000101010101010101010101010101010194
+:10DC80000101010101010101010101010101010184
+:10DC90000101010101010101010101010101010174
+:10DCA0000101010101010101010101010101010164
+:10DCB0000101010101010101010101010101010154
+:10DCC0000101010101010101010101010101010144
+:10DCD0000101010101010101010101010101010134
+:10DCE0000101010101010101010101010101010124
+:10DCF0000101010101010101010101010101010114
+:10DD00000101010101010101010101010101010103
+:10DD100001010101010101010101010101010101F3
+:10DD200001010101010101010101010101010101E3
+:10DD300001010101010101010101010101010101D3
+:10DD400001010101010101010101010101010101C3
+:10DD500001010101010101010101010101010101B3
+:10DD600001010101010101010101010101010101A3
+:10DD70000101010101010101010101010101010193
+:10DD80000101010101010101010101010101010183
+:10DD90000101010101010101010101010101010173
+:10DDA0000101010101010101010101010101010163
+:10DDB0000101010101010101010101010101010153
+:10DDC0000101010101010101010101010101010143
+:10DDD0000101010101010101010101010101010133
+:10DDE0000101010101010101010101010101010123
+:10DDF0000101010101010101010101010101010113
+:10DE00000101010101010101010101010101010102
+:10DE100001010101010101010101010101010101F2
+:10DE200001010101010101010101010101010101E2
+:10DE300001010101010101010101010101010101D2
+:10DE400001010101010101010101010101010101C2
+:10DE500001010101010101010101010101010101B2
+:10DE600001010101010101010101010101010101A2
+:10DE70000101010101010101010101010101010192
+:10DE80000101010101010101010101010101010182
+:10DE90000101010101010101010101010101010172
+:10DEA0000101010101010101010101010101010162
+:10DEB0000101010101010101010101010101010152
+:10DEC0000101010101010101010101010101010142
+:10DED0000101010101010101010101010101010132
+:10DEE0000101010101010101010101010101010122
+:10DEF0000101010101010101010101010101010112
+:10DF00000101010101010101010101010101010101
+:10DF100001010101010101010101010101010101F1
+:10DF200001010101010101010101010101010101E1
+:10DF300001010101010101010101010101010101D1
+:10DF400001010101010101010101010101010101C1
+:10DF500001010101010101010101010101010101B1
+:10DF600001010101010101010101010101010101A1
+:10DF70000101010101010101010101010101010191
+:10DF80000101010101010101010101010101010181
+:10DF90000101010101010101010101010101010171
+:10DFA0000101010101010101010101010101010161
+:10DFB0000101010101010101010101010101010151
+:10DFC0000101010101010101010101010101010141
+:10DFD0000101010101010101010101010101010131
+:10DFE0000101010101010101010101010101010121
+:10DFF0000101010101010101010101010101010111
+:10E000000101010101010101010101010101010100
+:10E0100001010101010101010101010101010101F0
+:10E0200001010101010101010101010101010101E0
+:10E0300001010101010101010101010101010100D1
+:10E0400000000000000000000000000000000000D0
+:10E0500000000000000000000000000000000000C0
+:10E0600000000000000000000000000000000000B0
+:10E0700000000000000000000000000000000000A0
+:10E080000000000000000000000000000000000090
+:10E090000000000000000000000000000000000080
+:10E0A0000000000000000000000000000000000070
+:10E0B0000000000000000000000000000000000060
+:10E0C0000000000000000000000000000000000050
+:10E0D0000000000000000000000000000000000040
+:10E0E0000000000000000000000000000000000030
+:10E0F0000000000000000000000000000000000020
+:10E10000000000000000000000000000000000000F
+:10E1100000000000000000000000000000000000FF
+:10E1200000000000000000000000000000000000EF
+:10E1300000000000000000000000000000000000DF
+:10E1400000000000000000000000000000000000CF
+:10E1500000000000000000000000000000000000BF
+:10E1600000000000000000000000000000000000AF
+:10E17000000000000000000000000000000000009F
+:10E18000000000000000000000000000000000008F
+:10E19000000000000000000000000000000000007F
+:10E1A000000000000000000000000000000000006F
+:10E1B000000000000000000000000000000000005F
+:10E1C000000000000000000000000000000000004F
+:10E1D000000000000000000000000000000000003F
+:10E1E000000000000000000000000000000000002F
+:10E1F000000000000000000000000000000000001F
+:10E20000000000000000000000000000000000000E
+:10E2100000000000000000000000000000000000FE
+:10E2200000000000000000000000000000000000EE
+:10E2300000000000000000000000000000000000DE
+:10E2400000000000000000000000000000000000CE
+:10E2500000000000000000000000000000000000BE
+:10E2600000000000000000000000000000000000AE
+:10E27000000000000000000000000000000000009E
+:10E28000000000000000000000000000000000008E
+:10E29000000000000000000000000000000000007E
+:10E2A000000000000000000000000000000000006E
+:10E2B000000000000000000000000000000000005E
+:10E2C000000000000000000000000000000000004E
+:10E2D000000000000000000000000000000000003E
+:10E2E000000000000000000000000000000000002E
+:10E2F000000000000000000000000000000000001E
+:10E30000000000000000000000000000000000000D
+:10E3100000000000000000000000000000000000FD
+:10E3200000000000000000000000000000000000ED
+:10E3300000000000000000000000000000000000DD
+:10E3400000000000000000000000000000000000CD
+:10E3500000000000000000000000000000000000BD
+:10E3600000000000000000000000000000000000AD
+:10E37000000000000000000000000000000000009D
+:10E38000000000000000000000000000000000008D
+:10E39000000000000000000000000000000000007D
+:10E3A000000000000000000000000000000000006D
+:10E3B000000000000000000000000000000000005D
+:10E3C000000000000000000000000000000000004D
+:10E3D000000000000000000000000000000000003D
+:10E3E000000000000000000000000000000000002D
+:10E3F000000000000000000000000000000000001D
+:10E40000000000000000000000000000000000000C
+:10E4100000000000000000000000000000000000FC
+:10E4200000000000000000000000000000000000EC
+:10E4300000000000000000000000000000000000DC
+:10E4400000000000000000000000000000000000CC
+:10E4500000000000000000000000000000000000BC
+:10E4600000000000000000000000000000000000AC
+:10E47000000000000000000000000000000000009C
+:10E48000000000000000000000000000000000008C
+:10E49000000000000000000000000000000000007C
+:10E4A000000000000000000000000000000000006C
+:10E4B000000000000000000000000000000000005C
+:10E4C000000000000000000000000000000000004C
+:10E4D000000000000000000000000000000000003C
+:10E4E000000000000000000000000000000000002C
+:10E4F000000000000000000000000000000000001C
+:10E50000000000000000000000000000000000000B
+:10E5100000000000000000000000000000000000FB
+:10E5200000000000000000000000000000000000EB
+:10E5300000000000000000000000000000000000DB
+:10E5400000000000000000000000000000000000CB
+:10E5500000000000000000000000000000000000BB
+:10E5600000000000000000000000000000000000AB
+:10E57000000000000000000000000000000000009B
+:10E58000000000000000000000000000000000008B
+:10E59000000000000000000000000000000000007B
+:10E5A000000000000000000000000000000000006B
+:10E5B000000000000000000000000000000000005B
+:10E5C000000000000000000000000000000000004B
+:10E5D000000000000000000000000000000000003B
+:10E5E000000000000000000000000000000000002B
+:10E5F000000000000000000000000000000000001B
+:10E60000000000000000000000000000000000000A
+:10E6100000000000000000000000000000000000FA
+:10E6200000000000000000000000000000000000EA
+:10E6300000000000000000000000000000000000DA
+:10E6400000000000000000000000000000000000CA
+:10E6500000000000000000000000000000000000BA
+:10E6600000000000000000000000000000000000AA
+:10E67000000000000000000000000000000000009A
+:10E68000000000000000000000000000000000008A
+:10E69000000000000000000000000000000000007A
+:10E6A000000000000000000000000000000000006A
+:10E6B000000000000000000000000000000000005A
+:10E6C000000000000000000000000000000000004A
+:10E6D000000000000000000000000000000000003A
+:10E6E000000000000000000000000000000000002A
+:10E6F000000000000000000000000000000000001A
+:10E700000000000000000000000000000000000009
+:10E7100000000000000000000000000000000000F9
+:10E7200000000000000000000000000000000000E9
+:10E7300000000000000000000000000000000002D7
+:10E7400002020202020202020202020202020202A9
+:10E750000202020202020202020202020202020299
+:10E760000202020202020202020202020202020289
+:10E770000202020202020202020202020202020279
+:10E780000202020202020202020202020202020269
+:10E790000202020202020202020202020202020259
+:10E7A0000202020202020202020202020202020249
+:10E7B0000202020202020202020202020202020239
+:10E7C0000202020202020202020202020202020229
+:10E7D0000202020202020202020202020202020219
+:10E7E0000202020202020202020202020202020209
+:10E7F00002020202020202020202020202020202F9
+:10E8000002020202020202020202020202020202E8
+:10E8100002020202020202020202020202020202D8
+:10E8200002020202020202020202020202020202C8
+:10E8300002020202020202020202020202020202B8
+:10E8400002020202020202020202020202020202A8
+:10E850000202020202020202020202020202020298
+:10E860000202020202020202020202020202020288
+:10E870000202020202020202020202020202020278
+:10E880000202020202020202020202020202020268
+:10E890000202020202020202020202020202020258
+:10E8A0000202020202020202020202020202020248
+:10E8B0000202020202020202020202020202020238
+:10E8C0000202020202020202020202020202020228
+:10E8D0000202020202020202020202020202020218
+:10E8E0000202020202020202020202020202020208
+:10E8F00002020202020202020202020202020202F8
+:10E9000002020202020202020202020202020202E7
+:10E9100002020202020202020202020202020202D7
+:10E9200002020202020202020202020202020202C7
+:10E9300002020202020202020202020202020202B7
+:10E9400002020202020202020202020202020202A7
+:10E950000202020202020202020202020202020297
+:10E960000202020202020202020202020202020287
+:10E970000202020202020202020202020202020277
+:10E980000202020202020202020202020202020267
+:10E990000202020202020202020202020202020257
+:10E9A0000202020202020202020202020202020247
+:10E9B0000202020202020202020202020202020237
+:10E9C0000202020202020202020202020202020227
+:10E9D0000202020202020202020202020202020217
+:10E9E0000202020202020202020202020202020207
+:10E9F00002020202020202020202020202020202F7
+:10EA000002020202020202020202020202020202E6
+:10EA100002020202020202020202020202020202D6
+:10EA200002020202020202020202020202020202C6
+:10EA300002020202020202020202020202020202B6
+:10EA400002020202020202020202020202020202A6
+:10EA50000202020202020202020202020202020296
+:10EA60000202020202020202020202020202020286
+:10EA70000202020202020202020202020202020276
+:10EA80000202020202020202020202020202020266
+:10EA90000202020202020202020202020202020256
+:10EAA0000202020202020202020202020202020246
+:10EAB0000202020202020202020202020202020236
+:10EAC0000202020202020202020202020202020226
+:10EAD0000202020202020202020202020202020216
+:10EAE0000202020202020202020202020202020206
+:10EAF00002020202020202020202020202020202F6
+:10EB000002020202020202020202020202020202E5
+:10EB100002020202020202020202020202020202D5
+:10EB200002020202020202020202020202020202C5
+:10EB300002020202020202020202020202020202B5
+:10EB400002020202020202020202020202020202A5
+:10EB50000202020202020202020202020202020295
+:10EB60000202020202020202020202020202020285
+:10EB70000202020202020202020202020202020275
+:10EB80000202020202020202020202020202020265
+:10EB90000202020202020202020202020202020255
+:10EBA0000202020202020202020202020202020245
+:10EBB0000202020202020202020202020202020235
+:10EBC0000202020202020202020202020202020225
+:10EBD0000202020202020202020202020202020215
+:10EBE0000202020202020202020202020202020205
+:10EBF00002020202020202020202020202020202F5
+:10EC000002020202020202020202020202020202E4
+:10EC100002020202020202020202020202020202D4
+:10EC200002020202020202020202020202020202C4
+:10EC300002020202020202020202020202020202B4
+:10EC400002020202020202020202020202020202A4
+:10EC50000202020202020202020202020202020294
+:10EC60000202020202020202020202020202020284
+:10EC70000202020202020202020202020202020274
+:10EC80000202020202020202020202020202020264
+:10EC90000202020202020202020202020202020254
+:10ECA0000202020202020202020202020202020244
+:10ECB0000202020202020202020202020202020234
+:10ECC0000202020202020202020202020202020224
+:10ECD0000202020202020202020202020202020214
+:10ECE0000202020202020202020202020202020204
+:10ECF00002020202020202020202020202020202F4
+:10ED000002020202020202020202020202020202E3
+:10ED100002020202020202020202020202020202D3
+:10ED200002020202020202020202020202020202C3
+:10ED300002020202020202020202020202020202B3
+:10ED400002020202020202020202020202020202A3
+:10ED50000202020202020202020202020202020293
+:10ED60000202020202020202020202020202020283
+:10ED70000202020202020202020202020202020273
+:10ED80000202020202020202020202020202020263
+:10ED90000202020202020202020202020202020253
+:10EDA0000202020202020202020202020202020243
+:10EDB0000202020202020202020202020202020233
+:10EDC0000202020202020202020202020202020223
+:10EDD0000202020202020202020202020202020213
+:10EDE0000202020202020202020202020202020203
+:10EDF00002020202020202020202020202020202F3
+:10EE000002020202020202020202020202020202E2
+:10EE100002020202020202020202020202020202D2
+:10EE200002020202020202020202020202020202C2
+:10EE300002020202020202020202020202020202B2
+:10EE400002020202020202020202020202020202A2
+:10EE50000202020202020202020202020202020292
+:10EE60000202020202020202020202020202020282
+:10EE70000202020202020202020202020202020272
+:10EE80000202020202020202020202020202020262
+:10EE90000202020202020202020202020202020252
+:10EEA0000202020202020202020202020202020242
+:10EEB0000202020202020202020202020202020232
+:10EEC0000202020202020202020202020202020222
+:10EED0000202020202020202020202020202020212
+:10EEE0000202020202020202020202020202020202
+:10EEF00002020202020202020202020202020202F2
+:10EF000002020202020202020202020202020202E1
+:10EF100002020202020202020202020202020202D1
+:10EF200002020202020202020202020202020202C1
+:10EF300002020202020202020202020202020200B3
+:10EF400000000000000000000000000000000000C1
+:10EF500000000000000000000000000000000000B1
+:10EF600000000000000000000000000000000000A1
+:10EF70000000000000000000000000000000000091
+:10EF80000000000000000000000000000000000081
+:10EF90000000000000000000000000000000000071
+:10EFA0000000000000000000000000000000000061
+:10EFB0000000000000000000000000000000000051
+:10EFC0000000000000000000000000000000000041
+:10EFD0000000000000000000000000000000000031
+:10EFE0000000000000000000000000000000000021
+:10EFF0000000000000000000000000000000000011
+:10F000000000000000000000000000000000000000
+:10F0100000000000000000000000000000000000F0
+:10F0200000000000000000000000000000000000E0
+:10F0300000000000000000000000000000000000D0
+:10F0400000000000000000000000000000000000C0
+:10F0500000000000000000000000000000000000B0
+:10F0600000000000000000000000000000000000A0
+:10F070000000000000000000000000000000000090
+:10F080000000000000000000000000000000000080
+:10F090000000000000000000000000000000000070
+:10F0A0000000000000000000000000000000000060
+:10F0B0000000000000000000000000000000000050
+:10F0C0000000000000000000000000000000000040
+:10F0D0000000000000000000000000000000000030
+:10F0E0000000000000000000000000000000000020
+:10F0F0000000000000000000000000000000000010
+:10F1000000000000000000000000000000000000FF
+:10F1100000000000000000000000000000000000EF
+:10F1200000000000000000000000000000000000DF
+:10F1300000000000000000000000000000000000CF
+:10F1400000000000000000000000000000000000BF
+:10F1500000000000000000000000000000000000AF
+:10F16000000000000000000000000000000000009F
+:10F17000000000000000000000000000000000008F
+:10F18000000000000000000000000000000000007F
+:10F19000000000000000000000000000000000006F
+:10F1A000000000000000000000000000000000005F
+:10F1B000000000000000000000000000000000004F
+:10F1C000000000000000000000000000000000003F
+:10F1D000000000000000000000000000000000002F
+:10F1E000000000000000000000000000000000001F
+:10F1F000000000000000000000000000000000000F
+:10F2000000000000000000000000000000000000FE
+:10F2100000000000000000000000000000000000EE
+:10F2200000000000000000000000000000000000DE
+:10F2300000000000000000000000000000000000CE
+:10F2400000000000000000000000000000000000BE
+:10F2500000000000000000000000000000000000AE
+:10F26000000000000000000000000000000000009E
+:10F27000000000000000000000000000000000008E
+:10F28000000000000000000000000000000000007E
+:10F29000000000000000000000000000000000006E
+:10F2A000000000000000000000000000000000005E
+:10F2B000000000000000000000000000000000004E
+:10F2C000000000000000000000000000000000003E
+:10F2D000000000000000000000000000000000002E
+:10F2E000000000000000000000000000000000001E
+:10F2F000000000000000000000000000000000000E
+:10F3000000000000000000000000000000000000FD
+:10F3100000000000000000000000000000000000ED
+:10F3200000000000000000000000000000000000DD
+:10F3300000000000000000000000000000000000CD
+:10F3400000000000000000000000000000000000BD
+:10F3500000000000000000000000000000000000AD
+:10F36000000000000000000000000000000000009D
+:10F37000000000000000000000000000000000008D
+:10F38000000000000000000000000000000000007D
+:10F39000000000000000000000000000000000006D
+:10F3A000000000000000000000000000000000005D
+:10F3B000000000000000000000000000000000004D
+:10F3C000000000000000000000000000000000003D
+:10F3D000000000000000000000000000000000002D
+:10F3E000000000000000000000000000000000001D
+:10F3F000000000000000000000000000000000000D
+:10F4000000000000000000000000000000000000FC
+:10F4100000000000000000000000000000000000EC
+:10F4200000000000000000000000000000000000DC
+:10F4300000000000000000000000000000000000CC
+:10F4400000000000000000000000000000000000BC
+:10F4500000000000000000000000000000000000AC
+:10F46000000000000000000000000000000000009C
+:10F47000000000000000000000000000000000008C
+:10F48000000000000000000000000000000000007C
+:10F49000000000000000000000000000000000006C
+:10F4A000000000000000000000000000000000005C
+:10F4B000000000000000000000000000000000004C
+:10F4C000000000000000000000000000000000003C
+:10F4D000000000000000000000000000000000002C
+:10F4E000000000000000000000000000000000001C
+:10F4F000000000000000000000000000000000000C
+:10F5000000000000000000000000000000000000FB
+:10F5100000000000000000000000000000000000EB
+:10F5200000000000000000000000000000000000DB
+:10F5300000000000000000000000000000000000CB
+:10F5400000000000000000000000000000000000BB
+:10F5500000000000000000000000000000000000AB
+:10F56000000000000000000000000000000000009B
+:10F57000000000000000000000000000000000008B
+:10F58000000000000000000000000000000000007B
+:10F59000000000000000000000000000000000006B
+:10F5A000000000000000000000000000000000005B
+:10F5B000000000000000000000000000000000004B
+:10F5C000000000000000000000000000000000003B
+:10F5D000000000000000000000000000000000002B
+:10F5E000000000000000000000000000000000001B
+:10F5F000000000000000000000000000000000000B
+:10F6000000000000000000000000000000000000FA
+:10F6100000000000000000000000000000000000EA
+:10F6200000000000000000000000000000000000DA
+:10F6300000000000000000000000000000000000CA
+:10F6400000000000000000000000000000000000BA
+:10F6500000000000000000000000000000000000AA
+:10F66000000000000000000000000000000000009A
+:10F67000000000000000000000000000000000008A
+:10F68000000000000000000000000000000000007A
+:10F69000000000000000000000000000000000006A
+:10F6A000000000000000000000000000000000005A
+:10F6B000000000000000000000000000000000004A
+:10F6C000000000000000000000000000000000003A
+:10F6D000000000000000000000000000000000002A
+:10F6E000000000000000000000000000000000001A
+:10F6F000000000000000000000000000000000000A
+:10F7000000000000000000000000000000000000F9
+:10F7100000000000000000000000000000000000E9
+:10F7200000000000000000000000000000000000D9
+:10F7300000000000000000000000000000000000C9
+:10F7400000000000000000000000000000000000B9
+:10F7500000000000000000000000000000000000A9
+:10F760000000000000000000000000000000000099
+:10F770000000000000000000000000000000000089
+:10F780000000000000000000000000000000000079
+:10F790000000000000000000000000000000000069
+:10F7A0000000000000000000000000000000000059
+:10F7B0000000000000000000000000000000000049
+:10F7C0000000000000000000000000000000000039
+:10F7D0000000000000000000000000000000000029
+:10F7E0000000000000000000000000000000000019
+:10F7F0000000000000000000000000000000000009
+:10F8000000000000000000000000000000000000F8
+:10F8100000000000000000000000000000000000E8
+:10F8200000000000000000000000000000000000D8
+:10F8300000000000000000000000000000000000C8
+:10F8400000000000000000000000000000000000B8
+:10F8500000000000000000000000000000000000A8
+:10F860000000000000000000000000000000000098
+:10F870000000000000000000000000000000000088
+:10F880000000000000000000000000000000000078
+:10F890000000000000000000000000000000000068
+:10F8A0000000000000000000000000000000000058
+:10F8B0000000000000000000000000000000000048
+:10F8C0000000000000000000000000000000000038
+:10F8D0000000000000000000000000000000000028
+:10F8E0000000000000000000000000000000000018
+:10F8F0000000000000000000000000000000000008
+:10F9000000000000000000000000000000000000F7
+:10F9100000000000000000000000000000000000E7
+:10F9200000000000000000000000000000000000D7
+:10F9300000000000000000000000000000000001C6
+:10F9400001010101010101010101010101010101A7
+:10F950000101010101010101010101010101010197
+:10F960000101010101010101010101010101010187
+:10F970000101010101010101010101010101010177
+:10F980000101010101010101010101010101010167
+:10F990000101010101010101010101010101010157
+:10F9A0000101010101010101010101010101010147
+:10F9B0000101010101010101010101010101010137
+:10F9C0000101010101010101010101010101010127
+:10F9D0000101010101010101010101010101010117
+:10F9E0000101010101010101010101010101010107
+:10F9F00001010101010101010101010101010101F7
+:10FA000001010101010101010101010101010101E6
+:10FA100001010101010101010101010101010101D6
+:10FA200001010101010101010101010101010101C6
+:10FA300001010101010101010101010101010101B6
+:10FA400001010101010101010101010101010101A6
+:10FA50000101010101010101010101010101010196
+:10FA60000101010101010101010101010101010186
+:10FA70000101010101010101010101010101010176
+:10FA80000101010101010101010101010101010166
+:10FA90000101010101010101010101010101010156
+:10FAA0000101010101010101010101010101010146
+:10FAB0000101010101010101010101010101010136
+:10FAC0000101010101010101010101010101010126
+:10FAD0000101010101010101010101010101010116
+:10FAE0000101010101010101010101010101010106
+:10FAF00001010101010101010101010101010101F6
+:10FB000001010101010101010101010101010101E5
+:10FB100001010101010101010101010101010101D5
+:10FB200001010101010101010101010101010101C5
+:10FB300001010101010101010101010101010101B5
+:10FB400001010101010101010101010101010101A5
+:10FB50000101010101010101010101010101010195
+:10FB60000101010101010101010101010101010185
+:10FB70000101010101010101010101010101010175
+:10FB80000101010101010101010101010101010165
+:10FB90000101010101010101010101010101010155
+:10FBA0000101010101010101010101010101010145
+:10FBB0000101010101010101010101010101010135
+:10FBC0000101010101010101010101010101010125
+:10FBD0000101010101010101010101010101010115
+:10FBE0000101010101010101010101010101010105
+:10FBF00001010101010101010101010101010101F5
+:10FC000001010101010101010101010101010101E4
+:10FC100001010101010101010101010101010101D4
+:10FC200001010101010101010101010101010101C4
+:10FC300001010101010101010101010101010101B4
+:10FC400001010101010101010101010101010101A4
+:10FC50000101010101010101010101010101010194
+:10FC60000101010101010101010101010101010184
+:10FC70000101010101010101010101010101010174
+:10FC80000101010101010101010101010101010164
+:10FC90000101010101010101010101010101010154
+:10FCA0000101010101010101010101010101010144
+:10FCB0000101010101010101010101010101010134
+:10FCC0000101010101010101010101010101010124
+:10FCD0000101010101010101010101010101010114
+:10FCE0000101010101010101010101010101010104
+:10FCF00001010101010101010101010101010101F4
+:10FD000001010101010101010101010101010101E3
+:10FD100001010101010101010101010101010101D3
+:10FD200001010101010101010101010101010101C3
+:10FD300001010101010101010101010101010101B3
+:10FD400001010101010101010101010101010101A3
+:10FD50000101010101010101010101010101010193
+:10FD60000101010101010101010101010101010183
+:10FD70000101010101010101010101010101010173
+:10FD80000101010101010101010101010101010163
+:10FD90000101010101010101010101010101010153
+:10FDA0000101010101010101010101010101010143
+:10FDB0000101010101010101010101010101010133
+:10FDC0000101010101010101010101010101010123
+:10FDD0000101010101010101010101010101010113
+:10FDE0000101010101010101010101010101010103
+:10FDF00001010101010101010101010101010101F3
+:10FE000001010101010101010101010101010101E2
+:10FE100001010101010101010101010101010101D2
+:10FE200001010101010101010101010101010101C2
+:10FE300001010101010101010101010101010101B2
+:10FE400001010101010101010101010101010101A2
+:10FE50000101010101010101010101010101010192
+:10FE60000101010101010101010101010101010182
+:10FE70000101010101010101010101010101010172
+:10FE80000101010101010101010101010101010162
+:10FE90000101010101010101010101010101010152
+:10FEA0000101010101010101010101010101010142
+:10FEB0000101010101010101010101010101010132
+:10FEC0000101010101010101010101010101010122
+:10FED0000101010101010101010101010101010112
+:10FEE0000101010101010101010101010101010102
+:10FEF00001010101010101010101010101010101F2
+:10FF000001010101010101010101010101010101E1
+:10FF100001010101010101010101010101010101D1
+:10FF200001010101010101010101010101010101C1
+:10FF300001010101010101010101010101010101B1
+:10FF400001010101010101010101010101010101A1
+:10FF50000101010101010101010101010101010191
+:10FF60000101010101010101010101010101010181
+:10FF70000101010101010101010101010101010171
+:10FF80000101010101010101010101010101010161
+:10FF90000101010101010101010101010101010151
+:10FFA0000101010101010101010101010101010141
+:10FFB0000101010101010101010101010101010131
+:10FFC0000101010101010101010101010101010121
+:10FFD0000101010101010101010101010101010111
+:10FFE0000101010101010101010101010101010101
+:10FFF00001010101010101010101010101010101F1
+:020000025000AC
+:1000000001010101010101010101010101010101E0
+:1000100001010101010101010101010101010101D0
+:1000200001010101010101010101010101010101C0
+:1000300001010101010101010101010101010101B0
+:1000400001010101010101010101010101010101A0
+:100050000101010101010101010101010101010190
+:100060000101010101010101010101010101010180
+:100070000101010101010101010101010101010170
+:100080000101010101010101010101010101010160
+:100090000101010101010101010101010101010150
+:1000A0000101010101010101010101010101010140
+:1000B0000101010101010101010101010101010130
+:1000C0000101010101010101010101010101010120
+:1000D0000101010101010101010101010101010110
+:1000E0000101010101010101010101010101010100
+:1000F00001010101010101010101010101010101F0
+:1001000001010101010101010101010101010101DF
+:1001100001010101010101010101010101010101CF
+:1001200001010101010101010101010101010101BF
+:1001300001010101010101010101010101010100B0
+:1001400000000000000000000000000000000000AF
+:10015000000000000000000000000000000000009F
+:10016000000000000000000000000000000000008F
+:10017000000000000000000000000000000000007F
+:10018000000000000000000000000000000000006F
+:10019000000000000000000000000000000000005F
+:1001A000000000000000000000000000000000004F
+:1001B000000000000000000000000000000000003F
+:1001C000000000000000000000000000000000002F
+:1001D000000000000000000000000000000000001F
+:1001E000000000000000000000000000000000000F
+:1001F00000000000000000000000000000000000FF
+:1002000000000000000000000000000000000000EE
+:1002100000000000000000000000000000000000DE
+:1002200000000000000000000000000000000000CE
+:1002300000000000000000000000000000000000BE
+:1002400000000000000000000000000000000000AE
+:10025000000000000000000000000000000000009E
+:10026000000000000000000000000000000000008E
+:10027000000000000000000000000000000000007E
+:10028000000000000000000000000000000000006E
+:10029000000000000000000000000000000000005E
+:1002A000000000000000000000000000000000004E
+:1002B000000000000000000000000000000000003E
+:1002C000000000000000000000000000000000002E
+:1002D000000000000000000000000000000000001E
+:1002E000000000000000000000000000000000000E
+:1002F00000000000000000000000000000000000FE
+:1003000000000000000000000000000000000000ED
+:1003100000000000000000000000000000000000DD
+:1003200000000000000000000000000000000000CD
+:1003300000000000000000000000000000000000BD
+:1003400000000000000000000000000000000000AD
+:10035000000000000000000000000000000000009D
+:10036000000000000000000000000000000000008D
+:10037000000000000000000000000000000000007D
+:10038000000000000000000000000000000000006D
+:10039000000000000000000000000000000000005D
+:1003A000000000000000000000000000000000004D
+:1003B000000000000000000000000000000000003D
+:1003C000000000000000000000000000000000002D
+:1003D000000000000000000000000000000000001D
+:1003E000000000000000000000000000000000000D
+:1003F00000000000000000000000000000000000FD
+:1004000000000000000000000000000000000000EC
+:1004100000000000000000000000000000000000DC
+:1004200000000000000000000000000000000000CC
+:1004300000000000000000000000000000000000BC
+:1004400000000000000000000000000000000000AC
+:10045000000000000000000000000000000000009C
+:10046000000000000000000000000000000000008C
+:10047000000000000000000000000000000000007C
+:10048000000000000000000000000000000000006C
+:10049000000000000000000000000000000000005C
+:1004A000000000000000000000000000000000004C
+:1004B000000000000000000000000000000000003C
+:1004C000000000000000000000000000000000002C
+:1004D000000000000000000000000000000000001C
+:1004E000000000000000000000000000000000000C
+:1004F00000000000000000000000000000000000FC
+:1005000000000000000000000000000000000000EB
+:1005100000000000000000000000000000000000DB
+:1005200000000000000000000000000000000000CB
+:1005300000000000000000000000000000000000BB
+:1005400000000000000000000000000000000000AB
+:10055000000000000000000000000000000000009B
+:10056000000000000000000000000000000000008B
+:10057000000000000000000000000000000000007B
+:10058000000000000000000000000000000000006B
+:10059000000000000000000000000000000000005B
+:1005A000000000000000000000000000000000004B
+:1005B000000000000000000000000000000000003B
+:1005C000000000000000000000000000000000002B
+:1005D000000000000000000000000000000000001B
+:1005E000000000000000000000000000000000000B
+:1005F00000000000000000000000000000000000FB
+:1006000000000000000000000000000000000000EA
+:1006100000000000000000000000000000000000DA
+:1006200000000000000000000000000000000000CA
+:1006300000000000000000000000000000000000BA
+:1006400000000000000000000000000000000000AA
+:10065000000000000000000000000000000000009A
+:10066000000000000000000000000000000000008A
+:10067000000000000000000000000000000000007A
+:10068000000000000000000000000000000000006A
+:10069000000000000000000000000000000000005A
+:1006A000000000000000000000000000000000004A
+:1006B000000000000000000000000000000000003A
+:1006C000000000000000000000000000000000002A
+:1006D000000000000000000000000000000000001A
+:1006E000000000000000000000000000000000000A
+:1006F00000000000000000000000000000000000FA
+:1007000000000000000000000000000000000000E9
+:1007100000000000000000000000000000000000D9
+:1007200000000000000000000000000000000000C9
+:1007300000000000000000000000000000000000B9
+:1007400000000000000000000000000000000000A9
+:100750000000000000000000000000000000000099
+:100760000000000000000000000000000000000089
+:100770000000000000000000000000000000000079
+:100780000000000000000000000000000000000069
+:100790000000000000000000000000000000000059
+:1007A0000000000000000000000000000000000049
+:1007B0000000000000000000000000000000000039
+:1007C0000000000000000000000000000000000029
+:1007D0000000000000000000000000000000000019
+:1007E0000000000000000000000000000000000009
+:1007F00000000000000000000000000000000000F9
+:1008000000000000000000000000000000000000E8
+:1008100000000000000000000000000000000000D8
+:1008200000000000000000000000000000000000C8
+:1008300000000000000000000000000000000002B6
+:100840000202020202020202020202020202020288
+:100850000202020202020202020202020202020278
+:100860000202020202020202020202020202020268
+:100870000202020202020202020202020202020258
+:100880000202020202020202020202020202020248
+:100890000202020202020202020202020202020238
+:1008A0000202020202020202020202020202020228
+:1008B0000202020202020202020202020202020218
+:1008C0000202020202020202020202020202020208
+:1008D00002020202020202020202020202020202F8
+:1008E00002020202020202020202020202020202E8
+:1008F00002020202020202020202020202020202D8
+:1009000002020202020202020202020202020202C7
+:1009100002020202020202020202020202020202B7
+:1009200002020202020202020202020202020202A7
+:100930000202020202020202020202020202020297
+:100940000202020202020202020202020202020287
+:100950000202020202020202020202020202020277
+:100960000202020202020202020202020202020267
+:100970000202020202020202020202020202020257
+:100980000202020202020202020202020202020247
+:100990000202020202020202020202020202020237
+:1009A0000202020202020202020202020202020227
+:1009B0000202020202020202020202020202020217
+:1009C0000202020202020202020202020202020207
+:1009D00002020202020202020202020202020202F7
+:1009E00002020202020202020202020202020202E7
+:1009F00002020202020202020202020202020202D7
+:100A000002020202020202020202020202020202C6
+:100A100002020202020202020202020202020202B6
+:100A200002020202020202020202020202020202A6
+:100A30000202020202020202020202020202020296
+:100A40000202020202020202020202020202020286
+:100A50000202020202020202020202020202020276
+:100A60000202020202020202020202020202020266
+:100A70000202020202020202020202020202020256
+:100A80000202020202020202020202020202020246
+:100A90000202020202020202020202020202020236
+:100AA0000202020202020202020202020202020226
+:100AB0000202020202020202020202020202020216
+:100AC0000202020202020202020202020202020206
+:100AD00002020202020202020202020202020202F6
+:100AE00002020202020202020202020202020202E6
+:100AF00002020202020202020202020202020202D6
+:100B000002020202020202020202020202020202C5
+:100B100002020202020202020202020202020202B5
+:100B200002020202020202020202020202020202A5
+:100B30000202020202020202020202020202020295
+:100B40000202020202020202020202020202020285
+:100B50000202020202020202020202020202020275
+:100B60000202020202020202020202020202020265
+:100B70000202020202020202020202020202020255
+:100B80000202020202020202020202020202020245
+:100B90000202020202020202020202020202020235
+:100BA0000202020202020202020202020202020225
+:100BB0000202020202020202020202020202020215
+:100BC0000202020202020202020202020202020205
+:100BD00002020202020202020202020202020202F5
+:100BE00002020202020202020202020202020202E5
+:100BF00002020202020202020202020202020202D5
+:100C000002020202020202020202020202020202C4
+:100C100002020202020202020202020202020202B4
+:100C200002020202020202020202020202020202A4
+:100C30000202020202020202020202020202020294
+:100C40000202020202020202020202020202020284
+:100C50000202020202020202020202020202020274
+:100C60000202020202020202020202020202020264
+:100C70000202020202020202020202020202020254
+:100C80000202020202020202020202020202020244
+:100C90000202020202020202020202020202020234
+:100CA0000202020202020202020202020202020224
+:100CB0000202020202020202020202020202020214
+:100CC0000202020202020202020202020202020204
+:100CD00002020202020202020202020202020202F4
+:100CE00002020202020202020202020202020202E4
+:100CF00002020202020202020202020202020202D4
+:100D000002020202020202020202020202020202C3
+:100D100002020202020202020202020202020202B3
+:100D200002020202020202020202020202020202A3
+:100D30000202020202020202020202020202020293
+:100D40000202020202020202020202020202020283
+:100D50000202020202020202020202020202020273
+:100D60000202020202020202020202020202020263
+:100D70000202020202020202020202020202020253
+:100D80000202020202020202020202020202020243
+:100D90000202020202020202020202020202020233
+:100DA0000202020202020202020202020202020223
+:100DB0000202020202020202020202020202020213
+:100DC0000202020202020202020202020202020203
+:100DD00002020202020202020202020202020202F3
+:100DE00002020202020202020202020202020202E3
+:100DF00002020202020202020202020202020202D3
+:100E000002020202020202020202020202020202C2
+:100E100002020202020202020202020202020202B2
+:100E200002020202020202020202020202020202A2
+:100E30000202020202020202020202020202020292
+:100E40000202020202020202020202020202020282
+:100E50000202020202020202020202020202020272
+:100E60000202020202020202020202020202020262
+:100E70000202020202020202020202020202020252
+:100E80000202020202020202020202020202020242
+:100E90000202020202020202020202020202020232
+:100EA0000202020202020202020202020202020222
+:100EB0000202020202020202020202020202020212
+:100EC0000202020202020202020202020202020202
+:100ED00002020202020202020202020202020202F2
+:100EE00002020202020202020202020202020202E2
+:100EF00002020202020202020202020202020202D2
+:100F000002020202020202020202020202020202C1
+:100F100002020202020202020202020202020202B1
+:100F200002020202020202020202020202020202A1
+:100F30000202020202020202020202020202020291
+:100F40000202020202020202020202020202020281
+:100F50000202020202020202020202020202020271
+:100F60000202020202020202020202020202020261
+:100F70000202020202020202020202020202020251
+:100F80000202020202020202020202020202020241
+:100F90000202020202020202020202020202020231
+:100FA0000202020202020202020202020202020221
+:100FB0000202020202020202020202020202020211
+:100FC0000202020202020202020202020202020201
+:100FD00002020202020202020202020202020202F1
+:100FE00002020202020202020202020202020202E1
+:100FF00002020202020202020202020202020202D1
+:1010000002020202020202020202020202020202C0
+:1010100002020202020202020202020202020202B0
+:1010200002020202020202020202020202020202A0
+:101030000202020202020202020202020202020092
+:1010400000000000000000000000000000000000A0
+:101050000000000000000000000000000000000090
+:101060000000000000000000000000000000000080
+:101070000000000000000000000000000000000070
+:101080000000000000000000000000000000000060
+:101090000000000000000000000000000000000050
+:1010A0000000000000000000000000000000000040
+:1010B0000000000000000000000000000000000030
+:1010C0000000000000000000000000000000000020
+:1010D0000000000000000000000000000000000010
+:1010E0000000000000000000000000000000000000
+:1010F00000000000000000000000000000000000F0
+:1011000000000000000000000000000000000000DF
+:1011100000000000000000000000000000000000CF
+:1011200000000000000000000000000000000000BF
+:1011300000000000000000000000000000000000AF
+:10114000000000000000000000000000000000009F
+:10115000000000000000000000000000000000008F
+:10116000000000000000000000000000000000007F
+:10117000000000000000000000000000000000006F
+:10118000000000000000000000000000000000005F
+:10119000000000000000000000000000000000004F
+:1011A000000000000000000000000000000000003F
+:1011B000000000000000000000000000000000002F
+:1011C000000000000000000000000000000000001F
+:1011D000000000000000000000000000000000000F
+:1011E00000000000000000000000000000000000FF
+:1011F00000000000000000000000000000000000EF
+:1012000000000000000000000000000000000000DE
+:1012100000000000000000000000000000000000CE
+:1012200000000000000000000000000000000000BE
+:1012300000000000000000000000000000000000AE
+:10124000000000000000000000000000000000009E
+:10125000000000000000000000000000000000008E
+:10126000000000000000000000000000000000007E
+:10127000000000000000000000000000000000006E
+:10128000000000000000000000000000000000005E
+:10129000000000000000000000000000000000004E
+:1012A000000000000000000000000000000000003E
+:1012B000000000000000000000000000000000002E
+:1012C000000000000000000000000000000000001E
+:1012D000000000000000000000000000000000000E
+:1012E00000000000000000000000000000000000FE
+:1012F00000000000000000000000000000000000EE
+:1013000000000000000000000000000000000000DD
+:1013100000000000000000000000000000000000CD
+:1013200000000000000000000000000000000000BD
+:1013300000000000000000000000000000000000AD
+:10134000000000000000000000000000000000009D
+:10135000000000000000000000000000000000008D
+:10136000000000000000000000000000000000007D
+:10137000000000000000000000000000000000006D
+:10138000000000000000000000000000000000005D
+:10139000000000000000000000000000000000004D
+:1013A000000000000000000000000000000000003D
+:1013B000000000000000000000000000000000002D
+:1013C000000000000000000000000000000000001D
+:1013D000000000000000000000000000000000000D
+:1013E00000000000000000000000000000000000FD
+:1013F00000000000000000000000000000000000ED
+:1014000000000000000000000000000000000000DC
+:1014100000000000000000000000000000000000CC
+:1014200000000000000000000000000000000000BC
+:1014300000000000000000000000000000000000AC
+:10144000000000000000000000000000000000009C
+:10145000000000000000000000000000000000008C
+:10146000000000000000000000000000000000007C
+:10147000000000000000000000000000000000006C
+:10148000000000000000000000000000000000005C
+:10149000000000000000000000000000000000004C
+:1014A000000000000000000000000000000000003C
+:1014B000000000000000000000000000000000002C
+:1014C000000000000000000000000000000000001C
+:1014D000000000000000000000000000000000000C
+:1014E00000000000000000000000000000000000FC
+:1014F00000000000000000000000000000000000EC
+:1015000000000000000000000000000000000000DB
+:1015100000000000000000000000000000000000CB
+:1015200000000000000000000000000000000000BB
+:1015300000000000000000000000000000000000AB
+:10154000000000000000000000000000000000009B
+:10155000000000000000000000000000000000008B
+:10156000000000000000000000000000000000007B
+:10157000000000000000000000000000000000006B
+:10158000000000000000000000000000000000005B
+:10159000000000000000000000000000000000004B
+:1015A000000000000000000000000000000000003B
+:1015B000000000000000000000000000000000002B
+:1015C000000000000000000000000000000000001B
+:1015D000000000000000000000000000000000000B
+:1015E00000000000000000000000000000000000FB
+:1015F00000000000000000000000000000000000EB
+:1016000000000000000000000000000000000000DA
+:1016100000000000000000000000000000000000CA
+:1016200000000000000000000000000000000000BA
+:1016300000000000000000000000000000000000AA
+:10164000000000000000000000000000000000009A
+:10165000000000000000000000000000000000008A
+:10166000000000000000000000000000000000007A
+:10167000000000000000000000000000000000006A
+:10168000000000000000000000000000000000005A
+:10169000000000000000000000000000000000004A
+:1016A000000000000000000000000000000000003A
+:1016B000000000000000000000000000000000002A
+:1016C000000000000000000000000000000000001A
+:1016D000000000000000000000000000000000000A
+:1016E00000000000000000000000000000000000FA
+:1016F00000000000000000000000000000000000EA
+:1017000000000000000000000000000000000000D9
+:1017100000000000000000000000000000000000C9
+:1017200000000000000000000000000000000000B9
+:101730000000000000000000000000000000007039
+:10174000170500000000007835050000000000804B
+:101750004F050000000000886605000000000090B2
+:101760007D0500000000009892050000000000A028
+:10177000A5050000000000A8B6050000000000B0AC
+:10178000C6050000000000B8D6050000000000C03B
+:10179000E5050000000000C8F0050000000000D0D2
+:1017A000FF050000000000D8080600000000001E31
+:1017B0000000000000000000000000000000000029
+:1017C0000000000000000100000000000000000018
+:1017D0000000000000000000000000000000000009
+:1017E00000000000000000000000000000000000F9
+:1017F00000000000000000000000000000000000E9
+:1018000000000000000000000000000000000000D8
+:1018100000000000000000000000000000000000C8
+:1018200000000000000000000000000000000000B8
+:1018300000000000000000000000000000000000A8
+:101840000000000000000000000000000000000098
+:101850000000000000000000000000000000000088
+:101860000000000000000000000000000000000078
+:101870000000000000000000000000000000000068
+:101880000000000000000000000000000000000058
+:101890000000000000000000000000000000000048
+:1018A0000000000000000002020000000000000034
+:1018B0000000000000000000000000000000000028
+:1018C0000000000000000100000000000000000017
+:1018D0000000000000000000000000000000000008
+:1018E00000000000000000000000000000000000F8
+:1018F00000000000000000000000000000000000E8
+:1019000000000000000000000000000000000000D7
+:1019100000000000000000000000000000000000C7
+:1019200000000000000000000000000000000000B7
+:1019300000000000000000000000000000000000A7
+:101940000000000000000000000000000000000097
+:101950000000000000000000000000000000000087
+:101960000000000000000000000000000000000077
+:101970000000000000000000000000000000000067
+:101980000000000000000000000000000000000057
+:101990000000000000000000000000000000000047
+:1019A0000000000000000002020001000000000032
+:1019B0000000000000000000000000000000000027
+:1019C0000000000000010100000000000000000015
+:1019D0000000000000000000000000000000000007
+:1019E00000000000000000000000000000000000F7
+:1019F00000000000000000000000000000000000E7
+:101A000000000000000000000000000000000000D6
+:101A100000000000000000000000000000000000C6
+:101A200000000000000000000000000000000000B6
+:101A300000000000000000000000000000000000A6
+:101A40000000000000000000000000000000000096
+:101A50000000000000000000000000000000000086
+:101A60000000000000000000000000000000000076
+:101A70000000000000000000000000000000000066
+:101A80000000000000000000000000000000000056
+:101A90000000000000000000000000000000000046
+:101AA000000000000000000202020200010100012B
+:101AB0000000000000000000000000000000000026
+:101AC0000000000000010100000000000000000014
+:101AD0000000000000000000000000000000000006
+:101AE00000000000000000000000000000000000F6
+:101AF00000000000000000000000000000000000E6
+:101B000000000000000000000000000000000000D5
+:101B100000000000000000000000000000000000C5
+:101B200000000000000000000000000000000000B5
+:101B300000000000000000000000000000000000A5
+:101B40000000000000000000000000000000000095
+:101B50000000000000000000000000000000000085
+:101B60000000000000000000000000000000000075
+:101B70000000000000000000000000000000000065
+:101B80000000000000000000000000000000000055
+:101B90000000000000000000000000000000000045
+:101BA0000000000000000002020202010101000129
+:101BB0000000000000000000000000000000000025
+:101BC0000000000000010100000000000000000013
+:101BD0000000000000000000000000000000000005
+:101BE00000000000000000000000000000000000F5
+:101BF00000000000000000000000000000000000E5
+:101C000000000000000000000000000000000000D4
+:101C100000000000000000000000000000000000C4
+:101C200000000000000000000000000000000000B4
+:101C300000000000000000000000000000000000A4
+:101C40000000000000000000000000000000000094
+:101C50000000000000000000000000000000000084
+:101C60000000000000000000000000000000000074
+:101C70000000000000000000000000000000000064
+:101C80000000000000000000000000000000000054
+:101C90000000000000000000000000000000000044
+:101CA0000000000000000002020202020101000127
+:101CB0000001000000000000000000000000000023
+:101CC0000000000000010100000000000000000012
+:101CD0000000000000000000000000000000000004
+:101CE00000000000000000000000000000000000F4
+:101CF00000000000000000000000000000000000E4
+:101D000000000000000000000000000000000000D3
+:101D100000000000000000000000000000000000C3
+:101D200000000000000000000000000000000000B3
+:101D300000000000000000000000000000000000A3
+:101D40000000000000000000000000000000000093
+:101D50000000000000000000000000000000000083
+:101D60000000000000000000000000000000000073
+:101D70000000000000000000000000000000000063
+:101D80000000000000000000000000000000000053
+:101D90000000000000000000000000000000000043
+:101DA0000000000000000002020202020201010124
+:101DB0000101000000000000000000000000000021
+:101DC0000000000001010100000000000000000010
+:101DD0000000000000000000000000000000000003
+:101DE00000000000000000000000000000000000F3
+:101DF00000000000000000000000000000000000E3
+:101E000000000000000000000000000000000000D2
+:101E100000000000000000000000000000000000C2
+:101E200000000000000000000000000000000000B2
+:101E300000000000000000000000000000000000A2
+:101E40000000000000000000000000000000000092
+:101E50000000000000000000000000000000000082
+:101E60000000000000000000000000000000000072
+:101E70000000000000000000000000000000000062
+:101E80000000000000000000000000000000000052
+:101E90000000000000000000000000000000000042
+:101EA0000000000000000002020202020202010122
+:101EB0000101000000000000000000000000000020
+:101EC000000000000101010000000000000000000F
+:101ED0000000000000000000000000000000000002
+:101EE00000000000000000000000000000000000F2
+:101EF00000000000000000000000000000000000E2
+:101F000000000000000000000000000000000000D1
+:101F100000000000000000000000000000000000C1
+:101F200000000000000000000000000000000000B1
+:101F300000000000000000000000000000000000A1
+:101F40000000000000000000000000000000000091
+:101F50000000000000000000000000000000000081
+:101F60000000000000000000000000000000000071
+:101F70000000000000000000000000000000000061
+:101F80000000000000000000000000000000000051
+:101F90000000000000000000000000000000000041
+:101FA0000000000000000002020202020202010121
+:101FB000010101000000000000000000000000001E
+:101FC000000000010101010000000000000000000D
+:101FD0000000000000000000000000000000000001
+:101FE00000000000000000000000000000000000F1
+:101FF00000000000000000000000000000000000E1
+:1020000000000000000000000000000000000000D0
+:1020100000000000000000000000000000000000C0
+:1020200000000000000000000000000000000000B0
+:1020300000000000000000000000000000000000A0
+:102040000000000000000000000000000000000090
+:102050000000000000000000000000000000000080
+:102060000000000000000000000000000000000070
+:102070000000000000000000000000000000000060
+:102080000000000000000000000000000000000050
+:102090000000000000000000000000000000000040
+:1020A000000000000000000202020202020202021E
+:1020B000010101000000000000000000000000001D
+:1020C000000000010101010000000000000000000C
+:1020D0000000000000000000000000000000000000
+:1020E00000000000000000000000000000000000F0
+:1020F00000000000000000000000000000000000E0
+:1021000000000000000000000000000000000000CF
+:1021100000000000000000000000000000000000BF
+:1021200000000000000000000000000000000000AF
+:10213000000000000000000000000000000000009F
+:10214000000000000000000000000000000000008F
+:10215000000000000000000000000000000000007F
+:10216000000000000000000000000000000000006F
+:10217000000000000000000000000000000000005F
+:10218000000000000000000000000000000000004F
+:10219000000000000000000000000000000000003F
+:1021A000000000000000000202020202020202021D
+:1021B000010101000000000000000000000000001C
+:1021C000000001010101010000000000000000000A
+:1021D00000000000000000000000000000000000FF
+:1021E00000000000000000000000000000000000EF
+:1021F00000000000000000000000000000000000DF
+:1022000000000000000000000000000000000000CE
+:1022100000000000000000000000000000000000BE
+:1022200000000000000000000000000000000000AE
+:10223000000000000000000000000000000000009E
+:10224000000000000000000000000000000000008E
+:10225000000000000000000000000000000000007E
+:10226000000000000000000000000000000000006E
+:10227000000000000000000000000000000000005E
+:10228000000000000000000000000000000000004E
+:10229000000000000000000000000000000000003E
+:1022A000000000000000000202020202020202021C
+:1022B000020101000000000000000000000000001A
+:1022C0000001010101010100000000000000000008
+:1022D00000000000000000000000000000000000FE
+:1022E00000000000000000000000000000000000EE
+:1022F00000000000000000000000000000000000DE
+:1023000000000000000000000000000000000000CD
+:1023100000000000000000000000000000000000BD
+:1023200000000000000000000000000000000000AD
+:10233000000000000000000000000000000000009D
+:10234000000000000000000000000000000000008D
+:10235000000000000000000000000000000000007D
+:10236000000000000000000000000000000000006D
+:10237000000000000000000000000000000000005D
+:10238000000000000000000000000000000000004D
+:10239000000000000000000000000000000000003D
+:1023A000000000000000000202020202020202021B
+:1023B0000202010100000000000000000000000017
+:1023C0000001010101010100000000000000000007
+:1023D00000000000000000000000000000000000FD
+:1023E00000000000000000000000000000000000ED
+:1023F00000000000000000000000000000000000DD
+:1024000000000000000000000000000000000000CC
+:1024100000000000000000000000000000000000BC
+:1024200000000000000000000000000000000000AC
+:10243000000000000000000000000000000000009C
+:10244000000000000000000000000000000000008C
+:10245000000000000000000000000000000000007C
+:10246000000000000000000000000000000000006C
+:10247000000000000000000000000000000000005C
+:10248000000000000000000000000000000000004C
+:10249000000000000000000000000000000000003C
+:1024A000000000000000000202020202020202021A
+:1024B0000202010100000000000000000000000016
+:1024C0000001010101010100000000000000000006
+:1024D00000000000000000000000000000000000FC
+:1024E00000000000000000000000000000000000EC
+:1024F00000000000000000000000000000000000DC
+:1025000000000000000000000000000000000000CB
+:1025100000000000000000000000000000000000BB
+:1025200000000000000000000000000000000000AB
+:10253000000000000000000000000000000000009B
+:10254000000000000000000000000000000000008B
+:10255000000000000000000000000000000000007B
+:10256000000000000000000000000000000000006B
+:10257000000000000000000000000000000000005B
+:10258000000000000000000000000000000000004B
+:10259000000000000000000000000000000000003B
+:1025A0000000000000000002020202020202020219
+:1025B0000202020101010000000000000000000012
+:1025C0000101010101010100000000000000000004
+:1025D00000000000000000000000000000000000FB
+:1025E00000000000000000000000000000000000EB
+:1025F00000000000000000000000000000000000DB
+:1026000000000000000000000000000000000000CA
+:1026100000000000000000000000000000000000BA
+:1026200000000000000000000000000000000000AA
+:10263000000000000000000000000000000000009A
+:10264000000000000000000000000000000000008A
+:10265000000000000000000000000000000000007A
+:10266000000000000000000000000000000000006A
+:10267000000000000000000000000000000000005A
+:10268000000000000000000000000000000000004A
+:10269000000000000000000000000000000000003A
+:1026A0000000000000000002020202020202020218
+:1026B0000202020101010000000000000000000110
+:1026C0000101010101010100000000000000000003
+:1026D00000000000000000000000000000000000FA
+:1026E00000000000000000000000000000000000EA
+:1026F00000000000000000000000000000000000DA
+:1027000000000000000000000000000000000000C9
+:1027100000000000000000000000000000000000B9
+:1027200000000000000000000000000000000000A9
+:102730000000000000000000000000000000000099
+:102740000000000000000000000000000000000089
+:102750000000000000000000000000000000000079
+:102760000000000000000000000000000000000069
+:102770000000000000000000000000000000000059
+:102780000000000000000000000000000000000049
+:102790000000000000000000000000000000000039
+:1027A0000000000000000002020202020202020217
+:1027B000020202010101000000000000000000010F
+:1027C0000101010101010100000000000000000002
+:1027D00000000000000000000000000000000000F9
+:1027E00000000000000000000000000000000000E9
+:1027F00000000000000000000000000000000000D9
+:1028000000000000000000000000000000000000C8
+:1028100000000000000000000000000000000000B8
+:1028200000000000000000000000000000000000A8
+:102830000000000000000000000000000000000098
+:102840000000000000000000000000000000000088
+:102850000000000000000000000000000000000078
+:102860000000000000000000000000000000000068
+:102870000000000000000000000000000000000058
+:102880000000000000000000000000000000000048
+:102890000000000000000000000000000000000038
+:1028A0000000000000000002020202020202020216
+:1028B000020202020101000000000000000000010D
+:1028C0000101010101010100000000000000000001
+:1028D00000000000000000000000000000000000F8
+:1028E00000000000000000000000000000000000E8
+:1028F00000000000000000000000000000000000D8
+:1029000000000000000000000000000000000000C7
+:1029100000000000000000000000000000000000B7
+:1029200000000000000000000000000000000000A7
+:102930000000000000000000000000000000000097
+:102940000000000000000000000000000000000087
+:102950000000000000000000000000000000000077
+:102960000000000000000000000000000000000067
+:102970000000000000000000000000000000000057
+:102980000000000000000000000000000000000047
+:102990000000000000000000000000000000000037
+:1029A0000000000000000002020202020202020215
+:1029B000020202020101000000000000000001010B
+:1029C0000101010101010100000000000000000000
+:1029D00000000000000000000000000000000000F7
+:1029E00000000000000000000000000000000000E7
+:1029F00000000000000000000000000000000000D7
+:102A000000000000000000000000000000000000C6
+:102A100000000000000000000000000000000000B6
+:102A200000000000000000000000000000000000A6
+:102A30000000000000000000000000000000000096
+:102A40000000000000000000000000000000000086
+:102A50000000000000000000000000000000000076
+:102A60000000000000000000000000000000000066
+:102A70000000000000000000000000000000000056
+:102A80000000000000000000000000000000000046
+:102A90000000000000000000000000000000000036
+:102AA0000000000000000002020202020202020214
+:102AB0000202020202010000000000000001010108
+:102AC00001010101010101000000000000000000FF
+:102AD00000000000000000000000000000000000F6
+:102AE00000000000000000000000000000000000E6
+:102AF00000000000000000000000000000000000D6
+:102B000000000000000000000000000000000000C5
+:102B100000000000000000000000000000000000B5
+:102B200000000000000000000000000000000000A5
+:102B30000000000000000000000000000000000095
+:102B40000000000000000000000000000000000085
+:102B50000000000000000000000000000000000075
+:102B60000000000000000000000000000000000065
+:102B70000000000000000000000000000000000055
+:102B80000000000000000000000000000000000045
+:102B90000000000000000000000000000000000035
+:102BA0000000000000000002020202020202020213
+:102BB0000202020202010000000000000001010107
+:102BC00001010101010101000000000000000000FE
+:102BD00000000000000000000000000000000000F5
+:102BE00000000000000000000000000000000000E5
+:102BF00000000000000000000000000000000000D5
+:102C000000000000000000000000000000000000C4
+:102C100000000000000000000000000000000000B4
+:102C200000000000000000000000000000000000A4
+:102C30000000000000000000000000000000000094
+:102C40000000000000000000000000000000000084
+:102C50000000000000000000000000000000000074
+:102C60000000000000000000000000000000000064
+:102C70000000000000000000000000000000000054
+:102C80000000000000000000000000000000000044
+:102C90000000000000000000000000000000000034
+:102CA0000000000000000002020202020202020212
+:102CB0000202020202020000000000000101010104
+:102CC00001010101010101000000000000000000FD
+:102CD00000000000000000000000000000000000F4
+:102CE00000000000000000000000000000000000E4
+:102CF00000000000000000000000000000000000D4
+:102D000000000000000000000000000000000000C3
+:102D100000000000000000000000000000000000B3
+:102D200000000000000000000000000000000000A3
+:102D30000000000000000000000000000000000093
+:102D40000000000000000000000000000000000083
+:102D50000000000000000000000000000000000073
+:102D60000000000000000000000000000000000063
+:102D70000000000000000000000000000000000053
+:102D80000000000000000000000000000000000043
+:102D90000000000000000000000000000000000033
+:102DA0000000000000000002020202020202020211
+:102DB0000202020202020000000000000101010103
+:102DC00001010101010101000000000000000000FC
+:102DD00000000000000000000000000000000000F3
+:102DE00000000000000000000000000000000000E3
+:102DF00000000000000000000000000000000000D3
+:102E000000000000000000000000000000000000C2
+:102E100000000000000000000000000000000000B2
+:102E200000000000000000000000000000000000A2
+:102E30000000000000000000000000000000000092
+:102E40000000000000000000000000000000000082
+:102E50000000000000000000000000000000000072
+:102E60000000000000000000000000000000000062
+:102E70000000000000000000000000000000000052
+:102E80000000000000000000000000000000000042
+:102E90000000000000000000000000000000000032
+:102EA0000000000000000002020202020202020210
+:102EB0000202020202020000000000000101010102
+:102EC00001010101010101000000000000000000FB
+:102ED00000000000000000000000000000000000F2
+:102EE00000000000000000000000000000000000E2
+:102EF00000000000000000000000000000000000D2
+:102F000000000000000000000000000000000000C1
+:102F100000000000000000000000000000000000B1
+:102F200000000000000000000000000000000000A1
+:102F30000000000000000000000000000000000091
+:102F40000000000000000000000000000000000081
+:102F50000000000000000000000000000000000071
+:102F60000000000000000000000000000000000061
+:102F70000000000000000000000000000000000051
+:102F80000000000000000000000000000000000041
+:102F90000000000000000000000000000000000031
+:102FA000000000000000000202020202020202020F
+:102FB0000202020202020000000000010101010100
+:102FC00001010101010101000000000000000000FA
+:102FD00000000000000000000000000000000000F1
+:102FE00000000000000000000000000000000000E1
+:102FF00000000000000000000000000000000000D1
+:1030000000000000000000000000000000000000C0
+:1030100000000000000000000000000000000000B0
+:1030200000000000000000000000000000000000A0
+:103030000000000000000000000000000000000090
+:103040000000000000000000000000000000000080
+:103050000000000000000000000000000000000070
+:103060000000000000000000000000000000000060
+:103070000000000000000000000000000000000050
+:103080000000000000000000000000000000000040
+:103090000000000000000000000000000000000030
+:1030A000000000000000000202020202020202020E
+:1030B00002020202020200000000000101010101FF
+:1030C00001010101010101000000000000000000F9
+:1030D00000000000000000000000000000000000F0
+:1030E00000000000000000000000000000000000E0
+:1030F00000000000000000000000000000000000D0
+:1031000000000000000000000000000000000000BF
+:1031100000000000000000000000000000000000AF
+:10312000000000000000000000000000000000009F
+:10313000000000000000000000000000000000008F
+:10314000000000000000000000000000000000007F
+:10315000000000000000000000000000000000006F
+:10316000000000000000000000000000000000005F
+:10317000000000000000000000000000000000004F
+:10318000000000000000000000000000000000003F
+:10319000000000000000000000000000000000002F
+:1031A000000000000000000202020202020202020D
+:1031B00002020202020200000000010101010101FD
+:1031C00001010101010101000000000000000000F8
+:1031D00000000000000000000000000000000000EF
+:1031E00000000000000000000000000000000000DF
+:1031F00000000000000000000000000000000000CF
+:1032000000000000000000000000000000000000BE
+:1032100000000000000000000000000000000000AE
+:10322000000000000000000000000000000000009E
+:10323000000000000000000000000000000000008E
+:10324000000000000000000000000000000000007E
+:10325000000000000000000000000000000000006E
+:10326000000000000000000000000000000000005E
+:10327000000000000000000000000000000000004E
+:10328000000000000000000000000000000000003E
+:10329000000000000000000000000000000000002E
+:1032A000000000000000000202020202020202020C
+:1032B00002020202020200000001010101010101FB
+:1032C00001010101010101000000000000000000F7
+:1032D00000000000000000000000000000000000EE
+:1032E00000000000000000000000000000000000DE
+:1032F00000000000000000000000000000000000CE
+:1033000000000000000000000000000000000000BD
+:1033100000000000000000000000000000000000AD
+:10332000000000000000000000000000000000009D
+:10333000000000000000000000000000000000008D
+:10334000000000000000000000000000000000007D
+:10335000000000000000000000000000000000006D
+:10336000000000000000000000000000000000005D
+:10337000000000000000000000000000000000004D
+:10338000000000000000000000000000000000003D
+:10339000000000000000000000000000000000002D
+:1033A000000000000000000202020202020202020B
+:1033B00002020202020200000001010101010101FA
+:1033C00001010101010101000000000000000000F6
+:1033D00000000000000000000000000000000000ED
+:1033E00000000000000000000000000000000000DD
+:1033F00000000000000000000000000000000000CD
+:1034000000000000000000000000000000000000BC
+:1034100000000000000000000000000000000000AC
+:10342000000000000000000000000000000000009C
+:10343000000000000000000000000000000000008C
+:10344000000000000000000000000000000000007C
+:10345000000000000000000000000000000000006C
+:10346000000000000000000000000000000000005C
+:10347000000000000000000000000000000000004C
+:10348000000000000000000000000000000000003C
+:10349000000000000000000000000000000000002C
+:1034A000000000000000000202020202020202020A
+:1034B0000202020202020000000000000000000000
+:1034C00000000000000000000000000000000000FC
+:1034D00000000000000000000000000000000000EC
+:1034E00000000000000000000000000000000000DC
+:1034F00000000000000000000000000000000000CC
+:1035000000000000000000000000000000000000BB
+:1035100000000000000000000000000000000000AB
+:10352000000000000000000000000000000000009B
+:10353000000000000000000000000000000000008B
+:10354000000000000000000000000000000000007B
+:10355000000000000000000000000000000000006B
+:10356000000000000000000000000000000000005B
+:10357000000000000000000000000000000000004B
+:10358000000000000000000000000000000000003B
+:10359000000000000000000000000000000000002B
+:1035A000000000000000000000000000000000001B
+:1035B000000000000000001A0000000000000000F1
+:1035C00000000000000000000000000000000100FA
+:1035D00000000000000000000000000000000000EB
+:1035E00000000000000000000000000000000000DB
+:1035F00000000000000000000000000000000000CB
+:1036000000000000000000000000000000000000BA
+:1036100000000000000000000000000000000000AA
+:10362000000000000000000000000000000000009A
+:10363000000000000000000000000000000000008A
+:10364000000000000000000000000000000000007A
+:10365000000000000000000000000000000000006A
+:10366000000000000000000000000000000000005A
+:10367000000000000000000000000000000000004A
+:10368000000000000000000000000000000000003A
+:10369000000000000000000000000000000000002A
+:1036A0000000000000000000000000000000000218
+:1036B0000200000000000000000000000000000008
+:1036C00000000000000000000000000000000100F9
+:1036D00000000000000000000000000000000000EA
+:1036E00000000000000000000000000000000000DA
+:1036F00000000000000000000000000000000000CA
+:1037000000000000000000000000000000000000B9
+:1037100000000000000000000000000000000000A9
+:103720000000000000000000000000000000000099
+:103730000000000000000000000000000000000089
+:103740000000000000000000000000000000000079
+:103750000000000000000000000000000000000069
+:103760000000000000000000000000000000000059
+:103770000000000000000000000000000000000049
+:103780000000000000000000000000000000000039
+:103790000000000000000000000000000000000029
+:1037A0000000000000000000000000000000000217
+:1037B0000200000001000000000000000000000006
+:1037C00000000000000000000000000000000100F8
+:1037D00000000000000000000000000000000000E9
+:1037E00000000000000000000000000000000000D9
+:1037F00000000000000000000000000000000000C9
+:1038000000000000000000000000000000000000B8
+:1038100000000000000000000000000000000000A8
+:103820000000000000000000000000000000000098
+:103830000000000000000000000000000000000088
+:103840000000000000000000000000000000000078
+:103850000000000000000000000000000000000068
+:103860000000000000000000000000000000000058
+:103870000000000000000000000000000000000048
+:103880000000000000000000000000000000000038
+:103890000000000000000000000000000000000028
+:1038A0000000000000000000000000000000000216
+:1038B0000202010001010000000000000000000001
+:1038C00000000000000000000000000001010100F5
+:1038D00000000000000000000000000000000000E8
+:1038E00000000000000000000000000000000000D8
+:1038F00000000000000000000000000000000000C8
+:1039000000000000000000000000000000000000B7
+:1039100000000000000000000000000000000000A7
+:103920000000000000000000000000000000000097
+:103930000000000000000000000000000000000087
+:103940000000000000000000000000000000000077
+:103950000000000000000000000000000000000067
+:103960000000000000000000000000000000000057
+:103970000000000000000000000000000000000047
+:103980000000000000000000000000000000000037
+:103990000000000000000000000000000000000027
+:1039A0000000000000000000000000000000000215
+:1039B00002020200010100000000000000000000FF
+:1039C00000000000000000000000000001010100F4
+:1039D00000000000000000000000000000000000E7
+:1039E00000000000000000000000000000000000D7
+:1039F00000000000000000000000000000000000C7
+:103A000000000000000000000000000000000000B6
+:103A100000000000000000000000000000000000A6
+:103A20000000000000000000000000000000000096
+:103A30000000000000000000000000000000000086
+:103A40000000000000000000000000000000000076
+:103A50000000000000000000000000000000000066
+:103A60000000000000000000000000000000000056
+:103A70000000000000000000000000000000000046
+:103A80000000000000000000000000000000000036
+:103A90000000000000000000000000000000000026
+:103AA0000000000000000000000000000000000214
+:103AB00002020201010101000000000000000000FC
+:103AC00000000000000000000000000001010100F3
+:103AD00000000000000000000000000000000000E6
+:103AE00000000000000000000000000000000000D6
+:103AF00000000000000000000000000000000000C6
+:103B000000000000000000000000000000000000B5
+:103B100000000000000000000000000000000000A5
+:103B20000000000000000000000000000000000095
+:103B30000000000000000000000000000000000085
+:103B40000000000000000000000000000000000075
+:103B50000000000000000000000000000000000065
+:103B60000000000000000000000000000000000055
+:103B70000000000000000000000000000000000045
+:103B80000000000000000000000000000000000035
+:103B90000000000000000000000000000000000025
+:103BA0000000000000000000000000000000000213
+:103BB00002020202010101000000000000000000FA
+:103BC00000000000000000000000000001010100F2
+:103BD00000000000000000000000000000000000E5
+:103BE00000000000000000000000000000000000D5
+:103BF00000000000000000000000000000000000C5
+:103C000000000000000000000000000000000000B4
+:103C100000000000000000000000000000000000A4
+:103C20000000000000000000000000000000000094
+:103C30000000000000000000000000000000000084
+:103C40000000000000000000000000000000000074
+:103C50000000000000000000000000000000000064
+:103C60000000000000000000000000000000000054
+:103C70000000000000000000000000000000000044
+:103C80000000000000000000000000000000000034
+:103C90000000000000000000000000000000000024
+:103CA0000000000000000000000000000000000212
+:103CB00002020202020101000000000000000000F8
+:103CC00000000000000000000000010101010100EF
+:103CD00000000000000000000000000000000000E4
+:103CE00000000000000000000000000000000000D4
+:103CF00000000000000000000000000000000000C4
+:103D000000000000000000000000000000000000B3
+:103D100000000000000000000000000000000000A3
+:103D20000000000000000000000000000000000093
+:103D30000000000000000000000000000000000083
+:103D40000000000000000000000000000000000073
+:103D50000000000000000000000000000000000063
+:103D60000000000000000000000000000000000053
+:103D70000000000000000000000000000000000043
+:103D80000000000000000000000000000000000033
+:103D90000000000000000000000000000000000023
+:103DA0000000000000000000000000000000000211
+:103DB00002020202020201010100000000000000F4
+:103DC00000000000000000000000010101010100EE
+:103DD00000000000000000000000000000000000E3
+:103DE00000000000000000000000000000000000D3
+:103DF00000000000000000000000000000000000C3
+:103E000000000000000000000000000000000000B2
+:103E100000000000000000000000000000000000A2
+:103E20000000000000000000000000000000000092
+:103E30000000000000000000000000000000000082
+:103E40000000000000000000000000000000000072
+:103E50000000000000000000000000000000000062
+:103E60000000000000000000000000000000000052
+:103E70000000000000000000000000000000000042
+:103E80000000000000000000000000000000000032
+:103E90000000000000000000000000000000000022
+:103EA0000000000000000000000000000000000210
+:103EB00002020202020202010101010001000000EF
+:103EC00000000000000000000001010101010100EC
+:103ED00000000000000000000000000000000000E2
+:103EE00000000000000000000000000000000000D2
+:103EF00000000000000000000000000000000000C2
+:103F000000000000000000000000000000000000B1
+:103F100000000000000000000000000000000000A1
+:103F20000000000000000000000000000000000091
+:103F30000000000000000000000000000000000081
+:103F40000000000000000000000000000000000071
+:103F50000000000000000000000000000000000061
+:103F60000000000000000000000000000000000051
+:103F70000000000000000000000000000000000041
+:103F80000000000000000000000000000000000031
+:103F90000000000000000000000000000000000021
+:103FA000000000000000000000000000000000020F
+:103FB00002020202020202010101010001000000EE
+:103FC00000000000000000000101010101010100EA
+:103FD00000000000000000000000000000000000E1
+:103FE00000000000000000000000000000000000D1
+:103FF00000000000000000000000000000000000C1
+:1040000000000000000000000000000000000000B0
+:1040100000000000000000000000000000000000A0
+:104020000000000000000000000000000000000090
+:104030000000000000000000000000000000000080
+:104040000000000000000000000000000000000070
+:104050000000000000000000000000000000000060
+:104060000000000000000000000000000000000050
+:104070000000000000000000000000000000000040
+:104080000000000000000000000000000000000030
+:104090000000000000000000000000000000000020
+:1040A000000000000000000000000000000000020E
+:1040B00002020202020202020101010001000000EC
+:1040C00000000000000000000101010101010100E9
+:1040D00000000000000000000000000000000000E0
+:1040E00000000000000000000000000000000000D0
+:1040F00000000000000000000000000000000000C0
+:1041000000000000000000000000000000000000AF
+:10411000000000000000000000000000000000009F
+:10412000000000000000000000000000000000008F
+:10413000000000000000000000000000000000007F
+:10414000000000000000000000000000000000006F
+:10415000000000000000000000000000000000005F
+:10416000000000000000000000000000000000004F
+:10417000000000000000000000000000000000003F
+:10418000000000000000000000000000000000002F
+:10419000000000000000000000000000000000001F
+:1041A000000000000000000000000000000000020D
+:1041B00002020202020202020201010001000000EA
+:1041C00000000000000000010101010101010100E7
+:1041D00000000000000000000000000000000000DF
+:1041E00000000000000000000000000000000000CF
+:1041F00000000000000000000000000000000000BF
+:1042000000000000000000000000000000000000AE
+:10421000000000000000000000000000000000009E
+:10422000000000000000000000000000000000008E
+:10423000000000000000000000000000000000007E
+:10424000000000000000000000000000000000006E
+:10425000000000000000000000000000000000005E
+:10426000000000000000000000000000000000004E
+:10427000000000000000000000000000000000003E
+:10428000000000000000000000000000000000002E
+:10429000000000000000000000000000000000001E
+:1042A000000000000000000000000000000000020C
+:1042B00002020202020202020202010101000000E7
+:1042C00000000000000101010101010101010100E4
+:1042D00000000000000000000000000000000000DE
+:1042E00000000000000000000000000000000000CE
+:1042F00000000000000000000000000000000000BE
+:1043000000000000000000000000000000000000AD
+:10431000000000000000000000000000000000009D
+:10432000000000000000000000000000000000008D
+:10433000000000000000000000000000000000007D
+:10434000000000000000000000000000000000006D
+:10435000000000000000000000000000000000005D
+:10436000000000000000000000000000000000004D
+:10437000000000000000000000000000000000003D
+:10438000000000000000000000000000000000002D
+:10439000000000000000000000000000000000001D
+:1043A000000000000000000000000000000000020B
+:1043B00002020202020202020202020101000000E5
+:1043C00000000000010101010101010101010100E2
+:1043D00000000000000000000000000000000000DD
+:1043E00000000000000000000000000000000000CD
+:1043F00000000000000000000000000000000000BD
+:1044000000000000000000000000000000000000AC
+:10441000000000000000000000000000000000009C
+:10442000000000000000000000000000000000008C
+:10443000000000000000000000000000000000007C
+:10444000000000000000000000000000000000006C
+:10445000000000000000000000000000000000005C
+:10446000000000000000000000000000000000004C
+:10447000000000000000000000000000000000003C
+:10448000000000000000000000000000000000002C
+:10449000000000000000000000000000000000001C
+:1044A000000000000000000000000000000000020A
+:1044B00002020202020202020202020101010000E3
+:1044C00000000000010101010101010101010100E1
+:1044D00000000000000000000000000000000000DC
+:1044E00000000000000000000000000000000000CC
+:1044F00000000000000000000000000000000000BC
+:1045000000000000000000000000000000000000AB
+:10451000000000000000000000000000000000009B
+:10452000000000000000000000000000000000008B
+:10453000000000000000000000000000000000007B
+:10454000000000000000000000000000000000006B
+:10455000000000000000000000000000000000005B
+:10456000000000000000000000000000000000004B
+:10457000000000000000000000000000000000003B
+:10458000000000000000000000000000000000002B
+:10459000000000000000000000000000000000001B
+:1045A0000000000000000000000000000000000209
+:1045B00002020202020202020202020202010000E0
+:1045C00000000000010101010101010101010100E0
+:1045D00000000000000000000000000000000000DB
+:1045E00000000000000000000000000000000000CB
+:1045F00000000000000000000000000000000000BB
+:1046000000000000000000000000000000000000AA
+:10461000000000000000000000000000000000009A
+:10462000000000000000000000000000000000008A
+:10463000000000000000000000000000000000007A
+:10464000000000000000000000000000000000006A
+:10465000000000000000000000000000000000005A
+:10466000000000000000000000000000000000004A
+:10467000000000000000000000000000000000003A
+:10468000000000000000000000000000000000002A
+:10469000000000000000000000000000000000001A
+:1046A0000000000000000000000000000000000208
+:1046B00002020202020202020202020202010000DF
+:1046C00000000000010101010101010101010100DF
+:1046D00000000000000000000000000000000000DA
+:1046E00000000000000000000000000000000000CA
+:1046F00000000000000000000000000000000000BA
+:1047000000000000000000000000000000000000A9
+:104710000000000000000000000000000000000099
+:104720000000000000000000000000000000000089
+:104730000000000000000000000000000000000079
+:104740000000000000000000000000000000000069
+:104750000000000000000000000000000000000059
+:104760000000000000000000000000000000000049
+:104770000000000000000000000000000000000039
+:104780000000000000000000000000000000000029
+:104790000000000000000000000000000000000019
+:1047A0000000000000000000000000000000000207
+:1047B00002020202020202020202020202010000DE
+:1047C00000000000010101010101010101010100DE
+:1047D00000000000000000000000000000000000D9
+:1047E00000000000000000000000000000000000C9
+:1047F00000000000000000000000000000000000B9
+:1048000000000000000000000000000000000000A8
+:104810000000000000000000000000000000000098
+:104820000000000000000000000000000000000088
+:104830000000000000000000000000000000000078
+:104840000000000000000000000000000000000068
+:104850000000000000000000000000000000000058
+:104860000000000000000000000000000000000048
+:104870000000000000000000000000000000000038
+:104880000000000000000000000000000000000028
+:104890000000000000000000000000000000000018
+:1048A0000000000000000000000000000000000206
+:1048B00002020202020202020202020202020000DC
+:1048C00000000001010101010101010101010100DC
+:1048D00000000000000000000000000000000000D8
+:1048E00000000000000000000000000000000000C8
+:1048F00000000000000000000000000000000000B8
+:1049000000000000000000000000000000000000A7
+:104910000000000000000000000000000000000097
+:104920000000000000000000000000000000000087
+:104930000000000000000000000000000000000077
+:104940000000000000000000000000000000000067
+:104950000000000000000000000000000000000057
+:104960000000000000000000000000000000000047
+:104970000000000000000000000000000000000037
+:104980000000000000000000000000000000000027
+:104990000000000000000000000000000000000017
+:1049A0000000000000000000000000000000000205
+:1049B00002020202020202020202020202020000DB
+:1049C00000000001010101010101010101010100DB
+:1049D00000000000000000000000000000000000D7
+:1049E00000000000000000000000000000000000C7
+:1049F00000000000000000000000000000000000B7
+:104A000000000000000000000000000000000000A6
+:104A10000000000000000000000000000000000096
+:104A20000000000000000000000000000000000086
+:104A30000000000000000000000000000000000076
+:104A40000000000000000000000000000000000066
+:104A50000000000000000000000000000000000056
+:104A60000000000000000000000000000000000046
+:104A70000000000000000000000000000000000036
+:104A80000000000000000000000000000000000026
+:104A90000000000000000000000000000000000016
+:104AA0000000000000000000000000000000000204
+:104AB00002020202020202020202020202020000DA
+:104AC00000000101010101010101010101010100D9
+:104AD00000000000000000000000000000000000D6
+:104AE00000000000000000000000000000000000C6
+:104AF00000000000000000000000000000000000B6
+:104B000000000000000000000000000000000000A5
+:104B10000000000000000000000000000000000095
+:104B20000000000000000000000000000000000085
+:104B30000000000000000000000000000000000075
+:104B40000000000000000000000000000000000065
+:104B50000000000000000000000000000000000055
+:104B60000000000000000000000000000000000045
+:104B70000000000000000000000000000000000035
+:104B80000000000000000000000000000000000025
+:104B90000000000000000000000000000000000015
+:104BA0000000000000000000000000000000000203
+:104BB00002020202020202020202020202020000D9
+:104BC00000000101010101010101010101010100D8
+:104BD00000000000000000000000000000000000D5
+:104BE00000000000000000000000000000000000C5
+:104BF00000000000000000000000000000000000B5
+:104C000000000000000000000000000000000000A4
+:104C10000000000000000000000000000000000094
+:104C20000000000000000000000000000000000084
+:104C30000000000000000000000000000000000074
+:104C40000000000000000000000000000000000064
+:104C50000000000000000000000000000000000054
+:104C60000000000000000000000000000000000044
+:104C70000000000000000000000000000000000034
+:104C80000000000000000000000000000000000024
+:104C90000000000000000000000000000000000014
+:104CA0000000000000000000000000000000000202
+:104CB00002020202020202020202020202020000D8
+:104CC00000010101010101010101010101010100D6
+:104CD00000000000000000000000000000000000D4
+:104CE00000000000000000000000000000000000C4
+:104CF00000000000000000000000000000000000B4
+:104D000000000000000000000000000000000000A3
+:104D10000000000000000000000000000000000093
+:104D20000000000000000000000000000000000083
+:104D30000000000000000000000000000000000073
+:104D40000000000000000000000000000000000063
+:104D50000000000000000000000000000000000053
+:104D60000000000000000000000000000000000043
+:104D70000000000000000000000000000000000033
+:104D80000000000000000000000000000000000023
+:104D90000000000000000000000000000000000013
+:104DA0000000000000000000000000000000000201
+:104DB00002020202020202020202020202020000D7
+:104DC00000010101010101010101010101010100D5
+:104DD00000000000000000000000000000000000D3
+:104DE00000000000000000000000000000000000C3
+:104DF00000000000000000000000000000000000B3
+:104E000000000000000000000000000000000000A2
+:104E10000000000000000000000000000000000092
+:104E20000000000000000000000000000000000082
+:104E30000000000000000000000000000000000072
+:104E40000000000000000000000000000000000062
+:104E50000000000000000000000000000000000052
+:104E60000000000000000000000000000000000042
+:104E70000000000000000000000000000000000032
+:104E80000000000000000000000000000000000022
+:104E90000000000000000000000000000000000012
+:104EA0000000000000000000000000000000000200
+:104EB00002020202020202020202020202020000D6
+:104EC00000000000000000000000000000000000E2
+:104ED00000000000000000000000000000000000D2
+:104EE00000000000000000000000000000000000C2
+:104EF00000000000000000000000000000000000B2
+:104F000000000000000000000000000000000000A1
+:104F10000000000000000000000000000000000091
+:104F20000000000000000000000000000000000081
+:104F30000000000000000000000000000000000071
+:104F40000000000000000000000000000000000061
+:104F50000000000000000000000000000000000051
+:104F60000000000000000000000000000000000041
+:104F70000000000000000000000000000000000031
+:104F80000000000000000000000000000000000021
+:104F90000000000000000000000000000000000011
+:104FA0000000000000000000000000000000000001
+:104FB00000000000000000000000000000000017DA
+:104FC00000000000000000000000000000000000E1
+:104FD00000000000000001000000000000000000D0
+:104FE00000000000000000000000000000000000C1
+:104FF00000000000000000000000000000000000B1
+:1050000000000000000000000000000000000000A0
+:105010000000000000000000000000000000000090
+:105020000000000000000000000000000000000080
+:105030000000000000000000000000000000000070
+:105040000000000000000000000000000000000060
+:105050000000000000000000000000000000000050
+:105060000000000000000000000000000000000040
+:105070000000000000000000000000000000000030
+:105080000000000000000000000000000000000020
+:105090000000000000000000000000000000000010
+:1050A0000000000000000000000000000000000000
+:1050B00000000000000000020000000000000000EE
+:1050C00000000000000000000000000000000000E0
+:1050D00000000000000001000000000000000000CF
+:1050E00000000000000000000000000000000000C0
+:1050F00000000000000000000000000000000000B0
+:10510000000000000000000000000000000000009F
+:10511000000000000000000000000000000000008F
+:10512000000000000000000000000000000000007F
+:10513000000000000000000000000000000000006F
+:10514000000000000000000000000000000000005F
+:10515000000000000000000000000000000000004F
+:10516000000000000000000000000000000000003F
+:10517000000000000000000000000000000000002F
+:10518000000000000000000000000000000000001F
+:10519000000000000000000000000000000000000F
+:1051A00000000000000000000000000000000000FF
+:1051B00000000000000000020001000000000000EC
+:1051C00000000000000000000000000000000000DF
+:1051D00000000000000101000000000000000000CD
+:1051E00000000000000000000000000000000000BF
+:1051F00000000000000000000000000000000000AF
+:10520000000000000000000000000000000000009E
+:10521000000000000000000000000000000000008E
+:10522000000000000000000000000000000000007E
+:10523000000000000000000000000000000000006E
+:10524000000000000000000000000000000000005E
+:10525000000000000000000000000000000000004E
+:10526000000000000000000000000000000000003E
+:10527000000000000000000000000000000000002E
+:10528000000000000000000000000000000000001E
+:10529000000000000000000000000000000000000E
+:1052A00000000000000000000000000000000000FE
+:1052B00000000000000000020201000000000000E9
+:1052C00000000000000000000000000000000000DE
+:1052D00000000000010101000000000000000000CB
+:1052E00000000000000000000000000000000000BE
+:1052F00000000000000000000000000000000000AE
+:10530000000000000000000000000000000000009D
+:10531000000000000000000000000000000000008D
+:10532000000000000000000000000000000000007D
+:10533000000000000000000000000000000000006D
+:10534000000000000000000000000000000000005D
+:10535000000000000000000000000000000000004D
+:10536000000000000000000000000000000000003D
+:10537000000000000000000000000000000000002D
+:10538000000000000000000000000000000000001D
+:10539000000000000000000000000000000000000D
+:1053A00000000000000000000000000000000000FD
+:1053B00000000000000000020202000000000000E7
+:1053C00000000000000000000000000000000000DD
+:1053D00000000000010101000000000000000000CA
+:1053E00000000000000000000000000000000000BD
+:1053F00000000000000000000000000000000000AD
+:10540000000000000000000000000000000000009C
+:10541000000000000000000000000000000000008C
+:10542000000000000000000000000000000000007C
+:10543000000000000000000000000000000000006C
+:10544000000000000000000000000000000000005C
+:10545000000000000000000000000000000000004C
+:10546000000000000000000000000000000000003C
+:10547000000000000000000000000000000000002C
+:10548000000000000000000000000000000000001C
+:10549000000000000000000000000000000000000C
+:1054A00000000000000000000000000000000000FC
+:1054B00000000000000000020202000000000000E6
+:1054C00000000000000000000000000000000000DC
+:1054D00000000000010101000000000000000000C9
+:1054E00000000000000000000000000000000000BC
+:1054F00000000000000000000000000000000000AC
+:10550000000000000000000000000000000000009B
+:10551000000000000000000000000000000000008B
+:10552000000000000000000000000000000000007B
+:10553000000000000000000000000000000000006B
+:10554000000000000000000000000000000000005B
+:10555000000000000000000000000000000000004B
+:10556000000000000000000000000000000000003B
+:10557000000000000000000000000000000000002B
+:10558000000000000000000000000000000000001B
+:10559000000000000000000000000000000000000B
+:1055A00000000000000000000000000000000000FB
+:1055B00000000000000000020202020100000001E1
+:1055C00000000000000000000000000000000000DB
+:1055D00000000001010101000000000000000000C7
+:1055E00000000000000000000000000000000000BB
+:1055F00000000000000000000000000000000000AB
+:10560000000000000000000000000000000000009A
+:10561000000000000000000000000000000000008A
+:10562000000000000000000000000000000000007A
+:10563000000000000000000000000000000000006A
+:10564000000000000000000000000000000000005A
+:10565000000000000000000000000000000000004A
+:10566000000000000000000000000000000000003A
+:10567000000000000000000000000000000000002A
+:10568000000000000000000000000000000000001A
+:10569000000000000000000000000000000000000A
+:1056A00000000000000000000000000000000000FA
+:1056B00000000000000000020202020200000001DF
+:1056C00000000000000000000000000000000000DA
+:1056D00000000101010101000000000000000000C5
+:1056E00000000000000000000000000000000000BA
+:1056F00000000000000000000000000000000000AA
+:105700000000000000000000000000000000000099
+:105710000000000000000000000000000000000089
+:105720000000000000000000000000000000000079
+:105730000000000000000000000000000000000069
+:105740000000000000000000000000000000000059
+:105750000000000000000000000000000000000049
+:105760000000000000000000000000000000000039
+:105770000000000000000000000000000000000029
+:105780000000000000000000000000000000000019
+:105790000000000000000000000000000000000009
+:1057A00000000000000000000000000000000000F9
+:1057B00000000000000000020202020201010101DB
+:1057C00000000000010000000000000000000000D8
+:1057D00000010101010101000000000000000000C3
+:1057E00000000000000000000000000000000000B9
+:1057F00000000000000000000000000000000000A9
+:105800000000000000000000000000000000000098
+:105810000000000000000000000000000000000088
+:105820000000000000000000000000000000000078
+:105830000000000000000000000000000000000068
+:105840000000000000000000000000000000000058
+:105850000000000000000000000000000000000048
+:105860000000000000000000000000000000000038
+:105870000000000000000000000000000000000028
+:105880000000000000000000000000000000000018
+:105890000000000000000000000000000000000008
+:1058A00000000000000000000000000000000000F8
+:1058B00000000000000000020202020202010101D9
+:1058C00000000000010000000000000000000001D6
+:1058D00001010101010101000000000000000000C1
+:1058E00000000000000000000000000000000000B8
+:1058F00000000000000000000000000000000000A8
+:105900000000000000000000000000000000000097
+:105910000000000000000000000000000000000087
+:105920000000000000000000000000000000000077
+:105930000000000000000000000000000000000067
+:105940000000000000000000000000000000000057
+:105950000000000000000000000000000000000047
+:105960000000000000000000000000000000000037
+:105970000000000000000000000000000000000027
+:105980000000000000000000000000000000000017
+:105990000000000000000000000000000000000007
+:1059A00000000000000000000000000000000000F7
+:1059B00000000000000000020202020202020202D5
+:1059C00001000100010000000000000000000001D3
+:1059D00001010101010101000000000000000000C0
+:1059E00000000000000000000000000000000000B7
+:1059F00000000000000000000000000000000000A7
+:105A00000000000000000000000000000000000096
+:105A10000000000000000000000000000000000086
+:105A20000000000000000000000000000000000076
+:105A30000000000000000000000000000000000066
+:105A40000000000000000000000000000000000056
+:105A50000000000000000000000000000000000046
+:105A60000000000000000000000000000000000036
+:105A70000000000000000000000000000000000026
+:105A80000000000000000000000000000000000016
+:105A90000000000000000000000000000000000006
+:105AA00000000000000000000000000000000000F6
+:105AB00000000000000000020202020202020202D4
+:105AC00001010100010100000000000000010101CE
+:105AD00001010101010101000000000000000000BF
+:105AE00000000000000000000000000000000000B6
+:105AF00000000000000000000000000000000000A6
+:105B00000000000000000000000000000000000095
+:105B10000000000000000000000000000000000085
+:105B20000000000000000000000000000000000075
+:105B30000000000000000000000000000000000065
+:105B40000000000000000000000000000000000055
+:105B50000000000000000000000000000000000045
+:105B60000000000000000000000000000000000035
+:105B70000000000000000000000000000000000025
+:105B80000000000000000000000000000000000015
+:105B90000000000000000000000000000000000005
+:105BA00000000000000000000000000000000000F5
+:105BB00000000000000000020202020202020202D3
+:105BC00002010100010100000000000000010101CC
+:105BD00001010101010101000000000000000000BE
+:105BE00000000000000000000000000000000000B5
+:105BF00000000000000000000000000000000000A5
+:105C00000000000000000000000000000000000094
+:105C10000000000000000000000000000000000084
+:105C20000000000000000000000000000000000074
+:105C30000000000000000000000000000000000064
+:105C40000000000000000000000000000000000054
+:105C50000000000000000000000000000000000044
+:105C60000000000000000000000000000000000034
+:105C70000000000000000000000000000000000024
+:105C80000000000000000000000000000000000014
+:105C90000000000000000000000000000000000004
+:105CA00000000000000000000000000000000000F4
+:105CB00000000000000000020202020202020202D2
+:105CC00002020201010100000000000001010101C7
+:105CD00001010101010101000000000000000000BD
+:105CE00000000000000000000000000000000000B4
+:105CF00000000000000000000000000000000000A4
+:105D00000000000000000000000000000000000093
+:105D10000000000000000000000000000000000083
+:105D20000000000000000000000000000000000073
+:105D30000000000000000000000000000000000063
+:105D40000000000000000000000000000000000053
+:105D50000000000000000000000000000000000043
+:105D60000000000000000000000000000000000033
+:105D70000000000000000000000000000000000023
+:105D80000000000000000000000000000000000013
+:105D90000000000000000000000000000000000003
+:105DA00000000000000000000000000000000000F3
+:105DB00000000000000000020202020202020202D1
+:105DC00002020201020100000000000001010101C5
+:105DD00001010101010101000000000000000000BC
+:105DE00000000000000000000000000000000000B3
+:105DF00000000000000000000000000000000000A3
+:105E00000000000000000000000000000000000092
+:105E10000000000000000000000000000000000082
+:105E20000000000000000000000000000000000072
+:105E30000000000000000000000000000000000062
+:105E40000000000000000000000000000000000052
+:105E50000000000000000000000000000000000042
+:105E60000000000000000000000000000000000032
+:105E70000000000000000000000000000000000022
+:105E80000000000000000000000000000000000012
+:105E90000000000000000000000000000000000002
+:105EA00000000000000000000000000000000000F2
+:105EB00000000000000000020202020202020202D0
+:105EC00002020202020100000000000101010101C2
+:105ED00001010101010101000000000000000000BB
+:105EE00000000000000000000000000000000000B2
+:105EF00000000000000000000000000000000000A2
+:105F00000000000000000000000000000000000091
+:105F10000000000000000000000000000000000081
+:105F20000000000000000000000000000000000071
+:105F30000000000000000000000000000000000061
+:105F40000000000000000000000000000000000051
+:105F50000000000000000000000000000000000041
+:105F60000000000000000000000000000000000031
+:105F70000000000000000000000000000000000021
+:105F80000000000000000000000000000000000011
+:105F90000000000000000000000000000000000001
+:105FA00000000000000000000000000000000000F1
+:105FB00000000000000000020202020202020202CF
+:105FC00002020202020200000000000101010101C0
+:105FD00001010101010101000000000000000000BA
+:105FE00000000000000000000000000000000000B1
+:105FF00000000000000000000000000000000000A1
+:106000000000000000000000000000000000000090
+:106010000000000000000000000000000000000080
+:106020000000000000000000000000000000000070
+:106030000000000000000000000000000000000060
+:106040000000000000000000000000000000000050
+:106050000000000000000000000000000000000040
+:106060000000000000000000000000000000000030
+:106070000000000000000000000000000000000020
+:106080000000000000000000000000000000000010
+:106090000000000000000000000000000000000000
+:1060A00000000000000000000000000000000000F0
+:1060B00000000000000000020202020202020202CE
+:1060C00002020202020200000001010101010101BD
+:1060D00001010101010101000000000000000000B9
+:1060E00000000000000000000000000000000000B0
+:1060F00000000000000000000000000000000000A0
+:10610000000000000000000000000000000000008F
+:10611000000000000000000000000000000000007F
+:10612000000000000000000000000000000000006F
+:10613000000000000000000000000000000000005F
+:10614000000000000000000000000000000000004F
+:10615000000000000000000000000000000000003F
+:10616000000000000000000000000000000000002F
+:10617000000000000000000000000000000000001F
+:10618000000000000000000000000000000000000F
+:1061900000000000000000000000000000000000FF
+:1061A00000000000000000000000000000000000EF
+:1061B00000000000000000020202020202020202CD
+:1061C00002020202020200000001010101010101BC
+:1061D00001010101010101000000000000000000B8
+:1061E00000000000000000000000000000000000AF
+:1061F000000000000000000000000000000000009F
+:10620000000000000000000000000000000000008E
+:10621000000000000000000000000000000000007E
+:10622000000000000000000000000000000000006E
+:10623000000000000000000000000000000000005E
+:10624000000000000000000000000000000000004E
+:10625000000000000000000000000000000000003E
+:10626000000000000000000000000000000000002E
+:10627000000000000000000000000000000000001E
+:10628000000000000000000000000000000000000E
+:1062900000000000000000000000000000000000FE
+:1062A00000000000000000000000000000000000EE
+:1062B00000000000000000020202020202020202CC
+:1062C00002020202020200000001010101010101BB
+:1062D00001010101010101000000000000000000B7
+:1062E00000000000000000000000000000000000AE
+:1062F000000000000000000000000000000000009E
+:10630000000000000000000000000000000000008D
+:10631000000000000000000000000000000000007D
+:10632000000000000000000000000000000000006D
+:10633000000000000000000000000000000000005D
+:10634000000000000000000000000000000000004D
+:10635000000000000000000000000000000000003D
+:10636000000000000000000000000000000000002D
+:10637000000000000000000000000000000000001D
+:10638000000000000000000000000000000000000D
+:1063900000000000000000000000000000000000FD
+:1063A00000000000000000000000000000000000ED
+:1063B00000000000000000020202020202020202CB
+:1063C00002020202020200000101010101010101B9
+:1063D00001010101010101000000000000000000B6
+:1063E00000000000000000000000000000000000AD
+:1063F000000000000000000000000000000000009D
+:10640000000000000000000000000000000000008C
+:10641000000000000000000000000000000000007C
+:10642000000000000000000000000000000000006C
+:10643000000000000000000000000000000000005C
+:10644000000000000000000000000000000000004C
+:10645000000000000000000000000000000000003C
+:10646000000000000000000000000000000000002C
+:10647000000000000000000000000000000000001C
+:10648000000000000000000000000000000000000C
+:1064900000000000000000000000000000000000FC
+:1064A00000000000000000000000000000000000EC
+:1064B00000000000000000020202020202020202CA
+:1064C00002020202020200000101010101010101B8
+:1064D00001010101010101000000000000000000B5
+:1064E00000000000000000000000000000000000AC
+:1064F000000000000000000000000000000000009C
+:10650000000000000000000000000000000000008B
+:10651000000000000000000000000000000000007B
+:10652000000000000000000000000000000000006B
+:10653000000000000000000000000000000000005B
+:10654000000000000000000000000000000000004B
+:10655000000000000000000000000000000000003B
+:10656000000000000000000000000000000000002B
+:10657000000000000000000000000000000000001B
+:10658000000000000000000000000000000000000B
+:1065900000000000000000000000000000000000FB
+:1065A00000000000000000000000000000000000EB
+:1065B00000000000000000020202020202020202C9
+:1065C00002020202020200000000000000000000BF
+:1065D00000000000000000000000000000000000BB
+:1065E00000000000000000000000000000000000AB
+:1065F000000000000000000000000000000000009B
+:10660000000000000000000000000000000000008A
+:10661000000000000000000000000000000000007A
+:10662000000000000000000000000000000000006A
+:10663000000000000000000000000000000000005A
+:10664000000000000000000000000000000000004A
+:10665000000000000000000000000000000000003A
+:10666000000000000000000000000000000000002A
+:10667000000000000000000000000000000000001A
+:10668000000000000000000000000000000000000A
+:1066900000000000000000000000000000000000FA
+:1066A00000000000000000000000000000000000EA
+:1066B00000000000000000000000000000000000DA
+:1066C00000000000000000170000000000000000B3
+:1066D00000000000000000000000000000000100B9
+:1066E00000000000000000000000000000000000AA
+:1066F000000000000000000000000000000000009A
+:106700000000000000000000000000000000000089
+:106710000000000000000000000000000000000079
+:106720000000000000000000000000000000000069
+:106730000000000000000000000000000000000059
+:106740000000000000000000000000000000000049
+:106750000000000000000000000000000000000039
+:106760000000000000000000000000000000000029
+:106770000000000000000000000000000000000019
+:106780000000000000000000000000000000000009
+:1067900000000000000000000000000000000000F9
+:1067A00000000000000000000000000000000000E9
+:1067B00000000000000000000000000000000002D7
+:1067C00000000000000000000000000000000000C9
+:1067D00000000000000000000000000000000100B8
+:1067E00000000000000000000000000000000000A9
+:1067F0000000000000000000000000000000000099
+:106800000000000000000000000000000000000088
+:106810000000000000000000000000000000000078
+:106820000000000000000000000000000000000068
+:106830000000000000000000000000000000000058
+:106840000000000000000000000000000000000048
+:106850000000000000000000000000000000000038
+:106860000000000000000000000000000000000028
+:106870000000000000000000000000000000000018
+:106880000000000000000000000000000000000008
+:1068900000000000000000000000000000000000F8
+:1068A00000000000000000000000000000000000E8
+:1068B00000000000000000000000000000000002D6
+:1068C00001010000000000000000000000000000C6
+:1068D00000000000000000000000000000010100B6
+:1068E00000000000000000000000000000000000A8
+:1068F0000000000000000000000000000000000098
+:106900000000000000000000000000000000000087
+:106910000000000000000000000000000000000077
+:106920000000000000000000000000000000000067
+:106930000000000000000000000000000000000057
+:106940000000000000000000000000000000000047
+:106950000000000000000000000000000000000037
+:106960000000000000000000000000000000000027
+:106970000000000000000000000000000000000017
+:106980000000000000000000000000000000000007
+:1069900000000000000000000000000000000000F7
+:1069A00000000000000000000000000000000000E7
+:1069B00000000000000000000000000000000002D5
+:1069C00001010000000000000000000000000000C5
+:1069D00000000000000000000000000000010100B5
+:1069E00000000000000000000000000000000000A7
+:1069F0000000000000000000000000000000000097
+:106A00000000000000000000000000000000000086
+:106A10000000000000000000000000000000000076
+:106A20000000000000000000000000000000000066
+:106A30000000000000000000000000000000000056
+:106A40000000000000000000000000000000000046
+:106A50000000000000000000000000000000000036
+:106A60000000000000000000000000000000000026
+:106A70000000000000000000000000000000000016
+:106A80000000000000000000000000000000000006
+:106A900000000000000000000000000000000000F6
+:106AA00000000000000000000000000000000000E6
+:106AB00000000000000000000000000000000002D4
+:106AC00002020000000000000000000000000000C2
+:106AD00000000000000000000000000001010100B3
+:106AE00000000000000000000000000000000000A6
+:106AF0000000000000000000000000000000000096
+:106B00000000000000000000000000000000000085
+:106B10000000000000000000000000000000000075
+:106B20000000000000000000000000000000000065
+:106B30000000000000000000000000000000000055
+:106B40000000000000000000000000000000000045
+:106B50000000000000000000000000000000000035
+:106B60000000000000000000000000000000000025
+:106B70000000000000000000000000000000000015
+:106B80000000000000000000000000000000000005
+:106B900000000000000000000000000000000000F5
+:106BA00000000000000000000000000000000000E5
+:106BB00000000000000000000000000000000002D3
+:106BC00002020000000000000000000000000000C1
+:106BD00000000000000000000000000101010100B1
+:106BE00000000000000000000000000000000000A5
+:106BF0000000000000000000000000000000000095
+:106C00000000000000000000000000000000000084
+:106C10000000000000000000000000000000000074
+:106C20000000000000000000000000000000000064
+:106C30000000000000000000000000000000000054
+:106C40000000000000000000000000000000000044
+:106C50000000000000000000000000000000000034
+:106C60000000000000000000000000000000000024
+:106C70000000000000000000000000000000000014
+:106C80000000000000000000000000000000000004
+:106C900000000000000000000000000000000000F4
+:106CA00000000000000000000000000000000000E4
+:106CB00000000000000000000000000000000002D2
+:106CC00002020200010000000000000000000000BD
+:106CD00000000000000000000000010101010100AF
+:106CE00000000000000000000000000000000000A4
+:106CF0000000000000000000000000000000000094
+:106D00000000000000000000000000000000000083
+:106D10000000000000000000000000000000000073
+:106D20000000000000000000000000000000000063
+:106D30000000000000000000000000000000000053
+:106D40000000000000000000000000000000000043
+:106D50000000000000000000000000000000000033
+:106D60000000000000000000000000000000000023
+:106D70000000000000000000000000000000000013
+:106D80000000000000000000000000000000000003
+:106D900000000000000000000000000000000000F3
+:106DA00000000000000000000000000000000000E3
+:106DB00000000000000000000000000000000002D1
+:106DC00002020200010000000000000000000000BC
+:106DD00000000000000000000101010101010100AC
+:106DE00000000000000000000000000000000000A3
+:106DF0000000000000000000000000000000000093
+:106E00000000000000000000000000000000000082
+:106E10000000000000000000000000000000000072
+:106E20000000000000000000000000000000000062
+:106E30000000000000000000000000000000000052
+:106E40000000000000000000000000000000000042
+:106E50000000000000000000000000000000000032
+:106E60000000000000000000000000000000000022
+:106E70000000000000000000000000000000000012
+:106E80000000000000000000000000000000000002
+:106E900000000000000000000000000000000000F2
+:106EA00000000000000000000000000000000000E2
+:106EB00000000000000000000000000000000002D0
+:106EC00002020202010100000100000000000000B7
+:106ED00000000000000000000101010101010100AB
+:106EE00000000000000000000000000000000000A2
+:106EF0000000000000000000000000000000000092
+:106F00000000000000000000000000000000000081
+:106F10000000000000000000000000000000000071
+:106F20000000000000000000000000000000000061
+:106F30000000000000000000000000000000000051
+:106F40000000000000000000000000000000000041
+:106F50000000000000000000000000000000000031
+:106F60000000000000000000000000000000000021
+:106F70000000000000000000000000000000000011
+:106F80000000000000000000000000000000000001
+:106F900000000000000000000000000000000000F1
+:106FA00000000000000000000000000000000000E1
+:106FB00000000000000000000000000000000002CF
+:106FC00002020202020101000100000000000000B4
+:106FD00000000000000000010101010101010100A9
+:106FE00000000000000000000000000000000000A1
+:106FF0000000000000000000000000000000000091
+:107000000000000000000000000000000000000080
+:107010000000000000000000000000000000000070
+:107020000000000000000000000000000000000060
+:107030000000000000000000000000000000000050
+:107040000000000000000000000000000000000040
+:107050000000000000000000000000000000000030
+:107060000000000000000000000000000000000020
+:107070000000000000000000000000000000000010
+:107080000000000000000000000000000000000000
+:1070900000000000000000000000000000000000F0
+:1070A00000000000000000000000000000000000E0
+:1070B00000000000000000000000000000000002CE
+:1070C00002020202020201000100000000000000B2
+:1070D00000000000000001010101010101010100A7
+:1070E00000000000000000000000000000000000A0
+:1070F0000000000000000000000000000000000090
+:10710000000000000000000000000000000000007F
+:10711000000000000000000000000000000000006F
+:10712000000000000000000000000000000000005F
+:10713000000000000000000000000000000000004F
+:10714000000000000000000000000000000000003F
+:10715000000000000000000000000000000000002F
+:10716000000000000000000000000000000000001F
+:10717000000000000000000000000000000000000F
+:1071800000000000000000000000000000000000FF
+:1071900000000000000000000000000000000000EF
+:1071A00000000000000000000000000000000000DF
+:1071B00000000000000000000000000000000002CD
+:1071C00002020202020202000100010000010000AE
+:1071D00000000000010101010101010101010100A4
+:1071E000000000000000000000000000000000009F
+:1071F000000000000000000000000000000000008F
+:10720000000000000000000000000000000000007E
+:10721000000000000000000000000000000000006E
+:10722000000000000000000000000000000000005E
+:10723000000000000000000000000000000000004E
+:10724000000000000000000000000000000000003E
+:10725000000000000000000000000000000000002E
+:10726000000000000000000000000000000000001E
+:10727000000000000000000000000000000000000E
+:1072800000000000000000000000000000000000FE
+:1072900000000000000000000000000000000000EE
+:1072A00000000000000000000000000000000000DE
+:1072B00000000000000000000000000000000002CC
+:1072C00002020202020202010201010100010000A9
+:1072D00000000000010101010101010101010100A3
+:1072E000000000000000000000000000000000009E
+:1072F000000000000000000000000000000000008E
+:10730000000000000000000000000000000000007D
+:10731000000000000000000000000000000000006D
+:10732000000000000000000000000000000000005D
+:10733000000000000000000000000000000000004D
+:10734000000000000000000000000000000000003D
+:10735000000000000000000000000000000000002D
+:10736000000000000000000000000000000000001D
+:10737000000000000000000000000000000000000D
+:1073800000000000000000000000000000000000FD
+:1073900000000000000000000000000000000000ED
+:1073A00000000000000000000000000000000000DD
+:1073B00000000000000000000000000000000002CB
+:1073C00002020202020202020201010100010000A7
+:1073D00000000000010101010101010101010100A2
+:1073E000000000000000000000000000000000009D
+:1073F000000000000000000000000000000000008D
+:10740000000000000000000000000000000000007C
+:10741000000000000000000000000000000000006C
+:10742000000000000000000000000000000000005C
+:10743000000000000000000000000000000000004C
+:10744000000000000000000000000000000000003C
+:10745000000000000000000000000000000000002C
+:10746000000000000000000000000000000000001C
+:10747000000000000000000000000000000000000C
+:1074800000000000000000000000000000000000FC
+:1074900000000000000000000000000000000000EC
+:1074A00000000000000000000000000000000000DC
+:1074B00000000000000000000000000000000002CA
+:1074C00002020202020202020202020100010000A4
+:1074D00000000000010101010101010101010100A1
+:1074E000000000000000000000000000000000009C
+:1074F000000000000000000000000000000000008C
+:10750000000000000000000000000000000000007B
+:10751000000000000000000000000000000000006B
+:10752000000000000000000000000000000000005B
+:10753000000000000000000000000000000000004B
+:10754000000000000000000000000000000000003B
+:10755000000000000000000000000000000000002B
+:10756000000000000000000000000000000000001B
+:10757000000000000000000000000000000000000B
+:1075800000000000000000000000000000000000FB
+:1075900000000000000000000000000000000000EB
+:1075A00000000000000000000000000000000000DB
+:1075B00000000000000000000000000000000002C9
+:1075C00002020202020202020202020201010000A1
+:1075D000000000010101010101010101010101009F
+:1075E000000000000000000000000000000000009B
+:1075F000000000000000000000000000000000008B
+:10760000000000000000000000000000000000007A
+:10761000000000000000000000000000000000006A
+:10762000000000000000000000000000000000005A
+:10763000000000000000000000000000000000004A
+:10764000000000000000000000000000000000003A
+:10765000000000000000000000000000000000002A
+:10766000000000000000000000000000000000001A
+:10767000000000000000000000000000000000000A
+:1076800000000000000000000000000000000000FA
+:1076900000000000000000000000000000000000EA
+:1076A00000000000000000000000000000000000DA
+:1076B00000000000000000000000000000000002C8
+:1076C000020202020202020202020202010200009F
+:1076D000000000010101010101010101010101009E
+:1076E000000000000000000000000000000000009A
+:1076F000000000000000000000000000000000008A
+:107700000000000000000000000000000000000079
+:107710000000000000000000000000000000000069
+:107720000000000000000000000000000000000059
+:107730000000000000000000000000000000000049
+:107740000000000000000000000000000000000039
+:107750000000000000000000000000000000000029
+:107760000000000000000000000000000000000019
+:107770000000000000000000000000000000000009
+:1077800000000000000000000000000000000000F9
+:1077900000000000000000000000000000000000E9
+:1077A00000000000000000000000000000000000D9
+:1077B00000000000000000000000000000000002C7
+:1077C000020202020202020202020202020200009D
+:1077D000010101010101010101010101010101009A
+:1077E0000000000000000000000000000000000099
+:1077F0000000000000000000000000000000000089
+:107800000000000000000000000000000000000078
+:107810000000000000000000000000000000000068
+:107820000000000000000000000000000000000058
+:107830000000000000000000000000000000000048
+:107840000000000000000000000000000000000038
+:107850000000000000000000000000000000000028
+:107860000000000000000000000000000000000018
+:107870000000000000000000000000000000000008
+:1078800000000000000000000000000000000000F8
+:1078900000000000000000000000000000000000E8
+:1078A00000000000000000000000000000000000D8
+:1078B00000000000000000000000000000000002C6
+:1078C000020202020202020202020202020200009C
+:1078D0000101010101010101010101010101010099
+:1078E0000000000000000000000000000000000098
+:1078F0000000000000000000000000000000000088
+:107900000000000000000000000000000000000077
+:107910000000000000000000000000000000000067
+:107920000000000000000000000000000000000057
+:107930000000000000000000000000000000000047
+:107940000000000000000000000000000000000037
+:107950000000000000000000000000000000000027
+:107960000000000000000000000000000000000017
+:107970000000000000000000000000000000000007
+:1079800000000000000000000000000000000000F7
+:1079900000000000000000000000000000000000E7
+:1079A00000000000000000000000000000000000D7
+:1079B00000000000000000000000000000000002C5
+:1079C000020202020202020202020202020200009B
+:1079D0000101010101010101010101010101010098
+:1079E0000000000000000000000000000000000097
+:1079F0000000000000000000000000000000000087
+:107A00000000000000000000000000000000000076
+:107A10000000000000000000000000000000000066
+:107A20000000000000000000000000000000000056
+:107A30000000000000000000000000000000000046
+:107A40000000000000000000000000000000000036
+:107A50000000000000000000000000000000000026
+:107A60000000000000000000000000000000000016
+:107A70000000000000000000000000000000000006
+:107A800000000000000000000000000000000000F6
+:107A900000000000000000000000000000000000E6
+:107AA00000000000000000000000000000000000D6
+:107AB00000000000000000000000000000000002C4
+:107AC000020202020202020202020202020200009A
+:107AD0000101010101010101010101010101010097
+:107AE0000000000000000000000000000000000096
+:107AF0000000000000000000000000000000000086
+:107B00000000000000000000000000000000000075
+:107B10000000000000000000000000000000000065
+:107B20000000000000000000000000000000000055
+:107B30000000000000000000000000000000000045
+:107B40000000000000000000000000000000000035
+:107B50000000000000000000000000000000000025
+:107B60000000000000000000000000000000000015
+:107B70000000000000000000000000000000000005
+:107B800000000000000000000000000000000000F5
+:107B900000000000000000000000000000000000E5
+:107BA00000000000000000000000000000000000D5
+:107BB00000000000000000000000000000000002C3
+:107BC0000202020202020202020202020202000099
+:107BD0000101010101010101010101010101010096
+:107BE0000000000000000000000000000000000095
+:107BF0000000000000000000000000000000000085
+:107C00000000000000000000000000000000000074
+:107C10000000000000000000000000000000000064
+:107C20000000000000000000000000000000000054
+:107C30000000000000000000000000000000000044
+:107C40000000000000000000000000000000000034
+:107C50000000000000000000000000000000000024
+:107C60000000000000000000000000000000000014
+:107C70000000000000000000000000000000000004
+:107C800000000000000000000000000000000000F4
+:107C900000000000000000000000000000000000E4
+:107CA00000000000000000000000000000000000D4
+:107CB00000000000000000000000000000000002C2
+:107CC0000202020202020202020202020202000098
+:107CD00000000000000000000000000000000000A4
+:107CE0000000000000000000000000000000000094
+:107CF0000000000000000000000000000000000084
+:107D00000000000000000000000000000000000073
+:107D10000000000000000000000000000000000063
+:107D20000000000000000000000000000000000053
+:107D30000000000000000000000000000000000043
+:107D40000000000000000000000000000000000033
+:107D50000000000000000000000000000000000023
+:107D60000000000000000000000000000000000013
+:107D70000000000000000000000000000000000003
+:107D800000000000000000000000000000000000F3
+:107D900000000000000000000000000000000000E3
+:107DA00000000000000000000000000000000000D3
+:107DB00000000000000000000000000000000000C3
+:107DC000000000000000000000000000000000159E
+:107DD00000000000000000000000000000000000A3
+:107DE0000000000000000100000000000000000092
+:107DF0000000000000000000000000000000000083
+:107E00000000000000000000000000000000000072
+:107E10000000000000000000000000000000000062
+:107E20000000000000000000000000000000000052
+:107E30000000000000000000000000000000000042
+:107E40000000000000000000000000000000000032
+:107E50000000000000000000000000000000000022
+:107E60000000000000000000000000000000000012
+:107E70000000000000000000000000000000000002
+:107E800000000000000000000000000000000000F2
+:107E900000000000000000000000000000000000E2
+:107EA00000000000000000000000000000000000D2
+:107EB00000000000000000000000000000000000C2
+:107EC00000000000000000020000000000000000B0
+:107ED00000000000000000000000000000000000A2
+:107EE000000000000101010000000000000000008F
+:107EF0000000000000000000000000000000000082
+:107F00000000000000000000000000000000000071
+:107F10000000000000000000000000000000000061
+:107F20000000000000000000000000000000000051
+:107F30000000000000000000000000000000000041
+:107F40000000000000000000000000000000000031
+:107F50000000000000000000000000000000000021
+:107F60000000000000000000000000000000000011
+:107F70000000000000000000000000000000000001
+:107F800000000000000000000000000000000000F1
+:107F900000000000000000000000000000000000E1
+:107FA00000000000000000000000000000000000D1
+:107FB00000000000000000000000000000000000C1
+:107FC00000000000000000020100000000000000AE
+:107FD00000000000000000000000000000000000A1
+:107FE000000000010101010000000000000000008D
+:107FF0000000000000000000000000000000000081
+:108000000000000000000000000000000000000070
+:108010000000000000000000000000000000000060
+:108020000000000000000000000000000000000050
+:108030000000000000000000000000000000000040
+:108040000000000000000000000000000000000030
+:108050000000000000000000000000000000000020
+:108060000000000000000000000000000000000010
+:108070000000000000000000000000000000000000
+:1080800000000000000000000000000000000000F0
+:1080900000000000000000000000000000000000E0
+:1080A00000000000000000000000000000000000D0
+:1080B00000000000000000000000000000000000C0
+:1080C00000000000000000020100000001000000AC
+:1080D00000000000000000000000000000000000A0
+:1080E000000000010101010000000000000000008C
+:1080F0000000000000000000000000000000000080
+:10810000000000000000000000000000000000006F
+:10811000000000000000000000000000000000005F
+:10812000000000000000000000000000000000004F
+:10813000000000000000000000000000000000003F
+:10814000000000000000000000000000000000002F
+:10815000000000000000000000000000000000001F
+:10816000000000000000000000000000000000000F
+:1081700000000000000000000000000000000000FF
+:1081800000000000000000000000000000000000EF
+:1081900000000000000000000000000000000000DF
+:1081A00000000000000000000000000000000000CF
+:1081B00000000000000000000000000000000000BF
+:1081C00000000000000000020201000001000000A9
+:1081D000000000000000000000000000000000009F
+:1081E000000001010101010000000000000000008A
+:1081F000000000000000000000000000000000007F
+:10820000000000000000000000000000000000006E
+:10821000000000000000000000000000000000005E
+:10822000000000000000000000000000000000004E
+:10823000000000000000000000000000000000003E
+:10824000000000000000000000000000000000002E
+:10825000000000000000000000000000000000001E
+:10826000000000000000000000000000000000000E
+:1082700000000000000000000000000000000000FE
+:1082800000000000000000000000000000000000EE
+:1082900000000000000000000000000000000000DE
+:1082A00000000000000000000000000000000000CE
+:1082B00000000000000000000000000000000000BE
+:1082C00000000000000000020202010101000000A5
+:1082D000000000000000000000000000000000009E
+:1082E0000101010101010100000000000000000087
+:1082F000000000000000000000000000000000007E
+:10830000000000000000000000000000000000006D
+:10831000000000000000000000000000000000005D
+:10832000000000000000000000000000000000004D
+:10833000000000000000000000000000000000003D
+:10834000000000000000000000000000000000002D
+:10835000000000000000000000000000000000001D
+:10836000000000000000000000000000000000000D
+:1083700000000000000000000000000000000000FD
+:1083800000000000000000000000000000000000ED
+:1083900000000000000000000000000000000000DD
+:1083A00000000000000000000000000000000000CD
+:1083B00000000000000000000000000000000000BD
+:1083C00000000000000000020202010101000000A4
+:1083D000000000000000000000000000000000019C
+:1083E0000101010101010100000000000000000086
+:1083F000000000000000000000000000000000007D
+:10840000000000000000000000000000000000006C
+:10841000000000000000000000000000000000005C
+:10842000000000000000000000000000000000004C
+:10843000000000000000000000000000000000003C
+:10844000000000000000000000000000000000002C
+:10845000000000000000000000000000000000001C
+:10846000000000000000000000000000000000000C
+:1084700000000000000000000000000000000000FC
+:1084800000000000000000000000000000000000EC
+:1084900000000000000000000000000000000000DC
+:1084A00000000000000000000000000000000000CC
+:1084B00000000000000000000000000000000000BC
+:1084C00000000000000000020202020101010001A0
+:1084D0000000000100000000000000000000010199
+:1084E0000101010101010100000000000000000085
+:1084F000000000000000000000000000000000007C
+:10850000000000000000000000000000000000006B
+:10851000000000000000000000000000000000005B
+:10852000000000000000000000000000000000004B
+:10853000000000000000000000000000000000003B
+:10854000000000000000000000000000000000002B
+:10855000000000000000000000000000000000001B
+:10856000000000000000000000000000000000000B
+:1085700000000000000000000000000000000000FB
+:1085800000000000000000000000000000000000EB
+:1085900000000000000000000000000000000000DB
+:1085A00000000000000000000000000000000000CB
+:1085B00000000000000000000000000000000000BB
+:1085C000000000000000000202020202020101019C
+:1085D0000100000101010000000000000101010193
+:1085E0000101010101010100000000000000000084
+:1085F000000000000000000000000000000000007B
+:10860000000000000000000000000000000000006A
+:10861000000000000000000000000000000000005A
+:10862000000000000000000000000000000000004A
+:10863000000000000000000000000000000000003A
+:10864000000000000000000000000000000000002A
+:10865000000000000000000000000000000000001A
+:10866000000000000000000000000000000000000A
+:1086700000000000000000000000000000000000FA
+:1086800000000000000000000000000000000000EA
+:1086900000000000000000000000000000000000DA
+:1086A00000000000000000000000000000000000CA
+:1086B00000000000000000000000000000000000BA
+:1086C000000000000000000202020202020101019B
+:1086D0000100010101010000000000000101010191
+:1086E0000101010101010100000000000000000083
+:1086F000000000000000000000000000000000007A
+:108700000000000000000000000000000000000069
+:108710000000000000000000000000000000000059
+:108720000000000000000000000000000000000049
+:108730000000000000000000000000000000000039
+:108740000000000000000000000000000000000029
+:108750000000000000000000000000000000000019
+:108760000000000000000000000000000000000009
+:1087700000000000000000000000000000000000F9
+:1087800000000000000000000000000000000000E9
+:1087900000000000000000000000000000000000D9
+:1087A00000000000000000000000000000000000C9
+:1087B00000000000000000000000000000000000B9
+:1087C0000000000000000002020202020202010199
+:1087D000010001010101000000000001010101018F
+:1087E0000101010101010100000000000000000082
+:1087F0000000000000000000000000000000000079
+:108800000000000000000000000000000000000068
+:108810000000000000000000000000000000000058
+:108820000000000000000000000000000000000048
+:108830000000000000000000000000000000000038
+:108840000000000000000000000000000000000028
+:108850000000000000000000000000000000000018
+:108860000000000000000000000000000000000008
+:1088700000000000000000000000000000000000F8
+:1088800000000000000000000000000000000000E8
+:1088900000000000000000000000000000000000D8
+:1088A00000000000000000000000000000000000C8
+:1088B00000000000000000000000000000000000B8
+:1088C0000000000000000002020202020202020296
+:1088D000010001010101000000000001010101018E
+:1088E0000101010101010100000000000000000081
+:1088F0000000000000000000000000000000000078
+:108900000000000000000000000000000000000067
+:108910000000000000000000000000000000000057
+:108920000000000000000000000000000000000047
+:108930000000000000000000000000000000000037
+:108940000000000000000000000000000000000027
+:108950000000000000000000000000000000000017
+:108960000000000000000000000000000000000007
+:1089700000000000000000000000000000000000F7
+:1089800000000000000000000000000000000000E7
+:1089900000000000000000000000000000000000D7
+:1089A00000000000000000000000000000000000C7
+:1089B00000000000000000000000000000000000B7
+:1089C0000000000000000002020202020202020295
+:1089D000020101010101000000000101010101018A
+:1089E0000101010101010100000000000000000080
+:1089F0000000000000000000000000000000000077
+:108A00000000000000000000000000000000000066
+:108A10000000000000000000000000000000000056
+:108A20000000000000000000000000000000000046
+:108A30000000000000000000000000000000000036
+:108A40000000000000000000000000000000000026
+:108A50000000000000000000000000000000000016
+:108A60000000000000000000000000000000000006
+:108A700000000000000000000000000000000000F6
+:108A800000000000000000000000000000000000E6
+:108A900000000000000000000000000000000000D6
+:108AA00000000000000000000000000000000000C6
+:108AB00000000000000000000000000000000000B6
+:108AC0000000000000000002020202020202020294
+:108AD0000201020201010000000001010101010187
+:108AE000010101010101010000000000000000007F
+:108AF0000000000000000000000000000000000076
+:108B00000000000000000000000000000000000065
+:108B10000000000000000000000000000000000055
+:108B20000000000000000000000000000000000045
+:108B30000000000000000000000000000000000035
+:108B40000000000000000000000000000000000025
+:108B50000000000000000000000000000000000015
+:108B60000000000000000000000000000000000005
+:108B700000000000000000000000000000000000F5
+:108B800000000000000000000000000000000000E5
+:108B900000000000000000000000000000000000D5
+:108BA00000000000000000000000000000000000C5
+:108BB00000000000000000000000000000000000B5
+:108BC0000000000000000002020202020202020293
+:108BD0000202020202020000000001010101010183
+:108BE000010101010101010000000000000000007E
+:108BF0000000000000000000000000000000000075
+:108C00000000000000000000000000000000000064
+:108C10000000000000000000000000000000000054
+:108C20000000000000000000000000000000000044
+:108C30000000000000000000000000000000000034
+:108C40000000000000000000000000000000000024
+:108C50000000000000000000000000000000000014
+:108C60000000000000000000000000000000000004
+:108C700000000000000000000000000000000000F4
+:108C800000000000000000000000000000000000E4
+:108C900000000000000000000000000000000000D4
+:108CA00000000000000000000000000000000000C4
+:108CB00000000000000000000000000000000000B4
+:108CC0000000000000000002020202020202020292
+:108CD0000202020202020000010101010101010180
+:108CE000010101010101010000000000000000007D
+:108CF0000000000000000000000000000000000074
+:108D00000000000000000000000000000000000063
+:108D10000000000000000000000000000000000053
+:108D20000000000000000000000000000000000043
+:108D30000000000000000000000000000000000033
+:108D40000000000000000000000000000000000023
+:108D50000000000000000000000000000000000013
+:108D60000000000000000000000000000000000003
+:108D700000000000000000000000000000000000F3
+:108D800000000000000000000000000000000000E3
+:108D900000000000000000000000000000000000D3
+:108DA00000000000000000000000000000000000C3
+:108DB00000000000000000000000000000000000B3
+:108DC0000000000000000002020202020202020291
+:108DD000020202020202000001010101010101017F
+:108DE000010101010101010000000000000000007C
+:108DF0000000000000000000000000000000000073
+:108E00000000000000000000000000000000000062
+:108E10000000000000000000000000000000000052
+:108E20000000000000000000000000000000000042
+:108E30000000000000000000000000000000000032
+:108E40000000000000000000000000000000000022
+:108E50000000000000000000000000000000000012
+:108E60000000000000000000000000000000000002
+:108E700000000000000000000000000000000000F2
+:108E800000000000000000000000000000000000E2
+:108E900000000000000000000000000000000000D2
+:108EA00000000000000000000000000000000000C2
+:108EB00000000000000000000000000000000000B2
+:108EC0000000000000000002020202020202020290
+:108ED000020202020202000001010101010101017E
+:108EE000010101010101010000000000000000007B
+:108EF0000000000000000000000000000000000072
+:108F00000000000000000000000000000000000061
+:108F10000000000000000000000000000000000051
+:108F20000000000000000000000000000000000041
+:108F30000000000000000000000000000000000031
+:108F40000000000000000000000000000000000021
+:108F50000000000000000000000000000000000011
+:108F60000000000000000000000000000000000001
+:108F700000000000000000000000000000000000F1
+:108F800000000000000000000000000000000000E1
+:108F900000000000000000000000000000000000D1
+:108FA00000000000000000000000000000000000C1
+:108FB00000000000000000000000000000000000B1
+:108FC000000000000000000202020202020202028F
+:108FD000020202020202000001010101010101017D
+:108FE000010101010101010000000000000000007A
+:108FF0000000000000000000000000000000000071
+:109000000000000000000000000000000000000060
+:109010000000000000000000000000000000000050
+:109020000000000000000000000000000000000040
+:109030000000000000000000000000000000000030
+:109040000000000000000000000000000000000020
+:109050000000000000000000000000000000000010
+:109060000000000000000000000000000000000000
+:1090700000000000000000000000000000000000F0
+:1090800000000000000000000000000000000000E0
+:1090900000000000000000000000000000000000D0
+:1090A00000000000000000000000000000000000C0
+:1090B00000000000000000000000000000000000B0
+:1090C000000000000000000202020202020202028E
+:1090D000020202020202000001010101010101017C
+:1090E0000101010101010100000000000000000079
+:1090F0000000000000000000000000000000000070
+:10910000000000000000000000000000000000005F
+:10911000000000000000000000000000000000004F
+:10912000000000000000000000000000000000003F
+:10913000000000000000000000000000000000002F
+:10914000000000000000000000000000000000001F
+:10915000000000000000000000000000000000000F
+:1091600000000000000000000000000000000000FF
+:1091700000000000000000000000000000000000EF
+:1091800000000000000000000000000000000000DF
+:1091900000000000000000000000000000000000CF
+:1091A00000000000000000000000000000000000BF
+:1091B00000000000000000000000000000000000AF
+:1091C000000000000000000202020202020202028D
+:1091D0000202020202020000000000000000000083
+:1091E000000000000000000000000000000000007F
+:1091F000000000000000000000000000000000006F
+:10920000000000000000000000000000000000005E
+:10921000000000000000000000000000000000004E
+:10922000000000000000000000000000000000003E
+:10923000000000000000000000000000000000002E
+:10924000000000000000000000000000000000001E
+:10925000000000000000000000000000000000000E
+:1092600000000000000000000000000000000000FE
+:1092700000000000000000000000000000000000EE
+:1092800000000000000000000000000000000000DE
+:1092900000000000000000000000000000000000CE
+:1092A00000000000000000000000000000000000BE
+:1092B00000000000000000000000000000000000AE
+:1092C000000000000000000000000000000000009E
+:1092D000000000000000001300000000000000007B
+:1092E000000000000000000000000000000101007C
+:1092F000000000000000000000000000000000006E
+:10930000000000000000000000000000000000005D
+:10931000000000000000000000000000000000004D
+:10932000000000000000000000000000000000003D
+:10933000000000000000000000000000000000002D
+:10934000000000000000000000000000000000001D
+:10935000000000000000000000000000000000000D
+:1093600000000000000000000000000000000000FD
+:1093700000000000000000000000000000000000ED
+:1093800000000000000000000000000000000000DD
+:1093900000000000000000000000000000000000CD
+:1093A00000000000000000000000000000000000BD
+:1093B00000000000000000000000000000000000AD
+:1093C000000000000000000000000000000000029B
+:1093D000010000000000000000000000000000008C
+:1093E000000000000000000000000000000101007B
+:1093F000000000000000000000000000000000006D
+:10940000000000000000000000000000000000005C
+:10941000000000000000000000000000000000004C
+:10942000000000000000000000000000000000003C
+:10943000000000000000000000000000000000002C
+:10944000000000000000000000000000000000001C
+:10945000000000000000000000000000000000000C
+:1094600000000000000000000000000000000000FC
+:1094700000000000000000000000000000000000EC
+:1094800000000000000000000000000000000000DC
+:1094900000000000000000000000000000000000CC
+:1094A00000000000000000000000000000000000BC
+:1094B00000000000000000000000000000000000AC
+:1094C000000000000000000000000000000000029A
+:1094D000010000000000000000000000000000008B
+:1094E000000000000000000000000000000101007A
+:1094F000000000000000000000000000000000006C
+:10950000000000000000000000000000000000005B
+:10951000000000000000000000000000000000004B
+:10952000000000000000000000000000000000003B
+:10953000000000000000000000000000000000002B
+:10954000000000000000000000000000000000001B
+:10955000000000000000000000000000000000000B
+:1095600000000000000000000000000000000000FB
+:1095700000000000000000000000000000000000EB
+:1095800000000000000000000000000000000000DB
+:1095900000000000000000000000000000000000CB
+:1095A00000000000000000000000000000000000BB
+:1095B00000000000000000000000000000000000AB
+:1095C0000000000000000000000000000000000299
+:1095D0000101010000000000000000000000000088
+:1095E0000000000000000000000000010101010077
+:1095F000000000000000000000000000000000006B
+:10960000000000000000000000000000000000005A
+:10961000000000000000000000000000000000004A
+:10962000000000000000000000000000000000003A
+:10963000000000000000000000000000000000002A
+:10964000000000000000000000000000000000001A
+:10965000000000000000000000000000000000000A
+:1096600000000000000000000000000000000000FA
+:1096700000000000000000000000000000000000EA
+:1096800000000000000000000000000000000000DA
+:1096900000000000000000000000000000000000CA
+:1096A00000000000000000000000000000000000BA
+:1096B00000000000000000000000000000000000AA
+:1096C0000000000000000000000000000000000298
+:1096D0000201010101000000000000000000000084
+:1096E0000000000000000000000001010101010075
+:1096F000000000000000000000000000000000006A
+:109700000000000000000000000000000000000059
+:109710000000000000000000000000000000000049
+:109720000000000000000000000000000000000039
+:109730000000000000000000000000000000000029
+:109740000000000000000000000000000000000019
+:109750000000000000000000000000000000000009
+:1097600000000000000000000000000000000000F9
+:1097700000000000000000000000000000000000E9
+:1097800000000000000000000000000000000000D9
+:1097900000000000000000000000000000000000C9
+:1097A00000000000000000000000000000000000B9
+:1097B00000000000000000000000000000000000A9
+:1097C0000000000000000000000000000000000297
+:1097D0000202010101000000000000000000000082
+:1097E0000000000000000001010101010101010071
+:1097F0000000000000000000000000000000000069
+:109800000000000000000000000000000000000058
+:109810000000000000000000000000000000000048
+:109820000000000000000000000000000000000038
+:109830000000000000000000000000000000000028
+:109840000000000000000000000000000000000018
+:109850000000000000000000000000000000000008
+:1098600000000000000000000000000000000000F8
+:1098700000000000000000000000000000000000E8
+:1098800000000000000000000000000000000000D8
+:1098900000000000000000000000000000000000C8
+:1098A00000000000000000000000000000000000B8
+:1098B00000000000000000000000000000000000A8
+:1098C0000000000000000000000000000000000296
+:1098D000020202010100000100000000000000007F
+:1098E000000000000000010101010101010101006F
+:1098F0000000000000000000000000000000000068
+:109900000000000000000000000000000000000057
+:109910000000000000000000000000000000000047
+:109920000000000000000000000000000000000037
+:109930000000000000000000000000000000000027
+:109940000000000000000000000000000000000017
+:109950000000000000000000000000000000000007
+:1099600000000000000000000000000000000000F7
+:1099700000000000000000000000000000000000E7
+:1099800000000000000000000000000000000000D7
+:1099900000000000000000000000000000000000C7
+:1099A00000000000000000000000000000000000B7
+:1099B00000000000000000000000000000000000A7
+:1099C0000000000000000000000000000000000295
+:1099D000020202020100010100000000000100007B
+:1099E000000000000101010101010101010101006C
+:1099F0000000000000000000000000000000000067
+:109A00000000000000000000000000000000000056
+:109A10000000000000000000000000000000000046
+:109A20000000000000000000000000000000000036
+:109A30000000000000000000000000000000000026
+:109A40000000000000000000000000000000000016
+:109A50000000000000000000000000000000000006
+:109A600000000000000000000000000000000000F6
+:109A700000000000000000000000000000000000E6
+:109A800000000000000000000000000000000000D6
+:109A900000000000000000000000000000000000C6
+:109AA00000000000000000000000000000000000B6
+:109AB00000000000000000000000000000000000A6
+:109AC0000000000000000000000000000000000294
+:109AD0000202020202010101000000000001000078
+:109AE000000000000101010101010101010101006B
+:109AF0000000000000000000000000000000000066
+:109B00000000000000000000000000000000000055
+:109B10000000000000000000000000000000000045
+:109B20000000000000000000000000000000000035
+:109B30000000000000000000000000000000000025
+:109B40000000000000000000000000000000000015
+:109B50000000000000000000000000000000000005
+:109B600000000000000000000000000000000000F5
+:109B700000000000000000000000000000000000E5
+:109B800000000000000000000000000000000000D5
+:109B900000000000000000000000000000000000C5
+:109BA00000000000000000000000000000000000B5
+:109BB00000000000000000000000000000000000A5
+:109BC0000000000000000000000000000000000293
+:109BD0000202020202010101000000000001000077
+:109BE0000000000101010101010101010101010069
+:109BF0000000000000000000000000000000000065
+:109C00000000000000000000000000000000000054
+:109C10000000000000000000000000000000000044
+:109C20000000000000000000000000000000000034
+:109C30000000000000000000000000000000000024
+:109C40000000000000000000000000000000000014
+:109C50000000000000000000000000000000000004
+:109C600000000000000000000000000000000000F4
+:109C700000000000000000000000000000000000E4
+:109C800000000000000000000000000000000000D4
+:109C900000000000000000000000000000000000C4
+:109CA00000000000000000000000000000000000B4
+:109CB00000000000000000000000000000000000A4
+:109CC0000000000000000000000000000000000292
+:109CD0000202020202020202010000000001000072
+:109CE0000000010101010101010101010101010067
+:109CF0000000000000000000000000000000000064
+:109D00000000000000000000000000000000000053
+:109D10000000000000000000000000000000000043
+:109D20000000000000000000000000000000000033
+:109D30000000000000000000000000000000000023
+:109D40000000000000000000000000000000000013
+:109D50000000000000000000000000000000000003
+:109D600000000000000000000000000000000000F3
+:109D700000000000000000000000000000000000E3
+:109D800000000000000000000000000000000000D3
+:109D900000000000000000000000000000000000C3
+:109DA00000000000000000000000000000000000B3
+:109DB00000000000000000000000000000000000A3
+:109DC0000000000000000000000000000000000291
+:109DD0000202020202020202010001000001000070
+:109DE0000000010101010101010101010101010066
+:109DF0000000000000000000000000000000000063
+:109E00000000000000000000000000000000000052
+:109E10000000000000000000000000000000000042
+:109E20000000000000000000000000000000000032
+:109E30000000000000000000000000000000000022
+:109E40000000000000000000000000000000000012
+:109E50000000000000000000000000000000000002
+:109E600000000000000000000000000000000000F2
+:109E700000000000000000000000000000000000E2
+:109E800000000000000000000000000000000000D2
+:109E900000000000000000000000000000000000C2
+:109EA00000000000000000000000000000000000B2
+:109EB00000000000000000000000000000000000A2
+:109EC0000000000000000000000000000000000290
+:109ED000020202020202020202010101000100006C
+:109EE0000101010101010101010101010101010063
+:109EF0000000000000000000000000000000000062
+:109F00000000000000000000000000000000000051
+:109F10000000000000000000000000000000000041
+:109F20000000000000000000000000000000000031
+:109F30000000000000000000000000000000000021
+:109F40000000000000000000000000000000000011
+:109F50000000000000000000000000000000000001
+:109F600000000000000000000000000000000000F1
+:109F700000000000000000000000000000000000E1
+:109F800000000000000000000000000000000000D1
+:109F900000000000000000000000000000000000C1
+:109FA00000000000000000000000000000000000B1
+:109FB00000000000000000000000000000000000A1
+:109FC000000000000000000000000000000000028F
+:109FD0000202020202020202020202010002000068
+:109FE0000101010101010101010101010101010062
+:109FF0000000000000000000000000000000000061
+:10A000000000000000000000000000000000000050
+:10A010000000000000000000000000000000000040
+:10A020000000000000000000000000000000000030
+:10A030000000000000000000000000000000000020
+:10A040000000000000000000000000000000000010
+:10A050000000000000000000000000000000000000
+:10A0600000000000000000000000000000000000F0
+:10A0700000000000000000000000000000000000E0
+:10A0800000000000000000000000000000000000D0
+:10A0900000000000000000000000000000000000C0
+:10A0A00000000000000000000000000000000000B0
+:10A0B00000000000000000000000000000000000A0
+:10A0C000000000000000000000000000000000028E
+:10A0D0000202020202020202020202020102000065
+:10A0E0000101010101010101010101010101010061
+:10A0F0000000000000000000000000000000000060
+:10A10000000000000000000000000000000000004F
+:10A11000000000000000000000000000000000003F
+:10A12000000000000000000000000000000000002F
+:10A13000000000000000000000000000000000001F
+:10A14000000000000000000000000000000000000F
+:10A1500000000000000000000000000000000000FF
+:10A1600000000000000000000000000000000000EF
+:10A1700000000000000000000000000000000000DF
+:10A1800000000000000000000000000000000000CF
+:10A1900000000000000000000000000000000000BF
+:10A1A00000000000000000000000000000000000AF
+:10A1B000000000000000000000000000000000009F
+:10A1C000000000000000000000000000000000028D
+:10A1D0000202020202020202020202020202000063
+:10A1E0000101010101010101010101010101010060
+:10A1F000000000000000000000000000000000005F
+:10A20000000000000000000000000000000000004E
+:10A21000000000000000000000000000000000003E
+:10A22000000000000000000000000000000000002E
+:10A23000000000000000000000000000000000001E
+:10A24000000000000000000000000000000000000E
+:10A2500000000000000000000000000000000000FE
+:10A2600000000000000000000000000000000000EE
+:10A2700000000000000000000000000000000000DE
+:10A2800000000000000000000000000000000000CE
+:10A2900000000000000000000000000000000000BE
+:10A2A00000000000000000000000000000000000AE
+:10A2B000000000000000000000000000000000009E
+:10A2C000000000000000000000000000000000028C
+:10A2D0000202020202020202020202020202000062
+:10A2E000010101010101010101010101010101005F
+:10A2F000000000000000000000000000000000005E
+:10A30000000000000000000000000000000000004D
+:10A31000000000000000000000000000000000003D
+:10A32000000000000000000000000000000000002D
+:10A33000000000000000000000000000000000001D
+:10A34000000000000000000000000000000000000D
+:10A3500000000000000000000000000000000000FD
+:10A3600000000000000000000000000000000000ED
+:10A3700000000000000000000000000000000000DD
+:10A3800000000000000000000000000000000000CD
+:10A3900000000000000000000000000000000000BD
+:10A3A00000000000000000000000000000000000AD
+:10A3B000000000000000000000000000000000009D
+:10A3C000000000000000000000000000000000028B
+:10A3D0000202020202020202020202020202000061
+:10A3E000010101010101010101010101010101005E
+:10A3F000000000000000000000000000000000005D
+:10A40000000000000000000000000000000000004C
+:10A41000000000000000000000000000000000003C
+:10A42000000000000000000000000000000000002C
+:10A43000000000000000000000000000000000001C
+:10A44000000000000000000000000000000000000C
+:10A4500000000000000000000000000000000000FC
+:10A4600000000000000000000000000000000000EC
+:10A4700000000000000000000000000000000000DC
+:10A4800000000000000000000000000000000000CC
+:10A4900000000000000000000000000000000000BC
+:10A4A00000000000000000000000000000000000AC
+:10A4B000000000000000000000000000000000009C
+:10A4C000000000000000000000000000000000028A
+:10A4D0000202020202020202020202020202000060
+:10A4E000000000000000000000000000000000006C
+:10A4F000000000000000000000000000000000005C
+:10A50000000000000000000000000000000000004B
+:10A51000000000000000000000000000000000003B
+:10A52000000000000000000000000000000000002B
+:10A53000000000000000000000000000000000001B
+:10A54000000000000000000000000000000000000B
+:10A5500000000000000000000000000000000000FB
+:10A5600000000000000000000000000000000000EB
+:10A5700000000000000000000000000000000000DB
+:10A5800000000000000000000000000000000000CB
+:10A5900000000000000000000000000000000000BB
+:10A5A00000000000000000000000000000000000AB
+:10A5B000000000000000000000000000000000009B
+:10A5C000000000000000000000000000000000008B
+:10A5D000000000000000000000000000000000116A
+:10A5E000000000000000000000000000000000006B
+:10A5F000000000000000000000000000000000005B
+:10A60000000000000000000000000000000000004A
+:10A61000000000000000000000000000000000003A
+:10A62000000000000000000000000000000000002A
+:10A63000000000000000000000000000000000001A
+:10A64000000000000000000000000000000000000A
+:10A6500000000000000000000000000000000000FA
+:10A6600000000000000000000000000000000000EA
+:10A6700000000000000000000000000000000000DA
+:10A6800000000000000000000000000000000000CA
+:10A6900000000000000000000000000000000000BA
+:10A6A00000000000000000000000000000000000AA
+:10A6B000000000000000000000000000000000009A
+:10A6C000000000000000000000000000000000008A
+:10A6D0000000000000000000010100000000000078
+:10A6E000000000000000000000000000000000006A
+:10A6F0000000000000010100000000000000000058
+:10A700000000000000000000000000000000000049
+:10A710000000000000000000000000000000000039
+:10A720000000000000000000000000000000000029
+:10A730000000000000000000000000000000000019
+:10A740000000000000000000000000000000000009
+:10A7500000000000000000000000000000000000F9
+:10A7600000000000000000000000000000000000E9
+:10A7700000000000000000000000000000000000D9
+:10A7800000000000000000000000000000000000C9
+:10A7900000000000000000000000000000000000B9
+:10A7A00000000000000000000000000000000000A9
+:10A7B0000000000000000000000000000000000099
+:10A7C0000000000000000000000000000000000089
+:10A7D0000000000000000002010101000000000074
+:10A7E0000000000000000000000000000000000069
+:10A7F0000000000000010100000000000000000057
+:10A800000000000000000000000000000000000048
+:10A810000000000000000000000000000000000038
+:10A820000000000000000000000000000000000028
+:10A830000000000000000000000000000000000018
+:10A840000000000000000000000000000000000008
+:10A8500000000000000000000000000000000000F8
+:10A8600000000000000000000000000000000000E8
+:10A8700000000000000000000000000000000000D8
+:10A8800000000000000000000000000000000000C8
+:10A8900000000000000000000000000000000000B8
+:10A8A00000000000000000000000000000000000A8
+:10A8B0000000000000000000000000000000000098
+:10A8C0000000000000000000000000000000000088
+:10A8D0000000000000000002010101000000000073
+:10A8E0000000000000000000000000000000000068
+:10A8F0000000000101010100000000000000000054
+:10A900000000000000000000000000000000000047
+:10A910000000000000000000000000000000000037
+:10A920000000000000000000000000000000000027
+:10A930000000000000000000000000000000000017
+:10A940000000000000000000000000000000000007
+:10A9500000000000000000000000000000000000F7
+:10A9600000000000000000000000000000000000E7
+:10A9700000000000000000000000000000000000D7
+:10A9800000000000000000000000000000000000C7
+:10A9900000000000000000000000000000000000B7
+:10A9A00000000000000000000000000000000000A7
+:10A9B0000000000000000000000000000000000097
+:10A9C0000000000000000000000000000000000087
+:10A9D0000000000000000002020101010000000070
+:10A9E0000000000000000000000000000000000067
+:10A9F0000001010101010100000000000000000051
+:10AA00000000000000000000000000000000000046
+:10AA10000000000000000000000000000000000036
+:10AA20000000000000000000000000000000000026
+:10AA30000000000000000000000000000000000016
+:10AA40000000000000000000000000000000000006
+:10AA500000000000000000000000000000000000F6
+:10AA600000000000000000000000000000000000E6
+:10AA700000000000000000000000000000000000D6
+:10AA800000000000000000000000000000000000C6
+:10AA900000000000000000000000000000000000B6
+:10AAA00000000000000000000000000000000000A6
+:10AAB0000000000000000000000000000000000096
+:10AAC0000000000000000000000000000000000086
+:10AAD000000000000000000202020101000000006E
+:10AAE0000000000000010000000000000000000164
+:10AAF000010101010101010000000000000000004F
+:10AB00000000000000000000000000000000000045
+:10AB10000000000000000000000000000000000035
+:10AB20000000000000000000000000000000000025
+:10AB30000000000000000000000000000000000015
+:10AB40000000000000000000000000000000000005
+:10AB500000000000000000000000000000000000F5
+:10AB600000000000000000000000000000000000E5
+:10AB700000000000000000000000000000000000D5
+:10AB800000000000000000000000000000000000C5
+:10AB900000000000000000000000000000000000B5
+:10ABA00000000000000000000000000000000000A5
+:10ABB0000000000000000000000000000000000095
+:10ABC0000000000000000000000000000000000085
+:10ABD000000000000000000202020201000000006C
+:10ABE0000000000000010000000000000000010162
+:10ABF000010101010101010000000000000000004E
+:10AC00000000000000000000000000000000000044
+:10AC10000000000000000000000000000000000034
+:10AC20000000000000000000000000000000000024
+:10AC30000000000000000000000000000000000014
+:10AC40000000000000000000000000000000000004
+:10AC500000000000000000000000000000000000F4
+:10AC600000000000000000000000000000000000E4
+:10AC700000000000000000000000000000000000D4
+:10AC800000000000000000000000000000000000C4
+:10AC900000000000000000000000000000000000B4
+:10ACA00000000000000000000000000000000000A4
+:10ACB0000000000000000000000000000000000094
+:10ACC0000000000000000000000000000000000084
+:10ACD0000000000000000002020202020000000169
+:10ACE0000000000000010000000000000001010160
+:10ACF000010101010101010000000000000000004D
+:10AD00000000000000000000000000000000000043
+:10AD10000000000000000000000000000000000033
+:10AD20000000000000000000000000000000000023
+:10AD30000000000000000000000000000000000013
+:10AD40000000000000000000000000000000000003
+:10AD500000000000000000000000000000000000F3
+:10AD600000000000000000000000000000000000E3
+:10AD700000000000000000000000000000000000D3
+:10AD800000000000000000000000000000000000C3
+:10AD900000000000000000000000000000000000B3
+:10ADA00000000000000000000000000000000000A3
+:10ADB0000000000000000000000000000000000093
+:10ADC0000000000000000000000000000000000083
+:10ADD0000000000000000002020202020100010166
+:10ADE000000100000001000000000101010101015B
+:10ADF000010101010101010000000000000000004C
+:10AE00000000000000000000000000000000000042
+:10AE10000000000000000000000000000000000032
+:10AE20000000000000000000000000000000000022
+:10AE30000000000000000000000000000000000012
+:10AE40000000000000000000000000000000000002
+:10AE500000000000000000000000000000000000F2
+:10AE600000000000000000000000000000000000E2
+:10AE700000000000000000000000000000000000D2
+:10AE800000000000000000000000000000000000C2
+:10AE900000000000000000000000000000000000B2
+:10AEA00000000000000000000000000000000000A2
+:10AEB0000000000000000000000000000000000092
+:10AEC0000000000000000000000000000000000082
+:10AED0000000000000000002020202020201010163
+:10AEE0000101000100010000000101010101010157
+:10AEF000010101010101010000000000000000004B
+:10AF00000000000000000000000000000000000041
+:10AF10000000000000000000000000000000000031
+:10AF20000000000000000000000000000000000021
+:10AF30000000000000000000000000000000000011
+:10AF40000000000000000000000000000000000001
+:10AF500000000000000000000000000000000000F1
+:10AF600000000000000000000000000000000000E1
+:10AF700000000000000000000000000000000000D1
+:10AF800000000000000000000000000000000000C1
+:10AF900000000000000000000000000000000000B1
+:10AFA00000000000000000000000000000000000A1
+:10AFB0000000000000000000000000000000000091
+:10AFC0000000000000000000000000000000000081
+:10AFD000000000000000000202020202020202025F
+:10AFE0000101010100010000000101010101010155
+:10AFF000010101010101010000000000000000004A
+:10B000000000000000000000000000000000000040
+:10B010000000000000000000000000000000000030
+:10B020000000000000000000000000000000000020
+:10B030000000000000000000000000000000000010
+:10B040000000000000000000000000000000000000
+:10B0500000000000000000000000000000000000F0
+:10B0600000000000000000000000000000000000E0
+:10B0700000000000000000000000000000000000D0
+:10B0800000000000000000000000000000000000C0
+:10B0900000000000000000000000000000000000B0
+:10B0A00000000000000000000000000000000000A0
+:10B0B0000000000000000000000000000000000090
+:10B0C0000000000000000000000000000000000080
+:10B0D000000000000000000202020202020202025E
+:10B0E0000202010100020000010101010101010150
+:10B0F0000101010101010100000000000000000049
+:10B10000000000000000000000000000000000003F
+:10B11000000000000000000000000000000000002F
+:10B12000000000000000000000000000000000001F
+:10B13000000000000000000000000000000000000F
+:10B1400000000000000000000000000000000000FF
+:10B1500000000000000000000000000000000000EF
+:10B1600000000000000000000000000000000000DF
+:10B1700000000000000000000000000000000000CF
+:10B1800000000000000000000000000000000000BF
+:10B1900000000000000000000000000000000000AF
+:10B1A000000000000000000000000000000000009F
+:10B1B000000000000000000000000000000000008F
+:10B1C000000000000000000000000000000000007F
+:10B1D000000000000000000202020202020202025D
+:10B1E000020202020002000001010101010101014D
+:10B1F0000101010101010100000000000000000048
+:10B20000000000000000000000000000000000003E
+:10B21000000000000000000000000000000000002E
+:10B22000000000000000000000000000000000001E
+:10B23000000000000000000000000000000000000E
+:10B2400000000000000000000000000000000000FE
+:10B2500000000000000000000000000000000000EE
+:10B2600000000000000000000000000000000000DE
+:10B2700000000000000000000000000000000000CE
+:10B2800000000000000000000000000000000000BE
+:10B2900000000000000000000000000000000000AE
+:10B2A000000000000000000000000000000000009E
+:10B2B000000000000000000000000000000000008E
+:10B2C000000000000000000000000000000000007E
+:10B2D000000000000000000202020202020202025C
+:10B2E000020202020102000001010101010101014B
+:10B2F0000101010101010100000000000000000047
+:10B30000000000000000000000000000000000003D
+:10B31000000000000000000000000000000000002D
+:10B32000000000000000000000000000000000001D
+:10B33000000000000000000000000000000000000D
+:10B3400000000000000000000000000000000000FD
+:10B3500000000000000000000000000000000000ED
+:10B3600000000000000000000000000000000000DD
+:10B3700000000000000000000000000000000000CD
+:10B3800000000000000000000000000000000000BD
+:10B3900000000000000000000000000000000000AD
+:10B3A000000000000000000000000000000000009D
+:10B3B000000000000000000000000000000000008D
+:10B3C000000000000000000000000000000000007D
+:10B3D000000000000000000202020202020202025B
+:10B3E0000202020202020000010101010101010149
+:10B3F0000101010101010100000000000000000046
+:10B40000000000000000000000000000000000003C
+:10B41000000000000000000000000000000000002C
+:10B42000000000000000000000000000000000001C
+:10B43000000000000000000000000000000000000C
+:10B4400000000000000000000000000000000000FC
+:10B4500000000000000000000000000000000000EC
+:10B4600000000000000000000000000000000000DC
+:10B4700000000000000000000000000000000000CC
+:10B4800000000000000000000000000000000000BC
+:10B4900000000000000000000000000000000000AC
+:10B4A000000000000000000000000000000000009C
+:10B4B000000000000000000000000000000000008C
+:10B4C000000000000000000000000000000000007C
+:10B4D000000000000000000202020202020202025A
+:10B4E0000202020202020000010101010101010148
+:10B4F0000101010101010100000000000000000045
+:10B50000000000000000000000000000000000003B
+:10B51000000000000000000000000000000000002B
+:10B52000000000000000000000000000000000001B
+:10B53000000000000000000000000000000000000B
+:10B5400000000000000000000000000000000000FB
+:10B5500000000000000000000000000000000000EB
+:10B5600000000000000000000000000000000000DB
+:10B5700000000000000000000000000000000000CB
+:10B5800000000000000000000000000000000000BB
+:10B5900000000000000000000000000000000000AB
+:10B5A000000000000000000000000000000000009B
+:10B5B000000000000000000000000000000000008B
+:10B5C000000000000000000000000000000000007B
+:10B5D0000000000000000002020202020202020259
+:10B5E000020202020202000000000000000000004F
+:10B5F000000000000000000000000000000000004B
+:10B60000000000000000000000000000000000003A
+:10B61000000000000000000000000000000000002A
+:10B62000000000000000000000000000000000001A
+:10B63000000000000000000000000000000000000A
+:10B6400000000000000000000000000000000000FA
+:10B6500000000000000000000000000000000000EA
+:10B6600000000000000000000000000000000000DA
+:10B6700000000000000000000000000000000000CA
+:10B6800000000000000000000000000000000000BA
+:10B6900000000000000000000000000000000000AA
+:10B6A000000000000000000000000000000000009A
+:10B6B000000000000000000000000000000000008A
+:10B6C000000000000000000000000000000000007A
+:10B6D000000000000000000000000000000000006A
+:10B6E000000000000000001000000000000000004A
+:10B6F0000000000000000000000000000000010049
+:10B700000000000000000000000000000000000039
+:10B710000000000000000000000000000000000029
+:10B720000000000000000000000000000000000019
+:10B730000000000000000000000000000000000009
+:10B7400000000000000000000000000000000000F9
+:10B7500000000000000000000000000000000000E9
+:10B7600000000000000000000000000000000000D9
+:10B7700000000000000000000000000000000000C9
+:10B7800000000000000000000000000000000000B9
+:10B7900000000000000000000000000000000000A9
+:10B7A0000000000000000000000000000000000099
+:10B7B0000000000000000000000000000000000089
+:10B7C0000000000000000000000000000000000079
+:10B7D0000000000000000000000000000000000267
+:10B7E0000101010000000000000000000000000056
+:10B7F0000000000000000000000000000101010046
+:10B800000000000000000000000000000000000038
+:10B810000000000000000000000000000000000028
+:10B820000000000000000000000000000000000018
+:10B830000000000000000000000000000000000008
+:10B8400000000000000000000000000000000000F8
+:10B8500000000000000000000000000000000000E8
+:10B8600000000000000000000000000000000000D8
+:10B8700000000000000000000000000000000000C8
+:10B8800000000000000000000000000000000000B8
+:10B8900000000000000000000000000000000000A8
+:10B8A0000000000000000000000000000000000098
+:10B8B0000000000000000000000000000000000088
+:10B8C0000000000000000000000000000000000078
+:10B8D0000000000000000000000000000000000266
+:10B8E0000101010100000000000000000000000054
+:10B8F0000000000000000000000000010101010044
+:10B900000000000000000000000000000000000037
+:10B910000000000000000000000000000000000027
+:10B920000000000000000000000000000000000017
+:10B930000000000000000000000000000000000007
+:10B9400000000000000000000000000000000000F7
+:10B9500000000000000000000000000000000000E7
+:10B9600000000000000000000000000000000000D7
+:10B9700000000000000000000000000000000000C7
+:10B9800000000000000000000000000000000000B7
+:10B9900000000000000000000000000000000000A7
+:10B9A0000000000000000000000000000000000097
+:10B9B0000000000000000000000000000000000087
+:10B9C0000000000000000000000000000000000077
+:10B9D0000000000000000000000000000000000265
+:10B9E0000201010100000000000000000000000052
+:10B9F0000000000000000000000101010101010041
+:10BA00000000000000000000000000000000000036
+:10BA10000000000000000000000000000000000026
+:10BA20000000000000000000000000000000000016
+:10BA30000000000000000000000000000000000006
+:10BA400000000000000000000000000000000000F6
+:10BA500000000000000000000000000000000000E6
+:10BA600000000000000000000000000000000000D6
+:10BA700000000000000000000000000000000000C6
+:10BA800000000000000000000000000000000000B6
+:10BA900000000000000000000000000000000000A6
+:10BAA0000000000000000000000000000000000096
+:10BAB0000000000000000000000000000000000086
+:10BAC0000000000000000000000000000000000076
+:10BAD0000000000000000000000000000000000264
+:10BAE0000202010100000000000000000000000050
+:10BAF000000000000000000101010101010101003E
+:10BB00000000000000000000000000000000000035
+:10BB10000000000000000000000000000000000025
+:10BB20000000000000000000000000000000000015
+:10BB30000000000000000000000000000000000005
+:10BB400000000000000000000000000000000000F5
+:10BB500000000000000000000000000000000000E5
+:10BB600000000000000000000000000000000000D5
+:10BB700000000000000000000000000000000000C5
+:10BB800000000000000000000000000000000000B5
+:10BB900000000000000000000000000000000000A5
+:10BBA0000000000000000000000000000000000095
+:10BBB0000000000000000000000000000000000085
+:10BBC0000000000000000000000000000000000075
+:10BBD0000000000000000000000000000000000263
+:10BBE000020202010000000000000000010000004D
+:10BBF000000000000001010101010101010101003B
+:10BC00000000000000000000000000000000000034
+:10BC10000000000000000000000000000000000024
+:10BC20000000000000000000000000000000000014
+:10BC30000000000000000000000000000000000004
+:10BC400000000000000000000000000000000000F4
+:10BC500000000000000000000000000000000000E4
+:10BC600000000000000000000000000000000000D4
+:10BC700000000000000000000000000000000000C4
+:10BC800000000000000000000000000000000000B4
+:10BC900000000000000000000000000000000000A4
+:10BCA0000000000000000000000000000000000094
+:10BCB0000000000000000000000000000000000084
+:10BCC0000000000000000000000000000000000074
+:10BCD0000000000000000000000000000000000262
+:10BCE000020202020100000000000000010000004A
+:10BCF0000000000101010101010101010101010038
+:10BD00000000000000000000000000000000000033
+:10BD10000000000000000000000000000000000023
+:10BD20000000000000000000000000000000000013
+:10BD30000000000000000000000000000000000003
+:10BD400000000000000000000000000000000000F3
+:10BD500000000000000000000000000000000000E3
+:10BD600000000000000000000000000000000000D3
+:10BD700000000000000000000000000000000000C3
+:10BD800000000000000000000000000000000000B3
+:10BD900000000000000000000000000000000000A3
+:10BDA0000000000000000000000000000000000093
+:10BDB0000000000000000000000000000000000083
+:10BDC0000000000000000000000000000000000073
+:10BDD0000000000000000000000000000000000261
+:10BDE0000202020201010000000000000101000047
+:10BDF0000000010101010101010101010101010036
+:10BE00000000000000000000000000000000000032
+:10BE10000000000000000000000000000000000022
+:10BE20000000000000000000000000000000000012
+:10BE30000000000000000000000000000000000002
+:10BE400000000000000000000000000000000000F2
+:10BE500000000000000000000000000000000000E2
+:10BE600000000000000000000000000000000000D2
+:10BE700000000000000000000000000000000000C2
+:10BE800000000000000000000000000000000000B2
+:10BE900000000000000000000000000000000000A2
+:10BEA0000000000000000000000000000000000092
+:10BEB0000000000000000000000000000000000082
+:10BEC0000000000000000000000000000000000072
+:10BED0000000000000000000000000000000000260
+:10BEE0000202020202010001000000000101000044
+:10BEF0000000010101010101010101010101010035
+:10BF00000000000000000000000000000000000031
+:10BF10000000000000000000000000000000000021
+:10BF20000000000000000000000000000000000011
+:10BF30000000000000000000000000000000000001
+:10BF400000000000000000000000000000000000F1
+:10BF500000000000000000000000000000000000E1
+:10BF600000000000000000000000000000000000D1
+:10BF700000000000000000000000000000000000C1
+:10BF800000000000000000000000000000000000B1
+:10BF900000000000000000000000000000000000A1
+:10BFA0000000000000000000000000000000000091
+:10BFB0000000000000000000000000000000000081
+:10BFC0000000000000000000000000000000000071
+:10BFD000000000000000000000000000000000025F
+:10BFE0000202020202020101000100000101000040
+:10BFF0000001010101010101010101010101010033
+:10C000000000000000000000000000000000000030
+:10C010000000000000000000000000000000000020
+:10C020000000000000000000000000000000000010
+:10C030000000000000000000000000000000000000
+:10C0400000000000000000000000000000000000F0
+:10C0500000000000000000000000000000000000E0
+:10C0600000000000000000000000000000000000D0
+:10C0700000000000000000000000000000000000C0
+:10C0800000000000000000000000000000000000B0
+:10C0900000000000000000000000000000000000A0
+:10C0A0000000000000000000000000000000000090
+:10C0B0000000000000000000000000000000000080
+:10C0C0000000000000000000000000000000000070
+:10C0D000000000000000000000000000000000025E
+:10C0E000020202020202020201010001020100003A
+:10C0F0000001010101010101010101010101010032
+:10C10000000000000000000000000000000000002F
+:10C11000000000000000000000000000000000001F
+:10C12000000000000000000000000000000000000F
+:10C1300000000000000000000000000000000000FF
+:10C1400000000000000000000000000000000000EF
+:10C1500000000000000000000000000000000000DF
+:10C1600000000000000000000000000000000000CF
+:10C1700000000000000000000000000000000000BF
+:10C1800000000000000000000000000000000000AF
+:10C19000000000000000000000000000000000009F
+:10C1A000000000000000000000000000000000008F
+:10C1B000000000000000000000000000000000007F
+:10C1C000000000000000000000000000000000006F
+:10C1D000000000000000000000000000000000025D
+:10C1E0000202020202020202020201010202000035
+:10C1F0000101010101010101010101010101010030
+:10C20000000000000000000000000000000000002E
+:10C21000000000000000000000000000000000001E
+:10C22000000000000000000000000000000000000E
+:10C2300000000000000000000000000000000000FE
+:10C2400000000000000000000000000000000000EE
+:10C2500000000000000000000000000000000000DE
+:10C2600000000000000000000000000000000000CE
+:10C2700000000000000000000000000000000000BE
+:10C2800000000000000000000000000000000000AE
+:10C29000000000000000000000000000000000009E
+:10C2A000000000000000000000000000000000008E
+:10C2B000000000000000000000000000000000007E
+:10C2C000000000000000000000000000000000006E
+:10C2D000000000000000000000000000000000025C
+:10C2E0000202020202020202020202020202000032
+:10C2F000010101010101010101010101010101002F
+:10C30000000000000000000000000000000000002D
+:10C31000000000000000000000000000000000001D
+:10C32000000000000000000000000000000000000D
+:10C3300000000000000000000000000000000000FD
+:10C3400000000000000000000000000000000000ED
+:10C3500000000000000000000000000000000000DD
+:10C3600000000000000000000000000000000000CD
+:10C3700000000000000000000000000000000000BD
+:10C3800000000000000000000000000000000000AD
+:10C39000000000000000000000000000000000009D
+:10C3A000000000000000000000000000000000008D
+:10C3B000000000000000000000000000000000007D
+:10C3C000000000000000000000000000000000006D
+:10C3D000000000000000000000000000000000025B
+:10C3E0000202020202020202020202020202000031
+:10C3F000010101010101010101010101010101002E
+:10C40000000000000000000000000000000000002C
+:10C41000000000000000000000000000000000001C
+:10C42000000000000000000000000000000000000C
+:10C4300000000000000000000000000000000000FC
+:10C4400000000000000000000000000000000000EC
+:10C4500000000000000000000000000000000000DC
+:10C4600000000000000000000000000000000000CC
+:10C4700000000000000000000000000000000000BC
+:10C4800000000000000000000000000000000000AC
+:10C49000000000000000000000000000000000009C
+:10C4A000000000000000000000000000000000008C
+:10C4B000000000000000000000000000000000007C
+:10C4C000000000000000000000000000000000006C
+:10C4D000000000000000000000000000000000025A
+:10C4E0000202020202020202020202020202000030
+:10C4F000010101010101010101010101010101002D
+:10C50000000000000000000000000000000000002B
+:10C51000000000000000000000000000000000001B
+:10C52000000000000000000000000000000000000B
+:10C5300000000000000000000000000000000000FB
+:10C5400000000000000000000000000000000000EB
+:10C5500000000000000000000000000000000000DB
+:10C5600000000000000000000000000000000000CB
+:10C5700000000000000000000000000000000000BB
+:10C5800000000000000000000000000000000000AB
+:10C59000000000000000000000000000000000009B
+:10C5A000000000000000000000000000000000008B
+:10C5B000000000000000000000000000000000007B
+:10C5C000000000000000000000000000000000006B
+:10C5D0000000000000000000000000000000000259
+:10C5E000020202020202020202020202020200002F
+:10C5F000000000000000000000000000000000003B
+:10C60000000000000000000000000000000000002A
+:10C61000000000000000000000000000000000001A
+:10C62000000000000000000000000000000000000A
+:10C6300000000000000000000000000000000000FA
+:10C6400000000000000000000000000000000000EA
+:10C6500000000000000000000000000000000000DA
+:10C6600000000000000000000000000000000000CA
+:10C6700000000000000000000000000000000000BA
+:10C6800000000000000000000000000000000000AA
+:10C69000000000000000000000000000000000009A
+:10C6A000000000000000000000000000000000008A
+:10C6B000000000000000000000000000000000007A
+:10C6C000000000000000000000000000000000006A
+:10C6D000000000000000000000000000000000005A
+:10C6E000000000000000000000000000000000103A
+:10C6F000000000000000000000000000000000003A
+:10C700000000000000000100000000000000000028
+:10C710000000000000000000000000000000000019
+:10C720000000000000000000000000000000000009
+:10C7300000000000000000000000000000000000F9
+:10C7400000000000000000000000000000000000E9
+:10C7500000000000000000000000000000000000D9
+:10C7600000000000000000000000000000000000C9
+:10C7700000000000000000000000000000000000B9
+:10C7800000000000000000000000000000000000A9
+:10C790000000000000000000000000000000000099
+:10C7A0000000000000000000000000000000000089
+:10C7B0000000000000000000000000000000000079
+:10C7C0000000000000000000000000000000000069
+:10C7D0000000000000000000000000000000000059
+:10C7E0000000000000000002000001000100000045
+:10C7F0000000000000000000000000000000000039
+:10C800000000010101010100000000000000000023
+:10C810000000000000000000000000000000000018
+:10C820000000000000000000000000000000000008
+:10C8300000000000000000000000000000000000F8
+:10C8400000000000000000000000000000000000E8
+:10C8500000000000000000000000000000000000D8
+:10C8600000000000000000000000000000000000C8
+:10C8700000000000000000000000000000000000B8
+:10C8800000000000000000000000000000000000A8
+:10C890000000000000000000000000000000000098
+:10C8A0000000000000000000000000000000000088
+:10C8B0000000000000000000000000000000000078
+:10C8C0000000000000000000000000000000000068
+:10C8D0000000000000000000000000000000000058
+:10C8E0000000000000000002010101010100010040
+:10C8F0000000000000000000000000000000000038
+:10C900000000010101010100000000000000000022
+:10C910000000000000000000000000000000000017
+:10C920000000000000000000000000000000000007
+:10C9300000000000000000000000000000000000F7
+:10C9400000000000000000000000000000000000E7
+:10C9500000000000000000000000000000000000D7
+:10C9600000000000000000000000000000000000C7
+:10C9700000000000000000000000000000000000B7
+:10C9800000000000000000000000000000000000A7
+:10C990000000000000000000000000000000000097
+:10C9A0000000000000000000000000000000000087
+:10C9B0000000000000000000000000000000000077
+:10C9C0000000000000000000000000000000000067
+:10C9D0000000000000000000000000000000000057
+:10C9E000000000000000000201010101010001003F
+:10C9F0000000010101010000000000000000000033
+:10CA0000010101010101010000000000000000001F
+:10CA10000000000000000000000000000000000016
+:10CA20000000000000000000000000000000000006
+:10CA300000000000000000000000000000000000F6
+:10CA400000000000000000000000000000000000E6
+:10CA500000000000000000000000000000000000D6
+:10CA600000000000000000000000000000000000C6
+:10CA700000000000000000000000000000000000B6
+:10CA800000000000000000000000000000000000A6
+:10CA90000000000000000000000000000000000096
+:10CAA0000000000000000000000000000000000086
+:10CAB0000000000000000000000000000000000076
+:10CAC0000000000000000000000000000000000066
+:10CAD0000000000000000000000000000000000056
+:10CAE000000000000000000202010101010001003D
+:10CAF0000000010101010000000000000000010130
+:10CB0000010101010101010000000000000000001E
+:10CB10000000000000000000000000000000000015
+:10CB20000000000000000000000000000000000005
+:10CB300000000000000000000000000000000000F5
+:10CB400000000000000000000000000000000000E5
+:10CB500000000000000000000000000000000000D5
+:10CB600000000000000000000000000000000000C5
+:10CB700000000000000000000000000000000000B5
+:10CB800000000000000000000000000000000000A5
+:10CB90000000000000000000000000000000000095
+:10CBA0000000000000000000000000000000000085
+:10CBB0000000000000000000000000000000000075
+:10CBC0000000000000000000000000000000000065
+:10CBD0000000000000000000000000000000000055
+:10CBE0000000000000000002020202010101010039
+:10CBF000010001010101000000000000010101012C
+:10CC0000010101010101010000000000000000001D
+:10CC10000000000000000000000000000000000014
+:10CC20000000000000000000000000000000000004
+:10CC300000000000000000000000000000000000F4
+:10CC400000000000000000000000000000000000E4
+:10CC500000000000000000000000000000000000D4
+:10CC600000000000000000000000000000000000C4
+:10CC700000000000000000000000000000000000B4
+:10CC800000000000000000000000000000000000A4
+:10CC90000000000000000000000000000000000094
+:10CCA0000000000000000000000000000000000084
+:10CCB0000000000000000000000000000000000074
+:10CCC0000000000000000000000000000000000064
+:10CCD0000000000000000000000000000000000054
+:10CCE0000000000000000002020202020201010135
+:10CCF000010001010101000000000001010101012A
+:10CD0000010101010101010000000000000000001C
+:10CD10000000000000000000000000000000000013
+:10CD20000000000000000000000000000000000003
+:10CD300000000000000000000000000000000000F3
+:10CD400000000000000000000000000000000000E3
+:10CD500000000000000000000000000000000000D3
+:10CD600000000000000000000000000000000000C3
+:10CD700000000000000000000000000000000000B3
+:10CD800000000000000000000000000000000000A3
+:10CD90000000000000000000000000000000000093
+:10CDA0000000000000000000000000000000000083
+:10CDB0000000000000000000000000000000000073
+:10CDC0000000000000000000000000000000000063
+:10CDD0000000000000000000000000000000000053
+:10CDE0000000000000000002020202020201020133
+:10CDF0000101010101010000000001010101010127
+:10CE0000010101010101010000000000000000001B
+:10CE10000000000000000000000000000000000012
+:10CE20000000000000000000000000000000000002
+:10CE300000000000000000000000000000000000F2
+:10CE400000000000000000000000000000000000E2
+:10CE500000000000000000000000000000000000D2
+:10CE600000000000000000000000000000000000C2
+:10CE700000000000000000000000000000000000B2
+:10CE800000000000000000000000000000000000A2
+:10CE90000000000000000000000000000000000092
+:10CEA0000000000000000000000000000000000082
+:10CEB0000000000000000000000000000000000072
+:10CEC0000000000000000000000000000000000062
+:10CED0000000000000000000000000000000000052
+:10CEE0000000000000000002020202020202020131
+:10CEF0000101010101010000000101010101010125
+:10CF0000010101010101010000000000000000001A
+:10CF10000000000000000000000000000000000011
+:10CF20000000000000000000000000000000000001
+:10CF300000000000000000000000000000000000F1
+:10CF400000000000000000000000000000000000E1
+:10CF500000000000000000000000000000000000D1
+:10CF600000000000000000000000000000000000C1
+:10CF700000000000000000000000000000000000B1
+:10CF800000000000000000000000000000000000A1
+:10CF90000000000000000000000000000000000091
+:10CFA0000000000000000000000000000000000081
+:10CFB0000000000000000000000000000000000071
+:10CFC0000000000000000000000000000000000061
+:10CFD0000000000000000000000000000000000051
+:10CFE000000000000000000202020202020202022F
+:10CFF000020102020202000000010101010101011F
+:10D000000101010101010100000000000000000019
+:10D010000000000000000000000000000000000010
+:10D020000000000000000000000000000000000000
+:10D0300000000000000000000000000000000000F0
+:10D0400000000000000000000000000000000000E0
+:10D0500000000000000000000000000000000000D0
+:10D0600000000000000000000000000000000000C0
+:10D0700000000000000000000000000000000000B0
+:10D0800000000000000000000000000000000000A0
+:10D090000000000000000000000000000000000090
+:10D0A0000000000000000000000000000000000080
+:10D0B0000000000000000000000000000000000070
+:10D0C0000000000000000000000000000000000060
+:10D0D0000000000000000000000000000000000050
+:10D0E000000000000000000202020202020202022E
+:10D0F000020202020202000001010101010101011C
+:10D100000101010101010100000000000000000018
+:10D11000000000000000000000000000000000000F
+:10D1200000000000000000000000000000000000FF
+:10D1300000000000000000000000000000000000EF
+:10D1400000000000000000000000000000000000DF
+:10D1500000000000000000000000000000000000CF
+:10D1600000000000000000000000000000000000BF
+:10D1700000000000000000000000000000000000AF
+:10D18000000000000000000000000000000000009F
+:10D19000000000000000000000000000000000008F
+:10D1A000000000000000000000000000000000007F
+:10D1B000000000000000000000000000000000006F
+:10D1C000000000000000000000000000000000005F
+:10D1D000000000000000000000000000000000004F
+:10D1E000000000000000000202020202020202022D
+:10D1F000020202020202000001010101010101011B
+:10D200000101010101010100000000000000000017
+:10D21000000000000000000000000000000000000E
+:10D2200000000000000000000000000000000000FE
+:10D2300000000000000000000000000000000000EE
+:10D2400000000000000000000000000000000000DE
+:10D2500000000000000000000000000000000000CE
+:10D2600000000000000000000000000000000000BE
+:10D2700000000000000000000000000000000000AE
+:10D28000000000000000000000000000000000009E
+:10D29000000000000000000000000000000000008E
+:10D2A000000000000000000000000000000000007E
+:10D2B000000000000000000000000000000000006E
+:10D2C000000000000000000000000000000000005E
+:10D2D000000000000000000000000000000000004E
+:10D2E000000000000000000202020202020202022C
+:10D2F000020202020202000001010101010101011A
+:10D300000101010101010100000000000000000016
+:10D31000000000000000000000000000000000000D
+:10D3200000000000000000000000000000000000FD
+:10D3300000000000000000000000000000000000ED
+:10D3400000000000000000000000000000000000DD
+:10D3500000000000000000000000000000000000CD
+:10D3600000000000000000000000000000000000BD
+:10D3700000000000000000000000000000000000AD
+:10D38000000000000000000000000000000000009D
+:10D39000000000000000000000000000000000008D
+:10D3A000000000000000000000000000000000007D
+:10D3B000000000000000000000000000000000006D
+:10D3C000000000000000000000000000000000005D
+:10D3D000000000000000000000000000000000004D
+:10D3E000000000000000000202020202020202022B
+:10D3F0000202020202020000010101010101010119
+:10D400000101010101010100000000000000000015
+:10D41000000000000000000000000000000000000C
+:10D4200000000000000000000000000000000000FC
+:10D4300000000000000000000000000000000000EC
+:10D4400000000000000000000000000000000000DC
+:10D4500000000000000000000000000000000000CC
+:10D4600000000000000000000000000000000000BC
+:10D4700000000000000000000000000000000000AC
+:10D48000000000000000000000000000000000009C
+:10D49000000000000000000000000000000000008C
+:10D4A000000000000000000000000000000000007C
+:10D4B000000000000000000000000000000000006C
+:10D4C000000000000000000000000000000000005C
+:10D4D000000000000000000000000000000000004C
+:10D4E000000000000000000202020202020202022A
+:10D4F0000202020202020000010101010101010118
+:10D500000101010101010100000000000000000014
+:10D51000000000000000000000000000000000000B
+:10D5200000000000000000000000000000000000FB
+:10D5300000000000000000000000000000000000EB
+:10D5400000000000000000000000000000000000DB
+:10D5500000000000000000000000000000000000CB
+:10D5600000000000000000000000000000000000BB
+:10D5700000000000000000000000000000000000AB
+:10D58000000000000000000000000000000000009B
+:10D59000000000000000000000000000000000008B
+:10D5A000000000000000000000000000000000007B
+:10D5B000000000000000000000000000000000006B
+:10D5C000000000000000000000000000000000005B
+:10D5D000000000000000000000000000000000004B
+:10D5E0000000000000000002020202020202020229
+:10D5F000020202020202000000000000000000001F
+:10D60000000000000000000000000000000000001A
+:10D61000000000000000000000000000000000000A
+:10D6200000000000000000000000000000000000FA
+:10D6300000000000000000000000000000000000EA
+:10D6400000000000000000000000000000000000DA
+:10D6500000000000000000000000000000000000CA
+:10D6600000000000000000000000000000000000BA
+:10D6700000000000000000000000000000000000AA
+:10D68000000000000000000000000000000000009A
+:10D69000000000000000000000000000000000008A
+:10D6A000000000000000000000000000000000007A
+:10D6B000000000000000000000000000000000006A
+:10D6C000000000000000000000000000000000005A
+:10D6D000000000000000000000000000000000004A
+:10D6E000000000000000000000000000000000003A
+:10D6F000000000000000000F00000000000000001B
+:10D700000000000000000000000000000001010017
+:10D710000000000000000000000000000000000009
+:10D7200000000000000000000000000000000000F9
+:10D7300000000000000000000000000000000000E9
+:10D7400000000000000000000000000000000000D9
+:10D7500000000000000000000000000000000000C9
+:10D7600000000000000000000000000000000000B9
+:10D7700000000000000000000000000000000000A9
+:10D780000000000000000000000000000000000099
+:10D790000000000000000000000000000000000089
+:10D7A0000000000000000000000000000000000079
+:10D7B0000000000000000000000000000000000069
+:10D7C0000000000000000000000000000000000059
+:10D7D0000000000000000000000000000000000049
+:10D7E0000000000000000000000000000000000237
+:10D7F0000100000000000100000001000001000025
+:10D800000000000000000000000000000001010016
+:10D810000000000000000000000000000000000008
+:10D8200000000000000000000000000000000000F8
+:10D8300000000000000000000000000000000000E8
+:10D8400000000000000000000000000000000000D8
+:10D8500000000000000000000000000000000000C8
+:10D8600000000000000000000000000000000000B8
+:10D8700000000000000000000000000000000000A8
+:10D880000000000000000000000000000000000098
+:10D890000000000000000000000000000000000088
+:10D8A0000000000000000000000000000000000078
+:10D8B0000000000000000000000000000000000068
+:10D8C0000000000000000000000000000000000058
+:10D8D0000000000000000000000000000000000048
+:10D8E0000000000000000000000000000000000236
+:10D8F0000101010000000100010001000001000021
+:10D900000000000000000000000001010101010012
+:10D910000000000000000000000000000000000007
+:10D9200000000000000000000000000000000000F7
+:10D9300000000000000000000000000000000000E7
+:10D9400000000000000000000000000000000000D7
+:10D9500000000000000000000000000000000000C7
+:10D9600000000000000000000000000000000000B7
+:10D9700000000000000000000000000000000000A7
+:10D980000000000000000000000000000000000097
+:10D990000000000000000000000000000000000087
+:10D9A0000000000000000000000000000000000077
+:10D9B0000000000000000000000000000000000067
+:10D9C0000000000000000000000000000000000057
+:10D9D0000000000000000000000000000000000047
+:10D9E0000000000000000000000000000000000235
+:10D9F000020101000000010001000101000100001E
+:10DA0000000000000000000001010101010101000F
+:10DA10000000000000000000000000000000000006
+:10DA200000000000000000000000000000000000F6
+:10DA300000000000000000000000000000000000E6
+:10DA400000000000000000000000000000000000D6
+:10DA500000000000000000000000000000000000C6
+:10DA600000000000000000000000000000000000B6
+:10DA700000000000000000000000000000000000A6
+:10DA80000000000000000000000000000000000096
+:10DA90000000000000000000000000000000000086
+:10DAA0000000000000000000000000000000000076
+:10DAB0000000000000000000000000000000000066
+:10DAC0000000000000000000000000000000000056
+:10DAD0000000000000000000000000000000000046
+:10DAE0000000000000000000000000000000000234
+:10DAF000020101000101010001010101000100001A
+:10DB0000000000000000010101010101010101000C
+:10DB10000000000000000000000000000000000005
+:10DB200000000000000000000000000000000000F5
+:10DB300000000000000000000000000000000000E5
+:10DB400000000000000000000000000000000000D5
+:10DB500000000000000000000000000000000000C5
+:10DB600000000000000000000000000000000000B5
+:10DB700000000000000000000000000000000000A5
+:10DB80000000000000000000000000000000000095
+:10DB90000000000000000000000000000000000085
+:10DBA0000000000000000000000000000000000075
+:10DBB0000000000000000000000000000000000065
+:10DBC0000000000000000000000000000000000055
+:10DBD0000000000000000000000000000000000045
+:10DBE0000000000000000000000000000000000233
+:10DBF0000202020001010101010101010101000015
+:10DC00000000000001010101010101010101010009
+:10DC10000000000000000000000000000000000004
+:10DC200000000000000000000000000000000000F4
+:10DC300000000000000000000000000000000000E4
+:10DC400000000000000000000000000000000000D4
+:10DC500000000000000000000000000000000000C4
+:10DC600000000000000000000000000000000000B4
+:10DC700000000000000000000000000000000000A4
+:10DC80000000000000000000000000000000000094
+:10DC90000000000000000000000000000000000084
+:10DCA0000000000000000000000000000000000074
+:10DCB0000000000000000000000000000000000064
+:10DCC0000000000000000000000000000000000054
+:10DCD0000000000000000000000000000000000044
+:10DCE0000000000000000000000000000000000232
+:10DCF0000202020101010201010101010101000012
+:10DD00000000000001010101010101010101010008
+:10DD10000000000000000000000000000000000003
+:10DD200000000000000000000000000000000000F3
+:10DD300000000000000000000000000000000000E3
+:10DD400000000000000000000000000000000000D3
+:10DD500000000000000000000000000000000000C3
+:10DD600000000000000000000000000000000000B3
+:10DD700000000000000000000000000000000000A3
+:10DD80000000000000000000000000000000000093
+:10DD90000000000000000000000000000000000083
+:10DDA0000000000000000000000000000000000073
+:10DDB0000000000000000000000000000000000063
+:10DDC0000000000000000000000000000000000053
+:10DDD0000000000000000000000000000000000043
+:10DDE0000000000000000000000000000000000231
+:10DDF000020202020202020102010201010100000C
+:10DE00000001010101010101010101010101010004
+:10DE10000000000000000000000000000000000002
+:10DE200000000000000000000000000000000000F2
+:10DE300000000000000000000000000000000000E2
+:10DE400000000000000000000000000000000000D2
+:10DE500000000000000000000000000000000000C2
+:10DE600000000000000000000000000000000000B2
+:10DE700000000000000000000000000000000000A2
+:10DE80000000000000000000000000000000000092
+:10DE90000000000000000000000000000000000082
+:10DEA0000000000000000000000000000000000072
+:10DEB0000000000000000000000000000000000062
+:10DEC0000000000000000000000000000000000052
+:10DED0000000000000000000000000000000000042
+:10DEE0000000000000000000000000000000000230
+:10DEF0000202020202020202020202020102000007
+:10DF00000001010101010101010101010101010003
+:10DF10000000000000000000000000000000000001
+:10DF200000000000000000000000000000000000F1
+:10DF300000000000000000000000000000000000E1
+:10DF400000000000000000000000000000000000D1
+:10DF500000000000000000000000000000000000C1
+:10DF600000000000000000000000000000000000B1
+:10DF700000000000000000000000000000000000A1
+:10DF80000000000000000000000000000000000091
+:10DF90000000000000000000000000000000000081
+:10DFA0000000000000000000000000000000000071
+:10DFB0000000000000000000000000000000000061
+:10DFC0000000000000000000000000000000000051
+:10DFD0000000000000000000000000000000000041
+:10DFE000000000000000000000000000000000022F
+:10DFF0000202020202020202020202020202000005
+:10E000000001010101010101010101010101010002
+:10E010000000000000000000000000000000000000
+:10E0200000000000000000000000000000000000F0
+:10E0300000000000000000000000000000000000E0
+:10E0400000000000000000000000000000000000D0
+:10E0500000000000000000000000000000000000C0
+:10E0600000000000000000000000000000000000B0
+:10E0700000000000000000000000000000000000A0
+:10E080000000000000000000000000000000000090
+:10E090000000000000000000000000000000000080
+:10E0A0000000000000000000000000000000000070
+:10E0B0000000000000000000000000000000000060
+:10E0C0000000000000000000000000000000000050
+:10E0D0000000000000000000000000000000000040
+:10E0E000000000000000000000000000000000022E
+:10E0F0000202020202020202020202020202000004
+:10E100000101010101010101010101010101010000
+:10E1100000000000000000000000000000000000FF
+:10E1200000000000000000000000000000000000EF
+:10E1300000000000000000000000000000000000DF
+:10E1400000000000000000000000000000000000CF
+:10E1500000000000000000000000000000000000BF
+:10E1600000000000000000000000000000000000AF
+:10E17000000000000000000000000000000000009F
+:10E18000000000000000000000000000000000008F
+:10E19000000000000000000000000000000000007F
+:10E1A000000000000000000000000000000000006F
+:10E1B000000000000000000000000000000000005F
+:10E1C000000000000000000000000000000000004F
+:10E1D000000000000000000000000000000000003F
+:10E1E000000000000000000000000000000000022D
+:10E1F0000202020202020202020202020202000003
+:10E2000001010101010101010101010101010100FF
+:10E2100000000000000000000000000000000000FE
+:10E2200000000000000000000000000000000000EE
+:10E2300000000000000000000000000000000000DE
+:10E2400000000000000000000000000000000000CE
+:10E2500000000000000000000000000000000000BE
+:10E2600000000000000000000000000000000000AE
+:10E27000000000000000000000000000000000009E
+:10E28000000000000000000000000000000000008E
+:10E29000000000000000000000000000000000007E
+:10E2A000000000000000000000000000000000006E
+:10E2B000000000000000000000000000000000005E
+:10E2C000000000000000000000000000000000004E
+:10E2D000000000000000000000000000000000003E
+:10E2E000000000000000000000000000000000022C
+:10E2F0000202020202020202020202020202000002
+:10E3000001010101010101010101010101010100FE
+:10E3100000000000000000000000000000000000FD
+:10E3200000000000000000000000000000000000ED
+:10E3300000000000000000000000000000000000DD
+:10E3400000000000000000000000000000000000CD
+:10E3500000000000000000000000000000000000BD
+:10E3600000000000000000000000000000000000AD
+:10E37000000000000000000000000000000000009D
+:10E38000000000000000000000000000000000008D
+:10E39000000000000000000000000000000000007D
+:10E3A000000000000000000000000000000000006D
+:10E3B000000000000000000000000000000000005D
+:10E3C000000000000000000000000000000000004D
+:10E3D000000000000000000000000000000000003D
+:10E3E000000000000000000000000000000000022B
+:10E3F0000202020202020202020202020202000001
+:10E4000001010101010101010101010101010100FD
+:10E4100000000000000000000000000000000000FC
+:10E4200000000000000000000000000000000000EC
+:10E4300000000000000000000000000000000000DC
+:10E4400000000000000000000000000000000000CC
+:10E4500000000000000000000000000000000000BC
+:10E4600000000000000000000000000000000000AC
+:10E47000000000000000000000000000000000009C
+:10E48000000000000000000000000000000000008C
+:10E49000000000000000000000000000000000007C
+:10E4A000000000000000000000000000000000006C
+:10E4B000000000000000000000000000000000005C
+:10E4C000000000000000000000000000000000004C
+:10E4D000000000000000000000000000000000003C
+:10E4E000000000000000000000000000000000022A
+:10E4F0000202020202020202020202020202000000
+:10E50000000000000000000000000000000000000B
+:10E5100000000000000000000000000000000000FB
+:10E5200000000000000000000000000000000000EB
+:10E5300000000000000000000000000000000000DB
+:10E5400000000000000000000000000000000000CB
+:10E5500000000000000000000000000000000000BB
+:10E5600000000000000000000000000000000000AB
+:10E57000000000000000000000000000000000009B
+:10E58000000000000000000000000000000000008B
+:10E59000000000000000000000000000000000007B
+:10E5A000000000000000000000000000000000006B
+:10E5B000000000000000000000000000000000005B
+:10E5C000000000000000000000000000000000004B
+:10E5D000000000000000000000000000000000003B
+:10E5E000000000000000000000000000000000002B
+:10E5F0000000000000000000000000000000000B10
+:10E60000000000000000000000000000000000000A
+:10E6100000000000000001000000000000000000F9
+:10E6200000000000000000000000000000000000EA
+:10E6300000000000000000000000000000000000DA
+:10E6400000000000000000000000000000000000CA
+:10E6500000000000000000000000000000000000BA
+:10E6600000000000000000000000000000000000AA
+:10E67000000000000000000000000000000000009A
+:10E68000000000000000000000000000000000008A
+:10E69000000000000000000000000000000000007A
+:10E6A000000000000000000000000000000000006A
+:10E6B000000000000000000000000000000000005A
+:10E6C000000000000000000000000000000000004A
+:10E6D000000000000000000000000000000000003A
+:10E6E000000000000000000000000000000000002A
+:10E6F0000000000000000002000001000000000017
+:10E700000000000000000000000000000000000009
+:10E7100000000000000101000000000000000000F7
+:10E7200000000000000000000000000000000000E9
+:10E7300000000000000000000000000000000000D9
+:10E7400000000000000000000000000000000000C9
+:10E7500000000000000000000000000000000000B9
+:10E7600000000000000000000000000000000000A9
+:10E770000000000000000000000000000000000099
+:10E780000000000000000000000000000000000089
+:10E790000000000000000000000000000000000079
+:10E7A0000000000000000000000000000000000069
+:10E7B0000000000000000000000000000000000059
+:10E7C0000000000000000000000000000000000049
+:10E7D0000000000000000000000000000000000039
+:10E7E0000000000000000000000000000000000029
+:10E7F0000000000000000002020101000000000013
+:10E800000000000000010000000000000000000007
+:10E8100000000101010101000000000000000000F3
+:10E8200000000000000000000000000000000000E8
+:10E8300000000000000000000000000000000000D8
+:10E8400000000000000000000000000000000000C8
+:10E8500000000000000000000000000000000000B8
+:10E8600000000000000000000000000000000000A8
+:10E870000000000000000000000000000000000098
+:10E880000000000000000000000000000000000088
+:10E890000000000000000000000000000000000078
+:10E8A0000000000000000000000000000000000068
+:10E8B0000000000000000000000000000000000058
+:10E8C0000000000000000000000000000000000048
+:10E8D0000000000000000000000000000000000038
+:10E8E0000000000000000000000000000000000028
+:10E8F0000000000000000002020202000000000010
+:10E900000000000000010000000000000000000105
+:10E9100001010101010101000000000000000000F0
+:10E9200000000000000000000000000000000000E7
+:10E9300000000000000000000000000000000000D7
+:10E9400000000000000000000000000000000000C7
+:10E9500000000000000000000000000000000000B7
+:10E9600000000000000000000000000000000000A7
+:10E970000000000000000000000000000000000097
+:10E980000000000000000000000000000000000087
+:10E990000000000000000000000000000000000077
+:10E9A0000000000000000000000000000000000067
+:10E9B0000000000000000000000000000000000057
+:10E9C0000000000000000000000000000000000047
+:10E9D0000000000000000000000000000000000037
+:10E9E0000000000000000000000000000000000027
+:10E9F000000000000000000202020200000000000F
+:10EA00000000000000010000000000000001010102
+:10EA100001010101010101000000000000000000EF
+:10EA200000000000000000000000000000000000E6
+:10EA300000000000000000000000000000000000D6
+:10EA400000000000000000000000000000000000C6
+:10EA500000000000000000000000000000000000B6
+:10EA600000000000000000000000000000000000A6
+:10EA70000000000000000000000000000000000096
+:10EA80000000000000000000000000000000000086
+:10EA90000000000000000000000000000000000076
+:10EAA0000000000000000000000000000000000066
+:10EAB0000000000000000000000000000000000056
+:10EAC0000000000000000000000000000000000046
+:10EAD0000000000000000000000000000000000036
+:10EAE0000000000000000000000000000000000026
+:10EAF000000000000000000202020202000101000A
+:10EB000000000100000100000000000001010101FF
+:10EB100001010101010101000000000000000000EE
+:10EB200000000000000000000000000000000000E5
+:10EB300000000000000000000000000000000000D5
+:10EB400000000000000000000000000000000000C5
+:10EB500000000000000000000000000000000000B5
+:10EB600000000000000000000000000000000000A5
+:10EB70000000000000000000000000000000000095
+:10EB80000000000000000000000000000000000085
+:10EB90000000000000000000000000000000000075
+:10EBA0000000000000000000000000000000000065
+:10EBB0000000000000000000000000000000000055
+:10EBC0000000000000000000000000000000000045
+:10EBD0000000000000000000000000000000000035
+:10EBE0000000000000000000000000000000000025
+:10EBF0000000000000000002020202020202020104
+:10EC000001000100000200000000010101010101FA
+:10EC100001010101010101000000000000000000ED
+:10EC200000000000000000000000000000000000E4
+:10EC300000000000000000000000000000000000D4
+:10EC400000000000000000000000000000000000C4
+:10EC500000000000000000000000000000000000B4
+:10EC600000000000000000000000000000000000A4
+:10EC70000000000000000000000000000000000094
+:10EC80000000000000000000000000000000000084
+:10EC90000000000000000000000000000000000074
+:10ECA0000000000000000000000000000000000064
+:10ECB0000000000000000000000000000000000054
+:10ECC0000000000000000000000000000000000044
+:10ECD0000000000000000000000000000000000034
+:10ECE0000000000000000000000000000000000024
+:10ECF0000000000000000002020202020202020202
+:10ED000002000201000200000001010101010101F5
+:10ED100001010101010101000000000000000000EC
+:10ED200000000000000000000000000000000000E3
+:10ED300000000000000000000000000000000000D3
+:10ED400000000000000000000000000000000000C3
+:10ED500000000000000000000000000000000000B3
+:10ED600000000000000000000000000000000000A3
+:10ED70000000000000000000000000000000000093
+:10ED80000000000000000000000000000000000083
+:10ED90000000000000000000000000000000000073
+:10EDA0000000000000000000000000000000000063
+:10EDB0000000000000000000000000000000000053
+:10EDC0000000000000000000000000000000000043
+:10EDD0000000000000000000000000000000000033
+:10EDE0000000000000000000000000000000000023
+:10EDF0000000000000000002020202020202020201
+:10EE000002020202000200000001010101010101F1
+:10EE100001010101010101000000000000000000EB
+:10EE200000000000000000000000000000000000E2
+:10EE300000000000000000000000000000000000D2
+:10EE400000000000000000000000000000000000C2
+:10EE500000000000000000000000000000000000B2
+:10EE600000000000000000000000000000000000A2
+:10EE70000000000000000000000000000000000092
+:10EE80000000000000000000000000000000000082
+:10EE90000000000000000000000000000000000072
+:10EEA0000000000000000000000000000000000062
+:10EEB0000000000000000000000000000000000052
+:10EEC0000000000000000000000000000000000042
+:10EED0000000000000000000000000000000000032
+:10EEE0000000000000000000000000000000000022
+:10EEF0000000000000000002020202020202020200
+:10EF000002020202020200000101010101010101ED
+:10EF100001010101010101000000000000000000EA
+:10EF200000000000000000000000000000000000E1
+:10EF300000000000000000000000000000000000D1
+:10EF400000000000000000000000000000000000C1
+:10EF500000000000000000000000000000000000B1
+:10EF600000000000000000000000000000000000A1
+:10EF70000000000000000000000000000000000091
+:10EF80000000000000000000000000000000000081
+:10EF90000000000000000000000000000000000071
+:10EFA0000000000000000000000000000000000061
+:10EFB0000000000000000000000000000000000051
+:10EFC0000000000000000000000000000000000041
+:10EFD0000000000000000000000000000000000031
+:10EFE0000000000000000000000000000000000021
+:10EFF00000000000000000020202020202020202FF
+:10F0000002020202020200000000000000000000F4
+:10F0100000000000000000000000000000000000F0
+:10F0200000000000000000000000000000000000E0
+:10F0300000000000000000000000000000000000D0
+:10F0400000000000000000000000000000000000C0
+:10F0500000000000000000000000000000000000B0
+:10F0600000000000000000000000000000000000A0
+:10F070000000000000000000000000000000000090
+:10F080000000000000000000000000000000000080
+:10F090000000000000000000000000000000000070
+:10F0A0000000000000000000000000000000000060
+:10F0B0000000000000000000000000000000000050
+:10F0C0000000000000000000000000000000000040
+:10F0D0000000000000000000000000000000000030
+:10F0E0000000000000000000000000000000000020
+:10F0F0000000000000000000000000000000000010
+:10F10000000000000000000F0000000000000000F0
+:10F1100000000000000000000000000000000000EF
+:10F1200000000000000000000000000000000000DF
+:10F1300000000000000000000000000000000000CF
+:10F1400000000000000000000000000000000000BF
+:10F1500000000000000000000000000000000000AF
+:10F16000000000000000000000000000000000009F
+:10F17000000000000000000000000000000000008F
+:10F18000000000000000000000000000000000007F
+:10F19000000000000000000000000000000000006F
+:10F1A000000000000000000000000000000000005F
+:10F1B000000000000000000000000000000000004F
+:10F1C000000000000000000000000000000000003F
+:10F1D000000000000000000000000000000000002F
+:10F1E000000000000000000000000000000000001F
+:10F1F000000000000000000000000000000000000F
+:10F2000000010001000000000000000001000000FB
+:10F2100000000000000000000000000000000000EE
+:10F2200000000000000000000000000000000000DE
+:10F2300000000000000000000000000000000000CE
+:10F2400000000000000000000000000000000000BE
+:10F2500000000000000000000000000000000000AE
+:10F26000000000000000000000000000000000009E
+:10F27000000000000000000000000000000000008E
+:10F28000000000000000000000000000000000007E
+:10F29000000000000000000000000000000000006E
+:10F2A000000000000000000000000000000000005E
+:10F2B000000000000000000000000000000000004E
+:10F2C000000000000000000000000000000000003E
+:10F2D000000000000000000000000000000000002E
+:10F2E000000000000000000000000000000000001E
+:10F2F000000000000000000000000000000000000E
+:10F3000000010001000000000001000001000000F9
+:10F3100000000000000000000000000000000000ED
+:10F3200000000000000000000000000000000000DD
+:10F3300000000000000000000000000000000000CD
+:10F3400000000000000000000000000000000000BD
+:10F3500000000000000000000000000000000000AD
+:10F36000000000000000000000000000000000009D
+:10F37000000000000000000000000000000000008D
+:10F38000000000000000000000000000000000007D
+:10F39000000000000000000000000000000000006D
+:10F3A000000000000000000000000000000000005D
+:10F3B000000000000000000000000000000000004D
+:10F3C000000000000000000000000000000000003D
+:10F3D000000000000000000000000000000000002D
+:10F3E000000000000000000000000000000000001D
+:10F3F000000000000000000000000000000000000D
+:10F4000000010001000000000001000001000000F8
+:10F4100000000000000000000000000000000000EC
+:10F4200000000000000000000000000000000000DC
+:10F4300000000000000000000000000000000000CC
+:10F4400000000000000000000000000000000000BC
+:10F4500000000000000000000000000000000000AC
+:10F46000000000000000000000000000000000009C
+:10F47000000000000000000000000000000000008C
+:10F48000000000000000000000000000000000007C
+:10F49000000000000000000000000000000000006C
+:10F4A000000000000000000000000000000000005C
+:10F4B000000000000000000000000000000000004C
+:10F4C000000000000000000000000000000000003C
+:10F4D000000000000000000000000000000000002C
+:10F4E000000000000000000000000000000000001C
+:10F4F000000000000000000000000000000000000C
+:10F5000000010001000000000001000001000000F7
+:10F5100000000000000000000000000000000000EB
+:10F5200000000000000000000000000000000000DB
+:10F5300000000000000000000000000000000000CB
+:10F5400000000000000000000000000000000000BB
+:10F5500000000000000000000000000000000000AB
+:10F56000000000000000000000000000000000009B
+:10F57000000000000000000000000000000000008B
+:10F58000000000000000000000000000000000007B
+:10F59000000000000000000000000000000000006B
+:10F5A000000000000000000000000000000000005B
+:10F5B000000000000000000000000000000000004B
+:10F5C000000000000000000000000000000000003B
+:10F5D000000000000000000000000000000000002B
+:10F5E000000000000000000000000000000000001B
+:10F5F000000000000000000000000000000000000B
+:10F6000001010001000000000001000001000000F5
+:10F6100000000000000000000000000000000000EA
+:10F6200000000000000000000000000000000000DA
+:10F6300000000000000000000000000000000000CA
+:10F6400000000000000000000000000000000000BA
+:10F6500000000000000000000000000000000000AA
+:10F66000000000000000000000000000000000009A
+:10F67000000000000000000000000000000000008A
+:10F68000000000000000000000000000000000007A
+:10F69000000000000000000000000000000000006A
+:10F6A000000000000000000000000000000000005A
+:10F6B000000000000000000000000000000000004A
+:10F6C000000000000000000000000000000000003A
+:10F6D000000000000000000000000000000000002A
+:10F6E000000000000000000000000000000000001A
+:10F6F000000000000000000000000000000000000A
+:10F7000001020002000000000001000001000000F2
+:10F7100000000000000000000000000001000100E7
+:10F7200000000000000000000000000000000000D9
+:10F7300000000000000000000000000000000000C9
+:10F7400000000000000000000000000000000000B9
+:10F7500000000000000000000000000000000000A9
+:10F760000000000000000000000000000000000099
+:10F770000000000000000000000000000000000089
+:10F780000000000000000000000000000000000079
+:10F790000000000000000000000000000000000069
+:10F7A0000000000000000000000000000000000059
+:10F7B0000000000000000000000000000000000049
+:10F7C0000000000000000000000000000000000039
+:10F7D0000000000000000000000000000000000029
+:10F7E0000000000000000000000000000000000019
+:10F7F0000000000000000000000000000000000207
+:10F8000002020102000000000001010001000000EE
+:10F8100000000000000000000001000101010100E3
+:10F8200000000000000000000000000000000000D8
+:10F8300000000000000000000000000000000000C8
+:10F8400000000000000000000000000000000000B8
+:10F8500000000000000000000000000000000000A8
+:10F860000000000000000000000000000000000098
+:10F870000000000000000000000000000000000088
+:10F880000000000000000000000000000000000078
+:10F890000000000000000000000000000000000068
+:10F8A0000000000000000000000000000000000058
+:10F8B0000000000000000000000000000000000048
+:10F8C0000000000000000000000000000000000038
+:10F8D0000000000000000000000000000000000028
+:10F8E0000000000000000000000000000000000018
+:10F8F0000000000000000000000000000000000206
+:10F9000002020202010202010102010102000000E2
+:10F9100000000000000000000001010101010100E1
+:10F9200000000000000000000000000000000000D7
+:10F9300000000000000000000000000000000000C7
+:10F9400000000000000000000000000000000000B7
+:10F9500000000000000000000000000000000000A7
+:10F960000000000000000000000000000000000097
+:10F970000000000000000000000000000000000087
+:10F980000000000000000000000000000000000077
+:10F990000000000000000000000000000000000067
+:10F9A0000000000000000000000000000000000057
+:10F9B0000000000000000000000000000000000047
+:10F9C0000000000000000000000000000000000037
+:10F9D0000000000000000000000000000000000027
+:10F9E0000000000000000000000000000000000017
+:10F9F0000000000000000000000000000000000205
+:10FA000002020202020202020102010102000000DF
+:10FA100000000000000000000101010101010100DF
+:10FA200000000000000000000000000000000000D6
+:10FA300000000000000000000000000000000000C6
+:10FA400000000000000000000000000000000000B6
+:10FA500000000000000000000000000000000000A6
+:10FA60000000000000000000000000000000000096
+:10FA70000000000000000000000000000000000086
+:10FA80000000000000000000000000000000000076
+:10FA90000000000000000000000000000000000066
+:10FAA0000000000000000000000000000000000056
+:10FAB0000000000000000000000000000000000046
+:10FAC0000000000000000000000000000000000036
+:10FAD0000000000000000000000000000000000026
+:10FAE0000000000000000000000000000000000016
+:10FAF0000000000000000000000000000000000204
+:10FB000002020202020202020202020102010000DB
+:10FB100000010001000000000101010101010100DC
+:10FB200000000000000000000000000000000000D5
+:10FB300000000000000000000000000000000000C5
+:10FB400000000000000000000000000000000000B5
+:10FB500000000000000000000000000000000000A5
+:10FB60000000000000000000000000000000000095
+:10FB70000000000000000000000000000000000085
+:10FB80000000000000000000000000000000000075
+:10FB90000000000000000000000000000000000065
+:10FBA0000000000000000000000000000000000055
+:10FBB0000000000000000000000000000000000045
+:10FBC0000000000000000000000000000000000035
+:10FBD0000000000000000000000000000000000025
+:10FBE0000000000000000000000000000000000015
+:10FBF0000000000000000000000000000000000203
+:10FC000002020202020202020202020202010000D9
+:10FC100000010001010000010101010101010100D9
+:10FC200000000000000000000000000000000000D4
+:10FC300000000000000000000000000000000000C4
+:10FC400000000000000000000000000000000000B4
+:10FC500000000000000000000000000000000000A4
+:10FC60000000000000000000000000000000000094
+:10FC70000000000000000000000000000000000084
+:10FC80000000000000000000000000000000000074
+:10FC90000000000000000000000000000000000064
+:10FCA0000000000000000000000000000000000054
+:10FCB0000000000000000000000000000000000044
+:10FCC0000000000000000000000000000000000034
+:10FCD0000000000000000000000000000000000024
+:10FCE0000000000000000000000000000000000014
+:10FCF0000000000000000000000000000000000202
+:10FD000002020202020202020202020202020000D7
+:10FD100001010101010000010101010101010100D6
+:10FD200000000000000000000000000000000000D3
+:10FD300000000000000000000000000000000000C3
+:10FD400000000000000000000000000000000000B3
+:10FD500000000000000000000000000000000000A3
+:10FD60000000000000000000000000000000000093
+:10FD70000000000000000000000000000000000083
+:10FD80000000000000000000000000000000000073
+:10FD90000000000000000000000000000000000063
+:10FDA0000000000000000000000000000000000053
+:10FDB0000000000000000000000000000000000043
+:10FDC0000000000000000000000000000000000033
+:10FDD0000000000000000000000000000000000023
+:10FDE0000000000000000000000000000000000013
+:10FDF0000000000000000000000000000000000201
+:10FE000002020202020202020202020202020000D6
+:10FE100001010101010101010101010101010100D3
+:10FE200000000000000000000000000000000000D2
+:10FE300000000000000000000000000000000000C2
+:10FE400000000000000000000000000000000000B2
+:10FE500000000000000000000000000000000000A2
+:10FE60000000000000000000000000000000000092
+:10FE70000000000000000000000000000000000082
+:10FE80000000000000000000000000000000000072
+:10FE90000000000000000000000000000000000062
+:10FEA0000000000000000000000000000000000052
+:10FEB0000000000000000000000000000000000042
+:10FEC0000000000000000000000000000000000032
+:10FED0000000000000000000000000000000000022
+:10FEE0000000000000000000000000000000000012
+:10FEF0000000000000000000000000000000000200
+:10FF000002020202020202020202020202020000D5
+:10FF100000000000000000000000000000000000E1
+:10FF200000000000000000000000000000000000D1
+:10FF300000000000000000000000000000000000C1
+:10FF400000000000000000000000000000000000B1
+:10FF500000000000000000000000000000000000A1
+:10FF60000000000000000000000000000000000091
+:10FF70000000000000000000000000000000000081
+:10FF80000000000000000000000000000000000071
+:10FF90000000000000000000000000000000000061
+:10FFA0000000000000000000000000000000000051
+:10FFB0000000000000000000000000000000000041
+:10FFC0000000000000000000000000000000000031
+:10FFD0000000000000000000000000000000000021
+:10FFE0000000000000000000000000000000000011
+:10FFF0000000000000000000000000000000000001
+:0200000260009C
+:1000000000000000000000000000000000000009E7
+:1000100000000000000000000000000000000000E0
+:1000200000000000000101000000000000000000CE
+:1000300000000000000000000000000000000000C0
+:1000400000000000000000000000000000000000B0
+:1000500000000000000000000000000000000000A0
+:100060000000000000000000000000000000000090
+:100070000000000000000000000000000000000080
+:100080000000000000000000000000000000000070
+:100090000000000000000000000000000000000060
+:1000A0000000000000000000000000000000000050
+:1000B0000000000000000000000000000000000040
+:1000C0000000000000000000000000000000000030
+:1000D0000000000000000000000000000000000020
+:1000E0000000000000000000000000000000000010
+:1000F0000000000000000000000000000000000000
+:1001000000000000000000020100010000000000EB
+:1001100000000101000100000000000000000000DC
+:1001200000000000010101000000000000000000CC
+:1001300000000000000000000000000000000000BF
+:1001400000000000000000000000000000000000AF
+:10015000000000000000000000000000000000009F
+:10016000000000000000000000000000000000008F
+:10017000000000000000000000000000000000007F
+:10018000000000000000000000000000000000006F
+:10019000000000000000000000000000000000005F
+:1001A000000000000000000000000000000000004F
+:1001B000000000000000000000000000000000003F
+:1001C000000000000000000000000000000000002F
+:1001D000000000000000000000000000000000001F
+:1001E000000000000000000000000000000000000F
+:1001F00000000000000000000000000000000000FF
+:1002000000000000000000020202020101010201E0
+:1002100001010101010100000000000000000000D8
+:1002200000000001010101000000000000000000CA
+:1002300000000000000000000000000000000000BE
+:1002400000000000000000000000000000000000AE
+:10025000000000000000000000000000000000009E
+:10026000000000000000000000000000000000008E
+:10027000000000000000000000000000000000007E
+:10028000000000000000000000000000000000006E
+:10029000000000000000000000000000000000005E
+:1002A000000000000000000000000000000000004E
+:1002B000000000000000000000000000000000003E
+:1002C000000000000000000000000000000000002E
+:1002D000000000000000000000000000000000001E
+:1002E000000000000000000000000000000000000E
+:1002F00000000000000000000000000000000000FE
+:1003000000000000000000020202020202020202DB
+:1003100002010201010100000000000000000000D5
+:1003200000010001010101000000000000000000C8
+:1003300000000000000000000000000000000000BD
+:1003400000000000000000000000000000000000AD
+:10035000000000000000000000000000000000009D
+:10036000000000000000000000000000000000008D
+:10037000000000000000000000000000000000007D
+:10038000000000000000000000000000000000006D
+:10039000000000000000000000000000000000005D
+:1003A000000000000000000000000000000000004D
+:1003B000000000000000000000000000000000003D
+:1003C000000000000000000000000000000000002D
+:1003D000000000000000000000000000000000001D
+:1003E000000000000000000000000000000000000D
+:1003F00000000000000000000000000000000000FD
+:1004000000000000000000020202020202020202DA
+:1004100002020202010100000000000000000000D2
+:1004200000010101010101000000000000000000C6
+:1004300000000000000000000000000000000000BC
+:1004400000000000000000000000000000000000AC
+:10045000000000000000000000000000000000009C
+:10046000000000000000000000000000000000008C
+:10047000000000000000000000000000000000007C
+:10048000000000000000000000000000000000006C
+:10049000000000000000000000000000000000005C
+:1004A000000000000000000000000000000000004C
+:1004B000000000000000000000000000000000003C
+:1004C000000000000000000000000000000000002C
+:1004D000000000000000000000000000000000001C
+:1004E000000000000000000000000000000000000C
+:1004F00000000000000000000000000000000000FC
+:1005000000000000000000020202020202020202D9
+:1005100002020202020200000000000101010001CB
+:1005200001010101010101000000000000000000C4
+:1005300000000000000000000000000000000000BB
+:1005400000000000000000000000000000000000AB
+:10055000000000000000000000000000000000009B
+:10056000000000000000000000000000000000008B
+:10057000000000000000000000000000000000007B
+:10058000000000000000000000000000000000006B
+:10059000000000000000000000000000000000005B
+:1005A000000000000000000000000000000000004B
+:1005B000000000000000000000000000000000003B
+:1005C000000000000000000000000000000000002B
+:1005D000000000000000000000000000000000001B
+:1005E000000000000000000000000000000000000B
+:1005F00000000000000000000000000000000000FB
+:1006000000000000000000020202020202020202D8
+:1006100002020202020200000100010101010001C8
+:1006200001010101010101000000000000000000C3
+:1006300000000000000000000000000000000000BA
+:1006400000000000000000000000000000000000AA
+:10065000000000000000000000000000000000009A
+:10066000000000000000000000000000000000008A
+:10067000000000000000000000000000000000007A
+:10068000000000000000000000000000000000006A
+:10069000000000000000000000000000000000005A
+:1006A000000000000000000000000000000000004A
+:1006B000000000000000000000000000000000003A
+:1006C000000000000000000000000000000000002A
+:1006D000000000000000000000000000000000001A
+:1006E000000000000000000000000000000000000A
+:1006F00000000000000000000000000000000000FA
+:1007000000000000000000020202020202020202D7
+:1007100002020202020200000101010101010101C5
+:1007200001010101010101000000000000000000C2
+:1007300000000000000000000000000000000000B9
+:1007400000000000000000000000000000000000A9
+:100750000000000000000000000000000000000099
+:100760000000000000000000000000000000000089
+:100770000000000000000000000000000000000079
+:100780000000000000000000000000000000000069
+:100790000000000000000000000000000000000059
+:1007A0000000000000000000000000000000000049
+:1007B0000000000000000000000000000000000039
+:1007C0000000000000000000000000000000000029
+:1007D0000000000000000000000000000000000019
+:1007E0000000000000000000000000000000000009
+:1007F00000000000000000000000000000000000F9
+:1008000000000000000000020202020202020202D6
+:1008100002020202020200000000000000000000CC
+:1008200000000000000000000000000000000000C8
+:1008300000000000000000000000000000000000B8
+:1008400000000000000000000000000000000000A8
+:100850000000000000000000000000000000000098
+:100860000000000000000000000000000000000088
+:100870000000000000000000000000000000000078
+:100880000000000000000000000000000000000068
+:100890000000000000000000000000000000000058
+:1008A0000000000000000000000000000000000048
+:1008B0000000000000000000000000000000000038
+:1008C0000000000000000000000000000000000028
+:1008D0000000000000000000000000000000000018
+:1008E0000000000000000000000000000000000008
+:1008F00000000000000000000000000000000000F8
+:1009000000000000000000000000000000000000E7
+:1009100000000000000000090000000000000000CE
+:1009200000000000000000000000000000000100C6
+:1009300000000000000000000000000000000000B7
+:1009400000000000000000000000000000000000A7
+:100950000000000000000000000000000000000097
+:100960000000000000000000000000000000000087
+:100970000000000000000000000000000000000077
+:100980000000000000000000000000000000000067
+:100990000000000000000000000000000000000057
+:1009A0000000000000000000000000000000000047
+:1009B0000000000000000000000000000000000037
+:1009C0000000000000000000000000000000000027
+:1009D0000000000000000000000000000000000017
+:1009E0000000000000000000000000000000000007
+:1009F00000000000000000000000000000000000F7
+:100A000000000000000000000000000000000002E4
+:100A100000000100000101000000010000000000D2
+:100A200000000000000000000100000000000100C4
+:100A300000000000000000000000000000000000B6
+:100A400000000000000000000000000000000000A6
+:100A50000000000000000000000000000000000096
+:100A60000000000000000000000000000000000086
+:100A70000000000000000000000000000000000076
+:100A80000000000000000000000000000000000066
+:100A90000000000000000000000000000000000056
+:100AA0000000000000000000000000000000000046
+:100AB0000000000000000000000000000000000036
+:100AC0000000000000000000000000000000000026
+:100AD0000000000000000000000000000000000016
+:100AE0000000000000000000000000000000000006
+:100AF00000000000000000000000000000000000F6
+:100B000000000000000000000000000000000002E3
+:100B100002010201000101000101010000000000CA
+:100B200000000000000001000100000000010100C1
+:100B300000000000000000000000000000000000B5
+:100B400000000000000000000000000000000000A5
+:100B50000000000000000000000000000000000095
+:100B60000000000000000000000000000000000085
+:100B70000000000000000000000000000000000075
+:100B80000000000000000000000000000000000065
+:100B90000000000000000000000000000000000055
+:100BA0000000000000000000000000000000000045
+:100BB0000000000000000000000000000000000035
+:100BC0000000000000000000000000000000000025
+:100BD0000000000000000000000000000000000015
+:100BE0000000000000000000000000000000000005
+:100BF00000000000000000000000000000000000F5
+:100C000000000000000000000000000000000002E2
+:100C100002020202020201000101020000010000C2
+:100C200000000000000001010101000001010100BD
+:100C300000000000000000000000000000000000B4
+:100C400000000000000000000000000000000000A4
+:100C50000000000000000000000000000000000094
+:100C60000000000000000000000000000000000084
+:100C70000000000000000000000000000000000074
+:100C80000000000000000000000000000000000064
+:100C90000000000000000000000000000000000054
+:100CA0000000000000000000000000000000000044
+:100CB0000000000000000000000000000000000034
+:100CC0000000000000000000000000000000000024
+:100CD0000000000000000000000000000000000014
+:100CE0000000000000000000000000000000000004
+:100CF00000000000000000000000000000000000F4
+:100D000000000000000000000000000000000002E1
+:100D100002020202020202010102020001010000BD
+:100D200000000000000101010101010101010100B9
+:100D300000000000000000000000000000000000B3
+:100D400000000000000000000000000000000000A3
+:100D50000000000000000000000000000000000093
+:100D60000000000000000000000000000000000083
+:100D70000000000000000000000000000000000073
+:100D80000000000000000000000000000000000063
+:100D90000000000000000000000000000000000053
+:100DA0000000000000000000000000000000000043
+:100DB0000000000000000000000000000000000033
+:100DC0000000000000000000000000000000000023
+:100DD0000000000000000000000000000000000013
+:100DE0000000000000000000000000000000000003
+:100DF00000000000000000000000000000000000F3
+:100E000000000000000000000000000000000002E0
+:100E100002020202020202020202020202020000B6
+:100E200000010001000101010101010101010100B6
+:100E300000000000000000000000000000000000B2
+:100E400000000000000000000000000000000000A2
+:100E50000000000000000000000000000000000092
+:100E60000000000000000000000000000000000082
+:100E70000000000000000000000000000000000072
+:100E80000000000000000000000000000000000062
+:100E90000000000000000000000000000000000052
+:100EA0000000000000000000000000000000000042
+:100EB0000000000000000000000000000000000032
+:100EC0000000000000000000000000000000000022
+:100ED0000000000000000000000000000000000012
+:100EE0000000000000000000000000000000000002
+:100EF00000000000000000000000000000000000F2
+:100F000000000000000000000000000000000002DF
+:100F100002020202020202020202020202020000B5
+:100F200000010101010101010101010101010100B3
+:100F300000000000000000000000000000000000B1
+:100F400000000000000000000000000000000000A1
+:100F50000000000000000000000000000000000091
+:100F60000000000000000000000000000000000081
+:100F70000000000000000000000000000000000071
+:100F80000000000000000000000000000000000061
+:100F90000000000000000000000000000000000051
+:100FA0000000000000000000000000000000000041
+:100FB0000000000000000000000000000000000031
+:100FC0000000000000000000000000000000000021
+:100FD0000000000000000000000000000000000011
+:100FE0000000000000000000000000000000000001
+:100FF00000000000000000000000000000000000F1
+:1010000000000000000000000000000000000002DE
+:1010100002020202020202020202020202020000B4
+:1010200001010101010101010101010101010100B1
+:1010300000000000000000000000000000000000B0
+:1010400000000000000000000000000000000000A0
+:101050000000000000000000000000000000000090
+:101060000000000000000000000000000000000080
+:101070000000000000000000000000000000000070
+:101080000000000000000000000000000000000060
+:101090000000000000000000000000000000000050
+:1010A0000000000000000000000000000000000040
+:1010B0000000000000000000000000000000000030
+:1010C0000000000000000000000000000000000020
+:1010D0000000000000000000000000000000000010
+:1010E0000000000000000000000000000000000000
+:1010F00000000000000000000000000000000000F0
+:1011000000000000000000000000000000000002DD
+:1011100002020202020202020202020202020000B3
+:1011200000000000000000000000000000000000BF
+:1011300000000000000000000000000000000000AF
+:10114000000000000000000000000000000000009F
+:10115000000000000000000000000000000000008F
+:10116000000000000000000000000000000000007F
+:10117000000000000000000000000000000000006F
+:10118000000000000000000000000000000000005F
+:10119000000000000000000000000000000000004F
+:1011A000000000000000000000000000000000003F
+:1011B000000000000000000000000000000000002F
+:1011C000000000000000000000000000000000001F
+:1011D000000000000000000000000000000000000F
+:1011E00000000000000000000000000000000000FF
+:1011F00000000000000000000000000000000000EF
+:1012000000000000000000000000000000000000DE
+:10121000000000000000000000000000000000507E
+:101220001206000000000058620600000000006086
+:10123000AC06000000000068EE0600000000007030
+:1012400031070000000000787107000000000080F6
+:10125000AC07000000000088DF07000000000090DD
+:10126000100800000000009841080000000000A0E5
+:1012700072080000000000A8A3080000000000B0F1
+:10128000D4080000000000B805090000000000506C
+:10129000000000000000000000000001000000004D
+:1012A000000000010100000000000000000000003C
+:1012B000000000000000010000000000000000002D
+:1012C000000000000000000000000000000000011D
+:1012D000000000000000000000000000000000010D
+:1012E00000000000000000000000000000000000FE
+:1012F00000000000000000000000000000010000ED
+:1013000000000000000000000000000000000000DD
+:1013100000000000000000000000000000000000CD
+:1013200000000000000000000000000000000000BD
+:1013300000000000000000000000000000000000AD
+:10134000000000000000000000000000000000009D
+:10135000000000000000000000000000000000008D
+:10136000000000000000010000000000000000007C
+:10137000000000000000000000000000000000006D
+:10138000000000000000000000000000000000005D
+:10139000000000000000000000010001000000004B
+:1013A000000000010100000000000000000000003B
+:1013B000000100000000010000000000000000002B
+:1013C000000000000000000000000000000000011C
+:1013D000000000000000010000000000000000010B
+:1013E00001000000000000000000000000000000FC
+:1013F00000000000000100000000000000010000EB
+:1014000000000000000000000000000000000000DC
+:1014100000000000000000000000000000000000CC
+:1014200000000000000000000000000000000000BC
+:1014300000000000000000000000000000000000AC
+:10144000000000000000000000000000000000009C
+:10145000000000000000000000000000000000008C
+:10146000000000000000010000000000000000007B
+:10147000000000000000000000000000000000006C
+:10148000000000000000000000000000000000005C
+:101490000000000000000000000101010000010048
+:1014A000000000010100000000000000000000003A
+:1014B000000100000000010000000000000000002A
+:1014C000000000000000010000000000000000011A
+:1014D000000000000000010000000000000000010A
+:1014E00001000000000000000000000001010000F9
+:1014F00000000000000100000000000000010000EA
+:1015000000000000000000000000000000000000DB
+:1015100000000000000000000000000000000000CB
+:1015200000000000000100000000000000000000BA
+:1015300000000000000000000000000000000000AB
+:101540000000000000000000010100000000000099
+:10155000000000000000000000000000000000008B
+:10156000000000000000010000000000000000007A
+:10157000000000000000010000000000000000006A
+:10158000000000000000000000000000000000005B
+:101590000000000000000000000101010100010046
+:1015A0000000000101000000000000000000000039
+:1015B0000001000000000100000000000001000028
+:1015C0000000000000000100000000000000000119
+:1015D0000100010000000100000000000000000107
+:1015E00001000000000000000000000101010000F7
+:1015F00000000000000100000000000000010100E8
+:1016000000000000000100000000000000000000D9
+:1016100000000000000000000000000000000000CA
+:1016200000000000000100000000000000000000B9
+:1016300000000000000000000000000000000000AA
+:101640000000000000000000010101000000000097
+:101650000000000001000000000000000000000089
+:101660000000000000000100000000000000000079
+:101670000000000000000100000000000000000069
+:10168000000000000000000000000000000000005A
+:101690000001000000000000000101010100010044
+:1016A0000000010101000000000000010000000036
+:1016B0000001000000000100000001000001000026
+:1016C0000000000000000100000000000000000118
+:1016D0000100010000000100000000000000000106
+:1016E00001000000000000000000000101010000F6
+:1016F00000010000000100000000000000010101E5
+:1017000000000000000100000000000000000000D8
+:1017100000000000000000000000000000000000C9
+:1017200000000000000100000000000000000000B8
+:1017300000000000000000000000000000000000A9
+:101740000000000000000000010101000000000096
+:101750000000000001000000000000000000000088
+:101760000000000000000100000000000000000078
+:101770000000000000000100000000000000000068
+:101780000000000000000000000000000000000059
+:101790000001010000000001010101010100010040
+:1017A0000000010101000001010100010000000032
+:1017B0000001000000000100000001000101000024
+:1017C0000000000000000100000000000000010116
+:1017D0000100010000000100000000000000000105
+:1017E00001000000000000000000000101010100F4
+:1017F00001010101000100000000000000010101E1
+:1018000000000000000100000000000000000000D7
+:1018100000000000000000000000000000000000C8
+:1018200000000000000100000000000000000000B7
+:1018300000000000000000000000000000000000A8
+:101840000000000000000000010101010000000094
+:101850000000000001000100000000000000000185
+:101860000000000000000100000000000000000077
+:101870000000000000000100000000000000000067
+:101880000000000000000000000000000000000058
+:10189000000101000000000101010101010001003F
+:1018A0000000010101000001010100010000000031
+:1018B0000001000100000100000001000101010021
+:1018C0000100000000000100000000000000010114
+:1018D0000100010000000100000000000100000103
+:1018E00001000000000000000000000101010101F2
+:1018F00001010101000100000000000000010101E0
+:1019000000000000000100000000000000000000D6
+:1019100000000000000000000000000000000000C7
+:1019200000000000000100000000000000000000B6
+:1019300000000000000000000000000000000000A7
+:101940000000000000010001010101010000000091
+:101950000000000001000100000000000000000184
+:101960000000000000000100000000000000000076
+:101970000000000000010100000000000000000065
+:101980000000000000000000000000000000000057
+:10199000010101010100000101010101010001003B
+:1019A0000000010101000001010100010000000030
+:1019B000000100010000010100000100010101001F
+:1019C0000100000000000100000000000000010113
+:1019D0000100010000000100000000000100000102
+:1019E00001000000000000000000000101010101F1
+:1019F00001010101000100000000000000010101DF
+:101A000000000001000100000000000000000000D4
+:101A100000000000000100000000000000000000C5
+:101A200000000000000100000000000000000000B5
+:101A300000000000000000000000000000000000A6
+:101A4000000100000001000101010101000000008F
+:101A50000000000001000100000000000000000183
+:101A60000000000000000100000000000000000075
+:101A70000001000000010100000000000000000063
+:101A80000000000000000000000000000101000153
+:101A9000010101010100000101010101010001003A
+:101AA000000001010100000101010001000000002F
+:101AB000000100010100010100000100010101001D
+:101AC0000100000000000100000100000000010111
+:101AD0000100010000000101000000000100000100
+:101AE00001000000000000000000000101010101F0
+:101AF00001010101000100000000000001010101DD
+:101B000000000001000100000000000000000000D3
+:101B100000000000000100000000000000000000C4
+:101B200000000000010100000000000000000000B3
+:101B300000000000000100000000000000000000A4
+:101B4000010101000001000101010101010100008A
+:101B50000000000001000100000000000000000182
+:101B60000100000000000100000000000000000073
+:101B7000010101000101010000000000000000005F
+:101B8000000000000000000000000101010101014F
+:101B90000101010101000001010101010100010138
+:101BA000000001010100000101010001000000002E
+:101BB000000100010100010101010100010101001A
+:101BC0000100000000000100000100000000010110
+:101BD00001000100000101010000000001000001FE
+:101BE00001000000000000000000000101010101EF
+:101BF00001010101000100000000000001010101DC
+:101C000000000101010100000000000000000000D0
+:101C100001000000000100000100000000000001C0
+:101C200000000000010100000000000000000000B2
+:101C300000000000000100000101000001000000A0
+:101C40000101010000010001010101010101010088
+:101C50000000000001010100000000000000000180
+:101C60000100000000000100000000000000000072
+:101C7000010101000101010000000000000000005E
+:101C8000000000000000000000000101010101014E
+:101C90000101010101000001010101010100010137
+:101CA000010001010100000101010001000000002C
+:101CB0000101010101000101010101000101010017
+:101CC000010000000000010001010000000001010E
+:101CD00001010100000101010000000001000001FC
+:101CE00001000000000000000000000101010101EE
+:101CF00001010101000100000000000001010101DB
+:101D000000000101010100000000000000000000CF
+:101D100001010000000100000100000000000001BE
+:101D200000000000010101000000000000000000B0
+:101D3000000000000001000001010100010000009E
+:101D40000101010000010001010101010101010186
+:101D5000000100000101010000000000000000017E
+:101D60000100000001000100000000000000000070
+:101D7000010101000101010000000000000000005D
+:101D8000000000000000000000000101010101014D
+:101D90000101010101000001010101010101010135
+:101DA0000101010101000001010100010100000029
+:101DB0000101010101000101010101000101010016
+:101DC000010000000000010001010000000001010D
+:101DD00001010101000101010000000001000001FA
+:101DE00001000100010000000000000101010101EB
+:101DF00001010101010100000000010001010101D8
+:101E000000000101010100000000000000000000CE
+:101E100001010000000101000101000000000001BB
+:101E200000000000010101000000000000000000AF
+:101E3000000000000001000001010100010100009C
+:101E40000101010000010001010101010101010185
+:101E5000010101010101010000000000000000017A
+:101E6000010000000100010000000000000000006F
+:101E7000010101000101010000000000000000005C
+:101E8000000000000000000000000101010101014C
+:101E90000101010101000001010201020101010132
+:101EA0000101010101000002020100020100000025
+:101EB0000101010101000101010101010101010014
+:101EC000010000000000010101010000000101010A
+:101ED00001010101000101010000000001010001F8
+:101EE00001000100010000000000000101010101EA
+:101EF00001010101010100000000010001010101D7
+:101F000000000101010100000000000000010000CC
+:101F100001010000000101000101000000000001BA
+:101F200001000001010101000000010100000000AA
+:101F3000000000000001000001010100010100009B
+:101F40000101010001010101010101010101010182
+:101F50000101010101010100000000000000000179
+:101F6000010000000100010000000000000000006E
+:101F7000010101000101010000000000000000005B
+:101F8000000100000000000000000101010101014A
+:101F90000101010101000001010202020101010130
+:101FA0000101010101000002020200020100000023
+:101FB0000101010101000101010102010101010111
+:101FC0000101000000000101010101000001010107
+:101FD00001010101000101010000000101010001F6
+:101FE00001000100010000000000000101010101E9
+:101FF00001010101010100000000010001010101D6
+:1020000000000101010100000000000000010000CB
+:1020100001010000010101000101000000000001B8
+:1020200001010001010101000000010100000000A8
+:102030000000000000010000010101000101000199
+:102040000101010001010101010101010101010181
+:102050000101010101010101000000000001000176
+:10206000010000000100010000000000000100006C
+:10207000010101000101010000000000000000005A
+:102080000001010101000000000001010101010146
+:10209000010101010100000202020202010101012D
+:1020A0000101010101000002020201020100000021
+:1020B000010201010101010201010201010201010C
+:1020C0000101000100000101010101000001010105
+:1020D00001010101000101010000000101010001F5
+:1020E00001000100010000000001000101010101E7
+:1020F00001010101010100000000010001010101D5
+:1021000000000101010100000000000000010000CA
+:1021100001010000010101000101000100000001B6
+:1021200001010101010101000000010100000000A6
+:102130000000000000010000010101000101010197
+:102140000101010001010101010101010101010180
+:102150000101010101010101000000000001010174
+:10216000010000000100010000000000000100006B
+:102170000101010001010100000000000000000059
+:102180000001010101000000000001010101010145
+:10219000010101010100000202020202020102012A
+:1021A000010101010100000202020102010100011E
+:1021B0000102010101010102020102010202010109
+:1021C0000101000100000101010101000001010203
+:1021D00001010101000101010000000101010101F3
+:1021E00001000100010001000001010101010101E4
+:1021F00001010101010101000000010001010101D3
+:1022000000000101010100000000000000010100C8
+:1022100001010100010101000101000101000001B3
+:1022200001010101010101000101010101000000A2
+:102230000000000000010000010101000101010196
+:10224000010101000101010101010101010101017F
+:102250000101010101010101010100000001010171
+:10226000010000000100010000000000000100006A
+:102270000101010001010100000000000000000058
+:102280000001010101000000000001010101010144
+:102290000101010101000002020202020201020129
+:1022A000010101010100000202020102010100011D
+:1022B0000102010101010102020202010202020106
+:1022C0000101010100000101010101000101010200
+:1022D00001010101000101010000000101010101F2
+:1022E00001010100010001000001010101010101E2
+:1022F00001010101010101010100010001010101D0
+:1023000000000101010100000000000001010101C5
+:1023100001010100010101000101010101000001B1
+:1023200001010101010101000101010101000000A1
+:102330000000000000010000010101010101010194
+:10234000010101010101010101010101010101017D
+:10235000010101010101010101010100000101016F
+:102360000100000001000100000000000001010068
+:102370000101010101010100000100000000000055
+:102380000001010101000000000001010101010143
+:102390000101010101000002020202020201020128
+:1023A000010101010100000202020102020100011B
+:1023B0000102010201010102020202010202020104
+:1023C00002010101000001010202010001010202FB
+:1023D00002010101010101020000000101010102ED
+:1023E00001010101010001000001010201010101DF
+:1023F00001010101010101010100010001010101CF
+:1024000000000101010101000000000001010101C3
+:1024100001010101010101000101010101010001AE
+:10242000010101010101010001010101010100019E
+:102430000000000000010000010101010101010193
+:10244000010101010101010101010101010101017C
+:10245000010101010101010101010100000101016E
+:102460000100000001000101010100000001010064
+:102470000101010101010100000101000000000053
+:102480000001010101000000000001010101010142
+:102490000101010101000002020202020201020127
+:1024A0000101010201000002020202020201010117
+:1024B0000202010201010102020202020202020101
+:1024C00002010101000001010202010001010202FA
+:1024D00002010201010101020100000102010102E9
+:1024E00002010101010001000001010202010101DC
+:1024F00001010101010101010101010001020101CC
+:1025000000010101010101000001000001010101C0
+:1025100001010101010101000101010101010101AC
+:10252000010101010101010001010101010100019D
+:102530000000000000010000010101010101010192
+:10254000010101010101010101010101010101017B
+:10255000010101010101010101010101000101016C
+:102560000100010101000101010101000001010060
+:102570000101010101010100010101000000000051
+:102580000001010101000000000001010101010141
+:102590000101010101000002020202020201020126
+:1025A0000101020202000002020202020201010114
+:1025B00002020202020102020202020202020201FD
+:1025C00002010101000001020202010101010202F7
+:1025D00002010201010101020100010102010102E7
+:1025E00002010101010001000001010202020101DA
+:1025F00001010101010101010101010001020101CB
+:1026000001010101010101000001010001010101BD
+:1026100001010101010101000101010101010101AB
+:10262000010101010101010101010101010100019B
+:102630000001000000010000010101010101010190
+:10264000010101010101010101010101010101017A
+:10265000010101010101010101010101010101016A
+:10266000010001010100010101010100000101005F
+:10267000010101010101010001010101000000004F
+:102680000001010101000000000001010101010140
+:102690000101010101000002020202020202020223
+:1026A0000101020202010002020202020202010111
+:1026B00002020202020102020202020202020201FC
+:1026C00002010101010001020202020101010202F4
+:1026D00002010201010101020101010102010102E5
+:1026E00002010101010001010101010202020101D7
+:1026F00001010101010101010101010001020201C9
+:1027000001010101010101000001010001010101BC
+:1027100001010101010101000101010101010101AA
+:10272000010101010101010101010101010100019A
+:10273000010100000001010001010101010101018D
+:102740000101010101010101020101010101010178
+:102750000101010101010101010101010101010169
+:10276000010001010100010101010101000101005D
+:10277000010101010101010001010101010100004C
+:10278000000101010100000000000101010101013F
+:102790000101010101000002020202020202020222
+:1027A000020102020201000202020202020201020E
+:1027B00002020202020102020202020202020202FA
+:1027C00002010101010001020202020101020202F2
+:1027D00002010201010101020101010202010102E3
+:1027E00002010101010001010101010202020201D5
+:1027F00001010101010101010101010101020201C7
+:1028000001010101010101000001010101010101BA
+:1028100001010101010101010101010101010101A8
+:102820000101010101010101010101010101000199
+:10283000010100000001010101010101010101018B
+:102840000101010101010101020201010101010176
+:102850000101010101010101010101010101010168
+:10286000010001010100010101010101010101005B
+:10287000010101010101010001010101010100004B
+:10288000000101010101010000000101010101013C
+:102890000101010101000002020202020202020221
+:1028A000020102020201000202020202020202020C
+:1028B00002020202020102020202020202020202F9
+:1028C00002020101010002020202020101020202EF
+:1028D00002020201010101020101010202020102E0
+:1028E00002010101010001010101010202020201D4
+:1028F00002010101010101010101020102020202C2
+:1029000001010101010101000001010101010101B9
+:1029100001010101010101010101010101010101A7
+:102920000101010101010101010101010101000198
+:102930000101010101010101010101010101010187
+:102940000101010101010102020202010101010173
+:102950000101010101010101010101010101010167
+:10296000010001010100010101010101010101005A
+:102970000101010101010100010101010101000149
+:10298000000101010101010000000101010101013B
+:10299000010101010101010202020202020202021E
+:1029A000020202020201000202020202020202020A
+:1029B00002020202020102020202020202020202F8
+:1029C00002020102010002020202020102020202EC
+:1029D00002020202010102020201010202020102DC
+:1029E00002010101010001010102010202020202D1
+:1029F00002020101010101010101020102020202C0
+:102A000001010101010101000001010101010101B8
+:102A100001010101010101010201010101010101A5
+:102A20000101010101010101010101010101000197
+:102A30000101010101010101010101010101010186
+:102A40000101010101010102020202010101010172
+:102A50000101010101010101010101010101010166
+:102A60000101010101000101010101010101010157
+:102A70000101010101010100010101010101010147
+:102A80000101010101010100010101010101010137
+:102A9000010101010101010202020202020202021D
+:102AA0000202020202010002020202020202020209
+:102AB00002020202020202020202020202020202F6
+:102AC00002020202010102020202020202020202E8
+:102AD00002020202010102020201020202020202D9
+:102AE00002010201010001010102020202020202CE
+:102AF00002020201010101020201020102020202BC
+:102B000001010101010101010101010101010101B5
+:102B100001010101010101010201010101010101A4
+:102B20000101010101010101010101010101010195
+:102B30000101010101010101020101010101010184
+:102B40000101010101010102020202020101010170
+:102B50000101010101010101010101010101010165
+:102B60000101010101010101010101010101010155
+:102B70000101010101010101010101010101010145
+:102B80000101010101010100010101010101010136
+:102B9000010101010101010202020202020202021C
+:102BA0000202020202010002020202020202020208
+:102BB00002020202020202020202020202020202F5
+:102BC00002020202010102020202020202020202E7
+:102BD00002020202010102020202020202020202D7
+:102BE00002010201010101010102020202020202CC
+:102BF00002020202010101020201020102020202BA
+:102C000001010101010101010101010101020101B3
+:102C100002010101010101010202010101010101A1
+:102C20000101010101010101010102010101010193
+:102C30000101010101010101020201010101010182
+:102C4000010101010101010202020202010101016F
+:102C50000101010101010101010101010101010164
+:102C60000101010101010101010101010101010154
+:102C70000101010101010101010101010101010144
+:102C80000101010101010100010102010101010134
+:102C9000010101010101010202020202020202021B
+:102CA0000202020202010002020202020202020207
+:102CB00002020202020202020202020202020202F4
+:102CC00002020202010102020202020202020202E6
+:102CD00002020202010202020202020202020202D5
+:102CE00002010201020101020202020202020202C8
+:102CF00002020202010101020202020102020202B8
+:102D000001010101010101010102010101020101B1
+:102D100002010101010101010202010101010101A0
+:102D20000101010101010101020102020101010190
+:102D30000101010101010101020202010101010180
+:102D4000010101010101010202020202010101016E
+:102D50000101010101010102010101010101010162
+:102D60000101010101010101010101010101010153
+:102D70000101010101010101010101010101010143
+:102D80000101010101010100010102020101010132
+:102D9000010101010101010202020202020202021A
+:102DA0000202020202010002020202020202020206
+:102DB00002020202020202020202020202020202F3
+:102DC00002020202020102020202020202020202E4
+:102DD00002020202020202020202020202020202D3
+:102DE00002020201020101020202020202020202C6
+:102DF00002020202010201020202020102020202B6
+:102E000001010202010101010102020102020201AB
+:102E1000020201010101010102020102010101019D
+:102E2000010101010101010102020202010101018E
+:102E3000010101010101010102020201020101017E
+:102E4000010101010101010202020202020101016C
+:102E5000010101010101010202010101010101025F
+:102E60000101010101010101010101010101010152
+:102E70000101010101010101010101010101010142
+:102E80000101010101010100010102020201010130
+:102E90000101010101010102020202020202020219
+:102EA0000202020202010002020202020202020205
+:102EB00002020202020202020202020202020202F2
+:102EC00002020202020102020202020202020202E3
+:102ED00002020202020202020202020202020202D2
+:102EE00002020202020101020202020202020202C4
+:102EF00002020202010201020202020102020202B5
+:102F000001010202010101010102020102020201AA
+:102F1000020201010101010102020202010101029A
+:102F2000010101010101010202020202010101018C
+:102F3000010101010101010102020201020101017D
+:102F4000010101010101010202020202020201016A
+:102F5000010101010101010202020101010101025D
+:102F60000101010101010101010101010101010151
+:102F70000101010101010101010101010101010141
+:102F8000010101010101010001010202020201012E
+:102F90000101010101010102020202020202020218
+:102FA0000202020202010002020202020202020204
+:102FB00002020202020202020202020202020202F1
+:102FC00002020202020102020202020202020202E2
+:102FD00002020202020202020202020202020202D1
+:102FE00002020202020101020202020202020202C3
+:102FF00002020202020201020202020202020202B2
+:1030000001010202020201020202020202020202A3
+:103010000202010101010101020202020201010298
+:10302000010101010101010202020202020101018A
+:10303000010101010101010102020201020201017B
+:103040000201010101010102020202020202020167
+:10305000010101010101010202020201010101025B
+:10306000020101010101010202010101010101014D
+:10307000010101010101010102020101010101013E
+:10308000010101010101010001010202020202012C
+:103090000101010101010102020202020202020217
+:1030A0000202020202010002020202020202020203
+:1030B00002020202020202020202020202020202F0
+:1030C00002020202020102020202020202020202E1
+:1030D00002020202020202020202020202020202D0
+:1030E00002020202020101020202020202020202C2
+:1030F00002020202020201020202020202020202B1
+:1031000001010202020201020202020202020202A2
+:103110000202020101010102020202020201010295
+:103120000201010101010102020202020201010188
+:103130000101010101010101020202020202010179
+:103140000202010101010102020202020202020165
+:103150000101010101010102020202010102010259
+:10316000020101010101010202020101010101014B
+:10317000020101010101010102020201010101013B
+:10318000010101010101010001010202020202022A
+:103190000202010101010102020202020202020214
+:1031A0000202020202020002020202020202020201
+:1031B00002020202020202020202020202020202EF
+:1031C00002020202020102020202020202020202E0
+:1031D00002020202020202020202020202020202CF
+:1031E00002020202020102020202020202020202C0
+:1031F00002020202020201020202020202020202B0
+:1032000002010202020201020202020202020202A0
+:103210000202020102020102020202020202010291
+:103220000201010101020102020202020202010185
+:103230000101010101010102020202020202020176
+:103240000202020101010102020202020202020262
+:103250000101010101010102020202020102020256
+:103260000201010101010102020202010102010148
+:103270000202010101010101020202010101010139
+:103280000101010101010100010102020202020229
+:103290000202020101010102020202020202020212
+:1032A0000202020202020002020202020202020200
+:1032B00002020202020202020202020202020202EE
+:1032C00002020202020202020202020202020202DE
+:1032D00002020202020202020202020202020202CE
+:1032E00002020202020102020202020202020202BF
+:1032F00002020202020201020202020202020202AF
+:10330000020202020202010202020202020202029E
+:10331000020202020202010202020202020202028E
+:103320000202010102020102020202020202010281
+:103330000101010101010102020202020202020274
+:103340000202020101010102020202020202020261
+:103350000201010102010102020202020102020253
+:103360000201010101010202020202010102010146
+:103370000202020101010101020202020101010136
+:103380000101010101010100020102020202020227
+:103390000202020101010102020202020202020211
+:1033A00002020202020200020202020202020202FF
+:1033B00002020202020202020202020202020202ED
+:1033C00002020202020202020202020202020202DD
+:1033D00002020202020202020202020202020202CD
+:1033E00002020202020102020202020202020202BE
+:1033F00002020202020201020202020202020202AE
+:10340000020202020202010202020202020202029D
+:10341000020202020202010202020202020202028D
+:10342000020202020202010202020202020201027E
+:103430000101010101010102020202020202020273
+:103440000202020101010102020202020202020260
+:103450000202010102010102020202020202020250
+:103460000201010101010202020202020102020143
+:103470000202020101010102020202020101010134
+:103480000101010101010100020202020202020225
+:10349000020202020101010202020202020202020F
+:1034A00002020202020200020202020202020202FE
+:1034B00002020202020202020202020202020202EC
+:1034C00002020202020202020202020202020202DC
+:1034D00002020202020202020202020202020202CC
+:1034E00002020202020102020202020202020202BD
+:1034F00002020202020201020202020202020202AD
+:10350000020202020202010202020202020202029C
+:10351000020202020202020202020202020202028B
+:10352000020202020202010202020202020201027D
+:103530000201010101020102020202020202020270
+:10354000020202010101010202020202020202025F
+:10355000020202010201010202020202020202024E
+:103560000201010101010202020202020102020142
+:103570000202020101010202020202020201010131
+:103580000102010101010100020202020202020223
+:10359000020202020201010202020202020202020D
+:1035A00002020202020200020202020202020202FD
+:1035B00002020202020202020202020202020202EB
+:1035C00002020202020202020202020202020202DB
+:1035D00002020202020202020202020202020202CB
+:1035E00002020202020102020202020202020202BC
+:1035F00002020202020202020202020202020202AB
+:10360000020202020202010202020202020202029B
+:10361000020202020202020202020202020202028A
+:10362000020202020202010202020202020202027B
+:10363000020201010102010202020202020202026E
+:10364000020202010102010202020202020202025D
+:10365000020202020201010202020202020202024C
+:10366000020101010201020202020202020202013F
+:10367000020202010201020202020202020201012E
+:103680000102020101010100020202020202020221
+:10369000020202020201010202020202020202020C
+:1036A00002020202020200020202020202020202FC
+:1036B00002020202020202020202020202020202EA
+:1036C00002020202020202020202020202020202DA
+:1036D00002020202020202020202020202020202CA
+:1036E00002020202020202020202020202020202BA
+:1036F00002020202020202020202020202020202AA
+:10370000020202020202010202020202020202029A
+:103710000202020202020202020202020202020289
+:10372000020202020202010202020202020202027A
+:10373000020201010102010202020202020202026D
+:10374000020202010202010202020202020202025B
+:10375000020202020201020202020202020202024A
+:10376000020101010201020202020202020202013E
+:10377000020202010202020202020202020201012C
+:10378000010202020101010002020202020202021F
+:10379000020202020201010202020202020202020B
+:1037A00002020202020200020202020202020202FB
+:1037B00002020202020202020202020202020202E9
+:1037C00002020202020202020202020202020202D9
+:1037D00002020202020202020202020202020202C9
+:1037E00002020202020202020202020202020202B9
+:1037F00002020202020202020202020202020202A9
+:103800000202020202020202020202020202020298
+:103810000202020202020202020202020202020288
+:103820000202020202020202020202020202020278
+:10383000020202010102010202020202020202026B
+:103840000202020202020102020202020202020259
+:103850000202020202010202020202020202020249
+:10386000020102010201020202020202020202013C
+:10387000020202010202020202020202020202012A
+:10388000010202020201010002020202020202021D
+:10389000020202020201010202020202020202020A
+:1038A00002020202020200020202020202020202FA
+:1038B00002020202020202020202020202020202E8
+:1038C00002020202020202020202020202020202D8
+:1038D00002020202020202020202020202020202C8
+:1038E00002020202020202020202020202020202B8
+:1038F00002020202020202020202020202020202A8
+:103900000202020202020202020202020202020297
+:103910000202020202020202020202020202020287
+:103920000202020202020202020202020202020277
+:103930000202020201020102020202020202020269
+:103940000202020202020102020202020202020258
+:103950000202020202020202020202020202020247
+:10396000020102020201020202020202020202013A
+:103970000202020202020202020202020202020227
+:10398000010202020201010002020202020202021C
+:103990000202020202010102020202020202020209
+:1039A00002020202020200020202020202020202F9
+:1039B00002020202020202020202020202020202E7
+:1039C00002020202020202020202020202020202D7
+:1039D00002020202020202020202020202020202C7
+:1039E00002020202020202020202020202020202B7
+:1039F00002020202020202020202020202020202A7
+:103A00000202020202020202020202020202020296
+:103A10000202020202020202020202020202020286
+:103A20000202020202020202020202020202020276
+:103A30000202020202020102020202020202020267
+:103A40000202020202020202020202020202020256
+:103A50000202020202020202020202020202020246
+:103A60000201020202010202020202020202020238
+:103A70000202020202020202020202020202020226
+:103A8000020202020201010002020202020202021A
+:103A90000202020202010102020202020202020208
+:103AA00002020202020200020202020202020202F8
+:103AB00002020202020202020202020202020202E6
+:103AC00002020202020202020202020202020202D6
+:103AD00002020202020202020202020202020202C6
+:103AE00002020202020202020202020202020202B6
+:103AF00002020202020202020202020202020202A6
+:103B00000202020202020202020202020202020295
+:103B10000202020202020202020202020202020285
+:103B20000202020202020202020202020202020275
+:103B30000202020202020102020202020202020266
+:103B40000202020202020202020202020202020255
+:103B50000202020202020202020202020202020245
+:103B60000202020202010202020202020202020236
+:103B70000202020202020202020202020202020225
+:103B80000202020202010100020202020202020219
+:103B90000202020202010102020202020202020207
+:103BA00002020202020200020202020202020202F7
+:103BB00002020201010102020202020202020202E8
+:103BC00002020202020202020202020202020202D5
+:103BD00002020202020202020202020202020202C5
+:103BE00002020202020202020202020202020202B5
+:103BF00002020202020202020202020202020202A5
+:103C00000202020202020202020202020202020294
+:103C10000202020202020202020202020202020284
+:103C20000202020202020202020202020202020274
+:103C30000202020202020102020202020202020265
+:103C40000202020202020202020202020202020254
+:103C50000202020202020202020202020202020244
+:103C60000202020202010202020202020202020235
+:103C70000202020202020202020202020202020224
+:103C80000202020202010100020202020202020218
+:103C90000202020202010102020202020202020206
+:103CA00002020202020200020202020202020202F6
+:103CB00002010101010101020202020202020202EA
+:103CC00002020202020202020202020202020202D4
+:103CD00002020202020202020202020202020202C4
+:103CE00002020202020202020202020202020202B4
+:103CF00002020202020202020202020202020202A4
+:103D00000202020202020202020202020202020293
+:103D10000202020202020202020202020202020283
+:103D20000202020202020202020202020202020273
+:103D30000202020202020202020202020202020263
+:103D40000202020202020202020202020202020253
+:103D50000202020202020202020202020202020243
+:103D60000202020202010202020202020202020234
+:103D70000202020202020202020202020202020223
+:103D80000202020202010102020202020202020215
+:103D90000202020202010102020202020202020205
+:103DA00002020202020200020202020202020202F5
+:103DB00001010101010101020202020202020202EA
+:103DC00002020202020202020202020202020202D3
+:103DD00002020202020202020202020202020202C3
+:103DE00002020202020202020202020202020202B3
+:103DF00002020202020202020202020202020202A3
+:103E00000202020202020202020202020202020292
+:103E10000202020202020202020202020202020282
+:103E20000202020202020202020202020202020272
+:103E30000202020202020202020202020202020262
+:103E40000202020202020202020202020202020252
+:103E50000202020202020202020202020202020242
+:103E60000202020202010202020202020202020233
+:103E70000202020202020202020202020202020222
+:103E80000202020202010102020202020202020214
+:103E90000202020202010102020202020202020204
+:103EA00002020202020200020202020202020201F5
+:103EB00001010101010101020202020202020202E9
+:103EC00002020201010202020202020202020202D4
+:103ED00002020202020202020202020202020202C2
+:103EE00002020202020202020202020202020202B2
+:103EF00002020202020202020202020202020202A2
+:103F00000202020202020202020202020202020291
+:103F10000202020202020202020202020202020281
+:103F20000202020202020202020202020202020271
+:103F30000202020202020202020202020202020261
+:103F40000202020202020202020202020202020251
+:103F50000202020202020202020202020202020241
+:103F60000202020202010202020202020202020232
+:103F70000202020202020202020202020202020221
+:103F80000202020202020102020202020202020212
+:103F90000202020202010102020202020202020203
+:103FA00002020202020200020202020101010101F8
+:103FB00001010101010101020202020202020202E8
+:103FC00001010101010101020202020202020202D8
+:103FD00002020202020202020202020202020202C1
+:103FE00002020202020202020202020202020202B1
+:103FF00002020202020202020202020202020202A1
+:104000000202020202020202020202020202020290
+:104010000202020202020202020202020202020280
+:104020000202020202020202020202020202020270
+:104030000202020202020202020202020202020260
+:104040000202020202020202020202020202020250
+:104050000202020202020202020202020202020240
+:104060000202020202010202020202020202020231
+:104070000202020202020202020202020202020220
+:104080000202020202020202020202020202020210
+:104090000202020202020102020202020202020201
+:1040A00002020101010100020202020101010101FB
+:1040B00001010101010101020202020202010101EA
+:1040C00001010101010101020202020202020202D7
+:1040D00002020101010202020202020202020202C3
+:1040E00002020202020202020202020202020202B0
+:1040F00002020202020202020202020202020202A0
+:10410000020202020202020202020202020202028F
+:10411000020202020202020202020202020202027F
+:10412000020202020202020202020202020202026F
+:10413000020202020202020202020202020202025F
+:10414000020202020202020202020202020202024F
+:10415000020202020202020202020202020202023F
+:10416000020202020202020202020202020202022F
+:10417000020202020202020202020202020202021F
+:10418000020202020202020202020202020202020F
+:104190000202020202020202020202020202010101
+:1041A0000101010101010001010101010101010100
+:1041B00001010101010101020202020201010101EA
+:1041C00001010101010101020202020202020201D7
+:1041D00001010101010101020202020202020202C6
+:1041E00002020202020202020202020202020202AF
+:1041F000020202020202020202020202020202029F
+:10420000020202020202020202020202020202028E
+:10421000020202020202020202020202020202027E
+:10422000020202020202020202020202020202026E
+:10423000020202020202020202020202020202025E
+:10424000020202020202020202020202020202024E
+:10425000020202020202020202020202020202023E
+:10426000020202020202020202020202020202022E
+:10427000020202020202020202020202020202021E
+:10428000020202020202020202020202020202020E
+:104290000202020202020202020202010101010103
+:1042A00001010101010101010101010101010101FE
+:1042B00001010101010101020202010101010101EB
+:1042C00001010101010101020202020202020101D7
+:1042D00001010101010101020202020202020202C5
+:1042E00002020202020202020202020202020202AE
+:1042F000020202020202020202020202020202029E
+:10430000020202020202020202020202020202028D
+:10431000020202020202020202020202020202027D
+:10432000020202020202020202020202020202026D
+:10433000020202020202020202020202020202025D
+:10434000020202020202020202020202020202024D
+:10435000020202020202020202020202020202023D
+:10436000020202020202020202020202020202022D
+:10437000020202020202020202020202020202021D
+:10438000020202020202020202020202020202020D
+:104390000202020202020202020101010101010104
+:1043A00001010101010101010101010101010101FD
+:1043B00001010101010101010101010101010101ED
+:1043C00001010101010101020202020202010101D7
+:1043D00001010101010101020202020202020202C4
+:1043E00002020101010201020202020202020202B1
+:1043F000020202020202020202020202020202029D
+:10440000020202020202020202020202020202028C
+:10441000020202020202020202020202020202027C
+:10442000020202020202020202020202020202026C
+:10443000020202020202020202020202020202025C
+:10444000020202020202020202020202020202024C
+:10445000020202020202020202020202020202023C
+:10446000020202020202020202020202020202022C
+:10447000020202020202020202020202020202021C
+:10448000020202020202020202020202020202020C
+:104490000202020202020201010101010101010105
+:1044A00001010101010101010101010101010101FC
+:1044B00001010101010101010101010101010101EC
+:1044C00001010101010101020202020201010101D7
+:1044D00001010101010101020202020202020201C4
+:1044E00001010101010101020202020202020202B3
+:1044F000020202020202020202020202020202029C
+:10450000020202020202020202020202020202028B
+:10451000020202020202020202020202020202027B
+:10452000020202020202020202020202020202026B
+:10453000020202020202020202020202020202025B
+:10454000020202020202020202020202020202024B
+:10455000020202020202020202020202020202023B
+:10456000020202020202020202020202020202022B
+:10457000020202020202020202020202020202021B
+:10458000020202020202020202020202020202020B
+:104590000202020202020201010101010101010104
+:1045A00001010101010101010101010101010101FB
+:1045B00001010101010101010101010101010101EB
+:1045C00001010101010101020101010101010101DA
+:1045D00001010101010101020202020201010101C6
+:1045E00001010101010101020202020202020202B2
+:1045F000020202020202020202020202020202029B
+:10460000020202020202020202020202020202028A
+:10461000020202020202020202020202020202027A
+:10462000020202020202020202020202020202026A
+:10463000020202020202020202020202020202025A
+:10464000020202020202020202020202020202024A
+:10465000020202020202020202020202020202023A
+:10466000020202020202020202020202020202022A
+:10467000020202020202020202020202020202021A
+:10468000020202020202020202020202020202020A
+:104690000202020202020201010101010101010103
+:1046A00001010101010101010101010101010101FA
+:1046B00001010101010101010101010101010101EA
+:1046C00001010101010101010101010101010101DA
+:1046D00001010101010101020202020101010101C6
+:1046E00001010101010101020202020202020202B1
+:1046F000020202020202020202020202020202029A
+:104700000202020202020202020202020202020289
+:104710000202020202020202020202020202020279
+:104720000202020202020202020202020202020269
+:104730000202020202020202020202020202020259
+:104740000202020202020202020202020202020249
+:104750000202020202020202020202020202020239
+:104760000202020202020202020202020202020229
+:104770000202020202020202020202020202020219
+:104780000202020202020202020202020202020209
+:104790000202020202020201010101010101010102
+:1047A00001010101010101010101010101010101F9
+:1047B00001010101010101010101010101010101E9
+:1047C00001010101010101010101010101010101D9
+:1047D00001010101010101010202010101010101C7
+:1047E00001010101010101020202020202020202B0
+:1047F0000202020202020202020202020202020299
+:104800000202020202020202020202020202020288
+:104810000202020202020202020202020202020278
+:104820000202020202020202020202020202020268
+:104830000202020202020202020202020202020258
+:104840000202020202020202020202020202020248
+:104850000202020202020202020202020202020238
+:104860000202020202020202020202020202020228
+:104870000202020202020202020202020202020218
+:104880000202020202020202020202020202020208
+:104890000202020202020201010101010101010101
+:1048A00001010101010101010101010101010101F8
+:1048B00001010101010101010101010101010101E8
+:1048C00001010101010101010101010101010101D8
+:1048D00001010101010101010101010101010101C8
+:1048E00001010101010101020202020202020202AF
+:1048F000010101010102020202020202020202029D
+:104900000202020202020202020202020202020287
+:104910000202020202020202020202020202020277
+:104920000202020202020202020202020202020267
+:104930000202020202020202020202020202020257
+:104940000202020202020202020202020202020247
+:104950000202020202020202020202020202020237
+:104960000202020202020202020202020202020227
+:104970000202020202020202020202020202020217
+:104980000202020202020202020202020202020207
+:104990000202020202020201010101010101010100
+:1049A00001010101010101010101010101010101F7
+:1049B00001010101010101010101010101010101E7
+:1049C00001010101010101010101010101010101D7
+:1049D00001010101010101010101010101010101C7
+:1049E00001010101010101020202020101010101B3
+:1049F000010101010101010202020202020202029E
+:104A00000202020202020202020202020202020286
+:104A10000202020202020202020202020202020276
+:104A20000202020202020202020202020202020266
+:104A30000202020202020202020202020202020256
+:104A40000202020202020202020202020202020246
+:104A50000202020202020202020202020202020236
+:104A60000202020202020202020202020202020226
+:104A70000202020202020202020202020202020216
+:104A80000202020202020202020202020202020206
+:104A900002020202020202010101010101010101FF
+:104AA00001010101010101010101010101010101F6
+:104AB00001010101010101010101010101010101E6
+:104AC00001010101010101010101010101010101D6
+:104AD00001010101010101010101010101010101C6
+:104AE00001010101010101020202020101010101B2
+:104AF00001010101010101020202020202010101A0
+:104B00000202010101020202020202020202020288
+:104B1000010101010102020202020202020202027A
+:104B20000202020202020202020202020202020265
+:104B30000202020202020202020202020202020255
+:104B40000202020202020202020202020202020245
+:104B50000202020202020202020202020202020235
+:104B60000202020202020202020202020202020225
+:104B70000202020202020202020202020202020215
+:104B80000202020202020202020202020202020205
+:104B900002020202020202010101010101010101FE
+:104BA00001010101010101010101010101010101F5
+:104BB00001010101010101010101010101010101E5
+:104BC00001010101010101010101010101010101D5
+:104BD00001010101010101010101010101010101C5
+:104BE00001010101010101020201010101010101B3
+:104BF00001010101010101020202020201010101A0
+:104C0000010101010101010202020202020101018E
+:104C1000010101010101010202020202020202027B
+:104C20000202020202020202020202020202020264
+:104C30000202020202020202020202020202020254
+:104C40000202020202020202020202020202020244
+:104C50000202020202020202020202020202020234
+:104C60000202020202020202020202020202020224
+:104C70000202020202020202020202020202020214
+:104C80000202020202020202020202020202020204
+:104C900002020202020202010101010101010101FD
+:104CA00001010101010101010101010101010101F4
+:104CB00001010101010101010101010101010101E4
+:104CC00001010101010101010101010101010101D4
+:104CD00001010101010101010101010101010101C4
+:104CE00001010101010101010101010101010101B4
+:104CF00001010101010101020202010201010101A0
+:104D0000010101010101010202020202010101018E
+:104D1000010101010101010202020202020202027A
+:104D20000202020202020202020202020202020263
+:104D30000202020202020202020202020202020253
+:104D40000202020202020202020202020202020243
+:104D50000202020202020202020202020202020233
+:104D60000202020202020202020202020202020223
+:104D70000202020202020202020202020202020213
+:104D80000202020202020202020202020202020203
+:104D900002020202020202010101010101010101FC
+:104DA00001010101010101010101010101010101F3
+:104DB00001010101010101010101010101010101E3
+:104DC00001010101010101010101010101010101D3
+:104DD00001010101010101010101010101010101C3
+:104DE00001010101010101010101010101010101B3
+:104DF00001010101010101010101010101010101A3
+:104E00000101010101010102020101010101010190
+:104E10000101010101010102020202020202020279
+:104E20000202020202020202020202020202020262
+:104E30000202020202020202020202020202020252
+:104E40000202020202020202020202020202020242
+:104E50000202020202020202020202020202020232
+:104E60000202020202020202020202020202020222
+:104E70000202020202020202020202020202020212
+:104E80000202020202020202020202020202020202
+:104E900002020202020202010101010101010101FB
+:104EA00001010101010101010101010101010101F2
+:104EB00001010101010101010101010101010101E2
+:104EC00001010101010101010101010101010101D2
+:104ED00001010101010101010101010101010101C2
+:104EE00001010101010101010101010101010101B2
+:104EF00001010101010101010101010101010101A2
+:104F00000101010101010101010101010101010191
+:104F10000101010101010102020202020202020278
+:104F20000202020202020202020202020202020261
+:104F30000202020202020202020202020202020251
+:104F40000202020202020202020202020202020241
+:104F50000202020202020202020202020202020231
+:104F60000202020202020202020202020202020221
+:104F70000202020202020202020202020202020211
+:104F80000202020202020202020202020202020201
+:104F900002020202020202010101010101010101FA
+:104FA00001010101010101010101010101010101F1
+:104FB00001010101010101010101010101010101E1
+:104FC00001010101010101010101010101010101D1
+:104FD00001010101010101010101010101010101C1
+:104FE00001010101010101010101010101010101B1
+:104FF00001010101010101010101010101010101A1
+:105000000101010101010101010101010101010190
+:105010000101010101010102020202020202020277
+:105020000202020202020202020202020202020260
+:105030000202020202020202020202020202020250
+:105040000202020202020202020202020202020240
+:105050000202020202020202020202020202020230
+:105060000202020202020202020202020202020220
+:105070000202020202020202020202020202020210
+:105080000202020202020202020202020202020200
+:1050900002020202020202010101010101010101F9
+:1050A00001010101010101010101010101010101F0
+:1050B00001010101010101010101010101010101E0
+:1050C00001010101010101010101010101010101D0
+:1050D00001010101010101010101010101010101C0
+:1050E00001010101010101010101010101010101B0
+:1050F00001010101010101010101010101010101A0
+:10510000010101010101010101010101010101018F
+:105110000101010101010102020202020202020177
+:105120000101010101010202020202020202020166
+:105130000101010101010202020202020202020255
+:10514000020202020202020202020202020202023F
+:10515000020202020202020202020202020202022F
+:10516000020202020202020202020202020202021F
+:10517000020202020202020202020202020202020F
+:1051800002020202020202020202020202020202FF
+:1051900002020202020202010101010101010101F8
+:1051A00001010101010101010101010101010101EF
+:1051B00001010101010101010101010101010101DF
+:1051C00001010101010101010101010101010101CF
+:1051D00001010101010101010101010101010101BF
+:1051E00001010101010101010101010101010101AF
+:1051F000010101010101010101010101010101019F
+:10520000010101010101010101010101010101018E
+:10521000010101010101010202020201010101017A
+:10522000010101010101010202020101010101016B
+:105230000101010101010102020202020202020255
+:10524000020202020202020202020202020202023E
+:10525000020202020202020202020202020202022E
+:10526000020202020202020202020202020202021E
+:10527000020202020202020202020202020202020E
+:1052800002020202020202020202020202020202FE
+:1052900002020202020202010101010101010101F7
+:1052A00001010101010101010101010101010101EE
+:1052B00001010101010101010101010101010101DE
+:1052C00001010101010101010101010101010101CE
+:1052D00001010101010101010101010101010101BE
+:1052E00001010101010101010101010101010101AE
+:1052F000010101010101010101010101010101019E
+:10530000010101010101010101010101010101018D
+:10531000010101010101010201010101010101017C
+:10532000010101010101010101010101010101016D
+:105330000101010101010102020202020202020254
+:10534000020202020202020202020202020202023D
+:10535000020202020202020202020202020202022D
+:10536000020202020202020202020202020202021D
+:10537000020202020202020202020202020202020D
+:1053800002020202020202020202020202020202FD
+:1053900002020202020202010101010101010101F6
+:1053A00001010101010101010101010101010101ED
+:1053B00001010101010101010101010101010101DD
+:1053C00001010101010101010101010101010101CD
+:1053D00001010101010101010101010101010101BD
+:1053E00001010101010101010101010101010101AD
+:1053F000010101010101010101010101010101019D
+:10540000010101010101010101010101010101018C
+:10541000010101010101010101010101010101017C
+:10542000010101010101010101010101010101016C
+:105430000101010101010102020202020202020253
+:10544000010101020202020202020202020202023F
+:10545000020202020202020202020202020202022C
+:10546000020202020202020202020202020202021C
+:10547000020202020202020202020202020202020C
+:1054800002020202020202020202020202020202FC
+:1054900002020202020202010101010101010101F5
+:1054A00001010101010101010101010101010101EC
+:1054B00001010101010101010101010101010101DC
+:1054C00001010101010101010101010101010101CC
+:1054D00001010101010101010101010101010101BC
+:1054E00001010101010101010101010101010101AC
+:1054F000010101010101010101010101010101019C
+:10550000010101010101010101010101010101018B
+:10551000010101010101010101010101010101017B
+:10552000010101010101010101010101010101016B
+:105530000101010101010102020202020101010156
+:105540000101010101010102020202020202020242
+:10555000020202020202020202020202020202012C
+:10556000010202020202010202020202020202021D
+:10557000020202020202020202020202020202020B
+:1055800002020202020202020202020202020202FB
+:1055900002020202020202010101010101010101F4
+:1055A00001010101010101010101010101010101EB
+:1055B00001010101010101010101010101010101DB
+:1055C00001010101010101010101010101010101CB
+:1055D00001010101010101010101010101010101BB
+:1055E00001010101010101010101010101010101AB
+:1055F000010101010101010101010101010101019B
+:10560000010101010101010101010101010101018A
+:10561000010101010101010101010101010101017A
+:10562000010101010101010101010101010101016A
+:105630000101010101010102010101010101010159
+:10564000010101010101010101010101010101014A
+:105650000101010101020102020202020201010133
+:10566000010201010102010202020202020202021F
+:10567000020202020202020202020202020202020A
+:1056800002020202020202020202020202020202FA
+:1056900002020202020202010101010101010101F3
+:1056A00001010101010101010101010101010101EA
+:1056B00001010101010101010101010101010101DA
+:1056C00001010101010101010101010101010101CA
+:1056D00001010101010101010101010101010101BA
+:1056E00001010101010101010101010101010101AA
+:1056F000010101010101010101010101010101019A
+:105700000101010101010101010101010101010189
+:105710000101010101010101010101010101010179
+:105720000101010101010101010101010101010169
+:105730000101010101010101010101010101010159
+:105740000101010101010101010101010101010149
+:105750000101010101010101010101010101010139
+:10576000010101010102010202020202020202021F
+:10577000010101020202010202020202020202020D
+:1057800002020202020202020202020202020202F9
+:1057900002020202020202010101010101010101F2
+:1057A00001010101010101010101010101010101E9
+:1057B00001010101010101010101010101010101D9
+:1057C00001010101010101010101010101010101C9
+:1057D00001010101010101010101010101010101B9
+:1057E00001010101010101010101010101010101A9
+:1057F0000101010101010101010101010101010199
+:105800000101010101010101010101010101010188
+:105810000101010101010101010101010101010178
+:105820000101010101010101010101010101010168
+:105830000101010101010101010101010101010158
+:105840000101010101010101010101010101010148
+:105850000101010101010101010101010101010138
+:105860000101010101010102020202020201010221
+:10587000010101010101010202020202020202020F
+:1058800002020202020202020202020202020202F8
+:1058900002020202020202010101010101010101F1
+:1058A00001010101010101010101010101010101E8
+:1058B00001010101010101010101010101010101D8
+:1058C00001010101010101010101010101010101C8
+:1058D00001010101010101010101010101010101B8
+:1058E00001010101010101010101010101010101A8
+:1058F0000101010101010101010101010101010198
+:105900000101010101010101010101010101010187
+:105910000101010101010101010101010101010177
+:105920000101010101010101010101010101010167
+:105930000101010101010101010101010101010157
+:105940000101010101010101010101010101010147
+:105950000101010101010101010101010101010137
+:105960000101010101010101010101010101010127
+:10597000010101010101010202020202020202020E
+:105980000201010101020202020201010101010101
+:1059900001010101010202010101010101010101F5
+:1059A00001010101010101010101010101010101E7
+:1059B00001010101010101010101010101010101D7
+:1059C00001010101010101010101010101010101C7
+:1059D00001010101010101010101010101010101B7
+:1059E00001010101010101010101010101010101A7
+:1059F0000101010101010101010101010101010197
+:105A00000101010101010101010101010101010186
+:105A10000101010101010101010101010101010176
+:105A20000101010101010101010101010101010166
+:105A30000101010101010101010101010101010156
+:105A40000101010101010101010101010101010146
+:105A50000101010101010101010101010101010136
+:105A60000101010101010101010101010101010126
+:105A70000101010101010102010101010101010115
+:105A80000101010101010100010101010101010107
+:105A900001010101010101010101010101010101F6
+:105AA00001010101010101010101010101010101E6
+:105AB00001010101010101010101010101010101D6
+:105AC00001010101010101010101010101010101C6
+:105AD00001010101010101010101010101010101B6
+:105AE00001010101010101010101010101010101A6
+:105AF0000101010101010101010101010101010196
+:105B00000101010101010101010101010101010185
+:105B10000101010101010101010101010101010175
+:105B20000101010101010101010101010101010165
+:105B30000101010101010101010101010101010155
+:105B40000101010101010101010101010101010145
+:105B50000101010101010101010101010101010135
+:105B60000101010101010101010101010101010125
+:105B70000101010101010101010101010101010115
+:105B8000010101010101010000000000000000000E
+:105B900000000000000000010101010101010101FC
+:105BA00001010101010101010101010101010101E5
+:105BB00001010101010101010101010101010101D5
+:105BC00001010101010101010101010101010101C5
+:105BD00001010101010101010101010101010101B5
+:105BE00001010101010101010101010101010101A5
+:105BF0000101010101010101010101010101010195
+:105C00000101010101010101010101010101010184
+:105C10000101010101010101010101010101010174
+:105C20000101010101010101010101010101010164
+:105C30000101010101010101010101010101010154
+:105C40000101010101010101010101010101010144
+:105C50000101010101010101010101010101010134
+:105C60000101010101010101010101010101010124
+:105C70000101010101010101010101010101010114
+:105C8000010101010101010000000000000000000D
+:105C900000000000000000010101010101010101FB
+:105CA00001010101010101010101010101010101E4
+:105CB00001010101010101010101010101010101D4
+:105CC00001010101010101010101010101010101C4
+:105CD00001010101010101010101010101010101B4
+:105CE00001010101010101010101010101010101A4
+:105CF0000101010101010101010101010101010194
+:105D00000101010101010101010101010101010183
+:105D10000101010101010101010101010101010173
+:105D20000101010101010101010101010101010163
+:105D30000101010101010101010101010101010153
+:105D40000101010101010101010101010101010143
+:105D50000101010101010101010101010101010133
+:105D60000101010101010101010101010101010123
+:105D70000101010101010101010101010101010113
+:105D8000010101010101010000000000000000000C
+:105D900000000000000000010101010101010101FA
+:105DA00001010101010101010101010101010101E3
+:105DB00001010101010101010101010101010101D3
+:105DC00001010101010101010101010101010101C3
+:105DD00001010101010101010101010101010101B3
+:105DE00001010101010101010101010101010101A3
+:105DF0000101010101010101010101010101010193
+:105E00000101010101010101010101010101010182
+:105E10000101010101010101010101010101010172
+:105E20000101010101010101010101010101010162
+:105E30000101010101010101010101010101010152
+:105E40000101010101010101010101010101010142
+:105E50000101010101010101010101010101010132
+:105E60000101010101010101010101010101010122
+:105E70000101010101010101010101010101010112
+:105E8000010101010101010000000000000000000B
+:105E900000000000000000010101010101010101F9
+:105EA00001010101010101010101010101010101E2
+:105EB00001010101010101010101010101010101D2
+:105EC00001010101010101010101010101010101C2
+:105ED00001010101010101010101010101010101B2
+:105EE00001010101010101010101010101010101A2
+:105EF0000101010101010101010101010101010192
+:105F00000101010101010101010101010101010181
+:105F10000101010101010101010101010101010171
+:105F20000101010101010101010101010101010161
+:105F30000101010101010101010101010101010151
+:105F40000101010101010101010101010101010141
+:105F50000101010101010101010101010101010131
+:105F60000101010101010101010101010101010121
+:105F70000101010101010101010101010101010111
+:105F8000010101010101010000000000000000000A
+:105F90000000000000000000000000000000000001
+:105FA00000000000000000020202020202020202DF
+:105FB00002020202020202020202020202020202C1
+:105FC00002020202020202020202020202020202B1
+:105FD00002020202020202020202020202020202A1
+:105FE0000202020202020202020202020202020291
+:105FF0000202020202020202020202020202020281
+:106000000202020202020202020202020202020270
+:106010000202020202020200000000000000000072
+:10602000000000000000000202020202020202025E
+:106030000202020202020200000000000000000052
+:106040000000000000000000000000000000000050
+:10605000000000000000000202020202020202022E
+:106060000202020202020202020202020202020210
+:106070000202020202020202020202020202020200
+:106080000202020202020200000000000000000002
+:106090000000000000000000000000000000000000
+:1060A00000000000000000020202020202020202DE
+:1060B00002020202020202020202020202020202C0
+:1060C00002020202020202020202020202020202B0
+:1060D00002020202020202020202020202020202A0
+:1060E00002020202020202000000000000000000A2
+:1060F00000000000000000000000000000000000A0
+:10610000000000000000000202020202020202027D
+:106110000202020202020200000000000000000071
+:10612000000000000000000000000000000000006F
+:10613000000000000000000000000000000000005F
+:10614000000000000000000000000000000000004F
+:10615000000000000000000000000000000000003F
+:10616000000000000000000000000000000000002F
+:10617000000000000000000202020202020202020D
+:106180000202020202020200000000000000000001
+:1061900000000000000000000000000000000000FF
+:1061A00000000000000000000000000000000000EF
+:1061B00000000000000000000000000000000000DF
+:1061C00000000000000000000000000000000000CF
+:1061D00000000000000000000000000000000000BF
+:1061E00000000000000000000000000000000000AF
+:1061F000000000000000000000000000000000009F
+:10620000000000000000000000000000000000008E
+:10621000000000000000000000000000000000007E
+:10622000000000000000000000000000000000006E
+:10623000000000000000000000000000000000005E
+:10624000000000000000000000000000000000004E
+:10625000000000000000000000000000000000003E
+:10626000000000000000000000000000000000002E
+:10627000000000000000000000000000000000001E
+:10628000000000000000000000000000000000000E
+:10629000000000000000004A0000000000000000B4
+:1062A00000000000000000000000000000000000EE
+:1062B00000000000000000000000000000000000DE
+:1062C00000000000000000000000000000000000CE
+:1062D00000000000000000000000000000000000BE
+:1062E00000000000000000000000000000000000AE
+:1062F000000000000000000000000000000000009E
+:10630000000000000000000000000000000000008D
+:10631000000000000000000000000100000000007C
+:10632000000000000000000000000000000000006D
+:10633000000000000000000000000000000000005D
+:10634000000000000000000000000000000000004D
+:10635000000000000000000000000000000000003D
+:10636000000000000000000000000000000000002D
+:10637000000000000000000000000000000000001D
+:10638000000000000000000000000000000000000D
+:1063900000000000000000000000000000000000FD
+:1063A00000000000000000000000000000000000ED
+:1063B00000000000000000000000000000000000DD
+:1063C00000000000000000000000000000000000CD
+:1063D00000000000000000000000000000000000BD
+:1063E00000000000000000000000000000000000AD
+:1063F000000000000000000000000000000000009D
+:10640000000000000000000000000000000000008C
+:10641000000000000000000000000100000000007B
+:10642000000000000000000000000000000000006C
+:10643000000000000000000000000000000000005C
+:10644000000000000000000000000000000000004C
+:10645000000000000000000000000000000000003C
+:10646000000000000000000000000000000000002C
+:10647000000000000000000000000000000000001C
+:10648000000000000000000000000000000000000C
+:1064900000000000000000000000000000000000FC
+:1064A00000000000000000000000000000000000EC
+:1064B00000000000000000000000000000000000DC
+:1064C00000000000000000000000000000000000CC
+:1064D00000000000000000000000000000000000BC
+:1064E00000000000000000000000000000000000AC
+:1064F000000000000000000000000000000000009C
+:10650000000000000000000000000000000000008B
+:106510000000000000000000000101010101000076
+:10652000000000000000000000000000000000006B
+:10653000000000000000000000000000000000005B
+:10654000000000000000000000000000000000004B
+:10655000000000000000000000000000000000003B
+:10656000000000000000000000000000000000002B
+:10657000000000000000000000000000000000001B
+:10658000000000000000000000000000000000000B
+:1065900000000000000000000000000000000000FB
+:1065A00000000000000001000000000000000000EA
+:1065B00000000000000000000000000000000000DB
+:1065C00000000000000000000000000000000000CB
+:1065D00000000000000000000000000000000000BB
+:1065E00000000000000000000000000000000000AB
+:1065F000000000000000000000000000000000009B
+:10660000000000000000000000000000000000008A
+:106610000000000000000001010101010101000172
+:106620000100000000000000000000000001000068
+:10663000000000000000000000000000000000005A
+:10664000000000000000000000000000000000004A
+:10665000000000000000000000000000000000003A
+:10666000000000000000000000000000000000002A
+:10667000000000000000000000000000000000001A
+:10668000000000000000000000000000000000000A
+:1066900000000000000000000000000000000000FA
+:1066A00000000000010001010100000000000000E6
+:1066B00000000000000000000000000000000000DA
+:1066C00000000000000000000000000000000000CA
+:1066D00000000000000000000000000000000000BA
+:1066E00000000000000000000000000000000000AA
+:1066F0000000000000010000000000000000000099
+:106700000000000000000000000000000000000089
+:106710000000000000000101010101010101000170
+:106720000100000000000000000000000001000067
+:106730000000000000000000000000000000000059
+:106740000000000000000000000000000000000049
+:106750000000000000000000000000000000000039
+:106760000000000000000000000000000000000029
+:106770000000000000000000000000000000000019
+:106780000000000000000000000000000000000009
+:1067900000000000000000000000000000000001F8
+:1067A00001010101010101010101010001010000DC
+:1067B00000000000000000000000000000000001D8
+:1067C00001000000000101000001010000000000C4
+:1067D00000000000000000000000000000000000B9
+:1067E00000010000000000000000000000000000A8
+:1067F0000000000000010000000000000000000098
+:106800000000000000000000000000000000000088
+:10681000000000000000010101010101010100016F
+:106820000100000000000000000000000001000066
+:106830000000000000010000000000000000000057
+:106840000000000000000000000000000000000048
+:106850000000000000000000000000000000000038
+:106860000000000000000000000000000000010027
+:106870000000000000000000000001000100000016
+:106880000000000000000000000000000000000008
+:1068900000000000000000000000000000000001F7
+:1068A00001010101010101010101010001010000DB
+:1068B00000000000000000000000000000000001D7
+:1068C00001000000010101000101010000000000C1
+:1068D00000000000000000000000000000000000B8
+:1068E00000010000000000000000000000000000A7
+:1068F0000000000000010100000000000101000094
+:106900000000000000000000000000000000000087
+:10691000000000000000010101010101010100016E
+:106920000100000000000000000000000001000065
+:106930000000000000010000000000000000000056
+:106940000000000000000000000000000000000047
+:106950000000000000000000000000000000000037
+:106960000000000000000000000000000000010026
+:106970000000000000000000010001000100000014
+:106980000000000000000000000000000000000007
+:1069900000000000000000000000000000000001F6
+:1069A00001010101010101010101010001010001D9
+:1069B00000010100000000000000000000000001D4
+:1069C00001010101010101000101010000000000BD
+:1069D00001010101000000000000000000000000B3
+:1069E00000010100000000000000000000000000A5
+:1069F0000000000000010100000000000101010092
+:106A00000000000000000000000000000000000086
+:106A1000000000000000010101010101010100016D
+:106A20000101010000000000000000000001000062
+:106A30000000000000010000000000000000000055
+:106A40000000000000000000000000000000000046
+:106A50000000000000000000000000000100000035
+:106A60000000000000000000000000000000010025
+:106A70000000000000000000010101000100000012
+:106A80000000000000000000000000000000000006
+:106A900000000000000000000000000000000001F5
+:106AA00001010101010101010101010001010001D8
+:106AB00000010100000000000000000000000001D3
+:106AC00001010101010101010101010000000000BB
+:106AD00001010101010000000000000000000000B1
+:106AE00000010100000000000000000000000001A3
+:106AF000010100000001010000010100010101008D
+:106B00000000000000000000000000000000000184
+:106B1000010100000000010101010101010100016A
+:106B20000101010001000000000000000001000060
+:106B30000000000000010000000000000000000054
+:106B40000000000000000000000000000000000045
+:106B50000000000000000001010000000100000032
+:106B60000000000000000000000000000000010024
+:106B70000000000000000001010101000100000010
+:106B80000000000000000000000000000000000005
+:106B900000000000000000000000000000000001F4
+:106BA00001010101010101010101010101010001D6
+:106BB00001010101000000000000010000000001CF
+:106BC00001010101010101010101010000010000B9
+:106BD00001010101010100000000000000000000AF
+:106BE00000010100000100000000000000000001A1
+:106BF000010100000001010101010100010101008A
+:106C00000000000000000000000000000000000183
+:106C10000101000000000101010101010101000169
+:106C2000010101000101010000000000000100005D
+:106C30000000000000010100000000000000000052
+:106C40000000000000000000000000000000000044
+:106C5000000000000000000101010100010000002F
+:106C60000000000000000000000000000000010023
+:106C7000000000000000000101010100010000000F
+:106C80000000000000000000000000000000000004
+:106C900000000000000000000000000000000001F3
+:106CA00001010101010101010101010101010001D5
+:106CB00001010101010000000000010000000101CC
+:106CC00001010101010101010101010000010000B8
+:106CD00001010101010100000000000000000000AE
+:106CE000000101000101000000000000000000019F
+:106CF0000101000000010101010101000101010089
+:106D00000000000000000000000000000000000182
+:106D10000101010000000101010101010101000167
+:106D2000010101000101010000000000000100005C
+:106D30000000000000010100000000000000000051
+:106D40000000000000000000000000000000000043
+:106D5000000000000000000101010100010000002E
+:106D60000000000000000000000000000000010022
+:106D7000000000000000000101010100010001000D
+:106D80000000000000000000000000000000000003
+:106D900000000000000000000000000000000001F2
+:106DA00001010101010101010101010101010001D4
+:106DB00001010101010101000000010000000101C9
+:106DC00001010101010101010101010100010000B6
+:106DD00001010101010101000000000001000000AB
+:106DE000000101010101000000000000000000019D
+:106DF0000101000000010101010101000101010088
+:106E00000000000000000000000000000000000181
+:106E10000101010000000101010101010101000166
+:106E2000010101010101010000000000000100005A
+:106E3000000000000001010000000000010100004E
+:106E40000000000000000000000000000000000042
+:106E5000000000000000000101010100010100002C
+:106E60000000000000000000000000000000010021
+:106E7000000000000000000101010100010001000C
+:106E80000000000000010000000000000000000001
+:106E900000000000000000000000000000000001F1
+:106EA00001010101010101010101010101010001D3
+:106EB00001010101010101000000010000000101C8
+:106EC00001010101010101010101010100010100B4
+:106ED00001010101010101000000000001000000AA
+:106EE000000101010101000000000000000000019C
+:106EF0000101010000010101010101000101010086
+:106F00000000000000000000000000000000000180
+:106F10000101010000000101010101010101000165
+:106F20000101010101010100000000000001000059
+:106F3000000000000001010101000000010100004B
+:106F40000000000000000000000000000000000041
+:106F5000000000000000000101010100010100002B
+:106F60000000000000000000000000000000010020
+:106F7000000000000000000101010100010001000B
+:106F80000000000000010000000000000000000000
+:106F900000000000000000000000000000000001F0
+:106FA00001010101010101010101010101010001D2
+:106FB00001010101010101000000010000000101C7
+:106FC00001010101010101010101010101010101B1
+:106FD00001010101010101000000000001000001A8
+:106FE000010101010101000000000000000000019A
+:106FF0000101010000010101010101000101010184
+:10700000000000000000000000000000000100017E
+:107010000101010001000101010101010101000163
+:107020000101010101010100000000000001000058
+:10703000000000000001010101000000010100004A
+:107040000000000000000000000000000000000040
+:107050000000000000000001010101010101000029
+:10706000000000000000000000000000000001001F
+:10707000000000000000000101010100010001000A
+:1070800000000000000101000000000000000000FE
+:1070900000000000000000000000000000000001EF
+:1070A00001010101010101010101010101010001D1
+:1070B00001010101010101010000010000000101C5
+:1070C00001010101010101010101010101010101B0
+:1070D00001010101010101010100000001000001A5
+:1070E0000101010101010000000000000000000199
+:1070F0000101010000010101010101010101010182
+:10710000000000000000000000000000000100017D
+:107110000101010101010101010101010101000160
+:107120000101010101010100000000000001000057
+:107130000000000000010101010000000101000049
+:10714000000000000000000000000000000000003F
+:107150000000000000000001010101010101010126
+:10716000010100000000000000000000000001001C
+:107170000000000000000001010101000100010009
+:1071800000000000000101010100000000000000FB
+:1071900000000000000000000000000000000002ED
+:1071A00002010101010101010101010101010001CF
+:1071B00001010101010101010000010000000102C3
+:1071C00002010101010101010101010101010101AE
+:1071D00001010101010101010101010001010001A1
+:1071E0000101010101010000000000000000000198
+:1071F0000101010000010101010101010101010181
+:10720000000000000000000000000001000100017B
+:10721000010101010101010101010101010100015F
+:107220000101010101010100000000000101000055
+:107230000000000000010101010000000101000048
+:10724000000000000000000000000000000000013D
+:107250000101000000000001010101010101010123
+:10726000010100000000000000000000000001001B
+:107270000000000000000001010101000100010008
+:1072800000000000000101010100000000000000FA
+:1072900000000000000000000000000000000002EC
+:1072A00002020101010101010101010101010001CD
+:1072B00001010101010101010100010000000102C1
+:1072C00002010101010101010101010101010101AD
+:1072D00001010101010101010101010001010001A0
+:1072E0000101010101010000000000000000000197
+:1072F000010101010001010101010101010101017F
+:107300000000000000000000000000010001010179
+:10731000010101010101010101010101010100015E
+:107320000101010101010100000000000101000054
+:107330000000000000010101010000000101010046
+:10734000000000000000000000000000000000013C
+:107350000101000000000001010101010101010122
+:107360000101010000000000000000000100010018
+:107370000000000000000001010101000100010007
+:1073800000000000000101010100000000000000F9
+:1073900000000000000000000000000000000002EB
+:1073A00002020202010101010101010101010002C9
+:1073B00001020201010101010100010000000102BE
+:1073C00002020101010101010101010101010101AB
+:1073D000020101010101010101010101010100019D
+:1073E0000102010101010100000000000000000194
+:1073F000010101010101010101010101010101017D
+:107400000000010000000000000000010001010177
+:10741000010101010101010101010101010100015D
+:107420000101010101010100000000000101000152
+:107430000100000000010101010000000101010044
+:10744000000000000000000000000000000000013B
+:107450000101000000000001010101010101010121
+:107460000101010001000000000000000100010016
+:107470000000000000000001010101000100010006
+:1074800000000000000101010101010000000000F6
+:1074900000000000000000000000000000000002EA
+:1074A00002020202010102010101010101010002C7
+:1074B00002020202010101010100010000000102BB
+:1074C00002020202010102010101010101010101A7
+:1074D000020202010101010101010101010100019A
+:1074E0000102010101010100000000000000000193
+:1074F000010101010101010101010101010101017C
+:107500000000010000000000000000010001010176
+:10751000010101010101010101010101010100015C
+:10752000010101010101010101000000010101014E
+:107530000100000000010101010000000101010043
+:10754000000000000000000000000000000000013A
+:107550000101000000000001010101010101010120
+:107560000101010001010000000001000100010013
+:107570000000000000000001010101000100010005
+:1075800000000000000101010101010000000000F5
+:1075900000000000000000000000000000000002E9
+:1075A00002020202020102020101010101010002C4
+:1075B00002020202010101010101010000000102B9
+:1075C00002020202010202010101010101010101A5
+:1075D0000202020201010101010101010101000198
+:1075E0000102020101010100000000000100000190
+:1075F000010101010101010101010101010101017B
+:107600000000010000000000000001010101010173
+:10761000010101010101010101010101010100025A
+:10762000020101010101010101000000010101014C
+:107630000101000000010101010000000101010041
+:107640000000000000010000000000000100000137
+:10765000010101000000000101010101010101011E
+:107660000101010001010000010001000100010011
+:107670000000000000000001010101000100010103
+:1076800001010000000101010101010000000000F2
+:1076900000000000000000000000000000000002E8
+:1076A00002020202020202020201010101010002C1
+:1076B00002020202010101010101010000000102B8
+:1076C00002020202020202020202010101010101A0
+:1076D0000202020201010101010101010101000197
+:1076E000010202010101010001000000010000028D
+:1076F0000201010101010101010101010101010179
+:107700000000010000000000000001010101010172
+:107710000101010101010101010101010101000259
+:10772000020101010101010101000000010101014B
+:10773000010100000101010101000000010101003F
+:107740000000000000010000000000000100000136
+:10775000010101000100000101010101010101011C
+:10776000010101010101010001010100010101000C
+:107770000000000000000001010101000100010102
+:1077800001010000010101010101010000000000F0
+:1077900000000000000000000000000000000002E7
+:1077A00002020202020202020202010101010002BF
+:1077B00002020202020202010101010100000102B3
+:1077C000020202020202020202020201010101029D
+:1077D0000202020202010101010101010101000294
+:1077E0000202020101010100010101000100000289
+:1077F0000202010101010101010101010101010177
+:10780000000001010000000000000101010101026F
+:107810000201010101010101010101010101010256
+:107820000201010101010101010001010101010148
+:10783000010101000101010101010100010101013A
+:107840000000000000010100000000000100000134
+:107850000101010101010001010101010101010119
+:107860000101010101010101010101000101010109
+:107870000000000000000001010101000100010101
+:1078800001010000010101010101010000000000EF
+:1078900000000000000000000000000000000002E6
+:1078A00002020202020202020202020101010002BD
+:1078B00002020202020202010101020100000102B1
+:1078C000020202020202020202020201010101029C
+:1078D0000202020202020101010101010101010291
+:1078E0000202020201010100010101000100000287
+:1078F0000202010101010101010101010101010176
+:10790000000001010000000000000101010101026E
+:107910000202010101010101010101010101010254
+:107920000202010101010101010001010101010146
+:107930000101010001010101010101000101010139
+:107940000000000000010101010000000100000131
+:107950000101010101010001010101010101010118
+:107960000101010101010101010101010101010107
+:1079700000000000010000010101010001000101FF
+:1079800001010000010101010101010000000000EE
+:1079900000000000000000000000000000000002E5
+:1079A00002020202020202020202020101010002BC
+:1079B00002020202020202020101020101000102AE
+:1079C000020202020202020202020201010101029B
+:1079D000020202020202020101010101010101028F
+:1079E0000202020201020100010101000100000285
+:1079F0000202010101020101010101010101010174
+:107A0000000001010001000000000101010101026C
+:107A10000202010101010101010101010101010253
+:107A20000202020101010101010101010101010143
+:107A30000101010101010101010101010101010136
+:107A4000010100000001010101000000010100012D
+:107A50000101010101010001010101010101010117
+:107A60000101010101010101010101010101010106
+:107A700001010100010100010101010001010101F9
+:107A800001010100010101010101010000000000EC
+:107A900000000000010000000000000000000102E2
+:107AA00002020202020202020202020202020002B8
+:107AB00002020202020202020201020101000102AC
+:107AC0000202020202020202020202020101010299
+:107AD000020202020202020201010101010101028D
+:107AE0000202020202020100010101000100000283
+:107AF0000202020101020201010101010101010270
+:107B0000000001010101000000000101010101026A
+:107B1000020202010101020201010101010101024F
+:107B20000202020101010101010101010101010142
+:107B30000101010101010101010101010101010135
+:107B4000010100000001010101000000010101012B
+:107B50000101010101010001010101010101010116
+:107B60000101010101010101010101010101010105
+:107B700001010100010100010101010001010101F8
+:107B800001010100010101010101010000000000EB
+:107B900000000000010100000000000001010102DE
+:107BA00002020202020202020202020202020002B7
+:107BB00002020202020202020201020101010202A9
+:107BC0000202020202020202020202020102010297
+:107BD000020202020202020202010101010101028B
+:107BE0000202020202020100010101000100000282
+:107BF000020202010102020101010101010101026F
+:107C00000101010101010000000001010101010267
+:107C1000020202010101020202020201010101024B
+:107C20000202020101010101010101010101010141
+:107C30000101010101010101010101010101010134
+:107C40000101010000010101010101010101010126
+:107C50000101010101010001010101010101010115
+:107C60000101010101010101010101010101010104
+:107C700001010100010101010101010101010101F5
+:107C800001010101010101010101010001000000E8
+:107C900000000000010100000000000001010102DD
+:107CA00002020202020202020202020202020002B6
+:107CB00002020202020202020202020101010202A7
+:107CC0000202020202020202020202020102010296
+:107CD0000202020202020202020201010101010289
+:107CE0000202020202020101010101000100000280
+:107CF000020202010102020201010101010101026D
+:107D00000101010101010000000001010101010266
+:107D10000202020101010202020202020101010249
+:107D2000020202020101010101010101010101013F
+:107D30000101010101020101010101010101010132
+:107D40000101010001010101010101010101010223
+:107D50000201010101010001010101010101010113
+:107D60000101010101010101010101010101010103
+:107D700001010100010101010101010101010101F4
+:107D800001010101010101010101010001000100E6
+:107D900001010101010101000000010101010102D5
+:107DA00002020202020202020202020202020002B5
+:107DB00002020202020202020202020101010202A6
+:107DC0000202020202020202020202020202020293
+:107DD0000202020202020202020202010201010286
+:107DE000020202020202020101010101010000027D
+:107DF0000202020201020202020201010101010269
+:107E00000101010101010000000001010101010265
+:107E10000202020201010202020202020101010247
+:107E2000020202020201010101010101010101023C
+:107E30000201010101020101010101010101010130
+:107E40000101010001010101010101010101010222
+:107E5000020201010101010101010101010101020F
+:107E60000201010101010101010101010101010101
+:107E700001010101010101010101010101010101F2
+:107E800001010101010101010101010101010100E3
+:107E900001010101010101010100010101010102D2
+:107EA00002020202020202020202020202020002B4
+:107EB00002020202020202020202020201010202A4
+:107EC0000202020202020202020202020202020292
+:107ED0000202020202020202020202020201010284
+:107EE000020202020202020101010101010000027C
+:107EF0000202020201020202020202010101010267
+:107F00000101020101010000000001010101010263
+:107F10000202020201010202020202020202010244
+:107F20000202020202020201010101010101010239
+:107F3000020101010102020101010101010101012E
+:107F40000101010001010101010101010101010221
+:107F5000020201010101010201010101010101020D
+:107F600002020101010101010101010101010101FF
+:107F700001010101010101010101010101010101F1
+:107F800001010101010101010101010101010100E2
+:107F900001010101010101010101010101010102D0
+:107FA00002020202020202020202020202020002B3
+:107FB00002020202020202020202020201010202A3
+:107FC0000202020202020202020202020202020291
+:107FD0000202020202020202020202020202010282
+:107FE0000202020202020201020101010101000279
+:107FF0000202020201020202020202010202010264
+:108000000101020101010100000101010101010260
+:108010000202020202010202020202020202010242
+:108020000202020202020201010101010102010237
+:10803000020201010102020101010101010101022B
+:10804000010101010101010101010101010101021F
+:10805000020201010101010202010101010101020B
+:1080600002020101010101010101010101010101FE
+:1080700001010101010101010101010101010101F0
+:1080800001010101010101010101010101010100E1
+:1080900001010101010101010101010101010102CF
+:1080A00002020202020202020202020202020002B2
+:1080B00002020202020202020202020201010202A2
+:1080C0000202020202020202020202020202020290
+:1080D0000202020202020202020202020202010281
+:1080E0000202020202020201020201010101010276
+:1080F0000202020202020202020202010202010262
+:10810000010102010101010101010101010101025D
+:108110000202020202020202020202020202010240
+:108120000202020202020201010101010102010236
+:108130000202010101020202010101010101010229
+:10814000020101010101010101010101010101021D
+:108150000202020101010102020201010101010208
+:1081600002020201010101010101010101010101FC
+:1081700001010101010101020201010101010102EC
+:1081800002010101010101010101010101010100DF
+:1081900001010101010101010101010101010102CE
+:1081A00002020202020202020202020202020002B1
+:1081B00002020202020202020202020202010202A0
+:1081C000020202020202020202020202020202028F
+:1081D0000202020202020202020202020202010280
+:1081E0000202020202020201020202010101010274
+:1081F000020202020202020202020202020202025F
+:10820000020102020101010101010101010101025A
+:10821000020202020202020202020202020201023F
+:108220000202020202020201010101010102010235
+:108230000202020101020202020101010101010226
+:10824000020201010101010101010101010101021B
+:108250000202020101010102020202010101010206
+:1082600002020201010101010101010101010102FA
+:1082700001010101010101020202020101010102E9
+:1082800002020101010201010101010101010100DC
+:1082900001010101010101010101010101010102CD
+:1082A00002020202020202020202020202020002B0
+:1082B000020202020202020202020202020202029E
+:1082C000020202020202020202020202020202028E
+:1082D000020202020202020202020202020201027F
+:1082E0000202020202020202020202010201010271
+:1082F000020202020202020202020202020202025E
+:108300000202020201010101010101020101010257
+:10831000020202020202020202020202020201023E
+:108320000202020202020201010101010102010234
+:108330000202020101020202020101010101010225
+:10834000020201010101010101010101010101021A
+:108350000202020201010102020202010201010203
+:1083600002020201010101010101010101010102F9
+:1083700002010101010101020202020101010102E7
+:1083800002020101010202010101010101010100DA
+:1083900001010101010101010101010101010102CC
+:1083A00002020202020202020202020202020002AF
+:1083B000020202020202020202020202020202029D
+:1083C000020202020202020202020202020202028D
+:1083D000020202020202020202020202020202027D
+:1083E000020202020202020202020202020101026F
+:1083F000020202020202020202020202020202025D
+:108400000202020201010101010101020101010256
+:10841000020202020202020202020202020201023D
+:108420000202020202020202010101010102010232
+:108430000202020201020202020101010101010223
+:108440000202020101020101010101010101010217
+:108450000202020201010102020202020201010201
+:1084600002020202010101010101010101010102F7
+:1084700002020101010101020202020102010102E4
+:1084800002020101010202020101010101010100D8
+:1084900002010101010101010101010101010102CA
+:1084A00002020202020202020202020202020002AE
+:1084B000020202020202020202020202020202029C
+:1084C000020202020202020202020202020202028C
+:1084D000020202020202020202020202020202027C
+:1084E000020202020202020202020202020101026E
+:1084F000020202020202020202020202020202025C
+:108500000202020201020101010102020102010252
+:10851000020202020202020202020202020201023C
+:108520000202020202020202020101010102010230
+:10853000020202020202020202010101020201021F
+:108540000202020101020201010101010101010215
+:1085500002020202020101020202020202020102FE
+:1085600002020202020101010101010101010202F4
+:1085700002020201010101020202020102010102E2
+:1085800002020201010202020201010101010100D5
+:1085900002020101010101010101010101010102C8
+:1085A00002020202020202020202020202020002AD
+:1085B000020202020202020202020202020202029B
+:1085C000020202020202020202020202020202028B
+:1085D000020202020202020202020202020202027B
+:1085E000020202020202020202020202020101026D
+:1085F000020202020202020202020202020202025B
+:108600000202020202020101010102020102010250
+:10861000020202020202020202020202020201023B
+:10862000020202020202020202010101010201022F
+:10863000020202020202020202010101020201021E
+:108640000202020101020202010101010101010213
+:1086500002020202020201020202020202020102FC
+:1086600002020202020201010101010101010202F2
+:1086700002020201010101020202020102010102E1
+:1086800002020201010202020201010101010100D4
+:1086900002020201010101010101010101010102C6
+:1086A00002020202020202020202020202020002AC
+:1086B000020202020202020202020202020202029A
+:1086C000020202020202020202020202020202028A
+:1086D000020202020202020202020202020202027A
+:1086E000020202020202020202020202020201026B
+:1086F000020202020202020202020202020202025A
+:10870000020202020202010101010202010201024F
+:10871000020202020202020202020202020201023A
+:10872000020202020202020202010101020201022D
+:10873000020202020202020202020101020201021C
+:108740000202020201020202020101010101010210
+:1087500002020202020201020202020202020102FB
+:1087600002020202020202010101010101010202F0
+:1087700002020201010101020202020102010102E0
+:1087800002020202020202020202010101010100D0
+:1087900002020202010101010101010101010102C4
+:1087A00002020202020202020202020202020002AB
+:1087B0000202020202020202020202020202020299
+:1087C0000202020202020202020202020202020289
+:1087D0000202020202020202020202020202020279
+:1087E000020202020202020202020202020201026A
+:1087F0000202020202020202020202020202020259
+:10880000020202020202020101010202020202024B
+:108810000202020202020202020202020202010239
+:108820000202020202020202020202020202010229
+:10883000020202020202020202020201020201021A
+:10884000020202020202020202010101010101020E
+:1088500002020202020201020202020202020202F9
+:1088600002020202020202020201010101010202ED
+:1088700002020202020101020202020102010202DC
+:1088800002020202020202020202020101010100CE
+:1088900002020202020101010101010101010102C2
+:1088A00002020202020202020202020202020002AA
+:1088B0000202020202020202020202020202020298
+:1088C0000202020202020202020202020202020288
+:1088D0000202020202020202020202020202020278
+:1088E0000202020202020202020202020202010269
+:1088F0000202020202020202020202020202020258
+:108900000202020202020202010102020202020249
+:108910000202020202020202020202020202010238
+:108920000202020202020202020202020202010228
+:108930000202020202020202020202020202020217
+:10894000020202020202020202020101020101020B
+:1089500002020202020202020202020202020202F7
+:1089600002020202020202020202020101010202EA
+:1089700002020202020201020202020102010202DA
+:1089800002020202020202020202020101010100CD
+:1089900002020202020201010101010101010102C0
+:1089A00002020202020202020202020202020002A9
+:1089B0000202020202020202020202020202020297
+:1089C0000202020202020202020202020202020287
+:1089D0000202020202020202020202020202020277
+:1089E0000202020202020202020202020202020267
+:1089F0000202020202020202020202020202020257
+:108A00000202020202020202020202020202020246
+:108A10000202020202020202020202020202010237
+:108A20000202020202020202020202020202020226
+:108A30000202020202020202020202020202020216
+:108A40000202020202020202020202020201010208
+:108A500002020202020202020202020202020202F6
+:108A600002020202020202020202020102010202E8
+:108A700002020202020202020202020102010202D8
+:108A800002020202020202020202020101010100CC
+:108A900002020202020202010101010101010102BE
+:108AA00002020202020202020202020202020002A8
+:108AB0000202020202020202020202020202020296
+:108AC0000202020202020202020202020202020286
+:108AD0000202020202020202020202020202020276
+:108AE0000202020202020202020202020202020266
+:108AF0000202020202020202020202020202020256
+:108B00000202020202020202020202020202020245
+:108B10000202020202020202020202020202020235
+:108B20000202020202020202020202020202020225
+:108B30000202020202020202020202020202020215
+:108B40000202020202020202020202020202010206
+:108B500002020202020202020202020202020202F5
+:108B600002020202020202020202020202010202E6
+:108B700002020202020202020202020102010202D7
+:108B800002020202020202020202020101010100CB
+:108B900002020202020202020101010101010102BC
+:108BA00002020202020202020202020202020002A7
+:108BB0000202020202020202020202020202020295
+:108BC0000202020202020202020202020202020285
+:108BD0000202020202020202020202020202020275
+:108BE0000202020202020202020202020202020265
+:108BF0000202020202020202020202020202020255
+:108C00000202020202020202020202020202020244
+:108C10000202020202020202020202020202020234
+:108C20000202020202020202020202020202020224
+:108C30000202020202020202020202020202020214
+:108C40000202020202020202020202020202010205
+:108C500002020202020202020202020202020202F4
+:108C600002020202020202020202020202020202E4
+:108C700002020202020202020202020102010202D6
+:108C800002020202020202020202020101010100CA
+:108C900002020202020202020201010101010102BA
+:108CA00002020202020202020202020202020002A6
+:108CB0000202020202020202020202020202010295
+:108CC0000202020202020202020202020202020284
+:108CD0000202020202020202020202020202020274
+:108CE0000202020202020202020202020202020264
+:108CF0000202020202020202020202020202020254
+:108D00000202020202020202020202020202020243
+:108D10000202020202020202020202020202020233
+:108D20000202020202020202020202020202020223
+:108D30000202020202020202020202020202020213
+:108D40000202020202020202020202020202020203
+:108D500002020202020202020202020202020202F3
+:108D600002020202020202020202020202020202E3
+:108D700002020202020202020202020202010202D4
+:108D800002020202020202020202020101010102C7
+:108D900002020202020202020202020201010102B6
+:108DA00002020202020202020202020202020002A5
+:108DB000020202020202020201010101010101029A
+:108DC0000202020202020202020202020202020283
+:108DD0000202020202020202020202020202020273
+:108DE0000202020202020202020202020202020263
+:108DF0000202020202020202020202020202020253
+:108E00000202020202020202020202020202020242
+:108E10000202020202020202020202020202020232
+:108E20000202020202020202020202020202020222
+:108E30000202020202020202020202020202020212
+:108E40000202020202020202020202020202020202
+:108E500002020202020202020202020202020202F2
+:108E600002020202020202020202020202020202E2
+:108E700002020202020202020202020202020202D2
+:108E800002020202020202020202020201010102C5
+:108E900002020202020202020202020202020102B3
+:108EA00002020202020202020202020202020002A4
+:108EB000020202020201010101010101010101029C
+:108EC0000202020202020202020202020202010283
+:108ED0000202020202020202020202020202020272
+:108EE0000202020202020202020202020202020262
+:108EF0000202020202020202020202020202020252
+:108F00000202020202020202020202020202020241
+:108F10000202020202020202020202020202020231
+:108F20000202020202020202020202020202020221
+:108F30000202020202020202020202020202020211
+:108F40000202020202020202020202020202020201
+:108F500002020202020202020202020202020202F1
+:108F600002020202020202020202020202020202E1
+:108F700002020202020202020202020202020202D1
+:108F800002020202020202020202020202010102C3
+:108F900002020202020202020202020202020202B1
+:108FA00002020202020202020202020202020002A3
+:108FB000020202010101010101010101010101029D
+:108FC000020202020202010101010101010101028A
+:108FD0000202020202020202020202020202020271
+:108FE0000202020202020202020202020202020261
+:108FF0000202020202020202020202020202020251
+:109000000202020202020202020202020202020240
+:109010000202020202020202020202020202020230
+:109020000202020202020202020202020202020220
+:109030000202020202020202020202020202020210
+:109040000202020202020202020202020202020200
+:1090500002020202020202020202020202020202F0
+:1090600002020202020202020202020202020202E0
+:1090700002020202020202020202020202020202D0
+:1090800002020202020202020202020202020102C1
+:1090900002020202020202020202020202020202B0
+:1090A00002020202020201010101010101010102A9
+:1090B000020201010101010101010101010101029D
+:1090C000020202020201010101010101010101028A
+:1090D0000202020202020202020202020202010271
+:1090E0000202020202020202020202020202020260
+:1090F0000202020202020202020202020202020250
+:10910000020202020202020202020202020202023F
+:10911000020202020202020202020202020202022F
+:10912000020202020202020202020202020202021F
+:10913000020202020202020202020202020202020F
+:1091400002020202020202020202020202020202FF
+:1091500002020202020202020202020202020202EF
+:1091600002020202020202020202020202020202DF
+:1091700002020202020202020202020202020202CF
+:1091800002020202020202020202020202020202BF
+:1091900002020202020202020202020202020202AF
+:1091A00002020201010101010101010101010102AB
+:1091B000020101010101010101010101010101029D
+:1091C000020202010101010101010101010101028B
+:1091D0000202020202020201010101010101010277
+:1091E000020202020202020202020202020202025F
+:1091F000020202020202020202020202020202024F
+:10920000020202020202020202020202020202023E
+:10921000020202020202020202020202020202022E
+:10922000020202020202020202020202020202021E
+:10923000020202020202020202020202020202020E
+:1092400002020202020202020202020202020202FE
+:1092500002020202020202020202020202020202EE
+:1092600002020202020202020202020202020202DE
+:1092700002020202020202020202020202020202CE
+:1092800002020202020202020202020202020202BE
+:1092900002020202020202020202020202020201AF
+:1092A00001010101010101010101010101010101AE
+:1092B000010101010101010101010101010101019E
+:1092C000010101010101010101010101010101028D
+:1092D0000202020201010101010101010101010279
+:1092E0000202020202020202020202010201020260
+:1092F000020202020202020202020202020202024E
+:10930000020202020202020202020202020202023D
+:10931000020202020202020202020202020202022D
+:10932000020202020202020202020202020202021D
+:10933000020202020202020202020202020202020D
+:1093400002020202020202020202020202020202FD
+:1093500002020202020202020202020202020202ED
+:1093600002020202020202020202020202020202DD
+:1093700002020202020202020202020202020202CD
+:1093800002020202020202020202020202020202BD
+:1093900002020202020202020202020202020201AE
+:1093A00001010101010101010101010101010101AD
+:1093B000010101010101010101010101010101019D
+:1093C000010101010101010101010101010101028C
+:1093D000020201010101010101010101010101027A
+:1093E0000202020202020202010101010101010264
+:1093F000020202020202020202020202020202024D
+:10940000020202020202020202020202020202023C
+:10941000020202020202020202020202020202022C
+:10942000020202020202020202020202020202021C
+:10943000020202020202020202020202020202020C
+:1094400002020202020202020202020202020202FC
+:1094500002020202020202020202020202020202EC
+:1094600002020202020202020202020202020202DC
+:1094700002020202020202020202020202020202CC
+:1094800002020202020202020202020202020202BC
+:1094900002020202020202020202020202020201AD
+:1094A00001010101010101010101010101010101AC
+:1094B000010101010101010101010101010101019C
+:1094C000010101010101010101010101010101028B
+:1094D000010101010101010101010101010101027B
+:1094E0000202020202010101010101010101010266
+:1094F000020202020202020202020202020202024C
+:10950000020202020202020202020202020202023B
+:10951000020202020202020202020202020202022B
+:10952000020202020202020202020202020202021B
+:10953000020202020202020202020202020202020B
+:1095400002020202020202020202020202020202FB
+:1095500002020202020202020202020202020202EB
+:1095600002020202020202020202020202020202DB
+:1095700002020202020202020202020202020202CB
+:1095800002020202020202020202020202020202BB
+:1095900002020202020202020202020202020201AC
+:1095A00001010101010101010101010101010101AB
+:1095B000010101010101010101010101010101019B
+:1095C000010101010101010101010101010101018B
+:1095D000010101010101010101010101010101027A
+:1095E0000201010101010101010101010101010269
+:1095F000020202020202020202020202020202024B
+:10960000020202020202020202020202020202023A
+:10961000020202020202020202020202020202022A
+:10962000020202020202020202020202020202021A
+:10963000020202020202020202020202020202020A
+:1096400002020202020202020202020202020202FA
+:1096500002020202020202020202020202020202EA
+:1096600002020202020202020202020202020202DA
+:1096700002020202020202020202020202020202CA
+:1096800002020202020202020202020202020202BA
+:1096900002020202020202020202020202020201AB
+:1096A00001010101010101010101010101010101AA
+:1096B000010101010101010101010101010101019A
+:1096C000010101010101010101010101010101018A
+:1096D000010101010101010101010101010101017A
+:1096E0000101010101010101010101010101010269
+:1096F000020202020202020202020202020202024A
+:109700000202020202020202020202020202020239
+:109710000202020202020202020202020202020229
+:109720000202020202020202020202020202020219
+:109730000202020202020202020202020202020209
+:1097400002020202020202020202020202020202F9
+:1097500002020202020202020202020202020202E9
+:1097600002020202020202020202020202020202D9
+:1097700002020202020202020202020202020202C9
+:1097800002020202020202020202020202020202B9
+:1097900002020202020202020202020202020201AA
+:1097A00001010101010101010101010101010101A9
+:1097B0000101010101010101010101010101010199
+:1097C0000101010101010101010101010101010189
+:1097D0000101010101010101010101010101010179
+:1097E0000101010101010101010101010101010268
+:1097F0000202020202020202020202020202020249
+:109800000202020202020202020202020202020238
+:109810000202020202020202020202020202020228
+:109820000202020202020202020202020202020218
+:109830000202020202020202020202020202020208
+:1098400002020202020202020202020202020202F8
+:1098500002020202020202020202020202020202E8
+:1098600002020202020202020202020202020202D8
+:1098700002020202020202020202020202020202C8
+:1098800002020202020202020202020202020202B8
+:1098900002020202020202020202020202020201A9
+:1098A00001010101010101010101010101010101A8
+:1098B0000101010101010101010101010101010198
+:1098C0000101010101010101010101010101010188
+:1098D0000101010101010101010101010101010178
+:1098E0000101010101010101010101010101010267
+:1098F0000202020202020202020202020202020248
+:109900000202020202020202020202020202020237
+:109910000202020202020202020202020202020227
+:109920000202020202020202020202020202020217
+:109930000202020202020202020202020202020207
+:1099400002020202020202020202020202020202F7
+:1099500002020202020202020202020202020202E7
+:1099600002020202020202020202020202020202D7
+:1099700002020202020202020202020202020202C7
+:1099800002020202020202020202020202020202B7
+:1099900002020202020202020202020202020201A8
+:1099A00001010101010101010101010101010101A7
+:1099B0000101010101010101010101010101010197
+:1099C0000101010101010101010101010101010187
+:1099D0000101010101010101010101010101010177
+:1099E0000101010101010101010101010101010266
+:1099F0000202020202020202020202020202020247
+:109A00000202020202020202020202020202020236
+:109A10000202020202020202020202020202020226
+:109A20000202020202020202020202020202020216
+:109A30000202020202020202020202020202020206
+:109A400002020202020202020202020202020202F6
+:109A500002020202020202020202020202020202E6
+:109A600002020202020202020202020202020202D6
+:109A700002020202020202020202020202020202C6
+:109A800002020202020202020202020202020202B6
+:109A900002020202020202020202020202020201A7
+:109AA00001010101010101010101010101010101A6
+:109AB0000101010101010101010101010101010196
+:109AC0000101010101010101010101010101010186
+:109AD0000101010101010101010101010101010176
+:109AE0000101010101010101010101010101010265
+:109AF0000202020202010101010101010101010250
+:109B00000202020202020202020202020202020235
+:109B10000202020202020202020202020202020225
+:109B20000202020202020202020202020202020215
+:109B30000202020202020202020202020202020205
+:109B400002020202020202020202020202020202F5
+:109B500002020202020202020202020202020202E5
+:109B600002020202020202020202020202020202D5
+:109B700002020202020202020202020202020202C5
+:109B800002020202020202020202020202020202B5
+:109B900002020202020202020202020202020201A6
+:109BA00001010101010101010101010101010101A5
+:109BB0000101010101010101010101010101010195
+:109BC0000101010101010101010101010101010185
+:109BD0000101010101010101010101010101010175
+:109BE0000101010101010101010101010101010165
+:109BF0000101010101010101010101010101010254
+:109C00000202020202020202020201010202020236
+:109C1000020202020202010101010101010102022C
+:109C20000202020202020202020202020202020214
+:109C30000202020202020202020202020202020204
+:109C400002020202020202020202020202020202F4
+:109C500002020202020202020202020202020202E4
+:109C600002020202020202020202020202020202D4
+:109C700002020202020202020202020202020202C4
+:109C800002020202020202020202020202020202B4
+:109C900002020202020202020202020202020201A5
+:109CA00001010101010101010101010101010101A4
+:109CB0000101010101010101010101010101010194
+:109CC0000101010101010101010101010101010184
+:109CD0000101010101010101010101010101010174
+:109CE0000101010101010101010101010101010164
+:109CF0000101010101010101010101010101010253
+:109D0000020202020201010101010101010101013E
+:109D10000101010101010101010101010101010232
+:109D20000202020202020202020202020201020214
+:109D30000202020202020202020202020202020203
+:109D400002020202020202020202020202020202F3
+:109D500002020202020202020202020202020202E3
+:109D600002020202020202020202020202020202D3
+:109D700002020202020202020202020202020202C3
+:109D800002020202020202020202020202020202B3
+:109D900002020202020202020202020202020201A4
+:109DA00001010101010101010101010101010101A3
+:109DB0000101010101010101010101010101010193
+:109DC0000101010101010101010101010101010183
+:109DD0000101010101010101010101010101010173
+:109DE0000101010101010101010101010101010163
+:109DF0000101010101010101010101010101010153
+:109E00000202010101010101010101010101010140
+:109E10000101010101010101010101010101010132
+:109E20000101010101010101010101010101010221
+:109E30000202020202020202020202020202020202
+:109E400002020202020202020202020202020202F2
+:109E500002020202020202020202020202020202E2
+:109E600002020202020202020202020202020202D2
+:109E700002020202020202020202020202020202C2
+:109E800002020202020202020202020202020202B2
+:109E900002020202020202020202020202020201A3
+:109EA00001010101010101010101010101010101A2
+:109EB0000101010101010101010101010101010192
+:109EC0000101010101010101010101010101010182
+:109ED0000101010101010101010101010101010172
+:109EE0000101010101010101010101010101010162
+:109EF0000101010101010101010101010101010152
+:109F00000101010101010101010101010101010141
+:109F10000101010101010101010101010101010131
+:109F20000101010101010101010101010101010220
+:109F3000020202020201010101010101010101020B
+:109F400002020202020101010101010101010102FB
+:109F500002020202020202020202020202020202E1
+:109F600002020202020202020202020202020202D1
+:109F700002020202020202020202020202020202C1
+:109F800002020202020202020202020202020202B1
+:109F900002020202020202020202020202020201A2
+:109FA00001010101010101010101010101010101A1
+:109FB0000101010101010101010101010101010191
+:109FC0000101010101010101010101010101010181
+:109FD0000101010101010101010101010101010171
+:109FE0000101010101010101010101010101010161
+:109FF0000101010101010101010101010101010151
+:10A000000101010101010101010101010101010140
+:10A010000101010101010101010101010101010130
+:10A020000101010101010101010101010101010120
+:10A030000101010101010101010101010101010110
+:10A0400001010101010101010101010101010102FF
+:10A0500002020202020202010101010101010102E8
+:10A0600002020202020202020202020202020202D0
+:10A0700002020202020202020202020202020202C0
+:10A0800002020202020202020202020202020202B0
+:10A0900002020202020202020202020202020201A1
+:10A0A00001010101010101010101010101010101A0
+:10A0B0000101010101010101010101010101010190
+:10A0C0000101010101010101010101010101010180
+:10A0D0000101010101010101010101010101010170
+:10A0E0000101010101010101010101010101010160
+:10A0F0000101010101010101010101010101010150
+:10A10000010101010101010101010101010101013F
+:10A11000010101010101010101010101010101012F
+:10A12000010101010101010101010101010101011F
+:10A13000010101010101010101010101010101010F
+:10A1400001010101010101010101010101010101FF
+:10A1500001010101010101010101010101010102EE
+:10A1600002020202020202020202020202020202CF
+:10A1700002020202020202020202020202020202BF
+:10A1800002020202020202020202020202020202AF
+:10A1900002020202020202020202020202020201A0
+:10A1A000010101010101010101010101010101019F
+:10A1B000010101010101010101010101010101018F
+:10A1C000010101010101010101010101010101017F
+:10A1D000010101010101010101010101010101016F
+:10A1E000010101010101010101010101010101015F
+:10A1F000010101010101010101010101010101014F
+:10A20000010101010101010101010101010101013E
+:10A21000010101010101010101010101010101012E
+:10A22000010101010101010101010101010101011E
+:10A23000010101010101010101010101010101010E
+:10A2400001010101010101010101010101010101FE
+:10A2500001010101010101010101010101010102ED
+:10A2600002020202020202020202020202020102CF
+:10A2700002020202020202020202020202020202BE
+:10A2800002020202020202020202020202020202AE
+:10A29000020202020202020202020202020202019F
+:10A2A000010101010101010101010101010101019E
+:10A2B000010101010101010101010101010101018E
+:10A2C000010101010101010101010101010101017E
+:10A2D000010101010101010101010101010101016E
+:10A2E000010101010101010101010101010101015E
+:10A2F000010101010101010101010101010101014E
+:10A30000010101010101010101010101010101013D
+:10A31000010101010101010101010101010101012D
+:10A32000010101010101010101010101010101011D
+:10A33000010101010101010101010101010101010D
+:10A3400001010101010101010101010101010101FD
+:10A3500001010101010101010101010101010101ED
+:10A3600001010101010101010101010101010102DC
+:10A3700002020202020202020202020202020202BD
+:10A3800002020202020202020202020202020202AD
+:10A39000020202020202020202020202020202019E
+:10A3A000010101010101010101010101010101019D
+:10A3B000010101010101010101010101010101018D
+:10A3C000010101010101010101010101010101017D
+:10A3D000010101010101010101010101010101016D
+:10A3E000010101010101010101010101010101015D
+:10A3F000010101010101010101010101010101014D
+:10A40000010101010101010101010101010101013C
+:10A41000010101010101010101010101010101012C
+:10A42000010101010101010101010101010101011C
+:10A43000010101010101010101010101010101010C
+:10A4400001010101010101010101010101010101FC
+:10A4500001010101010101010101010101010101EC
+:10A4600001010101010101010101010101010102DB
+:10A4700002020202020202020202020202020202BC
+:10A4800002020202020101010101010202020202B2
+:10A49000020202020202020202020202020202019D
+:10A4A000010101010101010101010101010101019C
+:10A4B000010101010101010101010101010101018C
+:10A4C000010101010101010101010101010101017C
+:10A4D000010101010101010101010101010101016C
+:10A4E000010101010101010101010101010101015C
+:10A4F000010101010101010101010101010101014C
+:10A50000010101010101010101010101010101013B
+:10A51000010101010101010101010101010101012B
+:10A52000010101010101010101010101010101011B
+:10A53000010101010101010101010101010101010B
+:10A5400001010101010101010101010101010101FB
+:10A5500001010101010101010101010101010101EB
+:10A5600001010101010101010101010101010102DA
+:10A5700002020202020202010101010201020101C2
+:10A5800001010101010101010101010101010102BA
+:10A5900001010101010101010101010101010101AB
+:10A5A000010101010101010101010101010101019B
+:10A5B000010101010101010101010101010101018B
+:10A5C000010101010101010101010101010101017B
+:10A5D000010101010101010101010101010101016B
+:10A5E000010101010101010101010101010101015B
+:10A5F000010101010101010101010101010101014B
+:10A60000010101010101010101010101010101013A
+:10A61000010101010101010101010101010101012A
+:10A62000010101010101010101010101010101011A
+:10A63000010101010101010101010101010101010A
+:10A6400001010101010101010101010101010101FA
+:10A6500001010101010101010101010101010101EA
+:10A6600001010101010101010101010101010101DA
+:10A6700001010101010101010101010101010101CA
+:10A6800001010101010101010101010101010100BB
+:10A6900000000000000000000000000000000001B9
+:10A6A000010101010101010101010101010101019A
+:10A6B000010101010101010101010101010101018A
+:10A6C000010101010101010101010101010101017A
+:10A6D000010101010101010101010101010101016A
+:10A6E000010101010101010101010101010101015A
+:10A6F000010101010101010101010101010101014A
+:10A700000101010101010101010101010101010139
+:10A710000101010101010101010101010101010129
+:10A720000101010101010101010101010101010119
+:10A730000101010101010101010101010101010109
+:10A7400001010101010101010101010101010101F9
+:10A7500001010101010101010101010101010101E9
+:10A7600001010101010101010101010101010101D9
+:10A7700001010101010101010101010101010101C9
+:10A7800001010101010101010101010101010100BA
+:10A7900000000000000000000000000000000001B8
+:10A7A0000101010101010101010101010101010199
+:10A7B0000101010101010101010101010101010189
+:10A7C0000101010101010101010101010101010179
+:10A7D0000101010101010101010101010101010169
+:10A7E0000101010101010101010101010101010159
+:10A7F0000101010101010101010101010101010149
+:10A800000101010101010101010101010101010138
+:10A810000101010101010101010101010101010128
+:10A820000101010101010101010101010101010118
+:10A830000101010101010101010101010101010108
+:10A8400001010101010101010101010101010101F8
+:10A8500001010101010101010101010101010101E8
+:10A8600001010101010101010101010101010101D8
+:10A8700001010101010101010101010101010101C8
+:10A8800001010101010101010101010101010100B9
+:10A8900000000000000000000000000000000001B7
+:10A8A0000101010101010101010101010101010198
+:10A8B0000101010101010101010101010101010188
+:10A8C0000101010101010101010101010101010178
+:10A8D0000101010101010101010101010101010168
+:10A8E0000101010101010101010101010101010158
+:10A8F0000101010101010101010101010101010148
+:10A900000101010101010101010101010101010137
+:10A910000101010101010101010101010101010127
+:10A920000101010101010101010101010101010117
+:10A930000101010101010101010101010101010107
+:10A9400001010101010101010101010101010101F7
+:10A9500001010101010101010101010101010101E7
+:10A9600001010101010101010101010101010101D7
+:10A9700001010101010101010101010101010101C7
+:10A9800001010101010101010101010101010100B8
+:10A9900000000000000000000000000000000000B7
+:10A9A00000000000000000000000000000000002A5
+:10A9B0000202020202020202020202020202020277
+:10A9C0000202020202020202020202020202020267
+:10A9D0000202020202020202020202020202020257
+:10A9E0000202020202020202020202020202020049
+:10A9F0000000000000000000000000000000000057
+:10AA00000000000000000000000000000000000244
+:10AA10000202020202020202020202020202020216
+:10AA20000202020202020202020202020202020206
+:10AA300002020202020202020202020202020202F6
+:10AA400002020202020202020202020202020202E6
+:10AA500002020202020202020202020202020202D6
+:10AA600002020202020202020202020202020200C8
+:10AA700000000000000000000000000000000002D4
+:10AA800002020202020202020202020202020200A8
+:10AA900000000000000000000000000000000000B6
+:10AAA00000000000000000000000000000000002A4
+:10AAB0000202020202020202020202020202020276
+:10AAC0000202020202020202020202020202020266
+:10AAD0000202020202020202020202020202020256
+:10AAE0000202020202020202020202020202020048
+:10AAF0000000000000000000000000000000000056
+:10AB00000000000000000000000000000000000045
+:10AB10000000000000000000000000000000000035
+:10AB20000000000000000000000000000000000025
+:10AB30000000000000000000000000000000000213
+:10AB400002020202020202020202020202020202E5
+:10AB500002020202020202020202020202020200D7
+:10AB600000000000000000000000000000000000E5
+:10AB700000000000000000000000000000000002D3
+:10AB800002020202020202020202020202020200A7
+:10AB900000000000000000000000000000000000B5
+:10ABA00000000000000000000000000000000000A5
+:10ABB0000000000000000000000000000000000095
+:10ABC0000000000000000000000000000000000085
+:10ABD0000000000000000000000000000000000075
+:10ABE0000000000000000000000000000000000065
+:10ABF0000000000000000000000000000000000055
+:10AC00000000000000000000000000000000000044
+:10AC10000000000000000000000000000000000034
+:10AC20000000000000000000000000000000000024
+:10AC30000000000000000000000000000000000014
+:10AC40000000000000000000000000000000000004
+:10AC500000000000000000000000000000000000F4
+:10AC600000000000000000000000000000000000E4
+:10AC700000000000000000000000000000000000D4
+:10AC800000000000000000000000000000000000C4
+:10AC90000000000000000000000000000000004272
+:10ACA00000000000000000000000000000000000A4
+:10ACB0000000000000000000000000000000000094
+:10ACC0000000000000000000000000000000000084
+:10ACD0000000000000000000000000000000000074
+:10ACE0000000000000000000000000000000000064
+:10ACF0000000000000000000000000000000000054
+:10AD00000000000000000000000000000000000043
+:10AD10000000000000000000000000000000000033
+:10AD20000001000000010000000000000000000021
+:10AD30000000000000000000010000000000000012
+:10AD40000000000000000000000100000000000002
+:10AD500000000000000000000000000000000000F3
+:10AD600000000000000000000000000000000000E3
+:10AD700000000000000000000000000000000000D3
+:10AD800000000000000000000000000000000000C3
+:10AD900000000000000000000000000000000000B3
+:10ADA00000000000000000000000000000000000A3
+:10ADB0000000000000000000000000000000000093
+:10ADC0000000000000000000000000000000000083
+:10ADD0000000000000000000000000000000000073
+:10ADE0000000000000000000000000000000000063
+:10ADF0000000000000000000000000000000000053
+:10AE00000000000000000000000000010000000041
+:10AE10000000000000000000000000000000010130
+:10AE2000000100000101000000000000000000001F
+:10AE3000000000000000000001010100000000000F
+:10AE40000000000000000000010100000000000000
+:10AE500000000000000000000000000000000000F2
+:10AE600000000000000000000000000000000000E2
+:10AE700000000000000000000000000000000000D2
+:10AE800000000000000000000000000000000000C2
+:10AE900000000000000000000000000000000000B2
+:10AEA00000000000000000000000000000000001A1
+:10AEB0000000000000000000000000000100000091
+:10AEC0000000000000000000000000000000000082
+:10AED0000000000000000000000000000000000072
+:10AEE0000000000000000000000000000000000062
+:10AEF0000000000000000000000000000000000052
+:10AF00000000000000000000000000010000000040
+:10AF1000000000000000000000000000000001012F
+:10AF2000000100000101010000000000000000001D
+:10AF3000000000000000000001010100000000000E
+:10AF400000000000000000000101010000000000FE
+:10AF500000000000010000000100000000000000EF
+:10AF600000000000000000000000000000000000E1
+:10AF700000000000000000000000000000000000D1
+:10AF800000000000000000000000000000000000C1
+:10AF900000000000000000000000000000000000B1
+:10AFA00000000000000000000000000000000001A0
+:10AFB0000000000000000000000000000100000090
+:10AFC0000000000000000000000000000000000081
+:10AFD0000000000000000000000000000000000071
+:10AFE0000000000000000000000000000000000061
+:10AFF0000000000000000000000000000000000051
+:10B00000000000000000000000000001000000003F
+:10B01000000000000000000000000000000001012E
+:10B02000010100000101010000000000000000001B
+:10B03000000000000000000001010100000000000D
+:10B0400000000000000000000101010000000000FD
+:10B0500000000000010000000101000000000000ED
+:10B0600000000000000000000000000000000000E0
+:10B0700000000000000000000000000000000000D0
+:10B0800000000000000000000000000000000000C0
+:10B0900000000000000000000000000000000000B0
+:10B0A000000000000000000000000000000000019F
+:10B0B000000000000000000000000000010000008F
+:10B0C0000000000000000000000000000000000080
+:10B0D0000000000000000000000000000000000070
+:10B0E000000000000000000001000000000000005F
+:10B0F000000000010000000000000000000000004F
+:10B10000000000000000000000000001000000003E
+:10B11000000000000000000000000000000001012D
+:10B120000101000101010100000000000000000019
+:10B13000000000000000000101010100000000000B
+:10B1400000000000000000000101010001000000FB
+:10B1500000000000010000000101000000000000EC
+:10B1600000000000000000000000000000000000DF
+:10B1700000000000000000000000000000000000CF
+:10B1800000000000000000000000000000000000BF
+:10B1900000000000000000000000000000000000AF
+:10B1A000000000000000000000000000000000019E
+:10B1B000000000000000000000000000010000008E
+:10B1C000000000000000000100000000000000007E
+:10B1D000000000000000000000000000000000006F
+:10B1E000000000000000000001000001010000015B
+:10B1F000000001010000000000000000000000004D
+:10B20000000000000000000000000001000000003D
+:10B21000000000000000000000000000000001012C
+:10B220000101010101010100000000000000000017
+:10B230000000000000000001010101010101000007
+:10B2400000000000000000010101010001000000F9
+:10B2500000000000010000000101010000000000EA
+:10B2600000000000000000000000000000000000DE
+:10B2700000000000000000000000000000000000CE
+:10B2800000000000000000000000000000000000BE
+:10B2900000000000000000000000000000000000AE
+:10B2A000000000000000000000000001000000019C
+:10B2B000000000000000000000000100010000008C
+:10B2C000000000000000000100000000000000007D
+:10B2D000000000000000000000000000000000006E
+:10B2E0000000000000000001010000010100000159
+:10B2F000000101010000000000000000000000004B
+:10B30000000000000000000100000001000000003B
+:10B31000000000000000000001000000000001012A
+:10B320000101010101010101000000000000000015
+:10B330000000000000000001010101010101000006
+:10B3400000000000000000010101010101010000F6
+:10B3500000000000010000000101010000000000E9
+:10B3600000000000000000000000000000000000DD
+:10B3700000000000000000000000000000000000CD
+:10B3800000000000000000000000000000000000BD
+:10B3900000000000000000000000000000000000AD
+:10B3A000000000000000000000000001000000019B
+:10B3B000000000000000000000000100010000008B
+:10B3C000000000000000000100000001000000007B
+:10B3D000000000000000000000000000000001016B
+:10B3E0000000000000000001010000010101000157
+:10B3F0000101010100000000000000000000000049
+:10B40000000000000000000100000001000000003A
+:10B410000000000000000000010100000000010128
+:10B420000101010101010101000000010000000013
+:10B430000000000000000001010101010101000005
+:10B4400000000000010000010101010101010000F4
+:10B4500000000000010000000101010101010000E5
+:10B4600000000000000000000100000000000000DB
+:10B4700000000000000000000000000000000000CC
+:10B4800000000000000000000000000000000000BC
+:10B4900000000000000000000000000000000000AC
+:10B4A000000000000000000000000001000000019A
+:10B4B0000100000000000000000001000101000187
+:10B4C0000100000000000001000000010000000178
+:10B4D0000000000000000001000000000000010169
+:10B4E0000001000000000101010000010101000154
+:10B4F0000101010100000000000000000000000048
+:10B500000000000000000001000000010000000039
+:10B510000000000000000001010100000000010126
+:10B520000101010101010101000000010000000012
+:10B530000000000000000001010101010101000004
+:10B5400000000000010100010101010101010100F1
+:10B5500000000000010000010101010101010000E3
+:10B5600000000000000000000101010000000000D8
+:10B5700000000000000000000000000000000000CB
+:10B5800000000000000000000000000000000000BB
+:10B5900000000000000000000000000000000000AB
+:10B5A0000000000000000000000000010000000199
+:10B5B0000101000000000000000001000101000185
+:10B5C0000101000000000001000000010000000176
+:10B5D0000000000000000001000000000000010168
+:10B5E0000101000000000101010100010101000151
+:10B5F0000101010100000000000000000000000047
+:10B600000000000000000001000000010000000038
+:10B610000000000000000001010100000000010125
+:10B62000010101010101010100000001010000010F
+:10B630000000000000000001010101010101010101
+:10B6400001000000010100010101010101010100EF
+:10B6500000000000010100010101010101010101DF
+:10B6600000000000010000010101010000000000D5
+:10B6700000000000000000000001010000000000C8
+:10B6800000000000000000000000000000000000BA
+:10B6900000000000000000000000000000000000AA
+:10B6A0000000000000000000000001010100000196
+:10B6B0000101000000000000000001000101010183
+:10B6C0000101010000000001010000010000000173
+:10B6D0000000000000000001010000000000010166
+:10B6E000010100000001010101010001010100014F
+:10B6F0000101010100000000000000000000000046
+:10B700000000000000000001000000010000000037
+:10B710000000000000000001010100000000010124
+:10B72000010101010101010100000001010000010E
+:10B730000000000000000001010101010101010100
+:10B7400001000001010101010101010101010101EB
+:10B7500001000000010100010101010101010101DD
+:10B7600000000000010100010101010000000000D3
+:10B7700000000000000000000001010000000000C7
+:10B7800000000000000000000000000000010101B6
+:10B7900000000000010000000000000000000000A8
+:10B7A0000000000000000000000001010100000195
+:10B7B0000101000000010001000001000101010180
+:10B7C0000101010000000001010100010000000171
+:10B7D0000000000000000001010000010000010164
+:10B7E000010100000001010101010001010101014D
+:10B7F0000101010100000000000000000000000045
+:10B800000000000000000001000000010000000036
+:10B810000000000000000001010101000000010122
+:10B82000010101010101010100000001010101010B
+:10B8300000000100010000010101010101010101FD
+:10B8400001000001010101010101010101010101EA
+:10B8500001000001010101010101010101010101DA
+:10B8600001000000010100010101010000000000D1
+:10B8700000000000000000000001010001000000C5
+:10B8800000000000000000000000000000010101B5
+:10B8900000000000010100000000000000000000A6
+:10B8A0000000000000000000000001010101000193
+:10B8B000010100000001000100000100010101017F
+:10B8C000010101010000000101010001000000016F
+:10B8D0000000000000000001010000010000010163
+:10B8E000010100000001010101010001010101014C
+:10B8F0000101010100000000000000000000000044
+:10B900000000000000000101000000010000000034
+:10B910000000000000000001010101000000010121
+:10B92000010101010101010100000001010101010A
+:10B9300000000100010000010101010101010101FC
+:10B9400001010001010101010101010101010101E8
+:10B9500001000101010101010101010101010101D8
+:10B9600001010001010101010101010101000000CB
+:10B9700000000000000000000001010001000000C4
+:10B9800000000000000000000000000000010101B4
+:10B9900001000100010100000000000000000000A3
+:10B9A0000000000000000001000001010101000191
+:10B9B000010100000001000101000100010101017D
+:10B9C000010101010000010101010001000001016C
+:10B9D0000000000000000001010100010000010161
+:10B9E0000101010000010101010101010101010149
+:10B9F0000101010100000000000000000000000043
+:10BA00000000000000000101000100010001000031
+:10BA10000000000000000001010101000000010120
+:10BA20000101010101010101000000010101010109
+:10BA300000000100010000010101010101010101FB
+:10BA400001010101010101010101010101010101E6
+:10BA500001010101010101010101010101010101D6
+:10BA600001010101010101010101010101000000C9
+:10BA700000000000000000000001010101000000C2
+:10BA800000000000000000000000000000010101B3
+:10BA9000010101010101010000000000000000009F
+:10BAA000000000000000000100010101010101018E
+:10BAB000010100000001000101010101010101017A
+:10BAC000010101010100010101010001000001016A
+:10BAD0000000000000000001010100010000010160
+:10BAE0000101010000010101010101010101010148
+:10BAF0000101010100000001010000000000000040
+:10BB00000000000000000101000100010001000030
+:10BB1000000000000100000101010100000001011E
+:10BB20000101010101010101000000010101010108
+:10BB300000000101010001010101010101010101F8
+:10BB400001010101010101010101010101010101E5
+:10BB500001010101010101010101010101010101D5
+:10BB600001010101010101010101010101010101C5
+:10BB700000000000010000000001010101000000C0
+:10BB800000000000000000000000000000010101B2
+:10BB9000010101010101010000000000000000009E
+:10BBA000000000000000000101010101010101018C
+:10BBB0000101000000010001010101010101010179
+:10BBC0000101010101000102010101010100010166
+:10BBD000000000000100000101010101010001015C
+:10BBE0000101010001010101010101010101010146
+:10BBF000010101010000000101010001000000003D
+:10BC0000000000000100010200010101000101002B
+:10BC1000000100000100000101010100000001011C
+:10BC20000101010101010101000100010101010106
+:10BC300001000101010001010101010101010101F6
+:10BC400001010101010101010101010101010101E4
+:10BC500001010101010101010101010101010101D4
+:10BC600001010101010101010101010101010101C4
+:10BC700000000000010100000001010101010101BB
+:10BC800000000000000000000000000000010101B1
+:10BC9000010101010101010000000000000000009D
+:10BCA000000000000000000101010101010101018B
+:10BCB0000101010000010001010101010201010176
+:10BCC0000101010101000102010101010100010165
+:10BCD0000000000101000002010101010100010159
+:10BCE0000101010001010102020101010101010143
+:10BCF000010101010000000101010001000000003C
+:10BD00000000000001010102000101010001010029
+:10BD1000000100000100000101010100000001011B
+:10BD20000101010101010101010100010101010104
+:10BD300001010101010001010101010101010101F4
+:10BD400001010101010101010101010101010101E3
+:10BD500001010101010101010101010101010101D3
+:10BD600001010101010101010101010101010101C3
+:10BD700001000000010100000001010101010101B9
+:10BD800000000000000000000000000000010101B0
+:10BD9000010101010101010000010000000000009B
+:10BDA000000000000000000101010101010101018A
+:10BDB0000101010000010001010102010201010174
+:10BDC0000101010101010102010101010100010163
+:10BDD0000000000101000002010101010100010158
+:10BDE0000101010001010102020101010101010142
+:10BDF0000101010100000001010101010100010137
+:10BE00000000000001010102000101020001010027
+:10BE10000001000001000001010101010000010119
+:10BE20000101010101010101010100010101010103
+:10BE300001010101010001010101010101010101F3
+:10BE400001010101010101010101010101010101E2
+:10BE500001010101010101010101010101010101D2
+:10BE600001010101010101010101010101010101C2
+:10BE700001010001010101000001010101010101B5
+:10BE800001000000000000000000000000010101AE
+:10BE90000101010101010100010100000000000099
+:10BEA0000000000000000001010101020101010287
+:10BEB0000101010000010002010102010201010172
+:10BEC0000101010101010102010101010100010162
+:10BED0000000000101000102020101010100010155
+:10BEE0000101010001010102020101020101010140
+:10BEF0000101010101000001010101010100010135
+:10BF00000000000001010102010101020001010025
+:10BF10000101010001000001010101010000010116
+:10BF20000101010101010101010100010101010102
+:10BF300001010101010001010101010101010101F2
+:10BF400001010101010101010101010101010101E1
+:10BF500001010101010101010101010101010101D1
+:10BF600001010101010101010101010101010101C1
+:10BF700001010101010101000001010101010101B3
+:10BF800001010000000100000000000000010101AB
+:10BF90000101010101010100010101000000000097
+:10BFA0000000000000000001010101020101010286
+:10BFB0000101010100010002010102010201010170
+:10BFC000010101010101010202010102010101015E
+:10BFD0000000000101000102020101010101020152
+:10BFE000010101000101010202010102020101013E
+:10BFF0000101010101000001010101010101010133
+:10C000000100010001010102010101020001010022
+:10C010000101010101000001010101010101010112
+:10C020000101010101010101010101010101010100
+:10C0300001010101010001010201010101010101F0
+:10C0400001010101010101010101010101010101E0
+:10C0500001010101010101010101010101010101D0
+:10C0600001010101010101010101010101010101C0
+:10C0700001010101010101000001010101010101B2
+:10C0800001010100010100000000000000010101A8
+:10C090000101010101010100010101000000000096
+:10C0A0000000000000000002010102020101010283
+:10C0B000010101010001000202010201020201016D
+:10C0C000020101010101010202010102010101015C
+:10C0D000000000010100010202010102010102024F
+:10C0E000010101000101010202020102020101023B
+:10C0F0000101010101000001010101010101010132
+:10C10000010101010101010201010102000101001F
+:10C11000010101010100000202010101010101010F
+:10C1200001010101010101020101010101010101FE
+:10C1300001010101010001020201010101010101EE
+:10C1400001010101010101010201010101010101DE
+:10C1500001010101010101010101010101010101CF
+:10C1600001010101010101010101010101010101BF
+:10C1700001010101010101000001010101010101B1
+:10C1800001010100010101000000000000010101A6
+:10C190000101010101010100010101010101010190
+:10C1A0000000000001000002010102020201010280
+:10C1B0000202010100010002020102010202020268
+:10C1C0000202020101010102020201020101010257
+:10C1D000000000010100010202020102010102024D
+:10C1E0000202010001010102020201020202010237
+:10C1F000020202020100000201010101010101012C
+:10C20000010101010101010201010102000101001E
+:10C21000010101010100000202010101010102010D
+:10C2200001010101010101020101010101010101FD
+:10C2300001010101010001020202020101010101EB
+:10C2400001010101010101020202010101010101DB
+:10C2500001010101010101010201010101010101CD
+:10C2600001010101010101010101010101010101BE
+:10C2700001010101010101000001010101010101B0
+:10C2800001010100010101000100000000010101A4
+:10C29000010101010101010001010101010101018F
+:10C2A000000000000101000202010202020101027D
+:10C2B0000202010100010002020202020202020265
+:10C2C0000202020201010102020201020101010255
+:10C2D000000001010100010202020202010102024A
+:10C2E0000202010001010102020202020202010235
+:10C2F000020202020100000202010101010101012A
+:10C30000010101010101010201010102000101001D
+:10C310000101010101000102020201010101020209
+:10C3200001020101010101020101010101010101FB
+:10C3300001010101010001020202020101010101EA
+:10C3400001010101010101020202020101010101D9
+:10C3500001010101010101010201010101010101CC
+:10C3600001010101010101010101010101010101BD
+:10C3700001010101010101000101010101010101AE
+:10C3800001010101010101000101000000010101A1
+:10C39000010101010101010001010101010101018E
+:10C3A0000100000001010002020202020202010279
+:10C3B0000202010100010002020202020202020264
+:10C3C0000202020201010102020202020101010253
+:10C3D0000100010101000102020202020201020247
+:10C3E0000202020001010102020202020202020232
+:10C3F0000202020201000002020101010101010129
+:10C400000101010101010102020201020101010118
+:10C410000101010101000102020201010101020208
+:10C4200002020101010101020101010101010101F9
+:10C4300001010101010001020202020101010101E9
+:10C4400001010101010101020202020101010101D8
+:10C4500001010101010101020202010101010101C9
+:10C4600001010101010101020201010101010101BA
+:10C4700001010101010101000101010101010101AD
+:10C4800001010101010101000101000000010101A0
+:10C49000010101010101010001010101010101018D
+:10C4A0000101000101010102020202020202020274
+:10C4B0000202010101010002020202020202020262
+:10C4C0000202020201010102020202020201020250
+:10C4D0000100010201010102020202020201020244
+:10C4E0000202020101010102020202020202020230
+:10C4F0000202020201000002020201020101010126
+:10C500000101010101010102020202020101010116
+:10C510000101010101000102020202010101020206
+:10C5200002020101010101020101010201010101F7
+:10C5300001010101010001020202020201010101E7
+:10C5400001010101010101020202020101010101D7
+:10C5500001010101010101020202020101010101C7
+:10C5600001010101010101020201010101010101B9
+:10C5700001010101010101000102020101010101AA
+:10C58000010101010101010001010100000101019E
+:10C59000010101010101010001010101010101018C
+:10C5A0000101010101010102020202020202020272
+:10C5B0000202020101010002020202020202020260
+:10C5C000020202020201010202020202020102024E
+:10C5D0000100010202010102020202020201020242
+:10C5E000020202010102020202020202020202022D
+:10C5F0000202020201000002020202020101010124
+:10C600000101010101010102020202020102010114
+:10C610000101010101000102020202010101020205
+:10C6200002020202020201020101010201010101F2
+:10C6300001010101010001020202020202010101E5
+:10C6400001010101010101020202020202010101D4
+:10C6500001010101010101020202020101010101C6
+:10C6600001010101010101020202020101010101B6
+:10C6700001010101010101000102020101010101A9
+:10C68000010101010101010101010100000101019C
+:10C69000010101010101010001010101010101018B
+:10C6A0000101010101010102020202020202020271
+:10C6B000020202010102000202020202020202025E
+:10C6C000020202020201020202020202020102024C
+:10C6D000010101020201010202020202020202023F
+:10C6E000020202010102020202020202020202022C
+:10C6F0000202020201000102020202020201020120
+:10C700000101010101010102020202020102020112
+:10C710000102010101010102020202010101020202
+:10C7200002020202020201020101010202010101F0
+:10C7300001010101010001020202020202020101E3
+:10C7400001010101010101020202020202010101D3
+:10C7500001010101010101020202020201010101C4
+:10C7600001010101010101020202020101010101B5
+:10C7700001010101010101010102020101010101A7
+:10C78000010101010101010101010100000101019B
+:10C79000010101010101010001010101010101018A
+:10C7A0000101010101010102020202020202020270
+:10C7B000020202020102000202020202020202025C
+:10C7C0000202020202020202020202020202020249
+:10C7D000010102020201010202020202020202023D
+:10C7E000020202010202020202020202020202022A
+:10C7F000020202020100010202020202020102021E
+:10C800000101010101010102020202020102020111
+:10C8100002020201010101020202020101010202FF
+:10C8200002020202020202020202010202010101EC
+:10C8300001010101010001020202020202020101E2
+:10C8400001010101010101020202020202020101D1
+:10C8500001010101010101020202020202010101C2
+:10C8600001010101010101020202020101010101B4
+:10C8700001010101010101010102020202010101A4
+:10C88000010101010101010101010100000101019A
+:10C890000101010101010100010101010101010189
+:10C8A000010101010101010202020202020202026F
+:10C8B000020202020102000202020202020202025B
+:10C8C0000202020202020202020202020202020248
+:10C8D000020102020201010202020202020202023B
+:10C8E0000202020102020202020202020202020229
+:10C8F000020202020100010202020202020202021C
+:10C90000020102010201010202020202010202010D
+:10C9100002020202010101020202020201010202FC
+:10C9200002020202020202020202010202020202E8
+:10C9300001010101010001020202020202020201E0
+:10C9400001010101010101020202020202020201CF
+:10C9500001010101010101020202020202020101C0
+:10C9600001010101010101020202020201010101B2
+:10C9700001010101010101010102020202010101A3
+:10C980000101010101010101010101010102020195
+:10C990000101010101010100020101010101010187
+:10C9A000010101010101010202020202020202026E
+:10C9B000020202020102000202020202020202025A
+:10C9C0000202020202020202020202020202020247
+:10C9D000020102020201010202020202020202023A
+:10C9E0000202020202020202020202020202020227
+:10C9F000020202020200010202020202020202021A
+:10CA00000202020202020202020202020102020108
+:10CA100002020202020101020202020201010202FA
+:10CA200002020202020202020202020202020202E6
+:10CA300001010101010101020202020202020202DD
+:10CA400002010101010101020202020202020201CD
+:10CA500001010101020101020202020202020201BD
+:10CA600001010101010101020202020202010101B0
+:10CA700001010101010101010102020202010101A2
+:10CA80000101010101010101010101010102020293
+:10CA90000101010101010100020201010101010185
+:10CAA000010101010101010202020202020202026D
+:10CAB0000202020201020002020202020202020259
+:10CAC0000202020202020202020202020202020246
+:10CAD0000202020202020202020202020202020236
+:10CAE0000202020202020202020202020202020226
+:10CAF0000202020202000102020202020202020219
+:10CB00000202020202020202020202020202020106
+:10CB100002020202020101020202020202010202F8
+:10CB200002020202020202020202020202020202E5
+:10CB300001010201010101020202020202020202DB
+:10CB400002010101010101020202020202020202CB
+:10CB500002010101020101020202020202020202BA
+:10CB600001010101010101020202020202010101AF
+:10CB7000010101010101010102020202020202019E
+:10CB80000101010101010101020101010102020291
+:10CB90000201010101010100020202010101010182
+:10CBA000010101010101010202020202020202026C
+:10CBB0000202020202020002020202020202020257
+:10CBC0000202020202020200020202020202020247
+:10CBD0000202020202020202020202020202020235
+:10CBE0000202020202020202020202020202020225
+:10CBF0000202020202000102020202020202020218
+:10CC00000202020202020202020202020202020204
+:10CC100002020202020101020202020202020202F6
+:10CC200002020202020202020202020202020202E4
+:10CC300002010201010101020202020202020202D9
+:10CC400002020102020101020202020202020202C7
+:10CC500002010101020101020202020202020202B9
+:10CC600002010101010101020202020202020201AB
+:10CC7000010101010101010202020202020202029B
+:10CC8000010101010101010202010101010202028F
+:10CC9000020202010101010002020201010101017F
+:10CCA000010101010101010202020202020202026B
+:10CCB0000202020202020002020202020202020256
+:10CCC0000202020202020202020202020202020046
+:10CCD0000202020000020202020202020202020238
+:10CCE0000202020202020202020202020202020224
+:10CCF0000202020202000102020202020202020217
+:10CD00000202020202020202020202020202020203
+:10CD100002020202020101020202020202020202F5
+:10CD200002020202020202020202020202020202E3
+:10CD300002020202020101020202020202020202D5
+:10CD400002020202020201020202020202020202C4
+:10CD500002020202020101020202020202020202B5
+:10CD600002020101010101020202020202020202A8
+:10CD7000010101010101010202020202020202029A
+:10CD8000020101010101010202020101010202028C
+:10CD9000020202020201010002020202010101017B
+:10CDA000010101010101010202020202020202026A
+:10CDB0000202020202020002020202020202020255
+:10CDC0000202020202020202020202020202020243
+:10CDD0000202020000020202020202020202020237
+:10CDE0000202020202020202020202020202020223
+:10CDF0000202020202000102020202020202020216
+:10CE00000202020202020202020202020202020202
+:10CE100002020202020101020202020202020202F4
+:10CE200002020202020202020202020202020202E2
+:10CE300002020202020101020202020202020202D4
+:10CE400002020202020201020202020202020202C3
+:10CE500002020202020201020202020202020202B3
+:10CE600002020202020101020202020202020202A4
+:10CE70000201010101010102020202020202020298
+:10CE80000202010101010102020202010102020289
+:10CE90000202020202020100020202020201010178
+:10CEA0000101010101010102020202020202020269
+:10CEB0000202020202020002020202020202020254
+:10CEC0000202020202020202020202020202020242
+:10CED0000202000200020202020202020202020236
+:10CEE0000202020202020202020202020202020222
+:10CEF0000202020202000202020202020202020214
+:10CF00000202020202020202020202020202020201
+:10CF100002020202020102020202020202020202F2
+:10CF200002020202020202020202020202020202E1
+:10CF300002020202020101020202020202020202D3
+:10CF400002020202020202020202020202020202C1
+:10CF500002020202020201020202020202020202B2
+:10CF600002020202020201020202020202020202A2
+:10CF70000202010101010102020202020202020296
+:10CF80000202020101010102020202010102020287
+:10CF90000202020202020100020202020202020175
+:10CFA0000101010101010102020202020202020268
+:10CFB0000202020202020002020202020202020253
+:10CFC0000202020202020202020202020202020241
+:10CFD0000202000202000202020202020202020235
+:10CFE0000202020202020202020202020202020221
+:10CFF0000202020202000202020202020202020213
+:10D000000202020202020202020202020202020200
+:10D0100002020202020202020202020202020202F0
+:10D0200002020202020202020202020202020202E0
+:10D0300002020202020102020202020202020202D1
+:10D0400002020202020202020202020202020202C0
+:10D0500002020202020202020202020202020202B0
+:10D0600002020202020201020202020202020202A1
+:10D070000202020202010102020202020202020292
+:10D080000202020101010102020202010102020286
+:10D090000202020202020200020202020202020272
+:10D0A0000101010101010102020202020202020267
+:10D0B0000202020202020002020202020202020252
+:10D0C0000202020202020202020202020202020240
+:10D0D0000202000202000202020202020202020234
+:10D0E0000202020202020202020202020202020220
+:10D0F0000202020202000202020202020202020212
+:10D1000002020202020202020202020202020202FF
+:10D1100002020202020202020202020202020202EF
+:10D1200002020202020202020202020202020202DF
+:10D1300002020202020102020202020202020202D0
+:10D1400002020202020202020202020202020202BF
+:10D1500002020202020202020202020202020202AF
+:10D16000020202020202020202020202020202029F
+:10D170000202020202020102020202020202020290
+:10D180000202020202020102020202020102020281
+:10D190000202020202020200020202020202020271
+:10D1A0000201010101010102020202020202020265
+:10D1B0000202020202020002020202020202020251
+:10D1C000020202020202020202020202020202023F
+:10D1D0000202020202000202020202020202020231
+:10D1E000020202020202020202020202020202021F
+:10D1F0000202020202000202020202020202020211
+:10D2000002020202020202020202020202020202FE
+:10D2100002020202020202020202020202020202EE
+:10D2200002020202020202020202020202020202DE
+:10D2300002020202020102020202020202020202CF
+:10D2400002020202020202020202020202020202BE
+:10D2500002020202020202020202020202020202AE
+:10D26000020202020202020202020202020202029E
+:10D27000020202020202010202020202020202028F
+:10D28000020202020202010202020202020202027F
+:10D290000202020202020200020202020202020270
+:10D2A0000202010101010102020202020202020263
+:10D2B0000202020202020002020202020202020250
+:10D2C000020202020202020202020202020202023E
+:10D2D0000202020202000202020202020202020230
+:10D2E000020202020202020202020202020202021E
+:10D2F0000202020202000202020202020202020210
+:10D3000002020202020202020202020202020202FD
+:10D3100002020202020202020202020202020202ED
+:10D3200002020202020202020202020202020202DD
+:10D3300002020202020102020202020202020202CE
+:10D3400002020202020202020202020202020202BD
+:10D3500002020202020202020202020202020202AD
+:10D36000020202020202020202020202020202029D
+:10D37000020202020202020202020202020202028D
+:10D38000020202020202020202020202020202027D
+:10D39000020202020202020202020202020202026D
+:10D3A000020202020201010202020202020202025F
+:10D3B000020202020202000202020202020202024F
+:10D3C000020202000202020202020202020202023F
+:10D3D000020202020202020202020202020202022D
+:10D3E000020202020202020202020202020202021D
+:10D3F000020202020200020202020202020202020F
+:10D4000002020202020202020202020202020202FC
+:10D4100002020202020202020202020202020202EC
+:10D4200002020202020202020202020202020202DC
+:10D4300002020202020102020202020202020202CD
+:10D4400002020202020202020202020202020202BC
+:10D4500002020202020202020202020202020202AC
+:10D46000020202020202020202020202020202029C
+:10D47000020202020202020202020202020202028C
+:10D48000020202020202020202020202020202027C
+:10D49000020202020202020202020202020202026C
+:10D4A000020202020202010202020202020202025D
+:10D4B000020202020202000202020202020202024E
+:10D4C0000202000002020202020202020202020240
+:10D4D000020202020202020202020202020202022C
+:10D4E000020202020202020202020202020202021C
+:10D4F000020202020201020202020202020202020D
+:10D5000002020202020202020202020202020202FB
+:10D5100002020202020202020202020202020202EB
+:10D5200002020202020202020202020202020202DB
+:10D5300002020202020102020202020202020202CC
+:10D5400002020202020202020202020202020202BB
+:10D5500002020202020202020202020202020202AB
+:10D56000020202020202020202020202020202029B
+:10D57000020202020202020202020202020202028B
+:10D58000020202020202020202020202020202027B
+:10D59000020202020202020202020202020202026B
+:10D5A000020202020202010202020202020202025C
+:10D5B000020202020202000202020202020202024D
+:10D5C0000202000001010102020202020202020242
+:10D5D000020202000002020202020202020202022F
+:10D5E000020202020202020202020202020202021B
+:10D5F000020202020202020202020202020202020B
+:10D6000002020202020202020202020202020202FA
+:10D6100002020202020202020202020202020202EA
+:10D6200002020202020202020202020202020202DA
+:10D6300002020202020202020202020202020202CA
+:10D6400002020202020202020202020202020202BA
+:10D6500002020202020202020202020202020202AA
+:10D66000020202020202020202020202020202029A
+:10D67000020202020202020202020202020202028A
+:10D68000020202020202020202020202020202027A
+:10D69000020202020202020202020202020202026A
+:10D6A000020202020202020202020202020202025A
+:10D6B0000201010101020002020202020202020250
+:10D6C0000101010101010102020202020202020241
+:10D6D000020202000002020202020202020202022E
+:10D6E000020201010202020202020202020202021C
+:10D6F000020202020202020202020202020202020A
+:10D7000002020202020202020202020202020202F9
+:10D7100002020202020202020202020202020202E9
+:10D7200002020202020202020202020202020202D9
+:10D7300002020202020202020202020202020202C9
+:10D7400002020202020202020202020202020202B9
+:10D7500002020202020202020202020202020202A9
+:10D760000202020202020202020202020202020299
+:10D770000202020202020202020202020202020289
+:10D780000202020202020202020202020202020279
+:10D790000202020202020202020202020202020269
+:10D7A000020202020202020202020202020202015A
+:10D7B0000101010101010102020202020101010154
+:10D7C0000101010101010102020202020202020240
+:10D7D000020202000002020202020202020201012F
+:10D7E0000101010101010102020202020202020220
+:10D7F0000202020202020202020202020202020209
+:10D8000002020202020202020202020202020202F8
+:10D8100002020202020202020202020202020202E8
+:10D8200002020202020202020202020202020202D8
+:10D8300002020202020202020202020202020202C8
+:10D8400002020202020202020202020202020202B8
+:10D8500002020202020202020202020202020202A8
+:10D860000202020202020202020202020202020298
+:10D870000202020202020202020202020202020288
+:10D880000202020202020202020202020202020278
+:10D890000202020202020202020202020202020268
+:10D8A000020202020202020202020201010101015D
+:10D8B0000101010101010102020201010101010155
+:10D8C0000101010101010102020202020202020041
+:10D8D0000101010000010102020202010101010136
+:10D8E000010101010101010202020202020202021F
+:10D8F000020202020002010202020202020202020B
+:10D9000002020202000002020202020202020202FB
+:10D9100002020202020202020202020202020202E7
+:10D9200002020202020202020202020202020202D7
+:10D9300002020202020202020202020202020202C7
+:10D9400002020202020202020202020202020202B7
+:10D9500002020202020202020202020202020202A7
+:10D960000202020202020202020202020202020297
+:10D970000202020202020202020202020202020287
+:10D980000202020202020202020202020202020277
+:10D990000202020202020202020202020202020267
+:10D9A000020202020202020202020101010101015D
+:10D9B0000101010101010101010101010101010157
+:10D9C0000101010101010102020202020202020040
+:10D9D0000101010100010101010101010101010138
+:10D9E000010101010101010202020202020202011F
+:10D9F000010101010101010202020202020202020E
+:10DA000002020202000002020202020202020202FA
+:10DA100002020000020202020202020202020202EA
+:10DA200002020202020202020202020202020202D6
+:10DA300002020202020202020202020202020202C6
+:10DA400002020202020202020202020202020202B6
+:10DA500002020202020202020202020202020202A6
+:10DA60000202020202020202020202020202020296
+:10DA70000202020202020202020202020202020286
+:10DA80000202020202020202020202020202020276
+:10DA90000202020202020202020202020202020266
+:10DAA000020202020202020101010101010101015F
+:10DAB0000101010101010101010101010101010156
+:10DAC0000101010101010102020202010101010142
+:10DAD0000101010101010101010101010101010136
+:10DAE0000101010101010102020202010101010122
+:10DAF000010101010101010202020202020202020D
+:10DB000002020101000002020202020202020202FB
+:10DB100000000000020202020202020202020202ED
+:10DB200002020202020202020202020202020202D5
+:10DB300002020202020202020202020202020202C5
+:10DB400002020202020202020202020202020202B5
+:10DB500002020202020202020202020202020202A5
+:10DB60000202020202020202020202020202020295
+:10DB70000202020202020202020202020202020285
+:10DB80000202020202020202020202020202020275
+:10DB90000202020202020202020202020202020265
+:10DBA000020202020202020101010101010101015E
+:10DBB0000101010101010101010101010101010155
+:10DBC0000101010101010101010101010101010145
+:10DBD0000101010101010101010101010101010135
+:10DBE0000101010101010101010101010101010125
+:10DBF000010101010101010202020202020201010E
+:10DC000001010101000001010202020202020202FE
+:10DC100000000000020202020202020202020202EC
+:10DC200002020202020202020202020202020202D4
+:10DC300002020202020202020202020202020202C4
+:10DC400002020202020202020202020202020202B4
+:10DC500002020202020202020202020202020202A4
+:10DC60000202020202020202020202020202020294
+:10DC70000202020202020202020202020202020284
+:10DC80000202020202020202020202020202020274
+:10DC90000202020202020202020202020202020264
+:10DCA000020202020202020101010101010101015D
+:10DCB0000101010101010101010101010101010154
+:10DCC0000101010101010101010101010101010144
+:10DCD0000101010101010101010101010101010134
+:10DCE0000101010101010101010101010101010124
+:10DCF0000101010101010102020202010101010110
+:10DD000001010101010101010102020202020202FC
+:10DD100000000101000101020202020202020202ED
+:10DD200002020202020202020202020202020202D3
+:10DD300002020202020202020202020202020202C3
+:10DD400002020202020202020202020202020202B3
+:10DD500002020202020202020202020202020202A3
+:10DD60000202020202020202020202020202020293
+:10DD70000202020202020202020202020202020283
+:10DD80000202020202020202020202020202020273
+:10DD90000202020202020202020202020202020263
+:10DDA000020202020202020101010101010101015C
+:10DDB0000101010101010101010101010101010153
+:10DDC0000101010101010101010101010101010143
+:10DDD0000101010101010101010101010101010133
+:10DDE0000101010101010101010101010101010123
+:10DDF0000101010101010101010101010101010113
+:10DE000001010101010101010102020102010101FF
+:10DE100001010101010101020202020202020202E9
+:10DE200002020202020202020202020202020202D2
+:10DE300002020202020202020202020202020202C2
+:10DE400002020202020202020202020202020202B2
+:10DE500002020202020202020202020202020202A2
+:10DE60000202020202020202020202020202020292
+:10DE70000202020202020202020202020202020282
+:10DE80000202020202020202020202020202020272
+:10DE90000202020202020202020202020202020262
+:10DEA000020202020202020101010101010101015B
+:10DEB0000101010101010101010101010101010152
+:10DEC0000101010101010101010101010101010142
+:10DED0000101010101010101010101010101010132
+:10DEE0000101010101010101010101010101010122
+:10DEF0000101010101010101010101010101010112
+:10DF00000101010101010101010101010101010101
+:10DF100001010101010101020202020202020202E8
+:10DF200002020202020202020202020202020202D1
+:10DF300002020202020202020202020202020202C1
+:10DF400002020202020202020202020202020202B1
+:10DF500002020202020202020202020202020202A1
+:10DF60000202020202020202020202020202020291
+:10DF70000202020202020202020202020202020281
+:10DF80000202020202020202020202020202020271
+:10DF90000202020202020202020202020202020261
+:10DFA000020202020202020101010101010101015A
+:10DFB0000101010101010101010101010101010151
+:10DFC0000101010101010101010101010101010141
+:10DFD0000101010101010101010101010101010131
+:10DFE0000101010101010101010101010101010121
+:10DFF0000101010101010101010101010101010111
+:10E000000101010101010101010101010101010100
+:10E0100001010101010101020202020202020202E7
+:10E0200002020202020202020202020202020202D0
+:10E0300002020202020202020202020202020202C0
+:10E0400002020202020202020202020202020202B0
+:10E0500002020202020202020202020202020202A0
+:10E060000202020202020202020202020202020290
+:10E070000202020202020202020202020202020280
+:10E080000202020202020202020202020202020270
+:10E090000202020202020202020202020202020260
+:10E0A0000202020202020201010101010101010159
+:10E0B0000101010101010101010101010101010150
+:10E0C0000101010101010101010101010101010140
+:10E0D0000101010101010101010101010101010130
+:10E0E0000101010101010101010101010101010120
+:10E0F0000101010101010101010101010101010110
+:10E1000001010101010101010101010101010101FF
+:10E1100001010101010101020202020202020101E8
+:10E1200001010101010101020202020202020202D6
+:10E1300002020202020202020202020202020202BF
+:10E1400002020202020202020202020202020202AF
+:10E15000020202020202020202020202020202029F
+:10E16000020202020202020202020202020202028F
+:10E17000020202020202020202020202020202027F
+:10E18000020202020202020202020202020202026F
+:10E19000020202020202020202020202020202025F
+:10E1A0000202020202020201010101010101010158
+:10E1B000010101010101010101010101010101014F
+:10E1C000010101010101010101010101010101013F
+:10E1D000010101010101010101010101010101012F
+:10E1E000010101010101010101010101010101011F
+:10E1F000010101010101010101010101010101010F
+:10E2000001010101010101010101010101010101FE
+:10E2100001010101010101010101010101010101EE
+:10E2200001010101010101020202020202020202D5
+:10E2300002020202020202020202020202020202BE
+:10E2400002020202020202020202020202020202AE
+:10E25000020202020202020202020202020202029E
+:10E26000020202020202020202020202020202028E
+:10E27000020202020202020202020202020202027E
+:10E28000020202020202020202020202020202026E
+:10E29000020202020202020202020202020202025E
+:10E2A0000202020202020201010101010101010157
+:10E2B000010101010101010101010101010101014E
+:10E2C000010101010101010101010101010101013E
+:10E2D000010101010101010101010101010101012E
+:10E2E000010101010101010101010101010101011E
+:10E2F000010101010101010101010101010101010E
+:10E3000001010101010101010101010101010101FD
+:10E3100001010101010101010101010101010101ED
+:10E3200001010101010101020202020202020202D4
+:10E3300002020202020002020202020202020202BF
+:10E3400002020202020202020202020202020202AD
+:10E35000020202020202020202020202020202029D
+:10E36000020202020202020202020202020202028D
+:10E37000020202020202020202020202020202027D
+:10E38000020202020202020202020202020202026D
+:10E39000020202020202020202020202020202025D
+:10E3A0000202020202020201010101010101010156
+:10E3B000010101010101010101010101010101014D
+:10E3C000010101010101010101010101010101013D
+:10E3D000010101010101010101010101010101012D
+:10E3E000010101010101010101010101010101011D
+:10E3F000010101010101010101010101010101010D
+:10E4000001010101010101010101010101010101FC
+:10E4100001010101010101010101010101010101EC
+:10E4200001010101010101020200000202020202D7
+:10E4300002020202020002020202020202020202BE
+:10E4400002020202020202020202020202020202AC
+:10E45000020202020202020202020202020202029C
+:10E46000020202020202020202020202020202028C
+:10E47000020202020202020202020202020202027C
+:10E48000020202020202020202020202020202026C
+:10E49000020202020202020202020202020202025C
+:10E4A0000202020202020201010101010101010155
+:10E4B000010101010101010101010101010101014C
+:10E4C000010101010101010101010101010101013C
+:10E4D000010101010101010101010101010101012C
+:10E4E000010101010101010101010101010101011C
+:10E4F000010101010101010101010101010101010C
+:10E5000001010101010101010101010101010101FB
+:10E5100001010101010101010101010101010101EB
+:10E5200001010101010101010200000101010101DC
+:10E5300001010101010001020202020202020202C3
+:10E5400002020202020202020202020202020202AB
+:10E55000020202020202020202020202020202029B
+:10E56000020202020202020202020202020202028B
+:10E57000020202020202020202020202020202027B
+:10E58000020202020202020202020202020202026B
+:10E59000020202020202020202020202020202025B
+:10E5A0000202020202020201010101010101010154
+:10E5B000010101010101010101010101010101014B
+:10E5C000010101010101010101010101010101013B
+:10E5D000010101010101010101010101010101012B
+:10E5E000010101010101010101010101010101011B
+:10E5F000010101010101010101010101010101010B
+:10E6000001010101010101010101010101010101FA
+:10E6100001010101010101010101010101010101EA
+:10E6200001010101010101010101010101010101DA
+:10E6300001010101010101010101010101010101CA
+:10E6400001010101010101020202020202020202B1
+:10E65000020202020202020202020202020202029A
+:10E66000020202020202020202020202020202028A
+:10E670000202020202020202020101010101010181
+:10E680000101010101010102020202020202020271
+:10E69000020202020202020202020202020202025A
+:10E6A0000202020202020201010101010101010153
+:10E6B000010101010101010101010101010101014A
+:10E6C000010101010101010101010101010101013A
+:10E6D000010101010101010101010101010101012A
+:10E6E000010101010101010101010101010101011A
+:10E6F000010101010101010101010101010101010A
+:10E7000001010101010101010101010101010101F9
+:10E7100001010101010101010101010101010101E9
+:10E7200001010101010101010101010101010101D9
+:10E7300001010101010101010101010101010101C9
+:10E7400001010101010101010101010101010101B9
+:10E7500001010101010101020202020202020202A0
+:10E760000202020202020201010101010101010192
+:10E770000101010101010101010101010101010189
+:10E780000101010101010102020202020201010173
+:10E790000101010101010102020202020202020260
+:10E7A0000202020202020201010101010101010152
+:10E7B0000101010101010101010101010101010149
+:10E7C0000101010101010101010101010101010139
+:10E7D0000101010101010101010101010101010129
+:10E7E0000101010101010101010101010101010119
+:10E7F0000101010101010101010101010101010109
+:10E8000001010101010101010101010101010101F8
+:10E8100001010101010101010101010101010101E8
+:10E8200001010101010101010101010101010101D8
+:10E8300001010101010101010101010101010101C8
+:10E8400001010101010101010101010101010101B8
+:10E8500001010101010101010101010101010101A8
+:10E860000101010101010101010101010101010198
+:10E870000101010101010101010101010101010188
+:10E880000101010101010101010101010101010178
+:10E89000010101010101010202020202020202025F
+:10E8A0000202020202020201010101010101010151
+:10E8B0000101010101010101010101010101010148
+:10E8C0000101010101010101010101010101010138
+:10E8D0000101010101010101010101010101010128
+:10E8E0000101010101010101010101010101010118
+:10E8F0000101010101010101010101010101010108
+:10E9000001010101010101010101010101010101F7
+:10E9100001010101010101010101010101010101E7
+:10E9200001010101010101010101010101010101D7
+:10E9300001010101010101010101010101010101C7
+:10E9400001010101010101010101010101010101B7
+:10E9500001010101010101010101010101010101A7
+:10E960000101010101010101010101010101010197
+:10E970000101010101010101010101010101010187
+:10E980000101010101010101010101010101010177
+:10E990000101010101010100010101010101010168
+:10E9A0000101010101010101010101010101010157
+:10E9B0000101010101010101010101010101010147
+:10E9C0000101010101010101010101010101010137
+:10E9D0000101010101010101010101010101010127
+:10E9E0000101010101010101010101010101010117
+:10E9F0000101010101010101010101010101010107
+:10EA000001010101010101010101010101010101F6
+:10EA100001010101010101010101010101010101E6
+:10EA200001010101010101010101010101010101D6
+:10EA300001010101010101010101010101010101C6
+:10EA400001010101010101010101010101010101B6
+:10EA500001010101010101010101010101010101A6
+:10EA60000101010101010101010101010101010196
+:10EA70000101010101010101010101010101010186
+:10EA80000101010101010101010101010101010176
+:10EA9000010101010101010000000000000000006F
+:10EAA000000000000000000101010101010101015D
+:10EAB0000101010101010101010101010101010146
+:10EAC0000101010101010101010101010101010136
+:10EAD0000101010101010101010101010101010126
+:10EAE0000101010101010101010101010101010116
+:10EAF0000101010101010101010101010101010106
+:10EB000001010101010101020201010101010101F3
+:10EB100001010101010101010101010101010101E5
+:10EB200001010101010101010101010101010101D5
+:10EB300001010101010101010101010101010101C5
+:10EB400001010101010101010101010101010101B5
+:10EB500001010101010101010101010101010101A5
+:10EB60000101010101010101010101010101010195
+:10EB70000101010101010101010101010101010185
+:10EB80000101010101010101010101010101010175
+:10EB9000010101010101010000000000000000006E
+:10EBA000000000000000000101010101010101015C
+:10EBB0000101010101010101010101010101010145
+:10EBC0000101010101010101010101010101010135
+:10EBD000010101010101010202020202020202021C
+:10EBE0000202020202020202020202020202020205
+:10EBF00002020202020202020202020202020202F5
+:10EC000002020202020202020202020202020202E4
+:10EC100002020202020202010101010101010101DD
+:10EC200001010101010101010101010101010101D4
+:10EC300001010101010101010101010101010101C4
+:10EC400001010101010101010101010101010101B4
+:10EC500001010101010101010101010101010101A4
+:10EC60000101010101010101010101010101010194
+:10EC7000010101010101010202020202020202027B
+:10EC80000202020202020202020202020202020264
+:10EC90000202020202020200000000000000000066
+:10ECA000000000000000000101010101010101015B
+:10ECB000010101010101010202020202020202023B
+:10ECC0000202020202020202020202020202020224
+:10ECD0000202020202020202020202020202020214
+:10ECE0000202020202020202020202020202020204
+:10ECF00002020202020202020202020202020202F4
+:10ED000002020202020202020202020202020202E3
+:10ED100002020202020202020202020202020202D3
+:10ED200002020202020202010101010101010101CC
+:10ED300001010101010101010101010101010101C3
+:10ED400001010101010101010101010101010101B3
+:10ED500001010101010101010101010101010101A3
+:10ED6000010101010101010202020202020202028A
+:10ED70000202020202020202020202020202020273
+:10ED80000202020202020202020202020202020263
+:10ED90000202020202020200000000000000000065
+:10EDA0000000000000000000000000000000000063
+:10EDB0000000000000000000000000000000000053
+:10EDC0000000000000000000000000000000000043
+:10EDD0000000000000000000000000000000000033
+:10EDE0000000000000000000000000000000000023
+:10EDF0000000000000000000000000000000000013
+:10EE00000000000000000000000000000000000002
+:10EE100000000000000000000000000000000000F2
+:10EE200000000000000000000000000000000000E2
+:10EE300000000000000000000000000000000000D2
+:10EE400000000000000000000000000000000000C2
+:10EE500000000000000000000000000000000000B2
+:10EE600000000000000000000000000000000000A2
+:10EE70000000000000000000000000000000000092
+:10EE80000000000000000000000000000000000082
+:10EE90000000000000000000000000000000000072
+:10EEA000000000000000004300000000000000001F
+:10EEB0000000000000000000000000000000000052
+:10EEC0000000000000000000000000000000000042
+:10EED0000000000000000000000000000000000032
+:10EEE0000000000000000000000000000000000022
+:10EEF0000000000000000000000000000000000012
+:10EF00000000000000000000000000000000000001
+:10EF100000000000000000000000000000000000F1
+:10EF200000000000000000000000000000000000E1
+:10EF300000000000000000000000000000000000D1
+:10EF400000000000010000000000000000000000C0
+:10EF500000000000010000000000000000000000B0
+:10EF6000010100010100000000000000000000009D
+:10EF70000000000000000000000000000000000091
+:10EF80000000000000000000000000000000000081
+:10EF90000000000000000000000000000000000071
+:10EFA0000000000000000000000000000000000061
+:10EFB000010101010101000000000000000000004B
+:10EFC0000000000000000000000000000000000041
+:10EFD0000000000000000000000000000000000031
+:10EFE0000000000000000000000000000000000021
+:10EFF0000000000000000000000000000000000011
+:10F000000000000000000000000000000000000000
+:10F0100000000000000000000000000000000000F0
+:10F0200000000000000000000000000000000000E0
+:10F0300000000000000000000000000000000100CF
+:10F0400000000000010000000000000000000000BF
+:10F0500000000000010000000000000000000000AF
+:10F06000010100010100000000000000000001009B
+:10F070000000000000000000000000000000000090
+:10F080000000000000000000000000000000000080
+:10F090000000000000000000000000000000000070
+:10F0A000000000000000000000000000000000015F
+:10F0B0000101010101010100000000000000000049
+:10F0C0000000000000000000000000000000000040
+:10F0D0000000000000000000000000000000000030
+:10F0E0000000000000000000000000000000000020
+:10F0F0000000000000000000000000000000000010
+:10F1000000000000000000000000000000000000FF
+:10F1100000000000000000000000000000000000EF
+:10F1200000000000000000000000000000000000DF
+:10F1300000000001010100000000000000000100CB
+:10F1400000000000010000000000000000000000BE
+:10F1500000010001010100000000000000000000AB
+:10F160000101010101010000000000000000010098
+:10F17000000000000000000000000000000000008F
+:10F18000000000000000000000000000000000007F
+:10F19000000000000000000000000000000000006F
+:10F1A000000000000000000000000000000000015E
+:10F1B0000101010101010101010000010000000045
+:10F1C000000000000000000000000000000000003F
+:10F1D000000000000000000000000000000000002F
+:10F1E000000000000000000000000000000000001F
+:10F1F000000000000000010000000000000000000E
+:10F2000000000000000000000000000000000000FE
+:10F2100000000000000000000000000000000000EE
+:10F2200000000000000000000000000000000000DE
+:10F2300000000001010101000000000000000100C9
+:10F2400000000000010000000000000000000001BC
+:10F2500000010001010100000000000000000101A8
+:10F260000101010101010000000000000000010097
+:10F27000000000000000000000000000000000008E
+:10F28000000000000000000000000000000000007E
+:10F29000000000000000000000000000000000006E
+:10F2A000000000000000000000000000000000015D
+:10F2B0000101010101010101010001010001000042
+:10F2C000000000000100000000000000000000003D
+:10F2D000000000000000000000000000000000002E
+:10F2E000000000010000000000000000000000001D
+:10F2F000000000000000010000000000000000000D
+:10F3000000000000000000000000000000000000FD
+:10F3100000000000000000000000000000000000ED
+:10F3200000000000000000000000000000000000DD
+:10F3300000000001010101000000000000000100C8
+:10F3400000000001010100000000000000000001B9
+:10F3500000010101010100000000000000000101A6
+:10F360000101010101010000010000000000010095
+:10F37000000000000000000000000000000000008D
+:10F38000000000000000000000000000000000007D
+:10F39000000000000000000000000000000000006D
+:10F3A000000000000000000000000000000000015C
+:10F3B0000101010101010101010101010001000040
+:10F3C000000000000100000000000000000000003C
+:10F3D000000000000000000000000000000000002D
+:10F3E000000000010000000000000000000000001C
+:10F3F000000000000000010000000100000000000B
+:10F4000000000000000000000000000000000000FC
+:10F4100000000000000000000000000000000000EC
+:10F4200000000000000000000000000000000000DC
+:10F4300000000001010101000000000000000100C7
+:10F4400000000001010100000000000000000101B7
+:10F4500000010101010100000000000000000101A5
+:10F460000101010101010100010000000001010092
+:10F47000000000000000000000000000000000008C
+:10F48000000000000000000000000000000000007C
+:10F49000000000000000000000000000000000006C
+:10F4A000000000000000000000000000000000015B
+:10F4B000010101010101010101010101010100003E
+:10F4C000000000000100000000000000000000003B
+:10F4D000000000000000000000000000000000002C
+:10F4E000000000010000000000000000000000001B
+:10F4F0000000010000000101010001010000000006
+:10F5000000000000000000000000000000000000FB
+:10F5100000000000000000000000000000000000EB
+:10F5200000000000000000000000000000000000DB
+:10F5300000000001010101010100000000000100C4
+:10F5400000000001010100000000000000000101B6
+:10F5500000010101010100000100000000000101A3
+:10F560000101010101010101010000000001010090
+:10F57000000000000000000000000000000000008B
+:10F58000000000000000000000000000000000007B
+:10F59000000000000000000000000000000000006B
+:10F5A000000000000000000000000000000000015A
+:10F5B000010101010101010101010101010100003D
+:10F5C000000000000100000000000000000000003A
+:10F5D000000000000000000000000000010000002A
+:10F5E000000000010000000000000000000000001A
+:10F5F0000000010000000101010001010000000005
+:10F6000000000000000000000000000000000000FA
+:10F6100000000000000000000000000000000000EA
+:10F6200000000001010000000000000000000000D8
+:10F6300000000001010101010100000000000100C3
+:10F6400000000001010101000000000000000101B4
+:10F6500000010101010101000100000000000101A1
+:10F66000010101010101010101000000000101008F
+:10F67000000000000000000000000000000000008A
+:10F68000000000000000000000000000000000007A
+:10F69000000000000000000000000000000000006A
+:10F6A0000000000000000000000000000000000159
+:10F6B000010101010101010101010101010100003C
+:10F6C0000000000001010000000000000000000038
+:10F6D0000000000000000000000000000100000029
+:10F6E0000000000100000000000000000000000019
+:10F6F0000100010000000101010001010000000003
+:10F7000000000000000000000000000000000000F9
+:10F7100000000000000000000000000000000000E9
+:10F7200000000001010000000000000000000000D7
+:10F7300000000001010101010101000000000100C1
+:10F7400000000001010101010100000000000101B1
+:10F75000000101010101010101000000000001019F
+:10F76000010101010101010101010001000101008C
+:10F770000000000001000000000000000000000088
+:10F780000000000000000000000000000000000079
+:10F790000000000000000000000000000000000069
+:10F7A0000000000000000000000000000000000158
+:10F7B000010101010101010101010101010100003B
+:10F7C0000000000001010000000000000000000037
+:10F7D0000000000000000000000000000100000028
+:10F7E0000000000100000000000000000000000018
+:10F7F0000100010000000101010001010100000001
+:10F8000000000000000000000000000000000000F8
+:10F8100000000000000000000000000000000000E8
+:10F8200000000001010100000000000000000000D5
+:10F8300000000001010101010101000000000100C0
+:10F8400000000001010101010100000000000101B0
+:10F85000000101010101010101000000000101019D
+:10F86000010101010101010101010101000101008A
+:10F870000000000001000000000000000000000087
+:10F880000000000000000000000000000000000078
+:10F890000000000000000000000000000000000068
+:10F8A0000000000000000000000000000000000157
+:10F8B000010101010101010101010101010100003A
+:10F8C0000100000001010000000000000000000035
+:10F8D0000000000000010000000000000100000026
+:10F8E0000000000100000000000000000000000017
+:10F8F00001010100000001010100010101000000FF
+:10F9000000000000000100000000000000000000F6
+:10F9100000000000000000000000000000000000E7
+:10F9200000000001010100000000000000000100D3
+:10F9300000000001010101010101000000000100BF
+:10F9400000000001010101010100000000000101AF
+:10F95000000101010101010101010000000101019B
+:10F960000101010101010101010101010001010089
+:10F970000100000001010000000000000000000084
+:10F980000000000001000000000000000000000076
+:10F990000000000000000000000000000000000067
+:10F9A0000000000000000000000000000000000156
+:10F9B0000101010101010101010101010101000039
+:10F9C0000100000001010000000000000000000034
+:10F9D0000000000000010000000000000100000025
+:10F9E0000000000100000000000000000000000016
+:10F9F00001010100000001010100010101000000FE
+:10FA000000000000000101000000000000000000F4
+:10FA100000000000000000000000000000000000E6
+:10FA200000000001010100000000000000000100D2
+:10FA300000000001010101010101000000010100BD
+:10FA400000000001010101010100000000000101AE
+:10FA5000000101010101010101010000000101019A
+:10FA60000101010101010101010101010101010087
+:10FA70000100000001010000000000000000000083
+:10FA80000000000001000000000000000000000075
+:10FA90000000000000000000000000000000000066
+:10FAA0000000000000000000000000000000000155
+:10FAB0000101010101010101010101010101000038
+:10FAC0000100000001010000000000000000000033
+:10FAD0000001000001010000000000000100000022
+:10FAE0000100000100000000000000000000000014
+:10FAF00001010101000001010101010101000000FB
+:10FB000000000000000101000000000000000000F3
+:10FB100000000000000000000000000000000000E5
+:10FB200000000001010100000000000000000100D1
+:10FB300000000001010101010101000100010100BB
+:10FB400000000001010101010101000000000101AC
+:10FB50000001010101010101010100010001010198
+:10FB60000101010101010101010101010101010086
+:10FB70000101000101010000000000000000000080
+:10FB80000100000001010000000000000000000072
+:10FB90000000000000000000000000000000000065
+:10FBA0000000000000000000000000000000000253
+:10FBB0000101010101010101010101010101000037
+:10FBC0000100000001010100000000000000010030
+:10FBD0000001000001010100000000000100000020
+:10FBE0000100000100000000000000000000000013
+:10FBF00001010101000001010101010101000000FA
+:10FC000000000000000101000000000000000000F2
+:10FC100000000000000000000000000000000000E4
+:10FC200000000001010100000000000000000100D0
+:10FC300000000001010101010101010100010100B9
+:10FC400000000001010101010101000000000101AB
+:10FC50000001010101010101010101010001010196
+:10FC60000101010101010101010101010101010184
+:10FC7000010100010101010000000000000001007D
+:10FC80000100000001010000000000000000010070
+:10FC90000000000000000000000000000000000064
+:10FCA0000000000000000000000000000000000252
+:10FCB0000101010101010101010101010101000036
+:10FCC000010101000101010000010000000001002C
+:10FCD000000101010101010000000000010000001D
+:10FCE0000100000101000000000000000000000011
+:10FCF00001010101000001010101010101000000F9
+:10FD000001000100000101010000000000000000EE
+:10FD100000000000000000000000000000000000E3
+:10FD200000000001010100000000000000000100CF
+:10FD300000000001010101010101010100010100B8
+:10FD400000000001010101010101000000000101AA
+:10FD50000001010101010101010101010001010195
+:10FD60000101010101010101010101010101010183
+:10FD7000010101010101010001000000000001007A
+:10FD8000010100010101000000000000000001006D
+:10FD90000100000000000000000000000000000062
+:10FDA0000000000000000000000000000000000251
+:10FDB0000202020101010101010101010101000032
+:10FDC000010101000101010000010100000001002A
+:10FDD000000101010101010000000000010000001C
+:10FDE0000100000101000000000000000000000010
+:10FDF00001010101000001010101010101010101F5
+:10FE000001000100000101010000000000000000ED
+:10FE100000000000000000000000000000000000E2
+:10FE200000000001010100000000000000000100CE
+:10FE300000000001010101010101010100010100B7
+:10FE400000000001010101010101000000010101A8
+:10FE50000001010101010101010101010101010193
+:10FE60000101010101010101010101010101010182
+:10FE70000101010101010100010000000000010178
+:10FE8000010100010101010000000000000001006B
+:10FE90000100000000000000000000000000000061
+:10FEA0000000000000000000000000000000000250
+:10FEB0000202020201010101010101010101000030
+:10FEC0000101010001010100000101000000010029
+:10FED000000101010101010000000000010000001B
+:10FEE000010101010100000000000000000000000D
+:10FEF00001010101000001010101010101010101F4
+:10FF000001010100000101010100000000000000EA
+:10FF100000000000000000000000000000000000E1
+:10FF200000000001010101000000000000000100CC
+:10FF300001000001010101010101010100010100B5
+:10FF400000000001010101010101000100010101A6
+:10FF50000001010101010101010101010101010192
+:10FF60000101010101010101010101010101010181
+:10FF70000101010101010100010000000000010177
+:10FF80000101010101010100010000000000010068
+:10FF90000100000000000000000000000000000060
+:10FFA000000000000000000000000000000000024F
+:10FFB000020202020202010101010101010100002D
+:10FFC0000101010001010100000101000101010125
+:10FFD000000101010101010000000000010000001A
+:10FFE000010101010100000000000000000000000C
+:10FFF00001010101000001010101010101010101F3
+:0200000270008C
+:1000000001010100000101010100000000000000E9
+:1000100000000000000000000000000000000000E0
+:1000200000000001010101010100000000000101C8
+:1000300001000001010101010101010101010100B3
+:1000400000000001010101010101010100010101A4
+:100050000001010101010101010101010101010191
+:100060000101010101010101010101010101010180
+:100070000101010101010100010000000001010175
+:100080000101010101010100010000000001010165
+:10009000010000000000000000000000000000005F
+:1000A000000000000000000000000000000000024E
+:1000B000020202020202020101010101010100002B
+:1000C0000101010101010100000101000101010123
+:1000D0000001010101010100000000000100000019
+:1000E000010101020100000000000000000000000A
+:1000F00001010101000001010101010101010101F2
+:1001000001010100000101010100000000000000E8
+:1001100000000000000000000000000000000000DF
+:1001200000000001010101010100000000000101C7
+:1001300001000001010101010101010101010100B2
+:1001400000000001010101010101010100010101A3
+:100150000001010101010101010101010101010190
+:10016000010101010101010101010101010101017F
+:100170000101010101010101010100010001010171
+:100180000101010101010101010100010001010161
+:10019000010100000100000000000000000000005C
+:1001A000000000000000000000000000000000024D
+:1001B0000202020202020202010101010101000128
+:1001C0000101010101010100000101000101010122
+:1001D0000001010101010100000000000100000117
+:1001E0000101010201000000000000000000000108
+:1001F00001010101000001010101010101010101F1
+:1002000001010100000101010100000000000000E7
+:1002100000000000000000000000000000000000DE
+:1002200000000001010101010100000000000101C6
+:1002300001000001010101010101010101010100B1
+:1002400000000001010101010101010101010101A1
+:10025000000101010101010101010101010101018F
+:10026000010101010101010101010101010101017E
+:10027000010101010101010101010101000101016F
+:10028000010101010101010101010101000101015F
+:10029000010100000100000000000000000000005B
+:1002A000000000000000000000000000000000024C
+:1002B0000202020202020202020102020101000124
+:1002C000010101010101010101010100010101011F
+:1002D0000101010101010100000000000100000115
+:1002E0000101010201000000000000000000000107
+:1002F00001010201000001010101010101010101EF
+:1003000001010101000101010100000000000000E5
+:1003100001000000000100000000000000000001DA
+:1003200000000001010101010100000000000101C5
+:1003300001010001010101010101010101010100AF
+:10034000000000010101010101010101010101029F
+:10035000000101010101010101010101010101018E
+:10036000010101010101010101010101010101017D
+:10037000010101010101010101010101000101016E
+:10038000010101010101010101010101000101015E
+:100390000101010101010000000000000000000057
+:1003A000000000000000000000000000000000024B
+:1003B0000202020202020202020202020101000122
+:1003C000010101010201010101010100010101011D
+:1003D0000101010101010100000000000100000114
+:1003E0000101010201000000000000000000000106
+:1003F00002010201000002010101010101010101EC
+:1004000001010101000101010100000000000101E2
+:1004100001000000000100000000000000000001D9
+:1004200001000001010101010100000000000101C3
+:1004300001010002010101010101010101010100AD
+:10044000000000010101010101010101010101029E
+:10045000000101010101010101010101010101028C
+:10046000010101010101010101010101010101017C
+:10047000010101010101010101010101010101016C
+:10048000010101010101010101010101010101015C
+:100490000101010101010000000000000000000056
+:1004A000000000000000000000000000000000024A
+:1004B000020202020202020202020202020200011F
+:1004C000020101010201010101010100010101011B
+:1004D0000101010101010100000000000100000113
+:1004E0000201010201010000000200000000000101
+:1004F00002020201010002010101010101010102E8
+:1005000001010101000101010101000000000101E0
+:1005100001000000000100000000000000000001D8
+:1005200001000001010101010100000000000101C2
+:1005300001010102010101010101010101010100AB
+:100540000101000202010101010101010101010299
+:100550000102010101010101010101010101010289
+:100560000202010101010101010101010101010179
+:10057000010101010101010101010101010101016B
+:10058000010101010101010101010101010101015B
+:100590000101010101010000000000000000000055
+:1005A0000000000000000000000000000000000249
+:1005B000020202020202020202020202020200011E
+:1005C0000201010102020101010101000101010119
+:1005D0000102010101010100000000000100000111
+:1005E00002010102010100000002000002000101FD
+:1005F00002020201010002020101020101010102E5
+:1006000001010101000101010101000000010101DE
+:1006100001000000000100000000000000000001D7
+:1006200001010102010101010101000000000101BD
+:1006300001010102020201010101010101010101A7
+:100640000101000202010101010101010101010298
+:100650000102020201010101010101010101010286
+:100660000202020201010101010101010101010176
+:10067000010101010101010101010101010101016A
+:10068000010101010101010101010101010101015A
+:100690000101010101010100000000000000010052
+:1006A0000000000000000000000000000000000248
+:1006B000020202020202020202020202020200011D
+:1006C0000202020102020101010101010101010214
+:1006D000010202010102010000000000010000020D
+:1006E00002020202010100000201000002000101F9
+:1006F00002020202010002020201020201010102E1
+:1007000002010201010201010101000000010101D9
+:1007100001010100000100010000000000000001D3
+:1007200001010102010101010101000000010101BB
+:1007300001010102020202010101010101010101A5
+:100740000101010202020101010101010101010295
+:100750000102020202010101010101010101010284
+:100760000202020201010101010101010101010175
+:100770000101010101010101010101010101010169
+:100780000101010101010101010101010101010159
+:10079000010101010101010101000000000001004F
+:1007A0000000000000000000000000000000000247
+:1007B000020202020202020202020202020200021B
+:1007C0000202020102020101010101010101010213
+:1007D000010202020102010000000000020000020A
+:1007E00002020202020100000101000001000102F8
+:1007F00002020202010002020201020201010102E0
+:1008000002020201010202010101010001010101D4
+:1008100001010100000100010000000000010001D1
+:1008200001010102020101010101000000010101B9
+:1008300001010102020202010101010101010101A4
+:100840000101010202020101010101010101010294
+:100850000102020202020101010101010101010282
+:100860000202020202010101010101010101010173
+:100870000101010101010101010101010101010168
+:100880000101010101010101010101010101010158
+:10089000010101010101010101000000000101004D
+:1008A0000000000000000000000000020000000244
+:1008B000020202020202020202020202020200021A
+:1008C0000202020102020201010101010101010211
+:1008D0000102020202020200000000000200000207
+:1008E00002020202020100020101000001000102F5
+:1008F00002020202010002020201020202010102DE
+:1009000002020201010202010101010101010101D2
+:1009100001010100000100010000000000010001D0
+:1009200001010102020201010101010000010102B5
+:1009300001010102020202020101010101010101A2
+:100940000101010202020201010101010101010292
+:100950000102020202020101010101010101010281
+:100960000202020202020101010101010101010171
+:100970000101010101010101010101010101010167
+:100980000101010101010101010101010101010157
+:10099000010101010101010101010001000101004A
+:1009A0000000000000000000000000020000000243
+:1009B0000202020202020202020202020202000219
+:1009C000020202020202020101020101010101020E
+:1009D0000102020202020200000002000201010202
+:1009E00002020202020100010101020001000102F3
+:1009F00002020202010002020202020202010102DC
+:100A000002020201010202020101010101010102CF
+:100A100001010100000101010000000000010102CC
+:100A200001010102020201010101010000010102B4
+:100A300001010102020202020201010101010101A0
+:100A40000101010202020202010101010101010290
+:100A50000102020202020101010101010101010280
+:100A6000020202020202010101010101010101026F
+:100A70000101010101010101010101010101010166
+:100A80000101010101010101010101010101010255
+:100A90000101010101010101010101010001010048
+:100AA0000000000201000000000000010000000240
+:100AB0000202020202020202020202020202000218
+:100AC000020202020202020101020201010101020C
+:100AD00002020202020202000202010202010102FB
+:100AE00002020202020100010101020001000102F2
+:100AF00002020202010002020202020202010102DB
+:100B000002020202010202020101010101010102CD
+:100B100001010100000101010000000000010102CB
+:100B200001010102020201010101010000010102B3
+:100B3000020101020202020202020101010102019C
+:100B4000010101020202020202010101010101028E
+:100B5000010202020202020101010101010101027E
+:100B6000020202020202020101010101010101026D
+:100B70000201010101010101010101010101010263
+:100B80000101010101010101010101010101010254
+:100B90000201010101010101010101010001010046
+:100BA000000000020100000000000001000000023F
+:100BB0000202020202020202020202020202000217
+:100BC000020202020202020101020201010101020B
+:100BD00002020202020202000101010102010102FD
+:100BE00002020202020201010101010001000102F0
+:100BF00002020202010002020202020202010102DA
+:100C000002020202010202020201010101010102CB
+:100C100002010100000101010000000001010102C8
+:100C200001010102020201010101010000010102B2
+:100C3000020101020202020202020101010102029A
+:100C4000010101020202020202010101010101028D
+:100C5000010202020202020202010101010101027B
+:100C6000020202020202020202010101010101026A
+:100C70000202010101010101010101010101010261
+:100C80000201010101010101010101010101010252
+:100C90000201010101010101010101010101010044
+:100CA000000000010100000000000001000000023F
+:100CB0000202020202020202020202020202000216
+:100CC0000202020202020202010202010201010208
+:100CD00002020202020202010101010102010102FB
+:100CE00002020202020201010101010001000102EF
+:100CF00002020202010102020202020202010102D8
+:100D000002020202010202020201010101010102CA
+:100D100002010101000101010100000001010102C5
+:100D200002010102020202010101010000010102AF
+:100D30000202010202020202020201010101020298
+:100D4000010101020202020202020101010102028A
+:100D5000010202020202020202010101010101027A
+:100D60000202020202020202020101010101010269
+:100D7000020202020201010101010101010101025D
+:100D80000202010101010101010101010101010250
+:100D90000202010101010101010101010101010042
+:100DA000010001010100000000000001000000023C
+:100DB0000202020202020202020202020202000215
+:100DC0000202020202020202020202010202020204
+:100DD00002020202020202010101010102010102FA
+:100DE00002020202020201010101010001000102EE
+:100DF00002020202020102020202020202020102D5
+:100E000002020202010202020201010101010102C9
+:100E100002020201000201010100010001010102C0
+:100E200002020202020202020101010200010102A9
+:100E30000202020202020202020202020101020294
+:100E40000202010202020202020201010101020287
+:100E50000102020202020202020201010101020277
+:100E60000202020202020202020201010101020266
+:100E7000020202020202010101010101010101025B
+:100E8000020202020201010101010101010101024C
+:100E90000202020101010101010101010101010040
+:100EA0000100000101000000020200010000010237
+:100EB0000202020202020202020202020202000214
+:100EC0000202020202020202020202010202020203
+:100ED00002020202020202010101010102010102F9
+:100EE00002020202020202020202010001000102E9
+:100EF00002020202020102020202020202020202D3
+:100F000002020202020202020202010101010102C6
+:100F100002020201000201010100010101010102BE
+:100F200002020202020202020201010200010202A6
+:100F30000202020202020202020202020102020292
+:100F40000202020202020202020201010101020285
+:100F50000102020202020202020201010101020276
+:100F60000202020202020202020202020102020262
+:100F7000020202020202010101010101010101025A
+:100F8000020202020202010101010101010101024A
+:100F9000020202020101010101010101010101003E
+:100FA0000100000000000200010202010000010235
+:100FB0000202020202020202020202020202000213
+:100FC0000202020202020202020202020202020201
+:100FD00002020202020202010101010102010102F8
+:100FE00002020202020202020202010002010202E5
+:100FF00002020202020102020202020202020202D2
+:1010000002020202020202020202020101010102C4
+:1010100002020201000201020100010101010102BC
+:1010200002020202020202020201010100010202A6
+:101030000202020202020202020202020102020291
+:101040000202020202020202020202020101020282
+:101050000202020202020202020202020102020271
+:101060000202020202020202020202020102020261
+:101070000202020202020201010101010101010258
+:101080000202020202020101010101010101010249
+:10109000020202020201010101010101010101003C
+:1010A0000001000000000100010102010200010234
+:1010B0000202020202020202020202020202000212
+:1010C0000202020202020202020202020202020200
+:1010D00002020202020202010101010102010102F7
+:1010E00002020202020202020202020002010202E3
+:1010F00002020202020102020202020202020202D1
+:1011000002020202020202020202020202020102C0
+:1011100002020201010201020100010101010102BA
+:1011200002020202020202020201010102010202A3
+:10113000020202020202020202020202020202028F
+:101140000202020202020202020202020102020280
+:101150000202020202020202020202020102020270
+:10116000020202020202020202020202020202025F
+:101170000202020202020201010101010101010257
+:101180000202020202020201010101010101010247
+:10119000020202020202010101010101010101003A
+:1011A0000000000000010100010101010100010235
+:1011B0000202020202020202020202020202000211
+:1011C00002020202020202020202020202020202FF
+:1011D00002020202020202020102020102010102F3
+:1011E00002020202020202020202020002010202E2
+:1011F00002020202020202020202020202020202CF
+:1012000002020202020202020202020202020202BE
+:1012100002020202010202020100010101010102B7
+:1012200002020202020202020202010102010202A1
+:10123000020202020202020202020202020202028E
+:10124000020202020202020202020202020202027E
+:10125000020202020202020202020202020202026E
+:10126000020202020202020202020202020202025E
+:101270000202020202020201020101010101010255
+:101280000202020202020201010101010101010246
+:101290000202020202020101010101010101010039
+:1012A0000000000000010102010101000100010233
+:1012B0000202020202020202020202020202000210
+:1012C00002020202020202020202020202020202FE
+:1012D00002020202020202020202020202020102EF
+:1012E00002020202020202020202020102020202DF
+:1012F00002020202020202020202020202020202CE
+:1013000002020202020202020202020202020202BD
+:1013100002020202010202020101010101010102B5
+:1013200002020202020202020202010102010202A0
+:10133000020202020202020202020202020202028D
+:10134000020202020202020202020202020202027D
+:10135000020202020202020202020202020202026D
+:10136000020202020202020202020202020202025D
+:101370000202020202020202020101010101010253
+:101380000202020202020202020101010101010243
+:101390000202020202020201010101010101010037
+:1013A0000000000000010101010101000102010231
+:1013B000020202020202020202020202020200020F
+:1013C00002020202020202020202020202020202FD
+:1013D00002020202020202020202020202020102EE
+:1013E00002020202020202020202020202020202DD
+:1013F00002020202020202020202020202020202CD
+:1014000002020202020202020202020202020202BC
+:1014100002020202010202020201020102020102B0
+:10142000020202020202020202020201010102029F
+:10143000020202020202020202020202020202028C
+:10144000020202020202020202020202020202027C
+:10145000020202020202020202020202020202026C
+:10146000020202020202020202020202020202025C
+:101470000202020202020202020201010101010251
+:101480000202020202020202020201010101010241
+:101490000202020202020202010101010101010035
+:1014A0000000000000000001010101000101010233
+:1014B000020202020202020202020202020200020E
+:1014C00002020202020202020202020202020202FC
+:1014D00002020202020202020202020202020202EC
+:1014E00002020202020202020202020202020202DC
+:1014F00002020202020202020202020202020202CC
+:1015000002020202020202020202020202020202BB
+:1015100002020202010202020201020202020102AE
+:10152000020202020202020202020201010202029D
+:10153000020202020202020202020202020202028B
+:10154000020202020202020202020202020202027B
+:10155000020202020202020202020202020202026B
+:10156000020202020202020202020202020202025B
+:10157000020202020202020202020202010102024D
+:10158000020202020202020202020202010102023D
+:101590000202020202020202020101010101010033
+:1015A0000000000000000001000101000101010233
+:1015B000020202020202020202020202020200020D
+:1015C00002020202020202020202020202020202FB
+:1015D00002020202020202020202020202020202EB
+:1015E00002020202020202020202020202020202DB
+:1015F00002020202020202020202020202020202CB
+:1016000002020202020202020202020202020202BA
+:1016100002020202020202020201020202020102AC
+:10162000020202020202020202020201010202029C
+:10163000020202020202020202020202020202028A
+:10164000020202020202020202020202020202027A
+:10165000020202020202020202020202020202026A
+:10166000020202020202020202020202020202025A
+:10167000020202020202020202020202010202024B
+:10168000020202020202020202020202010202023B
+:101690000202020202020202020201010101010031
+:1016A0000000000000000000000001000101010234
+:1016B000020202020202020202020202020200020C
+:1016C00002020202020202020202020202020202FA
+:1016D00002020202020202020202020202020202EA
+:1016E00002020202020202020202020202020202DA
+:1016F00002020202020202020202020202020202CA
+:1017000002020202020202020202020202020202B9
+:1017100002020202020202020202020202020202A9
+:10172000020202020202020202020201010202029B
+:101730000202020202020202020202020202020289
+:101740000202020202020202020202020202020279
+:101750000202020202020202020202020202020269
+:101760000202020202020202020202020202020259
+:101770000202020202020202020202020202020249
+:101780000202020202020202020202020202020239
+:10179000020202020202020202020202010101022C
+:1017A0000000000000000000000000000001010235
+:1017B000020202020202020202020202020200020B
+:1017C00002020202020202020202020202020202F9
+:1017D00002020202020202020202020202020202E9
+:1017E00002020202020202020202020202020202D9
+:1017F00002020202020202020202020202020202C9
+:1018000002020202020202020202020202020202B8
+:1018100002020202020202020202020202020202A8
+:10182000020202020202020202020201010202029A
+:101830000202020202020202020202020202020288
+:101840000202020202020202020202020202020278
+:101850000202020202020202020202020202020268
+:101860000202020202020202020202020202020258
+:101870000202020202020202020202020202020248
+:101880000202020202020202020202020202020238
+:101890000202020202020202020202020102020229
+:1018A0000000000000000000000000000001010234
+:1018B000020202020202020202020202020200020A
+:1018C00002020202020202020202020202020202F8
+:1018D00002020202020202020202020202020202E8
+:1018E00002020202020202020202020202020202D8
+:1018F00002020202020202020202020202020202C8
+:1019000002020202020202020202020202020202B7
+:1019100002020202020202020202020202020202A7
+:101920000202020202020202020202020102020298
+:101930000202020202020202020202020202020287
+:101940000202020202020202020202020202020277
+:101950000202020202020202020202020202020267
+:101960000202020202020202020202020202020257
+:101970000202020202020202020202020202020247
+:101980000202020202020202020202020202020237
+:101990000202020202020202020202020202020227
+:1019A0000200000000000000000000000001010231
+:1019B000020202020202020202020101010100020D
+:1019C00002020202020202020202020202020202F7
+:1019D00002020202020202020202020202020202E7
+:1019E00002020202020202020202020202010202D8
+:1019F00002020202020202020202020202020202C7
+:101A000002020202020202020202020202020202B6
+:101A100002020202020202020202020202020202A6
+:101A20000202020202020202020202020102020297
+:101A30000202020202020202020202020202020286
+:101A40000202020202020202020202020202020276
+:101A50000202020202020202020202020202020266
+:101A60000202020202020202020202020202020256
+:101A70000202020202020202020202020202020246
+:101A80000202020202020202020202020202020236
+:101A90000202020202020202020202020202020226
+:101AA0000200000000000000000000000001000231
+:101AB0000202020201010101010101010101010211
+:101AC00002020202020202020202020202020202F6
+:101AD00002020202020202020202020202020202E6
+:101AE00002020202020202020202010101010102DB
+:101AF00002020202020202020202020202020202C6
+:101B000002020202020202020202020202020202B5
+:101B100002020202020202020202020202020202A5
+:101B20000202020202020202020202020102020296
+:101B30000202020202020202020202020202020285
+:101B40000202020202020202020202020202020275
+:101B50000202020202020202020202020202020265
+:101B60000202020202020202020202020202020255
+:101B70000202020202020202020202020202020245
+:101B80000202020202020202020202020202020235
+:101B90000202020202020202020202020202020225
+:101BA000020202000000000000000000000100012D
+:101BB0000101010101010101010101010101010214
+:101BC00002020202020202020202020202020202F5
+:101BD00002020202020202020202020202020202E5
+:101BE00002020202020201010101010101010102DE
+:101BF00002020202020202020202020202020202C5
+:101C000002020202020202020202020202020202B4
+:101C100002020202020202020202020202020202A4
+:101C20000202020202020202020202020202020294
+:101C30000202020202020202020202020202020284
+:101C40000202020202020202020202020202020274
+:101C50000202020202020202020202020202020264
+:101C60000202020202020202020202020202020254
+:101C70000202020202020202020202020202020244
+:101C80000202020202020202020202020202020234
+:101C90000202020202020202020202020202020224
+:101CA000020202000000000000000000000000012D
+:101CB0000101010101010101010101010101010213
+:101CC00002020202020202020202020202020202F4
+:101CD00002020202020202020202020202020202E4
+:101CE00002020201010101010101010101010102E0
+:101CF00002020202020202020202020202020202C4
+:101D000002020202020202020202020202020202B3
+:101D100002020202020202020202020202020202A3
+:101D20000202020202020202020202020202020293
+:101D30000202020202020202020202020202020283
+:101D40000202020202020202020202020202020273
+:101D50000202020202020202020202020202020263
+:101D60000202020202020202020202020202020253
+:101D70000202020202020202020202020202020243
+:101D80000202020202020202020202020202020233
+:101D90000202020202020202020202020202020223
+:101DA0000202020202000000000000000000000128
+:101DB0000101010101010101010101010101010212
+:101DC00002020202020202020202020202020202F3
+:101DD00002020202020202020201010101010202E8
+:101DE00001010101010101010101010101010102E2
+:101DF00002020202020202020202010101020202C6
+:101E000002020202020202020202020202020202B2
+:101E100002020202020202020202020202020202A2
+:101E20000202020202020202020202020202020292
+:101E30000202020202020202020202020202020282
+:101E40000202020202020202020202020202020272
+:101E50000202020202020202020202020202020262
+:101E60000202020202020202020202020202020252
+:101E70000202020202020202020202020202020242
+:101E80000202020202020202020202020202020232
+:101E90000202020202020202020202020202020222
+:101EA0000202020202000000000000000000000127
+:101EB0000101010101010101010101010101010211
+:101EC00002020202020202020201010101010202F7
+:101ED00002020202020101010101010101010101ED
+:101EE00001010101010101010101010101010102E1
+:101EF00002020202020201010101010101010102CB
+:101F000002020202020202020202020202020202B1
+:101F100002020202020202020202020202020202A1
+:101F20000202020202020202020202020202020291
+:101F30000202020202020202020202020202020281
+:101F40000202020202020202020202020202020271
+:101F50000202020202020202020202020202020261
+:101F60000202020202020202020202020202020251
+:101F70000202020202020202020202020202020241
+:101F80000202020202020202020202020202020231
+:101F90000202020202020202020202020202020221
+:101FA0000202020202020000000000000000000124
+:101FB0000101010101010101010101010101010210
+:101FC00002020202010101010101010101010102FC
+:101FD00002010101010101010101010101010101F0
+:101FE00001010101010101010101010101010102E0
+:101FF00001010101010101010101010101010102D0
+:1020000002020202020202020202010101010202B4
+:1020100002020202020202020202020202020202A0
+:102020000202020202020202020202020202020290
+:102030000202020202020202020202020202020280
+:102040000202020202020202020202020202020270
+:102050000202020202020202020202020202020260
+:102060000202020202020202020202020202020250
+:102070000202020202020202020202020202020240
+:102080000202020202020202020202020202020230
+:102090000202020202020202020202020202020220
+:1020A0000202020202020200000000000000000121
+:1020B000010101010101010101010101010101020F
+:1020C0000101010101010101010101010101010100
+:1020D00001010101010101010101010101010101F0
+:1020E00001010101010101010101010101010101E0
+:1020F00001010101010101010101010101010102CF
+:1021000002020202020101010101010101010102B9
+:1021100002020202020202020202010101020202A2
+:10212000020202020202020202020202020202028F
+:10213000020202020202020202020202020202027F
+:10214000020202020202020202020202020202026F
+:10215000020202020202020202020202020202025F
+:10216000020202020202020202020202020202024F
+:10217000020202020202020202020202020202023F
+:10218000020202020202020202020202020202022F
+:10219000020202020202020202020202020202021F
+:1021A000020202020202020002000000000002011C
+:1021B000010101010101010101010101010101010F
+:1021C00001010101010101010101010101010101FF
+:1021D00001010101010101010101010101010101EF
+:1021E00001010101010101010101010101010101DF
+:1021F00001010101010101010101010101010101CF
+:1022000001010101010101010101010101010102BD
+:1022100002020202020202010101010101010202A5
+:10222000020202020202020202020202020202028E
+:10223000020202020202020202020202020202027E
+:10224000020202020202020202020202020202026E
+:10225000020202020202020202020202020202025E
+:10226000020202020202020202020202020202024E
+:10227000020202020202020202020202020202023E
+:10228000020202020202020202020202020202022E
+:10229000020202020202020202020202020202021E
+:1022A0000202020202020202020200020000020115
+:1022B000010101010101010101010101010101010E
+:1022C00001010101010101010101010101010101FE
+:1022D00001010101010101010101010101010101EE
+:1022E00001010101010101010101010101010101DE
+:1022F00001010101010101010101010101010101CE
+:1023000001010101010101010101010101010102BC
+:1023100002020202020101010101010101010102A7
+:10232000020202020202020202020202020202028D
+:10233000020202020202020202020202020202027D
+:10234000020202020202020202020202020202026D
+:10235000020202020202020202020202020202025D
+:10236000020202020202020202020202020202024D
+:10237000020202020202020202020202020202023D
+:10238000020202020202020202020202020202022D
+:10239000020202020202020202020202020202021D
+:1023A0000202020202020202020202020000020112
+:1023B000010101010101010101010101010101010D
+:1023C00001010101010101010101010101010101FD
+:1023D00001010101010101010101010101010101ED
+:1023E00001010101010101010101010101010101DD
+:1023F00001010101010101010101010101010101CD
+:1024000001010101010101010101010101010101BC
+:1024100001010101010101010101010101010102AB
+:102420000202020101010101010101010101010298
+:10243000020202020202020202020202020202027C
+:10244000020202020202020202020202020202026C
+:10245000020202020202020202020202020202025C
+:10246000020202020202020202020202020202024C
+:10247000020202020202020202020202020202023C
+:10248000020202020202020202020202020202022C
+:10249000020202020202020202020202020202021C
+:1024A000020202020202020202020202020202010D
+:1024B000010101010101010101010101010101010C
+:1024C00001010101010101010101010101010101FC
+:1024D00001010101010101010101010101010101EC
+:1024E00001010101010101010101010101010101DC
+:1024F00001010101010101010101010101010101CC
+:1025000001010101010101010101010101010101BB
+:1025100001010101010101010101010101010101AB
+:10252000010101010101010101010101010101029A
+:102530000202020101010101010101010101010287
+:10254000020202020202020202020202020202026B
+:10255000020202020202020202020202020202025B
+:10256000020202020202020202020202020202024B
+:10257000020202020202020202020202020202023B
+:10258000020202020202020202020202020202022B
+:10259000020202020202020202020202020202021B
+:1025A000020202020202020202020202020202010C
+:1025B000010101010101010101010101010101010B
+:1025C00001010101010101010101010101010101FB
+:1025D00001010101010101010101010101010101EB
+:1025E00001010101010101010101010101010101DB
+:1025F00001010101010101010101010101010101CB
+:1026000001010101010101010101010101010101BA
+:1026100001010101010101010101010101010101AA
+:10262000010101010101010101010101010101019A
+:102630000101010101010101010101010101010289
+:102640000202020101010101010101010101010276
+:10265000020202020202020202020202020202025A
+:10266000020202020202020202020202020202024A
+:10267000020202020202020202020202020202023A
+:10268000020202020202020202020202020202022A
+:10269000020202020202020202020202020202021A
+:1026A000020202020202020202020202020202010B
+:1026B000010101010101010101010101010101010A
+:1026C00001010101010101010101010101010101FA
+:1026D00001010101010101010101010101010101EA
+:1026E00001010101010101010101010101010101DA
+:1026F00001010101010101010101010101010101CA
+:1027000001010101010101010101010101010101B9
+:1027100001010101010101010101010101010101A9
+:102720000101010101010101010101010101010199
+:102730000101010101010101010101010101010189
+:102740000101010101010101010101010101010278
+:102750000202020202020202020202020202020259
+:102760000202020202020202020202020202020249
+:102770000202020202020202020202020202020239
+:102780000202020202020202020202020202020229
+:102790000202020202020202020202020202020219
+:1027A000020202020202020202020202020202010A
+:1027B0000101010101010101010101010101010109
+:1027C00001010101010101010101010101010101F9
+:1027D00001010101010101010101010101010101E9
+:1027E00001010101010101010101010101010101D9
+:1027F00001010101010101010101010101010101C9
+:1028000001010101010101010101010101010101B8
+:1028100001010101010101010101010101010101A8
+:102820000101010101010101010101010101010198
+:102830000101010101010101010101010101010188
+:102840000101010101010101010101010101010277
+:102850000202020202020202020202020202020258
+:102860000202020202020202020202020202020248
+:102870000202020202020202020202020202020238
+:102880000202020202020202020202020202020228
+:102890000202020202020202020202020202020218
+:1028A0000202020202020202020202020202020109
+:1028B0000101010101010101010101010101010108
+:1028C00001010101010101010101010101010101F8
+:1028D00001010101010101010101010101010101E8
+:1028E00001010101010101010101010101010101D8
+:1028F00001010101010101010101010101010101C8
+:1029000001010101010101010101010101010101B7
+:1029100001010101010101010101010101010101A7
+:102920000101010101010101010101010101010197
+:102930000101010101010101010101010101010187
+:102940000101010101010101010101010101010177
+:102950000201010101010101010101010101010265
+:102960000202020202020202020202020202020247
+:102970000202020202020202020202020202020237
+:102980000202020202020202020202020202020227
+:102990000202020202020202020202020202020217
+:1029A0000202020202020202020202020202020108
+:1029B0000101010101010101010101010101010107
+:1029C00001010101010101010101010101010101F7
+:1029D00001010101010101010101010101010101E7
+:1029E00001010101010101010101010101010101D7
+:1029F00001010101010101010101010101010101C7
+:102A000001010101010101010101010101010101B6
+:102A100001010101010101010101010101010101A6
+:102A20000101010101010101010101010101010196
+:102A30000101010101010101010101010101010186
+:102A40000101010101010101010101010101010176
+:102A50000101010101010101010101010101010265
+:102A60000202020202020202020202020202020246
+:102A70000202020202020202020202020202020236
+:102A80000202020202020202020202020202020028
+:102A90000000000000000000000000000000000234
+:102AA0000202020202020202020202020202020107
+:102AB0000101010101010101010101010101010106
+:102AC00001010101010101010101010101010101F6
+:102AD00001010101010101010101010101010101E6
+:102AE00001010101010101010101010101010101D6
+:102AF00001010101010101010101010101010101C6
+:102B000001010101010101010101010101010101B5
+:102B100001010101010101010101010101010101A5
+:102B20000101010101010101010101010101010195
+:102B30000101010101010101010101010101010185
+:102B40000101010101010101010101010101010175
+:102B50000101010101010101010101010101010066
+:102B60000000000000000000000000000000000263
+:102B70000202020202020202020202020202020235
+:102B80000202020202020202020202020202020027
+:102B90000000000000000000000000000000000233
+:102BA0000202020202020202020202020202020106
+:102BB0000101010101010101010101010101010105
+:102BC00001010101010101010101010101010101F5
+:102BD00001010101010101010101010101010101E5
+:102BE00001010101010101010101010101010101D5
+:102BF00001010101010101010101010101010101C5
+:102C000001010101010101010101010101010101B4
+:102C100001010101010101010101010101010101A4
+:102C20000101010101010101010101010101010194
+:102C30000101010101010101010101010101010184
+:102C40000101010101010101010101010101010174
+:102C50000101010101010101010101010101010164
+:102C60000101010101010101010101010101010253
+:102C70000202020202020202020202020202020234
+:102C80000202020202020202020202020202020026
+:102C90000000000000000000000000000000000232
+:102CA0000202020202020202020202020202020105
+:102CB0000101010101010101010101010101010104
+:102CC00001010101010101010101010101010101F4
+:102CD00001010101010101010101010101010101E4
+:102CE00001010101010101010101010101010101D4
+:102CF00001010101010101010101010101010101C4
+:102D000001010101010101010101010101010101B3
+:102D100001010101010101010101010101010101A3
+:102D20000101010101010101010101010101010193
+:102D30000101010101010101010101010101010183
+:102D40000101010101010101010101010101010173
+:102D50000101010101010101010101010101010163
+:102D60000101010101010101010101010101010153
+:102D70000101010101010101010101010101010044
+:102D80000000000000000000000000000000000142
+:102D90000101010101010101010101010101010024
+:102DA0000000000000000000000000000000000122
+:102DB0000101010101010101010101010101010103
+:102DC00001010101010101010101010101010101F3
+:102DD00001010101010101010101010101010101E3
+:102DE00001010101010101010101010101010101D3
+:102DF00001010101010101010101010101010101C3
+:102E000001010101010101010101010101010101B2
+:102E100001010101010101010101010101010101A2
+:102E20000101010101010101010101010101010192
+:102E30000101010101010101010101010101010182
+:102E40000101010101010101010101010101010172
+:102E50000101010101010101010101010101010162
+:102E60000101010101010101010101010101010152
+:102E70000101010101010101010101010101010142
+:102E80000101010101010101010101010101010132
+:102E90000101010101010101010101010101010023
+:102EA0000000000000000000000000000000000121
+:102EB0000101010101010101010101010101010102
+:102EC00001010101010101010101010101010101F2
+:102ED00001010101010101010101010101010102E1
+:102EE00002020202020202020202020202020202C2
+:102EF00002020202020202020202020202020202B2
+:102F000002020202020202020202020202020202A1
+:102F10000202020202020202020202020202020291
+:102F20000202020202020202020202020202020281
+:102F30000202020202020202020202020202020271
+:102F40000202020202020202020202020202020162
+:102F50000101010101010101010101010101010161
+:102F60000101010101010101010101010101010151
+:102F70000101010101010101010101010101010141
+:102F80000101010101010101010101010101010131
+:102F90000101010101010101010101010101010022
+:102FA0000000000000000000000000000000000120
+:102FB0000101010101010101010101010101010101
+:102FC00001010101010101010101010101010102F0
+:102FD00002020202020202020202020202020202D1
+:102FE00002020202020202020202020202020202C1
+:102FF00002020202020202020202020202020202B1
+:1030000002020202020202020202020202020202A0
+:103010000202020202020202020202020202020290
+:103020000202020202020202020202020202020280
+:103030000202020202020202020202020202020270
+:103040000202020202020202020202020202020260
+:103050000202020202020202020202020202020151
+:103060000101010101010101010101010101010150
+:103070000101010101010101010101010101010140
+:10308000010101010101010101010101010101022F
+:103090000202020202020202020202020202020012
+:1030A0000000000000000000000000000000000020
+:1030B0000000000000000000000000000000000010
+:1030C0000000000000000000000000000000000000
+:1030D00000000000000000000000000000000000F0
+:1030E00000000000000000000000000000000000E0
+:1030F00000000000000000000000000000000000D0
+:1031000000000000000000000000000000000000BF
+:1031100000000000000000000000000000000000AF
+:10312000000000000000000000000000000000009F
+:10313000000000000000000000000000000000008F
+:10314000000000000000000000000000000000007F
+:10315000000000000000000000000000000000006F
+:10316000000000000000000000000000000000005F
+:10317000000000000000000000000000000000004F
+:10318000000000000000000000000000000000003F
+:10319000000000000000000000000000000000002F
+:1031A00000000000000000000000000000000040DF
+:1031B000000000000000000000000000000000000F
+:1031C00000000000010100000000000000000000FD
+:1031D00000000000000000000000000000000000EF
+:1031E00000000000000000000000000000000000DF
+:1031F00000000000000000000000000000000000CF
+:1032000000000000000000000000000000000000BE
+:1032100000000000000000000000000000000000AE
+:10322000000000000000000000000000000000009E
+:10323000000000000000000000000000000000008E
+:10324000000000000000000000000000000000007E
+:10325000000000000000000000000000000000006E
+:10326000000000000000000000000000000000005E
+:10327000000000000000000000000000000000004E
+:10328000000000000000000000000000000000003E
+:10329000000000000000000000000000000000002E
+:1032A000000000000000000000000000000000001E
+:1032B0000000000000000001000000010101010009
+:1032C00000000000010100000000000000000000FC
+:1032D00000000000000000000000000000000000EE
+:1032E00000000000000000000000000000000000DE
+:1032F00000000000000000000000000000000000CE
+:1033000000000000000000000000000000000000BD
+:1033100000000000000000000000000000000000AD
+:10332000000000000000000000000000000000009D
+:10333000000000000000000000000000000000008D
+:10334000000000000000000000000000000000007D
+:10335000000000000000000000000000000000006D
+:10336000000000000000000000000000000000005D
+:10337000000000000000000000000101000000004B
+:10338000000000000000000000000000000000003D
+:10339000000000000000000000000000000000002D
+:1033A000000000000000000000000000000000001D
+:1033B0000000000000000001010000010101010007
+:1033C00000000000010100000000000000000000FB
+:1033D00000000000000000000000000000000000ED
+:1033E00000000000000000010000000000000000DC
+:1033F00000000000000000000000000000000000CD
+:1034000000000000000000010000000100000000BA
+:1034100000000000000001000000000000000000AB
+:10342000000000000000000000000000000000009C
+:10343000000000000000000000000000000000008C
+:10344000000000000000000000000000000000007C
+:10345000000000000000000000000000000000006C
+:10346000000000000000000000000000000000005C
+:10347000000000000000000000000101000000004A
+:103480000100000001010000000000000000000039
+:10349000000000000000000000000000000000002C
+:1034A000000000000000000000000000000000001C
+:1034B0000000000000000001010000010101010006
+:1034C00000000000010100000001000000000000F9
+:1034D00000000000000000000000000001000000EB
+:1034E00000000000000000010100000000000000DA
+:1034F00000000000000000000100000000000000CB
+:1035000000000000000000010101000100000000B7
+:1035100000000000000001000000000100000000A9
+:10352000000000000000000000000000000000009B
+:10353000000000000000000000000000000000008B
+:10354000000000000000000001000000000000007A
+:103550000000000000000000000000010100000069
+:10356000000000000000000000000000000000005B
+:103570000000000000000000000001010101000047
+:103580000100000001010100000000000000000037
+:10359000000000000000000000000000000000002B
+:1035A000000000000000000000000000000000001B
+:1035B0000000000000000001010100010101010004
+:1035C00001000000010100000001010000000000F6
+:1035D00000000000000000000000000001000000EA
+:1035E00000000000000000010100000000000000D9
+:1035F00000000000000000010100000000000000C9
+:1036000000000000000000010101010101000000B4
+:1036100000000000000001000101000100000000A6
+:10362000000000000000000000000000000000009A
+:10363000000000000000000000000000000000008A
+:103640000000000000000001010000000000000078
+:103650000000000000000000010100010100000066
+:103660000000000000000000010000000000000059
+:103670000000000000000000010101010101010043
+:103680000100000001010100000000000000000036
+:10369000000000000000000000000000000000002A
+:1036A000000000000000000000000000000000001A
+:1036B0000000000000000001010101010101010002
+:1036C00001000000010100000001010000000000F5
+:1036D00000000000000000010000000101000000E7
+:1036E00000000000000000010100000000000000D8
+:1036F00000000000000000010101000000000000C7
+:1037000000000000000000010101010101000000B3
+:1037100000000000000101010101010100000000A2
+:103720000000000000000000000000000000000099
+:103730000000000000000000010000000000000088
+:103740000000000000000001010100000000000076
+:103750000000000000000001010101010100000063
+:103760000000000000000101010001010100000053
+:103770000000000000000000010101010101010141
+:103780000100010101010100000000000000000033
+:103790000000000000000000000000000000000029
+:1037A0000000000000000000000000000000000019
+:1037B0000000000000000001010101010101010001
+:1037C00001010000010100000001010000000000F3
+:1037D00000000000000001010000000101000000E5
+:1037E00000000000000000010100000000000000D7
+:1037F00000000000000001010101010000000000C4
+:1038000000000000000000010101010101010000B1
+:1038100000000000000101010101010100000000A1
+:103820000000000000000000010000000000000097
+:103830000000000000000000010001010100000084
+:103840000000000000000001010100010100000073
+:103850000000000000000001010101010100000062
+:103860000000000000010101010101010100000050
+:103870000000000000000000010101010101010140
+:103880000101010101010100000000000000000031
+:103890000000000000000000000000000000000028
+:1038A0000000000000000000000000000000000018
+:1038B00000000000000000010101010101010101FF
+:1038C00001010100010100000001010000000000F1
+:1038D00000000000000001010000000101000000E4
+:1038E00000000000000001010101000000000000D4
+:1038F00000000000000001010101010000000000C3
+:1039000000000000000000010101010101010100AF
+:10391000010000000101010101010101000000009E
+:103920000000000000000100010000000000000095
+:103930000000000000000000010101010100000082
+:103940000000000000000001010100010100000072
+:103950000000000000000001010101010100000061
+:10396000000000000001010101010101010000004F
+:10397000000000000000000101010101010101013E
+:103980000101010101010100000000000000000030
+:103990000000000000000000000000000000000027
+:1039A0000000000000000000000000000000000017
+:1039B00000000000000000010101010101010101FE
+:1039C00001010100010100010001010101000000ED
+:1039D00000000000000001010000000101000000E3
+:1039E00000000000000001010101010000010000D1
+:1039F00000000000000001010101010101000000C0
+:103A000000000000000000010101010101010100AE
+:103A1000010000000101010101010101000000009D
+:103A20000000000000000100010100000000000093
+:103A30000000000000000001010101010100000080
+:103A4000000000000000010101010101010000006F
+:103A5000000000000000000101010101010001005F
+:103A6000010000000101010101010101010000004C
+:103A7000000000000000000101010101010101013D
+:103A8000010101010101010001000000000000002E
+:103A90000000000000000000000000000000000026
+:103AA0000000000000000000000000000000000016
+:103AB00000000000000000010101010101010101FD
+:103AC00001010101010100010001010101000000EB
+:103AD00000000000010101010000000101010000DF
+:103AE00000000000000001010101010000010100CF
+:103AF00001000000000001010101010101000000BE
+:103B000000000000000000010101010101010100AD
+:103B1000010000000101010101010101010000009B
+:103B2000000000000000010101010101010100008D
+:103B3000000000000000000101010101010000007F
+:103B4000000000000001010101010101010000006D
+:103B5000000000000000000101010101010101015C
+:103B60000100010101010101010101010100000049
+:103B7000000000000000010101010101010101013B
+:103B8000010101010101010101000000000000002C
+:103B90000000000000000000000000000000000025
+:103BA0000000000000000000000000000000000015
+:103BB00000000000000000010101010101010101FC
+:103BC00001010101010100010001010101000000EA
+:103BD00000000000010101010100000101010000DD
+:103BE00000000000000101010101010101010100CB
+:103BF00001000000000001010101010101000000BD
+:103C000000000000000001010101010101010101AA
+:103C10000100000001010101010101010100010099
+:103C2000000000000001010101010101010100008B
+:103C3000000000000000000101010101010100007D
+:103C4000000000000001010101010101010000006C
+:103C5000000000000000000101010101010101015B
+:103C60000100010101010101010101010100000048
+:103C70000100000001010101010101010101010137
+:103C8000010101010101010101000000000000002B
+:103C90000000000000000001000000000000000023
+:103CA0000000000000000000000000000000000014
+:103CB00000000000000000010101010101010101FB
+:103CC00001010101010100010001010101000000E9
+:103CD00000000000010101010100010101010000DB
+:103CE00000000000000101010101010101010100CA
+:103CF00001000000010101010101010101000000BA
+:103D000000000000000001010101010101010101A9
+:103D10000100000001010101010101010101010196
+:103D2000000000000001010101010101010100008A
+:103D3000000000000000010101010101010101007A
+:103D40000100000001010101010101010100000069
+:103D50000100000000000001010101010101010159
+:103D60000100010101010101010101010101000145
+:103D70000100010001010101010101010101010135
+:103D80000101010101010101010001010100000027
+:103D90000000000000000001010000000000000021
+:103DA0000000000000000000000000000000000013
+:103DB00000000000000000010101010101010101FA
+:103DC00001010101010100010001010101000000E8
+:103DD00000000000010101010101010101010000D9
+:103DE00001000000010101010101010101010101C6
+:103DF00001000100010101010101010101010000B7
+:103E000000000000000001010101010101010101A8
+:103E10000100010101010101010101010101010193
+:103E20000100000001010101010101010101010086
+:103E30000000000000000101010101010101010079
+:103E40000100000001010101010101010100000068
+:103E50000100000000000101010101010101010157
+:103E60000101010101010101010101010101010142
+:103E70000100010001010101010101010101010134
+:103E80000101010101010101010101010100000025
+:103E90000000000000000001010000000000000020
+:103EA0000000000000000000000000000000000012
+:103EB00000000000000000020101010101010101F8
+:103EC00001010101010100010101010101000000E6
+:103ED00001000000010101010101010101010000D7
+:103EE00001000000010101010101010101010101C5
+:103EF00001000100010101010101010101010100B5
+:103F000001000000000001010101010101010101A6
+:103F10000100010101010101010101010101010192
+:103F20000100010001010101010101010101010084
+:103F30000000000000000101010101010101010078
+:103F40000100000001010101010101010100000067
+:103F50000100000000000101010101010101010156
+:103F60000101010101010101010101010101010141
+:103F70000100010101010101010101010101010132
+:103F80000101010101010101010101010100000024
+:103F9000000000000000000101000000000000001F
+:103FA0000000000000000000000000000000000011
+:103FB00000000000000000020101010101010101F7
+:103FC00001010101010100010101010101010000E4
+:103FD00001000000010101010101010101010100D5
+:103FE00001000000010101010101010101010101C4
+:103FF00001000100010101010101010101010100B4
+:1040000001000000000001010101010101010101A5
+:104010000100010101010101010101010101010191
+:104020000100010001010101010101010101010083
+:104030000000000001010101010101010101010174
+:104040000100010101010101010101010101000063
+:104050000100000000000101010101010101010155
+:104060000101010101010101010101010101010140
+:104070000101010101010101010101010101010130
+:104080000101010101010101010101010100000023
+:10409000000000000000000101000100000000001D
+:1040A0000000000000000000000000000000000010
+:1040B00000000000000000020101010101010201F5
+:1040C00001010101010100010101010101010100E2
+:1040D00001000000010101010101010101010101D3
+:1040E00001000000010101020101010101010101C2
+:1040F00001000100010101010101010101010100B3
+:1041000001000000010101010101010101010101A2
+:104110000100010101010101010101010101010190
+:104120000100010101010101010101010101010081
+:104130000000000001010101010101010101010173
+:104140000100010101010101010101010101010061
+:104150000100000001010101010101010101010152
+:10416000010101010101010101010101010101013F
+:10417000010101010101010101010101010101012F
+:104180000101010101010101010101010101000021
+:10419000000000000000000101010100000000001B
+:1041A000000000000000000000000000000000000F
+:1041B00000000000000000020201010101010201F3
+:1041C00001010101010100010101010101010101E0
+:1041D00001000100010101020101010101010101D0
+:1041E00001000000010101020101010101010101C1
+:1041F00001000101010101010101010101010101B0
+:1042000001000000010101020101010101010101A0
+:10421000010001010101010101010101010101018F
+:104220000100010101010101010101010101010080
+:104230000100000001010101010101010101010171
+:10424000010001010101010101010101010101015F
+:10425000010001010101010101010101010101014F
+:10426000010101010101010101010101010101013E
+:10427000010101010101010101010101010101012E
+:10428000010101010101010101010101010101001F
+:104290000100000000000001010101010100000017
+:1042A000000000000000000000000000000000000E
+:1042B00000000000000000020202010201010201F0
+:1042C00001010101010100010102010101010101DE
+:1042D00001000100010101020101010101010101CF
+:1042E00001000100010101020101010101010101BF
+:1042F00001010101010101020101010101010101AD
+:10430000010000000101010201010101010101019F
+:10431000010001010101010101010101010101018E
+:10432000010001010101010101010101010101017E
+:10433000010001010101010101010101010101016E
+:10434000010101010101010101010101010101015D
+:10435000010001010101010101010101010101014E
+:10436000010101010101010101010101010101013D
+:10437000010101010101010101010101010101012D
+:10438000010101010101010101010101010101011D
+:104390000100000100000001010101010100000015
+:1043A000000000000000000000000000000000000D
+:1043B00000000000000000020202010202020201ED
+:1043C00001010101010100020102010101010101DC
+:1043D00001000101010101020101010101010101CD
+:1043E00001000100010101020201010101010101BD
+:1043F00001010101010101020101010101010101AC
+:10440000010000000101010201010101010101019E
+:10441000010001010101010201010101010101018C
+:10442000010101010101010101010101010101017C
+:10443000010001010101010101010101010101016D
+:10444000010101010101010201010101010101015B
+:10445000010001010101010101010101010101014D
+:10446000010101010101010101010101010101013C
+:10447000010101010101010101010101010101012C
+:10448000010101010101010101010101010101011C
+:104490000100000101010001010101010101000011
+:1044A000000000000000000000000000000000000C
+:1044B00000000000000000020202020202020201EB
+:1044C00001020101010100020102020101010101D9
+:1044D00001000101010101020101010101010101CC
+:1044E00001000100010101020201010101010101BC
+:1044F00001010101010101020201010101010101AA
+:10450000010000000101010202020101010101019B
+:10451000010001010101010201010101010101018B
+:10452000010101010101010101010101010101017B
+:10453000010001010101010101010101010101016C
+:10454000010101010101010201010101010101015A
+:10455000010101010101010201010101010101014A
+:10456000010101010101010101010101010101013B
+:10457000010101010101010101010101010101012B
+:10458000010101010101010101010101010101011B
+:10459000010001010101000101010101010101000E
+:1045A0000000000000000000000200000000000009
+:1045B00000000000000000020202020202020201EA
+:1045C00002020101010100020102020101010101D7
+:1045D00001000101010101020101010202010101C9
+:1045E00001000100010101020202010101010101BA
+:1045F00001010101010101020202010101010101A8
+:10460000010000000101010202020101010101019A
+:104610000100010101010102020201010101010188
+:104620000101010101010102010101010101010179
+:10463000010101010101010101010101010101016A
+:104640000101010101010102020101010101010158
+:104650000101010101010102010101010101010149
+:104660000101010101010102010101010101010139
+:10467000010101010101010101010101010101012A
+:104680000101010101010102010101010101010119
+:10469000010101010101000101010101010101010B
+:1046A0000000000000000000000200000000000008
+:1046B00000000000000000020202020202020202E8
+:1046C00002020101020200020102020101010101D4
+:1046D00001000101010101020201010202010101C7
+:1046E00001000100010101020202010101010101B9
+:1046F00001010101010101020202010101010101A7
+:104700000100000001010102020202020101010197
+:104710000100010101010102020201010101010187
+:104720000101010101010102020101010101010177
+:104730000101010101010102010101010101010168
+:104740000101010101010102020201010101010156
+:104750000101010101010102020201010101010146
+:104760000101010101010102010101010101010138
+:104770000101010101010102010101010101010128
+:104780000101010101010102010101010101010118
+:104790000101010101010102010101010101010108
+:1047A0000100000001000000000200000000000005
+:1047B00000000000000000020202020202020202E7
+:1047C00002020201020200020102020201010101D1
+:1047D00001000101010101020202010202010101C5
+:1047E00001000100010101020202020101010101B7
+:1047F00001010101010101020202020101010101A5
+:104800000100000001010102020202020101010196
+:104810000100010101010102020202020101010184
+:104820000101010101010102020201010101010175
+:104830000101010101010102020101010101010166
+:104840000101010101010102020201010101010155
+:104850000101010101010102020201010101010145
+:104860000101010101010102020101010101010136
+:104870000101010101010102020202010101010124
+:104880000101010101010102020101010101010116
+:104890000101010101010102010101010101010107
+:1048A0000100010101000000000200000000000002
+:1048B00000000000000000020202020202020202E6
+:1048C00002020201020200020202020202010101CE
+:1048D00001010101010101020202020202020101C1
+:1048E00001000100010101020202020101020101B5
+:1048F00001010101010101020202020101010101A4
+:104900000100000001010102020202020201010194
+:104910000101010101010102020202020101010182
+:104920000101010101010102020201010101010174
+:104930000101010101010102020201010101010164
+:104940000101010101010102020201010101010154
+:104950000101010101010102020202020101010142
+:104960000101010101010102020201010101010134
+:104970000101010101010102020202020101010122
+:104980000101010101010102020101010101010115
+:104990000101010101010102010101010101010106
+:1049A0000101010101010000000100000000000000
+:1049B00000000000010000020202020202020202E4
+:1049C00002020202020200020202020202010101CC
+:1049D00001010101010101020202020202020101C0
+:1049E00001000100010101020202020201020201B2
+:1049F00001010101010101020202020201010101A2
+:104A00000100000101010102020202020202010191
+:104A10000101010101010102020202020101010181
+:104A20000101010101010102020202010101010172
+:104A30000101010101010102020202010101010162
+:104A40000101010101010102020202020101010151
+:104A50000101010101010102020202020201010140
+:104A60000101010101010102020202010101010132
+:104A70000101010101010102020202020101010121
+:104A80000101010101010102020201010101010113
+:104A90000101010101010102020101010101010104
+:104AA00001010101010101000001010000000000FD
+:104AB00000000000010000020202020202020202E3
+:104AC00002020202020200020202020202010101CB
+:104AD00001010101010101020202020202020101BF
+:104AE00001000101010101020202020202020201AF
+:104AF000020101010101010202020202020101019F
+:104B0000010000010101010202020202020202018F
+:104B10000101010101010102020202020101010180
+:104B20000101010101010102020202020101010170
+:104B30000101010101010102020202020101010160
+:104B4000010101010101010202020202020101014F
+:104B5000010101010101010202020202020101013F
+:104B60000101010101010102020202020101010130
+:104B7000010101010101010202020202020201011E
+:104B80000101010101010102020202010101010111
+:104B90000101010101010102020101010101010103
+:104BA00001010101010101000001010000000000FC
+:104BB00000000000010000020202020202020202E2
+:104BC00002020202020200020202020202020101C9
+:104BD00001010101010102020202020202020201BC
+:104BE00002010101010102020202020202020202AA
+:104BF000020101010101020202020202020101019D
+:104C0000010000010101010202020202020202018E
+:104C1000020101010101020202020202020101017C
+:104C2000010101010101010202020202020201016D
+:104C3000010101010101010202020202020101015E
+:104C4000010101010101010202020202020101014E
+:104C5000010101010101010202020202020101013E
+:104C6000010101010101010202020202020101012E
+:104C7000010101010101010202020202020202011C
+:104C8000020101010101010202020202010101010E
+:104C90000101010101010102020201010101010101
+:104CA00001010101010101000001010000000000FB
+:104CB00000000000010000020202020202020202E1
+:104CC00002020202020200020202020202020201C7
+:104CD00002010101020202020202020202020202B7
+:104CE00002010101010202020202020202020202A8
+:104CF000020102010101020202020202020201019A
+:104D0000010000010101010202020202020202028C
+:104D10000201010101020202020202020202020178
+:104D2000010101010101010202020202020201016C
+:104D3000010101010101010202020202020101015D
+:104D4000010101010101010202020202020101014D
+:104D5000010101010101010202020202020202013B
+:104D6000010101010101010202020202020101012D
+:104D7000010101010101010202020202020202021A
+:104D8000020101010101010202020202020101010C
+:104D900001010101010101020202020101010101FF
+:104DA00001010101010101000101010000000000F9
+:104DB00000000000010100020202020202020202DF
+:104DC00002020202020200020202020202020202C5
+:104DD00002010101020202020202020202020202B6
+:104DE00002010101020202020202020202020202A6
+:104DF0000201020102020202020202020202020196
+:104E0000010001010101010202020202020202028A
+:104E10000201010102020202020202020202020275
+:104E2000010101010101010202020202020202016A
+:104E3000010101010101010202020202020201015B
+:104E4000010101010101010202020202020101014C
+:104E50000101010101010102020202020202020239
+:104E6000020101010101010202020202020101012B
+:104E70000101010101010102020202020202020219
+:104E80000202020102020102020202020201010107
+:104E900001010101010101020202020101010101FE
+:104EA00001010101010101000101000101000001F6
+:104EB00000000000010101020202020202020202DD
+:104EC00002020202020200020202020202020202C4
+:104ED00002010201020202020202020202020202B4
+:104EE00002010201020202020202020202020202A4
+:104EF0000202020102020202020202020202020194
+:104F00000202010101010102020202020202020286
+:104F10000201020102020202020202020202020273
+:104F20000201010101010202020202020202020167
+:104F30000101010101010102020202020202020159
+:104F4000010101010101010202020202020201014A
+:104F50000201010101010102020202020202020237
+:104F60000201020101020202020202020202010126
+:104F70000101010101010102020202020202020218
+:104F80000202020202020202020202020202010103
+:104F900001010101010101020202020201010101FC
+:104FA00001010101010101000100000101000001F6
+:104FB00000000000010101020202020202020202DC
+:104FC00002020202020200020202020202020202C3
+:104FD00002010201020202020202020202020202B3
+:104FE00002010201020202020202020202020202A3
+:104FF0000202020202020202020202020202020291
+:105000000201010101010202020202020202020285
+:105010000201020202020202020202020202020271
+:105020000201020101020202020202020202020164
+:105030000101010101010102020202020202020158
+:105040000201010101010102020202020202020147
+:105050000201010101010102020202020202020236
+:105060000202020202020202020202020202020220
+:105070000201010101010102020202020202020216
+:105080000202020202020202020202020202020101
+:1050900001010101010101020202020202010101FA
+:1050A00001010101010101000000000101000001F6
+:1050B00000000001010101020202020202020202DA
+:1050C00002020202020200020202020202020202C2
+:1050D00002010202020202020202020202020202B1
+:1050E00002010201020202020202020202020202A2
+:1050F0000202020202020202020202020202020290
+:105100000201010101010202020202020202020284
+:105110000201020202020202020202020202020270
+:105120000201020102020202020202020202020261
+:105130000201010101010202020202020202020254
+:105140000201010101020202020202020202020243
+:105150000201010101010102020202020202020235
+:10516000020202020202020202020202020202021F
+:105170000201020101010102020202020202020214
+:1051800002020202020202020202020202020202FF
+:1051900002010101010101020202020202020101F7
+:1051A00001010101010101000000000101000001F5
+:1051B00001000101010101020202020202020202D7
+:1051C00002020202020200020202020202020202C1
+:1051D00002020202020202020202020202020202AF
+:1051E00002010201020202020202020202020202A1
+:1051F000020202020202020202020202020202028F
+:105200000201010102020202020202020202020281
+:10521000020102020202020202020202020202026F
+:10522000020202020202020202020202020202025E
+:105230000201020102020202020202020202020250
+:105240000201020102020202020202020202020240
+:105250000201020101010202020202020202020232
+:10526000020202020202020202020202020202021E
+:10527000020202010202020202020202020202020F
+:1052800002020202020202020202020202020202FE
+:1052900002010101010101020202020202020201F5
+:1052A00001010101010101000000000101000001F4
+:1052B00001000101010101020202020202020202D6
+:1052C00002020202020200020202020202020202C0
+:1052D00002020202020202020202020202020202AE
+:1052E000020202010202020202020202020202029F
+:1052F000020202020202020202020202020202028E
+:105300000201010102020202020202020202020280
+:10531000020102020202020202020202020202026E
+:10532000020202020202020202020202020202025D
+:10533000020202020202020202020202020202024D
+:10534000020202020202020202020202020202023D
+:10535000020202020202020202020202020202022D
+:10536000020202020202020202020202020202021D
+:10537000020202020202020202020202020202020D
+:1053800002020202020202020202020202020202FD
+:1053900002020202010101020202020202020202F0
+:1053A00001010101010101000000000001000101F3
+:1053B00001000101010101020202020202020202D5
+:1053C00002020202020200020202020202020202BF
+:1053D00002020202020202020202020202020202AD
+:1053E000020202020202020202020202020202029D
+:1053F000020202020202020202020202020202028D
+:10540000020101010202020202020202020202027F
+:10541000020202020202020202020202020202026C
+:10542000020202020202020202020202020202025C
+:10543000020202020202020202020202020202024C
+:10544000020202020202020202020202020202023C
+:10545000020202020202020202020202020202022C
+:10546000020202020202020202020202020202021C
+:10547000020202020202020202020202020202020C
+:1054800002020202020202020202020202020202FC
+:1054900002020202020201020202020202020202ED
+:1054A00002010101010101000000000000000100F3
+:1054B00001010101000101020202020202020202D4
+:1054C00002020202020200020202020202020202BE
+:1054D00002020202020202020202020202020202AC
+:1054E000020202020202020202020202020202029C
+:1054F000020202020202020202020202020202028C
+:10550000020101010202020202020202020202027E
+:10551000020202020202020202020202020202026B
+:10552000020202020202020202020202020202025B
+:10553000020202020202020202020202020202024B
+:10554000020202020202020202020202020202023B
+:10555000020202020202020202020202020202022B
+:10556000020202020202020202020202020202021B
+:10557000020202020202020202020202020202020B
+:1055800002020202020202020202020202020202FB
+:1055900002020202020201020202020202020202EC
+:1055A00002020201010101000000000000000100F0
+:1055B00001010101000101020202020202020102D4
+:1055C00002020202020200020202020202020202BD
+:1055D00002020202020202020202020202020202AB
+:1055E000020202020202020202020202020202029B
+:1055F000020202020202020202020202020202028B
+:10560000020101020202020202020202020202027C
+:10561000020202020202020202020202020202026A
+:10562000020202020202020202020202020202025A
+:10563000020202020202020202020202020202024A
+:10564000020202020202020202020202020202023A
+:10565000020202020202020202020202020202022A
+:10566000020202020202020202020202020202021A
+:10567000020202020202020202020202020202020A
+:1056800002020202020202020202020202020202FA
+:1056900002020202020202020202020202020202EA
+:1056A00002020202020101000000000000010100EC
+:1056B00001010101000101020202020202020102D3
+:1056C00002010202020200020202020202020202BD
+:1056D00002020202020202020202020202020202AA
+:1056E000020202020202020202020202020202029A
+:1056F000020202020202020202020202020202028A
+:10570000020102020202020202020202020202027A
+:105710000202020202020202020202020202020269
+:105720000202020202020202020202020202020259
+:105730000202020202020202020202020202020249
+:105740000202020202020202020202020202020239
+:105750000202020202020202020202020202020229
+:105760000202020202020202020202020202020219
+:105770000202020202020202020202020202020209
+:1057800002020202020202020202020202020202F9
+:1057900002020202020202020202020202020202E9
+:1057A00002020202020201000000000000010100EA
+:1057B00000010101000001020202020202020102D4
+:1057C00002010202020200020202020202020202BC
+:1057D00002020202020202020202020202020202A9
+:1057E0000202020202020202020202020202020299
+:1057F0000202020202020202020202020202020289
+:105800000202020202020202020202020202020278
+:105810000202020202020202020202020202020268
+:105820000202020202020202020202020202020258
+:105830000202020202020202020202020202020248
+:105840000202020202020202020202020202020238
+:105850000202020202020202020202020202020228
+:105860000202020202020202020202020202020218
+:105870000202020202020202020202020202020208
+:1058800002020202020202020202020202020202F8
+:1058900002020202020202020202020202020202E8
+:1058A00002020202020202020000000000010000E7
+:1058B00000010001000001020202020202020102D4
+:1058C00002010202020200020202020202020202BB
+:1058D00002020202020202020202020202020202A8
+:1058E0000202020202020202020202020202020298
+:1058F0000202020202020202020202020202020288
+:105900000202020202020202020202020202020277
+:105910000202020202020202020202020202020267
+:105920000202020202020202020202020202020257
+:105930000202020202020202020202020202020247
+:105940000202020202020202020202020202020237
+:105950000202020202020202020202020202020227
+:105960000202020202020202020202020202020217
+:105970000202020202020202020202020202020207
+:1059800002020202020202020202020202020202F7
+:1059900002020202020202020202020202020202E7
+:1059A00002020202020202020000000000010000E6
+:1059B00000000000000000020202020202020102D6
+:1059C00002010202020200020202020202020202BA
+:1059D00002020202020202020202020202020202A7
+:1059E0000202020202020202020202020202020297
+:1059F0000202020202020202020202020202020287
+:105A00000202020202020202020202020202020276
+:105A10000202020202020202020202020202020266
+:105A20000202020202020202020202020202020256
+:105A30000202020202020202020202020202020246
+:105A40000202020202020202020202020202020236
+:105A50000202020202020202020202020202020226
+:105A60000202020202020202020202020202020216
+:105A70000202020202020202020202020202020206
+:105A800002020202020202020202020202020202F6
+:105A900002020202020202020202020202020202E6
+:105AA00002020202020202020200000000000000E4
+:105AB00000000000000000020202020202020101D6
+:105AC00001010101020201020202020202020202BB
+:105AD00002020202020202020202020202020202A6
+:105AE0000202020202020202020202020202020296
+:105AF0000202020202020202020202020202020286
+:105B00000202020202020202020202020202020275
+:105B10000202020202020202020202020202020265
+:105B20000202020202020202020202020202020255
+:105B30000202020202020202020202020202020245
+:105B40000202020202020202020202020202020235
+:105B50000202020202020202020202020202020225
+:105B60000202020202020202020202020202020215
+:105B70000202020202020202020202020202020205
+:105B800002020202020202020202020202020202F5
+:105B900002020202020202020202020202020202E5
+:105BA00002020202020202020202000000000000E1
+:105BB00000000000000000020202020101010101D8
+:105BC00001010101010101020202020202020202BC
+:105BD00002020202020202020202020202020202A5
+:105BE0000202020202020202020202020202020295
+:105BF0000202020202020202020202020202020285
+:105C00000202020202020202020202020202020274
+:105C10000202020202020202020202020202020264
+:105C20000202020202020202020202020202020254
+:105C30000202020202020202020202020202020244
+:105C40000202020202020202020202020202020234
+:105C50000202020202020202020202020202020224
+:105C60000202020202020202020202020202020214
+:105C70000202020202020202020202020202020204
+:105C800002020202020202020202020202020202F4
+:105C900002020202020202020202020202020202E4
+:105CA00002020202020202020202020000000000DE
+:105CB00000000000000000010101010101010101DB
+:105CC00001010101010101020202020202020202BB
+:105CD00002020202020202020202020202020202A4
+:105CE0000202020202020202020202020202020294
+:105CF0000202020202020202020202020202020284
+:105D00000202020202020202020202020202020273
+:105D10000202020202020202020202020202020263
+:105D20000202020202020202020202020202020253
+:105D30000202020202020202020202020202020243
+:105D40000202020202020202020202020202020233
+:105D50000202020202020202020202020202020223
+:105D60000202020202020202020202020202020213
+:105D70000202020202020202020202020202020203
+:105D800002020202020202020202020202020202F3
+:105D900002020202020202020202020202020202E3
+:105DA00002020202020202020202020200000000DB
+:105DB00000000000000000010101010101010101DA
+:105DC00001010101010101020202020202020202BA
+:105DD00002020202020202020202020000000000AD
+:105DE00000000000000000020202020202020202A1
+:105DF0000202020202020202020202020202020283
+:105E00000202020202020202020202020202020272
+:105E10000202020202020202020202020202020262
+:105E20000202020202020202020202020202020252
+:105E30000202020202020202020202020202020242
+:105E40000202020202020202020202020202020232
+:105E50000202020202020202020202020202020222
+:105E60000202020202020202020202020202020212
+:105E70000202020202020202020202020202020202
+:105E800002020202020202020202020202020202F2
+:105E900002020202020202020202020202020202E2
+:105EA00002020202020202020202020202000000D8
+:105EB00000000000000000010101010101010101D9
+:105EC00001010101010101020202020202020202B9
+:105ED00002020202020202000000000000000000B4
+:105EE00000000000000000020202020202010101A3
+:105EF0000101010101010102020202020202020289
+:105F00000202020202020202020202020202020271
+:105F10000202020202020202020202020202020261
+:105F20000202020202020202020202020202020251
+:105F30000202020202020202020202020202020241
+:105F40000202020202020202020202020202020231
+:105F50000202020202020202020202020202020221
+:105F60000202020202020202020202020202020211
+:105F70000202020202020202020202020202020201
+:105F800002020202020202020202020202020202F1
+:105F900002020202020202020202020202020202E1
+:105FA00002020202020202020202020202000000D7
+:105FB00000000000000000010101010101010001D9
+:105FC00001010101010101020201010101010101BF
+:105FD00001010101010101000000000101010101B5
+:105FE0000101010101010102020202020202020298
+:105FF0000202020202020202020202020202020281
+:106000000202020202020202020202020202020270
+:106010000202020202020202020202020202020260
+:106020000202020202020202020202020202020250
+:106030000202020202020202020202020202020240
+:106040000202020202020202020202020202020230
+:106050000202020202020202020202020202020220
+:106060000202020202020202020202020202020210
+:106070000202020202020202020202020202020200
+:1060800002020202020202020202020202020202F0
+:1060900002020202020202020202020202020202E0
+:1060A00002020202020202020202020202020202D0
+:1060B00000000000020000010101010101010001D6
+:1060C00001000101010101010101010101010101C1
+:1060D00001010101010101010101010101010101B0
+:1060E00001010101010101010101010101000000A3
+:1060F000000000000000000202020202020202028E
+:10610000020202020202020202020202020202026F
+:10611000020202020202020202020202020202025F
+:10612000020202020202020202020202020202024F
+:10613000020202020202020202020202020202023F
+:10614000020202020202020202020202020202022F
+:10615000020202020202020202020202020202021F
+:10616000020202020202020202020202020202020F
+:1061700002020202020202020202020202020202FF
+:1061800002020202020202020202020202020202EF
+:1061900002020202020202020202020202020202DF
+:1061A00002020202020202020202020202020202CF
+:1061B00002000202020202010101010101010001CB
+:1061C00001000101010101010101010101010101C0
+:1061D00001010101010101010101010101010101AF
+:1061E000010101010101010202020202020000009C
+:1061F000000000000000000202020202020202028D
+:10620000020202020202020202020202020202026E
+:10621000020202020202020202020202020202025E
+:10622000020202020202020202020202020202024E
+:10623000020202020202020202020202020202023E
+:10624000020202020202020202020202020202022E
+:10625000020202020202020202020202020202021E
+:10626000020202020202020202020202020202020E
+:1062700002020202020202020202020202020202FE
+:1062800002020202020202020202020202020202EE
+:1062900002020202020202020202020202020202DE
+:1062A00002020202020202020202020202020202CE
+:1062B00002020202020202010101010101010001C8
+:1062C00001000101010101010101010101010101BF
+:1062D00001010101010101010101010101010101AE
+:1062E000010101010101010101010101010101019E
+:1062F0000101010101010102020202020202020285
+:10630000020202020202020202020202020202026D
+:10631000020202020202020202020202020202025D
+:10632000020202020202020202020202020202024D
+:10633000020202020202020202020202020202023D
+:10634000020202020202020202020202020202022D
+:10635000020202020202020202020202020202021D
+:10636000020202020202020202020202020202020D
+:1063700002020202020202020202020202020202FD
+:1063800002020202020202020202020202020202ED
+:1063900002020202020202020202020202020202DD
+:1063A00002020202020202020202020202020202CD
+:1063B00002020202020202010101010101010001C7
+:1063C00001000101010101010101010101010101BE
+:1063D00001010101010101010101010101010101AD
+:1063E000010101010101010101010101010101019D
+:1063F000010101010101010101010101010101018D
+:106400000101010101010102020202020202020273
+:106410000202020202020201010101010101010165
+:10642000010101010101010101010101010101015C
+:106430000101010101010102020202020202020243
+:10644000020202020202020202020202020202022C
+:10645000020202020202020202020202020202021C
+:10646000020202020202020202020202020202020C
+:1064700002020202020202020202020202020202FC
+:1064800002020202020202020202020202020202EC
+:1064900002020202020202020202020202020202DC
+:1064A00002020202020202020202020202020202CC
+:1064B00002020202020202010101010101010101C5
+:1064C00001010101010101010101010101010101BC
+:1064D00001010101010101010101010101010101AC
+:1064E000010101010101010101010101010101019C
+:1064F000010101010101010101010101010101018C
+:10650000010101010101010101010101010101017B
+:106510000101010101010102020202020202020262
+:10652000020202020202020202020202020202024B
+:10653000020202020202020202020202020202023B
+:10654000020202020202020202020202020202022B
+:10655000020202020202020202020202020202021B
+:10656000020202020202020202020202020202020B
+:1065700002020202020202020202020202020202FB
+:1065800002020202020202020202020202020202EB
+:1065900002020202020202020202020202020202DB
+:1065A00002020202020202020202020202020202CB
+:1065B00002020202020202010101010101010101C4
+:1065C00001010101010101010101010101010101BB
+:1065D00001010101010101010101010101010101AB
+:1065E000010101010101010101010101010101019B
+:1065F000010101010101010101010101010101018B
+:10660000010101010101010101010101010101017A
+:106610000101010101010100000000000000000073
+:10662000000000000000000000000000000000006A
+:106630000000000000000002020202020202020248
+:106640000202020202020201010101010101010133
+:10665000010101010101010101010101010101012A
+:106660000101010101010102020202020202020211
+:1066700002020202020202020202020202020202FA
+:1066800002020202020202010101010101010101F3
+:1066900001010101010101010101010101010101EA
+:1066A00001010101010101020202020202020202D1
+:1066B00002020202020202010101010101010101C3
+:1066C00001010101010101010101010101010101BA
+:1066D00001010101010101010101010101010101AA
+:1066E000010101010101010101010101010101019A
+:1066F000010101010101010101010101010101018A
+:106700000101010101010101010101010101010179
+:106710000101010101010101010101010101010169
+:106720000101010101010100000000000000000062
+:106730000000000000000002020202020202020247
+:106740000202020202020202020202020202020229
+:106750000202020202020202020202020202020219
+:106760000202020202020202020202020202020209
+:1067700002020202020202020202020202020202F9
+:1067800002020202020202020202020202020202E9
+:1067900002020202020202020202020202020202D9
+:1067A00002020202020202020202020202020202C9
+:1067B00002020202020202010101010101010101C2
+:1067C00001010101010101010101010101010101B9
+:1067D00001010101010101010101010101010101A9
+:1067E0000101010101010101010101010101010199
+:1067F0000101010101010101010101010101010189
+:106800000101010101010101010101010101010178
+:106810000101010101010101010101010101010168
+:106820000101010101010101010101010101010158
+:106830000101010101010101010101010101010148
+:106840000101010101010101010101010101010138
+:106850000101010101010100000000000000000031
+:106860000000000000000002020202020202020216
+:1068700002020202020202020202020202020202F8
+:1068800002020202020202000000000000000000FA
+:1068900000000000000000000000000000000000F8
+:1068A00000000000000000020202020202020202D6
+:1068B00002020202020202010101010101010101C1
+:1068C00001010101010101010101010101010101B8
+:1068D00001010101010101010101010101010101A8
+:1068E0000101010101010101010101010101010198
+:1068F0000101010101010101010101010101010188
+:106900000101010101010101010101010101010177
+:106910000101010101010101010101010101010167
+:106920000101010101010101010101010101010157
+:106930000101010101010101010101010101010147
+:106940000101010101010101010101010101010137
+:106950000101010101010100000000000000000030
+:10696000000000000000000101010101010101011E
+:1069700001010101010101020202020202020202FE
+:1069800002020202020202000000000000000000F9
+:1069900000000000000000000000000000000000F7
+:1069A00000000000000000020202020202020202D5
+:1069B00002020202020202010101010101010101C0
+:1069C00001010101010101010101010101010101B7
+:1069D00001010101010101010101010101010101A7
+:1069E0000101010101010101010101010101010197
+:1069F0000101010101010101010101010101010187
+:106A00000101010101010101010101010101010176
+:106A10000101010101010101010101010101010166
+:106A20000101010101010101010101010101010156
+:106A30000101010101010101010101010101010146
+:106A40000101010101010101010101010101010136
+:106A50000101010101010101010101010101010126
+:106A60000101010101010101010101010101010116
+:106A70000101010101010101010101010101010106
+:106A800001010101010101000000000000000000FF
+:106A900000000000000000000000000000000000F6
+:106AA00000000000000000020202020202020202D4
+:106AB00002020202020202010101010101010101BF
+:106AC00001010101010101010101010101010101B6
+:106AD00001010101010101010101010101010101A6
+:106AE0000101010101010101010101010101010196
+:106AF0000101010101010101010101010101010186
+:106B00000101010101010101010101010101010175
+:106B10000101010101010101010101010101010165
+:106B20000101010101010101010101010101010155
+:106B30000101010101010101010101010101010145
+:106B40000101010101010101010101010101010135
+:106B50000101010101010101010101010101010125
+:106B60000101010101010101010101010101010115
+:106B700001010101010101020202020202020202FC
+:106B800002020202020202000000000000000000F7
+:106B900000000000000000000000000000000000F5
+:106BA00000000000000000020202020202020202D3
+:106BB00002020202020202010101010101010101BE
+:106BC00001010101010101010101010101010101B5
+:106BD00001010101010101010101010101010101A5
+:106BE0000101010101010101010101010101010195
+:106BF0000101010101010101010101010101010185
+:106C00000101010101010101010101010101010174
+:106C10000101010101010101010101010101010164
+:106C20000101010101010101010101010101010154
+:106C30000101010101010101010101010101010144
+:106C40000101010101010101010101010101010134
+:106C50000101010101010101010101010101010124
+:106C60000101010101010101010101010101010114
+:106C70000101010101010101010101010101010104
+:106C800001010101010101010101010101010101F4
+:106C900001010101010101010101010101010101E4
+:106CA00001010101010101000000000000000000DD
+:106CB00000000000000000010101010101010101CB
+:106CC00001010101010101010101010101010101B4
+:106CD00001010101010101010101010101010101A4
+:106CE0000101010101010101010101010101010194
+:106CF0000101010101010101010101010101010184
+:106D00000101010101010101010101010101010173
+:106D10000101010101010101010101010101010163
+:106D20000101010101010101010101010101010153
+:106D30000101010101010101010101010101010143
+:106D40000101010101010101010101010101010133
+:106D50000101010101010101010101010101010123
+:106D60000101010101010101010101010101010113
+:106D70000101010101010101010101010101010103
+:106D800001010101010101010101010101010101F3
+:106D900001010101010101010101010101010101E3
+:106DA00001010101010101000000000000000000DC
+:106DB00000000000000000010101010101010101CA
+:106DC00001010101010101010101010101010101B3
+:106DD00001010101010101010101010101010101A3
+:106DE0000101010101010101010101010101010193
+:106DF0000101010101010101010101010101010183
+:106E00000101010101010101010101010101010172
+:106E10000101010101010101010101010101010162
+:106E20000101010101010101010101010101010152
+:106E30000101010101010101010101010101010142
+:106E40000101010101010101010101010101010132
+:106E50000101010101010101010101010101010122
+:106E60000101010101010101010101010101010112
+:106E70000101010101010101010101010101010102
+:106E800001010101010101010101010101010101F2
+:106E900001010101010101010101010101010101E2
+:106EA00001010101010101000000000000000000DB
+:106EB00000000000000000000000000000000000D2
+:106EC00000000000000000000000000000000000C2
+:106ED00000000000000000020202020202020202A0
+:106EE0000202020202020202020202020202020282
+:106EF0000202020202020202020202020202020272
+:106F00000202020202020202020202020202020261
+:106F10000202020202020202020202020202020251
+:106F20000202020202020202020202020202020241
+:106F30000202020202020202020202020202020231
+:106F40000202020202020202020202020202020221
+:106F50000202020202020202020202020202020211
+:106F60000202020202020202020202020202020201
+:106F70000202020202020200000000000000000003
+:106F800000000000000000020202020202020202EF
+:106F900002020202020202020202020202020202D1
+:106FA00002020202020202000000000000000000D3
+:106FB00000000000000000000000000000000000D1
+:106FC00000000000000000000000000000000000C1
+:106FD00000000000000000000000000000000000B1
+:106FE00000000000000000000000000000000000A1
+:106FF0000000000000000000000000000000000091
+:107000000000000000000000000000000000000080
+:107010000000000000000000000000000000000070
+:107020000000000000000000000000000000000060
+:107030000000000000000000000000000000000050
+:10704000000000000000000202020202020202022E
+:107050000202020202020200000000000000000022
+:10706000000000000000000202020202020202020E
+:107070000202020202020200000000000000000002
+:107080000000000000000000000000000000000000
+:1070900000000000000000020202020202020202DE
+:1070A00002020202020202000000000000000000D2
+:1070B00000000000000000000000000000000000D0
+:1070C00000000000000000000000000000000000C0
+:1070D00000000000000000000000000000000000B0
+:1070E00000000000000000000000000000000000A0
+:1070F0000000000000000000000000000000000090
+:10710000000000000000000000000000000000007F
+:10711000000000000000000000000000000000006F
+:10712000000000000000000000000000000000005F
+:10713000000000000000000000000000000000004F
+:10714000000000000000000000000000000000003F
+:10715000000000000000000000000000000000002F
+:10716000000000000000000000000000000000001F
+:10717000000000000000000000000000000000000F
+:1071800000000000000000000000000000000000FF
+:1071900000000000000000000000000000000000EF
+:1071A00000000000000000000000000000000000DF
+:1071B000000000000000003B000000000000000094
+:1071C00000000000000000000000000000000000BF
+:1071D00000000000000000000000000000000000AF
+:1071E000000000000000000000000000000000009F
+:1071F000000000000000000000000000000000008F
+:10720000000000000000000000000000000001007D
+:10721000000000000000000000000000000000006E
+:10722000000000000000000000000000000000005E
+:10723000000000000000000000000000000000004E
+:10724000000000000000000000000000000000003E
+:10725000000000000000000000000000000000002E
+:10726000000000000000000000000000000000001E
+:10727000000000000000000000000000000000000E
+:1072800000000000000000000000000000000000FE
+:1072900000000000000000000000000000000000EE
+:1072A00000000000000000000000000000000000DE
+:1072B00000000000000000000000000000000000CE
+:1072C00000000001010000010000000101000000B9
+:1072D00000000000000000000000000000000000AE
+:1072E000000000000000000000000000000000009E
+:1072F000000000000000000000000000000000008E
+:10730000000000000000000000000000000001007C
+:10731000000000000000000000000000000000006D
+:10732000000000000000000000000000000000005D
+:10733000000000000000000000000000000000004D
+:10734000000000000000000000000000000000003D
+:10735000000000000000000000000000000000002D
+:10736000000000000000000000000000000000001D
+:10737000000000000000000000000000000000000D
+:1073800000000000000000000000000000000000FD
+:1073900000000000000000000000000000000000ED
+:1073A00000000000000000000000000000000000DD
+:1073B00000000000000000000000000000000000CD
+:1073C00000000001010000010000010101010000B6
+:1073D00000000000000000000000000000000000AD
+:1073E000000000000000000000000000000000009D
+:1073F000000000000000000000000000000000008D
+:10740000000000000000000000000000000101007A
+:10741000000000000000000000000000000000006C
+:10742000000000000000000000000000000000005C
+:10743000000000000000000000000000000000004C
+:10744000000000000000000000000000000000003C
+:10745000000000000000000000000000000000002C
+:10746000000000000000000000000000000000001C
+:10747000000000000000000000000000000000000C
+:1074800000000000000000000000000000000000FC
+:1074900000000000000000000000000000000000EC
+:1074A00000000000000000000000000000000000DC
+:1074B00000000000000000000000000000000000CC
+:1074C00000000001010000010100010101010000B4
+:1074D00000000000000000000000000000000000AC
+:1074E000000000000000000000000000000000009C
+:1074F000000000000000000000000000000000008C
+:107500000000000101000000000000000001010077
+:10751000000000000000000000000000000000006B
+:10752000000000000000000000000000000000005B
+:10753000000000000000000000000000000000004B
+:10754000000000000000000000000000000000003B
+:10755000000000000000000000000000000000002B
+:10756000000000000000000000000000000000001B
+:10757000000000000000000000000000000000000B
+:1075800000000000000000000000000000000000FB
+:1075900000000000000000000000000000000000EB
+:1075A00000000000000000000000000000000000DB
+:1075B00000000000000000000000000000000000CB
+:1075C00001010001010000010100010101010000B1
+:1075D00000000000000000000000000000000000AB
+:1075E000000000000000000000000000000000009B
+:1075F000000000000000000000000000000000008B
+:107600000000000101000000000000000001010076
+:10761000000000000000000000000000000000006A
+:10762000000000000000000000000000000000005A
+:10763000000000000000000000000000000000004A
+:107640000000000000000000000000000000010039
+:10765000000000000000000000000000000000002A
+:10766000000000000000000000000000000000001A
+:10767000000000000000000000000000000000000A
+:1076800000000000000000000000000000000000FA
+:1076900000000000000000000000000000000000EA
+:1076A00000000000000000000000000000000000DA
+:1076B00000000000000000000000000000000000CA
+:1076C00001010001010000010101010101010000AF
+:1076D00000000000000000000000000000000000AA
+:1076E000000000000000000000000000000000009A
+:1076F000000000000000000000000000000000008A
+:107700000000000101010000000000000001010074
+:107710000000000000000000000000000000000069
+:107720000000000000000000000000000000000059
+:107730000000000000000000000000000000000049
+:107740000000000000000000000000000000010038
+:107750000000000000000000000000000000000029
+:107760000000000000000000000000000000000019
+:107770000000000000000000000000000000000009
+:1077800000000000000000000000000000000000F9
+:1077900000000000000000000000000000000000E9
+:1077A00000000000000000000000000000000000D9
+:1077B00000000000000000000000000000000000C9
+:1077C00001010101010000010101010101010000AD
+:1077D00001000000000000000000000000000000A8
+:1077E0000000000000000000000000000000000099
+:1077F0000000000000000000000000000000000089
+:107800000000000101010100000000000001010072
+:107810000000000000000000000000000000000068
+:107820000000000000000000000000000000000058
+:107830000000000000000000000000000000000048
+:107840000101010000000000000000000001010033
+:107850000000000000000000000000000000000028
+:107860000000000000000000000000000000000018
+:107870000000000000000000000000000000000008
+:1078800000000000000000000000000000000000F8
+:1078900000000000000000000000000000000000E8
+:1078A00000000000000000000000000000000000D8
+:1078B00000000000000000000000000000000000C8
+:1078C00001010101010100010101010101010000AB
+:1078D00001000000000000000000000000000000A7
+:1078E0000000000000000000000000000000000098
+:1078F0000000000000000000000000000000000088
+:107900000000000101010101000000000001010070
+:107910000000000000000000000000000000000067
+:107920000000000000000000000000000000000057
+:107930000000000000000000000000000000010046
+:10794000010101010100000001000000000101002F
+:107950000000000000000000000000000000000027
+:107960000101010000000000000000000000010013
+:107970000000000000000000000000000000000007
+:1079800000000000000000000000000000000000F7
+:1079900000000000000000000000000000000000E7
+:1079A00000000000000000000000000000000000D7
+:1079B00000000000000000000000000000000001C6
+:1079C00001010101010101010101010101010001A8
+:1079D00001010000000000000000000000000000A5
+:1079E0000000000000000000000000000000000097
+:1079F0000000000000000000000000000000000087
+:107A0000000000010101010100000000000101006F
+:107A10000000000000000000000000000000000066
+:107A20000000000000000000000000000000010055
+:107A30000000000000000000000000000000010144
+:107A4000010101010100000001000000000101012D
+:107A50000101010000000000000000000000000023
+:107A60000101010101000000000000000000010010
+:107A70000000000000000000000000000000000006
+:107A800000000000000000000000000000000000F6
+:107A900000000000010000000000000000000000E5
+:107AA00000000000000000000000000000000000D6
+:107AB00000000000000000000000000000000001C5
+:107AC00001010101010101010101010101010001A7
+:107AD00001010000000000000000000000000000A4
+:107AE0000000000000000000000000000000000096
+:107AF0000000000000000000000000000000010085
+:107B0000000000010101010101020000000101006B
+:107B10000000000000000000000000000000000065
+:107B20000000000000000000000000000000010054
+:107B30000100000000000000000000000001010141
+:107B4000010101010101000001000000000101012B
+:107B5000010101010100000000000000000000011F
+:107B6000010101010100000000000000000001000F
+:107B70000000000000000000000000000000000005
+:107B800001000000000000000000000000000000F4
+:107B900000000000010000000000000000010100E2
+:107BA00000000000000000000000000000000000D5
+:107BB00000000000000000000000000000000001C4
+:107BC00001010101010101010101010101010001A6
+:107BD00001010100000000000000000000010100A0
+:107BE0000000000100000000000000000000000094
+:107BF0000000000101000000000000000000010082
+:107C0000010000010101010101010000000101006A
+:107C10000000000000000000000000000000000064
+:107C20000000000000000000000000000000010053
+:107C3000010000000000000001000000000101013F
+:107C40000101010101010100010001000001010128
+:107C5000010101010100000000000000000000011E
+:107C6000010101010101000101000000000001000B
+:107C70000000000000000000000000000000000004
+:107C800001000000000000000000000000000000F3
+:107C900000000000010000010100000000010100DF
+:107CA00000000000000000000000000000000000D4
+:107CB00000000000000000000000000000000001C3
+:107CC00001010101010101010101010101010001A5
+:107CD000010101000000000000000000000101009F
+:107CE0000000000100000000000000000000000093
+:107CF0000000000101000000000000000000010081
+:107D00000100000101010101010100020001010067
+:107D10000000000000000000000000000000000063
+:107D20000000000001000000000000000000010150
+:107D3000010101000000000001000000000101013C
+:107D40000101010101010101010101010001010124
+:107D5000010101010100000000000000000000011D
+:107D60000101010101010101010000000001010008
+:107D70000000000000000000000000000000000003
+:107D800001010100000000000000000000000000F0
+:107D900001000100010001010100010000010100DA
+:107DA00000000000000000000000000000000000D3
+:107DB00000000000000000000000000000000001C2
+:107DC00001010101010101010101010101010001A4
+:107DD000010101000000000000000000000101009E
+:107DE0000000000101000000000000000000000091
+:107DF000000000010101000000000000000001017E
+:107E00000101000101010101010102010001010064
+:107E10000000000000000000000000000000000062
+:107E2000010101000100000000000000000101014B
+:107E30000101010101000000010000000001010139
+:107E40000101010101010101010101010001010123
+:107E5000010101010100000000000000000001011B
+:107E60000101010101010101010100010001010005
+:107E70000000000001000000000000000000000001
+:107E800001010101010000000000000000000000ED
+:107E900001000101010101010101010100010100D5
+:107EA00000000000000000000000000000000000D2
+:107EB00000000000000000000000000000000001C1
+:107EC00001010101010101010101010101010001A3
+:107ED000010101000100000000000000010101019A
+:107EE000010000010100000000000000000000008F
+:107EF000000000010101000000000000000001017D
+:107F00000101000101010101010101010001010064
+:107F10000000000000000000000000000000000061
+:107F2000010101000100000000000000000101014A
+:107F30000101010101000100010000000001010137
+:107F40000101010101010101010101010001010122
+:107F50000101010101010001000000000000010118
+:107F60000101010101010101010101010001010003
+:107F700001010100010000000000000000000001FC
+:107F800001010101010000000000000000010100EA
+:107F900001010101010101010101010100010100D3
+:107FA00001000000000000000000000000000000D0
+:107FB00000000000000000000000000000000001C0
+:107FC00001010101010101010101010101010001A2
+:107FD0000101010001000000000001000101010198
+:107FE000010000010100000000000000000000008E
+:107FF000000000010101000000000000000001017C
+:108000000101010101010101010101010001010062
+:10801000000000000000000000000000000000015F
+:108020000101010001000100000000000001010148
+:108030000101010101010101010100000001010133
+:108040000101010101010101010101010001010121
+:108050000101010101010101000000000000010116
+:108060000101010101010101010101010001010002
+:1080700001010101010000000000000000000001FA
+:1080800001010101010100010100000000010100E6
+:1080900001010101010101010101010100010100D2
+:1080A00001000000010000000000000000000000CE
+:1080B00000000000000000000000000000000001BF
+:1080C00001010101010101010101010101010001A1
+:1080D0000101010101000000000101010101010194
+:1080E000010000010100000000000000000000008D
+:1080F000000000010101000000000000000001017B
+:108100000101010101010101010101010001010061
+:10811000000000000000000000000000000000015E
+:108120000101010101010101010000000001010143
+:108130000101010101010101010101000001010131
+:10814000010101010101010101010101010101011F
+:108150000101010101010101010000000000010114
+:108160000101010101010101010101010001010001
+:1081700001010101010000000000000000010101F7
+:1081800001010101010101010100000000010100E4
+:1081900001010101010101010101010100010100D1
+:1081A00001010000010000000000000000000000CC
+:1081B00000000000000000000000000000000002BD
+:1081C000010101020101010101010101020100029D
+:1081D0000101010101000000000101010101010193
+:1081E000010000010100000000000000000000008C
+:1081F000000000010101000000000000000001017A
+:108200000101010101010101010101010001010060
+:10821000000000000000000000000000000000015D
+:108220000101010101010101010000000001010142
+:10823000010101010101010101010101000101012F
+:10824000010101010101010101010101010101011E
+:108250000101010101010101010000000001010112
+:108260000101010101010101010101010001010000
+:1082700001010101010100010100000100010101F2
+:1082800001010101010101010101000100010100E1
+:1082900001010101010101010101010100010100D0
+:1082A00001010001010000000000000000000000CA
+:1082B00001000000000000000000000000000002BB
+:1082C0000202010202010102010102020201000296
+:1082D0000101010101000000000101010101010192
+:1082E0000101000101000000000000000000010089
+:1082F0000000000101010100000000000000010178
+:10830000010101010101010101010101020101005D
+:10831000000000000000000000000000000000015C
+:108320000101010101010101010000010001010140
+:10833000010101010101010101010101000101012E
+:10834000010101010101010101010101010101011D
+:10835000010101010101010101010001000101010F
+:1083600001010101010101010101010100010101FE
+:1083700001010101010101010100000100010101F0
+:1083800001010101010101010101010100010101DE
+:1083900001010101010101010101010100010101CE
+:1083A00001010101010000000000000000000000C8
+:1083B00001000000000000000000000000000002BA
+:1083C0000202010202010102020102020201000294
+:1083D0000201010101000000000101010101010190
+:1083E0000101000101010000000000000000010087
+:1083F0000000000101010101000000000000010176
+:10840000010101010101010101010101020101005C
+:108410000101010000000000000000000000010157
+:10842000010101010101010101000101000101013E
+:10843000010101010101010101010101000101012D
+:10844000010101010101010101010101010101011C
+:10845000010101010101010101010101000101010D
+:1084600001010101010101010101010101010101FC
+:1084700001010101010101010101000100010101EE
+:1084800001010101010101010101010100010101DD
+:1084900001010101010101010101010101010101CC
+:1084A00001010101010100010000000000000000C5
+:1084B00001000000000000000000000000000002B9
+:1084C0000202020202010102020202020202000290
+:1084D000020201010100000001010101010101018D
+:1084E0000101010101010000000000000000010184
+:1084F0000100000101010101000000000000010174
+:10850000010101010101010101010101010101005C
+:108510000101010000000000000000000000010156
+:10852000010101010101010101010101000101013C
+:10853000010101010101010101010101000101012C
+:10854000010101010101010101010101010101021A
+:10855000010101010101010101010101000101010C
+:1085600001010101010101010101010101010101FB
+:1085700001010101010101010101010100010101EC
+:1085800001010101010101010101010100010101DC
+:1085900001010101010101010101010101010101CB
+:1085A00001010101010101010000000000010000C2
+:1085B00001010000000000000000000000000002B7
+:1085C000020202020202010202020202020200028E
+:1085D000020201010100010001010101010101028A
+:1085E0000101010101010000000000000000010183
+:1085F000010000010101010100020002020001016D
+:10860000010101020101010101010101010101005A
+:108610000101010000000000000000000001010154
+:10862000010101010101010101010101000101013B
+:10863000010101010101010101010101000101022A
+:108640000101010101010101010101010101010219
+:10865000010101010101010101010101000101010B
+:1086600001010101010101010101010101010101FA
+:1086700001010101010101010101010100010101EB
+:1086800001010101010101010101010100010101DB
+:1086900001010101010101010101010101010101CA
+:1086A00001010101010101010100000000010000C0
+:1086B00001010000000100000000000000010002B4
+:1086C000020202020202020202020202020200028C
+:1086D0000202020101010101010101010101010286
+:1086E0000101010101010000000000000002010180
+:1086F0000100000101010101000202020201010268
+:108700000101010202010101010101010101010058
+:108710000101010000000000000000000001010153
+:108720000101010101010101010101010001010239
+:108730000101010101010101010101010001010229
+:108740000101010101010101010101010101010218
+:108750000101010101010101010101010001010209
+:1087600001010101010101010101010101010101F9
+:1087700001010101010101010101010100010101EA
+:1087800001010101010101010101010100010101DA
+:1087900001010101010101010101010101010101C9
+:1087A00001010101010101010100010000010100BD
+:1087B00001010001010100000000000000010002B1
+:1087C000020202020202020202020202020200028B
+:1087D0000202020101010101010101010101010285
+:1087E0000101010201010000000200020201010179
+:1087F0000100000101010101010102010201010268
+:108800000101010202020101010101010101010056
+:108810000101010000000000000000000001010152
+:108820000101010101010101010101010001010238
+:108830000101010101010101010101010101010227
+:108840000202010101010101010101010101010215
+:108850000202010101010101010101010001010206
+:1088600001010101010101010101010101010101F8
+:1088700001010101010101010101010100010101E9
+:1088800001010101010101010101010101010101D8
+:1088900001010101010101010101010101010101C8
+:1088A00001010101010101010101010000010100BB
+:1088B00000010101010100000000000000010002B0
+:1088C000020202020202020202020202020200028A
+:1088D0000202020101010101010101010101010284
+:1088E0000201010201010100000202020201010174
+:1088F0000101000201010101010101010101010267
+:108900000201010202020201010101010101020052
+:10891000010101010100000000000000000101024E
+:108920000101010101010101010101010101010236
+:108930000201010101010101010101010101010225
+:108940000202020101010101010101010101010213
+:108950000202020101010101010101010101010203
+:1089600002020101010101010101010101010101F5
+:1089700001010101010101010101010100010102E7
+:1089800001010101010101010101010101010101D7
+:1089900001010101010101010101010101010101C7
+:1089A00001010101010101010101010000010100BA
+:1089B00000010101010100010000000001010002AD
+:1089C0000202020202020202020202020202000289
+:1089D0000202020202010101010101010101010281
+:1089E0000201010202010101020102010201010270
+:1089F0000101000202010101010101010101010265
+:108A0000020201020202020201010101010202004E
+:108A1000010101010100000000000000000101024D
+:108A20000101010101010101010101010101010235
+:108A30000202010101010101010101010101010223
+:108A40000202020201010101010101010101010211
+:108A50000202020201010101010101010101010201
+:108A600002020201010101010101010101010101F3
+:108A700001010101010101010101010101010102E5
+:108A800002010101010101010101010101010101D5
+:108A900001010101010101010101010101010101C6
+:108AA00001010101010101010101010100010100B8
+:108AB00000000101010101010000000001010002AC
+:108AC0000202020202020202020202020202000288
+:108AD000020202020201010101020201020101027D
+:108AE0000202010202010101010101010201010270
+:108AF0000101010202020101010101010101010262
+:108B0000020201020202020202010101010202004C
+:108B1000010101010100000000000000000101024C
+:108B20000202010101010101010101010101010232
+:108B30000202020101010101010101010101010221
+:108B4000020202020201010101010101010101020F
+:108B500002020202020101010101010101010102FF
+:108B600002020202010101010101010101010101F1
+:108B700001010101010101010101010101010102E4
+:108B800002020101010101010101010101010101D3
+:108B900001010101010101010101010101010102C4
+:108BA00001010101010101010101010100010100B7
+:108BB00000000101010101010100000101010002A9
+:108BC0000202020202020202020202020202000287
+:108BD0000202020202010101010202020202020279
+:108BE0000202010202010101010101010101010270
+:108BF0000101010202020101010101010101010261
+:108C00000202020202020202020201010102020148
+:108C1000010101010100000000000000000101024B
+:108C20000202020101010101010101010101010230
+:108C3000020202020101010101010101010101021F
+:108C4000020202020202010102010101010101020C
+:108C500002020202020101010101010101010102FE
+:108C600002020202020101010101010101010102EE
+:108C700001010101010101010101010101010102E3
+:108C800002020201010101010101010101010101D1
+:108C900001010101010101010101010101010102C3
+:108CA00002010101010101010101010100010100B5
+:108CB00000000101010001010100010101010002A8
+:108CC0000202020202020202020202020202000286
+:108CD0000202020202010101010202020202020278
+:108CE000020202020202010101010101010101026D
+:108CF000020101020202010101010101010102025E
+:108D00000202020202020202020201010102020147
+:108D10000202010101010000000000000001010247
+:108D2000020202010201010101010101010101022E
+:108D3000020202020201010102010101010101021C
+:108D40000202020202020201020101010101020209
+:108D500002020202020201010101010101010102FC
+:108D600002020202020201010101010101010102EC
+:108D700002020101010101010101010101010102E0
+:108D800002020202010101010101010101010102CE
+:108D900002010101010101010101010101010102C1
+:108DA00002020101010101010101010100010100B3
+:108DB00000000000010001010101010101010002A8
+:108DC0000202020202020202020202020202000285
+:108DD0000202020202020201020202020202020274
+:108DE000020202020202010101010101010101026C
+:108DF000020101020202020101010101010102025C
+:108E00000202020202020202020202020102020144
+:108E10000202020101010100000000000001010244
+:108E2000020202020201010101010101010101022C
+:108E30000202020202020201020101010101020218
+:108E40000202020202020202020202010102020204
+:108E500002020202020202020101010101010102F9
+:108E600002020202020202020201010101010102E8
+:108E700002020201010101010101010101010102DE
+:108E800002020202020101010101010101010102CC
+:108E900002020201020101010101010101010102BD
+:108EA00002020101010101010101010100010100B2
+:108EB00000000000000001010101010101010002A8
+:108EC0000202020202020202020202020202000284
+:108ED0000202020202020202020202020202020272
+:108EE000020202020202010101010101010101026B
+:108EF0000202010202020202010101010101020259
+:108F00000202020202020202020202020102020242
+:108F10000202020101010101000000000001010242
+:108F20000202020202020201010101010101020228
+:108F30000202020202020202020201010102020214
+:108F40000202020202020202020202020102020202
+:108F500002020202020202020201010101010102F7
+:108F600002020202020202020202010101010202E5
+:108F700002020202020101010101010101010102DB
+:108F800002020202020201010101010101010102CA
+:108F900002020202020101010101010101010102BB
+:108FA00002020202020101010101010100010100AE
+:108FB00000000000000001010101010101010002A7
+:108FC0000202020202020202020202020202000283
+:108FD0000202020202020202020202020202020271
+:108FE0000202020202020201010101010101020268
+:108FF0000202010202020202010101010101020258
+:109000000202020202020202020202020102020241
+:109010000202020101010101000000000001010241
+:109020000202020202020202020101010101020225
+:109030000202020202020202020202010102020212
+:109040000202020202020202020202020102020201
+:1090500002020202020202020202010101010202F4
+:1090600002020202020202020202020201010202E2
+:1090700002020202020101010101010101010102DA
+:1090800002020202020202020201010101010102C6
+:1090900002020202020202020201010101010102B6
+:1090A00002020202020101010101010101010100AC
+:1090B00000000000000000000101010100010002A9
+:1090C0000202020202020202020202020202000282
+:1090D0000202020202020202020202020202020270
+:1090E0000202020202020202010101010101020266
+:1090F0000202020202020202020101010101020255
+:109100000202020202020202020202020102020240
+:10911000020202020101010101000000000101023E
+:109120000202020202020202020101010102020223
+:109130000202020202020202020202020102020210
+:1091400002020202020202020202020202020202FF
+:1091500002020202020202020202020201010202F1
+:1091600002020202020202020202020201020202E0
+:1091700002020202020201010101010101010102D8
+:1091800002020202020202020202010101010102C4
+:1091900002020202020202020202020101010102B3
+:1091A00002020202020201010101010101010100AA
+:1091B00000000000000000000001010100000002AA
+:1091C0000202020202020202020202020202000281
+:1091D000020202020202020202020202020202026F
+:1091E0000202020202020202020201010101020263
+:1091F0000202020202020202020201010101020253
+:10920000020202020202020202020202020202023E
+:10921000020202020201010101000000000101023C
+:10922000020202020202020202020202010202021F
+:10923000020202020202020202020202010202020F
+:1092400002020202020202020202020202020202FE
+:1092500002020202020202020202020201020202EF
+:1092600002020202020202020202020201020202DF
+:1092700002020202020202020201010101010102D4
+:1092800002020202020202020202020201020202BF
+:1092900002020202020202020202020201020202AF
+:1092A00002020202020202020101010101010100A7
+:1092B00000000000000000000000000000000002AC
+:1092C0000202020202020202020202020202000280
+:1092D000020202020202020202020202020202026E
+:1092E000020202020202020202020202010202025F
+:1092F000020202020202020202020202010202024F
+:10930000020202020202020202020202020202023D
+:109310000202020202010101010000020201020236
+:10932000020202020202020202020202010202021E
+:10933000020202020202020202020202010202020E
+:1093400002020202020202020202020202020202FD
+:1093500002020202020202020202020201020202EE
+:1093600002020202020202020202020202020202DD
+:1093700002020202020202020202010201010102D1
+:1093800002020202020202020202020201020202BE
+:1093900002020202020202020202020201020202AE
+:1093A00002020202020202020201010101010100A5
+:1093B00000000000000000000000000000000002AB
+:1093C000020202020202020202020202020200027F
+:1093D000020202020202020202020202020202026D
+:1093E000020202020202020202020202010202025E
+:1093F000020202020202020202020202020202024D
+:10940000020202020202020202020202020202023C
+:109410000202020202020101010002010202020232
+:10942000020202020202020202020202010202021D
+:10943000020202020202020202020202020202020C
+:1094400002020202020202020202020202020202FC
+:1094500002020202020202020202020202020202EC
+:1094600002020202020202020202020202020202DC
+:1094700002020202020202020202020201020202CD
+:1094800002020202020202020202020201020202BD
+:1094900002020202020202020202020201020202AD
+:1094A00002020202020202020202020101010100A2
+:1094B00000000000000000000000000000000002AA
+:1094C000020202020202020202020202020200027E
+:1094D000020202020202020202020202020202026C
+:1094E000020202020202020202020202020202025C
+:1094F000020202020202020202020202020202024C
+:10950000020202020202020202020202020202023B
+:109510000202020202020201010201010102020230
+:10952000020202020202020202020202020202021B
+:10953000020202020202020202020202020202020B
+:1095400002020202020202020202020202020202FB
+:1095500002020202020202020202020202020202EB
+:1095600002020202020202020202020202020202DB
+:1095700002020202020202020202020201020202CC
+:1095800002020202020202020202020202020202BB
+:1095900002020202020202020202020202020202AB
+:1095A000020202020202020202020201010201029E
+:1095B00002000000000000000000000000000102A6
+:1095C000020202020202020202020202010200027E
+:1095D000020202020202020202020202020202026B
+:1095E000020202020202020202020202020202025B
+:1095F000020202020202020202020202020202024B
+:10960000020202020202020202020202020202023A
+:10961000020202020202020201010101010202022F
+:10962000020202020202020202020202020202021A
+:10963000020202020202020202020202020202020A
+:1096400002020202020202020202020202020202FA
+:1096500002020202020202020202020202020202EA
+:1096600002020202020202020202020202020202DA
+:1096700002020202020202020202020201020202CB
+:1096800002020202020202020202020202020202BA
+:1096900002020202020202020202020202020202AA
+:1096A000020202020202020202020202010202029B
+:1096B00002020000000000000000000000000102A3
+:1096C0000202020202020202020201010101000280
+:1096D000020202020202020202020202020202026A
+:1096E000020202020202020202020202020202025A
+:1096F000020202020202020202020202020202024A
+:109700000202020202020202020202020202020239
+:10971000020202020202020202010101010202022D
+:109720000202020202020202020202020202020219
+:109730000202020202020202020202020202020209
+:1097400002020202020202020202020202020202F9
+:1097500002020202020202020202020202020202E9
+:1097600002020202020202020202020202020202D9
+:1097700002020202020202020202020202020202C9
+:1097800002020202020202020202020202020202B9
+:1097900002020202020202020202020202020202A9
+:1097A000020202020202020202020202010202029A
+:1097B00002020000000000000000000000000102A2
+:1097C0000202020202020201010101010101010281
+:1097D0000202020202020202020202020202020269
+:1097E0000202020202020202020202020202020259
+:1097F0000202020202020202020202020202020249
+:109800000202020202020202020202020202020238
+:10981000020202020202020202010101010202022C
+:109820000202020202020202020202020202020218
+:109830000202020202020202020202020202020208
+:1098400002020202020202020202020202020202F8
+:1098500002020202020202020202020202020202E8
+:1098600002020202020202020202020202020202D8
+:1098700002020202020202020202020202020202C8
+:1098800002020202020202020202020202020202B8
+:1098900002020202020202020202020202020202A8
+:1098A0000202020202020202020202020102020299
+:1098B000020202020000000000000000000001029D
+:1098C0000202020101010101010101010101010284
+:1098D0000202020202020202020202020202020268
+:1098E0000202020202020202020202020202020258
+:1098F0000202020202020202020202020202020248
+:109900000202020202020202020202020202020237
+:10991000020202020202020202010101010202022B
+:109920000202020202020202020202020202020217
+:109930000202020202020202020202020202020207
+:1099400002020202020202020202020202020202F7
+:1099500002020202020202020202020202020202E7
+:1099600002020202020202020202020202020202D7
+:1099700002020202020202020202020202020202C7
+:1099800002020202020202020202020202020202B7
+:1099900002020202020202020202020202020202A7
+:1099A0000202020202020202020202020202020297
+:1099B000020202020200000000000000000001019B
+:1099C0000101010101010101010101010101010286
+:1099D0000202020202020202020202020202020267
+:1099E0000202020202020202020202020202020257
+:1099F0000202020202020202020202020202020247
+:109A00000202020202020202020202020202020236
+:109A10000202020202020202020202020102020227
+:109A20000202020202020202020202020202020216
+:109A30000202020202020202020202020202020206
+:109A400002020202020202020202020202020202F6
+:109A500002020202020202020202020202020202E6
+:109A600002020202020202020202020202020202D6
+:109A700002020202020202020202020202020202C6
+:109A800002020202020202020202020202020202B6
+:109A900002020202020202020202020202020202A6
+:109AA0000202020202020202020202020202020296
+:109AB0000202020202020000000000000000010198
+:109AC0000101010101010101010101010101010285
+:109AD0000202020202020202020202020202020266
+:109AE0000202020202020202020202020202020256
+:109AF0000202020202020202020202020202020246
+:109B00000202020202020202020202020202020235
+:109B10000202020202020202020202020202020225
+:109B20000202020202020202020202020202020215
+:109B30000202020202020202020202020202020205
+:109B400002020202020202020202020202020202F5
+:109B500002020202020202020202020202020202E5
+:109B600002020202020202020202020202020202D5
+:109B700002020202020202020202020202020202C5
+:109B800002020202020202020202020202020202B5
+:109B900002020202020202020202020202020202A5
+:109BA0000202020202020202020202020202020295
+:109BB0000202020202020202000000000000010193
+:109BC0000101010101010101010101010101010284
+:109BD0000202020202020202020101010102020269
+:109BE0000202020202020202020202020202020255
+:109BF0000202020202020202020202020202020245
+:109C00000202020202020202020202020202020234
+:109C10000202020202020202020202020202020224
+:109C20000202020202020202020202020202020214
+:109C30000202020202020202020202020202020204
+:109C400002020202020202020202020202020202F4
+:109C500002020202020202020202020202020202E4
+:109C600002020202020202020202020202020202D4
+:109C700002020202020202020202020202020202C4
+:109C800002020202020202020202020202020202B4
+:109C900002020202020202020202020202020202A4
+:109CA0000202020202020202020202020202020294
+:109CB000020202020202020202000000000201018E
+:109CC0000101010101010101010101010101010184
+:109CD0000101010101010101010101010101010273
+:109CE0000202020101010101010101010101010260
+:109CF0000202020202020202020202020202020244
+:109D00000202020202020202020202020202020233
+:109D10000202020202020202020202020202020223
+:109D20000202020202020202020202020202020213
+:109D30000202020202020202020202020202020203
+:109D400002020202020202020202020202020202F3
+:109D500002020202020202020202020202020202E3
+:109D600002020202020202020202020202020202D3
+:109D700002020202020202020202020202020202C3
+:109D800002020202020202020202020202020202B3
+:109D900002020202020202020202020202020202A3
+:109DA0000202020202020202020202020202020293
+:109DB0000202020202020202020202020202010185
+:109DC0000101010101010101010101010101010183
+:109DD0000101010101010101010101010101010173
+:109DE0000101010101010101010101010101010262
+:109DF0000202020202020202020202020202020243
+:109E00000202020202020202020202020202020232
+:109E10000202020202020202020202020202020222
+:109E20000202020202020202020202020202020212
+:109E30000202020202020202020202020202020202
+:109E400002020202020202020202020202020202F2
+:109E500002020202020202020202020202020202E2
+:109E600002020202020202020202020202020202D2
+:109E700002020202020202020202020202020202C2
+:109E800002020202020202020202020202020202B2
+:109E900002020202020202020202020202020202A2
+:109EA0000202020202020202020202020202020292
+:109EB0000202020202020202020202020202020183
+:109EC0000101010101010101010101010101010182
+:109ED0000101010101010101010101010101010172
+:109EE0000101010101010101010101010101010261
+:109EF000020202010101010101010101010101024E
+:109F0000020202010101010101010101010101023D
+:109F10000202020202020202020202020202020221
+:109F20000202020202020202020202020202020211
+:109F30000202020202020202020202020202020201
+:109F400002020202020202020202020202020202F1
+:109F500002020202020202020202020202020202E1
+:109F600002020202020202020202020202020202D1
+:109F700002020202020202020202020202020202C1
+:109F800002020202020202020202020202020202B1
+:109F900002020202020202020202020202020202A1
+:109FA0000202020202020202020202020202020291
+:109FB0000202020202020202020202020202020182
+:109FC0000101010101010101010101010101010181
+:109FD0000101010101010101010101010101010171
+:109FE0000101010101010101010101010101010161
+:109FF0000101010101010101010101010101010250
+:10A000000202020202020202020202020202020230
+:10A010000202020202020202020202020202020220
+:10A020000202020202020202020202020202020210
+:10A030000202020202020202020202020202020200
+:10A0400002020202020202020202020202020202F0
+:10A0500002020202020202020202020202020202E0
+:10A0600002020202020202020202020202020202D0
+:10A0700002020202020202020202020202020202C0
+:10A0800002020202020202020202020202020202B0
+:10A0900002020202020202020202020202020202A0
+:10A0A0000202020202020202020202020202020290
+:10A0B0000202020202020202020202020202020181
+:10A0C0000101010101010101010101010101010180
+:10A0D0000101010101010101010101010101010170
+:10A0E0000101010101010101010101010101010160
+:10A0F0000101010101010101010101010101010150
+:10A10000010101010101010101010101010101023E
+:10A11000010101010101010101010101010101022E
+:10A12000020202020202020202020202020202020F
+:10A1300002020202020202020202020202020202FF
+:10A1400002020202020202020202020202020201F0
+:10A1500001010101010101010101010101010102EE
+:10A1600002020202020202020202020202020202CF
+:10A1700002020202020202020202020202020202BF
+:10A1800002020202020202020202020202020202AF
+:10A19000020202020202020202020202020202029F
+:10A1A000020202020202020202020202020202028F
+:10A1B0000202020202020202020202020202020180
+:10A1C000010101010101010101010101010101017F
+:10A1D000010101010101010101010101010101016F
+:10A1E000010101010101010101010101010101015F
+:10A1F000010101010101010101010101010101014F
+:10A20000010101010101010101010101010101023D
+:10A21000020202020202020202020202020202021E
+:10A22000020202020202020202020202020202010F
+:10A23000010101010101010101010101010101020D
+:10A2400002020202020202020202020202020202EE
+:10A2500002020202020202020202020202020202DE
+:10A2600002020202020202020202020202020202CE
+:10A2700002020202020202020202020202020202BE
+:10A2800002020202020202020202020202020202AE
+:10A29000020202020202020202020202020202029E
+:10A2A000020202020202020202020202020202028E
+:10A2B000020202020202020202020202020202017F
+:10A2C000010101010101010101010101010101017E
+:10A2D000010101010101010101010101010101016E
+:10A2E000010101010101010101010101010101015E
+:10A2F000010101010101010101010101010101014E
+:10A30000010101010101010101010101010101013D
+:10A31000010101010101010101010101010101012D
+:10A32000010101010101010101010101010101021C
+:10A3300002020202020202020202020202020202FD
+:10A3400002020202020202020202020202020200EF
+:10A3500000000000000000000000000000000002FB
+:10A3600002020202020202020202020202020202CD
+:10A3700002020202020202020202020202020202BD
+:10A3800002020202020202020202020202020202AD
+:10A39000020202020202020202020202020202029D
+:10A3A000020202020202020202020202020202028D
+:10A3B000020202020202020202020202020202017E
+:10A3C000010101010101010101010101010101017D
+:10A3D000010101010101010101010101010101016D
+:10A3E000010101010101010101010101010101015D
+:10A3F000010101010101010101010101010101014D
+:10A40000010101010101010101010101010101013C
+:10A41000010101010101010101010101010101012C
+:10A42000010101010101010101010101010101011C
+:10A43000010101010101010101010101010101010C
+:10A4400001010101010101010101010101010101FC
+:10A4500001010101010101010101010101010101EC
+:10A4600001010101010101010101010101010102DB
+:10A4700002020202020202020202020202020201BD
+:10A4800001010101010101010101010101010102BB
+:10A49000020202020202020202020202020202029C
+:10A4A000020202020202020202020202020202028C
+:10A4B000020202020202020202020202020202017D
+:10A4C000010101010101010101010101010101017C
+:10A4D000010101010101010101010101010101016C
+:10A4E000010101010101010101010101010101015C
+:10A4F000010101010101010101010101010101014C
+:10A50000010101010101010101010101010101013B
+:10A51000010101010101010101010101010101012B
+:10A52000010101010101010101010101010101011B
+:10A53000010101010101010101010101010101010B
+:10A5400001010101010101010101010101010101FB
+:10A5500001010101010101010101010101010101EB
+:10A5600001010101010101010101010101010102DA
+:10A5700002020202020202020202020202020202BB
+:10A5800002020202020202020202020202020202AB
+:10A59000020202020202020202020202020202029B
+:10A5A000020202020202020202020202020202028B
+:10A5B000020202020202020202020202020202017C
+:10A5C000010101010101010101010101010101017B
+:10A5D000010101010101010101010101010101016B
+:10A5E000010101010101010101010101010101015B
+:10A5F000010101010101010101010101010101014B
+:10A60000010101010101010101010101010101013A
+:10A61000010101010101010101010101010101012A
+:10A62000010101010101010101010101010101011A
+:10A63000010101010101010101010101010101010A
+:10A6400001010101010101010101010101010101FA
+:10A6500001010101010101010101010101010101EA
+:10A6600001010101010101010101010101010101DA
+:10A6700001010101010101010101010101010100CB
+:10A6800000000000000000000000000000000002C8
+:10A69000020202020202020202020202020202009C
+:10A6A00000000000000000000000000000000002A8
+:10A6B000020202020202020202020202020202017B
+:10A6C000010101010101010101010101010101017A
+:10A6D000010101010101010101010101010101016A
+:10A6E000010101010101010101010101010101015A
+:10A6F000010101010101010101010101010101014A
+:10A700000101010101010101010101010101010139
+:10A710000101010101010101010101010101010129
+:10A720000101010101010101010101010101010119
+:10A730000101010101010101010101010101010109
+:10A7400001010101010101010101010101010101F9
+:10A7500001010101010101010101010101010101E9
+:10A7600001010101010101010101010101010101D9
+:10A7700001010101010101010101010101010101C9
+:10A7800001010101010101010101010101010102B8
+:10A79000020202020202020202020202020202009B
+:10A7A00000000000000000000000000000000000A9
+:10A7B0000000000000000000000000000000000198
+:10A7C0000101010101010101010101010101010179
+:10A7D0000101010101010101010101010101010169
+:10A7E0000101010101010101010101010101010159
+:10A7F0000101010101010101010101010101010149
+:10A800000101010101010101010101010101010138
+:10A810000101010101010101010101010101010128
+:10A820000101010101010101010101010101010118
+:10A830000101010101010101010101010101010108
+:10A8400001010101010101010101010101010101F8
+:10A8500001010101010101010101010101010101E8
+:10A8600001010101010101010101010101010101D8
+:10A8700001010101010101010101010101010101C8
+:10A8800001010101010101010101010101010101B8
+:10A8900001010101010101010101010101010101A8
+:10A8A0000101010101010101010101010101010099
+:10A8B0000000000000000000000000000000000197
+:10A8C0000101010101010101010101010101010178
+:10A8D0000101010101010101010101010101010168
+:10A8E0000101010101010101010101010101010158
+:10A8F0000101010101010101010101010101010148
+:10A900000101010101010101010101010101010137
+:10A910000101010101010101010101010101010127
+:10A920000101010101010101010101010101010117
+:10A930000101010101010101010101010101010107
+:10A9400001010101010101010101010101010101F7
+:10A9500001010101010101010101010101010101E7
+:10A9600001010101010101010101010101010101D7
+:10A9700001010101010101010101010101010101C7
+:10A9800001010101010101010101010101010101B7
+:10A9900001010101010101010101010101010101A7
+:10A9A0000101010101010101010101010101010098
+:10A9B0000000000000000000000000000000000097
+:10A9C0000000000000000000000000000000000087
+:10A9D0000000000000000000000000000000000275
+:10A9E0000202020202020202020202020202020247
+:10A9F0000202020202020202020202020202020237
+:10AA00000202020202020202020202020202020226
+:10AA10000202020202020202020202020202020216
+:10AA20000202020202020202020202020202020206
+:10AA300002020202020202020202020202020202F6
+:10AA400002020202020202020202020202020202E6
+:10AA500002020202020202020202020202020202D6
+:10AA600002020202020202020202020202020202C6
+:10AA700002020202020202020202020202020202B6
+:10AA800002020202020202020202020202020200A8
+:10AA900000000000000000000000000000000002B4
+:10AAA0000202020202020202020202020202020088
+:10AAB0000000000000000000000000000000000096
+:10AAC0000000000000000000000000000000000086
+:10AAD0000000000000000000000000000000000076
+:10AAE0000000000000000000000000000000000066
+:10AAF0000000000000000000000000000000000056
+:10AB00000000000000000000000000000000000045
+:10AB10000000000000000000000000000000000035
+:10AB20000000000000000000000000000000000025
+:10AB30000000000000000000000000000000000015
+:10AB40000000000000000000000000000000000203
+:10AB500002020202020202020202020202020202D5
+:10AB600002020202020202020202020202020200C7
+:10AB700000000000000000000000000000000000D5
+:10AB800000000000000000000000000000000000C5
+:10AB900000000000000000000000000000000000B5
+:10ABA00000000000000000000000000000000000A5
+:10ABB0000000000000000000000000000000000095
+:10ABC0000000000000000000000000000000000085
+:10ABD0000000000000000000000000000000000075
+:10ABE0000000000000000000000000000000000065
+:10ABF0000000000000000000000000000000000055
+:10AC00000000000000000000000000000000000044
+:10AC10000000000000000000000000000000000034
+:10AC20000000000000000000000000000000000024
+:10AC30000000000000000000000000000000000014
+:10AC40000000000000000000000000000000000004
+:10AC500000000000000000000000000000000000F4
+:10AC600000000000000000000000000000000000E4
+:10AC700000000000000000000000000000000000D4
+:10AC800000000000000000000000000000000000C4
+:10AC900000000000000000000000000000000000B4
+:10ACA00000000000000000000000000000000000A4
+:10ACB0000000000000000000000000000000003361
+:10ACC0000000000000000000000000000000000084
+:10ACD0000000000000000000000000000000000074
+:10ACE0000000000000000000000000000000000064
+:10ACF0000000000000000000000000000000000054
+:10AD00000000000000000100000000000000000042
+:10AD10000000000000000000000000000000000033
+:10AD20000000000000000000000000000000000023
+:10AD30000000000000000000000000000000000013
+:10AD40000000000000000000000000000000000003
+:10AD500000000000000000000000000000000000F3
+:10AD600000000000000000000000000000000000E3
+:10AD700000000000000000000000000000000000D3
+:10AD800000000000000000000000000000000000C3
+:10AD900000000000000000000000000000000000B3
+:10ADA00000000000000000000000000000000000A3
+:10ADB0000000000000000000000000000000000093
+:10ADC0000000000000000000000000000000000083
+:10ADD0000000000000000000000000000000000073
+:10ADE0000000000000000000000000000000000063
+:10ADF0000000000000000000000000000000000053
+:10AE00000000000000000100000000000000000041
+:10AE10000000000000000000000000000000000032
+:10AE20000000000000000000000000000000000022
+:10AE30000000000000000000000000000000000012
+:10AE40000000000000000000000000000000000002
+:10AE500000000000000000000000000000000000F2
+:10AE600000000000000000000000000000000000E2
+:10AE700000000000000000000000000000000000D2
+:10AE800000000000000000000000000000000000C2
+:10AE900000000000000000000000000000000000B2
+:10AEA00000000000000000000000000000000000A2
+:10AEB0000000000000000000000000000000000092
+:10AEC0000000000000000000000000000000000082
+:10AED0000000000000000000000000000000000072
+:10AEE0000000000000000000000000000000000062
+:10AEF0000000000000000000000000000000000052
+:10AF0000000000000001010000000000000000003F
+:10AF10000000000000000000000000000000000031
+:10AF20000000000000000000000000000000000021
+:10AF30000000000000000000000000000000000011
+:10AF40000000000000000000000000000000000001
+:10AF500000000000000000000000000000000000F1
+:10AF600000000000000000000000000000000000E1
+:10AF700000000000000000000000000000000000D1
+:10AF800000000000000000000000000000000000C1
+:10AF900000000000000000000000000000000000B1
+:10AFA00000000000000000000000000000000000A1
+:10AFB0000000000000000000000000000000000091
+:10AFC0000000000000000000000000000000000081
+:10AFD0000000000000000000000000000000000071
+:10AFE0000000000000000000000000000000000061
+:10AFF0000000000000000100000000000000000050
+:10B00000000000000001010000000000000000003E
+:10B010000000000000000000000000000000000030
+:10B020000000000000000000000000000000000020
+:10B030000000000000000000000000000000000010
+:10B040000000000000000000000000000000000000
+:10B0500000000000000000000000000000000000F0
+:10B0600000000000000000000000000000000000E0
+:10B0700000000000000000000000000000000000D0
+:10B0800000000000000000000000000000000000C0
+:10B0900000000000000000000000000000000000B0
+:10B0A00000000000000000000000000000000000A0
+:10B0B0000000000000000000000000000000000090
+:10B0C0000000000000000000000000000000000080
+:10B0D000000000000001000000000000000000006F
+:10B0E0000000000000000000000000000000000060
+:10B0F000000000000000010001000000000000004E
+:10B10000000000000001010000000000000000003D
+:10B11000000000000000000000000000000000002F
+:10B12000000000000000000000000000000000001F
+:10B13000000000000000010000000000000000000E
+:10B1400000000000000000000000000000000000FF
+:10B1500000000000000000000000000000000000EF
+:10B1600000000000000000000000000000000000DF
+:10B1700000000000000000000000000000000000CF
+:10B1800000000000000000000000000000000000BF
+:10B1900000000000000000000000000000000000AF
+:10B1A000000000000000000000000000000000009F
+:10B1B000000000000000000000000000000000008F
+:10B1C000000000000000000000000000000001007E
+:10B1D000000101000001000001000000000000006B
+:10B1E000000000000000000000000000000000005F
+:10B1F000000000000001010001000100000000004B
+:10B20000000000000001010000000000000000003C
+:10B21000000000000000010000000000000000002D
+:10B22000000000000000000000000000000000001E
+:10B23000000000000000010000000000000000000D
+:10B2400000000000000000000000000000000000FE
+:10B2500000000000000000000000000000000000EE
+:10B2600000000000000000000000000000000000DE
+:10B2700000000000000000000000000000000000CE
+:10B2800000000000000000000000000000000000BE
+:10B2900000000000000000000000000000000000AE
+:10B2A000000000000000000000000000000000009E
+:10B2B000000000000000000000000000000000008E
+:10B2C000000000000000000000000000000101017B
+:10B2D0000101010101010000010000000000000067
+:10B2E000000000000000000000000000000000005E
+:10B2F0000000000000010100010101000000000049
+:10B30000000000000001010000000000000000003B
+:10B31000000000000000010000000000000000002C
+:10B32000000000000000000001010000000000001B
+:10B33000000000000001010000000100000000000A
+:10B3400000000000000000000000000000000000FD
+:10B3500000000000000000000000000000000000ED
+:10B3600000000000000000000000000000000000DD
+:10B3700000000000000000000000000000000000CD
+:10B3800000000000000000000000000000000000BD
+:10B3900000000000000000000000000000000000AD
+:10B3A000000000000000000001010001000000009A
+:10B3B000000000000000000000000000000000008D
+:10B3C000000000000000000000000000000101017A
+:10B3D0000101010101010000010100000000000065
+:10B3E000000000000000010001010000000000005A
+:10B3F0000000000000010101010101010000000046
+:10B40000000000000001010000000000000000003A
+:10B41000000000000001010000000000000000002A
+:10B420000000000000000000010101000000000019
+:10B430000000000000010100010101000000000007
+:10B4400000000000000101000000000000000000FA
+:10B4500000000000000000000000000000000000EC
+:10B4600000000000000000000000000000000000DC
+:10B4700000000000000101000000000000000000CA
+:10B4800000000000000000000000000000000000BC
+:10B4900000000000000000000000000000000000AC
+:10B4A0000000000000000001010101010000000097
+:10B4B000000000000000000000000000000000008C
+:10B4C0000000000000000000000000000001010179
+:10B4D0000101010101010001010101000000000062
+:10B4E0000000000000000101010101010000000056
+:10B4F0000000000000010101010101010000000045
+:10B500000000000001010100000000000000000038
+:10B510000000000000010100000000000000000029
+:10B520000000000000000000010101000000000018
+:10B530000000000000010101010101010000000004
+:10B5400000000000000101000000000000000000F9
+:10B5500000000000000101000000000000000000E9
+:10B5600000000000000101000000000000000000D9
+:10B5700000000000000101000000000000000000C9
+:10B5800000000000000000000000000000000000BB
+:10B5900000000000000000000000000000000000AB
+:10B5A0000000000000000001010101010100000095
+:10B5B000000000000000000000000000000000008B
+:10B5C0000000000000000000000001010001010176
+:10B5D0000101010101010001010101000000000061
+:10B5E0000000000000000101010101010000000055
+:10B5F0000000000000010101010101010000000044
+:10B600000000000001010100000000000000000037
+:10B610000000000000010100010100000000000026
+:10B620000000000000010101010101010000010012
+:10B630000000000000010101010101010000000003
+:10B6400000000000000101000000000000000000F8
+:10B6500000000000000101000000010000000000E7
+:10B6600000000000000101000101000000000000D6
+:10B6700000000000000101000000000000000000C8
+:10B6800000000000000000000000000000000000BA
+:10B6900000000000000000000000000000000000AA
+:10B6A0000000000000000001010101010101000093
+:10B6B000000000000000000000000000000000008A
+:10B6C0000000000000000000000001010001010175
+:10B6D000010101010101000101010101000000005F
+:10B6E0000000000000000101010101010000000054
+:10B6F0000000000000010101010101010000000142
+:10B700000000000101010100000000000000000035
+:10B710000000000000010100010101000000000024
+:10B720000000000000010101010101010000010110
+:10B730000100000100010101010101010000000000
+:10B7400000000000000101000000000000000000F7
+:10B7500000000000000101000101010000000000E4
+:10B7600000000000000101000101010000000000D4
+:10B7700000000000000101000000000000000000C7
+:10B7800000000000000000000000000000000000B9
+:10B7900000000000000100000000000000000000A8
+:10B7A0000000000000000001010101010101010091
+:10B7B0000000000000000000000000000000000089
+:10B7C0000000000000000000000001010101010173
+:10B7D000010101010101000101010101000000005E
+:10B7E0000000000001000101010101010000000052
+:10B7F000000000000001010101010101010001013F
+:10B800000001000101010100000000000000000033
+:10B810000000000000010100010101000000000023
+:10B82000000000000001010101010101010001010E
+:10B8300001000101000101010101010100000000FE
+:10B8400000000000000101000000010000000000F5
+:10B8500000000000000101000101010100000000E2
+:10B8600000000000000101000101010000000001D2
+:10B8700000000001000101000000000000000000C5
+:10B8800000000000000000000000000000000000B8
+:10B8900000000000000100000000000000000000A7
+:10B8A000000000000000000101010101010101018F
+:10B8B0000100000000000000000000000000000087
+:10B8C0000000000000000000010101010101010170
+:10B8D000010101010101000101010101000000005D
+:10B8E0000000000001000101010101010000000051
+:10B8F000000000000001010101010101010101013D
+:10B900000001000101010100000000000100000031
+:10B910000000000000010101010101000000000021
+:10B92000000000000001010101010101010101010C
+:10B9300001000101010101010101010101000100FA
+:10B9400000000000000101000101010000000000F2
+:10B9500000000000000101000101010100000000E1
+:10B9600000000000000101010101010100000101CE
+:10B9700000010101000101000000000000000000C2
+:10B9800000000000000000000101000000000000B5
+:10B9900000000000000101000101000000000000A3
+:10B9A000000000000000000101010101010101018E
+:10B9B0000100000000000000000000000000000086
+:10B9C000000000000000000101010101010101016E
+:10B9D000010101010101000101010101000000005C
+:10B9E000010000000101010101010101000000004E
+:10B9F000000000000001010101010101010101013C
+:10BA00000001000101010100000000000100000030
+:10BA10000000000000010101010101000000000020
+:10BA2000000000000001010101010101010101010B
+:10BA300001010101010101010101010101010101F6
+:10BA400000000000000101010101010100000000EF
+:10BA500000000000000101010101010101000000DE
+:10BA600000000000000101010101010100010101CC
+:10BA700001010101010101000100000000000000BE
+:10BA800000000000000100000101010000000000B2
+:10BA9000000101000001010001010100000000009F
+:10BAA000000000000000000101010101010101018D
+:10BAB0000100000000000100000000000000000084
+:10BAC000000000000000000101010101010101016D
+:10BAD000010101010101000201010101000000005A
+:10BAE000010101000101010101010101000000004B
+:10BAF000000000000001010101010101010101013B
+:10BB0000000100010101010000000000010000002F
+:10BB1000000000000001010101010101000000001E
+:10BB2000000000000001010101010101010101010A
+:10BB300001010101010101010101010101010101F5
+:10BB400000010000000101010101010100000001EC
+:10BB500000000001010101010101010101010001D9
+:10BB600000000001010101010101010101010101C8
+:10BB700001010101010101000100010000000000BC
+:10BB800000000000000100000101010000000001B0
+:10BB9000010101010001010001010100000000009C
+:10BBA000000000000001000101010101010101018B
+:10BBB0000101010000000100000000000000000081
+:10BBC000000000000000000101010101010101016C
+:10BBD0000101010101010002020101010000000157
+:10BBE0000101010101010102010101010000000048
+:10BBF0000000000000010102010101010101010139
+:10BC0000000101010101010000000000010100002C
+:10BC1000000000000001010101010101000000001D
+:10BC20000000000000010101010101010101010109
+:10BC300001010101010101020101010101010101F3
+:10BC400001010001010101010101010101000101E6
+:10BC500000010101010101010101010101010101D5
+:10BC600000010101010101010101010101010101C5
+:10BC700001010101010101000101010000000000BA
+:10BC800000000000000101000101010100000101AC
+:10BC90000101010100010101010101010000000099
+:10BCA000000000000001000101010101010101018A
+:10BCB000010101010001010000000000000000007E
+:10BCC000000000000000000101010101010101016B
+:10BCD0000101010101010002020101010000000156
+:10BCE0000101010101010102010101010000010046
+:10BCF0000000000000010102020101010101010137
+:10BD0000010101010101010000000000010100002A
+:10BD1000000000000001010101010101000000001C
+:10BD20000000000000010102010101010101010107
+:10BD300001010101010101020101010101010101F2
+:10BD400001010101010101010101010101010101E3
+:10BD500001010101010101010101010101010101D3
+:10BD600001010101010101010101010101010101C3
+:10BD700001010101010101010101010100000000B7
+:10BD800000010000000101000101010100010101A9
+:10BD90000101010101010101010101010000000097
+:10BDA0000000000000010002010101010101010188
+:10BDB000010101010001010000000000000000007D
+:10BDC0000000000000000001010101010102020168
+:10BDD0000101010101010002020201010000000154
+:10BDE0000101010101010102020101010000010143
+:10BDF0000000000000010102020101010101010136
+:10BE00000101010101010100000000000101000029
+:10BE1000000000000001010101010101000000001B
+:10BE20000000000100010102020101010101010104
+:10BE300001010101010101020201010101010101F0
+:10BE400001010101010101010101010101010101E2
+:10BE500001010101010101010101010101010101D2
+:10BE600001010101010101010101010101010101C2
+:10BE700001010101010101010101010100000001B5
+:10BE800001010000000101010101010101010101A5
+:10BE90000101010101010101010101010000000096
+:10BEA0000000000000010002010101010101010187
+:10BEB0000101010101010100000100000001000079
+:10BEC0000000000000000002010101010102020265
+:10BED000020202010101000202020201000000014F
+:10BEE0000101010101010102020201010100010140
+:10BEF0000000000000010102020202010101010133
+:10BF00000101010101010100000000000101010027
+:10BF10000000000000010101010101010100000019
+:10BF20000000000100010102020201010101010102
+:10BF300001010101010101020202020101010101ED
+:10BF400001010101010101010101010101010101E1
+:10BF500001010101010101010101010101010101D1
+:10BF600001010101010101010101010101010101C1
+:10BF700001010101010101010101010101000101B2
+:10BF800001010100000101010101010101010101A3
+:10BF90000101010101010101010101010001000193
+:10BFA0000000000000010102020101010101010184
+:10BFB0000101010101010100010101010001000174
+:10BFC0000000000100000002010102020102020261
+:10BFD000020202020202000202020202000000014A
+:10BFE000010101010101010202020202010101013C
+:10BFF0000000000000010102020202020101010131
+:10C000000101010101010201000000000101010024
+:10C010000000000202010102010101010101000111
+:10C020000000000100010102020202010101010100
+:10C0300001010101010101020202020201010101EB
+:10C0400001010101010101010101010101010101E0
+:10C0500001010101010101010101010101010101D0
+:10C0600001010101010101010101010101010101C0
+:10C0700001010101010101010101010101010101B0
+:10C0800001010101010101010101010101010101A0
+:10C090000101010101010101010101010101010190
+:10C0A000000101000001010202020102010101017F
+:10C0B0000101010101010100010101010001010172
+:10C0C000000100010100000202010202020202025C
+:10C0D0000202020202020002020202020000010148
+:10C0E000010101010101010202020202010101013B
+:10C0F000000000000001020202020202010101012F
+:10C100000101010101020201010000000101010021
+:10C11000000200010101010202010101010101010E
+:10C1200000010101000101020202020201010101FC
+:10C1300001010101010101020202020201010101EA
+:10C1400001010101010101020101010101010101DE
+:10C1500001010101010101020101010101010101CE
+:10C1600001010101010101020101010101010101BE
+:10C1700001010101010101010101010101010101AF
+:10C18000010101010101010101010101010101019F
+:10C19000010101010101010101010101010101018F
+:10C1A000010101010001010202020202020101017A
+:10C1B0000101010101010100010101010101010170
+:10C1C0000101000101000002020202020202020259
+:10C1D0000202020202020002020202020001010146
+:10C1E0000201010102010202020202020101010137
+:10C1F000000000000002020202020202020101012C
+:10C20000010101010102020201000000020101011D
+:10C21000020100010101020202020101010101010A
+:10C2200000010101000101020202020202010201F9
+:10C2300001010101010102020202020202010101E7
+:10C2400001010101010101020101010101010101DD
+:10C2500001010101010101020201010101010101CC
+:10C2600001010101010101020201010101010101BC
+:10C2700001010101010101010101010101010101AE
+:10C28000010101010101010101010101010101019E
+:10C29000010101010101010201010101010101018D
+:10C2A0000101010100010102020202020202010178
+:10C2B0000101010101010100010001010100010171
+:10C2C0000101010101000002020202020202020257
+:10C2D0000202020202020002020202020101010243
+:10C2E0000202020102010202020202020101010134
+:10C2F0000000000000020202020202020202020228
+:10C30000010101010202020201010000020101011A
+:10C310000101020101020202020202010101010106
+:10C3200000010101000101020202020202020202F6
+:10C3300002010101010202020202020202020201E2
+:10C3400001010101010202020201010101010101D9
+:10C3500001010101010101020202020101010101C9
+:10C3600001010101010101020202010101010101BA
+:10C3700001010101010101020101010101010101AC
+:10C38000010101010101010101010101010101019D
+:10C39000010101010101010202010101010101018B
+:10C3A0000101010101010102020202020202020175
+:10C3B0000101010101010100000000000100010173
+:10C3C0000101010101000002020202020202020256
+:10C3D0000202020202020002020202020101010242
+:10C3E0000202020202010202020202020101010132
+:10C3F0000100000101020202020202020202020224
+:10C400000102010202020202010101000202010115
+:10C410000101010101020202020202010101010106
+:10C4200001010101010101020202020202020202F3
+:10C4300002010202010202020202020202020202DE
+:10C4400001010101010202020202020101010101D6
+:10C4500001010101010101020202020201010101C7
+:10C4600001010101010101020202020101010101B8
+:10C4700001010101010101020201010101010101AA
+:10C48000010101010101010202010101010101019A
+:10C490000101010101010102020201010101010189
+:10C4A0000101010101010102020202020202020273
+:10C4B0000201010101010100000000000000010172
+:10C4C0000101010101000002020202020202020255
+:10C4D0000202020202020002020202020101010241
+:10C4E000020202020202020202020202020102012E
+:10C4F0000101010101020202020202020202020221
+:10C500000102010202020202020101000202010113
+:10C510000101010101020202020202020101010104
+:10C5200001010101010101020202020202020202F2
+:10C5300002020202020202020202020202020202DB
+:10C5400002020101010202020202020201010101D2
+:10C5500001010101010101020202020202010101C5
+:10C5600001010101010101020202020201010101B6
+:10C5700001010101010101020201010101010101A9
+:10C580000101010101010102020201010101010198
+:10C590000101010101010102020202010101010187
+:10C5A0000101010101010102020202020202020272
+:10C5B0000201010101010100000000000000000073
+:10C5C0000101010101000002020202020202020254
+:10C5D000020202020202000202020202020202023D
+:10C5E000020202020202020202020202020202022B
+:10C5F0000101010101020202020202020202020220
+:10C60000020202020202020202010101020202010E
+:10C610000101010101020202020202020101010103
+:10C6200001010101010202020202020202020202EF
+:10C6300002020202020202020202020202020202DA
+:10C6400002020202020202020202020202010101CD
+:10C6500001010101010202020202020202020101C1
+:10C6600001010101010202020202020202020202AF
+:10C6700001010101010202020202020101010101A4
+:10C680000101010101010102020202010101010196
+:10C690000101010101010102020202020101010185
+:10C6A0000101010101010102020202020202020271
+:10C6B0000202020101010100000000000000000070
+:10C6C0000000010001000002020202020202020256
+:10C6D000020202020202000202020202020202023C
+:10C6E000020202020202020202020202020202022A
+:10C6F000010101010102020202020202020202021F
+:10C70000020202020202020202020101020202010C
+:10C710000101010101020202020202020201010101
+:10C7200001010101010202020202020202020202EE
+:10C7300002020202020202020202020202020202D9
+:10C7400002020202020202020202020202020202C9
+:10C7500001010101010202020202020202020202BE
+:10C7600001010101010202020202020202020202AE
+:10C77000020202020102020202020202010101019E
+:10C780000101010101010102020202020101010194
+:10C790000101010101010102020202020101010184
+:10C7A0000101010101010102020202020202020270
+:10C7B000020202020101020000000000000000006D
+:10C7C0000000000000010002020202020202020256
+:10C7D000020202020202000202020202020202023B
+:10C7E0000202020202020202020202020202020229
+:10C7F000010101010102020202020202020202021E
+:10C800000202020202020202020202010202020209
+:10C8100001010101010202020202020202020101FF
+:10C8200001010101010202020202020202020202ED
+:10C8300002020202020202020202020202020202D8
+:10C8400002020202020202020202020202020202C8
+:10C8500002020202020202020202020202020202B8
+:10C8600002020202020202020202020202020202A8
+:10C87000020202020202020202020202020101019B
+:10C88000010101010101010202020202020202028F
+:10C89000020202010102010202020202020201017D
+:10C8A000010101010101010202020202020202026F
+:10C8B000020202020202020000000000000000006A
+:10C8C0000000000000010002020202020202020255
+:10C8D000020202020202000202020202020202023A
+:10C8E0000202020202020202020202020202020228
+:10C8F000020101010102020202020202020202021C
+:10C900000202020202020202020202020202020207
+:10C9100002020102020202020202020202020202F8
+:10C9200001010102010202020202020202020202EB
+:10C9300002020202020202020202020202020202D7
+:10C9400002020202020202020202020202020202C7
+:10C9500002020202020202020202020202020202B7
+:10C9600002020202020202020202020202020202A7
+:10C970000202020202020202020202020202020297
+:10C98000020201010102010202020202020202028B
+:10C990000202020201020202020202020202020278
+:10C9A000010101010102010202020202020202026D
+:10C9B0000202020202020200000000000000000069
+:10C9C0000000000000010002020202020202020254
+:10C9D0000202020202020002020202020202020239
+:10C9E0000202020202020202020202020202020227
+:10C9F0000202020202020202020202020202020217
+:10CA00000202020202020202020202020202020206
+:10CA100002020202020202020202020202020202F6
+:10CA200001020202010202020202020202020202E8
+:10CA300002020202020202020202020202020202D6
+:10CA400002020202020202020202020202020202C6
+:10CA500002020202020202020202020202020202B6
+:10CA600002020202020202020202020202020202A6
+:10CA70000202020202020202020202020202020296
+:10CA80000202020101020202020202020202020288
+:10CA90000202020202020202020202020202020276
+:10CAA0000202020101020102020202020202020269
+:10CAB0000202020202020202000000000000000066
+:10CAC0000000000000010002020202020202020253
+:10CAD0000202020202020002020202020202020238
+:10CAE0000202020202020202020202020202020226
+:10CAF0000202020202020202020202020202020216
+:10CB00000202020202020202020202020202020205
+:10CB100002020202020202020202020202020202F5
+:10CB200002020202010202020202020202020202E6
+:10CB300002020202020202020202020202020202D5
+:10CB400002020202020202020202020202020202C5
+:10CB500002020202020202020202020202020202B5
+:10CB600002020202020202020202020202020202A5
+:10CB70000202020202020202020202020202020295
+:10CB80000202020202020202020202020202020285
+:10CB90000202020202020202020202020202020275
+:10CBA0000202020201020202020202020202020266
+:10CBB0000202020202020202020000000000000063
+:10CBC0000000000000010102020202020202020251
+:10CBD0000202020202020002020202020202020237
+:10CBE0000202020202020202020202020202020225
+:10CBF0000202020202020202020202020202020215
+:10CC00000202020202020202020202020202020204
+:10CC100002020202020202020202020202020202F4
+:10CC200002020202020202020202020202020202E4
+:10CC300002020202020202020202020202020202D4
+:10CC400002020202020202020202020202020202C4
+:10CC500002020202020202020202020202020202B4
+:10CC600002020202020202020202020202020202A4
+:10CC70000202020202020202020202020202020294
+:10CC80000202020202020202020202020202020284
+:10CC90000202020202020202020202020202020274
+:10CCA0000202020202020202020202020202020264
+:10CCB0000202020202020202020000000000000062
+:10CCC0000000000000010102020202020202020250
+:10CCD0000202020202020102020202020202020235
+:10CCE0000202020202020202020202020202020224
+:10CCF0000202020202020202020202020202020214
+:10CD00000202020202020202020202020202020203
+:10CD100002020202020202020202020202020202F3
+:10CD200002020202020202020202020202020202E3
+:10CD300002020202020202020202020202020202D3
+:10CD400002020202020202020202020202020202C3
+:10CD500002020202020202020202020202020202B3
+:10CD600002020202020202020202020202020202A3
+:10CD70000202020202020202020202020202020293
+:10CD80000202020202020202020202020202020283
+:10CD90000202020202020202020202020202020273
+:10CDA0000202020202020202020202020202020263
+:10CDB000020202020202020202020000000000005F
+:10CDC0000000000000010102020202020201010152
+:10CDD000010101010101010202020202020202023A
+:10CDE0000202020202020202020202020202020223
+:10CDF0000202020202020202020202020202020213
+:10CE00000202020202020202020202020202020202
+:10CE100002020202020202020202020202020202F2
+:10CE200002020202020202020202020202020202E2
+:10CE300002020202020202020202020202020202D2
+:10CE400002020202020202020202020202020202C2
+:10CE500002020202020202020202020202020202B2
+:10CE600002020202020202020202020202020202A2
+:10CE70000202020202020202020202020202020292
+:10CE80000202020202020202020202020202020282
+:10CE90000202020202020202020202020202020272
+:10CEA0000202020202020202020202020202020262
+:10CEB000020202020202020202020202000000005A
+:10CEC0000000000000000102020201010101010155
+:10CED0000101010101010102020202020202020239
+:10CEE0000202020202020202020202020202020222
+:10CEF0000202020202020202020202020202020212
+:10CF00000202020202020202020202020202020201
+:10CF100002020202020202020202020202020202F1
+:10CF200002020202020202020202020202020202E1
+:10CF300002020202020202020202020202020202D1
+:10CF400002020202020202020202020202020202C1
+:10CF500002020202020202020202020202020202B1
+:10CF600002020202020202020202020202020202A1
+:10CF70000202020202020202020202020202020291
+:10CF80000202020202020202020202020202020281
+:10CF90000202020202020202020202020202020271
+:10CFA0000202020202020202020202020202020261
+:10CFB0000202020202020202020202020202020251
+:10CFC0000000000000000101010101010101010157
+:10CFD0000101010101010102020202020202020139
+:10CFE0000101010101020202020202020202020226
+:10CFF0000202020202020202020202020202020211
+:10D000000202020202020202020202020202020200
+:10D0100002020202020202020202020202020202F0
+:10D0200002020202020202020202020202020202E0
+:10D0300002020202020202020202020202020202D0
+:10D0400002020202020202020202020202020202C0
+:10D0500002020202020202020202020202020202B0
+:10D0600002020202020202020202020202020202A0
+:10D070000202020202020202020202020202020290
+:10D080000202020202020202020202020202020280
+:10D090000202020202020202020202020202020270
+:10D0A0000202020202020202020202020202020260
+:10D0B0000202020202020202020202020202020250
+:10D0C000020200020200010101010101010101014E
+:10D0D0000101010101010101010101010101010140
+:10D0E0000101010101010102020202020202020227
+:10D0F0000202020202020202020202020202020210
+:10D1000002020202020202020202020202020202FF
+:10D1100002020202020202020202020202020202EF
+:10D1200002020202020202020202020202020202DF
+:10D1300002020202020202010101010101010101D8
+:10D1400001010101010101020202020202020202C6
+:10D1500002020202020202020202020202020202AF
+:10D16000020202020202020202020202020202029F
+:10D17000020202020202020202020202020202028F
+:10D18000020202020202020202020202020202027F
+:10D19000020202020202020202020202020202026F
+:10D1A000020202020202020202020202020202025F
+:10D1B000020202020202020202020202020202024F
+:10D1C000020202020200010101010101010101014B
+:10D1D000010101010101010101010101010101013F
+:10D1E0000101010101010102020202020202020226
+:10D1F000020202020202020202020202020202020F
+:10D200000202020202020201010101010101010107
+:10D2100001010101010101020202020202020202F5
+:10D2200002020202020202000000000000000000F0
+:10D2300000000000000000020202020202020202DC
+:10D2400002020202020202020202020202020202BE
+:10D2500002020202020202020202020202020202AE
+:10D26000020202020202020202020202020202029E
+:10D27000020202020202020202020202020202028E
+:10D28000020202020202020202020202020202027E
+:10D29000020202020202020202020202020202026E
+:10D2A000020202020202020202020202020202025E
+:10D2B000020202020202020202020202020202024E
+:10D2C0000202020202020201010101010101010147
+:10D2D000010101010101010101010101010101013E
+:10D2E000010101010101010101010101010101012E
+:10D2F000010101010101010101010101010101011E
+:10D300000101010101010102020202020202020204
+:10D3100002020202020202020202020202020202ED
+:10D3200002020202020202000000000000000000EF
+:10D3300000000000000000000000000000000000ED
+:10D3400000000000000000020202020202020202CB
+:10D3500002020202020202020202020202020202AD
+:10D36000020202020202020202020202020202029D
+:10D37000020202020202020202020202020202028D
+:10D38000020202020202020202020202020202027D
+:10D39000020202020202020202020202020202026D
+:10D3A000020202020202020202020202020202025D
+:10D3B000020202020202020202020202020202024D
+:10D3C0000202020202020201010101010101010146
+:10D3D000010101010101010101010101010101013D
+:10D3E000010101010101010101010101010101012D
+:10D3F0000101010101010102020202020202020214
+:10D40000020202020202020000000000010101010A
+:10D4100001010101010101020202020202020202F3
+:10D4200002020202020202000000000000000000EE
+:10D4300000000000000000000000000000000000EC
+:10D4400000000000000000020202020202020202CA
+:10D4500002020202020202020202020202020202AC
+:10D46000020202020202020202020202020202029C
+:10D47000020202020202020202020202020202028C
+:10D48000020202020202020202020202020202027C
+:10D49000020202020202020202020202020202026C
+:10D4A000020202020202020202020202020202025C
+:10D4B000020202020202020202020202020202024C
+:10D4C0000202020202020201010101010101010145
+:10D4D000010101010101010101010101010101013C
+:10D4E000010101010101010101010101010101012C
+:10D4F000010101010101010101010101010101011C
+:10D50000010101010101010101010101010101010B
+:10D5100001010101010101010101010101010101FB
+:10D5200001010101010101000000000000000000F4
+:10D5300000000000000000000000000000000000EB
+:10D5400000000000000000020202020202020202C9
+:10D5500002020202020202020202020202020202AB
+:10D56000020202020202020202020202020202029B
+:10D57000020202020202020202020202020202028B
+:10D58000020202020202020202020202020202027B
+:10D59000020202020202020202020202020202026B
+:10D5A0000202020202020202020202000000000065
+:10D5B0000000000000000002020202020202020259
+:10D5C0000202020202020201010101010101010144
+:10D5D000010101010101010101010101010101013B
+:10D5E000010101010101010101010101010101012B
+:10D5F000010101010101010101010101010101011B
+:10D60000010101010101010101010101010101010A
+:10D6100001010101010101010101010101010101FA
+:10D6200001010101010101010101010101010101EA
+:10D6300001010101010101000000000000000000E3
+:10D6400000000000000000020202020202020202C8
+:10D6500002020202020202010101010101010101B3
+:10D6600001010101010101020202020202020202A1
+:10D67000020202020202020202020202020202028A
+:10D68000020202020202020202020202020202027A
+:10D690000202020202020201010101010101010173
+:10D6A0000101010101010100000000000000000073
+:10D6B0000000000000000002020202020202020258
+:10D6C0000202020202020201010101010101010143
+:10D6D000010101010101010101010101010101013A
+:10D6E000010101010101010101010101010101012A
+:10D6F000010101010101010101010101010101011A
+:10D700000101010101010101010101010101010109
+:10D7100001010101010101010101010101010101F9
+:10D7200001010101010101010101010101010101E9
+:10D7300001010101010101010101010101010101D9
+:10D7400001010101010101010101010101010101C9
+:10D7500001010101010101020202020202020202B0
+:10D760000202020202020202020202020202020299
+:10D770000202020202020201010101010101010192
+:10D780000101010101010102020202020202020280
+:10D790000202020202020202020202020202020269
+:10D7A000020202020202020000000000000000006B
+:10D7B0000000000000000002020202020202020257
+:10D7C0000202020202020201010101010101010142
+:10D7D0000101010101010101010101010101010139
+:10D7E0000101010101010101010101010101010129
+:10D7F0000101010101010101010101010101010119
+:10D800000101010101010101010101010101010108
+:10D8100001010101010101010101010101010101F8
+:10D8200001010101010101010101010101010101E8
+:10D8300001010101010101010101010101010101D8
+:10D8400001010101010101010101010101010101C8
+:10D8500001010101010101010101010101010101B8
+:10D8600001010101010101010101010101010101A8
+:10D87000010101010101010202020202020202028F
+:10D880000202020202020202020202020202020278
+:10D89000020202020202020000000000000000007A
+:10D8A000000000000000000101010101010101016F
+:10D8B000010101010101010202020202020202024F
+:10D8C0000202020202020201010101010101010141
+:10D8D0000101010101010101010101010101010138
+:10D8E0000101010101010101010101010101010128
+:10D8F0000101010101010101010101010101010118
+:10D900000101010101010101010101010101010107
+:10D9100001010101010101010101010101010101F7
+:10D9200001010101010101010101010101010101E7
+:10D9300001010101010101010101010101010101D7
+:10D9400001010101010101010101010101010101C7
+:10D9500001010101010101010101010101010101B7
+:10D9600001010101010101010101010101010101A7
+:10D970000101010101010101010101010101010197
+:10D980000101010101010101010101010101010187
+:10D990000101010101010100000000000000000080
+:10D9A000000000000000000101010101010101016E
+:10D9B0000101010101010100000000000000000060
+:10D9C000000000000000000101010101010101014E
+:10D9D0000101010101010101010101010101010137
+:10D9E0000101010101010101010101010101010127
+:10D9F0000101010101010101010101010101010117
+:10DA00000101010101010101010101010101010106
+:10DA100001010101010101010101010101010101F6
+:10DA200001010101010101010101010101010101E6
+:10DA300001010101010101010101010101010101D6
+:10DA400001010101010101010101010101010101C6
+:10DA500001010101010101010101010101010101B6
+:10DA600001010101010101010101010101010101A6
+:10DA70000101010101010101010101010101010196
+:10DA80000101010101010101010101010101010186
+:10DA90000101010101010101010101010101010176
+:10DAA0000101010101010101010101010101010166
+:10DAB000010101010101010000000000000000005F
+:10DAC000000000000000000101010101010101014D
+:10DAD0000101010101010101010101010101010136
+:10DAE0000101010101010101010101010101010126
+:10DAF0000101010101010101010101010101010116
+:10DB00000101010101010101010101010101010105
+:10DB100001010101010101010101010101010101F5
+:10DB200001010101010101010101010101010101E5
+:10DB300001010101010101010101010101010101D5
+:10DB400001010101010101010101010101010101C5
+:10DB500001010101010101010101010101010101B5
+:10DB600001010101010101010101010101010101A5
+:10DB70000101010101010101010101010101010195
+:10DB80000101010101010101010101010101010185
+:10DB90000101010101010101010101010101010175
+:10DBA0000101010101010101010101010101010165
+:10DBB000010101010101010000000000000000005E
+:10DBC0000000000000000000000000000000000055
+:10DBD0000000000000000000000000000000000045
+:10DBE0000000000000000000000000000000000035
+:10DBF0000000000000000000000000000000000025
+:10DC00000000000000000002020202020202020202
+:10DC100002020202020202020202020202020202E4
+:10DC200002020202020202020202020202020202D4
+:10DC300002020202020202020202020202020202C4
+:10DC400002020202020202020202020202020202B4
+:10DC500002020202020202020202020202020202A4
+:10DC60000202020202020202020202020202020294
+:10DC70000202020202020202020202020202020284
+:10DC80000202020202020202020202020202020274
+:10DC90000202020202020202020202020202020264
+:10DCA0000202020202020202020202020202020254
+:10DCB0000202020202020200000000000000000056
+:10DCC0000000000000000000000000000000000054
+:10DCD0000000000000000000000000000000000044
+:10DCE0000000000000000000000000000000000034
+:10DCF0000000000000000000000000000000000024
+:10DD00000000000000000000000000000000000013
+:10DD10000000000000000000000000000000000003
+:10DD200000000000000000000000000000000000F3
+:10DD300000000000000000000000000000000000E3
+:10DD400000000000000000000000000000000000D3
+:10DD500000000000000000000000000000000000C3
+:10DD600000000000000000000000000000000000B3
+:10DD700000000000000000000000000000000000A3
+:10DD80000000000000000000000000000000000093
+:10DD90000000000000000000000000000000000083
+:10DDA0000000000000000002020202020202020261
+:10DDB0000202020202020200000000000000000055
+:10DDC0000000000000000000000000000000000053
+:10DDD0000000000000000000000000000000000043
+:10DDE0000000000000000000000000000000000033
+:10DDF0000000000000000000000000000000000023
+:10DE00000000000000000000000000000000000012
+:10DE10000000000000000000000000000000000002
+:10DE200000000000000000000000000000000000F2
+:10DE300000000000000000000000000000000000E2
+:10DE400000000000000000000000000000000000D2
+:10DE500000000000000000000000000000000000C2
+:10DE600000000000000000000000000000000000B2
+:10DE700000000000000000000000000000000000A2
+:10DE80000000000000000000000000000000000092
+:10DE90000000000000000000000000000000000082
+:10DEA0000000000000000002020202020202020260
+:10DEB0000202020202020200000000000000000054
+:10DEC0000000000000000000000000000000000052
+:10DED0000000000000000000000000000000000042
+:10DEE0000000000000000000000000000000000032
+:10DEF0000000000000000000000000000000000022
+:10DF00000000000000000000000000000000000011
+:10DF10000000000000000000000000000000000001
+:10DF200000000000000000000000000000000000F1
+:10DF300000000000000000000000000000000000E1
+:10DF400000000000000000000000000000000000D1
+:10DF500000000000000000000000000000000000C1
+:10DF600000000000000000000000000000000000B1
+:10DF700000000000000000000000000000000000A1
+:10DF80000000000000000000000000000000000091
+:10DF90000000000000000000000000000000000081
+:10DFA0000000000000000000000000000000000071
+:10DFB0000000000000000000000000000000000061
+:10DFC0000000000000000031000000000000000020
+:10DFD0000000000100000000000000000000000040
+:10DFE0000000000000000000000000000000000031
+:10DFF0000000000000000000000000000000000021
+:10E000000000000000000000000000000000000010
+:10E010000000000000000000000000000000000000
+:10E0200000000000000000000000000000000000F0
+:10E0300000000000000000000000000000000000E0
+:10E0400000000000000000000000000000000000D0
+:10E0500000000000000000000000000000000000C0
+:10E0600000000000000000000000000000000000B0
+:10E0700000000000000000000000000000000000A0
+:10E080000000000000000000000000000000000090
+:10E09000000000010100000000000000000001007D
+:10E0A0000000000000000000000000000000000070
+:10E0B0000000000000000000000000000000000060
+:10E0C0000000000000000000000000000000000050
+:10E0D000000000010001000000000000010100003C
+:10E0E000000000000000000000000000010000002F
+:10E0F0000000000000000000000000000000000020
+:10E10000000000000000000000000000000001000E
+:10E1100000000000000000000000000000000000FF
+:10E1200000000000000000000000000000000000EF
+:10E1300000000000000000000000000000000000DF
+:10E1400000000000000000000000000000000000CF
+:10E1500000000000000000000000000000000000BF
+:10E1600000000000000000000000000000000000AF
+:10E17000000000000000000000000000000000009F
+:10E18000000000000000000000000000000000008F
+:10E190000000010101010000000000000101010078
+:10E1A000000000000000000000000000000000006F
+:10E1B000000101000000000000000000000000005D
+:10E1C000000000000000000000000000000000004F
+:10E1D000000000010101000000000000010100003A
+:10E1E000000000000000000000000000010000002E
+:10E1F000000000000000000000000000000001001E
+:10E20000000000000000000000000000000001000D
+:10E2100000000000000000000000000000000000FE
+:10E2200000000000000000000000000000000000EE
+:10E2300000000000000000000000000000000000DE
+:10E2400000000000000000000000000000000000CE
+:10E2500000000000000000000000000000000000BE
+:10E2600000000000000000000000000000000000AE
+:10E27000000000000000000000000000000000009E
+:10E28000000000000000000000000000000000008E
+:10E290000000010101010001000000010101010075
+:10E2A000000000000000000000000000000000006E
+:10E2B000010101010000000000000000000000005A
+:10E2C000000000000000000000000000000000004E
+:10E2D0000000000101010100000000000101000038
+:10E2E000000000000000000000000000010100002C
+:10E2F000000000000000000000000000000001001D
+:10E30000000000010000000000000000000001000B
+:10E3100000000000000000000000000000000000FD
+:10E3200000000000000000000000000001010000EB
+:10E3300000000000000000000000000000000000DD
+:10E3400000000000000000000000000000000000CD
+:10E3500000000001000000000000000100000100BA
+:10E3600000000000000000000000000000010000AC
+:10E37000000000000000000000000000000000009D
+:10E38000000000000000000000000000000000008D
+:10E390000000010101010101000100010101010072
+:10E3A000000000000000000000000000000000006D
+:10E3B0000101010100000000000000000000000059
+:10E3C000000000000000000000000000000000004D
+:10E3D0000000000101010101000000010101000035
+:10E3E000000000000000000000000000010101002A
+:10E3F000000000010000000000000000000001001B
+:10E400000000000100010000000000000001010008
+:10E4100000000000000000000000000000000000FC
+:10E4200000000001000000000000000001010100E8
+:10E4300000000000000000000000000000000000DC
+:10E4400000000000000000000000000000000000CC
+:10E4500000000001000000000000000101010100B7
+:10E4600000000000000000000000000100010100A9
+:10E47000000000000000000000000000000000009C
+:10E48000000000000000000000000000000000008C
+:10E490000000010101010101010100010101010070
+:10E4A000000000000000000000000000000000006C
+:10E4B0000101010101000000000000000000000057
+:10E4C000000000000000000000000000000000004C
+:10E4D000010101010101010100010101010100002F
+:10E4E0000000000000000000000000000101010029
+:10E4F0000000000100010000000000000101010017
+:10E500000000000100010000000000010001010006
+:10E5100000000001000000000000000000000000FA
+:10E5200000000001000000000000000001010100E7
+:10E5300000000000000000000000000000000000DB
+:10E5400000000000000000000000000000000100CA
+:10E5500000000001000000000000000101010100B6
+:10E5600000000000000000000000000100010100A8
+:10E57000000000000000000000000000000100009A
+:10E58000000000000000000000000000000001008A
+:10E59000000101010101010101010101010101006D
+:10E5A000000000000000000000000000000000006B
+:10E5B0000101010101000000000000000000000056
+:10E5C000000000000000000000000000000000004B
+:10E5D000010101010101010101010101010100002D
+:10E5E0000000000100000000000000000101010027
+:10E5F0000000000100010000000000010101010015
+:10E600000000000100010000000000010101010004
+:10E6100000000001000000000000000000000000F9
+:10E6200000000001000000000000000001010100E6
+:10E6300000000001000000000000000000000000D9
+:10E6400000000000000000000000000001010100C7
+:10E6500000010101000100000001000101010100B1
+:10E6600000000001000000000000000100010100A6
+:10E670000000000100000000000000000001010097
+:10E680000000000000000000000000000101010087
+:10E69000000101010101010101010101010101006C
+:10E6A000000000000000000000000000000000006A
+:10E6B0000101010101000000000000000000000055
+:10E6C0000000000000000000000000000000000149
+:10E6D000010101010101010101010101010100002C
+:10E6E0000000000100000000000000000101010125
+:10E6F0000000000100010000000000010101010014
+:10E700000000000101010001000000010101010001
+:10E7100000000001000000000000000000000000F8
+:10E7200000000001000100000000000001010100E4
+:10E7300000000001000000000000000000000000D8
+:10E7400000000001000000000000000001010100C5
+:10E7500000010101010100000001000101010100AF
+:10E7600000000001000100000001000101010100A2
+:10E770000000000100000000000000000101010095
+:10E780000000000100000000000000010101010084
+:10E79000010101010101010101010101010101006A
+:10E7A0000000000000000000000000000000000069
+:10E7B0000101010101010100000000000000000052
+:10E7C0000000000000000000000000000000000148
+:10E7D000010101010101010101010101010100002B
+:10E7E0000000000100000000000000000101010124
+:10E7F0000000000100010001000000010101010012
+:10E8000000000101010101010001000101010100FD
+:10E8100000000001000000000000000001010000F5
+:10E8200000000001010100000000000001010100E2
+:10E8300000000001000000000000000000000000D7
+:10E8400000000001000100000001000001010100C2
+:10E8500001010101010101000001000101010100AC
+:10E86000000000010101000100010001010101009F
+:10E870000000000101000000000000010101010092
+:10E880000000000100010000000100010101010081
+:10E890000101010101010101010101010101010069
+:10E8A0000000000000000000000000000000000167
+:10E8B0000101010101010100000000000000010050
+:10E8C0000000000000000000000000000000000147
+:10E8D000010101010101010101010101010100002A
+:10E8E0000100000100010000000000000101010121
+:10E8F0000000010100010001000000010101010010
+:10E9000000000101010101010101000101010100FB
+:10E9100000000001000000000000000001010101F2
+:10E9200001000101010100000000000001010100DF
+:10E9300000000101000000000000000000010000D4
+:10E9400000000001010100000001000101010100BF
+:10E9500001010101010101010101000101010100A9
+:10E96000000101010101010100010001010101009B
+:10E97000010101010101000000000001010101008D
+:10E98000000000010101000101010001010101017C
+:10E990000101010101010101010101010101010068
+:10E9A0000000000000000000000000000000000166
+:10E9B000010101010101010000000000000001004F
+:10E9C0000000000000000000000000000000000146
+:10E9D0000101010101010101010101010101000029
+:10E9E0000100000100010000000000000101010120
+:10E9F000000001010101000100000001010101000E
+:10EA000000000101010101010101010101010101F8
+:10EA100000000101000000000000000001010101F0
+:10EA200001000101010100010000000101010100DC
+:10EA300000000101010000000000000000010100D1
+:10EA400000000001010101000001000101010101BC
+:10EA500001010101010101010101000101010100A8
+:10EA60000001010101010101010100010101010099
+:10EA7000010101010101000000000001010101008C
+:10EA80000101010101010101010101010101010176
+:10EA90000101010101010101010101010101010067
+:10EAA0000000000000000000000000000000000165
+:10EAB000010101010101010100000001000001004C
+:10EAC0000000000000000000000000000000000145
+:10EAD0000101010101010101010101010101000127
+:10EAE000010101010001000000010000010101011C
+:10EAF0000101010101010101000100010101010009
+:10EB000000000101010101010101010101010101F7
+:10EB100000000101000000000000000001010101EF
+:10EB200001010101010101010001000101010101D7
+:10EB300001000101010100000000000001010100CD
+:10EB400000000001010101010101000101010101B9
+:10EB500001010101010101010101000101010100A7
+:10EB60000101010101010101010100010101010196
+:10EB70000101010101010100000100010101010089
+:10EB80000101010101010101010101010101010175
+:10EB90000101010101010101010101010101010066
+:10EBA0000000000000000000000000000000000164
+:10EBB0000101010101010101000000010101010049
+:10EBC0000000000000000000000000000000000144
+:10EBD0000101010101010101010101010101000126
+:10EBE0000101010101010001000100010101010118
+:10EBF0000101010101010101010100010101010106
+:10EC000001010101010101010101010101010101F4
+:10EC100001000101000100000000000001010101EC
+:10EC200001010101010101010001000101010101D6
+:10EC300001000101010100000000000001010100CC
+:10EC400000000101010101010101010101010101B6
+:10EC500001010101010101010101010101010100A5
+:10EC60000101010101010101010100010101010195
+:10EC70000101010101010101010100010101010086
+:10EC80000101010101010101010101010101010174
+:10EC90000101010101010101010101010101010065
+:10ECA0000000000000000000000000000000000163
+:10ECB0000101010101010101010000010101010047
+:10ECC0000000000000000000000000000000000242
+:10ECD0000101010101010101010101010101000125
+:10ECE0000101010101010001000100010101010117
+:10ECF0000101010101010101010101010101010104
+:10ED000001010101010101010101010101010101F3
+:10ED100001000101010100000000000001010101EA
+:10ED200001010101010101010001000101010101D5
+:10ED300001010101010100000000000001010100CA
+:10ED400000000101010101010101010101010101B5
+:10ED500001010101010101010101010101010101A3
+:10ED60000101010101010101010101010101010193
+:10ED70000101010101010101010101010101010084
+:10ED80000101010101010101010101010101010173
+:10ED90000101010101010101010101010101010064
+:10EDA0000000000000000000000000000000000162
+:10EDB0000101010101010101010101010101010044
+:10EDC0000000000000000000000000000000000241
+:10EDD0000201010201010101010101010101000122
+:10EDE0000101010101010001000100010101010116
+:10EDF0000101010101010101010101010101010103
+:10EE000001010101010101010101010101010101F2
+:10EE100001010101010100000000000001010101E8
+:10EE200001010101010101010101000101010101D3
+:10EE300001010101010100000000000001010100C9
+:10EE400001000101010101010101010101010101B3
+:10EE500001010101010101010101010101010101A2
+:10EE60000101010101010101010101010101010192
+:10EE70000101010101010101010101010101010182
+:10EE80000101010101010101010101010101010172
+:10EE90000101010101010101010101010101010063
+:10EEA0000000000000000000000000000000000161
+:10EEB0000101010101010101010101010101010043
+:10EEC000000000010000000000000000000000023F
+:10EED000020201020202010101010101010100021D
+:10EEE0000101010101010001000100010101010214
+:10EEF0000101010101010101010101010101010102
+:10EF000001010101010101010101010101010101F1
+:10EF100001010101010100000000000001010101E7
+:10EF200001010101010101010101010101010101D1
+:10EF300001010101010101000000000001010100C7
+:10EF400001000101010101010101010101010101B2
+:10EF500001010101010101010101010101010101A1
+:10EF60000101010101010101010101010101010191
+:10EF70000101010101010101010101010101010181
+:10EF80000101010101010101010101010101010171
+:10EF90000101010101010101010101010101010062
+:10EFA000000001000000000000000000000000015F
+:10EFB0000202010101010101010101010101010040
+:10EFC000000001010000000000000000000000023D
+:10EFD000020202020202020101010101010100021A
+:10EFE0000201010101010001000100010101010212
+:10EFF0000101010101010101010101010101010101
+:10F0000001010101010101010101010101010102EF
+:10F0100001010101010100000000000001010102E5
+:10F0200001010101010101010101010101010102CF
+:10F0300001010101010101000000000101010101C4
+:10F0400001010101010101010101010101010101B0
+:10F0500001010101010101010101010101010101A0
+:10F060000101010101010101010101010101010190
+:10F070000101010101010101010101010101010180
+:10F080000101010101010101010101010101010170
+:10F090000101010101010101010101010101010061
+:10F0A000000001010000000000000000000000025C
+:10F0B000020202010101010101010101010101003E
+:10F0C000000001010000000000000000000000023C
+:10F0D0000202020202020202010101010202000216
+:10F0E000020101020101010100010101020101020D
+:10F0F00001010101010101010101010101010102FF
+:10F1000001010102010101010101010101010102ED
+:10F1100001010101010100000000000001010102E4
+:10F1200001010101010101010101010101010102CE
+:10F1300001010101010101000001000101010101C2
+:10F1400001010101010101010101010101010102AE
+:10F15000010101010101010101010101010101019F
+:10F16000010101010101010101010101010101028E
+:10F17000010101010101010101010101010101017F
+:10F18000010101010101010101010101010101016F
+:10F190000101010101010101010101010101010060
+:10F1A0000101010100000000000000000000000259
+:10F1B000020202020101010101010101010101003C
+:10F1C000000101010000000000000000000000023A
+:10F1D0000202020202020202020202020202000211
+:10F1E0000202010201010101010101010202010209
+:10F1F00001010102010101010101010101010102FD
+:10F2000001010102010201010101010101010102EB
+:10F2100001010102010100000000000001010102E2
+:10F2200002010102010101010101010101010102CB
+:10F2300002010102010101010001000101010101BE
+:10F2400001010101010101010101010101010102AD
+:10F25000020201020101010101010101010101019B
+:10F26000010101010101010101010101010101028D
+:10F27000020101010101010101010101010101017D
+:10F28000010101010101010101010101010101026D
+:10F29000010102020201010101010101010101005C
+:10F2A0000101010100000000000000000000000258
+:10F2B000020202020201010101010101010101003A
+:10F2C0000001010100000000000000000000000239
+:10F2D0000202020202020202020202020202000210
+:10F2E0000202020201020101010101010202020205
+:10F2F00002010102010201010101010101010102FA
+:10F3000002010202020201010101010101010202E6
+:10F3100002010102010100000000000001010102E0
+:10F3200002010102010101010101010101010102CA
+:10F3300002010202010101010001000101010101BC
+:10F3400001010101010101010101010101010102AC
+:10F350000202020201010101010101010101010199
+:10F36000010101010101010101010101010101028C
+:10F37000020201020101010101010101010101017A
+:10F38000010101010101010101010101010101026C
+:10F390000202020202020101010101010101010157
+:10F3A0000101010100000000000000000000000257
+:10F3B0000202020202010101010101010101010039
+:10F3C0000001010100000000000000000000000238
+:10F3D000020202020202020202020202020200020F
+:10F3E0000202020202020101010101010202020203
+:10F3F00002020202010201010101010101010202F6
+:10F4000002020202020202020101010201020202E0
+:10F4100002010202010100000002020001010102DA
+:10F4200002020202020201010101010102020102C3
+:10F4300002020202020101010001000101010101B9
+:10F4400001010101010101010101010101010102AB
+:10F450000202020202020101010101020101010294
+:10F46000010101010101010101010101010101028B
+:10F470000202020202010101010101010101010276
+:10F48000020101010101010101010101010101026A
+:10F490000202020202020202010101010101010154
+:10F4A0000101010101000000000000000000000255
+:10F4B0000202020202020201010101010101010036
+:10F4C0000001010001000000000000000000000237
+:10F4D000020202020202020202020202020200020E
+:10F4E0000202020202020102010201010202020200
+:10F4F00002020202020201020101010202020202F0
+:10F5000002020202020202020202010202020202DC
+:10F5100002020202010100020201010201010102D4
+:10F5200002020202020201010101010102020202C1
+:10F5300002020202020201010001020101010102B4
+:10F5400001010102010101010101010101010102A9
+:10F55000020202020202020101020102020202028E
+:10F560000202010201010101010101010101010287
+:10F570000202020202020101010101010102010273
+:10F580000202010201010101010101010101010267
+:10F59000020202020202020202020102020202014D
+:10F5A0000101010101010000000000000101000251
+:10F5B0000202020202020201010101010101010035
+:10F5C0000101000001010100000000000000000234
+:10F5D000020202020202020202020202020200020D
+:10F5E00002020202020201020102010202020202FE
+:10F5F00002020202020202020101010202020202EE
+:10F6000002020202020202020202020202020202DA
+:10F6100002020202020201010101010102020102D1
+:10F6200002020202020202020101010102020202BE
+:10F6300002020202020201010101010101020102B2
+:10F6400002010102020201010101010101010102A5
+:10F65000020202020202020202020102020202028B
+:10F660000202020202020101010101020102010281
+:10F67000020202020202020101010102020202026E
+:10F680000202020202020101010101010101010263
+:10F69000020202020202020202020202020202024A
+:10F6A000010101010101000000000001010101024E
+:10F6B0000202020202020202010101010101010033
+:10F6C0000100000001010101010000000000000232
+:10F6D000020202020202020202020202020200020C
+:10F6E00002020202020202020102010202020202FC
+:10F6F00002020202020202020202010202020202EB
+:10F7000002020202020202020202020202020202D9
+:10F7100002020202020201010101010102020202CF
+:10F7200002020202020202020102010202020202BB
+:10F7300002020202020202010101010102020202AE
+:10F74000020102020202020101020101020202029E
+:10F75000020202020202020202020102020202028A
+:10F76000020202020202020201020102010202027C
+:10F77000020202020202020202020102020202026A
+:10F78000020202020202020202020102020202025A
+:10F790000202020202020202020202020202020249
+:10F7A000020101010101010000000001010101024B
+:10F7B000020202020202020202010102010102002F
+:10F7C000010000000101010101000000010101022E
+:10F7D000020202020202020202020202020200020B
+:10F7E00002020202020202020202020202020202F9
+:10F7F00002020202020202020202020202020202E9
+:10F8000002020202020202020202020202020202D8
+:10F8100002020202020201010101010102020202CE
+:10F8200002020202020202020202010202020202B9
+:10F8300002020202020202010101010102020202AD
+:10F840000202020202020202020201020202020299
+:10F850000202020202020202020202020202020288
+:10F860000202020202020202020201020202020279
+:10F870000202020202020202020202020202020268
+:10F880000202020202020202020202020202020258
+:10F890000202020202020202020202020202020248
+:10F8A0000202020101010101000000010101010247
+:10F8B000020202020202020202020202020202002A
+:10F8C000000000000101010101000000010101022E
+:10F8D000020202020202020202020202020200020A
+:10F8E00002020202020202020202020202020202F8
+:10F8F00002020202020202020202020202020202E8
+:10F9000002020202020202020202020202020202D7
+:10F9100002020202020201010101010102020202CD
+:10F9200002020202020202020202020202020202B7
+:10F9300002020202020202020102010202020202A9
+:10F940000202020202020202020202020202020297
+:10F950000202020202020202020202020202020287
+:10F960000202020202020202020201020202020278
+:10F970000202020202020202020202020202020267
+:10F980000202020202020202020202020202020257
+:10F990000202020202020202020202020202020247
+:10F9A0000202020201010101000100010101010244
+:10F9B0000202020202020202020202020202020029
+:10F9C000000000000001010101010000010101022D
+:10F9D0000202020202020202020202020202000209
+:10F9E00002020202020202020202020202020202F7
+:10F9F00002020202020202020202020202020202E7
+:10FA000002020202020202020202020202020202D6
+:10FA100002020202020201010101010102020202CC
+:10FA200002020202020202020202020202020202B6
+:10FA300002020202020202020102010202020202A8
+:10FA40000202020202020202020202020202020296
+:10FA50000202020202020202020202020202020286
+:10FA60000202020202020202020202020202020276
+:10FA70000202020202020202020202020202020266
+:10FA80000202020202020202020202020202020256
+:10FA90000202020202020202020202020202020246
+:10FAA0000202020201010101010100010101010242
+:10FAB0000202020202020202020202020202020028
+:10FAC000000000000000000101010001010101022D
+:10FAD0000202020202020202020202020202000208
+:10FAE00002020202020202020202020202020202F6
+:10FAF00002020202020202020202020202020202E6
+:10FB000002020202020202020202020202020202D5
+:10FB100002020202020202010101010102020202CA
+:10FB200002020202020202020202020202020202B5
+:10FB300002020202020202020202010202020202A6
+:10FB40000202020202020202020202020202020295
+:10FB50000202020202020202020202020202020285
+:10FB60000202020202020202020202020202020275
+:10FB70000202020202020202020202020202020265
+:10FB80000202020202020202020202020202020255
+:10FB90000202020202020202020202020202020245
+:10FBA000020202020201010101010101010101023F
+:10FBB0000202020202020202020202020202020027
+:10FBC000000000000000000000010001010101022E
+:10FBD0000202020202020202020202020202000207
+:10FBE00002020202020202020202020202020202F5
+:10FBF00002020202020202020202020202020202E5
+:10FC000002020202020202020202020202020202D4
+:10FC100002020202020202020202020102020202C5
+:10FC200002020202020202020202020202020202B4
+:10FC300002020202020202020202020202020202A4
+:10FC40000202020202020202020202020202020294
+:10FC50000202020202020202020202020202020284
+:10FC60000202020202020202020202020202020274
+:10FC70000202020202020202020202020202020264
+:10FC80000202020202020202020202020202020254
+:10FC90000202020202020202020202020202020244
+:10FCA000020202020202010101010101010101023D
+:10FCB0000202020202020202020202020202020224
+:10FCC000000000000000000000010001010101022D
+:10FCD0000202020202020202020202020202000206
+:10FCE00002020202020202020202020202020202F4
+:10FCF00002020202020202020202020202020202E4
+:10FD000002020202020202020202020202020202D3
+:10FD100002020202020202020202020202020202C3
+:10FD200002020202020202020202020202020202B3
+:10FD300002020202020202020202020202020202A3
+:10FD40000202020202020202020202020202020293
+:10FD50000202020202020202020202020202020283
+:10FD60000202020202020202020202020202020273
+:10FD70000202020202020202020202020202020263
+:10FD80000202020202020202020202020202020253
+:10FD90000202020202020202020202020202020243
+:10FDA000020202020202020101010101010101023B
+:10FDB0000202020202020202020202020202020223
+:10FDC0000202000000000000000001010101010228
+:10FDD0000202020202020202020202020202010204
+:10FDE00002020202020202020202020202020202F3
+:10FDF00002020202020202020202020202020202E3
+:10FE000002020202020202020202020202020202D2
+:10FE100002020202020202020202020202020202C2
+:10FE200002020202020202020202020202020202B2
+:10FE300002020202020202020202020202020202A2
+:10FE40000202020202020202020202020202020292
+:10FE50000202020202020202020202020202020282
+:10FE60000202020202020202020202020202020272
+:10FE70000202020202020202020202020202020262
+:10FE80000202020202020202020202020202020252
+:10FE90000202020202020202020202020202020242
+:10FEA0000202020202020202010101020202010236
+:10FEB0000202020202020202020202020202020222
+:10FEC0000202020000000000000001010101010225
+:10FED0000202020202020202020202020202010203
+:10FEE00002020202020202020202020202020202F2
+:10FEF00002020202020202020202020202020202E2
+:10FF000002020202020202020202020202020202D1
+:10FF100002020202020202020202020202020202C1
+:10FF200002020202020202020202020202020202B1
+:10FF300002020202020202020202020202020202A1
+:10FF40000202020202020202020202020202020291
+:10FF50000202020202020202020202020202020281
+:10FF60000202020202020202020202020202020271
+:10FF70000202020202020202020202020202020261
+:10FF80000202020202020202020202020202020251
+:10FF90000202020202020202020202020202020241
+:10FFA0000202020202020202020201020202020232
+:10FFB0000202020202020202020202020202020221
+:10FFC0000202020200000000000001010000010125
+:10FFD0000101010101010101010101010101010210
+:10FFE00002020202020202020202020202020202F1
+:10FFF00002020202020202020202020202020202E1
+:0200000280007C
+:1000000002020202020202020202020202020202D0
+:1000100002020202020202020202020202020202C0
+:1000200002020202020202020202020202020202B0
+:1000300002020202020202020202020202020202A0
+:100040000202020202020202020202020202020290
+:100050000202020202020202020202020202020280
+:100060000202020202020202020202020202020270
+:100070000202020202020202020202020202020260
+:100080000202020202020202020202020202020250
+:100090000202020202020202020202020202020240
+:1000A0000202020202020202020202020202020230
+:1000B0000202020202020202020202020202020220
+:1000C0000202020202000000000001000000000124
+:1000D0000101010101010101010101010101010011
+:1000E000000000000000000000000000000000020E
+:1000F00002020202020202020202020202020202E0
+:1001000002020202020202020202020202020202CF
+:1001100002020202020202020202020202020202BF
+:1001200002020202020202020202020202020202AF
+:10013000020202020202020202020202020202029F
+:10014000020202020202020202020202020202028F
+:10015000020202020202020202020202020202027F
+:10016000020202020202020202020202020202026F
+:10017000020202020202020202020202020202025F
+:10018000020202020202020202020202020202024F
+:10019000020202020202020202020202020202023F
+:1001A000020202020202020202020202020202022F
+:1001B000020202020202020202020202020202021F
+:1001C0000202020202020200000000000000000120
+:1001D0000101010101010101010101010101010010
+:1001E000000000000000000000000000000000020D
+:1001F00002020202020202020202020202020202DF
+:1002000002020202020202020202020202020202CE
+:1002100002020202020202020202020202020202BE
+:1002200002020202020202020202020202020202AE
+:10023000020202020202020202020202020202029E
+:10024000020202020202020202020202020202028E
+:10025000020202020202020202020202020202027E
+:10026000020202020202020202020202020202026E
+:10027000020202020202020202020202020202025E
+:10028000020202020202020202020202020202024E
+:10029000020202020202020202020202020202023E
+:1002A000020202020202020202020202020202022E
+:1002B000020202020202020202020202020202021E
+:1002C0000202020202020202020000000202020115
+:1002D000010101010101010101010101010101010E
+:1002E00001010101010101010101010101010102FD
+:1002F00002020202020202020202020202020202DE
+:1003000002020202020202020202020202020202CD
+:1003100002020202020202020202020202020202BD
+:1003200002020202020202020202020202020201AE
+:1003300001010101010101010101010101010102AC
+:10034000020202020202020202020202020202028D
+:10035000020202020202020202020202020202027D
+:10036000020202020202020202020202020202026D
+:10037000020202020202020202020202020202025D
+:10038000020202020202020202020202020202024D
+:10039000020202020202020202020202020202023D
+:1003A000020202020202020202020202020202022D
+:1003B000020202020202020202020202020202021D
+:1003C0000202020202020202020000020202020112
+:1003D000010101010101010101010101010101010D
+:1003E00001010101010101010101010101010102FC
+:1003F00002020202020202020202020202020201DE
+:1004000001010101010101010101010101010102DB
+:1004100002020202020202020202020202020202BC
+:1004200002020202020202020202020202020202AC
+:10043000020202020202020202020202020202029C
+:10044000020202020202020202020202020202028C
+:10045000020202020202020202020202020202027C
+:10046000020202020202020202020202020202026C
+:10047000020202020202020202020202020202025C
+:10048000020202020202020202020202020202024C
+:10049000020202020202020202020202020202023C
+:1004A000020202020202020202020202020202022C
+:1004B000020202020202020202020202020202021C
+:1004C000020202020202020202020202020202010D
+:1004D000010101010101010101010101010101010C
+:1004E00001010101010101010101010101010101FC
+:1004F00001010101010101010101010101010102EB
+:1005000002020202020202020202020202020200CD
+:1005100000000000000000000000000000000001DA
+:1005200001010101010101010101010101010100BC
+:1005300000000000000000000000000000000002B9
+:10054000020202020202020202020202020202028B
+:10055000020202020202020202020202020202027B
+:10056000020202020202020202020202020202016C
+:10057000010101010101010101010101010101026A
+:10058000020202020202020202020202020202024B
+:10059000020202020202020202020202020202023B
+:1005A000020202020202020202020202020202022B
+:1005B000020202020202020202020202020202021B
+:1005C000020202020202020202020202020202010C
+:1005D000010101010101010101010101010101010B
+:1005E00001010101010101010101010101010101FB
+:1005F00001010101010101010101010101010100EC
+:1006000000000000000000000000000000000001E9
+:1006100001010101010101010101010101010102C9
+:1006200002020202020202020202020202020200AC
+:1006300000000000000000000000000000000002B8
+:10064000020202020202020202020202020202018B
+:100650000101010101010101010101010101010289
+:10066000020202020202020202020202020202026A
+:10067000020202020202020202020202020202025A
+:10068000020202020202020202020202020202024A
+:10069000020202020202020202020202020202023A
+:1006A000020202020202020202020202020202022A
+:1006B0000200000000000000000000000000000236
+:1006C000020202020202020202020202020202010B
+:1006D000010101010101010101010101010101010A
+:1006E00001010101010101010101010101010101FA
+:1006F00001010101010101010101010101010101EA
+:1007000001010101010101010101010101010101D9
+:1007100001010101010101010101010101010101C9
+:1007200001010101010101010101010101010100BA
+:1007300000000000000000000000000000000002B7
+:100740000202020202020202020202020202020289
+:100750000202020202020202020202020202020279
+:10076000020202020202020202020202020202006B
+:100770000000000000000000000000000000000277
+:100780000202020202020202020202020202020249
+:100790000202020202020202020202020202020239
+:1007A000020202020202020202020202020202002B
+:1007B0000000000000000000000000000000000237
+:1007C000020202020202020202020202020202010A
+:1007D0000101010101010101010101010101010109
+:1007E00001010101010101010101010101010101F9
+:1007F00001010101010101010101010101010101E9
+:1008000001010101010101010101010101010101D8
+:1008100001010101010101010101010101010101C8
+:1008200001010101010101010101010101010101B8
+:1008300001010101010101010101010101010101A8
+:100840000101010101010101010101010101010099
+:100850000000000000000000000000000000000296
+:10086000020202020202020202020202020202006A
+:100870000000000000000000000000000000000078
+:100880000000000000000000000000000000000266
+:10089000020202020202020202020202020202003A
+:1008A0000000000000000000000000000000000048
+:1008B0000000000000000000000000000000000236
+:1008C0000202020202020202020202020202020109
+:1008D0000101010101010101010101010101010108
+:1008E00001010101010101010101010101010101F8
+:1008F00001010101010101010101010101010101E8
+:1009000001010101010101010101010101010101D7
+:1009100001010101010101010101010101010101C7
+:1009200001010101010101010101010101010101B7
+:1009300001010101010101010101010101010101A7
+:100940000101010101010101010101010101010197
+:100950000101010101010101010101010101010187
+:100960000101010101010101010101010101010078
+:100970000000000000000000000000000000000077
+:100980000000000000000000000000000000000265
+:100990000202020202020202020202020202020039
+:1009A0000000000000000000000000000000000146
+:1009B0000101010101010101010101010101010226
+:1009C0000202020202020202020202020202020108
+:1009D0000101010101010101010101010101010107
+:1009E00001010101010101010101010101010101F7
+:1009F00001010101010101010101010101010101E7
+:100A000001010101010101010101010101010101D6
+:100A100001010101010101010101010101010101C6
+:100A200001010101010101010101010101010101B6
+:100A300001010101010101010101010101010101A6
+:100A40000101010101010101010101010101010196
+:100A50000101010101010101010101010101010186
+:100A60000101010101010101010101010101010176
+:100A70000101010101010101010101010101010166
+:100A80000101010101010101010101010101010156
+:100A90000101010101010101010101010101010047
+:100AA0000000000000000000000000000000000145
+:100AB0000101010101010101010101010101010225
+:100AC0000202020202020202020202020202020107
+:100AD0000101010101010101010101010101010106
+:100AE00001010101010101010101010101010101F6
+:100AF00001010101010101010101010101010101E6
+:100B000001010101010101010101010101010101D5
+:100B100001010101010101010101010101010101C5
+:100B200001010101010101010101010101010101B5
+:100B300001010101010101010101010101010101A5
+:100B40000101010101010101010101010101010195
+:100B50000101010101010101010101010101010185
+:100B60000101010101010101010101010101010175
+:100B70000101010101010101010101010101010165
+:100B80000101010101010101010101010101010155
+:100B90000101010101010101010101010101010145
+:100BA0000101010101010101010101010101010135
+:100BB0000101010101010101010101010101010026
+:100BC0000000000000000000000000000000000124
+:100BD0000101010101010101010101010101010105
+:100BE00001010101010101010101010101010101F5
+:100BF00001010101010101010101010101010101E5
+:100C000001010101010101010101010101010101D4
+:100C100001010101010101010101010101010101C4
+:100C200001010101010101010101010101010101B4
+:100C300001010101010101010101010101010101A4
+:100C40000101010101010101010101010101010194
+:100C50000101010101010101010101010101010184
+:100C60000101010101010101010101010101010174
+:100C70000101010101010101010101010101010164
+:100C80000101010101010101010101010101010154
+:100C90000101010101010101010101010101010144
+:100CA0000101010101010101010101010101010134
+:100CB0000101010101010101010101010101010025
+:100CC0000000000000000000000000000000000024
+:100CD0000000000000000000000000000000000014
+:100CE0000000000000000000000000000000000004
+:100CF00000000000000000000000000000000000F4
+:100D000000000000000000000000000000000002E1
+:100D100002020202020202020202020202020202B3
+:100D200002020202020202020202020202020202A3
+:100D30000202020202020202020202020202020293
+:100D40000202020202020202020202020202020283
+:100D50000202020202020202020202020202020273
+:100D60000202020202020202020202020202020263
+:100D70000202020202020202020202020202020253
+:100D80000202020202020202020202020202020243
+:100D90000202020202020202020202020202020233
+:100DA0000202020202020202020202020202020223
+:100DB0000202020202020202020202020202020015
+:100DC0000000000000000000000000000000000023
+:100DD0000000000000000000000000000000000013
+:100DE0000000000000000000000000000000000003
+:100DF00000000000000000000000000000000000F3
+:100E000000000000000000000000000000000000E2
+:100E100000000000000000000000000000000000D2
+:100E200000000000000000000000000000000000C2
+:100E300000000000000000000000000000000000B2
+:100E400000000000000000000000000000000000A2
+:100E50000000000000000000000000000000000092
+:100E60000000000000000000000000000000000082
+:100E70000000000000000000000000000000000072
+:100E80000000000000000000000000000000000062
+:100E90000000000000000000000000000000000052
+:100EA0000000000000000000000000000000000240
+:100EB0000202020202020202020202020202020014
+:100EC0000000000000000000000000000000000022
+:100ED0000000000000000000000000000000000012
+:100EE0000000000000000000000000000000000002
+:100EF00000000000000000000000000000000000F2
+:100F000000000000000000000000000000000000E1
+:100F100000000000000000000000000000000000D1
+:100F200000000000000000000000000000000000C1
+:100F300000000000000000000000000000000000B1
+:100F400000000000000000000000000000000000A1
+:100F50000000000000000000000000000000000091
+:100F60000000000000000000000000000000000081
+:100F70000000000000000000000000000000000071
+:100F80000000000000000000000000000000000061
+:100F90000000000000000000000000000000000051
+:100FA000000000000000000000000000000000023F
+:100FB0000202020202020202020202020202020013
+:100FC0000000000000000000000000000000000021
+:100FD0000000000000000000000000000000000011
+:100FE0000000000000000000000000000000000001
+:100FF00000000000000000000000000000000000F1
+:1010000000000000000000000000000000000000E0
+:1010100000000000000000000000000000000000D0
+:1010200000000000000000000000000000000000C0
+:1010300000000000000000000000000000000000B0
+:1010400000000000000000000000000000000000A0
+:101050000000000000000000000000000000000090
+:101060000000000000000000000000000000000080
+:101070000000000000000000000000000000000070
+:101080000000000000000000000000000000000060
+:101090000000000000000000000000000000000050
+:1010A0000000000000000000000000000000000040
+:1010B0000000000000000000000000000000000030
+:1010C00000000000000000000000000000000031EF
+:1010D000000000000000000000000000000000010F
+:1010E0000000000000000000000000000000000000
+:1010F00000000000000000000000000000000000F0
+:1011000001000001000000000000000000000000DD
+:1011100000000000000000000000000000000000CF
+:1011200000000000000000000000000000000000BF
+:1011300000000000000000000000000000000000AF
+:10114000000000000000000000000000000000009F
+:10115000000000000000000000000000000000008F
+:10116000000000000000000000000000000000007F
+:10117000000000000000000000000000000000006F
+:10118000000000000000000000000000000000005F
+:10119000000000000000000000000000000000004F
+:1011A000000000000000000000000000000000003F
+:1011B000000000000000000000000000000000002F
+:1011C000000000000000000000000000000000001F
+:1011D000000000000000000000000100010100010B
+:1011E00001000101010100000000000000000000FA
+:1011F00000000000000000000000000000000000EF
+:1012000001000001000001000000000000000000DB
+:1012100000000000000001000000000000000000CD
+:1012200000000000000000000000000000000000BE
+:1012300000000000000000000000000000000000AE
+:10124000000000000000000000000000000000009E
+:10125000000000000000000000000000000000008E
+:10126000000000000000000000000000000000007E
+:10127000000000000000000000000000000000006E
+:10128000000000000000000000000000000000005E
+:10129000000000000000000000000000000000004E
+:1012A000000000000000000000000000000000003E
+:1012B000000000000000000000000000000000002E
+:1012C000000000000000000000000000000000001E
+:1012D0000000000000000000010101010101010106
+:1012E00001000101010100010000000000000000F8
+:1012F00000000101000100010000000000000000EA
+:1013000001000101010101000000000000000000D7
+:1013100001000101010101000000000000000000C7
+:1013200000000000000001000000000000000000BC
+:1013300000000000000000000000000000000000AD
+:10134000000000000000000000000000000000009D
+:10135000000000000000000000000000000000008D
+:10136000000000000000010000000000000000007C
+:10137000000000000000000000000000000000006D
+:10138000000000000000000000000000000000005D
+:10139000000000000000000000000000000000004D
+:1013A000000000000000000000000000000000003D
+:1013B000000000000000000000000000000000002D
+:1013C000000000000000000000000000000000001D
+:1013D0000000000000000000010101010101010105
+:1013E00001010101010100010000000000000000F6
+:1013F00000000101000101010000000000000100E7
+:1014000001000101010101000000000000000000D6
+:1014100001000101010101000000000000000000C6
+:1014200001000101010101000000000000000000B6
+:1014300000000101000100000000000000000000A9
+:10144000000000000000000000000000000000009C
+:10145000000000000000000000000000000000008C
+:101460000100010101010100000000000000000076
+:10147000000000000000000000000000000000006C
+:10148000000000000000000000000000000000005C
+:10149000000000000000000000000000000000004C
+:1014A000000000000000000000000000000000003C
+:1014B000000000000000000000000000000000002C
+:1014C000000000000000000000000000000000001C
+:1014D0000001000000000000010101010101010103
+:1014E00001010101010100010000000000000000F5
+:1014F00001000101010101010000000000000100E4
+:1015000001010101010101000000000000000000D4
+:1015100001010101010101000000000000000000C4
+:1015200001000101010101000000000000000000B5
+:1015300000000101000101000000000000000000A7
+:10154000000000000000000000000000000000009B
+:10155000000000000000000000000001000000008A
+:101560000100010101010100000000000000000075
+:10157000000000000000000000000000000000006B
+:10158000000000000000000000000000000000005B
+:101590000000000100010000000000000000000049
+:1015A000000000000000000000000000000000003B
+:1015B000000000000000000000000000000000002B
+:1015C0000000000000000000000100000001000019
+:1015D0000101000000000001010101010101010100
+:1015E00001010101010100010000000000000000F4
+:1015F00001000101010101010000000100000100E2
+:1016000001010101010101000000000000000100D2
+:1016100001010101010101000000000000000000C3
+:1016200001000101010101000000000000000000B4
+:1016300001000101010101000000000000000000A4
+:10164000000000000000000000000000000000009A
+:101650000000000000000000000000010000000089
+:101660000101010101010100000000000000000073
+:10167000000000000000000000000000000000006A
+:10168000000000000000000000000000000000005A
+:101690000000000100010100000000000000000047
+:1016A000000000000000000000000000000000003A
+:1016B000000000000000000000000000000000002A
+:1016C0000000000000000000000100000001000018
+:1016D00001010000010000010101010101010101FE
+:1016E00001010101010100010000000001000000F2
+:1016F00001000101010101010000000101000100E0
+:1017000001010101010101000000000001010100CF
+:1017100001010101010101000101000100000100BE
+:1017200001000101010101000000000000000000B3
+:1017300001000101010101000000000000000000A3
+:101740000000010100010000000000000000000096
+:101750000000000000000000010100010000010085
+:101760000101010101010100000000000000000072
+:101770000000000000000000000000000000000069
+:101780000000000000000000000000000000000059
+:101790000100010101010100000000000000000043
+:1017A0000000000000000000000000000000000039
+:1017B0000000000100010001000000000000000026
+:1017C0000000000000000000000100000001000017
+:1017D00001010000010000010101010101010101FD
+:1017E00001010101010100010000000101000100EF
+:1017F00001000101010101010000000101000101DE
+:1018000001010101010101000000000101010101CC
+:1018100001010101010101010101010101000100BA
+:1018200001010101010101000000000000000000B1
+:1018300001000101010101000000000000000000A2
+:101840000000010100010100000000000000000094
+:101850000000000100000000010101010101010080
+:101860000101010101010100000000000000000071
+:101870000000000000000000000000000000000068
+:101880000000000100010000000000000000010055
+:101890000100010101010100000000000000000042
+:1018A0000000000000000000000000000000000038
+:1018B0000000000100010101000000000000000024
+:1018C0000000000000000000000100000001000016
+:1018D00001010000010000010101010101010101FC
+:1018E00001010101010100010000000101000100EE
+:1018F00001010101010101010000000101010101DB
+:1019000001010101010101000000000101010101CB
+:1019100001010101010101010101010101000100B9
+:1019200001010101010101000000000100000100AE
+:1019300001000101010101000000000000000000A1
+:101940000100010101010100000000000000000091
+:10195000000000010000000001010101010101017E
+:101960000101010101010100000000000000000070
+:101970000000000000000000000000000000000067
+:101980000000000100010100000000000000010053
+:101990000101010101010100000000000000000040
+:1019A0000000000000000000000000000000000037
+:1019B0000100010101010101000000000000000020
+:1019C0000000000000000000000100000001010014
+:1019D00001010100010000010101010101010101FA
+:1019E00001010101010100010100000101000100EC
+:1019F00001010101010101010001000101010101D9
+:101A000001010101010101000001000101010101C9
+:101A100001010101010101010101010101010100B7
+:101A200001010101010101000000000101000100AC
+:101A3000010101010101010000000000000000009F
+:101A40000100010101010100000000000000000090
+:101A5000000001010001000001010101010101017B
+:101A6000010101010101010000000000000000006F
+:101A70000000000000000000000000000000000066
+:101A8000000001010101010001010001000001004D
+:101A9000010101010101010000000000000000003F
+:101AA0000000000000000000000000000000010035
+:101AB000010001010101010101000000000000001E
+:101AC0000000000000000000000100000101010111
+:101AD00001010100010000020101010101010101F8
+:101AE00001010101010100020100000101010100E9
+:101AF00001010101010101010001010101010101D7
+:101B000001010101010101000001010101010101C7
+:101B100001010101010101010101010101010101B5
+:101B200001010101010101000101000101000100A9
+:101B3000010101010101010000000000000000009E
+:101B4000010001010101010000000001000000008E
+:101B50000000010100010100010101010101010179
+:101B6000010101010101010000000000000000006E
+:101B70000000000000000000000000000000000065
+:101B80000000010101010100010101010101010049
+:101B9000010101010101010000000000000000003E
+:101BA0000000000000000000000000000100010033
+:101BB000010001010101010101000000000000001D
+:101BC0000000000000000000000100000101010110
+:101BD00001010100010100020101010101010101F6
+:101BE00001010101010100020101000101010100E7
+:101BF00001010101010101020101010101010101D4
+:101C000001010101010101000101010101010101C5
+:101C100001010101010101010101010101010101B4
+:101C200001010101010101010101010101010100A5
+:101C30000101010101010100010100010000010099
+:101C4000010001010101010000000001010000008C
+:101C50000000010101010101010101010101010176
+:101C6000010101010101010000000000000000006D
+:101C70000000000000000000000000000100000063
+:101C80000100010101010100010101010101010146
+:101C9000010101010101010000000000000000003D
+:101CA0000000000000000000000100010100010030
+:101CB000010001010101010101010001000000001A
+:101CC000000000000000010000010001010101010D
+:101CD00001010100010100020201010101010101F4
+:101CE00001010101010100020101010101010100E5
+:101CF00001010101010101020101010101010101D3
+:101D000001010101010101010101010101010101C3
+:101D100001010101010101010101010101010101B3
+:101D200001010101010101010101010101010101A3
+:101D30000101010101010100010101010100010096
+:101D40000101010101010100000100010100000089
+:101D50000000010101010101010101010101010175
+:101D6000010101010101010000000000000000006C
+:101D7000000000000000000001010001010001005E
+:101D80000100010101010100010101010101010145
+:101D9000010101010101010000000000000000003C
+:101DA000000000000000000000010101010101002D
+:101DB0000101010101010101010101010100000016
+:101DC0000000000100010100010100010101010109
+:101DD00001010100010100020202020101010102F0
+:101DE00001010101010100020101010101010101E3
+:101DF00001010101010101020101010101010101D2
+:101E000001010101010101010101010101010101C2
+:101E100001010101010101010101010101010101B2
+:101E200001010101010101010101010101010101A2
+:101E30000101010101010100010101010100010194
+:101E40000101010101010100000101010100000087
+:101E50000100010101010101010101010101010173
+:101E6000010101010101010000000000000000006B
+:101E7000000000000000000001010101010101005B
+:101E80000101010101010100010101010101010143
+:101E9000010101010101010000000000000000003B
+:101EA0000000000100000000010101010101010129
+:101EB0000101010101010101010101010100010014
+:101EC0000000000100010100010101010101010107
+:101ED00001010100010100020202020202020102EC
+:101EE00001010101010100020101010101010101E2
+:101EF00001010101010101020101010101010101D1
+:101F000001010101010101010101010101010101C1
+:101F100001010101010101020101010101010101B0
+:101F200001010101010101010101010101010101A1
+:101F30000101010101010101010101010101010191
+:101F40000101010101010100010101010100010084
+:101F50000100010101010101010101010101010172
+:101F6000010101010101010000000000000000006A
+:101F70000000000000000000010101010101010159
+:101F80000101010101010101010101010101010141
+:101F90000101010101010100010100010000000037
+:101FA0000000000100000001010101010101010127
+:101FB0000101010101010101010101010101010012
+:101FC0000100010100010100010101010101010104
+:101FD00001010101010100020202020202020202E9
+:101FE00002020101020200020101010101010101DD
+:101FF00001010101010101020101010101010101D0
+:1020000001010101010101010101010101010101C0
+:1020100001010101010101020101010101010101AF
+:1020200001010101010101010101010101010101A0
+:102030000101010101010101010101010101010190
+:102040000101010101010101010101010100010082
+:102050000101010101010101010101010101010170
+:102060000101010101010100000000000000000069
+:102070000000010100010001010101010101010154
+:102080000101010101010101010101010101010140
+:102090000101010101010101010101010000000034
+:1020A0000000010100010001010101010101010124
+:1020B0000101010101010102010101010101010010
+:1020C0000100010100010100010101010101010103
+:1020D00001010101010100020202020202020202E8
+:1020E00002020202020200020101010101010101DA
+:1020F00001010101010101020101010101010101CF
+:1021000001010101010101010101010101010101BF
+:1021100001010101010101020201010101010101AD
+:10212000010101010101010201010101010101019E
+:10213000010101010101010101010101010101018F
+:102140000101010101010101010101010100010081
+:10215000010101010101010101010101010101016F
+:102160000101010101010100000000000000000068
+:102170000000010100010101010101010101010152
+:10218000010101010101010101010101010101013F
+:102190000101010101010101010101010000000033
+:1021A0000000010100010101010101010101010122
+:1021B000010101010101010201010101010101000F
+:1021C0000101010101010100010001010101010101
+:1021D00001010101010100020202020202020202E7
+:1021E00002020202020200020201010101010101D8
+:1021F00001010101010101020101010101010101CE
+:1022000002010101010101010101010101010101BD
+:1022100001010101010101020202010101010101AB
+:10222000010101010101010201010101010101019D
+:10223000010101010101010101010101010101018E
+:10224000010101010101010101010101010101007F
+:10225000010101010101010202010101010101016C
+:102260000101010101010100000000000000000067
+:102270000000010101010101010101010101010150
+:10228000010101010101010101010101010101013E
+:102290000101010101010101010101010100000031
+:1022A0000000010101010101010101010101010120
+:1022B000010101010101010201010101010101010D
+:1022C0000101010101010100010001010101010100
+:1022D00001010101010101020202020202020202E5
+:1022E00002020202020200020201010202010101D5
+:1022F00002010202010201020101010201010201C7
+:1023000002010102010101020101010101010101BA
+:1023100001010101010101020202020201010101A8
+:10232000020101010101010202010101010101019A
+:10233000010101010101010201010101010101018C
+:10234000010101010101010101010101010101017D
+:102350000101010101010102020201020101010169
+:102360000101010101010100010100000000000064
+:10237000000001010101010101010101010101014F
+:10238000010101010101010101010101010101013D
+:10239000010101010101010101010101010001002F
+:1023A000000001010101010101010101010101011F
+:1023B000010101010101010201010101010101010C
+:1023C0000101010101010100010001010100010100
+:1023D00001010101010101020202020202020202E4
+:1023E00002020202020200020202010202010201D2
+:1023F00002010202020202020202010202010201C1
+:1024000002020202020202020101010101010101B4
+:1024100002010101010101020202020202010201A4
+:102420000201020202020202020201020101010192
+:102430000201020201020102020101010101010186
+:10244000010101010101010201010101010101017B
+:102450000101010101010102020202020101010167
+:10246000020101010101010101010100010000005F
+:10247000010001010101010101010101010101014D
+:10248000010101010101010101010101010101013C
+:10249000010101010101010101010101010001002E
+:1024A000010001010101010101010101010101011D
+:1024B000010101010101010202010101010101010A
+:1024C00001010101010101000100010101000101FF
+:1024D00000000101010101020202020202020202E5
+:1024E00002020202020200020202020202020201CF
+:1024F00002020202020202020202020202020202BC
+:1025000002020202020202020202010202020201AD
+:10251000020202020202020202020202020202019C
+:10252000020202020202020202020202020102018D
+:102530000201020202020202020201010101010182
+:10254000010101010101010201010101010101017A
+:102550000101010101010102020202020202020163
+:102560000202020202020201010101010100010056
+:10257000010001010101010201010101010101014B
+:102580000101010101010102020101010101010139
+:10259000010101010101010201010101010001012B
+:1025A000010001010101010201010101010101011B
+:1025B0000101010101010102020101010101010109
+:1025C00001010101010101000000010101000101FF
+:1025D00000000101010101020202020202020202E4
+:1025E00002020202020200020202020202020201CE
+:1025F00002020202020202020202020202020202BB
+:1026000002020202020202020202020202020202AA
+:10261000020202020202020202020202020202029A
+:10262000020202020202020202020202020202018B
+:10263000020202020202020202020202010101017E
+:102640000201020201020102020201020101010172
+:102650000101010101010102020202020202020261
+:102660000202020202020202010101010100010054
+:102670000100010101010102020101010101010149
+:102680000101010101010102020201010101010137
+:102690000101010101010102010101010101010129
+:1026A000010001010101010201010101010101011A
+:1026B0000101010101010102020201010101010107
+:1026C00001010101010101000000010101000101FE
+:1026D00000000101010101020202020202020202E3
+:1026E00002020202020200020202020202020202CC
+:1026F00002020202020202020202020202020202BA
+:1027000002020202020202020202020202020202A9
+:102710000202020202020202020202020202020299
+:102720000202020202020202020202020202020289
+:10273000020202020202020202020202020102017B
+:10274000020102020202020202020202020101016D
+:10275000010101020101010202020202020202025F
+:102760000202020202020202010101010100010053
+:102770000100010101010102020201010101010147
+:102780000101010101010102020202020101020133
+:102790000201010201020102020101010101010124
+:1027A0000100010101010102020201010101010117
+:1027B0000101010101010102020202020101010104
+:1027C0000101010101010100000001010000000000
+:1027D00000000101000101020202020202020202E3
+:1027E00002020202020200020202020202020202CB
+:1027F00002020202020202020202020202020202B9
+:1028000002020202020202020202020202020202A8
+:102810000202020202020202020202020202020298
+:102820000202020202020202020202020202020288
+:102830000202020202020202020202020202020278
+:10284000020202020202020202020202020101016B
+:10285000010102020102010202020202020202025C
+:102860000202020202020202020101010101010050
+:102870000101010101010102020202020201010142
+:10288000010101020102010202020202020202012E
+:10289000020202020202020202020101010101011E
+:1028A0000101010101010102020202020201020111
+:1028B00002010102010201020202020202010101FF
+:1028C0000101010101010100000001000000000000
+:1028D00000000101000101020202020202020202E2
+:1028E00002020202020200020202020202020202CA
+:1028F00002020202020202020202020202020202B8
+:1029000002020202020202020202020202020202A7
+:102910000202020202020202020202020202020297
+:102920000202020202020202020202020202020287
+:102930000202020202020202020202020202020277
+:102940000202020202020202020202020201020169
+:102950000201020202020202020202020202020258
+:10296000020202020202020202020101010101014D
+:10297000010101010101010202020202020202013F
+:102980000201020202020202020202020202020228
+:10299000020202020202020202020202010101011B
+:1029A000010101010101010202020202020202010F
+:1029B00002010202020202020202020202020201F9
+:1029C0000101010101010100000000000000000000
+:1029D00000000101000101020202020202020202E1
+:1029E00002020202020200020202020202020202C9
+:1029F00002020202020202020202020202020202B7
+:102A000002020202020202020202020202020202A6
+:102A10000202020202020202020202020202020296
+:102A20000202020202020202020202020202020286
+:102A30000202020202020202020202020202020276
+:102A40000202020202020202020202020202020167
+:102A50000202020202020202020202020202020256
+:102A6000020202020202020202020201010101014B
+:102A7000010101010101010202020202020202023D
+:102A80000202020202020202020202020202020226
+:102A9000020202020202020202020202010101011A
+:102AA000010101010101010202020202020202020D
+:102AB00002020202020202020202020202020201F7
+:102AC00002010102010202000002000000000000F9
+:102AD00000000001000101020202020202020202E1
+:102AE00002020202020200020202020202020202C8
+:102AF00002020202020202020202020202020202B6
+:102B000002020202020202020202020202020202A5
+:102B10000202020202020202020202020202020295
+:102B20000202020202020202020202020202020285
+:102B30000202020202020202020202020202020275
+:102B40000202020202020202020202020202020265
+:102B50000202020202020202020202020202020255
+:102B60000202020202020202020202020201010148
+:102B70000101020201020102020202020202020239
+:102B80000202020202020202020202020202020225
+:102B90000202020202020202020202020201010118
+:102BA000010101020101010202020202020202020B
+:102BB00002020202020202020202020202020202F5
+:102BC00002020202010202000002000000020000F4
+:102BD00000020001000001020202020202020202DF
+:102BE00002020202020200020202020202020202C7
+:102BF00002020202020202020202020202020202B5
+:102C000002020202020202020202020202020202A4
+:102C10000202020202020202020202020202020294
+:102C20000202020202020202020202020202020284
+:102C30000202020202020202020202020202020274
+:102C40000202020202020202020202020202020264
+:102C50000202020202020202020202020202020254
+:102C60000202020202020202020202020201020146
+:102C70000201020202020202020202020202020235
+:102C80000202020202020202020202020202020224
+:102C90000202020202020202020202020201020116
+:102CA0000101020201020102020202020202020208
+:102CB00002020202020202020202020202020202F4
+:102CC00002020202020202000202020202020200E8
+:102CD00002020201020001020202020202020202D8
+:102CE00002020202020200020202020202020202C6
+:102CF00002020202020202020202020202020202B4
+:102D000002020202020202020202020202020202A3
+:102D10000202020202020202020202020202020293
+:102D20000202020202020202020202020202020283
+:102D30000202020202020202020202020202020273
+:102D40000202020202020202020202020202020263
+:102D50000202020202020202020202020202020253
+:102D60000202020202020202020202020202020144
+:102D70000201020202020202020202020202020234
+:102D80000202020202020202020202020202020223
+:102D90000202020202020202020202020202020213
+:102DA0000201020202020202020202020202020204
+:102DB00002020202020202020202020202020202F3
+:102DC00002020202020202000202020202020202E5
+:102DD00002020200020201020202020202020202D6
+:102DE00002020202020200020202020202020202C5
+:102DF00002020202020202020202020202020202B3
+:102E000002020202020202020202020202020202A2
+:102E10000202020202020202020202020202020292
+:102E20000202020202020202020202020202020282
+:102E30000202020202020202020202020202020272
+:102E40000202020202020202020202020202020262
+:102E50000202020202020202020202020202020252
+:102E60000202020202020202020202020202020242
+:102E70000202020202020202020202020202020232
+:102E80000202020202020202020202020202020222
+:102E90000202020202020202020202020202020212
+:102EA0000201020202020202020202020202020203
+:102EB00002020202020202020202020202020202F2
+:102EC00002020202020202000202020202020202E4
+:102ED00002020200020201010202020202020201D7
+:102EE00002010202010101020202020202020202C6
+:102EF00002020202020202020202020202020202B2
+:102F000002020202020202020202020202020202A1
+:102F10000202020202020202020202020202020291
+:102F20000202020202020202020202020202020281
+:102F30000202020202020202020202020202020271
+:102F40000202020202020202020202020202020261
+:102F50000202020202020202020202020202020251
+:102F60000202020202020202020202020202020241
+:102F70000202020202020202020202020202020231
+:102F80000202020202020202020202020202020221
+:102F90000202020202020202020202020202020211
+:102FA0000202020202020202020202020202020201
+:102FB00002020202020202020202020202020202F1
+:102FC00002020202020202020202020202020202E1
+:102FD00002020202020200010101010101010101DC
+:102FE00001010101010101020202020202020202C8
+:102FF00002020202020202020202020202020202B1
+:1030000002020202020202020202020202020202A0
+:103010000202020202020202020202020202020290
+:103020000202020202020202020202020202020280
+:103030000202020202020202020202020202020270
+:103040000202020202020202020202020202020260
+:103050000202020202020202020202020202020250
+:103060000202020202020202020202020202020240
+:103070000202020202020202020202020202020230
+:103080000202020202020202020202020202020220
+:103090000202020202020202020202020202020210
+:1030A0000202020202020202020202020202020200
+:1030B00002020202020202020202020202020202F0
+:1030C00002020202020202020202020202020202E0
+:1030D00002020202020200010101010101010101DB
+:1030E00001010101010101020202020202020202C7
+:1030F00002020202020202020202020202020202B0
+:10310000020202020202020202020202020202029F
+:10311000020202020202020202020202020202028F
+:10312000020202020202020202020202020202027F
+:10313000020202020202020202020202020202026F
+:10314000020202020202020202020202020202025F
+:10315000020202020202020202020202020202024F
+:10316000020202020202020202020202020202023F
+:10317000020202020202020202020202020202022F
+:10318000020202020202020202020202020202021F
+:10319000020202020202020202020202020202020F
+:1031A00002020202020202020202020202020202FF
+:1031B00002020202020202020202020202020202EF
+:1031C00002020202020202020202020202020202DF
+:1031D00002020202020202010101010101010101D8
+:1031E00001010101010101010202020202020202C7
+:1031F00002020202020202020202020202020202AF
+:10320000020202020202020202020202020202029E
+:10321000020202020202020202020202020202028E
+:10322000020202020202020202020202020202027E
+:10323000020202020202020202020202020202026E
+:10324000020202020202020202020202020202025E
+:10325000020202020202020202020202020202024E
+:10326000020202020202020202020202020202023E
+:10327000020202020202020202020202020202022E
+:10328000020202020202020202020202020202021E
+:10329000020202020202020202020202020202020E
+:1032A00002020202020202020202020202020202FE
+:1032B00002020202020202020202020202020202EE
+:1032C00002020202020202020202020202020202DE
+:1032D00002020202020202010101010101010101D7
+:1032E00001010101010101020101010101010101CD
+:1032F00001010101010101020202020202020202B5
+:10330000020202020202020202020202020202029D
+:10331000020202020202020202020202020202028D
+:10332000020202020202020202020202020202027D
+:10333000020202020202020202020202020202026D
+:10334000020202020202020202020202020202025D
+:10335000020202020202020202020202020202024D
+:10336000020202020202020202020202020202023D
+:10337000020202020202020202020202020202022D
+:10338000020202020202020202020202020202021D
+:10339000020202020202020202020202020202020D
+:1033A00002020202020202020202020202020202FD
+:1033B00002020202020202020202020202020202ED
+:1033C00002020202020202020202020202020202DD
+:1033D00002020202020202010101010101010101D6
+:1033E00001010101010101010202020202020202C5
+:1033F00002020202020202010202020202020202AE
+:10340000020202020202020202020202020202029C
+:10341000020202020202020202020202020202028C
+:10342000020202020202020202020202020202027C
+:10343000020202020202020202020202020202026C
+:10344000020202020202020202020202020202025C
+:10345000020202020202020202020202020202024C
+:10346000020202020202020202020202020202023C
+:10347000020202020202020202020202020202022C
+:10348000020202020202020202020202020202021C
+:10349000020202020202020202020202020202020C
+:1034A00002020202020202020202020202020202FC
+:1034B00002020202020202020202020202020202EC
+:1034C00002020202020202020202020202020202DC
+:1034D00002020202020202010101010101010101D5
+:1034E00001010101010101010101010101010101CC
+:1034F00001010101010101020101010101010101BB
+:1035000001010101010101020202020202020202A2
+:103510000202020202020201010101010101010194
+:103520000101010101010100000000000000000094
+:10353000000000000000000000000000000000008B
+:103540000000000000000002020202020202020269
+:10355000020202020202020202020202020202024B
+:10356000020202020202020202020202020202023B
+:10357000020202020202020202020202020202022B
+:10358000020202020202020202020202020202021B
+:10359000020202020202020202020202020202020B
+:1035A00002020202020202020202020202020202FB
+:1035B00002020202020202020202020202020202EB
+:1035C00002020202020202020202020202020202DB
+:1035D00002020202020202010101010101010101D4
+:1035E00001010101010101010101010101010101CB
+:1035F00001010101010101010202020202020202B3
+:10360000020202020202020202020202020202029A
+:10361000020202020202020202020202020202028A
+:10362000020202020202020000000000000000008C
+:10363000000000000000000000000000000000008A
+:103640000000000000000001010101010101010171
+:103650000101010101010100000000000000000063
+:103660000000000000000001010101010101010151
+:103670000101010101010102020202020202020231
+:10368000020202020202020202020202020202021A
+:10369000020202020202020202020202020202020A
+:1036A00002020202020202020202020202020202FA
+:1036B00002020202020202020202020202020202EA
+:1036C00002020202020202020202020202020202DA
+:1036D00002020202020202010101010101010101D3
+:1036E00001010101010101010101010101010101CA
+:1036F00001010101010101010101010101010101BA
+:1037000001010101010101000000000000000000B2
+:1037100000000000000000010101010101010101A0
+:103720000101010101010100000000000000000092
+:103730000000000000000000000000000000000089
+:103740000000000000000002020202020202020267
+:10375000020202020202020000000000000000005B
+:103760000000000000000002020202020202020247
+:103770000202020202020202020202020202020229
+:103780000202020202020202020202020202020219
+:103790000202020202020202020202020202020209
+:1037A00002020202020202020202020202020202F9
+:1037B00002020202020202020202020202020202E9
+:1037C00002020202020202020202020202020202D9
+:1037D00002020202020202010101010101010101D2
+:1037E00001010101010101010101010101010101C9
+:1037F00001010101010101010101010101010101B9
+:1038000001010101010101010101010101010101A8
+:103810000101010101010101010101010101010198
+:103820000101010101010101010101010101010188
+:103830000101010101010100000000000000000081
+:103840000000000000000000000000000000000078
+:103850000000000000000000000000000000000068
+:103860000000000000000000000000000000000058
+:103870000000000000000000000000000000000048
+:103880000000000000000002020202020202020226
+:103890000202020202020202020202020202020208
+:1038A00002020202020202020202020202020202F8
+:1038B00002020202020202000000000000000000FA
+:1038C00000000000000000020202020202020202E6
+:1038D00002020202020202010101010101010101D1
+:1038E00001010101010101010101010101010101C8
+:1038F00001010101010101010101010101010101B8
+:1039000001010101010101010101010101010101A7
+:103910000101010101010101010101010101010197
+:103920000101010101010101010101010101010187
+:103930000101010101010101010101010101010177
+:103940000101010101010100000000000000000070
+:103950000000000000000000000000000000000067
+:103960000000000000000000000000000000000057
+:103970000000000000000000000000000000000047
+:103980000000000000000002020202020202020225
+:103990000202020202020201010101010101010110
+:1039A00001010101010101020202020202020202FE
+:1039B00002020202020202000000000000000000F9
+:1039C00000000000000000020202020202020202E5
+:1039D00002020202020202010101010101010101D0
+:1039E00001010101010101010101010101010101C7
+:1039F00001010101010101010101010101010101B7
+:103A000001010101010101010101010101010101A6
+:103A10000101010101010101010101010101010196
+:103A20000101010101010101010101010101010186
+:103A30000101010101010101010101010101010176
+:103A40000101010101010101010101010101010166
+:103A50000101010101010101010101010101010156
+:103A6000010101010101010000000000000000004F
+:103A70000000000000000000000000000000000046
+:103A80000000000000000002020202020202020224
+:103A90000202020202020202020202020202020206
+:103AA0000202020202020200000000000000000008
+:103AB00000000000000000010101010101010101FD
+:103AC00001010101010101020202020202020202DD
+:103AD00002020202020202010101010101010101CF
+:103AE00001010101010101010101010101010101C6
+:103AF00001010101010101010101010101010101B6
+:103B000001010101010101010101010101010101A5
+:103B10000101010101010101010101010101010195
+:103B20000101010101010101010101010101010185
+:103B30000101010101010101010101010101010175
+:103B40000101010101010101010101010101010165
+:103B50000101010101010101010101010101010155
+:103B60000101010101010101010101010101010145
+:103B70000101010101010101010101010101010135
+:103B80000101010101010101010101010101010125
+:103B9000010101010101010000000000000000001E
+:103BA0000000000000000000000000000000000015
+:103BB00000000000000000010101010101010101FC
+:103BC00001010101010101020202020202020202DC
+:103BD00002020202020202010101010101010101CE
+:103BE00001010101010101010101010101010101C5
+:103BF00001010101010101010101010101010101B5
+:103C000001010101010101010101010101010101A4
+:103C10000101010101010101010101010101010194
+:103C20000101010101010101010101010101010184
+:103C30000101010101010101010101010101010174
+:103C40000101010101010101010101010101010164
+:103C50000101010101010101010101010101010154
+:103C60000101010101010101010101010101010144
+:103C70000101010101010101010101010101010134
+:103C80000101010101010101010101010101010124
+:103C90000101010101010101010101010101010114
+:103CA0000101010101010101010101010101010104
+:103CB00001010101010101010101010101010101F4
+:103CC00001010101010101020202020202020202DB
+:103CD00002020202020202010101010101010101CD
+:103CE00001010101010101010101010101010101C4
+:103CF00001010101010101010101010101010101B4
+:103D000001010101010101010101010101010101A3
+:103D10000101010101010101010101010101010193
+:103D20000101010101010101010101010101010183
+:103D30000101010101010101010101010101010173
+:103D40000101010101010101010101010101010163
+:103D50000101010101010101010101010101010153
+:103D60000101010101010101010101010101010143
+:103D70000101010101010101010101010101010133
+:103D80000101010101010101010101010101010123
+:103D90000101010101010101010101010101010113
+:103DA0000101010101010101010101010101010103
+:103DB00001010101010101010101010101010101F3
+:103DC00001010101010101020202020202020202DA
+:103DD00002020202020202000000000000000000D5
+:103DE00000000000000000000000000000000000D3
+:103DF00000000000000000000000000000000000C3
+:103E000000000000000000000000000000000000B2
+:103E10000000000000000002020202020202020290
+:103E20000202020202020202020202020202020272
+:103E30000202020202020202020202020202020262
+:103E40000202020202020202020202020202020252
+:103E50000202020202020202020202020202020242
+:103E60000202020202020202020202020202020232
+:103E70000202020202020202020202020202020222
+:103E80000202020202020202020202020202020212
+:103E90000202020202020202020202020202020202
+:103EA00002020202020202020202020202020202F2
+:103EB00002020202020202020202020202020202E2
+:103EC00002020202020202000000000000000000E4
+:103ED00000000000000000000000000000000000E2
+:103EE00000000000000000000000000000000000D2
+:103EF00000000000000000000000000000000000C2
+:103F000000000000000000000000000000000000B1
+:103F100000000000000000000000000000000000A1
+:103F20000000000000000000000000000000000091
+:103F30000000000000000000000000000000000081
+:103F40000000000000000000000000000000000071
+:103F50000000000000000000000000000000000061
+:103F60000000000000000000000000000000000051
+:103F70000000000000000000000000000000000041
+:103F80000000000000000000000000000000000031
+:103F90000000000000000000000000000000000021
+:103FA0000000000000000000000000000000000011
+:103FB00000000000000000020202020202020202EF
+:103FC00002020202020202000000000000000000E3
+:103FD00000000000000000000000000000000000E1
+:103FE00000000000000000000000000000000000D1
+:103FF00000000000000000000000000000000000C1
+:1040000000000000000000000000000000000000B0
+:1040100000000000000000000000000000000000A0
+:104020000000000000000000000000000000000090
+:104030000000000000000000000000000000000080
+:104040000000000000000000000000000000000070
+:104050000000000000000000000000000000000060
+:104060000000000000000000000000000000000050
+:104070000000000000000000000000000000000040
+:104080000000000000000000000000000000000030
+:104090000000000000000000000000000000000020
+:1040A0000000000000000000000000000000000010
+:1040B00000000000000000020202020202020202EE
+:1040C00002020202020202000000000000000000E2
+:1040D00000000000000000000000000000000000E0
+:1040E00000000000000000000000000000000000D0
+:1040F00000000000000000000000000000000000C0
+:1041000000000000000000000000000000000000AF
+:10411000000000000000000000000000000000009F
+:10412000000000000000000000000000000000008F
+:10413000000000000000000000000000000000007F
+:10414000000000000000000000000000000000006F
+:10415000000000000000000000000000000000005F
+:10416000000000000000000000000000000000004F
+:10417000000000000000000000000000000000003F
+:10418000000000000000000000000000000000002F
+:10419000000000000000000000000000000000001F
+:1041A000000000000000000000000000000000000F
+:1041B00000000000000000000000000000000000FF
+:1041C00000000000000000000000000000000000EF
+:1041D00000000000000000310000000000000000AE
+:1041E00000000000000000000100000000000000CE
+:1041F00000000000000000000000000000010000BE
+:1042000000000000000000000000000000010000AD
+:10421000000000000000000000000100000001009C
+:10422000000000000000000000000000000000008E
+:10423000000000000000000000000000000100007D
+:10424000000000000000000000000000000000006E
+:10425000000000000000000000000000000000005E
+:10426000000000000000000000000000000100004D
+:10427000000000000000000000000000000000003E
+:10428000000000000000000000000000000100002D
+:10429000000000000000000000000000000000001E
+:1042A000000000000000000000000000000100000D
+:1042B00000000000000000000000000000000000FE
+:1042C00000000000000000000000000000000000EE
+:1042D00000000000000000000000000000000000DE
+:1042E00000000000000000010100000000000000CC
+:1042F00000000000000000000000000000010000BD
+:1043000000000000000000000000010000010100AA
+:10431000000000000000000000000100000001009B
+:10432000000000000000000000000000000100008C
+:10433000000000000000000000000000000100007C
+:10434000000000000000000000000000000100006C
+:10435000000000000000000000000000000100005C
+:10436000000000000000000000000000000100004C
+:10437000000000000000000000000000000100003C
+:10438000000000000000000000000000000100002C
+:10439000000000000000000000000000000000001D
+:1043A000000000000000000000000000000100000C
+:1043B00000000000000000000000000000000000FD
+:1043C00000000000000000000000000000000000ED
+:1043D00000000000000000000000000000000000DD
+:1043E00000000000000000010101000000000000CA
+:1043F00000000000000000000000000000010000BC
+:1044000000000000000000000000010000010100A9
+:104410000000000000000000000001010100010098
+:104420000000000000000000000001000001010089
+:10443000000000000000000000000000000100007B
+:10444000000000000000000000000000000100006B
+:10445000000000000000000000000000000100005B
+:10446000000000000000000000000000000100004B
+:10447000000000000000000000000000000100003B
+:104480000000000000000000000001000001010029
+:10449000000000000000000000000000000000001C
+:1044A000000000000000000000000000000100000B
+:1044B00000000000000000000000000000000000FC
+:1044C00000000000000000000000000000000000EC
+:1044D00000000000000000000000000000000000DC
+:1044E00000000000000000010101010100000000C7
+:1044F00000000000000000000000000000010000BB
+:1045000000000000000000000000010101010100A6
+:104510000000000001010000010001010100010094
+:104520000000000000000000000001000001010088
+:104530000000000000000000000001000001010078
+:10454000000000000000000000000000000100006A
+:104550000000000000000000000001000001010058
+:10456000000000000000000000000000000100004A
+:104570000000000000000000000000000001010039
+:104580000000000000000000000001000001010028
+:10459000000000000000000000000000000000001B
+:1045A000000000000000000000000000000100000A
+:1045B00000000000000000000000000000000000FB
+:1045C00000000000000000000000000000000000EB
+:1045D00000000000000000000000000000000000DB
+:1045E00000000000010100010101010100000000C4
+:1045F00000000000000000000000010000010100B8
+:1046000000000000000000000100010101010100A4
+:104610000000000001010100010001010100010092
+:104620000000000000000000000001010101010085
+:104630000000000000000000000001000001010077
+:104640000000000000000000000000000001000069
+:104650000000000000000000000001000001010057
+:104660000000000000000000000001000001010047
+:104670000000000000000000000000000001010038
+:104680000000000000000000000001010101010025
+:10469000000000000000000000000000000000001A
+:1046A0000000000000000000000000000001000009
+:1046B00000000000000000000000000000010000F9
+:1046C00000000000000000000000000000000000EA
+:1046D00000000000000000000000000000000000DA
+:1046E00000000000010101010101010100000000C2
+:1046F00000000000000000000000010000010100B7
+:1047000000000000000000000100010101010100A3
+:10471000000000010101010001010101010001008F
+:104720000000000001000000000001010101010083
+:104730000000000000000000000001010101010074
+:104740000000000000000000000000000001000068
+:104750000000000000000000000001010101010054
+:104760000000000000000000000001000001010046
+:104770000000000000000000000001010101010034
+:104780000000000000000000010101010101010022
+:104790000000000000000000000000000000000019
+:1047A0000000000000000000000000000001000008
+:1047B00000000000000000000000000000010000F8
+:1047C00000000000000000000000000000000000E9
+:1047D00000000000000000000000000000000000D9
+:1047E00000000000010101010101010100000000C1
+:1047F00000000000000000000000010100010100B5
+:10480000000100000100000001010101010101009F
+:10481000000000010101010101010101010001008D
+:104820000000000001000000000001010101010082
+:104830000000000001000000000001010101010072
+:104840000000000000000000000000000001000067
+:104850000000000001010000000001010101010051
+:104860000000000000000000000001010101010043
+:104870000000000000000000010001010101010032
+:10488000000000000000010101010101010101001F
+:104890000000000000000000000000000000000018
+:1048A0000000000000000000000001000001010005
+:1048B00000000000000000000000000000010000F7
+:1048C00000000000000000000000000000000000E8
+:1048D00000000000000000000000000000000000D8
+:1048E00000000000010101010101010100000000C0
+:1048F00000000000000000000000010100010100B4
+:10490000000100000100010001010101010101009D
+:10491000000101010101010101010101010001008A
+:10492000000100010101000001010101010101007C
+:104930000000000001000000000001010101010071
+:104940000000000000000000000001000001010064
+:104950000000000001010000000001010101010050
+:104960000000000001000000010001010101010040
+:10497000000000000000010101000101010101002F
+:10498000000000000101010101010101010101001C
+:104990000000000000000000000000000000000017
+:1049A0000000000000000000000001000001010004
+:1049B00000000000000000000000000000010000F6
+:1049C00000000000000000000000000000000000E7
+:1049D00000000000000000000000000000000000D7
+:1049E00000010101010101010101010100000000BC
+:1049F00000000000000000000000010101010100B2
+:104A0000000101000101010001010101010101009A
+:104A10000001010101010101010101010101010088
+:104A20000001000101010101010101010101010079
+:104A3000000100000101000001010101010101006C
+:104A40000000000000000000000001000001010063
+:104A5000000100010101000001010101010101004B
+:104A6000000000000100010001000101010101003E
+:104A7000000000000101010101010101010101002B
+:104A8000000000000101010101010101010101001B
+:104A90000000000000000000000000000000000016
+:104AA0000000000000000000000001010101010001
+:104AB00000000000000000000000000000010100F4
+:104AC00000000000000000000000000000000000E6
+:104AD00000000000000000000000000000010000D5
+:104AE00000010101010101010101010101000000BA
+:104AF00000000000000000000000010101010100B1
+:104B00000001010001010101010101010101010098
+:104B10000001010101010101010101010101010087
+:104B20000001010101010101010101010101010077
+:104B3000000100000101010001010101010101006A
+:104B40000000000000000000000001010101010060
+:104B50000001000101010101010101010101010048
+:104B6000000000000101010001010101010101003B
+:104B7000000000000101010101010101010101002A
+:104B80000001010101010101010101010101010017
+:104B90000000000000000000000000000001000014
+:104BA00000000000000000000100010101010100FF
+:104BB00000000000000000000000000000010100F3
+:104BC00000000000000000000000000000000000E5
+:104BD00000000000000000000000000000010000D4
+:104BE00000010101010101010101010101000000B9
+:104BF00000000000000000000000010101010100B0
+:104C00000001010101010101010101010101010096
+:104C10000101010101010101010101010101010085
+:104C20000101010101010101010101010101010075
+:104C30000001010101010100010101010101010067
+:104C4000000000000000000000000101010101005F
+:104C50000001010101010101010101010101010046
+:104C60000000000001010101010101010101010039
+:104C70000001000101010101010101010101010027
+:104C80000001010101010101010101010101010016
+:104C90000000000000000000000000000001000013
+:104CA00000000000000001000100010101010100FD
+:104CB00000000000000001000000010101010101ED
+:104CC00000000000000000000000000000000000E4
+:104CD00000000000000000000000010101010000D0
+:104CE00001010101010101010101010101010000B6
+:104CF00000010000010000000101010101010100AB
+:104D00000001010101010101010101010101010095
+:104D10000101010101010101010101010101010084
+:104D20000101010101010101010101010101010074
+:104D30000101010101010101010101010101010064
+:104D4000000000000000000000000101010101005E
+:104D50000001010101010101010101010101010045
+:104D60000001010101010101010101010101010035
+:104D70000001000101010101010101010101010026
+:104D80000001010101010101010101010101010015
+:104D90000000000000000000000000000001000012
+:104DA00000010000010101000101010101010100F8
+:104DB00000000000000001000100010101010101EB
+:104DC00000000000000000000000000000000000E3
+:104DD00000000000000000000101010101010000CD
+:104DE00001010101010101010101010101010001B4
+:104DF00000010000010000000101010101010100AA
+:104E00000001010101010101010101010101010094
+:104E10000101010101010101010101010101010083
+:104E20000101010101010101010101010101010073
+:104E30000101010101010101010101010101010063
+:104E4000000000000100000001010101010101005A
+:104E50000001010101010101010101010101010044
+:104E60000001010101010101010101010101010034
+:104E70000001010101010101010101010101010024
+:104E80000101010101010101010101010101010013
+:104E90000000000000000000000000000001000011
+:104EA00000010000010101010101010101010100F6
+:104EB00000000000000001000100010101010101EA
+:104EC00000000000000000010000000000000000E1
+:104ED00000000000000001000101010101010000CB
+:104EE00001010101010101010101010101010001B3
+:104EF00000010100010000000101010101010100A8
+:104F00000101010101010101010101010101010092
+:104F10000101010101010101010101010101010082
+:104F20000101010101010101010101010101010171
+:104F30000101010101010101010101010101010062
+:104F40000000000001000101010101010101010057
+:104F50000101010101010101010101010101010042
+:104F60000001010101010101010101010101010033
+:104F70000101010101010101010101010101010022
+:104F80000101010101010101010101010101010012
+:104F90000000000000000000000000000001000010
+:104FA00000010101010101010101010101010100F3
+:104FB00000010100010101000101010101010101E4
+:104FC00000000000000000010000000000000000E0
+:104FD00000000000010101000101010101010000C8
+:104FE00001010101010101020201010101010001B0
+:104FF00000010100010001000101010101010100A6
+:105000000101010101010101010101010101010190
+:105010000101010101010101010101010101010180
+:105020000101010101010101010101010101010170
+:105030000101010101010101010101010101010061
+:105040000001010001010101010101010101010053
+:105050000101010101010101010101010101010041
+:105060000101010101010101010101010101010031
+:105070000101010101010101010101010101010120
+:105080000101010101010101010101010101010011
+:10509000000000000000000000000000000100000F
+:1050A00001010101010101010101010101010100F1
+:1050B00000010100010101010101010101010101E2
+:1050C00001000000000000010000000000010000DD
+:1050D00000000000010101000101010101010101C5
+:1050E00001010101020201020202010101010001AC
+:1050F00000010100010101000101010101010101A3
+:10510000010101010101010101010101010101018F
+:10511000010101010101010101010101010101017F
+:10512000010101010101010101010101010101016F
+:105130000101010101010101010101010101010060
+:105140000001010001010101010101010101010151
+:105150000101010101010101010101010101010040
+:10516000010101010101010101010101010101012F
+:10517000010101010101010101010101010101011F
+:105180000101010101010101010101010101010010
+:10519000000000000000000000000000000100000E
+:1051A00001010101010101010101010101010100F0
+:1051B00000010101010101010101010101010101E0
+:1051C00001000000000000010000000000010000DC
+:1051D00001010101010101000101010101010102BF
+:1051E00002020202020202020202010101010002A5
+:1051F00000010100010101010101010101010101A1
+:10520000010101010101010101010101010101018E
+:10521000010101010101010101010101010101017E
+:10522000010101010101010101010101010101016E
+:10523000010101010101010101010101010101005F
+:10524000000101010101010101010101010101014F
+:10525000010101010101010101010101010101003F
+:10526000010101010101010101010101010101012E
+:10527000010101010101010101010101010101011E
+:10528000010101010101010101010101010101000F
+:10529000000000000000000000000000000100000D
+:1052A00001010101010101010101010101010100EF
+:1052B00000010101010101010101010101010102DE
+:1052C00001000000000000010000000000010000DB
+:1052D00001010101010101000101010101010102BE
+:1052E00002020202020202020202020201010002A2
+:1052F000000101010101010101010101010101019F
+:10530000010101010101010101010101010101018D
+:10531000010101010101010101010101010101017D
+:10532000010101010101010101010101010101026C
+:10533000010101010101010101010101010101005E
+:10534000010101010101010101010101010101014D
+:10535000010101010101010101010101010101003E
+:10536000010101010101010101010101010101012D
+:10537000010101010101010101010101010101011D
+:10538000010101010101010101010101010101000E
+:10539000000000000000000000000000000101000B
+:1053A00001010101010101010101010101010100EE
+:1053B00000010101010101010101010101010102DD
+:1053C00001010101000000010000000000010000D7
+:1053D00001010101010101000101010101010102BD
+:1053E00002020202020202020202020201010002A1
+:1053F000010101010101010101010101010201019C
+:10540000010201010101010101010201010101018A
+:10541000010101010101010101010101010101017C
+:10542000010101010101010101010101010101026B
+:105430000202010102010101010102010101010059
+:10544000010101010101010101010101010101014C
+:10545000010101010101010101010101010101013C
+:10546000010101010101010101010101010101012C
+:10547000010101010101010101010101010101011C
+:10548000010101010101010101010101010101000D
+:105490000001000000000000000000000001010108
+:1054A00001010101010101010101010101010101EC
+:1054B00001010101010101010101010101010102DB
+:1054C00001010101000000010000000000010100D5
+:1054D00001010101010101000101010101010102BC
+:1054E00002020202020202020202020201010002A0
+:1054F0000101010101010101010102010102010299
+:105500000102020102010101020102020202020182
+:105510000101010202020101010102010101010276
+:105520000202010202010101010102010101010265
+:105530000202020202020101010102020202020051
+:10554000010101010101010101010101010101014B
+:10555000010101010101010101010101010101013B
+:10556000010101010101010101010101010101012B
+:10557000010101010101010101010101010101011B
+:10558000010101010101010101010101010101000C
+:105590000101000000000000000000000001010106
+:1055A00001010101010101010101010101010101EB
+:1055B00001010101010101010101010101010102DA
+:1055C00001010101010100010000000000010100D2
+:1055D00001010101010101000101010101010102BB
+:1055E000020202020202020202020202020100029E
+:1055F0000102010101010101010102020102020295
+:10560000020202020202020102020202020202027B
+:10561000020202020202020102010202020102026D
+:10562000020202020202010101010202020202025E
+:10563000020202020202020102020202020202004D
+:105640000101010101010101010101010101010249
+:105650000102010202020101010102010102010134
+:105660000101010101010101010101010101010229
+:105670000101010101010101010101010102010119
+:10568000010101010101010101010101010101000B
+:105690000101010001000000010000000001010102
+:1056A00001010101010101010101010101010101EA
+:1056B00001010101010101010101010101010102D9
+:1056C00002010101010101010000010100010100CD
+:1056D00001010101010101000101010101010102BA
+:1056E000020202020202020202020202020100029D
+:1056F0000102020102010101010102020202020291
+:105700000202020202020202020202020202020279
+:10571000020202020202020202020202020102026A
+:105720000202020202020202020202020202020259
+:10573000020202020202020202020202020202014A
+:105740000101010101010101010101010102010247
+:10575000020202020202010101010202020202012E
+:105760000101010101010101010101010102010227
+:10577000020201020202020202010202020202020B
+:105780000101010101010101010102010102010107
+:1057900001010100010001010100010100010101FD
+:1057A00001010101010101010101010101020101E8
+:1057B00001010101010101010101010101010102D8
+:1057C00002010101010101010000010100010100CC
+:1057D00001010101010101000101010101010102B9
+:1057E000020202020202020202020202020100029C
+:1057F000020202010201010102020202020202028D
+:105800000202020202020202020202020202020278
+:105810000202020202020202020202020201020269
+:105820000202020202020202020202020202020258
+:105830000202020202020202020202020202020149
+:105840000101010101010101010101010102010246
+:105850000202020202020202020202020202020129
+:105860000101010102010101010102010102010224
+:105870000202020202020202020202020202020208
+:1058800002020202020202020202020202020201F9
+:1058900001010101010101010101010100010101F9
+:1058A00001010101010101010101010101020101E7
+:1058B00001010101010101010101010101010102D7
+:1058C00002010101010101020000010101010100C9
+:1058D00000010101010101000101010101010102B9
+:1058E000020202020202020202020202020200029A
+:1058F0000202020202020201020202020202020289
+:105900000202020202020202020202020202020277
+:105910000202020202020202020202020201020268
+:105920000202020202020202020202020202020257
+:105930000202020202020202020202020202020148
+:105940000101010101010101010102010102010244
+:105950000202020202020202020202020202020227
+:105960000202020202020201020102020202020219
+:105970000202020202020202020202020202020207
+:1059800002020202020202020202020202020202F7
+:1059900001010101010101010101010101010102F6
+:1059A00002020101010101010101020101020101E3
+:1059B00001010101010101010101010101010102D6
+:1059C00002020202010101020101010101010100C3
+:1059D00000010101010101000101010101010102B8
+:1059E0000202020202020202020202020202000299
+:1059F0000202020202020202020202020202020287
+:105A00000202020202020202020202020202020276
+:105A10000202020202020202020202020201020267
+:105A20000202020202020202020202020202020256
+:105A30000202020202020202020202020202020246
+:105A4000020202010201010101010202020202023C
+:105A50000202020202020202020202020202020226
+:105A60000202020202020202020202020202020216
+:105A70000202020202020202020202020202020206
+:105A800002020202020202020202020202020202F6
+:105A900002010101010101010101010101020102F3
+:105AA00002020202020202010201020202020202D8
+:105AB00001010101010101010101010101020102D4
+:105AC00002020202010101020101010101010100C2
+:105AD00000010101010101010101010101010102B6
+:105AE0000202020202020202020202020202000298
+:105AF0000202020202020202020202020202020286
+:105B00000202020202020202020202020202020275
+:105B10000202020202020202020202020202020265
+:105B20000202020202020202020202020202020255
+:105B30000202020202020202020202020202020245
+:105B40000202020202020202020202020202020235
+:105B50000202020202020202020202020202020225
+:105B60000202020202020202020202020202020215
+:105B70000202020202020202020202020202020205
+:105B800002020202020202020202020202020202F5
+:105B900002020101010101010101010101020102F1
+:105BA00002020202020202020202020202020202D5
+:105BB00001020201010102010101010101020102D0
+:105BC00002020202020201020101010101020100BE
+:105BD00000000000000000010000000000000102C1
+:105BE0000202020202020202020202020202000297
+:105BF0000202020202020202020202020202020285
+:105C00000202020202020202020202020202020274
+:105C10000202020202020202020202020202020264
+:105C20000202020202020202020202020202020254
+:105C30000202020202020202020202020202020244
+:105C40000202020202020202020202020202020234
+:105C50000202020202020202020202020202020224
+:105C60000202020202020202020202020202020214
+:105C70000202020202020202020202020202020204
+:105C800002020202020202020202020202020202F4
+:105C900002020201010101010101010101020102EF
+:105CA00002020202020202020202020202020202D4
+:105CB00002020202020202010201020202020202C6
+:105CC00002020202020202020101010101020100BC
+:105CD00002020202020202010202020202020102A6
+:105CE0000202020202020202020202020202000296
+:105CF0000202020202020202020202020202020284
+:105D00000202020202020202020202020202020273
+:105D10000202020202020202020202020202020263
+:105D20000202020202020202020202020202020253
+:105D30000202020202020202020202020202020243
+:105D40000202020202020202020202020202020233
+:105D50000202020202020202020202020202020223
+:105D60000202020202020202020202020202020213
+:105D70000202020202020202020202020202020203
+:105D800002020202020202020202020202020202F3
+:105D900002020202020101010101010101020102EC
+:105DA00002020202020202020202020202020202D3
+:105DB00002020202020202020202020202020202C3
+:105DC00002020202020202020101020201020200B8
+:105DD00002020202020202010202020202020102A5
+:105DE0000202020202020202020202020202000295
+:105DF0000202020202020202020202020202020283
+:105E00000202020202020202020202020202020272
+:105E10000202020202020202020202020202020262
+:105E20000202020202020202020202020202020252
+:105E30000202020202020202020202020202020242
+:105E40000202020202020202020202020202020232
+:105E50000202020202020202020202020202020222
+:105E60000202020202020202020202020202020212
+:105E70000202020202020202020202020202020202
+:105E800002020202020202020202020202020202F2
+:105E900002020202020202020201010101020202E6
+:105EA00002020202020202020202020202020202D2
+:105EB00002020202020202020202020202020202C2
+:105EC00002020202020202020202020202020200B4
+:105ED00002020202020202010202020202020002A5
+:105EE0000202020202020202020202020202000294
+:105EF0000202020202020202020202020202020282
+:105F00000202020202020202020202020202020271
+:105F10000202020202020202020202020202020261
+:105F20000202020202020202020202020202020251
+:105F30000202020202020202020202020202020241
+:105F40000202020202020202020202020202020231
+:105F50000202020202020202020202020202020221
+:105F60000202020202020202020202020202020211
+:105F70000202020202020202020202020202020201
+:105F800002020202020202020202020202020202F1
+:105F900002020202020202020202020201020202E2
+:105FA00002020202020202020202020202020202D1
+:105FB00002020202020202020202020202020202C1
+:105FC00002020202020202020202020202020202B1
+:105FD00002020202020202010202020202020202A2
+:105FE0000202020202020202020202020202000293
+:105FF0000202020202020202020202020202020281
+:106000000202020202020202020202020202020270
+:106010000202020202020202020202020202020260
+:106020000202020202020202020202020202020250
+:106030000202020202020202020202020202020240
+:106040000202020202020202020202020202020230
+:106050000202020202020202020202020202020220
+:106060000202020202020202020202020202020210
+:106070000202020202020202020202020202020200
+:1060800002020202020202020202020202020202F0
+:1060900002020202020202020202020202020202E0
+:1060A00002020202020202020202020202020202D0
+:1060B00002020202020202020202020202020202C0
+:1060C00002020202020202020202020202020202B0
+:1060D00002020202020202010202020202020201A2
+:1060E000010101010101010101010202020201029B
+:1060F0000202020202020202020202020202020280
+:10610000020202020202020202020202020202026F
+:10611000020202020202020202020202020202025F
+:10612000020202020202020202020202020202024F
+:10613000020202020202020202020202020202023F
+:10614000020202020202020202020202020202022F
+:10615000020202020202020202020202020202021F
+:10616000020202020202020202020202020202020F
+:1061700002020202020202020202020202020202FF
+:1061800002020202020202020202020202020202EF
+:1061900002020202020202020202020202020202DF
+:1061A00002020202020202020202020202020202CF
+:1061B00002020202020202020202020202020202BF
+:1061C00002020202020202020202020202020202AF
+:1061D00002020202020202000202020202020201A2
+:1061E000010101010101010101010101010201029D
+:1061F000020202020202020202020202020202027F
+:10620000020202020202020202020202020202026E
+:10621000020202020202020202020202020202025E
+:10622000020202020202020202020202020202024E
+:10623000020202020202020202020202020202023E
+:10624000020202020202020202020202020202022E
+:10625000020202020202020202020202020202021E
+:10626000020202020202020202020202020202020E
+:1062700002020202020202020202020202020202FE
+:1062800002020202020202020202020202020202EE
+:1062900002020202020202020202020202020202DE
+:1062A00002020202020202020202020202020202CE
+:1062B00002020202020202020202020202020202BE
+:1062C00002020202020202020202020202020202AE
+:1062D000020202020202020202020202020202019F
+:1062E000010101010101010101010101010101029D
+:1062F000020202020202020202020202020202027E
+:10630000020202020202020202020202020202026D
+:10631000020202020202020202020202020202025D
+:10632000020202020202020202020202020202024D
+:10633000020202020202020202020202020202023D
+:10634000020202020202020202020202020202022D
+:10635000020202020202020202020202020202021D
+:10636000020202020202020202020202020202020D
+:1063700002020202020202020202020202020202FD
+:1063800002020202020202020202020202020202ED
+:1063900002020202020202020202020202020202DD
+:1063A00002020202020202020202020202020202CD
+:1063B00002020202020202020202020202020202BD
+:1063C00002020202020202020202020202020202AD
+:1063D000020202020202020202020202020202019E
+:1063E000010101010101010101010101010101009E
+:1063F000020202020202020202020202020202027D
+:10640000020202020202020202020202020202026C
+:10641000020202020202020202020202020202025C
+:10642000020202020202020202020202020202024C
+:10643000020202020202020202020202020202023C
+:10644000020202020202020202020202020202022C
+:10645000020202020202020202020202020202021C
+:10646000020202020202020202020202020202020C
+:1064700002020202020202020202020202020202FC
+:1064800002020202020202020202020202020202EC
+:1064900002020202020202020202020202020202DC
+:1064A00002020202020202020202020202020202CC
+:1064B00002020202020202020202020202020202BC
+:1064C00002020202020202020202020202020202AC
+:1064D000020202020202020202020202020202019D
+:1064E000010101010101010101010101010101019C
+:1064F000000000000000000000000000000000029A
+:10650000020202020202020202020202020202026B
+:10651000020202020202020202020202020202025B
+:10652000020202020202020202020202020202004D
+:106530000000000000000000000000000002000257
+:10654000020202020202020202020202020202022B
+:10655000020202020202020202020202020202021B
+:10656000020202020202020202020202020202020B
+:1065700002020202020202020202020202020202FB
+:1065800002020202020202020202020202020202EB
+:1065900002020202020202020202020202020202DB
+:1065A00002020202020202020202020202020202CB
+:1065B00002020202020202020202020202020202BB
+:1065C00002020202020202020202020202020202AB
+:1065D000020202020202020202020202020202019C
+:1065E000010101010101010101010101010101019B
+:1065F000010101010101010101010101010101028A
+:10660000020202020202020202020202020202026A
+:10661000020202020202020202020202020202025A
+:10662000020202020202020202020202020202004C
+:106630000000000000000000000000000002000256
+:10664000020202020202020202020202020202022A
+:10665000020202020202020202020202020202021A
+:10666000020202020202020202020202020202020A
+:1066700002020202020202020202020202020202FA
+:1066800002020202020202020202020202020202EA
+:1066900002020202020202020202020202020202DA
+:1066A00002020202020202020202020202020202CA
+:1066B00002020202020202020202020202020202BA
+:1066C00002020202020202020202020202020202AA
+:1066D000020202020202020202020202020202019B
+:1066E000010101010101010101010101010101019A
+:1066F000010101010101010101010101010101008B
+:106700000000000000000000000000000002000285
+:10671000020202020202020202020202020202005B
+:106720000000000000000000000000000002000067
+:106730000000000000000000000000000002000255
+:106740000202020202020202020202020202020229
+:106750000202020202020202020202020202020219
+:106760000202020202020202020202020202020209
+:1067700002020202020202020202020202020202F9
+:1067800002020202020202020202020202020202E9
+:1067900002020202020202020202020202020202D9
+:1067A00002020202020202020202020202020202C9
+:1067B00002020202020202020202020202020201BA
+:1067C00001010101010101010101010101010102B8
+:1067D000020202020202020202020202020202019A
+:1067E0000101010101010101010101010101010199
+:1067F0000101010101010101010101010101010189
+:106800000101010101010101010101010101010277
+:106810000202020202020202020202020202020159
+:106820000101010101010101010101010101010059
+:106830000000000000000000000000000000000256
+:106840000202020202020202020202020202020129
+:106850000101010101010101010101010101010227
+:106860000202020202020202020202020202020109
+:106870000101010101010101010101010101010207
+:1068800002020202020202020202020202020201E9
+:1068900001010101010101010101010101010102E7
+:1068A00002020202020202020202020202020202C8
+:1068B00002020202020202020202020202020202B8
+:1068C00002020202020202020202020202020202A8
+:1068D0000202020202020202020202020202020199
+:1068E0000101010101010101010101010101010198
+:1068F0000101010101010101010101010101010188
+:106900000101010101010101010101010101010177
+:106910000101010101010101010101010102010166
+:106920000101010101010101010101010101010157
+:106930000101010101010101010101010101010246
+:106940000202020202020202020202020202020227
+:106950000202020202020202020202020202020217
+:106960000202020202020202020202020202020207
+:1069700002020202020202020202020202020202F7
+:1069800002020202020202020202020202020202E7
+:1069900002020202020202020202020202020202D7
+:1069A00002020202020202020202020202020202C7
+:1069B00002020202020202020202020202020200B9
+:1069C00000000000000000000000000000000002C5
+:1069D0000202020202020202020202020202020198
+:1069E0000101010101010101010101010101010197
+:1069F0000101010101010101010101010101010187
+:106A00000101010101010101010101010101010176
+:106A10000101010101010101010101010101010166
+:106A20000101010101010101010101010101010156
+:106A30000101010101010101010101010101010146
+:106A40000101010101010101010101010101010037
+:106A50000000000000000000000000000000000234
+:106A60000202020202020202020202020202020008
+:106A70000000000000000000000000000000000214
+:106A800002020202020202020202020202020200E8
+:106A900000000000000000000000000000000002F4
+:106AA00002020202020202020202020202020202C6
+:106AB00002020202020202020202020202020200B8
+:106AC00000000000000000000000000000000002C4
+:106AD0000202020202020202020202020202020197
+:106AE0000101010101010101010101010101010196
+:106AF0000101010101010101010101010101010186
+:106B00000101010101010101010101010101010175
+:106B10000101010101010101010101010101010165
+:106B20000101010101010101010101010101010155
+:106B30000101010101010101010101010101010145
+:106B40000101010101010101010101010101010135
+:106B50000101010101010101010101010101010125
+:106B60000101010101010101010101010101010016
+:106B70000000000000000000000000000000000015
+:106B80000000000000000000000000000000000005
+:106B900000000000000000000000000000000001F4
+:106BA00001010101010101010101010101010102D4
+:106BB00002020202020202020202020202020201B6
+:106BC00001010101010101010101010101010102B4
+:106BD0000202020202020202020202020202020196
+:106BE0000101010101010101010101010101010195
+:106BF0000101010101010101010101010101010185
+:106C00000101010101010101010101010101010174
+:106C10000101010101010101010101010101010164
+:106C20000101010101010101010101010101010154
+:106C30000101010101010101010101010101010144
+:106C40000101010101010101010101010101010134
+:106C50000101010101010101010101010101010124
+:106C60000101010101010101010101010101010114
+:106C70000101010101010101010101010101010104
+:106C800001010101010101010101010101010100F5
+:106C900000000000000000000000000000000002F2
+:106CA00002020202020202020202020202020202C4
+:106CB00002020202020202020202020202020201B5
+:106CC00001010101010101010101010101010102B3
+:106CD0000202020202020202020202020202020195
+:106CE0000101010101010101010101010101010194
+:106CF0000101010101010101010101010101010184
+:106D00000101010101010101010101010101010173
+:106D10000101010101010101010101010101010163
+:106D20000101010101010101010101010101010153
+:106D30000101010101010101010101010101010143
+:106D40000101010101010101010101010101010133
+:106D50000101010101010101010101010101010123
+:106D60000101010101010101010101010101010113
+:106D70000101010101010101010101010101010103
+:106D800001010101010101010101010101010101F3
+:106D900001010101010101010101010101010101E3
+:106DA00001010101010101010101010101010101D3
+:106DB00001010101010101010101010101010101C3
+:106DC00001010101010101010101010101010100B4
+:106DD00000000000000000000000000000000001B2
+:106DE0000101010101010101010101010101010193
+:106DF0000101010101010101010101010101010183
+:106E00000101010101010101010101010101010172
+:106E10000101010101010101010101010101010162
+:106E20000101010101010101010101010101010152
+:106E30000101010101010101010101010101010142
+:106E40000101010101010101010101010101010132
+:106E50000101010101010101010101010101010122
+:106E60000101010101010101010101010101010112
+:106E70000101010101010101010101010101010102
+:106E800001010101010101010101010101010101F2
+:106E900001010101010101010101010101010101E2
+:106EA00001010101010101010101010101010101D2
+:106EB00001010101010101010101010101010101C2
+:106EC00001010101010101010101010101010100B3
+:106ED00000000000000000000000000000000000B2
+:106EE00000000000000000000000000000000000A2
+:106EF0000000000000000000000000000000000092
+:106F00000000000000000000000000000000000081
+:106F1000000000000000000000000000000000026F
+:106F20000202020202020202020202020202020241
+:106F30000202020202020202020202020202020231
+:106F40000202020202020202020202020202020221
+:106F50000202020202020202020202020202020211
+:106F60000202020202020202020202020202020201
+:106F700002020202020202020202020202020202F1
+:106F800002020202020202020202020202020202E1
+:106F900002020202020202020202020202020202D1
+:106FA00002020202020202020202020202020202C1
+:106FB00002020202020202020202020202020202B1
+:106FC00002020202020202020202020202020200A3
+:106FD00000000000000000000000000000000000B1
+:106FE00000000000000000000000000000000000A1
+:106FF0000000000000000000000000000000000091
+:107000000000000000000000000000000000000080
+:107010000000000000000000000000000000000070
+:107020000000000000000000000000000000000060
+:107030000000000000000000000000000000000050
+:107040000000000000000000000000000000000040
+:107050000000000000000000000000000000000030
+:107060000000000000000000000000000000000020
+:107070000000000000000000000000000000000010
+:107080000000000000000000000000000000000000
+:1070900000000000000000000000000000000000F0
+:1070A00000000000000000000000000000000000E0
+:1070B00000000000000000000000000000000002CE
+:1070C00002020202020202020202020202020200A2
+:1070D00000000000000000000000000000000000B0
+:1070E00000000000000000000000000000000000A0
+:1070F0000000000000000000000000000000000090
+:10710000000000000000000000000000000000007F
+:10711000000000000000000000000000000000006F
+:10712000000000000000000000000000000000005F
+:10713000000000000000000000000000000000004F
+:10714000000000000000000000000000000000003F
+:10715000000000000000000000000000000000002F
+:10716000000000000000000000000000000000001F
+:10717000000000000000000000000000000000000F
+:1071800000000000000000000000000000000000FF
+:1071900000000000000000000000000000000000EF
+:1071A00000000000000000000000000000000000DF
+:1071B00000000000000000000000000000000002CD
+:1071C00002020202020202020202020202020200A1
+:1071D00000000000000000000000000000000000AF
+:1071E000000000000000000000000000000000009F
+:1071F000000000000000000000000000000000008F
+:10720000000000000000000000000000000000007E
+:10721000000000000000000000000000000000006E
+:10722000000000000000000000000000000000005E
+:10723000000000000000000000000000000000004E
+:10724000000000000000000000000000000000003E
+:10725000000000000000000000000000000000002E
+:10726000000000000000000000000000000000001E
+:10727000000000000000000000000000000000000E
+:1072800000000000000000000000000000000000FE
+:1072900000000000000000000000000000000000EE
+:1072A00000000000000000000000000000000000DE
+:1072B00000000000000000000000000000000000CE
+:1072C00000000000000000000000000000000000BE
+:1072D000000000000000000000000000000000317D
+:1072E000000000000000000000000000000000009E
+:1072F000000000000000000000000000000000008E
+:10730000000000000000000000000000000000007D
+:10731000000000000000000000000000000000006D
+:10732000000000000000000000000000000000005D
+:10733000000000000000000000000000000000004D
+:10734000000000000000000000000000000000003D
+:10735000000000000000000000000000000000002D
+:10736000000000000000000000000000000000001D
+:10737000000000000000000000000000000000000D
+:1073800000000000000000000000000000000000FD
+:1073900000000000000001000000000000000000EC
+:1073A00000000000000000000000000000000000DD
+:1073B00000000000000000000000000000000000CD
+:1073C00000000000000000000000000000000000BD
+:1073D00000000000000000000000000000000000AD
+:1073E000000000000000000000000000000000009D
+:1073F000000000000000000000000000000000008D
+:10740000000000000001000000000000000000007B
+:10741000000000000001000000000000000000006B
+:10742000000000000000010000000000000000005B
+:10743000000000000000000000000000000000004C
+:10744000000000000000000000000000000000003C
+:10745000000000000000000000000000000000002C
+:10746000000000000000000000000000000000001C
+:10747000000000000000000000000000000000000C
+:1074800000000000000000000000000000000001FB
+:1074900000000000000101000000000000000000EA
+:1074A00000000000000000000000000000000000DC
+:1074B00000000000000000000000000000000000CC
+:1074C00000000000000100000000000000000000BB
+:1074D00000000000000001000000000000000000AB
+:1074E000000000000000000000000000000000009C
+:1074F000000000000000000000000000000000008C
+:107500000000000000010100000000000000000079
+:107510000000010000010100000000000000000068
+:107520000000000000010100000000000000000059
+:10753000000000000000000000000000000000004B
+:10754000000000000000000000000000000000003B
+:10755000000000000000000000000000000000002B
+:10756000000000000000000000000000000000001B
+:10757000000000000000000000000000000000000B
+:1075800000000000000000000000000000000001FA
+:1075900000000101010101000000000000000000E6
+:1075A00000000000000000000000000000000000DB
+:1075B00000000000000000000000000000000000CB
+:1075C00000000000000101000000000000000000B9
+:1075D00000000000000001000000000000000000AA
+:1075E000000000000000000000000000000000009B
+:1075F000000000000000000000000000000000008B
+:107600000000000000010100000000000000000078
+:107610000000010000010100000000000000000067
+:107620000000010100010100000000000000000056
+:10763000000000000000000000000000000000004A
+:10764000000000000000000000000000000000003A
+:10765000000000000000000000000000000000002A
+:10766000000000000000000000000000000000001A
+:10767000000000000000000000000000000000000A
+:1076800000000000000000000000000000000001F9
+:1076900001000101010101000000000000000000E4
+:1076A00000000000000000000000000000000000DA
+:1076B00000000000000000000000000000000000CA
+:1076C00000000000000101000000000000000000B8
+:1076D00000000000000001000000000000000000A9
+:1076E0000000000000000000000000000000000199
+:1076F0000100000000000000000000000000000089
+:107700000000010100010100000000000000000075
+:107710000000010101010100000000000000000163
+:107720000100010100010100000000000000000054
+:107730000000000000000000000000000000000049
+:107740000000000000010000000000000000000038
+:107750000000000000000100000000000000000028
+:107760000000000000000000000000000000000019
+:107770000000000000000000000000000000000009
+:1077800000000000000000000000000000010001F7
+:1077900001000101010101000000000000000000E3
+:1077A00000000000000000000000000000000000D9
+:1077B00000000000000000000000000000000000C9
+:1077C00000000101000101000000000000000000B5
+:1077D00000000000000101000000000000000000A7
+:1077E0000000000000000000000000000001000197
+:1077F0000100000000000000000000000000000187
+:107800000100010100010100000000000000000172
+:107810000100010101010100000000000000010160
+:107820000100010101010100000000000000000052
+:107830000000000000010000000000000000000047
+:107840000000000000010100000000000000000036
+:107850000000000000010100000000000000000026
+:107860000000000000000000000000000000000018
+:107870000000000000000000000000000000000008
+:1078800000000000000000000000000001010001F5
+:1078900001010101010101000000000000000000E1
+:1078A00000000000000000000000000000000000D8
+:1078B00000000000000000000000000000000001C7
+:1078C00001000101000101000000000000000000B3
+:1078D00000000101000101000000000000000000A4
+:1078E0000000000000000000000000000001000196
+:1078F0000100000000000000000000010000000185
+:107900000100010101010100000000000000000170
+:10791000010001010101010000000000010001015E
+:107920000101010101010100000000000000000050
+:107930000000000000010100000000000000000045
+:107940000000000000010100000000000000000035
+:107950000000010101010100000000000000000022
+:107960000000000000010000000000000000000016
+:107970000000000000000000000000000000000007
+:1079800000000000000000000000000101010101F2
+:1079900001010101010101000000000000000000E0
+:1079A00000000000000000000000000000000000D7
+:1079B00000000000000000000000000000000101C5
+:1079C00001000101010101000000000000000000B1
+:1079D00000000101000101000000000000000000A3
+:1079E0000000000000000000000000000001010194
+:1079F0000100000001000000000000010000000183
+:107A0000010101010101010000000000010000016D
+:107A1000010101010101010000000001010101015A
+:107A2000010101010101010000000000000000004F
+:107A30000000000000010100000000000000000044
+:107A40000000010000010100000000000000000132
+:107A50000100010101010100000000000000000020
+:107A60000000000000010100000000000000000014
+:107A70000000000000000000000000000000000006
+:107A800000000000000000000000000101010101F1
+:107A900001010101010101000000000000000000DF
+:107AA00000000000000000000000000000000000D6
+:107AB00000000000000000000000000001000101C3
+:107AC00001010101010101000000000100000000AE
+:107AD00000000101010101000000000000000000A1
+:107AE0000000000000000000000000000101010192
+:107AF0000100000001000000000000010001010180
+:107B00000101010101010100000000010101010169
+:107B10000101010101010100000000010101010159
+:107B2000010101010101010000000000000000004E
+:107B30000000000000010100000000000000000043
+:107B40000000010000010100000000000000000131
+:107B5000010001010101010000000000000000001F
+:107B60000000000000010100000000000000000013
+:107B70000000000000000000000000000000000005
+:107B800000000000000000000000010101010101EF
+:107B900001010101010101000000000000000000DE
+:107BA00000000000000000000000000000000000D5
+:107BB00000000000000000000000000101010101C0
+:107BC00001010101010101000000000101000001AB
+:107BD000010001010101010000000000000000009F
+:107BE000000000000000000000000101010101018F
+:107BF000010000000100000000000001010101017E
+:107C00000101010101010100000000010101010168
+:107C10000101010101010101000000010101010157
+:107C2000010101010101010000000000000000004D
+:107C30000000000000010100000000000000000042
+:107C4000000001010001010000000000010000012E
+:107C5000010101010101010000000000000000001D
+:107C60000000010100010100000000000000000010
+:107C70000000000000000000000000000000000004
+:107C800000000000000100000001010101010101EC
+:107C900001010101010101000000000000000000DD
+:107CA00000000000000100000000000000000000D3
+:107CB00000000000000000000000000101010101BF
+:107CC00001010101010101010000000101010101A7
+:107CD000010001010101010000000000000000009E
+:107CE000000000000000000000010101010101018D
+:107CF000010100000100000000000001010101017C
+:107D00000101010101010101000000010101010166
+:107D10000101010101010101000100010101010155
+:107D2000010101010101010000000000000000004C
+:107D30000000000000010100000000000000000041
+:107D4000000001010001010000000001010101012A
+:107D5000010101010101010000000000000000011B
+:107D6000000001010001010000000000000000000F
+:107D70000000000000000000000000000000000003
+:107D800000000000000101010001010101010101E9
+:107D900001010101010101000000000000000000DC
+:107DA00000000000000101000000000000000000D1
+:107DB00000000000000100000000010101010101BC
+:107DC00001010101010101010101000101010101A4
+:107DD000010101010101010000000000000000009C
+:107DE000000000000000000000010101010101018C
+:107DF000010100010100000000000001010101017A
+:107E00000101010101010101000000010101010165
+:107E10000101010101010101000101010101010153
+:107E2000010101010101010000000000000000004B
+:107E3000000000000001010000000000000100003F
+:107E40000000010101010100000000010101010128
+:107E5000010101010101010000000000000000011A
+:107E6000000001010101010000000000000000000D
+:107E70000000000000000000000000000000000002
+:107E800000000000000101010101010101010101E7
+:107E900001010101010101000000000000000000DB
+:107EA00000000000000101000000000000000000D0
+:107EB00000000000000101000001010101010101B9
+:107EC00001010101010101010101010101010101A2
+:107ED000010101010101010000000000000000009B
+:107EE000000000000000000100010101010101018A
+:107EF0000101000101010000000001010101010177
+:107F00000101010101010101000001010101010163
+:107F10000101010101010101000101010101010152
+:107F2000010101010101010000000000000000004A
+:107F3000000000000001010000000000000100013D
+:107F40000100010101010100000000010101010126
+:107F50000101010101010100000000000100000118
+:107F6000010001010101010000000000000000000B
+:107F70000000000000000000000000000000000001
+:107F800000000100000101010101010101010101E5
+:107F900001010101010101000000000000000000DA
+:107FA00000000100000101000000000000000000CE
+:107FB00000000000000101010001010101010101B7
+:107FC00001010101010101010101010101010101A1
+:107FD000010101010101010000000000000000009A
+:107FE0000000000000000001000101010101010189
+:107FF0000101000101010000000001010101010176
+:108000000101010101010101000101010101010161
+:108010000101010101010101000101010101010151
+:108020000101010101010100000000000000000148
+:10803000010000000001010100000000000100013A
+:108040000100010101010100000100010101010124
+:108050000101010101010100000000010101010114
+:10806000010001010101010000000000000000000A
+:108070000000000000000000000000000000000000
+:1080800000000100000101010101010101010101E4
+:1080900001010101010101000000000000000000D9
+:1080A00000000100000101000000000000000000CD
+:1080B00000000100000101010101010101010101B4
+:1080C00001010101010101010101010101010101A0
+:1080D0000101010101010100000000000000000099
+:1080E0000000000000000001000101010101010188
+:1080F0000101000101010001000001010101010174
+:108100000101010101010101000101010101010160
+:10811000010101010101010101010101010101014F
+:108120000101010101010100000000000000010146
+:108130000100010001010101000000000101000136
+:108140000100010101010100000101010101010122
+:108150000101010101010100000000010101010113
+:108160000101010101010100000000000000000008
+:1081700000000000000100000000000000000000FE
+:1081800000000101010101010101010101010101E1
+:1081900001010101010101000000000000000000D8
+:1081A00000000101000101000000000000000000CB
+:1081B00000000100000101010101010101010101B3
+:1081C000010101010101010101010101010101019F
+:1081D0000101010101010100000000000000000098
+:1081E0000000000000000001000202010102010283
+:1081F0000201000101010001000101010101010171
+:10820000010101010101010100010101010101015F
+:10821000010101010101010101010101010101014E
+:108220000101010101010100000000000000010145
+:108230000101010001010101000000010101010132
+:108240000100010101010100000101010101010121
+:108250000101010101010101000001010101010110
+:108260000101010101010100000000000000000007
+:1082700000000000000101000000000000000001FB
+:1082800001000101010101010101010101010101DF
+:1082900001010101010101000000000000000001D6
+:1082A00000000101000101000000000000000000CA
+:1082B00000000101010101010101010101010101B0
+:1082C000010101010101010101010101010101019E
+:1082D0000101010101010100000000000000000097
+:1082E000000000000000000201020202020202027D
+:1082F0000201000101010001000101010101010170
+:10830000010101010101010100010101010101015E
+:10831000010101010101010101010101010101014D
+:108320000101010101010101000000000001010142
+:10833000010101010101010101010001010101012E
+:10834000010101010101010100010101010101011E
+:10835000010101010101010100010101010101010E
+:108360000101010101010100000000000000000006
+:1083700000000000000101000000000000010001F9
+:1083800001000101010101010101010101010101DE
+:1083900001010101010101000000000100010001D3
+:1083A00000000101010101000000000000000001C7
+:1083B00000000101010101010101010101010101AF
+:1083C000010101010101010101010101010101019D
+:1083D0000101010101010100020000000000000094
+:1083E000000000000000000201020202020202027C
+:1083F000020100010201000100010101010101016E
+:10840000010101010101010101010101010101015C
+:10841000010101010101010101010101010101014C
+:10842000010101010101010101000000010101013F
+:10843000010101010101010101010101010101012C
+:10844000010101010101010101010101010101011C
+:10845000010101010101010100010101010101010D
+:108460000101010101010100000000000000000005
+:1084700000000100000101000001000001010001F5
+:1084800001010101010101010101010101010101DC
+:1084900001010101010101000000000101010001D1
+:1084A00000010101010101000000000000010001C4
+:1084B00000000101010101010101010101010101AE
+:1084C000010101010101010101010101010101019C
+:1084D0000101010101010100020000000000000093
+:1084E0000000010100000002020202020202020278
+:1084F000020200010201000100010102010101016B
+:10850000010101010102010101010101010101015A
+:10851000010101010101010101010101010101014B
+:10852000010101010101010101000000010101013E
+:10853000010101010101010101010101010101012B
+:10854000010101010101010101010101010101011B
+:10855000010101010101010101010101010101010B
+:108560000101010101010100000000000000000004
+:1085700000000100000101000001000101010101F2
+:1085800001010101010101010101010101010101DB
+:1085900001010101010101010000010101010101CD
+:1085A00000010101010101000000000001010001C2
+:1085B00001010101010101010101010101010101AB
+:1085C000010101010101010201010101010101019A
+:1085D0000101010101010100020000000000000191
+:1085E0000101010100000002020202020202020275
+:1085F0000202000102010001010101020101010268
+:108600000201020201020202010101010101010154
+:108610000101020101020102010101010101010147
+:10862000010101010101010101000000010101013D
+:10863000010101010101010101010101010101012A
+:10864000010101010101010101010101010101011A
+:10865000010101010101010101010101010101010A
+:108660000101010101010100000000000000000003
+:1086700000000101010101000101000101010101EE
+:1086800001010101010101010101010101010101DA
+:1086900001010101010101010101010101010101CA
+:1086A00001010101010101010000010101010101BC
+:1086B00001010101010101010101010101010101AA
+:1086C0000101010101010102020101020101010197
+:1086D000010101010101020001000000000101018E
+:1086E0000101010101000002020202020202020273
+:1086F0000202010102010002010101020202020262
+:10870000020202020202020201010102020101024E
+:10871000020102020202020201010102020102023E
+:108720000201020201020201010001010101010135
+:108730000101010101020102010101010101010127
+:108740000101010101020101010101010101010118
+:108750000101010101010101010101010101010109
+:108760000101010101010100000000000000000101
+:1087700000000101010101010101010101010101EB
+:1087800001010101010101010101010101010102D8
+:1087900001010101010101010101010101010101C9
+:1087A00001010101010101010101010101010101B9
+:1087B00001010101010101010101010101010101A9
+:1087C0000101010101010102020201020201010194
+:1087D0000101020201020200010000000101010189
+:1087E0000101010101000002020202020202020272
+:1087F000020201020201000201010202020202025F
+:10880000020202020202020201010102020202024B
+:10881000020202020202020201020102020202023A
+:108820000202020202020202010101010101010130
+:108830000101010101020202010101010101010125
+:108840000101020101020201010101010101010115
+:108850000101010101010101010101010101010108
+:1088600001010101010101010000000000010001FE
+:1088700000000101010101010101010101010101EA
+:1088800001010101010101020101010202020102D3
+:1088900002010202020202010101010101010101C2
+:1088A00001010101010101010101010101010101B8
+:1088B00001010101010101010101010101010101A8
+:1088C000010101010101010202020202020202028F
+:1088D0000201020202020200010001010101010184
+:1088E0000101010101000002020202020202020271
+:1088F000020201020201000201020202020202025D
+:108900000202020202020202010202020202020248
+:108910000202020202020202020202020202020237
+:10892000020202020202020202010101010101012E
+:108930000101010101020202020101010102010122
+:108940000101020201020201010101020201010210
+:108950000201020202020202010101010101010100
+:1089600001010101010201010000000001010001FB
+:1089700001010101010101010101010101010101E7
+:1089800001010101010101020202020202020202CE
+:1089900002020202020202010101010101010101C0
+:1089A00001010101010101010101010101010101B7
+:1089B00001010101010101010101010101010101A7
+:1089C000010101010102010202020202020202028D
+:1089D0000202020202020200010001010101010182
+:1089E0000101010101000002020202020202020270
+:1089F000020201020202000202020202020202025A
+:108A00000202020202020202020202020202020246
+:108A10000202020202020202020202020202020236
+:108A2000020202020202020202010101010102022B
+:108A3000020101010102020202020102020201021C
+:108A40000201020202020202010201020202020209
+:108A500002020202020202020101010202010102FB
+:108A600001010202010202010000010101010101F4
+:108A700001010101010101010101010101010101E6
+:108A800001010101010101020202020202020202CD
+:108A900002020202020202010101010101010101BF
+:108AA00001010101010101010101010101010101B6
+:108AB00001010101010101020101010202010202A1
+:108AC0000201020201020202020202020202020288
+:108AD0000202020202020200000101010101010181
+:108AE000010101010100000202020202020202026F
+:108AF0000202010202020002020202020202020259
+:108B00000202020202020202020202020202020245
+:108B10000202020202020202020202020202020235
+:108B20000202020202020202020101010202020228
+:108B30000202020102020202020202020202020216
+:108B40000201020202020202020202020202020206
+:108B500002020202020202020202020202020202F5
+:108B600002010202020202010001010101010101F0
+:108B700001010101010101010101010101010101E5
+:108B800001010101010201020202020202020202CB
+:108B900002020202020202020101010101010101BD
+:108BA00001010101010201010101010101010101B4
+:108BB000010101010101010202020202020202029C
+:108BC0000202020202020202020202020202020285
+:108BD0000202020202020200000101010100000083
+:108BE0000000000001010002020202020202020271
+:108BF0000202010202020002020202020202020258
+:108C00000202020202020202020202020202020244
+:108C10000202020202020202020202020202020234
+:108C20000202020202020202020202020202020224
+:108C30000202020202020202020202020202020214
+:108C40000202020202020202020202020202020204
+:108C500002020202020202020202020202020202F4
+:108C600002020202020202020001010101010101ED
+:108C700001010101010101020202010101010101E1
+:108C800001010201010202020202020202020202C8
+:108C900002020202020202020201010201010101BA
+:108CA00001010201010202020101010101010101B0
+:108CB000010101010102010202020202020202029A
+:108CC0000202020202020202020202020202020284
+:108CD0000202020202020200000100000000000085
+:108CE000000000000101010202020202020202026F
+:108CF0000202020202020002020202020202020256
+:108D00000202020202020202020202020202020243
+:108D10000202020202020202020202020202020233
+:108D20000202020202020202020202020202020223
+:108D30000202020202020202020202020202020213
+:108D40000202020202020202020202020202020203
+:108D500002020202020202020202020202020202F3
+:108D600002020202020202020101010101010101EB
+:108D700001010101010201020202010202020102DB
+:108D800002010202020202020202020202020202C4
+:108D900002020202020202020202020202020102B4
+:108DA00001010202010202020201010101010101AD
+:108DB0000101020101020202020202020202020297
+:108DC0000202020202020202020202020202020283
+:108DD0000202020202020200000000000000000085
+:108DE0000000000000010102020101020202020271
+:108DF0000202020202020002020202020202020255
+:108E00000202020202020202020202020202020242
+:108E10000202020202020202020202020202020232
+:108E20000202020202020202020202020202020222
+:108E30000202020202020202020202020202020212
+:108E40000202020202020202020202020202020202
+:108E500002020202020202020202020202020202F2
+:108E600002020202020202020101010101010101EA
+:108E700001010201010202020202020202020202D6
+:108E800002020202020202020202020202020202C2
+:108E900002020202020202020202020202020202B2
+:108EA00001020202020202020202020202020102A4
+:108EB0000101020202020202020202020202020294
+:108EC0000202020202020202020202020202020282
+:108ED0000202020202020200000000000000000084
+:108EE0000000000000010102020101020202020270
+:108EF0000202020202020002020202020202020254
+:108F00000202020202020202020202020202020241
+:108F10000202020202020202020202020202020231
+:108F20000202020202020202020202020202020221
+:108F30000202020202020202020202020202020211
+:108F40000202020202020202020202020202020201
+:108F500002020202020202020202020202020202F1
+:108F600002020202020202020202020202020102E2
+:108F700001010202020202020202020202020202D3
+:108F800002020202020202020202020202020202C1
+:108F900002020202020202020202020202020202B1
+:108FA00002020202020202020202020202020202A1
+:108FB0000202020202020202020202020202020291
+:108FC0000202020202020202020202020202020281
+:108FD0000202020202020200000000000000000083
+:108FE0000000000000010102010101010101010175
+:108FF0000101020201020002020202020202020256
+:109000000202020202020202020202020202020240
+:109010000202020202020202020202020202020230
+:109020000202020202020202020202020202020220
+:109030000202020202020202020202020202020210
+:109040000202020202020202020202020202020200
+:1090500002020202020202020202020202020202F0
+:1090600002020202020202020202020202020202E0
+:1090700002020202020202020202020202020202D0
+:1090800002020202020202020202020202020202C0
+:1090900002020202020202020202020202020202B0
+:1090A00002020202020202020202020202020202A0
+:1090B0000202020202020202020202020202020290
+:1090C0000202020202020202020202020202020280
+:1090D0000202020202020200000000000000000082
+:1090E0000000000000010101010101010101010175
+:1090F0000101020201020002020202020202020255
+:10910000020202020202020202020202020202023F
+:10911000020202020202020202020202020202022F
+:10912000020202020202020202020202020202021F
+:10913000020202020202020202020202020202020F
+:1091400002020202020202020202020202020202FF
+:1091500002020202020202020202020202020202EF
+:1091600002020202020202020202020202020202DF
+:1091700002020202020202020202020202020202CF
+:1091800002020202020202020202020202020202BF
+:1091900002020202020202020202020202020202AF
+:1091A000020202020202020202020202020202029F
+:1091B000020202020202020202020202020202028F
+:1091C000020202020202020202020202020202027F
+:1091D0000202020202020200000000000000000081
+:1091E0000000000000010101010101010101010174
+:1091F0000101020201020002020202020202020254
+:10920000020202020202020202020202020202023E
+:10921000020202020202020202020202020202022E
+:10922000020202020202020202020202020202021E
+:10923000020202020202020202020202020202020E
+:1092400002020202020202020202020202020202FE
+:1092500002020202020202020202020202020202EE
+:1092600002020202020202020202020202020202DE
+:1092700002020202020202020202020202020202CE
+:1092800002020202020202020202020202020202BE
+:1092900002020202020202020202020202020202AE
+:1092A000020202020202020202020202020202029E
+:1092B000020202020202020202020202020202028E
+:1092C000020202020202020202020202020202027E
+:1092D0000202020202020200000000000000000080
+:1092E0000000000000010101010000010101010175
+:1092F0000101020201020002020202020202020253
+:10930000020202020202020202020202020202023D
+:10931000020202020202020202020202020202022D
+:10932000020202020202020202020202020202021D
+:10933000020202020202020202020202020202020D
+:1093400002020202020202020202020202020202FD
+:1093500002020202020202020202020202020202ED
+:1093600002020202020202020202020202020202DD
+:1093700002020202020202020202020202020202CD
+:1093800002020202020202020202020202020202BD
+:1093900002020202020202020202020202020202AD
+:1093A000020202020202020202020202020202029D
+:1093B000020202020202020202020202020202028D
+:1093C000020202020202020202020202020202027D
+:1093D000020202020202020000000000000000007F
+:1093E0000000000000000101010000010101010175
+:1093F0000101020101020002020202020202020253
+:10940000020202020202020202020202020202023C
+:10941000020202020202020202020202020202022C
+:10942000020202020202020202020202020202021C
+:10943000020202020202020202020202020202020C
+:1094400002020202020202020202020202020202FC
+:1094500002020202020202020202020202020202EC
+:1094600002020202020202020202020202020202DC
+:1094700002020202020202020202020202020202CC
+:1094800002020202020202020202020202020202BC
+:1094900002020202020202020202020202020202AC
+:1094A000020202020202020202020202020202029C
+:1094B000020202020202020202020202020202028C
+:1094C000020202020202020202020202020202027C
+:1094D0000202020202020202020202020200000072
+:1094E000000000000000000100000000000000007B
+:1094F0000000010100020002020202020202020256
+:10950000020202020202020202020202020202023B
+:10951000020202020202020202020202020202022B
+:10952000020202020202020202020202020202021B
+:10953000020202020202020202020202020202020B
+:1095400002020202020202020202020202020202FB
+:1095500002020202020202020202020202020202EB
+:1095600002020202020202020202020202020202DB
+:1095700002020202020202020202020202020202CB
+:1095800002020202020202020202020202020202BB
+:1095900002020202020202020202020202020202AB
+:1095A000020202020202020202020202020202029B
+:1095B000020202020202020202020202020202028B
+:1095C000020202020202020202020202020202027B
+:1095D000020202020202020202020202020202026B
+:1095E000020202020202000000000000000000006F
+:1095F0000000010100010100000000000000000067
+:109600000000000000000002020202020202020248
+:10961000020202020202020202020202020202022A
+:109620000202020202020201010101010101010123
+:109630000101010101010102020202020202020211
+:1096400002020202020202020202020202020202FA
+:1096500002020202020202020202020202020202EA
+:1096600002020202020202020202020202020202DA
+:1096700002020202020202020202020202020202CA
+:1096800002020202020202020202020202020202BA
+:1096900002020202020202020202020202020202AA
+:1096A000020202020202020202020202020202029A
+:1096B000020202020202020202020202020202028A
+:1096C000020202020202020202020202020202027A
+:1096D000020202020202020202020202020202026A
+:1096E000020202020202020000000000000000006C
+:1096F0000000010100010100000000000000000066
+:109700000000000000000002020202020202020247
+:109710000202020202020202020202020202020229
+:109720000202020202020202020202020202020219
+:109730000202020202020201010101010101010112
+:109740000101010101010102020202020202020200
+:1097500002020202020202020202020202020202E9
+:1097600002020202020202020202020202020202D9
+:1097700002020202020202020202020202020202C9
+:1097800002020202020202020202020202020202B9
+:1097900002020202020202020202020202020202A9
+:1097A0000202020202020202020202020202020299
+:1097B0000202020202020202020202020202020289
+:1097C0000202020202020202020202020202020279
+:1097D0000202020202020202020202020202020269
+:1097E000020202020202020000000000000000006B
+:1097F000000001010001010101010101010101015C
+:109800000101010101010100000000000000000051
+:109810000000000000000002020202020202020236
+:10982000020202020202020000000000000000002A
+:109830000000000000000002020202020202020216
+:1098400002020202020202020202020202020202F8
+:1098500002020202020202020202020202020202E8
+:1098600002020202020202020202020202020202D8
+:1098700002020202020202020202020202020202C8
+:1098800002020202020202020202020202020202B8
+:1098900002020202020202020202020202020202A8
+:1098A0000202020202020202020202020202020298
+:1098B0000202020202020202020202020202020288
+:1098C0000202020202020202020202020202020278
+:1098D0000202020202020202020202020202020268
+:1098E000020202020202020000000000000000006A
+:1098F000000001000001010101010101010101015C
+:109900000101010101010100000000000000000050
+:109910000000000000000000000000000000000047
+:109920000000000000000000000000000000000037
+:109930000000000000000000000000000000000027
+:109940000000000000000002020202020202020205
+:1099500002020202020202000000000000000000F9
+:1099600000000000000000010101010101010101EE
+:1099700001010101010101020202020202020202CE
+:1099800002020202020202020202020202020202B7
+:1099900002020202020202020202020202020202A7
+:1099A0000202020202020202020202020202020297
+:1099B0000202020202020202020202020202020287
+:1099C0000202020202020201010101010101010180
+:1099D000010101010101010202020202020202026E
+:1099E0000202020202020200000000000000000069
+:1099F000000000000001010101010101010101015C
+:109A00000101010101010101010101010101010146
+:109A1000010101010101010000000000000000003F
+:109A2000000000000000000101010101010101012D
+:109A3000010101010101010000000000000000001F
+:109A40000000000000000002020202020202020204
+:109A500002020202020202000000000000000000F8
+:109A600000000000000000020202020202020202E4
+:109A700002020202020202000000000000000000D8
+:109A800000000000000000020202020202020202C4
+:109A900002020202020202010101010101010101AF
+:109AA000010101010101010202020202020202029D
+:109AB0000202020202020202020202020202020286
+:109AC0000202020202020202020202020202020276
+:109AD0000202020202020202020202020202020266
+:109AE000020202020202020101010101010101015F
+:109AF0000101010101010101010101010101010156
+:109B00000101010101010101010101010101010145
+:109B10000101010101010101010101010101010135
+:109B20000101010101010101010101010101010125
+:109B30000101010101010101010101010101010115
+:109B40000101010101010101010101010101010105
+:109B500001010101010101000000000000000000FE
+:109B600000000000000000000000000000000000F5
+:109B700000000000000000000000000000000000E5
+:109B800000000000000000020202020202020202C3
+:109B900002020202020202020202020202020202A5
+:109BA00002020202020202000000000000000000A7
+:109BB0000000000000000002020202020202020293
+:109BC000020202020202020101010101010101017E
+:109BD000010101010101010202020202020202026C
+:109BE000020202020202020101010101010101015E
+:109BF0000101010101010101010101010101010155
+:109C00000101010101010101010101010101010144
+:109C10000101010101010101010101010101010134
+:109C20000101010101010101010101010101010124
+:109C30000101010101010101010101010101010114
+:109C40000101010101010101010101010101010104
+:109C500001010101010101010101010101010101F4
+:109C600001010101010101000000000000000000ED
+:109C700000000000000000000000000000000000E4
+:109C800000000000000000000000000000000000D4
+:109C900000000000000000000000000000000000C4
+:109CA00000000000000000000000000000000000B4
+:109CB0000000000000000002020202020202020292
+:109CC000020202020202020101010101010101017D
+:109CD000010101010101010202020202020202026B
+:109CE000020202020202020101010101010101015D
+:109CF0000101010101010101010101010101010154
+:109D00000101010101010101010101010101010143
+:109D10000101010101010101010101010101010133
+:109D20000101010101010101010101010101010123
+:109D30000101010101010101010101010101010113
+:109D40000101010101010101010101010101010103
+:109D500001010101010101010101010101010101F3
+:109D600001010101010101010101010101010101E3
+:109D700001010101010101010101010101010101D3
+:109D800001010101010101010101010101010101C3
+:109D900001010101010101000000000000000000BC
+:109DA00000000000000000000000000000000000B3
+:109DB0000000000000000002020202020202020291
+:109DC000020202020202020101010101010101017C
+:109DD000010101010101010202020202020202026A
+:109DE000020202020202020101010101010101015C
+:109DF0000101010101010101010101010101010153
+:109E00000101010101010101010101010101010142
+:109E10000101010101010101010101010101010132
+:109E20000101010101010101010101010101010122
+:109E30000101010101010101010101010101010112
+:109E40000101010101010101010101010101010102
+:109E500001010101010101010101010101010101F2
+:109E600001010101010101010101010101010101E2
+:109E700001010101010101010101010101010101D2
+:109E800001010101010101010101010101010101C2
+:109E900001010101010101010101010101010101B2
+:109EA00001010101010101010101010101010101A2
+:109EB0000101010101010101010101010101010192
+:109EC0000101010101010101010101010101010182
+:109ED000010101010101010000000000000000007B
+:109EE0000000000000000001010101010101010169
+:109EF0000101010101010101010101010101010152
+:109F00000101010101010101010101010101010141
+:109F10000101010101010101010101010101010131
+:109F20000101010101010101010101010101010121
+:109F30000101010101010101010101010101010111
+:109F40000101010101010101010101010101010101
+:109F500001010101010101010101010101010101F1
+:109F600001010101010101010101010101010101E1
+:109F700001010101010101010101010101010101D1
+:109F800001010101010101010101010101010101C1
+:109F900001010101010101010101010101010101B1
+:109FA00001010101010101010101010101010101A1
+:109FB0000101010101010101010101010101010191
+:109FC0000101010101010101010101010101010181
+:109FD000010101010101010000000000000000007A
+:109FE0000000000000000000000000000000000071
+:109FF0000000000000000000000000000000000061
+:10A000000000000000000000000000000000000050
+:10A010000000000000000000000000000000000040
+:10A02000000000000000000202020202020202021E
+:10A030000202020202020202020202020202020200
+:10A0400002020202020202020202020202020202F0
+:10A0500002020202020202020202020202020202E0
+:10A0600002020202020202020202020202020202D0
+:10A0700002020202020202020202020202020202C0
+:10A0800002020202020202020202020202020202B0
+:10A0900002020202020202020202020202020202A0
+:10A0A0000202020202020202020202020202020290
+:10A0B0000202020202020202020202020202020280
+:10A0C0000202020202020202020202020202020270
+:10A0D0000202020202020200000000000000000072
+:10A0E0000000000000000000000000000000000070
+:10A0F0000000000000000000000000000000000060
+:10A10000000000000000000000000000000000004F
+:10A11000000000000000000000000000000000003F
+:10A12000000000000000000000000000000000002F
+:10A13000000000000000000000000000000000001F
+:10A14000000000000000000000000000000000000F
+:10A1500000000000000000000000000000000000FF
+:10A1600000000000000000000000000000000000EF
+:10A1700000000000000000000000000000000000DF
+:10A1800000000000000000000000000000000000CF
+:10A1900000000000000000000000000000000000BF
+:10A1A00000000000000000000000000000000000AF
+:10A1B000000000000000000000000000000000009F
+:10A1C000000000000000000202020202020202027D
+:10A1D0000202020202020200000000000000000071
+:10A1E000000000000000000000000000000000006F
+:10A1F000000000000000000000000000000000005F
+:10A20000000000000000000000000000000000004E
+:10A21000000000000000000000000000000000003E
+:10A22000000000000000000000000000000000002E
+:10A23000000000000000000000000000000000001E
+:10A24000000000000000000000000000000000000E
+:10A2500000000000000000000000000000000000FE
+:10A2600000000000000000000000000000000000EE
+:10A2700000000000000000000000000000000000DE
+:10A2800000000000000000000000000000000000CE
+:10A2900000000000000000000000000000000000BE
+:10A2A00000000000000000000000000000000000AE
+:10A2B000000000000000000000000000000000009E
+:10A2C000000000000000000202020202020202027C
+:10A2D0000202020202020200000000000000000070
+:10A2E000000000000000000000000000000000006E
+:10A2F000000000000000000000000000000000005E
+:10A30000000000000000000000000000000000004D
+:10A31000000000000000000000000000000000003D
+:10A32000000000000000000000000000000000002D
+:10A33000000000000000000000000000000000001D
+:10A34000000000000000000000000000000000000D
+:10A3500000000000000000000000000000000000FD
+:10A3600000000000000000000000000000000000ED
+:10A3700000000000000000000000000000000000DD
+:10A3800000000000000000000000000000000000CD
+:10A3900000000000000000000000000000000000BD
+:10A3A00000000000000000000000000000000000AD
+:10A3B000000000000000000000000000000000009D
+:10A3C000000000000000000000000000000000008D
+:10A3D000000000000000000000000000000000007D
+:10A3E000000000000000003100000000000000003C
+:10A3F000000000000000000000000000000000005D
+:10A40000000000000000000000000000000000004C
+:10A41000000000000000000000000000000000003C
+:10A42000000000000000000000000000000000002C
+:10A43000000000000000000000000000000000001C
+:10A44000000000000000000000000000000000000C
+:10A4500000000000000000000001000000000000FB
+:10A4600000000000000000000000000000000000EC
+:10A4700000000000000000000000000000000000DC
+:10A4800000000000000000000000000000000000CC
+:10A4900000000000000000000000000000000000BC
+:10A4A00000000000000000000000000000000000AC
+:10A4B000000000000000000000000000000000009C
+:10A4C000000000000000000000000000000000008C
+:10A4D000000000000000000000000000000000007C
+:10A4E000000000000000000000000000000000006C
+:10A4F000000000000000000000000000000000005C
+:10A50000000000000000000000000000000000004B
+:10A51000000000000000000000000000000000003B
+:10A52000000000000000000000000000000000002B
+:10A53000000000000000000000000000000000001B
+:10A54000000000000000000000000000000000000B
+:10A5500000000000000000000001010000000000F9
+:10A5600000000000000000000000010000000000EA
+:10A5700000000000000000000000000000000000DB
+:10A5800000000000000000000000000000000000CB
+:10A5900000000000000000000000000000000000BB
+:10A5A00000000000000000000000000000000000AB
+:10A5B000000000000000000000000000000000009B
+:10A5C000000000000000000000000000000000008B
+:10A5D000000000000000000000000000000000007B
+:10A5E000000000000000000000000000000000006B
+:10A5F000000000000000000000000000000000005B
+:10A60000000000000000000000000000000000004A
+:10A610000000000000000000000000000100000039
+:10A62000000000000000000000000000000000002A
+:10A63000000000000000000000000000000000001A
+:10A64000000000000000000000000000000000000A
+:10A6500000000000000000000001010000010000F7
+:10A6600000000000000000000001010000000000E8
+:10A6700000000000000000000001000000000000D9
+:10A6800000000000000000000000000000000000CA
+:10A6900000000000000000000000000000000000BA
+:10A6A00000000000000000000000000000000000AA
+:10A6B000000000000000000000000000000000009A
+:10A6C000000000000000000000000000000000008A
+:10A6D000000000000000000000000000000000007A
+:10A6E000000000000000000000000000000000006A
+:10A6F000000000000000000000000000000000005A
+:10A700000000000000000000000000000000000049
+:10A710000000000000000000000000000100000038
+:10A720000000000000000000000000000000000029
+:10A730000000000000000000000000000000000019
+:10A740000000000000000000000000000000000009
+:10A7500000000000000000000001010000010000F6
+:10A7600000000000000000000001010001000000E6
+:10A7700000000000000000000001010000000000D7
+:10A7800000000000000000000000000000000000C9
+:10A7900000000000000000000000000000000000B9
+:10A7A00000000000000000000000000000000000A9
+:10A7B0000000000000000000000000000000000099
+:10A7C0000000000000000000000000000000000089
+:10A7D0000000000000000000000000000000000079
+:10A7E0000000000000000000000000000000000069
+:10A7F0000000000000000000000000000000000059
+:10A800000000000000000000000000000100000047
+:10A810000000000000000000000001000100010035
+:10A820000000000000000000000000000000000028
+:10A830000000000000000000000000000000000018
+:10A840000000000000000000000000000000000008
+:10A8500000000000000000000001010000010000F5
+:10A8600000000000000000000001010001010000E4
+:10A8700000000000000000000001010000000000D6
+:10A8800000000000000000000000000000000000C8
+:10A8900000000000000000000000000000000000B8
+:10A8A00000000000000000000000000001000100A6
+:10A8B0000000000000000000000000000000000098
+:10A8C0000000000000000000000000000000000088
+:10A8D0000000000000000000000000000100010076
+:10A8E0000000000000000000000000000000000068
+:10A8F0000000000000000000000000000000000058
+:10A900000000000000000000000000000100000046
+:10A910000000000000000000000101010101010031
+:10A920000000000000000000000000000000000027
+:10A930000000000000000000000000000100000016
+:10A940000000000000000000000000000000000007
+:10A9500000000000000000000001010001010000F3
+:10A9600000000000000000000001010001010000E3
+:10A9700000000000000000000001010001000000D4
+:10A9800000000000000000000000000000000000C7
+:10A9900000000000000000000000000001000000B6
+:10A9A00000000000000000000001000001000100A4
+:10A9B0000000000000000000000000000000000097
+:10A9C0000000000000000000000000000000000087
+:10A9D0000000000000000000000000000100010075
+:10A9E0000000000000000000000000000000000067
+:10A9F0000000000000000000000000000000000057
+:10AA00000000000000000000000000000100000045
+:10AA10000000000000000000000101010101010030
+:10AA20000000000000000000000000000000000026
+:10AA30000000000000000000000000000100000015
+:10AA40000000000000000000000100000000000005
+:10AA500000000000000000000001010001010000F2
+:10AA600000000000000000000001010001010000E2
+:10AA700000000000000000000001010101000000D2
+:10AA800000000000000000000000000000000000C6
+:10AA900000000000000000000001000001000000B4
+:10AAA00000000000000000000001010001000100A2
+:10AAB0000000000000000000000000000000000096
+:10AAC0000000000000000000000000000000000086
+:10AAD0000000000000000000000000000100010074
+:10AAE0000000000000000000000000000000000066
+:10AAF0000000000000000000000000000000000056
+:10AB00000000000000000000000000000100000044
+:10AB1000000000000000000001010101010101002E
+:10AB20000000000000000000000000000000000025
+:10AB30000000000000000000000000000100000014
+:10AB40000000000000000000000100000100000003
+:10AB500000010001000000000001010001010000EF
+:10AB600000000000000000000001010001010000E1
+:10AB700000000000000000000001010101000000D1
+:10AB800000000000000000000000000000000000C5
+:10AB900000000000000000000001000001000100B2
+:10ABA000000000000000000000010101010101009F
+:10ABB0000000000000000000000000000000000095
+:10ABC0000000000000000000000000000000000085
+:10ABD0000000000000000100000000010101010070
+:10ABE0000000000000000000000000000000000065
+:10ABF0000000000000000000000000000000000055
+:10AC00000000000000000000000001000100010041
+:10AC1000000000010000000001010101010101002C
+:10AC20000000000000000000000000000000000024
+:10AC30000000000000000000000000010100000012
+:10AC40000000000000000000000100000100000002
+:10AC500000010001000000000001010001010000EE
+:10AC600000000000000000000001010001010000E0
+:10AC700000000000000000000001010101000000D0
+:10AC800000000000000000000000000000000000C4
+:10AC900000000000000000000101000101010100AE
+:10ACA000000100010000000000010101010101009C
+:10ACB0000000000000000000000000000000000094
+:10ACC0000000000000000000000000000000000084
+:10ACD000000000010000010000000101010101006D
+:10ACE0000000000000000000000000000000000064
+:10ACF0000000000000000000000000000100000053
+:10AD0000000000000000000000010101010101003D
+:10AD1000000000010000000101010101010101002A
+:10AD20000000000000000000000000000000000023
+:10AD3000000000000000000000000101010001000F
+:10AD40000000000000000000000100000100010000
+:10AD500000010001000000000001010001010100EC
+:10AD600000010000000000000001010001010000DE
+:10AD700000000000000000000001010101000000CF
+:10AD800000000000000000000000000000000000C3
+:10AD900000000000000000000101010101010100AC
+:10ADA000000100010100000000010101010101009A
+:10ADB0000000000000000000000000000000000093
+:10ADC0000000000000000000000000000000000083
+:10ADD000000000010000010100010101010101006A
+:10ADE0000000000000000000000000000000000063
+:10ADF0000000000000000000000000000100000052
+:10AE0000000000000000000000010101010101003C
+:10AE10000001010100000001010101010101010027
+:10AE20000000000000000000000000000000000022
+:10AE3000000000000000000200010101010101000A
+:10AE400000000000000000000001000101010100FD
+:10AE500000010001000000000101010001010100EA
+:10AE600000010000000102000201010001010000D8
+:10AE700000000000000000000001010101000000CE
+:10AE800000000000000000000000000000000000C2
+:10AE900000000000000000000101010101010100AB
+:10AEA0000101010101000000000101010101010097
+:10AEB0000000000000000000000000000000000092
+:10AEC0000000000000000000000000000000000181
+:10AED0000000010100000101000101010101010068
+:10AEE0000000000000000000000000000000000062
+:10AEF0000000000000000000000000010100000050
+:10AF0000000000000000000001010101010101003A
+:10AF10000001010101000001010101010101010025
+:10AF20000000000000000000000000000100000020
+:10AF3000000000000000000100010101010101000A
+:10AF400000010001000000000001010101010100F9
+:10AF500000010001000000000101010001010100E9
+:10AF600000010000000102000101010001010000D8
+:10AF700000010000000000000001010101000000CC
+:10AF800000000000000000000000000000000000C1
+:10AF900000010001000000000101010101010100A8
+:10AFA0000101010101000000000101010101010096
+:10AFB0000000000000000000000000000000000091
+:10AFC0000000000000000000000000000000000180
+:10AFD0000000010101010101010101010101010064
+:10AFE0000000000000000000000000000000000061
+:10AFF000000000000000000000000001010000004F
+:10B000000000000100000000010101010101010038
+:10B010000001010101000001010101010101010024
+:10B02000000000000000000000000000010000001F
+:10B030000000000000000001000101010101010009
+:10B0400000010001000000000001010101010100F8
+:10B0500000010001010000000101010101010100E6
+:10B0600000010000000102000101010101010000D6
+:10B0700000010000000000000101010101000000CA
+:10B0800000000000000000000000000000000000C0
+:10B0900000010001000000010101010101010101A5
+:10B0A0000101010101000000000101010101010095
+:10B0B0000000000000000000000000000000000090
+:10B0C000000000000000000000000000000000017F
+:10B0D0000101010101010101010101010101010061
+:10B0E0000000000000000000000000000000000060
+:10B0F000000000000000000000000001010000004E
+:10B100000000000100000000010101010101010037
+:10B110000001010101000001010101010101010023
+:10B12000000000000000000000000000010000001E
+:10B130000000000100000001000101010101010007
+:10B1400000010101000000000001010101010100F6
+:10B1500001010101010000000101010101010100E3
+:10B1600000010000000102000101010101010000D5
+:10B1700000010001000000000101010101000000C8
+:10B1800000000000000000000000000000000000BF
+:10B1900001010101000000010101010101010101A2
+:10B1A0000101010101010001000101010101010092
+:10B1B000000000000000000000000000000000008F
+:10B1C000000000000000000000000000000000017E
+:10B1D0000101010101010101010101010101010060
+:10B1E000000000000000020000000000000000005D
+:10B1F000000000000000000000000001010000004D
+:10B200000001010100000000010101010101010133
+:10B210000101010101000001010101010101010021
+:10B22000000000000000000000000000010000001D
+:10B230000000000101000001000101010101010005
+:10B2400000010101010000000001010101010100F4
+:10B2500001010101010001020101010101010100DF
+:10B2600000010000010101020101010101010000D2
+:10B2700000010001010000000101010101000000C6
+:10B2800000000000000000000000000001000000BD
+:10B29000010101010101010101010101010101019E
+:10B2A0000101010101010001000101010101010091
+:10B2B000000000000000000000000000000000008E
+:10B2C000000000000000000000000000000000017D
+:10B2D000010101010101010101010101010101005F
+:10B2E000000000000000020000000000000000005C
+:10B2F000000000000000000000000001010000004C
+:10B300000001010100000000010101010101010132
+:10B310000101010101000001010101010101010020
+:10B32000000000000000000000000000010000001C
+:10B330000001000101000001000101010101010003
+:10B3400001010101010000000001010101010100F2
+:10B3500001010101010001020101010101010100DE
+:10B3600000010001010101010101010101010000D1
+:10B3700000010101010000000101010101000000C4
+:10B3800000000000000000000000000001000001BB
+:10B39000010101010101010101010101010101019D
+:10B3A000010101010101010100010101010101008F
+:10B3B000000000000000000000000000000000008D
+:10B3C000000000000000000000000000000000017C
+:10B3D000010101010101010101010101010101005E
+:10B3E0000000000000020200000000000100000058
+:10B3F000000000000000000000000001010000004B
+:10B400000001010100000000010101010101010131
+:10B41000010101010100000101010101010101001F
+:10B420000000000000020200000000000100000017
+:10B430000001000101020001000101010101010000
+:10B4400001010101010000000001010101010100F1
+:10B4500001010101010101010101010101010100DD
+:10B4600000010001010101010101010101010000D0
+:10B4700000010101010202000101010101000000BF
+:10B4800000000000000000000000000001000101B9
+:10B49000010101010101010101010101010101019C
+:10B4A000010101010101010100010101010101008E
+:10B4B000000000000000000000000000010000008B
+:10B4C000000000000000000000000000000000017B
+:10B4D000010101010101010101010101010101005D
+:10B4E0000000000000020200000100000100000056
+:10B4F000000000000000000000000001010000004A
+:10B500000001010100000000010101010101010130
+:10B51000010101010100000101010101010101001E
+:10B520000000000000020200000000000100010114
+:10B530000001000101010001000101010101010000
+:10B5400001010101010000000001010101010100F0
+:10B5500001010101010101010102020101010100DA
+:10B5600000010001010101010101010101010000CF
+:10B5700000010101010202000101010101000000BE
+:10B5800000000000000000000001000101010101B5
+:10B59000010101010101010101010101010101019B
+:10B5A000010101010101010100010101010101008D
+:10B5B000000000000000000000000000010000008A
+:10B5C000000000000000000000000000000000017A
+:10B5D000010101010101010101010101010101005C
+:10B5E000000102000002020200010100010000014E
+:10B5F0000000000000000000000000010100000148
+:10B60000010101010000000001010101010101012E
+:10B61000010101010100000101010101010101001D
+:10B62000000000000002020202000000010001010F
+:10B6300000010001010102010101010101010100FC
+:10B6400001010101010000000001010101010100EF
+:10B6500001010101010102010102020101020100D7
+:10B6600000010001010101010101020101010000CD
+:10B6700000010101010101010101010101000000BE
+:10B6800000010000000000000001010101010101B2
+:10B69000010101010101010101010101010101019A
+:10B6A000010101010101010100010101010101008C
+:10B6B0000000000000000000000000000100010088
+:10B6C0000001000100000000000000000100010175
+:10B6D000010101010101010101010101010101005B
+:10B6E000000102000002010200010101010100014C
+:10B6F0000000000000000000000000010100000147
+:10B70000010101010000000001010101010101012D
+:10B71000010101010100000101010201020101001A
+:10B72000000000000002020202000000010001010E
+:10B7300001010101010101010101010101010101F9
+:10B7400001010101010000000001010101010100EE
+:10B7500001020102010102010102020101020100D4
+:10B7600001010001010201010102020101010100C8
+:10B7700001010101010101010102020101000100B9
+:10B7800000010000000000000001010101010101B1
+:10B790000101010101010101010101010101010199
+:10B7A000010101010101010100010101010101008B
+:10B7B0000000000000000000000100010101010084
+:10B7C0000001000100000000000000000100010174
+:10B7D000010101010101010101010101010101005A
+:10B7E000000101000001010100010101010100024D
+:10B7F0000000000000000000000000010100000146
+:10B80000010101010000000001010101020101012B
+:10B810000101020201000002020202020202020011
+:10B82000000000000201010201000001010001010D
+:10B8300001010101010101010101010102010101F7
+:10B8400001010101010000000101010101010100EC
+:10B8500001020102010202010102020102020100D1
+:10B8600001010001010201010102020102020100C5
+:10B8700001010101010101010102020101000100B8
+:10B8800000010001000000000001010101010101AF
+:10B890000101010101010101010101010101010198
+:10B8A000010101010101010100010101010101008A
+:10B8B000000100010000000000010101010101017F
+:10B8C0000101010100000000000000000100010171
+:10B8D0000101010101010201010101010101010058
+:10B8E000000101010001010101010101010100024A
+:10B8F0000000000000000000000000020100000144
+:10B900000101010100000000010102010201010228
+:10B91000010202020200000202020202020202000E
+:10B92000000100000201010201000001010001010B
+:10B9300001010101010101020101020202010101F3
+:10B9400001010101010000000101010101010100EB
+:10B9500002020202020202010202020102020100CC
+:10B9600001020001010201010102020102020100C3
+:10B9700001010101010101010102020202000100B5
+:10B9800000010001000000000001010101010101AE
+:10B990000101010101010101010101010101010296
+:10B9A0000202020202010101000202010201020080
+:10B9B000000100010000000000010101010101017E
+:10B9C000010101010001010000000000010001026D
+:10B9D0000101010101010201010101010101010057
+:10B9E0000101010100010101010101010101000248
+:10B9F000000101000000000000010002020000013F
+:10BA00000101020200000000020202020202020220
+:10BA1000020202020200000202020202020202000C
+:10BA2000000100000101010101000001010101020A
+:10BA300001010102020201020102020202020201EC
+:10BA400001010101010000000102010101010100E9
+:10BA500002020202020202010202020102020200CA
+:10BA600001020001010202020102020102020100C0
+:10BA700001020101010101010102020202000100B3
+:10BA800001010101000000000001010101010101AB
+:10BA90000101010101010101010101010101010295
+:10BAA000020202020202010100020202020202007C
+:10BAB000010100010000000000010101010101017C
+:10BAC000010101010001010000000100010001026B
+:10BAD0000101020201020202010101010201020050
+:10BAE0000100000100010101010101010101000249
+:10BAF000010101000000000101010002020000023A
+:10BB0000010202020000010002020202020202021D
+:10BB1000020202020200000202020202020202010A
+:10BB20000101000001010101010001010101010207
+:10BB300001020102020202020102020202020201E9
+:10BB400001020202010000000102010102010100E4
+:10BB500002020202020202010202020202020200C8
+:10BB600001020001020202020202020102020100BD
+:10BB700001020202020101010202020202000100AE
+:10BB800001010101000000000101010101010101A9
+:10BB90000101010101010101020201010201010291
+:10BBA0000202020202020202000202020202020079
+:10BBB000010100010000000000010101010101017B
+:10BBC0000101010101010101000101010101010265
+:10BBD000020102020202020201010202020202004A
+:10BBE000010000000100000001010101010100024B
+:10BBF0000101020000000001010101020200000237
+:10BC0000020202020000010002020202020202021B
+:10BC10000202020202000002020202020202020109
+:10BC20000101000001010101010101010201010204
+:10BC300002020202020202020102020202020201E6
+:10BC400002020202020000000102020202020200DD
+:10BC500002020202020202020202020202020200C6
+:10BC600001020002020202020202020202020100BA
+:10BC700001020202020202020202020202010101A8
+:10BC800001010101000000000101010101010102A7
+:10BC90000202020201020202020202020202020285
+:10BCA0000202020202020202000202020202020177
+:10BCB0000101000100000000000101010101010279
+:10BCC0000101010101010101000101010101010264
+:10BCD0000202020202020202020202020202020046
+:10BCE000000000000000000000000001000101024F
+:10BCF0000101020101000202020101020200000230
+:10BD00000202020201000100020202020202020219
+:10BD10000202020202000002020202020202020108
+:10BD200001010101010202010101010102010102FF
+:10BD300002020202020202020202020202020202E3
+:10BD400002020202020000000102020202020200DC
+:10BD500002020202020202020202020202020201C4
+:10BD600002020002020202020202020202020101B7
+:10BD700002020202020202020202020202010101A6
+:10BD800001010101010000000101010101010102A5
+:10BD90000202020202020202020202020202020283
+:10BDA0000202020202020202000202020202020176
+:10BDB0000101000100000000000101010101010278
+:10BDC000020202020102020101010101010101025C
+:10BDD0000202020202020202020202020202020045
+:10BDE0000000000000000000000000000000010250
+:10BDF000020102010200020202010102020100022C
+:10BE00000202020201000200020202020202020217
+:10BE10000202020202000002020202020202020206
+:10BE200001010101010202010101010102010102FE
+:10BE300002020202020202020202020202020202E2
+:10BE400002020202020000000102020202020200DB
+:10BE500002020202020202020202020202020201C3
+:10BE600002020002020202020202020202020101B6
+:10BE700002020202020202020202020202010101A5
+:10BE800001010101010000000101010101010102A4
+:10BE90000202020202020202020202020202020282
+:10BEA0000202020202020202000202020202020175
+:10BEB0000101010100000000000101010101010276
+:10BEC000020202020102020101010101010101025B
+:10BED0000202020202020202020202020202020044
+:10BEE000000000000000000000000000000001024F
+:10BEF000020202010200020202010102020100022A
+:10BF00000202020201000201020202020202020215
+:10BF10000202020202010102020202020202020203
+:10BF200002020201020202010101010102010202F8
+:10BF300002020202020202020202020202020202E1
+:10BF400002020202020000000102020202020202D8
+:10BF500002020202020202020202020202020202C1
+:10BF600002020102020202020202020202020102B3
+:10BF700002020202020202020202020202010101A4
+:10BF8000010201010102020101010101020101029C
+:10BF90000202020202020202020202020202020281
+:10BFA0000202020202020202000202020202020174
+:10BFB0000101010100000000010101010101010274
+:10BFC0000202020202020202010101010201020256
+:10BFD0000202020202020202020202020202020043
+:10BFE000000000000000000000000000000001024E
+:10BFF0000202020202020202020101020201000226
+:10C000000202020202000201020202020202020213
+:10C010000202020202020202020202020202020200
+:10C0200002020201020202010201010202010202F5
+:10C0300002020202020202020202020202020202E0
+:10C0400002020202020100010202020202020202D4
+:10C0500002020202020202020202020202020202C0
+:10C0600002020102020202020202020202020202B1
+:10C0700002020202020202020202020202010202A1
+:10C080000202020201010101010202020202020295
+:10C090000202020202020202020202020202020280
+:10C0A0000202020202020202000202020202020272
+:10C0B000020201020000000001010101020101026F
+:10C0C0000202020202020202010102010201020254
+:10C0D0000202020202020202020202020202020042
+:10C0E000000000000000000000000000000001024D
+:10C0F0000202020202020202020202020201000223
+:10C10000020202020202020202020202020202020F
+:10C1100002020202020202020202020202020202FF
+:10C1200002020202020202020201020202020202F0
+:10C1300002020202020202020202020202020202DF
+:10C1400002020202020100010202020202020202D3
+:10C1500002020202020202020202020202020202BF
+:10C1600002020202020202020202020202020202AF
+:10C1700002020202020202020202020202010202A0
+:10C180000202020201010101010202020202020294
+:10C19000020202020202020202020202020202027F
+:10C1A0000202020202020202010202020202020270
+:10C1B0000202010201000000010202020202020268
+:10C1C000020202020202020202020202020202024F
+:10C1D0000202020202020202020202020202020041
+:10C1E000000000000000000000000000000001014D
+:10C1F0000202020202020202010202020201000223
+:10C20000020202020202020202020202020202020E
+:10C2100002020202020202020202020202020202FE
+:10C2200002020202020202020202020202020202EE
+:10C2300002020202020202020202020202020202DE
+:10C2400002020202020201010202020202020202D0
+:10C2500002020202020201020202020202020202BF
+:10C2600002020202020202020202020202020202AE
+:10C27000020202020202020202020202020202029E
+:10C280000202020202010101020202020202020291
+:10C29000020202020202020202020202020202027E
+:10C2A000020202020202020201020202020202026F
+:10C2B0000202020201000000010202020202020266
+:10C2C000020202020202020202020202020202024E
+:10C2D0000202020202020202020202020202020040
+:10C2E000000000000000000000000000000001014C
+:10C2F0000202020202020202010202020202000221
+:10C30000020202020202020202020202020202020D
+:10C3100002020202020202020202020202020202FD
+:10C3200002020202020202020202020202020202ED
+:10C3300002020202020202020202020202020202DD
+:10C3400002020202020202020202020202020202CD
+:10C3500002020202020201020202020202020202BE
+:10C3600002020202020202020202020202020202AD
+:10C37000020202020202020202020202020202029D
+:10C38000020202020202020202020202020202028D
+:10C39000020202020202020202020202020202027D
+:10C3A000020202020202020201020202020202026E
+:10C3B0000202020201010101010202020202020262
+:10C3C000020202020202020202020202020202024D
+:10C3D000020202020202020202020202020202003F
+:10C3E000000000000000000000000000000001014B
+:10C3F0000202010201020101010202010202000225
+:10C40000020202020202020202020202020202020C
+:10C4100002020202020202020202020202020202FC
+:10C4200002020202020202020202020202020202EC
+:10C4300002020202020202020202020202020202DC
+:10C4400002020202020202020202020202020202CC
+:10C4500002020202020101020202020202020202BE
+:10C4600002020202020201010202020202020202AE
+:10C47000020202020202020202020202020202029C
+:10C48000020202020202020202020202020202028C
+:10C49000020202020202020202020202020202027C
+:10C4A000020202020202020202020202020202026C
+:10C4B000020202020202020102020202020202025D
+:10C4C000020202020202020202020202020202024C
+:10C4D000020202020202020202020202020202003E
+:10C4E000000000000000000000000000000000014B
+:10C4F0000202010201020101010202010202000224
+:10C50000020202020202020202020202020202020B
+:10C5100002020202020202020202020202020202FB
+:10C5200002020202020101020202020202020202ED
+:10C5300002020202020202020202020202020202DB
+:10C5400002020202020202020202020202020202CB
+:10C5500002020202020102020202020202020202BC
+:10C5600002020202020201010202020202020202AD
+:10C57000020202020202020202020202020202029B
+:10C58000020202020202020202020202020202028B
+:10C59000020202020202020202020202020202027B
+:10C5A000020202020202020202020202020202026B
+:10C5B000020202020202020202020202020202025B
+:10C5C000020202020202020202020202020202024B
+:10C5D000020202020202020202020202020202003D
+:10C5E000000000000000000000000000000000004B
+:10C5F0000202010201020101000202010202000224
+:10C60000020202020202020202020202020202020A
+:10C6100002020202020202020202020202020202FA
+:10C6200002020202020101020202020202020202EC
+:10C6300002020202020101020202020202020202DC
+:10C6400002020202020202020202020202020202CA
+:10C6500002020202020202020202020202020202BA
+:10C6600002020202020101010202020202020202AD
+:10C67000020202020202020202020202020202029A
+:10C68000020202020202020202020202020202028A
+:10C69000020202020202020202020202020202027A
+:10C6A000020202020202020202020202020202026A
+:10C6B000020202020202020202020202020202025A
+:10C6C000020202020202020202020202020202024A
+:10C6D000020202020202020202020202020202003C
+:10C6E0000202000000000000000202000200000040
+:10C6F0000102010101010101000202010102000227
+:10C700000202020202020202020202020202020209
+:10C7100002020202020202020202020202020202F9
+:10C7200002020102010101020202020202020202ED
+:10C7300002020202020101020202020202020202DB
+:10C7400002020202020202020202020202020202C9
+:10C7500002020202020202020202020202020202B9
+:10C7600002020202020102020202020202020202AA
+:10C77000020202020201010102020202020202029C
+:10C780000202020202020202020202020202020289
+:10C790000202020202020202020202020202020279
+:10C7A0000202020202020202020202020202020269
+:10C7B0000202020202020202020202020202020259
+:10C7C0000202020202020202020202020202020249
+:10C7D0000202020202020202020202020202020239
+:10C7E0000202000000000000000202020202020039
+:10C7F000010100010001000000020100010200022D
+:10C800000202020202020202020202020202020208
+:10C8100002020202020202020202020202020202F8
+:10C8200002020102010202020202020202020201EB
+:10C8300001010101010202010101010101010102E5
+:10C8400002020202020202020202020202020201C9
+:10C8500001010101010101010101010101010101C8
+:10C8600001010101010202020101010101010102B4
+:10C87000020202020201010102020202020202029B
+:10C880000202020202020202020202020202020288
+:10C890000202020202020202020202020202020278
+:10C8A0000202020202020202020202020202020268
+:10C8B0000202020202020202020202020202020258
+:10C8C0000202020202020202020202020202020248
+:10C8D0000202020202020202020202020202020238
+:10C8E000020202020002020202020202020202002C
+:10C8F0000101000100010000000101000101000030
+:10C900000000000000000000000000000000000126
+:10C910000101010101010101010101010101010107
+:10C9200001010201020202010101010101010102F2
+:10C9300002020202020202020202020202020202D7
+:10C9400002020202020202020202020202020201C8
+:10C9500001010101010101010101010101010102C6
+:10C9600002020202020202020202020202020201A8
+:10C9700001010101010202020101010101010102A3
+:10C980000202020202020202020202020202020287
+:10C990000202020202020202020202020202020277
+:10C9A0000202020202020202020202020202020267
+:10C9B0000202020202020202020202020202020158
+:10C9C0000101010101010101010101010101010256
+:10C9D0000202020202020202020202020202020237
+:10C9E0000202020202020202020202020202020029
+:10C9F000010100010001000000010100010101002E
+:10CA00000000000000000000000000000000000224
+:10CA100002020202020202020202020202020202F6
+:10CA200002020202020202020202020202020200E8
+:10CA300000000000000000000000000000000001F5
+:10CA400001010101010101010101010101010101D6
+:10CA500001010101010101010101010101010101C6
+:10CA600001010101010101010101010101010102B5
+:10CA70000202020202020202020202020202020296
+:10CA80000202020202020202020202020202020286
+:10CA90000202020202020202020202020202020276
+:10CAA0000202020202020202020202020202020266
+:10CAB0000202020202020202020202020202020256
+:10CAC0000202020202020202020202020202020246
+:10CAD0000202020202020202020202020202020236
+:10CAE0000202020202020202020202020202020028
+:10CAF0000001000000000000000101000001010130
+:10CB00000101010101010101010101010101010016
+:10CB10000000000000000000000000000000000114
+:10CB200001010101010101010101010101010100F6
+:10CB300000000000000000000000000000000002F3
+:10CB400002020202020202020202020202020201C6
+:10CB500001010101010101010101010101010101C5
+:10CB600001010101010101010101010101010101B5
+:10CB700001010101010101010101010101010100A6
+:10CB800000000000000000000000000000000002A3
+:10CB90000202020202020202020202020202020176
+:10CBA0000101010101010101010101010101010274
+:10CBB0000202020202020202020202020202020057
+:10CBC0000000000000000000000000000000000263
+:10CBD0000202020202020202020202020202020235
+:10CBE0000202020202020202020202020202020027
+:10CBF0000000000000000000000100000001010131
+:10CC00000101010101010101010101010101010015
+:10CC10000000000000000000000000000000000113
+:10CC200001010101010101010101010101010101F4
+:10CC300001010101010101010101010101010100E5
+:10CC400000000000000000000000000000000001E3
+:10CC500001010101010101010101010101010101C4
+:10CC600001010101010101010101010101010101B4
+:10CC700001010101010101010101010101010100A5
+:10CC800000000000000000000000000000000002A2
+:10CC90000202020202020202020202020202020274
+:10CCA0000202020202020202020202020202020066
+:10CCB0000000000000000000000000000000000074
+:10CCC0000000000000000000000000000000000064
+:10CCD0000000000000000000000000000000000252
+:10CCE0000202020202020202020202020202020026
+:10CCF0000000000000000000000000000000010132
+:10CD00000101010101010101010101010101010113
+:10CD10000101010101010101010101010101010103
+:10CD200001010101010101010101010101010101F3
+:10CD300001010101010101010101010101010101E3
+:10CD400001010101010101010101010101010101D3
+:10CD500001010101010101010101010101010101C3
+:10CD600001010101010101010101010101010101B3
+:10CD700001010101010101010101010101010100A4
+:10CD800000000000000000000000000000000002A1
+:10CD90000202020202020202020202020202020174
+:10CDA0000101010101010101010101010101010074
+:10CDB0000000000000000000000000000000000073
+:10CDC0000000000000000000000000000000000063
+:10CDD0000000000000000000000000000000000251
+:10CDE0000202020202020202020202020202020124
+:10CDF0000101010101010101010101010101010123
+:10CE00000101010101010101010101010101010112
+:10CE10000101010101010101010101010101010102
+:10CE200001010101010101010101010101010101F2
+:10CE300001010101010101010101010101010101E2
+:10CE400001010101010101010101010101010101D2
+:10CE500001010101010101010101010101010101C2
+:10CE600001010101010101010101010101010101B2
+:10CE700001010101010101010101010101010100A3
+:10CE800000000000000000000000000000000000A2
+:10CE90000000000000000000000000000000000191
+:10CEA0000101010101010101010101010101010073
+:10CEB0000000000000000000000000000000000072
+:10CEC0000000000000000000000000000000000062
+:10CED0000000000000000000000000000000000250
+:10CEE0000202020202020202020202020202020123
+:10CEF0000101010101010101010101010101010122
+:10CF00000101010101010101010101010101010111
+:10CF10000101010101010101010101010101010101
+:10CF200001010101010101010101010101010101F1
+:10CF300001010101010101010101010101010101E1
+:10CF400001010101010101010101010101010101D1
+:10CF500001010101010101010101010101010101C1
+:10CF600001010101010101010101010101010101B1
+:10CF700001010101010101010101010101010101A1
+:10CF80000101010101010101010101010101010191
+:10CF90000101010101010101010101010101010181
+:10CFA0000101010101010101010101010101010072
+:10CFB0000000000000000000000000000000000170
+:10CFC0000101010101010101010101010101010151
+:10CFD0000101010101010101010101010101010042
+:10CFE0000000000000000000000000000000000140
+:10CFF0000101010101010101010101010101010121
+:10D000000101010101010101010101010101010110
+:10D010000101010101010101010101010101010100
+:10D0200001010101010101010101010101010101F0
+:10D0300001010101010101010101010101010101E0
+:10D0400001010101010101010101010101010101D0
+:10D0500001010101010101010101010101010101C0
+:10D0600001010101010101010101010101010101B0
+:10D0700001010101010101010101010101010101A0
+:10D080000101010101010101010101010101010190
+:10D090000101010101010101010101010101010180
+:10D0A0000101010101010101010101010101010170
+:10D0B0000101010101010101010101010101010160
+:10D0C0000101010101010101010101010101010150
+:10D0D0000101010101010101010101010101010041
+:10D0E000000000000000000000000000000000013F
+:10D0F0000101010101010101010101010101010120
+:10D10000010101010101010101010101010101010F
+:10D1100001010101010101010101010101010101FF
+:10D1200001010101010101010101010101010101EF
+:10D1300001010101010101010101010101010101DF
+:10D1400001010101010101010101010101010101CF
+:10D1500001010101010101010101010101010101BF
+:10D1600001010101010101010101010101010101AF
+:10D17000010101010101010101010101010101019F
+:10D18000010101010101010101010101010101018F
+:10D19000010101010101010101010101010101017F
+:10D1A000010101010101010101010101010101016F
+:10D1B000010101010101010101010101010101015F
+:10D1C000010101010101010101010101010101014F
+:10D1D0000101010101010101010101010101010040
+:10D1E000000000000000000000000000000000003F
+:10D1F000000000000000000000000000000000002F
+:10D20000000000000000000000000000000000001E
+:10D21000000000000000000000000000000000020C
+:10D2200002020202020202020202020202020202DE
+:10D2300002020202020202020202020202020202CE
+:10D2400002020202020202020202020202020202BE
+:10D2500002020202020202020202020202020202AE
+:10D26000020202020202020202020202020202029E
+:10D27000020202020202020202020202020202028E
+:10D28000020202020202020202020202020202027E
+:10D29000020202020202020202020202020202026E
+:10D2A000020202020202020202020202020202025E
+:10D2B000020202020202020202020202020202024E
+:10D2C000020202020202020202020202020202023E
+:10D2D0000202020202020202020202020202020030
+:10D2E000000000000000000000000000000000003E
+:10D2F000000000000000000000000000000000002E
+:10D30000000000000000000000000000000000001D
+:10D31000000000000000000000000000000000000D
+:10D3200000000000000000000000000000000000FD
+:10D3300000000000000000000000000000000000ED
+:10D3400000000000000000000000000000000002DB
+:10D3500002020202020202020202020202020202AD
+:10D36000020202020202020202020202020202029D
+:10D37000020202020202020202020202020202008F
+:10D38000000000000000000000000000000000009D
+:10D39000000000000000000000000000000000028B
+:10D3A000020202020202020202020202020202005F
+:10D3B000000000000000000000000000000000026B
+:10D3C000020202020202020202020202020202023D
+:10D3D000020202020202020202020202020202002F
+:10D3E000000000000000000000000000000000003D
+:10D3F000000000000000000000000000000000002D
+:10D40000000000000000000000000000000000001C
+:10D41000000000000000000000000000000000000C
+:10D4200000000000000000000000000000000000FC
+:10D4300000000000000000000000000000000000EC
+:10D4400000000000000000000000000000000000DC
+:10D4500000000000000000000000000000000000CC
+:10D4600000000000000000000000000000000000BC
+:10D4700000000000000000000000000000000000AC
+:10D48000000000000000000000000000000000009C
+:10D49000000000000000000000000000000000008C
+:10D4A000000000000000000000000000000000007C
+:10D4B000000000000000000000000000000000006C
+:10D4C000000000000000000000000000000000005C
+:10D4D000000000000000000000000000000000004C
+:10D4E000000000000000000000000000000000310B
+:10D4F000000000000000000000000000000000002C
+:10D50000000000000000000000000000000000001B
+:10D51000000000000000000000000000000000000B
+:10D5200000000000000000000000000000000000FB
+:10D5300000000000000000000000000100010101E7
+:10D5400001000000000000000000000000000000DA
+:10D5500000000000000000000000000000000000CB
+:10D5600000000000000000000000000000000000BB
+:10D5700000000000000000000000000000000000AB
+:10D58000000000000000000000000000000000009B
+:10D59000000000000000000000000000000000008B
+:10D5A000000000000000000000000000000000007B
+:10D5B000000000000000000000000000000000006B
+:10D5C000000000000000000000000000000000005B
+:10D5D000000000000000000000000000000000004B
+:10D5E000000000000000000000000000000000003B
+:10D5F000000000000000000000000000000000002B
+:10D60000000000000000000000000000000000001A
+:10D61000000000000000000000000000000000000A
+:10D6200000000000000000000000000000000000FA
+:10D6300000000000000000000000010101010101E4
+:10D6400001010000000000010000000000000000D7
+:10D6500000000000000000000000000000000000CA
+:10D6600000000000000000000000000000000000BA
+:10D6700000000000000000000000000000000000AA
+:10D68000000000000000000000000000000000009A
+:10D69000000000000000000000000000000000008A
+:10D6A000000000000000000000000000000000007A
+:10D6B000000000000000000000000000000000006A
+:10D6C000000000000000000000000000000000005A
+:10D6D000000000000000000000000000000000004A
+:10D6E000000000000000000000000000000000003A
+:10D6F000000000000000000000000000000000002A
+:10D700000000000000000000000000000000000019
+:10D710000000000000010000000000000000000008
+:10D7200000000000010000000000000000000000F8
+:10D7300000000000000000000000010101010101E3
+:10D7400001010100000000010000000000000000D5
+:10D7500000000000000000000000000000000000C9
+:10D7600000000000000000000000000000000000B9
+:10D7700000000000000000000000000000000000A9
+:10D780000000000000000000000000000000000099
+:10D790000000000000000000000000000000000089
+:10D7A0000000000000000000000000000000000079
+:10D7B0000000000000000000000000000000000069
+:10D7C0000000000000000000000000000000000059
+:10D7D0000000000000000000000000000000000049
+:10D7E0000000000000000000000000000000000039
+:10D7F0000000000000000000000000000000000029
+:10D800000000000000000000000000000000000018
+:10D810000000000001010000000000000000000006
+:10D8200000000001010101000000000000000000F4
+:10D8300000000000010000000000010101010101E1
+:10D8400001010100000000010000000000000000D4
+:10D8500000000000000000000000000000000000C8
+:10D8600000000000000000000000000000000000B8
+:10D8700000000000000000000000000000000000A8
+:10D880000000000000000000000000000000000098
+:10D890000000000000000000000000000000000088
+:10D8A0000000000000000000000000000000000078
+:10D8B0000000000000000000000000000000000068
+:10D8C0000000000000000000000000000000000058
+:10D8D0000000000000000000000000000000000048
+:10D8E0000000000000000000000000000000000038
+:10D8F0000000000001000000000000000000000027
+:10D900000000000000000000000000000000000017
+:10D910000000000101010100000000000000000003
+:10D9200000000001010101000000000000000000F3
+:10D9300000000001010101000001010101010101DC
+:10D9400001010100000000010000000000000000D3
+:10D9500000000000000000000000000000000000C7
+:10D9600000000000000000000000000000000000B7
+:10D9700000000000000000010000000000000000A6
+:10D980000000000000000000000000000000000097
+:10D990000000000000000000000000000000000087
+:10D9A0000000000000000000000000000000000077
+:10D9B0000000000000000000000000000000000067
+:10D9C0000000000000000000000000000000000057
+:10D9D0000000000000000000000000000000000047
+:10D9E0000000000000000000000000000000000037
+:10D9F0000000000101000000000000000000000025
+:10DA00000000000000000000000000000000000016
+:10DA10000000000101010100000000000000000002
+:10DA200000000101010101000000000000000000F1
+:10DA300000000001010101010101010101010101D9
+:10DA400001010100000000010000000000000000D2
+:10DA500000000000000000000000000000000000C6
+:10DA600000000000010000000000000000000000B5
+:10DA700000000000000000010000000000000000A5
+:10DA80000000000000000000000000000000000096
+:10DA90000000000000000000000000000000000086
+:10DAA0000000000000000000000000000000000076
+:10DAB0000000000000000000000000000000000066
+:10DAC0000000000000000000000000000000000056
+:10DAD0000000000000000000000000000000000046
+:10DAE0000000000000000000000000000000000036
+:10DAF0000000000101000000000000000000000024
+:10DB00000000000000000000000000000000000015
+:10DB100000000101010101000000000000000001FF
+:10DB200000010101010101000000000000000000EF
+:10DB300000000101010101010101010101010101D7
+:10DB400001010100000000010000000000000000D1
+:10DB500000000000000000000000000000000000C5
+:10DB600000000001010101000000000000000000B1
+:10DB700000000000000000010000000000000000A4
+:10DB80000000000000010000000000000000000094
+:10DB90000000000000000000000000000000000085
+:10DBA0000000000000000000000000000000000075
+:10DBB0000000000000010000000000000000000064
+:10DBC0000000000000010100000000000000000053
+:10DBD0000000000000000000000000000000000045
+:10DBE0000000000000000000000000000000000035
+:10DBF0000000000101000000000000000000000023
+:10DC00000000000000000000000000000000000014
+:10DC100000010101010101000000000000000001FD
+:10DC200000010101010101000000000000000001ED
+:10DC300000010101010101010101010101010101D5
+:10DC400001010100000000010000000000000000D0
+:10DC500000000000000000000000000000000000C4
+:10DC600000000001010101000000000000000000B0
+:10DC700000000000000000010000000000000000A3
+:10DC80000000000000010000000000000000000093
+:10DC90000000000000010000000000000000000083
+:10DCA0000000000000000000000000000000000074
+:10DCB0000000000001010000000000000000000062
+:10DCC0000000000001010100000000000000000051
+:10DCD0000000000000000000000000000000000044
+:10DCE0000000000000000000000000000000000034
+:10DCF0000000000101000000000000000000000022
+:10DD00000000000000000000000000000000000013
+:10DD100000010101010101000000000101010001F9
+:10DD200001010101010101000000000000000001EB
+:10DD300000010101010101010101010101010101D4
+:10DD400001010100000000010000000000000000CF
+:10DD500000000000000000000000000000000000C3
+:10DD600000000001010101000000000000000000AF
+:10DD700000020000000000010000000000000000A0
+:10DD80000000000000010000000000000000000092
+:10DD90000000000001010000000000000000000081
+:10DDA0000000000000000000000000000000000073
+:10DDB000000000010101010000000000000000005F
+:10DDC000000000010101010000000000000000004F
+:10DDD0000000000000000000000000000000000043
+:10DDE0000000000000000000000000000000000033
+:10DDF0000000000101000000000000000000000021
+:10DE0000000000000000000000000001010000010F
+:10DE100001010101010101010000000101010001F6
+:10DE200001010101010101000000000101010001E7
+:10DE300001010101010101010101010101010101D2
+:10DE400001010100000000010000000000000000CE
+:10DE500000000000000100000000000100000000C0
+:10DE600000010001010101000000000000000000AD
+:10DE7000000200000000000100000000000000009F
+:10DE80000000000001010000000000000000000090
+:10DE9000000000010101000000000000000000007F
+:10DEA0000000000000000000000000000000000072
+:10DEB000000000010101010000000001000000005D
+:10DEC000000000010101010000000000000000004E
+:10DED0000000000000000000000000000000000042
+:10DEE0000000000000000000000000000000000032
+:10DEF0000000000101000000000000000000000020
+:10DF0000000000000000000000000001010000010E
+:10DF100001010101010101010000000101010101F4
+:10DF200001010101010101000000000101010001E6
+:10DF300001010101010101010101010101010101D1
+:10DF400001010100000100010000000000000000CC
+:10DF500000000000010100000000000100000000BE
+:10DF600000010101010101000000000000000000AB
+:10DF7000020200000000000100000000000000009C
+:10DF8000000000000101000000000000000000008F
+:10DF9000000000010101000000000000000000007E
+:10DFA000000000000001010000000000000000006F
+:10DFB000000000010101010000000001000000005C
+:10DFC000000000010101010000000000000000004D
+:10DFD000000000000001010000000000000000003F
+:10DFE0000000000000000100000000000000000030
+:10DFF000000000010100000000000000000000001F
+:10E00000000000000000000000000001010100010C
+:10E0100001010101010101010100010101010101F1
+:10E0200001010101010101000000000101010101E4
+:10E0300001010101010101010101010101010101D0
+:10E0400001010100010100010000000000000000CA
+:10E0500000000001010101000000000101000001B9
+:10E0600000010101010101000000000000000000AA
+:10E07000020100000000000100000000000000009C
+:10E08000000000000101000000000000000000008E
+:10E09000000000010101010000000000000000007C
+:10E0A000000000000101010000000000000000006D
+:10E0B000000000010101010000000001000000005B
+:10E0C000000100010101010000000000000000004B
+:10E0D000000000000101010000000000000000003D
+:10E0E000000000000000010000000000000000002F
+:10E0F000000000010100000000000000000000001E
+:10E10000000000000000000001000001010100010A
+:10E1100001010101010101010101010101010101EF
+:10E1200001010101010101000100010101010101E1
+:10E1300001010101010101010101010101010101CF
+:10E1400001010101010101010000000000000000C7
+:10E1500000000001010101000100000101000001B7
+:10E1600000010101010101000000000002020000A5
+:10E17000020100000000000100000000000000009B
+:10E180000000000001010000000000000002000289
+:10E190000200000101010100000000000000000079
+:10E1A000000000010101010000000000000000006B
+:10E1B000000000010101010000000001000000005A
+:10E1C0000001010101010100000000000000000049
+:10E1D000000000010101010000000000000000003B
+:10E1E000000000000001010000000000000000002D
+:10E1F000000000010100000000000000000000001D
+:10E200000000000000000000010000010101000109
+:10E2100001010101010101010101010101010101EE
+:10E2200001010101010101000101010101010101DF
+:10E2300001010101010101010101010101010101CE
+:10E2400001010101010101010000000000000000C6
+:10E2500000000001010101000100000101010001B5
+:10E2600001010101010101000000000002020000A3
+:10E27000010100000001000100000000000000009A
+:10E280000000000001010000000000000002000288
+:10E290000200000101010100000000010000000077
+:10E2A0000001000101010100000000000000000069
+:10E2B0000000000101010100000000010101000156
+:10E2C0000101010101010100000000000000000047
+:10E2D000000000010101010000000000000000003A
+:10E2E000000000000101010000000000000000002B
+:10E2F000000000010100000000000000000000001C
+:10E300000000000000000001010001010101000106
+:10E3100001010101010101010101010101010101ED
+:10E3200001010101010101010101010101010101DD
+:10E3300001010101010101010101010101010201CC
+:10E3400001010101010101010000000100000000C4
+:10E3500000000001010101000100010101010001B3
+:10E36000010101010101010000020002010102029C
+:10E370000101000000010001000000000000000099
+:10E380000000000101010100000000000001000187
+:10E390000101000101010100000000010000000076
+:10E3A0000001010101010100000000000000000067
+:10E3B0000000000101010100010001010101000153
+:10E3C0000101010101010100000000000000000046
+:10E3D0000000000101010100000000000000000039
+:10E3E0000000000101010100000000000000000029
+:10E3F000000000010100000000000000000000001B
+:10E400000000000000000001010001010101000105
+:10E4100001010101010101010101010101010101EC
+:10E4200001010101010101010101010101010101DC
+:10E4300001010101010101010101020201020202C7
+:10E4400002010101010101020000000100000000C1
+:10E4500000000001010101000101010101010001B1
+:10E460000101010101010101000102020101020299
+:10E470000101020000010002000000000002000291
+:10E480000200000101010100000000000001000184
+:10E490000101000101010100000000010100000173
+:10E4A0000101010101010100000000000000000065
+:10E4B000000100010101010001010101010101014F
+:10E4C0000101010101010100000000010100000043
+:10E4D0000000000101010100000000010100000036
+:10E4E0000000000101010100000000000000000028
+:10E4F000000000010100000000000000000000001A
+:10E500000000000000000001010001010101000104
+:10E5100001010101010101010101010101010101EB
+:10E5200001010101010101010101010101010101DB
+:10E5300001010101010101020102020202020202C3
+:10E5400002010101010101020000000100000000C0
+:10E5500000000001010101010101010101010001AF
+:10E56000010101010101010100010101010102029A
+:10E570000101010001010002000000000002000290
+:10E580000200010101010100000000000101000181
+:10E590000101000101010100010000010100000171
+:10E5A0000101010101010100010000000000000063
+:10E5B000000100010101010101010101010101014D
+:10E5C0000101010101010100000000010100000042
+:10E5D0000000010101010100000000010100000034
+:10E5E0000000000101010100010000000000000026
+:10E5F000000000000001000000000000000000001A
+:10E600000000000000010001010001010101000102
+:10E6100001010101010101010101010101010101EA
+:10E6200001010101010101010101010101010101DA
+:10E6300001010101010101020202020202020202C1
+:10E6400002020201010101020100000100000000BC
+:10E6500000000101010101010101010101010101AC
+:10E66000010101010101010100010101010101019B
+:10E670000101010001010002000000000001000191
+:10E680000101010101010100000000000101000180
+:10E69000010100010101010001000001010100016F
+:10E6A0000101010101010100010000000000000062
+:10E6B000000100010101010101010101010101014C
+:10E6C0000101010101010100000000010101000040
+:10E6D0000001010101010100000000010101010030
+:10E6E0000001000101010100010000000000000024
+:10E6F0000000000000010000000000000000000019
+:10E700000000000100010001010001010101000100
+:10E7100001010101010101010101010101010101E9
+:10E7200001010101010101010101010101010101D9
+:10E7300001010101010101020202020202020202C0
+:10E7400002020201010101020100000100000000BB
+:10E7500000000101010101010101010101010101AB
+:10E76000010101010101010100010101010101019A
+:10E77000010101000101000200000000000102018E
+:10E78000010101010101010000000000010100017F
+:10E79000010100010101010101000101010100016C
+:10E7A0000101010101010100010001000000000060
+:10E7B000000101010101010101010101010101014A
+:10E7C000010101010101010001000001010100003E
+:10E7D000000101010101010001000001010101002E
+:10E7E0000001010101010100010000010000000021
+:10E7F0000000000000010000000000000000000018
+:10E8000000000001000100010100010101010101FE
+:10E8100001010202020201010101010101010101E4
+:10E8200001010101010101010101010101010101D8
+:10E8300001010101010101020202020202020202BF
+:10E8400002020201010101020100000100000000BA
+:10E8500000000101010101010101010101010101AA
+:10E860000101010101010101000101010101010199
+:10E870000101010101010102000100010101020188
+:10E88000010101010101010000000000010100017E
+:10E890000101000101010101010101010101010169
+:10E8A000010101010101010001000100000100005E
+:10E8B0000001010101010101010101010101010149
+:10E8C000010101010101010001010001010100013B
+:10E8D000000101010101010001010001010101012B
+:10E8E000010101010101010001000101000000001E
+:10E8F0000000000000010000000000000000000017
+:10E9000000000001000100010100010202010102FA
+:10E9100002020202020202020101010101010102DE
+:10E9200001010202020101010101010101010101D4
+:10E9300001010101010101020202020202020202BE
+:10E9400002020201010101020100000101000000B8
+:10E9500000000101010101010101010101010101A9
+:10E960000101010101010101000101010101010198
+:10E970000101010101010102000101010101010187
+:10E98000010101010101010000000000010100017D
+:10E990000101000101010101010101010101010168
+:10E9A000010101010101010101000100000100005C
+:10E9B0000001010101010101010101010101010148
+:10E9C0000101010101010101010101010101000138
+:10E9D0000001010101010101010101010101010128
+:10E9E0000101010101010100000101010001020119
+:10E9F0000000000000010000000200000001000013
+:10EA000000010001000100020200010202020102F5
+:10EA100002020202020202020101010202020202D9
+:10EA200002020202020202010101010101010102CE
+:10EA300001010202020101020202020202020202BA
+:10EA400002020201010101020100000101000000B7
+:10EA500000000101010101010101010101010101A8
+:10EA60000101010101010102000201010101010195
+:10EA70000101010101010102000101010101010186
+:10EA80000101010101020100010000000101010179
+:10EA90000101020202020101010101010101010162
+:10EAA0000101010101010101010101010101000058
+:10EAB0000001010101010101010101010101010147
+:10EAC0000101010101010101010101010101010136
+:10EAD0000101010101010101010101010101010126
+:10EAE0000101010101010100000101010001010119
+:10EAF0000000010000010000000200000001000011
+:10EB000000010101000100020200020202020102F2
+:10EB100002020202020202020202020202020202D5
+:10EB200002020202020202010101010202020202C9
+:10EB300002020202020202020202020202020202B5
+:10EB400002020201010101020100000101010000B5
+:10EB500000000101010101010101010201010101A6
+:10EB6000010101020201010200020201020201018F
+:10EB70000201010101010102010101010101010183
+:10EB80000101010102020100010000000101010177
+:10EB90000101010202020101010101010101010162
+:10EBA0000101010101010101010101010101000057
+:10EBB0000001010202020101010101020101010142
+:10EBC0000101010101010101010101010101010135
+:10EBD0000101010101010101010101010101010125
+:10EBE0000101010101010100000101010101010117
+:10EBF000000101000001010000020000000202000B
+:10EC000000010101010100020200020202020102F0
+:10EC100002020202020202020202020202020202D4
+:10EC200002020202020202020202020202020202C4
+:10EC300002020202020202020202020202020202B4
+:10EC400002020202020201020100000101010000B1
+:10EC500000000101010101010201010202010102A2
+:10EC60000102020202020202000202020202010189
+:10EC70000201020101010102010201010101010180
+:10EC80000101020102020100010000000202010272
+:10EC9000020201020202020101010101010101015E
+:10ECA0000101010101010101010101010101000056
+:10ECB0000001010202020201010101020101010140
+:10ECC0000101010202020201010101010101010130
+:10ECD0000101010101010101010101010101010124
+:10ECE0000101010101010100000101010101010116
+:10ECF0000001010000010100000202000002020008
+:10ED000000010102010100020200020202020202ED
+:10ED100002020202020202020202020202020202D3
+:10ED200002020202020202020202020202020202C3
+:10ED300002020202020202020202020202020202B3
+:10ED400002020202020202020100000201010000AE
+:10ED5000000001020202010202020202020201029A
+:10ED60000202020202020202000202020202020285
+:10ED70000202020101010102010202020202010279
+:10ED8000020202020202010001000001020202026C
+:10ED9000020201020202020101010101010101015D
+:10EDA0000101010101010101020101010101000054
+:10EDB0000001010202020202020202020202020237
+:10EDC000020202020202020101010101010101012C
+:10EDD0000101010101010101010101010101010123
+:10EDE0000101010101010100000000000101010118
+:10EDF0000101010000010100000202000202020202
+:10EE000002020202010100020200020202020202E8
+:10EE100002020202020202020202020202020202D2
+:10EE200002020202020202020202020202020202C2
+:10EE300002020202020202020202020202020202B2
+:10EE400002020202020202020200000201010000AC
+:10EE50000000010202020202020202020202020297
+:10EE60000202020202020202000202020202020284
+:10EE70000202020101020102010202020202020276
+:10EE80000202020202020200020001010202020268
+:10EE9000020201020202020101010101010101015C
+:10EEA0000101010101010102020102010101000051
+:10EEB0000002010202020202020202020202020235
+:10EEC0000202020202020201010101020201010129
+:10EED000010101020202020101010102020102011B
+:10EEE0000101010101010200000000000100000019
+:10EEF00001010100000101020202020102020202FC
+:10EF000002020202010100020200020202020202E7
+:10EF100002020202020202020202020202020202D1
+:10EF200002020202020202020202020202020202C1
+:10EF300002020202020202020202020202020202B1
+:10EF400002020202020202020200000201010000AB
+:10EF50000000020202020202020202020202020295
+:10EF60000202020202020202000202020202020283
+:10EF70000202020102020102020202020202020273
+:10EF80000202020202020200020001010202020267
+:10EF9000020201020202020101010102010101015A
+:10EFA000010101010101010202020201010200004E
+:10EFB0000002020202020202020202020202020233
+:10EFC0000202020202020202020201020202010124
+:10EFD0000101020202020202020201020202020115
+:10EFE0000101010202020200000000000000000016
+:10EFF00001010000000101020202020102020202FC
+:10F0000002020202010200020200020202020202E5
+:10F0100002020202020202020202020202020202D0
+:10F0200002020202020202020202020202020202C0
+:10F0300002020202020202020202020202020202B0
+:10F0400002020202020202020200010202010000A8
+:10F050000000020202020202020202020202020294
+:10F060000202020202020202010202020202020281
+:10F070000202020202020102020202020202020271
+:10F080000202020202020202020002020202020262
+:10F090000202020202020202020101020201010254
+:10F0A0000202020202020202020202020202000143
+:10F0B0000102020202020202020202020202020231
+:10F0C0000202020202020202020202020202020220
+:10F0D0000102020202020202020202020202020211
+:10F0E0000202020202020200000000000000000012
+:10F0F00000000000000101020201020202020202FD
+:10F1000002020202010200020200020202020202E4
+:10F1100002020202020202020202020202020202CF
+:10F1200002020202020202020202020202020202BF
+:10F1300002020202020202020202020202020202AF
+:10F1400002020202020202020201010202020001A4
+:10F150000000020202020202020202020202020293
+:10F160000202020202020202010202020202020280
+:10F17000020202020202020202020202020202026F
+:10F18000020202020202020202020202020202025F
+:10F19000020202020202020202020202020202024F
+:10F1A0000202020202020202020202020202000142
+:10F1B0000102020202020202020202020202020230
+:10F1C000020202020202020202020202020202021F
+:10F1D000020202020202020202020202020202020F
+:10F1E0000202020202020200000000000000000011
+:10F1F00000000000000101020201020202020202FC
+:10F2000002020202010200020202020202020202E1
+:10F2100002020202020202020202020202020202CE
+:10F2200002020202020202020202020202020202BE
+:10F2300002020202020202020202020202020202AE
+:10F2400002020202020202020201010202020001A3
+:10F250000000020202020202020202020202020292
+:10F26000020202020202020202020202020202027E
+:10F27000020202020202020202020202020202026E
+:10F28000020202020202020202020202020202025E
+:10F29000020202020202020202020202020202024E
+:10F2A0000202020202020202020202020202000141
+:10F2B000010202020202020202020202020202022F
+:10F2C000020202020202020202020202020202021E
+:10F2D000020202020202020202020202020202020E
+:10F2E0000202020202020200000000000000000010
+:10F2F0000000000000010102020101020101010100
+:10F3000001020202020200020202020202020202E0
+:10F3100002020202020202020202020202020202CD
+:10F3200002020202020202020202020202020202BD
+:10F3300002020202020202020202020202020202AD
+:10F3400002020202020202020202020202020001A0
+:10F350000001020202020202020202020202020290
+:10F36000020202020202020202020202020202027D
+:10F37000020202020202020202020202020202026D
+:10F38000020202020202020202020202020202025D
+:10F39000020202020202020202020202020202024D
+:10F3A000020202020202020202020202020200023F
+:10F3B000020202020202020202020202020202022D
+:10F3C000020202020202020202020202020202021D
+:10F3D000020202020202020202020202020202020D
+:10F3E000020202020202020000000000000000000F
+:10F3F00000000002020201020201010201010101FA
+:10F4000001020202020200020202020202020202DF
+:10F4100002020202020202020202020202020202CC
+:10F4200002020202020202020202020202020202BC
+:10F4300002020202020202020202020202020202AC
+:10F44000020202020202020202020202020200029E
+:10F45000000102020202020202020202020202028F
+:10F46000020202020202020202020202020202027C
+:10F47000020202020202020202020202020202026C
+:10F48000020202020202020202020202020202025C
+:10F49000020202020202020202020202020202024C
+:10F4A000020202020202020202020202020202023C
+:10F4B000020202020202020202020202020202022C
+:10F4C000020202020202020202020202020202021C
+:10F4D000020202020202020202020202020202020C
+:10F4E000020202020202020000000000000000000E
+:10F4F00000000002020201020100010201010101FB
+:10F5000001010101020200020202020202020202E1
+:10F5100002020202020202020202020202020202CB
+:10F5200002020202020202020202020202020202BB
+:10F5300002020202020202020202020202020202AB
+:10F54000020202020202020202020202020202029B
+:10F55000010102020202020202020202020202028D
+:10F560000202020202020202020101010101020181
+:10F57000010201020202020202020202020202026D
+:10F58000020202020202020202020202020202025B
+:10F59000020202020202020202020202020202024B
+:10F5A000020202020202020202020202020202023B
+:10F5B000020202020202020202020202020202022B
+:10F5C000020202020202020202020202020202021B
+:10F5D000020202020202020202020202020202020B
+:10F5E000020202020202020000000000000000000D
+:10F5F00000000002020201020100010201010101FA
+:10F6000001010101020200020202020202020202E0
+:10F6100002020202020202020202020202020202CA
+:10F6200002020202020202020202020202020202BA
+:10F6300002020202020202020202020202020202AA
+:10F64000020202020202020202020202020202029A
+:10F65000020202020202020202020202020202028A
+:10F660000202020202020202020101010101020180
+:10F67000010201020202020202020202020202026C
+:10F68000020202020202020202020202020202025A
+:10F69000020202020202020202020202020202024A
+:10F6A000020202020202020202020202020202023A
+:10F6B000020202020202020202020202020202022A
+:10F6C000020202020202020202020202020202021A
+:10F6D000020202020202020202020202020202020A
+:10F6E0000202020202020200000202020000000006
+:10F6F00000000002020202010100000200000000FE
+:10F7000000010101020200020202020202020202E0
+:10F7100002020202020202020202020202020202C9
+:10F7200002020202020202020202020202020202B9
+:10F7300002020202020202020202020202020202A9
+:10F740000202020202020202020202020202020299
+:10F750000202020202020202020202020202020289
+:10F76000020202020202020202010101010102017F
+:10F77000010201020202020202020202020202026B
+:10F780000202020202020202020202020202020259
+:10F790000202020202020202020202020202020249
+:10F7A0000202020202020202020202020202020239
+:10F7B0000202020202020202020202020202020229
+:10F7C0000202020202020202020202020202020219
+:10F7D0000202020202020202020202020202020209
+:10F7E00002020202020202000202020200020202FD
+:10F7F00000000002020202010100000100000000FE
+:10F8000000010101020200020202020202020202DF
+:10F8100002020202020202020202020202020202C8
+:10F8200002020202020202020202020202020202B8
+:10F8300002020202020202020202020202020202A8
+:10F840000202020202020202020202020202020298
+:10F850000202020202020202020202020202020288
+:10F86000020202020202020102020202020201027A
+:10F87000020202020202020202010101010102016E
+:10F88000010101020202020000000000000000006D
+:10F890000000000000000002020202020202020256
+:10F8A0000202020202020202020202020202020238
+:10F8B0000202020202020202020202020202020228
+:10F8C0000202020202020202020202020202020218
+:10F8D0000202020202020202020202020202020208
+:10F8E00002020202020202000202020202020202FA
+:10F8F00000000202020202010000000100000000FC
+:10F9000000000000020200020202020202020202E1
+:10F9100002020202020202020202020202020202C7
+:10F9200002020202020202020202020202020202B7
+:10F9300002020202020202010101010102010101AF
+:10F94000010202010101010202020202020202029C
+:10F950000202020202020202020202020202020287
+:10F960000202020202020202010202020202020278
+:10F97000020102010101010002020202020202026E
+:10F980000202020202020200000000000000000069
+:10F990000000000000000002020202020202020255
+:10F9A0000202020202020202020202020202020237
+:10F9B0000202020202020202020202020202020227
+:10F9C0000202020202020202020202020202020217
+:10F9D0000202020202020202020202020202020207
+:10F9E00002020202020202020202020202020202F7
+:10F9F00002020202020202010000000100000000F7
+:10FA000000000000020100010101010101010101EA
+:10FA100001010101010101020202020202020202CD
+:10FA200002020202020202020202020202020202B6
+:10FA300002020202020202020202020201020202A7
+:10FA40000201010202020201020202020202020299
+:10FA50000202020202020202020202020202020286
+:10FA60000202020202020201020202020202010278
+:10FA70000202020202020201000000000000010076
+:10FA80000000000000000000000000000000000076
+:10FA90000000000000000002020202020202020254
+:10FAA000020202020202020101010101010101013F
+:10FAB000010101010101010202020202020202022D
+:10FAC0000202020202020202020202020202020216
+:10FAD0000202020202020202020202020202020206
+:10FAE00002020202020202020202020202020202F6
+:10FAF00002020202020202000000000100000000F7
+:10FB000000000000010101020202020202020202E0
+:10FB100002020202020202000000000000000000D7
+:10FB200000000000000000020202020202020202C3
+:10FB300002020202020202000000000002000000B5
+:10FB400000020200000000020101010101010101A7
+:10FB5000010101010101010202020202020202028C
+:10FB6000020202020202020101010101010101017E
+:10FB70000101010101010101010101010101010175
+:10FB8000010101010101010000000000000001006D
+:10FB90000000000000000002020202020202020253
+:10FBA0000202020202020202020202020202020235
+:10FBB0000202020202020202020202020202020225
+:10FBC0000202020202020202020202020202020215
+:10FBD0000202020202020202020202020202020205
+:10FBE00002020202020202020202020202020202F5
+:10FBF00002020202020202000000000000000000F7
+:10FC000000000000010101010101010101010101E8
+:10FC100001010101010101000000000000000000DD
+:10FC200000000000000000000000000000000000D4
+:10FC300000000000000000010101010101010101BB
+:10FC400001010100000000000202020202020202A1
+:10FC50000202020202020200000000000000000096
+:10FC6000000000000000000101010101010101018B
+:10FC70000101010101010101010101010101010174
+:10FC80000101010101010101010101010101010164
+:10FC9000010101010101010202020202020202024B
+:10FCA0000202020202020200000000000000000046
+:10FCB0000000000000000002020202020202020232
+:10FCC0000202020202020202020202020202020214
+:10FCD0000202020202020202020202020202020204
+:10FCE00002020202020202020202020202020202F4
+:10FCF00002020202020202000000000000000000F6
+:10FD000000000000010101010101010101010101E7
+:10FD100001010101010101010101010101010101D3
+:10FD200001010101010101000000000000000000CC
+:10FD300000000000000000010101010101010101BA
+:10FD400001010101010101010000000000000000AB
+:10FD500000000000000000000000000000000000A3
+:10FD6000000000000000000101010101010101018A
+:10FD70000101010101010101010101010101010173
+:10FD80000101010101010101010101010101010163
+:10FD9000010101010101010202020202020202024A
+:10FDA0000202020202020200000000000000000045
+:10FDB0000000000000000002020202020202020231
+:10FDC0000202020202020202020202020202020213
+:10FDD0000202020202020202020202020202020203
+:10FDE00002020202020202020202020202020202F3
+:10FDF00002020202020202000000000000000000F5
+:10FE000000000000010001010101010101010101E7
+:10FE100001010101010101010101010101010101D2
+:10FE200001010101010101010101010101010101C2
+:10FE300001010101010101010101010101010101B2
+:10FE400001010101010101010101010101010101A2
+:10FE50000101010101010101010101010101010192
+:10FE60000101010101010101010101010101010182
+:10FE70000101010101010101010101010101010172
+:10FE80000101010101010101010101010101010162
+:10FE90000101010101010102020202020202020249
+:10FEA000020202020202020101010101010101013B
+:10FEB0000101010101010101010101010101010132
+:10FEC000010101010101010000000000000000002B
+:10FED0000000000000000000000000000000000022
+:10FEE0000000000000000002020202020202020200
+:10FEF00002020202020202010101010101010101EB
+:10FF000001010101010101010101010101010101E1
+:10FF100001010101010101010101010101010101D1
+:10FF200001010101010101010101010101010101C1
+:10FF300001010101010101010101010101010101B1
+:10FF400001010101010101010101010101010101A1
+:10FF50000101010101010101010101010101010191
+:10FF60000101010101010101010101010101010181
+:10FF70000101010101010101010101010101010171
+:10FF80000101010101010101010101010101010161
+:10FF90000101010101010102020202020202020248
+:10FFA000020202020202020101010101010101013A
+:10FFB0000101010101010101010101010101010131
+:10FFC0000101010101010101010101010101010121
+:10FFD000010101010101010000000000000000001A
+:10FFE00000000000000000020202020202020202FF
+:10FFF00002020202020202010101010101010101EA
+:0200000290006C
+:1000000001010101010101010101010101010101E0
+:1000100001010101010101010101010101010101D0
+:1000200001010101010101010101010101010101C0
+:1000300001010101010101010101010101010101B0
+:1000400001010101010101010101010101010101A0
+:100050000101010101010101010101010101010190
+:100060000101010101010101010101010101010180
+:100070000101010101010101010101010101010170
+:100080000101010101010101010101010101010160
+:100090000101010101010101010101010101010150
+:1000A0000101010101010101010101010101010140
+:1000B0000101010101010101010101010101010130
+:1000C0000101010101010101010101010101010120
+:1000D0000101010101010101010101010101010110
+:1000E00001010101010101020202020202020202F7
+:1000F00002020202020202010101010101010101E9
+:1001000001010101010101010101010101010101DF
+:1001100001010101010101010101010101010101CF
+:1001200001010101010101010101010101010101BF
+:1001300001010101010101010101010101010101AF
+:10014000010101010101010101010101010101019F
+:10015000010101010101010101010101010101018F
+:10016000010101010101010101010101010101017F
+:10017000010101010101010101010101010101016F
+:10018000010101010101010101010101010101015F
+:10019000010101010101010101010101010101014F
+:1001A000010101010101010101010101010101013F
+:1001B000010101010101010101010101010101012F
+:1001C000010101010101010101010101010101011F
+:1001D000010101010101010101010101010101010F
+:1001E0000101010101010100000000000000000008
+:1001F00000000000000000010101010101010101F6
+:1002000001010101010101010101010101010101DE
+:1002100001010101010101010101010101010101CE
+:1002200001010101010101010101010101010101BE
+:1002300001010101010101010101010101010101AE
+:10024000010101010101010101010101010101019E
+:10025000010101010101010101010101010101018E
+:10026000010101010101010101010101010101017E
+:10027000010101010101010101010101010101016E
+:10028000010101010101010101010101010101015E
+:10029000010101010101010101010101010101014E
+:1002A000010101010101010101010101010101013E
+:1002B000010101010101010101010101010101012E
+:1002C000010101010101010101010101010101011E
+:1002D000010101010101010101010101010101010E
+:1002E0000101010101010100000000000000000007
+:1002F00000000000000000000000000000000000FE
+:1003000000000000000000000000000000000000ED
+:1003100000000000000000000000000000000000DD
+:1003200000000000000000000000000000000000CD
+:1003300000000000000000020202020202020202AB
+:10034000020202020202020202020202020202028D
+:10035000020202020202020202020202020202027D
+:10036000020202020202020202020202020202026D
+:10037000020202020202020202020202020202025D
+:10038000020202020202020202020202020202024D
+:10039000020202020202020202020202020202023D
+:1003A000020202020202020202020202020202022D
+:1003B000020202020202020202020202020202021D
+:1003C000020202020202020202020202020202020D
+:1003D00002020202020202020202020202020202FD
+:1003E00002020202020202000000000000000000FF
+:1003F00000000000000000000000000000000000FD
+:1004000000000000000000000000000000000000EC
+:1004100000000000000000000000000000000000DC
+:1004200000000000000000000000000000000000CC
+:1004300000000000000000000000000000000000BC
+:1004400000000000000000000000000000000000AC
+:10045000000000000000000000000000000000009C
+:10046000000000000000000202020202020202027A
+:10047000020202020202020202020202020202025C
+:10048000020202020202020202020202020202024C
+:10049000020202020202020000000000000000004E
+:1004A000000000000000000202020202020202023A
+:1004B000020202020202020202020202020202021C
+:1004C000020202020202020202020202020202020C
+:1004D00002020202020202020202020202020202FC
+:1004E00002020202020202000000000000000000FE
+:1004F00000000000000000000000000000000000FC
+:1005000000000000000000000000000000000000EB
+:1005100000000000000000000000000000000000DB
+:1005200000000000000000000000000000000000CB
+:1005300000000000000000000000000000000000BB
+:1005400000000000000000000000000000000000AB
+:10055000000000000000000000000000000000009B
+:10056000000000000000000000000000000000008B
+:10057000000000000000000000000000000000007B
+:10058000000000000000000000000000000000006B
+:10059000000000000000000000000000000000005B
+:1005A000000000000000000000000000000000004B
+:1005B000000000000000000000000000000000003B
+:1005C000000000000000000000000000000000002B
+:1005D000000000000000000000000000000000001B
+:1005E000000000000000000000000000000000000B
+:1005F00000000000000000300000000000000000CB
+:1006000000000000000000000000000000000000EA
+:1006100000000000000000000000000000000000DA
+:1006200000000000000000000000000000000000CA
+:1006300000000000000000000000000000000000BA
+:1006400000000000000000000000000000000000AA
+:100650000000000000000000000001000001010097
+:10066000000000000000000000000000000000008A
+:10067000000000000000000000000000000000007A
+:100680000000000000000000000000000001010068
+:10069000000000000000000000000000000000005A
+:1006A000000000000000000000000000000000004A
+:1006B000000000000000000000000000000000003A
+:1006C0000000000000000000000000000000010029
+:1006D000000000000000000000000000000000001A
+:1006E000000000000000000000000000000000000A
+:1006F00000000000000000000000000000000000FA
+:1007000000000000000000000000000000000000E9
+:1007100000000000000000000000000000000000D9
+:1007200000000000000000000000000000000000C9
+:1007300000000000000000000000000000000000B9
+:1007400000000000000000000000000000000000A9
+:100750000000000000000000010001000101010094
+:100760000000000000000000000000000000000089
+:100770000000000000000000000000000000000079
+:100780000000000000000001010000000001010065
+:100790000000000000000000000000000000000059
+:1007A0000000000000000000000000000000000049
+:1007B0000000000000000000000000000000000039
+:1007C0000000000000000000000000000000010028
+:1007D0000000000000000000000000000000000019
+:1007E0000000000000000000000000000000010008
+:1007F00000000000000001000000000000000000F8
+:1008000000000000000000000000000000000000E8
+:1008100000000000000000000000000000000000D8
+:1008200000000000000000000000000000000000C8
+:1008300000000000000000000000000000000000B8
+:1008400000000000000001000000000000000000A7
+:100850000000000000010100010001010101010090
+:100860000000000000000000000001000001010085
+:100870000000000000000000000000000000000078
+:100880000000000000010101010000000001010062
+:100890000000000000000000000000000000000058
+:1008A0000000000000000000000000000000010047
+:1008B0000000000000000000000000000000000038
+:1008C0000000000000000100000000000001010025
+:1008D0000000000000000000000000000000000018
+:1008E0000000000000000000000000000000010007
+:1008F00000000000000001010000000000000000F6
+:1009000001000000000000000001000000000000E5
+:1009100000000000000000000000000000000000D7
+:1009200000000000000000000000000000000000C7
+:1009300000000000000000000000000000000000B7
+:1009400000000000000001000000000000000000A6
+:10095000000100000001010101010101010101008C
+:100960000000000000000001010001000101010081
+:100970000000000000000000000000000000000077
+:10098000000000010001010101010000010101005E
+:100990000000000000000000000000000000000057
+:1009A0000000000000000000010100000000010044
+:1009B0000000000000000000000000000000000037
+:1009C0000000000000000100010100000101010021
+:1009D0000000000000000000000000000000000017
+:1009E0000000000000000100000000000001010004
+:1009F00000000000000001010000000000010001F3
+:100A000001000000010000000001010100000000E1
+:100A100000000000000000000000000000000000D6
+:100A200000000000000000000000000000000000C6
+:100A300000000000000000000000000000000000B6
+:100A400000000000000001000000000000010100A3
+:100A5000000100000101010101010101010101008A
+:100A6000000000000001010101000100010101007E
+:100A70000000000000000000000000000000000076
+:100A8000000001010001010101010101010101005A
+:100A90000000000000000000000000000000000056
+:100AA0000000000000000100010100000001010041
+:100AB0000000000000000000000000000000000036
+:100AC000000000000000010001010101010101001E
+:100AD0000000000000000000000000000000000016
+:100AE0000000000000000100010000000001010002
+:100AF00000000000000001010100000000010001F1
+:100B000001000000010000000001010100000000E0
+:100B100000000000000000000000000000010100D3
+:100B200000000000000000000000000000010100C3
+:100B300000000000000000000000000000000000B5
+:100B400000000000000001010100000000010100A0
+:100B50000101000101010101010101010101010087
+:100B6000000100000001010101010100010101007B
+:100B70000000000000000000000000000000000075
+:100B80000001010100010101010101010101010058
+:100B90000000000000000000000000000000000055
+:100BA000000000000000010101010000010101003E
+:100BB0000000000000000000000000000000000035
+:100BC000000000000000010101010101010101001C
+:100BD0000000000000000000000000000000000015
+:100BE0000000000000000100010000000001010001
+:100BF00000000000000001010100000000010001F0
+:100C000001000000010100000001010100000000DE
+:100C100000000000000000000100000001010100D0
+:100C200000000000000000000100000001010100C0
+:100C300000000000000000000000000000000000B4
+:100C4000000000000000010101000000000101009F
+:100C50000101010101010101010101010101010085
+:100C60000001010000010101010101010101010078
+:100C70000000000000000000000000000000000074
+:100C80000001010101010101010101010101010056
+:100C90000000000000000000000000000000000054
+:100CA000000000000001010101010101010101003A
+:100CB0000000000000000000000000000001010032
+:100CC000000000000001010101010101010101001A
+:100CD0000000000000000000000000000000000014
+:100CE00000000000000001000101000001010100FE
+:100CF00000000000000001010101000001010001ED
+:100D000001010001010100000001010101000000DA
+:100D100000000000000001000100010001010100CD
+:100D200000000000000001000100010101010100BC
+:100D300000000000000000000000000000000000B3
+:100D4000000000010000010101000000010101009C
+:100D50000101010101010101010101010101010084
+:100D60000001010100010101010101010101010076
+:100D70000000000000000000000000000000000073
+:100D80000101010101010101010101010101010054
+:100D90000000000000000000000000000000000053
+:100DA0000001000100010101010101010101010037
+:100DB0000000000000000000010000000001010030
+:100DC0000001000100010101010101010101010017
+:100DD0000000000000000000000000000000000013
+:100DE00000000000000001000101010101010100FB
+:100DF00000000000000001010101010101010002E9
+:100E000002010101010100000001010101000000D7
+:100E100000000000000001010101010001010100CA
+:100E200000000000000001010101010101010100B9
+:100E300000000000000000000000000000010100B0
+:100E40000000010100010101010000010101010197
+:100E50000101010101010101010101010101010083
+:100E60000001010101010101010101010101010074
+:100E70000000000000000000000000000000000171
+:100E80000101010101010101010101010101010053
+:100E90000000000000000100000000000000010050
+:100EA0000001010101010101010101010101010034
+:100EB000000000000000010001000000000101002E
+:100EC0000001010101010101010101010101010014
+:100ED0000000000000000000000000000000000012
+:100EE00000000000000001010101010101010100F9
+:100EF00000000000000001010101010101010002E8
+:100F000002010101020100000001010101000000D5
+:100F100000000000000101010101010101010101C6
+:100F200000000000000101010101010101010100B7
+:100F300000000000000000000100000000010100AE
+:100F40000001010100010101010100010101010194
+:100F50000101010101010101010101010101010082
+:100F60000101010101010101010101010101010072
+:100F7000000000000000000000000000000101016E
+:100F80000101010101010101010101010101010052
+:100F9000000000000000010001000000000001004E
+:100FA0000101010101010101010101010101010032
+:100FB000000000000000010101010000010101002A
+:100FC0000101010101010101010101010101010012
+:100FD0000000000000000000000000000000010010
+:100FE00000000100000101010101010101010100F6
+:100FF00000000000000101010101010101010002E6
+:1010000002010101020100000001010101000000D4
+:1010100000010001000101010101010101010101C3
+:1010200000000001000101010101010101010100B5
+:1010300000000000000001000100000100010100AB
+:101040000001010100010101010101010101010192
+:101050000101010101010101010101010101010081
+:101060000101010101010101010101010101010071
+:10107000000000000000000001000000000101016C
+:101080000101010101010101010101010101010051
+:10109000000000000001010001000000000101014A
+:1010A0000101010101010101010101010101010031
+:1010B0000000000000000101010101010101010126
+:1010C0000101010101010101010101010101010011
+:1010D000000000000000000000000000000001000F
+:1010E00000000101000101010101010101010100F4
+:1010F00000010001000101010101010101010002E3
+:1011000002010101020100010001010101000000D2
+:1011100000010101000101010101010101010101C1
+:1011200000000101000101010101010101010100B3
+:1011300001000001000001000100000101010100A7
+:101140000101010100010101010101010101010190
+:101150000101010101010101010101010101010080
+:101160000101010101010101010101010101010070
+:10117000000000000000010001000000000101016A
+:101180000101010101010101010101010101010050
+:101190000000000000010100010000000101010148
+:1011A0000101010101010101010101010101010030
+:1011B0000000000000000101010101010101010125
+:1011C0000101010101010101010101010101010010
+:1011D000000000000000000000000000000101000D
+:1011E00000000101000101010101010101010100F3
+:1011F00000010101010101010101010101010002E0
+:1012000002020202020200010002020201000000CA
+:1012100000010101000101010101010101010101C0
+:1012200000010101000101010101010101010101B0
+:1012300001000101000101000100010101010100A3
+:10124000010101010101010101010101010101018E
+:10125000010101010101010101010101010101017E
+:10126000010101010101010101010101010101006F
+:101270000000000000000101010000000101010167
+:10128000010101010101010101010101010101004F
+:101290000000000000010100010001010101010145
+:1012A000010101010101010101010101010101002F
+:1012B0000000000001010101010101010101010122
+:1012C000010101010101010101010101010101000F
+:1012D000000000000000000001000000000101000B
+:1012E00000010101000101010101010101010100F1
+:1012F00001010101010101010101010101010002DE
+:1013000002020202020200010002020201000000C9
+:1013100000010101010101010101010101010101BE
+:1013200000010101010101010101010101010101AE
+:10133000010101010001010101010101010101009F
+:10134000010101010101010101010101010101018D
+:10135000010101010101010101010101010101017D
+:10136000010101010101010101010101010101006E
+:101370000000000000000101010001010101010164
+:10138000010101010101010101010101010101004E
+:101390000001000000010101010101010101010141
+:1013A000010101010101010101010101010101002E
+:1013B0000000000101010101010101010101010120
+:1013C000010101010101010101010101010101000E
+:1013D0000000000000000100010000000001010009
+:1013E00000010101010101010101010101010100EF
+:1013F00001010101010100000101010101010002DF
+:1014000002020202020200010102020201000000C7
+:1014100001010101010101010101010101010101BC
+:1014200001010101010101010101010101010101AC
+:10143000010101010101010101010101010101019C
+:10144000010101010101010101010101010101018C
+:10145000010101010101010101010101010101017C
+:10146000010101010101010101010101010101006D
+:101470000000000000000101010101010101010162
+:10148000010101010101010101010101010101004D
+:101490000001000000010101010101010101010140
+:1014A000010101010101010101010101010101002D
+:1014B000000000010101010101010101010101011F
+:1014C000010101010101010101010101010101000D
+:1014D0000000000000000101010100000101010005
+:1014E00001010101010101010101010101010100ED
+:1014F00001010101010100000101010101000002DF
+:1015000002020202020200010102020202000001C4
+:1015100001010101010101010101010101010101BB
+:1015200001010101010101010101010101010101AB
+:10153000010101010101010101010101010101019B
+:10154000010101010101010101010101010101018B
+:10155000010101010101010101010101010101017B
+:10156000010101010101010101010101010101006C
+:101570000000000000010101010101010101010160
+:10158000010101010101010101010101010101004C
+:10159000000100010001010101010101010101013E
+:1015A000010101010101010101010101010101002C
+:1015B000000100010101010101010101010101011D
+:1015C000010101010101010101010101010101000C
+:1015D0000000000000000101010101010101010101
+:1015E00001010101010101010101010101010100EC
+:1015F00001010101010100000000000000000002E3
+:1016000002020202020200010102020202000001C3
+:1016100001010101010101010101010101010101BA
+:1016200001010101010101010101010101010101AA
+:10163000010101010101010101010101010101019A
+:10164000010101010101010101010101010101018A
+:10165000010101010101010101010101010101017A
+:10166000010101010101010101010101010101006B
+:10167000000100010001010101010101010101015D
+:10168000010101010101010101010101010101004B
+:10169000000101010001010101010101010101013C
+:1016A000010101010101010101010101010101002B
+:1016B000000100010101010101010101010101011C
+:1016C000010101010101010101010101010101000B
+:1016D0000000000000000101010101010101010100
+:1016E00001010101010101010101010101010100EB
+:1016F00000000000000000000000000000000002E8
+:1017000002020202020201020102020202000001C0
+:1017100001010101010101010101010101010101B9
+:1017200001010101010101010101010101010101A9
+:101730000101010101010101010101010101010199
+:101740000101010101010101010101010101010189
+:101750000101010101010101010102010101010178
+:101760000101010101010101010102010101010069
+:10177000000101010001010101010101010101015B
+:10178000010101010101010101010101010101004A
+:10179000010101010001010101010101010101013A
+:1017A000010101010101010101010101010101002A
+:1017B000000100010101010101010101010101011B
+:1017C000010101010101010101010101010101000A
+:1017D00000000100000101010101010101010101FD
+:1017E00001010101010101010101010101010100EA
+:1017F00000000000000000000000000000000102E6
+:1018000002020202020201020102020202000001BF
+:1018100001010101010101010101010101010102B7
+:1018200001010101010101010101010101010101A8
+:101830000101010101010101010101010101010198
+:101840000101010101010201010101010101010187
+:101850000202010102020101010102020202010170
+:101860000102020101020102010102010202010062
+:101870000101010100010101010101010101010159
+:101880000101010101010101010101010101010148
+:101890000101010101010101010101010101010138
+:1018A0000101010101010101010101010101010128
+:1018B0000001010101010101010101010101010119
+:1018C0000101010101010101010101010101010009
+:1018D00000010101000101010101010101010101FA
+:1018E00001010101010101010101010101010100E9
+:1018F00000000000000000000000000000000102E5
+:1019000002020202020201020102020202010001BD
+:1019100001010101010101010101020102020102B3
+:1019200001010101010101010101020202020102A2
+:101930000201010101010101010101010101010196
+:101940000101020201010202010101010102010281
+:101950000202020202020202020202020202020168
+:101960000202020202020202020202020202020158
+:101970000101010101010101010101010101010157
+:101980000101020201020102010101010102010142
+:101990000101010101010101010101010101010137
+:1019A0000101010101010101010101010101010127
+:1019B0000101010101010101010101010101010117
+:1019C0000101010101010101010101010101010008
+:1019D00000010101000101010101010101010101F9
+:1019E00001010101010102010101010101020200E5
+:1019F00000000000000000000000000000000102E4
+:101A000002020202020201020102020202010001BC
+:101A100001020202010202020202020202020202A8
+:101A20000101020201020202020202020202020299
+:101A30000201020201010101010101020102010191
+:101A40000202020201020202020101020202020279
+:101A50000202020202020202020202020202020266
+:101A60000202020202020202020202020202020157
+:101A70000101010101010101010101010101010255
+:101A80000202020202020202020202020202020137
+:101A90000101010101010101010101010101010136
+:101AA0000101010101010101010101010101010126
+:101AB0000101010101010101010101010101010116
+:101AC0000101010101010201010202020202020000
+:101AD00001010101000101010101010101010101F7
+:101AE00001010201010102010202020202020200DE
+:101AF00000000000000000000000000000000102E3
+:101B000002020202020201020102020202010002BA
+:101B100002020202020202020202020202020202A5
+:101B20000202020202020202020202020202020295
+:101B30000202020202020201020102020202020287
+:101B40000202020202020202020202020202020275
+:101B50000202020202020202020202020202020265
+:101B60000202020202020202020202020202020156
+:101B70000101010101010101010101010101010254
+:101B80000202020202020202020202020202020136
+:101B90000101010101010101010101010101010135
+:101BA0000101010101010101010201010101010124
+:101BB0000101010101010101010101010102010213
+:101BC00002020202020202020202020202020201F6
+:101BD00001010101000101010101010101010101F6
+:101BE00001010202010202020202020202020200DA
+:101BF00000000000000000000000000000000102E2
+:101C000002020202020201020202020202010002B8
+:101C100002020202020202020202020202020202A4
+:101C20000202020202020202020202020202020294
+:101C30000202020202020202020202020202020284
+:101C40000202020202020202020202020202020274
+:101C50000202020202020202020202020202020264
+:101C60000202020202020202020202020202020155
+:101C70000101010101010101010101010102010252
+:101C80000202020202020202020202020202020135
+:101C90000101010101020201010101010101010231
+:101CA0000202020202020202020202020202020115
+:101CB0000101010102010202020202020202020209
+:101CC00002020202020202020202020202020201F5
+:101CD00001010101000101010101010101010102F4
+:101CE00002020202020202020202020202020200D6
+:101CF00000000000000000000000000000000102E1
+:101D000002020202020202020202020202020002B5
+:101D100002020202020202020202020202020202A3
+:101D20000202020202020202020202020202020293
+:101D30000202020202020202020202020202020283
+:101D40000202020202020202020202020202020273
+:101D50000202020202020202020202020202020263
+:101D60000202020202020202020202020202020154
+:101D7000010101010101020202010202020202024A
+:101D80000202020202020202020202020202020134
+:101D90000102010101020201020102020202020229
+:101DA0000202020202020202020202020202020114
+:101DB0000101010202020202020202020202020206
+:101DC00002020202020202020202020202020201F4
+:101DD00001010101010101010101010101010102F2
+:101DE00002020202020202020202020202020200D5
+:101DF00000000000000000000000000000000101E1
+:101E000001020202010202020202020202020002B6
+:101E100002020202020202020202020202020202A2
+:101E20000202020202020202020202020202020292
+:101E30000202020202020202020202020202020282
+:101E40000202020202020202020202020202020272
+:101E50000202020202020202020202020202020262
+:101E60000202020202020202020202020202020252
+:101E70000202020201020202020202020202020243
+:101E80000202020202020202020202020202020232
+:101E90000202020201020202020202020202020223
+:101EA0000202020202020202020202020202020212
+:101EB0000102010202020202020202020202020204
+:101EC00002020202020202020202020202020201F3
+:101ED00001010101010101010101010101010102F1
+:101EE00002020202020202020202020202020200D4
+:101EF00000000000000000000000000000000101E0
+:101F000001010101010102020202020202020002B9
+:101F100002020202020202020202020202020202A1
+:101F20000202020202020202020202020202020291
+:101F30000202020202020202020202020202020281
+:101F40000202020202020202020202020202020271
+:101F50000202020202020202020202020202020261
+:101F60000202020202020202020202020202020251
+:101F70000202020202020202020202020202020241
+:101F80000202020202020202020202020202020231
+:101F90000202020202020202020202020202020221
+:101FA0000202020202020202020202020202020211
+:101FB0000202020202020202020202020202020201
+:101FC00002020202020202020202020202020201F2
+:101FD00001010101010101010101010101020202EE
+:101FE00002020202020202020202020202020200D3
+:101FF00000000000000000000000000000000101DF
+:1020000001010101010102020201010102020002BB
+:1020100002020202020202020202020202020202A0
+:102020000202020202020202020202020202020290
+:102030000202020202020202020202020202020280
+:102040000202020202020202020202020202020270
+:102050000202020202020202020202020202020260
+:102060000202020202020202020202020202020250
+:102070000202020202020202020202020202020240
+:102080000202020202020202020202020202020230
+:102090000202020202020202020202020202020220
+:1020A0000202020202020202020202020202020210
+:1020B0000202020202020202020202020202020200
+:1020C00002020202020202020202020202020201F1
+:1020D00001010201010102020202020202020202E5
+:1020E00002020202020202020202020202020200D2
+:1020F00000000000000000000000000000000101DE
+:1021000001010101010102010201010101020002BC
+:10211000020202020202020202020202020202029F
+:10212000020202020202020202020202020202028F
+:10213000020202020202020202020202020202027F
+:10214000020202020202020202020202020202026F
+:10215000020202020202020202020202020202025F
+:10216000020202020202020202020202020202024F
+:10217000020202020202020202020202020202023F
+:10218000020202020202020202020202020202022F
+:10219000020202020202020202020202020202021F
+:1021A000020202020202020202020202020202020F
+:1021B00002020202020202020202020202020202FF
+:1021C00002020202020202020202020202020202EF
+:1021D00002020202010202020202020202020202E0
+:1021E00002020202020202020202020202020200D1
+:1021F00000000000000002020000000000000101D9
+:1022000001010101010102010201010101020002BB
+:10221000020202020202020202020202020202029E
+:10222000020202020202020202020202020202028E
+:10223000020202020202020202020202020202027E
+:10224000020202020202020202020202020202026E
+:10225000020202020202020202020202020202025E
+:10226000020202020202020202020202020202024E
+:10227000020202020202020202020202020202023E
+:10228000020202020202020202020202020202022E
+:10229000020202020202020202020202020202021E
+:1022A000020202020202020202020202020202020E
+:1022B00002020202020202020202020202020202FE
+:1022C00002020202020202020202020202020202EE
+:1022D00002020202010202020202020202020202DF
+:1022E00002020202020202020202020202020200D0
+:1022F00000000000000002020000000000020201D5
+:1023000001010101010102010201010101010002BB
+:10231000020202020202020202020202020202029D
+:10232000020202020202020202020202020202028D
+:10233000020202020202020202020202020202027D
+:10234000020202020202020202020202020202026D
+:10235000020202020202020202020202020202025D
+:10236000020202020202020202020202020202024D
+:10237000020202020202020202020202020202023D
+:10238000020202020202020202020202020202022D
+:10239000020202020202020202020202020202021D
+:1023A000020202020202020202020202020202020D
+:1023B00002020202020202020202020202020202FD
+:1023C00002020202020202020202020202020202ED
+:1023D00002020202020202020202020202020202DD
+:1023E00002020202020202020202020202020200CF
+:1023F00000000000000002020202020202020200CB
+:1024000000010101010102010201010101010002BB
+:10241000020202020202020202020202020202029C
+:10242000020202020202020202020202020202028C
+:10243000020202020202020202020202020202027C
+:10244000020202020202020202020202020202026C
+:10245000020202020202020202020202020202025C
+:10246000020202020202020202020202020202024C
+:10247000020202020202020202020202020202023C
+:10248000020202020202020202020202020202022C
+:10249000020202020202020202020202020202021C
+:1024A000020202020202020202020202020202020C
+:1024B00002020202020202020202020202020202FC
+:1024C00002020202020202020202020202020202EC
+:1024D00002020202020202020202020202020202DC
+:1024E00002020202020202020202020202020200CE
+:1024F00002020202020202020202020202020200BE
+:1025000000010101010101010101010101010002BC
+:10251000020202020202020202020202020202029B
+:10252000020202020202020202020202020202028B
+:10253000020202020202020202020202020202027B
+:10254000020202020202020202020202020202026B
+:10255000020202020202020202020202020202025B
+:10256000020202020202020202020202020202024B
+:10257000020202020202020202020202020202023B
+:10258000020202020202020202020202020202022B
+:10259000020202020202020202020202020202021B
+:1025A000020202020202020202020202020202020B
+:1025B00002020202020202020202020202020202FB
+:1025C00002020202020202020202020202020202EB
+:1025D00002020202020202020202020202020202DB
+:1025E00002020202020202020202020202020200CD
+:1025F00002020202020202020202020202020200BD
+:1026000000000000000001000100000000010002C5
+:10261000020202020202020202020202020202029A
+:10262000020202020202020202020202020202028A
+:10263000020202020202020202020202020202027A
+:10264000020202020202020202020202020202026A
+:10265000020202020202020202020202020202025A
+:10266000020202020202020202020202020202024A
+:10267000020202020202020202020202020202023A
+:10268000020202020202020202020202020202022A
+:10269000020202020202020202020202020202021A
+:1026A000020202020202020202020202020202020A
+:1026B00002020202020202020202020202020202FA
+:1026C00002020202020202020202020202020202EA
+:1026D00002020202020202020202020202020202DA
+:1026E00002020202020202020202020202020200CC
+:1026F00002020202020202020202020202020200BC
+:1027000000000000000001000100000000000002C5
+:102710000202020202020202020202020202020299
+:102720000202020202020202020202020202020289
+:102730000202020202020202020202020202020279
+:102740000202020202020202020202020202020269
+:102750000202020202020202020202020202020259
+:102760000202020202020202020202020202020249
+:102770000202020202020202020202020202020239
+:102780000202020202020202020202020202020229
+:102790000202020202020202020202020202020219
+:1027A0000202020202020202020202020202020209
+:1027B00002020202020202020202020202020202F9
+:1027C00002020202020202020202020202020202E9
+:1027D00002020202020202020202020202020202D9
+:1027E00002020202020202020202020202020202C9
+:1027F00002020202020202020202020202020200BB
+:1028000000000000000001000100000000000002C4
+:102810000202020202020202020202020202020298
+:102820000202020202020202020202020202020288
+:102830000202020202020202020202020202020278
+:102840000202020202020202020202020202020268
+:102850000202020202020202020202020202020258
+:102860000202020202020202020202020202020248
+:102870000202020202020202020202020202020238
+:102880000202020202020202020202020202020228
+:102890000202020202020202020202020202020218
+:1028A0000202020202020202020202020202020208
+:1028B00002020202020202020202020202020202F8
+:1028C00002020202020202020202020202020202E8
+:1028D00002020202020202020202020202020202D8
+:1028E00002020202020202020202020202020202C8
+:1028F00002020202020202020202020202020000BC
+:1029000000000000000000000000000000000001C6
+:1029100001010101010101010101010101010101A7
+:102920000101010101010101010101010101010098
+:102930000000000000000000000000000000000295
+:102940000202020202020202020202020202020267
+:102950000202020202020202020202020202020257
+:102960000202020202020202020202020202020247
+:102970000202020202020202020202020202020237
+:102980000202020202020202020202020202020227
+:102990000202020202020202020202020202020217
+:1029A0000202020202020202020202020202020207
+:1029B00002020202020202020202020202020202F7
+:1029C00002020202020202020202020202020202E7
+:1029D00002020202020202020202020202020202D7
+:1029E00002020202020202020202020202020202C7
+:1029F00002020202020202020202020202020000BB
+:102A000000000000000000000000000000000102C3
+:102A10000202020202020202020202020202020296
+:102A20000202020202020202020202020202020187
+:102A30000101010101010101010101010101010285
+:102A40000202020202020202020202020202020266
+:102A50000202020202020202020202020202020058
+:102A60000000000000000000000000000000000264
+:102A70000202020202020202020202020202020236
+:102A80000202020202020202020202020202020226
+:102A90000202020202020202020202020202020216
+:102AA0000202020202020202020202020202020206
+:102AB00002020202020202020202020202020202F6
+:102AC00002020202020202020202020202020202E6
+:102AD00002020202020202020202020202020202D6
+:102AE00002020202020202020202020202020202C6
+:102AF00002020202020202020202020202020200B8
+:102B000000000000000000000000000000000101C3
+:102B100001010101010101010101010101010100A6
+:102B200000000000000000000000000000000001A4
+:102B30000101010101010101010101010101010185
+:102B40000101010101010101010101010101010076
+:102B50000000000000000000000000000000000075
+:102B60000000000000000000000000000000000263
+:102B70000202020202020202020202020202020235
+:102B80000202020202020202020202020202020225
+:102B90000202020202020202020202020202020215
+:102BA0000202020202020202020202020202020106
+:102BB0000101010101010101010101010101010204
+:102BC00002020202020202020202020202020202E5
+:102BD00002020202020202020202020202020202D5
+:102BE00002020202020202020202020202020202C5
+:102BF00002020202020202020202020202020201B6
+:102C000001000000000000000000000000000101C1
+:102C100001010101010101010101010101010100A5
+:102C200000000000000000000000000000000001A3
+:102C30000101010101010101010101010101010184
+:102C40000101010101010101010101010101010174
+:102C50000101010101010101010101010101010065
+:102C60000000000000000000000000000000000064
+:102C70000000000000000000000000000000000252
+:102C80000202020202020202020202020202020224
+:102C90000202020202020202020202020202020214
+:102CA0000202020202020202020202020202020204
+:102CB00002020202020202020202020202020202F4
+:102CC00002020202020202020202020202020202E4
+:102CD00002020202020202020202020202020201D5
+:102CE00001010101010101010101010101010102D3
+:102CF00002020202020202020202020202020201B5
+:102D000001000000000000000000000000000101C0
+:102D100001010101010101010101010101010101A3
+:102D20000101010101010101010101010101010193
+:102D30000101010101010101010101010101010183
+:102D40000101010101010101010101010101010173
+:102D50000101010101010101010101010101010163
+:102D60000101010101010101010101010101010054
+:102D70000000000000000000000000000000000251
+:102D80000202020202020202020202020202020025
+:102D90000000000000000000000000000000000231
+:102DA0000202020202020202020202020202020104
+:102DB0000101010101010101010101010101010103
+:102DC00001010101010101010101010101010102F2
+:102DD00002020202020202020202020202020201D4
+:102DE00001010101010101010101010101010102D2
+:102DF00002020202020202020202020202020201B4
+:102E000001010101010101010101010101010101B2
+:102E100001010101010101010101010101010101A2
+:102E20000101010101010101010101010101010192
+:102E30000101010101010101010101010101010182
+:102E40000101010101010101010101010101010172
+:102E50000101010101010101010101010101010162
+:102E60000101010101010101010101010101010152
+:102E70000101010101010101010101010101010142
+:102E80000101010101010101010101010101010033
+:102E90000000000000000000000000000000000230
+:102EA0000202020202020202020202020202020103
+:102EB0000101010101010101010101010101010102
+:102EC00001010101010101010101010101010101F2
+:102ED00001010101010101010101010101010101E2
+:102EE00001010101010101010101010101010102D1
+:102EF00002020202020202020202020202020201B3
+:102F000001010101010101010101010101010101B1
+:102F100001010101010101010101010101010101A1
+:102F20000101010101010101010101010101010191
+:102F30000101010101010101010101010101010181
+:102F40000101010101010101010101010101010171
+:102F50000101010101010101010101010101010161
+:102F60000101010101010101010101010101010151
+:102F70000101010101010101010101010101010141
+:102F80000101010101010101010101010101010131
+:102F90000101010101010101010101010101010121
+:102FA0000101010101010101010101010101010111
+:102FB0000101010101010101010101010101010101
+:102FC00001010101010101010101010101010101F1
+:102FD00001010101010101010101010101010101E1
+:102FE00001010101010101010101010101010100D2
+:102FF00000000000000000000000000000000001D0
+:1030000001010101010101010101010101010101B0
+:1030100001010101010101010101010101010101A0
+:103020000101010101010101010101010101010190
+:103030000101010101010101010101010101010180
+:103040000101010101010101010101010101010170
+:103050000101010101010101010101010101010160
+:103060000101010101010101010101010101010150
+:103070000101010101010101010101010101010140
+:103080000101010101010101010101010101010130
+:103090000101010101010101010101010101010120
+:1030A0000101010101010101010101010101010110
+:1030B0000101010101010101010101010101010100
+:1030C00001010101010101010101010101010101F0
+:1030D00001010101010101010101010101010101E0
+:1030E00001010101010101010101010101010100D1
+:1030F00000000000000000000000000000000001CF
+:1031000001010101010101010101010101010101AF
+:10311000010101010101010101010101010101019F
+:10312000010101010101010101010101010101018F
+:10313000010101010101010101010101010101017F
+:10314000010101010101010101010101010101016F
+:10315000010101010101010101010101010101015F
+:10316000010101010101010101010101010101014F
+:10317000010101010101010101010101010101013F
+:10318000010101010101010101010101010101012F
+:10319000010101010101010101010101010101011F
+:1031A000010101010101010101010101010101010F
+:1031B00001010101010101010101010101010101FF
+:1031C00001010101010101010101010101010101EF
+:1031D00001010101010101010101010101010101DF
+:1031E00001010101010101010101010101010100D0
+:1031F00000000000000000000000000000000000CF
+:1032000000000000000000000000000000000000BE
+:1032100000000000000000000000000000000000AE
+:10322000000000000000000000000000000000029C
+:10323000020202020202020202020202020202026E
+:10324000020202020202020202020202020202025E
+:10325000020202020202020202020202020202024E
+:10326000020202020202020202020202020202023E
+:10327000020202020202020202020202020202022E
+:10328000020202020202020202020202020202021E
+:10329000020202020202020202020202020202020E
+:1032A00002020202020202020202020202020202FE
+:1032B00002020202020202020202020202020202EE
+:1032C00002020202020202020202020202020202DE
+:1032D00002020202020202020202020202020202CE
+:1032E00002020202020202020202020202020200C0
+:1032F00000000000000000000000000000000000CE
+:1033000000000000000000000000000000000000BD
+:1033100000000000000000000000000000000000AD
+:10332000000000000000000000000000000000009D
+:10333000000000000000000000000000000000008D
+:10334000000000000000000000000000000000007D
+:10335000000000000000000000000000000000006D
+:10336000000000000000000000000000000000005D
+:10337000000000000000000000000000000000004D
+:10338000000000000000000000000000000000003D
+:10339000000000000000000000000000000000002D
+:1033A000000000000000000000000000000000021B
+:1033B00002020202020202020202020202020202ED
+:1033C00002020202020202020202020202020202DD
+:1033D00002020202020202020202020202020202CD
+:1033E00002020202020202020202020202020200BF
+:1033F00000000000000000000000000000000000CD
+:1034000000000000000000000000000000000000BC
+:1034100000000000000000000000000000000000AC
+:10342000000000000000000000000000000000009C
+:10343000000000000000000000000000000000008C
+:10344000000000000000000000000000000000007C
+:10345000000000000000000000000000000000006C
+:10346000000000000000000000000000000000005C
+:10347000000000000000000000000000000000004C
+:10348000000000000000000000000000000000003C
+:10349000000000000000000000000000000000002C
+:1034A000000000000000000000000000000000001C
+:1034B000000000000000000000000000000000000C
+:1034C00000000000000000000000000000000000FC
+:1034D00000000000000000000000000000000002EA
+:1034E00002020202020202020202020202020200BE
+:1034F00000000000000000000000000000000000CC
+:1035000000000000000000000000000000000000BB
+:1035100000000000000000000000000000000000AB
+:10352000000000000000000000000000000000009B
+:10353000000000000000000000000000000000008B
+:10354000000000000000000000000000000000007B
+:10355000000000000000000000000000000000006B
+:10356000000000000000000000000000000000005B
+:10357000000000000000000000000000000000004B
+:10358000000000000000000000000000000000003B
+:10359000000000000000000000000000000000002B
+:1035A000000000000000000000000000000000001B
+:1035B000000000000000000000000000000000000B
+:1035C00000000000000000000000000000000000FB
+:1035D00000000000000000000000000000000000EB
+:1035E00000000000000000000000000000000000DB
+:1035F000000000000000000000000000000000309B
+:1036000036090000000000386B090000000000408F
+:103610009A09000000000048C8090000000000509E
+:10362000F409000000000058200A000000000060BB
+:10363000440A000000000068620A000000000070F8
+:10364000800A0000000000789E0A00000000008050
+:10365000BC0A000000000088DA0A000000000090A8
+:10366000F80A000000000098160B0000000000356A
+:103670000000000000000000000000000001000148
+:10368000000000000000000000000000000000003A
+:10369000000000000000000000000000000000002A
+:1036A000000000000000000000000000000000001A
+:1036B000000000000000000000000000000000000A
+:1036C00000000000000000000101000000000000F8
+:1036D00000000000000000000000000000000000EA
+:1036E00000000000000000000000000000000000DA
+:1036F00000000000000000000000000000000000CA
+:1037000000000000000000000000000000000000B9
+:1037100000000000000000000000000000000000A9
+:103720000000000000000000000000000000000099
+:103730000000000000000000000000000000000089
+:103740000000000000000000000000000000000079
+:103750000000000000000000000000000000000069
+:103760000000000000000000000000000000000059
+:103770000000000000010100000000000001010144
+:103780000000000000000000000000000000000039
+:103790000000000000000000000000000000000029
+:1037A0000000000000000000000000000000000019
+:1037B0000000000000000000000000000000000009
+:1037C00000000000000000000101010000000000F6
+:1037D00000000000000001000000000000000000E8
+:1037E00000000000000000000000000000000000D9
+:1037F00000000000000000000000000000000000C9
+:1038000000000000000000000000000000000000B8
+:1038100000000000000000000000000000000000A8
+:103820000100000000000000000000000000000097
+:103830000000000000000000000000000000000088
+:103840000000000000000000000000000000000078
+:103850000000000000000000000000000000000068
+:103860000000000000000000000000000001000057
+:10387000000000000001010200010000010101013F
+:103880000000000000000000000000000000000038
+:103890000000000000000000000000000000000028
+:1038A0000000000000000000000000000000000018
+:1038B0000000000000000000000000000000000008
+:1038C00000000000000000000101010000000000F5
+:1038D00000000000000001000000000000000000E7
+:1038E00000000000000000000000000000000000D8
+:1038F00000000000000000000000000000000000C8
+:1039000000000000000000000000000000000000B7
+:1039100000000000000000010000000000010000A5
+:103920000100000000000000000000000000000096
+:103930000000000000000000000000000000000087
+:103940000000000000000000000000000000000077
+:103950000000000000000000000000000000000067
+:103960000000000000000000000000010001000055
+:103970000000000000010102000201010202010139
+:103980000100000000000000000000000000000036
+:103990000000000000000000000000000000000027
+:1039A0000000000000000000000000000000000017
+:1039B0000000000000000000000000000000000007
+:1039C00000000000000000000201010100000000F2
+:1039D00000000000000001000000000000000000E6
+:1039E00000000000000000000000000000000000D7
+:1039F00000000000000000000000000000000000C7
+:103A000000000000000000000000000000000000B6
+:103A100000000000000000010000000000010000A4
+:103A20000100000000000000000000000000000095
+:103A30000000000000000000000000000000000086
+:103A40000000000000000000000000000000000076
+:103A50000000000000000000000000000000000066
+:103A60000000000000000000000000010101000152
+:103A70000000000000010102020202020202020232
+:103A80000100000000000000000000000000000035
+:103A90000000000000000000000000000000000026
+:103AA0000000000000000000000000000000000016
+:103AB0000000000000000000000000000000000006
+:103AC00000000000000000000202010100000000F0
+:103AD00000000000000001000000000000000000E5
+:103AE00000000000000000000000000000000000D6
+:103AF00000000000000000000000000000000000C6
+:103B000000000000000000000000000000000000B5
+:103B100000000000000000010101000001010000A0
+:103B20000100000000000000000000000000000094
+:103B30000000000000000000000000000000000085
+:103B40000000000000000000000000000000000075
+:103B50000000000000000000000000000000000065
+:103B6000000000000000000000000101010101014F
+:103B7000010001010101010202020202020202022D
+:103B80000100010101000000000000000000000031
+:103B90000000000000000000000000000000000025
+:103BA0000000000000000000000000000000000015
+:103BB0000000000000000000000000000000000005
+:103BC00000000000000000000202020100000000EE
+:103BD00000000000000001000000000000000000E4
+:103BE00000000000000000000000000000000000D5
+:103BF00000000000000000000000000000000000C5
+:103C000000000000000000000000000000000000B4
+:103C1000000000000000000101010101010101009C
+:103C20000100010000000000000000000000000092
+:103C30000000000000000000000000000000000084
+:103C40000000000000000000000000000000000074
+:103C50000000000000000000000000000000000064
+:103C6000000000000000000000010101010101014D
+:103C7000010001010101010202020202020202022C
+:103C8000020001010100000000000000000000002F
+:103C90000000000000000000000000000000000024
+:103CA0000000000000000000000000000000000014
+:103CB0000000000000000000000000000000000004
+:103CC00000000000000000020202020101010000E9
+:103CD00000000000000001000000000000000000E3
+:103CE00000000000000000000000000000000000D4
+:103CF00000000000000000000000000000000000C4
+:103D000000000000000000000000000000000000B3
+:103D1000000000000000000101010101010101019A
+:103D20000100010000000000000000000000000091
+:103D30000000000000000000000000000000000083
+:103D40000000000000000000000000000000000073
+:103D50000000000000000000000000000000000063
+:103D6000000000000000000000010101010101014C
+:103D7000010001010101010202020202020202022B
+:103D8000020001010100000000000000000000002E
+:103D90000000000000000000000000000000000023
+:103DA0000000000000000000000000000000000013
+:103DB0000000000000000000000000000000000003
+:103DC00000000000000000020202020201010000E7
+:103DD00000000000000001000000000000000000E2
+:103DE00000000000000000000000000000000000D3
+:103DF00000000000000000000000000000000000C3
+:103E000000000000000000000000000000000000B2
+:103E10000000000000000002010101010101010198
+:103E2000010001000000010000000000000000008F
+:103E30000000000000000000000000000000000082
+:103E40000000000000000000000000000000000072
+:103E50000000000000000000000000000000000062
+:103E6000000000000000000001010101010101014A
+:103E70000101010101010102020202020202020229
+:103E8000020202010100000000000000000000002A
+:103E90000000000000000000000000000000000022
+:103EA0000000000000000000000000000000000012
+:103EB0000000000000000000000000000000000002
+:103EC00000000000000000020202020202010000E5
+:103ED00000000000000001000000000000000000E1
+:103EE00000000000000000000000000000000000D2
+:103EF00000000000000000000000000000000000C2
+:103F000000000000000000000000000000000000B1
+:103F10000000000000000002020101010101010196
+:103F2000010001000000010000000000000000008E
+:103F30000000000000000000000000000000000081
+:103F40000000000000000000000000000000000071
+:103F50000000000000000000000000000000000061
+:103F60000000000000000000010101010101010149
+:103F70000101010101010102020202020202020228
+:103F80000202020201000000000000000000000028
+:103F90000000000000000000000000000000000021
+:103FA0000000000000000000000000000000000011
+:103FB0000000000000000000000000000000000001
+:103FC00000000000000000020202020202010100E3
+:103FD00000000000000001000000000000000000E0
+:103FE00000000000000000000000000000000000D1
+:103FF00000000000000000000000000000000000C1
+:1040000000000000000000000000000000000000B0
+:104010000000000000000002020201010101010194
+:10402000010001000000010000000000000000008D
+:104030000000000000000000000000000000000080
+:104040000000000000000000000000000000000070
+:104050000000000000000000000000000000000060
+:104060000000000000000000010101010101010148
+:104070000101010101010102020202020202020227
+:104080000202020202000000000000000000000026
+:104090000000000000000000000000000000000020
+:1040A0000000000000000000000000000000000010
+:1040B0000000000000000000000000000000000000
+:1040C00000000000000000020202020202020101E0
+:1040D00000000000000001000000000000000000DF
+:1040E00000000000000000000000000000000000D0
+:1040F00000000000000000000000000000000000C0
+:1041000000000000000000000000000000000000AF
+:104110000000000000000002020202010101010192
+:10412000010001000000010000000000000000008C
+:10413000000000000000000000000000000000007F
+:10414000000000000000000000000000000000006F
+:10415000000000000000000000000000000000005F
+:104160000000000000000000010101010101010147
+:104170000101010101010102020202020202020226
+:104180000202020202010000000000000000000024
+:10419000000000000000000000000000000000001F
+:1041A000000000000000000000000000000000000F
+:1041B00000000000000000000000000000000000FF
+:1041C00000000000000000020202020202020101DF
+:1041D00000000100000001000000000000000000DD
+:1041E00000000000000000000000000000000000CF
+:1041F00000000000000000000000000000000000BF
+:1042000000000000000000000000000000000000AE
+:10421000000000000000000202020202020201018E
+:10422000010001010000010000000000000000008A
+:10423000000000000000000000000000000000007E
+:10424000000000000000000000000000000000006E
+:10425000000000000000000000000000000000005E
+:104260000000000000000000010101010101010146
+:104270000101010101010102020202020202020225
+:104280000202020202010000000000000000000023
+:10429000000000000000000000000000000000001E
+:1042A000000000000000000000000000000000000E
+:1042B00000000000000000000000000000000000FE
+:1042C00000000000000000020202020202020201DD
+:1042D00000000100000002000000000000000000DB
+:1042E00000000000000000000000000000000000CE
+:1042F00000000000000000000000000000000000BE
+:1043000000000000000000000000000000000000AD
+:10431000000000000000000202020202020201018D
+:104320000200010100000100000000000000000088
+:10433000000000000000000000000000000000007D
+:10434000000000000000000000000000000000006D
+:10435000000000000000000000000000000000005D
+:104360000000000000000000010101010101010145
+:104370000101010101010102020202020202020224
+:104380000202020202010000000000000000000022
+:10439000000000000000000000000000000000001D
+:1043A000000000000000000000000000000000000D
+:1043B00000000000000000000000000000000000FD
+:1043C00000000000000000020202020202020201DC
+:1043D00001000100010002000000000000000000D8
+:1043E00000000000000000000000000000000000CD
+:1043F00000000000000000000000000000000000BD
+:1044000000000000000000000000000000000000AC
+:10441000000000000000000202020202020202018B
+:104420000200010100010100000000000000000086
+:10443000000000000000000000000000000000007C
+:10444000000000000000000000000000000000006C
+:10445000000000000000000000000000000000005C
+:104460000000000000000000020202020101010140
+:104470000101010101010102020202020202020223
+:104480000202020202010000000000000000000021
+:10449000000000000000000000000000000000001C
+:1044A000000000000000000000000000000000000C
+:1044B00000000000000000000000000000000000FC
+:1044C00000000000000000020202020202020202DA
+:1044D00001000100010002000000000000000000D7
+:1044E00000000000000000000000000000000000CC
+:1044F00000000000000000000000000000000000BC
+:1045000000000000000000000000000000000000AB
+:10451000000000000000000202020202020202018A
+:104520000200010100010100000000000000000085
+:10453000000000000000000000000000000000007B
+:10454000000000000000000000000000000000006B
+:10455000000000000000000000000000000000005B
+:10456000000000000000000002020202010101013F
+:104570000101010101010102020202020202020222
+:104580000202020202010000000000000000000020
+:10459000000000000000000000000000000000001B
+:1045A000000000000000000000000000000000000B
+:1045B00000000000000000000000000000000000FB
+:1045C00000000000000000020202020202020202D9
+:1045D00002000201010002000000000000000000D3
+:1045E00000000000000000000000000000000000CB
+:1045F00000000000000000000000000000000000BB
+:1046000000000000000000000000000000000000AA
+:104610000000000000000002020202020202020288
+:104620000200010100010100000000000000000084
+:10463000000000000000000000000000000000007A
+:10464000000000000000000000000000000000006A
+:10465000000000000000000000000000000000005A
+:10466000000000000000000002020202020201013C
+:104670000101010101010102020202020202020221
+:10468000020202020201000000000000000000001F
+:10469000000000000000000000000000000000001A
+:1046A000000000000000000000000000000000000A
+:1046B00000000000000000000000000000000000FA
+:1046C00000000000000000020202020202020202D8
+:1046D00002020201010002000000000000000000D0
+:1046E00000000000000000000000000000000000CA
+:1046F00000000000000000000000000000000000BA
+:1047000000000000000000000000000000000000A9
+:104710000000000000000002020202020202020287
+:104720000200020100010100000000000000000082
+:104730000000000000000000000000000000000079
+:104740000000000000000000000000000000000069
+:104750000000000000000000000000000000000059
+:10476000000000000000000002020202020201013B
+:104770000101010101010102020202020202020220
+:10478000020202020201000000000000000000001E
+:104790000000000000000000000000000000000019
+:1047A0000000000000000000000000000000000009
+:1047B00000000000000000000000000000000000F9
+:1047C00000000000000000020202020202020202D7
+:1047D00002020201020002000000000000000000CE
+:1047E00000000000000000000000000000000000C9
+:1047F00000000000000000000000000000000000B9
+:1048000000000000000000000000000000000000A8
+:104810000000000000000002020202020202020286
+:104820000200020101010100000000000000000080
+:104830000000000000000000000000000000000078
+:104840000000000000000000000000000000000068
+:104850000000000000000000000000000000000058
+:104860000000000000000000020202020202020139
+:10487000010101010101010202020202020202021F
+:10488000020202020202000000000000000000001C
+:104890000000000000000000000000000000000018
+:1048A0000000000000000000000000000000000008
+:1048B00000000000000000000000000000000000F8
+:1048C00000000000000000020202020202020202D6
+:1048D00002020202020002000000000000000000CC
+:1048E00000000000000000000000000000000000C8
+:1048F00000000000000000000000000000000000B8
+:1049000000000000000000000000000000000000A7
+:104910000000000000000002020202020202020285
+:10492000020002010101010000000000000000007F
+:104930000000000000000000000000000000000077
+:104940000000000000000000000000000000000067
+:104950000000000000000000000000000000000057
+:104960000000000000000000020202020202020237
+:10497000010101010101010202020202020202021E
+:10498000020202020202000000000000000000001B
+:104990000000000000000000000000000000000017
+:1049A0000000000000000000000000000000000007
+:1049B00000000000000000000000000000000000F7
+:1049C00000000000000000020202020202020202D5
+:1049D00002020202020002000000000000000000CB
+:1049E00000000000000000000000000000000000C7
+:1049F00000000000000000000000000000000000B7
+:104A000000000000000000000000000000000000A6
+:104A10000000000000000002020202020202020284
+:104A2000020002010101010000000000000000007E
+:104A30000000000000000000000000000000000076
+:104A40000000000000000000000000000000000066
+:104A50000000000000000000000000000000000056
+:104A60000000000000000000020202020202020236
+:104A7000020101010101010202020202020202021C
+:104A8000020102020202000000000000000000001B
+:104A90000000000000000000000000000000000016
+:104AA0000000000000000000000000000000000006
+:104AB00000000000000000000000000000000000F6
+:104AC00000000000000000020202020202020202D4
+:104AD00002020202020002000000000000000000CA
+:104AE00000000000000000000000000000000000C6
+:104AF00000000000000000000000000000000000B6
+:104B000000000000000000000000000000000000A5
+:104B10000000000000000002020202020202020283
+:104B2000020102020101020000000000000000007A
+:104B30000000000000000000000000000000000075
+:104B40000000000000000000000000000000000065
+:104B50000000000000000000000000000000000055
+:104B60000000000000000002020202020202020233
+:104B7000020101010101010202020202020202021B
+:104B8000020101010102010000000000000000001C
+:104B90000000000000000000000000000000000015
+:104BA0000000000000000000000000000000000005
+:104BB00000000000000000000000000000000000F5
+:104BC00000000000000000020202020202020202D3
+:104BD00002020202020102000000000000000000C8
+:104BE00000000000000000000000000000000000C5
+:104BF00000000000000000000000000000000000B5
+:104C000000000000000000000000000000000000A4
+:104C10000000000000000002020202020202020282
+:104C20000201020201010200000000000000000079
+:104C30000000000000000000000000000000000074
+:104C40000000000000000000000000000000000064
+:104C50000000000000000000000000000000000054
+:104C60000000000000000002020202020202020232
+:104C7000020102010101010202020202020202011A
+:104C8000010101010102010000000000000000001C
+:104C90000000000000000000000000000000000014
+:104CA0000000000000000000000000000000000004
+:104CB00000000000000000000000000000000000F4
+:104CC00000000000000000020202020202020202D2
+:104CD00002020202020102000000000000000000C7
+:104CE00000000000000000000000000000000000C4
+:104CF00000000000000000000000000000000000B4
+:104D000000000000000000000000000000000000A3
+:104D10000000000000000002020202020202020281
+:104D20000201020201010200000000000000000078
+:104D30000000000000000000000000000000000073
+:104D40000000000000000000000000000000000063
+:104D50000000000000000000000000000000000053
+:104D60000000000000000002020202020202020231
+:104D7000020202020101010202020202010101011A
+:104D8000010101010102010000000000000000001B
+:104D90000000000000000000000000000000000013
+:104DA0000000000000000000000000000000000003
+:104DB00000000000000000000000000000000000F3
+:104DC00000000000000000020202020202020202D1
+:104DD00002020202020102000000000000000000C6
+:104DE00000000000000000000000000000000000C3
+:104DF00000000000000000000000000000000000B3
+:104E000000000000000000000000000000000000A2
+:104E10000000000000000002020202020202020280
+:104E20000202020201010200000000000000000076
+:104E30000000000000000000000000000000000072
+:104E40000000000000000000000000000000000062
+:104E50000000000000000000000000000000000052
+:104E60000000000000000002020202020202020230
+:104E70000202020202020102020202020101010117
+:104E8000010101010101010000000000000000001B
+:104E90000000000000000000000000000000000012
+:104EA0000000000000000000000000000000000002
+:104EB00000000000000000000000000000000000F2
+:104EC00000000000000000020202020202020202D0
+:104ED00002020202020102000000000000000000C5
+:104EE00000000000000000000000000000000000C2
+:104EF00000000000000000000000000000000000B2
+:104F000000000000000000000000000000000000A1
+:104F1000000000000000000202020202020202027F
+:104F20000202020202010200000000000000000074
+:104F30000000000000000000000000000000000071
+:104F40000000000000000000000000000000000061
+:104F50000000000000000000000000000000000051
+:104F6000000000000000000202020202020202022F
+:104F70000202020202020202020202010101010116
+:104F8000010101010101010000000000000000001A
+:104F90000000000000000000000000000000000011
+:104FA0000000000000000000000000000000000001
+:104FB00000000000000000000000000000000000F1
+:104FC00000000000000000020202020202020202CF
+:104FD00002020202020101000000000000000000C5
+:104FE00000000000000000000000000000000000C1
+:104FF00000000000000000000000000000000000B1
+:1050000000000000000000000000000000000000A0
+:10501000000000000000000202020202020202027E
+:105020000202020202020200000000000000000072
+:105030000000000000000000000000000000000070
+:105040000000000000000000000000000000000060
+:105050000000000000000000000000000000000050
+:10506000000000000000000202020202020202022E
+:105070000202020202020201020101010101010118
+:105080000101010101010100000000000000000019
+:105090000000000000000000000000000000000010
+:1050A0000000000000000000000000000000000000
+:1050B00000000000000000000000000000000000F0
+:1050C00000000000000000020202020202020202CE
+:1050D00002020202020201000000000000000000C3
+:1050E00000000000000000000000000000000000C0
+:1050F00000000000000000000000000000000000B0
+:10510000000000000000000000000000000000009F
+:10511000000000000000000202020202020202027D
+:105120000202020202020200000000000000000071
+:10513000000000000000000000000000000000006F
+:10514000000000000000000000000000000000005F
+:10515000000000000000000000000000000000004F
+:10516000000000000000000202020202020202022D
+:105170000202020202020201010101010101010118
+:105180000101010101010100000000000000000018
+:10519000000000000000000000000000000000000F
+:1051A00000000000000000000000000000000000FF
+:1051B00000000000000000000000000000000000EF
+:1051C00000000000000000020202020202020202CD
+:1051D00002010202010201000000000000000000C4
+:1051E00000000000000000000000000000000000BF
+:1051F00000000000000000000000000000000000AF
+:10520000000000000000000000000000000000009E
+:10521000000000000000000202020202020202027C
+:105220000202020202020200000000000000000070
+:10523000000000000000000000000000000000006E
+:10524000000000000000000000000000000000005E
+:10525000000000000000000000000000000000004E
+:10526000000000000000000202020202020202022C
+:105270000202020202020201010101010101010117
+:105280000101010101010100000000000000000017
+:10529000000000000000000000000000000000000E
+:1052A00000000000000000000000000000000000FE
+:1052B00000000000000000000000000000000000EE
+:1052C00000000000000000020202020202020202CC
+:1052D00002010101010201000000000000000000C5
+:1052E00000000000000000000000000000000000BE
+:1052F00000000000000000000000000000000000AE
+:10530000000000000000000000000000000000009D
+:10531000000000000000000202020202020202027B
+:10532000020202020202020000000000000000006F
+:10533000000000000000000000000000000000006D
+:10534000000000000000000000000000000000005D
+:10535000000000000000000000000000000000004D
+:10536000000000000000000202020202020202022B
+:105370000202020202020201010101010101010116
+:105380000101010101010100000000000000000016
+:10539000000000000000000000000000000000000D
+:1053A00000000000000000000000000000000000FD
+:1053B00000000000000000000000000000000000ED
+:1053C00000000000000000020202020201020202CC
+:1053D00001010101010201000000000000000000C5
+:1053E00000000000000000000000000000000000BD
+:1053F00000000000000000000000000000000000AD
+:10540000000000000000000000000000000000009C
+:10541000000000000000000202020202020202027A
+:10542000020202020202020000000000000000006E
+:10543000000000000000000000000000000000006C
+:10544000000000000000000000000000000000005C
+:10545000000000000000000000000000000000004C
+:10546000000000000000000202020202020202022A
+:105470000202020202020201010101010101010115
+:105480000101010101010100000000000000000015
+:10549000000000000000000000000000000000000C
+:1054A00000000000000000000000000000000000FC
+:1054B00000000000000000000000000000000000EC
+:1054C00000000000000000020202020201010101CE
+:1054D00001010101010101000000000000000000C5
+:1054E00000000000000000000000000000000000BC
+:1054F00000000000000000000000000000000000AC
+:10550000000000000000000000000000000000009B
+:105510000000000000000002020202020202020279
+:10552000020202020202020000000000000000006D
+:10553000000000000000000000000000000000006B
+:10554000000000000000000000000000000000005B
+:10555000000000000000000000000000000000004B
+:105560000000000000000002020202020202020229
+:105570000202020202020201010101010101010114
+:105580000101010101010100000000000000000014
+:10559000000000000000000000000000000000000B
+:1055A00000000000000000000000000000000000FB
+:1055B00000000000000000000000000000000000EB
+:1055C00000000000000000010101010101010101D2
+:1055D00001010101010101000000000000000000C4
+:1055E00000000000000000000000000000000000BB
+:1055F00000000000000000000000000000000000AB
+:10560000000000000000000000000000000000009A
+:105610000000000000000002020202020202020278
+:10562000020202020202020000000000000000006C
+:10563000000000000000000000000000000000006A
+:10564000000000000000000000000000000000005A
+:10565000000000000000000000000000000000004A
+:105660000000000000000002020202020202020228
+:105670000202020202020201010101010101010113
+:105680000101010101010100000000000000000013
+:10569000000000000000000000000000000000000A
+:1056A00000000000000000000000000000000000FA
+:1056B00000000000000000000000000000000000EA
+:1056C00000000000000000010101010101010101D1
+:1056D00001010101010101000000000000000000C3
+:1056E00000000000000000000000000000000000BA
+:1056F00000000000000000000000000000000000AA
+:105700000000000000000000000000000000000099
+:105710000000000000000002020202020202020277
+:10572000020202020202020000000000000000006B
+:105730000000000000000000000000000000000069
+:105740000000000000000000000000000000000059
+:105750000000000000000000000000000000000049
+:105760000000000000000002020202020202020227
+:105770000202020202020201010101010101010112
+:105780000101010101010100000000000000000012
+:105790000000000000000000000000000000000009
+:1057A00000000000000000000000000000000000F9
+:1057B00000000000000000000000000000000000E9
+:1057C00000000000000000010101010101010101D0
+:1057D00001010101010101000000000000000000C2
+:1057E00000000000000000000000000000000000B9
+:1057F00000000000000000000000000000000000A9
+:105800000000000000000000000000000000000098
+:105810000000000000000002020202020202020276
+:10582000020202020202020000000000000000006A
+:105830000000000000000000000000000000000068
+:105840000000000000000000000000000000000058
+:105850000000000000000000000000000000000048
+:105860000000000000000002020202020202020226
+:105870000202020202020201010101010101010111
+:105880000101010101010100000000000000000011
+:105890000000000000000000000000000000000008
+:1058A00000000000000000000000000000000000F8
+:1058B00000000000000000000000000000000000E8
+:1058C00000000000000000010101010101010101CF
+:1058D00001010101010101000000000000000000C1
+:1058E00000000000000000000000000000000000B8
+:1058F00000000000000000000000000000000000A8
+:105900000000000000000000000000000000000097
+:105910000000000000000002020202020202020275
+:105920000202020202020200000000000000000069
+:105930000000000000000000000000000000000067
+:105940000000000000000000000000000000000057
+:105950000000000000000000000000000000000047
+:105960000000000000000002020202020202020225
+:105970000202020202020201010101010101010110
+:105980000101010101010100000000000000000010
+:105990000000000000000000000000000000000007
+:1059A00000000000000000000000000000000000F7
+:1059B00000000000000000000000000000000000E7
+:1059C00000000000000000010101010101010101CE
+:1059D00001010101010101000000000000000000C0
+:1059E00000000000000000000000000000000000B7
+:1059F00000000000000000000000000000000000A7
+:105A00000000000000000000000000000000000096
+:105A10000000000000000002020202020202020274
+:105A20000202020202020100000000000000000069
+:105A30000000000000000000000000000000000066
+:105A40000000000000000000000000000000000056
+:105A50000000000000000000000000000000000046
+:105A60000000000000000002020202020202020224
+:105A7000020202020202020101010101010101010F
+:105A8000010101010101010000000000000000000F
+:105A90000000000000000000000000000000000006
+:105AA00000000000000000000000000000000000F6
+:105AB00000000000000000000000000000000000E6
+:105AC00000000000000000010101010101010101CD
+:105AD00001010101010101000000000000000000BF
+:105AE00000000000000000000000000000000000B6
+:105AF00000000000000000000000000000000000A6
+:105B00000000000000000000000000000000000095
+:105B10000000000000000002020202020202020273
+:105B20000202020202020100000000000000000068
+:105B30000000000000000000000000000000000065
+:105B40000000000000000000000000000000000055
+:105B50000000000000000000000000000000000045
+:105B60000000000000000002020202020202020223
+:105B7000020202020202020101010101010101010E
+:105B8000010101010101010000000000000000000E
+:105B90000000000000000000000000000000000005
+:105BA00000000000000000000000000000000000F5
+:105BB00000000000000000000000000000000000E5
+:105BC00000000000000000010101010101010101CC
+:105BD00001010101010101000000000000000000BE
+:105BE00000000000000000000000000000000000B5
+:105BF00000000000000000000000000000000000A5
+:105C00000000000000000000000000000000000094
+:105C10000000000000000002020202020202020272
+:105C2000010101010102010000000000000000006C
+:105C30000000000000000000000000000000000064
+:105C40000000000000000000000000000000000054
+:105C50000000000000000000000000000000000044
+:105C60000000000000000002020202020202020222
+:105C7000020202020202020101010101010101010D
+:105C8000010101010101010000000000000000000D
+:105C90000000000000000000000000000000000004
+:105CA00000000000000000000000000000000000F4
+:105CB00000000000000000000000000000000000E4
+:105CC00000000000000000010101010101010101CB
+:105CD00001010101010101000000000000000000BD
+:105CE00000000000000000000000000000000000B4
+:105CF00000000000000000000000000000000000A4
+:105D00000000000000000000000000000000000093
+:105D10000000000000000002020202020101010175
+:105D2000010101010101010000000000000000006C
+:105D30000000000000000000000000000000000063
+:105D40000000000000000000000000000000000053
+:105D50000000000000000000000000000000000043
+:105D60000000000000000002020202020202020221
+:105D7000020202020202020101010101010101010C
+:105D8000010101010101010000000000000000000C
+:105D90000000000000000000000000000000000003
+:105DA00000000000000000000000000000000000F3
+:105DB00000000000000000000000000000000000E3
+:105DC00000000000000000010101010101010101CA
+:105DD00001010101010101000000000000000000BC
+:105DE00000000000000000000000000000000000B3
+:105DF00000000000000000000000000000000000A3
+:105E00000000000000000000000000000000000092
+:105E10000000000000000001010101010101010179
+:105E2000010101010101010000000000000000006B
+:105E30000000000000000000000000000000000062
+:105E40000000000000000000000000000000000052
+:105E50000000000000000000000000000000000042
+:105E60000000000000000002020202020202020220
+:105E7000020202020202020101010101010101010B
+:105E8000010101010101010000000000000000000B
+:105E90000000000000000000000000000000000002
+:105EA00000000000000000000000000000000000F2
+:105EB00000000000000000000000000000000000E2
+:105EC00000000000000000010101010101010101C9
+:105ED00001010101010101000000000000000000BB
+:105EE00000000000000000000000000000000000B2
+:105EF00000000000000000000000000000000000A2
+:105F00000000000000000000000000000000000091
+:105F10000000000000000001010101010101010178
+:105F2000010101010101010000000000000000006A
+:105F30000000000000000000000000000000000061
+:105F40000000000000000000000000000000000051
+:105F50000000000000000000000000000000000041
+:105F6000000000000000000202020202020202021F
+:105F7000020202020202020101010101010101010A
+:105F8000010101010101010000000000000000000A
+:105F90000000000000000000000000000000000001
+:105FA00000000000000000000000000000000000F1
+:105FB00000000000000000000000000000000000E1
+:105FC00000000000000000010101010101010101C8
+:105FD00001010101010101000000000000000000BA
+:105FE00000000000000000000000000000000000B1
+:105FF00000000000000000000000000000000000A1
+:106000000000000000000000000000000000000090
+:106010000000000000000001010101010101010177
+:106020000101010101010100000000000000000069
+:106030000000000000000000000000000000000060
+:106040000000000000000000000000000000000050
+:106050000000000000000000000000000000000040
+:10606000000000000000000202020202020202021E
+:106070000202020202020201010101010101010109
+:106080000101010101010100000000000000000009
+:106090000000000000000000000000000000000000
+:1060A00000000000000000000000000000000000F0
+:1060B00000000000000000000000000000000000E0
+:1060C00000000000000000010101010101010101C7
+:1060D00001010101010101000000000000000000B9
+:1060E00000000000000000000000000000000000B0
+:1060F00000000000000000000000000000000000A0
+:10610000000000000000000000000000000000008F
+:106110000000000000000001010101010101010176
+:106120000101010101010100000000000000000068
+:10613000000000000000000000000000000000005F
+:10614000000000000000000000000000000000004F
+:10615000000000000000000000000000000000003F
+:10616000000000000000000202020202020202021D
+:106170000202020202020201010101010101010108
+:106180000101010101010100000000000000000008
+:1061900000000000000000000000000000000000FF
+:1061A00000000000000000000000000000000000EF
+:1061B00000000000000000000000000000000000DF
+:1061C00000000000000000010101010101010101C6
+:1061D00001010101010101000000000000000000B8
+:1061E00000000000000000000000000000000000AF
+:1061F000000000000000000000000000000000009F
+:10620000000000000000000000000000000000008E
+:106210000000000000000001010101010101010175
+:106220000101010101010100000000000000000067
+:10623000000000000000000000000000000000005E
+:10624000000000000000000000000000000000004E
+:10625000000000000000000000000000000000003E
+:10626000000000000000000202020202020202021C
+:106270000202020202020201010101010101010107
+:106280000101010101010100000000000000000007
+:1062900000000000000000000000000000000000FE
+:1062A00000000000000000000000000000000000EE
+:1062B00000000000000000000000000000000000DE
+:1062C00000000000000000010101010101010101C5
+:1062D00001010101010101000000000000000000B7
+:1062E00000000000000000000000000000000000AE
+:1062F000000000000000000000000000000000009E
+:10630000000000000000000000000000000000008D
+:106310000000000000000001010101010101010174
+:106320000101010101010100000000000000000066
+:10633000000000000000000000000000000000005D
+:10634000000000000000000000000000000000004D
+:10635000000000000000000000000000000000003D
+:10636000000000000000000202020202020202021B
+:106370000202020202020201010101010101010106
+:106380000101010101010100000000000000000006
+:1063900000000000000000000000000000000000FD
+:1063A00000000000000000000000000000000000ED
+:1063B00000000000000000000000000000000000DD
+:1063C00000000000000000010101010101010101C4
+:1063D00001010101010101000000000000000000B6
+:1063E00000000000000000000000000000000000AD
+:1063F000000000000000000000000000000000009D
+:10640000000000000000000000000000000000008C
+:106410000000000000000001010101010101010173
+:106420000101010101010100000000000000000065
+:10643000000000000000000000000000000000005C
+:10644000000000000000000000000000000000004C
+:10645000000000000000000000000000000000003C
+:10646000000000000000000202020202020202021A
+:106470000202020202020201010101010101010105
+:106480000101010101010100000000000000000005
+:1064900000000000000000000000000000000000FC
+:1064A00000000000000000000000000000000000EC
+:1064B00000000000000000000000000000000000DC
+:1064C00000000000000000010101010101010101C3
+:1064D00001010101010101000000000000000000B5
+:1064E00000000000000000000000000000000000AC
+:1064F000000000000000000000000000000000009C
+:10650000000000000000000000000000000000008B
+:106510000000000000000001010101010101010172
+:106520000101010101010100000000000000000064
+:10653000000000000000000000000000000000005B
+:10654000000000000000000000000000000000004B
+:10655000000000000000000000000000000000003B
+:106560000000000000000002020202020202020219
+:106570000202020202020201010101010101010104
+:106580000101010101010100000000000000000004
+:1065900000000000000000000000000000000000FB
+:1065A00000000000000000000000000000000000EB
+:1065B00000000000000000000000000000000000DB
+:1065C00000000000000000010101010101010101C2
+:1065D00001010101010101000000000000000000B4
+:1065E00000000000000000000000000000000000AB
+:1065F000000000000000000000000000000000009B
+:10660000000000000000000000000000000000008A
+:106610000000000000000001010101010101010171
+:106620000101010101010100000000000000000063
+:10663000000000000000000000000000000000005A
+:10664000000000000000000000000000000000004A
+:10665000000000000000000000000000000000003A
+:106660000000000000000002020202020202020218
+:106670000202020202020201010101010101010103
+:106680000101010101010100000000000000000003
+:1066900000000000000000000000000000000000FA
+:1066A00000000000000000000000000000000000EA
+:1066B00000000000000000000000000000000000DA
+:1066C00000000000000000010101010101010101C1
+:1066D00001010101010101000000000000000000B3
+:1066E00000000000000000000000000000000000AA
+:1066F000000000000000000000000000000000009A
+:106700000000000000000000000000000000000089
+:106710000000000000000001010101010101010170
+:106720000101010101010100000000000000000062
+:106730000000000000000000000000000000000059
+:106740000000000000000000000000000000000049
+:106750000000000000000000000000000000000039
+:106760000000000000000002020202020202020217
+:106770000202020202020201010101010101010102
+:106780000101010101010100000000000000000002
+:1067900000000000000000000000000000000000F9
+:1067A00000000000000000000000000000000000E9
+:1067B00000000000000000000000000000000000D9
+:1067C00000000000000000010101010101010101C0
+:1067D00001010101010101000000000000000000B2
+:1067E00000000000000000000000000000000000A9
+:1067F0000000000000000000000000000000000099
+:106800000000000000000000000000000000000088
+:10681000000000000000000101010101010101016F
+:106820000101010101010100000000000000000061
+:106830000000000000000000000000000000000058
+:106840000000000000000000000000000000000048
+:106850000000000000000000000000000000000038
+:106860000000000000000000010101010101010120
+:106870000101010101010100000000000000000011
+:106880000000000000000000000000000000000008
+:1068900000000000000000000000000000000000F8
+:1068A00000000000000000000000000000000000E8
+:1068B00000000000000000000000000000000000D8
+:1068C00000000000000000020202020202020202B6
+:1068D00002020202020202000000000000000000AA
+:1068E00000000000000000000000000000000000A8
+:1068F0000000000000000000000000000000000098
+:106900000000000000000000000000000000000087
+:106910000000000000000002020202020202020265
+:106920000202020202020200000000000000000059
+:106930000000000000000000000000000000000057
+:106940000000000000000000000000000000000047
+:106950000000000000000000000000000000000037
+:106960000000000000000000000000000000000027
+:106970000000000000000000000000000000000017
+:106980000000000000000000000000000000000007
+:1069900000000000000000000000000000000000F7
+:1069A00000000000000000000000000000000000E7
+:1069B00000000000000000000000000000000000D7
+:1069C00000000000000000020202020202020202B5
+:1069D00002020202020202000000000000000000A9
+:1069E00000000000000000000000000000000000A7
+:1069F0000000000000000000000000000000000097
+:106A00000000000000000000000000000000000086
+:106A10000000000000000002020202020202020264
+:106A20000202020202020200000000000000000058
+:106A30000000000000000000000000000000000056
+:106A40000000000000000000000000000000000046
+:106A50000000000000000000000000000000000036
+:106A60000000000000000000000000000000000026
+:106A70000000000000000000000000000000000016
+:106A80000000000000000000000000000000000006
+:106A900000000000000000000000000000000000F6
+:106AA00000000000000000000000000000000000E6
+:106AB00000000000000000000000000000000000D6
+:106AC00000000000000000000000000000000000C6
+:106AD00000000000000000000000000000000000B6
+:106AE00000000000000000000000000000000000A6
+:106AF0000000000000000000000000000000000096
+:106B00000000000000000000000000000000000085
+:106B10000000000000000000000000000000000075
+:106B20000000000000000000000000000000000065
+:106B30000000000000000000000000000000000055
+:106B40000000000000000000000000000000000045
+:106B50000000000000000000000000000000000035
+:106B60000000000000000000000000000000000025
+:106B7000000000000000002F0000000000000000E6
+:106B80000000000000000000000000000000000005
+:106B900000000000000000000000000000000000F5
+:106BA00000000000000000000000000000000000E5
+:106BB00000000000000000000000000000000000D5
+:106BC00000000000000000000000000000000000C5
+:106BD00000000000010000010000000000000100B2
+:106BE00000000000000000000000000000000000A5
+:106BF0000000000000000000000000000000000095
+:106C00000000000000000000000000000000000084
+:106C10000000000000000000000000000000000074
+:106C20000000000000000000000000000000000064
+:106C30000000000000000000000000000000000054
+:106C40000000000000000000000000000000000044
+:106C50000000000000000000000000000000000034
+:106C60000000000000000000000000000000000024
+:106C70000000000000000000000000000000000014
+:106C80000000000000000000000000000000000004
+:106C900000000000000000000000000000000000F4
+:106CA00000000000000000000000000000000000E4
+:106CB00000000000000000000000000000000000D4
+:106CC00000000000000000000000000000000001C3
+:106CD00001010000010101010000010001000100AB
+:106CE00000000000000000000000000000000000A4
+:106CF0000000000000000000000000000000000094
+:106D00000000000000000000000000000000000083
+:106D10000000000000000000000000000000000073
+:106D20000000000001000000000000000000000062
+:106D30000000000000000000000000000000000053
+:106D40000000000000000000000000000000000043
+:106D50000000000000000000000000000000000033
+:106D60000000000000000000000000000000000023
+:106D70000000000000000000000000000000000112
+:106D80000000000000000000000000000000000003
+:106D900000000000000000000000000000000000F3
+:106DA00000000000000000000000000000000000E3
+:106DB00000000000000000000000000000000000D3
+:106DC00000000000000000000000000000000001C2
+:106DD00002010000010101010000010001000100A9
+:106DE00000000000000000000000000000000000A3
+:106DF0000000000000000000000000000000000093
+:106E00000000000000000000000000000000000082
+:106E10000000000000000000000000000000000072
+:106E20000000000001000000000000000000000061
+:106E30000000000000000000000000000000000052
+:106E40000000000000000000000000000000000042
+:106E50000000000000000000000000000000000032
+:106E60000000000000000000000000000000000022
+:106E7000000000000100000000000000000001010F
+:106E80000000000000000000000000000000000002
+:106E900000000000000000000000000000000000F2
+:106EA00000000000000000000000000000000000E2
+:106EB00000000000000000000000000000000000D2
+:106EC00000000000000000000000000000000002C0
+:106ED00002020000010101010000010001000100A7
+:106EE00000000000000000000000000000000000A2
+:106EF0000000000000000000000000000000000092
+:106F00000000000000000000000000000000000081
+:106F10000000000000000000000000000000000071
+:106F20000000000001000000000000000000000060
+:106F30000000000000000000000000000000000051
+:106F40000000000000000000000000000000000041
+:106F50000000000000000000000000000000000031
+:106F60000000000000000000000000000000000021
+:106F7000000000000101000000000000010101020A
+:106F80000000000000000000000000000000000001
+:106F900000000000000000000000000000000000F1
+:106FA00000000000000000000000000000000000E1
+:106FB00000000000000000000000000000000000D1
+:106FC00000000000000000000000000000000002BF
+:106FD00002020000010101010100010001000100A5
+:106FE00000000000000000000000000000000000A1
+:106FF0000000000000000000000000000000000091
+:107000000000000000000000000000000000000080
+:107010000000000000000000000000000000000070
+:10702000010000000100000000000001000000005D
+:107030000000000000000000000000000000000050
+:107040000000000000000000000000000000000040
+:107050000000000000000000000000000000000030
+:107060000000000000000000000000000000000020
+:107070000000000001010000000000000101010209
+:107080000000000000000000000000000000000000
+:1070900000000000000000000000000000000000F0
+:1070A00000000000000000000000000000000000E0
+:1070B00000000000000000000000000000000000D0
+:1070C00000000000000000000000000000000002BE
+:1070D00002020100010101010101010101000100A1
+:1070E00000000000000000000000000000000000A0
+:1070F0000000000000000000000000000000000090
+:10710000000000000000000000000000000000007F
+:10711000000000000000000000000000000000006F
+:10712000010000000100000000000001000000005C
+:10713000000000000000000000000000000000004F
+:10714000000000000000000000000000000000003F
+:10715000000000000000000000000000000000002F
+:10716000000000000000000000000000000000001F
+:107170000001010101010100000001000101010203
+:1071800000000000000000000000000000000000FF
+:1071900000000000000000000000000000000000EF
+:1071A00000000000000000000000000000000000DF
+:1071B00000000000000000000000000000000000CF
+:1071C00000000000000000000000000000000002BD
+:1071D000020202000101020201010101010001009D
+:1071E000000000000000000000000000000000009F
+:1071F000000000000000000000000000000000008F
+:10720000000000000000000000000000000000007E
+:10721000000000000000000000000000000000016D
+:107220000101000001000100000001010000000058
+:10723000000000000000000000000000000000004E
+:10724000000000000000000000000000000000003E
+:10725000000000000000000000000000000000002E
+:10726000000000000000000000000000000000001E
+:107270000001010101010101010001000101010200
+:1072800000000000000000000000000000000000FE
+:1072900000000000000000000000000000000000EE
+:1072A00000000000000000000000000000000000DE
+:1072B00000000000000000000000000000000000CE
+:1072C00000000000000000000000000000000002BC
+:1072D0000202020102020202010101010100010099
+:1072E000000000000000000000000000000000009E
+:1072F000000000000000000000000000000000008E
+:10730000000000000000000000000000000000007D
+:10731000000000000000000000000000000000016C
+:107320000201000001000100000001010000010055
+:10733000000000000000000000000000000000004D
+:10734000000000000000000000000000000000003D
+:10735000000000000000000000000000000000002D
+:10736000000000000000000000000000000000001D
+:1073700001010101010101010101010101010102FC
+:1073800002000000000000000000000000000000FB
+:1073900000000000000000000000000000000000ED
+:1073A00000000000000000000000000000000000DD
+:1073B00000000000000000000000000000000000CD
+:1073C00000000000000000000000000000000002BB
+:1073D0000202020202020202010102010100010096
+:1073E000000000000000000000000000000000009D
+:1073F000000000000000000000000000000000008D
+:10740000000000000000000000000000000000007C
+:10741000000000000000000000000000000000016B
+:107420000201010001010100000101010100010050
+:10743000000000000000000000000000000000004C
+:10744000000000000000000000000000000000003C
+:10745000000000000000000000000000000000002C
+:10746000000000000000000000000000000000001C
+:1074700001010101010101010101010101010102FB
+:1074800002000000010000000000000000000000F9
+:1074900000000000000000000000000000000000EC
+:1074A00000000000000000000000000000000000DC
+:1074B00000000000000000000000000000000000CC
+:1074C00000000000000000000000000000000002BA
+:1074D0000202020202020202020102010100010094
+:1074E000000000000000000000000000000000009C
+:1074F000000000000000000000000000000000008C
+:10750000000000000000000000000000000000007B
+:107510000000000000000000000000000000000269
+:10752000020201000101010100010101010001004D
+:10753000000000000000000000000000000000004B
+:10754000000000000000000000000000000000003B
+:10755000000000000000000000000000000000002B
+:10756000000000000000000000000000000000001B
+:1075700001010101010101010101010101010102FA
+:1075800002020200010000000000000001000000F3
+:1075900000000000000000000000000000000000EB
+:1075A00000000000000000000000000000000000DB
+:1075B00000000000000000000000000000000000CB
+:1075C00000000000000000000000000000000002B9
+:1075D0000202020202020202020202020200010090
+:1075E000000000000000000000000000000000009B
+:1075F000000000000000000000000000000000008B
+:10760000000000000000000000000000000000007A
+:107610000000000000000000000000000000000268
+:10762000020201010101010100010101010001004B
+:10763000000000000000000000000000000000004A
+:10764000000000000000000000000000000000003A
+:10765000000000000000000000000000000000002A
+:10766000000000000000000000000000000000001A
+:1076700001010101010101010101010101010102F9
+:1076800002020200010000000000000001000000F2
+:1076900000000000000000000000000000000000EA
+:1076A00000000000000000000000000000000000DA
+:1076B00000000000000000000000000000000000CA
+:1076C00000000000000000000000000000000002B8
+:1076D000020202020202020202020202020002008E
+:1076E000000000000000000000000000000000009A
+:1076F000000000000000000000000000000000008A
+:107700000000000000000000000000000000000079
+:107710000000000000000000000000000000000267
+:107720000202020102010101010101010100010047
+:107730000000000000000000000000000000000049
+:107740000000000000000000000000000000000039
+:107750000000000000000000000000000000000029
+:107760000000000000000000000000000000000019
+:1077700001010101010101010101010101010102F8
+:1077800002020202020000000000000001010000ED
+:1077900000000000000000000000000000000000E9
+:1077A00000000000000000000000000000000000D9
+:1077B00000000000000000000000000000000000C9
+:1077C00000000000000000000000000000000002B7
+:1077D000020202020202020202020202020002008D
+:1077E0000000000000000000000000000000000099
+:1077F0000000000000000000000000000000000089
+:107800000000000000000000000000000000000078
+:107810000000000000000000000000000000000266
+:107820000202020102010101010101010101010045
+:107830000000000000000000000000000000000048
+:107840000000000000000000000000000000000038
+:107850000000000000000000000000000000000028
+:107860000000000000000000000000000000000018
+:1078700001010101010101010101010101010102F7
+:1078800002020202020000020000000001010000EA
+:1078900000000000000000000000000000000000E8
+:1078A00000000000000000000000000000000000D8
+:1078B00000000000000000000000000000000000C8
+:1078C00000000000000000000000000000000002B6
+:1078D000020202020202020202020202020102008B
+:1078E0000000000000000000000000000000000098
+:1078F0000000000000000000000000000000000088
+:107900000000000000000000000000000000000077
+:107910000000000000000000000000000000000265
+:107920000202020202010201010101020101010041
+:107930000000000000000000000000000000000047
+:107940000000000000000000000000000000000037
+:107950000000000000000000000000000000000027
+:107960000000000000000000000000000000000017
+:1079700002020101010101010101010101010102F4
+:1079800002020202020002020002000202010000E2
+:1079900000000000000000000000000000000000E7
+:1079A00000000000000000000000000000000000D7
+:1079B00000000000000000000000000000000000C7
+:1079C00000000000000000000000000000000002B5
+:1079D000020202020202020202020202020102008A
+:1079E0000000000000000000000000000000000097
+:1079F0000000000000000000000000000000000087
+:107A00000000000000000000000000000000000076
+:107A10000000000000000000000000000000000264
+:107A20000202020202010201010101020101010040
+:107A30000000000000000000000000000000000046
+:107A40000000000000000000000000000000000036
+:107A50000000000000000000000000000000000026
+:107A60000000000000000000000000000000000016
+:107A700002020201010101010101010101010102F2
+:107A800002020202020002020202000202020000DE
+:107A900000000000000000000000000000000000E6
+:107AA00000000000000000000000000000000000D6
+:107AB00000000000000000000000000000000000C6
+:107AC00000000000000000000000000000000002B4
+:107AD0000202020202020202020202020201020089
+:107AE0000000000000000000000000000000000096
+:107AF0000000000000000000000000000000000086
+:107B00000000000000000000000000000000000075
+:107B10000000000000000000000000000000000263
+:107B2000020202020202020201010202010101003C
+:107B30000000000000000000000000000000000045
+:107B40000000000000000000000000000000000035
+:107B50000000000000000000000000000000000025
+:107B60000000000000000000000000000000000015
+:107B700002020202010101010101010101010102F0
+:107B800002020202020202020202020202020000D9
+:107B900000000000000000000000000000000000E5
+:107BA00000000000000000000000000000000000D5
+:107BB00000000000000000000000000000000000C5
+:107BC00000000000000000000000000000000002B3
+:107BD0000202020202020202020202020202020087
+:107BE0000000000000000000000000000000000095
+:107BF0000000000000000000000000000000000085
+:107C00000000000000000000000000000000000074
+:107C10000000000000000000000000000000000262
+:107C2000020202020202020201020202010101003A
+:107C30000000000000000000000000000000000044
+:107C40000000000000000000000000000000000034
+:107C50000000000000000000000000000000000024
+:107C60000000000000000000000000000000000014
+:107C700002020202020101010101010101010102EE
+:107C800002020202020202020202020202020000D8
+:107C900000000000000000000000000000000000E4
+:107CA00000000000000000000000000000000000D4
+:107CB00000000000000000000000000000000000C4
+:107CC00000000000000000000000000000000002B2
+:107CD0000202020202020202020202020202020086
+:107CE0000000000000000000000000000000000094
+:107CF0000000000000000000000000000000000084
+:107D00000000000000000000000000000000000073
+:107D10000000000000000000000000000000000261
+:107D20000202020202020202020202020101010038
+:107D30000000000000000000000000000000000043
+:107D40000000000000000000000000000000000033
+:107D50000000000000000000000000000000000023
+:107D60000000000000000000000000000000000013
+:107D700002020202020201010101010101010102EC
+:107D800002020202020202020202020202020000D7
+:107D900000000000000000000000000000000000E3
+:107DA00000000000000000000000000000000000D3
+:107DB00000000000000000000000000000000000C3
+:107DC00000000000000000000000000000000002B1
+:107DD0000202020202020202020202020202020085
+:107DE0000000000000000000000000000000000093
+:107DF0000000000000000000000000000000000083
+:107E00000000000000000000000000000000000072
+:107E10000000000000000000000000000000000260
+:107E20000202020202020202020202020101010037
+:107E30000000000000000000000000000000000042
+:107E40000000000000000000000000000000000032
+:107E50000000000000000000000000000000000022
+:107E60000000000000000000000000000000000012
+:107E700002020202020202010101010101010102EA
+:107E800002020202020202020202020202020000D6
+:107E900000000000000000000000000000000000E2
+:107EA00000000000000000000000000000000000D2
+:107EB00000000000000000000000000000000000C2
+:107EC00000000000000000000000000000000002B0
+:107ED0000202020202020202020202020202020084
+:107EE0000000000000000000000000000000000092
+:107EF0000000000000000000000000000000000082
+:107F00000000000000000000000000000000000071
+:107F1000000000000000000000000000000000025F
+:107F20000202020202020202020202020201010035
+:107F30000000000000000000000000000000000041
+:107F40000000000000000000000000000000000031
+:107F50000000000000000000000000000000000021
+:107F6000000000000000000000000000000000020F
+:107F700002020202020202020101010101010102E8
+:107F800002020202020202020202020202020000D5
+:107F900000000000000000000000000000000000E1
+:107FA00000000000000000000000000000000000D1
+:107FB00000000000000000000000000000000000C1
+:107FC00000000000000000000000000000000002AF
+:107FD0000202020202020202020202020202020083
+:107FE0000000000000000000000000000000000091
+:107FF0000000000000000000000000000000000081
+:108000000000000000000000000000000000000070
+:10801000000000000000000000000000000000025E
+:108020000202020202020202020202020201020033
+:108030000000000000000000000000000000000040
+:108040000000000000000000000000000000000030
+:108050000000000000000000000000000000000020
+:10806000000000000000000000000000000000020E
+:1080700002020202020202020201010101010102E6
+:1080800002020202020202020202020101010100D6
+:1080900000000000000000000000000000000000E0
+:1080A00000000000000000000000000000000000D0
+:1080B00000000000000000000000000000000000C0
+:1080C00000000000000000000000000000000002AE
+:1080D0000202020202020202020202020202020082
+:1080E0000000000000000000000000000000000090
+:1080F0000000000000000000000000000000000080
+:10810000000000000000000000000000000000006F
+:10811000000000000000000000000000000000025D
+:108120000202020202020202020202020202020031
+:10813000000000000000000000000000000000003F
+:10814000000000000000000000000000000000002F
+:10815000000000000000000000000000000000001F
+:10816000000000000000000000000000000000020D
+:1081700002020202020202020202020101010102E3
+:1081800002020202020202020201010101010100D7
+:1081900000000000000000000000000000000000DF
+:1081A00000000000000000000000000000000000CF
+:1081B00000000000000000000000000000000000BF
+:1081C00000000000000000000000000000000002AD
+:1081D0000202020202020202020202020202020081
+:1081E000000000000000000000000000000000008F
+:1081F000000000000000000000000000000000007F
+:10820000000000000000000000000000000000006E
+:10821000000000000000000000000000000000025C
+:108220000202020202020202020202020202020030
+:10823000000000000000000000000000000000003E
+:10824000000000000000000000000000000000002E
+:10825000000000000000000000000000000000001E
+:10826000000000000000000000000000000000020C
+:1082700002020202020202020202020202020102DF
+:1082800002020202020202010101010101010100D8
+:1082900000000000000000000000000000000000DE
+:1082A00000000000000000000000000000000000CE
+:1082B00000000000000000000000000000000000BE
+:1082C00000000000000000000000000000000002AC
+:1082D0000202020202020202020202020202020080
+:1082E000000000000000000000000000000000008E
+:1082F000000000000000000000000000000000007E
+:10830000000000000000000000000000000000006D
+:10831000000000000000000000000000000000025B
+:10832000020202020202020202020202020202002F
+:10833000000000000000000000000000000000003D
+:10834000000000000000000000000000000000002D
+:10835000000000000000000000000000000000001D
+:10836000000000000000000000000000000000020B
+:1083700002020202020202020202020202020202DD
+:1083800002020202020201010101010101010100D8
+:1083900000000000000000000000000000000000DD
+:1083A00000000000000000000000000000000000CD
+:1083B00000000000000000000000000000000000BD
+:1083C00000000000000000000000000000000002AB
+:1083D000020202020202020202020202020202007F
+:1083E000000000000000000000000000000000008D
+:1083F000000000000000000000000000000000007D
+:10840000000000000000000000000000000000006C
+:10841000000000000000000000000000000000025A
+:10842000020202020202020202020202020202002E
+:10843000000000000000000000000000000000003C
+:10844000000000000000000000000000000000002C
+:10845000000000000000000000000000000000001C
+:10846000000000000000000000000000000000020A
+:1084700002020202020202020202020202020202DC
+:1084800002020202010101010101010101010100D9
+:1084900000000000000000000000000000000000DC
+:1084A00000000000000000000000000000000000CC
+:1084B00000000000000000000000000000000000BC
+:1084C00000000000000000000000000000000002AA
+:1084D000020202020202020202020202020202007E
+:1084E000000000000000000000000000000000008C
+:1084F000000000000000000000000000000000007C
+:10850000000000000000000000000000000000006B
+:108510000000000000000000000000000000000259
+:10852000020202020202020202020202020202002D
+:10853000000000000000000000000000000000003B
+:10854000000000000000000000000000000000002B
+:10855000000000000000000000000000000000001B
+:108560000000000000000000000000000000000209
+:1085700002020202020202020202020202020201DC
+:1085800002020101010101010101010101010100DA
+:1085900000000000000000000000000000000000DB
+:1085A00000000000000000000000000000000000CB
+:1085B00000000000000000000000000000000000BB
+:1085C00000000000000000000000000000000002A9
+:1085D0000202020202020202020201010101010082
+:1085E000000000000000000000000000000000008B
+:1085F000000000000000000000000000000000007B
+:10860000000000000000000000000000000000006A
+:108610000000000000000000000000000000000258
+:10862000020202020202020202020202020202002C
+:10863000000000000000000000000000000000003A
+:10864000000000000000000000000000000000002A
+:10865000000000000000000000000000000000001A
+:108660000000000000000000000000000000000208
+:1086700002020202020202020202020202020201DB
+:1086800001010101010101010101010101010100DB
+:1086900000000000000000000000000000000000DA
+:1086A00000000000000000000000000000000000CA
+:1086B00000000000000000000000000000000000BA
+:1086C00000000000000000000000000000000002A8
+:1086D0000202020202020101010101010101010085
+:1086E000000000000000000000000000000000008A
+:1086F000000000000000000000000000000000007A
+:108700000000000000000000000000000000000069
+:108710000000000000000000000000000000000257
+:10872000020202020202020202020202020202002B
+:108730000000000000000000000000000000000039
+:108740000000000000000000000000000000000029
+:108750000000000000000000000000000000000019
+:108760000000000000000000000000000000000207
+:1087700002020202020202020202020202020201DA
+:1087800001010101010101010101010101010100DA
+:1087900000000000000000000000000000000000D9
+:1087A00000000000000000000000000000000000C9
+:1087B00000000000000000000000000000000000B9
+:1087C00000000000000000000000000000000002A7
+:1087D0000202020202010101010101010101010085
+:1087E0000000000000000000000000000000000089
+:1087F0000000000000000000000000000000000079
+:108800000000000000000000000000000000000068
+:108810000000000000000000000000000000000256
+:10882000020202020202020202020202020202002A
+:108830000000000000000000000000000000000038
+:108840000000000000000000000000000000000028
+:108850000000000000000000000000000000000018
+:108860000000000000000000000000000000000206
+:1088700002020202020202020202020202020201D9
+:1088800001010101010101010101010101010100D9
+:1088900000000000000000000000000000000000D8
+:1088A00000000000000000000000000000000000C8
+:1088B00000000000000000000000000000000000B8
+:1088C00000000000000000000000000000000002A6
+:1088D0000101010101010101010101010101010089
+:1088E0000000000000000000000000000000000088
+:1088F0000000000000000000000000000000000078
+:108900000000000000000000000000000000000067
+:108910000000000000000000000000000000000255
+:108920000202020202020202020202020202020029
+:108930000000000000000000000000000000000037
+:108940000000000000000000000000000000000027
+:108950000000000000000000000000000000000017
+:108960000000000000000000000000000000000205
+:1089700002020202020202020202020202020201D8
+:1089800001010101010101010101010101010100D8
+:1089900000000000000000000000000000000000D7
+:1089A00000000000000000000000000000000000C7
+:1089B00000000000000000000000000000000000B7
+:1089C00000000000000000000000000000000001A6
+:1089D0000101010101010101010101010101010088
+:1089E0000000000000000000000000000000000087
+:1089F0000000000000000000000000000000000077
+:108A00000000000000000000000000000000000066
+:108A10000000000000000000000000000000000254
+:108A20000202020202020202020202020202020028
+:108A30000000000000000000000000000000000036
+:108A40000000000000000000000000000000000026
+:108A50000000000000000000000000000000000016
+:108A60000000000000000000000000000000000204
+:108A700002020202020202020202020202020201D7
+:108A800001010101010101010101010101010100D7
+:108A900000000000000000000000000000000000D6
+:108AA00000000000000000000000000000000000C6
+:108AB00000000000000000000000000000000000B6
+:108AC00000000000000000000000000000000001A5
+:108AD0000101010101010101010101010101010087
+:108AE0000000000000000000000000000000000086
+:108AF0000000000000000000000000000000000076
+:108B00000000000000000000000000000000000065
+:108B10000000000000000000000000000000000253
+:108B20000202020202020202020202010202020028
+:108B30000000000000000000000000000000000035
+:108B40000000000000000000000000000000000025
+:108B50000000000000000000000000000000000015
+:108B60000000000000000000000000000000000203
+:108B700002020202020202020202020202020201D6
+:108B800001010101010101010101010101010100D6
+:108B900000000000000000000000000000000000D5
+:108BA00000000000000000000000000000000000C5
+:108BB00000000000000000000000000000000000B5
+:108BC00000000000000000000000000000000001A4
+:108BD0000101010101010101010101010101010086
+:108BE0000000000000000000000000000000000085
+:108BF0000000000000000000000000000000000075
+:108C00000000000000000000000000000000000064
+:108C10000000000000000000000000000000000252
+:108C20000202020202020202020201010202020028
+:108C30000000000000000000000000000000000034
+:108C40000000000000000000000000000000000024
+:108C50000000000000000000000000000000000014
+:108C60000000000000000000000000000000000202
+:108C700002020202020202020202020202020201D5
+:108C800001010101010101010101010101010100D5
+:108C900000000000000000000000000000000000D4
+:108CA00000000000000000000000000000000000C4
+:108CB00000000000000000000000000000000000B4
+:108CC00000000000000000000000000000000001A3
+:108CD0000101010101010101010101010101010085
+:108CE0000000000000000000000000000000000084
+:108CF0000000000000000000000000000000000074
+:108D00000000000000000000000000000000000063
+:108D10000000000000000000000000000000000251
+:108D2000020202020202010101010101010101002E
+:108D30000000000000000000000000000000000033
+:108D40000000000000000000000000000000000023
+:108D50000000000000000000000000000000000013
+:108D60000000000000000000000000000000000201
+:108D700002020202020202020202020202020201D4
+:108D800001010101010101010101010101010100D4
+:108D900000000000000000000000000000000000D3
+:108DA00000000000000000000000000000000000C3
+:108DB00000000000000000000000000000000000B3
+:108DC00000000000000000000000000000000001A2
+:108DD0000101010101010101010101010101010084
+:108DE0000000000000000000000000000000000083
+:108DF0000000000000000000000000000000000073
+:108E00000000000000000000000000000000000062
+:108E10000000000000000000000000000000000250
+:108E20000101010101010101010101010101010033
+:108E30000000000000000000000000000000000032
+:108E40000000000000000000000000000000000022
+:108E50000000000000000000000000000000000012
+:108E60000000000000000000000000000000000200
+:108E700002020202020202020202020202020201D3
+:108E800001010101010101010101010101010100D3
+:108E900000000000000000000000000000000000D2
+:108EA00000000000000000000000000000000000C2
+:108EB00000000000000000000000000000000000B2
+:108EC00000000000000000000000000000000001A1
+:108ED0000101010101010101010101010101010083
+:108EE0000000000000000000000000000000000082
+:108EF0000000000000000000000000000000000072
+:108F00000000000000000000000000000000000061
+:108F10000000000000000000000000000000000150
+:108F20000101010101010101010101010101010032
+:108F30000000000000000000000000000000000031
+:108F40000000000000000000000000000000000021
+:108F50000000000000000000000000000000000011
+:108F600000000000000000000000000000000002FF
+:108F700002020202020202020202020202020201D2
+:108F800001010101010101010101010101010100D2
+:108F900000000000000000000000000000000000D1
+:108FA00000000000000000000000000000000000C1
+:108FB00000000000000000000000000000000000B1
+:108FC00000000000000000000000000000000001A0
+:108FD0000101010101010101010101010101010082
+:108FE0000000000000000000000000000000000081
+:108FF0000000000000000000000000000000000071
+:109000000000000000000000000000000000000060
+:10901000000000000000000000000000000000014F
+:109020000101010101010101010101010101010031
+:109030000000000000000000000000000000000030
+:109040000000000000000000000000000000000020
+:109050000000000000000000000000000000000010
+:1090600000000000000000000000000000000002FE
+:1090700002020202020202020202020202020201D1
+:1090800001010101010101010101010101010100D1
+:1090900000000000000000000000000000000000D0
+:1090A00000000000000000000000000000000000C0
+:1090B00000000000000000000000000000000000B0
+:1090C000000000000000000000000000000000019F
+:1090D0000101010101010101010101010101010081
+:1090E0000000000000000000000000000000000080
+:1090F0000000000000000000000000000000000070
+:10910000000000000000000000000000000000005F
+:10911000000000000000000000000000000000014E
+:109120000101010101010101010101010101010030
+:10913000000000000000000000000000000000002F
+:10914000000000000000000000000000000000001F
+:10915000000000000000000000000000000000000F
+:1091600000000000000000000000000000000002FD
+:1091700002020202020202020202020202020201D0
+:1091800001010101010101010101010101010100D0
+:1091900000000000000000000000000000000000CF
+:1091A00000000000000000000000000000000000BF
+:1091B00000000000000000000000000000000000AF
+:1091C000000000000000000000000000000000019E
+:1091D0000101010101010101010101010101010080
+:1091E000000000000000000000000000000000007F
+:1091F000000000000000000000000000000000006F
+:10920000000000000000000000000000000000005E
+:10921000000000000000000000000000000000014D
+:10922000010101010101010101010101010101002F
+:10923000000000000000000000000000000000002E
+:10924000000000000000000000000000000000001E
+:10925000000000000000000000000000000000000E
+:1092600000000000000000000000000000000002FC
+:1092700002020202020202020202020202020201CF
+:1092800001010101010101010101010101010100CF
+:1092900000000000000000000000000000000000CE
+:1092A00000000000000000000000000000000000BE
+:1092B00000000000000000000000000000000000AE
+:1092C000000000000000000000000000000000019D
+:1092D000010101010101010101010101010101007F
+:1092E000000000000000000000000000000000007E
+:1092F000000000000000000000000000000000006E
+:10930000000000000000000000000000000000005D
+:10931000000000000000000000000000000000014C
+:10932000010101010101010101010101010101002E
+:10933000000000000000000000000000000000002D
+:10934000000000000000000000000000000000001D
+:10935000000000000000000000000000000000000D
+:1093600000000000000000000000000000000002FB
+:1093700002020202020202020202020202020201CE
+:1093800001010101010101010101010101010100CE
+:1093900000000000000000000000000000000000CD
+:1093A00000000000000000000000000000000000BD
+:1093B00000000000000000000000000000000000AD
+:1093C000000000000000000000000000000000019C
+:1093D000010101010101010101010101010101007E
+:1093E000000000000000000000000000000000007D
+:1093F000000000000000000000000000000000006D
+:10940000000000000000000000000000000000005C
+:10941000000000000000000000000000000000014B
+:10942000010101010101010101010101010101002D
+:10943000000000000000000000000000000000002C
+:10944000000000000000000000000000000000001C
+:10945000000000000000000000000000000000000C
+:1094600000000000000000000000000000000002FA
+:1094700002020202020202020202020202020201CD
+:1094800001010101010101010101010101010100CD
+:1094900000000000000000000000000000000000CC
+:1094A00000000000000000000000000000000000BC
+:1094B00000000000000000000000000000000000AC
+:1094C000000000000000000000000000000000019B
+:1094D000010101010101010101010101010101007D
+:1094E000000000000000000000000000000000007C
+:1094F000000000000000000000000000000000006C
+:10950000000000000000000000000000000000005B
+:10951000000000000000000000000000000000014A
+:10952000010101010101010101010101010101002C
+:10953000000000000000000000000000000000002B
+:10954000000000000000000000000000000000001B
+:10955000000000000000000000000000000000000B
+:1095600000000000000000000000000000000002F9
+:1095700002020202020202020202020202020201CC
+:1095800001010101010101010101010101010100CC
+:1095900000000000000000000000000000000000CB
+:1095A00000000000000000000000000000000000BB
+:1095B00000000000000000000000000000000000AB
+:1095C000000000000000000000000000000000019A
+:1095D000010101010101010101010101010101007C
+:1095E000000000000000000000000000000000007B
+:1095F000000000000000000000000000000000006B
+:10960000000000000000000000000000000000005A
+:109610000000000000000000000000000000000149
+:10962000010101010101010101010101010101002B
+:10963000000000000000000000000000000000002A
+:10964000000000000000000000000000000000001A
+:10965000000000000000000000000000000000000A
+:1096600000000000000000000000000000000002F8
+:1096700002020202020202020202020202020201CB
+:1096800001010101010101010101010101010100CB
+:1096900000000000000000000000000000000000CA
+:1096A00000000000000000000000000000000000BA
+:1096B00000000000000000000000000000000000AA
+:1096C0000000000000000000000000000000000199
+:1096D000010101010101010101010101010101007B
+:1096E000000000000000000000000000000000007A
+:1096F000000000000000000000000000000000006A
+:109700000000000000000000000000000000000059
+:109710000000000000000000000000000000000148
+:10972000010101010101010101010101010101002A
+:109730000000000000000000000000000000000029
+:109740000000000000000000000000000000000019
+:109750000000000000000000000000000000000009
+:1097600000000000000000000000000000000002F7
+:1097700002020202020202020202020202020201CA
+:1097800001010101010101010101010101010100CA
+:1097900000000000000000000000000000000000C9
+:1097A00000000000000000000000000000000000B9
+:1097B00000000000000000000000000000000000A9
+:1097C0000000000000000000000000000000000198
+:1097D000010101010101010101010101010101007A
+:1097E0000000000000000000000000000000000079
+:1097F0000000000000000000000000000000000069
+:109800000000000000000000000000000000000058
+:109810000000000000000000000000000000000246
+:10982000020202020202020202020202020202001A
+:109830000000000000000000000000000000000028
+:109840000000000000000000000000000000000018
+:109850000000000000000000000000000000000008
+:1098600000000000000000000000000000000000F8
+:1098700002020202020202020202020202020201C9
+:1098800001010101010101010101010101010100C9
+:1098900000000000000000000000000000000000C8
+:1098A00000000000000000000000000000000000B8
+:1098B00000000000000000000000000000000000A8
+:1098C0000000000000000000000000000000000296
+:1098D000020202020202020202020202020202006A
+:1098E0000000000000000000000000000000000078
+:1098F0000000000000000000000000000000000068
+:109900000000000000000000000000000000000057
+:109910000000000000000000000000000000000245
+:109920000202020202020202020202020202020019
+:109930000000000000000000000000000000000027
+:109940000000000000000000000000000000000017
+:109950000000000000000000000000000000000007
+:1099600000000000000000000000000000000000F7
+:1099700001010101010101010101010101010100D8
+:1099800000000000000000000000000000000000D7
+:1099900000000000000000000000000000000000C7
+:1099A00000000000000000000000000000000000B7
+:1099B00000000000000000000000000000000000A7
+:1099C0000000000000000000000000000000000097
+:1099D0000000000000000000000000000000000087
+:1099E0000000000000000000000000000000000077
+:1099F0000000000000000000000000000000000067
+:109A00000000000000000000000000000000000056
+:109A10000000000000000000000000000000000046
+:109A20000000000000000000000000000000000036
+:109A30000000000000000000000000000000000026
+:109A40000000000000000000000000000000000016
+:109A50000000000000000000000000000000000006
+:109A600000000000000000000000000000000000F6
+:109A70000000000000000000000000000000002EB8
+:109A800000000000000000000000000000000000D6
+:109A900000000000000000000000000000000000C6
+:109AA00000000000000000000000000000000000B6
+:109AB00000000000000000000000000000000000A6
+:109AC0000000000000000000000000000000000096
+:109AD0000000000000000000000000000000000086
+:109AE0000000000000000000000000000000000076
+:109AF0000000000000000000000000000000000066
+:109B00000000000000000000000000000000000055
+:109B10000000000000000000000000000000000045
+:109B20000000000000000000000000010000000034
+:109B30000000000000000000000000000000000025
+:109B40000000000000000000000000000000000015
+:109B50000000000000000000000000000000000005
+:109B600000000000000000000000000000000000F5
+:109B700000000000000000000000000000000000E5
+:109B800000000000000000010000000000000000D4
+:109B900000000000000000000000000000000000C5
+:109BA00000000000000000000000000000000000B5
+:109BB00000000000000000000000000000000000A5
+:109BC0000000000000000000000000000000000095
+:109BD0000000000000000000000000000000000085
+:109BE0000100000000000000000000000000000074
+:109BF0000000000000000000000000000000000065
+:109C00000000000000000000000000000000000054
+:109C10000000000000000000000000000000000044
+:109C20000000000000000000000000010000000033
+:109C30000000000000010000000000000000000023
+:109C40000000000000000000000000000000000014
+:109C50000000000000000000000000000000000004
+:109C600000000000000000000000000000000000F4
+:109C700000000000000000000000000000000000E4
+:109C800000000000000000010000000000000000D3
+:109C900000000000000000000000000000000000C4
+:109CA00000000000000000000000000000000000B4
+:109CB00000000000000000000000000000000000A4
+:109CC0000000000000000000000000000000000094
+:109CD0000000000000000000000000000000000084
+:109CE0000101000000000000000000000000000072
+:109CF0000000000000000000000000000000000064
+:109D00000000000000000000000000000000000053
+:109D10000000000000000000000000000000000043
+:109D2000000000000000000000000001010100012F
+:109D30000000000001010000000000000000000021
+:109D40000000000000000000000000000000000013
+:109D50000000000000000000000000000000000003
+:109D600000000000000000000000000000000000F3
+:109D700000000000000000000000000000000000E3
+:109D800000000000000000010100000000000000D1
+:109D900000000000000000000000000000000000C3
+:109DA00000000000000000000000000000000000B3
+:109DB00000000000000000000000000000000000A3
+:109DC0000000000000000000000000000000000093
+:109DD0000000000000000001000000000000000082
+:109DE0000101000000000000000000000000000071
+:109DF0000000000000000000000000000000000063
+:109E00000000000000000000000000000000000052
+:109E10000000000000000000000000000000000042
+:109E2000000000000000000000000001010100012E
+:109E3000000000000101010000000000000000001F
+:109E40000000000000000000000000000000000012
+:109E50000000000000000000000000000000000002
+:109E600000000000000000000000000000000000F2
+:109E700000000000000000000000010100010001DE
+:109E800000000000010000010100000000000000CF
+:109E900001000000000000000000000000000000C1
+:109EA00000000000000000000000000000000000B2
+:109EB00000000000000000000000000000000000A2
+:109EC0000000000000000000000000000000000092
+:109ED0000000000000000001000000000000000081
+:109EE0000101000000000000000000000000000070
+:109EF0000000000000000000000000000000000062
+:109F00000000000000000000000000000000000051
+:109F10000000000000000000000000000000000041
+:109F2000000000000000000000000001010101012C
+:109F3000000000000101010000000000000000001E
+:109F40000000000000000000000000000000000011
+:109F50000000000000000000000000000000000001
+:109F600000000000000000000000000000000000F1
+:109F700000000000000000000000010100010001DD
+:109F800000000000010100020100000000000000CC
+:109F900001000000000000000000000000000000C0
+:109FA00000000000000000000000000000000000B1
+:109FB00000000000000000000000000000000000A1
+:109FC0000000000000000000000000000000000091
+:109FD000000000000000000100000001000000007F
+:109FE000010100000000000000000000000000006F
+:109FF0000000000000000000000000000000000061
+:10A000000000000000000000000000000000000050
+:10A010000000000000000000000000000000000040
+:10A02000000000000000000000000001010101012B
+:10A03000000000000101010000000000000000001D
+:10A040000000000000000000000000000000000010
+:10A050000000000000000000000000000000000000
+:10A0600000000000000000000000000000000000F0
+:10A0700000000000000000000000010101010101DA
+:10A0800001000000010100020100000000000000CA
+:10A0900001000000000000000000000000000000BF
+:10A0A00000000000000000000000000000000000B0
+:10A0B00000000000000000000000000000000000A0
+:10A0C0000000000000000000000000000000000090
+:10A0D000000000000000000201010101000000007A
+:10A0E000010100000000010000000000000000006D
+:10A0F0000000000000000000000000000000000060
+:10A10000000000000000000000000000000000004F
+:10A11000000000000000000000000000000000003F
+:10A12000000000000000000000000001010101012A
+:10A13000010001000101010000000000000000001A
+:10A14000000000000000000000000000000000000F
+:10A1500000000000000000000000000000000000FF
+:10A1600000000000000000000000000000000000EF
+:10A1700000000000000000000000010101010101D9
+:10A1800001010001010101020100000000000000C6
+:10A1900001000000000000000000000000000000BE
+:10A1A00000000000000000000000000000000000AF
+:10A1B000000000000000000000000000000000009F
+:10A1C000000000000000000000000000000000008F
+:10A1D0000000000000000002010101010100000078
+:10A1E000010100000000010000000000000000006C
+:10A1F000000000000000000000000000000000005F
+:10A20000000000000000000000000000000000004E
+:10A21000000000000000000000000000000000003E
+:10A220000000000000000001010000010101010127
+:10A230000100010001010100000000000000000019
+:10A24000000000000000000000000000000000000E
+:10A2500000000000000000000000000000000000FE
+:10A2600000000000000000000000000000000000EE
+:10A2700000000000000000000000010101010101D8
+:10A2800001010101010101020200010000000001C1
+:10A2900001000000000000000000000000000000BD
+:10A2A00000000000000000000000000000000000AE
+:10A2B000000000000000000000000000000000009E
+:10A2C000000000000000000000000000000000008E
+:10A2D0000000000000000002010101010100000077
+:10A2E000010100000000010000000000000000006B
+:10A2F000000000000000000000000000000000005E
+:10A30000000000000000000000000000000000004D
+:10A31000000000000000000000000000000000003D
+:10A320000000000000000001010100010101010125
+:10A330000100010001010100000000000000000018
+:10A34000000000000000000000000000000000000D
+:10A3500000000000000000000000000000000000FD
+:10A3600000000000000000000000000000000000ED
+:10A3700000000000000000000000010101010101D7
+:10A3800001010101010101020200010000000001C0
+:10A3900001000000000000000000000000000000BC
+:10A3A00000000000000000000000000000000000AD
+:10A3B000000000000000000000000000000000009D
+:10A3C000000000000000000000000000000000008D
+:10A3D0000000000000000002020102010101000073
+:10A3E0000202000000000100000000000000000068
+:10A3F000000000000000000000000000000000005D
+:10A40000000000000000000000000000000000004C
+:10A41000000000000000000000000000000000003C
+:10A420000000000000000001010100010101010124
+:10A430000100010001010100000000000000000017
+:10A44000000000000000000000000000000000000C
+:10A4500000000000000000000000000000000000FC
+:10A4600000000000000000000000000000000000EC
+:10A4700000000000000000000000010101010101D6
+:10A4800001010101010101020200010100000101BD
+:10A4900002000000000000000000000000000000BA
+:10A4A00000000000000000000000000000000000AC
+:10A4B000000000000000000000000000000000009C
+:10A4C000000000000000000000000000000000008C
+:10A4D0000000000000000002020202020101000070
+:10A4E0000202000000000100000000000000000067
+:10A4F000000000000000000000000000000000005C
+:10A50000000000000000000000000000000000004B
+:10A51000000000000000000000000000000000003B
+:10A520000000000000000001010101020101010121
+:10A530000100010001010100000000000000000016
+:10A54000000000000000000000000000000000000B
+:10A5500000000000000000000000000000000000FB
+:10A5600000000000000000000000000000000000EB
+:10A5700000000000000000000000010101010101D5
+:10A5800001010101010101020200010100000101BC
+:10A5900002000000000000000000000000000000B9
+:10A5A00000000000000000000000000000000000AB
+:10A5B000000000000000000000000000000000009B
+:10A5C000000000000000000000000000000000008B
+:10A5D000000000000000000202020202020101006D
+:10A5E0000202000000000100000000000000000066
+:10A5F000000000000000000000000000000000005B
+:10A60000000000000000000000000000000000004A
+:10A61000000000000000000000000000000000003A
+:10A62000000000000000000201010102010101011F
+:10A630000100010001010100000000000000000015
+:10A64000000000000000000000000000000000000A
+:10A6500000000000000000000000000000000000FA
+:10A6600000000000000000000000000000000000EA
+:10A6700000000000000000000000010101010101D4
+:10A6800001010101010101020200020100010101B9
+:10A6900002000000000000000000000000000000B8
+:10A6A00000000000000000000000000000000000AA
+:10A6B000000000000000000000000000000000009A
+:10A6C000000000000000000000000000000000008A
+:10A6D000000000000000000202020202020101016B
+:10A6E0000202000000000100000000000000000065
+:10A6F000000000000000000000000000000000005A
+:10A700000000000000000000000000000000000049
+:10A710000000000000000000000000000000000039
+:10A72000000000000000000202010102020101011C
+:10A730000100010001010100000000000000000014
+:10A740000000000000000000000000000000000009
+:10A7500000000000000000000000000000000000F9
+:10A7600000000000000000000000000000000000E9
+:10A7700000000000000000000000010101010101D3
+:10A7800001010101010101020200020100010102B7
+:10A7900002010001000000000000000000000000B5
+:10A7A00000000000000000000000000000000000A9
+:10A7B0000000000000000000000000000000000099
+:10A7C0000000000000000000000000000000000089
+:10A7D0000000000000000002020202020202010169
+:10A7E0000202010000000100000000000000000063
+:10A7F0000000000000000000000000000000000059
+:10A800000000000000000000000000000000000048
+:10A810000000000000000000000000000000000038
+:10A82000000000000000000202010102020201011A
+:10A830000101010101010100000000000000000011
+:10A840000000000000000000000000000000000008
+:10A8500000000000000000000000000000000000F8
+:10A8600000000000000000000000000000000000E8
+:10A8700000000000000000000000010101010101D2
+:10A8800001010101010101020201020201010202B2
+:10A8900002010001000000000000000000000000B4
+:10A8A00000000000000000000000000000000000A8
+:10A8B0000000000000000000000000000000000098
+:10A8C0000000000000000000000000000000000088
+:10A8D0000000000000000002020202020202020167
+:10A8E0000202010000000100000000000000000062
+:10A8F0000000000000000000000000000000000058
+:10A900000000000000000000000000000000000047
+:10A910000000000000000000000000000000000037
+:10A920000000000000000002020201020202020216
+:10A930000101010101010100000000000000000010
+:10A940000000000000000000000000000000000007
+:10A9500000000000000000000000000000000000F7
+:10A9600000000000000000000000000000000000E7
+:10A9700000000000000000000000000101010101D2
+:10A9800001010101010101020201020201010202B1
+:10A9900002020001000000000000000000000000B2
+:10A9A00000000000000000000000000000000000A7
+:10A9B0000000000000000000000000000000000097
+:10A9C0000000000000000000000000000000000087
+:10A9D0000000000000000002020202020202020265
+:10A9E000020202000100020000000000000000005E
+:10A9F0000000000000000000000000000000000057
+:10AA00000000000000000000000000000000000046
+:10AA10000000000000000000000000000000000036
+:10AA20000000000000000002020202020202020214
+:10AA3000010101010101010000000000000000000F
+:10AA40000000000000000000000000000000000006
+:10AA500000000000000000000000000000000000F6
+:10AA600000000000000000000000000000000000E6
+:10AA700000000000000000000000020001010101D0
+:10AA800001010101010101020201020202020202AE
+:10AA900002020102000000000000000000000000AF
+:10AAA00000000000000000000000000000000000A6
+:10AAB0000000000000000000000000000000000096
+:10AAC0000000000000000000000000000000000086
+:10AAD0000000000000000002020202020202020264
+:10AAE000020202000100020000000000000000005D
+:10AAF0000000000000000000000000000000000056
+:10AB00000000000000000000000000000000000045
+:10AB10000000000000000000000000000000000035
+:10AB20000000000000000002020202020202020213
+:10AB3000020101010101010000000000000000000D
+:10AB40000000000000000000000000000000000005
+:10AB500000000000000000000000000000000000F5
+:10AB600000000000000000000000000000000000E5
+:10AB700000000000000000000000020201010101CD
+:10AB800001010101010101020202020202020202AC
+:10AB900002020102000000000000000000000000AE
+:10ABA00000000000000000000000000000000000A5
+:10ABB0000000000000000000000000000000000095
+:10ABC0000000000000000000000000000000000085
+:10ABD0000000000000000002020202020202020263
+:10ABE000020202000100020000000000000000005C
+:10ABF0000000000000000000000000000000000055
+:10AC00000000000000000000000000000000000044
+:10AC10000000000000000000000000000000000034
+:10AC20000000000000000002020202020202020212
+:10AC30000201020102020100000000000000000009
+:10AC40000000000000000000000000000000000004
+:10AC500000000000000000000000000000000000F4
+:10AC600000000000000000000000000000000000E4
+:10AC700000000000000000000000020200000101CE
+:10AC800001010101010101020202020202020202AB
+:10AC900002020202000000000000000000000000AC
+:10ACA00000000000000000000000000000000000A4
+:10ACB0000000000000000000000000000000000094
+:10ACC0000000000000000000000000000000000084
+:10ACD0000000000000000002020202020202020262
+:10ACE000020202010100020000000000000000005A
+:10ACF0000000000000000000000000000000000054
+:10AD00000000000000000000000000000000000043
+:10AD10000000000000000000000000000000000033
+:10AD20000000000000000002020202020202020211
+:10AD30000201020102020100000000000000000008
+:10AD40000000000000000000000000000000000003
+:10AD500000000000000000000000000000000000F3
+:10AD600000000000000000000000000000000000E3
+:10AD700000000000000000000000020202020000CB
+:10AD800001010101010101020202020202020202AA
+:10AD900002020202000100000000000000000000AA
+:10ADA00000000000000000000000000000000000A3
+:10ADB0000000000000000000000000000000000093
+:10ADC0000000000000000000000000000000000083
+:10ADD0000000000000000002020202020202020261
+:10ADE0000202020202000200000000000000000057
+:10ADF0000000000000000000000000000000000053
+:10AE00000000000000000000000000000000000042
+:10AE10000000000000000000000000000000000032
+:10AE20000000000000000002020202020202020210
+:10AE30000201020102020200000000000000000006
+:10AE40000000000000000000000000000000000002
+:10AE500000000000000000000000000000000000F2
+:10AE600000000000000000000000000000000000E2
+:10AE700000000000000000000000020202020202C6
+:10AE800000010101010101020202020202020202AA
+:10AE900002020202000100000000000000000000A9
+:10AEA00000000000000000000000000000000000A2
+:10AEB0000000000000000000000000000000000092
+:10AEC0000000000000000000000000000000000082
+:10AED0000000000000000002020202020202020260
+:10AEE0000202020202000200000000000000000056
+:10AEF0000000000000000000000000000000000052
+:10AF00000000000000000000000000000000000041
+:10AF10000000000000000000000000000000000031
+:10AF2000000000000000000202020202020202020F
+:10AF30000202020102020200000000000000000004
+:10AF40000000000000000000000000000000000001
+:10AF500000000000000000000000000000000000F1
+:10AF600000000000000000000000000000000000E1
+:10AF700000000000000000000001020202020202C4
+:10AF800002000101010101020202020202020202A8
+:10AF900002020202000100000000000000000000A8
+:10AFA00000000000000000000000000000000000A1
+:10AFB0000000000000000000000000000000000091
+:10AFC0000000000000000000000000000000000081
+:10AFD000000000000000000202020202020202025F
+:10AFE0000202020202000200000000000000000055
+:10AFF0000000000000000000000000000000000051
+:10B000000000000000000000000000000000000040
+:10B010000000000000000000000000000000000030
+:10B02000000000000000000202020202020202020E
+:10B030000202020202020200000000000000000002
+:10B040000000000000000000000000000000000000
+:10B0500000000000000000000000000000000000F0
+:10B0600000000000000000000000000000000000E0
+:10B0700000000000000000000101020202020202C2
+:10B0800002020000000101020202020202020202A8
+:10B0900002020202010100000000000000000000A6
+:10B0A00000000000000000000000000000000000A0
+:10B0B0000000000000000000000000000000000090
+:10B0C0000000000000000000000000000000000080
+:10B0D000000000000000000202020202020202025E
+:10B0E0000202020202010200000000000000000053
+:10B0F0000000000000000000000000000000000050
+:10B10000000000000000000000000000000000003F
+:10B11000000000000000000000000000000000002F
+:10B12000000000000000000202020202020202020D
+:10B130000202020202020200000000000000000001
+:10B1400000000000000000000000000000000000FF
+:10B1500000000000000000000000000000000000EF
+:10B1600000000000000000000000000000000000DF
+:10B1700000000000000000020001020202020202C0
+:10B1800002020202020001020202020202020202A2
+:10B1900002020202010201000000000000000000A3
+:10B1A000000000000000000000000000000000009F
+:10B1B000000000000000000000000000000000008F
+:10B1C000000000000000000000000000000000007F
+:10B1D000000000000000000202020202020202025D
+:10B1E0000202020202020200000000000000000051
+:10B1F000000000000000000000000000000000004F
+:10B20000000000000000000000000000000000003E
+:10B21000000000000000000000000000000000002E
+:10B22000000000000000000202020202020202020C
+:10B230000202020202020200000000000000000000
+:10B2400000000000000000000000000000000000FE
+:10B2500000000000000000000000000000000000EE
+:10B2600000000000000000000000000000000000DE
+:10B2700000000000000000020200020202020202BE
+:10B28000020202020202010202020202020202029F
+:10B2900001010201010201000000000000000000A5
+:10B2A000000000000000000000000000000000009E
+:10B2B000000000000000000000000000000000008E
+:10B2C000000000000000000000000000000000007E
+:10B2D000000000000000000202020202020202025C
+:10B2E0000202020202020200000000000000000050
+:10B2F000000000000000000000000000000000004E
+:10B30000000000000000000000000000000000003D
+:10B31000000000000000000000000000000000002D
+:10B32000000000000000000202020202020202020B
+:10B3300002020202020202000000000000000000FF
+:10B3400000000000000000000000000000000000FD
+:10B3500000000000000000000000000000000000ED
+:10B3600000000000000000000000000000000000DD
+:10B3700000000000000000020202020202020202BB
+:10B3800002020202020200020202020202020201A0
+:10B3900001010101010201000000000000000000A5
+:10B3A000000000000000000000000000000000009D
+:10B3B000000000000000000000000000000000008D
+:10B3C000000000000000000000000000000000007D
+:10B3D000000000000000000202020202020202025B
+:10B3E0000200000202020200000000000000000053
+:10B3F000000000000000000000000000000000004D
+:10B40000000000000000000000000000000000003C
+:10B41000000000000000000000000000000000002C
+:10B42000000000000000000202020202020202020A
+:10B4300002020202020202000000000000000000FE
+:10B4400000000000000000000000000000000000FC
+:10B4500000000000000000000000000000000000EC
+:10B4600000000000000000000000000000000000DC
+:10B4700000000000000000020202020202020202BA
+:10B48000020202020202020202020202020201019E
+:10B4900001010101020101000000000000000000A4
+:10B4A000000000000000000000000000000000009C
+:10B4B000000000000000000000000000000000008C
+:10B4C000000000000000000000000000000000007C
+:10B4D000000000000000000202020202020202005C
+:10B4E0000200000202020100000000000000000053
+:10B4F000000000000000000000000000000000004C
+:10B50000000000000000000000000000000000003B
+:10B51000000000000000000000000000000000002B
+:10B520000000000000000002020202020202020209
+:10B5300002020202020202000000000000000000FD
+:10B5400000000000000000000000000000000000FB
+:10B5500000000000000000000000000000000000EB
+:10B5600000000000000000000000000000000000DB
+:10B5700000000000000000020202020202020202B9
+:10B5800002020202020202010202020201010101A0
+:10B5900001010101020101000000000000000000A3
+:10B5A000000000000000000000000000000000009B
+:10B5B000000000000000000000000000000000008B
+:10B5C000000000000000000000000000000000007B
+:10B5D0000000000000000002020200020000000063
+:10B5E0000101010101010100000000000000000054
+:10B5F000000000000000000000000000000000004B
+:10B60000000000000000000000000000000000003A
+:10B61000000000000000000000000000000000002A
+:10B620000000000000000002020202020202020208
+:10B6300002020202020202000000000000000000FC
+:10B6400000000000000000000000000000000000FA
+:10B6500000000000000000000000000000000000EA
+:10B6600000000000000000000000000000000000DA
+:10B6700000000000000000020202020202020202B8
+:10B6800002020202020202010102010101010101A2
+:10B6900001010101010101000000000000000000A3
+:10B6A000000000000000000000000000000000009A
+:10B6B000000000000000000000000000000000008A
+:10B6C000000000000000000000000000000000007A
+:10B6D0000000000000000002020200020000000062
+:10B6E0000101010101010100000000000000000053
+:10B6F000000000000000000000000000000000004A
+:10B700000000000000000000000000000000000039
+:10B710000000000000000000000000000000000029
+:10B720000000000000000002020202020202020207
+:10B7300002020202020202000000000000000000FB
+:10B7400000000000000000000000000000000000F9
+:10B7500000000000000000000000000000000000E9
+:10B7600000000000000000000000000000000000D9
+:10B7700000000000000000020202020202020202B7
+:10B7800002020202020202010102010101010101A1
+:10B7900001010101010101000000000000000000A2
+:10B7A0000000000000000000000000000000000099
+:10B7B0000000000000000000000000000000000089
+:10B7C0000000000000000000000000000000000079
+:10B7D0000000000000000000020000010101010162
+:10B7E0000101010101010100000000000000000052
+:10B7F0000000000000000000000000000000000049
+:10B800000000000000000000000000000000000038
+:10B810000000000000000000000000000000000028
+:10B820000000000000000002020202020202020206
+:10B8300002020202020202000000000000000000FA
+:10B8400000000000000000000000000000000000F8
+:10B8500000000000000000000000000000000000E8
+:10B8600000000000000000000000000000000000D8
+:10B8700000000000000000020202020202020202B6
+:10B8800002020202020202010101010101010101A1
+:10B8900001010101010101000000000000000000A1
+:10B8A0000000000000000000000000000000000098
+:10B8B0000000000000000000000000000000000088
+:10B8C0000000000000000000000000000000000078
+:10B8D000000000000000000101010101010101015F
+:10B8E0000101010101010100000000000000000051
+:10B8F0000000000000000000000000000000000048
+:10B900000000000000000000000000000000000037
+:10B910000000000000000000000000000000000027
+:10B920000000000000000002020202020202020205
+:10B9300002020202020202000000000000000000F9
+:10B9400000000000000000000000000000000000F7
+:10B9500000000000000000000000000000000000E7
+:10B9600000000000000000000000000000000000D7
+:10B9700000000000000000020202020202020202B5
+:10B9800002020202020202010101010101010101A0
+:10B9900001010101010101000000000000000000A0
+:10B9A0000000000000000000000000000000000097
+:10B9B0000000000000000000000000000000000087
+:10B9C0000000000000000000000000000000000077
+:10B9D000000000000000000101010101010101015E
+:10B9E0000101010101010100000000000000000050
+:10B9F0000000000000000000000000000000000047
+:10BA00000000000000000000000000000000000036
+:10BA10000000000000000000000000000000000026
+:10BA20000000000000000002020202020202020204
+:10BA300002020202020202000000000000000000F8
+:10BA400000000000000000000000000000000000F6
+:10BA500000000000000000000000000000000000E6
+:10BA600000000000000000000000000000000000D6
+:10BA700000000000000000020202020202020202B4
+:10BA8000020202020202020101010101010101019F
+:10BA9000010101010101010000000000000000009F
+:10BAA0000000000000000000000000000000000096
+:10BAB0000000000000000000000000000000000086
+:10BAC0000000000000000000000000000000000076
+:10BAD000000000000000000101010101010101015D
+:10BAE000010101010101010000000000000000004F
+:10BAF0000000000000000000000000000000000046
+:10BB00000000000000000000000000000000000035
+:10BB10000000000000000000000000000000000025
+:10BB20000000000000000002020202020202020203
+:10BB300002020202020202000000000000000000F7
+:10BB400000000000000000000000000000000000F5
+:10BB500000000000000000000000000000000000E5
+:10BB600000000000000000000000000000000000D5
+:10BB700000000000000000020202020202020202B3
+:10BB8000020202020202020101010101010101019E
+:10BB9000010101010101010000000000000000009E
+:10BBA0000000000000000000000000000000000095
+:10BBB0000000000000000000000000000000000085
+:10BBC0000000000000000000000000000000000075
+:10BBD000000000000000000101010101010101015C
+:10BBE000010101010101010000000000000000004E
+:10BBF0000000000000000000000000000000000045
+:10BC00000000000000000000000000000000000034
+:10BC10000000000000000000000000000000000024
+:10BC20000000000000000002020202020202020202
+:10BC300002020202020202000000000000000000F6
+:10BC400000000000000000000000000000000000F4
+:10BC500000000000000000000000000000000000E4
+:10BC600000000000000000000000000000000000D4
+:10BC700000000000000000020202020202020202B2
+:10BC8000020202020202020101010101010101019D
+:10BC9000010101010101010000000000000000009D
+:10BCA0000000000000000000000000000000000094
+:10BCB0000000000000000000000000000000000084
+:10BCC0000000000000000000000000000000000074
+:10BCD000000000000000000101010101010101015B
+:10BCE000010101010101010000000000000000004D
+:10BCF0000000000000000000000000000000000044
+:10BD00000000000000000000000000000000000033
+:10BD10000000000000000000000000000000000023
+:10BD20000000000000000002020202010101010106
+:10BD300001010101010101000000000000000000FC
+:10BD400000000000000000000000000000000000F3
+:10BD500000000000000000000000000000000000E3
+:10BD600000000000000000000000000000000000D3
+:10BD700000000000000000020202020202020202B1
+:10BD8000020202020202020101010101010101019C
+:10BD9000010101010101010000000000000000009C
+:10BDA0000000000000000000000000000000000093
+:10BDB0000000000000000000000000000000000083
+:10BDC0000000000000000000000000000000000073
+:10BDD000000000000000000101010101010101015A
+:10BDE000010101010101010000000000000000004C
+:10BDF0000000000000000000000000000000000043
+:10BE00000000000000000000000000000000000032
+:10BE10000000000000000000000000000000000022
+:10BE20000000000000000001010101010101010109
+:10BE300001010101010101000000000000000000FB
+:10BE400000000000000000000000000000000000F2
+:10BE500000000000000000000000000000000000E2
+:10BE600000000000000000000000000000000000D2
+:10BE700000000000000000020202020202020202B0
+:10BE8000020202020202020101010101010101019B
+:10BE9000010101010101010000000000000000009B
+:10BEA0000000000000000000000000000000000092
+:10BEB0000000000000000000000000000000000082
+:10BEC0000000000000000000000000000000000072
+:10BED0000000000000000001010101010101010159
+:10BEE000010101010101010000000000000000004B
+:10BEF0000000000000000000000000000000000042
+:10BF00000000000000000000000000000000000031
+:10BF10000000000000000000000000000000000021
+:10BF20000000000000000001010101010101010108
+:10BF300001010101010101000000000000000000FA
+:10BF400000000000000000000000000000000000F1
+:10BF500000000000000000000000000000000000E1
+:10BF600000000000000000000000000000000000D1
+:10BF700000000000000000020202020202020202AF
+:10BF8000020202020202020101010101010101019A
+:10BF9000010101010101010000000000000000009A
+:10BFA0000000000000000000000000000000000091
+:10BFB0000000000000000000000000000000000081
+:10BFC0000000000000000000000000000000000071
+:10BFD0000000000000000001010101010101010158
+:10BFE000010101010101010000000000000000004A
+:10BFF0000000000000000000000000000000000041
+:10C000000000000000000000000000000000000030
+:10C010000000000000000000000000000000000020
+:10C020000000000000000001010101010101010107
+:10C0300001010101010101000000000000000000F9
+:10C0400000000000000000000000000000000000F0
+:10C0500000000000000000000000000000000000E0
+:10C0600000000000000000000000000000000000D0
+:10C0700000000000000000020202020202020202AE
+:10C080000202020202020201010101010101010199
+:10C090000101010101010100000000000000000099
+:10C0A0000000000000000000000000000000000090
+:10C0B0000000000000000000000000000000000080
+:10C0C0000000000000000000000000000000000070
+:10C0D0000000000000000001010101010101010157
+:10C0E0000101010101010100000000000000000049
+:10C0F0000000000000000000000000000000000040
+:10C10000000000000000000000000000000000002F
+:10C11000000000000000000000000000000000001F
+:10C120000000000000000001010101010101010106
+:10C1300001010101010101000000000000000000F8
+:10C1400000000000000000000000000000000000EF
+:10C1500000000000000000000000000000000000DF
+:10C1600000000000000000000000000000000000CF
+:10C1700000000000000000020202020202020202AD
+:10C180000202020202020201010101010101010198
+:10C190000101010101010100000000000000000098
+:10C1A000000000000000000000000000000000008F
+:10C1B000000000000000000000000000000000007F
+:10C1C000000000000000000000000000000000006F
+:10C1D0000000000000000001010101010101010156
+:10C1E0000101010101010100000000000000000048
+:10C1F000000000000000000000000000000000003F
+:10C20000000000000000000000000000000000002E
+:10C21000000000000000000000000000000000001E
+:10C220000000000000000001010101010101010105
+:10C2300001010101010101000000000000000000F7
+:10C2400000000000000000000000000000000000EE
+:10C2500000000000000000000000000000000000DE
+:10C2600000000000000000000000000000000000CE
+:10C2700000000000000000020202020202020202AC
+:10C280000202020202020201010101010101010197
+:10C290000101010101010100000000000000000097
+:10C2A000000000000000000000000000000000008E
+:10C2B000000000000000000000000000000000007E
+:10C2C000000000000000000000000000000000006E
+:10C2D0000000000000000001010101010101010155
+:10C2E0000101010101010100000000000000000047
+:10C2F000000000000000000000000000000000003E
+:10C30000000000000000000000000000000000002D
+:10C31000000000000000000000000000000000001D
+:10C320000000000000000001010101010101010104
+:10C3300001010101010101000000000000000000F6
+:10C3400000000000000000000000000000000000ED
+:10C3500000000000000000000000000000000000DD
+:10C3600000000000000000000000000000000000CD
+:10C3700000000000000000020202020202020202AB
+:10C380000202020202020201010101010101010196
+:10C390000101010101010100000000000000000096
+:10C3A000000000000000000000000000000000008D
+:10C3B000000000000000000000000000000000007D
+:10C3C000000000000000000000000000000000006D
+:10C3D0000000000000000001010101010101010154
+:10C3E0000101010101010100000000000000000046
+:10C3F000000000000000000000000000000000003D
+:10C40000000000000000000000000000000000002C
+:10C41000000000000000000000000000000000001C
+:10C420000000000000000001010101010101010103
+:10C4300001010101010101000000000000000000F5
+:10C4400000000000000000000000000000000000EC
+:10C4500000000000000000000000000000000000DC
+:10C4600000000000000000000000000000000000CC
+:10C4700000000000000000020202020202020202AA
+:10C480000202020202020201010101010101010195
+:10C490000101010101010100000000000000000095
+:10C4A000000000000000000000000000000000008C
+:10C4B000000000000000000000000000000000007C
+:10C4C000000000000000000000000000000000006C
+:10C4D0000000000000000001010101010101010153
+:10C4E0000101010101010100000000000000000045
+:10C4F000000000000000000000000000000000003C
+:10C50000000000000000000000000000000000002B
+:10C51000000000000000000000000000000000001B
+:10C520000000000000000001010101010101010102
+:10C5300001010101010101000000000000000000F4
+:10C5400000000000000000000000000000000000EB
+:10C5500000000000000000000000000000000000DB
+:10C5600000000000000000000000000000000000CB
+:10C5700000000000000000020202020202020202A9
+:10C580000202020202020201010101010101010194
+:10C590000101010101010100000000000000000094
+:10C5A000000000000000000000000000000000008B
+:10C5B000000000000000000000000000000000007B
+:10C5C000000000000000000000000000000000006B
+:10C5D0000000000000000002020202020202020249
+:10C5E000020202020202020000000000000000003D
+:10C5F000000000000000000000000000000000003B
+:10C60000000000000000000000000000000000002A
+:10C61000000000000000000000000000000000001A
+:10C6200000000000000000020202020202020202F8
+:10C6300002020202020202000000000000000000EC
+:10C6400000000000000000000000000000000000EA
+:10C6500000000000000000000000000000000000DA
+:10C6600000000000000000000000000000000000CA
+:10C6700000000000000000020202020202020202A8
+:10C680000202020202020201010101010101010193
+:10C690000101010101010100000000000000000093
+:10C6A000000000000000000000000000000000008A
+:10C6B000000000000000000000000000000000007A
+:10C6C000000000000000000000000000000000006A
+:10C6D0000000000000000002020202020202020248
+:10C6E000020202020202020000000000000000003C
+:10C6F000000000000000000000000000000000003A
+:10C700000000000000000000000000000000000029
+:10C710000000000000000000000000000000000019
+:10C7200000000000000000020202020202020202F7
+:10C7300002020202020202000000000000000000EB
+:10C7400000000000000000000000000000000000E9
+:10C7500000000000000000000000000000000000D9
+:10C7600000000000000000000000000000000000C9
+:10C7700000000000000000000000010101010101B3
+:10C7800001010101010101000000000000000000A2
+:10C790000000000000000000000000000000000099
+:10C7A0000000000000000000000000000000000089
+:10C7B0000000000000000000000000000000000079
+:10C7C0000000000000000000000000000000000069
+:10C7D0000000000000000000000000000000000059
+:10C7E0000000000000000000000000000000000049
+:10C7F0000000000000000000000000000000000039
+:10C800000000000000000000000000000000000028
+:10C810000000000000000000000000000000000018
+:10C820000000000000000000000000000000000008
+:10C8300000000000000000000000000000000000F8
+:10C8400000000000000000000000000000000000E8
+:10C8500000000000000000000000000000000000D8
+:10C8600000000000000000000000000000000000C8
+:10C8700000000000000000000000000000000000B8
+:10C88000000000000000002C00000000000000007C
+:10C890000000000000000000000000000000000098
+:10C8A0000000000000000000000000000000000088
+:10C8B0000000000000000000000000000000000078
+:10C8C0000000000000000000000000000000000068
+:10C8D0000000000000000000000000000000000058
+:10C8E0000000000000000000000000000000000048
+:10C8F0000000000000000000000000000000000038
+:10C900000000000000000000000000000000000027
+:10C910000000000000000000000000000000000017
+:10C920000000000000000000000000000000000007
+:10C9300000000000000000000000000000000100F6
+:10C9400000000000000000000000000000000000E7
+:10C9500000000000000000000000000000000000D7
+:10C9600000000000000000000000000000000000C7
+:10C9700000000000000000000000000000000000B7
+:10C9800000000000000000000000000000000000A7
+:10C990000000000000000000000000000000000097
+:10C9A0000000000000000000000000000000000087
+:10C9B0000000000000000000000000000000000077
+:10C9C0000000000000000000000000000000000067
+:10C9D0000000000000000000000000000000000057
+:10C9E0000000000000000000000000010000000046
+:10C9F0000000000000000000000000000000000037
+:10CA00000000000000000000000000000000000026
+:10CA10000000000000000000000000000000000016
+:10CA20000000000000000000000000000000000006
+:10CA300000000000010100000000000000000100F3
+:10CA400000000000000000000000000000000000E6
+:10CA500000000000000000000000000000000000D6
+:10CA600000000000000000000000000000000000C6
+:10CA700000000000000000000000000000000000B6
+:10CA800000000000000000000000000000000000A6
+:10CA90000000000000000000000000000000000096
+:10CAA0000000000000000000000000000000000086
+:10CAB0000000000000000000000000000000000076
+:10CAC0000000000000000000000000000000000066
+:10CAD0000000000000000000000000000000000056
+:10CAE0000000000000000000000000010000000045
+:10CAF0000000000000000000000000000000000036
+:10CB00000000000000000000000000000000000025
+:10CB10000000000000000000000000000000000015
+:10CB20000000000000000000000000000000000005
+:10CB300000000000010101000000000000000100F1
+:10CB400000000000000000000000000000000000E5
+:10CB500000000000000000000000000000000000D5
+:10CB600000000000000000000000000000000000C5
+:10CB700000000000000000000000000000000000B5
+:10CB800000000000000000000000000000000000A5
+:10CB90000000000000000000000000000000000095
+:10CBA0000000000000000000000000000000000085
+:10CBB0000000000000000000000000000000000075
+:10CBC0000000000000000000000000000000000065
+:10CBD0000000000000000000000000000000000055
+:10CBE0000100000001000000000000010000000042
+:10CBF0000000000000000000000000000000000035
+:10CC00000000000000000000000000000000000024
+:10CC10000000000000000000000000000000000014
+:10CC20000000000000000000000000000000000004
+:10CC300000000000010101000000000000000100F0
+:10CC400000000000000000000000000000000000E4
+:10CC500000000000000000000000000000000000D4
+:10CC600000000000000000000000000000000000C4
+:10CC700000000000000000000000000000000000B4
+:10CC800000000000000000000000000000000000A4
+:10CC90000001010000010000000000000000000091
+:10CCA0000000000000000000000000000000000084
+:10CCB0000000000000000000000000000000000074
+:10CCC0000000000000000000000000000000000064
+:10CCD0000000000000000000000000000000000153
+:10CCE0000100000001000000000000010000000041
+:10CCF0000000000000000000000000000000000034
+:10CD00000000000000000000000000000000000023
+:10CD10000000000000000000000000000000000013
+:10CD20000000000000000000000000000000000003
+:10CD300000000000010101000000000000000100EF
+:10CD400000000000000000000000000000000000E3
+:10CD500000000000000000000000000000000000D3
+:10CD600000000000000000000000000000000000C3
+:10CD700000000000000000000000000000000000B3
+:10CD800000000000000000000000000000000001A2
+:10CD90000001010000010000000000000000000090
+:10CDA0000000000000000000000000000000000083
+:10CDB0000000000000000000000000000000000073
+:10CDC0000000000000000000000000000000000063
+:10CDD0000000000000000000000000000000000152
+:10CDE000010000000101000000000001000000003F
+:10CDF0000000000000000000000000000000000033
+:10CE00000000000000000000000000000000000022
+:10CE10000000000000000000000000000000000012
+:10CE20000000000000000000000000000000000002
+:10CE300000000000010101000000000000000100EE
+:10CE400000000000000000000000000000000000E2
+:10CE500000000000000000000000000000000000D2
+:10CE600000000000000000000000000000000000C2
+:10CE700000000000000000000000000000000000B2
+:10CE800000000000000000000000000000000001A1
+:10CE9000000101000101000000000000000000008E
+:10CEA0000000000000000000000000000000000082
+:10CEB0000000000000000000000000000000000072
+:10CEC0000000000000000000000000000000000062
+:10CED0000000000000000000000000000000000151
+:10CEE000010000000101000000000001010001003C
+:10CEF0000000000000000000000000000000000032
+:10CF00000000000000000000000000000000000021
+:10CF10000000000000000000000000000000000011
+:10CF20000000000000000000000000000000000100
+:10CF300000000000010101000000000000010100EC
+:10CF400000000000000000000000000000000000E1
+:10CF500000000000000000000000000000000000D1
+:10CF600000000000000000000000000000000000C1
+:10CF700000000000000000000000000000000000B1
+:10CF800000000000000000000000000000000001A0
+:10CF9000000101000101000000000000010000008C
+:10CFA0000000000000000000000000000000000081
+:10CFB0000000000000000000000000000000000071
+:10CFC0000000000000000000000000000000000061
+:10CFD0000000000000000000000000000000000150
+:10CFE000010100000101000000000001010001003A
+:10CFF0000000000000000000000000000000000031
+:10D000000000000000000000000000000000000020
+:10D010000000000000000000000000000000000010
+:10D0200000000000000000000000000000000001FF
+:10D0300001000000010101010101000000010100E7
+:10D0400000000000000000000000000000000000E0
+:10D0500000000000000000000000000000000000D0
+:10D0600000000000000000000000000000000000C0
+:10D0700000000000000000000000000000000000B0
+:10D08000000000000000000000000000000000029E
+:10D090000001010101010000010100000100000088
+:10D0A0000000000000000000000000000000000080
+:10D0B0000000000000000000000000000000000070
+:10D0C0000000000000000000000000000000000060
+:10D0D000000000000000000000000000000000024E
+:10D0E0000101000001010000000001010101010037
+:10D0F0000000000000000000000000000000000030
+:10D10000000000000000000000000000000000001F
+:10D11000000000000000000000000000000000000F
+:10D1200000000000000000000000000000000001FE
+:10D1300001000000010101010101000000010100E6
+:10D1400000000000000000000000000000000000DF
+:10D1500000000000000000000000000000000000CF
+:10D1600000000000000000000000000000000000BF
+:10D1700000000000000000000000000000000000AF
+:10D18000000000000000000000000000000000029D
+:10D190000002020101010000010100000100000085
+:10D1A000000000000000000000000000000000007F
+:10D1B000000000000000000000000000000000006F
+:10D1C000000000000000000000000000000000005F
+:10D1D000000000000000000000000000000000024D
+:10D1E0000101010001010000000001010101010035
+:10D1F000000000000000000000000000000000002F
+:10D20000000000000000000000000000000000001E
+:10D21000000000000000000000000000000000000E
+:10D2200000000000000000000000000000000001FD
+:10D2300001000000010101010101000000010100E5
+:10D2400000000000000000000000000000000000DE
+:10D2500000000000000000000000000000000000CE
+:10D2600000000000000000000000000000000000BE
+:10D2700000000000000000000000000000000000AE
+:10D28000000000000100000000000000000000029B
+:10D290000102020101020000010100010100000081
+:10D2A000000000000000000000000000000000007E
+:10D2B000000000000000000000000000000000006E
+:10D2C000000000000000000000000000000000005E
+:10D2D000000000000000000000000000000000024C
+:10D2E0000201010001010100000001010101010032
+:10D2F000000000000000000000000000000000002E
+:10D30000000000000000000000000000000000001D
+:10D31000000000000000000000000000000000000D
+:10D3200000000000000000000000000000000002FB
+:10D3300001000000010101010101000001010100E3
+:10D3400000000000000000000000000000000000DD
+:10D3500000000000000000000000000000000000CD
+:10D3600000000000000000000000000000000000BD
+:10D3700000000000000000000000000000000000AD
+:10D38000000000000100000000000000000000029A
+:10D39000010202010202000001010001010000007F
+:10D3A000000000000000000000000000000000007D
+:10D3B000000000000000000000000000000000006D
+:10D3C000000000000000000000000000000000005D
+:10D3D000000000000000000000000000000000024B
+:10D3E000020101010101010000010101010101002F
+:10D3F000000000000000000000000000000000002D
+:10D40000000000000000000000000000000000001C
+:10D41000000000000000000000000000000000000C
+:10D4200000000000000000000000000000000002FA
+:10D4300001010000010101010101000001010100E1
+:10D4400000000000000000000000000000000000DC
+:10D4500000000000000000000000000000000000CC
+:10D4600000000000000000000000000000000000BC
+:10D4700000000000000000000000000000000000AC
+:10D480000000000001000000000000010000000298
+:10D49000010202020202000101020001020000007A
+:10D4A000000000000000000000000000000000007C
+:10D4B000000000000000000000000000000000006C
+:10D4C000000000000000000000000000000000005C
+:10D4D000000000000000000000000000000000024A
+:10D4E000020201010201010000010101010101002C
+:10D4F000000000000000000000000000000000002C
+:10D50000000000000000000000000000000000001B
+:10D51000000000000000000000000000000000000B
+:10D5200000000000000000000000000000000002F9
+:10D5300001010000020201010101010001010100DD
+:10D5400000000000000000000000000000000000DB
+:10D5500000000000000000000000000000000000CB
+:10D5600000000000000000000000000000000000BB
+:10D5700000000000000000000000000000000000AB
+:10D580000100010001000000000000010000010294
+:10D590000102020202020101020200020201000075
+:10D5A000000000000000000000000000000000007B
+:10D5B000000000000000000000000000000000006B
+:10D5C000000000000000000000000000000000005B
+:10D5D0000000000000000000000000000000000249
+:10D5E0000202020102020100000101020101010028
+:10D5F000000000000000000000000000000000002B
+:10D60000000000000000000000000000000000001A
+:10D61000000000000000000000000000000000000A
+:10D6200000000000000000000000000000000002F8
+:10D6300002010100020202010101010101010100D8
+:10D6400000000000000000000000000000000000DA
+:10D6500000000000000000000000000000000000CA
+:10D6600000000000000000000000000000000000BA
+:10D6700000000000000000000000000000000000AA
+:10D680000100000101000000000000010000010293
+:10D690000202020202020101020200020201000073
+:10D6A000000000000000000000000000000000007A
+:10D6B000000000000000000000000000000000006A
+:10D6C000000000000000000000000000000000005A
+:10D6D0000000000000000000000000000000000248
+:10D6E0000202020102020100000101020101010027
+:10D6F000000000000000000000000000000000002A
+:10D700000000000000000000000000000000000019
+:10D710000000000000000000000000000000000009
+:10D7200000000000000000000000000000000002F7
+:10D7300002010100020202010101010101010100D7
+:10D7400000000000000000000000000000000000D9
+:10D7500000000000000000000000000000000000C9
+:10D7600000000000000000000000000000000000B9
+:10D7700000000000000000000000000000000000A9
+:10D780000100000000000000000000010000010294
+:10D790000202020202020102020201020201000070
+:10D7A0000000000000000000000000000000000079
+:10D7B0000000000000000000000000000000000069
+:10D7C0000000000000000000000000000000000059
+:10D7D0000000000000000000000000000000000247
+:10D7E0000202020202020101000101020101010024
+:10D7F0000000000000000000000000000000000029
+:10D800000000000000000000000000000000000018
+:10D810000000000000000000000000000000000008
+:10D8200000000000000000000000000000000002F6
+:10D8300002020101020202010101010101010100D4
+:10D8400000000000000000000000000000000000D8
+:10D8500000000000000000000000000000000000C8
+:10D8600000000000000000000000000000000000B8
+:10D8700000000000000000000000000000000000A8
+:10D880000001000000000000010000010000010292
+:10D89000020202020202020202020202020200006C
+:10D8A0000000000000000000000000000000000078
+:10D8B0000000000000000000000000000000000068
+:10D8C0000000000000000000000000000000000058
+:10D8D0000000000000000000000000000000000246
+:10D8E0000202020202020201000102020201010020
+:10D8F0000000000000000000000000000000000028
+:10D900000000000000000000000000000000000017
+:10D910000000000000000000000000000000000007
+:10D9200000000000000000000000000000000002F5
+:10D9300002020201020202020101010101010100D1
+:10D9400000000000000000000000000000000000D7
+:10D9500000000000000000000000000000000000C7
+:10D9600000000000000000000000000000000000B7
+:10D9700000000000000000000000000000000000A7
+:10D980000000000000010100010000010000010290
+:10D99000020202020202020202020202020200006B
+:10D9A0000000000000000000000000000000000077
+:10D9B0000000000000000000000000000000000067
+:10D9C0000000000000000000000000000000000057
+:10D9D0000000000000000000000000000000000245
+:10D9E000020202020202020101020202020101001D
+:10D9F0000000000000000000000000000000000027
+:10DA00000000000000000000000000000000000016
+:10DA10000000000000000000000000000000000006
+:10DA200000000000000000000000000000000002F4
+:10DA300002020201020202020202010101010200CD
+:10DA400000000000000000000000000000000000D6
+:10DA500000000000000000000000000000000000C6
+:10DA600000000000000000000000000000000000B6
+:10DA700000000000000000000000000000000000A6
+:10DA8000000000000001010001000000010001028F
+:10DA9000020202020202020202020202020200006A
+:10DAA0000000000000000000000000000000000076
+:10DAB0000000000000000000000000000000000066
+:10DAC0000000000000000000000000000000000056
+:10DAD0000000000000000000000000000000000244
+:10DAE000020202020202020101020202020201001B
+:10DAF0000000000000000000000000000000000026
+:10DB00000000000000000000000000000000000015
+:10DB10000000000000000000000000000000000005
+:10DB200000000000000000000000000000000002F3
+:10DB300002020202020202020202010101010200CB
+:10DB400000000000000000000000000000000000D5
+:10DB500000000000000000000000000000000000C5
+:10DB600000000000000000000000000000000000B5
+:10DB700000000000000000000000000000000000A5
+:10DB8000000000000001010001000000010001028E
+:10DB90000202020202020202020202020202000069
+:10DBA0000000000000000000000000000000000075
+:10DBB0000000000000000000000000000000000065
+:10DBC0000000000000000000000000000000000055
+:10DBD0000000000000000000000000000000000243
+:10DBE0000202020202020202010202020202020018
+:10DBF0000000000000000000000000000000000025
+:10DC00000000000000000000000000000000000014
+:10DC10000000000000000000000000000000000004
+:10DC200000000000000000000000000000000002F2
+:10DC300002020202020202020202010101020200C9
+:10DC400000000000000000000000000000000000D4
+:10DC500000000000000000000000000000000000C4
+:10DC600000000000000000000000000000000000B4
+:10DC700000000000000000000000000000000000A4
+:10DC8000000000000000000001000000010001028F
+:10DC90000202020202020202020202020202000068
+:10DCA0000000000000000000000000000000000074
+:10DCB0000000000000000000000000000000000064
+:10DCC0000000000000000000000000000000000054
+:10DCD0000000000000000000000000000000000242
+:10DCE0000202020202020202010202020202020017
+:10DCF0000000000000000000000000000000000024
+:10DD00000000000000000000000000000000000013
+:10DD10000000000000000000000000000000000003
+:10DD200000000000000000000000000000000002F1
+:10DD300002020202020202020202020102020200C6
+:10DD400000000000000000000000000000000000D3
+:10DD500000000000000000000000000000000000C3
+:10DD600000000000000000000000000000000000B3
+:10DD700000000000000000000000000000000000A3
+:10DD8000000000000000000000000000010101028E
+:10DD90000202020202020202020202010101010069
+:10DDA0000000000000000000000000000000000073
+:10DDB0000000000000000000000000000000000063
+:10DDC0000000000000000000000000000000000053
+:10DDD0000000000000000000000000000000000241
+:10DDE0000202020202020202020202020202020015
+:10DDF0000000000000000000000000000000000023
+:10DE00000000000000000000000000000000000012
+:10DE10000000000000000000000000000000000002
+:10DE200000000000000000000000000000000002F0
+:10DE300002020202020202020202020202020200C4
+:10DE400000000000000000000000000000000000D2
+:10DE500000000000000000000000000000000000C2
+:10DE600000000000000000000000000000000000B2
+:10DE700000000000000000000000000000000002A0
+:10DE8000000000000000000000010000010101028C
+:10DE9000020202020202020202010101010101006A
+:10DEA0000000000000000000000000000000000072
+:10DEB0000000000000000000000000000000000062
+:10DEC0000000000000000000000000000000000052
+:10DED0000000000000000000000000000000000240
+:10DEE0000202020202020202020202020202020014
+:10DEF0000000000000000000000000000000000022
+:10DF00000000000000000000000000000000000011
+:10DF10000000000000000000000000000000000001
+:10DF200000000000000000000000000000000002EF
+:10DF300002020202020202020202020202020200C3
+:10DF400000000000000000000000000000000000D1
+:10DF500000000000000000000000000000000000C1
+:10DF600000000000000000000000000000000000B1
+:10DF7000000000000000000000000000000000029F
+:10DF8000000000000000000000010100000101028B
+:10DF9000020202020202020201010101010101006A
+:10DFA0000000000000000000000000000000000071
+:10DFB0000000000000000000000000000000000061
+:10DFC0000000000000000000000000000000000051
+:10DFD000000000000000000000000000000000023F
+:10DFE0000202020202020202020202020202020013
+:10DFF0000000000000000000000000000000000021
+:10E000000000000000000000000000000000000010
+:10E010000000000000000000000000000000000000
+:10E0200000000000000000000000000000000002EE
+:10E0300002020202020202020202020202020200C2
+:10E0400000000000000000000000000000000000D0
+:10E0500000000000000000000000000000000000C0
+:10E0600000000000000000000000000000000000B0
+:10E07000000000000000000000000000000000029E
+:10E080000200000000000001000101000001010287
+:10E09000020202020101020101010101010101006C
+:10E0A0000000000000000000000000000000000070
+:10E0B0000000000000000000000000000000000060
+:10E0C0000000000000000000000000000000000050
+:10E0D000000000000000000000000000000000023E
+:10E0E0000202020202020202020202020202020012
+:10E0F0000000000000000000000000000000000020
+:10E10000000000000000000000000000000000000F
+:10E1100000000000000000000000000000000000FF
+:10E1200000000000000000000000000000000002ED
+:10E1300002020202020202020202020202020200C1
+:10E1400000000000000000000000000000000000CF
+:10E1500000000000000000000000000000000000BF
+:10E1600000000000000000000000000000000000AF
+:10E17000000000000000000000000000000000029D
+:10E180000200000000000001000101000001000287
+:10E19000020202020101010101010101010101006C
+:10E1A000000000000000000000000000000000006F
+:10E1B000000000000000000000000000000000005F
+:10E1C000000000000000000000000000000000004F
+:10E1D000000000000000000000000000000000023D
+:10E1E0000202020202020202020202020202020011
+:10E1F000000000000000000000000000000000001F
+:10E20000000000000000000000000000000000000E
+:10E2100000000000000000000000000000000000FE
+:10E2200000000000000000000000000000000002EC
+:10E2300002020202020202020202020202020200C0
+:10E2400000000000000000000000000000000000CE
+:10E2500000000000000000000000000000000000BE
+:10E2600000000000000000000000000000000000AE
+:10E27000000000000000000000000000000000029C
+:10E280000202020000000000000001000001000284
+:10E29000020101010101010101010101010101006E
+:10E2A000000000000000000000000000000000006E
+:10E2B000000000000000000000000000000000005E
+:10E2C000000000000000000000000000000000004E
+:10E2D000000000000000000000000000000000023C
+:10E2E0000202020202020202020202020202020010
+:10E2F000000000000000000000000000000000001E
+:10E30000000000000000000000000000000000000D
+:10E3100000000000000000000000000000000000FD
+:10E3200000000000000000000000000000000002EB
+:10E3300002020202020202020202020202020200BF
+:10E3400000000000000000000000000000000000CD
+:10E3500000000000000000000000000000000000BD
+:10E3600000000000000000000000000000000000AD
+:10E37000000000000000000000000000000000029B
+:10E380000202020000000000000000000001000185
+:10E39000020101010101010101010101010101006D
+:10E3A000000000000000000000000000000000006D
+:10E3B000000000000000000000000000000000005D
+:10E3C000000000000000000000000000000000004D
+:10E3D000000000000000000000000000000000023B
+:10E3E000020202020202020202020202020202000F
+:10E3F000000000000000000000000000000000001D
+:10E40000000000000000000000000000000000000C
+:10E4100000000000000000000000000000000000FC
+:10E4200000000000000000000000000000000002EA
+:10E4300002020202020202020202020202020200BE
+:10E4400000000000000000000000000000000000CC
+:10E4500000000000000000000000000000000000BC
+:10E4600000000000000000000000000000000000AC
+:10E47000000000000000000000000000000000029A
+:10E480000202020202000000000000000000000181
+:10E49000010101010101010101010101010101006D
+:10E4A000000000000000000000000000000000006C
+:10E4B000000000000000000000000000000000005C
+:10E4C000000000000000000000000000000000004C
+:10E4D000000000000000000000000000000000023A
+:10E4E000020202020202020202020202020202000E
+:10E4F000000000000000000000000000000000001C
+:10E50000000000000000000000000000000000000B
+:10E5100000000000000000000000000000000000FB
+:10E5200000000000000000000000000000000002E9
+:10E5300002020202020202020202020202020200BD
+:10E5400000000000000000000000000000000000CB
+:10E5500000000000000000000000000000000000BB
+:10E5600000000000000000000000000000000000AB
+:10E570000000000000000000000000000000000299
+:10E580000202020202000000000000000000000180
+:10E59000010101010101010101010101010101006C
+:10E5A000000000000000000000000000000000006B
+:10E5B000000000000000000000000000000000005B
+:10E5C000000000000000000000000000000000004B
+:10E5D0000000000000000000000000000000000239
+:10E5E000020202020202020202020202020202000D
+:10E5F000000000000000000000000000000000001B
+:10E60000000000000000000000000000000000000A
+:10E6100000000000000000000000000000000000FA
+:10E6200000000000000000000000000000000002E8
+:10E6300002020202020202020202020202020200BC
+:10E6400000000000000000000000000000000000CA
+:10E6500000000000000000000000000000000000BA
+:10E6600000000000000000000000000000000000AA
+:10E670000000000000000000000000000000000298
+:10E68000020202020202000000000000000000017D
+:10E69000010101010101010101010101010101006B
+:10E6A000000000000000000000000000000000006A
+:10E6B000000000000000000000000000000000005A
+:10E6C000000000000000000000000000000000004A
+:10E6D0000000000000000000000000000000000238
+:10E6E0000202020202020202020101010101020011
+:10E6F000000000000000000000000000000000001A
+:10E700000000000000000000000000000000000009
+:10E7100000000000000000000000000000000000F9
+:10E7200000000000000000000000000000000002E7
+:10E7300002020202020202020202020202020200BB
+:10E7400000000000000000000000000000000000C9
+:10E7500000000000000000000000000000000000B9
+:10E7600000000000000000000000000000000000A9
+:10E770000000000000000000000000000000000297
+:10E78000020202020202020000000000000000017A
+:10E79000010101010101010101010101010101006A
+:10E7A0000000000000000000000000000000000069
+:10E7B0000000000000000000000000000000000059
+:10E7C0000000000000000000000000000000000049
+:10E7D0000000000000000000000000000000000237
+:10E7E0000202020201010101010101010101010016
+:10E7F0000000000000000000000000000000000019
+:10E800000000000000000000000000000000000008
+:10E8100000000000000000000000000000000000F8
+:10E8200000000000000000000000000000000002E6
+:10E8300002020202020202020202020202020200BA
+:10E8400000000000000000000000000000000000C8
+:10E8500000000000000000000000000000000000B8
+:10E8600000000000000000000000000000000000A8
+:10E870000000000000000000000000000000000296
+:10E880000202020202020200020000000000020175
+:10E890000101010101010101010101010101010069
+:10E8A0000000000000000000000000000000000068
+:10E8B0000000000000000000000000000000000058
+:10E8C0000000000000000000000000000000000048
+:10E8D0000000000000000000000000000000000137
+:10E8E0000101010101010101010101010101010019
+:10E8F0000000000000000000000000000000000018
+:10E900000000000000000000000000000000000007
+:10E9100000000000000000000000000000000000F7
+:10E9200000000000000000000000000000000002E5
+:10E9300002020202020202020202020202020200B9
+:10E9400000000000000000000000000000000000C7
+:10E9500000000000000000000000000000000000B7
+:10E9600000000000000000000000000000000000A7
+:10E970000000000000000000000000000000000295
+:10E98000020202020202020202020002000002016E
+:10E990000101010101010101010101010101010068
+:10E9A0000000000000000000000000000000000067
+:10E9B0000000000000000000000000000000000057
+:10E9C0000000000000000000000000000000000047
+:10E9D0000000000000000000000000000000000136
+:10E9E0000101010101010101010101010101010018
+:10E9F0000000000000000000000000000000000017
+:10EA00000000000000000000000000000000000006
+:10EA100000000000000000000000000000000000F6
+:10EA200000000000000000000000000000000002E4
+:10EA300002020202010101010101010101010100C3
+:10EA400000000000000000000000000000000000C6
+:10EA500000000000000000000000000000000000B6
+:10EA600000000000000000000000000000000000A6
+:10EA70000000000000000000000000000000000294
+:10EA8000020202020202020202020202000002016B
+:10EA90000101010101010101010101010101010067
+:10EAA0000000000000000000000000000000000066
+:10EAB0000000000000000000000000000000000056
+:10EAC0000000000000000000000000000000000046
+:10EAD0000000000000000000000000000000000135
+:10EAE0000101010101010101010101010101010017
+:10EAF0000000000000000000000000000000000016
+:10EB00000000000000000000000000000000000005
+:10EB100000000000000000000000000000000000F5
+:10EB200000000000000000000000000000000001E4
+:10EB300001010101010101010101010101010100C6
+:10EB400000000000000000000000000000000000C5
+:10EB500000000000000000000000000000000000B5
+:10EB600000000000000000000000000000000000A5
+:10EB70000000000000000000000000000000000293
+:10EB80000202020202020202020202020202020166
+:10EB90000101010101010101010101010101010066
+:10EBA0000000000000000000000000000000000065
+:10EBB0000000000000000000000000000000000055
+:10EBC0000000000000000000000000000000000045
+:10EBD0000000000000000000000000000000000134
+:10EBE0000101010101010101010101010101010016
+:10EBF0000000000000000000000000000000000015
+:10EC00000000000000000000000000000000000004
+:10EC100000000000000000000000000000000000F4
+:10EC200000000000000000000000000000000001E3
+:10EC300001010101010101010101010101010100C5
+:10EC400000000000000000000000000000000000C4
+:10EC500000000000000000000000000000000000B4
+:10EC600000000000000000000000000000000000A4
+:10EC70000000000000000000000000000000000292
+:10EC80000202020202020202020202020202020165
+:10EC90000101010101010101010101010101010065
+:10ECA0000000000000000000000000000000000064
+:10ECB0000000000000000000000000000000000054
+:10ECC0000000000000000000000000000000000044
+:10ECD0000000000000000000000000000000000133
+:10ECE0000101010101010101010101010101010015
+:10ECF0000000000000000000000000000000000014
+:10ED00000000000000000000000000000000000003
+:10ED100000000000000000000000000000000000F3
+:10ED200000000000000000000000000000000001E2
+:10ED300001010101010101010101010101010100C4
+:10ED400000000000000000000000000000000000C3
+:10ED500000000000000000000000000000000000B3
+:10ED600000000000000000000000000000000000A3
+:10ED70000000000000000000000000000000000291
+:10ED80000202020202020202020202020202020164
+:10ED90000101010101010101010101010101010064
+:10EDA0000000000000000000000000000000000063
+:10EDB0000000000000000000000000000000000053
+:10EDC0000000000000000000000000000000000043
+:10EDD0000000000000000000000000000000000132
+:10EDE0000101010101010101010101010101010014
+:10EDF0000000000000000000000000000000000013
+:10EE00000000000000000000000000000000000002
+:10EE100000000000000000000000000000000000F2
+:10EE200000000000000000000000000000000001E1
+:10EE300001010101010101010101010101010100C3
+:10EE400000000000000000000000000000000000C2
+:10EE500000000000000000000000000000000000B2
+:10EE600000000000000000000000000000000000A2
+:10EE70000000000000000000000000000000000290
+:10EE80000202020202020202020202020202020163
+:10EE90000101010101010101010101010101010063
+:10EEA0000000000000000000000000000000000062
+:10EEB0000000000000000000000000000000000052
+:10EEC0000000000000000000000000000000000042
+:10EED0000000000000000000000000000000000131
+:10EEE0000101010101010101010101010101010013
+:10EEF0000000000000000000000000000000000012
+:10EF00000000000000000000000000000000000001
+:10EF100000000000000000000000000000000000F1
+:10EF200000000000000000000000000000000001E0
+:10EF300001010101010101010101010101010100C2
+:10EF400000000000000000000000000000000000C1
+:10EF500000000000000000000000000000000000B1
+:10EF600000000000000000000000000000000000A1
+:10EF7000000000000000000000000000000000028F
+:10EF80000202020202020202020202020202020162
+:10EF90000101010101010101010101010101010062
+:10EFA0000000000000000000000000000000000061
+:10EFB0000000000000000000000000000000000051
+:10EFC0000000000000000000000000000000000041
+:10EFD0000000000000000000000000000000000130
+:10EFE0000101010101010101010101010101010012
+:10EFF0000000000000000000000000000000000011
+:10F000000000000000000000000000000000000000
+:10F0100000000000000000000000000000000000F0
+:10F0200000000000000000000000000000000001DF
+:10F0300001010101010101010101010101010100C1
+:10F0400000000000000000000000000000000000C0
+:10F0500000000000000000000000000000000000B0
+:10F0600000000000000000000000000000000000A0
+:10F07000000000000000000000000000000000028E
+:10F080000202020202020202020202020202020161
+:10F090000101010101010101010101010101010061
+:10F0A0000000000000000000000000000000000060
+:10F0B0000000000000000000000000000000000050
+:10F0C0000000000000000000000000000000000040
+:10F0D000000000000000000000000000000000012F
+:10F0E0000101010101010101010101010101010011
+:10F0F0000000000000000000000000000000000010
+:10F1000000000000000000000000000000000000FF
+:10F1100000000000000000000000000000000000EF
+:10F1200000000000000000000000000000000001DE
+:10F1300001010101010101010101010101010100C0
+:10F1400000000000000000000000000000000000BF
+:10F1500000000000000000000000000000000000AF
+:10F16000000000000000000000000000000000009F
+:10F17000000000000000000000000000000000028D
+:10F180000202020202020202020202020202020160
+:10F190000101010101010101010101010101010060
+:10F1A000000000000000000000000000000000005F
+:10F1B000000000000000000000000000000000004F
+:10F1C000000000000000000000000000000000003F
+:10F1D000000000000000000000000000000000012E
+:10F1E0000101010101010101010101010101010010
+:10F1F000000000000000000000000000000000000F
+:10F2000000000000000000000000000000000000FE
+:10F2100000000000000000000000000000000000EE
+:10F2200000000000000000000000000000000002DC
+:10F2300002020202020202020202020202020200B0
+:10F2400000000000000000000000000000000000BE
+:10F2500000000000000000000000000000000000AE
+:10F26000000000000000000000000000000000009E
+:10F27000000000000000000000000000000000028C
+:10F28000020202020202020202020202020202015F
+:10F29000010101010101010101010101010101005F
+:10F2A000000000000000000000000000000000005E
+:10F2B000000000000000000000000000000000004E
+:10F2C000000000000000000000000000000000003E
+:10F2D000000000000000000000000000000000022C
+:10F2E0000202020202020202020202020202020000
+:10F2F000000000000000000000000000000000000E
+:10F3000000000000000000000000000000000000FD
+:10F3100000000000000000000000000000000000ED
+:10F3200000000000000000000000000000000002DB
+:10F3300002020202020202020202020202020200AF
+:10F3400000000000000000000000000000000000BD
+:10F3500000000000000000000000000000000000AD
+:10F36000000000000000000000000000000000009D
+:10F37000000000000000000000000000000000028B
+:10F38000020202020202020202020202020202005F
+:10F39000000000000000000000000000000000006D
+:10F3A000000000000000000000000000000000005D
+:10F3B000000000000000000000000000000000004D
+:10F3C000000000000000000000000000000000003D
+:10F3D000000000000000000000000000000000002D
+:10F3E000000000000000000000000000000000001D
+:10F3F000000000000000000000000000000000000D
+:10F4000000000000000000000000000000000000FC
+:10F4100000000000000000000000000000000000EC
+:10F4200000000000000000000000000000000000DC
+:10F4300000000000000000000000000000000000CC
+:10F4400000000000000000000000000000000000BC
+:10F4500000000000000000000000000000000000AC
+:10F46000000000000000000000000000000000009C
+:10F47000000000000000000000000000000000008C
+:10F480000000000000000000000000000000002C50
+:10F49000000000000000000000000000000000006C
+:10F4A000000000000000000000000000000000005C
+:10F4B000000000000000000000000000000000004C
+:10F4C000000000000000000000000000000000003C
+:10F4D000000000000000000000000000000000002C
+:10F4E000000000000000000100000000000000001B
+:10F4F000000000000000000000000000000000000C
+:10F5000000000000000000000000000000000000FB
+:10F5100000000000000000000000000000000000EB
+:10F5200000000000000000000000000000000000DB
+:10F5300000000000000000000000000000000000CB
+:10F5400000000000000000000000000000000000BB
+:10F5500000000000000000000000000000000000AB
+:10F56000000000000000000000000000000000009B
+:10F57000000000000000000000000000000000008B
+:10F58000000000000000000000000000000000007B
+:10F59000000000000000000000000000000000006B
+:10F5A000000000000000000000000000000000005B
+:10F5B000000000000000000000000000000000004B
+:10F5C000000000000000000000000000000000003B
+:10F5D000000000000000000000000000000000002B
+:10F5E000000000000000000100000000000000001A
+:10F5F000000000000000000000000000000000000B
+:10F6000000000000000000000000000000000000FA
+:10F6100000000000000000000000000000000000EA
+:10F6200000000000000000000000000000000000DA
+:10F6300000000000000000000000000000000000CA
+:10F6400000000000000000000000000000000000BA
+:10F6500000000000000000000000000000000000AA
+:10F66000000000000000000000000000000000009A
+:10F67000000000000000000000000000000000008A
+:10F68000000000000000000000000000000000007A
+:10F69000000000000000000000000000000000006A
+:10F6A000000000000000000000000000000000005A
+:10F6B000000000000000000000000000000000004A
+:10F6C000000000000000000000000000000000003A
+:10F6D000000000000000000000000000000000002A
+:10F6E0000000000000000001000000000000000019
+:10F6F000000000000000000000000000000000000A
+:10F7000000000000000000000000000000000000F9
+:10F7100000000000000000000000000000000000E9
+:10F7200000000000000000000000000000000000D9
+:10F7300000000000000000000000000000000000C9
+:10F7400000000000000000000000000000000000B9
+:10F7500000000000000000000000000000000000A9
+:10F760000000000000000000000000000000000099
+:10F770000000000000000000000000000000000089
+:10F780000000000000000000000000000000000079
+:10F790000000000000000000000000000000000069
+:10F7A0000000000000000000000000000000000059
+:10F7B0000000000000000000000000000000000049
+:10F7C0000000000000000000000000000000000039
+:10F7D0000000000000000000000000000000000029
+:10F7E0000000000000000002000000000000000017
+:10F7F0000001000000000000000000000000000008
+:10F8000000000000000000000000000000000000F8
+:10F8100000000000000000000000000000000000E8
+:10F8200000000000000000000000000000000000D8
+:10F8300000000000000000000000000000000000C8
+:10F8400000000000000000000000000000000000B8
+:10F8500000000000000000000000000000000000A8
+:10F860000000000000000000000000000000000098
+:10F870000000000000000000000000000000000088
+:10F880000000000000000000000000000000000078
+:10F890000000000000000000000100000000000067
+:10F8A0000000000000010000000000000000000057
+:10F8B0000000000000000000000000000000000048
+:10F8C0000000000000000000000000000000000038
+:10F8D0000000000000000000000000000000000028
+:10F8E0000000000000000002000000000001000015
+:10F8F0000001010100000100000000000000000004
+:10F9000000000000000000000000000000000000F7
+:10F9100000000000000000000000000000000000E7
+:10F9200000000000000000000000000000000000D7
+:10F9300000000000000000000000000000000000C7
+:10F9400000000000000000000000000000000000B7
+:10F9500000000000000000000000000000000000A7
+:10F960000000000000000000000000000000000097
+:10F970000000000000000000000000000000000087
+:10F980000000000000000000000200000000000075
+:10F990000000000000000000000100000100000065
+:10F9A0000000000000010000000000000000000056
+:10F9B0000000000000000000000000000000000047
+:10F9C0000000000000000000000000000000000037
+:10F9D0000000000000000000000000000000000027
+:10F9E0000000000000000002000100000001010012
+:10F9F0000001010101010100000000000000000001
+:10FA000000000000000000000000000000000000F6
+:10FA100000000000000000000000000000000000E6
+:10FA200000000000000000000000000000000000D6
+:10FA300000000000000000000000000000000000C6
+:10FA400000000000000000000000000000000000B6
+:10FA500000000000000000000000000000000000A6
+:10FA60000000000000000000000000000000000096
+:10FA70000000000000000000000000000000000086
+:10FA80000000000000000000000200000000000074
+:10FA90000000000000000000010100000100000063
+:10FAA0000000000000010000000000000000000055
+:10FAB0000000000000000000000000000000000046
+:10FAC0000000000000000000000000000000000036
+:10FAD0000000000000000000000000000000000026
+:10FAE000000000000000000200010001010101010E
+:10FAF0000001010101010100000000000000000000
+:10FB000000000000000000000000000000000000F5
+:10FB100000000000000000000000000000000000E5
+:10FB200000000000000000000000000000000000D5
+:10FB300000000000000000000000000000000000C5
+:10FB400000000000000000000000000000000000B5
+:10FB500000000000000000000000000000000000A5
+:10FB60000000000000000000000000000000000095
+:10FB70000000000000000000000000000000000085
+:10FB80000000000000000000000200000000000073
+:10FB90000000000000000001010100000100000061
+:10FBA0000000000000010000000000000000000054
+:10FBB0000000000000000000000000000000000045
+:10FBC0000000000000000000000000000000000035
+:10FBD0000000000000000000000000000000000025
+:10FBE000000000000000000201010001010101010C
+:10FBF00000010101010101000000000000000000FF
+:10FC000000000000000000000000000000000000F4
+:10FC100000000000000000000000000000000000E4
+:10FC200000000000000000000000000000000000D4
+:10FC300000000000000000000000000000000000C4
+:10FC400000000000000000000000000000000000B4
+:10FC500000000000000000000000000000000000A4
+:10FC60000000000000000000000000000000000094
+:10FC70000000000000000000000000000000000084
+:10FC80000000000000000000000200000000000072
+:10FC90000000000000000001010100000100000060
+:10FCA0000001000001010000000000000000000051
+:10FCB0000000000000000000000000000000000044
+:10FCC0000000000000000000000000000000000034
+:10FCD0000000000000000000000000000000000024
+:10FCE000000000000000000201010101010101010A
+:10FCF00000010101010101000000000000000000FE
+:10FD000000000000000000000000000000000000F3
+:10FD100000000000000000000000000000000000E3
+:10FD200000000000000000000000000000000000D3
+:10FD300000000000000000000000000000000000C3
+:10FD400000000000000000000000000000000000B3
+:10FD500000000000000000000000000000000000A3
+:10FD60000000000000000000000000000000000093
+:10FD70000000000000000000000000000000000083
+:10FD80000000000000000000000100000000000072
+:10FD9000000000000100000101010000010100005D
+:10FDA000000101000101000000000000000000004F
+:10FDB0000000000000000000000000000000000043
+:10FDC0000000000000000000000000000000000033
+:10FDD0000000000000000000000000000000000023
+:10FDE0000000000000000002010201010101010108
+:10FDF00001010101010101000000000000000000FC
+:10FE000000000000000000000000000000000000F2
+:10FE100000000000000000000000000000000000E2
+:10FE200000000000000000000000000000000000D2
+:10FE300000000000000000010000000000000000C1
+:10FE400000000000000000000000000000000000B2
+:10FE500000000000000000000000000000000000A2
+:10FE60000000000000000000000000000000000092
+:10FE70000000000000000000000000000000000082
+:10FE80000000000000000000000101000000000070
+:10FE9000000000000100000101010000010101005B
+:10FEA000000101000101000000000000000000004E
+:10FEB0000000000000000000000000000000000042
+:10FEC0000000000000000000000000000000000032
+:10FED0000000000000000000000000000000000022
+:10FEE0000000000000000002010201010101010107
+:10FEF00001010101010101000000000000000000FB
+:10FF000000000000000000000000000000000000F1
+:10FF100000000000000000000000000000000000E1
+:10FF200000000000000000000000000000000000D1
+:10FF300000000000000000010000000000000000C0
+:10FF400000000000000000000000000000000000B1
+:10FF500000000000000000000000000000000000A1
+:10FF60000000000000000000000000000000000091
+:10FF70000000000000000000000000000000000081
+:10FF8000000000000000000000010100000000006F
+:10FF90000000000001000002010200010101010057
+:10FFA000000101000101000000000000000000004D
+:10FFB0000000000000000000000000000000000041
+:10FFC0000000000000000000000000000000000031
+:10FFD0000000000000000000000000000000000021
+:10FFE0000000000000000002020201010102010104
+:10FFF00001020101010101000000000000000000F9
+:02000002A0005C
+:1000000000000000000000000000000000000000F0
+:1000100000000000000000000000000000000000E0
+:1000200000000000000000000000000000000000D0
+:1000300000000000000000010000000000000000BF
+:1000400000000000000000000000000000000000B0
+:1000500000000000000000000000000000000000A0
+:100060000000000000000000000000000000000090
+:100070000000000000000000000000000000000080
+:10008000000000000000000000010100010000016C
+:100090000000000001000002010200010101010056
+:1000A000000101000101000000000000000000004C
+:1000B0000000000000000000000000000000000040
+:1000C0000000000000000000000000000000000030
+:1000D0000000000000000000000000000000000020
+:1000E0000000000000000002020202020102020100
+:1000F00001020201010101000000000000000000F7
+:1001000000000000000000000000000000000000EF
+:1001100000000000000000000000000000000000DF
+:1001200000000000000000000000000000000000CF
+:1001300000000000000000010000000000000000BE
+:1001400000000000000000000000000000000000AF
+:10015000000000000000000000000000000000009F
+:10016000000000000000000000000000000000008F
+:10017000000000000000000000000000000000007F
+:10018000000000000000000001010100010000016A
+:100190000000000001010002020201010101010151
+:1001A000000101010101000000000000000000004A
+:1001B000000000000000000000000000000000003F
+:1001C000000000000000000000000000000000002F
+:1001D000000000000000000000000000000000001F
+:1001E00000000000000000020202020202020202FD
+:1001F00001020202010101000000000000000000F5
+:1002000000000000000000000000000000000000EE
+:1002100000000000000000000000000000000000DE
+:1002200000000000000000000000000000000000CE
+:1002300000000000000000020000000001000000BB
+:1002400000000000000000000000000000000000AE
+:10025000000000000000000000000000000000009E
+:10026000000000000000000000000000000000008E
+:10027000000000000000000000000000000000007E
+:100280000000000000000000010100010100000169
+:10029000000000000101010202020101010101014F
+:1002A0000102010101010000000000000000000047
+:1002B000000000000000000000000000000000003E
+:1002C000000000000000000000000000000000002E
+:1002D000000000000000000000000000000000001E
+:1002E00000000000000000020202020202020202FC
+:1002F00001020202020202000000000000000000F1
+:1003000000000000000000000000000000000000ED
+:1003100000000000000000000000000000000000DD
+:1003200000000000000000000000000000000000CD
+:1003300000000000000000020001000001000000B9
+:1003400000000000000000000000000000000000AD
+:10035000000000000000000000000000000000009D
+:10036000000000000000000000000000000000008D
+:10037000000000000000000000000000000000007D
+:100380000000000000000000010100010100000168
+:10039000010000000101010202020101020201014B
+:1003A0000102020101020000000000000000000044
+:1003B000000000000000000000000000000000003D
+:1003C000000000000000000000000000000000002D
+:1003D000000000000000000000000000000000001D
+:1003E00000000000000000020202020202020202FB
+:1003F00002020202020202000000000000000000EF
+:1004000000000000000000000000000000000000EC
+:1004100000000000000000000000000000000000DC
+:1004200000000000000000000000000000000000CC
+:1004300000000000000000020101010101000000B5
+:1004400000000000000000000000000000000000AC
+:10045000000000000000000000000000000000009C
+:10046000000000000000000000000000000000008C
+:10047000000000000000000000000000000000007C
+:100480000000000000000000000000010100000169
+:100490000100000101010102020201010202020148
+:1004A0000102020101020000000000000000000043
+:1004B000000000000000000000000000000000003C
+:1004C000000000000000000000000000000000002C
+:1004D000000000000000000000000000000000001C
+:1004E00000000000000000020202020202020202FA
+:1004F00002020202020202000000000000000000EE
+:1005000000000000000000000000000000000000EB
+:1005100000000000000000000000000000000000DB
+:1005200000000000000000000000000000000000CB
+:1005300000000000000000020101010101000000B4
+:1005400000000000000000000000000000000000AB
+:10055000000000000000000000000000000000009B
+:10056000000000000000000000000000000000008B
+:10057000000000000000000000000000000000007B
+:100580000000000000000000000000010100000168
+:100590000100010101010102020201020202020145
+:1005A0000102020101020000000000000000000042
+:1005B000000000000000000000000000000000003B
+:1005C000000000000000000000000000000000002B
+:1005D000000000000000000000000000000000001B
+:1005E00000000000000000020202020202020202F9
+:1005F00002020202020202000000000000000000ED
+:1006000000000000000000000000000000000000EA
+:1006100000000000000000000000000000000000DA
+:1006200000000000000000000000000000000000CA
+:1006300000000000000000020101010101010000B2
+:1006400000000000000001000000000000000000A9
+:10065000000000000000000000000000000000009A
+:10066000000000000000000000000000000000008A
+:10067000000000000000000000000000000000007A
+:100680000000000000000000000000010100000167
+:100690000100010101010102020202020202020242
+:1006A0000102020101020000000000000000000041
+:1006B000000000000000000000000000000000003A
+:1006C000000000000000000000000000000000002A
+:1006D000000000000000000000000000000000001A
+:1006E00000000000000000020202020202020202F8
+:1006F00002020202020202000000000000000000EC
+:1007000000000000000000000000000000000000E9
+:1007100000000000000000000000000000000000D9
+:1007200000000000000000000000000000000000C9
+:1007300000000000000000020102010101010100AF
+:1007400001000000010101000000000000000000A5
+:100750000000000000000000000000000000000099
+:100760000000000000000000000000000000000089
+:100770000000000000000000000000000000000079
+:100780000000000000000000000000000000010068
+:100790000100010101010102020202020202020241
+:1007A000010202010202000000000000000000003F
+:1007B0000000000000000000000000000000000039
+:1007C0000000000000000000000000000000000029
+:1007D0000000000000000000000000000000000019
+:1007E00000000000000000020202020202020202F7
+:1007F00002020202020202000000000000000000EB
+:1008000000000000000000000000000000000000E8
+:1008100000000000000000000000000000000000D8
+:1008200000000000000000000000000000000000C8
+:1008300000000000000000020202010101010101AC
+:1008400001000101010101000000000000000000A2
+:100850000000000000000000000000000000000098
+:100860000000000000000000000000000000000088
+:100870000000000000000000000000000000000078
+:100880000000000000000000000000000000010067
+:100890000101010100010102020202020202020240
+:1008A000010202020202000000000000000000003D
+:1008B0000000000000000000000000000000000038
+:1008C0000000000000000000000000000000000028
+:1008D0000000000000000000000000000000000018
+:1008E00000000000000000020202020202020202F6
+:1008F00002020202020202000000000000000000EA
+:1009000000000000000000000000000000000000E7
+:1009100000000000000000000000000000000000D7
+:1009200000000000000000000000000000000000C7
+:1009300000000000000000020202020101010101AA
+:1009400001000101010101000000000000000000A1
+:100950000000000000000000000000000000000097
+:100960000000000000000000000000000000000087
+:100970000000000000000000000000000000000077
+:100980000000000000000000000000000000010066
+:10099000010101010001010202020202020202023F
+:1009A000020202020202000000000000000000003B
+:1009B0000000000000000000000000000000000037
+:1009C0000000000000000000000000000000000027
+:1009D0000000000000000000000000000000000017
+:1009E00000000000000000020202020202020202F5
+:1009F00002020202020202000000000000000000E9
+:100A000000000000000000000000000000000000E6
+:100A100000000000000000000000000000000000D6
+:100A200000000000000000000000000000000000C6
+:100A300000000000000000020202020202010101A7
+:100A400001000101010101000000000000000000A0
+:100A50000000000000000000000000000000000096
+:100A60000000000000000000000000000000000086
+:100A70000000000000000000000000000000000076
+:100A80000000000000000000000000000001010064
+:100A9000000101010001010202020202020202023F
+:100AA000020202020202000000000000000000003A
+:100AB0000000000000000000000000000000000036
+:100AC0000000000000000000000000000000000026
+:100AD0000000000000000000000000000000000016
+:100AE00000000000000000020202020202020202F4
+:100AF00002020202020202000000000000000000E8
+:100B000000000000000000000000000000000000E5
+:100B100000000000000000000000000000000000D5
+:100B200000000000000000000000000000000000C5
+:100B300000000000000000020202020202010101A6
+:100B4000010001010101010000000000000000009F
+:100B50000000000000000000000000000000000095
+:100B60000000000000000000000000000000000085
+:100B70000000000000000000000000000000000075
+:100B80000000000000000000000000000001010063
+:100B9000000101010000010202020202020202023F
+:100BA0000202020202020100000000000000000038
+:100BB0000000000000000000000000000000000035
+:100BC0000000000000000000000000000000000025
+:100BD0000000000000000000000000000000000015
+:100BE00000000000000000020202020202020202F3
+:100BF00002020202020202000000000000000000E7
+:100C000000000000000000000000000000000000E4
+:100C100000000000000000000000000000000000D4
+:100C200000000000000000000000000000000000C4
+:100C300000000000000000020202020202020101A4
+:100C4000010001010101010000000000000000009E
+:100C50000000000000000000000000000000000094
+:100C60000000000000000000000000000000000084
+:100C70000000000000000000000000000000000074
+:100C80000000000000000002000000000001000061
+:100C9000000100010000010202020202020202023F
+:100CA0000201010202020100000000000000000039
+:100CB0000000000000000000000000000000000034
+:100CC0000000000000000000000000000000000024
+:100CD0000000000000000000000000000000000014
+:100CE00000000000000000020202020202020202F2
+:100CF00002020202020202000000000000000000E6
+:100D000000000000000000000000000000000000E3
+:100D100000000000000000000000000000000000D3
+:100D200000000000000000000000000000000000C3
+:100D300000000000000000020202020202020201A2
+:100D4000010101010101010000000000000000009C
+:100D50000000000000000000000000000000000093
+:100D60000000000000000000000000000000000083
+:100D70000000000000000000000000000000000073
+:100D80000000000000000002000000000001000060
+:100D90000000000000000002020202020202020241
+:100DA0000201010202010100000000000000000039
+:100DB0000000000000000000000000000000000033
+:100DC0000000000000000000000000000000000023
+:100DD0000000000000000000000000000000000013
+:100DE00000000000000000020202020202020202F1
+:100DF00002020202020202000000000000000000E5
+:100E000000000000000000000000000000000000E2
+:100E100000000000000000000000000000000000D2
+:100E200000000000000000000000000000000000C2
+:100E300000000000000000020202020202020202A0
+:100E4000020101010101010000000000000000009A
+:100E50000000000000000000000000000000000092
+:100E60000000000000000000000000000000000082
+:100E70000000000000000000000000000000000072
+:100E8000000000000000000202020000000000005C
+:100E90000000000000000002020202020201010143
+:100EA0000201010102010100000000000000000039
+:100EB0000000000000000000000000000000000032
+:100EC0000000000000000000000000000000000022
+:100ED0000000000000000000000000000000000012
+:100EE00000000000000000010202020202020202F1
+:100EF00002010101010101000000000000000000EA
+:100F000000000000000000000000000000000000E1
+:100F100000000000000000000000000000000000D1
+:100F200000000000000000000000000000000000C1
+:100F3000000000000000000202020202020202029F
+:100F40000201020101010100000000000000000098
+:100F50000000000000000000000000000000000091
+:100F60000000000000000000000000000000000081
+:100F70000000000000000000000000000000000071
+:100F8000000000000000000202020000000000005B
+:100F90000000000000000002020202020201010142
+:100FA0000201010101010100000000000000000039
+:100FB0000000000000000000000000000000000031
+:100FC0000000000000000000000000000000000021
+:100FD0000000000000000000000000000000000011
+:100FE00000000000000000020202020202010202F0
+:100FF00002020202020202000000000000000000E3
+:1010000000000000000000000000000000000000E0
+:1010100000000000000000000000000000000000D0
+:1010200000000000000000000000000000000000C0
+:10103000000000000000000202020202020202029E
+:101040000201020202020200000000000000000093
+:101050000000000000000000000000000000000090
+:101060000000000000000000000000000000000080
+:101070000000000000000000000000000000000070
+:101080000000000000000002020202000000000058
+:101090000000000000000002020102010101010144
+:1010A0000101010101010100000000000000000039
+:1010B0000000000000000000000000000000000030
+:1010C0000000000000000000000000000000000020
+:1010D0000000000000000000000000000000000010
+:1010E00000000000000000000201010202020000F6
+:1010F00000000000000000000000000000000000F0
+:1011000000000000000000000000000000000000DF
+:1011100000000000000000000000000000000000CF
+:1011200000000000000000000000000000000000BF
+:10113000000000000000000202020202020202029D
+:101140000202020202020200000000000000000091
+:10115000000000000000000000000000000000008F
+:10116000000000000000000000000000000000007F
+:10117000000000000000000000000000000000006F
+:101180000000000000000002020202020200000053
+:101190000000000000000001010101010101010146
+:1011A0000101010101010100000000000000000038
+:1011B000000000000000000000000000000000002F
+:1011C000000000000000000000000000000000001F
+:1011D000000000000000000000000000000000000F
+:1011E00000000000000000000202020000000101F7
+:1011F00001010101010101000000000000000000E8
+:1012000000000000000000000000000000000000DE
+:1012100000000000000000000000000000000000CE
+:1012200000000000000000000000000000000000BE
+:10123000000000000000000202020202020202029C
+:101240000202020202020200000000000000000090
+:10125000000000000000000000000000000000008E
+:10126000000000000000000000000000000000007E
+:10127000000000000000000000000000000000006E
+:101280000000000000000002020202020200000052
+:101290000000000000000001010101010101010145
+:1012A0000101010101010100000000000000000037
+:1012B000000000000000000000000000000000002E
+:1012C000000000000000000000000000000000001E
+:1012D000000000000000000000000000000000000E
+:1012E00000000000000000000000000101010101F9
+:1012F00001010101010101000000000000000000E7
+:1013000000000000000000000000000000000000DD
+:1013100000000000000000000000000000000000CD
+:1013200000000000000000000000000000000000BD
+:10133000000000000000000202020202020202029B
+:10134000020202020202020000000000000000008F
+:10135000000000000000000000000000000000008D
+:10136000000000000000000000000000000000007D
+:10137000000000000000000000000000000000006D
+:10138000000000000000000202020202020000024F
+:101390000000000000000001010101010101010144
+:1013A0000101010101010100000000000000000036
+:1013B000000000000000000000000000000000002D
+:1013C000000000000000000000000000000000001D
+:1013D000000000000000000000000000000000000D
+:1013E00000000000000000010101010101010101F4
+:1013F00001010101010101000000000000000000E6
+:1014000000000000000000000000000000000000DC
+:1014100000000000000000000000000000000000CC
+:1014200000000000000000000000000000000000BC
+:10143000000000000000000202020202020202029A
+:10144000020202020202020000000000000000008E
+:10145000000000000000000000000000000000008C
+:10146000000000000000000000000000000000007C
+:10147000000000000000000000000000000000006C
+:10148000000000000000000202020202020202024A
+:10149000020000000200000101010101010101013F
+:1014A0000101010101010100000000000000000035
+:1014B000000000000000000000000000000000002C
+:1014C000000000000000000000000000000000001C
+:1014D000000000000000000000000000000000000C
+:1014E00000000000000000010101010101010101F3
+:1014F00001010101010101000000000000000000E5
+:1015000000000000000000000000000000000000DB
+:1015100000000000000000000000000000000000CB
+:1015200000000000000000000000000000000000BB
+:101530000000000000000002020202020202020299
+:10154000020202020202020000000000000000008D
+:10155000000000000000000000000000000000008B
+:10156000000000000000000000000000000000007B
+:10157000000000000000000000000000000000006B
+:101580000000000000000002020202020202020249
+:101590000200020202020201010101010101010136
+:1015A0000101010101010100000000000000000034
+:1015B000000000000000000000000000000000002B
+:1015C000000000000000000000000000000000001B
+:1015D000000000000000000000000000000000000B
+:1015E00000000000000000010101010101010101F2
+:1015F00001010101010101000000000000000000E4
+:1016000000000000000000000000000000000000DA
+:1016100000000000000000000000000000000000CA
+:1016200000000000000000000000000000000000BA
+:101630000000000000000002020202020202020298
+:10164000020202020202020000000000000000008C
+:10165000000000000000000000000000000000008A
+:10166000000000000000000000000000000000007A
+:10167000000000000000000000000000000000006A
+:101680000000000000000002020202020202020248
+:101690000202020202020201010101010101010133
+:1016A0000101010101010100000000000000000033
+:1016B000000000000000000000000000000000002A
+:1016C000000000000000000000000000000000001A
+:1016D000000000000000000000000000000000000A
+:1016E00000000000000000010101010101010101F1
+:1016F00001010101010101000000000000000000E3
+:1017000000000000000000000000000000000000D9
+:1017100000000000000000000000000000000000C9
+:1017200000000000000000000000000000000000B9
+:101730000000000000000002020202020202020297
+:10174000020202020202020000000000000000008B
+:101750000000000000000000000000000000000089
+:101760000000000000000000000000000000000079
+:101770000000000000000000000000000000000069
+:101780000000000000000002020202020202020247
+:101790000202020202020201010101010101010132
+:1017A0000101010101010100000000000000000032
+:1017B0000000000000000000000000000000000029
+:1017C0000000000000000000000000000000000019
+:1017D0000000000000000000000000000000000009
+:1017E00000000000000000010101010101010101F0
+:1017F00001010101010101000000000000000000E2
+:1018000000000000000000000000000000000000D8
+:1018100000000000000000000000000000000000C8
+:1018200000000000000000000000000000000000B8
+:101830000000000000000002020202020202020296
+:10184000020202020202020000000000000000008A
+:101850000000000000000000000000000000000088
+:101860000000000000000000000000000000000078
+:101870000000000000000000000000000000000068
+:101880000000000000000002020202020202020246
+:101890000202020202020201010101010101010131
+:1018A0000101010101010100000000000000000031
+:1018B0000000000000000000000000000000000028
+:1018C0000000000000000000000000000000000018
+:1018D0000000000000000000000000000000000008
+:1018E00000000000000000010101010101010101EF
+:1018F00001010101010101000000000000000000E1
+:1019000000000000000000000000000000000000D7
+:1019100000000000000000000000000000000000C7
+:1019200000000000000000000000000000000000B7
+:1019300000000000000000000200000000000000A5
+:101940000000000000000000000000000000000097
+:101950000000000000000000000000000000000087
+:101960000000000000000000000000000000000077
+:101970000000000000000000000000000000000067
+:101980000000000000000002020202020202020245
+:101990000202020202020201010101010101010130
+:1019A0000101010101010100000000000000000030
+:1019B0000000000000000000000000000000000027
+:1019C0000000000000000000000000000000000017
+:1019D0000000000000000000000000000000000007
+:1019E00000000000000000010101010101010101EE
+:1019F00001010101010101000000000000000000E0
+:101A000000000000000000000000000000000000D6
+:101A100000000000000000000000000000000000C6
+:101A200000000000000000000000000000000000B6
+:101A3000000000000000000101010101010101019D
+:101A4000010101010101010000000000000000008F
+:101A50000000000000000000000000000000000086
+:101A60000000000000000000000000000000000076
+:101A70000000000000000000000000000000000066
+:101A80000000000000000002020202020202020244
+:101A9000020202020202020101010101010101012F
+:101AA000010101010101010000000000000000002F
+:101AB0000000000000000000000000000000000026
+:101AC0000000000000000000000000000000000016
+:101AD0000000000000000000000000000000000006
+:101AE00000000000000000010101010101010101ED
+:101AF00001010101010101000000000000000000DF
+:101B000000000000000000000000000000000000D5
+:101B100000000000000000000000000000000000C5
+:101B200000000000000000000000000000000000B5
+:101B3000000000000000000101010101010101019C
+:101B4000010101010101010000000000000000008E
+:101B50000000000000000000000000000000000085
+:101B60000000000000000000000000000000000075
+:101B70000000000000000000000000000000000065
+:101B80000000000000000002020202020202020243
+:101B9000020202020202020101010101010101012E
+:101BA000010101010101010000000000000000002E
+:101BB0000000000000000000000000000000000025
+:101BC0000000000000000000000000000000000015
+:101BD0000000000000000000000000000000000005
+:101BE00000000000000000010101010101010101EC
+:101BF00001010101010101000000000000000000DE
+:101C000000000000000000000000000000000000D4
+:101C100000000000000000000000000000000000C4
+:101C200000000000000000000000000000000000B4
+:101C3000000000000000000101010101010101019B
+:101C4000010101010101010000000000000000008D
+:101C50000000000000000000000000000000000084
+:101C60000000000000000000000000000000000074
+:101C70000000000000000000000000000000000064
+:101C80000000000000000002020202020202020242
+:101C9000020202020202020101010101010101012D
+:101CA000010101010101010000000000000000002D
+:101CB0000000000000000000000000000000000024
+:101CC0000000000000000000000000000000000014
+:101CD0000000000000000000000000000000000004
+:101CE00000000000000000010101010101010101EB
+:101CF00001010101010101000000000000000000DD
+:101D000000000000000000000000000000000000D3
+:101D100000000000000000000000000000000000C3
+:101D200000000000000000000000000000000000B3
+:101D3000000000000000000101010101010101019A
+:101D4000010101010101010000000000000000008C
+:101D50000000000000000000000000000000000083
+:101D60000000000000000000000000000000000073
+:101D70000000000000000000000000000000000063
+:101D80000000000000000002020202020202020241
+:101D9000020202020202020101010101010101012C
+:101DA000010101010101010000000000000000002C
+:101DB0000000000000000000000000000000000023
+:101DC0000000000000000000000000000000000013
+:101DD0000000000000000000000000000000000003
+:101DE00000000000000000020202020202020202E1
+:101DF00002020202020202000000000000000000D5
+:101E000000000000000000000000000000000000D2
+:101E100000000000000000000000000000000000C2
+:101E200000000000000000000000000000000000B2
+:101E30000000000000000001010101010101010199
+:101E4000010101010101010000000000000000008B
+:101E50000000000000000000000000000000000082
+:101E60000000000000000000000000000000000072
+:101E70000000000000000000000000000000000062
+:101E80000000000000000002020202020202020240
+:101E9000020202020202020101010101010101012B
+:101EA000010101010101010000000000000000002B
+:101EB0000000000000000000000000000000000022
+:101EC0000000000000000000000000000000000012
+:101ED0000000000000000000000000000000000002
+:101EE00000000000000000020202020202020202E0
+:101EF00002020202020202000000000000000000D4
+:101F000000000000000000000000000000000000D1
+:101F100000000000000000000000000000000000C1
+:101F200000000000000000000000000000000000B1
+:101F3000000000000000000202020202020202028F
+:101F40000202020202020200000000000000000083
+:101F50000000000000000000000000000000000081
+:101F60000000000000000000000000000000000071
+:101F70000000000000000000000000000000000061
+:101F8000000000000000000202020202020202023F
+:101F90000202020202020200000000000000000033
+:101FA0000000000000000000000000000000000031
+:101FB0000000000000000000000000000000000021
+:101FC0000000000000000000000000000000000011
+:101FD0000000000000000000000000000000000001
+:101FE00000000000000000000000000000000000F1
+:101FF00000000000000000000000000000000000E1
+:1020000000000000000000000000000000000000D0
+:1020100000000000000000000000000000000000C0
+:1020200000000000000000000000000000000000B0
+:1020300000000000000000000000000000000000A0
+:102040000000000000000000000000000000000090
+:102050000000000000000000000000000000000080
+:102060000000000000000000000000000000000070
+:102070000000000000000000000000000000000060
+:102080000000000000000000000000000000000050
+:10209000000000000000002400000000000000011B
+:1020A0000101010101010101010101010101010021
+:1020B0000000000000000000000000000000000020
+:1020C0000000000000000000000000000000000010
+:1020D0000000000000000000000000000000000000
+:1020E00000000000000000000000000000000000F0
+:1020F00000000000000000000000000000000100DF
+:1021000000000000000000000000000000000000CF
+:1021100000000000000000000000000000000000BF
+:1021200000000000000000000000000000000000AF
+:10213000000000000000000000000000000000009F
+:10214000000000000000010000000000000101008C
+:10215000000000000000000000000000000000007F
+:10216000000000000000000000000000000000006F
+:10217000000000000000000000000000000000005F
+:10218000000000000000000000000000000000024D
+:10219000010101010101010101010101010101012F
+:1021A0000101010101010101010101010101010020
+:1021B000000000000000000000000000000000001F
+:1021C000000000000000000000000000000000000F
+:1021D00000000000000000000000000000000000FF
+:1021E00000000000000000000000000000000000EF
+:1021F00000000000000000000000000000000100DE
+:1022000000000000000000000000000000000000CE
+:1022100000000000000000000000000000000000BE
+:1022200000000000000000000000000000000000AE
+:10223000000000000000000000000000000000009E
+:102240000000000001010101010100000001010086
+:10225000000000000000000000000000000000007E
+:10226000000000000000000000000000000000006E
+:10227000000000000000000000000000000000005E
+:10228000000000000000000000000000000000024C
+:10229000010101010101010101010101010101012E
+:1022A000010101010101010101010101010101001F
+:1022B000000000000000000000000000000000001E
+:1022C000000000000000000000000000000000000E
+:1022D00000000000000000000000000000000000FE
+:1022E00000000000000000000000000000000000EE
+:1022F00000000000000000000000000000000100DD
+:1023000000000000000000000000000000000000CD
+:1023100000000000000000000000000000000000BD
+:1023200000000000000000000000000000000000AD
+:10233000000000000000000000000000000000009D
+:102340000000000001010101010100000001010085
+:10235000000000000000000000000000000000007D
+:10236000000000000000000000000000000000006D
+:10237000000000000000000000000000000000005D
+:10238000000000000000000000000000000000024B
+:10239000010101010101010101010101010101022C
+:1023A000010101010101010101010101010101001E
+:1023B000000000000000000000000000000000001D
+:1023C000000000000000000000000000000000000D
+:1023D00000000000000000000000000000000000FD
+:1023E00000000000000000000000000000000000ED
+:1023F00000000000000100000000000000000100DB
+:1024000000000000000000000000000000000000CC
+:1024100000000000000000000000000000000000BC
+:1024200000000000000000000000000000000000AC
+:10243000000000000000000000000000000000009C
+:102440000000000001010101010100000001010084
+:10245000000000000000000000000000000000007C
+:10246000000000000000000000000000000000006C
+:10247000000000000000000000000000000000005C
+:10248000000000000000000000000000000000024A
+:10249000010101010101010101010101010101022B
+:1024A000010101010101010101010101010101001D
+:1024B000000000000000000000000000000000001C
+:1024C000000000000000000000000000000000000C
+:1024D00000000000000000000000000000000000FC
+:1024E00000000000000000000000000000000000EC
+:1024F00000000000000100000000000000000100DA
+:1025000000000000000000000000000000000000CB
+:1025100000000000000000000000000000000000BB
+:1025200000000000000000000000000000000000AB
+:10253000000000000000000000000000000000009B
+:102540000000000001010101010100000001010083
+:10255000000000000000000000000000000000007B
+:10256000000000000000000000000000000000006B
+:10257000000000000000000000000000000000005B
+:102580000000000000000000000000000000000249
+:10259000010101010101010101010101010101022A
+:1025A0000102010201010101010101010201010019
+:1025B000000000000000000000000000000000001B
+:1025C000000000000000000000000000000000000B
+:1025D00000000000000000000000000000000000FB
+:1025E00000000000000000000000000000000000EB
+:1025F00000000000000100000000000000000100D9
+:1026000000000000000000000000000000000000CA
+:1026100000000000000000000000000000000000BA
+:1026200000000000000000000000000000000000AA
+:10263000000000000000000000000000000000009A
+:102640000000000001010101010100010001010081
+:10265000000000000000000000000000000000007A
+:10266000000000000000000000000000000000006A
+:10267000000000000000000000000000000000005A
+:102680000000000000000000000000000000000248
+:10269000010001010101010101010101010101022A
+:1026A0000202020201020201010102010201010013
+:1026B000000000000000000000000000000000001A
+:1026C000000000000000000000000000000000000A
+:1026D00000000000000000000000000000000000FA
+:1026E00000000000000000000000000000000001E9
+:1026F00001000000000101000000000000010100D5
+:1027000000000000000000000000000000000000C9
+:1027100000000000000000000000000000000000B9
+:1027200000000000000000000000000000000000A9
+:102730000000000000000000000000000000000099
+:10274000000100000101010101010101000101007E
+:102750000000000000000000000000000000000079
+:102760000000000000000000000000000000000069
+:102770000000000000000000000000000000000059
+:102780000000000000000000000000000000000247
+:10279000000000000101010101000001000101022F
+:1027A000020202020102020202020202020101000E
+:1027B0000000000000000000000000000000000019
+:1027C0000000000000000000000000000000000009
+:1027D00000000000000000000000000000000000F9
+:1027E00000000000000000000000000000000001E8
+:1027F00001000001010101010000000000010100D1
+:1028000000000000000000000000000000000000C8
+:1028100000000000000000000000000000000000B8
+:1028200000000000000000000000000000000000A8
+:102830000000000000000000000000000000000098
+:10284000000100000101010101010101000101007D
+:102850000000000000000000000000000000000078
+:102860000000000000000000000000000000000068
+:102870000000000000000000000000000000000058
+:102880000000000000000000000000000000000246
+:102890000000000001000001000000000001010232
+:1028A000020202020202020202020202020101000C
+:1028B0000000000000000000000000000000000018
+:1028C0000000000000000000000000000000000008
+:1028D00000000000000000000000000000000000F8
+:1028E00000000000000000000000000000000002E6
+:1028F00001000001010101010000000000010100D0
+:1029000000000000000000000000000000000000C7
+:1029100000000000000000000000000000000000B7
+:1029200000000000000000000000000000000000A7
+:102930000000000000000000000000000000000097
+:10294000000101000101010101010101000101007B
+:102950000000000000000000000000000000000077
+:102960000000000000000000000000000000000067
+:102970000000000000000000000000000000000057
+:102980000000000000000000000000000000000245
+:102990000000000000000000000000000001010233
+:1029A000020202020202020202020202010101000C
+:1029B0000000000000000000000000000000000017
+:1029C0000000000000000000000000000000000007
+:1029D00000000000000000000000000000000000F7
+:1029E00000000000000000000000000000000002E5
+:1029F00001000001010101010000000202010100CB
+:102A000000000000000000000000000000000000C6
+:102A100000000000000000000000000000000000B6
+:102A200000000000000000000000000000000000A6
+:102A30000000000000000000000000000000000096
+:102A40000001010101010101010101010001010079
+:102A50000000000000000000000000000000000076
+:102A60000000000000000000000000000000000066
+:102A70000000000000000000000000000000000056
+:102A80000000000000000000000000000000000244
+:102A90000000000000000000000000000001020231
+:102AA000020202020202020202020202010101000B
+:102AB0000000000000000000000000000000000016
+:102AC0000000000000000000000000000000000006
+:102AD00000000000000000000000000000000000F6
+:102AE00000000000000000000000000000000002E4
+:102AF00001010101010101010000010102010100C8
+:102B000000000000000000000000000000000000C5
+:102B100000000000000000000000000000000000B5
+:102B200000000000000000000000000000000000A5
+:102B30000000000000000000000000000000000095
+:102B40000101010101010101010101010001010077
+:102B50000000000000000000000000000000000075
+:102B60000000000000000000000000000000000065
+:102B70000000000000000000000000000000000055
+:102B80000000000000000000000000000000000243
+:102B90000000000000000000000000000001020230
+:102BA000020202020202020202020102010101000B
+:102BB0000000000000000000000000000000000015
+:102BC0000000000000000000000000000000000005
+:102BD00000000000000000000000000000000000F5
+:102BE00000000000000000000000000000000002E3
+:102BF00002010101010201010100010101010100C5
+:102C000000000000000000000000000000000000C4
+:102C100000000000000000000000000000000000B4
+:102C200000000000000000000000000000000000A4
+:102C30000000000000000000000000000000000094
+:102C40000102010102020201010101010101010071
+:102C50000000000000000000000000000000000074
+:102C60000000000000000000000000000000000064
+:102C70000000000000000000000000000000000054
+:102C80000000000000000000000000000000000242
+:102C9000000000000000000000000000000102022F
+:102CA000020202010202010202020102010101000C
+:102CB0000000000000000000000000000000000014
+:102CC0000000000000000000000000000000000004
+:102CD00000000000000000000000000000000000F4
+:102CE00000000000000000000000000000000002E2
+:102CF00002010102010201010100010101010100C3
+:102D000000000000000000000000000000000000C3
+:102D100000000000000000000000000000000000B3
+:102D200000000000000000000000000000000000A3
+:102D30000000000000000000000000000000000291
+:102D4000010201010202020202020101010101006D
+:102D50000000000000000000000000000000000073
+:102D60000000000000000000000000000000000063
+:102D70000000000000000000000000000000000053
+:102D80000000000000000000000000000000000241
+:102D9000000000000000000000000000000002022F
+:102DA000020202010201010101020101010101000F
+:102DB0000000000000000000000000000000000013
+:102DC0000000000000000000000000000000000003
+:102DD00000000000000000000000000000000000F3
+:102DE00000000000000000000000000000000002E1
+:102DF00002020102020202010102010101010200BC
+:102E000000000000000000000000000000000000C2
+:102E100000000000000000000000000000000000B2
+:102E200000000000000000000000000000000000A2
+:102E30000000000000000000000000000000000290
+:102E4000010202010202020202020101010101006B
+:102E50000000000000000000000000000000000072
+:102E60000000000000000000000000000000000062
+:102E70000000000000000000000000000000000052
+:102E80000000000000000000000000000000000240
+:102E9000000000000000000000000000000002022E
+:102EA000020102010201010101010101010201000F
+:102EB0000000000000000000000000000000000012
+:102EC0000000000000000000000000000000000002
+:102ED00000000000000000000000000000000000F2
+:102EE00000000000000000000000000000000002E0
+:102EF00002020202020202020101010101010200BA
+:102F000000000000000000000000000000000000C1
+:102F100000000000000000000000000000000000B1
+:102F200000000000000000000000000000000000A1
+:102F3000000000000000000000000000000000028F
+:102F40000202020202020202020201010102020066
+:102F50000000000000000000000000000000000071
+:102F60000000000000000000000000000000000061
+:102F70000000000000000000000000000000000051
+:102F8000000000000000000000000000000000023F
+:102F9000000200000000000000000000000002022B
+:102FA000020101010201010101010101010201000F
+:102FB0000000000000000000000000000000000011
+:102FC0000000000000000000000000000000000001
+:102FD00000000000000000000000000000000000F1
+:102FE00000000000000000000000000000000002DF
+:102FF00002020202020202020101020101010200B8
+:1030000000000000000000000000000000000000C0
+:1030100000000000000000000000000000000000B0
+:1030200000000000000000000000000000000000A0
+:10303000000000000000000000000000000000028E
+:103040000202020202020202020202020102020063
+:103050000000000000000000000000000000000070
+:103060000000000000000000000000000000000060
+:103070000000000000000000000000000000000050
+:10308000000000000000000000000000000000023E
+:10309000020202020000000000020200020002021E
+:1030A0000101010101010101010101010102010010
+:1030B0000000000000000000000000000000000010
+:1030C0000000000000000000000000000000000000
+:1030D00000000000000000000000000000000000F0
+:1030E00000000000000000000000000000000002DE
+:1030F00002020202020202020201020201020200B4
+:1031000000000000000000000000000000000000BF
+:1031100000000000000000000000000000000000AF
+:10312000000000000000000000000000000000009F
+:10313000000000000000000000000000000000028D
+:103140000202020202020202020202020102020062
+:10315000000000000000000000000000000000006F
+:10316000000000000000000000000000000000005F
+:10317000000000000000000000000000000000004F
+:10318000000000000000000000000000000000023D
+:103190000202020200020200020202020200020116
+:1031A000010101010101010101010101010201000F
+:1031B000000000000000000000000000000000000F
+:1031C00000000000000000000000000000000000FF
+:1031D00000000000000000000000000000000000EF
+:1031E00000000000000000000000000000000002DD
+:1031F00002020202020202020201020202020200B2
+:1032000000000000000000000000000000000000BE
+:1032100000000000000000000000000000000000AE
+:10322000000000000000000000000000000000009E
+:10323000000000000000000000000000000000028C
+:103240000202020202020202020202020102020061
+:10325000000000000000000000000000000000006E
+:10326000000000000000000000000000000000005E
+:10327000000000000000000000000000000000004E
+:10328000000000000000000000000000000000023C
+:10329000020202020202020202020202020202010F
+:1032A000010101010101010101010101010200000F
+:1032B000000000000000000000000000000000000E
+:1032C00000000000000000000000000000000000FE
+:1032D00000000000000000000000000000000000EE
+:1032E00000000000000000000000000000000002DC
+:1032F00002020202020202020202020202020200B0
+:1033000000000000000000000000000000000000BD
+:1033100000000000000000000000000000000000AD
+:10332000000000000000000000000000000000009D
+:10333000000000000000000000000000000000028B
+:10334000020202020202020202020202020202005F
+:10335000000000000000000000000000000000006D
+:10336000000000000000000000000000000000005D
+:10337000000000000000000000000000000000004D
+:10338000000000000000000000000000000000003D
+:103390000202020202020202020202020202000110
+:1033A000010101010101010101010101010200000E
+:1033B000000000000000000000000000000000000D
+:1033C00000000000000000000000000000000000FD
+:1033D00000000000000000000000000000000000ED
+:1033E00000000000000000000000000000000002DB
+:1033F00002020202020202020202020202020200AF
+:1034000000000000000000000000000000000000BC
+:1034100000000000000000000000000000000000AC
+:10342000000000000000000000000000000000009C
+:10343000000000000000000000000000000000028A
+:10344000020202020202020202020202020202005E
+:10345000000000000000000000000000000000006C
+:10346000000000000000000000000000000000005C
+:10347000000000000000000000000000000000004C
+:10348000000000000000000000000000000000003C
+:10349000020202020202020202020202020200010F
+:1034A000010101010101010101010101010200000D
+:1034B000000000000000000000000000000000000C
+:1034C00000000000000000000000000000000000FC
+:1034D00000000000000000000000000000000000EC
+:1034E00000000000000000000000000000000002DA
+:1034F00002020202020202020202020202020200AE
+:1035000000000000000000000000000000000000BB
+:1035100000000000000000000000000000000000AB
+:10352000000000000000000000000000000000009B
+:103530000000000000000000000000000000000289
+:10354000020202020202020202020202020202005D
+:10355000000000000000000000000000000000006B
+:10356000000000000000000000000000000000005B
+:10357000000000000000000000000000000000004B
+:10358000000000000000000000000000000000003B
+:10359000020202020202020202020202020200010E
+:1035A000010101010101010101010101010200000C
+:1035B000000000000000000000000000000000000B
+:1035C00000000000000000000000000000000000FB
+:1035D00000000000000000000000000000000000EB
+:1035E00000000000000000000000000000000002D9
+:1035F00002020202020202020202020202020200AD
+:1036000000000000000000000000000000000000BA
+:1036100000000000000000000000000000000000AA
+:10362000000000000000000000000000000000009A
+:103630000000000000000000000000000000000288
+:10364000020202020202020202020202020202005C
+:10365000000000000000000000000000000000006A
+:10366000000000000000000000000000000000005A
+:10367000000000000000000000000000000000004A
+:10368000000000000000000000000000000000003A
+:10369000020202020202020202020202020200010D
+:1036A000010101010101010101010101010100000C
+:1036B000000000000000000000000000000000000A
+:1036C00000000000000000000000000000000000FA
+:1036D00000000000000000000000000000000000EA
+:1036E00000000000000000000000000000000002D8
+:1036F00002020202020202020202020202020200AC
+:1037000000000000000000000000000000000000B9
+:1037100000000000000000000000000000000000A9
+:103720000000000000000000000000000000000099
+:103730000000000000000000000000000000000287
+:10374000020202020202020202020202020202005B
+:103750000000000000000000000000000000000069
+:103760000000000000000000000000000000000059
+:103770000000000000000000000000000000000049
+:103780000000000000000000000000000000000039
+:10379000020202020202020202020202020200010C
+:1037A000010101000101010101010101000100000D
+:1037B0000000000000000000000000000000000009
+:1037C00000000000000000000000000000000000F9
+:1037D00000000000000000000000000000000000E9
+:1037E00000000000000000000000000000000002D7
+:1037F00002020202020202020202020202020200AB
+:1038000000000000000000000000000000000000B8
+:1038100000000000000000000000000000000000A8
+:103820000000000000000000000000000000000098
+:103830000000000000000000000000000000000286
+:10384000020202020202020202020202020202005A
+:103850000000000000000000000000000000000068
+:103860000000000000000000000000000000000058
+:103870000000000000000000000000000000000048
+:103880000000000000000000000000000000000038
+:10389000020202020202020202020202020200010B
+:1038A000010001000101000101010001000100000F
+:1038B0000000000000000000000000000000000008
+:1038C00000000000000000000000000000000000F8
+:1038D00000000000000000000000000000000000E8
+:1038E00000000000000000000000000000000002D6
+:1038F00002020202020202020202010101020200AD
+:1039000000000000000000000000000000000000B7
+:1039100000000000000000000000000000000000A7
+:103920000000000000000000000000000000000097
+:103930000000000000000000000000000000000285
+:103940000202020202020202020202020202020059
+:103950000000000000000000000000000000000067
+:103960000000000000000000000000000000000057
+:103970000000000000000000000000000000000047
+:103980000000000000000000000000000000000037
+:10399000020202020202020202020202000200010C
+:1039A0000100010001000000000100010001000011
+:1039B0000000000000000000000000000000000007
+:1039C00000000000000000000000000000000000F7
+:1039D00000000000000000000000000000000000E7
+:1039E00000000000000000000000000000000002D5
+:1039F00002020201010202020202020202020200AB
+:103A000000000000000000000000000000000000B6
+:103A100000000000000000000000000000000000A6
+:103A20000000000000000000000000000000000096
+:103A30000000000000000000000000000000000284
+:103A40000202020202020202020202020202020058
+:103A50000000000000000000000000000000000066
+:103A60000000000000000000000000000000000056
+:103A70000000000000000000000000000000000046
+:103A80000000000000000000000000000000000036
+:103A9000020202020202020202020002000200010D
+:103AA0000000000001000000000100010001000012
+:103AB0000000000000000000000000000000000006
+:103AC00000000000000000000000000000000000F6
+:103AD00000000000000000000000000000000000E6
+:103AE00000000000000000000000000000000002D4
+:103AF00002020202020101010101010101010100B2
+:103B000000000000000000000000000000000000B5
+:103B100000000000000000000000000000000000A5
+:103B20000000000000000000000000000000000095
+:103B30000000000000000000000000000000000283
+:103B4000020101010202020202020202020202005A
+:103B50000000000000000000000000000000000065
+:103B60000000000000000000000000000000000055
+:103B70000000000000000000000000000000000045
+:103B80000000000000000000000000000000000035
+:103B90000202020202020202020000000002000110
+:103BA0000000000000000000000000000001000014
+:103BB0000000000000000000000000000000000005
+:103BC00000000000000000000000000000000000F5
+:103BD00000000000000000000000000000000000E5
+:103BE00000000000000000000000000000000001D4
+:103BF00001010101010101010101010101010100B6
+:103C000000000000000000000000000000000000B4
+:103C100000000000000000000000000000000000A4
+:103C20000000000000000000000000000000000094
+:103C30000000000000000000000000000000000282
+:103C40000202020201010101010101010101010061
+:103C50000000000000000000000000000000000064
+:103C60000000000000000000000000000000000054
+:103C70000000000000000000000000000000000044
+:103C80000000000000000000000000000000000034
+:103C90000202020202020202020000000002000010
+:103CA0000000000000000000000000000001000013
+:103CB0000000000000000000000000000000000004
+:103CC00000000000000000000000000000000000F4
+:103CD00000000000000000000000000000000000E4
+:103CE00000000000000000000000000000000001D3
+:103CF00001010101010101010101010101010100B5
+:103D000000000000000000000000000000000000B3
+:103D100000000000000000000000000000000000A3
+:103D20000000000000000000000000000000000093
+:103D30000000000000000000000000000000000182
+:103D40000101010101010101010101010101010064
+:103D50000000000000000000000000000000000063
+:103D60000000000000000000000000000000000053
+:103D70000000000000000000000000000000000043
+:103D80000000000000000000000000000000000033
+:103D90000202020202020202000000000002000011
+:103DA0000000000000000000000000000001000012
+:103DB0000000000000000000000000000000000003
+:103DC00000000000000000000000000000000000F3
+:103DD00000000000000000000000000000000000E3
+:103DE00000000000000000000000000000000001D2
+:103DF00001010101010101010101010101010100B4
+:103E000000000000000000000000000000000000B2
+:103E100000000000000000000000000000000000A2
+:103E20000000000000000000000000000000000092
+:103E30000000000000000000000000000000000181
+:103E40000101010101010101010101010101010063
+:103E50000000000000000000000000000000000062
+:103E60000000000000000000000000000000000052
+:103E70000000000000000000000000000000000042
+:103E80000000000000000000000000000000000032
+:103E90000202020202020002000000000000000014
+:103EA0000000000000000000000000000001000011
+:103EB0000000000000000000000000000000000002
+:103EC00000000000000000000000000000000000F2
+:103ED00000000000000000000000000000000000E2
+:103EE00000000000000000000000000000000001D1
+:103EF00001010101010101010101010101010100B3
+:103F000000000000000000000000000000000000B1
+:103F100000000000000000000000000000000000A1
+:103F20000000000000000000000000000000000091
+:103F30000000000000000000000000000000000180
+:103F40000101010101010101010101010101010062
+:103F50000000000000000000000000000000000061
+:103F60000000000000000000000000000000000051
+:103F70000000000000000000000000000000000041
+:103F80000000000000000000000000000000000031
+:103F90000202020002000000000000000000000019
+:103FA0000000000000000000000000000001000010
+:103FB0000000000000000000000000000000000001
+:103FC00000000000000000000000000000000000F1
+:103FD00000000000000000000000000000000000E1
+:103FE00000000000000000000000000000000001D0
+:103FF00001010101010101010101010101010100B2
+:1040000000000000000000000000000000000000B0
+:1040100000000000000000000000000000000000A0
+:104020000000000000000000000000000000000090
+:10403000000000000000000000000000000000017F
+:104040000101010101010101010101010101010061
+:104050000000000000000000000000000000000060
+:104060000000000000000000000000000000000050
+:104070000000000000000000000000000000000040
+:104080000000000000000000000000000000000030
+:10409000020000000200000000000000000000001C
+:1040A000000000000000000000000000000100000F
+:1040B0000000000000000000000000000000000000
+:1040C00000000000000000000000000000000000F0
+:1040D00000000000000000000000000000000000E0
+:1040E00000000000000000000000000000000001CF
+:1040F00001010101010101010101010101010100B1
+:1041000000000000000000000000000000000000AF
+:10411000000000000000000000000000000000009F
+:10412000000000000000000000000000000000008F
+:10413000000000000000000000000000000000017E
+:104140000101010101010101010101010101010060
+:10415000000000000000000000000000000000005F
+:10416000000000000000000000000000000000004F
+:10417000000000000000000000000000000000003F
+:10418000000000000000000000000000000000002F
+:10419000020000000000000000000000000000001D
+:1041A000000000000000000000000000000100000E
+:1041B00000000000000000000000000000000000FF
+:1041C00000000000000000000000000000000000EF
+:1041D00000000000000000000000000000000000DF
+:1041E00000000000000000000000000000000001CE
+:1041F00001010101010101010101010101010100B0
+:1042000000000000000000000000000000000000AE
+:10421000000000000000000000000000000000009E
+:10422000000000000000000000000000000000008E
+:10423000000000000000000000000000000000027C
+:104240000202020202020202020202020202020050
+:10425000000000000000000000000000000000005E
+:10426000000000000000000000000000000000004E
+:10427000000000000000000000000000000000003E
+:10428000000000000000000000000000000000002E
+:10429000000000000000000000000000000000001E
+:1042A000000000000000000000000000000000000E
+:1042B00000000000000000000000000000000000FE
+:1042C00000000000000000000000000000000000EE
+:1042D00000000000000000000000000000000000DE
+:1042E00000000000000000000000000000000002CC
+:1042F00002020202020202020202020202020200A0
+:1043000000000000000000000000000000000000AD
+:10431000000000000000000000000000000000009D
+:10432000000000000000000000000000000000008D
+:10433000000000000000000000000000000000027B
+:10434000020202020202020202020202020202004F
+:10435000000000000000000000000000000000005D
+:10436000000000000000000000000000000000004D
+:10437000000000000000000000000000000000003D
+:10438000000000000000000000000000000000002D
+:10439000000000000000000000000000000000001D
+:1043A000000000000000000000000000000000000D
+:1043B00000000000000000000000000000000000FD
+:1043C00000000000000000000000000000000000ED
+:1043D00000000000000000000000000000000000DD
+:1043E00000000000000000000000000000000000CD
+:1043F00000000000000000000000000000000000BD
+:1044000000000000000000000000000000000000AC
+:10441000000000000000000000000000000000009C
+:10442000000000000000000000000000000000008C
+:10443000000000000000000000000000000000007C
+:10444000000000000000000000000000000000006C
+:10445000000000000000000000000000000000005C
+:10446000000000000000000000000000000000004C
+:10447000000000000000000000000000000000003C
+:10448000000000000000000000000000000000002C
+:104490000000000000000000000000000000001EFE
+:1044A0000000000000000001010101010101010103
+:1044B00001010101010101000000000000000000F5
+:1044C00000000000000000000000000000000000EC
+:1044D00000000000000000000000000000000000DC
+:1044E00000000000000000000000000000000000CC
+:1044F00000000000000000000000000000010001BA
+:1045000000000000000101000000000000000000A9
+:10451000000000000000000000000000000000009B
+:10452000000000000000000000000000000000008B
+:10453000000000000000000000000000000000007B
+:10454000000000000000000000000000000001006A
+:10455000000100000000000000000000000000005A
+:10456000000000000000000000000000000000004B
+:10457000000000000000000000000000000000003B
+:10458000000000000000000000000000000000002B
+:104590000000000000000002010101010101010111
+:1045A00001010101010101010101010101010101FB
+:1045B00001010101010101000000000000000000F4
+:1045C00000000000000000000000000000000000EB
+:1045D00000000000000000000000000000000000DB
+:1045E00000000000000000000000000000000000CB
+:1045F00000000000000000000000000001010101B7
+:1046000000000000000101000000000000000000A8
+:10461000000000000000000000000000000000009A
+:10462000000000000000000000000000000000008A
+:10463000000000000000000000000000000000007A
+:104640000000000000000000010000000001010166
+:104650000101000100010100000000000000000055
+:10466000000000000000000000000000000000004A
+:10467000000000000000000000000000000000003A
+:10468000000000000000000000000000000000002A
+:104690000000000000000002010101010101010110
+:1046A00001010101010101020101010101010101F9
+:1046B00001010101010101000000000000000000F3
+:1046C00000000000000000000000000000000000EA
+:1046D00000000000000000000000000000000000DA
+:1046E00000000000000000000000000000000000CA
+:1046F00000000000000000000000000001010101B6
+:1047000002000000000101000000000000000000A5
+:104710000000000000000000000000000000000099
+:104720000000000000000000000000000000000089
+:104730000000000000000000000000000000000079
+:104740000000000000000000010000000001010165
+:104750000101010100010100000000000000000053
+:104760000000000000000000000000000000000049
+:104770000000000000000000000000000000000039
+:104780000000000000000000000000000000000029
+:10479000000000000000000201010101010101010F
+:1047A00001010101010101020101010101010101F8
+:1047B00001010101010101000000000000000000F2
+:1047C00000000000000000000000000000000000E9
+:1047D00000000000000000000000000000000000D9
+:1047E00000000000000000000000000000000000C9
+:1047F00000000000000000000000000001010101B5
+:1048000001010200000101000000000000000000A2
+:104810000000000000000000000000000000000098
+:104820000000000000000000000000000000000088
+:104830000000000000000000000000000000000078
+:104840000000000000000000010100000001010163
+:104850000101010100010100000000000000000052
+:104860000000000000000000000000000000000048
+:104870000000000000000000000000000000000038
+:104880000000000000000000000000000000000028
+:10489000000000000000000201010101010101010E
+:1048A00001010101010101020101010101010101F7
+:1048B00001010101010101000000000000000000F1
+:1048C00000000000000000000000000000000000E8
+:1048D00000000000000000000000000000000000D8
+:1048E00000000000000000000000000000000000C8
+:1048F00000000000000000000100000001010101B3
+:10490000010101020201010000000000000000009E
+:104910000000000000000000000000000000000097
+:104920000000000000000000000000000000000087
+:104930000000000000000000000000000000000077
+:104940000000000000000000010101000001010161
+:104950000101010100010100000000000000000051
+:104960000000000000000000000000000000000047
+:104970000000000000000000000000000000000037
+:104980000000000000000000000000000000000027
+:104990000000000000000002000101010000000111
+:1049A00001010101010101020101010101020101F5
+:1049B00001010101010101000000000000000000F0
+:1049C00000000000000000000000000000000000E7
+:1049D00000000000000000000000000000000000D7
+:1049E00000000000000000000000000000000000C7
+:1049F00000000000000000000100000001010101B2
+:104A0000010101010101010000000000000000009F
+:104A10000000000000000000000000000000000096
+:104A20000000000000000000000000000000000086
+:104A30000000000000000000000000000000000076
+:104A4000000000000000000201010100000101015E
+:104A5000010101010101010000000000000000004F
+:104A60000000000000000000000000000000000046
+:104A70000000000000000000000000000000000036
+:104A80000000000000000000000000000000000026
+:104A90000000000000000002000001000000000112
+:104AA00000000001010101020202010102020101F4
+:104AB00001010101010101000000000000000000EF
+:104AC00000000000000000000000000000000000E6
+:104AD00000000000000000000000000000000000D6
+:104AE00000000000000000000000000000000000C6
+:104AF00000000000000000000101000001010101B0
+:104B0000010101010101010000000000000000009E
+:104B10000000000000000000000000000000000095
+:104B20000000000000000000000000000000000085
+:104B30000000000000000000000000000000000075
+:104B4000000000000000000202010101000101015B
+:104B5000010101010101010000000000000000004E
+:104B60000000000000000000000000000000000045
+:104B70000000000000000000000000000000000035
+:104B80000000000000000000000000000000000025
+:104B90000000000000000002000000000000000013
+:104BA00000000000000101020202010102020201F4
+:104BB00001010101010101000000000000000000EE
+:104BC00000000000000000000000000000000000E5
+:104BD00000000000000000000000000000000000D5
+:104BE00000000000000000000000000000000000C5
+:104BF00000000000000000000101000001010101AF
+:104C0000010101010101010000000000000000009D
+:104C10000000000000000000000000000000000094
+:104C20000000000000000000000000000000000084
+:104C30000000000000000000000000000000000074
+:104C4000000000000000000202010101000101015A
+:104C5000010101010101010000000000000000004D
+:104C60000000000000000000000000000000000044
+:104C70000000000000000000000000000000000034
+:104C80000000000000000000000000000000000024
+:104C90000000000000000002000000000000000012
+:104CA00000000000000102020202020202020201F0
+:104CB00001010201010101000000000000000000EC
+:104CC00000000000000000000000000000000000E4
+:104CD00000000000000000000000000000000000D4
+:104CE00000000000000000000000000000000000C4
+:104CF00000000000000000000101000002020101AC
+:104D0000010101010101010000000000000000009C
+:104D10000000000000000000000000000000000093
+:104D20000000000000000000000000000000000083
+:104D30000000000000000000000000000000000073
+:104D40000000000000000002020201010002020156
+:104D5000010101010101010000000000000000004C
+:104D60000000000000000000000000000000000043
+:104D70000000000000000000000000000000000033
+:104D80000000000000000000000000000000000023
+:104D90000000000000000002000000000000000011
+:104DA00000000000000002020202020202020202EF
+:104DB00002020201010101000000000000000000E9
+:104DC00000000000000000000000000000000000E3
+:104DD00000000000000000000000000000000000D3
+:104DE00000000000000000000000000000000000C3
+:104DF00000000000000000020201010002020202A5
+:104E0000010101010101010000000000000000009B
+:104E10000000000000000000000000000000000092
+:104E20000000000000000000000000000000000082
+:104E30000000000000000000000000000000000072
+:104E40000000000000000002020202010002020253
+:104E50000202010101010100000000000000000049
+:104E60000000000000000000000000000000000042
+:104E70000000000000000000000000000000000032
+:104E80000000000000000000000000000000000022
+:104E90000000000000000002000000000000000010
+:104EA00000020000000002020202020202020202EC
+:104EB00002020202020101000000000000000000E6
+:104EC00000000000000000000000000000000000E2
+:104ED00000000000000000000000000000000000D2
+:104EE00000000000000000000000000000000000C2
+:104EF00000000000000000020201010002020202A4
+:104F0000010101010101010000000000000000009A
+:104F10000000000000000000000000000000000091
+:104F20000000000000000000000000000000000081
+:104F30000000000000000000000000000000000071
+:104F40000000000000000002020202020002020251
+:104F50000202020201010100000000000000000046
+:104F60000000000000000000000000000000000041
+:104F70000000000000000000000000000000000031
+:104F80000000000000000000000000000000000021
+:104F9000000000000000000202000000000000000D
+:104FA00000020000000002020202020202020202EB
+:104FB00002020202020101000000000000000000E5
+:104FC00000000000000000000000000000000000E1
+:104FD00000000000000000000000000000000000D1
+:104FE00000000000000000000000000000000000C1
+:104FF00000000000000000020202010102020202A1
+:105000000202010101020200000000000000000095
+:105010000000000000000000000000000000000090
+:105020000000000000000000000000000000000080
+:105030000000000000000000000000000000000070
+:105040000000000000000002020202020002020250
+:105050000202020201020200000000000000000043
+:105060000000000000000000000000000000000040
+:105070000000000000000000000000000000000030
+:105080000000000000000000000000000000000020
+:10509000000000000000000202020000000000000A
+:1050A00000020000000202020202020202010202E9
+:1050B00002020202020101000000000000000000E4
+:1050C00000000000000000000000000000000000E0
+:1050D00000000000000000000000000000000000D0
+:1050E00000000000000000000000000000000000C0
+:1050F00000000000000000020202010102020202A0
+:105100000202020101020200000000000000000093
+:10511000000000000000000000000000000000008F
+:10512000000000000000000000000000000000007F
+:10513000000000000000000000000000000000006F
+:10514000000000000000000202020202010202024E
+:105150000202020202020200000000000000000041
+:10516000000000000000000000000000000000003F
+:10517000000000000000000000000000000000002F
+:10518000000000000000000000000000000000001F
+:105190000000000000000002020200000202020003
+:1051A00000020000000202010202020202010202E9
+:1051B00002020202020201000000000000000000E2
+:1051C00000000000000000000000000000000000DF
+:1051D00000000000000000000000000000000000CF
+:1051E00000000000000000000000000000000000BF
+:1051F000000000000000000202020201020202029E
+:105200000202020202020200000000000000000090
+:10521000000000000000000000000000000000008E
+:10522000000000000000000000000000000000007E
+:10523000000000000000000000000000000000006E
+:10524000000000000000000202020202020202024C
+:105250000202020202020200000000000000000040
+:10526000000000000000000000000000000000003E
+:10527000000000000000000000000000000000002E
+:10528000000000000000000000000000000000001E
+:105290000000000000000002020200020202020000
+:1052A00002020200000202010201020201010202E6
+:1052B00002020202020201000000000000000000E1
+:1052C00000000000000000000000000000000000DE
+:1052D00000000000000000000000000000000000CE
+:1052E00000000000000000000000000000000000BE
+:1052F000000000000000000202020202020202029C
+:10530000020202020202020000000000000000008F
+:10531000000000000000000000000000000000008D
+:10532000000000000000000000000000000000007D
+:10533000000000000000000000000000000000006D
+:10534000000000000000000202020202020202024B
+:10535000020202020202020000000000000000003F
+:10536000000000000000000000000000000000003D
+:10537000000000000000000000000000000000002D
+:10538000000000000000000000000000000000001D
+:1053900000000000000000020202020202020202FB
+:1053A00002020202020200010201020201010102E4
+:1053B00002020102020200000000000000000000E2
+:1053C00000000000000000000000000000000000DD
+:1053D00000000000000000000000000000000000CD
+:1053E00000000000000000000000000000000000BD
+:1053F000000000000000000202020202020202029B
+:10540000020202020202020000000000000000008E
+:10541000000000000000000000000000000000008C
+:10542000000000000000000000000000000000007C
+:10543000000000000000000000000000000000006C
+:10544000000000000000000202020202020202024A
+:10545000020202020202020000000000000000003E
+:10546000000000000000000000000000000000003C
+:10547000000000000000000000000000000000002C
+:10548000000000000000000000000000000000001C
+:1054900000000000000000000202020202020202FC
+:1054A00002020202020200010101020201010102E4
+:1054B00002010102020200000000000000000000E2
+:1054C00000000000000000000000000000000000DC
+:1054D00000000000000000000000000000000000CC
+:1054E00000000000000000000000000000000000BC
+:1054F000000000000000000202020202020202029A
+:10550000020202020202020000000000000000008D
+:10551000000000000000000000000000000000008B
+:10552000000000000000000000000000000000007B
+:10553000000000000000000000000000000000006B
+:105540000000000000000002020202020202020249
+:10555000020202020202020000000000000000003D
+:10556000000000000000000000000000000000003B
+:10557000000000000000000000000000000000002B
+:10558000000000000000000000000000000000001B
+:1055900000000000000000000202020202020202FB
+:1055A00002020202020200010101020201010102E3
+:1055B00002010102010200000000000000000000E2
+:1055C00000000000000000000000000000000000DB
+:1055D00000000000000000000000000000000000CB
+:1055E00000000000000000000000000000000000BB
+:1055F0000000000000000002020202020202020299
+:10560000020202020202020000000000000000008C
+:10561000000000000000000000000000000000008A
+:10562000000000000000000000000000000000007A
+:10563000000000000000000000000000000000006A
+:105640000000000000000002020202020202020248
+:10565000020202020202020000000000000000003C
+:10566000000000000000000000000000000000003A
+:10567000000000000000000000000000000000002A
+:10568000000000000000000000000000000000001A
+:1056900000000000000000000202020202020202FA
+:1056A00002000202020200010101010101010101E7
+:1056B00001010101010200000000000000000000E3
+:1056C00000000000000000000000000000000000DA
+:1056D00000000000000000000000000000000000CA
+:1056E00000000000000000000000000000000000BA
+:1056F0000000000000000002020202020202020298
+:10570000020202020202020000000000000000008B
+:105710000000000000000000000000000000000089
+:105720000000000000000000000000000000000079
+:105730000000000000000000000000000000000069
+:105740000000000000000002020202020202020247
+:10575000020202020202020000000000000000003B
+:105760000000000000000000000000000000000039
+:105770000000000000000000000000000000000029
+:105780000000000000000000000000000000000019
+:1057900000000000000000000202020202020202F9
+:1057A00002000202020200010101010101010101E6
+:1057B00001010101010200000000000000000000E2
+:1057C00000000000000000000000000000000000D9
+:1057D00000000000000000000000000000000000C9
+:1057E00000000000000000000000000000000000B9
+:1057F0000000000000000002020202020202020297
+:10580000020202020202020000000000000000008A
+:105810000000000000000000000000000000000088
+:105820000000000000000000000000000000000078
+:105830000000000000000000000000000000000068
+:105840000000000000000001020202020202020247
+:10585000020202020202020000000000000000003A
+:105860000000000000000000000000000000000038
+:105870000000000000000000000000000000000028
+:105880000000000000000000000000000000000018
+:1058900000000000000000000202020202020202F8
+:1058A00002000202020000010101010101010101E7
+:1058B00001010101010100000000000000000000E2
+:1058C00000000000000000000000000000000000D8
+:1058D00000000000000000000000000000000000C8
+:1058E00000000000000000000000000000000000B8
+:1058F0000000000000000002020202020202020296
+:105900000202020202020200000000000000000089
+:105910000000000000000000000000000000000087
+:105920000000000000000000000000000000000077
+:105930000000000000000000000000000000000067
+:10594000000000000000000101010101010202024B
+:105950000202020202020200000000000000000039
+:105960000000000000000000000000000000000037
+:105970000000000000000000000000000000000027
+:105980000000000000000000000000000000000017
+:1059900000000000000000000202020202020202F7
+:1059A00002000202020000010101010101010101E6
+:1059B00001010101010100000000000000000000E1
+:1059C00000000000000000000000000000000000D7
+:1059D00000000000000000000000000000000000C7
+:1059E00000000000000000000000000000000000B7
+:1059F0000000000000000002020202020101010199
+:105A0000010101010101010000000000000000008F
+:105A10000000000000000000000000000000000086
+:105A20000000000000000000000000000000000076
+:105A30000000000000000000000000000000000066
+:105A4000000000000000000202020202020000004A
+:105A50000000000000000000000000000000000046
+:105A60000000000000000000000000000000000036
+:105A70000000000000000000000000000000000026
+:105A80000000000000000000000000000000000016
+:105A900000000000000000000202020202020002F8
+:105AA00002000002020000000101010101010101E8
+:105AB00001010101010100000000000000000000E0
+:105AC00000000000000000000000000000000000D6
+:105AD00000000000000000000000000000000000C6
+:105AE00000000000000000000000000000000000B6
+:105AF000000000000000000101010101010101019D
+:105B0000010101010101010000000000000000008E
+:105B10000000000000000000000000000000000085
+:105B20000000000000000000000000000000000075
+:105B30000000000000000000000000000000000065
+:105B40000000000000000002000000000001010150
+:105B5000010101010101010000000000000000003E
+:105B60000000000000000000000000000000000035
+:105B70000000000000000000000000000000000025
+:105B80000000000000000000000000000000000015
+:105B900000000000000000000202020202000002F9
+:105BA00000000000000000000100010101000101EF
+:105BB00001010101010100000000000000000000DF
+:105BC00000000000000000000000000000000000D5
+:105BD00000000000000000000000000000000000C5
+:105BE00000000000000000000000000000000000B5
+:105BF000000000000000000101010101010101019C
+:105C0000010101010101010000000000000000008D
+:105C10000000000000000000000000000000000084
+:105C20000000000000000000000000000000000074
+:105C30000000000000000000000000000000000064
+:105C4000000000000000000101010101010101014B
+:105C5000010101010101010000000000000000003D
+:105C60000000000000000000000000000000000034
+:105C70000000000000000000000000000000000024
+:105C80000000000000000000000000000000000014
+:105C900000000000000000000202020200000002FA
+:105CA00000000000000000000100010100000101EF
+:105CB00001010101010100000000000000000000DE
+:105CC00000000000000000000000000000000000D4
+:105CD00000000000000000000000000000000000C4
+:105CE00000000000000000000000000000000000B4
+:105CF000000000000000000101010101010101019B
+:105D0000010101010101010000000000000000008C
+:105D10000000000000000000000000000000000083
+:105D20000000000000000000000000000000000073
+:105D30000000000000000000000000000000000063
+:105D4000000000000000000101010101010101014A
+:105D5000010101010101010000000000000000003C
+:105D60000000000000000000000000000000000033
+:105D70000000000000000000000000000000000023
+:105D80000000000000000000000000000000000013
+:105D900000000000000000000000020200000000FF
+:105DA00000000000000000000000010100000101EF
+:105DB00001010101010100000000000000000000DD
+:105DC00000000000000000000000000000000000D3
+:105DD00000000000000000000000000000000000C3
+:105DE00000000000000000000000000000000000B3
+:105DF000000000000000000101010101010101019A
+:105E0000010101010101010000000000000000008B
+:105E10000000000000000000000000000000000082
+:105E20000000000000000000000000000000000072
+:105E30000000000000000000000000000000000062
+:105E40000000000000000001010101010101010149
+:105E5000010101010101010000000000000000003B
+:105E60000000000000000000000000000000000032
+:105E70000000000000000000000000000000000022
+:105E80000000000000000000000000000000000012
+:105E90000000000000000000000002000000000000
+:105EA00000000000000000000000010100000001EF
+:105EB00001000001010100000000000000000000DE
+:105EC00000000000000000000000000000000000D2
+:105ED00000000000000000000000000000000000C2
+:105EE00000000000000000000000000000000000B2
+:105EF0000000000000000001010101010101010199
+:105F0000010101010101010000000000000000008A
+:105F10000000000000000000000000000000000081
+:105F20000000000000000000000000000000000071
+:105F30000000000000000000000000000000000061
+:105F40000000000000000001010101010101010148
+:105F5000010101010101010000000000000000003A
+:105F60000000000000000000000000000000000031
+:105F70000000000000000000000000000000000021
+:105F80000000000000000000000000000000000011
+:105F900000000000000000000000020000000000FF
+:105FA00000000000000000000000010100000001EE
+:105FB00001000001000100000000000000000000DE
+:105FC00000000000000000000000000000000000D1
+:105FD00000000000000000000000000000000000C1
+:105FE00000000000000000000000000000000000B1
+:105FF0000000000000000001010101010101010198
+:106000000101010101010100000000000000000089
+:106010000000000000000000000000000000000080
+:106020000000000000000000000000000000000070
+:106030000000000000000000000000000000000060
+:10604000000000000000000202020202020202023E
+:106050000202020202020200000000000000000032
+:106060000000000000000000000000000000000030
+:106070000000000000000000000000000000000020
+:106080000000000000000000000000000000000010
+:106090000000000000000000000000000000000000
+:1060A00000000000000000000000000000000001EF
+:1060B00001000001000100000000000000000000DD
+:1060C00000000000000000000000000000000000D0
+:1060D00000000000000000000000000000000000C0
+:1060E00000000000000000000000000000000000B0
+:1060F000000000000000000202020202020202028E
+:106100000202020202020200000000000000000081
+:10611000000000000000000000000000000000007F
+:10612000000000000000000000000000000000006F
+:10613000000000000000000000000000000000005F
+:10614000000000000000000202020202020202023D
+:106150000202020202020200000000000000000031
+:10616000000000000000000000000000000000002F
+:10617000000000000000000000000000000000001F
+:10618000000000000000000000000000000000000F
+:1061900000000000000000000000000000000000FF
+:1061A00000000000000000000000000000000000EF
+:1061B00000000000000000000000000000000000DF
+:1061C00000000000000000000000000000000000CF
+:1061D00000000000000000000000000000000000BF
+:1061E00000000000000000000000000000000000AF
+:1061F000000000000000000000000000000000009F
+:10620000000000000000000000000000000000008E
+:10621000000000000000000000000000000000007E
+:10622000000000000000000000000000000000006E
+:10623000000000000000000000000000000000005E
+:10624000000000000000000000000000000000004E
+:10625000000000000000000000000000000000003E
+:10626000000000000000000000000000000000002E
+:10627000000000000000000000000000000000001E
+:10628000000000000000000000000000000000000E
+:1062900000000000000000000000000000000000FE
+:1062A000000000000000001E0000000000000001CF
+:1062B00001010101010101010101010101010100CF
+:1062C00000000000000000000000000000000000CE
+:1062D00000000000000000000000000000000000BE
+:1062E00000000000000000000000000000000000AE
+:1062F000000000000000000000000000000000009E
+:106300000001010001000000000000000000010089
+:10631000000000000000000000000000000000007D
+:10632000000000000000000000000000000000006D
+:10633000000000000000000000000000000000005D
+:10634000000000000000000000000000000000004D
+:10635000000000000000000000000000000000003D
+:10636000000000000000000000000000000000002D
+:10637000000000000000000000000000000000001D
+:10638000000000000000000000000000000000000D
+:1063900000000000000000000000000000000002FB
+:1063A00001010101010101010101010101010101DD
+:1063B00001010101010101010101010101010100CE
+:1063C00000000000000000000000000000000000CD
+:1063D00000000000000000000000000000000000BD
+:1063E00000000000000000000000000000000000AD
+:1063F000000000000000000000000000000000009D
+:106400000001010101010000000002000101010082
+:10641000000000000000000000000000000000007C
+:10642000000000000000000000000000000000006C
+:10643000000000000000000000000000000000005C
+:10644000000000000000000000000000000000004C
+:10645000000000000000000000000000000000003C
+:10646000000000000000000000000000000000002C
+:10647000000000000000000000000000000000001C
+:10648000000000000000000000000000000000000C
+:1064900000000000000000000000000000000002FA
+:1064A00001010101010101010101010101010102DB
+:1064B00001010101010101010101010101010100CD
+:1064C00000000000000000000000000000000000CC
+:1064D00000000000000000000000000000000000BC
+:1064E00000000000000000000000000000000000AC
+:1064F000000000000000000000000000000000009C
+:106500000001010101010000000002000101010081
+:10651000000000000000000000000000000000007B
+:10652000000000000000000000000000000000006B
+:10653000000000000000000000000000000000005B
+:10654000000000000000000000000000000000004B
+:106550000101000100000000000000000000000038
+:10656000000000000000000000000000000000002B
+:10657000000000000000000000000000000000001B
+:10658000000000000000000000000000000000000B
+:1065900000000000000000000000000000000002F9
+:1065A00001010101010101010101010101010102DA
+:1065B00001010101010101010101010101010100CC
+:1065C00000000000000000000000000000000000CB
+:1065D00000000000000000000000000000000000BB
+:1065E00000000000000000000000000000000000AB
+:1065F000000000000000000000000000000000009B
+:106600000001010101010000000001000101010081
+:10661000000000000000000000000000000000007A
+:10662000000000000000000000000000000000006A
+:10663000000000000000000000000000000000005A
+:10664000000000000000000000000000000000004A
+:106650000101000100000000000000000000000037
+:10666000000000000000000000000000000000002A
+:10667000000000000000000000000000000000001A
+:10668000000000000000000000000000000000000A
+:1066900000000000000000000000000000000002F8
+:1066A00000010101010101010101010101010102DA
+:1066B00002020101010101010101010101010100C9
+:1066C00000000000000000000000000000000000CA
+:1066D00000000000000000000000000000000000BA
+:1066E00000000000000000000000000000000000AA
+:1066F0000000000000000000000000000000000199
+:106700000001010101010000000001000101010080
+:106710000000000000000000000000000000000079
+:106720000000000000000000000000000000000069
+:106730000000000000000000000000000000000059
+:106740000000000000000000000000000000000049
+:106750000101010101000000000000000000010033
+:106760000000000000000000000000000000000029
+:106770000000000000000000000000000000000019
+:106780000000000000000000000000000000000009
+:1067900000000000000000000000000000000002F7
+:1067A00000010101010101010101010101010102D9
+:1067B00002020201010101010101010101010100C7
+:1067C00000000000000000000000000000000000C9
+:1067D00000000000000000000000000000000000B9
+:1067E00000000000000000000000000000000000A9
+:1067F0000000000000000000000000000000000198
+:10680000000101010101000000000100010101007F
+:106810000000000000000000000000000000000078
+:106820000000000000000000000000000000000068
+:106830000000000000000000000000000000000058
+:106840000000000000000000000000000000000048
+:10685000010101010101000000000000010101002F
+:106860000000000000000000000000000000000028
+:106870000000000000000000000000000000000018
+:106880000000000000000000000000000000000008
+:1068900000000000000000000000000000000002F6
+:1068A00000000001000000010000000001010102E1
+:1068B00002020201010102010101010101010100C5
+:1068C00000000000000000000000000000000000C8
+:1068D00000000000000000000000000000000000B8
+:1068E00000000000000000000000000000000000A8
+:1068F0000000000000000000000000000000000296
+:10690000000101010101000000000100010101007E
+:106910000000000000000000000000000000000077
+:106920000000000000000000000000000000000067
+:106930000000000000000000000000000000000057
+:106940000000000000000000000000000000000047
+:10695000010101010101000000000000010101002E
+:106960000000000000000000000000000000000027
+:106970000000000000000000000000000000000017
+:106980000000000000000000000000000000000007
+:1069900000000000000000000000000000000002F5
+:1069A00000000000000000000000000001010102E2
+:1069B00002020202020102020201010101010100C0
+:1069C00000000000000000000000000000000000C7
+:1069D00000000000000000000000000000000000B7
+:1069E00000000000000000000000000000000000A7
+:1069F0000000000000000000000000000000000295
+:106A0000010201010101000000000100010101007B
+:106A10000000000000000000000000000000000076
+:106A20000000000000000000000000000000000066
+:106A30000000000000000000000000000000000056
+:106A40000000000000000000000000000000000046
+:106A5000010101010101000000010000010101002C
+:106A60000000000000000000000000000000000026
+:106A70000000000000000000000000000000000016
+:106A80000000000000000000000000000000000006
+:106A900000000000000000000000000000000002F4
+:106AA00000000000000000000000000001000102E2
+:106AB00002020202020202020201020101010100BD
+:106AC00000000000000000000000000000000000C6
+:106AD00000000000000000000000000000000000B6
+:106AE00000000000000000000000000000000000A6
+:106AF0000000000000000000000000000000000294
+:106B00000102020102010000000001000101010078
+:106B10000000000000000000000000000000000075
+:106B20000000000000000000000000000000000065
+:106B30000000000000000000000000000000000055
+:106B40000000000000000000000000000000000144
+:106B50000201010101010000000100010101010029
+:106B60000000000000000000000000000000000025
+:106B70000000000000000000000000000000000015
+:106B80000000000000000000000000000000000005
+:106B900000000000000000000000000000000002F3
+:106BA00000000000000000000000000000000102E2
+:106BB00002020202020202020202020201010100BA
+:106BC00000000000000000000000000000000000C5
+:106BD00000000000000000000000000000000000B5
+:106BE00000000000000000000000000000000000A5
+:106BF0000000000000000000000000000000000293
+:106C00000202020202020000000001000101010074
+:106C10000000000000000000000000000000000074
+:106C20000000000000000000000000000000000064
+:106C30000000000000000000000000000000000054
+:106C40000000000000000000000000000000000242
+:106C50000202010101010100000100010101010026
+:106C60000000000000000000000000000000000024
+:106C70000000000000000000000000000000000014
+:106C80000000000000000000000000000000000004
+:106C900000000000000000000000000000000002F2
+:106CA00002000200020202000202020000000002D2
+:106CB00002010102020202020202020201010100BB
+:106CC00000000000000000000000000000000000C4
+:106CD00000000000000000000000000000000000B4
+:106CE00000000000000000000000000000000000A4
+:106CF0000000000000000000000000000000000292
+:106D0000020202020202000002000102010101006F
+:106D10000000000000000000000000000000000073
+:106D20000000000000000000000000000000000063
+:106D30000000000000000000000000000000000053
+:106D40000000000000000000000000000000000241
+:106D50000202010201010101010100010101010022
+:106D60000000000000000000000000000000000023
+:106D70000000000000000000000000000000000013
+:106D80000000000000000000000000000000000003
+:106D900000000000000000000000000000000002F1
+:106DA00002000202020202020202020000000002CD
+:106DB00002010102020202020202020201010100BA
+:106DC00000000000000000000000000000000000C3
+:106DD00000000000000000000000000000000000B3
+:106DE00000000000000000000000000000000000A3
+:106DF0000000000000000000000000000000000291
+:106E0000020202020202000101020101020202006A
+:106E10000000000000000000000000000000000072
+:106E20000000000000000000000000000000000062
+:106E30000000000000000000000000000000000052
+:106E40000000000000000000000000000000000240
+:106E5000020202020201010101010101010101001E
+:106E60000000000000000000000000000000000022
+:106E70000000000000000000000000000000000012
+:106E80000000000000000000000000000000000002
+:106E900000000000000000000000000000000002F0
+:106EA00002020202020202020202020200000202C6
+:106EB00001010102020201020202020202020100B9
+:106EC00000000000000000000000000000000000C2
+:106ED00000000000000000000000000000000000B2
+:106EE00000000000000000000000000000000000A2
+:106EF0000000000000000000000000000000000290
+:106F00000202020202020001010102010202020069
+:106F10000000000000000000000000000000000071
+:106F20000000000000000000000000000000000061
+:106F30000000000000000000000000000000000051
+:106F4000000000000000000000000000000000023F
+:106F5000020202020202010101010101010101001C
+:106F60000000000000000000000000000000000021
+:106F70000000000000000000000000000000000011
+:106F80000000000000000000000000000000000001
+:106F900000000000000000000000000000000002EF
+:106FA00002020202020202020202020200000201C6
+:106FB00001010101020201010202020202020100BA
+:106FC00000000000000000000000000000000000C1
+:106FD00000000000000000000000000000000000B1
+:106FE00000000000000000000000000000000000A1
+:106FF000000000000000000000000000000000028F
+:107000000202020202020101010102010202020067
+:107010000000000000000000000000000000000070
+:107020000000000000000000000000000000000060
+:107030000000000000000000000000000000000050
+:10704000000000000000000000000000000000023E
+:10705000020202020202010101010101010101001B
+:107060000000000000000000000000000000000020
+:107070000000000000000000000000000000000010
+:107080000000000000000000000000000000000000
+:1070900000000000000000000000000000000002EE
+:1070A00002020202020202020202020200020201C3
+:1070B00001010101010201010102010202020100BC
+:1070C00000000000000000000000000000000000C0
+:1070D00000000000000000000000000000000000B0
+:1070E00000000000000000000000000000000000A0
+:1070F000000000000000000000000000000000028E
+:107100000202020202020102010102010202020065
+:10711000000000000000000000000000000000006F
+:10712000000000000000000000000000000000005F
+:10713000000000000000000000000000000000004F
+:10714000000000000000000000000000000000023D
+:107150000202020202020201010201010202020015
+:10716000000000000000000000000000000000001F
+:10717000000000000000000000000000000000000F
+:1071800000000000000000000000000000000000FF
+:1071900000000000000000000000000000000002ED
+:1071A00002020202020202020202020202020201C0
+:1071B00001010101010201010102010102020000BD
+:1071C00000000000000000000000000000000000BF
+:1071D00000000000000000000000000000000000AF
+:1071E000000000000000000000000000000000009F
+:1071F000000000000000000000000000000000028D
+:107200000202020202020202020102010202020062
+:10721000000000000000000000000000000000006E
+:10722000000000000000000000000000000000005E
+:10723000000000000000000000000000000000004E
+:10724000000000000000000000000000000000023C
+:107250000202020202020202020201020202020011
+:10726000000000000000000000000000000000001E
+:10727000000000000000000000000000000000000E
+:1072800000000000000000000000000000000000FE
+:1072900000000000000000000000000000000000EE
+:1072A00002020202020202020202020202020201BF
+:1072B00001010101010101010101010102020000BE
+:1072C00000000000000000000000000000000000BE
+:1072D00000000000000000000000000000000000AE
+:1072E000000000000000000000000000000000009E
+:1072F000000000000000000000000000000000028C
+:10730000020202020202020202020202020202005F
+:10731000000000000000000000000000000000006D
+:10732000000000000000000000000000000000005D
+:10733000000000000000000000000000000000004D
+:10734000000000000000000000000000000000023B
+:10735000020202020202020202020202020202000F
+:10736000000000000000000000000000000000001D
+:10737000000000000000000000000000000000000D
+:1073800000000000000000000000000000000000FD
+:1073900000000000000000000000000000000000ED
+:1073A00002020202020202020202020202020201BE
+:1073B00001010101010101010101010102020000BD
+:1073C00000000000000000000000000000000000BD
+:1073D00000000000000000000000000000000000AD
+:1073E000000000000000000000000000000000009D
+:1073F000000000000000000000000000000000028B
+:10740000020202020202020202020202020202005E
+:10741000000000000000000000000000000000006C
+:10742000000000000000000000000000000000005C
+:10743000000000000000000000000000000000004C
+:10744000000000000000000000000000000000023A
+:10745000020202020202020202020202020202000E
+:10746000000000000000000000000000000000001C
+:10747000000000000000000000000000000000000C
+:1074800000000000000000000000000000000000FC
+:1074900000000000000000000000000000000000EC
+:1074A00002020202020202020200000202020201C1
+:1074B00001000001010101010101010101010000C0
+:1074C00000000000000000000000000000000000BC
+:1074D00000000000000000000000000000000000AC
+:1074E000000000000000000000000000000000009C
+:1074F000000000000000000000000000000000028A
+:10750000020202020202020202020202020202005D
+:10751000000000000000000000000000000000006B
+:10752000000000000000000000000000000000005B
+:10753000000000000000000000000000000000004B
+:107540000000000000000000000000000000000239
+:10755000020202020202020202020202020202000D
+:10756000000000000000000000000000000000001B
+:10757000000000000000000000000000000000000B
+:1075800000000000000000000000000000000000FB
+:1075900000000000000000000000000000000000EB
+:1075A00002020202020202020000000002020201C4
+:1075B00001000001010101010101010101010000BF
+:1075C00000000000000000000000000000000000BB
+:1075D00000000000000000000000000000000000AB
+:1075E000000000000000000000000000000000009B
+:1075F0000000000000000000000000000000000289
+:10760000020202020202020202020202020202005C
+:10761000000000000000000000000000000000006A
+:10762000000000000000000000000000000000005A
+:10763000000000000000000000000000000000004A
+:107640000000000000000000000000000000000238
+:10765000020202020202020202020202020202000C
+:10766000000000000000000000000000000000001A
+:10767000000000000000000000000000000000000A
+:1076800000000000000000000000000000000000FA
+:1076900000000000000000000000000000000000EA
+:1076A00002020202020000020000000002020201C7
+:1076B00000000001010101010101010101010000BF
+:1076C00000000000000000000000000000000000BA
+:1076D00000000000000000000000000000000000AA
+:1076E000000000000000000000000000000000009A
+:1076F0000000000000000000000000000000000288
+:10770000020202020202020002020202020202005D
+:107710000000000000000000000000000000000069
+:107720000000000000000000000000000000000059
+:107730000000000000000000000000000000000049
+:107740000000000000000000000000000000000237
+:10775000020202020202020202020202020202000B
+:107760000000000000000000000000000000000019
+:107770000000000000000000000000000000000009
+:1077800000000000000000000000000000000000F9
+:1077900000000000000000000000000000000000E9
+:1077A00002020202000000000000000002020001CC
+:1077B00000000000010101010101010101010000BF
+:1077C00000000000000000000000000000000000B9
+:1077D00000000000000000000000000000000000A9
+:1077E0000000000000000000000000000000000099
+:1077F0000000000000000000000000000000000287
+:107800000002020200000000000000000000000072
+:107810000000000000000000000000000000000068
+:107820000000000000000000000000000000000058
+:107830000000000000000000000000000000000048
+:107840000000000000000000000000000000000236
+:10785000020202020202020202020202020202000A
+:107860000000000000000000000000000000000018
+:107870000000000000000000000000000000000008
+:1078800000000000000000000000000000000000F8
+:1078900000000000000000000000000000000000E8
+:1078A00002020002000000000000000002000000D0
+:1078B00000000000010100010101010101010000BF
+:1078C00000000000000000000000000000000000B8
+:1078D00000000000000000000000000000000000A8
+:1078E0000000000000000000000000000000000098
+:1078F0000000000000000000000000000000000187
+:107900000101010101010101010101010101010068
+:107910000000000000000000000000000000000067
+:107920000000000000000000000000000000000057
+:107930000000000000000000000000000000000047
+:107940000000000000000000000000000000000235
+:107950000202020202020202020202020202020009
+:107960000000000000000000000000000000000017
+:107970000000000000000000000000000000000007
+:1079800000000000000000000000000000000000F7
+:1079900000000000000000000000000000000000E7
+:1079A00002020000000000000000000002000000D1
+:1079B00000000000000100000101010101010000C0
+:1079C00000000000000000000000000000000000B7
+:1079D00000000000000000000000000000000000A7
+:1079E0000000000000000000000000000000000097
+:1079F0000000000000000000000000000000000186
+:107A00000101010101010101010101010101010067
+:107A10000000000000000000000000000000000066
+:107A20000000000000000000000000000000000056
+:107A30000000000000000000000000000000000046
+:107A40000000000000000000000000000000000234
+:107A50000202020000000000000000000000000020
+:107A60000000000000000000000000000000000016
+:107A70000000000000000000000000000000000006
+:107A800000000000000000000000000000000000F6
+:107A900000000000000000000000000000000000E6
+:107AA00000020000000000000000000000000000D4
+:107AB00000000000000100000101000101010000C0
+:107AC00000000000000000000000000000000000B6
+:107AD00000000000000000000000000000000000A6
+:107AE0000000000000000000000000000000000096
+:107AF0000000000000000000000000000000000185
+:107B00000101010101010101010101010101010066
+:107B10000000000000000000000000000000000065
+:107B20000000000000000000000000000000000055
+:107B30000000000000000000000000000000000045
+:107B40000000000000000000000000000000000035
+:107B50000000000000000000000000000000000025
+:107B60000000000000000000000000000000000015
+:107B70000000000000000000000000000000000005
+:107B800000000000000000000000000000000000F5
+:107B900000000000000000000000000000000000E5
+:107BA00000020000000000000000000000000000D3
+:107BB00000000000000100000001000001010000C1
+:107BC00000000000000000000000000000000000B5
+:107BD00000000000000000000000000000000000A5
+:107BE0000000000000000000000000000000000095
+:107BF0000000000000000000000000000000000184
+:107C00000101010101010101010101010101010065
+:107C10000000000000000000000000000000000064
+:107C20000000000000000000000000000000000054
+:107C30000000000000000000000000000000000044
+:107C40000000000000000000000000000000000133
+:107C50000101010101010101010101010101010015
+:107C60000000000000000000000000000000000014
+:107C70000000000000000000000000000000000004
+:107C800000000000000000000000000000000000F4
+:107C900000000000000000000000000000000000E4
+:107CA00000000000000000000000000000000000D4
+:107CB00000000000000000000000000000000000C4
+:107CC00000000000000000000000000000000000B4
+:107CD00000000000000000000000000000000000A4
+:107CE0000000000000000000000000000000000094
+:107CF0000000000000000000000000000000000183
+:107D00000101010101010101010101010101010064
+:107D10000000000000000000000000000000000063
+:107D20000000000000000000000000000000000053
+:107D30000000000000000000000000000000000043
+:107D40000000000000000000000000000000000132
+:107D50000101010101010101010101010101010014
+:107D60000000000000000000000000000000000013
+:107D70000000000000000000000000000000000003
+:107D800000000000000000000000000000000000F3
+:107D900000000000000000000000000000000000E3
+:107DA00000000000000000000000000000000000D3
+:107DB00000000000000000000000000000000000C3
+:107DC00000000000000000000000000000000000B3
+:107DD00000000000000000000000000000000000A3
+:107DE0000000000000000000000000000000000093
+:107DF0000000000000000000000000000000000182
+:107E00000101010101010101010101010101010063
+:107E10000000000000000000000000000000000062
+:107E20000000000000000000000000000000000052
+:107E30000000000000000000000000000000000042
+:107E40000000000000000000000000000000000131
+:107E50000101010101010101010101010101010013
+:107E60000000000000000000000000000000000012
+:107E70000000000000000000000000000000000002
+:107E800000000000000000000000000000000000F2
+:107E900000000000000000000000000000000000E2
+:107EA00000000000000000000000000000000000D2
+:107EB00000000000000000000000000000000000C2
+:107EC00000000000000000000000000000000000B2
+:107ED00000000000000000000000000000000000A2
+:107EE0000000000000000000000000000000000092
+:107EF0000000000000000000000000000000000280
+:107F00000202020202020202020202020202020053
+:107F10000000000000000000000000000000000061
+:107F20000000000000000000000000000000000051
+:107F30000000000000000000000000000000000041
+:107F4000000000000000000000000000000000022F
+:107F50000202020202020202020202020202020003
+:107F60000000000000000000000000000000000011
+:107F70000000000000000000000000000000000001
+:107F800000000000000000000000000000000000F1
+:107F900000000000000000000000000000000000E1
+:107FA00000000000000000000000000000000000D1
+:107FB00000000000000000000000000000000000C1
+:107FC00000000000000000000000000000000000B1
+:107FD00000000000000000000000000000000000A1
+:107FE0000000000000000000000000000000000091
+:107FF0000000000000000000000000000000000081
+:108000000000000000000000000000000000000070
+:108010000000000000000000000000000000000060
+:108020000000000000000000000000000000000050
+:108030000000000000000000000000000000000040
+:108040000000000000000000000000000000000030
+:108050000000000000000000000000000000000020
+:108060000000000000000000000000000000000010
+:108070000000000000000000000000000000000000
+:1080800000000000000000000000000000000000F0
+:1080900000000000000000000000000000000000E0
+:1080A0000000000000000000000000000000001EB2
+:1080B00000000000000000010101010101010101B7
+:1080C00001010101010101000000000000000000A9
+:1080D00000000000000000000000000000000000A0
+:1080E0000000000000000000000000000000000090
+:1080F0000000000000000000000000000000000080
+:10810000000000000000000001010000000000006D
+:10811000000000000000010000000000000000005E
+:10812000000000000000000000000000000000004F
+:10813000000000000000000000000000000000003F
+:10814000000000000000000000000000000000002F
+:10815000000000000000000000000000000000001F
+:10816000000000000000000000000000000000000F
+:1081700000000000000000000000000000000000FF
+:1081800000000000000000000000000000000000EF
+:1081900000000000000000000000000000000000DF
+:1081A00000000000000000000101010101010101C7
+:1081B00001010101010101010101010101010101AF
+:1081C00001010101010101000000000000000000A8
+:1081D000000000000000000000000000000000009F
+:1081E000000000000000000000000000000000008F
+:1081F000000000000000000000000000000000007F
+:10820000000000000000000001010000000000006C
+:10821000000000000000010000000000000000005D
+:10822000000000000000000000000000000000004E
+:10823000000000000000000000000000000000003E
+:10824000000000000000000000000000000000002E
+:10825000000000000000000000000000000000001E
+:10826000000000000000000000000000000000000E
+:1082700000000000000000000000000000000000FE
+:1082800000000000000000000000000000000000EE
+:1082900000000000000000000000000000000000DE
+:1082A00000000000000000000101010101010101C6
+:1082B00001010101010101020101010101010101AD
+:1082C00001010101010101000000000000000000A7
+:1082D000000000000000000000000000000000009E
+:1082E000000000000000000000000000000000008E
+:1082F000000000000000000000000000000000007E
+:10830000000000000000000001010001000000006A
+:10831000000000000000010000000000000000005C
+:10832000000000000000000000000000000000004D
+:10833000000000000000000000000000000000003D
+:10834000000000000000000000000000000000002D
+:10835000000000000000000000000000000000001D
+:10836000000000000000000000000000000000000D
+:1083700000000000000000000000000000000000FD
+:1083800000000000000000000000000000000000ED
+:1083900000000000000000000000000000000000DD
+:1083A00000000000000000000101010101010101C5
+:1083B00001010101010101020101010101010101AC
+:1083C00001010101010101000000000000000000A6
+:1083D000000000000000000000000000000000009D
+:1083E000000000000000000000000000000000008D
+:1083F000000000000000000000000000000000007D
+:108400000000000000000000010101010100000067
+:10841000000000000000010000000000000000005B
+:10842000000000000000000000000000000000004C
+:10843000000000000000000000000000000000003C
+:10844000000000000000000000000000000000002C
+:10845000000000000000000000000000000000001C
+:108460000000010100010000000000000000000009
+:1084700000000000000000000000000000000000FC
+:1084800000000000000000000000000000000000EC
+:1084900000000000000000000000000000000000DC
+:1084A00000000000000000020101010101010101C2
+:1084B00001010101010101020101010101010101AB
+:1084C00001010101010101000000000000000000A5
+:1084D000000000000000000000000000000000009C
+:1084E000000000000000000000000000000000008C
+:1084F000000000000000000000000000000000007C
+:108500000000000000000000010101010100000066
+:10851000000000000000010000000000000000005A
+:10852000000000000000000000000000000000004B
+:10853000000000000000000000000000000000003B
+:10854000000000000000000000000000000000002B
+:108550000000000000000000010100000000000019
+:108560000000010100010100000000000000000007
+:1085700000000000000000000000000000000000FB
+:1085800000000000000000000000000000000000EB
+:1085900000000000000000000000000000000000DB
+:1085A00000000000000000020101010101010101C1
+:1085B00001010101010101020101010101010101AA
+:1085C00001010101010101000000000000000000A4
+:1085D000000000000000000000000000000000009B
+:1085E000000000000000000000000000000000008B
+:1085F000000000000000000000000000000000007B
+:108600000000000000000000010101010100000065
+:108610000000000000000100000000000000000059
+:10862000000000000000000000000000000000004A
+:10863000000000000000000000000000000000003A
+:10864000000000000000000000000000000000002A
+:108650000000000000000000010100000100000017
+:108660000100010101010100000000000000000004
+:1086700000000000000000000000000000000000FA
+:1086800000000000000000000000000000000000EA
+:1086900000000000000000000000000000000000DA
+:1086A00000000000000000020101010101010101C0
+:1086B00001010101010101020201010101010101A8
+:1086C00001010101010101000000000000000000A3
+:1086D000000000000000000000000000000000009A
+:1086E000000000000000000000000000000000008A
+:1086F000000000000000000000000000000000007A
+:108700000000000000000002020101010100010060
+:108710000000000000000100000000000000000058
+:108720000000000000000000000000000000000049
+:108730000000000000000000000000000000000039
+:108740000000000000000000000000000000000029
+:108750000000000000000000010100010100010014
+:108760000100010101010100000000000000000003
+:1087700000000000000000000000000000000000F9
+:1087800000000000000000000000000000000000E9
+:1087900000000000000000000000000000000000D9
+:1087A00000000000000000020001010101010101C0
+:1087B00001010101010101020201010101010101A7
+:1087C00001010101010101000000000000000000A2
+:1087D0000000000000000000000000000000000099
+:1087E0000000000000000000000000000000000089
+:1087F0000000000000000000000000000000000079
+:10880000000000000000000202020101010001005E
+:108810000100000001000100000000000000000055
+:108820000000000000000000000000000000000048
+:108830000000000000000000000000000000000038
+:108840000000000000000000000000000000000028
+:108850000000000000000000010101010100010012
+:108860000100010101010100000000000000000002
+:1088700000000000000000000000000000000000F8
+:1088800000000000000000000000000000000000E8
+:1088900000000000000000000000000000000000D8
+:1088A00000000000000000020000010101010101C0
+:1088B00001000101010101020202020101020102A3
+:1088C00002010101010101000000000000000000A0
+:1088D0000000000000000000000000000000000098
+:1088E0000000000000000000000000000000000088
+:1088F0000000000000000000000000000000000078
+:10890000000000000000000202020101010001005D
+:108910000100000001000100000000000000000054
+:108920000000000000000000000000000000000047
+:108930000000000000000000000000000000000037
+:108940000000000000000000000000000000000027
+:108950000000000000000000010101010100010011
+:108960000100010101010100000000000000000001
+:1089700000000000000000000000000000000000F7
+:1089800000000000000000000000000000000000E7
+:1089900000000000000000000000000000000000D7
+:1089A00000000000000000020000010001010101C0
+:1089B00001000101010101020202020201020102A1
+:1089C000020101010101010000000000000000009F
+:1089D0000000000000000000000000000000000097
+:1089E0000000000000000000000000000000000087
+:1089F0000000000000000000000000000000000077
+:108A0000000000000000000202020202010001005A
+:108A10000100000001010100000000000000000052
+:108A20000000000000000000000000000000000046
+:108A30000000000000000000000000000000000036
+:108A40000000000000000000000000000000000026
+:108A5000000000000000000101010101010101000E
+:108A600001010101010101000000000000000000FF
+:108A700000000000000000000000000000000000F6
+:108A800000000000000000000000000000000000E6
+:108A900000000000000000000000000000000000D6
+:108AA00000000000000000020000000000000000C4
+:108AB000000001010101010202020202020202029F
+:108AC000020101010101010000000000000000009E
+:108AD0000000000000000000000000000000000096
+:108AE0000000000000000000000000000000000086
+:108AF0000000000000000000000000000000000076
+:108B00000000000000000002020202020200010058
+:108B10000100000001010100000000000000000051
+:108B20000000000000000000000000000000000045
+:108B30000000000000000000000000000000000035
+:108B40000000000000000000000000000000000025
+:108B5000000000000000000202010101010101010A
+:108B600001010101010101000000000000000000FE
+:108B700000000000000000000000000000000000F5
+:108B800000000000000000000000000000000000E5
+:108B900000000000000000000000000000000000D5
+:108BA00000000000000000020002000000000000C1
+:108BB000000201010101010202020202020202029C
+:108BC000020201010101010000000000000000009C
+:108BD0000000000000000000000000000000000095
+:108BE0000000000000000000000000000000000085
+:108BF0000000000000000000000000000000000075
+:108C00000000000000000002020202020201010155
+:108C1000010000000101020000000000000000004F
+:108C20000000000000000000000000000000000044
+:108C30000000000000000000000000000000000034
+:108C40000000000000000000000000000000000024
+:108C50000000000000000002020201010101010108
+:108C600001010101010101000000000000000000FD
+:108C700000000000000000000000000000000000F4
+:108C800000000000000000000000000000000000E4
+:108C900000000000000000000000000000000000D4
+:108CA00000000000000000020202000200000000BC
+:108CB000000201010001010202020202020202029C
+:108CC000020202010101010000000000000000009A
+:108CD0000000000000000000000000000000000094
+:108CE0000000000000000000000000000000000084
+:108CF0000000000000000000000000000000000074
+:108D00000000000000000002020202020201020153
+:108D1000010100000101020000000000000000004D
+:108D20000000000000000000000000000000000043
+:108D30000000000000000000000000000000000033
+:108D40000000000000000000000000000000000023
+:108D50000000000000000002020201010101010107
+:108D600001010101010101000000000000000000FC
+:108D700000000000000000000000000000000000F3
+:108D800000000000000000000000000000000000E3
+:108D900000000000000000000000000000000000D3
+:108DA00000000000000000020202020202000200B5
+:108DB000020200000000000202020202020202029D
+:108DC0000202020202010100000000000000000097
+:108DD0000000000000000000000000000000000093
+:108DE0000000000000000000000000000000000083
+:108DF0000000000000000000000000000000000073
+:108E00000000000000000002020202020201020251
+:108E1000020100010101020000000000000000004A
+:108E20000000000000000000000000000000000042
+:108E30000000000000000000000000000000000032
+:108E40000000000000000000000000000000000022
+:108E50000000000000000002020202020201010103
+:108E600001010101010101000000000000000000FB
+:108E700000000000000000000000000000000000F2
+:108E800000000000000000000000000000000000E2
+:108E900000000000000000000000000000000000D2
+:108EA00000000000000000020202020202020202B0
+:108EB000020200000000000102020202020202029D
+:108EC0000102020202020100000000000000000096
+:108ED0000000000000000000000000000000000092
+:108EE0000000000000000000000000000000000082
+:108EF0000000000000000000000000000000000072
+:108F0000000000000000000202020202020202024F
+:108F10000202000102010200000000000000000047
+:108F20000000000000000000000000000000000041
+:108F30000000000000000000000000000000000031
+:108F40000000000000000000000000000000000021
+:108F50000000000000000002020202020201020101
+:108F600002010202010201000000000000000000F6
+:108F700000000000000000000000000000000000F1
+:108F800000000000000000000000000000000000E1
+:108F900000000000000000000000000000000000D1
+:108FA00000000000000000020202020202020202AF
+:108FB000020200000200000102020202020202029A
+:108FC0000102020202020000000000000000000096
+:108FD0000000000000000000000000000000000091
+:108FE0000000000000000000000000000000000081
+:108FF0000000000000000000000000000000000071
+:10900000000000000000000202020202020202024E
+:109010000202010102020200000000000000000044
+:109020000000000000000000000000000000000040
+:109030000000000000000000000000000000000030
+:109040000000000000000000000000000000000020
+:1090500000000000000000020202020202020201FF
+:1090600002010202020202000000000000000000F3
+:1090700000000000000000000000000000000000F0
+:1090800000000000000000000000000000000000E0
+:1090900000000000000000000000000000000000D0
+:1090A00000000000000000020202020202020202AE
+:1090B0000202020202020201020202020202020291
+:1090C0000102020202020000000000000000000095
+:1090D0000000000000000000000000000000000090
+:1090E0000000000000000000000000000000000080
+:1090F0000000000000000000000000000000000070
+:10910000000000000000000202020202020202024D
+:109110000202010102020200000000000000000043
+:10912000000000000000000000000000000000003F
+:10913000000000000000000000000000000000002F
+:10914000000000000000000000000000000000001F
+:1091500000000000000000020202020202020202FD
+:1091600002020202020202000000000000000000F1
+:1091700000000000000000000000000000000000EF
+:1091800000000000000000000000000000000000DF
+:1091900000000000000000000000000000000000CF
+:1091A00000000000000000020202020202020202AD
+:1091B0000202020202020201010202020201020193
+:1091C0000102020202020000000000000000000094
+:1091D000000000000000000000000000000000008F
+:1091E000000000000000000000000000000000007F
+:1091F000000000000000000000000000000000006F
+:10920000000000000000000202020202020202024C
+:109210000202010202020200000000000000000041
+:10922000000000000000000000000000000000003E
+:10923000000000000000000000000000000000002E
+:10924000000000000000000000000000000000001E
+:1092500000000000000000020202020202020202FC
+:1092600002020202020202000000000000000000F0
+:1092700000000000000000000000000000000000EE
+:1092800000000000000000000000000000000000DE
+:1092900000000000000000000000000000000000CE
+:1092A00000000000000000020202020202020202AC
+:1092B0000202020202020201010201020201020193
+:1092C0000102020202020000000000000000000093
+:1092D000000000000000000000000000000000008E
+:1092E000000000000000000000000000000000007E
+:1092F000000000000000000000000000000000006E
+:10930000000000000000000202020202020202024B
+:10931000020202020202020000000000000000003F
+:10932000000000000000000000000000000000003D
+:10933000000000000000000000000000000000002D
+:10934000000000000000000000000000000000001D
+:1093500000000000000000020202020202020202FB
+:1093600002020202020202000000000000000000EF
+:1093700000000000000000000000000000000000ED
+:1093800000000000000000000000000000000000DD
+:1093900000000000000000000000000000000000CD
+:1093A00000000000000000000202020202020202AD
+:1093B0000202020202020201010101010101010196
+:1093C0000101010202020000000000000000000094
+:1093D000000000000000000000000000000000008D
+:1093E000000000000000000000000000000000007D
+:1093F000000000000000000000000000000000006D
+:10940000000000000000000202020202020202004C
+:109410000200020202020200000000000000000040
+:10942000000000000000000000000000000000003C
+:10943000000000000000000000000000000000002C
+:10944000000000000000000000000000000000001C
+:1094500000000000000000020202020202020202FA
+:1094600002020202020202000000000000000000EE
+:1094700000000000000000000000000000000000EC
+:1094800000000000000000000000000000000000DC
+:1094900000000000000000000000000000000000CC
+:1094A00000000000000000000202020202020202AC
+:1094B0000202020202020201010101010101010195
+:1094C0000101010101020000000000000000000095
+:1094D000000000000000000000000000000000008C
+:1094E000000000000000000000000000000000007C
+:1094F000000000000000000000000000000000006C
+:10950000000000000000000102020202020202004C
+:10951000020002020202020000000000000000003F
+:10952000000000000000000000000000000000003B
+:10953000000000000000000000000000000000002B
+:10954000000000000000000000000000000000001B
+:1095500000000000000000020202020202020202F9
+:1095600002020202020202000000000000000000ED
+:1095700000000000000000000000000000000000EB
+:1095800000000000000000000000000000000000DB
+:1095900000000000000000000000000000000000CB
+:1095A00000000000000000000202020202020202AB
+:1095B0000200020202020201010101010101010196
+:1095C0000101010101010000000000000000000095
+:1095D000000000000000000000000000000000008B
+:1095E000000000000000000000000000000000007B
+:1095F000000000000000000000000000000000006B
+:10960000000000000000000202020202020202004A
+:10961000020002020202020000000000000000003E
+:10962000000000000000000000000000000000003A
+:10963000000000000000000000000000000000002A
+:10964000000000000000000000000000000000001A
+:1096500000000000000000020202020202020202F8
+:1096600002020202020202000000000000000000EC
+:1096700000000000000000000000000000000000EA
+:1096800000000000000000000000000000000000DA
+:1096900000000000000000000000000000000000CA
+:1096A00000000000000000000202020202020202AA
+:1096B0000200020202020201010101010101010195
+:1096C0000101010101010000000000000000000094
+:1096D000000000000000000000000000000000008A
+:1096E000000000000000000000000000000000007A
+:1096F000000000000000000000000000000000006A
+:109700000000000000000000010101010101010151
+:109710000101010101010100000000000000000042
+:109720000000000000000000000000000000000039
+:109730000000000000000000000000000000000029
+:109740000000000000000000000000000000000019
+:1097500000000000000000020202020202020202F7
+:1097600002020202020202000000000000000000EB
+:1097700000000000000000000000000000000000E9
+:1097800000000000000000000000000000000000D9
+:1097900000000000000000000000000000000000C9
+:1097A00000000000000000000202020202020202A9
+:1097B0000200020202020201010101010101010194
+:1097C0000101010101010000000000000000000093
+:1097D0000000000000000000000000000000000089
+:1097E0000000000000000000000000000000000079
+:1097F0000000000000000000000000000000000069
+:10980000000000000000000101010101010101014F
+:109810000101010101010100000000000000000041
+:109820000000000000000000000000000000000038
+:109830000000000000000000000000000000000028
+:109840000000000000000000000000000000000018
+:1098500000000000000000020202020202020202F6
+:1098600002020202020202000000000000000000EA
+:1098700000000000000000000000000000000000E8
+:1098800000000000000000000000000000000000D8
+:1098900000000000000000000000000000000000C8
+:1098A00000000000000000000202020202020202A8
+:1098B0000200020202020200010101010101010194
+:1098C0000001010101010000000000000000000093
+:1098D0000000000000000000000000000000000088
+:1098E0000000000000000000000000000000000078
+:1098F0000000000000000000000000000000000068
+:10990000000000000000000101010101010101014E
+:109910000101010101010100000000000000000040
+:109920000000000000000000000000000000000037
+:109930000000000000000000000000000000000027
+:109940000000000000000000000000000000000017
+:1099500000000000000000020202020202020202F5
+:1099600002020202020202000000000000000000E9
+:1099700000000000000000000000000000000000E7
+:1099800000000000000000000000000000000000D7
+:1099900000000000000000000000000000000000C7
+:1099A00000000000000000000202020202020202A7
+:1099B0000000020202020200010101010101010195
+:1099C0000001010101010000000000000000000092
+:1099D0000000000000000000000000000000000087
+:1099E0000000000000000000000000000000000077
+:1099F0000000000000000000000000000000000067
+:109A0000000000000000000101010101010101014D
+:109A1000010101010101010000000000000000003F
+:109A20000000000000000000000000000000000036
+:109A30000000000000000000000000000000000026
+:109A40000000000000000000000000000000000016
+:109A500000000000000000010101010101010101FD
+:109A600001010101010101000000000000000000EF
+:109A700000000000000000000000000000000000E6
+:109A800000000000000000000000000000000000D6
+:109A900000000000000000000000000000000000C6
+:109AA00000000000000000000200020002020002AC
+:109AB0000000020202020200010101010101010194
+:109AC0000001010101010000000000000000000091
+:109AD0000000000000000000000000000000000086
+:109AE0000000000000000000000000000000000076
+:109AF0000000000000000000000000000000000066
+:109B0000000000000000000101010101010101014C
+:109B1000010101010101010000000000000000003E
+:109B20000000000000000000000000000000000035
+:109B30000000000000000000000000000000000025
+:109B40000000000000000000000000000000000015
+:109B500000000000000000010101010101010101FC
+:109B600001010101010101000000000000000000EE
+:109B700000000000000000000000000000000000E5
+:109B800000000000000000000000000000000000D5
+:109B900000000000000000000000000000000000C5
+:109BA00000000000000000000200020000020000AF
+:109BB0000000020200020200000101010101010196
+:109BC0000001010101010000000000000000000090
+:109BD0000000000000000000000000000000000085
+:109BE0000000000000000000000000000000000075
+:109BF0000000000000000000000000000000000065
+:109C0000000000000000000101010101010101014B
+:109C1000010101010101010000000000000000003D
+:109C20000000000000000000000000000000000034
+:109C30000000000000000000000000000000000024
+:109C40000000000000000000000000000000000014
+:109C500000000000000000010101010101010101FB
+:109C600001010101010101000000000000000000ED
+:109C700000000000000000000000000000000000E4
+:109C800000000000000000000000000000000000D4
+:109C900000000000000000000000000000000000C4
+:109CA00000000000000000000000020000000000B2
+:109CB000000002020002000000010001000001019A
+:109CC0000000000000000000000000000000000094
+:109CD0000000000000000000000000000000000084
+:109CE0000000000000000000000000000000000074
+:109CF0000000000000000000000000000000000064
+:109D00000000000000000002020202020202020241
+:109D10000202020202020200000000000000000035
+:109D20000000000000000000000000000000000033
+:109D30000000000000000000000000000000000023
+:109D40000000000000000000000000000000000013
+:109D500000000000000000020202020202020202F1
+:109D600002020202020202000000000000000000E5
+:109D700000000000000000000000000000000000E3
+:109D800000000000000000000000000000000000D3
+:109D900000000000000000000000000000000000C3
+:109DA00000000000000000000000000000000000B3
+:109DB00000000000000000000000000000000000A3
+:109DC0000000000000000000000000000000000093
+:109DD0000000000000000000000000000000000083
+:109DE0000000000000000000000000000000000073
+:109DF0000000000000000000000000000000000063
+:109E00000000000000000000000000000000000052
+:109E10000000000000000000000000000000000042
+:109E20000000000000000000000000000000000032
+:109E30000000000000000000000000000000000022
+:109E40000000000000000000000000000000000012
+:109E50000000000000000000000000000000000002
+:109E600000000000000000000000000000000000F2
+:109E700000000000000000000000000000000000E2
+:109E800000000000000000000000000000000000D2
+:109E900000000000000000000000000000000000C2
+:109EA00000000000000000000000000000000000B2
+:109EB000000000000000001E000000000000000282
+:109EC0000101010101010101010101010101010083
+:109ED0000000000000000000000000000000000082
+:109EE0000000000000000000000000000000000072
+:109EF0000000000000000000000000000000000062
+:109F00000000000000000000000000000000000051
+:109F1000010000000000000000000000000100003F
+:109F20000000000000000000000000000000000031
+:109F30000000000000000000000000000000000021
+:109F40000000000000000000000000000000000011
+:109F50000000000000000000000000000000000001
+:109F600000000000000000000000000000000000F1
+:109F700000000000000000000000000000000000E1
+:109F800000000000000000000000000000000000D1
+:109F900000000000000000000000000000000000C1
+:109FA00000000000000000000000000000000000B1
+:109FB0000101010101010101010101010101010290
+:109FC0000101010101010101010101010101010082
+:109FD0000000000000000000000000000000000081
+:109FE0000000000000000000000000000000000071
+:109FF0000000000000000000000000000000000061
+:10A000000000000000000000000000000000000050
+:10A01000010000000100000000000000000100003D
+:10A020000000000000000000000000000000000030
+:10A030000000000000000000000000000000000020
+:10A040000000000000000000000000000000000010
+:10A050000000000000000000000000000000000000
+:10A0600000000000000000000000000000000000F0
+:10A0700000000000000000000000000000000000E0
+:10A0800000000000000000000000000000000000D0
+:10A0900000000000000000000000000000000000C0
+:10A0A00000000000000000000000000000000000B0
+:10A0B000010101010101010101010101010101028F
+:10A0C0000101010101010101010101010101010081
+:10A0D0000000000000000000000000000000000080
+:10A0E0000000000000000000000000000000000070
+:10A0F0000000000000000000000000000000000060
+:10A10000000000000000000000000000000000004F
+:10A11000010000000100000000000000000101003B
+:10A12000000000000000000000000000000000002F
+:10A13000000000000000000000000000000000001F
+:10A14000000000000000000000000000000000000F
+:10A1500000000000000000000000000000000000FF
+:10A1600000000000000000000000000000000000EF
+:10A1700000000000000000000000000000000000DF
+:10A1800000000000000000000000000000000000CF
+:10A1900000000000000000000000000000000000BF
+:10A1A00000000000000000000000000000000002AD
+:10A1B000010101010101010101010101010101028E
+:10A1C0000101010101010101010101010101010080
+:10A1D000000000000000000000000000000000007F
+:10A1E000000000000000000000000000000000006F
+:10A1F000000000000000000000000000000000005F
+:10A20000000000000000000000000000000000004E
+:10A210000101000001000000000000000001010039
+:10A22000000000000000000000000000000000002E
+:10A23000000000000000000000000000000000001E
+:10A24000000000000000000000000000000000000E
+:10A2500000000000000000000000000000000000FE
+:10A2600000000000000000000000000000000000EE
+:10A2700000000000000000000000000000000000DE
+:10A2800000000000000000000000000000000000CE
+:10A2900000000000000000000000000000000000BE
+:10A2A00000000000000000000000000000000002AC
+:10A2B000010101010101010101010101010101028D
+:10A2C000020101010101010101010101010101007E
+:10A2D000000000000000000000000000000000007E
+:10A2E000000000000000000000000000000000006E
+:10A2F000000000000000000000000000000000005E
+:10A30000000000000000000000000000000000004D
+:10A310000101000001000000000001000001010037
+:10A32000000000000000000000000000000000002D
+:10A33000000000000000000000000000000000001D
+:10A34000000000000000000000000000000000000D
+:10A3500000000000000000000000000000000000FD
+:10A3600000000000000000000000000000000000ED
+:10A3700000000000000000000000000000000000DD
+:10A3800000000000000000000000000000000000CD
+:10A3900000000000000000000000000000000000BD
+:10A3A00000000000000000000000000000000002AB
+:10A3B000010101010101010101010101010101028C
+:10A3C000020101010101010101010101010101007D
+:10A3D000000000000000000000000000000000007D
+:10A3E000000000000000000000000000000000006D
+:10A3F000000000000000000000000000000000005D
+:10A40000000000000000000000000000000000004C
+:10A410000201010001000000000001000001010034
+:10A42000000000000000000000000000000000002C
+:10A43000000000000000000000000000000000001C
+:10A44000000000000000000000000000000000000C
+:10A4500000000000000000000000000000000000FC
+:10A4600000000000000000000000000000000000EC
+:10A4700000000000000000000000000000000000DC
+:10A4800000000000000000000000000000000000CC
+:10A4900000000000000000000000000000000000BC
+:10A4A00000000000000000000000000000000002AA
+:10A4B000010101010101010101010101010101028B
+:10A4C000020101010101010101010101020101007B
+:10A4D000000000000000000000000000000000007C
+:10A4E000000000000000000000000000000000006C
+:10A4F000000000000000000000000000000000005C
+:10A500000000000000000000000000000000000249
+:10A510000201010001000000000001010101010031
+:10A52000000000000000000000000000000000002B
+:10A53000000000000000000000000000000000001B
+:10A54000000000000000000000000000000000000B
+:10A5500000000000000000000000000000000000FB
+:10A5600001000000000000000000000000000000EA
+:10A5700000000000000000000000000000000000DB
+:10A5800000000000000000000000000000000000CB
+:10A5900000000000000000000000000000000000BB
+:10A5A00000000000000000000000000000000002A9
+:10A5B000010101010101010101010101010101028A
+:10A5C0000201010201010101010101020201010078
+:10A5D000000000000000000000000000000000007B
+:10A5E000000000000000000000000000000000006B
+:10A5F000000000000000000000000000000000005B
+:10A600000000000000000000000000000000000248
+:10A61000020101000101000000000101010101002F
+:10A62000000000000000000000000000000000002A
+:10A63000000000000000000000000000000000001A
+:10A64000000000000000000000000000000000000A
+:10A6500000000000000000000000000000000000FA
+:10A6600001010100010000000000000000000000E6
+:10A6700000000000000000000000000000000000DA
+:10A6800000000000000000000000000000000000CA
+:10A6900000000000000000000000000000000000BA
+:10A6A00000000000000000000000000000000002A8
+:10A6B000000101010101010101010101010101028A
+:10A6C0000202020201020102010101020201010073
+:10A6D000000000000000000000000000000000007A
+:10A6E000000000000000000000000000000000006A
+:10A6F000000000000000000000000000000000005A
+:10A700000000000000000000000000000000000247
+:10A71000020201000201000000000101010101002C
+:10A720000000000000000000000000000000000029
+:10A730000000000000000000000000000000000019
+:10A740000000000000000000000000000000000009
+:10A7500000000000000000000000000000000002F7
+:10A7600001010100010000000000000000010000E4
+:10A7700000000000000000000000000000000000D9
+:10A7800000000000000000000000000000000000C9
+:10A7900000000000000000000000000000000000B9
+:10A7A00000000000000000000000000000000002A7
+:10A7B0000001010101010101010101010101010289
+:10A7C0000202020202020202010101020201010070
+:10A7D0000000000000000000000000000000000079
+:10A7E0000000000000000000000000000000000069
+:10A7F0000000000000000000000000000000000059
+:10A800000000000000000000000000000000000246
+:10A810000202020102010000000001010101010029
+:10A820000000000000000000000000000000000028
+:10A830000000000000000000000000000000000018
+:10A840000000000000000000000000000000000008
+:10A8500000000000000000000000000000000002F6
+:10A8600002010101010100000000000000010000E0
+:10A8700000000000000000000000000000000000D8
+:10A8800000000000000000000000000000000000C8
+:10A8900000000000000000000000000000000000B8
+:10A8A00000000000000000000000000000000002A6
+:10A8B0000201010101010101010101010101010286
+:10A8C000020202020202020202010102020101006E
+:10A8D0000000000000000000000000000000000078
+:10A8E0000000000000000000000000000000000068
+:10A8F0000000000000000000000000000000000058
+:10A900000000000000000000000000000000000245
+:10A910000202020102010000000001010101010028
+:10A920000000000000000000000000000000000027
+:10A930000000000000000000000000000000000017
+:10A940000000000000000000000000000000000007
+:10A9500000000000000000000000000000000002F5
+:10A9600002010101010101000000000000010100DD
+:10A9700000000000000000000000000000000000D7
+:10A9800000000000000000000000000000000000C7
+:10A9900000000000000000000000000000000000B7
+:10A9A00000000000000000000000000000000002A5
+:10A9B0000200000001010101010101010101010189
+:10A9C000020202020202020202020102010101006D
+:10A9D0000000000000000000000000000000000077
+:10A9E0000000000000000000000000000000000067
+:10A9F0000000000000000000000000000000000057
+:10AA00000000000000000000000000000000000244
+:10AA10000202020202020000000102010202020020
+:10AA20000000000000000000000000000000000026
+:10AA30000000000000000000000000000000000016
+:10AA40000000000000000000000000000000000006
+:10AA500000000000000000000000000000000002F4
+:10AA600002020201010101000000000000010100DA
+:10AA700000000000000000000000000000000000D6
+:10AA800000000000000000000000000000000000C6
+:10AA900000000000000000000000000000000000B6
+:10AAA00000000000000000000000000000000002A4
+:10AAB0000202020200000000010101010101010186
+:10AAC000020202020202020202020201010101006C
+:10AAD0000000000000000000000000000000000076
+:10AAE0000000000000000000000000000000000066
+:10AAF0000000000000000000000000000000000056
+:10AB00000000000000000000000000000000000243
+:10AB1000020202020202000000010202020202001E
+:10AB20000000000000000000000000000000000025
+:10AB30000000000000000000000000000000000015
+:10AB40000000000000000000000000000000000005
+:10AB500000000000000000000000000000000002F3
+:10AB600002020202020101010000010000010100D5
+:10AB700000000000000000000000000000000000D5
+:10AB800000000000000000000000000000000000C5
+:10AB900000000000000000000000000000000000B5
+:10ABA00000000000000000000000000000000002A3
+:10ABB0000202020202020202000000000001000183
+:10ABC000020202020202020202020201010201006A
+:10ABD0000000000000000000000000000000000075
+:10ABE0000000000000000000000000000000000065
+:10ABF0000000000000000000000000000000000055
+:10AC00000000000000000000000000000000000242
+:10AC1000020202020202000001020202020202001B
+:10AC20000000000000000000000000000000000024
+:10AC30000000000000000000000000000000000014
+:10AC40000000000000000000000000000000000004
+:10AC500000000000000000000000000000000002F2
+:10AC600002020202020201010101010000010100D1
+:10AC700000000000000000000000000000000000D4
+:10AC800000000000000000000000000000000000C4
+:10AC900000000000000000000000000000000000B4
+:10ACA00000000000000000000000000000000002A2
+:10ACB0000202020202020202020202020200020177
+:10ACC000020202020202020202020201010200006A
+:10ACD0000000000000000000000000000000000074
+:10ACE0000000000000000000000000000000000064
+:10ACF0000000000000000000000000000000000054
+:10AD00000000000000000000000000000000000241
+:10AD10000202020202020100020202020202020018
+:10AD20000000000000000000000000000000000023
+:10AD30000000000000000000000000000000000013
+:10AD40000000000000000000000000000000000003
+:10AD500000000000000000000000000000000002F1
+:10AD600002020202020202010101010100010100CE
+:10AD700000000000000000000000000000000000D3
+:10AD800000000000000000000000000000000000C3
+:10AD900000000000000000000000000000000000B3
+:10ADA00000000000000000000000000000000002A1
+:10ADB0000202020202020202020202020202020174
+:10ADC000010202020202020202020201010200006A
+:10ADD0000000000000000000000000000000000073
+:10ADE0000000000000000000000000000000000063
+:10ADF0000000000000000000000000000000000053
+:10AE00000000000000000000000000000000000240
+:10AE10000202020202020200020202020202020016
+:10AE20000000000000000000000000000000000022
+:10AE30000000000000000000000000000000000012
+:10AE40000000000000000000000000000000000002
+:10AE500000000000000000000000000000000002F0
+:10AE600002020202020202020101010100020100CB
+:10AE700000000000000000000000000000000000D2
+:10AE800000000000000000000000000000000000C2
+:10AE900000000000000000000000000000000000B2
+:10AEA00000000000000000000000000000000002A0
+:10AEB0000202020202020202020202020202020173
+:10AEC0000102020202020202020202010102000069
+:10AED0000000000000000000000000000000000072
+:10AEE0000000000000000000000000000000000062
+:10AEF0000000000000000000000000000000000052
+:10AF0000000000000000000000000000000000023F
+:10AF10000202020202020202020202020202020013
+:10AF20000000000000000000000000000000000021
+:10AF30000000000000000000000000000000000011
+:10AF40000000000000000000000000000000000001
+:10AF500000000000000000000000000000000002EF
+:10AF600002020202020202020202020100020200C6
+:10AF700000000000000000000000000000000000D1
+:10AF800000000000000000000000000000000000C1
+:10AF900000000000000000000000000000000000B1
+:10AFA00000000000000000000000000000000000A1
+:10AFB0000202020202020202020202020202020172
+:10AFC0000102020202020201020202010102000069
+:10AFD0000000000000000000000000000000000071
+:10AFE0000000000000000000000000000000000061
+:10AFF0000000000000000000000000000000000051
+:10B00000000000000000000000000000000000023E
+:10B010000202020202020202010102020102020015
+:10B020000000000000000000000000000000000020
+:10B030000000000000000000000000000000000010
+:10B040000000000000000000000000000000000000
+:10B0500000000000000000000000000000000002EE
+:10B0600002020202020202020202020200020200C4
+:10B0700000000000000000000000000000000000D0
+:10B0800000000000000000000000000000000000C0
+:10B0900000000000000000000000000000000000B0
+:10B0A00000000000000000000000000000000000A0
+:10B0B0000202020202020202020202020202020171
+:10B0C000010202010201010102020201010100006C
+:10B0D0000000000000000000000000000000000070
+:10B0E0000000000000000000000000000000000060
+:10B0F0000000000000000000000000000000000050
+:10B10000000000000000000000000000000000023D
+:10B110000202020202020202010102020102020014
+:10B12000000000000000000000000000000000001F
+:10B13000000000000000000000000000000000000F
+:10B1400000000000000000000000000000000000FF
+:10B1500000000000000000000000000000000002ED
+:10B1600002020202020202020202020200020200C3
+:10B1700000000000000000000000000000000000CF
+:10B1800000000000000000000000000000000000BF
+:10B1900000000000000000000000000000000000AF
+:10B1A000000000000000000000000000000000009F
+:10B1B0000202020202020202020202020202020170
+:10B1C000010101010101010101020201010100006F
+:10B1D000000000000000000000000000000000006F
+:10B1E000000000000000000000000000000000005F
+:10B1F000000000000000000000000000000000004F
+:10B20000000000000000000000000000000000013D
+:10B21000010101010101010102020101020201001B
+:10B22000000000000000000000000000000000001E
+:10B23000000000000000000000000000000000000E
+:10B2400000000000000000000000000000000000FE
+:10B2500000000000000000000000000000000002EC
+:10B2600002020202020202020202020200020200C2
+:10B2700000000000000000000000000000000000CE
+:10B2800000000000000000000000000000000000BE
+:10B2900000000000000000000000000000000000AE
+:10B2A000000000000000000000000000000000009E
+:10B2B000020202020202020202020202020202016F
+:10B2C0000101010101010101010101010101000070
+:10B2D000000000000000000000000000000000006E
+:10B2E000000000000000000000000000000000005E
+:10B2F000000000000000000000000000000000004E
+:10B30000000000000000000000000000000000023B
+:10B31000020202020202020202020202020202000F
+:10B32000000000000000000000000000000000001D
+:10B33000000000000000000000000000000000000D
+:10B3400000000000000000000000000000000000FD
+:10B3500000000000000000000000000000000002EB
+:10B3600002020202020202020202020202020200BF
+:10B3700000000000000000000000000000000000CD
+:10B3800000000000000000000000000000000000BD
+:10B3900000000000000000000000000000000000AD
+:10B3A000000000000000000000000000000000009D
+:10B3B000020202020202020202020202020202016E
+:10B3C000010101010101010101010101010100006F
+:10B3D000000000000000000000000000000000006D
+:10B3E000000000000000000000000000000000005D
+:10B3F000000000000000000000000000000000004D
+:10B40000000000000000000000000000000000003C
+:10B41000000000000000000000000000000100002B
+:10B42000000000000000000000000000000000001C
+:10B43000000000000000000000000000000000000C
+:10B4400000000000000000000000000000000000FC
+:10B4500000000000000000000000000000000002EA
+:10B4600002020202020202020202020202020200BE
+:10B4700000000000000000000000000000000000CC
+:10B4800000000000000000000000000000000000BC
+:10B4900000000000000000000000000000000000AC
+:10B4A000000000000000000000000000000000009C
+:10B4B000020202020202020202020202020202006E
+:10B4C0000101010101010101010101000001000070
+:10B4D000000000000000000000000000000000006C
+:10B4E000000000000000000000000000000000005C
+:10B4F000000000000000000000000000000000004C
+:10B50000000000000000000000000000000000003B
+:10B510000000000000000000000000000002000029
+:10B52000000000000000000000000000000000001B
+:10B53000000000000000000000000000000000000B
+:10B5400000000000000000000000000000000000FB
+:10B5500000000000000000000000000000000001EA
+:10B5600001010101010101010101010101010100CC
+:10B5700000000000000000000000000000000000CB
+:10B5800000000000000000000000000000000000BB
+:10B5900000000000000000000000000000000000AB
+:10B5A000000000000000000000000000000000009B
+:10B5B000020202020202020202020202020202006D
+:10B5C000010101010101010101010100000100006F
+:10B5D000000000000000000000000000000000006B
+:10B5E000000000000000000000000000000000005B
+:10B5F000000000000000000000000000000000004B
+:10B600000000000000000000000000000000000139
+:10B61000010101010101010101010101010101001B
+:10B62000000000000000000000000000000000001A
+:10B63000000000000000000000000000000000000A
+:10B6400000000000000000000000000000000000FA
+:10B6500000000000000000000000000000000001E9
+:10B6600001010101010101010101010101010100CB
+:10B6700000000000000000000000000000000000CA
+:10B6800000000000000000000000000000000000BA
+:10B6900000000000000000000000000000000000AA
+:10B6A000000000000000000000000000000000009A
+:10B6B000020202020202020202020202020202006C
+:10B6C000010101010101010101010100000000006F
+:10B6D000000000000000000000000000000000006A
+:10B6E000000000000000000000000000000000005A
+:10B6F000000000000000000000000000000000004A
+:10B700000000000000000000000000000000000138
+:10B71000010101010101010101010101010101001A
+:10B720000000000000000000000000000000000019
+:10B730000000000000000000000000000000000009
+:10B7400000000000000000000000000000000000F9
+:10B7500000000000000000000000000000000001E8
+:10B7600001010101010101010101010101010100CA
+:10B7700000000000000000000000000000000000C9
+:10B7800000000000000000000000000000000000B9
+:10B7900000000000000000000000000000000000A9
+:10B7A0000000000000000000000000000000000099
+:10B7B000020202020202020202020202020202006B
+:10B7C000010101010101010101010100000000006E
+:10B7D0000000000000000000000000000000000069
+:10B7E0000000000000000000000000000000000059
+:10B7F0000000000000000000000000000000000049
+:10B800000000000000000000000000000000000137
+:10B810000101010101010101010101010101010019
+:10B820000000000000000000000000000000000018
+:10B830000000000000000000000000000000000008
+:10B8400000000000000000000000000000000000F8
+:10B8500000000000000000000000000000000001E7
+:10B8600001010101010101010101010101010100C9
+:10B8700000000000000000000000000000000000C8
+:10B8800000000000000000000000000000000000B8
+:10B8900000000000000000000000000000000000A8
+:10B8A0000000000000000000000000000000000098
+:10B8B000020202020202020202020202020200006C
+:10B8C000000101010101010101010100000000006E
+:10B8D0000000000000000000000000000000000068
+:10B8E0000000000000000000000000000000000058
+:10B8F0000000000000000000000000000000000048
+:10B900000000000000000000000000000000000136
+:10B910000101010101010101010101010101010018
+:10B920000000000000000000000000000000000017
+:10B930000000000000000000000000000000000007
+:10B9400000000000000000000000000000000000F7
+:10B9500000000000000000000000000000000001E6
+:10B9600001010101010101010101010101010100C8
+:10B9700000000000000000000000000000000000C7
+:10B9800000000000000000000000000000000000B7
+:10B9900000000000000000000000000000000000A7
+:10B9A0000000000000000000000000000000000097
+:10B9B000000202020202020202020202020200006D
+:10B9C000000101010101010101010100000000006D
+:10B9D0000000000000000000000000000000000067
+:10B9E0000000000000000000000000000000000057
+:10B9F0000000000000000000000000000000000047
+:10BA00000000000000000000000000000000000135
+:10BA10000101010101010101010101010101010017
+:10BA20000000000000000000000000000000000016
+:10BA30000000000000000000000000000000000006
+:10BA400000000000000000000000000000000000F6
+:10BA500000000000000000000000000000000002E4
+:10BA600002020202020202020202020202020200B8
+:10BA700000000000000000000000000000000000C6
+:10BA800000000000000000000000000000000000B6
+:10BA900000000000000000000000000000000000A6
+:10BAA0000000000000000000000000000000000096
+:10BAB0000002020202020000020200000000000078
+:10BAC000000101010101000001010000000000006F
+:10BAD0000000000000000000000000000000000066
+:10BAE0000000000000000000000000000000000056
+:10BAF0000000000000000000000000000000000046
+:10BB00000000000000000000000000000000000233
+:10BB10000202020202020202020202020202020007
+:10BB20000000000000000000000000000000000015
+:10BB30000000000000000000000000000000000005
+:10BB400000000000000000000000000000000000F5
+:10BB500000000000000000000000000000000002E3
+:10BB600002020202020202020202020202020200B7
+:10BB700000000000000000000000000000000000C5
+:10BB800000000000000000000000000000000000B5
+:10BB900000000000000000000000000000000000A5
+:10BBA0000000000000000000000000000000000095
+:10BBB0000000000000000000000000000000000085
+:10BBC0000000000000000000000000000000000075
+:10BBD0000000000000000000000000000000000065
+:10BBE0000000000000000000000000000000000055
+:10BBF0000000000000000000000000000000000045
+:10BC00000000000000000000000000000000000034
+:10BC10000000000000000000000000000000000024
+:10BC20000000000000000000000000000000000014
+:10BC30000000000000000000000000000000000004
+:10BC400000000000000000000000000000000000F4
+:10BC500000000000000000000000000000000000E4
+:10BC600000000000000000000000000000000000D4
+:10BC700000000000000000000000000000000000C4
+:10BC800000000000000000000000000000000000B4
+:10BC900000000000000000000000000000000000A4
+:10BCA0000000000000000000000000000000000094
+:10BCB0000000000000000000000000000000001E66
+:10BCC000000000000000000101010101010101016B
+:10BCD000010101010201010000000000000000005C
+:10BCE0000000000000000000000000000000000054
+:10BCF0000000000000000000000000000000000044
+:10BD00000000000000000000000000000000000033
+:10BD10000000000000000000000000000000000023
+:10BD20000000000000000000000000000000000013
+:10BD30000000000000000000000000000000000003
+:10BD400000000000000000000000000000000000F3
+:10BD500000000000000000000000000000000000E3
+:10BD600000000000000000010000000000000000D2
+:10BD700000000000000001000000000000000000C2
+:10BD800000000000000000000000000000000000B3
+:10BD900000000000000000000000000000000000A3
+:10BDA0000000000000000000000000000000000093
+:10BDB000000000000000000001010101010101017B
+:10BDC0000101010101010102010101010101010162
+:10BDD0000201010202020100000000000000000058
+:10BDE0000000000000000000000000000000000053
+:10BDF0000000000000000000000000000000000043
+:10BE00000000000000000000000000000000000032
+:10BE10000000000000000000000000000000000022
+:10BE20000000000000000000000000000000000012
+:10BE30000000000000000000000000000000000002
+:10BE400000000000000000000000000000000000F2
+:10BE500000000000000000000000000000000000E2
+:10BE600000000000000000010000000000000000D1
+:10BE700000000000000001000000000000000000C1
+:10BE800000000000000000000000000000000000B2
+:10BE900000000000000000000000000000000000A2
+:10BEA0000000000000000000000000000000000092
+:10BEB000000000000000000000010101000101017C
+:10BEC0000101010101010102020101010101010160
+:10BED0000202010201020100000000000000000057
+:10BEE0000000000000000000000000000000000052
+:10BEF0000000000000000000000000000000000042
+:10BF00000000000000000000000000000000000031
+:10BF10000000000000000000000000000000000021
+:10BF20000000000000000000000000000000000011
+:10BF30000000000000000000000000000000000001
+:10BF400000000000000000000000000000000000F1
+:10BF500000000000000000000000000000000000E1
+:10BF600000000000000000010000000000000000D0
+:10BF700000000000010001000000000000000000BF
+:10BF800000000000000000000000000000000000B1
+:10BF900000000000000000000000000000000000A1
+:10BFA0000000000000000000000000000000000091
+:10BFB000000000000000000000010101000101017B
+:10BFC000010101010101010202020101010101015E
+:10BFD0000202020201010100000000000000000056
+:10BFE0000000000000000000000000000000000051
+:10BFF0000000000000000000000000000000000041
+:10C000000000000000000000000000000000000030
+:10C010000000000000000000000000000000000020
+:10C020000000000000000000000000000000000010
+:10C030000000000000000000000000000000000000
+:10C0400000000000000000000000000000000000F0
+:10C0500000000000000000000000000000000000E0
+:10C0600000000000000000010100000000000000CE
+:10C0700000000000010101000000000000000000BD
+:10C0800000000000000000000000000000000000B0
+:10C0900000000000000000000000000000000000A0
+:10C0A0000000000000000000000000000000000090
+:10C0B0000000000000000002000101010201010176
+:10C0C0000101010101010102020202020101020259
+:10C0D0000202020101010100000000000000000056
+:10C0E0000000000000000000000000000000000050
+:10C0F0000000000000000000000000000000000040
+:10C10000000000000000000000000000000000002F
+:10C11000000000000000000000000000000000001F
+:10C12000000000000000000000000000000000000F
+:10C1300000000000000000000000000000000000FF
+:10C1400000000000000000000000000000000000EF
+:10C1500000000000000000000000000000000000DF
+:10C1600000000000000000010100010100000000CB
+:10C1700000000000010101000000000000000000BC
+:10C1800000000000000000000000000000000000AF
+:10C19000000000000000000000000000000000009F
+:10C1A000000000000000000000000000000000008F
+:10C1B0000000000000000002000001000201010177
+:10C1C0000101010101010102020202020202020256
+:10C1D0000102020101010100000000000000000056
+:10C1E000000000000000000000000000000000004F
+:10C1F000000000000000000000000000000000003F
+:10C20000000000000000000000000000000000002E
+:10C21000000000000000000000000000000000001E
+:10C22000000000000000000000000000000000000E
+:10C2300000000000000000000000000000000000FE
+:10C2400000000000000000000000000000000000EE
+:10C2500000000000000000000000000000000000DE
+:10C2600000000000000000020101010101000000C7
+:10C2700000000000010101000000000000000000BB
+:10C2800000000000000000000000000000000000AE
+:10C29000000000000000000000000000000000009E
+:10C2A000000000000000000000000000000000008E
+:10C2B0000000000000000002000001000200010177
+:10C2C0000001010101010102020202020202020256
+:10C2D0000102020101010100000000000000000055
+:10C2E000000000000000000000000000000000004E
+:10C2F000000000000000000000000000000000003E
+:10C30000000000000000000000000000000000002D
+:10C31000000000000000000000000000000000001D
+:10C32000000000000000010000000000000000000C
+:10C3300000000000000000000000000000000000FD
+:10C3400000000000000000000000000000000000ED
+:10C3500000000000000000000000000000000000DD
+:10C3600000000000000000020101010101010000C5
+:10C3700000000000010101000000000000000000BA
+:10C3800000000000000000000000000000000000AD
+:10C39000000000000000000000000000000000009D
+:10C3A000000000000000000000000000000000008D
+:10C3B0000000000000000002000000000202010175
+:10C3C0000001000100010102020202020202020257
+:10C3D0000101020101010100000000000000000055
+:10C3E000000000000000000000000000000000004D
+:10C3F000000000000000000000000000000000003D
+:10C40000000000000000000000000000000000002C
+:10C41000000000000000000000000000000000001C
+:10C42000000000000001010000000000000000000A
+:10C4300000000000000000000000000000000000FC
+:10C4400000000000000000000000000000000000EC
+:10C4500000000000000000000000000000000000DC
+:10C4600000000000000000020201010101010000C3
+:10C4700000000000010101000000000000000000B9
+:10C4800000000000000000000000000000000000AC
+:10C49000000000000000000000000000000000009C
+:10C4A000000000000000000000000000000000008C
+:10C4B0000000000000000002000000000202000076
+:10C4C0000001000100010102020202020202020256
+:10C4D0000101010101010100000000000000000055
+:10C4E000000000000000000000000000000000004C
+:10C4F000000000000000000000000000000000003C
+:10C50000000000000000000000000000000000002B
+:10C51000000000000000000100000000000000001A
+:10C520000000000001010100000000000000000008
+:10C5300000000000000000000000000000000000FB
+:10C5400000000000000000000000000000000000EB
+:10C5500000000000000000000000000000000000DB
+:10C5600000000000000000020201010101010000C2
+:10C5700000000000010101000000000000000000B8
+:10C5800000000000000000000000000000000000AB
+:10C59000000000000000000000000000000000009B
+:10C5A000000000000000000000000000000000008B
+:10C5B0000000000000000002000000000202000075
+:10C5C0000200020000010002020202020202020254
+:10C5D0000101010101010100000000000000000054
+:10C5E000000000000000000000000000000000004B
+:10C5F000000000000000000000000000000000003B
+:10C60000000000000000000000000000000000002A
+:10C610000000000000000001010100000000000017
+:10C620000000000001010100000000000000000007
+:10C6300000000000000000000000000000000000FA
+:10C6400000000000000000000000000000000000EA
+:10C6500000000000000000000000000000000000DA
+:10C6600000000000000000020202020201010000BE
+:10C6700000000000010101000000000000000000B7
+:10C6800000000000000000000000000000000000AA
+:10C69000000000000000000000000000000000009A
+:10C6A000000000000000000000000000000000008A
+:10C6B0000000000000000002020200000002000072
+:10C6C0000200020002010001020202020202020153
+:10C6D0000101010101010000000000000000000054
+:10C6E000000000000000000000000000000000004A
+:10C6F000000000000000000000000000000000003A
+:10C700000000000000000000000000000000000029
+:10C710000000000000000002010101000000000014
+:10C720000001000001010100000000000000000005
+:10C7300000000000000000000000000000000000F9
+:10C7400000000000000000000000000000000000E9
+:10C7500000000000000000000000000000000000D9
+:10C7600000000000000000020202020202010000BC
+:10C7700000000000020102000000000000000000B4
+:10C7800000000000000000000000000000000000A9
+:10C790000000000000000000000000000000000099
+:10C7A0000000000000000000000000000000000089
+:10C7B000000000000000000202020200000200006F
+:10C7C0000200020002010201020202020202010151
+:10C7D0000101010101010000000000000000000053
+:10C7E0000000000000000000000000000000000049
+:10C7F0000000000000000000000000000000000039
+:10C800000000000000000000000000000000000028
+:10C810000000000000000002020101000000000012
+:10C820000001000001010100000000000000000004
+:10C8300000000000000000000000000000000000F8
+:10C8400000000000000000000000000000000000E8
+:10C8500000000000000000000000000000000000D8
+:10C8600000000000000000020202020202020000BA
+:10C8700000000000020202000000000000000000B2
+:10C8800000000000000000000000000000000000A8
+:10C890000000000000000000000000000000000098
+:10C8A0000000000000000000000000000000000088
+:10C8B000000000000000000202020200000200006E
+:10C8C0000202020002000201010102020202010151
+:10C8D0000101010100010000000000000000000053
+:10C8E0000000000000000000000000000000000048
+:10C8F0000000000000000000000000000000000038
+:10C900000000000000000000000000000000000027
+:10C910000000000000000002020201000000000010
+:10C920000001000101010100000000000000000002
+:10C9300000000000000000000000000000000000F7
+:10C9400000000000000000000000000000000000E7
+:10C9500000000000000000000000000000000000D7
+:10C9600000000000000000020202020202020000B9
+:10C9700000000000020202000000000000000000B1
+:10C9800000000000000000000000000000000000A7
+:10C990000000000000000000000000000000000097
+:10C9A0000000000000000000000000000000000087
+:10C9B000000000000000000202020200000202006B
+:10C9C000020202020202020101010101020101014F
+:10C9D0000101010100000000000000000000000053
+:10C9E0000000000000000000000000000000000047
+:10C9F0000000000000000000000000000000000037
+:10CA00000000000000000000000000000000000026
+:10CA1000000000000000000202020200010000000D
+:10CA20000001000102010100000000000000000000
+:10CA300000000000000000000000000000000000F6
+:10CA400000000000000000000000000000000000E6
+:10CA500000000000000000000000000000000000D6
+:10CA600000000000000000020202020202020001B7
+:10CA700000010000020202000000000000000000AF
+:10CA800000000000000000000000000000000000A6
+:10CA90000000000000000000000000000000000096
+:10CAA0000000000000000000000000000000000086
+:10CAB000000000000000000002020200000202026A
+:10CAC0000202020202020200010101010101010150
+:10CAD0000101010000000000000000000000000053
+:10CAE0000000000000000000000000000000000046
+:10CAF0000000000000000000000000000000000036
+:10CB00000000000000000000000000000000000025
+:10CB1000000000000000000202020201010000000B
+:10CB200000020001020202000000000000000000FC
+:10CB300000000000000000000000000000000000F5
+:10CB400000000000000000000000000000000000E5
+:10CB500000000000000000000000000000000000D5
+:10CB600000000000000000020202020202020101B5
+:10CB700000010000020202000000000000000000AE
+:10CB800000000000000000000000000000000000A5
+:10CB90000000000000000000000000000000000095
+:10CBA0000000000000000000000000000000000085
+:10CBB0000000000000000000020202020002020267
+:10CBC000020202020202020001010101010101014F
+:10CBD0000001010000000000000000000000000053
+:10CBE0000000000000000000000000000000000045
+:10CBF0000000000000000000000000000000000035
+:10CC00000000000000000000000000000000000024
+:10CC10000000000000000002020202020200000107
+:10CC200000020002020202000000000000000000FA
+:10CC300000000000000000000000000000000000F4
+:10CC400000000000000000000000000000000000E4
+:10CC500000000000000000000000000000000000D4
+:10CC600000000000000000020202020202020202B2
+:10CC700001020000020202000000000000000000AB
+:10CC800000000000000000000000000000000000A4
+:10CC90000000000000000000000000000000000094
+:10CCA0000000000000000000000000000000000084
+:10CCB0000000000000000000020202020000020268
+:10CCC000020202020202020001010101010101014E
+:10CCD0000001010000000000000000000000000052
+:10CCE0000000000000000000000000000000000044
+:10CCF0000000000000000000000000000000000034
+:10CD00000000000000000000000000000000000023
+:10CD10000000000000000002020202020201000105
+:10CD200000020002020202000000000000000000F9
+:10CD300000000000000000000000000000000000F3
+:10CD400000000000000000000000000000000000E3
+:10CD500000000000000000000000000000000000D3
+:10CD600000000000000000020202020202020202B1
+:10CD700002020000020202000000000000000000A9
+:10CD800000000000000000000000000000000000A3
+:10CD90000000000000000000000000000000000093
+:10CDA0000000000000000000000000000000000083
+:10CDB0000000000000000000020202020000020267
+:10CDC0000002000202020200010101010101010151
+:10CDD0000000010000000000000000000000000052
+:10CDE0000000000000000000000000000000000043
+:10CDF0000000000000000000000000000000000033
+:10CE00000000000000000000000000000000000022
+:10CE10000000000000000002020202020202000202
+:10CE200000020002020202000000000000000000F8
+:10CE300000000000000000000000000000000000F2
+:10CE400000000000000000000000000000000000E2
+:10CE500000000000000000000000000000000000D2
+:10CE600000000000000000020202020202020202B0
+:10CE700002020000020202000000000000000000A8
+:10CE800000000000000000000000000000000000A2
+:10CE90000000000000000000000000000000000092
+:10CEA0000000000000000000000000000000000082
+:10CEB0000000000000000000020202020000020266
+:10CEC0000002000200020200010101010101010152
+:10CED0000000000000000000000000000000000052
+:10CEE0000000000000000000000000000000000042
+:10CEF0000000000000000000000000000000000032
+:10CF00000000000000000000000000000000000021
+:10CF100000000000000000020202020202020202FF
+:10CF200000020202020202000000000000000000F5
+:10CF300000000000000000000000000000000000F1
+:10CF400000000000000000000000000000000000E1
+:10CF500000000000000000000000000000000000D1
+:10CF600000000000000000020202020202020202AF
+:10CF700002020202020202000000000000000000A3
+:10CF800000000000000000000000000000000000A1
+:10CF90000000000000000000000000000000000091
+:10CFA0000000000000000000000000000000000081
+:10CFB0000000000000000000020202020000020265
+:10CFC0000002000200020001010101010101010053
+:10CFD0000000000000000000000000000000000051
+:10CFE0000000000000000000000000000000000041
+:10CFF0000000000000000000000000000000000031
+:10D000000000000000000000000000000000000020
+:10D0100000000000000000020202020202020202FE
+:10D0200002020101010202000000000000000000F5
+:10D0300000000000000000000000000000000000F0
+:10D0400000000000000000000000000000000000E0
+:10D0500000000000000000000000000000000000D0
+:10D0600000000000000000020202020202020202AE
+:10D0700002020202020202000000000000000000A2
+:10D0800000000000000000000000000000000000A0
+:10D090000000000000000000000000000000000090
+:10D0A0000000000000000000000000000000000080
+:10D0B0000000000000000000000202020000020266
+:10D0C0000002000200020001010101010101000053
+:10D0D0000000000000000000000000000000000050
+:10D0E0000000000000000000000000000000000040
+:10D0F0000000000000000000000000000000000030
+:10D10000000000000000000000000000000000001F
+:10D1100000000000000000020202020202020202FD
+:10D1200002010202020202000000000000000000F2
+:10D1300000000000000000000000000000000000EF
+:10D1400000000000000000000000000000000000DF
+:10D1500000000000000000000000000000000000CF
+:10D1600000000000000000010101010101010101B6
+:10D1700001010101010101000000000000000000A8
+:10D18000000000000000000000000000000000009F
+:10D19000000000000000000000000000000000008F
+:10D1A000000000000000000000000000000000007F
+:10D1B0000000000000000000000002020000020267
+:10D1C0000002000200020001000001010101000054
+:10D1D000000000000000000000000000000000004F
+:10D1E000000000000000000000000000000000003F
+:10D1F000000000000000000000000000000000002F
+:10D20000000000000000000000000000000000001E
+:10D21000000000000000000000000000000000000E
+:10D2200000020000000000000000000000000000FC
+:10D2300000000000000000000000000000000000EE
+:10D2400000000000000000000000000000000000DE
+:10D2500000000000000000000000000000000000CE
+:10D2600000000000000000020202020202020202AC
+:10D2700002020202020202000000000000000000A0
+:10D28000000000000000000000000000000000009E
+:10D29000000000000000000000000000000000008E
+:10D2A000000000000000000000000000000000007E
+:10D2B0000000000000000000000002020000020266
+:10D2C0000002000200020001000000000100000056
+:10D2D000000000000000000000000000000000004E
+:10D2E000000000000000000000000000000000003E
+:10D2F000000000000000000000000000000000002E
+:10D30000000000000000000000000000000000001D
+:10D31000000000000000000000000000000000000D
+:10D3200000000000000000000000000000000000FD
+:10D3300000000000000000000000000000000000ED
+:10D3400000000000000000000000000000000000DD
+:10D3500000000000000000000000000000000000CD
+:10D3600000000000000000010101010101010101B4
+:10D3700001010101010101000000000000000000A6
+:10D38000000000000000000000000000000000009D
+:10D39000000000000000000000000000000000008D
+:10D3A000000000000000000000000000000000007D
+:10D3B0000000000000000000000000020000020267
+:10D3C000000000000002000000000000000000005B
+:10D3D000000000000000000000000000000000004D
+:10D3E000000000000000000000000000000000003D
+:10D3F000000000000000000000000000000000002D
+:10D40000000000000000000000000000000000001C
+:10D410000000000000000001010101010101010103
+:10D4200001010101010101000000000000000000F5
+:10D4300000000000000000000000000000000000EC
+:10D4400000000000000000000000000000000000DC
+:10D4500000000000000000000000000000000000CC
+:10D4600000000000000000010101010101010101B3
+:10D4700001010101010101000000000000000000A5
+:10D48000000000000000000000000000000000009C
+:10D49000000000000000000000000000000000008C
+:10D4A000000000000000000000000000000000007C
+:10D4B000000000000000000000000002000000006A
+:10D4C000000000000002000000000000000000005A
+:10D4D000000000000000000000000000000000004C
+:10D4E000000000000000000000000000000000003C
+:10D4F000000000000000000000000000000000002C
+:10D50000000000000000000000000000000000001B
+:10D510000000000000000001010101010101010102
+:10D5200001010101010101000000000000000000F4
+:10D5300000000000000000000000000000000000EB
+:10D5400000000000000000000000000000000000DB
+:10D5500000000000000000000000000000000000CB
+:10D5600000000000000000010101010101010101B2
+:10D5700001010101010101000000000000000000A4
+:10D58000000000000000000000000000000000009B
+:10D59000000000000000000000000000000000008B
+:10D5A000000000000000000000000000000000007B
+:10D5B000000000000000000000000000000000006B
+:10D5C000000000000000000000000000000000005B
+:10D5D000000000000000000000000000000000004B
+:10D5E000000000000000000000000000000000003B
+:10D5F000000000000000000000000000000000002B
+:10D60000000000000000000000000000000000001A
+:10D610000000000000000001010101010101010101
+:10D6200001010101010101000000000000000000F3
+:10D6300000000000000000000000000000000000EA
+:10D6400000000000000000000000000000000000DA
+:10D6500000000000000000000000000000000000CA
+:10D6600000000000000000010101010101010101B1
+:10D6700001010101010101000000000000000000A3
+:10D68000000000000000000000000000000000009A
+:10D69000000000000000000000000000000000008A
+:10D6A000000000000000000000000000000000007A
+:10D6B000000000000000000000000000000000006A
+:10D6C000000000000000000000000000000000005A
+:10D6D000000000000000000000000000000000004A
+:10D6E000000000000000000000000000000000003A
+:10D6F000000000000000000000000000000000002A
+:10D700000000000000000000000000000000000019
+:10D710000000000000000001010101010101010100
+:10D7200001010101010101000000000000000000F2
+:10D7300000000000000000000000000000000000E9
+:10D7400000000000000000000000000000000000D9
+:10D7500000000000000000000000000000000000C9
+:10D7600000000000000000010101010101010101B0
+:10D7700001010101010101000000000000000000A2
+:10D780000000000000000000000000000000000099
+:10D790000000000000000000000000000000000089
+:10D7A0000000000000000000000000000000000079
+:10D7B0000000000000000000000000000000000069
+:10D7C0000000000000000000000000000000000059
+:10D7D0000000000000000000000000000000000049
+:10D7E0000000000000000000000000000000000039
+:10D7F0000000000000000000000000000000000029
+:10D800000000000000000000000000000000000018
+:10D8100000000000000000010101010101010101FF
+:10D8200001010101010101000000000000000000F1
+:10D8300000000000000000000000000000000000E8
+:10D8400000000000000000000000000000000000D8
+:10D8500000000000000000000000000000000000C8
+:10D8600000000000000000020202020202020202A6
+:10D87000020202020202020000000000000000009A
+:10D880000000000000000000000000000000000098
+:10D890000000000000000000000000000000000088
+:10D8A0000000000000000000000000000000000078
+:10D8B0000000000000000000000000000000000068
+:10D8C0000000000000000000000000000000000058
+:10D8D0000000000000000000000000000000000048
+:10D8E0000000000000000000000000000000000038
+:10D8F0000000000000000000000000000000000028
+:10D900000000000000000000000000000000000017
+:10D9100000000000000000020202020202020202F5
+:10D9200002020202020202000000000000000000E9
+:10D9300000000000000000000000000000000000E7
+:10D9400000000000000000000000000000000000D7
+:10D9500000000000000000000000000000000000C7
+:10D9600000000000000000020202020202020202A5
+:10D970000202020202020200000000000000000099
+:10D980000000000000000000000000000000000097
+:10D990000000000000000000000000000000000087
+:10D9A0000000000000000000000000000000000077
+:10D9B0000000000000000000000000000000000067
+:10D9C0000000000000000000000000000000000057
+:10D9D0000000000000000000000000000000000047
+:10D9E0000000000000000000000000000000000037
+:10D9F0000000000000000000000000000000000027
+:10DA00000000000000000000000000000000000016
+:10DA10000000000000000000000000000000000006
+:10DA200000000000000000000000000000000000F6
+:10DA300000000000000000000000000000000000E6
+:10DA400000000000000000000000000000000000D6
+:10DA500000000000000000000000000000000000C6
+:10DA600000000000000000000000000000000000B6
+:10DA700000000000000000000000000000000000A6
+:10DA80000000000000000000000000000000000096
+:10DA90000000000000000000000000000000000086
+:10DAA0000000000000000000000000000000000076
+:10DAB0000000000000000000000000000000000066
+:10DAC000000000000000001E000000000000000038
+:10DAD0000000000001000001010000010001000041
+:10DAE0000000000000000000000000000000000036
+:10DAF0000000000000000000000000000000000026
+:10DB00000000000000000000000000000000000015
+:10DB10000000000000000000000000000000000005
+:10DB200000000000000000000000000000000000F5
+:10DB300000000000000000000000000000000000E5
+:10DB400000000000000000000000000000000000D5
+:10DB500000000000000000000000000000000000C5
+:10DB600000000000000000000000000000000000B5
+:10DB700000000000000000000000000000000000A5
+:10DB80000000000000000000000000000000000095
+:10DB90000000000000000000000000000000000085
+:10DBA0000000000000000000000000000000000075
+:10DBB0000000000000000000000000000000000065
+:10DBC0000000000000020200000000000000000150
+:10DBD000010101010100000101000101010100003A
+:10DBE0000000000000000000000000000000000035
+:10DBF0000000000000000000000000000000000025
+:10DC00000000000000000000000000000000000014
+:10DC10000000000000000000000000000000000004
+:10DC200000000000000000000000000000000000F4
+:10DC300000000000000000000000000000000000E4
+:10DC400000000000000000000000000000000000D4
+:10DC500000000000000000000000000000000000C4
+:10DC600000000000000000000000000000000000B4
+:10DC7000000000000002020000010000000000009F
+:10DC80000000000000000000000000000000000094
+:10DC90000000000000000000000000000000000084
+:10DCA0000000000000000000000000000000000074
+:10DCB0000000000000000000000000000000000064
+:10DCC000000000000002020000000000000000014F
+:10DCD0000101010101010101010001010101000037
+:10DCE0000000000000000000000000000000000034
+:10DCF0000000000000000000000000000000000024
+:10DD00000000000000000000000000000000000013
+:10DD10000000000000000000000000000000000003
+:10DD200000000000000000000000000000000000F3
+:10DD300000000000000000000000000000000000E3
+:10DD400000000000000000000000000000000000D3
+:10DD500000000000000000000000000000000000C3
+:10DD600000000000000000000000000000000000B3
+:10DD7000000100000002020000010000010001009B
+:10DD80000000000000000000000000000000000093
+:10DD90000000000000000000000000000000000083
+:10DDA0000000000000000000000000000000000073
+:10DDB0000000000000000000000000000000000063
+:10DDC000000000000002020000000000000000014E
+:10DDD0000101010101010101010001010101000036
+:10DDE0000000000000000000000000000000000033
+:10DDF0000000000000000000000000000000000023
+:10DE00000000000000000000000000000000000012
+:10DE10000000000000000000000000000000000002
+:10DE200000000000000000000000000000000000F2
+:10DE300000000000000000000000000000000000E2
+:10DE400000000000000000000000000000000000D2
+:10DE500000000000000000000000000000000000C2
+:10DE600000000000000000000000000000000000B2
+:10DE7000000100000002020000010000010001009A
+:10DE80000000000000000000000000000000000092
+:10DE90000000000000000000000000000000000082
+:10DEA0000000000000000000000000000000000072
+:10DEB0000000000000000000000000000000000062
+:10DEC000000000000002020000000000000000014D
+:10DED0000101010101020201010101010101000032
+:10DEE0000000000000000000000000000000000032
+:10DEF0000000000000000000000000000000000022
+:10DF00000000000000000000000000000000000011
+:10DF10000000000000000000000000000000000001
+:10DF200000000000000000000000000000000000F1
+:10DF300000000000000000000000000000000000E1
+:10DF400000000000000000000000000000000000D1
+:10DF500000000000000000000000000000000000C1
+:10DF600000000000000000000000000000000000B1
+:10DF70000001000000020200000100000100010099
+:10DF80000000000000000000000000000000000091
+:10DF90000000000000000000000000000000000081
+:10DFA0000000000000000000000000000000000071
+:10DFB0000000000000000000000000000000000061
+:10DFC0000000000000020202020000000000000247
+:10DFD0000101010101020201010101010101000031
+:10DFE0000000000000000000000000000000000031
+:10DFF0000000000000000000000000000000000021
+:10E000000000000000000000000000000000000010
+:10E010000000000000000000000000000000000000
+:10E0200000000000000000000000000000000000F0
+:10E0300000000000000000000000000000000000E0
+:10E0400000000000000000000000000000000000D0
+:10E0500000000000000000000000000000000000C0
+:10E0600000000000000000000000000000000000B0
+:10E070000001000000020200000100010101010096
+:10E080000000000000000000000000000000000090
+:10E090000000000000000000000000000000000080
+:10E0A0000000000000000000000000000000000070
+:10E0B0000000000000000000000000000000000060
+:10E0C0000000000000010102020000000000000248
+:10E0D000020101010102020201010101010100002E
+:10E0E0000000000000000000000000000000000030
+:10E0F0000000000000000000000000000000000020
+:10E10000000000000000000000000000000000000F
+:10E1100000000000000000000000000000000000FF
+:10E1200000000000000000000000000001000000EE
+:10E1300000000000000000000000000000000000DF
+:10E1400000000000000000000000000000000000CF
+:10E1500000000000000000000000000000000000BF
+:10E1600000000000000000000000000000000000AF
+:10E170000101000100010100000101010101010094
+:10E18000000000000000000000000000000000008F
+:10E19000000000000000000000000000000000007F
+:10E1A000000000000000000000000000000000006F
+:10E1B000000000000000000000000000000000005F
+:10E1C0000000000000010101010000000000000249
+:10E1D000020102010202020201010101010100002B
+:10E1E000000000000000000000000000000000002F
+:10E1F000000000000000000000000000000000001F
+:10E20000000000000000000000000000000000000E
+:10E2100000000000000000000000000000000000FE
+:10E2200000000000000000000000000001000000ED
+:10E2300000000000000000000000000000000000DE
+:10E2400000000000000000000000000000000000CE
+:10E2500000000000000000000000000000000000BE
+:10E2600000000000000000000000000000000000AE
+:10E270000101000100010100000101010101010093
+:10E28000000000000000000000000000000000008E
+:10E29000000000000000000000000000000000007E
+:10E2A000000000000000000000000000000000006E
+:10E2B000000000000000000000000000000000005E
+:10E2C0000000000000010101010000000000000248
+:10E2D0000202020202020202020101010101000027
+:10E2E000000000000000000000000000000000002E
+:10E2F000000000000000000000000000000000001E
+:10E30000000000000000000000000000000000000D
+:10E3100000000000000000000000000000000000FD
+:10E3200000010000000000000000000001000000EB
+:10E3300000000000000000000000000000000000DD
+:10E3400000000000000000000000000000000000CD
+:10E3500000000000000000000000000000000000BD
+:10E3600000000000000000000000000000000000AD
+:10E370000101010100010100000101010101010091
+:10E38000000000000000000000000000000000008D
+:10E39000000000000000000000000000000000007D
+:10E3A000000000000000000000000000000000006D
+:10E3B000000000000000000000000000000000005D
+:10E3C0000000000001010101010000000100000245
+:10E3D0000202020202020202020101010101000026
+:10E3E000000000000000000000000000000000002D
+:10E3F000000000000000000000000000000000001D
+:10E40000000000000000000000000000000000000C
+:10E4100000000000000000000000000000000000FC
+:10E4200000010000010000000001000001000000E8
+:10E4300000000000000000000000000000000000DC
+:10E4400000000000000000000000000000000000CC
+:10E4500000000000000000000000000000000000BC
+:10E4600000000000000000000000000000000000AC
+:10E470000101010100010100000101010101010090
+:10E48000000000000000000000000000000000008C
+:10E49000000000000000000000000000000000007C
+:10E4A000000000000000000000000000000000006C
+:10E4B000000000000000000000000000000000005C
+:10E4C0000000000001010101010000000100000244
+:10E4D0000202020202020202020102020102000022
+:10E4E000000000000000000000000000000000002C
+:10E4F000000000000000000000000000000000001C
+:10E50000000000000000000000000000000000000B
+:10E5100000000000000000000000000000000000FB
+:10E5200000010000010000000001000001000100E6
+:10E5300000000000000000000000000000000000DB
+:10E5400000000000000000000000000000000000CB
+:10E5500000000000000000000000000000000000BB
+:10E5600000000000000000000000000000000000AB
+:10E57000010101010001010000010101010101008F
+:10E58000000000000000000000000000000000008B
+:10E59000000000000000000000000000000000007B
+:10E5A000000000000000000000000000000000006B
+:10E5B000000000000000000000000000000000005B
+:10E5C0000000000001010101010000000100010242
+:10E5D0000202020202020202020102020102000021
+:10E5E000000000000000000000000000000000002B
+:10E5F000000000000000000000000000000000001B
+:10E60000000000000000000000000000000000000A
+:10E6100000000000000000000000000000000000FA
+:10E6200000010000010000000001000001000100E5
+:10E6300000000000000000000000000000000000DA
+:10E6400000000000000000000000000000000000CA
+:10E6500000000000000000000000000000000000BA
+:10E6600000000000000000000000000000000000AA
+:10E67000010201010101010101010101010101008A
+:10E68000000000000000000000000000000000008A
+:10E69000000000000000000000000000000000007A
+:10E6A000000000000000000000000000000000006A
+:10E6B000000000000000000000000000000000005A
+:10E6C0000000010000000000010100010101010241
+:10E6D000020202020202020202010202020200001F
+:10E6E000000000000000000000000000000000002A
+:10E6F000000000000000000000000000000000001A
+:10E700000000000000000000000000000000000009
+:10E7100000000000000000000000000000000000F9
+:10E7200001010000010000000001000001000100E3
+:10E7300000000000000000000000000000000000D9
+:10E7400000000000000000000000000000000000C9
+:10E7500000000000000000000000000000000000B9
+:10E7600000000000000000000000000000000001A8
+:10E770000202010101010101010201010101010087
+:10E780000000000000000000000000000000000089
+:10E790000000000000000000000000000000000079
+:10E7A0000000000000000000000000000000000069
+:10E7B0000000000000000000000000000000000059
+:10E7C0000000000000000000010101010101010240
+:10E7D000020202020202020202020202020200001D
+:10E7E0000000000000000000000000000000000029
+:10E7F0000000000000000000000000000000000019
+:10E800000000000000000000000000000000000008
+:10E8100000000000000000000000000000000000F8
+:10E8200001010000010000000001000101010100E0
+:10E8300000000000000000000000000000000000D8
+:10E8400000000000000000000000000000000000C8
+:10E8500000000000000000000000000000000000B8
+:10E8600000000000000000000000000000000001A7
+:10E870000202020201010101010201010201020082
+:10E880000000000000000000000000000000000088
+:10E890000000000000000000000000000000000078
+:10E8A0000000000000000000000000000000000068
+:10E8B0000000000000000000000000000000000058
+:10E8C0000000000000000000000101010101010240
+:10E8D000020202020202020202020202020200001C
+:10E8E0000000000000000000000000000000000028
+:10E8F0000000000000000000000000000000000018
+:10E900000000000000000000000000000000000007
+:10E9100000000000000000000000000000000000F7
+:10E9200001010001020000000001000101010100DD
+:10E9300000000000000000000000000000000000D7
+:10E9400000000000000000000000000000000000C7
+:10E9500000000000000000000000000000000000B7
+:10E9600000000000000000000000000000000002A5
+:10E97000020202020102020101020202020202007C
+:10E980000000000000000000000000000000000087
+:10E990000000000000000000000000000000000077
+:10E9A0000000000000000000000000000000000067
+:10E9B0000000000000000000000000000000000057
+:10E9C000000100010000000000010101010101023D
+:10E9D000020202020202020202020202020200001B
+:10E9E0000000000000000000000000000000000027
+:10E9F0000000000000000000000000000000000017
+:10EA00000000000000000000000000000000000006
+:10EA100000000000000000000000000000000000F6
+:10EA200001020001020101000001000101010100D9
+:10EA300000000000000000000000000000000000D6
+:10EA400000000000000000000000000000000000C6
+:10EA500000000000000000000000000000000000B6
+:10EA600000000000000000000000000000000002A4
+:10EA70000202020202020202010202020202020079
+:10EA80000000000000000000000000000000000086
+:10EA90000000000000000000000000000000000076
+:10EAA0000000000000000000000000000000000066
+:10EAB0000000000000000000000000000000000056
+:10EAC000000100010000000000010101010101023C
+:10EAD000020202020202020202020202020200001A
+:10EAE0000000000000000000000000000000000026
+:10EAF0000000000000000000000000000000000016
+:10EB00000000000000000000000000000000000005
+:10EB100000000000000000000000000000000000F5
+:10EB200002020101020202000001010102010100D2
+:10EB300000000000000000000000000000000000D5
+:10EB400000000000000000000000000000000000C5
+:10EB500000000000000000000000000000000000B5
+:10EB600000000000000000000000000000000002A3
+:10EB70000202020202020202020202020202020077
+:10EB80000000000000000000000000000000000085
+:10EB90000000000000000000000000000000000075
+:10EBA0000000000000000000000000000000000065
+:10EBB0000000000000000000000000000000000055
+:10EBC000010100010000000000010101010101023A
+:10EBD000020202020201010202020202020200001B
+:10EBE0000000000000000000000000000000000025
+:10EBF0000000000000000000000000000000000015
+:10EC00000000000000000000000000000000000004
+:10EC100000000000000000000000000000000000F4
+:10EC200002020101020202000002010102010100D0
+:10EC300000000000000000000000000000000000D4
+:10EC400000000000000000000000000000000000C4
+:10EC500000000000000000000000000000000000B4
+:10EC600000000000000000000000000000000002A2
+:10EC70000202020202020202020202020202020076
+:10EC80000000000000000000000000000000000084
+:10EC90000000000000000000000000000000000074
+:10ECA0000000000000000000000000000000000064
+:10ECB0000000000000000000000000000000000054
+:10ECC000010100010000000000010101000101023A
+:10ECD000020202020201010202020202020200001A
+:10ECE0000000000000000000000000000000000024
+:10ECF0000000000000000000000000000000000014
+:10ED00000000000000000000000000000000000003
+:10ED100000000000000000000000000000000002F1
+:10ED200002020202020202000002010102010200CC
+:10ED300000000000000000000000000000000000D3
+:10ED400000000000000000000000000000000000C3
+:10ED500000000000000000000000000000000000B3
+:10ED600000000000000000000000000000000002A1
+:10ED70000202020202020202020202020202020075
+:10ED80000000000000000000000000000000000083
+:10ED90000000000000000000000000000000000073
+:10EDA0000000000000000000000000000000000063
+:10EDB0000000000000000000000000000000000053
+:10EDC0000000000000000000000000000000000142
+:10EDD000010202020201010102020202020200001B
+:10EDE0000000000000000000000000000000000023
+:10EDF0000000000000000000000000000000000013
+:10EE00000000000000000000000000000000000002
+:10EE100000000000000000000000000000000002F0
+:10EE200002020202020202010002010202020200C8
+:10EE300000000000000000000000000000000000D2
+:10EE400000000000000000000000000000000000C2
+:10EE500000000000000000000000000000000000B2
+:10EE600000000000000000000000000000000002A0
+:10EE70000202020202020202020202020202020074
+:10EE80000000000000000000000000000000000082
+:10EE90000000000000000000000000000000000072
+:10EEA0000000000000000000000000000000000062
+:10EEB0000000000000000000000000000000000052
+:10EEC0000000000000000000000000000000000141
+:10EED000010101010101010101020202020200001F
+:10EEE0000000000000000000000000000000000022
+:10EEF0000000000000000000000000000000000012
+:10EF00000000000000000000000000000000000001
+:10EF100000000000000000000000000000000002EF
+:10EF200002020202020202020002020202020200C5
+:10EF300000000000000000000000000000000000D1
+:10EF400000000000000000000000000000000000C1
+:10EF500000000000000000000000000000000000B1
+:10EF6000000000000000000000000000000000029F
+:10EF70000202020202020202020202020202020073
+:10EF80000000000000000000000000000000000081
+:10EF90000000000000000000000000000000000071
+:10EFA0000000000000000000000000000000000061
+:10EFB0000000000000000000000000000000000051
+:10EFC000000000000000000000000000020000013E
+:10EFD0000101010101010101010201010201010020
+:10EFE0000000000000000000000000000000000021
+:10EFF0000000000000000000000000000000000011
+:10F000000000000000000000000000000000000000
+:10F0100000000000000000000000000000000002EE
+:10F0200002020202020202020102020202020200C3
+:10F0300000000000000000000000000000000000D0
+:10F0400000000000000000000000000000000000C0
+:10F0500000000000000000000000000000000000B0
+:10F06000000000000000000000000000000000029E
+:10F070000202020202020202020202020202020072
+:10F080000000000000000000000000000000000080
+:10F090000000000000000000000000000000000070
+:10F0A0000000000000000000000000000000000060
+:10F0B000000000000000000000000000000000024E
+:10F0C0000202000202020202020202020202020123
+:10F0D0000101010101010101010101010101010021
+:10F0E0000000000000000000000000000000000020
+:10F0F0000000000000000000000000000000000010
+:10F1000000000000000000000000000000000000FF
+:10F1100000000000000000000000000000000002ED
+:10F1200002020202010101020202020202020200C4
+:10F1300000000000000000000000000000000000CF
+:10F1400000000000000000000000000000000000BF
+:10F1500000000000000000000000000000000000AF
+:10F16000000000000000000000000000000000029D
+:10F170000202020202020202020202020202020071
+:10F18000000000000000000000000000000000007F
+:10F19000000000000000000000000000000000006F
+:10F1A000000000000000000000000000000000005F
+:10F1B000000000000000000000000000000000024D
+:10F1C0000202020202020202020202020202020120
+:10F1D0000101010101010101010101010101010020
+:10F1E000000000000000000000000000000000001F
+:10F1F000000000000000000000000000000000000F
+:10F2000000000000000000000000000000000000FE
+:10F2100000000000000000000000000000000002EC
+:10F2200002020202020202020202020202020200C0
+:10F2300000000000000000000000000000000000CE
+:10F2400000000000000000000000000000000000BE
+:10F2500000000000000000000000000000000000AE
+:10F26000000000000000000000000000000000029C
+:10F270000202020202020202020202020202020070
+:10F28000000000000000000000000000000000007E
+:10F29000000000000000000000000000000000006E
+:10F2A000000000000000000000000000000000005E
+:10F2B000000000000000000000000000000000024C
+:10F2C000020202020202020202020202020202011F
+:10F2D000010101010101010101010101010101001F
+:10F2E000000000000000000000000000000000001E
+:10F2F000000000000000000000000000000000000E
+:10F3000000000000000000000000000000000000FD
+:10F3100000000000000000000000000000000001EC
+:10F3200001010101010101010101010101010100CE
+:10F3300000000000000000000000000000000000CD
+:10F3400000000000000000000000000000000000BD
+:10F3500000000000000000000000000000000000AD
+:10F36000000000000000000000000000000000029B
+:10F37000020202020202020202020202020202006F
+:10F38000000000000000000000000000000000007D
+:10F39000000000000000000000000000000000006D
+:10F3A000000000000000000000000000000000005D
+:10F3B000000000000000000000000000000000024B
+:10F3C000020202020202020202020202020202011E
+:10F3D000010101010101010101010101010101001E
+:10F3E000000000000000000000000000000000001D
+:10F3F000000000000000000000000000000000000D
+:10F4000000000000000000000000000000000000FC
+:10F4100000000000000000000000000000000001EB
+:10F4200001010101010101010101010101010100CD
+:10F4300000000000000000000000000000000000CC
+:10F4400000000000000000000000000000000000BC
+:10F4500000000000000000000000000000000000AC
+:10F46000000000000000000000000000000000019B
+:10F47000010101010101010101010101010101007D
+:10F48000000000000000000000000000000000007C
+:10F49000000000000000000000000000000000006C
+:10F4A000000000000000000000000000000000005C
+:10F4B000000000000000000000000000000000024A
+:10F4C000020202020202020202020202020202011D
+:10F4D000010101010101010101010101010101001D
+:10F4E000000000000000000000000000000000001C
+:10F4F000000000000000000000000000000000000C
+:10F5000000000000000000000000000000000000FB
+:10F5100000000000000000000000000000000001EA
+:10F5200001010101010101010101010101010100CC
+:10F5300000000000000000000000000000000000CB
+:10F5400000000000000000000000000000000000BB
+:10F5500000000000000000000000000000000000AB
+:10F56000000000000000000000000000000000019A
+:10F57000010101010101010101010101010101007C
+:10F58000000000000000000000000000000000007B
+:10F59000000000000000000000000000000000006B
+:10F5A000000000000000000000000000000000005B
+:10F5B0000000000000000000000000000000000249
+:10F5C000020202020202020202020202020202011C
+:10F5D000010101010101010101010101010101001C
+:10F5E000000000000000000000000000000000001B
+:10F5F000000000000000000000000000000000000B
+:10F6000000000000000000000000000000000000FA
+:10F6100000000000000000000000000000000001E9
+:10F6200001010101010101010101010101010100CB
+:10F6300000000000000000000000000000000000CA
+:10F6400000000000000000000000000000000000BA
+:10F6500000000000000000000000000000000000AA
+:10F660000000000000000000000000000000000199
+:10F67000010101010101010101010101010101007B
+:10F68000000000000000000000000000000000007A
+:10F69000000000000000000000000000000000006A
+:10F6A000000000000000000000000000000000005A
+:10F6B0000000000000000000000000000000000248
+:10F6C000020202020202020202020202020202011B
+:10F6D000010101010101010101010101010101001B
+:10F6E000000000000000000000000000000000001A
+:10F6F000000000000000000000000000000000000A
+:10F7000000000000000000000000000000000000F9
+:10F7100000000000000000000000000000000002E7
+:10F7200002020202020202020202020202020200BB
+:10F7300000000000000000000000000000000000C9
+:10F7400000000000000000000000000000000000B9
+:10F7500000000000000000000000000000000000A9
+:10F760000000000000000000000000000000000297
+:10F77000020202020202020202020202020202006B
+:10F780000000000000000000000000000000000079
+:10F790000000000000000000000000000000000069
+:10F7A0000000000000000000000000000000000059
+:10F7B0000000000000000000000000000000000247
+:10F7C000020202020202020202020202020202001B
+:10F7D0000000000000000000000000000000000029
+:10F7E0000000000000000000000000000000000019
+:10F7F0000000000000000000000000000000000009
+:10F8000000000000000000000000000000000000F8
+:10F8100000000000000000000000000000000000E8
+:10F8200000000000000000000000000000000000D8
+:10F8300000000000000000000000000000000000C8
+:10F8400000000000000000000000000000000000B8
+:10F8500000000000000000000000000000000000A8
+:10F860000000000000000000000000000000000098
+:10F870000000000000000000000000000000000088
+:10F880000000000000000000000000000000000078
+:10F890000000000000000000000000000000000068
+:10F8A0000000000000000000000000000000000058
+:10F8B0000000000000000000000000000000000048
+:10F8C0000000000000000000000000000000001E1A
+:10F8D0000000000000000000000000000000000028
+:10F8E0000000000000000000000000000000000018
+:10F8F0000000000000000000000000000000000008
+:10F9000000000000000000000000000000000000F7
+:10F9100000000000000000000000000000000000E7
+:10F9200000000000000000000000000000000200D5
+:10F9300000000000000000000000000000000000C7
+:10F9400000000000000000000000000000000000B7
+:10F9500000000000000000000000000000000000A7
+:10F960000000000000000000000000000000000097
+:10F970000000000000000000000000000000000087
+:10F980000000000000000000000000000000000077
+:10F990000000000000000000000000000000000067
+:10F9A0000000000000000000000000000000000057
+:10F9B0000000000000000000000000000000000047
+:10F9C0000000000000000000000000010000000036
+:10F9D0000000000000000000000001000001000025
+:10F9E0000100010000010000000000000000000014
+:10F9F0000000000000000000000000000000000007
+:10FA000000000000000000000000000000000000F6
+:10FA100000000000000000000000000000000000E6
+:10FA200000000000000000000000000000000200D4
+:10FA300000000000000000000000000000000000C6
+:10FA400000000000000000000000000000000000B6
+:10FA500000000000000000000000000000000000A6
+:10FA60000000000000000000000000000000000096
+:10FA70000000000000000000000000000000000086
+:10FA80000000000000000000000000000000000076
+:10FA90000000000000000000000000000000000066
+:10FAA0000000000000000000000000000000000056
+:10FAB0000000000000000000000000000000000046
+:10FAC0000000000000000000000000010000000035
+:10FAD000000000000001000000010101010100011F
+:10FAE0000101010000010000000000000000000012
+:10FAF0000000000000000000000000000000000006
+:10FB000000000000000000000000000000000000F5
+:10FB100000000000000000000000000000000000E5
+:10FB200000000000000000000000000000000200D3
+:10FB300000000000000000000000000000000000C5
+:10FB400000000000000000000000000000000000B5
+:10FB500000000000000000000000000000000000A5
+:10FB60000000000000000000000000000000000095
+:10FB70000000000000000000000000000000000085
+:10FB80000000000000000000000000000000000075
+:10FB90000000000000000000000000000000000065
+:10FBA0000000000000000000000000000000000055
+:10FBB0000000000000000000000000000000000045
+:10FBC0000000000000000000000000010000020032
+:10FBD0000000000001010002010201010101010118
+:10FBE0000101010100010000000000000000000010
+:10FBF0000000000000000000000000000000000005
+:10FC000000000000000000000000000000000000F4
+:10FC100000000000000000000000000000000000E4
+:10FC200000000000000000000000000000000200D2
+:10FC300000000000000100000000000000000000C3
+:10FC400000000000000000000000000000000000B4
+:10FC500000000000000000000000000000000000A4
+:10FC60000000000000000000000000000000000094
+:10FC70000000000000000000000000000000000084
+:10FC80000000000000000000000000000000000074
+:10FC90000000000000000000000000000000000064
+:10FCA0000000000000000000000000000000000054
+:10FCB0000000000000000000000000000000000044
+:10FCC0000000000000000000000000010000020031
+:10FCD0000000000101010002010202010102020113
+:10FCE000020101010101000000000000000000000D
+:10FCF0000000000000000000000000000000000004
+:10FD000000000000000000000000000000000000F3
+:10FD100000000000000000000000000000000000E3
+:10FD200000000000000000000000000000000200D1
+:10FD300000000000000100000000000000000000C2
+:10FD400000000000000000000000000000000000B3
+:10FD500000000000000000000000000000000000A3
+:10FD60000000000000000000000000000000000093
+:10FD70000000000000000000000000000000000083
+:10FD80000000000000000000000000000000000073
+:10FD90000000000000000000000000000000000063
+:10FDA0000000000000000000000000000000000053
+:10FDB0000000000000000000000000000000000043
+:10FDC0000000000000000000000000010000010031
+:10FDD000000000010101000202020202010202020F
+:10FDE000020102010101000000000000000000000B
+:10FDF0000000000000000000000000000000000003
+:10FE000000000000000000000000000000000000F2
+:10FE100000000000000000000000000000000000E2
+:10FE200000000000000000000000000000000200D0
+:10FE300000000000000101000000000000000000C0
+:10FE400000000000000000000000000000000000B2
+:10FE500000000000000000000000000000000000A2
+:10FE60000000000000000000000000000000000092
+:10FE70000000000000000000000000000000000082
+:10FE80000000000000010000000000000000000071
+:10FE90000000000000000000000000000000000062
+:10FEA0000000000000000000000000000000000052
+:10FEB0000000000000000000000000000000000042
+:10FEC0000000000000000000000000010000010030
+:10FED000000000010101000202020202020202020D
+:10FEE000020102010101000000000000000000000A
+:10FEF0000000000000000000000000000000000002
+:10FF000000000000000000000000000000000000F1
+:10FF100000000000000000000000000000000000E1
+:10FF200000000000000000000000000000000100D0
+:10FF300000000000010101000000000000000000BE
+:10FF400000000000000000000000000000000000B1
+:10FF500000000000000000000000000000000000A1
+:10FF60000000000000000000000000000000000091
+:10FF70000000000000000000000000000000000081
+:10FF80000000000000010000000000000000000070
+:10FF90000000000000000000000000000000000061
+:10FFA0000000000000000000000000000000000051
+:10FFB0000000000000000000000000000000000041
+:10FFC000000000000000000000000001000001002F
+:10FFD000000000010101000202020202020202020C
+:10FFE0000201020101010000000000000000000009
+:10FFF0000000000000000000000000000000000001
+:02000002B0004C
+:1000000000000000000000000000000000000000F0
+:1000100000000000000000000000000000000000E0
+:1000200000000000000000010000000000000100CE
+:1000300000000000010101000000000000000000BD
+:1000400000000000000000000000000000000000B0
+:1000500000000000000000000000000000000000A0
+:100060000000000000000000000000000000000090
+:100070000000000000000000000000000000000080
+:10008000000000000001010000000000000000006E
+:100090000000000000000000000000000000000060
+:1000A0000000000000000000000000000000000050
+:1000B0000000000000000000000000000000000040
+:1000C000000000000000000001000001000001002D
+:1000D000000000010101010202020202020202020A
+:1000E0000201020101010000000000000000000008
+:1000F0000000000000000000000000000000000000
+:1001000000000000000000000000000000000000EF
+:1001100000000000000000000000000000000000DF
+:1001200000000000000000010000000100000100CC
+:1001300000000000010101000000000000000000BC
+:1001400000000000000000000000000000000000AF
+:10015000000000000000000000000000000000009F
+:10016000000000000000000000000000000000008F
+:10017000000000000000000000000000000002007D
+:10018000000000000101010000000000000000006C
+:10019000000000000000000000000000000000005F
+:1001A000000000000000000000000000000000004F
+:1001B000000000000000000000000000000000003F
+:1001C000000000000000000001000000000001002D
+:1001D0000101000101010102020202020202020207
+:1001E0000202020201010000000000000000000005
+:1001F00000000000000000000000000000000000FF
+:1002000000000000000000000000000000000000EE
+:1002100000000000000000000000000000000000DE
+:1002200000000000000000020000010100000100C9
+:1002300000000000010101000000000000000000BB
+:1002400000000000000000000000000000000000AE
+:10025000000000000000000000000000000000009E
+:10026000000000000000000000000000000000008E
+:10027000000000000000000000000000000002007C
+:100280000000020001010100000000000000000069
+:10029000000000000000000000000000000000005E
+:1002A000000000000000000000000000000000004E
+:1002B000000000000000000000000000000000003E
+:1002C000000000000000000001000000000000012C
+:1002D0000101000101010102020202020202020206
+:1002E0000202020201010000000000000000000004
+:1002F00000000000000000000000000000000000FE
+:1003000000000000000000000000000000000000ED
+:1003100000000000000000000000000000000000DD
+:1003200000000000000000020001010101020100C4
+:1003300002000000010101000000000000000000B8
+:1003400000000000000000000000000000000000AD
+:10035000000000000000000000000000000000009D
+:10036000000000000000000000000000000000008D
+:10037000000000000000000000000000000002007B
+:100380000000020001010100000000000000000068
+:10039000000000000000000000000000000000005D
+:1003A000000000000000000000000000000000004D
+:1003B000000000000000000000000000000000003D
+:1003C000000000000000000001000000000000002C
+:1003D0000101000101010102020202020202020205
+:1003E0000202020201020000000000000000000002
+:1003F00000000000000000000000000000000000FD
+:1004000000000000000000000000000000000000EC
+:1004100000000000000000000000000000000000DC
+:1004200000000000000000020102020201020100BF
+:1004300002000000010101000000000000000000B7
+:1004400000000000000000000000000000000000AC
+:10045000000000000000000000000000000000009C
+:10046000000000000000000000000000000000008C
+:10047000000000000000000000000000000002007A
+:100480000000010101010100000000000000000067
+:10049000000000000000000000000000000000005C
+:1004A000000000000000000000000000000000004C
+:1004B000000000000000000000000000000000003C
+:1004C000000000000000000001000000000000002B
+:1004D0000001010101010102020202020202020204
+:1004E0000202020202020000000000000000000000
+:1004F00000000000000000000000000000000000FC
+:1005000000000000000000000000000000000000EB
+:1005100000000000000000000000000000000000DB
+:1005200000000000000000020102020202010100BE
+:1005300002000000010201000000000000000000B5
+:1005400000000000000000000000000000000000AB
+:10055000000000000000000000000000000000009B
+:10056000000000000000000000000000000000008B
+:100570000000000000000000000000000002020077
+:100580000200010101010100000000000000000064
+:10059000000000000000000000000000000000005B
+:1005A000000000000000000000000000000000004B
+:1005B000000000000000000000000000000000003B
+:1005C0000000000000000000010000000001000029
+:1005D0000001010101010102020202020202020203
+:1005E00002020202020200000000000000000000FF
+:1005F00000000000000000000000000000000000FB
+:1006000000000000000000000000000000000000EA
+:1006100000000000000000000000000000000000DA
+:1006200000000000000000020202020202010200BB
+:1006300001000201020202000000000000000000B0
+:1006400000000000000000000000000000000000AA
+:10065000000000000000000000000000000000009A
+:10066000000000000000000000000000000000008A
+:100670000000000000000000010000000002010076
+:100680000200010101010100000000000000000063
+:10069000000000000000000000000000000000005A
+:1006A000000000000000000000000000000000004A
+:1006B000000000000000000000000000000000003A
+:1006C0000000000000000000010000000001000028
+:1006D0000001010101010102020202020202020202
+:1006E00002020202020200000000000000000000FE
+:1006F00000000000000000000000000000000000FA
+:1007000000000000000000000000000000000000E9
+:1007100000000000000000000000000000000000D9
+:1007200000000000000000020202020202020200B9
+:1007300001000201020202000000000000000000AF
+:1007400000000000000000000000000000000000A9
+:100750000000000000000000000000000000000099
+:100760000000000000000000000000000000000089
+:100770000000000000000000010000010201010073
+:100780000101010101010100000000000000000062
+:100790000000000000000000000000000000000059
+:1007A0000000000000000000000000000000000049
+:1007B0000000000000000000000000000000000039
+:1007C0000000000000000000010000000001000027
+:1007D0000001010101010102020102020202020202
+:1007E00002020202020200000000000000000000FD
+:1007F00000000000000000000000000000000000F9
+:1008000000000000000000000000000000000000E8
+:1008100000000000000000000000000000000000D8
+:1008200000000000000000020202020202020200B8
+:1008300001000101020202000000000000000000AF
+:1008400000000000000000000000000000000000A8
+:100850000000000000000000000000000000000098
+:100860000000000000000000000000000000000088
+:100870000000000000000001010200010101010070
+:100880000101010101020100000000000000000060
+:100890000000000000000000000000000000000058
+:1008A0000000000000000000000000000000000048
+:1008B0000000000000000000000000000000000038
+:1008C0000000000000000000020000000001000025
+:1008D0000000010202020101020102020201010202
+:1008E00001020202020200000000000000000000FD
+:1008F00000000000000000000000000000000000F8
+:1009000000000000000000000000000000000000E7
+:1009100000000000000000000000000000000000D7
+:1009200000000000000000020202020202020202B5
+:1009300002000102020202000000000000000000AC
+:1009400000000000000000000000000000000000A7
+:100950000000000000000000000000000000000097
+:100960000000000000000000000000000000000087
+:10097000000000000000000202010001010101006E
+:10098000010101010202020000000000000000005D
+:100990000000000000000000000000000000000057
+:1009A0000000000000000000000000000000000047
+:1009B0000000000000000000000000000000000037
+:1009C0000000000000000000020000020000000023
+:1009D0000000000202020101010101010201010106
+:1009E00001020102020200000000000000000000FD
+:1009F00000000000000000000000000000000000F7
+:100A000000000000000000000000000000000000E6
+:100A100000000000000000000000000000000000D6
+:100A200000000000000000020202020202020202B4
+:100A300002000202020202000000000000000000AA
+:100A400000000000000000000000000000000000A6
+:100A50000000000000000000000000000000000096
+:100A60000000000000000000000000000000000086
+:100A7000000000000000000202020102010101006A
+:100A8000010102020202020000000000000000005A
+:100A90000000000000000000000000000000000056
+:100AA0000000000000000000000000000000000046
+:100AB0000000000000000000000000000000000036
+:100AC0000000000000000000020001020000000021
+:100AD0000000000202020101010101010101010106
+:100AE00001020102020200000000000000000000FC
+:100AF00000000000000000000000000000000000F6
+:100B000000000000000000000000000000000000E5
+:100B100000000000000000000000000000000000D5
+:100B200000000000000000010201010101010202B9
+:100B300002020202020202000000000000000000A7
+:100B400000000000000000000000000000000000A5
+:100B50000000000000000000000000000000000095
+:100B60000000000000000000000000000000000085
+:100B70000000000000000002020202020202020164
+:100B80000202020202020200000000000000000057
+:100B90000000000000000000000000000000000055
+:100BA0000000000000000000000000000000000045
+:100BB0000000000000000000000000000000000035
+:100BC0000000000000000000020001020000000020
+:100BD0000000000202020201010101010101010104
+:100BE00001020101020200000000000000000000FC
+:100BF00000000000000000000000000000000000F5
+:100C000000000000000000000000000000000000E4
+:100C100000000000000000000000000000000000D4
+:100C200000000000000000020202020202020202B2
+:100C300002020202020202000000000000000000A6
+:100C400000000000000000000000000000000000A4
+:100C50000000000000000000000000000000000094
+:100C60000000000000000000000000000000000084
+:100C70000000000000000002020202020202020262
+:100C80000202020202020200000000000000000056
+:100C90000000000000000000000000000000000054
+:100CA0000000000000000000000000000000000044
+:100CB0000000000000000000000000000000000034
+:100CC000000000000000000002000102010002001C
+:100CD0000002000202020201010101010101010101
+:100CE00001010101020200000000000000000000FC
+:100CF00000000000000000000000000000000000F4
+:100D000000000000000000000000000000000000E3
+:100D100000000000000000000000000000000000D3
+:100D200000000000000000000000000000000000C3
+:100D300000000000000000000000000000000000B3
+:100D400000000000000000000000000000000000A3
+:100D50000000000000000000000000000000000093
+:100D60000000000000000000000000000000000083
+:100D70000000000000000002020202020202020261
+:100D80000202020202020200000000000000000055
+:100D90000000000000000000000000000000000053
+:100DA0000000000000000000000000000000000043
+:100DB0000000000000000000000000000000000033
+:100DC0000000000000000000020102020102020017
+:100DD00000020202020202010100010101010101FF
+:100DE00001010101010101000000000000000000FC
+:100DF00000000000000000000000000000000000F3
+:100E000000000000000000000000000000000000E2
+:100E100000000000000000000000000000000000D2
+:100E200000000000000000000000000000000000C2
+:100E300000000000000000000000000000000000B2
+:100E400000000000000000000000000000000000A2
+:100E50000000000000000000000000000000000092
+:100E60000000000000000000000000000000000082
+:100E70000000000000000002020202020202020260
+:100E80000202020202020200000000000000000054
+:100E90000000000000000000000000000000000052
+:100EA0000000000000000000000000000000000042
+:100EB0000000000000000000000000000000000032
+:100EC0000000000000000002020202020002020014
+:100ED00002020202020202010100010101000001FE
+:100EE00000010101010101000000000000000000FC
+:100EF00000000000000000000000000000000000F2
+:100F000000000000000000000000000000000000E1
+:100F100000000000000000000000000000000000D1
+:100F200000000000000000000000000000000000C1
+:100F300000000000000000000000000000000000B1
+:100F400000000000000000000000000000000000A1
+:100F50000000000000000000000000000000000091
+:100F60000000000000000000000000000000000081
+:100F70000000000000000002020102020202020260
+:100F80000202020202020200000000000000000053
+:100F90000000000000000000000000000000000051
+:100FA0000000000000000000000000000000000041
+:100FB0000000000000000000000000000000000031
+:100FC0000000000000000002020202020202020011
+:100FD00002020202020202010101010101010101FA
+:100FE00001010101010101000000000000000000FA
+:100FF00000000000000000000000000000000000F1
+:1010000000000000000000000000000000000000E0
+:1010100000000000000000000000000000000000D0
+:1010200000000000000000010101010101010101B7
+:1010300001010101010101000000000000000000A9
+:1010400000000000000000000000000000000000A0
+:101050000000000000000000000000000000000090
+:101060000000000000000000000000000000000080
+:101070000000000000000001010101010101010167
+:101080000101010101010100000000000000000059
+:101090000000000000000000000000000000000050
+:1010A0000000000000000000000000000000000040
+:1010B0000000000000000000000000000000000030
+:1010C000000000000000000202020202020202020E
+:1010D00002020202020202010101010101010101F9
+:1010E00001010101010101000000000000000000F9
+:1010F00000000000000000000000000000000000F0
+:1011000000000000000000000000000000000000DF
+:1011100000000000000000000000000000000000CF
+:1011200000000000000000010101010101010101B6
+:1011300001010101010101000000000000000000A8
+:10114000000000000000000000000000000000009F
+:10115000000000000000000000000000000000008F
+:10116000000000000000000000000000000000007F
+:10117000000000000000000202020202020202025D
+:101180000202020202020200000000000000000051
+:10119000000000000000000000000000000000004F
+:1011A000000000000000000000000000000000003F
+:1011B000000000000000000000000000000000002F
+:1011C000000000000000000202020202020202020D
+:1011D00002020202020202010101010101010101F8
+:1011E00001010101010101000000000000000000F8
+:1011F00000000000000000000000000000000000EF
+:1012000000000000000000000000000000000000DE
+:1012100000000000000000000000000000000000CE
+:1012200000000000000000010101010101010101B5
+:1012300001010101010101000000000000000000A7
+:10124000000000000000000000000000000000009E
+:10125000000000000000000000000000000000008E
+:10126000000000000000000000000000000000007E
+:10127000000000000000000000020000000000006C
+:10128000000000000000000000000000000000005E
+:10129000000000000000000000000000000000004E
+:1012A000000000000000000000000000000000003E
+:1012B000000000000000000000000000000000002E
+:1012C000000000000000000202020202020202020C
+:1012D00002020202020202010101010101010101F7
+:1012E00001010101010101000000000000000000F7
+:1012F00000000000000000000000000000000000EE
+:1013000000000000000000000000000000000000DD
+:1013100000000000000000000000000000000000CD
+:1013200000000000000000010101010101010101B4
+:1013300001010101010101000000000000000000A6
+:10134000000000000000000000000000000000009D
+:10135000000000000000000000000000000000008D
+:10136000000000000000000000000000000000007D
+:101370000000000000000001010101010101010164
+:101380000101010101010100000000000000000056
+:10139000000000000000000000000000000000004D
+:1013A000000000000000000000000000000000003D
+:1013B000000000000000000000000000000000002D
+:1013C000000000000000000202020202020202020B
+:1013D00002020202020202010101010101010101F6
+:1013E00001010101010101000000000000000000F6
+:1013F00000000000000000000000000000000000ED
+:1014000000000000000000000000000000000000DC
+:1014100000000000000000000000000000000000CC
+:1014200000000000000000010101010101010101B3
+:1014300001010101010101000000000000000000A5
+:10144000000000000000000000000000000000009C
+:10145000000000000000000000000000000000008C
+:10146000000000000000000000000000000000007C
+:101470000000000000000001010101010101010163
+:101480000101010101010100000000000000000055
+:10149000000000000000000000000000000000004C
+:1014A000000000000000000000000000000000003C
+:1014B000000000000000000000000000000000002C
+:1014C000000000000000000202020202020202020A
+:1014D00002020202020202010101010101010101F5
+:1014E00001010101010101000000000000000000F5
+:1014F00000000000000000000000000000000000EC
+:1015000000000000000000000000000000000000DB
+:1015100000000000000000000000000000000000CB
+:1015200000000000000000020202020202020202A9
+:10153000020202020202020000000000000000009D
+:10154000000000000000000000000000000000009B
+:10155000000000000000000000000000000000008B
+:10156000000000000000000000000000000000007B
+:101570000000000000000002020202020202020259
+:10158000020202020202020000000000000000004D
+:10159000000000000000000000000000000000004B
+:1015A000000000000000000000000000000000003B
+:1015B000000000000000000000000000000000002B
+:1015C0000000000000000002020202020202020209
+:1015D00002020202020202000000000000000000FD
+:1015E00000000000000000000000000000000000FB
+:1015F00000000000000000000000000000000000EB
+:1016000000000000000000000000000000000000DA
+:1016100000000000000000000000000000000000CA
+:1016200000000000000000000000000000000000BA
+:1016300000000000000000000000000000000000AA
+:10164000000000000000000000000000000000009A
+:10165000000000000000000000000000000000008A
+:10166000000000000000000000000000000000007A
+:10167000000000000000000000000000000000006A
+:10168000000000000000000000000000000000005A
+:10169000000000000000000000000000000000004A
+:1016A000000000000000000000000000000000003A
+:1016B000000000000000000000000000000000002A
+:1016C000000000000000000000000000000000001A
+:1016D000000000000000001E0000000000000002EA
+:1016E00000000000000000010001000001000000F7
+:1016F00000000000000000000000000000000000EA
+:1017000000000000000000000000000000000000D9
+:1017100000000000000000000000000000000000C9
+:1017200000000000000000000000000000000000B9
+:1017300000000000000000000000000000000000A9
+:101740000000000000000000000000000000000099
+:101750000000000000000000000000000000000089
+:101760000000000000000000000000000000000079
+:101770000000000000000000000000000000000069
+:101780000000000000000000000000000000000059
+:101790000000000000000000000000000000000049
+:1017A0000000000000000000000000000000000039
+:1017B0000000000000000000000000000000000029
+:1017C0000000000000000000000000000000000019
+:1017D0000101000100000000000000000000000204
+:1017E00000000000010101010001010101010000F0
+:1017F00000000000000000000000000000000000E9
+:1018000000000000000000000000000000000000D8
+:1018100000000000000000000000000000000000C8
+:1018200000000000000000000000000000000000B8
+:1018300000000000000000000000000000000000A8
+:101840000000000000000000000000000000000098
+:101850000000000000000000000000000000000088
+:101860000000000000000000000000000000000078
+:101870000000000000000000000000000000000068
+:101880000000000000000000000000000000000058
+:101890000000000000000000000000000000000048
+:1018A0000000000000000000000000000000000038
+:1018B0000000000000000000000000000000000028
+:1018C0000000000000000000000000000000000018
+:1018D0000101010101000000000000000000000201
+:1018E00000010001010101010101010101010000EC
+:1018F00000000000000000000000000000000000E8
+:1019000000000000000000000000000000000000D7
+:1019100000000000000000000000000000000000C7
+:1019200000000000000000000000000000000000B7
+:1019300000000000000000000000000000000000A7
+:101940000000000000000000000000000000000097
+:101950000000000000000000000000000000000087
+:101960000000000000000000000000000000000077
+:101970000000000000000000000000000000000067
+:101980000000000000000000000000000000000057
+:101990000000000000000000000000000000000047
+:1019A0000000000000000000000000000000000037
+:1019B0000000000000000000000000000000000027
+:1019C0000000000000000000000000000000000017
+:1019D00001010101010000000000010000000002FF
+:1019E00001010101020101010101010101010000E8
+:1019F00000000000000000000000000000000000E7
+:101A000000000000000000000000000000000000D6
+:101A100000000000000000000000000000000000C6
+:101A200000000000000000000000000000000000B6
+:101A300000000000000000000000000000000000A6
+:101A40000000000000000000000000000000000096
+:101A50000000000000000000000000000000000086
+:101A60000000000000000000000000000000000076
+:101A70000000000000000000000000000000000066
+:101A80000000000002000000000000000000010053
+:101A90000000000000000000000000000000000046
+:101AA0000000000000000000000000000000000036
+:101AB0000000000000000000000000000000000026
+:101AC0000000000000000000000000000000000016
+:101AD00001010101010000010001010000000002FC
+:101AE00002010101020101010101020201010000E4
+:101AF00000000000000000000000000000000000E6
+:101B000000000000000000000000000000000000D5
+:101B100000000000000000000000000000000000C5
+:101B200000000000000000000000000000000000B5
+:101B300000000000000000000000000000000000A5
+:101B40000000000000000000000000000000000095
+:101B50000000000000000000000000000000000085
+:101B60000000000000000000000000000000000075
+:101B70000000000000000000000000000000000065
+:101B80000000000002000000010000000000010051
+:101B90000000000000000000000000000000000045
+:101BA0000000000000000000000000000000000035
+:101BB0000000000000000000000000000000000025
+:101BC0000000000000000000000000000000000015
+:101BD00000010101010100010001010000000002FB
+:101BE00002020202020201020102020202010000DC
+:101BF00000000000000000000000000000000000E5
+:101C000000000000000000000000000000000000D4
+:101C100000000000000000000000000000000000C4
+:101C200000000000000000000000000000000000B4
+:101C300000000000000000000000000000000000A4
+:101C40000000000000000000000000000000000094
+:101C50000000000000000000000000000000000084
+:101C60000000000000000000000000000000000074
+:101C70000000000000000000000000000000000064
+:101C80000000000002000000010000000000010050
+:101C90000000000000000000000000000000000044
+:101CA0000000000000000000000000000000000034
+:101CB0000000000000000000000000000000000024
+:101CC0000000000000000000000000000000000014
+:101CD00000000000000100010001010000000102FD
+:101CE00002020202020201020102020202010000DB
+:101CF00000000000000000000000000000000000E4
+:101D000000000000000000000000000000000000D3
+:101D100000000000000000000000000000000000C3
+:101D200000000000000000000000000000000000B3
+:101D300000000000000000000000000000000000A3
+:101D40000000000000000000000000000000000093
+:101D50000000000000000000000000000000000083
+:101D60000000000000000000000000000000000073
+:101D70000000000000000000000000000000000063
+:101D8000000000000200000001000000000001004F
+:101D90000000000000000000000000000000000043
+:101DA0000000000000000000000000000000000033
+:101DB0000000000000000000000000000000000023
+:101DC0000000000000000000000000000000000013
+:101DD00000000000000100010001010001000102FB
+:101DE00002020202020202020102020202020000D8
+:101DF00000000000000000000000000000000000E3
+:101E000000000000000000000000000000000000D2
+:101E100000000000000000000000000000000000C2
+:101E200000000000000000000000000000000000B2
+:101E300000000000000000000000000000000100A1
+:101E40000000000000000000000000000000000092
+:101E50000000000000000000000000000000000082
+:101E60000000000000000000000000000000000072
+:101E70000000000000000000000000000000000062
+:101E8000000000000100010001000000000101004D
+:101E90000000000000000000000000000000000042
+:101EA0000000000000000000000000000000000032
+:101EB0000000000000000000000000000000000022
+:101EC0000000000000000000000000000000000012
+:101ED00000000000000100010101010101000102F8
+:101EE00002020202020202020102020202020000D7
+:101EF00000000000000000000000000000000000E2
+:101F000000000000000000000000000000000000D1
+:101F100000000000000000000000000000000000C1
+:101F200000000000000000000000000000000000B1
+:101F3000000000000000000001000000000001009F
+:101F40000000000000000000000000000000000091
+:101F50000000000000000000000000000000000081
+:101F60000000000000000000000000000000000071
+:101F70000000000000000000000000000000000061
+:101F8000000000000100010001000000000101004C
+:101F90000000000000000000000000000000000041
+:101FA0000000000000000000000000000000000031
+:101FB0000000000000000000000000000000000021
+:101FC0000000000000000000000000000000000011
+:101FD00000000000000101010101010101010102F5
+:101FE00002020202020202020202020202020000D5
+:101FF00000000000000000000000000000000000E1
+:1020000000000000000000000000000000000000D0
+:1020100000000000000000000000000000000000C0
+:1020200000000000000000000000000000000000B0
+:10203000000000000000010001000000000101009C
+:102040000000000000000000000000000000000090
+:102050000000000000000000000000000000000080
+:102060000000000000000000000000000000000070
+:102070000000000000000000000000000000000060
+:10208000000000000100010001000000000101004B
+:102090000000000000000000000000000000000040
+:1020A0000000000000000000000000000000000030
+:1020B0000000000000000000000000000000000020
+:1020C0000000000000000000000000000000000010
+:1020D00000000000000101010101000101010102F5
+:1020E00002020202020202020202020202020000D4
+:1020F00000000000000000000000000000000000E0
+:1021000000000000000000000000000000000000CF
+:1021100000000000000000000000000000000000BF
+:1021200000000000000000000000000000000000AF
+:10213000000000000000010001000000000101009B
+:10214000000000000000000000000000000000008F
+:10215000000000000000000000000000000000007F
+:10216000000000000000000000000000000000006F
+:10217000000000000000000000000000000000005F
+:102180000001000001000101010000000001010048
+:10219000000000000000000000000000000000003F
+:1021A000000000000000000000000000000000002F
+:1021B000000000000000000000000000000000001F
+:1021C000000000000000000000000000000000000F
+:1021D00000000000000101010101000101010102F4
+:1021E00002020202020202020202020202020000D3
+:1021F00000000000000000000000000000000000DF
+:1022000000000000000000000000000000000000CE
+:1022100000000000000000000000000000000000BE
+:1022200000000000000000000000000000000000AE
+:10223000000000000000010001000000000101009A
+:10224000000000000000000000000000000000008E
+:10225000000000000000000000000000000000007E
+:10226000000000000000000000000000000000006E
+:10227000000000000000000000000000000000015D
+:102280000001000001000101010000000101010046
+:10229000000000000000000000000000000000003E
+:1022A000000000000000000000000000000000002E
+:1022B000000000000000000000000000000000001E
+:1022C000000000000000000000000000000000000E
+:1022D00000000000000001000100000101010102F6
+:1022E00002020202020202020202020202020000D2
+:1022F00000000000000000000000000000000000DE
+:1023000000000000000000000000000000000000CD
+:1023100000000000000000000000000000000000BD
+:1023200000000000000000000000000000000000AD
+:102330000000000000000100010100000101010097
+:10234000000000000000000000000000000000008D
+:10235000000000000000000000000000000000007D
+:10236000000000000000000000000000000000006D
+:10237000000000000000000000000000000000015C
+:102380000101000101000101010100000101010042
+:10239000000000000000000000000000000000003D
+:1023A000000000000000000000000000000000002D
+:1023B000000000000000000000000000000000001D
+:1023C000000000000000000000000000000000000D
+:1023D00000000000000001000100000001010101F7
+:1023E00002020202020202020202020202020000D1
+:1023F00000000000000000000000000000000000DD
+:1024000000000000000000000000000000000000CC
+:1024100000000000000000000000000000000000BC
+:1024200000000000000000000000000000000001AB
+:102430000000000000000100010100000101010096
+:10244000000000000000000000000000000000008C
+:10245000000000000000000000000000000000007C
+:10246000000000000000000000000000000000006C
+:10247000000000000000000000000000000000025A
+:10248000010101010101010102010000010102003D
+:10249000000000000000000000000000000000003C
+:1024A000000000000000000000000000000000002C
+:1024B000000000000000000000000000000000001C
+:1024C000000000000000000000000000000000000C
+:1024D00000000000000001000100000001010101F6
+:1024E00002020202020202020202020202020000D0
+:1024F00000000000000000000000000000000000DC
+:1025000000000000000000000000000000000000CB
+:1025100000000000000000000000000000000000BB
+:1025200000000000000000000000000000000002A9
+:102530000001000001000101010100000101010092
+:10254000000000000000000000000000000000008B
+:10255000000000000000000000000000000000007B
+:10256000000000000000000000000000000000006B
+:102570000000000000000000000000000000000259
+:102580000202010102010201020101000102020036
+:10259000000000000000000000000000000000003B
+:1025A000000000000000000000000000000000002B
+:1025B000000000000000000000000000000000001B
+:1025C000000000000000000000000000000000000B
+:1025D00000000000000001000100000000010101F6
+:1025E00002020202010202020202010102020000D2
+:1025F00000000000000000000000000000000000DB
+:1026000000000000000000000000000000000000CA
+:1026100000000000000000000000000000000000BA
+:1026200000000000000000000000000000000002A8
+:102630000001000001010101010100000101010090
+:10264000000000000000000000000000000000008A
+:10265000000000000000000000000000000000007A
+:10266000000000000000000000000000000000006A
+:102670000000000000000000000000000000000258
+:102680000202020202010202020101000102020032
+:10269000000000000000000000000000000000003A
+:1026A000000000000000000000000000000000002A
+:1026B000000000000000000000000000000000001A
+:1026C000000000000000000000000000000000000A
+:1026D00000000000000001000100000000010101F5
+:1026E00001020202010202020202010102020000D2
+:1026F00000000000000000000000000000000000DA
+:1027000000000000000000000000000000000000C9
+:1027100000000000000000000000000000000000B9
+:1027200000000000000000000000000000000002A7
+:10273000000100010201010101010000010101008D
+:102740000000000000000000000000000000000089
+:102750000000000000000000000000000000000079
+:102760000000000000000000000000000000000069
+:102770000000000000000000000000000000000257
+:10278000020202020202020202020101020202002D
+:102790000000000000000000000000000000000039
+:1027A0000000000000000000000000000000000029
+:1027B0000000000000000000000000000000000019
+:1027C0000000000000000000000000000000000009
+:1027D00000000000000001000100000000010201F3
+:1027E00001010101010102010201010101020000D8
+:1027F00000000000000000000000000000000000D9
+:1028000000000000000000000000000000000000C8
+:1028100000000000000000000000000000000000B8
+:1028200000000000000000000000000000000002A6
+:102830000001000102010201020101000102020087
+:102840000000000000000000000000000000000088
+:102850000000000000000000000000000000000078
+:102860000000000000000000000000000000000068
+:102870000000000000000000000000000000000256
+:10288000020202020202020202020201020202002B
+:102890000000000000000000000000000000000038
+:1028A0000000000000000000000000000000000028
+:1028B0000000000000000000000000000000000018
+:1028C0000000000000000000000000000000000008
+:1028D00000000000000202020202020002020201E5
+:1028E00001010101010101010201010101010000D9
+:1028F00000000000000000000000000000000000D8
+:1029000000000000000000000000000000000000C7
+:1029100000000000000000000000000000000000B7
+:1029200000000000000000000000000000000002A5
+:102930000102000102010201020201000202020082
+:102940000000000000000000000000000000000087
+:102950000000000000000000000000000000000077
+:102960000000000000000000000000000000000067
+:102970000000000000000000000000000000000255
+:102980000202020202020202020202020202020029
+:102990000000000000000000000000000000000037
+:1029A0000000000000000000000000000000000027
+:1029B0000000000000000000000000000000000017
+:1029C0000000000000000000000000000000000007
+:1029D00002000000000202020202020002020201E2
+:1029E00001010101010101010101010101010000D9
+:1029F00000000000000000000000000000000000D7
+:102A000000000000000000000000000000000000C6
+:102A100000000000000000000000000000000000B6
+:102A200000000000000000000000000000000002A4
+:102A3000020201020202020202020100020202007C
+:102A40000000000000000000000000000000000086
+:102A50000000000000000000000000000000000076
+:102A60000000000000000000000000000000000066
+:102A70000000000000000000000000000000000254
+:102A80000202020202020202020202020202020028
+:102A90000000000000000000000000000000000036
+:102AA0000000000000000000000000000000000026
+:102AB0000000000000000000000000000000000016
+:102AC0000000000000000000000000000000000006
+:102AD00002020202020202020202020002020201D9
+:102AE00001010101010101010101010101010000D8
+:102AF00000000000000000000000000000000000D6
+:102B000000000000000000000000000000000000C5
+:102B100000000000000000000000000000000000B5
+:102B200000000000000000000000000000000001A4
+:102B30000202020202020202020202000202020079
+:102B40000000000000000000000000000000000085
+:102B50000000000000000000000000000000000075
+:102B60000000000000000000000000000000000065
+:102B70000000000000000000000000000000000253
+:102B80000202020202020202020202020202020027
+:102B90000000000000000000000000000000000035
+:102BA0000000000000000000000000000000000025
+:102BB0000000000000000000000000000000000015
+:102BC0000000000000000000000000000000000005
+:102BD00002020202020202020202020202020201D6
+:102BE00001010101010101010101010101010100D6
+:102BF00000000000000000000000000000000000D5
+:102C000000000000000000000000000000000000C4
+:102C100000000000000000000000000000000000B4
+:102C200000000000000000000000000000000002A2
+:102C30000202020201020202020202000202020079
+:102C40000000000000000000000000000000000084
+:102C50000000000000000000000000000000000074
+:102C60000000000000000000000000000000000064
+:102C70000000000000000000000000000000000153
+:102C80000101010101010101010102020201010032
+:102C90000000000000000000000000000000000034
+:102CA0000000000000000000000000000000000024
+:102CB0000000000000000000000000000000000014
+:102CC0000000000000000000000000000000000202
+:102CD00002020202020202020202020202020200D6
+:102CE00001010101010101010101010101010100D5
+:102CF00000000000000000000000000000000000D4
+:102D000000000000000000000000000000000000C3
+:102D100000000000000000000000000000000000B3
+:102D200000000000000000000000000000000000A3
+:102D30000202020202020202020202000202020077
+:102D40000000000000000000000000000000000083
+:102D50000000000000000000000000000000000073
+:102D60000000000000000000000000000000000063
+:102D70000000000000000000000000000000000152
+:102D80000202020201020202020201010102020029
+:102D90000000000000000000000000000000000033
+:102DA0000000000000000000000000000000000023
+:102DB0000000000000000000000000000000000013
+:102DC0000000000000000000000000000000000201
+:102DD00002020202020202020202020202020000D7
+:102DE00001010101000101010101000001010100D7
+:102DF00000000000000000000000000000000000D3
+:102E000000000000000000000000000000000000C2
+:102E100000000000000000000000000000000000B2
+:102E200000000000000000000000000000000000A2
+:102E30000202020200020202020202020202020076
+:102E40000000000000000000000000000000000082
+:102E50000000000000000000000000000000000072
+:102E60000000000000000000000000000000000062
+:102E70000000000000000000000000000000000250
+:102E8000000000000200000000000202020000003A
+:102E90000000000000000000000000000000000032
+:102EA0000000000000000000000000000000000022
+:102EB0000000000000000000000000000000000012
+:102EC0000000000000000000000000000000000200
+:102ED00002020202020000000000000200000000E6
+:102EE00000010101000101010101000001010100D7
+:102EF00000000000000000000000000000000000D2
+:102F000000000000000000000000000000000000C1
+:102F100000000000000000000000000000000000B1
+:102F200000000000000000000000000000000001A0
+:102F30000101010101010101010101010101010082
+:102F40000000000000000000000000000000000081
+:102F50000000000000000000000000000000000071
+:102F60000000000000000000000000000000000061
+:102F7000000000000000000000000000000000024F
+:102F8000000000000200000000000000000000003F
+:102F90000000000000000000000000000000000031
+:102FA0000000000000000000000000000000000021
+:102FB0000000000000000000000000000000000011
+:102FC00000000000000000000000000000000002FF
+:102FD00002020202020202020202020202020201D2
+:102FE00001010101010101010101010101010100D2
+:102FF00000000000000000000000000000000000D1
+:1030000000000000000000000000000000000000C0
+:1030100000000000000000000000000000000000B0
+:10302000000000000000000000000000000000019F
+:103030000101010101010101010101010101010081
+:103040000000000000000000000000000000000080
+:103050000000000000000000000000000000000070
+:103060000000000000000000000000000000000060
+:103070000000000000000000000000000000000050
+:103080000000000000000000000000000000000040
+:103090000000000000000000000000000000000030
+:1030A0000000000000000000000000000000000020
+:1030B0000000000000000000000000000000000010
+:1030C00000000000000000000000000000000002FE
+:1030D00002020202020202020202020202020201D1
+:1030E00001010101010101010101010101010100D1
+:1030F00000000000000000000000000000000000D0
+:1031000000000000000000000000000000000000BF
+:1031100000000000000000000000000000000000AF
+:10312000000000000000000000000000000000019E
+:103130000101010101010101010101010101010080
+:10314000000000000000000000000000000000007F
+:10315000000000000000000000000000000000006F
+:10316000000000000000000000000000000000005F
+:10317000000000000000000000000000000000014E
+:103180000101010101010101010101010101010030
+:10319000000000000000000000000000000000002F
+:1031A000000000000000000000000000000000001F
+:1031B000000000000000000000000000000000000F
+:1031C00000000000000000000000000000000002FD
+:1031D00002020202020202020202020202020201D0
+:1031E00001010101010101010101010101010100D0
+:1031F00000000000000000000000000000000000CF
+:1032000000000000000000000000000000000000BE
+:1032100000000000000000000000000000000000AE
+:10322000000000000000000000000000000000019D
+:10323000010101010101010101010101010101007F
+:10324000000000000000000000000000000000007E
+:10325000000000000000000000000000000000006E
+:10326000000000000000000000000000000000005E
+:10327000000000000000000000000000000000014D
+:10328000010101010101010101010101010101002F
+:10329000000000000000000000000000000000002E
+:1032A000000000000000000000000000000000001E
+:1032B000000000000000000000000000000000000E
+:1032C00000000000000000000000000000000002FC
+:1032D00002020202020202020202020202020201CF
+:1032E00001010101010101010101010101010100CF
+:1032F00000000000000000000000000000000000CE
+:1033000000000000000000000000000000000000BD
+:1033100000000000000000000000000000000000AD
+:10332000000000000000000000000000000000029B
+:10333000020202020202020202020202020202006F
+:10334000000000000000000000000000000000007D
+:10335000000000000000000000000000000000006D
+:10336000000000000000000000000000000000005D
+:10337000000000000000000000000000000000024B
+:10338000020202020202020202020202020202001F
+:10339000000000000000000000000000000000002D
+:1033A000000000000000000000000000000000001D
+:1033B000000000000000000000000000000000000D
+:1033C00000000000000000000000000000000002FB
+:1033D00002020202020202020202020202020200CF
+:1033E00000000000000000000000000000000000DD
+:1033F00000000000000000000000000000000000CD
+:1034000000000000000000000000000000000000BC
+:1034100000000000000000000000000000000000AC
+:10342000000000000000000000000000000000009C
+:10343000000000000000000000000000000000008C
+:10344000000000000000000000000000000000007C
+:10345000000000000000000000000000000000006C
+:10346000000000000000000000000000000000005C
+:10347000000000000000000000000000000000004C
+:10348000000000000000000000000000000000003C
+:10349000000000000000000000000000000000002C
+:1034A000000000000000000000000000000000001C
+:1034B000000000000000000000000000000000000C
+:1034C00000000000000000000000000000000000FC
+:0F34D000000000000000000000000000000000ED
+:00000001FF
diff --git a/firmware/imx/epdc_E60_V220.fw.ihex b/firmware/imx/epdc_E60_V220.fw.ihex
new file mode 100644 (file)
index 0000000..812cbfb
--- /dev/null
@@ -0,0 +1,77569 @@
+:10000000BD611693236A0100BC04000007060500C9
+:100010000304021D3C180085000000004000001190
+:100020004700000100040D00FFFC00000000005428
+:10003000000306090C0F1215181B1E21262B302851
+:1000400000000000000000086B070000000000E84E
+:1000500015090000000000C8A20D0000000000A863
+:100060002F1200000000009800000000000000A017
+:10007000F3000000000000A8CA010000000000B06A
+:1000800081020000000000B838030000000000C03A
+:10009000CF030000000000C844040000000000D0AE
+:1000A000B1040000000000D816050000000000E0C8
+:1000B00073050000000000E8D0050000000000F01B
+:1000C0002D060000000000F88E0600000000000071
+:1000D000F8060000000000F300000000000000012E
+:1000E0000101010101010101010101010101010100
+:1000F00001010101010101010101010101010101F0
+:1001000001010101010101010101010101010101DF
+:1001100001010101010101010101010101010101CF
+:1001200001010101010101010101010101010101BF
+:1001300001010101010101010101010101010101AF
+:10014000010101010101010101010101010101019F
+:10015000010101010101010101010101010101018F
+:10016000010101010101010101010101010101017F
+:10017000010101010101010101010101010101016F
+:10018000010101010101010101010101010101015F
+:10019000010101010101010101010101010101014F
+:1001A000010101010101010101010101010101013F
+:1001B000010101010101010101010101010101012F
+:1001C000010101010101010101010101010101011F
+:1001D000010101010101010101010101010101010F
+:1001E00001010101010101010101010101010101FF
+:1001F00001010101010101010101010101010101EF
+:1002000001010101010101010101010101010101DE
+:1002100001010101010101010101010101010101CE
+:1002200001010101010101010101010101010101BE
+:1002300001010101010101010101010101010101AE
+:10024000010101010101010101010101010101019E
+:10025000010101010101010101010101010101018E
+:10026000010101010101010101010101010101017E
+:10027000010101010101010101010101010101016E
+:10028000010101010101010101010101010101015E
+:10029000010101010101010101010101010101014E
+:1002A000010101010101010101010101010101013E
+:1002B000010101010101010101010101010101012E
+:1002C000010101010101010101010101010101011E
+:1002D000010101010101010101010101010101010E
+:1002E00001010101010101010101010101010101FE
+:1002F00001010101010101010101010101010101EE
+:1003000001010101010101010101010101010101DD
+:1003100001010101010101010101010101010101CD
+:1003200001010101010101010101010101010101BD
+:1003300001010101010101010101010101010101AD
+:10034000010101010101010101010101010101019D
+:10035000010101010101010101010101010101018D
+:10036000010101010101010101010101010101017D
+:10037000010101010101010101010101010101016D
+:10038000010101010101010101010101010101015D
+:10039000010101010101010101010101010101014D
+:1003A000010101010101010101010101010101013D
+:1003B000010101010101010101010101010101012D
+:1003C000010101010101010101010101010101011D
+:1003D000010101010101010101010101010101010D
+:1003E00001010101010101010101010101010101FD
+:1003F00001010101010101010101010101010101ED
+:1004000001010101010101010101010101010101DC
+:1004100001010101010101010101010101010101CC
+:1004200001010101010101010101010101010101BC
+:1004300001010101010101010101010101010101AC
+:10044000010101010101010101010101010101019C
+:10045000010101010101010101010101010101018C
+:10046000010101010101010101010101010101017C
+:10047000010101010101010101010101010101016C
+:10048000010101010101010101010101010101015C
+:10049000010101010101010101010101010101014C
+:1004A000010101010101010101010101010101013C
+:1004B000010101010101010101010101010101012C
+:1004C000010101010101010101010101010101011C
+:1004D000010101010101010101010101010101010C
+:1004E00001010101010101010101010101010101FC
+:1004F00001010101010101010101010101010101EC
+:1005000001010101010101010101010101010101DB
+:1005100001010101010101010101010101010101CB
+:1005200001010101010101010101010101010101BB
+:1005300001010101010101010101010101010101AB
+:10054000010101010101010101010101010101019B
+:10055000010101010101010101010101010101018B
+:10056000010101010101010101010101010101017B
+:10057000010101010101010101010101010101016B
+:10058000010101010101010101010101010101015B
+:10059000010101010101010101010101010101014B
+:1005A000010101010101010101010101010101013B
+:1005B000010101010101010101010101010101012B
+:1005C000010101010101010101010101010101011B
+:1005D000010101010101010101010101010101010B
+:1005E00001010101010101010101010101010101FB
+:1005F00001010101010101010101010101010101EB
+:1006000001010101010101010101010101010101DA
+:1006100001010101010101010101010101010101CA
+:1006200001010101010101010101010101010101BA
+:1006300001010101010101010101010101010101AA
+:10064000010101010101010101010101010101019A
+:10065000010101010101010101010101010101018A
+:10066000010101010101010101010101010101017A
+:10067000010101010101010101010101010101016A
+:10068000010101010101010101010101010101015A
+:10069000010101010101010101010101010101014A
+:1006A000010101010101010101010101010101013A
+:1006B000010101010101010101010101010101012A
+:1006C000010101010101010101010101010101011A
+:1006D000010101010101010101010101010101010A
+:1006E00001010101010101010101010101010101FA
+:1006F00001010101010101010101010101010101EA
+:1007000001010101010101010101010101010101D9
+:1007100001010101010101010101010101010101C9
+:1007200001010101010101010101010101010101B9
+:1007300001010101010101010101010101010101A9
+:100740000101010101010101010101010101010199
+:100750000101010101010101010101010101010189
+:100760000101010101010101010101010101010179
+:100770000101010101010101010101010101010169
+:100780000101010101010101010101010101010159
+:100790000101010101010101010101010101010149
+:1007A0000101010101010101010101010101010139
+:1007B0000101010101010101010101010101010129
+:1007C0000101010101010101010101010101010119
+:1007D0000101010101010101010101010101010109
+:1007E00001010101010101010101010101010101F9
+:1007F00001010101010101010101010101010101E9
+:1008000001010101010101010101010101010101D8
+:1008100001010101010101010101010101010101C8
+:1008200001010101010101010101010101010101B8
+:1008300001010101010101010101010101010101A8
+:100840000101010101010101010101010101010198
+:100850000101010101010101010101010101010188
+:100860000101010101010101010101010101010178
+:100870000101010101010101010101010101010168
+:100880000101010101010101010101010101010158
+:100890000101010101010101010101010101010148
+:1008A0000101010101010101010101010101010138
+:1008B0000101010101010101010101010101010128
+:1008C0000101010101010101010101010101010118
+:1008D0000101010101010101010101010101010108
+:1008E00001010101010101010101010101010101F8
+:1008F00001010101010101010101010101010101E8
+:1009000001010101010101010101010101010101D7
+:1009100001010101010101010101010101010101C7
+:1009200001010101010101010101010101010101B7
+:1009300001010101010101010101010101010101A7
+:100940000101010101010101010101010101010197
+:100950000101010101010101010101010101010187
+:100960000101010101010101010101010101010177
+:100970000101010101010101010101010101010167
+:100980000101010101010101010101010101010157
+:100990000101010101010101010101010101010147
+:1009A0000101010101010101010101010101010137
+:1009B0000101010101010101010101010101010127
+:1009C0000101010101010101010101010101010117
+:1009D0000101010101010101010101010101010107
+:1009E00001010101010101010101010101010101F7
+:1009F00001010101010101010101010101010101E7
+:100A000001010101010101010101010101010101D6
+:100A100001010101010101010101010101010101C6
+:100A200001010101010101010101010101010101B6
+:100A300001010101010101010101010101010101A6
+:100A40000101010101010101010101010101010196
+:100A50000101010101010101010101010101010186
+:100A60000101010101010101010101010101010176
+:100A70000101010101010101010101010101010166
+:100A80000101010101010101010101010101010156
+:100A90000101010101010101010101010101010146
+:100AA0000101010101010101010101010101010136
+:100AB0000101010101010101010101010101010126
+:100AC0000101010101010101010101010101010116
+:100AD0000101010101010101010101010101010106
+:100AE00001010101010101010101010101010101F6
+:100AF00001010101010101010101010101010101E6
+:100B000001010101010101010101010101010101D5
+:100B100001010101010101010101010101010101C5
+:100B200001010101010101010101010101010101B5
+:100B300001010101010101010101010101010101A5
+:100B40000101010101010101010101010101010195
+:100B50000101010101010101010101010101010185
+:100B60000101010101010101010101010101010175
+:100B70000101010101010101010101010101010165
+:100B80000101010101010101010101010101010155
+:100B90000101010101010101010101010101010145
+:100BA0000101010101010101010101010101010135
+:100BB0000101010101010101010101010101010125
+:100BC0000101010101010101010101010101010115
+:100BD0000101010101010101010101010101010105
+:100BE00001010101010101010101010101010101F5
+:100BF00001010101010101010101010101010101E5
+:100C000001010101010101010101010101010101D4
+:100C100001010101010101010101010101010101C4
+:100C200001010101010101010101010101010101B4
+:100C300001010101010101010101010101010101A4
+:100C40000101010101010101010101010101010194
+:100C50000101010101010101010101010101010184
+:100C60000101010101010101010101010101010174
+:100C70000101010101010101010101010101010164
+:100C80000101010101010101010101010101010154
+:100C90000101010101010101010101010101010144
+:100CA0000101010101010101010101010101010134
+:100CB0000101010101010101010101010101010124
+:100CC0000101010101010101010101010101010114
+:100CD0000101010101010101010101010101010104
+:100CE00001010101010101010101010101010101F4
+:100CF00001010101010101010101010101010101E4
+:100D000001010101010101010101010101010101D3
+:100D100001010101010101010101010101010101C3
+:100D200001010101010101010101010101010101B3
+:100D300001010101010101010101010101010101A3
+:100D40000101010101010101010101010101010193
+:100D50000101010101010101010101010101010183
+:100D60000101010101010101010101010101010173
+:100D70000101010101010101010101010101010163
+:100D80000101010101010101010101010101010153
+:100D90000101010101010101010101010101010143
+:100DA0000101010101010101010101010101010133
+:100DB0000101010101010101010101010101010123
+:100DC0000101010101010101010101010101010113
+:100DD0000101010101010101010101010101010103
+:100DE00001010101010101010101010101010101F3
+:100DF00001010101010101010101010101010101E3
+:100E000001010101010101010101010101010101D2
+:100E100001010101010101010101010101010101C2
+:100E200001010101010101010101010101010101B2
+:100E300001010101010101010101010101010101A2
+:100E40000101010101010101010101010101010192
+:100E50000101010101010101010101010101010182
+:100E60000101010101010101010101010101010172
+:100E70000101010101010101010101010101010162
+:100E80000101010101010101010101010101010152
+:100E90000101010101010101010101010101010142
+:100EA0000101010101010101010101010101010132
+:100EB0000101010101010101010101010101010122
+:100EC0000101010101010101010101010101010112
+:100ED0000101010101010101010101010101010102
+:100EE00001010101010101010101010101010101F2
+:100EF00001010101010101010101010101010101E2
+:100F000001010101010101010101010101010101D1
+:100F100001010101010101010101010101010101C1
+:100F200001010101010101010101010101010101B1
+:100F300001010101010101010101010101010101A1
+:100F40000101010101010101010101010101010191
+:100F50000101010101010101010101010101010181
+:100F60000101010101010101010101010101010171
+:100F70000101010101010101010101010101010161
+:100F80000101010101010101010101010101010151
+:100F90000101010101010101010101010101010141
+:100FA0000101010101010101010101010101010131
+:100FB0000101010101010101010101010101010121
+:100FC0000101010101010101010101010101010111
+:100FD0000101010101010101010101010101010101
+:100FE00001010101010101010101010101010101F1
+:100FF00001010101010101010101010101010101E1
+:1010000001010101010101010101010101010101D0
+:1010100001010101010101010101010101010101C0
+:1010200001010101010101010101010101010101B0
+:1010300001010101010101010101010101010101A0
+:101040000101010101010101010101010101010190
+:101050000101010101010101010101010101010180
+:101060000101010101010101010101010101010170
+:101070000101010101010101010101010101010160
+:101080000101010101010101010101010101010150
+:101090000101010101010101010101010101010140
+:1010A0000101010101010101010101010101010130
+:1010B0000101010101010101010101010101010120
+:1010C0000101010101010101010101010101010110
+:1010D0000101010101010101010101010101010100
+:1010E00001010101010101010101010101010101F0
+:1010F00001010101010101010101010101010101E0
+:1011000001010101010101010101010101010101CF
+:1011100001010101010101010101010101010101BF
+:1011200001010101010101010101010101010101AF
+:10113000010101010101010101010101010101019F
+:10114000010101010101010101010101010101018F
+:10115000010101010101010101010101010101017F
+:10116000010101010101010101010101010101016F
+:10117000010101010101010101010101010101015F
+:10118000010101010101010101010101010101014F
+:10119000010101010101010101010101010101013F
+:1011A000010101010101010101010101010101012F
+:1011B000010101010101010101010101010101011F
+:1011C000010101010101010101010101010101010F
+:1011D00001010101010101010101010101010101FF
+:1011E00001010101010101010101010101010101EF
+:1011F00001010101010101010101010101010101DF
+:1012000001010101010101010101010101010101CE
+:1012100001010101010101010101010101010101BE
+:1012200001010101010101010101010101010101AE
+:10123000010101010101010101010101010101019E
+:10124000010101010101010101010101010101018E
+:10125000010101010101010101010101010101017E
+:10126000010101010101010101010101010101016E
+:10127000010101010101010101010101010101015E
+:10128000010101010101010101010101010101014E
+:10129000010101010101010101010101010101013E
+:1012A000010101010101010101010101010101012E
+:1012B000010101010101010101010101010101011E
+:1012C000010101010101010101010101010101010E
+:1012D00001010101010101010101010101010101FE
+:1012E00001010101010101010101010101010101EE
+:1012F00001010101010101010101010101010101DE
+:1013000001010101010101010101010101010101CD
+:1013100001010101010101010101010101010101BD
+:1013200001010101010101010101010101010101AD
+:10133000010101010101010101010101010101019D
+:10134000010101010101010101010101010101018D
+:10135000010101010101010101010101010101017D
+:10136000010101010101010101010101010101016D
+:10137000010101010101010101010101010101015D
+:10138000010101010101010101010101010101014D
+:10139000010101010101010101010101010101013D
+:1013A000010101010101010101010101010101012D
+:1013B000010101010101010101010101010101011D
+:1013C000010101010101010101010101010101010D
+:1013D00001010101010101010101010101010101FD
+:1013E00001010101010101010101010101010101ED
+:1013F00001010101010101010101010101010101DD
+:1014000001010101010101010101010101010101CC
+:1014100001010101010101010101010101010101BC
+:1014200001010101010101010101010101010101AC
+:10143000010101010101010101010101010101019C
+:10144000010101010101010101010101010101018C
+:10145000010101010101010101010101010101017C
+:10146000010101010101010101010101010101016C
+:10147000010101010101010101010101010101015C
+:10148000010101010101010101010101010101014C
+:10149000010101010101010101010101010101013C
+:1014A000010101010101010101010101010101012C
+:1014B000010101010101010101010101010101011C
+:1014C000010101010101010101010101010101010C
+:1014D00001010101010101010101010101010101FC
+:1014E00001010101010101010101010101010101EC
+:1014F00001010101010101010101010101010101DC
+:1015000001010101010101010101010101010101CB
+:1015100001010101010101010101010101010101BB
+:1015200001010101010101010101010101010101AB
+:10153000010101010101010101010101010101019B
+:10154000010101010101010101010101010101018B
+:10155000010101010101010101010101010101017B
+:10156000010101010101010101010101010101016B
+:10157000010101010101010101010101010101015B
+:10158000010101010101010101010101010101014B
+:10159000010101010101010101010101010101013B
+:1015A000010101010101010101010101010101012B
+:1015B000010101010101010101010101010101011B
+:1015C000010101010101010101010101010101010B
+:1015D00001010101010101010101010101010101FB
+:1015E00001010101010101010101010101010101EB
+:1015F00001010101010101010101010101010101DB
+:1016000001010101010101010101010101010101CA
+:1016100001010101010101010101010101010101BA
+:1016200001010101010101010101010101010101AA
+:10163000010101010101010101010101010101019A
+:10164000010101010101010101010101010101018A
+:10165000010101010101010101010101010101017A
+:10166000010101010101010101010101010101016A
+:10167000010101010101010101010101010101015A
+:10168000010101010101010101010101010101014A
+:10169000010101010101010101010101010101013A
+:1016A000010101010101010101010101010101012A
+:1016B000010101010101010101010101010101011A
+:1016C000010101010101010101010101010101010A
+:1016D00001010101010101010101010101010101FA
+:1016E00001010101010101010101010101010101EA
+:1016F00001010101010101010101010101010101DA
+:1017000001010101010101010101010101010101C9
+:1017100001010101010101010101010101010101B9
+:1017200001010101010101010101010101010101A9
+:101730000101010101010101010101010101010199
+:101740000101010101010101010101010101010189
+:101750000101010101010101010101010101010179
+:101760000101010101010101010101010101010169
+:101770000101010101010101010101010101010159
+:101780000101010101010101010101010101010149
+:101790000101010101010101010101010101010139
+:1017A0000101010101010101010101010101010129
+:1017B0000101010101010101010101010101010119
+:1017C0000101010101010101010101010101010109
+:1017D00001010101010101010101010101010101F9
+:1017E00001010101010101010101010101010101E9
+:1017F00001010101010101010101010101010101D9
+:1018000001010101010101010101010101010101C8
+:1018100001010101010101010101010101010101B8
+:1018200001010101010101010101010101010101A8
+:101830000101010101010101010101010101010198
+:101840000101010101010101010101010101010188
+:101850000101010101010101010101010101010178
+:101860000101010101010101010101010101010168
+:101870000101010101010101010101010101010158
+:101880000101010101010101010101010101010148
+:101890000101010101010101010101010101010138
+:1018A0000101010101010101010101010101010128
+:1018B0000101010101010101010101010101010118
+:1018C0000101010101010101010101010101010108
+:1018D00001010101010101010101010101010101F8
+:1018E00001010101010101010101010101010101E8
+:1018F00001010101010101010101010101010101D8
+:1019000001010101010101010101010101010101C7
+:1019100001010101010101010101010101010101B7
+:1019200001010101010101010101010101010101A7
+:101930000101010101010101010101010101010197
+:101940000101010101010101010101010101010187
+:101950000101010101010101010101010101010177
+:101960000101010101010101010101010101010167
+:101970000101010101010101010101010101010157
+:101980000101010101010101010101010101010147
+:101990000101010101010101010101010101010137
+:1019A0000101010101010101010101010101010127
+:1019B0000101010101010101010101010101010117
+:1019C0000101010101010101010101010101010107
+:1019D00001010101010101010101010101010101F7
+:1019E00001010101010101010101010101010101E7
+:1019F00001010101010101010101010101010101D7
+:101A000001010101010101010101010101010101C6
+:101A100001010101010101010101010101010101B6
+:101A200001010101010101010101010101010101A6
+:101A30000101010101010101010101010101010196
+:101A40000101010101010101010101010101010186
+:101A50000101010101010101010101010101010176
+:101A60000101010101010101010101010101010166
+:101A70000101010101010101010101010101010156
+:101A80000101010101010101010101010101010146
+:101A90000101010101010101010101010101010136
+:101AA0000101010101010101010101010101010126
+:101AB0000101010101010101010101010101010116
+:101AC0000101010101010101010101010101010106
+:101AD00001010101010101010101010101010101F6
+:101AE00001010101010101010101010101010101E6
+:101AF00001010101010101010101010101010101D6
+:101B000001010101010101010101010101010101C5
+:101B100001010101010101010101010101010101B5
+:101B200001010101010101010101010101010101A5
+:101B30000101010101010101010101010101010195
+:101B40000101010101010101010101010101010185
+:101B50000101010101010101010101010101010175
+:101B60000101010101010101010101010101010165
+:101B70000101010101010101010101010101010155
+:101B80000101010101010101010101010101010145
+:101B90000101010101010101010101010101010135
+:101BA0000101010101010101010101010101010125
+:101BB0000101010101010101010101010101010115
+:101BC0000101010101010101010101010101010105
+:101BD00001010101010101010101010101010101F5
+:101BE00001010101010101010101010101010101E5
+:101BF00001010101010101010101010101010101D5
+:101C000001010101010101010101010101010101C4
+:101C100001010101010101010101010101010101B4
+:101C200001010101010101010101010101010101A4
+:101C30000101010101010101010101010101010194
+:101C40000101010101010101010101010101010184
+:101C50000101010101010101010101010101010174
+:101C60000101010101010101010101010101010164
+:101C70000101010101010101010101010101010154
+:101C80000101010101010101010101010101010144
+:101C90000101010101010101010101010101010134
+:101CA0000101010101010101010101010101010124
+:101CB0000101010101010101010101010101010114
+:101CC0000101010101010101010101010101010104
+:101CD00001010101010101010101010101010101F4
+:101CE00001010101010101010101010101010101E4
+:101CF00001010101010101010101010101010101D4
+:101D000001010101010101010101010101010101C3
+:101D100001010101010101010101010101010101B3
+:101D200001010101010101010101010101010101A3
+:101D30000101010101010101010101010101010193
+:101D40000101010101010101010101010101010183
+:101D50000101010101010101010101010101010173
+:101D60000101010101010101010101010101010163
+:101D70000101010101010101010101010101010153
+:101D80000101010101010101010101010101010143
+:101D90000101010101010101010101010101010133
+:101DA0000101010101010101010101010101010123
+:101DB0000101010101010101010101010101010113
+:101DC0000101010101010101010101010101010103
+:101DD00001010101010101010101010101010101F3
+:101DE00001010101010101010101010101010101E3
+:101DF00001010101010101010101010101010101D3
+:101E000001010101010101010101010101010101C2
+:101E100001010101010101010101010101010101B2
+:101E200001010101010101010101010101010101A2
+:101E30000101010101010101010101010101010192
+:101E40000101010101010101010101010101010182
+:101E50000101010101010101010101010101010172
+:101E60000101010101010101010101010101010162
+:101E70000101010101010101010101010101010152
+:101E80000101010101010101010101010101010142
+:101E90000101010101010101010101010101010132
+:101EA0000101010101010101010101010101010122
+:101EB0000101010101010101010101010101010112
+:101EC0000101010101010101010101010101010102
+:101ED00001010101010101010101010101010101F2
+:101EE00001010101010101010101010101010101E2
+:101EF00001010101010101010101010101010101D2
+:101F000001010101010101010101010101010101C1
+:101F100001010101010101010101010101010101B1
+:101F200001010101010101010101010101010101A1
+:101F30000101010101010101010101010101010191
+:101F40000101010101010101010101010101010181
+:101F50000101010101010101010101010101010171
+:101F60000101010101010101010101010101010161
+:101F70000101010101010101010101010101010151
+:101F80000101010101010101010101010101010141
+:101F90000101010101010101010101010101010131
+:101FA0000101010101010101010101010101010121
+:101FB0000101010101010101010101010101010111
+:101FC0000101010101010101010101010101010101
+:101FD00001010101010101010101010101010101F1
+:101FE00001010101010101010101010101010101E1
+:101FF00001010101010101010101010101010101D1
+:1020000001010101010101010101010101010101C0
+:1020100001010101010101010101010101010101B0
+:1020200001010101010101010101010101010101A0
+:102030000101010101010101010101010101010190
+:102040000101010101010101010101010101010180
+:102050000101010101010101010101010101010170
+:102060000101010101010101010101010101010160
+:102070000101010101010101010101010101010150
+:102080000101010101010101010101010101010140
+:102090000101010101010101010101010101010130
+:1020A0000101010101010101010101010101010120
+:1020B0000101010101010101010101010101010110
+:1020C0000101010101010101010101010101010100
+:1020D00001010101010101010101010101010101F0
+:1020E00001010101010101010101010101010101E0
+:1020F00001010101010101010101010101010101D0
+:1021000001010101010101010101010101010101BF
+:1021100001010101010101010101010101010101AF
+:10212000010101010101010101010101010101019F
+:10213000010101010101010101010101010101018F
+:10214000010101010101010101010101010101017F
+:10215000010101010101010101010101010101016F
+:10216000010101010101010101010101010101015F
+:10217000010101010101010101010101010101014F
+:10218000010101010101010101010101010101013F
+:10219000010101010101010101010101010101012F
+:1021A000010101010101010101010101010101011F
+:1021B000010101010101010101010101010101010F
+:1021C00001010101010101010101010101010101FF
+:1021D00001010101010101010101010101010101EF
+:1021E00001010101010101010101010101010101DF
+:1021F00001010101010101010101010101010101CF
+:1022000001010101010101010101010101010101BE
+:1022100001010101010101010101010101010101AE
+:10222000010101010101010101010101010101019E
+:10223000010101010101010101010101010101018E
+:10224000010101010101010101010101010101017E
+:10225000010101010101010101010101010101016E
+:10226000010101010101010101010101010101015E
+:10227000010101010101010101010101010101014E
+:10228000010101010101010101010101010101013E
+:10229000010101010101010101010101010101012E
+:1022A000010101010101010101010101010101011E
+:1022B000010101010101010101010101010101010E
+:1022C00001010101010101010101010101010101FE
+:1022D00001010101010101010101010101010101EE
+:1022E00001010101010101010101010101010101DE
+:1022F00001010101010101010101010101010101CE
+:1023000001010101010101010101010101010101BD
+:1023100001010101010101010101010101010101AD
+:10232000010101010101010101010101010101019D
+:10233000010101010101010101010101010101018D
+:10234000010101010101010101010101010101017D
+:10235000010101010101010101010101010101016D
+:10236000010101010101010101010101010101015D
+:10237000010101010101010101010101010101014D
+:10238000010101010101010101010101010101013D
+:10239000010101010101010101010101010101012D
+:1023A000010101010101010101010101010101011D
+:1023B000010101010101010101010101010101010D
+:1023C00001010101010101010101010101010101FD
+:1023D00001010101010101010101010101010101ED
+:1023E00001010101010101010101010101010101DD
+:1023F00001010101010101010101010101010101CD
+:1024000001010101010101010101010101010101BC
+:1024100001010101010101010101010101010101AC
+:10242000010101010101010101010101010101019C
+:10243000010101010101010101010101010101018C
+:10244000010101010101010101010101010101017C
+:10245000010101010101010101010101010101016C
+:10246000010101010101010101010101010101015C
+:10247000010101010101010101010101010101014C
+:10248000010101010101010101010101010101013C
+:10249000010101010101010101010101010101012C
+:1024A000010101010101010101010101010101011C
+:1024B000010101010101010101010101010101010C
+:1024C00001010101010101010101010101010101FC
+:1024D00001010101010101010101010101010101EC
+:1024E00001010101010101010101010101010101DC
+:1024F00001010101010101010101010101010101CC
+:1025000001010101010101010101010101010101BB
+:1025100001010101010101010101010101010101AB
+:10252000010101010101010101010101010101019B
+:10253000010101010101010101010101010101018B
+:10254000010101010101010101010101010101017B
+:10255000010101010101010101010101010101016B
+:10256000010101010101010101010101010101015B
+:10257000010101010101010101010101010101014B
+:10258000010101010101010101010101010101013B
+:10259000010101010101010101010101010101012B
+:1025A000010101010101010101010101010101011B
+:1025B000010101010101010101010101010101010B
+:1025C00001010101010101010101010101010101FB
+:1025D00001010101010101010101010101010101EB
+:1025E00001010101010101010101010101010101DB
+:1025F00001010101010101010101010101010101CB
+:1026000001010101010101010101010101010101BA
+:1026100001010101010101010101010101010101AA
+:10262000010101010101010101010101010101019A
+:10263000010101010101010101010101010101018A
+:10264000010101010101010101010101010101017A
+:10265000010101010101010101010101010101016A
+:10266000010101010101010101010101010101015A
+:10267000010101010101010101010101010101014A
+:10268000010101010101010101010101010101013A
+:10269000010101010101010101010101010101012A
+:1026A000010101010101010101010101010101011A
+:1026B000010101010101010101010101010101010A
+:1026C00001010101010101010101010101010101FA
+:1026D00001010101010101010101010101010101EA
+:1026E00001010101010101010101010101010101DA
+:1026F00001010101010101010101010101010101CA
+:1027000001010101010101010101010101010101B9
+:1027100001010101010101010101010101010101A9
+:102720000101010101010101010101010101010199
+:102730000101010101010101010101010101010189
+:102740000101010101010101010101010101010179
+:102750000101010101010101010101010101010169
+:102760000101010101010101010101010101010159
+:102770000101010101010101010101010101010149
+:102780000101010101010101010101010101010139
+:102790000101010101010101010101010101010129
+:1027A0000101010101010101010101010101010119
+:1027B0000101010101010101010101010101010109
+:1027C00001010101010101010101010101010101F9
+:1027D00001010101010101010101010101010101E9
+:1027E00001010101010101010101010101010101D9
+:1027F00001010101010101010101010101010101C9
+:1028000001010101010101010101010101010101B8
+:1028100001010101010101010101010101010101A8
+:102820000101010101010101010101010101010198
+:102830000101010101010101010101010101010188
+:102840000101010101010101010101010101010178
+:102850000101010101010101010101010101010168
+:102860000101010101010101010101010101010158
+:102870000101010101010101010101010101010148
+:102880000101010101010101010101010101010138
+:102890000101010101010101010101010101010128
+:1028A0000101010101010101010101010101010118
+:1028B0000101010101010101010101010101010108
+:1028C00001010101010101010101010101010101F8
+:1028D00001010101010101010101010101010101E8
+:1028E00001010101010101010101010101010101D8
+:1028F00001010101010101010101010101010101C8
+:1029000001010101010101010101010101010101B7
+:1029100001010101010101010101010101010101A7
+:102920000101010101010101010101010101010197
+:102930000101010101010101010101010101010187
+:102940000101010101010101010101010101010177
+:102950000101010101010101010101010101010167
+:102960000101010101010101010101010101010157
+:102970000101010101010101010101010101010147
+:102980000101010101010101010101010101010137
+:102990000101010101010101010101010101010127
+:1029A0000101010101010101010101010101010117
+:1029B0000101010101010101010101010101010107
+:1029C00001010101010101010101010101010101F7
+:1029D00001010101010101010101010101010101E7
+:1029E00001010101010101010101010101010101D7
+:1029F00001010101010101010101010101010101C7
+:102A000001010101010101010101010101010101B6
+:102A100001010101010101010101010101010101A6
+:102A20000101010101010101010101010101010196
+:102A30000101010101010101010101010101010186
+:102A40000101010101010101010101010101010176
+:102A50000101010101010101010101010101010166
+:102A60000101010101010101010101010101010156
+:102A70000101010101010101010101010101010146
+:102A80000101010101010101010101010101010136
+:102A90000101010101010101010101010101010126
+:102AA0000101010101010101010101010101010116
+:102AB0000101010101010101010101010101010106
+:102AC00001010101010101010101010101010101F6
+:102AD00001010101010101010101010101010101E6
+:102AE00001010101010101010101010101010101D6
+:102AF00001010101010101010101010101010101C6
+:102B000001010101010101010101010101010101B5
+:102B100001010101010101010101010101010101A5
+:102B20000101010101010101010101010101010195
+:102B30000101010101010101010101010101010185
+:102B40000101010101010101010101010101010175
+:102B50000101010101010101010101010101010165
+:102B60000101010101010101010101010101010155
+:102B70000101010101010101010101010101010145
+:102B80000101010101010101010101010101010135
+:102B90000101010101010101010101010101010125
+:102BA0000101010101010101010101010101010115
+:102BB0000101010101010101010101010101010105
+:102BC00001010101010101010101010101010101F5
+:102BD00001010101010101010101010101010101E5
+:102BE00001010101010101010101010101010101D5
+:102BF00001010101010101010101010101010101C5
+:102C000001010101010101010101010101010101B4
+:102C100001010101010101010101010101010101A4
+:102C20000101010101010101010101010101010194
+:102C30000101010101010101010101010101010184
+:102C40000101010101010101010101010101010174
+:102C50000101010101010101010101010101010164
+:102C60000101010101010101010101010101010154
+:102C70000101010101010101010101010101010144
+:102C80000101010101010101010101010101010134
+:102C90000101010101010101010101010101010124
+:102CA0000101010101010101010101010101010114
+:102CB0000101010101010101010101010101010104
+:102CC00001010101010101010101010101010101F4
+:102CD00001010101010101010101010101010101E4
+:102CE00001010101010101010101010101010101D4
+:102CF00001010101010101010101010101010101C4
+:102D000001010101010101010101010101010101B3
+:102D100001010101010101010101010101010101A3
+:102D20000101010101010101010101010101010193
+:102D30000101010101010101010101010101010183
+:102D40000101010101010101010101010101010173
+:102D50000101010101010101010101010101010163
+:102D60000101010101010101010101010101010153
+:102D70000101010101010101010101010101010143
+:102D80000101010101010101010101010101010133
+:102D90000101010101010101010101010101010123
+:102DA0000101010101010101010101010101010113
+:102DB0000101010101010101010101010101010103
+:102DC00001010101010101010101010101010101F3
+:102DD00001010101010101010101010101010101E3
+:102DE00001010101010101010101010101010101D3
+:102DF00001010101010101010101010101010101C3
+:102E000001010101010101010101010101010101B2
+:102E100001010101010101010101010101010101A2
+:102E20000101010101010101010101010101010192
+:102E30000101010101010101010101010101010182
+:102E40000101010101010101010101010101010172
+:102E50000101010101010101010101010101010162
+:102E60000101010101010101010101010101010152
+:102E70000101010101010101010101010101010142
+:102E80000101010101010101010101010101010132
+:102E90000101010101010101010101010101010122
+:102EA0000101010101010101010101010101010112
+:102EB0000101010101010101010101010101010102
+:102EC00001010101010101010101010101010101F2
+:102ED00001010101010101010101010101010101E2
+:102EE00001010101010101010101010101010101D2
+:102EF00001010101010101010101010101010101C2
+:102F000001010101010101010101010101010101B1
+:102F100001010101010101010101010101010101A1
+:102F20000101010101010101010101010101010191
+:102F30000101010101010101010101010101010181
+:102F40000101010101010101010101010101010171
+:102F50000101010101010101010101010101010161
+:102F60000101010101010101010101010101010151
+:102F70000101010101010101010101010101010141
+:102F80000101010101010101010101010101010131
+:102F90000101010101010101010101010101010121
+:102FA0000101010101010101010101010101010111
+:102FB0000101010101010101010101010101010101
+:102FC00001010101010101010101010101010101F1
+:102FD00001010101010101010101010101010101E1
+:102FE00001010101010101010101010101010101D1
+:102FF00001010101010101010101010101010101C1
+:1030000001010101010101010101010101010101B0
+:1030100001010101010101010101010101010101A0
+:103020000101010101010101010101010101010190
+:103030000101010101010101010101010101010180
+:103040000101010101010101010101010101010170
+:103050000101010101010101010101010101010160
+:103060000101010101010101010101010101010150
+:103070000101010101010101010101010101010140
+:103080000101010101010101010101010101010130
+:103090000101010101010101010101010101010120
+:1030A0000101010101010101010101010101010110
+:1030B0000101010101010101010101010101010100
+:1030C00001010101010101010101010101010101F0
+:1030D00001010101010101010101010101010101E0
+:1030E00001010101010101010101010101010101D0
+:1030F00001010101010101010101010101010101C0
+:1031000001010101010101010101010101010101AF
+:10311000010101010101010101010101010101019F
+:10312000010101010101010101010101010101018F
+:10313000010101010101010101010101010101017F
+:10314000010101010101010101010101010101016F
+:10315000010101010101010101010101010101015F
+:10316000010101010101010101010101010101014F
+:10317000010101010101010101010101010101013F
+:10318000010101010101010101010101010101012F
+:10319000010101010101010101010101010101011F
+:1031A000010101010101010101010101010101010F
+:1031B00001010101010101010101010101010101FF
+:1031C00001010101010101010101010101010101EF
+:1031D00001010101010101010101010101010101DF
+:1031E00001010101010101010101010101010101CF
+:1031F00001010101010101010101010101010101BF
+:1032000001010101010101010101010101010101AE
+:10321000010101010101010101010101010101019E
+:10322000010101010101010101010101010101018E
+:10323000010101010101010101010101010101017E
+:10324000010101010101010101010101010101016E
+:10325000010101010101010101010101010101015E
+:10326000010101010101010101010101010101014E
+:10327000010101010101010101010101010101013E
+:10328000010101010101010101010101010101012E
+:10329000010101010101010101010101010101011E
+:1032A000010101010101010101010101010101010E
+:1032B00001010101010101010101010101010101FE
+:1032C00001010101010101010101010101010101EE
+:1032D00001010101010101010101010101010101DE
+:1032E00001010101010101010101010101010101CE
+:1032F00001010101010101010101010101010101BE
+:1033000001010101010101010101010101010101AD
+:10331000010101010101010101010101010101019D
+:10332000010101010101010101010101010101018D
+:10333000010101010101010101010101010101017D
+:10334000010101010101010101010101010101016D
+:10335000010101010101010101010101010101015D
+:10336000010101010101010101010101010101014D
+:10337000010101010101010101010101010101013D
+:10338000010101010101010101010101010101012D
+:10339000010101010101010101010101010101011D
+:1033A000010101010101010101010101010101010D
+:1033B00001010101010101010101010101010101FD
+:1033C00001010101010101010101010101010101ED
+:1033D00001010101010101010101010101010101DD
+:1033E00001010101010101010101010101010101CD
+:1033F00001010101010101010101010101010101BD
+:1034000001010101010101010101010101010101AC
+:10341000010101010101010101010101010101019C
+:10342000010101010101010101010101010101018C
+:10343000010101010101010101010101010101017C
+:10344000010101010101010101010101010101016C
+:10345000010101010101010101010101010101015C
+:10346000010101010101010101010101010101014C
+:10347000010101010101010101010101010101013C
+:10348000010101010101010101010101010101012C
+:10349000010101010101010101010101010101011C
+:1034A000010101010101010101010101010101010C
+:1034B00001010101010101010101010101010101FC
+:1034C00001010101010101010101010101010101EC
+:1034D00001010101010101010101010101010101DC
+:1034E00001010101010101010101010101010101CC
+:1034F00001010101010101010101010101010101BC
+:1035000001010101010101010101010101010101AB
+:10351000010101010101010101010101010101019B
+:10352000010101010101010101010101010101018B
+:10353000010101010101010101010101010101017B
+:10354000010101010101010101010101010101016B
+:10355000010101010101010101010101010101015B
+:10356000010101010101010101010101010101014B
+:10357000010101010101010101010101010101013B
+:10358000010101010101010101010101010101012B
+:10359000010101010101010101010101010101011B
+:1035A000010101010101010101010101010101010B
+:1035B00001010101010101010101010101010101FB
+:1035C00001010101010101010101010101010101EB
+:1035D00001010101010101010101010101010101DB
+:1035E00001010101010101010101010101010101CB
+:1035F00001010101010101010101010101010101BB
+:1036000001010101010101010101010101010101AA
+:10361000010101010101010101010101010101019A
+:10362000010101010101010101010101010101018A
+:10363000010101010101010101010101010101017A
+:10364000010101010101010101010101010101016A
+:10365000010101010101010101010101010101015A
+:10366000010101010101010101010101010101014A
+:10367000010101010101010101010101010101013A
+:10368000010101010101010101010101010101012A
+:10369000010101010101010101010101010101011A
+:1036A000010101010101010101010101010101010A
+:1036B00001010101010101010101010101010101FA
+:1036C00001010101010101010101010101010101EA
+:1036D00001010101010101010101010101010101DA
+:1036E00001010101010101010101010101010101CA
+:1036F00001010101010101010101010101010101BA
+:1037000001010101010101010101010101010101A9
+:103710000101010101010101010101010101010199
+:103720000101010101010101010101010101010189
+:103730000101010101010101010101010101010179
+:103740000101010101010101010101010101010169
+:103750000101010101010101010101010101010159
+:103760000101010101010101010101010101010149
+:103770000101010101010101010101010101010139
+:103780000101010101010101010101010101010129
+:103790000101010101010101010101010101010119
+:1037A0000101010101010101010101010101010109
+:1037B00001010101010101010101010101010101F9
+:1037C00001010101010101010101010101010101E9
+:1037D00001010101010101010101010101010101D9
+:1037E00001010101010101010101010101010101C9
+:1037F00001010101010101010101010101010101B9
+:1038000001010101010101010101010101010101A8
+:103810000101010101010101010101010101010198
+:103820000101010101010101010101010101010188
+:103830000101010101010101010101010101010178
+:103840000101010101010101010101010101010168
+:103850000101010101010101010101010101010158
+:103860000101010101010101010101010101010148
+:103870000101010101010101010101010101010138
+:103880000101010101010101010101010101010128
+:103890000101010101010101010101010101010118
+:1038A0000101010101010101010101010101010108
+:1038B00001010101010101010101010101010101F8
+:1038C00001010101010101010101010101010101E8
+:1038D00001010101010101010101010101010100D9
+:1038E00000000000000000000000000000000000D8
+:1038F00000000000000000000000000000000000C8
+:1039000000000000000000000000000000000000B7
+:1039100000000000000000000000000000000000A7
+:103920000000000000000000000000000000000097
+:103930000000000000000000000000000000000087
+:103940000000000000000000000000000000000077
+:103950000000000000000000000000000000000067
+:103960000000000000000000000000000000000057
+:103970000000000000000000000000000000000047
+:103980000000000000000000000000000000000037
+:103990000000000000000000000000000000000027
+:1039A0000000000000000000000000000000000017
+:1039B0000000000000000000000000000000000007
+:1039C00000000000000000000000000000000000F7
+:1039D00000000000000000000000000000000000E7
+:1039E00000000000000000000000000000000000D7
+:1039F00000000000000000000000000000000000C7
+:103A000000000000000000000000000000000000B6
+:103A100000000000000000000000000000000000A6
+:103A20000000000000000000000000000000000096
+:103A30000000000000000000000000000000000086
+:103A40000000000000000000000000000000000076
+:103A50000000000000000000000000000000000066
+:103A60000000000000000000000000000000000056
+:103A70000000000000000000000000000000000046
+:103A80000000000000000000000000000000000036
+:103A90000000000000000000000000000000000026
+:103AA0000000000000000000000000000000000016
+:103AB0000000000000000000000000000000000006
+:103AC00000000000000000000000000000000000F6
+:103AD00000000000000000000000000000000000E6
+:103AE00000000000000000000000000000000000D6
+:103AF00000000000000000000000000000000000C6
+:103B000000000000000000000000000000000000B5
+:103B100000000000000000000000000000000000A5
+:103B20000000000000000000000000000000000095
+:103B30000000000000000000000000000000000085
+:103B40000000000000000000000000000000000075
+:103B50000000000000000000000000000000000065
+:103B60000000000000000000000000000000000055
+:103B70000000000000000000000000000000000045
+:103B80000000000000000000000000000000000035
+:103B90000000000000000000000000000000000025
+:103BA0000000000000000000000000000000000015
+:103BB0000000000000000000000000000000000005
+:103BC00000000000000000000000000000000000F5
+:103BD00000000000000000000000000000000000E5
+:103BE00000000000000000000000000000000000D5
+:103BF00000000000000000000000000000000000C5
+:103C000000000000000000000000000000000000B4
+:103C100000000000000000000000000000000000A4
+:103C20000000000000000000000000000000000094
+:103C30000000000000000000000000000000000084
+:103C40000000000000000000000000000000000074
+:103C50000000000000000000000000000000000064
+:103C60000000000000000000000000000000000054
+:103C70000000000000000000000000000000000044
+:103C80000000000000000000000000000000000034
+:103C90000000000000000000000000000000000024
+:103CA0000000000000000000000000000000000014
+:103CB0000000000000000000000000000000000004
+:103CC00000000000000000000000000000000000F4
+:103CD00000000000000000000000000000000002E2
+:103CE00002020202020202020202020202020202B4
+:103CF00002020202020202020202020202020202A4
+:103D00000202020202020202020202020202020293
+:103D10000202020202020202020202020202020283
+:103D20000202020202020202020202020202020273
+:103D30000202020202020202020202020202020263
+:103D40000202020202020202020202020202020253
+:103D50000202020202020202020202020202020243
+:103D60000202020202020202020202020202020233
+:103D70000202020202020202020202020202020223
+:103D80000202020202020202020202020202020213
+:103D90000202020202020202020202020202020203
+:103DA00002020202020202020202020202020202F3
+:103DB00002020202020202020202020202020202E3
+:103DC00002020202020202020202020202020202D3
+:103DD00002020202020202020202020202020202C3
+:103DE00002020202020202020202020202020202B3
+:103DF00002020202020202020202020202020202A3
+:103E00000202020202020202020202020202020292
+:103E10000202020202020202020202020202020282
+:103E20000202020202020202020202020202020272
+:103E30000202020202020202020202020202020262
+:103E40000202020202020202020202020202020252
+:103E50000202020202020202020202020202020242
+:103E60000202020202020202020202020202020232
+:103E70000202020202020202020202020202020222
+:103E80000202020202020202020202020202020212
+:103E90000202020202020202020202020202020202
+:103EA00002020202020202020202020202020202F2
+:103EB00002020202020202020202020202020202E2
+:103EC00002020202020202020202020202020202D2
+:103ED00002020202020202020202020202020202C2
+:103EE00002020202020202020202020202020202B2
+:103EF00002020202020202020202020202020202A2
+:103F00000202020202020202020202020202020291
+:103F10000202020202020202020202020202020281
+:103F20000202020202020202020202020202020271
+:103F30000202020202020202020202020202020261
+:103F40000202020202020202020202020202020251
+:103F50000202020202020202020202020202020241
+:103F60000202020202020202020202020202020231
+:103F70000202020202020202020202020202020221
+:103F80000202020202020202020202020202020211
+:103F90000202020202020202020202020202020201
+:103FA00002020202020202020202020202020202F1
+:103FB00002020202020202020202020202020202E1
+:103FC00002020202020202020202020202020202D1
+:103FD00002020202020202020202020202020202C1
+:103FE00002020202020202020202020202020202B1
+:103FF00002020202020202020202020202020202A1
+:104000000202020202020202020202020202020290
+:104010000202020202020202020202020202020280
+:104020000202020202020202020202020202020270
+:104030000202020202020202020202020202020260
+:104040000202020202020202020202020202020250
+:104050000202020202020202020202020202020240
+:104060000202020202020202020202020202020230
+:104070000202020202020202020202020202020220
+:104080000202020202020202020202020202020210
+:104090000202020202020202020202020202020200
+:1040A00002020202020202020202020202020202F0
+:1040B00002020202020202020202020202020202E0
+:1040C00002020202020202020202020202020202D0
+:1040D00002020202020202020202020202020202C0
+:1040E00002020202020202020202020202020202B0
+:1040F00002020202020202020202020202020202A0
+:10410000020202020202020202020202020202028F
+:10411000020202020202020202020202020202027F
+:10412000020202020202020202020202020202026F
+:10413000020202020202020202020202020202025F
+:10414000020202020202020202020202020202024F
+:10415000020202020202020202020202020202023F
+:10416000020202020202020202020202020202022F
+:10417000020202020202020202020202020202021F
+:10418000020202020202020202020202020202020F
+:1041900002020202020202020202020202020202FF
+:1041A00002020202020202020202020202020202EF
+:1041B00002020202020202020202020202020202DF
+:1041C00002020202020202020202020202020202CF
+:1041D00002020202020202020202020202020202BF
+:1041E00002020202020202020202020202020202AF
+:1041F000020202020202020202020202020202029F
+:10420000020202020202020202020202020202028E
+:10421000020202020202020202020202020202027E
+:10422000020202020202020202020202020202026E
+:10423000020202020202020202020202020202025E
+:10424000020202020202020202020202020202024E
+:10425000020202020202020202020202020202023E
+:10426000020202020202020202020202020202022E
+:10427000020202020202020202020202020202021E
+:10428000020202020202020202020202020202020E
+:1042900002020202020202020202020202020202FE
+:1042A00002020202020202020202020202020202EE
+:1042B00002020202020202020202020202020202DE
+:1042C00002020202020202020202020202020202CE
+:1042D00002020202020202020202020202020202BE
+:1042E00002020202020202020202020202020202AE
+:1042F000020202020202020202020202020202029E
+:10430000020202020202020202020202020202028D
+:10431000020202020202020202020202020202027D
+:10432000020202020202020202020202020202026D
+:10433000020202020202020202020202020202025D
+:10434000020202020202020202020202020202024D
+:10435000020202020202020202020202020202023D
+:10436000020202020202020202020202020202022D
+:10437000020202020202020202020202020202021D
+:10438000020202020202020202020202020202020D
+:1043900002020202020202020202020202020202FD
+:1043A00002020202020202020202020202020202ED
+:1043B00002020202020202020202020202020202DD
+:1043C00002020202020202020202020202020202CD
+:1043D00002020202020202020202020202020202BD
+:1043E00002020202020202020202020202020202AD
+:1043F000020202020202020202020202020202029D
+:10440000020202020202020202020202020202028C
+:10441000020202020202020202020202020202027C
+:10442000020202020202020202020202020202026C
+:10443000020202020202020202020202020202025C
+:10444000020202020202020202020202020202024C
+:10445000020202020202020202020202020202023C
+:10446000020202020202020202020202020202022C
+:10447000020202020202020202020202020202021C
+:10448000020202020202020202020202020202020C
+:1044900002020202020202020202020202020202FC
+:1044A00002020202020202020202020202020202EC
+:1044B00002020202020202020202020202020202DC
+:1044C00002020202020202020202020202020202CC
+:1044D00002020202020202020202020202020202BC
+:1044E00002020202020202020202020202020202AC
+:1044F000020202020202020202020202020202029C
+:10450000020202020202020202020202020202028B
+:10451000020202020202020202020202020202027B
+:10452000020202020202020202020202020202026B
+:10453000020202020202020202020202020202025B
+:10454000020202020202020202020202020202024B
+:10455000020202020202020202020202020202023B
+:10456000020202020202020202020202020202022B
+:10457000020202020202020202020202020202021B
+:10458000020202020202020202020202020202020B
+:1045900002020202020202020202020202020202FB
+:1045A00002020202020202020202020202020202EB
+:1045B00002020202020202020202020202020202DB
+:1045C00002020202020202020202020202020202CB
+:1045D00002020202020202020202020202020202BB
+:1045E00002020202020202020202020202020202AB
+:1045F000020202020202020202020202020202029B
+:10460000020202020202020202020202020202028A
+:10461000020202020202020202020202020202027A
+:10462000020202020202020202020202020202026A
+:10463000020202020202020202020202020202025A
+:10464000020202020202020202020202020202024A
+:10465000020202020202020202020202020202023A
+:10466000020202020202020202020202020202022A
+:10467000020202020202020202020202020202021A
+:10468000020202020202020202020202020202020A
+:1046900002020202020202020202020202020202FA
+:1046A00002020202020202020202020202020202EA
+:1046B00002020202020202020202020202020202DA
+:1046C00002020202020202020202020202020202CA
+:1046D00002020202020202020202020202020202BA
+:1046E00002020202020202020202020202020202AA
+:1046F000020202020202020202020202020202029A
+:104700000202020202020202020202020202020289
+:104710000202020202020202020202020202020279
+:104720000202020202020202020202020202020269
+:104730000202020202020202020202020202020259
+:104740000202020202020202020202020202020249
+:104750000202020202020202020202020202020239
+:104760000202020202020202020202020202020229
+:104770000202020202020202020202020202020219
+:104780000202020202020202020202020202020209
+:1047900002020202020202020202020202020202F9
+:1047A00002020202020202020202020202020202E9
+:1047B00002020202020202020202020202020202D9
+:1047C00002020202020202020202020202020202C9
+:1047D00002020202020202020202020202020202B9
+:1047E00002020202020202020202020202020202A9
+:1047F0000202020202020202020202020202020299
+:104800000202020202020202020202020202020288
+:104810000202020202020202020202020202020278
+:104820000202020202020202020202020202020268
+:104830000202020202020202020202020202020258
+:104840000202020202020202020202020202020248
+:104850000202020202020202020202020202020238
+:104860000202020202020202020202020202020228
+:104870000202020202020202020202020202020218
+:104880000202020202020202020202020202020208
+:1048900002020202020202020202020202020202F8
+:1048A00002020202020202020202020202020202E8
+:1048B00002020202020202020202020202020202D8
+:1048C00002020202020202020202020202020202C8
+:1048D00002020202020202020202020202020202B8
+:1048E00002020202020202020202020202020202A8
+:1048F0000202020202020202020202020202020298
+:104900000202020202020202020202020202020287
+:104910000202020202020202020202020202020277
+:104920000202020202020202020202020202020267
+:104930000202020202020202020202020202020257
+:104940000202020202020202020202020202020247
+:104950000202020202020202020202020202020237
+:104960000202020202020202020202020202020227
+:104970000202020202020202020202020202020217
+:104980000202020202020202020202020202020207
+:1049900002020202020202020202020202020202F7
+:1049A00002020202020202020202020202020202E7
+:1049B00002020202020202020202020202020202D7
+:1049C00002020202020202020202020202020202C7
+:1049D00002020202020202020202020202020202B7
+:1049E00002020202020202020202020202020202A7
+:1049F0000202020202020202020202020202020297
+:104A00000202020202020202020202020202020286
+:104A10000202020202020202020202020202020276
+:104A20000202020202020202020202020202020266
+:104A30000202020202020202020202020202020256
+:104A40000202020202020202020202020202020246
+:104A50000202020202020202020202020202020236
+:104A60000202020202020202020202020202020226
+:104A70000202020202020202020202020202020216
+:104A80000202020202020202020202020202020206
+:104A900002020202020202020202020202020202F6
+:104AA00002020202020202020202020202020202E6
+:104AB00002020202020202020202020202020202D6
+:104AC00002020202020202020202020202020202C6
+:104AD00002020202020202020202020202020202B6
+:104AE00002020202020202020202020202020202A6
+:104AF0000202020202020202020202020202020296
+:104B00000202020202020202020202020202020285
+:104B10000202020202020202020202020202020275
+:104B20000202020202020202020202020202020265
+:104B30000202020202020202020202020202020255
+:104B40000202020202020202020202020202020245
+:104B50000202020202020202020202020202020235
+:104B60000202020202020202020202020202020225
+:104B70000202020202020202020202020202020215
+:104B80000202020202020202020202020202020205
+:104B900002020202020202020202020202020202F5
+:104BA00002020202020202020202020202020202E5
+:104BB00002020202020202020202020202020202D5
+:104BC00002020202020202020202020202020202C5
+:104BD00002020202020202020202020202020202B5
+:104BE00002020202020202020202020202020202A5
+:104BF0000202020202020202020202020202020295
+:104C00000202020202020202020202020202020284
+:104C10000202020202020202020202020202020274
+:104C20000202020202020202020202020202020264
+:104C30000202020202020202020202020202020254
+:104C40000202020202020202020202020202020244
+:104C50000202020202020202020202020202020234
+:104C60000202020202020202020202020202020224
+:104C70000202020202020202020202020202020214
+:104C80000202020202020202020202020202020204
+:104C900002020202020202020202020202020202F4
+:104CA00002020202020202020202020202020202E4
+:104CB00002020202020202020202020202020202D4
+:104CC00002020202020202020202020202020202C4
+:104CD00002020202020202020202020202020202B4
+:104CE00002020202020202020202020202020202A4
+:104CF0000202020202020202020202020202020294
+:104D00000202020202020202020202020202020283
+:104D10000202020202020202020202020202020273
+:104D20000202020202020202020202020202020263
+:104D30000202020202020202020202020202020253
+:104D40000202020202020202020202020202020243
+:104D50000202020202020202020202020202020233
+:104D60000202020202020202020202020202020223
+:104D70000202020202020202020202020202020213
+:104D80000202020202020202020202020202020203
+:104D900002020202020202020202020202020202F3
+:104DA00002020202020202020202020202020202E3
+:104DB00002020202020202020202020202020202D3
+:104DC00002020202020202020202020202020202C3
+:104DD00002020202020202020202020202020202B3
+:104DE00002020202020202020202020202020202A3
+:104DF0000202020202020202020202020202020293
+:104E00000202020202020202020202020202020282
+:104E10000202020202020202020202020202020272
+:104E20000202020202020202020202020202020262
+:104E30000202020202020202020202020202020252
+:104E40000202020202020202020202020202020242
+:104E50000202020202020202020202020202020232
+:104E60000202020202020202020202020202020222
+:104E70000202020202020202020202020202020212
+:104E80000202020202020202020202020202020202
+:104E900002020202020202020202020202020202F2
+:104EA00002020202020202020202020202020202E2
+:104EB00002020202020202020202020202020202D2
+:104EC00002020202020202020202020202020202C2
+:104ED00002020202020202020202020202020202B2
+:104EE00002020202020202020202020202020202A2
+:104EF0000202020202020202020202020202020292
+:104F00000202020202020202020202020202020281
+:104F10000202020202020202020202020202020271
+:104F20000202020202020202020202020202020261
+:104F30000202020202020202020202020202020251
+:104F40000202020202020202020202020202020241
+:104F50000202020202020202020202020202020231
+:104F60000202020202020202020202020202020221
+:104F70000202020202020202020202020202020211
+:104F80000202020202020202020202020202020201
+:104F900002020202020202020202020202020202F1
+:104FA00002020202020202020202020202020202E1
+:104FB00002020202020202020202020202020202D1
+:104FC00002020202020202020202020202020202C1
+:104FD00002020202020202020202020202020202B1
+:104FE00002020202020202020202020202020202A1
+:104FF0000202020202020202020202020202020291
+:105000000202020202020202020202020202020280
+:105010000202020202020202020202020202020270
+:105020000202020202020202020202020202020260
+:105030000202020202020202020202020202020250
+:105040000202020202020202020202020202020240
+:105050000202020202020202020202020202020230
+:105060000202020202020202020202020202020220
+:105070000202020202020202020202020202020210
+:105080000202020202020202020202020202020200
+:1050900002020202020202020202020202020202F0
+:1050A00002020202020202020202020202020202E0
+:1050B00002020202020202020202020202020202D0
+:1050C00002020202020202020202020202020202C0
+:1050D00002020202020202020202020202020202B0
+:1050E00002020202020202020202020202020202A0
+:1050F0000202020202020202020202020202020290
+:10510000020202020202020202020202020202027F
+:10511000020202020202020202020202020202026F
+:10512000020202020202020202020202020202025F
+:10513000020202020202020202020202020202024F
+:10514000020202020202020202020202020202023F
+:10515000020202020202020202020202020202022F
+:10516000020202020202020202020202020202021F
+:10517000020202020202020202020202020202020F
+:1051800002020202020202020202020202020202FF
+:1051900002020202020202020202020202020202EF
+:1051A00002020202020202020202020202020202DF
+:1051B00002020202020202020202020202020202CF
+:1051C00002020202020202020202020202020202BF
+:1051D00002020202020202020202020202020202AF
+:1051E000020202020202020202020202020202029F
+:1051F000020202020202020202020202020202028F
+:10520000020202020202020202020202020202027E
+:10521000020202020202020202020202020202026E
+:10522000020202020202020202020202020202025E
+:10523000020202020202020202020202020202024E
+:10524000020202020202020202020202020202023E
+:10525000020202020202020202020202020202022E
+:10526000020202020202020202020202020202021E
+:10527000020202020202020202020202020202020E
+:1052800002020202020202020202020202020202FE
+:1052900002020202020202020202020202020202EE
+:1052A00002020202020202020202020202020202DE
+:1052B00002020202020202020202020202020202CE
+:1052C00002020202020202020202020202020202BE
+:1052D00002020202020202020202020202020202AE
+:1052E000020202020202020202020202020202029E
+:1052F000020202020202020202020202020202028E
+:10530000020202020202020202020202020202027D
+:10531000020202020202020202020202020202026D
+:10532000020202020202020202020202020202025D
+:10533000020202020202020202020202020202024D
+:10534000020202020202020202020202020202023D
+:10535000020202020202020202020202020202022D
+:10536000020202020202020202020202020202021D
+:10537000020202020202020202020202020202020D
+:1053800002020202020202020202020202020202FD
+:1053900002020202020202020202020202020202ED
+:1053A00002020202020202020202020202020202DD
+:1053B00002020202020202020202020202020202CD
+:1053C00002020202020202020202020202020202BD
+:1053D00002020202020202020202020202020202AD
+:1053E000020202020202020202020202020202029D
+:1053F000020202020202020202020202020202028D
+:10540000020202020202020202020202020202027C
+:10541000020202020202020202020202020202026C
+:10542000020202020202020202020202020202025C
+:10543000020202020202020202020202020202024C
+:10544000020202020202020202020202020202023C
+:10545000020202020202020202020202020202022C
+:10546000020202020202020202020202020202021C
+:10547000020202020202020202020202020202020C
+:1054800002020202020202020202020202020202FC
+:1054900002020202020202020202020202020202EC
+:1054A00002020202020202020202020202020202DC
+:1054B00002020202020202020202020202020202CC
+:1054C00002020202020202020202020202020202BC
+:1054D00002020202020202020202020202020202AC
+:1054E000020202020202020202020202020202029C
+:1054F000020202020202020202020202020202028C
+:10550000020202020202020202020202020202027B
+:10551000020202020202020202020202020202026B
+:10552000020202020202020202020202020202025B
+:10553000020202020202020202020202020202024B
+:10554000020202020202020202020202020202023B
+:10555000020202020202020202020202020202022B
+:10556000020202020202020202020202020202021B
+:10557000020202020202020202020202020202020B
+:1055800002020202020202020202020202020202FB
+:1055900002020202020202020202020202020202EB
+:1055A00002020202020202020202020202020202DB
+:1055B00002020202020202020202020202020202CB
+:1055C00002020202020202020202020202020202BB
+:1055D00002020202020202020202020202020202AB
+:1055E000020202020202020202020202020202029B
+:1055F000020202020202020202020202020202028B
+:10560000020202020202020202020202020202027A
+:10561000020202020202020202020202020202026A
+:10562000020202020202020202020202020202025A
+:10563000020202020202020202020202020202024A
+:10564000020202020202020202020202020202023A
+:10565000020202020202020202020202020202022A
+:10566000020202020202020202020202020202021A
+:10567000020202020202020202020202020202020A
+:1056800002020202020202020202020202020202FA
+:1056900002020202020202020202020202020202EA
+:1056A00002020202020202020202020202020202DA
+:1056B00002020202020202020202020202020202CA
+:1056C00002020202020202020202020202020202BA
+:1056D00002020202020202020202020202020202AA
+:1056E000020202020202020202020202020202029A
+:1056F000020202020202020202020202020202028A
+:105700000202020202020202020202020202020279
+:105710000202020202020202020202020202020269
+:105720000202020202020202020202020202020259
+:105730000202020202020202020202020202020249
+:105740000202020202020202020202020202020239
+:105750000202020202020202020202020202020229
+:105760000202020202020202020202020202020219
+:105770000202020202020202020202020202020209
+:1057800002020202020202020202020202020202F9
+:1057900002020202020202020202020202020202E9
+:1057A00002020202020202020202020202020202D9
+:1057B00002020202020202020202020202020202C9
+:1057C00002020202020202020202020202020202B9
+:1057D00002020202020202020202020202020202A9
+:1057E0000202020202020202020202020202020299
+:1057F0000202020202020202020202020202020289
+:105800000202020202020202020202020202020278
+:105810000202020202020202020202020202020268
+:105820000202020202020202020202020202020258
+:105830000202020202020202020202020202020248
+:105840000202020202020202020202020202020238
+:105850000202020202020202020202020202020228
+:105860000202020202020202020202020202020218
+:105870000202020202020202020202020202020208
+:1058800002020202020202020202020202020202F8
+:1058900002020202020202020202020202020202E8
+:1058A00002020202020202020202020202020202D8
+:1058B00002020202020202020202020202020202C8
+:1058C00002020202020202020202020202020202B8
+:1058D00002020202020202020202020202020202A8
+:1058E0000202020202020202020202020202020298
+:1058F0000202020202020202020202020202020288
+:105900000202020202020202020202020202020277
+:105910000202020202020202020202020202020267
+:105920000202020202020202020202020202020257
+:105930000202020202020202020202020202020247
+:105940000202020202020202020202020202020237
+:105950000202020202020202020202020202020227
+:105960000202020202020202020202020202020217
+:105970000202020202020202020202020202020207
+:1059800002020202020202020202020202020202F7
+:1059900002020202020202020202020202020202E7
+:1059A00002020202020202020202020202020202D7
+:1059B00002020202020202020202020202020202C7
+:1059C00002020202020202020202020202020202B7
+:1059D00002020202020202020202020202020202A7
+:1059E0000202020202020202020202020202020297
+:1059F0000202020202020202020202020202020287
+:105A00000202020202020202020202020202020276
+:105A10000202020202020202020202020202020266
+:105A20000202020202020202020202020202020256
+:105A30000202020202020202020202020202020246
+:105A40000202020202020202020202020202020236
+:105A50000202020202020202020202020202020226
+:105A60000202020202020202020202020202020216
+:105A70000202020202020202020202020202020206
+:105A800002020202020202020202020202020202F6
+:105A900002020202020202020202020202020202E6
+:105AA00002020202020202020202020202020202D6
+:105AB00002020202020202020202020202020202C6
+:105AC00002020202020202020202020202020202B6
+:105AD00002020202020202020202020202020202A6
+:105AE0000202020202020202020202020202020296
+:105AF0000202020202020202020202020202020286
+:105B00000202020202020202020202020202020275
+:105B10000202020202020202020202020202020265
+:105B20000202020202020202020202020202020255
+:105B30000202020202020202020202020202020245
+:105B40000202020202020202020202020202020235
+:105B50000202020202020202020202020202020225
+:105B60000202020202020202020202020202020215
+:105B70000202020202020202020202020202020205
+:105B800002020202020202020202020202020202F5
+:105B900002020202020202020202020202020202E5
+:105BA00002020202020202020202020202020202D5
+:105BB00002020202020202020202020202020202C5
+:105BC00002020202020202020202020202020202B5
+:105BD00002020202020202020202020202020202A5
+:105BE0000202020202020202020202020202020295
+:105BF0000202020202020202020202020202020285
+:105C00000202020202020202020202020202020274
+:105C10000202020202020202020202020202020264
+:105C20000202020202020202020202020202020254
+:105C30000202020202020202020202020202020244
+:105C40000202020202020202020202020202020234
+:105C50000202020202020202020202020202020224
+:105C60000202020202020202020202020202020214
+:105C70000202020202020202020202020202020204
+:105C800002020202020202020202020202020202F4
+:105C900002020202020202020202020202020202E4
+:105CA00002020202020202020202020202020202D4
+:105CB00002020202020202020202020202020202C4
+:105CC00002020202020202020202020202020202B4
+:105CD00002020202020202020202020202020202A4
+:105CE0000202020202020202020202020202020294
+:105CF0000202020202020202020202020202020284
+:105D00000202020202020202020202020202020273
+:105D10000202020202020202020202020202020263
+:105D20000202020202020202020202020202020253
+:105D30000202020202020202020202020202020243
+:105D40000202020202020202020202020202020233
+:105D50000202020202020202020202020202020223
+:105D60000202020202020202020202020202020213
+:105D70000202020202020202020202020202020203
+:105D800002020202020202020202020202020202F3
+:105D900002020202020202020202020202020202E3
+:105DA00002020202020202020202020202020202D3
+:105DB00002020202020202020202020202020202C3
+:105DC00002020202020202020202020202020202B3
+:105DD00002020202020202020202020202020202A3
+:105DE0000202020202020202020202020202020293
+:105DF0000202020202020202020202020202020283
+:105E00000202020202020202020202020202020272
+:105E10000202020202020202020202020202020262
+:105E20000202020202020202020202020202020252
+:105E30000202020202020202020202020202020242
+:105E40000202020202020202020202020202020232
+:105E50000202020202020202020202020202020222
+:105E60000202020202020202020202020202020212
+:105E70000202020202020202020202020202020202
+:105E800002020202020202020202020202020202F2
+:105E900002020202020202020202020202020202E2
+:105EA00002020202020202020202020202020202D2
+:105EB00002020202020202020202020202020202C2
+:105EC00002020202020202020202020202020202B2
+:105ED00002020202020202020202020202020202A2
+:105EE0000202020202020202020202020202020292
+:105EF0000202020202020202020202020202020282
+:105F00000202020202020202020202020202020271
+:105F10000202020202020202020202020202020261
+:105F20000202020202020202020202020202020251
+:105F30000202020202020202020202020202020241
+:105F40000202020202020202020202020202020231
+:105F50000202020202020202020202020202020221
+:105F60000202020202020202020202020202020211
+:105F70000202020202020202020202020202020201
+:105F800002020202020202020202020202020202F1
+:105F900002020202020202020202020202020202E1
+:105FA00002020202020202020202020202020202D1
+:105FB00002020202020202020202020202020202C1
+:105FC00002020202020202020202020202020202B1
+:105FD00002020202020202020202020202020202A1
+:105FE0000202020202020202020202020202020291
+:105FF0000202020202020202020202020202020281
+:106000000202020202020202020202020202020270
+:106010000202020202020202020202020202020260
+:106020000202020202020202020202020202020250
+:106030000202020202020202020202020202020240
+:106040000202020202020202020202020202020230
+:106050000202020202020202020202020202020220
+:106060000202020202020202020202020202020210
+:106070000202020202020202020202020202020200
+:1060800002020202020202020202020202020202F0
+:1060900002020202020202020202020202020202E0
+:1060A00002020202020202020202020202020202D0
+:1060B00002020202020202020202020202020202C0
+:1060C00002020202020202020202020202020202B0
+:1060D00002020202020202020202020202020202A0
+:1060E0000202020202020202020202020202020290
+:1060F0000202020202020202020202020202020280
+:10610000020202020202020202020202020202026F
+:10611000020202020202020202020202020202025F
+:10612000020202020202020202020202020202024F
+:10613000020202020202020202020202020202023F
+:10614000020202020202020202020202020202022F
+:10615000020202020202020202020202020202021F
+:10616000020202020202020202020202020202020F
+:1061700002020202020202020202020202020202FF
+:1061800002020202020202020202020202020202EF
+:1061900002020202020202020202020202020202DF
+:1061A00002020202020202020202020202020202CF
+:1061B00002020202020202020202020202020202BF
+:1061C00002020202020202020202020202020202AF
+:1061D000020202020202020202020202020202029F
+:1061E000020202020202020202020202020202028F
+:1061F000020202020202020202020202020202027F
+:10620000020202020202020202020202020202026E
+:10621000020202020202020202020202020202025E
+:10622000020202020202020202020202020202024E
+:10623000020202020202020202020202020202023E
+:10624000020202020202020202020202020202022E
+:10625000020202020202020202020202020202021E
+:10626000020202020202020202020202020202020E
+:1062700002020202020202020202020202020202FE
+:1062800002020202020202020202020202020202EE
+:1062900002020202020202020202020202020202DE
+:1062A00002020202020202020202020202020202CE
+:1062B00002020202020202020202020202020202BE
+:1062C00002020202020202020202020202020202AE
+:1062D000020202020202020202020202020202029E
+:1062E000020202020202020202020202020202028E
+:1062F000020202020202020202020202020202027E
+:10630000020202020202020202020202020202026D
+:10631000020202020202020202020202020202025D
+:10632000020202020202020202020202020202024D
+:10633000020202020202020202020202020202023D
+:10634000020202020202020202020202020202022D
+:10635000020202020202020202020202020202021D
+:10636000020202020202020202020202020202020D
+:1063700002020202020202020202020202020202FD
+:1063800002020202020202020202020202020202ED
+:1063900002020202020202020202020202020202DD
+:1063A00002020202020202020202020202020202CD
+:1063B00002020202020202020202020202020202BD
+:1063C00002020202020202020202020202020202AD
+:1063D000020202020202020202020202020202029D
+:1063E000020202020202020202020202020202028D
+:1063F000020202020202020202020202020202027D
+:10640000020202020202020202020202020202026C
+:10641000020202020202020202020202020202025C
+:10642000020202020202020202020202020202024C
+:10643000020202020202020202020202020202023C
+:10644000020202020202020202020202020202022C
+:10645000020202020202020202020202020202021C
+:10646000020202020202020202020202020202020C
+:1064700002020202020202020202020202020202FC
+:1064800002020202020202020202020202020202EC
+:1064900002020202020202020202020202020202DC
+:1064A00002020202020202020202020202020202CC
+:1064B00002020202020202020202020202020202BC
+:1064C00002020202020202020202020202020202AC
+:1064D000020202020202020202020202020202029C
+:1064E000020202020202020202020202020202028C
+:1064F000020202020202020202020202020202027C
+:10650000020202020202020202020202020202026B
+:10651000020202020202020202020202020202025B
+:10652000020202020202020202020202020202024B
+:10653000020202020202020202020202020202023B
+:10654000020202020202020202020202020202022B
+:10655000020202020202020202020202020202021B
+:10656000020202020202020202020202020202020B
+:1065700002020202020202020202020202020202FB
+:1065800002020202020202020202020202020202EB
+:1065900002020202020202020202020202020202DB
+:1065A00002020202020202020202020202020202CB
+:1065B00002020202020202020202020202020202BB
+:1065C00002020202020202020202020202020202AB
+:1065D000020202020202020202020202020202029B
+:1065E000020202020202020202020202020202028B
+:1065F000020202020202020202020202020202027B
+:10660000020202020202020202020202020202026A
+:10661000020202020202020202020202020202025A
+:10662000020202020202020202020202020202024A
+:10663000020202020202020202020202020202023A
+:10664000020202020202020202020202020202022A
+:10665000020202020202020202020202020202021A
+:10666000020202020202020202020202020202020A
+:1066700002020202020202020202020202020202FA
+:1066800002020202020202020202020202020202EA
+:1066900002020202020202020202020202020202DA
+:1066A00002020202020202020202020202020202CA
+:1066B00002020202020202020202020202020202BA
+:1066C00002020202020202020202020202020202AA
+:1066D000020202020202020202020202020202029A
+:1066E000020202020202020202020202020202028A
+:1066F000020202020202020202020202020202027A
+:106700000202020202020202020202020202020269
+:106710000202020202020202020202020202020259
+:106720000202020202020202020202020202020249
+:106730000202020202020202020202020202020239
+:106740000202020202020202020202020202020229
+:106750000202020202020202020202020202020219
+:106760000202020202020202020202020202020209
+:1067700002020202020202020202020202020202F9
+:1067800002020202020202020202020202020202E9
+:1067900002020202020202020202020202020202D9
+:1067A00002020202020202020202020202020202C9
+:1067B00002020202020202020202020202020202B9
+:1067C00002020202020202020202020202020202A9
+:1067D0000202020202020202020202020202020299
+:1067E0000202020202020202020202020202020289
+:1067F0000202020202020202020202020202020279
+:106800000202020202020202020202020202020268
+:106810000202020202020202020202020202020258
+:106820000202020202020202020202020202020248
+:106830000202020202020202020202020202020238
+:106840000202020202020202020202020202020228
+:106850000202020202020202020202020202020218
+:106860000202020202020202020202020202020208
+:1068700002020202020202020202020202020202F8
+:1068800002020202020202020202020202020202E8
+:1068900002020202020202020202020202020202D8
+:1068A00002020202020202020202020202020202C8
+:1068B00002020202020202020202020202020202B8
+:1068C00002020202020202020202020202020202A8
+:1068D0000202020202020202020202020202020298
+:1068E0000202020202020202020202020202020288
+:1068F0000202020202020202020202020202020278
+:106900000202020202020202020202020202020267
+:106910000202020202020202020202020202020257
+:106920000202020202020202020202020202020247
+:106930000202020202020202020202020202020237
+:106940000202020202020202020202020202020227
+:106950000202020202020202020202020202020217
+:106960000202020202020202020202020202020207
+:1069700002020202020202020202020202020202F7
+:1069800002020202020202020202020202020202E7
+:1069900002020202020202020202020202020202D7
+:1069A00002020202020202020202020202020202C7
+:1069B00002020202020202020202020202020202B7
+:1069C00002020202020202020202020202020202A7
+:1069D0000202020202020202020202020202020297
+:1069E0000202020202020202020202020202020287
+:1069F0000202020202020202020202020202020277
+:106A00000202020202020202020202020202020266
+:106A10000202020202020202020202020202020256
+:106A20000202020202020202020202020202020246
+:106A30000202020202020202020202020202020236
+:106A40000202020202020202020202020202020226
+:106A50000202020202020202020202020202020216
+:106A60000202020202020202020202020202020206
+:106A700002020202020202020202020202020202F6
+:106A800002020202020202020202020202020202E6
+:106A900002020202020202020202020202020202D6
+:106AA00002020202020202020202020202020202C6
+:106AB00002020202020202020202020202020202B6
+:106AC00002020202020202020202020202020202A6
+:106AD0000202020202020202020202020202020296
+:106AE0000202020202020202020202020202020286
+:106AF0000202020202020202020202020202020276
+:106B00000202020202020202020202020202020265
+:106B10000202020202020202020202020202020255
+:106B20000202020202020202020202020202020245
+:106B30000202020202020202020202020202020235
+:106B40000202020202020202020202020202020225
+:106B50000202020202020202020202020202020215
+:106B60000202020202020202020202020202020205
+:106B700002020202020202020202020202020202F5
+:106B800002020202020202020202020202020202E5
+:106B900002020202020202020202020202020202D5
+:106BA00002020202020202020202020202020202C5
+:106BB00002020202020202020202020202020202B5
+:106BC00002020202020202020202020202020202A5
+:106BD0000202020202020202020202020202020295
+:106BE0000202020202020202020202020202020285
+:106BF0000202020202020202020202020202020275
+:106C00000202020202020202020202020202020264
+:106C10000202020202020202020202020202020254
+:106C20000202020202020202020202020202020244
+:106C30000202020202020202020202020202020234
+:106C40000202020202020202020202020202020224
+:106C50000202020202020202020202020202020214
+:106C60000202020202020202020202020202020204
+:106C700002020202020202020202020202020202F4
+:106C800002020202020202020202020202020202E4
+:106C900002020202020202020202020202020202D4
+:106CA00002020202020202020202020202020202C4
+:106CB00002020202020202020202020202020202B4
+:106CC00002020202020202020202020202020202A4
+:106CD0000202020202020202020202020202020294
+:106CE0000202020202020202020202020202020284
+:106CF0000202020202020202020202020202020274
+:106D00000202020202020202020202020202020263
+:106D10000202020202020202020202020202020253
+:106D20000202020202020202020202020202020243
+:106D30000202020202020202020202020202020233
+:106D40000202020202020202020202020202020223
+:106D50000202020202020202020202020202020213
+:106D60000202020202020202020202020202020203
+:106D700002020202020202020202020202020202F3
+:106D800002020202020202020202020202020202E3
+:106D900002020202020202020202020202020202D3
+:106DA00002020202020202020202020202020202C3
+:106DB00002020202020202020202020202020202B3
+:106DC00002020202020202020202020202020202A3
+:106DD0000202020202020202020202020202020293
+:106DE0000202020202020202020202020202020283
+:106DF0000202020202020202020202020202020273
+:106E00000202020202020202020202020202020262
+:106E10000202020202020202020202020202020252
+:106E20000202020202020202020202020202020242
+:106E30000202020202020202020202020202020232
+:106E40000202020202020202020202020202020222
+:106E50000202020202020202020202020202020212
+:106E60000202020202020202020202020202020202
+:106E700002020202020202020202020202020202F2
+:106E800002020202020202020202020202020202E2
+:106E900002020202020202020202020202020202D2
+:106EA00002020202020202020202020202020202C2
+:106EB00002020202020202020202020202020202B2
+:106EC00002020202020202020202020202020202A2
+:106ED0000202020202020202020202020202020292
+:106EE0000202020202020202020202020202020282
+:106EF0000202020202020202020202020202020272
+:106F00000202020202020202020202020202020261
+:106F10000202020202020202020202020202020251
+:106F20000202020202020202020202020202020241
+:106F30000202020202020202020202020202020231
+:106F40000202020202020202020202020202020221
+:106F50000202020202020202020202020202020211
+:106F60000202020202020202020202020202020201
+:106F700002020202020202020202020202020202F1
+:106F800002020202020202020202020202020202E1
+:106F900002020202020202020202020202020202D1
+:106FA00002020202020202020202020202020202C1
+:106FB00002020202020202020202020202020202B1
+:106FC00002020202020202020202020202020202A1
+:106FD0000202020202020202020202020202020291
+:106FE0000202020202020202020202020202020281
+:106FF0000202020202020202020202020202020271
+:107000000202020202020202020202020202020260
+:107010000202020202020202020202020202020250
+:107020000202020202020202020202020202020240
+:107030000202020202020202020202020202020230
+:107040000202020202020202020202020202020220
+:107050000202020202020202020202020202020210
+:107060000202020202020202020202020202020200
+:1070700002020202020202020202020202020202F0
+:1070800002020202020202020202020202020202E0
+:1070900002020202020202020202020202020202D0
+:1070A00002020202020202020202020202020202C0
+:1070B00002020202020202020202020202020202B0
+:1070C00002020202020202020202020202020202A0
+:1070D0000202020202020202020202020202020290
+:1070E0000202020202020202020202020202020280
+:1070F0000202020202020202020202020202020270
+:10710000020202020202020202020202020202025F
+:10711000020202020202020202020202020202024F
+:10712000020202020202020202020202020202023F
+:10713000020202020202020202020202020202022F
+:10714000020202020202020202020202020202021F
+:10715000020202020202020202020202020202020F
+:1071600002020202020202020202020202020202FF
+:1071700002020202020202020202020202020202EF
+:1071800002020202020202020202020202020202DF
+:1071900002020202020202020202020202020202CF
+:1071A00002020202020202020202020202020202BF
+:1071B00002020202020202020202020202020202AF
+:1071C000020202020202020202020202020202029F
+:1071D000020202020202020202020202020202028F
+:1071E000020202020202020202020202020202027F
+:1071F000020202020202020202020202020202026F
+:10720000020202020202020202020202020202025E
+:10721000020202020202020202020202020202024E
+:10722000020202020202020202020202020202023E
+:10723000020202020202020202020202020202022E
+:10724000020202020202020202020202020202021E
+:10725000020202020202020202020202020202020E
+:1072600002020202020202020202020202020202FE
+:1072700002020202020202020202020202020202EE
+:1072800002020202020202020202020202020202DE
+:1072900002020202020202020202020202020202CE
+:1072A00002020202020202020202020202020202BE
+:1072B00002020202020202020202020202020202AE
+:1072C000020202020202020202020202020202029E
+:1072D000020202020202020202020202020202028E
+:1072E000020202020202020202020202020202027E
+:1072F000020202020202020202020202020202026E
+:10730000020202020202020202020202020202025D
+:10731000020202020202020202020202020202024D
+:10732000020202020202020202020202020202023D
+:10733000020202020202020202020202020202022D
+:10734000020202020202020202020202020202021D
+:10735000020202020202020202020202020202020D
+:1073600002020202020202020202020202020202FD
+:1073700002020202020202020202020202020202ED
+:1073800002020202020202020202020202020202DD
+:1073900002020202020202020202020202020202CD
+:1073A00002020202020202020202020202020202BD
+:1073B00002020202020202020202020202020202AD
+:1073C000020202020202020202020202020202029D
+:1073D000020202020202020202020202020202028D
+:1073E000020202020202020202020202020202027D
+:1073F000020202020202020202020202020202026D
+:10740000020202020202020202020202020202025C
+:10741000020202020202020202020202020202024C
+:10742000020202020202020202020202020202023C
+:10743000020202020202020202020202020202022C
+:10744000020202020202020202020202020202021C
+:10745000020202020202020202020202020202020C
+:1074600002020202020202020202020202020202FC
+:1074700002020202020202020202020202020202EC
+:1074800002020202020202020202020202020202DC
+:1074900002020202020202020202020202020202CC
+:1074A00002020202020202020202020202020202BC
+:1074B00002020202020202020202020202020202AC
+:1074C000020202020202020202020202020202029C
+:1074D000020202020202020202020202020202008E
+:1074E000000000000000000000000000000000009C
+:1074F000000000000000000000000000000000008C
+:10750000000000000000000000000000000000007B
+:10751000000000000000000000000000000000006B
+:10752000000000000000000000000000000000005B
+:10753000000000000000000000000000000000004B
+:10754000000000000000000000000000000000003B
+:10755000000000000000000000000000000000002B
+:10756000000000000000000000000000000000001B
+:10757000000000000000000000000000000000000B
+:1075800000000000000000000000000000000000FB
+:1075900000000000000000000000000000000000EB
+:1075A00000000000000000000000000000000000DB
+:1075B00000000000000000000000000000000000CB
+:1075C00000000000000000000000000000000000BB
+:1075D00000000000000000000000000000000000AB
+:1075E000000000000000000000000000000000009B
+:1075F000000000000000000000000000000000008B
+:10760000000000000000000000000000000000007A
+:10761000000000000000000000000000000000006A
+:10762000000000000000000000000000000000005A
+:10763000000000000000000000000000000000004A
+:10764000000000000000000000000000000000003A
+:10765000000000000000000000000000000000002A
+:10766000000000000000000000000000000000001A
+:10767000000000000000000000000000000000000A
+:1076800000000000000000000000000000000000FA
+:1076900000000000000000000000000000000000EA
+:1076A00000000000000000000000000000000000DA
+:1076B00000000000000000000000000000000000CA
+:1076C00000000000000000000000000000000000BA
+:1076D00000000000000000000000000000000000AA
+:1076E000000000000000000000000000000000009A
+:1076F000000000000000000000000000000000008A
+:107700000000000000000000000000000000000079
+:107710000000000000000000000000000000000069
+:107720000000000000000000000000000000000059
+:107730000000000000000000000000000000000049
+:107740000000000000000000000000000000000039
+:107750000000000000000000000000000000000029
+:107760000000000000000000000000000000000019
+:107770000000000000000000000000000000000009
+:1077800000000000000000000000000000000000F9
+:1077900000000000000000000000000000000000E9
+:1077A00000000000000000000000000000000000D9
+:1077B00000000000000000000000000000000000C9
+:1077C00000000000000000000000000000000000B9
+:1077D00000000000000000000000000000000000A9
+:1077E0000000000000000000000000000000000099
+:1077F0000000000000000000000000000000000089
+:107800000000000000000000000000000000000078
+:107810000000000000000000000000000000000068
+:107820000000000000000000000000000000000058
+:107830000000000000000000000000000000000048
+:107840000000000000000000000000000000000038
+:107850000000000000000000000000000000000028
+:107860000000000000000000000000000000000018
+:107870000000000000000000000000000000000008
+:1078800000000000000000000000000000000000F8
+:1078900000000000000000000000000000000000E8
+:1078A00000000000000000000000000000000000D8
+:1078B00000000000000000000000000000000000C8
+:1078C00000000000000000000000000000000000B8
+:1078D00000000000000000000000000000000000A8
+:1078E0000000000000000000000000000000000098
+:1078F0000000000000000000000000000000000088
+:107900000000000000000000000000000000000077
+:107910000000000000000000000000000000000067
+:107920000000000000000000000000000000000057
+:107930000000000000000000000000000000000047
+:107940000000000000000000000000000000000037
+:107950000000000000000000000000000000000027
+:107960000000000000000000000000000000000017
+:107970000000000000000000000000000000000007
+:1079800000000000000000000000000000000000F7
+:1079900000000000000000000000000000000000E7
+:1079A00000000000000000000000000000000000D7
+:1079B00000000000000000000000000000000000C7
+:1079C00000000000000000000000000000000000B7
+:1079D00000000000000000000000000000000000A7
+:1079E0000000000000000000000000000000000097
+:1079F0000000000000000000000000000000000087
+:107A00000000000000000000000000000000000076
+:107A10000000000000000000000000000000000066
+:107A20000000000000000000000000000000000056
+:107A30000000000000000000000000000000000046
+:107A40000000000000000000000000000000000036
+:107A50000000000000000000000000000000000026
+:107A60000000000000000000000000000000000016
+:107A70000000000000000000000000000000000006
+:107A800000000000000000000000000000000000F6
+:107A900000000000000000000000000000000000E6
+:107AA00000000000000000000000000000000000D6
+:107AB00000000000000000000000000000000000C6
+:107AC00000000000000000000000000000000000B6
+:107AD00000000000000000000000000000000000A6
+:107AE0000000000000000000000000000000000096
+:107AF0000000000000000000000000000000000086
+:107B00000000000000000000000000000000000075
+:107B10000000000000000000000000000000000065
+:107B20000000000000000000000000000000000055
+:107B30000000000000000000000000000000000045
+:107B40000000000000000000000000000000000035
+:107B50000000000000000000000000000000000025
+:107B60000000000000000000000000000000000015
+:107B70000000000000000000000000000000000005
+:107B800000000000000000000000000000000000F5
+:107B900000000000000000000000000000000000E5
+:107BA00000000000000000000000000000000000D5
+:107BB00000000000000000000000000000000000C5
+:107BC00000000000000000000000000000000000B5
+:107BD00000000000000000000000000000000001A4
+:107BE0000101010101010101010101010101010185
+:107BF0000101010101010101010101010101010175
+:107C00000101010101010101010101010101010164
+:107C10000101010101010101010101010101010154
+:107C20000101010101010101010101010101010144
+:107C30000101010101010101010101010101010134
+:107C40000101010101010101010101010101010124
+:107C50000101010101010101010101010101010114
+:107C60000101010101010101010101010101010104
+:107C700001010101010101010101010101010101F4
+:107C800001010101010101010101010101010101E4
+:107C900001010101010101010101010101010101D4
+:107CA00001010101010101010101010101010101C4
+:107CB00001010101010101010101010101010101B4
+:107CC00001010101010101010101010101010101A4
+:107CD0000101010101010101010101010101010194
+:107CE0000101010101010101010101010101010184
+:107CF0000101010101010101010101010101010174
+:107D00000101010101010101010101010101010163
+:107D10000101010101010101010101010101010153
+:107D20000101010101010101010101010101010143
+:107D30000101010101010101010101010101010133
+:107D40000101010101010101010101010101010123
+:107D50000101010101010101010101010101010113
+:107D60000101010101010101010101010101010103
+:107D700001010101010101010101010101010101F3
+:107D800001010101010101010101010101010101E3
+:107D900001010101010101010101010101010101D3
+:107DA00001010101010101010101010101010101C3
+:107DB00001010101010101010101010101010101B3
+:107DC00001010101010101010101010101010101A3
+:107DD0000101010101010101010101010101010193
+:107DE0000101010101010101010101010101010183
+:107DF0000101010101010101010101010101010173
+:107E00000101010101010101010101010101010162
+:107E10000101010101010101010101010101010152
+:107E20000101010101010101010101010101010142
+:107E30000101010101010101010101010101010132
+:107E40000101010101010101010101010101010122
+:107E50000101010101010101010101010101010112
+:107E60000101010101010101010101010101010102
+:107E700001010101010101010101010101010101F2
+:107E800001010101010101010101010101010101E2
+:107E900001010101010101010101010101010101D2
+:107EA00001010101010101010101010101010101C2
+:107EB00001010101010101010101010101010101B2
+:107EC00001010101010101010101010101010101A2
+:107ED0000101010101010101010101010101010192
+:107EE0000101010101010101010101010101010182
+:107EF0000101010101010101010101010101010172
+:107F00000101010101010101010101010101010161
+:107F10000101010101010101010101010101010151
+:107F20000101010101010101010101010101010141
+:107F30000101010101010101010101010101010131
+:107F40000101010101010101010101010101010121
+:107F50000101010101010101010101010101010111
+:107F60000101010101010101010101010101010101
+:107F700001010101010101010101010101010101F1
+:107F800001010101010101010101010101010101E1
+:107F900001010101010101010101010101010101D1
+:107FA00001010101010101010101010101010101C1
+:107FB00001010101010101010101010101010101B1
+:107FC00001010101010101010101010101010101A1
+:107FD0000101010101010101010101010101010191
+:107FE0000101010101010101010101010101010181
+:107FF0000101010101010101010101010101010171
+:108000000101010101010101010101010101010160
+:108010000101010101010101010101010101010150
+:108020000101010101010101010101010101010140
+:108030000101010101010101010101010101010130
+:108040000101010101010101010101010101010120
+:108050000101010101010101010101010101010110
+:108060000101010101010101010101010101010100
+:1080700001010101010101010101010101010101F0
+:1080800001010101010101010101010101010101E0
+:1080900001010101010101010101010101010101D0
+:1080A00001010101010101010101010101010101C0
+:1080B00001010101010101010101010101010101B0
+:1080C00001010101010101010101010101010101A0
+:1080D0000101010101010101010101010101010190
+:1080E0000101010101010101010101010101010180
+:1080F0000101010101010101010101010101010170
+:10810000010101010101010101010101010101015F
+:10811000010101010101010101010101010101014F
+:10812000010101010101010101010101010101013F
+:10813000010101010101010101010101010101012F
+:10814000010101010101010101010101010101011F
+:10815000010101010101010101010101010101010F
+:1081600001010101010101010101010101010101FF
+:1081700001010101010101010101010101010101EF
+:1081800001010101010101010101010101010101DF
+:1081900001010101010101010101010101010101CF
+:1081A00001010101010101010101010101010101BF
+:1081B00001010101010101010101010101010101AF
+:1081C000010101010101010101010101010101019F
+:1081D000010101010101010101010101010101018F
+:1081E000010101010101010101010101010101017F
+:1081F000010101010101010101010101010101016F
+:10820000010101010101010101010101010101015E
+:10821000010101010101010101010101010101014E
+:10822000010101010101010101010101010101013E
+:10823000010101010101010101010101010101012E
+:10824000010101010101010101010101010101011E
+:10825000010101010101010101010101010101010E
+:1082600001010101010101010101010101010101FE
+:1082700001010101010101010101010101010101EE
+:1082800001010101010101010101010101010101DE
+:1082900001010101010101010101010101010101CE
+:1082A00001010101010101010101010101010101BE
+:1082B00001010101010101010101010101010101AE
+:1082C000010101010101010101010101010101019E
+:1082D000010101010101010101010101010101018E
+:1082E000010101010101010101010101010101017E
+:1082F000010101010101010101010101010101016E
+:10830000010101010101010101010101010101015D
+:10831000010101010101010101010101010101014D
+:10832000010101010101010101010101010101013D
+:10833000010101010101010101010101010101012D
+:10834000010101010101010101010101010101011D
+:10835000010101010101010101010101010101010D
+:1083600001010101010101010101010101010101FD
+:1083700001010101010101010101010101010101ED
+:1083800001010101010101010101010101010101DD
+:1083900001010101010101010101010101010101CD
+:1083A00001010101010101010101010101010101BD
+:1083B00001010101010101010101010101010101AD
+:1083C000010101010101010101010101010101019D
+:1083D000010101010101010101010101010101018D
+:1083E000010101010101010101010101010101017D
+:1083F000010101010101010101010101010101016D
+:10840000010101010101010101010101010101015C
+:10841000010101010101010101010101010101014C
+:10842000010101010101010101010101010101013C
+:10843000010101010101010101010101010101012C
+:10844000010101010101010101010101010101011C
+:10845000010101010101010101010101010101010C
+:1084600001010101010101010101010101010101FC
+:1084700001010101010101010101010101010101EC
+:1084800001010101010101010101010101010101DC
+:1084900001010101010101010101010101010101CC
+:1084A00001010101010101010101010101010101BC
+:1084B00001010101010101010101010101010101AC
+:1084C000010101010101010101010101010101019C
+:1084D000010101010101010101010101010101018C
+:1084E000010101010101010101010101010101017C
+:1084F000010101010101010101010101010101016C
+:10850000010101010101010101010101010101015B
+:10851000010101010101010101010101010101014B
+:10852000010101010101010101010101010101013B
+:10853000010101010101010101010101010101012B
+:10854000010101010101010101010101010101011B
+:10855000010101010101010101010101010101010B
+:1085600001010101010101010101010101010101FB
+:1085700001010101010101010101010101010101EB
+:1085800001010101010101010101010101010101DB
+:1085900001010101010101010101010101010101CB
+:1085A00001010101010101010101010101010101BB
+:1085B00001010101010101010101010101010101AB
+:1085C000010101010101010101010101010101019B
+:1085D000010101010101010101010101010101018B
+:1085E000010101010101010101010101010101017B
+:1085F000010101010101010101010101010101016B
+:10860000010101010101010101010101010101015A
+:10861000010101010101010101010101010101014A
+:10862000010101010101010101010101010101013A
+:10863000010101010101010101010101010101012A
+:10864000010101010101010101010101010101011A
+:10865000010101010101010101010101010101010A
+:1086600001010101010101010101010101010101FA
+:1086700001010101010101010101010101010101EA
+:1086800001010101010101010101010101010101DA
+:1086900001010101010101010101010101010101CA
+:1086A00001010101010101010101010101010101BA
+:1086B00001010101010101010101010101010101AA
+:1086C000010101010101010101010101010101019A
+:1086D000010101010101010101010101010101018A
+:1086E000010101010101010101010101010101017A
+:1086F000010101010101010101010101010101016A
+:108700000101010101010101010101010101010159
+:108710000101010101010101010101010101010149
+:108720000101010101010101010101010101010139
+:108730000101010101010101010101010101010129
+:108740000101010101010101010101010101010119
+:108750000101010101010101010101010101010109
+:1087600001010101010101010101010101010101F9
+:1087700001010101010101010101010101010101E9
+:1087800001010101010101010101010101010101D9
+:1087900001010101010101010101010101010101C9
+:1087A00001010101010101010101010101010101B9
+:1087B00001010101010101010101010101010101A9
+:1087C0000101010101010101010101010101010199
+:1087D0000101010101010101010101010101010189
+:1087E0000101010101010101010101010101010179
+:1087F0000101010101010101010101010101010169
+:108800000101010101010101010101010101010158
+:108810000101010101010101010101010101010148
+:108820000101010101010101010101010101010138
+:108830000101010101010101010101010101010128
+:108840000101010101010101010101010101010118
+:108850000101010101010101010101010101010108
+:1088600001010101010101010101010101010101F8
+:1088700001010101010101010101010101010101E8
+:1088800001010101010101010101010101010101D8
+:1088900001010101010101010101010101010101C8
+:1088A00001010101010101010101010101010101B8
+:1088B00001010101010101010101010101010101A8
+:1088C0000101010101010101010101010101010198
+:1088D0000101010101010101010101010101010188
+:1088E0000101010101010101010101010101010178
+:1088F0000101010101010101010101010101010168
+:108900000101010101010101010101010101010157
+:108910000101010101010101010101010101010147
+:108920000101010101010101010101010101010137
+:108930000101010101010101010101010101010127
+:108940000101010101010101010101010101010117
+:108950000101010101010101010101010101010107
+:1089600001010101010101010101010101010101F7
+:1089700001010101010101010101010101010101E7
+:1089800001010101010101010101010101010101D7
+:1089900001010101010101010101010101010101C7
+:1089A00001010101010101010101010101010101B7
+:1089B00001010101010101010101010101010101A7
+:1089C0000101010101010101010101010101010197
+:1089D0000101010101010101010101010101010187
+:1089E0000101010101010101010101010101010177
+:1089F0000101010101010101010101010101010167
+:108A00000101010101010101010101010101010156
+:108A10000101010101010101010101010101010146
+:108A20000101010101010101010101010101010136
+:108A30000101010101010101010101010101010126
+:108A40000101010101010101010101010101010116
+:108A50000101010101010101010101010101010106
+:108A600001010101010101010101010101010101F6
+:108A700001010101010101010101010101010101E6
+:108A800001010101010101010101010101010101D6
+:108A900001010101010101010101010101010101C6
+:108AA00001010101010101010101010101010101B6
+:108AB00001010101010101010101010101010101A6
+:108AC0000101010101010101010101010101010196
+:108AD0000101010101010101010101010101010186
+:108AE0000101010101010101010101010101010176
+:108AF0000101010101010101010101010101010166
+:108B00000101010101010101010101010101010155
+:108B10000101010101010101010101010101010145
+:108B20000101010101010101010101010101010135
+:108B30000101010101010101010101010101010125
+:108B40000101010101010101010101010101010115
+:108B50000101010101010101010101010101010105
+:108B600001010101010101010101010101010101F5
+:108B700001010101010101010101010101010101E5
+:108B800001010101010101010101010101010101D5
+:108B900001010101010101010101010101010101C5
+:108BA00001010101010101010101010101010101B5
+:108BB00001010101010101010101010101010101A5
+:108BC0000101010101010101010101010101010195
+:108BD0000101010101010101010101010101010185
+:108BE0000101010101010101010101010101010175
+:108BF0000101010101010101010101010101010165
+:108C00000101010101010101010101010101010154
+:108C10000101010101010101010101010101010144
+:108C20000101010101010101010101010101010134
+:108C30000101010101010101010101010101010124
+:108C40000101010101010101010101010101010114
+:108C50000101010101010101010101010101010104
+:108C600001010101010101010101010101010101F4
+:108C700001010101010101010101010101010101E4
+:108C800001010101010101010101010101010101D4
+:108C900001010101010101010101010101010101C4
+:108CA00001010101010101010101010101010101B4
+:108CB00001010101010101010101010101010101A4
+:108CC0000101010101010101010101010101010194
+:108CD0000101010101010101010101010101010184
+:108CE0000101010101010101010101010101010174
+:108CF0000101010101010101010101010101010164
+:108D00000101010101010101010101010101010153
+:108D10000101010101010101010101010101010143
+:108D20000101010101010101010101010101010133
+:108D30000101010101010101010101010101010123
+:108D40000101010101010101010101010101010113
+:108D50000101010101010101010101010101010103
+:108D600001010101010101010101010101010101F3
+:108D700001010101010101010101010101010101E3
+:108D800001010101010101010101010101010101D3
+:108D900001010101010101010101010101010101C3
+:108DA00001010101010101010101010101010101B3
+:108DB00001010101010101010101010101010101A3
+:108DC0000101010101010101010101010101010193
+:108DD0000101010101010101010101010101010183
+:108DE0000101010101010101010101010101010173
+:108DF0000101010101010101010101010101010163
+:108E00000101010101010101010101010101010152
+:108E10000101010101010101010101010101010142
+:108E20000101010101010101010101010101010132
+:108E30000101010101010101010101010101010122
+:108E40000101010101010101010101010101010112
+:108E50000101010101010101010101010101010102
+:108E600001010101010101010101010101010101F2
+:108E700001010101010101010101010101010101E2
+:108E800001010101010101010101010101010101D2
+:108E900001010101010101010101010101010101C2
+:108EA00001010101010101010101010101010101B2
+:108EB00001010101010101010101010101010101A2
+:108EC0000101010101010101010101010101010192
+:108ED0000101010101010101010101010101010182
+:108EE0000101010101010101010101010101010172
+:108EF0000101010101010101010101010101010162
+:108F00000101010101010101010101010101010151
+:108F10000101010101010101010101010101010141
+:108F20000101010101010101010101010101010131
+:108F30000101010101010101010101010101010121
+:108F40000101010101010101010101010101010111
+:108F50000101010101010101010101010101010101
+:108F600001010101010101010101010101010101F1
+:108F700001010101010101010101010101010101E1
+:108F800001010101010101010101010101010101D1
+:108F900001010101010101010101010101010101C1
+:108FA00001010101010101010101010101010101B1
+:108FB00001010101010101010101010101010101A1
+:108FC0000101010101010101010101010101010191
+:108FD0000101010101010101010101010101010181
+:108FE0000101010101010101010101010101010171
+:108FF0000101010101010101010101010101010161
+:109000000101010101010101010101010101010150
+:109010000101010101010101010101010101010140
+:109020000101010101010101010101010101010130
+:109030000101010101010101010101010101010120
+:109040000101010101010101010101010101010110
+:109050000101010101010101010101010101010100
+:1090600001010101010101010101010101010101F0
+:1090700001010101010101010101010101010101E0
+:1090800001010101010101010101010101010101D0
+:1090900001010101010101010101010101010101C0
+:1090A00001010101010101010101010101010101B0
+:1090B00001010101010101010101010101010101A0
+:1090C0000101010101010101010101010101010190
+:1090D0000101010101010101010101010101010180
+:1090E0000101010101010101010101010101010170
+:1090F0000101010101010101010101010101010160
+:10910000010101010101010101010101010101014F
+:10911000010101010101010101010101010101013F
+:10912000010101010101010101010101010101012F
+:10913000010101010101010101010101010101011F
+:10914000010101010101010101010101010101010F
+:1091500001010101010101010101010101010101FF
+:1091600001010101010101010101010101010101EF
+:1091700001010101010101010101010101010101DF
+:1091800001010101010101010101010101010101CF
+:1091900001010101010101010101010101010101BF
+:1091A00001010101010101010101010101010101AF
+:1091B000010101010101010101010101010101019F
+:1091C000010101010101010101010101010101018F
+:1091D000010101010101010101010101010101017F
+:1091E000010101010101010101010101010101016F
+:1091F000010101010101010101010101010101015F
+:10920000010101010101010101010101010101014E
+:10921000010101010101010101010101010101013E
+:10922000010101010101010101010101010101012E
+:10923000010101010101010101010101010101011E
+:10924000010101010101010101010101010101010E
+:1092500001010101010101010101010101010101FE
+:1092600001010101010101010101010101010101EE
+:1092700001010101010101010101010101010101DE
+:1092800001010101010101010101010101010101CE
+:1092900001010101010101010101010101010101BE
+:1092A00001010101010101010101010101010101AE
+:1092B000010101010101010101010101010101019E
+:1092C000010101010101010101010101010101018E
+:1092D000010101010101010101010101010101017E
+:1092E000010101010101010101010101010101016E
+:1092F000010101010101010101010101010101015E
+:10930000010101010101010101010101010101014D
+:10931000010101010101010101010101010101013D
+:10932000010101010101010101010101010101012D
+:10933000010101010101010101010101010101011D
+:10934000010101010101010101010101010101010D
+:1093500001010101010101010101010101010101FD
+:1093600001010101010101010101010101010101ED
+:1093700001010101010101010101010101010101DD
+:1093800001010101010101010101010101010101CD
+:1093900001010101010101010101010101010101BD
+:1093A00001010101010101010101010101010101AD
+:1093B000010101010101010101010101010101019D
+:1093C000010101010101010101010101010101018D
+:1093D000010101010101010101010101010101017D
+:1093E000010101010101010101010101010101016D
+:1093F000010101010101010101010101010101015D
+:10940000010101010101010101010101010101014C
+:10941000010101010101010101010101010101013C
+:10942000010101010101010101010101010101012C
+:10943000010101010101010101010101010101011C
+:10944000010101010101010101010101010101010C
+:1094500001010101010101010101010101010101FC
+:1094600001010101010101010101010101010101EC
+:1094700001010101010101010101010101010101DC
+:1094800001010101010101010101010101010101CC
+:1094900001010101010101010101010101010101BC
+:1094A00001010101010101010101010101010101AC
+:1094B000010101010101010101010101010101019C
+:1094C000010101010101010101010101010101018C
+:1094D000010101010101010101010101010101017C
+:1094E000010101010101010101010101010101016C
+:1094F000010101010101010101010101010101015C
+:10950000010101010101010101010101010101014B
+:10951000010101010101010101010101010101013B
+:10952000010101010101010101010101010101012B
+:10953000010101010101010101010101010101011B
+:10954000010101010101010101010101010101010B
+:1095500001010101010101010101010101010101FB
+:1095600001010101010101010101010101010101EB
+:1095700001010101010101010101010101010101DB
+:1095800001010101010101010101010101010101CB
+:1095900001010101010101010101010101010101BB
+:1095A00001010101010101010101010101010101AB
+:1095B000010101010101010101010101010101019B
+:1095C000010101010101010101010101010101018B
+:1095D000010101010101010101010101010101017B
+:1095E000010101010101010101010101010101016B
+:1095F000010101010101010101010101010101015B
+:10960000010101010101010101010101010101014A
+:10961000010101010101010101010101010101013A
+:10962000010101010101010101010101010101012A
+:10963000010101010101010101010101010101011A
+:10964000010101010101010101010101010101010A
+:1096500001010101010101010101010101010101FA
+:1096600001010101010101010101010101010101EA
+:1096700001010101010101010101010101010101DA
+:1096800001010101010101010101010101010101CA
+:1096900001010101010101010101010101010101BA
+:1096A00001010101010101010101010101010101AA
+:1096B000010101010101010101010101010101019A
+:1096C000010101010101010101010101010101018A
+:1096D000010101010101010101010101010101017A
+:1096E000010101010101010101010101010101016A
+:1096F000010101010101010101010101010101015A
+:109700000101010101010101010101010101010149
+:109710000101010101010101010101010101010139
+:109720000101010101010101010101010101010129
+:109730000101010101010101010101010101010119
+:109740000101010101010101010101010101010109
+:1097500001010101010101010101010101010101F9
+:1097600001010101010101010101010101010101E9
+:1097700001010101010101010101010101010101D9
+:1097800001010101010101010101010101010101C9
+:1097900001010101010101010101010101010101B9
+:1097A00001010101010101010101010101010101A9
+:1097B0000101010101010101010101010101010199
+:1097C0000101010101010101010101010101010189
+:1097D0000101010101010101010101010101010179
+:1097E0000101010101010101010101010101010169
+:1097F0000101010101010101010101010101010159
+:109800000101010101010101010101010101010148
+:109810000101010101010101010101010101010138
+:109820000101010101010101010101010101010128
+:109830000101010101010101010101010101010118
+:109840000101010101010101010101010101010108
+:1098500001010101010101010101010101010101F8
+:1098600001010101010101010101010101010101E8
+:1098700001010101010101010101010101010101D8
+:1098800001010101010101010101010101010101C8
+:1098900001010101010101010101010101010101B8
+:1098A00001010101010101010101010101010101A8
+:1098B0000101010101010101010101010101010198
+:1098C0000101010101010101010101010101010188
+:1098D0000101010101010101010101010101010178
+:1098E0000101010101010101010101010101010168
+:1098F0000101010101010101010101010101010158
+:109900000101010101010101010101010101010147
+:109910000101010101010101010101010101010137
+:109920000101010101010101010101010101010127
+:109930000101010101010101010101010101010117
+:109940000101010101010101010101010101010107
+:1099500001010101010101010101010101010101F7
+:1099600001010101010101010101010101010101E7
+:1099700001010101010101010101010101010101D7
+:1099800001010101010101010101010101010101C7
+:1099900001010101010101010101010101010101B7
+:1099A00001010101010101010101010101010101A7
+:1099B0000101010101010101010101010101010197
+:1099C0000101010101010101010101010101010187
+:1099D0000101010101010101010101010101010177
+:1099E0000101010101010101010101010101010167
+:1099F0000101010101010101010101010101010157
+:109A00000101010101010101010101010101010146
+:109A10000101010101010101010101010101010136
+:109A20000101010101010101010101010101010126
+:109A30000101010101010101010101010101010116
+:109A40000101010101010101010101010101010106
+:109A500001010101010101010101010101010101F6
+:109A600001010101010101010101010101010101E6
+:109A700001010101010101010101010101010101D6
+:109A800001010101010101010101010101010101C6
+:109A900001010101010101010101010101010101B6
+:109AA00001010101010101010101010101010101A6
+:109AB0000101010101010101010101010101010196
+:109AC0000101010101010101010101010101010186
+:109AD0000101010101010101010101010101010176
+:109AE0000101010101010101010101010101010166
+:109AF0000101010101010101010101010101010156
+:109B00000101010101010101010101010101010145
+:109B10000101010101010101010101010101010135
+:109B20000101010101010101010101010101010125
+:109B30000101010101010101010101010101010115
+:109B40000101010101010101010101010101010105
+:109B500001010101010101010101010101010101F5
+:109B600001010101010101010101010101010101E5
+:109B700001010101010101010101010101010101D5
+:109B800001010101010101010101010101010101C5
+:109B900001010101010101010101010101010101B5
+:109BA00001010101010101010101010101010101A5
+:109BB0000101010101010101010101010101010195
+:109BC0000101010101010101010101010101010185
+:109BD0000101010101010101010101010101010175
+:109BE0000101010101010101010101010101010165
+:109BF0000101010101010101010101010101010155
+:109C00000101010101010101010101010101010144
+:109C10000101010101010101010101010101010134
+:109C20000101010101010101010101010101010124
+:109C30000101010101010101010101010101010114
+:109C40000101010101010101010101010101010104
+:109C500001010101010101010101010101010101F4
+:109C600001010101010101010101010101010101E4
+:109C700001010101010101010101010101010101D4
+:109C800001010101010101010101010101010101C4
+:109C900001010101010101010101010101010101B4
+:109CA00001010101010101010101010101010101A4
+:109CB0000101010101010101010101010101010194
+:109CC0000101010101010101010101010101010184
+:109CD0000101010101010101010101010101010174
+:109CE0000101010101010101010101010101010164
+:109CF0000101010101010101010101010101010154
+:109D00000101010101010101010101010101010143
+:109D10000101010101010101010101010101010133
+:109D20000101010101010101010101010101010123
+:109D30000101010101010101010101010101010113
+:109D40000101010101010101010101010101010103
+:109D500001010101010101010101010101010101F3
+:109D600001010101010101010101010101010101E3
+:109D700001010101010101010101010101010101D3
+:109D800001010101010101010101010101010101C3
+:109D900001010101010101010101010101010101B3
+:109DA00001010101010101010101010101010101A3
+:109DB0000101010101010101010101010101010193
+:109DC0000101010101010101010101010101010183
+:109DD0000101010101010101010101010101010173
+:109DE0000101010101010101010101010101010163
+:109DF0000101010101010101010101010101010153
+:109E00000101010101010101010101010101010142
+:109E10000101010101010101010101010101010132
+:109E20000101010101010101010101010101010122
+:109E30000101010101010101010101010101010112
+:109E40000101010101010101010101010101010102
+:109E500001010101010101010101010101010101F2
+:109E600001010101010101010101010101010101E2
+:109E700001010101010101010101010101010101D2
+:109E800001010101010101010101010101010101C2
+:109E900001010101010101010101010101010101B2
+:109EA00001010101010101010101010101010101A2
+:109EB0000101010101010101010101010101010192
+:109EC0000101010101010101010101010101010182
+:109ED0000101010101010101010101010101010172
+:109EE0000101010101010101010101010101010162
+:109EF0000101010101010101010101010101010152
+:109F00000101010101010101010101010101010141
+:109F10000101010101010101010101010101010131
+:109F20000101010101010101010101010101010121
+:109F30000101010101010101010101010101010111
+:109F40000101010101010101010101010101010101
+:109F500001010101010101010101010101010101F1
+:109F600001010101010101010101010101010101E1
+:109F700001010101010101010101010101010101D1
+:109F800001010101010101010101010101010101C1
+:109F900001010101010101010101010101010101B1
+:109FA00001010101010101010101010101010101A1
+:109FB0000101010101010101010101010101010191
+:109FC0000101010101010101010101010101010181
+:109FD0000101010101010101010101010101010171
+:109FE0000101010101010101010101010101010161
+:109FF0000101010101010101010101010101010151
+:10A000000101010101010101010101010101010140
+:10A010000101010101010101010101010101010130
+:10A020000101010101010101010101010101010120
+:10A030000101010101010101010101010101010110
+:10A040000101010101010101010101010101010100
+:10A0500001010101010101010101010101010101F0
+:10A0600001010101010101010101010101010101E0
+:10A0700001010101010101010101010101010101D0
+:10A0800001010101010101010101010101010101C0
+:10A0900001010101010101010101010101010101B0
+:10A0A00001010101010101010101010101010101A0
+:10A0B0000101010101010101010101010101010190
+:10A0C0000101010101010101010101010101010180
+:10A0D0000101010101010101010101010101010170
+:10A0E0000101010101010101010101010101010160
+:10A0F0000101010101010101010101010101010150
+:10A10000010101010101010101010101010101013F
+:10A11000010101010101010101010101010101012F
+:10A12000010101010101010101010101010101011F
+:10A13000010101010101010101010101010101010F
+:10A1400001010101010101010101010101010101FF
+:10A1500001010101010101010101010101010101EF
+:10A1600001010101010101010101010101010101DF
+:10A1700001010101010101010101010101010101CF
+:10A1800001010101010101010101010101010101BF
+:10A1900001010101010101010101010101010101AF
+:10A1A000010101010101010101010101010101019F
+:10A1B000010101010101010101010101010101018F
+:10A1C000010101010101010101010101010101017F
+:10A1D000010101010101010101010101010101016F
+:10A1E000010101010101010101010101010101015F
+:10A1F000010101010101010101010101010101014F
+:10A20000010101010101010101010101010101013E
+:10A21000010101010101010101010101010101012E
+:10A22000010101010101010101010101010101011E
+:10A23000010101010101010101010101010101010E
+:10A2400001010101010101010101010101010101FE
+:10A2500001010101010101010101010101010101EE
+:10A2600001010101010101010101010101010101DE
+:10A2700001010101010101010101010101010101CE
+:10A2800001010101010101010101010101010101BE
+:10A2900001010101010101010101010101010101AE
+:10A2A000010101010101010101010101010101019E
+:10A2B000010101010101010101010101010101018E
+:10A2C000010101010101010101010101010101017E
+:10A2D000010101010101010101010101010101016E
+:10A2E000010101010101010101010101010101015E
+:10A2F000010101010101010101010101010101014E
+:10A30000010101010101010101010101010101013D
+:10A31000010101010101010101010101010101012D
+:10A32000010101010101010101010101010101011D
+:10A33000010101010101010101010101010101010D
+:10A3400001010101010101010101010101010101FD
+:10A3500001010101010101010101010101010101ED
+:10A3600001010101010101010101010101010101DD
+:10A3700001010101010101010101010101010101CD
+:10A3800001010101010101010101010101010101BD
+:10A3900001010101010101010101010101010101AD
+:10A3A000010101010101010101010101010101019D
+:10A3B000010101010101010101010101010101018D
+:10A3C000010101010101010101010101010101017D
+:10A3D000010101010101010101010101010101016D
+:10A3E000010101010101010101010101010101015D
+:10A3F000010101010101010101010101010101014D
+:10A40000010101010101010101010101010101013C
+:10A41000010101010101010101010101010101012C
+:10A42000010101010101010101010101010101011C
+:10A43000010101010101010101010101010101010C
+:10A4400001010101010101010101010101010101FC
+:10A4500001010101010101010101010101010101EC
+:10A4600001010101010101010101010101010101DC
+:10A4700001010101010101010101010101010101CC
+:10A4800001010101010101010101010101010101BC
+:10A4900001010101010101010101010101010101AC
+:10A4A000010101010101010101010101010101019C
+:10A4B000010101010101010101010101010101018C
+:10A4C000010101010101010101010101010101017C
+:10A4D000010101010101010101010101010101016C
+:10A4E000010101010101010101010101010101015C
+:10A4F000010101010101010101010101010101014C
+:10A50000010101010101010101010101010101013B
+:10A51000010101010101010101010101010101012B
+:10A52000010101010101010101010101010101011B
+:10A53000010101010101010101010101010101010B
+:10A5400001010101010101010101010101010101FB
+:10A5500001010101010101010101010101010101EB
+:10A5600001010101010101010101010101010101DB
+:10A5700001010101010101010101010101010101CB
+:10A5800001010101010101010101010101010101BB
+:10A5900001010101010101010101010101010101AB
+:10A5A000010101010101010101010101010101019B
+:10A5B000010101010101010101010101010101018B
+:10A5C000010101010101010101010101010101017B
+:10A5D000010101010101010101010101010101016B
+:10A5E000010101010101010101010101010101015B
+:10A5F000010101010101010101010101010101014B
+:10A60000010101010101010101010101010101013A
+:10A61000010101010101010101010101010101012A
+:10A62000010101010101010101010101010101011A
+:10A63000010101010101010101010101010101010A
+:10A6400001010101010101010101010101010101FA
+:10A6500001010101010101010101010101010101EA
+:10A6600001010101010101010101010101010101DA
+:10A6700001010101010101010101010101010101CA
+:10A6800001010101010101010101010101010101BA
+:10A6900001010101010101010101010101010101AA
+:10A6A000010101010101010101010101010101019A
+:10A6B000010101010101010101010101010101018A
+:10A6C000010101010101010101010101010101017A
+:10A6D000010101010101010101010101010101016A
+:10A6E000010101010101010101010101010101015A
+:10A6F000010101010101010101010101010101014A
+:10A700000101010101010101010101010101010139
+:10A710000101010101010101010101010101010129
+:10A720000101010101010101010101010101010119
+:10A730000101010101010101010101010101010109
+:10A7400001010101010101010101010101010101F9
+:10A7500001010101010101010101010101010101E9
+:10A7600001010101010101010101010101010101D9
+:10A7700001010101010101010101010101010101C9
+:10A7800001010101010101010101010101010101B9
+:10A7900001010101010101010101010101010101A9
+:10A7A0000101010101010101010101010101010199
+:10A7B0000101010101010101010101010101010189
+:10A7C0000101010101010101010101010101010179
+:10A7D0000101010101010101010101010101010169
+:10A7E0000101010101010101010101010101010159
+:10A7F0000101010101010101010101010101010149
+:10A800000101010101010101010101010101010138
+:10A810000101010101010101010101010101010128
+:10A820000101010101010101010101010101010118
+:10A830000101010101010101010101010101010108
+:10A8400001010101010101010101010101010101F8
+:10A8500001010101010101010101010101010101E8
+:10A8600001010101010101010101010101010101D8
+:10A8700001010101010101010101010101010101C8
+:10A8800001010101010101010101010101010101B8
+:10A8900001010101010101010101010101010101A8
+:10A8A0000101010101010101010101010101010198
+:10A8B0000101010101010101010101010101010188
+:10A8C0000101010101010101010101010101010178
+:10A8D0000101010101010101010101010101010168
+:10A8E0000101010101010101010101010101010158
+:10A8F0000101010101010101010101010101010148
+:10A900000101010101010101010101010101010137
+:10A910000101010101010101010101010101010127
+:10A920000101010101010101010101010101010117
+:10A930000101010101010101010101010101010107
+:10A9400001010101010101010101010101010101F7
+:10A9500001010101010101010101010101010101E7
+:10A9600001010101010101010101010101010101D7
+:10A9700001010101010101010101010101010101C7
+:10A9800001010101010101010101010101010101B7
+:10A9900001010101010101010101010101010101A7
+:10A9A0000101010101010101010101010101010197
+:10A9B0000101010101010101010101010101010187
+:10A9C0000101010101010101010101010101010177
+:10A9D0000101010101010101010101010101010167
+:10A9E0000101010101010101010101010101010157
+:10A9F0000101010101010101010101010101010147
+:10AA00000101010101010101010101010101010136
+:10AA10000101010101010101010101010101010126
+:10AA20000101010101010101010101010101010116
+:10AA30000101010101010101010101010101010106
+:10AA400001010101010101010101010101010101F6
+:10AA500001010101010101010101010101010101E6
+:10AA600001010101010101010101010101010101D6
+:10AA700001010101010101010101010101010101C6
+:10AA800001010101010101010101010101010101B6
+:10AA900001010101010101010101010101010101A6
+:10AAA0000101010101010101010101010101010196
+:10AAB0000101010101010101010101010101010186
+:10AAC0000101010101010101010101010101010176
+:10AAD0000101010101010101010101010101010166
+:10AAE0000101010101010101010101010101010156
+:10AAF0000101010101010101010101010101010146
+:10AB00000101010101010101010101010101010135
+:10AB10000101010101010101010101010101010125
+:10AB20000101010101010101010101010101010115
+:10AB30000101010101010101010101010101010105
+:10AB400001010101010101010101010101010101F5
+:10AB500001010101010101010101010101010101E5
+:10AB600001010101010101010101010101010101D5
+:10AB700001010101010101010101010101010101C5
+:10AB800001010101010101010101010101010101B5
+:10AB900001010101010101010101010101010101A5
+:10ABA0000101010101010101010101010101010195
+:10ABB0000101010101010101010101010101010185
+:10ABC0000101010101010101010101010101010175
+:10ABD0000101010101010101010101010101010165
+:10ABE0000101010101010101010101010101010155
+:10ABF0000101010101010101010101010101010145
+:10AC00000101010101010101010101010101010134
+:10AC10000101010101010101010101010101010124
+:10AC20000101010101010101010101010101010114
+:10AC30000101010101010101010101010101010104
+:10AC400001010101010101010101010101010101F4
+:10AC500001010101010101010101010101010101E4
+:10AC600001010101010101010101010101010101D4
+:10AC700001010101010101010101010101010101C4
+:10AC800001010101010101010101010101010101B4
+:10AC900001010101010101010101010101010101A4
+:10ACA0000101010101010101010101010101010194
+:10ACB0000101010101010101010101010101010184
+:10ACC0000101010101010101010101010101010174
+:10ACD0000101010101010101010101010101010164
+:10ACE0000101010101010101010101010101010154
+:10ACF0000101010101010101010101010101010144
+:10AD00000101010101010101010101010101010133
+:10AD10000101010101010101010101010101010123
+:10AD20000101010101010101010101010101010113
+:10AD30000101010101010101010101010101010103
+:10AD400001010101010101010101010101010101F3
+:10AD500001010101010101010101010101010101E3
+:10AD600001010101010101010101010101010101D3
+:10AD700001010101010101010101010101010101C3
+:10AD800001010101010101010101010101010101B3
+:10AD900001010101010101010101010101010101A3
+:10ADA0000101010101010101010101010101010193
+:10ADB0000101010101010101010101010101010183
+:10ADC0000101010101010101010101010101010173
+:10ADD0000101010101010101010101010101010163
+:10ADE0000101010101010101010101010101010153
+:10ADF0000101010101010101010101010101010143
+:10AE00000101010101010101010101010101010132
+:10AE10000101010101010101010101010101010122
+:10AE20000101010101010101010101010101010112
+:10AE30000101010101010101010101010101010102
+:10AE400001010101010101010101010101010101F2
+:10AE500001010101010101010101010101010101E2
+:10AE600001010101010101010101010101010101D2
+:10AE700001010101010101010101010101010101C2
+:10AE800001010101010101010101010101010101B2
+:10AE900001010101010101010101010101010101A2
+:10AEA0000101010101010101010101010101010192
+:10AEB0000101010101010101010101010101010182
+:10AEC0000101010101010101010101010101010172
+:10AED0000101010101010101010101010101010162
+:10AEE0000101010101010101010101010101010152
+:10AEF0000101010101010101010101010101010142
+:10AF00000101010101010101010101010101010131
+:10AF10000101010101010101010101010101010121
+:10AF20000101010101010101010101010101010111
+:10AF30000101010101010101010101010101010101
+:10AF400001010101010101010101010101010101F1
+:10AF500001010101010101010101010101010101E1
+:10AF600001010101010101010101010101010101D1
+:10AF700001010101010101010101010101010101C1
+:10AF800001010101010101010101010101010101B1
+:10AF900001010101010101010101010101010101A1
+:10AFA0000101010101010101010101010101010191
+:10AFB0000101010101010101010101010101010181
+:10AFC0000101010101010101010101010101010171
+:10AFD0000101010101010101010101010101010161
+:10AFE0000101010101010101010101010101010151
+:10AFF0000101010101010101010101010101010141
+:10B000000101010101010101010101010101010130
+:10B010000101010101010101010101010101010120
+:10B020000101010101010101010101010101010110
+:10B030000101010101010101010101010101010100
+:10B0400001010101010101010101010101010101F0
+:10B0500001010101010101010101010101010101E0
+:10B0600001010101010101010101010101010101D0
+:10B0700001010101010101010101010101010101C0
+:10B0800001010101010101010101010101010101B0
+:10B0900001010101010101010101010101010101A0
+:10B0A0000101010101010101010101010101010190
+:10B0B0000101010101010101010101010101010180
+:10B0C0000101010101010101010101010101010170
+:10B0D0000101010101010101010101010101010160
+:10B0E0000101010101010101010101010101010150
+:10B0F0000101010101010101010101010101010140
+:10B10000010101010101010101010101010101012F
+:10B11000010101010101010101010101010101011F
+:10B12000010101010101010101010101010101010F
+:10B1300001010101010101010101010101010101FF
+:10B1400001010101010101010101010101010101EF
+:10B1500001010101010101010101010101010101DF
+:10B1600001010101010101010101010101010101CF
+:10B1700001010101010101010101010101010101BF
+:10B1800001010101010101010101010101010101AF
+:10B19000010101010101010101010101010101019F
+:10B1A000010101010101010101010101010101018F
+:10B1B000010101010101010101010101010101017F
+:10B1C000010101010101010101010101010101016F
+:10B1D000010101010101010101010101010101015F
+:10B1E000010101010101010101010101010101014F
+:10B1F000010101010101010101010101010101013F
+:10B20000010101010101010101010101010101012E
+:10B21000010101010101010101010101010101011E
+:10B22000010101010101010101010101010101010E
+:10B2300001010101010101010101010101010101FE
+:10B2400001010101010101010101010101010101EE
+:10B2500001010101010101010101010101010101DE
+:10B2600001010101010101010101010101010101CE
+:10B2700001010101010101010101010101010101BE
+:10B2800001010101010101010101010101010101AE
+:10B29000010101010101010101010101010101019E
+:10B2A000010101010101010101010101010101018E
+:10B2B000010101010101010101010101010101017E
+:10B2C000010101010101010101010101010101016E
+:10B2D000010101010101010101010101010101015E
+:10B2E000010101010101010101010101010101014E
+:10B2F000010101010101010101010101010101013E
+:10B30000010101010101010101010101010101012D
+:10B31000010101010101010101010101010101011D
+:10B32000010101010101010101010101010101010D
+:10B3300001010101010101010101010101010101FD
+:10B3400001010101010101010101010101010101ED
+:10B3500001010101010101010101010101010101DD
+:10B3600001010101010101010101010101010101CD
+:10B3700001010101010101010101010101010101BD
+:10B3800001010101010101010101010101010101AD
+:10B39000010101010101010101010101010101019D
+:10B3A000010101010101010101010101010101018D
+:10B3B000010101010101010101010101010101017D
+:10B3C000010101010101010101010101010101016D
+:10B3D000010101010101010101010101010101005E
+:10B3E000000000000000000000000000000000005D
+:10B3F000000000000000000000000000000000004D
+:10B40000000000000000000000000000000000003C
+:10B41000000000000000000000000000000000002C
+:10B42000000000000000000000000000000000001C
+:10B43000000000000000000000000000000000000C
+:10B4400000000000000000000000000000000000FC
+:10B4500000000000000000000000000000000000EC
+:10B4600000000000000000000000000000000000DC
+:10B4700000000000000000000000000000000000CC
+:10B4800000000000000000000000000000000000BC
+:10B4900000000000000000000000000000000000AC
+:10B4A000000000000000000000000000000000009C
+:10B4B000000000000000000000000000000000008C
+:10B4C000000000000000000000000000000000007C
+:10B4D000000000000000000000000000000000006C
+:10B4E000000000000000000000000000000000005C
+:10B4F000000000000000000000000000000000004C
+:10B50000000000000000000000000000000000003B
+:10B51000000000000000000000000000000000002B
+:10B52000000000000000000000000000000000001B
+:10B53000000000000000000000000000000000000B
+:10B5400000000000000000000000000000000000FB
+:10B5500000000000000000000000000000000000EB
+:10B5600000000000000000000000000000000000DB
+:10B5700000000000000000000000000000000000CB
+:10B5800000000000000000000000000000000000BB
+:10B5900000000000000000000000000000000000AB
+:10B5A000000000000000000000000000000000009B
+:10B5B000000000000000000000000000000000008B
+:10B5C000000000000000000000000000000000007B
+:10B5D000000000000000000000000000000000006B
+:10B5E000000000000000000000000000000000005B
+:10B5F000000000000000000000000000000000004B
+:10B60000000000000000000000000000000000003A
+:10B61000000000000000000000000000000000002A
+:10B62000000000000000000000000000000000001A
+:10B63000000000000000000000000000000000000A
+:10B6400000000000000000000000000000000000FA
+:10B6500000000000000000000000000000000000EA
+:10B6600000000000000000000000000000000000DA
+:10B6700000000000000000000000000000000000CA
+:10B6800000000000000000000000000000000000BA
+:10B6900000000000000000000000000000000000AA
+:10B6A000000000000000000000000000000000009A
+:10B6B000000000000000000000000000000000008A
+:10B6C000000000000000000000000000000000007A
+:10B6D000000000000000000000000000000000006A
+:10B6E000000000000000000000000000000000005A
+:10B6F000000000000000000000000000000000004A
+:10B700000000000000000000000000000000000039
+:10B710000000000000000000000000000000000029
+:10B720000000000000000000000000000000000019
+:10B730000000000000000000000000000000000009
+:10B7400000000000000000000000000000000000F9
+:10B7500000000000000000000000000000000000E9
+:10B7600000000000000000000000000000000000D9
+:10B7700000000000000000000000000000000000C9
+:10B7800000000000000000000000000000000000B9
+:10B7900000000000000000000000000000000000A9
+:10B7A0000000000000000000000000000000000099
+:10B7B0000000000000000000000000000000000089
+:10B7C0000000000000000000000000000000000079
+:10B7D0000000000000000000000000000000000267
+:10B7E0000202020202020202020202020202020239
+:10B7F0000202020202020202020202020202020229
+:10B800000202020202020202020202020202020218
+:10B810000202020202020202020202020202020208
+:10B8200002020202020202020202020202020202F8
+:10B8300002020202020202020202020202020202E8
+:10B8400002020202020202020202020202020202D8
+:10B8500002020202020202020202020202020202C8
+:10B8600002020202020202020202020202020202B8
+:10B8700002020202020202020202020202020202A8
+:10B880000202020202020202020202020202020298
+:10B890000202020202020202020202020202020288
+:10B8A0000202020202020202020202020202020278
+:10B8B0000202020202020202020202020202020268
+:10B8C0000202020202020202020202020202020258
+:10B8D0000202020202020202020202020202020248
+:10B8E0000202020202020202020202020202020238
+:10B8F0000202020202020202020202020202020228
+:10B900000202020202020202020202020202020217
+:10B910000202020202020202020202020202020207
+:10B9200002020202020202020202020202020202F7
+:10B9300002020202020202020202020202020202E7
+:10B9400002020202020202020202020202020202D7
+:10B9500002020202020202020202020202020202C7
+:10B9600002020202020202020202020202020202B7
+:10B9700002020202020202020202020202020202A7
+:10B980000202020202020202020202020202020297
+:10B990000202020202020202020202020202020287
+:10B9A0000202020202020202020202020202020277
+:10B9B0000202020202020202020202020202020267
+:10B9C0000202020202020202020202020202020257
+:10B9D0000202020202020202020202020202020247
+:10B9E0000202020202020202020202020202020237
+:10B9F0000202020202020202020202020202020227
+:10BA00000202020202020202020202020202020216
+:10BA10000202020202020202020202020202020206
+:10BA200002020202020202020202020202020202F6
+:10BA300002020202020202020202020202020202E6
+:10BA400002020202020202020202020202020202D6
+:10BA500002020202020202020202020202020202C6
+:10BA600002020202020202020202020202020202B6
+:10BA700002020202020202020202020202020202A6
+:10BA80000202020202020202020202020202020296
+:10BA90000202020202020202020202020202020286
+:10BAA0000202020202020202020202020202020276
+:10BAB0000202020202020202020202020202020266
+:10BAC0000202020202020202020202020202020256
+:10BAD0000202020202020202020202020202020246
+:10BAE0000202020202020202020202020202020236
+:10BAF0000202020202020202020202020202020226
+:10BB00000202020202020202020202020202020215
+:10BB10000202020202020202020202020202020205
+:10BB200002020202020202020202020202020202F5
+:10BB300002020202020202020202020202020202E5
+:10BB400002020202020202020202020202020202D5
+:10BB500002020202020202020202020202020202C5
+:10BB600002020202020202020202020202020202B5
+:10BB700002020202020202020202020202020202A5
+:10BB80000202020202020202020202020202020295
+:10BB90000202020202020202020202020202020285
+:10BBA0000202020202020202020202020202020275
+:10BBB0000202020202020202020202020202020265
+:10BBC0000202020202020202020202020202020255
+:10BBD0000202020202020202020202020202020245
+:10BBE0000202020202020202020202020202020235
+:10BBF0000202020202020202020202020202020225
+:10BC00000202020202020202020202020202020214
+:10BC10000202020202020202020202020202020204
+:10BC200002020202020202020202020202020202F4
+:10BC300002020202020202020202020202020202E4
+:10BC400002020202020202020202020202020202D4
+:10BC500002020202020202020202020202020202C4
+:10BC600002020202020202020202020202020202B4
+:10BC700002020202020202020202020202020202A4
+:10BC80000202020202020202020202020202020294
+:10BC90000202020202020202020202020202020284
+:10BCA0000202020202020202020202020202020274
+:10BCB0000202020202020202020202020202020264
+:10BCC0000202020202020202020202020202020254
+:10BCD0000202020202020202020202020202020244
+:10BCE0000202020202020202020202020202020234
+:10BCF0000202020202020202020202020202020224
+:10BD00000202020202020202020202020202020213
+:10BD10000202020202020202020202020202020203
+:10BD200002020202020202020202020202020202F3
+:10BD300002020202020202020202020202020202E3
+:10BD400002020202020202020202020202020202D3
+:10BD500002020202020202020202020202020202C3
+:10BD600002020202020202020202020202020202B3
+:10BD700002020202020202020202020202020202A3
+:10BD80000202020202020202020202020202020293
+:10BD90000202020202020202020202020202020283
+:10BDA0000202020202020202020202020202020273
+:10BDB0000202020202020202020202020202020263
+:10BDC0000202020202020202020202020202020253
+:10BDD0000202020202020202020202020202020243
+:10BDE0000202020202020202020202020202020233
+:10BDF0000202020202020202020202020202020223
+:10BE00000202020202020202020202020202020212
+:10BE10000202020202020202020202020202020202
+:10BE200002020202020202020202020202020202F2
+:10BE300002020202020202020202020202020202E2
+:10BE400002020202020202020202020202020202D2
+:10BE500002020202020202020202020202020202C2
+:10BE600002020202020202020202020202020202B2
+:10BE700002020202020202020202020202020202A2
+:10BE80000202020202020202020202020202020292
+:10BE90000202020202020202020202020202020282
+:10BEA0000202020202020202020202020202020272
+:10BEB0000202020202020202020202020202020262
+:10BEC0000202020202020202020202020202020252
+:10BED0000202020202020202020202020202020242
+:10BEE0000202020202020202020202020202020232
+:10BEF0000202020202020202020202020202020222
+:10BF00000202020202020202020202020202020211
+:10BF10000202020202020202020202020202020201
+:10BF200002020202020202020202020202020202F1
+:10BF300002020202020202020202020202020202E1
+:10BF400002020202020202020202020202020202D1
+:10BF500002020202020202020202020202020202C1
+:10BF600002020202020202020202020202020202B1
+:10BF700002020202020202020202020202020202A1
+:10BF80000202020202020202020202020202020291
+:10BF90000202020202020202020202020202020281
+:10BFA0000202020202020202020202020202020271
+:10BFB0000202020202020202020202020202020261
+:10BFC0000202020202020202020202020202020251
+:10BFD0000202020202020202020202020202020241
+:10BFE0000202020202020202020202020202020231
+:10BFF0000202020202020202020202020202020221
+:10C000000202020202020202020202020202020210
+:10C010000202020202020202020202020202020200
+:10C0200002020202020202020202020202020202F0
+:10C0300002020202020202020202020202020202E0
+:10C0400002020202020202020202020202020202D0
+:10C0500002020202020202020202020202020202C0
+:10C0600002020202020202020202020202020202B0
+:10C0700002020202020202020202020202020202A0
+:10C080000202020202020202020202020202020290
+:10C090000202020202020202020202020202020280
+:10C0A0000202020202020202020202020202020270
+:10C0B0000202020202020202020202020202020260
+:10C0C0000202020202020202020202020202020250
+:10C0D0000202020202020202020202020202020240
+:10C0E0000202020202020202020202020202020230
+:10C0F0000202020202020202020202020202020220
+:10C10000020202020202020202020202020202020F
+:10C1100002020202020202020202020202020202FF
+:10C1200002020202020202020202020202020202EF
+:10C1300002020202020202020202020202020202DF
+:10C1400002020202020202020202020202020202CF
+:10C1500002020202020202020202020202020202BF
+:10C1600002020202020202020202020202020202AF
+:10C17000020202020202020202020202020202029F
+:10C18000020202020202020202020202020202028F
+:10C19000020202020202020202020202020202027F
+:10C1A000020202020202020202020202020202026F
+:10C1B000020202020202020202020202020202025F
+:10C1C000020202020202020202020202020202024F
+:10C1D000020202020202020202020202020202023F
+:10C1E000020202020202020202020202020202022F
+:10C1F000020202020202020202020202020202021F
+:10C20000020202020202020202020202020202020E
+:10C2100002020202020202020202020202020202FE
+:10C2200002020202020202020202020202020202EE
+:10C2300002020202020202020202020202020202DE
+:10C2400002020202020202020202020202020202CE
+:10C2500002020202020202020202020202020202BE
+:10C2600002020202020202020202020202020202AE
+:10C27000020202020202020202020202020202029E
+:10C28000020202020202020202020202020202028E
+:10C29000020202020202020202020202020202027E
+:10C2A000020202020202020202020202020202026E
+:10C2B000020202020202020202020202020202025E
+:10C2C000020202020202020202020202020202024E
+:10C2D000020202020202020202020202020202023E
+:10C2E000020202020202020202020202020202022E
+:10C2F000020202020202020202020202020202021E
+:10C30000020202020202020202020202020202020D
+:10C3100002020202020202020202020202020202FD
+:10C3200002020202020202020202020202020202ED
+:10C3300002020202020202020202020202020202DD
+:10C3400002020202020202020202020202020202CD
+:10C3500002020202020202020202020202020202BD
+:10C3600002020202020202020202020202020202AD
+:10C37000020202020202020202020202020202029D
+:10C38000020202020202020202020202020202028D
+:10C39000020202020202020202020202020202027D
+:10C3A000020202020202020202020202020202026D
+:10C3B000020202020202020202020202020202025D
+:10C3C000020202020202020202020202020202024D
+:10C3D000020202020202020202020202020202023D
+:10C3E000020202020202020202020202020202022D
+:10C3F000020202020202020202020202020202021D
+:10C40000020202020202020202020202020202020C
+:10C4100002020202020202020202020202020202FC
+:10C4200002020202020202020202020202020202EC
+:10C4300002020202020202020202020202020202DC
+:10C4400002020202020202020202020202020202CC
+:10C4500002020202020202020202020202020202BC
+:10C4600002020202020202020202020202020202AC
+:10C47000020202020202020202020202020202029C
+:10C48000020202020202020202020202020202028C
+:10C49000020202020202020202020202020202027C
+:10C4A000020202020202020202020202020202026C
+:10C4B000020202020202020202020202020202025C
+:10C4C000020202020202020202020202020202024C
+:10C4D000020202020202020202020202020202023C
+:10C4E000020202020202020202020202020202022C
+:10C4F000020202020202020202020202020202021C
+:10C50000020202020202020202020202020202020B
+:10C5100002020202020202020202020202020202FB
+:10C5200002020202020202020202020202020202EB
+:10C5300002020202020202020202020202020202DB
+:10C5400002020202020202020202020202020202CB
+:10C5500002020202020202020202020202020202BB
+:10C5600002020202020202020202020202020202AB
+:10C57000020202020202020202020202020202029B
+:10C58000020202020202020202020202020202028B
+:10C59000020202020202020202020202020202027B
+:10C5A000020202020202020202020202020202026B
+:10C5B000020202020202020202020202020202025B
+:10C5C000020202020202020202020202020202024B
+:10C5D000020202020202020202020202020202023B
+:10C5E000020202020202020202020202020202022B
+:10C5F000020202020202020202020202020202021B
+:10C60000020202020202020202020202020202020A
+:10C6100002020202020202020202020202020202FA
+:10C6200002020202020202020202020202020202EA
+:10C6300002020202020202020202020202020202DA
+:10C6400002020202020202020202020202020202CA
+:10C6500002020202020202020202020202020202BA
+:10C6600002020202020202020202020202020202AA
+:10C67000020202020202020202020202020202029A
+:10C68000020202020202020202020202020202028A
+:10C69000020202020202020202020202020202027A
+:10C6A000020202020202020202020202020202026A
+:10C6B000020202020202020202020202020202025A
+:10C6C000020202020202020202020202020202024A
+:10C6D000020202020202020202020202020202023A
+:10C6E000020202020202020202020202020202022A
+:10C6F000020202020202020202020202020202021A
+:10C700000202020202020202020202020202020209
+:10C7100002020202020202020202020202020202F9
+:10C7200002020202020202020202020202020202E9
+:10C7300002020202020202020202020202020202D9
+:10C7400002020202020202020202020202020202C9
+:10C7500002020202020202020202020202020202B9
+:10C7600002020202020202020202020202020202A9
+:10C770000202020202020202020202020202020299
+:10C780000202020202020202020202020202020289
+:10C790000202020202020202020202020202020279
+:10C7A0000202020202020202020202020202020269
+:10C7B0000202020202020202020202020202020259
+:10C7C0000202020202020202020202020202020249
+:10C7D0000202020202020202020202020202020239
+:10C7E0000202020202020202020202020202020229
+:10C7F0000202020202020202020202020202020219
+:10C800000202020202020202020202020202020208
+:10C8100002020202020202020202020202020202F8
+:10C8200002020202020202020202020202020202E8
+:10C8300002020202020202020202020202020202D8
+:10C8400002020202020202020202020202020202C8
+:10C8500002020202020202020202020202020202B8
+:10C8600002020202020202020202020202020202A8
+:10C870000202020202020202020202020202020298
+:10C880000202020202020202020202020202020288
+:10C890000202020202020202020202020202020278
+:10C8A0000202020202020202020202020202020268
+:10C8B0000202020202020202020202020202020258
+:10C8C0000202020202020202020202020202020248
+:10C8D0000202020202020202020202020202020238
+:10C8E0000202020202020202020202020202020228
+:10C8F0000202020202020202020202020202020218
+:10C900000202020202020202020202020202020207
+:10C9100002020202020202020202020202020202F7
+:10C9200002020202020202020202020202020202E7
+:10C9300002020202020202020202020202020202D7
+:10C9400002020202020202020202020202020202C7
+:10C9500002020202020202020202020202020202B7
+:10C9600002020202020202020202020202020202A7
+:10C970000202020202020202020202020202020297
+:10C980000202020202020202020202020202020287
+:10C990000202020202020202020202020202020277
+:10C9A0000202020202020202020202020202020267
+:10C9B0000202020202020202020202020202020257
+:10C9C0000202020202020202020202020202020247
+:10C9D0000202020202020202020202020202020237
+:10C9E0000202020202020202020202020202020227
+:10C9F0000202020202020202020202020202020217
+:10CA00000202020202020202020202020202020206
+:10CA100002020202020202020202020202020202F6
+:10CA200002020202020202020202020202020202E6
+:10CA300002020202020202020202020202020202D6
+:10CA400002020202020202020202020202020202C6
+:10CA500002020202020202020202020202020202B6
+:10CA600002020202020202020202020202020202A6
+:10CA70000202020202020202020202020202020296
+:10CA80000202020202020202020202020202020286
+:10CA90000202020202020202020202020202020276
+:10CAA0000202020202020202020202020202020266
+:10CAB0000202020202020202020202020202020256
+:10CAC0000202020202020202020202020202020246
+:10CAD0000202020202020202020202020202020236
+:10CAE0000202020202020202020202020202020226
+:10CAF0000202020202020202020202020202020216
+:10CB00000202020202020202020202020202020205
+:10CB100002020202020202020202020202020202F5
+:10CB200002020202020202020202020202020202E5
+:10CB300002020202020202020202020202020202D5
+:10CB400002020202020202020202020202020202C5
+:10CB500002020202020202020202020202020202B5
+:10CB600002020202020202020202020202020202A5
+:10CB70000202020202020202020202020202020295
+:10CB80000202020202020202020202020202020285
+:10CB90000202020202020202020202020202020275
+:10CBA0000202020202020202020202020202020265
+:10CBB0000202020202020202020202020202020255
+:10CBC0000202020202020202020202020202020245
+:10CBD0000202020202020202020202020202020235
+:10CBE0000202020202020202020202020202020225
+:10CBF0000202020202020202020202020202020215
+:10CC00000202020202020202020202020202020204
+:10CC100002020202020202020202020202020202F4
+:10CC200002020202020202020202020202020202E4
+:10CC300002020202020202020202020202020202D4
+:10CC400002020202020202020202020202020202C4
+:10CC500002020202020202020202020202020202B4
+:10CC600002020202020202020202020202020202A4
+:10CC70000202020202020202020202020202020294
+:10CC80000202020202020202020202020202020284
+:10CC90000202020202020202020202020202020274
+:10CCA0000202020202020202020202020202020264
+:10CCB0000202020202020202020202020202020254
+:10CCC0000202020202020202020202020202020244
+:10CCD0000202020202020202020202020202020234
+:10CCE0000202020202020202020202020202020224
+:10CCF0000202020202020202020202020202020214
+:10CD00000202020202020202020202020202020203
+:10CD100002020202020202020202020202020202F3
+:10CD200002020202020202020202020202020202E3
+:10CD300002020202020202020202020202020202D3
+:10CD400002020202020202020202020202020202C3
+:10CD500002020202020202020202020202020202B3
+:10CD600002020202020202020202020202020202A3
+:10CD70000202020202020202020202020202020293
+:10CD80000202020202020202020202020202020283
+:10CD90000202020202020202020202020202020273
+:10CDA0000202020202020202020202020202020263
+:10CDB0000202020202020202020202020202020253
+:10CDC0000202020202020202020202020202020243
+:10CDD0000202020202020202020202020202020233
+:10CDE0000202020202020202020202020202020223
+:10CDF0000202020202020202020202020202020213
+:10CE00000202020202020202020202020202020202
+:10CE100002020202020202020202020202020202F2
+:10CE200002020202020202020202020202020202E2
+:10CE300002020202020202020202020202020202D2
+:10CE400002020202020202020202020202020202C2
+:10CE500002020202020202020202020202020202B2
+:10CE600002020202020202020202020202020202A2
+:10CE70000202020202020202020202020202020292
+:10CE80000202020202020202020202020202020282
+:10CE90000202020202020202020202020202020272
+:10CEA0000202020202020202020202020202020262
+:10CEB0000202020202020202020202020202020252
+:10CEC0000202020202020202020202020202020242
+:10CED0000202020202020202020202020202020232
+:10CEE0000202020202020202020202020202020222
+:10CEF0000202020202020202020202020202020212
+:10CF00000202020202020202020202020202020201
+:10CF100002020202020202020202020202020202F1
+:10CF200002020202020202020202020202020202E1
+:10CF300002020202020202020202020202020202D1
+:10CF400002020202020202020202020202020202C1
+:10CF500002020202020202020202020202020202B1
+:10CF600002020202020202020202020202020202A1
+:10CF70000202020202020202020202020202020291
+:10CF80000202020202020202020202020202020281
+:10CF90000202020202020202020202020202020271
+:10CFA0000202020202020202020202020202020261
+:10CFB0000202020202020202020202020202020251
+:10CFC0000202020202020202020202020202020241
+:10CFD0000202020202020202020202020202020231
+:10CFE0000202020202020202020202020202020221
+:10CFF0000202020202020202020202020202020211
+:10D000000202020202020202020202020202020200
+:10D0100002020202020202020202020202020202F0
+:10D0200002020202020202020202020202020202E0
+:10D0300002020202020202020202020202020202D0
+:10D0400002020202020202020202020202020202C0
+:10D0500002020202020202020202020202020202B0
+:10D0600002020202020202020202020202020202A0
+:10D070000202020202020202020202020202020290
+:10D080000202020202020202020202020202020280
+:10D090000202020202020202020202020202020270
+:10D0A0000202020202020202020202020202020260
+:10D0B0000202020202020202020202020202020250
+:10D0C0000202020202020202020202020202020240
+:10D0D0000202020202020202020202020202020230
+:10D0E0000202020202020202020202020202020220
+:10D0F0000202020202020202020202020202020210
+:10D1000002020202020202020202020202020202FF
+:10D1100002020202020202020202020202020202EF
+:10D1200002020202020202020202020202020202DF
+:10D1300002020202020202020202020202020202CF
+:10D1400002020202020202020202020202020202BF
+:10D1500002020202020202020202020202020202AF
+:10D16000020202020202020202020202020202029F
+:10D17000020202020202020202020202020202028F
+:10D18000020202020202020202020202020202027F
+:10D19000020202020202020202020202020202026F
+:10D1A000020202020202020202020202020202025F
+:10D1B000020202020202020202020202020202024F
+:10D1C000020202020202020202020202020202023F
+:10D1D000020202020202020202020202020202022F
+:10D1E000020202020202020202020202020202021F
+:10D1F000020202020202020202020202020202020F
+:10D2000002020202020202020202020202020202FE
+:10D2100002020202020202020202020202020202EE
+:10D2200002020202020202020202020202020202DE
+:10D2300002020202020202020202020202020202CE
+:10D2400002020202020202020202020202020202BE
+:10D2500002020202020202020202020202020202AE
+:10D26000020202020202020202020202020202029E
+:10D27000020202020202020202020202020202028E
+:10D28000020202020202020202020202020202027E
+:10D29000020202020202020202020202020202026E
+:10D2A000020202020202020202020202020202025E
+:10D2B000020202020202020202020202020202024E
+:10D2C000020202020202020202020202020202023E
+:10D2D000020202020202020202020202020202022E
+:10D2E000020202020202020202020202020202021E
+:10D2F000020202020202020202020202020202020E
+:10D3000002020202020202020202020202020202FD
+:10D3100002020202020202020202020202020202ED
+:10D3200002020202020202020202020202020202DD
+:10D3300002020202020202020202020202020202CD
+:10D3400002020202020202020202020202020202BD
+:10D3500002020202020202020202020202020202AD
+:10D36000020202020202020202020202020202029D
+:10D37000020202020202020202020202020202028D
+:10D38000020202020202020202020202020202027D
+:10D39000020202020202020202020202020202026D
+:10D3A000020202020202020202020202020202025D
+:10D3B000020202020202020202020202020202024D
+:10D3C000020202020202020202020202020202023D
+:10D3D000020202020202020202020202020202022D
+:10D3E000020202020202020202020202020202021D
+:10D3F000020202020202020202020202020202020D
+:10D4000002020202020202020202020202020202FC
+:10D4100002020202020202020202020202020202EC
+:10D4200002020202020202020202020202020202DC
+:10D4300002020202020202020202020202020202CC
+:10D4400002020202020202020202020202020202BC
+:10D4500002020202020202020202020202020202AC
+:10D46000020202020202020202020202020202029C
+:10D47000020202020202020202020202020202028C
+:10D48000020202020202020202020202020202027C
+:10D49000020202020202020202020202020202026C
+:10D4A000020202020202020202020202020202025C
+:10D4B000020202020202020202020202020202024C
+:10D4C000020202020202020202020202020202023C
+:10D4D000020202020202020202020202020202022C
+:10D4E000020202020202020202020202020202021C
+:10D4F000020202020202020202020202020202020C
+:10D5000002020202020202020202020202020202FB
+:10D5100002020202020202020202020202020202EB
+:10D5200002020202020202020202020202020202DB
+:10D5300002020202020202020202020202020202CB
+:10D5400002020202020202020202020202020202BB
+:10D5500002020202020202020202020202020202AB
+:10D56000020202020202020202020202020202029B
+:10D57000020202020202020202020202020202028B
+:10D58000020202020202020202020202020202027B
+:10D59000020202020202020202020202020202026B
+:10D5A000020202020202020202020202020202025B
+:10D5B000020202020202020202020202020202024B
+:10D5C000020202020202020202020202020202023B
+:10D5D000020202020202020202020202020202022B
+:10D5E000020202020202020202020202020202021B
+:10D5F000020202020202020202020202020202020B
+:10D6000002020202020202020202020202020202FA
+:10D6100002020202020202020202020202020202EA
+:10D6200002020202020202020202020202020202DA
+:10D6300002020202020202020202020202020202CA
+:10D6400002020202020202020202020202020202BA
+:10D6500002020202020202020202020202020202AA
+:10D66000020202020202020202020202020202029A
+:10D67000020202020202020202020202020202028A
+:10D68000020202020202020202020202020202027A
+:10D69000020202020202020202020202020202026A
+:10D6A000020202020202020202020202020202025A
+:10D6B000020202020202020202020202020202024A
+:10D6C000020202020202020202020202020202023A
+:10D6D000020202020202020202020202020202022A
+:10D6E000020202020202020202020202020202021A
+:10D6F000020202020202020202020202020202020A
+:10D7000002020202020202020202020202020202F9
+:10D7100002020202020202020202020202020202E9
+:10D7200002020202020202020202020202020202D9
+:10D7300002020202020202020202020202020202C9
+:10D7400002020202020202020202020202020202B9
+:10D7500002020202020202020202020202020202A9
+:10D760000202020202020202020202020202020299
+:10D770000202020202020202020202020202020289
+:10D780000202020202020202020202020202020279
+:10D790000202020202020202020202020202020269
+:10D7A0000202020202020202020202020202020259
+:10D7B0000202020202020202020202020202020249
+:10D7C0000202020202020202020202020202020239
+:10D7D0000202020202020202020202020202020229
+:10D7E0000202020202020202020202020202020219
+:10D7F0000202020202020202020202020202020209
+:10D8000002020202020202020202020202020202F8
+:10D8100002020202020202020202020202020202E8
+:10D8200002020202020202020202020202020202D8
+:10D8300002020202020202020202020202020202C8
+:10D8400002020202020202020202020202020202B8
+:10D8500002020202020202020202020202020202A8
+:10D860000202020202020202020202020202020298
+:10D870000202020202020202020202020202020288
+:10D880000202020202020202020202020202020278
+:10D890000202020202020202020202020202020268
+:10D8A0000202020202020202020202020202020258
+:10D8B0000202020202020202020202020202020248
+:10D8C0000202020202020202020202020202020238
+:10D8D0000202020202020202020202020202020228
+:10D8E0000202020202020202020202020202020218
+:10D8F0000202020202020202020202020202020208
+:10D9000002020202020202020202020202020202F7
+:10D9100002020202020202020202020202020202E7
+:10D9200002020202020202020202020202020202D7
+:10D9300002020202020202020202020202020202C7
+:10D9400002020202020202020202020202020202B7
+:10D9500002020202020202020202020202020202A7
+:10D960000202020202020202020202020202020297
+:10D970000202020202020202020202020202020287
+:10D980000202020202020202020202020202020277
+:10D990000202020202020202020202020202020267
+:10D9A0000202020202020202020202020202020257
+:10D9B0000202020202020202020202020202020247
+:10D9C0000202020202020202020202020202020237
+:10D9D0000202020202020202020202020202020227
+:10D9E0000202020202020202020202020202020217
+:10D9F0000202020202020202020202020202020207
+:10DA000002020202020202020202020202020202F6
+:10DA100002020202020202020202020202020202E6
+:10DA200002020202020202020202020202020202D6
+:10DA300002020202020202020202020202020202C6
+:10DA400002020202020202020202020202020202B6
+:10DA500002020202020202020202020202020202A6
+:10DA60000202020202020202020202020202020296
+:10DA70000202020202020202020202020202020286
+:10DA80000202020202020202020202020202020276
+:10DA90000202020202020202020202020202020266
+:10DAA0000202020202020202020202020202020256
+:10DAB0000202020202020202020202020202020246
+:10DAC0000202020202020202020202020202020236
+:10DAD0000202020202020202020202020202020226
+:10DAE0000202020202020202020202020202020216
+:10DAF0000202020202020202020202020202020206
+:10DB000002020202020202020202020202020202F5
+:10DB100002020202020202020202020202020202E5
+:10DB200002020202020202020202020202020202D5
+:10DB300002020202020202020202020202020202C5
+:10DB400002020202020202020202020202020202B5
+:10DB500002020202020202020202020202020202A5
+:10DB60000202020202020202020202020202020295
+:10DB70000202020202020202020202020202020285
+:10DB80000202020202020202020202020202020275
+:10DB90000202020202020202020202020202020265
+:10DBA0000202020202020202020202020202020255
+:10DBB0000202020202020202020202020202020245
+:10DBC0000202020202020202020202020202020235
+:10DBD0000202020202020202020202020202020225
+:10DBE0000202020202020202020202020202020215
+:10DBF0000202020202020202020202020202020205
+:10DC000002020202020202020202020202020202F4
+:10DC100002020202020202020202020202020202E4
+:10DC200002020202020202020202020202020202D4
+:10DC300002020202020202020202020202020202C4
+:10DC400002020202020202020202020202020202B4
+:10DC500002020202020202020202020202020202A4
+:10DC60000202020202020202020202020202020294
+:10DC70000202020202020202020202020202020284
+:10DC80000202020202020202020202020202020274
+:10DC90000202020202020202020202020202020264
+:10DCA0000202020202020202020202020202020254
+:10DCB0000202020202020202020202020202020244
+:10DCC0000202020202020202020202020202020234
+:10DCD0000202020202020202020202020202020224
+:10DCE0000202020202020202020202020202020214
+:10DCF0000202020202020202020202020202020204
+:10DD000002020202020202020202020202020202F3
+:10DD100002020202020202020202020202020202E3
+:10DD200002020202020202020202020202020202D3
+:10DD300002020202020202020202020202020202C3
+:10DD400002020202020202020202020202020202B3
+:10DD500002020202020202020202020202020202A3
+:10DD60000202020202020202020202020202020293
+:10DD70000202020202020202020202020202020283
+:10DD80000202020202020202020202020202020273
+:10DD90000202020202020202020202020202020263
+:10DDA0000202020202020202020202020202020253
+:10DDB0000202020202020202020202020202020243
+:10DDC0000202020202020202020202020202020233
+:10DDD0000202020202020202020202020202020223
+:10DDE0000202020202020202020202020202020213
+:10DDF0000202020202020202020202020202020203
+:10DE000002020202020202020202020202020202F2
+:10DE100002020202020202020202020202020202E2
+:10DE200002020202020202020202020202020202D2
+:10DE300002020202020202020202020202020202C2
+:10DE400002020202020202020202020202020202B2
+:10DE500002020202020202020202020202020202A2
+:10DE60000202020202020202020202020202020292
+:10DE70000202020202020202020202020202020282
+:10DE80000202020202020202020202020202020272
+:10DE90000202020202020202020202020202020262
+:10DEA0000202020202020202020202020202020252
+:10DEB0000202020202020202020202020202020242
+:10DEC0000202020202020202020202020202020232
+:10DED0000202020202020202020202020202020222
+:10DEE0000202020202020202020202020202020212
+:10DEF0000202020202020202020202020202020202
+:10DF000002020202020202020202020202020202F1
+:10DF100002020202020202020202020202020202E1
+:10DF200002020202020202020202020202020202D1
+:10DF300002020202020202020202020202020202C1
+:10DF400002020202020202020202020202020202B1
+:10DF500002020202020202020202020202020202A1
+:10DF60000202020202020202020202020202020291
+:10DF70000202020202020202020202020202020281
+:10DF80000202020202020202020202020202020271
+:10DF90000202020202020202020202020202020261
+:10DFA0000202020202020202020202020202020251
+:10DFB0000202020202020202020202020202020241
+:10DFC0000202020202020202020202020202020231
+:10DFD0000202020202020202020202020202020221
+:10DFE0000202020202020202020202020202020211
+:10DFF0000202020202020202020202020202020201
+:10E0000002020202020202020202020202020202F0
+:10E0100002020202020202020202020202020202E0
+:10E0200002020202020202020202020202020202D0
+:10E0300002020202020202020202020202020202C0
+:10E0400002020202020202020202020202020202B0
+:10E0500002020202020202020202020202020202A0
+:10E060000202020202020202020202020202020290
+:10E070000202020202020202020202020202020280
+:10E080000202020202020202020202020202020270
+:10E090000202020202020202020202020202020260
+:10E0A0000202020202020202020202020202020250
+:10E0B0000202020202020202020202020202020240
+:10E0C0000202020202020202020202020202020230
+:10E0D0000202020202020202020202020202020220
+:10E0E0000202020202020202020202020202020210
+:10E0F0000202020202020202020202020202020200
+:10E1000002020202020202020202020202020202EF
+:10E1100002020202020202020202020202020202DF
+:10E1200002020202020202020202020202020202CF
+:10E1300002020202020202020202020202020202BF
+:10E1400002020202020202020202020202020202AF
+:10E15000020202020202020202020202020202029F
+:10E16000020202020202020202020202020202028F
+:10E17000020202020202020202020202020202027F
+:10E18000020202020202020202020202020202026F
+:10E19000020202020202020202020202020202025F
+:10E1A000020202020202020202020202020202024F
+:10E1B000020202020202020202020202020202023F
+:10E1C000020202020202020202020202020202022F
+:10E1D000020202020202020202020202020202021F
+:10E1E000020202020202020202020202020202020F
+:10E1F00002020202020202020202020202020202FF
+:10E2000002020202020202020202020202020202EE
+:10E2100002020202020202020202020202020202DE
+:10E2200002020202020202020202020202020202CE
+:10E2300002020202020202020202020202020202BE
+:10E2400002020202020202020202020202020202AE
+:10E25000020202020202020202020202020202029E
+:10E26000020202020202020202020202020202028E
+:10E27000020202020202020202020202020202027E
+:10E28000020202020202020202020202020202026E
+:10E29000020202020202020202020202020202025E
+:10E2A000020202020202020202020202020202024E
+:10E2B000020202020202020202020202020202023E
+:10E2C000020202020202020202020202020202022E
+:10E2D000020202020202020202020202020202021E
+:10E2E000020202020202020202020202020202020E
+:10E2F00002020202020202020202020202020202FE
+:10E3000002020202020202020202020202020202ED
+:10E3100002020202020202020202020202020202DD
+:10E3200002020202020202020202020202020202CD
+:10E3300002020202020202020202020202020202BD
+:10E3400002020202020202020202020202020202AD
+:10E35000020202020202020202020202020202029D
+:10E36000020202020202020202020202020202028D
+:10E37000020202020202020202020202020202027D
+:10E38000020202020202020202020202020202026D
+:10E39000020202020202020202020202020202025D
+:10E3A000020202020202020202020202020202024D
+:10E3B000020202020202020202020202020202023D
+:10E3C000020202020202020202020202020202022D
+:10E3D000020202020202020202020202020202021D
+:10E3E000020202020202020202020202020202020D
+:10E3F00002020202020202020202020202020202FD
+:10E4000002020202020202020202020202020202EC
+:10E4100002020202020202020202020202020202DC
+:10E4200002020202020202020202020202020202CC
+:10E4300002020202020202020202020202020202BC
+:10E4400002020202020202020202020202020202AC
+:10E45000020202020202020202020202020202029C
+:10E46000020202020202020202020202020202028C
+:10E47000020202020202020202020202020202027C
+:10E48000020202020202020202020202020202026C
+:10E49000020202020202020202020202020202025C
+:10E4A000020202020202020202020202020202024C
+:10E4B000020202020202020202020202020202023C
+:10E4C000020202020202020202020202020202022C
+:10E4D000020202020202020202020202020202021C
+:10E4E000020202020202020202020202020202020C
+:10E4F00002020202020202020202020202020202FC
+:10E5000002020202020202020202020202020202EB
+:10E5100002020202020202020202020202020202DB
+:10E5200002020202020202020202020202020202CB
+:10E5300002020202020202020202020202020202BB
+:10E5400002020202020202020202020202020202AB
+:10E55000020202020202020202020202020202029B
+:10E56000020202020202020202020202020202028B
+:10E57000020202020202020202020202020202027B
+:10E58000020202020202020202020202020202026B
+:10E59000020202020202020202020202020202025B
+:10E5A000020202020202020202020202020202024B
+:10E5B000020202020202020202020202020202023B
+:10E5C000020202020202020202020202020202022B
+:10E5D000020202020202020202020202020202021B
+:10E5E000020202020202020202020202020202020B
+:10E5F00002020202020202020202020202020202FB
+:10E6000002020202020202020202020202020202EA
+:10E6100002020202020202020202020202020202DA
+:10E6200002020202020202020202020202020202CA
+:10E6300002020202020202020202020202020202BA
+:10E6400002020202020202020202020202020202AA
+:10E65000020202020202020202020202020202029A
+:10E66000020202020202020202020202020202028A
+:10E67000020202020202020202020202020202027A
+:10E68000020202020202020202020202020202026A
+:10E69000020202020202020202020202020202025A
+:10E6A000020202020202020202020202020202024A
+:10E6B000020202020202020202020202020202023A
+:10E6C000020202020202020202020202020202022A
+:10E6D000020202020202020202020202020202021A
+:10E6E000020202020202020202020202020202020A
+:10E6F00002020202020202020202020202020202FA
+:10E7000002020202020202020202020202020202E9
+:10E7100002020202020202020202020202020202D9
+:10E7200002020202020202020202020202020202C9
+:10E7300002020202020202020202020202020202B9
+:10E7400002020202020202020202020202020202A9
+:10E750000202020202020202020202020202020299
+:10E760000202020202020202020202020202020289
+:10E770000202020202020202020202020202020279
+:10E780000202020202020202020202020202020269
+:10E790000202020202020202020202020202020259
+:10E7A0000202020202020202020202020202020249
+:10E7B0000202020202020202020202020202020239
+:10E7C0000202020202020202020202020202020229
+:10E7D0000202020202020202020202020202020219
+:10E7E0000202020202020202020202020202020209
+:10E7F00002020202020202020202020202020202F9
+:10E8000002020202020202020202020202020202E8
+:10E8100002020202020202020202020202020202D8
+:10E8200002020202020202020202020202020202C8
+:10E8300002020202020202020202020202020202B8
+:10E8400002020202020202020202020202020202A8
+:10E850000202020202020202020202020202020298
+:10E860000202020202020202020202020202020288
+:10E870000202020202020202020202020202020278
+:10E880000202020202020202020202020202020268
+:10E890000202020202020202020202020202020258
+:10E8A0000202020202020202020202020202020248
+:10E8B0000202020202020202020202020202020238
+:10E8C0000202020202020202020202020202020228
+:10E8D0000202020202020202020202020202020218
+:10E8E0000202020202020202020202020202020208
+:10E8F00002020202020202020202020202020202F8
+:10E9000002020202020202020202020202020202E7
+:10E9100002020202020202020202020202020202D7
+:10E9200002020202020202020202020202020202C7
+:10E9300002020202020202020202020202020202B7
+:10E9400002020202020202020202020202020202A7
+:10E950000202020202020202020202020202020297
+:10E960000202020202020202020202020202020287
+:10E970000202020202020202020202020202020277
+:10E980000202020202020202020202020202020267
+:10E990000202020202020202020202020202020257
+:10E9A0000202020202020202020202020202020247
+:10E9B0000202020202020202020202020202020237
+:10E9C0000202020202020202020202020202020227
+:10E9D0000202020202020202020202020202020217
+:10E9E0000202020202020202020202020202020207
+:10E9F00002020202020202020202020202020202F7
+:10EA000002020202020202020202020202020202E6
+:10EA100002020202020202020202020202020202D6
+:10EA200002020202020202020202020202020202C6
+:10EA300002020202020202020202020202020202B6
+:10EA400002020202020202020202020202020202A6
+:10EA50000202020202020202020202020202020296
+:10EA60000202020202020202020202020202020286
+:10EA70000202020202020202020202020202020276
+:10EA80000202020202020202020202020202020266
+:10EA90000202020202020202020202020202020256
+:10EAA0000202020202020202020202020202020246
+:10EAB0000202020202020202020202020202020236
+:10EAC0000202020202020202020202020202020226
+:10EAD0000202020202020202020202020202020216
+:10EAE0000202020202020202020202020202020206
+:10EAF00002020202020202020202020202020202F6
+:10EB000002020202020202020202020202020202E5
+:10EB100002020202020202020202020202020202D5
+:10EB200002020202020202020202020202020202C5
+:10EB300002020202020202020202020202020202B5
+:10EB400002020202020202020202020202020202A5
+:10EB50000202020202020202020202020202020295
+:10EB60000202020202020202020202020202020285
+:10EB70000202020202020202020202020202020275
+:10EB80000202020202020202020202020202020265
+:10EB90000202020202020202020202020202020255
+:10EBA0000202020202020202020202020202020245
+:10EBB0000202020202020202020202020202020235
+:10EBC0000202020202020202020202020202020225
+:10EBD0000202020202020202020202020202020215
+:10EBE0000202020202020202020202020202020205
+:10EBF00002020202020202020202020202020202F5
+:10EC000002020202020202020202020202020202E4
+:10EC100002020202020202020202020202020202D4
+:10EC200002020202020202020202020202020202C4
+:10EC300002020202020202020202020202020202B4
+:10EC400002020202020202020202020202020202A4
+:10EC50000202020202020202020202020202020294
+:10EC60000202020202020202020202020202020284
+:10EC70000202020202020202020202020202020274
+:10EC80000202020202020202020202020202020264
+:10EC90000202020202020202020202020202020254
+:10ECA0000202020202020202020202020202020244
+:10ECB0000202020202020202020202020202020234
+:10ECC0000202020202020202020202020202020224
+:10ECD0000202020202020202020202020202020214
+:10ECE0000202020202020202020202020202020204
+:10ECF00002020202020202020202020202020202F4
+:10ED000002020202020202020202020202020202E3
+:10ED100002020202020202020202020202020202D3
+:10ED200002020202020202020202020202020202C3
+:10ED300002020202020202020202020202020202B3
+:10ED400002020202020202020202020202020202A3
+:10ED50000202020202020202020202020202020293
+:10ED60000202020202020202020202020202020283
+:10ED70000202020202020202020202020202020273
+:10ED80000202020202020202020202020202020263
+:10ED90000202020202020202020202020202020253
+:10EDA0000202020202020202020202020202020243
+:10EDB0000202020202020202020202020202020233
+:10EDC0000202020202020202020202020202020223
+:10EDD0000202020202020202020202020202020213
+:10EDE0000202020202020202020202020202020203
+:10EDF00002020202020202020202020202020202F3
+:10EE000002020202020202020202020202020202E2
+:10EE100002020202020202020202020202020202D2
+:10EE200002020202020202020202020202020202C2
+:10EE300002020202020202020202020202020202B2
+:10EE400002020202020202020202020202020202A2
+:10EE50000202020202020202020202020202020292
+:10EE60000202020202020202020202020202020282
+:10EE70000202020202020202020202020202020272
+:10EE80000202020202020202020202020202020262
+:10EE90000202020202020202020202020202020252
+:10EEA0000202020202020202020202020202020242
+:10EEB0000202020202020202020202020202020232
+:10EEC0000202020202020202020202020202020222
+:10EED0000202020202020202020202020202020212
+:10EEE0000202020202020202020202020202020202
+:10EEF00002020202020202020202020202020202F2
+:10EF000002020202020202020202020202020202E1
+:10EF100002020202020202020202020202020202D1
+:10EF200002020202020202020202020202020202C1
+:10EF300002020202020202020202020202020202B1
+:10EF400002020202020202020202020202020202A1
+:10EF50000202020202020202020202020202020291
+:10EF60000202020202020202020202020202020281
+:10EF70000202020202020202020202020202020271
+:10EF80000202020202020202020202020202020261
+:10EF90000202020202020202020202020202020251
+:10EFA0000202020202020202020202020202020241
+:10EFB0000202020202020202020202020202020231
+:10EFC0000202020202020202020202020202020221
+:10EFD0000202020202020202020202020202020013
+:10EFE0000000000000000000000000000000000021
+:10EFF0000000000000000000000000000000000011
+:10F000000000000000000000000000000000000000
+:10F0100000000000000000000000000000000000F0
+:10F0200000000000000000000000000000000000E0
+:10F0300000000000000000000000000000000000D0
+:10F0400000000000000000000000000000000000C0
+:10F0500000000000000000000000000000000000B0
+:10F0600000000000000000000000000000000000A0
+:10F070000000000000000000000000000000000090
+:10F080000000000000000000000000000000000080
+:10F090000000000000000000000000000000000070
+:10F0A0000000000000000000000000000000000060
+:10F0B0000000000000000000000000000000000050
+:10F0C0000000000000000000000000000000000040
+:10F0D0000000000000000000000000000000000030
+:10F0E0000000000000000000000000000000000020
+:10F0F0000000000000000000000000000000000010
+:10F1000000000000000000000000000000000000FF
+:10F1100000000000000000000000000000000000EF
+:10F1200000000000000000000000000000000000DF
+:10F1300000000000000000000000000000000000CF
+:10F1400000000000000000000000000000000000BF
+:10F1500000000000000000000000000000000000AF
+:10F16000000000000000000000000000000000009F
+:10F17000000000000000000000000000000000008F
+:10F18000000000000000000000000000000000007F
+:10F19000000000000000000000000000000000006F
+:10F1A000000000000000000000000000000000005F
+:10F1B000000000000000000000000000000000004F
+:10F1C000000000000000000000000000000000003F
+:10F1D000000000000000000000000000000000002F
+:10F1E000000000000000000000000000000000001F
+:10F1F000000000000000000000000000000000000F
+:10F2000000000000000000000000000000000000FE
+:10F2100000000000000000000000000000000000EE
+:10F2200000000000000000000000000000000000DE
+:10F2300000000000000000000000000000000000CE
+:10F2400000000000000000000000000000000000BE
+:10F2500000000000000000000000000000000000AE
+:10F26000000000000000000000000000000000009E
+:10F27000000000000000000000000000000000008E
+:10F28000000000000000000000000000000000007E
+:10F29000000000000000000000000000000000006E
+:10F2A000000000000000000000000000000000005E
+:10F2B000000000000000000000000000000000004E
+:10F2C000000000000000000000000000000000003E
+:10F2D000000000000000000000000000000000002E
+:10F2E000000000000000000000000000000000001E
+:10F2F000000000000000000000000000000000000E
+:10F3000000000000000000000000000000000000FD
+:10F3100000000000000000000000000000000000ED
+:10F3200000000000000000000000000000000000DD
+:10F3300000000000000000000000000000000000CD
+:10F3400000000000000000000000000000000000BD
+:10F3500000000000000000000000000000000000AD
+:10F36000000000000000000000000000000000009D
+:10F37000000000000000000000000000000000008D
+:10F38000000000000000000000000000000000007D
+:10F39000000000000000000000000000000000006D
+:10F3A000000000000000000000000000000000005D
+:10F3B000000000000000000000000000000000004D
+:10F3C000000000000000000000000000000000003D
+:10F3D000000000000000000000000000000000D756
+:10F3E0000000000000000001010101010101010114
+:10F3F00001010101010101010101010101010101FD
+:10F4000001010101010101010101010101010101EC
+:10F4100001010101010101010101010101010101DC
+:10F4200001010101010101010101010101010101CC
+:10F4300001010101010101010101010101010101BC
+:10F4400001010101010101010101010101010101AC
+:10F45000010101010101010101010101010101019C
+:10F46000010101010101010101010101010101018C
+:10F47000010101010101010101010101010101017C
+:10F48000010101010101010101010101010101016C
+:10F49000010101010101010101010101010101015C
+:10F4A000010101010101010101010101010101014C
+:10F4B000010101010101010101010101010101013C
+:10F4C000010101010101010101010101010101012C
+:10F4D000010101010101010101010101010101011C
+:10F4E000010101010101010101010101010101010C
+:10F4F00001010101010101010101010101010101FC
+:10F5000001010101010101010101010101010101EB
+:10F5100001010101010101010101010101010101DB
+:10F5200001010101010101010101010101010101CB
+:10F5300001010101010101010101010101010101BB
+:10F5400001010101010101010101010101010101AB
+:10F55000010101010101010101010101010101019B
+:10F56000010101010101010101010101010101018B
+:10F57000010101010101010101010101010101017B
+:10F58000010101010101010101010101010101016B
+:10F59000010101010101010101010101010101015B
+:10F5A000010101010101010101010101010101014B
+:10F5B000010101010101010101010101010101013B
+:10F5C000010101010101010101010101010101012B
+:10F5D000010101010101010101010101010101011B
+:10F5E000010101010101010101010101010101010B
+:10F5F00001010101010101010101010101010101FB
+:10F6000001010101010101010101010101010101EA
+:10F6100001010101010101010101010101010101DA
+:10F6200001010101010101010101010101010101CA
+:10F6300001010101010101010101010101010101BA
+:10F6400001010101010101010101010101010101AA
+:10F65000010101010101010101010101010101019A
+:10F66000010101010101010101010101010101018A
+:10F67000010101010101010101010101010101017A
+:10F68000010101010101010101010101010101016A
+:10F69000010101010101010101010101010101015A
+:10F6A000010101010101010101010101010101014A
+:10F6B000010101010101010101010101010101013A
+:10F6C000010101010101010101010101010101012A
+:10F6D000010101010101010101010101010101011A
+:10F6E000010101010101010101010101010101010A
+:10F6F00001010101010101010101010101010101FA
+:10F7000001010101010101010101010101010101E9
+:10F7100001010101010101010101010101010101D9
+:10F7200001010101010101010101010101010101C9
+:10F7300001010101010101010101010101010101B9
+:10F7400001010101010101010101010101010101A9
+:10F750000101010101010101010101010101010199
+:10F760000101010101010101010101010101010189
+:10F770000101010101010101010101010101010179
+:10F780000101010101010101010101010101010169
+:10F790000101010101010101010101010101010159
+:10F7A0000101010101010101010101010101010149
+:10F7B0000101010101010101010101010101010139
+:10F7C0000101010101010101010101010101010129
+:10F7D0000101010101010101010101010101010119
+:10F7E0000101010101010101010101010101010109
+:10F7F00001010101010101010101010101010101F9
+:10F8000001010101010101010101010101010101E8
+:10F8100001010101010101010101010101010101D8
+:10F8200001010101010101010101010101010101C8
+:10F8300001010101010101010101010101010101B8
+:10F8400001010101010101010101010101010101A8
+:10F850000101010101010101010101010101010198
+:10F860000101010101010101010101010101010188
+:10F870000101010101010101010101010101010178
+:10F880000101010101010101010101010101010168
+:10F890000101010101010101010101010101010158
+:10F8A0000101010101010101010101010101010148
+:10F8B0000101010101010101010101010101010138
+:10F8C0000101010101010101010101010101010128
+:10F8D0000101010101010101010101010101010118
+:10F8E0000101010101010101010101010101010108
+:10F8F00001010101010101010101010101010101F8
+:10F9000001010101010101010101010101010101E7
+:10F9100001010101010101010101010101010101D7
+:10F9200001010101010101010101010101010101C7
+:10F9300001010101010101010101010101010101B7
+:10F9400001010101010101010101010101010101A7
+:10F950000101010101010101010101010101010197
+:10F960000101010101010101010101010101010187
+:10F970000101010101010101010101010101010177
+:10F980000101010101010101010101010101010167
+:10F990000101010101010101010101010101010157
+:10F9A0000101010101010101010101010101010147
+:10F9B0000101010101010101010101010101010137
+:10F9C0000101010101010101010101010101010127
+:10F9D0000101010101010101010101010101010117
+:10F9E0000101010101010101010101010101010107
+:10F9F00001010101010101010101010101010101F7
+:10FA000001010101010101010101010101010101E6
+:10FA100001010101010101010101010101010101D6
+:10FA200001010101010101010101010101010101C6
+:10FA300001010101010101010101010101010101B6
+:10FA400001010101010101010101010101010101A6
+:10FA50000101010101010101010101010101010196
+:10FA60000101010101010101010101010101010186
+:10FA70000101010101010101010101010101010176
+:10FA80000101010101010101010101010101010166
+:10FA90000101010101010101010101010101010156
+:10FAA0000101010101010101010101010101010146
+:10FAB0000101010101010101010101010101010136
+:10FAC0000101010101010101010101010101010126
+:10FAD0000101010101010101010101010101010116
+:10FAE0000101010101010101010101010101010106
+:10FAF00001010101010101010101010101010101F6
+:10FB000001010101010101010101010101010101E5
+:10FB100001010101010101010101010101010101D5
+:10FB200001010101010101010101010101010101C5
+:10FB300001010101010101010101010101010101B5
+:10FB400001010101010101010101010101010101A5
+:10FB50000101010101010101010101010101010195
+:10FB60000101010101010101010101010101010185
+:10FB70000101010101010101010101010101010175
+:10FB80000101010101010101010101010101010165
+:10FB90000101010101010101010101010101010155
+:10FBA0000101010101010101010101010101010145
+:10FBB0000101010101010101010101010101010135
+:10FBC0000101010101010101010101010101010125
+:10FBD0000101010101010101010101010101010115
+:10FBE0000101010101010101010101010101010105
+:10FBF00001010101010101010101010101010101F5
+:10FC000001010101010101010101010101010101E4
+:10FC100001010101010101010101010101010101D4
+:10FC200001010101010101010101010101010101C4
+:10FC300001010101010101010101010101010101B4
+:10FC400001010101010101010101010101010101A4
+:10FC50000101010101010101010101010101010194
+:10FC60000101010101010101010101010101010184
+:10FC70000101010101010101010101010101010174
+:10FC80000101010101010101010101010101010164
+:10FC90000101010101010101010101010101010154
+:10FCA0000101010101010101010101010101010144
+:10FCB0000101010101010101010101010101010134
+:10FCC0000101010101010101010101010101010124
+:10FCD0000101010101010101010101010101010114
+:10FCE0000101010101010101010101010101010104
+:10FCF00001010101010101010101010101010101F4
+:10FD000001010101010101010101010101010101E3
+:10FD100001010101010101010101010101010101D3
+:10FD200001010101010101010101010101010101C3
+:10FD300001010101010101010101010101010101B3
+:10FD400001010101010101010101010101010101A3
+:10FD50000101010101010101010101010101010193
+:10FD60000101010101010101010101010101010183
+:10FD70000101010101010101010101010101010173
+:10FD80000101010101010101010101010101010163
+:10FD90000101010101010101010101010101010153
+:10FDA0000101010101010101010101010101010143
+:10FDB0000101010101010101010101010101010133
+:10FDC0000101010101010101010101010101010123
+:10FDD0000101010101010101010101010101010113
+:10FDE0000101010101010101010101010101010103
+:10FDF00001010101010101010101010101010101F3
+:10FE000001010101010101010101010101010101E2
+:10FE100001010101010101010101010101010101D2
+:10FE200001010101010101010101010101010101C2
+:10FE300001010101010101010101010101010101B2
+:10FE400001010101010101010101010101010101A2
+:10FE50000101010101010101010101010101010192
+:10FE60000101010101010101010101010101010182
+:10FE70000101010101010101010101010101010172
+:10FE80000101010101010101010101010101010162
+:10FE90000101010101010101010101010101010152
+:10FEA0000101010101010101010101010101010142
+:10FEB0000101010101010101010101010101010132
+:10FEC0000101010101010101010101010101010122
+:10FED0000101010101010101010101010101010112
+:10FEE0000101010101010101010101010101010102
+:10FEF00001010101010101010101010101010101F2
+:10FF000001010101010101010101010101010101E1
+:10FF100001010101010101010101010101010101D1
+:10FF200001010101010101010101010101010101C1
+:10FF300001010101010101010101010101010101B1
+:10FF400001010101010101010101010101010101A1
+:10FF50000101010101010101010101010101010191
+:10FF60000101010101010101010101010101010181
+:10FF70000101010101010101010101010101010171
+:10FF80000101010101010101010101010101010161
+:10FF90000101010101010101010101010101010151
+:10FFA0000101010101010101010101010101010141
+:10FFB0000101010101010101010101010101010131
+:10FFC0000101010101010101010101010101010121
+:10FFD0000101010101010101010101010101010111
+:10FFE0000101010101010101010101010101010101
+:10FFF00001010101010101010101010101010101F1
+:020000021000EC
+:1000000001010101010101010101010101010101E0
+:1000100001010101010101010101010101010101D0
+:1000200001010101010101010101010101010101C0
+:1000300001010101010101010101010101010101B0
+:1000400001010101010101010101010101010101A0
+:100050000101010101010101010101010101010190
+:100060000101010101010101010101010101010180
+:100070000101010101010101010101010101010170
+:100080000101010101010101010101010101010160
+:100090000101010101010101010101010101010150
+:1000A0000101010101010101010101010101010140
+:1000B0000101010101010101010101010101010130
+:1000C0000101010101010101010101010101010120
+:1000D0000101010101010101010101010101010110
+:1000E0000101010101010101010101010101010100
+:1000F00001010101010101010101010101010101F0
+:1001000001010101010101010101010101010101DF
+:1001100001010101010101010101010101010101CF
+:1001200001010101010101010101010101010101BF
+:1001300001010101010101010101010101010101AF
+:10014000010101010101010101010101010101019F
+:10015000010101010101010101010101010101018F
+:10016000010101010101010101010101010101017F
+:10017000010101010101010101010101010101016F
+:10018000010101010101010101010101010101015F
+:10019000010101010101010101010101010101014F
+:1001A000010101010101010101010101010101013F
+:1001B000010101010101010101010101010101012F
+:1001C000010101010101010101010101010101011F
+:1001D000010101010101010101010101010101010F
+:1001E00001010101010101010101010101010101FF
+:1001F00001010101010101010101010101010101EF
+:1002000001010101010101010101010101010101DE
+:1002100001010101010101010101010101010101CE
+:1002200001010101010101010101010101010101BE
+:1002300001010101010101010101010101010101AE
+:10024000010101010101010101010101010101019E
+:10025000010101010101010101010101010101018E
+:10026000010101010101010101010101010101017E
+:10027000010101010101010101010101010101016E
+:10028000010101010101010101010101010101015E
+:10029000010101010101010101010101010101014E
+:1002A000010101010101010101010101010101013E
+:1002B000010101010101010101010101010101012E
+:1002C000010101010101010101010101010101011E
+:1002D000010101010101010101010101010101010E
+:1002E00001010101010101010101010101010101FE
+:1002F00001010101010101010101010101010101EE
+:1003000001010101010101010101010101010101DD
+:1003100001010101010101010101010101010101CD
+:1003200001010101010101010101010101010101BD
+:1003300001010101010101010101010101010101AD
+:10034000010101010101010101010101010101019D
+:10035000010101010101010101010101010101018D
+:10036000010101010101010101010101010101017D
+:10037000010101010101010101010101010101016D
+:10038000010101010101010101010101010101015D
+:10039000010101010101010101010101010101014D
+:1003A000010101010101010101010101010101013D
+:1003B000010101010101010101010101010101012D
+:1003C000010101010101010101010101010101011D
+:1003D000010101010101010101010101010101010D
+:1003E00001010101010101010101010101010101FD
+:1003F00001010101010101010101010101010101ED
+:1004000001010101010101010101010101010101DC
+:1004100001010101010101010101010101010101CC
+:1004200001010101010101010101010101010101BC
+:1004300001010101010101010101010101010101AC
+:10044000010101010101010101010101010101019C
+:10045000010101010101010101010101010101018C
+:10046000010101010101010101010101010101017C
+:10047000010101010101010101010101010101016C
+:10048000010101010101010101010101010101015C
+:10049000010101010101010101010101010101014C
+:1004A000010101010101010101010101010101013C
+:1004B000010101010101010101010101010101012C
+:1004C000010101010101010101010101010101011C
+:1004D000010101010101010101010101010101010C
+:1004E00001010101010101010101010101010101FC
+:1004F00001010101010101010101010101010101EC
+:1005000001010101010101010101010101010101DB
+:1005100001010101010101010101010101010101CB
+:1005200001010101010101010101010101010101BB
+:1005300001010101010101010101010101010101AB
+:10054000010101010101010101010101010101019B
+:10055000010101010101010101010101010101018B
+:10056000010101010101010101010101010101017B
+:10057000010101010101010101010101010101016B
+:10058000010101010101010101010101010101015B
+:10059000010101010101010101010101010101014B
+:1005A000010101010101010101010101010101013B
+:1005B000010101010101010101010101010101012B
+:1005C000010101010101010101010101010101011B
+:1005D000010101010101010101010101010101010B
+:1005E00001010101010101010101010101010101FB
+:1005F00001010101010101010101010101010101EB
+:1006000001010101010101010101010101010101DA
+:1006100001010101010101010101010101010101CA
+:1006200001010101010101010101010101010101BA
+:1006300001010101010101010101010101010101AA
+:10064000010101010101010101010101010101019A
+:10065000010101010101010101010101010101018A
+:10066000010101010101010101010101010101017A
+:10067000010101010101010101010101010101016A
+:10068000010101010101010101010101010101015A
+:10069000010101010101010101010101010101014A
+:1006A000010101010101010101010101010101013A
+:1006B000010101010101010101010101010101012A
+:1006C000010101010101010101010101010101011A
+:1006D000010101010101010101010101010101010A
+:1006E00001010101010101010101010101010101FA
+:1006F00001010101010101010101010101010101EA
+:1007000001010101010101010101010101010101D9
+:1007100001010101010101010101010101010101C9
+:1007200001010101010101010101010101010101B9
+:1007300001010101010101010101010101010101A9
+:100740000101010101010101010101010101010199
+:100750000101010101010101010101010101010189
+:100760000101010101010101010101010101010179
+:100770000101010101010101010101010101010169
+:100780000101010101010101010101010101010159
+:100790000101010101010101010101010101010149
+:1007A0000101010101010101010101010101010139
+:1007B0000101010101010101010101010101010129
+:1007C0000101010101010101010101010101010119
+:1007D0000101010101010101010101010101010109
+:1007E00001010101010101010101010101010101F9
+:1007F00001010101010101010101010101010101E9
+:1008000001010101010101010101010101010101D8
+:1008100001010101010101010101010101010101C8
+:1008200001010101010101010101010101010101B8
+:1008300001010101010101010101010101010101A8
+:100840000101010101010101010101010101010198
+:100850000101010101010101010101010101010188
+:100860000101010101010101010101010101010178
+:100870000101010101010101010101010101010168
+:100880000101010101010101010101010101010158
+:100890000101010101010101010101010101010148
+:1008A0000101010101010101010101010101010138
+:1008B0000101010101010101010101010101010128
+:1008C0000101010101010101010101010101010118
+:1008D0000101010101010101010101010101010108
+:1008E00001010101010101010101010101010101F8
+:1008F00001010101010101010101010101010101E8
+:1009000001010101010101010101010101010101D7
+:1009100001010101010101010101010101010101C7
+:1009200001010101010101010101010101010101B7
+:1009300001010101010101010101010101010101A7
+:100940000101010101010101010101010101010197
+:100950000101010101010101010101010101010187
+:100960000101010101010101010101010101010177
+:100970000101010101010101010101010101010167
+:100980000101010101010101010101010101010157
+:100990000101010101010101010101010101010147
+:1009A0000101010101010101010101010101010137
+:1009B0000101010101010101010101010101010127
+:1009C0000101010101010101010101010101010117
+:1009D0000101010101010101010101010101010107
+:1009E00001010101010101010101010101010101F7
+:1009F00001010101010101010101010101010101E7
+:100A000001010101010101010101010101010101D6
+:100A100001010101010101010101010101010101C6
+:100A200001010101010101010101010101010101B6
+:100A300001010101010101010101010101010101A6
+:100A40000101010101010101010101010101010196
+:100A50000101010101010101010101010101010186
+:100A60000101010101010101010101010101010176
+:100A70000101010101010101010101010101010166
+:100A80000101010101010101010101010101010156
+:100A90000101010101010101010101010101010146
+:100AA0000101010101010101010101010101010136
+:100AB0000101010101010101010101010101010126
+:100AC0000101010101010101010101010101010116
+:100AD0000101010101010101010101010101010106
+:100AE00001010101010101010101010101010101F6
+:100AF00001010101010101010101010101010101E6
+:100B000001010101010101010101010101010101D5
+:100B100001010101010101010101010101010101C5
+:100B200001010101010101010101010101010101B5
+:100B300001010101010101010101010101010101A5
+:100B40000101010101010101010101010101010195
+:100B50000101010101010101010101010101010185
+:100B60000101010101010101010101010101010175
+:100B70000101010101010101010101010101010165
+:100B80000101010101010101010101010101010155
+:100B90000101010101010101010101010101010145
+:100BA0000101010101010101010101010101010135
+:100BB0000101010101010101010101010101010125
+:100BC0000101010101010101010101010101010115
+:100BD0000101010101010101010101010101010105
+:100BE00001010101010101010101010101010101F5
+:100BF00001010101010101010101010101010101E5
+:100C000001010101010101010101010101010101D4
+:100C100001010101010101010101010101010101C4
+:100C200001010101010101010101010101010101B4
+:100C300001010101010101010101010101010101A4
+:100C40000101010101010101010101010101010194
+:100C50000101010101010101010101010101010184
+:100C60000101010101010101010101010101010174
+:100C70000101010101010101010101010101010164
+:100C80000101010101010101010101010101010154
+:100C90000101010101010101010101010101010144
+:100CA0000101010101010101010101010101010134
+:100CB0000101010101010101010101010101010124
+:100CC0000101010101010101010101010101010114
+:100CD0000101010101010101010101010101010104
+:100CE00001010101010101010101010101010101F4
+:100CF00001010101010101010101010101010101E4
+:100D000001010101010101010101010101010101D3
+:100D100001010101010101010101010101010101C3
+:100D200001010101010101010101010101010101B3
+:100D300001010101010101010101010101010101A3
+:100D40000101010101010101010101010101010193
+:100D50000101010101010101010101010101010183
+:100D60000101010101010101010101010101010173
+:100D70000101010101010101010101010101010163
+:100D80000101010101010101010101010101010153
+:100D90000101010101010101010101010101010143
+:100DA0000101010101010101010101010101010133
+:100DB0000101010101010101010101010101010123
+:100DC0000101010101010101010101010101010113
+:100DD0000101010101010101010101010101010103
+:100DE00001010101010101010101010101010101F3
+:100DF00001010101010101010101010101010101E3
+:100E000001010101010101010101010101010101D2
+:100E100001010101010101010101010101010101C2
+:100E200001010101010101010101010101010101B2
+:100E300001010101010101010101010101010101A2
+:100E40000101010101010101010101010101010192
+:100E50000101010101010101010101010101010182
+:100E60000101010101010101010101010101010172
+:100E70000101010101010101010101010101010162
+:100E80000101010101010101010101010101010152
+:100E90000101010101010101010101010101010142
+:100EA0000101010101010101010101010101010132
+:100EB0000101010101010101010101010101010122
+:100EC0000101010101010101010101010101010112
+:100ED0000101010101010101010101010101010102
+:100EE00001010101010101010101010101010101F2
+:100EF00001010101010101010101010101010101E2
+:100F000001010101010101010101010101010101D1
+:100F100001010101010101010101010101010101C1
+:100F200001010101010101010101010101010101B1
+:100F300001010101010101010101010101010101A1
+:100F40000101010101010101010101010101010191
+:100F50000101010101010101010101010101010181
+:100F60000101010101010101010101010101010171
+:100F70000101010101010101010101010101010161
+:100F80000101010101010101010101010101010151
+:100F90000101010101010101010101010101010141
+:100FA0000101010101010101010101010101010131
+:100FB0000101010101010101010101010101010121
+:100FC0000101010101010101010101010101010111
+:100FD0000101010101010101010101010101010101
+:100FE00001010101010101010101010101010101F1
+:100FF00001010101010101010101010101010101E1
+:1010000001010101010101010101010101010101D0
+:1010100001010101010101010101010101010101C0
+:1010200001010101010101010101010101010101B0
+:1010300001010101010101010101010101010101A0
+:101040000101010101010101010101010101010190
+:101050000101010101010101010101010101010180
+:101060000101010101010101010101010101010170
+:101070000101010101010101010101010101010160
+:101080000101010101010101010101010101010150
+:101090000101010101010101010101010101010140
+:1010A0000101010101010101010101010101010130
+:1010B0000101010101010101010101010101010120
+:1010C0000101010101010101010101010101010110
+:1010D0000101010101010101010101010101010100
+:1010E00001010101010101010101010101010101F0
+:1010F00001010101010101010101010101010101E0
+:1011000001010101010101010101010101010101CF
+:1011100001010101010101010101010101010101BF
+:1011200001010101010101010101010101010101AF
+:10113000010101010101010101010101010101019F
+:10114000010101010101010101010101010101018F
+:10115000010101010101010101010101010101017F
+:10116000010101010101010101010101010101016F
+:10117000010101010101010101010101010101015F
+:10118000010101010101010101010101010101014F
+:10119000010101010101010101010101010101013F
+:1011A000010101010101010101010101010101012F
+:1011B000010101010101010101010101010101011F
+:1011C000010101010101010101010101010101010F
+:1011D00001010101010101010101010101010101FF
+:1011E00001010101010101010101010101010101EF
+:1011F00001010101010101010101010101010101DF
+:1012000001010101010101010101010101010101CE
+:1012100001010101010101010101010101010101BE
+:1012200001010101010101010101010101010101AE
+:10123000010101010101010101010101010101019E
+:10124000010101010101010101010101010101018E
+:10125000010101010101010101010101010101017E
+:10126000010101010101010101010101010101016E
+:10127000010101010101010101010101010101015E
+:10128000010101010101010101010101010101014E
+:10129000010101010101010101010101010101013E
+:1012A000010101010101010101010101010101012E
+:1012B000010101010101010101010101010101011E
+:1012C000010101010101010101010101010101010E
+:1012D00001010101010101010101010101010101FE
+:1012E00001010101010101010101010101010101EE
+:1012F00001010101010101010101010101010101DE
+:1013000001010101010101010101010101010101CD
+:1013100001010101010101010101010101010101BD
+:1013200001010101010101010101010101010101AD
+:10133000010101010101010101010101010101019D
+:10134000010101010101010101010101010101018D
+:10135000010101010101010101010101010101017D
+:10136000010101010101010101010101010101016D
+:10137000010101010101010101010101010101015D
+:10138000010101010101010101010101010101014D
+:10139000010101010101010101010101010101013D
+:1013A000010101010101010101010101010101012D
+:1013B000010101010101010101010101010101011D
+:1013C000010101010101010101010101010101010D
+:1013D00001010101010101010101010101010101FD
+:1013E00001010101010101010101010101010101ED
+:1013F00001010101010101010101010101010101DD
+:1014000001010101010101010101010101010101CC
+:1014100001010101010101010101010101010101BC
+:1014200001010101010101010101010101010101AC
+:10143000010101010101010101010101010101019C
+:10144000010101010101010101010101010101018C
+:10145000010101010101010101010101010101017C
+:10146000010101010101010101010101010101016C
+:10147000010101010101010101010101010101015C
+:10148000010101010101010101010101010101014C
+:10149000010101010101010101010101010101013C
+:1014A000010101010101010101010101010101012C
+:1014B000010101010101010101010101010101011C
+:1014C000010101010101010101010101010101010C
+:1014D00001010101010101010101010101010101FC
+:1014E00001010101010101010101010101010101EC
+:1014F00001010101010101010101010101010101DC
+:1015000001010101010101010101010101010101CB
+:1015100001010101010101010101010101010101BB
+:1015200001010101010101010101010101010101AB
+:10153000010101010101010101010101010101019B
+:10154000010101010101010101010101010101018B
+:10155000010101010101010101010101010101017B
+:10156000010101010101010101010101010101016B
+:10157000010101010101010101010101010101015B
+:10158000010101010101010101010101010101014B
+:10159000010101010101010101010101010101013B
+:1015A000010101010101010101010101010101012B
+:1015B000010101010101010101010101010101011B
+:1015C000010101010101010101010101010101010B
+:1015D00001010101010101010101010101010101FB
+:1015E00001010101010101010101010101010101EB
+:1015F00001010101010101010101010101010101DB
+:1016000001010101010101010101010101010101CA
+:1016100001010101010101010101010101010101BA
+:1016200001010101010101010101010101010101AA
+:10163000010101010101010101010101010101019A
+:10164000010101010101010101010101010101018A
+:10165000010101010101010101010101010101017A
+:10166000010101010101010101010101010101016A
+:10167000010101010101010101010101010101015A
+:10168000010101010101010101010101010101014A
+:10169000010101010101010101010101010101013A
+:1016A000010101010101010101010101010101012A
+:1016B000010101010101010101010101010101011A
+:1016C000010101010101010101010101010101010A
+:1016D00001010101010101010101010101010101FA
+:1016E00001010101010101010101010101010101EA
+:1016F00001010101010101010101010101010101DA
+:1017000001010101010101010101010101010101C9
+:1017100001010101010101010101010101010101B9
+:1017200001010101010101010101010101010101A9
+:101730000101010101010101010101010101010199
+:101740000101010101010101010101010101010189
+:101750000101010101010101010101010101010179
+:101760000101010101010101010101010101010169
+:101770000101010101010101010101010101010159
+:101780000101010101010101010101010101010149
+:101790000101010101010101010101010101010139
+:1017A0000101010101010101010101010101010129
+:1017B0000101010101010101010101010101010119
+:1017C0000101010101010101010101010101010109
+:1017D00001010101010101010101010101010101F9
+:1017E00001010101010101010101010101010101E9
+:1017F00001010101010101010101010101010101D9
+:1018000001010101010101010101010101010101C8
+:1018100001010101010101010101010101010101B8
+:1018200001010101010101010101010101010101A8
+:101830000101010101010101010101010101010198
+:101840000101010101010101010101010101010188
+:101850000101010101010101010101010101010178
+:101860000101010101010101010101010101010168
+:101870000101010101010101010101010101010158
+:101880000101010101010101010101010101010148
+:101890000101010101010101010101010101010138
+:1018A0000101010101010101010101010101010128
+:1018B0000101010101010101010101010101010118
+:1018C0000101010101010101010101010101010108
+:1018D00001010101010101010101010101010101F8
+:1018E00001010101010101010101010101010101E8
+:1018F00001010101010101010101010101010101D8
+:1019000001010101010101010101010101010101C7
+:1019100001010101010101010101010101010101B7
+:1019200001010101010101010101010101010101A7
+:101930000101010101010101010101010101010197
+:101940000101010101010101010101010101010187
+:101950000101010101010101010101010101010177
+:101960000101010101010101010101010101010167
+:101970000101010101010101010101010101010157
+:101980000101010101010101010101010101010147
+:101990000101010101010101010101010101010137
+:1019A0000101010101010101010101010101010127
+:1019B0000101010101010101010101010101010117
+:1019C0000101010101010101010101010101010107
+:1019D00001010101010101010101010101010101F7
+:1019E00001010101010101010101010101010101E7
+:1019F00001010101010101010101010101010101D7
+:101A000001010101010101010101010101010101C6
+:101A100001010101010101010101010101010101B6
+:101A200001010101010101010101010101010101A6
+:101A30000101010101010101010101010101010196
+:101A40000101010101010101010101010101010186
+:101A50000101010101010101010101010101010176
+:101A60000101010101010101010101010101010166
+:101A70000101010101010101010101010101010156
+:101A80000101010101010101010101010101010146
+:101A90000101010101010101010101010101010136
+:101AA0000101010101010101010101010101010126
+:101AB0000101010101010101010101010101010116
+:101AC0000101010101010101010101010101010106
+:101AD00001010101010101010101010101010101F6
+:101AE00001010101010101010101010101010101E6
+:101AF00001010101010101010101010101010101D6
+:101B000001010101010101010101010101010101C5
+:101B100001010101010101010101010101010101B5
+:101B200001010101010101010101010101010101A5
+:101B30000101010101010101010101010101010195
+:101B40000101010101010101010101010101010185
+:101B50000101010101010101010101010101010175
+:101B60000101010101010101010101010101010165
+:101B70000101010101010101010101010101010155
+:101B80000101010101010101010101010101010145
+:101B90000101010101010101010101010101010135
+:101BA0000101010101010101010101010101010125
+:101BB0000101010101010101010101010101010115
+:101BC0000101010101010101010101010101010105
+:101BD00001010101010101010101010101010101F5
+:101BE00001010101010101010101010101010101E5
+:101BF00001010101010101010101010101010101D5
+:101C000001010101010101010101010101010101C4
+:101C100001010101010101010101010101010101B4
+:101C200001010101010101010101010101010101A4
+:101C30000101010101010101010101010101010194
+:101C40000101010101010101010101010101010184
+:101C50000101010101010101010101010101010174
+:101C60000101010101010101010101010101010164
+:101C70000101010101010101010101010101010154
+:101C80000101010101010101010101010101010144
+:101C90000101010101010101010101010101010134
+:101CA0000101010101010101010101010101010124
+:101CB0000101010101010101010101010101010114
+:101CC0000101010101010101010101010101010104
+:101CD00001010101010101010101010101010101F4
+:101CE00001010101010101010101010101010101E4
+:101CF00001010101010101010101010101010101D4
+:101D000001010101010101010101010101010101C3
+:101D100001010101010101010101010101010101B3
+:101D200001010101010101010101010101010101A3
+:101D30000101010101010101010101010101010193
+:101D40000101010101010101010101010101010183
+:101D50000101010101010101010101010101010173
+:101D60000101010101010101010101010101010163
+:101D70000101010101010101010101010101010153
+:101D80000101010101010101010101010101010143
+:101D90000101010101010101010101010101010133
+:101DA0000101010101010101010101010101010123
+:101DB0000101010101010101010101010101010113
+:101DC0000101010101010101010101010101010103
+:101DD00001010101010101010101010101010101F3
+:101DE00001010101010101010101010101010101E3
+:101DF00001010101010101010101010101010101D3
+:101E000001010101010101010101010101010101C2
+:101E100001010101010101010101010101010101B2
+:101E200001010101010101010101010101010101A2
+:101E30000101010101010101010101010101010192
+:101E40000101010101010101010101010101010182
+:101E50000101010101010101010101010101010172
+:101E60000101010101010101010101010101010162
+:101E70000101010101010101010101010101010152
+:101E80000101010101010101010101010101010142
+:101E90000101010101010101010101010101010132
+:101EA0000101010101010101010101010101010122
+:101EB0000101010101010101010101010101010112
+:101EC0000101010101010101010101010101010102
+:101ED00001010101010101010101010101010101F2
+:101EE00001010101010101010101010101010101E2
+:101EF00001010101010101010101010101010101D2
+:101F000001010101010101010101010101010101C1
+:101F100001010101010101010101010101010101B1
+:101F200001010101010101010101010101010101A1
+:101F30000101010101010101010101010101010191
+:101F40000101010101010101010101010101010181
+:101F50000101010101010101010101010101010171
+:101F60000101010101010101010101010101010161
+:101F70000101010101010101010101010101010151
+:101F80000101010101010101010101010101010141
+:101F90000101010101010101010101010101010131
+:101FA0000101010101010101010101010101010121
+:101FB0000101010101010101010101010101010111
+:101FC0000101010101010101010101010101010101
+:101FD00001010101010101010101010101010101F1
+:101FE00001010101010101010101010101010101E1
+:101FF00001010101010101010101010101010101D1
+:1020000001010101010101010101010101010101C0
+:1020100001010101010101010101010101010101B0
+:1020200001010101010101010101010101010101A0
+:102030000101010101010101010101010101010190
+:102040000101010101010101010101010101010180
+:102050000101010101010101010101010101010170
+:102060000101010101010101010101010101010160
+:102070000101010101010101010101010101010150
+:102080000101010101010101010101010101010140
+:102090000101010101010101010101010101010130
+:1020A0000101010101010101010101010101010120
+:1020B0000101010101010101010101010101010110
+:1020C0000101010101010101010101010101010100
+:1020D00001010101010101010101010101010101F0
+:1020E00001010101010101010101010101010101E0
+:1020F00001010101010101010101010101010101D0
+:1021000001010101010101010101010101010101BF
+:1021100001010101010101010101010101010101AF
+:10212000010101010101010101010101010101019F
+:10213000010101010101010101010101010101018F
+:10214000010101010101010101010101010101017F
+:10215000010101010101010101010101010101016F
+:10216000010101010101010101010101010101015F
+:10217000010101010101010101010101010101014F
+:10218000010101010101010101010101010101013F
+:10219000010101010101010101010101010101012F
+:1021A000010101010101010101010101010101011F
+:1021B000010101010101010101010101010101010F
+:1021C00001010101010101010101010101010101FF
+:1021D00001010101010101010101010101010101EF
+:1021E00001010101010101010101010101010101DF
+:1021F00001010101010101010101010101010101CF
+:1022000001010101010101010101010101010101BE
+:1022100001010101010101010101010101010101AE
+:10222000010101010101010101010101010101019E
+:10223000010101010101010101010101010101018E
+:10224000010101010101010101010101010101017E
+:10225000010101010101010101010101010101016E
+:10226000010101010101010101010101010101015E
+:10227000010101010101010101010101010101014E
+:10228000010101010101010101010101010101013E
+:10229000010101010101010101010101010101012E
+:1022A000010101010101010101010101010101011E
+:1022B000010101010101010101010101010101010E
+:1022C00001010101010101010101010101010101FE
+:1022D00001010101010101010101010101010101EE
+:1022E00001010101010101010101010101010101DE
+:1022F00001010101010101010101010101010101CE
+:1023000001010101010101010101010101010101BD
+:1023100001010101010101010101010101010101AD
+:10232000010101010101010101010101010101019D
+:10233000010101010101010101010101010101018D
+:10234000010101010101010101010101010101017D
+:10235000010101010101010101010101010101016D
+:10236000010101010101010101010101010101015D
+:10237000010101010101010101010101010101014D
+:10238000010101010101010101010101010101013D
+:10239000010101010101010101010101010101012D
+:1023A000010101010101010101010101010101011D
+:1023B000010101010101010101010101010101010D
+:1023C00001010101010101010101010101010101FD
+:1023D00001010101010101010101010101010101ED
+:1023E00001010101010101010101010101010101DD
+:1023F00001010101010101010101010101010101CD
+:1024000001010101010101010101010101010101BC
+:1024100001010101010101010101010101010101AC
+:10242000010101010101010101010101010101019C
+:10243000010101010101010101010101010101018C
+:10244000010101010101010101010101010101017C
+:10245000010101010101010101010101010101016C
+:10246000010101010101010101010101010101015C
+:10247000010101010101010101010101010101014C
+:10248000010101010101010101010101010101013C
+:10249000010101010101010101010101010101012C
+:1024A000010101010101010101010101010101011C
+:1024B000010101010101010101010101010101010C
+:1024C00001010101010101010101010101010101FC
+:1024D00001010101010101010101010101010101EC
+:1024E00001010101010101000000000000000000E5
+:1024F00000000000000000000000000000000000DC
+:1025000000000000000000000000000000000000CB
+:1025100000000000000000000000000000000000BB
+:1025200000000000000000000000000000000000AB
+:10253000000000000000000000000000000000009B
+:10254000000000000000000000000000000000008B
+:10255000000000000000000000000000000000007B
+:10256000000000000000000000000000000000006B
+:10257000000000000000000000000000000000005B
+:10258000000000000000000000000000000000004B
+:10259000000000000000000000000000000000003B
+:1025A000000000000000000000000000000000002B
+:1025B000000000000000000000000000000000001B
+:1025C000000000000000000000000000000000000B
+:1025D00000000000000000000000000000000000FB
+:1025E00000000000000000000000000000000000EB
+:1025F00000000000000000000000000000000000DB
+:1026000000000000000000000000000000000000CA
+:1026100000000000000000000000000000000000BA
+:1026200000000000000000000000000000000000AA
+:10263000000000000000000000000000000000009A
+:10264000000000000000000000000000000000008A
+:10265000000000000000000000000000000000007A
+:10266000000000000000000000000000000000006A
+:10267000000000000000000000000000000000005A
+:10268000000000000000000000000000000000004A
+:10269000000000000000000000000000000000003A
+:1026A000000000000000000000000000000000002A
+:1026B000000000000000000000000000000000001A
+:1026C000000000000000000000000000000000000A
+:1026D00000000000000000000000000000000000FA
+:1026E00000000000000000000000000000000000EA
+:1026F00000000000000000000000000000000000DA
+:1027000000000000000000000000000000000000C9
+:1027100000000000000000000000000000000000B9
+:1027200000000000000000000000000000000000A9
+:102730000000000000000000000000000000000099
+:102740000000000000000000000000000000000089
+:102750000000000000000000000000000000000079
+:102760000000000000000000000000000000000069
+:102770000000000000000000000000000000000059
+:102780000000000000000000000000000000000049
+:102790000000000000000000000000000000000039
+:1027A0000000000000000000000000000000000029
+:1027B0000000000000000000000000000000000019
+:1027C0000000000000000000000000000000000009
+:1027D00000000000000000000000000000000000F9
+:1027E00000000000000000000000000000000000E9
+:1027F00000000000000000000000000000000000D9
+:1028000000000000000000000000000000000000C8
+:1028100000000000000000000000000000000000B8
+:1028200000000000000000000000000000000000A8
+:102830000000000000000000000000000000000098
+:102840000000000000000000000000000000000088
+:102850000000000000000000000000000000000078
+:102860000000000000000000000000000000000068
+:102870000000000000000000000000000000000058
+:102880000000000000000000000000000000000048
+:102890000000000000000000000000000000000038
+:1028A0000000000000000000000000000000000028
+:1028B0000000000000000000000000000000000018
+:1028C0000000000000000000000000000000000008
+:1028D00000000000000000000000000000000000F8
+:1028E00000000000000000020202020202020202D6
+:1028F00002020202020202020202020202020202B8
+:1029000002020202020202020202020202020202A7
+:102910000202020202020202020202020202020297
+:102920000202020202020202020202020202020287
+:102930000202020202020202020202020202020277
+:102940000202020202020202020202020202020267
+:102950000202020202020202020202020202020257
+:102960000202020202020202020202020202020247
+:102970000202020202020202020202020202020237
+:102980000202020202020202020202020202020227
+:102990000202020202020202020202020202020217
+:1029A0000202020202020202020202020202020207
+:1029B00002020202020202020202020202020202F7
+:1029C00002020202020202020202020202020202E7
+:1029D00002020202020202020202020202020202D7
+:1029E00002020202020202020202020202020202C7
+:1029F00002020202020202020202020202020202B7
+:102A000002020202020202020202020202020202A6
+:102A10000202020202020202020202020202020296
+:102A20000202020202020202020202020202020286
+:102A30000202020202020202020202020202020276
+:102A40000202020202020202020202020202020266
+:102A50000202020202020202020202020202020256
+:102A60000202020202020202020202020202020246
+:102A70000202020202020202020202020202020236
+:102A80000202020202020202020202020202020226
+:102A90000202020202020202020202020202020216
+:102AA0000202020202020202020202020202020206
+:102AB00002020202020202020202020202020202F6
+:102AC00002020202020202020202020202020202E6
+:102AD00002020202020202020202020202020202D6
+:102AE00002020202020202020202020202020202C6
+:102AF00002020202020202020202020202020202B6
+:102B000002020202020202020202020202020202A5
+:102B10000202020202020202020202020202020295
+:102B20000202020202020202020202020202020285
+:102B30000202020202020202020202020202020275
+:102B40000202020202020202020202020202020265
+:102B50000202020202020202020202020202020255
+:102B60000202020202020202020202020202020245
+:102B70000202020202020202020202020202020235
+:102B80000202020202020202020202020202020225
+:102B90000202020202020202020202020202020215
+:102BA0000202020202020202020202020202020205
+:102BB00002020202020202020202020202020202F5
+:102BC00002020202020202020202020202020202E5
+:102BD00002020202020202020202020202020202D5
+:102BE00002020202020202020202020202020202C5
+:102BF00002020202020202020202020202020202B5
+:102C000002020202020202020202020202020202A4
+:102C10000202020202020202020202020202020294
+:102C20000202020202020202020202020202020284
+:102C30000202020202020202020202020202020274
+:102C40000202020202020202020202020202020264
+:102C50000202020202020202020202020202020254
+:102C60000202020202020202020202020202020244
+:102C70000202020202020202020202020202020234
+:102C80000202020202020202020202020202020224
+:102C90000202020202020202020202020202020214
+:102CA0000202020202020202020202020202020204
+:102CB00002020202020202020202020202020202F4
+:102CC00002020202020202020202020202020202E4
+:102CD00002020202020202020202020202020202D4
+:102CE00002020202020202020202020202020202C4
+:102CF00002020202020202020202020202020202B4
+:102D000002020202020202020202020202020202A3
+:102D10000202020202020202020202020202020293
+:102D20000202020202020202020202020202020283
+:102D30000202020202020202020202020202020273
+:102D40000202020202020202020202020202020263
+:102D50000202020202020202020202020202020253
+:102D60000202020202020202020202020202020243
+:102D70000202020202020202020202020202020233
+:102D80000202020202020202020202020202020223
+:102D90000202020202020202020202020202020213
+:102DA0000202020202020202020202020202020203
+:102DB00002020202020202020202020202020202F3
+:102DC00002020202020202020202020202020202E3
+:102DD00002020202020202020202020202020202D3
+:102DE00002020202020202020202020202020202C3
+:102DF00002020202020202020202020202020202B3
+:102E000002020202020202020202020202020202A2
+:102E10000202020202020202020202020202020292
+:102E20000202020202020202020202020202020282
+:102E30000202020202020202020202020202020272
+:102E40000202020202020202020202020202020262
+:102E50000202020202020202020202020202020252
+:102E60000202020202020202020202020202020242
+:102E70000202020202020202020202020202020232
+:102E80000202020202020202020202020202020222
+:102E90000202020202020202020202020202020212
+:102EA0000202020202020202020202020202020202
+:102EB00002020202020202020202020202020202F2
+:102EC00002020202020202020202020202020202E2
+:102ED00002020202020202020202020202020202D2
+:102EE00002020202020202020202020202020202C2
+:102EF00002020202020202020202020202020202B2
+:102F000002020202020202020202020202020202A1
+:102F10000202020202020202020202020202020291
+:102F20000202020202020202020202020202020281
+:102F30000202020202020202020202020202020271
+:102F40000202020202020202020202020202020261
+:102F50000202020202020202020202020202020251
+:102F60000202020202020202020202020202020241
+:102F70000202020202020202020202020202020231
+:102F80000202020202020202020202020202020221
+:102F90000202020202020202020202020202020211
+:102FA0000202020202020202020202020202020201
+:102FB00002020202020202020202020202020202F1
+:102FC00002020202020202020202020202020202E1
+:102FD00002020202020202020202020202020202D1
+:102FE00002020202020202020202020202020202C1
+:102FF00002020202020202020202020202020202B1
+:1030000002020202020202020202020202020202A0
+:103010000202020202020202020202020202020290
+:103020000202020202020202020202020202020280
+:103030000202020202020202020202020202020270
+:103040000202020202020202020202020202020260
+:103050000202020202020202020202020202020250
+:103060000202020202020202020202020202020240
+:103070000202020202020202020202020202020230
+:103080000202020202020202020202020202020220
+:103090000202020202020202020202020202020210
+:1030A0000202020202020202020202020202020200
+:1030B00002020202020202020202020202020202F0
+:1030C00002020202020202020202020202020202E0
+:1030D00002020202020202020202020202020202D0
+:1030E00002020202020202020202020202020202C0
+:1030F00002020202020202020202020202020202B0
+:10310000020202020202020202020202020202029F
+:10311000020202020202020202020202020202028F
+:10312000020202020202020202020202020202027F
+:10313000020202020202020202020202020202026F
+:10314000020202020202020202020202020202025F
+:10315000020202020202020202020202020202024F
+:10316000020202020202020202020202020202023F
+:10317000020202020202020202020202020202022F
+:10318000020202020202020202020202020202021F
+:10319000020202020202020202020202020202020F
+:1031A00002020202020202020202020202020202FF
+:1031B00002020202020202020202020202020202EF
+:1031C00002020202020202020202020202020202DF
+:1031D00002020202020202020202020202020202CF
+:1031E00002020202020202020202020202020202BF
+:1031F00002020202020202020202020202020202AF
+:10320000020202020202020202020202020202029E
+:10321000020202020202020202020202020202028E
+:10322000020202020202020202020202020202027E
+:10323000020202020202020202020202020202026E
+:10324000020202020202020202020202020202025E
+:10325000020202020202020202020202020202024E
+:10326000020202020202020202020202020202023E
+:10327000020202020202020202020202020202022E
+:10328000020202020202020202020202020202021E
+:10329000020202020202020202020202020202020E
+:1032A00002020202020202020202020202020202FE
+:1032B00002020202020202020202020202020202EE
+:1032C00002020202020202020202020202020202DE
+:1032D00002020202020202020202020202020202CE
+:1032E00002020202020202020202020202020202BE
+:1032F00002020202020202020202020202020202AE
+:10330000020202020202020202020202020202029D
+:10331000020202020202020202020202020202028D
+:10332000020202020202020202020202020202027D
+:10333000020202020202020202020202020202026D
+:10334000020202020202020202020202020202025D
+:10335000020202020202020202020202020202024D
+:10336000020202020202020202020202020202023D
+:10337000020202020202020202020202020202022D
+:10338000020202020202020202020202020202021D
+:10339000020202020202020202020202020202020D
+:1033A00002020202020202020202020202020202FD
+:1033B00002020202020202020202020202020202ED
+:1033C00002020202020202020202020202020202DD
+:1033D00002020202020202020202020202020202CD
+:1033E00002020202020202020202020202020202BD
+:1033F00002020202020202020202020202020202AD
+:10340000020202020202020202020202020202029C
+:10341000020202020202020202020202020202028C
+:10342000020202020202020202020202020202027C
+:10343000020202020202020202020202020202026C
+:10344000020202020202020202020202020202025C
+:10345000020202020202020202020202020202024C
+:10346000020202020202020202020202020202023C
+:10347000020202020202020202020202020202022C
+:10348000020202020202020202020202020202021C
+:10349000020202020202020202020202020202020C
+:1034A00002020202020202020202020202020202FC
+:1034B00002020202020202020202020202020202EC
+:1034C00002020202020202020202020202020202DC
+:1034D00002020202020202020202020202020202CC
+:1034E00002020202020202020202020202020202BC
+:1034F00002020202020202020202020202020202AC
+:10350000020202020202020202020202020202029B
+:10351000020202020202020202020202020202028B
+:10352000020202020202020202020202020202027B
+:10353000020202020202020202020202020202026B
+:10354000020202020202020202020202020202025B
+:10355000020202020202020202020202020202024B
+:10356000020202020202020202020202020202023B
+:10357000020202020202020202020202020202022B
+:10358000020202020202020202020202020202021B
+:10359000020202020202020202020202020202020B
+:1035A00002020202020202020202020202020202FB
+:1035B00002020202020202020202020202020202EB
+:1035C00002020202020202020202020202020202DB
+:1035D00002020202020202020202020202020202CB
+:1035E00002020202020202020202020202020202BB
+:1035F00002020202020202020202020202020202AB
+:10360000020202020202020202020202020202029A
+:10361000020202020202020202020202020202028A
+:10362000020202020202020202020202020202027A
+:10363000020202020202020202020202020202026A
+:10364000020202020202020202020202020202025A
+:10365000020202020202020202020202020202024A
+:10366000020202020202020202020202020202023A
+:10367000020202020202020202020202020202022A
+:10368000020202020202020202020202020202021A
+:10369000020202020202020202020202020202020A
+:1036A00002020202020202020202020202020202FA
+:1036B00002020202020202020202020202020202EA
+:1036C00002020202020202020202020202020202DA
+:1036D00002020202020202020202020202020202CA
+:1036E00002020202020202020202020202020202BA
+:1036F00002020202020202020202020202020202AA
+:103700000202020202020202020202020202020299
+:103710000202020202020202020202020202020289
+:103720000202020202020202020202020202020279
+:103730000202020202020202020202020202020269
+:103740000202020202020202020202020202020259
+:103750000202020202020202020202020202020249
+:103760000202020202020202020202020202020239
+:103770000202020202020202020202020202020229
+:103780000202020202020202020202020202020219
+:103790000202020202020202020202020202020209
+:1037A00002020202020202020202020202020202F9
+:1037B00002020202020202020202020202020202E9
+:1037C00002020202020202020202020202020202D9
+:1037D00002020202020202020202020202020202C9
+:1037E00002020202020202020202020202020202B9
+:1037F00002020202020202020202020202020202A9
+:103800000202020202020202020202020202020298
+:103810000202020202020202020202020202020288
+:103820000202020202020202020202020202020278
+:103830000202020202020202020202020202020268
+:103840000202020202020202020202020202020258
+:103850000202020202020202020202020202020248
+:103860000202020202020202020202020202020238
+:103870000202020202020202020202020202020228
+:103880000202020202020202020202020202020218
+:103890000202020202020202020202020202020208
+:1038A00002020202020202020202020202020202F8
+:1038B00002020202020202020202020202020202E8
+:1038C00002020202020202020202020202020202D8
+:1038D00002020202020202020202020202020202C8
+:1038E00002020202020202020202020202020202B8
+:1038F00002020202020202020202020202020202A8
+:103900000202020202020202020202020202020297
+:103910000202020202020202020202020202020287
+:103920000202020202020202020202020202020277
+:103930000202020202020202020202020202020267
+:103940000202020202020202020202020202020257
+:103950000202020202020202020202020202020247
+:103960000202020202020202020202020202020237
+:103970000202020202020202020202020202020227
+:103980000202020202020202020202020202020217
+:103990000202020202020202020202020202020207
+:1039A00002020202020202020202020202020202F7
+:1039B00002020202020202020202020202020202E7
+:1039C00002020202020202020202020202020202D7
+:1039D00002020202020202020202020202020202C7
+:1039E00002020202020202020202020202020202B7
+:1039F00002020202020202020202020202020202A7
+:103A00000202020202020202020202020202020296
+:103A10000202020202020202020202020202020286
+:103A20000202020202020202020202020202020276
+:103A30000202020202020202020202020202020266
+:103A40000202020202020202020202020202020256
+:103A50000202020202020202020202020202020246
+:103A60000202020202020202020202020202020236
+:103A70000202020202020202020202020202020226
+:103A80000202020202020202020202020202020216
+:103A90000202020202020202020202020202020206
+:103AA00002020202020202020202020202020202F6
+:103AB00002020202020202020202020202020202E6
+:103AC00002020202020202020202020202020202D6
+:103AD00002020202020202020202020202020202C6
+:103AE00002020202020202020202020202020202B6
+:103AF00002020202020202020202020202020202A6
+:103B00000202020202020202020202020202020295
+:103B10000202020202020202020202020202020285
+:103B20000202020202020202020202020202020275
+:103B30000202020202020202020202020202020265
+:103B40000202020202020202020202020202020255
+:103B50000202020202020202020202020202020245
+:103B60000202020202020202020202020202020235
+:103B70000202020202020202020202020202020225
+:103B80000202020202020202020202020202020215
+:103B90000202020202020202020202020202020205
+:103BA00002020202020202020202020202020202F5
+:103BB00002020202020202020202020202020202E5
+:103BC00002020202020202020202020202020202D5
+:103BD00002020202020202020202020202020202C5
+:103BE00002020202020202020202020202020202B5
+:103BF00002020202020202020202020202020202A5
+:103C00000202020202020202020202020202020294
+:103C10000202020202020202020202020202020284
+:103C20000202020202020202020202020202020274
+:103C30000202020202020202020202020202020264
+:103C40000202020202020202020202020202020254
+:103C50000202020202020202020202020202020244
+:103C60000202020202020202020202020202020234
+:103C70000202020202020202020202020202020224
+:103C80000202020202020202020202020202020214
+:103C90000202020202020202020202020202020204
+:103CA00002020202020202020202020202020202F4
+:103CB00002020202020202020202020202020202E4
+:103CC00002020202020202020202020202020202D4
+:103CD00002020202020202020202020202020202C4
+:103CE00002020202020202020202020202020202B4
+:103CF00002020202020202020202020202020202A4
+:103D00000202020202020202020202020202020293
+:103D10000202020202020202020202020202020283
+:103D20000202020202020202020202020202020273
+:103D30000202020202020202020202020202020263
+:103D40000202020202020202020202020202020253
+:103D50000202020202020202020202020202020243
+:103D60000202020202020202020202020202020233
+:103D70000202020202020202020202020202020223
+:103D80000202020202020202020202020202020213
+:103D90000202020202020202020202020202020203
+:103DA00002020202020202020202020202020202F3
+:103DB00002020202020202020202020202020202E3
+:103DC00002020202020202020202020202020202D3
+:103DD00002020202020202020202020202020202C3
+:103DE00002020202020202020202020202020202B3
+:103DF00002020202020202020202020202020202A3
+:103E00000202020202020202020202020202020292
+:103E10000202020202020202020202020202020282
+:103E20000202020202020202020202020202020272
+:103E30000202020202020202020202020202020262
+:103E40000202020202020202020202020202020252
+:103E50000202020202020202020202020202020242
+:103E60000202020202020202020202020202020232
+:103E70000202020202020202020202020202020222
+:103E80000202020202020202020202020202020212
+:103E90000202020202020202020202020202020202
+:103EA00002020202020202020202020202020202F2
+:103EB00002020202020202020202020202020202E2
+:103EC00002020202020202020202020202020202D2
+:103ED00002020202020202020202020202020202C2
+:103EE00002020202020202020202020202020202B2
+:103EF00002020202020202020202020202020202A2
+:103F00000202020202020202020202020202020291
+:103F10000202020202020202020202020202020281
+:103F20000202020202020202020202020202020271
+:103F30000202020202020202020202020202020261
+:103F40000202020202020202020202020202020251
+:103F50000202020202020202020202020202020241
+:103F60000202020202020202020202020202020231
+:103F70000202020202020202020202020202020221
+:103F80000202020202020202020202020202020211
+:103F90000202020202020202020202020202020201
+:103FA00002020202020202020202020202020202F1
+:103FB00002020202020202020202020202020202E1
+:103FC00002020202020202020202020202020202D1
+:103FD00002020202020202020202020202020202C1
+:103FE00002020202020202020202020202020202B1
+:103FF00002020202020202020202020202020202A1
+:104000000202020202020202020202020202020290
+:104010000202020202020202020202020202020280
+:104020000202020202020202020202020202020270
+:104030000202020202020202020202020202020260
+:104040000202020202020202020202020202020250
+:104050000202020202020202020202020202020240
+:104060000202020202020202020202020202020230
+:104070000202020202020202020202020202020220
+:104080000202020202020202020202020202020210
+:104090000202020202020202020202020202020200
+:1040A00002020202020202020202020202020202F0
+:1040B00002020202020202020202020202020202E0
+:1040C00002020202020202020202020202020202D0
+:1040D00002020202020202020202020202020202C0
+:1040E00002020202020202020202020202020202B0
+:1040F00002020202020202020202020202020202A0
+:10410000020202020202020202020202020202028F
+:10411000020202020202020202020202020202027F
+:10412000020202020202020202020202020202026F
+:10413000020202020202020202020202020202025F
+:10414000020202020202020202020202020202024F
+:10415000020202020202020202020202020202023F
+:10416000020202020202020202020202020202022F
+:10417000020202020202020202020202020202021F
+:10418000020202020202020202020202020202020F
+:1041900002020202020202020202020202020202FF
+:1041A00002020202020202020202020202020202EF
+:1041B00002020202020202020202020202020202DF
+:1041C00002020202020202020202020202020202CF
+:1041D00002020202020202020202020202020202BF
+:1041E00002020202020202020202020202020202AF
+:1041F000020202020202020202020202020202029F
+:10420000020202020202020202020202020202028E
+:10421000020202020202020202020202020202027E
+:10422000020202020202020202020202020202026E
+:10423000020202020202020202020202020202025E
+:10424000020202020202020202020202020202024E
+:10425000020202020202020202020202020202023E
+:10426000020202020202020202020202020202022E
+:10427000020202020202020202020202020202021E
+:10428000020202020202020202020202020202020E
+:1042900002020202020202020202020202020202FE
+:1042A00002020202020202020202020202020202EE
+:1042B00002020202020202020202020202020202DE
+:1042C00002020202020202020202020202020202CE
+:1042D00002020202020202020202020202020202BE
+:1042E00002020202020202020202020202020202AE
+:1042F000020202020202020202020202020202029E
+:10430000020202020202020202020202020202028D
+:10431000020202020202020202020202020202027D
+:10432000020202020202020202020202020202026D
+:10433000020202020202020202020202020202025D
+:10434000020202020202020202020202020202024D
+:10435000020202020202020202020202020202023D
+:10436000020202020202020202020202020202022D
+:10437000020202020202020202020202020202021D
+:10438000020202020202020202020202020202020D
+:1043900002020202020202020202020202020202FD
+:1043A00002020202020202020202020202020202ED
+:1043B00002020202020202020202020202020202DD
+:1043C00002020202020202020202020202020202CD
+:1043D00002020202020202020202020202020202BD
+:1043E00002020202020202020202020202020202AD
+:1043F000020202020202020202020202020202029D
+:10440000020202020202020202020202020202028C
+:10441000020202020202020202020202020202027C
+:10442000020202020202020202020202020202026C
+:10443000020202020202020202020202020202025C
+:10444000020202020202020202020202020202024C
+:10445000020202020202020202020202020202023C
+:10446000020202020202020202020202020202022C
+:10447000020202020202020202020202020202021C
+:10448000020202020202020202020202020202020C
+:1044900002020202020202020202020202020202FC
+:1044A00002020202020202020202020202020202EC
+:1044B00002020202020202020202020202020202DC
+:1044C00002020202020202020202020202020202CC
+:1044D00002020202020202020202020202020202BC
+:1044E00002020202020202020202020202020202AC
+:1044F000020202020202020202020202020202029C
+:10450000020202020202020202020202020202028B
+:10451000020202020202020202020202020202027B
+:10452000020202020202020202020202020202026B
+:10453000020202020202020202020202020202025B
+:10454000020202020202020202020202020202024B
+:10455000020202020202020202020202020202023B
+:10456000020202020202020202020202020202022B
+:10457000020202020202020202020202020202021B
+:10458000020202020202020202020202020202020B
+:1045900002020202020202020202020202020202FB
+:1045A00002020202020202020202020202020202EB
+:1045B00002020202020202020202020202020202DB
+:1045C00002020202020202020202020202020202CB
+:1045D00002020202020202020202020202020202BB
+:1045E00002020202020202020202020202020202AB
+:1045F000020202020202020202020202020202029B
+:10460000020202020202020202020202020202028A
+:10461000020202020202020202020202020202027A
+:10462000020202020202020202020202020202026A
+:10463000020202020202020202020202020202025A
+:10464000020202020202020202020202020202024A
+:10465000020202020202020202020202020202023A
+:10466000020202020202020202020202020202022A
+:10467000020202020202020202020202020202021A
+:10468000020202020202020202020202020202020A
+:1046900002020202020202020202020202020202FA
+:1046A00002020202020202020202020202020202EA
+:1046B00002020202020202020202020202020202DA
+:1046C00002020202020202020202020202020202CA
+:1046D00002020202020202020202020202020202BA
+:1046E00002020202020202020202020202020202AA
+:1046F000020202020202020202020202020202029A
+:104700000202020202020202020202020202020289
+:104710000202020202020202020202020202020279
+:104720000202020202020202020202020202020269
+:104730000202020202020202020202020202020259
+:104740000202020202020202020202020202020249
+:104750000202020202020202020202020202020239
+:104760000202020202020202020202020202020229
+:104770000202020202020202020202020202020219
+:104780000202020202020202020202020202020209
+:1047900002020202020202020202020202020202F9
+:1047A00002020202020202020202020202020202E9
+:1047B00002020202020202020202020202020202D9
+:1047C00002020202020202020202020202020202C9
+:1047D00002020202020202020202020202020202B9
+:1047E00002020202020202020202020202020202A9
+:1047F0000202020202020202020202020202020299
+:104800000202020202020202020202020202020288
+:104810000202020202020202020202020202020278
+:104820000202020202020202020202020202020268
+:104830000202020202020202020202020202020258
+:104840000202020202020202020202020202020248
+:104850000202020202020202020202020202020238
+:104860000202020202020202020202020202020228
+:104870000202020202020202020202020202020218
+:104880000202020202020202020202020202020208
+:1048900002020202020202020202020202020202F8
+:1048A00002020202020202020202020202020202E8
+:1048B00002020202020202020202020202020202D8
+:1048C00002020202020202020202020202020202C8
+:1048D00002020202020202020202020202020202B8
+:1048E00002020202020202020202020202020202A8
+:1048F0000202020202020202020202020202020298
+:104900000202020202020202020202020202020287
+:104910000202020202020202020202020202020277
+:104920000202020202020202020202020202020267
+:104930000202020202020202020202020202020257
+:104940000202020202020202020202020202020247
+:104950000202020202020202020202020202020237
+:104960000202020202020202020202020202020227
+:104970000202020202020202020202020202020217
+:104980000202020202020202020202020202020207
+:1049900002020202020202020202020202020202F7
+:1049A00002020202020202020202020202020202E7
+:1049B00002020202020202020202020202020202D7
+:1049C00002020202020202020202020202020202C7
+:1049D00002020202020202020202020202020202B7
+:1049E00002020202020202020202020202020202A7
+:1049F0000202020202020202020202020202020297
+:104A00000202020202020202020202020202020286
+:104A10000202020202020202020202020202020276
+:104A20000202020202020202020202020202020266
+:104A30000202020202020202020202020202020256
+:104A40000202020202020202020202020202020246
+:104A50000202020202020202020202020202020236
+:104A60000202020202020202020202020202020226
+:104A70000202020202020202020202020202020216
+:104A80000202020202020202020202020202020206
+:104A900002020202020202020202020202020202F6
+:104AA00002020202020202020202020202020202E6
+:104AB00002020202020202020202020202020202D6
+:104AC00002020202020202020202020202020202C6
+:104AD00002020202020202020202020202020202B6
+:104AE00002020202020202020202020202020202A6
+:104AF0000202020202020202020202020202020296
+:104B00000202020202020202020202020202020285
+:104B10000202020202020202020202020202020275
+:104B20000202020202020202020202020202020265
+:104B30000202020202020202020202020202020255
+:104B40000202020202020202020202020202020245
+:104B50000202020202020202020202020202020235
+:104B60000202020202020202020202020202020225
+:104B70000202020202020202020202020202020215
+:104B80000202020202020202020202020202020205
+:104B900002020202020202020202020202020202F5
+:104BA00002020202020202020202020202020202E5
+:104BB00002020202020202020202020202020202D5
+:104BC00002020202020202020202020202020202C5
+:104BD00002020202020202020202020202020202B5
+:104BE00002020202020202020202020202020202A5
+:104BF0000202020202020202020202020202020295
+:104C00000202020202020202020202020202020284
+:104C10000202020202020202020202020202020274
+:104C20000202020202020202020202020202020264
+:104C30000202020202020202020202020202020254
+:104C40000202020202020202020202020202020244
+:104C50000202020202020202020202020202020234
+:104C60000202020202020202020202020202020224
+:104C70000202020202020202020202020202020214
+:104C80000202020202020202020202020202020204
+:104C900002020202020202020202020202020202F4
+:104CA00002020202020202020202020202020202E4
+:104CB00002020202020202020202020202020202D4
+:104CC00002020202020202020202020202020202C4
+:104CD00002020202020202020202020202020202B4
+:104CE00002020202020202020202020202020202A4
+:104CF0000202020202020202020202020202020294
+:104D00000202020202020202020202020202020283
+:104D10000202020202020202020202020202020273
+:104D20000202020202020202020202020202020263
+:104D30000202020202020202020202020202020253
+:104D40000202020202020202020202020202020243
+:104D50000202020202020202020202020202020233
+:104D60000202020202020202020202020202020223
+:104D70000202020202020202020202020202020213
+:104D80000202020202020202020202020202020203
+:104D900002020202020202020202020202020202F3
+:104DA00002020202020202020202020202020202E3
+:104DB00002020202020202020202020202020202D3
+:104DC00002020202020202020202020202020202C3
+:104DD00002020202020202020202020202020202B3
+:104DE00002020202020202020202020202020202A3
+:104DF0000202020202020202020202020202020293
+:104E00000202020202020202020202020202020282
+:104E10000202020202020202020202020202020272
+:104E20000202020202020202020202020202020262
+:104E30000202020202020202020202020202020252
+:104E40000202020202020202020202020202020242
+:104E50000202020202020202020202020202020232
+:104E60000202020202020202020202020202020222
+:104E70000202020202020202020202020202020212
+:104E80000202020202020202020202020202020202
+:104E900002020202020202020202020202020202F2
+:104EA00002020202020202020202020202020202E2
+:104EB00002020202020202020202020202020202D2
+:104EC00002020202020202020202020202020202C2
+:104ED00002020202020202020202020202020202B2
+:104EE00002020202020202020202020202020202A2
+:104EF0000202020202020202020202020202020292
+:104F00000202020202020202020202020202020281
+:104F10000202020202020202020202020202020271
+:104F20000202020202020202020202020202020261
+:104F30000202020202020202020202020202020251
+:104F40000202020202020202020202020202020241
+:104F50000202020202020202020202020202020231
+:104F60000202020202020202020202020202020221
+:104F70000202020202020202020202020202020211
+:104F80000202020202020202020202020202020201
+:104F900002020202020202020202020202020202F1
+:104FA00002020202020202020202020202020202E1
+:104FB00002020202020202020202020202020202D1
+:104FC00002020202020202020202020202020202C1
+:104FD00002020202020202020202020202020202B1
+:104FE00002020202020202020202020202020202A1
+:104FF0000202020202020202020202020202020291
+:105000000202020202020202020202020202020280
+:105010000202020202020202020202020202020270
+:105020000202020202020202020202020202020260
+:105030000202020202020202020202020202020250
+:105040000202020202020202020202020202020240
+:105050000202020202020202020202020202020230
+:105060000202020202020202020202020202020220
+:105070000202020202020202020202020202020210
+:105080000202020202020202020202020202020200
+:1050900002020202020202020202020202020202F0
+:1050A00002020202020202020202020202020202E0
+:1050B00002020202020202020202020202020202D0
+:1050C00002020202020202020202020202020202C0
+:1050D00002020202020202020202020202020202B0
+:1050E00002020202020202020202020202020202A0
+:1050F0000202020202020202020202020202020290
+:10510000020202020202020202020202020202027F
+:10511000020202020202020202020202020202026F
+:10512000020202020202020202020202020202025F
+:10513000020202020202020202020202020202024F
+:10514000020202020202020202020202020202023F
+:10515000020202020202020202020202020202022F
+:10516000020202020202020202020202020202021F
+:10517000020202020202020202020202020202020F
+:1051800002020202020202020202020202020202FF
+:1051900002020202020202020202020202020202EF
+:1051A00002020202020202020202020202020202DF
+:1051B00002020202020202020202020202020202CF
+:1051C00002020202020202020202020202020202BF
+:1051D00002020202020202020202020202020202AF
+:1051E000020202020202020202020202020202029F
+:1051F000020202020202020202020202020202028F
+:10520000020202020202020202020202020202027E
+:10521000020202020202020202020202020202026E
+:10522000020202020202020202020202020202025E
+:10523000020202020202020202020202020202024E
+:10524000020202020202020202020202020202023E
+:10525000020202020202020202020202020202022E
+:10526000020202020202020202020202020202021E
+:10527000020202020202020202020202020202020E
+:1052800002020202020202020202020202020202FE
+:1052900002020202020202020202020202020202EE
+:1052A00002020202020202020202020202020202DE
+:1052B00002020202020202020202020202020202CE
+:1052C00002020202020202020202020202020202BE
+:1052D00002020202020202020202020202020202AE
+:1052E000020202020202020202020202020202029E
+:1052F000020202020202020202020202020202028E
+:10530000020202020202020202020202020202027D
+:10531000020202020202020202020202020202026D
+:10532000020202020202020202020202020202025D
+:10533000020202020202020202020202020202024D
+:10534000020202020202020202020202020202023D
+:10535000020202020202020202020202020202022D
+:10536000020202020202020202020202020202021D
+:10537000020202020202020202020202020202020D
+:1053800002020202020202020202020202020202FD
+:1053900002020202020202020202020202020202ED
+:1053A00002020202020202020202020202020202DD
+:1053B00002020202020202020202020202020202CD
+:1053C00002020202020202020202020202020202BD
+:1053D00002020202020202020202020202020202AD
+:1053E000020202020202020202020202020202029D
+:1053F000020202020202020202020202020202028D
+:10540000020202020202020202020202020202027C
+:10541000020202020202020202020202020202026C
+:10542000020202020202020202020202020202025C
+:10543000020202020202020202020202020202024C
+:10544000020202020202020202020202020202023C
+:10545000020202020202020202020202020202022C
+:10546000020202020202020202020202020202021C
+:10547000020202020202020202020202020202020C
+:1054800002020202020202020202020202020202FC
+:1054900002020202020202020202020202020202EC
+:1054A00002020202020202020202020202020202DC
+:1054B00002020202020202020202020202020202CC
+:1054C00002020202020202020202020202020202BC
+:1054D00002020202020202020202020202020202AC
+:1054E000020202020202020202020202020202029C
+:1054F000020202020202020202020202020202028C
+:10550000020202020202020202020202020202027B
+:10551000020202020202020202020202020202026B
+:10552000020202020202020202020202020202025B
+:10553000020202020202020202020202020202024B
+:10554000020202020202020202020202020202023B
+:10555000020202020202020202020202020202022B
+:10556000020202020202020202020202020202021B
+:10557000020202020202020202020202020202020B
+:1055800002020202020202020202020202020202FB
+:1055900002020202020202020202020202020202EB
+:1055A00002020202020202020202020202020202DB
+:1055B00002020202020202020202020202020202CB
+:1055C00002020202020202020202020202020202BB
+:1055D00002020202020202020202020202020202AB
+:1055E000020202020202020202020202020202029B
+:1055F000020202020202020202020202020202028B
+:10560000020202020202020202020202020202027A
+:10561000020202020202020202020202020202026A
+:10562000020202020202020202020202020202025A
+:10563000020202020202020202020202020202024A
+:10564000020202020202020202020202020202023A
+:10565000020202020202020202020202020202022A
+:10566000020202020202020202020202020202021A
+:10567000020202020202020202020202020202020A
+:1056800002020202020202020202020202020202FA
+:1056900002020202020202020202020202020202EA
+:1056A00002020202020202020202020202020202DA
+:1056B00002020202020202020202020202020202CA
+:1056C00002020202020202020202020202020202BA
+:1056D00002020202020202020202020202020202AA
+:1056E000020202020202020202020202020202029A
+:1056F000020202020202020202020202020202028A
+:105700000202020202020202020202020202020279
+:105710000202020202020202020202020202020269
+:105720000202020202020202020202020202020259
+:105730000202020202020202020202020202020249
+:105740000202020202020202020202020202020239
+:105750000202020202020202020202020202020229
+:105760000202020202020202020202020202020219
+:105770000202020202020202020202020202020209
+:1057800002020202020202020202020202020202F9
+:1057900002020202020202020202020202020202E9
+:1057A00002020202020202020202020202020202D9
+:1057B00002020202020202020202020202020202C9
+:1057C00002020202020202020202020202020202B9
+:1057D00002020202020202020202020202020202A9
+:1057E0000202020202020202020202020202020299
+:1057F0000202020202020202020202020202020289
+:105800000202020202020202020202020202020278
+:105810000202020202020202020202020202020268
+:105820000202020202020202020202020202020258
+:105830000202020202020202020202020202020248
+:105840000202020202020202020202020202020238
+:105850000202020202020202020202020202020228
+:105860000202020202020202020202020202020218
+:105870000202020202020202020202020202020208
+:1058800002020202020202020202020202020202F8
+:1058900002020202020202020202020202020202E8
+:1058A00002020202020202020202020202020202D8
+:1058B00002020202020202020202020202020202C8
+:1058C00002020202020202020202020202020202B8
+:1058D00002020202020202020202020202020202A8
+:1058E0000202020202020202020202020202020298
+:1058F0000202020202020202020202020202020288
+:105900000202020202020202020202020202020277
+:105910000202020202020202020202020202020267
+:105920000202020202020202020202020202020257
+:105930000202020202020202020202020202020247
+:105940000202020202020202020202020202020237
+:105950000202020202020202020202020202020227
+:105960000202020202020202020202020202020217
+:105970000202020202020202020202020202020207
+:1059800002020202020202020202020202020202F7
+:1059900002020202020202020202020202020202E7
+:1059A00002020202020202020202020202020202D7
+:1059B00002020202020202020202020202020202C7
+:1059C00002020202020202020202020202020202B7
+:1059D00002020202020202020202020202020202A7
+:1059E00002020202020202000000000000000000A9
+:1059F00000000000000000000000000000000000A7
+:105A00000000000000000000000000000000000096
+:105A10000000000000000000000000000000000086
+:105A20000000000000000000000000000000000076
+:105A30000000000000000000000000000000000066
+:105A40000000000000000000000000000000000056
+:105A50000000000000000000000000000000000046
+:105A60000000000000000000000000000000000036
+:105A70000000000000000000000000000000000026
+:105A80000000000000000000000000000000000016
+:105A90000000000000000000000000000000000006
+:105AA00000000000000000000000000000000000F6
+:105AB00000000000000000000000000000000000E6
+:105AC00000000000000000000000000000000000D6
+:105AD00000000000000000000000000000000000C6
+:105AE00000000000000000000000000000000000B6
+:105AF00000000000000000000000000000000000A6
+:105B00000000000000000000000000000000000095
+:105B10000000000000000000000000000000000085
+:105B20000000000000000000000000000000000075
+:105B30000000000000000000000000000000000065
+:105B40000000000000000000000000000000000055
+:105B50000000000000000000000000000000000045
+:105B60000000000000000000000000000000000035
+:105B70000000000000000000000000000000000025
+:105B80000000000000000000000000000000000015
+:105B90000000000000000000000000000000000005
+:105BA00000000000000000000000000000000000F5
+:105BB00000000000000000000000000000000000E5
+:105BC00000000000000000000000000000000000D5
+:105BD00000000000000000000000000000000000C5
+:105BE00000000000000000000000000000000000B5
+:105BF00000000000000000000000000000000000A5
+:105C00000000000000000000000000000000000094
+:105C10000000000000000000000000000000000084
+:105C20000000000000000000000000000000000074
+:105C30000000000000000000000000000000000064
+:105C40000000000000000000000000000000000054
+:105C50000000000000000000000000000000000044
+:105C60000000000000000000000000000000000034
+:105C70000000000000000000000000000000000024
+:105C80000000000000000000000000000000000014
+:105C90000000000000000000000000000000000004
+:105CA00000000000000000000000000000000000F4
+:105CB00000000000000000000000000000000000E4
+:105CC00000000000000000000000000000000000D4
+:105CD00000000000000000000000000000000000C4
+:105CE00000000000000000000000000000000000B4
+:105CF00000000000000000000000000000000000A4
+:105D00000000000000000000000000000000000093
+:105D10000000000000000000000000000000000083
+:105D20000000000000000000000000000000000073
+:105D30000000000000000000000000000000000063
+:105D40000000000000000000000000000000000053
+:105D50000000000000000000000000000000000043
+:105D60000000000000000000000000000000000033
+:105D70000000000000000000000000000000000023
+:105D80000000000000000000000000000000000013
+:105D90000000000000000000000000000000000003
+:105DA00000000000000000000000000000000000F3
+:105DB00000000000000000000000000000000000E3
+:105DC00000000000000000000000000000000000D3
+:105DD00000000000000000000000000000000000C3
+:105DE00000000000000000000000000000000000B3
+:105DF00000000000000000000000000000000000A3
+:105E00000000000000000000000000000000000092
+:105E10000000000000000000000000000000000082
+:105E20000000000000000000000000000000000072
+:105E30000000000000000000000000000000000062
+:105E40000000000000000000000000000000000052
+:105E50000000000000000000000000000000000042
+:105E60000000000000000000000000000000000032
+:105E70000000000000000000000000000000000022
+:105E80000000000000000000000000000000000012
+:105E90000000000000000000000000000000000002
+:105EA00000000000000000000000000000000000F2
+:105EB00000000000000000000000000000000000E2
+:105EC00000000000000000000000000000000000D2
+:105ED00000000000000000000000000000000000C2
+:105EE00000000000000000000000000000000000B2
+:105EF00000000000000000000000000000000000A2
+:105F00000000000000000000000000000000000091
+:105F10000000000000000000000000000000000081
+:105F20000000000000000000000000000000000071
+:105F30000000000000000000000000000000000061
+:105F40000000000000000000000000000000000051
+:105F50000000000000000000000000000000000041
+:105F60000000000000000000000000000000000031
+:105F70000000000000000000000000000000000021
+:105F80000000000000000000000000000000000011
+:105F90000000000000000000000000000000000001
+:105FA00000000000000000000000000000000000F1
+:105FB00000000000000000000000000000000000E1
+:105FC00000000000000000000000000000000000D1
+:105FD00000000000000000000000000000000000C1
+:105FE00000000000000000000000000000000000B1
+:105FF00000000000000000000000000000000000A1
+:106000000000000000000000000000000000000090
+:106010000000000000000000000000000000000080
+:106020000000000000000000000000000000000070
+:106030000000000000000000000000000000000060
+:106040000000000000000000000000000000000050
+:106050000000000000000000000000000000000040
+:106060000000000000000000000000000000000030
+:106070000000000000000000000000000000000020
+:106080000000000000000000000000000000000010
+:106090000000000000000000000000000000000000
+:1060A00000000000000000000000000000000000F0
+:1060B00000000000000000000000000000000000E0
+:1060C00000000000000000000000000000000000D0
+:1060D00000000000000000000000000000000000C0
+:1060E00000000000000000010101010101010101A7
+:1060F0000101010101010101010101010101010190
+:10610000010101010101010101010101010101017F
+:10611000010101010101010101010101010101016F
+:10612000010101010101010101010101010101015F
+:10613000010101010101010101010101010101014F
+:10614000010101010101010101010101010101013F
+:10615000010101010101010101010101010101012F
+:10616000010101010101010101010101010101011F
+:10617000010101010101010101010101010101010F
+:1061800001010101010101010101010101010101FF
+:1061900001010101010101010101010101010101EF
+:1061A00001010101010101010101010101010101DF
+:1061B00001010101010101010101010101010101CF
+:1061C00001010101010101010101010101010101BF
+:1061D00001010101010101010101010101010101AF
+:1061E000010101010101010101010101010101019F
+:1061F000010101010101010101010101010101018F
+:10620000010101010101010101010101010101017E
+:10621000010101010101010101010101010101016E
+:10622000010101010101010101010101010101015E
+:10623000010101010101010101010101010101014E
+:10624000010101010101010101010101010101013E
+:10625000010101010101010101010101010101012E
+:10626000010101010101010101010101010101011E
+:10627000010101010101010101010101010101010E
+:1062800001010101010101010101010101010101FE
+:1062900001010101010101010101010101010101EE
+:1062A00001010101010101010101010101010101DE
+:1062B00001010101010101010101010101010101CE
+:1062C00001010101010101010101010101010101BE
+:1062D00001010101010101010101010101010101AE
+:1062E000010101010101010101010101010101019E
+:1062F000010101010101010101010101010101018E
+:10630000010101010101010101010101010101017D
+:10631000010101010101010101010101010101016D
+:10632000010101010101010101010101010101015D
+:10633000010101010101010101010101010101014D
+:10634000010101010101010101010101010101013D
+:10635000010101010101010101010101010101012D
+:10636000010101010101010101010101010101011D
+:10637000010101010101010101010101010101010D
+:1063800001010101010101010101010101010101FD
+:1063900001010101010101010101010101010101ED
+:1063A00001010101010101010101010101010101DD
+:1063B00001010101010101010101010101010101CD
+:1063C00001010101010101010101010101010101BD
+:1063D00001010101010101010101010101010101AD
+:1063E000010101010101010101010101010101019D
+:1063F000010101010101010101010101010101018D
+:10640000010101010101010101010101010101017C
+:10641000010101010101010101010101010101016C
+:10642000010101010101010101010101010101015C
+:10643000010101010101010101010101010101014C
+:10644000010101010101010101010101010101013C
+:10645000010101010101010101010101010101012C
+:10646000010101010101010101010101010101011C
+:10647000010101010101010101010101010101010C
+:1064800001010101010101010101010101010101FC
+:1064900001010101010101010101010101010101EC
+:1064A00001010101010101010101010101010101DC
+:1064B00001010101010101010101010101010101CC
+:1064C00001010101010101010101010101010101BC
+:1064D00001010101010101010101010101010101AC
+:1064E000010101010101010101010101010101019C
+:1064F000010101010101010101010101010101018C
+:10650000010101010101010101010101010101017B
+:10651000010101010101010101010101010101016B
+:10652000010101010101010101010101010101015B
+:10653000010101010101010101010101010101014B
+:10654000010101010101010101010101010101013B
+:10655000010101010101010101010101010101012B
+:10656000010101010101010101010101010101011B
+:10657000010101010101010101010101010101010B
+:1065800001010101010101010101010101010101FB
+:1065900001010101010101010101010101010101EB
+:1065A00001010101010101010101010101010101DB
+:1065B00001010101010101010101010101010101CB
+:1065C00001010101010101010101010101010101BB
+:1065D00001010101010101010101010101010101AB
+:1065E000010101010101010101010101010101019B
+:1065F000010101010101010101010101010101018B
+:10660000010101010101010101010101010101017A
+:10661000010101010101010101010101010101016A
+:10662000010101010101010101010101010101015A
+:10663000010101010101010101010101010101014A
+:10664000010101010101010101010101010101013A
+:10665000010101010101010101010101010101012A
+:10666000010101010101010101010101010101011A
+:10667000010101010101010101010101010101010A
+:1066800001010101010101010101010101010101FA
+:1066900001010101010101010101010101010101EA
+:1066A00001010101010101010101010101010101DA
+:1066B00001010101010101010101010101010101CA
+:1066C00001010101010101010101010101010101BA
+:1066D00001010101010101010101010101010101AA
+:1066E000010101010101010101010101010101019A
+:1066F000010101010101010101010101010101018A
+:106700000101010101010101010101010101010179
+:106710000101010101010101010101010101010169
+:106720000101010101010101010101010101010159
+:106730000101010101010101010101010101010149
+:106740000101010101010101010101010101010139
+:106750000101010101010101010101010101010129
+:106760000101010101010101010101010101010119
+:106770000101010101010101010101010101010109
+:1067800001010101010101010101010101010101F9
+:1067900001010101010101010101010101010101E9
+:1067A00001010101010101010101010101010101D9
+:1067B00001010101010101010101010101010101C9
+:1067C00001010101010101010101010101010101B9
+:1067D00001010101010101010101010101010101A9
+:1067E0000101010101010101010101010101010199
+:1067F0000101010101010101010101010101010189
+:106800000101010101010101010101010101010178
+:106810000101010101010101010101010101010168
+:106820000101010101010101010101010101010158
+:106830000101010101010101010101010101010148
+:106840000101010101010101010101010101010138
+:106850000101010101010101010101010101010128
+:106860000101010101010101010101010101010118
+:106870000101010101010101010101010101010108
+:1068800001010101010101010101010101010101F8
+:1068900001010101010101010101010101010101E8
+:1068A00001010101010101010101010101010101D8
+:1068B00001010101010101010101010101010101C8
+:1068C00001010101010101010101010101010101B8
+:1068D00001010101010101010101010101010101A8
+:1068E0000101010101010101010101010101010198
+:1068F0000101010101010101010101010101010188
+:106900000101010101010101010101010101010177
+:106910000101010101010101010101010101010167
+:106920000101010101010101010101010101010157
+:106930000101010101010101010101010101010147
+:106940000101010101010101010101010101010137
+:106950000101010101010101010101010101010127
+:106960000101010101010101010101010101010117
+:106970000101010101010101010101010101010107
+:1069800001010101010101010101010101010101F7
+:1069900001010101010101010101010101010101E7
+:1069A00001010101010101010101010101010101D7
+:1069B00001010101010101010101010101010101C7
+:1069C00001010101010101010101010101010101B7
+:1069D00001010101010101010101010101010101A7
+:1069E0000101010101010101010101010101010197
+:1069F0000101010101010101010101010101010187
+:106A00000101010101010101010101010101010176
+:106A10000101010101010101010101010101010166
+:106A20000101010101010101010101010101010156
+:106A30000101010101010101010101010101010146
+:106A40000101010101010101010101010101010136
+:106A50000101010101010101010101010101010126
+:106A60000101010101010101010101010101010116
+:106A70000101010101010101010101010101010106
+:106A800001010101010101010101010101010101F6
+:106A900001010101010101010101010101010101E6
+:106AA00001010101010101010101010101010101D6
+:106AB00001010101010101010101010101010101C6
+:106AC00001010101010101010101010101010101B6
+:106AD00001010101010101010101010101010101A6
+:106AE0000101010101010101010101010101010196
+:106AF0000101010101010101010101010101010186
+:106B00000101010101010101010101010101010175
+:106B10000101010101010101010101010101010165
+:106B20000101010101010101010101010101010155
+:106B30000101010101010101010101010101010145
+:106B40000101010101010101010101010101010135
+:106B50000101010101010101010101010101010125
+:106B60000101010101010101010101010101010115
+:106B70000101010101010101010101010101010105
+:106B800001010101010101010101010101010101F5
+:106B900001010101010101010101010101010101E5
+:106BA00001010101010101010101010101010101D5
+:106BB00001010101010101010101010101010101C5
+:106BC00001010101010101010101010101010101B5
+:106BD00001010101010101010101010101010101A5
+:106BE0000101010101010101010101010101010195
+:106BF0000101010101010101010101010101010185
+:106C00000101010101010101010101010101010174
+:106C10000101010101010101010101010101010164
+:106C20000101010101010101010101010101010154
+:106C30000101010101010101010101010101010144
+:106C40000101010101010101010101010101010134
+:106C50000101010101010101010101010101010124
+:106C60000101010101010101010101010101010114
+:106C70000101010101010101010101010101010104
+:106C800001010101010101010101010101010101F4
+:106C900001010101010101010101010101010101E4
+:106CA00001010101010101010101010101010101D4
+:106CB00001010101010101010101010101010101C4
+:106CC00001010101010101010101010101010101B4
+:106CD00001010101010101010101010101010101A4
+:106CE0000101010101010101010101010101010194
+:106CF0000101010101010101010101010101010184
+:106D00000101010101010101010101010101010173
+:106D10000101010101010101010101010101010163
+:106D20000101010101010101010101010101010153
+:106D30000101010101010101010101010101010143
+:106D40000101010101010101010101010101010133
+:106D50000101010101010101010101010101010123
+:106D60000101010101010101010101010101010113
+:106D70000101010101010101010101010101010103
+:106D800001010101010101010101010101010101F3
+:106D900001010101010101010101010101010101E3
+:106DA00001010101010101010101010101010101D3
+:106DB00001010101010101010101010101010101C3
+:106DC00001010101010101010101010101010101B3
+:106DD00001010101010101010101010101010101A3
+:106DE0000101010101010101010101010101010193
+:106DF0000101010101010101010101010101010183
+:106E00000101010101010101010101010101010172
+:106E10000101010101010101010101010101010162
+:106E20000101010101010101010101010101010152
+:106E30000101010101010101010101010101010142
+:106E40000101010101010101010101010101010132
+:106E50000101010101010101010101010101010122
+:106E60000101010101010101010101010101010112
+:106E70000101010101010101010101010101010102
+:106E800001010101010101010101010101010101F2
+:106E900001010101010101010101010101010101E2
+:106EA00001010101010101010101010101010101D2
+:106EB00001010101010101010101010101010101C2
+:106EC00001010101010101010101010101010101B2
+:106ED00001010101010101010101010101010101A2
+:106EE0000101010101010101010101010101010192
+:106EF0000101010101010101010101010101010182
+:106F00000101010101010101010101010101010171
+:106F10000101010101010101010101010101010161
+:106F20000101010101010101010101010101010151
+:106F30000101010101010101010101010101010141
+:106F40000101010101010101010101010101010131
+:106F50000101010101010101010101010101010121
+:106F60000101010101010101010101010101010111
+:106F70000101010101010101010101010101010101
+:106F800001010101010101010101010101010101F1
+:106F900001010101010101010101010101010101E1
+:106FA00001010101010101010101010101010101D1
+:106FB00001010101010101010101010101010101C1
+:106FC00001010101010101010101010101010101B1
+:106FD00001010101010101010101010101010101A1
+:106FE0000101010101010101010101010101010191
+:106FF0000101010101010101010101010101010181
+:107000000101010101010101010101010101010170
+:107010000101010101010101010101010101010160
+:107020000101010101010101010101010101010150
+:107030000101010101010101010101010101010140
+:107040000101010101010101010101010101010130
+:107050000101010101010101010101010101010120
+:107060000101010101010101010101010101010110
+:107070000101010101010101010101010101010100
+:1070800001010101010101010101010101010101F0
+:1070900001010101010101010101010101010101E0
+:1070A00001010101010101010101010101010101D0
+:1070B00001010101010101010101010101010101C0
+:1070C00001010101010101010101010101010101B0
+:1070D00001010101010101010101010101010101A0
+:1070E0000101010101010101010101010101010190
+:1070F0000101010101010101010101010101010180
+:10710000010101010101010101010101010101016F
+:10711000010101010101010101010101010101015F
+:10712000010101010101010101010101010101014F
+:10713000010101010101010101010101010101013F
+:10714000010101010101010101010101010101012F
+:10715000010101010101010101010101010101011F
+:10716000010101010101010101010101010101010F
+:1071700001010101010101010101010101010101FF
+:1071800001010101010101010101010101010101EF
+:1071900001010101010101010101010101010101DF
+:1071A00001010101010101010101010101010101CF
+:1071B00001010101010101010101010101010101BF
+:1071C00001010101010101010101010101010101AF
+:1071D000010101010101010101010101010101019F
+:1071E000010101010101010101010101010101018F
+:1071F000010101010101010101010101010101017F
+:10720000010101010101010101010101010101016E
+:10721000010101010101010101010101010101015E
+:10722000010101010101010101010101010101014E
+:10723000010101010101010101010101010101013E
+:10724000010101010101010101010101010101012E
+:10725000010101010101010101010101010101011E
+:10726000010101010101010101010101010101010E
+:1072700001010101010101010101010101010101FE
+:1072800001010101010101010101010101010101EE
+:1072900001010101010101010101010101010101DE
+:1072A00001010101010101010101010101010101CE
+:1072B00001010101010101010101010101010101BE
+:1072C00001010101010101010101010101010101AE
+:1072D000010101010101010101010101010101019E
+:1072E000010101010101010101010101010101018E
+:1072F000010101010101010101010101010101017E
+:10730000010101010101010101010101010101016D
+:10731000010101010101010101010101010101015D
+:10732000010101010101010101010101010101014D
+:10733000010101010101010101010101010101013D
+:10734000010101010101010101010101010101012D
+:10735000010101010101010101010101010101011D
+:10736000010101010101010101010101010101010D
+:1073700001010101010101010101010101010101FD
+:1073800001010101010101010101010101010101ED
+:1073900001010101010101010101010101010101DD
+:1073A00001010101010101010101010101010101CD
+:1073B00001010101010101010101010101010101BD
+:1073C00001010101010101010101010101010101AD
+:1073D000010101010101010101010101010101019D
+:1073E000010101010101010101010101010101018D
+:1073F000010101010101010101010101010101017D
+:10740000010101010101010101010101010101016C
+:10741000010101010101010101010101010101015C
+:10742000010101010101010101010101010101014C
+:10743000010101010101010101010101010101013C
+:10744000010101010101010101010101010101012C
+:10745000010101010101010101010101010101011C
+:10746000010101010101010101010101010101010C
+:1074700001010101010101010101010101010101FC
+:1074800001010101010101010101010101010101EC
+:1074900001010101010101010101010101010101DC
+:1074A00001010101010101010101010101010101CC
+:1074B00001010101010101010101010101010101BC
+:1074C00001010101010101010101010101010101AC
+:1074D000010101010101010101010101010101019C
+:1074E000010101010101010101010101010101018C
+:1074F000010101010101010101010101010101017C
+:10750000010101010101010101010101010101016B
+:10751000010101010101010101010101010101015B
+:10752000010101010101010101010101010101014B
+:10753000010101010101010101010101010101013B
+:10754000010101010101010101010101010101012B
+:10755000010101010101010101010101010101011B
+:10756000010101010101010101010101010101010B
+:1075700001010101010101010101010101010101FB
+:1075800001010101010101010101010101010101EB
+:1075900001010101010101010101010101010101DB
+:1075A00001010101010101010101010101010101CB
+:1075B00001010101010101010101010101010101BB
+:1075C00001010101010101010101010101010101AB
+:1075D000010101010101010101010101010101019B
+:1075E000010101010101010101010101010101018B
+:1075F000010101010101010101010101010101017B
+:10760000010101010101010101010101010101016A
+:10761000010101010101010101010101010101015A
+:10762000010101010101010101010101010101014A
+:10763000010101010101010101010101010101013A
+:10764000010101010101010101010101010101012A
+:10765000010101010101010101010101010101011A
+:10766000010101010101010101010101010101010A
+:1076700001010101010101010101010101010101FA
+:1076800001010101010101010101010101010101EA
+:1076900001010101010101010101010101010101DA
+:1076A00001010101010101010101010101010101CA
+:1076B00001010101010101010101010101010101BA
+:1076C00001010101010101010101010101010101AA
+:1076D000010101010101010101010101010101019A
+:1076E000010101010101010101010101010101018A
+:1076F000010101010101010101010101010101017A
+:107700000101010101010101010101010101010169
+:107710000101010101010101010101010101010159
+:107720000101010101010101010101010101010149
+:107730000101010101010101010101010101010139
+:107740000101010101010101010101010101010129
+:107750000101010101010101010101010101010119
+:107760000101010101010101010101010101010109
+:1077700001010101010101010101010101010101F9
+:1077800001010101010101010101010101010101E9
+:1077900001010101010101010101010101010101D9
+:1077A00001010101010101010101010101010101C9
+:1077B00001010101010101010101010101010101B9
+:1077C00001010101010101010101010101010101A9
+:1077D0000101010101010101010101010101010199
+:1077E0000101010101010101010101010101010189
+:1077F0000101010101010101010101010101010179
+:107800000101010101010101010101010101010168
+:107810000101010101010101010101010101010158
+:107820000101010101010101010101010101010148
+:107830000101010101010101010101010101010138
+:107840000101010101010101010101010101010128
+:107850000101010101010101010101010101010118
+:107860000101010101010101010101010101010108
+:1078700001010101010101010101010101010101F8
+:1078800001010101010101010101010101010101E8
+:1078900001010101010101010101010101010101D8
+:1078A00001010101010101010101010101010101C8
+:1078B00001010101010101010101010101010101B8
+:1078C00001010101010101010101010101010101A8
+:1078D0000101010101010101010101010101010198
+:1078E0000101010101010101010101010101010188
+:1078F0000101010101010101010101010101010178
+:107900000101010101010101010101010101010167
+:107910000101010101010101010101010101010157
+:107920000101010101010101010101010101010147
+:107930000101010101010101010101010101010137
+:107940000101010101010101010101010101010127
+:107950000101010101010101010101010101010117
+:107960000101010101010101010101010101010107
+:1079700001010101010101010101010101010101F7
+:1079800001010101010101010101010101010101E7
+:1079900001010101010101010101010101010101D7
+:1079A00001010101010101010101010101010101C7
+:1079B00001010101010101010101010101010101B7
+:1079C00001010101010101010101010101010101A7
+:1079D0000101010101010101010101010101010197
+:1079E0000101010101010101010101010101010187
+:1079F0000101010101010101010101010101010177
+:107A00000101010101010101010101010101010166
+:107A10000101010101010101010101010101010156
+:107A20000101010101010101010101010101010146
+:107A30000101010101010101010101010101010136
+:107A40000101010101010101010101010101010126
+:107A50000101010101010101010101010101010116
+:107A60000101010101010101010101010101010106
+:107A700001010101010101010101010101010101F6
+:107A800001010101010101010101010101010101E6
+:107A900001010101010101010101010101010101D6
+:107AA00001010101010101010101010101010101C6
+:107AB00001010101010101010101010101010101B6
+:107AC00001010101010101010101010101010101A6
+:107AD0000101010101010101010101010101010196
+:107AE0000101010101010101010101010101010186
+:107AF0000101010101010101010101010101010176
+:107B00000101010101010101010101010101010165
+:107B10000101010101010101010101010101010155
+:107B20000101010101010101010101010101010145
+:107B30000101010101010101010101010101010135
+:107B40000101010101010101010101010101010125
+:107B50000101010101010101010101010101010115
+:107B60000101010101010101010101010101010105
+:107B700001010101010101010101010101010101F5
+:107B800001010101010101010101010101010101E5
+:107B900001010101010101010101010101010101D5
+:107BA00001010101010101010101010101010101C5
+:107BB00001010101010101010101010101010101B5
+:107BC00001010101010101010101010101010101A5
+:107BD0000101010101010101010101010101010195
+:107BE0000101010101010101010101010101010185
+:107BF0000101010101010101010101010101010175
+:107C00000101010101010101010101010101010164
+:107C10000101010101010101010101010101010154
+:107C20000101010101010101010101010101010144
+:107C30000101010101010101010101010101010134
+:107C40000101010101010101010101010101010124
+:107C50000101010101010101010101010101010114
+:107C60000101010101010101010101010101010104
+:107C700001010101010101010101010101010101F4
+:107C800001010101010101010101010101010101E4
+:107C900001010101010101010101010101010101D4
+:107CA00001010101010101010101010101010101C4
+:107CB00001010101010101010101010101010101B4
+:107CC00001010101010101010101010101010101A4
+:107CD0000101010101010101010101010101010194
+:107CE0000101010101010101010101010101010184
+:107CF0000101010101010101010101010101010174
+:107D00000101010101010101010101010101010163
+:107D10000101010101010101010101010101010153
+:107D20000101010101010101010101010101010143
+:107D30000101010101010101010101010101010133
+:107D40000101010101010101010101010101010123
+:107D50000101010101010101010101010101010113
+:107D60000101010101010101010101010101010103
+:107D700001010101010101010101010101010101F3
+:107D800001010101010101010101010101010101E3
+:107D900001010101010101010101010101010101D3
+:107DA00001010101010101010101010101010101C3
+:107DB00001010101010101010101010101010101B3
+:107DC00001010101010101010101010101010101A3
+:107DD0000101010101010101010101010101010193
+:107DE0000101010101010101010101010101010183
+:107DF0000101010101010101010101010101010173
+:107E00000101010101010101010101010101010162
+:107E10000101010101010101010101010101010152
+:107E20000101010101010101010101010101010142
+:107E30000101010101010101010101010101010132
+:107E40000101010101010101010101010101010122
+:107E50000101010101010101010101010101010112
+:107E60000101010101010101010101010101010102
+:107E700001010101010101010101010101010101F2
+:107E800001010101010101010101010101010101E2
+:107E900001010101010101010101010101010101D2
+:107EA00001010101010101010101010101010101C2
+:107EB00001010101010101010101010101010101B2
+:107EC00001010101010101010101010101010101A2
+:107ED0000101010101010101010101010101010192
+:107EE0000101010101010101010101010101010182
+:107EF0000101010101010101010101010101010172
+:107F00000101010101010101010101010101010161
+:107F10000101010101010101010101010101010151
+:107F20000101010101010101010101010101010141
+:107F30000101010101010101010101010101010131
+:107F40000101010101010101010101010101010121
+:107F50000101010101010101010101010101010111
+:107F60000101010101010101010101010101010101
+:107F700001010101010101010101010101010101F1
+:107F800001010101010101010101010101010101E1
+:107F900001010101010101010101010101010101D1
+:107FA00001010101010101010101010101010101C1
+:107FB00001010101010101010101010101010101B1
+:107FC00001010101010101010101010101010101A1
+:107FD0000101010101010101010101010101010191
+:107FE0000101010101010101010101010101010181
+:107FF0000101010101010101010101010101010171
+:108000000101010101010101010101010101010160
+:108010000101010101010101010101010101010150
+:108020000101010101010101010101010101010140
+:108030000101010101010101010101010101010130
+:108040000101010101010101010101010101010120
+:108050000101010101010101010101010101010110
+:108060000101010101010101010101010101010100
+:1080700001010101010101010101010101010101F0
+:1080800001010101010101010101010101010101E0
+:1080900001010101010101010101010101010101D0
+:1080A00001010101010101010101010101010101C0
+:1080B00001010101010101010101010101010101B0
+:1080C00001010101010101010101010101010101A0
+:1080D0000101010101010101010101010101010190
+:1080E0000101010101010101010101010101010180
+:1080F0000101010101010101010101010101010170
+:10810000010101010101010101010101010101015F
+:10811000010101010101010101010101010101014F
+:10812000010101010101010101010101010101013F
+:10813000010101010101010101010101010101012F
+:10814000010101010101010101010101010101011F
+:10815000010101010101010101010101010101010F
+:1081600001010101010101010101010101010101FF
+:1081700001010101010101010101010101010101EF
+:1081800001010101010101010101010101010101DF
+:1081900001010101010101010101010101010101CF
+:1081A00001010101010101010101010101010101BF
+:1081B00001010101010101010101010101010101AF
+:1081C000010101010101010101010101010101019F
+:1081D000010101010101010101010101010101018F
+:1081E000010101010101010101010101010101017F
+:1081F000010101010101010101010101010101016F
+:10820000010101010101010101010101010101015E
+:10821000010101010101010101010101010101014E
+:10822000010101010101010101010101010101013E
+:10823000010101010101010101010101010101012E
+:10824000010101010101010101010101010101011E
+:10825000010101010101010101010101010101010E
+:1082600001010101010101010101010101010101FE
+:1082700001010101010101010101010101010101EE
+:1082800001010101010101010101010101010101DE
+:1082900001010101010101010101010101010101CE
+:1082A00001010101010101010101010101010101BE
+:1082B00001010101010101010101010101010101AE
+:1082C000010101010101010101010101010101019E
+:1082D000010101010101010101010101010101018E
+:1082E000010101010101010101010101010101017E
+:1082F000010101010101010101010101010101016E
+:10830000010101010101010101010101010101015D
+:10831000010101010101010101010101010101014D
+:10832000010101010101010101010101010101013D
+:10833000010101010101010101010101010101012D
+:10834000010101010101010101010101010101011D
+:10835000010101010101010101010101010101010D
+:1083600001010101010101010101010101010101FD
+:1083700001010101010101010101010101010101ED
+:1083800001010101010101010101010101010101DD
+:1083900001010101010101010101010101010101CD
+:1083A00001010101010101010101010101010101BD
+:1083B00001010101010101010101010101010101AD
+:1083C000010101010101010101010101010101019D
+:1083D000010101010101010101010101010101018D
+:1083E000010101010101010101010101010101017D
+:1083F000010101010101010101010101010101016D
+:10840000010101010101010101010101010101015C
+:10841000010101010101010101010101010101014C
+:10842000010101010101010101010101010101013C
+:10843000010101010101010101010101010101012C
+:10844000010101010101010101010101010101011C
+:10845000010101010101010101010101010101010C
+:1084600001010101010101010101010101010101FC
+:1084700001010101010101010101010101010101EC
+:1084800001010101010101010101010101010101DC
+:1084900001010101010101010101010101010101CC
+:1084A00001010101010101010101010101010101BC
+:1084B00001010101010101010101010101010101AC
+:1084C000010101010101010101010101010101019C
+:1084D000010101010101010101010101010101018C
+:1084E000010101010101010101010101010101017C
+:1084F000010101010101010101010101010101016C
+:10850000010101010101010101010101010101015B
+:10851000010101010101010101010101010101014B
+:10852000010101010101010101010101010101013B
+:10853000010101010101010101010101010101012B
+:10854000010101010101010101010101010101011B
+:10855000010101010101010101010101010101010B
+:1085600001010101010101010101010101010101FB
+:1085700001010101010101010101010101010101EB
+:1085800001010101010101010101010101010101DB
+:1085900001010101010101010101010101010101CB
+:1085A00001010101010101010101010101010101BB
+:1085B00001010101010101010101010101010101AB
+:1085C000010101010101010101010101010101019B
+:1085D000010101010101010101010101010101018B
+:1085E000010101010101010101010101010101017B
+:1085F000010101010101010101010101010101016B
+:10860000010101010101010101010101010101015A
+:10861000010101010101010101010101010101014A
+:10862000010101010101010101010101010101013A
+:10863000010101010101010101010101010101012A
+:10864000010101010101010101010101010101011A
+:10865000010101010101010101010101010101010A
+:1086600001010101010101010101010101010101FA
+:1086700001010101010101010101010101010101EA
+:1086800001010101010101010101010101010101DA
+:1086900001010101010101010101010101010101CA
+:1086A00001010101010101010101010101010101BA
+:1086B00001010101010101010101010101010101AA
+:1086C000010101010101010101010101010101019A
+:1086D000010101010101010101010101010101018A
+:1086E000010101010101010101010101010101017A
+:1086F000010101010101010101010101010101016A
+:108700000101010101010101010101010101010159
+:108710000101010101010101010101010101010149
+:108720000101010101010101010101010101010139
+:108730000101010101010101010101010101010129
+:108740000101010101010101010101010101010119
+:108750000101010101010101010101010101010109
+:1087600001010101010101010101010101010101F9
+:1087700001010101010101010101010101010101E9
+:1087800001010101010101010101010101010101D9
+:1087900001010101010101010101010101010101C9
+:1087A00001010101010101010101010101010101B9
+:1087B00001010101010101010101010101010101A9
+:1087C0000101010101010101010101010101010199
+:1087D0000101010101010101010101010101010189
+:1087E0000101010101010101010101010101010179
+:1087F0000101010101010101010101010101010169
+:108800000101010101010101010101010101010158
+:108810000101010101010101010101010101010148
+:108820000101010101010101010101010101010138
+:108830000101010101010101010101010101010128
+:108840000101010101010101010101010101010118
+:108850000101010101010101010101010101010108
+:1088600001010101010101010101010101010101F8
+:1088700001010101010101010101010101010101E8
+:1088800001010101010101010101010101010101D8
+:1088900001010101010101010101010101010101C8
+:1088A00001010101010101010101010101010101B8
+:1088B00001010101010101010101010101010101A8
+:1088C0000101010101010101010101010101010198
+:1088D0000101010101010101010101010101010188
+:1088E0000101010101010101010101010101010178
+:1088F0000101010101010101010101010101010168
+:108900000101010101010101010101010101010157
+:108910000101010101010101010101010101010147
+:108920000101010101010101010101010101010137
+:108930000101010101010101010101010101010127
+:108940000101010101010101010101010101010117
+:108950000101010101010101010101010101010107
+:1089600001010101010101010101010101010101F7
+:1089700001010101010101010101010101010101E7
+:1089800001010101010101010101010101010101D7
+:1089900001010101010101010101010101010101C7
+:1089A00001010101010101010101010101010101B7
+:1089B00001010101010101010101010101010101A7
+:1089C0000101010101010101010101010101010197
+:1089D0000101010101010101010101010101010187
+:1089E0000101010101010101010101010101010177
+:1089F0000101010101010101010101010101010167
+:108A00000101010101010101010101010101010156
+:108A10000101010101010101010101010101010146
+:108A20000101010101010101010101010101010136
+:108A30000101010101010101010101010101010126
+:108A40000101010101010101010101010101010116
+:108A50000101010101010101010101010101010106
+:108A600001010101010101010101010101010101F6
+:108A700001010101010101010101010101010101E6
+:108A800001010101010101010101010101010101D6
+:108A900001010101010101010101010101010101C6
+:108AA00001010101010101010101010101010101B6
+:108AB00001010101010101010101010101010101A6
+:108AC0000101010101010101010101010101010196
+:108AD0000101010101010101010101010101010186
+:108AE0000101010101010101010101010101010176
+:108AF0000101010101010101010101010101010166
+:108B00000101010101010101010101010101010155
+:108B10000101010101010101010101010101010145
+:108B20000101010101010101010101010101010135
+:108B30000101010101010101010101010101010125
+:108B40000101010101010101010101010101010115
+:108B50000101010101010101010101010101010105
+:108B600001010101010101010101010101010101F5
+:108B700001010101010101010101010101010101E5
+:108B800001010101010101010101010101010101D5
+:108B900001010101010101010101010101010101C5
+:108BA00001010101010101010101010101010101B5
+:108BB00001010101010101010101010101010101A5
+:108BC0000101010101010101010101010101010195
+:108BD0000101010101010101010101010101010185
+:108BE0000101010101010101010101010101010175
+:108BF0000101010101010101010101010101010165
+:108C00000101010101010101010101010101010154
+:108C10000101010101010101010101010101010144
+:108C20000101010101010101010101010101010134
+:108C30000101010101010101010101010101010124
+:108C40000101010101010101010101010101010114
+:108C50000101010101010101010101010101010104
+:108C600001010101010101010101010101010101F4
+:108C700001010101010101010101010101010101E4
+:108C800001010101010101010101010101010101D4
+:108C900001010101010101010101010101010101C4
+:108CA00001010101010101010101010101010101B4
+:108CB00001010101010101010101010101010101A4
+:108CC0000101010101010101010101010101010194
+:108CD0000101010101010101010101010101010184
+:108CE0000101010101010101010101010101010174
+:108CF0000101010101010101010101010101010164
+:108D00000101010101010101010101010101010153
+:108D10000101010101010101010101010101010143
+:108D20000101010101010101010101010101010133
+:108D30000101010101010101010101010101010123
+:108D40000101010101010101010101010101010113
+:108D50000101010101010101010101010101010103
+:108D600001010101010101010101010101010101F3
+:108D700001010101010101010101010101010101E3
+:108D800001010101010101010101010101010101D3
+:108D900001010101010101010101010101010101C3
+:108DA00001010101010101010101010101010101B3
+:108DB00001010101010101010101010101010101A3
+:108DC0000101010101010101010101010101010193
+:108DD0000101010101010101010101010101010183
+:108DE0000101010101010101010101010101010173
+:108DF0000101010101010101010101010101010163
+:108E00000101010101010101010101010101010152
+:108E10000101010101010101010101010101010142
+:108E20000101010101010101010101010101010132
+:108E30000101010101010101010101010101010122
+:108E40000101010101010101010101010101010112
+:108E50000101010101010101010101010101010102
+:108E600001010101010101010101010101010101F2
+:108E700001010101010101010101010101010101E2
+:108E800001010101010101010101010101010101D2
+:108E900001010101010101010101010101010101C2
+:108EA00001010101010101010101010101010101B2
+:108EB00001010101010101010101010101010101A2
+:108EC0000101010101010101010101010101010192
+:108ED0000101010101010101010101010101010182
+:108EE0000101010101010101010101010101010172
+:108EF0000101010101010101010101010101010162
+:108F00000101010101010101010101010101010151
+:108F10000101010101010101010101010101010141
+:108F20000101010101010101010101010101010131
+:108F30000101010101010101010101010101010121
+:108F40000101010101010101010101010101010111
+:108F50000101010101010101010101010101010101
+:108F600001010101010101010101010101010101F1
+:108F700001010101010101010101010101010101E1
+:108F800001010101010101010101010101010101D1
+:108F900001010101010101010101010101010101C1
+:108FA00001010101010101010101010101010101B1
+:108FB00001010101010101010101010101010101A1
+:108FC0000101010101010101010101010101010191
+:108FD0000101010101010101010101010101010181
+:108FE0000101010101010101010101010101010171
+:108FF0000101010101010101010101010101010161
+:109000000101010101010101010101010101010150
+:109010000101010101010101010101010101010140
+:109020000101010101010101010101010101010130
+:109030000101010101010101010101010101010120
+:109040000101010101010101010101010101010110
+:109050000101010101010101010101010101010100
+:1090600001010101010101010101010101010101F0
+:1090700001010101010101010101010101010101E0
+:1090800001010101010101010101010101010101D0
+:1090900001010101010101010101010101010101C0
+:1090A00001010101010101010101010101010101B0
+:1090B00001010101010101010101010101010101A0
+:1090C0000101010101010101010101010101010190
+:1090D0000101010101010101010101010101010180
+:1090E0000101010101010101010101010101010170
+:1090F0000101010101010101010101010101010160
+:10910000010101010101010101010101010101014F
+:10911000010101010101010101010101010101013F
+:10912000010101010101010101010101010101012F
+:10913000010101010101010101010101010101011F
+:10914000010101010101010101010101010101010F
+:1091500001010101010101010101010101010101FF
+:1091600001010101010101010101010101010101EF
+:1091700001010101010101010101010101010101DF
+:1091800001010101010101010101010101010101CF
+:1091900001010101010101010101010101010101BF
+:1091A00001010101010101010101010101010101AF
+:1091B000010101010101010101010101010101019F
+:1091C000010101010101010101010101010101018F
+:1091D000010101010101010101010101010101017F
+:1091E0000101010101010100000000000000000078
+:1091F000000000000000000000000000000000006F
+:10920000000000000000000000000000000000005E
+:10921000000000000000000000000000000000004E
+:10922000000000000000000000000000000000003E
+:10923000000000000000000000000000000000002E
+:10924000000000000000000000000000000000001E
+:10925000000000000000000000000000000000000E
+:1092600000000000000000000000000000000000FE
+:1092700000000000000000000000000000000000EE
+:1092800000000000000000000000000000000000DE
+:1092900000000000000000000000000000000000CE
+:1092A00000000000000000000000000000000000BE
+:1092B00000000000000000000000000000000000AE
+:1092C000000000000000000000000000000000009E
+:1092D000000000000000000000000000000000008E
+:1092E000000000000000000000000000000000007E
+:1092F000000000000000000000000000000000006E
+:10930000000000000000000000000000000000005D
+:10931000000000000000000000000000000000004D
+:10932000000000000000000000000000000000003D
+:10933000000000000000000000000000000000002D
+:10934000000000000000000000000000000000001D
+:10935000000000000000000000000000000000000D
+:1093600000000000000000000000000000000000FD
+:1093700000000000000000000000000000000000ED
+:1093800000000000000000000000000000000000DD
+:1093900000000000000000000000000000000000CD
+:1093A00000000000000000000000000000000000BD
+:1093B00000000000000000000000000000000000AD
+:1093C000000000000000000000000000000000009D
+:1093D000000000000000000000000000000000008D
+:1093E000000000000000000000000000000000007D
+:1093F000000000000000000000000000000000006D
+:10940000000000000000000000000000000000005C
+:10941000000000000000000000000000000000004C
+:10942000000000000000000000000000000000003C
+:10943000000000000000000000000000000000002C
+:10944000000000000000000000000000000000001C
+:10945000000000000000000000000000000000000C
+:1094600000000000000000000000000000000000FC
+:1094700000000000000000000000000000000000EC
+:1094800000000000000000000000000000000000DC
+:1094900000000000000000000000000000000000CC
+:1094A00000000000000000000000000000000000BC
+:1094B00000000000000000000000000000000000AC
+:1094C000000000000000000000000000000000009C
+:1094D000000000000000000000000000000000008C
+:1094E000000000000000000000000000000000007C
+:1094F000000000000000000000000000000000006C
+:10950000000000000000000000000000000000005B
+:10951000000000000000000000000000000000004B
+:10952000000000000000000000000000000000003B
+:10953000000000000000000000000000000000002B
+:10954000000000000000000000000000000000001B
+:10955000000000000000000000000000000000000B
+:1095600000000000000000000000000000000000FB
+:1095700000000000000000000000000000000000EB
+:1095800000000000000000000000000000000000DB
+:1095900000000000000000000000000000000000CB
+:1095A00000000000000000000000000000000000BB
+:1095B00000000000000000000000000000000000AB
+:1095C000000000000000000000000000000000009B
+:1095D000000000000000000000000000000000008B
+:1095E0000000000000000002020202020202020269
+:1095F000020202020202020202020202020202024B
+:10960000020202020202020202020202020202023A
+:10961000020202020202020202020202020202022A
+:10962000020202020202020202020202020202021A
+:10963000020202020202020202020202020202020A
+:1096400002020202020202020202020202020202FA
+:1096500002020202020202020202020202020202EA
+:1096600002020202020202020202020202020202DA
+:1096700002020202020202020202020202020202CA
+:1096800002020202020202020202020202020202BA
+:1096900002020202020202020202020202020202AA
+:1096A000020202020202020202020202020202029A
+:1096B000020202020202020202020202020202028A
+:1096C000020202020202020202020202020202027A
+:1096D000020202020202020202020202020202026A
+:1096E000020202020202020202020202020202025A
+:1096F000020202020202020202020202020202024A
+:109700000202020202020202020202020202020239
+:109710000202020202020202020202020202020229
+:109720000202020202020202020202020202020219
+:109730000202020202020202020202020202020209
+:1097400002020202020202020202020202020202F9
+:1097500002020202020202020202020202020202E9
+:1097600002020202020202020202020202020202D9
+:1097700002020202020202020202020202020202C9
+:1097800002020202020202020202020202020202B9
+:1097900002020202020202020202020202020202A9
+:1097A0000202020202020202020202020202020299
+:1097B0000202020202020202020202020202020289
+:1097C0000202020202020202020202020202020279
+:1097D0000202020202020202020202020202020269
+:1097E0000202020202020202020202020202020259
+:1097F0000202020202020202020202020202020249
+:109800000202020202020202020202020202020238
+:109810000202020202020202020202020202020228
+:109820000202020202020202020202020202020218
+:109830000202020202020202020202020202020208
+:1098400002020202020202020202020202020202F8
+:1098500002020202020202020202020202020202E8
+:1098600002020202020202020202020202020202D8
+:1098700002020202020202020202020202020202C8
+:1098800002020202020202020202020202020202B8
+:1098900002020202020202020202020202020202A8
+:1098A0000202020202020202020202020202020298
+:1098B0000202020202020202020202020202020288
+:1098C0000202020202020202020202020202020278
+:1098D0000202020202020202020202020202020268
+:1098E0000202020202020202020202020202020258
+:1098F0000202020202020202020202020202020248
+:109900000202020202020202020202020202020237
+:109910000202020202020202020202020202020227
+:109920000202020202020202020202020202020217
+:109930000202020202020202020202020202020207
+:1099400002020202020202020202020202020202F7
+:1099500002020202020202020202020202020202E7
+:1099600002020202020202020202020202020202D7
+:1099700002020202020202020202020202020202C7
+:1099800002020202020202020202020202020202B7
+:1099900002020202020202020202020202020202A7
+:1099A0000202020202020202020202020202020297
+:1099B0000202020202020202020202020202020287
+:1099C0000202020202020202020202020202020277
+:1099D0000202020202020202020202020202020267
+:1099E0000202020202020202020202020202020257
+:1099F0000202020202020202020202020202020247
+:109A00000202020202020202020202020202020236
+:109A10000202020202020202020202020202020226
+:109A20000202020202020202020202020202020216
+:109A30000202020202020202020202020202020206
+:109A400002020202020202020202020202020202F6
+:109A500002020202020202020202020202020202E6
+:109A600002020202020202020202020202020202D6
+:109A700002020202020202020202020202020202C6
+:109A800002020202020202020202020202020202B6
+:109A900002020202020202020202020202020202A6
+:109AA0000202020202020202020202020202020296
+:109AB0000202020202020202020202020202020286
+:109AC0000202020202020202020202020202020276
+:109AD0000202020202020202020202020202020266
+:109AE0000202020202020202020202020202020256
+:109AF0000202020202020202020202020202020246
+:109B00000202020202020202020202020202020235
+:109B10000202020202020202020202020202020225
+:109B20000202020202020202020202020202020215
+:109B30000202020202020202020202020202020205
+:109B400002020202020202020202020202020202F5
+:109B500002020202020202020202020202020202E5
+:109B600002020202020202020202020202020202D5
+:109B700002020202020202020202020202020202C5
+:109B800002020202020202020202020202020202B5
+:109B900002020202020202020202020202020202A5
+:109BA0000202020202020202020202020202020295
+:109BB0000202020202020202020202020202020285
+:109BC0000202020202020202020202020202020275
+:109BD0000202020202020202020202020202020265
+:109BE0000202020202020202020202020202020255
+:109BF0000202020202020202020202020202020245
+:109C00000202020202020202020202020202020234
+:109C10000202020202020202020202020202020224
+:109C20000202020202020202020202020202020214
+:109C30000202020202020202020202020202020204
+:109C400002020202020202020202020202020202F4
+:109C500002020202020202020202020202020202E4
+:109C600002020202020202020202020202020202D4
+:109C700002020202020202020202020202020202C4
+:109C800002020202020202020202020202020202B4
+:109C900002020202020202020202020202020202A4
+:109CA0000202020202020202020202020202020294
+:109CB0000202020202020202020202020202020284
+:109CC0000202020202020202020202020202020274
+:109CD0000202020202020202020202020202020264
+:109CE0000202020202020202020202020202020254
+:109CF0000202020202020202020202020202020244
+:109D00000202020202020202020202020202020233
+:109D10000202020202020202020202020202020223
+:109D20000202020202020202020202020202020213
+:109D30000202020202020202020202020202020203
+:109D400002020202020202020202020202020202F3
+:109D500002020202020202020202020202020202E3
+:109D600002020202020202020202020202020202D3
+:109D700002020202020202020202020202020202C3
+:109D800002020202020202020202020202020202B3
+:109D900002020202020202020202020202020202A3
+:109DA0000202020202020202020202020202020293
+:109DB0000202020202020202020202020202020283
+:109DC0000202020202020202020202020202020273
+:109DD0000202020202020202020202020202020263
+:109DE0000202020202020202020202020202020253
+:109DF0000202020202020202020202020202020243
+:109E00000202020202020202020202020202020232
+:109E10000202020202020202020202020202020222
+:109E20000202020202020202020202020202020212
+:109E30000202020202020202020202020202020202
+:109E400002020202020202020202020202020202F2
+:109E500002020202020202020202020202020202E2
+:109E600002020202020202020202020202020202D2
+:109E700002020202020202020202020202020202C2
+:109E800002020202020202020202020202020202B2
+:109E900002020202020202020202020202020202A2
+:109EA0000202020202020202020202020202020292
+:109EB0000202020202020202020202020202020282
+:109EC0000202020202020202020202020202020272
+:109ED0000202020202020202020202020202020262
+:109EE0000202020202020202020202020202020252
+:109EF0000202020202020202020202020202020242
+:109F00000202020202020202020202020202020231
+:109F10000202020202020202020202020202020221
+:109F20000202020202020202020202020202020211
+:109F30000202020202020202020202020202020201
+:109F400002020202020202020202020202020202F1
+:109F500002020202020202020202020202020202E1
+:109F600002020202020202020202020202020202D1
+:109F700002020202020202020202020202020202C1
+:109F800002020202020202020202020202020202B1
+:109F900002020202020202020202020202020202A1
+:109FA0000202020202020202020202020202020291
+:109FB0000202020202020202020202020202020281
+:109FC0000202020202020202020202020202020271
+:109FD0000202020202020202020202020202020261
+:109FE0000202020202020202020202020202020251
+:109FF0000202020202020202020202020202020241
+:10A000000202020202020202020202020202020230
+:10A010000202020202020202020202020202020220
+:10A020000202020202020202020202020202020210
+:10A030000202020202020202020202020202020200
+:10A0400002020202020202020202020202020202F0
+:10A0500002020202020202020202020202020202E0
+:10A0600002020202020202020202020202020202D0
+:10A0700002020202020202020202020202020202C0
+:10A0800002020202020202020202020202020202B0
+:10A0900002020202020202020202020202020202A0
+:10A0A0000202020202020202020202020202020290
+:10A0B0000202020202020202020202020202020280
+:10A0C0000202020202020202020202020202020270
+:10A0D0000202020202020202020202020202020260
+:10A0E0000202020202020202020202020202020250
+:10A0F0000202020202020202020202020202020240
+:10A10000020202020202020202020202020202022F
+:10A11000020202020202020202020202020202021F
+:10A12000020202020202020202020202020202020F
+:10A1300002020202020202020202020202020202FF
+:10A1400002020202020202020202020202020202EF
+:10A1500002020202020202020202020202020202DF
+:10A1600002020202020202020202020202020202CF
+:10A1700002020202020202020202020202020202BF
+:10A1800002020202020202020202020202020202AF
+:10A19000020202020202020202020202020202029F
+:10A1A000020202020202020202020202020202028F
+:10A1B000020202020202020202020202020202027F
+:10A1C000020202020202020202020202020202026F
+:10A1D000020202020202020202020202020202025F
+:10A1E000020202020202020202020202020202024F
+:10A1F000020202020202020202020202020202023F
+:10A20000020202020202020202020202020202022E
+:10A21000020202020202020202020202020202021E
+:10A22000020202020202020202020202020202020E
+:10A2300002020202020202020202020202020202FE
+:10A2400002020202020202020202020202020202EE
+:10A2500002020202020202020202020202020202DE
+:10A2600002020202020202020202020202020202CE
+:10A2700002020202020202020202020202020202BE
+:10A2800002020202020202020202020202020202AE
+:10A29000020202020202020202020202020202029E
+:10A2A000020202020202020202020202020202028E
+:10A2B000020202020202020202020202020202027E
+:10A2C000020202020202020202020202020202026E
+:10A2D000020202020202020202020202020202025E
+:10A2E000020202020202020202020202020202024E
+:10A2F000020202020202020202020202020202023E
+:10A30000020202020202020202020202020202022D
+:10A31000020202020202020202020202020202021D
+:10A32000020202020202020202020202020202020D
+:10A3300002020202020202020202020202020202FD
+:10A3400002020202020202020202020202020202ED
+:10A3500002020202020202020202020202020202DD
+:10A3600002020202020202020202020202020202CD
+:10A3700002020202020202020202020202020202BD
+:10A3800002020202020202020202020202020202AD
+:10A39000020202020202020202020202020202029D
+:10A3A000020202020202020202020202020202028D
+:10A3B000020202020202020202020202020202027D
+:10A3C000020202020202020202020202020202026D
+:10A3D000020202020202020202020202020202025D
+:10A3E000020202020202020202020202020202024D
+:10A3F000020202020202020202020202020202023D
+:10A40000020202020202020202020202020202022C
+:10A41000020202020202020202020202020202021C
+:10A42000020202020202020202020202020202020C
+:10A4300002020202020202020202020202020202FC
+:10A4400002020202020202020202020202020202EC
+:10A4500002020202020202020202020202020202DC
+:10A4600002020202020202020202020202020202CC
+:10A4700002020202020202020202020202020202BC
+:10A4800002020202020202020202020202020202AC
+:10A49000020202020202020202020202020202029C
+:10A4A000020202020202020202020202020202028C
+:10A4B000020202020202020202020202020202027C
+:10A4C000020202020202020202020202020202026C
+:10A4D000020202020202020202020202020202025C
+:10A4E000020202020202020202020202020202024C
+:10A4F000020202020202020202020202020202023C
+:10A50000020202020202020202020202020202022B
+:10A51000020202020202020202020202020202021B
+:10A52000020202020202020202020202020202020B
+:10A5300002020202020202020202020202020202FB
+:10A5400002020202020202020202020202020202EB
+:10A5500002020202020202020202020202020202DB
+:10A5600002020202020202020202020202020202CB
+:10A5700002020202020202020202020202020202BB
+:10A5800002020202020202020202020202020202AB
+:10A59000020202020202020202020202020202029B
+:10A5A000020202020202020202020202020202028B
+:10A5B000020202020202020202020202020202027B
+:10A5C000020202020202020202020202020202026B
+:10A5D000020202020202020202020202020202025B
+:10A5E000020202020202020202020202020202024B
+:10A5F000020202020202020202020202020202023B
+:10A60000020202020202020202020202020202022A
+:10A61000020202020202020202020202020202021A
+:10A62000020202020202020202020202020202020A
+:10A6300002020202020202020202020202020202FA
+:10A6400002020202020202020202020202020202EA
+:10A6500002020202020202020202020202020202DA
+:10A6600002020202020202020202020202020202CA
+:10A6700002020202020202020202020202020202BA
+:10A6800002020202020202020202020202020202AA
+:10A69000020202020202020202020202020202029A
+:10A6A000020202020202020202020202020202028A
+:10A6B000020202020202020202020202020202027A
+:10A6C000020202020202020202020202020202026A
+:10A6D000020202020202020202020202020202025A
+:10A6E000020202020202020202020202020202024A
+:10A6F000020202020202020202020202020202023A
+:10A700000202020202020202020202020202020229
+:10A710000202020202020202020202020202020219
+:10A720000202020202020202020202020202020209
+:10A7300002020202020202020202020202020202F9
+:10A7400002020202020202020202020202020202E9
+:10A7500002020202020202020202020202020202D9
+:10A7600002020202020202020202020202020202C9
+:10A7700002020202020202020202020202020202B9
+:10A7800002020202020202020202020202020202A9
+:10A790000202020202020202020202020202020299
+:10A7A0000202020202020202020202020202020289
+:10A7B0000202020202020202020202020202020279
+:10A7C0000202020202020202020202020202020269
+:10A7D0000202020202020202020202020202020259
+:10A7E0000202020202020202020202020202020249
+:10A7F0000202020202020202020202020202020239
+:10A800000202020202020202020202020202020228
+:10A810000202020202020202020202020202020218
+:10A820000202020202020202020202020202020208
+:10A8300002020202020202020202020202020202F8
+:10A8400002020202020202020202020202020202E8
+:10A8500002020202020202020202020202020202D8
+:10A8600002020202020202020202020202020202C8
+:10A8700002020202020202020202020202020202B8
+:10A8800002020202020202020202020202020202A8
+:10A890000202020202020202020202020202020298
+:10A8A0000202020202020202020202020202020288
+:10A8B0000202020202020202020202020202020278
+:10A8C0000202020202020202020202020202020268
+:10A8D0000202020202020202020202020202020258
+:10A8E0000202020202020202020202020202020248
+:10A8F0000202020202020202020202020202020238
+:10A900000202020202020202020202020202020227
+:10A910000202020202020202020202020202020217
+:10A920000202020202020202020202020202020207
+:10A9300002020202020202020202020202020202F7
+:10A9400002020202020202020202020202020202E7
+:10A9500002020202020202020202020202020202D7
+:10A9600002020202020202020202020202020202C7
+:10A9700002020202020202020202020202020202B7
+:10A9800002020202020202020202020202020202A7
+:10A990000202020202020202020202020202020297
+:10A9A0000202020202020202020202020202020287
+:10A9B0000202020202020202020202020202020277
+:10A9C0000202020202020202020202020202020267
+:10A9D0000202020202020202020202020202020257
+:10A9E0000202020202020202020202020202020247
+:10A9F0000202020202020202020202020202020237
+:10AA00000202020202020202020202020202020226
+:10AA10000202020202020202020202020202020216
+:10AA20000202020202020202020202020202020206
+:10AA300002020202020202020202020202020202F6
+:10AA400002020202020202020202020202020202E6
+:10AA500002020202020202020202020202020202D6
+:10AA600002020202020202020202020202020202C6
+:10AA700002020202020202020202020202020202B6
+:10AA800002020202020202020202020202020202A6
+:10AA90000202020202020202020202020202020296
+:10AAA0000202020202020202020202020202020286
+:10AAB0000202020202020202020202020202020276
+:10AAC0000202020202020202020202020202020266
+:10AAD0000202020202020202020202020202020256
+:10AAE0000202020202020202020202020202020246
+:10AAF0000202020202020202020202020202020236
+:10AB00000202020202020202020202020202020225
+:10AB10000202020202020202020202020202020215
+:10AB20000202020202020202020202020202020205
+:10AB300002020202020202020202020202020202F5
+:10AB400002020202020202020202020202020202E5
+:10AB500002020202020202020202020202020202D5
+:10AB600002020202020202020202020202020202C5
+:10AB700002020202020202020202020202020202B5
+:10AB800002020202020202020202020202020202A5
+:10AB90000202020202020202020202020202020295
+:10ABA0000202020202020202020202020202020285
+:10ABB0000202020202020202020202020202020275
+:10ABC0000202020202020202020202020202020265
+:10ABD0000202020202020202020202020202020255
+:10ABE0000202020202020202020202020202020245
+:10ABF0000202020202020202020202020202020235
+:10AC00000202020202020202020202020202020224
+:10AC10000202020202020202020202020202020214
+:10AC20000202020202020202020202020202020204
+:10AC300002020202020202020202020202020202F4
+:10AC400002020202020202020202020202020202E4
+:10AC500002020202020202020202020202020202D4
+:10AC600002020202020202020202020202020202C4
+:10AC700002020202020202020202020202020202B4
+:10AC800002020202020202020202020202020202A4
+:10AC90000202020202020202020202020202020294
+:10ACA0000202020202020202020202020202020284
+:10ACB0000202020202020202020202020202020274
+:10ACC0000202020202020202020202020202020264
+:10ACD0000202020202020202020202020202020254
+:10ACE0000202020202020202020202020202020244
+:10ACF0000202020202020202020202020202020234
+:10AD00000202020202020202020202020202020223
+:10AD10000202020202020202020202020202020213
+:10AD20000202020202020202020202020202020203
+:10AD300002020202020202020202020202020202F3
+:10AD400002020202020202020202020202020202E3
+:10AD500002020202020202020202020202020202D3
+:10AD600002020202020202020202020202020202C3
+:10AD700002020202020202020202020202020202B3
+:10AD800002020202020202020202020202020202A3
+:10AD90000202020202020202020202020202020293
+:10ADA0000202020202020202020202020202020283
+:10ADB0000202020202020202020202020202020273
+:10ADC0000202020202020202020202020202020263
+:10ADD0000202020202020202020202020202020253
+:10ADE0000202020202020202020202020202020243
+:10ADF0000202020202020202020202020202020233
+:10AE00000202020202020202020202020202020222
+:10AE10000202020202020202020202020202020212
+:10AE20000202020202020202020202020202020202
+:10AE300002020202020202020202020202020202F2
+:10AE400002020202020202020202020202020202E2
+:10AE500002020202020202020202020202020202D2
+:10AE600002020202020202020202020202020202C2
+:10AE700002020202020202020202020202020202B2
+:10AE800002020202020202020202020202020202A2
+:10AE90000202020202020202020202020202020292
+:10AEA0000202020202020202020202020202020282
+:10AEB0000202020202020202020202020202020272
+:10AEC0000202020202020202020202020202020262
+:10AED0000202020202020202020202020202020252
+:10AEE0000202020202020202020202020202020242
+:10AEF0000202020202020202020202020202020232
+:10AF00000202020202020202020202020202020221
+:10AF10000202020202020202020202020202020211
+:10AF20000202020202020202020202020202020201
+:10AF300002020202020202020202020202020202F1
+:10AF400002020202020202020202020202020202E1
+:10AF500002020202020202020202020202020202D1
+:10AF600002020202020202020202020202020202C1
+:10AF700002020202020202020202020202020202B1
+:10AF800002020202020202020202020202020202A1
+:10AF90000202020202020202020202020202020291
+:10AFA0000202020202020202020202020202020281
+:10AFB0000202020202020202020202020202020271
+:10AFC0000202020202020202020202020202020261
+:10AFD0000202020202020202020202020202020251
+:10AFE0000202020202020202020202020202020241
+:10AFF0000202020202020202020202020202020231
+:10B000000202020202020202020202020202020220
+:10B010000202020202020202020202020202020210
+:10B020000202020202020202020202020202020200
+:10B0300002020202020202020202020202020202F0
+:10B0400002020202020202020202020202020202E0
+:10B0500002020202020202020202020202020202D0
+:10B0600002020202020202020202020202020202C0
+:10B0700002020202020202020202020202020202B0
+:10B0800002020202020202020202020202020202A0
+:10B090000202020202020202020202020202020290
+:10B0A0000202020202020202020202020202020280
+:10B0B0000202020202020202020202020202020270
+:10B0C0000202020202020202020202020202020260
+:10B0D0000202020202020202020202020202020250
+:10B0E0000202020202020202020202020202020240
+:10B0F0000202020202020202020202020202020230
+:10B10000020202020202020202020202020202021F
+:10B11000020202020202020202020202020202020F
+:10B1200002020202020202020202020202020202FF
+:10B1300002020202020202020202020202020202EF
+:10B1400002020202020202020202020202020202DF
+:10B1500002020202020202020202020202020202CF
+:10B1600002020202020202020202020202020202BF
+:10B1700002020202020202020202020202020202AF
+:10B18000020202020202020202020202020202029F
+:10B19000020202020202020202020202020202028F
+:10B1A000020202020202020202020202020202027F
+:10B1B000020202020202020202020202020202026F
+:10B1C000020202020202020202020202020202025F
+:10B1D000020202020202020202020202020202024F
+:10B1E000020202020202020202020202020202023F
+:10B1F000020202020202020202020202020202022F
+:10B20000020202020202020202020202020202021E
+:10B21000020202020202020202020202020202020E
+:10B2200002020202020202020202020202020202FE
+:10B2300002020202020202020202020202020202EE
+:10B2400002020202020202020202020202020202DE
+:10B2500002020202020202020202020202020202CE
+:10B2600002020202020202020202020202020202BE
+:10B2700002020202020202020202020202020202AE
+:10B28000020202020202020202020202020202029E
+:10B29000020202020202020202020202020202028E
+:10B2A000020202020202020202020202020202027E
+:10B2B000020202020202020202020202020202026E
+:10B2C000020202020202020202020202020202025E
+:10B2D000020202020202020202020202020202024E
+:10B2E000020202020202020202020202020202023E
+:10B2F000020202020202020202020202020202022E
+:10B30000020202020202020202020202020202021D
+:10B31000020202020202020202020202020202020D
+:10B3200002020202020202020202020202020202FD
+:10B3300002020202020202020202020202020202ED
+:10B3400002020202020202020202020202020202DD
+:10B3500002020202020202020202020202020202CD
+:10B3600002020202020202020202020202020202BD
+:10B3700002020202020202020202020202020202AD
+:10B38000020202020202020202020202020202029D
+:10B39000020202020202020202020202020202028D
+:10B3A000020202020202020202020202020202027D
+:10B3B000020202020202020202020202020202026D
+:10B3C000020202020202020202020202020202025D
+:10B3D000020202020202020202020202020202024D
+:10B3E000020202020202020202020202020202023D
+:10B3F000020202020202020202020202020202022D
+:10B40000020202020202020202020202020202021C
+:10B41000020202020202020202020202020202020C
+:10B4200002020202020202020202020202020202FC
+:10B4300002020202020202020202020202020202EC
+:10B4400002020202020202020202020202020202DC
+:10B4500002020202020202020202020202020202CC
+:10B4600002020202020202020202020202020202BC
+:10B4700002020202020202020202020202020202AC
+:10B48000020202020202020202020202020202029C
+:10B49000020202020202020202020202020202028C
+:10B4A000020202020202020202020202020202027C
+:10B4B000020202020202020202020202020202026C
+:10B4C000020202020202020202020202020202025C
+:10B4D000020202020202020202020202020202024C
+:10B4E000020202020202020202020202020202023C
+:10B4F000020202020202020202020202020202022C
+:10B50000020202020202020202020202020202021B
+:10B51000020202020202020202020202020202020B
+:10B5200002020202020202020202020202020202FB
+:10B5300002020202020202020202020202020202EB
+:10B5400002020202020202020202020202020202DB
+:10B5500002020202020202020202020202020202CB
+:10B5600002020202020202020202020202020202BB
+:10B5700002020202020202020202020202020202AB
+:10B58000020202020202020202020202020202029B
+:10B59000020202020202020202020202020202028B
+:10B5A000020202020202020202020202020202027B
+:10B5B000020202020202020202020202020202026B
+:10B5C000020202020202020202020202020202025B
+:10B5D000020202020202020202020202020202024B
+:10B5E000020202020202020202020202020202023B
+:10B5F000020202020202020202020202020202022B
+:10B60000020202020202020202020202020202021A
+:10B61000020202020202020202020202020202020A
+:10B6200002020202020202020202020202020202FA
+:10B6300002020202020202020202020202020202EA
+:10B6400002020202020202020202020202020202DA
+:10B6500002020202020202020202020202020202CA
+:10B6600002020202020202020202020202020202BA
+:10B6700002020202020202020202020202020202AA
+:10B68000020202020202020202020202020202029A
+:10B69000020202020202020202020202020202028A
+:10B6A000020202020202020202020202020202027A
+:10B6B000020202020202020202020202020202026A
+:10B6C000020202020202020202020202020202025A
+:10B6D000020202020202020202020202020202024A
+:10B6E000020202020202020202020202020202023A
+:10B6F000020202020202020202020202020202022A
+:10B700000202020202020202020202020202020219
+:10B710000202020202020202020202020202020209
+:10B7200002020202020202020202020202020202F9
+:10B7300002020202020202020202020202020202E9
+:10B7400002020202020202020202020202020202D9
+:10B7500002020202020202020202020202020202C9
+:10B7600002020202020202020202020202020202B9
+:10B7700002020202020202020202020202020202A9
+:10B780000202020202020202020202020202020299
+:10B790000202020202020202020202020202020289
+:10B7A0000202020202020202020202020202020279
+:10B7B0000202020202020202020202020202020269
+:10B7C0000202020202020202020202020202020259
+:10B7D0000202020202020202020202020202020249
+:10B7E0000202020202020202020202020202020239
+:10B7F0000202020202020202020202020202020229
+:10B800000202020202020202020202020202020218
+:10B810000202020202020202020202020202020208
+:10B8200002020202020202020202020202020202F8
+:10B8300002020202020202020202020202020202E8
+:10B8400002020202020202020202020202020202D8
+:10B8500002020202020202020202020202020202C8
+:10B8600002020202020202020202020202020202B8
+:10B8700002020202020202020202020202020202A8
+:10B880000202020202020202020202020202020298
+:10B890000202020202020202020202020202020288
+:10B8A0000202020202020202020202020202020278
+:10B8B0000202020202020202020202020202020268
+:10B8C0000202020202020202020202020202020258
+:10B8D0000202020202020202020202020202020248
+:10B8E0000202020202020202020202020202020238
+:10B8F0000202020202020202020202020202020228
+:10B900000202020202020202020202020202020217
+:10B910000202020202020202020202020202020207
+:10B9200002020202020202020202020202020202F7
+:10B9300002020202020202020202020202020202E7
+:10B9400002020202020202020202020202020202D7
+:10B9500002020202020202020202020202020202C7
+:10B9600002020202020202020202020202020202B7
+:10B9700002020202020202020202020202020202A7
+:10B980000202020202020202020202020202020297
+:10B990000202020202020202020202020202020287
+:10B9A0000202020202020202020202020202020277
+:10B9B0000202020202020202020202020202020267
+:10B9C0000202020202020202020202020202020257
+:10B9D0000202020202020202020202020202020247
+:10B9E0000202020202020202020202020202020237
+:10B9F0000202020202020202020202020202020227
+:10BA00000202020202020202020202020202020216
+:10BA10000202020202020202020202020202020206
+:10BA200002020202020202020202020202020202F6
+:10BA300002020202020202020202020202020202E6
+:10BA400002020202020202020202020202020202D6
+:10BA500002020202020202020202020202020202C6
+:10BA600002020202020202020202020202020202B6
+:10BA700002020202020202020202020202020202A6
+:10BA80000202020202020202020202020202020296
+:10BA90000202020202020202020202020202020286
+:10BAA0000202020202020202020202020202020276
+:10BAB0000202020202020202020202020202020266
+:10BAC0000202020202020202020202020202020256
+:10BAD0000202020202020202020202020202020246
+:10BAE0000202020202020202020202020202020236
+:10BAF0000202020202020202020202020202020226
+:10BB00000202020202020202020202020202020215
+:10BB10000202020202020202020202020202020205
+:10BB200002020202020202020202020202020202F5
+:10BB300002020202020202020202020202020202E5
+:10BB400002020202020202020202020202020202D5
+:10BB500002020202020202020202020202020202C5
+:10BB600002020202020202020202020202020202B5
+:10BB700002020202020202020202020202020202A5
+:10BB80000202020202020202020202020202020295
+:10BB90000202020202020202020202020202020285
+:10BBA0000202020202020202020202020202020275
+:10BBB0000202020202020202020202020202020265
+:10BBC0000202020202020202020202020202020255
+:10BBD0000202020202020202020202020202020245
+:10BBE0000202020202020202020202020202020235
+:10BBF0000202020202020202020202020202020225
+:10BC00000202020202020202020202020202020214
+:10BC10000202020202020202020202020202020204
+:10BC200002020202020202020202020202020202F4
+:10BC300002020202020202020202020202020202E4
+:10BC400002020202020202020202020202020202D4
+:10BC500002020202020202020202020202020202C4
+:10BC600002020202020202020202020202020202B4
+:10BC700002020202020202020202020202020202A4
+:10BC80000202020202020202020202020202020294
+:10BC90000202020202020202020202020202020284
+:10BCA0000202020202020202020202020202020274
+:10BCB0000202020202020202020202020202020264
+:10BCC0000202020202020202020202020202020254
+:10BCD0000202020202020202020202020202020244
+:10BCE0000202020202020202020202020202020234
+:10BCF0000202020202020202020202020202020224
+:10BD00000202020202020202020202020202020213
+:10BD10000202020202020202020202020202020203
+:10BD200002020202020202020202020202020202F3
+:10BD300002020202020202020202020202020202E3
+:10BD400002020202020202020202020202020202D3
+:10BD500002020202020202020202020202020202C3
+:10BD600002020202020202020202020202020202B3
+:10BD700002020202020202020202020202020202A3
+:10BD80000202020202020202020202020202020293
+:10BD90000202020202020202020202020202020283
+:10BDA0000202020202020202020202020202020273
+:10BDB0000202020202020202020202020202020263
+:10BDC0000202020202020202020202020202020253
+:10BDD0000202020202020202020202020202020243
+:10BDE0000202020202020202020202020202020233
+:10BDF0000202020202020202020202020202020223
+:10BE00000202020202020202020202020202020212
+:10BE10000202020202020202020202020202020202
+:10BE200002020202020202020202020202020202F2
+:10BE300002020202020202020202020202020202E2
+:10BE400002020202020202020202020202020202D2
+:10BE500002020202020202020202020202020202C2
+:10BE600002020202020202020202020202020202B2
+:10BE700002020202020202020202020202020202A2
+:10BE80000202020202020202020202020202020292
+:10BE90000202020202020202020202020202020282
+:10BEA0000202020202020202020202020202020272
+:10BEB0000202020202020202020202020202020262
+:10BEC0000202020202020202020202020202020252
+:10BED0000202020202020202020202020202020242
+:10BEE0000202020202020202020202020202020232
+:10BEF0000202020202020202020202020202020222
+:10BF00000202020202020202020202020202020211
+:10BF10000202020202020202020202020202020201
+:10BF200002020202020202020202020202020202F1
+:10BF300002020202020202020202020202020202E1
+:10BF400002020202020202020202020202020202D1
+:10BF500002020202020202020202020202020202C1
+:10BF600002020202020202020202020202020202B1
+:10BF700002020202020202020202020202020202A1
+:10BF80000202020202020202020202020202020291
+:10BF90000202020202020202020202020202020281
+:10BFA0000202020202020202020202020202020271
+:10BFB0000202020202020202020202020202020261
+:10BFC0000202020202020202020202020202020251
+:10BFD0000202020202020202020202020202020241
+:10BFE0000202020202020202020202020202020231
+:10BFF0000202020202020202020202020202020221
+:10C000000202020202020202020202020202020210
+:10C010000202020202020202020202020202020200
+:10C0200002020202020202020202020202020202F0
+:10C0300002020202020202020202020202020202E0
+:10C0400002020202020202020202020202020202D0
+:10C0500002020202020202020202020202020202C0
+:10C0600002020202020202020202020202020202B0
+:10C0700002020202020202020202020202020202A0
+:10C080000202020202020202020202020202020290
+:10C090000202020202020202020202020202020280
+:10C0A0000202020202020202020202020202020270
+:10C0B0000202020202020202020202020202020260
+:10C0C0000202020202020202020202020202020250
+:10C0D0000202020202020202020202020202020240
+:10C0E0000202020202020202020202020202020230
+:10C0F0000202020202020202020202020202020220
+:10C10000020202020202020202020202020202020F
+:10C1100002020202020202020202020202020202FF
+:10C1200002020202020202020202020202020202EF
+:10C1300002020202020202020202020202020202DF
+:10C1400002020202020202020202020202020202CF
+:10C1500002020202020202020202020202020202BF
+:10C1600002020202020202020202020202020202AF
+:10C17000020202020202020202020202020202029F
+:10C18000020202020202020202020202020202028F
+:10C19000020202020202020202020202020202027F
+:10C1A000020202020202020202020202020202026F
+:10C1B000020202020202020202020202020202025F
+:10C1C000020202020202020202020202020202024F
+:10C1D000020202020202020202020202020202023F
+:10C1E000020202020202020202020202020202022F
+:10C1F000020202020202020202020202020202021F
+:10C20000020202020202020202020202020202020E
+:10C2100002020202020202020202020202020202FE
+:10C2200002020202020202020202020202020202EE
+:10C2300002020202020202020202020202020202DE
+:10C2400002020202020202020202020202020202CE
+:10C2500002020202020202020202020202020202BE
+:10C2600002020202020202020202020202020202AE
+:10C27000020202020202020202020202020202029E
+:10C28000020202020202020202020202020202028E
+:10C29000020202020202020202020202020202027E
+:10C2A000020202020202020202020202020202026E
+:10C2B000020202020202020202020202020202025E
+:10C2C000020202020202020202020202020202024E
+:10C2D000020202020202020202020202020202023E
+:10C2E000020202020202020202020202020202022E
+:10C2F000020202020202020202020202020202021E
+:10C30000020202020202020202020202020202020D
+:10C3100002020202020202020202020202020202FD
+:10C3200002020202020202020202020202020202ED
+:10C3300002020202020202020202020202020202DD
+:10C3400002020202020202020202020202020202CD
+:10C3500002020202020202020202020202020202BD
+:10C3600002020202020202020202020202020202AD
+:10C37000020202020202020202020202020202029D
+:10C38000020202020202020202020202020202028D
+:10C39000020202020202020202020202020202027D
+:10C3A000020202020202020202020202020202026D
+:10C3B000020202020202020202020202020202025D
+:10C3C000020202020202020202020202020202024D
+:10C3D000020202020202020202020202020202023D
+:10C3E000020202020202020202020202020202022D
+:10C3F000020202020202020202020202020202021D
+:10C40000020202020202020202020202020202020C
+:10C4100002020202020202020202020202020202FC
+:10C4200002020202020202020202020202020202EC
+:10C4300002020202020202020202020202020202DC
+:10C4400002020202020202020202020202020202CC
+:10C4500002020202020202020202020202020202BC
+:10C4600002020202020202020202020202020202AC
+:10C47000020202020202020202020202020202029C
+:10C48000020202020202020202020202020202028C
+:10C49000020202020202020202020202020202027C
+:10C4A000020202020202020202020202020202026C
+:10C4B000020202020202020202020202020202025C
+:10C4C000020202020202020202020202020202024C
+:10C4D000020202020202020202020202020202023C
+:10C4E000020202020202020202020202020202022C
+:10C4F000020202020202020202020202020202021C
+:10C50000020202020202020202020202020202020B
+:10C5100002020202020202020202020202020202FB
+:10C5200002020202020202020202020202020202EB
+:10C5300002020202020202020202020202020202DB
+:10C5400002020202020202020202020202020202CB
+:10C5500002020202020202020202020202020202BB
+:10C5600002020202020202020202020202020202AB
+:10C57000020202020202020202020202020202029B
+:10C58000020202020202020202020202020202028B
+:10C59000020202020202020202020202020202027B
+:10C5A000020202020202020202020202020202026B
+:10C5B000020202020202020202020202020202025B
+:10C5C000020202020202020202020202020202024B
+:10C5D000020202020202020202020202020202023B
+:10C5E000020202020202020202020202020202022B
+:10C5F000020202020202020202020202020202021B
+:10C60000020202020202020202020202020202020A
+:10C6100002020202020202020202020202020202FA
+:10C6200002020202020202020202020202020202EA
+:10C6300002020202020202020202020202020202DA
+:10C6400002020202020202020202020202020202CA
+:10C6500002020202020202020202020202020202BA
+:10C6600002020202020202020202020202020202AA
+:10C67000020202020202020202020202020202029A
+:10C68000020202020202020202020202020202028A
+:10C69000020202020202020202020202020202027A
+:10C6A000020202020202020202020202020202026A
+:10C6B000020202020202020202020202020202025A
+:10C6C000020202020202020202020202020202024A
+:10C6D000020202020202020202020202020202023A
+:10C6E000020202020202020000000000000000003C
+:10C6F000000000000000000000000000000000003A
+:10C700000000000000000000000000000000000029
+:10C710000000000000000000000000000000000019
+:10C720000000000000000000000000000000000009
+:10C7300000000000000000000000000000000000F9
+:10C7400000000000000000000000000000000000E9
+:10C7500000000000000000000000000000000000D9
+:10C7600000000000000000000000000000000000C9
+:10C7700000000000000000000000000000000000B9
+:10C7800000000000000000000000000000000000A9
+:10C790000000000000000000000000000000000099
+:10C7A0000000000000000000000000000000000089
+:10C7B0000000000000000000000000000000000079
+:10C7C0000000000000000000000000000000000069
+:10C7D0000000000000000000000000000000000059
+:10C7E0000000000000000000000000000000000049
+:10C7F0000000000000000000000000000000000039
+:10C800000000000000000000000000000000000028
+:10C810000000000000000000000000000000000018
+:10C820000000000000000000000000000000000008
+:10C8300000000000000000000000000000000000F8
+:10C8400000000000000000000000000000000000E8
+:10C8500000000000000000000000000000000000D8
+:10C8600000000000000000000000000000000000C8
+:10C8700000000000000000000000000000000000B8
+:10C8800000000000000000000000000000000000A8
+:10C890000000000000000000000000000000000098
+:10C8A0000000000000000000000000000000000088
+:10C8B0000000000000000000000000000000000078
+:10C8C0000000000000000000000000000000000068
+:10C8D0000000000000000000000000000000000058
+:10C8E0000000000000000000000000000000000048
+:10C8F0000000000000000000000000000000000038
+:10C900000000000000000000000000000000000027
+:10C910000000000000000000000000000000000017
+:10C920000000000000000000000000000000000007
+:10C9300000000000000000000000000000000000F7
+:10C9400000000000000000000000000000000000E7
+:10C9500000000000000000000000000000000000D7
+:10C9600000000000000000000000000000000000C7
+:10C9700000000000000000000000000000000000B7
+:10C9800000000000000000000000000000000000A7
+:10C990000000000000000000000000000000000097
+:10C9A0000000000000000000000000000000000087
+:10C9B0000000000000000000000000000000000077
+:10C9C0000000000000000000000000000000000067
+:10C9D0000000000000000000000000000000000057
+:10C9E0000000000000000000000000000000000047
+:10C9F0000000000000000000000000000000000037
+:10CA00000000000000000000000000000000000026
+:10CA10000000000000000000000000000000000016
+:10CA20000000000000000000000000000000000006
+:10CA300000000000000000000000000000000000F6
+:10CA400000000000000000000000000000000000E6
+:10CA500000000000000000000000000000000000D6
+:10CA600000000000000000000000000000000000C6
+:10CA700000000000000000000000000000000000B6
+:10CA800000000000000000000000000000000000A6
+:10CA90000000000000000000000000000000000096
+:10CAA0000000000000000000000000000000000086
+:10CAB0000000000000000000000000000000000076
+:10CAC0000000000000000000000000000000000066
+:10CAD0000000000000000000000000000000000056
+:10CAE00000000000000000B700000000000000018E
+:10CAF0000101010101010101010101010101010126
+:10CB00000101010101010101010101010101010115
+:10CB10000101010101010101010101010101010105
+:10CB200001010101010101010101010101010101F5
+:10CB300001010101010101010101010101010101E5
+:10CB400001010101010101010101010101010101D5
+:10CB500001010101010101010101010101010101C5
+:10CB600001010101010101010101010101010101B5
+:10CB700001010101010101010101010101010101A5
+:10CB80000101010101010101010101010101010195
+:10CB90000101010101010101010101010101010185
+:10CBA0000101010101010101010101010101010175
+:10CBB0000101010101010101010101010101010165
+:10CBC0000101010101010101010101010101010155
+:10CBD0000101010101010101010101010101010145
+:10CBE0000101010101010101010101010101010135
+:10CBF0000101010101010101010101010101010125
+:10CC00000101010101010101010101010101010114
+:10CC10000101010101010101010101010101010104
+:10CC200001010101010101010101010101010101F4
+:10CC300001010101010101010101010101010101E4
+:10CC400001010101010101010101010101010101D4
+:10CC500001010101010101010101010101010101C4
+:10CC600001010101010101010101010101010101B4
+:10CC700001010101010101010101010101010101A4
+:10CC80000101010101010101010101010101010194
+:10CC90000101010101010101010101010101010184
+:10CCA0000101010101010101010101010101010174
+:10CCB0000101010101010101010101010101010164
+:10CCC0000101010101010101010101010101010154
+:10CCD0000101010101010101010101010101010144
+:10CCE0000101010101010101010101010101010134
+:10CCF0000101010101010101010101010101010124
+:10CD00000101010101010101010101010101010113
+:10CD10000101010101010101010101010101010103
+:10CD200001010101010101010101010101010101F3
+:10CD300001010101010101010101010101010101E3
+:10CD400001010101010101010101010101010101D3
+:10CD500001010101010101010101010101010101C3
+:10CD600001010101010101010101010101010101B3
+:10CD700001010101010101010101010101010101A3
+:10CD80000101010101010101010101010101010193
+:10CD90000101010101010101010101010101010183
+:10CDA0000101010101010101010101010101010173
+:10CDB0000101010101010101010101010101010163
+:10CDC0000101010101010101010101010101010153
+:10CDD0000101010101010101010101010101010143
+:10CDE0000101010101010101010101010101010133
+:10CDF0000101010101010101010101010101010123
+:10CE00000101010101010101010101010101010112
+:10CE10000101010101010101010101010101010102
+:10CE200001010101010101010101010101010101F2
+:10CE300001010101010101010101010101010101E2
+:10CE400001010101010101010101010101010101D2
+:10CE500001010101010101010101010101010101C2
+:10CE600001010101010101010101010101010101B2
+:10CE700001010101010101010101010101010101A2
+:10CE80000101010101010101010101010101010192
+:10CE90000101010101010101010101010101010182
+:10CEA0000101010101010101010101010101010172
+:10CEB0000101010101010101010101010101010162
+:10CEC0000101010101010101010101010101010152
+:10CED0000101010101010101010101010101010142
+:10CEE0000101010101010101010101010101010132
+:10CEF0000101010101010101010101010101010122
+:10CF00000101010101010101010101010101010111
+:10CF10000101010101010101010101010101010101
+:10CF200001010101010101010101010101010101F1
+:10CF300001010101010101010101010101010101E1
+:10CF400001010101010101010101010101010101D1
+:10CF500001010101010101010101010101010101C1
+:10CF600001010101010101010101010101010101B1
+:10CF700001010101010101010101010101010101A1
+:10CF80000101010101010101010101010101010191
+:10CF90000101010101010101010101010101010181
+:10CFA0000101010101010101010101010101010171
+:10CFB0000101010101010101010101010101010161
+:10CFC0000101010101010101010101010101010151
+:10CFD0000101010101010101010101010101010141
+:10CFE0000101010101010101010101010101010131
+:10CFF0000101010101010101010101010101010121
+:10D000000101010101010101010101010101010110
+:10D010000101010101010101010101010101010100
+:10D0200001010101010101010101010101010101F0
+:10D0300001010101010101010101010101010101E0
+:10D0400001010101010101010101010101010101D0
+:10D0500001010101010101010101010101010101C0
+:10D0600001010101010101010101010101010101B0
+:10D0700001010101010101010101010101010101A0
+:10D080000101010101010101010101010101010190
+:10D090000101010101010101010101010101010180
+:10D0A0000101010101010101010101010101010170
+:10D0B0000101010101010101010101010101010160
+:10D0C0000101010101010101010101010101010150
+:10D0D0000101010101010101010101010101010140
+:10D0E0000101010101010101010101010101010130
+:10D0F0000101010101010101010101010101010120
+:10D10000010101010101010101010101010101010F
+:10D1100001010101010101010101010101010101FF
+:10D1200001010101010101010101010101010101EF
+:10D1300001010101010101010101010101010101DF
+:10D1400001010101010101010101010101010101CF
+:10D1500001010101010101010101010101010101BF
+:10D1600001010101010101010101010101010101AF
+:10D17000010101010101010101010101010101019F
+:10D18000010101010101010101010101010101018F
+:10D19000010101010101010101010101010101017F
+:10D1A000010101010101010101010101010101016F
+:10D1B000010101010101010101010101010101015F
+:10D1C000010101010101010101010101010101014F
+:10D1D000010101010101010101010101010101013F
+:10D1E000010101010101010101010101010101012F
+:10D1F000010101010101010101010101010101011F
+:10D20000010101010101010101010101010101010E
+:10D2100001010101010101010101010101010101FE
+:10D2200001010101010101010101010101010101EE
+:10D2300001010101010101010101010101010101DE
+:10D2400001010101010101010101010101010101CE
+:10D2500001010101010101010101010101010101BE
+:10D2600001010101010101010101010101010101AE
+:10D27000010101010101010101010101010101019E
+:10D28000010101010101010101010101010101018E
+:10D29000010101010101010101010101010101017E
+:10D2A000010101010101010101010101010101016E
+:10D2B000010101010101010101010101010101015E
+:10D2C000010101010101010101010101010101014E
+:10D2D000010101010101010101010101010101013E
+:10D2E000010101010101010101010101010101012E
+:10D2F000010101010101010101010101010101011E
+:10D30000010101010101010101010101010101010D
+:10D3100001010101010101010101010101010101FD
+:10D3200001010101010101010101010101010101ED
+:10D3300001010101010101010101010101010101DD
+:10D3400001010101010101010101010101010101CD
+:10D3500001010101010101010101010101010101BD
+:10D3600001010101010101010101010101010101AD
+:10D37000010101010101010101010101010101019D
+:10D38000010101010101010101010101010101018D
+:10D39000010101010101010101010101010101017D
+:10D3A000010101010101010101010101010101016D
+:10D3B000010101010101010101010101010101015D
+:10D3C000010101010101010101010101010101014D
+:10D3D000010101010101010101010101010101013D
+:10D3E000010101010101010101010101010101012D
+:10D3F000010101010101010101010101010101011D
+:10D40000010101010101010101010101010101010C
+:10D4100001010101010101010101010101010101FC
+:10D4200001010101010101010101010101010101EC
+:10D4300001010101010101010101010101010101DC
+:10D4400001010101010101010101010101010101CC
+:10D4500001010101010101010101010101010101BC
+:10D4600001010101010101010101010101010101AC
+:10D47000010101010101010101010101010101019C
+:10D48000010101010101010101010101010101018C
+:10D49000010101010101010101010101010101017C
+:10D4A000010101010101010101010101010101016C
+:10D4B000010101010101010101010101010101015C
+:10D4C000010101010101010101010101010101014C
+:10D4D000010101010101010101010101010101013C
+:10D4E000010101010101010101010101010101012C
+:10D4F000010101010101010101010101010101011C
+:10D50000010101010101010101010101010101010B
+:10D5100001010101010101010101010101010101FB
+:10D5200001010101010101010101010101010101EB
+:10D5300001010101010101010101010101010101DB
+:10D5400001010101010101010101010101010101CB
+:10D5500001010101010101010101010101010101BB
+:10D5600001010101010101010101010101010101AB
+:10D57000010101010101010101010101010101019B
+:10D58000010101010101010101010101010101018B
+:10D59000010101010101010101010101010101017B
+:10D5A000010101010101010101010101010101016B
+:10D5B000010101010101010101010101010101015B
+:10D5C000010101010101010101010101010101014B
+:10D5D000010101010101010101010101010101013B
+:10D5E000010101010101010101010101010101012B
+:10D5F000010101010101010101010101010101011B
+:10D60000010101010101010101010101010101010A
+:10D6100001010101010101010101010101010101FA
+:10D6200001010101010101010101010101010101EA
+:10D6300001010101010101010101010101010101DA
+:10D6400001010101010101010101010101010101CA
+:10D6500001010101010101010101010101010101BA
+:10D6600001010101010101010101010101010101AA
+:10D67000010101010101010101010101010101019A
+:10D68000010101010101010101010101010101018A
+:10D69000010101010101010101010101010101017A
+:10D6A000010101010101010101010101010101016A
+:10D6B000010101010101010101010101010101015A
+:10D6C000010101010101010101010101010101014A
+:10D6D000010101010101010101010101010101013A
+:10D6E000010101010101010101010101010101012A
+:10D6F000010101010101010101010101010101011A
+:10D700000101010101010101010101010101010109
+:10D7100001010101010101010101010101010101F9
+:10D7200001010101010101010101010101010101E9
+:10D7300001010101010101010101010101010101D9
+:10D7400001010101010101010101010101010101C9
+:10D7500001010101010101010101010101010101B9
+:10D7600001010101010101010101010101010101A9
+:10D770000101010101010101010101010101010199
+:10D780000101010101010101010101010101010189
+:10D790000101010101010101010101010101010179
+:10D7A0000101010101010101010101010101010169
+:10D7B0000101010101010101010101010101010159
+:10D7C0000101010101010101010101010101010149
+:10D7D0000101010101010101010101010101010139
+:10D7E0000101010101010101010101010101010129
+:10D7F0000101010101010101010101010101010119
+:10D800000101010101010101010101010101010108
+:10D8100001010101010101010101010101010101F8
+:10D8200001010101010101010101010101010101E8
+:10D8300001010101010101010101010101010101D8
+:10D8400001010101010101010101010101010101C8
+:10D8500001010101010101010101010101010101B8
+:10D8600001010101010101010101010101010101A8
+:10D870000101010101010101010101010101010198
+:10D880000101010101010101010101010101010188
+:10D890000101010101010101010101010101010178
+:10D8A0000101010101010101010101010101010168
+:10D8B0000101010101010101010101010101010158
+:10D8C0000101010101010101010101010101010148
+:10D8D0000101010101010101010101010101010138
+:10D8E0000101010101010101010101010101010128
+:10D8F0000101010101010101010101010101010118
+:10D900000101010101010101010101010101010107
+:10D9100001010101010101010101010101010101F7
+:10D9200001010101010101010101010101010101E7
+:10D9300001010101010101010101010101010101D7
+:10D9400001010101010101010101010101010101C7
+:10D9500001010101010101010101010101010101B7
+:10D9600001010101010101010101010101010101A7
+:10D970000101010101010101010101010101010197
+:10D980000101010101010101010101010101010187
+:10D990000101010101010101010101010101010177
+:10D9A0000101010101010101010101010101010167
+:10D9B0000101010101010101010101010101010157
+:10D9C0000101010101010101010101010101010147
+:10D9D0000101010101010101010101010101010137
+:10D9E0000101010101010101010101010101010127
+:10D9F0000101010101010101010101010101010117
+:10DA00000101010101010101010101010101010106
+:10DA100001010101010101010101010101010101F6
+:10DA200001010101010101010101010101010101E6
+:10DA300001010101010101010101010101010101D6
+:10DA400001010101010101010101010101010101C6
+:10DA500001010101010101010101010101010101B6
+:10DA600001010101010101010101010101010101A6
+:10DA70000101010101010101010101010101010196
+:10DA80000101010101010101010101010101010186
+:10DA90000101010101010101010101010101010176
+:10DAA0000101010101010101010101010101010166
+:10DAB0000101010101010101010101010101010156
+:10DAC0000101010101010101010101010101010146
+:10DAD0000101010101010101010101010101010136
+:10DAE0000101010101010101010101010101010126
+:10DAF0000101010101010101010101010101010116
+:10DB00000101010101010101010101010101010105
+:10DB100001010101010101010101010101010101F5
+:10DB200001010101010101010101010101010101E5
+:10DB300001010101010101010101010101010101D5
+:10DB400001010101010101010101010101010101C5
+:10DB500001010101010101010101010101010101B5
+:10DB600001010101010101010101010101010101A5
+:10DB70000101010101010101010101010101010195
+:10DB80000101010101010101010101010101010185
+:10DB90000101010101010101010101010101010175
+:10DBA0000101010101010101010101010101010165
+:10DBB0000101010101010101010101010101010155
+:10DBC0000101010101010101010101010101010145
+:10DBD0000101010101010101010101010101010135
+:10DBE0000101010101010101010101010101010125
+:10DBF0000101010101010101010101010101010115
+:10DC00000101010101010101010101010101010104
+:10DC100001010101010101010101010101010101F4
+:10DC200001010101010101010101010101010101E4
+:10DC300001010101010101010101010101010101D4
+:10DC400001010101010101010101010101010101C4
+:10DC500001010101010101010101010101010101B4
+:10DC600001010101010101010101010101010101A4
+:10DC70000101010101010101010101010101010194
+:10DC80000101010101010101010101010101010184
+:10DC90000101010101010101010101010101010174
+:10DCA0000101010101010101010101010101010164
+:10DCB0000101010101010101010101010101010154
+:10DCC0000101010101010101010101010101010144
+:10DCD0000101010101010101010101010101010134
+:10DCE0000101010101010101010101010101010124
+:10DCF0000101010101010101010101010101010114
+:10DD00000101010101010101010101010101010103
+:10DD100001010101010101010101010101010101F3
+:10DD200001010101010101010101010101010101E3
+:10DD300001010101010101010101010101010101D3
+:10DD400001010101010101010101010101010101C3
+:10DD500001010101010101010101010101010101B3
+:10DD600001010101010101010101010101010101A3
+:10DD70000101010101010101010101010101010193
+:10DD80000101010101010101010101010101010183
+:10DD90000101010101010101010101010101010173
+:10DDA0000101010101010101010101010101010163
+:10DDB0000101010101010101010101010101010153
+:10DDC0000101010101010101010101010101010143
+:10DDD0000101010101010101010101010101010133
+:10DDE0000101010101010101010101010101010123
+:10DDF0000101010101010101010101010101010113
+:10DE00000101010101010101010101010101010102
+:10DE100001010101010101010101010101010101F2
+:10DE200001010101010101010101010101010101E2
+:10DE300001010101010101010101010101010101D2
+:10DE400001010101010101010101010101010101C2
+:10DE500001010101010101010101010101010101B2
+:10DE600001010101010101010101010101010101A2
+:10DE70000101010101010101010101010101010192
+:10DE80000101010101010101010101010101010182
+:10DE90000101010101010101010101010101010172
+:10DEA0000101010101010101010101010101010162
+:10DEB0000101010101010101010101010101010152
+:10DEC0000101010101010101010101010101010142
+:10DED0000101010101010101010101010101010132
+:10DEE0000101010101010101010101010101010122
+:10DEF0000101010101010101010101010101010112
+:10DF00000101010101010101010101010101010101
+:10DF100001010101010101010101010101010101F1
+:10DF200001010101010101010101010101010101E1
+:10DF300001010101010101010101010101010101D1
+:10DF400001010101010101010101010101010101C1
+:10DF500001010101010101010101010101010101B1
+:10DF600001010101010101010101010101010101A1
+:10DF70000101010101010101010101010101010191
+:10DF80000101010101010101010101010101010181
+:10DF90000101010101010101010101010101010171
+:10DFA0000101010101010101010101010101010161
+:10DFB0000101010101010101010101010101010151
+:10DFC0000101010101010101010101010101010141
+:10DFD0000101010101010101010101010101010131
+:10DFE0000101010101010101010101010101010121
+:10DFF0000101010101010101010101010101010111
+:10E000000101010101010101010101010101010100
+:10E0100001010101010101010101010101010101F0
+:10E0200001010101010101010101010101010101E0
+:10E0300001010101010101010101010101010101D0
+:10E0400001010101010101010101010101010101C0
+:10E0500001010101010101010101010101010101B0
+:10E0600001010101010101010101010101010101A0
+:10E070000101010101010101010101010101010190
+:10E080000101010101010101010101010101010180
+:10E090000101010101010101010101010101010170
+:10E0A0000101010101010101010101010101010160
+:10E0B0000101010101010101010101010101010150
+:10E0C0000101010101010101010101010101010140
+:10E0D0000101010101010101010101010101010130
+:10E0E0000101010101010101010101010101010120
+:10E0F0000101010101010101010101010101010110
+:10E1000001010101010101010101010101010101FF
+:10E1100001010101010101010101010101010101EF
+:10E1200001010101010101010101010101010101DF
+:10E1300001010101010101010101010101010101CF
+:10E1400001010101010101010101010101010101BF
+:10E1500001010101010101010101010101010101AF
+:10E16000010101010101010101010101010101019F
+:10E17000010101010101010101010101010101018F
+:10E18000010101010101010101010101010101017F
+:10E19000010101010101010101010101010101016F
+:10E1A000010101010101010101010101010101015F
+:10E1B000010101010101010101010101010101014F
+:10E1C000010101010101010101010101010101013F
+:10E1D000010101010101010101010101010101012F
+:10E1E000010101010101010101010101010101011F
+:10E1F000010101010101010101010101010101010F
+:10E2000001010101010101010101010101010101FE
+:10E2100001010101010101010101010101010101EE
+:10E2200001010101010101010101010101010101DE
+:10E2300001010101010101010101010101010101CE
+:10E2400001010101010101010101010101010101BE
+:10E2500001010101010101010101010101010101AE
+:10E26000010101010101010101010101010101019E
+:10E27000010101010101010101010101010101018E
+:10E28000010101010101010101010101010101017E
+:10E29000010101010101010101010101010101016E
+:10E2A000010101010101010101010101010101015E
+:10E2B000010101010101010101010101010101014E
+:10E2C000010101010101010101010101010101013E
+:10E2D000010101010101010101010101010101012E
+:10E2E000010101010101010101010101010101011E
+:10E2F000010101010101010101010101010101010E
+:10E3000001010101010101010101010101010101FD
+:10E3100001010101010101010101010101010101ED
+:10E3200001010101010101010101010101010101DD
+:10E3300001010101010101010101010101010101CD
+:10E3400001010101010101010101010101010101BD
+:10E3500001010101010101010101010101010101AD
+:10E36000010101010101010101010101010101019D
+:10E37000010101010101010101010101010101018D
+:10E38000010101010101010101010101010101017D
+:10E39000010101010101010101010101010101016D
+:10E3A000010101010101010101010101010101015D
+:10E3B000010101010101010101010101010101014D
+:10E3C000010101010101010101010101010101013D
+:10E3D000010101010101010101010101010101012D
+:10E3E000010101010101010101010101010101011D
+:10E3F000010101010101010101010101010101010D
+:10E4000001010101010101010101010101010101FC
+:10E4100001010101010101010101010101010101EC
+:10E4200001010101010101010101010101010101DC
+:10E4300001010101010101010101010101010101CC
+:10E4400001010101010101010101010101010101BC
+:10E4500001010101010101010101010101010101AC
+:10E46000010101010101010101010101010101019C
+:10E47000010101010101010101010101010101018C
+:10E48000010101010101010101010101010101017C
+:10E49000010101010101010101010101010101016C
+:10E4A000010101010101010101010101010101015C
+:10E4B000010101010101010101010101010101014C
+:10E4C000010101010101010101010101010101013C
+:10E4D000010101010101010101010101010101012C
+:10E4E000010101010101010101010101010101011C
+:10E4F000010101010101010101010101010101010C
+:10E5000001010101010101010101010101010101FB
+:10E5100001010101010101010101010101010101EB
+:10E5200001010101010101010101010101010101DB
+:10E5300001010101010101010101010101010101CB
+:10E5400001010101010101010101010101010101BB
+:10E5500001010101010101010101010101010101AB
+:10E56000010101010101010101010101010101019B
+:10E57000010101010101010101010101010101018B
+:10E58000010101010101010101010101010101017B
+:10E59000010101010101010101010101010101016B
+:10E5A000010101010101010101010101010101015B
+:10E5B000010101010101010101010101010101014B
+:10E5C000010101010101010101010101010101013B
+:10E5D000010101010101010101010101010101012B
+:10E5E000010101010101010101010101010101011B
+:10E5F000010101010101010101010101010101010B
+:10E6000001010101010101010101010101010101FA
+:10E6100001010101010101010101010101010101EA
+:10E6200001010101010101010101010101010101DA
+:10E6300001010101010101010101010101010101CA
+:10E6400001010101010101010101010101010101BA
+:10E6500001010101010101010101010101010101AA
+:10E66000010101010101010101010101010101019A
+:10E67000010101010101010101010101010101018A
+:10E68000010101010101010101010101010101017A
+:10E69000010101010101010101010101010101016A
+:10E6A000010101010101010101010101010101015A
+:10E6B000010101010101010101010101010101014A
+:10E6C000010101010101010101010101010101013A
+:10E6D000010101010101010101010101010101012A
+:10E6E000010101010101010101010101010101011A
+:10E6F000010101010101010101010101010101010A
+:10E7000001010101010101010101010101010101F9
+:10E7100001010101010101010101010101010101E9
+:10E7200001010101010101010101010101010101D9
+:10E7300001010101010101010101010101010101C9
+:10E7400001010101010101010101010101010101B9
+:10E7500001010101010101010101010101010101A9
+:10E760000101010101010101010101010101010199
+:10E770000101010101010101010101010101010189
+:10E780000101010101010101010101010101010179
+:10E790000101010101010101010101010101010169
+:10E7A0000101010101010101010101010101010159
+:10E7B0000101010101010101010101010101010149
+:10E7C0000101010101010101010101010101010139
+:10E7D0000101010101010101010101010101010129
+:10E7E0000101010101010101010101010101010119
+:10E7F0000101010101010101010101010101010109
+:10E8000001010101010101010101010101010101F8
+:10E8100001010101010101010101010101010101E8
+:10E8200001010101010101010101010101010101D8
+:10E8300001010101010101010101010101010101C8
+:10E8400001010101010101010101010101010101B8
+:10E8500001010101010101010101010101010101A8
+:10E860000101010101010101010101010101010198
+:10E870000101010101010101010101010101010188
+:10E880000101010101010101010101010101010178
+:10E890000101010101010101010101010101010168
+:10E8A0000101010101010101010101010101010158
+:10E8B0000101010101010101010101010101010148
+:10E8C0000101010101010101010101010101010138
+:10E8D0000101010101010101010101010101010128
+:10E8E0000101010101010101010101010101010118
+:10E8F0000101010101010101010101010101010108
+:10E9000001010101010101010101010101010101F7
+:10E9100001010101010101010101010101010101E7
+:10E9200001010101010101010101010101010101D7
+:10E9300001010101010101010101010101010101C7
+:10E9400001010101010101010101010101010101B7
+:10E9500001010101010101010101010101010101A7
+:10E960000101010101010101010101010101010197
+:10E970000101010101010101010101010101010187
+:10E980000101010101010101010101010101010177
+:10E990000101010101010101010101010101010167
+:10E9A0000101010101010101010101010101010157
+:10E9B0000101010101010101010101010101010147
+:10E9C0000101010101010101010101010101010137
+:10E9D0000101010101010101010101010101010127
+:10E9E0000101010101010101010101010101010117
+:10E9F0000101010101010101010101010101010107
+:10EA000001010101010101010101010101010101F6
+:10EA100001010101010101010101010101010101E6
+:10EA200001010101010101010101010101010101D6
+:10EA300001010101010101010101010101010101C6
+:10EA400001010101010101010101010101010101B6
+:10EA500001010101010101010101010101010101A6
+:10EA60000101010101010101010101010101010196
+:10EA70000101010101010101010101010101010186
+:10EA80000101010101010101010101010101010176
+:10EA90000101010101010101010101010101010166
+:10EAA0000101010101010101010101010101010156
+:10EAB0000101010101010101010101010101010146
+:10EAC0000101010101010101010101010101010136
+:10EAD0000101010101010101010101010101010126
+:10EAE0000101010101010101010101010101010116
+:10EAF0000101010101010101010101010101010106
+:10EB000001010101010101010101010101010101F5
+:10EB100001010101010101010101010101010101E5
+:10EB200001010101010101010101010101010101D5
+:10EB300001010101010101010101010101010101C5
+:10EB400001010101010101010101010101010101B5
+:10EB500001010101010101010101010101010101A5
+:10EB60000101010101010101010101010101010195
+:10EB70000101010101010101010101010101010185
+:10EB80000101010101010101010101010101010175
+:10EB90000101010101010101010101010101010165
+:10EBA0000101010101010101010101010101010155
+:10EBB0000101010101010101010101010101010145
+:10EBC0000101010101010101010101010101010135
+:10EBD0000101010101010101010101010101010125
+:10EBE0000101010101010101010101010101010115
+:10EBF0000101010101010101010101010101010105
+:10EC000001010101010101010101010101010101F4
+:10EC100001010101010101010101010101010101E4
+:10EC200001010101010101010101010101010101D4
+:10EC300001010101010101010101010101010101C4
+:10EC400001010101010101010101010101010101B4
+:10EC500001010101010101010101010101010101A4
+:10EC60000101010101010101010101010101010194
+:10EC70000101010101010101010101010101010184
+:10EC80000101010101010101010101010101010174
+:10EC90000101010101010101010101010101010164
+:10ECA0000101010101010101010101010101010154
+:10ECB0000101010101010101010101010101010144
+:10ECC0000101010101010101010101010101010134
+:10ECD0000101010101010101010101010101010124
+:10ECE0000101010101010101010101010101010114
+:10ECF0000101010101010101010101010101010104
+:10ED000001010101010101010101010101010101F3
+:10ED100001010101010101010101010101010101E3
+:10ED200001010101010101010101010101010101D3
+:10ED300001010101010101010101010101010101C3
+:10ED400001010101010101010101010101010101B3
+:10ED500001010101010101010101010101010101A3
+:10ED60000101010101010101010101010101010193
+:10ED70000101010101010101010101010101010183
+:10ED80000101010101010101010101010101010173
+:10ED90000101010101010101010101010101010163
+:10EDA0000101010101010101010101010101010153
+:10EDB0000101010101010101010101010101010143
+:10EDC0000101010101010101010101010101010133
+:10EDD0000101010101010101010101010101010123
+:10EDE0000101010101010101010101010101010113
+:10EDF0000101010101010101010101010101010103
+:10EE000001010101010101010101010101010101F2
+:10EE100001010101010101010101010101010101E2
+:10EE200001010101010101010101010101010101D2
+:10EE300001010101010101010101010101010101C2
+:10EE400001010101010101010101010101010101B2
+:10EE500001010101010101010101010101010101A2
+:10EE60000101010101010101010101010101010192
+:10EE70000101010101010101010101010101010182
+:10EE80000101010101010101010101010101010172
+:10EE90000101010101010101010101010101010162
+:10EEA0000101010101010101010101010101010152
+:10EEB0000101010101010101010101010101010142
+:10EEC0000101010101010101010101010101010132
+:10EED0000101010101010101010101010101010122
+:10EEE0000101010101010101010101010101010112
+:10EEF0000101010101010101010101010101010102
+:10EF000001010101010101010101010101010101F1
+:10EF100001010101010101010101010101010101E1
+:10EF200001010101010101010101010101010101D1
+:10EF300001010101010101010101010101010101C1
+:10EF400001010101010101010101010101010101B1
+:10EF500001010101010101010101010101010101A1
+:10EF60000101010101010101010101010101010191
+:10EF70000101010101010101010101010101010181
+:10EF80000101010101010101010101010101010171
+:10EF90000101010101010101010101010101010161
+:10EFA0000101010101010101010101010101010151
+:10EFB0000101010101010101010101010101010141
+:10EFC0000101010101010101010101010101010131
+:10EFD0000101010101010101010101010101010121
+:10EFE0000101010101010101010101010101010111
+:10EFF0000101010101010101010101010101010101
+:10F0000001010101010101010101010101010101F0
+:10F0100001010101010101010101010101010101E0
+:10F0200001010101010101010101010101010101D0
+:10F0300001010101010101010101010101010101C0
+:10F0400001010101010101010101010101010101B0
+:10F0500001010101010101010101010101010101A0
+:10F060000101010101010101010101010101010190
+:10F070000101010101010101010101010101010180
+:10F080000101010101010101010101010101010170
+:10F090000101010101010101010101010101010160
+:10F0A0000101010101010101010101010101010150
+:10F0B0000101010101010101010101010101010140
+:10F0C0000101010101010101010101010101010130
+:10F0D0000101010101010101010101010101010120
+:10F0E0000101010101010101010101010101010110
+:10F0F0000101010101010101010101010101010100
+:10F1000001010101010101010101010101010101EF
+:10F1100001010101010101010101010101010101DF
+:10F1200001010101010101010101010101010101CF
+:10F1300001010101010101010101010101010101BF
+:10F1400001010101010101010101010101010101AF
+:10F15000010101010101010101010101010101019F
+:10F16000010101010101010101010101010101018F
+:10F17000010101010101010101010101010101017F
+:10F18000010101010101010101010101010101016F
+:10F19000010101010101010101010101010101015F
+:10F1A000010101010101010101010101010101014F
+:10F1B000010101010101010101010101010101013F
+:10F1C000010101010101010101010101010101012F
+:10F1D000010101010101010101010101010101011F
+:10F1E000010101010101010101010101010101010F
+:10F1F00001010101010101010101010101010101FF
+:10F2000001010101010101010101010101010101EE
+:10F2100001010101010101010101010101010101DE
+:10F2200001010101010101010101010101010101CE
+:10F2300001010101010101010101010101010101BE
+:10F2400001010101010101010101010101010101AE
+:10F25000010101010101010101010101010101019E
+:10F26000010101010101010101010101010101018E
+:10F27000010101010101010101010101010101017E
+:10F28000010101010101010101010101010101016E
+:10F29000010101010101010101010101010101015E
+:10F2A000010101010101010101010101010101014E
+:10F2B000010101010101010101010101010101013E
+:10F2C000010101010101010101010101010101012E
+:10F2D000010101010101010101010101010101011E
+:10F2E000010101010101010101010101010101010E
+:10F2F00001010101010101010101010101010101FE
+:10F3000001010101010101010101010101010101ED
+:10F3100001010101010101010101010101010101DD
+:10F3200001010101010101010101010101010101CD
+:10F3300001010101010101010101010101010101BD
+:10F3400001010101010101010101010101010101AD
+:10F35000010101010101010101010101010101019D
+:10F36000010101010101010101010101010101018D
+:10F37000010101010101010101010101010101017D
+:10F38000010101010101010101010101010101016D
+:10F39000010101010101010101010101010101015D
+:10F3A000010101010101010101010101010101014D
+:10F3B000010101010101010101010101010101013D
+:10F3C000010101010101010101010101010101012D
+:10F3D000010101010101010101010101010101011D
+:10F3E000010101010101010101010101010101000E
+:10F3F000000000000000000000000000000000000D
+:10F4000000000000000000000000000000000000FC
+:10F4100000000000000000000000000000000000EC
+:10F4200000000000000000000000000000000000DC
+:10F4300000000000000000000000000000000000CC
+:10F4400000000000000000000000000000000000BC
+:10F4500000000000000000000000000000000000AC
+:10F46000000000000000000000000000000000009C
+:10F47000000000000000000000000000000000008C
+:10F48000000000000000000000000000000000007C
+:10F49000000000000000000000000000000000006C
+:10F4A000000000000000000000000000000000005C
+:10F4B000000000000000000000000000000000004C
+:10F4C000000000000000000000000000000000003C
+:10F4D000000000000000000000000000000000002C
+:10F4E000000000000000000000000000000000001C
+:10F4F000000000000000000000000000000000000C
+:10F5000000000000000000000000000000000000FB
+:10F5100000000000000000000000000000000000EB
+:10F5200000000000000000000000000000000000DB
+:10F5300000000000000000000000000000000000CB
+:10F5400000000000000000000000000000000000BB
+:10F5500000000000000000000000000000000000AB
+:10F56000000000000000000000000000000000009B
+:10F57000000000000000000000000000000000008B
+:10F58000000000000000000000000000000000007B
+:10F59000000000000000000000000000000000006B
+:10F5A000000000000000000000000000000000005B
+:10F5B000000000000000000000000000000000004B
+:10F5C000000000000000000000000000000000003B
+:10F5D000000000000000000000000000000000002B
+:10F5E000000000000000000000000000000000001B
+:10F5F000000000000000000000000000000000000B
+:10F6000000000000000000000000000000000000FA
+:10F6100000000000000000000000000000000000EA
+:10F6200000000000000000000000000000000000DA
+:10F6300000000000000000000000000000000000CA
+:10F6400000000000000000000000000000000000BA
+:10F6500000000000000000000000000000000000AA
+:10F66000000000000000000000000000000000009A
+:10F67000000000000000000000000000000000008A
+:10F68000000000000000000000000000000000007A
+:10F69000000000000000000000000000000000006A
+:10F6A000000000000000000000000000000000005A
+:10F6B000000000000000000000000000000000004A
+:10F6C000000000000000000000000000000000003A
+:10F6D000000000000000000000000000000000002A
+:10F6E000000000000000000000000000000000001A
+:10F6F000000000000000000000000000000000000A
+:10F7000000000000000000000000000000000000F9
+:10F7100000000000000000000000000000000000E9
+:10F7200000000000000000000000000000000000D9
+:10F7300000000000000000000000000000000000C9
+:10F7400000000000000000000000000000000000B9
+:10F7500000000000000000000000000000000000A9
+:10F760000000000000000000000000000000000099
+:10F770000000000000000000000000000000000089
+:10F780000000000000000000000000000000000079
+:10F790000000000000000000000000000000000069
+:10F7A0000000000000000000000000000000000059
+:10F7B0000000000000000000000000000000000049
+:10F7C0000000000000000000000000000000000039
+:10F7D0000000000000000000000000000000000029
+:10F7E0000000000000000000000000000000000217
+:10F7F00002020202020202020202020202020202E9
+:10F8000002020202020202020202020202020202D8
+:10F8100002020202020202020202020202020202C8
+:10F8200002020202020202020202020202020202B8
+:10F8300002020202020202020202020202020202A8
+:10F840000202020202020202020202020202020298
+:10F850000202020202020202020202020202020288
+:10F860000202020202020202020202020202020278
+:10F870000202020202020202020202020202020268
+:10F880000202020202020202020202020202020258
+:10F890000202020202020202020202020202020248
+:10F8A0000202020202020202020202020202020238
+:10F8B0000202020202020202020202020202020228
+:10F8C0000202020202020202020202020202020218
+:10F8D0000202020202020202020202020202020208
+:10F8E00002020202020202020202020202020202F8
+:10F8F00002020202020202020202020202020202E8
+:10F9000002020202020202020202020202020202D7
+:10F9100002020202020202020202020202020202C7
+:10F9200002020202020202020202020202020202B7
+:10F9300002020202020202020202020202020202A7
+:10F940000202020202020202020202020202020297
+:10F950000202020202020202020202020202020287
+:10F960000202020202020202020202020202020277
+:10F970000202020202020202020202020202020267
+:10F980000202020202020202020202020202020257
+:10F990000202020202020202020202020202020247
+:10F9A0000202020202020202020202020202020237
+:10F9B0000202020202020202020202020202020227
+:10F9C0000202020202020202020202020202020217
+:10F9D0000202020202020202020202020202020207
+:10F9E00002020202020202020202020202020202F7
+:10F9F00002020202020202020202020202020202E7
+:10FA000002020202020202020202020202020202D6
+:10FA100002020202020202020202020202020202C6
+:10FA200002020202020202020202020202020202B6
+:10FA300002020202020202020202020202020202A6
+:10FA40000202020202020202020202020202020296
+:10FA50000202020202020202020202020202020286
+:10FA60000202020202020202020202020202020276
+:10FA70000202020202020202020202020202020266
+:10FA80000202020202020202020202020202020256
+:10FA90000202020202020202020202020202020246
+:10FAA0000202020202020202020202020202020236
+:10FAB0000202020202020202020202020202020226
+:10FAC0000202020202020202020202020202020216
+:10FAD0000202020202020202020202020202020206
+:10FAE00002020202020202020202020202020202F6
+:10FAF00002020202020202020202020202020202E6
+:10FB000002020202020202020202020202020202D5
+:10FB100002020202020202020202020202020202C5
+:10FB200002020202020202020202020202020202B5
+:10FB300002020202020202020202020202020202A5
+:10FB40000202020202020202020202020202020295
+:10FB50000202020202020202020202020202020285
+:10FB60000202020202020202020202020202020275
+:10FB70000202020202020202020202020202020265
+:10FB80000202020202020202020202020202020255
+:10FB90000202020202020202020202020202020245
+:10FBA0000202020202020202020202020202020235
+:10FBB0000202020202020202020202020202020225
+:10FBC0000202020202020202020202020202020215
+:10FBD0000202020202020202020202020202020205
+:10FBE00002020202020202020202020202020202F5
+:10FBF00002020202020202020202020202020202E5
+:10FC000002020202020202020202020202020202D4
+:10FC100002020202020202020202020202020202C4
+:10FC200002020202020202020202020202020202B4
+:10FC300002020202020202020202020202020202A4
+:10FC40000202020202020202020202020202020294
+:10FC50000202020202020202020202020202020284
+:10FC60000202020202020202020202020202020274
+:10FC70000202020202020202020202020202020264
+:10FC80000202020202020202020202020202020254
+:10FC90000202020202020202020202020202020244
+:10FCA0000202020202020202020202020202020234
+:10FCB0000202020202020202020202020202020224
+:10FCC0000202020202020202020202020202020214
+:10FCD0000202020202020202020202020202020204
+:10FCE00002020202020202020202020202020202F4
+:10FCF00002020202020202020202020202020202E4
+:10FD000002020202020202020202020202020202D3
+:10FD100002020202020202020202020202020202C3
+:10FD200002020202020202020202020202020202B3
+:10FD300002020202020202020202020202020202A3
+:10FD40000202020202020202020202020202020293
+:10FD50000202020202020202020202020202020283
+:10FD60000202020202020202020202020202020273
+:10FD70000202020202020202020202020202020263
+:10FD80000202020202020202020202020202020253
+:10FD90000202020202020202020202020202020243
+:10FDA0000202020202020202020202020202020233
+:10FDB0000202020202020202020202020202020223
+:10FDC0000202020202020202020202020202020213
+:10FDD0000202020202020202020202020202020203
+:10FDE00002020202020202020202020202020202F3
+:10FDF00002020202020202020202020202020202E3
+:10FE000002020202020202020202020202020202D2
+:10FE100002020202020202020202020202020202C2
+:10FE200002020202020202020202020202020202B2
+:10FE300002020202020202020202020202020202A2
+:10FE40000202020202020202020202020202020292
+:10FE50000202020202020202020202020202020282
+:10FE60000202020202020202020202020202020272
+:10FE70000202020202020202020202020202020262
+:10FE80000202020202020202020202020202020252
+:10FE90000202020202020202020202020202020242
+:10FEA0000202020202020202020202020202020232
+:10FEB0000202020202020202020202020202020222
+:10FEC0000202020202020202020202020202020212
+:10FED0000202020202020202020202020202020202
+:10FEE00002020202020202020202020202020202F2
+:10FEF00002020202020202020202020202020202E2
+:10FF000002020202020202020202020202020202D1
+:10FF100002020202020202020202020202020202C1
+:10FF200002020202020202020202020202020202B1
+:10FF300002020202020202020202020202020202A1
+:10FF40000202020202020202020202020202020291
+:10FF50000202020202020202020202020202020281
+:10FF60000202020202020202020202020202020271
+:10FF70000202020202020202020202020202020261
+:10FF80000202020202020202020202020202020251
+:10FF90000202020202020202020202020202020241
+:10FFA0000202020202020202020202020202020231
+:10FFB0000202020202020202020202020202020221
+:10FFC0000202020202020202020202020202020211
+:10FFD0000202020202020202020202020202020201
+:10FFE00002020202020202020202020202020202F1
+:10FFF00002020202020202020202020202020202E1
+:020000022000DC
+:1000000002020202020202020202020202020202D0
+:1000100002020202020202020202020202020202C0
+:1000200002020202020202020202020202020202B0
+:1000300002020202020202020202020202020202A0
+:100040000202020202020202020202020202020290
+:100050000202020202020202020202020202020280
+:100060000202020202020202020202020202020270
+:100070000202020202020202020202020202020260
+:100080000202020202020202020202020202020250
+:100090000202020202020202020202020202020240
+:1000A0000202020202020202020202020202020230
+:1000B0000202020202020202020202020202020220
+:1000C0000202020202020202020202020202020210
+:1000D0000202020202020202020202020202020200
+:1000E00002020202020202020202020202020202F0
+:1000F00002020202020202020202020202020202E0
+:1001000002020202020202020202020202020202CF
+:1001100002020202020202020202020202020202BF
+:1001200002020202020202020202020202020202AF
+:10013000020202020202020202020202020202029F
+:10014000020202020202020202020202020202028F
+:10015000020202020202020202020202020202027F
+:10016000020202020202020202020202020202026F
+:10017000020202020202020202020202020202025F
+:10018000020202020202020202020202020202024F
+:10019000020202020202020202020202020202023F
+:1001A000020202020202020202020202020202022F
+:1001B000020202020202020202020202020202021F
+:1001C000020202020202020202020202020202020F
+:1001D00002020202020202020202020202020202FF
+:1001E00002020202020202020202020202020202EF
+:1001F00002020202020202020202020202020202DF
+:1002000002020202020202020202020202020202CE
+:1002100002020202020202020202020202020202BE
+:1002200002020202020202020202020202020202AE
+:10023000020202020202020202020202020202029E
+:10024000020202020202020202020202020202028E
+:10025000020202020202020202020202020202027E
+:10026000020202020202020202020202020202026E
+:10027000020202020202020202020202020202025E
+:10028000020202020202020202020202020202024E
+:10029000020202020202020202020202020202023E
+:1002A000020202020202020202020202020202022E
+:1002B000020202020202020202020202020202021E
+:1002C000020202020202020202020202020202020E
+:1002D00002020202020202020202020202020202FE
+:1002E00002020202020202020202020202020202EE
+:1002F00002020202020202020202020202020202DE
+:1003000002020202020202020202020202020202CD
+:1003100002020202020202020202020202020202BD
+:1003200002020202020202020202020202020202AD
+:10033000020202020202020202020202020202029D
+:10034000020202020202020202020202020202028D
+:10035000020202020202020202020202020202027D
+:10036000020202020202020202020202020202026D
+:10037000020202020202020202020202020202025D
+:10038000020202020202020202020202020202024D
+:10039000020202020202020202020202020202023D
+:1003A000020202020202020202020202020202022D
+:1003B000020202020202020202020202020202021D
+:1003C000020202020202020202020202020202020D
+:1003D00002020202020202020202020202020202FD
+:1003E00002020202020202020202020202020202ED
+:1003F00002020202020202020202020202020202DD
+:1004000002020202020202020202020202020202CC
+:1004100002020202020202020202020202020202BC
+:1004200002020202020202020202020202020202AC
+:10043000020202020202020202020202020202029C
+:10044000020202020202020202020202020202028C
+:10045000020202020202020202020202020202027C
+:10046000020202020202020202020202020202026C
+:10047000020202020202020202020202020202025C
+:10048000020202020202020202020202020202024C
+:10049000020202020202020202020202020202023C
+:1004A000020202020202020202020202020202022C
+:1004B000020202020202020202020202020202021C
+:1004C000020202020202020202020202020202020C
+:1004D00002020202020202020202020202020202FC
+:1004E00002020202020202020202020202020202EC
+:1004F00002020202020202020202020202020202DC
+:1005000002020202020202020202020202020202CB
+:1005100002020202020202020202020202020202BB
+:1005200002020202020202020202020202020202AB
+:10053000020202020202020202020202020202029B
+:10054000020202020202020202020202020202028B
+:10055000020202020202020202020202020202027B
+:10056000020202020202020202020202020202026B
+:10057000020202020202020202020202020202025B
+:10058000020202020202020202020202020202024B
+:10059000020202020202020202020202020202023B
+:1005A000020202020202020202020202020202022B
+:1005B000020202020202020202020202020202021B
+:1005C000020202020202020202020202020202020B
+:1005D00002020202020202020202020202020202FB
+:1005E00002020202020202020202020202020202EB
+:1005F00002020202020202020202020202020202DB
+:1006000002020202020202020202020202020202CA
+:1006100002020202020202020202020202020202BA
+:1006200002020202020202020202020202020202AA
+:10063000020202020202020202020202020202029A
+:10064000020202020202020202020202020202028A
+:10065000020202020202020202020202020202027A
+:10066000020202020202020202020202020202026A
+:10067000020202020202020202020202020202025A
+:10068000020202020202020202020202020202024A
+:10069000020202020202020202020202020202023A
+:1006A000020202020202020202020202020202022A
+:1006B000020202020202020202020202020202021A
+:1006C000020202020202020202020202020202020A
+:1006D00002020202020202020202020202020202FA
+:1006E00002020202020202020202020202020202EA
+:1006F00002020202020202020202020202020202DA
+:1007000002020202020202020202020202020202C9
+:1007100002020202020202020202020202020202B9
+:1007200002020202020202020202020202020202A9
+:100730000202020202020202020202020202020299
+:100740000202020202020202020202020202020289
+:100750000202020202020202020202020202020279
+:100760000202020202020202020202020202020269
+:100770000202020202020202020202020202020259
+:100780000202020202020202020202020202020249
+:100790000202020202020202020202020202020239
+:1007A0000202020202020202020202020202020229
+:1007B0000202020202020202020202020202020219
+:1007C0000202020202020202020202020202020209
+:1007D00002020202020202020202020202020202F9
+:1007E00002020202020202020202020202020202E9
+:1007F00002020202020202020202020202020202D9
+:1008000002020202020202020202020202020202C8
+:1008100002020202020202020202020202020202B8
+:1008200002020202020202020202020202020202A8
+:100830000202020202020202020202020202020298
+:100840000202020202020202020202020202020288
+:100850000202020202020202020202020202020278
+:100860000202020202020202020202020202020268
+:100870000202020202020202020202020202020258
+:100880000202020202020202020202020202020248
+:100890000202020202020202020202020202020238
+:1008A0000202020202020202020202020202020228
+:1008B0000202020202020202020202020202020218
+:1008C0000202020202020202020202020202020208
+:1008D00002020202020202020202020202020202F8
+:1008E00002020202020202020202020202020202E8
+:1008F00002020202020202020202020202020202D8
+:1009000002020202020202020202020202020202C7
+:1009100002020202020202020202020202020202B7
+:1009200002020202020202020202020202020202A7
+:100930000202020202020202020202020202020297
+:100940000202020202020202020202020202020287
+:100950000202020202020202020202020202020277
+:100960000202020202020202020202020202020267
+:100970000202020202020202020202020202020257
+:100980000202020202020202020202020202020247
+:100990000202020202020202020202020202020237
+:1009A0000202020202020202020202020202020227
+:1009B0000202020202020202020202020202020217
+:1009C0000202020202020202020202020202020207
+:1009D00002020202020202020202020202020202F7
+:1009E00002020202020202020202020202020202E7
+:1009F00002020202020202020202020202020202D7
+:100A000002020202020202020202020202020202C6
+:100A100002020202020202020202020202020202B6
+:100A200002020202020202020202020202020202A6
+:100A30000202020202020202020202020202020296
+:100A40000202020202020202020202020202020286
+:100A50000202020202020202020202020202020276
+:100A60000202020202020202020202020202020266
+:100A70000202020202020202020202020202020256
+:100A80000202020202020202020202020202020246
+:100A90000202020202020202020202020202020236
+:100AA0000202020202020202020202020202020226
+:100AB0000202020202020202020202020202020216
+:100AC0000202020202020202020202020202020206
+:100AD00002020202020202020202020202020202F6
+:100AE00002020202020202020202020202020202E6
+:100AF00002020202020202020202020202020202D6
+:100B000002020202020202020202020202020202C5
+:100B100002020202020202020202020202020202B5
+:100B200002020202020202020202020202020202A5
+:100B30000202020202020202020202020202020295
+:100B40000202020202020202020202020202020285
+:100B50000202020202020202020202020202020275
+:100B60000202020202020202020202020202020265
+:100B70000202020202020202020202020202020255
+:100B80000202020202020202020202020202020245
+:100B90000202020202020202020202020202020235
+:100BA0000202020202020202020202020202020225
+:100BB0000202020202020202020202020202020215
+:100BC0000202020202020202020202020202020205
+:100BD00002020202020202020202020202020202F5
+:100BE00002020202020202020202020202020202E5
+:100BF00002020202020202020202020202020202D5
+:100C000002020202020202020202020202020202C4
+:100C100002020202020202020202020202020202B4
+:100C200002020202020202020202020202020202A4
+:100C30000202020202020202020202020202020294
+:100C40000202020202020202020202020202020284
+:100C50000202020202020202020202020202020274
+:100C60000202020202020202020202020202020264
+:100C70000202020202020202020202020202020254
+:100C80000202020202020202020202020202020244
+:100C90000202020202020202020202020202020234
+:100CA0000202020202020202020202020202020224
+:100CB0000202020202020202020202020202020214
+:100CC0000202020202020202020202020202020204
+:100CD00002020202020202020202020202020202F4
+:100CE00002020202020202020202020202020202E4
+:100CF00002020202020202020202020202020202D4
+:100D000002020202020202020202020202020202C3
+:100D100002020202020202020202020202020202B3
+:100D200002020202020202020202020202020202A3
+:100D30000202020202020202020202020202020293
+:100D40000202020202020202020202020202020283
+:100D50000202020202020202020202020202020273
+:100D60000202020202020202020202020202020263
+:100D70000202020202020202020202020202020253
+:100D80000202020202020202020202020202020243
+:100D90000202020202020202020202020202020233
+:100DA0000202020202020202020202020202020223
+:100DB0000202020202020202020202020202020213
+:100DC0000202020202020202020202020202020203
+:100DD00002020202020202020202020202020202F3
+:100DE00002020202020202020202020202020202E3
+:100DF00002020202020202020202020202020202D3
+:100E000002020202020202020202020202020202C2
+:100E100002020202020202020202020202020202B2
+:100E200002020202020202020202020202020202A2
+:100E30000202020202020202020202020202020292
+:100E40000202020202020202020202020202020282
+:100E50000202020202020202020202020202020272
+:100E60000202020202020202020202020202020262
+:100E70000202020202020202020202020202020252
+:100E80000202020202020202020202020202020242
+:100E90000202020202020202020202020202020232
+:100EA0000202020202020202020202020202020222
+:100EB0000202020202020202020202020202020212
+:100EC0000202020202020202020202020202020202
+:100ED00002020202020202020202020202020202F2
+:100EE00002020202020202020202020202020202E2
+:100EF00002020202020202020202020202020202D2
+:100F000002020202020202020202020202020202C1
+:100F100002020202020202020202020202020202B1
+:100F200002020202020202020202020202020202A1
+:100F30000202020202020202020202020202020291
+:100F40000202020202020202020202020202020281
+:100F50000202020202020202020202020202020271
+:100F60000202020202020202020202020202020261
+:100F70000202020202020202020202020202020251
+:100F80000202020202020202020202020202020241
+:100F90000202020202020202020202020202020231
+:100FA0000202020202020202020202020202020221
+:100FB0000202020202020202020202020202020211
+:100FC0000202020202020202020202020202020201
+:100FD00002020202020202020202020202020202F1
+:100FE00002020202020202020202020202020202E1
+:100FF00002020202020202020202020202020202D1
+:1010000002020202020202020202020202020202C0
+:1010100002020202020202020202020202020202B0
+:1010200002020202020202020202020202020202A0
+:101030000202020202020202020202020202020290
+:101040000202020202020202020202020202020280
+:101050000202020202020202020202020202020270
+:101060000202020202020202020202020202020260
+:101070000202020202020202020202020202020250
+:101080000202020202020202020202020202020240
+:101090000202020202020202020202020202020230
+:1010A0000202020202020202020202020202020220
+:1010B0000202020202020202020202020202020210
+:1010C0000202020202020202020202020202020200
+:1010D00002020202020202020202020202020202F0
+:1010E00002020202020202020202020202020202E0
+:1010F00002020202020202020202020202020202D0
+:1011000002020202020202020202020202020202BF
+:1011100002020202020202020202020202020202AF
+:10112000020202020202020202020202020202029F
+:10113000020202020202020202020202020202028F
+:10114000020202020202020202020202020202027F
+:10115000020202020202020202020202020202026F
+:10116000020202020202020202020202020202025F
+:10117000020202020202020202020202020202024F
+:10118000020202020202020202020202020202023F
+:10119000020202020202020202020202020202022F
+:1011A000020202020202020202020202020202021F
+:1011B000020202020202020202020202020202020F
+:1011C00002020202020202020202020202020202FF
+:1011D00002020202020202020202020202020202EF
+:1011E00002020202020202020202020202020202DF
+:1011F00002020202020202020202020202020202CF
+:1012000002020202020202020202020202020202BE
+:1012100002020202020202020202020202020202AE
+:10122000020202020202020202020202020202029E
+:10123000020202020202020202020202020202028E
+:10124000020202020202020202020202020202027E
+:10125000020202020202020202020202020202026E
+:10126000020202020202020202020202020202025E
+:10127000020202020202020202020202020202024E
+:10128000020202020202020202020202020202023E
+:10129000020202020202020202020202020202022E
+:1012A000020202020202020202020202020202021E
+:1012B000020202020202020202020202020202020E
+:1012C00002020202020202020202020202020202FE
+:1012D00002020202020202020202020202020202EE
+:1012E00002020202020202020202020202020202DE
+:1012F00002020202020202020202020202020202CE
+:1013000002020202020202020202020202020202BD
+:1013100002020202020202020202020202020202AD
+:10132000020202020202020202020202020202029D
+:10133000020202020202020202020202020202028D
+:10134000020202020202020202020202020202027D
+:10135000020202020202020202020202020202026D
+:10136000020202020202020202020202020202025D
+:10137000020202020202020202020202020202024D
+:10138000020202020202020202020202020202023D
+:10139000020202020202020202020202020202022D
+:1013A000020202020202020202020202020202021D
+:1013B000020202020202020202020202020202020D
+:1013C00002020202020202020202020202020202FD
+:1013D00002020202020202020202020202020202ED
+:1013E00002020202020202020202020202020202DD
+:1013F00002020202020202020202020202020202CD
+:1014000002020202020202020202020202020202BC
+:1014100002020202020202020202020202020202AC
+:10142000020202020202020202020202020202029C
+:10143000020202020202020202020202020202028C
+:10144000020202020202020202020202020202027C
+:10145000020202020202020202020202020202026C
+:10146000020202020202020202020202020202025C
+:10147000020202020202020202020202020202024C
+:10148000020202020202020202020202020202023C
+:10149000020202020202020202020202020202022C
+:1014A000020202020202020202020202020202021C
+:1014B000020202020202020202020202020202020C
+:1014C00002020202020202020202020202020202FC
+:1014D00002020202020202020202020202020202EC
+:1014E00002020202020202020202020202020202DC
+:1014F00002020202020202020202020202020202CC
+:1015000002020202020202020202020202020202BB
+:1015100002020202020202020202020202020202AB
+:10152000020202020202020202020202020202029B
+:10153000020202020202020202020202020202028B
+:10154000020202020202020202020202020202027B
+:10155000020202020202020202020202020202026B
+:10156000020202020202020202020202020202025B
+:10157000020202020202020202020202020202024B
+:10158000020202020202020202020202020202023B
+:10159000020202020202020202020202020202022B
+:1015A000020202020202020202020202020202021B
+:1015B000020202020202020202020202020202020B
+:1015C00002020202020202020202020202020202FB
+:1015D00002020202020202020202020202020202EB
+:1015E00002020202020202020202020202020202DB
+:1015F00002020202020202020202020202020202CB
+:1016000002020202020202020202020202020202BA
+:1016100002020202020202020202020202020202AA
+:10162000020202020202020202020202020202029A
+:10163000020202020202020202020202020202028A
+:10164000020202020202020202020202020202027A
+:10165000020202020202020202020202020202026A
+:10166000020202020202020202020202020202025A
+:10167000020202020202020202020202020202024A
+:10168000020202020202020202020202020202023A
+:10169000020202020202020202020202020202022A
+:1016A000020202020202020202020202020202021A
+:1016B000020202020202020202020202020202020A
+:1016C00002020202020202020202020202020202FA
+:1016D00002020202020202020202020202020202EA
+:1016E00002020202020202020202020202020202DA
+:1016F00002020202020202020202020202020202CA
+:1017000002020202020202020202020202020202B9
+:1017100002020202020202020202020202020202A9
+:101720000202020202020202020202020202020299
+:101730000202020202020202020202020202020289
+:101740000202020202020202020202020202020279
+:101750000202020202020202020202020202020269
+:101760000202020202020202020202020202020259
+:101770000202020202020202020202020202020249
+:101780000202020202020202020202020202020239
+:101790000202020202020202020202020202020229
+:1017A0000202020202020202020202020202020219
+:1017B0000202020202020202020202020202020209
+:1017C00002020202020202020202020202020202F9
+:1017D00002020202020202020202020202020202E9
+:1017E00002020202020202020202020202020202D9
+:1017F00002020202020202020202020202020202C9
+:1018000002020202020202020202020202020202B8
+:1018100002020202020202020202020202020202A8
+:101820000202020202020202020202020202020298
+:101830000202020202020202020202020202020288
+:101840000202020202020202020202020202020278
+:101850000202020202020202020202020202020268
+:101860000202020202020202020202020202020258
+:101870000202020202020202020202020202020248
+:101880000202020202020202020202020202020238
+:101890000202020202020202020202020202020228
+:1018A0000202020202020202020202020202020218
+:1018B0000202020202020202020202020202020208
+:1018C00002020202020202020202020202020202F8
+:1018D00002020202020202020202020202020202E8
+:1018E00002020202020202020202020202020202D8
+:1018F00002020202020202020202020202020202C8
+:1019000002020202020202020202020202020202B7
+:1019100002020202020202020202020202020202A7
+:101920000202020202020202020202020202020297
+:101930000202020202020202020202020202020287
+:101940000202020202020202020202020202020277
+:101950000202020202020202020202020202020267
+:101960000202020202020202020202020202020257
+:101970000202020202020202020202020202020247
+:101980000202020202020202020202020202020237
+:101990000202020202020202020202020202020227
+:1019A0000202020202020202020202020202020217
+:1019B0000202020202020202020202020202020207
+:1019C00002020202020202020202020202020202F7
+:1019D00002020202020202020202020202020202E7
+:1019E00002020202020202020202020202020202D7
+:1019F00002020202020202020202020202020202C7
+:101A000002020202020202020202020202020202B6
+:101A100002020202020202020202020202020202A6
+:101A20000202020202020202020202020202020296
+:101A30000202020202020202020202020202020286
+:101A40000202020202020202020202020202020276
+:101A50000202020202020202020202020202020266
+:101A60000202020202020202020202020202020256
+:101A70000202020202020202020202020202020246
+:101A80000202020202020202020202020202020236
+:101A90000202020202020202020202020202020226
+:101AA0000202020202020202020202020202020216
+:101AB0000202020202020202020202020202020206
+:101AC00002020202020202020202020202020202F6
+:101AD00002020202020202020202020202020202E6
+:101AE00002020202020202020202020202020202D6
+:101AF00002020202020202020202020202020202C6
+:101B000002020202020202020202020202020202B5
+:101B100002020202020202020202020202020202A5
+:101B20000202020202020202020202020202020295
+:101B30000202020202020202020202020202020285
+:101B40000202020202020202020202020202020275
+:101B50000202020202020202020202020202020265
+:101B60000202020202020202020202020202020255
+:101B70000202020202020202020202020202020245
+:101B80000202020202020202020202020202020235
+:101B90000202020202020202020202020202020225
+:101BA0000202020202020202020202020202020215
+:101BB0000202020202020202020202020202020205
+:101BC00002020202020202020202020202020202F5
+:101BD00002020202020202020202020202020202E5
+:101BE00002020202020202020202020202020202D5
+:101BF00002020202020202020202020202020202C5
+:101C000002020202020202020202020202020202B4
+:101C100002020202020202020202020202020202A4
+:101C20000202020202020202020202020202020294
+:101C30000202020202020202020202020202020284
+:101C40000202020202020202020202020202020274
+:101C50000202020202020202020202020202020264
+:101C60000202020202020202020202020202020254
+:101C70000202020202020202020202020202020244
+:101C80000202020202020202020202020202020234
+:101C90000202020202020202020202020202020224
+:101CA0000202020202020202020202020202020214
+:101CB0000202020202020202020202020202020204
+:101CC00002020202020202020202020202020202F4
+:101CD00002020202020202020202020202020202E4
+:101CE00002020202020202020202020202020202D4
+:101CF00002020202020202020202020202020202C4
+:101D000002020202020202020202020202020202B3
+:101D100002020202020202020202020202020202A3
+:101D20000202020202020202020202020202020293
+:101D30000202020202020202020202020202020283
+:101D40000202020202020202020202020202020273
+:101D50000202020202020202020202020202020263
+:101D60000202020202020202020202020202020253
+:101D70000202020202020202020202020202020243
+:101D80000202020202020202020202020202020233
+:101D90000202020202020202020202020202020223
+:101DA0000202020202020202020202020202020213
+:101DB0000202020202020202020202020202020203
+:101DC00002020202020202020202020202020202F3
+:101DD00002020202020202020202020202020202E3
+:101DE00002020202020202020202020202020202D3
+:101DF00002020202020202020202020202020202C3
+:101E000002020202020202020202020202020202B2
+:101E100002020202020202020202020202020202A2
+:101E20000202020202020202020202020202020292
+:101E30000202020202020202020202020202020282
+:101E40000202020202020202020202020202020272
+:101E50000202020202020202020202020202020262
+:101E60000202020202020202020202020202020252
+:101E70000202020202020202020202020202020242
+:101E80000202020202020202020202020202020232
+:101E90000202020202020202020202020202020222
+:101EA0000202020202020202020202020202020212
+:101EB0000202020202020202020202020202020202
+:101EC00002020202020202020202020202020202F2
+:101ED00002020202020202020202020202020202E2
+:101EE00002020202020202020202020202020202D2
+:101EF00002020202020202020202020202020202C2
+:101F000002020202020202020202020202020202B1
+:101F100002020202020202020202020202020202A1
+:101F20000202020202020202020202020202020291
+:101F30000202020202020202020202020202020281
+:101F40000202020202020202020202020202020271
+:101F50000202020202020202020202020202020261
+:101F60000202020202020202020202020202020251
+:101F70000202020202020202020202020202020241
+:101F80000202020202020202020202020202020231
+:101F90000202020202020202020202020202020221
+:101FA0000202020202020202020202020202020211
+:101FB0000202020202020202020202020202020201
+:101FC00002020202020202020202020202020202F1
+:101FD00002020202020202020202020202020202E1
+:101FE00002020202020202020202020202020202D1
+:101FF00002020202020202020202020202020202C1
+:1020000002020202020202020202020202020202B0
+:1020100002020202020202020202020202020202A0
+:102020000202020202020202020202020202020290
+:102030000202020202020202020202020202020280
+:102040000202020202020202020202020202020270
+:102050000202020202020202020202020202020260
+:102060000202020202020202020202020202020250
+:102070000202020202020202020202020202020240
+:102080000202020202020202020202020202020230
+:102090000202020202020202020202020202020220
+:1020A0000202020202020202020202020202020210
+:1020B0000202020202020202020202020202020200
+:1020C00002020202020202020202020202020202F0
+:1020D00002020202020202020202020202020202E0
+:1020E00002020202020202020202020202020200D2
+:1020F00000000000000000000000000000000000E0
+:1021000000000000000000000000000000000000CF
+:1021100000000000000000000000000000000000BF
+:1021200000000000000000000000000000000000AF
+:10213000000000000000000000000000000000009F
+:10214000000000000000000000000000000000008F
+:10215000000000000000000000000000000000007F
+:10216000000000000000000000000000000000006F
+:10217000000000000000000000000000000000005F
+:10218000000000000000000000000000000000004F
+:10219000000000000000000000000000000000003F
+:1021A000000000000000000000000000000000002F
+:1021B000000000000000000000000000000000001F
+:1021C000000000000000000000000000000000000F
+:1021D00000000000000000000000000000000000FF
+:1021E00000000000000000000000000000000000EF
+:1021F00000000000000000000000000000000000DF
+:1022000000000000000000000000000000000000CE
+:1022100000000000000000000000000000000000BE
+:1022200000000000000000000000000000000000AE
+:10223000000000000000000000000000000000009E
+:10224000000000000000000000000000000000008E
+:10225000000000000000000000000000000000007E
+:10226000000000000000000000000000000000006E
+:10227000000000000000000000000000000000005E
+:10228000000000000000000000000000000000004E
+:10229000000000000000000000000000000000003E
+:1022A000000000000000000000000000000000002E
+:1022B000000000000000000000000000000000001E
+:1022C000000000000000000000000000000000000E
+:1022D00000000000000000000000000000000000FE
+:1022E00000000000000000000000000000000000EE
+:1022F00000000000000000000000000000000000DE
+:1023000000000000000000000000000000000000CD
+:1023100000000000000000000000000000000000BD
+:1023200000000000000000000000000000000000AD
+:10233000000000000000000000000000000000009D
+:10234000000000000000000000000000000000008D
+:10235000000000000000000000000000000000007D
+:10236000000000000000000000000000000000006D
+:10237000000000000000000000000000000000005D
+:10238000000000000000000000000000000000004D
+:10239000000000000000000000000000000000003D
+:1023A000000000000000000000000000000000002D
+:1023B000000000000000000000000000000000001D
+:1023C000000000000000000000000000000000000D
+:1023D00000000000000000000000000000000000FD
+:1023E00000000000000000000000000000000000ED
+:1023F00000000000000000000000000000000000DD
+:1024000000000000000000000000000000000000CC
+:1024100000000000000000000000000000000000BC
+:1024200000000000000000000000000000000000AC
+:10243000000000000000000000000000000000009C
+:10244000000000000000000000000000000000008C
+:10245000000000000000000000000000000000007C
+:10246000000000000000000000000000000000006C
+:10247000000000000000000000000000000000005C
+:10248000000000000000000000000000000000004C
+:10249000000000000000000000000000000000003C
+:1024A000000000000000000000000000000000002C
+:1024B000000000000000000000000000000000001C
+:1024C000000000000000000000000000000000000C
+:1024D00000000000000000000000000000000000FC
+:1024E00000000000000000000000000000000000EC
+:1024F00000000000000000000000000000000000DC
+:1025000000000000000000000000000000000000CB
+:1025100000000000000000000000000000000000BB
+:1025200000000000000000000000000000000000AB
+:10253000000000000000000000000000000000009B
+:10254000000000000000000000000000000000008B
+:10255000000000000000000000000000000000007B
+:10256000000000000000000000000000000000006B
+:10257000000000000000000000000000000000005B
+:10258000000000000000000000000000000000004B
+:10259000000000000000000000000000000000003B
+:1025A000000000000000000000000000000000002B
+:1025B000000000000000000000000000000000001B
+:1025C000000000000000000000000000000000000B
+:1025D00000000000000000000000000000000000FB
+:1025E00000000000000000000000000000000000EB
+:1025F00000000000000000000000000000000000DB
+:1026000000000000000000000000000000000000CA
+:1026100000000000000000000000000000000000BA
+:1026200000000000000000000000000000000000AA
+:10263000000000000000000000000000000000009A
+:10264000000000000000000000000000000000008A
+:10265000000000000000000000000000000000007A
+:10266000000000000000000000000000000000006A
+:10267000000000000000000000000000000000005A
+:10268000000000000000000000000000000000004A
+:10269000000000000000000000000000000000003A
+:1026A000000000000000000000000000000000002A
+:1026B000000000000000000000000000000000001A
+:1026C000000000000000000000000000000000000A
+:1026D00000000000000000000000000000000000FA
+:1026E00000000000000000000000000000000000EA
+:1026F00000000000000000000000000000000000DA
+:1027000000000000000000000000000000000000C9
+:1027100000000000000000000000000000000000B9
+:1027200000000000000000000000000000000000A9
+:102730000000000000000000000000000000000099
+:102740000000000000000000000000000000000089
+:102750000000000000000000000000000000000079
+:102760000000000000000000000000000000000069
+:102770000000000000000000000000000000000059
+:102780000000000000000000000000000000000049
+:102790000000000000000000000000000000000039
+:1027A0000000000000000000000000000000000029
+:1027B0000000000000000000000000000000000019
+:1027C0000000000000000000000000000000000009
+:1027D00000000000000000000000000000000000F9
+:1027E00000000000000000000000000000000001E8
+:1027F00001010101010101010101010101010101C9
+:1028000001010101010101010101010101010101B8
+:1028100001010101010101010101010101010101A8
+:102820000101010101010101010101010101010198
+:102830000101010101010101010101010101010188
+:102840000101010101010101010101010101010178
+:102850000101010101010101010101010101010168
+:102860000101010101010101010101010101010158
+:102870000101010101010101010101010101010148
+:102880000101010101010101010101010101010138
+:102890000101010101010101010101010101010128
+:1028A0000101010101010101010101010101010118
+:1028B0000101010101010101010101010101010108
+:1028C00001010101010101010101010101010101F8
+:1028D00001010101010101010101010101010101E8
+:1028E00001010101010101010101010101010101D8
+:1028F00001010101010101010101010101010101C8
+:1029000001010101010101010101010101010101B7
+:1029100001010101010101010101010101010101A7
+:102920000101010101010101010101010101010197
+:102930000101010101010101010101010101010187
+:102940000101010101010101010101010101010177
+:102950000101010101010101010101010101010167
+:102960000101010101010101010101010101010157
+:102970000101010101010101010101010101010147
+:102980000101010101010101010101010101010137
+:102990000101010101010101010101010101010127
+:1029A0000101010101010101010101010101010117
+:1029B0000101010101010101010101010101010107
+:1029C00001010101010101010101010101010101F7
+:1029D00001010101010101010101010101010101E7
+:1029E00001010101010101010101010101010101D7
+:1029F00001010101010101010101010101010101C7
+:102A000001010101010101010101010101010101B6
+:102A100001010101010101010101010101010101A6
+:102A20000101010101010101010101010101010196
+:102A30000101010101010101010101010101010186
+:102A40000101010101010101010101010101010176
+:102A50000101010101010101010101010101010166
+:102A60000101010101010101010101010101010156
+:102A70000101010101010101010101010101010146
+:102A80000101010101010101010101010101010136
+:102A90000101010101010101010101010101010126
+:102AA0000101010101010101010101010101010116
+:102AB0000101010101010101010101010101010106
+:102AC00001010101010101010101010101010101F6
+:102AD00001010101010101010101010101010101E6
+:102AE00001010101010101010101010101010101D6
+:102AF00001010101010101010101010101010101C6
+:102B000001010101010101010101010101010101B5
+:102B100001010101010101010101010101010101A5
+:102B20000101010101010101010101010101010195
+:102B30000101010101010101010101010101010185
+:102B40000101010101010101010101010101010175
+:102B50000101010101010101010101010101010165
+:102B60000101010101010101010101010101010155
+:102B70000101010101010101010101010101010145
+:102B80000101010101010101010101010101010135
+:102B90000101010101010101010101010101010125
+:102BA0000101010101010101010101010101010115
+:102BB0000101010101010101010101010101010105
+:102BC00001010101010101010101010101010101F5
+:102BD00001010101010101010101010101010101E5
+:102BE00001010101010101010101010101010101D5
+:102BF00001010101010101010101010101010101C5
+:102C000001010101010101010101010101010101B4
+:102C100001010101010101010101010101010101A4
+:102C20000101010101010101010101010101010194
+:102C30000101010101010101010101010101010184
+:102C40000101010101010101010101010101010174
+:102C50000101010101010101010101010101010164
+:102C60000101010101010101010101010101010154
+:102C70000101010101010101010101010101010144
+:102C80000101010101010101010101010101010134
+:102C90000101010101010101010101010101010124
+:102CA0000101010101010101010101010101010114
+:102CB0000101010101010101010101010101010104
+:102CC00001010101010101010101010101010101F4
+:102CD00001010101010101010101010101010101E4
+:102CE00001010101010101010101010101010101D4
+:102CF00001010101010101010101010101010101C4
+:102D000001010101010101010101010101010101B3
+:102D100001010101010101010101010101010101A3
+:102D20000101010101010101010101010101010193
+:102D30000101010101010101010101010101010183
+:102D40000101010101010101010101010101010173
+:102D50000101010101010101010101010101010163
+:102D60000101010101010101010101010101010153
+:102D70000101010101010101010101010101010143
+:102D80000101010101010101010101010101010133
+:102D90000101010101010101010101010101010123
+:102DA0000101010101010101010101010101010113
+:102DB0000101010101010101010101010101010103
+:102DC00001010101010101010101010101010101F3
+:102DD00001010101010101010101010101010101E3
+:102DE00001010101010101010101010101010101D3
+:102DF00001010101010101010101010101010101C3
+:102E000001010101010101010101010101010101B2
+:102E100001010101010101010101010101010101A2
+:102E20000101010101010101010101010101010192
+:102E30000101010101010101010101010101010182
+:102E40000101010101010101010101010101010172
+:102E50000101010101010101010101010101010162
+:102E60000101010101010101010101010101010152
+:102E70000101010101010101010101010101010142
+:102E80000101010101010101010101010101010132
+:102E90000101010101010101010101010101010122
+:102EA0000101010101010101010101010101010112
+:102EB0000101010101010101010101010101010102
+:102EC00001010101010101010101010101010101F2
+:102ED00001010101010101010101010101010101E2
+:102EE00001010101010101010101010101010101D2
+:102EF00001010101010101010101010101010101C2
+:102F000001010101010101010101010101010101B1
+:102F100001010101010101010101010101010101A1
+:102F20000101010101010101010101010101010191
+:102F30000101010101010101010101010101010181
+:102F40000101010101010101010101010101010171
+:102F50000101010101010101010101010101010161
+:102F60000101010101010101010101010101010151
+:102F70000101010101010101010101010101010141
+:102F80000101010101010101010101010101010131
+:102F90000101010101010101010101010101010121
+:102FA0000101010101010101010101010101010111
+:102FB0000101010101010101010101010101010101
+:102FC00001010101010101010101010101010101F1
+:102FD00001010101010101010101010101010101E1
+:102FE00001010101010101010101010101010101D1
+:102FF00001010101010101010101010101010101C1
+:1030000001010101010101010101010101010101B0
+:1030100001010101010101010101010101010101A0
+:103020000101010101010101010101010101010190
+:103030000101010101010101010101010101010180
+:103040000101010101010101010101010101010170
+:103050000101010101010101010101010101010160
+:103060000101010101010101010101010101010150
+:103070000101010101010101010101010101010140
+:103080000101010101010101010101010101010130
+:103090000101010101010101010101010101010120
+:1030A0000101010101010101010101010101010110
+:1030B0000101010101010101010101010101010100
+:1030C00001010101010101010101010101010101F0
+:1030D00001010101010101010101010101010101E0
+:1030E00001010101010101010101010101010101D0
+:1030F00001010101010101010101010101010101C0
+:1031000001010101010101010101010101010101AF
+:10311000010101010101010101010101010101019F
+:10312000010101010101010101010101010101018F
+:10313000010101010101010101010101010101017F
+:10314000010101010101010101010101010101016F
+:10315000010101010101010101010101010101015F
+:10316000010101010101010101010101010101014F
+:10317000010101010101010101010101010101013F
+:10318000010101010101010101010101010101012F
+:10319000010101010101010101010101010101011F
+:1031A000010101010101010101010101010101010F
+:1031B00001010101010101010101010101010101FF
+:1031C00001010101010101010101010101010101EF
+:1031D00001010101010101010101010101010101DF
+:1031E00001010101010101010101010101010101CF
+:1031F00001010101010101010101010101010101BF
+:1032000001010101010101010101010101010101AE
+:10321000010101010101010101010101010101019E
+:10322000010101010101010101010101010101018E
+:10323000010101010101010101010101010101017E
+:10324000010101010101010101010101010101016E
+:10325000010101010101010101010101010101015E
+:10326000010101010101010101010101010101014E
+:10327000010101010101010101010101010101013E
+:10328000010101010101010101010101010101012E
+:10329000010101010101010101010101010101011E
+:1032A000010101010101010101010101010101010E
+:1032B00001010101010101010101010101010101FE
+:1032C00001010101010101010101010101010101EE
+:1032D00001010101010101010101010101010101DE
+:1032E00001010101010101010101010101010101CE
+:1032F00001010101010101010101010101010101BE
+:1033000001010101010101010101010101010101AD
+:10331000010101010101010101010101010101019D
+:10332000010101010101010101010101010101018D
+:10333000010101010101010101010101010101017D
+:10334000010101010101010101010101010101016D
+:10335000010101010101010101010101010101015D
+:10336000010101010101010101010101010101014D
+:10337000010101010101010101010101010101013D
+:10338000010101010101010101010101010101012D
+:10339000010101010101010101010101010101011D
+:1033A000010101010101010101010101010101010D
+:1033B00001010101010101010101010101010101FD
+:1033C00001010101010101010101010101010101ED
+:1033D00001010101010101010101010101010101DD
+:1033E00001010101010101010101010101010101CD
+:1033F00001010101010101010101010101010101BD
+:1034000001010101010101010101010101010101AC
+:10341000010101010101010101010101010101019C
+:10342000010101010101010101010101010101018C
+:10343000010101010101010101010101010101017C
+:10344000010101010101010101010101010101016C
+:10345000010101010101010101010101010101015C
+:10346000010101010101010101010101010101014C
+:10347000010101010101010101010101010101013C
+:10348000010101010101010101010101010101012C
+:10349000010101010101010101010101010101011C
+:1034A000010101010101010101010101010101010C
+:1034B00001010101010101010101010101010101FC
+:1034C00001010101010101010101010101010101EC
+:1034D00001010101010101010101010101010101DC
+:1034E00001010101010101010101010101010101CC
+:1034F00001010101010101010101010101010101BC
+:1035000001010101010101010101010101010101AB
+:10351000010101010101010101010101010101019B
+:10352000010101010101010101010101010101018B
+:10353000010101010101010101010101010101017B
+:10354000010101010101010101010101010101016B
+:10355000010101010101010101010101010101015B
+:10356000010101010101010101010101010101014B
+:10357000010101010101010101010101010101013B
+:10358000010101010101010101010101010101012B
+:10359000010101010101010101010101010101011B
+:1035A000010101010101010101010101010101010B
+:1035B00001010101010101010101010101010101FB
+:1035C00001010101010101010101010101010101EB
+:1035D00001010101010101010101010101010101DB
+:1035E00001010101010101010101010101010101CB
+:1035F00001010101010101010101010101010101BB
+:1036000001010101010101010101010101010101AA
+:10361000010101010101010101010101010101019A
+:10362000010101010101010101010101010101018A
+:10363000010101010101010101010101010101017A
+:10364000010101010101010101010101010101016A
+:10365000010101010101010101010101010101015A
+:10366000010101010101010101010101010101014A
+:10367000010101010101010101010101010101013A
+:10368000010101010101010101010101010101012A
+:10369000010101010101010101010101010101011A
+:1036A000010101010101010101010101010101010A
+:1036B00001010101010101010101010101010101FA
+:1036C00001010101010101010101010101010101EA
+:1036D00001010101010101010101010101010101DA
+:1036E00001010101010101010101010101010101CA
+:1036F00001010101010101010101010101010101BA
+:1037000001010101010101010101010101010101A9
+:103710000101010101010101010101010101010199
+:103720000101010101010101010101010101010189
+:103730000101010101010101010101010101010179
+:103740000101010101010101010101010101010169
+:103750000101010101010101010101010101010159
+:103760000101010101010101010101010101010149
+:103770000101010101010101010101010101010139
+:103780000101010101010101010101010101010129
+:103790000101010101010101010101010101010119
+:1037A0000101010101010101010101010101010109
+:1037B00001010101010101010101010101010101F9
+:1037C00001010101010101010101010101010101E9
+:1037D00001010101010101010101010101010101D9
+:1037E00001010101010101010101010101010101C9
+:1037F00001010101010101010101010101010101B9
+:1038000001010101010101010101010101010101A8
+:103810000101010101010101010101010101010198
+:103820000101010101010101010101010101010188
+:103830000101010101010101010101010101010178
+:103840000101010101010101010101010101010168
+:103850000101010101010101010101010101010158
+:103860000101010101010101010101010101010148
+:103870000101010101010101010101010101010138
+:103880000101010101010101010101010101010128
+:103890000101010101010101010101010101010118
+:1038A0000101010101010101010101010101010108
+:1038B00001010101010101010101010101010101F8
+:1038C00001010101010101010101010101010101E8
+:1038D00001010101010101010101010101010101D8
+:1038E00001010101010101010101010101010101C8
+:1038F00001010101010101010101010101010101B8
+:1039000001010101010101010101010101010101A7
+:103910000101010101010101010101010101010197
+:103920000101010101010101010101010101010187
+:103930000101010101010101010101010101010177
+:103940000101010101010101010101010101010167
+:103950000101010101010101010101010101010157
+:103960000101010101010101010101010101010147
+:103970000101010101010101010101010101010137
+:103980000101010101010101010101010101010127
+:103990000101010101010101010101010101010117
+:1039A0000101010101010101010101010101010107
+:1039B00001010101010101010101010101010101F7
+:1039C00001010101010101010101010101010101E7
+:1039D00001010101010101010101010101010101D7
+:1039E00001010101010101010101010101010101C7
+:1039F00001010101010101010101010101010101B7
+:103A000001010101010101010101010101010101A6
+:103A10000101010101010101010101010101010196
+:103A20000101010101010101010101010101010186
+:103A30000101010101010101010101010101010176
+:103A40000101010101010101010101010101010166
+:103A50000101010101010101010101010101010156
+:103A60000101010101010101010101010101010146
+:103A70000101010101010101010101010101010136
+:103A80000101010101010101010101010101010126
+:103A90000101010101010101010101010101010116
+:103AA0000101010101010101010101010101010106
+:103AB00001010101010101010101010101010101F6
+:103AC00001010101010101010101010101010101E6
+:103AD00001010101010101010101010101010101D6
+:103AE00001010101010101010101010101010101C6
+:103AF00001010101010101010101010101010101B6
+:103B000001010101010101010101010101010101A5
+:103B10000101010101010101010101010101010195
+:103B20000101010101010101010101010101010185
+:103B30000101010101010101010101010101010175
+:103B40000101010101010101010101010101010165
+:103B50000101010101010101010101010101010155
+:103B60000101010101010101010101010101010145
+:103B70000101010101010101010101010101010135
+:103B80000101010101010101010101010101010125
+:103B90000101010101010101010101010101010115
+:103BA0000101010101010101010101010101010105
+:103BB00001010101010101010101010101010101F5
+:103BC00001010101010101010101010101010101E5
+:103BD00001010101010101010101010101010101D5
+:103BE00001010101010101010101010101010101C5
+:103BF00001010101010101010101010101010101B5
+:103C000001010101010101010101010101010101A4
+:103C10000101010101010101010101010101010194
+:103C20000101010101010101010101010101010184
+:103C30000101010101010101010101010101010174
+:103C40000101010101010101010101010101010164
+:103C50000101010101010101010101010101010154
+:103C60000101010101010101010101010101010144
+:103C70000101010101010101010101010101010134
+:103C80000101010101010101010101010101010124
+:103C90000101010101010101010101010101010114
+:103CA0000101010101010101010101010101010104
+:103CB00001010101010101010101010101010101F4
+:103CC00001010101010101010101010101010101E4
+:103CD00001010101010101010101010101010101D4
+:103CE00001010101010101010101010101010101C4
+:103CF00001010101010101010101010101010101B4
+:103D000001010101010101010101010101010101A3
+:103D10000101010101010101010101010101010193
+:103D20000101010101010101010101010101010183
+:103D30000101010101010101010101010101010173
+:103D40000101010101010101010101010101010163
+:103D50000101010101010101010101010101010153
+:103D60000101010101010101010101010101010143
+:103D70000101010101010101010101010101010133
+:103D80000101010101010101010101010101010123
+:103D90000101010101010101010101010101010113
+:103DA0000101010101010101010101010101010103
+:103DB00001010101010101010101010101010101F3
+:103DC00001010101010101010101010101010101E3
+:103DD00001010101010101010101010101010101D3
+:103DE00001010101010101010101010101010101C3
+:103DF00001010101010101010101010101010101B3
+:103E000001010101010101010101010101010101A2
+:103E10000101010101010101010101010101010192
+:103E20000101010101010101010101010101010182
+:103E30000101010101010101010101010101010172
+:103E40000101010101010101010101010101010162
+:103E50000101010101010101010101010101010152
+:103E60000101010101010101010101010101010142
+:103E70000101010101010101010101010101010132
+:103E80000101010101010101010101010101010122
+:103E90000101010101010101010101010101010112
+:103EA0000101010101010101010101010101010102
+:103EB00001010101010101010101010101010101F2
+:103EC00001010101010101010101010101010101E2
+:103ED00001010101010101010101010101010101D2
+:103EE00001010101010101010101010101010101C2
+:103EF00001010101010101010101010101010101B2
+:103F000001010101010101010101010101010101A1
+:103F10000101010101010101010101010101010191
+:103F20000101010101010101010101010101010181
+:103F30000101010101010101010101010101010171
+:103F40000101010101010101010101010101010161
+:103F50000101010101010101010101010101010151
+:103F60000101010101010101010101010101010141
+:103F70000101010101010101010101010101010131
+:103F80000101010101010101010101010101010121
+:103F90000101010101010101010101010101010111
+:103FA0000101010101010101010101010101010101
+:103FB00001010101010101010101010101010101F1
+:103FC00001010101010101010101010101010101E1
+:103FD00001010101010101010101010101010101D1
+:103FE00001010101010101010101010101010101C1
+:103FF00001010101010101010101010101010101B1
+:1040000001010101010101010101010101010101A0
+:104010000101010101010101010101010101010190
+:104020000101010101010101010101010101010180
+:104030000101010101010101010101010101010170
+:104040000101010101010101010101010101010160
+:104050000101010101010101010101010101010150
+:104060000101010101010101010101010101010140
+:104070000101010101010101010101010101010130
+:104080000101010101010101010101010101010120
+:104090000101010101010101010101010101010110
+:1040A0000101010101010101010101010101010100
+:1040B00001010101010101010101010101010101F0
+:1040C00001010101010101010101010101010101E0
+:1040D00001010101010101010101010101010101D0
+:1040E00001010101010101010101010101010101C0
+:1040F00001010101010101010101010101010101B0
+:10410000010101010101010101010101010101019F
+:10411000010101010101010101010101010101018F
+:10412000010101010101010101010101010101017F
+:10413000010101010101010101010101010101016F
+:10414000010101010101010101010101010101015F
+:10415000010101010101010101010101010101014F
+:10416000010101010101010101010101010101013F
+:10417000010101010101010101010101010101012F
+:10418000010101010101010101010101010101011F
+:10419000010101010101010101010101010101010F
+:1041A00001010101010101010101010101010101FF
+:1041B00001010101010101010101010101010101EF
+:1041C00001010101010101010101010101010101DF
+:1041D00001010101010101010101010101010101CF
+:1041E00001010101010101010101010101010101BF
+:1041F00001010101010101010101010101010101AF
+:10420000010101010101010101010101010101019E
+:10421000010101010101010101010101010101018E
+:10422000010101010101010101010101010101017E
+:10423000010101010101010101010101010101016E
+:10424000010101010101010101010101010101015E
+:10425000010101010101010101010101010101014E
+:10426000010101010101010101010101010101013E
+:10427000010101010101010101010101010101012E
+:10428000010101010101010101010101010101011E
+:10429000010101010101010101010101010101010E
+:1042A00001010101010101010101010101010101FE
+:1042B00001010101010101010101010101010101EE
+:1042C00001010101010101010101010101010101DE
+:1042D00001010101010101010101010101010101CE
+:1042E00001010101010101010101010101010101BE
+:1042F00001010101010101010101010101010101AE
+:10430000010101010101010101010101010101019D
+:10431000010101010101010101010101010101018D
+:10432000010101010101010101010101010101017D
+:10433000010101010101010101010101010101016D
+:10434000010101010101010101010101010101015D
+:10435000010101010101010101010101010101014D
+:10436000010101010101010101010101010101013D
+:10437000010101010101010101010101010101012D
+:10438000010101010101010101010101010101011D
+:10439000010101010101010101010101010101010D
+:1043A00001010101010101010101010101010101FD
+:1043B00001010101010101010101010101010101ED
+:1043C00001010101010101010101010101010101DD
+:1043D00001010101010101010101010101010101CD
+:1043E00001010101010101010101010101010101BD
+:1043F00001010101010101010101010101010101AD
+:10440000010101010101010101010101010101019C
+:10441000010101010101010101010101010101018C
+:10442000010101010101010101010101010101017C
+:10443000010101010101010101010101010101016C
+:10444000010101010101010101010101010101015C
+:10445000010101010101010101010101010101014C
+:10446000010101010101010101010101010101013C
+:10447000010101010101010101010101010101012C
+:10448000010101010101010101010101010101011C
+:10449000010101010101010101010101010101010C
+:1044A00001010101010101010101010101010101FC
+:1044B00001010101010101010101010101010101EC
+:1044C00001010101010101010101010101010101DC
+:1044D00001010101010101010101010101010101CC
+:1044E00001010101010101010101010101010101BC
+:1044F00001010101010101010101010101010101AC
+:10450000010101010101010101010101010101019B
+:10451000010101010101010101010101010101018B
+:10452000010101010101010101010101010101017B
+:10453000010101010101010101010101010101016B
+:10454000010101010101010101010101010101015B
+:10455000010101010101010101010101010101014B
+:10456000010101010101010101010101010101013B
+:10457000010101010101010101010101010101012B
+:10458000010101010101010101010101010101011B
+:10459000010101010101010101010101010101010B
+:1045A00001010101010101010101010101010101FB
+:1045B00001010101010101010101010101010101EB
+:1045C00001010101010101010101010101010101DB
+:1045D00001010101010101010101010101010101CB
+:1045E00001010101010101010101010101010101BB
+:1045F00001010101010101010101010101010101AB
+:10460000010101010101010101010101010101019A
+:10461000010101010101010101010101010101018A
+:10462000010101010101010101010101010101017A
+:10463000010101010101010101010101010101016A
+:10464000010101010101010101010101010101015A
+:10465000010101010101010101010101010101014A
+:10466000010101010101010101010101010101013A
+:10467000010101010101010101010101010101012A
+:10468000010101010101010101010101010101011A
+:10469000010101010101010101010101010101010A
+:1046A00001010101010101010101010101010101FA
+:1046B00001010101010101010101010101010101EA
+:1046C00001010101010101010101010101010101DA
+:1046D00001010101010101010101010101010101CA
+:1046E00001010101010101010101010101010101BA
+:1046F00001010101010101010101010101010101AA
+:104700000101010101010101010101010101010199
+:104710000101010101010101010101010101010189
+:104720000101010101010101010101010101010179
+:104730000101010101010101010101010101010169
+:104740000101010101010101010101010101010159
+:104750000101010101010101010101010101010149
+:104760000101010101010101010101010101010139
+:104770000101010101010101010101010101010129
+:104780000101010101010101010101010101010119
+:104790000101010101010101010101010101010109
+:1047A00001010101010101010101010101010101F9
+:1047B00001010101010101010101010101010101E9
+:1047C00001010101010101010101010101010101D9
+:1047D00001010101010101010101010101010101C9
+:1047E00001010101010101010101010101010101B9
+:1047F00001010101010101010101010101010101A9
+:104800000101010101010101010101010101010198
+:104810000101010101010101010101010101010188
+:104820000101010101010101010101010101010178
+:104830000101010101010101010101010101010168
+:104840000101010101010101010101010101010158
+:104850000101010101010101010101010101010148
+:104860000101010101010101010101010101010138
+:104870000101010101010101010101010101010128
+:104880000101010101010101010101010101010118
+:104890000101010101010101010101010101010108
+:1048A00001010101010101010101010101010101F8
+:1048B00001010101010101010101010101010101E8
+:1048C00001010101010101010101010101010101D8
+:1048D00001010101010101010101010101010101C8
+:1048E00001010101010101010101010101010101B8
+:1048F00001010101010101010101010101010101A8
+:104900000101010101010101010101010101010197
+:104910000101010101010101010101010101010187
+:104920000101010101010101010101010101010177
+:104930000101010101010101010101010101010167
+:104940000101010101010101010101010101010157
+:104950000101010101010101010101010101010147
+:104960000101010101010101010101010101010137
+:104970000101010101010101010101010101010127
+:104980000101010101010101010101010101010117
+:104990000101010101010101010101010101010107
+:1049A00001010101010101010101010101010101F7
+:1049B00001010101010101010101010101010101E7
+:1049C00001010101010101010101010101010101D7
+:1049D00001010101010101010101010101010101C7
+:1049E00001010101010101010101010101010101B7
+:1049F00001010101010101010101010101010101A7
+:104A00000101010101010101010101010101010196
+:104A10000101010101010101010101010101010186
+:104A20000101010101010101010101010101010176
+:104A30000101010101010101010101010101010166
+:104A40000101010101010101010101010101010156
+:104A50000101010101010101010101010101010146
+:104A60000101010101010101010101010101010136
+:104A70000101010101010101010101010101010126
+:104A80000101010101010101010101010101010116
+:104A90000101010101010101010101010101010106
+:104AA00001010101010101010101010101010101F6
+:104AB00001010101010101010101010101010101E6
+:104AC00001010101010101010101010101010101D6
+:104AD00001010101010101010101010101010101C6
+:104AE00001010101010101010101010101010101B6
+:104AF00001010101010101010101010101010101A6
+:104B00000101010101010101010101010101010195
+:104B10000101010101010101010101010101010185
+:104B20000101010101010101010101010101010175
+:104B30000101010101010101010101010101010165
+:104B40000101010101010101010101010101010155
+:104B50000101010101010101010101010101010145
+:104B60000101010101010101010101010101010135
+:104B70000101010101010101010101010101010125
+:104B80000101010101010101010101010101010115
+:104B90000101010101010101010101010101010105
+:104BA00001010101010101010101010101010101F5
+:104BB00001010101010101010101010101010101E5
+:104BC00001010101010101010101010101010101D5
+:104BD00001010101010101010101010101010101C5
+:104BE00001010101010101010101010101010101B5
+:104BF00001010101010101010101010101010101A5
+:104C00000101010101010101010101010101010194
+:104C10000101010101010101010101010101010184
+:104C20000101010101010101010101010101010174
+:104C30000101010101010101010101010101010164
+:104C40000101010101010101010101010101010154
+:104C50000101010101010101010101010101010144
+:104C60000101010101010101010101010101010134
+:104C70000101010101010101010101010101010124
+:104C80000101010101010101010101010101010114
+:104C90000101010101010101010101010101010104
+:104CA00001010101010101010101010101010101F4
+:104CB00001010101010101010101010101010101E4
+:104CC00001010101010101010101010101010101D4
+:104CD00001010101010101010101010101010101C4
+:104CE00001010101010101010101010101010101B4
+:104CF00001010101010101010101010101010101A4
+:104D00000101010101010101010101010101010193
+:104D10000101010101010101010101010101010183
+:104D20000101010101010101010101010101010173
+:104D30000101010101010101010101010101010163
+:104D40000101010101010101010101010101010153
+:104D50000101010101010101010101010101010143
+:104D60000101010101010101010101010101010133
+:104D70000101010101010101010101010101010123
+:104D80000101010101010101010101010101010113
+:104D90000101010101010101010101010101010103
+:104DA00001010101010101010101010101010101F3
+:104DB00001010101010101010101010101010101E3
+:104DC00001010101010101010101010101010101D3
+:104DD00001010101010101010101010101010101C3
+:104DE00001010101010101010101010101010101B3
+:104DF00001010101010101010101010101010101A3
+:104E00000101010101010101010101010101010192
+:104E10000101010101010101010101010101010182
+:104E20000101010101010101010101010101010172
+:104E30000101010101010101010101010101010162
+:104E40000101010101010101010101010101010152
+:104E50000101010101010101010101010101010142
+:104E60000101010101010101010101010101010132
+:104E70000101010101010101010101010101010122
+:104E80000101010101010101010101010101010112
+:104E90000101010101010101010101010101010102
+:104EA00001010101010101010101010101010101F2
+:104EB00001010101010101010101010101010101E2
+:104EC00001010101010101010101010101010101D2
+:104ED00001010101010101010101010101010101C2
+:104EE00001010101010101010101010101010101B2
+:104EF00001010101010101010101010101010101A2
+:104F00000101010101010101010101010101010191
+:104F10000101010101010101010101010101010181
+:104F20000101010101010101010101010101010171
+:104F30000101010101010101010101010101010161
+:104F40000101010101010101010101010101010151
+:104F50000101010101010101010101010101010141
+:104F60000101010101010101010101010101010131
+:104F70000101010101010101010101010101010121
+:104F80000101010101010101010101010101010111
+:104F90000101010101010101010101010101010101
+:104FA00001010101010101010101010101010101F1
+:104FB00001010101010101010101010101010101E1
+:104FC00001010101010101010101010101010101D1
+:104FD00001010101010101010101010101010101C1
+:104FE00001010101010101010101010101010101B1
+:104FF00001010101010101010101010101010101A1
+:105000000101010101010101010101010101010190
+:105010000101010101010101010101010101010180
+:105020000101010101010101010101010101010170
+:105030000101010101010101010101010101010160
+:105040000101010101010101010101010101010150
+:105050000101010101010101010101010101010140
+:105060000101010101010101010101010101010130
+:105070000101010101010101010101010101010120
+:105080000101010101010101010101010101010110
+:105090000101010101010101010101010101010100
+:1050A00001010101010101010101010101010101F0
+:1050B00001010101010101010101010101010101E0
+:1050C00001010101010101010101010101010101D0
+:1050D00001010101010101010101010101010101C0
+:1050E00001010101010101010101010101010100B1
+:1050F00000000000000000000000000000000000B0
+:10510000000000000000000000000000000000009F
+:10511000000000000000000000000000000000008F
+:10512000000000000000000000000000000000007F
+:10513000000000000000000000000000000000006F
+:10514000000000000000000000000000000000005F
+:10515000000000000000000000000000000000004F
+:10516000000000000000000000000000000000003F
+:10517000000000000000000000000000000000002F
+:10518000000000000000000000000000000000001F
+:10519000000000000000000000000000000000000F
+:1051A00000000000000000000000000000000000FF
+:1051B00000000000000000000000000000000000EF
+:1051C00000000000000000000000000000000000DF
+:1051D00000000000000000000000000000000000CF
+:1051E00000000000000000000000000000000000BF
+:1051F00000000000000000000000000000000000AF
+:10520000000000000000000000000000000000009E
+:10521000000000000000000000000000000000008E
+:10522000000000000000000000000000000000007E
+:10523000000000000000000000000000000000006E
+:10524000000000000000000000000000000000005E
+:10525000000000000000000000000000000000004E
+:10526000000000000000000000000000000000003E
+:10527000000000000000000000000000000000002E
+:10528000000000000000000000000000000000001E
+:10529000000000000000000000000000000000000E
+:1052A00000000000000000000000000000000000FE
+:1052B00000000000000000000000000000000000EE
+:1052C00000000000000000000000000000000000DE
+:1052D00000000000000000000000000000000000CE
+:1052E00000000000000000000000000000000000BE
+:1052F00000000000000000000000000000000000AE
+:10530000000000000000000000000000000000009D
+:10531000000000000000000000000000000000008D
+:10532000000000000000000000000000000000007D
+:10533000000000000000000000000000000000006D
+:10534000000000000000000000000000000000005D
+:10535000000000000000000000000000000000004D
+:10536000000000000000000000000000000000003D
+:10537000000000000000000000000000000000002D
+:10538000000000000000000000000000000000001D
+:10539000000000000000000000000000000000000D
+:1053A00000000000000000000000000000000000FD
+:1053B00000000000000000000000000000000000ED
+:1053C00000000000000000000000000000000000DD
+:1053D00000000000000000000000000000000000CD
+:1053E00000000000000000000000000000000000BD
+:1053F00000000000000000000000000000000000AD
+:10540000000000000000000000000000000000009C
+:10541000000000000000000000000000000000008C
+:10542000000000000000000000000000000000007C
+:10543000000000000000000000000000000000006C
+:10544000000000000000000000000000000000005C
+:10545000000000000000000000000000000000004C
+:10546000000000000000000000000000000000003C
+:10547000000000000000000000000000000000002C
+:10548000000000000000000000000000000000001C
+:10549000000000000000000000000000000000000C
+:1054A00000000000000000000000000000000000FC
+:1054B00000000000000000000000000000000000EC
+:1054C00000000000000000000000000000000000DC
+:1054D00000000000000000000000000000000000CC
+:1054E00000000000000000000000000000000002BA
+:1054F000020202020202020202020202020202028C
+:10550000020202020202020202020202020202027B
+:10551000020202020202020202020202020202026B
+:10552000020202020202020202020202020202025B
+:10553000020202020202020202020202020202024B
+:10554000020202020202020202020202020202023B
+:10555000020202020202020202020202020202022B
+:10556000020202020202020202020202020202021B
+:10557000020202020202020202020202020202020B
+:1055800002020202020202020202020202020202FB
+:1055900002020202020202020202020202020202EB
+:1055A00002020202020202020202020202020202DB
+:1055B00002020202020202020202020202020202CB
+:1055C00002020202020202020202020202020202BB
+:1055D00002020202020202020202020202020202AB
+:1055E000020202020202020202020202020202029B
+:1055F000020202020202020202020202020202028B
+:10560000020202020202020202020202020202027A
+:10561000020202020202020202020202020202026A
+:10562000020202020202020202020202020202025A
+:10563000020202020202020202020202020202024A
+:10564000020202020202020202020202020202023A
+:10565000020202020202020202020202020202022A
+:10566000020202020202020202020202020202021A
+:10567000020202020202020202020202020202020A
+:1056800002020202020202020202020202020202FA
+:1056900002020202020202020202020202020202EA
+:1056A00002020202020202020202020202020202DA
+:1056B00002020202020202020202020202020202CA
+:1056C00002020202020202020202020202020202BA
+:1056D00002020202020202020202020202020202AA
+:1056E000020202020202020202020202020202029A
+:1056F000020202020202020202020202020202028A
+:105700000202020202020202020202020202020279
+:105710000202020202020202020202020202020269
+:105720000202020202020202020202020202020259
+:105730000202020202020202020202020202020249
+:105740000202020202020202020202020202020239
+:105750000202020202020202020202020202020229
+:105760000202020202020202020202020202020219
+:105770000202020202020202020202020202020209
+:1057800002020202020202020202020202020202F9
+:1057900002020202020202020202020202020202E9
+:1057A00002020202020202020202020202020202D9
+:1057B00002020202020202020202020202020202C9
+:1057C00002020202020202020202020202020202B9
+:1057D00002020202020202020202020202020202A9
+:1057E0000202020202020202020202020202020299
+:1057F0000202020202020202020202020202020289
+:105800000202020202020202020202020202020278
+:105810000202020202020202020202020202020268
+:105820000202020202020202020202020202020258
+:105830000202020202020202020202020202020248
+:105840000202020202020202020202020202020238
+:105850000202020202020202020202020202020228
+:105860000202020202020202020202020202020218
+:105870000202020202020202020202020202020208
+:1058800002020202020202020202020202020202F8
+:1058900002020202020202020202020202020202E8
+:1058A00002020202020202020202020202020202D8
+:1058B00002020202020202020202020202020202C8
+:1058C00002020202020202020202020202020202B8
+:1058D00002020202020202020202020202020202A8
+:1058E0000202020202020202020202020202020298
+:1058F0000202020202020202020202020202020288
+:105900000202020202020202020202020202020277
+:105910000202020202020202020202020202020267
+:105920000202020202020202020202020202020257
+:105930000202020202020202020202020202020247
+:105940000202020202020202020202020202020237
+:105950000202020202020202020202020202020227
+:105960000202020202020202020202020202020217
+:105970000202020202020202020202020202020207
+:1059800002020202020202020202020202020202F7
+:1059900002020202020202020202020202020202E7
+:1059A00002020202020202020202020202020202D7
+:1059B00002020202020202020202020202020202C7
+:1059C00002020202020202020202020202020202B7
+:1059D00002020202020202020202020202020202A7
+:1059E0000202020202020202020202020202020297
+:1059F0000202020202020202020202020202020287
+:105A00000202020202020202020202020202020276
+:105A10000202020202020202020202020202020266
+:105A20000202020202020202020202020202020256
+:105A30000202020202020202020202020202020246
+:105A40000202020202020202020202020202020236
+:105A50000202020202020202020202020202020226
+:105A60000202020202020202020202020202020216
+:105A70000202020202020202020202020202020206
+:105A800002020202020202020202020202020202F6
+:105A900002020202020202020202020202020202E6
+:105AA00002020202020202020202020202020202D6
+:105AB00002020202020202020202020202020202C6
+:105AC00002020202020202020202020202020202B6
+:105AD00002020202020202020202020202020202A6
+:105AE0000202020202020202020202020202020296
+:105AF0000202020202020202020202020202020286
+:105B00000202020202020202020202020202020275
+:105B10000202020202020202020202020202020265
+:105B20000202020202020202020202020202020255
+:105B30000202020202020202020202020202020245
+:105B40000202020202020202020202020202020235
+:105B50000202020202020202020202020202020225
+:105B60000202020202020202020202020202020215
+:105B70000202020202020202020202020202020205
+:105B800002020202020202020202020202020202F5
+:105B900002020202020202020202020202020202E5
+:105BA00002020202020202020202020202020202D5
+:105BB00002020202020202020202020202020202C5
+:105BC00002020202020202020202020202020202B5
+:105BD00002020202020202020202020202020202A5
+:105BE0000202020202020202020202020202020295
+:105BF0000202020202020202020202020202020285
+:105C00000202020202020202020202020202020274
+:105C10000202020202020202020202020202020264
+:105C20000202020202020202020202020202020254
+:105C30000202020202020202020202020202020244
+:105C40000202020202020202020202020202020234
+:105C50000202020202020202020202020202020224
+:105C60000202020202020202020202020202020214
+:105C70000202020202020202020202020202020204
+:105C800002020202020202020202020202020202F4
+:105C900002020202020202020202020202020202E4
+:105CA00002020202020202020202020202020202D4
+:105CB00002020202020202020202020202020202C4
+:105CC00002020202020202020202020202020202B4
+:105CD00002020202020202020202020202020202A4
+:105CE0000202020202020202020202020202020294
+:105CF0000202020202020202020202020202020284
+:105D00000202020202020202020202020202020273
+:105D10000202020202020202020202020202020263
+:105D20000202020202020202020202020202020253
+:105D30000202020202020202020202020202020243
+:105D40000202020202020202020202020202020233
+:105D50000202020202020202020202020202020223
+:105D60000202020202020202020202020202020213
+:105D70000202020202020202020202020202020203
+:105D800002020202020202020202020202020202F3
+:105D900002020202020202020202020202020202E3
+:105DA00002020202020202020202020202020202D3
+:105DB00002020202020202020202020202020202C3
+:105DC00002020202020202020202020202020202B3
+:105DD00002020202020202020202020202020202A3
+:105DE0000202020202020202020202020202020293
+:105DF0000202020202020202020202020202020283
+:105E00000202020202020202020202020202020272
+:105E10000202020202020202020202020202020262
+:105E20000202020202020202020202020202020252
+:105E30000202020202020202020202020202020242
+:105E40000202020202020202020202020202020232
+:105E50000202020202020202020202020202020222
+:105E60000202020202020202020202020202020212
+:105E70000202020202020202020202020202020202
+:105E800002020202020202020202020202020202F2
+:105E900002020202020202020202020202020202E2
+:105EA00002020202020202020202020202020202D2
+:105EB00002020202020202020202020202020202C2
+:105EC00002020202020202020202020202020202B2
+:105ED00002020202020202020202020202020202A2
+:105EE0000202020202020202020202020202020292
+:105EF0000202020202020202020202020202020282
+:105F00000202020202020202020202020202020271
+:105F10000202020202020202020202020202020261
+:105F20000202020202020202020202020202020251
+:105F30000202020202020202020202020202020241
+:105F40000202020202020202020202020202020231
+:105F50000202020202020202020202020202020221
+:105F60000202020202020202020202020202020211
+:105F70000202020202020202020202020202020201
+:105F800002020202020202020202020202020202F1
+:105F900002020202020202020202020202020202E1
+:105FA00002020202020202020202020202020202D1
+:105FB00002020202020202020202020202020202C1
+:105FC00002020202020202020202020202020202B1
+:105FD00002020202020202020202020202020202A1
+:105FE0000202020202020202020202020202020291
+:105FF0000202020202020202020202020202020281
+:106000000202020202020202020202020202020270
+:106010000202020202020202020202020202020260
+:106020000202020202020202020202020202020250
+:106030000202020202020202020202020202020240
+:106040000202020202020202020202020202020230
+:106050000202020202020202020202020202020220
+:106060000202020202020202020202020202020210
+:106070000202020202020202020202020202020200
+:1060800002020202020202020202020202020202F0
+:1060900002020202020202020202020202020202E0
+:1060A00002020202020202020202020202020202D0
+:1060B00002020202020202020202020202020202C0
+:1060C00002020202020202020202020202020202B0
+:1060D00002020202020202020202020202020202A0
+:1060E0000202020202020202020202020202020290
+:1060F0000202020202020202020202020202020280
+:10610000020202020202020202020202020202026F
+:10611000020202020202020202020202020202025F
+:10612000020202020202020202020202020202024F
+:10613000020202020202020202020202020202023F
+:10614000020202020202020202020202020202022F
+:10615000020202020202020202020202020202021F
+:10616000020202020202020202020202020202020F
+:1061700002020202020202020202020202020202FF
+:1061800002020202020202020202020202020202EF
+:1061900002020202020202020202020202020202DF
+:1061A00002020202020202020202020202020202CF
+:1061B00002020202020202020202020202020202BF
+:1061C00002020202020202020202020202020202AF
+:1061D000020202020202020202020202020202029F
+:1061E000020202020202020202020202020202028F
+:1061F000020202020202020202020202020202027F
+:10620000020202020202020202020202020202026E
+:10621000020202020202020202020202020202025E
+:10622000020202020202020202020202020202024E
+:10623000020202020202020202020202020202023E
+:10624000020202020202020202020202020202022E
+:10625000020202020202020202020202020202021E
+:10626000020202020202020202020202020202020E
+:1062700002020202020202020202020202020202FE
+:1062800002020202020202020202020202020202EE
+:1062900002020202020202020202020202020202DE
+:1062A00002020202020202020202020202020202CE
+:1062B00002020202020202020202020202020202BE
+:1062C00002020202020202020202020202020202AE
+:1062D000020202020202020202020202020202029E
+:1062E000020202020202020202020202020202028E
+:1062F000020202020202020202020202020202027E
+:10630000020202020202020202020202020202026D
+:10631000020202020202020202020202020202025D
+:10632000020202020202020202020202020202024D
+:10633000020202020202020202020202020202023D
+:10634000020202020202020202020202020202022D
+:10635000020202020202020202020202020202021D
+:10636000020202020202020202020202020202020D
+:1063700002020202020202020202020202020202FD
+:1063800002020202020202020202020202020202ED
+:1063900002020202020202020202020202020202DD
+:1063A00002020202020202020202020202020202CD
+:1063B00002020202020202020202020202020202BD
+:1063C00002020202020202020202020202020202AD
+:1063D000020202020202020202020202020202029D
+:1063E000020202020202020202020202020202028D
+:1063F000020202020202020202020202020202027D
+:10640000020202020202020202020202020202026C
+:10641000020202020202020202020202020202025C
+:10642000020202020202020202020202020202024C
+:10643000020202020202020202020202020202023C
+:10644000020202020202020202020202020202022C
+:10645000020202020202020202020202020202021C
+:10646000020202020202020202020202020202020C
+:1064700002020202020202020202020202020202FC
+:1064800002020202020202020202020202020202EC
+:1064900002020202020202020202020202020202DC
+:1064A00002020202020202020202020202020202CC
+:1064B00002020202020202020202020202020202BC
+:1064C00002020202020202020202020202020202AC
+:1064D000020202020202020202020202020202029C
+:1064E000020202020202020202020202020202028C
+:1064F000020202020202020202020202020202027C
+:10650000020202020202020202020202020202026B
+:10651000020202020202020202020202020202025B
+:10652000020202020202020202020202020202024B
+:10653000020202020202020202020202020202023B
+:10654000020202020202020202020202020202022B
+:10655000020202020202020202020202020202021B
+:10656000020202020202020202020202020202020B
+:1065700002020202020202020202020202020202FB
+:1065800002020202020202020202020202020202EB
+:1065900002020202020202020202020202020202DB
+:1065A00002020202020202020202020202020202CB
+:1065B00002020202020202020202020202020202BB
+:1065C00002020202020202020202020202020202AB
+:1065D000020202020202020202020202020202029B
+:1065E000020202020202020202020202020202028B
+:1065F000020202020202020202020202020202027B
+:10660000020202020202020202020202020202026A
+:10661000020202020202020202020202020202025A
+:10662000020202020202020202020202020202024A
+:10663000020202020202020202020202020202023A
+:10664000020202020202020202020202020202022A
+:10665000020202020202020202020202020202021A
+:10666000020202020202020202020202020202020A
+:1066700002020202020202020202020202020202FA
+:1066800002020202020202020202020202020202EA
+:1066900002020202020202020202020202020202DA
+:1066A00002020202020202020202020202020202CA
+:1066B00002020202020202020202020202020202BA
+:1066C00002020202020202020202020202020202AA
+:1066D000020202020202020202020202020202029A
+:1066E000020202020202020202020202020202028A
+:1066F000020202020202020202020202020202027A
+:106700000202020202020202020202020202020269
+:106710000202020202020202020202020202020259
+:106720000202020202020202020202020202020249
+:106730000202020202020202020202020202020239
+:106740000202020202020202020202020202020229
+:106750000202020202020202020202020202020219
+:106760000202020202020202020202020202020209
+:1067700002020202020202020202020202020202F9
+:1067800002020202020202020202020202020202E9
+:1067900002020202020202020202020202020202D9
+:1067A00002020202020202020202020202020202C9
+:1067B00002020202020202020202020202020202B9
+:1067C00002020202020202020202020202020202A9
+:1067D0000202020202020202020202020202020299
+:1067E0000202020202020202020202020202020289
+:1067F0000202020202020202020202020202020279
+:106800000202020202020202020202020202020268
+:106810000202020202020202020202020202020258
+:106820000202020202020202020202020202020248
+:106830000202020202020202020202020202020238
+:106840000202020202020202020202020202020228
+:106850000202020202020202020202020202020218
+:106860000202020202020202020202020202020208
+:1068700002020202020202020202020202020202F8
+:1068800002020202020202020202020202020202E8
+:1068900002020202020202020202020202020202D8
+:1068A00002020202020202020202020202020202C8
+:1068B00002020202020202020202020202020202B8
+:1068C00002020202020202020202020202020202A8
+:1068D0000202020202020202020202020202020298
+:1068E0000202020202020202020202020202020288
+:1068F0000202020202020202020202020202020278
+:106900000202020202020202020202020202020267
+:106910000202020202020202020202020202020257
+:106920000202020202020202020202020202020247
+:106930000202020202020202020202020202020237
+:106940000202020202020202020202020202020227
+:106950000202020202020202020202020202020217
+:106960000202020202020202020202020202020207
+:1069700002020202020202020202020202020202F7
+:1069800002020202020202020202020202020202E7
+:1069900002020202020202020202020202020202D7
+:1069A00002020202020202020202020202020202C7
+:1069B00002020202020202020202020202020202B7
+:1069C00002020202020202020202020202020202A7
+:1069D0000202020202020202020202020202020297
+:1069E0000202020202020202020202020202020287
+:1069F0000202020202020202020202020202020277
+:106A00000202020202020202020202020202020266
+:106A10000202020202020202020202020202020256
+:106A20000202020202020202020202020202020246
+:106A30000202020202020202020202020202020236
+:106A40000202020202020202020202020202020226
+:106A50000202020202020202020202020202020216
+:106A60000202020202020202020202020202020206
+:106A700002020202020202020202020202020202F6
+:106A800002020202020202020202020202020202E6
+:106A900002020202020202020202020202020202D6
+:106AA00002020202020202020202020202020202C6
+:106AB00002020202020202020202020202020202B6
+:106AC00002020202020202020202020202020202A6
+:106AD0000202020202020202020202020202020296
+:106AE0000202020202020202020202020202020286
+:106AF0000202020202020202020202020202020276
+:106B00000202020202020202020202020202020265
+:106B10000202020202020202020202020202020255
+:106B20000202020202020202020202020202020245
+:106B30000202020202020202020202020202020235
+:106B40000202020202020202020202020202020225
+:106B50000202020202020202020202020202020215
+:106B60000202020202020202020202020202020205
+:106B700002020202020202020202020202020202F5
+:106B800002020202020202020202020202020202E5
+:106B900002020202020202020202020202020202D5
+:106BA00002020202020202020202020202020202C5
+:106BB00002020202020202020202020202020202B5
+:106BC00002020202020202020202020202020202A5
+:106BD0000202020202020202020202020202020295
+:106BE0000202020202020202020202020202020285
+:106BF0000202020202020202020202020202020275
+:106C00000202020202020202020202020202020264
+:106C10000202020202020202020202020202020254
+:106C20000202020202020202020202020202020244
+:106C30000202020202020202020202020202020234
+:106C40000202020202020202020202020202020224
+:106C50000202020202020202020202020202020214
+:106C60000202020202020202020202020202020204
+:106C700002020202020202020202020202020202F4
+:106C800002020202020202020202020202020202E4
+:106C900002020202020202020202020202020202D4
+:106CA00002020202020202020202020202020202C4
+:106CB00002020202020202020202020202020202B4
+:106CC00002020202020202020202020202020202A4
+:106CD0000202020202020202020202020202020294
+:106CE0000202020202020202020202020202020284
+:106CF0000202020202020202020202020202020274
+:106D00000202020202020202020202020202020263
+:106D10000202020202020202020202020202020253
+:106D20000202020202020202020202020202020243
+:106D30000202020202020202020202020202020233
+:106D40000202020202020202020202020202020223
+:106D50000202020202020202020202020202020213
+:106D60000202020202020202020202020202020203
+:106D700002020202020202020202020202020202F3
+:106D800002020202020202020202020202020202E3
+:106D900002020202020202020202020202020202D3
+:106DA00002020202020202020202020202020202C3
+:106DB00002020202020202020202020202020202B3
+:106DC00002020202020202020202020202020202A3
+:106DD0000202020202020202020202020202020293
+:106DE0000202020202020202020202020202020283
+:106DF0000202020202020202020202020202020273
+:106E00000202020202020202020202020202020262
+:106E10000202020202020202020202020202020252
+:106E20000202020202020202020202020202020242
+:106E30000202020202020202020202020202020232
+:106E40000202020202020202020202020202020222
+:106E50000202020202020202020202020202020212
+:106E60000202020202020202020202020202020202
+:106E700002020202020202020202020202020202F2
+:106E800002020202020202020202020202020202E2
+:106E900002020202020202020202020202020202D2
+:106EA00002020202020202020202020202020202C2
+:106EB00002020202020202020202020202020202B2
+:106EC00002020202020202020202020202020202A2
+:106ED0000202020202020202020202020202020292
+:106EE0000202020202020202020202020202020282
+:106EF0000202020202020202020202020202020272
+:106F00000202020202020202020202020202020261
+:106F10000202020202020202020202020202020251
+:106F20000202020202020202020202020202020241
+:106F30000202020202020202020202020202020231
+:106F40000202020202020202020202020202020221
+:106F50000202020202020202020202020202020211
+:106F60000202020202020202020202020202020201
+:106F700002020202020202020202020202020202F1
+:106F800002020202020202020202020202020202E1
+:106F900002020202020202020202020202020202D1
+:106FA00002020202020202020202020202020202C1
+:106FB00002020202020202020202020202020202B1
+:106FC00002020202020202020202020202020202A1
+:106FD0000202020202020202020202020202020291
+:106FE0000202020202020202020202020202020281
+:106FF0000202020202020202020202020202020271
+:107000000202020202020202020202020202020260
+:107010000202020202020202020202020202020250
+:107020000202020202020202020202020202020240
+:107030000202020202020202020202020202020230
+:107040000202020202020202020202020202020220
+:107050000202020202020202020202020202020210
+:107060000202020202020202020202020202020200
+:1070700002020202020202020202020202020202F0
+:1070800002020202020202020202020202020202E0
+:1070900002020202020202020202020202020202D0
+:1070A00002020202020202020202020202020202C0
+:1070B00002020202020202020202020202020202B0
+:1070C00002020202020202020202020202020202A0
+:1070D0000202020202020202020202020202020290
+:1070E0000202020202020202020202020202020280
+:1070F0000202020202020202020202020202020270
+:10710000020202020202020202020202020202025F
+:10711000020202020202020202020202020202024F
+:10712000020202020202020202020202020202023F
+:10713000020202020202020202020202020202022F
+:10714000020202020202020202020202020202021F
+:10715000020202020202020202020202020202020F
+:1071600002020202020202020202020202020202FF
+:1071700002020202020202020202020202020202EF
+:1071800002020202020202020202020202020202DF
+:1071900002020202020202020202020202020202CF
+:1071A00002020202020202020202020202020202BF
+:1071B00002020202020202020202020202020202AF
+:1071C000020202020202020202020202020202029F
+:1071D000020202020202020202020202020202028F
+:1071E000020202020202020202020202020202027F
+:1071F000020202020202020202020202020202026F
+:10720000020202020202020202020202020202025E
+:10721000020202020202020202020202020202024E
+:10722000020202020202020202020202020202023E
+:10723000020202020202020202020202020202022E
+:10724000020202020202020202020202020202021E
+:10725000020202020202020202020202020202020E
+:1072600002020202020202020202020202020202FE
+:1072700002020202020202020202020202020202EE
+:1072800002020202020202020202020202020202DE
+:1072900002020202020202020202020202020202CE
+:1072A00002020202020202020202020202020202BE
+:1072B00002020202020202020202020202020202AE
+:1072C000020202020202020202020202020202029E
+:1072D000020202020202020202020202020202028E
+:1072E000020202020202020202020202020202027E
+:1072F000020202020202020202020202020202026E
+:10730000020202020202020202020202020202025D
+:10731000020202020202020202020202020202024D
+:10732000020202020202020202020202020202023D
+:10733000020202020202020202020202020202022D
+:10734000020202020202020202020202020202021D
+:10735000020202020202020202020202020202020D
+:1073600002020202020202020202020202020202FD
+:1073700002020202020202020202020202020202ED
+:1073800002020202020202020202020202020202DD
+:1073900002020202020202020202020202020202CD
+:1073A00002020202020202020202020202020202BD
+:1073B00002020202020202020202020202020202AD
+:1073C000020202020202020202020202020202029D
+:1073D000020202020202020202020202020202028D
+:1073E000020202020202020202020202020202027D
+:1073F000020202020202020202020202020202026D
+:10740000020202020202020202020202020202025C
+:10741000020202020202020202020202020202024C
+:10742000020202020202020202020202020202023C
+:10743000020202020202020202020202020202022C
+:10744000020202020202020202020202020202021C
+:10745000020202020202020202020202020202020C
+:1074600002020202020202020202020202020202FC
+:1074700002020202020202020202020202020202EC
+:1074800002020202020202020202020202020202DC
+:1074900002020202020202020202020202020202CC
+:1074A00002020202020202020202020202020202BC
+:1074B00002020202020202020202020202020202AC
+:1074C000020202020202020202020202020202029C
+:1074D000020202020202020202020202020202028C
+:1074E000020202020202020202020202020202027C
+:1074F000020202020202020202020202020202026C
+:10750000020202020202020202020202020202025B
+:10751000020202020202020202020202020202024B
+:10752000020202020202020202020202020202023B
+:10753000020202020202020202020202020202022B
+:10754000020202020202020202020202020202021B
+:10755000020202020202020202020202020202020B
+:1075600002020202020202020202020202020202FB
+:1075700002020202020202020202020202020202EB
+:1075800002020202020202020202020202020202DB
+:1075900002020202020202020202020202020202CB
+:1075A00002020202020202020202020202020202BB
+:1075B00002020202020202020202020202020202AB
+:1075C000020202020202020202020202020202029B
+:1075D000020202020202020202020202020202028B
+:1075E000020202020202020202020202020202027B
+:1075F000020202020202020202020202020202026B
+:10760000020202020202020202020202020202025A
+:10761000020202020202020202020202020202024A
+:10762000020202020202020202020202020202023A
+:10763000020202020202020202020202020202022A
+:10764000020202020202020202020202020202021A
+:10765000020202020202020202020202020202020A
+:1076600002020202020202020202020202020202FA
+:1076700002020202020202020202020202020202EA
+:1076800002020202020202020202020202020202DA
+:1076900002020202020202020202020202020202CA
+:1076A00002020202020202020202020202020202BA
+:1076B00002020202020202020202020202020202AA
+:1076C000020202020202020202020202020202029A
+:1076D000020202020202020202020202020202028A
+:1076E000020202020202020202020202020202027A
+:1076F000020202020202020202020202020202026A
+:107700000202020202020202020202020202020259
+:107710000202020202020202020202020202020249
+:107720000202020202020202020202020202020239
+:107730000202020202020202020202020202020229
+:107740000202020202020202020202020202020219
+:107750000202020202020202020202020202020209
+:1077600002020202020202020202020202020202F9
+:1077700002020202020202020202020202020202E9
+:1077800002020202020202020202020202020202D9
+:1077900002020202020202020202020202020202C9
+:1077A00002020202020202020202020202020202B9
+:1077B00002020202020202020202020202020202A9
+:1077C0000202020202020202020202020202020299
+:1077D0000202020202020202020202020202020289
+:1077E0000202020202020202020202020202020279
+:1077F0000202020202020202020202020202020269
+:107800000202020202020202020202020202020258
+:107810000202020202020202020202020202020248
+:107820000202020202020202020202020202020238
+:107830000202020202020202020202020202020228
+:107840000202020202020202020202020202020218
+:107850000202020202020202020202020202020208
+:1078600002020202020202020202020202020202F8
+:1078700002020202020202020202020202020202E8
+:1078800002020202020202020202020202020202D8
+:1078900002020202020202020202020202020202C8
+:1078A00002020202020202020202020202020202B8
+:1078B00002020202020202020202020202020202A8
+:1078C0000202020202020202020202020202020298
+:1078D0000202020202020202020202020202020288
+:1078E0000202020202020202020202020202020278
+:1078F0000202020202020202020202020202020268
+:107900000202020202020202020202020202020257
+:107910000202020202020202020202020202020247
+:107920000202020202020202020202020202020237
+:107930000202020202020202020202020202020227
+:107940000202020202020202020202020202020217
+:107950000202020202020202020202020202020207
+:1079600002020202020202020202020202020202F7
+:1079700002020202020202020202020202020202E7
+:1079800002020202020202020202020202020202D7
+:1079900002020202020202020202020202020202C7
+:1079A00002020202020202020202020202020202B7
+:1079B00002020202020202020202020202020202A7
+:1079C0000202020202020202020202020202020297
+:1079D0000202020202020202020202020202020287
+:1079E0000202020202020202020202020202020277
+:1079F0000202020202020202020202020202020267
+:107A00000202020202020202020202020202020256
+:107A10000202020202020202020202020202020246
+:107A20000202020202020202020202020202020236
+:107A30000202020202020202020202020202020226
+:107A40000202020202020202020202020202020216
+:107A50000202020202020202020202020202020206
+:107A600002020202020202020202020202020202F6
+:107A700002020202020202020202020202020202E6
+:107A800002020202020202020202020202020202D6
+:107A900002020202020202020202020202020202C6
+:107AA00002020202020202020202020202020202B6
+:107AB00002020202020202020202020202020202A6
+:107AC0000202020202020202020202020202020296
+:107AD0000202020202020202020202020202020286
+:107AE0000202020202020202020202020202020276
+:107AF0000202020202020202020202020202020266
+:107B00000202020202020202020202020202020255
+:107B10000202020202020202020202020202020245
+:107B20000202020202020202020202020202020235
+:107B30000202020202020202020202020202020225
+:107B40000202020202020202020202020202020215
+:107B50000202020202020202020202020202020205
+:107B600002020202020202020202020202020202F5
+:107B700002020202020202020202020202020202E5
+:107B800002020202020202020202020202020202D5
+:107B900002020202020202020202020202020202C5
+:107BA00002020202020202020202020202020202B5
+:107BB00002020202020202020202020202020202A5
+:107BC0000202020202020202020202020202020295
+:107BD0000202020202020202020202020202020285
+:107BE0000202020202020202020202020202020275
+:107BF0000202020202020202020202020202020265
+:107C00000202020202020202020202020202020254
+:107C10000202020202020202020202020202020244
+:107C20000202020202020202020202020202020234
+:107C30000202020202020202020202020202020224
+:107C40000202020202020202020202020202020214
+:107C50000202020202020202020202020202020204
+:107C600002020202020202020202020202020202F4
+:107C700002020202020202020202020202020202E4
+:107C800002020202020202020202020202020202D4
+:107C900002020202020202020202020202020202C4
+:107CA00002020202020202020202020202020202B4
+:107CB00002020202020202020202020202020202A4
+:107CC0000202020202020202020202020202020294
+:107CD0000202020202020202020202020202020284
+:107CE0000202020202020202020202020202020274
+:107CF0000202020202020202020202020202020264
+:107D00000202020202020202020202020202020253
+:107D10000202020202020202020202020202020243
+:107D20000202020202020202020202020202020233
+:107D30000202020202020202020202020202020223
+:107D40000202020202020202020202020202020213
+:107D50000202020202020202020202020202020203
+:107D600002020202020202020202020202020202F3
+:107D700002020202020202020202020202020202E3
+:107D800002020202020202020202020202020202D3
+:107D900002020202020202020202020202020202C3
+:107DA00002020202020202020202020202020202B3
+:107DB00002020202020202020202020202020202A3
+:107DC0000202020202020202020202020202020293
+:107DD0000202020202020202020202020202020283
+:107DE0000202020202020202020202020202020075
+:107DF0000000000000000000000000000000000083
+:107E00000000000000000000000000000000000072
+:107E10000000000000000000000000000000000062
+:107E20000000000000000000000000000000000052
+:107E30000000000000000000000000000000000042
+:107E40000000000000000000000000000000000032
+:107E50000000000000000000000000000000000022
+:107E60000000000000000000000000000000000012
+:107E70000000000000000000000000000000000002
+:107E800000000000000000000000000000000000F2
+:107E900000000000000000000000000000000000E2
+:107EA00000000000000000000000000000000000D2
+:107EB00000000000000000000000000000000000C2
+:107EC00000000000000000000000000000000000B2
+:107ED00000000000000000000000000000000000A2
+:107EE0000000000000000000000000000000000092
+:107EF0000000000000000000000000000000000082
+:107F00000000000000000000000000000000000071
+:107F10000000000000000000000000000000000061
+:107F20000000000000000000000000000000000051
+:107F30000000000000000000000000000000000041
+:107F40000000000000000000000000000000000031
+:107F50000000000000000000000000000000000021
+:107F60000000000000000000000000000000000011
+:107F70000000000000000000000000000000000001
+:107F800000000000000000000000000000000000F1
+:107F900000000000000000000000000000000000E1
+:107FA00000000000000000000000000000000000D1
+:107FB00000000000000000000000000000000000C1
+:107FC00000000000000000000000000000000000B1
+:107FD00000000000000000000000000000000000A1
+:107FE0000000000000000000000000000000000091
+:107FF0000000000000000000000000000000000081
+:108000000000000000000000000000000000000070
+:108010000000000000000000000000000000000060
+:108020000000000000000000000000000000000050
+:108030000000000000000000000000000000000040
+:108040000000000000000000000000000000000030
+:108050000000000000000000000000000000000020
+:108060000000000000000000000000000000000010
+:108070000000000000000000000000000000000000
+:1080800000000000000000000000000000000000F0
+:1080900000000000000000000000000000000000E0
+:1080A00000000000000000000000000000000000D0
+:1080B00000000000000000000000000000000000C0
+:1080C00000000000000000000000000000000000B0
+:1080D00000000000000000000000000000000000A0
+:1080E0000000000000000000000000000000000090
+:1080F0000000000000000000000000000000000080
+:10810000000000000000000000000000000000006F
+:10811000000000000000000000000000000000005F
+:10812000000000000000000000000000000000004F
+:10813000000000000000000000000000000000003F
+:10814000000000000000000000000000000000002F
+:10815000000000000000000000000000000000001F
+:10816000000000000000000000000000000000000F
+:1081700000000000000000000000000000000000FF
+:1081800000000000000000000000000000000000EF
+:1081900000000000000000000000000000000000DF
+:1081A00000000000000000000000000000000000CF
+:1081B00000000000000000000000000000000000BF
+:1081C00000000000000000000000000000000000AF
+:1081D000000000000000000000000000000000009F
+:1081E000000000000000000000000000000000B7D8
+:1081F0000000000000000001010101010101010176
+:10820000010101010101010101010101010101015E
+:10821000010101010101010101010101010101014E
+:10822000010101010101010101010101010101013E
+:10823000010101010101010101010101010101012E
+:10824000010101010101010101010101010101011E
+:10825000010101010101010101010101010101010E
+:1082600001010101010101010101010101010101FE
+:1082700001010101010101010101010101010101EE
+:1082800001010101010101010101010101010101DE
+:1082900001010101010101010101010101010101CE
+:1082A00001010101010101010101010101010101BE
+:1082B00001010101010101010101010101010101AE
+:1082C000010101010101010101010101010101019E
+:1082D000010101010101010101010101010101018E
+:1082E000010101010101010101010101010101017E
+:1082F000010101010101010101010101010101016E
+:10830000010101010101010101010101010101015D
+:10831000010101010101010101010101010101014D
+:10832000010101010101010101010101010101013D
+:10833000010101010101010101010101010101012D
+:10834000010101010101010101010101010101011D
+:10835000010101010101010101010101010101010D
+:1083600001010101010101010101010101010101FD
+:1083700001010101010101010101010101010101ED
+:1083800001010101010101010101010101010101DD
+:1083900001010101010101010101010101010101CD
+:1083A00001010101010101010101010101010101BD
+:1083B00001010101010101010101010101010101AD
+:1083C000010101010101010101010101010101019D
+:1083D000010101010101010101010101010101018D
+:1083E000010101010101010101010101010101017D
+:1083F000010101010101010101010101010101016D
+:10840000010101010101010101010101010101015C
+:10841000010101010101010101010101010101014C
+:10842000010101010101010101010101010101013C
+:10843000010101010101010101010101010101012C
+:10844000010101010101010101010101010101011C
+:10845000010101010101010101010101010101010C
+:1084600001010101010101010101010101010101FC
+:1084700001010101010101010101010101010101EC
+:1084800001010101010101010101010101010101DC
+:1084900001010101010101010101010101010101CC
+:1084A00001010101010101010101010101010101BC
+:1084B00001010101010101010101010101010101AC
+:1084C000010101010101010101010101010101019C
+:1084D000010101010101010101010101010101018C
+:1084E000010101010101010101010101010101017C
+:1084F000010101010101010101010101010101016C
+:10850000010101010101010101010101010101015B
+:10851000010101010101010101010101010101014B
+:10852000010101010101010101010101010101013B
+:10853000010101010101010101010101010101012B
+:10854000010101010101010101010101010101011B
+:10855000010101010101010101010101010101010B
+:1085600001010101010101010101010101010101FB
+:1085700001010101010101010101010101010101EB
+:1085800001010101010101010101010101010101DB
+:1085900001010101010101010101010101010101CB
+:1085A00001010101010101010101010101010101BB
+:1085B00001010101010101010101010101010101AB
+:1085C000010101010101010101010101010101019B
+:1085D000010101010101010101010101010101018B
+:1085E000010101010101010101010101010101017B
+:1085F000010101010101010101010101010101016B
+:10860000010101010101010101010101010101015A
+:10861000010101010101010101010101010101014A
+:10862000010101010101010101010101010101013A
+:10863000010101010101010101010101010101012A
+:10864000010101010101010101010101010101011A
+:10865000010101010101010101010101010101010A
+:1086600001010101010101010101010101010101FA
+:1086700001010101010101010101010101010101EA
+:1086800001010101010101010101010101010101DA
+:1086900001010101010101010101010101010101CA
+:1086A00001010101010101010101010101010101BA
+:1086B00001010101010101010101010101010101AA
+:1086C000010101010101010101010101010101019A
+:1086D000010101010101010101010101010101018A
+:1086E000010101010101010101010101010101017A
+:1086F000010101010101010101010101010101016A
+:108700000101010101010101010101010101010159
+:108710000101010101010101010101010101010149
+:108720000101010101010101010101010101010139
+:108730000101010101010101010101010101010129
+:108740000101010101010101010101010101010119
+:108750000101010101010101010101010101010109
+:1087600001010101010101010101010101010101F9
+:1087700001010101010101010101010101010101E9
+:1087800001010101010101010101010101010101D9
+:1087900001010101010101010101010101010101C9
+:1087A00001010101010101010101010101010101B9
+:1087B00001010101010101010101010101010101A9
+:1087C0000101010101010101010101010101010199
+:1087D0000101010101010101010101010101010189
+:1087E0000101010101010101010101010101010179
+:1087F0000101010101010101010101010101010169
+:108800000101010101010101010101010101010158
+:108810000101010101010101010101010101010148
+:108820000101010101010101010101010101010138
+:108830000101010101010101010101010101010128
+:108840000101010101010101010101010101010118
+:108850000101010101010101010101010101010108
+:1088600001010101010101010101010101010101F8
+:1088700001010101010101010101010101010101E8
+:1088800001010101010101010101010101010101D8
+:1088900001010101010101010101010101010101C8
+:1088A00001010101010101010101010101010101B8
+:1088B00001010101010101010101010101010101A8
+:1088C0000101010101010101010101010101010198
+:1088D0000101010101010101010101010101010188
+:1088E0000101010101010101010101010101010178
+:1088F0000101010101010101010101010101010168
+:108900000101010101010101010101010101010157
+:108910000101010101010101010101010101010147
+:108920000101010101010101010101010101010137
+:108930000101010101010101010101010101010127
+:108940000101010101010101010101010101010117
+:108950000101010101010101010101010101010107
+:1089600001010101010101010101010101010101F7
+:1089700001010101010101010101010101010101E7
+:1089800001010101010101010101010101010101D7
+:1089900001010101010101010101010101010101C7
+:1089A00001010101010101010101010101010101B7
+:1089B00001010101010101010101010101010101A7
+:1089C0000101010101010101010101010101010197
+:1089D0000101010101010101010101010101010187
+:1089E0000101010101010101010101010101010177
+:1089F0000101010101010101010101010101010167
+:108A00000101010101010101010101010101010156
+:108A10000101010101010101010101010101010146
+:108A20000101010101010101010101010101010136
+:108A30000101010101010101010101010101010126
+:108A40000101010101010101010101010101010116
+:108A50000101010101010101010101010101010106
+:108A600001010101010101010101010101010101F6
+:108A700001010101010101010101010101010101E6
+:108A800001010101010101010101010101010101D6
+:108A900001010101010101010101010101010101C6
+:108AA00001010101010101010101010101010101B6
+:108AB00001010101010101010101010101010101A6
+:108AC0000101010101010101010101010101010196
+:108AD0000101010101010101010101010101010186
+:108AE0000101010101010101010101010101010176
+:108AF0000101010101010101010101010101010166
+:108B00000101010101010101010101010101010155
+:108B10000101010101010101010101010101010145
+:108B20000101010101010101010101010101010135
+:108B30000101010101010101010101010101010125
+:108B40000101010101010101010101010101010115
+:108B50000101010101010101010101010101010105
+:108B600001010101010101010101010101010101F5
+:108B700001010101010101010101010101010101E5
+:108B800001010101010101010101010101010101D5
+:108B900001010101010101010101010101010101C5
+:108BA00001010101010101010101010101010101B5
+:108BB00001010101010101010101010101010101A5
+:108BC0000101010101010101010101010101010195
+:108BD0000101010101010101010101010101010185
+:108BE0000101010101010101010101010101010175
+:108BF0000101010101010101010101010101010165
+:108C00000101010101010101010101010101010154
+:108C10000101010101010101010101010101010144
+:108C20000101010101010101010101010101010134
+:108C30000101010101010101010101010101010124
+:108C40000101010101010101010101010101010114
+:108C50000101010101010101010101010101010104
+:108C600001010101010101010101010101010101F4
+:108C700001010101010101010101010101010101E4
+:108C800001010101010101010101010101010101D4
+:108C900001010101010101010101010101010101C4
+:108CA00001010101010101010101010101010101B4
+:108CB00001010101010101010101010101010101A4
+:108CC0000101010101010101010101010101010194
+:108CD0000101010101010101010101010101010184
+:108CE0000101010101010101010101010101010174
+:108CF0000101010101010101010101010101010164
+:108D00000101010101010101010101010101010153
+:108D10000101010101010101010101010101010143
+:108D20000101010101010101010101010101010133
+:108D30000101010101010101010101010101010123
+:108D40000101010101010101010101010101010113
+:108D50000101010101010101010101010101010103
+:108D600001010101010101010101010101010101F3
+:108D700001010101010101010101010101010101E3
+:108D800001010101010101010101010101010101D3
+:108D900001010101010101010101010101010101C3
+:108DA00001010101010101010101010101010101B3
+:108DB00001010101010101010101010101010101A3
+:108DC0000101010101010101010101010101010193
+:108DD0000101010101010101010101010101010183
+:108DE0000101010101010101010101010101010173
+:108DF0000101010101010101010101010101010163
+:108E00000101010101010101010101010101010152
+:108E10000101010101010101010101010101010142
+:108E20000101010101010101010101010101010132
+:108E30000101010101010101010101010101010122
+:108E40000101010101010101010101010101010112
+:108E50000101010101010101010101010101010102
+:108E600001010101010101010101010101010101F2
+:108E700001010101010101010101010101010101E2
+:108E800001010101010101010101010101010101D2
+:108E900001010101010101010101010101010101C2
+:108EA00001010101010101010101010101010101B2
+:108EB00001010101010101010101010101010101A2
+:108EC0000101010101010101010101010101010192
+:108ED0000101010101010101010101010101010182
+:108EE0000101010101010101010101010101010172
+:108EF0000101010101010101010101010101010162
+:108F00000101010101010101010101010101010151
+:108F10000101010101010101010101010101010141
+:108F20000101010101010101010101010101010131
+:108F30000101010101010101010101010101010121
+:108F40000101010101010101010101010101010111
+:108F50000101010101010101010101010101010101
+:108F600001010101010101010101010101010101F1
+:108F700001010101010101010101010101010101E1
+:108F800001010101010101010101010101010101D1
+:108F900001010101010101010101010101010101C1
+:108FA00001010101010101010101010101010101B1
+:108FB00001010101010101010101010101010101A1
+:108FC0000101010101010101010101010101010191
+:108FD0000101010101010101010101010101010181
+:108FE0000101010101010101010101010101010171
+:108FF0000101010101010101010101010101010161
+:109000000101010101010101010101010101010150
+:109010000101010101010101010101010101010140
+:109020000101010101010101010101010101010130
+:109030000101010101010101010101010101010120
+:109040000101010101010101010101010101010110
+:109050000101010101010101010101010101010100
+:1090600001010101010101010101010101010101F0
+:1090700001010101010101010101010101010101E0
+:1090800001010101010101010101010101010101D0
+:1090900001010101010101010101010101010101C0
+:1090A00001010101010101010101010101010101B0
+:1090B00001010101010101010101010101010101A0
+:1090C0000101010101010101010101010101010190
+:1090D0000101010101010101010101010101010180
+:1090E0000101010101010101010101010101010170
+:1090F0000101010101010101010101010101010160
+:10910000010101010101010101010101010101014F
+:10911000010101010101010101010101010101013F
+:10912000010101010101010101010101010101012F
+:10913000010101010101010101010101010101011F
+:10914000010101010101010101010101010101010F
+:1091500001010101010101010101010101010101FF
+:1091600001010101010101010101010101010101EF
+:1091700001010101010101010101010101010101DF
+:1091800001010101010101010101010101010101CF
+:1091900001010101010101010101010101010101BF
+:1091A00001010101010101010101010101010101AF
+:1091B000010101010101010101010101010101019F
+:1091C000010101010101010101010101010101018F
+:1091D000010101010101010101010101010101017F
+:1091E000010101010101010101010101010101016F
+:1091F000010101010101010101010101010101015F
+:10920000010101010101010101010101010101014E
+:10921000010101010101010101010101010101013E
+:10922000010101010101010101010101010101012E
+:10923000010101010101010101010101010101011E
+:10924000010101010101010101010101010101010E
+:1092500001010101010101010101010101010101FE
+:1092600001010101010101010101010101010101EE
+:1092700001010101010101010101010101010101DE
+:1092800001010101010101010101010101010101CE
+:1092900001010101010101010101010101010101BE
+:1092A00001010101010101010101010101010101AE
+:1092B000010101010101010101010101010101019E
+:1092C000010101010101010101010101010101018E
+:1092D000010101010101010101010101010101017E
+:1092E000010101010101010101010101010101016E
+:1092F000010101010101010101010101010101015E
+:10930000010101010101010101010101010101014D
+:10931000010101010101010101010101010101013D
+:10932000010101010101010101010101010101012D
+:10933000010101010101010101010101010101011D
+:10934000010101010101010101010101010101010D
+:1093500001010101010101010101010101010101FD
+:1093600001010101010101010101010101010101ED
+:1093700001010101010101010101010101010101DD
+:1093800001010101010101010101010101010101CD
+:1093900001010101010101010101010101010101BD
+:1093A00001010101010101010101010101010101AD
+:1093B000010101010101010101010101010101019D
+:1093C000010101010101010101010101010101018D
+:1093D000010101010101010101010101010101017D
+:1093E000010101010101010101010101010101016D
+:1093F000010101010101010101010101010101015D
+:10940000010101010101010101010101010101014C
+:10941000010101010101010101010101010101013C
+:10942000010101010101010101010101010101012C
+:10943000010101010101010101010101010101011C
+:10944000010101010101010101010101010101010C
+:1094500001010101010101010101010101010101FC
+:1094600001010101010101010101010101010101EC
+:1094700001010101010101010101010101010101DC
+:1094800001010101010101010101010101010101CC
+:1094900001010101010101010101010101010101BC
+:1094A00001010101010101010101010101010101AC
+:1094B000010101010101010101010101010101019C
+:1094C000010101010101010101010101010101018C
+:1094D000010101010101010101010101010101017C
+:1094E000010101010101010101010101010101016C
+:1094F000010101010101010101010101010101015C
+:10950000010101010101010101010101010101014B
+:10951000010101010101010101010101010101013B
+:10952000010101010101010101010101010101012B
+:10953000010101010101010101010101010101011B
+:10954000010101010101010101010101010101010B
+:1095500001010101010101010101010101010101FB
+:1095600001010101010101010101010101010101EB
+:1095700001010101010101010101010101010101DB
+:1095800001010101010101010101010101010101CB
+:1095900001010101010101010101010101010101BB
+:1095A00001010101010101010101010101010101AB
+:1095B000010101010101010101010101010101019B
+:1095C000010101010101010101010101010101018B
+:1095D000010101010101010101010101010101017B
+:1095E000010101010101010101010101010101016B
+:1095F000010101010101010101010101010101015B
+:10960000010101010101010101010101010101014A
+:10961000010101010101010101010101010101013A
+:10962000010101010101010101010101010101012A
+:10963000010101010101010101010101010101011A
+:10964000010101010101010101010101010101010A
+:1096500001010101010101010101010101010101FA
+:1096600001010101010101010101010101010101EA
+:1096700001010101010101010101010101010101DA
+:1096800001010101010101010101010101010101CA
+:1096900001010101010101010101010101010101BA
+:1096A00001010101010101010101010101010101AA
+:1096B000010101010101010101010101010101019A
+:1096C000010101010101010101010101010101018A
+:1096D000010101010101010101010101010101017A
+:1096E000010101010101010101010101010101016A
+:1096F000010101010101010101010101010101015A
+:109700000101010101010101010101010101010149
+:109710000101010101010101010101010101010139
+:109720000101010101010101010101010101010129
+:109730000101010101010101010101010101010119
+:109740000101010101010101010101010101010109
+:1097500001010101010101010101010101010101F9
+:1097600001010101010101010101010101010101E9
+:1097700001010101010101010101010101010101D9
+:1097800001010101010101010101010101010101C9
+:1097900001010101010101010101010101010101B9
+:1097A00001010101010101010101010101010101A9
+:1097B0000101010101010101010101010101010199
+:1097C0000101010101010101010101010101010189
+:1097D0000101010101010101010101010101010179
+:1097E0000101010101010101010101010101010169
+:1097F0000101010101010101010101010101010159
+:109800000101010101010101010101010101010148
+:109810000101010101010101010101010101010138
+:109820000101010101010101010101010101010128
+:109830000101010101010101010101010101010118
+:109840000101010101010101010101010101010108
+:1098500001010101010101010101010101010101F8
+:1098600001010101010101010101010101010101E8
+:1098700001010101010101010101010101010101D8
+:1098800001010101010101010101010101010101C8
+:1098900001010101010101010101010101010101B8
+:1098A00001010101010101010101010101010101A8
+:1098B0000101010101010101010101010101010198
+:1098C0000101010101010101010101010101010188
+:1098D0000101010101010101010101010101010178
+:1098E0000101010101010101010101010101010168
+:1098F0000101010101010101010101010101010158
+:109900000101010101010101010101010101010147
+:109910000101010101010101010101010101010137
+:109920000101010101010101010101010101010127
+:109930000101010101010101010101010101010117
+:109940000101010101010101010101010101010107
+:1099500001010101010101010101010101010101F7
+:1099600001010101010101010101010101010101E7
+:1099700001010101010101010101010101010101D7
+:1099800001010101010101010101010101010101C7
+:1099900001010101010101010101010101010101B7
+:1099A00001010101010101010101010101010101A7
+:1099B0000101010101010101010101010101010197
+:1099C0000101010101010101010101010101010187
+:1099D0000101010101010101010101010101010177
+:1099E0000101010101010101010101010101010167
+:1099F0000101010101010101010101010101010157
+:109A00000101010101010101010101010101010146
+:109A10000101010101010101010101010101010136
+:109A20000101010101010101010101010101010126
+:109A30000101010101010101010101010101010116
+:109A40000101010101010101010101010101010106
+:109A500001010101010101010101010101010101F6
+:109A600001010101010101010101010101010101E6
+:109A700001010101010101010101010101010101D6
+:109A800001010101010101010101010101010101C6
+:109A900001010101010101010101010101010101B6
+:109AA00001010101010101010101010101010101A6
+:109AB0000101010101010101010101010101010196
+:109AC0000101010101010101010101010101010186
+:109AD0000101010101010101010101010101010176
+:109AE0000101010101010101010101010101010166
+:109AF0000101010101010101010101010101010156
+:109B00000101010101010101010101010101010145
+:109B10000101010101010101010101010101010135
+:109B20000101010101010101010101010101010125
+:109B30000101010101010101010101010101010115
+:109B40000101010101010101010101010101010105
+:109B500001010101010101010101010101010101F5
+:109B600001010101010101010101010101010101E5
+:109B700001010101010101010101010101010101D5
+:109B800001010101010101010101010101010101C5
+:109B900001010101010101010101010101010101B5
+:109BA00001010101010101010101010101010101A5
+:109BB0000101010101010101010101010101010195
+:109BC0000101010101010101010101010101010185
+:109BD0000101010101010101010101010101010175
+:109BE0000101010101010101010101010101010165
+:109BF0000101010101010101010101010101010155
+:109C00000101010101010101010101010101010144
+:109C10000101010101010101010101010101010134
+:109C20000101010101010101010101010101010124
+:109C30000101010101010101010101010101010114
+:109C40000101010101010101010101010101010104
+:109C500001010101010101010101010101010101F4
+:109C600001010101010101010101010101010101E4
+:109C700001010101010101010101010101010101D4
+:109C800001010101010101010101010101010101C4
+:109C900001010101010101010101010101010101B4
+:109CA00001010101010101010101010101010101A4
+:109CB0000101010101010101010101010101010194
+:109CC0000101010101010101010101010101010184
+:109CD0000101010101010101010101010101010174
+:109CE0000101010101010101010101010101010164
+:109CF0000101010101010101010101010101010154
+:109D00000101010101010101010101010101010143
+:109D10000101010101010101010101010101010133
+:109D20000101010101010101010101010101010123
+:109D30000101010101010101010101010101010113
+:109D40000101010101010101010101010101010103
+:109D500001010101010101010101010101010101F3
+:109D600001010101010101010101010101010101E3
+:109D700001010101010101010101010101010101D3
+:109D800001010101010101010101010101010101C3
+:109D900001010101010101010101010101010101B3
+:109DA00001010101010101010101010101010101A3
+:109DB0000101010101010101010101010101010193
+:109DC0000101010101010101010101010101010183
+:109DD0000101010101010101010101010101010173
+:109DE0000101010101010101010101010101010163
+:109DF0000101010101010101010101010101010153
+:109E00000101010101010101010101010101010142
+:109E10000101010101010101010101010101010132
+:109E20000101010101010101010101010101010122
+:109E30000101010101010101010101010101010112
+:109E40000101010101010101010101010101010102
+:109E500001010101010101010101010101010101F2
+:109E600001010101010101010101010101010101E2
+:109E700001010101010101010101010101010101D2
+:109E800001010101010101010101010101010101C2
+:109E900001010101010101010101010101010101B2
+:109EA00001010101010101010101010101010101A2
+:109EB0000101010101010101010101010101010192
+:109EC0000101010101010101010101010101010182
+:109ED0000101010101010101010101010101010172
+:109EE0000101010101010101010101010101010162
+:109EF0000101010101010101010101010101010152
+:109F00000101010101010101010101010101010141
+:109F10000101010101010101010101010101010131
+:109F20000101010101010101010101010101010121
+:109F30000101010101010101010101010101010111
+:109F40000101010101010101010101010101010101
+:109F500001010101010101010101010101010101F1
+:109F600001010101010101010101010101010101E1
+:109F700001010101010101010101010101010101D1
+:109F800001010101010101010101010101010101C1
+:109F900001010101010101010101010101010101B1
+:109FA00001010101010101010101010101010101A1
+:109FB0000101010101010101010101010101010191
+:109FC0000101010101010101010101010101010181
+:109FD0000101010101010101010101010101010171
+:109FE0000101010101010101010101010101010161
+:109FF0000101010101010101010101010101010151
+:10A000000101010101010101010101010101010140
+:10A010000101010101010101010101010101010130
+:10A020000101010101010101010101010101010120
+:10A030000101010101010101010101010101010110
+:10A040000101010101010101010101010101010100
+:10A0500001010101010101010101010101010101F0
+:10A0600001010101010101010101010101010101E0
+:10A0700001010101010101010101010101010101D0
+:10A0800001010101010101010101010101010101C0
+:10A0900001010101010101010101010101010101B0
+:10A0A00001010101010101010101010101010101A0
+:10A0B0000101010101010101010101010101010190
+:10A0C0000101010101010101010101010101010180
+:10A0D0000101010101010101010101010101010170
+:10A0E0000101010101010101010101010101010160
+:10A0F0000101010101010101010101010101010150
+:10A10000010101010101010101010101010101013F
+:10A11000010101010101010101010101010101012F
+:10A12000010101010101010101010101010101011F
+:10A13000010101010101010101010101010101010F
+:10A1400001010101010101010101010101010101FF
+:10A1500001010101010101010101010101010101EF
+:10A1600001010101010101010101010101010101DF
+:10A1700001010101010101010101010101010101CF
+:10A1800001010101010101010101010101010101BF
+:10A1900001010101010101010101010101010101AF
+:10A1A000010101010101010101010101010101019F
+:10A1B000010101010101010101010101010101018F
+:10A1C000010101010101010101010101010101017F
+:10A1D000010101010101010101010101010101016F
+:10A1E000010101010101010101010101010101015F
+:10A1F000010101010101010101010101010101014F
+:10A20000010101010101010101010101010101013E
+:10A21000010101010101010101010101010101012E
+:10A22000010101010101010101010101010101011E
+:10A23000010101010101010101010101010101010E
+:10A2400001010101010101010101010101010101FE
+:10A2500001010101010101010101010101010101EE
+:10A2600001010101010101010101010101010101DE
+:10A2700001010101010101010101010101010101CE
+:10A2800001010101010101010101010101010101BE
+:10A2900001010101010101010101010101010101AE
+:10A2A000010101010101010101010101010101019E
+:10A2B000010101010101010101010101010101018E
+:10A2C000010101010101010101010101010101017E
+:10A2D000010101010101010101010101010101016E
+:10A2E000010101010101010101010101010101015E
+:10A2F000010101010101010101010101010101014E
+:10A30000010101010101010101010101010101013D
+:10A31000010101010101010101010101010101012D
+:10A32000010101010101010101010101010101011D
+:10A33000010101010101010101010101010101010D
+:10A3400001010101010101010101010101010101FD
+:10A3500001010101010101010101010101010101ED
+:10A3600001010101010101010101010101010101DD
+:10A3700001010101010101010101010101010101CD
+:10A3800001010101010101010101010101010101BD
+:10A3900001010101010101010101010101010101AD
+:10A3A000010101010101010101010101010101019D
+:10A3B000010101010101010101010101010101018D
+:10A3C000010101010101010101010101010101017D
+:10A3D000010101010101010101010101010101016D
+:10A3E000010101010101010101010101010101015D
+:10A3F000010101010101010101010101010101014D
+:10A40000010101010101010101010101010101013C
+:10A41000010101010101010101010101010101012C
+:10A42000010101010101010101010101010101011C
+:10A43000010101010101010101010101010101010C
+:10A4400001010101010101010101010101010101FC
+:10A4500001010101010101010101010101010101EC
+:10A4600001010101010101010101010101010101DC
+:10A4700001010101010101010101010101010101CC
+:10A4800001010101010101010101010101010101BC
+:10A4900001010101010101010101010101010101AC
+:10A4A000010101010101010101010101010101019C
+:10A4B000010101010101010101010101010101018C
+:10A4C000010101010101010101010101010101017C
+:10A4D000010101010101010101010101010101016C
+:10A4E000010101010101010101010101010101015C
+:10A4F000010101010101010101010101010101014C
+:10A50000010101010101010101010101010101013B
+:10A51000010101010101010101010101010101012B
+:10A52000010101010101010101010101010101011B
+:10A53000010101010101010101010101010101010B
+:10A5400001010101010101010101010101010101FB
+:10A5500001010101010101010101010101010101EB
+:10A5600001010101010101010101010101010101DB
+:10A5700001010101010101010101010101010101CB
+:10A5800001010101010101010101010101010101BB
+:10A5900001010101010101010101010101010101AB
+:10A5A000010101010101010101010101010101019B
+:10A5B000010101010101010101010101010101018B
+:10A5C000010101010101010101010101010101017B
+:10A5D000010101010101010101010101010101016B
+:10A5E000010101010101010101010101010101015B
+:10A5F000010101010101010101010101010101014B
+:10A60000010101010101010101010101010101013A
+:10A61000010101010101010101010101010101012A
+:10A62000010101010101010101010101010101011A
+:10A63000010101010101010101010101010101010A
+:10A6400001010101010101010101010101010101FA
+:10A6500001010101010101010101010101010101EA
+:10A6600001010101010101010101010101010101DA
+:10A6700001010101010101010101010101010101CA
+:10A6800001010101010101010101010101010101BA
+:10A6900001010101010101010101010101010101AA
+:10A6A000010101010101010101010101010101019A
+:10A6B000010101010101010101010101010101018A
+:10A6C000010101010101010101010101010101017A
+:10A6D000010101010101010101010101010101016A
+:10A6E000010101010101010101010101010101015A
+:10A6F000010101010101010101010101010101014A
+:10A700000101010101010101010101010101010139
+:10A710000101010101010101010101010101010129
+:10A720000101010101010101010101010101010119
+:10A730000101010101010101010101010101010109
+:10A7400001010101010101010101010101010101F9
+:10A7500001010101010101010101010101010101E9
+:10A7600001010101010101010101010101010101D9
+:10A7700001010101010101010101010101010101C9
+:10A7800001010101010101010101010101010101B9
+:10A7900001010101010101010101010101010101A9
+:10A7A0000101010101010101010101010101010199
+:10A7B0000101010101010101010101010101010189
+:10A7C0000101010101010101010101010101010179
+:10A7D0000101010101010101010101010101010169
+:10A7E0000101010101010101010101010101010159
+:10A7F0000101010101010101010101010101010149
+:10A800000101010101010101010101010101010138
+:10A810000101010101010101010101010101010128
+:10A820000101010101010101010101010101010118
+:10A830000101010101010101010101010101010108
+:10A8400001010101010101010101010101010101F8
+:10A8500001010101010101010101010101010101E8
+:10A8600001010101010101010101010101010101D8
+:10A8700001010101010101010101010101010101C8
+:10A8800001010101010101010101010101010101B8
+:10A8900001010101010101010101010101010101A8
+:10A8A0000101010101010101010101010101010198
+:10A8B0000101010101010101010101010101010188
+:10A8C0000101010101010101010101010101010178
+:10A8D0000101010101010101010101010101010168
+:10A8E0000101010101010101010101010101010158
+:10A8F0000101010101010101010101010101010148
+:10A900000101010101010101010101010101010137
+:10A910000101010101010101010101010101010127
+:10A920000101010101010101010101010101010117
+:10A930000101010101010101010101010101010107
+:10A9400001010101010101010101010101010101F7
+:10A9500001010101010101010101010101010101E7
+:10A9600001010101010101010101010101010101D7
+:10A9700001010101010101010101010101010101C7
+:10A9800001010101010101010101010101010101B7
+:10A9900001010101010101010101010101010101A7
+:10A9A0000101010101010101010101010101010197
+:10A9B0000101010101010101010101010101010187
+:10A9C0000101010101010101010101010101010177
+:10A9D0000101010101010101010101010101010167
+:10A9E0000101010101010101010101010101010157
+:10A9F0000101010101010101010101010101010147
+:10AA00000101010101010101010101010101010136
+:10AA10000101010101010101010101010101010126
+:10AA20000101010101010101010101010101010116
+:10AA30000101010101010101010101010101010106
+:10AA400001010101010101010101010101010101F6
+:10AA500001010101010101010101010101010101E6
+:10AA600001010101010101010101010101010101D6
+:10AA700001010101010101010101010101010101C6
+:10AA800001010101010101010101010101010101B6
+:10AA900001010101010101010101010101010101A6
+:10AAA0000101010101010101010101010101010196
+:10AAB0000101010101010101010101010101010186
+:10AAC0000101010101010101010101010101010176
+:10AAD0000101010101010101010101010101010166
+:10AAE0000101010101010101010101010101010156
+:10AAF000010101010101010000000000000000004F
+:10AB00000000000000000000000000000000000045
+:10AB10000000000000000000000000000000000035
+:10AB20000000000000000000000000000000000025
+:10AB30000000000000000000000000000000000015
+:10AB40000000000000000000000000000000000005
+:10AB500000000000000000000000000000000000F5
+:10AB600000000000000000000000000000000000E5
+:10AB700000000000000000000000000000000000D5
+:10AB800000000000000000000000000000000000C5
+:10AB900000000000000000000000000000000000B5
+:10ABA00000000000000000000000000000000000A5
+:10ABB0000000000000000000000000000000000095
+:10ABC0000000000000000000000000000000000085
+:10ABD0000000000000000000000000000000000075
+:10ABE0000000000000000000000000000000000065
+:10ABF0000000000000000000000000000000000055
+:10AC00000000000000000000000000000000000044
+:10AC10000000000000000000000000000000000034
+:10AC20000000000000000000000000000000000024
+:10AC30000000000000000000000000000000000014
+:10AC40000000000000000000000000000000000004
+:10AC500000000000000000000000000000000000F4
+:10AC600000000000000000000000000000000000E4
+:10AC700000000000000000000000000000000000D4
+:10AC800000000000000000000000000000000000C4
+:10AC900000000000000000000000000000000000B4
+:10ACA00000000000000000000000000000000000A4
+:10ACB0000000000000000000000000000000000094
+:10ACC0000000000000000000000000000000000084
+:10ACD0000000000000000000000000000000000074
+:10ACE0000000000000000000000000000000000064
+:10ACF0000000000000000000000000000000000054
+:10AD00000000000000000000000000000000000043
+:10AD10000000000000000000000000000000000033
+:10AD20000000000000000000000000000000000023
+:10AD30000000000000000000000000000000000013
+:10AD40000000000000000000000000000000000003
+:10AD500000000000000000000000000000000000F3
+:10AD600000000000000000000000000000000000E3
+:10AD700000000000000000000000000000000000D3
+:10AD800000000000000000000000000000000000C3
+:10AD900000000000000000000000000000000000B3
+:10ADA00000000000000000000000000000000000A3
+:10ADB0000000000000000000000000000000000093
+:10ADC0000000000000000000000000000000000083
+:10ADD0000000000000000000000000000000000073
+:10ADE0000000000000000000000000000000000063
+:10ADF0000000000000000000000000000000000053
+:10AE00000000000000000000000000000000000042
+:10AE10000000000000000000000000000000000032
+:10AE20000000000000000000000000000000000022
+:10AE30000000000000000000000000000000000012
+:10AE40000000000000000000000000000000000002
+:10AE500000000000000000000000000000000000F2
+:10AE600000000000000000000000000000000000E2
+:10AE700000000000000000000000000000000000D2
+:10AE800000000000000000000000000000000000C2
+:10AE900000000000000000000000000000000000B2
+:10AEA00000000000000000000000000000000000A2
+:10AEB0000000000000000000000000000000000092
+:10AEC0000000000000000000000000000000000082
+:10AED0000000000000000000000000000000000072
+:10AEE0000000000000000000000000000000000062
+:10AEF0000000000000000002020202020202020240
+:10AF00000202020202020202020202020202020221
+:10AF10000202020202020202020202020202020211
+:10AF20000202020202020202020202020202020201
+:10AF300002020202020202020202020202020202F1
+:10AF400002020202020202020202020202020202E1
+:10AF500002020202020202020202020202020202D1
+:10AF600002020202020202020202020202020202C1
+:10AF700002020202020202020202020202020202B1
+:10AF800002020202020202020202020202020202A1
+:10AF90000202020202020202020202020202020291
+:10AFA0000202020202020202020202020202020281
+:10AFB0000202020202020202020202020202020271
+:10AFC0000202020202020202020202020202020261
+:10AFD0000202020202020202020202020202020251
+:10AFE0000202020202020202020202020202020241
+:10AFF0000202020202020202020202020202020231
+:10B000000202020202020202020202020202020220
+:10B010000202020202020202020202020202020210
+:10B020000202020202020202020202020202020200
+:10B0300002020202020202020202020202020202F0
+:10B0400002020202020202020202020202020202E0
+:10B0500002020202020202020202020202020202D0
+:10B0600002020202020202020202020202020202C0
+:10B0700002020202020202020202020202020202B0
+:10B0800002020202020202020202020202020202A0
+:10B090000202020202020202020202020202020290
+:10B0A0000202020202020202020202020202020280
+:10B0B0000202020202020202020202020202020270
+:10B0C0000202020202020202020202020202020260
+:10B0D0000202020202020202020202020202020250
+:10B0E0000202020202020202020202020202020240
+:10B0F0000202020202020202020202020202020230
+:10B10000020202020202020202020202020202021F
+:10B11000020202020202020202020202020202020F
+:10B1200002020202020202020202020202020202FF
+:10B1300002020202020202020202020202020202EF
+:10B1400002020202020202020202020202020202DF
+:10B1500002020202020202020202020202020202CF
+:10B1600002020202020202020202020202020202BF
+:10B1700002020202020202020202020202020202AF
+:10B18000020202020202020202020202020202029F
+:10B19000020202020202020202020202020202028F
+:10B1A000020202020202020202020202020202027F
+:10B1B000020202020202020202020202020202026F
+:10B1C000020202020202020202020202020202025F
+:10B1D000020202020202020202020202020202024F
+:10B1E000020202020202020202020202020202023F
+:10B1F000020202020202020202020202020202022F
+:10B20000020202020202020202020202020202021E
+:10B21000020202020202020202020202020202020E
+:10B2200002020202020202020202020202020202FE
+:10B2300002020202020202020202020202020202EE
+:10B2400002020202020202020202020202020202DE
+:10B2500002020202020202020202020202020202CE
+:10B2600002020202020202020202020202020202BE
+:10B2700002020202020202020202020202020202AE
+:10B28000020202020202020202020202020202029E
+:10B29000020202020202020202020202020202028E
+:10B2A000020202020202020202020202020202027E
+:10B2B000020202020202020202020202020202026E
+:10B2C000020202020202020202020202020202025E
+:10B2D000020202020202020202020202020202024E
+:10B2E000020202020202020202020202020202023E
+:10B2F000020202020202020202020202020202022E
+:10B30000020202020202020202020202020202021D
+:10B31000020202020202020202020202020202020D
+:10B3200002020202020202020202020202020202FD
+:10B3300002020202020202020202020202020202ED
+:10B3400002020202020202020202020202020202DD
+:10B3500002020202020202020202020202020202CD
+:10B3600002020202020202020202020202020202BD
+:10B3700002020202020202020202020202020202AD
+:10B38000020202020202020202020202020202029D
+:10B39000020202020202020202020202020202028D
+:10B3A000020202020202020202020202020202027D
+:10B3B000020202020202020202020202020202026D
+:10B3C000020202020202020202020202020202025D
+:10B3D000020202020202020202020202020202024D
+:10B3E000020202020202020202020202020202023D
+:10B3F000020202020202020202020202020202022D
+:10B40000020202020202020202020202020202021C
+:10B41000020202020202020202020202020202020C
+:10B4200002020202020202020202020202020202FC
+:10B4300002020202020202020202020202020202EC
+:10B4400002020202020202020202020202020202DC
+:10B4500002020202020202020202020202020202CC
+:10B4600002020202020202020202020202020202BC
+:10B4700002020202020202020202020202020202AC
+:10B48000020202020202020202020202020202029C
+:10B49000020202020202020202020202020202028C
+:10B4A000020202020202020202020202020202027C
+:10B4B000020202020202020202020202020202026C
+:10B4C000020202020202020202020202020202025C
+:10B4D000020202020202020202020202020202024C
+:10B4E000020202020202020202020202020202023C
+:10B4F000020202020202020202020202020202022C
+:10B50000020202020202020202020202020202021B
+:10B51000020202020202020202020202020202020B
+:10B5200002020202020202020202020202020202FB
+:10B5300002020202020202020202020202020202EB
+:10B5400002020202020202020202020202020202DB
+:10B5500002020202020202020202020202020202CB
+:10B5600002020202020202020202020202020202BB
+:10B5700002020202020202020202020202020202AB
+:10B58000020202020202020202020202020202029B
+:10B59000020202020202020202020202020202028B
+:10B5A000020202020202020202020202020202027B
+:10B5B000020202020202020202020202020202026B
+:10B5C000020202020202020202020202020202025B
+:10B5D000020202020202020202020202020202024B
+:10B5E000020202020202020202020202020202023B
+:10B5F000020202020202020202020202020202022B
+:10B60000020202020202020202020202020202021A
+:10B61000020202020202020202020202020202020A
+:10B6200002020202020202020202020202020202FA
+:10B6300002020202020202020202020202020202EA
+:10B6400002020202020202020202020202020202DA
+:10B6500002020202020202020202020202020202CA
+:10B6600002020202020202020202020202020202BA
+:10B6700002020202020202020202020202020202AA
+:10B68000020202020202020202020202020202029A
+:10B69000020202020202020202020202020202028A
+:10B6A000020202020202020202020202020202027A
+:10B6B000020202020202020202020202020202026A
+:10B6C000020202020202020202020202020202025A
+:10B6D000020202020202020202020202020202024A
+:10B6E000020202020202020202020202020202023A
+:10B6F000020202020202020202020202020202022A
+:10B700000202020202020202020202020202020219
+:10B710000202020202020202020202020202020209
+:10B7200002020202020202020202020202020202F9
+:10B7300002020202020202020202020202020202E9
+:10B7400002020202020202020202020202020202D9
+:10B7500002020202020202020202020202020202C9
+:10B7600002020202020202020202020202020202B9
+:10B7700002020202020202020202020202020202A9
+:10B780000202020202020202020202020202020299
+:10B790000202020202020202020202020202020289
+:10B7A0000202020202020202020202020202020279
+:10B7B0000202020202020202020202020202020269
+:10B7C0000202020202020202020202020202020259
+:10B7D0000202020202020202020202020202020249
+:10B7E0000202020202020202020202020202020239
+:10B7F0000202020202020202020202020202020229
+:10B800000202020202020202020202020202020218
+:10B810000202020202020202020202020202020208
+:10B8200002020202020202020202020202020202F8
+:10B8300002020202020202020202020202020202E8
+:10B8400002020202020202020202020202020202D8
+:10B8500002020202020202020202020202020202C8
+:10B8600002020202020202020202020202020202B8
+:10B8700002020202020202020202020202020202A8
+:10B880000202020202020202020202020202020298
+:10B890000202020202020202020202020202020288
+:10B8A0000202020202020202020202020202020278
+:10B8B0000202020202020202020202020202020268
+:10B8C0000202020202020202020202020202020258
+:10B8D0000202020202020202020202020202020248
+:10B8E0000202020202020202020202020202020238
+:10B8F0000202020202020202020202020202020228
+:10B900000202020202020202020202020202020217
+:10B910000202020202020202020202020202020207
+:10B9200002020202020202020202020202020202F7
+:10B9300002020202020202020202020202020202E7
+:10B9400002020202020202020202020202020202D7
+:10B9500002020202020202020202020202020202C7
+:10B9600002020202020202020202020202020202B7
+:10B9700002020202020202020202020202020202A7
+:10B980000202020202020202020202020202020297
+:10B990000202020202020202020202020202020287
+:10B9A0000202020202020202020202020202020277
+:10B9B0000202020202020202020202020202020267
+:10B9C0000202020202020202020202020202020257
+:10B9D0000202020202020202020202020202020247
+:10B9E0000202020202020202020202020202020237
+:10B9F0000202020202020202020202020202020227
+:10BA00000202020202020202020202020202020216
+:10BA10000202020202020202020202020202020206
+:10BA200002020202020202020202020202020202F6
+:10BA300002020202020202020202020202020202E6
+:10BA400002020202020202020202020202020202D6
+:10BA500002020202020202020202020202020202C6
+:10BA600002020202020202020202020202020202B6
+:10BA700002020202020202020202020202020202A6
+:10BA80000202020202020202020202020202020296
+:10BA90000202020202020202020202020202020286
+:10BAA0000202020202020202020202020202020276
+:10BAB0000202020202020202020202020202020266
+:10BAC0000202020202020202020202020202020256
+:10BAD0000202020202020202020202020202020246
+:10BAE0000202020202020202020202020202020236
+:10BAF0000202020202020202020202020202020226
+:10BB00000202020202020202020202020202020215
+:10BB10000202020202020202020202020202020205
+:10BB200002020202020202020202020202020202F5
+:10BB300002020202020202020202020202020202E5
+:10BB400002020202020202020202020202020202D5
+:10BB500002020202020202020202020202020202C5
+:10BB600002020202020202020202020202020202B5
+:10BB700002020202020202020202020202020202A5
+:10BB80000202020202020202020202020202020295
+:10BB90000202020202020202020202020202020285
+:10BBA0000202020202020202020202020202020275
+:10BBB0000202020202020202020202020202020265
+:10BBC0000202020202020202020202020202020255
+:10BBD0000202020202020202020202020202020245
+:10BBE0000202020202020202020202020202020235
+:10BBF0000202020202020202020202020202020225
+:10BC00000202020202020202020202020202020214
+:10BC10000202020202020202020202020202020204
+:10BC200002020202020202020202020202020202F4
+:10BC300002020202020202020202020202020202E4
+:10BC400002020202020202020202020202020202D4
+:10BC500002020202020202020202020202020202C4
+:10BC600002020202020202020202020202020202B4
+:10BC700002020202020202020202020202020202A4
+:10BC80000202020202020202020202020202020294
+:10BC90000202020202020202020202020202020284
+:10BCA0000202020202020202020202020202020274
+:10BCB0000202020202020202020202020202020264
+:10BCC0000202020202020202020202020202020254
+:10BCD0000202020202020202020202020202020244
+:10BCE0000202020202020202020202020202020234
+:10BCF0000202020202020202020202020202020224
+:10BD00000202020202020202020202020202020213
+:10BD10000202020202020202020202020202020203
+:10BD200002020202020202020202020202020202F3
+:10BD300002020202020202020202020202020202E3
+:10BD400002020202020202020202020202020202D3
+:10BD500002020202020202020202020202020202C3
+:10BD600002020202020202020202020202020202B3
+:10BD700002020202020202020202020202020202A3
+:10BD80000202020202020202020202020202020293
+:10BD90000202020202020202020202020202020283
+:10BDA0000202020202020202020202020202020273
+:10BDB0000202020202020202020202020202020263
+:10BDC0000202020202020202020202020202020253
+:10BDD0000202020202020202020202020202020243
+:10BDE0000202020202020202020202020202020233
+:10BDF0000202020202020202020202020202020223
+:10BE00000202020202020202020202020202020212
+:10BE10000202020202020202020202020202020202
+:10BE200002020202020202020202020202020202F2
+:10BE300002020202020202020202020202020202E2
+:10BE400002020202020202020202020202020202D2
+:10BE500002020202020202020202020202020202C2
+:10BE600002020202020202020202020202020202B2
+:10BE700002020202020202020202020202020202A2
+:10BE80000202020202020202020202020202020292
+:10BE90000202020202020202020202020202020282
+:10BEA0000202020202020202020202020202020272
+:10BEB0000202020202020202020202020202020262
+:10BEC0000202020202020202020202020202020252
+:10BED0000202020202020202020202020202020242
+:10BEE0000202020202020202020202020202020232
+:10BEF0000202020202020202020202020202020222
+:10BF00000202020202020202020202020202020211
+:10BF10000202020202020202020202020202020201
+:10BF200002020202020202020202020202020202F1
+:10BF300002020202020202020202020202020202E1
+:10BF400002020202020202020202020202020202D1
+:10BF500002020202020202020202020202020202C1
+:10BF600002020202020202020202020202020202B1
+:10BF700002020202020202020202020202020202A1
+:10BF80000202020202020202020202020202020291
+:10BF90000202020202020202020202020202020281
+:10BFA0000202020202020202020202020202020271
+:10BFB0000202020202020202020202020202020261
+:10BFC0000202020202020202020202020202020251
+:10BFD0000202020202020202020202020202020241
+:10BFE0000202020202020202020202020202020231
+:10BFF0000202020202020202020202020202020221
+:10C000000202020202020202020202020202020210
+:10C010000202020202020202020202020202020200
+:10C0200002020202020202020202020202020202F0
+:10C0300002020202020202020202020202020202E0
+:10C0400002020202020202020202020202020202D0
+:10C0500002020202020202020202020202020202C0
+:10C0600002020202020202020202020202020202B0
+:10C0700002020202020202020202020202020202A0
+:10C080000202020202020202020202020202020290
+:10C090000202020202020202020202020202020280
+:10C0A0000202020202020202020202020202020270
+:10C0B0000202020202020202020202020202020260
+:10C0C0000202020202020202020202020202020250
+:10C0D0000202020202020202020202020202020240
+:10C0E0000202020202020202020202020202020230
+:10C0F0000202020202020202020202020202020220
+:10C10000020202020202020202020202020202020F
+:10C1100002020202020202020202020202020202FF
+:10C1200002020202020202020202020202020202EF
+:10C1300002020202020202020202020202020202DF
+:10C1400002020202020202020202020202020202CF
+:10C1500002020202020202020202020202020202BF
+:10C1600002020202020202020202020202020202AF
+:10C17000020202020202020202020202020202029F
+:10C18000020202020202020202020202020202028F
+:10C19000020202020202020202020202020202027F
+:10C1A000020202020202020202020202020202026F
+:10C1B000020202020202020202020202020202025F
+:10C1C000020202020202020202020202020202024F
+:10C1D000020202020202020202020202020202023F
+:10C1E000020202020202020202020202020202022F
+:10C1F000020202020202020202020202020202021F
+:10C20000020202020202020202020202020202020E
+:10C2100002020202020202020202020202020202FE
+:10C2200002020202020202020202020202020202EE
+:10C2300002020202020202020202020202020202DE
+:10C2400002020202020202020202020202020202CE
+:10C2500002020202020202020202020202020202BE
+:10C2600002020202020202020202020202020202AE
+:10C27000020202020202020202020202020202029E
+:10C28000020202020202020202020202020202028E
+:10C29000020202020202020202020202020202027E
+:10C2A000020202020202020202020202020202026E
+:10C2B000020202020202020202020202020202025E
+:10C2C000020202020202020202020202020202024E
+:10C2D000020202020202020202020202020202023E
+:10C2E000020202020202020202020202020202022E
+:10C2F000020202020202020202020202020202021E
+:10C30000020202020202020202020202020202020D
+:10C3100002020202020202020202020202020202FD
+:10C3200002020202020202020202020202020202ED
+:10C3300002020202020202020202020202020202DD
+:10C3400002020202020202020202020202020202CD
+:10C3500002020202020202020202020202020202BD
+:10C3600002020202020202020202020202020202AD
+:10C37000020202020202020202020202020202029D
+:10C38000020202020202020202020202020202028D
+:10C39000020202020202020202020202020202027D
+:10C3A000020202020202020202020202020202026D
+:10C3B000020202020202020202020202020202025D
+:10C3C000020202020202020202020202020202024D
+:10C3D000020202020202020202020202020202023D
+:10C3E000020202020202020202020202020202022D
+:10C3F000020202020202020202020202020202021D
+:10C40000020202020202020202020202020202020C
+:10C4100002020202020202020202020202020202FC
+:10C4200002020202020202020202020202020202EC
+:10C4300002020202020202020202020202020202DC
+:10C4400002020202020202020202020202020202CC
+:10C4500002020202020202020202020202020202BC
+:10C4600002020202020202020202020202020202AC
+:10C47000020202020202020202020202020202029C
+:10C48000020202020202020202020202020202028C
+:10C49000020202020202020202020202020202027C
+:10C4A000020202020202020202020202020202026C
+:10C4B000020202020202020202020202020202025C
+:10C4C000020202020202020202020202020202024C
+:10C4D000020202020202020202020202020202023C
+:10C4E000020202020202020202020202020202022C
+:10C4F000020202020202020202020202020202021C
+:10C50000020202020202020202020202020202020B
+:10C5100002020202020202020202020202020202FB
+:10C5200002020202020202020202020202020202EB
+:10C5300002020202020202020202020202020202DB
+:10C5400002020202020202020202020202020202CB
+:10C5500002020202020202020202020202020202BB
+:10C5600002020202020202020202020202020202AB
+:10C57000020202020202020202020202020202029B
+:10C58000020202020202020202020202020202028B
+:10C59000020202020202020202020202020202027B
+:10C5A000020202020202020202020202020202026B
+:10C5B000020202020202020202020202020202025B
+:10C5C000020202020202020202020202020202024B
+:10C5D000020202020202020202020202020202023B
+:10C5E000020202020202020202020202020202022B
+:10C5F000020202020202020202020202020202021B
+:10C60000020202020202020202020202020202020A
+:10C6100002020202020202020202020202020202FA
+:10C6200002020202020202020202020202020202EA
+:10C6300002020202020202020202020202020202DA
+:10C6400002020202020202020202020202020202CA
+:10C6500002020202020202020202020202020202BA
+:10C6600002020202020202020202020202020202AA
+:10C67000020202020202020202020202020202029A
+:10C68000020202020202020202020202020202028A
+:10C69000020202020202020202020202020202027A
+:10C6A000020202020202020202020202020202026A
+:10C6B000020202020202020202020202020202025A
+:10C6C000020202020202020202020202020202024A
+:10C6D000020202020202020202020202020202023A
+:10C6E000020202020202020202020202020202022A
+:10C6F000020202020202020202020202020202021A
+:10C700000202020202020202020202020202020209
+:10C7100002020202020202020202020202020202F9
+:10C7200002020202020202020202020202020202E9
+:10C7300002020202020202020202020202020202D9
+:10C7400002020202020202020202020202020202C9
+:10C7500002020202020202020202020202020202B9
+:10C7600002020202020202020202020202020202A9
+:10C770000202020202020202020202020202020299
+:10C780000202020202020202020202020202020289
+:10C790000202020202020202020202020202020279
+:10C7A0000202020202020202020202020202020269
+:10C7B0000202020202020202020202020202020259
+:10C7C0000202020202020202020202020202020249
+:10C7D0000202020202020202020202020202020239
+:10C7E0000202020202020202020202020202020229
+:10C7F0000202020202020202020202020202020219
+:10C800000202020202020202020202020202020208
+:10C8100002020202020202020202020202020202F8
+:10C8200002020202020202020202020202020202E8
+:10C8300002020202020202020202020202020202D8
+:10C8400002020202020202020202020202020202C8
+:10C8500002020202020202020202020202020202B8
+:10C8600002020202020202020202020202020202A8
+:10C870000202020202020202020202020202020298
+:10C880000202020202020202020202020202020288
+:10C890000202020202020202020202020202020278
+:10C8A0000202020202020202020202020202020268
+:10C8B0000202020202020202020202020202020258
+:10C8C0000202020202020202020202020202020248
+:10C8D0000202020202020202020202020202020238
+:10C8E0000202020202020202020202020202020228
+:10C8F0000202020202020202020202020202020218
+:10C900000202020202020202020202020202020207
+:10C9100002020202020202020202020202020202F7
+:10C9200002020202020202020202020202020202E7
+:10C9300002020202020202020202020202020202D7
+:10C9400002020202020202020202020202020202C7
+:10C9500002020202020202020202020202020202B7
+:10C9600002020202020202020202020202020202A7
+:10C970000202020202020202020202020202020297
+:10C980000202020202020202020202020202020287
+:10C990000202020202020202020202020202020277
+:10C9A0000202020202020202020202020202020267
+:10C9B0000202020202020202020202020202020257
+:10C9C0000202020202020202020202020202020247
+:10C9D0000202020202020202020202020202020237
+:10C9E0000202020202020202020202020202020227
+:10C9F0000202020202020202020202020202020217
+:10CA00000202020202020202020202020202020206
+:10CA100002020202020202020202020202020202F6
+:10CA200002020202020202020202020202020202E6
+:10CA300002020202020202020202020202020202D6
+:10CA400002020202020202020202020202020202C6
+:10CA500002020202020202020202020202020202B6
+:10CA600002020202020202020202020202020202A6
+:10CA70000202020202020202020202020202020296
+:10CA80000202020202020202020202020202020286
+:10CA90000202020202020202020202020202020276
+:10CAA0000202020202020202020202020202020266
+:10CAB0000202020202020202020202020202020256
+:10CAC0000202020202020202020202020202020246
+:10CAD0000202020202020202020202020202020236
+:10CAE0000202020202020202020202020202020226
+:10CAF0000202020202020202020202020202020216
+:10CB00000202020202020202020202020202020205
+:10CB100002020202020202020202020202020202F5
+:10CB200002020202020202020202020202020202E5
+:10CB300002020202020202020202020202020202D5
+:10CB400002020202020202020202020202020202C5
+:10CB500002020202020202020202020202020202B5
+:10CB600002020202020202020202020202020202A5
+:10CB70000202020202020202020202020202020295
+:10CB80000202020202020202020202020202020285
+:10CB90000202020202020202020202020202020275
+:10CBA0000202020202020202020202020202020265
+:10CBB0000202020202020202020202020202020255
+:10CBC0000202020202020202020202020202020245
+:10CBD0000202020202020202020202020202020235
+:10CBE0000202020202020202020202020202020225
+:10CBF0000202020202020202020202020202020215
+:10CC00000202020202020202020202020202020204
+:10CC100002020202020202020202020202020202F4
+:10CC200002020202020202020202020202020202E4
+:10CC300002020202020202020202020202020202D4
+:10CC400002020202020202020202020202020202C4
+:10CC500002020202020202020202020202020202B4
+:10CC600002020202020202020202020202020202A4
+:10CC70000202020202020202020202020202020294
+:10CC80000202020202020202020202020202020284
+:10CC90000202020202020202020202020202020274
+:10CCA0000202020202020202020202020202020264
+:10CCB0000202020202020202020202020202020254
+:10CCC0000202020202020202020202020202020244
+:10CCD0000202020202020202020202020202020234
+:10CCE0000202020202020202020202020202020224
+:10CCF0000202020202020202020202020202020214
+:10CD00000202020202020202020202020202020203
+:10CD100002020202020202020202020202020202F3
+:10CD200002020202020202020202020202020202E3
+:10CD300002020202020202020202020202020202D3
+:10CD400002020202020202020202020202020202C3
+:10CD500002020202020202020202020202020202B3
+:10CD600002020202020202020202020202020202A3
+:10CD70000202020202020202020202020202020293
+:10CD80000202020202020202020202020202020283
+:10CD90000202020202020202020202020202020273
+:10CDA0000202020202020202020202020202020263
+:10CDB0000202020202020202020202020202020253
+:10CDC0000202020202020202020202020202020243
+:10CDD0000202020202020202020202020202020233
+:10CDE0000202020202020202020202020202020223
+:10CDF0000202020202020202020202020202020213
+:10CE00000202020202020202020202020202020202
+:10CE100002020202020202020202020202020202F2
+:10CE200002020202020202020202020202020202E2
+:10CE300002020202020202020202020202020202D2
+:10CE400002020202020202020202020202020202C2
+:10CE500002020202020202020202020202020202B2
+:10CE600002020202020202020202020202020202A2
+:10CE70000202020202020202020202020202020292
+:10CE80000202020202020202020202020202020282
+:10CE90000202020202020202020202020202020272
+:10CEA0000202020202020202020202020202020262
+:10CEB0000202020202020202020202020202020252
+:10CEC0000202020202020202020202020202020242
+:10CED0000202020202020202020202020202020232
+:10CEE0000202020202020202020202020202020222
+:10CEF0000202020202020202020202020202020212
+:10CF00000202020202020202020202020202020201
+:10CF100002020202020202020202020202020202F1
+:10CF200002020202020202020202020202020202E1
+:10CF300002020202020202020202020202020202D1
+:10CF400002020202020202020202020202020202C1
+:10CF500002020202020202020202020202020202B1
+:10CF600002020202020202020202020202020202A1
+:10CF70000202020202020202020202020202020291
+:10CF80000202020202020202020202020202020281
+:10CF90000202020202020202020202020202020271
+:10CFA0000202020202020202020202020202020261
+:10CFB0000202020202020202020202020202020251
+:10CFC0000202020202020202020202020202020241
+:10CFD0000202020202020202020202020202020231
+:10CFE0000202020202020202020202020202020221
+:10CFF0000202020202020202020202020202020211
+:10D000000202020202020202020202020202020200
+:10D0100002020202020202020202020202020202F0
+:10D0200002020202020202020202020202020202E0
+:10D0300002020202020202020202020202020202D0
+:10D0400002020202020202020202020202020202C0
+:10D0500002020202020202020202020202020202B0
+:10D0600002020202020202020202020202020202A0
+:10D070000202020202020202020202020202020290
+:10D080000202020202020202020202020202020280
+:10D090000202020202020202020202020202020270
+:10D0A0000202020202020202020202020202020260
+:10D0B0000202020202020202020202020202020250
+:10D0C0000202020202020202020202020202020240
+:10D0D0000202020202020202020202020202020230
+:10D0E0000202020202020202020202020202020220
+:10D0F0000202020202020202020202020202020210
+:10D1000002020202020202020202020202020202FF
+:10D1100002020202020202020202020202020202EF
+:10D1200002020202020202020202020202020202DF
+:10D1300002020202020202020202020202020202CF
+:10D1400002020202020202020202020202020202BF
+:10D1500002020202020202020202020202020202AF
+:10D16000020202020202020202020202020202029F
+:10D17000020202020202020202020202020202028F
+:10D18000020202020202020202020202020202027F
+:10D19000020202020202020202020202020202026F
+:10D1A000020202020202020202020202020202025F
+:10D1B000020202020202020202020202020202024F
+:10D1C000020202020202020202020202020202023F
+:10D1D000020202020202020202020202020202022F
+:10D1E000020202020202020202020202020202021F
+:10D1F000020202020202020202020202020202020F
+:10D2000002020202020202020202020202020202FE
+:10D2100002020202020202020202020202020202EE
+:10D2200002020202020202020202020202020202DE
+:10D2300002020202020202020202020202020202CE
+:10D2400002020202020202020202020202020202BE
+:10D2500002020202020202020202020202020202AE
+:10D26000020202020202020202020202020202029E
+:10D27000020202020202020202020202020202028E
+:10D28000020202020202020202020202020202027E
+:10D29000020202020202020202020202020202026E
+:10D2A000020202020202020202020202020202025E
+:10D2B000020202020202020202020202020202024E
+:10D2C000020202020202020202020202020202023E
+:10D2D000020202020202020202020202020202022E
+:10D2E000020202020202020202020202020202021E
+:10D2F000020202020202020202020202020202020E
+:10D3000002020202020202020202020202020202FD
+:10D3100002020202020202020202020202020202ED
+:10D3200002020202020202020202020202020202DD
+:10D3300002020202020202020202020202020202CD
+:10D3400002020202020202020202020202020202BD
+:10D3500002020202020202020202020202020202AD
+:10D36000020202020202020202020202020202029D
+:10D37000020202020202020202020202020202028D
+:10D38000020202020202020202020202020202027D
+:10D39000020202020202020202020202020202026D
+:10D3A000020202020202020202020202020202025D
+:10D3B000020202020202020202020202020202024D
+:10D3C000020202020202020202020202020202023D
+:10D3D000020202020202020202020202020202022D
+:10D3E000020202020202020202020202020202021D
+:10D3F000020202020202020202020202020202020D
+:10D4000002020202020202020202020202020202FC
+:10D4100002020202020202020202020202020202EC
+:10D4200002020202020202020202020202020202DC
+:10D4300002020202020202020202020202020202CC
+:10D4400002020202020202020202020202020202BC
+:10D4500002020202020202020202020202020202AC
+:10D46000020202020202020202020202020202029C
+:10D47000020202020202020202020202020202028C
+:10D48000020202020202020202020202020202027C
+:10D49000020202020202020202020202020202026C
+:10D4A000020202020202020202020202020202025C
+:10D4B000020202020202020202020202020202024C
+:10D4C000020202020202020202020202020202023C
+:10D4D000020202020202020202020202020202022C
+:10D4E000020202020202020202020202020202021C
+:10D4F000020202020202020202020202020202020C
+:10D5000002020202020202020202020202020202FB
+:10D5100002020202020202020202020202020202EB
+:10D5200002020202020202020202020202020202DB
+:10D5300002020202020202020202020202020202CB
+:10D5400002020202020202020202020202020202BB
+:10D5500002020202020202020202020202020202AB
+:10D56000020202020202020202020202020202029B
+:10D57000020202020202020202020202020202028B
+:10D58000020202020202020202020202020202027B
+:10D59000020202020202020202020202020202026B
+:10D5A000020202020202020202020202020202025B
+:10D5B000020202020202020202020202020202024B
+:10D5C000020202020202020202020202020202023B
+:10D5D000020202020202020202020202020202022B
+:10D5E000020202020202020202020202020202021B
+:10D5F000020202020202020202020202020202020B
+:10D6000002020202020202020202020202020202FA
+:10D6100002020202020202020202020202020202EA
+:10D6200002020202020202020202020202020202DA
+:10D6300002020202020202020202020202020202CA
+:10D6400002020202020202020202020202020202BA
+:10D6500002020202020202020202020202020202AA
+:10D66000020202020202020202020202020202029A
+:10D67000020202020202020202020202020202028A
+:10D68000020202020202020202020202020202027A
+:10D69000020202020202020202020202020202026A
+:10D6A000020202020202020202020202020202025A
+:10D6B000020202020202020202020202020202024A
+:10D6C000020202020202020202020202020202023A
+:10D6D000020202020202020202020202020202022A
+:10D6E000020202020202020202020202020202021A
+:10D6F000020202020202020202020202020202020A
+:10D7000002020202020202020202020202020202F9
+:10D7100002020202020202020202020202020202E9
+:10D7200002020202020202020202020202020202D9
+:10D7300002020202020202020202020202020202C9
+:10D7400002020202020202020202020202020202B9
+:10D7500002020202020202020202020202020202A9
+:10D760000202020202020202020202020202020299
+:10D770000202020202020202020202020202020289
+:10D780000202020202020202020202020202020279
+:10D790000202020202020202020202020202020269
+:10D7A0000202020202020202020202020202020259
+:10D7B0000202020202020202020202020202020249
+:10D7C0000202020202020202020202020202020239
+:10D7D0000202020202020202020202020202020229
+:10D7E0000202020202020202020202020202020219
+:10D7F000020202020202020000000000000000001B
+:10D800000000000000000000000000000000000018
+:10D810000000000000000000000000000000000008
+:10D8200000000000000000000000000000000000F8
+:10D8300000000000000000000000000000000000E8
+:10D8400000000000000000000000000000000000D8
+:10D8500000000000000000000000000000000000C8
+:10D8600000000000000000000000000000000000B8
+:10D8700000000000000000000000000000000000A8
+:10D880000000000000000000000000000000000098
+:10D890000000000000000000000000000000000088
+:10D8A0000000000000000000000000000000000078
+:10D8B0000000000000000000000000000000000068
+:10D8C0000000000000000000000000000000000058
+:10D8D0000000000000000000000000000000000048
+:10D8E0000000000000000000000000000000000038
+:10D8F0000000000000000000000000000000000028
+:10D900000000000000000000000000000000000017
+:10D910000000000000000000000000000000000007
+:10D9200000000000000000000000000000000000F7
+:10D9300000000000000000000000000000000000E7
+:10D9400000000000000000000000000000000000D7
+:10D9500000000000000000000000000000000000C7
+:10D9600000000000000000000000000000000000B7
+:10D9700000000000000000000000000000000000A7
+:10D980000000000000000000000000000000000097
+:10D990000000000000000000000000000000000087
+:10D9A0000000000000000000000000000000000077
+:10D9B0000000000000000000000000000000000067
+:10D9C0000000000000000000000000000000000057
+:10D9D0000000000000000000000000000000000047
+:10D9E0000000000000000000000000000000000037
+:10D9F0000000000000000000000000000000000027
+:10DA00000000000000000000000000000000000016
+:10DA10000000000000000000000000000000000006
+:10DA200000000000000000000000000000000000F6
+:10DA300000000000000000000000000000000000E6
+:10DA400000000000000000000000000000000000D6
+:10DA500000000000000000000000000000000000C6
+:10DA600000000000000000000000000000000000B6
+:10DA700000000000000000000000000000000000A6
+:10DA80000000000000000000000000000000000096
+:10DA90000000000000000000000000000000000086
+:10DAA0000000000000000000000000000000000076
+:10DAB0000000000000000000000000000000000066
+:10DAC0000000000000000000000000000000000056
+:10DAD0000000000000000000000000000000000046
+:10DAE0000000000000000000000000000000000036
+:10DAF0000000000000000000000000000000000026
+:10DB00000000000000000000000000000000000015
+:10DB10000000000000000000000000000000000005
+:10DB200000000000000000000000000000000000F5
+:10DB300000000000000000000000000000000000E5
+:10DB400000000000000000000000000000000000D5
+:10DB500000000000000000000000000000000000C5
+:10DB600000000000000000000000000000000000B5
+:10DB700000000000000000000000000000000000A5
+:10DB80000000000000000000000000000000000095
+:10DB90000000000000000000000000000000000085
+:10DBA0000000000000000000000000000000000075
+:10DBB0000000000000000000000000000000000065
+:10DBC0000000000000000000000000000000000055
+:10DBD0000000000000000000000000000000000045
+:10DBE0000000000000000000000000000000000035
+:10DBF0000000000000000000000000000000000025
+:10DC00000000000000000000000000000000000014
+:10DC10000000000000000000000000000000000004
+:10DC200000000000000000000000000000000000F4
+:10DC300000000000000000000000000000000000E4
+:10DC400000000000000000000000000000000000D4
+:10DC500000000000000000000000000000000000C4
+:10DC600000000000000000000000000000000000B4
+:10DC700000000000000000000000000000000000A4
+:10DC80000000000000000000000000000000000094
+:10DC90000000000000000000000000000000000084
+:10DCA0000000000000000000000000000000000074
+:10DCB0000000000000000000000000000000000064
+:10DCC0000000000000000000000000000000000054
+:10DCD0000000000000000000000000000000000044
+:10DCE0000000000000000000000000000000000034
+:10DCF0000000000000000000000000000000000024
+:10DD00000000000000000000000000000000000013
+:10DD10000000000000000000000000000000000003
+:10DD200000000000000000000000000000000000F3
+:10DD300000000000000000000000000000000000E3
+:10DD400000000000000000000000000000000000D3
+:10DD500000000000000000000000000000000000C3
+:10DD600000000000000000000000000000000000B3
+:10DD700000000000000000000000000000000000A3
+:10DD80000000000000000000000000000000000093
+:10DD90000000000000000000000000000000000083
+:10DDA0000000000000000000000000000000000073
+:10DDB0000000000000000000000000000000000063
+:10DDC0000000000000000000000000000000000053
+:10DDD0000000000000000000000000000000000043
+:10DDE0000000000000000000000000000000000033
+:10DDF0000000000000000000000000000000000023
+:10DE00000000000000000000000000000000000012
+:10DE10000000000000000000000000000000000002
+:10DE200000000000000000000000000000000000F2
+:10DE300000000000000000000000000000000000E2
+:10DE400000000000000000000000000000000000D2
+:10DE500000000000000000000000000000000000C2
+:10DE600000000000000000000000000000000000B2
+:10DE700000000000000000000000000000000000A2
+:10DE80000000000000000000000000000000000092
+:10DE90000000000000000000000000000000000082
+:10DEA0000000000000000000000000000000000072
+:10DEB0000000000000000000000000000000000062
+:10DEC0000000000000000000000000000000000052
+:10DED0000000000000000000000000000000000042
+:10DEE0000000000000000000000000000000000032
+:10DEF0000000000000000001010101010101010119
+:10DF00000101010101010101010101010101010101
+:10DF100001010101010101010101010101010101F1
+:10DF200001010101010101010101010101010101E1
+:10DF300001010101010101010101010101010101D1
+:10DF400001010101010101010101010101010101C1
+:10DF500001010101010101010101010101010101B1
+:10DF600001010101010101010101010101010101A1
+:10DF70000101010101010101010101010101010191
+:10DF80000101010101010101010101010101010181
+:10DF90000101010101010101010101010101010171
+:10DFA0000101010101010101010101010101010161
+:10DFB0000101010101010101010101010101010151
+:10DFC0000101010101010101010101010101010141
+:10DFD0000101010101010101010101010101010131
+:10DFE0000101010101010101010101010101010121
+:10DFF0000101010101010101010101010101010111
+:10E000000101010101010101010101010101010100
+:10E0100001010101010101010101010101010101F0
+:10E0200001010101010101010101010101010101E0
+:10E0300001010101010101010101010101010101D0
+:10E0400001010101010101010101010101010101C0
+:10E0500001010101010101010101010101010101B0
+:10E0600001010101010101010101010101010101A0
+:10E070000101010101010101010101010101010190
+:10E080000101010101010101010101010101010180
+:10E090000101010101010101010101010101010170
+:10E0A0000101010101010101010101010101010160
+:10E0B0000101010101010101010101010101010150
+:10E0C0000101010101010101010101010101010140
+:10E0D0000101010101010101010101010101010130
+:10E0E0000101010101010101010101010101010120
+:10E0F0000101010101010101010101010101010110
+:10E1000001010101010101010101010101010101FF
+:10E1100001010101010101010101010101010101EF
+:10E1200001010101010101010101010101010101DF
+:10E1300001010101010101010101010101010101CF
+:10E1400001010101010101010101010101010101BF
+:10E1500001010101010101010101010101010101AF
+:10E16000010101010101010101010101010101019F
+:10E17000010101010101010101010101010101018F
+:10E18000010101010101010101010101010101017F
+:10E19000010101010101010101010101010101016F
+:10E1A000010101010101010101010101010101015F
+:10E1B000010101010101010101010101010101014F
+:10E1C000010101010101010101010101010101013F
+:10E1D000010101010101010101010101010101012F
+:10E1E000010101010101010101010101010101011F
+:10E1F000010101010101010101010101010101010F
+:10E2000001010101010101010101010101010101FE
+:10E2100001010101010101010101010101010101EE
+:10E2200001010101010101010101010101010101DE
+:10E2300001010101010101010101010101010101CE
+:10E2400001010101010101010101010101010101BE
+:10E2500001010101010101010101010101010101AE
+:10E26000010101010101010101010101010101019E
+:10E27000010101010101010101010101010101018E
+:10E28000010101010101010101010101010101017E
+:10E29000010101010101010101010101010101016E
+:10E2A000010101010101010101010101010101015E
+:10E2B000010101010101010101010101010101014E
+:10E2C000010101010101010101010101010101013E
+:10E2D000010101010101010101010101010101012E
+:10E2E000010101010101010101010101010101011E
+:10E2F000010101010101010101010101010101010E
+:10E3000001010101010101010101010101010101FD
+:10E3100001010101010101010101010101010101ED
+:10E3200001010101010101010101010101010101DD
+:10E3300001010101010101010101010101010101CD
+:10E3400001010101010101010101010101010101BD
+:10E3500001010101010101010101010101010101AD
+:10E36000010101010101010101010101010101019D
+:10E37000010101010101010101010101010101018D
+:10E38000010101010101010101010101010101017D
+:10E39000010101010101010101010101010101016D
+:10E3A000010101010101010101010101010101015D
+:10E3B000010101010101010101010101010101014D
+:10E3C000010101010101010101010101010101013D
+:10E3D000010101010101010101010101010101012D
+:10E3E000010101010101010101010101010101011D
+:10E3F000010101010101010101010101010101010D
+:10E4000001010101010101010101010101010101FC
+:10E4100001010101010101010101010101010101EC
+:10E4200001010101010101010101010101010101DC
+:10E4300001010101010101010101010101010101CC
+:10E4400001010101010101010101010101010101BC
+:10E4500001010101010101010101010101010101AC
+:10E46000010101010101010101010101010101019C
+:10E47000010101010101010101010101010101018C
+:10E48000010101010101010101010101010101017C
+:10E49000010101010101010101010101010101016C
+:10E4A000010101010101010101010101010101015C
+:10E4B000010101010101010101010101010101014C
+:10E4C000010101010101010101010101010101013C
+:10E4D000010101010101010101010101010101012C
+:10E4E000010101010101010101010101010101011C
+:10E4F000010101010101010101010101010101010C
+:10E5000001010101010101010101010101010101FB
+:10E5100001010101010101010101010101010101EB
+:10E5200001010101010101010101010101010101DB
+:10E5300001010101010101010101010101010101CB
+:10E5400001010101010101010101010101010101BB
+:10E5500001010101010101010101010101010101AB
+:10E56000010101010101010101010101010101019B
+:10E57000010101010101010101010101010101018B
+:10E58000010101010101010101010101010101017B
+:10E59000010101010101010101010101010101016B
+:10E5A000010101010101010101010101010101015B
+:10E5B000010101010101010101010101010101014B
+:10E5C000010101010101010101010101010101013B
+:10E5D000010101010101010101010101010101012B
+:10E5E000010101010101010101010101010101011B
+:10E5F000010101010101010101010101010101010B
+:10E6000001010101010101010101010101010101FA
+:10E6100001010101010101010101010101010101EA
+:10E6200001010101010101010101010101010101DA
+:10E6300001010101010101010101010101010101CA
+:10E6400001010101010101010101010101010101BA
+:10E6500001010101010101010101010101010101AA
+:10E66000010101010101010101010101010101019A
+:10E67000010101010101010101010101010101018A
+:10E68000010101010101010101010101010101017A
+:10E69000010101010101010101010101010101016A
+:10E6A000010101010101010101010101010101015A
+:10E6B000010101010101010101010101010101014A
+:10E6C000010101010101010101010101010101013A
+:10E6D000010101010101010101010101010101012A
+:10E6E000010101010101010101010101010101011A
+:10E6F000010101010101010101010101010101010A
+:10E7000001010101010101010101010101010101F9
+:10E7100001010101010101010101010101010101E9
+:10E7200001010101010101010101010101010101D9
+:10E7300001010101010101010101010101010101C9
+:10E7400001010101010101010101010101010101B9
+:10E7500001010101010101010101010101010101A9
+:10E760000101010101010101010101010101010199
+:10E770000101010101010101010101010101010189
+:10E780000101010101010101010101010101010179
+:10E790000101010101010101010101010101010169
+:10E7A0000101010101010101010101010101010159
+:10E7B0000101010101010101010101010101010149
+:10E7C0000101010101010101010101010101010139
+:10E7D0000101010101010101010101010101010129
+:10E7E0000101010101010101010101010101010119
+:10E7F0000101010101010101010101010101010109
+:10E8000001010101010101010101010101010101F8
+:10E8100001010101010101010101010101010101E8
+:10E8200001010101010101010101010101010101D8
+:10E8300001010101010101010101010101010101C8
+:10E8400001010101010101010101010101010101B8
+:10E8500001010101010101010101010101010101A8
+:10E860000101010101010101010101010101010198
+:10E870000101010101010101010101010101010188
+:10E880000101010101010101010101010101010178
+:10E890000101010101010101010101010101010168
+:10E8A0000101010101010101010101010101010158
+:10E8B0000101010101010101010101010101010148
+:10E8C0000101010101010101010101010101010138
+:10E8D0000101010101010101010101010101010128
+:10E8E0000101010101010101010101010101010118
+:10E8F0000101010101010101010101010101010108
+:10E9000001010101010101010101010101010101F7
+:10E9100001010101010101010101010101010101E7
+:10E9200001010101010101010101010101010101D7
+:10E9300001010101010101010101010101010101C7
+:10E9400001010101010101010101010101010101B7
+:10E9500001010101010101010101010101010101A7
+:10E960000101010101010101010101010101010197
+:10E970000101010101010101010101010101010187
+:10E980000101010101010101010101010101010177
+:10E990000101010101010101010101010101010167
+:10E9A0000101010101010101010101010101010157
+:10E9B0000101010101010101010101010101010147
+:10E9C0000101010101010101010101010101010137
+:10E9D0000101010101010101010101010101010127
+:10E9E0000101010101010101010101010101010117
+:10E9F0000101010101010101010101010101010107
+:10EA000001010101010101010101010101010101F6
+:10EA100001010101010101010101010101010101E6
+:10EA200001010101010101010101010101010101D6
+:10EA300001010101010101010101010101010101C6
+:10EA400001010101010101010101010101010101B6
+:10EA500001010101010101010101010101010101A6
+:10EA60000101010101010101010101010101010196
+:10EA70000101010101010101010101010101010186
+:10EA80000101010101010101010101010101010176
+:10EA90000101010101010101010101010101010166
+:10EAA0000101010101010101010101010101010156
+:10EAB0000101010101010101010101010101010146
+:10EAC0000101010101010101010101010101010136
+:10EAD0000101010101010101010101010101010126
+:10EAE0000101010101010101010101010101010116
+:10EAF0000101010101010101010101010101010106
+:10EB000001010101010101010101010101010101F5
+:10EB100001010101010101010101010101010101E5
+:10EB200001010101010101010101010101010101D5
+:10EB300001010101010101010101010101010101C5
+:10EB400001010101010101010101010101010101B5
+:10EB500001010101010101010101010101010101A5
+:10EB60000101010101010101010101010101010195
+:10EB70000101010101010101010101010101010185
+:10EB80000101010101010101010101010101010175
+:10EB90000101010101010101010101010101010165
+:10EBA0000101010101010101010101010101010155
+:10EBB0000101010101010101010101010101010145
+:10EBC0000101010101010101010101010101010135
+:10EBD0000101010101010101010101010101010125
+:10EBE0000101010101010101010101010101010115
+:10EBF0000101010101010101010101010101010105
+:10EC000001010101010101010101010101010101F4
+:10EC100001010101010101010101010101010101E4
+:10EC200001010101010101010101010101010101D4
+:10EC300001010101010101010101010101010101C4
+:10EC400001010101010101010101010101010101B4
+:10EC500001010101010101010101010101010101A4
+:10EC60000101010101010101010101010101010194
+:10EC70000101010101010101010101010101010184
+:10EC80000101010101010101010101010101010174
+:10EC90000101010101010101010101010101010164
+:10ECA0000101010101010101010101010101010154
+:10ECB0000101010101010101010101010101010144
+:10ECC0000101010101010101010101010101010134
+:10ECD0000101010101010101010101010101010124
+:10ECE0000101010101010101010101010101010114
+:10ECF0000101010101010101010101010101010104
+:10ED000001010101010101010101010101010101F3
+:10ED100001010101010101010101010101010101E3
+:10ED200001010101010101010101010101010101D3
+:10ED300001010101010101010101010101010101C3
+:10ED400001010101010101010101010101010101B3
+:10ED500001010101010101010101010101010101A3
+:10ED60000101010101010101010101010101010193
+:10ED70000101010101010101010101010101010183
+:10ED80000101010101010101010101010101010173
+:10ED90000101010101010101010101010101010163
+:10EDA0000101010101010101010101010101010153
+:10EDB0000101010101010101010101010101010143
+:10EDC0000101010101010101010101010101010133
+:10EDD0000101010101010101010101010101010123
+:10EDE0000101010101010101010101010101010113
+:10EDF0000101010101010101010101010101010103
+:10EE000001010101010101010101010101010101F2
+:10EE100001010101010101010101010101010101E2
+:10EE200001010101010101010101010101010101D2
+:10EE300001010101010101010101010101010101C2
+:10EE400001010101010101010101010101010101B2
+:10EE500001010101010101010101010101010101A2
+:10EE60000101010101010101010101010101010192
+:10EE70000101010101010101010101010101010182
+:10EE80000101010101010101010101010101010172
+:10EE90000101010101010101010101010101010162
+:10EEA0000101010101010101010101010101010152
+:10EEB0000101010101010101010101010101010142
+:10EEC0000101010101010101010101010101010132
+:10EED0000101010101010101010101010101010122
+:10EEE0000101010101010101010101010101010112
+:10EEF0000101010101010101010101010101010102
+:10EF000001010101010101010101010101010101F1
+:10EF100001010101010101010101010101010101E1
+:10EF200001010101010101010101010101010101D1
+:10EF300001010101010101010101010101010101C1
+:10EF400001010101010101010101010101010101B1
+:10EF500001010101010101010101010101010101A1
+:10EF60000101010101010101010101010101010191
+:10EF70000101010101010101010101010101010181
+:10EF80000101010101010101010101010101010171
+:10EF90000101010101010101010101010101010161
+:10EFA0000101010101010101010101010101010151
+:10EFB0000101010101010101010101010101010141
+:10EFC0000101010101010101010101010101010131
+:10EFD0000101010101010101010101010101010121
+:10EFE0000101010101010101010101010101010111
+:10EFF0000101010101010101010101010101010101
+:10F0000001010101010101010101010101010101F0
+:10F0100001010101010101010101010101010101E0
+:10F0200001010101010101010101010101010101D0
+:10F0300001010101010101010101010101010101C0
+:10F0400001010101010101010101010101010101B0
+:10F0500001010101010101010101010101010101A0
+:10F060000101010101010101010101010101010190
+:10F070000101010101010101010101010101010180
+:10F080000101010101010101010101010101010170
+:10F090000101010101010101010101010101010160
+:10F0A0000101010101010101010101010101010150
+:10F0B0000101010101010101010101010101010140
+:10F0C0000101010101010101010101010101010130
+:10F0D0000101010101010101010101010101010120
+:10F0E0000101010101010101010101010101010110
+:10F0F0000101010101010101010101010101010100
+:10F1000001010101010101010101010101010101EF
+:10F1100001010101010101010101010101010101DF
+:10F1200001010101010101010101010101010101CF
+:10F1300001010101010101010101010101010101BF
+:10F1400001010101010101010101010101010101AF
+:10F15000010101010101010101010101010101019F
+:10F16000010101010101010101010101010101018F
+:10F17000010101010101010101010101010101017F
+:10F18000010101010101010101010101010101016F
+:10F19000010101010101010101010101010101015F
+:10F1A000010101010101010101010101010101014F
+:10F1B000010101010101010101010101010101013F
+:10F1C000010101010101010101010101010101012F
+:10F1D000010101010101010101010101010101011F
+:10F1E000010101010101010101010101010101010F
+:10F1F00001010101010101010101010101010101FF
+:10F2000001010101010101010101010101010101EE
+:10F2100001010101010101010101010101010101DE
+:10F2200001010101010101010101010101010101CE
+:10F2300001010101010101010101010101010101BE
+:10F2400001010101010101010101010101010101AE
+:10F25000010101010101010101010101010101019E
+:10F26000010101010101010101010101010101018E
+:10F27000010101010101010101010101010101017E
+:10F28000010101010101010101010101010101016E
+:10F29000010101010101010101010101010101015E
+:10F2A000010101010101010101010101010101014E
+:10F2B000010101010101010101010101010101013E
+:10F2C000010101010101010101010101010101012E
+:10F2D000010101010101010101010101010101011E
+:10F2E000010101010101010101010101010101010E
+:10F2F00001010101010101010101010101010101FE
+:10F3000001010101010101010101010101010101ED
+:10F3100001010101010101010101010101010101DD
+:10F3200001010101010101010101010101010101CD
+:10F3300001010101010101010101010101010101BD
+:10F3400001010101010101010101010101010101AD
+:10F35000010101010101010101010101010101019D
+:10F36000010101010101010101010101010101018D
+:10F37000010101010101010101010101010101017D
+:10F38000010101010101010101010101010101016D
+:10F39000010101010101010101010101010101015D
+:10F3A000010101010101010101010101010101014D
+:10F3B000010101010101010101010101010101013D
+:10F3C000010101010101010101010101010101012D
+:10F3D000010101010101010101010101010101011D
+:10F3E000010101010101010101010101010101010D
+:10F3F00001010101010101010101010101010101FD
+:10F4000001010101010101010101010101010101EC
+:10F4100001010101010101010101010101010101DC
+:10F4200001010101010101010101010101010101CC
+:10F4300001010101010101010101010101010101BC
+:10F4400001010101010101010101010101010101AC
+:10F45000010101010101010101010101010101019C
+:10F46000010101010101010101010101010101018C
+:10F47000010101010101010101010101010101017C
+:10F48000010101010101010101010101010101016C
+:10F49000010101010101010101010101010101015C
+:10F4A000010101010101010101010101010101014C
+:10F4B000010101010101010101010101010101013C
+:10F4C000010101010101010101010101010101012C
+:10F4D000010101010101010101010101010101011C
+:10F4E000010101010101010101010101010101010C
+:10F4F00001010101010101010101010101010101FC
+:10F5000001010101010101010101010101010101EB
+:10F5100001010101010101010101010101010101DB
+:10F5200001010101010101010101010101010101CB
+:10F5300001010101010101010101010101010101BB
+:10F5400001010101010101010101010101010101AB
+:10F55000010101010101010101010101010101019B
+:10F56000010101010101010101010101010101018B
+:10F57000010101010101010101010101010101017B
+:10F58000010101010101010101010101010101016B
+:10F59000010101010101010101010101010101015B
+:10F5A000010101010101010101010101010101014B
+:10F5B000010101010101010101010101010101013B
+:10F5C000010101010101010101010101010101012B
+:10F5D000010101010101010101010101010101011B
+:10F5E000010101010101010101010101010101010B
+:10F5F00001010101010101010101010101010101FB
+:10F6000001010101010101010101010101010101EA
+:10F6100001010101010101010101010101010101DA
+:10F6200001010101010101010101010101010101CA
+:10F6300001010101010101010101010101010101BA
+:10F6400001010101010101010101010101010101AA
+:10F65000010101010101010101010101010101019A
+:10F66000010101010101010101010101010101018A
+:10F67000010101010101010101010101010101017A
+:10F68000010101010101010101010101010101016A
+:10F69000010101010101010101010101010101015A
+:10F6A000010101010101010101010101010101014A
+:10F6B000010101010101010101010101010101013A
+:10F6C000010101010101010101010101010101012A
+:10F6D000010101010101010101010101010101011A
+:10F6E000010101010101010101010101010101010A
+:10F6F00001010101010101010101010101010101FA
+:10F7000001010101010101010101010101010101E9
+:10F7100001010101010101010101010101010101D9
+:10F7200001010101010101010101010101010101C9
+:10F7300001010101010101010101010101010101B9
+:10F7400001010101010101010101010101010101A9
+:10F750000101010101010101010101010101010199
+:10F760000101010101010101010101010101010189
+:10F770000101010101010101010101010101010179
+:10F780000101010101010101010101010101010169
+:10F790000101010101010101010101010101010159
+:10F7A0000101010101010101010101010101010149
+:10F7B0000101010101010101010101010101010139
+:10F7C0000101010101010101010101010101010129
+:10F7D0000101010101010101010101010101010119
+:10F7E0000101010101010101010101010101010109
+:10F7F00001010101010101010101010101010101F9
+:10F8000001010101010101010101010101010101E8
+:10F8100001010101010101010101010101010101D8
+:10F8200001010101010101010101010101010101C8
+:10F8300001010101010101010101010101010101B8
+:10F8400001010101010101010101010101010101A8
+:10F850000101010101010101010101010101010198
+:10F860000101010101010101010101010101010188
+:10F870000101010101010101010101010101010178
+:10F880000101010101010101010101010101010168
+:10F890000101010101010101010101010101010158
+:10F8A0000101010101010101010101010101010148
+:10F8B0000101010101010101010101010101010138
+:10F8C0000101010101010101010101010101010128
+:10F8D0000101010101010101010101010101010118
+:10F8E0000101010101010101010101010101010108
+:10F8F00001010101010101010101010101010101F8
+:10F9000001010101010101010101010101010101E7
+:10F9100001010101010101010101010101010101D7
+:10F9200001010101010101010101010101010101C7
+:10F9300001010101010101010101010101010101B7
+:10F9400001010101010101010101010101010101A7
+:10F950000101010101010101010101010101010197
+:10F960000101010101010101010101010101010187
+:10F970000101010101010101010101010101010177
+:10F980000101010101010101010101010101010167
+:10F990000101010101010101010101010101010157
+:10F9A0000101010101010101010101010101010147
+:10F9B0000101010101010101010101010101010137
+:10F9C0000101010101010101010101010101010127
+:10F9D0000101010101010101010101010101010117
+:10F9E0000101010101010101010101010101010107
+:10F9F00001010101010101010101010101010101F7
+:10FA000001010101010101010101010101010101E6
+:10FA100001010101010101010101010101010101D6
+:10FA200001010101010101010101010101010101C6
+:10FA300001010101010101010101010101010101B6
+:10FA400001010101010101010101010101010101A6
+:10FA50000101010101010101010101010101010196
+:10FA60000101010101010101010101010101010186
+:10FA70000101010101010101010101010101010176
+:10FA80000101010101010101010101010101010166
+:10FA90000101010101010101010101010101010156
+:10FAA0000101010101010101010101010101010146
+:10FAB0000101010101010101010101010101010136
+:10FAC0000101010101010101010101010101010126
+:10FAD0000101010101010101010101010101010116
+:10FAE0000101010101010101010101010101010106
+:10FAF00001010101010101010101010101010101F6
+:10FB000001010101010101010101010101010101E5
+:10FB100001010101010101010101010101010101D5
+:10FB200001010101010101010101010101010101C5
+:10FB300001010101010101010101010101010101B5
+:10FB400001010101010101010101010101010101A5
+:10FB50000101010101010101010101010101010195
+:10FB60000101010101010101010101010101010185
+:10FB70000101010101010101010101010101010175
+:10FB80000101010101010101010101010101010165
+:10FB90000101010101010101010101010101010155
+:10FBA0000101010101010101010101010101010145
+:10FBB0000101010101010101010101010101010135
+:10FBC0000101010101010101010101010101010125
+:10FBD0000101010101010101010101010101010115
+:10FBE0000101010101010101010101010101010105
+:10FBF00001010101010101010101010101010101F5
+:10FC000001010101010101010101010101010101E4
+:10FC100001010101010101010101010101010101D4
+:10FC200001010101010101010101010101010101C4
+:10FC300001010101010101010101010101010101B4
+:10FC400001010101010101010101010101010101A4
+:10FC50000101010101010101010101010101010194
+:10FC60000101010101010101010101010101010184
+:10FC70000101010101010101010101010101010174
+:10FC80000101010101010101010101010101010164
+:10FC90000101010101010101010101010101010154
+:10FCA0000101010101010101010101010101010144
+:10FCB0000101010101010101010101010101010134
+:10FCC0000101010101010101010101010101010124
+:10FCD0000101010101010101010101010101010114
+:10FCE0000101010101010101010101010101010104
+:10FCF00001010101010101010101010101010101F4
+:10FD000001010101010101010101010101010101E3
+:10FD100001010101010101010101010101010101D3
+:10FD200001010101010101010101010101010101C3
+:10FD300001010101010101010101010101010101B3
+:10FD400001010101010101010101010101010101A3
+:10FD50000101010101010101010101010101010193
+:10FD60000101010101010101010101010101010183
+:10FD70000101010101010101010101010101010173
+:10FD80000101010101010101010101010101010163
+:10FD90000101010101010101010101010101010153
+:10FDA0000101010101010101010101010101010143
+:10FDB0000101010101010101010101010101010133
+:10FDC0000101010101010101010101010101010123
+:10FDD0000101010101010101010101010101010113
+:10FDE0000101010101010101010101010101010103
+:10FDF00001010101010101010101010101010101F3
+:10FE000001010101010101010101010101010101E2
+:10FE100001010101010101010101010101010101D2
+:10FE200001010101010101010101010101010101C2
+:10FE300001010101010101010101010101010101B2
+:10FE400001010101010101010101010101010101A2
+:10FE50000101010101010101010101010101010192
+:10FE60000101010101010101010101010101010182
+:10FE70000101010101010101010101010101010172
+:10FE80000101010101010101010101010101010162
+:10FE90000101010101010101010101010101010152
+:10FEA0000101010101010101010101010101010142
+:10FEB0000101010101010101010101010101010132
+:10FEC0000101010101010101010101010101010122
+:10FED0000101010101010101010101010101010112
+:10FEE0000101010101010101010101010101010102
+:10FEF00001010101010101010101010101010101F2
+:10FF000001010101010101010101010101010101E1
+:10FF100001010101010101010101010101010101D1
+:10FF200001010101010101010101010101010101C1
+:10FF300001010101010101010101010101010101B1
+:10FF400001010101010101010101010101010101A1
+:10FF50000101010101010101010101010101010191
+:10FF60000101010101010101010101010101010181
+:10FF70000101010101010101010101010101010171
+:10FF80000101010101010101010101010101010161
+:10FF90000101010101010101010101010101010151
+:10FFA0000101010101010101010101010101010141
+:10FFB0000101010101010101010101010101010131
+:10FFC0000101010101010101010101010101010121
+:10FFD0000101010101010101010101010101010111
+:10FFE0000101010101010101010101010101010101
+:10FFF00001010101010101010101010101010101F1
+:020000023000CC
+:1000000001010101010101010101010101010101E0
+:1000100001010101010101010101010101010101D0
+:1000200001010101010101010101010101010101C0
+:1000300001010101010101010101010101010101B0
+:1000400001010101010101010101010101010101A0
+:100050000101010101010101010101010101010190
+:100060000101010101010101010101010101010180
+:100070000101010101010101010101010101010170
+:100080000101010101010101010101010101010160
+:100090000101010101010101010101010101010150
+:1000A0000101010101010101010101010101010140
+:1000B0000101010101010101010101010101010130
+:1000C0000101010101010101010101010101010120
+:1000D0000101010101010101010101010101010110
+:1000E0000101010101010101010101010101010100
+:1000F00001010101010101010101010101010101F0
+:1001000001010101010101010101010101010101DF
+:1001100001010101010101010101010101010101CF
+:1001200001010101010101010101010101010101BF
+:1001300001010101010101010101010101010101AF
+:10014000010101010101010101010101010101019F
+:10015000010101010101010101010101010101018F
+:10016000010101010101010101010101010101017F
+:10017000010101010101010101010101010101016F
+:10018000010101010101010101010101010101015F
+:10019000010101010101010101010101010101014F
+:1001A000010101010101010101010101010101013F
+:1001B000010101010101010101010101010101012F
+:1001C000010101010101010101010101010101011F
+:1001D000010101010101010101010101010101010F
+:1001E00001010101010101010101010101010101FF
+:1001F00001010101010101010101010101010101EF
+:1002000001010101010101010101010101010101DE
+:1002100001010101010101010101010101010101CE
+:1002200001010101010101010101010101010101BE
+:1002300001010101010101010101010101010101AE
+:10024000010101010101010101010101010101019E
+:10025000010101010101010101010101010101018E
+:10026000010101010101010101010101010101017E
+:10027000010101010101010101010101010101016E
+:10028000010101010101010101010101010101015E
+:10029000010101010101010101010101010101014E
+:1002A000010101010101010101010101010101013E
+:1002B000010101010101010101010101010101012E
+:1002C000010101010101010101010101010101011E
+:1002D000010101010101010101010101010101010E
+:1002E00001010101010101010101010101010101FE
+:1002F00001010101010101010101010101010101EE
+:1003000001010101010101010101010101010101DD
+:1003100001010101010101010101010101010101CD
+:1003200001010101010101010101010101010101BD
+:1003300001010101010101010101010101010101AD
+:10034000010101010101010101010101010101019D
+:10035000010101010101010101010101010101018D
+:10036000010101010101010101010101010101017D
+:10037000010101010101010101010101010101016D
+:10038000010101010101010101010101010101015D
+:10039000010101010101010101010101010101014D
+:1003A000010101010101010101010101010101013D
+:1003B000010101010101010101010101010101012D
+:1003C000010101010101010101010101010101011D
+:1003D000010101010101010101010101010101010D
+:1003E00001010101010101010101010101010101FD
+:1003F00001010101010101010101010101010101ED
+:1004000001010101010101010101010101010101DC
+:1004100001010101010101010101010101010101CC
+:1004200001010101010101010101010101010101BC
+:1004300001010101010101010101010101010101AC
+:10044000010101010101010101010101010101019C
+:10045000010101010101010101010101010101018C
+:10046000010101010101010101010101010101017C
+:10047000010101010101010101010101010101016C
+:10048000010101010101010101010101010101015C
+:10049000010101010101010101010101010101014C
+:1004A000010101010101010101010101010101013C
+:1004B000010101010101010101010101010101012C
+:1004C000010101010101010101010101010101011C
+:1004D000010101010101010101010101010101010C
+:1004E00001010101010101010101010101010101FC
+:1004F00001010101010101010101010101010101EC
+:1005000001010101010101010101010101010101DB
+:1005100001010101010101010101010101010101CB
+:1005200001010101010101010101010101010101BB
+:1005300001010101010101010101010101010101AB
+:10054000010101010101010101010101010101019B
+:10055000010101010101010101010101010101018B
+:10056000010101010101010101010101010101017B
+:10057000010101010101010101010101010101016B
+:10058000010101010101010101010101010101015B
+:10059000010101010101010101010101010101014B
+:1005A000010101010101010101010101010101013B
+:1005B000010101010101010101010101010101012B
+:1005C000010101010101010101010101010101011B
+:1005D000010101010101010101010101010101010B
+:1005E00001010101010101010101010101010101FB
+:1005F00001010101010101010101010101010101EB
+:1006000001010101010101010101010101010101DA
+:1006100001010101010101010101010101010101CA
+:1006200001010101010101010101010101010101BA
+:1006300001010101010101010101010101010101AA
+:10064000010101010101010101010101010101019A
+:10065000010101010101010101010101010101018A
+:10066000010101010101010101010101010101017A
+:10067000010101010101010101010101010101016A
+:10068000010101010101010101010101010101015A
+:10069000010101010101010101010101010101014A
+:1006A000010101010101010101010101010101013A
+:1006B000010101010101010101010101010101012A
+:1006C000010101010101010101010101010101011A
+:1006D000010101010101010101010101010101010A
+:1006E00001010101010101010101010101010101FA
+:1006F00001010101010101010101010101010101EA
+:1007000001010101010101010101010101010101D9
+:1007100001010101010101010101010101010101C9
+:1007200001010101010101010101010101010101B9
+:1007300001010101010101010101010101010101A9
+:100740000101010101010101010101010101010199
+:100750000101010101010101010101010101010189
+:100760000101010101010101010101010101010179
+:100770000101010101010101010101010101010169
+:100780000101010101010101010101010101010159
+:100790000101010101010101010101010101010149
+:1007A0000101010101010101010101010101010139
+:1007B0000101010101010101010101010101010129
+:1007C0000101010101010101010101010101010119
+:1007D0000101010101010101010101010101010109
+:1007E00001010101010101010101010101010101F9
+:1007F00001010101010101000000000000000000F2
+:1008000000000000000000000000000000000000E8
+:1008100000000000000000000000000000000000D8
+:1008200000000000000000000000000000000000C8
+:1008300000000000000000000000000000000000B8
+:1008400000000000000000000000000000000000A8
+:100850000000000000000000000000000000000098
+:100860000000000000000000000000000000000088
+:100870000000000000000000000000000000000078
+:100880000000000000000000000000000000000068
+:100890000000000000000000000000000000000058
+:1008A0000000000000000000000000000000000048
+:1008B0000000000000000000000000000000000038
+:1008C0000000000000000000000000000000000028
+:1008D0000000000000000000000000000000000018
+:1008E0000000000000000000000000000000000008
+:1008F00000000000000000000000000000000000F8
+:1009000000000000000000000000000000000000E7
+:1009100000000000000000000000000000000000D7
+:1009200000000000000000000000000000000000C7
+:1009300000000000000000000000000000000000B7
+:1009400000000000000000000000000000000000A7
+:100950000000000000000000000000000000000097
+:100960000000000000000000000000000000000087
+:100970000000000000000000000000000000000077
+:100980000000000000000000000000000000000067
+:100990000000000000000000000000000000000057
+:1009A0000000000000000000000000000000000047
+:1009B0000000000000000000000000000000000037
+:1009C0000000000000000000000000000000000027
+:1009D0000000000000000000000000000000000017
+:1009E0000000000000000000000000000000000007
+:1009F00000000000000000000000000000000000F7
+:100A000000000000000000000000000000000000E6
+:100A100000000000000000000000000000000000D6
+:100A200000000000000000000000000000000000C6
+:100A300000000000000000000000000000000000B6
+:100A400000000000000000000000000000000000A6
+:100A50000000000000000000000000000000000096
+:100A60000000000000000000000000000000000086
+:100A70000000000000000000000000000000000076
+:100A80000000000000000000000000000000000066
+:100A90000000000000000000000000000000000056
+:100AA0000000000000000000000000000000000046
+:100AB0000000000000000000000000000000000036
+:100AC0000000000000000000000000000000000026
+:100AD0000000000000000000000000000000000016
+:100AE0000000000000000000000000000000000006
+:100AF00000000000000000000000000000000000F6
+:100B000000000000000000000000000000000000E5
+:100B100000000000000000000000000000000000D5
+:100B200000000000000000000000000000000000C5
+:100B300000000000000000000000000000000000B5
+:100B400000000000000000000000000000000000A5
+:100B50000000000000000000000000000000000095
+:100B60000000000000000000000000000000000085
+:100B70000000000000000000000000000000000075
+:100B80000000000000000000000000000000000065
+:100B90000000000000000000000000000000000055
+:100BA0000000000000000000000000000000000045
+:100BB0000000000000000000000000000000000035
+:100BC0000000000000000000000000000000000025
+:100BD0000000000000000000000000000000000015
+:100BE0000000000000000000000000000000000005
+:100BF00000000000000000020202020202020202E3
+:100C000002020202020202020202020202020202C4
+:100C100002020202020202020202020202020202B4
+:100C200002020202020202020202020202020202A4
+:100C30000202020202020202020202020202020294
+:100C40000202020202020202020202020202020284
+:100C50000202020202020202020202020202020274
+:100C60000202020202020202020202020202020264
+:100C70000202020202020202020202020202020254
+:100C80000202020202020202020202020202020244
+:100C90000202020202020202020202020202020234
+:100CA0000202020202020202020202020202020224
+:100CB0000202020202020202020202020202020214
+:100CC0000202020202020202020202020202020204
+:100CD00002020202020202020202020202020202F4
+:100CE00002020202020202020202020202020202E4
+:100CF00002020202020202020202020202020202D4
+:100D000002020202020202020202020202020202C3
+:100D100002020202020202020202020202020202B3
+:100D200002020202020202020202020202020202A3
+:100D30000202020202020202020202020202020293
+:100D40000202020202020202020202020202020283
+:100D50000202020202020202020202020202020273
+:100D60000202020202020202020202020202020263
+:100D70000202020202020202020202020202020253
+:100D80000202020202020202020202020202020243
+:100D90000202020202020202020202020202020233
+:100DA0000202020202020202020202020202020223
+:100DB0000202020202020202020202020202020213
+:100DC0000202020202020202020202020202020203
+:100DD00002020202020202020202020202020202F3
+:100DE00002020202020202020202020202020202E3
+:100DF00002020202020202020202020202020202D3
+:100E000002020202020202020202020202020202C2
+:100E100002020202020202020202020202020202B2
+:100E200002020202020202020202020202020202A2
+:100E30000202020202020202020202020202020292
+:100E40000202020202020202020202020202020282
+:100E50000202020202020202020202020202020272
+:100E60000202020202020202020202020202020262
+:100E70000202020202020202020202020202020252
+:100E80000202020202020202020202020202020242
+:100E90000202020202020202020202020202020232
+:100EA0000202020202020202020202020202020222
+:100EB0000202020202020202020202020202020212
+:100EC0000202020202020202020202020202020202
+:100ED00002020202020202020202020202020202F2
+:100EE00002020202020202020202020202020202E2
+:100EF00002020202020202020202020202020202D2
+:100F000002020202020202020202020202020202C1
+:100F100002020202020202020202020202020202B1
+:100F200002020202020202020202020202020202A1
+:100F30000202020202020202020202020202020291
+:100F40000202020202020202020202020202020281
+:100F50000202020202020202020202020202020271
+:100F60000202020202020202020202020202020261
+:100F70000202020202020202020202020202020251
+:100F80000202020202020202020202020202020241
+:100F90000202020202020202020202020202020231
+:100FA0000202020202020202020202020202020221
+:100FB0000202020202020202020202020202020211
+:100FC0000202020202020202020202020202020201
+:100FD00002020202020202020202020202020202F1
+:100FE00002020202020202020202020202020202E1
+:100FF00002020202020202020202020202020202D1
+:1010000002020202020202020202020202020202C0
+:1010100002020202020202020202020202020202B0
+:1010200002020202020202020202020202020202A0
+:101030000202020202020202020202020202020290
+:101040000202020202020202020202020202020280
+:101050000202020202020202020202020202020270
+:101060000202020202020202020202020202020260
+:101070000202020202020202020202020202020250
+:101080000202020202020202020202020202020240
+:101090000202020202020202020202020202020230
+:1010A0000202020202020202020202020202020220
+:1010B0000202020202020202020202020202020210
+:1010C0000202020202020202020202020202020200
+:1010D00002020202020202020202020202020202F0
+:1010E00002020202020202020202020202020202E0
+:1010F00002020202020202020202020202020202D0
+:1011000002020202020202020202020202020202BF
+:1011100002020202020202020202020202020202AF
+:10112000020202020202020202020202020202029F
+:10113000020202020202020202020202020202028F
+:10114000020202020202020202020202020202027F
+:10115000020202020202020202020202020202026F
+:10116000020202020202020202020202020202025F
+:10117000020202020202020202020202020202024F
+:10118000020202020202020202020202020202023F
+:10119000020202020202020202020202020202022F
+:1011A000020202020202020202020202020202021F
+:1011B000020202020202020202020202020202020F
+:1011C00002020202020202020202020202020202FF
+:1011D00002020202020202020202020202020202EF
+:1011E00002020202020202020202020202020202DF
+:1011F00002020202020202020202020202020202CF
+:1012000002020202020202020202020202020202BE
+:1012100002020202020202020202020202020202AE
+:10122000020202020202020202020202020202029E
+:10123000020202020202020202020202020202028E
+:10124000020202020202020202020202020202027E
+:10125000020202020202020202020202020202026E
+:10126000020202020202020202020202020202025E
+:10127000020202020202020202020202020202024E
+:10128000020202020202020202020202020202023E
+:10129000020202020202020202020202020202022E
+:1012A000020202020202020202020202020202021E
+:1012B000020202020202020202020202020202020E
+:1012C00002020202020202020202020202020202FE
+:1012D00002020202020202020202020202020202EE
+:1012E00002020202020202020202020202020202DE
+:1012F00002020202020202020202020202020202CE
+:1013000002020202020202020202020202020202BD
+:1013100002020202020202020202020202020202AD
+:10132000020202020202020202020202020202029D
+:10133000020202020202020202020202020202028D
+:10134000020202020202020202020202020202027D
+:10135000020202020202020202020202020202026D
+:10136000020202020202020202020202020202025D
+:10137000020202020202020202020202020202024D
+:10138000020202020202020202020202020202023D
+:10139000020202020202020202020202020202022D
+:1013A000020202020202020202020202020202021D
+:1013B000020202020202020202020202020202020D
+:1013C00002020202020202020202020202020202FD
+:1013D00002020202020202020202020202020202ED
+:1013E00002020202020202020202020202020202DD
+:1013F00002020202020202020202020202020202CD
+:1014000002020202020202020202020202020202BC
+:1014100002020202020202020202020202020202AC
+:10142000020202020202020202020202020202029C
+:10143000020202020202020202020202020202028C
+:10144000020202020202020202020202020202027C
+:10145000020202020202020202020202020202026C
+:10146000020202020202020202020202020202025C
+:10147000020202020202020202020202020202024C
+:10148000020202020202020202020202020202023C
+:10149000020202020202020202020202020202022C
+:1014A000020202020202020202020202020202021C
+:1014B000020202020202020202020202020202020C
+:1014C00002020202020202020202020202020202FC
+:1014D00002020202020202020202020202020202EC
+:1014E00002020202020202020202020202020202DC
+:1014F00002020202020202020202020202020202CC
+:1015000002020202020202020202020202020202BB
+:1015100002020202020202020202020202020202AB
+:10152000020202020202020202020202020202029B
+:10153000020202020202020202020202020202028B
+:10154000020202020202020202020202020202027B
+:10155000020202020202020202020202020202026B
+:10156000020202020202020202020202020202025B
+:10157000020202020202020202020202020202024B
+:10158000020202020202020202020202020202023B
+:10159000020202020202020202020202020202022B
+:1015A000020202020202020202020202020202021B
+:1015B000020202020202020202020202020202020B
+:1015C00002020202020202020202020202020202FB
+:1015D00002020202020202020202020202020202EB
+:1015E00002020202020202020202020202020202DB
+:1015F00002020202020202020202020202020202CB
+:1016000002020202020202020202020202020202BA
+:1016100002020202020202020202020202020202AA
+:10162000020202020202020202020202020202029A
+:10163000020202020202020202020202020202028A
+:10164000020202020202020202020202020202027A
+:10165000020202020202020202020202020202026A
+:10166000020202020202020202020202020202025A
+:10167000020202020202020202020202020202024A
+:10168000020202020202020202020202020202023A
+:10169000020202020202020202020202020202022A
+:1016A000020202020202020202020202020202021A
+:1016B000020202020202020202020202020202020A
+:1016C00002020202020202020202020202020202FA
+:1016D00002020202020202020202020202020202EA
+:1016E00002020202020202020202020202020202DA
+:1016F00002020202020202020202020202020202CA
+:1017000002020202020202020202020202020202B9
+:1017100002020202020202020202020202020202A9
+:101720000202020202020202020202020202020299
+:101730000202020202020202020202020202020289
+:101740000202020202020202020202020202020279
+:101750000202020202020202020202020202020269
+:101760000202020202020202020202020202020259
+:101770000202020202020202020202020202020249
+:101780000202020202020202020202020202020239
+:101790000202020202020202020202020202020229
+:1017A0000202020202020202020202020202020219
+:1017B0000202020202020202020202020202020209
+:1017C00002020202020202020202020202020202F9
+:1017D00002020202020202020202020202020202E9
+:1017E00002020202020202020202020202020202D9
+:1017F00002020202020202020202020202020202C9
+:1018000002020202020202020202020202020202B8
+:1018100002020202020202020202020202020202A8
+:101820000202020202020202020202020202020298
+:101830000202020202020202020202020202020288
+:101840000202020202020202020202020202020278
+:101850000202020202020202020202020202020268
+:101860000202020202020202020202020202020258
+:101870000202020202020202020202020202020248
+:101880000202020202020202020202020202020238
+:101890000202020202020202020202020202020228
+:1018A0000202020202020202020202020202020218
+:1018B0000202020202020202020202020202020208
+:1018C00002020202020202020202020202020202F8
+:1018D00002020202020202020202020202020202E8
+:1018E00002020202020202020202020202020202D8
+:1018F00002020202020202020202020202020202C8
+:1019000002020202020202020202020202020202B7
+:1019100002020202020202020202020202020202A7
+:101920000202020202020202020202020202020297
+:101930000202020202020202020202020202020287
+:101940000202020202020202020202020202020277
+:101950000202020202020202020202020202020267
+:101960000202020202020202020202020202020257
+:101970000202020202020202020202020202020247
+:101980000202020202020202020202020202020237
+:101990000202020202020202020202020202020227
+:1019A0000202020202020202020202020202020217
+:1019B0000202020202020202020202020202020207
+:1019C00002020202020202020202020202020202F7
+:1019D00002020202020202020202020202020202E7
+:1019E00002020202020202020202020202020202D7
+:1019F00002020202020202020202020202020202C7
+:101A000002020202020202020202020202020202B6
+:101A100002020202020202020202020202020202A6
+:101A20000202020202020202020202020202020296
+:101A30000202020202020202020202020202020286
+:101A40000202020202020202020202020202020276
+:101A50000202020202020202020202020202020266
+:101A60000202020202020202020202020202020256
+:101A70000202020202020202020202020202020246
+:101A80000202020202020202020202020202020236
+:101A90000202020202020202020202020202020226
+:101AA0000202020202020202020202020202020216
+:101AB0000202020202020202020202020202020206
+:101AC00002020202020202020202020202020202F6
+:101AD00002020202020202020202020202020202E6
+:101AE00002020202020202020202020202020202D6
+:101AF00002020202020202020202020202020202C6
+:101B000002020202020202020202020202020202B5
+:101B100002020202020202020202020202020202A5
+:101B20000202020202020202020202020202020295
+:101B30000202020202020202020202020202020285
+:101B40000202020202020202020202020202020275
+:101B50000202020202020202020202020202020265
+:101B60000202020202020202020202020202020255
+:101B70000202020202020202020202020202020245
+:101B80000202020202020202020202020202020235
+:101B90000202020202020202020202020202020225
+:101BA0000202020202020202020202020202020215
+:101BB0000202020202020202020202020202020205
+:101BC00002020202020202020202020202020202F5
+:101BD00002020202020202020202020202020202E5
+:101BE00002020202020202020202020202020202D5
+:101BF00002020202020202020202020202020202C5
+:101C000002020202020202020202020202020202B4
+:101C100002020202020202020202020202020202A4
+:101C20000202020202020202020202020202020294
+:101C30000202020202020202020202020202020284
+:101C40000202020202020202020202020202020274
+:101C50000202020202020202020202020202020264
+:101C60000202020202020202020202020202020254
+:101C70000202020202020202020202020202020244
+:101C80000202020202020202020202020202020234
+:101C90000202020202020202020202020202020224
+:101CA0000202020202020202020202020202020214
+:101CB0000202020202020202020202020202020204
+:101CC00002020202020202020202020202020202F4
+:101CD00002020202020202020202020202020202E4
+:101CE00002020202020202020202020202020202D4
+:101CF00002020202020202020202020202020202C4
+:101D000002020202020202020202020202020202B3
+:101D100002020202020202020202020202020202A3
+:101D20000202020202020202020202020202020293
+:101D30000202020202020202020202020202020283
+:101D40000202020202020202020202020202020273
+:101D50000202020202020202020202020202020263
+:101D60000202020202020202020202020202020253
+:101D70000202020202020202020202020202020243
+:101D80000202020202020202020202020202020233
+:101D90000202020202020202020202020202020223
+:101DA0000202020202020202020202020202020213
+:101DB0000202020202020202020202020202020203
+:101DC00002020202020202020202020202020202F3
+:101DD00002020202020202020202020202020202E3
+:101DE00002020202020202020202020202020202D3
+:101DF00002020202020202020202020202020202C3
+:101E000002020202020202020202020202020202B2
+:101E100002020202020202020202020202020202A2
+:101E20000202020202020202020202020202020292
+:101E30000202020202020202020202020202020282
+:101E40000202020202020202020202020202020272
+:101E50000202020202020202020202020202020262
+:101E60000202020202020202020202020202020252
+:101E70000202020202020202020202020202020242
+:101E80000202020202020202020202020202020232
+:101E90000202020202020202020202020202020222
+:101EA0000202020202020202020202020202020212
+:101EB0000202020202020202020202020202020202
+:101EC00002020202020202020202020202020202F2
+:101ED00002020202020202020202020202020202E2
+:101EE00002020202020202020202020202020202D2
+:101EF00002020202020202020202020202020202C2
+:101F000002020202020202020202020202020202B1
+:101F100002020202020202020202020202020202A1
+:101F20000202020202020202020202020202020291
+:101F30000202020202020202020202020202020281
+:101F40000202020202020202020202020202020271
+:101F50000202020202020202020202020202020261
+:101F60000202020202020202020202020202020251
+:101F70000202020202020202020202020202020241
+:101F80000202020202020202020202020202020231
+:101F90000202020202020202020202020202020221
+:101FA0000202020202020202020202020202020211
+:101FB0000202020202020202020202020202020201
+:101FC00002020202020202020202020202020202F1
+:101FD00002020202020202020202020202020202E1
+:101FE00002020202020202020202020202020202D1
+:101FF00002020202020202020202020202020202C1
+:1020000002020202020202020202020202020202B0
+:1020100002020202020202020202020202020202A0
+:102020000202020202020202020202020202020290
+:102030000202020202020202020202020202020280
+:102040000202020202020202020202020202020270
+:102050000202020202020202020202020202020260
+:102060000202020202020202020202020202020250
+:102070000202020202020202020202020202020240
+:102080000202020202020202020202020202020230
+:102090000202020202020202020202020202020220
+:1020A0000202020202020202020202020202020210
+:1020B0000202020202020202020202020202020200
+:1020C00002020202020202020202020202020202F0
+:1020D00002020202020202020202020202020202E0
+:1020E00002020202020202020202020202020202D0
+:1020F00002020202020202020202020202020202C0
+:1021000002020202020202020202020202020202AF
+:10211000020202020202020202020202020202029F
+:10212000020202020202020202020202020202028F
+:10213000020202020202020202020202020202027F
+:10214000020202020202020202020202020202026F
+:10215000020202020202020202020202020202025F
+:10216000020202020202020202020202020202024F
+:10217000020202020202020202020202020202023F
+:10218000020202020202020202020202020202022F
+:10219000020202020202020202020202020202021F
+:1021A000020202020202020202020202020202020F
+:1021B00002020202020202020202020202020202FF
+:1021C00002020202020202020202020202020202EF
+:1021D00002020202020202020202020202020202DF
+:1021E00002020202020202020202020202020202CF
+:1021F00002020202020202020202020202020202BF
+:1022000002020202020202020202020202020202AE
+:10221000020202020202020202020202020202029E
+:10222000020202020202020202020202020202028E
+:10223000020202020202020202020202020202027E
+:10224000020202020202020202020202020202026E
+:10225000020202020202020202020202020202025E
+:10226000020202020202020202020202020202024E
+:10227000020202020202020202020202020202023E
+:10228000020202020202020202020202020202022E
+:10229000020202020202020202020202020202021E
+:1022A000020202020202020202020202020202020E
+:1022B00002020202020202020202020202020202FE
+:1022C00002020202020202020202020202020202EE
+:1022D00002020202020202020202020202020202DE
+:1022E00002020202020202020202020202020202CE
+:1022F00002020202020202020202020202020202BE
+:1023000002020202020202020202020202020202AD
+:10231000020202020202020202020202020202029D
+:10232000020202020202020202020202020202028D
+:10233000020202020202020202020202020202027D
+:10234000020202020202020202020202020202026D
+:10235000020202020202020202020202020202025D
+:10236000020202020202020202020202020202024D
+:10237000020202020202020202020202020202023D
+:10238000020202020202020202020202020202022D
+:10239000020202020202020202020202020202021D
+:1023A000020202020202020202020202020202020D
+:1023B00002020202020202020202020202020202FD
+:1023C00002020202020202020202020202020202ED
+:1023D00002020202020202020202020202020202DD
+:1023E00002020202020202020202020202020202CD
+:1023F00002020202020202020202020202020202BD
+:1024000002020202020202020202020202020202AC
+:10241000020202020202020202020202020202029C
+:10242000020202020202020202020202020202028C
+:10243000020202020202020202020202020202027C
+:10244000020202020202020202020202020202026C
+:10245000020202020202020202020202020202025C
+:10246000020202020202020202020202020202024C
+:10247000020202020202020202020202020202023C
+:10248000020202020202020202020202020202022C
+:10249000020202020202020202020202020202021C
+:1024A000020202020202020202020202020202020C
+:1024B00002020202020202020202020202020202FC
+:1024C00002020202020202020202020202020202EC
+:1024D00002020202020202020202020202020202DC
+:1024E00002020202020202020202020202020202CC
+:1024F00002020202020202020202020202020202BC
+:1025000002020202020202020202020202020202AB
+:10251000020202020202020202020202020202029B
+:10252000020202020202020202020202020202028B
+:10253000020202020202020202020202020202027B
+:10254000020202020202020202020202020202026B
+:10255000020202020202020202020202020202025B
+:10256000020202020202020202020202020202024B
+:10257000020202020202020202020202020202023B
+:10258000020202020202020202020202020202022B
+:10259000020202020202020202020202020202021B
+:1025A000020202020202020202020202020202020B
+:1025B00002020202020202020202020202020202FB
+:1025C00002020202020202020202020202020202EB
+:1025D00002020202020202020202020202020202DB
+:1025E00002020202020202020202020202020202CB
+:1025F00002020202020202020202020202020202BB
+:1026000002020202020202020202020202020202AA
+:10261000020202020202020202020202020202029A
+:10262000020202020202020202020202020202028A
+:10263000020202020202020202020202020202027A
+:10264000020202020202020202020202020202026A
+:10265000020202020202020202020202020202025A
+:10266000020202020202020202020202020202024A
+:10267000020202020202020202020202020202023A
+:10268000020202020202020202020202020202022A
+:10269000020202020202020202020202020202021A
+:1026A000020202020202020202020202020202020A
+:1026B00002020202020202020202020202020202FA
+:1026C00002020202020202020202020202020202EA
+:1026D00002020202020202020202020202020202DA
+:1026E00002020202020202020202020202020202CA
+:1026F00002020202020202020202020202020202BA
+:1027000002020202020202020202020202020202A9
+:102710000202020202020202020202020202020299
+:102720000202020202020202020202020202020289
+:102730000202020202020202020202020202020279
+:102740000202020202020202020202020202020269
+:102750000202020202020202020202020202020259
+:102760000202020202020202020202020202020249
+:102770000202020202020202020202020202020239
+:102780000202020202020202020202020202020229
+:102790000202020202020202020202020202020219
+:1027A0000202020202020202020202020202020209
+:1027B00002020202020202020202020202020202F9
+:1027C00002020202020202020202020202020202E9
+:1027D00002020202020202020202020202020202D9
+:1027E00002020202020202020202020202020202C9
+:1027F00002020202020202020202020202020202B9
+:1028000002020202020202020202020202020202A8
+:102810000202020202020202020202020202020298
+:102820000202020202020202020202020202020288
+:102830000202020202020202020202020202020278
+:102840000202020202020202020202020202020268
+:102850000202020202020202020202020202020258
+:102860000202020202020202020202020202020248
+:102870000202020202020202020202020202020238
+:102880000202020202020202020202020202020228
+:102890000202020202020202020202020202020218
+:1028A0000202020202020202020202020202020208
+:1028B00002020202020202020202020202020202F8
+:1028C00002020202020202020202020202020202E8
+:1028D00002020202020202020202020202020202D8
+:1028E00002020202020202020202020202020202C8
+:1028F00002020202020202020202020202020202B8
+:1029000002020202020202020202020202020202A7
+:102910000202020202020202020202020202020297
+:102920000202020202020202020202020202020287
+:102930000202020202020202020202020202020277
+:102940000202020202020202020202020202020267
+:102950000202020202020202020202020202020257
+:102960000202020202020202020202020202020247
+:102970000202020202020202020202020202020237
+:102980000202020202020202020202020202020227
+:102990000202020202020202020202020202020217
+:1029A0000202020202020202020202020202020207
+:1029B00002020202020202020202020202020202F7
+:1029C00002020202020202020202020202020202E7
+:1029D00002020202020202020202020202020202D7
+:1029E00002020202020202020202020202020202C7
+:1029F00002020202020202020202020202020202B7
+:102A000002020202020202020202020202020202A6
+:102A10000202020202020202020202020202020296
+:102A20000202020202020202020202020202020286
+:102A30000202020202020202020202020202020276
+:102A40000202020202020202020202020202020266
+:102A50000202020202020202020202020202020256
+:102A60000202020202020202020202020202020246
+:102A70000202020202020202020202020202020236
+:102A80000202020202020202020202020202020226
+:102A90000202020202020202020202020202020216
+:102AA0000202020202020202020202020202020206
+:102AB00002020202020202020202020202020202F6
+:102AC00002020202020202020202020202020202E6
+:102AD00002020202020202020202020202020202D6
+:102AE00002020202020202020202020202020202C6
+:102AF00002020202020202020202020202020202B6
+:102B000002020202020202020202020202020202A5
+:102B10000202020202020202020202020202020295
+:102B20000202020202020202020202020202020285
+:102B30000202020202020202020202020202020275
+:102B40000202020202020202020202020202020265
+:102B50000202020202020202020202020202020255
+:102B60000202020202020202020202020202020245
+:102B70000202020202020202020202020202020235
+:102B80000202020202020202020202020202020225
+:102B90000202020202020202020202020202020215
+:102BA0000202020202020202020202020202020205
+:102BB00002020202020202020202020202020202F5
+:102BC00002020202020202020202020202020202E5
+:102BD00002020202020202020202020202020202D5
+:102BE00002020202020202020202020202020202C5
+:102BF00002020202020202020202020202020202B5
+:102C000002020202020202020202020202020202A4
+:102C10000202020202020202020202020202020294
+:102C20000202020202020202020202020202020284
+:102C30000202020202020202020202020202020274
+:102C40000202020202020202020202020202020264
+:102C50000202020202020202020202020202020254
+:102C60000202020202020202020202020202020244
+:102C70000202020202020202020202020202020234
+:102C80000202020202020202020202020202020224
+:102C90000202020202020202020202020202020214
+:102CA0000202020202020202020202020202020204
+:102CB00002020202020202020202020202020202F4
+:102CC00002020202020202020202020202020202E4
+:102CD00002020202020202020202020202020202D4
+:102CE00002020202020202020202020202020202C4
+:102CF00002020202020202020202020202020202B4
+:102D000002020202020202020202020202020202A3
+:102D10000202020202020202020202020202020293
+:102D20000202020202020202020202020202020283
+:102D30000202020202020202020202020202020273
+:102D40000202020202020202020202020202020263
+:102D50000202020202020202020202020202020253
+:102D60000202020202020202020202020202020243
+:102D70000202020202020202020202020202020233
+:102D80000202020202020202020202020202020223
+:102D90000202020202020202020202020202020213
+:102DA0000202020202020202020202020202020203
+:102DB00002020202020202020202020202020202F3
+:102DC00002020202020202020202020202020202E3
+:102DD00002020202020202020202020202020202D3
+:102DE00002020202020202020202020202020202C3
+:102DF00002020202020202020202020202020202B3
+:102E000002020202020202020202020202020202A2
+:102E10000202020202020202020202020202020292
+:102E20000202020202020202020202020202020282
+:102E30000202020202020202020202020202020272
+:102E40000202020202020202020202020202020262
+:102E50000202020202020202020202020202020252
+:102E60000202020202020202020202020202020242
+:102E70000202020202020202020202020202020232
+:102E80000202020202020202020202020202020222
+:102E90000202020202020202020202020202020212
+:102EA0000202020202020202020202020202020202
+:102EB00002020202020202020202020202020202F2
+:102EC00002020202020202020202020202020202E2
+:102ED00002020202020202020202020202020202D2
+:102EE00002020202020202020202020202020202C2
+:102EF00002020202020202020202020202020202B2
+:102F000002020202020202020202020202020202A1
+:102F10000202020202020202020202020202020291
+:102F20000202020202020202020202020202020281
+:102F30000202020202020202020202020202020271
+:102F40000202020202020202020202020202020261
+:102F50000202020202020202020202020202020251
+:102F60000202020202020202020202020202020241
+:102F70000202020202020202020202020202020231
+:102F80000202020202020202020202020202020221
+:102F90000202020202020202020202020202020211
+:102FA0000202020202020202020202020202020201
+:102FB00002020202020202020202020202020202F1
+:102FC00002020202020202020202020202020202E1
+:102FD00002020202020202020202020202020202D1
+:102FE00002020202020202020202020202020202C1
+:102FF00002020202020202020202020202020202B1
+:1030000002020202020202020202020202020202A0
+:103010000202020202020202020202020202020290
+:103020000202020202020202020202020202020280
+:103030000202020202020202020202020202020270
+:103040000202020202020202020202020202020260
+:103050000202020202020202020202020202020250
+:103060000202020202020202020202020202020240
+:103070000202020202020202020202020202020230
+:103080000202020202020202020202020202020220
+:103090000202020202020202020202020202020210
+:1030A0000202020202020202020202020202020200
+:1030B00002020202020202020202020202020202F0
+:1030C00002020202020202020202020202020202E0
+:1030D00002020202020202020202020202020202D0
+:1030E00002020202020202020202020202020202C0
+:1030F00002020202020202020202020202020202B0
+:10310000020202020202020202020202020202029F
+:10311000020202020202020202020202020202028F
+:10312000020202020202020202020202020202027F
+:10313000020202020202020202020202020202026F
+:10314000020202020202020202020202020202025F
+:10315000020202020202020202020202020202024F
+:10316000020202020202020202020202020202023F
+:10317000020202020202020202020202020202022F
+:10318000020202020202020202020202020202021F
+:10319000020202020202020202020202020202020F
+:1031A00002020202020202020202020202020202FF
+:1031B00002020202020202020202020202020202EF
+:1031C00002020202020202020202020202020202DF
+:1031D00002020202020202020202020202020202CF
+:1031E00002020202020202020202020202020202BF
+:1031F00002020202020202020202020202020202AF
+:10320000020202020202020202020202020202029E
+:10321000020202020202020202020202020202028E
+:10322000020202020202020202020202020202027E
+:10323000020202020202020202020202020202026E
+:10324000020202020202020202020202020202025E
+:10325000020202020202020202020202020202024E
+:10326000020202020202020202020202020202023E
+:10327000020202020202020202020202020202022E
+:10328000020202020202020202020202020202021E
+:10329000020202020202020202020202020202020E
+:1032A00002020202020202020202020202020202FE
+:1032B00002020202020202020202020202020202EE
+:1032C00002020202020202020202020202020202DE
+:1032D00002020202020202020202020202020202CE
+:1032E00002020202020202020202020202020202BE
+:1032F00002020202020202020202020202020202AE
+:10330000020202020202020202020202020202029D
+:10331000020202020202020202020202020202028D
+:10332000020202020202020202020202020202027D
+:10333000020202020202020202020202020202026D
+:10334000020202020202020202020202020202025D
+:10335000020202020202020202020202020202024D
+:10336000020202020202020202020202020202023D
+:10337000020202020202020202020202020202022D
+:10338000020202020202020202020202020202021D
+:10339000020202020202020202020202020202020D
+:1033A00002020202020202020202020202020202FD
+:1033B00002020202020202020202020202020202ED
+:1033C00002020202020202020202020202020202DD
+:1033D00002020202020202020202020202020202CD
+:1033E00002020202020202020202020202020202BD
+:1033F00002020202020202020202020202020202AD
+:10340000020202020202020202020202020202029C
+:10341000020202020202020202020202020202028C
+:10342000020202020202020202020202020202027C
+:10343000020202020202020202020202020202026C
+:10344000020202020202020202020202020202025C
+:10345000020202020202020202020202020202024C
+:10346000020202020202020202020202020202023C
+:10347000020202020202020202020202020202022C
+:10348000020202020202020202020202020202021C
+:10349000020202020202020202020202020202020C
+:1034A00002020202020202020202020202020202FC
+:1034B00002020202020202020202020202020202EC
+:1034C00002020202020202020202020202020202DC
+:1034D00002020202020202020202020202020202CC
+:1034E00002020202020202020202020202020202BC
+:1034F00002020202020202000000000000000000BE
+:1035000000000000000000000000000000000000BB
+:1035100000000000000000000000000000000000AB
+:10352000000000000000000000000000000000009B
+:10353000000000000000000000000000000000008B
+:10354000000000000000000000000000000000007B
+:10355000000000000000000000000000000000006B
+:10356000000000000000000000000000000000005B
+:10357000000000000000000000000000000000004B
+:10358000000000000000000000000000000000003B
+:10359000000000000000000000000000000000002B
+:1035A000000000000000000000000000000000001B
+:1035B000000000000000000000000000000000000B
+:1035C00000000000000000000000000000000000FB
+:1035D00000000000000000000000000000000000EB
+:1035E00000000000000000000000000000000000DB
+:1035F00000000000000000000000000000000000CB
+:1036000000000000000000000000000000000000BA
+:1036100000000000000000000000000000000000AA
+:10362000000000000000000000000000000000009A
+:10363000000000000000000000000000000000008A
+:10364000000000000000000000000000000000007A
+:10365000000000000000000000000000000000006A
+:10366000000000000000000000000000000000005A
+:10367000000000000000000000000000000000004A
+:10368000000000000000000000000000000000003A
+:10369000000000000000000000000000000000002A
+:1036A000000000000000000000000000000000001A
+:1036B000000000000000000000000000000000000A
+:1036C00000000000000000000000000000000000FA
+:1036D00000000000000000000000000000000000EA
+:1036E00000000000000000000000000000000000DA
+:1036F00000000000000000000000000000000000CA
+:1037000000000000000000000000000000000000B9
+:1037100000000000000000000000000000000000A9
+:103720000000000000000000000000000000000099
+:103730000000000000000000000000000000000089
+:103740000000000000000000000000000000000079
+:103750000000000000000000000000000000000069
+:103760000000000000000000000000000000000059
+:103770000000000000000000000000000000000049
+:103780000000000000000000000000000000000039
+:103790000000000000000000000000000000000029
+:1037A0000000000000000000000000000000000019
+:1037B0000000000000000000000000000000000009
+:1037C00000000000000000000000000000000000F9
+:1037D00000000000000000000000000000000000E9
+:1037E00000000000000000000000000000000000D9
+:1037F00000000000000000000000000000000000C9
+:1038000000000000000000000000000000000000B8
+:1038100000000000000000000000000000000000A8
+:103820000000000000000000000000000000000098
+:103830000000000000000000000000000000000088
+:103840000000000000000000000000000000000078
+:103850000000000000000000000000000000000068
+:103860000000000000000000000000000000000058
+:103870000000000000000000000000000000000048
+:103880000000000000000000000000000000000038
+:103890000000000000000000000000000000000028
+:1038A0000000000000000000000000000000000018
+:1038B0000000000000000000000000000000000008
+:1038C00000000000000000000000000000000000F8
+:1038D00000000000000000000000000000000000E8
+:1038E00000000000000000000000000000000000D8
+:1038F0000000000000000097000000000000000130
+:1039000001010101010101010101010101010101A7
+:103910000101010101010101010101010101010197
+:103920000101010101010101010101010101010187
+:103930000101010101010101010101010101010177
+:103940000101010101010101010101010101010167
+:103950000101010101010101010101010101010157
+:103960000101010101010101010101010101010147
+:103970000101010101010101010101010101010137
+:103980000101010101010101010101010101010127
+:103990000101010101010101010101010101010117
+:1039A0000101010101010101010101010101010107
+:1039B00001010101010101010101010101010101F7
+:1039C00001010101010101010101010101010101E7
+:1039D00001010101010101010101010101010101D7
+:1039E00001010101010101010101010101010101C7
+:1039F00001010101010101010101010101010101B7
+:103A000001010101010101010101010101010101A6
+:103A10000101010101010101010101010101010196
+:103A20000101010101010101010101010101010186
+:103A30000101010101010101010101010101010176
+:103A40000101010101010101010101010101010166
+:103A50000101010101010101010101010101010156
+:103A60000101010101010101010101010101010146
+:103A70000101010101010101010101010101010136
+:103A80000101010101010101010101010101010126
+:103A90000101010101010101010101010101010116
+:103AA0000101010101010101010101010101010106
+:103AB00001010101010101010101010101010101F6
+:103AC00001010101010101010101010101010101E6
+:103AD00001010101010101010101010101010101D6
+:103AE00001010101010101010101010101010101C6
+:103AF00001010101010101010101010101010101B6
+:103B000001010101010101010101010101010101A5
+:103B10000101010101010101010101010101010195
+:103B20000101010101010101010101010101010185
+:103B30000101010101010101010101010101010175
+:103B40000101010101010101010101010101010165
+:103B50000101010101010101010101010101010155
+:103B60000101010101010101010101010101010145
+:103B70000101010101010101010101010101010135
+:103B80000101010101010101010101010101010125
+:103B90000101010101010101010101010101010115
+:103BA0000101010101010101010101010101010105
+:103BB00001010101010101010101010101010101F5
+:103BC00001010101010101010101010101010101E5
+:103BD00001010101010101010101010101010101D5
+:103BE00001010101010101010101010101010101C5
+:103BF00001010101010101010101010101010101B5
+:103C000001010101010101010101010101010101A4
+:103C10000101010101010101010101010101010194
+:103C20000101010101010101010101010101010184
+:103C30000101010101010101010101010101010174
+:103C40000101010101010101010101010101010164
+:103C50000101010101010101010101010101010154
+:103C60000101010101010101010101010101010144
+:103C70000101010101010101010101010101010134
+:103C80000101010101010101010101010101010124
+:103C90000101010101010101010101010101010114
+:103CA0000101010101010101010101010101010104
+:103CB00001010101010101010101010101010101F4
+:103CC00001010101010101010101010101010101E4
+:103CD00001010101010101010101010101010101D4
+:103CE00001010101010101010101010101010101C4
+:103CF00001010101010101010101010101010101B4
+:103D000001010101010101010101010101010101A3
+:103D10000101010101010101010101010101010193
+:103D20000101010101010101010101010101010183
+:103D30000101010101010101010101010101010173
+:103D40000101010101010101010101010101010163
+:103D50000101010101010101010101010101010153
+:103D60000101010101010101010101010101010143
+:103D70000101010101010101010101010101010133
+:103D80000101010101010101010101010101010123
+:103D90000101010101010101010101010101010113
+:103DA0000101010101010101010101010101010103
+:103DB00001010101010101010101010101010101F3
+:103DC00001010101010101010101010101010101E3
+:103DD00001010101010101010101010101010101D3
+:103DE00001010101010101010101010101010101C3
+:103DF00001010101010101010101010101010101B3
+:103E000001010101010101010101010101010101A2
+:103E10000101010101010101010101010101010192
+:103E20000101010101010101010101010101010182
+:103E30000101010101010101010101010101010172
+:103E40000101010101010101010101010101010162
+:103E50000101010101010101010101010101010152
+:103E60000101010101010101010101010101010142
+:103E70000101010101010101010101010101010132
+:103E80000101010101010101010101010101010122
+:103E90000101010101010101010101010101010112
+:103EA0000101010101010101010101010101010102
+:103EB00001010101010101010101010101010101F2
+:103EC00001010101010101010101010101010101E2
+:103ED00001010101010101010101010101010101D2
+:103EE00001010101010101010101010101010101C2
+:103EF00001010101010101010101010101010101B2
+:103F000001010101010101010101010101010101A1
+:103F10000101010101010101010101010101010191
+:103F20000101010101010101010101010101010181
+:103F30000101010101010101010101010101010171
+:103F40000101010101010101010101010101010161
+:103F50000101010101010101010101010101010151
+:103F60000101010101010101010101010101010141
+:103F70000101010101010101010101010101010131
+:103F80000101010101010101010101010101010121
+:103F90000101010101010101010101010101010111
+:103FA0000101010101010101010101010101010101
+:103FB00001010101010101010101010101010101F1
+:103FC00001010101010101010101010101010101E1
+:103FD00001010101010101010101010101010101D1
+:103FE00001010101010101010101010101010101C1
+:103FF00001010101010101010101010101010101B1
+:1040000001010101010101010101010101010101A0
+:104010000101010101010101010101010101010190
+:104020000101010101010101010101010101010180
+:104030000101010101010101010101010101010170
+:104040000101010101010101010101010101010160
+:104050000101010101010101010101010101010150
+:104060000101010101010101010101010101010140
+:104070000101010101010101010101010101010130
+:104080000101010101010101010101010101010120
+:104090000101010101010101010101010101010110
+:1040A0000101010101010101010101010101010100
+:1040B00001010101010101010101010101010101F0
+:1040C00001010101010101010101010101010101E0
+:1040D00001010101010101010101010101010101D0
+:1040E00001010101010101010101010101010101C0
+:1040F00001010101010101010101010101010101B0
+:10410000010101010101010101010101010101019F
+:10411000010101010101010101010101010101018F
+:10412000010101010101010101010101010101017F
+:10413000010101010101010101010101010101016F
+:10414000010101010101010101010101010101015F
+:10415000010101010101010101010101010101014F
+:10416000010101010101010101010101010101013F
+:10417000010101010101010101010101010101012F
+:10418000010101010101010101010101010101011F
+:10419000010101010101010101010101010101010F
+:1041A00001010101010101010101010101010101FF
+:1041B00001010101010101010101010101010101EF
+:1041C00001010101010101010101010101010101DF
+:1041D00001010101010101010101010101010101CF
+:1041E00001010101010101010101010101010101BF
+:1041F00001010101010101010101010101010101AF
+:10420000010101010101010101010101010101019E
+:10421000010101010101010101010101010101018E
+:10422000010101010101010101010101010101017E
+:10423000010101010101010101010101010101016E
+:10424000010101010101010101010101010101015E
+:10425000010101010101010101010101010101014E
+:10426000010101010101010101010101010101013E
+:10427000010101010101010101010101010101012E
+:10428000010101010101010101010101010101011E
+:10429000010101010101010101010101010101010E
+:1042A00001010101010101010101010101010101FE
+:1042B00001010101010101010101010101010101EE
+:1042C00001010101010101010101010101010101DE
+:1042D00001010101010101010101010101010101CE
+:1042E00001010101010101010101010101010101BE
+:1042F00001010101010101010101010101010101AE
+:10430000010101010101010101010101010101019D
+:10431000010101010101010101010101010101018D
+:10432000010101010101010101010101010101017D
+:10433000010101010101010101010101010101016D
+:10434000010101010101010101010101010101015D
+:10435000010101010101010101010101010101014D
+:10436000010101010101010101010101010101013D
+:10437000010101010101010101010101010101012D
+:10438000010101010101010101010101010101011D
+:10439000010101010101010101010101010101010D
+:1043A00001010101010101010101010101010101FD
+:1043B00001010101010101010101010101010101ED
+:1043C00001010101010101010101010101010101DD
+:1043D00001010101010101010101010101010101CD
+:1043E00001010101010101010101010101010101BD
+:1043F00001010101010101010101010101010101AD
+:10440000010101010101010101010101010101019C
+:10441000010101010101010101010101010101018C
+:10442000010101010101010101010101010101017C
+:10443000010101010101010101010101010101016C
+:10444000010101010101010101010101010101015C
+:10445000010101010101010101010101010101014C
+:10446000010101010101010101010101010101013C
+:10447000010101010101010101010101010101012C
+:10448000010101010101010101010101010101011C
+:10449000010101010101010101010101010101010C
+:1044A00001010101010101010101010101010101FC
+:1044B00001010101010101010101010101010101EC
+:1044C00001010101010101010101010101010101DC
+:1044D00001010101010101010101010101010101CC
+:1044E00001010101010101010101010101010101BC
+:1044F00001010101010101010101010101010101AC
+:10450000010101010101010101010101010101019B
+:10451000010101010101010101010101010101018B
+:10452000010101010101010101010101010101017B
+:10453000010101010101010101010101010101016B
+:10454000010101010101010101010101010101015B
+:10455000010101010101010101010101010101014B
+:10456000010101010101010101010101010101013B
+:10457000010101010101010101010101010101012B
+:10458000010101010101010101010101010101011B
+:10459000010101010101010101010101010101010B
+:1045A00001010101010101010101010101010101FB
+:1045B00001010101010101010101010101010101EB
+:1045C00001010101010101010101010101010101DB
+:1045D00001010101010101010101010101010101CB
+:1045E00001010101010101010101010101010101BB
+:1045F00001010101010101010101010101010101AB
+:10460000010101010101010101010101010101019A
+:10461000010101010101010101010101010101018A
+:10462000010101010101010101010101010101017A
+:10463000010101010101010101010101010101016A
+:10464000010101010101010101010101010101015A
+:10465000010101010101010101010101010101014A
+:10466000010101010101010101010101010101013A
+:10467000010101010101010101010101010101012A
+:10468000010101010101010101010101010101011A
+:10469000010101010101010101010101010101010A
+:1046A00001010101010101010101010101010101FA
+:1046B00001010101010101010101010101010101EA
+:1046C00001010101010101010101010101010101DA
+:1046D00001010101010101010101010101010101CA
+:1046E00001010101010101010101010101010101BA
+:1046F00001010101010101010101010101010101AA
+:104700000101010101010101010101010101010199
+:104710000101010101010101010101010101010189
+:104720000101010101010101010101010101010179
+:104730000101010101010101010101010101010169
+:104740000101010101010101010101010101010159
+:104750000101010101010101010101010101010149
+:104760000101010101010101010101010101010139
+:104770000101010101010101010101010101010129
+:104780000101010101010101010101010101010119
+:104790000101010101010101010101010101010109
+:1047A00001010101010101010101010101010101F9
+:1047B00001010101010101010101010101010101E9
+:1047C00001010101010101010101010101010101D9
+:1047D00001010101010101010101010101010101C9
+:1047E00001010101010101010101010101010101B9
+:1047F00001010101010101010101010101010101A9
+:104800000101010101010101010101010101010198
+:104810000101010101010101010101010101010188
+:104820000101010101010101010101010101010178
+:104830000101010101010101010101010101010168
+:104840000101010101010101010101010101010158
+:104850000101010101010101010101010101010148
+:104860000101010101010101010101010101010138
+:104870000101010101010101010101010101010128
+:104880000101010101010101010101010101010118
+:104890000101010101010101010101010101010108
+:1048A00001010101010101010101010101010101F8
+:1048B00001010101010101010101010101010101E8
+:1048C00001010101010101010101010101010101D8
+:1048D00001010101010101010101010101010101C8
+:1048E00001010101010101010101010101010101B8
+:1048F00001010101010101010101010101010101A8
+:104900000101010101010101010101010101010197
+:104910000101010101010101010101010101010187
+:104920000101010101010101010101010101010177
+:104930000101010101010101010101010101010167
+:104940000101010101010101010101010101010157
+:104950000101010101010101010101010101010147
+:104960000101010101010101010101010101010137
+:104970000101010101010101010101010101010127
+:104980000101010101010101010101010101010117
+:104990000101010101010101010101010101010107
+:1049A00001010101010101010101010101010101F7
+:1049B00001010101010101010101010101010101E7
+:1049C00001010101010101010101010101010101D7
+:1049D00001010101010101010101010101010101C7
+:1049E00001010101010101010101010101010101B7
+:1049F00001010101010101010101010101010101A7
+:104A00000101010101010101010101010101010196
+:104A10000101010101010101010101010101010186
+:104A20000101010101010101010101010101010176
+:104A30000101010101010101010101010101010166
+:104A40000101010101010101010101010101010156
+:104A50000101010101010101010101010101010146
+:104A60000101010101010101010101010101010136
+:104A70000101010101010101010101010101010126
+:104A80000101010101010101010101010101010116
+:104A90000101010101010101010101010101010106
+:104AA00001010101010101010101010101010101F6
+:104AB00001010101010101010101010101010101E6
+:104AC00001010101010101010101010101010101D6
+:104AD00001010101010101010101010101010101C6
+:104AE00001010101010101010101010101010101B6
+:104AF00001010101010101010101010101010101A6
+:104B00000101010101010101010101010101010195
+:104B10000101010101010101010101010101010185
+:104B20000101010101010101010101010101010175
+:104B30000101010101010101010101010101010165
+:104B40000101010101010101010101010101010155
+:104B50000101010101010101010101010101010145
+:104B60000101010101010101010101010101010135
+:104B70000101010101010101010101010101010125
+:104B80000101010101010101010101010101010115
+:104B90000101010101010101010101010101010105
+:104BA00001010101010101010101010101010101F5
+:104BB00001010101010101010101010101010101E5
+:104BC00001010101010101010101010101010101D5
+:104BD00001010101010101010101010101010101C5
+:104BE00001010101010101010101010101010101B5
+:104BF00001010101010101010101010101010101A5
+:104C00000101010101010101010101010101010194
+:104C10000101010101010101010101010101010184
+:104C20000101010101010101010101010101010174
+:104C30000101010101010101010101010101010164
+:104C40000101010101010101010101010101010154
+:104C50000101010101010101010101010101010144
+:104C60000101010101010101010101010101010134
+:104C70000101010101010101010101010101010124
+:104C80000101010101010101010101010101010114
+:104C90000101010101010101010101010101010104
+:104CA00001010101010101010101010101010101F4
+:104CB00001010101010101010101010101010101E4
+:104CC00001010101010101010101010101010101D4
+:104CD00001010101010101010101010101010101C4
+:104CE00001010101010101010101010101010101B4
+:104CF00001010101010101010101010101010101A4
+:104D00000101010101010101010101010101010193
+:104D10000101010101010101010101010101010183
+:104D20000101010101010101010101010101010173
+:104D30000101010101010101010101010101010163
+:104D40000101010101010101010101010101010153
+:104D50000101010101010101010101010101010143
+:104D60000101010101010101010101010101010133
+:104D70000101010101010101010101010101010123
+:104D80000101010101010101010101010101010113
+:104D90000101010101010101010101010101010103
+:104DA00001010101010101010101010101010101F3
+:104DB00001010101010101010101010101010101E3
+:104DC00001010101010101010101010101010101D3
+:104DD00001010101010101010101010101010101C3
+:104DE00001010101010101010101010101010101B3
+:104DF00001010101010101010101010101010101A3
+:104E00000101010101010101010101010101010192
+:104E10000101010101010101010101010101010182
+:104E20000101010101010101010101010101010172
+:104E30000101010101010101010101010101010162
+:104E40000101010101010101010101010101010152
+:104E50000101010101010101010101010101010142
+:104E60000101010101010101010101010101010132
+:104E70000101010101010101010101010101010122
+:104E80000101010101010101010101010101010112
+:104E90000101010101010101010101010101010102
+:104EA00001010101010101010101010101010101F2
+:104EB00001010101010101010101010101010101E2
+:104EC00001010101010101010101010101010101D2
+:104ED00001010101010101010101010101010101C2
+:104EE00001010101010101010101010101010101B2
+:104EF00001010101010101010101010101010101A2
+:104F00000101010101010101010101010101010191
+:104F10000101010101010101010101010101010181
+:104F20000101010101010101010101010101010171
+:104F30000101010101010101010101010101010161
+:104F40000101010101010101010101010101010151
+:104F50000101010101010101010101010101010141
+:104F60000101010101010101010101010101010131
+:104F70000101010101010101010101010101010121
+:104F80000101010101010101010101010101010111
+:104F90000101010101010101010101010101010101
+:104FA00001010101010101010101010101010101F1
+:104FB00001010101010101010101010101010101E1
+:104FC00001010101010101010101010101010101D1
+:104FD00001010101010101010101010101010101C1
+:104FE00001010101010101010101010101010101B1
+:104FF00001010101010101010101010101010101A1
+:105000000101010101010101010101010101010190
+:105010000101010101010101010101010101010180
+:105020000101010101010101010101010101010170
+:105030000101010101010101010101010101010160
+:105040000101010101010101010101010101010150
+:105050000101010101010101010101010101010140
+:105060000101010101010101010101010101010130
+:105070000101010101010101010101010101010120
+:105080000101010101010101010101010101010110
+:105090000101010101010101010101010101010100
+:1050A00001010101010101010101010101010101F0
+:1050B00001010101010101010101010101010101E0
+:1050C00001010101010101010101010101010101D0
+:1050D00001010101010101010101010101010101C0
+:1050E00001010101010101010101010101010101B0
+:1050F00001010101010101010101010101010101A0
+:10510000010101010101010101010101010101018F
+:10511000010101010101010101010101010101017F
+:10512000010101010101010101010101010101016F
+:10513000010101010101010101010101010101015F
+:10514000010101010101010101010101010101014F
+:10515000010101010101010101010101010101013F
+:10516000010101010101010101010101010101012F
+:10517000010101010101010101010101010101011F
+:10518000010101010101010101010101010101010F
+:1051900001010101010101010101010101010101FF
+:1051A00001010101010101010101010101010101EF
+:1051B00001010101010101010101010101010101DF
+:1051C00001010101010101010101010101010101CF
+:1051D00001010101010101010101010101010101BF
+:1051E00001010101010101010101010101010101AF
+:1051F000010101010101010101010101010101019F
+:10520000010101010101010101010101010101018E
+:10521000010101010101010101010101010101017E
+:10522000010101010101010101010101010101016E
+:10523000010101010101010101010101010101015E
+:10524000010101010101010101010101010101014E
+:10525000010101010101010101010101010101013E
+:10526000010101010101010101010101010101012E
+:10527000010101010101010101010101010101011E
+:10528000010101010101010101010101010101010E
+:1052900001010101010101010101010101010101FE
+:1052A00001010101010101010101010101010101EE
+:1052B00001010101010101010101010101010101DE
+:1052C00001010101010101010101010101010101CE
+:1052D00001010101010101010101010101010101BE
+:1052E00001010101010101010101010101010101AE
+:1052F000010101010101010101010101010101019E
+:10530000010101010101010101010101010101018D
+:10531000010101010101010101010101010101017D
+:10532000010101010101010101010101010101016D
+:10533000010101010101010101010101010101015D
+:10534000010101010101010101010101010101014D
+:10535000010101010101010101010101010101013D
+:10536000010101010101010101010101010101012D
+:10537000010101010101010101010101010101011D
+:10538000010101010101010101010101010101010D
+:1053900001010101010101010101010101010101FD
+:1053A00001010101010101010101010101010101ED
+:1053B00001010101010101010101010101010101DD
+:1053C00001010101010101010101010101010101CD
+:1053D00001010101010101010101010101010101BD
+:1053E00001010101010101010101010101010101AD
+:1053F000010101010101010101010101010101019D
+:10540000010101010101010101010101010101018C
+:10541000010101010101010101010101010101017C
+:10542000010101010101010101010101010101016C
+:10543000010101010101010101010101010101015C
+:10544000010101010101010101010101010101014C
+:10545000010101010101010101010101010101013C
+:10546000010101010101010101010101010101012C
+:10547000010101010101010101010101010101011C
+:10548000010101010101010101010101010101010C
+:1054900001010101010101010101010101010101FC
+:1054A00001010101010101010101010101010101EC
+:1054B00001010101010101010101010101010101DC
+:1054C00001010101010101010101010101010101CC
+:1054D00001010101010101010101010101010101BC
+:1054E00001010101010101010101010101010101AC
+:1054F000010101010101010101010101010101019C
+:10550000010101010101010101010101010101018B
+:10551000010101010101010101010101010101017B
+:10552000010101010101010101010101010101016B
+:10553000010101010101010101010101010101015B
+:10554000010101010101010101010101010101014B
+:10555000010101010101010101010101010101013B
+:10556000010101010101010101010101010101012B
+:10557000010101010101010101010101010101011B
+:10558000010101010101010101010101010101010B
+:1055900001010101010101010101010101010101FB
+:1055A00001010101010101010101010101010101EB
+:1055B00001010101010101010101010101010101DB
+:1055C00001010101010101010101010101010101CB
+:1055D00001010101010101010101010101010101BB
+:1055E00001010101010101010101010101010101AB
+:1055F000010101010101010101010101010101019B
+:10560000010101010101010101010101010101018A
+:10561000010101010101010101010101010101017A
+:10562000010101010101010101010101010101016A
+:10563000010101010101010101010101010101015A
+:10564000010101010101010101010101010101014A
+:10565000010101010101010101010101010101013A
+:10566000010101010101010101010101010101012A
+:10567000010101010101010101010101010101011A
+:10568000010101010101010101010101010101010A
+:1056900001010101010101010101010101010101FA
+:1056A00001010101010101010101010101010101EA
+:1056B00001010101010101010101010101010101DA
+:1056C00001010101010101010101010101010101CA
+:1056D00001010101010101010101010101010101BA
+:1056E00001010101010101010101010101010101AA
+:1056F000010101010101010101010101010101019A
+:105700000101010101010101010101010101010189
+:105710000101010101010101010101010101010179
+:105720000101010101010101010101010101010169
+:105730000101010101010101010101010101010159
+:105740000101010101010101010101010101010149
+:105750000101010101010101010101010101010139
+:105760000101010101010101010101010101010129
+:105770000101010101010101010101010101010119
+:105780000101010101010101010101010101010109
+:1057900001010101010101010101010101010101F9
+:1057A00001010101010101010101010101010101E9
+:1057B00001010101010101010101010101010101D9
+:1057C00001010101010101010101010101010101C9
+:1057D00001010101010101010101010101010101B9
+:1057E00001010101010101010101010101010101A9
+:1057F0000101010101010101010101010101010199
+:105800000101010101010101010101010101010188
+:105810000101010101010101010101010101010178
+:105820000101010101010101010101010101010168
+:105830000101010101010101010101010101010158
+:105840000101010101010101010101010101010148
+:105850000101010101010101010101010101010138
+:105860000101010101010101010101010101010128
+:105870000101010101010101010101010101010118
+:105880000101010101010101010101010101010108
+:1058900001010101010101010101010101010101F8
+:1058A00001010101010101010101010101010101E8
+:1058B00001010101010101010101010101010101D8
+:1058C00001010101010101010101010101010101C8
+:1058D00001010101010101010101010101010101B8
+:1058E00001010101010101010101010101010101A8
+:1058F0000101010101010101010101010101010198
+:105900000101010101010101010101010101010187
+:105910000101010101010101010101010101010177
+:105920000101010101010101010101010101010167
+:105930000101010101010101010101010101010157
+:105940000101010101010101010101010101010147
+:105950000101010101010101010101010101010137
+:105960000101010101010101010101010101010127
+:105970000101010101010101010101010101010117
+:105980000101010101010101010101010101010107
+:1059900001010101010101010101010101010101F7
+:1059A00001010101010101010101010101010101E7
+:1059B00001010101010101010101010101010101D7
+:1059C00001010101010101010101010101010101C7
+:1059D00001010101010101010101010101010101B7
+:1059E00001010101010101010101010101010101A7
+:1059F0000101010101010101010101010101010098
+:105A00000000000000000000000000000000000096
+:105A10000000000000000000000000000000000086
+:105A20000000000000000000000000000000000076
+:105A30000000000000000000000000000000000066
+:105A40000000000000000000000000000000000056
+:105A50000000000000000000000000000000000046
+:105A60000000000000000000000000000000000036
+:105A70000000000000000000000000000000000026
+:105A80000000000000000000000000000000000016
+:105A90000000000000000000000000000000000006
+:105AA00000000000000000000000000000000000F6
+:105AB00000000000000000000000000000000000E6
+:105AC00000000000000000000000000000000000D6
+:105AD00000000000000000000000000000000000C6
+:105AE00000000000000000000000000000000000B6
+:105AF00000000000000000000000000000000000A6
+:105B00000000000000000000000000000000000095
+:105B10000000000000000000000000000000000085
+:105B20000000000000000000000000000000000075
+:105B30000000000000000000000000000000000065
+:105B40000000000000000000000000000000000055
+:105B50000000000000000000000000000000000045
+:105B60000000000000000000000000000000000035
+:105B70000000000000000000000000000000000025
+:105B80000000000000000000000000000000000015
+:105B90000000000000000000000000000000000005
+:105BA00000000000000000000000000000000000F5
+:105BB00000000000000000000000000000000000E5
+:105BC00000000000000000000000000000000000D5
+:105BD00000000000000000000000000000000000C5
+:105BE00000000000000000000000000000000000B5
+:105BF00000000000000000000000000000000000A5
+:105C00000000000000000000000000000000000094
+:105C10000000000000000000000000000000000084
+:105C20000000000000000000000000000000000074
+:105C30000000000000000000000000000000000064
+:105C40000000000000000000000000000000000054
+:105C50000000000000000000000000000000000044
+:105C60000000000000000000000000000000000034
+:105C70000000000000000000000000000000000024
+:105C80000000000000000000000000000000000014
+:105C90000000000000000000000000000000000004
+:105CA00000000000000000000000000000000000F4
+:105CB00000000000000000000000000000000000E4
+:105CC00000000000000000000000000000000000D4
+:105CD00000000000000000000000000000000000C4
+:105CE00000000000000000000000000000000000B4
+:105CF00000000000000000000000000000000000A4
+:105D00000000000000000000000000000000000093
+:105D10000000000000000000000000000000000083
+:105D20000000000000000000000000000000000073
+:105D30000000000000000000000000000000000063
+:105D40000000000000000000000000000000000053
+:105D50000000000000000000000000000000000043
+:105D60000000000000000000000000000000000033
+:105D70000000000000000000000000000000000023
+:105D80000000000000000000000000000000000013
+:105D90000000000000000000000000000000000003
+:105DA00000000000000000000000000000000000F3
+:105DB00000000000000000000000000000000000E3
+:105DC00000000000000000000000000000000000D3
+:105DD00000000000000000000000000000000000C3
+:105DE00000000000000000000000000000000000B3
+:105DF00000000000000000000000000000000002A1
+:105E00000202020202020202020202020202020272
+:105E10000202020202020202020202020202020262
+:105E20000202020202020202020202020202020252
+:105E30000202020202020202020202020202020242
+:105E40000202020202020202020202020202020232
+:105E50000202020202020202020202020202020222
+:105E60000202020202020202020202020202020212
+:105E70000202020202020202020202020202020202
+:105E800002020202020202020202020202020202F2
+:105E900002020202020202020202020202020202E2
+:105EA00002020202020202020202020202020202D2
+:105EB00002020202020202020202020202020202C2
+:105EC00002020202020202020202020202020202B2
+:105ED00002020202020202020202020202020202A2
+:105EE0000202020202020202020202020202020292
+:105EF0000202020202020202020202020202020282
+:105F00000202020202020202020202020202020271
+:105F10000202020202020202020202020202020261
+:105F20000202020202020202020202020202020251
+:105F30000202020202020202020202020202020241
+:105F40000202020202020202020202020202020231
+:105F50000202020202020202020202020202020221
+:105F60000202020202020202020202020202020211
+:105F70000202020202020202020202020202020201
+:105F800002020202020202020202020202020202F1
+:105F900002020202020202020202020202020202E1
+:105FA00002020202020202020202020202020202D1
+:105FB00002020202020202020202020202020202C1
+:105FC00002020202020202020202020202020202B1
+:105FD00002020202020202020202020202020202A1
+:105FE0000202020202020202020202020202020291
+:105FF0000202020202020202020202020202020281
+:106000000202020202020202020202020202020270
+:106010000202020202020202020202020202020260
+:106020000202020202020202020202020202020250
+:106030000202020202020202020202020202020240
+:106040000202020202020202020202020202020230
+:106050000202020202020202020202020202020220
+:106060000202020202020202020202020202020210
+:106070000202020202020202020202020202020200
+:1060800002020202020202020202020202020202F0
+:1060900002020202020202020202020202020202E0
+:1060A00002020202020202020202020202020202D0
+:1060B00002020202020202020202020202020202C0
+:1060C00002020202020202020202020202020202B0
+:1060D00002020202020202020202020202020202A0
+:1060E0000202020202020202020202020202020290
+:1060F0000202020202020202020202020202020280
+:10610000020202020202020202020202020202026F
+:10611000020202020202020202020202020202025F
+:10612000020202020202020202020202020202024F
+:10613000020202020202020202020202020202023F
+:10614000020202020202020202020202020202022F
+:10615000020202020202020202020202020202021F
+:10616000020202020202020202020202020202020F
+:1061700002020202020202020202020202020202FF
+:1061800002020202020202020202020202020202EF
+:1061900002020202020202020202020202020202DF
+:1061A00002020202020202020202020202020202CF
+:1061B00002020202020202020202020202020202BF
+:1061C00002020202020202020202020202020202AF
+:1061D000020202020202020202020202020202029F
+:1061E000020202020202020202020202020202028F
+:1061F000020202020202020202020202020202027F
+:10620000020202020202020202020202020202026E
+:10621000020202020202020202020202020202025E
+:10622000020202020202020202020202020202024E
+:10623000020202020202020202020202020202023E
+:10624000020202020202020202020202020202022E
+:10625000020202020202020202020202020202021E
+:10626000020202020202020202020202020202020E
+:1062700002020202020202020202020202020202FE
+:1062800002020202020202020202020202020202EE
+:1062900002020202020202020202020202020202DE
+:1062A00002020202020202020202020202020202CE
+:1062B00002020202020202020202020202020202BE
+:1062C00002020202020202020202020202020202AE
+:1062D000020202020202020202020202020202029E
+:1062E000020202020202020202020202020202028E
+:1062F000020202020202020202020202020202027E
+:10630000020202020202020202020202020202026D
+:10631000020202020202020202020202020202025D
+:10632000020202020202020202020202020202024D
+:10633000020202020202020202020202020202023D
+:10634000020202020202020202020202020202022D
+:10635000020202020202020202020202020202021D
+:10636000020202020202020202020202020202020D
+:1063700002020202020202020202020202020202FD
+:1063800002020202020202020202020202020202ED
+:1063900002020202020202020202020202020202DD
+:1063A00002020202020202020202020202020202CD
+:1063B00002020202020202020202020202020202BD
+:1063C00002020202020202020202020202020202AD
+:1063D000020202020202020202020202020202029D
+:1063E000020202020202020202020202020202028D
+:1063F000020202020202020202020202020202027D
+:10640000020202020202020202020202020202026C
+:10641000020202020202020202020202020202025C
+:10642000020202020202020202020202020202024C
+:10643000020202020202020202020202020202023C
+:10644000020202020202020202020202020202022C
+:10645000020202020202020202020202020202021C
+:10646000020202020202020202020202020202020C
+:1064700002020202020202020202020202020202FC
+:1064800002020202020202020202020202020202EC
+:1064900002020202020202020202020202020202DC
+:1064A00002020202020202020202020202020202CC
+:1064B00002020202020202020202020202020202BC
+:1064C00002020202020202020202020202020202AC
+:1064D000020202020202020202020202020202029C
+:1064E000020202020202020202020202020202028C
+:1064F000020202020202020202020202020202027C
+:10650000020202020202020202020202020202026B
+:10651000020202020202020202020202020202025B
+:10652000020202020202020202020202020202024B
+:10653000020202020202020202020202020202023B
+:10654000020202020202020202020202020202022B
+:10655000020202020202020202020202020202021B
+:10656000020202020202020202020202020202020B
+:1065700002020202020202020202020202020202FB
+:1065800002020202020202020202020202020202EB
+:1065900002020202020202020202020202020202DB
+:1065A00002020202020202020202020202020202CB
+:1065B00002020202020202020202020202020202BB
+:1065C00002020202020202020202020202020202AB
+:1065D000020202020202020202020202020202029B
+:1065E000020202020202020202020202020202028B
+:1065F000020202020202020202020202020202027B
+:10660000020202020202020202020202020202026A
+:10661000020202020202020202020202020202025A
+:10662000020202020202020202020202020202024A
+:10663000020202020202020202020202020202023A
+:10664000020202020202020202020202020202022A
+:10665000020202020202020202020202020202021A
+:10666000020202020202020202020202020202020A
+:1066700002020202020202020202020202020202FA
+:1066800002020202020202020202020202020202EA
+:1066900002020202020202020202020202020202DA
+:1066A00002020202020202020202020202020202CA
+:1066B00002020202020202020202020202020202BA
+:1066C00002020202020202020202020202020202AA
+:1066D000020202020202020202020202020202029A
+:1066E000020202020202020202020202020202028A
+:1066F000020202020202020202020202020202027A
+:106700000202020202020202020202020202020269
+:106710000202020202020202020202020202020259
+:106720000202020202020202020202020202020249
+:106730000202020202020202020202020202020239
+:106740000202020202020202020202020202020229
+:106750000202020202020202020202020202020219
+:106760000202020202020202020202020202020209
+:1067700002020202020202020202020202020202F9
+:1067800002020202020202020202020202020202E9
+:1067900002020202020202020202020202020202D9
+:1067A00002020202020202020202020202020202C9
+:1067B00002020202020202020202020202020202B9
+:1067C00002020202020202020202020202020202A9
+:1067D0000202020202020202020202020202020299
+:1067E0000202020202020202020202020202020289
+:1067F0000202020202020202020202020202020279
+:106800000202020202020202020202020202020268
+:106810000202020202020202020202020202020258
+:106820000202020202020202020202020202020248
+:106830000202020202020202020202020202020238
+:106840000202020202020202020202020202020228
+:106850000202020202020202020202020202020218
+:106860000202020202020202020202020202020208
+:1068700002020202020202020202020202020202F8
+:1068800002020202020202020202020202020202E8
+:1068900002020202020202020202020202020202D8
+:1068A00002020202020202020202020202020202C8
+:1068B00002020202020202020202020202020202B8
+:1068C00002020202020202020202020202020202A8
+:1068D0000202020202020202020202020202020298
+:1068E0000202020202020202020202020202020288
+:1068F0000202020202020202020202020202020278
+:106900000202020202020202020202020202020267
+:106910000202020202020202020202020202020257
+:106920000202020202020202020202020202020247
+:106930000202020202020202020202020202020237
+:106940000202020202020202020202020202020227
+:106950000202020202020202020202020202020217
+:106960000202020202020202020202020202020207
+:1069700002020202020202020202020202020202F7
+:1069800002020202020202020202020202020202E7
+:1069900002020202020202020202020202020202D7
+:1069A00002020202020202020202020202020202C7
+:1069B00002020202020202020202020202020202B7
+:1069C00002020202020202020202020202020202A7
+:1069D0000202020202020202020202020202020297
+:1069E0000202020202020202020202020202020287
+:1069F0000202020202020202020202020202020277
+:106A00000202020202020202020202020202020266
+:106A10000202020202020202020202020202020256
+:106A20000202020202020202020202020202020246
+:106A30000202020202020202020202020202020236
+:106A40000202020202020202020202020202020226
+:106A50000202020202020202020202020202020216
+:106A60000202020202020202020202020202020206
+:106A700002020202020202020202020202020202F6
+:106A800002020202020202020202020202020202E6
+:106A900002020202020202020202020202020202D6
+:106AA00002020202020202020202020202020202C6
+:106AB00002020202020202020202020202020202B6
+:106AC00002020202020202020202020202020202A6
+:106AD0000202020202020202020202020202020296
+:106AE0000202020202020202020202020202020286
+:106AF0000202020202020202020202020202020276
+:106B00000202020202020202020202020202020265
+:106B10000202020202020202020202020202020255
+:106B20000202020202020202020202020202020245
+:106B30000202020202020202020202020202020235
+:106B40000202020202020202020202020202020225
+:106B50000202020202020202020202020202020215
+:106B60000202020202020202020202020202020205
+:106B700002020202020202020202020202020202F5
+:106B800002020202020202020202020202020202E5
+:106B900002020202020202020202020202020202D5
+:106BA00002020202020202020202020202020202C5
+:106BB00002020202020202020202020202020202B5
+:106BC00002020202020202020202020202020202A5
+:106BD0000202020202020202020202020202020295
+:106BE0000202020202020202020202020202020285
+:106BF0000202020202020202020202020202020275
+:106C00000202020202020202020202020202020264
+:106C10000202020202020202020202020202020254
+:106C20000202020202020202020202020202020244
+:106C30000202020202020202020202020202020234
+:106C40000202020202020202020202020202020224
+:106C50000202020202020202020202020202020214
+:106C60000202020202020202020202020202020204
+:106C700002020202020202020202020202020202F4
+:106C800002020202020202020202020202020202E4
+:106C900002020202020202020202020202020202D4
+:106CA00002020202020202020202020202020202C4
+:106CB00002020202020202020202020202020202B4
+:106CC00002020202020202020202020202020202A4
+:106CD0000202020202020202020202020202020294
+:106CE0000202020202020202020202020202020284
+:106CF0000202020202020202020202020202020274
+:106D00000202020202020202020202020202020263
+:106D10000202020202020202020202020202020253
+:106D20000202020202020202020202020202020243
+:106D30000202020202020202020202020202020233
+:106D40000202020202020202020202020202020223
+:106D50000202020202020202020202020202020213
+:106D60000202020202020202020202020202020203
+:106D700002020202020202020202020202020202F3
+:106D800002020202020202020202020202020202E3
+:106D900002020202020202020202020202020202D3
+:106DA00002020202020202020202020202020202C3
+:106DB00002020202020202020202020202020202B3
+:106DC00002020202020202020202020202020202A3
+:106DD0000202020202020202020202020202020293
+:106DE0000202020202020202020202020202020283
+:106DF0000202020202020202020202020202020273
+:106E00000202020202020202020202020202020262
+:106E10000202020202020202020202020202020252
+:106E20000202020202020202020202020202020242
+:106E30000202020202020202020202020202020232
+:106E40000202020202020202020202020202020222
+:106E50000202020202020202020202020202020212
+:106E60000202020202020202020202020202020202
+:106E700002020202020202020202020202020202F2
+:106E800002020202020202020202020202020202E2
+:106E900002020202020202020202020202020202D2
+:106EA00002020202020202020202020202020202C2
+:106EB00002020202020202020202020202020202B2
+:106EC00002020202020202020202020202020202A2
+:106ED0000202020202020202020202020202020292
+:106EE0000202020202020202020202020202020282
+:106EF0000202020202020202020202020202020272
+:106F00000202020202020202020202020202020261
+:106F10000202020202020202020202020202020251
+:106F20000202020202020202020202020202020241
+:106F30000202020202020202020202020202020231
+:106F40000202020202020202020202020202020221
+:106F50000202020202020202020202020202020211
+:106F60000202020202020202020202020202020201
+:106F700002020202020202020202020202020202F1
+:106F800002020202020202020202020202020202E1
+:106F900002020202020202020202020202020202D1
+:106FA00002020202020202020202020202020202C1
+:106FB00002020202020202020202020202020202B1
+:106FC00002020202020202020202020202020202A1
+:106FD0000202020202020202020202020202020291
+:106FE0000202020202020202020202020202020281
+:106FF0000202020202020202020202020202020271
+:107000000202020202020202020202020202020260
+:107010000202020202020202020202020202020250
+:107020000202020202020202020202020202020240
+:107030000202020202020202020202020202020230
+:107040000202020202020202020202020202020220
+:107050000202020202020202020202020202020210
+:107060000202020202020202020202020202020200
+:1070700002020202020202020202020202020202F0
+:1070800002020202020202020202020202020202E0
+:1070900002020202020202020202020202020202D0
+:1070A00002020202020202020202020202020202C0
+:1070B00002020202020202020202020202020202B0
+:1070C00002020202020202020202020202020202A0
+:1070D0000202020202020202020202020202020290
+:1070E0000202020202020202020202020202020280
+:1070F0000202020202020202020202020202020270
+:10710000020202020202020202020202020202025F
+:10711000020202020202020202020202020202024F
+:10712000020202020202020202020202020202023F
+:10713000020202020202020202020202020202022F
+:10714000020202020202020202020202020202021F
+:10715000020202020202020202020202020202020F
+:1071600002020202020202020202020202020202FF
+:1071700002020202020202020202020202020202EF
+:1071800002020202020202020202020202020202DF
+:1071900002020202020202020202020202020202CF
+:1071A00002020202020202020202020202020202BF
+:1071B00002020202020202020202020202020202AF
+:1071C000020202020202020202020202020202029F
+:1071D000020202020202020202020202020202028F
+:1071E000020202020202020202020202020202027F
+:1071F000020202020202020202020202020202026F
+:10720000020202020202020202020202020202025E
+:10721000020202020202020202020202020202024E
+:10722000020202020202020202020202020202023E
+:10723000020202020202020202020202020202022E
+:10724000020202020202020202020202020202021E
+:10725000020202020202020202020202020202020E
+:1072600002020202020202020202020202020202FE
+:1072700002020202020202020202020202020202EE
+:1072800002020202020202020202020202020202DE
+:1072900002020202020202020202020202020202CE
+:1072A00002020202020202020202020202020202BE
+:1072B00002020202020202020202020202020202AE
+:1072C000020202020202020202020202020202029E
+:1072D000020202020202020202020202020202028E
+:1072E000020202020202020202020202020202027E
+:1072F000020202020202020202020202020202026E
+:10730000020202020202020202020202020202025D
+:10731000020202020202020202020202020202024D
+:10732000020202020202020202020202020202023D
+:10733000020202020202020202020202020202022D
+:10734000020202020202020202020202020202021D
+:10735000020202020202020202020202020202020D
+:1073600002020202020202020202020202020202FD
+:1073700002020202020202020202020202020202ED
+:1073800002020202020202020202020202020202DD
+:1073900002020202020202020202020202020202CD
+:1073A00002020202020202020202020202020202BD
+:1073B00002020202020202020202020202020202AD
+:1073C000020202020202020202020202020202029D
+:1073D000020202020202020202020202020202028D
+:1073E000020202020202020202020202020202027D
+:1073F000020202020202020202020202020202026D
+:10740000020202020202020202020202020202025C
+:10741000020202020202020202020202020202024C
+:10742000020202020202020202020202020202023C
+:10743000020202020202020202020202020202022C
+:10744000020202020202020202020202020202021C
+:10745000020202020202020202020202020202020C
+:1074600002020202020202020202020202020202FC
+:1074700002020202020202020202020202020202EC
+:1074800002020202020202020202020202020202DC
+:1074900002020202020202020202020202020202CC
+:1074A00002020202020202020202020202020202BC
+:1074B00002020202020202020202020202020202AC
+:1074C000020202020202020202020202020202029C
+:1074D000020202020202020202020202020202028C
+:1074E000020202020202020202020202020202027C
+:1074F000020202020202020202020202020202026C
+:10750000020202020202020202020202020202025B
+:10751000020202020202020202020202020202024B
+:10752000020202020202020202020202020202023B
+:10753000020202020202020202020202020202022B
+:10754000020202020202020202020202020202021B
+:10755000020202020202020202020202020202020B
+:1075600002020202020202020202020202020202FB
+:1075700002020202020202020202020202020202EB
+:1075800002020202020202020202020202020202DB
+:1075900002020202020202020202020202020202CB
+:1075A00002020202020202020202020202020202BB
+:1075B00002020202020202020202020202020202AB
+:1075C000020202020202020202020202020202029B
+:1075D000020202020202020202020202020202028B
+:1075E000020202020202020202020202020202027B
+:1075F000020202020202020202020202020202026B
+:10760000020202020202020202020202020202025A
+:10761000020202020202020202020202020202024A
+:10762000020202020202020202020202020202023A
+:10763000020202020202020202020202020202022A
+:10764000020202020202020202020202020202021A
+:10765000020202020202020202020202020202020A
+:1076600002020202020202020202020202020202FA
+:1076700002020202020202020202020202020202EA
+:1076800002020202020202020202020202020202DA
+:1076900002020202020202020202020202020202CA
+:1076A00002020202020202020202020202020202BA
+:1076B00002020202020202020202020202020202AA
+:1076C000020202020202020202020202020202029A
+:1076D000020202020202020202020202020202028A
+:1076E000020202020202020202020202020202027A
+:1076F000020202020202020202020202020202026A
+:107700000202020202020202020202020202020259
+:107710000202020202020202020202020202020249
+:107720000202020202020202020202020202020239
+:107730000202020202020202020202020202020229
+:107740000202020202020202020202020202020219
+:107750000202020202020202020202020202020209
+:1077600002020202020202020202020202020202F9
+:1077700002020202020202020202020202020202E9
+:1077800002020202020202020202020202020202D9
+:1077900002020202020202020202020202020202C9
+:1077A00002020202020202020202020202020202B9
+:1077B00002020202020202020202020202020202A9
+:1077C0000202020202020202020202020202020299
+:1077D0000202020202020202020202020202020289
+:1077E0000202020202020202020202020202020279
+:1077F0000202020202020202020202020202020269
+:107800000202020202020202020202020202020258
+:107810000202020202020202020202020202020248
+:107820000202020202020202020202020202020238
+:107830000202020202020202020202020202020228
+:107840000202020202020202020202020202020218
+:107850000202020202020202020202020202020208
+:1078600002020202020202020202020202020202F8
+:1078700002020202020202020202020202020202E8
+:1078800002020202020202020202020202020202D8
+:1078900002020202020202020202020202020202C8
+:1078A00002020202020202020202020202020202B8
+:1078B00002020202020202020202020202020202A8
+:1078C0000202020202020202020202020202020298
+:1078D0000202020202020202020202020202020288
+:1078E0000202020202020202020202020202020278
+:1078F0000202020202020202020202020202020268
+:107900000202020202020202020202020202020257
+:107910000202020202020202020202020202020247
+:107920000202020202020202020202020202020237
+:107930000202020202020202020202020202020227
+:107940000202020202020202020202020202020217
+:107950000202020202020202020202020202020207
+:1079600002020202020202020202020202020202F7
+:1079700002020202020202020202020202020202E7
+:1079800002020202020202020202020202020202D7
+:1079900002020202020202020202020202020202C7
+:1079A00002020202020202020202020202020202B7
+:1079B00002020202020202020202020202020202A7
+:1079C0000202020202020202020202020202020297
+:1079D0000202020202020202020202020202020287
+:1079E0000202020202020202020202020202020277
+:1079F0000202020202020202020202020202020267
+:107A00000202020202020202020202020202020256
+:107A10000202020202020202020202020202020246
+:107A20000202020202020202020202020202020236
+:107A30000202020202020202020202020202020226
+:107A40000202020202020202020202020202020216
+:107A50000202020202020202020202020202020206
+:107A600002020202020202020202020202020202F6
+:107A700002020202020202020202020202020202E6
+:107A800002020202020202020202020202020202D6
+:107A900002020202020202020202020202020202C6
+:107AA00002020202020202020202020202020202B6
+:107AB00002020202020202020202020202020202A6
+:107AC0000202020202020202020202020202020296
+:107AD0000202020202020202020202020202020286
+:107AE0000202020202020202020202020202020276
+:107AF0000202020202020202020202020202020266
+:107B00000202020202020202020202020202020255
+:107B10000202020202020202020202020202020245
+:107B20000202020202020202020202020202020235
+:107B30000202020202020202020202020202020225
+:107B40000202020202020202020202020202020215
+:107B50000202020202020202020202020202020205
+:107B600002020202020202020202020202020202F5
+:107B700002020202020202020202020202020202E5
+:107B800002020202020202020202020202020202D5
+:107B900002020202020202020202020202020202C5
+:107BA00002020202020202020202020202020202B5
+:107BB00002020202020202020202020202020202A5
+:107BC0000202020202020202020202020202020295
+:107BD0000202020202020202020202020202020285
+:107BE0000202020202020202020202020202020275
+:107BF0000202020202020202020202020202020265
+:107C00000202020202020202020202020202020254
+:107C10000202020202020202020202020202020244
+:107C20000202020202020202020202020202020234
+:107C30000202020202020202020202020202020224
+:107C40000202020202020202020202020202020214
+:107C50000202020202020202020202020202020204
+:107C600002020202020202020202020202020202F4
+:107C700002020202020202020202020202020202E4
+:107C800002020202020202020202020202020202D4
+:107C900002020202020202020202020202020202C4
+:107CA00002020202020202020202020202020202B4
+:107CB00002020202020202020202020202020202A4
+:107CC0000202020202020202020202020202020294
+:107CD0000202020202020202020202020202020284
+:107CE0000202020202020202020202020202020274
+:107CF0000202020202020202020202020202020264
+:107D00000202020202020202020202020202020253
+:107D10000202020202020202020202020202020243
+:107D20000202020202020202020202020202020233
+:107D30000202020202020202020202020202020223
+:107D40000202020202020202020202020202020213
+:107D50000202020202020202020202020202020203
+:107D600002020202020202020202020202020202F3
+:107D700002020202020202020202020202020202E3
+:107D800002020202020202020202020202020202D3
+:107D900002020202020202020202020202020202C3
+:107DA00002020202020202020202020202020202B3
+:107DB00002020202020202020202020202020202A3
+:107DC0000202020202020202020202020202020293
+:107DD0000202020202020202020202020202020283
+:107DE0000202020202020202020202020202020273
+:107DF0000202020202020202020202020202020263
+:107E00000202020202020202020202020202020252
+:107E10000202020202020202020202020202020242
+:107E20000202020202020202020202020202020232
+:107E30000202020202020202020202020202020222
+:107E40000202020202020202020202020202020212
+:107E50000202020202020202020202020202020202
+:107E600002020202020202020202020202020202F2
+:107E700002020202020202020202020202020202E2
+:107E800002020202020202020202020202020202D2
+:107E900002020202020202020202020202020202C2
+:107EA00002020202020202020202020202020202B2
+:107EB00002020202020202020202020202020202A2
+:107EC0000202020202020202020202020202020292
+:107ED0000202020202020202020202020202020282
+:107EE0000202020202020202020202020202020272
+:107EF0000202020202020202020202020202020064
+:107F00000000000000000000000000000000000071
+:107F10000000000000000000000000000000000061
+:107F20000000000000000000000000000000000051
+:107F30000000000000000000000000000000000041
+:107F40000000000000000000000000000000000031
+:107F50000000000000000000000000000000000021
+:107F60000000000000000000000000000000000011
+:107F70000000000000000000000000000000000001
+:107F800000000000000000000000000000000000F1
+:107F900000000000000000000000000000000000E1
+:107FA00000000000000000000000000000000000D1
+:107FB00000000000000000000000000000000000C1
+:107FC00000000000000000000000000000000000B1
+:107FD00000000000000000000000000000000000A1
+:107FE0000000000000000000000000000000000091
+:107FF0000000000000000000000000000000000081
+:108000000000000000000000000000000000000070
+:108010000000000000000000000000000000000060
+:108020000000000000000000000000000000000050
+:108030000000000000000000000000000000000040
+:108040000000000000000000000000000000000030
+:108050000000000000000000000000000000000020
+:108060000000000000000000000000000000000010
+:108070000000000000000000000000000000000000
+:1080800000000000000000000000000000000000F0
+:1080900000000000000000000000000000000000E0
+:1080A00000000000000000000000000000000000D0
+:1080B00000000000000000000000000000000000C0
+:1080C00000000000000000000000000000000000B0
+:1080D00000000000000000000000000000000000A0
+:1080E0000000000000000000000000000000000090
+:1080F0000000000000000000000000000000000080
+:10810000000000000000000000000000000000006F
+:10811000000000000000000000000000000000005F
+:10812000000000000000000000000000000000004F
+:10813000000000000000000000000000000000003F
+:10814000000000000000000000000000000000002F
+:10815000000000000000000000000000000000001F
+:10816000000000000000000000000000000000000F
+:1081700000000000000000000000000000000000FF
+:1081800000000000000000000000000000000000EF
+:1081900000000000000000000000000000000000DF
+:1081A00000000000000000000000000000000000CF
+:1081B00000000000000000000000000000000000BF
+:1081C00000000000000000000000000000000000AF
+:1081D000000000000000000000000000000000009F
+:1081E000000000000000000000000000000000008F
+:1081F000000000000000000000000000000000007F
+:10820000000000000000000000000000000000006E
+:10821000000000000000000000000000000000005E
+:10822000000000000000000000000000000000004E
+:10823000000000000000000000000000000000003E
+:10824000000000000000000000000000000000002E
+:10825000000000000000000000000000000000001E
+:10826000000000000000000000000000000000000E
+:1082700000000000000000000000000000000000FE
+:1082800000000000000000000000000000000000EE
+:1082900000000000000000000000000000000000DE
+:1082A00000000000000000000000000000000000CE
+:1082B00000000000000000000000000000000000BE
+:1082C00000000000000000000000000000000000AE
+:1082D000000000000000000000000000000000009E
+:1082E000000000000000000000000000000000008E
+:1082F000000000000000000000000000000000007E
+:10830000000000000000000000000000000000006D
+:10831000000000000000000000000000000000005D
+:10832000000000000000000000000000000000004D
+:10833000000000000000000000000000000000003D
+:10834000000000000000000000000000000000002D
+:10835000000000000000000000000000000000001D
+:10836000000000000000000000000000000000000D
+:1083700000000000000000000000000000000000FD
+:1083800000000000000000000000000000000000ED
+:1083900000000000000000000000000000000000DD
+:1083A00000000000000000000000000000000000CD
+:1083B00000000000000000000000000000000000BD
+:1083C00000000000000000000000000000000000AD
+:1083D000000000000000000000000000000000009D
+:1083E000000000000000000000000000000000008D
+:1083F000000000000000000000000000000000007D
+:10840000000000000000000000000000000000006C
+:10841000000000000000000000000000000000005C
+:10842000000000000000000000000000000000004C
+:10843000000000000000000000000000000000003C
+:10844000000000000000000000000000000000002C
+:10845000000000000000000000000000000000001C
+:10846000000000000000000000000000000000000C
+:1084700000000000000000000000000000000000FC
+:1084800000000000000000000000000000000000EC
+:1084900000000000000000000000000000000000DC
+:1084A00000000000000000000000000000000000CC
+:1084B00000000000000000000000000000000000BC
+:1084C00000000000000000000000000000000000AC
+:1084D000000000000000000000000000000000009C
+:1084E000000000000000000000000000000000008C
+:1084F000000000000000000000000000000000007C
+:10850000000000000000000000000000000000006B
+:10851000000000000000000000000000000000005B
+:10852000000000000000000000000000000000004B
+:10853000000000000000000000000000000000003B
+:10854000000000000000000000000000000000002B
+:10855000000000000000000000000000000000001B
+:10856000000000000000000000000000000000000B
+:1085700000000000000000000000000000000000FB
+:1085800000000000000000000000000000000000EB
+:1085900000000000000000000000000000000000DB
+:1085A00000000000000000000000000000000000CB
+:1085B00000000000000000000000000000000000BB
+:1085C00000000000000000000000000000000000AB
+:1085D000000000000000000000000000000000009B
+:1085E000000000000000000000000000000000008B
+:1085F000000000000000000000000000000000017A
+:10860000010101010101010101010101010101015A
+:10861000010101010101010101010101010101014A
+:10862000010101010101010101010101010101013A
+:10863000010101010101010101010101010101012A
+:10864000010101010101010101010101010101011A
+:10865000010101010101010101010101010101010A
+:1086600001010101010101010101010101010101FA
+:1086700001010101010101010101010101010101EA
+:1086800001010101010101010101010101010101DA
+:1086900001010101010101010101010101010101CA
+:1086A00001010101010101010101010101010101BA
+:1086B00001010101010101010101010101010101AA
+:1086C000010101010101010101010101010101019A
+:1086D000010101010101010101010101010101018A
+:1086E000010101010101010101010101010101017A
+:1086F000010101010101010101010101010101016A
+:108700000101010101010101010101010101010159
+:108710000101010101010101010101010101010149
+:108720000101010101010101010101010101010139
+:108730000101010101010101010101010101010129
+:108740000101010101010101010101010101010119
+:108750000101010101010101010101010101010109
+:1087600001010101010101010101010101010101F9
+:1087700001010101010101010101010101010101E9
+:1087800001010101010101010101010101010101D9
+:1087900001010101010101010101010101010101C9
+:1087A00001010101010101010101010101010101B9
+:1087B00001010101010101010101010101010101A9
+:1087C0000101010101010101010101010101010199
+:1087D0000101010101010101010101010101010189
+:1087E0000101010101010101010101010101010179
+:1087F0000101010101010101010101010101010169
+:108800000101010101010101010101010101010158
+:108810000101010101010101010101010101010148
+:108820000101010101010101010101010101010138
+:108830000101010101010101010101010101010128
+:108840000101010101010101010101010101010118
+:108850000101010101010101010101010101010108
+:1088600001010101010101010101010101010101F8
+:1088700001010101010101010101010101010101E8
+:1088800001010101010101010101010101010101D8
+:1088900001010101010101010101010101010101C8
+:1088A00001010101010101010101010101010101B8
+:1088B00001010101010101010101010101010101A8
+:1088C0000101010101010101010101010101010198
+:1088D0000101010101010101010101010101010188
+:1088E0000101010101010101010101010101010178
+:1088F0000101010101010101010101010101010168
+:108900000101010101010101010101010101010157
+:108910000101010101010101010101010101010147
+:108920000101010101010101010101010101010137
+:108930000101010101010101010101010101010127
+:108940000101010101010101010101010101010117
+:108950000101010101010101010101010101010107
+:1089600001010101010101010101010101010101F7
+:1089700001010101010101010101010101010101E7
+:1089800001010101010101010101010101010101D7
+:1089900001010101010101010101010101010101C7
+:1089A00001010101010101010101010101010101B7
+:1089B00001010101010101010101010101010101A7
+:1089C0000101010101010101010101010101010197
+:1089D0000101010101010101010101010101010187
+:1089E0000101010101010101010101010101010177
+:1089F0000101010101010101010101010101010167
+:108A00000101010101010101010101010101010156
+:108A10000101010101010101010101010101010146
+:108A20000101010101010101010101010101010136
+:108A30000101010101010101010101010101010126
+:108A40000101010101010101010101010101010116
+:108A50000101010101010101010101010101010106
+:108A600001010101010101010101010101010101F6
+:108A700001010101010101010101010101010101E6
+:108A800001010101010101010101010101010101D6
+:108A900001010101010101010101010101010101C6
+:108AA00001010101010101010101010101010101B6
+:108AB00001010101010101010101010101010101A6
+:108AC0000101010101010101010101010101010196
+:108AD0000101010101010101010101010101010186
+:108AE0000101010101010101010101010101010176
+:108AF0000101010101010101010101010101010166
+:108B00000101010101010101010101010101010155
+:108B10000101010101010101010101010101010145
+:108B20000101010101010101010101010101010135
+:108B30000101010101010101010101010101010125
+:108B40000101010101010101010101010101010115
+:108B50000101010101010101010101010101010105
+:108B600001010101010101010101010101010101F5
+:108B700001010101010101010101010101010101E5
+:108B800001010101010101010101010101010101D5
+:108B900001010101010101010101010101010101C5
+:108BA00001010101010101010101010101010101B5
+:108BB00001010101010101010101010101010101A5
+:108BC0000101010101010101010101010101010195
+:108BD0000101010101010101010101010101010185
+:108BE0000101010101010101010101010101010175
+:108BF0000101010101010101010101010101010165
+:108C00000101010101010101010101010101010154
+:108C10000101010101010101010101010101010144
+:108C20000101010101010101010101010101010134
+:108C30000101010101010101010101010101010124
+:108C40000101010101010101010101010101010114
+:108C50000101010101010101010101010101010104
+:108C600001010101010101010101010101010101F4
+:108C700001010101010101010101010101010101E4
+:108C800001010101010101010101010101010101D4
+:108C900001010101010101010101010101010101C4
+:108CA00001010101010101010101010101010101B4
+:108CB00001010101010101010101010101010101A4
+:108CC0000101010101010101010101010101010194
+:108CD0000101010101010101010101010101010184
+:108CE0000101010101010101010101010101010174
+:108CF0000101010101010101010101010101010164
+:108D00000101010101010101010101010101010153
+:108D10000101010101010101010101010101010143
+:108D20000101010101010101010101010101010133
+:108D30000101010101010101010101010101010123
+:108D40000101010101010101010101010101010113
+:108D50000101010101010101010101010101010103
+:108D600001010101010101010101010101010101F3
+:108D700001010101010101010101010101010101E3
+:108D800001010101010101010101010101010101D3
+:108D900001010101010101010101010101010101C3
+:108DA00001010101010101010101010101010101B3
+:108DB00001010101010101010101010101010101A3
+:108DC0000101010101010101010101010101010193
+:108DD0000101010101010101010101010101010183
+:108DE0000101010101010101010101010101010173
+:108DF0000101010101010101010101010101010163
+:108E00000101010101010101010101010101010152
+:108E10000101010101010101010101010101010142
+:108E20000101010101010101010101010101010132
+:108E30000101010101010101010101010101010122
+:108E40000101010101010101010101010101010112
+:108E50000101010101010101010101010101010102
+:108E600001010101010101010101010101010101F2
+:108E700001010101010101010101010101010101E2
+:108E800001010101010101010101010101010101D2
+:108E900001010101010101010101010101010101C2
+:108EA00001010101010101010101010101010101B2
+:108EB00001010101010101010101010101010101A2
+:108EC0000101010101010101010101010101010192
+:108ED0000101010101010101010101010101010182
+:108EE0000101010101010101010101010101010172
+:108EF0000101010101010101010101010101010162
+:108F00000101010101010101010101010101010151
+:108F10000101010101010101010101010101010141
+:108F20000101010101010101010101010101010131
+:108F30000101010101010101010101010101010121
+:108F40000101010101010101010101010101010111
+:108F50000101010101010101010101010101010101
+:108F600001010101010101010101010101010101F1
+:108F700001010101010101010101010101010101E1
+:108F800001010101010101010101010101010101D1
+:108F900001010101010101010101010101010101C1
+:108FA00001010101010101010101010101010101B1
+:108FB00001010101010101010101010101010101A1
+:108FC0000101010101010101010101010101010191
+:108FD0000101010101010101010101010101010181
+:108FE0000101010101010101010101010101010171
+:108FF0000101010101010101010101010101010161
+:109000000101010101010101010101010101010150
+:109010000101010101010101010101010101010140
+:109020000101010101010101010101010101010130
+:109030000101010101010101010101010101010120
+:109040000101010101010101010101010101010110
+:109050000101010101010101010101010101010100
+:1090600001010101010101010101010101010101F0
+:1090700001010101010101010101010101010101E0
+:1090800001010101010101010101010101010101D0
+:1090900001010101010101010101010101010101C0
+:1090A00001010101010101010101010101010101B0
+:1090B00001010101010101010101010101010101A0
+:1090C0000101010101010101010101010101010190
+:1090D0000101010101010101010101010101010180
+:1090E0000101010101010101010101010101010170
+:1090F0000101010101010101010101010101010160
+:10910000010101010101010101010101010101014F
+:10911000010101010101010101010101010101013F
+:10912000010101010101010101010101010101012F
+:10913000010101010101010101010101010101011F
+:10914000010101010101010101010101010101010F
+:1091500001010101010101010101010101010101FF
+:1091600001010101010101010101010101010101EF
+:1091700001010101010101010101010101010101DF
+:1091800001010101010101010101010101010101CF
+:1091900001010101010101010101010101010101BF
+:1091A00001010101010101010101010101010101AF
+:1091B000010101010101010101010101010101019F
+:1091C000010101010101010101010101010101018F
+:1091D000010101010101010101010101010101017F
+:1091E000010101010101010101010101010101016F
+:1091F000010101010101010101010101010101015F
+:10920000010101010101010101010101010101014E
+:10921000010101010101010101010101010101013E
+:10922000010101010101010101010101010101012E
+:10923000010101010101010101010101010101011E
+:10924000010101010101010101010101010101010E
+:1092500001010101010101010101010101010101FE
+:1092600001010101010101010101010101010101EE
+:1092700001010101010101010101010101010101DE
+:1092800001010101010101010101010101010101CE
+:1092900001010101010101010101010101010101BE
+:1092A00001010101010101010101010101010101AE
+:1092B000010101010101010101010101010101019E
+:1092C000010101010101010101010101010101018E
+:1092D000010101010101010101010101010101017E
+:1092E000010101010101010101010101010101016E
+:1092F000010101010101010101010101010101015E
+:10930000010101010101010101010101010101014D
+:10931000010101010101010101010101010101013D
+:10932000010101010101010101010101010101012D
+:10933000010101010101010101010101010101011D
+:10934000010101010101010101010101010101010D
+:1093500001010101010101010101010101010101FD
+:1093600001010101010101010101010101010101ED
+:1093700001010101010101010101010101010101DD
+:1093800001010101010101010101010101010101CD
+:1093900001010101010101010101010101010101BD
+:1093A00001010101010101010101010101010101AD
+:1093B000010101010101010101010101010101019D
+:1093C000010101010101010101010101010101018D
+:1093D000010101010101010101010101010101017D
+:1093E000010101010101010101010101010101016D
+:1093F000010101010101010101010101010101015D
+:10940000010101010101010101010101010101014C
+:10941000010101010101010101010101010101013C
+:10942000010101010101010101010101010101012C
+:10943000010101010101010101010101010101011C
+:10944000010101010101010101010101010101010C
+:1094500001010101010101010101010101010101FC
+:1094600001010101010101010101010101010101EC
+:1094700001010101010101010101010101010101DC
+:1094800001010101010101010101010101010101CC
+:1094900001010101010101010101010101010101BC
+:1094A00001010101010101010101010101010101AC
+:1094B000010101010101010101010101010101019C
+:1094C000010101010101010101010101010101018C
+:1094D000010101010101010101010101010101017C
+:1094E000010101010101010101010101010101016C
+:1094F000010101010101010101010101010101015C
+:10950000010101010101010101010101010101014B
+:10951000010101010101010101010101010101013B
+:10952000010101010101010101010101010101012B
+:10953000010101010101010101010101010101011B
+:10954000010101010101010101010101010101010B
+:1095500001010101010101010101010101010101FB
+:1095600001010101010101010101010101010101EB
+:1095700001010101010101010101010101010101DB
+:1095800001010101010101010101010101010101CB
+:1095900001010101010101010101010101010101BB
+:1095A00001010101010101010101010101010101AB
+:1095B000010101010101010101010101010101019B
+:1095C000010101010101010101010101010101018B
+:1095D000010101010101010101010101010101017B
+:1095E000010101010101010101010101010101016B
+:1095F000010101010101010101010101010101015B
+:10960000010101010101010101010101010101014A
+:10961000010101010101010101010101010101013A
+:10962000010101010101010101010101010101012A
+:10963000010101010101010101010101010101011A
+:10964000010101010101010101010101010101010A
+:1096500001010101010101010101010101010101FA
+:1096600001010101010101010101010101010101EA
+:1096700001010101010101010101010101010101DA
+:1096800001010101010101010101010101010101CA
+:1096900001010101010101010101010101010101BA
+:1096A00001010101010101010101010101010101AA
+:1096B000010101010101010101010101010101019A
+:1096C000010101010101010101010101010101018A
+:1096D000010101010101010101010101010101017A
+:1096E000010101010101010101010101010101016A
+:1096F000010101010101010101010101010101015A
+:109700000101010101010101010101010101010149
+:109710000101010101010101010101010101010139
+:109720000101010101010101010101010101010129
+:109730000101010101010101010101010101010119
+:109740000101010101010101010101010101010109
+:1097500001010101010101010101010101010101F9
+:1097600001010101010101010101010101010101E9
+:1097700001010101010101010101010101010101D9
+:1097800001010101010101010101010101010101C9
+:1097900001010101010101010101010101010101B9
+:1097A00001010101010101010101010101010101A9
+:1097B0000101010101010101010101010101010199
+:1097C0000101010101010101010101010101010189
+:1097D0000101010101010101010101010101010179
+:1097E0000101010101010101010101010101010169
+:1097F0000101010101010101010101010101010159
+:109800000101010101010101010101010101010148
+:109810000101010101010101010101010101010138
+:109820000101010101010101010101010101010128
+:109830000101010101010101010101010101010118
+:109840000101010101010101010101010101010108
+:1098500001010101010101010101010101010101F8
+:1098600001010101010101010101010101010101E8
+:1098700001010101010101010101010101010101D8
+:1098800001010101010101010101010101010101C8
+:1098900001010101010101010101010101010101B8
+:1098A00001010101010101010101010101010101A8
+:1098B0000101010101010101010101010101010198
+:1098C0000101010101010101010101010101010188
+:1098D0000101010101010101010101010101010178
+:1098E0000101010101010101010101010101010168
+:1098F0000101010101010101010101010101010158
+:109900000101010101010101010101010101010147
+:109910000101010101010101010101010101010137
+:109920000101010101010101010101010101010127
+:109930000101010101010101010101010101010117
+:109940000101010101010101010101010101010107
+:1099500001010101010101010101010101010101F7
+:1099600001010101010101010101010101010101E7
+:1099700001010101010101010101010101010101D7
+:1099800001010101010101010101010101010101C7
+:1099900001010101010101010101010101010101B7
+:1099A00001010101010101010101010101010101A7
+:1099B0000101010101010101010101010101010197
+:1099C0000101010101010101010101010101010187
+:1099D0000101010101010101010101010101010177
+:1099E0000101010101010101010101010101010167
+:1099F0000101010101010101010101010101010157
+:109A00000101010101010101010101010101010146
+:109A10000101010101010101010101010101010136
+:109A20000101010101010101010101010101010126
+:109A30000101010101010101010101010101010116
+:109A40000101010101010101010101010101010106
+:109A500001010101010101010101010101010101F6
+:109A600001010101010101010101010101010101E6
+:109A700001010101010101010101010101010101D6
+:109A800001010101010101010101010101010101C6
+:109A900001010101010101010101010101010101B6
+:109AA00001010101010101010101010101010101A6
+:109AB0000101010101010101010101010101010196
+:109AC0000101010101010101010101010101010186
+:109AD0000101010101010101010101010101010176
+:109AE0000101010101010101010101010101010166
+:109AF0000101010101010101010101010101010156
+:109B00000101010101010101010101010101010145
+:109B10000101010101010101010101010101010135
+:109B20000101010101010101010101010101010125
+:109B30000101010101010101010101010101010115
+:109B40000101010101010101010101010101010105
+:109B500001010101010101010101010101010101F5
+:109B600001010101010101010101010101010101E5
+:109B700001010101010101010101010101010101D5
+:109B800001010101010101010101010101010101C5
+:109B900001010101010101010101010101010101B5
+:109BA00001010101010101010101010101010101A5
+:109BB0000101010101010101010101010101010195
+:109BC0000101010101010101010101010101010185
+:109BD0000101010101010101010101010101010175
+:109BE0000101010101010101010101010101010165
+:109BF0000101010101010101010101010101010155
+:109C00000101010101010101010101010101010144
+:109C10000101010101010101010101010101010134
+:109C20000101010101010101010101010101010124
+:109C30000101010101010101010101010101010114
+:109C40000101010101010101010101010101010104
+:109C500001010101010101010101010101010101F4
+:109C600001010101010101010101010101010101E4
+:109C700001010101010101010101010101010101D4
+:109C800001010101010101010101010101010101C4
+:109C900001010101010101010101010101010101B4
+:109CA00001010101010101010101010101010101A4
+:109CB0000101010101010101010101010101010194
+:109CC0000101010101010101010101010101010184
+:109CD0000101010101010101010101010101010174
+:109CE0000101010101010101010101010101010164
+:109CF0000101010101010101010101010101010154
+:109D00000101010101010101010101010101010143
+:109D10000101010101010101010101010101010133
+:109D20000101010101010101010101010101010123
+:109D30000101010101010101010101010101010113
+:109D40000101010101010101010101010101010103
+:109D500001010101010101010101010101010101F3
+:109D600001010101010101010101010101010101E3
+:109D700001010101010101010101010101010101D3
+:109D800001010101010101010101010101010101C3
+:109D900001010101010101010101010101010101B3
+:109DA00001010101010101010101010101010101A3
+:109DB0000101010101010101010101010101010193
+:109DC0000101010101010101010101010101010183
+:109DD0000101010101010101010101010101010173
+:109DE0000101010101010101010101010101010163
+:109DF0000101010101010101010101010101010153
+:109E00000101010101010101010101010101010142
+:109E10000101010101010101010101010101010132
+:109E20000101010101010101010101010101010122
+:109E30000101010101010101010101010101010112
+:109E40000101010101010101010101010101010102
+:109E500001010101010101010101010101010101F2
+:109E600001010101010101010101010101010101E2
+:109E700001010101010101010101010101010101D2
+:109E800001010101010101010101010101010101C2
+:109E900001010101010101010101010101010101B2
+:109EA00001010101010101010101010101010101A2
+:109EB0000101010101010101010101010101010192
+:109EC0000101010101010101010101010101010182
+:109ED0000101010101010101010101010101010172
+:109EE0000101010101010101010101010101010162
+:109EF0000101010101010101010101010101010152
+:109F00000101010101010101010101010101010141
+:109F10000101010101010101010101010101010131
+:109F20000101010101010101010101010101010121
+:109F30000101010101010101010101010101010111
+:109F40000101010101010101010101010101010101
+:109F500001010101010101010101010101010101F1
+:109F600001010101010101010101010101010101E1
+:109F700001010101010101010101010101010101D1
+:109F800001010101010101010101010101010101C1
+:109F900001010101010101010101010101010101B1
+:109FA00001010101010101010101010101010101A1
+:109FB0000101010101010101010101010101010191
+:109FC0000101010101010101010101010101010181
+:109FD0000101010101010101010101010101010171
+:109FE0000101010101010101010101010101010161
+:109FF0000101010101010101010101010101010151
+:10A000000101010101010101010101010101010140
+:10A010000101010101010101010101010101010130
+:10A020000101010101010101010101010101010120
+:10A030000101010101010101010101010101010110
+:10A040000101010101010101010101010101010100
+:10A0500001010101010101010101010101010101F0
+:10A0600001010101010101010101010101010101E0
+:10A0700001010101010101010101010101010101D0
+:10A0800001010101010101010101010101010101C0
+:10A0900001010101010101010101010101010101B0
+:10A0A00001010101010101010101010101010101A0
+:10A0B0000101010101010101010101010101010190
+:10A0C0000101010101010101010101010101010180
+:10A0D0000101010101010101010101010101010170
+:10A0E0000101010101010101010101010101010160
+:10A0F0000101010101010101010101010101010150
+:10A10000010101010101010101010101010101013F
+:10A11000010101010101010101010101010101012F
+:10A12000010101010101010101010101010101011F
+:10A13000010101010101010101010101010101010F
+:10A1400001010101010101010101010101010101FF
+:10A1500001010101010101010101010101010101EF
+:10A1600001010101010101010101010101010101DF
+:10A1700001010101010101010101010101010101CF
+:10A1800001010101010101010101010101010101BF
+:10A1900001010101010101010101010101010101AF
+:10A1A000010101010101010101010101010101019F
+:10A1B000010101010101010101010101010101018F
+:10A1C000010101010101010101010101010101017F
+:10A1D000010101010101010101010101010101016F
+:10A1E000010101010101010101010101010101015F
+:10A1F000010101010101010101010101010101014F
+:10A20000010101010101010101010101010101013E
+:10A21000010101010101010101010101010101012E
+:10A22000010101010101010101010101010101011E
+:10A23000010101010101010101010101010101010E
+:10A2400001010101010101010101010101010101FE
+:10A2500001010101010101010101010101010101EE
+:10A2600001010101010101010101010101010101DE
+:10A2700001010101010101010101010101010101CE
+:10A2800001010101010101010101010101010101BE
+:10A2900001010101010101010101010101010101AE
+:10A2A000010101010101010101010101010101019E
+:10A2B000010101010101010101010101010101018E
+:10A2C000010101010101010101010101010101017E
+:10A2D000010101010101010101010101010101016E
+:10A2E000010101010101010101010101010101015E
+:10A2F000010101010101010101010101010101014E
+:10A30000010101010101010101010101010101013D
+:10A31000010101010101010101010101010101012D
+:10A32000010101010101010101010101010101011D
+:10A33000010101010101010101010101010101010D
+:10A3400001010101010101010101010101010101FD
+:10A3500001010101010101010101010101010101ED
+:10A3600001010101010101010101010101010101DD
+:10A3700001010101010101010101010101010101CD
+:10A3800001010101010101010101010101010101BD
+:10A3900001010101010101010101010101010101AD
+:10A3A000010101010101010101010101010101019D
+:10A3B000010101010101010101010101010101018D
+:10A3C000010101010101010101010101010101017D
+:10A3D000010101010101010101010101010101016D
+:10A3E000010101010101010101010101010101015D
+:10A3F000010101010101010101010101010101014D
+:10A40000010101010101010101010101010101013C
+:10A41000010101010101010101010101010101012C
+:10A42000010101010101010101010101010101011C
+:10A43000010101010101010101010101010101010C
+:10A4400001010101010101010101010101010101FC
+:10A4500001010101010101010101010101010101EC
+:10A4600001010101010101010101010101010101DC
+:10A4700001010101010101010101010101010101CC
+:10A4800001010101010101010101010101010101BC
+:10A4900001010101010101010101010101010101AC
+:10A4A000010101010101010101010101010101019C
+:10A4B000010101010101010101010101010101018C
+:10A4C000010101010101010101010101010101017C
+:10A4D000010101010101010101010101010101016C
+:10A4E000010101010101010101010101010101015C
+:10A4F000010101010101010101010101010101014C
+:10A50000010101010101010101010101010101013B
+:10A51000010101010101010101010101010101012B
+:10A52000010101010101010101010101010101011B
+:10A53000010101010101010101010101010101010B
+:10A5400001010101010101010101010101010101FB
+:10A5500001010101010101010101010101010101EB
+:10A5600001010101010101010101010101010101DB
+:10A5700001010101010101010101010101010101CB
+:10A5800001010101010101010101010101010101BB
+:10A5900001010101010101010101010101010101AB
+:10A5A000010101010101010101010101010101019B
+:10A5B000010101010101010101010101010101018B
+:10A5C000010101010101010101010101010101017B
+:10A5D000010101010101010101010101010101016B
+:10A5E000010101010101010101010101010101015B
+:10A5F000010101010101010101010101010101014B
+:10A60000010101010101010101010101010101013A
+:10A61000010101010101010101010101010101012A
+:10A62000010101010101010101010101010101011A
+:10A63000010101010101010101010101010101010A
+:10A6400001010101010101010101010101010101FA
+:10A6500001010101010101010101010101010101EA
+:10A6600001010101010101010101010101010101DA
+:10A6700001010101010101010101010101010101CA
+:10A6800001010101010101010101010101010101BA
+:10A6900001010101010101010101010101010101AA
+:10A6A000010101010101010101010101010101019A
+:10A6B000010101010101010101010101010101018A
+:10A6C000010101010101010101010101010101017A
+:10A6D000010101010101010101010101010101016A
+:10A6E000010101010101010101010101010101015A
+:10A6F000010101010101010101010101010101004B
+:10A700000000000000000000000000000000000049
+:10A710000000000000000000000000000000000039
+:10A720000000000000000000000000000000000029
+:10A730000000000000000000000000000000000019
+:10A740000000000000000000000000000000000009
+:10A7500000000000000000000000000000000000F9
+:10A7600000000000000000000000000000000000E9
+:10A7700000000000000000000000000000000000D9
+:10A7800000000000000000000000000000000000C9
+:10A7900000000000000000000000000000000000B9
+:10A7A00000000000000000000000000000000000A9
+:10A7B0000000000000000000000000000000000099
+:10A7C0000000000000000000000000000000000089
+:10A7D0000000000000000000000000000000000079
+:10A7E0000000000000000000000000000000000069
+:10A7F0000000000000000000000000000000000059
+:10A800000000000000000000000000000000000048
+:10A810000000000000000000000000000000000038
+:10A820000000000000000000000000000000000028
+:10A830000000000000000000000000000000000018
+:10A840000000000000000000000000000000000008
+:10A8500000000000000000000000000000000000F8
+:10A8600000000000000000000000000000000000E8
+:10A8700000000000000000000000000000000000D8
+:10A8800000000000000000000000000000000000C8
+:10A8900000000000000000000000000000000000B8
+:10A8A00000000000000000000000000000000000A8
+:10A8B0000000000000000000000000000000000098
+:10A8C0000000000000000000000000000000000088
+:10A8D0000000000000000000000000000000000078
+:10A8E0000000000000000000000000000000000068
+:10A8F0000000000000000000000000000000000058
+:10A900000000000000000000000000000000000047
+:10A910000000000000000000000000000000000037
+:10A920000000000000000000000000000000000027
+:10A930000000000000000000000000000000000017
+:10A940000000000000000000000000000000000007
+:10A9500000000000000000000000000000000000F7
+:10A9600000000000000000000000000000000000E7
+:10A9700000000000000000000000000000000000D7
+:10A9800000000000000000000000000000000000C7
+:10A9900000000000000000000000000000000000B7
+:10A9A00000000000000000000000000000000000A7
+:10A9B0000000000000000000000000000000000097
+:10A9C0000000000000000000000000000000000087
+:10A9D0000000000000000000000000000000000077
+:10A9E0000000000000000000000000000000000067
+:10A9F0000000000000000000000000000000000057
+:10AA00000000000000000000000000000000000046
+:10AA10000000000000000000000000000000000036
+:10AA20000000000000000000000000000000000026
+:10AA30000000000000000000000000000000000016
+:10AA40000000000000000000000000000000000006
+:10AA500000000000000000000000000000000000F6
+:10AA600000000000000000000000000000000000E6
+:10AA700000000000000000000000000000000000D6
+:10AA800000000000000000000000000000000000C6
+:10AA900000000000000000000000000000000000B6
+:10AAA00000000000000000000000000000000000A6
+:10AAB0000000000000000000000000000000000096
+:10AAC0000000000000000000000000000000000086
+:10AAD0000000000000000000000000000000000076
+:10AAE0000000000000000000000000000000000066
+:10AAF0000000000000000000000000000000000254
+:10AB00000202020202020202020202020202020225
+:10AB10000202020202020202020202020202020215
+:10AB20000202020202020202020202020202020205
+:10AB300002020202020202020202020202020202F5
+:10AB400002020202020202020202020202020202E5
+:10AB500002020202020202020202020202020202D5
+:10AB600002020202020202020202020202020202C5
+:10AB700002020202020202020202020202020202B5
+:10AB800002020202020202020202020202020202A5
+:10AB90000202020202020202020202020202020295
+:10ABA0000202020202020202020202020202020285
+:10ABB0000202020202020202020202020202020275
+:10ABC0000202020202020202020202020202020265
+:10ABD0000202020202020202020202020202020255
+:10ABE0000202020202020202020202020202020245
+:10ABF0000202020202020202020202020202020235
+:10AC00000202020202020202020202020202020224
+:10AC10000202020202020202020202020202020214
+:10AC20000202020202020202020202020202020204
+:10AC300002020202020202020202020202020202F4
+:10AC400002020202020202020202020202020202E4
+:10AC500002020202020202020202020202020202D4
+:10AC600002020202020202020202020202020202C4
+:10AC700002020202020202020202020202020202B4
+:10AC800002020202020202020202020202020202A4
+:10AC90000202020202020202020202020202020294
+:10ACA0000202020202020202020202020202020284
+:10ACB0000202020202020202020202020202020274
+:10ACC0000202020202020202020202020202020264
+:10ACD0000202020202020202020202020202020254
+:10ACE0000202020202020202020202020202020244
+:10ACF0000202020202020202020202020202020234
+:10AD00000202020202020202020202020202020223
+:10AD10000202020202020202020202020202020213
+:10AD20000202020202020202020202020202020203
+:10AD300002020202020202020202020202020202F3
+:10AD400002020202020202020202020202020202E3
+:10AD500002020202020202020202020202020202D3
+:10AD600002020202020202020202020202020202C3
+:10AD700002020202020202020202020202020202B3
+:10AD800002020202020202020202020202020202A3
+:10AD90000202020202020202020202020202020293
+:10ADA0000202020202020202020202020202020283
+:10ADB0000202020202020202020202020202020273
+:10ADC0000202020202020202020202020202020263
+:10ADD0000202020202020202020202020202020253
+:10ADE0000202020202020202020202020202020243
+:10ADF0000202020202020202020202020202020233
+:10AE00000202020202020202020202020202020222
+:10AE10000202020202020202020202020202020212
+:10AE20000202020202020202020202020202020202
+:10AE300002020202020202020202020202020202F2
+:10AE400002020202020202020202020202020202E2
+:10AE500002020202020202020202020202020202D2
+:10AE600002020202020202020202020202020202C2
+:10AE700002020202020202020202020202020202B2
+:10AE800002020202020202020202020202020202A2
+:10AE90000202020202020202020202020202020292
+:10AEA0000202020202020202020202020202020282
+:10AEB0000202020202020202020202020202020272
+:10AEC0000202020202020202020202020202020262
+:10AED0000202020202020202020202020202020252
+:10AEE0000202020202020202020202020202020242
+:10AEF0000202020202020202020202020202020232
+:10AF00000202020202020202020202020202020221
+:10AF10000202020202020202020202020202020211
+:10AF20000202020202020202020202020202020201
+:10AF300002020202020202020202020202020202F1
+:10AF400002020202020202020202020202020202E1
+:10AF500002020202020202020202020202020202D1
+:10AF600002020202020202020202020202020202C1
+:10AF700002020202020202020202020202020202B1
+:10AF800002020202020202020202020202020202A1
+:10AF90000202020202020202020202020202020291
+:10AFA0000202020202020202020202020202020281
+:10AFB0000202020202020202020202020202020271
+:10AFC0000202020202020202020202020202020261
+:10AFD0000202020202020202020202020202020251
+:10AFE0000202020202020202020202020202020241
+:10AFF0000202020202020202020202020202020231
+:10B000000202020202020202020202020202020220
+:10B010000202020202020202020202020202020210
+:10B020000202020202020202020202020202020200
+:10B0300002020202020202020202020202020202F0
+:10B0400002020202020202020202020202020202E0
+:10B0500002020202020202020202020202020202D0
+:10B0600002020202020202020202020202020202C0
+:10B0700002020202020202020202020202020202B0
+:10B0800002020202020202020202020202020202A0
+:10B090000202020202020202020202020202020290
+:10B0A0000202020202020202020202020202020280
+:10B0B0000202020202020202020202020202020270
+:10B0C0000202020202020202020202020202020260
+:10B0D0000202020202020202020202020202020250
+:10B0E0000202020202020202020202020202020240
+:10B0F0000202020202020202020202020202020230
+:10B10000020202020202020202020202020202021F
+:10B11000020202020202020202020202020202020F
+:10B1200002020202020202020202020202020202FF
+:10B1300002020202020202020202020202020202EF
+:10B1400002020202020202020202020202020202DF
+:10B1500002020202020202020202020202020202CF
+:10B1600002020202020202020202020202020202BF
+:10B1700002020202020202020202020202020202AF
+:10B18000020202020202020202020202020202029F
+:10B19000020202020202020202020202020202028F
+:10B1A000020202020202020202020202020202027F
+:10B1B000020202020202020202020202020202026F
+:10B1C000020202020202020202020202020202025F
+:10B1D000020202020202020202020202020202024F
+:10B1E000020202020202020202020202020202023F
+:10B1F000020202020202020202020202020202022F
+:10B20000020202020202020202020202020202021E
+:10B21000020202020202020202020202020202020E
+:10B2200002020202020202020202020202020202FE
+:10B2300002020202020202020202020202020202EE
+:10B2400002020202020202020202020202020202DE
+:10B2500002020202020202020202020202020202CE
+:10B2600002020202020202020202020202020202BE
+:10B2700002020202020202020202020202020202AE
+:10B28000020202020202020202020202020202029E
+:10B29000020202020202020202020202020202028E
+:10B2A000020202020202020202020202020202027E
+:10B2B000020202020202020202020202020202026E
+:10B2C000020202020202020202020202020202025E
+:10B2D000020202020202020202020202020202024E
+:10B2E000020202020202020202020202020202023E
+:10B2F000020202020202020202020202020202022E
+:10B30000020202020202020202020202020202021D
+:10B31000020202020202020202020202020202020D
+:10B3200002020202020202020202020202020202FD
+:10B3300002020202020202020202020202020202ED
+:10B3400002020202020202020202020202020202DD
+:10B3500002020202020202020202020202020202CD
+:10B3600002020202020202020202020202020202BD
+:10B3700002020202020202020202020202020202AD
+:10B38000020202020202020202020202020202029D
+:10B39000020202020202020202020202020202028D
+:10B3A000020202020202020202020202020202027D
+:10B3B000020202020202020202020202020202026D
+:10B3C000020202020202020202020202020202025D
+:10B3D000020202020202020202020202020202024D
+:10B3E000020202020202020202020202020202023D
+:10B3F000020202020202020202020202020202022D
+:10B40000020202020202020202020202020202021C
+:10B41000020202020202020202020202020202020C
+:10B4200002020202020202020202020202020202FC
+:10B4300002020202020202020202020202020202EC
+:10B4400002020202020202020202020202020202DC
+:10B4500002020202020202020202020202020202CC
+:10B4600002020202020202020202020202020202BC
+:10B4700002020202020202020202020202020202AC
+:10B48000020202020202020202020202020202029C
+:10B49000020202020202020202020202020202028C
+:10B4A000020202020202020202020202020202027C
+:10B4B000020202020202020202020202020202026C
+:10B4C000020202020202020202020202020202025C
+:10B4D000020202020202020202020202020202024C
+:10B4E000020202020202020202020202020202023C
+:10B4F000020202020202020202020202020202022C
+:10B50000020202020202020202020202020202021B
+:10B51000020202020202020202020202020202020B
+:10B5200002020202020202020202020202020202FB
+:10B5300002020202020202020202020202020202EB
+:10B5400002020202020202020202020202020202DB
+:10B5500002020202020202020202020202020202CB
+:10B5600002020202020202020202020202020202BB
+:10B5700002020202020202020202020202020202AB
+:10B58000020202020202020202020202020202029B
+:10B59000020202020202020202020202020202028B
+:10B5A000020202020202020202020202020202027B
+:10B5B000020202020202020202020202020202026B
+:10B5C000020202020202020202020202020202025B
+:10B5D000020202020202020202020202020202024B
+:10B5E000020202020202020202020202020202023B
+:10B5F000020202020202020202020202020202022B
+:10B60000020202020202020202020202020202021A
+:10B61000020202020202020202020202020202020A
+:10B6200002020202020202020202020202020202FA
+:10B6300002020202020202020202020202020202EA
+:10B6400002020202020202020202020202020202DA
+:10B6500002020202020202020202020202020202CA
+:10B6600002020202020202020202020202020202BA
+:10B6700002020202020202020202020202020202AA
+:10B68000020202020202020202020202020202029A
+:10B69000020202020202020202020202020202028A
+:10B6A000020202020202020202020202020202027A
+:10B6B000020202020202020202020202020202026A
+:10B6C000020202020202020202020202020202025A
+:10B6D000020202020202020202020202020202024A
+:10B6E000020202020202020202020202020202023A
+:10B6F000020202020202020202020202020202022A
+:10B700000202020202020202020202020202020219
+:10B710000202020202020202020202020202020209
+:10B7200002020202020202020202020202020202F9
+:10B7300002020202020202020202020202020202E9
+:10B7400002020202020202020202020202020202D9
+:10B7500002020202020202020202020202020202C9
+:10B7600002020202020202020202020202020202B9
+:10B7700002020202020202020202020202020202A9
+:10B780000202020202020202020202020202020299
+:10B790000202020202020202020202020202020289
+:10B7A0000202020202020202020202020202020279
+:10B7B0000202020202020202020202020202020269
+:10B7C0000202020202020202020202020202020259
+:10B7D0000202020202020202020202020202020249
+:10B7E0000202020202020202020202020202020239
+:10B7F0000202020202020202020202020202020229
+:10B800000202020202020202020202020202020218
+:10B810000202020202020202020202020202020208
+:10B8200002020202020202020202020202020202F8
+:10B8300002020202020202020202020202020202E8
+:10B8400002020202020202020202020202020202D8
+:10B8500002020202020202020202020202020202C8
+:10B8600002020202020202020202020202020202B8
+:10B8700002020202020202020202020202020202A8
+:10B880000202020202020202020202020202020298
+:10B890000202020202020202020202020202020288
+:10B8A0000202020202020202020202020202020278
+:10B8B0000202020202020202020202020202020268
+:10B8C0000202020202020202020202020202020258
+:10B8D0000202020202020202020202020202020248
+:10B8E0000202020202020202020202020202020238
+:10B8F0000202020202020202020202020202020228
+:10B900000202020202020202020202020202020217
+:10B910000202020202020202020202020202020207
+:10B9200002020202020202020202020202020202F7
+:10B9300002020202020202020202020202020202E7
+:10B9400002020202020202020202020202020202D7
+:10B9500002020202020202020202020202020202C7
+:10B9600002020202020202020202020202020202B7
+:10B9700002020202020202020202020202020202A7
+:10B980000202020202020202020202020202020297
+:10B990000202020202020202020202020202020287
+:10B9A0000202020202020202020202020202020277
+:10B9B0000202020202020202020202020202020267
+:10B9C0000202020202020202020202020202020257
+:10B9D0000202020202020202020202020202020247
+:10B9E0000202020202020202020202020202020237
+:10B9F0000202020202020202020202020202020227
+:10BA00000202020202020202020202020202020216
+:10BA10000202020202020202020202020202020206
+:10BA200002020202020202020202020202020202F6
+:10BA300002020202020202020202020202020202E6
+:10BA400002020202020202020202020202020202D6
+:10BA500002020202020202020202020202020202C6
+:10BA600002020202020202020202020202020202B6
+:10BA700002020202020202020202020202020202A6
+:10BA80000202020202020202020202020202020296
+:10BA90000202020202020202020202020202020286
+:10BAA0000202020202020202020202020202020276
+:10BAB0000202020202020202020202020202020266
+:10BAC0000202020202020202020202020202020256
+:10BAD0000202020202020202020202020202020246
+:10BAE0000202020202020202020202020202020236
+:10BAF0000202020202020202020202020202020226
+:10BB00000202020202020202020202020202020215
+:10BB10000202020202020202020202020202020205
+:10BB200002020202020202020202020202020202F5
+:10BB300002020202020202020202020202020202E5
+:10BB400002020202020202020202020202020202D5
+:10BB500002020202020202020202020202020202C5
+:10BB600002020202020202020202020202020202B5
+:10BB700002020202020202020202020202020202A5
+:10BB80000202020202020202020202020202020295
+:10BB90000202020202020202020202020202020285
+:10BBA0000202020202020202020202020202020275
+:10BBB0000202020202020202020202020202020265
+:10BBC0000202020202020202020202020202020255
+:10BBD0000202020202020202020202020202020245
+:10BBE0000202020202020202020202020202020235
+:10BBF0000202020202020202020202020202020225
+:10BC00000202020202020202020202020202020214
+:10BC10000202020202020202020202020202020204
+:10BC200002020202020202020202020202020202F4
+:10BC300002020202020202020202020202020202E4
+:10BC400002020202020202020202020202020202D4
+:10BC500002020202020202020202020202020202C4
+:10BC600002020202020202020202020202020202B4
+:10BC700002020202020202020202020202020202A4
+:10BC80000202020202020202020202020202020294
+:10BC90000202020202020202020202020202020284
+:10BCA0000202020202020202020202020202020274
+:10BCB0000202020202020202020202020202020264
+:10BCC0000202020202020202020202020202020254
+:10BCD0000202020202020202020202020202020244
+:10BCE0000202020202020202020202020202020234
+:10BCF0000202020202020202020202020202020224
+:10BD00000202020202020202020202020202020213
+:10BD10000202020202020202020202020202020203
+:10BD200002020202020202020202020202020202F3
+:10BD300002020202020202020202020202020202E3
+:10BD400002020202020202020202020202020202D3
+:10BD500002020202020202020202020202020202C3
+:10BD600002020202020202020202020202020202B3
+:10BD700002020202020202020202020202020202A3
+:10BD80000202020202020202020202020202020293
+:10BD90000202020202020202020202020202020283
+:10BDA0000202020202020202020202020202020273
+:10BDB0000202020202020202020202020202020263
+:10BDC0000202020202020202020202020202020253
+:10BDD0000202020202020202020202020202020243
+:10BDE0000202020202020202020202020202020233
+:10BDF0000202020202020202020202020202020223
+:10BE00000202020202020202020202020202020212
+:10BE10000202020202020202020202020202020202
+:10BE200002020202020202020202020202020202F2
+:10BE300002020202020202020202020202020202E2
+:10BE400002020202020202020202020202020202D2
+:10BE500002020202020202020202020202020202C2
+:10BE600002020202020202020202020202020202B2
+:10BE700002020202020202020202020202020202A2
+:10BE80000202020202020202020202020202020292
+:10BE90000202020202020202020202020202020282
+:10BEA0000202020202020202020202020202020272
+:10BEB0000202020202020202020202020202020262
+:10BEC0000202020202020202020202020202020252
+:10BED0000202020202020202020202020202020242
+:10BEE0000202020202020202020202020202020232
+:10BEF0000202020202020202020202020202020222
+:10BF00000202020202020202020202020202020211
+:10BF10000202020202020202020202020202020201
+:10BF200002020202020202020202020202020202F1
+:10BF300002020202020202020202020202020202E1
+:10BF400002020202020202020202020202020202D1
+:10BF500002020202020202020202020202020202C1
+:10BF600002020202020202020202020202020202B1
+:10BF700002020202020202020202020202020202A1
+:10BF80000202020202020202020202020202020291
+:10BF90000202020202020202020202020202020281
+:10BFA0000202020202020202020202020202020271
+:10BFB0000202020202020202020202020202020261
+:10BFC0000202020202020202020202020202020251
+:10BFD0000202020202020202020202020202020241
+:10BFE0000202020202020202020202020202020231
+:10BFF0000202020202020202020202020202020221
+:10C000000202020202020202020202020202020210
+:10C010000202020202020202020202020202020200
+:10C0200002020202020202020202020202020202F0
+:10C0300002020202020202020202020202020202E0
+:10C0400002020202020202020202020202020202D0
+:10C0500002020202020202020202020202020202C0
+:10C0600002020202020202020202020202020202B0
+:10C0700002020202020202020202020202020202A0
+:10C080000202020202020202020202020202020290
+:10C090000202020202020202020202020202020280
+:10C0A0000202020202020202020202020202020270
+:10C0B0000202020202020202020202020202020260
+:10C0C0000202020202020202020202020202020250
+:10C0D0000202020202020202020202020202020240
+:10C0E0000202020202020202020202020202020230
+:10C0F0000202020202020202020202020202020220
+:10C10000020202020202020202020202020202020F
+:10C1100002020202020202020202020202020202FF
+:10C1200002020202020202020202020202020202EF
+:10C1300002020202020202020202020202020202DF
+:10C1400002020202020202020202020202020202CF
+:10C1500002020202020202020202020202020202BF
+:10C1600002020202020202020202020202020202AF
+:10C17000020202020202020202020202020202029F
+:10C18000020202020202020202020202020202028F
+:10C19000020202020202020202020202020202027F
+:10C1A000020202020202020202020202020202026F
+:10C1B000020202020202020202020202020202025F
+:10C1C000020202020202020202020202020202024F
+:10C1D000020202020202020202020202020202023F
+:10C1E000020202020202020202020202020202022F
+:10C1F000020202020202020202020202020202021F
+:10C20000020202020202020202020202020202020E
+:10C2100002020202020202020202020202020202FE
+:10C2200002020202020202020202020202020202EE
+:10C2300002020202020202020202020202020202DE
+:10C2400002020202020202020202020202020202CE
+:10C2500002020202020202020202020202020202BE
+:10C2600002020202020202020202020202020202AE
+:10C27000020202020202020202020202020202029E
+:10C28000020202020202020202020202020202028E
+:10C29000020202020202020202020202020202027E
+:10C2A000020202020202020202020202020202026E
+:10C2B000020202020202020202020202020202025E
+:10C2C000020202020202020202020202020202024E
+:10C2D000020202020202020202020202020202023E
+:10C2E000020202020202020202020202020202022E
+:10C2F000020202020202020202020202020202021E
+:10C30000020202020202020202020202020202020D
+:10C3100002020202020202020202020202020202FD
+:10C3200002020202020202020202020202020202ED
+:10C3300002020202020202020202020202020202DD
+:10C3400002020202020202020202020202020202CD
+:10C3500002020202020202020202020202020202BD
+:10C3600002020202020202020202020202020202AD
+:10C37000020202020202020202020202020202029D
+:10C38000020202020202020202020202020202028D
+:10C39000020202020202020202020202020202027D
+:10C3A000020202020202020202020202020202026D
+:10C3B000020202020202020202020202020202025D
+:10C3C000020202020202020202020202020202024D
+:10C3D000020202020202020202020202020202023D
+:10C3E000020202020202020202020202020202022D
+:10C3F000020202020202020202020202020202021D
+:10C40000020202020202020202020202020202020C
+:10C4100002020202020202020202020202020202FC
+:10C4200002020202020202020202020202020202EC
+:10C4300002020202020202020202020202020202DC
+:10C4400002020202020202020202020202020202CC
+:10C4500002020202020202020202020202020202BC
+:10C4600002020202020202020202020202020202AC
+:10C47000020202020202020202020202020202029C
+:10C48000020202020202020202020202020202028C
+:10C49000020202020202020202020202020202027C
+:10C4A000020202020202020202020202020202026C
+:10C4B000020202020202020202020202020202025C
+:10C4C000020202020202020202020202020202024C
+:10C4D000020202020202020202020202020202023C
+:10C4E000020202020202020202020202020202022C
+:10C4F000020202020202020202020202020202021C
+:10C50000020202020202020202020202020202020B
+:10C5100002020202020202020202020202020202FB
+:10C5200002020202020202020202020202020202EB
+:10C5300002020202020202020202020202020202DB
+:10C5400002020202020202020202020202020202CB
+:10C5500002020202020202020202020202020202BB
+:10C5600002020202020202020202020202020202AB
+:10C57000020202020202020202020202020202029B
+:10C58000020202020202020202020202020202028B
+:10C59000020202020202020202020202020202027B
+:10C5A000020202020202020202020202020202026B
+:10C5B000020202020202020202020202020202025B
+:10C5C000020202020202020202020202020202024B
+:10C5D000020202020202020202020202020202023B
+:10C5E000020202020202020202020202020202022B
+:10C5F000020202020202020202020202020202021B
+:10C60000020202020202020202020202020202020A
+:10C6100002020202020202020202020202020202FA
+:10C6200002020202020202020202020202020202EA
+:10C6300002020202020202020202020202020202DA
+:10C6400002020202020202020202020202020202CA
+:10C6500002020202020202020202020202020202BA
+:10C6600002020202020202020202020202020202AA
+:10C67000020202020202020202020202020202029A
+:10C68000020202020202020202020202020202028A
+:10C69000020202020202020202020202020202027A
+:10C6A000020202020202020202020202020202026A
+:10C6B000020202020202020202020202020202025A
+:10C6C000020202020202020202020202020202024A
+:10C6D000020202020202020202020202020202023A
+:10C6E000020202020202020202020202020202022A
+:10C6F000020202020202020202020202020202021A
+:10C700000202020202020202020202020202020209
+:10C7100002020202020202020202020202020202F9
+:10C7200002020202020202020202020202020202E9
+:10C7300002020202020202020202020202020202D9
+:10C7400002020202020202020202020202020202C9
+:10C7500002020202020202020202020202020202B9
+:10C7600002020202020202020202020202020202A9
+:10C770000202020202020202020202020202020299
+:10C780000202020202020202020202020202020289
+:10C790000202020202020202020202020202020279
+:10C7A0000202020202020202020202020202020269
+:10C7B0000202020202020202020202020202020259
+:10C7C0000202020202020202020202020202020249
+:10C7D0000202020202020202020202020202020239
+:10C7E0000202020202020202020202020202020229
+:10C7F0000202020202020202020202020202020219
+:10C800000202020202020202020202020202020208
+:10C8100002020202020202020202020202020202F8
+:10C8200002020202020202020202020202020202E8
+:10C8300002020202020202020202020202020202D8
+:10C8400002020202020202020202020202020202C8
+:10C8500002020202020202020202020202020202B8
+:10C8600002020202020202020202020202020202A8
+:10C870000202020202020202020202020202020298
+:10C880000202020202020202020202020202020288
+:10C890000202020202020202020202020202020278
+:10C8A0000202020202020202020202020202020268
+:10C8B0000202020202020202020202020202020258
+:10C8C0000202020202020202020202020202020248
+:10C8D0000202020202020202020202020202020238
+:10C8E0000202020202020202020202020202020228
+:10C8F0000202020202020202020202020202020218
+:10C900000202020202020202020202020202020207
+:10C9100002020202020202020202020202020202F7
+:10C9200002020202020202020202020202020202E7
+:10C9300002020202020202020202020202020202D7
+:10C9400002020202020202020202020202020202C7
+:10C9500002020202020202020202020202020202B7
+:10C9600002020202020202020202020202020202A7
+:10C970000202020202020202020202020202020297
+:10C980000202020202020202020202020202020287
+:10C990000202020202020202020202020202020277
+:10C9A0000202020202020202020202020202020267
+:10C9B0000202020202020202020202020202020257
+:10C9C0000202020202020202020202020202020247
+:10C9D0000202020202020202020202020202020237
+:10C9E0000202020202020202020202020202020227
+:10C9F0000202020202020202020202020202020217
+:10CA00000202020202020202020202020202020206
+:10CA100002020202020202020202020202020202F6
+:10CA200002020202020202020202020202020202E6
+:10CA300002020202020202020202020202020202D6
+:10CA400002020202020202020202020202020202C6
+:10CA500002020202020202020202020202020202B6
+:10CA600002020202020202020202020202020202A6
+:10CA70000202020202020202020202020202020296
+:10CA80000202020202020202020202020202020286
+:10CA90000202020202020202020202020202020276
+:10CAA0000202020202020202020202020202020266
+:10CAB0000202020202020202020202020202020256
+:10CAC0000202020202020202020202020202020246
+:10CAD0000202020202020202020202020202020236
+:10CAE0000202020202020202020202020202020226
+:10CAF0000202020202020202020202020202020216
+:10CB00000202020202020202020202020202020205
+:10CB100002020202020202020202020202020202F5
+:10CB200002020202020202020202020202020202E5
+:10CB300002020202020202020202020202020202D5
+:10CB400002020202020202020202020202020202C5
+:10CB500002020202020202020202020202020202B5
+:10CB600002020202020202020202020202020202A5
+:10CB70000202020202020202020202020202020295
+:10CB80000202020202020202020202020202020285
+:10CB90000202020202020202020202020202020275
+:10CBA0000202020202020202020202020202020265
+:10CBB0000202020202020202020202020202020255
+:10CBC0000202020202020202020202020202020245
+:10CBD0000202020202020202020202020202020235
+:10CBE0000202020202020202020202020202020225
+:10CBF0000202020202020202020202020202020017
+:10CC00000000000000000000000000000000000024
+:10CC10000000000000000000000000000000000014
+:10CC20000000000000000000000000000000000004
+:10CC300000000000000000000000000000000000F4
+:10CC400000000000000000000000000000000000E4
+:10CC500000000000000000000000000000000000D4
+:10CC600000000000000000000000000000000000C4
+:10CC700000000000000000000000000000000000B4
+:10CC800000000000000000000000000000000000A4
+:10CC90000000000000000000000000000000000094
+:10CCA0000000000000000000000000000000000084
+:10CCB0000000000000000000000000000000000074
+:10CCC0000000000000000000000000000000000064
+:10CCD0000000000000000000000000000000000054
+:10CCE0000000000000000000000000000000000044
+:10CCF0000000000000000000000000000000000034
+:10CD00000000000000000000000000000000000023
+:10CD10000000000000000000000000000000000013
+:10CD20000000000000000000000000000000000003
+:10CD300000000000000000000000000000000000F3
+:10CD400000000000000000000000000000000000E3
+:10CD500000000000000000000000000000000000D3
+:10CD600000000000000000000000000000000000C3
+:10CD700000000000000000000000000000000000B3
+:10CD800000000000000000000000000000000000A3
+:10CD90000000000000000000000000000000000093
+:10CDA0000000000000000000000000000000000083
+:10CDB0000000000000000000000000000000000073
+:10CDC0000000000000000000000000000000000063
+:10CDD0000000000000000000000000000000000053
+:10CDE0000000000000000000000000000000000043
+:10CDF0000000000000000000000000000000000033
+:10CE00000000000000000000000000000000000022
+:10CE10000000000000000000000000000000000012
+:10CE20000000000000000000000000000000000002
+:10CE300000000000000000000000000000000000F2
+:10CE400000000000000000000000000000000000E2
+:10CE500000000000000000000000000000000000D2
+:10CE600000000000000000000000000000000000C2
+:10CE700000000000000000000000000000000000B2
+:10CE800000000000000000000000000000000000A2
+:10CE90000000000000000000000000000000000092
+:10CEA0000000000000000000000000000000000082
+:10CEB0000000000000000000000000000000000072
+:10CEC0000000000000000000000000000000000062
+:10CED0000000000000000000000000000000000052
+:10CEE0000000000000000000000000000000000042
+:10CEF0000000000000000000000000000000000032
+:10CF00000000000000000000000000000000000021
+:10CF10000000000000000000000000000000000011
+:10CF20000000000000000000000000000000000001
+:10CF300000000000000000000000000000000000F1
+:10CF400000000000000000000000000000000000E1
+:10CF500000000000000000000000000000000000D1
+:10CF600000000000000000000000000000000000C1
+:10CF700000000000000000000000000000000000B1
+:10CF800000000000000000000000000000000000A1
+:10CF90000000000000000000000000000000000091
+:10CFA0000000000000000000000000000000000081
+:10CFB0000000000000000000000000000000000071
+:10CFC0000000000000000000000000000000000061
+:10CFD0000000000000000000000000000000000051
+:10CFE0000000000000000000000000000000000041
+:10CFF00000000000000000000000000000000075BC
+:10D000000000000000000001010101010101010117
+:10D010000101010101010101010101010101010100
+:10D0200001010101010101010101010101010101F0
+:10D0300001010101010101010101010101010101E0
+:10D0400001010101010101010101010101010101D0
+:10D0500001010101010101010101010101010101C0
+:10D0600001010101010101010101010101010101B0
+:10D0700001010101010101010101010101010101A0
+:10D080000101010101010101010101010101010190
+:10D090000101010101010101010101010101010180
+:10D0A0000101010101010101010101010101010170
+:10D0B0000101010101010101010101010101010160
+:10D0C0000101010101010101010101010101010150
+:10D0D0000101010101010101010101010101010140
+:10D0E0000101010101010101010101010101010130
+:10D0F0000101010101010101010101010101010120
+:10D10000010101010101010101010101010101010F
+:10D1100001010101010101010101010101010101FF
+:10D1200001010101010101010101010101010101EF
+:10D1300001010101010101010101010101010101DF
+:10D1400001010101010101010101010101010101CF
+:10D1500001010101010101010101010101010101BF
+:10D1600001010101010101010101010101010101AF
+:10D17000010101010101010101010101010101019F
+:10D18000010101010101010101010101010101018F
+:10D19000010101010101010101010101010101017F
+:10D1A000010101010101010101010101010101016F
+:10D1B000010101010101010101010101010101015F
+:10D1C000010101010101010101010101010101014F
+:10D1D000010101010101010101010101010101013F
+:10D1E000010101010101010101010101010101012F
+:10D1F000010101010101010101010101010101011F
+:10D20000010101010101010101010101010101010E
+:10D2100001010101010101010101010101010101FE
+:10D2200001010101010101010101010101010101EE
+:10D2300001010101010101010101010101010101DE
+:10D2400001010101010101010101010101010101CE
+:10D2500001010101010101010101010101010101BE
+:10D2600001010101010101010101010101010101AE
+:10D27000010101010101010101010101010101019E
+:10D28000010101010101010101010101010101018E
+:10D29000010101010101010101010101010101017E
+:10D2A000010101010101010101010101010101016E
+:10D2B000010101010101010101010101010101015E
+:10D2C000010101010101010101010101010101014E
+:10D2D000010101010101010101010101010101013E
+:10D2E000010101010101010101010101010101012E
+:10D2F000010101010101010101010101010101011E
+:10D30000010101010101010101010101010101010D
+:10D3100001010101010101010101010101010101FD
+:10D3200001010101010101010101010101010101ED
+:10D3300001010101010101010101010101010101DD
+:10D3400001010101010101010101010101010101CD
+:10D3500001010101010101010101010101010101BD
+:10D3600001010101010101010101010101010101AD
+:10D37000010101010101010101010101010101019D
+:10D38000010101010101010101010101010101018D
+:10D39000010101010101010101010101010101017D
+:10D3A000010101010101010101010101010101016D
+:10D3B000010101010101010101010101010101015D
+:10D3C000010101010101010101010101010101014D
+:10D3D000010101010101010101010101010101013D
+:10D3E000010101010101010101010101010101012D
+:10D3F000010101010101010101010101010101011D
+:10D40000010101010101010101010101010101010C
+:10D4100001010101010101010101010101010101FC
+:10D4200001010101010101010101010101010101EC
+:10D4300001010101010101010101010101010101DC
+:10D4400001010101010101010101010101010101CC
+:10D4500001010101010101010101010101010101BC
+:10D4600001010101010101010101010101010101AC
+:10D47000010101010101010101010101010101019C
+:10D48000010101010101010101010101010101018C
+:10D49000010101010101010101010101010101017C
+:10D4A000010101010101010101010101010101016C
+:10D4B000010101010101010101010101010101015C
+:10D4C000010101010101010101010101010101014C
+:10D4D000010101010101010101010101010101013C
+:10D4E000010101010101010101010101010101012C
+:10D4F000010101010101010101010101010101011C
+:10D50000010101010101010101010101010101010B
+:10D5100001010101010101010101010101010101FB
+:10D5200001010101010101010101010101010101EB
+:10D5300001010101010101010101010101010101DB
+:10D5400001010101010101010101010101010101CB
+:10D5500001010101010101010101010101010101BB
+:10D5600001010101010101010101010101010101AB
+:10D57000010101010101010101010101010101019B
+:10D58000010101010101010101010101010101018B
+:10D59000010101010101010101010101010101017B
+:10D5A000010101010101010101010101010101016B
+:10D5B000010101010101010101010101010101015B
+:10D5C000010101010101010101010101010101014B
+:10D5D000010101010101010101010101010101013B
+:10D5E000010101010101010101010101010101012B
+:10D5F000010101010101010101010101010101011B
+:10D60000010101010101010101010101010101010A
+:10D6100001010101010101010101010101010101FA
+:10D6200001010101010101010101010101010101EA
+:10D6300001010101010101010101010101010101DA
+:10D6400001010101010101010101010101010101CA
+:10D6500001010101010101010101010101010101BA
+:10D6600001010101010101010101010101010101AA
+:10D67000010101010101010101010101010101019A
+:10D68000010101010101010101010101010101018A
+:10D69000010101010101010101010101010101017A
+:10D6A000010101010101010101010101010101016A
+:10D6B000010101010101010101010101010101015A
+:10D6C000010101010101010101010101010101014A
+:10D6D000010101010101010101010101010101013A
+:10D6E000010101010101010101010101010101012A
+:10D6F000010101010101010101010101010101011A
+:10D700000101010101010101010101010101010109
+:10D7100001010101010101010101010101010101F9
+:10D7200001010101010101010101010101010101E9
+:10D7300001010101010101010101010101010101D9
+:10D7400001010101010101010101010101010101C9
+:10D7500001010101010101010101010101010101B9
+:10D7600001010101010101010101010101010101A9
+:10D770000101010101010101010101010101010199
+:10D780000101010101010101010101010101010189
+:10D790000101010101010101010101010101010179
+:10D7A0000101010101010101010101010101010169
+:10D7B0000101010101010101010101010101010159
+:10D7C0000101010101010101010101010101010149
+:10D7D0000101010101010101010101010101010139
+:10D7E0000101010101010101010101010101010129
+:10D7F0000101010101010101010101010101010119
+:10D800000101010101010101010101010101010108
+:10D8100001010101010101010101010101010101F8
+:10D8200001010101010101010101010101010101E8
+:10D8300001010101010101010101010101010101D8
+:10D8400001010101010101010101010101010101C8
+:10D8500001010101010101010101010101010101B8
+:10D8600001010101010101010101010101010101A8
+:10D870000101010101010101010101010101010198
+:10D880000101010101010101010101010101010188
+:10D890000101010101010101010101010101010178
+:10D8A0000101010101010101010101010101010168
+:10D8B0000101010101010101010101010101010158
+:10D8C0000101010101010101010101010101010148
+:10D8D0000101010101010101010101010101010138
+:10D8E0000101010101010101010101010101010128
+:10D8F0000101010101010101010101010101010118
+:10D900000101010101010101010101010101010107
+:10D9100001010101010101010101010101010101F7
+:10D9200001010101010101010101010101010101E7
+:10D9300001010101010101010101010101010101D7
+:10D9400001010101010101010101010101010101C7
+:10D9500001010101010101010101010101010101B7
+:10D9600001010101010101010101010101010101A7
+:10D970000101010101010101010101010101010197
+:10D980000101010101010101010101010101010187
+:10D990000101010101010101010101010101010177
+:10D9A0000101010101010101010101010101010167
+:10D9B0000101010101010101010101010101010157
+:10D9C0000101010101010101010101010101010147
+:10D9D0000101010101010101010101010101010137
+:10D9E0000101010101010101010101010101010127
+:10D9F0000101010101010101010101010101010117
+:10DA00000101010101010101010101010101010106
+:10DA100001010101010101010101010101010101F6
+:10DA200001010101010101010101010101010101E6
+:10DA300001010101010101010101010101010101D6
+:10DA400001010101010101010101010101010101C6
+:10DA500001010101010101010101010101010101B6
+:10DA600001010101010101010101010101010101A6
+:10DA70000101010101010101010101010101010196
+:10DA80000101010101010101010101010101010186
+:10DA90000101010101010101010101010101010176
+:10DAA0000101010101010101010101010101010166
+:10DAB0000101010101010101010101010101010156
+:10DAC0000101010101010101010101010101010146
+:10DAD0000101010101010101010101010101010136
+:10DAE0000101010101010101010101010101010126
+:10DAF0000101010101010101010101010101010116
+:10DB00000101010101010101010101010101010105
+:10DB100001010101010101010101010101010101F5
+:10DB200001010101010101010101010101010101E5
+:10DB300001010101010101010101010101010101D5
+:10DB400001010101010101010101010101010101C5
+:10DB500001010101010101010101010101010101B5
+:10DB600001010101010101010101010101010101A5
+:10DB70000101010101010101010101010101010195
+:10DB80000101010101010101010101010101010185
+:10DB90000101010101010101010101010101010175
+:10DBA0000101010101010101010101010101010165
+:10DBB0000101010101010101010101010101010155
+:10DBC0000101010101010101010101010101010145
+:10DBD0000101010101010101010101010101010135
+:10DBE0000101010101010101010101010101010125
+:10DBF0000101010101010101010101010101010115
+:10DC00000101010101010101010101010101010104
+:10DC100001010101010101010101010101010101F4
+:10DC200001010101010101010101010101010101E4
+:10DC300001010101010101010101010101010101D4
+:10DC400001010101010101010101010101010101C4
+:10DC500001010101010101010101010101010101B4
+:10DC600001010101010101010101010101010101A4
+:10DC70000101010101010101010101010101010194
+:10DC80000101010101010101010101010101010184
+:10DC90000101010101010101010101010101010174
+:10DCA0000101010101010101010101010101010164
+:10DCB0000101010101010101010101010101010154
+:10DCC0000101010101010101010101010101010144
+:10DCD0000101010101010101010101010101010134
+:10DCE0000101010101010101010101010101010124
+:10DCF0000101010101010101010101010101010114
+:10DD00000101010101010101010101010101010103
+:10DD100001010101010101010101010101010101F3
+:10DD200001010101010101010101010101010101E3
+:10DD300001010101010101010101010101010101D3
+:10DD400001010101010101010101010101010101C3
+:10DD500001010101010101010101010101010101B3
+:10DD600001010101010101010101010101010101A3
+:10DD70000101010101010101010101010101010193
+:10DD80000101010101010101010101010101010183
+:10DD90000101010101010101010101010101010173
+:10DDA0000101010101010101010101010101010163
+:10DDB0000101010101010101010101010101010153
+:10DDC0000101010101010101010101010101010143
+:10DDD0000101010101010101010101010101010133
+:10DDE0000101010101010101010101010101010123
+:10DDF0000101010101010101010101010101010113
+:10DE00000101010101010101010101010101010102
+:10DE100001010101010101010101010101010101F2
+:10DE200001010101010101010101010101010101E2
+:10DE300001010101010101010101010101010101D2
+:10DE400001010101010101010101010101010101C2
+:10DE500001010101010101010101010101010101B2
+:10DE600001010101010101010101010101010101A2
+:10DE70000101010101010101010101010101010192
+:10DE80000101010101010101010101010101010182
+:10DE90000101010101010101010101010101010172
+:10DEA0000101010101010101010101010101010162
+:10DEB0000101010101010101010101010101010152
+:10DEC0000101010101010101010101010101010142
+:10DED0000101010101010101010101010101010132
+:10DEE0000101010101010101010101010101010122
+:10DEF0000101010101010101010101010101010112
+:10DF00000101010101010101010101010101010101
+:10DF100001010101010101010101010101010101F1
+:10DF200001010101010101010101010101010101E1
+:10DF300001010101010101010101010101010101D1
+:10DF400001010101010101010101010101010101C1
+:10DF500001010101010101010101010101010101B1
+:10DF600001010101010101010101010101010101A1
+:10DF70000101010101010101010101010101010191
+:10DF80000101010101010101010101010101010181
+:10DF90000101010101010101010101010101010171
+:10DFA0000101010101010101010101010101010161
+:10DFB0000101010101010101010101010101010151
+:10DFC0000101010101010101010101010101010141
+:10DFD0000101010101010101010101010101010131
+:10DFE0000101010101010101010101010101010121
+:10DFF0000101010101010101010101010101010111
+:10E000000101010101010101010101010101010100
+:10E0100001010101010101010101010101010101F0
+:10E0200001010101010101010101010101010101E0
+:10E0300001010101010101010101010101010101D0
+:10E0400001010101010101010101010101010101C0
+:10E0500001010101010101010101010101010101B0
+:10E0600001010101010101010101010101010101A0
+:10E070000101010101010101010101010101010190
+:10E080000101010101010101010101010101010180
+:10E090000101010101010101010101010101010170
+:10E0A0000101010101010101010101010101010160
+:10E0B0000101010101010101010101010101010150
+:10E0C0000101010101010101010101010101010140
+:10E0D0000101010101010101010101010101010130
+:10E0E0000101010101010101010101010101010120
+:10E0F0000101010101010101010101010101010110
+:10E1000001010101010101010101010101010101FF
+:10E1100001010101010101010101010101010101EF
+:10E1200001010101010101010101010101010101DF
+:10E1300001010101010101010101010101010101CF
+:10E1400001010101010101010101010101010101BF
+:10E1500001010101010101010101010101010101AF
+:10E16000010101010101010101010101010101019F
+:10E17000010101010101010101010101010101018F
+:10E18000010101010101010101010101010101017F
+:10E19000010101010101010101010101010101016F
+:10E1A000010101010101010101010101010101015F
+:10E1B000010101010101010101010101010101014F
+:10E1C000010101010101010101010101010101013F
+:10E1D000010101010101010101010101010101012F
+:10E1E000010101010101010101010101010101011F
+:10E1F000010101010101010101010101010101010F
+:10E2000001010101010101010101010101010101FE
+:10E2100001010101010101010101010101010101EE
+:10E2200001010101010101010101010101010101DE
+:10E2300001010101010101010101010101010101CE
+:10E2400001010101010101010101010101010101BE
+:10E2500001010101010101010101010101010101AE
+:10E26000010101010101010101010101010101019E
+:10E27000010101010101010101010101010101018E
+:10E28000010101010101010101010101010101017E
+:10E29000010101010101010101010101010101016E
+:10E2A000010101010101010101010101010101015E
+:10E2B000010101010101010101010101010101014E
+:10E2C000010101010101010101010101010101013E
+:10E2D000010101010101010101010101010101012E
+:10E2E000010101010101010101010101010101011E
+:10E2F000010101010101010101010101010101010E
+:10E3000001010101010101010101010101010101FD
+:10E3100001010101010101010101010101010101ED
+:10E3200001010101010101010101010101010101DD
+:10E3300001010101010101010101010101010101CD
+:10E3400001010101010101010101010101010101BD
+:10E3500001010101010101010101010101010101AD
+:10E36000010101010101010101010101010101019D
+:10E37000010101010101010101010101010101018D
+:10E38000010101010101010101010101010101017D
+:10E39000010101010101010101010101010101016D
+:10E3A000010101010101010101010101010101015D
+:10E3B000010101010101010101010101010101014D
+:10E3C000010101010101010101010101010101013D
+:10E3D000010101010101010101010101010101012D
+:10E3E000010101010101010101010101010101011D
+:10E3F000010101010101010101010101010101010D
+:10E4000001010101010101010101010101010101FC
+:10E4100001010101010101010101010101010101EC
+:10E4200001010101010101010101010101010101DC
+:10E4300001010101010101010101010101010101CC
+:10E4400001010101010101010101010101010101BC
+:10E4500001010101010101010101010101010101AC
+:10E46000010101010101010101010101010101019C
+:10E47000010101010101010101010101010101018C
+:10E48000010101010101010101010101010101017C
+:10E49000010101010101010101010101010101016C
+:10E4A000010101010101010101010101010101015C
+:10E4B000010101010101010101010101010101014C
+:10E4C000010101010101010101010101010101013C
+:10E4D000010101010101010101010101010101012C
+:10E4E000010101010101010101010101010101011C
+:10E4F000010101010101010101010101010101010C
+:10E5000001010101010101010101010101010101FB
+:10E5100001010101010101010101010101010101EB
+:10E5200001010101010101010101010101010101DB
+:10E5300001010101010101010101010101010101CB
+:10E5400001010101010101010101010101010101BB
+:10E5500001010101010101010101010101010101AB
+:10E56000010101010101010101010101010101019B
+:10E57000010101010101010101010101010101018B
+:10E58000010101010101010101010101010101017B
+:10E59000010101010101010101010101010101016B
+:10E5A000010101010101010101010101010101015B
+:10E5B000010101010101010101010101010101014B
+:10E5C000010101010101010101010101010101013B
+:10E5D000010101010101010101010101010101012B
+:10E5E000010101010101010101010101010101011B
+:10E5F000010101010101010101010101010101010B
+:10E6000001010101010101010101010101010101FA
+:10E6100001010101010101010101010101010101EA
+:10E6200001010101010101010101010101010101DA
+:10E6300001010101010101010101010101010101CA
+:10E6400001010101010101010101010101010101BA
+:10E6500001010101010101010101010101010101AA
+:10E66000010101010101010101010101010101019A
+:10E67000010101010101010101010101010101018A
+:10E68000010101010101010101010101010101017A
+:10E69000010101010101010101010101010101016A
+:10E6A000010101010101010101010101010101015A
+:10E6B000010101010101010101010101010101014A
+:10E6C000010101010101010101010101010101013A
+:10E6D000010101010101010101010101010101012A
+:10E6E000010101010101010101010101010101011A
+:10E6F000010101010101010101010101010101010A
+:10E7000001010101010101010101010101010101F9
+:10E7100001010101010101010101010101010101E9
+:10E7200001010101010101010101010101010101D9
+:10E7300001010101010101010101010101010101C9
+:10E7400001010101010101010101010101010101B9
+:10E7500001010101010101010101010101010101A9
+:10E760000101010101010101010101010101010199
+:10E770000101010101010101010101010101010189
+:10E780000101010101010101010101010101010179
+:10E790000101010101010101010101010101010169
+:10E7A0000101010101010101010101010101010159
+:10E7B0000101010101010101010101010101010149
+:10E7C0000101010101010101010101010101010139
+:10E7D0000101010101010101010101010101010129
+:10E7E0000101010101010101010101010101010119
+:10E7F0000101010101010101010101010101010109
+:10E8000001010101010101010101010101010101F8
+:10E8100001010101010101010101010101010101E8
+:10E8200001010101010101010101010101010101D8
+:10E8300001010101010101010101010101010101C8
+:10E8400001010101010101010101010101010101B8
+:10E8500001010101010101010101010101010101A8
+:10E860000101010101010101010101010101010198
+:10E870000101010101010101010101010101010188
+:10E880000101010101010101010101010101010178
+:10E890000101010101010101010101010101010168
+:10E8A0000101010101010101010101010101010158
+:10E8B0000101010101010101010101010101010148
+:10E8C0000101010101010101010101010101010138
+:10E8D0000101010101010101010101010101010128
+:10E8E0000101010101010101010101010101010118
+:10E8F0000101010101010101010101010101010108
+:10E9000001010101010101010101010101010101F7
+:10E9100001010101010101010101010101010101E7
+:10E9200001010101010101010101010101010101D7
+:10E9300001010101010101010101010101010101C7
+:10E9400001010101010101010101010101010101B7
+:10E9500001010101010101010101010101010101A7
+:10E960000101010101010101010101010101010197
+:10E970000101010101010101010101010101010187
+:10E980000101010101010101010101010101010177
+:10E990000101010101010101010101010101010167
+:10E9A0000101010101010101010101010101010157
+:10E9B0000101010101010101010101010101010147
+:10E9C0000101010101010101010101010101010137
+:10E9D0000101010101010101010101010101010127
+:10E9E0000101010101010101010101010101010117
+:10E9F0000101010101010101010101010101010107
+:10EA000001010101010101000000000000000000FF
+:10EA100000000000000000000000000000000000F6
+:10EA200000000000000000000000000000000000E6
+:10EA300000000000000000000000000000000000D6
+:10EA400000000000000000000000000000000000C6
+:10EA500000000000000000000000000000000000B6
+:10EA600000000000000000000000000000000000A6
+:10EA70000000000000000000000000000000000096
+:10EA80000000000000000000000000000000000086
+:10EA90000000000000000000000000000000000076
+:10EAA0000000000000000000000000000000000066
+:10EAB0000000000000000000000000000000000056
+:10EAC0000000000000000000000000000000000046
+:10EAD0000000000000000000000000000000000036
+:10EAE0000000000000000000000000000000000026
+:10EAF0000000000000000000000000000000000016
+:10EB00000000000000000000000000000000000005
+:10EB100000000000000000000000000000000000F5
+:10EB200000000000000000000000000000000000E5
+:10EB300000000000000000000000000000000000D5
+:10EB400000000000000000000000000000000000C5
+:10EB500000000000000000000000000000000000B5
+:10EB600000000000000000000000000000000000A5
+:10EB70000000000000000000000000000000000095
+:10EB80000000000000000000000000000000000085
+:10EB90000000000000000000000000000000000075
+:10EBA0000000000000000000000000000000000065
+:10EBB0000000000000000000000000000000000055
+:10EBC0000000000000000000000000000000000045
+:10EBD0000000000000000000000000000000000035
+:10EBE0000000000000000000000000000000000025
+:10EBF0000000000000000000000000000000000015
+:10EC00000000000000000000000000000000000004
+:10EC100000000000000000000000000000000000F4
+:10EC200000000000000000000000000000000000E4
+:10EC300000000000000000000000000000000000D4
+:10EC400000000000000000000000000000000000C4
+:10EC500000000000000000000000000000000000B4
+:10EC600000000000000000000000000000000000A4
+:10EC70000000000000000000000000000000000094
+:10EC80000000000000000000000000000000000084
+:10EC90000000000000000000000000000000000074
+:10ECA0000000000000000000000000000000000064
+:10ECB0000000000000000000000000000000000054
+:10ECC0000000000000000000000000000000000044
+:10ECD0000000000000000000000000000000000034
+:10ECE0000000000000000000000000000000000024
+:10ECF0000000000000000000000000000000000014
+:10ED00000000000000000000000000000000000003
+:10ED100000000000000000000000000000000000F3
+:10ED200000000000000000000000000000000000E3
+:10ED300000000000000000000000000000000000D3
+:10ED400000000000000000000000000000000000C3
+:10ED500000000000000000000000000000000000B3
+:10ED600000000000000000000000000000000000A3
+:10ED70000000000000000000000000000000000093
+:10ED80000000000000000000000000000000000083
+:10ED90000000000000000000000000000000000073
+:10EDA0000000000000000000000000000000000063
+:10EDB0000000000000000000000000000000000053
+:10EDC0000000000000000000000000000000000043
+:10EDD0000000000000000000000000000000000033
+:10EDE0000000000000000000000000000000000023
+:10EDF0000000000000000000000000000000000013
+:10EE000000000000000000020202020202020202F0
+:10EE100002020202020202020202020202020202D2
+:10EE200002020202020202020202020202020202C2
+:10EE300002020202020202020202020202020202B2
+:10EE400002020202020202020202020202020202A2
+:10EE50000202020202020202020202020202020292
+:10EE60000202020202020202020202020202020282
+:10EE70000202020202020202020202020202020272
+:10EE80000202020202020202020202020202020262
+:10EE90000202020202020202020202020202020252
+:10EEA0000202020202020202020202020202020242
+:10EEB0000202020202020202020202020202020232
+:10EEC0000202020202020202020202020202020222
+:10EED0000202020202020202020202020202020212
+:10EEE0000202020202020202020202020202020202
+:10EEF00002020202020202020202020202020202F2
+:10EF000002020202020202020202020202020202E1
+:10EF100002020202020202020202020202020202D1
+:10EF200002020202020202020202020202020202C1
+:10EF300002020202020202020202020202020202B1
+:10EF400002020202020202020202020202020202A1
+:10EF50000202020202020202020202020202020291
+:10EF60000202020202020202020202020202020281
+:10EF70000202020202020202020202020202020271
+:10EF80000202020202020202020202020202020261
+:10EF90000202020202020202020202020202020251
+:10EFA0000202020202020202020202020202020241
+:10EFB0000202020202020202020202020202020231
+:10EFC0000202020202020202020202020202020221
+:10EFD0000202020202020202020202020202020211
+:10EFE0000202020202020202020202020202020201
+:10EFF00002020202020202020202020202020202F1
+:10F0000002020202020202020202020202020202E0
+:10F0100002020202020202020202020202020202D0
+:10F0200002020202020202020202020202020202C0
+:10F0300002020202020202020202020202020202B0
+:10F0400002020202020202020202020202020202A0
+:10F050000202020202020202020202020202020290
+:10F060000202020202020202020202020202020280
+:10F070000202020202020202020202020202020270
+:10F080000202020202020202020202020202020260
+:10F090000202020202020202020202020202020250
+:10F0A0000202020202020202020202020202020240
+:10F0B0000202020202020202020202020202020230
+:10F0C0000202020202020202020202020202020220
+:10F0D0000202020202020202020202020202020210
+:10F0E0000202020202020202020202020202020200
+:10F0F00002020202020202020202020202020202F0
+:10F1000002020202020202020202020202020202DF
+:10F1100002020202020202020202020202020202CF
+:10F1200002020202020202020202020202020202BF
+:10F1300002020202020202020202020202020202AF
+:10F14000020202020202020202020202020202029F
+:10F15000020202020202020202020202020202028F
+:10F16000020202020202020202020202020202027F
+:10F17000020202020202020202020202020202026F
+:10F18000020202020202020202020202020202025F
+:10F19000020202020202020202020202020202024F
+:10F1A000020202020202020202020202020202023F
+:10F1B000020202020202020202020202020202022F
+:10F1C000020202020202020202020202020202021F
+:10F1D000020202020202020202020202020202020F
+:10F1E00002020202020202020202020202020202FF
+:10F1F00002020202020202020202020202020202EF
+:10F2000002020202020202020202020202020202DE
+:10F2100002020202020202020202020202020202CE
+:10F2200002020202020202020202020202020202BE
+:10F2300002020202020202020202020202020202AE
+:10F24000020202020202020202020202020202029E
+:10F25000020202020202020202020202020202028E
+:10F26000020202020202020202020202020202027E
+:10F27000020202020202020202020202020202026E
+:10F28000020202020202020202020202020202025E
+:10F29000020202020202020202020202020202024E
+:10F2A000020202020202020202020202020202023E
+:10F2B000020202020202020202020202020202022E
+:10F2C000020202020202020202020202020202021E
+:10F2D000020202020202020202020202020202020E
+:10F2E00002020202020202020202020202020202FE
+:10F2F00002020202020202020202020202020202EE
+:10F3000002020202020202020202020202020202DD
+:10F3100002020202020202020202020202020202CD
+:10F3200002020202020202020202020202020202BD
+:10F3300002020202020202020202020202020202AD
+:10F34000020202020202020202020202020202029D
+:10F35000020202020202020202020202020202028D
+:10F36000020202020202020202020202020202027D
+:10F37000020202020202020202020202020202026D
+:10F38000020202020202020202020202020202025D
+:10F39000020202020202020202020202020202024D
+:10F3A000020202020202020202020202020202023D
+:10F3B000020202020202020202020202020202022D
+:10F3C000020202020202020202020202020202021D
+:10F3D000020202020202020202020202020202020D
+:10F3E00002020202020202020202020202020202FD
+:10F3F00002020202020202020202020202020202ED
+:10F4000002020202020202020202020202020202DC
+:10F4100002020202020202020202020202020202CC
+:10F4200002020202020202020202020202020202BC
+:10F4300002020202020202020202020202020202AC
+:10F44000020202020202020202020202020202029C
+:10F45000020202020202020202020202020202028C
+:10F46000020202020202020202020202020202027C
+:10F47000020202020202020202020202020202026C
+:10F48000020202020202020202020202020202025C
+:10F49000020202020202020202020202020202024C
+:10F4A000020202020202020202020202020202023C
+:10F4B000020202020202020202020202020202022C
+:10F4C000020202020202020202020202020202021C
+:10F4D000020202020202020202020202020202020C
+:10F4E00002020202020202020202020202020202FC
+:10F4F00002020202020202020202020202020202EC
+:10F5000002020202020202020202020202020202DB
+:10F5100002020202020202020202020202020202CB
+:10F5200002020202020202020202020202020202BB
+:10F5300002020202020202020202020202020202AB
+:10F54000020202020202020202020202020202029B
+:10F55000020202020202020202020202020202028B
+:10F56000020202020202020202020202020202027B
+:10F57000020202020202020202020202020202026B
+:10F58000020202020202020202020202020202025B
+:10F59000020202020202020202020202020202024B
+:10F5A000020202020202020202020202020202023B
+:10F5B000020202020202020202020202020202022B
+:10F5C000020202020202020202020202020202021B
+:10F5D000020202020202020202020202020202020B
+:10F5E00002020202020202020202020202020202FB
+:10F5F00002020202020202020202020202020202EB
+:10F6000002020202020202020202020202020202DA
+:10F6100002020202020202020202020202020202CA
+:10F6200002020202020202020202020202020202BA
+:10F6300002020202020202020202020202020202AA
+:10F64000020202020202020202020202020202029A
+:10F65000020202020202020202020202020202028A
+:10F66000020202020202020202020202020202027A
+:10F67000020202020202020202020202020202026A
+:10F68000020202020202020202020202020202025A
+:10F69000020202020202020202020202020202024A
+:10F6A000020202020202020202020202020202023A
+:10F6B000020202020202020202020202020202022A
+:10F6C000020202020202020202020202020202021A
+:10F6D000020202020202020202020202020202020A
+:10F6E00002020202020202020202020202020202FA
+:10F6F00002020202020202020202020202020202EA
+:10F7000002020202020202020202020202020202D9
+:10F7100002020202020202020202020202020202C9
+:10F7200002020202020202020202020202020202B9
+:10F7300002020202020202020202020202020202A9
+:10F740000202020202020202020202020202020299
+:10F750000202020202020202020202020202020289
+:10F760000202020202020202020202020202020279
+:10F770000202020202020202020202020202020269
+:10F780000202020202020202020202020202020259
+:10F790000202020202020202020202020202020249
+:10F7A0000202020202020202020202020202020239
+:10F7B0000202020202020202020202020202020229
+:10F7C0000202020202020202020202020202020219
+:10F7D0000202020202020202020202020202020209
+:10F7E00002020202020202020202020202020202F9
+:10F7F00002020202020202020202020202020202E9
+:10F8000002020202020202020202020202020202D8
+:10F8100002020202020202020202020202020202C8
+:10F8200002020202020202020202020202020202B8
+:10F8300002020202020202020202020202020202A8
+:10F840000202020202020202020202020202020298
+:10F850000202020202020202020202020202020288
+:10F860000202020202020202020202020202020278
+:10F870000202020202020202020202020202020268
+:10F880000202020202020202020202020202020258
+:10F890000202020202020202020202020202020248
+:10F8A0000202020202020202020202020202020238
+:10F8B0000202020202020202020202020202020228
+:10F8C0000202020202020202020202020202020218
+:10F8D0000202020202020202020202020202020208
+:10F8E00002020202020202020202020202020202F8
+:10F8F00002020202020202020202020202020202E8
+:10F9000002020202020202020202020202020202D7
+:10F9100002020202020202020202020202020202C7
+:10F9200002020202020202020202020202020202B7
+:10F9300002020202020202020202020202020202A7
+:10F940000202020202020202020202020202020297
+:10F950000202020202020202020202020202020287
+:10F960000202020202020202020202020202020277
+:10F970000202020202020202020202020202020267
+:10F980000202020202020202020202020202020257
+:10F990000202020202020202020202020202020247
+:10F9A0000202020202020202020202020202020237
+:10F9B0000202020202020202020202020202020227
+:10F9C0000202020202020202020202020202020217
+:10F9D0000202020202020202020202020202020207
+:10F9E00002020202020202020202020202020202F7
+:10F9F00002020202020202020202020202020202E7
+:10FA000002020202020202020202020202020202D6
+:10FA100002020202020202020202020202020202C6
+:10FA200002020202020202020202020202020202B6
+:10FA300002020202020202020202020202020202A6
+:10FA40000202020202020202020202020202020296
+:10FA50000202020202020202020202020202020286
+:10FA60000202020202020202020202020202020276
+:10FA70000202020202020202020202020202020266
+:10FA80000202020202020202020202020202020256
+:10FA90000202020202020202020202020202020246
+:10FAA0000202020202020202020202020202020236
+:10FAB0000202020202020202020202020202020226
+:10FAC0000202020202020202020202020202020216
+:10FAD0000202020202020202020202020202020206
+:10FAE00002020202020202020202020202020202F6
+:10FAF00002020202020202020202020202020202E6
+:10FB000002020202020202020202020202020202D5
+:10FB100002020202020202020202020202020202C5
+:10FB200002020202020202020202020202020202B5
+:10FB300002020202020202020202020202020202A5
+:10FB40000202020202020202020202020202020295
+:10FB50000202020202020202020202020202020285
+:10FB60000202020202020202020202020202020275
+:10FB70000202020202020202020202020202020265
+:10FB80000202020202020202020202020202020255
+:10FB90000202020202020202020202020202020245
+:10FBA0000202020202020202020202020202020235
+:10FBB0000202020202020202020202020202020225
+:10FBC0000202020202020202020202020202020215
+:10FBD0000202020202020202020202020202020205
+:10FBE00002020202020202020202020202020202F5
+:10FBF00002020202020202020202020202020202E5
+:10FC000002020202020202020202020202020202D4
+:10FC100002020202020202020202020202020202C4
+:10FC200002020202020202020202020202020202B4
+:10FC300002020202020202020202020202020202A4
+:10FC40000202020202020202020202020202020294
+:10FC50000202020202020202020202020202020284
+:10FC60000202020202020202020202020202020274
+:10FC70000202020202020202020202020202020264
+:10FC80000202020202020202020202020202020254
+:10FC90000202020202020202020202020202020244
+:10FCA0000202020202020202020202020202020234
+:10FCB0000202020202020202020202020202020224
+:10FCC0000202020202020202020202020202020214
+:10FCD0000202020202020202020202020202020204
+:10FCE00002020202020202020202020202020202F4
+:10FCF00002020202020202020202020202020202E4
+:10FD000002020202020202020202020202020202D3
+:10FD100002020202020202020202020202020202C3
+:10FD200002020202020202020202020202020202B3
+:10FD300002020202020202020202020202020202A3
+:10FD40000202020202020202020202020202020293
+:10FD50000202020202020202020202020202020283
+:10FD60000202020202020202020202020202020273
+:10FD70000202020202020202020202020202020263
+:10FD80000202020202020202020202020202020253
+:10FD90000202020202020202020202020202020243
+:10FDA0000202020202020202020202020202020233
+:10FDB0000202020202020202020202020202020223
+:10FDC0000202020202020202020202020202020213
+:10FDD0000202020202020202020202020202020203
+:10FDE00002020202020202020202020202020202F3
+:10FDF00002020202020202020202020202020202E3
+:10FE000002020202020202020202020202020202D2
+:10FE100002020202020202020202020202020202C2
+:10FE200002020202020202020202020202020202B2
+:10FE300002020202020202020202020202020202A2
+:10FE40000202020202020202020202020202020292
+:10FE50000202020202020202020202020202020282
+:10FE60000202020202020202020202020202020272
+:10FE70000202020202020202020202020202020262
+:10FE80000202020202020202020202020202020252
+:10FE90000202020202020202020202020202020242
+:10FEA0000202020202020202020202020202020232
+:10FEB0000202020202020202020202020202020222
+:10FEC0000202020202020202020202020202020212
+:10FED0000202020202020202020202020202020202
+:10FEE00002020202020202020202020202020202F2
+:10FEF00002020202020202020202020202020202E2
+:10FF000002020202020202020202020202020202D1
+:10FF100002020202020202020202020202020202C1
+:10FF200002020202020202020202020202020202B1
+:10FF300002020202020202020202020202020202A1
+:10FF40000202020202020202020202020202020291
+:10FF50000202020202020202020202020202020281
+:10FF60000202020202020202020202020202020271
+:10FF70000202020202020202020202020202020261
+:10FF80000202020202020202020202020202020251
+:10FF90000202020202020202020202020202020241
+:10FFA0000202020202020202020202020202020231
+:10FFB0000202020202020202020202020202020221
+:10FFC0000202020202020202020202020202020211
+:10FFD0000202020202020202020202020202020201
+:10FFE00002020202020202020202020202020202F1
+:10FFF00002020202020202020202020202020202E1
+:020000024000BC
+:1000000002020202020202020202020202020202D0
+:1000100002020202020202020202020202020202C0
+:1000200002020202020202020202020202020202B0
+:1000300002020202020202020202020202020202A0
+:100040000202020202020202020202020202020290
+:100050000202020202020202020202020202020280
+:100060000202020202020202020202020202020270
+:100070000202020202020202020202020202020260
+:100080000202020202020202020202020202020250
+:100090000202020202020202020202020202020240
+:1000A0000202020202020202020202020202020230
+:1000B0000202020202020202020202020202020220
+:1000C0000202020202020202020202020202020210
+:1000D0000202020202020202020202020202020200
+:1000E00002020202020202020202020202020202F0
+:1000F00002020202020202020202020202020202E0
+:1001000002020202020202020202020202020202CF
+:1001100002020202020202020202020202020202BF
+:1001200002020202020202020202020202020202AF
+:10013000020202020202020202020202020202029F
+:10014000020202020202020202020202020202028F
+:10015000020202020202020202020202020202027F
+:10016000020202020202020202020202020202026F
+:10017000020202020202020202020202020202025F
+:10018000020202020202020202020202020202024F
+:10019000020202020202020202020202020202023F
+:1001A000020202020202020202020202020202022F
+:1001B000020202020202020202020202020202021F
+:1001C000020202020202020202020202020202020F
+:1001D00002020202020202020202020202020202FF
+:1001E00002020202020202020202020202020202EF
+:1001F00002020202020202020202020202020202DF
+:1002000002020202020202020202020202020202CE
+:1002100002020202020202020202020202020202BE
+:1002200002020202020202020202020202020202AE
+:10023000020202020202020202020202020202029E
+:10024000020202020202020202020202020202028E
+:10025000020202020202020202020202020202027E
+:10026000020202020202020202020202020202026E
+:10027000020202020202020202020202020202025E
+:10028000020202020202020202020202020202024E
+:10029000020202020202020202020202020202023E
+:1002A000020202020202020202020202020202022E
+:1002B000020202020202020202020202020202021E
+:1002C000020202020202020202020202020202020E
+:1002D00002020202020202020202020202020202FE
+:1002E00002020202020202020202020202020202EE
+:1002F00002020202020202020202020202020202DE
+:1003000002020202020202020202020202020202CD
+:1003100002020202020202020202020202020202BD
+:1003200002020202020202020202020202020202AD
+:10033000020202020202020202020202020202029D
+:10034000020202020202020202020202020202028D
+:10035000020202020202020202020202020202027D
+:10036000020202020202020202020202020202026D
+:10037000020202020202020202020202020202025D
+:10038000020202020202020202020202020202024D
+:10039000020202020202020202020202020202023D
+:1003A000020202020202020202020202020202022D
+:1003B000020202020202020202020202020202021D
+:1003C000020202020202020202020202020202020D
+:1003D00002020202020202020202020202020202FD
+:1003E00002020202020202020202020202020202ED
+:1003F00002020202020202020202020202020202DD
+:1004000002020202020202020202020202020202CC
+:1004100002020202020202020202020202020202BC
+:1004200002020202020202020202020202020202AC
+:10043000020202020202020202020202020202029C
+:10044000020202020202020202020202020202028C
+:10045000020202020202020202020202020202027C
+:10046000020202020202020202020202020202026C
+:10047000020202020202020202020202020202025C
+:10048000020202020202020202020202020202024C
+:10049000020202020202020202020202020202023C
+:1004A000020202020202020202020202020202022C
+:1004B000020202020202020202020202020202021C
+:1004C000020202020202020202020202020202020C
+:1004D00002020202020202020202020202020202FC
+:1004E00002020202020202020202020202020202EC
+:1004F00002020202020202020202020202020202DC
+:1005000002020202020202020202020202020202CB
+:1005100002020202020202020202020202020202BB
+:1005200002020202020202020202020202020202AB
+:10053000020202020202020202020202020202029B
+:10054000020202020202020202020202020202028B
+:10055000020202020202020202020202020202027B
+:10056000020202020202020202020202020202026B
+:10057000020202020202020202020202020202025B
+:10058000020202020202020202020202020202024B
+:10059000020202020202020202020202020202023B
+:1005A000020202020202020202020202020202022B
+:1005B000020202020202020202020202020202021B
+:1005C000020202020202020202020202020202020B
+:1005D00002020202020202020202020202020202FB
+:1005E00002020202020202020202020202020202EB
+:1005F00002020202020202020202020202020202DB
+:1006000002020202020202020202020202020202CA
+:1006100002020202020202020202020202020202BA
+:1006200002020202020202020202020202020202AA
+:10063000020202020202020202020202020202029A
+:10064000020202020202020202020202020202028A
+:10065000020202020202020202020202020202027A
+:10066000020202020202020202020202020202026A
+:10067000020202020202020202020202020202025A
+:10068000020202020202020202020202020202024A
+:10069000020202020202020202020202020202023A
+:1006A000020202020202020202020202020202022A
+:1006B000020202020202020202020202020202021A
+:1006C000020202020202020202020202020202020A
+:1006D00002020202020202020202020202020202FA
+:1006E00002020202020202020202020202020202EA
+:1006F00002020202020202020202020202020202DA
+:1007000002020202020202020202020202020202C9
+:1007100002020202020202020202020202020202B9
+:1007200002020202020202020202020202020202A9
+:100730000202020202020202020202020202020299
+:100740000202020202020202020202020202020289
+:100750000202020202020202020202020202020279
+:100760000202020202020202020202020202020269
+:100770000202020202020202020202020202020259
+:100780000202020202020202020202020202020249
+:100790000202020202020202020202020202020239
+:1007A0000202020202020202020202020202020229
+:1007B0000202020202020202020202020202020219
+:1007C0000202020202020202020202020202020209
+:1007D00002020202020202020202020202020202F9
+:1007E00002020202020202020202020202020202E9
+:1007F00002020202020202020202020202020202D9
+:1008000002020202020202000000000000000000DA
+:1008100000000000000000000000000000000000D8
+:1008200000000000000000000000000000000000C8
+:1008300000000000000000000000000000000000B8
+:1008400000000000000000000000000000000000A8
+:100850000000000000000000000000000000000098
+:100860000000000000000000000000000000000088
+:100870000000000000000000000000000000000078
+:100880000000000000000000000000000000000068
+:100890000000000000000000000000000000000058
+:1008A0000000000000000000000000000000000048
+:1008B0000000000000000000000000000000000038
+:1008C0000000000000000000000000000000000028
+:1008D0000000000000000000000000000000000018
+:1008E0000000000000000000000000000000000008
+:1008F00000000000000000000000000000000000F8
+:1009000000000000000000000000000000000000E7
+:1009100000000000000000000000000000000000D7
+:1009200000000000000000000000000000000000C7
+:1009300000000000000000000000000000000000B7
+:1009400000000000000000000000000000000000A7
+:100950000000000000000000000000000000000097
+:100960000000000000000000000000000000000087
+:100970000000000000000000000000000000000077
+:100980000000000000000000000000000000000067
+:100990000000000000000000000000000000000057
+:1009A0000000000000000000000000000000000047
+:1009B0000000000000000000000000000000000037
+:1009C0000000000000000000000000000000000027
+:1009D0000000000000000000000000000000000017
+:1009E0000000000000000000000000000000000007
+:1009F00000000000000000000000000000000000F7
+:100A000000000000000000000000000000000000E6
+:100A100000000000000000000000000000000000D6
+:100A200000000000000000000000000000000000C6
+:100A300000000000000000000000000000000000B6
+:100A400000000000000000000000000000000000A6
+:100A50000000000000000000000000000000000096
+:100A60000000000000000000000000000000000086
+:100A70000000000000000000000000000000000076
+:100A80000000000000000000000000000000000066
+:100A90000000000000000000000000000000000056
+:100AA0000000000000000000000000000000000046
+:100AB0000000000000000000000000000000000036
+:100AC0000000000000000000000000000000000026
+:100AD0000000000000000000000000000000000016
+:100AE0000000000000000000000000000000000006
+:100AF00000000000000000000000000000000000F6
+:100B000000000000000000000000000000000000E5
+:100B100000000000000000000000000000000000D5
+:100B200000000000000000000000000000000000C5
+:100B300000000000000000000000000000000000B5
+:100B400000000000000000000000000000000000A5
+:100B50000000000000000000000000000000000095
+:100B60000000000000000000000000000000000085
+:100B70000000000000000000000000000000000075
+:100B80000000000000000000000000000000000065
+:100B90000000000000000000000000000000000055
+:100BA0000000000000000000000000000000000045
+:100BB0000000000000000000000000000000000035
+:100BC0000000000000000000000000000000000025
+:100BD0000000000000000000000000000000000015
+:100BE0000000000000000000000000000000000005
+:100BF00000000000000000000000000000000000F5
+:100C000000000000000000010101010101010101DB
+:100C100001010101010101010101010101010101C4
+:100C200001010101010101010101010101010101B4
+:100C300001010101010101010101010101010101A4
+:100C40000101010101010101010101010101010194
+:100C50000101010101010101010101010101010184
+:100C60000101010101010101010101010101010174
+:100C70000101010101010101010101010101010164
+:100C80000101010101010101010101010101010154
+:100C90000101010101010101010101010101010144
+:100CA0000101010101010101010101010101010134
+:100CB0000101010101010101010101010101010124
+:100CC0000101010101010101010101010101010114
+:100CD0000101010101010101010101010101010104
+:100CE00001010101010101010101010101010101F4
+:100CF00001010101010101010101010101010101E4
+:100D000001010101010101010101010101010101D3
+:100D100001010101010101010101010101010101C3
+:100D200001010101010101010101010101010101B3
+:100D300001010101010101010101010101010101A3
+:100D40000101010101010101010101010101010193
+:100D50000101010101010101010101010101010183
+:100D60000101010101010101010101010101010173
+:100D70000101010101010101010101010101010163
+:100D80000101010101010101010101010101010153
+:100D90000101010101010101010101010101010143
+:100DA0000101010101010101010101010101010133
+:100DB0000101010101010101010101010101010123
+:100DC0000101010101010101010101010101010113
+:100DD0000101010101010101010101010101010103
+:100DE00001010101010101010101010101010101F3
+:100DF00001010101010101010101010101010101E3
+:100E000001010101010101010101010101010101D2
+:100E100001010101010101010101010101010101C2
+:100E200001010101010101010101010101010101B2
+:100E300001010101010101010101010101010101A2
+:100E40000101010101010101010101010101010192
+:100E50000101010101010101010101010101010182
+:100E60000101010101010101010101010101010172
+:100E70000101010101010101010101010101010162
+:100E80000101010101010101010101010101010152
+:100E90000101010101010101010101010101010142
+:100EA0000101010101010101010101010101010132
+:100EB0000101010101010101010101010101010122
+:100EC0000101010101010101010101010101010112
+:100ED0000101010101010101010101010101010102
+:100EE00001010101010101010101010101010101F2
+:100EF00001010101010101010101010101010101E2
+:100F000001010101010101010101010101010101D1
+:100F100001010101010101010101010101010101C1
+:100F200001010101010101010101010101010101B1
+:100F300001010101010101010101010101010101A1
+:100F40000101010101010101010101010101010191
+:100F50000101010101010101010101010101010181
+:100F60000101010101010101010101010101010171
+:100F70000101010101010101010101010101010161
+:100F80000101010101010101010101010101010151
+:100F90000101010101010101010101010101010141
+:100FA0000101010101010101010101010101010131
+:100FB0000101010101010101010101010101010121
+:100FC0000101010101010101010101010101010111
+:100FD0000101010101010101010101010101010101
+:100FE00001010101010101010101010101010101F1
+:100FF00001010101010101010101010101010101E1
+:1010000001010101010101010101010101010101D0
+:1010100001010101010101010101010101010101C0
+:1010200001010101010101010101010101010101B0
+:1010300001010101010101010101010101010101A0
+:101040000101010101010101010101010101010190
+:101050000101010101010101010101010101010180
+:101060000101010101010101010101010101010170
+:101070000101010101010101010101010101010160
+:101080000101010101010101010101010101010150
+:101090000101010101010101010101010101010140
+:1010A0000101010101010101010101010101010130
+:1010B0000101010101010101010101010101010120
+:1010C0000101010101010101010101010101010110
+:1010D0000101010101010101010101010101010100
+:1010E00001010101010101010101010101010101F0
+:1010F00001010101010101010101010101010101E0
+:1011000001010101010101010101010101010101CF
+:1011100001010101010101010101010101010101BF
+:1011200001010101010101010101010101010101AF
+:10113000010101010101010101010101010101019F
+:10114000010101010101010101010101010101018F
+:10115000010101010101010101010101010101017F
+:10116000010101010101010101010101010101016F
+:10117000010101010101010101010101010101015F
+:10118000010101010101010101010101010101014F
+:10119000010101010101010101010101010101013F
+:1011A000010101010101010101010101010101012F
+:1011B000010101010101010101010101010101011F
+:1011C000010101010101010101010101010101010F
+:1011D00001010101010101010101010101010101FF
+:1011E00001010101010101010101010101010101EF
+:1011F00001010101010101010101010101010101DF
+:1012000001010101010101010101010101010101CE
+:1012100001010101010101010101010101010101BE
+:1012200001010101010101010101010101010101AE
+:10123000010101010101010101010101010101019E
+:10124000010101010101010101010101010101018E
+:10125000010101010101010101010101010101017E
+:10126000010101010101010101010101010101016E
+:10127000010101010101010101010101010101015E
+:10128000010101010101010101010101010101014E
+:10129000010101010101010101010101010101013E
+:1012A000010101010101010101010101010101012E
+:1012B000010101010101010101010101010101011E
+:1012C000010101010101010101010101010101010E
+:1012D00001010101010101010101010101010101FE
+:1012E00001010101010101010101010101010101EE
+:1012F00001010101010101010101010101010101DE
+:1013000001010101010101010101010101010101CD
+:1013100001010101010101010101010101010101BD
+:1013200001010101010101010101010101010101AD
+:10133000010101010101010101010101010101019D
+:10134000010101010101010101010101010101018D
+:10135000010101010101010101010101010101017D
+:10136000010101010101010101010101010101016D
+:10137000010101010101010101010101010101015D
+:10138000010101010101010101010101010101014D
+:10139000010101010101010101010101010101013D
+:1013A000010101010101010101010101010101012D
+:1013B000010101010101010101010101010101011D
+:1013C000010101010101010101010101010101010D
+:1013D00001010101010101010101010101010101FD
+:1013E00001010101010101010101010101010101ED
+:1013F00001010101010101010101010101010101DD
+:1014000001010101010101010101010101010101CC
+:1014100001010101010101010101010101010101BC
+:1014200001010101010101010101010101010101AC
+:10143000010101010101010101010101010101019C
+:10144000010101010101010101010101010101018C
+:10145000010101010101010101010101010101017C
+:10146000010101010101010101010101010101016C
+:10147000010101010101010101010101010101015C
+:10148000010101010101010101010101010101014C
+:10149000010101010101010101010101010101013C
+:1014A000010101010101010101010101010101012C
+:1014B000010101010101010101010101010101011C
+:1014C000010101010101010101010101010101010C
+:1014D00001010101010101010101010101010101FC
+:1014E00001010101010101010101010101010101EC
+:1014F00001010101010101010101010101010101DC
+:1015000001010101010101010101010101010101CB
+:1015100001010101010101010101010101010101BB
+:1015200001010101010101010101010101010101AB
+:10153000010101010101010101010101010101019B
+:10154000010101010101010101010101010101018B
+:10155000010101010101010101010101010101017B
+:10156000010101010101010101010101010101016B
+:10157000010101010101010101010101010101015B
+:10158000010101010101010101010101010101014B
+:10159000010101010101010101010101010101013B
+:1015A000010101010101010101010101010101012B
+:1015B000010101010101010101010101010101011B
+:1015C000010101010101010101010101010101010B
+:1015D00001010101010101010101010101010101FB
+:1015E00001010101010101010101010101010101EB
+:1015F00001010101010101010101010101010101DB
+:1016000001010101010101010101010101010101CA
+:1016100001010101010101010101010101010101BA
+:1016200001010101010101010101010101010101AA
+:10163000010101010101010101010101010101019A
+:10164000010101010101010101010101010101018A
+:10165000010101010101010101010101010101017A
+:10166000010101010101010101010101010101016A
+:10167000010101010101010101010101010101015A
+:10168000010101010101010101010101010101014A
+:10169000010101010101010101010101010101013A
+:1016A000010101010101010101010101010101012A
+:1016B000010101010101010101010101010101011A
+:1016C000010101010101010101010101010101010A
+:1016D00001010101010101010101010101010101FA
+:1016E00001010101010101010101010101010101EA
+:1016F00001010101010101010101010101010101DA
+:1017000001010101010101010101010101010101C9
+:1017100001010101010101010101010101010101B9
+:1017200001010101010101010101010101010101A9
+:101730000101010101010101010101010101010199
+:101740000101010101010101010101010101010189
+:101750000101010101010101010101010101010179
+:101760000101010101010101010101010101010169
+:101770000101010101010101010101010101010159
+:101780000101010101010101010101010101010149
+:101790000101010101010101010101010101010139
+:1017A0000101010101010101010101010101010129
+:1017B0000101010101010101010101010101010119
+:1017C0000101010101010101010101010101010109
+:1017D00001010101010101010101010101010101F9
+:1017E00001010101010101010101010101010101E9
+:1017F00001010101010101010101010101010101D9
+:1018000001010101010101010101010101010101C8
+:1018100001010101010101010101010101010101B8
+:1018200001010101010101010101010101010101A8
+:101830000101010101010101010101010101010198
+:101840000101010101010101010101010101010188
+:101850000101010101010101010101010101010178
+:101860000101010101010101010101010101010168
+:101870000101010101010101010101010101010158
+:101880000101010101010101010101010101010148
+:101890000101010101010101010101010101010138
+:1018A0000101010101010101010101010101010128
+:1018B0000101010101010101010101010101010118
+:1018C0000101010101010101010101010101010108
+:1018D00001010101010101010101010101010101F8
+:1018E00001010101010101010101010101010101E8
+:1018F00001010101010101010101010101010101D8
+:1019000001010101010101010101010101010101C7
+:1019100001010101010101010101010101010101B7
+:1019200001010101010101010101010101010101A7
+:101930000101010101010101010101010101010197
+:101940000101010101010101010101010101010187
+:101950000101010101010101010101010101010177
+:101960000101010101010101010101010101010167
+:101970000101010101010101010101010101010157
+:101980000101010101010101010101010101010147
+:101990000101010101010101010101010101010137
+:1019A0000101010101010101010101010101010127
+:1019B0000101010101010101010101010101010117
+:1019C0000101010101010101010101010101010107
+:1019D00001010101010101010101010101010101F7
+:1019E00001010101010101010101010101010101E7
+:1019F00001010101010101010101010101010101D7
+:101A000001010101010101010101010101010101C6
+:101A100001010101010101010101010101010101B6
+:101A200001010101010101010101010101010101A6
+:101A30000101010101010101010101010101010196
+:101A40000101010101010101010101010101010186
+:101A50000101010101010101010101010101010176
+:101A60000101010101010101010101010101010166
+:101A70000101010101010101010101010101010156
+:101A80000101010101010101010101010101010146
+:101A90000101010101010101010101010101010136
+:101AA0000101010101010101010101010101010126
+:101AB0000101010101010101010101010101010116
+:101AC0000101010101010101010101010101010106
+:101AD00001010101010101010101010101010101F6
+:101AE00001010101010101010101010101010101E6
+:101AF00001010101010101010101010101010101D6
+:101B000001010101010101010101010101010101C5
+:101B100001010101010101010101010101010101B5
+:101B200001010101010101010101010101010101A5
+:101B30000101010101010101010101010101010195
+:101B40000101010101010101010101010101010185
+:101B50000101010101010101010101010101010175
+:101B60000101010101010101010101010101010165
+:101B70000101010101010101010101010101010155
+:101B80000101010101010101010101010101010145
+:101B90000101010101010101010101010101010135
+:101BA0000101010101010101010101010101010125
+:101BB0000101010101010101010101010101010115
+:101BC0000101010101010101010101010101010105
+:101BD00001010101010101010101010101010101F5
+:101BE00001010101010101010101010101010101E5
+:101BF00001010101010101010101010101010101D5
+:101C000001010101010101010101010101010101C4
+:101C100001010101010101010101010101010101B4
+:101C200001010101010101010101010101010101A4
+:101C30000101010101010101010101010101010194
+:101C40000101010101010101010101010101010184
+:101C50000101010101010101010101010101010174
+:101C60000101010101010101010101010101010164
+:101C70000101010101010101010101010101010154
+:101C80000101010101010101010101010101010144
+:101C90000101010101010101010101010101010134
+:101CA0000101010101010101010101010101010124
+:101CB0000101010101010101010101010101010114
+:101CC0000101010101010101010101010101010104
+:101CD00001010101010101010101010101010101F4
+:101CE00001010101010101010101010101010101E4
+:101CF00001010101010101010101010101010101D4
+:101D000001010101010101010101010101010101C3
+:101D100001010101010101010101010101010101B3
+:101D200001010101010101010101010101010101A3
+:101D30000101010101010101010101010101010193
+:101D40000101010101010101010101010101010183
+:101D50000101010101010101010101010101010173
+:101D60000101010101010101010101010101010163
+:101D70000101010101010101010101010101010153
+:101D80000101010101010101010101010101010143
+:101D90000101010101010101010101010101010133
+:101DA0000101010101010101010101010101010123
+:101DB0000101010101010101010101010101010113
+:101DC0000101010101010101010101010101010103
+:101DD00001010101010101010101010101010101F3
+:101DE00001010101010101010101010101010101E3
+:101DF00001010101010101010101010101010101D3
+:101E000001010101010101010101010101010101C2
+:101E100001010101010101010101010101010101B2
+:101E200001010101010101010101010101010101A2
+:101E30000101010101010101010101010101010192
+:101E40000101010101010101010101010101010182
+:101E50000101010101010101010101010101010172
+:101E60000101010101010101010101010101010162
+:101E70000101010101010101010101010101010152
+:101E80000101010101010101010101010101010142
+:101E90000101010101010101010101010101010132
+:101EA0000101010101010101010101010101010122
+:101EB0000101010101010101010101010101010112
+:101EC0000101010101010101010101010101010102
+:101ED00001010101010101010101010101010101F2
+:101EE00001010101010101010101010101010101E2
+:101EF00001010101010101010101010101010101D2
+:101F000001010101010101010101010101010101C1
+:101F100001010101010101010101010101010101B1
+:101F200001010101010101010101010101010101A1
+:101F30000101010101010101010101010101010191
+:101F40000101010101010101010101010101010181
+:101F50000101010101010101010101010101010171
+:101F60000101010101010101010101010101010161
+:101F70000101010101010101010101010101010151
+:101F80000101010101010101010101010101010141
+:101F90000101010101010101010101010101010131
+:101FA0000101010101010101010101010101010121
+:101FB0000101010101010101010101010101010111
+:101FC0000101010101010101010101010101010101
+:101FD00001010101010101010101010101010101F1
+:101FE00001010101010101010101010101010101E1
+:101FF00001010101010101010101010101010101D1
+:1020000001010101010101010101010101010101C0
+:1020100001010101010101010101010101010101B0
+:1020200001010101010101010101010101010101A0
+:102030000101010101010101010101010101010190
+:102040000101010101010101010101010101010180
+:102050000101010101010101010101010101010170
+:102060000101010101010101010101010101010160
+:102070000101010101010101010101010101010150
+:102080000101010101010101010101010101010140
+:102090000101010101010101010101010101010130
+:1020A0000101010101010101010101010101010120
+:1020B0000101010101010101010101010101010110
+:1020C0000101010101010101010101010101010100
+:1020D00001010101010101010101010101010101F0
+:1020E00001010101010101010101010101010101E0
+:1020F00001010101010101010101010101010101D0
+:1021000001010101010101010101010101010101BF
+:1021100001010101010101010101010101010101AF
+:10212000010101010101010101010101010101019F
+:10213000010101010101010101010101010101018F
+:10214000010101010101010101010101010101017F
+:10215000010101010101010101010101010101016F
+:10216000010101010101010101010101010101015F
+:10217000010101010101010101010101010101014F
+:10218000010101010101010101010101010101013F
+:10219000010101010101010101010101010101012F
+:1021A000010101010101010101010101010101011F
+:1021B000010101010101010101010101010101010F
+:1021C00001010101010101010101010101010101FF
+:1021D00001010101010101010101010101010101EF
+:1021E00001010101010101010101010101010101DF
+:1021F00001010101010101010101010101010101CF
+:1022000001010101010101010101010101010101BE
+:1022100001010101010101010101010101010101AE
+:10222000010101010101010101010101010101019E
+:10223000010101010101010101010101010101018E
+:10224000010101010101010101010101010101017E
+:10225000010101010101010101010101010101016E
+:10226000010101010101010101010101010101015E
+:10227000010101010101010101010101010101014E
+:10228000010101010101010101010101010101013E
+:10229000010101010101010101010101010101012E
+:1022A000010101010101010101010101010101011E
+:1022B000010101010101010101010101010101010E
+:1022C00001010101010101010101010101010101FE
+:1022D00001010101010101010101010101010101EE
+:1022E00001010101010101010101010101010101DE
+:1022F00001010101010101010101010101010101CE
+:1023000001010101010101010101010101010101BD
+:1023100001010101010101010101010101010101AD
+:10232000010101010101010101010101010101019D
+:10233000010101010101010101010101010101018D
+:10234000010101010101010101010101010101017D
+:10235000010101010101010101010101010101016D
+:10236000010101010101010101010101010101015D
+:10237000010101010101010101010101010101014D
+:10238000010101010101010101010101010101013D
+:10239000010101010101010101010101010101012D
+:1023A000010101010101010101010101010101011D
+:1023B000010101010101010101010101010101010D
+:1023C00001010101010101010101010101010101FD
+:1023D00001010101010101010101010101010101ED
+:1023E00001010101010101010101010101010101DD
+:1023F00001010101010101010101010101010101CD
+:1024000001010101010101010101010101010101BC
+:1024100001010101010101010101010101010101AC
+:10242000010101010101010101010101010101019C
+:10243000010101010101010101010101010101018C
+:10244000010101010101010101010101010101017C
+:10245000010101010101010101010101010101016C
+:10246000010101010101010101010101010101015C
+:10247000010101010101010101010101010101014C
+:10248000010101010101010101010101010101013C
+:10249000010101010101010101010101010101012C
+:1024A000010101010101010101010101010101011C
+:1024B000010101010101010101010101010101010C
+:1024C00001010101010101010101010101010101FC
+:1024D00001010101010101010101010101010101EC
+:1024E00001010101010101010101010101010101DC
+:1024F00001010101010101010101010101010101CC
+:1025000001010101010101010101010101010101BB
+:1025100001010101010101010101010101010101AB
+:10252000010101010101010101010101010101019B
+:10253000010101010101010101010101010101018B
+:10254000010101010101010101010101010101017B
+:10255000010101010101010101010101010101016B
+:10256000010101010101010101010101010101015B
+:10257000010101010101010101010101010101014B
+:10258000010101010101010101010101010101013B
+:10259000010101010101010101010101010101012B
+:1025A000010101010101010101010101010101011B
+:1025B000010101010101010101010101010101010B
+:1025C00001010101010101010101010101010101FB
+:1025D00001010101010101010101010101010101EB
+:1025E00001010101010101010101010101010101DB
+:1025F00001010101010101010101010101010101CB
+:1026000001010101010101000000000000000000C3
+:1026100000000000000000000000000000000000BA
+:1026200000000000000000000000000000000000AA
+:10263000000000000000000000000000000000009A
+:10264000000000000000000000000000000000008A
+:10265000000000000000000000000000000000007A
+:10266000000000000000000000000000000000006A
+:10267000000000000000000000000000000000005A
+:10268000000000000000000000000000000000004A
+:10269000000000000000000000000000000000003A
+:1026A000000000000000000000000000000000002A
+:1026B000000000000000000000000000000000001A
+:1026C000000000000000000000000000000000000A
+:1026D00000000000000000000000000000000000FA
+:1026E00000000000000000000000000000000000EA
+:1026F00000000000000000000000000000000000DA
+:1027000000000000000000000000000000000000C9
+:1027100000000000000000000000000000000000B9
+:1027200000000000000000000000000000000000A9
+:102730000000000000000000000000000000000099
+:102740000000000000000000000000000000000089
+:102750000000000000000000000000000000000079
+:102760000000000000000000000000000000000069
+:102770000000000000000000000000000000000059
+:102780000000000000000000000000000000000049
+:102790000000000000000000000000000000000039
+:1027A0000000000000000000000000000000000029
+:1027B0000000000000000000000000000000000019
+:1027C0000000000000000000000000000000000009
+:1027D00000000000000000000000000000000000F9
+:1027E00000000000000000000000000000000000E9
+:1027F00000000000000000000000000000000000D9
+:1028000000000000000000000000000000000000C8
+:1028100000000000000000000000000000000000B8
+:1028200000000000000000000000000000000000A8
+:102830000000000000000000000000000000000098
+:102840000000000000000000000000000000000088
+:102850000000000000000000000000000000000078
+:102860000000000000000000000000000000000068
+:102870000000000000000000000000000000000058
+:102880000000000000000000000000000000000048
+:102890000000000000000000000000000000000038
+:1028A0000000000000000000000000000000000028
+:1028B0000000000000000000000000000000000018
+:1028C0000000000000000000000000000000000008
+:1028D00000000000000000000000000000000000F8
+:1028E00000000000000000000000000000000000E8
+:1028F00000000000000000000000000000000000D8
+:1029000000000000000000000000000000000000C7
+:1029100000000000000000000000000000000000B7
+:1029200000000000000000000000000000000000A7
+:102930000000000000000000000000000000000097
+:102940000000000000000000000000000000000087
+:102950000000000000000000000000000000000077
+:102960000000000000000000000000000000000067
+:102970000000000000000000000000000000000057
+:102980000000000000000000000000000000000047
+:102990000000000000000000000000000000000037
+:1029A0000000000000000000000000000000000027
+:1029B0000000000000000000000000000000000017
+:1029C0000000000000000000000000000000000007
+:1029D00000000000000000000000000000000000F7
+:1029E00000000000000000000000000000000000E7
+:1029F00000000000000000000000000000000000D7
+:102A000000000000000000020202020202020202B4
+:102A10000202020202020202020202020202020296
+:102A20000202020202020202020202020202020286
+:102A30000202020202020202020202020202020276
+:102A40000202020202020202020202020202020266
+:102A50000202020202020202020202020202020256
+:102A60000202020202020202020202020202020246
+:102A70000202020202020202020202020202020236
+:102A80000202020202020202020202020202020226
+:102A90000202020202020202020202020202020216
+:102AA0000202020202020202020202020202020206
+:102AB00002020202020202020202020202020202F6
+:102AC00002020202020202020202020202020202E6
+:102AD00002020202020202020202020202020202D6
+:102AE00002020202020202020202020202020202C6
+:102AF00002020202020202020202020202020202B6
+:102B000002020202020202020202020202020202A5
+:102B10000202020202020202020202020202020295
+:102B20000202020202020202020202020202020285
+:102B30000202020202020202020202020202020275
+:102B40000202020202020202020202020202020265
+:102B50000202020202020202020202020202020255
+:102B60000202020202020202020202020202020245
+:102B70000202020202020202020202020202020235
+:102B80000202020202020202020202020202020225
+:102B90000202020202020202020202020202020215
+:102BA0000202020202020202020202020202020205
+:102BB00002020202020202020202020202020202F5
+:102BC00002020202020202020202020202020202E5
+:102BD00002020202020202020202020202020202D5
+:102BE00002020202020202020202020202020202C5
+:102BF00002020202020202020202020202020202B5
+:102C000002020202020202020202020202020202A4
+:102C10000202020202020202020202020202020294
+:102C20000202020202020202020202020202020284
+:102C30000202020202020202020202020202020274
+:102C40000202020202020202020202020202020264
+:102C50000202020202020202020202020202020254
+:102C60000202020202020202020202020202020244
+:102C70000202020202020202020202020202020234
+:102C80000202020202020202020202020202020224
+:102C90000202020202020202020202020202020214
+:102CA0000202020202020202020202020202020204
+:102CB00002020202020202020202020202020202F4
+:102CC00002020202020202020202020202020202E4
+:102CD00002020202020202020202020202020202D4
+:102CE00002020202020202020202020202020202C4
+:102CF00002020202020202020202020202020202B4
+:102D000002020202020202020202020202020202A3
+:102D10000202020202020202020202020202020293
+:102D20000202020202020202020202020202020283
+:102D30000202020202020202020202020202020273
+:102D40000202020202020202020202020202020263
+:102D50000202020202020202020202020202020253
+:102D60000202020202020202020202020202020243
+:102D70000202020202020202020202020202020233
+:102D80000202020202020202020202020202020223
+:102D90000202020202020202020202020202020213
+:102DA0000202020202020202020202020202020203
+:102DB00002020202020202020202020202020202F3
+:102DC00002020202020202020202020202020202E3
+:102DD00002020202020202020202020202020202D3
+:102DE00002020202020202020202020202020202C3
+:102DF00002020202020202020202020202020202B3
+:102E000002020202020202020202020202020202A2
+:102E10000202020202020202020202020202020292
+:102E20000202020202020202020202020202020282
+:102E30000202020202020202020202020202020272
+:102E40000202020202020202020202020202020262
+:102E50000202020202020202020202020202020252
+:102E60000202020202020202020202020202020242
+:102E70000202020202020202020202020202020232
+:102E80000202020202020202020202020202020222
+:102E90000202020202020202020202020202020212
+:102EA0000202020202020202020202020202020202
+:102EB00002020202020202020202020202020202F2
+:102EC00002020202020202020202020202020202E2
+:102ED00002020202020202020202020202020202D2
+:102EE00002020202020202020202020202020202C2
+:102EF00002020202020202020202020202020202B2
+:102F000002020202020202020202020202020202A1
+:102F10000202020202020202020202020202020291
+:102F20000202020202020202020202020202020281
+:102F30000202020202020202020202020202020271
+:102F40000202020202020202020202020202020261
+:102F50000202020202020202020202020202020251
+:102F60000202020202020202020202020202020241
+:102F70000202020202020202020202020202020231
+:102F80000202020202020202020202020202020221
+:102F90000202020202020202020202020202020211
+:102FA0000202020202020202020202020202020201
+:102FB00002020202020202020202020202020202F1
+:102FC00002020202020202020202020202020202E1
+:102FD00002020202020202020202020202020202D1
+:102FE00002020202020202020202020202020202C1
+:102FF00002020202020202020202020202020202B1
+:1030000002020202020202020202020202020202A0
+:103010000202020202020202020202020202020290
+:103020000202020202020202020202020202020280
+:103030000202020202020202020202020202020270
+:103040000202020202020202020202020202020260
+:103050000202020202020202020202020202020250
+:103060000202020202020202020202020202020240
+:103070000202020202020202020202020202020230
+:103080000202020202020202020202020202020220
+:103090000202020202020202020202020202020210
+:1030A0000202020202020202020202020202020200
+:1030B00002020202020202020202020202020202F0
+:1030C00002020202020202020202020202020202E0
+:1030D00002020202020202020202020202020202D0
+:1030E00002020202020202020202020202020202C0
+:1030F00002020202020202020202020202020202B0
+:10310000020202020202020202020202020202029F
+:10311000020202020202020202020202020202028F
+:10312000020202020202020202020202020202027F
+:10313000020202020202020202020202020202026F
+:10314000020202020202020202020202020202025F
+:10315000020202020202020202020202020202024F
+:10316000020202020202020202020202020202023F
+:10317000020202020202020202020202020202022F
+:10318000020202020202020202020202020202021F
+:10319000020202020202020202020202020202020F
+:1031A00002020202020202020202020202020202FF
+:1031B00002020202020202020202020202020202EF
+:1031C00002020202020202020202020202020202DF
+:1031D00002020202020202020202020202020202CF
+:1031E00002020202020202020202020202020202BF
+:1031F00002020202020202020202020202020202AF
+:10320000020202020202020202020202020202029E
+:10321000020202020202020202020202020202028E
+:10322000020202020202020202020202020202027E
+:10323000020202020202020202020202020202026E
+:10324000020202020202020202020202020202025E
+:10325000020202020202020202020202020202024E
+:10326000020202020202020202020202020202023E
+:10327000020202020202020202020202020202022E
+:10328000020202020202020202020202020202021E
+:10329000020202020202020202020202020202020E
+:1032A00002020202020202020202020202020202FE
+:1032B00002020202020202020202020202020202EE
+:1032C00002020202020202020202020202020202DE
+:1032D00002020202020202020202020202020202CE
+:1032E00002020202020202020202020202020202BE
+:1032F00002020202020202020202020202020202AE
+:10330000020202020202020202020202020202029D
+:10331000020202020202020202020202020202028D
+:10332000020202020202020202020202020202027D
+:10333000020202020202020202020202020202026D
+:10334000020202020202020202020202020202025D
+:10335000020202020202020202020202020202024D
+:10336000020202020202020202020202020202023D
+:10337000020202020202020202020202020202022D
+:10338000020202020202020202020202020202021D
+:10339000020202020202020202020202020202020D
+:1033A00002020202020202020202020202020202FD
+:1033B00002020202020202020202020202020202ED
+:1033C00002020202020202020202020202020202DD
+:1033D00002020202020202020202020202020202CD
+:1033E00002020202020202020202020202020202BD
+:1033F00002020202020202020202020202020202AD
+:10340000020202020202020202020202020202029C
+:10341000020202020202020202020202020202028C
+:10342000020202020202020202020202020202027C
+:10343000020202020202020202020202020202026C
+:10344000020202020202020202020202020202025C
+:10345000020202020202020202020202020202024C
+:10346000020202020202020202020202020202023C
+:10347000020202020202020202020202020202022C
+:10348000020202020202020202020202020202021C
+:10349000020202020202020202020202020202020C
+:1034A00002020202020202020202020202020202FC
+:1034B00002020202020202020202020202020202EC
+:1034C00002020202020202020202020202020202DC
+:1034D00002020202020202020202020202020202CC
+:1034E00002020202020202020202020202020202BC
+:1034F00002020202020202020202020202020202AC
+:10350000020202020202020202020202020202029B
+:10351000020202020202020202020202020202028B
+:10352000020202020202020202020202020202027B
+:10353000020202020202020202020202020202026B
+:10354000020202020202020202020202020202025B
+:10355000020202020202020202020202020202024B
+:10356000020202020202020202020202020202023B
+:10357000020202020202020202020202020202022B
+:10358000020202020202020202020202020202021B
+:10359000020202020202020202020202020202020B
+:1035A00002020202020202020202020202020202FB
+:1035B00002020202020202020202020202020202EB
+:1035C00002020202020202020202020202020202DB
+:1035D00002020202020202020202020202020202CB
+:1035E00002020202020202020202020202020202BB
+:1035F00002020202020202020202020202020202AB
+:10360000020202020202020202020202020202029A
+:10361000020202020202020202020202020202028A
+:10362000020202020202020202020202020202027A
+:10363000020202020202020202020202020202026A
+:10364000020202020202020202020202020202025A
+:10365000020202020202020202020202020202024A
+:10366000020202020202020202020202020202023A
+:10367000020202020202020202020202020202022A
+:10368000020202020202020202020202020202021A
+:10369000020202020202020202020202020202020A
+:1036A00002020202020202020202020202020202FA
+:1036B00002020202020202020202020202020202EA
+:1036C00002020202020202020202020202020202DA
+:1036D00002020202020202020202020202020202CA
+:1036E00002020202020202020202020202020202BA
+:1036F00002020202020202020202020202020202AA
+:103700000202020202020202020202020202020299
+:103710000202020202020202020202020202020289
+:103720000202020202020202020202020202020279
+:103730000202020202020202020202020202020269
+:103740000202020202020202020202020202020259
+:103750000202020202020202020202020202020249
+:103760000202020202020202020202020202020239
+:103770000202020202020202020202020202020229
+:103780000202020202020202020202020202020219
+:103790000202020202020202020202020202020209
+:1037A00002020202020202020202020202020202F9
+:1037B00002020202020202020202020202020202E9
+:1037C00002020202020202020202020202020202D9
+:1037D00002020202020202020202020202020202C9
+:1037E00002020202020202020202020202020202B9
+:1037F00002020202020202020202020202020202A9
+:103800000202020202020202020202020202020298
+:103810000202020202020202020202020202020288
+:103820000202020202020202020202020202020278
+:103830000202020202020202020202020202020268
+:103840000202020202020202020202020202020258
+:103850000202020202020202020202020202020248
+:103860000202020202020202020202020202020238
+:103870000202020202020202020202020202020228
+:103880000202020202020202020202020202020218
+:103890000202020202020202020202020202020208
+:1038A00002020202020202020202020202020202F8
+:1038B00002020202020202020202020202020202E8
+:1038C00002020202020202020202020202020202D8
+:1038D00002020202020202020202020202020202C8
+:1038E00002020202020202020202020202020202B8
+:1038F00002020202020202020202020202020202A8
+:103900000202020202020202020202020202020297
+:103910000202020202020202020202020202020287
+:103920000202020202020202020202020202020277
+:103930000202020202020202020202020202020267
+:103940000202020202020202020202020202020257
+:103950000202020202020202020202020202020247
+:103960000202020202020202020202020202020237
+:103970000202020202020202020202020202020227
+:103980000202020202020202020202020202020217
+:103990000202020202020202020202020202020207
+:1039A00002020202020202020202020202020202F7
+:1039B00002020202020202020202020202020202E7
+:1039C00002020202020202020202020202020202D7
+:1039D00002020202020202020202020202020202C7
+:1039E00002020202020202020202020202020202B7
+:1039F00002020202020202020202020202020202A7
+:103A00000202020202020202020202020202020296
+:103A10000202020202020202020202020202020286
+:103A20000202020202020202020202020202020276
+:103A30000202020202020202020202020202020266
+:103A40000202020202020202020202020202020256
+:103A50000202020202020202020202020202020246
+:103A60000202020202020202020202020202020236
+:103A70000202020202020202020202020202020226
+:103A80000202020202020202020202020202020216
+:103A90000202020202020202020202020202020206
+:103AA00002020202020202020202020202020202F6
+:103AB00002020202020202020202020202020202E6
+:103AC00002020202020202020202020202020202D6
+:103AD00002020202020202020202020202020202C6
+:103AE00002020202020202020202020202020202B6
+:103AF00002020202020202020202020202020202A6
+:103B00000202020202020202020202020202020295
+:103B10000202020202020202020202020202020285
+:103B20000202020202020202020202020202020275
+:103B30000202020202020202020202020202020265
+:103B40000202020202020202020202020202020255
+:103B50000202020202020202020202020202020245
+:103B60000202020202020202020202020202020235
+:103B70000202020202020202020202020202020225
+:103B80000202020202020202020202020202020215
+:103B90000202020202020202020202020202020205
+:103BA00002020202020202020202020202020202F5
+:103BB00002020202020202020202020202020202E5
+:103BC00002020202020202020202020202020202D5
+:103BD00002020202020202020202020202020202C5
+:103BE00002020202020202020202020202020202B5
+:103BF00002020202020202020202020202020202A5
+:103C00000202020202020202020202020202020294
+:103C10000202020202020202020202020202020284
+:103C20000202020202020202020202020202020274
+:103C30000202020202020202020202020202020264
+:103C40000202020202020202020202020202020254
+:103C50000202020202020202020202020202020244
+:103C60000202020202020202020202020202020234
+:103C70000202020202020202020202020202020224
+:103C80000202020202020202020202020202020214
+:103C90000202020202020202020202020202020204
+:103CA00002020202020202020202020202020202F4
+:103CB00002020202020202020202020202020202E4
+:103CC00002020202020202020202020202020202D4
+:103CD00002020202020202020202020202020202C4
+:103CE00002020202020202020202020202020202B4
+:103CF00002020202020202020202020202020202A4
+:103D00000202020202020202020202020202020293
+:103D10000202020202020202020202020202020283
+:103D20000202020202020202020202020202020273
+:103D30000202020202020202020202020202020263
+:103D40000202020202020202020202020202020253
+:103D50000202020202020202020202020202020243
+:103D60000202020202020202020202020202020233
+:103D70000202020202020202020202020202020223
+:103D80000202020202020202020202020202020213
+:103D90000202020202020202020202020202020203
+:103DA00002020202020202020202020202020202F3
+:103DB00002020202020202020202020202020202E3
+:103DC00002020202020202020202020202020202D3
+:103DD00002020202020202020202020202020202C3
+:103DE00002020202020202020202020202020202B3
+:103DF00002020202020202020202020202020202A3
+:103E00000202020202020202020202020202020292
+:103E10000202020202020202020202020202020282
+:103E20000202020202020202020202020202020272
+:103E30000202020202020202020202020202020262
+:103E40000202020202020202020202020202020252
+:103E50000202020202020202020202020202020242
+:103E60000202020202020202020202020202020232
+:103E70000202020202020202020202020202020222
+:103E80000202020202020202020202020202020212
+:103E90000202020202020202020202020202020202
+:103EA00002020202020202020202020202020202F2
+:103EB00002020202020202020202020202020202E2
+:103EC00002020202020202020202020202020202D2
+:103ED00002020202020202020202020202020202C2
+:103EE00002020202020202020202020202020202B2
+:103EF00002020202020202020202020202020202A2
+:103F00000202020202020202020202020202020291
+:103F10000202020202020202020202020202020281
+:103F20000202020202020202020202020202020271
+:103F30000202020202020202020202020202020261
+:103F40000202020202020202020202020202020251
+:103F50000202020202020202020202020202020241
+:103F60000202020202020202020202020202020231
+:103F70000202020202020202020202020202020221
+:103F80000202020202020202020202020202020211
+:103F90000202020202020202020202020202020201
+:103FA00002020202020202020202020202020202F1
+:103FB00002020202020202020202020202020202E1
+:103FC00002020202020202020202020202020202D1
+:103FD00002020202020202020202020202020202C1
+:103FE00002020202020202020202020202020202B1
+:103FF00002020202020202020202020202020202A1
+:104000000202020202020202020202020202020290
+:104010000202020202020202020202020202020280
+:104020000202020202020202020202020202020270
+:104030000202020202020202020202020202020260
+:104040000202020202020202020202020202020250
+:104050000202020202020202020202020202020240
+:104060000202020202020202020202020202020230
+:104070000202020202020202020202020202020220
+:104080000202020202020202020202020202020210
+:104090000202020202020202020202020202020200
+:1040A00002020202020202020202020202020202F0
+:1040B00002020202020202020202020202020202E0
+:1040C00002020202020202020202020202020202D0
+:1040D00002020202020202020202020202020202C0
+:1040E00002020202020202020202020202020202B0
+:1040F00002020202020202020202020202020202A0
+:10410000020202020202020202020202020202028F
+:10411000020202020202020202020202020202027F
+:10412000020202020202020202020202020202026F
+:10413000020202020202020202020202020202025F
+:10414000020202020202020202020202020202024F
+:10415000020202020202020202020202020202023F
+:10416000020202020202020202020202020202022F
+:10417000020202020202020202020202020202021F
+:10418000020202020202020202020202020202020F
+:1041900002020202020202020202020202020202FF
+:1041A00002020202020202020202020202020202EF
+:1041B00002020202020202020202020202020202DF
+:1041C00002020202020202020202020202020202CF
+:1041D00002020202020202020202020202020202BF
+:1041E00002020202020202020202020202020202AF
+:1041F000020202020202020202020202020202029F
+:10420000020202020202020202020202020202028E
+:10421000020202020202020202020202020202027E
+:10422000020202020202020202020202020202026E
+:10423000020202020202020202020202020202025E
+:10424000020202020202020202020202020202024E
+:10425000020202020202020202020202020202023E
+:10426000020202020202020202020202020202022E
+:10427000020202020202020202020202020202021E
+:10428000020202020202020202020202020202020E
+:1042900002020202020202020202020202020202FE
+:1042A00002020202020202020202020202020202EE
+:1042B00002020202020202020202020202020202DE
+:1042C00002020202020202020202020202020202CE
+:1042D00002020202020202020202020202020202BE
+:1042E00002020202020202020202020202020202AE
+:1042F000020202020202020202020202020202029E
+:10430000020202020202020202020202020202028D
+:10431000020202020202020202020202020202027D
+:10432000020202020202020202020202020202026D
+:10433000020202020202020202020202020202025D
+:10434000020202020202020202020202020202024D
+:10435000020202020202020202020202020202023D
+:10436000020202020202020202020202020202022D
+:10437000020202020202020202020202020202021D
+:10438000020202020202020202020202020202020D
+:1043900002020202020202020202020202020202FD
+:1043A00002020202020202020202020202020202ED
+:1043B00002020202020202020202020202020202DD
+:1043C00002020202020202020202020202020202CD
+:1043D00002020202020202020202020202020202BD
+:1043E00002020202020202020202020202020202AD
+:1043F000020202020202020202020202020202029D
+:10440000020202020202020000000000000000009E
+:10441000000000000000000000000000000000009C
+:10442000000000000000000000000000000000008C
+:10443000000000000000000000000000000000007C
+:10444000000000000000000000000000000000006C
+:10445000000000000000000000000000000000005C
+:10446000000000000000000000000000000000004C
+:10447000000000000000000000000000000000003C
+:10448000000000000000000000000000000000002C
+:10449000000000000000000000000000000000001C
+:1044A000000000000000000000000000000000000C
+:1044B00000000000000000000000000000000000FC
+:1044C00000000000000000000000000000000000EC
+:1044D00000000000000000000000000000000000DC
+:1044E00000000000000000000000000000000000CC
+:1044F00000000000000000000000000000000000BC
+:10450000000000000000006D00000000000000013D
+:10451000010101010101010101010101010101018B
+:10452000010101010101010101010101010101017B
+:10453000010101010101010101010101010101016B
+:10454000010101010101010101010101010101015B
+:10455000010101010101010101010101010101014B
+:10456000010101010101010101010101010101013B
+:10457000010101010101010101010101010101012B
+:10458000010101010101010101010101010101011B
+:10459000010101010101010101010101010101010B
+:1045A00001010101010101010101010101010101FB
+:1045B00001010101010101010101010101010101EB
+:1045C00001010101010101010101010101010101DB
+:1045D00001010101010101010101010101010101CB
+:1045E00001010101010101010101010101010101BB
+:1045F00001010101010101010101010101010101AB
+:10460000010101010101010101010101010101019A
+:10461000010101010101010101010101010101018A
+:10462000010101010101010101010101010101017A
+:10463000010101010101010101010101010101016A
+:10464000010101010101010101010101010101015A
+:10465000010101010101010101010101010101014A
+:10466000010101010101010101010101010101013A
+:10467000010101010101010101010101010101012A
+:10468000010101010101010101010101010101011A
+:10469000010101010101010101010101010101010A
+:1046A00001010101010101010101010101010101FA
+:1046B00001010101010101010101010101010101EA
+:1046C00001010101010101010101010101010101DA
+:1046D00001010101010101010101010101010101CA
+:1046E00001010101010101010101010101010101BA
+:1046F00001010101010101010101010101010101AA
+:104700000101010101010101010101010101010199
+:104710000101010101010101010101010101010189
+:104720000101010101010101010101010101010179
+:104730000101010101010101010101010101010169
+:104740000101010101010101010101010101010159
+:104750000101010101010101010101010101010149
+:104760000101010101010101010101010101010139
+:104770000101010101010101010101010101010129
+:104780000101010101010101010101010101010119
+:104790000101010101010101010101010101010109
+:1047A00001010101010101010101010101010101F9
+:1047B00001010101010101010101010101010101E9
+:1047C00001010101010101010101010101010101D9
+:1047D00001010101010101010101010101010101C9
+:1047E00001010101010101010101010101010101B9
+:1047F00001010101010101010101010101010101A9
+:104800000101010101010101010101010101010198
+:104810000101010101010101010101010101010188
+:104820000101010101010101010101010101010178
+:104830000101010101010101010101010101010168
+:104840000101010101010101010101010101010158
+:104850000101010101010101010101010101010148
+:104860000101010101010101010101010101010138
+:104870000101010101010101010101010101010128
+:104880000101010101010101010101010101010118
+:104890000101010101010101010101010101010108
+:1048A00001010101010101010101010101010101F8
+:1048B00001010101010101010101010101010101E8
+:1048C00001010101010101010101010101010101D8
+:1048D00001010101010101010101010101010101C8
+:1048E00001010101010101010101010101010101B8
+:1048F00001010101010101010101010101010101A8
+:104900000101010101010101010101010101010197
+:104910000101010101010101010101010101010187
+:104920000101010101010101010101010101010177
+:104930000101010101010101010101010101010167
+:104940000101010101010101010101010101010157
+:104950000101010101010101010101010101010147
+:104960000101010101010101010101010101010137
+:104970000101010101010101010101010101010127
+:104980000101010101010101010101010101010117
+:104990000101010101010101010101010101010107
+:1049A00001010101010101010101010101010101F7
+:1049B00001010101010101010101010101010101E7
+:1049C00001010101010101010101010101010101D7
+:1049D00001010101010101010101010101010101C7
+:1049E00001010101010101010101010101010101B7
+:1049F00001010101010101010101010101010101A7
+:104A00000101010101010101010101010101010196
+:104A10000101010101010101010101010101010186
+:104A20000101010101010101010101010101010176
+:104A30000101010101010101010101010101010166
+:104A40000101010101010101010101010101010156
+:104A50000101010101010101010101010101010146
+:104A60000101010101010101010101010101010136
+:104A70000101010101010101010101010101010126
+:104A80000101010101010101010101010101010116
+:104A90000101010101010101010101010101010106
+:104AA00001010101010101010101010101010101F6
+:104AB00001010101010101010101010101010101E6
+:104AC00001010101010101010101010101010101D6
+:104AD00001010101010101010101010101010101C6
+:104AE00001010101010101010101010101010101B6
+:104AF00001010101010101010101010101010101A6
+:104B00000101010101010101010101010101010195
+:104B10000101010101010101010101010101010185
+:104B20000101010101010101010101010101010175
+:104B30000101010101010101010101010101010165
+:104B40000101010101010101010101010101010155
+:104B50000101010101010101010101010101010145
+:104B60000101010101010101010101010101010135
+:104B70000101010101010101010101010101010125
+:104B80000101010101010101010101010101010115
+:104B90000101010101010101010101010101010105
+:104BA00001010101010101010101010101010101F5
+:104BB00001010101010101010101010101010101E5
+:104BC00001010101010101010101010101010101D5
+:104BD00001010101010101010101010101010101C5
+:104BE00001010101010101010101010101010101B5
+:104BF00001010101010101010101010101010101A5
+:104C00000101010101010101010101010101010194
+:104C10000101010101010101010101010101010184
+:104C20000101010101010101010101010101010174
+:104C30000101010101010101010101010101010164
+:104C40000101010101010101010101010101010154
+:104C50000101010101010101010101010101010144
+:104C60000101010101010101010101010101010134
+:104C70000101010101010101010101010101010124
+:104C80000101010101010101010101010101010114
+:104C90000101010101010101010101010101010104
+:104CA00001010101010101010101010101010101F4
+:104CB00001010101010101010101010101010101E4
+:104CC00001010101010101010101010101010101D4
+:104CD00001010101010101010101010101010101C4
+:104CE00001010101010101010101010101010101B4
+:104CF00001010101010101010101010101010101A4
+:104D00000101010101010101010101010101010193
+:104D10000101010101010101010101010101010183
+:104D20000101010101010101010101010101010173
+:104D30000101010101010101010101010101010163
+:104D40000101010101010101010101010101010153
+:104D50000101010101010101010101010101010143
+:104D60000101010101010101010101010101010133
+:104D70000101010101010101010101010101010123
+:104D80000101010101010101010101010101010113
+:104D90000101010101010101010101010101010103
+:104DA00001010101010101010101010101010101F3
+:104DB00001010101010101010101010101010101E3
+:104DC00001010101010101010101010101010101D3
+:104DD00001010101010101010101010101010101C3
+:104DE00001010101010101010101010101010101B3
+:104DF00001010101010101010101010101010101A3
+:104E00000101010101010101010101010101010192
+:104E10000101010101010101010101010101010182
+:104E20000101010101010101010101010101010172
+:104E30000101010101010101010101010101010162
+:104E40000101010101010101010101010101010152
+:104E50000101010101010101010101010101010142
+:104E60000101010101010101010101010101010132
+:104E70000101010101010101010101010101010122
+:104E80000101010101010101010101010101010112
+:104E90000101010101010101010101010101010102
+:104EA00001010101010101010101010101010101F2
+:104EB00001010101010101010101010101010101E2
+:104EC00001010101010101010101010101010101D2
+:104ED00001010101010101010101010101010101C2
+:104EE00001010101010101010101010101010101B2
+:104EF00001010101010101010101010101010101A2
+:104F00000101010101010101010101010101010191
+:104F10000101010101010101010101010101010181
+:104F20000101010101010101010101010101010171
+:104F30000101010101010101010101010101010161
+:104F40000101010101010101010101010101010151
+:104F50000101010101010101010101010101010141
+:104F60000101010101010101010101010101010131
+:104F70000101010101010101010101010101010121
+:104F80000101010101010101010101010101010111
+:104F90000101010101010101010101010101010101
+:104FA00001010101010101010101010101010101F1
+:104FB00001010101010101010101010101010101E1
+:104FC00001010101010101010101010101010101D1
+:104FD00001010101010101010101010101010101C1
+:104FE00001010101010101010101010101010101B1
+:104FF00001010101010101010101010101010101A1
+:105000000101010101010101010101010101010190
+:105010000101010101010101010101010101010180
+:105020000101010101010101010101010101010170
+:105030000101010101010101010101010101010160
+:105040000101010101010101010101010101010150
+:105050000101010101010101010101010101010140
+:105060000101010101010101010101010101010130
+:105070000101010101010101010101010101010120
+:105080000101010101010101010101010101010110
+:105090000101010101010101010101010101010100
+:1050A00001010101010101010101010101010101F0
+:1050B00001010101010101010101010101010101E0
+:1050C00001010101010101010101010101010101D0
+:1050D00001010101010101010101010101010101C0
+:1050E00001010101010101010101010101010101B0
+:1050F00001010101010101010101010101010101A0
+:10510000010101010101010101010101010101018F
+:10511000010101010101010101010101010101017F
+:10512000010101010101010101010101010101016F
+:10513000010101010101010101010101010101015F
+:10514000010101010101010101010101010101014F
+:10515000010101010101010101010101010101013F
+:10516000010101010101010101010101010101012F
+:10517000010101010101010101010101010101011F
+:10518000010101010101010101010101010101010F
+:1051900001010101010101010101010101010101FF
+:1051A00001010101010101010101010101010101EF
+:1051B00001010101010101010101010101010101DF
+:1051C00001010101010101010101010101010101CF
+:1051D00001010101010101010101010101010101BF
+:1051E00001010101010101010101010101010101AF
+:1051F000010101010101010101010101010101019F
+:10520000010101010101010101010101010101018E
+:10521000010101010101010101010101010101017E
+:10522000010101010101010101010101010101016E
+:10523000010101010101010101010101010101015E
+:10524000010101010101010101010101010101014E
+:10525000010101010101010101010101010101013E
+:10526000010101010101010101010101010101012E
+:10527000010101010101010101010101010101011E
+:10528000010101010101010101010101010101010E
+:1052900001010101010101010101010101010101FE
+:1052A00001010101010101010101010101010101EE
+:1052B00001010101010101010101010101010101DE
+:1052C00001010101010101010101010101010101CE
+:1052D00001010101010101010101010101010101BE
+:1052E00001010101010101010101010101010101AE
+:1052F000010101010101010101010101010101019E
+:10530000010101010101010101010101010101018D
+:10531000010101010101010101010101010101017D
+:10532000010101010101010101010101010101016D
+:10533000010101010101010101010101010101015D
+:10534000010101010101010101010101010101014D
+:10535000010101010101010101010101010101013D
+:10536000010101010101010101010101010101012D
+:10537000010101010101010101010101010101011D
+:10538000010101010101010101010101010101010D
+:1053900001010101010101010101010101010101FD
+:1053A00001010101010101010101010101010101ED
+:1053B00001010101010101010101010101010101DD
+:1053C00001010101010101010101010101010101CD
+:1053D00001010101010101010101010101010101BD
+:1053E00001010101010101010101010101010101AD
+:1053F000010101010101010101010101010101019D
+:10540000010101010101010101010101010101018C
+:10541000010101010101010101010101010101017C
+:10542000010101010101010101010101010101016C
+:10543000010101010101010101010101010101015C
+:10544000010101010101010101010101010101014C
+:10545000010101010101010101010101010101013C
+:10546000010101010101010101010101010101012C
+:10547000010101010101010101010101010101011C
+:10548000010101010101010101010101010101010C
+:1054900001010101010101010101010101010101FC
+:1054A00001010101010101010101010101010101EC
+:1054B00001010101010101010101010101010101DC
+:1054C00001010101010101010101010101010101CC
+:1054D00001010101010101010101010101010101BC
+:1054E00001010101010101010101010101010101AC
+:1054F000010101010101010101010101010101019C
+:10550000010101010101010101010101010101018B
+:10551000010101010101010101010101010101017B
+:10552000010101010101010101010101010101016B
+:10553000010101010101010101010101010101015B
+:10554000010101010101010101010101010101014B
+:10555000010101010101010101010101010101013B
+:10556000010101010101010101010101010101012B
+:10557000010101010101010101010101010101011B
+:10558000010101010101010101010101010101010B
+:1055900001010101010101010101010101010101FB
+:1055A00001010101010101010101010101010101EB
+:1055B00001010101010101010101010101010101DB
+:1055C00001010101010101010101010101010101CB
+:1055D00001010101010101010101010101010101BB
+:1055E00001010101010101010101010101010101AB
+:1055F000010101010101010101010101010101019B
+:10560000010101010101010101010101010101018A
+:10561000010101010101010101010101010101017A
+:10562000010101010101010101010101010101016A
+:10563000010101010101010101010101010101015A
+:10564000010101010101010101010101010101014A
+:10565000010101010101010101010101010101013A
+:10566000010101010101010101010101010101012A
+:10567000010101010101010101010101010101011A
+:10568000010101010101010101010101010101010A
+:1056900001010101010101010101010101010101FA
+:1056A00001010101010101010101010101010101EA
+:1056B00001010101010101010101010101010101DA
+:1056C00001010101010101010101010101010101CA
+:1056D00001010101010101010101010101010101BA
+:1056E00001010101010101010101010101010101AA
+:1056F000010101010101010101010101010101019A
+:105700000101010101010101010101010101010189
+:105710000101010101010101010101010101010179
+:105720000101010101010101010101010101010169
+:105730000101010101010101010101010101010159
+:105740000101010101010101010101010101010149
+:105750000101010101010101010101010101010139
+:105760000101010101010101010101010101010129
+:105770000101010101010101010101010101010119
+:105780000101010101010101010101010101010109
+:1057900001010101010101010101010101010101F9
+:1057A00001010101010101010101010101010101E9
+:1057B00001010101010101010101010101010101D9
+:1057C00001010101010101010101010101010101C9
+:1057D00001010101010101010101010101010101B9
+:1057E00001010101010101010101010101010101A9
+:1057F0000101010101010101010101010101010199
+:105800000101010101010101010101010101010188
+:105810000101010101010101010101010101010178
+:105820000101010101010101010101010101010168
+:105830000101010101010101010101010101010158
+:105840000101010101010101010101010101010148
+:105850000101010101010101010101010101010138
+:105860000101010101010101010101010101010128
+:105870000101010101010101010101010101010118
+:105880000101010101010101010101010101010108
+:1058900001010101010101010101010101010101F8
+:1058A00001010101010101010101010101010101E8
+:1058B00001010101010101010101010101010101D8
+:1058C00001010101010101010101010101010101C8
+:1058D00001010101010101010101010101010101B8
+:1058E00001010101010101010101010101010101A8
+:1058F0000101010101010101010101010101010198
+:105900000101010101010101010101010101010187
+:105910000101010101010101010101010101010177
+:105920000101010101010101010101010101010167
+:105930000101010101010101010101010101010157
+:105940000101010101010101010101010101010147
+:105950000101010101010101010101010101010137
+:105960000101010101010101010101010101010127
+:105970000101010101010101010101010101010117
+:105980000101010101010101010101010101010107
+:1059900001010101010101010101010101010101F7
+:1059A00001010101010101010101010101010101E7
+:1059B00001010101010101010101010101010101D7
+:1059C00001010101010101010101010101010101C7
+:1059D00001010101010101010101010101010101B7
+:1059E00001010101010101010101010101010101A7
+:1059F0000101010101010101010101010101010197
+:105A00000101010101010101010101010101010186
+:105A10000101010101010101010101010101010176
+:105A20000101010101010101010101010101010166
+:105A30000101010101010101010101010101010156
+:105A40000101010101010101010101010101010146
+:105A50000101010101010101010101010101010136
+:105A60000101010101010101010101010101010126
+:105A70000101010101010101010101010101010116
+:105A80000101010101010101010101010101010106
+:105A900001010101010101010101010101010101F6
+:105AA00001010101010101010101010101010101E6
+:105AB00001010101010101010101010101010101D6
+:105AC00001010101010101010101010101010101C6
+:105AD00001010101010101010101010101010101B6
+:105AE00001010101010101010101010101010101A6
+:105AF0000101010101010101010101010101010196
+:105B00000101010101010101010101010101010185
+:105B10000101010101010101010101010101010175
+:105B20000101010101010101010101010101010165
+:105B30000101010101010101010101010101010155
+:105B40000101010101010101010101010101010145
+:105B50000101010101010101010101010101010135
+:105B60000101010101010101010101010101010125
+:105B70000101010101010101010101010101010115
+:105B80000101010101010101010101010101010105
+:105B900001010101010101010101010101010101F5
+:105BA00001010101010101010101010101010101E5
+:105BB00001010101010101010101010101010101D5
+:105BC00001010101010101010101010101010101C5
+:105BD00001010101010101010101010101010101B5
+:105BE00001010101010101010101010101010101A5
+:105BF0000101010101010101010101010101010195
+:105C00000101010101010101010101010101010184
+:105C10000101010101010101010101010101010174
+:105C20000101010101010101010101010101010164
+:105C30000101010101010101010101010101010154
+:105C40000101010101010101010101010101010144
+:105C50000101010101010101010101010101010134
+:105C60000101010101010101010101010101010124
+:105C70000101010101010101010101010101010114
+:105C80000101010101010101010101010101010104
+:105C900001010101010101010101010101010101F4
+:105CA00001010101010101010101010101010101E4
+:105CB00001010101010101010101010101010101D4
+:105CC00001010101010101010101010101010101C4
+:105CD00001010101010101010101010101010101B4
+:105CE00001010101010101010101010101010101A4
+:105CF0000101010101010101010101010101010194
+:105D00000101010101010101010101010101010084
+:105D10000000000000000000000000000000000083
+:105D20000000000000000000000000000000000073
+:105D30000000000000000000000000000000000063
+:105D40000000000000000000000000000000000053
+:105D50000000000000000000000000000000000043
+:105D60000000000000000000000000000000000033
+:105D70000000000000000000000000000000000023
+:105D80000000000000000000000000000000000013
+:105D90000000000000000000000000000000000003
+:105DA00000000000000000000000000000000000F3
+:105DB00000000000000000000000000000000000E3
+:105DC00000000000000000000000000000000000D3
+:105DD00000000000000000000000000000000000C3
+:105DE00000000000000000000000000000000000B3
+:105DF00000000000000000000000000000000000A3
+:105E00000000000000000000000000000000000092
+:105E10000000000000000000000000000000000082
+:105E20000000000000000000000000000000000072
+:105E30000000000000000000000000000000000062
+:105E40000000000000000000000000000000000052
+:105E50000000000000000000000000000000000042
+:105E60000000000000000000000000000000000032
+:105E70000000000000000000000000000000000022
+:105E80000000000000000000000000000000000012
+:105E90000000000000000000000000000000000002
+:105EA00000000000000000000000000000000000F2
+:105EB00000000000000000000000000000000000E2
+:105EC00000000000000000000000000000000000D2
+:105ED00000000000000000000000000000000000C2
+:105EE00000000000000000000000000000000000B2
+:105EF00000000000000000000000000000000000A2
+:105F00000000000000000000000000000000000091
+:105F10000000000000000000000000000000000081
+:105F20000000000000000000000000000000000071
+:105F30000000000000000000000000000000000061
+:105F40000000000000000000000000000000000051
+:105F50000000000000000000000000000000000041
+:105F60000000000000000000000000000000000031
+:105F70000000000000000000000000000000000021
+:105F80000000000000000000000000000000000011
+:105F90000000000000000000000000000000000001
+:105FA00000000000000000000000000000000000F1
+:105FB00000000000000000000000000000000000E1
+:105FC00000000000000000000000000000000000D1
+:105FD00000000000000000000000000000000000C1
+:105FE00000000000000000000000000000000000B1
+:105FF00000000000000000000000000000000000A1
+:106000000000000000000000000000000000000090
+:106010000000000000000000000000000000000080
+:106020000000000000000000000000000000000070
+:106030000000000000000000000000000000000060
+:106040000000000000000000000000000000000050
+:106050000000000000000000000000000000000040
+:106060000000000000000000000000000000000030
+:106070000000000000000000000000000000000020
+:106080000000000000000000000000000000000010
+:106090000000000000000000000000000000000000
+:1060A00000000000000000000000000000000000F0
+:1060B00000000000000000000000000000000000E0
+:1060C00000000000000000000000000000000000D0
+:1060D00000000000000000000000000000000000C0
+:1060E00000000000000000000000000000000000B0
+:1060F00000000000000000000000000000000000A0
+:10610000000000000000000000000000000000028D
+:10611000020202020202020202020202020202025F
+:10612000020202020202020202020202020202024F
+:10613000020202020202020202020202020202023F
+:10614000020202020202020202020202020202022F
+:10615000020202020202020202020202020202021F
+:10616000020202020202020202020202020202020F
+:1061700002020202020202020202020202020202FF
+:1061800002020202020202020202020202020202EF
+:1061900002020202020202020202020202020202DF
+:1061A00002020202020202020202020202020202CF
+:1061B00002020202020202020202020202020202BF
+:1061C00002020202020202020202020202020202AF
+:1061D000020202020202020202020202020202029F
+:1061E000020202020202020202020202020202028F
+:1061F000020202020202020202020202020202027F
+:10620000020202020202020202020202020202026E
+:10621000020202020202020202020202020202025E
+:10622000020202020202020202020202020202024E
+:10623000020202020202020202020202020202023E
+:10624000020202020202020202020202020202022E
+:10625000020202020202020202020202020202021E
+:10626000020202020202020202020202020202020E
+:1062700002020202020202020202020202020202FE
+:1062800002020202020202020202020202020202EE
+:1062900002020202020202020202020202020202DE
+:1062A00002020202020202020202020202020202CE
+:1062B00002020202020202020202020202020202BE
+:1062C00002020202020202020202020202020202AE
+:1062D000020202020202020202020202020202029E
+:1062E000020202020202020202020202020202028E
+:1062F000020202020202020202020202020202027E
+:10630000020202020202020202020202020202026D
+:10631000020202020202020202020202020202025D
+:10632000020202020202020202020202020202024D
+:10633000020202020202020202020202020202023D
+:10634000020202020202020202020202020202022D
+:10635000020202020202020202020202020202021D
+:10636000020202020202020202020202020202020D
+:1063700002020202020202020202020202020202FD
+:1063800002020202020202020202020202020202ED
+:1063900002020202020202020202020202020202DD
+:1063A00002020202020202020202020202020202CD
+:1063B00002020202020202020202020202020202BD
+:1063C00002020202020202020202020202020202AD
+:1063D000020202020202020202020202020202029D
+:1063E000020202020202020202020202020202028D
+:1063F000020202020202020202020202020202027D
+:10640000020202020202020202020202020202026C
+:10641000020202020202020202020202020202025C
+:10642000020202020202020202020202020202024C
+:10643000020202020202020202020202020202023C
+:10644000020202020202020202020202020202022C
+:10645000020202020202020202020202020202021C
+:10646000020202020202020202020202020202020C
+:1064700002020202020202020202020202020202FC
+:1064800002020202020202020202020202020202EC
+:1064900002020202020202020202020202020202DC
+:1064A00002020202020202020202020202020202CC
+:1064B00002020202020202020202020202020202BC
+:1064C00002020202020202020202020202020202AC
+:1064D000020202020202020202020202020202029C
+:1064E000020202020202020202020202020202028C
+:1064F000020202020202020202020202020202027C
+:10650000020202020202020202020202020202026B
+:10651000020202020202020202020202020202025B
+:10652000020202020202020202020202020202024B
+:10653000020202020202020202020202020202023B
+:10654000020202020202020202020202020202022B
+:10655000020202020202020202020202020202021B
+:10656000020202020202020202020202020202020B
+:1065700002020202020202020202020202020202FB
+:1065800002020202020202020202020202020202EB
+:1065900002020202020202020202020202020202DB
+:1065A00002020202020202020202020202020202CB
+:1065B00002020202020202020202020202020202BB
+:1065C00002020202020202020202020202020202AB
+:1065D000020202020202020202020202020202029B
+:1065E000020202020202020202020202020202028B
+:1065F000020202020202020202020202020202027B
+:10660000020202020202020202020202020202026A
+:10661000020202020202020202020202020202025A
+:10662000020202020202020202020202020202024A
+:10663000020202020202020202020202020202023A
+:10664000020202020202020202020202020202022A
+:10665000020202020202020202020202020202021A
+:10666000020202020202020202020202020202020A
+:1066700002020202020202020202020202020202FA
+:1066800002020202020202020202020202020202EA
+:1066900002020202020202020202020202020202DA
+:1066A00002020202020202020202020202020202CA
+:1066B00002020202020202020202020202020202BA
+:1066C00002020202020202020202020202020202AA
+:1066D000020202020202020202020202020202029A
+:1066E000020202020202020202020202020202028A
+:1066F000020202020202020202020202020202027A
+:106700000202020202020202020202020202020269
+:106710000202020202020202020202020202020259
+:106720000202020202020202020202020202020249
+:106730000202020202020202020202020202020239
+:106740000202020202020202020202020202020229
+:106750000202020202020202020202020202020219
+:106760000202020202020202020202020202020209
+:1067700002020202020202020202020202020202F9
+:1067800002020202020202020202020202020202E9
+:1067900002020202020202020202020202020202D9
+:1067A00002020202020202020202020202020202C9
+:1067B00002020202020202020202020202020202B9
+:1067C00002020202020202020202020202020202A9
+:1067D0000202020202020202020202020202020299
+:1067E0000202020202020202020202020202020289
+:1067F0000202020202020202020202020202020279
+:106800000202020202020202020202020202020268
+:106810000202020202020202020202020202020258
+:106820000202020202020202020202020202020248
+:106830000202020202020202020202020202020238
+:106840000202020202020202020202020202020228
+:106850000202020202020202020202020202020218
+:106860000202020202020202020202020202020208
+:1068700002020202020202020202020202020202F8
+:1068800002020202020202020202020202020202E8
+:1068900002020202020202020202020202020202D8
+:1068A00002020202020202020202020202020202C8
+:1068B00002020202020202020202020202020202B8
+:1068C00002020202020202020202020202020202A8
+:1068D0000202020202020202020202020202020298
+:1068E0000202020202020202020202020202020288
+:1068F0000202020202020202020202020202020278
+:106900000202020202020202020202020202020267
+:106910000202020202020202020202020202020257
+:106920000202020202020202020202020202020247
+:106930000202020202020202020202020202020237
+:106940000202020202020202020202020202020227
+:106950000202020202020202020202020202020217
+:106960000202020202020202020202020202020207
+:1069700002020202020202020202020202020202F7
+:1069800002020202020202020202020202020202E7
+:1069900002020202020202020202020202020202D7
+:1069A00002020202020202020202020202020202C7
+:1069B00002020202020202020202020202020202B7
+:1069C00002020202020202020202020202020202A7
+:1069D0000202020202020202020202020202020297
+:1069E0000202020202020202020202020202020287
+:1069F0000202020202020202020202020202020277
+:106A00000202020202020202020202020202020266
+:106A10000202020202020202020202020202020256
+:106A20000202020202020202020202020202020246
+:106A30000202020202020202020202020202020236
+:106A40000202020202020202020202020202020226
+:106A50000202020202020202020202020202020216
+:106A60000202020202020202020202020202020206
+:106A700002020202020202020202020202020202F6
+:106A800002020202020202020202020202020202E6
+:106A900002020202020202020202020202020202D6
+:106AA00002020202020202020202020202020202C6
+:106AB00002020202020202020202020202020202B6
+:106AC00002020202020202020202020202020202A6
+:106AD0000202020202020202020202020202020296
+:106AE0000202020202020202020202020202020286
+:106AF0000202020202020202020202020202020276
+:106B00000202020202020202020202020202020265
+:106B10000202020202020202020202020202020255
+:106B20000202020202020202020202020202020245
+:106B30000202020202020202020202020202020235
+:106B40000202020202020202020202020202020225
+:106B50000202020202020202020202020202020215
+:106B60000202020202020202020202020202020205
+:106B700002020202020202020202020202020202F5
+:106B800002020202020202020202020202020202E5
+:106B900002020202020202020202020202020202D5
+:106BA00002020202020202020202020202020202C5
+:106BB00002020202020202020202020202020202B5
+:106BC00002020202020202020202020202020202A5
+:106BD0000202020202020202020202020202020295
+:106BE0000202020202020202020202020202020285
+:106BF0000202020202020202020202020202020275
+:106C00000202020202020202020202020202020264
+:106C10000202020202020202020202020202020254
+:106C20000202020202020202020202020202020244
+:106C30000202020202020202020202020202020234
+:106C40000202020202020202020202020202020224
+:106C50000202020202020202020202020202020214
+:106C60000202020202020202020202020202020204
+:106C700002020202020202020202020202020202F4
+:106C800002020202020202020202020202020202E4
+:106C900002020202020202020202020202020202D4
+:106CA00002020202020202020202020202020202C4
+:106CB00002020202020202020202020202020202B4
+:106CC00002020202020202020202020202020202A4
+:106CD0000202020202020202020202020202020294
+:106CE0000202020202020202020202020202020284
+:106CF0000202020202020202020202020202020274
+:106D00000202020202020202020202020202020263
+:106D10000202020202020202020202020202020253
+:106D20000202020202020202020202020202020243
+:106D30000202020202020202020202020202020233
+:106D40000202020202020202020202020202020223
+:106D50000202020202020202020202020202020213
+:106D60000202020202020202020202020202020203
+:106D700002020202020202020202020202020202F3
+:106D800002020202020202020202020202020202E3
+:106D900002020202020202020202020202020202D3
+:106DA00002020202020202020202020202020202C3
+:106DB00002020202020202020202020202020202B3
+:106DC00002020202020202020202020202020202A3
+:106DD0000202020202020202020202020202020293
+:106DE0000202020202020202020202020202020283
+:106DF0000202020202020202020202020202020273
+:106E00000202020202020202020202020202020262
+:106E10000202020202020202020202020202020252
+:106E20000202020202020202020202020202020242
+:106E30000202020202020202020202020202020232
+:106E40000202020202020202020202020202020222
+:106E50000202020202020202020202020202020212
+:106E60000202020202020202020202020202020202
+:106E700002020202020202020202020202020202F2
+:106E800002020202020202020202020202020202E2
+:106E900002020202020202020202020202020202D2
+:106EA00002020202020202020202020202020202C2
+:106EB00002020202020202020202020202020202B2
+:106EC00002020202020202020202020202020202A2
+:106ED0000202020202020202020202020202020292
+:106EE0000202020202020202020202020202020282
+:106EF0000202020202020202020202020202020272
+:106F00000202020202020202020202020202020261
+:106F10000202020202020202020202020202020251
+:106F20000202020202020202020202020202020241
+:106F30000202020202020202020202020202020231
+:106F40000202020202020202020202020202020221
+:106F50000202020202020202020202020202020211
+:106F60000202020202020202020202020202020201
+:106F700002020202020202020202020202020202F1
+:106F800002020202020202020202020202020202E1
+:106F900002020202020202020202020202020202D1
+:106FA00002020202020202020202020202020202C1
+:106FB00002020202020202020202020202020202B1
+:106FC00002020202020202020202020202020202A1
+:106FD0000202020202020202020202020202020291
+:106FE0000202020202020202020202020202020281
+:106FF0000202020202020202020202020202020271
+:107000000202020202020202020202020202020260
+:107010000202020202020202020202020202020250
+:107020000202020202020202020202020202020240
+:107030000202020202020202020202020202020230
+:107040000202020202020202020202020202020220
+:107050000202020202020202020202020202020210
+:107060000202020202020202020202020202020200
+:1070700002020202020202020202020202020202F0
+:1070800002020202020202020202020202020202E0
+:1070900002020202020202020202020202020202D0
+:1070A00002020202020202020202020202020202C0
+:1070B00002020202020202020202020202020202B0
+:1070C00002020202020202020202020202020202A0
+:1070D0000202020202020202020202020202020290
+:1070E0000202020202020202020202020202020280
+:1070F0000202020202020202020202020202020270
+:10710000020202020202020202020202020202025F
+:10711000020202020202020202020202020202024F
+:10712000020202020202020202020202020202023F
+:10713000020202020202020202020202020202022F
+:10714000020202020202020202020202020202021F
+:10715000020202020202020202020202020202020F
+:1071600002020202020202020202020202020202FF
+:1071700002020202020202020202020202020202EF
+:1071800002020202020202020202020202020202DF
+:1071900002020202020202020202020202020202CF
+:1071A00002020202020202020202020202020202BF
+:1071B00002020202020202020202020202020202AF
+:1071C000020202020202020202020202020202029F
+:1071D000020202020202020202020202020202028F
+:1071E000020202020202020202020202020202027F
+:1071F000020202020202020202020202020202026F
+:10720000020202020202020202020202020202025E
+:10721000020202020202020202020202020202024E
+:10722000020202020202020202020202020202023E
+:10723000020202020202020202020202020202022E
+:10724000020202020202020202020202020202021E
+:10725000020202020202020202020202020202020E
+:1072600002020202020202020202020202020202FE
+:1072700002020202020202020202020202020202EE
+:1072800002020202020202020202020202020202DE
+:1072900002020202020202020202020202020202CE
+:1072A00002020202020202020202020202020202BE
+:1072B00002020202020202020202020202020202AE
+:1072C000020202020202020202020202020202029E
+:1072D000020202020202020202020202020202028E
+:1072E000020202020202020202020202020202027E
+:1072F000020202020202020202020202020202026E
+:10730000020202020202020202020202020202025D
+:10731000020202020202020202020202020202024D
+:10732000020202020202020202020202020202023D
+:10733000020202020202020202020202020202022D
+:10734000020202020202020202020202020202021D
+:10735000020202020202020202020202020202020D
+:1073600002020202020202020202020202020202FD
+:1073700002020202020202020202020202020202ED
+:1073800002020202020202020202020202020202DD
+:1073900002020202020202020202020202020202CD
+:1073A00002020202020202020202020202020202BD
+:1073B00002020202020202020202020202020202AD
+:1073C000020202020202020202020202020202029D
+:1073D000020202020202020202020202020202028D
+:1073E000020202020202020202020202020202027D
+:1073F000020202020202020202020202020202026D
+:10740000020202020202020202020202020202025C
+:10741000020202020202020202020202020202024C
+:10742000020202020202020202020202020202023C
+:10743000020202020202020202020202020202022C
+:10744000020202020202020202020202020202021C
+:10745000020202020202020202020202020202020C
+:1074600002020202020202020202020202020202FC
+:1074700002020202020202020202020202020202EC
+:1074800002020202020202020202020202020202DC
+:1074900002020202020202020202020202020202CC
+:1074A00002020202020202020202020202020202BC
+:1074B00002020202020202020202020202020202AC
+:1074C000020202020202020202020202020202029C
+:1074D000020202020202020202020202020202028C
+:1074E000020202020202020202020202020202027C
+:1074F000020202020202020202020202020202026C
+:10750000020202020202020202020202020202025B
+:10751000020202020202020202020202020202024B
+:10752000020202020202020202020202020202023B
+:10753000020202020202020202020202020202022B
+:10754000020202020202020202020202020202021B
+:10755000020202020202020202020202020202020B
+:1075600002020202020202020202020202020202FB
+:1075700002020202020202020202020202020202EB
+:1075800002020202020202020202020202020202DB
+:1075900002020202020202020202020202020202CB
+:1075A00002020202020202020202020202020202BB
+:1075B00002020202020202020202020202020202AB
+:1075C000020202020202020202020202020202029B
+:1075D000020202020202020202020202020202028B
+:1075E000020202020202020202020202020202027B
+:1075F000020202020202020202020202020202026B
+:10760000020202020202020202020202020202025A
+:10761000020202020202020202020202020202024A
+:10762000020202020202020202020202020202023A
+:10763000020202020202020202020202020202022A
+:10764000020202020202020202020202020202021A
+:10765000020202020202020202020202020202020A
+:1076600002020202020202020202020202020202FA
+:1076700002020202020202020202020202020202EA
+:1076800002020202020202020202020202020202DA
+:1076900002020202020202020202020202020202CA
+:1076A00002020202020202020202020202020202BA
+:1076B00002020202020202020202020202020202AA
+:1076C000020202020202020202020202020202029A
+:1076D000020202020202020202020202020202028A
+:1076E000020202020202020202020202020202027A
+:1076F000020202020202020202020202020202026A
+:107700000202020202020202020202020202020259
+:107710000202020202020202020202020202020249
+:107720000202020202020202020202020202020239
+:107730000202020202020202020202020202020229
+:107740000202020202020202020202020202020219
+:107750000202020202020202020202020202020209
+:1077600002020202020202020202020202020202F9
+:1077700002020202020202020202020202020202E9
+:1077800002020202020202020202020202020202D9
+:1077900002020202020202020202020202020202C9
+:1077A00002020202020202020202020202020202B9
+:1077B00002020202020202020202020202020202A9
+:1077C0000202020202020202020202020202020299
+:1077D0000202020202020202020202020202020289
+:1077E0000202020202020202020202020202020279
+:1077F0000202020202020202020202020202020269
+:107800000202020202020202020202020202020258
+:107810000202020202020202020202020202020248
+:107820000202020202020202020202020202020238
+:107830000202020202020202020202020202020228
+:107840000202020202020202020202020202020218
+:107850000202020202020202020202020202020208
+:1078600002020202020202020202020202020202F8
+:1078700002020202020202020202020202020202E8
+:1078800002020202020202020202020202020202D8
+:1078900002020202020202020202020202020202C8
+:1078A00002020202020202020202020202020202B8
+:1078B00002020202020202020202020202020202A8
+:1078C0000202020202020202020202020202020298
+:1078D0000202020202020202020202020202020288
+:1078E0000202020202020202020202020202020278
+:1078F0000202020202020202020202020202020268
+:107900000202020202020202020202020202020059
+:107910000000000000000000000000000000000067
+:107920000000000000000000000000000000000057
+:107930000000000000000000000000000000000047
+:107940000000000000000000000000000000000037
+:107950000000000000000000000000000000000027
+:107960000000000000000000000000000000000017
+:107970000000000000000000000000000000000007
+:1079800000000000000000000000000000000000F7
+:1079900000000000000000000000000000000000E7
+:1079A00000000000000000000000000000000000D7
+:1079B00000000000000000000000000000000000C7
+:1079C00000000000000000000000000000000000B7
+:1079D00000000000000000000000000000000000A7
+:1079E0000000000000000000000000000000000097
+:1079F0000000000000000000000000000000000087
+:107A00000000000000000000000000000000000076
+:107A10000000000000000000000000000000000066
+:107A20000000000000000000000000000000000056
+:107A30000000000000000000000000000000000046
+:107A40000000000000000000000000000000000036
+:107A50000000000000000000000000000000000026
+:107A60000000000000000000000000000000000016
+:107A70000000000000000000000000000000000006
+:107A800000000000000000000000000000000000F6
+:107A900000000000000000000000000000000000E6
+:107AA00000000000000000000000000000000000D6
+:107AB00000000000000000000000000000000000C6
+:107AC00000000000000000000000000000000000B6
+:107AD00000000000000000000000000000000000A6
+:107AE0000000000000000000000000000000000096
+:107AF0000000000000000000000000000000000086
+:107B00000000000000000000000000000000000075
+:107B10000000000000000000000000000000000065
+:107B20000000000000000000000000000000000055
+:107B30000000000000000000000000000000000045
+:107B40000000000000000000000000000000000035
+:107B50000000000000000000000000000000000025
+:107B60000000000000000000000000000000000015
+:107B70000000000000000000000000000000000005
+:107B800000000000000000000000000000000000F5
+:107B900000000000000000000000000000000000E5
+:107BA00000000000000000000000000000000000D5
+:107BB00000000000000000000000000000000000C5
+:107BC00000000000000000000000000000000000B5
+:107BD00000000000000000000000000000000000A5
+:107BE0000000000000000000000000000000000095
+:107BF0000000000000000000000000000000000085
+:107C00000000000000000000000000000000000074
+:107C10000000000000000000000000000000000064
+:107C20000000000000000000000000000000000054
+:107C30000000000000000000000000000000000044
+:107C40000000000000000000000000000000000034
+:107C50000000000000000000000000000000000024
+:107C60000000000000000000000000000000000014
+:107C70000000000000000000000000000000000004
+:107C800000000000000000000000000000000000F4
+:107C900000000000000000000000000000000000E4
+:107CA00000000000000000000000000000000000D4
+:107CB00000000000000000000000000000000000C4
+:107CC00000000000000000000000000000000000B4
+:107CD00000000000000000000000000000000000A4
+:107CE0000000000000000000000000000000000094
+:107CF0000000000000000000000000000000000084
+:107D00000000000000000000000000000000000172
+:107D10000101010101010101010101010101010153
+:107D20000101010101010101010101010101010143
+:107D30000101010101010101010101010101010133
+:107D40000101010101010101010101010101010123
+:107D50000101010101010101010101010101010113
+:107D60000101010101010101010101010101010103
+:107D700001010101010101010101010101010101F3
+:107D800001010101010101010101010101010101E3
+:107D900001010101010101010101010101010101D3
+:107DA00001010101010101010101010101010101C3
+:107DB00001010101010101010101010101010101B3
+:107DC00001010101010101010101010101010101A3
+:107DD0000101010101010101010101010101010193
+:107DE0000101010101010101010101010101010183
+:107DF0000101010101010101010101010101010173
+:107E00000101010101010101010101010101010162
+:107E10000101010101010101010101010101010152
+:107E20000101010101010101010101010101010142
+:107E30000101010101010101010101010101010132
+:107E40000101010101010101010101010101010122
+:107E50000101010101010101010101010101010112
+:107E60000101010101010101010101010101010102
+:107E700001010101010101010101010101010101F2
+:107E800001010101010101010101010101010101E2
+:107E900001010101010101010101010101010101D2
+:107EA00001010101010101010101010101010101C2
+:107EB00001010101010101010101010101010101B2
+:107EC00001010101010101010101010101010101A2
+:107ED0000101010101010101010101010101010192
+:107EE0000101010101010101010101010101010182
+:107EF0000101010101010101010101010101010172
+:107F00000101010101010101010101010101010161
+:107F10000101010101010101010101010101010151
+:107F20000101010101010101010101010101010141
+:107F30000101010101010101010101010101010131
+:107F40000101010101010101010101010101010121
+:107F50000101010101010101010101010101010111
+:107F60000101010101010101010101010101010101
+:107F700001010101010101010101010101010101F1
+:107F800001010101010101010101010101010101E1
+:107F900001010101010101010101010101010101D1
+:107FA00001010101010101010101010101010101C1
+:107FB00001010101010101010101010101010101B1
+:107FC00001010101010101010101010101010101A1
+:107FD0000101010101010101010101010101010191
+:107FE0000101010101010101010101010101010181
+:107FF0000101010101010101010101010101010171
+:108000000101010101010101010101010101010160
+:108010000101010101010101010101010101010150
+:108020000101010101010101010101010101010140
+:108030000101010101010101010101010101010130
+:108040000101010101010101010101010101010120
+:108050000101010101010101010101010101010110
+:108060000101010101010101010101010101010100
+:1080700001010101010101010101010101010101F0
+:1080800001010101010101010101010101010101E0
+:1080900001010101010101010101010101010101D0
+:1080A00001010101010101010101010101010101C0
+:1080B00001010101010101010101010101010101B0
+:1080C00001010101010101010101010101010101A0
+:1080D0000101010101010101010101010101010190
+:1080E0000101010101010101010101010101010180
+:1080F0000101010101010101010101010101010170
+:10810000010101010101010101010101010101015F
+:10811000010101010101010101010101010101014F
+:10812000010101010101010101010101010101013F
+:10813000010101010101010101010101010101012F
+:10814000010101010101010101010101010101011F
+:10815000010101010101010101010101010101010F
+:1081600001010101010101010101010101010101FF
+:1081700001010101010101010101010101010101EF
+:1081800001010101010101010101010101010101DF
+:1081900001010101010101010101010101010101CF
+:1081A00001010101010101010101010101010101BF
+:1081B00001010101010101010101010101010101AF
+:1081C000010101010101010101010101010101019F
+:1081D000010101010101010101010101010101018F
+:1081E000010101010101010101010101010101017F
+:1081F000010101010101010101010101010101016F
+:10820000010101010101010101010101010101015E
+:10821000010101010101010101010101010101014E
+:10822000010101010101010101010101010101013E
+:10823000010101010101010101010101010101012E
+:10824000010101010101010101010101010101011E
+:10825000010101010101010101010101010101010E
+:1082600001010101010101010101010101010101FE
+:1082700001010101010101010101010101010101EE
+:1082800001010101010101010101010101010101DE
+:1082900001010101010101010101010101010101CE
+:1082A00001010101010101010101010101010101BE
+:1082B00001010101010101010101010101010101AE
+:1082C000010101010101010101010101010101019E
+:1082D000010101010101010101010101010101018E
+:1082E000010101010101010101010101010101017E
+:1082F000010101010101010101010101010101016E
+:10830000010101010101010101010101010101015D
+:10831000010101010101010101010101010101014D
+:10832000010101010101010101010101010101013D
+:10833000010101010101010101010101010101012D
+:10834000010101010101010101010101010101011D
+:10835000010101010101010101010101010101010D
+:1083600001010101010101010101010101010101FD
+:1083700001010101010101010101010101010101ED
+:1083800001010101010101010101010101010101DD
+:1083900001010101010101010101010101010101CD
+:1083A00001010101010101010101010101010101BD
+:1083B00001010101010101010101010101010101AD
+:1083C000010101010101010101010101010101019D
+:1083D000010101010101010101010101010101018D
+:1083E000010101010101010101010101010101017D
+:1083F000010101010101010101010101010101016D
+:10840000010101010101010101010101010101015C
+:10841000010101010101010101010101010101014C
+:10842000010101010101010101010101010101013C
+:10843000010101010101010101010101010101012C
+:10844000010101010101010101010101010101011C
+:10845000010101010101010101010101010101010C
+:1084600001010101010101010101010101010101FC
+:1084700001010101010101010101010101010101EC
+:1084800001010101010101010101010101010101DC
+:1084900001010101010101010101010101010101CC
+:1084A00001010101010101010101010101010101BC
+:1084B00001010101010101010101010101010101AC
+:1084C000010101010101010101010101010101019C
+:1084D000010101010101010101010101010101018C
+:1084E000010101010101010101010101010101017C
+:1084F000010101010101010101010101010101016C
+:10850000010101010101010101010101010101015B
+:10851000010101010101010101010101010101014B
+:10852000010101010101010101010101010101013B
+:10853000010101010101010101010101010101012B
+:10854000010101010101010101010101010101011B
+:10855000010101010101010101010101010101010B
+:1085600001010101010101010101010101010101FB
+:1085700001010101010101010101010101010101EB
+:1085800001010101010101010101010101010101DB
+:1085900001010101010101010101010101010101CB
+:1085A00001010101010101010101010101010101BB
+:1085B00001010101010101010101010101010101AB
+:1085C000010101010101010101010101010101019B
+:1085D000010101010101010101010101010101018B
+:1085E000010101010101010101010101010101017B
+:1085F000010101010101010101010101010101016B
+:10860000010101010101010101010101010101015A
+:10861000010101010101010101010101010101014A
+:10862000010101010101010101010101010101013A
+:10863000010101010101010101010101010101012A
+:10864000010101010101010101010101010101011A
+:10865000010101010101010101010101010101010A
+:1086600001010101010101010101010101010101FA
+:1086700001010101010101010101010101010101EA
+:1086800001010101010101010101010101010101DA
+:1086900001010101010101010101010101010101CA
+:1086A00001010101010101010101010101010101BA
+:1086B00001010101010101010101010101010101AA
+:1086C000010101010101010101010101010101019A
+:1086D000010101010101010101010101010101018A
+:1086E000010101010101010101010101010101017A
+:1086F000010101010101010101010101010101016A
+:108700000101010101010101010101010101010159
+:108710000101010101010101010101010101010149
+:108720000101010101010101010101010101010139
+:108730000101010101010101010101010101010129
+:108740000101010101010101010101010101010119
+:108750000101010101010101010101010101010109
+:1087600001010101010101010101010101010101F9
+:1087700001010101010101010101010101010101E9
+:1087800001010101010101010101010101010101D9
+:1087900001010101010101010101010101010101C9
+:1087A00001010101010101010101010101010101B9
+:1087B00001010101010101010101010101010101A9
+:1087C0000101010101010101010101010101010199
+:1087D0000101010101010101010101010101010189
+:1087E0000101010101010101010101010101010179
+:1087F0000101010101010101010101010101010169
+:108800000101010101010101010101010101010158
+:108810000101010101010101010101010101010148
+:108820000101010101010101010101010101010138
+:108830000101010101010101010101010101010128
+:108840000101010101010101010101010101010118
+:108850000101010101010101010101010101010108
+:1088600001010101010101010101010101010101F8
+:1088700001010101010101010101010101010101E8
+:1088800001010101010101010101010101010101D8
+:1088900001010101010101010101010101010101C8
+:1088A00001010101010101010101010101010101B8
+:1088B00001010101010101010101010101010101A8
+:1088C0000101010101010101010101010101010198
+:1088D0000101010101010101010101010101010188
+:1088E0000101010101010101010101010101010178
+:1088F0000101010101010101010101010101010168
+:108900000101010101010101010101010101010157
+:108910000101010101010101010101010101010147
+:108920000101010101010101010101010101010137
+:108930000101010101010101010101010101010127
+:108940000101010101010101010101010101010117
+:108950000101010101010101010101010101010107
+:1089600001010101010101010101010101010101F7
+:1089700001010101010101010101010101010101E7
+:1089800001010101010101010101010101010101D7
+:1089900001010101010101010101010101010101C7
+:1089A00001010101010101010101010101010101B7
+:1089B00001010101010101010101010101010101A7
+:1089C0000101010101010101010101010101010197
+:1089D0000101010101010101010101010101010187
+:1089E0000101010101010101010101010101010177
+:1089F0000101010101010101010101010101010167
+:108A00000101010101010101010101010101010156
+:108A10000101010101010101010101010101010146
+:108A20000101010101010101010101010101010136
+:108A30000101010101010101010101010101010126
+:108A40000101010101010101010101010101010116
+:108A50000101010101010101010101010101010106
+:108A600001010101010101010101010101010101F6
+:108A700001010101010101010101010101010101E6
+:108A800001010101010101010101010101010101D6
+:108A900001010101010101010101010101010101C6
+:108AA00001010101010101010101010101010101B6
+:108AB00001010101010101010101010101010101A6
+:108AC0000101010101010101010101010101010196
+:108AD0000101010101010101010101010101010186
+:108AE0000101010101010101010101010101010176
+:108AF0000101010101010101010101010101010166
+:108B00000101010101010101010101010101010155
+:108B10000101010101010101010101010101010145
+:108B20000101010101010101010101010101010135
+:108B30000101010101010101010101010101010125
+:108B40000101010101010101010101010101010115
+:108B50000101010101010101010101010101010105
+:108B600001010101010101010101010101010101F5
+:108B700001010101010101010101010101010101E5
+:108B800001010101010101010101010101010101D5
+:108B900001010101010101010101010101010101C5
+:108BA00001010101010101010101010101010101B5
+:108BB00001010101010101010101010101010101A5
+:108BC0000101010101010101010101010101010195
+:108BD0000101010101010101010101010101010185
+:108BE0000101010101010101010101010101010175
+:108BF0000101010101010101010101010101010165
+:108C00000101010101010101010101010101010154
+:108C10000101010101010101010101010101010144
+:108C20000101010101010101010101010101010134
+:108C30000101010101010101010101010101010124
+:108C40000101010101010101010101010101010114
+:108C50000101010101010101010101010101010104
+:108C600001010101010101010101010101010101F4
+:108C700001010101010101010101010101010101E4
+:108C800001010101010101010101010101010101D4
+:108C900001010101010101010101010101010101C4
+:108CA00001010101010101010101010101010101B4
+:108CB00001010101010101010101010101010101A4
+:108CC0000101010101010101010101010101010194
+:108CD0000101010101010101010101010101010184
+:108CE0000101010101010101010101010101010174
+:108CF0000101010101010101010101010101010164
+:108D00000101010101010101010101010101010153
+:108D10000101010101010101010101010101010143
+:108D20000101010101010101010101010101010133
+:108D30000101010101010101010101010101010123
+:108D40000101010101010101010101010101010113
+:108D50000101010101010101010101010101010103
+:108D600001010101010101010101010101010101F3
+:108D700001010101010101010101010101010101E3
+:108D800001010101010101010101010101010101D3
+:108D900001010101010101010101010101010101C3
+:108DA00001010101010101010101010101010101B3
+:108DB00001010101010101010101010101010101A3
+:108DC0000101010101010101010101010101010193
+:108DD0000101010101010101010101010101010183
+:108DE0000101010101010101010101010101010173
+:108DF0000101010101010101010101010101010163
+:108E00000101010101010101010101010101010152
+:108E10000101010101010101010101010101010142
+:108E20000101010101010101010101010101010132
+:108E30000101010101010101010101010101010122
+:108E40000101010101010101010101010101010112
+:108E50000101010101010101010101010101010102
+:108E600001010101010101010101010101010101F2
+:108E700001010101010101010101010101010101E2
+:108E800001010101010101010101010101010101D2
+:108E900001010101010101010101010101010101C2
+:108EA00001010101010101010101010101010101B2
+:108EB00001010101010101010101010101010101A2
+:108EC0000101010101010101010101010101010192
+:108ED0000101010101010101010101010101010182
+:108EE0000101010101010101010101010101010172
+:108EF0000101010101010101010101010101010162
+:108F00000101010101010101010101010101010151
+:108F10000101010101010101010101010101010141
+:108F20000101010101010101010101010101010131
+:108F30000101010101010101010101010101010121
+:108F40000101010101010101010101010101010111
+:108F50000101010101010101010101010101010101
+:108F600001010101010101010101010101010101F1
+:108F700001010101010101010101010101010101E1
+:108F800001010101010101010101010101010101D1
+:108F900001010101010101010101010101010101C1
+:108FA00001010101010101010101010101010101B1
+:108FB00001010101010101010101010101010101A1
+:108FC0000101010101010101010101010101010191
+:108FD0000101010101010101010101010101010181
+:108FE0000101010101010101010101010101010171
+:108FF0000101010101010101010101010101010161
+:109000000101010101010101010101010101010150
+:109010000101010101010101010101010101010140
+:109020000101010101010101010101010101010130
+:109030000101010101010101010101010101010120
+:109040000101010101010101010101010101010110
+:109050000101010101010101010101010101010100
+:1090600001010101010101010101010101010101F0
+:1090700001010101010101010101010101010101E0
+:1090800001010101010101010101010101010101D0
+:1090900001010101010101010101010101010101C0
+:1090A00001010101010101010101010101010101B0
+:1090B00001010101010101010101010101010101A0
+:1090C0000101010101010101010101010101010190
+:1090D0000101010101010101010101010101010180
+:1090E0000101010101010101010101010101010170
+:1090F0000101010101010101010101010101010160
+:10910000010101010101010101010101010101014F
+:10911000010101010101010101010101010101013F
+:10912000010101010101010101010101010101012F
+:10913000010101010101010101010101010101011F
+:10914000010101010101010101010101010101010F
+:1091500001010101010101010101010101010101FF
+:1091600001010101010101010101010101010101EF
+:1091700001010101010101010101010101010101DF
+:1091800001010101010101010101010101010101CF
+:1091900001010101010101010101010101010101BF
+:1091A00001010101010101010101010101010101AF
+:1091B000010101010101010101010101010101019F
+:1091C000010101010101010101010101010101018F
+:1091D000010101010101010101010101010101017F
+:1091E000010101010101010101010101010101016F
+:1091F000010101010101010101010101010101015F
+:10920000010101010101010101010101010101014E
+:10921000010101010101010101010101010101013E
+:10922000010101010101010101010101010101012E
+:10923000010101010101010101010101010101011E
+:10924000010101010101010101010101010101010E
+:1092500001010101010101010101010101010101FE
+:1092600001010101010101010101010101010101EE
+:1092700001010101010101010101010101010101DE
+:1092800001010101010101010101010101010101CE
+:1092900001010101010101010101010101010101BE
+:1092A00001010101010101010101010101010101AE
+:1092B000010101010101010101010101010101019E
+:1092C000010101010101010101010101010101018E
+:1092D000010101010101010101010101010101017E
+:1092E000010101010101010101010101010101016E
+:1092F000010101010101010101010101010101015E
+:10930000010101010101010101010101010101014D
+:10931000010101010101010101010101010101013D
+:10932000010101010101010101010101010101012D
+:10933000010101010101010101010101010101011D
+:10934000010101010101010101010101010101010D
+:1093500001010101010101010101010101010101FD
+:1093600001010101010101010101010101010101ED
+:1093700001010101010101010101010101010101DD
+:1093800001010101010101010101010101010101CD
+:1093900001010101010101010101010101010101BD
+:1093A00001010101010101010101010101010101AD
+:1093B000010101010101010101010101010101019D
+:1093C000010101010101010101010101010101018D
+:1093D000010101010101010101010101010101017D
+:1093E000010101010101010101010101010101016D
+:1093F000010101010101010101010101010101015D
+:10940000010101010101010101010101010101014C
+:10941000010101010101010101010101010101013C
+:10942000010101010101010101010101010101012C
+:10943000010101010101010101010101010101011C
+:10944000010101010101010101010101010101010C
+:1094500001010101010101010101010101010101FC
+:1094600001010101010101010101010101010101EC
+:1094700001010101010101010101010101010101DC
+:1094800001010101010101010101010101010101CC
+:1094900001010101010101010101010101010101BC
+:1094A00001010101010101010101010101010101AC
+:1094B000010101010101010101010101010101019C
+:1094C000010101010101010101010101010101018C
+:1094D000010101010101010101010101010101017C
+:1094E000010101010101010101010101010101016C
+:1094F000010101010101010101010101010101015C
+:10950000010101010101010101010101010101004C
+:10951000000000000000000000000000000000004B
+:10952000000000000000000000000000000000003B
+:10953000000000000000000000000000000000002B
+:10954000000000000000000000000000000000001B
+:10955000000000000000000000000000000000000B
+:1095600000000000000000000000000000000000FB
+:1095700000000000000000000000000000000000EB
+:1095800000000000000000000000000000000000DB
+:1095900000000000000000000000000000000000CB
+:1095A00000000000000000000000000000000000BB
+:1095B00000000000000000000000000000000000AB
+:1095C000000000000000000000000000000000009B
+:1095D000000000000000000000000000000000008B
+:1095E000000000000000000000000000000000007B
+:1095F000000000000000000000000000000000006B
+:10960000000000000000000000000000000000005A
+:10961000000000000000000000000000000000004A
+:10962000000000000000000000000000000000003A
+:10963000000000000000000000000000000000002A
+:10964000000000000000000000000000000000001A
+:10965000000000000000000000000000000000000A
+:1096600000000000000000000000000000000000FA
+:1096700000000000000000000000000000000000EA
+:1096800000000000000000000000000000000000DA
+:1096900000000000000000000000000000000000CA
+:1096A00000000000000000000000000000000000BA
+:1096B00000000000000000000000000000000000AA
+:1096C000000000000000000000000000000000009A
+:1096D000000000000000000000000000000000008A
+:1096E000000000000000000000000000000000007A
+:1096F000000000000000000000000000000000006A
+:109700000000000000000000000000000000000059
+:109710000000000000000000000000000000000049
+:109720000000000000000000000000000000000039
+:109730000000000000000000000000000000000029
+:109740000000000000000000000000000000000019
+:109750000000000000000000000000000000000009
+:1097600000000000000000000000000000000000F9
+:1097700000000000000000000000000000000000E9
+:1097800000000000000000000000000000000000D9
+:1097900000000000000000000000000000000000C9
+:1097A00000000000000000000000000000000000B9
+:1097B00000000000000000000000000000000000A9
+:1097C0000000000000000000000000000000000099
+:1097D0000000000000000000000000000000000089
+:1097E0000000000000000000000000000000000079
+:1097F0000000000000000000000000000000000069
+:109800000000000000000000000000000000000058
+:109810000000000000000000000000000000000048
+:109820000000000000000000000000000000000038
+:109830000000000000000000000000000000000028
+:109840000000000000000000000000000000000018
+:109850000000000000000000000000000000000008
+:1098600000000000000000000000000000000000F8
+:1098700000000000000000000000000000000000E8
+:1098800000000000000000000000000000000000D8
+:1098900000000000000000000000000000000000C8
+:1098A00000000000000000000000000000000000B8
+:1098B00000000000000000000000000000000000A8
+:1098C0000000000000000000000000000000000098
+:1098D0000000000000000000000000000000000088
+:1098E0000000000000000000000000000000000078
+:1098F0000000000000000000000000000000000068
+:109900000000000000000000000000000000000255
+:109910000202020202020202020202020202020227
+:109920000202020202020202020202020202020217
+:109930000202020202020202020202020202020207
+:1099400002020202020202020202020202020202F7
+:1099500002020202020202020202020202020202E7
+:1099600002020202020202020202020202020202D7
+:1099700002020202020202020202020202020202C7
+:1099800002020202020202020202020202020202B7
+:1099900002020202020202020202020202020202A7
+:1099A0000202020202020202020202020202020297
+:1099B0000202020202020202020202020202020287
+:1099C0000202020202020202020202020202020277
+:1099D0000202020202020202020202020202020267
+:1099E0000202020202020202020202020202020257
+:1099F0000202020202020202020202020202020247
+:109A00000202020202020202020202020202020236
+:109A10000202020202020202020202020202020226
+:109A20000202020202020202020202020202020216
+:109A30000202020202020202020202020202020206
+:109A400002020202020202020202020202020202F6
+:109A500002020202020202020202020202020202E6
+:109A600002020202020202020202020202020202D6
+:109A700002020202020202020202020202020202C6
+:109A800002020202020202020202020202020202B6
+:109A900002020202020202020202020202020202A6
+:109AA0000202020202020202020202020202020296
+:109AB0000202020202020202020202020202020286
+:109AC0000202020202020202020202020202020276
+:109AD0000202020202020202020202020202020266
+:109AE0000202020202020202020202020202020256
+:109AF0000202020202020202020202020202020246
+:109B00000202020202020202020202020202020235
+:109B10000202020202020202020202020202020225
+:109B20000202020202020202020202020202020215
+:109B30000202020202020202020202020202020205
+:109B400002020202020202020202020202020202F5
+:109B500002020202020202020202020202020202E5
+:109B600002020202020202020202020202020202D5
+:109B700002020202020202020202020202020202C5
+:109B800002020202020202020202020202020202B5
+:109B900002020202020202020202020202020202A5
+:109BA0000202020202020202020202020202020295
+:109BB0000202020202020202020202020202020285
+:109BC0000202020202020202020202020202020275
+:109BD0000202020202020202020202020202020265
+:109BE0000202020202020202020202020202020255
+:109BF0000202020202020202020202020202020245
+:109C00000202020202020202020202020202020234
+:109C10000202020202020202020202020202020224
+:109C20000202020202020202020202020202020214
+:109C30000202020202020202020202020202020204
+:109C400002020202020202020202020202020202F4
+:109C500002020202020202020202020202020202E4
+:109C600002020202020202020202020202020202D4
+:109C700002020202020202020202020202020202C4
+:109C800002020202020202020202020202020202B4
+:109C900002020202020202020202020202020202A4
+:109CA0000202020202020202020202020202020294
+:109CB0000202020202020202020202020202020284
+:109CC0000202020202020202020202020202020274
+:109CD0000202020202020202020202020202020264
+:109CE0000202020202020202020202020202020254
+:109CF0000202020202020202020202020202020244
+:109D00000202020202020202020202020202020233
+:109D10000202020202020202020202020202020223
+:109D20000202020202020202020202020202020213
+:109D30000202020202020202020202020202020203
+:109D400002020202020202020202020202020202F3
+:109D500002020202020202020202020202020202E3
+:109D600002020202020202020202020202020202D3
+:109D700002020202020202020202020202020202C3
+:109D800002020202020202020202020202020202B3
+:109D900002020202020202020202020202020202A3
+:109DA0000202020202020202020202020202020293
+:109DB0000202020202020202020202020202020283
+:109DC0000202020202020202020202020202020273
+:109DD0000202020202020202020202020202020263
+:109DE0000202020202020202020202020202020253
+:109DF0000202020202020202020202020202020243
+:109E00000202020202020202020202020202020232
+:109E10000202020202020202020202020202020222
+:109E20000202020202020202020202020202020212
+:109E30000202020202020202020202020202020202
+:109E400002020202020202020202020202020202F2
+:109E500002020202020202020202020202020202E2
+:109E600002020202020202020202020202020202D2
+:109E700002020202020202020202020202020202C2
+:109E800002020202020202020202020202020202B2
+:109E900002020202020202020202020202020202A2
+:109EA0000202020202020202020202020202020292
+:109EB0000202020202020202020202020202020282
+:109EC0000202020202020202020202020202020272
+:109ED0000202020202020202020202020202020262
+:109EE0000202020202020202020202020202020252
+:109EF0000202020202020202020202020202020242
+:109F00000202020202020202020202020202020231
+:109F10000202020202020202020202020202020221
+:109F20000202020202020202020202020202020211
+:109F30000202020202020202020202020202020201
+:109F400002020202020202020202020202020202F1
+:109F500002020202020202020202020202020202E1
+:109F600002020202020202020202020202020202D1
+:109F700002020202020202020202020202020202C1
+:109F800002020202020202020202020202020202B1
+:109F900002020202020202020202020202020202A1
+:109FA0000202020202020202020202020202020291
+:109FB0000202020202020202020202020202020281
+:109FC0000202020202020202020202020202020271
+:109FD0000202020202020202020202020202020261
+:109FE0000202020202020202020202020202020251
+:109FF0000202020202020202020202020202020241
+:10A000000202020202020202020202020202020230
+:10A010000202020202020202020202020202020220
+:10A020000202020202020202020202020202020210
+:10A030000202020202020202020202020202020200
+:10A0400002020202020202020202020202020202F0
+:10A0500002020202020202020202020202020202E0
+:10A0600002020202020202020202020202020202D0
+:10A0700002020202020202020202020202020202C0
+:10A0800002020202020202020202020202020202B0
+:10A0900002020202020202020202020202020202A0
+:10A0A0000202020202020202020202020202020290
+:10A0B0000202020202020202020202020202020280
+:10A0C0000202020202020202020202020202020270
+:10A0D0000202020202020202020202020202020260
+:10A0E0000202020202020202020202020202020250
+:10A0F0000202020202020202020202020202020240
+:10A10000020202020202020202020202020202022F
+:10A11000020202020202020202020202020202021F
+:10A12000020202020202020202020202020202020F
+:10A1300002020202020202020202020202020202FF
+:10A1400002020202020202020202020202020202EF
+:10A1500002020202020202020202020202020202DF
+:10A1600002020202020202020202020202020202CF
+:10A1700002020202020202020202020202020202BF
+:10A1800002020202020202020202020202020202AF
+:10A19000020202020202020202020202020202029F
+:10A1A000020202020202020202020202020202028F
+:10A1B000020202020202020202020202020202027F
+:10A1C000020202020202020202020202020202026F
+:10A1D000020202020202020202020202020202025F
+:10A1E000020202020202020202020202020202024F
+:10A1F000020202020202020202020202020202023F
+:10A20000020202020202020202020202020202022E
+:10A21000020202020202020202020202020202021E
+:10A22000020202020202020202020202020202020E
+:10A2300002020202020202020202020202020202FE
+:10A2400002020202020202020202020202020202EE
+:10A2500002020202020202020202020202020202DE
+:10A2600002020202020202020202020202020202CE
+:10A2700002020202020202020202020202020202BE
+:10A2800002020202020202020202020202020202AE
+:10A29000020202020202020202020202020202029E
+:10A2A000020202020202020202020202020202028E
+:10A2B000020202020202020202020202020202027E
+:10A2C000020202020202020202020202020202026E
+:10A2D000020202020202020202020202020202025E
+:10A2E000020202020202020202020202020202024E
+:10A2F000020202020202020202020202020202023E
+:10A30000020202020202020202020202020202022D
+:10A31000020202020202020202020202020202021D
+:10A32000020202020202020202020202020202020D
+:10A3300002020202020202020202020202020202FD
+:10A3400002020202020202020202020202020202ED
+:10A3500002020202020202020202020202020202DD
+:10A3600002020202020202020202020202020202CD
+:10A3700002020202020202020202020202020202BD
+:10A3800002020202020202020202020202020202AD
+:10A39000020202020202020202020202020202029D
+:10A3A000020202020202020202020202020202028D
+:10A3B000020202020202020202020202020202027D
+:10A3C000020202020202020202020202020202026D
+:10A3D000020202020202020202020202020202025D
+:10A3E000020202020202020202020202020202024D
+:10A3F000020202020202020202020202020202023D
+:10A40000020202020202020202020202020202022C
+:10A41000020202020202020202020202020202021C
+:10A42000020202020202020202020202020202020C
+:10A4300002020202020202020202020202020202FC
+:10A4400002020202020202020202020202020202EC
+:10A4500002020202020202020202020202020202DC
+:10A4600002020202020202020202020202020202CC
+:10A4700002020202020202020202020202020202BC
+:10A4800002020202020202020202020202020202AC
+:10A49000020202020202020202020202020202029C
+:10A4A000020202020202020202020202020202028C
+:10A4B000020202020202020202020202020202027C
+:10A4C000020202020202020202020202020202026C
+:10A4D000020202020202020202020202020202025C
+:10A4E000020202020202020202020202020202024C
+:10A4F000020202020202020202020202020202023C
+:10A50000020202020202020202020202020202022B
+:10A51000020202020202020202020202020202021B
+:10A52000020202020202020202020202020202020B
+:10A5300002020202020202020202020202020202FB
+:10A5400002020202020202020202020202020202EB
+:10A5500002020202020202020202020202020202DB
+:10A5600002020202020202020202020202020202CB
+:10A5700002020202020202020202020202020202BB
+:10A5800002020202020202020202020202020202AB
+:10A59000020202020202020202020202020202029B
+:10A5A000020202020202020202020202020202028B
+:10A5B000020202020202020202020202020202027B
+:10A5C000020202020202020202020202020202026B
+:10A5D000020202020202020202020202020202025B
+:10A5E000020202020202020202020202020202024B
+:10A5F000020202020202020202020202020202023B
+:10A60000020202020202020202020202020202022A
+:10A61000020202020202020202020202020202021A
+:10A62000020202020202020202020202020202020A
+:10A6300002020202020202020202020202020202FA
+:10A6400002020202020202020202020202020202EA
+:10A6500002020202020202020202020202020202DA
+:10A6600002020202020202020202020202020202CA
+:10A6700002020202020202020202020202020202BA
+:10A6800002020202020202020202020202020202AA
+:10A69000020202020202020202020202020202029A
+:10A6A000020202020202020202020202020202028A
+:10A6B000020202020202020202020202020202027A
+:10A6C000020202020202020202020202020202026A
+:10A6D000020202020202020202020202020202025A
+:10A6E000020202020202020202020202020202024A
+:10A6F000020202020202020202020202020202023A
+:10A700000202020202020202020202020202020229
+:10A710000202020202020202020202020202020219
+:10A720000202020202020202020202020202020209
+:10A7300002020202020202020202020202020202F9
+:10A7400002020202020202020202020202020202E9
+:10A7500002020202020202020202020202020202D9
+:10A7600002020202020202020202020202020202C9
+:10A7700002020202020202020202020202020202B9
+:10A7800002020202020202020202020202020202A9
+:10A790000202020202020202020202020202020299
+:10A7A0000202020202020202020202020202020289
+:10A7B0000202020202020202020202020202020279
+:10A7C0000202020202020202020202020202020269
+:10A7D0000202020202020202020202020202020259
+:10A7E0000202020202020202020202020202020249
+:10A7F0000202020202020202020202020202020239
+:10A800000202020202020202020202020202020228
+:10A810000202020202020202020202020202020218
+:10A820000202020202020202020202020202020208
+:10A8300002020202020202020202020202020202F8
+:10A8400002020202020202020202020202020202E8
+:10A8500002020202020202020202020202020202D8
+:10A8600002020202020202020202020202020202C8
+:10A8700002020202020202020202020202020202B8
+:10A8800002020202020202020202020202020202A8
+:10A890000202020202020202020202020202020298
+:10A8A0000202020202020202020202020202020288
+:10A8B0000202020202020202020202020202020278
+:10A8C0000202020202020202020202020202020268
+:10A8D0000202020202020202020202020202020258
+:10A8E0000202020202020202020202020202020248
+:10A8F0000202020202020202020202020202020238
+:10A900000202020202020202020202020202020227
+:10A910000202020202020202020202020202020217
+:10A920000202020202020202020202020202020207
+:10A9300002020202020202020202020202020202F7
+:10A9400002020202020202020202020202020202E7
+:10A9500002020202020202020202020202020202D7
+:10A9600002020202020202020202020202020202C7
+:10A9700002020202020202020202020202020202B7
+:10A9800002020202020202020202020202020202A7
+:10A990000202020202020202020202020202020297
+:10A9A0000202020202020202020202020202020287
+:10A9B0000202020202020202020202020202020277
+:10A9C0000202020202020202020202020202020267
+:10A9D0000202020202020202020202020202020257
+:10A9E0000202020202020202020202020202020247
+:10A9F0000202020202020202020202020202020237
+:10AA00000202020202020202020202020202020226
+:10AA10000202020202020202020202020202020216
+:10AA20000202020202020202020202020202020206
+:10AA300002020202020202020202020202020202F6
+:10AA400002020202020202020202020202020202E6
+:10AA500002020202020202020202020202020202D6
+:10AA600002020202020202020202020202020202C6
+:10AA700002020202020202020202020202020202B6
+:10AA800002020202020202020202020202020202A6
+:10AA90000202020202020202020202020202020296
+:10AAA0000202020202020202020202020202020286
+:10AAB0000202020202020202020202020202020276
+:10AAC0000202020202020202020202020202020266
+:10AAD0000202020202020202020202020202020256
+:10AAE0000202020202020202020202020202020246
+:10AAF0000202020202020202020202020202020236
+:10AB00000202020202020202020202020202020225
+:10AB10000202020202020202020202020202020215
+:10AB20000202020202020202020202020202020205
+:10AB300002020202020202020202020202020202F5
+:10AB400002020202020202020202020202020202E5
+:10AB500002020202020202020202020202020202D5
+:10AB600002020202020202020202020202020202C5
+:10AB700002020202020202020202020202020202B5
+:10AB800002020202020202020202020202020202A5
+:10AB90000202020202020202020202020202020295
+:10ABA0000202020202020202020202020202020285
+:10ABB0000202020202020202020202020202020275
+:10ABC0000202020202020202020202020202020265
+:10ABD0000202020202020202020202020202020255
+:10ABE0000202020202020202020202020202020245
+:10ABF0000202020202020202020202020202020235
+:10AC00000202020202020202020202020202020224
+:10AC10000202020202020202020202020202020214
+:10AC20000202020202020202020202020202020204
+:10AC300002020202020202020202020202020202F4
+:10AC400002020202020202020202020202020202E4
+:10AC500002020202020202020202020202020202D4
+:10AC600002020202020202020202020202020202C4
+:10AC700002020202020202020202020202020202B4
+:10AC800002020202020202020202020202020202A4
+:10AC90000202020202020202020202020202020294
+:10ACA0000202020202020202020202020202020284
+:10ACB0000202020202020202020202020202020274
+:10ACC0000202020202020202020202020202020264
+:10ACD0000202020202020202020202020202020254
+:10ACE0000202020202020202020202020202020244
+:10ACF0000202020202020202020202020202020234
+:10AD00000202020202020202020202020202020223
+:10AD10000202020202020202020202020202020213
+:10AD20000202020202020202020202020202020203
+:10AD300002020202020202020202020202020202F3
+:10AD400002020202020202020202020202020202E3
+:10AD500002020202020202020202020202020202D3
+:10AD600002020202020202020202020202020202C3
+:10AD700002020202020202020202020202020202B3
+:10AD800002020202020202020202020202020202A3
+:10AD90000202020202020202020202020202020293
+:10ADA0000202020202020202020202020202020283
+:10ADB0000202020202020202020202020202020273
+:10ADC0000202020202020202020202020202020263
+:10ADD0000202020202020202020202020202020253
+:10ADE0000202020202020202020202020202020243
+:10ADF0000202020202020202020202020202020233
+:10AE00000202020202020202020202020202020222
+:10AE10000202020202020202020202020202020212
+:10AE20000202020202020202020202020202020202
+:10AE300002020202020202020202020202020202F2
+:10AE400002020202020202020202020202020202E2
+:10AE500002020202020202020202020202020202D2
+:10AE600002020202020202020202020202020202C2
+:10AE700002020202020202020202020202020202B2
+:10AE800002020202020202020202020202020202A2
+:10AE90000202020202020202020202020202020292
+:10AEA0000202020202020202020202020202020282
+:10AEB0000202020202020202020202020202020272
+:10AEC0000202020202020202020202020202020262
+:10AED0000202020202020202020202020202020252
+:10AEE0000202020202020202020202020202020242
+:10AEF0000202020202020202020202020202020232
+:10AF00000202020202020202020202020202020221
+:10AF10000202020202020202020202020202020211
+:10AF20000202020202020202020202020202020201
+:10AF300002020202020202020202020202020202F1
+:10AF400002020202020202020202020202020202E1
+:10AF500002020202020202020202020202020202D1
+:10AF600002020202020202020202020202020202C1
+:10AF700002020202020202020202020202020202B1
+:10AF800002020202020202020202020202020202A1
+:10AF90000202020202020202020202020202020291
+:10AFA0000202020202020202020202020202020281
+:10AFB0000202020202020202020202020202020271
+:10AFC0000202020202020202020202020202020261
+:10AFD0000202020202020202020202020202020251
+:10AFE0000202020202020202020202020202020241
+:10AFF0000202020202020202020202020202020231
+:10B000000202020202020202020202020202020220
+:10B010000202020202020202020202020202020210
+:10B020000202020202020202020202020202020200
+:10B0300002020202020202020202020202020202F0
+:10B0400002020202020202020202020202020202E0
+:10B0500002020202020202020202020202020202D0
+:10B0600002020202020202020202020202020202C0
+:10B0700002020202020202020202020202020202B0
+:10B0800002020202020202020202020202020202A0
+:10B090000202020202020202020202020202020290
+:10B0A0000202020202020202020202020202020280
+:10B0B0000202020202020202020202020202020270
+:10B0C0000202020202020202020202020202020260
+:10B0D0000202020202020202020202020202020250
+:10B0E0000202020202020202020202020202020240
+:10B0F0000202020202020202020202020202020230
+:10B100000202020202020202020202020202020021
+:10B11000000000000000000000000000000000002F
+:10B12000000000000000000000000000000000001F
+:10B13000000000000000000000000000000000000F
+:10B1400000000000000000000000000000000000FF
+:10B1500000000000000000000000000000000000EF
+:10B1600000000000000000000000000000000000DF
+:10B1700000000000000000000000000000000000CF
+:10B1800000000000000000000000000000000000BF
+:10B1900000000000000000000000000000000000AF
+:10B1A000000000000000000000000000000000009F
+:10B1B000000000000000000000000000000000008F
+:10B1C000000000000000000000000000000000007F
+:10B1D000000000000000000000000000000000006F
+:10B1E000000000000000000000000000000000005F
+:10B1F000000000000000000000000000000000004F
+:10B2000000000000000000000000000000000065D9
+:10B210000000000000000001010101010101010125
+:10B22000010101010101010101010101010101010E
+:10B2300001010101010101010101010101010101FE
+:10B2400001010101010101010101010101010101EE
+:10B2500001010101010101010101010101010101DE
+:10B2600001010101010101010101010101010101CE
+:10B2700001010101010101010101010101010101BE
+:10B2800001010101010101010101010101010101AE
+:10B29000010101010101010101010101010101019E
+:10B2A000010101010101010101010101010101018E
+:10B2B000010101010101010101010101010101017E
+:10B2C000010101010101010101010101010101016E
+:10B2D000010101010101010101010101010101015E
+:10B2E000010101010101010101010101010101014E
+:10B2F000010101010101010101010101010101013E
+:10B30000010101010101010101010101010101012D
+:10B31000010101010101010101010101010101011D
+:10B32000010101010101010101010101010101010D
+:10B3300001010101010101010101010101010101FD
+:10B3400001010101010101010101010101010101ED
+:10B3500001010101010101010101010101010101DD
+:10B3600001010101010101010101010101010101CD
+:10B3700001010101010101010101010101010101BD
+:10B3800001010101010101010101010101010101AD
+:10B39000010101010101010101010101010101019D
+:10B3A000010101010101010101010101010101018D
+:10B3B000010101010101010101010101010101017D
+:10B3C000010101010101010101010101010101016D
+:10B3D000010101010101010101010101010101015D
+:10B3E000010101010101010101010101010101014D
+:10B3F000010101010101010101010101010101013D
+:10B40000010101010101010101010101010101012C
+:10B41000010101010101010101010101010101011C
+:10B42000010101010101010101010101010101010C
+:10B4300001010101010101010101010101010101FC
+:10B4400001010101010101010101010101010101EC
+:10B4500001010101010101010101010101010101DC
+:10B4600001010101010101010101010101010101CC
+:10B4700001010101010101010101010101010101BC
+:10B4800001010101010101010101010101010101AC
+:10B49000010101010101010101010101010101019C
+:10B4A000010101010101010101010101010101018C
+:10B4B000010101010101010101010101010101017C
+:10B4C000010101010101010101010101010101016C
+:10B4D000010101010101010101010101010101015C
+:10B4E000010101010101010101010101010101014C
+:10B4F000010101010101010101010101010101013C
+:10B50000010101010101010101010101010101012B
+:10B51000010101010101010101010101010101011B
+:10B52000010101010101010101010101010101010B
+:10B5300001010101010101010101010101010101FB
+:10B5400001010101010101010101010101010101EB
+:10B5500001010101010101010101010101010101DB
+:10B5600001010101010101010101010101010101CB
+:10B5700001010101010101010101010101010101BB
+:10B5800001010101010101010101010101010101AB
+:10B59000010101010101010101010101010101019B
+:10B5A000010101010101010101010101010101018B
+:10B5B000010101010101010101010101010101017B
+:10B5C000010101010101010101010101010101016B
+:10B5D000010101010101010101010101010101015B
+:10B5E000010101010101010101010101010101014B
+:10B5F000010101010101010101010101010101013B
+:10B60000010101010101010101010101010101012A
+:10B61000010101010101010101010101010101011A
+:10B62000010101010101010101010101010101010A
+:10B6300001010101010101010101010101010101FA
+:10B6400001010101010101010101010101010101EA
+:10B6500001010101010101010101010101010101DA
+:10B6600001010101010101010101010101010101CA
+:10B6700001010101010101010101010101010101BA
+:10B6800001010101010101010101010101010101AA
+:10B69000010101010101010101010101010101019A
+:10B6A000010101010101010101010101010101018A
+:10B6B000010101010101010101010101010101017A
+:10B6C000010101010101010101010101010101016A
+:10B6D000010101010101010101010101010101015A
+:10B6E000010101010101010101010101010101014A
+:10B6F000010101010101010101010101010101013A
+:10B700000101010101010101010101010101010129
+:10B710000101010101010101010101010101010119
+:10B720000101010101010101010101010101010109
+:10B7300001010101010101010101010101010101F9
+:10B7400001010101010101010101010101010101E9
+:10B7500001010101010101010101010101010101D9
+:10B7600001010101010101010101010101010101C9
+:10B7700001010101010101010101010101010101B9
+:10B7800001010101010101010101010101010101A9
+:10B790000101010101010101010101010101010199
+:10B7A0000101010101010101010101010101010189
+:10B7B0000101010101010101010101010101010179
+:10B7C0000101010101010101010101010101010169
+:10B7D0000101010101010101010101010101010159
+:10B7E0000101010101010101010101010101010149
+:10B7F0000101010101010101010101010101010139
+:10B800000101010101010101010101010101010128
+:10B810000101010101010101010101010101010118
+:10B820000101010101010101010101010101010108
+:10B8300001010101010101010101010101010101F8
+:10B8400001010101010101010101010101010101E8
+:10B8500001010101010101010101010101010101D8
+:10B8600001010101010101010101010101010101C8
+:10B8700001010101010101010101010101010101B8
+:10B8800001010101010101010101010101010101A8
+:10B890000101010101010101010101010101010198
+:10B8A0000101010101010101010101010101010188
+:10B8B0000101010101010101010101010101010178
+:10B8C0000101010101010101010101010101010168
+:10B8D0000101010101010101010101010101010158
+:10B8E0000101010101010101010101010101010148
+:10B8F0000101010101010101010101010101010138
+:10B900000101010101010101010101010101010127
+:10B910000101010101010101010101010101010117
+:10B920000101010101010101010101010101010107
+:10B9300001010101010101010101010101010101F7
+:10B9400001010101010101010101010101010101E7
+:10B9500001010101010101010101010101010101D7
+:10B9600001010101010101010101010101010101C7
+:10B9700001010101010101010101010101010101B7
+:10B9800001010101010101010101010101010101A7
+:10B990000101010101010101010101010101010197
+:10B9A0000101010101010101010101010101010187
+:10B9B0000101010101010101010101010101010177
+:10B9C0000101010101010101010101010101010167
+:10B9D0000101010101010101010101010101010157
+:10B9E0000101010101010101010101010101010147
+:10B9F0000101010101010101010101010101010137
+:10BA00000101010101010101010101010101010126
+:10BA10000101010101010101010101010101010116
+:10BA20000101010101010101010101010101010106
+:10BA300001010101010101010101010101010101F6
+:10BA400001010101010101010101010101010101E6
+:10BA500001010101010101010101010101010101D6
+:10BA600001010101010101010101010101010101C6
+:10BA700001010101010101010101010101010101B6
+:10BA800001010101010101010101010101010101A6
+:10BA90000101010101010101010101010101010196
+:10BAA0000101010101010101010101010101010186
+:10BAB0000101010101010101010101010101010176
+:10BAC0000101010101010101010101010101010166
+:10BAD0000101010101010101010101010101010156
+:10BAE0000101010101010101010101010101010146
+:10BAF0000101010101010101010101010101010136
+:10BB00000101010101010101010101010101010125
+:10BB10000101010101010101010101010101010115
+:10BB20000101010101010101010101010101010105
+:10BB300001010101010101010101010101010101F5
+:10BB400001010101010101010101010101010101E5
+:10BB500001010101010101010101010101010101D5
+:10BB600001010101010101010101010101010101C5
+:10BB700001010101010101010101010101010101B5
+:10BB800001010101010101010101010101010101A5
+:10BB90000101010101010101010101010101010195
+:10BBA0000101010101010101010101010101010185
+:10BBB0000101010101010101010101010101010175
+:10BBC0000101010101010101010101010101010165
+:10BBD0000101010101010101010101010101010155
+:10BBE0000101010101010101010101010101010145
+:10BBF0000101010101010101010101010101010135
+:10BC00000101010101010101010101010101010124
+:10BC10000101010101010101010101010101010114
+:10BC20000101010101010101010101010101010104
+:10BC300001010101010101010101010101010101F4
+:10BC400001010101010101010101010101010101E4
+:10BC500001010101010101010101010101010101D4
+:10BC600001010101010101010101010101010101C4
+:10BC700001010101010101010101010101010101B4
+:10BC800001010101010101010101010101010101A4
+:10BC90000101010101010101010101010101010194
+:10BCA0000101010101010101010101010101010184
+:10BCB0000101010101010101010101010101010174
+:10BCC0000101010101010101010101010101010164
+:10BCD0000101010101010101010101010101010154
+:10BCE0000101010101010101010101010101010144
+:10BCF0000101010101010101010101010101010134
+:10BD00000101010101010101010101010101010123
+:10BD10000101010101010101010101010101010113
+:10BD20000101010101010101010101010101010103
+:10BD300001010101010101010101010101010101F3
+:10BD400001010101010101010101010101010101E3
+:10BD500001010101010101010101010101010101D3
+:10BD600001010101010101010101010101010101C3
+:10BD700001010101010101010101010101010101B3
+:10BD800001010101010101010101010101010101A3
+:10BD90000101010101010101010101010101010193
+:10BDA0000101010101010101010101010101010183
+:10BDB0000101010101010101010101010101010173
+:10BDC0000101010101010101010101010101010163
+:10BDD0000101010101010101010101010101010153
+:10BDE0000101010101010101010101010101010143
+:10BDF0000101010101010101010101010101010133
+:10BE00000101010101010101010101010101010122
+:10BE10000101010101010101010101010101010112
+:10BE20000101010101010101010101010101010102
+:10BE300001010101010101010101010101010101F2
+:10BE400001010101010101010101010101010101E2
+:10BE500001010101010101010101010101010101D2
+:10BE600001010101010101010101010101010101C2
+:10BE700001010101010101010101010101010101B2
+:10BE800001010101010101010101010101010101A2
+:10BE90000101010101010101010101010101010192
+:10BEA0000101010101010101010101010101010182
+:10BEB0000101010101010101010101010101010172
+:10BEC0000101010101010101010101010101010162
+:10BED0000101010101010101010101010101010152
+:10BEE0000101010101010101010101010101010142
+:10BEF0000101010101010101010101010101010132
+:10BF00000101010101010101010101010101010121
+:10BF10000101010101010101010101010101010111
+:10BF20000101010101010101010101010101010101
+:10BF300001010101010101010101010101010101F1
+:10BF400001010101010101010101010101010101E1
+:10BF500001010101010101010101010101010101D1
+:10BF600001010101010101010101010101010101C1
+:10BF700001010101010101010101010101010101B1
+:10BF800001010101010101010101010101010101A1
+:10BF90000101010101010101010101010101010191
+:10BFA0000101010101010101010101010101010181
+:10BFB0000101010101010101010101010101010171
+:10BFC0000101010101010101010101010101010161
+:10BFD0000101010101010101010101010101010151
+:10BFE0000101010101010101010101010101010141
+:10BFF0000101010101010101010101010101010131
+:10C000000101010101010101010101010101010120
+:10C010000101010101010101010101010101010110
+:10C020000101010101010101010101010101010100
+:10C0300001010101010101010101010101010101F0
+:10C0400001010101010101010101010101010101E0
+:10C0500001010101010101010101010101010101D0
+:10C0600001010101010101010101010101010101C0
+:10C0700001010101010101010101010101010101B0
+:10C0800001010101010101010101010101010101A0
+:10C090000101010101010101010101010101010190
+:10C0A0000101010101010101010101010101010180
+:10C0B0000101010101010101010101010101010170
+:10C0C0000101010101010101010101010101010160
+:10C0D0000101010101010101010101010101010150
+:10C0E0000101010101010101010101010101010140
+:10C0F0000101010101010101010101010101010130
+:10C10000010101010101010101010101010101011F
+:10C11000010101010101010101010101010101010F
+:10C1200001010101010101010101010101010101FF
+:10C1300001010101010101010101010101010101EF
+:10C1400001010101010101010101010101010101DF
+:10C1500001010101010101010101010101010101CF
+:10C1600001010101010101010101010101010101BF
+:10C1700001010101010101010101010101010101AF
+:10C18000010101010101010101010101010101019F
+:10C19000010101010101010101010101010101018F
+:10C1A000010101010101010101010101010101017F
+:10C1B000010101010101010101010101010101016F
+:10C1C000010101010101010101010101010101015F
+:10C1D000010101010101010101010101010101014F
+:10C1E000010101010101010101010101010101013F
+:10C1F000010101010101010101010101010101012F
+:10C20000010101010101010101010101010101011E
+:10C21000010101010101010101010101010101010E
+:10C2200001010101010101010101010101010101FE
+:10C2300001010101010101010101010101010101EE
+:10C2400001010101010101010101010101010101DE
+:10C2500001010101010101010101010101010101CE
+:10C2600001010101010101010101010101010101BE
+:10C2700001010101010101010101010101010101AE
+:10C28000010101010101010101010101010101019E
+:10C29000010101010101010101010101010101018E
+:10C2A000010101010101010101010101010101017E
+:10C2B000010101010101010101010101010101016E
+:10C2C000010101010101010101010101010101015E
+:10C2D000010101010101010101010101010101014E
+:10C2E000010101010101010101010101010101013E
+:10C2F000010101010101010101010101010101012E
+:10C30000010101010101010101010101010101011D
+:10C31000010101010101010101010101010101010D
+:10C3200001010101010101010101010101010101FD
+:10C3300001010101010101010101010101010101ED
+:10C3400001010101010101010101010101010101DD
+:10C3500001010101010101010101010101010101CD
+:10C3600001010101010101010101010101010101BD
+:10C3700001010101010101010101010101010101AD
+:10C38000010101010101010101010101010101019D
+:10C39000010101010101010101010101010101018D
+:10C3A000010101010101010101010101010101017D
+:10C3B000010101010101010101010101010101016D
+:10C3C000010101010101010101010101010101015D
+:10C3D000010101010101010101010101010101014D
+:10C3E000010101010101010101010101010101013D
+:10C3F000010101010101010101010101010101012D
+:10C40000010101010101010101010101010101011C
+:10C41000010101010101010101010101010101010C
+:10C4200001010101010101010101010101010101FC
+:10C4300001010101010101010101010101010101EC
+:10C4400001010101010101010101010101010101DC
+:10C4500001010101010101010101010101010101CC
+:10C4600001010101010101010101010101010101BC
+:10C4700001010101010101010101010101010101AC
+:10C48000010101010101010101010101010101019C
+:10C49000010101010101010101010101010101018C
+:10C4A000010101010101010101010101010101017C
+:10C4B000010101010101010101010101010101016C
+:10C4C000010101010101010101010101010101015C
+:10C4D000010101010101010101010101010101014C
+:10C4E000010101010101010101010101010101013C
+:10C4F000010101010101010101010101010101012C
+:10C50000010101010101010101010101010101011B
+:10C51000010101010101010101010101010101010B
+:10C5200001010101010101010101010101010101FB
+:10C5300001010101010101010101010101010101EB
+:10C5400001010101010101010101010101010101DB
+:10C5500001010101010101010101010101010101CB
+:10C5600001010101010101010101010101010101BB
+:10C5700001010101010101010101010101010101AB
+:10C58000010101010101010101010101010101019B
+:10C59000010101010101010101010101010101018B
+:10C5A000010101010101010101010101010101017B
+:10C5B000010101010101010101010101010101016B
+:10C5C000010101010101010101010101010101015B
+:10C5D000010101010101010101010101010101014B
+:10C5E000010101010101010101010101010101013B
+:10C5F000010101010101010101010101010101012B
+:10C60000010101010101010101010101010101011A
+:10C61000010101010101010101010101010101010A
+:10C6200001010101010101010101010101010101FA
+:10C6300001010101010101010101010101010101EA
+:10C6400001010101010101010101010101010101DA
+:10C6500001010101010101010101010101010101CA
+:10C6600001010101010101010101010101010101BA
+:10C6700001010101010101010101010101010101AA
+:10C68000010101010101010101010101010101019A
+:10C69000010101010101010101010101010101018A
+:10C6A000010101010101010101010101010101017A
+:10C6B000010101010101010101010101010101016A
+:10C6C000010101010101010101010101010101015A
+:10C6D000010101010101010101010101010101014A
+:10C6E000010101010101010101010101010101013A
+:10C6F000010101010101010101010101010101012A
+:10C700000101010101010101010101010101010119
+:10C710000101010101010101010101010101010109
+:10C7200001010101010101010101010101010101F9
+:10C7300001010101010101010101010101010101E9
+:10C7400001010101010101010101010101010101D9
+:10C7500001010101010101010101010101010101C9
+:10C7600001010101010101010101010101010101B9
+:10C7700001010101010101010101010101010101A9
+:10C780000101010101010101010101010101010199
+:10C790000101010101010101010101010101010189
+:10C7A0000101010101010101010101010101010179
+:10C7B0000101010101010101010101010101010169
+:10C7C0000101010101010101010101010101010159
+:10C7D0000101010101010101010101010101010149
+:10C7E0000101010101010101010101010101010139
+:10C7F0000101010101010101010101010101010129
+:10C800000101010101010101010101010101010118
+:10C810000101010101010100000000000000000011
+:10C820000000000000000000000000000000000008
+:10C8300000000000000000000000000000000000F8
+:10C8400000000000000000000000000000000000E8
+:10C8500000000000000000000000000000000000D8
+:10C8600000000000000000000000000000000000C8
+:10C8700000000000000000000000000000000000B8
+:10C8800000000000000000000000000000000000A8
+:10C890000000000000000000000000000000000098
+:10C8A0000000000000000000000000000000000088
+:10C8B0000000000000000000000000000000000078
+:10C8C0000000000000000000000000000000000068
+:10C8D0000000000000000000000000000000000058
+:10C8E0000000000000000000000000000000000048
+:10C8F0000000000000000000000000000000000038
+:10C900000000000000000000000000000000000027
+:10C910000000000000000000000000000000000017
+:10C920000000000000000000000000000000000007
+:10C9300000000000000000000000000000000000F7
+:10C9400000000000000000000000000000000000E7
+:10C9500000000000000000000000000000000000D7
+:10C9600000000000000000000000000000000000C7
+:10C9700000000000000000000000000000000000B7
+:10C9800000000000000000000000000000000000A7
+:10C990000000000000000000000000000000000097
+:10C9A0000000000000000000000000000000000087
+:10C9B0000000000000000000000000000000000077
+:10C9C0000000000000000000000000000000000067
+:10C9D0000000000000000000000000000000000057
+:10C9E0000000000000000000000000000000000047
+:10C9F0000000000000000000000000000000000037
+:10CA00000000000000000000000000000000000026
+:10CA10000000000000000000000000000000000016
+:10CA20000000000000000000000000000000000006
+:10CA300000000000000000000000000000000000F6
+:10CA400000000000000000000000000000000000E6
+:10CA500000000000000000000000000000000000D6
+:10CA600000000000000000000000000000000000C6
+:10CA700000000000000000000000000000000000B6
+:10CA800000000000000000000000000000000000A6
+:10CA90000000000000000000000000000000000096
+:10CAA0000000000000000000000000000000000086
+:10CAB0000000000000000000000000000000000076
+:10CAC0000000000000000000000000000000000066
+:10CAD0000000000000000000000000000000000056
+:10CAE0000000000000000000000000000000000046
+:10CAF0000000000000000000000000000000000036
+:10CB00000000000000000000000000000000000025
+:10CB10000000000000000000000000000000000015
+:10CB20000000000000000000000000000000000005
+:10CB300000000000000000000000000000000000F5
+:10CB400000000000000000000000000000000000E5
+:10CB500000000000000000000000000000000000D5
+:10CB600000000000000000000000000000000000C5
+:10CB700000000000000000000000000000000000B5
+:10CB800000000000000000000000000000000000A5
+:10CB90000000000000000000000000000000000095
+:10CBA0000000000000000000000000000000000085
+:10CBB0000000000000000000000000000000000075
+:10CBC0000000000000000000000000000000000065
+:10CBD0000000000000000000000000000000000055
+:10CBE0000000000000000000000000000000000045
+:10CBF0000000000000000000000000000000000035
+:10CC00000000000000000000000000000000000024
+:10CC10000000000000000002020202020202020202
+:10CC200002020202020202020202020202020202E4
+:10CC300002020202020202020202020202020202D4
+:10CC400002020202020202020202020202020202C4
+:10CC500002020202020202020202020202020202B4
+:10CC600002020202020202020202020202020202A4
+:10CC70000202020202020202020202020202020294
+:10CC80000202020202020202020202020202020284
+:10CC90000202020202020202020202020202020274
+:10CCA0000202020202020202020202020202020264
+:10CCB0000202020202020202020202020202020254
+:10CCC0000202020202020202020202020202020244
+:10CCD0000202020202020202020202020202020234
+:10CCE0000202020202020202020202020202020224
+:10CCF0000202020202020202020202020202020214
+:10CD00000202020202020202020202020202020203
+:10CD100002020202020202020202020202020202F3
+:10CD200002020202020202020202020202020202E3
+:10CD300002020202020202020202020202020202D3
+:10CD400002020202020202020202020202020202C3
+:10CD500002020202020202020202020202020202B3
+:10CD600002020202020202020202020202020202A3
+:10CD70000202020202020202020202020202020293
+:10CD80000202020202020202020202020202020283
+:10CD90000202020202020202020202020202020273
+:10CDA0000202020202020202020202020202020263
+:10CDB0000202020202020202020202020202020253
+:10CDC0000202020202020202020202020202020243
+:10CDD0000202020202020202020202020202020233
+:10CDE0000202020202020202020202020202020223
+:10CDF0000202020202020202020202020202020213
+:10CE00000202020202020202020202020202020202
+:10CE100002020202020202020202020202020202F2
+:10CE200002020202020202020202020202020202E2
+:10CE300002020202020202020202020202020202D2
+:10CE400002020202020202020202020202020202C2
+:10CE500002020202020202020202020202020202B2
+:10CE600002020202020202020202020202020202A2
+:10CE70000202020202020202020202020202020292
+:10CE80000202020202020202020202020202020282
+:10CE90000202020202020202020202020202020272
+:10CEA0000202020202020202020202020202020262
+:10CEB0000202020202020202020202020202020252
+:10CEC0000202020202020202020202020202020242
+:10CED0000202020202020202020202020202020232
+:10CEE0000202020202020202020202020202020222
+:10CEF0000202020202020202020202020202020212
+:10CF00000202020202020202020202020202020201
+:10CF100002020202020202020202020202020202F1
+:10CF200002020202020202020202020202020202E1
+:10CF300002020202020202020202020202020202D1
+:10CF400002020202020202020202020202020202C1
+:10CF500002020202020202020202020202020202B1
+:10CF600002020202020202020202020202020202A1
+:10CF70000202020202020202020202020202020291
+:10CF80000202020202020202020202020202020281
+:10CF90000202020202020202020202020202020271
+:10CFA0000202020202020202020202020202020261
+:10CFB0000202020202020202020202020202020251
+:10CFC0000202020202020202020202020202020241
+:10CFD0000202020202020202020202020202020231
+:10CFE0000202020202020202020202020202020221
+:10CFF0000202020202020202020202020202020211
+:10D000000202020202020202020202020202020200
+:10D0100002020202020202020202020202020202F0
+:10D0200002020202020202020202020202020202E0
+:10D0300002020202020202020202020202020202D0
+:10D0400002020202020202020202020202020202C0
+:10D0500002020202020202020202020202020202B0
+:10D0600002020202020202020202020202020202A0
+:10D070000202020202020202020202020202020290
+:10D080000202020202020202020202020202020280
+:10D090000202020202020202020202020202020270
+:10D0A0000202020202020202020202020202020260
+:10D0B0000202020202020202020202020202020250
+:10D0C0000202020202020202020202020202020240
+:10D0D0000202020202020202020202020202020230
+:10D0E0000202020202020202020202020202020220
+:10D0F0000202020202020202020202020202020210
+:10D1000002020202020202020202020202020202FF
+:10D1100002020202020202020202020202020202EF
+:10D1200002020202020202020202020202020202DF
+:10D1300002020202020202020202020202020202CF
+:10D1400002020202020202020202020202020202BF
+:10D1500002020202020202020202020202020202AF
+:10D16000020202020202020202020202020202029F
+:10D17000020202020202020202020202020202028F
+:10D18000020202020202020202020202020202027F
+:10D19000020202020202020202020202020202026F
+:10D1A000020202020202020202020202020202025F
+:10D1B000020202020202020202020202020202024F
+:10D1C000020202020202020202020202020202023F
+:10D1D000020202020202020202020202020202022F
+:10D1E000020202020202020202020202020202021F
+:10D1F000020202020202020202020202020202020F
+:10D2000002020202020202020202020202020202FE
+:10D2100002020202020202020202020202020202EE
+:10D2200002020202020202020202020202020202DE
+:10D2300002020202020202020202020202020202CE
+:10D2400002020202020202020202020202020202BE
+:10D2500002020202020202020202020202020202AE
+:10D26000020202020202020202020202020202029E
+:10D27000020202020202020202020202020202028E
+:10D28000020202020202020202020202020202027E
+:10D29000020202020202020202020202020202026E
+:10D2A000020202020202020202020202020202025E
+:10D2B000020202020202020202020202020202024E
+:10D2C000020202020202020202020202020202023E
+:10D2D000020202020202020202020202020202022E
+:10D2E000020202020202020202020202020202021E
+:10D2F000020202020202020202020202020202020E
+:10D3000002020202020202020202020202020202FD
+:10D3100002020202020202020202020202020202ED
+:10D3200002020202020202020202020202020202DD
+:10D3300002020202020202020202020202020202CD
+:10D3400002020202020202020202020202020202BD
+:10D3500002020202020202020202020202020202AD
+:10D36000020202020202020202020202020202029D
+:10D37000020202020202020202020202020202028D
+:10D38000020202020202020202020202020202027D
+:10D39000020202020202020202020202020202026D
+:10D3A000020202020202020202020202020202025D
+:10D3B000020202020202020202020202020202024D
+:10D3C000020202020202020202020202020202023D
+:10D3D000020202020202020202020202020202022D
+:10D3E000020202020202020202020202020202021D
+:10D3F000020202020202020202020202020202020D
+:10D4000002020202020202020202020202020202FC
+:10D4100002020202020202020202020202020202EC
+:10D4200002020202020202020202020202020202DC
+:10D4300002020202020202020202020202020202CC
+:10D4400002020202020202020202020202020202BC
+:10D4500002020202020202020202020202020202AC
+:10D46000020202020202020202020202020202029C
+:10D47000020202020202020202020202020202028C
+:10D48000020202020202020202020202020202027C
+:10D49000020202020202020202020202020202026C
+:10D4A000020202020202020202020202020202025C
+:10D4B000020202020202020202020202020202024C
+:10D4C000020202020202020202020202020202023C
+:10D4D000020202020202020202020202020202022C
+:10D4E000020202020202020202020202020202021C
+:10D4F000020202020202020202020202020202020C
+:10D5000002020202020202020202020202020202FB
+:10D5100002020202020202020202020202020202EB
+:10D5200002020202020202020202020202020202DB
+:10D5300002020202020202020202020202020202CB
+:10D5400002020202020202020202020202020202BB
+:10D5500002020202020202020202020202020202AB
+:10D56000020202020202020202020202020202029B
+:10D57000020202020202020202020202020202028B
+:10D58000020202020202020202020202020202027B
+:10D59000020202020202020202020202020202026B
+:10D5A000020202020202020202020202020202025B
+:10D5B000020202020202020202020202020202024B
+:10D5C000020202020202020202020202020202023B
+:10D5D000020202020202020202020202020202022B
+:10D5E000020202020202020202020202020202021B
+:10D5F000020202020202020202020202020202020B
+:10D6000002020202020202020202020202020202FA
+:10D6100002020202020202020202020202020202EA
+:10D6200002020202020202020202020202020202DA
+:10D6300002020202020202020202020202020202CA
+:10D6400002020202020202020202020202020202BA
+:10D6500002020202020202020202020202020202AA
+:10D66000020202020202020202020202020202029A
+:10D67000020202020202020202020202020202028A
+:10D68000020202020202020202020202020202027A
+:10D69000020202020202020202020202020202026A
+:10D6A000020202020202020202020202020202025A
+:10D6B000020202020202020202020202020202024A
+:10D6C000020202020202020202020202020202023A
+:10D6D000020202020202020202020202020202022A
+:10D6E000020202020202020202020202020202021A
+:10D6F000020202020202020202020202020202020A
+:10D7000002020202020202020202020202020202F9
+:10D7100002020202020202020202020202020202E9
+:10D7200002020202020202020202020202020202D9
+:10D7300002020202020202020202020202020202C9
+:10D7400002020202020202020202020202020202B9
+:10D7500002020202020202020202020202020202A9
+:10D760000202020202020202020202020202020299
+:10D770000202020202020202020202020202020289
+:10D780000202020202020202020202020202020279
+:10D790000202020202020202020202020202020269
+:10D7A0000202020202020202020202020202020259
+:10D7B0000202020202020202020202020202020249
+:10D7C0000202020202020202020202020202020239
+:10D7D0000202020202020202020202020202020229
+:10D7E0000202020202020202020202020202020219
+:10D7F0000202020202020202020202020202020209
+:10D8000002020202020202020202020202020202F8
+:10D8100002020202020202020202020202020202E8
+:10D8200002020202020202020202020202020202D8
+:10D8300002020202020202020202020202020202C8
+:10D8400002020202020202020202020202020202B8
+:10D8500002020202020202020202020202020202A8
+:10D860000202020202020202020202020202020298
+:10D870000202020202020202020202020202020288
+:10D880000202020202020202020202020202020278
+:10D890000202020202020202020202020202020268
+:10D8A0000202020202020202020202020202020258
+:10D8B0000202020202020202020202020202020248
+:10D8C0000202020202020202020202020202020238
+:10D8D0000202020202020202020202020202020228
+:10D8E0000202020202020202020202020202020218
+:10D8F0000202020202020202020202020202020208
+:10D9000002020202020202020202020202020202F7
+:10D9100002020202020202020202020202020202E7
+:10D9200002020202020202020202020202020202D7
+:10D9300002020202020202020202020202020202C7
+:10D9400002020202020202020202020202020202B7
+:10D9500002020202020202020202020202020202A7
+:10D960000202020202020202020202020202020297
+:10D970000202020202020202020202020202020287
+:10D980000202020202020202020202020202020277
+:10D990000202020202020202020202020202020267
+:10D9A0000202020202020202020202020202020257
+:10D9B0000202020202020202020202020202020247
+:10D9C0000202020202020202020202020202020237
+:10D9D0000202020202020202020202020202020227
+:10D9E0000202020202020202020202020202020217
+:10D9F0000202020202020202020202020202020207
+:10DA000002020202020202020202020202020202F6
+:10DA100002020202020202020202020202020202E6
+:10DA200002020202020202020202020202020202D6
+:10DA300002020202020202020202020202020202C6
+:10DA400002020202020202020202020202020202B6
+:10DA500002020202020202020202020202020202A6
+:10DA60000202020202020202020202020202020296
+:10DA70000202020202020202020202020202020286
+:10DA80000202020202020202020202020202020276
+:10DA90000202020202020202020202020202020266
+:10DAA0000202020202020202020202020202020256
+:10DAB0000202020202020202020202020202020246
+:10DAC0000202020202020202020202020202020236
+:10DAD0000202020202020202020202020202020226
+:10DAE0000202020202020202020202020202020216
+:10DAF0000202020202020202020202020202020206
+:10DB000002020202020202020202020202020202F5
+:10DB100002020202020202020202020202020202E5
+:10DB200002020202020202020202020202020202D5
+:10DB300002020202020202020202020202020202C5
+:10DB400002020202020202020202020202020202B5
+:10DB500002020202020202020202020202020202A5
+:10DB60000202020202020202020202020202020295
+:10DB70000202020202020202020202020202020285
+:10DB80000202020202020202020202020202020275
+:10DB90000202020202020202020202020202020265
+:10DBA0000202020202020202020202020202020255
+:10DBB0000202020202020202020202020202020245
+:10DBC0000202020202020202020202020202020235
+:10DBD0000202020202020202020202020202020225
+:10DBE0000202020202020202020202020202020215
+:10DBF0000202020202020202020202020202020205
+:10DC000002020202020202020202020202020202F4
+:10DC100002020202020202020202020202020202E4
+:10DC200002020202020202020202020202020202D4
+:10DC300002020202020202020202020202020202C4
+:10DC400002020202020202020202020202020202B4
+:10DC500002020202020202020202020202020202A4
+:10DC60000202020202020202020202020202020294
+:10DC70000202020202020202020202020202020284
+:10DC80000202020202020202020202020202020274
+:10DC90000202020202020202020202020202020264
+:10DCA0000202020202020202020202020202020254
+:10DCB0000202020202020202020202020202020244
+:10DCC0000202020202020202020202020202020234
+:10DCD0000202020202020202020202020202020224
+:10DCE0000202020202020202020202020202020214
+:10DCF0000202020202020202020202020202020204
+:10DD000002020202020202020202020202020202F3
+:10DD100002020202020202020202020202020202E3
+:10DD200002020202020202020202020202020202D3
+:10DD300002020202020202020202020202020202C3
+:10DD400002020202020202020202020202020202B3
+:10DD500002020202020202020202020202020202A3
+:10DD60000202020202020202020202020202020293
+:10DD70000202020202020202020202020202020283
+:10DD80000202020202020202020202020202020273
+:10DD90000202020202020202020202020202020263
+:10DDA0000202020202020202020202020202020253
+:10DDB0000202020202020202020202020202020243
+:10DDC0000202020202020202020202020202020233
+:10DDD0000202020202020202020202020202020223
+:10DDE0000202020202020202020202020202020213
+:10DDF0000202020202020202020202020202020203
+:10DE000002020202020202020202020202020202F2
+:10DE100002020202020202020202020202020202E2
+:10DE200002020202020202020202020202020202D2
+:10DE300002020202020202020202020202020202C2
+:10DE400002020202020202020202020202020202B2
+:10DE500002020202020202020202020202020202A2
+:10DE60000202020202020202020202020202020292
+:10DE70000202020202020202020202020202020282
+:10DE80000202020202020202020202020202020272
+:10DE90000202020202020202020202020202020262
+:10DEA0000202020202020202020202020202020252
+:10DEB0000202020202020202020202020202020242
+:10DEC0000202020202020202020202020202020232
+:10DED0000202020202020202020202020202020222
+:10DEE0000202020202020202020202020202020212
+:10DEF0000202020202020202020202020202020202
+:10DF000002020202020202020202020202020202F1
+:10DF100002020202020202020202020202020202E1
+:10DF200002020202020202020202020202020202D1
+:10DF300002020202020202020202020202020202C1
+:10DF400002020202020202020202020202020202B1
+:10DF500002020202020202020202020202020202A1
+:10DF60000202020202020202020202020202020291
+:10DF70000202020202020202020202020202020281
+:10DF80000202020202020202020202020202020271
+:10DF90000202020202020202020202020202020261
+:10DFA0000202020202020202020202020202020251
+:10DFB0000202020202020202020202020202020241
+:10DFC0000202020202020202020202020202020231
+:10DFD0000202020202020202020202020202020221
+:10DFE0000202020202020202020202020202020211
+:10DFF0000202020202020202020202020202020201
+:10E0000002020202020202020202020202020202F0
+:10E0100002020202020202020202020202020202E0
+:10E0200002020202020202020202020202020202D0
+:10E0300002020202020202020202020202020202C0
+:10E0400002020202020202020202020202020202B0
+:10E0500002020202020202020202020202020202A0
+:10E060000202020202020202020202020202020290
+:10E070000202020202020202020202020202020280
+:10E080000202020202020202020202020202020270
+:10E090000202020202020202020202020202020260
+:10E0A0000202020202020202020202020202020250
+:10E0B0000202020202020202020202020202020240
+:10E0C0000202020202020202020202020202020230
+:10E0D0000202020202020202020202020202020220
+:10E0E0000202020202020202020202020202020210
+:10E0F0000202020202020202020202020202020200
+:10E1000002020202020202020202020202020202EF
+:10E1100002020202020202020202020202020202DF
+:10E1200002020202020202020202020202020202CF
+:10E1300002020202020202020202020202020202BF
+:10E1400002020202020202020202020202020202AF
+:10E15000020202020202020202020202020202029F
+:10E16000020202020202020202020202020202028F
+:10E17000020202020202020202020202020202027F
+:10E18000020202020202020202020202020202026F
+:10E19000020202020202020202020202020202025F
+:10E1A000020202020202020202020202020202024F
+:10E1B000020202020202020202020202020202023F
+:10E1C000020202020202020202020202020202022F
+:10E1D000020202020202020202020202020202021F
+:10E1E000020202020202020202020202020202020F
+:10E1F00002020202020202020202020202020202FF
+:10E2000002020202020202020202020202020202EE
+:10E2100002020202020202000000000000000000F0
+:10E2200000000000000000000000000000000000EE
+:10E2300000000000000000000000000000000000DE
+:10E2400000000000000000000000000000000000CE
+:10E2500000000000000000000000000000000000BE
+:10E2600000000000000000000000000000000000AE
+:10E27000000000000000000000000000000000009E
+:10E28000000000000000000000000000000000008E
+:10E29000000000000000000000000000000000007E
+:10E2A000000000000000000000000000000000006E
+:10E2B000000000000000000000000000000000005E
+:10E2C000000000000000000000000000000000004E
+:10E2D000000000000000000000000000000000003E
+:10E2E000000000000000000000000000000000002E
+:10E2F000000000000000000000000000000000001E
+:10E30000000000000000000000000000000000000D
+:10E3100000000000000000000000000000000000FD
+:10E3200000000000000000000000000000000000ED
+:10E3300000000000000000000000000000000000DD
+:10E3400000000000000000000000000000000000CD
+:10E3500000000000000000000000000000000000BD
+:10E3600000000000000000000000000000000000AD
+:10E37000000000000000000000000000000000009D
+:10E38000000000000000000000000000000000008D
+:10E39000000000000000000000000000000000007D
+:10E3A000000000000000000000000000000000006D
+:10E3B000000000000000000000000000000000005D
+:10E3C000000000000000000000000000000000004D
+:10E3D000000000000000000000000000000000003D
+:10E3E000000000000000000000000000000000002D
+:10E3F000000000000000000000000000000000001D
+:10E40000000000000000000000000000000000000C
+:10E4100000000000000000000000000000000000FC
+:10E4200000000000000000000000000000000000EC
+:10E4300000000000000000000000000000000000DC
+:10E4400000000000000000000000000000000000CC
+:10E4500000000000000000000000000000000000BC
+:10E4600000000000000000000000000000000000AC
+:10E47000000000000000000000000000000000009C
+:10E48000000000000000000000000000000000008C
+:10E49000000000000000000000000000000000007C
+:10E4A000000000000000000000000000000000006C
+:10E4B000000000000000000000000000000000005C
+:10E4C000000000000000000000000000000000004C
+:10E4D000000000000000000000000000000000003C
+:10E4E000000000000000000000000000000000002C
+:10E4F000000000000000000000000000000000001C
+:10E50000000000000000000000000000000000000B
+:10E5100000000000000000000000000000000000FB
+:10E5200000000000000000000000000000000000EB
+:10E5300000000000000000000000000000000000DB
+:10E5400000000000000000000000000000000000CB
+:10E5500000000000000000000000000000000000BB
+:10E5600000000000000000000000000000000000AB
+:10E57000000000000000000000000000000000009B
+:10E58000000000000000000000000000000000008B
+:10E59000000000000000000000000000000000007B
+:10E5A000000000000000000000000000000000006B
+:10E5B000000000000000000000000000000000005B
+:10E5C000000000000000000000000000000000004B
+:10E5D000000000000000000000000000000000003B
+:10E5E000000000000000000000000000000000002B
+:10E5F000000000000000000000000000000000001B
+:10E60000000000000000000000000000000000000A
+:10E6100000000000000000010101010101010101F1
+:10E6200001010101010101010101010101010101DA
+:10E6300001010101010101010101010101010101CA
+:10E6400001010101010101010101010101010101BA
+:10E6500001010101010101010101010101010101AA
+:10E66000010101010101010101010101010101019A
+:10E67000010101010101010101010101010101018A
+:10E68000010101010101010101010101010101017A
+:10E69000010101010101010101010101010101016A
+:10E6A000010101010101010101010101010101015A
+:10E6B000010101010101010101010101010101014A
+:10E6C000010101010101010101010101010101013A
+:10E6D000010101010101010101010101010101012A
+:10E6E000010101010101010101010101010101011A
+:10E6F000010101010101010101010101010101010A
+:10E7000001010101010101010101010101010101F9
+:10E7100001010101010101010101010101010101E9
+:10E7200001010101010101010101010101010101D9
+:10E7300001010101010101010101010101010101C9
+:10E7400001010101010101010101010101010101B9
+:10E7500001010101010101010101010101010101A9
+:10E760000101010101010101010101010101010199
+:10E770000101010101010101010101010101010189
+:10E780000101010101010101010101010101010179
+:10E790000101010101010101010101010101010169
+:10E7A0000101010101010101010101010101010159
+:10E7B0000101010101010101010101010101010149
+:10E7C0000101010101010101010101010101010139
+:10E7D0000101010101010101010101010101010129
+:10E7E0000101010101010101010101010101010119
+:10E7F0000101010101010101010101010101010109
+:10E8000001010101010101010101010101010101F8
+:10E8100001010101010101010101010101010101E8
+:10E8200001010101010101010101010101010101D8
+:10E8300001010101010101010101010101010101C8
+:10E8400001010101010101010101010101010101B8
+:10E8500001010101010101010101010101010101A8
+:10E860000101010101010101010101010101010198
+:10E870000101010101010101010101010101010188
+:10E880000101010101010101010101010101010178
+:10E890000101010101010101010101010101010168
+:10E8A0000101010101010101010101010101010158
+:10E8B0000101010101010101010101010101010148
+:10E8C0000101010101010101010101010101010138
+:10E8D0000101010101010101010101010101010128
+:10E8E0000101010101010101010101010101010118
+:10E8F0000101010101010101010101010101010108
+:10E9000001010101010101010101010101010101F7
+:10E9100001010101010101010101010101010101E7
+:10E9200001010101010101010101010101010101D7
+:10E9300001010101010101010101010101010101C7
+:10E9400001010101010101010101010101010101B7
+:10E9500001010101010101010101010101010101A7
+:10E960000101010101010101010101010101010197
+:10E970000101010101010101010101010101010187
+:10E980000101010101010101010101010101010177
+:10E990000101010101010101010101010101010167
+:10E9A0000101010101010101010101010101010157
+:10E9B0000101010101010101010101010101010147
+:10E9C0000101010101010101010101010101010137
+:10E9D0000101010101010101010101010101010127
+:10E9E0000101010101010101010101010101010117
+:10E9F0000101010101010101010101010101010107
+:10EA000001010101010101010101010101010101F6
+:10EA100001010101010101010101010101010101E6
+:10EA200001010101010101010101010101010101D6
+:10EA300001010101010101010101010101010101C6
+:10EA400001010101010101010101010101010101B6
+:10EA500001010101010101010101010101010101A6
+:10EA60000101010101010101010101010101010196
+:10EA70000101010101010101010101010101010186
+:10EA80000101010101010101010101010101010176
+:10EA90000101010101010101010101010101010166
+:10EAA0000101010101010101010101010101010156
+:10EAB0000101010101010101010101010101010146
+:10EAC0000101010101010101010101010101010136
+:10EAD0000101010101010101010101010101010126
+:10EAE0000101010101010101010101010101010116
+:10EAF0000101010101010101010101010101010106
+:10EB000001010101010101010101010101010101F5
+:10EB100001010101010101010101010101010101E5
+:10EB200001010101010101010101010101010101D5
+:10EB300001010101010101010101010101010101C5
+:10EB400001010101010101010101010101010101B5
+:10EB500001010101010101010101010101010101A5
+:10EB60000101010101010101010101010101010195
+:10EB70000101010101010101010101010101010185
+:10EB80000101010101010101010101010101010175
+:10EB90000101010101010101010101010101010165
+:10EBA0000101010101010101010101010101010155
+:10EBB0000101010101010101010101010101010145
+:10EBC0000101010101010101010101010101010135
+:10EBD0000101010101010101010101010101010125
+:10EBE0000101010101010101010101010101010115
+:10EBF0000101010101010101010101010101010105
+:10EC000001010101010101010101010101010101F4
+:10EC100001010101010101010101010101010101E4
+:10EC200001010101010101010101010101010101D4
+:10EC300001010101010101010101010101010101C4
+:10EC400001010101010101010101010101010101B4
+:10EC500001010101010101010101010101010101A4
+:10EC60000101010101010101010101010101010194
+:10EC70000101010101010101010101010101010184
+:10EC80000101010101010101010101010101010174
+:10EC90000101010101010101010101010101010164
+:10ECA0000101010101010101010101010101010154
+:10ECB0000101010101010101010101010101010144
+:10ECC0000101010101010101010101010101010134
+:10ECD0000101010101010101010101010101010124
+:10ECE0000101010101010101010101010101010114
+:10ECF0000101010101010101010101010101010104
+:10ED000001010101010101010101010101010101F3
+:10ED100001010101010101010101010101010101E3
+:10ED200001010101010101010101010101010101D3
+:10ED300001010101010101010101010101010101C3
+:10ED400001010101010101010101010101010101B3
+:10ED500001010101010101010101010101010101A3
+:10ED60000101010101010101010101010101010193
+:10ED70000101010101010101010101010101010183
+:10ED80000101010101010101010101010101010173
+:10ED90000101010101010101010101010101010163
+:10EDA0000101010101010101010101010101010153
+:10EDB0000101010101010101010101010101010143
+:10EDC0000101010101010101010101010101010133
+:10EDD0000101010101010101010101010101010123
+:10EDE0000101010101010101010101010101010113
+:10EDF0000101010101010101010101010101010103
+:10EE000001010101010101010101010101010101F2
+:10EE100001010101010101010101010101010101E2
+:10EE200001010101010101010101010101010101D2
+:10EE300001010101010101010101010101010101C2
+:10EE400001010101010101010101010101010101B2
+:10EE500001010101010101010101010101010101A2
+:10EE60000101010101010101010101010101010192
+:10EE70000101010101010101010101010101010182
+:10EE80000101010101010101010101010101010172
+:10EE90000101010101010101010101010101010162
+:10EEA0000101010101010101010101010101010152
+:10EEB0000101010101010101010101010101010142
+:10EEC0000101010101010101010101010101010132
+:10EED0000101010101010101010101010101010122
+:10EEE0000101010101010101010101010101010112
+:10EEF0000101010101010101010101010101010102
+:10EF000001010101010101010101010101010101F1
+:10EF100001010101010101010101010101010101E1
+:10EF200001010101010101010101010101010101D1
+:10EF300001010101010101010101010101010101C1
+:10EF400001010101010101010101010101010101B1
+:10EF500001010101010101010101010101010101A1
+:10EF60000101010101010101010101010101010191
+:10EF70000101010101010101010101010101010181
+:10EF80000101010101010101010101010101010171
+:10EF90000101010101010101010101010101010161
+:10EFA0000101010101010101010101010101010151
+:10EFB0000101010101010101010101010101010141
+:10EFC0000101010101010101010101010101010131
+:10EFD0000101010101010101010101010101010121
+:10EFE0000101010101010101010101010101010111
+:10EFF0000101010101010101010101010101010101
+:10F0000001010101010101010101010101010101F0
+:10F0100001010101010101010101010101010101E0
+:10F0200001010101010101010101010101010101D0
+:10F0300001010101010101010101010101010101C0
+:10F0400001010101010101010101010101010101B0
+:10F0500001010101010101010101010101010101A0
+:10F060000101010101010101010101010101010190
+:10F070000101010101010101010101010101010180
+:10F080000101010101010101010101010101010170
+:10F090000101010101010101010101010101010160
+:10F0A0000101010101010101010101010101010150
+:10F0B0000101010101010101010101010101010140
+:10F0C0000101010101010101010101010101010130
+:10F0D0000101010101010101010101010101010120
+:10F0E0000101010101010101010101010101010110
+:10F0F0000101010101010101010101010101010100
+:10F1000001010101010101010101010101010101EF
+:10F1100001010101010101010101010101010101DF
+:10F1200001010101010101010101010101010101CF
+:10F1300001010101010101010101010101010101BF
+:10F1400001010101010101010101010101010101AF
+:10F15000010101010101010101010101010101019F
+:10F16000010101010101010101010101010101018F
+:10F17000010101010101010101010101010101017F
+:10F18000010101010101010101010101010101016F
+:10F19000010101010101010101010101010101015F
+:10F1A000010101010101010101010101010101014F
+:10F1B000010101010101010101010101010101013F
+:10F1C000010101010101010101010101010101012F
+:10F1D000010101010101010101010101010101011F
+:10F1E000010101010101010101010101010101010F
+:10F1F00001010101010101010101010101010101FF
+:10F2000001010101010101010101010101010101EE
+:10F2100001010101010101010101010101010101DE
+:10F2200001010101010101010101010101010101CE
+:10F2300001010101010101010101010101010101BE
+:10F2400001010101010101010101010101010101AE
+:10F25000010101010101010101010101010101019E
+:10F26000010101010101010101010101010101018E
+:10F27000010101010101010101010101010101017E
+:10F28000010101010101010101010101010101016E
+:10F29000010101010101010101010101010101015E
+:10F2A000010101010101010101010101010101014E
+:10F2B000010101010101010101010101010101013E
+:10F2C000010101010101010101010101010101012E
+:10F2D000010101010101010101010101010101011E
+:10F2E000010101010101010101010101010101010E
+:10F2F00001010101010101010101010101010101FE
+:10F3000001010101010101010101010101010101ED
+:10F3100001010101010101010101010101010101DD
+:10F3200001010101010101010101010101010101CD
+:10F3300001010101010101010101010101010101BD
+:10F3400001010101010101010101010101010101AD
+:10F35000010101010101010101010101010101019D
+:10F36000010101010101010101010101010101018D
+:10F37000010101010101010101010101010101017D
+:10F38000010101010101010101010101010101016D
+:10F39000010101010101010101010101010101015D
+:10F3A000010101010101010101010101010101014D
+:10F3B000010101010101010101010101010101013D
+:10F3C000010101010101010101010101010101012D
+:10F3D000010101010101010101010101010101011D
+:10F3E000010101010101010101010101010101010D
+:10F3F00001010101010101010101010101010101FD
+:10F4000001010101010101010101010101010101EC
+:10F4100001010101010101010101010101010101DC
+:10F4200001010101010101010101010101010101CC
+:10F4300001010101010101010101010101010101BC
+:10F4400001010101010101010101010101010101AC
+:10F45000010101010101010101010101010101019C
+:10F46000010101010101010101010101010101018C
+:10F47000010101010101010101010101010101017C
+:10F48000010101010101010101010101010101016C
+:10F49000010101010101010101010101010101015C
+:10F4A000010101010101010101010101010101014C
+:10F4B000010101010101010101010101010101013C
+:10F4C000010101010101010101010101010101012C
+:10F4D000010101010101010101010101010101011C
+:10F4E000010101010101010101010101010101010C
+:10F4F00001010101010101010101010101010101FC
+:10F5000001010101010101010101010101010101EB
+:10F5100001010101010101010101010101010101DB
+:10F5200001010101010101010101010101010101CB
+:10F5300001010101010101010101010101010101BB
+:10F5400001010101010101010101010101010101AB
+:10F55000010101010101010101010101010101019B
+:10F56000010101010101010101010101010101018B
+:10F57000010101010101010101010101010101017B
+:10F58000010101010101010101010101010101016B
+:10F59000010101010101010101010101010101015B
+:10F5A000010101010101010101010101010101014B
+:10F5B000010101010101010101010101010101013B
+:10F5C000010101010101010101010101010101012B
+:10F5D000010101010101010101010101010101011B
+:10F5E000010101010101010101010101010101010B
+:10F5F00001010101010101010101010101010101FB
+:10F6000001010101010101010101010101010101EA
+:10F6100001010101010101010101010101010101DA
+:10F6200001010101010101010101010101010101CA
+:10F6300001010101010101010101010101010101BA
+:10F6400001010101010101010101010101010101AA
+:10F65000010101010101010101010101010101019A
+:10F66000010101010101010101010101010101018A
+:10F67000010101010101010101010101010101017A
+:10F68000010101010101010101010101010101016A
+:10F69000010101010101010101010101010101015A
+:10F6A000010101010101010101010101010101014A
+:10F6B000010101010101010101010101010101013A
+:10F6C000010101010101010101010101010101012A
+:10F6D000010101010101010101010101010101011A
+:10F6E000010101010101010101010101010101010A
+:10F6F00001010101010101010101010101010101FA
+:10F7000001010101010101010101010101010101E9
+:10F7100001010101010101010101010101010101D9
+:10F7200001010101010101010101010101010101C9
+:10F7300001010101010101010101010101010101B9
+:10F7400001010101010101010101010101010101A9
+:10F750000101010101010101010101010101010199
+:10F760000101010101010101010101010101010189
+:10F770000101010101010101010101010101010179
+:10F780000101010101010101010101010101010169
+:10F790000101010101010101010101010101010159
+:10F7A0000101010101010101010101010101010149
+:10F7B0000101010101010101010101010101010139
+:10F7C0000101010101010101010101010101010129
+:10F7D0000101010101010101010101010101010119
+:10F7E0000101010101010101010101010101010109
+:10F7F00001010101010101010101010101010101F9
+:10F8000001010101010101010101010101010101E8
+:10F8100001010101010101010101010101010101D8
+:10F8200001010101010101010101010101010101C8
+:10F8300001010101010101010101010101010101B8
+:10F8400001010101010101010101010101010101A8
+:10F850000101010101010101010101010101010198
+:10F860000101010101010101010101010101010188
+:10F870000101010101010101010101010101010178
+:10F880000101010101010101010101010101010168
+:10F890000101010101010101010101010101010158
+:10F8A0000101010101010101010101010101010148
+:10F8B0000101010101010101010101010101010138
+:10F8C0000101010101010101010101010101010128
+:10F8D0000101010101010101010101010101010118
+:10F8E0000101010101010101010101010101010108
+:10F8F00001010101010101010101010101010101F8
+:10F9000001010101010101010101010101010101E7
+:10F9100001010101010101010101010101010101D7
+:10F9200001010101010101010101010101010101C7
+:10F9300001010101010101010101010101010101B7
+:10F9400001010101010101010101010101010101A7
+:10F950000101010101010101010101010101010197
+:10F960000101010101010101010101010101010187
+:10F970000101010101010101010101010101010177
+:10F980000101010101010101010101010101010167
+:10F990000101010101010101010101010101010157
+:10F9A0000101010101010101010101010101010147
+:10F9B0000101010101010101010101010101010137
+:10F9C0000101010101010101010101010101010127
+:10F9D0000101010101010101010101010101010117
+:10F9E0000101010101010101010101010101010107
+:10F9F00001010101010101010101010101010101F7
+:10FA000001010101010101010101010101010101E6
+:10FA100001010101010101010101010101010101D6
+:10FA200001010101010101010101010101010101C6
+:10FA300001010101010101010101010101010101B6
+:10FA400001010101010101010101010101010101A6
+:10FA50000101010101010101010101010101010196
+:10FA60000101010101010101010101010101010186
+:10FA70000101010101010101010101010101010176
+:10FA80000101010101010101010101010101010166
+:10FA90000101010101010101010101010101010156
+:10FAA0000101010101010101010101010101010146
+:10FAB0000101010101010101010101010101010136
+:10FAC0000101010101010101010101010101010126
+:10FAD0000101010101010101010101010101010116
+:10FAE0000101010101010101010101010101010106
+:10FAF00001010101010101010101010101010101F6
+:10FB000001010101010101010101010101010101E5
+:10FB100001010101010101010101010101010101D5
+:10FB200001010101010101010101010101010101C5
+:10FB300001010101010101010101010101010101B5
+:10FB400001010101010101010101010101010101A5
+:10FB50000101010101010101010101010101010195
+:10FB60000101010101010101010101010101010185
+:10FB70000101010101010101010101010101010175
+:10FB80000101010101010101010101010101010165
+:10FB90000101010101010101010101010101010155
+:10FBA0000101010101010101010101010101010145
+:10FBB0000101010101010101010101010101010135
+:10FBC0000101010101010101010101010101010125
+:10FBD0000101010101010101010101010101010115
+:10FBE0000101010101010101010101010101010105
+:10FBF00001010101010101010101010101010101F5
+:10FC000001010101010101010101010101010101E4
+:10FC100001010101010101000000000000000000DD
+:10FC200000000000000000000000000000000000D4
+:10FC300000000000000000000000000000000000C4
+:10FC400000000000000000000000000000000000B4
+:10FC500000000000000000000000000000000000A4
+:10FC60000000000000000000000000000000000094
+:10FC70000000000000000000000000000000000084
+:10FC80000000000000000000000000000000000074
+:10FC90000000000000000000000000000000000064
+:10FCA0000000000000000000000000000000000054
+:10FCB0000000000000000000000000000000000044
+:10FCC0000000000000000000000000000000000034
+:10FCD0000000000000000000000000000000000024
+:10FCE0000000000000000000000000000000000014
+:10FCF0000000000000000000000000000000000004
+:10FD000000000000000000000000000000000000F3
+:10FD100000000000000000000000000000000000E3
+:10FD200000000000000000000000000000000000D3
+:10FD300000000000000000000000000000000000C3
+:10FD400000000000000000000000000000000000B3
+:10FD500000000000000000000000000000000000A3
+:10FD60000000000000000000000000000000000093
+:10FD70000000000000000000000000000000000083
+:10FD80000000000000000000000000000000000073
+:10FD90000000000000000000000000000000000063
+:10FDA0000000000000000000000000000000000053
+:10FDB0000000000000000000000000000000000043
+:10FDC0000000000000000000000000000000000033
+:10FDD0000000000000000000000000000000000023
+:10FDE0000000000000000000000000000000000013
+:10FDF0000000000000000000000000000000000003
+:10FE000000000000000000000000000000000000F2
+:10FE100000000000000000000000000000000000E2
+:10FE200000000000000000000000000000000000D2
+:10FE300000000000000000000000000000000000C2
+:10FE400000000000000000000000000000000000B2
+:10FE500000000000000000000000000000000000A2
+:10FE60000000000000000000000000000000000092
+:10FE70000000000000000000000000000000000082
+:10FE80000000000000000000000000000000000072
+:10FE90000000000000000000000000000000000062
+:10FEA0000000000000000000000000000000000052
+:10FEB0000000000000000000000000000000000042
+:10FEC0000000000000000000000000000000000032
+:10FED0000000000000000000000000000000000022
+:10FEE0000000000000000000000000000000000012
+:10FEF0000000000000000000000000000000000002
+:10FF000000000000000000000000000000000000F1
+:10FF100000000000000000000000000000000000E1
+:10FF200000000000000000000000000000000000D1
+:10FF300000000000000000000000000000000000C1
+:10FF400000000000000000000000000000000000B1
+:10FF500000000000000000000000000000000000A1
+:10FF60000000000000000000000000000000000091
+:10FF70000000000000000000000000000000000081
+:10FF80000000000000000000000000000000000071
+:10FF90000000000000000000000000000000000061
+:10FFA0000000000000000000000000000000000051
+:10FFB0000000000000000000000000000000000041
+:10FFC0000000000000000000000000000000000031
+:10FFD0000000000000000000000000000000000021
+:10FFE0000000000000000000000000000000000011
+:10FFF0000000000000000000000000000000000001
+:020000025000AC
+:1000000000000000000000000000000000000000F0
+:1000100000000000000000020202020202020202CE
+:1000200002020202020202020202020202020202B0
+:1000300002020202020202020202020202020202A0
+:100040000202020202020202020202020202020290
+:100050000202020202020202020202020202020280
+:100060000202020202020202020202020202020270
+:100070000202020202020202020202020202020260
+:100080000202020202020202020202020202020250
+:100090000202020202020202020202020202020240
+:1000A0000202020202020202020202020202020230
+:1000B0000202020202020202020202020202020220
+:1000C0000202020202020202020202020202020210
+:1000D0000202020202020202020202020202020200
+:1000E00002020202020202020202020202020202F0
+:1000F00002020202020202020202020202020202E0
+:1001000002020202020202020202020202020202CF
+:1001100002020202020202020202020202020202BF
+:1001200002020202020202020202020202020202AF
+:10013000020202020202020202020202020202029F
+:10014000020202020202020202020202020202028F
+:10015000020202020202020202020202020202027F
+:10016000020202020202020202020202020202026F
+:10017000020202020202020202020202020202025F
+:10018000020202020202020202020202020202024F
+:10019000020202020202020202020202020202023F
+:1001A000020202020202020202020202020202022F
+:1001B000020202020202020202020202020202021F
+:1001C000020202020202020202020202020202020F
+:1001D00002020202020202020202020202020202FF
+:1001E00002020202020202020202020202020202EF
+:1001F00002020202020202020202020202020202DF
+:1002000002020202020202020202020202020202CE
+:1002100002020202020202020202020202020202BE
+:1002200002020202020202020202020202020202AE
+:10023000020202020202020202020202020202029E
+:10024000020202020202020202020202020202028E
+:10025000020202020202020202020202020202027E
+:10026000020202020202020202020202020202026E
+:10027000020202020202020202020202020202025E
+:10028000020202020202020202020202020202024E
+:10029000020202020202020202020202020202023E
+:1002A000020202020202020202020202020202022E
+:1002B000020202020202020202020202020202021E
+:1002C000020202020202020202020202020202020E
+:1002D00002020202020202020202020202020202FE
+:1002E00002020202020202020202020202020202EE
+:1002F00002020202020202020202020202020202DE
+:1003000002020202020202020202020202020202CD
+:1003100002020202020202020202020202020202BD
+:1003200002020202020202020202020202020202AD
+:10033000020202020202020202020202020202029D
+:10034000020202020202020202020202020202028D
+:10035000020202020202020202020202020202027D
+:10036000020202020202020202020202020202026D
+:10037000020202020202020202020202020202025D
+:10038000020202020202020202020202020202024D
+:10039000020202020202020202020202020202023D
+:1003A000020202020202020202020202020202022D
+:1003B000020202020202020202020202020202021D
+:1003C000020202020202020202020202020202020D
+:1003D00002020202020202020202020202020202FD
+:1003E00002020202020202020202020202020202ED
+:1003F00002020202020202020202020202020202DD
+:1004000002020202020202020202020202020202CC
+:1004100002020202020202020202020202020202BC
+:1004200002020202020202020202020202020202AC
+:10043000020202020202020202020202020202029C
+:10044000020202020202020202020202020202028C
+:10045000020202020202020202020202020202027C
+:10046000020202020202020202020202020202026C
+:10047000020202020202020202020202020202025C
+:10048000020202020202020202020202020202024C
+:10049000020202020202020202020202020202023C
+:1004A000020202020202020202020202020202022C
+:1004B000020202020202020202020202020202021C
+:1004C000020202020202020202020202020202020C
+:1004D00002020202020202020202020202020202FC
+:1004E00002020202020202020202020202020202EC
+:1004F00002020202020202020202020202020202DC
+:1005000002020202020202020202020202020202CB
+:1005100002020202020202020202020202020202BB
+:1005200002020202020202020202020202020202AB
+:10053000020202020202020202020202020202029B
+:10054000020202020202020202020202020202028B
+:10055000020202020202020202020202020202027B
+:10056000020202020202020202020202020202026B
+:10057000020202020202020202020202020202025B
+:10058000020202020202020202020202020202024B
+:10059000020202020202020202020202020202023B
+:1005A000020202020202020202020202020202022B
+:1005B000020202020202020202020202020202021B
+:1005C000020202020202020202020202020202020B
+:1005D00002020202020202020202020202020202FB
+:1005E00002020202020202020202020202020202EB
+:1005F00002020202020202020202020202020202DB
+:1006000002020202020202020202020202020202CA
+:1006100002020202020202020202020202020202BA
+:1006200002020202020202020202020202020202AA
+:10063000020202020202020202020202020202029A
+:10064000020202020202020202020202020202028A
+:10065000020202020202020202020202020202027A
+:10066000020202020202020202020202020202026A
+:10067000020202020202020202020202020202025A
+:10068000020202020202020202020202020202024A
+:10069000020202020202020202020202020202023A
+:1006A000020202020202020202020202020202022A
+:1006B000020202020202020202020202020202021A
+:1006C000020202020202020202020202020202020A
+:1006D00002020202020202020202020202020202FA
+:1006E00002020202020202020202020202020202EA
+:1006F00002020202020202020202020202020202DA
+:1007000002020202020202020202020202020202C9
+:1007100002020202020202020202020202020202B9
+:1007200002020202020202020202020202020202A9
+:100730000202020202020202020202020202020299
+:100740000202020202020202020202020202020289
+:100750000202020202020202020202020202020279
+:100760000202020202020202020202020202020269
+:100770000202020202020202020202020202020259
+:100780000202020202020202020202020202020249
+:100790000202020202020202020202020202020239
+:1007A0000202020202020202020202020202020229
+:1007B0000202020202020202020202020202020219
+:1007C0000202020202020202020202020202020209
+:1007D00002020202020202020202020202020202F9
+:1007E00002020202020202020202020202020202E9
+:1007F00002020202020202020202020202020202D9
+:1008000002020202020202020202020202020202C8
+:1008100002020202020202020202020202020202B8
+:1008200002020202020202020202020202020202A8
+:100830000202020202020202020202020202020298
+:100840000202020202020202020202020202020288
+:100850000202020202020202020202020202020278
+:100860000202020202020202020202020202020268
+:100870000202020202020202020202020202020258
+:100880000202020202020202020202020202020248
+:100890000202020202020202020202020202020238
+:1008A0000202020202020202020202020202020228
+:1008B0000202020202020202020202020202020218
+:1008C0000202020202020202020202020202020208
+:1008D00002020202020202020202020202020202F8
+:1008E00002020202020202020202020202020202E8
+:1008F00002020202020202020202020202020202D8
+:1009000002020202020202020202020202020202C7
+:1009100002020202020202020202020202020202B7
+:1009200002020202020202020202020202020202A7
+:100930000202020202020202020202020202020297
+:100940000202020202020202020202020202020287
+:100950000202020202020202020202020202020277
+:100960000202020202020202020202020202020267
+:100970000202020202020202020202020202020257
+:100980000202020202020202020202020202020247
+:100990000202020202020202020202020202020237
+:1009A0000202020202020202020202020202020227
+:1009B0000202020202020202020202020202020217
+:1009C0000202020202020202020202020202020207
+:1009D00002020202020202020202020202020202F7
+:1009E00002020202020202020202020202020202E7
+:1009F00002020202020202020202020202020202D7
+:100A000002020202020202020202020202020202C6
+:100A100002020202020202020202020202020202B6
+:100A200002020202020202020202020202020202A6
+:100A30000202020202020202020202020202020296
+:100A40000202020202020202020202020202020286
+:100A50000202020202020202020202020202020276
+:100A60000202020202020202020202020202020266
+:100A70000202020202020202020202020202020256
+:100A80000202020202020202020202020202020246
+:100A90000202020202020202020202020202020236
+:100AA0000202020202020202020202020202020226
+:100AB0000202020202020202020202020202020216
+:100AC0000202020202020202020202020202020206
+:100AD00002020202020202020202020202020202F6
+:100AE00002020202020202020202020202020202E6
+:100AF00002020202020202020202020202020202D6
+:100B000002020202020202020202020202020202C5
+:100B100002020202020202020202020202020202B5
+:100B200002020202020202020202020202020202A5
+:100B30000202020202020202020202020202020295
+:100B40000202020202020202020202020202020285
+:100B50000202020202020202020202020202020275
+:100B60000202020202020202020202020202020265
+:100B70000202020202020202020202020202020255
+:100B80000202020202020202020202020202020245
+:100B90000202020202020202020202020202020235
+:100BA0000202020202020202020202020202020225
+:100BB0000202020202020202020202020202020215
+:100BC0000202020202020202020202020202020205
+:100BD00002020202020202020202020202020202F5
+:100BE00002020202020202020202020202020202E5
+:100BF00002020202020202020202020202020202D5
+:100C000002020202020202020202020202020202C4
+:100C100002020202020202020202020202020202B4
+:100C200002020202020202020202020202020202A4
+:100C30000202020202020202020202020202020294
+:100C40000202020202020202020202020202020284
+:100C50000202020202020202020202020202020274
+:100C60000202020202020202020202020202020264
+:100C70000202020202020202020202020202020254
+:100C80000202020202020202020202020202020244
+:100C90000202020202020202020202020202020234
+:100CA0000202020202020202020202020202020224
+:100CB0000202020202020202020202020202020214
+:100CC0000202020202020202020202020202020204
+:100CD00002020202020202020202020202020202F4
+:100CE00002020202020202020202020202020202E4
+:100CF00002020202020202020202020202020202D4
+:100D000002020202020202020202020202020202C3
+:100D100002020202020202020202020202020202B3
+:100D200002020202020202020202020202020202A3
+:100D30000202020202020202020202020202020293
+:100D40000202020202020202020202020202020283
+:100D50000202020202020202020202020202020273
+:100D60000202020202020202020202020202020263
+:100D70000202020202020202020202020202020253
+:100D80000202020202020202020202020202020243
+:100D90000202020202020202020202020202020233
+:100DA0000202020202020202020202020202020223
+:100DB0000202020202020202020202020202020213
+:100DC0000202020202020202020202020202020203
+:100DD00002020202020202020202020202020202F3
+:100DE00002020202020202020202020202020202E3
+:100DF00002020202020202020202020202020202D3
+:100E000002020202020202020202020202020202C2
+:100E100002020202020202020202020202020202B2
+:100E200002020202020202020202020202020202A2
+:100E30000202020202020202020202020202020292
+:100E40000202020202020202020202020202020282
+:100E50000202020202020202020202020202020272
+:100E60000202020202020202020202020202020262
+:100E70000202020202020202020202020202020252
+:100E80000202020202020202020202020202020242
+:100E90000202020202020202020202020202020232
+:100EA0000202020202020202020202020202020222
+:100EB0000202020202020202020202020202020212
+:100EC0000202020202020202020202020202020202
+:100ED00002020202020202020202020202020202F2
+:100EE00002020202020202020202020202020202E2
+:100EF00002020202020202020202020202020202D2
+:100F000002020202020202020202020202020202C1
+:100F100002020202020202020202020202020202B1
+:100F200002020202020202020202020202020202A1
+:100F30000202020202020202020202020202020291
+:100F40000202020202020202020202020202020281
+:100F50000202020202020202020202020202020271
+:100F60000202020202020202020202020202020261
+:100F70000202020202020202020202020202020251
+:100F80000202020202020202020202020202020241
+:100F90000202020202020202020202020202020231
+:100FA0000202020202020202020202020202020221
+:100FB0000202020202020202020202020202020211
+:100FC0000202020202020202020202020202020201
+:100FD00002020202020202020202020202020202F1
+:100FE00002020202020202020202020202020202E1
+:100FF00002020202020202020202020202020202D1
+:1010000002020202020202020202020202020202C0
+:1010100002020202020202020202020202020202B0
+:1010200002020202020202020202020202020202A0
+:101030000202020202020202020202020202020290
+:101040000202020202020202020202020202020280
+:101050000202020202020202020202020202020270
+:101060000202020202020202020202020202020260
+:101070000202020202020202020202020202020250
+:101080000202020202020202020202020202020240
+:101090000202020202020202020202020202020230
+:1010A0000202020202020202020202020202020220
+:1010B0000202020202020202020202020202020210
+:1010C0000202020202020202020202020202020200
+:1010D00002020202020202020202020202020202F0
+:1010E00002020202020202020202020202020202E0
+:1010F00002020202020202020202020202020202D0
+:1011000002020202020202020202020202020202BF
+:1011100002020202020202020202020202020202AF
+:10112000020202020202020202020202020202029F
+:10113000020202020202020202020202020202028F
+:10114000020202020202020202020202020202027F
+:10115000020202020202020202020202020202026F
+:10116000020202020202020202020202020202025F
+:10117000020202020202020202020202020202024F
+:10118000020202020202020202020202020202023F
+:10119000020202020202020202020202020202022F
+:1011A000020202020202020202020202020202021F
+:1011B000020202020202020202020202020202020F
+:1011C00002020202020202020202020202020202FF
+:1011D00002020202020202020202020202020202EF
+:1011E00002020202020202020202020202020202DF
+:1011F00002020202020202020202020202020202CF
+:1012000002020202020202020202020202020202BE
+:1012100002020202020202020202020202020202AE
+:10122000020202020202020202020202020202029E
+:10123000020202020202020202020202020202028E
+:10124000020202020202020202020202020202027E
+:10125000020202020202020202020202020202026E
+:10126000020202020202020202020202020202025E
+:10127000020202020202020202020202020202024E
+:10128000020202020202020202020202020202023E
+:10129000020202020202020202020202020202022E
+:1012A000020202020202020202020202020202021E
+:1012B000020202020202020202020202020202020E
+:1012C00002020202020202020202020202020202FE
+:1012D00002020202020202020202020202020202EE
+:1012E00002020202020202020202020202020202DE
+:1012F00002020202020202020202020202020202CE
+:1013000002020202020202020202020202020202BD
+:1013100002020202020202020202020202020202AD
+:10132000020202020202020202020202020202029D
+:10133000020202020202020202020202020202028D
+:10134000020202020202020202020202020202027D
+:10135000020202020202020202020202020202026D
+:10136000020202020202020202020202020202025D
+:10137000020202020202020202020202020202024D
+:10138000020202020202020202020202020202023D
+:10139000020202020202020202020202020202022D
+:1013A000020202020202020202020202020202021D
+:1013B000020202020202020202020202020202020D
+:1013C00002020202020202020202020202020202FD
+:1013D00002020202020202020202020202020202ED
+:1013E00002020202020202020202020202020202DD
+:1013F00002020202020202020202020202020202CD
+:1014000002020202020202020202020202020202BC
+:1014100002020202020202020202020202020202AC
+:10142000020202020202020202020202020202029C
+:10143000020202020202020202020202020202028C
+:10144000020202020202020202020202020202027C
+:10145000020202020202020202020202020202026C
+:10146000020202020202020202020202020202025C
+:10147000020202020202020202020202020202024C
+:10148000020202020202020202020202020202023C
+:10149000020202020202020202020202020202022C
+:1014A000020202020202020202020202020202021C
+:1014B000020202020202020202020202020202020C
+:1014C00002020202020202020202020202020202FC
+:1014D00002020202020202020202020202020202EC
+:1014E00002020202020202020202020202020202DC
+:1014F00002020202020202020202020202020202CC
+:1015000002020202020202020202020202020202BB
+:1015100002020202020202020202020202020202AB
+:10152000020202020202020202020202020202029B
+:10153000020202020202020202020202020202028B
+:10154000020202020202020202020202020202027B
+:10155000020202020202020202020202020202026B
+:10156000020202020202020202020202020202025B
+:10157000020202020202020202020202020202024B
+:10158000020202020202020202020202020202023B
+:10159000020202020202020202020202020202022B
+:1015A000020202020202020202020202020202021B
+:1015B000020202020202020202020202020202020B
+:1015C00002020202020202020202020202020202FB
+:1015D00002020202020202020202020202020202EB
+:1015E00002020202020202020202020202020202DB
+:1015F00002020202020202020202020202020202CB
+:1016000002020202020202020202020202020202BA
+:1016100002020202020202000000000000000000BC
+:1016200000000000000000000000000000000000BA
+:1016300000000000000000000000000000000000AA
+:10164000000000000000000000000000000000009A
+:10165000000000000000000000000000000000008A
+:10166000000000000000000000000000000000007A
+:10167000000000000000000000000000000000006A
+:10168000000000000000000000000000000000005A
+:10169000000000000000000000000000000000004A
+:1016A000000000000000000000000000000000003A
+:1016B000000000000000000000000000000000002A
+:1016C000000000000000000000000000000000001A
+:1016D000000000000000000000000000000000000A
+:1016E00000000000000000000000000000000000FA
+:1016F00000000000000000000000000000000000EA
+:1017000000000000000000000000000000000000D9
+:10171000000000000000005D00000000000000016B
+:1017200001010101010101010101010101010101A9
+:101730000101010101010101010101010101010199
+:101740000101010101010101010101010101010189
+:101750000101010101010101010101010101010179
+:101760000101010101010101010101010101010169
+:101770000101010101010101010101010101010159
+:101780000101010101010101010101010101010149
+:101790000101010101010101010101010101010139
+:1017A0000101010101010101010101010101010129
+:1017B0000101010101010101010101010101010119
+:1017C0000101010101010101010101010101010109
+:1017D00001010101010101010101010101010101F9
+:1017E00001010101010101010101010101010101E9
+:1017F00001010101010101010101010101010101D9
+:1018000001010101010101010101010101010101C8
+:1018100001010101010101010101010101010101B8
+:1018200001010101010101010101010101010101A8
+:101830000101010101010101010101010101010198
+:101840000101010101010101010101010101010188
+:101850000101010101010101010101010101010178
+:101860000101010101010101010101010101010168
+:101870000101010101010101010101010101010158
+:101880000101010101010101010101010101010148
+:101890000101010101010101010101010101010138
+:1018A0000101010101010101010101010101010128
+:1018B0000101010101010101010101010101010118
+:1018C0000101010101010101010101010101010108
+:1018D00001010101010101010101010101010101F8
+:1018E00001010101010101010101010101010101E8
+:1018F00001010101010101010101010101010101D8
+:1019000001010101010101010101010101010101C7
+:1019100001010101010101010101010101010101B7
+:1019200001010101010101010101010101010101A7
+:101930000101010101010101010101010101010197
+:101940000101010101010101010101010101010187
+:101950000101010101010101010101010101010177
+:101960000101010101010101010101010101010167
+:101970000101010101010101010101010101010157
+:101980000101010101010101010101010101010147
+:101990000101010101010101010101010101010137
+:1019A0000101010101010101010101010101010127
+:1019B0000101010101010101010101010101010117
+:1019C0000101010101010101010101010101010107
+:1019D00001010101010101010101010101010101F7
+:1019E00001010101010101010101010101010101E7
+:1019F00001010101010101010101010101010101D7
+:101A000001010101010101010101010101010101C6
+:101A100001010101010101010101010101010101B6
+:101A200001010101010101010101010101010101A6
+:101A30000101010101010101010101010101010196
+:101A40000101010101010101010101010101010186
+:101A50000101010101010101010101010101010176
+:101A60000101010101010101010101010101010166
+:101A70000101010101010101010101010101010156
+:101A80000101010101010101010101010101010146
+:101A90000101010101010101010101010101010136
+:101AA0000101010101010101010101010101010126
+:101AB0000101010101010101010101010101010116
+:101AC0000101010101010101010101010101010106
+:101AD00001010101010101010101010101010101F6
+:101AE00001010101010101010101010101010101E6
+:101AF00001010101010101010101010101010101D6
+:101B000001010101010101010101010101010101C5
+:101B100001010101010101010101010101010101B5
+:101B200001010101010101010101010101010101A5
+:101B30000101010101010101010101010101010195
+:101B40000101010101010101010101010101010185
+:101B50000101010101010101010101010101010175
+:101B60000101010101010101010101010101010165
+:101B70000101010101010101010101010101010155
+:101B80000101010101010101010101010101010145
+:101B90000101010101010101010101010101010135
+:101BA0000101010101010101010101010101010125
+:101BB0000101010101010101010101010101010115
+:101BC0000101010101010101010101010101010105
+:101BD00001010101010101010101010101010101F5
+:101BE00001010101010101010101010101010101E5
+:101BF00001010101010101010101010101010101D5
+:101C000001010101010101010101010101010101C4
+:101C100001010101010101010101010101010101B4
+:101C200001010101010101010101010101010101A4
+:101C30000101010101010101010101010101010194
+:101C40000101010101010101010101010101010184
+:101C50000101010101010101010101010101010174
+:101C60000101010101010101010101010101010164
+:101C70000101010101010101010101010101010154
+:101C80000101010101010101010101010101010144
+:101C90000101010101010101010101010101010134
+:101CA0000101010101010101010101010101010124
+:101CB0000101010101010101010101010101010114
+:101CC0000101010101010101010101010101010104
+:101CD00001010101010101010101010101010101F4
+:101CE00001010101010101010101010101010101E4
+:101CF00001010101010101010101010101010101D4
+:101D000001010101010101010101010101010101C3
+:101D100001010101010101010101010101010101B3
+:101D200001010101010101010101010101010101A3
+:101D30000101010101010101010101010101010193
+:101D40000101010101010101010101010101010183
+:101D50000101010101010101010101010101010173
+:101D60000101010101010101010101010101010163
+:101D70000101010101010101010101010101010153
+:101D80000101010101010101010101010101010143
+:101D90000101010101010101010101010101010133
+:101DA0000101010101010101010101010101010123
+:101DB0000101010101010101010101010101010113
+:101DC0000101010101010101010101010101010103
+:101DD00001010101010101010101010101010101F3
+:101DE00001010101010101010101010101010101E3
+:101DF00001010101010101010101010101010101D3
+:101E000001010101010101010101010101010101C2
+:101E100001010101010101010101010101010101B2
+:101E200001010101010101010101010101010101A2
+:101E30000101010101010101010101010101010192
+:101E40000101010101010101010101010101010182
+:101E50000101010101010101010101010101010172
+:101E60000101010101010101010101010101010162
+:101E70000101010101010101010101010101010152
+:101E80000101010101010101010101010101010142
+:101E90000101010101010101010101010101010132
+:101EA0000101010101010101010101010101010122
+:101EB0000101010101010101010101010101010112
+:101EC0000101010101010101010101010101010102
+:101ED00001010101010101010101010101010101F2
+:101EE00001010101010101010101010101010101E2
+:101EF00001010101010101010101010101010101D2
+:101F000001010101010101010101010101010101C1
+:101F100001010101010101010101010101010101B1
+:101F200001010101010101010101010101010101A1
+:101F30000101010101010101010101010101010191
+:101F40000101010101010101010101010101010181
+:101F50000101010101010101010101010101010171
+:101F60000101010101010101010101010101010161
+:101F70000101010101010101010101010101010151
+:101F80000101010101010101010101010101010141
+:101F90000101010101010101010101010101010131
+:101FA0000101010101010101010101010101010121
+:101FB0000101010101010101010101010101010111
+:101FC0000101010101010101010101010101010101
+:101FD00001010101010101010101010101010101F1
+:101FE00001010101010101010101010101010101E1
+:101FF00001010101010101010101010101010101D1
+:1020000001010101010101010101010101010101C0
+:1020100001010101010101010101010101010101B0
+:1020200001010101010101010101010101010101A0
+:102030000101010101010101010101010101010190
+:102040000101010101010101010101010101010180
+:102050000101010101010101010101010101010170
+:102060000101010101010101010101010101010160
+:102070000101010101010101010101010101010150
+:102080000101010101010101010101010101010140
+:102090000101010101010101010101010101010130
+:1020A0000101010101010101010101010101010120
+:1020B0000101010101010101010101010101010110
+:1020C0000101010101010101010101010101010100
+:1020D00001010101010101010101010101010101F0
+:1020E00001010101010101010101010101010101E0
+:1020F00001010101010101010101010101010101D0
+:1021000001010101010101010101010101010101BF
+:1021100001010101010101010101010101010101AF
+:10212000010101010101010101010101010101019F
+:10213000010101010101010101010101010101018F
+:10214000010101010101010101010101010101017F
+:10215000010101010101010101010101010101016F
+:10216000010101010101010101010101010101015F
+:10217000010101010101010101010101010101014F
+:10218000010101010101010101010101010101013F
+:10219000010101010101010101010101010101012F
+:1021A000010101010101010101010101010101011F
+:1021B000010101010101010101010101010101010F
+:1021C00001010101010101010101010101010101FF
+:1021D00001010101010101010101010101010101EF
+:1021E00001010101010101010101010101010101DF
+:1021F00001010101010101010101010101010101CF
+:1022000001010101010101010101010101010101BE
+:1022100001010101010101010101010101010101AE
+:10222000010101010101010101010101010101019E
+:10223000010101010101010101010101010101018E
+:10224000010101010101010101010101010101017E
+:10225000010101010101010101010101010101016E
+:10226000010101010101010101010101010101015E
+:10227000010101010101010101010101010101014E
+:10228000010101010101010101010101010101013E
+:10229000010101010101010101010101010101012E
+:1022A000010101010101010101010101010101011E
+:1022B000010101010101010101010101010101010E
+:1022C00001010101010101010101010101010101FE
+:1022D00001010101010101010101010101010101EE
+:1022E00001010101010101010101010101010101DE
+:1022F00001010101010101010101010101010101CE
+:1023000001010101010101010101010101010101BD
+:1023100001010101010101010101010101010101AD
+:10232000010101010101010101010101010101019D
+:10233000010101010101010101010101010101018D
+:10234000010101010101010101010101010101017D
+:10235000010101010101010101010101010101016D
+:10236000010101010101010101010101010101015D
+:10237000010101010101010101010101010101014D
+:10238000010101010101010101010101010101013D
+:10239000010101010101010101010101010101012D
+:1023A000010101010101010101010101010101011D
+:1023B000010101010101010101010101010101010D
+:1023C00001010101010101010101010101010101FD
+:1023D00001010101010101010101010101010101ED
+:1023E00001010101010101010101010101010101DD
+:1023F00001010101010101010101010101010101CD
+:1024000001010101010101010101010101010101BC
+:1024100001010101010101010101010101010101AC
+:10242000010101010101010101010101010101019C
+:10243000010101010101010101010101010101018C
+:10244000010101010101010101010101010101017C
+:10245000010101010101010101010101010101016C
+:10246000010101010101010101010101010101015C
+:10247000010101010101010101010101010101014C
+:10248000010101010101010101010101010101013C
+:10249000010101010101010101010101010101012C
+:1024A000010101010101010101010101010101011C
+:1024B000010101010101010101010101010101010C
+:1024C00001010101010101010101010101010101FC
+:1024D00001010101010101010101010101010101EC
+:1024E00001010101010101010101010101010101DC
+:1024F00001010101010101010101010101010101CC
+:1025000001010101010101010101010101010101BB
+:1025100001010101010101010101010101010101AB
+:10252000010101010101010101010101010101019B
+:10253000010101010101010101010101010101018B
+:10254000010101010101010101010101010101017B
+:10255000010101010101010101010101010101016B
+:10256000010101010101010101010101010101015B
+:10257000010101010101010101010101010101014B
+:10258000010101010101010101010101010101013B
+:10259000010101010101010101010101010101012B
+:1025A000010101010101010101010101010101011B
+:1025B000010101010101010101010101010101010B
+:1025C00001010101010101010101010101010101FB
+:1025D00001010101010101010101010101010101EB
+:1025E00001010101010101010101010101010101DB
+:1025F00001010101010101010101010101010101CB
+:1026000001010101010101010101010101010101BA
+:1026100001010101010101010101010101010101AA
+:10262000010101010101010101010101010101019A
+:10263000010101010101010101010101010101018A
+:10264000010101010101010101010101010101017A
+:10265000010101010101010101010101010101016A
+:10266000010101010101010101010101010101015A
+:10267000010101010101010101010101010101014A
+:10268000010101010101010101010101010101013A
+:10269000010101010101010101010101010101012A
+:1026A000010101010101010101010101010101011A
+:1026B000010101010101010101010101010101010A
+:1026C00001010101010101010101010101010101FA
+:1026D00001010101010101010101010101010101EA
+:1026E00001010101010101010101010101010101DA
+:1026F00001010101010101010101010101010101CA
+:1027000001010101010101010101010101010101B9
+:1027100001010101010101010101010101010101A9
+:102720000101010101010101010101010101010199
+:102730000101010101010101010101010101010189
+:102740000101010101010101010101010101010179
+:102750000101010101010101010101010101010169
+:102760000101010101010101010101010101010159
+:102770000101010101010101010101010101010149
+:102780000101010101010101010101010101010139
+:102790000101010101010101010101010101010129
+:1027A0000101010101010101010101010101010119
+:1027B0000101010101010101010101010101010109
+:1027C00001010101010101010101010101010101F9
+:1027D00001010101010101010101010101010101E9
+:1027E00001010101010101010101010101010101D9
+:1027F00001010101010101010101010101010101C9
+:1028000001010101010101010101010101010101B8
+:1028100001010101010101010101010101010101A8
+:102820000101010101010101010101010101010198
+:102830000101010101010101010101010101010188
+:102840000101010101010101010101010101010178
+:102850000101010101010101010101010101010168
+:102860000101010101010101010101010101010158
+:102870000101010101010101010101010101010148
+:102880000101010101010101010101010101010138
+:102890000101010101010101010101010101010128
+:1028A0000101010101010101010101010101010118
+:1028B0000101010101010101010101010101010108
+:1028C00001010101010101010101010101010101F8
+:1028D00001010101010101010101010101010101E8
+:1028E00001010101010101010101010101010101D8
+:1028F00001010101010101010101010101010101C8
+:1029000001010101010101010101010101010101B7
+:1029100001010101010101010101010101010101A7
+:102920000101010101010101010101010101010197
+:102930000101010101010101010101010101010187
+:102940000101010101010101010101010101010177
+:102950000101010101010101010101010101010167
+:102960000101010101010101010101010101010157
+:102970000101010101010101010101010101010147
+:102980000101010101010101010101010101010137
+:102990000101010101010101010101010101010127
+:1029A0000101010101010101010101010101010117
+:1029B0000101010101010101010101010101010107
+:1029C00001010101010101010101010101010101F7
+:1029D00001010101010101010101010101010101E7
+:1029E00001010101010101010101010101010101D7
+:1029F00001010101010101010101010101010101C7
+:102A000001010101010101010101010101010101B6
+:102A100001010101010101010101010101010101A6
+:102A20000101010101010101010101010101010196
+:102A30000101010101010101010101010101010186
+:102A40000101010101010101010101010101010176
+:102A50000101010101010101010101010101010166
+:102A60000101010101010101010101010101010156
+:102A70000101010101010101010101010101010146
+:102A80000101010101010101010101010101010136
+:102A90000101010101010101010101010101010126
+:102AA0000101010101010101010101010101010116
+:102AB0000101010101010101010101010101010106
+:102AC00001010101010101010101010101010101F6
+:102AD00001010101010101010101010101010101E6
+:102AE00001010101010101010101010101010101D6
+:102AF00001010101010101010101010101010101C6
+:102B000001010101010101010101010101010101B5
+:102B100001010101010101010101010101010100A6
+:102B200000000000000000000000000000000000A5
+:102B30000000000000000000000000000000000095
+:102B40000000000000000000000000000000000085
+:102B50000000000000000000000000000000000075
+:102B60000000000000000000000000000000000065
+:102B70000000000000000000000000000000000055
+:102B80000000000000000000000000000000000045
+:102B90000000000000000000000000000000000035
+:102BA0000000000000000000000000000000000025
+:102BB0000000000000000000000000000000000015
+:102BC0000000000000000000000000000000000005
+:102BD00000000000000000000000000000000000F5
+:102BE00000000000000000000000000000000000E5
+:102BF00000000000000000000000000000000000D5
+:102C000000000000000000000000000000000000C4
+:102C100000000000000000000000000000000000B4
+:102C200000000000000000000000000000000000A4
+:102C30000000000000000000000000000000000094
+:102C40000000000000000000000000000000000084
+:102C50000000000000000000000000000000000074
+:102C60000000000000000000000000000000000064
+:102C70000000000000000000000000000000000054
+:102C80000000000000000000000000000000000044
+:102C90000000000000000000000000000000000034
+:102CA0000000000000000000000000000000000024
+:102CB0000000000000000000000000000000000014
+:102CC0000000000000000000000000000000000004
+:102CD00000000000000000000000000000000000F4
+:102CE00000000000000000000000000000000000E4
+:102CF00000000000000000000000000000000000D4
+:102D000000000000000000000000000000000000C3
+:102D100000000000000000000000000000000000B3
+:102D200000000000000000000000000000000000A3
+:102D30000000000000000000000000000000000093
+:102D40000000000000000000000000000000000083
+:102D50000000000000000000000000000000000073
+:102D60000000000000000000000000000000000063
+:102D70000000000000000000000000000000000053
+:102D80000000000000000000000000000000000043
+:102D90000000000000000000000000000000000033
+:102DA0000000000000000000000000000000000023
+:102DB0000000000000000000000000000000000013
+:102DC0000000000000000000000000000000000003
+:102DD00000000000000000000000000000000000F3
+:102DE00000000000000000000000000000000000E3
+:102DF00000000000000000000000000000000000D3
+:102E000000000000000000000000000000000000C2
+:102E100000000000000000000000000000000000B2
+:102E200000000000000000000000000000000000A2
+:102E30000000000000000000000000000000000092
+:102E40000000000000000000000000000000000082
+:102E50000000000000000000000000000000000072
+:102E60000000000000000000000000000000000062
+:102E70000000000000000000000000000000000052
+:102E80000000000000000000000000000000000042
+:102E90000000000000000000000000000000000032
+:102EA0000000000000000000000000000000000022
+:102EB0000000000000000000000000000000000012
+:102EC0000000000000000000000000000000000002
+:102ED00000000000000000000000000000000000F2
+:102EE00000000000000000000000000000000000E2
+:102EF00000000000000000000000000000000000D2
+:102F000000000000000000000000000000000000C1
+:102F100000000000000000000000000000000002AF
+:102F20000202020202020202020202020202020281
+:102F30000202020202020202020202020202020271
+:102F40000202020202020202020202020202020261
+:102F50000202020202020202020202020202020251
+:102F60000202020202020202020202020202020241
+:102F70000202020202020202020202020202020231
+:102F80000202020202020202020202020202020221
+:102F90000202020202020202020202020202020211
+:102FA0000202020202020202020202020202020201
+:102FB00002020202020202020202020202020202F1
+:102FC00002020202020202020202020202020202E1
+:102FD00002020202020202020202020202020202D1
+:102FE00002020202020202020202020202020202C1
+:102FF00002020202020202020202020202020202B1
+:1030000002020202020202020202020202020202A0
+:103010000202020202020202020202020202020290
+:103020000202020202020202020202020202020280
+:103030000202020202020202020202020202020270
+:103040000202020202020202020202020202020260
+:103050000202020202020202020202020202020250
+:103060000202020202020202020202020202020240
+:103070000202020202020202020202020202020230
+:103080000202020202020202020202020202020220
+:103090000202020202020202020202020202020210
+:1030A0000202020202020202020202020202020200
+:1030B00002020202020202020202020202020202F0
+:1030C00002020202020202020202020202020202E0
+:1030D00002020202020202020202020202020202D0
+:1030E00002020202020202020202020202020202C0
+:1030F00002020202020202020202020202020202B0
+:10310000020202020202020202020202020202029F
+:10311000020202020202020202020202020202028F
+:10312000020202020202020202020202020202027F
+:10313000020202020202020202020202020202026F
+:10314000020202020202020202020202020202025F
+:10315000020202020202020202020202020202024F
+:10316000020202020202020202020202020202023F
+:10317000020202020202020202020202020202022F
+:10318000020202020202020202020202020202021F
+:10319000020202020202020202020202020202020F
+:1031A00002020202020202020202020202020202FF
+:1031B00002020202020202020202020202020202EF
+:1031C00002020202020202020202020202020202DF
+:1031D00002020202020202020202020202020202CF
+:1031E00002020202020202020202020202020202BF
+:1031F00002020202020202020202020202020202AF
+:10320000020202020202020202020202020202029E
+:10321000020202020202020202020202020202028E
+:10322000020202020202020202020202020202027E
+:10323000020202020202020202020202020202026E
+:10324000020202020202020202020202020202025E
+:10325000020202020202020202020202020202024E
+:10326000020202020202020202020202020202023E
+:10327000020202020202020202020202020202022E
+:10328000020202020202020202020202020202021E
+:10329000020202020202020202020202020202020E
+:1032A00002020202020202020202020202020202FE
+:1032B00002020202020202020202020202020202EE
+:1032C00002020202020202020202020202020202DE
+:1032D00002020202020202020202020202020202CE
+:1032E00002020202020202020202020202020202BE
+:1032F00002020202020202020202020202020202AE
+:10330000020202020202020202020202020202029D
+:10331000020202020202020202020202020202028D
+:10332000020202020202020202020202020202027D
+:10333000020202020202020202020202020202026D
+:10334000020202020202020202020202020202025D
+:10335000020202020202020202020202020202024D
+:10336000020202020202020202020202020202023D
+:10337000020202020202020202020202020202022D
+:10338000020202020202020202020202020202021D
+:10339000020202020202020202020202020202020D
+:1033A00002020202020202020202020202020202FD
+:1033B00002020202020202020202020202020202ED
+:1033C00002020202020202020202020202020202DD
+:1033D00002020202020202020202020202020202CD
+:1033E00002020202020202020202020202020202BD
+:1033F00002020202020202020202020202020202AD
+:10340000020202020202020202020202020202029C
+:10341000020202020202020202020202020202028C
+:10342000020202020202020202020202020202027C
+:10343000020202020202020202020202020202026C
+:10344000020202020202020202020202020202025C
+:10345000020202020202020202020202020202024C
+:10346000020202020202020202020202020202023C
+:10347000020202020202020202020202020202022C
+:10348000020202020202020202020202020202021C
+:10349000020202020202020202020202020202020C
+:1034A00002020202020202020202020202020202FC
+:1034B00002020202020202020202020202020202EC
+:1034C00002020202020202020202020202020202DC
+:1034D00002020202020202020202020202020202CC
+:1034E00002020202020202020202020202020202BC
+:1034F00002020202020202020202020202020202AC
+:10350000020202020202020202020202020202029B
+:10351000020202020202020202020202020202028B
+:10352000020202020202020202020202020202027B
+:10353000020202020202020202020202020202026B
+:10354000020202020202020202020202020202025B
+:10355000020202020202020202020202020202024B
+:10356000020202020202020202020202020202023B
+:10357000020202020202020202020202020202022B
+:10358000020202020202020202020202020202021B
+:10359000020202020202020202020202020202020B
+:1035A00002020202020202020202020202020202FB
+:1035B00002020202020202020202020202020202EB
+:1035C00002020202020202020202020202020202DB
+:1035D00002020202020202020202020202020202CB
+:1035E00002020202020202020202020202020202BB
+:1035F00002020202020202020202020202020202AB
+:10360000020202020202020202020202020202029A
+:10361000020202020202020202020202020202028A
+:10362000020202020202020202020202020202027A
+:10363000020202020202020202020202020202026A
+:10364000020202020202020202020202020202025A
+:10365000020202020202020202020202020202024A
+:10366000020202020202020202020202020202023A
+:10367000020202020202020202020202020202022A
+:10368000020202020202020202020202020202021A
+:10369000020202020202020202020202020202020A
+:1036A00002020202020202020202020202020202FA
+:1036B00002020202020202020202020202020202EA
+:1036C00002020202020202020202020202020202DA
+:1036D00002020202020202020202020202020202CA
+:1036E00002020202020202020202020202020202BA
+:1036F00002020202020202020202020202020202AA
+:103700000202020202020202020202020202020299
+:103710000202020202020202020202020202020289
+:103720000202020202020202020202020202020279
+:103730000202020202020202020202020202020269
+:103740000202020202020202020202020202020259
+:103750000202020202020202020202020202020249
+:103760000202020202020202020202020202020239
+:103770000202020202020202020202020202020229
+:103780000202020202020202020202020202020219
+:103790000202020202020202020202020202020209
+:1037A00002020202020202020202020202020202F9
+:1037B00002020202020202020202020202020202E9
+:1037C00002020202020202020202020202020202D9
+:1037D00002020202020202020202020202020202C9
+:1037E00002020202020202020202020202020202B9
+:1037F00002020202020202020202020202020202A9
+:103800000202020202020202020202020202020298
+:103810000202020202020202020202020202020288
+:103820000202020202020202020202020202020278
+:103830000202020202020202020202020202020268
+:103840000202020202020202020202020202020258
+:103850000202020202020202020202020202020248
+:103860000202020202020202020202020202020238
+:103870000202020202020202020202020202020228
+:103880000202020202020202020202020202020218
+:103890000202020202020202020202020202020208
+:1038A00002020202020202020202020202020202F8
+:1038B00002020202020202020202020202020202E8
+:1038C00002020202020202020202020202020202D8
+:1038D00002020202020202020202020202020202C8
+:1038E00002020202020202020202020202020202B8
+:1038F00002020202020202020202020202020202A8
+:103900000202020202020202020202020202020297
+:103910000202020202020202020202020202020287
+:103920000202020202020202020202020202020277
+:103930000202020202020202020202020202020267
+:103940000202020202020202020202020202020257
+:103950000202020202020202020202020202020247
+:103960000202020202020202020202020202020237
+:103970000202020202020202020202020202020227
+:103980000202020202020202020202020202020217
+:103990000202020202020202020202020202020207
+:1039A00002020202020202020202020202020202F7
+:1039B00002020202020202020202020202020202E7
+:1039C00002020202020202020202020202020202D7
+:1039D00002020202020202020202020202020202C7
+:1039E00002020202020202020202020202020202B7
+:1039F00002020202020202020202020202020202A7
+:103A00000202020202020202020202020202020296
+:103A10000202020202020202020202020202020286
+:103A20000202020202020202020202020202020276
+:103A30000202020202020202020202020202020266
+:103A40000202020202020202020202020202020256
+:103A50000202020202020202020202020202020246
+:103A60000202020202020202020202020202020236
+:103A70000202020202020202020202020202020226
+:103A80000202020202020202020202020202020216
+:103A90000202020202020202020202020202020206
+:103AA00002020202020202020202020202020202F6
+:103AB00002020202020202020202020202020202E6
+:103AC00002020202020202020202020202020202D6
+:103AD00002020202020202020202020202020202C6
+:103AE00002020202020202020202020202020202B6
+:103AF00002020202020202020202020202020202A6
+:103B00000202020202020202020202020202020295
+:103B10000202020202020202020202020202020285
+:103B20000202020202020202020202020202020275
+:103B30000202020202020202020202020202020265
+:103B40000202020202020202020202020202020255
+:103B50000202020202020202020202020202020245
+:103B60000202020202020202020202020202020235
+:103B70000202020202020202020202020202020225
+:103B80000202020202020202020202020202020215
+:103B90000202020202020202020202020202020205
+:103BA00002020202020202020202020202020202F5
+:103BB00002020202020202020202020202020202E5
+:103BC00002020202020202020202020202020202D5
+:103BD00002020202020202020202020202020202C5
+:103BE00002020202020202020202020202020202B5
+:103BF00002020202020202020202020202020202A5
+:103C00000202020202020202020202020202020294
+:103C10000202020202020202020202020202020284
+:103C20000202020202020202020202020202020274
+:103C30000202020202020202020202020202020264
+:103C40000202020202020202020202020202020254
+:103C50000202020202020202020202020202020244
+:103C60000202020202020202020202020202020234
+:103C70000202020202020202020202020202020224
+:103C80000202020202020202020202020202020214
+:103C90000202020202020202020202020202020204
+:103CA00002020202020202020202020202020202F4
+:103CB00002020202020202020202020202020202E4
+:103CC00002020202020202020202020202020202D4
+:103CD00002020202020202020202020202020202C4
+:103CE00002020202020202020202020202020202B4
+:103CF00002020202020202020202020202020202A4
+:103D00000202020202020202020202020202020293
+:103D10000202020202020202020202020202020283
+:103D20000202020202020202020202020202020273
+:103D30000202020202020202020202020202020263
+:103D40000202020202020202020202020202020253
+:103D50000202020202020202020202020202020243
+:103D60000202020202020202020202020202020233
+:103D70000202020202020202020202020202020223
+:103D80000202020202020202020202020202020213
+:103D90000202020202020202020202020202020203
+:103DA00002020202020202020202020202020202F3
+:103DB00002020202020202020202020202020202E3
+:103DC00002020202020202020202020202020202D3
+:103DD00002020202020202020202020202020202C3
+:103DE00002020202020202020202020202020202B3
+:103DF00002020202020202020202020202020202A3
+:103E00000202020202020202020202020202020292
+:103E10000202020202020202020202020202020282
+:103E20000202020202020202020202020202020272
+:103E30000202020202020202020202020202020262
+:103E40000202020202020202020202020202020252
+:103E50000202020202020202020202020202020242
+:103E60000202020202020202020202020202020232
+:103E70000202020202020202020202020202020222
+:103E80000202020202020202020202020202020212
+:103E90000202020202020202020202020202020202
+:103EA00002020202020202020202020202020202F2
+:103EB00002020202020202020202020202020202E2
+:103EC00002020202020202020202020202020202D2
+:103ED00002020202020202020202020202020202C2
+:103EE00002020202020202020202020202020202B2
+:103EF00002020202020202020202020202020202A2
+:103F00000202020202020202020202020202020291
+:103F10000202020202020202020202020202020281
+:103F20000202020202020202020202020202020271
+:103F30000202020202020202020202020202020261
+:103F40000202020202020202020202020202020251
+:103F50000202020202020202020202020202020241
+:103F60000202020202020202020202020202020231
+:103F70000202020202020202020202020202020221
+:103F80000202020202020202020202020202020211
+:103F90000202020202020202020202020202020201
+:103FA00002020202020202020202020202020202F1
+:103FB00002020202020202020202020202020202E1
+:103FC00002020202020202020202020202020202D1
+:103FD00002020202020202020202020202020202C1
+:103FE00002020202020202020202020202020202B1
+:103FF00002020202020202020202020202020202A1
+:104000000202020202020202020202020202020290
+:104010000202020202020202020202020202020280
+:104020000202020202020202020202020202020270
+:104030000202020202020202020202020202020260
+:104040000202020202020202020202020202020250
+:104050000202020202020202020202020202020240
+:104060000202020202020202020202020202020230
+:104070000202020202020202020202020202020220
+:104080000202020202020202020202020202020210
+:104090000202020202020202020202020202020200
+:1040A00002020202020202020202020202020202F0
+:1040B00002020202020202020202020202020202E0
+:1040C00002020202020202020202020202020202D0
+:1040D00002020202020202020202020202020202C0
+:1040E00002020202020202020202020202020202B0
+:1040F00002020202020202020202020202020202A0
+:10410000020202020202020202020202020202028F
+:10411000020202020202020202020202020202027F
+:10412000020202020202020202020202020202026F
+:10413000020202020202020202020202020202025F
+:10414000020202020202020202020202020202024F
+:10415000020202020202020202020202020202023F
+:10416000020202020202020202020202020202022F
+:10417000020202020202020202020202020202021F
+:10418000020202020202020202020202020202020F
+:1041900002020202020202020202020202020202FF
+:1041A00002020202020202020202020202020202EF
+:1041B00002020202020202020202020202020202DF
+:1041C00002020202020202020202020202020202CF
+:1041D00002020202020202020202020202020202BF
+:1041E00002020202020202020202020202020202AF
+:1041F000020202020202020202020202020202029F
+:10420000020202020202020202020202020202028E
+:10421000020202020202020202020202020202027E
+:10422000020202020202020202020202020202026E
+:10423000020202020202020202020202020202025E
+:10424000020202020202020202020202020202024E
+:10425000020202020202020202020202020202023E
+:10426000020202020202020202020202020202022E
+:10427000020202020202020202020202020202021E
+:10428000020202020202020202020202020202020E
+:1042900002020202020202020202020202020202FE
+:1042A00002020202020202020202020202020202EE
+:1042B00002020202020202020202020202020202DE
+:1042C00002020202020202020202020202020202CE
+:1042D00002020202020202020202020202020202BE
+:1042E00002020202020202020202020202020202AE
+:1042F000020202020202020202020202020202029E
+:10430000020202020202020202020202020202028D
+:10431000020202020202020202020202020202007F
+:10432000000000000000000000000000000000008D
+:10433000000000000000000000000000000000007D
+:10434000000000000000000000000000000000006D
+:10435000000000000000000000000000000000005D
+:10436000000000000000000000000000000000004D
+:10437000000000000000000000000000000000003D
+:10438000000000000000000000000000000000002D
+:10439000000000000000000000000000000000001D
+:1043A000000000000000000000000000000000000D
+:1043B00000000000000000000000000000000000FD
+:1043C00000000000000000000000000000000000ED
+:1043D00000000000000000000000000000000000DD
+:1043E00000000000000000000000000000000000CD
+:1043F00000000000000000000000000000000000BD
+:1044000000000000000000000000000000000000AC
+:10441000000000000000000000000000000000009C
+:10442000000000000000000000000000000000008C
+:10443000000000000000000000000000000000007C
+:10444000000000000000000000000000000000006C
+:10445000000000000000000000000000000000005C
+:10446000000000000000000000000000000000004C
+:10447000000000000000000000000000000000003C
+:10448000000000000000000000000000000000002C
+:10449000000000000000000000000000000000001C
+:1044A000000000000000000000000000000000000C
+:1044B00000000000000000000000000000000000FC
+:1044C00000000000000000000000000000000000EC
+:1044D00000000000000000000000000000000000DC
+:1044E00000000000000000000000000000000000CC
+:1044F00000000000000000000000000000000000BC
+:1045000000000000000000000000000000000000AB
+:10451000000000000000000000000000000000009B
+:10452000000000000000000000000000000000008B
+:10453000000000000000000000000000000000007B
+:10454000000000000000000000000000000000006B
+:10455000000000000000000000000000000000005B
+:10456000000000000000000000000000000000004B
+:10457000000000000000000000000000000000003B
+:10458000000000000000000000000000000000002B
+:10459000000000000000000000000000000000001B
+:1045A000000000000000000000000000000000000B
+:1045B00000000000000000000000000000000000FB
+:1045C00000000000000000000000000000000000EB
+:1045D00000000000000000000000000000000000DB
+:1045E00000000000000000000000000000000000CB
+:1045F00000000000000000000000000000000000BB
+:1046000000000000000000000000000000000000AA
+:10461000000000000000000000000000000000009A
+:10462000000000000000000000000000000000008A
+:10463000000000000000000000000000000000007A
+:10464000000000000000000000000000000000006A
+:10465000000000000000000000000000000000005A
+:10466000000000000000000000000000000000004A
+:10467000000000000000000000000000000000003A
+:10468000000000000000000000000000000000002A
+:10469000000000000000000000000000000000001A
+:1046A000000000000000000000000000000000000A
+:1046B00000000000000000000000000000000000FA
+:1046C00000000000000000000000000000000000EA
+:1046D00000000000000000000000000000000000DA
+:1046E00000000000000000000000000000000000CA
+:1046F00000000000000000000000000000000000BA
+:1047000000000000000000000000000000000000A9
+:104710000000000000000000000000000000000198
+:104720000101010101010101010101010101010179
+:104730000101010101010101010101010101010169
+:104740000101010101010101010101010101010159
+:104750000101010101010101010101010101010149
+:104760000101010101010101010101010101010139
+:104770000101010101010101010101010101010129
+:104780000101010101010101010101010101010119
+:104790000101010101010101010101010101010109
+:1047A00001010101010101010101010101010101F9
+:1047B00001010101010101010101010101010101E9
+:1047C00001010101010101010101010101010101D9
+:1047D00001010101010101010101010101010101C9
+:1047E00001010101010101010101010101010101B9
+:1047F00001010101010101010101010101010101A9
+:104800000101010101010101010101010101010198
+:104810000101010101010101010101010101010188
+:104820000101010101010101010101010101010178
+:104830000101010101010101010101010101010168
+:104840000101010101010101010101010101010158
+:104850000101010101010101010101010101010148
+:104860000101010101010101010101010101010138
+:104870000101010101010101010101010101010128
+:104880000101010101010101010101010101010118
+:104890000101010101010101010101010101010108
+:1048A00001010101010101010101010101010101F8
+:1048B00001010101010101010101010101010101E8
+:1048C00001010101010101010101010101010101D8
+:1048D00001010101010101010101010101010101C8
+:1048E00001010101010101010101010101010101B8
+:1048F00001010101010101010101010101010101A8
+:104900000101010101010101010101010101010197
+:104910000101010101010101010101010101010187
+:104920000101010101010101010101010101010177
+:104930000101010101010101010101010101010167
+:104940000101010101010101010101010101010157
+:104950000101010101010101010101010101010147
+:104960000101010101010101010101010101010137
+:104970000101010101010101010101010101010127
+:104980000101010101010101010101010101010117
+:104990000101010101010101010101010101010107
+:1049A00001010101010101010101010101010101F7
+:1049B00001010101010101010101010101010101E7
+:1049C00001010101010101010101010101010101D7
+:1049D00001010101010101010101010101010101C7
+:1049E00001010101010101010101010101010101B7
+:1049F00001010101010101010101010101010101A7
+:104A00000101010101010101010101010101010196
+:104A10000101010101010101010101010101010186
+:104A20000101010101010101010101010101010176
+:104A30000101010101010101010101010101010166
+:104A40000101010101010101010101010101010156
+:104A50000101010101010101010101010101010146
+:104A60000101010101010101010101010101010136
+:104A70000101010101010101010101010101010126
+:104A80000101010101010101010101010101010116
+:104A90000101010101010101010101010101010106
+:104AA00001010101010101010101010101010101F6
+:104AB00001010101010101010101010101010101E6
+:104AC00001010101010101010101010101010101D6
+:104AD00001010101010101010101010101010101C6
+:104AE00001010101010101010101010101010101B6
+:104AF00001010101010101010101010101010101A6
+:104B00000101010101010101010101010101010195
+:104B10000101010101010101010101010101010185
+:104B20000101010101010101010101010101010175
+:104B30000101010101010101010101010101010165
+:104B40000101010101010101010101010101010155
+:104B50000101010101010101010101010101010145
+:104B60000101010101010101010101010101010135
+:104B70000101010101010101010101010101010125
+:104B80000101010101010101010101010101010115
+:104B90000101010101010101010101010101010105
+:104BA00001010101010101010101010101010101F5
+:104BB00001010101010101010101010101010101E5
+:104BC00001010101010101010101010101010101D5
+:104BD00001010101010101010101010101010101C5
+:104BE00001010101010101010101010101010101B5
+:104BF00001010101010101010101010101010101A5
+:104C00000101010101010101010101010101010194
+:104C10000101010101010101010101010101010184
+:104C20000101010101010101010101010101010174
+:104C30000101010101010101010101010101010164
+:104C40000101010101010101010101010101010154
+:104C50000101010101010101010101010101010144
+:104C60000101010101010101010101010101010134
+:104C70000101010101010101010101010101010124
+:104C80000101010101010101010101010101010114
+:104C90000101010101010101010101010101010104
+:104CA00001010101010101010101010101010101F4
+:104CB00001010101010101010101010101010101E4
+:104CC00001010101010101010101010101010101D4
+:104CD00001010101010101010101010101010101C4
+:104CE00001010101010101010101010101010101B4
+:104CF00001010101010101010101010101010101A4
+:104D00000101010101010101010101010101010193
+:104D10000101010101010101010101010101010183
+:104D20000101010101010101010101010101010173
+:104D30000101010101010101010101010101010163
+:104D40000101010101010101010101010101010153
+:104D50000101010101010101010101010101010143
+:104D60000101010101010101010101010101010133
+:104D70000101010101010101010101010101010123
+:104D80000101010101010101010101010101010113
+:104D90000101010101010101010101010101010103
+:104DA00001010101010101010101010101010101F3
+:104DB00001010101010101010101010101010101E3
+:104DC00001010101010101010101010101010101D3
+:104DD00001010101010101010101010101010101C3
+:104DE00001010101010101010101010101010101B3
+:104DF00001010101010101010101010101010101A3
+:104E00000101010101010101010101010101010192
+:104E10000101010101010101010101010101010182
+:104E20000101010101010101010101010101010172
+:104E30000101010101010101010101010101010162
+:104E40000101010101010101010101010101010152
+:104E50000101010101010101010101010101010142
+:104E60000101010101010101010101010101010132
+:104E70000101010101010101010101010101010122
+:104E80000101010101010101010101010101010112
+:104E90000101010101010101010101010101010102
+:104EA00001010101010101010101010101010101F2
+:104EB00001010101010101010101010101010101E2
+:104EC00001010101010101010101010101010101D2
+:104ED00001010101010101010101010101010101C2
+:104EE00001010101010101010101010101010101B2
+:104EF00001010101010101010101010101010101A2
+:104F00000101010101010101010101010101010191
+:104F10000101010101010101010101010101010181
+:104F20000101010101010101010101010101010171
+:104F30000101010101010101010101010101010161
+:104F40000101010101010101010101010101010151
+:104F50000101010101010101010101010101010141
+:104F60000101010101010101010101010101010131
+:104F70000101010101010101010101010101010121
+:104F80000101010101010101010101010101010111
+:104F90000101010101010101010101010101010101
+:104FA00001010101010101010101010101010101F1
+:104FB00001010101010101010101010101010101E1
+:104FC00001010101010101010101010101010101D1
+:104FD00001010101010101010101010101010101C1
+:104FE00001010101010101010101010101010101B1
+:104FF00001010101010101010101010101010101A1
+:105000000101010101010101010101010101010190
+:105010000101010101010101010101010101010180
+:105020000101010101010101010101010101010170
+:105030000101010101010101010101010101010160
+:105040000101010101010101010101010101010150
+:105050000101010101010101010101010101010140
+:105060000101010101010101010101010101010130
+:105070000101010101010101010101010101010120
+:105080000101010101010101010101010101010110
+:105090000101010101010101010101010101010100
+:1050A00001010101010101010101010101010101F0
+:1050B00001010101010101010101010101010101E0
+:1050C00001010101010101010101010101010101D0
+:1050D00001010101010101010101010101010101C0
+:1050E00001010101010101010101010101010101B0
+:1050F00001010101010101010101010101010101A0
+:10510000010101010101010101010101010101018F
+:10511000010101010101010101010101010101017F
+:10512000010101010101010101010101010101016F
+:10513000010101010101010101010101010101015F
+:10514000010101010101010101010101010101014F
+:10515000010101010101010101010101010101013F
+:10516000010101010101010101010101010101012F
+:10517000010101010101010101010101010101011F
+:10518000010101010101010101010101010101010F
+:1051900001010101010101010101010101010101FF
+:1051A00001010101010101010101010101010101EF
+:1051B00001010101010101010101010101010101DF
+:1051C00001010101010101010101010101010101CF
+:1051D00001010101010101010101010101010101BF
+:1051E00001010101010101010101010101010101AF
+:1051F000010101010101010101010101010101019F
+:10520000010101010101010101010101010101018E
+:10521000010101010101010101010101010101017E
+:10522000010101010101010101010101010101016E
+:10523000010101010101010101010101010101015E
+:10524000010101010101010101010101010101014E
+:10525000010101010101010101010101010101013E
+:10526000010101010101010101010101010101012E
+:10527000010101010101010101010101010101011E
+:10528000010101010101010101010101010101010E
+:1052900001010101010101010101010101010101FE
+:1052A00001010101010101010101010101010101EE
+:1052B00001010101010101010101010101010101DE
+:1052C00001010101010101010101010101010101CE
+:1052D00001010101010101010101010101010101BE
+:1052E00001010101010101010101010101010101AE
+:1052F000010101010101010101010101010101019E
+:10530000010101010101010101010101010101018D
+:10531000010101010101010101010101010101017D
+:10532000010101010101010101010101010101016D
+:10533000010101010101010101010101010101015D
+:10534000010101010101010101010101010101014D
+:10535000010101010101010101010101010101013D
+:10536000010101010101010101010101010101012D
+:10537000010101010101010101010101010101011D
+:10538000010101010101010101010101010101010D
+:1053900001010101010101010101010101010101FD
+:1053A00001010101010101010101010101010101ED
+:1053B00001010101010101010101010101010101DD
+:1053C00001010101010101010101010101010101CD
+:1053D00001010101010101010101010101010101BD
+:1053E00001010101010101010101010101010101AD
+:1053F000010101010101010101010101010101019D
+:10540000010101010101010101010101010101018C
+:10541000010101010101010101010101010101017C
+:10542000010101010101010101010101010101016C
+:10543000010101010101010101010101010101015C
+:10544000010101010101010101010101010101014C
+:10545000010101010101010101010101010101013C
+:10546000010101010101010101010101010101012C
+:10547000010101010101010101010101010101011C
+:10548000010101010101010101010101010101010C
+:1054900001010101010101010101010101010101FC
+:1054A00001010101010101010101010101010101EC
+:1054B00001010101010101010101010101010101DC
+:1054C00001010101010101010101010101010101CC
+:1054D00001010101010101010101010101010101BC
+:1054E00001010101010101010101010101010101AC
+:1054F000010101010101010101010101010101019C
+:10550000010101010101010101010101010101018B
+:10551000010101010101010101010101010101017B
+:10552000010101010101010101010101010101016B
+:10553000010101010101010101010101010101015B
+:10554000010101010101010101010101010101014B
+:10555000010101010101010101010101010101013B
+:10556000010101010101010101010101010101012B
+:10557000010101010101010101010101010101011B
+:10558000010101010101010101010101010101010B
+:1055900001010101010101010101010101010101FB
+:1055A00001010101010101010101010101010101EB
+:1055B00001010101010101010101010101010101DB
+:1055C00001010101010101010101010101010101CB
+:1055D00001010101010101010101010101010101BB
+:1055E00001010101010101010101010101010101AB
+:1055F000010101010101010101010101010101019B
+:10560000010101010101010101010101010101018A
+:10561000010101010101010101010101010101017A
+:10562000010101010101010101010101010101016A
+:10563000010101010101010101010101010101015A
+:10564000010101010101010101010101010101014A
+:10565000010101010101010101010101010101013A
+:10566000010101010101010101010101010101012A
+:10567000010101010101010101010101010101011A
+:10568000010101010101010101010101010101010A
+:1056900001010101010101010101010101010101FA
+:1056A00001010101010101010101010101010101EA
+:1056B00001010101010101010101010101010101DA
+:1056C00001010101010101010101010101010101CA
+:1056D00001010101010101010101010101010101BA
+:1056E00001010101010101010101010101010101AA
+:1056F000010101010101010101010101010101019A
+:105700000101010101010101010101010101010189
+:105710000101010101010101010101010101010179
+:105720000101010101010101010101010101010169
+:105730000101010101010101010101010101010159
+:105740000101010101010101010101010101010149
+:105750000101010101010101010101010101010139
+:105760000101010101010101010101010101010129
+:105770000101010101010101010101010101010119
+:105780000101010101010101010101010101010109
+:1057900001010101010101010101010101010101F9
+:1057A00001010101010101010101010101010101E9
+:1057B00001010101010101010101010101010101D9
+:1057C00001010101010101010101010101010101C9
+:1057D00001010101010101010101010101010101B9
+:1057E00001010101010101010101010101010101A9
+:1057F0000101010101010101010101010101010199
+:105800000101010101010101010101010101010188
+:105810000101010101010101010101010101010178
+:105820000101010101010101010101010101010168
+:105830000101010101010101010101010101010158
+:105840000101010101010101010101010101010148
+:105850000101010101010101010101010101010138
+:105860000101010101010101010101010101010128
+:105870000101010101010101010101010101010118
+:105880000101010101010101010101010101010108
+:1058900001010101010101010101010101010101F8
+:1058A00001010101010101010101010101010101E8
+:1058B00001010101010101010101010101010101D8
+:1058C00001010101010101010101010101010101C8
+:1058D00001010101010101010101010101010101B8
+:1058E00001010101010101010101010101010101A8
+:1058F0000101010101010101010101010101010198
+:105900000101010101010101010101010101010187
+:105910000101010101010101010101010101010177
+:105920000101010101010101010101010101010167
+:105930000101010101010101010101010101010157
+:105940000101010101010101010101010101010147
+:105950000101010101010101010101010101010137
+:105960000101010101010101010101010101010127
+:105970000101010101010101010101010101010117
+:105980000101010101010101010101010101010107
+:1059900001010101010101010101010101010101F7
+:1059A00001010101010101010101010101010101E7
+:1059B00001010101010101010101010101010101D7
+:1059C00001010101010101010101010101010101C7
+:1059D00001010101010101010101010101010101B7
+:1059E00001010101010101010101010101010101A7
+:1059F0000101010101010101010101010101010197
+:105A00000101010101010101010101010101010186
+:105A10000101010101010101010101010101010176
+:105A20000101010101010101010101010101010166
+:105A30000101010101010101010101010101010156
+:105A40000101010101010101010101010101010146
+:105A50000101010101010101010101010101010136
+:105A60000101010101010101010101010101010126
+:105A70000101010101010101010101010101010116
+:105A80000101010101010101010101010101010106
+:105A900001010101010101010101010101010101F6
+:105AA00001010101010101010101010101010101E6
+:105AB00001010101010101010101010101010101D6
+:105AC00001010101010101010101010101010101C6
+:105AD00001010101010101010101010101010101B6
+:105AE00001010101010101010101010101010101A6
+:105AF0000101010101010101010101010101010196
+:105B00000101010101010101010101010101010185
+:105B10000101010101010101010101010101010076
+:105B20000000000000000000000000000000000075
+:105B30000000000000000000000000000000000065
+:105B40000000000000000000000000000000000055
+:105B50000000000000000000000000000000000045
+:105B60000000000000000000000000000000000035
+:105B70000000000000000000000000000000000025
+:105B80000000000000000000000000000000000015
+:105B90000000000000000000000000000000000005
+:105BA00000000000000000000000000000000000F5
+:105BB00000000000000000000000000000000000E5
+:105BC00000000000000000000000000000000000D5
+:105BD00000000000000000000000000000000000C5
+:105BE00000000000000000000000000000000000B5
+:105BF00000000000000000000000000000000000A5
+:105C00000000000000000000000000000000000094
+:105C10000000000000000000000000000000000084
+:105C20000000000000000000000000000000000074
+:105C30000000000000000000000000000000000064
+:105C40000000000000000000000000000000000054
+:105C50000000000000000000000000000000000044
+:105C60000000000000000000000000000000000034
+:105C70000000000000000000000000000000000024
+:105C80000000000000000000000000000000000014
+:105C90000000000000000000000000000000000004
+:105CA00000000000000000000000000000000000F4
+:105CB00000000000000000000000000000000000E4
+:105CC00000000000000000000000000000000000D4
+:105CD00000000000000000000000000000000000C4
+:105CE00000000000000000000000000000000000B4
+:105CF00000000000000000000000000000000000A4
+:105D00000000000000000000000000000000000093
+:105D10000000000000000000000000000000000083
+:105D20000000000000000000000000000000000073
+:105D30000000000000000000000000000000000063
+:105D40000000000000000000000000000000000053
+:105D50000000000000000000000000000000000043
+:105D60000000000000000000000000000000000033
+:105D70000000000000000000000000000000000023
+:105D80000000000000000000000000000000000013
+:105D90000000000000000000000000000000000003
+:105DA00000000000000000000000000000000000F3
+:105DB00000000000000000000000000000000000E3
+:105DC00000000000000000000000000000000000D3
+:105DD00000000000000000000000000000000000C3
+:105DE00000000000000000000000000000000000B3
+:105DF00000000000000000000000000000000000A3
+:105E00000000000000000000000000000000000092
+:105E10000000000000000000000000000000000082
+:105E20000000000000000000000000000000000072
+:105E30000000000000000000000000000000000062
+:105E40000000000000000000000000000000000052
+:105E50000000000000000000000000000000000042
+:105E60000000000000000000000000000000000032
+:105E70000000000000000000000000000000000022
+:105E80000000000000000000000000000000000012
+:105E90000000000000000000000000000000000002
+:105EA00000000000000000000000000000000000F2
+:105EB00000000000000000000000000000000000E2
+:105EC00000000000000000000000000000000000D2
+:105ED00000000000000000000000000000000000C2
+:105EE00000000000000000000000000000000000B2
+:105EF00000000000000000000000000000000000A2
+:105F00000000000000000000000000000000000091
+:105F1000000000000000000000000000000000027F
+:105F20000202020202020202020202020202020251
+:105F30000202020202020202020202020202020241
+:105F40000202020202020202020202020202020231
+:105F50000202020202020202020202020202020221
+:105F60000202020202020202020202020202020211
+:105F70000202020202020202020202020202020201
+:105F800002020202020202020202020202020202F1
+:105F900002020202020202020202020202020202E1
+:105FA00002020202020202020202020202020202D1
+:105FB00002020202020202020202020202020202C1
+:105FC00002020202020202020202020202020202B1
+:105FD00002020202020202020202020202020202A1
+:105FE0000202020202020202020202020202020291
+:105FF0000202020202020202020202020202020281
+:106000000202020202020202020202020202020270
+:106010000202020202020202020202020202020260
+:106020000202020202020202020202020202020250
+:106030000202020202020202020202020202020240
+:106040000202020202020202020202020202020230
+:106050000202020202020202020202020202020220
+:106060000202020202020202020202020202020210
+:106070000202020202020202020202020202020200
+:1060800002020202020202020202020202020202F0
+:1060900002020202020202020202020202020202E0
+:1060A00002020202020202020202020202020202D0
+:1060B00002020202020202020202020202020202C0
+:1060C00002020202020202020202020202020202B0
+:1060D00002020202020202020202020202020202A0
+:1060E0000202020202020202020202020202020290
+:1060F0000202020202020202020202020202020280
+:10610000020202020202020202020202020202026F
+:10611000020202020202020202020202020202025F
+:10612000020202020202020202020202020202024F
+:10613000020202020202020202020202020202023F
+:10614000020202020202020202020202020202022F
+:10615000020202020202020202020202020202021F
+:10616000020202020202020202020202020202020F
+:1061700002020202020202020202020202020202FF
+:1061800002020202020202020202020202020202EF
+:1061900002020202020202020202020202020202DF
+:1061A00002020202020202020202020202020202CF
+:1061B00002020202020202020202020202020202BF
+:1061C00002020202020202020202020202020202AF
+:1061D000020202020202020202020202020202029F
+:1061E000020202020202020202020202020202028F
+:1061F000020202020202020202020202020202027F
+:10620000020202020202020202020202020202026E
+:10621000020202020202020202020202020202025E
+:10622000020202020202020202020202020202024E
+:10623000020202020202020202020202020202023E
+:10624000020202020202020202020202020202022E
+:10625000020202020202020202020202020202021E
+:10626000020202020202020202020202020202020E
+:1062700002020202020202020202020202020202FE
+:1062800002020202020202020202020202020202EE
+:1062900002020202020202020202020202020202DE
+:1062A00002020202020202020202020202020202CE
+:1062B00002020202020202020202020202020202BE
+:1062C00002020202020202020202020202020202AE
+:1062D000020202020202020202020202020202029E
+:1062E000020202020202020202020202020202028E
+:1062F000020202020202020202020202020202027E
+:10630000020202020202020202020202020202026D
+:10631000020202020202020202020202020202025D
+:10632000020202020202020202020202020202024D
+:10633000020202020202020202020202020202023D
+:10634000020202020202020202020202020202022D
+:10635000020202020202020202020202020202021D
+:10636000020202020202020202020202020202020D
+:1063700002020202020202020202020202020202FD
+:1063800002020202020202020202020202020202ED
+:1063900002020202020202020202020202020202DD
+:1063A00002020202020202020202020202020202CD
+:1063B00002020202020202020202020202020202BD
+:1063C00002020202020202020202020202020202AD
+:1063D000020202020202020202020202020202029D
+:1063E000020202020202020202020202020202028D
+:1063F000020202020202020202020202020202027D
+:10640000020202020202020202020202020202026C
+:10641000020202020202020202020202020202025C
+:10642000020202020202020202020202020202024C
+:10643000020202020202020202020202020202023C
+:10644000020202020202020202020202020202022C
+:10645000020202020202020202020202020202021C
+:10646000020202020202020202020202020202020C
+:1064700002020202020202020202020202020202FC
+:1064800002020202020202020202020202020202EC
+:1064900002020202020202020202020202020202DC
+:1064A00002020202020202020202020202020202CC
+:1064B00002020202020202020202020202020202BC
+:1064C00002020202020202020202020202020202AC
+:1064D000020202020202020202020202020202029C
+:1064E000020202020202020202020202020202028C
+:1064F000020202020202020202020202020202027C
+:10650000020202020202020202020202020202026B
+:10651000020202020202020202020202020202025B
+:10652000020202020202020202020202020202024B
+:10653000020202020202020202020202020202023B
+:10654000020202020202020202020202020202022B
+:10655000020202020202020202020202020202021B
+:10656000020202020202020202020202020202020B
+:1065700002020202020202020202020202020202FB
+:1065800002020202020202020202020202020202EB
+:1065900002020202020202020202020202020202DB
+:1065A00002020202020202020202020202020202CB
+:1065B00002020202020202020202020202020202BB
+:1065C00002020202020202020202020202020202AB
+:1065D000020202020202020202020202020202029B
+:1065E000020202020202020202020202020202028B
+:1065F000020202020202020202020202020202027B
+:10660000020202020202020202020202020202026A
+:10661000020202020202020202020202020202025A
+:10662000020202020202020202020202020202024A
+:10663000020202020202020202020202020202023A
+:10664000020202020202020202020202020202022A
+:10665000020202020202020202020202020202021A
+:10666000020202020202020202020202020202020A
+:1066700002020202020202020202020202020202FA
+:1066800002020202020202020202020202020202EA
+:1066900002020202020202020202020202020202DA
+:1066A00002020202020202020202020202020202CA
+:1066B00002020202020202020202020202020202BA
+:1066C00002020202020202020202020202020202AA
+:1066D000020202020202020202020202020202029A
+:1066E000020202020202020202020202020202028A
+:1066F000020202020202020202020202020202027A
+:106700000202020202020202020202020202020269
+:106710000202020202020202020202020202020259
+:106720000202020202020202020202020202020249
+:106730000202020202020202020202020202020239
+:106740000202020202020202020202020202020229
+:106750000202020202020202020202020202020219
+:106760000202020202020202020202020202020209
+:1067700002020202020202020202020202020202F9
+:1067800002020202020202020202020202020202E9
+:1067900002020202020202020202020202020202D9
+:1067A00002020202020202020202020202020202C9
+:1067B00002020202020202020202020202020202B9
+:1067C00002020202020202020202020202020202A9
+:1067D0000202020202020202020202020202020299
+:1067E0000202020202020202020202020202020289
+:1067F0000202020202020202020202020202020279
+:106800000202020202020202020202020202020268
+:106810000202020202020202020202020202020258
+:106820000202020202020202020202020202020248
+:106830000202020202020202020202020202020238
+:106840000202020202020202020202020202020228
+:106850000202020202020202020202020202020218
+:106860000202020202020202020202020202020208
+:1068700002020202020202020202020202020202F8
+:1068800002020202020202020202020202020202E8
+:1068900002020202020202020202020202020202D8
+:1068A00002020202020202020202020202020202C8
+:1068B00002020202020202020202020202020202B8
+:1068C00002020202020202020202020202020202A8
+:1068D0000202020202020202020202020202020298
+:1068E0000202020202020202020202020202020288
+:1068F0000202020202020202020202020202020278
+:106900000202020202020202020202020202020267
+:106910000202020202020202020202020202020257
+:106920000202020202020202020202020202020247
+:106930000202020202020202020202020202020237
+:106940000202020202020202020202020202020227
+:106950000202020202020202020202020202020217
+:106960000202020202020202020202020202020207
+:1069700002020202020202020202020202020202F7
+:1069800002020202020202020202020202020202E7
+:1069900002020202020202020202020202020202D7
+:1069A00002020202020202020202020202020202C7
+:1069B00002020202020202020202020202020202B7
+:1069C00002020202020202020202020202020202A7
+:1069D0000202020202020202020202020202020297
+:1069E0000202020202020202020202020202020287
+:1069F0000202020202020202020202020202020277
+:106A00000202020202020202020202020202020266
+:106A10000202020202020202020202020202020256
+:106A20000202020202020202020202020202020246
+:106A30000202020202020202020202020202020236
+:106A40000202020202020202020202020202020226
+:106A50000202020202020202020202020202020216
+:106A60000202020202020202020202020202020206
+:106A700002020202020202020202020202020202F6
+:106A800002020202020202020202020202020202E6
+:106A900002020202020202020202020202020202D6
+:106AA00002020202020202020202020202020202C6
+:106AB00002020202020202020202020202020202B6
+:106AC00002020202020202020202020202020202A6
+:106AD0000202020202020202020202020202020296
+:106AE0000202020202020202020202020202020286
+:106AF0000202020202020202020202020202020276
+:106B00000202020202020202020202020202020265
+:106B10000202020202020202020202020202020255
+:106B20000202020202020202020202020202020245
+:106B30000202020202020202020202020202020235
+:106B40000202020202020202020202020202020225
+:106B50000202020202020202020202020202020215
+:106B60000202020202020202020202020202020205
+:106B700002020202020202020202020202020202F5
+:106B800002020202020202020202020202020202E5
+:106B900002020202020202020202020202020202D5
+:106BA00002020202020202020202020202020202C5
+:106BB00002020202020202020202020202020202B5
+:106BC00002020202020202020202020202020202A5
+:106BD0000202020202020202020202020202020295
+:106BE0000202020202020202020202020202020285
+:106BF0000202020202020202020202020202020275
+:106C00000202020202020202020202020202020264
+:106C10000202020202020202020202020202020254
+:106C20000202020202020202020202020202020244
+:106C30000202020202020202020202020202020234
+:106C40000202020202020202020202020202020224
+:106C50000202020202020202020202020202020214
+:106C60000202020202020202020202020202020204
+:106C700002020202020202020202020202020202F4
+:106C800002020202020202020202020202020202E4
+:106C900002020202020202020202020202020202D4
+:106CA00002020202020202020202020202020202C4
+:106CB00002020202020202020202020202020202B4
+:106CC00002020202020202020202020202020202A4
+:106CD0000202020202020202020202020202020294
+:106CE0000202020202020202020202020202020284
+:106CF0000202020202020202020202020202020274
+:106D00000202020202020202020202020202020263
+:106D10000202020202020202020202020202020253
+:106D20000202020202020202020202020202020243
+:106D30000202020202020202020202020202020233
+:106D40000202020202020202020202020202020223
+:106D50000202020202020202020202020202020213
+:106D60000202020202020202020202020202020203
+:106D700002020202020202020202020202020202F3
+:106D800002020202020202020202020202020202E3
+:106D900002020202020202020202020202020202D3
+:106DA00002020202020202020202020202020202C3
+:106DB00002020202020202020202020202020202B3
+:106DC00002020202020202020202020202020202A3
+:106DD0000202020202020202020202020202020293
+:106DE0000202020202020202020202020202020283
+:106DF0000202020202020202020202020202020273
+:106E00000202020202020202020202020202020262
+:106E10000202020202020202020202020202020252
+:106E20000202020202020202020202020202020242
+:106E30000202020202020202020202020202020232
+:106E40000202020202020202020202020202020222
+:106E50000202020202020202020202020202020212
+:106E60000202020202020202020202020202020202
+:106E700002020202020202020202020202020202F2
+:106E800002020202020202020202020202020202E2
+:106E900002020202020202020202020202020202D2
+:106EA00002020202020202020202020202020202C2
+:106EB00002020202020202020202020202020202B2
+:106EC00002020202020202020202020202020202A2
+:106ED0000202020202020202020202020202020292
+:106EE0000202020202020202020202020202020282
+:106EF0000202020202020202020202020202020272
+:106F00000202020202020202020202020202020261
+:106F10000202020202020202020202020202020251
+:106F20000202020202020202020202020202020241
+:106F30000202020202020202020202020202020231
+:106F40000202020202020202020202020202020221
+:106F50000202020202020202020202020202020211
+:106F60000202020202020202020202020202020201
+:106F700002020202020202020202020202020202F1
+:106F800002020202020202020202020202020202E1
+:106F900002020202020202020202020202020202D1
+:106FA00002020202020202020202020202020202C1
+:106FB00002020202020202020202020202020202B1
+:106FC00002020202020202020202020202020202A1
+:106FD0000202020202020202020202020202020291
+:106FE0000202020202020202020202020202020281
+:106FF0000202020202020202020202020202020271
+:107000000202020202020202020202020202020260
+:107010000202020202020202020202020202020250
+:107020000202020202020202020202020202020240
+:107030000202020202020202020202020202020230
+:107040000202020202020202020202020202020220
+:107050000202020202020202020202020202020210
+:107060000202020202020202020202020202020200
+:1070700002020202020202020202020202020202F0
+:1070800002020202020202020202020202020202E0
+:1070900002020202020202020202020202020202D0
+:1070A00002020202020202020202020202020202C0
+:1070B00002020202020202020202020202020202B0
+:1070C00002020202020202020202020202020202A0
+:1070D0000202020202020202020202020202020290
+:1070E0000202020202020202020202020202020280
+:1070F0000202020202020202020202020202020270
+:10710000020202020202020202020202020202025F
+:10711000020202020202020202020202020202024F
+:10712000020202020202020202020202020202023F
+:10713000020202020202020202020202020202022F
+:10714000020202020202020202020202020202021F
+:10715000020202020202020202020202020202020F
+:1071600002020202020202020202020202020202FF
+:1071700002020202020202020202020202020202EF
+:1071800002020202020202020202020202020202DF
+:1071900002020202020202020202020202020202CF
+:1071A00002020202020202020202020202020202BF
+:1071B00002020202020202020202020202020202AF
+:1071C000020202020202020202020202020202029F
+:1071D000020202020202020202020202020202028F
+:1071E000020202020202020202020202020202027F
+:1071F000020202020202020202020202020202026F
+:10720000020202020202020202020202020202025E
+:10721000020202020202020202020202020202024E
+:10722000020202020202020202020202020202023E
+:10723000020202020202020202020202020202022E
+:10724000020202020202020202020202020202021E
+:10725000020202020202020202020202020202020E
+:1072600002020202020202020202020202020202FE
+:1072700002020202020202020202020202020202EE
+:1072800002020202020202020202020202020202DE
+:1072900002020202020202020202020202020202CE
+:1072A00002020202020202020202020202020202BE
+:1072B00002020202020202020202020202020202AE
+:1072C000020202020202020202020202020202029E
+:1072D000020202020202020202020202020202028E
+:1072E000020202020202020202020202020202027E
+:1072F000020202020202020202020202020202026E
+:10730000020202020202020202020202020202025D
+:10731000020202020202020202020202020202004F
+:10732000000000000000000000000000000000005D
+:10733000000000000000000000000000000000004D
+:10734000000000000000000000000000000000003D
+:10735000000000000000000000000000000000002D
+:10736000000000000000000000000000000000001D
+:10737000000000000000000000000000000000000D
+:1073800000000000000000000000000000000000FD
+:1073900000000000000000000000000000000000ED
+:1073A00000000000000000000000000000000000DD
+:1073B00000000000000000000000000000000000CD
+:1073C00000000000000000000000000000000000BD
+:1073D00000000000000000000000000000000000AD
+:1073E000000000000000000000000000000000009D
+:1073F000000000000000000000000000000000008D
+:10740000000000000000000000000000000000007C
+:107410000000000000000000000000000000005D0F
+:107420000000000000000001010101010101010153
+:10743000010101010101010101010101010101013C
+:10744000010101010101010101010101010101012C
+:10745000010101010101010101010101010101011C
+:10746000010101010101010101010101010101010C
+:1074700001010101010101010101010101010101FC
+:1074800001010101010101010101010101010101EC
+:1074900001010101010101010101010101010101DC
+:1074A00001010101010101010101010101010101CC
+:1074B00001010101010101010101010101010101BC
+:1074C00001010101010101010101010101010101AC
+:1074D000010101010101010101010101010101019C
+:1074E000010101010101010101010101010101018C
+:1074F000010101010101010101010101010101017C
+:10750000010101010101010101010101010101016B
+:10751000010101010101010101010101010101015B
+:10752000010101010101010101010101010101014B
+:10753000010101010101010101010101010101013B
+:10754000010101010101010101010101010101012B
+:10755000010101010101010101010101010101011B
+:10756000010101010101010101010101010101010B
+:1075700001010101010101010101010101010101FB
+:1075800001010101010101010101010101010101EB
+:1075900001010101010101010101010101010101DB
+:1075A00001010101010101010101010101010101CB
+:1075B00001010101010101010101010101010101BB
+:1075C00001010101010101010101010101010101AB
+:1075D000010101010101010101010101010101019B
+:1075E000010101010101010101010101010101018B
+:1075F000010101010101010101010101010101017B
+:10760000010101010101010101010101010101016A
+:10761000010101010101010101010101010101015A
+:10762000010101010101010101010101010101014A
+:10763000010101010101010101010101010101013A
+:10764000010101010101010101010101010101012A
+:10765000010101010101010101010101010101011A
+:10766000010101010101010101010101010101010A
+:1076700001010101010101010101010101010101FA
+:1076800001010101010101010101010101010101EA
+:1076900001010101010101010101010101010101DA
+:1076A00001010101010101010101010101010101CA
+:1076B00001010101010101010101010101010101BA
+:1076C00001010101010101010101010101010101AA
+:1076D000010101010101010101010101010101019A
+:1076E000010101010101010101010101010101018A
+:1076F000010101010101010101010101010101017A
+:107700000101010101010101010101010101010169
+:107710000101010101010101010101010101010159
+:107720000101010101010101010101010101010149
+:107730000101010101010101010101010101010139
+:107740000101010101010101010101010101010129
+:107750000101010101010101010101010101010119
+:107760000101010101010101010101010101010109
+:1077700001010101010101010101010101010101F9
+:1077800001010101010101010101010101010101E9
+:1077900001010101010101010101010101010101D9
+:1077A00001010101010101010101010101010101C9
+:1077B00001010101010101010101010101010101B9
+:1077C00001010101010101010101010101010101A9
+:1077D0000101010101010101010101010101010199
+:1077E0000101010101010101010101010101010189
+:1077F0000101010101010101010101010101010179
+:107800000101010101010101010101010101010168
+:107810000101010101010101010101010101010158
+:107820000101010101010101010101010101010148
+:107830000101010101010101010101010101010138
+:107840000101010101010101010101010101010128
+:107850000101010101010101010101010101010118
+:107860000101010101010101010101010101010108
+:1078700001010101010101010101010101010101F8
+:1078800001010101010101010101010101010101E8
+:1078900001010101010101010101010101010101D8
+:1078A00001010101010101010101010101010101C8
+:1078B00001010101010101010101010101010101B8
+:1078C00001010101010101010101010101010101A8
+:1078D0000101010101010101010101010101010198
+:1078E0000101010101010101010101010101010188
+:1078F0000101010101010101010101010101010178
+:107900000101010101010101010101010101010167
+:107910000101010101010101010101010101010157
+:107920000101010101010101010101010101010147
+:107930000101010101010101010101010101010137
+:107940000101010101010101010101010101010127
+:107950000101010101010101010101010101010117
+:107960000101010101010101010101010101010107
+:1079700001010101010101010101010101010101F7
+:1079800001010101010101010101010101010101E7
+:1079900001010101010101010101010101010101D7
+:1079A00001010101010101010101010101010101C7
+:1079B00001010101010101010101010101010101B7
+:1079C00001010101010101010101010101010101A7
+:1079D0000101010101010101010101010101010197
+:1079E0000101010101010101010101010101010187
+:1079F0000101010101010101010101010101010177
+:107A00000101010101010101010101010101010166
+:107A10000101010101010101010101010101010156
+:107A20000101010101010101010101010101010146
+:107A30000101010101010101010101010101010136
+:107A40000101010101010101010101010101010126
+:107A50000101010101010101010101010101010116
+:107A60000101010101010101010101010101010106
+:107A700001010101010101010101010101010101F6
+:107A800001010101010101010101010101010101E6
+:107A900001010101010101010101010101010101D6
+:107AA00001010101010101010101010101010101C6
+:107AB00001010101010101010101010101010101B6
+:107AC00001010101010101010101010101010101A6
+:107AD0000101010101010101010101010101010196
+:107AE0000101010101010101010101010101010186
+:107AF0000101010101010101010101010101010176
+:107B00000101010101010101010101010101010165
+:107B10000101010101010101010101010101010155
+:107B20000101010101010101010101010101010145
+:107B30000101010101010101010101010101010135
+:107B40000101010101010101010101010101010125
+:107B50000101010101010101010101010101010115
+:107B60000101010101010101010101010101010105
+:107B700001010101010101010101010101010101F5
+:107B800001010101010101010101010101010101E5
+:107B900001010101010101010101010101010101D5
+:107BA00001010101010101010101010101010101C5
+:107BB00001010101010101010101010101010101B5
+:107BC00001010101010101010101010101010101A5
+:107BD0000101010101010101010101010101010195
+:107BE0000101010101010101010101010101010185
+:107BF0000101010101010101010101010101010175
+:107C00000101010101010101010101010101010164
+:107C10000101010101010101010101010101010154
+:107C20000101010101010101010101010101010144
+:107C30000101010101010101010101010101010134
+:107C40000101010101010101010101010101010124
+:107C50000101010101010101010101010101010114
+:107C60000101010101010101010101010101010104
+:107C700001010101010101010101010101010101F4
+:107C800001010101010101010101010101010101E4
+:107C900001010101010101010101010101010101D4
+:107CA00001010101010101010101010101010101C4
+:107CB00001010101010101010101010101010101B4
+:107CC00001010101010101010101010101010101A4
+:107CD0000101010101010101010101010101010194
+:107CE0000101010101010101010101010101010184
+:107CF0000101010101010101010101010101010174
+:107D00000101010101010101010101010101010163
+:107D10000101010101010101010101010101010153
+:107D20000101010101010101010101010101010143
+:107D30000101010101010101010101010101010133
+:107D40000101010101010101010101010101010123
+:107D50000101010101010101010101010101010113
+:107D60000101010101010101010101010101010103
+:107D700001010101010101010101010101010101F3
+:107D800001010101010101010101010101010101E3
+:107D900001010101010101010101010101010101D3
+:107DA00001010101010101010101010101010101C3
+:107DB00001010101010101010101010101010101B3
+:107DC00001010101010101010101010101010101A3
+:107DD0000101010101010101010101010101010193
+:107DE0000101010101010101010101010101010183
+:107DF0000101010101010101010101010101010173
+:107E00000101010101010101010101010101010162
+:107E10000101010101010101010101010101010152
+:107E20000101010101010101010101010101010142
+:107E30000101010101010101010101010101010132
+:107E40000101010101010101010101010101010122
+:107E50000101010101010101010101010101010112
+:107E60000101010101010101010101010101010102
+:107E700001010101010101010101010101010101F2
+:107E800001010101010101010101010101010101E2
+:107E900001010101010101010101010101010101D2
+:107EA00001010101010101010101010101010101C2
+:107EB00001010101010101010101010101010101B2
+:107EC00001010101010101010101010101010101A2
+:107ED0000101010101010101010101010101010192
+:107EE0000101010101010101010101010101010182
+:107EF0000101010101010101010101010101010172
+:107F00000101010101010101010101010101010161
+:107F10000101010101010101010101010101010151
+:107F20000101010101010101010101010101010141
+:107F30000101010101010101010101010101010131
+:107F40000101010101010101010101010101010121
+:107F50000101010101010101010101010101010111
+:107F60000101010101010101010101010101010101
+:107F700001010101010101010101010101010101F1
+:107F800001010101010101010101010101010101E1
+:107F900001010101010101010101010101010101D1
+:107FA00001010101010101010101010101010101C1
+:107FB00001010101010101010101010101010101B1
+:107FC00001010101010101010101010101010101A1
+:107FD0000101010101010101010101010101010191
+:107FE0000101010101010101010101010101010181
+:107FF0000101010101010101010101010101010171
+:108000000101010101010101010101010101010160
+:108010000101010101010101010101010101010150
+:108020000101010101010101010101010101010140
+:108030000101010101010101010101010101010130
+:108040000101010101010101010101010101010120
+:108050000101010101010101010101010101010110
+:108060000101010101010101010101010101010100
+:1080700001010101010101010101010101010101F0
+:1080800001010101010101010101010101010101E0
+:1080900001010101010101010101010101010101D0
+:1080A00001010101010101010101010101010101C0
+:1080B00001010101010101010101010101010101B0
+:1080C00001010101010101010101010101010101A0
+:1080D0000101010101010101010101010101010190
+:1080E0000101010101010101010101010101010180
+:1080F0000101010101010101010101010101010170
+:10810000010101010101010101010101010101015F
+:10811000010101010101010101010101010101014F
+:10812000010101010101010101010101010101013F
+:10813000010101010101010101010101010101012F
+:10814000010101010101010101010101010101011F
+:10815000010101010101010101010101010101010F
+:1081600001010101010101010101010101010101FF
+:1081700001010101010101010101010101010101EF
+:1081800001010101010101010101010101010101DF
+:1081900001010101010101010101010101010101CF
+:1081A00001010101010101010101010101010101BF
+:1081B00001010101010101010101010101010101AF
+:1081C000010101010101010101010101010101019F
+:1081D000010101010101010101010101010101018F
+:1081E000010101010101010101010101010101017F
+:1081F000010101010101010101010101010101016F
+:10820000010101010101010101010101010101015E
+:10821000010101010101010101010101010101014E
+:10822000010101010101010101010101010101013E
+:10823000010101010101010101010101010101012E
+:10824000010101010101010101010101010101011E
+:10825000010101010101010101010101010101010E
+:1082600001010101010101010101010101010101FE
+:1082700001010101010101010101010101010101EE
+:1082800001010101010101010101010101010101DE
+:1082900001010101010101010101010101010101CE
+:1082A00001010101010101010101010101010101BE
+:1082B00001010101010101010101010101010101AE
+:1082C000010101010101010101010101010101019E
+:1082D000010101010101010101010101010101018E
+:1082E000010101010101010101010101010101017E
+:1082F000010101010101010101010101010101016E
+:10830000010101010101010101010101010101015D
+:10831000010101010101010101010101010101014D
+:10832000010101010101010101010101010101013D
+:10833000010101010101010101010101010101012D
+:10834000010101010101010101010101010101011D
+:10835000010101010101010101010101010101010D
+:1083600001010101010101010101010101010101FD
+:1083700001010101010101010101010101010101ED
+:1083800001010101010101010101010101010101DD
+:1083900001010101010101010101010101010101CD
+:1083A00001010101010101010101010101010101BD
+:1083B00001010101010101010101010101010101AD
+:1083C000010101010101010101010101010101019D
+:1083D000010101010101010101010101010101018D
+:1083E000010101010101010101010101010101017D
+:1083F000010101010101010101010101010101016D
+:10840000010101010101010101010101010101015C
+:10841000010101010101010101010101010101014C
+:10842000010101010101010101010101010101013C
+:10843000010101010101010101010101010101012C
+:10844000010101010101010101010101010101011C
+:10845000010101010101010101010101010101010C
+:1084600001010101010101010101010101010101FC
+:1084700001010101010101010101010101010101EC
+:1084800001010101010101010101010101010101DC
+:1084900001010101010101010101010101010101CC
+:1084A00001010101010101010101010101010101BC
+:1084B00001010101010101010101010101010101AC
+:1084C000010101010101010101010101010101019C
+:1084D000010101010101010101010101010101018C
+:1084E000010101010101010101010101010101017C
+:1084F000010101010101010101010101010101016C
+:10850000010101010101010101010101010101015B
+:10851000010101010101010101010101010101014B
+:10852000010101010101010101010101010101013B
+:10853000010101010101010101010101010101012B
+:10854000010101010101010101010101010101011B
+:10855000010101010101010101010101010101010B
+:1085600001010101010101010101010101010101FB
+:1085700001010101010101010101010101010101EB
+:1085800001010101010101010101010101010101DB
+:1085900001010101010101010101010101010101CB
+:1085A00001010101010101010101010101010101BB
+:1085B00001010101010101010101010101010101AB
+:1085C000010101010101010101010101010101019B
+:1085D000010101010101010101010101010101018B
+:1085E000010101010101010101010101010101017B
+:1085F000010101010101010101010101010101016B
+:10860000010101010101010101010101010101015A
+:10861000010101010101010101010101010101014A
+:10862000010101010101010101010101010101013A
+:10863000010101010101010101010101010101012A
+:10864000010101010101010101010101010101011A
+:10865000010101010101010101010101010101010A
+:1086600001010101010101010101010101010101FA
+:1086700001010101010101010101010101010101EA
+:1086800001010101010101010101010101010101DA
+:1086900001010101010101010101010101010101CA
+:1086A00001010101010101010101010101010101BA
+:1086B00001010101010101010101010101010101AA
+:1086C000010101010101010101010101010101019A
+:1086D000010101010101010101010101010101018A
+:1086E000010101010101010101010101010101017A
+:1086F000010101010101010101010101010101016A
+:108700000101010101010101010101010101010159
+:108710000101010101010101010101010101010149
+:108720000101010101010101010101010101010139
+:108730000101010101010101010101010101010129
+:108740000101010101010101010101010101010119
+:108750000101010101010101010101010101010109
+:1087600001010101010101010101010101010101F9
+:1087700001010101010101010101010101010101E9
+:1087800001010101010101010101010101010101D9
+:1087900001010101010101010101010101010101C9
+:1087A00001010101010101010101010101010101B9
+:1087B00001010101010101010101010101010101A9
+:1087C0000101010101010101010101010101010199
+:1087D0000101010101010101010101010101010189
+:1087E0000101010101010101010101010101010179
+:1087F0000101010101010101010101010101010169
+:108800000101010101010101010101010101010158
+:108810000101010101010101010101010101010148
+:108820000101010101010100000000000000000041
+:108830000000000000000000000000000000000038
+:108840000000000000000000000000000000000028
+:108850000000000000000000000000000000000018
+:108860000000000000000000000000000000000008
+:1088700000000000000000000000000000000000F8
+:1088800000000000000000000000000000000000E8
+:1088900000000000000000000000000000000000D8
+:1088A00000000000000000000000000000000000C8
+:1088B00000000000000000000000000000000000B8
+:1088C00000000000000000000000000000000000A8
+:1088D0000000000000000000000000000000000098
+:1088E0000000000000000000000000000000000088
+:1088F0000000000000000000000000000000000078
+:108900000000000000000000000000000000000067
+:108910000000000000000000000000000000000057
+:108920000000000000000000000000000000000047
+:108930000000000000000000000000000000000037
+:108940000000000000000000000000000000000027
+:108950000000000000000000000000000000000017
+:108960000000000000000000000000000000000007
+:1089700000000000000000000000000000000000F7
+:1089800000000000000000000000000000000000E7
+:1089900000000000000000000000000000000000D7
+:1089A00000000000000000000000000000000000C7
+:1089B00000000000000000000000000000000000B7
+:1089C00000000000000000000000000000000000A7
+:1089D0000000000000000000000000000000000097
+:1089E0000000000000000000000000000000000087
+:1089F0000000000000000000000000000000000077
+:108A00000000000000000000000000000000000066
+:108A10000000000000000000000000000000000056
+:108A20000000000000000000000000000000000046
+:108A30000000000000000000000000000000000036
+:108A40000000000000000000000000000000000026
+:108A50000000000000000000000000000000000016
+:108A60000000000000000000000000000000000006
+:108A700000000000000000000000000000000000F6
+:108A800000000000000000000000000000000000E6
+:108A900000000000000000000000000000000000D6
+:108AA00000000000000000000000000000000000C6
+:108AB00000000000000000000000000000000000B6
+:108AC00000000000000000000000000000000000A6
+:108AD0000000000000000000000000000000000096
+:108AE0000000000000000000000000000000000086
+:108AF0000000000000000000000000000000000076
+:108B00000000000000000000000000000000000065
+:108B10000000000000000000000000000000000055
+:108B20000000000000000000000000000000000045
+:108B30000000000000000000000000000000000035
+:108B40000000000000000000000000000000000025
+:108B50000000000000000000000000000000000015
+:108B60000000000000000000000000000000000005
+:108B700000000000000000000000000000000000F5
+:108B800000000000000000000000000000000000E5
+:108B900000000000000000000000000000000000D5
+:108BA00000000000000000000000000000000000C5
+:108BB00000000000000000000000000000000000B5
+:108BC00000000000000000000000000000000000A5
+:108BD0000000000000000000000000000000000095
+:108BE0000000000000000000000000000000000085
+:108BF0000000000000000000000000000000000075
+:108C00000000000000000000000000000000000064
+:108C10000000000000000000000000000000000054
+:108C20000000000000000002020202020202020232
+:108C30000202020202020202020202020202020214
+:108C40000202020202020202020202020202020204
+:108C500002020202020202020202020202020202F4
+:108C600002020202020202020202020202020202E4
+:108C700002020202020202020202020202020202D4
+:108C800002020202020202020202020202020202C4
+:108C900002020202020202020202020202020202B4
+:108CA00002020202020202020202020202020202A4
+:108CB0000202020202020202020202020202020294
+:108CC0000202020202020202020202020202020284
+:108CD0000202020202020202020202020202020274
+:108CE0000202020202020202020202020202020264
+:108CF0000202020202020202020202020202020254
+:108D00000202020202020202020202020202020243
+:108D10000202020202020202020202020202020233
+:108D20000202020202020202020202020202020223
+:108D30000202020202020202020202020202020213
+:108D40000202020202020202020202020202020203
+:108D500002020202020202020202020202020202F3
+:108D600002020202020202020202020202020202E3
+:108D700002020202020202020202020202020202D3
+:108D800002020202020202020202020202020202C3
+:108D900002020202020202020202020202020202B3
+:108DA00002020202020202020202020202020202A3
+:108DB0000202020202020202020202020202020293
+:108DC0000202020202020202020202020202020283
+:108DD0000202020202020202020202020202020273
+:108DE0000202020202020202020202020202020263
+:108DF0000202020202020202020202020202020253
+:108E00000202020202020202020202020202020242
+:108E10000202020202020202020202020202020232
+:108E20000202020202020202020202020202020222
+:108E30000202020202020202020202020202020212
+:108E40000202020202020202020202020202020202
+:108E500002020202020202020202020202020202F2
+:108E600002020202020202020202020202020202E2
+:108E700002020202020202020202020202020202D2
+:108E800002020202020202020202020202020202C2
+:108E900002020202020202020202020202020202B2
+:108EA00002020202020202020202020202020202A2
+:108EB0000202020202020202020202020202020292
+:108EC0000202020202020202020202020202020282
+:108ED0000202020202020202020202020202020272
+:108EE0000202020202020202020202020202020262
+:108EF0000202020202020202020202020202020252
+:108F00000202020202020202020202020202020241
+:108F10000202020202020202020202020202020231
+:108F20000202020202020202020202020202020221
+:108F30000202020202020202020202020202020211
+:108F40000202020202020202020202020202020201
+:108F500002020202020202020202020202020202F1
+:108F600002020202020202020202020202020202E1
+:108F700002020202020202020202020202020202D1
+:108F800002020202020202020202020202020202C1
+:108F900002020202020202020202020202020202B1
+:108FA00002020202020202020202020202020202A1
+:108FB0000202020202020202020202020202020291
+:108FC0000202020202020202020202020202020281
+:108FD0000202020202020202020202020202020271
+:108FE0000202020202020202020202020202020261
+:108FF0000202020202020202020202020202020251
+:109000000202020202020202020202020202020240
+:109010000202020202020202020202020202020230
+:109020000202020202020202020202020202020220
+:109030000202020202020202020202020202020210
+:109040000202020202020202020202020202020200
+:1090500002020202020202020202020202020202F0
+:1090600002020202020202020202020202020202E0
+:1090700002020202020202020202020202020202D0
+:1090800002020202020202020202020202020202C0
+:1090900002020202020202020202020202020202B0
+:1090A00002020202020202020202020202020202A0
+:1090B0000202020202020202020202020202020290
+:1090C0000202020202020202020202020202020280
+:1090D0000202020202020202020202020202020270
+:1090E0000202020202020202020202020202020260
+:1090F0000202020202020202020202020202020250
+:10910000020202020202020202020202020202023F
+:10911000020202020202020202020202020202022F
+:10912000020202020202020202020202020202021F
+:10913000020202020202020202020202020202020F
+:1091400002020202020202020202020202020202FF
+:1091500002020202020202020202020202020202EF
+:1091600002020202020202020202020202020202DF
+:1091700002020202020202020202020202020202CF
+:1091800002020202020202020202020202020202BF
+:1091900002020202020202020202020202020202AF
+:1091A000020202020202020202020202020202029F
+:1091B000020202020202020202020202020202028F
+:1091C000020202020202020202020202020202027F
+:1091D000020202020202020202020202020202026F
+:1091E000020202020202020202020202020202025F
+:1091F000020202020202020202020202020202024F
+:10920000020202020202020202020202020202023E
+:10921000020202020202020202020202020202022E
+:10922000020202020202020202020202020202021E
+:10923000020202020202020202020202020202020E
+:1092400002020202020202020202020202020202FE
+:1092500002020202020202020202020202020202EE
+:1092600002020202020202020202020202020202DE
+:1092700002020202020202020202020202020202CE
+:1092800002020202020202020202020202020202BE
+:1092900002020202020202020202020202020202AE
+:1092A000020202020202020202020202020202029E
+:1092B000020202020202020202020202020202028E
+:1092C000020202020202020202020202020202027E
+:1092D000020202020202020202020202020202026E
+:1092E000020202020202020202020202020202025E
+:1092F000020202020202020202020202020202024E
+:10930000020202020202020202020202020202023D
+:10931000020202020202020202020202020202022D
+:10932000020202020202020202020202020202021D
+:10933000020202020202020202020202020202020D
+:1093400002020202020202020202020202020202FD
+:1093500002020202020202020202020202020202ED
+:1093600002020202020202020202020202020202DD
+:1093700002020202020202020202020202020202CD
+:1093800002020202020202020202020202020202BD
+:1093900002020202020202020202020202020202AD
+:1093A000020202020202020202020202020202029D
+:1093B000020202020202020202020202020202028D
+:1093C000020202020202020202020202020202027D
+:1093D000020202020202020202020202020202026D
+:1093E000020202020202020202020202020202025D
+:1093F000020202020202020202020202020202024D
+:10940000020202020202020202020202020202023C
+:10941000020202020202020202020202020202022C
+:10942000020202020202020202020202020202021C
+:10943000020202020202020202020202020202020C
+:1094400002020202020202020202020202020202FC
+:1094500002020202020202020202020202020202EC
+:1094600002020202020202020202020202020202DC
+:1094700002020202020202020202020202020202CC
+:1094800002020202020202020202020202020202BC
+:1094900002020202020202020202020202020202AC
+:1094A000020202020202020202020202020202029C
+:1094B000020202020202020202020202020202028C
+:1094C000020202020202020202020202020202027C
+:1094D000020202020202020202020202020202026C
+:1094E000020202020202020202020202020202025C
+:1094F000020202020202020202020202020202024C
+:10950000020202020202020202020202020202023B
+:10951000020202020202020202020202020202022B
+:10952000020202020202020202020202020202021B
+:10953000020202020202020202020202020202020B
+:1095400002020202020202020202020202020202FB
+:1095500002020202020202020202020202020202EB
+:1095600002020202020202020202020202020202DB
+:1095700002020202020202020202020202020202CB
+:1095800002020202020202020202020202020202BB
+:1095900002020202020202020202020202020202AB
+:1095A000020202020202020202020202020202029B
+:1095B000020202020202020202020202020202028B
+:1095C000020202020202020202020202020202027B
+:1095D000020202020202020202020202020202026B
+:1095E000020202020202020202020202020202025B
+:1095F000020202020202020202020202020202024B
+:10960000020202020202020202020202020202023A
+:10961000020202020202020202020202020202022A
+:10962000020202020202020202020202020202021A
+:10963000020202020202020202020202020202020A
+:1096400002020202020202020202020202020202FA
+:1096500002020202020202020202020202020202EA
+:1096600002020202020202020202020202020202DA
+:1096700002020202020202020202020202020202CA
+:1096800002020202020202020202020202020202BA
+:1096900002020202020202020202020202020202AA
+:1096A000020202020202020202020202020202029A
+:1096B000020202020202020202020202020202028A
+:1096C000020202020202020202020202020202027A
+:1096D000020202020202020202020202020202026A
+:1096E000020202020202020202020202020202025A
+:1096F000020202020202020202020202020202024A
+:109700000202020202020202020202020202020239
+:109710000202020202020202020202020202020229
+:109720000202020202020202020202020202020219
+:109730000202020202020202020202020202020209
+:1097400002020202020202020202020202020202F9
+:1097500002020202020202020202020202020202E9
+:1097600002020202020202020202020202020202D9
+:1097700002020202020202020202020202020202C9
+:1097800002020202020202020202020202020202B9
+:1097900002020202020202020202020202020202A9
+:1097A0000202020202020202020202020202020299
+:1097B0000202020202020202020202020202020289
+:1097C0000202020202020202020202020202020279
+:1097D0000202020202020202020202020202020269
+:1097E0000202020202020202020202020202020259
+:1097F0000202020202020202020202020202020249
+:109800000202020202020202020202020202020238
+:109810000202020202020202020202020202020228
+:109820000202020202020202020202020202020218
+:109830000202020202020202020202020202020208
+:1098400002020202020202020202020202020202F8
+:1098500002020202020202020202020202020202E8
+:1098600002020202020202020202020202020202D8
+:1098700002020202020202020202020202020202C8
+:1098800002020202020202020202020202020202B8
+:1098900002020202020202020202020202020202A8
+:1098A0000202020202020202020202020202020298
+:1098B0000202020202020202020202020202020288
+:1098C0000202020202020202020202020202020278
+:1098D0000202020202020202020202020202020268
+:1098E0000202020202020202020202020202020258
+:1098F0000202020202020202020202020202020248
+:109900000202020202020202020202020202020237
+:109910000202020202020202020202020202020227
+:109920000202020202020202020202020202020217
+:109930000202020202020202020202020202020207
+:1099400002020202020202020202020202020202F7
+:1099500002020202020202020202020202020202E7
+:1099600002020202020202020202020202020202D7
+:1099700002020202020202020202020202020202C7
+:1099800002020202020202020202020202020202B7
+:1099900002020202020202020202020202020202A7
+:1099A0000202020202020202020202020202020297
+:1099B0000202020202020202020202020202020287
+:1099C0000202020202020202020202020202020277
+:1099D0000202020202020202020202020202020267
+:1099E0000202020202020202020202020202020257
+:1099F0000202020202020202020202020202020247
+:109A00000202020202020202020202020202020236
+:109A10000202020202020202020202020202020226
+:109A20000202020202020202020202020202020216
+:109A30000202020202020202020202020202020206
+:109A400002020202020202020202020202020202F6
+:109A500002020202020202020202020202020202E6
+:109A600002020202020202020202020202020202D6
+:109A700002020202020202020202020202020202C6
+:109A800002020202020202020202020202020202B6
+:109A900002020202020202020202020202020202A6
+:109AA0000202020202020202020202020202020296
+:109AB0000202020202020202020202020202020286
+:109AC0000202020202020202020202020202020276
+:109AD0000202020202020202020202020202020266
+:109AE0000202020202020202020202020202020256
+:109AF0000202020202020202020202020202020246
+:109B00000202020202020202020202020202020235
+:109B10000202020202020202020202020202020225
+:109B20000202020202020202020202020202020215
+:109B30000202020202020202020202020202020205
+:109B400002020202020202020202020202020202F5
+:109B500002020202020202020202020202020202E5
+:109B600002020202020202020202020202020202D5
+:109B700002020202020202020202020202020202C5
+:109B800002020202020202020202020202020202B5
+:109B900002020202020202020202020202020202A5
+:109BA0000202020202020202020202020202020295
+:109BB0000202020202020202020202020202020285
+:109BC0000202020202020202020202020202020275
+:109BD0000202020202020202020202020202020265
+:109BE0000202020202020202020202020202020255
+:109BF0000202020202020202020202020202020245
+:109C00000202020202020202020202020202020234
+:109C10000202020202020202020202020202020224
+:109C20000202020202020202020202020202020214
+:109C30000202020202020202020202020202020204
+:109C400002020202020202020202020202020202F4
+:109C500002020202020202020202020202020202E4
+:109C600002020202020202020202020202020202D4
+:109C700002020202020202020202020202020202C4
+:109C800002020202020202020202020202020202B4
+:109C900002020202020202020202020202020202A4
+:109CA0000202020202020202020202020202020294
+:109CB0000202020202020202020202020202020284
+:109CC0000202020202020202020202020202020274
+:109CD0000202020202020202020202020202020264
+:109CE0000202020202020202020202020202020254
+:109CF0000202020202020202020202020202020244
+:109D00000202020202020202020202020202020233
+:109D10000202020202020202020202020202020223
+:109D20000202020202020202020202020202020213
+:109D30000202020202020202020202020202020203
+:109D400002020202020202020202020202020202F3
+:109D500002020202020202020202020202020202E3
+:109D600002020202020202020202020202020202D3
+:109D700002020202020202020202020202020202C3
+:109D800002020202020202020202020202020202B3
+:109D900002020202020202020202020202020202A3
+:109DA0000202020202020202020202020202020293
+:109DB0000202020202020202020202020202020283
+:109DC0000202020202020202020202020202020273
+:109DD0000202020202020202020202020202020263
+:109DE0000202020202020202020202020202020253
+:109DF0000202020202020202020202020202020243
+:109E00000202020202020202020202020202020232
+:109E10000202020202020202020202020202020222
+:109E20000202020202020202020202020202020212
+:109E30000202020202020202020202020202020202
+:109E400002020202020202020202020202020202F2
+:109E500002020202020202020202020202020202E2
+:109E600002020202020202020202020202020202D2
+:109E700002020202020202020202020202020202C2
+:109E800002020202020202020202020202020202B2
+:109E900002020202020202020202020202020202A2
+:109EA0000202020202020202020202020202020292
+:109EB0000202020202020202020202020202020282
+:109EC0000202020202020202020202020202020272
+:109ED0000202020202020202020202020202020262
+:109EE0000202020202020202020202020202020252
+:109EF0000202020202020202020202020202020242
+:109F00000202020202020202020202020202020231
+:109F10000202020202020202020202020202020221
+:109F20000202020202020202020202020202020211
+:109F30000202020202020202020202020202020201
+:109F400002020202020202020202020202020202F1
+:109F500002020202020202020202020202020202E1
+:109F600002020202020202020202020202020202D1
+:109F700002020202020202020202020202020202C1
+:109F800002020202020202020202020202020202B1
+:109F900002020202020202020202020202020202A1
+:109FA0000202020202020202020202020202020291
+:109FB0000202020202020202020202020202020281
+:109FC0000202020202020202020202020202020271
+:109FD0000202020202020202020202020202020261
+:109FE0000202020202020202020202020202020251
+:109FF0000202020202020202020202020202020241
+:10A000000202020202020202020202020202020230
+:10A010000202020202020202020202020202020220
+:10A020000202020202020200000000000000000022
+:10A030000000000000000000000000000000000020
+:10A040000000000000000000000000000000000010
+:10A050000000000000000000000000000000000000
+:10A0600000000000000000000000000000000000F0
+:10A0700000000000000000000000000000000000E0
+:10A0800000000000000000000000000000000000D0
+:10A0900000000000000000000000000000000000C0
+:10A0A00000000000000000000000000000000000B0
+:10A0B00000000000000000000000000000000000A0
+:10A0C0000000000000000000000000000000000090
+:10A0D0000000000000000000000000000000000080
+:10A0E0000000000000000000000000000000000070
+:10A0F0000000000000000000000000000000000060
+:10A10000000000000000000000000000000000004F
+:10A11000000000000000000000000000000000003F
+:10A12000000000000000000000000000000000002F
+:10A13000000000000000000000000000000000001F
+:10A14000000000000000000000000000000000000F
+:10A1500000000000000000000000000000000000FF
+:10A1600000000000000000000000000000000000EF
+:10A1700000000000000000000000000000000000DF
+:10A1800000000000000000000000000000000000CF
+:10A1900000000000000000000000000000000000BF
+:10A1A00000000000000000000000000000000000AF
+:10A1B000000000000000000000000000000000009F
+:10A1C000000000000000000000000000000000008F
+:10A1D000000000000000000000000000000000007F
+:10A1E000000000000000000000000000000000006F
+:10A1F000000000000000000000000000000000005F
+:10A20000000000000000000000000000000000004E
+:10A21000000000000000000000000000000000003E
+:10A22000000000000000000000000000000000002E
+:10A23000000000000000000000000000000000001E
+:10A24000000000000000000000000000000000000E
+:10A2500000000000000000000000000000000000FE
+:10A2600000000000000000000000000000000000EE
+:10A2700000000000000000000000000000000000DE
+:10A2800000000000000000000000000000000000CE
+:10A2900000000000000000000000000000000000BE
+:10A2A00000000000000000000000000000000000AE
+:10A2B000000000000000000000000000000000009E
+:10A2C000000000000000000000000000000000008E
+:10A2D000000000000000000000000000000000007E
+:10A2E000000000000000000000000000000000006E
+:10A2F000000000000000000000000000000000005E
+:10A30000000000000000000000000000000000004D
+:10A31000000000000000000000000000000000003D
+:10A32000000000000000000000000000000000002D
+:10A33000000000000000000000000000000000001D
+:10A34000000000000000000000000000000000000D
+:10A3500000000000000000000000000000000000FD
+:10A3600000000000000000000000000000000000ED
+:10A3700000000000000000000000000000000000DD
+:10A3800000000000000000000000000000000000CD
+:10A3900000000000000000000000000000000000BD
+:10A3A00000000000000000000000000000000000AD
+:10A3B000000000000000000000000000000000009D
+:10A3C000000000000000000000000000000000008D
+:10A3D000000000000000000000000000000000007D
+:10A3E000000000000000000000000000000000006D
+:10A3F000000000000000000000000000000000005D
+:10A40000000000000000000000000000000000004C
+:10A41000000000000000000000000000000000003C
+:10A420000000000000000001010101010101010123
+:10A43000010101010101010101010101010101010C
+:10A4400001010101010101010101010101010101FC
+:10A4500001010101010101010101010101010101EC
+:10A4600001010101010101010101010101010101DC
+:10A4700001010101010101010101010101010101CC
+:10A4800001010101010101010101010101010101BC
+:10A4900001010101010101010101010101010101AC
+:10A4A000010101010101010101010101010101019C
+:10A4B000010101010101010101010101010101018C
+:10A4C000010101010101010101010101010101017C
+:10A4D000010101010101010101010101010101016C
+:10A4E000010101010101010101010101010101015C
+:10A4F000010101010101010101010101010101014C
+:10A50000010101010101010101010101010101013B
+:10A51000010101010101010101010101010101012B
+:10A52000010101010101010101010101010101011B
+:10A53000010101010101010101010101010101010B
+:10A5400001010101010101010101010101010101FB
+:10A5500001010101010101010101010101010101EB
+:10A5600001010101010101010101010101010101DB
+:10A5700001010101010101010101010101010101CB
+:10A5800001010101010101010101010101010101BB
+:10A5900001010101010101010101010101010101AB
+:10A5A000010101010101010101010101010101019B
+:10A5B000010101010101010101010101010101018B
+:10A5C000010101010101010101010101010101017B
+:10A5D000010101010101010101010101010101016B
+:10A5E000010101010101010101010101010101015B
+:10A5F000010101010101010101010101010101014B
+:10A60000010101010101010101010101010101013A
+:10A61000010101010101010101010101010101012A
+:10A62000010101010101010101010101010101011A
+:10A63000010101010101010101010101010101010A
+:10A6400001010101010101010101010101010101FA
+:10A6500001010101010101010101010101010101EA
+:10A6600001010101010101010101010101010101DA
+:10A6700001010101010101010101010101010101CA
+:10A6800001010101010101010101010101010101BA
+:10A6900001010101010101010101010101010101AA
+:10A6A000010101010101010101010101010101019A
+:10A6B000010101010101010101010101010101018A
+:10A6C000010101010101010101010101010101017A
+:10A6D000010101010101010101010101010101016A
+:10A6E000010101010101010101010101010101015A
+:10A6F000010101010101010101010101010101014A
+:10A700000101010101010101010101010101010139
+:10A710000101010101010101010101010101010129
+:10A720000101010101010101010101010101010119
+:10A730000101010101010101010101010101010109
+:10A7400001010101010101010101010101010101F9
+:10A7500001010101010101010101010101010101E9
+:10A7600001010101010101010101010101010101D9
+:10A7700001010101010101010101010101010101C9
+:10A7800001010101010101010101010101010101B9
+:10A7900001010101010101010101010101010101A9
+:10A7A0000101010101010101010101010101010199
+:10A7B0000101010101010101010101010101010189
+:10A7C0000101010101010101010101010101010179
+:10A7D0000101010101010101010101010101010169
+:10A7E0000101010101010101010101010101010159
+:10A7F0000101010101010101010101010101010149
+:10A800000101010101010101010101010101010138
+:10A810000101010101010101010101010101010128
+:10A820000101010101010101010101010101010118
+:10A830000101010101010101010101010101010108
+:10A8400001010101010101010101010101010101F8
+:10A8500001010101010101010101010101010101E8
+:10A8600001010101010101010101010101010101D8
+:10A8700001010101010101010101010101010101C8
+:10A8800001010101010101010101010101010101B8
+:10A8900001010101010101010101010101010101A8
+:10A8A0000101010101010101010101010101010198
+:10A8B0000101010101010101010101010101010188
+:10A8C0000101010101010101010101010101010178
+:10A8D0000101010101010101010101010101010168
+:10A8E0000101010101010101010101010101010158
+:10A8F0000101010101010101010101010101010148
+:10A900000101010101010101010101010101010137
+:10A910000101010101010101010101010101010127
+:10A920000101010101010101010101010101010117
+:10A930000101010101010101010101010101010107
+:10A9400001010101010101010101010101010101F7
+:10A9500001010101010101010101010101010101E7
+:10A9600001010101010101010101010101010101D7
+:10A9700001010101010101010101010101010101C7
+:10A9800001010101010101010101010101010101B7
+:10A9900001010101010101010101010101010101A7
+:10A9A0000101010101010101010101010101010197
+:10A9B0000101010101010101010101010101010187
+:10A9C0000101010101010101010101010101010177
+:10A9D0000101010101010101010101010101010167
+:10A9E0000101010101010101010101010101010157
+:10A9F0000101010101010101010101010101010147
+:10AA00000101010101010101010101010101010136
+:10AA10000101010101010101010101010101010126
+:10AA20000101010101010101010101010101010116
+:10AA30000101010101010101010101010101010106
+:10AA400001010101010101010101010101010101F6
+:10AA500001010101010101010101010101010101E6
+:10AA600001010101010101010101010101010101D6
+:10AA700001010101010101010101010101010101C6
+:10AA800001010101010101010101010101010101B6
+:10AA900001010101010101010101010101010101A6
+:10AAA0000101010101010101010101010101010196
+:10AAB0000101010101010101010101010101010186
+:10AAC0000101010101010101010101010101010176
+:10AAD0000101010101010101010101010101010166
+:10AAE0000101010101010101010101010101010156
+:10AAF0000101010101010101010101010101010146
+:10AB00000101010101010101010101010101010135
+:10AB10000101010101010101010101010101010125
+:10AB20000101010101010101010101010101010115
+:10AB30000101010101010101010101010101010105
+:10AB400001010101010101010101010101010101F5
+:10AB500001010101010101010101010101010101E5
+:10AB600001010101010101010101010101010101D5
+:10AB700001010101010101010101010101010101C5
+:10AB800001010101010101010101010101010101B5
+:10AB900001010101010101010101010101010101A5
+:10ABA0000101010101010101010101010101010195
+:10ABB0000101010101010101010101010101010185
+:10ABC0000101010101010101010101010101010175
+:10ABD0000101010101010101010101010101010165
+:10ABE0000101010101010101010101010101010155
+:10ABF0000101010101010101010101010101010145
+:10AC00000101010101010101010101010101010134
+:10AC10000101010101010101010101010101010124
+:10AC20000101010101010101010101010101010114
+:10AC30000101010101010101010101010101010104
+:10AC400001010101010101010101010101010101F4
+:10AC500001010101010101010101010101010101E4
+:10AC600001010101010101010101010101010101D4
+:10AC700001010101010101010101010101010101C4
+:10AC800001010101010101010101010101010101B4
+:10AC900001010101010101010101010101010101A4
+:10ACA0000101010101010101010101010101010194
+:10ACB0000101010101010101010101010101010184
+:10ACC0000101010101010101010101010101010174
+:10ACD0000101010101010101010101010101010164
+:10ACE0000101010101010101010101010101010154
+:10ACF0000101010101010101010101010101010144
+:10AD00000101010101010101010101010101010133
+:10AD10000101010101010101010101010101010123
+:10AD20000101010101010101010101010101010113
+:10AD30000101010101010101010101010101010103
+:10AD400001010101010101010101010101010101F3
+:10AD500001010101010101010101010101010101E3
+:10AD600001010101010101010101010101010101D3
+:10AD700001010101010101010101010101010101C3
+:10AD800001010101010101010101010101010101B3
+:10AD900001010101010101010101010101010101A3
+:10ADA0000101010101010101010101010101010193
+:10ADB0000101010101010101010101010101010183
+:10ADC0000101010101010101010101010101010173
+:10ADD0000101010101010101010101010101010163
+:10ADE0000101010101010101010101010101010153
+:10ADF0000101010101010101010101010101010143
+:10AE00000101010101010101010101010101010132
+:10AE10000101010101010101010101010101010122
+:10AE20000101010101010101010101010101010112
+:10AE30000101010101010101010101010101010102
+:10AE400001010101010101010101010101010101F2
+:10AE500001010101010101010101010101010101E2
+:10AE600001010101010101010101010101010101D2
+:10AE700001010101010101010101010101010101C2
+:10AE800001010101010101010101010101010101B2
+:10AE900001010101010101010101010101010101A2
+:10AEA0000101010101010101010101010101010192
+:10AEB0000101010101010101010101010101010182
+:10AEC0000101010101010101010101010101010172
+:10AED0000101010101010101010101010101010162
+:10AEE0000101010101010101010101010101010152
+:10AEF0000101010101010101010101010101010142
+:10AF00000101010101010101010101010101010131
+:10AF10000101010101010101010101010101010121
+:10AF20000101010101010101010101010101010111
+:10AF30000101010101010101010101010101010101
+:10AF400001010101010101010101010101010101F1
+:10AF500001010101010101010101010101010101E1
+:10AF600001010101010101010101010101010101D1
+:10AF700001010101010101010101010101010101C1
+:10AF800001010101010101010101010101010101B1
+:10AF900001010101010101010101010101010101A1
+:10AFA0000101010101010101010101010101010191
+:10AFB0000101010101010101010101010101010181
+:10AFC0000101010101010101010101010101010171
+:10AFD0000101010101010101010101010101010161
+:10AFE0000101010101010101010101010101010151
+:10AFF0000101010101010101010101010101010141
+:10B000000101010101010101010101010101010130
+:10B010000101010101010101010101010101010120
+:10B020000101010101010101010101010101010110
+:10B030000101010101010101010101010101010100
+:10B0400001010101010101010101010101010101F0
+:10B0500001010101010101010101010101010101E0
+:10B0600001010101010101010101010101010101D0
+:10B0700001010101010101010101010101010101C0
+:10B0800001010101010101010101010101010101B0
+:10B0900001010101010101010101010101010101A0
+:10B0A0000101010101010101010101010101010190
+:10B0B0000101010101010101010101010101010180
+:10B0C0000101010101010101010101010101010170
+:10B0D0000101010101010101010101010101010160
+:10B0E0000101010101010101010101010101010150
+:10B0F0000101010101010101010101010101010140
+:10B10000010101010101010101010101010101012F
+:10B11000010101010101010101010101010101011F
+:10B12000010101010101010101010101010101010F
+:10B1300001010101010101010101010101010101FF
+:10B1400001010101010101010101010101010101EF
+:10B1500001010101010101010101010101010101DF
+:10B1600001010101010101010101010101010101CF
+:10B1700001010101010101010101010101010101BF
+:10B1800001010101010101010101010101010101AF
+:10B19000010101010101010101010101010101019F
+:10B1A000010101010101010101010101010101018F
+:10B1B000010101010101010101010101010101017F
+:10B1C000010101010101010101010101010101016F
+:10B1D000010101010101010101010101010101015F
+:10B1E000010101010101010101010101010101014F
+:10B1F000010101010101010101010101010101013F
+:10B20000010101010101010101010101010101012E
+:10B21000010101010101010101010101010101011E
+:10B22000010101010101010101010101010101010E
+:10B2300001010101010101010101010101010101FE
+:10B2400001010101010101010101010101010101EE
+:10B2500001010101010101010101010101010101DE
+:10B2600001010101010101010101010101010101CE
+:10B2700001010101010101010101010101010101BE
+:10B2800001010101010101010101010101010101AE
+:10B29000010101010101010101010101010101019E
+:10B2A000010101010101010101010101010101018E
+:10B2B000010101010101010101010101010101017E
+:10B2C000010101010101010101010101010101016E
+:10B2D000010101010101010101010101010101015E
+:10B2E000010101010101010101010101010101014E
+:10B2F000010101010101010101010101010101013E
+:10B30000010101010101010101010101010101012D
+:10B31000010101010101010101010101010101011D
+:10B32000010101010101010101010101010101010D
+:10B3300001010101010101010101010101010101FD
+:10B3400001010101010101010101010101010101ED
+:10B3500001010101010101010101010101010101DD
+:10B3600001010101010101010101010101010101CD
+:10B3700001010101010101010101010101010101BD
+:10B3800001010101010101010101010101010101AD
+:10B39000010101010101010101010101010101019D
+:10B3A000010101010101010101010101010101018D
+:10B3B000010101010101010101010101010101017D
+:10B3C000010101010101010101010101010101016D
+:10B3D000010101010101010101010101010101015D
+:10B3E000010101010101010101010101010101014D
+:10B3F000010101010101010101010101010101013D
+:10B40000010101010101010101010101010101012C
+:10B41000010101010101010101010101010101011C
+:10B42000010101010101010101010101010101010C
+:10B4300001010101010101010101010101010101FC
+:10B4400001010101010101010101010101010101EC
+:10B4500001010101010101010101010101010101DC
+:10B4600001010101010101010101010101010101CC
+:10B4700001010101010101010101010101010101BC
+:10B4800001010101010101010101010101010101AC
+:10B49000010101010101010101010101010101019C
+:10B4A000010101010101010101010101010101018C
+:10B4B000010101010101010101010101010101017C
+:10B4C000010101010101010101010101010101016C
+:10B4D000010101010101010101010101010101015C
+:10B4E000010101010101010101010101010101014C
+:10B4F000010101010101010101010101010101013C
+:10B50000010101010101010101010101010101012B
+:10B51000010101010101010101010101010101011B
+:10B52000010101010101010101010101010101010B
+:10B5300001010101010101010101010101010101FB
+:10B5400001010101010101010101010101010101EB
+:10B5500001010101010101010101010101010101DB
+:10B5600001010101010101010101010101010101CB
+:10B5700001010101010101010101010101010101BB
+:10B5800001010101010101010101010101010101AB
+:10B59000010101010101010101010101010101019B
+:10B5A000010101010101010101010101010101018B
+:10B5B000010101010101010101010101010101017B
+:10B5C000010101010101010101010101010101016B
+:10B5D000010101010101010101010101010101015B
+:10B5E000010101010101010101010101010101014B
+:10B5F000010101010101010101010101010101013B
+:10B60000010101010101010101010101010101012A
+:10B61000010101010101010101010101010101011A
+:10B62000010101010101010101010101010101010A
+:10B6300001010101010101010101010101010101FA
+:10B6400001010101010101010101010101010101EA
+:10B6500001010101010101010101010101010101DA
+:10B6600001010101010101010101010101010101CA
+:10B6700001010101010101010101010101010101BA
+:10B6800001010101010101010101010101010101AA
+:10B69000010101010101010101010101010101019A
+:10B6A000010101010101010101010101010101018A
+:10B6B000010101010101010101010101010101017A
+:10B6C000010101010101010101010101010101016A
+:10B6D000010101010101010101010101010101015A
+:10B6E000010101010101010101010101010101014A
+:10B6F000010101010101010101010101010101013A
+:10B700000101010101010101010101010101010129
+:10B710000101010101010101010101010101010119
+:10B720000101010101010101010101010101010109
+:10B7300001010101010101010101010101010101F9
+:10B7400001010101010101010101010101010101E9
+:10B7500001010101010101010101010101010101D9
+:10B7600001010101010101010101010101010101C9
+:10B7700001010101010101010101010101010101B9
+:10B7800001010101010101010101010101010101A9
+:10B790000101010101010101010101010101010199
+:10B7A0000101010101010101010101010101010189
+:10B7B0000101010101010101010101010101010179
+:10B7C0000101010101010101010101010101010169
+:10B7D0000101010101010101010101010101010159
+:10B7E0000101010101010101010101010101010149
+:10B7F0000101010101010101010101010101010139
+:10B800000101010101010101010101010101010128
+:10B810000101010101010101010101010101010118
+:10B820000101010101010100000000000000000011
+:10B830000000000000000000000000000000000008
+:10B8400000000000000000000000000000000000F8
+:10B8500000000000000000000000000000000000E8
+:10B8600000000000000000000000000000000000D8
+:10B8700000000000000000000000000000000000C8
+:10B8800000000000000000000000000000000000B8
+:10B8900000000000000000000000000000000000A8
+:10B8A0000000000000000000000000000000000098
+:10B8B0000000000000000000000000000000000088
+:10B8C0000000000000000000000000000000000078
+:10B8D0000000000000000000000000000000000068
+:10B8E0000000000000000000000000000000000058
+:10B8F0000000000000000000000000000000000048
+:10B900000000000000000000000000000000000037
+:10B910000000000000000000000000000000000027
+:10B920000000000000000000000000000000000017
+:10B930000000000000000000000000000000000007
+:10B9400000000000000000000000000000000000F7
+:10B9500000000000000000000000000000000000E7
+:10B9600000000000000000000000000000000000D7
+:10B9700000000000000000000000000000000000C7
+:10B9800000000000000000000000000000000000B7
+:10B9900000000000000000000000000000000000A7
+:10B9A0000000000000000000000000000000000097
+:10B9B0000000000000000000000000000000000087
+:10B9C0000000000000000000000000000000000077
+:10B9D0000000000000000000000000000000000067
+:10B9E0000000000000000000000000000000000057
+:10B9F0000000000000000000000000000000000047
+:10BA00000000000000000000000000000000000036
+:10BA10000000000000000000000000000000000026
+:10BA20000000000000000000000000000000000016
+:10BA30000000000000000000000000000000000006
+:10BA400000000000000000000000000000000000F6
+:10BA500000000000000000000000000000000000E6
+:10BA600000000000000000000000000000000000D6
+:10BA700000000000000000000000000000000000C6
+:10BA800000000000000000000000000000000000B6
+:10BA900000000000000000000000000000000000A6
+:10BAA0000000000000000000000000000000000096
+:10BAB0000000000000000000000000000000000086
+:10BAC0000000000000000000000000000000000076
+:10BAD0000000000000000000000000000000000066
+:10BAE0000000000000000000000000000000000056
+:10BAF0000000000000000000000000000000000046
+:10BB00000000000000000000000000000000000035
+:10BB10000000000000000000000000000000000025
+:10BB20000000000000000000000000000000000015
+:10BB30000000000000000000000000000000000005
+:10BB400000000000000000000000000000000000F5
+:10BB500000000000000000000000000000000000E5
+:10BB600000000000000000000000000000000000D5
+:10BB700000000000000000000000000000000000C5
+:10BB800000000000000000000000000000000000B5
+:10BB900000000000000000000000000000000000A5
+:10BBA0000000000000000000000000000000000095
+:10BBB0000000000000000000000000000000000085
+:10BBC0000000000000000000000000000000000075
+:10BBD0000000000000000000000000000000000065
+:10BBE0000000000000000000000000000000000055
+:10BBF0000000000000000000000000000000000045
+:10BC00000000000000000000000000000000000034
+:10BC10000000000000000000000000000000000024
+:10BC20000000000000000002020202020202020202
+:10BC300002020202020202020202020202020202E4
+:10BC400002020202020202020202020202020202D4
+:10BC500002020202020202020202020202020202C4
+:10BC600002020202020202020202020202020202B4
+:10BC700002020202020202020202020202020202A4
+:10BC80000202020202020202020202020202020294
+:10BC90000202020202020202020202020202020284
+:10BCA0000202020202020202020202020202020274
+:10BCB0000202020202020202020202020202020264
+:10BCC0000202020202020202020202020202020254
+:10BCD0000202020202020202020202020202020244
+:10BCE0000202020202020202020202020202020234
+:10BCF0000202020202020202020202020202020224
+:10BD00000202020202020202020202020202020213
+:10BD10000202020202020202020202020202020203
+:10BD200002020202020202020202020202020202F3
+:10BD300002020202020202020202020202020202E3
+:10BD400002020202020202020202020202020202D3
+:10BD500002020202020202020202020202020202C3
+:10BD600002020202020202020202020202020202B3
+:10BD700002020202020202020202020202020202A3
+:10BD80000202020202020202020202020202020293
+:10BD90000202020202020202020202020202020283
+:10BDA0000202020202020202020202020202020273
+:10BDB0000202020202020202020202020202020263
+:10BDC0000202020202020202020202020202020253
+:10BDD0000202020202020202020202020202020243
+:10BDE0000202020202020202020202020202020233
+:10BDF0000202020202020202020202020202020223
+:10BE00000202020202020202020202020202020212
+:10BE10000202020202020202020202020202020202
+:10BE200002020202020202020202020202020202F2
+:10BE300002020202020202020202020202020202E2
+:10BE400002020202020202020202020202020202D2
+:10BE500002020202020202020202020202020202C2
+:10BE600002020202020202020202020202020202B2
+:10BE700002020202020202020202020202020202A2
+:10BE80000202020202020202020202020202020292
+:10BE90000202020202020202020202020202020282
+:10BEA0000202020202020202020202020202020272
+:10BEB0000202020202020202020202020202020262
+:10BEC0000202020202020202020202020202020252
+:10BED0000202020202020202020202020202020242
+:10BEE0000202020202020202020202020202020232
+:10BEF0000202020202020202020202020202020222
+:10BF00000202020202020202020202020202020211
+:10BF10000202020202020202020202020202020201
+:10BF200002020202020202020202020202020202F1
+:10BF300002020202020202020202020202020202E1
+:10BF400002020202020202020202020202020202D1
+:10BF500002020202020202020202020202020202C1
+:10BF600002020202020202020202020202020202B1
+:10BF700002020202020202020202020202020202A1
+:10BF80000202020202020202020202020202020291
+:10BF90000202020202020202020202020202020281
+:10BFA0000202020202020202020202020202020271
+:10BFB0000202020202020202020202020202020261
+:10BFC0000202020202020202020202020202020251
+:10BFD0000202020202020202020202020202020241
+:10BFE0000202020202020202020202020202020231
+:10BFF0000202020202020202020202020202020221
+:10C000000202020202020202020202020202020210
+:10C010000202020202020202020202020202020200
+:10C0200002020202020202020202020202020202F0
+:10C0300002020202020202020202020202020202E0
+:10C0400002020202020202020202020202020202D0
+:10C0500002020202020202020202020202020202C0
+:10C0600002020202020202020202020202020202B0
+:10C0700002020202020202020202020202020202A0
+:10C080000202020202020202020202020202020290
+:10C090000202020202020202020202020202020280
+:10C0A0000202020202020202020202020202020270
+:10C0B0000202020202020202020202020202020260
+:10C0C0000202020202020202020202020202020250
+:10C0D0000202020202020202020202020202020240
+:10C0E0000202020202020202020202020202020230
+:10C0F0000202020202020202020202020202020220
+:10C10000020202020202020202020202020202020F
+:10C1100002020202020202020202020202020202FF
+:10C1200002020202020202020202020202020202EF
+:10C1300002020202020202020202020202020202DF
+:10C1400002020202020202020202020202020202CF
+:10C1500002020202020202020202020202020202BF
+:10C1600002020202020202020202020202020202AF
+:10C17000020202020202020202020202020202029F
+:10C18000020202020202020202020202020202028F
+:10C19000020202020202020202020202020202027F
+:10C1A000020202020202020202020202020202026F
+:10C1B000020202020202020202020202020202025F
+:10C1C000020202020202020202020202020202024F
+:10C1D000020202020202020202020202020202023F
+:10C1E000020202020202020202020202020202022F
+:10C1F000020202020202020202020202020202021F
+:10C20000020202020202020202020202020202020E
+:10C2100002020202020202020202020202020202FE
+:10C2200002020202020202020202020202020202EE
+:10C2300002020202020202020202020202020202DE
+:10C2400002020202020202020202020202020202CE
+:10C2500002020202020202020202020202020202BE
+:10C2600002020202020202020202020202020202AE
+:10C27000020202020202020202020202020202029E
+:10C28000020202020202020202020202020202028E
+:10C29000020202020202020202020202020202027E
+:10C2A000020202020202020202020202020202026E
+:10C2B000020202020202020202020202020202025E
+:10C2C000020202020202020202020202020202024E
+:10C2D000020202020202020202020202020202023E
+:10C2E000020202020202020202020202020202022E
+:10C2F000020202020202020202020202020202021E
+:10C30000020202020202020202020202020202020D
+:10C3100002020202020202020202020202020202FD
+:10C3200002020202020202020202020202020202ED
+:10C3300002020202020202020202020202020202DD
+:10C3400002020202020202020202020202020202CD
+:10C3500002020202020202020202020202020202BD
+:10C3600002020202020202020202020202020202AD
+:10C37000020202020202020202020202020202029D
+:10C38000020202020202020202020202020202028D
+:10C39000020202020202020202020202020202027D
+:10C3A000020202020202020202020202020202026D
+:10C3B000020202020202020202020202020202025D
+:10C3C000020202020202020202020202020202024D
+:10C3D000020202020202020202020202020202023D
+:10C3E000020202020202020202020202020202022D
+:10C3F000020202020202020202020202020202021D
+:10C40000020202020202020202020202020202020C
+:10C4100002020202020202020202020202020202FC
+:10C4200002020202020202020202020202020202EC
+:10C4300002020202020202020202020202020202DC
+:10C4400002020202020202020202020202020202CC
+:10C4500002020202020202020202020202020202BC
+:10C4600002020202020202020202020202020202AC
+:10C47000020202020202020202020202020202029C
+:10C48000020202020202020202020202020202028C
+:10C49000020202020202020202020202020202027C
+:10C4A000020202020202020202020202020202026C
+:10C4B000020202020202020202020202020202025C
+:10C4C000020202020202020202020202020202024C
+:10C4D000020202020202020202020202020202023C
+:10C4E000020202020202020202020202020202022C
+:10C4F000020202020202020202020202020202021C
+:10C50000020202020202020202020202020202020B
+:10C5100002020202020202020202020202020202FB
+:10C5200002020202020202020202020202020202EB
+:10C5300002020202020202020202020202020202DB
+:10C5400002020202020202020202020202020202CB
+:10C5500002020202020202020202020202020202BB
+:10C5600002020202020202020202020202020202AB
+:10C57000020202020202020202020202020202029B
+:10C58000020202020202020202020202020202028B
+:10C59000020202020202020202020202020202027B
+:10C5A000020202020202020202020202020202026B
+:10C5B000020202020202020202020202020202025B
+:10C5C000020202020202020202020202020202024B
+:10C5D000020202020202020202020202020202023B
+:10C5E000020202020202020202020202020202022B
+:10C5F000020202020202020202020202020202021B
+:10C60000020202020202020202020202020202020A
+:10C6100002020202020202020202020202020202FA
+:10C6200002020202020202020202020202020202EA
+:10C6300002020202020202020202020202020202DA
+:10C6400002020202020202020202020202020202CA
+:10C6500002020202020202020202020202020202BA
+:10C6600002020202020202020202020202020202AA
+:10C67000020202020202020202020202020202029A
+:10C68000020202020202020202020202020202028A
+:10C69000020202020202020202020202020202027A
+:10C6A000020202020202020202020202020202026A
+:10C6B000020202020202020202020202020202025A
+:10C6C000020202020202020202020202020202024A
+:10C6D000020202020202020202020202020202023A
+:10C6E000020202020202020202020202020202022A
+:10C6F000020202020202020202020202020202021A
+:10C700000202020202020202020202020202020209
+:10C7100002020202020202020202020202020202F9
+:10C7200002020202020202020202020202020202E9
+:10C7300002020202020202020202020202020202D9
+:10C7400002020202020202020202020202020202C9
+:10C7500002020202020202020202020202020202B9
+:10C7600002020202020202020202020202020202A9
+:10C770000202020202020202020202020202020299
+:10C780000202020202020202020202020202020289
+:10C790000202020202020202020202020202020279
+:10C7A0000202020202020202020202020202020269
+:10C7B0000202020202020202020202020202020259
+:10C7C0000202020202020202020202020202020249
+:10C7D0000202020202020202020202020202020239
+:10C7E0000202020202020202020202020202020229
+:10C7F0000202020202020202020202020202020219
+:10C800000202020202020202020202020202020208
+:10C8100002020202020202020202020202020202F8
+:10C8200002020202020202020202020202020202E8
+:10C8300002020202020202020202020202020202D8
+:10C8400002020202020202020202020202020202C8
+:10C8500002020202020202020202020202020202B8
+:10C8600002020202020202020202020202020202A8
+:10C870000202020202020202020202020202020298
+:10C880000202020202020202020202020202020288
+:10C890000202020202020202020202020202020278
+:10C8A0000202020202020202020202020202020268
+:10C8B0000202020202020202020202020202020258
+:10C8C0000202020202020202020202020202020248
+:10C8D0000202020202020202020202020202020238
+:10C8E0000202020202020202020202020202020228
+:10C8F0000202020202020202020202020202020218
+:10C900000202020202020202020202020202020207
+:10C9100002020202020202020202020202020202F7
+:10C9200002020202020202020202020202020202E7
+:10C9300002020202020202020202020202020202D7
+:10C9400002020202020202020202020202020202C7
+:10C9500002020202020202020202020202020202B7
+:10C9600002020202020202020202020202020202A7
+:10C970000202020202020202020202020202020297
+:10C980000202020202020202020202020202020287
+:10C990000202020202020202020202020202020277
+:10C9A0000202020202020202020202020202020267
+:10C9B0000202020202020202020202020202020257
+:10C9C0000202020202020202020202020202020247
+:10C9D0000202020202020202020202020202020237
+:10C9E0000202020202020202020202020202020227
+:10C9F0000202020202020202020202020202020217
+:10CA00000202020202020202020202020202020206
+:10CA100002020202020202020202020202020202F6
+:10CA200002020202020202020202020202020202E6
+:10CA300002020202020202020202020202020202D6
+:10CA400002020202020202020202020202020202C6
+:10CA500002020202020202020202020202020202B6
+:10CA600002020202020202020202020202020202A6
+:10CA70000202020202020202020202020202020296
+:10CA80000202020202020202020202020202020286
+:10CA90000202020202020202020202020202020276
+:10CAA0000202020202020202020202020202020266
+:10CAB0000202020202020202020202020202020256
+:10CAC0000202020202020202020202020202020246
+:10CAD0000202020202020202020202020202020236
+:10CAE0000202020202020202020202020202020226
+:10CAF0000202020202020202020202020202020216
+:10CB00000202020202020202020202020202020205
+:10CB100002020202020202020202020202020202F5
+:10CB200002020202020202020202020202020202E5
+:10CB300002020202020202020202020202020202D5
+:10CB400002020202020202020202020202020202C5
+:10CB500002020202020202020202020202020202B5
+:10CB600002020202020202020202020202020202A5
+:10CB70000202020202020202020202020202020295
+:10CB80000202020202020202020202020202020285
+:10CB90000202020202020202020202020202020275
+:10CBA0000202020202020202020202020202020265
+:10CBB0000202020202020202020202020202020255
+:10CBC0000202020202020202020202020202020245
+:10CBD0000202020202020202020202020202020235
+:10CBE0000202020202020202020202020202020225
+:10CBF0000202020202020202020202020202020215
+:10CC00000202020202020202020202020202020204
+:10CC100002020202020202020202020202020202F4
+:10CC200002020202020202020202020202020202E4
+:10CC300002020202020202020202020202020202D4
+:10CC400002020202020202020202020202020202C4
+:10CC500002020202020202020202020202020202B4
+:10CC600002020202020202020202020202020202A4
+:10CC70000202020202020202020202020202020294
+:10CC80000202020202020202020202020202020284
+:10CC90000202020202020202020202020202020274
+:10CCA0000202020202020202020202020202020264
+:10CCB0000202020202020202020202020202020254
+:10CCC0000202020202020202020202020202020244
+:10CCD0000202020202020202020202020202020234
+:10CCE0000202020202020202020202020202020224
+:10CCF0000202020202020202020202020202020214
+:10CD00000202020202020202020202020202020203
+:10CD100002020202020202020202020202020202F3
+:10CD200002020202020202020202020202020202E3
+:10CD300002020202020202020202020202020202D3
+:10CD400002020202020202020202020202020202C3
+:10CD500002020202020202020202020202020202B3
+:10CD600002020202020202020202020202020202A3
+:10CD70000202020202020202020202020202020293
+:10CD80000202020202020202020202020202020283
+:10CD90000202020202020202020202020202020273
+:10CDA0000202020202020202020202020202020263
+:10CDB0000202020202020202020202020202020253
+:10CDC0000202020202020202020202020202020243
+:10CDD0000202020202020202020202020202020233
+:10CDE0000202020202020202020202020202020223
+:10CDF0000202020202020202020202020202020213
+:10CE00000202020202020202020202020202020202
+:10CE100002020202020202020202020202020202F2
+:10CE200002020202020202020202020202020202E2
+:10CE300002020202020202020202020202020202D2
+:10CE400002020202020202020202020202020202C2
+:10CE500002020202020202020202020202020202B2
+:10CE600002020202020202020202020202020202A2
+:10CE70000202020202020202020202020202020292
+:10CE80000202020202020202020202020202020282
+:10CE90000202020202020202020202020202020272
+:10CEA0000202020202020202020202020202020262
+:10CEB0000202020202020202020202020202020252
+:10CEC0000202020202020202020202020202020242
+:10CED0000202020202020202020202020202020232
+:10CEE0000202020202020202020202020202020222
+:10CEF0000202020202020202020202020202020212
+:10CF00000202020202020202020202020202020201
+:10CF100002020202020202020202020202020202F1
+:10CF200002020202020202020202020202020202E1
+:10CF300002020202020202020202020202020202D1
+:10CF400002020202020202020202020202020202C1
+:10CF500002020202020202020202020202020202B1
+:10CF600002020202020202020202020202020202A1
+:10CF70000202020202020202020202020202020291
+:10CF80000202020202020202020202020202020281
+:10CF90000202020202020202020202020202020271
+:10CFA0000202020202020202020202020202020261
+:10CFB0000202020202020202020202020202020251
+:10CFC0000202020202020202020202020202020241
+:10CFD0000202020202020202020202020202020231
+:10CFE0000202020202020202020202020202020221
+:10CFF0000202020202020202020202020202020211
+:10D000000202020202020202020202020202020200
+:10D0100002020202020202020202020202020202F0
+:10D0200002020202020202000000000000000000F2
+:10D0300000000000000000000000000000000000F0
+:10D0400000000000000000000000000000000000E0
+:10D0500000000000000000000000000000000000D0
+:10D0600000000000000000000000000000000000C0
+:10D0700000000000000000000000000000000000B0
+:10D0800000000000000000000000000000000000A0
+:10D090000000000000000000000000000000000090
+:10D0A0000000000000000000000000000000000080
+:10D0B0000000000000000000000000000000000070
+:10D0C0000000000000000000000000000000000060
+:10D0D0000000000000000000000000000000000050
+:10D0E0000000000000000000000000000000000040
+:10D0F0000000000000000000000000000000000030
+:10D10000000000000000000000000000000000001F
+:10D11000000000000000000000000000000000000F
+:10D12000000000000000005D0000000000000001A1
+:10D1300001010101010101010101010101010101DF
+:10D1400001010101010101010101010101010101CF
+:10D1500001010101010101010101010101010101BF
+:10D1600001010101010101010101010101010101AF
+:10D17000010101010101010101010101010101019F
+:10D18000010101010101010101010101010101018F
+:10D19000010101010101010101010101010101017F
+:10D1A000010101010101010101010101010101016F
+:10D1B000010101010101010101010101010101015F
+:10D1C000010101010101010101010101010101014F
+:10D1D000010101010101010101010101010101013F
+:10D1E000010101010101010101010101010101012F
+:10D1F000010101010101010101010101010101011F
+:10D20000010101010101010101010101010101010E
+:10D2100001010101010101010101010101010101FE
+:10D2200001010101010101010101010101010101EE
+:10D2300001010101010101010101010101010101DE
+:10D2400001010101010101010101010101010101CE
+:10D2500001010101010101010101010101010101BE
+:10D2600001010101010101010101010101010101AE
+:10D27000010101010101010101010101010101019E
+:10D28000010101010101010101010101010101018E
+:10D29000010101010101010101010101010101017E
+:10D2A000010101010101010101010101010101016E
+:10D2B000010101010101010101010101010101015E
+:10D2C000010101010101010101010101010101014E
+:10D2D000010101010101010101010101010101013E
+:10D2E000010101010101010101010101010101012E
+:10D2F000010101010101010101010101010101011E
+:10D30000010101010101010101010101010101010D
+:10D3100001010101010101010101010101010101FD
+:10D3200001010101010101010101010101010101ED
+:10D3300001010101010101010101010101010101DD
+:10D3400001010101010101010101010101010101CD
+:10D3500001010101010101010101010101010101BD
+:10D3600001010101010101010101010101010101AD
+:10D37000010101010101010101010101010101019D
+:10D38000010101010101010101010101010101018D
+:10D39000010101010101010101010101010101017D
+:10D3A000010101010101010101010101010101016D
+:10D3B000010101010101010101010101010101015D
+:10D3C000010101010101010101010101010101014D
+:10D3D000010101010101010101010101010101013D
+:10D3E000010101010101010101010101010101012D
+:10D3F000010101010101010101010101010101011D
+:10D40000010101010101010101010101010101010C
+:10D4100001010101010101010101010101010101FC
+:10D4200001010101010101010101010101010101EC
+:10D4300001010101010101010101010101010101DC
+:10D4400001010101010101010101010101010101CC
+:10D4500001010101010101010101010101010101BC
+:10D4600001010101010101010101010101010101AC
+:10D47000010101010101010101010101010101019C
+:10D48000010101010101010101010101010101018C
+:10D49000010101010101010101010101010101017C
+:10D4A000010101010101010101010101010101016C
+:10D4B000010101010101010101010101010101015C
+:10D4C000010101010101010101010101010101014C
+:10D4D000010101010101010101010101010101013C
+:10D4E000010101010101010101010101010101012C
+:10D4F000010101010101010101010101010101011C
+:10D50000010101010101010101010101010101010B
+:10D5100001010101010101010101010101010101FB
+:10D5200001010101010101010101010101010101EB
+:10D5300001010101010101010101010101010101DB
+:10D5400001010101010101010101010101010101CB
+:10D5500001010101010101010101010101010101BB
+:10D5600001010101010101010101010101010101AB
+:10D57000010101010101010101010101010101019B
+:10D58000010101010101010101010101010101018B
+:10D59000010101010101010101010101010101017B
+:10D5A000010101010101010101010101010101016B
+:10D5B000010101010101010101010101010101015B
+:10D5C000010101010101010101010101010101014B
+:10D5D000010101010101010101010101010101013B
+:10D5E000010101010101010101010101010101012B
+:10D5F000010101010101010101010101010101011B
+:10D60000010101010101010101010101010101010A
+:10D6100001010101010101010101010101010101FA
+:10D6200001010101010101010101010101010101EA
+:10D6300001010101010101010101010101010101DA
+:10D6400001010101010101010101010101010101CA
+:10D6500001010101010101010101010101010101BA
+:10D6600001010101010101010101010101010101AA
+:10D67000010101010101010101010101010101019A
+:10D68000010101010101010101010101010101018A
+:10D69000010101010101010101010101010101017A
+:10D6A000010101010101010101010101010101016A
+:10D6B000010101010101010101010101010101015A
+:10D6C000010101010101010101010101010101014A
+:10D6D000010101010101010101010101010101013A
+:10D6E000010101010101010101010101010101012A
+:10D6F000010101010101010101010101010101011A
+:10D700000101010101010101010101010101010109
+:10D7100001010101010101010101010101010101F9
+:10D7200001010101010101010101010101010101E9
+:10D7300001010101010101010101010101010101D9
+:10D7400001010101010101010101010101010101C9
+:10D7500001010101010101010101010101010101B9
+:10D7600001010101010101010101010101010101A9
+:10D770000101010101010101010101010101010199
+:10D780000101010101010101010101010101010189
+:10D790000101010101010101010101010101010179
+:10D7A0000101010101010101010101010101010169
+:10D7B0000101010101010101010101010101010159
+:10D7C0000101010101010101010101010101010149
+:10D7D0000101010101010101010101010101010139
+:10D7E0000101010101010101010101010101010129
+:10D7F0000101010101010101010101010101010119
+:10D800000101010101010101010101010101010108
+:10D8100001010101010101010101010101010101F8
+:10D8200001010101010101010101010101010101E8
+:10D8300001010101010101010101010101010101D8
+:10D8400001010101010101010101010101010101C8
+:10D8500001010101010101010101010101010101B8
+:10D8600001010101010101010101010101010101A8
+:10D870000101010101010101010101010101010198
+:10D880000101010101010101010101010101010188
+:10D890000101010101010101010101010101010178
+:10D8A0000101010101010101010101010101010168
+:10D8B0000101010101010101010101010101010158
+:10D8C0000101010101010101010101010101010148
+:10D8D0000101010101010101010101010101010138
+:10D8E0000101010101010101010101010101010128
+:10D8F0000101010101010101010101010101010118
+:10D900000101010101010101010101010101010107
+:10D9100001010101010101010101010101010101F7
+:10D9200001010101010101010101010101010101E7
+:10D9300001010101010101010101010101010101D7
+:10D9400001010101010101010101010101010101C7
+:10D9500001010101010101010101010101010101B7
+:10D9600001010101010101010101010101010101A7
+:10D970000101010101010101010101010101010197
+:10D980000101010101010101010101010101010187
+:10D990000101010101010101010101010101010177
+:10D9A0000101010101010101010101010101010167
+:10D9B0000101010101010101010101010101010157
+:10D9C0000101010101010101010101010101010147
+:10D9D0000101010101010101010101010101010137
+:10D9E0000101010101010101010101010101010127
+:10D9F0000101010101010101010101010101010117
+:10DA00000101010101010101010101010101010106
+:10DA100001010101010101010101010101010101F6
+:10DA200001010101010101010101010101010101E6
+:10DA300001010101010101010101010101010101D6
+:10DA400001010101010101010101010101010101C6
+:10DA500001010101010101010101010101010101B6
+:10DA600001010101010101010101010101010101A6
+:10DA70000101010101010101010101010101010196
+:10DA80000101010101010101010101010101010186
+:10DA90000101010101010101010101010101010176
+:10DAA0000101010101010101010101010101010166
+:10DAB0000101010101010101010101010101010156
+:10DAC0000101010101010101010101010101010146
+:10DAD0000101010101010101010101010101010136
+:10DAE0000101010101010101010101010101010126
+:10DAF0000101010101010101010101010101010116
+:10DB00000101010101010101010101010101010105
+:10DB100001010101010101010101010101010101F5
+:10DB200001010101010101010101010101010101E5
+:10DB300001010101010101010101010101010101D5
+:10DB400001010101010101010101010101010101C5
+:10DB500001010101010101010101010101010101B5
+:10DB600001010101010101010101010101010101A5
+:10DB70000101010101010101010101010101010195
+:10DB80000101010101010101010101010101010185
+:10DB90000101010101010101010101010101010175
+:10DBA0000101010101010101010101010101010165
+:10DBB0000101010101010101010101010101010155
+:10DBC0000101010101010101010101010101010145
+:10DBD0000101010101010101010101010101010135
+:10DBE0000101010101010101010101010101010125
+:10DBF0000101010101010101010101010101010115
+:10DC00000101010101010101010101010101010104
+:10DC100001010101010101010101010101010101F4
+:10DC200001010101010101010101010101010101E4
+:10DC300001010101010101010101010101010101D4
+:10DC400001010101010101010101010101010101C4
+:10DC500001010101010101010101010101010101B4
+:10DC600001010101010101010101010101010101A4
+:10DC70000101010101010101010101010101010194
+:10DC80000101010101010101010101010101010184
+:10DC90000101010101010101010101010101010174
+:10DCA0000101010101010101010101010101010164
+:10DCB0000101010101010101010101010101010154
+:10DCC0000101010101010101010101010101010144
+:10DCD0000101010101010101010101010101010134
+:10DCE0000101010101010101010101010101010124
+:10DCF0000101010101010101010101010101010114
+:10DD00000101010101010101010101010101010103
+:10DD100001010101010101010101010101010101F3
+:10DD200001010101010101010101010101010101E3
+:10DD300001010101010101010101010101010101D3
+:10DD400001010101010101010101010101010101C3
+:10DD500001010101010101010101010101010101B3
+:10DD600001010101010101010101010101010101A3
+:10DD70000101010101010101010101010101010193
+:10DD80000101010101010101010101010101010183
+:10DD90000101010101010101010101010101010173
+:10DDA0000101010101010101010101010101010163
+:10DDB0000101010101010101010101010101010153
+:10DDC0000101010101010101010101010101010143
+:10DDD0000101010101010101010101010101010133
+:10DDE0000101010101010101010101010101010123
+:10DDF0000101010101010101010101010101010113
+:10DE00000101010101010101010101010101010102
+:10DE100001010101010101010101010101010101F2
+:10DE200001010101010101010101010101010101E2
+:10DE300001010101010101010101010101010101D2
+:10DE400001010101010101010101010101010101C2
+:10DE500001010101010101010101010101010101B2
+:10DE600001010101010101010101010101010101A2
+:10DE70000101010101010101010101010101010192
+:10DE80000101010101010101010101010101010182
+:10DE90000101010101010101010101010101010172
+:10DEA0000101010101010101010101010101010162
+:10DEB0000101010101010101010101010101010152
+:10DEC0000101010101010101010101010101010142
+:10DED0000101010101010101010101010101010132
+:10DEE0000101010101010101010101010101010122
+:10DEF0000101010101010101010101010101010112
+:10DF00000101010101010101010101010101010101
+:10DF100001010101010101010101010101010101F1
+:10DF200001010101010101010101010101010101E1
+:10DF300001010101010101010101010101010101D1
+:10DF400001010101010101010101010101010101C1
+:10DF500001010101010101010101010101010101B1
+:10DF600001010101010101010101010101010101A1
+:10DF70000101010101010101010101010101010191
+:10DF80000101010101010101010101010101010181
+:10DF90000101010101010101010101010101010171
+:10DFA0000101010101010101010101010101010161
+:10DFB0000101010101010101010101010101010151
+:10DFC0000101010101010101010101010101010141
+:10DFD0000101010101010101010101010101010131
+:10DFE0000101010101010101010101010101010121
+:10DFF0000101010101010101010101010101010111
+:10E000000101010101010101010101010101010100
+:10E0100001010101010101010101010101010101F0
+:10E0200001010101010101010101010101010101E0
+:10E0300001010101010101010101010101010101D0
+:10E0400001010101010101010101010101010101C0
+:10E0500001010101010101010101010101010101B0
+:10E0600001010101010101010101010101010101A0
+:10E070000101010101010101010101010101010190
+:10E080000101010101010101010101010101010180
+:10E090000101010101010101010101010101010170
+:10E0A0000101010101010101010101010101010160
+:10E0B0000101010101010101010101010101010150
+:10E0C0000101010101010101010101010101010140
+:10E0D0000101010101010101010101010101010130
+:10E0E0000101010101010101010101010101010120
+:10E0F0000101010101010101010101010101010110
+:10E1000001010101010101010101010101010101FF
+:10E1100001010101010101010101010101010101EF
+:10E1200001010101010101010101010101010101DF
+:10E1300001010101010101010101010101010101CF
+:10E1400001010101010101010101010101010101BF
+:10E1500001010101010101010101010101010101AF
+:10E16000010101010101010101010101010101019F
+:10E17000010101010101010101010101010101018F
+:10E18000010101010101010101010101010101017F
+:10E19000010101010101010101010101010101016F
+:10E1A000010101010101010101010101010101015F
+:10E1B000010101010101010101010101010101014F
+:10E1C000010101010101010101010101010101013F
+:10E1D000010101010101010101010101010101012F
+:10E1E000010101010101010101010101010101011F
+:10E1F000010101010101010101010101010101010F
+:10E2000001010101010101010101010101010101FE
+:10E2100001010101010101010101010101010101EE
+:10E2200001010101010101010101010101010101DE
+:10E2300001010101010101010101010101010101CE
+:10E2400001010101010101010101010101010101BE
+:10E2500001010101010101010101010101010101AE
+:10E26000010101010101010101010101010101019E
+:10E27000010101010101010101010101010101018E
+:10E28000010101010101010101010101010101017E
+:10E29000010101010101010101010101010101016E
+:10E2A000010101010101010101010101010101015E
+:10E2B000010101010101010101010101010101014E
+:10E2C000010101010101010101010101010101013E
+:10E2D000010101010101010101010101010101012E
+:10E2E000010101010101010101010101010101011E
+:10E2F000010101010101010101010101010101010E
+:10E3000001010101010101010101010101010101FD
+:10E3100001010101010101010101010101010101ED
+:10E3200001010101010101010101010101010101DD
+:10E3300001010101010101010101010101010101CD
+:10E3400001010101010101010101010101010101BD
+:10E3500001010101010101010101010101010101AD
+:10E36000010101010101010101010101010101019D
+:10E37000010101010101010101010101010101018D
+:10E38000010101010101010101010101010101017D
+:10E39000010101010101010101010101010101016D
+:10E3A000010101010101010101010101010101015D
+:10E3B000010101010101010101010101010101014D
+:10E3C000010101010101010101010101010101013D
+:10E3D000010101010101010101010101010101012D
+:10E3E000010101010101010101010101010101011D
+:10E3F000010101010101010101010101010101010D
+:10E4000001010101010101010101010101010101FC
+:10E4100001010101010101010101010101010101EC
+:10E4200001010101010101010101010101010101DC
+:10E4300001010101010101010101010101010101CC
+:10E4400001010101010101010101010101010101BC
+:10E4500001010101010101010101010101010101AC
+:10E46000010101010101010101010101010101019C
+:10E47000010101010101010101010101010101018C
+:10E48000010101010101010101010101010101017C
+:10E49000010101010101010101010101010101016C
+:10E4A000010101010101010101010101010101015C
+:10E4B000010101010101010101010101010101014C
+:10E4C000010101010101010101010101010101013C
+:10E4D000010101010101010101010101010101012C
+:10E4E000010101010101010101010101010101011C
+:10E4F000010101010101010101010101010101010C
+:10E5000001010101010101010101010101010101FB
+:10E5100001010101010101010101010101010101EB
+:10E5200001010101010101010101010101010100DC
+:10E5300000000000000000000000000000000000DB
+:10E5400000000000000000000000000000000000CB
+:10E5500000000000000000000000000000000000BB
+:10E5600000000000000000000000000000000000AB
+:10E57000000000000000000000000000000000009B
+:10E58000000000000000000000000000000000008B
+:10E59000000000000000000000000000000000007B
+:10E5A000000000000000000000000000000000006B
+:10E5B000000000000000000000000000000000005B
+:10E5C000000000000000000000000000000000004B
+:10E5D000000000000000000000000000000000003B
+:10E5E000000000000000000000000000000000002B
+:10E5F000000000000000000000000000000000001B
+:10E60000000000000000000000000000000000000A
+:10E6100000000000000000000000000000000000FA
+:10E6200000000000000000000000000000000000EA
+:10E6300000000000000000000000000000000000DA
+:10E6400000000000000000000000000000000000CA
+:10E6500000000000000000000000000000000000BA
+:10E6600000000000000000000000000000000000AA
+:10E67000000000000000000000000000000000009A
+:10E68000000000000000000000000000000000008A
+:10E69000000000000000000000000000000000007A
+:10E6A000000000000000000000000000000000006A
+:10E6B000000000000000000000000000000000005A
+:10E6C000000000000000000000000000000000004A
+:10E6D000000000000000000000000000000000003A
+:10E6E000000000000000000000000000000000002A
+:10E6F000000000000000000000000000000000001A
+:10E700000000000000000000000000000000000009
+:10E7100000000000000000000000000000000000F9
+:10E7200000000000000000000000000000000000E9
+:10E7300000000000000000000000000000000000D9
+:10E7400000000000000000000000000000000000C9
+:10E7500000000000000000000000000000000000B9
+:10E7600000000000000000000000000000000000A9
+:10E770000000000000000000000000000000000099
+:10E780000000000000000000000000000000000089
+:10E790000000000000000000000000000000000079
+:10E7A0000000000000000000000000000000000069
+:10E7B0000000000000000000000000000000000059
+:10E7C0000000000000000000000000000000000049
+:10E7D0000000000000000000000000000000000039
+:10E7E0000000000000000000000000000000000029
+:10E7F0000000000000000000000000000000000019
+:10E800000000000000000000000000000000000008
+:10E8100000000000000000000000000000000000F8
+:10E8200000000000000000000000000000000000E8
+:10E8300000000000000000000000000000000000D8
+:10E8400000000000000000000000000000000000C8
+:10E8500000000000000000000000000000000000B8
+:10E8600000000000000000000000000000000000A8
+:10E870000000000000000000000000000000000098
+:10E880000000000000000000000000000000000088
+:10E890000000000000000000000000000000000078
+:10E8A0000000000000000000000000000000000068
+:10E8B0000000000000000000000000000000000058
+:10E8C0000000000000000000000000000000000048
+:10E8D0000000000000000000000000000000000038
+:10E8E0000000000000000000000000000000000028
+:10E8F0000000000000000000000000000000000018
+:10E900000000000000000000000000000000000007
+:10E9100000000000000000000000000000000000F7
+:10E9200000000000000000000000000000000002E5
+:10E9300002020202020202020202020202020202B7
+:10E9400002020202020202020202020202020202A7
+:10E950000202020202020202020202020202020297
+:10E960000202020202020202020202020202020287
+:10E970000202020202020202020202020202020277
+:10E980000202020202020202020202020202020267
+:10E990000202020202020202020202020202020257
+:10E9A0000202020202020202020202020202020247
+:10E9B0000202020202020202020202020202020237
+:10E9C0000202020202020202020202020202020227
+:10E9D0000202020202020202020202020202020217
+:10E9E0000202020202020202020202020202020207
+:10E9F00002020202020202020202020202020202F7
+:10EA000002020202020202020202020202020202E6
+:10EA100002020202020202020202020202020202D6
+:10EA200002020202020202020202020202020202C6
+:10EA300002020202020202020202020202020202B6
+:10EA400002020202020202020202020202020202A6
+:10EA50000202020202020202020202020202020296
+:10EA60000202020202020202020202020202020286
+:10EA70000202020202020202020202020202020276
+:10EA80000202020202020202020202020202020266
+:10EA90000202020202020202020202020202020256
+:10EAA0000202020202020202020202020202020246
+:10EAB0000202020202020202020202020202020236
+:10EAC0000202020202020202020202020202020226
+:10EAD0000202020202020202020202020202020216
+:10EAE0000202020202020202020202020202020206
+:10EAF00002020202020202020202020202020202F6
+:10EB000002020202020202020202020202020202E5
+:10EB100002020202020202020202020202020202D5
+:10EB200002020202020202020202020202020202C5
+:10EB300002020202020202020202020202020202B5
+:10EB400002020202020202020202020202020202A5
+:10EB50000202020202020202020202020202020295
+:10EB60000202020202020202020202020202020285
+:10EB70000202020202020202020202020202020275
+:10EB80000202020202020202020202020202020265
+:10EB90000202020202020202020202020202020255
+:10EBA0000202020202020202020202020202020245
+:10EBB0000202020202020202020202020202020235
+:10EBC0000202020202020202020202020202020225
+:10EBD0000202020202020202020202020202020215
+:10EBE0000202020202020202020202020202020205
+:10EBF00002020202020202020202020202020202F5
+:10EC000002020202020202020202020202020202E4
+:10EC100002020202020202020202020202020202D4
+:10EC200002020202020202020202020202020202C4
+:10EC300002020202020202020202020202020202B4
+:10EC400002020202020202020202020202020202A4
+:10EC50000202020202020202020202020202020294
+:10EC60000202020202020202020202020202020284
+:10EC70000202020202020202020202020202020274
+:10EC80000202020202020202020202020202020264
+:10EC90000202020202020202020202020202020254
+:10ECA0000202020202020202020202020202020244
+:10ECB0000202020202020202020202020202020234
+:10ECC0000202020202020202020202020202020224
+:10ECD0000202020202020202020202020202020214
+:10ECE0000202020202020202020202020202020204
+:10ECF00002020202020202020202020202020202F4
+:10ED000002020202020202020202020202020202E3
+:10ED100002020202020202020202020202020202D3
+:10ED200002020202020202020202020202020202C3
+:10ED300002020202020202020202020202020202B3
+:10ED400002020202020202020202020202020202A3
+:10ED50000202020202020202020202020202020293
+:10ED60000202020202020202020202020202020283
+:10ED70000202020202020202020202020202020273
+:10ED80000202020202020202020202020202020263
+:10ED90000202020202020202020202020202020253
+:10EDA0000202020202020202020202020202020243
+:10EDB0000202020202020202020202020202020233
+:10EDC0000202020202020202020202020202020223
+:10EDD0000202020202020202020202020202020213
+:10EDE0000202020202020202020202020202020203
+:10EDF00002020202020202020202020202020202F3
+:10EE000002020202020202020202020202020202E2
+:10EE100002020202020202020202020202020202D2
+:10EE200002020202020202020202020202020202C2
+:10EE300002020202020202020202020202020202B2
+:10EE400002020202020202020202020202020202A2
+:10EE50000202020202020202020202020202020292
+:10EE60000202020202020202020202020202020282
+:10EE70000202020202020202020202020202020272
+:10EE80000202020202020202020202020202020262
+:10EE90000202020202020202020202020202020252
+:10EEA0000202020202020202020202020202020242
+:10EEB0000202020202020202020202020202020232
+:10EEC0000202020202020202020202020202020222
+:10EED0000202020202020202020202020202020212
+:10EEE0000202020202020202020202020202020202
+:10EEF00002020202020202020202020202020202F2
+:10EF000002020202020202020202020202020202E1
+:10EF100002020202020202020202020202020202D1
+:10EF200002020202020202020202020202020202C1
+:10EF300002020202020202020202020202020202B1
+:10EF400002020202020202020202020202020202A1
+:10EF50000202020202020202020202020202020291
+:10EF60000202020202020202020202020202020281
+:10EF70000202020202020202020202020202020271
+:10EF80000202020202020202020202020202020261
+:10EF90000202020202020202020202020202020251
+:10EFA0000202020202020202020202020202020241
+:10EFB0000202020202020202020202020202020231
+:10EFC0000202020202020202020202020202020221
+:10EFD0000202020202020202020202020202020211
+:10EFE0000202020202020202020202020202020201
+:10EFF00002020202020202020202020202020202F1
+:10F0000002020202020202020202020202020202E0
+:10F0100002020202020202020202020202020202D0
+:10F0200002020202020202020202020202020202C0
+:10F0300002020202020202020202020202020202B0
+:10F0400002020202020202020202020202020202A0
+:10F050000202020202020202020202020202020290
+:10F060000202020202020202020202020202020280
+:10F070000202020202020202020202020202020270
+:10F080000202020202020202020202020202020260
+:10F090000202020202020202020202020202020250
+:10F0A0000202020202020202020202020202020240
+:10F0B0000202020202020202020202020202020230
+:10F0C0000202020202020202020202020202020220
+:10F0D0000202020202020202020202020202020210
+:10F0E0000202020202020202020202020202020200
+:10F0F00002020202020202020202020202020202F0
+:10F1000002020202020202020202020202020202DF
+:10F1100002020202020202020202020202020202CF
+:10F1200002020202020202020202020202020202BF
+:10F1300002020202020202020202020202020202AF
+:10F14000020202020202020202020202020202029F
+:10F15000020202020202020202020202020202028F
+:10F16000020202020202020202020202020202027F
+:10F17000020202020202020202020202020202026F
+:10F18000020202020202020202020202020202025F
+:10F19000020202020202020202020202020202024F
+:10F1A000020202020202020202020202020202023F
+:10F1B000020202020202020202020202020202022F
+:10F1C000020202020202020202020202020202021F
+:10F1D000020202020202020202020202020202020F
+:10F1E00002020202020202020202020202020202FF
+:10F1F00002020202020202020202020202020202EF
+:10F2000002020202020202020202020202020202DE
+:10F2100002020202020202020202020202020202CE
+:10F2200002020202020202020202020202020202BE
+:10F2300002020202020202020202020202020202AE
+:10F24000020202020202020202020202020202029E
+:10F25000020202020202020202020202020202028E
+:10F26000020202020202020202020202020202027E
+:10F27000020202020202020202020202020202026E
+:10F28000020202020202020202020202020202025E
+:10F29000020202020202020202020202020202024E
+:10F2A000020202020202020202020202020202023E
+:10F2B000020202020202020202020202020202022E
+:10F2C000020202020202020202020202020202021E
+:10F2D000020202020202020202020202020202020E
+:10F2E00002020202020202020202020202020202FE
+:10F2F00002020202020202020202020202020202EE
+:10F3000002020202020202020202020202020202DD
+:10F3100002020202020202020202020202020202CD
+:10F3200002020202020202020202020202020202BD
+:10F3300002020202020202020202020202020202AD
+:10F34000020202020202020202020202020202029D
+:10F35000020202020202020202020202020202028D
+:10F36000020202020202020202020202020202027D
+:10F37000020202020202020202020202020202026D
+:10F38000020202020202020202020202020202025D
+:10F39000020202020202020202020202020202024D
+:10F3A000020202020202020202020202020202023D
+:10F3B000020202020202020202020202020202022D
+:10F3C000020202020202020202020202020202021D
+:10F3D000020202020202020202020202020202020D
+:10F3E00002020202020202020202020202020202FD
+:10F3F00002020202020202020202020202020202ED
+:10F4000002020202020202020202020202020202DC
+:10F4100002020202020202020202020202020202CC
+:10F4200002020202020202020202020202020202BC
+:10F4300002020202020202020202020202020202AC
+:10F44000020202020202020202020202020202029C
+:10F45000020202020202020202020202020202028C
+:10F46000020202020202020202020202020202027C
+:10F47000020202020202020202020202020202026C
+:10F48000020202020202020202020202020202025C
+:10F49000020202020202020202020202020202024C
+:10F4A000020202020202020202020202020202023C
+:10F4B000020202020202020202020202020202022C
+:10F4C000020202020202020202020202020202021C
+:10F4D000020202020202020202020202020202020C
+:10F4E00002020202020202020202020202020202FC
+:10F4F00002020202020202020202020202020202EC
+:10F5000002020202020202020202020202020202DB
+:10F5100002020202020202020202020202020202CB
+:10F5200002020202020202020202020202020202BB
+:10F5300002020202020202020202020202020202AB
+:10F54000020202020202020202020202020202029B
+:10F55000020202020202020202020202020202028B
+:10F56000020202020202020202020202020202027B
+:10F57000020202020202020202020202020202026B
+:10F58000020202020202020202020202020202025B
+:10F59000020202020202020202020202020202024B
+:10F5A000020202020202020202020202020202023B
+:10F5B000020202020202020202020202020202022B
+:10F5C000020202020202020202020202020202021B
+:10F5D000020202020202020202020202020202020B
+:10F5E00002020202020202020202020202020202FB
+:10F5F00002020202020202020202020202020202EB
+:10F6000002020202020202020202020202020202DA
+:10F6100002020202020202020202020202020202CA
+:10F6200002020202020202020202020202020202BA
+:10F6300002020202020202020202020202020202AA
+:10F64000020202020202020202020202020202029A
+:10F65000020202020202020202020202020202028A
+:10F66000020202020202020202020202020202027A
+:10F67000020202020202020202020202020202026A
+:10F68000020202020202020202020202020202025A
+:10F69000020202020202020202020202020202024A
+:10F6A000020202020202020202020202020202023A
+:10F6B000020202020202020202020202020202022A
+:10F6C000020202020202020202020202020202021A
+:10F6D000020202020202020202020202020202020A
+:10F6E00002020202020202020202020202020202FA
+:10F6F00002020202020202020202020202020202EA
+:10F7000002020202020202020202020202020202D9
+:10F7100002020202020202020202020202020202C9
+:10F7200002020202020202020202020202020202B9
+:10F7300002020202020202020202020202020202A9
+:10F740000202020202020202020202020202020299
+:10F750000202020202020202020202020202020289
+:10F760000202020202020202020202020202020279
+:10F770000202020202020202020202020202020269
+:10F780000202020202020202020202020202020259
+:10F790000202020202020202020202020202020249
+:10F7A0000202020202020202020202020202020239
+:10F7B0000202020202020202020202020202020229
+:10F7C0000202020202020202020202020202020219
+:10F7D0000202020202020202020202020202020209
+:10F7E00002020202020202020202020202020202F9
+:10F7F00002020202020202020202020202020202E9
+:10F8000002020202020202020202020202020202D8
+:10F8100002020202020202020202020202020202C8
+:10F8200002020202020202020202020202020202B8
+:10F8300002020202020202020202020202020202A8
+:10F840000202020202020202020202020202020298
+:10F850000202020202020202020202020202020288
+:10F860000202020202020202020202020202020278
+:10F870000202020202020202020202020202020268
+:10F880000202020202020202020202020202020258
+:10F890000202020202020202020202020202020248
+:10F8A0000202020202020202020202020202020238
+:10F8B0000202020202020202020202020202020228
+:10F8C0000202020202020202020202020202020218
+:10F8D0000202020202020202020202020202020208
+:10F8E00002020202020202020202020202020202F8
+:10F8F00002020202020202020202020202020202E8
+:10F9000002020202020202020202020202020202D7
+:10F9100002020202020202020202020202020202C7
+:10F9200002020202020202020202020202020202B7
+:10F9300002020202020202020202020202020202A7
+:10F940000202020202020202020202020202020297
+:10F950000202020202020202020202020202020287
+:10F960000202020202020202020202020202020277
+:10F970000202020202020202020202020202020267
+:10F980000202020202020202020202020202020257
+:10F990000202020202020202020202020202020247
+:10F9A0000202020202020202020202020202020237
+:10F9B0000202020202020202020202020202020227
+:10F9C0000202020202020202020202020202020217
+:10F9D0000202020202020202020202020202020207
+:10F9E00002020202020202020202020202020202F7
+:10F9F00002020202020202020202020202020202E7
+:10FA000002020202020202020202020202020202D6
+:10FA100002020202020202020202020202020202C6
+:10FA200002020202020202020202020202020202B6
+:10FA300002020202020202020202020202020202A6
+:10FA40000202020202020202020202020202020296
+:10FA50000202020202020202020202020202020286
+:10FA60000202020202020202020202020202020276
+:10FA70000202020202020202020202020202020266
+:10FA80000202020202020202020202020202020256
+:10FA90000202020202020202020202020202020246
+:10FAA0000202020202020202020202020202020236
+:10FAB0000202020202020202020202020202020226
+:10FAC0000202020202020202020202020202020216
+:10FAD0000202020202020202020202020202020206
+:10FAE00002020202020202020202020202020202F6
+:10FAF00002020202020202020202020202020202E6
+:10FB000002020202020202020202020202020202D5
+:10FB100002020202020202020202020202020202C5
+:10FB200002020202020202020202020202020202B5
+:10FB300002020202020202020202020202020202A5
+:10FB40000202020202020202020202020202020295
+:10FB50000202020202020202020202020202020285
+:10FB60000202020202020202020202020202020275
+:10FB70000202020202020202020202020202020265
+:10FB80000202020202020202020202020202020255
+:10FB90000202020202020202020202020202020245
+:10FBA0000202020202020202020202020202020235
+:10FBB0000202020202020202020202020202020225
+:10FBC0000202020202020202020202020202020215
+:10FBD0000202020202020202020202020202020205
+:10FBE00002020202020202020202020202020202F5
+:10FBF00002020202020202020202020202020202E5
+:10FC000002020202020202020202020202020202D4
+:10FC100002020202020202020202020202020202C4
+:10FC200002020202020202020202020202020202B4
+:10FC300002020202020202020202020202020202A4
+:10FC40000202020202020202020202020202020294
+:10FC50000202020202020202020202020202020284
+:10FC60000202020202020202020202020202020274
+:10FC70000202020202020202020202020202020264
+:10FC80000202020202020202020202020202020254
+:10FC90000202020202020202020202020202020244
+:10FCA0000202020202020202020202020202020234
+:10FCB0000202020202020202020202020202020224
+:10FCC0000202020202020202020202020202020214
+:10FCD0000202020202020202020202020202020204
+:10FCE00002020202020202020202020202020202F4
+:10FCF00002020202020202020202020202020202E4
+:10FD000002020202020202020202020202020202D3
+:10FD100002020202020202020202020202020202C3
+:10FD200002020202020202020202020202020200B5
+:10FD300000000000000000000000000000000000C3
+:10FD400000000000000000000000000000000000B3
+:10FD500000000000000000000000000000000000A3
+:10FD60000000000000000000000000000000000093
+:10FD70000000000000000000000000000000000083
+:10FD80000000000000000000000000000000000073
+:10FD90000000000000000000000000000000000063
+:10FDA0000000000000000000000000000000000053
+:10FDB0000000000000000000000000000000000043
+:10FDC0000000000000000000000000000000000033
+:10FDD0000000000000000000000000000000000023
+:10FDE0000000000000000000000000000000000013
+:10FDF0000000000000000000000000000000000003
+:10FE000000000000000000000000000000000000F2
+:10FE100000000000000000000000000000000000E2
+:10FE200000000000000000000000000000000000D2
+:10FE300000000000000000000000000000000000C2
+:10FE400000000000000000000000000000000000B2
+:10FE500000000000000000000000000000000000A2
+:10FE60000000000000000000000000000000000092
+:10FE70000000000000000000000000000000000082
+:10FE80000000000000000000000000000000000072
+:10FE90000000000000000000000000000000000062
+:10FEA0000000000000000000000000000000000052
+:10FEB0000000000000000000000000000000000042
+:10FEC0000000000000000000000000000000000032
+:10FED0000000000000000000000000000000000022
+:10FEE0000000000000000000000000000000000012
+:10FEF0000000000000000000000000000000000002
+:10FF000000000000000000000000000000000000F1
+:10FF100000000000000000000000000000000000E1
+:10FF200000000000000000000000000000000000D1
+:10FF300000000000000000000000000000000000C1
+:10FF400000000000000000000000000000000000B1
+:10FF500000000000000000000000000000000000A1
+:10FF60000000000000000000000000000000000091
+:10FF70000000000000000000000000000000000081
+:10FF80000000000000000000000000000000000071
+:10FF90000000000000000000000000000000000061
+:10FFA0000000000000000000000000000000000051
+:10FFB0000000000000000000000000000000000041
+:10FFC0000000000000000000000000000000000031
+:10FFD0000000000000000000000000000000000021
+:10FFE0000000000000000000000000000000000011
+:10FFF0000000000000000000000000000000000001
+:0200000260009C
+:1000000000000000000000000000000000000000F0
+:1000100000000000000000000000000000000000E0
+:1000200000000000000000000000000000000000D0
+:1000300000000000000000000000000000000000C0
+:1000400000000000000000000000000000000000B0
+:1000500000000000000000000000000000000000A0
+:100060000000000000000000000000000000000090
+:100070000000000000000000000000000000000080
+:100080000000000000000000000000000000000070
+:100090000000000000000000000000000000000060
+:1000A0000000000000000000000000000000000050
+:1000B0000000000000000000000000000000000040
+:1000C0000000000000000000000000000000000030
+:1000D0000000000000000000000000000000000020
+:1000E0000000000000000000000000000000000010
+:1000F0000000000000000000000000000000000000
+:1001000000000000000000000000000000000000EF
+:1001100000000000000000000000000000000000DF
+:1001200000000000000000000000000000000001CE
+:1001300001010101010101010101010101010101AF
+:10014000010101010101010101010101010101019F
+:10015000010101010101010101010101010101018F
+:10016000010101010101010101010101010101017F
+:10017000010101010101010101010101010101016F
+:10018000010101010101010101010101010101015F
+:10019000010101010101010101010101010101014F
+:1001A000010101010101010101010101010101013F
+:1001B000010101010101010101010101010101012F
+:1001C000010101010101010101010101010101011F
+:1001D000010101010101010101010101010101010F
+:1001E00001010101010101010101010101010101FF
+:1001F00001010101010101010101010101010101EF
+:1002000001010101010101010101010101010101DE
+:1002100001010101010101010101010101010101CE
+:1002200001010101010101010101010101010101BE
+:1002300001010101010101010101010101010101AE
+:10024000010101010101010101010101010101019E
+:10025000010101010101010101010101010101018E
+:10026000010101010101010101010101010101017E
+:10027000010101010101010101010101010101016E
+:10028000010101010101010101010101010101015E
+:10029000010101010101010101010101010101014E
+:1002A000010101010101010101010101010101013E
+:1002B000010101010101010101010101010101012E
+:1002C000010101010101010101010101010101011E
+:1002D000010101010101010101010101010101010E
+:1002E00001010101010101010101010101010101FE
+:1002F00001010101010101010101010101010101EE
+:1003000001010101010101010101010101010101DD
+:1003100001010101010101010101010101010101CD
+:1003200001010101010101010101010101010101BD
+:1003300001010101010101010101010101010101AD
+:10034000010101010101010101010101010101019D
+:10035000010101010101010101010101010101018D
+:10036000010101010101010101010101010101017D
+:10037000010101010101010101010101010101016D
+:10038000010101010101010101010101010101015D
+:10039000010101010101010101010101010101014D
+:1003A000010101010101010101010101010101013D
+:1003B000010101010101010101010101010101012D
+:1003C000010101010101010101010101010101011D
+:1003D000010101010101010101010101010101010D
+:1003E00001010101010101010101010101010101FD
+:1003F00001010101010101010101010101010101ED
+:1004000001010101010101010101010101010101DC
+:1004100001010101010101010101010101010101CC
+:1004200001010101010101010101010101010101BC
+:1004300001010101010101010101010101010101AC
+:10044000010101010101010101010101010101019C
+:10045000010101010101010101010101010101018C
+:10046000010101010101010101010101010101017C
+:10047000010101010101010101010101010101016C
+:10048000010101010101010101010101010101015C
+:10049000010101010101010101010101010101014C
+:1004A000010101010101010101010101010101013C
+:1004B000010101010101010101010101010101012C
+:1004C000010101010101010101010101010101011C
+:1004D000010101010101010101010101010101010C
+:1004E00001010101010101010101010101010101FC
+:1004F00001010101010101010101010101010101EC
+:1005000001010101010101010101010101010101DB
+:1005100001010101010101010101010101010101CB
+:1005200001010101010101010101010101010101BB
+:1005300001010101010101010101010101010101AB
+:10054000010101010101010101010101010101019B
+:10055000010101010101010101010101010101018B
+:10056000010101010101010101010101010101017B
+:10057000010101010101010101010101010101016B
+:10058000010101010101010101010101010101015B
+:10059000010101010101010101010101010101014B
+:1005A000010101010101010101010101010101013B
+:1005B000010101010101010101010101010101012B
+:1005C000010101010101010101010101010101011B
+:1005D000010101010101010101010101010101010B
+:1005E00001010101010101010101010101010101FB
+:1005F00001010101010101010101010101010101EB
+:1006000001010101010101010101010101010101DA
+:1006100001010101010101010101010101010101CA
+:1006200001010101010101010101010101010101BA
+:1006300001010101010101010101010101010101AA
+:10064000010101010101010101010101010101019A
+:10065000010101010101010101010101010101018A
+:10066000010101010101010101010101010101017A
+:10067000010101010101010101010101010101016A
+:10068000010101010101010101010101010101015A
+:10069000010101010101010101010101010101014A
+:1006A000010101010101010101010101010101013A
+:1006B000010101010101010101010101010101012A
+:1006C000010101010101010101010101010101011A
+:1006D000010101010101010101010101010101010A
+:1006E00001010101010101010101010101010101FA
+:1006F00001010101010101010101010101010101EA
+:1007000001010101010101010101010101010101D9
+:1007100001010101010101010101010101010101C9
+:1007200001010101010101010101010101010101B9
+:1007300001010101010101010101010101010101A9
+:100740000101010101010101010101010101010199
+:100750000101010101010101010101010101010189
+:100760000101010101010101010101010101010179
+:100770000101010101010101010101010101010169
+:100780000101010101010101010101010101010159
+:100790000101010101010101010101010101010149
+:1007A0000101010101010101010101010101010139
+:1007B0000101010101010101010101010101010129
+:1007C0000101010101010101010101010101010119
+:1007D0000101010101010101010101010101010109
+:1007E00001010101010101010101010101010101F9
+:1007F00001010101010101010101010101010101E9
+:1008000001010101010101010101010101010101D8
+:1008100001010101010101010101010101010101C8
+:1008200001010101010101010101010101010101B8
+:1008300001010101010101010101010101010101A8
+:100840000101010101010101010101010101010198
+:100850000101010101010101010101010101010188
+:100860000101010101010101010101010101010178
+:100870000101010101010101010101010101010168
+:100880000101010101010101010101010101010158
+:100890000101010101010101010101010101010148
+:1008A0000101010101010101010101010101010138
+:1008B0000101010101010101010101010101010128
+:1008C0000101010101010101010101010101010118
+:1008D0000101010101010101010101010101010108
+:1008E00001010101010101010101010101010101F8
+:1008F00001010101010101010101010101010101E8
+:1009000001010101010101010101010101010101D7
+:1009100001010101010101010101010101010101C7
+:1009200001010101010101010101010101010101B7
+:1009300001010101010101010101010101010101A7
+:100940000101010101010101010101010101010197
+:100950000101010101010101010101010101010187
+:100960000101010101010101010101010101010177
+:100970000101010101010101010101010101010167
+:100980000101010101010101010101010101010157
+:100990000101010101010101010101010101010147
+:1009A0000101010101010101010101010101010137
+:1009B0000101010101010101010101010101010127
+:1009C0000101010101010101010101010101010117
+:1009D0000101010101010101010101010101010107
+:1009E00001010101010101010101010101010101F7
+:1009F00001010101010101010101010101010101E7
+:100A000001010101010101010101010101010101D6
+:100A100001010101010101010101010101010101C6
+:100A200001010101010101010101010101010101B6
+:100A300001010101010101010101010101010101A6
+:100A40000101010101010101010101010101010196
+:100A50000101010101010101010101010101010186
+:100A60000101010101010101010101010101010176
+:100A70000101010101010101010101010101010166
+:100A80000101010101010101010101010101010156
+:100A90000101010101010101010101010101010146
+:100AA0000101010101010101010101010101010136
+:100AB0000101010101010101010101010101010126
+:100AC0000101010101010101010101010101010116
+:100AD0000101010101010101010101010101010106
+:100AE00001010101010101010101010101010101F6
+:100AF00001010101010101010101010101010101E6
+:100B000001010101010101010101010101010101D5
+:100B100001010101010101010101010101010101C5
+:100B200001010101010101010101010101010101B5
+:100B300001010101010101010101010101010101A5
+:100B40000101010101010101010101010101010195
+:100B50000101010101010101010101010101010185
+:100B60000101010101010101010101010101010175
+:100B70000101010101010101010101010101010165
+:100B80000101010101010101010101010101010155
+:100B90000101010101010101010101010101010145
+:100BA0000101010101010101010101010101010135
+:100BB0000101010101010101010101010101010125
+:100BC0000101010101010101010101010101010115
+:100BD0000101010101010101010101010101010105
+:100BE00001010101010101010101010101010101F5
+:100BF00001010101010101010101010101010101E5
+:100C000001010101010101010101010101010101D4
+:100C100001010101010101010101010101010101C4
+:100C200001010101010101010101010101010101B4
+:100C300001010101010101010101010101010101A4
+:100C40000101010101010101010101010101010194
+:100C50000101010101010101010101010101010184
+:100C60000101010101010101010101010101010174
+:100C70000101010101010101010101010101010164
+:100C80000101010101010101010101010101010154
+:100C90000101010101010101010101010101010144
+:100CA0000101010101010101010101010101010134
+:100CB0000101010101010101010101010101010124
+:100CC0000101010101010101010101010101010114
+:100CD0000101010101010101010101010101010104
+:100CE00001010101010101010101010101010101F4
+:100CF00001010101010101010101010101010101E4
+:100D000001010101010101010101010101010101D3
+:100D100001010101010101010101010101010101C3
+:100D200001010101010101010101010101010101B3
+:100D300001010101010101010101010101010101A3
+:100D40000101010101010101010101010101010193
+:100D50000101010101010101010101010101010183
+:100D60000101010101010101010101010101010173
+:100D70000101010101010101010101010101010163
+:100D80000101010101010101010101010101010153
+:100D90000101010101010101010101010101010143
+:100DA0000101010101010101010101010101010133
+:100DB0000101010101010101010101010101010123
+:100DC0000101010101010101010101010101010113
+:100DD0000101010101010101010101010101010103
+:100DE00001010101010101010101010101010101F3
+:100DF00001010101010101010101010101010101E3
+:100E000001010101010101010101010101010101D2
+:100E100001010101010101010101010101010101C2
+:100E200001010101010101010101010101010101B2
+:100E300001010101010101010101010101010101A2
+:100E40000101010101010101010101010101010192
+:100E50000101010101010101010101010101010182
+:100E60000101010101010101010101010101010172
+:100E70000101010101010101010101010101010162
+:100E80000101010101010101010101010101010152
+:100E90000101010101010101010101010101010142
+:100EA0000101010101010101010101010101010132
+:100EB0000101010101010101010101010101010122
+:100EC0000101010101010101010101010101010112
+:100ED0000101010101010101010101010101010102
+:100EE00001010101010101010101010101010101F2
+:100EF00001010101010101010101010101010101E2
+:100F000001010101010101010101010101010101D1
+:100F100001010101010101010101010101010101C1
+:100F200001010101010101010101010101010101B1
+:100F300001010101010101010101010101010101A1
+:100F40000101010101010101010101010101010191
+:100F50000101010101010101010101010101010181
+:100F60000101010101010101010101010101010171
+:100F70000101010101010101010101010101010161
+:100F80000101010101010101010101010101010151
+:100F90000101010101010101010101010101010141
+:100FA0000101010101010101010101010101010131
+:100FB0000101010101010101010101010101010121
+:100FC0000101010101010101010101010101010111
+:100FD0000101010101010101010101010101010101
+:100FE00001010101010101010101010101010101F1
+:100FF00001010101010101010101010101010101E1
+:1010000001010101010101010101010101010101D0
+:1010100001010101010101010101010101010101C0
+:1010200001010101010101010101010101010101B0
+:1010300001010101010101010101010101010101A0
+:101040000101010101010101010101010101010190
+:101050000101010101010101010101010101010180
+:101060000101010101010101010101010101010170
+:101070000101010101010101010101010101010160
+:101080000101010101010101010101010101010150
+:101090000101010101010101010101010101010140
+:1010A0000101010101010101010101010101010130
+:1010B0000101010101010101010101010101010120
+:1010C0000101010101010101010101010101010110
+:1010D0000101010101010101010101010101010100
+:1010E00001010101010101010101010101010101F0
+:1010F00001010101010101010101010101010101E0
+:1011000001010101010101010101010101010101CF
+:1011100001010101010101010101010101010101BF
+:1011200001010101010101010101010101010101AF
+:10113000010101010101010101010101010101019F
+:10114000010101010101010101010101010101018F
+:10115000010101010101010101010101010101017F
+:10116000010101010101010101010101010101016F
+:10117000010101010101010101010101010101015F
+:10118000010101010101010101010101010101014F
+:10119000010101010101010101010101010101013F
+:1011A000010101010101010101010101010101012F
+:1011B000010101010101010101010101010101011F
+:1011C000010101010101010101010101010101010F
+:1011D00001010101010101010101010101010101FF
+:1011E00001010101010101010101010101010101EF
+:1011F00001010101010101010101010101010101DF
+:1012000001010101010101010101010101010101CE
+:1012100001010101010101010101010101010101BE
+:1012200001010101010101010101010101010101AE
+:10123000010101010101010101010101010101019E
+:10124000010101010101010101010101010101018E
+:10125000010101010101010101010101010101017E
+:10126000010101010101010101010101010101016E
+:10127000010101010101010101010101010101015E
+:10128000010101010101010101010101010101014E
+:10129000010101010101010101010101010101013E
+:1012A000010101010101010101010101010101012E
+:1012B000010101010101010101010101010101011E
+:1012C000010101010101010101010101010101010E
+:1012D00001010101010101010101010101010101FE
+:1012E00001010101010101010101010101010101EE
+:1012F00001010101010101010101010101010101DE
+:1013000001010101010101010101010101010101CD
+:1013100001010101010101010101010101010101BD
+:1013200001010101010101010101010101010101AD
+:10133000010101010101010101010101010101019D
+:10134000010101010101010101010101010101018D
+:10135000010101010101010101010101010101017D
+:10136000010101010101010101010101010101016D
+:10137000010101010101010101010101010101015D
+:10138000010101010101010101010101010101014D
+:10139000010101010101010101010101010101013D
+:1013A000010101010101010101010101010101012D
+:1013B000010101010101010101010101010101011D
+:1013C000010101010101010101010101010101010D
+:1013D00001010101010101010101010101010101FD
+:1013E00001010101010101010101010101010101ED
+:1013F00001010101010101010101010101010101DD
+:1014000001010101010101010101010101010101CC
+:1014100001010101010101010101010101010101BC
+:1014200001010101010101010101010101010101AC
+:10143000010101010101010101010101010101019C
+:10144000010101010101010101010101010101018C
+:10145000010101010101010101010101010101017C
+:10146000010101010101010101010101010101016C
+:10147000010101010101010101010101010101015C
+:10148000010101010101010101010101010101014C
+:10149000010101010101010101010101010101013C
+:1014A000010101010101010101010101010101012C
+:1014B000010101010101010101010101010101011C
+:1014C000010101010101010101010101010101010C
+:1014D00001010101010101010101010101010101FC
+:1014E00001010101010101010101010101010101EC
+:1014F00001010101010101010101010101010101DC
+:1015000001010101010101010101010101010101CB
+:1015100001010101010101010101010101010101BB
+:1015200001010101010101010101010101010100AC
+:1015300000000000000000000000000000000000AB
+:10154000000000000000000000000000000000009B
+:10155000000000000000000000000000000000008B
+:10156000000000000000000000000000000000007B
+:10157000000000000000000000000000000000006B
+:10158000000000000000000000000000000000005B
+:10159000000000000000000000000000000000004B
+:1015A000000000000000000000000000000000003B
+:1015B000000000000000000000000000000000002B
+:1015C000000000000000000000000000000000001B
+:1015D000000000000000000000000000000000000B
+:1015E00000000000000000000000000000000000FB
+:1015F00000000000000000000000000000000000EB
+:1016000000000000000000000000000000000000DA
+:1016100000000000000000000000000000000000CA
+:1016200000000000000000000000000000000000BA
+:1016300000000000000000000000000000000000AA
+:10164000000000000000000000000000000000009A
+:10165000000000000000000000000000000000008A
+:10166000000000000000000000000000000000007A
+:10167000000000000000000000000000000000006A
+:10168000000000000000000000000000000000005A
+:10169000000000000000000000000000000000004A
+:1016A000000000000000000000000000000000003A
+:1016B000000000000000000000000000000000002A
+:1016C000000000000000000000000000000000001A
+:1016D000000000000000000000000000000000000A
+:1016E00000000000000000000000000000000000FA
+:1016F00000000000000000000000000000000000EA
+:1017000000000000000000000000000000000000D9
+:1017100000000000000000000000000000000000C9
+:1017200000000000000000000000000000000000B9
+:1017300000000000000000000000000000000000A9
+:101740000000000000000000000000000000000099
+:101750000000000000000000000000000000000089
+:101760000000000000000000000000000000000079
+:101770000000000000000000000000000000000069
+:101780000000000000000000000000000000000059
+:101790000000000000000000000000000000000049
+:1017A0000000000000000000000000000000000039
+:1017B0000000000000000000000000000000000029
+:1017C0000000000000000000000000000000000019
+:1017D0000000000000000000000000000000000009
+:1017E00000000000000000000000000000000000F9
+:1017F00000000000000000000000000000000000E9
+:1018000000000000000000000000000000000000D8
+:1018100000000000000000000000000000000000C8
+:1018200000000000000000000000000000000000B8
+:1018300000000000000000000000000000000000A8
+:101840000000000000000000000000000000000098
+:101850000000000000000000000000000000000088
+:101860000000000000000000000000000000000078
+:101870000000000000000000000000000000000068
+:101880000000000000000000000000000000000058
+:101890000000000000000000000000000000000048
+:1018A0000000000000000000000000000000000038
+:1018B0000000000000000000000000000000000028
+:1018C0000000000000000000000000000000000018
+:1018D0000000000000000000000000000000000008
+:1018E00000000000000000000000000000000000F8
+:1018F00000000000000000000000000000000000E8
+:1019000000000000000000000000000000000000D7
+:1019100000000000000000000000000000000000C7
+:1019200000000000000000000000000000000002B5
+:101930000202020202020202020202020202020287
+:101940000202020202020202020202020202020277
+:101950000202020202020202020202020202020267
+:101960000202020202020202020202020202020257
+:101970000202020202020202020202020202020247
+:101980000202020202020202020202020202020237
+:101990000202020202020202020202020202020227
+:1019A0000202020202020202020202020202020217
+:1019B0000202020202020202020202020202020207
+:1019C00002020202020202020202020202020202F7
+:1019D00002020202020202020202020202020202E7
+:1019E00002020202020202020202020202020202D7
+:1019F00002020202020202020202020202020202C7
+:101A000002020202020202020202020202020202B6
+:101A100002020202020202020202020202020202A6
+:101A20000202020202020202020202020202020296
+:101A30000202020202020202020202020202020286
+:101A40000202020202020202020202020202020276
+:101A50000202020202020202020202020202020266
+:101A60000202020202020202020202020202020256
+:101A70000202020202020202020202020202020246
+:101A80000202020202020202020202020202020236
+:101A90000202020202020202020202020202020226
+:101AA0000202020202020202020202020202020216
+:101AB0000202020202020202020202020202020206
+:101AC00002020202020202020202020202020202F6
+:101AD00002020202020202020202020202020202E6
+:101AE00002020202020202020202020202020202D6
+:101AF00002020202020202020202020202020202C6
+:101B000002020202020202020202020202020202B5
+:101B100002020202020202020202020202020202A5
+:101B20000202020202020202020202020202020295
+:101B30000202020202020202020202020202020285
+:101B40000202020202020202020202020202020275
+:101B50000202020202020202020202020202020265
+:101B60000202020202020202020202020202020255
+:101B70000202020202020202020202020202020245
+:101B80000202020202020202020202020202020235
+:101B90000202020202020202020202020202020225
+:101BA0000202020202020202020202020202020215
+:101BB0000202020202020202020202020202020205
+:101BC00002020202020202020202020202020202F5
+:101BD00002020202020202020202020202020202E5
+:101BE00002020202020202020202020202020202D5
+:101BF00002020202020202020202020202020202C5
+:101C000002020202020202020202020202020202B4
+:101C100002020202020202020202020202020202A4
+:101C20000202020202020202020202020202020294
+:101C30000202020202020202020202020202020284
+:101C40000202020202020202020202020202020274
+:101C50000202020202020202020202020202020264
+:101C60000202020202020202020202020202020254
+:101C70000202020202020202020202020202020244
+:101C80000202020202020202020202020202020234
+:101C90000202020202020202020202020202020224
+:101CA0000202020202020202020202020202020214
+:101CB0000202020202020202020202020202020204
+:101CC00002020202020202020202020202020202F4
+:101CD00002020202020202020202020202020202E4
+:101CE00002020202020202020202020202020202D4
+:101CF00002020202020202020202020202020202C4
+:101D000002020202020202020202020202020202B3
+:101D100002020202020202020202020202020202A3
+:101D20000202020202020202020202020202020293
+:101D30000202020202020202020202020202020283
+:101D40000202020202020202020202020202020273
+:101D50000202020202020202020202020202020263
+:101D60000202020202020202020202020202020253
+:101D70000202020202020202020202020202020243
+:101D80000202020202020202020202020202020233
+:101D90000202020202020202020202020202020223
+:101DA0000202020202020202020202020202020213
+:101DB0000202020202020202020202020202020203
+:101DC00002020202020202020202020202020202F3
+:101DD00002020202020202020202020202020202E3
+:101DE00002020202020202020202020202020202D3
+:101DF00002020202020202020202020202020202C3
+:101E000002020202020202020202020202020202B2
+:101E100002020202020202020202020202020202A2
+:101E20000202020202020202020202020202020292
+:101E30000202020202020202020202020202020282
+:101E40000202020202020202020202020202020272
+:101E50000202020202020202020202020202020262
+:101E60000202020202020202020202020202020252
+:101E70000202020202020202020202020202020242
+:101E80000202020202020202020202020202020232
+:101E90000202020202020202020202020202020222
+:101EA0000202020202020202020202020202020212
+:101EB0000202020202020202020202020202020202
+:101EC00002020202020202020202020202020202F2
+:101ED00002020202020202020202020202020202E2
+:101EE00002020202020202020202020202020202D2
+:101EF00002020202020202020202020202020202C2
+:101F000002020202020202020202020202020202B1
+:101F100002020202020202020202020202020202A1
+:101F20000202020202020202020202020202020291
+:101F30000202020202020202020202020202020281
+:101F40000202020202020202020202020202020271
+:101F50000202020202020202020202020202020261
+:101F60000202020202020202020202020202020251
+:101F70000202020202020202020202020202020241
+:101F80000202020202020202020202020202020231
+:101F90000202020202020202020202020202020221
+:101FA0000202020202020202020202020202020211
+:101FB0000202020202020202020202020202020201
+:101FC00002020202020202020202020202020202F1
+:101FD00002020202020202020202020202020202E1
+:101FE00002020202020202020202020202020202D1
+:101FF00002020202020202020202020202020202C1
+:1020000002020202020202020202020202020202B0
+:1020100002020202020202020202020202020202A0
+:102020000202020202020202020202020202020290
+:102030000202020202020202020202020202020280
+:102040000202020202020202020202020202020270
+:102050000202020202020202020202020202020260
+:102060000202020202020202020202020202020250
+:102070000202020202020202020202020202020240
+:102080000202020202020202020202020202020230
+:102090000202020202020202020202020202020220
+:1020A0000202020202020202020202020202020210
+:1020B0000202020202020202020202020202020200
+:1020C00002020202020202020202020202020202F0
+:1020D00002020202020202020202020202020202E0
+:1020E00002020202020202020202020202020202D0
+:1020F00002020202020202020202020202020202C0
+:1021000002020202020202020202020202020202AF
+:10211000020202020202020202020202020202029F
+:10212000020202020202020202020202020202028F
+:10213000020202020202020202020202020202027F
+:10214000020202020202020202020202020202026F
+:10215000020202020202020202020202020202025F
+:10216000020202020202020202020202020202024F
+:10217000020202020202020202020202020202023F
+:10218000020202020202020202020202020202022F
+:10219000020202020202020202020202020202021F
+:1021A000020202020202020202020202020202020F
+:1021B00002020202020202020202020202020202FF
+:1021C00002020202020202020202020202020202EF
+:1021D00002020202020202020202020202020202DF
+:1021E00002020202020202020202020202020202CF
+:1021F00002020202020202020202020202020202BF
+:1022000002020202020202020202020202020202AE
+:10221000020202020202020202020202020202029E
+:10222000020202020202020202020202020202028E
+:10223000020202020202020202020202020202027E
+:10224000020202020202020202020202020202026E
+:10225000020202020202020202020202020202025E
+:10226000020202020202020202020202020202024E
+:10227000020202020202020202020202020202023E
+:10228000020202020202020202020202020202022E
+:10229000020202020202020202020202020202021E
+:1022A000020202020202020202020202020202020E
+:1022B00002020202020202020202020202020202FE
+:1022C00002020202020202020202020202020202EE
+:1022D00002020202020202020202020202020202DE
+:1022E00002020202020202020202020202020202CE
+:1022F00002020202020202020202020202020202BE
+:1023000002020202020202020202020202020202AD
+:10231000020202020202020202020202020202029D
+:10232000020202020202020202020202020202028D
+:10233000020202020202020202020202020202027D
+:10234000020202020202020202020202020202026D
+:10235000020202020202020202020202020202025D
+:10236000020202020202020202020202020202024D
+:10237000020202020202020202020202020202023D
+:10238000020202020202020202020202020202022D
+:10239000020202020202020202020202020202021D
+:1023A000020202020202020202020202020202020D
+:1023B00002020202020202020202020202020202FD
+:1023C00002020202020202020202020202020202ED
+:1023D00002020202020202020202020202020202DD
+:1023E00002020202020202020202020202020202CD
+:1023F00002020202020202020202020202020202BD
+:1024000002020202020202020202020202020202AC
+:10241000020202020202020202020202020202029C
+:10242000020202020202020202020202020202028C
+:10243000020202020202020202020202020202027C
+:10244000020202020202020202020202020202026C
+:10245000020202020202020202020202020202025C
+:10246000020202020202020202020202020202024C
+:10247000020202020202020202020202020202023C
+:10248000020202020202020202020202020202022C
+:10249000020202020202020202020202020202021C
+:1024A000020202020202020202020202020202020C
+:1024B00002020202020202020202020202020202FC
+:1024C00002020202020202020202020202020202EC
+:1024D00002020202020202020202020202020202DC
+:1024E00002020202020202020202020202020202CC
+:1024F00002020202020202020202020202020202BC
+:1025000002020202020202020202020202020202AB
+:10251000020202020202020202020202020202029B
+:10252000020202020202020202020202020202028B
+:10253000020202020202020202020202020202027B
+:10254000020202020202020202020202020202026B
+:10255000020202020202020202020202020202025B
+:10256000020202020202020202020202020202024B
+:10257000020202020202020202020202020202023B
+:10258000020202020202020202020202020202022B
+:10259000020202020202020202020202020202021B
+:1025A000020202020202020202020202020202020B
+:1025B00002020202020202020202020202020202FB
+:1025C00002020202020202020202020202020202EB
+:1025D00002020202020202020202020202020202DB
+:1025E00002020202020202020202020202020202CB
+:1025F00002020202020202020202020202020202BB
+:1026000002020202020202020202020202020202AA
+:10261000020202020202020202020202020202029A
+:10262000020202020202020202020202020202028A
+:10263000020202020202020202020202020202027A
+:10264000020202020202020202020202020202026A
+:10265000020202020202020202020202020202025A
+:10266000020202020202020202020202020202024A
+:10267000020202020202020202020202020202023A
+:10268000020202020202020202020202020202022A
+:10269000020202020202020202020202020202021A
+:1026A000020202020202020202020202020202020A
+:1026B00002020202020202020202020202020202FA
+:1026C00002020202020202020202020202020202EA
+:1026D00002020202020202020202020202020202DA
+:1026E00002020202020202020202020202020202CA
+:1026F00002020202020202020202020202020202BA
+:1027000002020202020202020202020202020202A9
+:102710000202020202020202020202020202020299
+:102720000202020202020202020202020202020289
+:102730000202020202020202020202020202020279
+:102740000202020202020202020202020202020269
+:102750000202020202020202020202020202020259
+:102760000202020202020202020202020202020249
+:102770000202020202020202020202020202020239
+:102780000202020202020202020202020202020229
+:102790000202020202020202020202020202020219
+:1027A0000202020202020202020202020202020209
+:1027B00002020202020202020202020202020202F9
+:1027C00002020202020202020202020202020202E9
+:1027D00002020202020202020202020202020202D9
+:1027E00002020202020202020202020202020202C9
+:1027F00002020202020202020202020202020202B9
+:1028000002020202020202020202020202020202A8
+:102810000202020202020202020202020202020298
+:102820000202020202020202020202020202020288
+:102830000202020202020202020202020202020278
+:102840000202020202020202020202020202020268
+:102850000202020202020202020202020202020258
+:102860000202020202020202020202020202020248
+:102870000202020202020202020202020202020238
+:102880000202020202020202020202020202020228
+:102890000202020202020202020202020202020218
+:1028A0000202020202020202020202020202020208
+:1028B00002020202020202020202020202020202F8
+:1028C00002020202020202020202020202020202E8
+:1028D00002020202020202020202020202020202D8
+:1028E00002020202020202020202020202020202C8
+:1028F00002020202020202020202020202020202B8
+:1029000002020202020202020202020202020202A7
+:102910000202020202020202020202020202020297
+:102920000202020202020202020202020202020287
+:102930000202020202020202020202020202020277
+:102940000202020202020202020202020202020267
+:102950000202020202020202020202020202020257
+:102960000202020202020202020202020202020247
+:102970000202020202020202020202020202020237
+:102980000202020202020202020202020202020227
+:102990000202020202020202020202020202020217
+:1029A0000202020202020202020202020202020207
+:1029B00002020202020202020202020202020202F7
+:1029C00002020202020202020202020202020202E7
+:1029D00002020202020202020202020202020202D7
+:1029E00002020202020202020202020202020202C7
+:1029F00002020202020202020202020202020202B7
+:102A000002020202020202020202020202020202A6
+:102A10000202020202020202020202020202020296
+:102A20000202020202020202020202020202020286
+:102A30000202020202020202020202020202020276
+:102A40000202020202020202020202020202020266
+:102A50000202020202020202020202020202020256
+:102A60000202020202020202020202020202020246
+:102A70000202020202020202020202020202020236
+:102A80000202020202020202020202020202020226
+:102A90000202020202020202020202020202020216
+:102AA0000202020202020202020202020202020206
+:102AB00002020202020202020202020202020202F6
+:102AC00002020202020202020202020202020202E6
+:102AD00002020202020202020202020202020202D6
+:102AE00002020202020202020202020202020202C6
+:102AF00002020202020202020202020202020202B6
+:102B000002020202020202020202020202020202A5
+:102B10000202020202020202020202020202020295
+:102B20000202020202020202020202020202020285
+:102B30000202020202020202020202020202020275
+:102B40000202020202020202020202020202020265
+:102B50000202020202020202020202020202020255
+:102B60000202020202020202020202020202020245
+:102B70000202020202020202020202020202020235
+:102B80000202020202020202020202020202020225
+:102B90000202020202020202020202020202020215
+:102BA0000202020202020202020202020202020205
+:102BB00002020202020202020202020202020202F5
+:102BC00002020202020202020202020202020202E5
+:102BD00002020202020202020202020202020202D5
+:102BE00002020202020202020202020202020202C5
+:102BF00002020202020202020202020202020202B5
+:102C000002020202020202020202020202020202A4
+:102C10000202020202020202020202020202020294
+:102C20000202020202020202020202020202020284
+:102C30000202020202020202020202020202020274
+:102C40000202020202020202020202020202020264
+:102C50000202020202020202020202020202020254
+:102C60000202020202020202020202020202020244
+:102C70000202020202020202020202020202020234
+:102C80000202020202020202020202020202020224
+:102C90000202020202020202020202020202020214
+:102CA0000202020202020202020202020202020204
+:102CB00002020202020202020202020202020202F4
+:102CC00002020202020202020202020202020202E4
+:102CD00002020202020202020202020202020202D4
+:102CE00002020202020202020202020202020202C4
+:102CF00002020202020202020202020202020202B4
+:102D000002020202020202020202020202020202A3
+:102D10000202020202020202020202020202020293
+:102D20000202020202020202020202020202020085
+:102D30000000000000000000000000000000000093
+:102D40000000000000000000000000000000000083
+:102D50000000000000000000000000000000000073
+:102D60000000000000000000000000000000000063
+:102D70000000000000000000000000000000000053
+:102D80000000000000000000000000000000000043
+:102D90000000000000000000000000000000000033
+:102DA0000000000000000000000000000000000023
+:102DB0000000000000000000000000000000000013
+:102DC0000000000000000000000000000000000003
+:102DD00000000000000000000000000000000000F3
+:102DE00000000000000000000000000000000000E3
+:102DF00000000000000000000000000000000000D3
+:102E000000000000000000000000000000000000C2
+:102E100000000000000000000000000000000000B2
+:102E20000000000000000000000000000000006141
+:102E30000000000000000001010101010101010189
+:102E40000101010101010101010101010101010172
+:102E50000101010101010101010101010101010162
+:102E60000101010101010101010101010101010152
+:102E70000101010101010101010101010101010142
+:102E80000101010101010101010101010101010132
+:102E90000101010101010101010101010101010122
+:102EA0000101010101010101010101010101010112
+:102EB0000101010101010101010101010101010102
+:102EC00001010101010101010101010101010101F2
+:102ED00001010101010101010101010101010101E2
+:102EE00001010101010101010101010101010101D2
+:102EF00001010101010101010101010101010101C2
+:102F000001010101010101010101010101010101B1
+:102F100001010101010101010101010101010101A1
+:102F20000101010101010101010101010101010191
+:102F30000101010101010101010101010101010181
+:102F40000101010101010101010101010101010171
+:102F50000101010101010101010101010101010161
+:102F60000101010101010101010101010101010151
+:102F70000101010101010101010101010101010141
+:102F80000101010101010101010101010101010131
+:102F90000101010101010101010101010101010121
+:102FA0000101010101010101010101010101010111
+:102FB0000101010101010101010101010101010101
+:102FC00001010101010101010101010101010101F1
+:102FD00001010101010101010101010101010101E1
+:102FE00001010101010101010101010101010101D1
+:102FF00001010101010101010101010101010101C1
+:1030000001010101010101010101010101010101B0
+:1030100001010101010101010101010101010101A0
+:103020000101010101010101010101010101010190
+:103030000101010101010101010101010101010180
+:103040000101010101010101010101010101010170
+:103050000101010101010101010101010101010160
+:103060000101010101010101010101010101010150
+:103070000101010101010101010101010101010140
+:103080000101010101010101010101010101010130
+:103090000101010101010101010101010101010120
+:1030A0000101010101010101010101010101010110
+:1030B0000101010101010101010101010101010100
+:1030C00001010101010101010101010101010101F0
+:1030D00001010101010101010101010101010101E0
+:1030E00001010101010101010101010101010101D0
+:1030F00001010101010101010101010101010101C0
+:1031000001010101010101010101010101010101AF
+:10311000010101010101010101010101010101019F
+:10312000010101010101010101010101010101018F
+:10313000010101010101010101010101010101017F
+:10314000010101010101010101010101010101016F
+:10315000010101010101010101010101010101015F
+:10316000010101010101010101010101010101014F
+:10317000010101010101010101010101010101013F
+:10318000010101010101010101010101010101012F
+:10319000010101010101010101010101010101011F
+:1031A000010101010101010101010101010101010F
+:1031B00001010101010101010101010101010101FF
+:1031C00001010101010101010101010101010101EF
+:1031D00001010101010101010101010101010101DF
+:1031E00001010101010101010101010101010101CF
+:1031F00001010101010101010101010101010101BF
+:1032000001010101010101010101010101010101AE
+:10321000010101010101010101010101010101019E
+:10322000010101010101010101010101010101018E
+:10323000010101010101010101010101010101017E
+:10324000010101010101010101010101010101016E
+:10325000010101010101010101010101010101015E
+:10326000010101010101010101010101010101014E
+:10327000010101010101010101010101010101013E
+:10328000010101010101010101010101010101012E
+:10329000010101010101010101010101010101011E
+:1032A000010101010101010101010101010101010E
+:1032B00001010101010101010101010101010101FE
+:1032C00001010101010101010101010101010101EE
+:1032D00001010101010101010101010101010101DE
+:1032E00001010101010101010101010101010101CE
+:1032F00001010101010101010101010101010101BE
+:1033000001010101010101010101010101010101AD
+:10331000010101010101010101010101010101019D
+:10332000010101010101010101010101010101018D
+:10333000010101010101010101010101010101017D
+:10334000010101010101010101010101010101016D
+:10335000010101010101010101010101010101015D
+:10336000010101010101010101010101010101014D
+:10337000010101010101010101010101010101013D
+:10338000010101010101010101010101010101012D
+:10339000010101010101010101010101010101011D
+:1033A000010101010101010101010101010101010D
+:1033B00001010101010101010101010101010101FD
+:1033C00001010101010101010101010101010101ED
+:1033D00001010101010101010101010101010101DD
+:1033E00001010101010101010101010101010101CD
+:1033F00001010101010101010101010101010101BD
+:1034000001010101010101010101010101010101AC
+:10341000010101010101010101010101010101019C
+:10342000010101010101010101010101010101018C
+:10343000010101010101010101010101010101017C
+:10344000010101010101010101010101010101016C
+:10345000010101010101010101010101010101015C
+:10346000010101010101010101010101010101014C
+:10347000010101010101010101010101010101013C
+:10348000010101010101010101010101010101012C
+:10349000010101010101010101010101010101011C
+:1034A000010101010101010101010101010101010C
+:1034B00001010101010101010101010101010101FC
+:1034C00001010101010101010101010101010101EC
+:1034D00001010101010101010101010101010101DC
+:1034E00001010101010101010101010101010101CC
+:1034F00001010101010101010101010101010101BC
+:1035000001010101010101010101010101010101AB
+:10351000010101010101010101010101010101019B
+:10352000010101010101010101010101010101018B
+:10353000010101010101010101010101010101017B
+:10354000010101010101010101010101010101016B
+:10355000010101010101010101010101010101015B
+:10356000010101010101010101010101010101014B
+:10357000010101010101010101010101010101013B
+:10358000010101010101010101010101010101012B
+:10359000010101010101010101010101010101011B
+:1035A000010101010101010101010101010101010B
+:1035B00001010101010101010101010101010101FB
+:1035C00001010101010101010101010101010101EB
+:1035D00001010101010101010101010101010101DB
+:1035E00001010101010101010101010101010101CB
+:1035F00001010101010101010101010101010101BB
+:1036000001010101010101010101010101010101AA
+:10361000010101010101010101010101010101019A
+:10362000010101010101010101010101010101018A
+:10363000010101010101010101010101010101017A
+:10364000010101010101010101010101010101016A
+:10365000010101010101010101010101010101015A
+:10366000010101010101010101010101010101014A
+:10367000010101010101010101010101010101013A
+:10368000010101010101010101010101010101012A
+:10369000010101010101010101010101010101011A
+:1036A000010101010101010101010101010101010A
+:1036B00001010101010101010101010101010101FA
+:1036C00001010101010101010101010101010101EA
+:1036D00001010101010101010101010101010101DA
+:1036E00001010101010101010101010101010101CA
+:1036F00001010101010101010101010101010101BA
+:1037000001010101010101010101010101010101A9
+:103710000101010101010101010101010101010199
+:103720000101010101010101010101010101010189
+:103730000101010101010101010101010101010179
+:103740000101010101010101010101010101010169
+:103750000101010101010101010101010101010159
+:103760000101010101010101010101010101010149
+:103770000101010101010101010101010101010139
+:103780000101010101010101010101010101010129
+:103790000101010101010101010101010101010119
+:1037A0000101010101010101010101010101010109
+:1037B00001010101010101010101010101010101F9
+:1037C00001010101010101010101010101010101E9
+:1037D00001010101010101010101010101010101D9
+:1037E00001010101010101010101010101010101C9
+:1037F00001010101010101010101010101010101B9
+:1038000001010101010101010101010101010101A8
+:103810000101010101010101010101010101010198
+:103820000101010101010101010101010101010188
+:103830000101010101010101010101010101010178
+:103840000101010101010101010101010101010168
+:103850000101010101010101010101010101010158
+:103860000101010101010101010101010101010148
+:103870000101010101010101010101010101010138
+:103880000101010101010101010101010101010128
+:103890000101010101010101010101010101010118
+:1038A0000101010101010101010101010101010108
+:1038B00001010101010101010101010101010101F8
+:1038C00001010101010101010101010101010101E8
+:1038D00001010101010101010101010101010101D8
+:1038E00001010101010101010101010101010101C8
+:1038F00001010101010101010101010101010101B8
+:1039000001010101010101010101010101010101A7
+:103910000101010101010101010101010101010197
+:103920000101010101010101010101010101010187
+:103930000101010101010101010101010101010177
+:103940000101010101010101010101010101010167
+:103950000101010101010101010101010101010157
+:103960000101010101010101010101010101010147
+:103970000101010101010101010101010101010137
+:103980000101010101010101010101010101010127
+:103990000101010101010101010101010101010117
+:1039A0000101010101010101010101010101010107
+:1039B00001010101010101010101010101010101F7
+:1039C00001010101010101010101010101010101E7
+:1039D00001010101010101010101010101010101D7
+:1039E00001010101010101010101010101010101C7
+:1039F00001010101010101010101010101010101B7
+:103A000001010101010101010101010101010101A6
+:103A10000101010101010101010101010101010196
+:103A20000101010101010101010101010101010186
+:103A30000101010101010101010101010101010176
+:103A40000101010101010101010101010101010166
+:103A50000101010101010101010101010101010156
+:103A60000101010101010101010101010101010146
+:103A70000101010101010101010101010101010136
+:103A80000101010101010101010101010101010126
+:103A90000101010101010101010101010101010116
+:103AA0000101010101010101010101010101010106
+:103AB00001010101010101010101010101010101F6
+:103AC00001010101010101010101010101010101E6
+:103AD00001010101010101010101010101010101D6
+:103AE00001010101010101010101010101010101C6
+:103AF00001010101010101010101010101010101B6
+:103B000001010101010101010101010101010101A5
+:103B10000101010101010101010101010101010195
+:103B20000101010101010101010101010101010185
+:103B30000101010101010101010101010101010175
+:103B40000101010101010101010101010101010165
+:103B50000101010101010101010101010101010155
+:103B60000101010101010101010101010101010145
+:103B70000101010101010101010101010101010135
+:103B80000101010101010101010101010101010125
+:103B90000101010101010101010101010101010115
+:103BA0000101010101010101010101010101010105
+:103BB00001010101010101010101010101010101F5
+:103BC00001010101010101010101010101010101E5
+:103BD00001010101010101010101010101010101D5
+:103BE00001010101010101010101010101010101C5
+:103BF00001010101010101010101010101010101B5
+:103C000001010101010101010101010101010101A4
+:103C10000101010101010101010101010101010194
+:103C20000101010101010101010101010101010184
+:103C30000101010101010101010101010101010174
+:103C40000101010101010101010101010101010164
+:103C50000101010101010101010101010101010154
+:103C60000101010101010101010101010101010144
+:103C70000101010101010101010101010101010134
+:103C80000101010101010101010101010101010124
+:103C90000101010101010101010101010101010114
+:103CA0000101010101010101010101010101010104
+:103CB00001010101010101010101010101010101F4
+:103CC00001010101010101010101010101010101E4
+:103CD00001010101010101010101010101010101D4
+:103CE00001010101010101010101010101010101C4
+:103CF00001010101010101010101010101010101B4
+:103D000001010101010101010101010101010101A3
+:103D10000101010101010101010101010101010193
+:103D20000101010101010101010101010101010183
+:103D30000101010101010101010101010101010173
+:103D40000101010101010101010101010101010163
+:103D50000101010101010101010101010101010153
+:103D60000101010101010101010101010101010143
+:103D70000101010101010101010101010101010133
+:103D80000101010101010101010101010101010123
+:103D90000101010101010101010101010101010113
+:103DA0000101010101010101010101010101010103
+:103DB00001010101010101010101010101010101F3
+:103DC00001010101010101010101010101010101E3
+:103DD00001010101010101010101010101010101D3
+:103DE00001010101010101010101010101010101C3
+:103DF00001010101010101010101010101010101B3
+:103E000001010101010101010101010101010101A2
+:103E10000101010101010101010101010101010192
+:103E20000101010101010101010101010101010182
+:103E30000101010101010101010101010101010172
+:103E40000101010101010101010101010101010162
+:103E50000101010101010101010101010101010152
+:103E60000101010101010101010101010101010142
+:103E70000101010101010101010101010101010132
+:103E80000101010101010101010101010101010122
+:103E90000101010101010101010101010101010112
+:103EA0000101010101010101010101010101010102
+:103EB00001010101010101010101010101010101F2
+:103EC00001010101010101010101010101010101E2
+:103ED00001010101010101010101010101010101D2
+:103EE00001010101010101010101010101010101C2
+:103EF00001010101010101010101010101010101B2
+:103F000001010101010101010101010101010101A1
+:103F10000101010101010101010101010101010191
+:103F20000101010101010101010101010101010181
+:103F30000101010101010101010101010101010171
+:103F40000101010101010101010101010101010161
+:103F50000101010101010101010101010101010151
+:103F60000101010101010101010101010101010141
+:103F70000101010101010101010101010101010131
+:103F80000101010101010101010101010101010121
+:103F90000101010101010101010101010101010111
+:103FA0000101010101010101010101010101010101
+:103FB00001010101010101010101010101010101F1
+:103FC00001010101010101010101010101010101E1
+:103FD00001010101010101010101010101010101D1
+:103FE00001010101010101010101010101010101C1
+:103FF00001010101010101010101010101010101B1
+:1040000001010101010101010101010101010101A0
+:104010000101010101010101010101010101010190
+:104020000101010101010101010101010101010180
+:104030000101010101010101010101010101010170
+:104040000101010101010101010101010101010160
+:104050000101010101010101010101010101010150
+:104060000101010101010101010101010101010140
+:104070000101010101010101010101010101010130
+:104080000101010101010101010101010101010120
+:104090000101010101010101010101010101010110
+:1040A0000101010101010101010101010101010100
+:1040B00001010101010101010101010101010101F0
+:1040C00001010101010101010101010101010101E0
+:1040D00001010101010101010101010101010101D0
+:1040E00001010101010101010101010101010101C0
+:1040F00001010101010101010101010101010101B0
+:10410000010101010101010101010101010101019F
+:10411000010101010101010101010101010101018F
+:10412000010101010101010101010101010101017F
+:10413000010101010101010101010101010101016F
+:10414000010101010101010101010101010101015F
+:10415000010101010101010101010101010101014F
+:10416000010101010101010101010101010101013F
+:10417000010101010101010101010101010101012F
+:10418000010101010101010101010101010101011F
+:10419000010101010101010101010101010101010F
+:1041A00001010101010101010101010101010101FF
+:1041B00001010101010101010101010101010101EF
+:1041C00001010101010101010101010101010101DF
+:1041D00001010101010101010101010101010101CF
+:1041E00001010101010101010101010101010101BF
+:1041F00001010101010101010101010101010101AF
+:10420000010101010101010101010101010101019E
+:10421000010101010101010101010101010101018E
+:10422000010101010101010101010101010101017E
+:104230000101010101010100000000000000000077
+:10424000000000000000000000000000000000006E
+:10425000000000000000000000000000000000005E
+:10426000000000000000000000000000000000004E
+:10427000000000000000000000000000000000003E
+:10428000000000000000000000000000000000002E
+:10429000000000000000000000000000000000001E
+:1042A000000000000000000000000000000000000E
+:1042B00000000000000000000000000000000000FE
+:1042C00000000000000000000000000000000000EE
+:1042D00000000000000000000000000000000000DE
+:1042E00000000000000000000000000000000000CE
+:1042F00000000000000000000000000000000000BE
+:1043000000000000000000000000000000000000AD
+:10431000000000000000000000000000000000009D
+:10432000000000000000000000000000000000008D
+:10433000000000000000000000000000000000007D
+:10434000000000000000000000000000000000006D
+:10435000000000000000000000000000000000005D
+:10436000000000000000000000000000000000004D
+:10437000000000000000000000000000000000003D
+:10438000000000000000000000000000000000002D
+:10439000000000000000000000000000000000001D
+:1043A000000000000000000000000000000000000D
+:1043B00000000000000000000000000000000000FD
+:1043C00000000000000000000000000000000000ED
+:1043D00000000000000000000000000000000000DD
+:1043E00000000000000000000000000000000000CD
+:1043F00000000000000000000000000000000000BD
+:1044000000000000000000000000000000000000AC
+:10441000000000000000000000000000000000009C
+:10442000000000000000000000000000000000008C
+:10443000000000000000000000000000000000007C
+:10444000000000000000000000000000000000006C
+:10445000000000000000000000000000000000005C
+:10446000000000000000000000000000000000004C
+:10447000000000000000000000000000000000003C
+:10448000000000000000000000000000000000002C
+:10449000000000000000000000000000000000001C
+:1044A000000000000000000000000000000000000C
+:1044B00000000000000000000000000000000000FC
+:1044C00000000000000000000000000000000000EC
+:1044D00000000000000000000000000000000000DC
+:1044E00000000000000000000000000000000000CC
+:1044F00000000000000000000000000000000000BC
+:1045000000000000000000000000000000000000AB
+:10451000000000000000000000000000000000009B
+:10452000000000000000000000000000000000008B
+:10453000000000000000000000000000000000007B
+:10454000000000000000000000000000000000006B
+:10455000000000000000000000000000000000005B
+:10456000000000000000000000000000000000004B
+:10457000000000000000000000000000000000003B
+:10458000000000000000000000000000000000002B
+:10459000000000000000000000000000000000001B
+:1045A000000000000000000000000000000000000B
+:1045B00000000000000000000000000000000000FB
+:1045C00000000000000000000000000000000000EB
+:1045D00000000000000000000000000000000000DB
+:1045E00000000000000000000000000000000000CB
+:1045F00000000000000000000000000000000000BB
+:1046000000000000000000000000000000000000AA
+:10461000000000000000000000000000000000009A
+:10462000000000000000000000000000000000008A
+:104630000000000000000002020202020202020268
+:10464000020202020202020202020202020202024A
+:10465000020202020202020202020202020202023A
+:10466000020202020202020202020202020202022A
+:10467000020202020202020202020202020202021A
+:10468000020202020202020202020202020202020A
+:1046900002020202020202020202020202020202FA
+:1046A00002020202020202020202020202020202EA
+:1046B00002020202020202020202020202020202DA
+:1046C00002020202020202020202020202020202CA
+:1046D00002020202020202020202020202020202BA
+:1046E00002020202020202020202020202020202AA
+:1046F000020202020202020202020202020202029A
+:104700000202020202020202020202020202020289
+:104710000202020202020202020202020202020279
+:104720000202020202020202020202020202020269
+:104730000202020202020202020202020202020259
+:104740000202020202020202020202020202020249
+:104750000202020202020202020202020202020239
+:104760000202020202020202020202020202020229
+:104770000202020202020202020202020202020219
+:104780000202020202020202020202020202020209
+:1047900002020202020202020202020202020202F9
+:1047A00002020202020202020202020202020202E9
+:1047B00002020202020202020202020202020202D9
+:1047C00002020202020202020202020202020202C9
+:1047D00002020202020202020202020202020202B9
+:1047E00002020202020202020202020202020202A9
+:1047F0000202020202020202020202020202020299
+:104800000202020202020202020202020202020288
+:104810000202020202020202020202020202020278
+:104820000202020202020202020202020202020268
+:104830000202020202020202020202020202020258
+:104840000202020202020202020202020202020248
+:104850000202020202020202020202020202020238
+:104860000202020202020202020202020202020228
+:104870000202020202020202020202020202020218
+:104880000202020202020202020202020202020208
+:1048900002020202020202020202020202020202F8
+:1048A00002020202020202020202020202020202E8
+:1048B00002020202020202020202020202020202D8
+:1048C00002020202020202020202020202020202C8
+:1048D00002020202020202020202020202020202B8
+:1048E00002020202020202020202020202020202A8
+:1048F0000202020202020202020202020202020298
+:104900000202020202020202020202020202020287
+:104910000202020202020202020202020202020277
+:104920000202020202020202020202020202020267
+:104930000202020202020202020202020202020257
+:104940000202020202020202020202020202020247
+:104950000202020202020202020202020202020237
+:104960000202020202020202020202020202020227
+:104970000202020202020202020202020202020217
+:104980000202020202020202020202020202020207
+:1049900002020202020202020202020202020202F7
+:1049A00002020202020202020202020202020202E7
+:1049B00002020202020202020202020202020202D7
+:1049C00002020202020202020202020202020202C7
+:1049D00002020202020202020202020202020202B7
+:1049E00002020202020202020202020202020202A7
+:1049F0000202020202020202020202020202020297
+:104A00000202020202020202020202020202020286
+:104A10000202020202020202020202020202020276
+:104A20000202020202020202020202020202020266
+:104A30000202020202020202020202020202020256
+:104A40000202020202020202020202020202020246
+:104A50000202020202020202020202020202020236
+:104A60000202020202020202020202020202020226
+:104A70000202020202020202020202020202020216
+:104A80000202020202020202020202020202020206
+:104A900002020202020202020202020202020202F6
+:104AA00002020202020202020202020202020202E6
+:104AB00002020202020202020202020202020202D6
+:104AC00002020202020202020202020202020202C6
+:104AD00002020202020202020202020202020202B6
+:104AE00002020202020202020202020202020202A6
+:104AF0000202020202020202020202020202020296
+:104B00000202020202020202020202020202020285
+:104B10000202020202020202020202020202020275
+:104B20000202020202020202020202020202020265
+:104B30000202020202020202020202020202020255
+:104B40000202020202020202020202020202020245
+:104B50000202020202020202020202020202020235
+:104B60000202020202020202020202020202020225
+:104B70000202020202020202020202020202020215
+:104B80000202020202020202020202020202020205
+:104B900002020202020202020202020202020202F5
+:104BA00002020202020202020202020202020202E5
+:104BB00002020202020202020202020202020202D5
+:104BC00002020202020202020202020202020202C5
+:104BD00002020202020202020202020202020202B5
+:104BE00002020202020202020202020202020202A5
+:104BF0000202020202020202020202020202020295
+:104C00000202020202020202020202020202020284
+:104C10000202020202020202020202020202020274
+:104C20000202020202020202020202020202020264
+:104C30000202020202020202020202020202020254
+:104C40000202020202020202020202020202020244
+:104C50000202020202020202020202020202020234
+:104C60000202020202020202020202020202020224
+:104C70000202020202020202020202020202020214
+:104C80000202020202020202020202020202020204
+:104C900002020202020202020202020202020202F4
+:104CA00002020202020202020202020202020202E4
+:104CB00002020202020202020202020202020202D4
+:104CC00002020202020202020202020202020202C4
+:104CD00002020202020202020202020202020202B4
+:104CE00002020202020202020202020202020202A4
+:104CF0000202020202020202020202020202020294
+:104D00000202020202020202020202020202020283
+:104D10000202020202020202020202020202020273
+:104D20000202020202020202020202020202020263
+:104D30000202020202020202020202020202020253
+:104D40000202020202020202020202020202020243
+:104D50000202020202020202020202020202020233
+:104D60000202020202020202020202020202020223
+:104D70000202020202020202020202020202020213
+:104D80000202020202020202020202020202020203
+:104D900002020202020202020202020202020202F3
+:104DA00002020202020202020202020202020202E3
+:104DB00002020202020202020202020202020202D3
+:104DC00002020202020202020202020202020202C3
+:104DD00002020202020202020202020202020202B3
+:104DE00002020202020202020202020202020202A3
+:104DF0000202020202020202020202020202020293
+:104E00000202020202020202020202020202020282
+:104E10000202020202020202020202020202020272
+:104E20000202020202020202020202020202020262
+:104E30000202020202020202020202020202020252
+:104E40000202020202020202020202020202020242
+:104E50000202020202020202020202020202020232
+:104E60000202020202020202020202020202020222
+:104E70000202020202020202020202020202020212
+:104E80000202020202020202020202020202020202
+:104E900002020202020202020202020202020202F2
+:104EA00002020202020202020202020202020202E2
+:104EB00002020202020202020202020202020202D2
+:104EC00002020202020202020202020202020202C2
+:104ED00002020202020202020202020202020202B2
+:104EE00002020202020202020202020202020202A2
+:104EF0000202020202020202020202020202020292
+:104F00000202020202020202020202020202020281
+:104F10000202020202020202020202020202020271
+:104F20000202020202020202020202020202020261
+:104F30000202020202020202020202020202020251
+:104F40000202020202020202020202020202020241
+:104F50000202020202020202020202020202020231
+:104F60000202020202020202020202020202020221
+:104F70000202020202020202020202020202020211
+:104F80000202020202020202020202020202020201
+:104F900002020202020202020202020202020202F1
+:104FA00002020202020202020202020202020202E1
+:104FB00002020202020202020202020202020202D1
+:104FC00002020202020202020202020202020202C1
+:104FD00002020202020202020202020202020202B1
+:104FE00002020202020202020202020202020202A1
+:104FF0000202020202020202020202020202020291
+:105000000202020202020202020202020202020280
+:105010000202020202020202020202020202020270
+:105020000202020202020202020202020202020260
+:105030000202020202020202020202020202020250
+:105040000202020202020202020202020202020240
+:105050000202020202020202020202020202020230
+:105060000202020202020202020202020202020220
+:105070000202020202020202020202020202020210
+:105080000202020202020202020202020202020200
+:1050900002020202020202020202020202020202F0
+:1050A00002020202020202020202020202020202E0
+:1050B00002020202020202020202020202020202D0
+:1050C00002020202020202020202020202020202C0
+:1050D00002020202020202020202020202020202B0
+:1050E00002020202020202020202020202020202A0
+:1050F0000202020202020202020202020202020290
+:10510000020202020202020202020202020202027F
+:10511000020202020202020202020202020202026F
+:10512000020202020202020202020202020202025F
+:10513000020202020202020202020202020202024F
+:10514000020202020202020202020202020202023F
+:10515000020202020202020202020202020202022F
+:10516000020202020202020202020202020202021F
+:10517000020202020202020202020202020202020F
+:1051800002020202020202020202020202020202FF
+:1051900002020202020202020202020202020202EF
+:1051A00002020202020202020202020202020202DF
+:1051B00002020202020202020202020202020202CF
+:1051C00002020202020202020202020202020202BF
+:1051D00002020202020202020202020202020202AF
+:1051E000020202020202020202020202020202029F
+:1051F000020202020202020202020202020202028F
+:10520000020202020202020202020202020202027E
+:10521000020202020202020202020202020202026E
+:10522000020202020202020202020202020202025E
+:10523000020202020202020202020202020202024E
+:10524000020202020202020202020202020202023E
+:10525000020202020202020202020202020202022E
+:10526000020202020202020202020202020202021E
+:10527000020202020202020202020202020202020E
+:1052800002020202020202020202020202020202FE
+:1052900002020202020202020202020202020202EE
+:1052A00002020202020202020202020202020202DE
+:1052B00002020202020202020202020202020202CE
+:1052C00002020202020202020202020202020202BE
+:1052D00002020202020202020202020202020202AE
+:1052E000020202020202020202020202020202029E
+:1052F000020202020202020202020202020202028E
+:10530000020202020202020202020202020202027D
+:10531000020202020202020202020202020202026D
+:10532000020202020202020202020202020202025D
+:10533000020202020202020202020202020202024D
+:10534000020202020202020202020202020202023D
+:10535000020202020202020202020202020202022D
+:10536000020202020202020202020202020202021D
+:10537000020202020202020202020202020202020D
+:1053800002020202020202020202020202020202FD
+:1053900002020202020202020202020202020202ED
+:1053A00002020202020202020202020202020202DD
+:1053B00002020202020202020202020202020202CD
+:1053C00002020202020202020202020202020202BD
+:1053D00002020202020202020202020202020202AD
+:1053E000020202020202020202020202020202029D
+:1053F000020202020202020202020202020202028D
+:10540000020202020202020202020202020202027C
+:10541000020202020202020202020202020202026C
+:10542000020202020202020202020202020202025C
+:10543000020202020202020202020202020202024C
+:10544000020202020202020202020202020202023C
+:10545000020202020202020202020202020202022C
+:10546000020202020202020202020202020202021C
+:10547000020202020202020202020202020202020C
+:1054800002020202020202020202020202020202FC
+:1054900002020202020202020202020202020202EC
+:1054A00002020202020202020202020202020202DC
+:1054B00002020202020202020202020202020202CC
+:1054C00002020202020202020202020202020202BC
+:1054D00002020202020202020202020202020202AC
+:1054E000020202020202020202020202020202029C
+:1054F000020202020202020202020202020202028C
+:10550000020202020202020202020202020202027B
+:10551000020202020202020202020202020202026B
+:10552000020202020202020202020202020202025B
+:10553000020202020202020202020202020202024B
+:10554000020202020202020202020202020202023B
+:10555000020202020202020202020202020202022B
+:10556000020202020202020202020202020202021B
+:10557000020202020202020202020202020202020B
+:1055800002020202020202020202020202020202FB
+:1055900002020202020202020202020202020202EB
+:1055A00002020202020202020202020202020202DB
+:1055B00002020202020202020202020202020202CB
+:1055C00002020202020202020202020202020202BB
+:1055D00002020202020202020202020202020202AB
+:1055E000020202020202020202020202020202029B
+:1055F000020202020202020202020202020202028B
+:10560000020202020202020202020202020202027A
+:10561000020202020202020202020202020202026A
+:10562000020202020202020202020202020202025A
+:10563000020202020202020202020202020202024A
+:10564000020202020202020202020202020202023A
+:10565000020202020202020202020202020202022A
+:10566000020202020202020202020202020202021A
+:10567000020202020202020202020202020202020A
+:1056800002020202020202020202020202020202FA
+:1056900002020202020202020202020202020202EA
+:1056A00002020202020202020202020202020202DA
+:1056B00002020202020202020202020202020202CA
+:1056C00002020202020202020202020202020202BA
+:1056D00002020202020202020202020202020202AA
+:1056E000020202020202020202020202020202029A
+:1056F000020202020202020202020202020202028A
+:105700000202020202020202020202020202020279
+:105710000202020202020202020202020202020269
+:105720000202020202020202020202020202020259
+:105730000202020202020202020202020202020249
+:105740000202020202020202020202020202020239
+:105750000202020202020202020202020202020229
+:105760000202020202020202020202020202020219
+:105770000202020202020202020202020202020209
+:1057800002020202020202020202020202020202F9
+:1057900002020202020202020202020202020202E9
+:1057A00002020202020202020202020202020202D9
+:1057B00002020202020202020202020202020202C9
+:1057C00002020202020202020202020202020202B9
+:1057D00002020202020202020202020202020202A9
+:1057E0000202020202020202020202020202020299
+:1057F0000202020202020202020202020202020289
+:105800000202020202020202020202020202020278
+:105810000202020202020202020202020202020268
+:105820000202020202020202020202020202020258
+:105830000202020202020202020202020202020248
+:105840000202020202020202020202020202020238
+:105850000202020202020202020202020202020228
+:105860000202020202020202020202020202020218
+:105870000202020202020202020202020202020208
+:1058800002020202020202020202020202020202F8
+:1058900002020202020202020202020202020202E8
+:1058A00002020202020202020202020202020202D8
+:1058B00002020202020202020202020202020202C8
+:1058C00002020202020202020202020202020202B8
+:1058D00002020202020202020202020202020202A8
+:1058E0000202020202020202020202020202020298
+:1058F0000202020202020202020202020202020288
+:105900000202020202020202020202020202020277
+:105910000202020202020202020202020202020267
+:105920000202020202020202020202020202020257
+:105930000202020202020202020202020202020247
+:105940000202020202020202020202020202020237
+:105950000202020202020202020202020202020227
+:105960000202020202020202020202020202020217
+:105970000202020202020202020202020202020207
+:1059800002020202020202020202020202020202F7
+:1059900002020202020202020202020202020202E7
+:1059A00002020202020202020202020202020202D7
+:1059B00002020202020202020202020202020202C7
+:1059C00002020202020202020202020202020202B7
+:1059D00002020202020202020202020202020202A7
+:1059E0000202020202020202020202020202020297
+:1059F0000202020202020202020202020202020287
+:105A00000202020202020202020202020202020276
+:105A10000202020202020202020202020202020266
+:105A20000202020202020202020202020202020256
+:105A30000202020202020200000000000000000058
+:105A40000000000000000000000000000000000056
+:105A50000000000000000000000000000000000046
+:105A60000000000000000000000000000000000036
+:105A70000000000000000000000000000000000026
+:105A80000000000000000000000000000000000016
+:105A90000000000000000000000000000000000006
+:105AA00000000000000000000000000000000000F6
+:105AB00000000000000000000000000000000000E6
+:105AC00000000000000000000000000000000000D6
+:105AD00000000000000000000000000000000000C6
+:105AE00000000000000000000000000000000000B6
+:105AF00000000000000000000000000000000000A6
+:105B00000000000000000000000000000000000095
+:105B10000000000000000000000000000000000085
+:105B20000000000000000000000000000000000075
+:105B30000000000000000000000000000000000065
+:105B40000000000000000000000000000000000055
+:105B50000000000000000000000000000000000045
+:105B60000000000000000000000000000000000035
+:105B70000000000000000000000000000000000025
+:105B80000000000000000000000000000000000015
+:105B90000000000000000000000000000000000005
+:105BA00000000000000000000000000000000000F5
+:105BB00000000000000000000000000000000000E5
+:105BC00000000000000000000000000000000000D5
+:105BD00000000000000000000000000000000000C5
+:105BE00000000000000000000000000000000000B5
+:105BF00000000000000000000000000000000000A5
+:105C00000000000000000000000000000000000094
+:105C10000000000000000000000000000000000084
+:105C20000000000000000000000000000000000074
+:105C30000000000000000000000000000000000064
+:105C40000000000000000000000000000000000054
+:105C50000000000000000000000000000000000044
+:105C60000000000000000000000000000000000034
+:105C70000000000000000000000000000000000024
+:105C80000000000000000000000000000000000014
+:105C90000000000000000000000000000000000004
+:105CA00000000000000000000000000000000000F4
+:105CB00000000000000000000000000000000000E4
+:105CC00000000000000000000000000000000000D4
+:105CD00000000000000000000000000000000000C4
+:105CE00000000000000000000000000000000000B4
+:105CF00000000000000000000000000000000000A4
+:105D00000000000000000000000000000000000093
+:105D10000000000000000000000000000000000083
+:105D20000000000000000000000000000000000073
+:105D30000000000000000000000000000000000063
+:105D40000000000000000000000000000000000053
+:105D50000000000000000000000000000000000043
+:105D60000000000000000000000000000000000033
+:105D70000000000000000000000000000000000023
+:105D80000000000000000000000000000000000013
+:105D90000000000000000000000000000000000003
+:105DA00000000000000000000000000000000000F3
+:105DB00000000000000000000000000000000000E3
+:105DC00000000000000000000000000000000000D3
+:105DD00000000000000000000000000000000000C3
+:105DE00000000000000000000000000000000000B3
+:105DF00000000000000000000000000000000000A3
+:105E00000000000000000000000000000000000092
+:105E10000000000000000000000000000000000082
+:105E20000000000000000000000000000000000072
+:105E30000000000000000000000000000000000062
+:105E40000000000000000000000000000000000052
+:105E50000000000000000000000000000000000042
+:105E60000000000000000000000000000000000032
+:105E70000000000000000000000000000000000022
+:105E80000000000000000000000000000000000012
+:105E90000000000000000000000000000000000002
+:105EA00000000000000000000000000000000000F2
+:105EB00000000000000000000000000000000000E2
+:105EC00000000000000000000000000000000000D2
+:105ED00000000000000000000000000000000000C2
+:105EE00000000000000000000000000000000000B2
+:105EF00000000000000000000000000000000000A2
+:105F00000000000000000000000000000000000091
+:105F10000000000000000000000000000000000081
+:105F20000000000000000000000000000000000071
+:105F30000000000000000000000000000000000061
+:105F40000000000000000000000000000000000051
+:105F50000000000000000000000000000000000041
+:105F60000000000000000000000000000000000031
+:105F70000000000000000000000000000000000021
+:105F80000000000000000000000000000000000011
+:105F90000000000000000000000000000000000001
+:105FA00000000000000000000000000000000000F1
+:105FB00000000000000000000000000000000000E1
+:105FC00000000000000000000000000000000000D1
+:105FD00000000000000000000000000000000000C1
+:105FE00000000000000000000000000000000000B1
+:105FF00000000000000000000000000000000000A1
+:106000000000000000000000000000000000000090
+:106010000000000000000000000000000000000080
+:106020000000000000000000000000000000000070
+:106030000000000000000001010101010101010157
+:106040000101010101010101010101010101010140
+:106050000101010101010101010101010101010130
+:106060000101010101010101010101010101010120
+:106070000101010101010101010101010101010110
+:106080000101010101010101010101010101010100
+:1060900001010101010101010101010101010101F0
+:1060A00001010101010101010101010101010101E0
+:1060B00001010101010101010101010101010101D0
+:1060C00001010101010101010101010101010101C0
+:1060D00001010101010101010101010101010101B0
+:1060E00001010101010101010101010101010101A0
+:1060F0000101010101010101010101010101010190
+:10610000010101010101010101010101010101017F
+:10611000010101010101010101010101010101016F
+:10612000010101010101010101010101010101015F
+:10613000010101010101010101010101010101014F
+:10614000010101010101010101010101010101013F
+:10615000010101010101010101010101010101012F
+:10616000010101010101010101010101010101011F
+:10617000010101010101010101010101010101010F
+:1061800001010101010101010101010101010101FF
+:1061900001010101010101010101010101010101EF
+:1061A00001010101010101010101010101010101DF
+:1061B00001010101010101010101010101010101CF
+:1061C00001010101010101010101010101010101BF
+:1061D00001010101010101010101010101010101AF
+:1061E000010101010101010101010101010101019F
+:1061F000010101010101010101010101010101018F
+:10620000010101010101010101010101010101017E
+:10621000010101010101010101010101010101016E
+:10622000010101010101010101010101010101015E
+:10623000010101010101010101010101010101014E
+:10624000010101010101010101010101010101013E
+:10625000010101010101010101010101010101012E
+:10626000010101010101010101010101010101011E
+:10627000010101010101010101010101010101010E
+:1062800001010101010101010101010101010101FE
+:1062900001010101010101010101010101010101EE
+:1062A00001010101010101010101010101010101DE
+:1062B00001010101010101010101010101010101CE
+:1062C00001010101010101010101010101010101BE
+:1062D00001010101010101010101010101010101AE
+:1062E000010101010101010101010101010101019E
+:1062F000010101010101010101010101010101018E
+:10630000010101010101010101010101010101017D
+:10631000010101010101010101010101010101016D
+:10632000010101010101010101010101010101015D
+:10633000010101010101010101010101010101014D
+:10634000010101010101010101010101010101013D
+:10635000010101010101010101010101010101012D
+:10636000010101010101010101010101010101011D
+:10637000010101010101010101010101010101010D
+:1063800001010101010101010101010101010101FD
+:1063900001010101010101010101010101010101ED
+:1063A00001010101010101010101010101010101DD
+:1063B00001010101010101010101010101010101CD
+:1063C00001010101010101010101010101010101BD
+:1063D00001010101010101010101010101010101AD
+:1063E000010101010101010101010101010101019D
+:1063F000010101010101010101010101010101018D
+:10640000010101010101010101010101010101017C
+:10641000010101010101010101010101010101016C
+:10642000010101010101010101010101010101015C
+:10643000010101010101010101010101010101014C
+:10644000010101010101010101010101010101013C
+:10645000010101010101010101010101010101012C
+:10646000010101010101010101010101010101011C
+:10647000010101010101010101010101010101010C
+:1064800001010101010101010101010101010101FC
+:1064900001010101010101010101010101010101EC
+:1064A00001010101010101010101010101010101DC
+:1064B00001010101010101010101010101010101CC
+:1064C00001010101010101010101010101010101BC
+:1064D00001010101010101010101010101010101AC
+:1064E000010101010101010101010101010101019C
+:1064F000010101010101010101010101010101018C
+:10650000010101010101010101010101010101017B
+:10651000010101010101010101010101010101016B
+:10652000010101010101010101010101010101015B
+:10653000010101010101010101010101010101014B
+:10654000010101010101010101010101010101013B
+:10655000010101010101010101010101010101012B
+:10656000010101010101010101010101010101011B
+:10657000010101010101010101010101010101010B
+:1065800001010101010101010101010101010101FB
+:1065900001010101010101010101010101010101EB
+:1065A00001010101010101010101010101010101DB
+:1065B00001010101010101010101010101010101CB
+:1065C00001010101010101010101010101010101BB
+:1065D00001010101010101010101010101010101AB
+:1065E000010101010101010101010101010101019B
+:1065F000010101010101010101010101010101018B
+:10660000010101010101010101010101010101017A
+:10661000010101010101010101010101010101016A
+:10662000010101010101010101010101010101015A
+:10663000010101010101010101010101010101014A
+:10664000010101010101010101010101010101013A
+:10665000010101010101010101010101010101012A
+:10666000010101010101010101010101010101011A
+:10667000010101010101010101010101010101010A
+:1066800001010101010101010101010101010101FA
+:1066900001010101010101010101010101010101EA
+:1066A00001010101010101010101010101010101DA
+:1066B00001010101010101010101010101010101CA
+:1066C00001010101010101010101010101010101BA
+:1066D00001010101010101010101010101010101AA
+:1066E000010101010101010101010101010101019A
+:1066F000010101010101010101010101010101018A
+:106700000101010101010101010101010101010179
+:106710000101010101010101010101010101010169
+:106720000101010101010101010101010101010159
+:106730000101010101010101010101010101010149
+:106740000101010101010101010101010101010139
+:106750000101010101010101010101010101010129
+:106760000101010101010101010101010101010119
+:106770000101010101010101010101010101010109
+:1067800001010101010101010101010101010101F9
+:1067900001010101010101010101010101010101E9
+:1067A00001010101010101010101010101010101D9
+:1067B00001010101010101010101010101010101C9
+:1067C00001010101010101010101010101010101B9
+:1067D00001010101010101010101010101010101A9
+:1067E0000101010101010101010101010101010199
+:1067F0000101010101010101010101010101010189
+:106800000101010101010101010101010101010178
+:106810000101010101010101010101010101010168
+:106820000101010101010101010101010101010158
+:106830000101010101010101010101010101010148
+:106840000101010101010101010101010101010138
+:106850000101010101010101010101010101010128
+:106860000101010101010101010101010101010118
+:106870000101010101010101010101010101010108
+:1068800001010101010101010101010101010101F8
+:1068900001010101010101010101010101010101E8
+:1068A00001010101010101010101010101010101D8
+:1068B00001010101010101010101010101010101C8
+:1068C00001010101010101010101010101010101B8
+:1068D00001010101010101010101010101010101A8
+:1068E0000101010101010101010101010101010198
+:1068F0000101010101010101010101010101010188
+:106900000101010101010101010101010101010177
+:106910000101010101010101010101010101010167
+:106920000101010101010101010101010101010157
+:106930000101010101010101010101010101010147
+:106940000101010101010101010101010101010137
+:106950000101010101010101010101010101010127
+:106960000101010101010101010101010101010117
+:106970000101010101010101010101010101010107
+:1069800001010101010101010101010101010101F7
+:1069900001010101010101010101010101010101E7
+:1069A00001010101010101010101010101010101D7
+:1069B00001010101010101010101010101010101C7
+:1069C00001010101010101010101010101010101B7
+:1069D00001010101010101010101010101010101A7
+:1069E0000101010101010101010101010101010197
+:1069F0000101010101010101010101010101010187
+:106A00000101010101010101010101010101010176
+:106A10000101010101010101010101010101010166
+:106A20000101010101010101010101010101010156
+:106A30000101010101010101010101010101010146
+:106A40000101010101010101010101010101010136
+:106A50000101010101010101010101010101010126
+:106A60000101010101010101010101010101010116
+:106A70000101010101010101010101010101010106
+:106A800001010101010101010101010101010101F6
+:106A900001010101010101010101010101010101E6
+:106AA00001010101010101010101010101010101D6
+:106AB00001010101010101010101010101010101C6
+:106AC00001010101010101010101010101010101B6
+:106AD00001010101010101010101010101010101A6
+:106AE0000101010101010101010101010101010196
+:106AF0000101010101010101010101010101010186
+:106B00000101010101010101010101010101010175
+:106B10000101010101010101010101010101010165
+:106B20000101010101010101010101010101010155
+:106B30000101010101010101010101010101010145
+:106B40000101010101010101010101010101010135
+:106B50000101010101010101010101010101010125
+:106B60000101010101010101010101010101010115
+:106B70000101010101010101010101010101010105
+:106B800001010101010101010101010101010101F5
+:106B900001010101010101010101010101010101E5
+:106BA00001010101010101010101010101010101D5
+:106BB00001010101010101010101010101010101C5
+:106BC00001010101010101010101010101010101B5
+:106BD00001010101010101010101010101010101A5
+:106BE0000101010101010101010101010101010195
+:106BF0000101010101010101010101010101010185
+:106C00000101010101010101010101010101010174
+:106C10000101010101010101010101010101010164
+:106C20000101010101010101010101010101010154
+:106C30000101010101010101010101010101010144
+:106C40000101010101010101010101010101010134
+:106C50000101010101010101010101010101010124
+:106C60000101010101010101010101010101010114
+:106C70000101010101010101010101010101010104
+:106C800001010101010101010101010101010101F4
+:106C900001010101010101010101010101010101E4
+:106CA00001010101010101010101010101010101D4
+:106CB00001010101010101010101010101010101C4
+:106CC00001010101010101010101010101010101B4
+:106CD00001010101010101010101010101010101A4
+:106CE0000101010101010101010101010101010194
+:106CF0000101010101010101010101010101010184
+:106D00000101010101010101010101010101010173
+:106D10000101010101010101010101010101010163
+:106D20000101010101010101010101010101010153
+:106D30000101010101010101010101010101010143
+:106D40000101010101010101010101010101010133
+:106D50000101010101010101010101010101010123
+:106D60000101010101010101010101010101010113
+:106D70000101010101010101010101010101010103
+:106D800001010101010101010101010101010101F3
+:106D900001010101010101010101010101010101E3
+:106DA00001010101010101010101010101010101D3
+:106DB00001010101010101010101010101010101C3
+:106DC00001010101010101010101010101010101B3
+:106DD00001010101010101010101010101010101A3
+:106DE0000101010101010101010101010101010193
+:106DF0000101010101010101010101010101010183
+:106E00000101010101010101010101010101010172
+:106E10000101010101010101010101010101010162
+:106E20000101010101010101010101010101010152
+:106E30000101010101010101010101010101010142
+:106E40000101010101010101010101010101010132
+:106E50000101010101010101010101010101010122
+:106E60000101010101010101010101010101010112
+:106E70000101010101010101010101010101010102
+:106E800001010101010101010101010101010101F2
+:106E900001010101010101010101010101010101E2
+:106EA00001010101010101010101010101010101D2
+:106EB00001010101010101010101010101010101C2
+:106EC00001010101010101010101010101010101B2
+:106ED00001010101010101010101010101010101A2
+:106EE0000101010101010101010101010101010192
+:106EF0000101010101010101010101010101010182
+:106F00000101010101010101010101010101010171
+:106F10000101010101010101010101010101010161
+:106F20000101010101010101010101010101010151
+:106F30000101010101010101010101010101010141
+:106F40000101010101010101010101010101010131
+:106F50000101010101010101010101010101010121
+:106F60000101010101010101010101010101010111
+:106F70000101010101010101010101010101010101
+:106F800001010101010101010101010101010101F1
+:106F900001010101010101010101010101010101E1
+:106FA00001010101010101010101010101010101D1
+:106FB00001010101010101010101010101010101C1
+:106FC00001010101010101010101010101010101B1
+:106FD00001010101010101010101010101010101A1
+:106FE0000101010101010101010101010101010191
+:106FF0000101010101010101010101010101010181
+:107000000101010101010101010101010101010170
+:107010000101010101010101010101010101010160
+:107020000101010101010101010101010101010150
+:107030000101010101010101010101010101010140
+:107040000101010101010101010101010101010130
+:107050000101010101010101010101010101010120
+:107060000101010101010101010101010101010110
+:107070000101010101010101010101010101010100
+:1070800001010101010101010101010101010101F0
+:1070900001010101010101010101010101010101E0
+:1070A00001010101010101010101010101010101D0
+:1070B00001010101010101010101010101010101C0
+:1070C00001010101010101010101010101010101B0
+:1070D00001010101010101010101010101010101A0
+:1070E0000101010101010101010101010101010190
+:1070F0000101010101010101010101010101010180
+:10710000010101010101010101010101010101016F
+:10711000010101010101010101010101010101015F
+:10712000010101010101010101010101010101014F
+:10713000010101010101010101010101010101013F
+:10714000010101010101010101010101010101012F
+:10715000010101010101010101010101010101011F
+:10716000010101010101010101010101010101010F
+:1071700001010101010101010101010101010101FF
+:1071800001010101010101010101010101010101EF
+:1071900001010101010101010101010101010101DF
+:1071A00001010101010101010101010101010101CF
+:1071B00001010101010101010101010101010101BF
+:1071C00001010101010101010101010101010101AF
+:1071D000010101010101010101010101010101019F
+:1071E000010101010101010101010101010101018F
+:1071F000010101010101010101010101010101017F
+:10720000010101010101010101010101010101016E
+:10721000010101010101010101010101010101015E
+:10722000010101010101010101010101010101014E
+:10723000010101010101010101010101010101013E
+:10724000010101010101010101010101010101012E
+:10725000010101010101010101010101010101011E
+:10726000010101010101010101010101010101010E
+:1072700001010101010101010101010101010101FE
+:1072800001010101010101010101010101010101EE
+:1072900001010101010101010101010101010101DE
+:1072A00001010101010101010101010101010101CE
+:1072B00001010101010101010101010101010101BE
+:1072C00001010101010101010101010101010101AE
+:1072D000010101010101010101010101010101019E
+:1072E000010101010101010101010101010101018E
+:1072F000010101010101010101010101010101017E
+:10730000010101010101010101010101010101016D
+:10731000010101010101010101010101010101015D
+:10732000010101010101010101010101010101014D
+:10733000010101010101010101010101010101013D
+:10734000010101010101010101010101010101012D
+:10735000010101010101010101010101010101011D
+:10736000010101010101010101010101010101010D
+:1073700001010101010101010101010101010101FD
+:1073800001010101010101010101010101010101ED
+:1073900001010101010101010101010101010101DD
+:1073A00001010101010101010101010101010101CD
+:1073B00001010101010101010101010101010101BD
+:1073C00001010101010101010101010101010101AD
+:1073D000010101010101010101010101010101019D
+:1073E000010101010101010101010101010101018D
+:1073F000010101010101010101010101010101017D
+:10740000010101010101010101010101010101016C
+:10741000010101010101010101010101010101015C
+:10742000010101010101010101010101010101014C
+:107430000101010101010100000000000000000045
+:10744000000000000000000000000000000000003C
+:10745000000000000000000000000000000000002C
+:10746000000000000000000000000000000000001C
+:10747000000000000000000000000000000000000C
+:1074800000000000000000000000000000000000FC
+:1074900000000000000000000000000000000000EC
+:1074A00000000000000000000000000000000000DC
+:1074B00000000000000000000000000000000000CC
+:1074C00000000000000000000000000000000000BC
+:1074D00000000000000000000000000000000000AC
+:1074E000000000000000000000000000000000009C
+:1074F000000000000000000000000000000000008C
+:10750000000000000000000000000000000000007B
+:10751000000000000000000000000000000000006B
+:10752000000000000000000000000000000000005B
+:10753000000000000000000000000000000000004B
+:10754000000000000000000000000000000000003B
+:10755000000000000000000000000000000000002B
+:10756000000000000000000000000000000000001B
+:10757000000000000000000000000000000000000B
+:1075800000000000000000000000000000000000FB
+:1075900000000000000000000000000000000000EB
+:1075A00000000000000000000000000000000000DB
+:1075B00000000000000000000000000000000000CB
+:1075C00000000000000000000000000000000000BB
+:1075D00000000000000000000000000000000000AB
+:1075E000000000000000000000000000000000009B
+:1075F000000000000000000000000000000000008B
+:10760000000000000000000000000000000000007A
+:10761000000000000000000000000000000000006A
+:10762000000000000000000000000000000000005A
+:10763000000000000000000000000000000000004A
+:10764000000000000000000000000000000000003A
+:10765000000000000000000000000000000000002A
+:10766000000000000000000000000000000000001A
+:10767000000000000000000000000000000000000A
+:1076800000000000000000000000000000000000FA
+:1076900000000000000000000000000000000000EA
+:1076A00000000000000000000000000000000000DA
+:1076B00000000000000000000000000000000000CA
+:1076C00000000000000000000000000000000000BA
+:1076D00000000000000000000000000000000000AA
+:1076E000000000000000000000000000000000009A
+:1076F000000000000000000000000000000000008A
+:107700000000000000000000000000000000000079
+:107710000000000000000000000000000000000069
+:107720000000000000000000000000000000000059
+:107730000000000000000000000000000000000049
+:107740000000000000000000000000000000000039
+:107750000000000000000000000000000000000029
+:107760000000000000000000000000000000000019
+:107770000000000000000000000000000000000009
+:1077800000000000000000000000000000000000F9
+:1077900000000000000000000000000000000000E9
+:1077A00000000000000000000000000000000000D9
+:1077B00000000000000000000000000000000000C9
+:1077C00000000000000000000000000000000000B9
+:1077D00000000000000000000000000000000000A9
+:1077E0000000000000000000000000000000000099
+:1077F0000000000000000000000000000000000089
+:107800000000000000000000000000000000000078
+:107810000000000000000000000000000000000068
+:107820000000000000000000000000000000000058
+:107830000000000000000002020202020202020236
+:107840000202020202020202020202020202020218
+:107850000202020202020202020202020202020208
+:1078600002020202020202020202020202020202F8
+:1078700002020202020202020202020202020202E8
+:1078800002020202020202020202020202020202D8
+:1078900002020202020202020202020202020202C8
+:1078A00002020202020202020202020202020202B8
+:1078B00002020202020202020202020202020202A8
+:1078C0000202020202020202020202020202020298
+:1078D0000202020202020202020202020202020288
+:1078E0000202020202020202020202020202020278
+:1078F0000202020202020202020202020202020268
+:107900000202020202020202020202020202020257
+:107910000202020202020202020202020202020247
+:107920000202020202020202020202020202020237
+:107930000202020202020202020202020202020227
+:107940000202020202020202020202020202020217
+:107950000202020202020202020202020202020207
+:1079600002020202020202020202020202020202F7
+:1079700002020202020202020202020202020202E7
+:1079800002020202020202020202020202020202D7
+:1079900002020202020202020202020202020202C7
+:1079A00002020202020202020202020202020202B7
+:1079B00002020202020202020202020202020202A7
+:1079C0000202020202020202020202020202020297
+:1079D0000202020202020202020202020202020287
+:1079E0000202020202020202020202020202020277
+:1079F0000202020202020202020202020202020267
+:107A00000202020202020202020202020202020256
+:107A10000202020202020202020202020202020246
+:107A20000202020202020202020202020202020236
+:107A30000202020202020202020202020202020226
+:107A40000202020202020202020202020202020216
+:107A50000202020202020202020202020202020206
+:107A600002020202020202020202020202020202F6
+:107A700002020202020202020202020202020202E6
+:107A800002020202020202020202020202020202D6
+:107A900002020202020202020202020202020202C6
+:107AA00002020202020202020202020202020202B6
+:107AB00002020202020202020202020202020202A6
+:107AC0000202020202020202020202020202020296
+:107AD0000202020202020202020202020202020286
+:107AE0000202020202020202020202020202020276
+:107AF0000202020202020202020202020202020266
+:107B00000202020202020202020202020202020255
+:107B10000202020202020202020202020202020245
+:107B20000202020202020202020202020202020235
+:107B30000202020202020202020202020202020225
+:107B40000202020202020202020202020202020215
+:107B50000202020202020202020202020202020205
+:107B600002020202020202020202020202020202F5
+:107B700002020202020202020202020202020202E5
+:107B800002020202020202020202020202020202D5
+:107B900002020202020202020202020202020202C5
+:107BA00002020202020202020202020202020202B5
+:107BB00002020202020202020202020202020202A5
+:107BC0000202020202020202020202020202020295
+:107BD0000202020202020202020202020202020285
+:107BE0000202020202020202020202020202020275
+:107BF0000202020202020202020202020202020265
+:107C00000202020202020202020202020202020254
+:107C10000202020202020202020202020202020244
+:107C20000202020202020202020202020202020234
+:107C30000202020202020202020202020202020224
+:107C40000202020202020202020202020202020214
+:107C50000202020202020202020202020202020204
+:107C600002020202020202020202020202020202F4
+:107C700002020202020202020202020202020202E4
+:107C800002020202020202020202020202020202D4
+:107C900002020202020202020202020202020202C4
+:107CA00002020202020202020202020202020202B4
+:107CB00002020202020202020202020202020202A4
+:107CC0000202020202020202020202020202020294
+:107CD0000202020202020202020202020202020284
+:107CE0000202020202020202020202020202020274
+:107CF0000202020202020202020202020202020264
+:107D00000202020202020202020202020202020253
+:107D10000202020202020202020202020202020243
+:107D20000202020202020202020202020202020233
+:107D30000202020202020202020202020202020223
+:107D40000202020202020202020202020202020213
+:107D50000202020202020202020202020202020203
+:107D600002020202020202020202020202020202F3
+:107D700002020202020202020202020202020202E3
+:107D800002020202020202020202020202020202D3
+:107D900002020202020202020202020202020202C3
+:107DA00002020202020202020202020202020202B3
+:107DB00002020202020202020202020202020202A3
+:107DC0000202020202020202020202020202020293
+:107DD0000202020202020202020202020202020283
+:107DE0000202020202020202020202020202020273
+:107DF0000202020202020202020202020202020263
+:107E00000202020202020202020202020202020252
+:107E10000202020202020202020202020202020242
+:107E20000202020202020202020202020202020232
+:107E30000202020202020202020202020202020222
+:107E40000202020202020202020202020202020212
+:107E50000202020202020202020202020202020202
+:107E600002020202020202020202020202020202F2
+:107E700002020202020202020202020202020202E2
+:107E800002020202020202020202020202020202D2
+:107E900002020202020202020202020202020202C2
+:107EA00002020202020202020202020202020202B2
+:107EB00002020202020202020202020202020202A2
+:107EC0000202020202020202020202020202020292
+:107ED0000202020202020202020202020202020282
+:107EE0000202020202020202020202020202020272
+:107EF0000202020202020202020202020202020262
+:107F00000202020202020202020202020202020251
+:107F10000202020202020202020202020202020241
+:107F20000202020202020202020202020202020231
+:107F30000202020202020202020202020202020221
+:107F40000202020202020202020202020202020211
+:107F50000202020202020202020202020202020201
+:107F600002020202020202020202020202020202F1
+:107F700002020202020202020202020202020202E1
+:107F800002020202020202020202020202020202D1
+:107F900002020202020202020202020202020202C1
+:107FA00002020202020202020202020202020202B1
+:107FB00002020202020202020202020202020202A1
+:107FC0000202020202020202020202020202020291
+:107FD0000202020202020202020202020202020281
+:107FE0000202020202020202020202020202020271
+:107FF0000202020202020202020202020202020261
+:108000000202020202020202020202020202020250
+:108010000202020202020202020202020202020240
+:108020000202020202020202020202020202020230
+:108030000202020202020202020202020202020220
+:108040000202020202020202020202020202020210
+:108050000202020202020202020202020202020200
+:1080600002020202020202020202020202020202F0
+:1080700002020202020202020202020202020202E0
+:1080800002020202020202020202020202020202D0
+:1080900002020202020202020202020202020202C0
+:1080A00002020202020202020202020202020202B0
+:1080B00002020202020202020202020202020202A0
+:1080C0000202020202020202020202020202020290
+:1080D0000202020202020202020202020202020280
+:1080E0000202020202020202020202020202020270
+:1080F0000202020202020202020202020202020260
+:10810000020202020202020202020202020202024F
+:10811000020202020202020202020202020202023F
+:10812000020202020202020202020202020202022F
+:10813000020202020202020202020202020202021F
+:10814000020202020202020202020202020202020F
+:1081500002020202020202020202020202020202FF
+:1081600002020202020202020202020202020202EF
+:1081700002020202020202020202020202020202DF
+:1081800002020202020202020202020202020202CF
+:1081900002020202020202020202020202020202BF
+:1081A00002020202020202020202020202020202AF
+:1081B000020202020202020202020202020202029F
+:1081C000020202020202020202020202020202028F
+:1081D000020202020202020202020202020202027F
+:1081E000020202020202020202020202020202026F
+:1081F000020202020202020202020202020202025F
+:10820000020202020202020202020202020202024E
+:10821000020202020202020202020202020202023E
+:10822000020202020202020202020202020202022E
+:10823000020202020202020202020202020202021E
+:10824000020202020202020202020202020202020E
+:1082500002020202020202020202020202020202FE
+:1082600002020202020202020202020202020202EE
+:1082700002020202020202020202020202020202DE
+:1082800002020202020202020202020202020202CE
+:1082900002020202020202020202020202020202BE
+:1082A00002020202020202020202020202020202AE
+:1082B000020202020202020202020202020202029E
+:1082C000020202020202020202020202020202028E
+:1082D000020202020202020202020202020202027E
+:1082E000020202020202020202020202020202026E
+:1082F000020202020202020202020202020202025E
+:10830000020202020202020202020202020202024D
+:10831000020202020202020202020202020202023D
+:10832000020202020202020202020202020202022D
+:10833000020202020202020202020202020202021D
+:10834000020202020202020202020202020202020D
+:1083500002020202020202020202020202020202FD
+:1083600002020202020202020202020202020202ED
+:1083700002020202020202020202020202020202DD
+:1083800002020202020202020202020202020202CD
+:1083900002020202020202020202020202020202BD
+:1083A00002020202020202020202020202020202AD
+:1083B000020202020202020202020202020202029D
+:1083C000020202020202020202020202020202028D
+:1083D000020202020202020202020202020202027D
+:1083E000020202020202020202020202020202026D
+:1083F000020202020202020202020202020202025D
+:10840000020202020202020202020202020202024C
+:10841000020202020202020202020202020202023C
+:10842000020202020202020202020202020202022C
+:10843000020202020202020202020202020202021C
+:10844000020202020202020202020202020202020C
+:1084500002020202020202020202020202020202FC
+:1084600002020202020202020202020202020202EC
+:1084700002020202020202020202020202020202DC
+:1084800002020202020202020202020202020202CC
+:1084900002020202020202020202020202020202BC
+:1084A00002020202020202020202020202020202AC
+:1084B000020202020202020202020202020202029C
+:1084C000020202020202020202020202020202028C
+:1084D000020202020202020202020202020202027C
+:1084E000020202020202020202020202020202026C
+:1084F000020202020202020202020202020202025C
+:10850000020202020202020202020202020202024B
+:10851000020202020202020202020202020202023B
+:10852000020202020202020202020202020202022B
+:10853000020202020202020202020202020202021B
+:10854000020202020202020202020202020202020B
+:1085500002020202020202020202020202020202FB
+:1085600002020202020202020202020202020202EB
+:1085700002020202020202020202020202020202DB
+:1085800002020202020202020202020202020202CB
+:1085900002020202020202020202020202020202BB
+:1085A00002020202020202020202020202020202AB
+:1085B000020202020202020202020202020202029B
+:1085C000020202020202020202020202020202028B
+:1085D000020202020202020202020202020202027B
+:1085E000020202020202020202020202020202026B
+:1085F000020202020202020202020202020202025B
+:10860000020202020202020202020202020202024A
+:10861000020202020202020202020202020202023A
+:10862000020202020202020202020202020202022A
+:10863000020202020202020202020202020202021A
+:10864000020202020202020202020202020202020A
+:1086500002020202020202020202020202020202FA
+:1086600002020202020202020202020202020202EA
+:1086700002020202020202020202020202020202DA
+:1086800002020202020202020202020202020202CA
+:1086900002020202020202020202020202020202BA
+:1086A00002020202020202020202020202020202AA
+:1086B000020202020202020202020202020202029A
+:1086C000020202020202020202020202020202028A
+:1086D000020202020202020202020202020202027A
+:1086E000020202020202020202020202020202026A
+:1086F000020202020202020202020202020202025A
+:108700000202020202020202020202020202020249
+:108710000202020202020202020202020202020239
+:108720000202020202020202020202020202020229
+:108730000202020202020202020202020202020219
+:108740000202020202020202020202020202020209
+:1087500002020202020202020202020202020202F9
+:1087600002020202020202020202020202020202E9
+:1087700002020202020202020202020202020202D9
+:1087800002020202020202020202020202020202C9
+:1087900002020202020202020202020202020202B9
+:1087A00002020202020202020202020202020202A9
+:1087B0000202020202020202020202020202020299
+:1087C0000202020202020202020202020202020289
+:1087D0000202020202020202020202020202020279
+:1087E0000202020202020202020202020202020269
+:1087F0000202020202020202020202020202020259
+:108800000202020202020202020202020202020248
+:108810000202020202020202020202020202020238
+:108820000202020202020202020202020202020228
+:108830000202020202020202020202020202020218
+:108840000202020202020202020202020202020208
+:1088500002020202020202020202020202020202F8
+:1088600002020202020202020202020202020202E8
+:1088700002020202020202020202020202020202D8
+:1088800002020202020202020202020202020202C8
+:1088900002020202020202020202020202020202B8
+:1088A00002020202020202020202020202020202A8
+:1088B0000202020202020202020202020202020298
+:1088C0000202020202020202020202020202020288
+:1088D0000202020202020202020202020202020278
+:1088E0000202020202020202020202020202020268
+:1088F0000202020202020202020202020202020258
+:108900000202020202020202020202020202020247
+:108910000202020202020202020202020202020237
+:108920000202020202020202020202020202020227
+:108930000202020202020202020202020202020217
+:108940000202020202020202020202020202020207
+:1089500002020202020202020202020202020202F7
+:1089600002020202020202020202020202020202E7
+:1089700002020202020202020202020202020202D7
+:1089800002020202020202020202020202020202C7
+:1089900002020202020202020202020202020202B7
+:1089A00002020202020202020202020202020202A7
+:1089B0000202020202020202020202020202020297
+:1089C0000202020202020202020202020202020287
+:1089D0000202020202020202020202020202020277
+:1089E0000202020202020202020202020202020267
+:1089F0000202020202020202020202020202020257
+:108A00000202020202020202020202020202020246
+:108A10000202020202020202020202020202020236
+:108A20000202020202020202020202020202020226
+:108A30000202020202020202020202020202020216
+:108A40000202020202020202020202020202020206
+:108A500002020202020202020202020202020202F6
+:108A600002020202020202020202020202020202E6
+:108A700002020202020202020202020202020202D6
+:108A800002020202020202020202020202020202C6
+:108A900002020202020202020202020202020202B6
+:108AA00002020202020202020202020202020202A6
+:108AB0000202020202020202020202020202020296
+:108AC0000202020202020202020202020202020286
+:108AD0000202020202020202020202020202020276
+:108AE0000202020202020202020202020202020266
+:108AF0000202020202020202020202020202020256
+:108B00000202020202020202020202020202020245
+:108B10000202020202020202020202020202020235
+:108B20000202020202020202020202020202020225
+:108B30000202020202020202020202020202020215
+:108B40000202020202020202020202020202020205
+:108B500002020202020202020202020202020202F5
+:108B600002020202020202020202020202020202E5
+:108B700002020202020202020202020202020202D5
+:108B800002020202020202020202020202020202C5
+:108B900002020202020202020202020202020202B5
+:108BA00002020202020202020202020202020202A5
+:108BB0000202020202020202020202020202020295
+:108BC0000202020202020202020202020202020285
+:108BD0000202020202020202020202020202020275
+:108BE0000202020202020202020202020202020265
+:108BF0000202020202020202020202020202020255
+:108C00000202020202020202020202020202020244
+:108C10000202020202020202020202020202020234
+:108C20000202020202020202020202020202020224
+:108C30000202020202020200000000000000000026
+:108C40000000000000000000000000000000000024
+:108C50000000000000000000000000000000000014
+:108C60000000000000000000000000000000000004
+:108C700000000000000000000000000000000000F4
+:108C800000000000000000000000000000000000E4
+:108C900000000000000000000000000000000000D4
+:108CA00000000000000000000000000000000000C4
+:108CB00000000000000000000000000000000000B4
+:108CC00000000000000000000000000000000000A4
+:108CD0000000000000000000000000000000000094
+:108CE0000000000000000000000000000000000084
+:108CF0000000000000000000000000000000000074
+:108D00000000000000000000000000000000000063
+:108D10000000000000000000000000000000000053
+:108D20000000000000000000000000000000000043
+:108D30000000000000000000000000000000000033
+:108D40000000000000000000000000000000000023
+:108D50000000000000000000000000000000000013
+:108D60000000000000000000000000000000000003
+:108D700000000000000000000000000000000000F3
+:108D800000000000000000000000000000000000E3
+:108D900000000000000000000000000000000000D3
+:108DA00000000000000000000000000000000000C3
+:108DB00000000000000000000000000000000000B3
+:108DC00000000000000000000000000000000000A3
+:108DD0000000000000000000000000000000000093
+:108DE0000000000000000000000000000000000083
+:108DF0000000000000000000000000000000000073
+:108E00000000000000000000000000000000000062
+:108E10000000000000000000000000000000000052
+:108E20000000000000000000000000000000000042
+:108E30000000000000000000000000000000000032
+:108E40000000000000000000000000000000000022
+:108E50000000000000000000000000000000000012
+:108E60000000000000000000000000000000000002
+:108E700000000000000000000000000000000000F2
+:108E800000000000000000000000000000000000E2
+:108E900000000000000000000000000000000000D2
+:108EA00000000000000000000000000000000000C2
+:108EB00000000000000000000000000000000000B2
+:108EC00000000000000000000000000000000000A2
+:108ED0000000000000000000000000000000000092
+:108EE0000000000000000000000000000000000082
+:108EF0000000000000000000000000000000000072
+:108F00000000000000000000000000000000000061
+:108F10000000000000000000000000000000000051
+:108F20000000000000000000000000000000000041
+:108F300000000000000000690000000000000001C7
+:108F40000101010101010101010101010101010111
+:108F50000101010101010101010101010101010101
+:108F600001010101010101010101010101010101F1
+:108F700001010101010101010101010101010101E1
+:108F800001010101010101010101010101010101D1
+:108F900001010101010101010101010101010101C1
+:108FA00001010101010101010101010101010101B1
+:108FB00001010101010101010101010101010101A1
+:108FC0000101010101010101010101010101010191
+:108FD0000101010101010101010101010101010181
+:108FE0000101010101010101010101010101010171
+:108FF0000101010101010101010101010101010161
+:109000000101010101010101010101010101010150
+:109010000101010101010101010101010101010140
+:109020000101010101010101010101010101010130
+:109030000101010101010101010101010101010120
+:109040000101010101010101010101010101010110
+:109050000101010101010101010101010101010100
+:1090600001010101010101010101010101010101F0
+:1090700001010101010101010101010101010101E0
+:1090800001010101010101010101010101010101D0
+:1090900001010101010101010101010101010101C0
+:1090A00001010101010101010101010101010101B0
+:1090B00001010101010101010101010101010101A0
+:1090C0000101010101010101010101010101010190
+:1090D0000101010101010101010101010101010180
+:1090E0000101010101010101010101010101010170
+:1090F0000101010101010101010101010101010160
+:10910000010101010101010101010101010101014F
+:10911000010101010101010101010101010101013F
+:10912000010101010101010101010101010101012F
+:10913000010101010101010101010101010101011F
+:10914000010101010101010101010101010101010F
+:1091500001010101010101010101010101010101FF
+:1091600001010101010101010101010101010101EF
+:1091700001010101010101010101010101010101DF
+:1091800001010101010101010101010101010101CF
+:1091900001010101010101010101010101010101BF
+:1091A00001010101010101010101010101010101AF
+:1091B000010101010101010101010101010101019F
+:1091C000010101010101010101010101010101018F
+:1091D000010101010101010101010101010101017F
+:1091E000010101010101010101010101010101016F
+:1091F000010101010101010101010101010101015F
+:10920000010101010101010101010101010101014E
+:10921000010101010101010101010101010101013E
+:10922000010101010101010101010101010101012E
+:10923000010101010101010101010101010101011E
+:10924000010101010101010101010101010101010E
+:1092500001010101010101010101010101010101FE
+:1092600001010101010101010101010101010101EE
+:1092700001010101010101010101010101010101DE
+:1092800001010101010101010101010101010101CE
+:1092900001010101010101010101010101010101BE
+:1092A00001010101010101010101010101010101AE
+:1092B000010101010101010101010101010101019E
+:1092C000010101010101010101010101010101018E
+:1092D000010101010101010101010101010101017E
+:1092E000010101010101010101010101010101016E
+:1092F000010101010101010101010101010101015E
+:10930000010101010101010101010101010101014D
+:10931000010101010101010101010101010101013D
+:10932000010101010101010101010101010101012D
+:10933000010101010101010101010101010101011D
+:10934000010101010101010101010101010101010D
+:1093500001010101010101010101010101010101FD
+:1093600001010101010101010101010101010101ED
+:1093700001010101010101010101010101010101DD
+:1093800001010101010101010101010101010101CD
+:1093900001010101010101010101010101010101BD
+:1093A00001010101010101010101010101010101AD
+:1093B000010101010101010101010101010101019D
+:1093C000010101010101010101010101010101018D
+:1093D000010101010101010101010101010101017D
+:1093E000010101010101010101010101010101016D
+:1093F000010101010101010101010101010101015D
+:10940000010101010101010101010101010101014C
+:10941000010101010101010101010101010101013C
+:10942000010101010101010101010101010101012C
+:10943000010101010101010101010101010101011C
+:10944000010101010101010101010101010101010C
+:1094500001010101010101010101010101010101FC
+:1094600001010101010101010101010101010101EC
+:1094700001010101010101010101010101010101DC
+:1094800001010101010101010101010101010101CC
+:1094900001010101010101010101010101010101BC
+:1094A00001010101010101010101010101010101AC
+:1094B000010101010101010101010101010101019C
+:1094C000010101010101010101010101010101018C
+:1094D000010101010101010101010101010101017C
+:1094E000010101010101010101010101010101016C
+:1094F000010101010101010101010101010101015C
+:10950000010101010101010101010101010101014B
+:10951000010101010101010101010101010101013B
+:10952000010101010101010101010101010101012B
+:10953000010101010101010101010101010101011B
+:10954000010101010101010101010101010101010B
+:1095500001010101010101010101010101010101FB
+:1095600001010101010101010101010101010101EB
+:1095700001010101010101010101010101010101DB
+:1095800001010101010101010101010101010101CB
+:1095900001010101010101010101010101010101BB
+:1095A00001010101010101010101010101010101AB
+:1095B000010101010101010101010101010101019B
+:1095C000010101010101010101010101010101018B
+:1095D000010101010101010101010101010101017B
+:1095E000010101010101010101010101010101016B
+:1095F000010101010101010101010101010101015B
+:10960000010101010101010101010101010101014A
+:10961000010101010101010101010101010101013A
+:10962000010101010101010101010101010101012A
+:10963000010101010101010101010101010101011A
+:10964000010101010101010101010101010101010A
+:1096500001010101010101010101010101010101FA
+:1096600001010101010101010101010101010101EA
+:1096700001010101010101010101010101010101DA
+:1096800001010101010101010101010101010101CA
+:1096900001010101010101010101010101010101BA
+:1096A00001010101010101010101010101010101AA
+:1096B000010101010101010101010101010101019A
+:1096C000010101010101010101010101010101018A
+:1096D000010101010101010101010101010101017A
+:1096E000010101010101010101010101010101016A
+:1096F000010101010101010101010101010101015A
+:109700000101010101010101010101010101010149
+:109710000101010101010101010101010101010139
+:109720000101010101010101010101010101010129
+:109730000101010101010101010101010101010119
+:109740000101010101010101010101010101010109
+:1097500001010101010101010101010101010101F9
+:1097600001010101010101010101010101010101E9
+:1097700001010101010101010101010101010101D9
+:1097800001010101010101010101010101010101C9
+:1097900001010101010101010101010101010101B9
+:1097A00001010101010101010101010101010101A9
+:1097B0000101010101010101010101010101010199
+:1097C0000101010101010101010101010101010189
+:1097D0000101010101010101010101010101010179
+:1097E0000101010101010101010101010101010169
+:1097F0000101010101010101010101010101010159
+:109800000101010101010101010101010101010148
+:109810000101010101010101010101010101010138
+:109820000101010101010101010101010101010128
+:109830000101010101010101010101010101010118
+:109840000101010101010101010101010101010108
+:1098500001010101010101010101010101010101F8
+:1098600001010101010101010101010101010101E8
+:1098700001010101010101010101010101010101D8
+:1098800001010101010101010101010101010101C8
+:1098900001010101010101010101010101010101B8
+:1098A00001010101010101010101010101010101A8
+:1098B0000101010101010101010101010101010198
+:1098C0000101010101010101010101010101010188
+:1098D0000101010101010101010101010101010178
+:1098E0000101010101010101010101010101010168
+:1098F0000101010101010101010101010101010158
+:109900000101010101010101010101010101010147
+:109910000101010101010101010101010101010137
+:109920000101010101010101010101010101010127
+:109930000101010101010101010101010101010117
+:109940000101010101010101010101010101010107
+:1099500001010101010101010101010101010101F7
+:1099600001010101010101010101010101010101E7
+:1099700001010101010101010101010101010101D7
+:1099800001010101010101010101010101010101C7
+:1099900001010101010101010101010101010101B7
+:1099A00001010101010101010101010101010101A7
+:1099B0000101010101010101010101010101010197
+:1099C0000101010101010101010101010101010187
+:1099D0000101010101010101010101010101010177
+:1099E0000101010101010101010101010101010167
+:1099F0000101010101010101010101010101010157
+:109A00000101010101010101010101010101010146
+:109A10000101010101010101010101010101010136
+:109A20000101010101010101010101010101010126
+:109A30000101010101010101010101010101010116
+:109A40000101010101010101010101010101010106
+:109A500001010101010101010101010101010101F6
+:109A600001010101010101010101010101010101E6
+:109A700001010101010101010101010101010101D6
+:109A800001010101010101010101010101010101C6
+:109A900001010101010101010101010101010101B6
+:109AA00001010101010101010101010101010101A6
+:109AB0000101010101010101010101010101010196
+:109AC0000101010101010101010101010101010186
+:109AD0000101010101010101010101010101010176
+:109AE0000101010101010101010101010101010166
+:109AF0000101010101010101010101010101010156
+:109B00000101010101010101010101010101010145
+:109B10000101010101010101010101010101010135
+:109B20000101010101010101010101010101010125
+:109B30000101010101010101010101010101010115
+:109B40000101010101010101010101010101010105
+:109B500001010101010101010101010101010101F5
+:109B600001010101010101010101010101010101E5
+:109B700001010101010101010101010101010101D5
+:109B800001010101010101010101010101010101C5
+:109B900001010101010101010101010101010101B5
+:109BA00001010101010101010101010101010101A5
+:109BB0000101010101010101010101010101010195
+:109BC0000101010101010101010101010101010185
+:109BD0000101010101010101010101010101010175
+:109BE0000101010101010101010101010101010165
+:109BF0000101010101010101010101010101010155
+:109C00000101010101010101010101010101010144
+:109C10000101010101010101010101010101010134
+:109C20000101010101010101010101010101010124
+:109C30000101010101010101010101010101010114
+:109C40000101010101010101010101010101010104
+:109C500001010101010101010101010101010101F4
+:109C600001010101010101010101010101010101E4
+:109C700001010101010101010101010101010101D4
+:109C800001010101010101010101010101010101C4
+:109C900001010101010101010101010101010101B4
+:109CA00001010101010101010101010101010101A4
+:109CB0000101010101010101010101010101010194
+:109CC0000101010101010101010101010101010184
+:109CD0000101010101010101010101010101010174
+:109CE0000101010101010101010101010101010164
+:109CF0000101010101010101010101010101010154
+:109D00000101010101010101010101010101010143
+:109D10000101010101010101010101010101010133
+:109D20000101010101010101010101010101010123
+:109D30000101010101010101010101010101010113
+:109D40000101010101010101010101010101010103
+:109D500001010101010101010101010101010101F3
+:109D600001010101010101010101010101010101E3
+:109D700001010101010101010101010101010101D3
+:109D800001010101010101010101010101010101C3
+:109D900001010101010101010101010101010101B3
+:109DA00001010101010101010101010101010101A3
+:109DB0000101010101010101010101010101010193
+:109DC0000101010101010101010101010101010183
+:109DD0000101010101010101010101010101010173
+:109DE0000101010101010101010101010101010163
+:109DF0000101010101010101010101010101010153
+:109E00000101010101010101010101010101010142
+:109E10000101010101010101010101010101010132
+:109E20000101010101010101010101010101010122
+:109E30000101010101010101010101010101010112
+:109E40000101010101010101010101010101010102
+:109E500001010101010101010101010101010101F2
+:109E600001010101010101010101010101010101E2
+:109E700001010101010101010101010101010101D2
+:109E800001010101010101010101010101010101C2
+:109E900001010101010101010101010101010101B2
+:109EA00001010101010101010101010101010101A2
+:109EB0000101010101010101010101010101010192
+:109EC0000101010101010101010101010101010182
+:109ED0000101010101010101010101010101010172
+:109EE0000101010101010101010101010101010162
+:109EF0000101010101010101010101010101010152
+:109F00000101010101010101010101010101010141
+:109F10000101010101010101010101010101010131
+:109F20000101010101010101010101010101010121
+:109F30000101010101010101010101010101010111
+:109F40000101010101010101010101010101010101
+:109F500001010101010101010101010101010101F1
+:109F600001010101010101010101010101010101E1
+:109F700001010101010101010101010101010101D1
+:109F800001010101010101010101010101010101C1
+:109F900001010101010101010101010101010101B1
+:109FA00001010101010101010101010101010101A1
+:109FB0000101010101010101010101010101010191
+:109FC0000101010101010101010101010101010181
+:109FD0000101010101010101010101010101010171
+:109FE0000101010101010101010101010101010161
+:109FF0000101010101010101010101010101010151
+:10A000000101010101010101010101010101010140
+:10A010000101010101010101010101010101010130
+:10A020000101010101010101010101010101010120
+:10A030000101010101010101010101010101010110
+:10A040000101010101010101010101010101010100
+:10A0500001010101010101010101010101010101F0
+:10A0600001010101010101010101010101010101E0
+:10A0700001010101010101010101010101010101D0
+:10A0800001010101010101010101010101010101C0
+:10A0900001010101010101010101010101010101B0
+:10A0A00001010101010101010101010101010101A0
+:10A0B0000101010101010101010101010101010190
+:10A0C0000101010101010101010101010101010180
+:10A0D0000101010101010101010101010101010170
+:10A0E0000101010101010101010101010101010160
+:10A0F0000101010101010101010101010101010150
+:10A10000010101010101010101010101010101013F
+:10A11000010101010101010101010101010101012F
+:10A12000010101010101010101010101010101011F
+:10A13000010101010101010101010101010101010F
+:10A1400001010101010101010101010101010101FF
+:10A1500001010101010101010101010101010101EF
+:10A1600001010101010101010101010101010101DF
+:10A1700001010101010101010101010101010101CF
+:10A1800001010101010101010101010101010101BF
+:10A1900001010101010101010101010101010101AF
+:10A1A000010101010101010101010101010101019F
+:10A1B000010101010101010101010101010101018F
+:10A1C000010101010101010101010101010101017F
+:10A1D000010101010101010101010101010101016F
+:10A1E000010101010101010101010101010101015F
+:10A1F000010101010101010101010101010101014F
+:10A20000010101010101010101010101010101013E
+:10A21000010101010101010101010101010101012E
+:10A22000010101010101010101010101010101011E
+:10A23000010101010101010101010101010101010E
+:10A2400001010101010101010101010101010101FE
+:10A2500001010101010101010101010101010101EE
+:10A2600001010101010101010101010101010101DE
+:10A2700001010101010101010101010101010101CE
+:10A2800001010101010101010101010101010101BE
+:10A2900001010101010101010101010101010101AE
+:10A2A000010101010101010101010101010101019E
+:10A2B000010101010101010101010101010101018E
+:10A2C000010101010101010101010101010101017E
+:10A2D000010101010101010101010101010101016E
+:10A2E000010101010101010101010101010101015E
+:10A2F000010101010101010101010101010101014E
+:10A30000010101010101010101010101010101013D
+:10A31000010101010101010101010101010101012D
+:10A32000010101010101010101010101010101011D
+:10A33000010101010101010101010101010101000E
+:10A34000000000000000000000000000000000000D
+:10A3500000000000000000000000000000000000FD
+:10A3600000000000000000000000000000000000ED
+:10A3700000000000000000000000000000000000DD
+:10A3800000000000000000000000000000000000CD
+:10A3900000000000000000000000000000000000BD
+:10A3A00000000000000000000000000000000000AD
+:10A3B000000000000000000000000000000000009D
+:10A3C000000000000000000000000000000000008D
+:10A3D000000000000000000000000000000000007D
+:10A3E000000000000000000000000000000000006D
+:10A3F000000000000000000000000000000000005D
+:10A40000000000000000000000000000000000004C
+:10A41000000000000000000000000000000000003C
+:10A42000000000000000000000000000000000002C
+:10A43000000000000000000000000000000000001C
+:10A44000000000000000000000000000000000000C
+:10A4500000000000000000000000000000000000FC
+:10A4600000000000000000000000000000000000EC
+:10A4700000000000000000000000000000000000DC
+:10A4800000000000000000000000000000000000CC
+:10A4900000000000000000000000000000000000BC
+:10A4A00000000000000000000000000000000000AC
+:10A4B000000000000000000000000000000000009C
+:10A4C000000000000000000000000000000000008C
+:10A4D000000000000000000000000000000000007C
+:10A4E000000000000000000000000000000000006C
+:10A4F000000000000000000000000000000000005C
+:10A50000000000000000000000000000000000004B
+:10A51000000000000000000000000000000000003B
+:10A52000000000000000000000000000000000002B
+:10A53000000000000000000000000000000000001B
+:10A54000000000000000000000000000000000000B
+:10A5500000000000000000000000000000000000FB
+:10A5600000000000000000000000000000000000EB
+:10A5700000000000000000000000000000000000DB
+:10A5800000000000000000000000000000000000CB
+:10A5900000000000000000000000000000000000BB
+:10A5A00000000000000000000000000000000000AB
+:10A5B000000000000000000000000000000000009B
+:10A5C000000000000000000000000000000000008B
+:10A5D000000000000000000000000000000000007B
+:10A5E000000000000000000000000000000000006B
+:10A5F000000000000000000000000000000000005B
+:10A60000000000000000000000000000000000004A
+:10A61000000000000000000000000000000000003A
+:10A62000000000000000000000000000000000002A
+:10A63000000000000000000000000000000000001A
+:10A64000000000000000000000000000000000000A
+:10A6500000000000000000000000000000000000FA
+:10A6600000000000000000000000000000000000EA
+:10A6700000000000000000000000000000000000DA
+:10A6800000000000000000000000000000000000CA
+:10A6900000000000000000000000000000000000BA
+:10A6A00000000000000000000000000000000000AA
+:10A6B000000000000000000000000000000000009A
+:10A6C000000000000000000000000000000000008A
+:10A6D000000000000000000000000000000000007A
+:10A6E000000000000000000000000000000000006A
+:10A6F000000000000000000000000000000000005A
+:10A700000000000000000000000000000000000049
+:10A710000000000000000000000000000000000039
+:10A720000000000000000000000000000000000029
+:10A730000000000000000000000000000000000217
+:10A7400002020202020202020202020202020202E9
+:10A7500002020202020202020202020202020202D9
+:10A7600002020202020202020202020202020202C9
+:10A7700002020202020202020202020202020202B9
+:10A7800002020202020202020202020202020202A9
+:10A790000202020202020202020202020202020299
+:10A7A0000202020202020202020202020202020289
+:10A7B0000202020202020202020202020202020279
+:10A7C0000202020202020202020202020202020269
+:10A7D0000202020202020202020202020202020259
+:10A7E0000202020202020202020202020202020249
+:10A7F0000202020202020202020202020202020239
+:10A800000202020202020202020202020202020228
+:10A810000202020202020202020202020202020218
+:10A820000202020202020202020202020202020208
+:10A8300002020202020202020202020202020202F8
+:10A8400002020202020202020202020202020202E8
+:10A8500002020202020202020202020202020202D8
+:10A8600002020202020202020202020202020202C8
+:10A8700002020202020202020202020202020202B8
+:10A8800002020202020202020202020202020202A8
+:10A890000202020202020202020202020202020298
+:10A8A0000202020202020202020202020202020288
+:10A8B0000202020202020202020202020202020278
+:10A8C0000202020202020202020202020202020268
+:10A8D0000202020202020202020202020202020258
+:10A8E0000202020202020202020202020202020248
+:10A8F0000202020202020202020202020202020238
+:10A900000202020202020202020202020202020227
+:10A910000202020202020202020202020202020217
+:10A920000202020202020202020202020202020207
+:10A9300002020202020202020202020202020202F7
+:10A9400002020202020202020202020202020202E7
+:10A9500002020202020202020202020202020202D7
+:10A9600002020202020202020202020202020202C7
+:10A9700002020202020202020202020202020202B7
+:10A9800002020202020202020202020202020202A7
+:10A990000202020202020202020202020202020297
+:10A9A0000202020202020202020202020202020287
+:10A9B0000202020202020202020202020202020277
+:10A9C0000202020202020202020202020202020267
+:10A9D0000202020202020202020202020202020257
+:10A9E0000202020202020202020202020202020247
+:10A9F0000202020202020202020202020202020237
+:10AA00000202020202020202020202020202020226
+:10AA10000202020202020202020202020202020216
+:10AA20000202020202020202020202020202020206
+:10AA300002020202020202020202020202020202F6
+:10AA400002020202020202020202020202020202E6
+:10AA500002020202020202020202020202020202D6
+:10AA600002020202020202020202020202020202C6
+:10AA700002020202020202020202020202020202B6
+:10AA800002020202020202020202020202020202A6
+:10AA90000202020202020202020202020202020296
+:10AAA0000202020202020202020202020202020286
+:10AAB0000202020202020202020202020202020276
+:10AAC0000202020202020202020202020202020266
+:10AAD0000202020202020202020202020202020256
+:10AAE0000202020202020202020202020202020246
+:10AAF0000202020202020202020202020202020236
+:10AB00000202020202020202020202020202020225
+:10AB10000202020202020202020202020202020215
+:10AB20000202020202020202020202020202020205
+:10AB300002020202020202020202020202020202F5
+:10AB400002020202020202020202020202020202E5
+:10AB500002020202020202020202020202020202D5
+:10AB600002020202020202020202020202020202C5
+:10AB700002020202020202020202020202020202B5
+:10AB800002020202020202020202020202020202A5
+:10AB90000202020202020202020202020202020295
+:10ABA0000202020202020202020202020202020285
+:10ABB0000202020202020202020202020202020275
+:10ABC0000202020202020202020202020202020265
+:10ABD0000202020202020202020202020202020255
+:10ABE0000202020202020202020202020202020245
+:10ABF0000202020202020202020202020202020235
+:10AC00000202020202020202020202020202020224
+:10AC10000202020202020202020202020202020214
+:10AC20000202020202020202020202020202020204
+:10AC300002020202020202020202020202020202F4
+:10AC400002020202020202020202020202020202E4
+:10AC500002020202020202020202020202020202D4
+:10AC600002020202020202020202020202020202C4
+:10AC700002020202020202020202020202020202B4
+:10AC800002020202020202020202020202020202A4
+:10AC90000202020202020202020202020202020294
+:10ACA0000202020202020202020202020202020284
+:10ACB0000202020202020202020202020202020274
+:10ACC0000202020202020202020202020202020264
+:10ACD0000202020202020202020202020202020254
+:10ACE0000202020202020202020202020202020244
+:10ACF0000202020202020202020202020202020234
+:10AD00000202020202020202020202020202020223
+:10AD10000202020202020202020202020202020213
+:10AD20000202020202020202020202020202020203
+:10AD300002020202020202020202020202020202F3
+:10AD400002020202020202020202020202020202E3
+:10AD500002020202020202020202020202020202D3
+:10AD600002020202020202020202020202020202C3
+:10AD700002020202020202020202020202020202B3
+:10AD800002020202020202020202020202020202A3
+:10AD90000202020202020202020202020202020293
+:10ADA0000202020202020202020202020202020283
+:10ADB0000202020202020202020202020202020273
+:10ADC0000202020202020202020202020202020263
+:10ADD0000202020202020202020202020202020253
+:10ADE0000202020202020202020202020202020243
+:10ADF0000202020202020202020202020202020233
+:10AE00000202020202020202020202020202020222
+:10AE10000202020202020202020202020202020212
+:10AE20000202020202020202020202020202020202
+:10AE300002020202020202020202020202020202F2
+:10AE400002020202020202020202020202020202E2
+:10AE500002020202020202020202020202020202D2
+:10AE600002020202020202020202020202020202C2
+:10AE700002020202020202020202020202020202B2
+:10AE800002020202020202020202020202020202A2
+:10AE90000202020202020202020202020202020292
+:10AEA0000202020202020202020202020202020282
+:10AEB0000202020202020202020202020202020272
+:10AEC0000202020202020202020202020202020262
+:10AED0000202020202020202020202020202020252
+:10AEE0000202020202020202020202020202020242
+:10AEF0000202020202020202020202020202020232
+:10AF00000202020202020202020202020202020221
+:10AF10000202020202020202020202020202020211
+:10AF20000202020202020202020202020202020201
+:10AF300002020202020202020202020202020202F1
+:10AF400002020202020202020202020202020202E1
+:10AF500002020202020202020202020202020202D1
+:10AF600002020202020202020202020202020202C1
+:10AF700002020202020202020202020202020202B1
+:10AF800002020202020202020202020202020202A1
+:10AF90000202020202020202020202020202020291
+:10AFA0000202020202020202020202020202020281
+:10AFB0000202020202020202020202020202020271
+:10AFC0000202020202020202020202020202020261
+:10AFD0000202020202020202020202020202020251
+:10AFE0000202020202020202020202020202020241
+:10AFF0000202020202020202020202020202020231
+:10B000000202020202020202020202020202020220
+:10B010000202020202020202020202020202020210
+:10B020000202020202020202020202020202020200
+:10B0300002020202020202020202020202020202F0
+:10B0400002020202020202020202020202020202E0
+:10B0500002020202020202020202020202020202D0
+:10B0600002020202020202020202020202020202C0
+:10B0700002020202020202020202020202020202B0
+:10B0800002020202020202020202020202020202A0
+:10B090000202020202020202020202020202020290
+:10B0A0000202020202020202020202020202020280
+:10B0B0000202020202020202020202020202020270
+:10B0C0000202020202020202020202020202020260
+:10B0D0000202020202020202020202020202020250
+:10B0E0000202020202020202020202020202020240
+:10B0F0000202020202020202020202020202020230
+:10B10000020202020202020202020202020202021F
+:10B11000020202020202020202020202020202020F
+:10B1200002020202020202020202020202020202FF
+:10B1300002020202020202020202020202020202EF
+:10B1400002020202020202020202020202020202DF
+:10B1500002020202020202020202020202020202CF
+:10B1600002020202020202020202020202020202BF
+:10B1700002020202020202020202020202020202AF
+:10B18000020202020202020202020202020202029F
+:10B19000020202020202020202020202020202028F
+:10B1A000020202020202020202020202020202027F
+:10B1B000020202020202020202020202020202026F
+:10B1C000020202020202020202020202020202025F
+:10B1D000020202020202020202020202020202024F
+:10B1E000020202020202020202020202020202023F
+:10B1F000020202020202020202020202020202022F
+:10B20000020202020202020202020202020202021E
+:10B21000020202020202020202020202020202020E
+:10B2200002020202020202020202020202020202FE
+:10B2300002020202020202020202020202020202EE
+:10B2400002020202020202020202020202020202DE
+:10B2500002020202020202020202020202020202CE
+:10B2600002020202020202020202020202020202BE
+:10B2700002020202020202020202020202020202AE
+:10B28000020202020202020202020202020202029E
+:10B29000020202020202020202020202020202028E
+:10B2A000020202020202020202020202020202027E
+:10B2B000020202020202020202020202020202026E
+:10B2C000020202020202020202020202020202025E
+:10B2D000020202020202020202020202020202024E
+:10B2E000020202020202020202020202020202023E
+:10B2F000020202020202020202020202020202022E
+:10B30000020202020202020202020202020202021D
+:10B31000020202020202020202020202020202020D
+:10B3200002020202020202020202020202020202FD
+:10B3300002020202020202020202020202020202ED
+:10B3400002020202020202020202020202020202DD
+:10B3500002020202020202020202020202020202CD
+:10B3600002020202020202020202020202020202BD
+:10B3700002020202020202020202020202020202AD
+:10B38000020202020202020202020202020202029D
+:10B39000020202020202020202020202020202028D
+:10B3A000020202020202020202020202020202027D
+:10B3B000020202020202020202020202020202026D
+:10B3C000020202020202020202020202020202025D
+:10B3D000020202020202020202020202020202024D
+:10B3E000020202020202020202020202020202023D
+:10B3F000020202020202020202020202020202022D
+:10B40000020202020202020202020202020202021C
+:10B41000020202020202020202020202020202020C
+:10B4200002020202020202020202020202020202FC
+:10B4300002020202020202020202020202020202EC
+:10B4400002020202020202020202020202020202DC
+:10B4500002020202020202020202020202020202CC
+:10B4600002020202020202020202020202020202BC
+:10B4700002020202020202020202020202020202AC
+:10B48000020202020202020202020202020202029C
+:10B49000020202020202020202020202020202028C
+:10B4A000020202020202020202020202020202027C
+:10B4B000020202020202020202020202020202026C
+:10B4C000020202020202020202020202020202025C
+:10B4D000020202020202020202020202020202024C
+:10B4E000020202020202020202020202020202023C
+:10B4F000020202020202020202020202020202022C
+:10B50000020202020202020202020202020202021B
+:10B51000020202020202020202020202020202020B
+:10B5200002020202020202020202020202020202FB
+:10B5300002020202020202020202020202020202EB
+:10B5400002020202020202020202020202020202DB
+:10B5500002020202020202020202020202020202CB
+:10B5600002020202020202020202020202020202BB
+:10B5700002020202020202020202020202020202AB
+:10B58000020202020202020202020202020202029B
+:10B59000020202020202020202020202020202028B
+:10B5A000020202020202020202020202020202027B
+:10B5B000020202020202020202020202020202026B
+:10B5C000020202020202020202020202020202025B
+:10B5D000020202020202020202020202020202024B
+:10B5E000020202020202020202020202020202023B
+:10B5F000020202020202020202020202020202022B
+:10B60000020202020202020202020202020202021A
+:10B61000020202020202020202020202020202020A
+:10B6200002020202020202020202020202020202FA
+:10B6300002020202020202020202020202020202EA
+:10B6400002020202020202020202020202020202DA
+:10B6500002020202020202020202020202020202CA
+:10B6600002020202020202020202020202020202BA
+:10B6700002020202020202020202020202020202AA
+:10B68000020202020202020202020202020202029A
+:10B69000020202020202020202020202020202028A
+:10B6A000020202020202020202020202020202027A
+:10B6B000020202020202020202020202020202026A
+:10B6C000020202020202020202020202020202025A
+:10B6D000020202020202020202020202020202024A
+:10B6E000020202020202020202020202020202023A
+:10B6F000020202020202020202020202020202022A
+:10B700000202020202020202020202020202020219
+:10B710000202020202020202020202020202020209
+:10B7200002020202020202020202020202020202F9
+:10B7300002020202020202020202020202020202E9
+:10B7400002020202020202020202020202020202D9
+:10B7500002020202020202020202020202020202C9
+:10B7600002020202020202020202020202020202B9
+:10B7700002020202020202020202020202020202A9
+:10B780000202020202020202020202020202020299
+:10B790000202020202020202020202020202020289
+:10B7A0000202020202020202020202020202020279
+:10B7B0000202020202020202020202020202020269
+:10B7C0000202020202020202020202020202020259
+:10B7D0000202020202020202020202020202020249
+:10B7E0000202020202020202020202020202020239
+:10B7F0000202020202020202020202020202020229
+:10B800000202020202020202020202020202020218
+:10B810000202020202020202020202020202020208
+:10B8200002020202020202020202020202020202F8
+:10B8300002020202020202020202020202020202E8
+:10B8400002020202020202020202020202020202D8
+:10B8500002020202020202020202020202020202C8
+:10B8600002020202020202020202020202020202B8
+:10B8700002020202020202020202020202020202A8
+:10B880000202020202020202020202020202020298
+:10B890000202020202020202020202020202020288
+:10B8A0000202020202020202020202020202020278
+:10B8B0000202020202020202020202020202020268
+:10B8C0000202020202020202020202020202020258
+:10B8D0000202020202020202020202020202020248
+:10B8E0000202020202020202020202020202020238
+:10B8F0000202020202020202020202020202020228
+:10B900000202020202020202020202020202020217
+:10B910000202020202020202020202020202020207
+:10B9200002020202020202020202020202020202F7
+:10B9300002020202020202020202020202020202E7
+:10B9400002020202020202020202020202020202D7
+:10B9500002020202020202020202020202020202C7
+:10B9600002020202020202020202020202020202B7
+:10B9700002020202020202020202020202020202A7
+:10B980000202020202020202020202020202020297
+:10B990000202020202020202020202020202020287
+:10B9A0000202020202020202020202020202020277
+:10B9B0000202020202020202020202020202020267
+:10B9C0000202020202020202020202020202020257
+:10B9D0000202020202020202020202020202020247
+:10B9E0000202020202020202020202020202020237
+:10B9F0000202020202020202020202020202020227
+:10BA00000202020202020202020202020202020216
+:10BA10000202020202020202020202020202020206
+:10BA200002020202020202020202020202020202F6
+:10BA300002020202020202020202020202020202E6
+:10BA400002020202020202020202020202020202D6
+:10BA500002020202020202020202020202020202C6
+:10BA600002020202020202020202020202020202B6
+:10BA700002020202020202020202020202020202A6
+:10BA80000202020202020202020202020202020296
+:10BA90000202020202020202020202020202020286
+:10BAA0000202020202020202020202020202020276
+:10BAB0000202020202020202020202020202020266
+:10BAC0000202020202020202020202020202020256
+:10BAD0000202020202020202020202020202020246
+:10BAE0000202020202020202020202020202020236
+:10BAF0000202020202020202020202020202020226
+:10BB00000202020202020202020202020202020215
+:10BB10000202020202020202020202020202020205
+:10BB200002020202020202020202020202020202F5
+:10BB300002020202020202020202020202020200E7
+:10BB400000000000000000000000000000000000F5
+:10BB500000000000000000000000000000000000E5
+:10BB600000000000000000000000000000000000D5
+:10BB700000000000000000000000000000000000C5
+:10BB800000000000000000000000000000000000B5
+:10BB900000000000000000000000000000000000A5
+:10BBA0000000000000000000000000000000000095
+:10BBB0000000000000000000000000000000000085
+:10BBC0000000000000000000000000000000000075
+:10BBD0000000000000000000000000000000000065
+:10BBE0000000000000000000000000000000000055
+:10BBF0000000000000000000000000000000000045
+:10BC00000000000000000000000000000000000034
+:10BC10000000000000000000000000000000000024
+:10BC20000000000000000000000000000000000014
+:10BC30000000000000000000000000000000000004
+:10BC400000000000000000000000000000000000F4
+:10BC500000000000000000000000000000000000E4
+:10BC600000000000000000000000000000000000D4
+:10BC700000000000000000000000000000000000C4
+:10BC800000000000000000000000000000000000B4
+:10BC900000000000000000000000000000000000A4
+:10BCA0000000000000000000000000000000000094
+:10BCB0000000000000000000000000000000000084
+:10BCC0000000000000000000000000000000000074
+:10BCD0000000000000000000000000000000000064
+:10BCE0000000000000000000000000000000000054
+:10BCF0000000000000000000000000000000000044
+:10BD00000000000000000000000000000000000033
+:10BD10000000000000000000000000000000000023
+:10BD20000000000000000000000000000000000013
+:10BD30000000000000000000000000000000000003
+:10BD400000000000000000000000000000000000F3
+:10BD500000000000000000000000000000000000E3
+:10BD600000000000000000000000000000000000D3
+:10BD700000000000000000000000000000000000C3
+:10BD800000000000000000000000000000000000B3
+:10BD900000000000000000000000000000000000A3
+:10BDA0000000000000000000000000000000000093
+:10BDB0000000000000000000000000000000000083
+:10BDC0000000000000000000000000000000000073
+:10BDD0000000000000000000000000000000000063
+:10BDE0000000000000000000000000000000000053
+:10BDF0000000000000000000000000000000000043
+:10BE00000000000000000000000000000000000032
+:10BE10000000000000000000000000000000000022
+:10BE20000000000000000000000000000000000012
+:10BE30000000000000000000000000000000000002
+:10BE400000000000000000000000000000000000F2
+:10BE500000000000000000000000000000000000E2
+:10BE600000000000000000000000000000000000D2
+:10BE700000000000000000000000000000000000C2
+:10BE800000000000000000000000000000000000B2
+:10BE900000000000000000000000000000000000A2
+:10BEA0000000000000000000000000000000000092
+:10BEB0000000000000000000000000000000000082
+:10BEC0000000000000000000000000000000000072
+:10BED0000000000000000000000000000000000062
+:10BEE0000000000000000000000000000000000052
+:10BEF0000000000000000000000000000000000042
+:10BF00000000000000000000000000000000000031
+:10BF10000000000000000000000000000000000021
+:10BF20000000000000000000000000000000000011
+:10BF30000000000000000000000000000000000001
+:10BF400000000000000000000000000000000000F1
+:10BF500000000000000000000000000000000000E1
+:10BF600000000000000000000000000000000000D1
+:10BF700000000000000000000000000000000000C1
+:10BF800000000000000000000000000000000000B1
+:10BF900000000000000000000000000000000000A1
+:10BFA0000000000000000000000000000000000091
+:10BFB0000000000000000000000000000000000081
+:10BFC0000000000000000000000000000000000071
+:10BFD0000000000000000000000000000000000061
+:10BFE0000000000000000000000000000000000051
+:10BFF0000000000000000000000000000000000041
+:10C000000000000000000000000000000000000030
+:10C010000000000000000000000000000000000020
+:10C020000000000000000000000000000000000010
+:10C030000000000000000000000000000000000000
+:10C0400000000000000000000000000000000000F0
+:10C0500000000000000000000000000000000000E0
+:10C0600000000000000000000000000000000000D0
+:10C0700000000000000000000000000000000000C0
+:10C0800000000000000000000000000000000000B0
+:10C0900000000000000000000000000000000000A0
+:10C0A0000000000000000000000000000000000090
+:10C0B0000000000000000000000000000000000080
+:10C0C0000000000000000000000000000000000070
+:10C0D0000000000000000000000000000000000060
+:10C0E0000000000000000000000000000000000050
+:10C0F0000000000000000000000000000000000040
+:10C10000000000000000000000000000000000002F
+:10C11000000000000000000000000000000000001F
+:10C12000000000000000000000000000000000000F
+:10C1300000000000000000000000000000000000FF
+:10C1400000000000000000000000000000000000EF
+:10C1500000000000000000000000000000000000DF
+:10C1600000000000000000000000000000000000CF
+:10C1700000000000000000000000000000000000BF
+:10C1800000000000000000000000000000000000AF
+:10C19000000000000000000000000000000000009F
+:10C1A000000000000000000000000000000000008F
+:10C1B000000000000000000000000000000000007F
+:10C1C000000000000000000000000000000000006F
+:10C1D000000000000000000000000000000000005F
+:10C1E000000000000000000000000000000000004F
+:10C1F000000000000000000000000000000000003F
+:10C20000000000000000000000000000000000002E
+:10C21000000000000000000000000000000000001E
+:10C22000000000000000000000000000000000000E
+:10C2300000000000000000000000000000000000FE
+:10C2400000000000000000000000000000000000EE
+:10C2500000000000000000000000000000000000DE
+:10C2600000000000000000000000000000000000CE
+:10C2700000000000000000000000000000000000BE
+:10C2800000000000000000000000000000000000AE
+:10C29000000000000000000000000000000000009E
+:10C2A000000000000000000000000000000000008E
+:10C2B000000000000000000000000000000000007E
+:10C2C000000000000000000000000000000000006E
+:10C2D000000000000000000000000000000000005E
+:10C2E000000000000000000000000000000000004E
+:10C2F000000000000000000000000000000000003E
+:10C30000000000000000000000000000000000002D
+:10C31000000000000000000000000000000000001D
+:10C32000000000000000000000000000000000000D
+:10C3300000000000000000000000000000000000FD
+:10C3400000000000000000000000000000000000ED
+:10C3500000000000000000000000000000000000DD
+:10C3600000000000000000000000000000000000CD
+:10C3700000000000000000000000000000000000BD
+:10C3800000000000000000000000000000000000AD
+:10C39000000000000000000000000000000000009D
+:10C3A000000000000000000000000000000000008D
+:10C3B000000000000000000000000000000000007D
+:10C3C000000000000000000000000000000000006D
+:10C3D000000000000000000000000000000000005D
+:10C3E000000000000000000000000000000000004D
+:10C3F000000000000000000000000000000000003D
+:10C40000000000000000000000000000000000002C
+:10C41000000000000000000000000000000000001C
+:10C42000000000000000000000000000000000000C
+:10C4300000000000000000000000000000000000FC
+:10C4400000000000000000000000000000000000EC
+:10C4500000000000000000000000000000000000DC
+:10C4600000000000000000000000000000000000CC
+:10C4700000000000000000000000000000000000BC
+:10C4800000000000000000000000000000000000AC
+:10C49000000000000000000000000000000000009C
+:10C4A000000000000000000000000000000000008C
+:10C4B000000000000000000000000000000000007C
+:10C4C000000000000000000000000000000000006C
+:10C4D000000000000000000000000000000000005C
+:10C4E000000000000000000000000000000000004C
+:10C4F000000000000000000000000000000000003C
+:10C50000000000000000000000000000000000002B
+:10C51000000000000000000000000000000000001B
+:10C52000000000000000000000000000000000000B
+:10C5300000000000000000000000000000000001FA
+:10C5400001010101010101010101010101010101DB
+:10C5500001010101010101010101010101010101CB
+:10C5600001010101010101010101010101010101BB
+:10C5700001010101010101010101010101010101AB
+:10C58000010101010101010101010101010101019B
+:10C59000010101010101010101010101010101018B
+:10C5A000010101010101010101010101010101017B
+:10C5B000010101010101010101010101010101016B
+:10C5C000010101010101010101010101010101015B
+:10C5D000010101010101010101010101010101014B
+:10C5E000010101010101010101010101010101013B
+:10C5F000010101010101010101010101010101012B
+:10C60000010101010101010101010101010101011A
+:10C61000010101010101010101010101010101010A
+:10C6200001010101010101010101010101010101FA
+:10C6300001010101010101010101010101010101EA
+:10C6400001010101010101010101010101010101DA
+:10C6500001010101010101010101010101010101CA
+:10C6600001010101010101010101010101010101BA
+:10C6700001010101010101010101010101010101AA
+:10C68000010101010101010101010101010101019A
+:10C69000010101010101010101010101010101018A
+:10C6A000010101010101010101010101010101017A
+:10C6B000010101010101010101010101010101016A
+:10C6C000010101010101010101010101010101015A
+:10C6D000010101010101010101010101010101014A
+:10C6E000010101010101010101010101010101013A
+:10C6F000010101010101010101010101010101012A
+:10C700000101010101010101010101010101010119
+:10C710000101010101010101010101010101010109
+:10C7200001010101010101010101010101010101F9
+:10C7300001010101010101010101010101010101E9
+:10C7400001010101010101010101010101010101D9
+:10C7500001010101010101010101010101010101C9
+:10C7600001010101010101010101010101010101B9
+:10C7700001010101010101010101010101010101A9
+:10C780000101010101010101010101010101010199
+:10C790000101010101010101010101010101010189
+:10C7A0000101010101010101010101010101010179
+:10C7B0000101010101010101010101010101010169
+:10C7C0000101010101010101010101010101010159
+:10C7D0000101010101010101010101010101010149
+:10C7E0000101010101010101010101010101010139
+:10C7F0000101010101010101010101010101010129
+:10C800000101010101010101010101010101010118
+:10C810000101010101010101010101010101010108
+:10C8200001010101010101010101010101010101F8
+:10C8300001010101010101010101010101010101E8
+:10C8400001010101010101010101010101010101D8
+:10C8500001010101010101010101010101010101C8
+:10C8600001010101010101010101010101010101B8
+:10C8700001010101010101010101010101010101A8
+:10C880000101010101010101010101010101010198
+:10C890000101010101010101010101010101010188
+:10C8A0000101010101010101010101010101010178
+:10C8B0000101010101010101010101010101010168
+:10C8C0000101010101010101010101010101010158
+:10C8D0000101010101010101010101010101010148
+:10C8E0000101010101010101010101010101010138
+:10C8F0000101010101010101010101010101010128
+:10C900000101010101010101010101010101010117
+:10C910000101010101010101010101010101010107
+:10C9200001010101010101010101010101010101F7
+:10C9300001010101010101010101010101010101E7
+:10C9400001010101010101010101010101010101D7
+:10C9500001010101010101010101010101010101C7
+:10C9600001010101010101010101010101010101B7
+:10C9700001010101010101010101010101010101A7
+:10C980000101010101010101010101010101010197
+:10C990000101010101010101010101010101010187
+:10C9A0000101010101010101010101010101010177
+:10C9B0000101010101010101010101010101010167
+:10C9C0000101010101010101010101010101010157
+:10C9D0000101010101010101010101010101010147
+:10C9E0000101010101010101010101010101010137
+:10C9F0000101010101010101010101010101010127
+:10CA00000101010101010101010101010101010116
+:10CA10000101010101010101010101010101010106
+:10CA200001010101010101010101010101010101F6
+:10CA300001010101010101010101010101010101E6
+:10CA400001010101010101010101010101010101D6
+:10CA500001010101010101010101010101010101C6
+:10CA600001010101010101010101010101010101B6
+:10CA700001010101010101010101010101010101A6
+:10CA80000101010101010101010101010101010196
+:10CA90000101010101010101010101010101010186
+:10CAA0000101010101010101010101010101010176
+:10CAB0000101010101010101010101010101010166
+:10CAC0000101010101010101010101010101010156
+:10CAD0000101010101010101010101010101010146
+:10CAE0000101010101010101010101010101010136
+:10CAF0000101010101010101010101010101010126
+:10CB00000101010101010101010101010101010115
+:10CB10000101010101010101010101010101010105
+:10CB200001010101010101010101010101010101F5
+:10CB300001010101010101010101010101010101E5
+:10CB400001010101010101010101010101010101D5
+:10CB500001010101010101010101010101010101C5
+:10CB600001010101010101010101010101010101B5
+:10CB700001010101010101010101010101010101A5
+:10CB80000101010101010101010101010101010195
+:10CB90000101010101010101010101010101010185
+:10CBA0000101010101010101010101010101010175
+:10CBB0000101010101010101010101010101010165
+:10CBC0000101010101010101010101010101010155
+:10CBD0000101010101010101010101010101010145
+:10CBE0000101010101010101010101010101010135
+:10CBF0000101010101010101010101010101010125
+:10CC00000101010101010101010101010101010114
+:10CC10000101010101010101010101010101010104
+:10CC200001010101010101010101010101010101F4
+:10CC300001010101010101010101010101010101E4
+:10CC400001010101010101010101010101010101D4
+:10CC500001010101010101010101010101010101C4
+:10CC600001010101010101010101010101010101B4
+:10CC700001010101010101010101010101010101A4
+:10CC80000101010101010101010101010101010194
+:10CC90000101010101010101010101010101010184
+:10CCA0000101010101010101010101010101010174
+:10CCB0000101010101010101010101010101010164
+:10CCC0000101010101010101010101010101010154
+:10CCD0000101010101010101010101010101010144
+:10CCE0000101010101010101010101010101010134
+:10CCF0000101010101010101010101010101010124
+:10CD00000101010101010101010101010101010113
+:10CD10000101010101010101010101010101010103
+:10CD200001010101010101010101010101010101F3
+:10CD300001010101010101010101010101010101E3
+:10CD400001010101010101010101010101010101D3
+:10CD500001010101010101010101010101010101C3
+:10CD600001010101010101010101010101010101B3
+:10CD700001010101010101010101010101010101A3
+:10CD80000101010101010101010101010101010193
+:10CD90000101010101010101010101010101010183
+:10CDA0000101010101010101010101010101010173
+:10CDB0000101010101010101010101010101010163
+:10CDC0000101010101010101010101010101010153
+:10CDD0000101010101010101010101010101010143
+:10CDE0000101010101010101010101010101010133
+:10CDF0000101010101010101010101010101010123
+:10CE00000101010101010101010101010101010112
+:10CE10000101010101010101010101010101010102
+:10CE200001010101010101010101010101010101F2
+:10CE300001010101010101010101010101010101E2
+:10CE400001010101010101010101010101010101D2
+:10CE500001010101010101010101010101010101C2
+:10CE600001010101010101010101010101010101B2
+:10CE700001010101010101010101010101010101A2
+:10CE80000101010101010101010101010101010192
+:10CE90000101010101010101010101010101010182
+:10CEA0000101010101010101010101010101010172
+:10CEB0000101010101010101010101010101010162
+:10CEC0000101010101010101010101010101010152
+:10CED0000101010101010101010101010101010142
+:10CEE0000101010101010101010101010101010132
+:10CEF0000101010101010101010101010101010122
+:10CF00000101010101010101010101010101010111
+:10CF10000101010101010101010101010101010101
+:10CF200001010101010101010101010101010101F1
+:10CF300001010101010101010101010101010101E1
+:10CF400001010101010101010101010101010101D1
+:10CF500001010101010101010101010101010101C1
+:10CF600001010101010101010101010101010101B1
+:10CF700001010101010101010101010101010101A1
+:10CF80000101010101010101010101010101010191
+:10CF90000101010101010101010101010101010181
+:10CFA0000101010101010101010101010101010171
+:10CFB0000101010101010101010101010101010161
+:10CFC0000101010101010101010101010101010151
+:10CFD0000101010101010101010101010101010141
+:10CFE0000101010101010101010101010101010131
+:10CFF0000101010101010101010101010101010121
+:10D000000101010101010101010101010101010110
+:10D010000101010101010101010101010101010100
+:10D0200001010101010101010101010101010101F0
+:10D0300001010101010101010101010101010101E0
+:10D0400001010101010101010101010101010101D0
+:10D0500001010101010101010101010101010101C0
+:10D0600001010101010101010101010101010101B0
+:10D0700001010101010101010101010101010101A0
+:10D080000101010101010101010101010101010190
+:10D090000101010101010101010101010101010180
+:10D0A0000101010101010101010101010101010170
+:10D0B0000101010101010101010101010101010160
+:10D0C0000101010101010101010101010101010150
+:10D0D0000101010101010101010101010101010140
+:10D0E0000101010101010101010101010101010130
+:10D0F0000101010101010101010101010101010120
+:10D10000010101010101010101010101010101010F
+:10D1100001010101010101010101010101010101FF
+:10D1200001010101010101010101010101010101EF
+:10D1300001010101010101010101010101010101DF
+:10D1400001010101010101010101010101010101CF
+:10D1500001010101010101010101010101010101BF
+:10D1600001010101010101010101010101010101AF
+:10D17000010101010101010101010101010101019F
+:10D18000010101010101010101010101010101018F
+:10D19000010101010101010101010101010101017F
+:10D1A000010101010101010101010101010101016F
+:10D1B000010101010101010101010101010101015F
+:10D1C000010101010101010101010101010101014F
+:10D1D000010101010101010101010101010101013F
+:10D1E000010101010101010101010101010101012F
+:10D1F000010101010101010101010101010101011F
+:10D20000010101010101010101010101010101010E
+:10D2100001010101010101010101010101010101FE
+:10D2200001010101010101010101010101010101EE
+:10D2300001010101010101010101010101010101DE
+:10D2400001010101010101010101010101010101CE
+:10D2500001010101010101010101010101010101BE
+:10D2600001010101010101010101010101010101AE
+:10D27000010101010101010101010101010101019E
+:10D28000010101010101010101010101010101018E
+:10D29000010101010101010101010101010101017E
+:10D2A000010101010101010101010101010101016E
+:10D2B000010101010101010101010101010101015E
+:10D2C000010101010101010101010101010101014E
+:10D2D000010101010101010101010101010101013E
+:10D2E000010101010101010101010101010101012E
+:10D2F000010101010101010101010101010101011E
+:10D30000010101010101010101010101010101010D
+:10D3100001010101010101010101010101010101FD
+:10D3200001010101010101010101010101010101ED
+:10D3300001010101010101010101010101010101DD
+:10D3400001010101010101010101010101010101CD
+:10D3500001010101010101010101010101010101BD
+:10D3600001010101010101010101010101010101AD
+:10D37000010101010101010101010101010101019D
+:10D38000010101010101010101010101010101018D
+:10D39000010101010101010101010101010101017D
+:10D3A000010101010101010101010101010101016D
+:10D3B000010101010101010101010101010101015D
+:10D3C000010101010101010101010101010101014D
+:10D3D000010101010101010101010101010101013D
+:10D3E000010101010101010101010101010101012D
+:10D3F000010101010101010101010101010101011D
+:10D40000010101010101010101010101010101010C
+:10D4100001010101010101010101010101010101FC
+:10D4200001010101010101010101010101010101EC
+:10D4300001010101010101010101010101010101DC
+:10D4400001010101010101010101010101010101CC
+:10D4500001010101010101010101010101010101BC
+:10D4600001010101010101010101010101010101AC
+:10D47000010101010101010101010101010101019C
+:10D48000010101010101010101010101010101018C
+:10D49000010101010101010101010101010101017C
+:10D4A000010101010101010101010101010101016C
+:10D4B000010101010101010101010101010101015C
+:10D4C000010101010101010101010101010101014C
+:10D4D000010101010101010101010101010101013C
+:10D4E000010101010101010101010101010101012C
+:10D4F000010101010101010101010101010101011C
+:10D50000010101010101010101010101010101010B
+:10D5100001010101010101010101010101010101FB
+:10D5200001010101010101010101010101010101EB
+:10D5300001010101010101010101010101010101DB
+:10D5400001010101010101010101010101010101CB
+:10D5500001010101010101010101010101010101BB
+:10D5600001010101010101010101010101010101AB
+:10D57000010101010101010101010101010101019B
+:10D58000010101010101010101010101010101018B
+:10D59000010101010101010101010101010101017B
+:10D5A000010101010101010101010101010101016B
+:10D5B000010101010101010101010101010101015B
+:10D5C000010101010101010101010101010101014B
+:10D5D000010101010101010101010101010101013B
+:10D5E000010101010101010101010101010101012B
+:10D5F000010101010101010101010101010101011B
+:10D60000010101010101010101010101010101010A
+:10D6100001010101010101010101010101010101FA
+:10D6200001010101010101010101010101010101EA
+:10D6300001010101010101010101010101010101DA
+:10D6400001010101010101010101010101010101CA
+:10D6500001010101010101010101010101010101BA
+:10D6600001010101010101010101010101010101AA
+:10D67000010101010101010101010101010101019A
+:10D68000010101010101010101010101010101018A
+:10D69000010101010101010101010101010101017A
+:10D6A000010101010101010101010101010101016A
+:10D6B000010101010101010101010101010101015A
+:10D6C000010101010101010101010101010101014A
+:10D6D000010101010101010101010101010101013A
+:10D6E000010101010101010101010101010101012A
+:10D6F000010101010101010101010101010101011A
+:10D700000101010101010101010101010101010109
+:10D7100001010101010101010101010101010101F9
+:10D7200001010101010101010101010101010101E9
+:10D7300001010101010101010101010101010101D9
+:10D7400001010101010101010101010101010101C9
+:10D7500001010101010101010101010101010101B9
+:10D7600001010101010101010101010101010101A9
+:10D770000101010101010101010101010101010199
+:10D780000101010101010101010101010101010189
+:10D790000101010101010101010101010101010179
+:10D7A0000101010101010101010101010101010169
+:10D7B0000101010101010101010101010101010159
+:10D7C0000101010101010101010101010101010149
+:10D7D0000101010101010101010101010101010139
+:10D7E0000101010101010101010101010101010129
+:10D7F0000101010101010101010101010101010119
+:10D800000101010101010101010101010101010108
+:10D8100001010101010101010101010101010101F8
+:10D8200001010101010101010101010101010101E8
+:10D8300001010101010101010101010101010101D8
+:10D8400001010101010101010101010101010101C8
+:10D8500001010101010101010101010101010101B8
+:10D8600001010101010101010101010101010101A8
+:10D870000101010101010101010101010101010198
+:10D880000101010101010101010101010101010188
+:10D890000101010101010101010101010101010178
+:10D8A0000101010101010101010101010101010168
+:10D8B0000101010101010101010101010101010158
+:10D8C0000101010101010101010101010101010148
+:10D8D0000101010101010101010101010101010138
+:10D8E0000101010101010101010101010101010128
+:10D8F0000101010101010101010101010101010118
+:10D900000101010101010101010101010101010107
+:10D9100001010101010101010101010101010101F7
+:10D9200001010101010101010101010101010101E7
+:10D9300001010101010101010101010101010100D8
+:10D9400000000000000000000000000000000000D7
+:10D9500000000000000000000000000000000000C7
+:10D9600000000000000000000000000000000000B7
+:10D9700000000000000000000000000000000000A7
+:10D980000000000000000000000000000000000097
+:10D990000000000000000000000000000000000087
+:10D9A0000000000000000000000000000000000077
+:10D9B0000000000000000000000000000000000067
+:10D9C0000000000000000000000000000000000057
+:10D9D0000000000000000000000000000000000047
+:10D9E0000000000000000000000000000000000037
+:10D9F0000000000000000000000000000000000027
+:10DA00000000000000000000000000000000000016
+:10DA10000000000000000000000000000000000006
+:10DA200000000000000000000000000000000000F6
+:10DA300000000000000000000000000000000000E6
+:10DA400000000000000000000000000000000000D6
+:10DA500000000000000000000000000000000000C6
+:10DA600000000000000000000000000000000000B6
+:10DA700000000000000000000000000000000000A6
+:10DA80000000000000000000000000000000000096
+:10DA90000000000000000000000000000000000086
+:10DAA0000000000000000000000000000000000076
+:10DAB0000000000000000000000000000000000066
+:10DAC0000000000000000000000000000000000056
+:10DAD0000000000000000000000000000000000046
+:10DAE0000000000000000000000000000000000036
+:10DAF0000000000000000000000000000000000026
+:10DB00000000000000000000000000000000000015
+:10DB10000000000000000000000000000000000005
+:10DB200000000000000000000000000000000000F5
+:10DB300000000000000000000000000000000000E5
+:10DB400000000000000000000000000000000000D5
+:10DB500000000000000000000000000000000000C5
+:10DB600000000000000000000000000000000000B5
+:10DB700000000000000000000000000000000000A5
+:10DB80000000000000000000000000000000000095
+:10DB90000000000000000000000000000000000085
+:10DBA0000000000000000000000000000000000075
+:10DBB0000000000000000000000000000000000065
+:10DBC0000000000000000000000000000000000055
+:10DBD0000000000000000000000000000000000045
+:10DBE0000000000000000000000000000000000035
+:10DBF0000000000000000000000000000000000025
+:10DC00000000000000000000000000000000000014
+:10DC10000000000000000000000000000000000004
+:10DC200000000000000000000000000000000000F4
+:10DC300000000000000000000000000000000000E4
+:10DC400000000000000000000000000000000000D4
+:10DC500000000000000000000000000000000000C4
+:10DC600000000000000000000000000000000000B4
+:10DC700000000000000000000000000000000000A4
+:10DC80000000000000000000000000000000000094
+:10DC90000000000000000000000000000000000084
+:10DCA0000000000000000000000000000000000074
+:10DCB0000000000000000000000000000000000064
+:10DCC0000000000000000000000000000000000054
+:10DCD0000000000000000000000000000000000044
+:10DCE0000000000000000000000000000000000034
+:10DCF0000000000000000000000000000000000024
+:10DD00000000000000000000000000000000000013
+:10DD10000000000000000000000000000000000003
+:10DD200000000000000000000000000000000000F3
+:10DD300000000000000000000000000000000002E1
+:10DD400002020202020202020202020202020202B3
+:10DD500002020202020202020202020202020202A3
+:10DD60000202020202020202020202020202020293
+:10DD70000202020202020202020202020202020283
+:10DD80000202020202020202020202020202020273
+:10DD90000202020202020202020202020202020263
+:10DDA0000202020202020202020202020202020253
+:10DDB0000202020202020202020202020202020243
+:10DDC0000202020202020202020202020202020233
+:10DDD0000202020202020202020202020202020223
+:10DDE0000202020202020202020202020202020213
+:10DDF0000202020202020202020202020202020203
+:10DE000002020202020202020202020202020202F2
+:10DE100002020202020202020202020202020202E2
+:10DE200002020202020202020202020202020202D2
+:10DE300002020202020202020202020202020202C2
+:10DE400002020202020202020202020202020202B2
+:10DE500002020202020202020202020202020202A2
+:10DE60000202020202020202020202020202020292
+:10DE70000202020202020202020202020202020282
+:10DE80000202020202020202020202020202020272
+:10DE90000202020202020202020202020202020262
+:10DEA0000202020202020202020202020202020252
+:10DEB0000202020202020202020202020202020242
+:10DEC0000202020202020202020202020202020232
+:10DED0000202020202020202020202020202020222
+:10DEE0000202020202020202020202020202020212
+:10DEF0000202020202020202020202020202020202
+:10DF000002020202020202020202020202020202F1
+:10DF100002020202020202020202020202020202E1
+:10DF200002020202020202020202020202020202D1
+:10DF300002020202020202020202020202020202C1
+:10DF400002020202020202020202020202020202B1
+:10DF500002020202020202020202020202020202A1
+:10DF60000202020202020202020202020202020291
+:10DF70000202020202020202020202020202020281
+:10DF80000202020202020202020202020202020271
+:10DF90000202020202020202020202020202020261
+:10DFA0000202020202020202020202020202020251
+:10DFB0000202020202020202020202020202020241
+:10DFC0000202020202020202020202020202020231
+:10DFD0000202020202020202020202020202020221
+:10DFE0000202020202020202020202020202020211
+:10DFF0000202020202020202020202020202020201
+:10E0000002020202020202020202020202020202F0
+:10E0100002020202020202020202020202020202E0
+:10E0200002020202020202020202020202020202D0
+:10E0300002020202020202020202020202020202C0
+:10E0400002020202020202020202020202020202B0
+:10E0500002020202020202020202020202020202A0
+:10E060000202020202020202020202020202020290
+:10E070000202020202020202020202020202020280
+:10E080000202020202020202020202020202020270
+:10E090000202020202020202020202020202020260
+:10E0A0000202020202020202020202020202020250
+:10E0B0000202020202020202020202020202020240
+:10E0C0000202020202020202020202020202020230
+:10E0D0000202020202020202020202020202020220
+:10E0E0000202020202020202020202020202020210
+:10E0F0000202020202020202020202020202020200
+:10E1000002020202020202020202020202020202EF
+:10E1100002020202020202020202020202020202DF
+:10E1200002020202020202020202020202020202CF
+:10E1300002020202020202020202020202020202BF
+:10E1400002020202020202020202020202020202AF
+:10E15000020202020202020202020202020202029F
+:10E16000020202020202020202020202020202028F
+:10E17000020202020202020202020202020202027F
+:10E18000020202020202020202020202020202026F
+:10E19000020202020202020202020202020202025F
+:10E1A000020202020202020202020202020202024F
+:10E1B000020202020202020202020202020202023F
+:10E1C000020202020202020202020202020202022F
+:10E1D000020202020202020202020202020202021F
+:10E1E000020202020202020202020202020202020F
+:10E1F00002020202020202020202020202020202FF
+:10E2000002020202020202020202020202020202EE
+:10E2100002020202020202020202020202020202DE
+:10E2200002020202020202020202020202020202CE
+:10E2300002020202020202020202020202020202BE
+:10E2400002020202020202020202020202020202AE
+:10E25000020202020202020202020202020202029E
+:10E26000020202020202020202020202020202028E
+:10E27000020202020202020202020202020202027E
+:10E28000020202020202020202020202020202026E
+:10E29000020202020202020202020202020202025E
+:10E2A000020202020202020202020202020202024E
+:10E2B000020202020202020202020202020202023E
+:10E2C000020202020202020202020202020202022E
+:10E2D000020202020202020202020202020202021E
+:10E2E000020202020202020202020202020202020E
+:10E2F00002020202020202020202020202020202FE
+:10E3000002020202020202020202020202020202ED
+:10E3100002020202020202020202020202020202DD
+:10E3200002020202020202020202020202020202CD
+:10E3300002020202020202020202020202020202BD
+:10E3400002020202020202020202020202020202AD
+:10E35000020202020202020202020202020202029D
+:10E36000020202020202020202020202020202028D
+:10E37000020202020202020202020202020202027D
+:10E38000020202020202020202020202020202026D
+:10E39000020202020202020202020202020202025D
+:10E3A000020202020202020202020202020202024D
+:10E3B000020202020202020202020202020202023D
+:10E3C000020202020202020202020202020202022D
+:10E3D000020202020202020202020202020202021D
+:10E3E000020202020202020202020202020202020D
+:10E3F00002020202020202020202020202020202FD
+:10E4000002020202020202020202020202020202EC
+:10E4100002020202020202020202020202020202DC
+:10E4200002020202020202020202020202020202CC
+:10E4300002020202020202020202020202020202BC
+:10E4400002020202020202020202020202020202AC
+:10E45000020202020202020202020202020202029C
+:10E46000020202020202020202020202020202028C
+:10E47000020202020202020202020202020202027C
+:10E48000020202020202020202020202020202026C
+:10E49000020202020202020202020202020202025C
+:10E4A000020202020202020202020202020202024C
+:10E4B000020202020202020202020202020202023C
+:10E4C000020202020202020202020202020202022C
+:10E4D000020202020202020202020202020202021C
+:10E4E000020202020202020202020202020202020C
+:10E4F00002020202020202020202020202020202FC
+:10E5000002020202020202020202020202020202EB
+:10E5100002020202020202020202020202020202DB
+:10E5200002020202020202020202020202020202CB
+:10E5300002020202020202020202020202020202BB
+:10E5400002020202020202020202020202020202AB
+:10E55000020202020202020202020202020202029B
+:10E56000020202020202020202020202020202028B
+:10E57000020202020202020202020202020202027B
+:10E58000020202020202020202020202020202026B
+:10E59000020202020202020202020202020202025B
+:10E5A000020202020202020202020202020202024B
+:10E5B000020202020202020202020202020202023B
+:10E5C000020202020202020202020202020202022B
+:10E5D000020202020202020202020202020202021B
+:10E5E000020202020202020202020202020202020B
+:10E5F00002020202020202020202020202020202FB
+:10E6000002020202020202020202020202020202EA
+:10E6100002020202020202020202020202020202DA
+:10E6200002020202020202020202020202020202CA
+:10E6300002020202020202020202020202020202BA
+:10E6400002020202020202020202020202020202AA
+:10E65000020202020202020202020202020202029A
+:10E66000020202020202020202020202020202028A
+:10E67000020202020202020202020202020202027A
+:10E68000020202020202020202020202020202026A
+:10E69000020202020202020202020202020202025A
+:10E6A000020202020202020202020202020202024A
+:10E6B000020202020202020202020202020202023A
+:10E6C000020202020202020202020202020202022A
+:10E6D000020202020202020202020202020202021A
+:10E6E000020202020202020202020202020202020A
+:10E6F00002020202020202020202020202020202FA
+:10E7000002020202020202020202020202020202E9
+:10E7100002020202020202020202020202020202D9
+:10E7200002020202020202020202020202020202C9
+:10E7300002020202020202020202020202020202B9
+:10E7400002020202020202020202020202020202A9
+:10E750000202020202020202020202020202020299
+:10E760000202020202020202020202020202020289
+:10E770000202020202020202020202020202020279
+:10E780000202020202020202020202020202020269
+:10E790000202020202020202020202020202020259
+:10E7A0000202020202020202020202020202020249
+:10E7B0000202020202020202020202020202020239
+:10E7C0000202020202020202020202020202020229
+:10E7D0000202020202020202020202020202020219
+:10E7E0000202020202020202020202020202020209
+:10E7F00002020202020202020202020202020202F9
+:10E8000002020202020202020202020202020202E8
+:10E8100002020202020202020202020202020202D8
+:10E8200002020202020202020202020202020202C8
+:10E8300002020202020202020202020202020202B8
+:10E8400002020202020202020202020202020202A8
+:10E850000202020202020202020202020202020298
+:10E860000202020202020202020202020202020288
+:10E870000202020202020202020202020202020278
+:10E880000202020202020202020202020202020268
+:10E890000202020202020202020202020202020258
+:10E8A0000202020202020202020202020202020248
+:10E8B0000202020202020202020202020202020238
+:10E8C0000202020202020202020202020202020228
+:10E8D0000202020202020202020202020202020218
+:10E8E0000202020202020202020202020202020208
+:10E8F00002020202020202020202020202020202F8
+:10E9000002020202020202020202020202020202E7
+:10E9100002020202020202020202020202020202D7
+:10E9200002020202020202020202020202020202C7
+:10E9300002020202020202020202020202020202B7
+:10E9400002020202020202020202020202020202A7
+:10E950000202020202020202020202020202020297
+:10E960000202020202020202020202020202020287
+:10E970000202020202020202020202020202020277
+:10E980000202020202020202020202020202020267
+:10E990000202020202020202020202020202020257
+:10E9A0000202020202020202020202020202020247
+:10E9B0000202020202020202020202020202020237
+:10E9C0000202020202020202020202020202020227
+:10E9D0000202020202020202020202020202020217
+:10E9E0000202020202020202020202020202020207
+:10E9F00002020202020202020202020202020202F7
+:10EA000002020202020202020202020202020202E6
+:10EA100002020202020202020202020202020202D6
+:10EA200002020202020202020202020202020202C6
+:10EA300002020202020202020202020202020202B6
+:10EA400002020202020202020202020202020202A6
+:10EA50000202020202020202020202020202020296
+:10EA60000202020202020202020202020202020286
+:10EA70000202020202020202020202020202020276
+:10EA80000202020202020202020202020202020266
+:10EA90000202020202020202020202020202020256
+:10EAA0000202020202020202020202020202020246
+:10EAB0000202020202020202020202020202020236
+:10EAC0000202020202020202020202020202020226
+:10EAD0000202020202020202020202020202020216
+:10EAE0000202020202020202020202020202020206
+:10EAF00002020202020202020202020202020202F6
+:10EB000002020202020202020202020202020202E5
+:10EB100002020202020202020202020202020202D5
+:10EB200002020202020202020202020202020202C5
+:10EB300002020202020202020202020202020202B5
+:10EB400002020202020202020202020202020202A5
+:10EB50000202020202020202020202020202020295
+:10EB60000202020202020202020202020202020285
+:10EB70000202020202020202020202020202020275
+:10EB80000202020202020202020202020202020265
+:10EB90000202020202020202020202020202020255
+:10EBA0000202020202020202020202020202020245
+:10EBB0000202020202020202020202020202020235
+:10EBC0000202020202020202020202020202020225
+:10EBD0000202020202020202020202020202020215
+:10EBE0000202020202020202020202020202020205
+:10EBF00002020202020202020202020202020202F5
+:10EC000002020202020202020202020202020202E4
+:10EC100002020202020202020202020202020202D4
+:10EC200002020202020202020202020202020202C4
+:10EC300002020202020202020202020202020202B4
+:10EC400002020202020202020202020202020202A4
+:10EC50000202020202020202020202020202020294
+:10EC60000202020202020202020202020202020284
+:10EC70000202020202020202020202020202020274
+:10EC80000202020202020202020202020202020264
+:10EC90000202020202020202020202020202020254
+:10ECA0000202020202020202020202020202020244
+:10ECB0000202020202020202020202020202020234
+:10ECC0000202020202020202020202020202020224
+:10ECD0000202020202020202020202020202020214
+:10ECE0000202020202020202020202020202020204
+:10ECF00002020202020202020202020202020202F4
+:10ED000002020202020202020202020202020202E3
+:10ED100002020202020202020202020202020202D3
+:10ED200002020202020202020202020202020202C3
+:10ED300002020202020202020202020202020202B3
+:10ED400002020202020202020202020202020202A3
+:10ED50000202020202020202020202020202020293
+:10ED60000202020202020202020202020202020283
+:10ED70000202020202020202020202020202020273
+:10ED80000202020202020202020202020202020263
+:10ED90000202020202020202020202020202020253
+:10EDA0000202020202020202020202020202020243
+:10EDB0000202020202020202020202020202020233
+:10EDC0000202020202020202020202020202020223
+:10EDD0000202020202020202020202020202020213
+:10EDE0000202020202020202020202020202020203
+:10EDF00002020202020202020202020202020202F3
+:10EE000002020202020202020202020202020202E2
+:10EE100002020202020202020202020202020202D2
+:10EE200002020202020202020202020202020202C2
+:10EE300002020202020202020202020202020202B2
+:10EE400002020202020202020202020202020202A2
+:10EE50000202020202020202020202020202020292
+:10EE60000202020202020202020202020202020282
+:10EE70000202020202020202020202020202020272
+:10EE80000202020202020202020202020202020262
+:10EE90000202020202020202020202020202020252
+:10EEA0000202020202020202020202020202020242
+:10EEB0000202020202020202020202020202020232
+:10EEC0000202020202020202020202020202020222
+:10EED0000202020202020202020202020202020212
+:10EEE0000202020202020202020202020202020202
+:10EEF00002020202020202020202020202020202F2
+:10EF000002020202020202020202020202020202E1
+:10EF100002020202020202020202020202020202D1
+:10EF200002020202020202020202020202020202C1
+:10EF300002020202020202020202020202020202B1
+:10EF400002020202020202020202020202020202A1
+:10EF50000202020202020202020202020202020291
+:10EF60000202020202020202020202020202020281
+:10EF70000202020202020202020202020202020271
+:10EF80000202020202020202020202020202020261
+:10EF90000202020202020202020202020202020251
+:10EFA0000202020202020202020202020202020241
+:10EFB0000202020202020202020202020202020231
+:10EFC0000202020202020202020202020202020221
+:10EFD0000202020202020202020202020202020211
+:10EFE0000202020202020202020202020202020201
+:10EFF00002020202020202020202020202020202F1
+:10F0000002020202020202020202020202020202E0
+:10F0100002020202020202020202020202020202D0
+:10F0200002020202020202020202020202020202C0
+:10F0300002020202020202020202020202020202B0
+:10F0400002020202020202020202020202020202A0
+:10F050000202020202020202020202020202020290
+:10F060000202020202020202020202020202020280
+:10F070000202020202020202020202020202020270
+:10F080000202020202020202020202020202020260
+:10F090000202020202020202020202020202020250
+:10F0A0000202020202020202020202020202020240
+:10F0B0000202020202020202020202020202020230
+:10F0C0000202020202020202020202020202020220
+:10F0D0000202020202020202020202020202020210
+:10F0E0000202020202020202020202020202020200
+:10F0F00002020202020202020202020202020202F0
+:10F1000002020202020202020202020202020202DF
+:10F1100002020202020202020202020202020202CF
+:10F1200002020202020202020202020202020202BF
+:10F1300002020202020202020202020202020200B1
+:10F1400000000000000000000000000000000000BF
+:10F1500000000000000000000000000000000000AF
+:10F16000000000000000000000000000000000009F
+:10F17000000000000000000000000000000000008F
+:10F18000000000000000000000000000000000007F
+:10F19000000000000000000000000000000000006F
+:10F1A000000000000000000000000000000000005F
+:10F1B000000000000000000000000000000000004F
+:10F1C000000000000000000000000000000000003F
+:10F1D000000000000000000000000000000000002F
+:10F1E000000000000000000000000000000000001F
+:10F1F000000000000000000000000000000000000F
+:10F2000000000000000000000000000000000000FE
+:10F2100000000000000000000000000000000000EE
+:10F2200000000000000000000000000000000000DE
+:10F2300000000000000000000000000000000000CE
+:10F2400000000000000000000000000000000000BE
+:10F2500000000000000000000000000000000000AE
+:10F26000000000000000000000000000000000009E
+:10F27000000000000000000000000000000000008E
+:10F28000000000000000000000000000000000007E
+:10F29000000000000000000000000000000000006E
+:10F2A000000000000000000000000000000000005E
+:10F2B000000000000000000000000000000000004E
+:10F2C000000000000000000000000000000000003E
+:10F2D000000000000000000000000000000000002E
+:10F2E000000000000000000000000000000000001E
+:10F2F000000000000000000000000000000000000E
+:10F3000000000000000000000000000000000000FD
+:10F3100000000000000000000000000000000000ED
+:10F3200000000000000000000000000000000000DD
+:10F3300000000000000000000000000000000000CD
+:10F3400000000000000000000000000000000000BD
+:10F3500000000000000000000000000000000000AD
+:10F36000000000000000000000000000000000009D
+:10F37000000000000000000000000000000000008D
+:10F38000000000000000000000000000000000007D
+:10F39000000000000000000000000000000000006D
+:10F3A000000000000000000000000000000000005D
+:10F3B000000000000000000000000000000000004D
+:10F3C000000000000000000000000000000000003D
+:10F3D000000000000000000000000000000000002D
+:10F3E000000000000000000000000000000000001D
+:10F3F000000000000000000000000000000000000D
+:10F4000000000000000000000000000000000000FC
+:10F4100000000000000000000000000000000000EC
+:10F4200000000000000000000000000000000000DC
+:10F4300000000000000000000000000000000000CC
+:10F4400000000000000000000000000000000000BC
+:10F4500000000000000000000000000000000000AC
+:10F46000000000000000000000000000000000009C
+:10F47000000000000000000000000000000000008C
+:10F48000000000000000000000000000000000007C
+:10F49000000000000000000000000000000000006C
+:10F4A000000000000000000000000000000000005C
+:10F4B000000000000000000000000000000000004C
+:10F4C000000000000000000000000000000000003C
+:10F4D000000000000000000000000000000000002C
+:10F4E000000000000000000000000000000000001C
+:10F4F000000000000000000000000000000000000C
+:10F5000000000000000000000000000000000000FB
+:10F5100000000000000000000000000000000000EB
+:10F5200000000000000000000000000000000000DB
+:10F5300000000000000000000000000000000000CB
+:10F5400000000000000000000000000000000000BB
+:10F5500000000000000000000000000000000000AB
+:10F56000000000000000000000000000000000009B
+:10F57000000000000000000000000000000000008B
+:10F58000000000000000000000000000000000007B
+:10F59000000000000000000000000000000000006B
+:10F5A000000000000000000000000000000000005B
+:10F5B000000000000000000000000000000000004B
+:10F5C000000000000000000000000000000000003B
+:10F5D000000000000000000000000000000000002B
+:10F5E000000000000000000000000000000000001B
+:10F5F000000000000000000000000000000000000B
+:10F6000000000000000000000000000000000000FA
+:10F6100000000000000000000000000000000000EA
+:10F6200000000000000000000000000000000000DA
+:10F6300000000000000000000000000000000000CA
+:10F6400000000000000000000000000000000000BA
+:10F6500000000000000000000000000000000000AA
+:10F66000000000000000000000000000000000009A
+:10F67000000000000000000000000000000000008A
+:10F68000000000000000000000000000000000007A
+:10F69000000000000000000000000000000000006A
+:10F6A000000000000000000000000000000000005A
+:10F6B000000000000000000000000000000000004A
+:10F6C000000000000000000000000000000000003A
+:10F6D000000000000000000000000000000000002A
+:10F6E000000000000000000000000000000000001A
+:10F6F000000000000000000000000000000000000A
+:10F7000000000000000000000000000000000000F9
+:10F7100000000000000000000000000000000000E9
+:10F7200000000000000000000000000000000000D9
+:10F7300000000000000000000000000000000000C9
+:10F7400000000000000000000000000000000000B9
+:10F7500000000000000000000000000000000000A9
+:10F760000000000000000000000000000000000099
+:10F770000000000000000000000000000000000089
+:10F780000000000000000000000000000000000079
+:10F790000000000000000000000000000000000069
+:10F7A0000000000000000000000000000000000059
+:10F7B0000000000000000000000000000000000049
+:10F7C0000000000000000000000000000000000039
+:10F7D0000000000000000000000000000000000029
+:10F7E0000000000000000000000000000000000019
+:10F7F0000000000000000000000000000000000009
+:10F8000000000000000000000000000000000000F8
+:10F8100000000000000000000000000000000000E8
+:10F8200000000000000000000000000000000000D8
+:10F830000000000000000000000000000000007355
+:10F8400000000000000000010101010101010101AF
+:10F850000101010101010101010101010101010198
+:10F860000101010101010101010101010101010188
+:10F870000101010101010101010101010101010178
+:10F880000101010101010101010101010101010168
+:10F890000101010101010101010101010101010158
+:10F8A0000101010101010101010101010101010148
+:10F8B0000101010101010101010101010101010138
+:10F8C0000101010101010101010101010101010128
+:10F8D0000101010101010101010101010101010118
+:10F8E0000101010101010101010101010101010108
+:10F8F00001010101010101010101010101010101F8
+:10F9000001010101010101010101010101010101E7
+:10F9100001010101010101010101010101010101D7
+:10F9200001010101010101010101010101010101C7
+:10F9300001010101010101010101010101010101B7
+:10F9400001010101010101010101010101010101A7
+:10F950000101010101010101010101010101010197
+:10F960000101010101010101010101010101010187
+:10F970000101010101010101010101010101010177
+:10F980000101010101010101010101010101010167
+:10F990000101010101010101010101010101010157
+:10F9A0000101010101010101010101010101010147
+:10F9B0000101010101010101010101010101010137
+:10F9C0000101010101010101010101010101010127
+:10F9D0000101010101010101010101010101010117
+:10F9E0000101010101010101010101010101010107
+:10F9F00001010101010101010101010101010101F7
+:10FA000001010101010101010101010101010101E6
+:10FA100001010101010101010101010101010101D6
+:10FA200001010101010101010101010101010101C6
+:10FA300001010101010101010101010101010101B6
+:10FA400001010101010101010101010101010101A6
+:10FA50000101010101010101010101010101010196
+:10FA60000101010101010101010101010101010186
+:10FA70000101010101010101010101010101010176
+:10FA80000101010101010101010101010101010166
+:10FA90000101010101010101010101010101010156
+:10FAA0000101010101010101010101010101010146
+:10FAB0000101010101010101010101010101010136
+:10FAC0000101010101010101010101010101010126
+:10FAD0000101010101010101010101010101010116
+:10FAE0000101010101010101010101010101010106
+:10FAF00001010101010101010101010101010101F6
+:10FB000001010101010101010101010101010101E5
+:10FB100001010101010101010101010101010101D5
+:10FB200001010101010101010101010101010101C5
+:10FB300001010101010101010101010101010101B5
+:10FB400001010101010101010101010101010101A5
+:10FB50000101010101010101010101010101010195
+:10FB60000101010101010101010101010101010185
+:10FB70000101010101010101010101010101010175
+:10FB80000101010101010101010101010101010165
+:10FB90000101010101010101010101010101010155
+:10FBA0000101010101010101010101010101010145
+:10FBB0000101010101010101010101010101010135
+:10FBC0000101010101010101010101010101010125
+:10FBD0000101010101010101010101010101010115
+:10FBE0000101010101010101010101010101010105
+:10FBF00001010101010101010101010101010101F5
+:10FC000001010101010101010101010101010101E4
+:10FC100001010101010101010101010101010101D4
+:10FC200001010101010101010101010101010101C4
+:10FC300001010101010101010101010101010101B4
+:10FC400001010101010101010101010101010101A4
+:10FC50000101010101010101010101010101010194
+:10FC60000101010101010101010101010101010184
+:10FC70000101010101010101010101010101010174
+:10FC80000101010101010101010101010101010164
+:10FC90000101010101010101010101010101010154
+:10FCA0000101010101010101010101010101010144
+:10FCB0000101010101010101010101010101010134
+:10FCC0000101010101010101010101010101010124
+:10FCD0000101010101010101010101010101010114
+:10FCE0000101010101010101010101010101010104
+:10FCF00001010101010101010101010101010101F4
+:10FD000001010101010101010101010101010101E3
+:10FD100001010101010101010101010101010101D3
+:10FD200001010101010101010101010101010101C3
+:10FD300001010101010101010101010101010101B3
+:10FD400001010101010101010101010101010101A3
+:10FD50000101010101010101010101010101010193
+:10FD60000101010101010101010101010101010183
+:10FD70000101010101010101010101010101010173
+:10FD80000101010101010101010101010101010163
+:10FD90000101010101010101010101010101010153
+:10FDA0000101010101010101010101010101010143
+:10FDB0000101010101010101010101010101010133
+:10FDC0000101010101010101010101010101010123
+:10FDD0000101010101010101010101010101010113
+:10FDE0000101010101010101010101010101010103
+:10FDF00001010101010101010101010101010101F3
+:10FE000001010101010101010101010101010101E2
+:10FE100001010101010101010101010101010101D2
+:10FE200001010101010101010101010101010101C2
+:10FE300001010101010101010101010101010101B2
+:10FE400001010101010101010101010101010101A2
+:10FE50000101010101010101010101010101010192
+:10FE60000101010101010101010101010101010182
+:10FE70000101010101010101010101010101010172
+:10FE80000101010101010101010101010101010162
+:10FE90000101010101010101010101010101010152
+:10FEA0000101010101010101010101010101010142
+:10FEB0000101010101010101010101010101010132
+:10FEC0000101010101010101010101010101010122
+:10FED0000101010101010101010101010101010112
+:10FEE0000101010101010101010101010101010102
+:10FEF00001010101010101010101010101010101F2
+:10FF000001010101010101010101010101010101E1
+:10FF100001010101010101010101010101010101D1
+:10FF200001010101010101010101010101010101C1
+:10FF300001010101010101010101010101010101B1
+:10FF400001010101010101010101010101010101A1
+:10FF50000101010101010101010101010101010191
+:10FF60000101010101010101010101010101010181
+:10FF70000101010101010101010101010101010171
+:10FF80000101010101010101010101010101010161
+:10FF90000101010101010101010101010101010151
+:10FFA0000101010101010101010101010101010141
+:10FFB0000101010101010101010101010101010131
+:10FFC0000101010101010101010101010101010121
+:10FFD0000101010101010101010101010101010111
+:10FFE0000101010101010101010101010101010101
+:10FFF00001010101010101010101010101010101F1
+:0200000270008C
+:1000000001010101010101010101010101010101E0
+:1000100001010101010101010101010101010101D0
+:1000200001010101010101010101010101010101C0
+:1000300001010101010101010101010101010101B0
+:1000400001010101010101010101010101010101A0
+:100050000101010101010101010101010101010190
+:100060000101010101010101010101010101010180
+:100070000101010101010101010101010101010170
+:100080000101010101010101010101010101010160
+:100090000101010101010101010101010101010150
+:1000A0000101010101010101010101010101010140
+:1000B0000101010101010101010101010101010130
+:1000C0000101010101010101010101010101010120
+:1000D0000101010101010101010101010101010110
+:1000E0000101010101010101010101010101010100
+:1000F00001010101010101010101010101010101F0
+:1001000001010101010101010101010101010101DF
+:1001100001010101010101010101010101010101CF
+:1001200001010101010101010101010101010101BF
+:1001300001010101010101010101010101010101AF
+:10014000010101010101010101010101010101019F
+:10015000010101010101010101010101010101018F
+:10016000010101010101010101010101010101017F
+:10017000010101010101010101010101010101016F
+:10018000010101010101010101010101010101015F
+:10019000010101010101010101010101010101014F
+:1001A000010101010101010101010101010101013F
+:1001B000010101010101010101010101010101012F
+:1001C000010101010101010101010101010101011F
+:1001D000010101010101010101010101010101010F
+:1001E00001010101010101010101010101010101FF
+:1001F00001010101010101010101010101010101EF
+:1002000001010101010101010101010101010101DE
+:1002100001010101010101010101010101010101CE
+:1002200001010101010101010101010101010101BE
+:1002300001010101010101010101010101010101AE
+:10024000010101010101010101010101010101019E
+:10025000010101010101010101010101010101018E
+:10026000010101010101010101010101010101017E
+:10027000010101010101010101010101010101016E
+:10028000010101010101010101010101010101015E
+:10029000010101010101010101010101010101014E
+:1002A000010101010101010101010101010101013E
+:1002B000010101010101010101010101010101012E
+:1002C000010101010101010101010101010101011E
+:1002D000010101010101010101010101010101010E
+:1002E00001010101010101010101010101010101FE
+:1002F00001010101010101010101010101010101EE
+:1003000001010101010101010101010101010101DD
+:1003100001010101010101010101010101010101CD
+:1003200001010101010101010101010101010101BD
+:1003300001010101010101010101010101010101AD
+:10034000010101010101010101010101010101019D
+:10035000010101010101010101010101010101018D
+:10036000010101010101010101010101010101017D
+:10037000010101010101010101010101010101016D
+:10038000010101010101010101010101010101015D
+:10039000010101010101010101010101010101014D
+:1003A000010101010101010101010101010101013D
+:1003B000010101010101010101010101010101012D
+:1003C000010101010101010101010101010101011D
+:1003D000010101010101010101010101010101010D
+:1003E00001010101010101010101010101010101FD
+:1003F00001010101010101010101010101010101ED
+:1004000001010101010101010101010101010101DC
+:1004100001010101010101010101010101010101CC
+:1004200001010101010101010101010101010101BC
+:1004300001010101010101010101010101010101AC
+:10044000010101010101010101010101010101019C
+:10045000010101010101010101010101010101018C
+:10046000010101010101010101010101010101017C
+:10047000010101010101010101010101010101016C
+:10048000010101010101010101010101010101015C
+:10049000010101010101010101010101010101014C
+:1004A000010101010101010101010101010101013C
+:1004B000010101010101010101010101010101012C
+:1004C000010101010101010101010101010101011C
+:1004D000010101010101010101010101010101010C
+:1004E00001010101010101010101010101010101FC
+:1004F00001010101010101010101010101010101EC
+:1005000001010101010101010101010101010101DB
+:1005100001010101010101010101010101010101CB
+:1005200001010101010101010101010101010101BB
+:1005300001010101010101010101010101010101AB
+:10054000010101010101010101010101010101019B
+:10055000010101010101010101010101010101018B
+:10056000010101010101010101010101010101017B
+:10057000010101010101010101010101010101016B
+:10058000010101010101010101010101010101015B
+:10059000010101010101010101010101010101014B
+:1005A000010101010101010101010101010101013B
+:1005B000010101010101010101010101010101012B
+:1005C000010101010101010101010101010101011B
+:1005D000010101010101010101010101010101010B
+:1005E00001010101010101010101010101010101FB
+:1005F00001010101010101010101010101010101EB
+:1006000001010101010101010101010101010101DA
+:1006100001010101010101010101010101010101CA
+:1006200001010101010101010101010101010101BA
+:1006300001010101010101010101010101010101AA
+:10064000010101010101010101010101010101019A
+:10065000010101010101010101010101010101018A
+:10066000010101010101010101010101010101017A
+:10067000010101010101010101010101010101016A
+:10068000010101010101010101010101010101015A
+:10069000010101010101010101010101010101014A
+:1006A000010101010101010101010101010101013A
+:1006B000010101010101010101010101010101012A
+:1006C000010101010101010101010101010101011A
+:1006D000010101010101010101010101010101010A
+:1006E00001010101010101010101010101010101FA
+:1006F00001010101010101010101010101010101EA
+:1007000001010101010101010101010101010101D9
+:1007100001010101010101010101010101010101C9
+:1007200001010101010101010101010101010101B9
+:1007300001010101010101010101010101010101A9
+:100740000101010101010101010101010101010199
+:100750000101010101010101010101010101010189
+:100760000101010101010101010101010101010179
+:100770000101010101010101010101010101010169
+:100780000101010101010101010101010101010159
+:100790000101010101010101010101010101010149
+:1007A0000101010101010101010101010101010139
+:1007B0000101010101010101010101010101010129
+:1007C0000101010101010101010101010101010119
+:1007D0000101010101010101010101010101010109
+:1007E00001010101010101010101010101010101F9
+:1007F00001010101010101010101010101010101E9
+:1008000001010101010101010101010101010101D8
+:1008100001010101010101010101010101010101C8
+:1008200001010101010101010101010101010101B8
+:1008300001010101010101010101010101010101A8
+:100840000101010101010101010101010101010198
+:100850000101010101010101010101010101010188
+:100860000101010101010101010101010101010178
+:100870000101010101010101010101010101010168
+:100880000101010101010101010101010101010158
+:100890000101010101010101010101010101010148
+:1008A0000101010101010101010101010101010138
+:1008B0000101010101010101010101010101010128
+:1008C0000101010101010101010101010101010118
+:1008D0000101010101010101010101010101010108
+:1008E00001010101010101010101010101010101F8
+:1008F00001010101010101010101010101010101E8
+:1009000001010101010101010101010101010101D7
+:1009100001010101010101010101010101010101C7
+:1009200001010101010101010101010101010101B7
+:1009300001010101010101010101010101010101A7
+:100940000101010101010101010101010101010197
+:100950000101010101010101010101010101010187
+:100960000101010101010101010101010101010177
+:100970000101010101010101010101010101010167
+:100980000101010101010101010101010101010157
+:100990000101010101010101010101010101010147
+:1009A0000101010101010101010101010101010137
+:1009B0000101010101010101010101010101010127
+:1009C0000101010101010101010101010101010117
+:1009D0000101010101010101010101010101010107
+:1009E00001010101010101010101010101010101F7
+:1009F00001010101010101010101010101010101E7
+:100A000001010101010101010101010101010101D6
+:100A100001010101010101010101010101010101C6
+:100A200001010101010101010101010101010101B6
+:100A300001010101010101010101010101010101A6
+:100A40000101010101010101010101010101010196
+:100A50000101010101010101010101010101010186
+:100A60000101010101010101010101010101010176
+:100A70000101010101010101010101010101010166
+:100A80000101010101010101010101010101010156
+:100A90000101010101010101010101010101010146
+:100AA0000101010101010101010101010101010136
+:100AB0000101010101010101010101010101010126
+:100AC0000101010101010101010101010101010116
+:100AD0000101010101010101010101010101010106
+:100AE00001010101010101010101010101010101F6
+:100AF00001010101010101010101010101010101E6
+:100B000001010101010101010101010101010101D5
+:100B100001010101010101010101010101010101C5
+:100B200001010101010101010101010101010101B5
+:100B300001010101010101010101010101010101A5
+:100B40000101010101010101010101010101010195
+:100B50000101010101010101010101010101010185
+:100B60000101010101010101010101010101010175
+:100B70000101010101010101010101010101010165
+:100B80000101010101010101010101010101010155
+:100B90000101010101010101010101010101010145
+:100BA0000101010101010101010101010101010135
+:100BB0000101010101010101010101010101010125
+:100BC0000101010101010101010101010101010115
+:100BD0000101010101010101010101010101010105
+:100BE00001010101010101010101010101010101F5
+:100BF00001010101010101010101010101010101E5
+:100C000001010101010101010101010101010101D4
+:100C100001010101010101010101010101010101C4
+:100C200001010101010101010101010101010101B4
+:100C300001010101010101010101010101010101A4
+:100C4000010101010101010000000000000000009D
+:100C50000000000000000000000000000000000094
+:100C60000000000000000000000000000000000084
+:100C70000000000000000000000000000000000074
+:100C80000000000000000000000000000000000064
+:100C90000000000000000000000000000000000054
+:100CA0000000000000000000000000000000000044
+:100CB0000000000000000000000000000000000034
+:100CC0000000000000000000000000000000000024
+:100CD0000000000000000000000000000000000014
+:100CE0000000000000000000000000000000000004
+:100CF00000000000000000000000000000000000F4
+:100D000000000000000000000000000000000000E3
+:100D100000000000000000000000000000000000D3
+:100D200000000000000000000000000000000000C3
+:100D300000000000000000000000000000000000B3
+:100D400000000000000000000000000000000000A3
+:100D50000000000000000000000000000000000093
+:100D60000000000000000000000000000000000083
+:100D70000000000000000000000000000000000073
+:100D80000000000000000000000000000000000063
+:100D90000000000000000000000000000000000053
+:100DA0000000000000000000000000000000000043
+:100DB0000000000000000000000000000000000033
+:100DC0000000000000000000000000000000000023
+:100DD0000000000000000000000000000000000013
+:100DE0000000000000000000000000000000000003
+:100DF00000000000000000000000000000000000F3
+:100E000000000000000000000000000000000000E2
+:100E100000000000000000000000000000000000D2
+:100E200000000000000000000000000000000000C2
+:100E300000000000000000000000000000000000B2
+:100E400000000000000000000000000000000000A2
+:100E50000000000000000000000000000000000092
+:100E60000000000000000000000000000000000082
+:100E70000000000000000000000000000000000072
+:100E80000000000000000000000000000000000062
+:100E90000000000000000000000000000000000052
+:100EA0000000000000000000000000000000000042
+:100EB0000000000000000000000000000000000032
+:100EC0000000000000000000000000000000000022
+:100ED0000000000000000000000000000000000012
+:100EE0000000000000000000000000000000000002
+:100EF00000000000000000000000000000000000F2
+:100F000000000000000000000000000000000000E1
+:100F100000000000000000000000000000000000D1
+:100F200000000000000000000000000000000000C1
+:100F300000000000000000000000000000000000B1
+:100F400000000000000000000000000000000000A1
+:100F50000000000000000000000000000000000091
+:100F60000000000000000000000000000000000081
+:100F70000000000000000000000000000000000071
+:100F80000000000000000000000000000000000061
+:100F90000000000000000000000000000000000051
+:100FA0000000000000000000000000000000000041
+:100FB0000000000000000000000000000000000031
+:100FC0000000000000000000000000000000000021
+:100FD0000000000000000000000000000000000011
+:100FE0000000000000000000000000000000000001
+:100FF00000000000000000000000000000000000F1
+:1010000000000000000000000000000000000000E0
+:1010100000000000000000000000000000000000D0
+:1010200000000000000000000000000000000000C0
+:1010300000000000000000000000000000000000B0
+:10104000000000000000000202020202020202028E
+:101050000202020202020202020202020202020270
+:101060000202020202020202020202020202020260
+:101070000202020202020202020202020202020250
+:101080000202020202020202020202020202020240
+:101090000202020202020202020202020202020230
+:1010A0000202020202020202020202020202020220
+:1010B0000202020202020202020202020202020210
+:1010C0000202020202020202020202020202020200
+:1010D00002020202020202020202020202020202F0
+:1010E00002020202020202020202020202020202E0
+:1010F00002020202020202020202020202020202D0
+:1011000002020202020202020202020202020202BF
+:1011100002020202020202020202020202020202AF
+:10112000020202020202020202020202020202029F
+:10113000020202020202020202020202020202028F
+:10114000020202020202020202020202020202027F
+:10115000020202020202020202020202020202026F
+:10116000020202020202020202020202020202025F
+:10117000020202020202020202020202020202024F
+:10118000020202020202020202020202020202023F
+:10119000020202020202020202020202020202022F
+:1011A000020202020202020202020202020202021F
+:1011B000020202020202020202020202020202020F
+:1011C00002020202020202020202020202020202FF
+:1011D00002020202020202020202020202020202EF
+:1011E00002020202020202020202020202020202DF
+:1011F00002020202020202020202020202020202CF
+:1012000002020202020202020202020202020202BE
+:1012100002020202020202020202020202020202AE
+:10122000020202020202020202020202020202029E
+:10123000020202020202020202020202020202028E
+:10124000020202020202020202020202020202027E
+:10125000020202020202020202020202020202026E
+:10126000020202020202020202020202020202025E
+:10127000020202020202020202020202020202024E
+:10128000020202020202020202020202020202023E
+:10129000020202020202020202020202020202022E
+:1012A000020202020202020202020202020202021E
+:1012B000020202020202020202020202020202020E
+:1012C00002020202020202020202020202020202FE
+:1012D00002020202020202020202020202020202EE
+:1012E00002020202020202020202020202020202DE
+:1012F00002020202020202020202020202020202CE
+:1013000002020202020202020202020202020202BD
+:1013100002020202020202020202020202020202AD
+:10132000020202020202020202020202020202029D
+:10133000020202020202020202020202020202028D
+:10134000020202020202020202020202020202027D
+:10135000020202020202020202020202020202026D
+:10136000020202020202020202020202020202025D
+:10137000020202020202020202020202020202024D
+:10138000020202020202020202020202020202023D
+:10139000020202020202020202020202020202022D
+:1013A000020202020202020202020202020202021D
+:1013B000020202020202020202020202020202020D
+:1013C00002020202020202020202020202020202FD
+:1013D00002020202020202020202020202020202ED
+:1013E00002020202020202020202020202020202DD
+:1013F00002020202020202020202020202020202CD
+:1014000002020202020202020202020202020202BC
+:1014100002020202020202020202020202020202AC
+:10142000020202020202020202020202020202029C
+:10143000020202020202020202020202020202028C
+:10144000020202020202020202020202020202027C
+:10145000020202020202020202020202020202026C
+:10146000020202020202020202020202020202025C
+:10147000020202020202020202020202020202024C
+:10148000020202020202020202020202020202023C
+:10149000020202020202020202020202020202022C
+:1014A000020202020202020202020202020202021C
+:1014B000020202020202020202020202020202020C
+:1014C00002020202020202020202020202020202FC
+:1014D00002020202020202020202020202020202EC
+:1014E00002020202020202020202020202020202DC
+:1014F00002020202020202020202020202020202CC
+:1015000002020202020202020202020202020202BB
+:1015100002020202020202020202020202020202AB
+:10152000020202020202020202020202020202029B
+:10153000020202020202020202020202020202028B
+:10154000020202020202020202020202020202027B
+:10155000020202020202020202020202020202026B
+:10156000020202020202020202020202020202025B
+:10157000020202020202020202020202020202024B
+:10158000020202020202020202020202020202023B
+:10159000020202020202020202020202020202022B
+:1015A000020202020202020202020202020202021B
+:1015B000020202020202020202020202020202020B
+:1015C00002020202020202020202020202020202FB
+:1015D00002020202020202020202020202020202EB
+:1015E00002020202020202020202020202020202DB
+:1015F00002020202020202020202020202020202CB
+:1016000002020202020202020202020202020202BA
+:1016100002020202020202020202020202020202AA
+:10162000020202020202020202020202020202029A
+:10163000020202020202020202020202020202028A
+:10164000020202020202020202020202020202027A
+:10165000020202020202020202020202020202026A
+:10166000020202020202020202020202020202025A
+:10167000020202020202020202020202020202024A
+:10168000020202020202020202020202020202023A
+:10169000020202020202020202020202020202022A
+:1016A000020202020202020202020202020202021A
+:1016B000020202020202020202020202020202020A
+:1016C00002020202020202020202020202020202FA
+:1016D00002020202020202020202020202020202EA
+:1016E00002020202020202020202020202020202DA
+:1016F00002020202020202020202020202020202CA
+:1017000002020202020202020202020202020202B9
+:1017100002020202020202020202020202020202A9
+:101720000202020202020202020202020202020299
+:101730000202020202020202020202020202020289
+:101740000202020202020202020202020202020279
+:101750000202020202020202020202020202020269
+:101760000202020202020202020202020202020259
+:101770000202020202020202020202020202020249
+:101780000202020202020202020202020202020239
+:101790000202020202020202020202020202020229
+:1017A0000202020202020202020202020202020219
+:1017B0000202020202020202020202020202020209
+:1017C00002020202020202020202020202020202F9
+:1017D00002020202020202020202020202020202E9
+:1017E00002020202020202020202020202020202D9
+:1017F00002020202020202020202020202020202C9
+:1018000002020202020202020202020202020202B8
+:1018100002020202020202020202020202020202A8
+:101820000202020202020202020202020202020298
+:101830000202020202020202020202020202020288
+:101840000202020202020202020202020202020278
+:101850000202020202020202020202020202020268
+:101860000202020202020202020202020202020258
+:101870000202020202020202020202020202020248
+:101880000202020202020202020202020202020238
+:101890000202020202020202020202020202020228
+:1018A0000202020202020202020202020202020218
+:1018B0000202020202020202020202020202020208
+:1018C00002020202020202020202020202020202F8
+:1018D00002020202020202020202020202020202E8
+:1018E00002020202020202020202020202020202D8
+:1018F00002020202020202020202020202020202C8
+:1019000002020202020202020202020202020202B7
+:1019100002020202020202020202020202020202A7
+:101920000202020202020202020202020202020297
+:101930000202020202020202020202020202020287
+:101940000202020202020202020202020202020277
+:101950000202020202020202020202020202020267
+:101960000202020202020202020202020202020257
+:101970000202020202020202020202020202020247
+:101980000202020202020202020202020202020237
+:101990000202020202020202020202020202020227
+:1019A0000202020202020202020202020202020217
+:1019B0000202020202020202020202020202020207
+:1019C00002020202020202020202020202020202F7
+:1019D00002020202020202020202020202020202E7
+:1019E00002020202020202020202020202020202D7
+:1019F00002020202020202020202020202020202C7
+:101A000002020202020202020202020202020202B6
+:101A100002020202020202020202020202020202A6
+:101A20000202020202020202020202020202020296
+:101A30000202020202020202020202020202020286
+:101A40000202020202020202020202020202020276
+:101A50000202020202020202020202020202020266
+:101A60000202020202020202020202020202020256
+:101A70000202020202020202020202020202020246
+:101A80000202020202020202020202020202020236
+:101A90000202020202020202020202020202020226
+:101AA0000202020202020202020202020202020216
+:101AB0000202020202020202020202020202020206
+:101AC00002020202020202020202020202020202F6
+:101AD00002020202020202020202020202020202E6
+:101AE00002020202020202020202020202020202D6
+:101AF00002020202020202020202020202020202C6
+:101B000002020202020202020202020202020202B5
+:101B100002020202020202020202020202020202A5
+:101B20000202020202020202020202020202020295
+:101B30000202020202020202020202020202020285
+:101B40000202020202020202020202020202020275
+:101B50000202020202020202020202020202020265
+:101B60000202020202020202020202020202020255
+:101B70000202020202020202020202020202020245
+:101B80000202020202020202020202020202020235
+:101B90000202020202020202020202020202020225
+:101BA0000202020202020202020202020202020215
+:101BB0000202020202020202020202020202020205
+:101BC00002020202020202020202020202020202F5
+:101BD00002020202020202020202020202020202E5
+:101BE00002020202020202020202020202020202D5
+:101BF00002020202020202020202020202020202C5
+:101C000002020202020202020202020202020202B4
+:101C100002020202020202020202020202020202A4
+:101C20000202020202020202020202020202020294
+:101C30000202020202020202020202020202020284
+:101C40000202020202020202020202020202020274
+:101C50000202020202020202020202020202020264
+:101C60000202020202020202020202020202020254
+:101C70000202020202020202020202020202020244
+:101C80000202020202020202020202020202020234
+:101C90000202020202020202020202020202020224
+:101CA0000202020202020202020202020202020214
+:101CB0000202020202020202020202020202020204
+:101CC00002020202020202020202020202020202F4
+:101CD00002020202020202020202020202020202E4
+:101CE00002020202020202020202020202020202D4
+:101CF00002020202020202020202020202020202C4
+:101D000002020202020202020202020202020202B3
+:101D100002020202020202020202020202020202A3
+:101D20000202020202020202020202020202020293
+:101D30000202020202020202020202020202020283
+:101D40000202020202020202020202020202020273
+:101D50000202020202020202020202020202020263
+:101D60000202020202020202020202020202020253
+:101D70000202020202020202020202020202020243
+:101D80000202020202020202020202020202020233
+:101D90000202020202020202020202020202020223
+:101DA0000202020202020202020202020202020213
+:101DB0000202020202020202020202020202020203
+:101DC00002020202020202020202020202020202F3
+:101DD00002020202020202020202020202020202E3
+:101DE00002020202020202020202020202020202D3
+:101DF00002020202020202020202020202020202C3
+:101E000002020202020202020202020202020202B2
+:101E100002020202020202020202020202020202A2
+:101E20000202020202020202020202020202020292
+:101E30000202020202020202020202020202020282
+:101E40000202020202020202020202020202020272
+:101E50000202020202020202020202020202020262
+:101E60000202020202020202020202020202020252
+:101E70000202020202020202020202020202020242
+:101E80000202020202020202020202020202020232
+:101E90000202020202020202020202020202020222
+:101EA0000202020202020202020202020202020212
+:101EB0000202020202020202020202020202020202
+:101EC00002020202020202020202020202020202F2
+:101ED00002020202020202020202020202020202E2
+:101EE00002020202020202020202020202020202D2
+:101EF00002020202020202020202020202020202C2
+:101F000002020202020202020202020202020202B1
+:101F100002020202020202020202020202020202A1
+:101F20000202020202020202020202020202020291
+:101F30000202020202020202020202020202020281
+:101F40000202020202020202020202020202020271
+:101F50000202020202020202020202020202020261
+:101F60000202020202020202020202020202020251
+:101F70000202020202020202020202020202020241
+:101F80000202020202020202020202020202020231
+:101F90000202020202020202020202020202020221
+:101FA0000202020202020202020202020202020211
+:101FB0000202020202020202020202020202020201
+:101FC00002020202020202020202020202020202F1
+:101FD00002020202020202020202020202020202E1
+:101FE00002020202020202020202020202020202D1
+:101FF00002020202020202020202020202020202C1
+:1020000002020202020202020202020202020202B0
+:1020100002020202020202020202020202020202A0
+:102020000202020202020202020202020202020290
+:102030000202020202020202020202020202020280
+:102040000202020202020202020202020202020270
+:102050000202020202020202020202020202020260
+:102060000202020202020202020202020202020250
+:102070000202020202020202020202020202020240
+:102080000202020202020202020202020202020230
+:102090000202020202020202020202020202020220
+:1020A0000202020202020202020202020202020210
+:1020B0000202020202020202020202020202020200
+:1020C00002020202020202020202020202020202F0
+:1020D00002020202020202020202020202020202E0
+:1020E00002020202020202020202020202020202D0
+:1020F00002020202020202020202020202020202C0
+:1021000002020202020202020202020202020202AF
+:10211000020202020202020202020202020202029F
+:10212000020202020202020202020202020202028F
+:10213000020202020202020202020202020202027F
+:10214000020202020202020202020202020202026F
+:10215000020202020202020202020202020202025F
+:10216000020202020202020202020202020202024F
+:10217000020202020202020202020202020202023F
+:10218000020202020202020202020202020202022F
+:10219000020202020202020202020202020202021F
+:1021A000020202020202020202020202020202020F
+:1021B00002020202020202020202020202020202FF
+:1021C00002020202020202020202020202020202EF
+:1021D00002020202020202020202020202020202DF
+:1021E00002020202020202020202020202020202CF
+:1021F00002020202020202020202020202020202BF
+:1022000002020202020202020202020202020202AE
+:10221000020202020202020202020202020202029E
+:10222000020202020202020202020202020202028E
+:10223000020202020202020202020202020202027E
+:10224000020202020202020202020202020202026E
+:10225000020202020202020202020202020202025E
+:10226000020202020202020202020202020202024E
+:10227000020202020202020202020202020202023E
+:10228000020202020202020202020202020202022E
+:10229000020202020202020202020202020202021E
+:1022A000020202020202020202020202020202020E
+:1022B00002020202020202020202020202020202FE
+:1022C00002020202020202020202020202020202EE
+:1022D00002020202020202020202020202020202DE
+:1022E00002020202020202020202020202020202CE
+:1022F00002020202020202020202020202020202BE
+:1023000002020202020202020202020202020202AD
+:10231000020202020202020202020202020202029D
+:10232000020202020202020202020202020202028D
+:10233000020202020202020202020202020202027D
+:10234000020202020202020202020202020202026D
+:10235000020202020202020202020202020202025D
+:10236000020202020202020202020202020202024D
+:10237000020202020202020202020202020202023D
+:10238000020202020202020202020202020202022D
+:10239000020202020202020202020202020202021D
+:1023A000020202020202020202020202020202020D
+:1023B00002020202020202020202020202020202FD
+:1023C00002020202020202020202020202020202ED
+:1023D00002020202020202020202020202020202DD
+:1023E00002020202020202020202020202020202CD
+:1023F00002020202020202020202020202020202BD
+:1024000002020202020202020202020202020202AC
+:10241000020202020202020202020202020202029C
+:10242000020202020202020202020202020202028C
+:10243000020202020202020202020202020202027C
+:10244000020202020202020000000000000000007E
+:10245000000000000000000000000000000000007C
+:10246000000000000000000000000000000000006C
+:10247000000000000000000000000000000000005C
+:10248000000000000000000000000000000000004C
+:10249000000000000000000000000000000000003C
+:1024A000000000000000000000000000000000002C
+:1024B000000000000000000000000000000000001C
+:1024C000000000000000000000000000000000000C
+:1024D00000000000000000000000000000000000FC
+:1024E00000000000000000000000000000000000EC
+:1024F00000000000000000000000000000000000DC
+:1025000000000000000000000000000000000000CB
+:1025100000000000000000000000000000000000BB
+:1025200000000000000000000000000000000000AB
+:10253000000000000000000000000000000000009B
+:10254000000000000000000000000000000000008B
+:10255000000000000000000000000000000000007B
+:10256000000000000000000000000000000000006B
+:10257000000000000000000000000000000000005B
+:10258000000000000000000000000000000000004B
+:10259000000000000000000000000000000000003B
+:1025A000000000000000000000000000000000002B
+:1025B000000000000000000000000000000000001B
+:1025C000000000000000000000000000000000000B
+:1025D00000000000000000000000000000000000FB
+:1025E00000000000000000000000000000000000EB
+:1025F00000000000000000000000000000000000DB
+:1026000000000000000000000000000000000000CA
+:1026100000000000000000000000000000000000BA
+:1026200000000000000000000000000000000000AA
+:10263000000000000000000000000000000000009A
+:10264000000000000000000000000000000000008A
+:10265000000000000000000000000000000000007A
+:10266000000000000000000000000000000000006A
+:10267000000000000000000000000000000000005A
+:10268000000000000000000000000000000000004A
+:10269000000000000000000000000000000000003A
+:1026A000000000000000000000000000000000002A
+:1026B000000000000000000000000000000000001A
+:1026C000000000000000000000000000000000000A
+:1026D00000000000000000000000000000000000FA
+:1026E00000000000000000000000000000000000EA
+:1026F00000000000000000000000000000000000DA
+:1027000000000000000000000000000000000000C9
+:1027100000000000000000000000000000000000B9
+:1027200000000000000000000000000000000000A9
+:102730000000000000000000000000000000000099
+:102740000000000000000000000000000000000089
+:102750000000000000000000000000000000000079
+:102760000000000000000000000000000000000069
+:102770000000000000000000000000000000000059
+:102780000000000000000000000000000000000049
+:102790000000000000000000000000000000000039
+:1027A0000000000000000000000000000000000029
+:1027B0000000000000000000000000000000000019
+:1027C0000000000000000000000000000000000009
+:1027D00000000000000000000000000000000000F9
+:1027E00000000000000000000000000000000000E9
+:1027F00000000000000000000000000000000000D9
+:1028000000000000000000000000000000000000C8
+:1028100000000000000000000000000000000000B8
+:1028200000000000000000000000000000000000A8
+:102830000000000000000000000000000000000098
+:102840000000000000000000000000000000000088
+:102850000000000000000000000000000000000078
+:102860000000000000000000000000000000000068
+:102870000000000000000000000000000000000058
+:102880000000000000000000000000000000000048
+:102890000000000000000000000000000000000038
+:1028A0000000000000000000000000000000000028
+:1028B0000000000000000000000000000000000018
+:1028C0000000000000000000000000000000000008
+:1028D00000000000000000000000000000000000F8
+:1028E00000000000000000000000000000000000E8
+:1028F00000000000000000000000000000000000D8
+:1029000000000000000000000000000000000000C7
+:1029100000000000000000000000000000000000B7
+:1029200000000000000000000000000000000000A7
+:102930000000000000000000000000000000000097
+:102940000000000000000000000000000000000087
+:102950000000000000000000000000000000000077
+:102960000000000000000000000000000000000067
+:102970000000000000000000000000000000000057
+:102980000000000000000000000000000000000047
+:102990000000000000000000000000000000000037
+:1029A0000000000000000000000000000000000027
+:1029B0000000000000000000000000000000000017
+:1029C0000000000000000000000000000000000007
+:1029D00000000000000000000000000000000000F7
+:1029E00000000000000000000000000000000000E7
+:1029F00000000000000000000000000000000000D7
+:102A000000000000000000000000000000000000C6
+:102A100000000000000000000000000000000000B6
+:102A200000000000000000000000000000000000A6
+:102A30000000000000000000000000000000000096
+:102A40000000000000000000000000000000000086
+:102A50000000000000000000000000000000000076
+:102A60000000000000000000000000000000000066
+:102A70000000000000000000000000000000000056
+:102A80000000000000000000000000000000000046
+:102A90000000000000000000000000000000000036
+:102AA0000000000000000000000000000000000026
+:102AB0000000000000000000000000000000000016
+:102AC0000000000000000000000000000000000006
+:102AD00000000000000000000000000000000000F6
+:102AE00000000000000000000000000000000000E6
+:102AF00000000000000000000000000000000000D6
+:102B000000000000000000000000000000000000C5
+:102B100000000000000000000000000000000000B5
+:102B200000000000000000000000000000000000A5
+:102B30000000000000000000000000000000000095
+:102B40000000000000000000000000000000000085
+:102B50000000000000000000000000000000000075
+:102B60000000000000000000000000000000000065
+:102B70000000000000000000000000000000000055
+:102B80000000000000000000000000000000000045
+:102B90000000000000000000000000000000000035
+:102BA0000000000000000000000000000000000025
+:102BB0000000000000000000000000000000000015
+:102BC0000000000000000000000000000000000005
+:102BD00000000000000000000000000000000000F5
+:102BE00000000000000000000000000000000000E5
+:102BF00000000000000000000000000000000000D5
+:102C000000000000000000000000000000000000C4
+:102C100000000000000000000000000000000000B4
+:102C200000000000000000000000000000000000A4
+:102C30000000000000000000000000000000000094
+:102C40000000000000000000000000000000000084
+:102C50000000000000000000000000000000000074
+:102C60000000000000000000000000000000000064
+:102C70000000000000000000000000000000000054
+:102C80000000000000000000000000000000000044
+:102C90000000000000000000000000000000000034
+:102CA0000000000000000000000000000000000024
+:102CB0000000000000000000000000000000000014
+:102CC0000000000000000000000000000000000004
+:102CD00000000000000000000000000000000000F4
+:102CE00000000000000000000000000000000000E4
+:102CF00000000000000000000000000000000000D4
+:102D000000000000000000000000000000000000C3
+:102D100000000000000000000000000000000000B3
+:102D200000000000000000000000000000000000A3
+:102D30000000000000000000000000000000000093
+:102D40000000000000000000000000000000000083
+:102D50000000000000000000000000000000000073
+:102D60000000000000000000000000000000000063
+:102D70000000000000000000000000000000000053
+:102D80000000000000000000000000000000000043
+:102D90000000000000000000000000000000000033
+:102DA0000000000000000000000000000000000023
+:102DB0000000000000000000000000000000000013
+:102DC0000000000000000000000000000000000003
+:102DD00000000000000000000000000000000000F3
+:102DE00000000000000000000000000000000000E3
+:102DF00000000000000000000000000000000000D3
+:102E000000000000000000000000000000000000C2
+:102E100000000000000000000000000000000000B2
+:102E200000000000000000000000000000000000A2
+:102E30000000000000000000000000000000000092
+:102E40000000000000000000000000000000000082
+:102E50000000000000000000000000000000000072
+:102E60000000000000000000000000000000000062
+:102E70000000000000000000000000000000000052
+:102E80000000000000000000000000000000000042
+:102E90000000000000000000000000000000000032
+:102EA0000000000000000000000000000000000022
+:102EB0000000000000000000000000000000000012
+:102EC0000000000000000000000000000000000002
+:102ED00000000000000000000000000000000000F2
+:102EE00000000000000000000000000000000000E2
+:102EF00000000000000000000000000000000000D2
+:102F000000000000000000000000000000000000C1
+:102F100000000000000000000000000000000000B1
+:102F200000000000000000000000000000000000A1
+:102F30000000000000000000000000000000000091
+:102F40000000000000000000000000000000000081
+:102F50000000000000000000000000000000000071
+:102F60000000000000000000000000000000000061
+:102F70000000000000000000000000000000000051
+:102F80000000000000000000000000000000000041
+:102F90000000000000000000000000000000000031
+:102FA0000000000000000000000000000000000021
+:102FB0000000000000000000000000000000000011
+:102FC0000000000000000000000000000000000001
+:102FD00000000000000000000000000000000000F1
+:102FE00000000000000000000000000000000000E1
+:102FF00000000000000000000000000000000000D1
+:1030000000000000000000000000000000000000C0
+:1030100000000000000000000000000000000000B0
+:1030200000000000000000000000000000000000A0
+:103030000000000000000000000000000000000090
+:103040000000000000000000000000000000000080
+:103050000000000000000000000000000000000070
+:103060000000000000000000000000000000000060
+:103070000000000000000000000000000000000050
+:103080000000000000000000000000000000000040
+:103090000000000000000000000000000000000030
+:1030A0000000000000000000000000000000000020
+:1030B0000000000000000000000000000000000010
+:1030C0000000000000000000000000000000000000
+:1030D00000000000000000000000000000000000F0
+:1030E00000000000000000000000000000000000E0
+:1030F00000000000000000000000000000000000D0
+:1031000000000000000000000000000000000000BF
+:1031100000000000000000000000000000000000AF
+:10312000000000000000000000000000000000009F
+:10313000000000000000000000000000000000008F
+:10314000000000000000000000000000000000007F
+:10315000000000000000000000000000000000006F
+:10316000000000000000000000000000000000005F
+:10317000000000000000000000000000000000004F
+:10318000000000000000000000000000000000003F
+:10319000000000000000000000000000000000002F
+:1031A000000000000000000000000000000000001F
+:1031B000000000000000000000000000000000000F
+:1031C00000000000000000000000000000000000FF
+:1031D00000000000000000000000000000000000EF
+:1031E00000000000000000000000000000000000DF
+:1031F00000000000000000000000000000000000CF
+:1032000000000000000000000000000000000000BE
+:1032100000000000000000000000000000000000AE
+:10322000000000000000000000000000000000009E
+:10323000000000000000000000000000000000008E
+:10324000000000000000000000000000000000007E
+:10325000000000000000000000000000000000006E
+:10326000000000000000000000000000000000005E
+:10327000000000000000000000000000000000004E
+:10328000000000000000000000000000000000003E
+:10329000000000000000000000000000000000002E
+:1032A000000000000000000000000000000000001E
+:1032B000000000000000000000000000000000000E
+:1032C00000000000000000000000000000000000FE
+:1032D00000000000000000000000000000000000EE
+:1032E00000000000000000000000000000000000DE
+:1032F00000000000000000000000000000000000CE
+:1033000000000000000000000000000000000000BD
+:1033100000000000000000000000000000000000AD
+:10332000000000000000000000000000000000009D
+:10333000000000000000000000000000000000008D
+:103340000000000000000001010101010101010174
+:10335000010101010101010101010101010101015D
+:10336000010101010101010101010101010101014D
+:10337000010101010101010101010101010101013D
+:10338000010101010101010101010101010101012D
+:10339000010101010101010101010101010101011D
+:1033A000010101010101010101010101010101010D
+:1033B00001010101010101010101010101010101FD
+:1033C00001010101010101010101010101010101ED
+:1033D00001010101010101010101010101010101DD
+:1033E00001010101010101010101010101010101CD
+:1033F00001010101010101010101010101010101BD
+:1034000001010101010101010101010101010101AC
+:10341000010101010101010101010101010101019C
+:10342000010101010101010101010101010101018C
+:10343000010101010101010101010101010101017C
+:10344000010101010101010101010101010101016C
+:10345000010101010101010101010101010101015C
+:10346000010101010101010101010101010101014C
+:10347000010101010101010101010101010101013C
+:10348000010101010101010101010101010101012C
+:10349000010101010101010101010101010101011C
+:1034A000010101010101010101010101010101010C
+:1034B00001010101010101010101010101010101FC
+:1034C00001010101010101010101010101010101EC
+:1034D00001010101010101010101010101010101DC
+:1034E00001010101010101010101010101010101CC
+:1034F00001010101010101010101010101010101BC
+:1035000001010101010101010101010101010101AB
+:10351000010101010101010101010101010101019B
+:10352000010101010101010101010101010101018B
+:10353000010101010101010101010101010101017B
+:10354000010101010101010101010101010101016B
+:10355000010101010101010101010101010101015B
+:10356000010101010101010101010101010101014B
+:10357000010101010101010101010101010101013B
+:10358000010101010101010101010101010101012B
+:10359000010101010101010101010101010101011B
+:1035A000010101010101010101010101010101010B
+:1035B00001010101010101010101010101010101FB
+:1035C00001010101010101010101010101010101EB
+:1035D00001010101010101010101010101010101DB
+:1035E00001010101010101010101010101010101CB
+:1035F00001010101010101010101010101010101BB
+:1036000001010101010101010101010101010101AA
+:10361000010101010101010101010101010101019A
+:10362000010101010101010101010101010101018A
+:10363000010101010101010101010101010101017A
+:10364000010101010101010101010101010101016A
+:10365000010101010101010101010101010101015A
+:10366000010101010101010101010101010101014A
+:10367000010101010101010101010101010101013A
+:10368000010101010101010101010101010101012A
+:10369000010101010101010101010101010101011A
+:1036A000010101010101010101010101010101010A
+:1036B00001010101010101010101010101010101FA
+:1036C00001010101010101010101010101010101EA
+:1036D00001010101010101010101010101010101DA
+:1036E00001010101010101010101010101010101CA
+:1036F00001010101010101010101010101010101BA
+:1037000001010101010101010101010101010101A9
+:103710000101010101010101010101010101010199
+:103720000101010101010101010101010101010189
+:103730000101010101010101010101010101010179
+:103740000101010101010101010101010101010169
+:103750000101010101010101010101010101010159
+:103760000101010101010101010101010101010149
+:103770000101010101010101010101010101010139
+:103780000101010101010101010101010101010129
+:103790000101010101010101010101010101010119
+:1037A0000101010101010101010101010101010109
+:1037B00001010101010101010101010101010101F9
+:1037C00001010101010101010101010101010101E9
+:1037D00001010101010101010101010101010101D9
+:1037E00001010101010101010101010101010101C9
+:1037F00001010101010101010101010101010101B9
+:1038000001010101010101010101010101010101A8
+:103810000101010101010101010101010101010198
+:103820000101010101010101010101010101010188
+:103830000101010101010101010101010101010178
+:103840000101010101010101010101010101010168
+:103850000101010101010101010101010101010158
+:103860000101010101010101010101010101010148
+:103870000101010101010101010101010101010138
+:103880000101010101010101010101010101010128
+:103890000101010101010101010101010101010118
+:1038A0000101010101010101010101010101010108
+:1038B00001010101010101010101010101010101F8
+:1038C00001010101010101010101010101010101E8
+:1038D00001010101010101010101010101010101D8
+:1038E00001010101010101010101010101010101C8
+:1038F00001010101010101010101010101010101B8
+:1039000001010101010101010101010101010101A7
+:103910000101010101010101010101010101010197
+:103920000101010101010101010101010101010187
+:103930000101010101010101010101010101010177
+:103940000101010101010101010101010101010167
+:103950000101010101010101010101010101010157
+:103960000101010101010101010101010101010147
+:103970000101010101010101010101010101010137
+:103980000101010101010101010101010101010127
+:103990000101010101010101010101010101010117
+:1039A0000101010101010101010101010101010107
+:1039B00001010101010101010101010101010101F7
+:1039C00001010101010101010101010101010101E7
+:1039D00001010101010101010101010101010101D7
+:1039E00001010101010101010101010101010101C7
+:1039F00001010101010101010101010101010101B7
+:103A000001010101010101010101010101010101A6
+:103A10000101010101010101010101010101010196
+:103A20000101010101010101010101010101010186
+:103A30000101010101010101010101010101010176
+:103A40000101010101010101010101010101010166
+:103A50000101010101010101010101010101010156
+:103A60000101010101010101010101010101010146
+:103A70000101010101010101010101010101010136
+:103A80000101010101010101010101010101010126
+:103A90000101010101010101010101010101010116
+:103AA0000101010101010101010101010101010106
+:103AB00001010101010101010101010101010101F6
+:103AC00001010101010101010101010101010101E6
+:103AD00001010101010101010101010101010101D6
+:103AE00001010101010101010101010101010101C6
+:103AF00001010101010101010101010101010101B6
+:103B000001010101010101010101010101010101A5
+:103B10000101010101010101010101010101010195
+:103B20000101010101010101010101010101010185
+:103B30000101010101010101010101010101010175
+:103B40000101010101010101010101010101010165
+:103B50000101010101010101010101010101010155
+:103B60000101010101010101010101010101010145
+:103B70000101010101010101010101010101010135
+:103B80000101010101010101010101010101010125
+:103B90000101010101010101010101010101010115
+:103BA0000101010101010101010101010101010105
+:103BB00001010101010101010101010101010101F5
+:103BC00001010101010101010101010101010101E5
+:103BD00001010101010101010101010101010101D5
+:103BE00001010101010101010101010101010101C5
+:103BF00001010101010101010101010101010101B5
+:103C000001010101010101010101010101010101A4
+:103C10000101010101010101010101010101010194
+:103C20000101010101010101010101010101010184
+:103C30000101010101010101010101010101010174
+:103C40000101010101010101010101010101010164
+:103C50000101010101010101010101010101010154
+:103C60000101010101010101010101010101010144
+:103C70000101010101010101010101010101010134
+:103C80000101010101010101010101010101010124
+:103C90000101010101010101010101010101010114
+:103CA0000101010101010101010101010101010104
+:103CB00001010101010101010101010101010101F4
+:103CC00001010101010101010101010101010101E4
+:103CD00001010101010101010101010101010101D4
+:103CE00001010101010101010101010101010101C4
+:103CF00001010101010101010101010101010101B4
+:103D000001010101010101010101010101010101A3
+:103D10000101010101010101010101010101010193
+:103D20000101010101010101010101010101010183
+:103D30000101010101010101010101010101010173
+:103D40000101010101010101010101010101010163
+:103D50000101010101010101010101010101010153
+:103D60000101010101010101010101010101010143
+:103D70000101010101010101010101010101010133
+:103D80000101010101010101010101010101010123
+:103D90000101010101010101010101010101010113
+:103DA0000101010101010101010101010101010103
+:103DB00001010101010101010101010101010101F3
+:103DC00001010101010101010101010101010101E3
+:103DD00001010101010101010101010101010101D3
+:103DE00001010101010101010101010101010101C3
+:103DF00001010101010101010101010101010101B3
+:103E000001010101010101010101010101010101A2
+:103E10000101010101010101010101010101010192
+:103E20000101010101010101010101010101010182
+:103E30000101010101010101010101010101010172
+:103E40000101010101010101010101010101010162
+:103E50000101010101010101010101010101010152
+:103E60000101010101010101010101010101010142
+:103E70000101010101010101010101010101010132
+:103E80000101010101010101010101010101010122
+:103E90000101010101010101010101010101010112
+:103EA0000101010101010101010101010101010102
+:103EB00001010101010101010101010101010101F2
+:103EC00001010101010101010101010101010101E2
+:103ED00001010101010101010101010101010101D2
+:103EE00001010101010101010101010101010101C2
+:103EF00001010101010101010101010101010101B2
+:103F000001010101010101010101010101010101A1
+:103F10000101010101010101010101010101010191
+:103F20000101010101010101010101010101010181
+:103F30000101010101010101010101010101010171
+:103F40000101010101010101010101010101010161
+:103F50000101010101010101010101010101010151
+:103F60000101010101010101010101010101010141
+:103F70000101010101010101010101010101010131
+:103F80000101010101010101010101010101010121
+:103F90000101010101010101010101010101010111
+:103FA0000101010101010101010101010101010101
+:103FB00001010101010101010101010101010101F1
+:103FC00001010101010101010101010101010101E1
+:103FD00001010101010101010101010101010101D1
+:103FE00001010101010101010101010101010101C1
+:103FF00001010101010101010101010101010101B1
+:1040000001010101010101010101010101010101A0
+:104010000101010101010101010101010101010190
+:104020000101010101010101010101010101010180
+:104030000101010101010101010101010101010170
+:104040000101010101010101010101010101010160
+:104050000101010101010101010101010101010150
+:104060000101010101010101010101010101010140
+:104070000101010101010101010101010101010130
+:104080000101010101010101010101010101010120
+:104090000101010101010101010101010101010110
+:1040A0000101010101010101010101010101010100
+:1040B00001010101010101010101010101010101F0
+:1040C00001010101010101010101010101010101E0
+:1040D00001010101010101010101010101010101D0
+:1040E00001010101010101010101010101010101C0
+:1040F00001010101010101010101010101010101B0
+:10410000010101010101010101010101010101019F
+:10411000010101010101010101010101010101018F
+:10412000010101010101010101010101010101017F
+:10413000010101010101010101010101010101016F
+:10414000010101010101010101010101010101015F
+:10415000010101010101010101010101010101014F
+:10416000010101010101010101010101010101013F
+:10417000010101010101010101010101010101012F
+:10418000010101010101010101010101010101011F
+:10419000010101010101010101010101010101010F
+:1041A00001010101010101010101010101010101FF
+:1041B00001010101010101010101010101010101EF
+:1041C00001010101010101010101010101010101DF
+:1041D00001010101010101010101010101010101CF
+:1041E00001010101010101010101010101010101BF
+:1041F00001010101010101010101010101010101AF
+:10420000010101010101010101010101010101019E
+:10421000010101010101010101010101010101018E
+:10422000010101010101010101010101010101017E
+:10423000010101010101010101010101010101016E
+:10424000010101010101010101010101010101015E
+:10425000010101010101010101010101010101014E
+:10426000010101010101010101010101010101013E
+:10427000010101010101010101010101010101012E
+:10428000010101010101010101010101010101011E
+:10429000010101010101010101010101010101010E
+:1042A00001010101010101010101010101010101FE
+:1042B00001010101010101010101010101010101EE
+:1042C00001010101010101010101010101010101DE
+:1042D00001010101010101010101010101010101CE
+:1042E00001010101010101010101010101010101BE
+:1042F00001010101010101010101010101010101AE
+:10430000010101010101010101010101010101019D
+:10431000010101010101010101010101010101018D
+:10432000010101010101010101010101010101017D
+:10433000010101010101010101010101010101016D
+:10434000010101010101010101010101010101015D
+:10435000010101010101010101010101010101014D
+:10436000010101010101010101010101010101013D
+:10437000010101010101010101010101010101012D
+:10438000010101010101010101010101010101011D
+:10439000010101010101010101010101010101010D
+:1043A00001010101010101010101010101010101FD
+:1043B00001010101010101010101010101010101ED
+:1043C00001010101010101010101010101010101DD
+:1043D00001010101010101010101010101010101CD
+:1043E00001010101010101010101010101010101BD
+:1043F00001010101010101010101010101010101AD
+:10440000010101010101010101010101010101019C
+:10441000010101010101010101010101010101018C
+:10442000010101010101010101010101010101017C
+:10443000010101010101010101010101010101016C
+:10444000010101010101010101010101010101015C
+:10445000010101010101010101010101010101014C
+:10446000010101010101010101010101010101013C
+:10447000010101010101010101010101010101012C
+:10448000010101010101010101010101010101011C
+:10449000010101010101010101010101010101010C
+:1044A00001010101010101010101010101010101FC
+:1044B00001010101010101010101010101010101EC
+:1044C00001010101010101010101010101010101DC
+:1044D00001010101010101010101010101010101CC
+:1044E00001010101010101010101010101010101BC
+:1044F00001010101010101010101010101010101AC
+:10450000010101010101010101010101010101019B
+:10451000010101010101010101010101010101018B
+:10452000010101010101010101010101010101017B
+:10453000010101010101010101010101010101016B
+:10454000010101010101010101010101010101015B
+:10455000010101010101010101010101010101014B
+:10456000010101010101010101010101010101013B
+:10457000010101010101010101010101010101012B
+:10458000010101010101010101010101010101011B
+:10459000010101010101010101010101010101010B
+:1045A00001010101010101010101010101010101FB
+:1045B00001010101010101010101010101010101EB
+:1045C00001010101010101010101010101010101DB
+:1045D00001010101010101010101010101010101CB
+:1045E00001010101010101010101010101010101BB
+:1045F00001010101010101010101010101010101AB
+:10460000010101010101010101010101010101019A
+:10461000010101010101010101010101010101018A
+:10462000010101010101010101010101010101017A
+:10463000010101010101010101010101010101016A
+:10464000010101010101010101010101010101015A
+:10465000010101010101010101010101010101014A
+:10466000010101010101010101010101010101013A
+:10467000010101010101010101010101010101012A
+:10468000010101010101010101010101010101011A
+:10469000010101010101010101010101010101010A
+:1046A00001010101010101010101010101010101FA
+:1046B00001010101010101010101010101010101EA
+:1046C00001010101010101010101010101010101DA
+:1046D00001010101010101010101010101010101CA
+:1046E00001010101010101010101010101010101BA
+:1046F00001010101010101010101010101010101AA
+:104700000101010101010101010101010101010199
+:104710000101010101010101010101010101010189
+:104720000101010101010101010101010101010179
+:104730000101010101010101010101010101010169
+:104740000101010101010100000000000000000062
+:104750000000000000000000000000000000000059
+:104760000000000000000000000000000000000049
+:104770000000000000000000000000000000000039
+:104780000000000000000000000000000000000029
+:104790000000000000000000000000000000000019
+:1047A0000000000000000000000000000000000009
+:1047B00000000000000000000000000000000000F9
+:1047C00000000000000000000000000000000000E9
+:1047D00000000000000000000000000000000000D9
+:1047E00000000000000000000000000000000000C9
+:1047F00000000000000000000000000000000000B9
+:1048000000000000000000000000000000000000A8
+:104810000000000000000000000000000000000098
+:104820000000000000000000000000000000000088
+:104830000000000000000000000000000000000078
+:104840000000000000000000000000000000000068
+:104850000000000000000000000000000000000058
+:104860000000000000000000000000000000000048
+:104870000000000000000000000000000000000038
+:104880000000000000000000000000000000000028
+:104890000000000000000000000000000000000018
+:1048A0000000000000000000000000000000000008
+:1048B00000000000000000000000000000000000F8
+:1048C00000000000000000000000000000000000E8
+:1048D00000000000000000000000000000000000D8
+:1048E00000000000000000000000000000000000C8
+:1048F00000000000000000000000000000000000B8
+:1049000000000000000000000000000000000000A7
+:104910000000000000000000000000000000000097
+:104920000000000000000000000000000000000087
+:104930000000000000000000000000000000000077
+:104940000000000000000000000000000000000067
+:104950000000000000000000000000000000000057
+:104960000000000000000000000000000000000047
+:104970000000000000000000000000000000000037
+:104980000000000000000000000000000000000027
+:104990000000000000000000000000000000000017
+:1049A0000000000000000000000000000000000007
+:1049B00000000000000000000000000000000000F7
+:1049C00000000000000000000000000000000000E7
+:1049D00000000000000000000000000000000000D7
+:1049E00000000000000000000000000000000000C7
+:1049F00000000000000000000000000000000000B7
+:104A000000000000000000000000000000000000A6
+:104A10000000000000000000000000000000000096
+:104A20000000000000000000000000000000000086
+:104A30000000000000000000000000000000000076
+:104A40000000000000000000000000000000000066
+:104A50000000000000000000000000000000000056
+:104A60000000000000000000000000000000000046
+:104A70000000000000000000000000000000000036
+:104A80000000000000000000000000000000000026
+:104A90000000000000000000000000000000000016
+:104AA0000000000000000000000000000000000006
+:104AB00000000000000000000000000000000000F6
+:104AC00000000000000000000000000000000000E6
+:104AD00000000000000000000000000000000000D6
+:104AE00000000000000000000000000000000000C6
+:104AF00000000000000000000000000000000000B6
+:104B000000000000000000000000000000000000A5
+:104B10000000000000000000000000000000000095
+:104B20000000000000000000000000000000000085
+:104B30000000000000000000000000000000000075
+:104B40000000000000000002020202020202020253
+:104B50000202020202020202020202020202020235
+:104B60000202020202020202020202020202020225
+:104B70000202020202020202020202020202020215
+:104B80000202020202020202020202020202020205
+:104B900002020202020202020202020202020202F5
+:104BA00002020202020202020202020202020202E5
+:104BB00002020202020202020202020202020202D5
+:104BC00002020202020202020202020202020202C5
+:104BD00002020202020202020202020202020202B5
+:104BE00002020202020202020202020202020202A5
+:104BF0000202020202020202020202020202020295
+:104C00000202020202020202020202020202020284
+:104C10000202020202020202020202020202020274
+:104C20000202020202020202020202020202020264
+:104C30000202020202020202020202020202020254
+:104C40000202020202020202020202020202020244
+:104C50000202020202020202020202020202020234
+:104C60000202020202020202020202020202020224
+:104C70000202020202020202020202020202020214
+:104C80000202020202020202020202020202020204
+:104C900002020202020202020202020202020202F4
+:104CA00002020202020202020202020202020202E4
+:104CB00002020202020202020202020202020202D4
+:104CC00002020202020202020202020202020202C4
+:104CD00002020202020202020202020202020202B4
+:104CE00002020202020202020202020202020202A4
+:104CF0000202020202020202020202020202020294
+:104D00000202020202020202020202020202020283
+:104D10000202020202020202020202020202020273
+:104D20000202020202020202020202020202020263
+:104D30000202020202020202020202020202020253
+:104D40000202020202020202020202020202020243
+:104D50000202020202020202020202020202020233
+:104D60000202020202020202020202020202020223
+:104D70000202020202020202020202020202020213
+:104D80000202020202020202020202020202020203
+:104D900002020202020202020202020202020202F3
+:104DA00002020202020202020202020202020202E3
+:104DB00002020202020202020202020202020202D3
+:104DC00002020202020202020202020202020202C3
+:104DD00002020202020202020202020202020202B3
+:104DE00002020202020202020202020202020202A3
+:104DF0000202020202020202020202020202020293
+:104E00000202020202020202020202020202020282
+:104E10000202020202020202020202020202020272
+:104E20000202020202020202020202020202020262
+:104E30000202020202020202020202020202020252
+:104E40000202020202020202020202020202020242
+:104E50000202020202020202020202020202020232
+:104E60000202020202020202020202020202020222
+:104E70000202020202020202020202020202020212
+:104E80000202020202020202020202020202020202
+:104E900002020202020202020202020202020202F2
+:104EA00002020202020202020202020202020202E2
+:104EB00002020202020202020202020202020202D2
+:104EC00002020202020202020202020202020202C2
+:104ED00002020202020202020202020202020202B2
+:104EE00002020202020202020202020202020202A2
+:104EF0000202020202020202020202020202020292
+:104F00000202020202020202020202020202020281
+:104F10000202020202020202020202020202020271
+:104F20000202020202020202020202020202020261
+:104F30000202020202020202020202020202020251
+:104F40000202020202020202020202020202020241
+:104F50000202020202020202020202020202020231
+:104F60000202020202020202020202020202020221
+:104F70000202020202020202020202020202020211
+:104F80000202020202020202020202020202020201
+:104F900002020202020202020202020202020202F1
+:104FA00002020202020202020202020202020202E1
+:104FB00002020202020202020202020202020202D1
+:104FC00002020202020202020202020202020202C1
+:104FD00002020202020202020202020202020202B1
+:104FE00002020202020202020202020202020202A1
+:104FF0000202020202020202020202020202020291
+:105000000202020202020202020202020202020280
+:105010000202020202020202020202020202020270
+:105020000202020202020202020202020202020260
+:105030000202020202020202020202020202020250
+:105040000202020202020202020202020202020240
+:105050000202020202020202020202020202020230
+:105060000202020202020202020202020202020220
+:105070000202020202020202020202020202020210
+:105080000202020202020202020202020202020200
+:1050900002020202020202020202020202020202F0
+:1050A00002020202020202020202020202020202E0
+:1050B00002020202020202020202020202020202D0
+:1050C00002020202020202020202020202020202C0
+:1050D00002020202020202020202020202020202B0
+:1050E00002020202020202020202020202020202A0
+:1050F0000202020202020202020202020202020290
+:10510000020202020202020202020202020202027F
+:10511000020202020202020202020202020202026F
+:10512000020202020202020202020202020202025F
+:10513000020202020202020202020202020202024F
+:10514000020202020202020202020202020202023F
+:10515000020202020202020202020202020202022F
+:10516000020202020202020202020202020202021F
+:10517000020202020202020202020202020202020F
+:1051800002020202020202020202020202020202FF
+:1051900002020202020202020202020202020202EF
+:1051A00002020202020202020202020202020202DF
+:1051B00002020202020202020202020202020202CF
+:1051C00002020202020202020202020202020202BF
+:1051D00002020202020202020202020202020202AF
+:1051E000020202020202020202020202020202029F
+:1051F000020202020202020202020202020202028F
+:10520000020202020202020202020202020202027E
+:10521000020202020202020202020202020202026E
+:10522000020202020202020202020202020202025E
+:10523000020202020202020202020202020202024E
+:10524000020202020202020202020202020202023E
+:10525000020202020202020202020202020202022E
+:10526000020202020202020202020202020202021E
+:10527000020202020202020202020202020202020E
+:1052800002020202020202020202020202020202FE
+:1052900002020202020202020202020202020202EE
+:1052A00002020202020202020202020202020202DE
+:1052B00002020202020202020202020202020202CE
+:1052C00002020202020202020202020202020202BE
+:1052D00002020202020202020202020202020202AE
+:1052E000020202020202020202020202020202029E
+:1052F000020202020202020202020202020202028E
+:10530000020202020202020202020202020202027D
+:10531000020202020202020202020202020202026D
+:10532000020202020202020202020202020202025D
+:10533000020202020202020202020202020202024D
+:10534000020202020202020202020202020202023D
+:10535000020202020202020202020202020202022D
+:10536000020202020202020202020202020202021D
+:10537000020202020202020202020202020202020D
+:1053800002020202020202020202020202020202FD
+:1053900002020202020202020202020202020202ED
+:1053A00002020202020202020202020202020202DD
+:1053B00002020202020202020202020202020202CD
+:1053C00002020202020202020202020202020202BD
+:1053D00002020202020202020202020202020202AD
+:1053E000020202020202020202020202020202029D
+:1053F000020202020202020202020202020202028D
+:10540000020202020202020202020202020202027C
+:10541000020202020202020202020202020202026C
+:10542000020202020202020202020202020202025C
+:10543000020202020202020202020202020202024C
+:10544000020202020202020202020202020202023C
+:10545000020202020202020202020202020202022C
+:10546000020202020202020202020202020202021C
+:10547000020202020202020202020202020202020C
+:1054800002020202020202020202020202020202FC
+:1054900002020202020202020202020202020202EC
+:1054A00002020202020202020202020202020202DC
+:1054B00002020202020202020202020202020202CC
+:1054C00002020202020202020202020202020202BC
+:1054D00002020202020202020202020202020202AC
+:1054E000020202020202020202020202020202029C
+:1054F000020202020202020202020202020202028C
+:10550000020202020202020202020202020202027B
+:10551000020202020202020202020202020202026B
+:10552000020202020202020202020202020202025B
+:10553000020202020202020202020202020202024B
+:10554000020202020202020202020202020202023B
+:10555000020202020202020202020202020202022B
+:10556000020202020202020202020202020202021B
+:10557000020202020202020202020202020202020B
+:1055800002020202020202020202020202020202FB
+:1055900002020202020202020202020202020202EB
+:1055A00002020202020202020202020202020202DB
+:1055B00002020202020202020202020202020202CB
+:1055C00002020202020202020202020202020202BB
+:1055D00002020202020202020202020202020202AB
+:1055E000020202020202020202020202020202029B
+:1055F000020202020202020202020202020202028B
+:10560000020202020202020202020202020202027A
+:10561000020202020202020202020202020202026A
+:10562000020202020202020202020202020202025A
+:10563000020202020202020202020202020202024A
+:10564000020202020202020202020202020202023A
+:10565000020202020202020202020202020202022A
+:10566000020202020202020202020202020202021A
+:10567000020202020202020202020202020202020A
+:1056800002020202020202020202020202020202FA
+:1056900002020202020202020202020202020202EA
+:1056A00002020202020202020202020202020202DA
+:1056B00002020202020202020202020202020202CA
+:1056C00002020202020202020202020202020202BA
+:1056D00002020202020202020202020202020202AA
+:1056E000020202020202020202020202020202029A
+:1056F000020202020202020202020202020202028A
+:105700000202020202020202020202020202020279
+:105710000202020202020202020202020202020269
+:105720000202020202020202020202020202020259
+:105730000202020202020202020202020202020249
+:105740000202020202020202020202020202020239
+:105750000202020202020202020202020202020229
+:105760000202020202020202020202020202020219
+:105770000202020202020202020202020202020209
+:1057800002020202020202020202020202020202F9
+:1057900002020202020202020202020202020202E9
+:1057A00002020202020202020202020202020202D9
+:1057B00002020202020202020202020202020202C9
+:1057C00002020202020202020202020202020202B9
+:1057D00002020202020202020202020202020202A9
+:1057E0000202020202020202020202020202020299
+:1057F0000202020202020202020202020202020289
+:105800000202020202020202020202020202020278
+:105810000202020202020202020202020202020268
+:105820000202020202020202020202020202020258
+:105830000202020202020202020202020202020248
+:105840000202020202020202020202020202020238
+:105850000202020202020202020202020202020228
+:105860000202020202020202020202020202020218
+:105870000202020202020202020202020202020208
+:1058800002020202020202020202020202020202F8
+:1058900002020202020202020202020202020202E8
+:1058A00002020202020202020202020202020202D8
+:1058B00002020202020202020202020202020202C8
+:1058C00002020202020202020202020202020202B8
+:1058D00002020202020202020202020202020202A8
+:1058E0000202020202020202020202020202020298
+:1058F0000202020202020202020202020202020288
+:105900000202020202020202020202020202020277
+:105910000202020202020202020202020202020267
+:105920000202020202020202020202020202020257
+:105930000202020202020202020202020202020247
+:105940000202020202020202020202020202020237
+:105950000202020202020202020202020202020227
+:105960000202020202020202020202020202020217
+:105970000202020202020202020202020202020207
+:1059800002020202020202020202020202020202F7
+:1059900002020202020202020202020202020202E7
+:1059A00002020202020202020202020202020202D7
+:1059B00002020202020202020202020202020202C7
+:1059C00002020202020202020202020202020202B7
+:1059D00002020202020202020202020202020202A7
+:1059E0000202020202020202020202020202020297
+:1059F0000202020202020202020202020202020287
+:105A00000202020202020202020202020202020276
+:105A10000202020202020202020202020202020266
+:105A20000202020202020202020202020202020256
+:105A30000202020202020202020202020202020246
+:105A40000202020202020202020202020202020236
+:105A50000202020202020202020202020202020226
+:105A60000202020202020202020202020202020216
+:105A70000202020202020202020202020202020206
+:105A800002020202020202020202020202020202F6
+:105A900002020202020202020202020202020202E6
+:105AA00002020202020202020202020202020202D6
+:105AB00002020202020202020202020202020202C6
+:105AC00002020202020202020202020202020202B6
+:105AD00002020202020202020202020202020202A6
+:105AE0000202020202020202020202020202020296
+:105AF0000202020202020202020202020202020286
+:105B00000202020202020202020202020202020275
+:105B10000202020202020202020202020202020265
+:105B20000202020202020202020202020202020255
+:105B30000202020202020202020202020202020245
+:105B40000202020202020202020202020202020235
+:105B50000202020202020202020202020202020225
+:105B60000202020202020202020202020202020215
+:105B70000202020202020202020202020202020205
+:105B800002020202020202020202020202020202F5
+:105B900002020202020202020202020202020202E5
+:105BA00002020202020202020202020202020202D5
+:105BB00002020202020202020202020202020202C5
+:105BC00002020202020202020202020202020202B5
+:105BD00002020202020202020202020202020202A5
+:105BE0000202020202020202020202020202020295
+:105BF0000202020202020202020202020202020285
+:105C00000202020202020202020202020202020274
+:105C10000202020202020202020202020202020264
+:105C20000202020202020202020202020202020254
+:105C30000202020202020202020202020202020244
+:105C40000202020202020202020202020202020234
+:105C50000202020202020202020202020202020224
+:105C60000202020202020202020202020202020214
+:105C70000202020202020202020202020202020204
+:105C800002020202020202020202020202020202F4
+:105C900002020202020202020202020202020202E4
+:105CA00002020202020202020202020202020202D4
+:105CB00002020202020202020202020202020202C4
+:105CC00002020202020202020202020202020202B4
+:105CD00002020202020202020202020202020202A4
+:105CE0000202020202020202020202020202020294
+:105CF0000202020202020202020202020202020284
+:105D00000202020202020202020202020202020273
+:105D10000202020202020202020202020202020263
+:105D20000202020202020202020202020202020253
+:105D30000202020202020202020202020202020243
+:105D40000202020202020202020202020202020233
+:105D50000202020202020202020202020202020223
+:105D60000202020202020202020202020202020213
+:105D70000202020202020202020202020202020203
+:105D800002020202020202020202020202020202F3
+:105D900002020202020202020202020202020202E3
+:105DA00002020202020202020202020202020202D3
+:105DB00002020202020202020202020202020202C3
+:105DC00002020202020202020202020202020202B3
+:105DD00002020202020202020202020202020202A3
+:105DE0000202020202020202020202020202020293
+:105DF0000202020202020202020202020202020283
+:105E00000202020202020202020202020202020272
+:105E10000202020202020202020202020202020262
+:105E20000202020202020202020202020202020252
+:105E30000202020202020202020202020202020242
+:105E40000202020202020202020202020202020232
+:105E50000202020202020202020202020202020222
+:105E60000202020202020202020202020202020212
+:105E70000202020202020202020202020202020202
+:105E800002020202020202020202020202020202F2
+:105E900002020202020202020202020202020202E2
+:105EA00002020202020202020202020202020202D2
+:105EB00002020202020202020202020202020202C2
+:105EC00002020202020202020202020202020202B2
+:105ED00002020202020202020202020202020202A2
+:105EE0000202020202020202020202020202020292
+:105EF0000202020202020202020202020202020282
+:105F00000202020202020202020202020202020271
+:105F10000202020202020202020202020202020261
+:105F20000202020202020202020202020202020251
+:105F30000202020202020202020202020202020241
+:105F40000202020202020200000000000000000043
+:105F50000000000000000000000000000000000041
+:105F60000000000000000000000000000000000031
+:105F70000000000000000000000000000000000021
+:105F80000000000000000000000000000000000011
+:105F90000000000000000000000000000000000001
+:105FA00000000000000000000000000000000000F1
+:105FB00000000000000000000000000000000000E1
+:105FC00000000000000000000000000000000000D1
+:105FD00000000000000000000000000000000000C1
+:105FE00000000000000000000000000000000000B1
+:105FF00000000000000000000000000000000000A1
+:106000000000000000000000000000000000000090
+:106010000000000000000000000000000000000080
+:106020000000000000000000000000000000000070
+:106030000000000000000000000000000000000060
+:106040000000000000000000000000000000000050
+:106050000000000000000000000000000000000040
+:106060000000000000000000000000000000000030
+:106070000000000000000000000000000000000020
+:106080000000000000000000000000000000000010
+:106090000000000000000000000000000000000000
+:1060A00000000000000000000000000000000000F0
+:1060B00000000000000000000000000000000000E0
+:1060C00000000000000000000000000000000000D0
+:1060D00000000000000000000000000000000000C0
+:1060E00000000000000000000000000000000000B0
+:1060F00000000000000000000000000000000000A0
+:10610000000000000000000000000000000000008F
+:10611000000000000000000000000000000000007F
+:10612000000000000000000000000000000000006F
+:10613000000000000000000000000000000000005F
+:10614000000000000000000000000000000000004F
+:10615000000000000000000000000000000000003F
+:10616000000000000000000000000000000000002F
+:10617000000000000000000000000000000000001F
+:10618000000000000000000000000000000000000F
+:1061900000000000000000000000000000000000FF
+:1061A00000000000000000000000000000000000EF
+:1061B00000000000000000000000000000000000DF
+:1061C00000000000000000000000000000000000CF
+:1061D00000000000000000000000000000000000BF
+:1061E00000000000000000000000000000000000AF
+:1061F000000000000000000000000000000000009F
+:10620000000000000000000000000000000000008E
+:10621000000000000000000000000000000000007E
+:10622000000000000000000000000000000000006E
+:10623000000000000000000000000000000000005E
+:10624000000000000000000000000000000000004E
+:10625000000000000000000000000000000000003E
+:10626000000000000000000000000000000000002E
+:10627000000000000000000000000000000000001E
+:10628000000000000000000000000000000000000E
+:1062900000000000000000000000000000000000FE
+:1062A00000000000000000000000000000000000EE
+:1062B00000000000000000000000000000000000DE
+:1062C00000000000000000000000000000000000CE
+:1062D00000000000000000000000000000000000BE
+:1062E00000000000000000000000000000000000AE
+:1062F000000000000000000000000000000000009E
+:10630000000000000000000000000000000000008D
+:10631000000000000000000000000000000000007D
+:10632000000000000000000000000000000000006D
+:10633000000000000000000000000000000000005D
+:10634000000000000000000000000000000000004D
+:10635000000000000000000000000000000000003D
+:10636000000000000000000000000000000000002D
+:10637000000000000000000000000000000000001D
+:10638000000000000000000000000000000000000D
+:1063900000000000000000000000000000000000FD
+:1063A00000000000000000000000000000000000ED
+:1063B00000000000000000000000000000000000DD
+:1063C00000000000000000000000000000000000CD
+:1063D00000000000000000000000000000000000BD
+:1063E00000000000000000000000000000000000AD
+:1063F000000000000000000000000000000000009D
+:10640000000000000000000000000000000000008C
+:10641000000000000000000000000000000000007C
+:10642000000000000000000000000000000000006C
+:10643000000000000000000000000000000000005C
+:10644000000000000000000000000000000000004C
+:10645000000000000000000000000000000000003C
+:10646000000000000000000000000000000000002C
+:10647000000000000000000000000000000000001C
+:10648000000000000000000000000000000000000C
+:1064900000000000000000000000000000000000FC
+:1064A00000000000000000000000000000000000EC
+:1064B00000000000000000000000000000000000DC
+:1064C00000000000000000000000000000000000CC
+:1064D00000000000000000000000000000000000BC
+:1064E00000000000000000000000000000000000AC
+:1064F000000000000000000000000000000000009C
+:10650000000000000000000000000000000000008B
+:10651000000000000000000000000000000000007B
+:10652000000000000000000000000000000000006B
+:10653000000000000000000000000000000000005B
+:10654000000000000000000000000000000000004B
+:10655000000000000000000000000000000000003B
+:10656000000000000000000000000000000000002B
+:10657000000000000000000000000000000000001B
+:10658000000000000000000000000000000000000B
+:1065900000000000000000000000000000000000FB
+:1065A00000000000000000000000000000000000EB
+:1065B00000000000000000000000000000000000DB
+:1065C00000000000000000000000000000000000CB
+:1065D00000000000000000000000000000000000BB
+:1065E00000000000000000000000000000000000AB
+:1065F000000000000000000000000000000000009B
+:10660000000000000000000000000000000000008A
+:10661000000000000000000000000000000000007A
+:10662000000000000000000000000000000000006A
+:10663000000000000000000000000000000000005A
+:10664000000000000000000000000000000000004A
+:10665000000000000000000000000000000000003A
+:10666000000000000000000000000000000000002A
+:10667000000000000000000000000000000000001A
+:10668000000000000000000000000000000000000A
+:1066900000000000000000000000000000000000FA
+:1066A00000000000000000000000000000000000EA
+:1066B00000000000000000000000000000000000DA
+:1066C00000000000000000000000000000000000CA
+:1066D00000000000000000000000000000000000BA
+:1066E00000000000000000000000000000000000AA
+:1066F000000000000000000000000000000000009A
+:106700000000000000000000000000000000000089
+:106710000000000000000000000000000000000079
+:106720000000000000000000000000000000000069
+:106730000000000000000000000000000000000059
+:106740000000000000000000000000000000000049
+:106750000000000000000000000000000000000039
+:106760000000000000000000000000000000000029
+:106770000000000000000000000000000000000019
+:106780000000000000000000000000000000000009
+:1067900000000000000000000000000000000000F9
+:1067A00000000000000000000000000000000000E9
+:1067B00000000000000000000000000000000000D9
+:1067C00000000000000000000000000000000000C9
+:1067D00000000000000000000000000000000000B9
+:1067E00000000000000000000000000000000000A9
+:1067F0000000000000000000000000000000000099
+:106800000000000000000000000000000000000088
+:106810000000000000000000000000000000000078
+:106820000000000000000000000000000000000068
+:106830000000000000000000000000000000000058
+:106840000000000000000000000000000000000048
+:106850000000000000000000000000000000000038
+:106860000000000000000000000000000000000028
+:106870000000000000000000000000000000000018
+:106880000000000000000000000000000000000008
+:1068900000000000000000000000000000000000F8
+:1068A00000000000000000000000000000000000E8
+:1068B00000000000000000000000000000000000D8
+:1068C00000000000000000000000000000000000C8
+:1068D00000000000000000000000000000000000B8
+:1068E00000000000000000000000000000000000A8
+:1068F0000000000000000000000000000000000098
+:106900000000000000000000000000000000000087
+:106910000000000000000000000000000000000077
+:106920000000000000000000000000000000000067
+:106930000000000000000000000000000000000057
+:106940000000000000000000000000000000000047
+:106950000000000000000000000000000000000037
+:106960000000000000000000000000000000000027
+:106970000000000000000000000000000000000017
+:106980000000000000000000000000000000000007
+:1069900000000000000000000000000000000000F7
+:1069A00000000000000000000000000000000000E7
+:1069B00000000000000000000000000000000000D7
+:1069C00000000000000000000000000000000000C7
+:1069D00000000000000000000000000000000000B7
+:1069E00000000000000000000000000000000000A7
+:1069F0000000000000000000000000000000000097
+:106A00000000000000000000000000000000000086
+:106A10000000000000000000000000000000000076
+:106A20000000000000000000000000000000000066
+:106A30000000000000000000000000000000000056
+:106A40000000000000000000000000000000000046
+:106A50000000000000000000000000000000000036
+:106A60000000000000000000000000000000000026
+:106A70000000000000000000000000000000000016
+:106A80000000000000000000000000000000000006
+:106A900000000000000000000000000000000000F6
+:106AA00000000000000000000000000000000000E6
+:106AB00000000000000000000000000000000000D6
+:106AC00000000000000000000000000000000000C6
+:106AD00000000000000000000000000000000000B6
+:106AE00000000000000000000000000000000000A6
+:106AF0000000000000000000000000000000000096
+:106B00000000000000000000000000000000000085
+:106B10000000000000000000000000000000000075
+:106B20000000000000000000000000000000000065
+:106B30000000000000000000000000000000000055
+:106B400000000000000000786B07000000000080DB
+:106B5000A407000000000088D60700000000009095
+:106B600000080000000000982A080000000000A0B3
+:106B70004C080000000000A867080000000000B0FA
+:106B800080080000000000B897080000000000C066
+:106B9000AC080000000000C8C1080000000000D0E0
+:106BA000D6080000000000D8EB080000000000E05C
+:106BB0000009000000000039000000000000000093
+:106BC00000000000000000000000000000000100C4
+:106BD00000000000000000000000000000000000B5
+:106BE00000000000000000000000000000000000A5
+:106BF0000000000000000000000000000000000095
+:106C00000000000000000000000000000000000084
+:106C10000000000000000000000000000000000074
+:106C20000000000000000000000000000000000064
+:106C30000000000000000000000000000000000054
+:106C40000000000000000000000000000000000044
+:106C50000000000000000000000000000000000034
+:106C60000000000000000000000000000000000024
+:106C70000000000000000000000000000000000014
+:106C80000000000000000000000000000000000004
+:106C900000000000000000000000000000000000F4
+:106CA00000000000000000000000000000000002E2
+:106CB00000000000000000000000000000000000D4
+:106CC00000000000000000000000000000000100C3
+:106CD00000000000000000000000000000000000B4
+:106CE00000000000000000000000000000000000A4
+:106CF0000000000000000000000000000000000094
+:106D00000000000000000000000000000000000083
+:106D10000000000000000000000000000000000073
+:106D20000000000000000000000000000000000063
+:106D30000000000000000000000000000000000053
+:106D40000000000000000000000000000000000043
+:106D50000000000000000000000000000000000033
+:106D60000000000000000000000000000000000023
+:106D70000000000000000000000000000000000013
+:106D80000000000000000000000000000000000003
+:106D900000000000000000000000000000000000F3
+:106DA00000000000000000000000000000000002E1
+:106DB00000010101010101010001000100000000CA
+:106DC00000000000000000000000000000000100C2
+:106DD00000000000000000000000000000000000B3
+:106DE00000000000000000000000000000000000A3
+:106DF0000000000000000000000000000000000093
+:106E00000000000000000000000000000000000082
+:106E10000000000000000000000000000000000072
+:106E20000000000000000000000000000000000062
+:106E30000000000000000000000000000000000052
+:106E40000000000000000000000000000000000042
+:106E50000000000000000000000000000000000032
+:106E60000000000000000000000000000000000022
+:106E70000000000000000000000000000000000012
+:106E80000000000000000000000000000000000002
+:106E900000000000000000000000000000000000F2
+:106EA00000000000000000000000000000000002E0
+:106EB00001010101010101010101010101010000C4
+:106EC00000000000000000000000000000000100C1
+:106ED00000000000000000000000000000000000B2
+:106EE00000000000000000000000000000000000A2
+:106EF0000000000000000000000000000000000092
+:106F00000000000000000000000000000000000081
+:106F10000000000000000000000000000000000071
+:106F20000000000000000000000000000000000061
+:106F30000000000000000000000000000000000051
+:106F40000000000000000000000000000000000041
+:106F50000000000000000000000000000000000031
+:106F60000000000000000000000000000000000021
+:106F70000000000000000000000000000000000011
+:106F80000000000000000000000000000000000001
+:106F900000000000000000000000000000000000F1
+:106FA00000000000000000000000000000000002DF
+:106FB00002010101010101010101010101010000C2
+:106FC00000000000000000000000000000000100C0
+:106FD00000000000000000000000000000000000B1
+:106FE00000000000000000000000000000000000A1
+:106FF0000000000000000000000000000000000091
+:107000000000000000000000000000000000000080
+:107010000000000000000000000000000000000070
+:107020000000000000000000000000000000000060
+:107030000000000000000000000000000000000050
+:107040000000000000000000000000000000000040
+:107050000000000000000000000000000000000030
+:107060000000000000000000000000000000000020
+:107070000000000000000000000000000000000010
+:107080000000000000000000000000000000000000
+:1070900000000000000000000000000000000000F0
+:1070A00000000000000000000000000000000002DE
+:1070B00002010101010101010101010101010000C1
+:1070C00000000000000000000000000000000100BF
+:1070D00000000000000000000000000000000000B0
+:1070E00000000000000000000000000000000000A0
+:1070F0000000000000000000000000000000000090
+:10710000000000000000000000000000000000007F
+:10711000000000000000000000000000000000006F
+:10712000000000000000000000000000000000005F
+:10713000000000000000000000000000000000004F
+:10714000000000000000000000000000000000003F
+:10715000000000000000000000000000000000002F
+:10716000000000000000000000000000000000001F
+:10717000000000000000000000000000000000000F
+:1071800000000000000000000000000000000000FF
+:1071900000000000000000000000000000000000EF
+:1071A00000000000000000000000000000000002DD
+:1071B00002010101010101010101010101010000C0
+:1071C00000000000000000000000000000010100BD
+:1071D00000000000000000000000000000000000AF
+:1071E000000000000000000000000000000000009F
+:1071F000000000000000000000000000000000008F
+:10720000000000000000000000000000000000007E
+:10721000000000000000000000000000000000006E
+:10722000000000000000000000000000000000005E
+:10723000000000000000000000000000000000004E
+:10724000000000000000000000000000000000003E
+:10725000000000000000000000000000000000002E
+:10726000000000000000000000000000000000001E
+:10727000000000000000000000000000000000000E
+:1072800000000000000000000000000000000000FE
+:1072900000000000000000000000000000000000EE
+:1072A00000000000000000000000000000000002DC
+:1072B00002020101010101010101010101010000BE
+:1072C00000000000000000000000000000010100BC
+:1072D00000000000000000000000000000000000AE
+:1072E000000000000000000000000000000000009E
+:1072F000000000000000000000000000000000008E
+:10730000000000000000000000000000000000007D
+:10731000000000000000000000000000000000006D
+:10732000000000000000000000000000000000005D
+:10733000000000000000000000000000000000004D
+:10734000000000000000000000000000000000003D
+:10735000000000000000000000000000000000002D
+:10736000000000000000000000000000000000001D
+:10737000000000000000000000000000000000000D
+:1073800000000000000000000000000000000000FD
+:1073900000000000000000000000000000000000ED
+:1073A00000000000000000000000000000000002DB
+:1073B00002020101010101010101010101010000BD
+:1073C00000000000000000000000000000010100BB
+:1073D00000000000000000000000000000000000AD
+:1073E000000000000000000000000000000000009D
+:1073F000000000000000000000000000000000008D
+:10740000000000000000000000000000000000007C
+:10741000000000000000000000000000000000006C
+:10742000000000000000000000000000000000005C
+:10743000000000000000000000000000000000004C
+:10744000000000000000000000000000000000003C
+:10745000000000000000000000000000000000002C
+:10746000000000000000000000000000000000001C
+:10747000000000000000000000000000000000000C
+:1074800000000000000000000000000000000000FC
+:1074900000000000000000000000000000000000EC
+:1074A00000000000000000000000000000000002DA
+:1074B00002020201010101010101010101010000BB
+:1074C00000000000000000000000000000010100BA
+:1074D00000000000000000000000000000000000AC
+:1074E000000000000000000000000000000000009C
+:1074F000000000000000000000000000000000008C
+:10750000000000000000000000000000000000007B
+:10751000000000000000000000000000000000006B
+:10752000000000000000000000000000000000005B
+:10753000000000000000000000000000000000004B
+:10754000000000000000000000000000000000003B
+:10755000000000000000000000000000000000002B
+:10756000000000000000000000000000000000001B
+:10757000000000000000000000000000000000000B
+:1075800000000000000000000000000000000000FB
+:1075900000000000000000000000000000000000EB
+:1075A00000000000000000000000000000000002D9
+:1075B00002020202010101010101010101010000B9
+:1075C00000000000000000000000000000010100B9
+:1075D00000000000000000000000000000000000AB
+:1075E000000000000000000000000000000000009B
+:1075F000000000000000000000000000000000008B
+:10760000000000000000000000000000000000007A
+:10761000000000000000000000000000000000006A
+:10762000000000000000000000000000000000005A
+:10763000000000000000000000000000000000004A
+:10764000000000000000000000000000000000003A
+:10765000000000000000000000000000000000002A
+:10766000000000000000000000000000000000001A
+:10767000000000000000000000000000000000000A
+:1076800000000000000000000000000000000000FA
+:1076900000000000000000000000000000000000EA
+:1076A00000000000000000000000000000000002D8
+:1076B00002020202010101010101010101010000B8
+:1076C00000000000000000000000000000010100B8
+:1076D00000000000000000000000000000000000AA
+:1076E000000000000000000000000000000000009A
+:1076F000000000000000000000000000000000008A
+:107700000000000000000000000000000000000079
+:107710000000000000000000000000000000000069
+:107720000000000000000000000000000000000059
+:107730000000000000000000000000000000000049
+:107740000000000000000000000000000000000039
+:107750000000000000000000000000000000000029
+:107760000000000000000000000000000000000019
+:107770000000000000000000000000000000000009
+:1077800000000000000000000000000000000000F9
+:1077900000000000000000000000000000000000E9
+:1077A00000000000000000000000000000000002D7
+:1077B00002020202010101010101010101010000B7
+:1077C00000000000000000000000000001010100B6
+:1077D00000000000000000000000000000000000A9
+:1077E0000000000000000000000000000000000099
+:1077F0000000000000000000000000000000000089
+:107800000000000000000000000000000000000078
+:107810000000000000000000000000000000000068
+:107820000000000000000000000000000000000058
+:107830000000000000000000000000000000000048
+:107840000000000000000000000000000000000038
+:107850000000000000000000000000000000000028
+:107860000000000000000000000000000000000018
+:107870000000000000000000000000000000000008
+:1078800000000000000000000000000000000000F8
+:1078900000000000000000000000000000000000E8
+:1078A00000000000000000000000000000000002D6
+:1078B00002020202020101010101010101010000B5
+:1078C00000000000000000000000000101010100B4
+:1078D00000000000000000000000000000000000A8
+:1078E0000000000000000000000000000000000098
+:1078F0000000000000000000000000000000000088
+:107900000000000000000000000000000000000077
+:107910000000000000000000000000000000000067
+:107920000000000000000000000000000000000057
+:107930000000000000000000000000000000000047
+:107940000000000000000000000000000000000037
+:107950000000000000000000000000000000000027
+:107960000000000000000000000000000000000017
+:107970000000000000000000000000000000000007
+:1079800000000000000000000000000000000000F7
+:1079900000000000000000000000000000000000E7
+:1079A00000000000000000000000000000000002D5
+:1079B00002020202020101010101010101010000B4
+:1079C00000000000000000000000000101010100B3
+:1079D00000000000000000000000000000000000A7
+:1079E0000000000000000000000000000000000097
+:1079F0000000000000000000000000000000000087
+:107A00000000000000000000000000000000000076
+:107A10000000000000000000000000000000000066
+:107A20000000000000000000000000000000000056
+:107A30000000000000000000000000000000000046
+:107A40000000000000000000000000000000000036
+:107A50000000000000000000000000000000000026
+:107A60000000000000000000000000000000000016
+:107A70000000000000000000000000000000000006
+:107A800000000000000000000000000000000000F6
+:107A900000000000000000000000000000000000E6
+:107AA00000000000000000000000000000000002D4
+:107AB00002020202020101010101010101010000B3
+:107AC00000000000000000000000000101010100B2
+:107AD00000000000000000000000000000000000A6
+:107AE0000000000000000000000000000000000096
+:107AF0000000000000000000000000000000000086
+:107B00000000000000000000000000000000000075
+:107B10000000000000000000000000000000000065
+:107B20000000000000000000000000000000000055
+:107B30000000000000000000000000000000000045
+:107B40000000000000000000000000000000000035
+:107B50000000000000000000000000000000000025
+:107B60000000000000000000000000000000000015
+:107B70000000000000000000000000000000000005
+:107B800000000000000000000000000000000000F5
+:107B900000000000000000000000000000000000E5
+:107BA00000000000000000000000000000000002D3
+:107BB00002020202020202010101010101010000B0
+:107BC00000000000000000000000010101010100B0
+:107BD00000000000000000000000000000000000A5
+:107BE0000000000000000000000000000000000095
+:107BF0000000000000000000000000000000000085
+:107C00000000000000000000000000000000000074
+:107C10000000000000000000000000000000000064
+:107C20000000000000000000000000000000000054
+:107C30000000000000000000000000000000000044
+:107C40000000000000000000000000000000000034
+:107C50000000000000000000000000000000000024
+:107C60000000000000000000000000000000000014
+:107C70000000000000000000000000000000000004
+:107C800000000000000000000000000000000000F4
+:107C900000000000000000000000000000000000E4
+:107CA00000000000000000000000000000000002D2
+:107CB00002020202020202020101010101010000AE
+:107CC00000000000000000000000010101010100AF
+:107CD00000000000000000000000000000000000A4
+:107CE0000000000000000000000000000000000094
+:107CF0000000000000000000000000000000000084
+:107D00000000000000000000000000000000000073
+:107D10000000000000000000000000000000000063
+:107D20000000000000000000000000000000000053
+:107D30000000000000000000000000000000000043
+:107D40000000000000000000000000000000000033
+:107D50000000000000000000000000000000000023
+:107D60000000000000000000000000000000000013
+:107D70000000000000000000000000000000000003
+:107D800000000000000000000000000000000000F3
+:107D900000000000000000000000000000000000E3
+:107DA00000000000000000000000000000000002D1
+:107DB00002020202020202020101010101010000AD
+:107DC00000000000000000000000010101010100AE
+:107DD00000000000000000000000000000000000A3
+:107DE0000000000000000000000000000000000093
+:107DF0000000000000000000000000000000000083
+:107E00000000000000000000000000000000000072
+:107E10000000000000000000000000000000000062
+:107E20000000000000000000000000000000000052
+:107E30000000000000000000000000000000000042
+:107E40000000000000000000000000000000000032
+:107E50000000000000000000000000000000000022
+:107E60000000000000000000000000000000000012
+:107E70000000000000000000000000000000000002
+:107E800000000000000000000000000000000000F2
+:107E900000000000000000000000000000000000E2
+:107EA00000000000000000000000000000000002D0
+:107EB00002020202020202020201010101010000AB
+:107EC00000000000000000000001010101010100AC
+:107ED00000000000000000000000000000000000A2
+:107EE0000000000000000000000000000000000092
+:107EF0000000000000000000000000000000000082
+:107F00000000000000000000000000000000000071
+:107F10000000000000000000000000000000000061
+:107F20000000000000000000000000000000000051
+:107F30000000000000000000000000000000000041
+:107F40000000000000000000000000000000000031
+:107F50000000000000000000000000000000000021
+:107F60000000000000000000000000000000000011
+:107F70000000000000000000000000000000000001
+:107F800000000000000000000000000000000000F1
+:107F900000000000000000000000000000000000E1
+:107FA00000000000000000000000000000000002CF
+:107FB00002020202020202020202010101010000A9
+:107FC00000000000000000000001010101010100AB
+:107FD00000000000000000000000000000000000A1
+:107FE0000000000000000000000000000000000091
+:107FF0000000000000000000000000000000000081
+:108000000000000000000000000000000000000070
+:108010000000000000000000000000000000000060
+:108020000000000000000000000000000000000050
+:108030000000000000000000000000000000000040
+:108040000000000000000000000000000000000030
+:108050000000000000000000000000000000000020
+:108060000000000000000000000000000000000010
+:108070000000000000000000000000000000000000
+:1080800000000000000000000000000000000000F0
+:1080900000000000000000000000000000000000E0
+:1080A00000000000000000000000000000000002CE
+:1080B00002020202020202020202010101010000A8
+:1080C00000000000000000000001010101010100AA
+:1080D00000000000000000000000000000000000A0
+:1080E0000000000000000000000000000000000090
+:1080F0000000000000000000000000000000000080
+:10810000000000000000000000000000000000006F
+:10811000000000000000000000000000000000005F
+:10812000000000000000000000000000000000004F
+:10813000000000000000000000000000000000003F
+:10814000000000000000000000000000000000002F
+:10815000000000000000000000000000000000001F
+:10816000000000000000000000000000000000000F
+:1081700000000000000000000000000000000000FF
+:1081800000000000000000000000000000000000EF
+:1081900000000000000000000000000000000000DF
+:1081A00000000000000000000000000000000002CD
+:1081B00002020202020202020202020101010000A6
+:1081C00000000000000000000101010101010100A8
+:1081D000000000000000000000000000000000009F
+:1081E000000000000000000000000000000000008F
+:1081F000000000000000000000000000000000007F
+:10820000000000000000000000000000000000006E
+:10821000000000000000000000000000000000005E
+:10822000000000000000000000000000000000004E
+:10823000000000000000000000000000000000003E
+:10824000000000000000000000000000000000002E
+:10825000000000000000000000000000000000001E
+:10826000000000000000000000000000000000000E
+:1082700000000000000000000000000000000000FE
+:1082800000000000000000000000000000000000EE
+:1082900000000000000000000000000000000000DE
+:1082A00000000000000000000000000000000002CC
+:1082B00002020202020202020202020201010000A4
+:1082C00000000000000000000101010101010100A7
+:1082D000000000000000000000000000000000009E
+:1082E000000000000000000000000000000000008E
+:1082F000000000000000000000000000000000007E
+:10830000000000000000000000000000000000006D
+:10831000000000000000000000000000000000005D
+:10832000000000000000000000000000000000004D
+:10833000000000000000000000000000000000003D
+:10834000000000000000000000000000000000002D
+:10835000000000000000000000000000000000001D
+:10836000000000000000000000000000000000000D
+:1083700000000000000000000000000000000000FD
+:1083800000000000000000000000000000000000ED
+:1083900000000000000000000000000000000000DD
+:1083A00000000000000000000000000000000002CB
+:1083B00002020202020202020202020202010000A2
+:1083C00000000000000000000101010101010100A6
+:1083D000000000000000000000000000000000009D
+:1083E000000000000000000000000000000000008D
+:1083F000000000000000000000000000000000007D
+:10840000000000000000000000000000000000006C
+:10841000000000000000000000000000000000005C
+:10842000000000000000000000000000000000004C
+:10843000000000000000000000000000000000003C
+:10844000000000000000000000000000000000002C
+:10845000000000000000000000000000000000001C
+:10846000000000000000000000000000000000000C
+:1084700000000000000000000000000000000000FC
+:1084800000000000000000000000000000000000EC
+:1084900000000000000000000000000000000000DC
+:1084A00000000000000000000000000000000002CA
+:1084B00002020202020202020202020202010000A1
+:1084C00000000000000000010101010101010100A4
+:1084D000000000000000000000000000000000009C
+:1084E000000000000000000000000000000000008C
+:1084F000000000000000000000000000000000007C
+:10850000000000000000000000000000000000006B
+:10851000000000000000000000000000000000005B
+:10852000000000000000000000000000000000004B
+:10853000000000000000000000000000000000003B
+:10854000000000000000000000000000000000002B
+:10855000000000000000000000000000000000001B
+:10856000000000000000000000000000000000000B
+:1085700000000000000000000000000000000000FB
+:1085800000000000000000000000000000000000EB
+:1085900000000000000000000000000000000000DB
+:1085A00000000000000000000000000000000002C9
+:1085B00002020202020202020202020202010000A0
+:1085C00000000000000000010101010101010100A3
+:1085D000000000000000000000000000000000009B
+:1085E000000000000000000000000000000000008B
+:1085F000000000000000000000000000000000007B
+:10860000000000000000000000000000000000006A
+:10861000000000000000000000000000000000005A
+:10862000000000000000000000000000000000004A
+:10863000000000000000000000000000000000003A
+:10864000000000000000000000000000000000002A
+:10865000000000000000000000000000000000001A
+:10866000000000000000000000000000000000000A
+:1086700000000000000000000000000000000000FA
+:1086800000000000000000000000000000000000EA
+:1086900000000000000000000000000000000000DA
+:1086A00000000000000000000000000000000002C8
+:1086B000020202020202020202020202020200009E
+:1086C00000000000000101010101010101010100A0
+:1086D000000000000000000000000000000000009A
+:1086E000000000000000000000000000000000008A
+:1086F000000000000000000000000000000000007A
+:108700000000000000000000000000000000000069
+:108710000000000000000000000000000000000059
+:108720000000000000000000000000000000000049
+:108730000000000000000000000000000000000039
+:108740000000000000000000000000000000000029
+:108750000000000000000000000000000000000019
+:108760000000000000000000000000000000000009
+:1087700000000000000000000000000000000000F9
+:1087800000000000000000000000000000000000E9
+:1087900000000000000000000000000000000000D9
+:1087A00000000000000000000000000000000002C7
+:1087B000020202020202020202020202020200009D
+:1087C000000000000001010101010101010101009F
+:1087D0000000000000000000000000000000000099
+:1087E0000000000000000000000000000000000089
+:1087F0000000000000000000000000000000000079
+:108800000000000000000000000000000000000068
+:108810000000000000000000000000000000000058
+:108820000000000000000000000000000000000048
+:108830000000000000000000000000000000000038
+:108840000000000000000000000000000000000028
+:108850000000000000000000000000000000000018
+:108860000000000000000000000000000000000008
+:1088700000000000000000000000000000000000F8
+:1088800000000000000000000000000000000000E8
+:1088900000000000000000000000000000000000D8
+:1088A00000000000000000000000000000000002C6
+:1088B000020202020202020202020202020200009C
+:1088C000000000000001010101010101010101009E
+:1088D0000000000000000000000000000000000098
+:1088E0000000000000000000000000000000000088
+:1088F0000000000000000000000000000000000078
+:108900000000000000000000000000000000000067
+:108910000000000000000000000000000000000057
+:108920000000000000000000000000000000000047
+:108930000000000000000000000000000000000037
+:108940000000000000000000000000000000000027
+:108950000000000000000000000000000000000017
+:108960000000000000000000000000000000000007
+:1089700000000000000000000000000000000000F7
+:1089800000000000000000000000000000000000E7
+:1089900000000000000000000000000000000000D7
+:1089A00000000000000000000000000000000002C5
+:1089B000020202020202020202020202020200009B
+:1089C000000000000001010101010101010101009D
+:1089D0000000000000000000000000000000000097
+:1089E0000000000000000000000000000000000087
+:1089F0000000000000000000000000000000000077
+:108A00000000000000000000000000000000000066
+:108A10000000000000000000000000000000000056
+:108A20000000000000000000000000000000000046
+:108A30000000000000000000000000000000000036
+:108A40000000000000000000000000000000000026
+:108A50000000000000000000000000000000000016
+:108A60000000000000000000000000000000000006
+:108A700000000000000000000000000000000000F6
+:108A800000000000000000000000000000000000E6
+:108A900000000000000000000000000000000000D6
+:108AA00000000000000000000000000000000002C4
+:108AB000020202020202020202020202020200009A
+:108AC000000000000001010101010101010101009C
+:108AD0000000000000000000000000000000000096
+:108AE0000000000000000000000000000000000086
+:108AF0000000000000000000000000000000000076
+:108B00000000000000000000000000000000000065
+:108B10000000000000000000000000000000000055
+:108B20000000000000000000000000000000000045
+:108B30000000000000000000000000000000000035
+:108B40000000000000000000000000000000000025
+:108B50000000000000000000000000000000000015
+:108B60000000000000000000000000000000000005
+:108B700000000000000000000000000000000000F5
+:108B800000000000000000000000000000000000E5
+:108B900000000000000000000000000000000000D5
+:108BA00000000000000000000000000000000002C3
+:108BB0000202020202020202020202020202000099
+:108BC000000000000001010101010101010101009B
+:108BD0000000000000000000000000000000000095
+:108BE0000000000000000000000000000000000085
+:108BF0000000000000000000000000000000000075
+:108C00000000000000000000000000000000000064
+:108C10000000000000000000000000000000000054
+:108C20000000000000000000000000000000000044
+:108C30000000000000000000000000000000000034
+:108C40000000000000000000000000000000000024
+:108C50000000000000000000000000000000000014
+:108C60000000000000000000000000000000000004
+:108C700000000000000000000000000000000000F4
+:108C800000000000000000000000000000000000E4
+:108C900000000000000000000000000000000000D4
+:108CA00000000000000000000000000000000002C2
+:108CB0000202020202020202020202020202000098
+:108CC0000000000001010101010101010101010099
+:108CD0000000000000000000000000000000000094
+:108CE0000000000000000000000000000000000084
+:108CF0000000000000000000000000000000000074
+:108D00000000000000000000000000000000000063
+:108D10000000000000000000000000000000000053
+:108D20000000000000000000000000000000000043
+:108D30000000000000000000000000000000000033
+:108D40000000000000000000000000000000000023
+:108D50000000000000000000000000000000000013
+:108D60000000000000000000000000000000000003
+:108D700000000000000000000000000000000000F3
+:108D800000000000000000000000000000000000E3
+:108D900000000000000000000000000000000000D3
+:108DA00000000000000000000000000000000002C1
+:108DB0000202020202020202020202020202000097
+:108DC0000000000001010101010101010101010098
+:108DD0000000000000000000000000000000000093
+:108DE0000000000000000000000000000000000083
+:108DF0000000000000000000000000000000000073
+:108E00000000000000000000000000000000000062
+:108E10000000000000000000000000000000000052
+:108E20000000000000000000000000000000000042
+:108E30000000000000000000000000000000000032
+:108E40000000000000000000000000000000000022
+:108E50000000000000000000000000000000000012
+:108E60000000000000000000000000000000000002
+:108E700000000000000000000000000000000000F2
+:108E800000000000000000000000000000000000E2
+:108E900000000000000000000000000000000000D2
+:108EA00000000000000000000000000000000002C0
+:108EB0000202020202020202020202020202000096
+:108EC0000000000001010101010101010101010097
+:108ED0000000000000000000000000000000000092
+:108EE0000000000000000000000000000000000082
+:108EF0000000000000000000000000000000000072
+:108F00000000000000000000000000000000000061
+:108F10000000000000000000000000000000000051
+:108F20000000000000000000000000000000000041
+:108F30000000000000000000000000000000000031
+:108F40000000000000000000000000000000000021
+:108F50000000000000000000000000000000000011
+:108F60000000000000000000000000000000000001
+:108F700000000000000000000000000000000000F1
+:108F800000000000000000000000000000000000E1
+:108F900000000000000000000000000000000000D1
+:108FA00000000000000000000000000000000002BF
+:108FB0000202020202020202020202020202000095
+:108FC0000000000001010101010101010101010096
+:108FD0000000000000000000000000000000000091
+:108FE0000000000000000000000000000000000081
+:108FF0000000000000000000000000000000000071
+:109000000000000000000000000000000000000060
+:109010000000000000000000000000000000000050
+:109020000000000000000000000000000000000040
+:109030000000000000000000000000000000000030
+:109040000000000000000000000000000000000020
+:109050000000000000000000000000000000000010
+:109060000000000000000000000000000000000000
+:1090700000000000000000000000000000000000F0
+:1090800000000000000000000000000000000000E0
+:1090900000000000000000000000000000000000D0
+:1090A00000000000000000000000000000000002BE
+:1090B0000202020202020202020202020202000094
+:1090C0000000000001010101010101010101010095
+:1090D0000000000000000000000000000000000090
+:1090E0000000000000000000000000000000000080
+:1090F0000000000000000000000000000000000070
+:10910000000000000000000000000000000000005F
+:10911000000000000000000000000000000000004F
+:10912000000000000000000000000000000000003F
+:10913000000000000000000000000000000000002F
+:10914000000000000000000000000000000000001F
+:10915000000000000000000000000000000000000F
+:1091600000000000000000000000000000000000FF
+:1091700000000000000000000000000000000000EF
+:1091800000000000000000000000000000000000DF
+:1091900000000000000000000000000000000000CF
+:1091A00000000000000000000000000000000002BD
+:1091B0000202020202020202020202020202000093
+:1091C0000000000001010101010101010101010094
+:1091D000000000000000000000000000000000008F
+:1091E000000000000000000000000000000000007F
+:1091F000000000000000000000000000000000006F
+:10920000000000000000000000000000000000005E
+:10921000000000000000000000000000000000004E
+:10922000000000000000000000000000000000003E
+:10923000000000000000000000000000000000002E
+:10924000000000000000000000000000000000001E
+:10925000000000000000000000000000000000000E
+:1092600000000000000000000000000000000000FE
+:1092700000000000000000000000000000000000EE
+:1092800000000000000000000000000000000000DE
+:1092900000000000000000000000000000000000CE
+:1092A00000000000000000000000000000000002BC
+:1092B0000202020202020202020202020202000092
+:1092C0000000000101010101010101010101010092
+:1092D000000000000000000000000000000000008E
+:1092E000000000000000000000000000000000007E
+:1092F000000000000000000000000000000000006E
+:10930000000000000000000000000000000000005D
+:10931000000000000000000000000000000000004D
+:10932000000000000000000000000000000000003D
+:10933000000000000000000000000000000000002D
+:10934000000000000000000000000000000000001D
+:10935000000000000000000000000000000000000D
+:1093600000000000000000000000000000000000FD
+:1093700000000000000000000000000000000000ED
+:1093800000000000000000000000000000000000DD
+:1093900000000000000000000000000000000000CD
+:1093A00000000000000000000000000000000002BB
+:1093B0000202020202020202020202020202000091
+:1093C0000000000101010101010101010101010091
+:1093D000000000000000000000000000000000008D
+:1093E000000000000000000000000000000000007D
+:1093F000000000000000000000000000000000006D
+:10940000000000000000000000000000000000005C
+:10941000000000000000000000000000000000004C
+:10942000000000000000000000000000000000003C
+:10943000000000000000000000000000000000002C
+:10944000000000000000000000000000000000001C
+:10945000000000000000000000000000000000000C
+:1094600000000000000000000000000000000000FC
+:1094700000000000000000000000000000000000EC
+:1094800000000000000000000000000000000000DC
+:1094900000000000000000000000000000000000CC
+:1094A00000000000000000000000000000000002BA
+:1094B0000202020202020202020202020202000090
+:1094C000000001010101010101010101010101008F
+:1094D000000000000000000000000000000000008C
+:1094E000000000000000000000000000000000007C
+:1094F000000000000000000000000000000000006C
+:10950000000000000000000000000000000000005B
+:10951000000000000000000000000000000000004B
+:10952000000000000000000000000000000000003B
+:10953000000000000000000000000000000000002B
+:10954000000000000000000000000000000000001B
+:10955000000000000000000000000000000000000B
+:1095600000000000000000000000000000000000FB
+:1095700000000000000000000000000000000000EB
+:1095800000000000000000000000000000000000DB
+:1095900000000000000000000000000000000000CB
+:1095A00000000000000000000000000000000002B9
+:1095B000020202020202020202020202020200008F
+:1095C000000001010101010101010101010101008E
+:1095D000000000000000000000000000000000008B
+:1095E000000000000000000000000000000000007B
+:1095F000000000000000000000000000000000006B
+:10960000000000000000000000000000000000005A
+:10961000000000000000000000000000000000004A
+:10962000000000000000000000000000000000003A
+:10963000000000000000000000000000000000002A
+:10964000000000000000000000000000000000001A
+:10965000000000000000000000000000000000000A
+:1096600000000000000000000000000000000000FA
+:1096700000000000000000000000000000000000EA
+:1096800000000000000000000000000000000000DA
+:1096900000000000000000000000000000000000CA
+:1096A00000000000000000000000000000000002B8
+:1096B000020202020202020202020202020200008E
+:1096C000000001010101010101010101010101008D
+:1096D000000000000000000000000000000000008A
+:1096E000000000000000000000000000000000007A
+:1096F000000000000000000000000000000000006A
+:109700000000000000000000000000000000000059
+:109710000000000000000000000000000000000049
+:109720000000000000000000000000000000000039
+:109730000000000000000000000000000000000029
+:109740000000000000000000000000000000000019
+:109750000000000000000000000000000000000009
+:1097600000000000000000000000000000000000F9
+:1097700000000000000000000000000000000000E9
+:1097800000000000000000000000000000000000D9
+:1097900000000000000000000000000000000000C9
+:1097A00000000000000000000000000000000002B7
+:1097B000020202020202020202020202020200008D
+:1097C000000001010101010101010101010101008C
+:1097D0000000000000000000000000000000000089
+:1097E0000000000000000000000000000000000079
+:1097F0000000000000000000000000000000000069
+:109800000000000000000000000000000000000058
+:109810000000000000000000000000000000000048
+:109820000000000000000000000000000000000038
+:109830000000000000000000000000000000000028
+:109840000000000000000000000000000000000018
+:109850000000000000000000000000000000000008
+:1098600000000000000000000000000000000000F8
+:1098700000000000000000000000000000000000E8
+:1098800000000000000000000000000000000000D8
+:1098900000000000000000000000000000000000C8
+:1098A00000000000000000000000000000000002B6
+:1098B000020202020202020202020202020200008C
+:1098C000000101010101010101010101010101008A
+:1098D0000000000000000000000000000000000088
+:1098E0000000000000000000000000000000000078
+:1098F0000000000000000000000000000000000068
+:109900000000000000000000000000000000000057
+:109910000000000000000000000000000000000047
+:109920000000000000000000000000000000000037
+:109930000000000000000000000000000000000027
+:109940000000000000000000000000000000000017
+:109950000000000000000000000000000000000007
+:1099600000000000000000000000000000000000F7
+:1099700000000000000000000000000000000000E7
+:1099800000000000000000000000000000000000D7
+:1099900000000000000000000000000000000000C7
+:1099A00000000000000000000000000000000002B5
+:1099B000020202020202020202020202020200008B
+:1099C0000001010101010101010101010101010089
+:1099D0000000000000000000000000000000000087
+:1099E0000000000000000000000000000000000077
+:1099F0000000000000000000000000000000000067
+:109A00000000000000000000000000000000000056
+:109A10000000000000000000000000000000000046
+:109A20000000000000000000000000000000000036
+:109A30000000000000000000000000000000000026
+:109A40000000000000000000000000000000000016
+:109A50000000000000000000000000000000000006
+:109A600000000000000000000000000000000000F6
+:109A700000000000000000000000000000000000E6
+:109A800000000000000000000000000000000000D6
+:109A900000000000000000000000000000000000C6
+:109AA00000000000000000000000000000000002B4
+:109AB000020202020202020202020202020200008A
+:109AC0000001010101010101010101010101010088
+:109AD0000000000000000000000000000000000086
+:109AE0000000000000000000000000000000000076
+:109AF0000000000000000000000000000000000066
+:109B00000000000000000000000000000000000055
+:109B10000000000000000000000000000000000045
+:109B20000000000000000000000000000000000035
+:109B30000000000000000000000000000000000025
+:109B40000000000000000000000000000000000015
+:109B50000000000000000000000000000000000005
+:109B600000000000000000000000000000000000F5
+:109B700000000000000000000000000000000000E5
+:109B800000000000000000000000000000000000D5
+:109B900000000000000000000000000000000000C5
+:109BA00000000000000000000000000000000002B3
+:109BB0000202020202020202020202020202000089
+:109BC0000001010101010101010101010101010087
+:109BD0000000000000000000000000000000000085
+:109BE0000000000000000000000000000000000075
+:109BF0000000000000000000000000000000000065
+:109C00000000000000000000000000000000000054
+:109C10000000000000000000000000000000000044
+:109C20000000000000000000000000000000000034
+:109C30000000000000000000000000000000000024
+:109C40000000000000000000000000000000000014
+:109C50000000000000000000000000000000000004
+:109C600000000000000000000000000000000000F4
+:109C700000000000000000000000000000000000E4
+:109C800000000000000000000000000000000000D4
+:109C900000000000000000000000000000000000C4
+:109CA00000000000000000000000000000000002B2
+:109CB0000202020202020202020202020202000088
+:109CC0000001010101010101010101010101010086
+:109CD0000000000000000000000000000000000084
+:109CE0000000000000000000000000000000000074
+:109CF0000000000000000000000000000000000064
+:109D00000000000000000000000000000000000053
+:109D10000000000000000000000000000000000043
+:109D20000000000000000000000000000000000033
+:109D30000000000000000000000000000000000023
+:109D40000000000000000000000000000000000013
+:109D50000000000000000000000000000000000003
+:109D600000000000000000000000000000000000F3
+:109D700000000000000000000000000000000000E3
+:109D800000000000000000000000000000000000D3
+:109D900000000000000000000000000000000000C3
+:109DA00000000000000000000000000000000002B1
+:109DB0000202020202020202020202020202000087
+:109DC0000001010101010101010101010101010085
+:109DD0000000000000000000000000000000000083
+:109DE0000000000000000000000000000000000073
+:109DF0000000000000000000000000000000000063
+:109E00000000000000000000000000000000000052
+:109E10000000000000000000000000000000000042
+:109E20000000000000000000000000000000000032
+:109E30000000000000000000000000000000000022
+:109E40000000000000000000000000000000000012
+:109E50000000000000000000000000000000000002
+:109E600000000000000000000000000000000000F2
+:109E700000000000000000000000000000000000E2
+:109E800000000000000000000000000000000000D2
+:109E900000000000000000000000000000000000C2
+:109EA00000000000000000000000000000000002B0
+:109EB0000202020202020202020202020202000086
+:109EC0000001010101010101010101010101010084
+:109ED0000000000000000000000000000000000082
+:109EE0000000000000000000000000000000000072
+:109EF0000000000000000000000000000000000062
+:109F00000000000000000000000000000000000051
+:109F10000000000000000000000000000000000041
+:109F20000000000000000000000000000000000031
+:109F30000000000000000000000000000000000021
+:109F40000000000000000000000000000000000011
+:109F50000000000000000000000000000000000001
+:109F600000000000000000000000000000000000F1
+:109F700000000000000000000000000000000000E1
+:109F800000000000000000000000000000000000D1
+:109F900000000000000000000000000000000000C1
+:109FA00000000000000000000000000000000002AF
+:109FB0000202020202020202020202020202000085
+:109FC0000101010101010101010101010101010082
+:109FD0000000000000000000000000000000000081
+:109FE0000000000000000000000000000000000071
+:109FF0000000000000000000000000000000000061
+:10A000000000000000000000000000000000000050
+:10A010000000000000000000000000000000000040
+:10A020000000000000000000000000000000000030
+:10A030000000000000000000000000000000000020
+:10A040000000000000000000000000000000000010
+:10A050000000000000000000000000000000000000
+:10A0600000000000000000000000000000000000F0
+:10A0700000000000000000000000000000000000E0
+:10A0800000000000000000000000000000000000D0
+:10A0900000000000000000000000000000000000C0
+:10A0A00000000000000000000000000000000002AE
+:10A0B0000202020202020202020202020202000084
+:10A0C0000101010101010101010101010101010081
+:10A0D0000000000000000000000000000000000080
+:10A0E0000000000000000000000000000000000070
+:10A0F0000000000000000000000000000000000060
+:10A10000000000000000000000000000000000004F
+:10A11000000000000000000000000000000000003F
+:10A12000000000000000000000000000000000002F
+:10A13000000000000000000000000000000000001F
+:10A14000000000000000000000000000000000000F
+:10A1500000000000000000000000000000000000FF
+:10A1600000000000000000000000000000000000EF
+:10A1700000000000000000000000000000000000DF
+:10A1800000000000000000000000000000000000CF
+:10A1900000000000000000000000000000000000BF
+:10A1A00000000000000000000000000000000002AD
+:10A1B0000202020202020202020202020202000083
+:10A1C0000101010101010101010101010101010080
+:10A1D000000000000000000000000000000000007F
+:10A1E000000000000000000000000000000000006F
+:10A1F000000000000000000000000000000000005F
+:10A20000000000000000000000000000000000004E
+:10A21000000000000000000000000000000000003E
+:10A22000000000000000000000000000000000002E
+:10A23000000000000000000000000000000000001E
+:10A24000000000000000000000000000000000000E
+:10A2500000000000000000000000000000000000FE
+:10A2600000000000000000000000000000000000EE
+:10A2700000000000000000000000000000000000DE
+:10A2800000000000000000000000000000000000CE
+:10A2900000000000000000000000000000000000BE
+:10A2A00000000000000000000000000000000002AC
+:10A2B0000202020202020202020202020202000082
+:10A2C000010101010101010101010101010101007F
+:10A2D000000000000000000000000000000000007E
+:10A2E000000000000000000000000000000000006E
+:10A2F000000000000000000000000000000000005E
+:10A30000000000000000000000000000000000004D
+:10A31000000000000000000000000000000000003D
+:10A32000000000000000000000000000000000002D
+:10A33000000000000000000000000000000000001D
+:10A34000000000000000000000000000000000000D
+:10A3500000000000000000000000000000000000FD
+:10A3600000000000000000000000000000000000ED
+:10A3700000000000000000000000000000000000DD
+:10A3800000000000000000000000000000000000CD
+:10A3900000000000000000000000000000000000BD
+:10A3A00000000000000000000000000000000002AB
+:10A3B0000202020202020202020202020202000081
+:10A3C000000000000000000000000000000000008D
+:10A3D000000000000000000000000000000000007D
+:10A3E000000000000000000000000000000000006D
+:10A3F000000000000000000000000000000000005D
+:10A40000000000000000000000000000000000004C
+:10A41000000000000000000000000000000000003C
+:10A42000000000000000000000000000000000002C
+:10A43000000000000000000000000000000000001C
+:10A44000000000000000000000000000000000000C
+:10A4500000000000000000000000000000000000FC
+:10A4600000000000000000000000000000000000EC
+:10A4700000000000000000000000000000000000DC
+:10A4800000000000000000000000000000000000CC
+:10A4900000000000000000000000000000000000BC
+:10A4A00000000000000000000000000000000000AC
+:10A4B000000000000000000000000000000000326A
+:10A4C000000000000000000000000000000000008C
+:10A4D000000000000000010000000000000000007B
+:10A4E000000000000000000000000000000000006C
+:10A4F000000000000000000000000000000000005C
+:10A50000000000000000000000000000000000004B
+:10A51000000000000000000000000000000000003B
+:10A52000000000000000000000000000000000002B
+:10A53000000000000000000000000000000000001B
+:10A54000000000000000000000000000000000000B
+:10A5500000000000000000000000000000000000FB
+:10A5600000000000000000000000000000000000EB
+:10A5700000000000000000000000000000000000DB
+:10A5800000000000000000000000000000000000CB
+:10A5900000000000000000000000000000000000BB
+:10A5A00000000000000000000000000000000000AB
+:10A5B0000000000000000002000000000000000099
+:10A5C000000000000000000000000000000000008B
+:10A5D000000000000000010000000000000000007A
+:10A5E000000000000000000000000000000000006B
+:10A5F000000000000000000000000000000000005B
+:10A60000000000000000000000000000000000004A
+:10A61000000000000000000000000000000000003A
+:10A62000000000000000000000000000000000002A
+:10A63000000000000000000000000000000000001A
+:10A64000000000000000000000000000000000000A
+:10A6500000000000000000000000000000000000FA
+:10A6600000000000000000000000000000000000EA
+:10A6700000000000000000000000000000000000DA
+:10A6800000000000000000000000000000000000CA
+:10A6900000000000000000000000000000000000BA
+:10A6A00000000000000000000000000000000000AA
+:10A6B0000000000000000002000000010000000097
+:10A6C0000100010001000000000000000000000087
+:10A6D0000000000000000100000000000000000079
+:10A6E000000000000000000000000000000000006A
+:10A6F000000000000000000000000000000000005A
+:10A700000000000000000000000000000000000049
+:10A710000000000000000000000000000000000039
+:10A720000000000000000000000000000000000029
+:10A730000000000000000000000000000000000019
+:10A740000000000000000000000000000000000009
+:10A7500000000000000000000000000000000000F9
+:10A7600000000000000000000000000000000000E9
+:10A7700000000000000000000000000000000000D9
+:10A7800000000000000000000000000000000000C9
+:10A7900000000000000000000000000000000000B9
+:10A7A00000000000000000000000000000000000A9
+:10A7B000000000000000000201010101010101018F
+:10A7C0000101010101010000000000000000000083
+:10A7D0000000000000000100000000000000000078
+:10A7E0000000000000000000000000000000000069
+:10A7F0000000000000000000000000000000000059
+:10A800000000000000000000000000000000000048
+:10A810000000000000000000000000000000000038
+:10A820000000000000000000000000000000000028
+:10A830000000000000000000000000000000000018
+:10A840000000000000000000000000000000000008
+:10A8500000000000000000000000000000000000F8
+:10A8600000000000000000000000000000000000E8
+:10A8700000000000000000000000000000000000D8
+:10A8800000000000000000000000000000000000C8
+:10A8900000000000000000000000000000000000B8
+:10A8A00000000000000000000000000000000000A8
+:10A8B000000000000000000202010101010101018D
+:10A8C0000101010101010000000000000000000082
+:10A8D0000000000000000100000000000000000077
+:10A8E0000000000000000000000000000000000068
+:10A8F0000000000000000000000000000000000058
+:10A900000000000000000000000000000000000047
+:10A910000000000000000000000000000000000037
+:10A920000000000000000000000000000000000027
+:10A930000000000000000000000000000000000017
+:10A940000000000000000000000000000000000007
+:10A9500000000000000000000000000000000000F7
+:10A9600000000000000000000000000000000000E7
+:10A9700000000000000000000000000000000000D7
+:10A9800000000000000000000000000000000000C7
+:10A9900000000000000000000000000000000000B7
+:10A9A00000000000000000000000000000000000A7
+:10A9B000000000000000000202010101010101018C
+:10A9C0000101010101010000000000000000000081
+:10A9D0000000000000010100000000000000000075
+:10A9E0000000000000000000000000000000000067
+:10A9F0000000000000000000000000000000000057
+:10AA00000000000000000000000000000000000046
+:10AA10000000000000000000000000000000000036
+:10AA20000000000000000000000000000000000026
+:10AA30000000000000000000000000000000000016
+:10AA40000000000000000000000000000000000006
+:10AA500000000000000000000000000000000000F6
+:10AA600000000000000000000000000000000000E6
+:10AA700000000000000000000000000000000000D6
+:10AA800000000000000000000000000000000000C6
+:10AA900000000000000000000000000000000000B6
+:10AAA00000000000000000000000000000000000A6
+:10AAB000000000000000000202010101010101018B
+:10AAC0000101010101010000000000000000000080
+:10AAD0000000000000010100000000000000000074
+:10AAE0000000000000000000000000000000000066
+:10AAF0000000000000000000000000000000000056
+:10AB00000000000000000000000000000000000045
+:10AB10000000000000000000000000000000000035
+:10AB20000000000000000000000000000000000025
+:10AB30000000000000000000000000000000000015
+:10AB40000000000000000000000000000000000005
+:10AB500000000000000000000000000000000000F5
+:10AB600000000000000000000000000000000000E5
+:10AB700000000000000000000000000000000000D5
+:10AB800000000000000000000000000000000000C5
+:10AB900000000000000000000000000000000000B5
+:10ABA00000000000000000000000000000000000A5
+:10ABB0000000000000000002020201010101010189
+:10ABC000010101010101000000000000000000007F
+:10ABD0000000000000010100000000000000000073
+:10ABE0000000000000000000000000000000000065
+:10ABF0000000000000000000000000000000000055
+:10AC00000000000000000000000000000000000044
+:10AC10000000000000000000000000000000000034
+:10AC20000000000000000000000000000000000024
+:10AC30000000000000000000000000000000000014
+:10AC40000000000000000000000000000000000004
+:10AC500000000000000000000000000000000000F4
+:10AC600000000000000000000000000000000000E4
+:10AC700000000000000000000000000000000000D4
+:10AC800000000000000000000000000000000000C4
+:10AC900000000000000000000000000000000000B4
+:10ACA00000000000000000000000000000000000A4
+:10ACB0000000000000000002020201010101010188
+:10ACC000010101010101000000000000000000007E
+:10ACD0000000000001010100000000000000000071
+:10ACE0000000000000000000000000000000000064
+:10ACF0000000000000000000000000000000000054
+:10AD00000000000000000000000000000000000043
+:10AD10000000000000000000000000000000000033
+:10AD20000000000000000000000000000000000023
+:10AD30000000000000000000000000000000000013
+:10AD40000000000000000000000000000000000003
+:10AD500000000000000000000000000000000000F3
+:10AD600000000000000000000000000000000000E3
+:10AD700000000000000000000000000000000000D3
+:10AD800000000000000000000000000000000000C3
+:10AD900000000000000000000000000000000000B3
+:10ADA00000000000000000000000000000000000A3
+:10ADB0000000000000000002020202010101010186
+:10ADC000010101010101000000000000000000007D
+:10ADD0000000000001010100000000000000000070
+:10ADE0000000000000000000000000000000000063
+:10ADF0000000000000000000000000000000000053
+:10AE00000000000000000000000000000000000042
+:10AE10000000000000000000000000000000000032
+:10AE20000000000000000000000000000000000022
+:10AE30000000000000000000000000000000000012
+:10AE40000000000000000000000000000000000002
+:10AE500000000000000000000000000000000000F2
+:10AE600000000000000000000000000000000000E2
+:10AE700000000000000000000000000000000000D2
+:10AE800000000000000000000000000000000000C2
+:10AE900000000000000000000000000000000000B2
+:10AEA00000000000000000000000000000000000A2
+:10AEB0000000000000000002020202020101010184
+:10AEC000010101010101000000000000000000007C
+:10AED000000000000101010000000000000000006F
+:10AEE0000000000000000000000000000000000062
+:10AEF0000000000000000000000000000000000052
+:10AF00000000000000000000000000000000000041
+:10AF10000000000000000000000000000000000031
+:10AF20000000000000000000000000000000000021
+:10AF30000000000000000000000000000000000011
+:10AF40000000000000000000000000000000000001
+:10AF500000000000000000000000000000000000F1
+:10AF600000000000000000000000000000000000E1
+:10AF700000000000000000000000000000000000D1
+:10AF800000000000000000000000000000000000C1
+:10AF900000000000000000000000000000000000B1
+:10AFA00000000000000000000000000000000000A1
+:10AFB0000000000000000002020202020101010183
+:10AFC000010101010101000000000000000000007B
+:10AFD000000000010101010000000000000000006D
+:10AFE0000000000000000000000000000000000061
+:10AFF0000000000000000000000000000000000051
+:10B000000000000000000000000000000000000040
+:10B010000000000000000000000000000000000030
+:10B020000000000000000000000000000000000020
+:10B030000000000000000000000000000000000010
+:10B040000000000000000000000000000000000000
+:10B0500000000000000000000000000000000000F0
+:10B0600000000000000000000000000000000000E0
+:10B0700000000000000000000000000000000000D0
+:10B0800000000000000000000000000000000000C0
+:10B0900000000000000000000000000000000000B0
+:10B0A00000000000000000000000000000000000A0
+:10B0B0000000000000000002020202020101010182
+:10B0C000010101010101000000000000000000007A
+:10B0D000000001010101010000000000000000006B
+:10B0E0000000000000000000000000000000000060
+:10B0F0000000000000000000000000000000000050
+:10B10000000000000000000000000000000000003F
+:10B11000000000000000000000000000000000002F
+:10B12000000000000000000000000000000000001F
+:10B13000000000000000000000000000000000000F
+:10B1400000000000000000000000000000000000FF
+:10B1500000000000000000000000000000000000EF
+:10B1600000000000000000000000000000000000DF
+:10B1700000000000000000000000000000000000CF
+:10B1800000000000000000000000000000000000BF
+:10B1900000000000000000000000000000000000AF
+:10B1A000000000000000000000000000000000009F
+:10B1B0000000000000000002020202020201010180
+:10B1C0000101010101010000000000000000000079
+:10B1D0000001010101010100000000000000000069
+:10B1E000000000000000000000000000000000005F
+:10B1F000000000000000000000000000000000004F
+:10B20000000000000000000000000000000000003E
+:10B21000000000000000000000000000000000002E
+:10B22000000000000000000000000000000000001E
+:10B23000000000000000000000000000000000000E
+:10B2400000000000000000000000000000000000FE
+:10B2500000000000000000000000000000000000EE
+:10B2600000000000000000000000000000000000DE
+:10B2700000000000000000000000000000000000CE
+:10B2800000000000000000000000000000000000BE
+:10B2900000000000000000000000000000000000AE
+:10B2A000000000000000000000000000000000009E
+:10B2B000000000000000000202020202020201017E
+:10B2C0000101010101010000000000000000000078
+:10B2D0000001010101010100000000000000000068
+:10B2E000000000000000000000000000000000005E
+:10B2F000000000000000000000000000000000004E
+:10B30000000000000000000000000000000000003D
+:10B31000000000000000000000000000000000002D
+:10B32000000000000000000000000000000000001D
+:10B33000000000000000000000000000000000000D
+:10B3400000000000000000000000000000000000FD
+:10B3500000000000000000000000000000000000ED
+:10B3600000000000000000000000000000000000DD
+:10B3700000000000000000000000000000000000CD
+:10B3800000000000000000000000000000000000BD
+:10B3900000000000000000000000000000000000AD
+:10B3A000000000000000000000000000000000009D
+:10B3B000000000000000000202020202020201017D
+:10B3C0000101010101010000000000000000000077
+:10B3D0000001010101010100000000000000000067
+:10B3E000000000000000000000000000000000005D
+:10B3F000000000000000000000000000000000004D
+:10B40000000000000000000000000000000000003C
+:10B41000000000000000000000000000000000002C
+:10B42000000000000000000000000000000000001C
+:10B43000000000000000000000000000000000000C
+:10B4400000000000000000000000000000000000FC
+:10B4500000000000000000000000000000000000EC
+:10B4600000000000000000000000000000000000DC
+:10B4700000000000000000000000000000000000CC
+:10B4800000000000000000000000000000000000BC
+:10B4900000000000000000000000000000000000AC
+:10B4A000000000000000000000000000000000009C
+:10B4B000000000000000000202020202020202017B
+:10B4C0000101010101010000000000000000000076
+:10B4D0000101010101010100000000000000000065
+:10B4E000000000000000000000000000000000005C
+:10B4F000000000000000000000000000000000004C
+:10B50000000000000000000000000000000000003B
+:10B51000000000000000000000000000000000002B
+:10B52000000000000000000000000000000000001B
+:10B53000000000000000000000000000000000000B
+:10B5400000000000000000000000000000000000FB
+:10B5500000000000000000000000000000000000EB
+:10B5600000000000000000000000000000000000DB
+:10B5700000000000000000000000000000000000CB
+:10B5800000000000000000000000000000000000BB
+:10B5900000000000000000000000000000000000AB
+:10B5A000000000000000000000000000000000009B
+:10B5B0000000000000000002020202020202020279
+:10B5C0000101010101010000000000000000000075
+:10B5D0000101010101010100000000000000000064
+:10B5E000000000000000000000000000000000005B
+:10B5F000000000000000000000000000000000004B
+:10B60000000000000000000000000000000000003A
+:10B61000000000000000000000000000000000002A
+:10B62000000000000000000000000000000000001A
+:10B63000000000000000000000000000000000000A
+:10B6400000000000000000000000000000000000FA
+:10B6500000000000000000000000000000000000EA
+:10B6600000000000000000000000000000000000DA
+:10B6700000000000000000000000000000000000CA
+:10B6800000000000000000000000000000000000BA
+:10B6900000000000000000000000000000000000AA
+:10B6A000000000000000000000000000000000009A
+:10B6B0000000000000000002020202020202020278
+:10B6C0000201010101010000000000000000000073
+:10B6D0000101010101010100000000000000000063
+:10B6E000000000000000000000000000000000005A
+:10B6F000000000000000000000000000000000004A
+:10B700000000000000000000000000000000000039
+:10B710000000000000000000000000000000000029
+:10B720000000000000000000000000000000000019
+:10B730000000000000000000000000000000000009
+:10B7400000000000000000000000000000000000F9
+:10B7500000000000000000000000000000000000E9
+:10B7600000000000000000000000000000000000D9
+:10B7700000000000000000000000000000000000C9
+:10B7800000000000000000000000000000000000B9
+:10B7900000000000000000000000000000000000A9
+:10B7A0000000000000000000000000000000000099
+:10B7B0000000000000000002020202020202020277
+:10B7C0000201010101010000000000000000000171
+:10B7D0000101010101010100000000000000000062
+:10B7E0000000000000000000000000000000000059
+:10B7F0000000000000000000000000000000000049
+:10B800000000000000000000000000000000000038
+:10B810000000000000000000000000000000000028
+:10B820000000000000000000000000000000000018
+:10B830000000000000000000000000000000000008
+:10B8400000000000000000000000000000000000F8
+:10B8500000000000000000000000000000000000E8
+:10B8600000000000000000000000000000000000D8
+:10B8700000000000000000000000000000000000C8
+:10B8800000000000000000000000000000000000B8
+:10B8900000000000000000000000000000000000A8
+:10B8A0000000000000000000000000000000000098
+:10B8B0000000000000000002020202020202020276
+:10B8C000020202010101000000000000000000016E
+:10B8D0000101010101010100000000000000000061
+:10B8E0000000000000000000000000000000000058
+:10B8F0000000000000000000000000000000000048
+:10B900000000000000000000000000000000000037
+:10B910000000000000000000000000000000000027
+:10B920000000000000000000000000000000000017
+:10B930000000000000000000000000000000000007
+:10B9400000000000000000000000000000000000F7
+:10B9500000000000000000000000000000000000E7
+:10B9600000000000000000000000000000000000D7
+:10B9700000000000000000000000000000000000C7
+:10B9800000000000000000000000000000000000B7
+:10B9900000000000000000000000000000000000A7
+:10B9A0000000000000000000000000000000000097
+:10B9B0000000000000000002020202020202020275
+:10B9C000020202020101000000000000000001016B
+:10B9D0000101010101010100000000000000000060
+:10B9E0000000000000000000000000000000000057
+:10B9F0000000000000000000000000000000000047
+:10BA00000000000000000000000000000000000036
+:10BA10000000000000000000000000000000000026
+:10BA20000000000000000000000000000000000016
+:10BA30000000000000000000000000000000000006
+:10BA400000000000000000000000000000000000F6
+:10BA500000000000000000000000000000000000E6
+:10BA600000000000000000000000000000000000D6
+:10BA700000000000000000000000000000000000C6
+:10BA800000000000000000000000000000000000B6
+:10BA900000000000000000000000000000000000A6
+:10BAA0000000000000000000000000000000000096
+:10BAB0000000000000000002020202020202020274
+:10BAC0000202020202010000000000000000010169
+:10BAD000010101010101010000000000000000005F
+:10BAE0000000000000000000000000000000000056
+:10BAF0000000000000000000000000000000000046
+:10BB00000000000000000000000000000000000035
+:10BB10000000000000000000000000000000000025
+:10BB20000000000000000000000000000000000015
+:10BB30000000000000000000000000000000000005
+:10BB400000000000000000000000000000000000F5
+:10BB500000000000000000000000000000000000E5
+:10BB600000000000000000000000000000000000D5
+:10BB700000000000000000000000000000000000C5
+:10BB800000000000000000000000000000000000B5
+:10BB900000000000000000000000000000000000A5
+:10BBA0000000000000000000000000000000000095
+:10BBB0000000000000000002020202020202020273
+:10BBC0000202020202010000000000000000010168
+:10BBD000010101010101010000000000000000005E
+:10BBE0000000000000000000000000000000000055
+:10BBF0000000000000000000000000000000000045
+:10BC00000000000000000000000000000000000034
+:10BC10000000000000000000000000000000000024
+:10BC20000000000000000000000000000000000014
+:10BC30000000000000000000000000000000000004
+:10BC400000000000000000000000000000000000F4
+:10BC500000000000000000000000000000000000E4
+:10BC600000000000000000000000000000000000D4
+:10BC700000000000000000000000000000000000C4
+:10BC800000000000000000000000000000000000B4
+:10BC900000000000000000000000000000000000A4
+:10BCA0000000000000000000000000000000000094
+:10BCB0000000000000000002020202020202020272
+:10BCC0000202020202020000000000000000010166
+:10BCD000010101010101010000000000000000005D
+:10BCE0000000000000000000000000000000000054
+:10BCF0000000000000000000000000000000000044
+:10BD00000000000000000000000000000000000033
+:10BD10000000000000000000000000000000000023
+:10BD20000000000000000000000000000000000013
+:10BD30000000000000000000000000000000000003
+:10BD400000000000000000000000000000000000F3
+:10BD500000000000000000000000000000000000E3
+:10BD600000000000000000000000000000000000D3
+:10BD700000000000000000000000000000000000C3
+:10BD800000000000000000000000000000000000B3
+:10BD900000000000000000000000000000000000A3
+:10BDA0000000000000000000000000000000000093
+:10BDB0000000000000000002020202020202020271
+:10BDC0000202020202020000000000000001010164
+:10BDD000010101010101010000000000000000005C
+:10BDE0000000000000000000000000000000000053
+:10BDF0000000000000000000000000000000000043
+:10BE00000000000000000000000000000000000032
+:10BE10000000000000000000000000000000000022
+:10BE20000000000000000000000000000000000012
+:10BE30000000000000000000000000000000000002
+:10BE400000000000000000000000000000000000F2
+:10BE500000000000000000000000000000000000E2
+:10BE600000000000000000000000000000000000D2
+:10BE700000000000000000000000000000000000C2
+:10BE800000000000000000000000000000000000B2
+:10BE900000000000000000000000000000000000A2
+:10BEA0000000000000000000000000000000000092
+:10BEB0000000000000000002020202020202020270
+:10BEC0000202020202020000000000000001010163
+:10BED000010101010101010000000000000000005B
+:10BEE0000000000000000000000000000000000052
+:10BEF0000000000000000000000000000000000042
+:10BF00000000000000000000000000000000000031
+:10BF10000000000000000000000000000000000021
+:10BF20000000000000000000000000000000000011
+:10BF30000000000000000000000000000000000001
+:10BF400000000000000000000000000000000000F1
+:10BF500000000000000000000000000000000000E1
+:10BF600000000000000000000000000000000000D1
+:10BF700000000000000000000000000000000000C1
+:10BF800000000000000000000000000000000000B1
+:10BF900000000000000000000000000000000000A1
+:10BFA0000000000000000000000000000000000091
+:10BFB000000000000000000202020202020202026F
+:10BFC0000202020202020000000000000101010161
+:10BFD000010101010101010000000000000000005A
+:10BFE0000000000000000000000000000000000051
+:10BFF0000000000000000000000000000000000041
+:10C000000000000000000000000000000000000030
+:10C010000000000000000000000000000000000020
+:10C020000000000000000000000000000000000010
+:10C030000000000000000000000000000000000000
+:10C0400000000000000000000000000000000000F0
+:10C0500000000000000000000000000000000000E0
+:10C0600000000000000000000000000000000000D0
+:10C0700000000000000000000000000000000000C0
+:10C0800000000000000000000000000000000000B0
+:10C0900000000000000000000000000000000000A0
+:10C0A0000000000000000000000000000000000090
+:10C0B000000000000000000202020202020202026E
+:10C0C0000202020202020000000000000101010160
+:10C0D0000101010101010100000000000000000059
+:10C0E0000000000000000000000000000000000050
+:10C0F0000000000000000000000000000000000040
+:10C10000000000000000000000000000000000002F
+:10C11000000000000000000000000000000000001F
+:10C12000000000000000000000000000000000000F
+:10C1300000000000000000000000000000000000FF
+:10C1400000000000000000000000000000000000EF
+:10C1500000000000000000000000000000000000DF
+:10C1600000000000000000000000000000000000CF
+:10C1700000000000000000000000000000000000BF
+:10C1800000000000000000000000000000000000AF
+:10C19000000000000000000000000000000000009F
+:10C1A000000000000000000000000000000000008F
+:10C1B000000000000000000202020202020202026D
+:10C1C000020202020202000000000000010101015F
+:10C1D0000101010101010100000000000000000058
+:10C1E000000000000000000000000000000000004F
+:10C1F000000000000000000000000000000000003F
+:10C20000000000000000000000000000000000002E
+:10C21000000000000000000000000000000000001E
+:10C22000000000000000000000000000000000000E
+:10C2300000000000000000000000000000000000FE
+:10C2400000000000000000000000000000000000EE
+:10C2500000000000000000000000000000000000DE
+:10C2600000000000000000000000000000000000CE
+:10C2700000000000000000000000000000000000BE
+:10C2800000000000000000000000000000000000AE
+:10C29000000000000000000000000000000000009E
+:10C2A000000000000000000000000000000000008E
+:10C2B000000000000000000202020202020202026C
+:10C2C000020202020202000000000000010101015E
+:10C2D0000101010101010100000000000000000057
+:10C2E000000000000000000000000000000000004E
+:10C2F000000000000000000000000000000000003E
+:10C30000000000000000000000000000000000002D
+:10C31000000000000000000000000000000000001D
+:10C32000000000000000000000000000000000000D
+:10C3300000000000000000000000000000000000FD
+:10C3400000000000000000000000000000000000ED
+:10C3500000000000000000000000000000000000DD
+:10C3600000000000000000000000000000000000CD
+:10C3700000000000000000000000000000000000BD
+:10C3800000000000000000000000000000000000AD
+:10C39000000000000000000000000000000000009D
+:10C3A000000000000000000000000000000000008D
+:10C3B000000000000000000202020202020202026B
+:10C3C000020202020202000000000000010101015D
+:10C3D0000101010101010100000000000000000056
+:10C3E000000000000000000000000000000000004D
+:10C3F000000000000000000000000000000000003D
+:10C40000000000000000000000000000000000002C
+:10C41000000000000000000000000000000000001C
+:10C42000000000000000000000000000000000000C
+:10C4300000000000000000000000000000000000FC
+:10C4400000000000000000000000000000000000EC
+:10C4500000000000000000000000000000000000DC
+:10C4600000000000000000000000000000000000CC
+:10C4700000000000000000000000000000000000BC
+:10C4800000000000000000000000000000000000AC
+:10C49000000000000000000000000000000000009C
+:10C4A000000000000000000000000000000000008C
+:10C4B000000000000000000202020202020202026A
+:10C4C000020202020202000000000001010101015B
+:10C4D0000101010101010100000000000000000055
+:10C4E000000000000000000000000000000000004C
+:10C4F000000000000000000000000000000000003C
+:10C50000000000000000000000000000000000002B
+:10C51000000000000000000000000000000000001B
+:10C52000000000000000000000000000000000000B
+:10C5300000000000000000000000000000000000FB
+:10C5400000000000000000000000000000000000EB
+:10C5500000000000000000000000000000000000DB
+:10C5600000000000000000000000000000000000CB
+:10C5700000000000000000000000000000000000BB
+:10C5800000000000000000000000000000000000AB
+:10C59000000000000000000000000000000000009B
+:10C5A000000000000000000000000000000000008B
+:10C5B0000000000000000002020202020202020269
+:10C5C000020202020202000000000001010101015A
+:10C5D0000101010101010100000000000000000054
+:10C5E000000000000000000000000000000000004B
+:10C5F000000000000000000000000000000000003B
+:10C60000000000000000000000000000000000002A
+:10C61000000000000000000000000000000000001A
+:10C62000000000000000000000000000000000000A
+:10C6300000000000000000000000000000000000FA
+:10C6400000000000000000000000000000000000EA
+:10C6500000000000000000000000000000000000DA
+:10C6600000000000000000000000000000000000CA
+:10C6700000000000000000000000000000000000BA
+:10C6800000000000000000000000000000000000AA
+:10C69000000000000000000000000000000000009A
+:10C6A000000000000000000000000000000000008A
+:10C6B0000000000000000002020202020202020268
+:10C6C0000202020202020000000000010101010159
+:10C6D0000101010101010100000000000000000053
+:10C6E000000000000000000000000000000000004A
+:10C6F000000000000000000000000000000000003A
+:10C700000000000000000000000000000000000029
+:10C710000000000000000000000000000000000019
+:10C720000000000000000000000000000000000009
+:10C7300000000000000000000000000000000000F9
+:10C7400000000000000000000000000000000000E9
+:10C7500000000000000000000000000000000000D9
+:10C7600000000000000000000000000000000000C9
+:10C7700000000000000000000000000000000000B9
+:10C7800000000000000000000000000000000000A9
+:10C790000000000000000000000000000000000099
+:10C7A0000000000000000000000000000000000089
+:10C7B0000000000000000002020202020202020267
+:10C7C0000202020202020000000001010101010157
+:10C7D0000101010101010100000000000000000052
+:10C7E0000000000000000000000000000000000049
+:10C7F0000000000000000000000000000000000039
+:10C800000000000000000000000000000000000028
+:10C810000000000000000000000000000000000018
+:10C820000000000000000000000000000000000008
+:10C8300000000000000000000000000000000000F8
+:10C8400000000000000000000000000000000000E8
+:10C8500000000000000000000000000000000000D8
+:10C8600000000000000000000000000000000000C8
+:10C8700000000000000000000000000000000000B8
+:10C8800000000000000000000000000000000000A8
+:10C890000000000000000000000000000000000098
+:10C8A0000000000000000000000000000000000088
+:10C8B0000000000000000002020202020202020266
+:10C8C0000202020202020000000001010101010156
+:10C8D0000101010101010100000000000000000051
+:10C8E0000000000000000000000000000000000048
+:10C8F0000000000000000000000000000000000038
+:10C900000000000000000000000000000000000027
+:10C910000000000000000000000000000000000017
+:10C920000000000000000000000000000000000007
+:10C9300000000000000000000000000000000000F7
+:10C9400000000000000000000000000000000000E7
+:10C9500000000000000000000000000000000000D7
+:10C9600000000000000000000000000000000000C7
+:10C9700000000000000000000000000000000000B7
+:10C9800000000000000000000000000000000000A7
+:10C990000000000000000000000000000000000097
+:10C9A0000000000000000000000000000000000087
+:10C9B0000000000000000002020202020202020265
+:10C9C0000202020202020000000001010101010155
+:10C9D0000101010101010100000000000000000050
+:10C9E0000000000000000000000000000000000047
+:10C9F0000000000000000000000000000000000037
+:10CA00000000000000000000000000000000000026
+:10CA10000000000000000000000000000000000016
+:10CA20000000000000000000000000000000000006
+:10CA300000000000000000000000000000000000F6
+:10CA400000000000000000000000000000000000E6
+:10CA500000000000000000000000000000000000D6
+:10CA600000000000000000000000000000000000C6
+:10CA700000000000000000000000000000000000B6
+:10CA800000000000000000000000000000000000A6
+:10CA90000000000000000000000000000000000096
+:10CAA0000000000000000000000000000000000086
+:10CAB0000000000000000002020202020202020264
+:10CAC0000202020202020000000001010101010154
+:10CAD000010101010101010000000000000000004F
+:10CAE0000000000000000000000000000000000046
+:10CAF0000000000000000000000000000000000036
+:10CB00000000000000000000000000000000000025
+:10CB10000000000000000000000000000000000015
+:10CB20000000000000000000000000000000000005
+:10CB300000000000000000000000000000000000F5
+:10CB400000000000000000000000000000000000E5
+:10CB500000000000000000000000000000000000D5
+:10CB600000000000000000000000000000000000C5
+:10CB700000000000000000000000000000000000B5
+:10CB800000000000000000000000000000000000A5
+:10CB90000000000000000000000000000000000095
+:10CBA0000000000000000000000000000000000085
+:10CBB0000000000000000002020202020202020263
+:10CBC0000202020202020000000101010101010152
+:10CBD000010101010101010000000000000000004E
+:10CBE0000000000000000000000000000000000045
+:10CBF0000000000000000000000000000000000035
+:10CC00000000000000000000000000000000000024
+:10CC10000000000000000000000000000000000014
+:10CC20000000000000000000000000000000000004
+:10CC300000000000000000000000000000000000F4
+:10CC400000000000000000000000000000000000E4
+:10CC500000000000000000000000000000000000D4
+:10CC600000000000000000000000000000000000C4
+:10CC700000000000000000000000000000000000B4
+:10CC800000000000000000000000000000000000A4
+:10CC90000000000000000000000000000000000094
+:10CCA0000000000000000000000000000000000084
+:10CCB0000000000000000002020202020202020262
+:10CCC0000202020202020000000101010101010151
+:10CCD000010101010101010000000000000000004D
+:10CCE0000000000000000000000000000000000044
+:10CCF0000000000000000000000000000000000034
+:10CD00000000000000000000000000000000000023
+:10CD10000000000000000000000000000000000013
+:10CD20000000000000000000000000000000000003
+:10CD300000000000000000000000000000000000F3
+:10CD400000000000000000000000000000000000E3
+:10CD500000000000000000000000000000000000D3
+:10CD600000000000000000000000000000000000C3
+:10CD700000000000000000000000000000000000B3
+:10CD800000000000000000000000000000000000A3
+:10CD90000000000000000000000000000000000093
+:10CDA0000000000000000000000000000000000083
+:10CDB0000000000000000002020202020202020261
+:10CDC0000202020202020000000101010101010150
+:10CDD000010101010101010000000000000000004C
+:10CDE0000000000000000000000000000000000043
+:10CDF0000000000000000000000000000000000033
+:10CE00000000000000000000000000000000000022
+:10CE10000000000000000000000000000000000012
+:10CE20000000000000000000000000000000000002
+:10CE300000000000000000000000000000000000F2
+:10CE400000000000000000000000000000000000E2
+:10CE500000000000000000000000000000000000D2
+:10CE600000000000000000000000000000000000C2
+:10CE700000000000000000000000000000000000B2
+:10CE800000000000000000000000000000000000A2
+:10CE90000000000000000000000000000000000092
+:10CEA0000000000000000000000000000000000082
+:10CEB0000000000000000002020202020202020260
+:10CEC000020202020202000000010101010101014F
+:10CED000010101010101010000000000000000004B
+:10CEE0000000000000000000000000000000000042
+:10CEF0000000000000000000000000000000000032
+:10CF00000000000000000000000000000000000021
+:10CF10000000000000000000000000000000000011
+:10CF20000000000000000000000000000000000001
+:10CF300000000000000000000000000000000000F1
+:10CF400000000000000000000000000000000000E1
+:10CF500000000000000000000000000000000000D1
+:10CF600000000000000000000000000000000000C1
+:10CF700000000000000000000000000000000000B1
+:10CF800000000000000000000000000000000000A1
+:10CF90000000000000000000000000000000000091
+:10CFA0000000000000000000000000000000000081
+:10CFB000000000000000000202020202020202025F
+:10CFC000020202020202000000010101010101014E
+:10CFD000010101010101010000000000000000004A
+:10CFE0000000000000000000000000000000000041
+:10CFF0000000000000000000000000000000000031
+:10D000000000000000000000000000000000000020
+:10D010000000000000000000000000000000000010
+:10D020000000000000000000000000000000000000
+:10D0300000000000000000000000000000000000F0
+:10D0400000000000000000000000000000000000E0
+:10D0500000000000000000000000000000000000D0
+:10D0600000000000000000000000000000000000C0
+:10D0700000000000000000000000000000000000B0
+:10D0800000000000000000000000000000000000A0
+:10D090000000000000000000000000000000000090
+:10D0A0000000000000000000000000000000000080
+:10D0B000000000000000000202020202020202025E
+:10D0C000020202020202000000010101010101014D
+:10D0D0000101010101010100000000000000000049
+:10D0E0000000000000000000000000000000000040
+:10D0F0000000000000000000000000000000000030
+:10D10000000000000000000000000000000000001F
+:10D11000000000000000000000000000000000000F
+:10D1200000000000000000000000000000000000FF
+:10D1300000000000000000000000000000000000EF
+:10D1400000000000000000000000000000000000DF
+:10D1500000000000000000000000000000000000CF
+:10D1600000000000000000000000000000000000BF
+:10D1700000000000000000000000000000000000AF
+:10D18000000000000000000000000000000000009F
+:10D19000000000000000000000000000000000008F
+:10D1A000000000000000000000000000000000007F
+:10D1B000000000000000000202020202020202025D
+:10D1C000020202020202000001010101010101014B
+:10D1D0000101010101010100000000000000000048
+:10D1E000000000000000000000000000000000003F
+:10D1F000000000000000000000000000000000002F
+:10D20000000000000000000000000000000000001E
+:10D21000000000000000000000000000000000000E
+:10D2200000000000000000000000000000000000FE
+:10D2300000000000000000000000000000000000EE
+:10D2400000000000000000000000000000000000DE
+:10D2500000000000000000000000000000000000CE
+:10D2600000000000000000000000000000000000BE
+:10D2700000000000000000000000000000000000AE
+:10D28000000000000000000000000000000000009E
+:10D29000000000000000000000000000000000008E
+:10D2A000000000000000000000000000000000007E
+:10D2B000000000000000000202020202020202025C
+:10D2C000020202020202000001010101010101014A
+:10D2D0000101010101010100000000000000000047
+:10D2E000000000000000000000000000000000003E
+:10D2F000000000000000000000000000000000002E
+:10D30000000000000000000000000000000000001D
+:10D31000000000000000000000000000000000000D
+:10D3200000000000000000000000000000000000FD
+:10D3300000000000000000000000000000000000ED
+:10D3400000000000000000000000000000000000DD
+:10D3500000000000000000000000000000000000CD
+:10D3600000000000000000000000000000000000BD
+:10D3700000000000000000000000000000000000AD
+:10D38000000000000000000000000000000000009D
+:10D39000000000000000000000000000000000008D
+:10D3A000000000000000000000000000000000007D
+:10D3B000000000000000000202020202020202025B
+:10D3C0000202020202020000010101010101010149
+:10D3D0000101010101010100000000000000000046
+:10D3E000000000000000000000000000000000003D
+:10D3F000000000000000000000000000000000002D
+:10D40000000000000000000000000000000000001C
+:10D41000000000000000000000000000000000000C
+:10D4200000000000000000000000000000000000FC
+:10D4300000000000000000000000000000000000EC
+:10D4400000000000000000000000000000000000DC
+:10D4500000000000000000000000000000000000CC
+:10D4600000000000000000000000000000000000BC
+:10D4700000000000000000000000000000000000AC
+:10D48000000000000000000000000000000000009C
+:10D49000000000000000000000000000000000008C
+:10D4A000000000000000000000000000000000007C
+:10D4B000000000000000000202020202020202025A
+:10D4C0000202020202020000010101010101010148
+:10D4D0000101010101010100000000000000000045
+:10D4E000000000000000000000000000000000003C
+:10D4F000000000000000000000000000000000002C
+:10D50000000000000000000000000000000000001B
+:10D51000000000000000000000000000000000000B
+:10D5200000000000000000000000000000000000FB
+:10D5300000000000000000000000000000000000EB
+:10D5400000000000000000000000000000000000DB
+:10D5500000000000000000000000000000000000CB
+:10D5600000000000000000000000000000000000BB
+:10D5700000000000000000000000000000000000AB
+:10D58000000000000000000000000000000000009B
+:10D59000000000000000000000000000000000008B
+:10D5A000000000000000000000000000000000007B
+:10D5B0000000000000000002020202020202020259
+:10D5C000020202020202000000000000000000004F
+:10D5D000000000000000000000000000000000004B
+:10D5E000000000000000000000000000000000003B
+:10D5F000000000000000000000000000000000002B
+:10D60000000000000000000000000000000000001A
+:10D61000000000000000000000000000000000000A
+:10D6200000000000000000000000000000000000FA
+:10D6300000000000000000000000000000000000EA
+:10D6400000000000000000000000000000000000DA
+:10D6500000000000000000000000000000000000CA
+:10D6600000000000000000000000000000000000BA
+:10D6700000000000000000000000000000000000AA
+:10D68000000000000000000000000000000000009A
+:10D69000000000000000000000000000000000008A
+:10D6A000000000000000000000000000000000007A
+:10D6B000000000000000000000000000000000006A
+:10D6C000000000000000002A000000000000000030
+:10D6D0000000000000000000000000000000010049
+:10D6E000000000000000000000000000000000003A
+:10D6F000000000000000000000000000000000002A
+:10D700000000000000000000000000000000000019
+:10D710000000000000000000000000000000000009
+:10D7200000000000000000000000000000000000F9
+:10D7300000000000000000000000000000000000E9
+:10D7400000000000000000000000000000000000D9
+:10D7500000000000000000000000000000000000C9
+:10D7600000000000000000000000000000000000B9
+:10D7700000000000000000000000000000000000A9
+:10D780000000000000000000000000000000000099
+:10D790000000000000000000000000000000000089
+:10D7A0000000000000000000000000000000000079
+:10D7B0000000000000000000000000000000000267
+:10D7C0000000000000000000000000000000000059
+:10D7D0000000000000000000000000000000010048
+:10D7E0000000000000000000000000000000000039
+:10D7F0000000000000000000000000000000000029
+:10D800000000000000000000000000000000000018
+:10D810000000000000000000000000000000000008
+:10D8200000000000000000000000000000000000F8
+:10D8300000000000000000000000000000000000E8
+:10D8400000000000000000000000000000000000D8
+:10D8500000000000000000000000000000000000C8
+:10D8600000000000000000000000000000000000B8
+:10D8700000000000000000000000000000000000A8
+:10D880000000000000000000000000000000000098
+:10D890000000000000000000000000000000000088
+:10D8A0000000000000000000000000000000000078
+:10D8B0000000000000000000000000000000000266
+:10D8C0000000000000000001000001000101000054
+:10D8D0000000000000000000000000000000010047
+:10D8E0000000000000000000000000000000000038
+:10D8F0000000000000000000000000000000000028
+:10D900000000000000000000000000000000000017
+:10D910000000000000000000000000000000000007
+:10D9200000000000000000000000000000000000F7
+:10D9300000000000000000000000000000000000E7
+:10D9400000000000000000000000000000000000D7
+:10D9500000000000000000000000000000000000C7
+:10D9600000000000000000000000000000000000B7
+:10D9700000000000000000000000000000000000A7
+:10D980000000000000000000000000000000000097
+:10D990000000000000000000000000000000000087
+:10D9A0000000000000000000000000000000000077
+:10D9B0000000000000000000000000000000000265
+:10D9C000020000010101000101010101010100004B
+:10D9D0000000000000000000000000000000010046
+:10D9E0000000000000000000000000000000000037
+:10D9F0000000000000000000000000000000000027
+:10DA00000000000000000000000000000000000016
+:10DA10000000000000000000000000000000000006
+:10DA200000000000000000000000000000000000F6
+:10DA300000000000000000000000000000000000E6
+:10DA400000000000000000000000000000000000D6
+:10DA500000000000000000000000000000000000C6
+:10DA600000000000000000000000000000000000B6
+:10DA700000000000000000000000000000000000A6
+:10DA80000000000000000000000000000000000096
+:10DA90000000000000000000000000000000000086
+:10DAA0000000000000000000000000000000000076
+:10DAB0000000000000000000000000000000000264
+:10DAC0000200000101010101010101010101000049
+:10DAD0000000000000000000000000000001010044
+:10DAE0000000000000000000000000000000000036
+:10DAF0000000000000000000000000000000000026
+:10DB00000000000000000000000000000000000015
+:10DB10000000000000000000000000000000000005
+:10DB200000000000000000000000000000000000F5
+:10DB300000000000000000000000000000000000E5
+:10DB400000000000000000000000000000000000D5
+:10DB500000000000000000000000000000000000C5
+:10DB600000000000000000000000000000000000B5
+:10DB700000000000000000000000000000000000A5
+:10DB80000000000000000000000000000000000095
+:10DB90000000000000000000000000000000000085
+:10DBA0000000000000000000000000000000000075
+:10DBB0000000000000000000000000000000000263
+:10DBC0000200000101010101010101010101000048
+:10DBD0000000000000000000000000000001010043
+:10DBE0000000000000000000000000000000000035
+:10DBF0000000000000000000000000000000000025
+:10DC00000000000000000000000000000000000014
+:10DC10000000000000000000000000000000000004
+:10DC200000000000000000000000000000000000F4
+:10DC300000000000000000000000000000000000E4
+:10DC400000000000000000000000000000000000D4
+:10DC500000000000000000000000000000000000C4
+:10DC600000000000000000000000000000000000B4
+:10DC700000000000000000000000000000000000A4
+:10DC80000000000000000000000000000000000094
+:10DC90000000000000000000000000000000000084
+:10DCA0000000000000000000000000000000000074
+:10DCB0000000000000000000000000000000000262
+:10DCC0000200010101010101010101010101000046
+:10DCD0000000000000000000000000000101010041
+:10DCE0000000000000000000000000000000000034
+:10DCF0000000000000000000000000000000000024
+:10DD00000000000000000000000000000000000013
+:10DD10000000000000000000000000000000000003
+:10DD200000000000000000000000000000000000F3
+:10DD300000000000000000000000000000000000E3
+:10DD400000000000000000000000000000000000D3
+:10DD500000000000000000000000000000000000C3
+:10DD600000000000000000000000000000000000B3
+:10DD700000000000000000000000000000000000A3
+:10DD80000000000000000000000000000000000093
+:10DD90000000000000000000000000000000000083
+:10DDA0000000000000000000000000000000000073
+:10DDB0000000000000000000000000000000000261
+:10DDC0000201010101010101010101010101000044
+:10DDD0000000000000000000000000000101010040
+:10DDE0000000000000000000000000000000000033
+:10DDF0000000000000000000000000000000000023
+:10DE00000000000000000000000000000000000012
+:10DE10000000000000000000000000000000000002
+:10DE200000000000000000000000000000000000F2
+:10DE300000000000000000000000000000000000E2
+:10DE400000000000000000000000000000000000D2
+:10DE500000000000000000000000000000000000C2
+:10DE600000000000000000000000000000000000B2
+:10DE700000000000000000000000000000000000A2
+:10DE80000000000000000000000000000000000092
+:10DE90000000000000000000000000000000000082
+:10DEA0000000000000000000000000000000000072
+:10DEB0000000000000000000000000000000000260
+:10DEC0000202010101010101010101010101000042
+:10DED000000000000000000000000000010101003F
+:10DEE0000000000000000000000000000000000032
+:10DEF0000000000000000000000000000000000022
+:10DF00000000000000000000000000000000000011
+:10DF10000000000000000000000000000000000001
+:10DF200000000000000000000000000000000000F1
+:10DF300000000000000000000000000000000000E1
+:10DF400000000000000000000000000000000000D1
+:10DF500000000000000000000000000000000000C1
+:10DF600000000000000000000000000000000000B1
+:10DF700000000000000000000000000000000000A1
+:10DF80000000000000000000000000000000000091
+:10DF90000000000000000000000000000000000081
+:10DFA0000000000000000000000000000000000071
+:10DFB000000000000000000000000000000000025F
+:10DFC0000202020101010101010101010101000040
+:10DFD000000000000000000000000001010101003D
+:10DFE0000000000000000000000000000000000031
+:10DFF0000000000000000000000000000000000021
+:10E000000000000000000000000000000000000010
+:10E010000000000000000000000000000000000000
+:10E0200000000000000000000000000000000000F0
+:10E0300000000000000000000000000000000000E0
+:10E0400000000000000000000000000000000000D0
+:10E0500000000000000000000000000000000000C0
+:10E0600000000000000000000000000000000000B0
+:10E0700000000000000000000000000000000000A0
+:10E080000000000000000000000000000000000090
+:10E090000000000000000000000000000000000080
+:10E0A0000000000000000000000000000000000070
+:10E0B000000000000000000000000000000000025E
+:10E0C000020202020101010101010101010100003E
+:10E0D000000000000000000000000101010101003B
+:10E0E0000000000000000000000000000000000030
+:10E0F0000000000000000000000000000000000020
+:10E10000000000000000000000000000000000000F
+:10E1100000000000000000000000000000000000FF
+:10E1200000000000000000000000000000000000EF
+:10E1300000000000000000000000000000000000DF
+:10E1400000000000000000000000000000000000CF
+:10E1500000000000000000000000000000000000BF
+:10E1600000000000000000000000000000000000AF
+:10E17000000000000000000000000000000000009F
+:10E18000000000000000000000000000000000008F
+:10E19000000000000000000000000000000000007F
+:10E1A000000000000000000000000000000000006F
+:10E1B000000000000000000000000000000000025D
+:10E1C000020202020101010101010101010100003D
+:10E1D0000000000000000000000101010101010039
+:10E1E000000000000000000000000000000000002F
+:10E1F000000000000000000000000000000000001F
+:10E20000000000000000000000000000000000000E
+:10E2100000000000000000000000000000000000FE
+:10E2200000000000000000000000000000000000EE
+:10E2300000000000000000000000000000000000DE
+:10E2400000000000000000000000000000000000CE
+:10E2500000000000000000000000000000000000BE
+:10E2600000000000000000000000000000000000AE
+:10E27000000000000000000000000000000000009E
+:10E28000000000000000000000000000000000008E
+:10E29000000000000000000000000000000000007E
+:10E2A000000000000000000000000000000000006E
+:10E2B000000000000000000000000000000000025C
+:10E2C000020202020201010101010101010100003B
+:10E2D0000000000000000000000101010101010038
+:10E2E000000000000000000000000000000000002E
+:10E2F000000000000000000000000000000000001E
+:10E30000000000000000000000000000000000000D
+:10E3100000000000000000000000000000000000FD
+:10E3200000000000000000000000000000000000ED
+:10E3300000000000000000000000000000000000DD
+:10E3400000000000000000000000000000000000CD
+:10E3500000000000000000000000000000000000BD
+:10E3600000000000000000000000000000000000AD
+:10E37000000000000000000000000000000000009D
+:10E38000000000000000000000000000000000008D
+:10E39000000000000000000000000000000000007D
+:10E3A000000000000000000000000000000000006D
+:10E3B000000000000000000000000000000000025B
+:10E3C0000202020202020101010101010101000039
+:10E3D0000000000000000000010101010101010036
+:10E3E000000000000000000000000000000000002D
+:10E3F000000000000000000000000000000000001D
+:10E40000000000000000000000000000000000000C
+:10E4100000000000000000000000000000000000FC
+:10E4200000000000000000000000000000000000EC
+:10E4300000000000000000000000000000000000DC
+:10E4400000000000000000000000000000000000CC
+:10E4500000000000000000000000000000000000BC
+:10E4600000000000000000000000000000000000AC
+:10E47000000000000000000000000000000000009C
+:10E48000000000000000000000000000000000008C
+:10E49000000000000000000000000000000000007C
+:10E4A000000000000000000000000000000000006C
+:10E4B000000000000000000000000000000000025A
+:10E4C0000202020202020201010101010101000037
+:10E4D0000000000000000001010101010101010034
+:10E4E000000000000000000000000000000000002C
+:10E4F000000000000000000000000000000000001C
+:10E50000000000000000000000000000000000000B
+:10E5100000000000000000000000000000000000FB
+:10E5200000000000000000000000000000000000EB
+:10E5300000000000000000000000000000000000DB
+:10E5400000000000000000000000000000000000CB
+:10E5500000000000000000000000000000000000BB
+:10E5600000000000000000000000000000000000AB
+:10E57000000000000000000000000000000000009B
+:10E58000000000000000000000000000000000008B
+:10E59000000000000000000000000000000000007B
+:10E5A000000000000000000000000000000000006B
+:10E5B0000000000000000000000000000000000259
+:10E5C0000202020202020202010101010101000035
+:10E5D0000000000000000001010101010101010033
+:10E5E000000000000000000000000000000000002B
+:10E5F000000000000000000000000000000000001B
+:10E60000000000000000000000000000000000000A
+:10E6100000000000000000000000000000000000FA
+:10E6200000000000000000000000000000000000EA
+:10E6300000000000000000000000000000000000DA
+:10E6400000000000000000000000000000000000CA
+:10E6500000000000000000000000000000000000BA
+:10E6600000000000000000000000000000000000AA
+:10E67000000000000000000000000000000000009A
+:10E68000000000000000000000000000000000008A
+:10E69000000000000000000000000000000000007A
+:10E6A000000000000000000000000000000000006A
+:10E6B0000000000000000000000000000000000258
+:10E6C0000202020202020202020101010101000033
+:10E6D0000000000000000001010101010101010032
+:10E6E000000000000000000000000000000000002A
+:10E6F000000000000000000000000000000000001A
+:10E700000000000000000000000000000000000009
+:10E7100000000000000000000000000000000000F9
+:10E7200000000000000000000000000000000000E9
+:10E7300000000000000000000000000000000000D9
+:10E7400000000000000000000000000000000000C9
+:10E7500000000000000000000000000000000000B9
+:10E7600000000000000000000000000000000000A9
+:10E770000000000000000000000000000000000099
+:10E780000000000000000000000000000000000089
+:10E790000000000000000000000000000000000079
+:10E7A0000000000000000000000000000000000069
+:10E7B0000000000000000000000000000000000257
+:10E7C0000202020202020202020202010101000030
+:10E7D0000000000000000001010101010101010031
+:10E7E0000000000000000000000000000000000029
+:10E7F0000000000000000000000000000000000019
+:10E800000000000000000000000000000000000008
+:10E8100000000000000000000000000000000000F8
+:10E8200000000000000000000000000000000000E8
+:10E8300000000000000000000000000000000000D8
+:10E8400000000000000000000000000000000000C8
+:10E8500000000000000000000000000000000000B8
+:10E8600000000000000000000000000000000000A8
+:10E870000000000000000000000000000000000098
+:10E880000000000000000000000000000000000088
+:10E890000000000000000000000000000000000078
+:10E8A0000000000000000000000000000000000068
+:10E8B0000000000000000000000000000000000256
+:10E8C000020202020202020202020202010100002E
+:10E8D000000000000000010101010101010101002F
+:10E8E0000000000000000000000000000000000028
+:10E8F0000000000000000000000000000000000018
+:10E900000000000000000000000000000000000007
+:10E9100000000000000000000000000000000000F7
+:10E9200000000000000000000000000000000000E7
+:10E9300000000000000000000000000000000000D7
+:10E9400000000000000000000000000000000000C7
+:10E9500000000000000000000000000000000000B7
+:10E9600000000000000000000000000000000000A7
+:10E970000000000000000000000000000000000097
+:10E980000000000000000000000000000000000087
+:10E990000000000000000000000000000000000077
+:10E9A0000000000000000000000000000000000067
+:10E9B0000000000000000000000000000000000255
+:10E9C000020202020202020202020202020100002C
+:10E9D000000000000001010101010101010101002D
+:10E9E0000000000000000000000000000000000027
+:10E9F0000000000000000000000000000000000017
+:10EA00000000000000000000000000000000000006
+:10EA100000000000000000000000000000000000F6
+:10EA200000000000000000000000000000000000E6
+:10EA300000000000000000000000000000000000D6
+:10EA400000000000000000000000000000000000C6
+:10EA500000000000000000000000000000000000B6
+:10EA600000000000000000000000000000000000A6
+:10EA70000000000000000000000000000000000096
+:10EA80000000000000000000000000000000000086
+:10EA90000000000000000000000000000000000076
+:10EAA0000000000000000000000000000000000066
+:10EAB0000000000000000000000000000000000254
+:10EAC000020202020202020202020202020200002A
+:10EAD000000000000001010101010101010101002C
+:10EAE0000000000000000000000000000000000026
+:10EAF0000000000000000000000000000000000016
+:10EB00000000000000000000000000000000000005
+:10EB100000000000000000000000000000000000F5
+:10EB200000000000000000000000000000000000E5
+:10EB300000000000000000000000000000000000D5
+:10EB400000000000000000000000000000000000C5
+:10EB500000000000000000000000000000000000B5
+:10EB600000000000000000000000000000000000A5
+:10EB70000000000000000000000000000000000095
+:10EB80000000000000000000000000000000000085
+:10EB90000000000000000000000000000000000075
+:10EBA0000000000000000000000000000000000065
+:10EBB0000000000000000000000000000000000253
+:10EBC0000202020202020202020202020202000029
+:10EBD000000000000101010101010101010101002A
+:10EBE0000000000000000000000000000000000025
+:10EBF0000000000000000000000000000000000015
+:10EC00000000000000000000000000000000000004
+:10EC100000000000000000000000000000000000F4
+:10EC200000000000000000000000000000000000E4
+:10EC300000000000000000000000000000000000D4
+:10EC400000000000000000000000000000000000C4
+:10EC500000000000000000000000000000000000B4
+:10EC600000000000000000000000000000000000A4
+:10EC70000000000000000000000000000000000094
+:10EC80000000000000000000000000000000000084
+:10EC90000000000000000000000000000000000074
+:10ECA0000000000000000000000000000000000064
+:10ECB0000000000000000000000000000000000252
+:10ECC0000202020202020202020202020202000028
+:10ECD0000000000001010101010101010101010029
+:10ECE0000000000000000000000000000000000024
+:10ECF0000000000000000000000000000000000014
+:10ED00000000000000000000000000000000000003
+:10ED100000000000000000000000000000000000F3
+:10ED200000000000000000000000000000000000E3
+:10ED300000000000000000000000000000000000D3
+:10ED400000000000000000000000000000000000C3
+:10ED500000000000000000000000000000000000B3
+:10ED600000000000000000000000000000000000A3
+:10ED70000000000000000000000000000000000093
+:10ED80000000000000000000000000000000000083
+:10ED90000000000000000000000000000000000073
+:10EDA0000000000000000000000000000000000063
+:10EDB0000000000000000000000000000000000251
+:10EDC0000202020202020202020202020202000027
+:10EDD0000000000001010101010101010101010028
+:10EDE0000000000000000000000000000000000023
+:10EDF0000000000000000000000000000000000013
+:10EE00000000000000000000000000000000000002
+:10EE100000000000000000000000000000000000F2
+:10EE200000000000000000000000000000000000E2
+:10EE300000000000000000000000000000000000D2
+:10EE400000000000000000000000000000000000C2
+:10EE500000000000000000000000000000000000B2
+:10EE600000000000000000000000000000000000A2
+:10EE70000000000000000000000000000000000092
+:10EE80000000000000000000000000000000000082
+:10EE90000000000000000000000000000000000072
+:10EEA0000000000000000000000000000000000062
+:10EEB0000000000000000000000000000000000250
+:10EEC0000202020202020202020202020202000026
+:10EED0000000000001010101010101010101010027
+:10EEE0000000000000000000000000000000000022
+:10EEF0000000000000000000000000000000000012
+:10EF00000000000000000000000000000000000001
+:10EF100000000000000000000000000000000000F1
+:10EF200000000000000000000000000000000000E1
+:10EF300000000000000000000000000000000000D1
+:10EF400000000000000000000000000000000000C1
+:10EF500000000000000000000000000000000000B1
+:10EF600000000000000000000000000000000000A1
+:10EF70000000000000000000000000000000000091
+:10EF80000000000000000000000000000000000081
+:10EF90000000000000000000000000000000000071
+:10EFA0000000000000000000000000000000000061
+:10EFB000000000000000000000000000000000024F
+:10EFC0000202020202020202020202020202000025
+:10EFD0000000000101010101010101010101010025
+:10EFE0000000000000000000000000000000000021
+:10EFF0000000000000000000000000000000000011
+:10F000000000000000000000000000000000000000
+:10F0100000000000000000000000000000000000F0
+:10F0200000000000000000000000000000000000E0
+:10F0300000000000000000000000000000000000D0
+:10F0400000000000000000000000000000000000C0
+:10F0500000000000000000000000000000000000B0
+:10F0600000000000000000000000000000000000A0
+:10F070000000000000000000000000000000000090
+:10F080000000000000000000000000000000000080
+:10F090000000000000000000000000000000000070
+:10F0A0000000000000000000000000000000000060
+:10F0B000000000000000000000000000000000024E
+:10F0C0000202020202020202020202020202000024
+:10F0D0000000000101010101010101010101010024
+:10F0E0000000000000000000000000000000000020
+:10F0F0000000000000000000000000000000000010
+:10F1000000000000000000000000000000000000FF
+:10F1100000000000000000000000000000000000EF
+:10F1200000000000000000000000000000000000DF
+:10F1300000000000000000000000000000000000CF
+:10F1400000000000000000000000000000000000BF
+:10F1500000000000000000000000000000000000AF
+:10F16000000000000000000000000000000000009F
+:10F17000000000000000000000000000000000008F
+:10F18000000000000000000000000000000000007F
+:10F19000000000000000000000000000000000006F
+:10F1A000000000000000000000000000000000005F
+:10F1B000000000000000000000000000000000024D
+:10F1C0000202020202020202020202020202000023
+:10F1D0000000000101010101010101010101010023
+:10F1E000000000000000000000000000000000001F
+:10F1F000000000000000000000000000000000000F
+:10F2000000000000000000000000000000000000FE
+:10F2100000000000000000000000000000000000EE
+:10F2200000000000000000000000000000000000DE
+:10F2300000000000000000000000000000000000CE
+:10F2400000000000000000000000000000000000BE
+:10F2500000000000000000000000000000000000AE
+:10F26000000000000000000000000000000000009E
+:10F27000000000000000000000000000000000008E
+:10F28000000000000000000000000000000000007E
+:10F29000000000000000000000000000000000006E
+:10F2A000000000000000000000000000000000005E
+:10F2B000000000000000000000000000000000024C
+:10F2C0000202020202020202020202020202000022
+:10F2D0000000000101010101010101010101010022
+:10F2E000000000000000000000000000000000001E
+:10F2F000000000000000000000000000000000000E
+:10F3000000000000000000000000000000000000FD
+:10F3100000000000000000000000000000000000ED
+:10F3200000000000000000000000000000000000DD
+:10F3300000000000000000000000000000000000CD
+:10F3400000000000000000000000000000000000BD
+:10F3500000000000000000000000000000000000AD
+:10F36000000000000000000000000000000000009D
+:10F37000000000000000000000000000000000008D
+:10F38000000000000000000000000000000000007D
+:10F39000000000000000000000000000000000006D
+:10F3A000000000000000000000000000000000005D
+:10F3B000000000000000000000000000000000024B
+:10F3C0000202020202020202020202020202000021
+:10F3D0000000000101010101010101010101010021
+:10F3E000000000000000000000000000000000001D
+:10F3F000000000000000000000000000000000000D
+:10F4000000000000000000000000000000000000FC
+:10F4100000000000000000000000000000000000EC
+:10F4200000000000000000000000000000000000DC
+:10F4300000000000000000000000000000000000CC
+:10F4400000000000000000000000000000000000BC
+:10F4500000000000000000000000000000000000AC
+:10F46000000000000000000000000000000000009C
+:10F47000000000000000000000000000000000008C
+:10F48000000000000000000000000000000000007C
+:10F49000000000000000000000000000000000006C
+:10F4A000000000000000000000000000000000005C
+:10F4B000000000000000000000000000000000024A
+:10F4C0000202020202020202020202020202000020
+:10F4D000000001010101010101010101010101001F
+:10F4E000000000000000000000000000000000001C
+:10F4F000000000000000000000000000000000000C
+:10F5000000000000000000000000000000000000FB
+:10F5100000000000000000000000000000000000EB
+:10F5200000000000000000000000000000000000DB
+:10F5300000000000000000000000000000000000CB
+:10F5400000000000000000000000000000000000BB
+:10F5500000000000000000000000000000000000AB
+:10F56000000000000000000000000000000000009B
+:10F57000000000000000000000000000000000008B
+:10F58000000000000000000000000000000000007B
+:10F59000000000000000000000000000000000006B
+:10F5A000000000000000000000000000000000005B
+:10F5B0000000000000000000000000000000000249
+:10F5C000020202020202020202020202020200001F
+:10F5D000000001010101010101010101010101001E
+:10F5E000000000000000000000000000000000001B
+:10F5F000000000000000000000000000000000000B
+:10F6000000000000000000000000000000000000FA
+:10F6100000000000000000000000000000000000EA
+:10F6200000000000000000000000000000000000DA
+:10F6300000000000000000000000000000000000CA
+:10F6400000000000000000000000000000000000BA
+:10F6500000000000000000000000000000000000AA
+:10F66000000000000000000000000000000000009A
+:10F67000000000000000000000000000000000008A
+:10F68000000000000000000000000000000000007A
+:10F69000000000000000000000000000000000006A
+:10F6A000000000000000000000000000000000005A
+:10F6B0000000000000000000000000000000000248
+:10F6C000020202020202020202020202020200001E
+:10F6D000000001010101010101010101010101001D
+:10F6E000000000000000000000000000000000001A
+:10F6F000000000000000000000000000000000000A
+:10F7000000000000000000000000000000000000F9
+:10F7100000000000000000000000000000000000E9
+:10F7200000000000000000000000000000000000D9
+:10F7300000000000000000000000000000000000C9
+:10F7400000000000000000000000000000000000B9
+:10F7500000000000000000000000000000000000A9
+:10F760000000000000000000000000000000000099
+:10F770000000000000000000000000000000000089
+:10F780000000000000000000000000000000000079
+:10F790000000000000000000000000000000000069
+:10F7A0000000000000000000000000000000000059
+:10F7B0000000000000000000000000000000000247
+:10F7C000020202020202020202020202020200001D
+:10F7D000000101010101010101010101010101001B
+:10F7E0000000000000000000000000000000000019
+:10F7F0000000000000000000000000000000000009
+:10F8000000000000000000000000000000000000F8
+:10F8100000000000000000000000000000000000E8
+:10F8200000000000000000000000000000000000D8
+:10F8300000000000000000000000000000000000C8
+:10F8400000000000000000000000000000000000B8
+:10F8500000000000000000000000000000000000A8
+:10F860000000000000000000000000000000000098
+:10F870000000000000000000000000000000000088
+:10F880000000000000000000000000000000000078
+:10F890000000000000000000000000000000000068
+:10F8A0000000000000000000000000000000000058
+:10F8B0000000000000000000000000000000000246
+:10F8C000020202020202020202020202020200001C
+:10F8D000000101010101010101010101010101001A
+:10F8E0000000000000000000000000000000000018
+:10F8F0000000000000000000000000000000000008
+:10F9000000000000000000000000000000000000F7
+:10F9100000000000000000000000000000000000E7
+:10F9200000000000000000000000000000000000D7
+:10F9300000000000000000000000000000000000C7
+:10F9400000000000000000000000000000000000B7
+:10F9500000000000000000000000000000000000A7
+:10F960000000000000000000000000000000000097
+:10F970000000000000000000000000000000000087
+:10F980000000000000000000000000000000000077
+:10F990000000000000000000000000000000000067
+:10F9A0000000000000000000000000000000000057
+:10F9B0000000000000000000000000000000000245
+:10F9C000020202020202020202020202020200001B
+:10F9D0000001010101010101010101010101010019
+:10F9E0000000000000000000000000000000000017
+:10F9F0000000000000000000000000000000000007
+:10FA000000000000000000000000000000000000F6
+:10FA100000000000000000000000000000000000E6
+:10FA200000000000000000000000000000000000D6
+:10FA300000000000000000000000000000000000C6
+:10FA400000000000000000000000000000000000B6
+:10FA500000000000000000000000000000000000A6
+:10FA60000000000000000000000000000000000096
+:10FA70000000000000000000000000000000000086
+:10FA80000000000000000000000000000000000076
+:10FA90000000000000000000000000000000000066
+:10FAA0000000000000000000000000000000000056
+:10FAB0000000000000000000000000000000000244
+:10FAC000020202020202020202020202020200001A
+:10FAD0000001010101010101010101010101010018
+:10FAE0000000000000000000000000000000000016
+:10FAF0000000000000000000000000000000000006
+:10FB000000000000000000000000000000000000F5
+:10FB100000000000000000000000000000000000E5
+:10FB200000000000000000000000000000000000D5
+:10FB300000000000000000000000000000000000C5
+:10FB400000000000000000000000000000000000B5
+:10FB500000000000000000000000000000000000A5
+:10FB60000000000000000000000000000000000095
+:10FB70000000000000000000000000000000000085
+:10FB80000000000000000000000000000000000075
+:10FB90000000000000000000000000000000000065
+:10FBA0000000000000000000000000000000000055
+:10FBB0000000000000000000000000000000000243
+:10FBC0000202020202020202020202020202000019
+:10FBD0000001010101010101010101010101010017
+:10FBE0000000000000000000000000000000000015
+:10FBF0000000000000000000000000000000000005
+:10FC000000000000000000000000000000000000F4
+:10FC100000000000000000000000000000000000E4
+:10FC200000000000000000000000000000000000D4
+:10FC300000000000000000000000000000000000C4
+:10FC400000000000000000000000000000000000B4
+:10FC500000000000000000000000000000000000A4
+:10FC60000000000000000000000000000000000094
+:10FC70000000000000000000000000000000000084
+:10FC80000000000000000000000000000000000074
+:10FC90000000000000000000000000000000000064
+:10FCA0000000000000000000000000000000000054
+:10FCB0000000000000000000000000000000000242
+:10FCC0000202020202020202020202020202000018
+:10FCD0000001010101010101010101010101010016
+:10FCE0000000000000000000000000000000000014
+:10FCF0000000000000000000000000000000000004
+:10FD000000000000000000000000000000000000F3
+:10FD100000000000000000000000000000000000E3
+:10FD200000000000000000000000000000000000D3
+:10FD300000000000000000000000000000000000C3
+:10FD400000000000000000000000000000000000B3
+:10FD500000000000000000000000000000000000A3
+:10FD60000000000000000000000000000000000093
+:10FD70000000000000000000000000000000000083
+:10FD80000000000000000000000000000000000073
+:10FD90000000000000000000000000000000000063
+:10FDA0000000000000000000000000000000000053
+:10FDB0000000000000000000000000000000000241
+:10FDC0000202020202020202020202020202000017
+:10FDD0000101010101010101010101010101010014
+:10FDE0000000000000000000000000000000000013
+:10FDF0000000000000000000000000000000000003
+:10FE000000000000000000000000000000000000F2
+:10FE100000000000000000000000000000000000E2
+:10FE200000000000000000000000000000000000D2
+:10FE300000000000000000000000000000000000C2
+:10FE400000000000000000000000000000000000B2
+:10FE500000000000000000000000000000000000A2
+:10FE60000000000000000000000000000000000092
+:10FE70000000000000000000000000000000000082
+:10FE80000000000000000000000000000000000072
+:10FE90000000000000000000000000000000000062
+:10FEA0000000000000000000000000000000000052
+:10FEB0000000000000000000000000000000000240
+:10FEC0000202020202020202020202020202000016
+:10FED0000101010101010101010101010101010013
+:10FEE0000000000000000000000000000000000012
+:10FEF0000000000000000000000000000000000002
+:10FF000000000000000000000000000000000000F1
+:10FF100000000000000000000000000000000000E1
+:10FF200000000000000000000000000000000000D1
+:10FF300000000000000000000000000000000000C1
+:10FF400000000000000000000000000000000000B1
+:10FF500000000000000000000000000000000000A1
+:10FF60000000000000000000000000000000000091
+:10FF70000000000000000000000000000000000081
+:10FF80000000000000000000000000000000000071
+:10FF90000000000000000000000000000000000061
+:10FFA0000000000000000000000000000000000051
+:10FFB000000000000000000000000000000000023F
+:10FFC0000202020202020202020202020202000015
+:10FFD0000000000000000000000000000000000021
+:10FFE0000000000000000000000000000000000011
+:10FFF0000000000000000000000000000000000001
+:0200000280007C
+:1000000000000000000000000000000000000000F0
+:1000100000000000000000000000000000000000E0
+:1000200000000000000000000000000000000000D0
+:1000300000000000000000000000000000000000C0
+:1000400000000000000000000000000000000000B0
+:1000500000000000000000000000000000000000A0
+:100060000000000000000000000000000000000090
+:100070000000000000000000000000000000000080
+:100080000000000000000000000000000000000070
+:100090000000000000000000000000000000000060
+:1000A0000000000000000000000000000000000050
+:1000B0000000000000000000000000000000000040
+:1000C0000000000000000000000000000000002A06
+:1000D0000000000000000000000000000000000020
+:1000E000000000000000010000000000000000000F
+:1000F0000000000000000000000000000000000000
+:1001000000000000000000000000000000000000EF
+:1001100000000000000000000000000000000000DF
+:1001200000000000000000000000000000000000CF
+:1001300000000000000000000000000000000000BF
+:1001400000000000000000000000000000000000AF
+:10015000000000000000000000000000000000009F
+:10016000000000000000000000000000000000008F
+:10017000000000000000000000000000000000007F
+:10018000000000000000000000000000000000006F
+:10019000000000000000000000000000000000005F
+:1001A000000000000000000000000000000000004F
+:1001B000000000000000000000000000000000003F
+:1001C000000000000000000200000000000000002D
+:1001D000000000000000000000000000000000001F
+:1001E000000000000000010000000000000000000E
+:1001F00000000000000000000000000000000000FF
+:1002000000000000000000000000000000000000EE
+:1002100000000000000000000000000000000000DE
+:1002200000000000000000000000000000000000CE
+:1002300000000000000000000000000000000000BE
+:1002400000000000000000000000000000000000AE
+:10025000000000000000000000000000000000009E
+:10026000000000000000000000000000000000008E
+:10027000000000000000000000000000000000007E
+:10028000000000000000000000000000000000006E
+:10029000000000000000000000000000000000005E
+:1002A000000000000000000000000000000000004E
+:1002B000000000000000000000000000000000003E
+:1002C000000000000000000200000000000000002C
+:1002D000000000010000000000000000000000001D
+:1002E000000000000000010000000000000000000D
+:1002F00000000000000000000000000000000000FE
+:1003000000000000000000000000000000000000ED
+:1003100000000000000000000000000000000000DD
+:1003200000000000000000000000000000000000CD
+:1003300000000000000000000000000000000000BD
+:1003400000000000000000000000000000000000AD
+:10035000000000000000000000000000000000009D
+:10036000000000000000000000000000000000008D
+:10037000000000000000000000000000000000007D
+:10038000000000000000000000000000000000006D
+:10039000000000000000000000000000000000005D
+:1003A000000000000000000000000000000000004D
+:1003B000000000000000000000000000000000003D
+:1003C000000000000000000200000000000000002B
+:1003D000000001010000000000000000000000001B
+:1003E000000000000000010000000000000000000C
+:1003F00000000000000000000000000000000000FD
+:1004000000000000000000000000000000000000EC
+:1004100000000000000000000000000000000000DC
+:1004200000000000000000000000000000000000CC
+:1004300000000000000000000000000000000000BC
+:1004400000000000000000000000000000000000AC
+:10045000000000000000000000000000000000009C
+:10046000000000000000000000000000000000008C
+:10047000000000000000000000000000000000007C
+:10048000000000000000000000000000000000006C
+:10049000000000000000000000000000000000005C
+:1004A000000000000000000000000000000000004C
+:1004B000000000000000000000000000000000003C
+:1004C000000000000000000200000000000000002A
+:1004D000000001010000000000000000000000001A
+:1004E000000000000001010000000000000000000A
+:1004F00000000000000000000000000000000000FC
+:1005000000000000000000000000000000000000EB
+:1005100000000000000000000000000000000000DB
+:1005200000000000000000000000000000000000CB
+:1005300000000000000000000000000000000000BB
+:1005400000000000000000000000000000000000AB
+:10055000000000000000000000000000000000009B
+:10056000000000000000000000000000000000008B
+:10057000000000000000000000000000000000007B
+:10058000000000000000000000000000000000006B
+:10059000000000000000000000000000000000005B
+:1005A000000000000000000000000000000000004B
+:1005B000000000000000000000000000000000003B
+:1005C0000000000000000002010000000000000028
+:1005D0000100010101000000000000000000000017
+:1005E0000000000001010100000000000000000008
+:1005F00000000000000000000000000000000000FB
+:1006000000000000000000000000000000000000EA
+:1006100000000000000000000000000000000000DA
+:1006200000000000000000000000000000000000CA
+:1006300000000000000000000000000000000000BA
+:1006400000000000000000000000000000000000AA
+:10065000000000000000000000000000000000009A
+:10066000000000000000000000000000000000008A
+:10067000000000000000000000000000000000007A
+:10068000000000000000000000000000000000006A
+:10069000000000000000000000000000000000005A
+:1006A000000000000000000000000000000000004A
+:1006B000000000000000000000000000000000003A
+:1006C0000000000000000002020000000000000026
+:1006D0000101010101000000000000000000000015
+:1006E0000000000101010100000000000000000006
+:1006F00000000000000000000000000000000000FA
+:1007000000000000000000000000000000000000E9
+:1007100000000000000000000000000000000000D9
+:1007200000000000000000000000000000000000C9
+:1007300000000000000000000000000000000000B9
+:1007400000000000000000000000000000000000A9
+:100750000000000000000000000000000000000099
+:100760000000000000000000000000000000000089
+:100770000000000000000000000000000000000079
+:100780000000000000000000000000000000000069
+:100790000000000000000000000000000000000059
+:1007A0000000000000000000000000000000000049
+:1007B0000000000000000000000000000000000039
+:1007C0000000000000000002020000010100000122
+:1007D0000101010101000000000000000000000014
+:1007E0000000010101010100000000000000000004
+:1007F00000000000000000000000000000000000F9
+:1008000000000000000000000000000000000000E8
+:1008100000000000000000000000000000000000D8
+:1008200000000000000000000000000000000000C8
+:1008300000000000000000000000000000000000B8
+:1008400000000000000000000000000000000000A8
+:100850000000000000000000000000000000000098
+:100860000000000000000000000000000000000088
+:100870000000000000000000000000000000000078
+:100880000000000000000000000000000000000068
+:100890000000000000000000000000000000000058
+:1008A0000000000000000000000000000000000048
+:1008B0000000000000000000000000000000000038
+:1008C000000000000000000202020001010000011F
+:1008D0000101010101010000000000000000000012
+:1008E0000000010101010100000000000000000003
+:1008F00000000000000000000000000000000000F8
+:1009000000000000000000000000000000000000E7
+:1009100000000000000000000000000000000000D7
+:1009200000000000000000000000000000000000C7
+:1009300000000000000000000000000000000000B7
+:1009400000000000000000000000000000000000A7
+:100950000000000000000000000000000000000097
+:100960000000000000000000000000000000000087
+:100970000000000000000000000000000000000077
+:100980000000000000000000000000000000000067
+:100990000000000000000000000000000000000057
+:1009A0000000000000000000000000000000000047
+:1009B0000000000000000000000000000000000037
+:1009C000000000000000000202020001010000011E
+:1009D0000101010101010000000000000000000011
+:1009E0000000010101010100000000000000000002
+:1009F00000000000000000000000000000000000F7
+:100A000000000000000000000000000000000000E6
+:100A100000000000000000000000000000000000D6
+:100A200000000000000000000000000000000000C6
+:100A300000000000000000000000000000000000B6
+:100A400000000000000000000000000000000000A6
+:100A50000000000000000000000000000000000096
+:100A60000000000000000000000000000000000086
+:100A70000000000000000000000000000000000076
+:100A80000000000000000000000000000000000066
+:100A90000000000000000000000000000000000056
+:100AA0000000000000000000000000000000000046
+:100AB0000000000000000000000000000000000036
+:100AC000000000000000000202020001010101011B
+:100AD0000101010101010000000000000000000010
+:100AE0000001010101010100000000000000000000
+:100AF00000000000000000000000000000000000F6
+:100B000000000000000000000000000000000000E5
+:100B100000000000000000000000000000000000D5
+:100B200000000000000000000000000000000000C5
+:100B300000000000000000000000000000000000B5
+:100B400000000000000000000000000000000000A5
+:100B50000000000000000000000000000000000095
+:100B60000000000000000000000000000000000085
+:100B70000000000000000000000000000000000075
+:100B80000000000000000000000000000000000065
+:100B90000000000000000000000000000000000055
+:100BA0000000000000000000000000000000000045
+:100BB0000000000000000000000000000000000035
+:100BC000000000000000000202020001010101011A
+:100BD000010101010101000000000000000000000F
+:100BE00001010101010101000000000000000000FE
+:100BF00000000000000000000000000000000000F5
+:100C000000000000000000000000000000000000E4
+:100C100000000000000000000000000000000000D4
+:100C200000000000000000000000000000000000C4
+:100C300000000000000000000000000000000000B4
+:100C400000000000000000000000000000000000A4
+:100C50000000000000000000000000000000000094
+:100C60000000000000000000000000000000000084
+:100C70000000000000000000000000000000000074
+:100C80000000000000000000000000000000000064
+:100C90000000000000000000000000000000000054
+:100CA0000000000000000000000000000000000044
+:100CB0000000000000000000000000000000000034
+:100CC0000000000000000002020202010101010117
+:100CD000010101010101000000000000000000000E
+:100CE00001010101010101000000000000000000FD
+:100CF00000000000000000000000000000000000F4
+:100D000000000000000000000000000000000000E3
+:100D100000000000000000000000000000000000D3
+:100D200000000000000000000000000000000000C3
+:100D300000000000000000000000000000000000B3
+:100D400000000000000000000000000000000000A3
+:100D50000000000000000000000000000000000093
+:100D60000000000000000000000000000000000083
+:100D70000000000000000000000000000000000073
+:100D80000000000000000000000000000000000063
+:100D90000000000000000000000000000000000053
+:100DA0000000000000000000000000000000000043
+:100DB0000000000000000000000000000000000033
+:100DC0000000000000000002020202020101010115
+:100DD000010101010101000000000000000000010C
+:100DE00001010101010101000000000000000000FC
+:100DF00000000000000000000000000000000000F3
+:100E000000000000000000000000000000000000E2
+:100E100000000000000000000000000000000000D2
+:100E200000000000000000000000000000000000C2
+:100E300000000000000000000000000000000000B2
+:100E400000000000000000000000000000000000A2
+:100E50000000000000000000000000000000000092
+:100E60000000000000000000000000000000000082
+:100E70000000000000000000000000000000000072
+:100E80000000000000000000000000000000000062
+:100E90000000000000000000000000000000000052
+:100EA0000000000000000000000000000000000042
+:100EB0000000000000000000000000000000000032
+:100EC0000000000000000002020202020101010114
+:100ED000010101010101000000000000000000010B
+:100EE00001010101010101000000000000000000FB
+:100EF00000000000000000000000000000000000F2
+:100F000000000000000000000000000000000000E1
+:100F100000000000000000000000000000000000D1
+:100F200000000000000000000000000000000000C1
+:100F300000000000000000000000000000000000B1
+:100F400000000000000000000000000000000000A1
+:100F50000000000000000000000000000000000091
+:100F60000000000000000000000000000000000081
+:100F70000000000000000000000000000000000071
+:100F80000000000000000000000000000000000061
+:100F90000000000000000000000000000000000051
+:100FA0000000000000000000000000000000000041
+:100FB0000000000000000000000000000000000031
+:100FC0000000000000000002020202020201010112
+:100FD000010101010101000000000000000000010A
+:100FE00001010101010101000000000000000000FA
+:100FF00000000000000000000000000000000000F1
+:1010000000000000000000000000000000000000E0
+:1010100000000000000000000000000000000000D0
+:1010200000000000000000000000000000000000C0
+:1010300000000000000000000000000000000000B0
+:1010400000000000000000000000000000000000A0
+:101050000000000000000000000000000000000090
+:101060000000000000000000000000000000000080
+:101070000000000000000000000000000000000070
+:101080000000000000000000000000000000000060
+:101090000000000000000000000000000000000050
+:1010A0000000000000000000000000000000000040
+:1010B0000000000000000000000000000000000030
+:1010C0000000000000000002020202020201010111
+:1010D0000101010101010000000000000000010108
+:1010E00001010101010101000000000000000000F9
+:1010F00000000000000000000000000000000000F0
+:1011000000000000000000000000000000000000DF
+:1011100000000000000000000000000000000000CF
+:1011200000000000000000000000000000000000BF
+:1011300000000000000000000000000000000000AF
+:10114000000000000000000000000000000000009F
+:10115000000000000000000000000000000000008F
+:10116000000000000000000000000000000000007F
+:10117000000000000000000000000000000000006F
+:10118000000000000000000000000000000000005F
+:10119000000000000000000000000000000000004F
+:1011A000000000000000000000000000000000003F
+:1011B000000000000000000000000000000000002F
+:1011C000000000000000000202020202020201010F
+:1011D0000101010101010000000000000000010107
+:1011E00001010101010101000000000000000000F8
+:1011F00000000000000000000000000000000000EF
+:1012000000000000000000000000000000000000DE
+:1012100000000000000000000000000000000000CE
+:1012200000000000000000000000000000000000BE
+:1012300000000000000000000000000000000000AE
+:10124000000000000000000000000000000000009E
+:10125000000000000000000000000000000000008E
+:10126000000000000000000000000000000000007E
+:10127000000000000000000000000000000000006E
+:10128000000000000000000000000000000000005E
+:10129000000000000000000000000000000000004E
+:1012A000000000000000000000000000000000003E
+:1012B000000000000000000000000000000000002E
+:1012C000000000000000000202020202020202020C
+:1012D0000201010101010000000000000001010104
+:1012E00001010101010101000000000000000000F7
+:1012F00000000000000000000000000000000000EE
+:1013000000000000000000000000000000000000DD
+:1013100000000000000000000000000000000000CD
+:1013200000000000000000000000000000000000BD
+:1013300000000000000000000000000000000000AD
+:10134000000000000000000000000000000000009D
+:10135000000000000000000000000000000000008D
+:10136000000000000000000000000000000000007D
+:10137000000000000000000000000000000000006D
+:10138000000000000000000000000000000000005D
+:10139000000000000000000000000000000000004D
+:1013A000000000000000000000000000000000003D
+:1013B000000000000000000000000000000000002D
+:1013C000000000000000000202020202020202020B
+:1013D00002020202010100000000000001010101FF
+:1013E00001010101010101000000000000000000F6
+:1013F00000000000000000000000000000000000ED
+:1014000000000000000000000000000000000000DC
+:1014100000000000000000000000000000000000CC
+:1014200000000000000000000000000000000000BC
+:1014300000000000000000000000000000000000AC
+:10144000000000000000000000000000000000009C
+:10145000000000000000000000000000000000008C
+:10146000000000000000000000000000000000007C
+:10147000000000000000000000000000000000006C
+:10148000000000000000000000000000000000005C
+:10149000000000000000000000000000000000004C
+:1014A000000000000000000000000000000000003C
+:1014B000000000000000000000000000000000002C
+:1014C000000000000000000202020202020202020A
+:1014D00002020202010100000000000001010101FE
+:1014E00001010101010101000000000000000000F5
+:1014F00000000000000000000000000000000000EC
+:1015000000000000000000000000000000000000DB
+:1015100000000000000000000000000000000000CB
+:1015200000000000000000000000000000000000BB
+:1015300000000000000000000000000000000000AB
+:10154000000000000000000000000000000000009B
+:10155000000000000000000000000000000000008B
+:10156000000000000000000000000000000000007B
+:10157000000000000000000000000000000000006B
+:10158000000000000000000000000000000000005B
+:10159000000000000000000000000000000000004B
+:1015A000000000000000000000000000000000003B
+:1015B000000000000000000000000000000000002B
+:1015C0000000000000000002020202020202020209
+:1015D00002020202020100000000000001010101FC
+:1015E00001010101010101000000000000000000F4
+:1015F00000000000000000000000000000000000EB
+:1016000000000000000000000000000000000000DA
+:1016100000000000000000000000000000000000CA
+:1016200000000000000000000000000000000000BA
+:1016300000000000000000000000000000000000AA
+:10164000000000000000000000000000000000009A
+:10165000000000000000000000000000000000008A
+:10166000000000000000000000000000000000007A
+:10167000000000000000000000000000000000006A
+:10168000000000000000000000000000000000005A
+:10169000000000000000000000000000000000004A
+:1016A000000000000000000000000000000000003A
+:1016B000000000000000000000000000000000002A
+:1016C0000000000000000002020202020202020208
+:1016D00002020202020100000000000001010101FB
+:1016E00001010101010101000000000000000000F3
+:1016F00000000000000000000000000000000000EA
+:1017000000000000000000000000000000000000D9
+:1017100000000000000000000000000000000000C9
+:1017200000000000000000000000000000000000B9
+:1017300000000000000000000000000000000000A9
+:101740000000000000000000000000000000000099
+:101750000000000000000000000000000000000089
+:101760000000000000000000000000000000000079
+:101770000000000000000000000000000000000069
+:101780000000000000000000000000000000000059
+:101790000000000000000000000000000000000049
+:1017A0000000000000000000000000000000000039
+:1017B0000000000000000000000000000000000029
+:1017C0000000000000000002020202020202020207
+:1017D00002020202020200000000000101010101F8
+:1017E00001010101010101000000000000000000F2
+:1017F00000000000000000000000000000000000E9
+:1018000000000000000000000000000000000000D8
+:1018100000000000000000000000000000000000C8
+:1018200000000000000000000000000000000000B8
+:1018300000000000000000000000000000000000A8
+:101840000000000000000000000000000000000098
+:101850000000000000000000000000000000000088
+:101860000000000000000000000000000000000078
+:101870000000000000000000000000000000000068
+:101880000000000000000000000000000000000058
+:101890000000000000000000000000000000000048
+:1018A0000000000000000000000000000000000038
+:1018B0000000000000000000000000000000000028
+:1018C0000000000000000002020202020202020206
+:1018D00002020202020200000000000101010101F7
+:1018E00001010101010101000000000000000000F1
+:1018F00000000000000000000000000000000000E8
+:1019000000000000000000000000000000000000D7
+:1019100000000000000000000000000000000000C7
+:1019200000000000000000000000000000000000B7
+:1019300000000000000000000000000000000000A7
+:101940000000000000000000000000000000000097
+:101950000000000000000000000000000000000087
+:101960000000000000000000000000000000000077
+:101970000000000000000000000000000000000067
+:101980000000000000000000000000000000000057
+:101990000000000000000000000000000000000047
+:1019A0000000000000000000000000000000000037
+:1019B0000000000000000000000000000000000027
+:1019C0000000000000000002020202020202020205
+:1019D00002020202020200000000000101010101F6
+:1019E00001010101010101000000000000000000F0
+:1019F00000000000000000000000000000000000E7
+:101A000000000000000000000000000000000000D6
+:101A100000000000000000000000000000000000C6
+:101A200000000000000000000000000000000000B6
+:101A300000000000000000000000000000000000A6
+:101A40000000000000000000000000000000000096
+:101A50000000000000000000000000000000000086
+:101A60000000000000000000000000000000000076
+:101A70000000000000000000000000000000000066
+:101A80000000000000000000000000000000000056
+:101A90000000000000000000000000000000000046
+:101AA0000000000000000000000000000000000036
+:101AB0000000000000000000000000000000000026
+:101AC0000000000000000002020202020202020204
+:101AD00002020202020200000000000101010101F5
+:101AE00001010101010101000000000000000000EF
+:101AF00000000000000000000000000000000000E6
+:101B000000000000000000000000000000000000D5
+:101B100000000000000000000000000000000000C5
+:101B200000000000000000000000000000000000B5
+:101B300000000000000000000000000000000000A5
+:101B40000000000000000000000000000000000095
+:101B50000000000000000000000000000000000085
+:101B60000000000000000000000000000000000075
+:101B70000000000000000000000000000000000065
+:101B80000000000000000000000000000000000055
+:101B90000000000000000000000000000000000045
+:101BA0000000000000000000000000000000000035
+:101BB0000000000000000000000000000000000025
+:101BC0000000000000000002020202020202020203
+:101BD00002020202020200000000000101010101F4
+:101BE00001010101010101000000000000000000EE
+:101BF00000000000000000000000000000000000E5
+:101C000000000000000000000000000000000000D4
+:101C100000000000000000000000000000000000C4
+:101C200000000000000000000000000000000000B4
+:101C300000000000000000000000000000000000A4
+:101C40000000000000000000000000000000000094
+:101C50000000000000000000000000000000000084
+:101C60000000000000000000000000000000000074
+:101C70000000000000000000000000000000000064
+:101C80000000000000000000000000000000000054
+:101C90000000000000000000000000000000000044
+:101CA0000000000000000000000000000000000034
+:101CB0000000000000000000000000000000000024
+:101CC0000000000000000002020202020202020202
+:101CD00002020202020200000000000101010101F3
+:101CE00001010101010101000000000000000000ED
+:101CF00000000000000000000000000000000000E4
+:101D000000000000000000000000000000000000D3
+:101D100000000000000000000000000000000000C3
+:101D200000000000000000000000000000000000B3
+:101D300000000000000000000000000000000000A3
+:101D40000000000000000000000000000000000093
+:101D50000000000000000000000000000000000083
+:101D60000000000000000000000000000000000073
+:101D70000000000000000000000000000000000063
+:101D80000000000000000000000000000000000053
+:101D90000000000000000000000000000000000043
+:101DA0000000000000000000000000000000000033
+:101DB0000000000000000000000000000000000023
+:101DC0000000000000000002020202020202020201
+:101DD00002020202020200000000000101010101F2
+:101DE00001010101010101000000000000000000EC
+:101DF00000000000000000000000000000000000E3
+:101E000000000000000000000000000000000000D2
+:101E100000000000000000000000000000000000C2
+:101E200000000000000000000000000000000000B2
+:101E300000000000000000000000000000000000A2
+:101E40000000000000000000000000000000000092
+:101E50000000000000000000000000000000000082
+:101E60000000000000000000000000000000000072
+:101E70000000000000000000000000000000000062
+:101E80000000000000000000000000000000000052
+:101E90000000000000000000000000000000000042
+:101EA0000000000000000000000000000000000032
+:101EB0000000000000000000000000000000000022
+:101EC0000000000000000002020202020202020200
+:101ED00002020202020200000000010101010101F0
+:101EE00001010101010101000000000000000000EB
+:101EF00000000000000000000000000000000000E2
+:101F000000000000000000000000000000000000D1
+:101F100000000000000000000000000000000000C1
+:101F200000000000000000000000000000000000B1
+:101F300000000000000000000000000000000000A1
+:101F40000000000000000000000000000000000091
+:101F50000000000000000000000000000000000081
+:101F60000000000000000000000000000000000071
+:101F70000000000000000000000000000000000061
+:101F80000000000000000000000000000000000051
+:101F90000000000000000000000000000000000041
+:101FA0000000000000000000000000000000000031
+:101FB0000000000000000000000000000000000021
+:101FC00000000000000000020202020202020202FF
+:101FD00002020202020200000000010101010101EF
+:101FE00001010101010101000000000000000000EA
+:101FF00000000000000000000000000000000000E1
+:1020000000000000000000000000000000000000D0
+:1020100000000000000000000000000000000000C0
+:1020200000000000000000000000000000000000B0
+:1020300000000000000000000000000000000000A0
+:102040000000000000000000000000000000000090
+:102050000000000000000000000000000000000080
+:102060000000000000000000000000000000000070
+:102070000000000000000000000000000000000060
+:102080000000000000000000000000000000000050
+:102090000000000000000000000000000000000040
+:1020A0000000000000000000000000000000000030
+:1020B0000000000000000000000000000000000020
+:1020C00000000000000000020202020202020202FE
+:1020D00002020202020200000000010101010101EE
+:1020E00001010101010101000000000000000000E9
+:1020F00000000000000000000000000000000000E0
+:1021000000000000000000000000000000000000CF
+:1021100000000000000000000000000000000000BF
+:1021200000000000000000000000000000000000AF
+:10213000000000000000000000000000000000009F
+:10214000000000000000000000000000000000008F
+:10215000000000000000000000000000000000007F
+:10216000000000000000000000000000000000006F
+:10217000000000000000000000000000000000005F
+:10218000000000000000000000000000000000004F
+:10219000000000000000000000000000000000003F
+:1021A000000000000000000000000000000000002F
+:1021B000000000000000000000000000000000001F
+:1021C00000000000000000020202020202020202FD
+:1021D00002020202020200000000010101010101ED
+:1021E00001010101010101000000000000000000E8
+:1021F00000000000000000000000000000000000DF
+:1022000000000000000000000000000000000000CE
+:1022100000000000000000000000000000000000BE
+:1022200000000000000000000000000000000000AE
+:10223000000000000000000000000000000000009E
+:10224000000000000000000000000000000000008E
+:10225000000000000000000000000000000000007E
+:10226000000000000000000000000000000000006E
+:10227000000000000000000000000000000000005E
+:10228000000000000000000000000000000000004E
+:10229000000000000000000000000000000000003E
+:1022A000000000000000000000000000000000002E
+:1022B000000000000000000000000000000000001E
+:1022C00000000000000000020202020202020202FC
+:1022D00002020202020200000001010101010101EB
+:1022E00001010101010101000000000000000000E7
+:1022F00000000000000000000000000000000000DE
+:1023000000000000000000000000000000000000CD
+:1023100000000000000000000000000000000000BD
+:1023200000000000000000000000000000000000AD
+:10233000000000000000000000000000000000009D
+:10234000000000000000000000000000000000008D
+:10235000000000000000000000000000000000007D
+:10236000000000000000000000000000000000006D
+:10237000000000000000000000000000000000005D
+:10238000000000000000000000000000000000004D
+:10239000000000000000000000000000000000003D
+:1023A000000000000000000000000000000000002D
+:1023B000000000000000000000000000000000001D
+:1023C00000000000000000020202020202020202FB
+:1023D00002020202020200000101010101010101E9
+:1023E00001010101010101000000000000000000E6
+:1023F00000000000000000000000000000000000DD
+:1024000000000000000000000000000000000000CC
+:1024100000000000000000000000000000000000BC
+:1024200000000000000000000000000000000000AC
+:10243000000000000000000000000000000000009C
+:10244000000000000000000000000000000000008C
+:10245000000000000000000000000000000000007C
+:10246000000000000000000000000000000000006C
+:10247000000000000000000000000000000000005C
+:10248000000000000000000000000000000000004C
+:10249000000000000000000000000000000000003C
+:1024A000000000000000000000000000000000002C
+:1024B000000000000000000000000000000000001C
+:1024C00000000000000000020202020202020202FA
+:1024D00002020202020200000101010101010101E8
+:1024E00001010101010101000000000000000000E5
+:1024F00000000000000000000000000000000000DC
+:1025000000000000000000000000000000000000CB
+:1025100000000000000000000000000000000000BB
+:1025200000000000000000000000000000000000AB
+:10253000000000000000000000000000000000009B
+:10254000000000000000000000000000000000008B
+:10255000000000000000000000000000000000007B
+:10256000000000000000000000000000000000006B
+:10257000000000000000000000000000000000005B
+:10258000000000000000000000000000000000004B
+:10259000000000000000000000000000000000003B
+:1025A000000000000000000000000000000000002B
+:1025B000000000000000000000000000000000001B
+:1025C00000000000000000020202020202020202F9
+:1025D00002020202020200000101010101010101E7
+:1025E00001010101010101000000000000000000E4
+:1025F00000000000000000000000000000000000DB
+:1026000000000000000000000000000000000000CA
+:1026100000000000000000000000000000000000BA
+:1026200000000000000000000000000000000000AA
+:10263000000000000000000000000000000000009A
+:10264000000000000000000000000000000000008A
+:10265000000000000000000000000000000000007A
+:10266000000000000000000000000000000000006A
+:10267000000000000000000000000000000000005A
+:10268000000000000000000000000000000000004A
+:10269000000000000000000000000000000000003A
+:1026A000000000000000000000000000000000002A
+:1026B000000000000000000000000000000000001A
+:1026C00000000000000000020202020202020202F8
+:1026D00002020202020200000101010101010101E6
+:1026E00001010101010101000000000000000000E3
+:1026F00000000000000000000000000000000000DA
+:1027000000000000000000000000000000000000C9
+:1027100000000000000000000000000000000000B9
+:1027200000000000000000000000000000000000A9
+:102730000000000000000000000000000000000099
+:102740000000000000000000000000000000000089
+:102750000000000000000000000000000000000079
+:102760000000000000000000000000000000000069
+:102770000000000000000000000000000000000059
+:102780000000000000000000000000000000000049
+:102790000000000000000000000000000000000039
+:1027A0000000000000000000000000000000000029
+:1027B0000000000000000000000000000000000019
+:1027C00000000000000000020202020202020202F7
+:1027D00002020202020200000101010101010101E5
+:1027E00001010101010101000000000000000000E2
+:1027F00000000000000000000000000000000000D9
+:1028000000000000000000000000000000000000C8
+:1028100000000000000000000000000000000000B8
+:1028200000000000000000000000000000000000A8
+:102830000000000000000000000000000000000098
+:102840000000000000000000000000000000000088
+:102850000000000000000000000000000000000078
+:102860000000000000000000000000000000000068
+:102870000000000000000000000000000000000058
+:102880000000000000000000000000000000000048
+:102890000000000000000000000000000000000038
+:1028A0000000000000000000000000000000000028
+:1028B0000000000000000000000000000000000018
+:1028C00000000000000000020202020202020202F6
+:1028D00002020202020200000101010101010101E4
+:1028E00001010101010101000000000000000000E1
+:1028F00000000000000000000000000000000000D8
+:1029000000000000000000000000000000000000C7
+:1029100000000000000000000000000000000000B7
+:1029200000000000000000000000000000000000A7
+:102930000000000000000000000000000000000097
+:102940000000000000000000000000000000000087
+:102950000000000000000000000000000000000077
+:102960000000000000000000000000000000000067
+:102970000000000000000000000000000000000057
+:102980000000000000000000000000000000000047
+:102990000000000000000000000000000000000037
+:1029A0000000000000000000000000000000000027
+:1029B0000000000000000000000000000000000017
+:1029C00000000000000000020202020202020202F5
+:1029D00002020202020200000000000000000000EB
+:1029E00000000000000000000000000000000000E7
+:1029F00000000000000000000000000000000000D7
+:102A000000000000000000000000000000000000C6
+:102A100000000000000000000000000000000000B6
+:102A200000000000000000000000000000000000A6
+:102A30000000000000000000000000000000000096
+:102A40000000000000000000000000000000000086
+:102A50000000000000000000000000000000000076
+:102A60000000000000000000000000000000000066
+:102A70000000000000000000000000000000000056
+:102A80000000000000000000000000000000000046
+:102A90000000000000000000000000000000000036
+:102AA0000000000000000000000000000000000026
+:102AB0000000000000000000000000000000000016
+:102AC0000000000000000000000000000000000006
+:102AD00000000000000000220000000000000000D4
+:102AE00000000000000000000000000000000100E5
+:102AF00000000000000000000000000000000000D6
+:102B000000000000000000000000000000000000C5
+:102B100000000000000000000000000000000000B5
+:102B200000000000000000000000000000000000A5
+:102B30000000000000000000000000000000000095
+:102B40000000000000000000000000000000000085
+:102B50000000000000000000000000000000000075
+:102B60000000000000000000000000000000000065
+:102B70000000000000000000000000000000000055
+:102B80000000000000000000000000000000000045
+:102B90000000000000000000000000000000000035
+:102BA0000000000000000000000000000000000025
+:102BB0000000000000000000000000000000000015
+:102BC0000000000000000000000000000000000203
+:102BD00000000000000000000000000000000000F5
+:102BE00000000000000000000000000000010100E3
+:102BF00000000000000000000000000000000000D5
+:102C000000000000000000000000000000000000C4
+:102C100000000000000000000000000000000000B4
+:102C200000000000000000000000000000000000A4
+:102C30000000000000000000000000000000000094
+:102C40000000000000000000000000000000000084
+:102C50000000000000000000000000000000000074
+:102C60000000000000000000000000000000000064
+:102C70000000000000000000000000000000000054
+:102C80000000000000000000000000000000000044
+:102C90000000000000000000000000000000000034
+:102CA0000000000000000000000000000000000024
+:102CB0000000000000000000000000000000000014
+:102CC0000000000000000000000000000000000202
+:102CD00000000000000000000000000000000000F4
+:102CE00000000000000000000000000000010100E2
+:102CF00000000000000000000000000000000000D4
+:102D000000000000000000000000000000000000C3
+:102D100000000000000000000000000000000000B3
+:102D200000000000000000000000000000000000A3
+:102D30000000000000000000000000000000000093
+:102D40000000000000000000000000000000000083
+:102D50000000000000000000000000000000000073
+:102D60000000000000000000000000000000000063
+:102D70000000000000000000000000000000000053
+:102D80000000000000000000000000000000000043
+:102D90000000000000000000000000000000000033
+:102DA0000000000000000000000000000000000023
+:102DB0000000000000000000000000000000000013
+:102DC0000000000000000000000000000000000201
+:102DD00002000000000000000000000000000000F1
+:102DE00000000000000000000000000001010100E0
+:102DF00000000000000000000000000000000000D3
+:102E000000000000000000000000000000000000C2
+:102E100000000000000000000000000000000000B2
+:102E200000000000000000000000000000000000A2
+:102E30000000000000000000000000000000000092
+:102E40000000000000000000000000000000000082
+:102E50000000000000000000000000000000000072
+:102E60000000000000000000000000000000000062
+:102E70000000000000000000000000000000000052
+:102E80000000000000000000000000000000000042
+:102E90000000000000000000000000000000000032
+:102EA0000000000000000000000000000000000022
+:102EB0000000000000000000000000000000000012
+:102EC0000000000000000000000000000000000200
+:102ED00002000000000000000000000000000000F0
+:102EE00000000000000000000000000101010100DE
+:102EF00000000000000000000000000000000000D2
+:102F000000000000000000000000000000000000C1
+:102F100000000000000000000000000000000000B1
+:102F200000000000000000000000000000000000A1
+:102F30000000000000000000000000000000000091
+:102F40000000000000000000000000000000000081
+:102F50000000000000000000000000000000000071
+:102F60000000000000000000000000000000000061
+:102F70000000000000000000000000000000000051
+:102F80000000000000000000000000000000000041
+:102F90000000000000000000000000000000000031
+:102FA0000000000000000000000000000000000021
+:102FB0000000000000000000000000000000000011
+:102FC00000000000000000000000000000000002FF
+:102FD00002000000000000000000000000010000EE
+:102FE00000000000000000000000010101010100DC
+:102FF00000000000000000000000000000000000D1
+:1030000000000000000000000000000000000000C0
+:1030100000000000000000000000000000000000B0
+:1030200000000000000000000000000000000000A0
+:103030000000000000000000000000000000000090
+:103040000000000000000000000000000000000080
+:103050000000000000000000000000000000000070
+:103060000000000000000000000000000000000060
+:103070000000000000000000000000000000000050
+:103080000000000000000000000000000000000040
+:103090000000000000000000000000000000000030
+:1030A0000000000000000000000000000000000020
+:1030B0000000000000000000000000000000000010
+:1030C00000000000000000000000000000000002FE
+:1030D00002000000000000000000000000010000ED
+:1030E00000000000000000000000010101010100DB
+:1030F00000000000000000000000000000000000D0
+:1031000000000000000000000000000000000000BF
+:1031100000000000000000000000000000000000AF
+:10312000000000000000000000000000000000009F
+:10313000000000000000000000000000000000008F
+:10314000000000000000000000000000000000007F
+:10315000000000000000000000000000000000006F
+:10316000000000000000000000000000000000005F
+:10317000000000000000000000000000000000004F
+:10318000000000000000000000000000000000003F
+:10319000000000000000000000000000000000002F
+:1031A000000000000000000000000000000000001F
+:1031B000000000000000000000000000000000000F
+:1031C00000000000000000000000000000000002FD
+:1031D00002000000000000000000000000010000EC
+:1031E00000000000000000000101010101010100D8
+:1031F00000000000000000000000000000000000CF
+:1032000000000000000000000000000000000000BE
+:1032100000000000000000000000000000000000AE
+:10322000000000000000000000000000000000009E
+:10323000000000000000000000000000000000008E
+:10324000000000000000000000000000000000007E
+:10325000000000000000000000000000000000006E
+:10326000000000000000000000000000000000005E
+:10327000000000000000000000000000000000004E
+:10328000000000000000000000000000000000003E
+:10329000000000000000000000000000000000002E
+:1032A000000000000000000000000000000000001E
+:1032B000000000000000000000000000000000000E
+:1032C00000000000000000000000000000000002FC
+:1032D00002000000000000000000000000010000EB
+:1032E00000000000000000000101010101010100D7
+:1032F00000000000000000000000000000000000CE
+:1033000000000000000000000000000000000000BD
+:1033100000000000000000000000000000000000AD
+:10332000000000000000000000000000000000009D
+:10333000000000000000000000000000000000008D
+:10334000000000000000000000000000000000007D
+:10335000000000000000000000000000000000006D
+:10336000000000000000000000000000000000005D
+:10337000000000000000000000000000000000004D
+:10338000000000000000000000000000000000003D
+:10339000000000000000000000000000000000002D
+:1033A000000000000000000000000000000000001D
+:1033B000000000000000000000000000000000000D
+:1033C00000000000000000000000000000000002FB
+:1033D00002000000000000000100010000010000E8
+:1033E00000000000000000010101010101010100D5
+:1033F00000000000000000000000000000000000CD
+:1034000000000000000000000000000000000000BC
+:1034100000000000000000000000000000000000AC
+:10342000000000000000000000000000000000009C
+:10343000000000000000000000000000000000008C
+:10344000000000000000000000000000000000007C
+:10345000000000000000000000000000000000006C
+:10346000000000000000000000000000000000005C
+:10347000000000000000000000000000000000004C
+:10348000000000000000000000000000000000003C
+:10349000000000000000000000000000000000002C
+:1034A000000000000000000000000000000000001C
+:1034B000000000000000000000000000000000000C
+:1034C00000000000000000000000000000000002FA
+:1034D00002000000000000000100010000010000E7
+:1034E00000000000000000010101010101010100D4
+:1034F00000000000000000000000000000000000CC
+:1035000000000000000000000000000000000000BB
+:1035100000000000000000000000000000000000AB
+:10352000000000000000000000000000000000009B
+:10353000000000000000000000000000000000008B
+:10354000000000000000000000000000000000007B
+:10355000000000000000000000000000000000006B
+:10356000000000000000000000000000000000005B
+:10357000000000000000000000000000000000004B
+:10358000000000000000000000000000000000003B
+:10359000000000000000000000000000000000002B
+:1035A000000000000000000000000000000000001B
+:1035B000000000000000000000000000000000000B
+:1035C00000000000000000000000000000000002F9
+:1035D00002020000000000010101010000010000E2
+:1035E00000000000000001010101010101010100D2
+:1035F00000000000000000000000000000000000CB
+:1036000000000000000000000000000000000000BA
+:1036100000000000000000000000000000000000AA
+:10362000000000000000000000000000000000009A
+:10363000000000000000000000000000000000008A
+:10364000000000000000000000000000000000007A
+:10365000000000000000000000000000000000006A
+:10366000000000000000000000000000000000005A
+:10367000000000000000000000000000000000004A
+:10368000000000000000000000000000000000003A
+:10369000000000000000000000000000000000002A
+:1036A000000000000000000000000000000000001A
+:1036B000000000000000000000000000000000000A
+:1036C00000000000000000000000000000000002F8
+:1036D00002020200000000010101010100010000DE
+:1036E00000000000000001010101010101010100D1
+:1036F00000000000000000000000000000000000CA
+:1037000000000000000000000000000000000000B9
+:1037100000000000000000000000000000000000A9
+:103720000000000000000000000000000000000099
+:103730000000000000000000000000000000000089
+:103740000000000000000000000000000000000079
+:103750000000000000000000000000000000000069
+:103760000000000000000000000000000000000059
+:103770000000000000000000000000000000000049
+:103780000000000000000000000000000000000039
+:103790000000000000000000000000000000000029
+:1037A0000000000000000000000000000000000019
+:1037B0000000000000000000000000000000000009
+:1037C00000000000000000000000000000000002F7
+:1037D00002020200000101010101010101010000DA
+:1037E00000000000000101010101010101010100CF
+:1037F00000000000000000000000000000000000C9
+:1038000000000000000000000000000000000000B8
+:1038100000000000000000000000000000000000A8
+:103820000000000000000000000000000000000098
+:103830000000000000000000000000000000000088
+:103840000000000000000000000000000000000078
+:103850000000000000000000000000000000000068
+:103860000000000000000000000000000000000058
+:103870000000000000000000000000000000000048
+:103880000000000000000000000000000000000038
+:103890000000000000000000000000000000000028
+:1038A0000000000000000000000000000000000018
+:1038B0000000000000000000000000000000000008
+:1038C00000000000000000000000000000000002F6
+:1038D00002020201000101010101010101010000D8
+:1038E00000000000000101010101010101010100CE
+:1038F00000000000000000000000000000000000C8
+:1039000000000000000000000000000000000000B7
+:1039100000000000000000000000000000000000A7
+:103920000000000000000000000000000000000097
+:103930000000000000000000000000000000000087
+:103940000000000000000000000000000000000077
+:103950000000000000000000000000000000000067
+:103960000000000000000000000000000000000057
+:103970000000000000000000000000000000000047
+:103980000000000000000000000000000000000037
+:103990000000000000000000000000000000000027
+:1039A0000000000000000000000000000000000017
+:1039B0000000000000000000000000000000000007
+:1039C00000000000000000000000000000000002F5
+:1039D00002020202010101010101010101010000D5
+:1039E00000000000010101010101010101010100CC
+:1039F00000000000000000000000000000000000C7
+:103A000000000000000000000000000000000000B6
+:103A100000000000000000000000000000000000A6
+:103A20000000000000000000000000000000000096
+:103A30000000000000000000000000000000000086
+:103A40000000000000000000000000000000000076
+:103A50000000000000000000000000000000000066
+:103A60000000000000000000000000000000000056
+:103A70000000000000000000000000000000000046
+:103A80000000000000000000000000000000000036
+:103A90000000000000000000000000000000000026
+:103AA0000000000000000000000000000000000016
+:103AB0000000000000000000000000000000000006
+:103AC00000000000000000000000000000000002F4
+:103AD00002020202010101010101010101010000D4
+:103AE00000000000010101010101010101010100CB
+:103AF00000000000000000000000000000000000C6
+:103B000000000000000000000000000000000000B5
+:103B100000000000000000000000000000000000A5
+:103B20000000000000000000000000000000000095
+:103B30000000000000000000000000000000000085
+:103B40000000000000000000000000000000000075
+:103B50000000000000000000000000000000000065
+:103B60000000000000000000000000000000000055
+:103B70000000000000000000000000000000000045
+:103B80000000000000000000000000000000000035
+:103B90000000000000000000000000000000000025
+:103BA0000000000000000000000000000000000015
+:103BB0000000000000000000000000000000000005
+:103BC00000000000000000000000000000000002F3
+:103BD00002020202020201010101010101010000D1
+:103BE00000000000010101010101010101010100CA
+:103BF00000000000000000000000000000000000C5
+:103C000000000000000000000000000000000000B4
+:103C100000000000000000000000000000000000A4
+:103C20000000000000000000000000000000000094
+:103C30000000000000000000000000000000000084
+:103C40000000000000000000000000000000000074
+:103C50000000000000000000000000000000000064
+:103C60000000000000000000000000000000000054
+:103C70000000000000000000000000000000000044
+:103C80000000000000000000000000000000000034
+:103C90000000000000000000000000000000000024
+:103CA0000000000000000000000000000000000014
+:103CB0000000000000000000000000000000000004
+:103CC00000000000000000000000000000000002F2
+:103CD00002020202020202020201010101010000CD
+:103CE00000000001010101010101010101010100C8
+:103CF00000000000000000000000000000000000C4
+:103D000000000000000000000000000000000000B3
+:103D100000000000000000000000000000000000A3
+:103D20000000000000000000000000000000000093
+:103D30000000000000000000000000000000000083
+:103D40000000000000000000000000000000000073
+:103D50000000000000000000000000000000000063
+:103D60000000000000000000000000000000000053
+:103D70000000000000000000000000000000000043
+:103D80000000000000000000000000000000000033
+:103D90000000000000000000000000000000000023
+:103DA0000000000000000000000000000000000013
+:103DB0000000000000000000000000000000000003
+:103DC00000000000000000000000000000000002F1
+:103DD00002020202020202020202020101020000C9
+:103DE00000000001010101010101010101010100C7
+:103DF00000000000000000000000000000000000C3
+:103E000000000000000000000000000000000000B2
+:103E100000000000000000000000000000000000A2
+:103E20000000000000000000000000000000000092
+:103E30000000000000000000000000000000000082
+:103E40000000000000000000000000000000000072
+:103E50000000000000000000000000000000000062
+:103E60000000000000000000000000000000000052
+:103E70000000000000000000000000000000000042
+:103E80000000000000000000000000000000000032
+:103E90000000000000000000000000000000000022
+:103EA0000000000000000000000000000000000012
+:103EB0000000000000000000000000000000000002
+:103EC00000000000000000000000000000000002F0
+:103ED00002020202020202020202020101020000C8
+:103EE00000000001010101010101010101010100C6
+:103EF00000000000000000000000000000000000C2
+:103F000000000000000000000000000000000000B1
+:103F100000000000000000000000000000000000A1
+:103F20000000000000000000000000000000000091
+:103F30000000000000000000000000000000000081
+:103F40000000000000000000000000000000000071
+:103F50000000000000000000000000000000000061
+:103F60000000000000000000000000000000000051
+:103F70000000000000000000000000000000000041
+:103F80000000000000000000000000000000000031
+:103F90000000000000000000000000000000000021
+:103FA0000000000000000000000000000000000011
+:103FB0000000000000000000000000000000000001
+:103FC00000000000000000000000000000000002EF
+:103FD00002020202020202020202020201020000C6
+:103FE00000000001010101010101010101010100C5
+:103FF00000000000000000000000000000000000C1
+:1040000000000000000000000000000000000000B0
+:1040100000000000000000000000000000000000A0
+:104020000000000000000000000000000000000090
+:104030000000000000000000000000000000000080
+:104040000000000000000000000000000000000070
+:104050000000000000000000000000000000000060
+:104060000000000000000000000000000000000050
+:104070000000000000000000000000000000000040
+:104080000000000000000000000000000000000030
+:104090000000000000000000000000000000000020
+:1040A0000000000000000000000000000000000010
+:1040B0000000000000000000000000000000000000
+:1040C00000000000000000000000000000000002EE
+:1040D00002020202020202020202020202020000C4
+:1040E00000000101010101010101010101010100C3
+:1040F00000000000000000000000000000000000C0
+:1041000000000000000000000000000000000000AF
+:10411000000000000000000000000000000000009F
+:10412000000000000000000000000000000000008F
+:10413000000000000000000000000000000000007F
+:10414000000000000000000000000000000000006F
+:10415000000000000000000000000000000000005F
+:10416000000000000000000000000000000000004F
+:10417000000000000000000000000000000000003F
+:10418000000000000000000000000000000000002F
+:10419000000000000000000000000000000000001F
+:1041A000000000000000000000000000000000000F
+:1041B00000000000000000000000000000000000FF
+:1041C00000000000000000000000000000000002ED
+:1041D00002020202020202020202020202020000C3
+:1041E00000010101010101010101010101010100C1
+:1041F00000000000000000000000000000000000BF
+:1042000000000000000000000000000000000000AE
+:10421000000000000000000000000000000000009E
+:10422000000000000000000000000000000000008E
+:10423000000000000000000000000000000000007E
+:10424000000000000000000000000000000000006E
+:10425000000000000000000000000000000000005E
+:10426000000000000000000000000000000000004E
+:10427000000000000000000000000000000000003E
+:10428000000000000000000000000000000000002E
+:10429000000000000000000000000000000000001E
+:1042A000000000000000000000000000000000000E
+:1042B00000000000000000000000000000000000FE
+:1042C00000000000000000000000000000000002EC
+:1042D00002020202020202020202020202020000C2
+:1042E00000010101010101010101010101010100C0
+:1042F00000000000000000000000000000000000BE
+:1043000000000000000000000000000000000000AD
+:10431000000000000000000000000000000000009D
+:10432000000000000000000000000000000000008D
+:10433000000000000000000000000000000000007D
+:10434000000000000000000000000000000000006D
+:10435000000000000000000000000000000000005D
+:10436000000000000000000000000000000000004D
+:10437000000000000000000000000000000000003D
+:10438000000000000000000000000000000000002D
+:10439000000000000000000000000000000000001D
+:1043A000000000000000000000000000000000000D
+:1043B00000000000000000000000000000000000FD
+:1043C00000000000000000000000000000000002EB
+:1043D00002020202020202020202020202020000C1
+:1043E00000010101010101010101010101010100BF
+:1043F00000000000000000000000000000000000BD
+:1044000000000000000000000000000000000000AC
+:10441000000000000000000000000000000000009C
+:10442000000000000000000000000000000000008C
+:10443000000000000000000000000000000000007C
+:10444000000000000000000000000000000000006C
+:10445000000000000000000000000000000000005C
+:10446000000000000000000000000000000000004C
+:10447000000000000000000000000000000000003C
+:10448000000000000000000000000000000000002C
+:10449000000000000000000000000000000000001C
+:1044A000000000000000000000000000000000000C
+:1044B00000000000000000000000000000000000FC
+:1044C00000000000000000000000000000000002EA
+:1044D00002020202020202020202020202020000C0
+:1044E00000010101010101010101010101010100BE
+:1044F00000000000000000000000000000000000BC
+:1045000000000000000000000000000000000000AB
+:10451000000000000000000000000000000000009B
+:10452000000000000000000000000000000000008B
+:10453000000000000000000000000000000000007B
+:10454000000000000000000000000000000000006B
+:10455000000000000000000000000000000000005B
+:10456000000000000000000000000000000000004B
+:10457000000000000000000000000000000000003B
+:10458000000000000000000000000000000000002B
+:10459000000000000000000000000000000000001B
+:1045A000000000000000000000000000000000000B
+:1045B00000000000000000000000000000000000FB
+:1045C00000000000000000000000000000000002E9
+:1045D00002020202020202020202020202020000BF
+:1045E00000010101010101010101010101010100BD
+:1045F00000000000000000000000000000000000BB
+:1046000000000000000000000000000000000000AA
+:10461000000000000000000000000000000000009A
+:10462000000000000000000000000000000000008A
+:10463000000000000000000000000000000000007A
+:10464000000000000000000000000000000000006A
+:10465000000000000000000000000000000000005A
+:10466000000000000000000000000000000000004A
+:10467000000000000000000000000000000000003A
+:10468000000000000000000000000000000000002A
+:10469000000000000000000000000000000000001A
+:1046A000000000000000000000000000000000000A
+:1046B00000000000000000000000000000000000FA
+:1046C00000000000000000000000000000000002E8
+:1046D00002020202020202020202020202020000BE
+:1046E00000010101010101010101010101010100BC
+:1046F00000000000000000000000000000000000BA
+:1047000000000000000000000000000000000000A9
+:104710000000000000000000000000000000000099
+:104720000000000000000000000000000000000089
+:104730000000000000000000000000000000000079
+:104740000000000000000000000000000000000069
+:104750000000000000000000000000000000000059
+:104760000000000000000000000000000000000049
+:104770000000000000000000000000000000000039
+:104780000000000000000000000000000000000029
+:104790000000000000000000000000000000000019
+:1047A0000000000000000000000000000000000009
+:1047B00000000000000000000000000000000000F9
+:1047C00000000000000000000000000000000002E7
+:1047D00002020202020202020202020202020000BD
+:1047E00000010101010101010101010101010100BB
+:1047F00000000000000000000000000000000000B9
+:1048000000000000000000000000000000000000A8
+:104810000000000000000000000000000000000098
+:104820000000000000000000000000000000000088
+:104830000000000000000000000000000000000078
+:104840000000000000000000000000000000000068
+:104850000000000000000000000000000000000058
+:104860000000000000000000000000000000000048
+:104870000000000000000000000000000000000038
+:104880000000000000000000000000000000000028
+:104890000000000000000000000000000000000018
+:1048A0000000000000000000000000000000000008
+:1048B00000000000000000000000000000000000F8
+:1048C00000000000000000000000000000000002E6
+:1048D00002020202020202020202020202020000BC
+:1048E00000010101010101010101010101010100BA
+:1048F00000000000000000000000000000000000B8
+:1049000000000000000000000000000000000000A7
+:104910000000000000000000000000000000000097
+:104920000000000000000000000000000000000087
+:104930000000000000000000000000000000000077
+:104940000000000000000000000000000000000067
+:104950000000000000000000000000000000000057
+:104960000000000000000000000000000000000047
+:104970000000000000000000000000000000000037
+:104980000000000000000000000000000000000027
+:104990000000000000000000000000000000000017
+:1049A0000000000000000000000000000000000007
+:1049B00000000000000000000000000000000000F7
+:1049C00000000000000000000000000000000002E5
+:1049D00002020202020202020202020202020000BB
+:1049E00001010101010101010101010101010100B8
+:1049F00000000000000000000000000000000000B7
+:104A000000000000000000000000000000000000A6
+:104A10000000000000000000000000000000000096
+:104A20000000000000000000000000000000000086
+:104A30000000000000000000000000000000000076
+:104A40000000000000000000000000000000000066
+:104A50000000000000000000000000000000000056
+:104A60000000000000000000000000000000000046
+:104A70000000000000000000000000000000000036
+:104A80000000000000000000000000000000000026
+:104A90000000000000000000000000000000000016
+:104AA0000000000000000000000000000000000006
+:104AB00000000000000000000000000000000000F6
+:104AC00000000000000000000000000000000002E4
+:104AD00002020202020202020202020202020000BA
+:104AE00001010101010101010101010101010100B7
+:104AF00000000000000000000000000000000000B6
+:104B000000000000000000000000000000000000A5
+:104B10000000000000000000000000000000000095
+:104B20000000000000000000000000000000000085
+:104B30000000000000000000000000000000000075
+:104B40000000000000000000000000000000000065
+:104B50000000000000000000000000000000000055
+:104B60000000000000000000000000000000000045
+:104B70000000000000000000000000000000000035
+:104B80000000000000000000000000000000000025
+:104B90000000000000000000000000000000000015
+:104BA0000000000000000000000000000000000005
+:104BB00000000000000000000000000000000000F5
+:104BC00000000000000000000000000000000002E3
+:104BD00002020202020202020202020202020000B9
+:104BE00000000000000000000000000000000000C5
+:104BF00000000000000000000000000000000000B5
+:104C000000000000000000000000000000000000A4
+:104C10000000000000000000000000000000000094
+:104C20000000000000000000000000000000000084
+:104C30000000000000000000000000000000000074
+:104C40000000000000000000000000000000000064
+:104C50000000000000000000000000000000000054
+:104C60000000000000000000000000000000000044
+:104C70000000000000000000000000000000000034
+:104C80000000000000000000000000000000000024
+:104C90000000000000000000000000000000000014
+:104CA0000000000000000000000000000000000004
+:104CB00000000000000000000000000000000000F4
+:104CC00000000000000000000000000000000000E4
+:104CD0000000000000000000000000000000001BB9
+:104CE00000000000000000000000000000000000C4
+:104CF00000000000000001000000000000000000B3
+:104D000000000000000000000000000000000000A3
+:104D10000000000000000000000000000000000093
+:104D20000000000000000000000000000000000083
+:104D30000000000000000000000000000000000073
+:104D40000000000000000000000000000000000063
+:104D50000000000000000000000000000000000053
+:104D60000000000000000000000000000000000043
+:104D70000000000000000000000000000000000033
+:104D80000000000000000000000000000000000023
+:104D90000000000000000000000000000000000013
+:104DA0000000000000000000000000000000000003
+:104DB00000000000000000000000000000000000F3
+:104DC00000000000000000000000000000000000E3
+:104DD00000000000000000020000000000000000D1
+:104DE00000000000000000000000000000000000C3
+:104DF00000000000000001000000000000000000B2
+:104E000000000000000000000000000000000000A2
+:104E10000000000000000000000000000000000092
+:104E20000000000000000000000000000000000082
+:104E30000000000000000000000000000000000072
+:104E40000000000000000000000000000000000062
+:104E50000000000000000000000000000000000052
+:104E60000000000000000000000000000000000042
+:104E70000000000000000000000000000000000032
+:104E80000000000000000000000000000000000022
+:104E90000000000000000000000000000000000012
+:104EA0000000000000000000000000000000000002
+:104EB00000000000000000000000000000000000F2
+:104EC00000000000000000000000000000000000E2
+:104ED00000000000000000020000000000000000D0
+:104EE00000000000000000000000000000000000C2
+:104EF00000000000010101000000000000000000AF
+:104F000000000000000000000000000000000000A1
+:104F10000000000000000000000000000000000091
+:104F20000000000000000000000000000000000081
+:104F30000000000000000000000000000000000071
+:104F40000000000000000000000000000000000061
+:104F50000000000000000000000000000000000051
+:104F60000000000000000000000000000000000041
+:104F70000000000000000000000000000000000031
+:104F80000000000000000000000000000000000021
+:104F90000000000000000000000000000000000011
+:104FA0000000000000000000000000000000000001
+:104FB00000000000000000000000000000000000F1
+:104FC00000000000000000000000000000000000E1
+:104FD00000000000000000020200000000000000CD
+:104FE00000000000000000000000000000000000C1
+:104FF00000000001010101000000000000000000AD
+:1050000000000000000000000000000000000000A0
+:105010000000000000000000000000000000000090
+:105020000000000000000000000000000000000080
+:105030000000000000000000000000000000000070
+:105040000000000000000000000000000000000060
+:105050000000000000000000000000000000000050
+:105060000000000000000000000000000000000040
+:105070000000000000000000000000000000000030
+:105080000000000000000000000000000000000020
+:105090000000000000000000000000000000000010
+:1050A0000000000000000000000000000000000000
+:1050B00000000000000000000000000000000000F0
+:1050C00000000000000000000000000000000000E0
+:1050D00000000000000000020200000000000000CC
+:1050E00000000000000000000000000000000000C0
+:1050F00000000101010101000000000000000000AB
+:10510000000000000000000000000000000000009F
+:10511000000000000000000000000000000000008F
+:10512000000000000000000000000000000000007F
+:10513000000000000000000000000000000000006F
+:10514000000000000000000000000000000000005F
+:10515000000000000000000000000000000000004F
+:10516000000000000000000000000000000000003F
+:10517000000000000000000000000000000000002F
+:10518000000000000000000000000000000000001F
+:10519000000000000000000000000000000000000F
+:1051A00000000000000000000000000000000000FF
+:1051B00000000000000000000000000000000000EF
+:1051C00000000000000000000000000000000000DF
+:1051D00000000000000000020200000000000000CB
+:1051E00000000000000000000000000000000000BF
+:1051F00000010101010101000000000000000000A9
+:10520000000000000000000000000000000000009E
+:10521000000000000000000000000000000000008E
+:10522000000000000000000000000000000000007E
+:10523000000000000000000000000000000000006E
+:10524000000000000000000000000000000000005E
+:10525000000000000000000000000000000000004E
+:10526000000000000000000000000000000000003E
+:10527000000000000000000000000000000000002E
+:10528000000000000000000000000000000000001E
+:10529000000000000000000000000000000000000E
+:1052A00000000000000000000000000000000000FE
+:1052B00000000000000000000000000000000000EE
+:1052C00000000000000000000000000000000000DE
+:1052D00000000000000000020200000000000000CA
+:1052E00000000000000000000000000000000000BE
+:1052F00001010101010101000000000000000000A7
+:10530000000000000000000000000000000000009D
+:10531000000000000000000000000000000000008D
+:10532000000000000000000000000000000000007D
+:10533000000000000000000000000000000000006D
+:10534000000000000000000000000000000000005D
+:10535000000000000000000000000000000000004D
+:10536000000000000000000000000000000000003D
+:10537000000000000000000000000000000000002D
+:10538000000000000000000000000000000000001D
+:10539000000000000000000000000000000000000D
+:1053A00000000000000000000000000000000000FD
+:1053B00000000000000000000000000000000000ED
+:1053C00000000000000000000000000000000000DD
+:1053D00000000000000000020202000000000000C7
+:1053E00000000000000000000000000000000001BC
+:1053F00001010101010101000000000000000000A6
+:10540000000000000000000000000000000000009C
+:10541000000000000000000000000000000000008C
+:10542000000000000000000000000000000000007C
+:10543000000000000000000000000000000000006C
+:10544000000000000000000000000000000000005C
+:10545000000000000000000000000000000000004C
+:10546000000000000000000000000000000000003C
+:10547000000000000000000000000000000000002C
+:10548000000000000000000000000000000000001C
+:10549000000000000000000000000000000000000C
+:1054A00000000000000000000000000000000000FC
+:1054B00000000000000000000000000000000000EC
+:1054C00000000000000000000000000000000000DC
+:1054D00000000000000000020202020000000000C4
+:1054E00000000000000000000000000000000001BB
+:1054F00001010101010101000000000000000000A5
+:10550000000000000000000000000000000000009B
+:10551000000000000000000000000000000000008B
+:10552000000000000000000000000000000000007B
+:10553000000000000000000000000000000000006B
+:10554000000000000000000000000000000000005B
+:10555000000000000000000000000000000000004B
+:10556000000000000000000000000000000000003B
+:10557000000000000000000000000000000000002B
+:10558000000000000000000000000000000000001B
+:10559000000000000000000000000000000000000B
+:1055A00000000000000000000000000000000000FB
+:1055B00000000000000000000000000000000000EB
+:1055C00000000000000000000000000000000000DB
+:1055D00000000000000000020202020000000000C3
+:1055E00000000000000000000000000000000101B9
+:1055F00001010101010101000000000000000000A4
+:10560000000000000000000000000000000000009A
+:10561000000000000000000000000000000000008A
+:10562000000000000000000000000000000000007A
+:10563000000000000000000000000000000000006A
+:10564000000000000000000000000000000000005A
+:10565000000000000000000000000000000000004A
+:10566000000000000000000000000000000000003A
+:10567000000000000000000000000000000000002A
+:10568000000000000000000000000000000000001A
+:10569000000000000000000000000000000000000A
+:1056A00000000000000000000000000000000000FA
+:1056B00000000000000000000000000000000000EA
+:1056C00000000000000000000000000000000000DA
+:1056D00000000000000000020202020000000001C1
+:1056E00000010001000000000000000000000101B6
+:1056F00001010101010101000000000000000000A3
+:105700000000000000000000000000000000000099
+:105710000000000000000000000000000000000089
+:105720000000000000000000000000000000000079
+:105730000000000000000000000000000000000069
+:105740000000000000000000000000000000000059
+:105750000000000000000000000000000000000049
+:105760000000000000000000000000000000000039
+:105770000000000000000000000000000000000029
+:105780000000000000000000000000000000000019
+:105790000000000000000000000000000000000009
+:1057A00000000000000000000000000000000000F9
+:1057B00000000000000000000000000000000000E9
+:1057C00000000000000000000000000000000000D9
+:1057D00000000000000000020202020000000001C0
+:1057E00001010101010000000000000000010101B1
+:1057F00001010101010101000000000000000000A2
+:105800000000000000000000000000000000000098
+:105810000000000000000000000000000000000088
+:105820000000000000000000000000000000000078
+:105830000000000000000000000000000000000068
+:105840000000000000000000000000000000000058
+:105850000000000000000000000000000000000048
+:105860000000000000000000000000000000000038
+:105870000000000000000000000000000000000028
+:105880000000000000000000000000000000000018
+:105890000000000000000000000000000000000008
+:1058A00000000000000000000000000000000000F8
+:1058B00000000000000000000000000000000000E8
+:1058C00000000000000000000000000000000000D8
+:1058D00000000000000000020202020200000101BC
+:1058E00001010101010000000000000001010101AF
+:1058F00001010101010101000000000000000000A1
+:105900000000000000000000000000000000000097
+:105910000000000000000000000000000000000087
+:105920000000000000000000000000000000000077
+:105930000000000000000000000000000000000067
+:105940000000000000000000000000000000000057
+:105950000000000000000000000000000000000047
+:105960000000000000000000000000000000000037
+:105970000000000000000000000000000000000027
+:105980000000000000000000000000000000000017
+:105990000000000000000000000000000000000007
+:1059A00000000000000000000000000000000000F7
+:1059B00000000000000000000000000000000000E7
+:1059C00000000000000000000000000000000000D7
+:1059D00000000000000000020202020201000101BA
+:1059E00001010101010000000000000001010101AE
+:1059F00001010101010101000000000000000000A0
+:105A00000000000000000000000000000000000096
+:105A10000000000000000000000000000000000086
+:105A20000000000000000000000000000000000076
+:105A30000000000000000000000000000000000066
+:105A40000000000000000000000000000000000056
+:105A50000000000000000000000000000000000046
+:105A60000000000000000000000000000000000036
+:105A70000000000000000000000000000000000026
+:105A80000000000000000000000000000000000016
+:105A90000000000000000000000000000000000006
+:105AA00000000000000000000000000000000000F6
+:105AB00000000000000000000000000000000000E6
+:105AC00000000000000000000000000000000000D6
+:105AD00000000000000000020202020202010101B7
+:105AE00001010101010000000000000001010101AD
+:105AF000010101010101010000000000000000009F
+:105B00000000000000000000000000000000000095
+:105B10000000000000000000000000000000000085
+:105B20000000000000000000000000000000000075
+:105B30000000000000000000000000000000000065
+:105B40000000000000000000000000000000000055
+:105B50000000000000000000000000000000000045
+:105B60000000000000000000000000000000000035
+:105B70000000000000000000000000000000000025
+:105B80000000000000000000000000000000000015
+:105B90000000000000000000000000000000000005
+:105BA00000000000000000000000000000000000F5
+:105BB00000000000000000000000000000000000E5
+:105BC00000000000000000000000000000000000D5
+:105BD00000000000000000020202020202020202B3
+:105BE00001010101010000000000000101010101AB
+:105BF000010101010101010000000000000000009E
+:105C00000000000000000000000000000000000094
+:105C10000000000000000000000000000000000084
+:105C20000000000000000000000000000000000074
+:105C30000000000000000000000000000000000064
+:105C40000000000000000000000000000000000054
+:105C50000000000000000000000000000000000044
+:105C60000000000000000000000000000000000034
+:105C70000000000000000000000000000000000024
+:105C80000000000000000000000000000000000014
+:105C90000000000000000000000000000000000004
+:105CA00000000000000000000000000000000000F4
+:105CB00000000000000000000000000000000000E4
+:105CC00000000000000000000000000000000000D4
+:105CD00000000000000000020202020202020202B2
+:105CE00002020101010000000000000101010101A8
+:105CF000010101010101010000000000000000009D
+:105D00000000000000000000000000000000000093
+:105D10000000000000000000000000000000000083
+:105D20000000000000000000000000000000000073
+:105D30000000000000000000000000000000000063
+:105D40000000000000000000000000000000000053
+:105D50000000000000000000000000000000000043
+:105D60000000000000000000000000000000000033
+:105D70000000000000000000000000000000000023
+:105D80000000000000000000000000000000000013
+:105D90000000000000000000000000000000000003
+:105DA00000000000000000000000000000000000F3
+:105DB00000000000000000000000000000000000E3
+:105DC00000000000000000000000000000000000D3
+:105DD00000000000000000020202020202020202B1
+:105DE00002020202010000000000000101010101A5
+:105DF000010101010101010000000000000000009C
+:105E00000000000000000000000000000000000092
+:105E10000000000000000000000000000000000082
+:105E20000000000000000000000000000000000072
+:105E30000000000000000000000000000000000062
+:105E40000000000000000000000000000000000052
+:105E50000000000000000000000000000000000042
+:105E60000000000000000000000000000000000032
+:105E70000000000000000000000000000000000022
+:105E80000000000000000000000000000000000012
+:105E90000000000000000000000000000000000002
+:105EA00000000000000000000000000000000000F2
+:105EB00000000000000000000000000000000000E2
+:105EC00000000000000000000000000000000000D2
+:105ED00000000000000000020202020202020202B0
+:105EE00002020202020000000000000101010101A3
+:105EF000010101010101010000000000000000009B
+:105F00000000000000000000000000000000000091
+:105F10000000000000000000000000000000000081
+:105F20000000000000000000000000000000000071
+:105F30000000000000000000000000000000000061
+:105F40000000000000000000000000000000000051
+:105F50000000000000000000000000000000000041
+:105F60000000000000000000000000000000000031
+:105F70000000000000000000000000000000000021
+:105F80000000000000000000000000000000000011
+:105F90000000000000000000000000000000000001
+:105FA00000000000000000000000000000000000F1
+:105FB00000000000000000000000000000000000E1
+:105FC00000000000000000000000000000000000D1
+:105FD00000000000000000020202020202020202AF
+:105FE00002020202020100000000010101010101A0
+:105FF000010101010101010000000000000000009A
+:106000000000000000000000000000000000000090
+:106010000000000000000000000000000000000080
+:106020000000000000000000000000000000000070
+:106030000000000000000000000000000000000060
+:106040000000000000000000000000000000000050
+:106050000000000000000000000000000000000040
+:106060000000000000000000000000000000000030
+:106070000000000000000000000000000000000020
+:106080000000000000000000000000000000000010
+:106090000000000000000000000000000000000000
+:1060A00000000000000000000000000000000000F0
+:1060B00000000000000000000000000000000000E0
+:1060C00000000000000000000000000000000000D0
+:1060D00000000000000000020202020202020202AE
+:1060E000020202020201000000010101010101019E
+:1060F0000101010101010100000000000000000099
+:10610000000000000000000000000000000000008F
+:10611000000000000000000000000000000000007F
+:10612000000000000000000000000000000000006F
+:10613000000000000000000000000000000000005F
+:10614000000000000000000000000000000000004F
+:10615000000000000000000000000000000000003F
+:10616000000000000000000000000000000000002F
+:10617000000000000000000000000000000000001F
+:10618000000000000000000000000000000000000F
+:1061900000000000000000000000000000000000FF
+:1061A00000000000000000000000000000000000EF
+:1061B00000000000000000000000000000000000DF
+:1061C00000000000000000000000000000000000CF
+:1061D00000000000000000020202020202020202AD
+:1061E000020202020201000000010101010101019D
+:1061F0000101010101010100000000000000000098
+:10620000000000000000000000000000000000008E
+:10621000000000000000000000000000000000007E
+:10622000000000000000000000000000000000006E
+:10623000000000000000000000000000000000005E
+:10624000000000000000000000000000000000004E
+:10625000000000000000000000000000000000003E
+:10626000000000000000000000000000000000002E
+:10627000000000000000000000000000000000001E
+:10628000000000000000000000000000000000000E
+:1062900000000000000000000000000000000000FE
+:1062A00000000000000000000000000000000000EE
+:1062B00000000000000000000000000000000000DE
+:1062C00000000000000000000000000000000000CE
+:1062D00000000000000000020202020202020202AC
+:1062E000020202020202000000010101010101019B
+:1062F0000101010101010100000000000000000097
+:10630000000000000000000000000000000000008D
+:10631000000000000000000000000000000000007D
+:10632000000000000000000000000000000000006D
+:10633000000000000000000000000000000000005D
+:10634000000000000000000000000000000000004D
+:10635000000000000000000000000000000000003D
+:10636000000000000000000000000000000000002D
+:10637000000000000000000000000000000000001D
+:10638000000000000000000000000000000000000D
+:1063900000000000000000000000000000000000FD
+:1063A00000000000000000000000000000000000ED
+:1063B00000000000000000000000000000000000DD
+:1063C00000000000000000000000000000000000CD
+:1063D00000000000000000020202020202020202AB
+:1063E000020202020202000000010101010101019A
+:1063F0000101010101010100000000000000000096
+:10640000000000000000000000000000000000008C
+:10641000000000000000000000000000000000007C
+:10642000000000000000000000000000000000006C
+:10643000000000000000000000000000000000005C
+:10644000000000000000000000000000000000004C
+:10645000000000000000000000000000000000003C
+:10646000000000000000000000000000000000002C
+:10647000000000000000000000000000000000001C
+:10648000000000000000000000000000000000000C
+:1064900000000000000000000000000000000000FC
+:1064A00000000000000000000000000000000000EC
+:1064B00000000000000000000000000000000000DC
+:1064C00000000000000000000000000000000000CC
+:1064D00000000000000000020202020202020202AA
+:1064E0000202020202020000010101010101010198
+:1064F0000101010101010100000000000000000095
+:10650000000000000000000000000000000000008B
+:10651000000000000000000000000000000000007B
+:10652000000000000000000000000000000000006B
+:10653000000000000000000000000000000000005B
+:10654000000000000000000000000000000000004B
+:10655000000000000000000000000000000000003B
+:10656000000000000000000000000000000000002B
+:10657000000000000000000000000000000000001B
+:10658000000000000000000000000000000000000B
+:1065900000000000000000000000000000000000FB
+:1065A00000000000000000000000000000000000EB
+:1065B00000000000000000000000000000000000DB
+:1065C00000000000000000000000000000000000CB
+:1065D00000000000000000020202020202020202A9
+:1065E0000202020202020000010101010101010197
+:1065F0000101010101010100000000000000000094
+:10660000000000000000000000000000000000008A
+:10661000000000000000000000000000000000007A
+:10662000000000000000000000000000000000006A
+:10663000000000000000000000000000000000005A
+:10664000000000000000000000000000000000004A
+:10665000000000000000000000000000000000003A
+:10666000000000000000000000000000000000002A
+:10667000000000000000000000000000000000001A
+:10668000000000000000000000000000000000000A
+:1066900000000000000000000000000000000000FA
+:1066A00000000000000000000000000000000000EA
+:1066B00000000000000000000000000000000000DA
+:1066C00000000000000000000000000000000000CA
+:1066D00000000000000000020202020202020202A8
+:1066E000020202020202000000000000000000009E
+:1066F000000000000000000000000000000000009A
+:106700000000000000000000000000000000000089
+:106710000000000000000000000000000000000079
+:106720000000000000000000000000000000000069
+:106730000000000000000000000000000000000059
+:106740000000000000000000000000000000000049
+:106750000000000000000000000000000000000039
+:106760000000000000000000000000000000000029
+:106770000000000000000000000000000000000019
+:106780000000000000000000000000000000000009
+:1067900000000000000000000000000000000000F9
+:1067A00000000000000000000000000000000000E9
+:1067B00000000000000000000000000000000000D9
+:1067C00000000000000000000000000000000000C9
+:1067D00000000000000000000000000000000000B9
+:1067E0000000000000000019000000000000000090
+:1067F0000000000000000000000000000000010098
+:106800000000000000000000000000000000000088
+:106810000000000000000000000000000000000078
+:106820000000000000000000000000000000000068
+:106830000000000000000000000000000000000058
+:106840000000000000000000000000000000000048
+:106850000000000000000000000000000000000038
+:106860000000000000000000000000000000000028
+:106870000000000000000000000000000000000018
+:106880000000000000000000000000000000000008
+:1068900000000000000000000000000000000000F8
+:1068A00000000000000000000000000000000000E8
+:1068B00000000000000000000000000000000000D8
+:1068C00000000000000000000000000000000000C8
+:1068D00000000000000000000000000000000002B6
+:1068E00000000000000000000000000000000000A8
+:1068F0000000000000000000000000000001010096
+:106900000000000000000000000000000000000087
+:106910000000000000000000000000000000000077
+:106920000000000000000000000000000000000067
+:106930000000000000000000000000000000000057
+:106940000000000000000000000000000000000047
+:106950000000000000000000000000000000000037
+:106960000000000000000000000000000000000027
+:106970000000000000000000000000000000000017
+:106980000000000000000000000000000000000007
+:1069900000000000000000000000000000000000F7
+:1069A00000000000000000000000000000000000E7
+:1069B00000000000000000000000000000000000D7
+:1069C00000000000000000000000000000000000C7
+:1069D00000000000000000000000000000000002B5
+:1069E00000000000000000000000000000000000A7
+:1069F0000000000000000000000000000101010094
+:106A00000000000000000000000000000000000086
+:106A10000000000000000000000000000000000076
+:106A20000000000000000000000000000000000066
+:106A30000000000000000000000000000000000056
+:106A40000000000000000000000000000000000046
+:106A50000000000000000000000000000000000036
+:106A60000000000000000000000000000000000026
+:106A70000000000000000000000000000000000016
+:106A80000000000000000000000000000000000006
+:106A900000000000000000000000000000000000F6
+:106AA00000000000000000000000000000000000E6
+:106AB00000000000000000000000000000000000D6
+:106AC00000000000000000000000000000000000C6
+:106AD00000000000000000000000000000000002B4
+:106AE00001000000000000000000000000000000A5
+:106AF0000000000000000000000000000101010093
+:106B00000000000000000000000000000000000085
+:106B10000000000000000000000000000000000075
+:106B20000000000000000000000000000000000065
+:106B30000000000000000000000000000000000055
+:106B40000000000000000000000000000000000045
+:106B50000000000000000000000000000000000035
+:106B60000000000000000000000000000000000025
+:106B70000000000000000000000000000000000015
+:106B80000000000000000000000000000000000005
+:106B900000000000000000000000000000000000F5
+:106BA00000000000000000000000000000000000E5
+:106BB00000000000000000000000000000000000D5
+:106BC00000000000000000000000000000000000C5
+:106BD00000000000000000000000000000000002B3
+:106BE00001000000000000000000000000000000A4
+:106BF0000000000000000000000000000101010092
+:106C00000000000000000000000000000000000084
+:106C10000000000000000000000000000000000074
+:106C20000000000000000000000000000000000064
+:106C30000000000000000000000000000000000054
+:106C40000000000000000000000000000000000044
+:106C50000000000000000000000000000000000034
+:106C60000000000000000000000000000000000024
+:106C70000000000000000000000000000000000014
+:106C80000000000000000000000000000000000004
+:106C900000000000000000000000000000000000F4
+:106CA00000000000000000000000000000000000E4
+:106CB00000000000000000000000000000000000D4
+:106CC00000000000000000000000000000000000C4
+:106CD00000000000000000000000000000000002B2
+:106CE00002000000000000000000000000000000A2
+:106CF0000000000000000000000000010101010090
+:106D00000000000000000000000000000000000083
+:106D10000000000000000000000000000000000073
+:106D20000000000000000000000000000000000063
+:106D30000000000000000000000000000000000053
+:106D40000000000000000000000000000000000043
+:106D50000000000000000000000000000000000033
+:106D60000000000000000000000000000000000023
+:106D70000000000000000000000000000000000013
+:106D80000000000000000000000000000000000003
+:106D900000000000000000000000000000000000F3
+:106DA00000000000000000000000000000000000E3
+:106DB00000000000000000000000000000000000D3
+:106DC00000000000000000000000000000000000C3
+:106DD00000000000000000000000000000000002B1
+:106DE00002000000000000000000000000000000A1
+:106DF000000000000000000000000101010101008E
+:106E00000000000000000000000000000000000082
+:106E10000000000000000000000000000000000072
+:106E20000000000000000000000000000000000062
+:106E30000000000000000000000000000000000052
+:106E40000000000000000000000000000000000042
+:106E50000000000000000000000000000000000032
+:106E60000000000000000000000000000000000022
+:106E70000000000000000000000000000000000012
+:106E80000000000000000000000000000000000002
+:106E900000000000000000000000000000000000F2
+:106EA00000000000000000000000000000000000E2
+:106EB00000000000000000000000000000000000D2
+:106EC00000000000000000000000000000000000C2
+:106ED00000000000000000000000000000000002B0
+:106EE000020100000000000000000000000000009F
+:106EF000000000000000000000000101010101008D
+:106F00000000000000000000000000000000000081
+:106F10000000000000000000000000000000000071
+:106F20000000000000000000000000000000000061
+:106F30000000000000000000000000000000000051
+:106F40000000000000000000000000000000000041
+:106F50000000000000000000000000000000000031
+:106F60000000000000000000000000000000000021
+:106F70000000000000000000000000000000000011
+:106F80000000000000000000000000000000000001
+:106F900000000000000000000000000000000000F1
+:106FA00000000000000000000000000000000000E1
+:106FB00000000000000000000000000000000000D1
+:106FC00000000000000000000000000000000000C1
+:106FD00000000000000000000000000000000002AF
+:106FE000020201000000000000000000000000009C
+:106FF000000000000000000000010101010101008B
+:107000000000000000000000000000000000000080
+:107010000000000000000000000000000000000070
+:107020000000000000000000000000000000000060
+:107030000000000000000000000000000000000050
+:107040000000000000000000000000000000000040
+:107050000000000000000000000000000000000030
+:107060000000000000000000000000000000000020
+:107070000000000000000000000000000000000010
+:107080000000000000000000000000000000000000
+:1070900000000000000000000000000000000000F0
+:1070A00000000000000000000000000000000000E0
+:1070B00000000000000000000000000000000000D0
+:1070C00000000000000000000000000000000000C0
+:1070D00000000000000000000000000000000002AE
+:1070E0000202020000000000000000000100000099
+:1070F0000000000000000000010101010101010089
+:10710000000000000000000000000000000000007F
+:10711000000000000000000000000000000000006F
+:10712000000000000000000000000000000000005F
+:10713000000000000000000000000000000000004F
+:10714000000000000000000000000000000000003F
+:10715000000000000000000000000000000000002F
+:10716000000000000000000000000000000000001F
+:10717000000000000000000000000000000000000F
+:1071800000000000000000000000000000000000FF
+:1071900000000000000000000000000000000000EF
+:1071A00000000000000000000000000000000000DF
+:1071B00000000000000000000000000000000000CF
+:1071C00000000000000000000000000000000000BF
+:1071D00000000000000000000000000000000002AD
+:1071E0000202020200000000000000000101000095
+:1071F0000000000000000001010101010101010087
+:10720000000000000000000000000000000000007E
+:10721000000000000000000000000000000000006E
+:10722000000000000000000000000000000000005E
+:10723000000000000000000000000000000000004E
+:10724000000000000000000000000000000000003E
+:10725000000000000000000000000000000000002E
+:10726000000000000000000000000000000000001E
+:10727000000000000000000000000000000000000E
+:1072800000000000000000000000000000000000FE
+:1072900000000000000000000000000000000000EE
+:1072A00000000000000000000000000000000000DE
+:1072B00000000000000000000000000000000000CE
+:1072C00000000000000000000000000000000000BE
+:1072D00000000000000000000000000000000002AC
+:1072E0000202020200000000000000000101000094
+:1072F0000000000000000101010101010101010085
+:10730000000000000000000000000000000000007D
+:10731000000000000000000000000000000000006D
+:10732000000000000000000000000000000000005D
+:10733000000000000000000000000000000000004D
+:10734000000000000000000000000000000000003D
+:10735000000000000000000000000000000000002D
+:10736000000000000000000000000000000000001D
+:10737000000000000000000000000000000000000D
+:1073800000000000000000000000000000000000FD
+:1073900000000000000000000000000000000000ED
+:1073A00000000000000000000000000000000000DD
+:1073B00000000000000000000000000000000000CD
+:1073C00000000000000000000000000000000000BD
+:1073D00000000000000000000000000000000002AB
+:1073E0000202020202000000000000000101000091
+:1073F0000000000000010101010101010101010083
+:10740000000000000000000000000000000000007C
+:10741000000000000000000000000000000000006C
+:10742000000000000000000000000000000000005C
+:10743000000000000000000000000000000000004C
+:10744000000000000000000000000000000000003C
+:10745000000000000000000000000000000000002C
+:10746000000000000000000000000000000000001C
+:10747000000000000000000000000000000000000C
+:1074800000000000000000000000000000000000FC
+:1074900000000000000000000000000000000000EC
+:1074A00000000000000000000000000000000000DC
+:1074B00000000000000000000000000000000000CC
+:1074C00000000000000000000000000000000000BC
+:1074D00000000000000000000000000000000002AA
+:1074E000020202020202000000000100010100008D
+:1074F0000000000001010101010101010101010081
+:10750000000000000000000000000000000000007B
+:10751000000000000000000000000000000000006B
+:10752000000000000000000000000000000000005B
+:10753000000000000000000000000000000000004B
+:10754000000000000000000000000000000000003B
+:10755000000000000000000000000000000000002B
+:10756000000000000000000000000000000000001B
+:10757000000000000000000000000000000000000B
+:1075800000000000000000000000000000000000FB
+:1075900000000000000000000000000000000000EB
+:1075A00000000000000000000000000000000000DB
+:1075B00000000000000000000000000000000000CB
+:1075C00000000000000000000000000000000000BB
+:1075D00000000000000000000000000000000002A9
+:1075E0000202020202020200010001010101000088
+:1075F0000000000001010101010101010101010080
+:10760000000000000000000000000000000000007A
+:10761000000000000000000000000000000000006A
+:10762000000000000000000000000000000000005A
+:10763000000000000000000000000000000000004A
+:10764000000000000000000000000000000000003A
+:10765000000000000000000000000000000000002A
+:10766000000000000000000000000000000000001A
+:10767000000000000000000000000000000000000A
+:1076800000000000000000000000000000000000FA
+:1076900000000000000000000000000000000000EA
+:1076A00000000000000000000000000000000000DA
+:1076B00000000000000000000000000000000000CA
+:1076C00000000000000000000000000000000000BA
+:1076D00000000000000000000000000000000002A8
+:1076E0000202020202020202020101010101000083
+:1076F000000001010101010101010101010101007D
+:107700000000000000000000000000000000000079
+:107710000000000000000000000000000000000069
+:107720000000000000000000000000000000000059
+:107730000000000000000000000000000000000049
+:107740000000000000000000000000000000000039
+:107750000000000000000000000000000000000029
+:107760000000000000000000000000000000000019
+:107770000000000000000000000000000000000009
+:1077800000000000000000000000000000000000F9
+:1077900000000000000000000000000000000000E9
+:1077A00000000000000000000000000000000000D9
+:1077B00000000000000000000000000000000000C9
+:1077C00000000000000000000000000000000000B9
+:1077D00000000000000000000000000000000002A7
+:1077E000020202020202020202020201020100007F
+:1077F000000101010101010101010101010101007B
+:107800000000000000000000000000000000000078
+:107810000000000000000000000000000000000068
+:107820000000000000000000000000000000000058
+:107830000000000000000000000000000000000048
+:107840000000000000000000000000000000000038
+:107850000000000000000000000000000000000028
+:107860000000000000000000000000000000000018
+:107870000000000000000000000000000000000008
+:1078800000000000000000000000000000000000F8
+:1078900000000000000000000000000000000000E8
+:1078A00000000000000000000000000000000000D8
+:1078B00000000000000000000000000000000000C8
+:1078C00000000000000000000000000000000000B8
+:1078D00000000000000000000000000000000002A6
+:1078E000020202020202020202020202020200007C
+:1078F000000101010101010101010101010101007A
+:107900000000000000000000000000000000000077
+:107910000000000000000000000000000000000067
+:107920000000000000000000000000000000000057
+:107930000000000000000000000000000000000047
+:107940000000000000000000000000000000000037
+:107950000000000000000000000000000000000027
+:107960000000000000000000000000000000000017
+:107970000000000000000000000000000000000007
+:1079800000000000000000000000000000000000F7
+:1079900000000000000000000000000000000000E7
+:1079A00000000000000000000000000000000000D7
+:1079B00000000000000000000000000000000000C7
+:1079C00000000000000000000000000000000000B7
+:1079D00000000000000000000000000000000002A5
+:1079E000020202020202020202020202020200007B
+:1079F0000101010101010101010101010101010078
+:107A00000000000000000000000000000000000076
+:107A10000000000000000000000000000000000066
+:107A20000000000000000000000000000000000056
+:107A30000000000000000000000000000000000046
+:107A40000000000000000000000000000000000036
+:107A50000000000000000000000000000000000026
+:107A60000000000000000000000000000000000016
+:107A70000000000000000000000000000000000006
+:107A800000000000000000000000000000000000F6
+:107A900000000000000000000000000000000000E6
+:107AA00000000000000000000000000000000000D6
+:107AB00000000000000000000000000000000000C6
+:107AC00000000000000000000000000000000000B6
+:107AD00000000000000000000000000000000002A4
+:107AE000020202020202020202020202020200007A
+:107AF0000101010101010101010101010101010077
+:107B00000000000000000000000000000000000075
+:107B10000000000000000000000000000000000065
+:107B20000000000000000000000000000000000055
+:107B30000000000000000000000000000000000045
+:107B40000000000000000000000000000000000035
+:107B50000000000000000000000000000000000025
+:107B60000000000000000000000000000000000015
+:107B70000000000000000000000000000000000005
+:107B800000000000000000000000000000000000F5
+:107B900000000000000000000000000000000000E5
+:107BA00000000000000000000000000000000000D5
+:107BB00000000000000000000000000000000000C5
+:107BC00000000000000000000000000000000000B5
+:107BD00000000000000000000000000000000002A3
+:107BE0000202020202020202020202020202000079
+:107BF0000101010101010101010101010101010076
+:107C00000000000000000000000000000000000074
+:107C10000000000000000000000000000000000064
+:107C20000000000000000000000000000000000054
+:107C30000000000000000000000000000000000044
+:107C40000000000000000000000000000000000034
+:107C50000000000000000000000000000000000024
+:107C60000000000000000000000000000000000014
+:107C70000000000000000000000000000000000004
+:107C800000000000000000000000000000000000F4
+:107C900000000000000000000000000000000000E4
+:107CA00000000000000000000000000000000000D4
+:107CB00000000000000000000000000000000000C4
+:107CC00000000000000000000000000000000000B4
+:107CD00000000000000000000000000000000002A2
+:107CE0000202020202020202020202020202000078
+:107CF0000101010101010101010101010101010075
+:107D00000000000000000000000000000000000073
+:107D10000000000000000000000000000000000063
+:107D20000000000000000000000000000000000053
+:107D30000000000000000000000000000000000043
+:107D40000000000000000000000000000000000033
+:107D50000000000000000000000000000000000023
+:107D60000000000000000000000000000000000013
+:107D70000000000000000000000000000000000003
+:107D800000000000000000000000000000000000F3
+:107D900000000000000000000000000000000000E3
+:107DA00000000000000000000000000000000000D3
+:107DB00000000000000000000000000000000000C3
+:107DC00000000000000000000000000000000000B3
+:107DD00000000000000000000000000000000002A1
+:107DE0000202020202020202020202020202000077
+:107DF0000101010101010101010101010101010074
+:107E00000000000000000000000000000000000072
+:107E10000000000000000000000000000000000062
+:107E20000000000000000000000000000000000052
+:107E30000000000000000000000000000000000042
+:107E40000000000000000000000000000000000032
+:107E50000000000000000000000000000000000022
+:107E60000000000000000000000000000000000012
+:107E70000000000000000000000000000000000002
+:107E800000000000000000000000000000000000F2
+:107E900000000000000000000000000000000000E2
+:107EA00000000000000000000000000000000000D2
+:107EB00000000000000000000000000000000000C2
+:107EC00000000000000000000000000000000000B2
+:107ED00000000000000000000000000000000002A0
+:107EE0000202020202020202020202020202000076
+:107EF0000101010101010101010101010101010073
+:107F00000000000000000000000000000000000071
+:107F10000000000000000000000000000000000061
+:107F20000000000000000000000000000000000051
+:107F30000000000000000000000000000000000041
+:107F40000000000000000000000000000000000031
+:107F50000000000000000000000000000000000021
+:107F60000000000000000000000000000000000011
+:107F70000000000000000000000000000000000001
+:107F800000000000000000000000000000000000F1
+:107F900000000000000000000000000000000000E1
+:107FA00000000000000000000000000000000000D1
+:107FB00000000000000000000000000000000000C1
+:107FC00000000000000000000000000000000000B1
+:107FD000000000000000000000000000000000029F
+:107FE0000202020202020202020202020202000075
+:107FF0000000000000000000000000000000000081
+:108000000000000000000000000000000000000070
+:108010000000000000000000000000000000000060
+:108020000000000000000000000000000000000050
+:108030000000000000000000000000000000000040
+:108040000000000000000000000000000000000030
+:108050000000000000000000000000000000000020
+:108060000000000000000000000000000000000010
+:108070000000000000000000000000000000000000
+:1080800000000000000000000000000000000000F0
+:1080900000000000000000000000000000000000E0
+:1080A00000000000000000000000000000000000D0
+:1080B00000000000000000000000000000000000C0
+:1080C00000000000000000000000000000000000B0
+:1080D00000000000000000000000000000000000A0
+:1080E0000000000000000000000000000000001779
+:1080F0000000000000000000000000000000000080
+:10810000000000000000010000000000000000006E
+:10811000000000000000000000000000000000005F
+:10812000000000000000000000000000000000004F
+:10813000000000000000000000000000000000003F
+:10814000000000000000000000000000000000002F
+:10815000000000000000000000000000000000001F
+:10816000000000000000000000000000000000000F
+:1081700000000000000000000000000000000000FF
+:1081800000000000000000000000000000000000EF
+:1081900000000000000000000000000000000000DF
+:1081A00000000000000000000000000000000000CF
+:1081B00000000000000000000000000000000000BF
+:1081C00000000000000000000000000000000000AF
+:1081D000000000000000000000000000000000009F
+:1081E000000000000000000200000000000000008D
+:1081F000000000000000000000000000000000007F
+:10820000000000000000010000000000000000006D
+:10821000000000000000000000000000000000005E
+:10822000000000000000000000000000000000004E
+:10823000000000000000000000000000000000003E
+:10824000000000000000000000000000000000002E
+:10825000000000000000000000000000000000001E
+:10826000000000000000000000000000000000000E
+:1082700000000000000000000000000000000000FE
+:1082800000000000000000000000000000000000EE
+:1082900000000000000000000000000000000000DE
+:1082A00000000000000000000000000000000000CE
+:1082B00000000000000000000000000000000000BE
+:1082C00000000000000000000000000000000000AE
+:1082D000000000000000000000000000000000009E
+:1082E000000000000000000200000000000000008C
+:1082F000000000000000000000000000000000007E
+:10830000000000000101010000000000000000006A
+:10831000000000000000000000000000000000005D
+:10832000000000000000000000000000000000004D
+:10833000000000000000000000000000000000003D
+:10834000000000000000000000000000000000002D
+:10835000000000000000000000000000000000001D
+:10836000000000000000000000000000000000000D
+:1083700000000000000000000000000000000000FD
+:1083800000000000000000000000000000000000ED
+:1083900000000000000000000000000000000000DD
+:1083A00000000000000000000000000000000000CD
+:1083B00000000000000000000000000000000000BD
+:1083C00000000000000000000000000000000000AD
+:1083D000000000000000000000000000000000009D
+:1083E000000000000000000201000000000000008A
+:1083F000000000000000000000000000000000007D
+:108400000000000001010100000000000000000069
+:10841000000000000000000000000000000000005C
+:10842000000000000000000000000000000000004C
+:10843000000000000000000000000000000000003C
+:10844000000000000000000000000000000000002C
+:10845000000000000000000000000000000000001C
+:10846000000000000000000000000000000000000C
+:1084700000000000000000000000000000000000FC
+:1084800000000000000000000000000000000000EC
+:1084900000000000000000000000000000000000DC
+:1084A00000000000000000000000000000000000CC
+:1084B00000000000000000000000000000000000BC
+:1084C00000000000000000000000000000000000AC
+:1084D000000000000000000000000000000000009C
+:1084E0000000000000000002010000000000000089
+:1084F000000000000000000000000000000000007C
+:108500000000000101010100000000000000000067
+:10851000000000000000000000000000000000005B
+:10852000000000000000000000000000000000004B
+:10853000000000000000000000000000000000003B
+:10854000000000000000000000000000000000002B
+:10855000000000000000000000000000000000001B
+:10856000000000000000000000000000000000000B
+:1085700000000000000000000000000000000000FB
+:1085800000000000000000000000000000000000EB
+:1085900000000000000000000000000000000000DB
+:1085A00000000000000000000000000000000000CB
+:1085B00000000000000000000000000000000000BB
+:1085C00000000000000000000000000000000000AB
+:1085D000000000000000000000000000000000009B
+:1085E0000000000000000002020000000000000087
+:1085F000000000000000000000000000000000007B
+:108600000000010101010100000000000000000065
+:10861000000000000000000000000000000000005A
+:10862000000000000000000000000000000000004A
+:10863000000000000000000000000000000000003A
+:10864000000000000000000000000000000000002A
+:10865000000000000000000000000000000000001A
+:10866000000000000000000000000000000000000A
+:1086700000000000000000000000000000000000FA
+:1086800000000000000000000000000000000000EA
+:1086900000000000000000000000000000000000DA
+:1086A00000000000000000000000000000000000CA
+:1086B00000000000000000000000000000000000BA
+:1086C00000000000000000000000000000000000AA
+:1086D000000000000000000000000000000000009A
+:1086E0000000000000000002020000000000000086
+:1086F000000000000000000000000000000000007A
+:108700000000010101010100000000000000000064
+:108710000000000000000000000000000000000059
+:108720000000000000000000000000000000000049
+:108730000000000000000000000000000000000039
+:108740000000000000000000000000000000000029
+:108750000000000000000000000000000000000019
+:108760000000000000000000000000000000000009
+:1087700000000000000000000000000000000000F9
+:1087800000000000000000000000000000000000E9
+:1087900000000000000000000000000000000000D9
+:1087A00000000000000000000000000000000000C9
+:1087B00000000000000000000000000000000000B9
+:1087C00000000000000000000000000000000000A9
+:1087D0000000000000000000000000000000000099
+:1087E0000000000000000002020000000000000085
+:1087F0000000000000000000000000000000000079
+:108800000001010101010100000000000000000062
+:108810000000000000000000000000000000000058
+:108820000000000000000000000000000000000048
+:108830000000000000000000000000000000000038
+:108840000000000000000000000000000000000028
+:108850000000000000000000000000000000000018
+:108860000000000000000000000000000000000008
+:1088700000000000000000000000000000000000F8
+:1088800000000000000000000000000000000000E8
+:1088900000000000000000000000000000000000D8
+:1088A00000000000000000000000000000000000C8
+:1088B00000000000000000000000000000000000B8
+:1088C00000000000000000000000000000000000A8
+:1088D0000000000000000000000000000000000098
+:1088E0000000000000000002020202000000000080
+:1088F0000000000000000000000000000000000078
+:108900000101010101010100000000000000000060
+:108910000000000000000000000000000000000057
+:108920000000000000000000000000000000000047
+:108930000000000000000000000000000000000037
+:108940000000000000000000000000000000000027
+:108950000000000000000000000000000000000017
+:108960000000000000000000000000000000000007
+:1089700000000000000000000000000000000000F7
+:1089800000000000000000000000000000000000E7
+:1089900000000000000000000000000000000000D7
+:1089A00000000000000000000000000000000000C7
+:1089B00000000000000000000000000000000000B7
+:1089C00000000000000000000000000000000000A7
+:1089D0000000000000000000000000000000000097
+:1089E000000000000000000202020200000000007F
+:1089F0000000000000000000000000000000000176
+:108A0000010101010101010000000000000000005F
+:108A10000000000000000000000000000000000056
+:108A20000000000000000000000000000000000046
+:108A30000000000000000000000000000000000036
+:108A40000000000000000000000000000000000026
+:108A50000000000000000000000000000000000016
+:108A60000000000000000000000000000000000006
+:108A700000000000000000000000000000000000F6
+:108A800000000000000000000000000000000000E6
+:108A900000000000000000000000000000000000D6
+:108AA00000000000000000000000000000000000C6
+:108AB00000000000000000000000000000000000B6
+:108AC00000000000000000000000000000000000A6
+:108AD0000000000000000000000000000000000096
+:108AE000000000000000000202020202000000007C
+:108AF0000000000000000000000000000000010174
+:108B0000010101010101010000000000000000005E
+:108B10000000000000000000000000000000000055
+:108B20000000000000000000000000000000000045
+:108B30000000000000000000000000000000000035
+:108B40000000000000000000000000000000000025
+:108B50000000000000000000000000000000000015
+:108B60000000000000000000000000000000000005
+:108B700000000000000000000000000000000000F5
+:108B800000000000000000000000000000000000E5
+:108B900000000000000000000000000000000000D5
+:108BA00000000000000000000000000000000000C5
+:108BB00000000000000000000000000000000000B5
+:108BC00000000000000000000000000000000000A5
+:108BD0000000000000000000000000000000000095
+:108BE0000000000000000002020202020200000079
+:108BF0000000000000000000000000000001010172
+:108C0000010101010101010000000000000000005D
+:108C10000000000000000000000000000000000054
+:108C20000000000000000000000000000000000044
+:108C30000000000000000000000000000000000034
+:108C40000000000000000000000000000000000024
+:108C50000000000000000000000000000000000014
+:108C60000000000000000000000000000000000004
+:108C700000000000000000000000000000000000F4
+:108C800000000000000000000000000000000000E4
+:108C900000000000000000000000000000000000D4
+:108CA00000000000000000000000000000000000C4
+:108CB00000000000000000000000000000000000B4
+:108CC00000000000000000000000000000000000A4
+:108CD0000000000000000000000000000000000094
+:108CE0000000000000000002020202020202000076
+:108CF000000001000000000000000000010101016F
+:108D0000010101010101010000000000000000005C
+:108D10000000000000000000000000000000000053
+:108D20000000000000000000000000000000000043
+:108D30000000000000000000000000000000000033
+:108D40000000000000000000000000000000000023
+:108D50000000000000000000000000000000000013
+:108D60000000000000000000000000000000000003
+:108D700000000000000000000000000000000000F3
+:108D800000000000000000000000000000000000E3
+:108D900000000000000000000000000000000000D3
+:108DA00000000000000000000000000000000000C3
+:108DB00000000000000000000000000000000000B3
+:108DC00000000000000000000000000000000000A3
+:108DD0000000000000000000000000000000000093
+:108DE0000000000000000002020202020202020073
+:108DF000000001000100000000000001010101016C
+:108E0000010101010101010000000000000000005B
+:108E10000000000000000000000000000000000052
+:108E20000000000000000000000000000000000042
+:108E30000000000000000000000000000000000032
+:108E40000000000000000000000000000000000022
+:108E50000000000000000000000000000000000012
+:108E60000000000000000000000000000000000002
+:108E700000000000000000000000000000000000F2
+:108E800000000000000000000000000000000000E2
+:108E900000000000000000000000000000000000D2
+:108EA00000000000000000000000000000000000C2
+:108EB00000000000000000000000000000000000B2
+:108EC00000000000000000000000000000000000A2
+:108ED0000000000000000000000000000000000092
+:108EE0000000000000000002020202020202020270
+:108EF000000101000100000000000001010101016A
+:108F0000010101010101010000000000000000005A
+:108F10000000000000000000000000000000000051
+:108F20000000000000000000000000000000000041
+:108F30000000000000000000000000000000000031
+:108F40000000000000000000000000000000000021
+:108F50000000000000000000000000000000000011
+:108F60000000000000000000000000000000000001
+:108F700000000000000000000000000000000000F1
+:108F800000000000000000000000000000000000E1
+:108F900000000000000000000000000000000000D1
+:108FA00000000000000000000000000000000000C1
+:108FB00000000000000000000000000000000000B1
+:108FC00000000000000000000000000000000000A1
+:108FD0000000000000000000000000000000000091
+:108FE000000000000000000202020202020202026F
+:108FF0000202020101000000000101010101010162
+:109000000101010101010100000000000000000059
+:109010000000000000000000000000000000000050
+:109020000000000000000000000000000000000040
+:109030000000000000000000000000000000000030
+:109040000000000000000000000000000000000020
+:109050000000000000000000000000000000000010
+:109060000000000000000000000000000000000000
+:1090700000000000000000000000000000000000F0
+:1090800000000000000000000000000000000000E0
+:1090900000000000000000000000000000000000D0
+:1090A00000000000000000000000000000000000C0
+:1090B00000000000000000000000000000000000B0
+:1090C00000000000000000000000000000000000A0
+:1090D0000000000000000000000000000000000090
+:1090E000000000000000000202020202020202026E
+:1090F0000202020101000000010101010101010160
+:109100000101010101010100000000000000000058
+:10911000000000000000000000000000000000004F
+:10912000000000000000000000000000000000003F
+:10913000000000000000000000000000000000002F
+:10914000000000000000000000000000000000001F
+:10915000000000000000000000000000000000000F
+:1091600000000000000000000000000000000000FF
+:1091700000000000000000000000000000000000EF
+:1091800000000000000000000000000000000000DF
+:1091900000000000000000000000000000000000CF
+:1091A00000000000000000000000000000000000BF
+:1091B00000000000000000000000000000000000AF
+:1091C000000000000000000000000000000000009F
+:1091D000000000000000000000000000000000008F
+:1091E000000000000000000202020202020202026D
+:1091F000020202020200000001010101010101015D
+:109200000101010101010100000000000000000057
+:10921000000000000000000000000000000000004E
+:10922000000000000000000000000000000000003E
+:10923000000000000000000000000000000000002E
+:10924000000000000000000000000000000000001E
+:10925000000000000000000000000000000000000E
+:1092600000000000000000000000000000000000FE
+:1092700000000000000000000000000000000000EE
+:1092800000000000000000000000000000000000DE
+:1092900000000000000000000000000000000000CE
+:1092A00000000000000000000000000000000000BE
+:1092B00000000000000000000000000000000000AE
+:1092C000000000000000000000000000000000009E
+:1092D000000000000000000000000000000000008E
+:1092E000000000000000000202020202020202026C
+:1092F000020202020200000001010101010101015C
+:109300000101010101010100000000000000000056
+:10931000000000000000000000000000000000004D
+:10932000000000000000000000000000000000003D
+:10933000000000000000000000000000000000002D
+:10934000000000000000000000000000000000001D
+:10935000000000000000000000000000000000000D
+:1093600000000000000000000000000000000000FD
+:1093700000000000000000000000000000000000ED
+:1093800000000000000000000000000000000000DD
+:1093900000000000000000000000000000000000CD
+:1093A00000000000000000000000000000000000BD
+:1093B00000000000000000000000000000000000AD
+:1093C000000000000000000000000000000000009D
+:1093D000000000000000000000000000000000008D
+:1093E000000000000000000202020202020202026B
+:1093F000020202020201000001010101010101015A
+:109400000101010101010100000000000000000055
+:10941000000000000000000000000000000000004C
+:10942000000000000000000000000000000000003C
+:10943000000000000000000000000000000000002C
+:10944000000000000000000000000000000000001C
+:10945000000000000000000000000000000000000C
+:1094600000000000000000000000000000000000FC
+:1094700000000000000000000000000000000000EC
+:1094800000000000000000000000000000000000DC
+:1094900000000000000000000000000000000000CC
+:1094A00000000000000000000000000000000000BC
+:1094B00000000000000000000000000000000000AC
+:1094C000000000000000000000000000000000009C
+:1094D000000000000000000000000000000000008C
+:1094E000000000000000000202020202020202026A
+:1094F0000202020202020000010101010101010158
+:109500000101010101010100000000000000000054
+:10951000000000000000000000000000000000004B
+:10952000000000000000000000000000000000003B
+:10953000000000000000000000000000000000002B
+:10954000000000000000000000000000000000001B
+:10955000000000000000000000000000000000000B
+:1095600000000000000000000000000000000000FB
+:1095700000000000000000000000000000000000EB
+:1095800000000000000000000000000000000000DB
+:1095900000000000000000000000000000000000CB
+:1095A00000000000000000000000000000000000BB
+:1095B00000000000000000000000000000000000AB
+:1095C000000000000000000000000000000000009B
+:1095D000000000000000000000000000000000008B
+:1095E0000000000000000002020202020202020269
+:1095F0000202020202020000010101010101010157
+:109600000101010101010100000000000000000053
+:10961000000000000000000000000000000000004A
+:10962000000000000000000000000000000000003A
+:10963000000000000000000000000000000000002A
+:10964000000000000000000000000000000000001A
+:10965000000000000000000000000000000000000A
+:1096600000000000000000000000000000000000FA
+:1096700000000000000000000000000000000000EA
+:1096800000000000000000000000000000000000DA
+:1096900000000000000000000000000000000000CA
+:1096A00000000000000000000000000000000000BA
+:1096B00000000000000000000000000000000000AA
+:1096C000000000000000000000000000000000009A
+:1096D000000000000000000000000000000000008A
+:1096E0000000000000000002020202020202020268
+:1096F000020202020202000000000000000000005E
+:109700000000000000000000000000000000000059
+:109710000000000000000000000000000000000049
+:109720000000000000000000000000000000000039
+:109730000000000000000000000000000000000029
+:109740000000000000000000000000000000000019
+:109750000000000000000000000000000000000009
+:1097600000000000000000000000000000000000F9
+:1097700000000000000000000000000000000000E9
+:1097800000000000000000000000000000000000D9
+:1097900000000000000000000000000000000000C9
+:1097A00000000000000000000000000000000000B9
+:1097B00000000000000000000000000000000000A9
+:1097C0000000000000000000000000000000000099
+:1097D0000000000000000000000000000000000089
+:1097E0000000000000000000000000000000000079
+:1097F0000000000000000015000000000000000054
+:109800000000000000000000000000000000010057
+:109810000000000000000000000000000000000048
+:109820000000000000000000000000000000000038
+:109830000000000000000000000000000000000028
+:109840000000000000000000000000000000000018
+:109850000000000000000000000000000000000008
+:1098600000000000000000000000000000000000F8
+:1098700000000000000000000000000000000000E8
+:1098800000000000000000000000000000000000D8
+:1098900000000000000000000000000000000000C8
+:1098A00000000000000000000000000000000000B8
+:1098B00000000000000000000000000000000000A8
+:1098C0000000000000000000000000000000000098
+:1098D0000000000000000000000000000000000088
+:1098E0000000000000000000000000000000000276
+:1098F0000000000000000000000000000000000068
+:109900000000000000000000000000000101010054
+:109910000000000000000000000000000000000047
+:109920000000000000000000000000000000000037
+:109930000000000000000000000000000000000027
+:109940000000000000000000000000000000000017
+:109950000000000000000000000000000000000007
+:1099600000000000000000000000000000000000F7
+:1099700000000000000000000000000000000000E7
+:1099800000000000000000000000000000000000D7
+:1099900000000000000000000000000000000000C7
+:1099A00000000000000000000000000000000000B7
+:1099B00000000000000000000000000000000000A7
+:1099C0000000000000000000000000000000000097
+:1099D0000000000000000000000000000000000087
+:1099E0000000000000000000000000000000000275
+:1099F0000000000000000000000000000000000067
+:109A00000000000000000000000000010101010052
+:109A10000000000000000000000000000000000046
+:109A20000000000000000000000000000000000036
+:109A30000000000000000000000000000000000026
+:109A40000000000000000000000000000000000016
+:109A50000000000000000000000000000000000006
+:109A600000000000000000000000000000000000F6
+:109A700000000000000000000000000000000000E6
+:109A800000000000000000000000000000000000D6
+:109A900000000000000000000000000000000000C6
+:109AA00000000000000000000000000000000000B6
+:109AB00000000000000000000000000000000000A6
+:109AC0000000000000000000000000000000000096
+:109AD0000000000000000000000000000000000086
+:109AE0000000000000000000000000000000000274
+:109AF0000000000000000000000000000000000066
+:109B00000000000000000000000000010101010051
+:109B10000000000000000000000000000000000045
+:109B20000000000000000000000000000000000035
+:109B30000000000000000000000000000000000025
+:109B40000000000000000000000000000000000015
+:109B50000000000000000000000000000000000005
+:109B600000000000000000000000000000000000F5
+:109B700000000000000000000000000000000000E5
+:109B800000000000000000000000000000000000D5
+:109B900000000000000000000000000000000000C5
+:109BA00000000000000000000000000000000000B5
+:109BB00000000000000000000000000000000000A5
+:109BC0000000000000000000000000000000000095
+:109BD0000000000000000000000000000000000085
+:109BE0000000000000000000000000000000000273
+:109BF0000000000000000000000000000000000065
+:109C00000000000000000000000000010101010050
+:109C10000000000000000000000000000000000044
+:109C20000000000000000000000000000000000034
+:109C30000000000000000000000000000000000024
+:109C40000000000000000000000000000000000014
+:109C50000000000000000000000000000000000004
+:109C600000000000000000000000000000000000F4
+:109C700000000000000000000000000000000000E4
+:109C800000000000000000000000000000000000D4
+:109C900000000000000000000000000000000000C4
+:109CA00000000000000000000000000000000000B4
+:109CB00000000000000000000000000000000000A4
+:109CC0000000000000000000000000000000000094
+:109CD0000000000000000000000000000000000084
+:109CE0000000000000000000000000000000000272
+:109CF0000200000000000000000000000000000062
+:109D0000000000000000000000000101010101004E
+:109D10000000000000000000000000000000000043
+:109D20000000000000000000000000000000000033
+:109D30000000000000000000000000000000000023
+:109D40000000000000000000000000000000000013
+:109D50000000000000000000000000000000000003
+:109D600000000000000000000000000000000000F3
+:109D700000000000000000000000000000000000E3
+:109D800000000000000000000000000000000000D3
+:109D900000000000000000000000000000000000C3
+:109DA00000000000000000000000000000000000B3
+:109DB00000000000000000000000000000000000A3
+:109DC0000000000000000000000000000000000093
+:109DD0000000000000000000000000000000000083
+:109DE0000000000000000000000000000000000271
+:109DF0000200000000000000000000000100000060
+:109E0000000000000000000000010101010101004C
+:109E10000000000000000000000000000000000042
+:109E20000000000000000000000000000000000032
+:109E30000000000000000000000000000000000022
+:109E40000000000000000000000000000000000012
+:109E50000000000000000000000000000000000002
+:109E600000000000000000000000000000000000F2
+:109E700000000000000000000000000000000000E2
+:109E800000000000000000000000000000000000D2
+:109E900000000000000000000000000000000000C2
+:109EA00000000000000000000000000000000000B2
+:109EB00000000000000000000000000000000000A2
+:109EC0000000000000000000000000000000000092
+:109ED0000000000000000000000000000000000082
+:109EE0000000000000000000000000000000000270
+:109EF000020000000000000000000001010000005E
+:109F00000000000000000001010101010101010049
+:109F10000000000000000000000000000000000041
+:109F20000000000000000000000000000000000031
+:109F30000000000000000000000000000000000021
+:109F40000000000000000000000000000000000011
+:109F50000000000000000000000000000000000001
+:109F600000000000000000000000000000000000F1
+:109F700000000000000000000000000000000000E1
+:109F800000000000000000000000000000000000D1
+:109F900000000000000000000000000000000000C1
+:109FA00000000000000000000000000000000000B1
+:109FB00000000000000000000000000000000000A1
+:109FC0000000000000000000000000000000000091
+:109FD0000000000000000000000000000000000081
+:109FE000000000000000000000000000000000026F
+:109FF000020200000000000000000001010000005B
+:10A000000000000000000001010101010101010048
+:10A010000000000000000000000000000000000040
+:10A020000000000000000000000000000000000030
+:10A030000000000000000000000000000000000020
+:10A040000000000000000000000000000000000010
+:10A050000000000000000000000000000000000000
+:10A0600000000000000000000000000000000000F0
+:10A0700000000000000000000000000000000000E0
+:10A0800000000000000000000000000000000000D0
+:10A0900000000000000000000000000000000000C0
+:10A0A00000000000000000000000000000000000B0
+:10A0B00000000000000000000000000000000000A0
+:10A0C0000000000000000000000000000000000090
+:10A0D0000000000000000000000000000000000080
+:10A0E000000000000000000000000000000000026E
+:10A0F0000202020000000000000000010100000058
+:10A100000000000000010101010101010101010045
+:10A11000000000000000000000000000000000003F
+:10A12000000000000000000000000000000000002F
+:10A13000000000000000000000000000000000001F
+:10A14000000000000000000000000000000000000F
+:10A1500000000000000000000000000000000000FF
+:10A1600000000000000000000000000000000000EF
+:10A1700000000000000000000000000000000000DF
+:10A1800000000000000000000000000000000000CF
+:10A1900000000000000000000000000000000000BF
+:10A1A00000000000000000000000000000000000AF
+:10A1B000000000000000000000000000000000009F
+:10A1C000000000000000000000000000000000008F
+:10A1D000000000000000000000000000000000007F
+:10A1E000000000000000000000000000000000026D
+:10A1F0000202020200000000000000010101000054
+:10A200000000000001010101010101010101010043
+:10A21000000000000000000000000000000000003E
+:10A22000000000000000000000000000000000002E
+:10A23000000000000000000000000000000000001E
+:10A24000000000000000000000000000000000000E
+:10A2500000000000000000000000000000000000FE
+:10A2600000000000000000000000000000000000EE
+:10A2700000000000000000000000000000000000DE
+:10A2800000000000000000000000000000000000CE
+:10A2900000000000000000000000000000000000BE
+:10A2A00000000000000000000000000000000000AE
+:10A2B000000000000000000000000000000000009E
+:10A2C000000000000000000000000000000000008E
+:10A2D000000000000000000000000000000000007E
+:10A2E000000000000000000000000000000000026C
+:10A2F0000202020202000000000000010101000051
+:10A300000000000101010101010101010101010041
+:10A31000000000000000000000000000000000003D
+:10A32000000000000000000000000000000000002D
+:10A33000000000000000000000000000000000001D
+:10A34000000000000000000000000000000000000D
+:10A3500000000000000000000000000000000000FD
+:10A3600000000000000000000000000000000000ED
+:10A3700000000000000000000000000000000000DD
+:10A3800000000000000000000000000000000000CD
+:10A3900000000000000000000000000000000000BD
+:10A3A00000000000000000000000000000000000AD
+:10A3B000000000000000000000000000000000009D
+:10A3C000000000000000000000000000000000008D
+:10A3D000000000000000000000000000000000007D
+:10A3E000000000000000000000000000000000026B
+:10A3F000020202020202020100000001010100004B
+:10A40000000001010101010101010101010101003F
+:10A41000000000000000000000000000000000003C
+:10A42000000000000000000000000000000000002C
+:10A43000000000000000000000000000000000001C
+:10A44000000000000000000000000000000000000C
+:10A4500000000000000000000000000000000000FC
+:10A4600000000000000000000000000000000000EC
+:10A4700000000000000000000000000000000000DC
+:10A4800000000000000000000000000000000000CC
+:10A4900000000000000000000000000000000000BC
+:10A4A00000000000000000000000000000000000AC
+:10A4B000000000000000000000000000000000009C
+:10A4C000000000000000000000000000000000008C
+:10A4D000000000000000000000000000000000007C
+:10A4E000000000000000000000000000000000026A
+:10A4F0000202020202020202000100020201000046
+:10A50000000101010101010101010101010101003D
+:10A51000000000000000000000000000000000003B
+:10A52000000000000000000000000000000000002B
+:10A53000000000000000000000000000000000001B
+:10A54000000000000000000000000000000000000B
+:10A5500000000000000000000000000000000000FB
+:10A5600000000000000000000000000000000000EB
+:10A5700000000000000000000000000000000000DB
+:10A5800000000000000000000000000000000000CB
+:10A5900000000000000000000000000000000000BB
+:10A5A00000000000000000000000000000000000AB
+:10A5B000000000000000000000000000000000009B
+:10A5C000000000000000000000000000000000008B
+:10A5D000000000000000000000000000000000007B
+:10A5E0000000000000000000000000000000000269
+:10A5F0000202020202020202020201020201000041
+:10A60000000101010101010101010101010101003C
+:10A61000000000000000000000000000000000003A
+:10A62000000000000000000000000000000000002A
+:10A63000000000000000000000000000000000001A
+:10A64000000000000000000000000000000000000A
+:10A6500000000000000000000000000000000000FA
+:10A6600000000000000000000000000000000000EA
+:10A6700000000000000000000000000000000000DA
+:10A6800000000000000000000000000000000000CA
+:10A6900000000000000000000000000000000000BA
+:10A6A00000000000000000000000000000000000AA
+:10A6B000000000000000000000000000000000009A
+:10A6C000000000000000000000000000000000008A
+:10A6D000000000000000000000000000000000007A
+:10A6E0000000000000000000000000000000000268
+:10A6F000020202020202020202020202020200003E
+:10A70000000101010101010101010101010101003B
+:10A710000000000000000000000000000000000039
+:10A720000000000000000000000000000000000029
+:10A730000000000000000000000000000000000019
+:10A740000000000000000000000000000000000009
+:10A7500000000000000000000000000000000000F9
+:10A7600000000000000000000000000000000000E9
+:10A7700000000000000000000000000000000000D9
+:10A7800000000000000000000000000000000000C9
+:10A7900000000000000000000000000000000000B9
+:10A7A00000000000000000000000000000000000A9
+:10A7B0000000000000000000000000000000000099
+:10A7C0000000000000000000000000000000000089
+:10A7D0000000000000000000000000000000000079
+:10A7E0000000000000000000000000000000000267
+:10A7F000020202020202020202020202020200003D
+:10A800000101010101010101010101010101010039
+:10A810000000000000000000000000000000000038
+:10A820000000000000000000000000000000000028
+:10A830000000000000000000000000000000000018
+:10A840000000000000000000000000000000000008
+:10A8500000000000000000000000000000000000F8
+:10A8600000000000000000000000000000000000E8
+:10A8700000000000000000000000000000000000D8
+:10A8800000000000000000000000000000000000C8
+:10A8900000000000000000000000000000000000B8
+:10A8A00000000000000000000000000000000000A8
+:10A8B0000000000000000000000000000000000098
+:10A8C0000000000000000000000000000000000088
+:10A8D0000000000000000000000000000000000078
+:10A8E0000000000000000000000000000000000266
+:10A8F000020202020202020202020202020200003C
+:10A900000101010101010101010101010101010038
+:10A910000000000000000000000000000000000037
+:10A920000000000000000000000000000000000027
+:10A930000000000000000000000000000000000017
+:10A940000000000000000000000000000000000007
+:10A9500000000000000000000000000000000000F7
+:10A9600000000000000000000000000000000000E7
+:10A9700000000000000000000000000000000000D7
+:10A9800000000000000000000000000000000000C7
+:10A9900000000000000000000000000000000000B7
+:10A9A00000000000000000000000000000000000A7
+:10A9B0000000000000000000000000000000000097
+:10A9C0000000000000000000000000000000000087
+:10A9D0000000000000000000000000000000000077
+:10A9E0000000000000000000000000000000000265
+:10A9F000020202020202020202020202020200003B
+:10AA00000101010101010101010101010101010037
+:10AA10000000000000000000000000000000000036
+:10AA20000000000000000000000000000000000026
+:10AA30000000000000000000000000000000000016
+:10AA40000000000000000000000000000000000006
+:10AA500000000000000000000000000000000000F6
+:10AA600000000000000000000000000000000000E6
+:10AA700000000000000000000000000000000000D6
+:10AA800000000000000000000000000000000000C6
+:10AA900000000000000000000000000000000000B6
+:10AAA00000000000000000000000000000000000A6
+:10AAB0000000000000000000000000000000000096
+:10AAC0000000000000000000000000000000000086
+:10AAD0000000000000000000000000000000000076
+:10AAE0000000000000000000000000000000000264
+:10AAF000020202020202020202020202020200003A
+:10AB00000101010101010101010101010101010036
+:10AB10000000000000000000000000000000000035
+:10AB20000000000000000000000000000000000025
+:10AB30000000000000000000000000000000000015
+:10AB40000000000000000000000000000000000005
+:10AB500000000000000000000000000000000000F5
+:10AB600000000000000000000000000000000000E5
+:10AB700000000000000000000000000000000000D5
+:10AB800000000000000000000000000000000000C5
+:10AB900000000000000000000000000000000000B5
+:10ABA00000000000000000000000000000000000A5
+:10ABB0000000000000000000000000000000000095
+:10ABC0000000000000000000000000000000000085
+:10ABD0000000000000000000000000000000000075
+:10ABE0000000000000000000000000000000000263
+:10ABF0000202020202020202020202020202000039
+:10AC00000000000000000000000000000000000044
+:10AC10000000000000000000000000000000000034
+:10AC20000000000000000000000000000000000024
+:10AC30000000000000000000000000000000000014
+:10AC40000000000000000000000000000000000004
+:10AC500000000000000000000000000000000000F4
+:10AC600000000000000000000000000000000000E4
+:10AC700000000000000000000000000000000000D4
+:10AC800000000000000000000000000000000000C4
+:10AC900000000000000000000000000000000000B4
+:10ACA00000000000000000000000000000000000A4
+:10ACB0000000000000000000000000000000000094
+:10ACC0000000000000000000000000000000000084
+:10ACD0000000000000000000000000000000000074
+:10ACE0000000000000000000000000000000000064
+:10ACF000000000000000000000000000000000153F
+:10AD00000000000000000000000000000000000043
+:10AD10000000000000000100000000000000000032
+:10AD20000000000000000000000000000000000023
+:10AD30000000000000000000000000000000000013
+:10AD40000000000000000000000000000000000003
+:10AD500000000000000000000000000000000000F3
+:10AD600000000000000000000000000000000000E3
+:10AD700000000000000000000000000000000000D3
+:10AD800000000000000000000000000000000000C3
+:10AD900000000000000000000000000000000000B3
+:10ADA00000000000000000000000000000000000A3
+:10ADB0000000000000000000000000000000000093
+:10ADC0000000000000000000000000000000000083
+:10ADD0000000000000000000000000000000000073
+:10ADE0000000000000000000000000000000000063
+:10ADF0000000000000000002000000000000000051
+:10AE00000000000000000000000000000000000042
+:10AE10000000000000010100000000000000000030
+:10AE20000000000000000000000000000000000022
+:10AE30000000000000000000000000000000000012
+:10AE40000000000000000000000000000000000002
+:10AE500000000000000000000000000000000000F2
+:10AE600000000000000000000000000000000000E2
+:10AE700000000000000000000000000000000000D2
+:10AE800000000000000000000000000000000000C2
+:10AE900000000000000000000000000000000000B2
+:10AEA00000000000000000000000000000000000A2
+:10AEB0000000000000000000000000000000000092
+:10AEC0000000000000000000000000000000000082
+:10AED0000000000000000000000000000000000072
+:10AEE0000000000000000000000000000000000062
+:10AEF0000000000000000002000000000000000050
+:10AF00000000000000000000000000000000000041
+:10AF1000000000000001010000000000000000002F
+:10AF20000000000000000000000000000000000021
+:10AF30000000000000000000000000000000000011
+:10AF40000000000000000000000000000000000001
+:10AF500000000000000000000000000000000000F1
+:10AF600000000000000000000000000000000000E1
+:10AF700000000000000000000000000000000000D1
+:10AF800000000000000000000000000000000000C1
+:10AF900000000000000000000000000000000000B1
+:10AFA00000000000000000000000000000000000A1
+:10AFB0000000000000000000000000000000000091
+:10AFC0000000000000000000000000000000000081
+:10AFD0000000000000000000000000000000000071
+:10AFE0000000000000000000000000000000000061
+:10AFF000000000000000000200000000000000004F
+:10B000000000000000000000000000000000000040
+:10B01000000000000101010000000000000000002D
+:10B020000000000000000000000000000000000020
+:10B030000000000000000000000000000000000010
+:10B040000000000000000000000000000000000000
+:10B0500000000000000000000000000000000000F0
+:10B0600000000000000000000000000000000000E0
+:10B0700000000000000000000000000000000000D0
+:10B0800000000000000000000000000000000000C0
+:10B0900000000000000000000000000000000000B0
+:10B0A00000000000000000000000000000000000A0
+:10B0B0000000000000000000000000000000000090
+:10B0C0000000000000000000000000000000000080
+:10B0D0000000000000000000000000000000000070
+:10B0E0000000000000000000000000000000000060
+:10B0F000000000000000000202000000000000004C
+:10B10000000000000000000000000000000000003F
+:10B11000000000000101010000000000000000002C
+:10B12000000000000000000000000000000000001F
+:10B13000000000000000000000000000000000000F
+:10B1400000000000000000000000000000000000FF
+:10B1500000000000000000000000000000000000EF
+:10B1600000000000000000000000000000000000DF
+:10B1700000000000000000000000000000000000CF
+:10B1800000000000000000000000000000000000BF
+:10B1900000000000000000000000000000000000AF
+:10B1A000000000000000000000000000000000009F
+:10B1B000000000000000000000000000000000008F
+:10B1C000000000000000000000000000000000007F
+:10B1D000000000000000000000000000000000006F
+:10B1E000000000000000000000000000000000005F
+:10B1F000000000000000000202000000000000004B
+:10B20000000000000000000000000000000000003E
+:10B210000000010101010100000000000000000029
+:10B22000000000000000000000000000000000001E
+:10B23000000000000000000000000000000000000E
+:10B2400000000000000000000000000000000000FE
+:10B2500000000000000000000000000000000000EE
+:10B2600000000000000000000000000000000000DE
+:10B2700000000000000000000000000000000000CE
+:10B2800000000000000000000000000000000000BE
+:10B2900000000000000000000000000000000000AE
+:10B2A000000000000000000000000000000000009E
+:10B2B000000000000000000000000000000000008E
+:10B2C000000000000000000000000000000000007E
+:10B2D000000000000000000000000000000000006E
+:10B2E000000000000000000000000000000000005E
+:10B2F000000000000000000202000000000000004A
+:10B30000000000000000000000000000000000003D
+:10B310000001010101010100000000000000000027
+:10B32000000000000000000000000000000000001D
+:10B33000000000000000000000000000000000000D
+:10B3400000000000000000000000000000000000FD
+:10B3500000000000000000000000000000000000ED
+:10B3600000000000000000000000000000000000DD
+:10B3700000000000000000000000000000000000CD
+:10B3800000000000000000000000000000000000BD
+:10B3900000000000000000000000000000000000AD
+:10B3A000000000000000000000000000000000009D
+:10B3B000000000000000000000000000000000008D
+:10B3C000000000000000000000000000000000007D
+:10B3D000000000000000000000000000000000006D
+:10B3E000000000000000000000000000000000005D
+:10B3F0000000000000000002020000000000000049
+:10B40000000000000000000000000000000000003C
+:10B410000101010101010100000000000000000025
+:10B42000000000000000000000000000000000001C
+:10B43000000000000000000000000000000000000C
+:10B4400000000000000000000000000000000000FC
+:10B4500000000000000000000000000000000000EC
+:10B4600000000000000000000000000000000000DC
+:10B4700000000000000000000000000000000000CC
+:10B4800000000000000000000000000000000000BC
+:10B4900000000000000000000000000000000000AC
+:10B4A000000000000000000000000000000000009C
+:10B4B000000000000000000000000000000000008C
+:10B4C000000000000000000000000000000000007C
+:10B4D000000000000000000000000000000000006C
+:10B4E000000000000000000000000000000000005C
+:10B4F0000000000000000002020202000000000044
+:10B50000000000000000000000000000000000013A
+:10B510000101010101010100000000000000000024
+:10B52000000000000000000000000000000000001B
+:10B53000000000000000000000000000000000000B
+:10B5400000000000000000000000000000000000FB
+:10B5500000000000000000000000000000000000EB
+:10B5600000000000000000000000000000000000DB
+:10B5700000000000000000000000000000000000CB
+:10B5800000000000000000000000000000000000BB
+:10B5900000000000000000000000000000000000AB
+:10B5A000000000000000000000000000000000009B
+:10B5B000000000000000000000000000000000008B
+:10B5C000000000000000000000000000000000007B
+:10B5D000000000000000000000000000000000006B
+:10B5E000000000000000000000000000000000005B
+:10B5F0000000000000000002020202000000000043
+:10B600000000000000000000000000000000010138
+:10B610000101010101010100000000000000000023
+:10B62000000000000000000000000000000000001A
+:10B63000000000000000000000000000000000000A
+:10B6400000000000000000000000000000000000FA
+:10B6500000000000000000000000000000000000EA
+:10B6600000000000000000000000000000000000DA
+:10B6700000000000000000000000000000000000CA
+:10B6800000000000000000000000000000000000BA
+:10B6900000000000000000000000000000000000AA
+:10B6A000000000000000000000000000000000009A
+:10B6B000000000000000000000000000000000008A
+:10B6C000000000000000000000000000000000007A
+:10B6D000000000000000000000000000000000006A
+:10B6E000000000000000000000000000000000005A
+:10B6F0000000000000000002020202020000000040
+:10B700000000000000000000000000000101010135
+:10B710000101010101010100000000000000000022
+:10B720000000000000000000000000000000000019
+:10B730000000000000000000000000000000000009
+:10B7400000000000000000000000000000000000F9
+:10B7500000000000000000000000000000000000E9
+:10B7600000000000000000000000000000000000D9
+:10B7700000000000000000000000000000000000C9
+:10B7800000000000000000000000000000000000B9
+:10B7900000000000000000000000000000000000A9
+:10B7A0000000000000000000000000000000000099
+:10B7B0000000000000000000000000000000000089
+:10B7C0000000000000000000000000000000000079
+:10B7D0000000000000000000000000000000000069
+:10B7E0000000000000000000000000000000000059
+:10B7F000000000000000000202020202020200003B
+:10B800000000000000000000000000010101010133
+:10B810000101010101010100000000000000000021
+:10B820000000000000000000000000000000000018
+:10B830000000000000000000000000000000000008
+:10B8400000000000000000000000000000000000F8
+:10B8500000000000000000000000000000000000E8
+:10B8600000000000000000000000000000000000D8
+:10B8700000000000000000000000000000000000C8
+:10B8800000000000000000000000000000000000B8
+:10B8900000000000000000000000000000000000A8
+:10B8A0000000000000000000000000000000000098
+:10B8B0000000000000000000000000000000000088
+:10B8C0000000000000000000000000000000000078
+:10B8D0000000000000000000000000000000000068
+:10B8E0000000000000000000000000000000000058
+:10B8F0000000000000000002020202020202020038
+:10B900000000000000010000000000010101010131
+:10B910000101010101010100000000000000000020
+:10B920000000000000000000000000000000000017
+:10B930000000000000000000000000000000000007
+:10B9400000000000000000000000000000000000F7
+:10B9500000000000000000000000000000000000E7
+:10B9600000000000000000000000000000000000D7
+:10B9700000000000000000000000000000000000C7
+:10B9800000000000000000000000000000000000B7
+:10B9900000000000000000000000000000000000A7
+:10B9A0000000000000000000000000000000000097
+:10B9B0000000000000000000000000000000000087
+:10B9C0000000000000000000000000000000000077
+:10B9D0000000000000000000000000000000000067
+:10B9E0000000000000000000000000000000000057
+:10B9F0000000000000000002020202020202020235
+:10BA0000000000000001000000010101010101012E
+:10BA1000010101010101010000000000000000001F
+:10BA20000000000000000000000000000000000016
+:10BA30000000000000000000000000000000000006
+:10BA400000000000000000000000000000000000F6
+:10BA500000000000000000000000000000000000E6
+:10BA600000000000000000000000000000000000D6
+:10BA700000000000000000000000000000000000C6
+:10BA800000000000000000000000000000000000B6
+:10BA900000000000000000000000000000000000A6
+:10BAA0000000000000000000000000000000000096
+:10BAB0000000000000000000000000000000000086
+:10BAC0000000000000000000000000000000000076
+:10BAD0000000000000000000000000000000000066
+:10BAE0000000000000000000000000000000000056
+:10BAF0000000000000000002020202020202020234
+:10BB0000020000000001000000010101010101012B
+:10BB1000010101010101010000000000000000001E
+:10BB20000000000000000000000000000000000015
+:10BB30000000000000000000000000000000000005
+:10BB400000000000000000000000000000000000F5
+:10BB500000000000000000000000000000000000E5
+:10BB600000000000000000000000000000000000D5
+:10BB700000000000000000000000000000000000C5
+:10BB800000000000000000000000000000000000B5
+:10BB900000000000000000000000000000000000A5
+:10BBA0000000000000000000000000000000000095
+:10BBB0000000000000000000000000000000000085
+:10BBC0000000000000000000000000000000000075
+:10BBD0000000000000000000000000000000000065
+:10BBE0000000000000000000000000000000000055
+:10BBF0000000000000000002020202020202020233
+:10BC00000202000000010000000101010101010128
+:10BC1000010101010101010000000000000000001D
+:10BC20000000000000000000000000000000000014
+:10BC30000000000000000000000000000000000004
+:10BC400000000000000000000000000000000000F4
+:10BC500000000000000000000000000000000000E4
+:10BC600000000000000000000000000000000000D4
+:10BC700000000000000000000000000000000000C4
+:10BC800000000000000000000000000000000000B4
+:10BC900000000000000000000000000000000000A4
+:10BCA0000000000000000000000000000000000094
+:10BCB0000000000000000000000000000000000084
+:10BCC0000000000000000000000000000000000074
+:10BCD0000000000000000000000000000000000064
+:10BCE0000000000000000000000000000000000054
+:10BCF0000000000000000002020202020202020232
+:10BD00000202020201020000000101010101010121
+:10BD1000010101010101010000000000000000001C
+:10BD20000000000000000000000000000000000013
+:10BD30000000000000000000000000000000000003
+:10BD400000000000000000000000000000000000F3
+:10BD500000000000000000000000000000000000E3
+:10BD600000000000000000000000000000000000D3
+:10BD700000000000000000000000000000000000C3
+:10BD800000000000000000000000000000000000B3
+:10BD900000000000000000000000000000000000A3
+:10BDA0000000000000000000000000000000000093
+:10BDB0000000000000000000000000000000000083
+:10BDC0000000000000000000000000000000000073
+:10BDD0000000000000000000000000000000000063
+:10BDE0000000000000000000000000000000000053
+:10BDF0000000000000000002020202020202020231
+:10BE0000020202020202000001010101010101011E
+:10BE1000010101010101010000000000000000001B
+:10BE20000000000000000000000000000000000012
+:10BE30000000000000000000000000000000000002
+:10BE400000000000000000000000000000000000F2
+:10BE500000000000000000000000000000000000E2
+:10BE600000000000000000000000000000000000D2
+:10BE700000000000000000000000000000000000C2
+:10BE800000000000000000000000000000000000B2
+:10BE900000000000000000000000000000000000A2
+:10BEA0000000000000000000000000000000000092
+:10BEB0000000000000000000000000000000000082
+:10BEC0000000000000000000000000000000000072
+:10BED0000000000000000000000000000000000062
+:10BEE0000000000000000000000000000000000052
+:10BEF0000000000000000002020202020202020230
+:10BF0000020202020202000001010101010101011D
+:10BF1000010101010101010000000000000000001A
+:10BF20000000000000000000000000000000000011
+:10BF30000000000000000000000000000000000001
+:10BF400000000000000000000000000000000000F1
+:10BF500000000000000000000000000000000000E1
+:10BF600000000000000000000000000000000000D1
+:10BF700000000000000000000000000000000000C1
+:10BF800000000000000000000000000000000000B1
+:10BF900000000000000000000000000000000000A1
+:10BFA0000000000000000000000000000000000091
+:10BFB0000000000000000000000000000000000081
+:10BFC0000000000000000000000000000000000071
+:10BFD0000000000000000000000000000000000061
+:10BFE0000000000000000000000000000000000051
+:10BFF000000000000000000202020202020202022F
+:10C00000020202020202000001010101010101011C
+:10C010000101010101010100000000000000000019
+:10C020000000000000000000000000000000000010
+:10C030000000000000000000000000000000000000
+:10C0400000000000000000000000000000000000F0
+:10C0500000000000000000000000000000000000E0
+:10C0600000000000000000000000000000000000D0
+:10C0700000000000000000000000000000000000C0
+:10C0800000000000000000000000000000000000B0
+:10C0900000000000000000000000000000000000A0
+:10C0A0000000000000000000000000000000000090
+:10C0B0000000000000000000000000000000000080
+:10C0C0000000000000000000000000000000000070
+:10C0D0000000000000000000000000000000000060
+:10C0E0000000000000000000000000000000000050
+:10C0F000000000000000000202020202020202022E
+:10C100000202020202020000000000000000000023
+:10C11000000000000000000000000000000000001F
+:10C12000000000000000000000000000000000000F
+:10C1300000000000000000000000000000000000FF
+:10C1400000000000000000000000000000000000EF
+:10C1500000000000000000000000000000000000DF
+:10C1600000000000000000000000000000000000CF
+:10C1700000000000000000000000000000000000BF
+:10C1800000000000000000000000000000000000AF
+:10C19000000000000000000000000000000000009F
+:10C1A000000000000000000000000000000000008F
+:10C1B000000000000000000000000000000000007F
+:10C1C000000000000000000000000000000000006F
+:10C1D000000000000000000000000000000000005F
+:10C1E000000000000000000000000000000000004F
+:10C1F000000000000000000000000000000000003F
+:10C200000000000000000015000000000000000019
+:10C21000000000000000000000000000000001001D
+:10C22000000000000000000000000000000000000E
+:10C2300000000000000000000000000000000000FE
+:10C2400000000000000000000000000000000000EE
+:10C2500000000000000000000000000000000000DE
+:10C2600000000000000000000000000000000000CE
+:10C2700000000000000000000000000000000000BE
+:10C2800000000000000000000000000000000000AE
+:10C29000000000000000000000000000000000009E
+:10C2A000000000000000000000000000000000008E
+:10C2B000000000000000000000000000000000007E
+:10C2C000000000000000000000000000000000006E
+:10C2D000000000000000000000000000000000005E
+:10C2E000000000000000000000000000000000004E
+:10C2F000000000000000000000000000000000023C
+:10C30000000000000000000000000000000000002D
+:10C31000000000000000000000000000000101001B
+:10C32000000000000000000000000000000000000D
+:10C3300000000000000000000000000000000000FD
+:10C3400000000000000000000000000000000000ED
+:10C3500000000000000000000000000000000000DD
+:10C3600000000000000000000000000000000000CD
+:10C3700000000000000000000000000000000000BD
+:10C3800000000000000000000000000000000000AD
+:10C39000000000000000000000000000000000009D
+:10C3A000000000000000000000000000000000008D
+:10C3B000000000000000000000000000000000007D
+:10C3C000000000000000000000000000000000006D
+:10C3D000000000000000000000000000000000005D
+:10C3E000000000000000000000000000000000004D
+:10C3F000000000000000000000000000000000023B
+:10C40000000000000000000000000000000000002C
+:10C41000000000000000000000000000000101001A
+:10C42000000000000000000000000000000000000C
+:10C4300000000000000000000000000000000000FC
+:10C4400000000000000000000000000000000000EC
+:10C4500000000000000000000000000000000000DC
+:10C4600000000000000000000000000000000000CC
+:10C4700000000000000000000000000000000000BC
+:10C4800000000000000000000000000000000000AC
+:10C49000000000000000000000000000000000009C
+:10C4A000000000000000000000000000000000008C
+:10C4B000000000000000000000000000000000007C
+:10C4C000000000000000000000000000000000006C
+:10C4D000000000000000000000000000000000005C
+:10C4E000000000000000000000000000000000004C
+:10C4F000000000000000000000000000000000023A
+:10C50000000000000000000000000000000000002B
+:10C510000000000000000000000000000101010018
+:10C52000000000000000000000000000000000000B
+:10C5300000000000000000000000000000000000FB
+:10C5400000000000000000000000000000000000EB
+:10C5500000000000000000000000000000000000DB
+:10C5600000000000000000000000000000000000CB
+:10C5700000000000000000000000000000000000BB
+:10C5800000000000000000000000000000000000AB
+:10C59000000000000000000000000000000000009B
+:10C5A000000000000000000000000000000000008B
+:10C5B000000000000000000000000000000000007B
+:10C5C000000000000000000000000000000000006B
+:10C5D000000000000000000000000000000000005B
+:10C5E000000000000000000000000000000000004B
+:10C5F0000000000000000000000000000000000239
+:10C60000000000000000000000000000000000002A
+:10C610000000000000000000000000000101010017
+:10C62000000000000000000000000000000000000A
+:10C6300000000000000000000000000000000000FA
+:10C6400000000000000000000000000000000000EA
+:10C6500000000000000000000000000000000000DA
+:10C6600000000000000000000000000000000000CA
+:10C6700000000000000000000000000000000000BA
+:10C6800000000000000000000000000000000000AA
+:10C69000000000000000000000000000000000009A
+:10C6A000000000000000000000000000000000008A
+:10C6B000000000000000000000000000000000007A
+:10C6C000000000000000000000000000000000006A
+:10C6D000000000000000000000000000000000005A
+:10C6E000000000000000000000000000000000004A
+:10C6F0000000000000000000000000000000000238
+:10C700000000000000000000000000000000000029
+:10C710000000000000000000000000010101010015
+:10C720000000000000000000000000000000000009
+:10C7300000000000000000000000000000000000F9
+:10C7400000000000000000000000000000000000E9
+:10C7500000000000000000000000000000000000D9
+:10C7600000000000000000000000000000000000C9
+:10C7700000000000000000000000000000000000B9
+:10C7800000000000000000000000000000000000A9
+:10C790000000000000000000000000000000000099
+:10C7A0000000000000000000000000000000000089
+:10C7B0000000000000000000000000000000000079
+:10C7C0000000000000000000000000000000000069
+:10C7D0000000000000000000000000000000000059
+:10C7E0000000000000000000000000000000000049
+:10C7F0000000000000000000000000000000000237
+:10C800000200000000000000000000000000000026
+:10C810000000000000000000000000010101010014
+:10C820000000000000000000000000000000000008
+:10C8300000000000000000000000000000000000F8
+:10C8400000000000000000000000000000000000E8
+:10C8500000000000000000000000000000000000D8
+:10C8600000000000000000000000000000000000C8
+:10C8700000000000000000000000000000000000B8
+:10C8800000000000000000000000000000000000A8
+:10C890000000000000000000000000000000000098
+:10C8A0000000000000000000000000000000000088
+:10C8B0000000000000000000000000000000000078
+:10C8C0000000000000000000000000000000000068
+:10C8D0000000000000000000000000000000000058
+:10C8E0000000000000000000000000000000000048
+:10C8F0000000000000000000000000000000000236
+:10C900000200000000000000000000000000000025
+:10C91000000000000000000101010101010101000F
+:10C920000000000000000000000000000000000007
+:10C9300000000000000000000000000000000000F7
+:10C9400000000000000000000000000000000000E7
+:10C9500000000000000000000000000000000000D7
+:10C9600000000000000000000000000000000000C7
+:10C9700000000000000000000000000000000000B7
+:10C9800000000000000000000000000000000000A7
+:10C990000000000000000000000000000000000097
+:10C9A0000000000000000000000000000000000087
+:10C9B0000000000000000000000000000000000077
+:10C9C0000000000000000000000000000000000067
+:10C9D0000000000000000000000000000000000057
+:10C9E0000000000000000000000000000000000047
+:10C9F0000000000000000000000000000000000235
+:10CA00000202000000000000000000000001000021
+:10CA1000000000000000000101010101010101000E
+:10CA20000000000000000000000000000000000006
+:10CA300000000000000000000000000000000000F6
+:10CA400000000000000000000000000000000000E6
+:10CA500000000000000000000000000000000000D6
+:10CA600000000000000000000000000000000000C6
+:10CA700000000000000000000000000000000000B6
+:10CA800000000000000000000000000000000000A6
+:10CA90000000000000000000000000000000000096
+:10CAA0000000000000000000000000000000000086
+:10CAB0000000000000000000000000000000000076
+:10CAC0000000000000000000000000000000000066
+:10CAD0000000000000000000000000000000000056
+:10CAE0000000000000000000000000000000000046
+:10CAF0000000000000000000000000000000000234
+:10CB0000020202020000000000000000000100001C
+:10CB1000000000000001010101010101010101000B
+:10CB20000000000000000000000000000000000005
+:10CB300000000000000000000000000000000000F5
+:10CB400000000000000000000000000000000000E5
+:10CB500000000000000000000000000000000000D5
+:10CB600000000000000000000000000000000000C5
+:10CB700000000000000000000000000000000000B5
+:10CB800000000000000000000000000000000000A5
+:10CB90000000000000000000000000000000000095
+:10CBA0000000000000000000000000000000000085
+:10CBB0000000000000000000000000000000000075
+:10CBC0000000000000000000000000000000000065
+:10CBD0000000000000000000000000000000000055
+:10CBE0000000000000000000000000000000000045
+:10CBF0000000000000000000000000000000000233
+:10CC0000020202020000000000000000000100001B
+:10CC10000000000001010101010101010101010009
+:10CC20000000000000000000000000000000000004
+:10CC300000000000000000000000000000000000F4
+:10CC400000000000000000000000000000000000E4
+:10CC500000000000000000000000000000000000D4
+:10CC600000000000000000000000000000000000C4
+:10CC700000000000000000000000000000000000B4
+:10CC800000000000000000000000000000000000A4
+:10CC90000000000000000000000000000000000094
+:10CCA0000000000000000000000000000000000084
+:10CCB0000000000000000000000000000000000074
+:10CCC0000000000000000000000000000000000064
+:10CCD0000000000000000000000000000000000054
+:10CCE0000000000000000000000000000000000044
+:10CCF0000000000000000000000000000000000232
+:10CD00000202020202000000000000000001000018
+:10CD10000000000001010101010101010101010008
+:10CD20000000000000000000000000000000000003
+:10CD300000000000000000000000000000000000F3
+:10CD400000000000000000000000000000000000E3
+:10CD500000000000000000000000000000000000D3
+:10CD600000000000000000000000000000000000C3
+:10CD700000000000000000000000000000000000B3
+:10CD800000000000000000000000000000000000A3
+:10CD90000000000000000000000000000000000093
+:10CDA0000000000000000000000000000000000083
+:10CDB0000000000000000000000000000000000073
+:10CDC0000000000000000000000000000000000063
+:10CDD0000000000000000000000000000000000053
+:10CDE0000000000000000000000000000000000043
+:10CDF0000000000000000000000000000000000231
+:10CE00000202020202020200000000000001000013
+:10CE10000000010101010101010101010101010005
+:10CE20000000000000000000000000000000000002
+:10CE300000000000000000000000000000000000F2
+:10CE400000000000000000000000000000000000E2
+:10CE500000000000000000000000000000000000D2
+:10CE600000000000000000000000000000000000C2
+:10CE700000000000000000000000000000000000B2
+:10CE800000000000000000000000000000000000A2
+:10CE90000000000000000000000000000000000092
+:10CEA0000000000000000000000000000000000082
+:10CEB0000000000000000000000000000000000072
+:10CEC0000000000000000000000000000000000062
+:10CED0000000000000000000000000000000000052
+:10CEE0000000000000000000000000000000000042
+:10CEF0000000000000000000000000000000000230
+:10CF00000202020202020200000000000001000012
+:10CF10000001010101010101010101010101010003
+:10CF20000000000000000000000000000000000001
+:10CF300000000000000000000000000000000000F1
+:10CF400000000000000000000000000000000000E1
+:10CF500000000000000000000000000000000000D1
+:10CF600000000000000000000000000000000000C1
+:10CF700000000000000000000000000000000000B1
+:10CF800000000000000000000000000000000000A1
+:10CF90000000000000000000000000000000000091
+:10CFA0000000000000000000000000000000000081
+:10CFB0000000000000000000000000000000000071
+:10CFC0000000000000000000000000000000000061
+:10CFD0000000000000000000000000000000000051
+:10CFE0000000000000000000000000000000000041
+:10CFF000000000000000000000000000000000022F
+:10D000000202020202020202020202000002000008
+:10D010000001010101010101010101010101010002
+:10D020000000000000000000000000000000000000
+:10D0300000000000000000000000000000000000F0
+:10D0400000000000000000000000000000000000E0
+:10D0500000000000000000000000000000000000D0
+:10D0600000000000000000000000000000000000C0
+:10D0700000000000000000000000000000000000B0
+:10D0800000000000000000000000000000000000A0
+:10D090000000000000000000000000000000000090
+:10D0A0000000000000000000000000000000000080
+:10D0B0000000000000000000000000000000000070
+:10D0C0000000000000000000000000000000000060
+:10D0D0000000000000000000000000000000000050
+:10D0E0000000000000000000000000000000000040
+:10D0F000000000000000000000000000000000022E
+:10D100000202020202020202020202000002000007
+:10D110000101010101010101010101010101010000
+:10D1200000000000000000000000000000000000FF
+:10D1300000000000000000000000000000000000EF
+:10D1400000000000000000000000000000000000DF
+:10D1500000000000000000000000000000000000CF
+:10D1600000000000000000000000000000000000BF
+:10D1700000000000000000000000000000000000AF
+:10D18000000000000000000000000000000000009F
+:10D19000000000000000000000000000000000008F
+:10D1A000000000000000000000000000000000007F
+:10D1B000000000000000000000000000000000006F
+:10D1C000000000000000000000000000000000005F
+:10D1D000000000000000000000000000000000004F
+:10D1E000000000000000000000000000000000003F
+:10D1F000000000000000000000000000000000022D
+:10D200000202020202020202020202020102000003
+:10D2100001010101010101010101010101010100FF
+:10D2200000000000000000000000000000000000FE
+:10D2300000000000000000000000000000000000EE
+:10D2400000000000000000000000000000000000DE
+:10D2500000000000000000000000000000000000CE
+:10D2600000000000000000000000000000000000BE
+:10D2700000000000000000000000000000000000AE
+:10D28000000000000000000000000000000000009E
+:10D29000000000000000000000000000000000008E
+:10D2A000000000000000000000000000000000007E
+:10D2B000000000000000000000000000000000006E
+:10D2C000000000000000000000000000000000005E
+:10D2D000000000000000000000000000000000004E
+:10D2E000000000000000000000000000000000003E
+:10D2F000000000000000000000000000000000022C
+:10D300000202020202020202020202020202000001
+:10D3100001010101010101010101010101010100FE
+:10D3200000000000000000000000000000000000FD
+:10D3300000000000000000000000000000000000ED
+:10D3400000000000000000000000000000000000DD
+:10D3500000000000000000000000000000000000CD
+:10D3600000000000000000000000000000000000BD
+:10D3700000000000000000000000000000000000AD
+:10D38000000000000000000000000000000000009D
+:10D39000000000000000000000000000000000008D
+:10D3A000000000000000000000000000000000007D
+:10D3B000000000000000000000000000000000006D
+:10D3C000000000000000000000000000000000005D
+:10D3D000000000000000000000000000000000004D
+:10D3E000000000000000000000000000000000003D
+:10D3F000000000000000000000000000000000022B
+:10D400000202020202020202020202020202000000
+:10D4100001010101010101010101010101010100FD
+:10D4200000000000000000000000000000000000FC
+:10D4300000000000000000000000000000000000EC
+:10D4400000000000000000000000000000000000DC
+:10D4500000000000000000000000000000000000CC
+:10D4600000000000000000000000000000000000BC
+:10D4700000000000000000000000000000000000AC
+:10D48000000000000000000000000000000000009C
+:10D49000000000000000000000000000000000008C
+:10D4A000000000000000000000000000000000007C
+:10D4B000000000000000000000000000000000006C
+:10D4C000000000000000000000000000000000005C
+:10D4D000000000000000000000000000000000004C
+:10D4E000000000000000000000000000000000003C
+:10D4F000000000000000000000000000000000022A
+:10D5000002020202020202020202020202020000FF
+:10D5100001010101010101010101010101010100FC
+:10D5200000000000000000000000000000000000FB
+:10D5300000000000000000000000000000000000EB
+:10D5400000000000000000000000000000000000DB
+:10D5500000000000000000000000000000000000CB
+:10D5600000000000000000000000000000000000BB
+:10D5700000000000000000000000000000000000AB
+:10D58000000000000000000000000000000000009B
+:10D59000000000000000000000000000000000008B
+:10D5A000000000000000000000000000000000007B
+:10D5B000000000000000000000000000000000006B
+:10D5C000000000000000000000000000000000005B
+:10D5D000000000000000000000000000000000004B
+:10D5E000000000000000000000000000000000003B
+:10D5F0000000000000000000000000000000000229
+:10D6000002020202020202020202020202020000FE
+:10D61000000000000000000000000000000000000A
+:10D6200000000000000000000000000000000000FA
+:10D6300000000000000000000000000000000000EA
+:10D6400000000000000000000000000000000000DA
+:10D6500000000000000000000000000000000000CA
+:10D6600000000000000000000000000000000000BA
+:10D6700000000000000000000000000000000000AA
+:10D68000000000000000000000000000000000009A
+:10D69000000000000000000000000000000000008A
+:10D6A000000000000000000000000000000000007A
+:10D6B000000000000000000000000000000000006A
+:10D6C000000000000000000000000000000000005A
+:10D6D000000000000000000000000000000000004A
+:10D6E000000000000000000000000000000000003A
+:10D6F000000000000000000000000000000000002A
+:10D700000000000000000000000000000000001504
+:10D710000000000000000000000000000000000009
+:10D7200000000000000101000000000000000000F7
+:10D7300000000000000000000000000000000000E9
+:10D7400000000000000000000000000000000000D9
+:10D7500000000000000000000000000000000000C9
+:10D7600000000000000000000000000000000000B9
+:10D7700000000000000000000000000000000000A9
+:10D780000000000000000000000000000000000099
+:10D790000000000000000000000000000000000089
+:10D7A0000000000000000000000000000000000079
+:10D7B0000000000000000000000000000000000069
+:10D7C0000000000000000000000000000000000059
+:10D7D0000000000000000000000000000000000049
+:10D7E0000000000000000000000000000000000039
+:10D7F0000000000000000000000000000000000029
+:10D800000000000000000002000000000000000016
+:10D810000000000000000000000000000000000008
+:10D8200000000001010101000000000000000000F4
+:10D8300000000000000000000000000000000000E8
+:10D8400000000000000000000000000000000000D8
+:10D8500000000000000000000000000000000000C8
+:10D8600000000000000000000000000000000000B8
+:10D8700000000000000000000000000000000000A8
+:10D880000000000000000000000000000000000098
+:10D890000000000000000000000000000000000088
+:10D8A0000000000000000000000000000000000078
+:10D8B0000000000000000000000000000000000068
+:10D8C0000000000000000000000000000000000058
+:10D8D0000000000000000000000000000000000048
+:10D8E0000000000000000000000000000000000038
+:10D8F0000000000000000000000000000000000028
+:10D900000000000000000002000000000000000015
+:10D910000000000100000000000000000000000006
+:10D9200000000001010101000000000000000000F3
+:10D9300000000000000000000000000000000000E7
+:10D9400000000000000000000000000000000000D7
+:10D9500000000000000000000000000000000000C7
+:10D9600000000000000000000000000000000000B7
+:10D9700000000000000000000000000000000000A7
+:10D980000000000000000000000000000000000097
+:10D990000000000000000000000000000000000087
+:10D9A0000000000000000000000000000000000077
+:10D9B0000000000000000000000000000000000067
+:10D9C0000000000000000000000000000000000057
+:10D9D0000000000000000000000000000000000047
+:10D9E0000000000000000000000000000000000037
+:10D9F0000000000000000000000000000000000027
+:10DA00000000000000000002000000000000000014
+:10DA10000000000100010000000000000000000004
+:10DA200000000101010101000000000000000000F1
+:10DA300000000000000000000000000000000000E6
+:10DA400000000000000000000000000000000000D6
+:10DA500000000000000000000000000000000000C6
+:10DA600000000000000000000000000000000000B6
+:10DA700000000000000000000000000000000000A6
+:10DA80000000000000000000000000000000000096
+:10DA90000000000000000000000000000000000086
+:10DAA0000000000000000000000000000000000076
+:10DAB0000000000000000000000000000000000066
+:10DAC0000000000000000000000000000000000056
+:10DAD0000000000000000000000000000000000046
+:10DAE0000000000000000000000000000000000036
+:10DAF0000000000000000000000000000000000026
+:10DB00000000000000000002000000000000000013
+:10DB10000000000101010000000000000000000002
+:10DB200000010101010101000000000000000000EF
+:10DB300000000000000000000000000000000000E5
+:10DB400000000000000000000000000000000000D5
+:10DB500000000000000000000000000000000000C5
+:10DB600000000000000000000000000000000000B5
+:10DB700000000000000000000000000000000000A5
+:10DB80000000000000000000000000000000000095
+:10DB90000000000000000000000000000000000085
+:10DBA0000000000000000000000000000000000075
+:10DBB0000000000000000000000000000000000065
+:10DBC0000000000000000000000000000000000055
+:10DBD0000000000000000000000000000000000045
+:10DBE0000000000000000000000000000000000035
+:10DBF0000000000000000000000000000000000025
+:10DC00000000000000000002000000000000000012
+:10DC10000000000101010000000000000000000001
+:10DC200001010101010101000000000000000000ED
+:10DC300000000000000000000000000000000000E4
+:10DC400000000000000000000000000000000000D4
+:10DC500000000000000000000000000000000000C4
+:10DC600000000000000000000000000000000000B4
+:10DC700000000000000000000000000000000000A4
+:10DC80000000000000000000000000000000000094
+:10DC90000000000000000000000000000000000084
+:10DCA0000000000000000000000000000000000074
+:10DCB0000000000000000000000000000000000064
+:10DCC0000000000000000000000000000000000054
+:10DCD0000000000000000000000000000000000044
+:10DCE0000000000000000000000000000000000034
+:10DCF0000000000000000000000000000000000024
+:10DD0000000000000000000202000000000000000F
+:10DD10000000000101010000000000000000000000
+:10DD200001010101010101000000000000000000EC
+:10DD300000000000000000000000000000000000E3
+:10DD400000000000000000000000000000000000D3
+:10DD500000000000000000000000000000000000C3
+:10DD600000000000000000000000000000000000B3
+:10DD700000000000000000000000000000000000A3
+:10DD80000000000000000000000000000000000093
+:10DD90000000000000000000000000000000000083
+:10DDA0000000000000000000000000000000000073
+:10DDB0000000000000000000000000000000000063
+:10DDC0000000000000000000000000000000000053
+:10DDD0000000000000000000000000000000000043
+:10DDE0000000000000000000000000000000000033
+:10DDF0000000000000000000000000000000000023
+:10DE0000000000000000000202000000000000000E
+:10DE100000000001010100000000000000010101FC
+:10DE200001010101010101000000000000000000EB
+:10DE300000000000000000000000000000000000E2
+:10DE400000000000000000000000000000000000D2
+:10DE500000000000000000000000000000000000C2
+:10DE600000000000000000000000000000000000B2
+:10DE700000000000000000000000000000000000A2
+:10DE80000000000000000000000000000000000092
+:10DE90000000000000000000000000000000000082
+:10DEA0000000000000000000000000000000000072
+:10DEB0000000000000000000000000000000000062
+:10DEC0000000000000000000000000000000000052
+:10DED0000000000000000000000000000000000042
+:10DEE0000000000000000000000000000000000032
+:10DEF0000000000000000000000000000000000022
+:10DF00000000000000000002020202020000000007
+:10DF100000000001010100000000000000010101FB
+:10DF200001010101010101000000000000000000EA
+:10DF300000000000000000000000000000000000E1
+:10DF400000000000000000000000000000000000D1
+:10DF500000000000000000000000000000000000C1
+:10DF600000000000000000000000000000000000B1
+:10DF700000000000000000000000000000000000A1
+:10DF80000000000000000000000000000000000091
+:10DF90000000000000000000000000000000000081
+:10DFA0000000000000000000000000000000000071
+:10DFB0000000000000000000000000000000000061
+:10DFC0000000000000000000000000000000000051
+:10DFD0000000000000000000000000000000000041
+:10DFE0000000000000000000000000000000000031
+:10DFF0000000000000000000000000000000000021
+:10E000000000000000000002020202020200000004
+:10E0100000000001010100000000000000010101FA
+:10E0200001010101010101000000000000000000E9
+:10E0300000000000000000000000000000000000E0
+:10E0400000000000000000000000000000000000D0
+:10E0500000000000000000000000000000000000C0
+:10E0600000000000000000000000000000000000B0
+:10E0700000000000000000000000000000000000A0
+:10E080000000000000000000000000000000000090
+:10E090000000000000000000000000000000000080
+:10E0A0000000000000000000000000000000000070
+:10E0B0000000000000000000000000000000000060
+:10E0C0000000000000000000000000000000000050
+:10E0D0000000000000000000000000000000000040
+:10E0E0000000000000000000000000000000000030
+:10E0F0000000000000000000000000000000000020
+:10E100000000000000000002020202020200000003
+:10E1100000000001010100000000000000010101F9
+:10E1200001010101010101000000000000000000E8
+:10E1300000000000000000000000000000000000DF
+:10E1400000000000000000000000000000000000CF
+:10E1500000000000000000000000000000000000BF
+:10E1600000000000000000000000000000000000AF
+:10E17000000000000000000000000000000000009F
+:10E18000000000000000000000000000000000008F
+:10E19000000000000000000000000000000000007F
+:10E1A000000000000000000000000000000000006F
+:10E1B000000000000000000000000000000000005F
+:10E1C000000000000000000000000000000000004F
+:10E1D000000000000000000000000000000000003F
+:10E1E000000000000000000000000000000000002F
+:10E1F000000000000000000000000000000000001F
+:10E200000000000000000002020202020200000002
+:10E2100000000002010100000000000000010101F7
+:10E2200001010101010101000000000000000000E7
+:10E2300000000000000000000000000000000000DE
+:10E2400000000000000000000000000000000000CE
+:10E2500000000000000000000000000000000000BE
+:10E2600000000000000000000000000000000000AE
+:10E27000000000000000000000000000000000009E
+:10E28000000000000000000000000000000000008E
+:10E29000000000000000000000000000000000007E
+:10E2A000000000000000000000000000000000006E
+:10E2B000000000000000000000000000000000005E
+:10E2C000000000000000000000000000000000004E
+:10E2D000000000000000000000000000000000003E
+:10E2E000000000000000000000000000000000002E
+:10E2F000000000000000000000000000000000001E
+:10E300000000000000000002020202020201000000
+:10E3100000000102020200000000000001010101F2
+:10E3200001010101010101000000000000000000E6
+:10E3300000000000000000000000000000000000DD
+:10E3400000000000000000000000000000000000CD
+:10E3500000000000000000000000000000000000BD
+:10E3600000000000000000000000000000000000AD
+:10E37000000000000000000000000000000000009D
+:10E38000000000000000000000000000000000008D
+:10E39000000000000000000000000000000000007D
+:10E3A000000000000000000000000000000000006D
+:10E3B000000000000000000000000000000000005D
+:10E3C000000000000000000000000000000000004D
+:10E3D000000000000000000000000000000000003D
+:10E3E000000000000000000000000000000000002D
+:10E3F000000000000000000000000000000000001D
+:10E4000000000000000000020202020202020000FE
+:10E4100000000102020200000001010101010101EE
+:10E4200001010101010101000000000000000000E5
+:10E4300000000000000000000000000000000000DC
+:10E4400000000000000000000000000000000000CC
+:10E4500000000000000000000000000000000000BC
+:10E4600000000000000000000000000000000000AC
+:10E47000000000000000000000000000000000009C
+:10E48000000000000000000000000000000000008C
+:10E49000000000000000000000000000000000007C
+:10E4A000000000000000000000000000000000006C
+:10E4B000000000000000000000000000000000005C
+:10E4C000000000000000000000000000000000004C
+:10E4D000000000000000000000000000000000003C
+:10E4E000000000000000000000000000000000002C
+:10E4F000000000000000000000000000000000001C
+:10E5000000000000000000020202020202020202F9
+:10E5100001000102020200000001010101010101EC
+:10E5200001010101010101000000000000000000E4
+:10E5300000000000000000000000000000000000DB
+:10E5400000000000000000000000000000000000CB
+:10E5500000000000000000000000000000000000BB
+:10E5600000000000000000000000000000000000AB
+:10E57000000000000000000000000000000000009B
+:10E58000000000000000000000000000000000008B
+:10E59000000000000000000000000000000000007B
+:10E5A000000000000000000000000000000000006B
+:10E5B000000000000000000000000000000000005B
+:10E5C000000000000000000000000000000000004B
+:10E5D000000000000000000000000000000000003B
+:10E5E000000000000000000000000000000000002B
+:10E5F000000000000000000000000000000000001B
+:10E6000000000000000000020202020202020202F8
+:10E6100002010202020200000101010101010101E7
+:10E6200001010101010101000000000000000000E3
+:10E6300000000000000000000000000000000000DA
+:10E6400000000000000000000000000000000000CA
+:10E6500000000000000000000000000000000000BA
+:10E6600000000000000000000000000000000000AA
+:10E67000000000000000000000000000000000009A
+:10E68000000000000000000000000000000000008A
+:10E69000000000000000000000000000000000007A
+:10E6A000000000000000000000000000000000006A
+:10E6B000000000000000000000000000000000005A
+:10E6C000000000000000000000000000000000004A
+:10E6D000000000000000000000000000000000003A
+:10E6E000000000000000000000000000000000002A
+:10E6F000000000000000000000000000000000001A
+:10E7000000000000000000020202020202020202F7
+:10E7100002020202020200000101010101010101E5
+:10E7200001010101010101000000000000000000E2
+:10E7300000000000000000000000000000000000D9
+:10E7400000000000000000000000000000000000C9
+:10E7500000000000000000000000000000000000B9
+:10E7600000000000000000000000000000000000A9
+:10E770000000000000000000000000000000000099
+:10E780000000000000000000000000000000000089
+:10E790000000000000000000000000000000000079
+:10E7A0000000000000000000000000000000000069
+:10E7B0000000000000000000000000000000000059
+:10E7C0000000000000000000000000000000000049
+:10E7D0000000000000000000000000000000000039
+:10E7E0000000000000000000000000000000000029
+:10E7F0000000000000000000000000000000000019
+:10E8000000000000000000020202020202020202F6
+:10E8100002020202020200000101010101010101E4
+:10E8200001010101010101000000000000000000E1
+:10E8300000000000000000000000000000000000D8
+:10E8400000000000000000000000000000000000C8
+:10E8500000000000000000000000000000000000B8
+:10E8600000000000000000000000000000000000A8
+:10E870000000000000000000000000000000000098
+:10E880000000000000000000000000000000000088
+:10E890000000000000000000000000000000000078
+:10E8A0000000000000000000000000000000000068
+:10E8B0000000000000000000000000000000000058
+:10E8C0000000000000000000000000000000000048
+:10E8D0000000000000000000000000000000000038
+:10E8E0000000000000000000000000000000000028
+:10E8F0000000000000000000000000000000000018
+:10E9000000000000000000020202020202020202F5
+:10E9100002020202020200000101010101010101E3
+:10E9200001010101010101000000000000000000E0
+:10E9300000000000000000000000000000000000D7
+:10E9400000000000000000000000000000000000C7
+:10E9500000000000000000000000000000000000B7
+:10E9600000000000000000000000000000000000A7
+:10E970000000000000000000000000000000000097
+:10E980000000000000000000000000000000000087
+:10E990000000000000000000000000000000000077
+:10E9A0000000000000000000000000000000000067
+:10E9B0000000000000000000000000000000000057
+:10E9C0000000000000000000000000000000000047
+:10E9D0000000000000000000000000000000000037
+:10E9E0000000000000000000000000000000000027
+:10E9F0000000000000000000000000000000000017
+:10EA000000000000000000020202020202020202F4
+:10EA100002020202020200000101010101010101E2
+:10EA200001010101010101000000000000000000DF
+:10EA300000000000000000000000000000000000D6
+:10EA400000000000000000000000000000000000C6
+:10EA500000000000000000000000000000000000B6
+:10EA600000000000000000000000000000000000A6
+:10EA70000000000000000000000000000000000096
+:10EA80000000000000000000000000000000000086
+:10EA90000000000000000000000000000000000076
+:10EAA0000000000000000000000000000000000066
+:10EAB0000000000000000000000000000000000056
+:10EAC0000000000000000000000000000000000046
+:10EAD0000000000000000000000000000000000036
+:10EAE0000000000000000000000000000000000026
+:10EAF0000000000000000000000000000000000016
+:10EB000000000000000000020202020202020202F3
+:10EB100002020202020200000000000000000000E9
+:10EB200000000000000000000000000000000000E5
+:10EB300000000000000000000000000000000000D5
+:10EB400000000000000000000000000000000000C5
+:10EB500000000000000000000000000000000000B5
+:10EB600000000000000000000000000000000000A5
+:10EB70000000000000000000000000000000000095
+:10EB80000000000000000000000000000000000085
+:10EB90000000000000000000000000000000000075
+:10EBA0000000000000000000000000000000000065
+:10EBB0000000000000000000000000000000000055
+:10EBC0000000000000000000000000000000000045
+:10EBD0000000000000000000000000000000000035
+:10EBE0000000000000000000000000000000000025
+:10EBF0000000000000000000000000000000000015
+:10EC00000000000000000000000000000000000004
+:10EC100000000000000000150000000000000000DF
+:10EC200000000000000000000000000000010100E2
+:10EC300000000000000000000000000000000000D4
+:10EC400000000000000000000000000000000000C4
+:10EC500000000000000000000000000000000000B4
+:10EC600000000000000000000000000000000000A4
+:10EC70000000000000000000000000000000000094
+:10EC80000000000000000000000000000000000084
+:10EC90000000000000000000000000000000000074
+:10ECA0000000000000000000000000000000000064
+:10ECB0000000000000000000000000000000000054
+:10ECC0000000000000000000000000000000000044
+:10ECD0000000000000000000000000000000000034
+:10ECE0000000000000000000000000000000000024
+:10ECF0000000000000000000000000000000000014
+:10ED00000000000000000000000000000000000201
+:10ED100000000000000000000000000000000000F3
+:10ED200000000000000000000000000101010100DF
+:10ED300000000000000000000000000000000000D3
+:10ED400000000000000000000000000000000000C3
+:10ED500000000000000000000000000000000000B3
+:10ED600000000000000000000000000000000000A3
+:10ED70000000000000000000000000000000000093
+:10ED80000000000000000000000000000000000083
+:10ED90000000000000000000000000000000000073
+:10EDA0000000000000000000000000000000000063
+:10EDB0000000000000000000000000000000000053
+:10EDC0000000000000000000000000000000000043
+:10EDD0000000000000000000000000000000000033
+:10EDE0000000000000000000000000000000000023
+:10EDF0000000000000000000000000000000000013
+:10EE00000000000000000000000000000000000200
+:10EE100000000000000000000000000101000000F0
+:10EE200000000000000000000000000101010100DE
+:10EE300000000000000000000000000000000000D2
+:10EE400000000000000000000000000000000000C2
+:10EE500000000000000000000000000000000000B2
+:10EE600000000000000000000000000000000000A2
+:10EE70000000000000000000000000000000000092
+:10EE80000000000000000000000000000000000082
+:10EE90000000000000000000000000000000000072
+:10EEA0000000000000000000000000000000000062
+:10EEB0000000000000000000000000000000000052
+:10EEC0000000000000000000000000000000000042
+:10EED0000000000000000000000000000000000032
+:10EEE0000000000000000000000000000000000022
+:10EEF0000000000000000000000000000000000012
+:10EF000000000000000000000000000000000002FF
+:10EF100000000000000000000000000101010000EE
+:10EF200000000000000000000000010101010100DC
+:10EF300000000000000000000000000000000000D1
+:10EF400000000000000000000000000000000000C1
+:10EF500000000000000000000000000000000000B1
+:10EF600000000000000000000000000000000000A1
+:10EF70000000000000000000000000000000000091
+:10EF80000000000000000000000000000000000081
+:10EF90000000000000000000000000000000000071
+:10EFA0000000000000000000000000000000000061
+:10EFB0000000000000000000000000000000000051
+:10EFC0000000000000000000000000000000000041
+:10EFD0000000000000000000000000000000000031
+:10EFE0000000000000000000000000000000000021
+:10EFF0000000000000000000000000000000000011
+:10F0000000000000000000000000000000000002FE
+:10F0100000000000000000000000000101010000ED
+:10F0200000000000000000000101010101010100D9
+:10F0300000000000000000000000000000000000D0
+:10F0400000000000000000000000000000000000C0
+:10F0500000000000000000000000000000000000B0
+:10F0600000000000000000000000000000000000A0
+:10F070000000000000000000000000000000000090
+:10F080000000000000000000000000000000000080
+:10F090000000000000000000000000000000000070
+:10F0A0000000000000000000000000000000000060
+:10F0B0000000000000000000000000000000000050
+:10F0C0000000000000000000000000000000000040
+:10F0D0000000000000000000000000000000000030
+:10F0E0000000000000000000000000000000000020
+:10F0F0000000000000000000000000000000000010
+:10F1000000000000000000000000000000000002FD
+:10F1100000000000000000000000000101010000EC
+:10F1200000000000000000010101010101010100D7
+:10F1300000000000000000000000000000000000CF
+:10F1400000000000000000000000000000000000BF
+:10F1500000000000000000000000000000000000AF
+:10F16000000000000000000000000000000000009F
+:10F17000000000000000000000000000000000008F
+:10F18000000000000000000000000000000000007F
+:10F19000000000000000000000000000000000006F
+:10F1A000000000000000000000000000000000005F
+:10F1B000000000000000000000000000000000004F
+:10F1C000000000000000000000000000000000003F
+:10F1D000000000000000000000000000000000002F
+:10F1E000000000000000000000000000000000001F
+:10F1F000000000000000000000000000000000000F
+:10F2000000000000000000000000000000000002FC
+:10F2100002000000000000000000010101010000E8
+:10F2200000000000000001010101010101010100D5
+:10F2300000000000000000000000000000000000CE
+:10F2400000000000000000000000000000000000BE
+:10F2500000000000000000000000000000000000AE
+:10F26000000000000000000000000000000000009E
+:10F27000000000000000000000000000000000008E
+:10F28000000000000000000000000000000000007E
+:10F29000000000000000000000000000000000006E
+:10F2A000000000000000000000000000000000005E
+:10F2B000000000000000000000000000000000004E
+:10F2C000000000000000000000000000000000003E
+:10F2D000000000000000000000000000000000002E
+:10F2E000000000000000000000000000000000001E
+:10F2F000000000000000000000000000000000000E
+:10F3000000000000000000000000000000000002FB
+:10F3100002000000000000000000010101010000E7
+:10F3200000000000000001010101010101010100D4
+:10F3300000000000000000000000000000000000CD
+:10F3400000000000000000000000000000000000BD
+:10F3500000000000000000000000000000000000AD
+:10F36000000000000000000000000000000000009D
+:10F37000000000000000000000000000000000008D
+:10F38000000000000000000000000000000000007D
+:10F39000000000000000000000000000000000006D
+:10F3A000000000000000000000000000000000005D
+:10F3B000000000000000000000000000000000004D
+:10F3C000000000000000000000000000000000003D
+:10F3D000000000000000000000000000000000002D
+:10F3E000000000000000000000000000000000001D
+:10F3F000000000000000000000000000000000000D
+:10F4000000000000000000000000000000000002FA
+:10F4100002020200000000000000010101010000E2
+:10F4200000000000000101010101010101010100D2
+:10F4300000000000000000000000000000000000CC
+:10F4400000000000000000000000000000000000BC
+:10F4500000000000000000000000000000000000AC
+:10F46000000000000000000000000000000000009C
+:10F47000000000000000000000000000000000008C
+:10F48000000000000000000000000000000000007C
+:10F49000000000000000000000000000000000006C
+:10F4A000000000000000000000000000000000005C
+:10F4B000000000000000000000000000000000004C
+:10F4C000000000000000000000000000000000003C
+:10F4D000000000000000000000000000000000002C
+:10F4E000000000000000000000000000000000001C
+:10F4F000000000000000000000000000000000000C
+:10F5000000000000000000000000000000000002F9
+:10F5100002020202020000000000010101010000DD
+:10F5200000000000000101010101010101010100D1
+:10F5300000000000000000000000000000000000CB
+:10F5400000000000000000000000000000000000BB
+:10F5500000000000000000000000000000000000AB
+:10F56000000000000000000000000000000000009B
+:10F57000000000000000000000000000000000008B
+:10F58000000000000000000000000000000000007B
+:10F59000000000000000000000000000000000006B
+:10F5A000000000000000000000000000000000005B
+:10F5B000000000000000000000000000000000004B
+:10F5C000000000000000000000000000000000003B
+:10F5D000000000000000000000000000000000002B
+:10F5E000000000000000000000000000000000001B
+:10F5F000000000000000000000000000000000000B
+:10F6000000000000000000000000000000000002F8
+:10F6100002020202020000000000010101010000DC
+:10F6200000000000000101010101010101010100D0
+:10F6300000000000000000000000000000000000CA
+:10F6400000000000000000000000000000000000BA
+:10F6500000000000000000000000000000000000AA
+:10F66000000000000000000000000000000000009A
+:10F67000000000000000000000000000000000008A
+:10F68000000000000000000000000000000000007A
+:10F69000000000000000000000000000000000006A
+:10F6A000000000000000000000000000000000005A
+:10F6B000000000000000000000000000000000004A
+:10F6C000000000000000000000000000000000003A
+:10F6D000000000000000000000000000000000002A
+:10F6E000000000000000000000000000000000001A
+:10F6F000000000000000000000000000000000000A
+:10F7000000000000000000000000000000000002F7
+:10F7100002020202020000000100010202010000D8
+:10F7200000000000000101010101010101010100CF
+:10F7300000000000000000000000000000000000C9
+:10F7400000000000000000000000000000000000B9
+:10F7500000000000000000000000000000000000A9
+:10F760000000000000000000000000000000000099
+:10F770000000000000000000000000000000000089
+:10F780000000000000000000000000000000000079
+:10F790000000000000000000000000000000000069
+:10F7A0000000000000000000000000000000000059
+:10F7B0000000000000000000000000000000000049
+:10F7C0000000000000000000000000000000000039
+:10F7D0000000000000000000000000000000000029
+:10F7E0000000000000000000000000000000000019
+:10F7F0000000000000000000000000000000000009
+:10F8000000000000000000000000000000000002F6
+:10F8100002020202020000010100020202020000D4
+:10F8200000000001010101010101010101010100CC
+:10F8300000000000000000000000000000000000C8
+:10F8400000000000000000000000000000000000B8
+:10F8500000000000000000000000000000000000A8
+:10F860000000000000000000000000000000000098
+:10F870000000000000000000000000000000000088
+:10F880000000000000000000000000000000000078
+:10F890000000000000000000000000000000000068
+:10F8A0000000000000000000000000000000000058
+:10F8B0000000000000000000000000000000000048
+:10F8C0000000000000000000000000000000000038
+:10F8D0000000000000000000000000000000000028
+:10F8E0000000000000000000000000000000000018
+:10F8F0000000000000000000000000000000000008
+:10F9000000000000000000000000000000000002F5
+:10F9100002020202020201010101020202020000CF
+:10F9200000010101010101010101010101010100C9
+:10F9300000000000000000000000000000000000C7
+:10F9400000000000000000000000000000000000B7
+:10F9500000000000000000000000000000000000A7
+:10F960000000000000000000000000000000000097
+:10F970000000000000000000000000000000000087
+:10F980000000000000000000000000000000000077
+:10F990000000000000000000000000000000000067
+:10F9A0000000000000000000000000000000000057
+:10F9B0000000000000000000000000000000000047
+:10F9C0000000000000000000000000000000000037
+:10F9D0000000000000000000000000000000000027
+:10F9E0000000000000000000000000000000000017
+:10F9F0000000000000000000000000000000000007
+:10FA000000000000000000000000000000000002F4
+:10FA100002020202020202020201020202020000CB
+:10FA200000010101010101010101010101010100C8
+:10FA300000000000000000000000000000000000C6
+:10FA400000000000000000000000000000000000B6
+:10FA500000000000000000000000000000000000A6
+:10FA60000000000000000000000000000000000096
+:10FA70000000000000000000000000000000000086
+:10FA80000000000000000000000000000000000076
+:10FA90000000000000000000000000000000000066
+:10FAA0000000000000000000000000000000000056
+:10FAB0000000000000000000000000000000000046
+:10FAC0000000000000000000000000000000000036
+:10FAD0000000000000000000000000000000000026
+:10FAE0000000000000000000000000000000000016
+:10FAF0000000000000000000000000000000000006
+:10FB000000000000000000000000000000000002F3
+:10FB100002020202020202020202020202020000C9
+:10FB200001010101010101010101010101010100C6
+:10FB300000000000000000000000000000000000C5
+:10FB400000000000000000000000000000000000B5
+:10FB500000000000000000000000000000000000A5
+:10FB60000000000000000000000000000000000095
+:10FB70000000000000000000000000000000000085
+:10FB80000000000000000000000000000000000075
+:10FB90000000000000000000000000000000000065
+:10FBA0000000000000000000000000000000000055
+:10FBB0000000000000000000000000000000000045
+:10FBC0000000000000000000000000000000000035
+:10FBD0000000000000000000000000000000000025
+:10FBE0000000000000000000000000000000000015
+:10FBF0000000000000000000000000000000000005
+:10FC000000000000000000000000000000000002F2
+:10FC100002020202020202020202020202020000C8
+:10FC200001010101010101010101010101010100C5
+:10FC300000000000000000000000000000000000C4
+:10FC400000000000000000000000000000000000B4
+:10FC500000000000000000000000000000000000A4
+:10FC60000000000000000000000000000000000094
+:10FC70000000000000000000000000000000000084
+:10FC80000000000000000000000000000000000074
+:10FC90000000000000000000000000000000000064
+:10FCA0000000000000000000000000000000000054
+:10FCB0000000000000000000000000000000000044
+:10FCC0000000000000000000000000000000000034
+:10FCD0000000000000000000000000000000000024
+:10FCE0000000000000000000000000000000000014
+:10FCF0000000000000000000000000000000000004
+:10FD000000000000000000000000000000000002F1
+:10FD100002020202020202020202020202020000C7
+:10FD200001010101010101010101010101010100C4
+:10FD300000000000000000000000000000000000C3
+:10FD400000000000000000000000000000000000B3
+:10FD500000000000000000000000000000000000A3
+:10FD60000000000000000000000000000000000093
+:10FD70000000000000000000000000000000000083
+:10FD80000000000000000000000000000000000073
+:10FD90000000000000000000000000000000000063
+:10FDA0000000000000000000000000000000000053
+:10FDB0000000000000000000000000000000000043
+:10FDC0000000000000000000000000000000000033
+:10FDD0000000000000000000000000000000000023
+:10FDE0000000000000000000000000000000000013
+:10FDF0000000000000000000000000000000000003
+:10FE000000000000000000000000000000000002F0
+:10FE100002020202020202020202020202020000C6
+:10FE200001010101010101010101010101010100C3
+:10FE300000000000000000000000000000000000C2
+:10FE400000000000000000000000000000000000B2
+:10FE500000000000000000000000000000000000A2
+:10FE60000000000000000000000000000000000092
+:10FE70000000000000000000000000000000000082
+:10FE80000000000000000000000000000000000072
+:10FE90000000000000000000000000000000000062
+:10FEA0000000000000000000000000000000000052
+:10FEB0000000000000000000000000000000000042
+:10FEC0000000000000000000000000000000000032
+:10FED0000000000000000000000000000000000022
+:10FEE0000000000000000000000000000000000012
+:10FEF0000000000000000000000000000000000002
+:10FF000000000000000000000000000000000002EF
+:10FF100002020202020202020202020202020000C5
+:10FF200001010101010101010101010101010100C2
+:10FF300000000000000000000000000000000000C1
+:10FF400000000000000000000000000000000000B1
+:10FF500000000000000000000000000000000000A1
+:10FF60000000000000000000000000000000000091
+:10FF70000000000000000000000000000000000081
+:10FF80000000000000000000000000000000000071
+:10FF90000000000000000000000000000000000061
+:10FFA0000000000000000000000000000000000051
+:10FFB0000000000000000000000000000000000041
+:10FFC0000000000000000000000000000000000031
+:10FFD0000000000000000000000000000000000021
+:10FFE0000000000000000000000000000000000011
+:10FFF0000000000000000000000000000000000001
+:0200000290006C
+:1000000000000000000000000000000000000002EE
+:1000100002020202020202020202020202020000C4
+:1000200000000000000000000000000000000000D0
+:1000300000000000000000000000000000000000C0
+:1000400000000000000000000000000000000000B0
+:1000500000000000000000000000000000000000A0
+:100060000000000000000000000000000000000090
+:100070000000000000000000000000000000000080
+:100080000000000000000000000000000000000070
+:100090000000000000000000000000000000000060
+:1000A0000000000000000000000000000000000050
+:1000B0000000000000000000000000000000000040
+:1000C0000000000000000000000000000000000030
+:1000D0000000000000000000000000000000000020
+:1000E0000000000000000000000000000000000010
+:1000F0000000000000000000000000000000000000
+:1001000000000000000000000000000000000000EF
+:1001100000000000000000000000000000000015CA
+:1001200000000000000000000000000000000000CF
+:1001300000000000000101000000000000000000BD
+:1001400000000000000000000000000000000000AF
+:10015000000000000000000000000000000000009F
+:10016000000000000000000000000000000000008F
+:10017000000000000000000000000000000000007F
+:10018000000000000000000000000000000000006F
+:10019000000000000000000000000000000000005F
+:1001A000000000000000000000000000000000004F
+:1001B000000000000000000000000000000000003F
+:1001C000000000000000000000000000000000002F
+:1001D000000000000000000000000000000000001F
+:1001E000000000000000000000000000000000000F
+:1001F00000000000000000000000000000000000FF
+:1002000000000000000000000000000000000000EE
+:1002100000000000000000020000000000000000DC
+:1002200000000000000000000000000000000000CE
+:1002300000000000010101000000000000000000BB
+:1002400000000000000000000000000000000000AE
+:10025000000000000000000000000000000000009E
+:10026000000000000000000000000000000000008E
+:10027000000000000000000000000000000000007E
+:10028000000000000000000000000000000000006E
+:10029000000000000000000000000000000000005E
+:1002A000000000000000000000000000000000004E
+:1002B000000000000000000000000000000000003E
+:1002C000000000000000000000000000000000002E
+:1002D000000000000000000000000000000000001E
+:1002E000000000000000000000000000000000000E
+:1002F00000000000000000000000000000000000FE
+:1003000000000000000000000000000000000000ED
+:1003100000000000000000020000000001000000DA
+:1003200000000100010000000000000000000000CB
+:1003300000000001010101000000000000000000B9
+:1003400000000000000000000000000000000000AD
+:10035000000000000000000000000000000000009D
+:10036000000000000000000000000000000000008D
+:10037000000000000000000000000000000000007D
+:10038000000000000000000000000000000000006D
+:10039000000000000000000000000000000000005D
+:1003A000000000000000000000000000000000004D
+:1003B000000000000000000000000000000000003D
+:1003C000000000000000000000000000000000002D
+:1003D000000000000000000000000000000000001D
+:1003E000000000000000000000000000000000000D
+:1003F00000000000000000000000000000000000FD
+:1004000000000000000000000000000000000000EC
+:1004100000000000000000020000000001000000D9
+:1004200000000101010100000000000000000000C8
+:1004300000000101010101000000000000000000B7
+:1004400000000000000000000000000000000000AC
+:10045000000000000000000000000000000000009C
+:10046000000000000000000000000000000000008C
+:10047000000000000000000000000000000000007C
+:10048000000000000000000000000000000000006C
+:10049000000000000000000000000000000000005C
+:1004A000000000000000000000000000000000004C
+:1004B000000000000000000000000000000000003C
+:1004C000000000000000000000000000000000002C
+:1004D000000000000000000000000000000000001C
+:1004E000000000000000000000000000000000000C
+:1004F00000000000000000000000000000000000FC
+:1005000000000000000000000000000000000000EB
+:1005100000000000000000020000000001000000D8
+:1005200000000101010100000000000000000000C7
+:1005300001010101010101000000000000000000B4
+:1005400000000000000000000000000000000000AB
+:10055000000000000000000000000000000000009B
+:10056000000000000000000000000000000000008B
+:10057000000000000000000000000000000000007B
+:10058000000000000000000000000000000000006B
+:10059000000000000000000000000000000000005B
+:1005A000000000000000000000000000000000004B
+:1005B000000000000000000000000000000000003B
+:1005C000000000000000000000000000000000002B
+:1005D000000000000000000000000000000000001B
+:1005E000000000000000000000000000000000000B
+:1005F00000000000000000000000000000000000FB
+:1006000000000000000000000000000000000000EA
+:1006100000000000000000020000000001000000D7
+:1006200000000101010100000000000000000001C5
+:1006300001010101010101000000000000000000B3
+:1006400000000000000000000000000000000000AA
+:10065000000000000000000000000000000000009A
+:10066000000000000000000000000000000000008A
+:10067000000000000000000000000000000000007A
+:10068000000000000000000000000000000000006A
+:10069000000000000000000000000000000000005A
+:1006A000000000000000000000000000000000004A
+:1006B000000000000000000000000000000000003A
+:1006C000000000000000000000000000000000002A
+:1006D000000000000000000000000000000000001A
+:1006E000000000000000000000000000000000000A
+:1006F00000000000000000000000000000000000FA
+:1007000000000000000000000000000000000000E9
+:1007100000000000000000020200000001000000D4
+:1007200000000101010100000000000000000001C4
+:1007300001010101010101000000000000000000B2
+:1007400000000000000000000000000000000000A9
+:100750000000000000000000000000000000000099
+:100760000000000000000000000000000000000089
+:100770000000000000000000000000000000000079
+:100780000000000000000000000000000000000069
+:100790000000000000000000000000000000000059
+:1007A0000000000000000000000000000000000049
+:1007B0000000000000000000000000000000000039
+:1007C0000000000000000000000000000000000029
+:1007D0000000000000000000000000000000000019
+:1007E0000000000000000000000000000000000009
+:1007F00000000000000000000000000000000000F9
+:1008000000000000000000000000000000000000E8
+:1008100000000000000000020200000001000000D3
+:1008200001000101010100000000000001000101C0
+:1008300001010101010101000000000000000000B1
+:1008400000000000000000000000000000000000A8
+:100850000000000000000000000000000000000098
+:100860000000000000000000000000000000000088
+:100870000000000000000000000000000000000078
+:100880000000000000000000000000000000000068
+:100890000000000000000000000000000000000058
+:1008A0000000000000000000000000000000000048
+:1008B0000000000000000000000000000000000038
+:1008C0000000000000000000000000000000000028
+:1008D0000000000000000000000000000000000018
+:1008E0000000000000000000000000000000000008
+:1008F00000000000000000000000000000000000F8
+:1009000000000000000000000000000000000000E7
+:1009100000000000000000020202020002000000CD
+:1009200001000101010100000000000001000101BF
+:1009300001010101010101000000000000000000B0
+:1009400000000000000000000000000000000000A7
+:100950000000000000000000000000000000000097
+:100960000000000000000000000000000000000087
+:100970000000000000000000000000000000000077
+:100980000000000000000000000000000000000067
+:100990000000000000000000000000000000000057
+:1009A0000000000000000000000000000000000047
+:1009B0000000000000000000000000000000000037
+:1009C0000000000000000000000000000000000027
+:1009D0000000000000000000000000000000000017
+:1009E0000000000000000000000000000000000007
+:1009F00000000000000000000000000000000000F7
+:100A000000000000000000000000000000000000E6
+:100A100000000000000000020202020202000000CA
+:100A200001000101010100000000000001010101BD
+:100A300001010101010101000000000000000000AF
+:100A400000000000000000000000000000000000A6
+:100A50000000000000000000000000000000000096
+:100A60000000000000000000000000000000000086
+:100A70000000000000000000000000000000000076
+:100A80000000000000000000000000000000000066
+:100A90000000000000000000000000000000000056
+:100AA0000000000000000000000000000000000046
+:100AB0000000000000000000000000000000000036
+:100AC0000000000000000000000000000000000026
+:100AD0000000000000000000000000000000000016
+:100AE0000000000000000000000000000000000006
+:100AF00000000000000000000000000000000000F6
+:100B000000000000000000000000000000000000E5
+:100B100000000000000000020202020202000000C9
+:100B200001000201010100000000000001010101BB
+:100B300001010101010101000000000000000000AE
+:100B400000000000000000000000000000000000A5
+:100B50000000000000000000000000000000000095
+:100B60000000000000000000000000000000000085
+:100B70000000000000000000000000000000000075
+:100B80000000000000000000000000000000000065
+:100B90000000000000000000000000000000000055
+:100BA0000000000000000000000000000000000045
+:100BB0000000000000000000000000000000000035
+:100BC0000000000000000000000000000000000025
+:100BD0000000000000000000000000000000000015
+:100BE0000000000000000000000000000000000005
+:100BF00000000000000000000000000000000000F5
+:100C000000000000000000000000000000000000E4
+:100C100000000000000000020202020202000000C8
+:100C200001000202020100000000000001010101B8
+:100C300001010101010101000000000000000000AD
+:100C400000000000000000000000000000000000A4
+:100C50000000000000000000000000000000000094
+:100C60000000000000000000000000000000000084
+:100C70000000000000000000000000000000000074
+:100C80000000000000000000000000000000000064
+:100C90000000000000000000000000000000000054
+:100CA0000000000000000000000000000000000044
+:100CB0000000000000000000000000000000000034
+:100CC0000000000000000000000000000000000024
+:100CD0000000000000000000000000000000000014
+:100CE0000000000000000000000000000000000004
+:100CF00000000000000000000000000000000000F4
+:100D000000000000000000000000000000000000E3
+:100D100000000000000000020202020202020001C4
+:100D200002000202020200000000000101010101B4
+:100D300001010101010101000000000000000000AC
+:100D400000000000000000000000000000000000A3
+:100D50000000000000000000000000000000000093
+:100D60000000000000000000000000000000000083
+:100D70000000000000000000000000000000000073
+:100D80000000000000000000000000000000000063
+:100D90000000000000000000000000000000000053
+:100DA0000000000000000000000000000000000043
+:100DB0000000000000000000000000000000000033
+:100DC0000000000000000000000000000000000023
+:100DD0000000000000000000000000000000000013
+:100DE0000000000000000000000000000000000003
+:100DF00000000000000000000000000000000000F3
+:100E000000000000000000000000000000000000E2
+:100E100000000000000000020202020202020001C3
+:100E200002010202020200000001010101010101B0
+:100E300001010101010101000000000000000000AB
+:100E400000000000000000000000000000000000A2
+:100E50000000000000000000000000000000000092
+:100E60000000000000000000000000000000000082
+:100E70000000000000000000000000000000000072
+:100E80000000000000000000000000000000000062
+:100E90000000000000000000000000000000000052
+:100EA0000000000000000000000000000000000042
+:100EB0000000000000000000000000000000000032
+:100EC0000000000000000000000000000000000022
+:100ED0000000000000000000000000000000000012
+:100EE0000000000000000000000000000000000002
+:100EF00000000000000000000000000000000000F2
+:100F000000000000000000000000000000000000E1
+:100F100000000000000000020202020202020202BF
+:100F200002010202020200000001010101010101AF
+:100F300001010101010101000000000000000000AA
+:100F400000000000000000000000000000000000A1
+:100F50000000000000000000000000000000000091
+:100F60000000000000000000000000000000000081
+:100F70000000000000000000000000000000000071
+:100F80000000000000000000000000000000000061
+:100F90000000000000000000000000000000000051
+:100FA0000000000000000000000000000000000041
+:100FB0000000000000000000000000000000000031
+:100FC0000000000000000000000000000000000021
+:100FD0000000000000000000000000000000000011
+:100FE0000000000000000000000000000000000001
+:100FF00000000000000000000000000000000000F1
+:1010000000000000000000000000000000000000E0
+:1010100000000000000000020202020202020202BE
+:1010200002020202020200000101010101010101AC
+:1010300001010101010101000000000000000000A9
+:1010400000000000000000000000000000000000A0
+:101050000000000000000000000000000000000090
+:101060000000000000000000000000000000000080
+:101070000000000000000000000000000000000070
+:101080000000000000000000000000000000000060
+:101090000000000000000000000000000000000050
+:1010A0000000000000000000000000000000000040
+:1010B0000000000000000000000000000000000030
+:1010C0000000000000000000000000000000000020
+:1010D0000000000000000000000000000000000010
+:1010E0000000000000000000000000000000000000
+:1010F00000000000000000000000000000000000F0
+:1011000000000000000000000000000000000000DF
+:1011100000000000000000020202020202020202BD
+:1011200002020202020200000101010101010101AB
+:1011300001010101010101000000000000000000A8
+:10114000000000000000000000000000000000009F
+:10115000000000000000000000000000000000008F
+:10116000000000000000000000000000000000007F
+:10117000000000000000000000000000000000006F
+:10118000000000000000000000000000000000005F
+:10119000000000000000000000000000000000004F
+:1011A000000000000000000000000000000000003F
+:1011B000000000000000000000000000000000002F
+:1011C000000000000000000000000000000000001F
+:1011D000000000000000000000000000000000000F
+:1011E00000000000000000000000000000000000FF
+:1011F00000000000000000000000000000000000EF
+:1012000000000000000000000000000000000000DE
+:1012100000000000000000020202020202020202BC
+:1012200002020202020200000101010101010101AA
+:1012300001010101010101000000000000000000A7
+:10124000000000000000000000000000000000009E
+:10125000000000000000000000000000000000008E
+:10126000000000000000000000000000000000007E
+:10127000000000000000000000000000000000006E
+:10128000000000000000000000000000000000005E
+:10129000000000000000000000000000000000004E
+:1012A000000000000000000000000000000000003E
+:1012B000000000000000000000000000000000002E
+:1012C000000000000000000000000000000000001E
+:1012D000000000000000000000000000000000000E
+:1012E00000000000000000000000000000000000FE
+:1012F00000000000000000000000000000000000EE
+:1013000000000000000000000000000000000000DD
+:1013100000000000000000020202020202020202BB
+:1013200002020202020200000101010101010101A9
+:1013300001010101010101000000000000000000A6
+:10134000000000000000000000000000000000009D
+:10135000000000000000000000000000000000008D
+:10136000000000000000000000000000000000007D
+:10137000000000000000000000000000000000006D
+:10138000000000000000000000000000000000005D
+:10139000000000000000000000000000000000004D
+:1013A000000000000000000000000000000000003D
+:1013B000000000000000000000000000000000002D
+:1013C000000000000000000000000000000000001D
+:1013D000000000000000000000000000000000000D
+:1013E00000000000000000000000000000000000FD
+:1013F00000000000000000000000000000000000ED
+:1014000000000000000000000000000000000000DC
+:1014100000000000000000020202020202020202BA
+:1014200002020202020200000101010101010101A8
+:1014300001010101010101000000000000000000A5
+:10144000000000000000000000000000000000009C
+:10145000000000000000000000000000000000008C
+:10146000000000000000000000000000000000007C
+:10147000000000000000000000000000000000006C
+:10148000000000000000000000000000000000005C
+:10149000000000000000000000000000000000004C
+:1014A000000000000000000000000000000000003C
+:1014B000000000000000000000000000000000002C
+:1014C000000000000000000000000000000000001C
+:1014D000000000000000000000000000000000000C
+:1014E00000000000000000000000000000000000FC
+:1014F00000000000000000000000000000000000EC
+:1015000000000000000000000000000000000000DB
+:1015100000000000000000020202020202020202B9
+:1015200002020202020200000000000000000000AF
+:1015300000000000000000000000000000000000AB
+:10154000000000000000000000000000000000009B
+:10155000000000000000000000000000000000008B
+:10156000000000000000000000000000000000007B
+:10157000000000000000000000000000000000006B
+:10158000000000000000000000000000000000005B
+:10159000000000000000000000000000000000004B
+:1015A000000000000000000000000000000000003B
+:1015B000000000000000000000000000000000002B
+:1015C000000000000000000000000000000000001B
+:1015D000000000000000000000000000000000000B
+:1015E00000000000000000000000000000000000FB
+:1015F00000000000000000000000000000000000EB
+:1016000000000000000000000000000000000000DA
+:1016100000000000000000000000000000000000CA
+:1016200000000000000000581609000000000060E3
+:10163000AF09000000000068370A000000000070D9
+:101640009D0A000000000078020B000000000080EE
+:10165000560B000000000088940B00000000009072
+:10166000CF0B000000000098060C0000000000A056
+:10167000390C0000000000A86C0C0000000000B055
+:10168000AA0C0000000000B8FD0C0000000000C023
+:10169000500D000000000099000000000000000054
+:1016A000000000000000000000000000000000003A
+:1016B000000000000000000000000000000000002A
+:1016C0000000000000000000000001000101010016
+:1016D000000000000000000000000000000000000A
+:1016E00000000000000000000000000000000000FA
+:1016F00000000000000000000000000000000000EA
+:1017000000000000000000000000000000000000D9
+:1017100000000000000000000000000000000000C9
+:1017200000000000000000000000000000000000B9
+:1017300000000000000000000000000000000000A9
+:101740000000000000000000000000000000000099
+:101750000000000000000000000000000000000089
+:101760000000000000000000000000000000000178
+:101770000000000000000000000000000000000069
+:101780000000000000000000000000000000000059
+:101790000000000100010001000100000000000045
+:1017A0000000000000000000000000000000000039
+:1017B0000000000000000000000000000000000029
+:1017C0000000000000000000000001000101010015
+:1017D0000000000000000000000000000000000009
+:1017E00000000000000000000000000000000100F8
+:1017F00000000000000000000000000001000000E8
+:1018000000000000000000000000000000000000D8
+:1018100000000000000000000000000000000000C8
+:1018200000000000000000000000000000000000B8
+:1018300000000000000000000000000000000000A8
+:101840000000000000000000000000000000000098
+:101850000000000000000000000000000000000088
+:101860000000000000000000000000000000000177
+:101870000000000000000000000000000000000068
+:101880000000000000000000000000000000000058
+:101890000000000100010001010100000001000042
+:1018A0000000000000000000000000000001000037
+:1018B0000100000000000000010000000001010024
+:1018C0000000000000000000000001000101010014
+:1018D0000000000000000000000000010000000007
+:1018E00000000000000000000000000100000100F6
+:1018F00000000000000000000000000001000000E7
+:1019000000000000000000000000000000000000D7
+:1019100000000000000000000000000000000000C7
+:1019200000000000000000000000000000000000B7
+:1019300000000000000000000000000000000000A7
+:101940000000000000000000000000000000000097
+:101950000000000000000000000000000000000087
+:101960000000000000000000000000000000000176
+:101970000000000000000000000000000000000067
+:101980000000000000000000000000000000000057
+:101990000000000100010001010100010001000040
+:1019A0000000000000000000000000000001000036
+:1019B0000100000000000000010000000001010023
+:1019C0000000000000000100000001000101010012
+:1019D0000000000000000000000000010100010004
+:1019E00000000000000000000000000101000100F4
+:1019F00000000000000000000000000001000100E5
+:101A000000000000000000000000000000000000D6
+:101A100000000000000000000000000000000000C6
+:101A200000000000000000000000000000000000B6
+:101A300000000000000000000000000000000000A6
+:101A40000000000000000000000000000000010095
+:101A50000000000000000000000000000000000086
+:101A60000000000000000000000000000000000175
+:101A70000000000000000000000000000000000066
+:101A80000000000000000000000000000000000056
+:101A9000010000010001000101010001000100003E
+:101AA0000100000000000000000000000001000133
+:101AB0000100000000000000010000000001010022
+:101AC0000000000000000100000001000101010011
+:101AD0000000000000000000000000010100010003
+:101AE00000000000000000000000000101000100F3
+:101AF00000000000000000000000000001000100E4
+:101B000000000000000000000000000000000000D5
+:101B100000000000000000000000000000000000C5
+:101B200000000000000000000000000000000000B5
+:101B300000000000000000000000000000000000A5
+:101B40000000000000000000000000000000010094
+:101B50000000000000000000000000000000000085
+:101B60000000000000000000000000000000000174
+:101B70000000000000000000000000000000000065
+:101B80000000000000000000000000000000000055
+:101B9000010100010001010101010001000100003B
+:101BA0000100000000010000000000000001000131
+:101BB0000100000000000000010000000001010021
+:101BC000000000000000010000000101010101010E
+:101BD0000100000000000000000000010101010000
+:101BE00000000000000000000000000101000100F2
+:101BF00000000000000000000000000001000100E3
+:101C000000000000000000000000000000000000D4
+:101C100000000000000000000000000000000100C3
+:101C200000000000000000000100000000000100B2
+:101C300000000000000000000000000000000100A3
+:101C40000000000000000000000000000000010093
+:101C50000000000000000000000000000000000084
+:101C60000000000000000000000000000000000173
+:101C70000000000000000000000000000000000064
+:101C80000000000000000000000000000000000054
+:101C90000101000100010101010101010001000039
+:101CA0000100000000010000000000000001000130
+:101CB0000100000000000000010000000001010020
+:101CC000000000000000010000000101010101010D
+:101CD00001000000000000000000000101010100FF
+:101CE00000000000000000000000000101000100F1
+:101CF00000000000000000000000000001000100E2
+:101D000000000000000000000000000000000000D3
+:101D100000000000000000000000000000000100C2
+:101D200000000000000000000100000000000100B1
+:101D300000000000000000000000000000000100A2
+:101D40000000000000000000000000000000010092
+:101D50000000000000000000000000000000000083
+:101D60000000000000000000000000000000000172
+:101D70000000000000000000000000000000000063
+:101D80000000000000000000000000000000000053
+:101D90000101000100010101010101010001000038
+:101DA000010000000001000000000000000100012F
+:101DB000010000000000000001000000000101001F
+:101DC000000000000000010000000101010101010C
+:101DD00001000000000000000000000101010100FE
+:101DE00000000000000000000000010101010100EE
+:101DF00000000000000000000000000001000100E1
+:101E000000000000000000000000000000000000D2
+:101E100000000000000000000000000000000100C1
+:101E200000000000000000000100000000000100B0
+:101E300000000000000000000000000000000100A1
+:101E40000000000000000000000000000000010091
+:101E50000000000000000000000000000000000082
+:101E60000000000000000000000000000000000171
+:101E70000000000000000000000000000000000062
+:101E80000000000000000000000000000000000052
+:101E90000101000100010101010101010101000036
+:101EA000010000000001000000000000000100012E
+:101EB000010000000000000001000000010101001D
+:101EC000010000000000010000000101010101010A
+:101ED00001000000000101000000000101010100FB
+:101EE00000000100000000000000010101010100EC
+:101EF00000000000010000000000000001000100DF
+:101F000000000000000000000000000000000000D1
+:101F100000000000000000000000000000000100C0
+:101F200000000000000000000100000000000100AF
+:101F300000000000000000000000000000000100A0
+:101F40000000000000000000000000000000010090
+:101F50000000000000000000000000000000000081
+:101F60000000000000000000000000000000000170
+:101F70000000000000000000000000000000010060
+:101F80000000000000000000000000000000000051
+:101F90000101010101010101010101010101000033
+:101FA000010000000001000000000000000100012D
+:101FB000010000000000000001000000010101001C
+:101FC0000100000000000100000001010101010109
+:101FD00001000000000101000000000101010100FA
+:101FE00000000100000000000000010101010101EA
+:101FF00000000000010000000000010001000100DD
+:1020000000000000000000000000000000000000D0
+:1020100000000000000000000000000000000100BF
+:1020200000000000000000000100000000000100AE
+:10203000000000000000000000000000000001009F
+:10204000000000000000000000000000000001008F
+:102050000000000000000000000000000000000080
+:10206000000000000000000000000000000001016E
+:10207000000000000000000000000000000001005F
+:102080000000000000000000000000000000000050
+:102090000101010101010101010101010101010031
+:1020A000010000000001000000000000000100012C
+:1020B000010000000000000001000000010101001B
+:1020C0000100000000000100000001010101010108
+:1020D00001000000000101000000000101010100F9
+:1020E00000000100000000000000010101010101E9
+:1020F00000000000010000000000010101000100DB
+:1021000000000000000000000000000000000100CE
+:1021100000000000000000000000000000000100BE
+:1021200000000000000000000100000000000100AD
+:10213000000000000000000000000000000001009E
+:10214000000000000000000000000000000001008E
+:10215000000000000000000000000000000001007E
+:10216000000000000000000000000000000001016D
+:10217000000000000000000000000000000001005E
+:10218000000000000000000000000000000000004F
+:102190000101010101010101010101010101010030
+:1021A000010000000001000000000000000100012B
+:1021B000010000000000000001000000010101001A
+:1021C0000100000000000100000001010101010107
+:1021D00001000000000101000000010101010101F6
+:1021E00000000100000000000000010101010101E8
+:1021F00000000000010000000000010101000100DA
+:1022000000000000000000000000000000000100CD
+:1022100000000000000000000000000000000100BD
+:1022200000000000000000000100000000000100AC
+:10223000000000000000000000000000000001009D
+:10224000000000000000000000000000000001008D
+:10225000000000000000000000000000000001007D
+:10226000000000000000000000000000000001016C
+:10227000000000000000000000000000000001005D
+:10228000000000000000000000000000000000004E
+:10229000010101010101010101010101010101012E
+:1022A000010000000001000000000000000100012A
+:1022B0000100000000000000010000000101010019
+:1022C0000100000000000100010001010101010105
+:1022D00001000000000101000000010101010101F5
+:1022E00000000100000000000000010101010101E7
+:1022F00000000000010000000000010101000101D8
+:1023000000000000000000000000000000000100CC
+:1023100000000000000000000000000000000100BC
+:1023200000000000000000000100000000000100AB
+:10233000000000000000000000000000000001009C
+:10234000000000000000000000000000000001008C
+:10235000000000000000000000000000000001007C
+:10236000000000000000000000000000000001016B
+:10237000000000000000000000000000000001005C
+:10238000000000000000000000000000000000004D
+:10239000010101010101010101010101010101012D
+:1023A0000100000000010000000000000001000129
+:1023B0000100010100000000010000000101010016
+:1023C0000100000000000100010001010101010104
+:1023D00001000000000101000000010101010101F4
+:1023E00000000100000000000000010101010101E6
+:1023F00000000000010000000000010101000101D7
+:1024000000000000000000000000000000000100CB
+:1024100000000000000000000000000000000100BB
+:1024200000000000000000000100000000000100AA
+:10243000000000000000000000000000000001009B
+:10244000000000000000000000000000000101008A
+:10245000000000000000000000000000000001007B
+:10246000000000000000000000000000000001016A
+:10247000000000000000000000000000000001005B
+:10248000000000000000000000000000000001004B
+:10249000010101010101010101010101010101012C
+:1024A0000100000000010000000000000001000128
+:1024B0000100010100000000010000000101010114
+:1024C0000100000000000100010001010101010103
+:1024D00001000000000101010000010101010101F2
+:1024E00000000100000100000000010101010101E4
+:1024F00000000000010000000000010101000101D6
+:1025000000000000000000000000000000010100C9
+:1025100000000000000000000000000000000100BA
+:1025200000000000000000000100000000000100A9
+:10253000000000000000000000000000000001009A
+:102540000000000000000000000000000001010089
+:10255000000000000000000000000000000001007A
+:102560000000000000000000000000000000010169
+:10257000000000000000000000000000000001005A
+:10258000000000000000000000000000000001004A
+:10259000010101010101010101010101010101012B
+:1025A0000101000000010000000000000001000126
+:1025B0000100010100000000010000000101010113
+:1025C0000100000000000100010001010101010102
+:1025D00001000000000101010000010101010101F1
+:1025E00000000100000100000000010101010101E3
+:1025F00000000000010000000000010101000101D5
+:1026000000000000000000000000000000010101C7
+:1026100000000000000000000000000000000100B9
+:1026200000000000000000000100000000000100A8
+:102630000000000000000000000000000000010099
+:102640000000000000000000000000000001010088
+:102650000000000000000000000000000000010079
+:102660000000000000000000000000000000010168
+:102670000000000000000000000000000000010059
+:102680000000000000000000000000000000010049
+:10269000010101010101010101010101010101012A
+:1026A0000101000000010000000000000001000125
+:1026B0000100010100000000010000000101010112
+:1026C0000100000000000100010001010101010101
+:1026D00001000000000101010000010101010101F0
+:1026E00000000100000100000000010101010101E2
+:1026F00000000000010000000000010101000101D4
+:1027000001000000000000000000000000010101C5
+:1027100000000000000000000000000000000100B8
+:1027200000000000000000000100000000000100A7
+:102730000000000000000000000000000000010098
+:102740000000000000000000000000000001010087
+:102750000000000000000000000000000000010078
+:102760000000000000000000000000000000010167
+:102770000000000000000000000000000001010057
+:102780000000000000000000000000000000010048
+:102790000101010101010101010101010101010129
+:1027A0000101000000010000000000000001000124
+:1027B0000100010100000000010000000101010111
+:1027C0000100000000000100010001010101010100
+:1027D00001000000000101010000010101010101EF
+:1027E00000000100000100000000010101010101E1
+:1027F00000000000010000000000010101000101D3
+:1028000001000000000000000000000100010101C3
+:1028100000000000000000000000000000000100B7
+:1028200000000000000000000100000000000100A6
+:102830000000000000000000000000000000010196
+:102840000000000000000000000000000001010086
+:102850000000000000000000000000000000010077
+:102860000000000000000000000000000000010166
+:102870000000000000000000000000000001010056
+:102880000000000000000000000000000000010047
+:102890000101010101010101010101010101010128
+:1028A0000101000000010000000000000001000123
+:1028B0000100010100000000010000000101010110
+:1028C00001000000000001000100010101010101FF
+:1028D00001000000000101010000010101010101EE
+:1028E00000000100000101000000010101010101DF
+:1028F00000000000010000000000010101000101D2
+:1029000001000000000000000000000101010101C1
+:1029100000000000000000000000000000000100B6
+:1029200000000000000000000100000000000100A5
+:102930000000000000000000000000000000010195
+:102940000000000000000000000000000001010085
+:102950000000000000000000000000000001010075
+:102960000000000000000000000000000000010165
+:102970000000000000000000000000000001010055
+:102980000000000000000000000000000000010046
+:102990000101010101010101010101010101010127
+:1029A0000101000000010000000000000001000122
+:1029B000020001010000000001000000010101010E
+:1029C00001000000000001000100010101010101FE
+:1029D00001000000000101010000010101010101ED
+:1029E00001000100000101000000010101010101DD
+:1029F00000000000010000000000010101000101D1
+:102A000001000000000000000000000101010101C0
+:102A100000000000000000000000000000000100B5
+:102A200000000000000000000100000000010100A3
+:102A30000000000000000000000000000001010193
+:102A40000000000000000000000000000001010084
+:102A50000000000000000000000000000001010074
+:102A60000000000000000000000000000001010163
+:102A70000000000000000000000000000001010054
+:102A80000000000000000000000000000000010045
+:102A90000101010101010101010101010101010126
+:102AA0000101000000010000000000000001000220
+:102AB000020001010000000001000000010101010D
+:102AC00001000000000001000100010101010101FD
+:102AD00001000000000101010000010101010101EC
+:102AE00001000100000101000000010101010101DC
+:102AF00000000100010000000001010101000101CE
+:102B000001000000000000000000000101010101BF
+:102B100000000000000000000000000000000100B4
+:102B200000000000000000000100000000010100A2
+:102B30000000000000000000000000000001010192
+:102B40000000000000000000000000000001010083
+:102B50000000000000000000000000000001010073
+:102B60000000000000000000000000000001010162
+:102B70000000000000000000000000000001010053
+:102B80000000000000000000000000000000010044
+:102B90000101010101010101010101010101010125
+:102BA000010100000001000000000000000100021F
+:102BB000020001010000000001000000010101010C
+:102BC00001000000000001000100010101010101FC
+:102BD00001000000000101010000010101010101EB
+:102BE00001000100000101000000010101010101DB
+:102BF00000000100010000000001010101000101CD
+:102C000001000000000100000000000101010101BD
+:102C100000000000000000000000000001000100B2
+:102C200000000000000000000100000000010100A1
+:102C30000000000000000000000000000001010191
+:102C40000000000000000000000000000001010082
+:102C50000000000000000000000000000001010072
+:102C60000000000000000000000000000001010161
+:102C70000000000000000000000000010001010051
+:102C80000000000000000000000000000000010043
+:102C90000101010101010101010101010101010124
+:102CA000010100000001000000000000000100021E
+:102CB000020001010000000001000000010101010B
+:102CC00001000000000001000100010101010101FB
+:102CD00001010000000101010000010101010101E9
+:102CE00001000100000101000000010101010101DA
+:102CF00000000100010000000001010101000101CC
+:102D000001000000000100000000000101010101BC
+:102D100000000000000000000000000001000100B1
+:102D200000000000000000000100000000010100A0
+:102D30000000000000000000000000000001010190
+:102D40000000000000000000000000010001010080
+:102D50000000000000000000000000000001010071
+:102D60000000000000000000000000000001010160
+:102D7000000000000000000000000101000101004F
+:102D80000000000000000000000000000000010042
+:102D90000101010101010101010101010101010123
+:102DA000010100000001000000010000000100021C
+:102DB000020001010000000001000000010101010A
+:102DC00001000000000001000100010101010101FA
+:102DD00001010000000101010000010101010101E8
+:102DE00001000100000101000000010101010101D9
+:102DF00000000100010000000001010101010101CA
+:102E000001000000000100000000000101010101BB
+:102E100000000000000000000000000001010100AF
+:102E2000000000000000000001000000010101009E
+:102E3000000000000000000000000000000101018F
+:102E4000000000000000000000000001000101007F
+:102E50000000000000000000000000000001010070
+:102E6000000000000000000000000000000101015F
+:102E7000000000000000000000000101000101004E
+:102E80000000000000000000000000000001010040
+:102E90000101010101010101010101010101010122
+:102EA000020100000001000000010000000100021A
+:102EB0000200010100000000010000000101010109
+:102EC00001000000000001000100010101010102F8
+:102ED00001010000000101010000010101010101E7
+:102EE00001000100000101000000010101010101D8
+:102EF00000000100010000000001010101010101C9
+:102F000001000000000100000000000101010101BA
+:102F100000000000000000000000000101010100AD
+:102F2000000000000000000001000000010101009D
+:102F3000000000000000000000000001000101018D
+:102F4000000000000000000000000001000101007E
+:102F5000000000000000000000000000000101006F
+:102F6000000000000000000000000001000101015D
+:102F7000000000000000000000000101010101004C
+:102F8000000000000000000000000001000101003E
+:102F90000101010101010101010101010101010121
+:102FA0000201000000010000000100000001000219
+:102FB0000201010100000000010000000101010107
+:102FC00001000000000001000100010101010102F7
+:102FD00001010000000101010000010101010101E6
+:102FE00001000100000101000000010101010101D7
+:102FF00000000100010000000001010101010101C8
+:1030000001000000000100000000000101010101B9
+:1030100000000000000000000000000101010100AC
+:10302000000000000000000001000000010101009C
+:10303000000000000000000000000001000101018C
+:10304000000000000000000000000101000101007C
+:10305000000000000000000000000001000101006D
+:10306000000000000000000000000001000101015C
+:10307000000000000000000000000101010101004B
+:10308000000000000000000000000001010101003C
+:10309000010101010101010101010101010101021F
+:1030A0000201000000010000000100000001000218
+:1030B0000201010100000000010000000101010106
+:1030C00001000000000001000100010101010102F6
+:1030D00001010000000101010000010101010101E5
+:1030E00001000100000101000000010101010101D6
+:1030F00000000100010000000001010101010101C7
+:1031000001000000000100000000000101010101B8
+:1031100000000000000000000000000101010100AB
+:103120000000000100000000010000010101010099
+:10313000000000000000000000000001000101018B
+:10314000000000000000000000000101000101007B
+:10315000000000000000000000000001000101006C
+:10316000000000000000000000000001000101015B
+:10317000000000000000000000000101010101004A
+:10318000000000000000000000000001010101003B
+:10319000010101010101010101010101010101021E
+:1031A0000201000000010000000100000001000217
+:1031B0000201010100000000010000000101010105
+:1031C00001000000000001000100010101010102F5
+:1031D00002010000000101010000010101010101E3
+:1031E00001000100000101000000010101010101D5
+:1031F00000000100010000000001010101010101C6
+:1032000001000000000100000000000101010101B7
+:1032100000000000000000000000000101010100AA
+:103220000000000100000000010000010101010098
+:10323000000000000000000000000001000101018A
+:10324000000000000000000000000101000101007A
+:10325000000000000000000000000001000101006B
+:103260000000000000000000000001010001010159
+:103270000000000000000000000001010101010049
+:10328000000000000000000000000001010101003A
+:10329000010101010101010101010101010101021D
+:1032A0000201000000010000000100000001000216
+:1032B0000201010100000000010000000101010104
+:1032C00001000000000001000100010101010102F4
+:1032D00002010000000101010000010101010101E2
+:1032E00001000100000101000000010101010101D4
+:1032F00000000100010000000001010101010101C5
+:1033000001000000000100000000000101010101B6
+:1033100000000000000000000000000101010100A9
+:103320000000000100000000010000010101010097
+:103330000000000000000000000000010001010189
+:103340000000000000000000000101010001010078
+:103350000000000000000000000001010001010069
+:103360000000000000000000000001010001010158
+:103370000000000000000000000001010101010048
+:103380000000000000000000000000010101010039
+:10339000010101010101010101010101010101021C
+:1033A0000201000000010000000100000001000215
+:1033B0000201010100010000010000000101010102
+:1033C00001000000000001000100010101010102F3
+:1033D00002010000000101010000010101010101E1
+:1033E00001000100000101000000010101010101D3
+:1033F00001000100010000000001010101010101C3
+:1034000001000000000100000000000101010101B5
+:1034100000000000000000000000000101010101A7
+:103420000000000100000000010000010101010096
+:103430000000000000000000000001010001010187
+:103440000000000000000000000101010001010077
+:103450000000000000000000000001010001010068
+:103460000000000000000000000001010001010157
+:103470000000000000000000000101010101010046
+:103480000000000000000000000001010101010037
+:10349000010101010101010101010101010101021B
+:1034A0000201000000010000000100000001000214
+:1034B00002010201000100000200000001010101FF
+:1034C00002000000000001000100010101010102F1
+:1034D00002010000000101010000010101010101E0
+:1034E00001000100000101000000010101010101D2
+:1034F00001000100010000000001010101010101C2
+:1035000001000000000100000000000101010101B4
+:1035100000000000000000000000000101010101A6
+:103520000001000100000000010000010101010094
+:103530000000000000000000000001010001010186
+:103540000000000000000000000101010001010076
+:103550000000000000000000000001010001010067
+:103560000000000000000000000101010001010155
+:103570000000000000000000000101010101010045
+:103580000000000000000000000101010101010035
+:10359000010101010101010101010101010101021A
+:1035A0000201000000010000000100000001000213
+:1035B00002010202000100000200000001010102FC
+:1035C00002000100000001000100010101010102EF
+:1035D00002010000000101010000010101010102DE
+:1035E00001000100000101000000010101010102D0
+:1035F00001000100010000000001010101010101C1
+:1036000001000000000100000000000101010101B3
+:1036100000000000000000000000000101010101A5
+:103620000001000100000000010001010101010092
+:103630000000000000000000000001010001010185
+:103640000000000000000000000101010101010074
+:103650000000000000000000000001010001010066
+:103660000000000000000000000101010101010153
+:103670000000000000000000000101010101010044
+:103680000000000000000000000101010101010034
+:103690000101010101010101010101010101010219
+:1036A0000201000000010000000100000001000212
+:1036B00002010202000100000200000001010102FB
+:1036C00002000100000001000100010101010102EE
+:1036D00002010000000101010000010101010102DD
+:1036E00001000101010101000000010101010102CD
+:1036F00001000100010000010001010101010101BF
+:1037000001000000000100000000000101010101B2
+:1037100000000000000000000000000101010101A4
+:103720000001000100000000010001010101010091
+:103730000000000000000000000001010001010184
+:103740000000000000000000000101010101010172
+:103750000000000000000000000001010001010065
+:103760000000000000000000000101010101010152
+:103770000000000000000000000101010101010043
+:103780000000000000000000000101010101010033
+:103790000101010101010101010101010101010218
+:1037A000020200000002000000010000000100020F
+:1037B00002010202000100000200000001010102FA
+:1037C00002000100000001000100010101010102ED
+:1037D00002010000000101010000010101010102DC
+:1037E00001000101010101000000010101010102CC
+:1037F00001000100010000010001010101010102BD
+:1038000001000000000100000001000101010101B0
+:1038100001000000000000000000000101010101A2
+:10382000000100010000000001000101010101018F
+:103830000000000000000000000001010001010183
+:103840000000000000000000000101010101010171
+:103850000000000000000000000101010001010162
+:103860000000000000000000000101010101010151
+:103870000000000000010000000101010101010041
+:103880000000000000000000010101010101010031
+:103890000101010101010101010101010101010217
+:1038A000020200000002000000010000000100020E
+:1038B00002020202000100000200000001010102F8
+:1038C00002000100000001000100010101010102EC
+:1038D00002010100000101010000010101010102DA
+:1038E00001000101010101000000010101010102CB
+:1038F00001000100010000010001010101010102BC
+:1039000001000000000100000101000101010101AE
+:1039100001000000000000000000000101010101A1
+:10392000000100010000000001000101010101018E
+:103930000000000000000000000001010001010182
+:103940000000000000000000000101010101010170
+:103950000000000000000000000101010001010161
+:103960000000000000000000000101010101010150
+:10397000000000000001000001010101010101003F
+:10398000000000000001000001010101010101002F
+:103990000101010101010101010101010101010216
+:1039A000020200000002000000010000000100020D
+:1039B00002020202000100000200000001010102F7
+:1039C00002010100000002000100010101010102E9
+:1039D00002010100000101010000010101010102D9
+:1039E00001000201010101000000010101010102C9
+:1039F00001000100010000010001010101010102BB
+:103A000001000000000100000101000101010101AD
+:103A100001000000000000000000000101010101A0
+:103A2000010100010000000001000101010101018C
+:103A30000000000000000000000001010001010181
+:103A4000000000000000000000010101010101016F
+:103A50000000000000000000000101010001010160
+:103A6000000000000000000000010101010101014F
+:103A7000000000000001000001010101010101003E
+:103A8000000000000001000001010101010101002E
+:103A90000101010101010101010101010101010215
+:103AA000020200000002000000010000000100020C
+:103AB00002020202000100000200000001010102F6
+:103AC00002010100000002000100010101010102E8
+:103AD00002010101000101010000010101010102D7
+:103AE00001000201010101000000010101010102C8
+:103AF00001010100010000010001010101010102B9
+:103B000001000000000100000101000101010101AC
+:103B1000010000000000000000000001010101019F
+:103B2000010100010000000001010101010101018A
+:103B30000000000000000000000001010001010180
+:103B4000000000000000000100010101010101016D
+:103B5000000000000000000000010101010101015E
+:103B6000000000000001000000010101010101014D
+:103B7000000000000001000001010101010101003D
+:103B8000000000000001010101010101010101002B
+:103B90000101010101010101010101010101010214
+:103BA000020200000002000000010000000100020B
+:103BB00002020202000100000200000001010102F5
+:103BC00002010100000002000100010101010102E7
+:103BD00002010101000102010000010101010102D5
+:103BE00001000201010101000000010101010102C7
+:103BF00001010100010000010001010101010102B8
+:103C000002000000000100000101000101010101AA
+:103C1000010000000000000000000101010101019D
+:103C20000101000100000000010101010101010189
+:103C3000000000000000000000000101000101017F
+:103C4000000000000000000101010101010101016B
+:103C5000000000000000000000010101010101015D
+:103C6000000000000001000001010101010101014B
+:103C7000000000000001010101010101010101003A
+:103C8000000000000001010101010101010101002A
+:103C90000101010101010101010101010101010213
+:103CA000020200000002000000010000000100020A
+:103CB00002020202000100000200000001010102F4
+:103CC00002010100000002000100010101010102E6
+:103CD00002010101000202010000010101010102D3
+:103CE00002010201010101000000010101010102C4
+:103CF00001010100010000010001010101010102B7
+:103D000002000000000100000101010101010102A7
+:103D1000010000000000000000000101010101019C
+:103D20000101000100000000010101010101010188
+:103D3000000000000000000000010101000101017D
+:103D40000000000000010001010101010101010169
+:103D5000000000000000000001010101010101015B
+:103D60000000000000010000010101010101010249
+:103D70000000000000010101010101010101010039
+:103D80000000000000010101010101010101010029
+:103D90000101010101010101010101010101010212
+:103DA0000202000000020000000100000001000209
+:103DB00002020202000100000200000001010102F3
+:103DC00002010100000002000100010101010102E5
+:103DD00002020101000202020000010101010102D0
+:103DE00002010201010101000000010101010102C3
+:103DF00001010100020000010001010101010102B5
+:103E000002000000000100000101010101010102A6
+:103E1000010000000000000000000101010101019B
+:103E20000101000100000000010101010101010187
+:103E3000000000000000000000010101000101017C
+:103E40000100000000010001010101010101010167
+:103E5000000000000000000001010101010101015A
+:103E60000000000000010000010101010101010248
+:103E70000000000000010101010101010101010038
+:103E80000000000000010101010101010101010028
+:103E90000101010101010101010101010101010211
+:103EA0000202000000020000000100000001000208
+:103EB00002020202000100000200000001010102F2
+:103EC00002010100000002000100010101010102E4
+:103ED00002020101000202020000010101010102CF
+:103EE00002010201010101000000010101010102C2
+:103EF00001010100020000010001010101010102B4
+:103F000002000000000100000101010101010102A5
+:103F10000100000000000000000101010101010199
+:103F20000101000100000000010101010101010186
+:103F3000000000000000000000010101000101017B
+:103F40000100000000010001010101010101010166
+:103F50000000000000000000010101010101010159
+:103F60000000000000010101010101010101010245
+:103F70000000000000010101010101010101010037
+:103F80000000000001010101010101010101010026
+:103F90000101010101010101010101010101010210
+:103FA0000202000000020000000100000001000207
+:103FB00002020202000100000200000002020102EF
+:103FC00002010100000002000100020101010102E2
+:103FD00002020101000202020000010102010102CD
+:103FE00002010201010101000000010101010102C1
+:103FF00001010100020000010001010101010102B3
+:1040000002000000000101000101010101010102A3
+:104010000100000000000000000101010101010198
+:104020000101000100000000010101010101010185
+:104030000000000000000000000101010101010179
+:104040000100000000010001010101010101010165
+:104050000000000000010000010101010101010157
+:104060000000000000010101010101010101010244
+:104070000000000000010101010101010101010135
+:104080000000000001010101010101010101010025
+:10409000010101010101010101010101010101020F
+:1040A0000202000000020000000100000001000206
+:1040B00002020202000100000200000002020102EE
+:1040C00002010100000002000100020102010102E0
+:1040D00002020101000202020000010202010102CB
+:1040E00002010201010101000000010101010102C0
+:1040F00001010101020000010001010101010102B1
+:1041000002000000000101000101010101010102A2
+:104110000100010000000000000101010101010196
+:104120000101010100010000010101010101010182
+:104130000000000000000000000101010101010178
+:104140000101000000010101010101010101010162
+:104150000000000000010000010101010101010156
+:104160000000000000010101010101010101010243
+:104170000000000000010101010101010101010134
+:104180000000010001010101010101010101010023
+:10419000010101010101010101010101010101020E
+:1041A0000202010000020000000100000001000204
+:1041B00002020202000100000200000002020102ED
+:1041C00002010100000002000200020102010102DE
+:1041D00002020101000202020000010202010102CA
+:1041E00002010201010101000000010101010102BF
+:1041F00001010101020000010001010101010102B0
+:1042000002000000000101000101010101010102A1
+:104210000100010000000000000101010101010195
+:104220000101010100010000010101010101010181
+:104230000100000000000000000101010101010275
+:104240000101000000010101010101010101010161
+:104250000000000000010001010101010101010154
+:104260000000000000010101010101010101010242
+:104270000000010001010101010101010101010131
+:104280000000010001010101010101010101010022
+:10429000020101010101010101010101010101020C
+:1042A0000202010000020000000100000002000202
+:1042B00002020202000100000200000002020102EC
+:1042C00002010100000002000200020102010102DD
+:1042D00002020101000202020000010202010102C9
+:1042E00002010201010201000000010101010102BD
+:1042F00001010201020000010001010101010102AE
+:1043000002000000000101000101010101010102A0
+:104310000101010000010000000101010101010192
+:104320000101010100010000010101010101010180
+:104330000100000000010000000101010101010273
+:10434000010101010101010101010101010101015D
+:104350000000000000010001010101010101010153
+:104360000000010000010101010101010101010240
+:104370000000010001010101010101010101010130
+:10438000000101010101010101010101010101001F
+:10439000020101010101010101010101010101020B
+:1043A0000202010000020000000100000002000201
+:1043B00002020202000200000200000002020202E9
+:1043C00002010100000002000200020202020102DA
+:1043D00002020101000202020000020202010102C7
+:1043E00002010201010202000000010101010102BB
+:1043F00002010201020000010001010101010102AC
+:10440000020100000001010001010101010101029E
+:104410000101010000010000000101010101010191
+:10442000010101010001000001010101010101017F
+:104430000100000000010000000101010101010272
+:10444000010101010101010101010101010101015C
+:104450000000010000010001010101010101010151
+:10446000010001000001010101010101010101023E
+:10447000000001010101010101010101010101012E
+:10448000000101010101010101010101010101001E
+:10449000020101010101010101010101010101020A
+:1044A0000202010000020000000100000002000200
+:1044B00002020202000200000200000002020202E8
+:1044C00002010100000002000200020202020102D9
+:1044D00002020101000202020000020202010102C6
+:1044E00002010201010202000000020202010102B7
+:1044F00002010201020000010001010102010102AA
+:10450000020100000001010001010101010101029D
+:104510000101010000010000000101010101010190
+:10452000010101010101000001010101010101017D
+:10453000010101000001000000010101010101026F
+:10454000010101010101010101010101010101015B
+:10455000010001000001000101010101010101014F
+:10456000010001000101010101010101010101023C
+:10457000000001010101010101010101010101012D
+:10458000000101010101010101010101010101001D
+:104590000201010101010101010101010101010209
+:1045A00002020100000200000001000000020002FF
+:1045B00002020202000200000200000002020202E7
+:1045C00002020200000002000200020202020102D6
+:1045D00002020201000202020000020202020102C3
+:1045E00002010201010202000000020202010102B6
+:1045F00002010201020000010001010102010102A9
+:10460000020100000001010001010101010101029C
+:10461000010101000001000000010101010101018F
+:10462000010101010101000001010101010101017C
+:10463000010101000001000000010101010101026E
+:10464000010101010101010101010101010101015A
+:10465000010101000001010101010101010101014C
+:10466000010001000101010101010101010101023B
+:10467000000101010101010101010101010101012B
+:10468000010101010101010101010101010101001B
+:104690000202010101010101010101010101010207
+:1046A00002020100000200000001000000020002FE
+:1046B00002020202000200000200000002020202E6
+:1046C00002020200000002000200020202020102D5
+:1046D00002020201000202020000020202020102C2
+:1046E00002010201010202000000020202010102B5
+:1046F00002010201020000010001010102010102A8
+:10470000020100000001010001010101010101029B
+:10471000010101010001000000010101010101028C
+:10472000010101010101000001010101010101017B
+:10473000010101010101000100010101010101026A
+:104740000101010101010101010101010101010159
+:10475000010101000001010101010101010101014B
+:104760000101010101010101010101010101010238
+:104770000101010101010101010101010101010129
+:10478000010101010101010101010101010101001A
+:104790000202010201010101010101010101010205
+:1047A00002020200000200000001000000020002FC
+:1047B00002020202000200000200000002020202E5
+:1047C00002020200000002000200020202020102D4
+:1047D00002020202000202020000020202020102C0
+:1047E00002010202010202000000020202010102B3
+:1047F00002010201020000010001010102010102A7
+:104800000201010000010101010101010101010298
+:10481000010101010001000000010101010101028B
+:10482000010101010101000001010101010101017A
+:104830000101010101010001010101010101010268
+:104840000101010101010101010101010101010158
+:104850000101010101010101010101010101010148
+:104860000101010101010101010101010101010237
+:104870000101010101010101010101010101010128
+:104880000101010101010101010101010101010019
+:104890000202010201010101010101010101010204
+:1048A00002020200000200000002000000020002FA
+:1048B00002020202000200000200000002020202E4
+:1048C00002020200000002000200020202020102D3
+:1048D00002020202000202020000020202020102BF
+:1048E00002010202010202000000020202010102B2
+:1048F00002010201020000010001020102010102A5
+:104900000201010000010101010101010101010297
+:10491000010101010001000000010101010101028A
+:104920000101010101010000020101010101010178
+:104930000101010101010101010101010101010266
+:104940000101010101010101010101010101010157
+:104950000101010101010101010101010101010147
+:104960000101010101010101010101010101010236
+:104970000101010101010101010101010101010127
+:104980000101010101010101010101010101010018
+:104990000202010201010101010101010101010203
+:1049A00002020200000200000002000000020002F9
+:1049B00002020202000200000200000002020202E3
+:1049C00002020201000002000200020202020102D1
+:1049D00002020202000202020000020202020102BE
+:1049E00002020202010202000000020202010102B0
+:1049F00002010201020000010001020102010102A4
+:104A00000201010101020101010101010101010293
+:104A10000101010100010000000101010101010289
+:104A20000101010101010000020101010101010177
+:104A30000101010101010101010101010101010265
+:104A40000101010101010101010101010101010156
+:104A50000101010101010101010101010101010146
+:104A60000101010101010101010101010101010235
+:104A70000101010101010101010101010101010126
+:104A80000101010101010101010101010101010017
+:104A90000202010201010101010101010101010202
+:104AA00002020200000200000002000000020002F8
+:104AB00002020202000200000200000002020202E2
+:104AC00002020201000002000200020202020202CF
+:104AD00002020202000202020000020202020202BC
+:104AE00002020202020202000000020202010102AE
+:104AF00002020201020000010001020102010102A2
+:104B00000201010101020101010101010101010292
+:104B10000201010100010000000101010101010287
+:104B20000101010101010000020101010101010176
+:104B30000101010101010101010101010101010264
+:104B40000101010101010101010101010101010155
+:104B50000101010101010101010101010101010145
+:104B60000101010101010101010101010101010234
+:104B70000101010101010101010101010101010125
+:104B80000101010101010101010101010101010016
+:104B90000202020201010101010101010101010200
+:104BA00002020200000200000002000000020002F7
+:104BB00002020202010200000200000002020202E0
+:104BC00002020201000002000200020202020202CE
+:104BD00002020202000202020000020202020202BB
+:104BE00002020202020202000000020202020102AC
+:104BF00002020201020000010001020202010102A0
+:104C00000201010101020101010101010101010291
+:104C10000201010100010000000101010101010286
+:104C20000102010201010000020101010101010272
+:104C30000101010101010101010101010101010263
+:104C40000101010101010101010101010101010253
+:104C50000101010101010101010101010101010144
+:104C60000101010101010101010101010101010233
+:104C70000101010101010101010101010101010124
+:104C80000101010101010101010101010101010015
+:104C900002020202010101010101010101010102FF
+:104CA00002020200000200000002000000020002F6
+:104CB00002020202020200000200000002020202DE
+:104CC00002020201000002000200020202020202CD
+:104CD00002020202000202020000020202020202BA
+:104CE00002020202020202000000020202020102AB
+:104CF000020202010200000100020202020101029E
+:104D00000201010101020101010101010101010290
+:104D10000201010100010100000101010101010284
+:104D20000202010201010000020101010101010270
+:104D30000101010101010101010101010101010262
+:104D40000101010101010101010101010101010252
+:104D50000101010101010101010101010101010143
+:104D60000101010101010101010101010101010232
+:104D70000101010101010101010101010101010123
+:104D80000101010101010101010101010101010014
+:104D900002020202010101010101010101010102FE
+:104DA00002020201000200000002000000020002F4
+:104DB00002020202020200000200000002020202DD
+:104DC00002020201000002000200020202020202CC
+:104DD00002020202000202020000020202020202B9
+:104DE00002020202020202000000020202020202A9
+:104DF000020202010200000100020202020101029D
+:104E0000020101010102010101010101010101028F
+:104E10000201010100010100000101010101010283
+:104E2000020201020101000002010101010101026F
+:104E30000101010101010101010101010101010261
+:104E40000101010101010101010101010101010251
+:104E50000101010101010101010101010101010241
+:104E60000101010101010101010101010101010231
+:104E70000101010101010101010101010101010122
+:104E80000101010101010101010101010101010013
+:104E900002020202010201020101010101010102FB
+:104EA00002020202000200000002000000020002F2
+:104EB00002020202020200000200000002020202DC
+:104EC00002020201000002000200020202020202CB
+:104ED00002020202000202020000020202020202B8
+:104EE00002020202020202000000020202020202A8
+:104EF000020202010200000100020202020101029C
+:104F0000020101010102010101010101010101028E
+:104F10000201010101010100000101010101010281
+:104F2000020201020101010102010101010101026C
+:104F30000101010101010101010101010101010260
+:104F40000101010101010101010101010101010250
+:104F50000101010101010101010101010101010240
+:104F60000101010101010101010101010101010230
+:104F70000101010101010101010101010101010121
+:104F80000101010101010101010101010101010012
+:104F900002020202020201020101010101010102F9
+:104FA00002020202000200000002000000020002F1
+:104FB00002020202020200000200000002020202DB
+:104FC00002020201000002000200020202020202CA
+:104FD00002020202000202020000020202020202B7
+:104FE00002020202020202000000020202020202A7
+:104FF000020202010200000200020202020101029A
+:10500000020101010102010101010101010101028D
+:10501000020101010101010001010101010101027F
+:10502000020201020101010102010101010101026B
+:10503000010101010101010101010101010101025F
+:10504000010101010101010101010101010101024F
+:10505000010101010101010101010101010101023F
+:10506000010101010101010101010101010101022F
+:105070000101010101010101010101010101010120
+:105080000101010101010101010101010101010011
+:1050900002020202020202020201010101010102F6
+:1050A00002020202000200000002000000020002F0
+:1050B00002020202020200000200000002020202DA
+:1050C00002020202000002000200020202020202C8
+:1050D00002020202000202020000020202020202B6
+:1050E00002020202020202000000020202020202A6
+:1050F0000202020202000002000202020201020297
+:105100000202010101020101010101020201010289
+:10511000020101010101010001010101010101027E
+:10512000020201020101010102010101010101026A
+:10513000010101010101010101010101010101025E
+:10514000010101010101010101010101010101024E
+:10515000010101010101010101010101010101023E
+:10516000010101010101010101010101010101022E
+:10517000010101010101010101010101010101011F
+:105180000101010101010101010101010101010010
+:1051900002020202020202020201010101010102F5
+:1051A00002020202010200000002000000020002EE
+:1051B00002020202020200000200000002020202D9
+:1051C00002020202000002000200020202020202C7
+:1051D00002020202000202020000020202020202B5
+:1051E00002020202020202000000020202020202A5
+:1051F0000202020202000002000202020201020296
+:105200000202010101020101010101020201010288
+:10521000020101010101010001010101010101027D
+:105220000202010201010101020101010101010269
+:10523000010101010101010101010101010101025D
+:10524000010101010101010101010101010101024D
+:10525000010101010101010101010101010101023D
+:10526000010101010101010101010101010101022D
+:10527000010101010101010101010101010101011E
+:10528000010101010101010101010101010101000F
+:1052900002020202020202020202010101010102F3
+:1052A00002020202010200000002000000020002ED
+:1052B00002020202020200000200000002020202D8
+:1052C00002020202000002000200020202020202C6
+:1052D00002020202000202020000020202020202B4
+:1052E00002020202020202000000020202020202A4
+:1052F0000202020202000002000202020201020295
+:105300000202010101020101010101020202010286
+:10531000020101010101010001010101010101027C
+:105320000202010201010101020101010101010268
+:10533000010101010101010101010101010101025C
+:10534000020101010101010101010101010101024B
+:10535000010101010101010101010101010101023C
+:10536000010101010101010101010101010101022C
+:10537000010101010101010101010101010101011D
+:10538000010101010101010101010101010101000E
+:1053900002020202020202020202010101010102F2
+:1053A00002020202020200000002000000020002EB
+:1053B00002020202020202000200000002020202D5
+:1053C00002020202000002000200020202020202C5
+:1053D00002020202000202020000020202020202B3
+:1053E00002020202020202000000020202020202A3
+:1053F0000202020202000002000202020201020294
+:105400000202010101020101020101020202010284
+:10541000020201010101010001010101010101027A
+:105420000202010201010101020101010101010267
+:10543000010101010101010101010101010101025B
+:10544000020101010101010101010101010101024A
+:10545000010101010101010101010101010101023B
+:10546000010101010101010101010101010101022B
+:10547000010101010101010101010101010101011C
+:10548000010101010101010101010101010101000D
+:1054900002020202020202020202010101010102F1
+:1054A00002020202020200000002000000020002EA
+:1054B00002020202020202000200000002020202D4
+:1054C00002020202000002000200020202020202C4
+:1054D00002020202000202020000020202020202B2
+:1054E00002020202020202000000020202020202A2
+:1054F0000202020202000002000202020201020293
+:105500000202020101020201020101020202010281
+:105510000202020101010101010101010101010277
+:105520000202010201010101020101010101010266
+:105530000201010101010101010101010101010259
+:105540000201010101010101010101010101010249
+:10555000010101010101010101010101010101023A
+:10556000010101010101010101010101010101022A
+:10557000010101010101010101010101010101011B
+:10558000010101010101010101010101010101000C
+:1055900002020202020202020202010101010102F0
+:1055A00002020202020201000002000000020002E8
+:1055B00002020202020202020200000002020202D1
+:1055C00002020202000002000200020202020202C3
+:1055D00002020202000202020000020202020202B1
+:1055E00002020202020202000000020202020202A1
+:1055F0000202020202000002000202020201020292
+:10560000020202010102020102020102020202027E
+:105610000202020101010101010101010201010275
+:105620000202020201010101020101010101010264
+:105630000201010101010101010101010101010258
+:105640000201010101010101010101010101010248
+:105650000101010101010101010101010101010239
+:105660000101010101010101010101010101010229
+:10567000010101010101010101010101010101011A
+:10568000010101010101010101010101010101000B
+:1056900002020202020202020202010201010102EE
+:1056A00002020202020201000002000000020002E7
+:1056B00002020202020202020200010002020202CF
+:1056C00002020202000002000200020202020202C2
+:1056D00002020202000202020000020202020202B0
+:1056E00002020202020202000000020202020202A0
+:1056F0000202020202000002000202020202020290
+:10570000020202020102020102020102020202027C
+:105710000202020101010101010101010201020273
+:105720000202020201010101020101010101010263
+:105730000201010101010101010101010101010257
+:105740000202010101010101010101010101010246
+:105750000101010101010101010101010101010238
+:105760000101010101010101010101010101010228
+:105770000101010101010101010101010101010218
+:10578000010101010101010101010101010101000A
+:1057900002020202020202020202020201010102EC
+:1057A00002020202020201000002000000020002E6
+:1057B00002020202020202020200010002020202CE
+:1057C00002020202000002000200020202020202C1
+:1057D00002020202000202020000020202020202AF
+:1057E000020202020202020000000202020202029F
+:1057F000020202020200000200020202020202028F
+:10580000020202020102020102020102020202027B
+:105810000202020101010101010101010201020272
+:105820000202020201010101020101010101020261
+:105830000201010101010101010101010101010256
+:105840000202010101010101010101010101010245
+:105850000201010101010101010101010101010236
+:105860000101010101010101010101010101010227
+:105870000101010101010101010101010101010217
+:105880000101010101010101010101010101010009
+:1058900002020202020202020202020201010102EB
+:1058A00002020202020202000002000000020002E4
+:1058B00002020202020202020200010002020202CD
+:1058C00002020202000002000200020202020202C0
+:1058D00002020202010202020000020202020202AD
+:1058E000020202020202020000000202020202029E
+:1058F000020202020200000200020202020202028E
+:105900000202020202020201020201020202020279
+:10591000020202020101010101010102020102026F
+:10592000020202020101010102010101020102025F
+:105930000201010101010101010101010101010255
+:105940000202010101010101010101010101010244
+:105950000201010101010101010101010101010235
+:105960000201010101010101010101010101010225
+:105970000101010101010101010101010101010216
+:105980000101010101010101010101010101010008
+:1059900002020202020202020202020201020102E9
+:1059A00002020202020202010002000000020002E2
+:1059B00002020202020202020201010002020202CB
+:1059C00002020202010102000200020202020202BD
+:1059D00002020202020202020000020202020202AB
+:1059E000020202020202020000000202020202029D
+:1059F000020202020200000200020202020202028D
+:105A00000202020202020201020202020202020277
+:105A1000020202020101010101010102020102026E
+:105A2000020202020101010102010101020102025E
+:105A30000202010101010101010101010101010253
+:105A40000202010101010101010101010101010243
+:105A50000201010101010101010101010101010234
+:105A60000201010101010101010101010101010224
+:105A70000101010101010101010101010101010215
+:105A80000101010101010101010101010101010007
+:105A900002020202020202020202020202020102E7
+:105AA00002020202020202010002000000020002E1
+:105AB00002020202020202020202020002020202C8
+:105AC00002020202010102000200020202020202BC
+:105AD00002020202020202020000020202020202AA
+:105AE000020202020202020000000202020202029C
+:105AF000020202020201000200020202020202028B
+:105B00000202020202020202020202020202020275
+:105B1000020202020101010101010102020102026D
+:105B2000020202020101010102010201020102025C
+:105B30000202010101010101010101010101010252
+:105B40000202020101010101010101010101020240
+:105B50000201010101010101010101010101010233
+:105B60000201010101010101010101010101010223
+:105B70000101010101010101010101010101010214
+:105B80000101010101010101010101010101010006
+:105B900002020202020202020202020202020102E6
+:105BA00002020202020202020002000000020002DF
+:105BB00002020202020202020202020002020202C7
+:105BC00002020202020102000200020202020202BA
+:105BD00002020202020202020000020202020202A9
+:105BE000020202020202020000000202020202029B
+:105BF000020202020201000200020202020202028A
+:105C00000202020202020202020202020202020274
+:105C1000020202020101010101010102020102026C
+:105C20000202020202010101020102020202020258
+:105C3000020202010101010101010101010102024F
+:105C4000020202020101010101010101010102023E
+:105C50000202010101010101010101010101010231
+:105C60000201010101010101010101010101010222
+:105C70000101010101010101010101010101010213
+:105C80000101010101010101010101010101010005
+:105C900002020202020202020202020202020102E5
+:105CA00002020202020202020002000000020002DE
+:105CB00002020202020202020202020002020202C6
+:105CC00002020202020102000200020202020202B9
+:105CD00002020202020202020000020202020202A8
+:105CE000020202020202020000000202020202029A
+:105CF0000202020202010002000202020202020289
+:105D00000202020202020202020202020202020273
+:105D10000202020201020101010101020202020269
+:105D20000202020202020101020202020202020255
+:105D3000020202010101010101010101010102024E
+:105D4000020202020101010101010101010202023C
+:105D5000020202010101010101010101010101022F
+:105D60000201010101010101010101010101010221
+:105D70000101010101010101010101010101010212
+:105D80000201010101010101010101010101010003
+:105D900002020202020202020202020202020102E4
+:105DA00002020202020202020002000000020002DD
+:105DB00002020202020202020202020102020202C4
+:105DC00002020202020102000200020202020202B8
+:105DD00002020202020202020000020202020202A7
+:105DE0000202020202020200000002020202020299
+:105DF0000202020202010002000202020202020288
+:105E00000202020202020202020202020202020272
+:105E10000202020201020101010202020202020266
+:105E20000202020202020101020202020202020254
+:105E3000020202020101010101010101010102024C
+:105E40000202020201010101010202020102020238
+:105E5000020202010101010101010101010101022E
+:105E6000020202010101010101010101010101021E
+:105E70000201010101010101010101010101010210
+:105E80000201010101010101010101010101010002
+:105E900002020202020202020202020202020102E3
+:105EA00002020202020202020002000000020002DC
+:105EB00002020202020202020202020202020202C2
+:105EC00002020202020202000200020202020202B6
+:105ED00002020202020202020000020202020202A6
+:105EE0000202020202020200000002020202020298
+:105EF0000202020202010002000202020202020287
+:105F00000202020202020202020202020202020271
+:105F10000202020201020101010202020202020265
+:105F20000202020202020101020202020202020253
+:105F3000020202020101010101010102010102024A
+:105F40000202020202020102010202020102020234
+:105F5000020202010101010101010101010101022D
+:105F6000020202010101010101010101010101021D
+:105F7000020101010101010101010101010101020F
+:105F80000202010101010101010101010101010000
+:105F900002020202020202020202020202020102E2
+:105FA00002020202020202020002000000020002DB
+:105FB00002020202020202020202020202020202C1
+:105FC00002020202020202010200020202020202B4
+:105FD00002020202020202020000020202020202A5
+:105FE0000202020202020200000002020202020297
+:105FF0000202020202010002000202020202020286
+:106000000202020202020202020202020202020270
+:106010000202020202020101010202020202020263
+:106020000202020202020101020202020202020252
+:106030000202020201010101010102020102020247
+:106040000202020202020102010202020102020233
+:10605000020202020101010101010101010102022A
+:10606000020202010101010101010101010101021C
+:10607000020101010101010101010101010101020E
+:1060800002020201010101010101010101010100FE
+:1060900002020202020202020202020202020102E1
+:1060A00002020202020202020202010002020002D5
+:1060B00002020202020202020202020202020202C0
+:1060C00002020202020202010200020202020202B3
+:1060D00002020202020202020000020202020202A4
+:1060E0000202020202020200000002020202020296
+:1060F0000202020202010002000202020202020285
+:10610000020202020202020202020202020202026F
+:106110000202020202020101010202020202020262
+:106120000202020202020101020202020202020251
+:106130000202020202010101010102020102020245
+:106140000202020202020202020202020102020230
+:106150000202020201010101010102020102020226
+:106160000202020201020101010101010101020218
+:10617000020202010101010101010101010101020B
+:1061800002020201010101010101010101010100FD
+:1061900002020202020202020202020202020102E0
+:1061A00002020202020202020202020002020002D3
+:1061B00002020202020202020202020202020202BF
+:1061C00002020202020202020200020202020202B1
+:1061D00002020202020202020000020202020202A3
+:1061E0000202020202020200000002020202020295
+:1061F0000202020202010002000202020202020284
+:10620000020202020202020202020202020202026E
+:106210000202020202020201010202020202020260
+:106220000202020202020101020202020202020250
+:106230000202020202020101010102020102020243
+:10624000020202020202020202020202010202022F
+:106250000202020201020101010202020102020223
+:106260000202020201020101010202020101020214
+:10627000020202010101010101010101010101020A
+:1062800002020202010101010101010101010100FB
+:1062900002020202020202020202020202020202DE
+:1062A00002020202020202020202020002020002D2
+:1062B00002020202020202020202020202020202BE
+:1062C00002020202020202020200020202020202B0
+:1062D00002020202020202020000020202020202A2
+:1062E0000202020202020200000002020202020294
+:1062F0000202020202010002000202020202020283
+:10630000020202020202020202020202020202026D
+:10631000020202020202020101020202020202025F
+:10632000020202020202010102020202020202024F
+:106330000202020202020101010202020102020241
+:10634000020202020202020202020202020202022D
+:106350000202020202020101020202020102020220
+:106360000202020202020201010202020102020210
+:106370000202020201020101010102010101010206
+:1063800002020202020201010101010101010100F8
+:1063900002020202020202020202020202020202DD
+:1063A00002020202020202020202020002020002D1
+:1063B00002020202020202020202020202020202BD
+:1063C00002020202020202020200020202020202AF
+:1063D00002020202020202020100020202020202A0
+:1063E0000202020202020200000002020202020293
+:1063F0000202020202020002010202020202020280
+:10640000020202020202020202020202020202026C
+:10641000020202020202020101020202020202025E
+:10642000020202020202020102020202020202024D
+:106430000202020202020101010202020102020240
+:10644000020202020202020202020202020202022C
+:10645000020202020202010202020202010202021E
+:10646000020202020202020202020202010202020D
+:106470000202020201020101010102020101020203
+:1064800002020202020202010101010101010100F6
+:1064900002020202020202020202020202020202DC
+:1064A00002020202020202020202020002020002D0
+:1064B00002020202020202020202020202020202BC
+:1064C00002020202020202020200020202020202AE
+:1064D000020202020202020202000202020202029E
+:1064E0000202020202020200000002020202020292
+:1064F000020202020202000201020202020202027F
+:10650000020202020202020202020202020202026B
+:10651000020202020202020102020202020202025C
+:10652000020202020202020202020202020202024B
+:10653000020202020202020201020202010202023D
+:10654000020202020202020202020202020202022B
+:10655000020202020202020202020202010202021C
+:10656000020202020202020202020202010202020C
+:1065700002020202020202010102020201020202FE
+:1065800002020202020202020202010201010100F1
+:1065900002020202020202020202020202020202DB
+:1065A00002020202020202020202020102020002CE
+:1065B00002020202020202020202020202020202BB
+:1065C00002020202020202020201020202020202AC
+:1065D000020202020202020202000202020202029D
+:1065E0000202020202020200010002020202020290
+:1065F000020202020202000201020202020202027E
+:10660000020202020202020202020202020202026A
+:10661000020202020202020102020202020202025B
+:10662000020202020202020202020202020202024A
+:10663000020202020202020201020202010202023C
+:10664000020202020202020202020202020202022A
+:10665000020202020202020202020202010202021B
+:10666000020202020202020202020202020202020A
+:1066700002020202020202020202020202020202FA
+:1066800002020202020202020202020202010200ED
+:1066900002020202020202020202020202020202DA
+:1066A00002020202020202020202020202020002CC
+:1066B00002020202020202020202020202020202BA
+:1066C00002020202020202020202020202020202AA
+:1066D000020202020202020202020202020202029A
+:1066E000020202020202020001010202020202028E
+:1066F000020202020202010201020202020202027C
+:106700000202020202020202020202020202020269
+:106710000202020202020202020202020202020259
+:106720000202020202020202020202020202020249
+:10673000020202020202020202020202010202023A
+:106740000202020202020202020202020202020229
+:106750000202020202020202020202020202020219
+:106760000202020202020202020202020202020209
+:1067700002020202020202020202020202020202F9
+:1067800002020202020202020202020202010200EC
+:1067900002020202020202020202020202020202D9
+:1067A00002020202020202020202020202020002CB
+:1067B00002020202020202020202020202020202B9
+:1067C00002020202020202020202020202020202A9
+:1067D0000202020202020202020202020202020299
+:1067E000020202020202020002010202020202028C
+:1067F000020202020202010201020202020202027B
+:106800000202020202020202020202020202020268
+:106810000202020202020202020202020202020258
+:106820000202020202020202020202020202020248
+:106830000202020202020202020202020202020238
+:106840000202020202020202020202020202020228
+:106850000202020202020202020202020202020218
+:106860000202020202020202020202020202020208
+:1068700002020202020202020202020202020202F8
+:1068800002020202020202020202020202020200EA
+:1068900002020202020202020202020202020202D8
+:1068A00002020202020202020202020202020002CA
+:1068B00002020202020202020202020202020202B8
+:1068C00002020202020202020202020202020202A8
+:1068D0000202020202020202020202020202020298
+:1068E000020202020202020002010202020202028B
+:1068F0000202020202020102020202020202020279
+:106900000202020202020202020202020202020267
+:106910000202020202020202020202020202020257
+:106920000202020202020202020202020202020247
+:106930000202020202020202020202020202020237
+:106940000202020202020202020202020202020227
+:106950000202020202020202020202020202020217
+:106960000202020202020202020202020202020207
+:1069700002020202020202020202020202020202F7
+:1069800002020202020202020202020202020200E9
+:1069900002020202020202020202020202020202D7
+:1069A00002020202020202020202020202020002C9
+:1069B00002020202020202020202020202020202B7
+:1069C00002020202020202020202020202020202A7
+:1069D0000202020202020202020202020202020297
+:1069E0000202020202020200020202020202020289
+:1069F0000202020202020202020202020202020277
+:106A00000202020202020202020202020202020266
+:106A10000202020202020202020202020202020256
+:106A20000202020202020202020202020202020246
+:106A30000202020202020202020202020202020236
+:106A40000202020202020202020202020202020226
+:106A50000202020202020202020202020202020216
+:106A60000202020202020202020202020202020206
+:106A700002020202020202020202020202020202F6
+:106A800002020202020202020202020202020200E8
+:106A900002020202020202020202020202020202D6
+:106AA00002020202020202020202020202020002C8
+:106AB00002020202020202020202020202020202B6
+:106AC00002020202020202020202020202020202A6
+:106AD0000202020202020202020202020202020296
+:106AE0000202020202020202020202020202020286
+:106AF0000202020202020202020202020202020276
+:106B00000202020202020202020202020202020265
+:106B10000202020202020202020202020202020255
+:106B20000202020202020202020202020202020245
+:106B30000202020202020202020202020202020235
+:106B40000202020202020202020202020202020225
+:106B50000202020202020202020202020202020215
+:106B60000202020202020202020202020202020205
+:106B700002020202020202020202020202020202F5
+:106B800002020202020202020202020202020200E7
+:106B900002020202020202020202020202020202D5
+:106BA00002020202020202020202020202020002C7
+:106BB00002020202020202020202020202020202B5
+:106BC00002020202020202020202020202020202A5
+:106BD0000202020202020202020202020202020295
+:106BE0000202020202020202020202020202020285
+:106BF0000202020202020202020202020202020275
+:106C00000202020202020202020202020202020264
+:106C10000202020202020202020202020202020254
+:106C20000202020202020202020202020202020244
+:106C30000202020202020202020202020202020234
+:106C40000202020202020202020202020202020224
+:106C50000202020202020202020202020202020214
+:106C60000202020202020202020202020202020204
+:106C700002020202020202020202020202020202F4
+:106C800002020202020202020202020202020200E6
+:106C900002020202020202020202020202020202D4
+:106CA00002020202020202020202020202020002C6
+:106CB00002020202020202020202020202020202B4
+:106CC00002020202020202020202020202020202A4
+:106CD0000202020202020202020202020202020294
+:106CE0000202020202020202020202020202020284
+:106CF0000202020202020202020202020202020274
+:106D00000202020202020202020202020202020263
+:106D10000202020202020202020202020202020253
+:106D20000202020202020202020202020202020243
+:106D30000202020202020202020202020202020233
+:106D40000202020202020202020202020202020223
+:106D50000202020202020202020202020202020213
+:106D60000202020202020202020202020202020203
+:106D700002020202020202020202020202020202F3
+:106D800002020202020202020202020202020200E5
+:106D900002020202020202020202020202020202D3
+:106DA00002020202020202020202020202020002C5
+:106DB00002020202020202020102020202020202B4
+:106DC00002020202020202020202020202020202A3
+:106DD0000202020202020202020202020202020293
+:106DE0000202020202020202020202020202020283
+:106DF0000202020202020202020202020202020273
+:106E00000202020202020202020202020202020262
+:106E10000202020202020202020202020202020252
+:106E20000202020202020202020202020202020242
+:106E30000202020202020202020202020202020232
+:106E40000202020202020202020202020202020222
+:106E50000202020202020202020202020202020212
+:106E60000202020202020202020202020202020202
+:106E700002020202020202020202020202020202F2
+:106E800002020202020202020202020202020200E4
+:106E900002020202020202020202020202020202D2
+:106EA00002020202020202020202020202020002C4
+:106EB00002020202020202020202020202020202B2
+:106EC00002020202020202020202020202020202A2
+:106ED0000202020202020202020202020202020292
+:106EE0000202020202020202020202020202020282
+:106EF0000202020202020202020202020202020272
+:106F00000202020202020202020202020202020261
+:106F10000202020202020202020202020202020251
+:106F20000202020202020202020202020202020241
+:106F30000202020202020202020202020202020231
+:106F40000202020202020202020202020202020221
+:106F50000202020202020202020202020202020211
+:106F60000202020202020202020202020202020201
+:106F700002020202020202020202020202020202F1
+:106F800002020202020202020202020202020200E3
+:106F900002020202020202020202020202020202D1
+:106FA00002020202020202020202020202020002C3
+:106FB00002020202020202020102020202020202B2
+:106FC00002020202020202020202020202020202A1
+:106FD0000202020202020202020202020202020291
+:106FE0000202020202020202020202020202020281
+:106FF0000202020202020202020202020202020271
+:107000000202020202020202020202020202020260
+:107010000202020202020202020202020202020250
+:107020000202020202020202020202020202020240
+:107030000202020202020202020202020202020230
+:107040000202020202020202020202020202020220
+:107050000202020202020202020202020202020210
+:107060000202020202020202020202020202020200
+:1070700002020202020202020202020202020202F0
+:1070800002020202020202020202020202020200E2
+:1070900002020202020202020202020202020202D0
+:1070A00002020202020202020202020202020002C2
+:1070B00002020202020202020102020101010202B4
+:1070C00002020202020202020202020202020202A0
+:1070D0000202020202020202020202020202020290
+:1070E0000202020202020202020202020202020280
+:1070F0000202020202020202020202020202020270
+:10710000020202020202020202020202020202025F
+:10711000020202020202020202020202020202024F
+:10712000020202020202020202020202020202023F
+:10713000020202020202020202020202020202022F
+:10714000020202020202020202020202020202021F
+:10715000020202020202020202020202020202020F
+:1071600002020202020202020202020202020202FF
+:1071700002020202020202020202020202020202EF
+:1071800002020202020202020202020202020200E1
+:1071900002020202020202020202020202020202CF
+:1071A00002020202020202020202020201020002C2
+:1071B00001010101010101010101010202020102BB
+:1071C000020202020202020202020202020202029F
+:1071D000020202020202020202020202020202028F
+:1071E000020202020202020202020202020202027F
+:1071F000020202020202020202020202020202026F
+:10720000020202020202020202020202020202025E
+:10721000020202020202020202020202020202024E
+:10722000020202020202020202020202020202023E
+:10723000020202020202020202020202020202022E
+:10724000020202020202020202020202020202021E
+:10725000020202020202020202020202020202020E
+:1072600002020202020202020202020202020202FE
+:1072700002020202020202020202020202020202EE
+:1072800002020202020202020202020202020200E0
+:1072900002020202020202020202020202020202CE
+:1072A00002020202020102020202020201020002C2
+:1072B00002020202020202020102020101010202B2
+:1072C000020202020202020202020202020202029E
+:1072D000020202020202020202020202020202028E
+:1072E000020202020202020202020202020202027E
+:1072F000020202020202020202020202020202026E
+:10730000020202020202020202020202020202025D
+:10731000020202020202020202020202020202024D
+:10732000020202020202020202020202020202023D
+:10733000020202020202020202020202020202022D
+:10734000020202020202020202020202020202021D
+:10735000020202020202020202020202020202020D
+:1073600002020202020202020202020202020202FD
+:1073700002020202020202020202020202020202ED
+:1073800002020202020202020202020202020200DF
+:1073900002020202020202020202020202020202CD
+:1073A00002020202020102020202020201020001C2
+:1073B00001010101010101010101010101010102BC
+:1073C000020202020202020202020202020202029D
+:1073D000020202020202020202020202020202028D
+:1073E000020202020202020202020202020202027D
+:1073F000020202020202020202020202020202026D
+:10740000020202020202020202020202020202025C
+:10741000020202020202020202020202020202024C
+:10742000020202020202020202020202020202023C
+:10743000020202020202020202020202020202022C
+:10744000020202020202020202020202020202021C
+:10745000020202020202020202020202020202020C
+:1074600002020202020202020202020202020202FC
+:1074700002020202020202020202020202020202EC
+:1074800002020202020202020202020202020202DC
+:1074900002020202020202020202020202020202CC
+:1074A00002020202020102020202010201010002C2
+:1074B00001010101010101010101010101010102BB
+:1074C000020202020202020202020202020202029C
+:1074D000020202020202020202020202020202028C
+:1074E000020202020202020202020202020202027C
+:1074F000020202020202020202020202020202026C
+:10750000020202020202020202020202020202025B
+:10751000020202020202020202020202020202024B
+:10752000020202020202020202020202020202023B
+:10753000020202020202020202020202020202022B
+:10754000020202020202020202020202020202021B
+:10755000020202020202020202020202020202020B
+:1075600002020202020202020202020202020202FB
+:1075700002020202020202020202020202020202EB
+:1075800002020202020202020202020202020202DB
+:1075900002020202020202020202020202020202CB
+:1075A00002020202020102020202010101010001C3
+:1075B00001010101010101010101010101010102BA
+:1075C000020202020202020202020202020202029B
+:1075D000020202020202020202020202020202028B
+:1075E000020202020202020202020202020202027B
+:1075F000020202020202020202020202020202026B
+:10760000020202020202020202020202020202025A
+:10761000020202020202020202020202020202024A
+:10762000020202020202020202020202020202023A
+:10763000020202020202020202020202020202022A
+:10764000020202020202020202020202020202021A
+:10765000020202020202020202020202020202020A
+:1076600002020202020202020202020202020202FA
+:1076700002020202020202020202020202020202EA
+:1076800002020202020202020202020202020202DA
+:1076900002020202020202020202020202020201CB
+:1076A00001010101010101010101010101010101CA
+:1076B00001010101010101010101010101010102B9
+:1076C000020202020202020202020202020202029A
+:1076D000020202020202020202020202020202028A
+:1076E000020202020202020202020202020202027A
+:1076F000020202020202020202020202020202026A
+:107700000202020202020202020202020202020259
+:107710000202020202020202020202020202020249
+:107720000202020202020202020202020202020239
+:107730000202020202020202020202020202020229
+:107740000202020202020202020202020202020219
+:107750000202020202020202020202020202020209
+:1077600002020202020202020202020202020202F9
+:1077700002020202020202020202020202020202E9
+:1077800002020202020202020202020202020202D9
+:1077900002020202020202020202020202020201CA
+:1077A00001010101010101010101010101010101C9
+:1077B00001010101010101010101010101010102B8
+:1077C0000202020202020202020202020202020299
+:1077D000020202020202020102020202020202028A
+:1077E0000202020202020202020202020202020279
+:1077F0000202020202020202020202020202020269
+:107800000202020202020202020202020202020258
+:107810000202020202020202020202020202020248
+:107820000202020202020202020202020202020238
+:107830000202020202020202020202020202020228
+:107840000202020202020202020202020202020218
+:107850000202020202020202020202020202020208
+:1078600002020202020202020202020202020202F8
+:1078700002020202020202020202020202020202E8
+:1078800002020202020202020202020202020202D8
+:1078900002020202020202020202020202020201C9
+:1078A00001010101010101010101010101010101C8
+:1078B00001010101010101010101010101010102B7
+:1078C0000202020202020102020202020202020299
+:1078D0000202020202020202020202020102020289
+:1078E0000202020202020202020202020202020278
+:1078F0000202020202020202020202020202020268
+:107900000202020202020202020202020202020257
+:107910000202020202020202020202020202020247
+:107920000202020202020202020202020202020237
+:107930000202020202020202020202020202020227
+:107940000202020202020202020202020202020217
+:107950000202020202020202020202020202020207
+:1079600002020202020202020202020202020202F7
+:1079700002020202020202020202020202020202E7
+:1079800002020202020202020202020202020202D7
+:1079900002020202020202020202020202020201C8
+:1079A00001010101010101010101010101010101C7
+:1079B00001010101010101010101010101010102B6
+:1079C000020202020202020201020202010102029A
+:1079D0000202020202020101020202020202020289
+:1079E0000202020202020202020202020202020277
+:1079F0000202020202020202020202020202020267
+:107A00000202020202020202020202020202020256
+:107A10000202020202020202020202020202020246
+:107A20000202020202020202020202020202020236
+:107A30000202020202020202020202020202020226
+:107A40000202020202020202020202020202020216
+:107A50000202020202020202020202020202020206
+:107A600002020202020202020202020202020202F6
+:107A700002020202020202020202020202020202E6
+:107A800002020202020202020202020202020202D6
+:107A900002020202020202020202020202020201C7
+:107AA00001010101010101010101010101010101C6
+:107AB00001010101010101010101010101010102B5
+:107AC0000202020202020102020201010202020299
+:107AD000020202020201020102020101010102028C
+:107AE0000202020202020202020202020202020276
+:107AF0000202020202020202020202020202020266
+:107B00000202020202020202020202020202020255
+:107B10000202020202020202020202020202020245
+:107B20000202020202020202020202020202020235
+:107B30000202020202020202020202020202020225
+:107B40000202020202020202020202020202020215
+:107B50000202020202020202020202020202020205
+:107B600002020202020202020202020202020202F5
+:107B700002020202020202020202020202020202E5
+:107B800002020202020202020202020202020202D5
+:107B900002020202020202020202020202020201C6
+:107BA00001010101010101010101010101010101C5
+:107BB00001010101010101010101010101010102B4
+:107BC000020202020202010201010202010102029A
+:107BD0000202020202020101020202020102020288
+:107BE0000202020202020202020202020202020275
+:107BF0000202020202020202020202020202020265
+:107C00000202020202020202020202020202020254
+:107C10000202020202020202020202020202020244
+:107C20000202020202020202020202020202020234
+:107C30000202020202020202020202020202020224
+:107C40000202020202020202020202020202020214
+:107C50000202020202020202020202020202020204
+:107C600002020202020202020202020202020202F4
+:107C700002020202020202020202020202020202E4
+:107C800002020202020202020202020202020202D4
+:107C900002020202020202020202020202020201C5
+:107CA00001010101010101010101010101010101C4
+:107CB00001010101010101010101010101010102B3
+:107CC000020202020202010101020101010102019C
+:107CD000020202020201010102010101010102028C
+:107CE0000202020202020202020202020202020274
+:107CF0000202020202020202020202020202020264
+:107D00000202020202020202020202020202020253
+:107D10000202020202020202020202020202020243
+:107D20000202020202020202020202020202020233
+:107D30000202020202020202020202020202020223
+:107D40000202020202020202020202020202020213
+:107D50000202020202020202020202020202020203
+:107D600002020202020202020202020202020202F3
+:107D700002020202020202020202020202020202E3
+:107D800002020202020202020202020202020202D3
+:107D900002020202020202020202020202020201C4
+:107DA00001010101010101010101010101010101C3
+:107DB00001010101010101010101010101010101B3
+:107DC00001010101010101020101010101010102A1
+:107DD0000101010101010101010201010101010291
+:107DE0000202020202020202020202020202020273
+:107DF0000202020202020202020202020202020263
+:107E00000202020202020202020202020202020252
+:107E10000202020202020202020202020202020242
+:107E20000202020202020202020202020202020232
+:107E30000202020202020202020202020202020222
+:107E40000202020202020202020202020202020212
+:107E50000202020202020202020202020202020202
+:107E600002020202020202020202020202020202F2
+:107E700002020202020202020202020202020202E2
+:107E800002020202020202020202020202020202D2
+:107E900002020202020202020202020202020201C3
+:107EA00001010101010101010101010101010101C2
+:107EB00001010101010101010101010101010102B1
+:107EC000020202020202010101010101010102019B
+:107ED000020202020201010102010101010102028A
+:107EE0000202020202020102020202020202020273
+:107EF0000202020202020202020202020202020262
+:107F00000202020202020202020202020202020251
+:107F10000202020202020202020202020202020241
+:107F20000202020202020202020202020202020231
+:107F30000202020202020202020202020202020221
+:107F40000202020202020202020202020202020211
+:107F50000202020202020202020202020202020201
+:107F600002020202020202020202020202020202F1
+:107F700002020202020202020202020202020202E1
+:107F800002020202020202020202020202020202D1
+:107F900002020202020202020202020202020201C2
+:107FA00001010101010101010101010101010101C1
+:107FB00001010101010101010101010101010101B1
+:107FC00001010101010101010101010101010101A1
+:107FD0000101010101010101010101010101010290
+:107FE0000202020202010102020201020102020275
+:107FF0000202020202020202020202020202020261
+:108000000202020202020202020202020202020250
+:108010000202020202020202020202020202020240
+:108020000202020202020202020202020202020230
+:108030000202020202020202020202020202020220
+:108040000202020202020202020202020202020210
+:108050000202020202020202020202020202020200
+:1080600002020202020202020202020202020202F0
+:1080700002020202020202020202020202020202E0
+:1080800002020202020202020202020202020202D0
+:1080900002020202020202020202020202020201C1
+:1080A00001010101010101010101010101010101C0
+:1080B00001010101010101010101010101010101B0
+:1080C00001010101010101010101010101010101A0
+:1080D000010101010101010101010101010101028F
+:1080E0000202010202010102020201010102020276
+:1080F0000202020202020202020202020202020260
+:10810000020202020202020202020202020202024F
+:10811000020202020202020202020202020202023F
+:10812000020202020202020202020202020202022F
+:10813000020202020202020202020202020202021F
+:10814000020202020202020202020202020202020F
+:1081500002020202020202020202020202020202FF
+:1081600002020202020202020202020202020202EF
+:1081700002020202020202020202020202020202DF
+:1081800002020202020202020202020202020202CF
+:1081900002020202020202020202020202020201C0
+:1081A00001010101010101010101010101010101BF
+:1081B00001010101010101010101010101010101AF
+:1081C000010101010101010101010101010101019F
+:1081D000010101010101010101010101010101028E
+:1081E000020201010101010201010101010102027A
+:1081F000020202020202020202020202020202025F
+:10820000020202020202020202020202020202024E
+:10821000020202020202020202020202020202023E
+:10822000020202020202020202020202020202022E
+:10823000020202020202020202020202020202021E
+:10824000020202020202020202020202020202020E
+:1082500002020202020202020202020202020202FE
+:1082600002020202020202020202020202020202EE
+:1082700002020202020202020202020202020202DE
+:1082800002020202020202020202020202020202CE
+:1082900002020202020202020202020202020201BF
+:1082A00001010101010101010101010101010101BE
+:1082B00001010101010101010101010101010101AE
+:1082C000010101010101010101010101010101019E
+:1082D000010101010101010101010101010101018E
+:1082E0000202010101010102010101010101020279
+:1082F0000202020201020202020202020102020260
+:10830000020202020202020202020202020202024D
+:10831000020202020202020202020202020202023D
+:10832000020202020202020202020202020202022D
+:10833000020202020202020202020202020202021D
+:10834000020202020202020202020202020202020D
+:1083500002020202020202020202020202020202FD
+:1083600002020202020202020202020202020202ED
+:1083700002020202020202020202020202020202DD
+:1083800002020202020202020202020202020202CD
+:1083900002020202020202020202020202020201BE
+:1083A00001010101010101010101010101010101BD
+:1083B00001010101010101010101010101010101AD
+:1083C000010101010101010101010101010101019D
+:1083D000010101010101010101010101010101018D
+:1083E000010101010101010101010101010101027C
+:1083F000020202020202020202020202020202025D
+:10840000020202020202020202020202020202024C
+:10841000020202020202020202020202020202023C
+:10842000020202020202020202020202020202022C
+:10843000020202020202020202020202020202021C
+:10844000020202020202020202020202020202020C
+:1084500002020202020202020202020202020202FC
+:1084600002020202020202020202020202020202EC
+:1084700002020202020202020202020202020202DC
+:1084800002020202020202020202020202020202CC
+:1084900002020202020202020202020202020201BD
+:1084A00001010101010101010101010101010101BC
+:1084B00001010101010101010101010101010101AC
+:1084C000010101010101010101010101010101019C
+:1084D000010101010101010101010101010101018C
+:1084E000010101010101010101010101010101027B
+:1084F0000202020201020201020101020102020261
+:10850000020202020202020202020202020202024B
+:10851000020202020202020202020202020202023B
+:10852000020202020202020202020202020202022B
+:10853000020202020202020202020202020202021B
+:10854000020202020202020202020202020202020B
+:1085500002020202020202020202020202020202FB
+:1085600002020202020202020202020202020202EB
+:1085700002020202020202020202020202020202DB
+:1085800002020202020202020202020202020202CB
+:1085900002020202020202020202020202020201BC
+:1085A00001010101010101010101010101010101BB
+:1085B00001010101010101010101010101010101AB
+:1085C000010101010101010101010101010101019B
+:1085D000010101010101010101010101010101018B
+:1085E000010101010101010101010101010101017B
+:1085F0000202010201020202010202010102020260
+:10860000020202020202020202020202020202024A
+:10861000020202020202020202020202020202023A
+:10862000020202020202020202020202020202022A
+:10863000020202020202020202020202020202021A
+:10864000020202020202020202020202020202020A
+:1086500002020202020202020202020202020202FA
+:1086600002020202020202020202020202020202EA
+:1086700002020202020202020202020202020202DA
+:1086800002020202020202020202020202020202CA
+:1086900002020202020202020202020202020201BB
+:1086A00001010101010101010101010101010101BA
+:1086B00001010101010101010101010101010101AA
+:1086C000010101010101010101010101010101019A
+:1086D000010101010101010101010101010101018A
+:1086E0000101010101010101010101010101010279
+:1086F0000202020201020201020101020101020260
+:108700000202020202020202020202020202020249
+:108710000202020202020202020202020202020239
+:108720000202020202020202020202020202020229
+:108730000202020202020202020202020202020219
+:108740000202020202020202020202020202020209
+:1087500002020202020202020202020202020202F9
+:1087600002020202020202020202020202020202E9
+:1087700002020202020202020202020202020202D9
+:1087800002020202020202020202020202020202C9
+:1087900002020202020202020202020202020201BA
+:1087A00001010101010101010101010101010101B9
+:1087B00001010101010101010101010101010101A9
+:1087C0000101010101010101010101010101010199
+:1087D0000101010101010101010101010101010189
+:1087E0000101010101010101010101010101010179
+:1087F0000101010101010101010101010102010267
+:108800000202020202020202020202020202020248
+:108810000202020202020202020202020202020238
+:108820000202020202020202020202020202020228
+:108830000202020202020202020202020202020218
+:108840000202020202020202020202020202020208
+:1088500002020202020202020202020202020202F8
+:1088600002020202020202020202020202020202E8
+:1088700002020202020202020202020202020202D8
+:1088800002020202020202020202020202020202C8
+:1088900002020202020202020202020202020201B9
+:1088A00001010101010101010101010101010101B8
+:1088B00001010101010101010101010101010101A8
+:1088C0000101010101010101010101010101010198
+:1088D0000101010101010101010101010101010188
+:1088E0000101010101010101010101010101010178
+:1088F0000202010201020201010101010101020261
+:108900000202020202010202020202020202020248
+:108910000202020202020202020202020202020237
+:108920000202020202020202020202020202020227
+:108930000202020202020202020202020202020217
+:108940000202020202020202020202020202020207
+:1089500002020202020202020202020202020202F7
+:1089600002020202020202020202020202020202E7
+:1089700002020202020202020202020202020202D7
+:1089800002020202020202020202020202020202C7
+:1089900002020202020202020202020202020201B8
+:1089A00001010101010101010101010101010101B7
+:1089B00001010101010101010101010101010101A7
+:1089C0000101010101010101010101010101010197
+:1089D0000101010101010101010101010101010187
+:1089E0000101010101010101010101010101010177
+:1089F0000101010101010101010101010101010167
+:108A0000010202020202010201020202010202024A
+:108A10000202020202020202020202020202020236
+:108A20000202020202020202020202020202020226
+:108A30000202020202020202020202020202020216
+:108A40000202020202020202020202020202020206
+:108A500002020202020202020202020202020202F6
+:108A600002020202020202020202020202020202E6
+:108A700002020202020202020202020202020202D6
+:108A800002020202020202020202020202020202C6
+:108A900002020202020202020202020202020201B7
+:108AA00001010101010101010101010101010101B6
+:108AB00001010101010101010101010101010101A6
+:108AC0000101010101010101010101010101010196
+:108AD0000101010101010101010101010101010186
+:108AE0000101010101010101010101010101010176
+:108AF0000101010101010101010101010101010265
+:108B0000020202020201020102010101020102024B
+:108B10000202020202020202020202020202020235
+:108B20000202020202020202020202020202020225
+:108B30000202020202020202020202020202020215
+:108B40000202020202020202020202020202020205
+:108B500002020202020202020202020202020202F5
+:108B600002020202020202020202020202020202E5
+:108B700002020202020202020202020202020202D5
+:108B800002020202020202020202020202020202C5
+:108B900002020202020202020202020202020201B6
+:108BA00001010101010101010101010101010101B5
+:108BB00001010101010101010101010101010101A5
+:108BC0000101010101010101010101010101010195
+:108BD0000101010101010101010101010101010185
+:108BE0000101010101010101010101010101010175
+:108BF0000101010101010101010101010101010165
+:108C0000010202020101010201020202010202024A
+:108C10000202020202020202020202020202020234
+:108C20000202020202020202020202020202020224
+:108C30000202020202020202020202020202020214
+:108C40000202020202020202020202020202020204
+:108C500002020202020202020202020202020202F4
+:108C600002020202020202020202020202020202E4
+:108C700002020202020202020202020202020202D4
+:108C800002020202020202020202020202020202C4
+:108C900002020202020202020202020202020201B5
+:108CA00001010101010101010101010101010101B4
+:108CB00001010101010101010101010101010101A4
+:108CC0000101010101010101010101010101010194
+:108CD0000101010101010101010101010101010184
+:108CE0000101010101010101010101010101010174
+:108CF0000101010101010101010101010101010164
+:108D00000101010102010101010101010101010251
+:108D10000202020202020202020202020202020233
+:108D20000202020202020202020202020202020223
+:108D30000202020202020202020202020202020213
+:108D40000202020202020202020202020202020203
+:108D500002020202020202020202020202020202F3
+:108D600002020202020202020202020202020202E3
+:108D700002020202020202020202020202020202D3
+:108D800002020202020202020202020202020202C3
+:108D900002020202020202020202020202020201B4
+:108DA00001010101010101010101010101010101B3
+:108DB00001010101010101010101010101010101A3
+:108DC0000101010101010101010101010101010193
+:108DD0000101010101010101010101010101010183
+:108DE0000101010101010101010101010101010173
+:108DF0000101010101010101010101010101010163
+:108E0000010202020101010101010101010102014E
+:108E10000202020202020202020202020102020233
+:108E20000202020202020202010202020202020223
+:108E30000202020202020202020202020202020212
+:108E40000202020202020202020202020202020202
+:108E500002020202020202020202020202020202F2
+:108E600002020202020202020202020202020202E2
+:108E700002020202020202020202020202020202D2
+:108E800002020202020202020202020202020202C2
+:108E900002020202020202020202020202020201B3
+:108EA00001010101010101010101010101010101B2
+:108EB00001010101010101010101010101010101A2
+:108EC0000101010101010101010101010101010192
+:108ED0000101010101010101010101010101010182
+:108EE0000101010101010101010101010101010172
+:108EF0000101010101010101010101010101010162
+:108F00000101010101010101010101010101010151
+:108F10000202020202020202020202020102020232
+:108F20000202020102020202010202020202020223
+:108F30000202020202020202020202020202020211
+:108F40000202020202020202020202020202020201
+:108F500002020202020202020202020202020202F1
+:108F600002020202020202020202020202020202E1
+:108F700002020202020202020202020202020202D1
+:108F800002020202020202020202020202020202C1
+:108F900002020202020202020202020202020201B2
+:108FA00001010101010101010101010101010101B1
+:108FB00001010101010101010101010101010101A1
+:108FC0000101010101010101010101010101010191
+:108FD0000101010101010101010101010101010181
+:108FE0000101010101010101010101010101010171
+:108FF0000101010101010101010101010101010161
+:109000000101010101010101010101010101010150
+:109010000202020202020202010101010102020235
+:109020000201020102020202010201020102020225
+:109030000202020202020202020202020202020210
+:109040000202020202020202020202020202020200
+:1090500002020202020202020202020202020202F0
+:1090600002020202020202020202020202020202E0
+:1090700002020202020202020202020202020202D0
+:1090800002020202020202020202020202020202C0
+:1090900002020202020202020202020202020201B1
+:1090A00001010101010101010101010101010101B0
+:1090B00001010101010101010101010101010101A0
+:1090C0000101010101010101010101010101010190
+:1090D0000101010101010101010101010101010180
+:1090E0000101010101010101010101010101010170
+:1090F0000101010101010101010101010101010160
+:10910000010101010101010101010101010101014F
+:10911000010101010101010101010101010101013F
+:109120000201020102020202010101020102020225
+:10913000020202020202020202020202020202020F
+:1091400002020202020202020202020202020202FF
+:1091500002020202020202020202020202020202EF
+:1091600002020202020202020202020202020202DF
+:1091700002020202020202020202020202020202CF
+:1091800002020202020202020202020202020202BF
+:1091900002020202020202020202020202020201B0
+:1091A00001010101010101010101010101010101AF
+:1091B000010101010101010101010101010101019F
+:1091C000010101010101010101010101010101018F
+:1091D000010101010101010101010101010101017F
+:1091E000010101010101010101010101010101016F
+:1091F000010101010101010101010101010101015F
+:10920000010101010101010101010101010101014E
+:10921000010101010101010101010101010101013E
+:10922000010101010101010101010101010101022D
+:10923000020202020202020202020202020202020E
+:1092400002020202020202020202020202020202FE
+:1092500002020202020202020202020202020202EE
+:1092600002020202020202020202020202020202DE
+:1092700002020202020202020202020202020202CE
+:1092800002020202020202020202020202020202BE
+:1092900002020202020202020202020202020201AF
+:1092A00001010101010101010101010101010101AE
+:1092B000010101010101010101010101010101019E
+:1092C000010101010101010101010101010101018E
+:1092D000010101010101010101010101010101017E
+:1092E000010101010101010101010101010101016E
+:1092F000010101010101010101010101010101015E
+:10930000010101010101010101010101010101014D
+:10931000010101010101010101010101010101013D
+:10932000010101010101010101010101010101022C
+:10933000020202020202020202020202020202020D
+:1093400002020202020202020202020202020202FD
+:1093500002020202020202020202020202020202ED
+:1093600002020202020202020202020202020202DD
+:1093700002020202020202020202020202020202CD
+:1093800002020202020202020202020202020202BD
+:1093900002020202020202020202020202020201AE
+:1093A00001010101010101010101010101010101AD
+:1093B000010101010101010101010101010101019D
+:1093C000010101010101010101010101010101018D
+:1093D000010101010101010101010101010101017D
+:1093E000010101010101010101010101010101016D
+:1093F000010101010101010101010101010101015D
+:10940000010101010101010101010101010101014C
+:10941000010101010101010101010101010101013C
+:10942000010101010101010101010101010101022B
+:10943000020202020202020202020202020202020C
+:1094400002020202020202020202020202020202FC
+:1094500002020202020202020202020202020202EC
+:1094600002020202020202020202020202020202DC
+:1094700002020202020202020202020202020202CC
+:1094800002020202020202020202020202020202BC
+:1094900002020202020202020202020202020201AD
+:1094A00001010101010101010101010101010101AC
+:1094B000010101010101010101010101010101019C
+:1094C000010101010101010101010101010101018C
+:1094D000010101010101010101010101010101017C
+:1094E000010101010101010101010101010101016C
+:1094F000010101010101010101010101010101015C
+:10950000010101010101010101010101010101014B
+:10951000010101010101010101010101010101013B
+:10952000010101010101010101010101010101022A
+:10953000020202020202020202020202020202010C
+:1095400002020202020202020202020202020202FB
+:1095500002020202020202020202020202020202EB
+:1095600002020202020202020202020202020202DB
+:1095700002020202020202020202020202020202CB
+:1095800002020202020202020202020202020202BB
+:1095900002020202020202020202020202020201AC
+:1095A00001010101010101010101010101010101AB
+:1095B000010101010101010101010101010101019B
+:1095C000010101010101010101010101010101018B
+:1095D000010101010101010101010101010101017B
+:1095E000010101010101010101010101010101016B
+:1095F000010101010101010101010101010101015B
+:10960000010101010101010101010101010101014A
+:10961000010101010101010101010101010101013A
+:10962000010101010101010101010101010101012A
+:10963000020202020202020202020202020202010B
+:1096400002020202020202020202020202020202FA
+:1096500002020202020202020202020202020202EA
+:1096600002020202020202020202020202020202DA
+:1096700002020202020202020202020202020202CA
+:1096800002020202020202020202020202020202BA
+:1096900002020202020202020202020202020201AB
+:1096A00001010101010101010101010101010101AA
+:1096B000010101010101010101010101010101019A
+:1096C000010101010101010101010101010101018A
+:1096D000010101010101010101010101010101017A
+:1096E000010101010101010101010101010101016A
+:1096F000010101010101010101010101010101015A
+:109700000101010101010101010101010101010149
+:109710000101010101010101010101010101010139
+:109720000101010101010101010101010101010228
+:10973000020202020202020202020202020202010A
+:1097400002020202020202020202020202020202F9
+:1097500002020202020202020202020202020202E9
+:1097600002020202020202020202020202020202D9
+:1097700002020202020202020202020202020202C9
+:1097800002020202020202020202020202020202B9
+:1097900002020202020202020202020202020201AA
+:1097A00001010101010101010101010101010101A9
+:1097B0000101010101010101010101010101010199
+:1097C0000101010101010101010101010101010189
+:1097D0000101010101010101010101010101010179
+:1097E0000101010101010101010101010101010169
+:1097F0000101010101010101010101010101010159
+:109800000101010101010101010101010101010148
+:109810000101010101010101010101010101010138
+:109820000101010101010101010101010101010128
+:109830000101010101010101010101010101010118
+:1098400002010202020202020202020202020202F9
+:1098500002020202020202020202020202020202E8
+:1098600002020202020202020202020202020202D8
+:1098700002020202020202020202020202020202C8
+:1098800002020202020202020202020202020202B8
+:1098900002020202020202020202020202020201A9
+:1098A00001010101010101010101010101010101A8
+:1098B0000101010101010101010101010101010198
+:1098C0000101010101010101010101010101010188
+:1098D0000101010101010101010101010101010178
+:1098E0000101010101010101010101010101010168
+:1098F0000101010101010101010101010101010158
+:109900000101010101010101010101010101010147
+:109910000101010101010101010101010101010137
+:109920000101010101010101010101010101010127
+:109930000202020202020202020202020202020108
+:109940000101010101010101010101010101010107
+:1099500002020202020202020202020202020202E7
+:1099600002020202020202020202020202020202D7
+:1099700002020202020202020202020202020202C7
+:1099800002020202020202020202020202020202B7
+:1099900002020202020202020202020202020201A8
+:1099A00001010101010101010101010101010101A7
+:1099B0000101010101010101010101010101010197
+:1099C0000101010101010101010101010101010187
+:1099D0000101010101010101010101010101010177
+:1099E0000101010101010101010101010101010167
+:1099F0000101010101010101010101010101010157
+:109A00000101010101010101010101010101010146
+:109A10000101010101010101010101010101010136
+:109A20000101010101010101010101010101010126
+:109A30000101010101010101010101010101010116
+:109A40000101010101010101010101010101010106
+:109A500002020202020202020202020202020202E6
+:109A600002020202020202020202020202020202D6
+:109A700002020202020202020202020202020202C6
+:109A800002020202020202020202020202020202B6
+:109A900002020202020202020202020202020201A7
+:109AA00001010101010101010101010101010101A6
+:109AB0000101010101010101010101010101010196
+:109AC0000101010101010101010101010101010186
+:109AD0000101010101010101010101010101010176
+:109AE0000101010101010101010101010101010166
+:109AF0000101010101010101010101010101010156
+:109B00000101010101010101010101010101010145
+:109B10000101010101010101010101010101010135
+:109B20000101010101010101010101010101010125
+:109B30000101010101010101010101010101010115
+:109B40000101010101010101010101010101010105
+:109B500002020202020202020202020202020202E5
+:109B600002020202020202020202020202020202D5
+:109B700002020202020202020202020202020202C5
+:109B800002020202020202020202020202020202B5
+:109B900002020202020202020202020202020201A6
+:109BA00001010101010101010101010101010101A5
+:109BB0000101010101010101010101010101010195
+:109BC0000101010101010101010101010101010185
+:109BD0000101010101010101010101010101010175
+:109BE0000101010101010101010101010101010165
+:109BF0000101010101010101010101010101010155
+:109C00000101010101010101010101010101010144
+:109C10000101010101010101010101010101010134
+:109C20000101010101010101010101010101010124
+:109C30000101010101010101010101010101010114
+:109C40000101010101010101010101010101010104
+:109C500001010101010101010101010101010101F4
+:109C600002020202020202020202020202020202D4
+:109C700002020202020202020202020202020202C4
+:109C800002020202020202020202020202020202B4
+:109C900002020202020202020202020202020201A5
+:109CA00001010101010101010101010101010101A4
+:109CB0000101010101010101010101010101010194
+:109CC0000101010101010101010101010101010184
+:109CD0000101010101010101010101010101010174
+:109CE0000101010101010101010101010101010164
+:109CF0000101010101010101010101010101010154
+:109D00000101010101010101010101010101010143
+:109D10000101010101010101010101010101010133
+:109D20000101010101010101010101010101010123
+:109D30000101010101010101010101010101010113
+:109D40000101010101010101010101010101010103
+:109D500001010101010101010101010101010101F3
+:109D600002020202020202020202020202020201D4
+:109D700002020202020202020202020202020202C3
+:109D800002020202020202020202020202020202B3
+:109D900002020202020202020202020202020201A4
+:109DA00001010101010101010101010101010101A3
+:109DB0000101010101010101010101010101010193
+:109DC0000101010101010101010101010101010183
+:109DD0000101010101010101010101010101010173
+:109DE0000101010101010101010101010101010163
+:109DF0000101010101010101010101010101010153
+:109E00000101010101010101010101010101010142
+:109E10000101010101010101010101010101010132
+:109E20000101010101010101010101010101010122
+:109E30000101010101010101010101010101010112
+:109E40000101010101010101010101010101010102
+:109E500001010101010101010101010101010101F2
+:109E600002020202020202020202020202020201D3
+:109E700002020202020202020202020202020202C2
+:109E800002020202020202020202020202020202B2
+:109E900002020202020202020202020202020201A3
+:109EA00001010101010101010101010101010101A2
+:109EB0000101010101010101010101010101010192
+:109EC0000101010101010101010101010101010182
+:109ED0000101010101010101010101010101010172
+:109EE0000101010101010101010101010101010162
+:109EF0000101010101010101010101010101010152
+:109F00000101010101010101010101010101010141
+:109F10000101010101010101010101010101010131
+:109F20000101010101010101010101010101010121
+:109F30000101010101010101010101010101010111
+:109F40000101010101010101010101010101010101
+:109F500001010101010101010101010101010101F1
+:109F600001010101010101010101010101010101E1
+:109F700002020202020202020202020202020202C1
+:109F800002020202020202020202020202020202B1
+:109F900002020202020202020202020202020201A2
+:109FA00001010101010101010101010101010101A1
+:109FB0000101010101010101010101010101010191
+:109FC0000101010101010101010101010101010181
+:109FD0000101010101010101010101010101010171
+:109FE0000101010101010101010101010101010161
+:109FF0000101010101010101010101010101010151
+:10A000000101010101010101010101010101010140
+:10A010000101010101010101010101010101010130
+:10A020000101010101010101010101010101010120
+:10A030000101010101010101010101010101010110
+:10A040000101010101010101010101010101010100
+:10A0500001010101010101010101010101010101F0
+:10A0600001010101010101010101010101010101E0
+:10A0700002020202020202020202020202020202C0
+:10A0800002020202020202020202020202020202B0
+:10A0900002020202020202020202020202020201A1
+:10A0A00001010101010101010101010101010101A0
+:10A0B0000101010101010101010101010101010190
+:10A0C0000101010101010101010101010101010180
+:10A0D0000101010101010101010101010101010170
+:10A0E0000101010101010101010101010101010160
+:10A0F0000101010101010101010101010101010150
+:10A10000010101010101010101010101010101013F
+:10A11000010101010101010101010101010101012F
+:10A12000010101010101010101010101010101011F
+:10A13000010101010101010101010101010101010F
+:10A1400001010101010101010101010101010101FF
+:10A1500001010101010101010101010101010101EF
+:10A1600001010101010101010101010101010101DF
+:10A1700002020202020202020202020202020202BF
+:10A1800002020202020202020202020202020202AF
+:10A1900002020202020202020202020202020201A0
+:10A1A000010101010101010101010101010101019F
+:10A1B000010101010101010101010101010101018F
+:10A1C000010101010101010101010101010101017F
+:10A1D000010101010101010101010101010101016F
+:10A1E000010101010101010101010101010101015F
+:10A1F000010101010101010101010101010101014F
+:10A20000010101010101010101010101010101013E
+:10A21000010101010101010101010101010101012E
+:10A22000010101010101010101010101010101011E
+:10A23000010101010101010101010101010101010E
+:10A2400001010101010101010101010101010101FE
+:10A2500001010101010101010101010101010101EE
+:10A2600001010101010101010101010101010101DE
+:10A2700002020202020202020202020202020202BE
+:10A2800002020202020202020202020202020202AE
+:10A29000020202020202020202020202020202019F
+:10A2A000010101010101010101010101010101019E
+:10A2B000010101010101010101010101010101018E
+:10A2C000010101010101010101010101010101017E
+:10A2D000010101010101010101010101010101016E
+:10A2E000010101010101010101010101010101015E
+:10A2F000010101010101010101010101010101014E
+:10A30000010101010101010101010101010101013D
+:10A31000010101010101010101010101010101012D
+:10A32000010101010101010101010101010101011D
+:10A33000010101010101010101010101010101010D
+:10A3400001010101010101010101010101010101FD
+:10A3500001010101010101010101010101010101ED
+:10A3600001010101010101010101010101010101DD
+:10A3700002020202020202020202020202020202BD
+:10A3800002020202020202020202020202020202AD
+:10A39000020202020202020202020202020202019E
+:10A3A000010101010101010101010101010101019D
+:10A3B000010101010101010101010101010101018D
+:10A3C000010101010101010101010101010101017D
+:10A3D000010101010101010101010101010101016D
+:10A3E000010101010101010101010101010101015D
+:10A3F000010101010101010101010101010101014D
+:10A40000010101010101010101010101010101013C
+:10A41000010101010101010101010101010101012C
+:10A42000010101010101010101010101010101011C
+:10A43000010101010101010101010101010101010C
+:10A4400001010101010101010101010101010101FC
+:10A4500001010101010101010101010101010101EC
+:10A4600001010101010101010101010101010101DC
+:10A4700001010101010101010101010101010102CB
+:10A4800002020202020202020202020202020202AC
+:10A49000020202020202020202020202020202019D
+:10A4A000010101010101010101010101010101019C
+:10A4B000010101010101010101010101010101018C
+:10A4C000010101010101010101010101010101017C
+:10A4D000010101010101010101010101010101016C
+:10A4E000010101010101010101010101010101015C
+:10A4F000010101010101010101010101010101014C
+:10A50000010101010101010101010101010101013B
+:10A51000010101010101010101010101010101012B
+:10A52000010101010101010101010101010101011B
+:10A53000010101010101010101010101010101010B
+:10A5400001010101010101010101010101010101FB
+:10A5500001010101010101010101010101010101EB
+:10A5600001010101010101010101010101010101DB
+:10A5700001010101010101010101010101010101CB
+:10A5800002020202020202020202020202020202AB
+:10A5900001010201020202010102020202020201A1
+:10A5A000010101010101010101010101010101019B
+:10A5B000010101010101010101010101010101018B
+:10A5C000010101010101010101010101010101017B
+:10A5D000010101010101010101010101010101016B
+:10A5E000010101010101010101010101010101015B
+:10A5F000010101010101010101010101010101014B
+:10A60000010101010101010101010101010101013A
+:10A61000010101010101010101010101010101012A
+:10A62000010101010101010101010101010101011A
+:10A63000010101010101010101010101010101010A
+:10A6400001010101010101010101010101010101FA
+:10A6500001010101010101010101010101010101EA
+:10A6600001010101010101010101010101010101DA
+:10A6700001010101010101010101010101010102C9
+:10A6800001010101010101010101010101010102B9
+:10A6900001010101010101010101020102010201A7
+:10A6A000010101010101010101010101010101019A
+:10A6B000010101010101010101010101010101018A
+:10A6C000010101010101010101010101010101017A
+:10A6D000010101010101010101010101010101016A
+:10A6E000010101010101010101010101010101015A
+:10A6F000010101010101010101010101010101014A
+:10A700000101010101010101010101010101010139
+:10A710000101010101010101010101010101010129
+:10A720000101010101010101010101010101010119
+:10A730000101010101010101010101010101010109
+:10A7400001010101010101010101010101010101F9
+:10A7500001010101010101010101010101010101E9
+:10A7600001010101010101010101010101010101D9
+:10A7700001010101010101010101010101010101C9
+:10A7800002020202020202020202020202020202A9
+:10A7900001010101010101010101010101010201A8
+:10A7A0000101010101010101010101010101010199
+:10A7B0000101010101010101010101010101010189
+:10A7C0000101010101010101010101010101010179
+:10A7D0000101010101010101010101010101010169
+:10A7E0000101010101010101010101010101010159
+:10A7F0000101010101010101010101010101010149
+:10A800000101010101010101010101010101010138
+:10A810000101010101010101010101010101010128
+:10A820000101010101010101010101010101010118
+:10A830000101010101010101010101010101010108
+:10A8400001010101010101010101010101010101F8
+:10A8500001010101010101010101010101010101E8
+:10A8600001010101010101010101010101010101D8
+:10A8700001010101010101010101010101010101C8
+:10A8800001010101010101010101010101010102B7
+:10A8900001010101010101010101010101010101A8
+:10A8A0000101010101010101010101010101010198
+:10A8B0000101010101010101010101010101010188
+:10A8C0000101010101010101010101010101010178
+:10A8D0000101010101010101010101010101010168
+:10A8E0000101010101010101010101010101010158
+:10A8F0000101010101010101010101010101010148
+:10A900000101010101010101010101010101010137
+:10A910000101010101010101010101010101010127
+:10A920000101010101010101010101010101010117
+:10A930000101010101010101010101010101010107
+:10A9400001010101010101010101010101010101F7
+:10A9500001010101010101010101010101010101E7
+:10A9600001010101010101010101010101010101D7
+:10A9700001010101010101010101010101010101C7
+:10A9800001010101010101010101010101010102B6
+:10A9900001010101010101010101010101010101A7
+:10A9A0000101010101010101010101010101010197
+:10A9B0000101010101010101010101010101010187
+:10A9C0000101010101010101010101010101010177
+:10A9D0000101010101010101010101010101010167
+:10A9E0000101010101010101010101010101010157
+:10A9F0000101010101010101010101010101010147
+:10AA00000101010101010101010101010101010136
+:10AA10000101010101010101010101010101010126
+:10AA20000101010101010101010101010101010116
+:10AA30000101010101010101010101010101010106
+:10AA400001010101010101010101010101010101F6
+:10AA500001010101010101010101010101010101E6
+:10AA600001010101010101010101010101010101D6
+:10AA700001010101010101010101010101010101C6
+:10AA800001010101010101010101010101010102B5
+:10AA900001010101010101010101010101010101A6
+:10AAA0000101010101010101010101010101010196
+:10AAB0000101010101010101010101010101010186
+:10AAC0000101010101010101010101010101010176
+:10AAD0000101010101010101010101010101010166
+:10AAE0000101010101010101010101010101010156
+:10AAF0000101010101010101010101010101010146
+:10AB00000101010101010101010101010101010135
+:10AB10000101010101010101010101010101010125
+:10AB20000101010101010101010101010101010115
+:10AB30000101010101010101010101010101010105
+:10AB400001010101010101010101010101010101F5
+:10AB500001010101010101010101010101010101E5
+:10AB600001010101010101010101010101010101D5
+:10AB700001010101010101010101010101010101C5
+:10AB800001010101010101010101010101010102B4
+:10AB900001010101010101010101010101010101A5
+:10ABA0000101010101010101010101010101010294
+:10ABB0000202020202020202020202020202020077
+:10ABC0000000000000000000000000000000000283
+:10ABD0000202020202020202020202020202020255
+:10ABE0000202020202020202020202020202020245
+:10ABF0000202020202020202020202020202020037
+:10AC00000000000000000000000000000000000242
+:10AC10000202020202020202020202020202020214
+:10AC20000202020202020202020202020202020006
+:10AC30000000000000000000000000000000000212
+:10AC400002020202020202020202020202020202E4
+:10AC500002020202020202020202020202020202D4
+:10AC600002020202020202020202020202020202C4
+:10AC700002020202020202020202020202020200B6
+:10AC800000000000000000000000000000000000C4
+:10AC900000000000000000000000000000000001B3
+:10ACA0000101010101010101010101010101010095
+:10ACB0000000000000000000000000000000000094
+:10ACC0000000000000000000000000000000000084
+:10ACD0000000000000000000000000000000000074
+:10ACE0000000000000000000000000000000000064
+:10ACF0000000000000000000000000000000000054
+:10AD00000000000000000000000000000000000043
+:10AD10000000000000000000000000000000000231
+:10AD20000202020202020202020202020202020005
+:10AD30000000000000000000000000000000000211
+:10AD400002020202020202020202020202020202E3
+:10AD500002020202020202020202020202020202D3
+:10AD600002020202020202020202020202020200C5
+:10AD700000000000000000000000000000000000D3
+:10AD800000000000000000000000000000000000C3
+:10AD900000000000000000000000000000000001B2
+:10ADA0000101010101010101010101010101010094
+:10ADB0000000000000000000000000000000000093
+:10ADC0000000000000000000000000000000000083
+:10ADD0000000000000000000000000000000000073
+:10ADE0000000000000000000000000000000000063
+:10ADF0000000000000000000000000000000000053
+:10AE00000000000000000000000000000000000042
+:10AE10000000000000000000000000000000000230
+:10AE20000202020202020202020202020202020004
+:10AE30000000000000000000000000000000000210
+:10AE400002020202020202020202020202020202E2
+:10AE500002020202020202020202020202020202D2
+:10AE600002020202020202020202020202020200C4
+:10AE700000000000000000000000000000000000D2
+:10AE800000000000000000000000000000000000C2
+:10AE900000000000000000000000000000000000B2
+:10AEA00000000000000000000000000000000000A2
+:10AEB0000000000000000000000000000000000092
+:10AEC0000000000000000000000000000000000082
+:10AED0000000000000000000000000000000000072
+:10AEE0000000000000000000000000000000000062
+:10AEF0000000000000000000000000000000000052
+:10AF00000000000000000000000000000000000041
+:10AF10000000000000000000000000000000000031
+:10AF20000000000000000000000000000000000021
+:10AF30000000000000000000000000000000000011
+:10AF40000000000000000000000000000000000001
+:10AF500000000000000000000000000000000000F1
+:10AF600000000000000000000000000000000000E1
+:10AF700000000000000000000000000000000000D1
+:10AF800000000000000000000000000000000000C1
+:10AF90000000000000000000000000000000008829
+:10AFA00000000000000000000000000000000000A1
+:10AFB0000000000000000000000000000000000091
+:10AFC0000000000000000000000000000000000081
+:10AFD0000000000000000000000000000000000071
+:10AFE0000000000000000000000000000000000061
+:10AFF0000000000000000000000000000000000051
+:10B00000000000000000010000000000000000003F
+:10B010000000000000000000000000000000000030
+:10B020000000000000000000000000000000000020
+:10B030000000000000000000000000000000000010
+:10B040000000000000000000000000000000000000
+:10B0500000000000000000000000000000000000F0
+:10B0600000000000000000000000000000000000E0
+:10B0700000000000000000000000000000000000D0
+:10B0800000000000000000000000000000000000C0
+:10B0900000000000000000000000000100000000AF
+:10B0A00000000000000000000000000000000000A0
+:10B0B0000000000000000000000000000000000090
+:10B0C000000000000000000000000000000001007F
+:10B0D000000000000000000100000000000000006F
+:10B0E0000000000000000000000000000000000060
+:10B0F000000000000000000000000100000000004F
+:10B10000000000000000010100000000000000003D
+:10B11000000000000000000100000000000000002E
+:10B12000000000000000000000000000000000001F
+:10B13000000000000000000000000000000000000F
+:10B1400000000000000000000000000000000000FF
+:10B1500000000000000000000000000000000000EF
+:10B1600000000000000000000000000000000000DF
+:10B1700000000000000000000000000000000000CF
+:10B1800000000000000000000000000000000000BF
+:10B1900000000000000000000100010101010100A9
+:10B1A000000000000000000000000000000000009F
+:10B1B000000000000000000000000000000000008F
+:10B1C000010000000000010000000000000001007C
+:10B1D000000000000000010100000000000000006D
+:10B1E000000000000000000100000100000000005D
+:10B1F000000000010000000000000100000000004D
+:10B20000000000000000010100000000000000003C
+:10B21000000000000000000100000000000000002D
+:10B22000000000000000010000000000000000001D
+:10B23000000000000000000000000000000000000E
+:10B2400000000000000000000000000000000000FE
+:10B2500000000000000000000000000000000000EE
+:10B2600000000000000000000000000000000000DE
+:10B2700000000000000000000000000000000000CE
+:10B2800000000000000000000000000000000000BE
+:10B2900000000000000000000100010101010100A8
+:10B2A000000000000000000000000000000000009E
+:10B2B000000100000001000000000000000000008C
+:10B2C000010000000000010000000000000001007B
+:10B2D000000000000000010100000000000100006B
+:10B2E000000000000000000100000100000000005C
+:10B2F000000000010000010100000100000000004A
+:10B30000000000000000010100000000000000003B
+:10B31000000000000000000100000000000000002C
+:10B32000000000000000010000000000000000001C
+:10B33000000000000000000000000000000000000D
+:10B3400000000000000000000000000000000000FD
+:10B3500000000000000000000000000000000000ED
+:10B3600000000000000000000000000000000000DD
+:10B3700000000000000001000000000000000000CC
+:10B3800000000000000000000000000000000000BD
+:10B3900000000000000000000101010101010100A6
+:10B3A000000000000000000000000000000000009D
+:10B3B000000100000001000000000000000000008B
+:10B3C000010000000000010000000000000001007A
+:10B3D000000000000000010100000000000100006A
+:10B3E000000000000000010100000100000000005A
+:10B3F0000000000100000101000001000000000049
+:10B40000000000000000010100000000000000003A
+:10B41000000000000000000100000000000000002B
+:10B42000000000000000010000000000000000001B
+:10B43000000000000000000000000000000000000C
+:10B4400000000000000000000000000000000000FC
+:10B4500000000000000001000000000000000000EB
+:10B4600000000000000000000000000000000000DC
+:10B4700000000000000001000000000000000000CB
+:10B4800000000000000000000000000000000000BC
+:10B4900000000000000000000101010101010100A5
+:10B4A000000000000000000101000000000000009A
+:10B4B0000001000000010001000000000000000089
+:10B4C0000100000000000100000000000000010079
+:10B4D0000000000000000101000000000001000069
+:10B4E0000000000000000101000001000000000059
+:10B4F0000000000100000101000001000000000048
+:10B500000000000100000101000000000000000038
+:10B51000000000000000000100000000000000002A
+:10B52000000000000000010000000000000000001A
+:10B53000000000000000000000000000000000000B
+:10B5400000000000000000000000000000000000FB
+:10B5500000000000000001000000000000000000EA
+:10B5600000000000000000000000000000000000DB
+:10B5700000000000000001000000000000000000CA
+:10B5800000000000000000000000000000000000BB
+:10B5900000000000000000000101010101010100A4
+:10B5A0000000000000000001010000000000000099
+:10B5B0000001000000010001000000000000000088
+:10B5C0000100000000000100000000000000010078
+:10B5D0000000000000000101000000000001000068
+:10B5E0000000000000000101000001000000000058
+:10B5F0000000000100000101000001000000000047
+:10B600000000000100000101000000000000000037
+:10B610000000000000000001000000000000000029
+:10B620000000000000000100000000000000000019
+:10B63000000000000000000000000000000000000A
+:10B6400000000000000000000000000000000000FA
+:10B6500000000000000001000000000000000000E9
+:10B6600000000000000000000000000000000000DA
+:10B6700000000000000001000000000000000000C9
+:10B6800000000000000000000000000000000000BA
+:10B6900000000000000000000101010101010100A3
+:10B6A0000000000000000101010000000000000097
+:10B6B0000001000000010001000000000000000087
+:10B6C0000100000100010100000000000000010075
+:10B6D0000000000000000101000000000001000067
+:10B6E0000000000000000101000001000000000057
+:10B6F0000000000100000101000001000000000046
+:10B700000000000100000101000000000000000036
+:10B710000000000000000001000000000000000028
+:10B720000000000000000100000000000000000018
+:10B730000000000000000000000000000000000009
+:10B7400000000000000000000000000000000000F9
+:10B7500000000000000001000000000000000000E8
+:10B7600000000000000000000000000000000000D9
+:10B7700000000000000001000000000000000000C8
+:10B7800000000000000001000000000000000000B8
+:10B7900000000000000000000101010101010100A2
+:10B7A0000000000000000101010000000000000096
+:10B7B0000001000000010001000000000000000086
+:10B7C0000100000100010100000000000000010074
+:10B7D0000100010000000101000000000001000064
+:10B7E0000000000001000101000001000001000054
+:10B7F0000000000100000101000001000000000045
+:10B800000000000100000101000000000000000035
+:10B810000000000000000001000000000000000027
+:10B820000000000000000100000000000000000017
+:10B830000000000000000000000000000000000008
+:10B8400000000000000000000000000000000000F8
+:10B8500000000000000001000000000000000000E7
+:10B8600000000000000000000000000000000000D8
+:10B8700000000000000001000000000000000000C7
+:10B8800000000000000001000000000000000000B7
+:10B8900000000000000000000101010101010100A1
+:10B8A0000000000000000101010100000000000094
+:10B8B0000001000000010001000000000000000085
+:10B8C0000100000100010100000000000000010073
+:10B8D0000100010000000101000000000001000063
+:10B8E0000000000001000101000001000001000053
+:10B8F0000000000100000101000001000000000044
+:10B900000000000100000101000000000000000034
+:10B910000000000000000001000000000000000026
+:10B920000000000000000100000000000000000016
+:10B930000000000000000000000000000000000007
+:10B9400000000000000000000000000000000000F7
+:10B9500000000000000001000000000000000000E6
+:10B9600000000000000000000000000000000000D7
+:10B9700000000000000001000000000000000000C6
+:10B9800000000000000001000000000000000000B6
+:10B9900000000000000000000101010101010100A0
+:10B9A0000000000000010101010100000000000092
+:10B9B0000001000000010001000000000000000084
+:10B9C0000100000100010100000000000000010072
+:10B9D0000100010000000101000000000001000062
+:10B9E0000000000001000101000001000001000052
+:10B9F0000000000100000101000001000000000043
+:10BA00000000000100000101000000000000000033
+:10BA10000000000000000101000000000000000024
+:10BA20000000000000000100000000000000000015
+:10BA30000100000000000000000000000000000005
+:10BA400000000000000000000000000000000000F6
+:10BA500000000000000001000000000000000000E5
+:10BA600000000000000000000000000000000000D6
+:10BA700000000000000001000000000000000000C5
+:10BA800000000000000001000000000000000000B5
+:10BA9000000000000000000001010101010101009F
+:10BAA0000000000000010101010100000000000091
+:10BAB0000001000000010001000000000100000082
+:10BAC0000100000100010100000000000000010071
+:10BAD0000100010000000101000000000001010060
+:10BAE0000000000001000101000001000001000051
+:10BAF0000000000100000101000001000100000041
+:10BB00000000000100000101010000000000000031
+:10BB10000000000000000101000000000000000023
+:10BB20000000000000010100000000000000000013
+:10BB30000100000000000000000000000000000004
+:10BB400000000000000000000000000000000000F5
+:10BB500000000000000101000000000000000000E3
+:10BB600000000000000001000000000000000000D4
+:10BB700000000000000001000000000000000000C4
+:10BB800000000000000001000000000000000000B4
+:10BB9000000000000000000001010101010101009E
+:10BBA0000000000000010101010100000000000090
+:10BBB0000001000001010001000000000100000080
+:10BBC000010001010001010000000000000001006F
+:10BBD000010001000100010100000000000101005E
+:10BBE0000000000001000101000001000001000050
+:10BBF0000000000100000101000001000100000040
+:10BC00000000000100000101010000000000000030
+:10BC10000000000000000101000000000000000022
+:10BC20000000000000010100000000000000000012
+:10BC30000100000000000100000000000000000002
+:10BC400000000000000000000000000000000000F4
+:10BC500000000000000101000000000000000000E2
+:10BC600000000000000001000000000000000000D3
+:10BC700000000000000101000000000000000000C2
+:10BC800000000000000001000000000000000000B3
+:10BC9000000000000000000001010101010101009D
+:10BCA000000001000101010101010000000000008D
+:10BCB000000100000101000100000000010000007F
+:10BCC000010001010001010000000000000001006E
+:10BCD000010001000101010100000000000101005C
+:10BCE000000000000100010100000101000100004E
+:10BCF000000000010000010100000100010000003F
+:10BD0000000000010001010101000000000000002E
+:10BD10000000000000000101000000000000000021
+:10BD20000000000000010100000000000000000011
+:10BD30000100000000000100000000000000000001
+:10BD400000000000000001000000000000000000F2
+:10BD500000000000000101000000000000000000E1
+:10BD600000000000000001000000000000000000D2
+:10BD700000000000000101000000000000000000C1
+:10BD800000000000000001000000000000000000B2
+:10BD9000000000000000000001010101010101009C
+:10BDA000000101000101010101010000000000008B
+:10BDB000000100000101000100000000010000007E
+:10BDC000010001010001010000000000000001006D
+:10BDD000010001000101010100000000000101005B
+:10BDE000000000000100010100000101000100004D
+:10BDF000000000010000010100000100010000003E
+:10BE0000000000010001010101000000000000002D
+:10BE10000000000000000101000000000000000020
+:10BE20000000000000010100000000000000000010
+:10BE30000100000000000100000000000000000000
+:10BE400000000000000001000000000000000000F1
+:10BE500000000000000101000000000000000000E0
+:10BE600000000000000001000000000000000000D1
+:10BE700000000000000101000000000000000000C0
+:10BE800000000000000101000000000000000000B0
+:10BE9000000000000000000001010101010101009B
+:10BEA000000101000101010101010000000000008A
+:10BEB000000100000101000100000100010000007C
+:10BEC0000100010100010101000100000001010069
+:10BED0000100010001010101010000000001010158
+:10BEE000000100000100010100000101000100004B
+:10BEF000000000010100010100000100010000003C
+:10BF0000000000010001010101000000000000002C
+:10BF1000000000000000010100000000000000001F
+:10BF2000000000000001010000010000000000000E
+:10BF300001000000000001000000000000000000FF
+:10BF400000000000000001000000000000000000F0
+:10BF500000000000000101000000000000000000DF
+:10BF600000000000000001000000000000000000D0
+:10BF700000000000000101000000000000000000BF
+:10BF800000000000000101000000000000000000AF
+:10BF9000000000000000000001010101010101009A
+:10BFA0000001010001010101010100000000000089
+:10BFB000000100000101000100000100010000007B
+:10BFC0000100010100010101000100000001010068
+:10BFD0000100010001010101010000000001010157
+:10BFE000000100000100010100000101000100004A
+:10BFF000000000010100010100000100010000003B
+:10C00000000000010001010101000000000000002B
+:10C01000000000000000010100000000000000001E
+:10C02000000000000001010000010000000000000D
+:10C0300001000000000001000000000000000000FE
+:10C0400000000000000001000000000000000000EF
+:10C0500000000000000101000000000000000000DE
+:10C0600000000000000001000000000000000000CF
+:10C0700000000000000101000000000000000000BE
+:10C0800000000000000101000000000000000000AE
+:10C090000000000000000100010101010101010098
+:10C0A0000101010001010101010100000000000087
+:10C0B000000100000101000100000100010000007A
+:10C0C0000100010100010101000100000001010067
+:10C0D0000100010001010101010000000001010156
+:10C0E0000001000001000101000001010001000049
+:10C0F000000000010100010100000100010000003A
+:10C10000000000010001010101000000000000002A
+:10C11000000000000000010100000000000000001D
+:10C12000000000000001010000010000000000000C
+:10C1300001000000000001000000000000000000FD
+:10C1400000000000000001000000000000000000EE
+:10C1500000000000000101000000000000000000DD
+:10C1600000000000000001000000000000000000CE
+:10C1700000000000010101000000000000000000BC
+:10C1800000000000010101000000000000000000AC
+:10C190000000000000000100010101010101010097
+:10C1A0000101010101010101010100000000000085
+:10C1B0000001000001010001000001000100000079
+:10C1C0000100010100010101000100000001010066
+:10C1D0000100010001010101010000000001010155
+:10C1E0000001000001000101000001010001000048
+:10C1F0000000000101000101000001010100000038
+:10C200000000000100010101010000000000000029
+:10C21000000000000000010100000000000000001C
+:10C22000000000000001010000010001000000000A
+:10C2300001000000000001000000000000000000FC
+:10C2400000000000000001000000000000000000ED
+:10C2500000000000000101000000000000000000DC
+:10C2600000000000000101000000000000000000CC
+:10C2700000000000010101000000000000000000BB
+:10C2800000000000010101000000000000000000AB
+:10C290000000000000000100010101010101010096
+:10C2A0000101010101010101010100000000000084
+:10C2B0000001000001010001000001000100000078
+:10C2C0000100010100010101010100000001010064
+:10C2D0000100010001010101010000000101010153
+:10C2E0000001000001000101000001010001000047
+:10C2F0000000000101000101000001010100000037
+:10C300000000000100010101010000000001000027
+:10C31000000000000000010100000000000000001B
+:10C320000000000000010100000100010000000009
+:10C3300001000000000001000000000000000000FB
+:10C3400000000000000001000000000000000000EC
+:10C3500000000000000101000000000000000000DB
+:10C3600000000000000101000000000000000000CB
+:10C3700000000000010101000000000000000000BA
+:10C3800000000000010101000000000000000000AA
+:10C390000000000000000100010101010101010194
+:10C3A0000101010101010101010100000000000083
+:10C3B0000001000001010001000001000100000077
+:10C3C0000100010101010101010100010001010061
+:10C3D0000100010001010101010000000101010152
+:10C3E0000001000001000101010001010101010043
+:10C3F0000000000101000101000001010100000036
+:10C400000000000100010101010000000001000026
+:10C41000000000000000010100000000000000001A
+:10C420000000000000010100000100010000000008
+:10C4300001000000000001000000000000010000F9
+:10C4400000000000000001000000000000000000EB
+:10C4500000000000010101000000000000000000D9
+:10C4600000000000000101000000000000000000CA
+:10C4700000010000010101000000000000000000B8
+:10C4800000010000010101000000000000000000A8
+:10C490000000000000000100010101010101010193
+:10C4A0000101010101010102010100000000000081
+:10C4B0000001000001010001010001000100000075
+:10C4C0000100010101010101010100010001010060
+:10C4D0000100010101010101010000000101010150
+:10C4E0000001000101010101010001010101010040
+:10C4F0000000000101000101000001010100000035
+:10C500000000000100010101010000000001000025
+:10C510000000000100000101000000000000000018
+:10C520000000000000010100000100010000000007
+:10C5300001000000000001000000000000010000F8
+:10C5400000000000000001000000000000000000EA
+:10C5500000000000010101000000000000000000D8
+:10C5600000000000000101000000000000000000C9
+:10C5700000010100010101000000000000000000B6
+:10C5800000010100010101000000000000000000A6
+:10C590000000000000010100010101010101010191
+:10C5A0000101010101010102010100000000000080
+:10C5B0000001000001010001010001000100000074
+:10C5C000010001010101010101010001000101005F
+:10C5D000010001010101010201000000010101014E
+:10C5E000000100010101010101000101010101013E
+:10C5F0000000000101000101000001010100000034
+:10C600000000000100010101010000000001000024
+:10C610000000000100000101000000000000000017
+:10C620000000000000010100000100010000000006
+:10C6300001000000000001000000000000010000F7
+:10C6400000000000000001000000000000000000E9
+:10C6500000000000010101000000000000000000D7
+:10C6600000000000000101000000000000000000C8
+:10C6700000010100010101000000000000000000B5
+:10C6800000010100010101000000000000000000A5
+:10C690000000000000010100010101010101010190
+:10C6A000010101010101010202010100000000007D
+:10C6B0000001000001010001010001000100000073
+:10C6C000010001010101010101010001000101005E
+:10C6D000010101010101010201000000010101014C
+:10C6E000000100010101010101000101010101013D
+:10C6F0000000000101000101000001010100000033
+:10C700000000000100010101010000000001010022
+:10C710000000000100000101000000000000000016
+:10C720000000000000010100000100010000000005
+:10C7300001000000000101000000000000010000F5
+:10C7400000000000000001000000000000000000E8
+:10C7500000000000010101000000000000000000D6
+:10C7600000000000000101000000000000000000C7
+:10C7700000010100010101000000000000000000B4
+:10C7800000010100010101000000000000000000A4
+:10C79000000000000001010001010101010101018F
+:10C7A000010101010101010202010100000000007C
+:10C7B0000001000001010002010001000100000071
+:10C7C000010001010101010101010001000101005D
+:10C7D000010101010101010201000000010101014B
+:10C7E000000101010101010101000101010101013B
+:10C7F0000000000101000101000001010100000032
+:10C800000000000100010101010000000001010021
+:10C810000000000100000101000000000000000015
+:10C820000000000000010100000100010000000004
+:10C8300001000000000101000000000000010000F4
+:10C8400000000000000001000000000000000000E7
+:10C8500000000000010101000000000000000000D5
+:10C8600000000000000101000000000000000000C6
+:10C8700000010101010101000000000000000000B2
+:10C8800000010101010101000000000000000000A2
+:10C89000000000000101010001010101010101018D
+:10C8A000010101010101010202010100000000007B
+:10C8B0000001000001010002010001000100000070
+:10C8C000010001010101010101010001000101005C
+:10C8D000010101010101010201000000010101014A
+:10C8E0000001010101010102010001010101010139
+:10C8F000000000010100010101000101010000012F
+:10C90000000000010001010101000000010101001F
+:10C910000000000100000101000000000000000014
+:10C920000000000000010100000100010000000003
+:10C9300001000000000101000000000000010000F3
+:10C9400000000000000001010000000000000000E5
+:10C9500000010000010101000000000000000000D3
+:10C9600000000000010101000000000000000000C4
+:10C9700000010101010101000000000000000000B1
+:10C9800001010101010101000000000000000000A0
+:10C99000000000000101010001010101010101018C
+:10C9A000010101010101010202010100000000007A
+:10C9B000000100000101000201000100010000006F
+:10C9C000010001010101010101010001000101005B
+:10C9D0000101010101010102010000000101010149
+:10C9E0000001010101010102010001010101010138
+:10C9F000000000010100010101000101010000012E
+:10CA0000000000010101010101000000010101001D
+:10CA10000100000100000101000000010000000011
+:10CA20000000000000010100000100010000000002
+:10CA300001000000000101000000000000010000F2
+:10CA400000000000000101010000000000000000E3
+:10CA500000010000010101000000000000000000D2
+:10CA600000000000010101000000000000000000C3
+:10CA700000010101010101000000000000000000B0
+:10CA8000010101010101010000000000000000009F
+:10CA9000000000000101010001010101010101018B
+:10CAA0000101010101010102020101000000000079
+:10CAB000000100000101000201000100010000006E
+:10CAC0000101010101010101010100010001010059
+:10CAD0000101010101010102010100000101010147
+:10CAE0000001010101010102010001010101010137
+:10CAF000000001010100010201000101010000012B
+:10CB0000000100010101010201000000010101001A
+:10CB1000010000010000010100000001000100000F
+:10CB20000000000100010100000100010000000000
+:10CB300001000001000101000000000000010000F0
+:10CB400000000000000101010001000000000000E1
+:10CB500000010000010101000000000000000000D1
+:10CB600000000000010101000000000000000000C2
+:10CB700000010101010101000000000000000000AF
+:10CB8000010101010101010000000000000000009E
+:10CB90000001000001010100010101010101010189
+:10CBA0000101010101010102020201000000000077
+:10CBB000000100000101000201000100010000006D
+:10CBC0000101010101010101010100010001010058
+:10CBD0000101010101010102010100000101010146
+:10CBE0000001010101010102010101010101010135
+:10CBF0000000010101010102010001010100000129
+:10CC00000001010101010102010000000101010018
+:10CC1000010000010000010200000001000100000D
+:10CC200000000001000101000001000100000000FF
+:10CC300001000001000101000000000000010000EF
+:10CC400000000000000101010001000000000000E0
+:10CC500000010100010101000000000000000000CF
+:10CC600000000000010101000000000000000000C1
+:10CC700000010101010101010000000000000000AD
+:10CC8000010101010101010000000000000000009D
+:10CC90000001000001010100010101010101010188
+:10CCA0000101010101010102020201000000000076
+:10CCB000000100000101000201000100010000006C
+:10CCC0000101010101010101010100010001010057
+:10CCD0000101010101010102010100000101010145
+:10CCE0000001010101010102010101010101010134
+:10CCF0000000010101010102010001010100000128
+:10CD00000001010101010102010000000101010017
+:10CD1000010100010000010201000001000100000A
+:10CD200000000001000101000001000100000000FE
+:10CD300001000001000101000000000000010000EE
+:10CD400000000000000101010001000000000000DF
+:10CD500000010100010101000000000000000000CE
+:10CD600000000000010101000000000000000000C0
+:10CD700001010101010101010000000000000000AB
+:10CD8000010101010101010000000000000000009C
+:10CD90000001000001010100010101010101010187
+:10CDA0000101010101010102020201000000000075
+:10CDB000000100000101000201000100010000006B
+:10CDC0000101010101010101010100010001010056
+:10CDD0000101010101010102010100000101010144
+:10CDE0000001010101010102010102010101010132
+:10CDF0000000010101010102010001010100000127
+:10CE00000001010101010102010000000101010016
+:10CE10000101000100000102010000010001000009
+:10CE200000000001000101000001000100000000FD
+:10CE300001000001000101000000000000010000ED
+:10CE400000000000000101010001000000000000DE
+:10CE500000010100010101000000000000000000CD
+:10CE600000010001010101000000000000000000BD
+:10CE700001010101010101010000000000000000AA
+:10CE8000010101010101010000000000000000009B
+:10CE90000001010001010100010101010101010185
+:10CEA0000101010101010102020201000000010073
+:10CEB0000001000001010002010101000100000069
+:10CEC0000101010101010101010100010001010055
+:10CED0000101010101010102010100000101010143
+:10CEE0000001010101010102010102010101010131
+:10CEF0000000010101010102010102010100000124
+:10CF00000001010101010102010000000101010015
+:10CF10000101000100000102010101010001000006
+:10CF200000000001000101000001000100000000FC
+:10CF300001000001000101000000000000010000EC
+:10CF400000000000000101010101000000000000DC
+:10CF500000010101010101000000000000000000CB
+:10CF600000010101010101000000000000000000BB
+:10CF700001010101010101010000000000000000A9
+:10CF8000010101010101010000000000000000009A
+:10CF90000001010101010100010101010101010183
+:10CFA0000101010101010102020201010000010071
+:10CFB0000101000001010002010101000100000067
+:10CFC0000101010101010102010100010001010053
+:10CFD0000101010101010102020100000102010140
+:10CFE0000001010101010102010102010101010130
+:10CFF0000000010101010102010102010100000123
+:10D000000001010101010102010000000101010014
+:10D010000101000100000102010101010001000005
+:10D0200000000001000101000001000100000000FB
+:10D0300001000001010101000000000000010000EA
+:10D0400000000000000101010101000000000000DB
+:10D0500000010101010101000000000000000000CA
+:10D0600000010101010101000100000000000001B8
+:10D0700001010101010101010000000000000001A7
+:10D080000101010101010100000000000000000099
+:10D090000101010101010100010101010101010181
+:10D0A000010101010101010202020101010001006F
+:10D0B0000101000001010002010102000200000064
+:10D0C0000101010101010102010100010101010051
+:10D0D000010101010101010202010000010201013F
+:10D0E000000101010101010201010201010101012F
+:10D0F0000000010101010102010102010100000122
+:10D100000001010101010102010001000101010012
+:10D110000101000100000102010101010001000004
+:10D1200000000001000101000001000100000100F9
+:10D1300001000001010101000000000000010000E9
+:10D1400000000000000101010101000000000000DA
+:10D1500000010101010101000000000000000000C9
+:10D1600000010101010101000100000000000001B7
+:10D1700001010101010101010000000000000001A6
+:10D180000101010101010100000000000000000098
+:10D190000101010101010100010101010101010180
+:10D1A000010101010101010202020101010001006E
+:10D1B0000101000001010002020102000200000062
+:10D1C000020101010101010201020001010102004D
+:10D1D000010101010101010202010000010201013E
+:10D1E000000101010101010201010201010101012E
+:10D1F0000001010101010102010102010100000120
+:10D200000001010101010102020001000101010010
+:10D210000101000100000102010101010001000003
+:10D2200000000001000101000001000100000100F8
+:10D2300001000001010101000000000000010000E8
+:10D2400000000000000101010101000000000000D9
+:10D2500001010101010101000000000000000000C7
+:10D2600000010101010101000100000000000101B5
+:10D2700001010101010101010000000000000001A5
+:10D280000101010101010100000000000000000097
+:10D29000010101010101010001010101010101017F
+:10D2A000010101010101010202020101010001006D
+:10D2B0000101000001010002020102000200000061
+:10D2C000020101010101010201020101010102004B
+:10D2D000010101010101010202010100010201013C
+:10D2E000000101010101010201010201010101012D
+:10D2F000000101010101010201010201010000011F
+:10D30000000101010101010202000100010101000F
+:10D310000101000100010102010101010001000001
+:10D3200000010001000101010001000100000100F5
+:10D3300001000001010101000000000000010000E7
+:10D3400000000000000101010101000000000000D8
+:10D3500001010101010101000000000000000000C6
+:10D3600001010101010101000100000000000101B3
+:10D3700001010101010101010000000000000001A4
+:10D380000101010101010100000000000000000096
+:10D39000010101010101010001010101010101017E
+:10D3A000010101010101010202020101010001006C
+:10D3B0000101000001010002020102000200000060
+:10D3C0000201010101010102020201010101020049
+:10D3D000010101010101010202010100010201013B
+:10D3E000000101010101010201010201010101012C
+:10D3F000000101010101010201010201010000011E
+:10D40000000101010101010202000100010101000E
+:10D410000101000100010102010101010001000000
+:10D4200000010001010101010001000100000100F3
+:10D4300001000001010101000000000000010000E6
+:10D4400000000000000101010101000000000000D7
+:10D4500001010101010101000000000000000000C5
+:10D4600001010101010101000100000000000101B2
+:10D4700001010101010101010000000000000101A2
+:10D480000101010101010100000000000000000095
+:10D49000010101010101010001010101010101017D
+:10D4A000010101010101010202020201010001006A
+:10D4B000010100000101000202010200020000005F
+:10D4C0000201010101010102020201010101020048
+:10D4D000010101010101010202010100010201013A
+:10D4E0000001010101010102020102020102010128
+:10D4F000000101010101010201010201010000011D
+:10D50000000101010101010202000100010101000D
+:10D5100001010001000101020101010100010000FF
+:10D5200000010001010101010001000100010100F1
+:10D5300001000001010101000000000000010000E5
+:10D5400000000000010101010101000000000000D5
+:10D5500001010101010101000000000000000000C4
+:10D5600001010101010101000100000000000101B1
+:10D5700001010101010101010000000000000101A1
+:10D580000101010101010100000000000000010192
+:10D59000010101010101010001010101010101017C
+:10D5A0000101010101010102020202010100010069
+:10D5B000010200000101000202010201020000005C
+:10D5C0000201010101010102020201010101020047
+:10D5D0000101010101010102020101000102010139
+:10D5E0000001010101010102020102020102010127
+:10D5F000000101010101010201010201010000011C
+:10D60000000101010101010202000100010101000C
+:10D6100001010001010101020101010100010000FD
+:10D6200000010001010101010001000100010100F0
+:10D6300001000001010101000000000000010000E4
+:10D6400000000000010101010101000000000000D4
+:10D6500001010101010101010000000000000000C2
+:10D6600001010101010101000100000000000101B0
+:10D6700001010101010101010000000000000101A0
+:10D680000101010101010100000000000000010191
+:10D69000010101010101010001010101010101017B
+:10D6A0000101010101010102020202010100010167
+:10D6B000010200000101000202010201020000005B
+:10D6C0000201010101010102020201010101020046
+:10D6D0000101010101010102020101000102020137
+:10D6E0000001010101010102020102020102010126
+:10D6F000000101010101010201010201010000011B
+:10D70000000101010101010202000100010101010A
+:10D7100001010001010101020101010100010000FC
+:10D7200000010001010101010001000100010100EF
+:10D7300001000001010101000000000000010000E3
+:10D7400000000100010101010101010000000001D0
+:10D7500001010101010101010000000000000000C1
+:10D7600001010101010101000100000000000101AF
+:10D77000010101010101010100000000000001019F
+:10D780000101010101010100000000000000010190
+:10D790000101010101010100020101010101010179
+:10D7A0000101010101010102020202010100010166
+:10D7B000010200000101000202010201020000005A
+:10D7C0000201010201010102020201020102020042
+:10D7D0000101010101010102020101010202020233
+:10D7E0000001010101010102020102020102010125
+:10D7F0000001010101010102010102010200000119
+:10D800000001010101010102020001000101010109
+:10D8100001010001010101020101010100010000FB
+:10D8200000010001010101010001000100010100EE
+:10D8300001000001010101000000000000010000E2
+:10D8400000010100010101010101010000000001CE
+:10D8500001010101010101010000010000000000BF
+:10D8600001010101010101000100000001000101AD
+:10D87000010101010101010100000000010001019D
+:10D88000010101010101010000000000000001018F
+:10D890000101010101010100020101010101010178
+:10D8A0000101010101010102020202010101010164
+:10D8B0000102000001010002020202010200000058
+:10D8C0000201010201010102020201020102020041
+:10D8D0000101010101010102020201010202020231
+:10D8E0000001010101010102020102020102010124
+:10D8F0000001010101010102020102010200000117
+:10D900000001010101010102020001000101010108
+:10D9100001010001010101020101010100010000FA
+:10D9200000010001010101010002000100010100EC
+:10D9300001000001010101000000000000010000E1
+:10D9400000010100010101010101010000000001CD
+:10D9500001010101010101010000010000000000BE
+:10D9600001010101010101000100000001000101AC
+:10D97000010101010101010100000000010001019C
+:10D98000010101010101010000000000010101018C
+:10D990000101010101010100020101010101010177
+:10D9A0000101010101010102020202010101010163
+:10D9B0000102000001020002020202010200000056
+:10D9C0000201010201010102020201020102020040
+:10D9D000020101010101010202020101020202022F
+:10D9E0000001010101010102020102020102010123
+:10D9F0000001010201010102020102020200000114
+:10DA00000001010101010102020001010101010106
+:10DA100001010101010101020101010100010000F8
+:10DA200000010001010101010002000100010100EB
+:10DA300001000001010101010001000000010001DD
+:10DA400000010100010101010101010000000001CC
+:10DA500001010101010101010000010000000000BD
+:10DA600001010101010101010100000001010101A9
+:10DA70000101010101010101000001000101010199
+:10DA8000010101010101010000000000010101018B
+:10DA90000101010101010100020101010101010176
+:10DAA0000101010101010102020202020101010161
+:10DAB0000102000001020002020202010200000055
+:10DAC000020101020101010202020102010202003F
+:10DAD000020101010101010202020101020202022E
+:10DAE0000001010101010102020202020102010121
+:10DAF0000001010201010102020102020200000113
+:10DB00000001010101010102020001010101010105
+:10DB100001010101010101020101010100010000F7
+:10DB200000010001010101010102000100010100E9
+:10DB300001010001010101010001000000010001DB
+:10DB400000010100010101010101010000000101CA
+:10DB500001010101010101010000010000000000BC
+:10DB600001010101010101010100000001010101A8
+:10DB70000101010101010101000001000101010198
+:10DB80000101010101010101000001000101010188
+:10DB90000101010101010100020201010101010174
+:10DBA0000101010101010102020202020101010160
+:10DBB0000102000002020002020202010200000053
+:10DBC000020102020101010202020102010202003D
+:10DBD000020101010101010202020101020202022D
+:10DBE000000101010101010202020202020201011F
+:10DBF0000001010201010102020102020200000112
+:10DC00000001010101010102020001010101010104
+:10DC100001010101010101020101010100010000F6
+:10DC200000010001010101010102000100010100E8
+:10DC300001010101010101010001000000010001D9
+:10DC400000010100010101020101010000000101C8
+:10DC500001010101010101010000010000000001BA
+:10DC600001010101010101010100010001010101A6
+:10DC70000101010101010101010001000101010196
+:10DC80000101010101010101000001010101010186
+:10DC90000101010101010100020202010101010172
+:10DCA000010101010101010202020202010101015F
+:10DCB0000102000002020002020202010200000052
+:10DCC000020102020101010202020102010202003C
+:10DCD000020102010101010202020101020202022B
+:10DCE000000101010201010202020202020201011D
+:10DCF0000001010201010102020102020200000111
+:10DD00000001010101010102020101010101010102
+:10DD100001010101010101020101010100010000F5
+:10DD200000010001010101010102000100010100E7
+:10DD300001010101010101010001000000010001D8
+:10DD400000010100010101020101010000000101C7
+:10DD500001010101010101010000010000000001B9
+:10DD600001010101010101010100010101010101A4
+:10DD70000101010101010101010001010101010194
+:10DD80000101010101010101010101010101010183
+:10DD90000101010101010100020202020101010170
+:10DDA000010101010101010202020202020101015D
+:10DDB0000102000002020002020202010200000051
+:10DDC000020102020101010202020102010202003B
+:10DDD000020102010101010202020101020202022A
+:10DDE000000201010201010202020202020202011A
+:10DDF0000001010201010102020102020200000110
+:10DE00000001010201010102020101010101010100
+:10DE100001010101010101020201010100010000F3
+:10DE200000010101010101010102000200010100E4
+:10DE300001010101010101010101000000010001D6
+:10DE400000010100010101020101010000000101C6
+:10DE500001010101010101010000010000000001B8
+:10DE600001010101010101010101010101010101A2
+:10DE70000101010101010101010101010101010192
+:10DE80000101010101010101010101010101010182
+:10DE9000010101010101010002020202010101016F
+:10DEA000010101010101010202020202020101015C
+:10DEB0000102000002020002020202010200000050
+:10DEC0000201020201020202020201020102020038
+:10DED0000201020101010102020202010202020228
+:10DEE0000002010102010102020202020202020119
+:10DEF000000101020101010202020202020000010E
+:10DF000000010102010101020201010101020101FE
+:10DF100001010101010101020201010100010100F1
+:10DF200000010101010101010102000200010100E3
+:10DF300001010101010101010101000000010001D5
+:10DF400000010100010101020101010001000101C4
+:10DF500001010101010101010000010000000001B7
+:10DF600001010101010101010101010101010101A1
+:10DF70000101010101010101010101010101010191
+:10DF80000101010101010101010101010101010181
+:10DF9000010101010101010002020202010101016E
+:10DFA000010101010101010202020202020102015A
+:10DFB000010200000202000202020201020000004F
+:10DFC0000201020201020202020201020102020037
+:10DFD0000201020101010102020202010202020227
+:10DFE0000002010102010102020202020202020217
+:10DFF000000101020101010202020202020000010D
+:10E0000001010102010101020201010101020101FC
+:10E0100001010101010101020201010100010100F0
+:10E0200000010101010101010102000200010100E2
+:10E0300001010101010101010101000000010001D4
+:10E0400000010101010101020101010001000101C2
+:10E0500001010101010101010000010000000101B5
+:10E0600001010101010101010101010101010101A0
+:10E070000101010101010101010101010101010190
+:10E080000101010101010101010101010101010180
+:10E09000010101010101010002020202020101016C
+:10E0A0000101010101010102020202020201020159
+:10E0B000010200000202000202020202020000004D
+:10E0C0000201020201020202020202020102020035
+:10E0D0000201020101010102020202010202020226
+:10E0E0000002010202010202020202020202020214
+:10E0F000000101020101010202020202020000010C
+:10E1000001010102010101020201010101020101FB
+:10E1100001010101010101020202010200010100ED
+:10E1200000010101010101020102010200010100DF
+:10E1300001010101010101010101000000010001D3
+:10E1400000010101010101020202010001000101BF
+:10E1500001010101010101010000010000000101B4
+:10E16000010101010101010101010101010101019F
+:10E17000010101010101010101010101010101018F
+:10E18000010101010101010101010101010101017F
+:10E19000010101010101010002020202020201016A
+:10E1A0000101010101010102020202020201020158
+:10E1B000010200000202000202020202020000004C
+:10E1C0000201020201020202020202020202020033
+:10E1D0000201020102010202020202010202020223
+:10E1E0000002010202010202020202020202020213
+:10E1F000000101020101010202020202020000010B
+:10E2000001010102010101020201010102020101F9
+:10E2100001010101010101020202010200010100EC
+:10E2200000010101010101020102010200010100DE
+:10E2300001010101010101010101000000010001D2
+:10E2400000010101010101020202010101000101BD
+:10E2500001010101010101010100010000000101B2
+:10E26000010101010101010101010101010101019E
+:10E27000010101010101010201010101010101018D
+:10E28000010101010101010101010101010101017E
+:10E290000101010101010100020202020202010169
+:10E2A0000101010101010102020202020202020156
+:10E2B000020200000202000202020202020000004A
+:10E2C0000202020201020202020202020202020031
+:10E2D0000201020202010202020202020202020220
+:10E2E0000002020202010202020202020202020211
+:10E2F0000001010201010202020202020200000109
+:10E3000001010102010102020201020102020101F6
+:10E3100001010101010101020202020201010100E9
+:10E3200000010101010101020102010201010100DC
+:10E3300002010101010101010101000000010001D0
+:10E3400000010101010101020202010101010101BB
+:10E3500001010101010101010100010000000101B1
+:10E36000010101010101010101010101010101019D
+:10E37000010101010101010201010101010101018C
+:10E38000010101010101010101010101010101017D
+:10E390000101010101010100020202020202020167
+:10E3A0000101010101010102020202020202020155
+:10E3B0000202000002020002020202020200000049
+:10E3C000020202020202020202020202020202002F
+:10E3D000020202020202020202020202020202021D
+:10E3E0000002020202010202020202020202020210
+:10E3F0000001010202010202020202020200000206
+:10E4000001010102010102020201020102020201F4
+:10E4100001010101010101020202020201010100E8
+:10E4200000010101010101020102010201010100DB
+:10E4300002010101010101010101010001020001CC
+:10E4400000010101010101020202010101010101BA
+:10E4500001010101010101010101010001010101AD
+:10E46000010101010101010101010101010101019C
+:10E47000010101010101010201010101010101018B
+:10E48000010101010101010101010101010101017C
+:10E490000101010101010100020202020202020166
+:10E4A0000101010101010102020202020202020253
+:10E4B0000202000002020002020202020201000047
+:10E4C000020202020202020202020202020202002E
+:10E4D000020202020202020202020202020202021C
+:10E4E000000202020201020202020202020202020F
+:10E4F0000001010202010202020202020200000205
+:10E5000001010102010102020201020102020201F3
+:10E5100001010101010101020202020201020100E6
+:10E5200000010101010101020102010201010100DA
+:10E5300002010101010101010101010101020001CA
+:10E5400001010101010101020202010101010101B8
+:10E5500001010101010101020101010101010101AA
+:10E56000010101010101010102010101010101019A
+:10E57000010101010101010201010101010101018A
+:10E58000010101010101010101010101010101017B
+:10E590000101010101010100020202020202020165
+:10E5A0000101010101010102020202020202020252
+:10E5B0000202000002020002020202020201000046
+:10E5C000020202020202020202020202020202002D
+:10E5D000020202020202020202020202020202021B
+:10E5E000000202020202020202020202020202020D
+:10E5F0000001010202010202020202020200000204
+:10E6000001010102010102020201020102020201F2
+:10E6100001010101010101020202020201020100E5
+:10E6200001010101010101020102010201010100D8
+:10E6300002010101010101020101010101020001C8
+:10E6400001010101010101020202010101010101B7
+:10E6500001010101010101020101010101010101A9
+:10E660000101010101010101020101010101010199
+:10E670000101010101010102010101010101010189
+:10E68000010101010101010101010101010101017A
+:10E690000101010101010100020202020202020164
+:10E6A0000101010101010102020202020202020251
+:10E6B0000202000002020002020202020201000045
+:10E6C000020202020202020202020202020202002C
+:10E6D000020202020202020202020202020202021A
+:10E6E000000202020202020202020202020202020C
+:10E6F0000001020202010202020202020200000202
+:10E7000001010102010202020201020102020201F0
+:10E7100001010101010101020202020201020100E4
+:10E7200001010101010102020202010201010100D5
+:10E7300002010101010101020101010101020001C7
+:10E7400001010101010101020202010101010101B6
+:10E7500001010101010101020101010101010101A8
+:10E760000101010101010101020101010101010198
+:10E770000101010101010102010101010101010188
+:10E780000101010101010101010101010101010179
+:10E790000101010101010100020202020202020163
+:10E7A0000101010101010102020202020202020250
+:10E7B0000202000002020002020202020201000044
+:10E7C000020202020202020202020202020202002B
+:10E7D0000202020202020202020202020202020219
+:10E7E000000202020202020202020202020202020B
+:10E7F0000001020202010202020202020200000201
+:10E8000001010102010202020201020102020201EF
+:10E8100001010101010101020202020201020100E3
+:10E8200001010101010102020202010201010100D4
+:10E8300002010101010101020101010101020101C5
+:10E8400001010101010101020202010101010101B5
+:10E8500001010101010101020101010101010101A7
+:10E860000101010101010101020101010101010197
+:10E870000101010101010102010101010101010187
+:10E880000101010101010101010101010101010178
+:10E890000101010101010100020202020202020162
+:10E8A000010101010101010202020202020202024F
+:10E8B0000202000002020002020202020201000043
+:10E8C000020202020202020202020202020202002A
+:10E8D0000202020202020202020202020202020218
+:10E8E000000202020202020202020202020202020A
+:10E8F0000001020202010202020202020200000200
+:10E9000001020102010202020202020102020201EC
+:10E9100002010102010101020202020201020101DF
+:10E9200001010101010202020202010201010100D2
+:10E9300002010101010101020101010101020101C4
+:10E9400001010101010101020202010101010101B4
+:10E9500001010101010101020101010101010101A6
+:10E960000101010101010102020101010101010195
+:10E970000101010101010102010101010101010186
+:10E980000101010101010101010101010101010177
+:10E990000101010101010100020202020202020161
+:10E9A000010101010101010202020202020202024E
+:10E9B0000202000002020002020202020201000042
+:10E9C0000202020202020202020202020202020029
+:10E9D0000202020202020202020202020202020217
+:10E9E0000002020202020202020202020202020209
+:10E9F00000010202020102020202020202000002FF
+:10EA000001020202010202020202020202020201E9
+:10EA100002010102010101020202020201020101DE
+:10EA200001010101010202020202010201010100D1
+:10EA300002010101010101020202010101020101C1
+:10EA400001010101010101020202020101010101B2
+:10EA500001010101010101020101010101010101A5
+:10EA60000101010101010102020101010101010194
+:10EA70000101010101010102010101010101010185
+:10EA80000101010101010101010101010101010176
+:10EA90000101010101010100020202020202020160
+:10EAA000010101010101010202020202020202024D
+:10EAB0000202000002020002020202020201000041
+:10EAC0000202020202020202020202020202020127
+:10EAD0000202020202020202020202020202020216
+:10EAE0000002020202020202020202020202020208
+:10EAF00000020202020102020202020202000002FD
+:10EB000001020202020202020202020202020201E7
+:10EB100002010102010102020202020201020101DC
+:10EB200001010101010202020202010201010100D0
+:10EB300002010101010101020202010101020101C0
+:10EB400001010101010101020202020101010101B1
+:10EB500001010101010102020101010101010101A3
+:10EB60000101010101010102020101010101010193
+:10EB70000101010101010102010101010101010184
+:10EB80000101010101010102010101010101010174
+:10EB9000010101010101010002020202020202015F
+:10EBA000010101010101010202020202020202024C
+:10EBB000020200000202000202020202020200003F
+:10EBC0000202020202020202020202020202020126
+:10EBD0000202020202020202020202020202020215
+:10EBE0000002020202020202020202020202020207
+:10EBF00000020202020102020202020202000002FC
+:10EC000001020202020202020202020202020201E6
+:10EC100002010102010102020202020201020101DB
+:10EC200001010101010202020202010201020200CD
+:10EC300002010101010101020202010101020101BF
+:10EC400001010101010101020202020101010101B0
+:10EC500001010101010202020101010101010101A1
+:10EC60000101010101010102020101010101010192
+:10EC70000101010101010102010101010101010183
+:10EC80000101010101010102010101010101010173
+:10EC9000010101010101010002020202020202015E
+:10ECA000010101010101010202020202020202024B
+:10ECB000020200000202000202020202020200003E
+:10ECC0000202020202020202020202020202020125
+:10ECD0000202020202020202020202020202020214
+:10ECE0000002020202020202020202020202020206
+:10ECF00000020202020202020202020202000002FA
+:10ED000001020202020202020202020202020201E5
+:10ED100002020102010102020202020201020101D9
+:10ED200001010102010202020202010201020200CB
+:10ED300002010101010101020202010101020101BE
+:10ED400001010101010101020202020101010101AF
+:10ED5000010101010102020201010201010101019F
+:10ED60000101010101010102020101010101010191
+:10ED70000101010101010102020101010101010181
+:10ED80000101010101010102010101010101010172
+:10ED9000010101010101010002020202020202015D
+:10EDA000010101010101010202020202020202024A
+:10EDB000020200000202000202020202020200003D
+:10EDC0000202020202020202020202020202020124
+:10EDD0000202020202020202020202020202020213
+:10EDE0000002020202020202020202020202020205
+:10EDF00000020202020202020202020202000002F9
+:10EE000001020202020202020202020202020202E3
+:10EE100002020102010102020202020201020101D8
+:10EE200001010102010202020202010201020200CA
+:10EE300002010101010102020202010101020101BC
+:10EE400001010101010101020202020101010101AE
+:10EE5000010101010102020202010201010101019D
+:10EE60000101010101010102020101010101010190
+:10EE7000010101010101020202010101010101017F
+:10EE80000101010101010102020101010101010170
+:10EE9000010101010101010002020202020202025B
+:10EEA0000202020101010102020202020202020246
+:10EEB000020200000202000202020202020201003B
+:10EEC0000202020202020202020202020202020123
+:10EED0000202020202020202020202020202020212
+:10EEE0000002020202020202020202020202020204
+:10EEF00000020202020202020202020202000102F7
+:10EF000001020202020202020202020202020202E2
+:10EF100002020102010102020202020201020101D7
+:10EF200001010102010202020202020201020201C7
+:10EF300002010102010102020202010101020101BA
+:10EF400001010101010101020202020101010101AD
+:10EF5000010201010202020202010201010101019A
+:10EF6000010101010101010202010101010101018F
+:10EF7000010101010101020202010101010101017E
+:10EF8000010101010101010202010101010101016F
+:10EF9000010101010101010002020202020202025A
+:10EFA0000202020101010102020202020202020245
+:10EFB000020200000202000202020202020201003A
+:10EFC0000202020202020202020202020202020122
+:10EFD0000202020202020202020202020202020211
+:10EFE0000002020202020202020202020202020203
+:10EFF00000020202020202020202020202000102F6
+:10F0000001020202020202020202020202020202E1
+:10F0100002020102010102020202020201020101D6
+:10F0200001010102010202020202020201020201C6
+:10F0300002010102010102020202010101020101B9
+:10F0400001010101010102020202020101010101AB
+:10F050000102010102020202020102010101010199
+:10F06000010101010101010202020101010101018D
+:10F07000010201010102020202010101010101017B
+:10F08000010101010101010202010101010101016E
+:10F090000101010101010100020202020202020259
+:10F0A0000202020102020102020202020202020242
+:10F0B0000202000002020002020202020202010039
+:10F0C0000202020202020202020202020202020121
+:10F0D0000202020202020202020202020202020210
+:10F0E0000002020202020202020202020202020202
+:10F0F00000020202020202020202020202000102F5
+:10F1000001020202020202020202020202020202E0
+:10F1100002020102010102020202020201020101D5
+:10F1200001020102010202020202020201020201C4
+:10F1300002010102010202020202010101020101B7
+:10F1400001010101010102020202020101010101AA
+:10F150000102020102020202020102010101010197
+:10F16000010101010101020202020201010101018A
+:10F170000102020102020202020202010101010176
+:10F18000010201010101020202020101010101016A
+:10F190000101010101010100020202020202020258
+:10F1A000020202020202020202020202020202023F
+:10F1B0000202000002020002020202020202010038
+:10F1C0000202020202020202020202020202020120
+:10F1D000020202020202020202020202020202020F
+:10F1E0000102020202020202020202020202020200
+:10F1F00000020202020202020202020202000102F4
+:10F2000002020202020202020202020202020202DE
+:10F2100002020102010102020202020202020101D3
+:10F2200001020102010202020202020201020201C3
+:10F2300002010102010202020202020101020101B5
+:10F2400001010101010102020202020201010101A8
+:10F250000202020102020202020202010101010194
+:10F260000101010101020202020202010101010188
+:10F270000102020102020202020202010101010175
+:10F280000202020102020202020202010101010164
+:10F290000101010101010100020202020202020257
+:10F2A000020202020202020202020202020202023E
+:10F2B0000202000002020002020202020202020135
+:10F2C000020202020202020202020202020202011F
+:10F2D000020202020202020202020202020202020E
+:10F2E00001020202020202020202020202020202FF
+:10F2F00001020202020202020202020202010102F1
+:10F3000002020202020202020202020202020202DD
+:10F3100002020102010102020202020202020201D1
+:10F3200001020102010202020202020201020201C2
+:10F3300002010102010202020202020101020101B4
+:10F3400001010101010102020202020202010102A5
+:10F350000202020202020202020202010101010192
+:10F360000101010101020202020202020201020283
+:10F370000202020202020202020202010101010172
+:10F380000202020102020202020202010101010163
+:10F390000101010101010100020202020202020256
+:10F3A000020202020202020202020202020202023D
+:10F3B0000202000002020002020202020202020134
+:10F3C000020202020202020202020202020202021D
+:10F3D000020202020202020202020202020202020D
+:10F3E00001020202020202020202020202020202FE
+:10F3F00001020202020202020202020202010102F0
+:10F4000002020202020202020202020202020202DC
+:10F4100002020202010102020202020202020201CF
+:10F4200001020102020202020202020202020201BF
+:10F4300002010102020202020202020201020102B0
+:10F4400001010101010202020202020202010202A2
+:10F450000202020202020202020202010101010191
+:10F460000102010102020202020202020201020280
+:10F47000020202020202020202020202020101026E
+:10F480000202020202020202020202020101010160
+:10F490000101010101010100020202020202020255
+:10F4A000020202020202020202020202020202023C
+:10F4B0000202000002020002020202020202020232
+:10F4C000020202020202020202020202020202021C
+:10F4D000020202020202020202020202020202020C
+:10F4E00001020202020202020202020202020202FD
+:10F4F00001020202020202020202020202010102EF
+:10F5000002020202020202020202020202020202DB
+:10F5100002020202020202020202020202020201CC
+:10F5200001020102020202020202020202020201BE
+:10F5300002010102020202020202020201020102AF
+:10F5400001010101010202020202020202010202A1
+:10F550000202020202020202020202010101010190
+:10F56000020202020202020202020202020202027B
+:10F57000020202020202020202020202020102026C
+:10F58000020202020202020202020202020101015E
+:10F590000102010101010100020202020202020253
+:10F5A000020202020202020202020202020202023B
+:10F5B0000202010002020002020202020202020230
+:10F5C000020202020202020202020202020202021B
+:10F5D000020202020202020202020202020202020B
+:10F5E00001020202020202020202020202020202FC
+:10F5F00001020202020202020202020202010102EE
+:10F6000002020202020202020202020202020202DA
+:10F6100002020202020202020202020202020201CB
+:10F6200001020102020202020202020202020201BD
+:10F6300002010102020202020202020202020102AD
+:10F64000010101010102020202020202020202029F
+:10F65000020202020202020202020202010101018E
+:10F66000020202020202020202020202020202027A
+:10F67000020202020202020202020202020202026A
+:10F68000020202020202020202020202020202015B
+:10F69000020201010202020002020202020202024E
+:10F6A000020202020202020202020202020202023A
+:10F6B000020201010202000202020202020202022E
+:10F6C000020202020202020202020202020202021A
+:10F6D000020202020202020202020202020202020A
+:10F6E00001020202020202020202020202020202FB
+:10F6F00001020202020202020202020202010102ED
+:10F7000002020202020202020202020202020202D9
+:10F7100002020202020202020202020202020201CA
+:10F7200001020202020202020202020202020201BB
+:10F7300002020202020202020202020202020102AA
+:10F74000010202010102020202020202020202029C
+:10F75000020202020202020202020202010101018D
+:10F760000202020202020202020202020202020279
+:10F770000202020202020202020202020202020269
+:10F780000202020202020202020202020202020259
+:10F79000020202010202020002020202020202024C
+:10F7A0000202020202020202020202020202020239
+:10F7B000020202020202000202020202020202022B
+:10F7C0000202020202020202020202020202020219
+:10F7D0000202020202020202020202020202020209
+:10F7E00002020202020202020202020202020202F9
+:10F7F00001020202020202020202020202020202EA
+:10F8000002020202020202020202020202020202D8
+:10F8100002020202020202020202020202020201C9
+:10F8200001020202020202020202020202020201BA
+:10F8300002020202020202020202020202020102A9
+:10F84000010202010202020202020202020202029A
+:10F85000020202020202020202020202020101028A
+:10F860000202020202020202020202020202020278
+:10F870000202020202020202020202020202020268
+:10F880000202020202020202020202020202020258
+:10F89000020202020202020002020202020202024A
+:10F8A0000202020202020202020202020202020238
+:10F8B000020202020202000202020202020202022A
+:10F8C0000202020202020202020202020202020218
+:10F8D0000202020202020202020202020202020208
+:10F8E00002020202020202020202020202020202F8
+:10F8F00001020202020202020202020202020202E9
+:10F9000002020202020202020202020202020202D7
+:10F9100002020202020202020202020202020202C7
+:10F9200002020202020202020202020202020201B8
+:10F9300002020202020202020202020202020102A8
+:10F940000102020102020202020202020202020299
+:10F950000202020202020202020202020202020287
+:10F960000202020202020202020202020202020277
+:10F970000202020202020202020202020202020267
+:10F980000202020202020202020202020202020257
+:10F990000202020202020200020202020202020249
+:10F9A0000202020202020202020202020202020237
+:10F9B0000202020202020002020202020202020229
+:10F9C0000202020202020202020202020202020217
+:10F9D0000202020202020202020202020202020207
+:10F9E00002020202020202020202020202020202F7
+:10F9F00002020202020202020202020202020202E7
+:10FA000002020202020202020202020202020202D6
+:10FA100002020202020202020202020202020202C6
+:10FA200002020202020202020202020202020201B7
+:10FA300002020202020202020202020202020102A7
+:10FA40000102020102020202020202020202020298
+:10FA50000202020202020202020202020202020286
+:10FA60000202020202020202020202020202020276
+:10FA70000202020202020202020202020202020266
+:10FA80000202020202020202020202020202020256
+:10FA90000202020202020200020202020202020248
+:10FAA0000202020202020202020202020202020236
+:10FAB0000202020202020002020202020202020228
+:10FAC0000202020202020202020202020202020216
+:10FAD0000202020202020202020202020202020206
+:10FAE00002020202020202020202020202020202F6
+:10FAF00002020202020202020202020202020202E6
+:10FB000002020202020202020202020202020202D5
+:10FB100002020202020202020202020202020202C5
+:10FB200002020202020202020202020202020201B6
+:10FB300002020202020202020202020202020202A5
+:10FB40000102020102020202020202020202020297
+:10FB50000202020202020202020202020202020285
+:10FB60000202020202020202020202020202020275
+:10FB70000202020202020202020202020202020265
+:10FB80000202020202020202020202020202020255
+:10FB90000202020202020200020202020202020247
+:10FBA0000202020202020202020202020202020235
+:10FBB0000202020202020002020202020202020227
+:10FBC0000202020202020202020202020202020215
+:10FBD0000202020202020202020202020202020205
+:10FBE00002020202020202020202020202020202F5
+:10FBF00002020202020202020202020202020202E5
+:10FC000002020202020202020202020202020202D4
+:10FC100002020202020202020202020202020202C4
+:10FC200002020202020202020202020202020201B5
+:10FC300002020202020202020202020202020202A4
+:10FC40000202020202020202020202020202020294
+:10FC50000202020202020202020202020202020284
+:10FC60000202020202020202020202020202020274
+:10FC70000202020202020202020202020202020264
+:10FC80000202020202020202020202020202020254
+:10FC90000202020202020200020202020202020246
+:10FCA0000202020202020202020202020202020234
+:10FCB0000202020202020002020202020202020226
+:10FCC0000202020202020202020202020202020214
+:10FCD0000202020202020202020202020202020204
+:10FCE00002020202020202020202020202020202F4
+:10FCF00002020202020202020202020202020202E4
+:10FD000002020202020202020202020202020202D3
+:10FD100002020202020202020202020202020202C3
+:10FD200002020202020202020202020202020201B4
+:10FD300002020202020202020202020202020202A3
+:10FD40000202020202020202020202020202020293
+:10FD50000202020202020202020202020202020283
+:10FD60000202020202020202020202020202020273
+:10FD70000202020202020202020202020202020263
+:10FD80000202020202020202020202020202020253
+:10FD90000202020202020200020202020202020245
+:10FDA0000202020202020202020202020202020233
+:10FDB0000202020202020002020202020202020225
+:10FDC0000202020202020202020202020202020213
+:10FDD0000202020202020202020202020202020203
+:10FDE00002020202020202020202020202020202F3
+:10FDF00002020202020202020202020202020202E3
+:10FE000002020202020202020202020202020202D2
+:10FE100002020202020202020202020202020202C2
+:10FE200002020202020202020202020202020202B2
+:10FE300002020202020202020202020202020202A2
+:10FE40000202020202020202020202020202020292
+:10FE50000202020202020202020202020202020282
+:10FE60000202020202020202020202020202020272
+:10FE70000202020202020202020202020202020262
+:10FE80000202020202020202020202020202020252
+:10FE90000202020202020200020202020202020244
+:10FEA0000202020202020202020202020202020232
+:10FEB0000202020202020002020202020202020224
+:10FEC0000202020202020202020202020202020212
+:10FED0000202020202020202020202020202020202
+:10FEE00002020202020202020202020202020202F2
+:10FEF00002020202020202020202020202020202E2
+:10FF000002020202020202020202020202020202D1
+:10FF100002020202020202020202020202020202C1
+:10FF200002020202020202020202020202020202B1
+:10FF300002020202020202020202020202020202A1
+:10FF40000202020202020202020202020202020291
+:10FF50000202020202020202020202020202020281
+:10FF60000202020202020202020202020202020271
+:10FF70000202020202020202020202020202020261
+:10FF80000202020202020202020202020202020251
+:10FF90000202020202020200020202020202020243
+:10FFA0000202020202020202020202020202020231
+:10FFB0000202020202020002020202020202020223
+:10FFC0000202020202020202020202020202020211
+:10FFD0000202020202020202020202020202020201
+:10FFE00002020202020202020202020202020202F1
+:10FFF00002020202020202020202020202020202E1
+:02000002A0005C
+:1000000002020202020202020202020202020202D0
+:1000100002020202020202020202020202020202C0
+:1000200002020202020202020202020202020202B0
+:1000300002020202020202020202020202020202A0
+:100040000202020202020202020202020202020290
+:100050000202020202020202020202020202020280
+:100060000202020202020202020202020202020270
+:100070000202020202020202020202020202020260
+:100080000202020202020202020202020202020250
+:100090000202020202020200020202020202020242
+:1000A0000202020202020202020202020202020230
+:1000B0000202020202020002020202020202020222
+:1000C0000202020202020202020202020202020210
+:1000D0000202020202020202020202020202020200
+:1000E00002020202020202020202020202020202F0
+:1000F00002020202020202020202020202020202E0
+:1001000002020202020202020202020202020202CF
+:1001100002020202020202020202020202020202BF
+:1001200002020202020202020202020202020202AF
+:10013000020202020202020202020202020202029F
+:10014000020202020202020202020202020202028F
+:10015000020202020202020202020202020202027F
+:10016000020202020202020202020202020202026F
+:10017000020202020202020202020202020202025F
+:10018000020202020202020202020202020202024F
+:100190000202020202020200020202020202020241
+:1001A000020202020202020202020202020202022F
+:1001B0000202020202020002020202020202020221
+:1001C000020202020202020202020202020202020F
+:1001D00002020202020202020202020202020202FF
+:1001E00002020202020202020202020202020202EF
+:1001F00002020202020202020202020202020202DF
+:1002000002020202020202020202020202020202CE
+:1002100002020202020202020202020202020202BE
+:1002200002020202020202020202020202020202AE
+:10023000020202020202020202020202020202029E
+:10024000020202020202020202020202020202028E
+:10025000020202020202020202020202020202027E
+:10026000020202020202020202020202020202026E
+:10027000020202020202020202020202020202025E
+:10028000020202020202020202020202020202024E
+:100290000202020202020200020202020202020240
+:1002A000020202020202020202020202020202022E
+:1002B0000202020202020002020202020202020220
+:1002C000020202020202020202020202020202020E
+:1002D00002020202020202020202020202020202FE
+:1002E00002020202020202020202020202020202EE
+:1002F00002020202020202020202020202020202DE
+:1003000002020202020202020202020202020202CD
+:1003100002020202020202020202020202020202BD
+:1003200002020202020202020202020202020202AD
+:10033000020202020202020202020202020202029D
+:10034000020202020202020202020202020202028D
+:10035000020202020202020202020202020202027D
+:10036000020202020202020202020202020202026D
+:10037000020202020202020202020202020202025D
+:10038000020202020202020202020202020202024D
+:10039000020202020202020202020202020202023D
+:1003A000020202020202020202020202020202022D
+:1003B0000202020202020002020202020102020220
+:1003C000010202020202020202020202020202020E
+:1003D00002020202020202020202020202020202FD
+:1003E00002020202020202020202020202020202ED
+:1003F00002020202020202020202020202020202DD
+:1004000002020202020202020202020202020202CC
+:1004100002020202020202020202020202020202BC
+:1004200002020202020202020202020202020202AC
+:10043000020202020202020202020202020202029C
+:10044000020202020202020202020202020202028C
+:10045000020202020202020202020202020202027C
+:10046000020202020202020202020202020202026C
+:10047000020202020202020202020202020202025C
+:10048000020202020202020202020202020202024C
+:10049000020202020202020202020202020202023C
+:1004A000020202020202020202020202020202022C
+:1004B0000202020101020002020202020102020221
+:1004C000010202010202020202020202020202020E
+:1004D00002020202020202020202020202020202FC
+:1004E00002020202020202020202020202020202EC
+:1004F00002020202020202020202020202020202DC
+:1005000002020202020202020202020202020202CB
+:1005100002020202020202020202020202020202BB
+:1005200002020202020202020202020202020202AB
+:10053000020202020202020202020202020202029B
+:10054000020202020202020202020202020202028B
+:10055000020202020202020202020202020202027B
+:10056000020202020202020202020202020202026B
+:10057000020202020202020202020202020202025B
+:10058000020202020202020202020202020202024B
+:10059000020202020202020202020202020202023B
+:1005A0000202020202020201010101010101010134
+:1005B0000101010101010102020201020102020224
+:1005C000010202010202020202020202020202020D
+:1005D00002020202020202020202020202020202FB
+:1005E00002020202020202020202020202020202EB
+:1005F00002020202020202020202020202020202DB
+:1006000002020202020202020202020202020202CA
+:1006100002020202020202020202020202020202BA
+:1006200002020202020202020202020202020202AA
+:10063000020202020202020202020202020202029A
+:10064000020202020202020202020202020202028A
+:10065000020202020202020202020202020202027A
+:10066000020202020202020202020202020202026A
+:10067000020202020202020202020202020202025A
+:10068000020202020202020202020202020202024A
+:10069000020202020202020202020202020202023A
+:1006A0000202020202020201010101010101010133
+:1006B0000101010101010102020201020102020223
+:1006C000010101010202020202020202020202020E
+:1006D00002020202020202020202020202020202FA
+:1006E00002020202020202020202020202020202EA
+:1006F00002020202020202020202020202020202DA
+:1007000002020202020202020202020202020202C9
+:1007100002020202020202020202020202020202B9
+:1007200002020202020202020202020202020202A9
+:100730000202020202020202020202020202020299
+:100740000202020202020202020202020202020289
+:100750000202020202020202020202020202020279
+:100760000202020202020202020202020202020269
+:100770000202020202020202020202020202020259
+:100780000202020202020202020202020202020249
+:100790000202020202020202020202020202020239
+:1007A0000202020202020201010101010101010132
+:1007B0000101010101010102020101020102020124
+:1007C000010101010202020202020202020202020D
+:1007D00002020202020202020202020202020201FA
+:1007E00002020202020202020202020202020202E9
+:1007F00002020202020202020202020202020202D9
+:1008000002020202020202020202020202020202C8
+:1008100002020202020202020202020202020202B8
+:1008200002020202020202020202020202020202A8
+:100830000202020202020202020202020202020298
+:100840000202020202020202020202020202020288
+:100850000202020202020202020202020202020278
+:100860000202020202020202020202020202020268
+:100870000202020202020202020202020202020258
+:100880000202020202020202020202020202020248
+:100890000202020202020202020202020202020238
+:1008A0000202020202020201010101010101010131
+:1008B0000101010101010101010101010101010128
+:1008C0000101010101010102020202020202010210
+:1008D00002020202020202020202020202010202F9
+:1008E00002020202020202020202020202020202E8
+:1008F00002020202020202020202020202020202D8
+:1009000002020202020202020202020202020202C7
+:1009100002020202020202020202020202020202B7
+:1009200002020202020202020202020202020202A7
+:100930000202020202020202020202020202020297
+:100940000202020202020202020202020202020287
+:100950000202020202020202020202020202020277
+:100960000202020202020202020202020202020267
+:100970000202020202020202020202020202020257
+:100980000202020202020202020202020202020247
+:100990000202020202020202020202020202020237
+:1009A0000202020202020201010101010101010130
+:1009B0000101010101010101010101010101010127
+:1009C000010101010101010202020202020102020F
+:1009D00002020202020202020202020201020101FA
+:1009E00002020201020202020202020202020202E8
+:1009F00002020202020202020202020202020202D7
+:100A000002020202020202020202020202020202C6
+:100A100002020202020202020202020202020202B6
+:100A200002020202020202020202020202020202A6
+:100A30000202020202020202020202020202020296
+:100A40000202020202020202020202020202020286
+:100A50000202020202020202020202020202020276
+:100A60000202020202020202020202020202020266
+:100A70000202020202020202020202020202020256
+:100A80000202020202020202020202020202020246
+:100A90000202020202020202020202020202020236
+:100AA000020202020202020101010101010101012F
+:100AB0000101010101010101010101010101010126
+:100AC0000101010101010102020102010202010210
+:100AD00001020201020202020202020202010201FA
+:100AE00002010102010202020202020202020202E9
+:100AF00002020202020202020202020202020202D6
+:100B000002020202020202020202020202020202C5
+:100B100002020202020202020202020202020202B5
+:100B200002020202020202020202020202020202A5
+:100B30000202020202020202020202020202020295
+:100B40000202020202020202020202020202020285
+:100B50000202020202020202020202020202020275
+:100B60000202020202020202020202020202020265
+:100B70000202020202020202020202020202020255
+:100B80000202020202020202020202020202020245
+:100B90000202020202020202020202020202020235
+:100BA000020202020202020101010101010101012E
+:100BB0000101010101010101010101010101010125
+:100BC000010101010101010202020202010101020F
+:100BD00002010102020202010202020201010101FC
+:100BE00002020201020102020202020202020202E7
+:100BF00002020202020202020202020202020202D5
+:100C000002020202020202020202020202020202C4
+:100C100002020202020202020202020202020202B4
+:100C200002020202020202020202020202020202A4
+:100C30000202020202020202020202020202020294
+:100C40000202020202020202020202020202020284
+:100C50000202020202020202020202020202020274
+:100C60000202020202020202020202020202020264
+:100C70000202020202020202020202020202020254
+:100C80000202020202020202020202020202020244
+:100C90000202020202020202020202020202020234
+:100CA000020202020202020101010101010101012D
+:100CB0000101010101010101010101010101010124
+:100CC0000101010101010102020102010201010110
+:100CD0000102020101010202010101010101010100
+:100CE00001010101010201020202020202010202EB
+:100CF00002020202020202020202020202020202D4
+:100D000002020202020202020202020202020202C3
+:100D100002020202020202020202020202020202B3
+:100D200002020202020202020202020202020202A3
+:100D30000202020202020202020202020202020293
+:100D40000202020202020202020202020202020283
+:100D50000202020202020202020202020202020273
+:100D60000202020202020202020202020202020263
+:100D70000202020202020202020202020202020253
+:100D80000202020202020202020202020202020243
+:100D90000202020202020202020202020202020233
+:100DA000020202020202020101010101010101012C
+:100DB0000101010101010101010101010101010123
+:100DC0000101010101010101010101010101010212
+:100DD00001010101020201010202020201010101FD
+:100DE00002010101010102020202010102020101EC
+:100DF00002020201020202020202020202020202D4
+:100E000002020202020202020202020202020202C2
+:100E100002020202020202020202020202020202B2
+:100E200002020202020202020202020202020202A2
+:100E30000202020202020202020202020202020292
+:100E40000202020202020202020202020202020282
+:100E50000202020202020202020202020202020272
+:100E60000202020202020202020202020202020262
+:100E70000202020202020202020202020202020252
+:100E80000202020202020202020202020202020242
+:100E90000202020202020202020202020202020232
+:100EA000020202020202020101010101010101012B
+:100EB0000101010101010101010101010101010122
+:100EC000010101010101010202010201010101010F
+:100ED0000101010101010201010101010101010101
+:100EE00001010101010101020202020201010202EB
+:100EF00002020102020202020202020202020202D3
+:100F000002020202020202020202020202020202C1
+:100F100002020202020202020202020202020202B1
+:100F200002020202020202020202020202020202A1
+:100F30000202020202020202020202020202020291
+:100F40000202020202020202020202020202020281
+:100F50000202020202020202020202020202020271
+:100F60000202020202020202020202020202020261
+:100F70000202020202020202020202020202020251
+:100F80000202020202020202020202020202020241
+:100F90000202020202020202020202020202020231
+:100FA000020202020202020101010101010101012A
+:100FB0000101010101010101010101010101010121
+:100FC0000101010101010101010101010101010111
+:100FD0000101010101010101010101010101010101
+:100FE00001010101010101010201010102010101EF
+:100FF00001010201010202020202020202020202D5
+:1010000002020202020202020202020202020202C0
+:1010100002020202020202020202020202020202B0
+:1010200002020202020202020202020202020202A0
+:101030000202020202020202020202020202020290
+:101040000202020202020202020202020202020280
+:101050000202020202020202020202020202020270
+:101060000202020202020202020202020202020260
+:101070000202020202020202020202020202020250
+:101080000202020202020202020202020202020240
+:101090000202020202020202020202020202020230
+:1010A0000202020202020201010101010101010129
+:1010B0000101010101010101010101010101010120
+:1010C0000101010101010101010101010101010110
+:1010D0000101010101010101010101010101010100
+:1010E00001010101010101020102010101010101EE
+:1010F00002020101020101020202020202020202D4
+:1011000002020202020202020202020202020202BF
+:1011100002020202020202020202020202020202AF
+:10112000020202020202020202020202020202029F
+:10113000020202020202020202020202020202028F
+:10114000020202020202020202020202020202027F
+:10115000020202020202020202020202020202026F
+:10116000020202020202020202020202020202025F
+:10117000020202020202020202020202020202024F
+:10118000020202020202020202020202020202023F
+:10119000020202020202020202020202020202022F
+:1011A0000202020202020201010101010101010128
+:1011B000010101010101010101010101010101011F
+:1011C000010101010101010101010101010101010F
+:1011D00001010101010101010101010101010101FF
+:1011E00001010101010101010201010101010101EE
+:1011F00001010101010202020202020202020202D4
+:1012000002020202020202020202020202020202BE
+:1012100002020202020202020202020202020202AE
+:10122000020202020202020202020202020202029E
+:10123000020202020202020202020202020202028E
+:10124000020202020202020202020202020202027E
+:10125000020202020202020202020202020202026E
+:10126000020202020202020202020202020202025E
+:10127000020202020202020202020202020202024E
+:10128000020202020202020202020202020202023E
+:10129000020202020202020202020202020202022E
+:1012A0000202020202020201010101010101010127
+:1012B000010101010101010101010101010101011E
+:1012C000010101010101010101010101010101010E
+:1012D00001010101010101010101010101010101FE
+:1012E00001010101010101010101010101010101EE
+:1012F00001010101010101020202010201020202D7
+:1013000002020202020202020202020202020202BD
+:1013100002020202020202020202020202020202AD
+:10132000020202020202020202020202020202029D
+:10133000020202020202020202020202020202028D
+:10134000020202020202020202020202020202027D
+:10135000020202020202020202020202020202026D
+:10136000020202020202020202020202020202025D
+:10137000020202020202020202020202020202024D
+:10138000020202020202020202020202020202023D
+:10139000020202020202020202020202020202022D
+:1013A0000202020202020201010101010101010126
+:1013B000010101010101010101010101010101011D
+:1013C000010101010101010101010101010101010D
+:1013D00001010101010101010101010101010101FD
+:1013E00001010101010101010101010101010101ED
+:1013F00001010101010101020202010101020201D8
+:1014000002020201020202020202020202020202BD
+:1014100002020202020202020202020202020202AC
+:10142000020202020202020202020202020202029C
+:10143000020202020202020202020202020202028C
+:10144000020202020202020202020202020202027C
+:10145000020202020202020202020202020202026C
+:10146000020202020202020202020202020202025C
+:10147000020202020202020202020202020202024C
+:10148000020202020202020202020202020202023C
+:10149000020202020202020202020202020202022C
+:1014A0000202020202020201010101010101010125
+:1014B000010101010101010101010101010101011C
+:1014C000010101010101010101010101010101010C
+:1014D00001010101010101010101010101010101FC
+:1014E00001010101010101010101010101010101EC
+:1014F00001010101010101010202010101020201D8
+:1015000001010101010202020202020202010202C1
+:1015100002020202020202020202020202020202AB
+:10152000020202020202020202020202020202029B
+:10153000020202020202020202020202020202028B
+:10154000020202020202020202020202020202027B
+:10155000020202020202020202020202020202026B
+:10156000020202020202020202020202020202025B
+:10157000020202020202020202020202020202024B
+:10158000020202020202020202020202020202023B
+:10159000020202020202020202020202020202022B
+:1015A0000202020202020201010101010101010124
+:1015B000010101010101010101010101010101011B
+:1015C000010101010101010101010101010101010B
+:1015D00001010101010101010101010101010101FB
+:1015E00001010101010101010101010101010101EB
+:1015F00001010101010101010101010101010101DB
+:1016000001010101010101010102020201020102C5
+:1016100002020202020202020202020202020202AA
+:10162000020202020202020202020202020202029A
+:10163000020202020202020202020202020202028A
+:10164000020202020202020202020202020202027A
+:10165000020202020202020202020202020202026A
+:10166000020202020202020202020202020202025A
+:10167000020202020202020202020202020202024A
+:10168000020202020202020202020202020202023A
+:10169000020202020202020202020202020202022A
+:1016A0000202020202020201010101010101010123
+:1016B000010101010101010101010101010101011A
+:1016C000010101010101010101010101010101010A
+:1016D00001010101010101010101010101010101FA
+:1016E00001010101010101010101010101010101EA
+:1016F00001010101010101010101010101010101DA
+:1017000001010101010101020202010202010201C3
+:1017100001020201020202020202020202020202AB
+:101720000202020202020202020202020202020299
+:101730000202020202020202020202020202020289
+:101740000202020202020202020202020202020279
+:101750000202020202020202020202020202020269
+:101760000202020202020202020202020202020259
+:101770000202020202020202020202020202020249
+:101780000202020202020202020202020202020239
+:101790000202020202020202020202020202020229
+:1017A0000202020202020201010101010101010122
+:1017B0000101010101010101010101010101010119
+:1017C0000101010101010101010101010101010109
+:1017D00001010101010101010101010101010101F9
+:1017E00001010101010101010101010101010101E9
+:1017F00001010101010101010101010101010101D9
+:1018000001010101010101010102020101010102C5
+:1018100002010102020202020202020202020202AA
+:101820000202020202020202020202020202020298
+:101830000202020202020202020202020202020288
+:101840000202020202020202020202020202020278
+:101850000202020202020202020202020202020268
+:101860000202020202020202020202020202020258
+:101870000202020202020202020202020202020248
+:101880000202020202020202020202020202020238
+:101890000202020202020202020202020202020228
+:1018A0000202020202020201010101010101010121
+:1018B0000101010101010101010101010101010118
+:1018C0000101010101010101010101010101010108
+:1018D00001010101010101010101010101010101F8
+:1018E00001010101010101010101010101010101E8
+:1018F00001010101010101010101010101010101D8
+:1019000001010101010101010101010201010101C6
+:1019100001020201010101020202020202020202AC
+:101920000202020202020202020202020202020297
+:101930000202020202020202020202020202020287
+:101940000202020202020202020202020202020277
+:101950000202020202020202020202020202020267
+:101960000202020202020202020202020202020257
+:101970000202020202020202020202020202020247
+:101980000202020202020202020202020202020237
+:101990000202020202020202020202020202020227
+:1019A0000202020202020201010101010101010120
+:1019B0000101010101010101010101010101010117
+:1019C0000101010101010101010101010101010107
+:1019D00001010101010101010101010101010101F7
+:1019E00001010101010101010101010101010101E7
+:1019F00001010101010101010101010101010101D7
+:101A000001010101010101010102010101010101C5
+:101A100001010101020202010202020102010202AD
+:101A20000202020202020202020202020202020296
+:101A30000202020202020202020202020202020286
+:101A40000202020202020202020202020202020276
+:101A50000202020202020202020202020202020266
+:101A60000202020202020202020202020202020256
+:101A70000202020202020202020202020202020246
+:101A80000202020202020202020202020202020236
+:101A90000202020202020202020202020202020226
+:101AA000020202020202020101010101010101011F
+:101AB0000101010101010101010101010101010116
+:101AC0000101010101010101010101010101010106
+:101AD00001010101010101010101010101010101F6
+:101AE00001010101010101010101010101010101E6
+:101AF00001010101010101010101010101010101D6
+:101B000001010101010101010101010101010101C5
+:101B100001010101010101010201010102010202B1
+:101B20000202020102020202020102010202020298
+:101B30000202020202020202020202020202020285
+:101B40000202020202020202020202020202020275
+:101B50000202020202020202020202020202020265
+:101B60000202020202020202020202020202020255
+:101B70000202020202020202020202020202020245
+:101B80000202020202020202020202020202020235
+:101B90000202020202020202020202020202020225
+:101BA000020202020202020101010101010101011E
+:101BB0000101010101010101010101010101010115
+:101BC0000101010101010101010101010101010105
+:101BD00001010101010101010101010101010101F5
+:101BE00001010101010101010101010101010101E5
+:101BF00001010101010101010101010101010101D5
+:101C000001010101010101010101010101010101C4
+:101C100001010101010101010101010101010101B4
+:101C2000010101010101010202020202020101029D
+:101C30000102020202020202020202020202020285
+:101C40000202020202020202020202020202020274
+:101C50000202020202020202020202020202020264
+:101C60000202020202020202020202020202020254
+:101C70000202020202020202020202020202020244
+:101C80000202020202020202020202020202020234
+:101C90000202020202020202020202020202020224
+:101CA000020202020202020101010101010101011D
+:101CB0000101010101010101010101010101010114
+:101CC0000101010101010101010101010101010104
+:101CD00001010101010101010101010101010101F4
+:101CE00001010101010101010101010101010101E4
+:101CF00001010101010101010101010101010101D4
+:101D000001010101010101010101010101010101C3
+:101D100001010101010101010101010101010101B3
+:101D2000010101010101010202010201020202029C
+:101D30000202010102020202020202020202020285
+:101D40000202020202020202020202020202020273
+:101D50000202020202020202020202020202020263
+:101D60000202020202020202020202020202020253
+:101D70000202020202020202020202020202020243
+:101D80000202020202020202020202020202020233
+:101D90000202020202020202020202020202020223
+:101DA000020202020202020101010101010101011C
+:101DB0000101010101010101010101010101010113
+:101DC0000101010101010101010101010101010103
+:101DD00001010101010101010101010101010101F3
+:101DE00001010101010101010101010101010101E3
+:101DF00001010101010101010101010101010101D3
+:101E000001010101010101010101010101010101C2
+:101E100001010101010101010101010101010101B2
+:101E200001010101010101010101010101010101A2
+:101E30000101020201010102020202020202020287
+:101E40000202020202020202020202020202020272
+:101E50000202020202020202020202020202020262
+:101E60000202020202020202020202020202020252
+:101E70000202020202020202020202020202020242
+:101E80000202020202020202020202020202020232
+:101E90000202020202020202020202020202020222
+:101EA000020202020202020101010101010101011B
+:101EB0000101010101010101010101010101010112
+:101EC0000101010101010101010101010101010102
+:101ED00001010101010101010101010101010101F2
+:101EE00001010101010101010101010101010101E2
+:101EF00001010101010101010101010101010101D2
+:101F000001010101010101010101010101010101C1
+:101F100001010101010101010101010101010101B1
+:101F2000010101010101010202010201020101029C
+:101F30000102010102020202020202020201020285
+:101F40000202020202020202020202020202020271
+:101F50000202020202020202020202020202020261
+:101F60000202020202020202020202020202020251
+:101F70000202020202020202020202020202020241
+:101F80000202020202020202020202020202020231
+:101F90000202020202020202020202020202020221
+:101FA000020202020202020101010101010101011A
+:101FB0000101010101010101010101010101010111
+:101FC0000101010101010101010101010101010101
+:101FD00001010101010101010101010101010101F1
+:101FE00001010101010101010101010101010101E1
+:101FF00001010101010101010101010101010101D1
+:1020000001010101010101010101010101010101C0
+:1020100001010101010101010101010101010101B0
+:1020200001010101010101010101010101010101A0
+:102030000101010101010102020202020201020288
+:102040000202020202020202020102020202020271
+:102050000202020202020202020202020202020260
+:102060000202020202020202020202020202020250
+:102070000202020202020202020202020202020240
+:102080000202020202020202020202020202020230
+:102090000202020202020202020202020202020220
+:1020A0000202020202020201010101010101010119
+:1020B0000101010101010101010101010101010110
+:1020C0000101010101010101010101010101010100
+:1020D00001010101010101010101010101010101F0
+:1020E00001010101010101010101010101010101E0
+:1020F00001010101010101010101010101010101D0
+:1021000001010101010101010101010101010101BF
+:1021100001010101010101010101010101010101AF
+:10212000010101010101010101010101010101019F
+:102130000101010101010102020102020201020189
+:102140000202020202020201010201020202020272
+:10215000020202020202020202020202020202025F
+:10216000020202020202020202020202020202024F
+:10217000020202020202020202020202020202023F
+:10218000020202020202020202020202020202022F
+:10219000020202020202020202020202020202021F
+:1021A0000202020202020201010101010101010118
+:1021B000010101010101010101010101010101010F
+:1021C00001010101010101010101010101010101FF
+:1021D00001010101010101010101010101010101EF
+:1021E00001010101010101010101010101010101DF
+:1021F00001010101010101010101010101010101CF
+:1022000001010101010101010101010101010101BE
+:1022100001010101010101010101010101010101AE
+:10222000010101010101010101010101010101019E
+:10223000010101010101010101010101010101018E
+:10224000010101010101010202010201010101017B
+:102250000101010101010102020202020202020265
+:10226000020202020202020202020202020202024E
+:10227000020202020202020202020202020202023E
+:10228000020202020202020202020202020202022E
+:10229000020202020202020202020202020202021E
+:1022A0000202020202020201010101010101010117
+:1022B000010101010101010101010101010101010E
+:1022C00001010101010101010101010101010101FE
+:1022D00001010101010101010101010101010101EE
+:1022E00001010101010101010101010101010101DE
+:1022F00001010101010101010101010101010101CE
+:1023000001010101010101010101010101010101BD
+:1023100001010101010101010101010101010101AD
+:10232000010101010101010101010101010101019D
+:10233000010101010101010101010101010101018D
+:102340000101010101010101010101020202020278
+:10235000020202020202020202020202020202025D
+:10236000020202020202020202020202020202024D
+:10237000020202020202020202020202020202023D
+:10238000020202020202020202020202020202022D
+:10239000020202020202020202020202020202021D
+:1023A0000202020202020201010101010101010116
+:1023B000010101010101010101010101010101010D
+:1023C00001010101010101010101010101010101FD
+:1023D00001010101010101010101010101010101ED
+:1023E00001010101010101010101010101010101DD
+:1023F00001010101010101010101010101010101CD
+:1024000001010101010101010101010101010101BC
+:1024100001010101010101010101010101010101AC
+:10242000010101010101010101010101010101019C
+:10243000010101010101010101010101010101018C
+:10244000010101010101010101010101010101017C
+:102450000101010101010102020202020202020263
+:10246000020202020202020202020202020202024C
+:10247000020202020202020202020202020202023C
+:10248000020202020202020202020202020202022C
+:10249000020202020202020202020202020202021C
+:1024A0000202020202020201010101010101010115
+:1024B000010101010101010101010101010101010C
+:1024C00001010101010101010101010101010101FC
+:1024D00001010101010101010101010101010101EC
+:1024E00001010101010101010101010101010101DC
+:1024F00001010101010101010101010101010101CC
+:1025000001010101010101010101010101010101BB
+:1025100001010101010101010101010101010101AB
+:10252000010101010101010101010101010101019B
+:10253000010101010101010101010101010101018B
+:10254000010101010101010101010101010101017B
+:102550000101010101010101020201020202020264
+:10256000020202020202020202020202020202024B
+:10257000020202020202020202020202020202023B
+:10258000020202020202020202020202020202022B
+:10259000020202020202020202020202020202021B
+:1025A0000202020202020201010101010101010114
+:1025B000010101010101010101010101010101010B
+:1025C00001010101010101010101010101010101FB
+:1025D00001010101010101010101010101010101EB
+:1025E00001010101010101010101010101010101DB
+:1025F00001010101010101010101010101010101CB
+:1026000001010101010101010101010101010101BA
+:1026100001010101010101010101010101010101AA
+:10262000010101010101010101010101010101019A
+:10263000010101010101010101010101010101018A
+:10264000010101010101010101010101010101017A
+:10265000010101010101010101010101010101016A
+:102660000101010101010102010202020202020252
+:10267000020202020202020202020202020202023A
+:10268000020202020202020202020202020202022A
+:10269000020202020202020202020202020202021A
+:1026A0000202020202020201010101010101010113
+:1026B000010101010101010101010101010101010A
+:1026C00001010101010101010101010101010101FA
+:1026D00001010101010101010101010101010101EA
+:1026E00001010101010101010101010101010101DA
+:1026F00001010101010101010101010101010101CA
+:1027000001010101010101010101010101010101B9
+:1027100001010101010101010101010101010101A9
+:102720000101010101010101010101010101010199
+:102730000101010101010101010101010101010189
+:102740000101010101010101010101010101010179
+:102750000101010101010101010101010101010169
+:102760000101010101010101020101010101010158
+:102770000101010101010102020202020202020240
+:102780000202020202020202020202020202020229
+:102790000202020202020202020202020202020219
+:1027A0000202020202020201010101010101010112
+:1027B0000101010101010101010101010101010109
+:1027C00001010101010101010101010101010101F9
+:1027D00001010101010101010101010101010101E9
+:1027E00001010101010101010101010101010101D9
+:1027F00001010101010101010101010101010101C9
+:1028000001010101010101010101010101010101B8
+:1028100001010101010101010101010101010101A8
+:102820000101010101010101010101010101010198
+:102830000101010101010101010101010101010188
+:102840000101010101010101010101010101010178
+:102850000101010101010101010101010101010168
+:102860000101010101010102010202020202020250
+:102870000202020202020202020202020202020238
+:102880000202020202020202020202020202020228
+:102890000202020202020202020202020202020218
+:1028A0000202020202020201010101010101010111
+:1028B0000101010101010101010101010101010108
+:1028C00001010101010101010101010101010101F8
+:1028D00001010101010101010101010101010101E8
+:1028E00001010101010101010101010101010101D8
+:1028F00001010101010101010101010101010101C8
+:1029000001010101010101010101010101010101B7
+:1029100001010101010101010101010101010101A7
+:102920000101010101010101010101010101010197
+:102930000101010101010101010101010101010187
+:102940000101010101010101010101010101010177
+:102950000101010101010101010101010101010167
+:102960000101010101010101010101010101010157
+:10297000010101010101010102020202020202023F
+:102980000202020202020202020202020202020227
+:102990000202020202020202020202020202020217
+:1029A0000202020202020201010101010101010110
+:1029B0000101010101010101010101010101010107
+:1029C00001010101010101010101010101010101F7
+:1029D00001010101010101010101010101010101E7
+:1029E00001010101010101010101010101010101D7
+:1029F00001010101010101010101010101010101C7
+:102A000001010101010101010101010101010101B6
+:102A100001010101010101010101010101010101A6
+:102A20000101010101010101010101010101010196
+:102A30000101010101010101010101010101010186
+:102A40000101010101010101010101010101010176
+:102A50000101010101010101010101010101010166
+:102A60000101010101010101010101010101010156
+:102A70000101010101010101010101010101010146
+:102A8000010101010101010202020202020202022D
+:102A90000202020202020202020202020202020216
+:102AA000020202020202020101010101010101010F
+:102AB0000101010101010101010101010101010106
+:102AC00001010101010101010101010101010101F6
+:102AD00001010101010101010101010101010101E6
+:102AE00001010101010101010101010101010101D6
+:102AF00001010101010101010101010101010101C6
+:102B000001010101010101010101010101010101B5
+:102B100001010101010101010101010101010101A5
+:102B20000101010101010101010101010101010195
+:102B30000101010101010101010101010101010185
+:102B40000101010101010101010101010101010175
+:102B50000101010101010101010101010101010165
+:102B60000101010101010101010101010101010155
+:102B70000101010101010101010101010101010145
+:102B80000101010101010101010101010101010135
+:102B9000010101010101010202020202020202021C
+:102BA000020202020202020101010101010101010E
+:102BB0000101010101010101010101010101010105
+:102BC00001010101010101010101010101010101F5
+:102BD00001010101010101010101010101010101E5
+:102BE00001010101010101010101010101010101D5
+:102BF00001010101010101010101010101010101C5
+:102C000001010101010101010101010101010101B4
+:102C100001010101010101010101010101010101A4
+:102C20000101010101010101010101010101010194
+:102C30000101010101010101010101010101010184
+:102C40000101010101010101010101010101010174
+:102C50000101010101010101010101010101010164
+:102C60000101010101010101010101010101010154
+:102C70000101010101010101010101010101010144
+:102C8000010101010101010202020202020202022B
+:102C90000202020202020202020202020202020214
+:102CA000020202020202020101010101010101010D
+:102CB0000101010101010101010101010101010104
+:102CC00001010101010101010101010101010101F4
+:102CD00001010101010101010101010101010101E4
+:102CE00001010101010101010101010101010101D4
+:102CF00001010101010101010101010101010101C4
+:102D000001010101010101010101010101010101B3
+:102D100001010101010101010101010101010101A3
+:102D20000101010101010101010101010101010193
+:102D30000101010101010101010101010101010183
+:102D40000101010101010101010101010101010173
+:102D50000101010101010101010101010101010163
+:102D60000101010101010101010101010101010153
+:102D70000101010101010101010101010101010143
+:102D80000101010101010101010101010101010133
+:102D9000010101010101010202020202020202021A
+:102DA000020202020202020101010101010101010C
+:102DB0000101010101010101010101010101010103
+:102DC00001010101010101010101010101010101F3
+:102DD00001010101010101010101010101010101E3
+:102DE00001010101010101010101010101010101D3
+:102DF00001010101010101010101010101010101C3
+:102E000001010101010101010101010101010101B2
+:102E100001010101010101010101010101010101A2
+:102E20000101010101010101010101010101010192
+:102E30000101010101010101010101010101010182
+:102E40000101010101010101010101010101010172
+:102E50000101010101010101010101010101010162
+:102E60000101010101010101010101010101010152
+:102E70000101010101010101010101010101010142
+:102E80000101010101010101010101010101010132
+:102E90000101010101010102020202020202020219
+:102EA000020202020202020101010101010101010B
+:102EB0000101010101010101010101010101010102
+:102EC00001010101010101010101010101010101F2
+:102ED00001010101010101010101010101010101E2
+:102EE00001010101010101010101010101010101D2
+:102EF00001010101010101010101010101010101C2
+:102F000001010101010101010101010101010101B1
+:102F100001010101010101010101010101010101A1
+:102F20000101010101010101010101010101010191
+:102F30000101010101010101010101010101010181
+:102F40000101010101010101010101010101010171
+:102F50000101010101010101010101010101010161
+:102F60000101010101010101010101010101010151
+:102F70000101010101010101010101010101010141
+:102F80000101010101010101010101010101010131
+:102F9000010101010101010201010101010101021F
+:102FA000020202020202020101010101010101010A
+:102FB0000101010101010101010101010101010101
+:102FC00001010101010101010101010101010101F1
+:102FD00001010101010101010101010101010101E1
+:102FE00001010101010101010101010101010101D1
+:102FF00001010101010101010101010101010101C1
+:1030000001010101010101010101010101010101B0
+:1030100001010101010101010101010101010101A0
+:103020000101010101010101010101010101010190
+:103030000101010101010101010101010101010180
+:103040000101010101010101010101010101010170
+:103050000101010101010101010101010101010160
+:103060000101010101010101010101010101010150
+:103070000101010101010101010101010101010140
+:103080000101010101010101010101010101010130
+:10309000010101010101010201010101010101011F
+:1030A0000101010101010101010101010101010110
+:1030B0000101010101010101010101010101010100
+:1030C00001010101010101010101010101010101F0
+:1030D00001010101010101010101010101010101E0
+:1030E00001010101010101010101010101010101D0
+:1030F00001010101010101010101010101010101C0
+:1031000001010101010101010101010101010101AF
+:10311000010101010101010101010101010101019F
+:10312000010101010101010101010101010101018F
+:10313000010101010101010101010101010101017F
+:10314000010101010101010101010101010101016F
+:10315000010101010101010101010101010101015F
+:10316000010101010101010101010101010101014F
+:10317000010101010101010101010101010101013F
+:10318000010101010101010101010101010101012F
+:10319000010101010101010201010101010101011E
+:1031A000010101010101010101010101010101010F
+:1031B00001010101010101010101010101010101FF
+:1031C00001010101010101010101010101010101EF
+:1031D00001010101010101010101010101010101DF
+:1031E00001010101010101010101010101010101CF
+:1031F00001010101010101010101010101010101BF
+:1032000001010101010101010101010101010101AE
+:10321000010101010101010101010101010101019E
+:10322000010101010101010101010101010101018E
+:10323000010101010101010101010101010101017E
+:10324000010101010101010101010101010101016E
+:10325000010101010101010101010101010101015E
+:10326000010101010101010101010101010101014E
+:10327000010101010101010101010101010101013E
+:10328000010101010101010101010101010101012E
+:10329000010101010101010201010101010101011D
+:1032A000010101010101010101010101010101010E
+:1032B00001010101010101010101010101010101FE
+:1032C00001010101010101010101010101010101EE
+:1032D00001010101010101010101010101010101DE
+:1032E00001010101010101010101010101010101CE
+:1032F00001010101010101010101010101010101BE
+:1033000001010101010101010101010101010101AD
+:10331000010101010101010101010101010101019D
+:10332000010101010101010101010101010101018D
+:10333000010101010101010101010101010101017D
+:10334000010101010101010101010101010101016D
+:10335000010101010101010101010101010101015D
+:10336000010101010101010101010101010101014D
+:10337000010101010101010101010101010101013D
+:10338000010101010101010101010101010101012D
+:10339000010101010101010201010101010101011C
+:1033A000010101010101010101010101010101010D
+:1033B00001010101010101020202020202020202F4
+:1033C00002020202020202020202020202020202DD
+:1033D00002020202020202020202020202020202CD
+:1033E00002020202020202020202020202020202BD
+:1033F00002020202020202020202020202020202AD
+:10340000020202020202020202020202020202029C
+:10341000020202020202020202020202020202028C
+:10342000020202020202020202020202020202027C
+:10343000020202020202020202020202020202026C
+:10344000020202020202020202020202020202025C
+:10345000020202020202020202020202020202024C
+:10346000020202020202020202020202020202023C
+:10347000020202020202020202020202020202022C
+:10348000020202020202020202020202020202021C
+:10349000020202020202020000000000000000001E
+:1034A0000000000000000001010101010101010113
+:1034B0000101010101010100000000000000000005
+:1034C00000000000000000000000000000000000FC
+:1034D00000000000000000020202020202020202DA
+:1034E00002020202020202020202020202020202BC
+:1034F00002020202020202020202020202020202AC
+:10350000020202020202020202020202020202029B
+:10351000020202020202020202020202020202028B
+:10352000020202020202020202020202020202027B
+:10353000020202020202020202020202020202026B
+:10354000020202020202020202020202020202025B
+:10355000020202020202020202020202020202024B
+:10356000020202020202020202020202020202023B
+:10357000020202020202020202020202020202022B
+:10358000020202020202020202020202020202021B
+:10359000020202020202020000000000000000001D
+:1035A0000000000000000001010101010101010112
+:1035B0000101010101010100000000000000000004
+:1035C00000000000000000000000000000000000FB
+:1035D00000000000000000020202020202020202D9
+:1035E00002020202020202020202020202020202BB
+:1035F00002020202020202020202020202020202AB
+:10360000020202020202020202020202020202029A
+:10361000020202020202020202020202020202028A
+:10362000020202020202020202020202020202027A
+:10363000020202020202020202020202020202026A
+:10364000020202020202020202020202020202025A
+:10365000020202020202020202020202020202024A
+:10366000020202020202020000000000000000004C
+:103670000000000000000002020202020202020238
+:10368000020202020202020202020202020202021A
+:10369000020202020202020000000000000000001C
+:1036A000000000000000000000000000000000001A
+:1036B000000000000000000000000000000000000A
+:1036C00000000000000000000000000000000000FA
+:1036D00000000000000000000000000000000000EA
+:1036E00000000000000000000000000000000000DA
+:1036F00000000000000000000000000000000000CA
+:1037000000000000000000000000000000000000B9
+:1037100000000000000000000000000000000000A9
+:103720000000000000000000000000000000000099
+:103730000000000000000000000000000000000089
+:103740000000000000000000000000000000000079
+:103750000000000000000000000000000000000069
+:103760000000000000000000000000000000000059
+:103770000000000000000000000000000000000049
+:103780000000000000000000000000000000000039
+:103790000000000000000000000000000000000029
+:1037A00000000000000000660000000000000000B3
+:1037B0000000000000000000000000000000000009
+:1037C00000000000000000000000000000000000F9
+:1037D00000000000000001000000000000000000E8
+:1037E00000000000000000000000000000000000D9
+:1037F00000000000000000000000000000000000C9
+:1038000000000000000000000000000000000000B8
+:1038100000000000000000000000000000000000A8
+:103820000000000000000000000000000000000098
+:103830000000000000000000000000000000000088
+:103840000000000000000000000000000000000078
+:103850000000000000000000000000000000000068
+:103860000000000000000000000000000000000058
+:103870000000000000000000000000000000000048
+:103880000000000000000000000000000000000038
+:103890000000000000000000000000000000000028
+:1038A0000000000000000000000000000000000018
+:1038B0000000000000000000000000000000000008
+:1038C00000000000000000000000000000000000F8
+:1038D00000000000000001000000000000000000E7
+:1038E00000000000000000000000000000000000D8
+:1038F00000000000000000000000000000000000C8
+:1039000000000000010000000000000100000000B5
+:1039100000000000000000000000000000000000A7
+:103920000000000000000000000000000000010096
+:103930000000000000000000000000000000000087
+:103940000000000000000000000000000000000077
+:103950000000000000000000000000000000000067
+:103960000000000000000000000000000000000057
+:103970000000000000000000000000000000000047
+:103980000000000000000000000000000000000037
+:103990000000000000000000000000000000000027
+:1039A0000000000000000000000000000000000017
+:1039B0000000000000000000000000000000000007
+:1039C00000000000000000000100000000000000F6
+:1039D00000000000000001000000000000000100E5
+:1039E00001000000000000000000000100000000D5
+:1039F00000000000000001000000000000000100C5
+:103A000000000000010000000000000100000000B4
+:103A100000000000000000000000000000000000A6
+:103A20000000000000000000000000010000010094
+:103A30000001000000000000000000000000000085
+:103A40000000000000000000000000000000000076
+:103A50000000000000000000000000000000010065
+:103A60000000000000000000000000000000000056
+:103A70000000000000000000000000000000000046
+:103A80000000000000000000000000000000000036
+:103A90000000000000000000000000000000000026
+:103AA0000000000000000000000000000000010015
+:103AB0000000000000000000000000000000000006
+:103AC00000000000000000000100000000000100F4
+:103AD00001000000000101000000000000000100E2
+:103AE00001000000000000010000010100000100D1
+:103AF00000000000000001000000000100000100C3
+:103B000000000000010000000000000100000000B3
+:103B100000000000000100000100000000000000A3
+:103B20000000000000000000000000010000010093
+:103B30000001000000000000000000000000010083
+:103B40000000000000000000000000000000000075
+:103B50000000000000000000000000000000010064
+:103B60000000000000000000000000000000000055
+:103B70000000000000000000000000000000000045
+:103B80000000000000000000000000000000000035
+:103B90000000000000000000000000000000000025
+:103BA0000100000100000000000000000000010012
+:103BB0000000000000000000000000000001000004
+:103BC00000000000000000000100000000000100F3
+:103BD00001000000000101000000000000000100E1
+:103BE00001000000000000010000010100000100D0
+:103BF00000000100000001000000000100000100C1
+:103C000000000100010000000000000101000100AF
+:103C100000000000000100000100000000000000A2
+:103C20000000000000000000000000010000010092
+:103C30000001000100000000000000000000010081
+:103C40000000000000000000000000000000010073
+:103C50000000000000000000000000000000010063
+:103C60000000000000000000000000000000000054
+:103C70000000000000000000000000000000000044
+:103C80000000000000000000000000000000000034
+:103C90000000000000000000000000000000000024
+:103CA0000100000100000000000000000000010011
+:103CB0000001000000000000000000000001000002
+:103CC00000000000000000000100000000000100F2
+:103CD00001000000000101000100000000000100DF
+:103CE00001000000000000010000010100000100CF
+:103CF00001000100000001000000000100000100BF
+:103D000000000100010000000000000101000100AE
+:103D100000000000000100000100000000000000A1
+:103D20000000000000000000000000010000010091
+:103D30000001000100000000000000000000010080
+:103D40000000000000000000000000000000010072
+:103D50000000000000000000000000000000010062
+:103D60000000000000000000000000000000000053
+:103D70000000000000000000000000000000010042
+:103D80000000000000000000000000000000000033
+:103D90000000000000000000000000000000000023
+:103DA0000100000100000000000000000000010010
+:103DB0000001000000000000000000000001000001
+:103DC00000000000000000000100000000000100F1
+:103DD00001000000000101000100000000000100DE
+:103DE00001000000000000010000010100000100CE
+:103DF00001000100000001010000000100000100BD
+:103E000000000100010000000000000101000100AD
+:103E100000000000000100000100000000000000A0
+:103E20000000000000000000000000010000010090
+:103E3000000100010000000000000000000001007F
+:103E40000000000000000000000000000000010071
+:103E50000000000000000000000000000000010061
+:103E60000000000000000000000000000000000052
+:103E70000000000000000000000000000000010041
+:103E80000000000000000000000000000000000032
+:103E90000000000000000000000000000000000022
+:103EA000010001010000000000000000000001000E
+:103EB00001010000000000000000000000010000FF
+:103EC00000000000000000000100000001010101ED
+:103ED00001000000000101000100000000000100DD
+:103EE00001000000000000010000010100000100CD
+:103EF00001000101000101010000000100000100BA
+:103F000000000100010000000000000101000100AC
+:103F1000000000000001000001000000000000009F
+:103F2000000000000000000000000001000001008F
+:103F3000000100010000000000000000000001007E
+:103F40000000000000000000000000000000010070
+:103F50000000000000000000000000000000010060
+:103F60000000000000000000000000000000000051
+:103F70000000000000000000000000000000010040
+:103F80000000000000000000000000000000010030
+:103F90000000000000000000000000000000000021
+:103FA000010001010000000000000000000001000D
+:103FB00001010000000000000000000000010001FD
+:103FC00000000000010000000100000001010101EB
+:103FD00001000000000101000100000000000101DB
+:103FE00001000000000100010000010100000100CB
+:103FF00001000101000101010000000100000100B9
+:1040000000000100010000000000000101010100AA
+:10401000000000000001000001000000000001009D
+:10402000000000000000000000000001000001018D
+:10403000000100010000000000000000000001007D
+:10404000000000000000000000000000000001006F
+:10405000000000000000000000000000000001005F
+:104060000000000000000000000000000000000050
+:10407000010000000000000000000000000001003E
+:10408000000000000000000000000000000001002F
+:104090000000000000000000000000000000000020
+:1040A000010001010000000000000000000001010B
+:1040B00001010000000000000000000000010001FC
+:1040C00000000000010000000100000001010101EA
+:1040D00001000000000101000100000000000101DA
+:1040E00001000000000100010000010100000100CA
+:1040F00001000101010101010000000100000100B7
+:1041000000000100010000000000000101010100A9
+:10411000000000000001000001000000000001009C
+:10412000000000000000000000000001010001018B
+:10413000000100010000000000000000000001007C
+:10414000000000000000000000000000000001006E
+:10415000000000000000000000000000000001005E
+:10416000000000000000000000000000000000004F
+:10417000010000000000000000000000000001003D
+:10418000000000000000000000000000000001002E
+:10419000000000000000000000000000000000001F
+:1041A000010001010000000000000000000001010A
+:1041B00001010000000000000000000000010001FB
+:1041C00001000000010000000100000001010101E8
+:1041D00001000000000101000100000001000101D8
+:1041E00001000000000100010000010100000100C9
+:1041F00001000101010101010000000100000100B6
+:1042000000000100010000000000000101010100A8
+:10421000000000000001000001000000000001009B
+:10422000000000000000000000000001010001018A
+:10423000000100010001000000000000000001007A
+:10424000000000000000000000000000000001006D
+:10425000000000000000000000000000000101005C
+:10426000000000000000000000000000000000004E
+:10427000010000000000000000000000000001003C
+:10428000000000000000000000000000000001002D
+:10429000000000000000000000000000000000001E
+:1042A0000100010100000000000000000000010109
+:1042B00001010000000000000000000000010001FA
+:1042C00001000100010000000100000001010101E6
+:1042D00001010000000101000100000001000101D6
+:1042E00001000000000100010000010101000100C7
+:1042F00001000101010101010000000100000100B5
+:1043000000000100010000000000000101010100A7
+:10431000000000000001000001000000000001009A
+:104320000000000000000000000000010100010189
+:104330000001000100010000000000000100010078
+:10434000000000000000000000000000000001006C
+:10435000000000000000000000000000000101005B
+:10436000000000000000000000000000000001004C
+:10437000010000000000000000000000000001003B
+:10438000000000000000000000000000000001002C
+:10439000000000000000000000000000000000001D
+:1043A0000100010100000000000000000000010108
+:1043B00001010000000000000000000000010001F9
+:1043C00001000100010000000100000001010101E5
+:1043D00001010000000101000100000001000101D5
+:1043E00001000000010100010000010101000100C5
+:1043F00001000101010101010000000100010100B3
+:1044000000000100010000000000000101010100A6
+:104410000000000000010000010000000000010198
+:104420000100000000000000000000010100010187
+:104430000001000100010000010000000100010076
+:10444000000000000000000000000000000001006B
+:10445000000000000000000000000000000101005A
+:10446000000000000000000000000000000001004B
+:10447000010000000000000000000000000001003A
+:10448000000000000000000000000000000001002B
+:10449000000000000000000000000000000000001C
+:1044A0000100010100000000000000000000010107
+:1044B00001010000000000000000000000010001F8
+:1044C00001000100010000000100000001010101E4
+:1044D00001010001000101000100000001000101D3
+:1044E00001000000010100010000010101000100C4
+:1044F00001000101010101010000000100010100B2
+:1045000000000100010100000000000101010100A4
+:104510000000000000010000010000000000010197
+:104520000100000000000000000000010100010186
+:104530000001000100010000010000000100010075
+:104540000000000000010000000000000000010069
+:104550000000000000000000000000000001010059
+:10456000000000000000000000000000000001004A
+:104570000100000000000000000000000001010038
+:104580000000000000000000000000000001010029
+:10459000000000000000000000000000000001001A
+:1045A0000100010100000000000000000000010106
+:1045B00001010000000000000000000000010001F7
+:1045C00001000100010000000100000001010101E3
+:1045D00001010001000101000100000001010101D1
+:1045E00001000000010100010000010101000100C3
+:1045F00001000101010101010000000100010100B1
+:1046000000000100010100010000000101010100A2
+:104610000000000000010000010000000000010196
+:104620000100000000010000000000010100010184
+:104630000001000100010000010000000100010074
+:104640000000000000010000000000000000010068
+:104650000000000000000000000000000001010058
+:104660000000000000000000000000000000010049
+:104670000100000000000000000000000001010037
+:104680000000000000000000000000000001010028
+:104690000000000000000000000000000000010019
+:1046A0000100010100000000000000000000010105
+:1046B00001010000000000000000000000010001F6
+:1046C00001000100010000000100000001010101E2
+:1046D00002010001000101000100000001010101CF
+:1046E00001000000010100010000010101010100C1
+:1046F00001000101010101010000000100010100B0
+:1047000000000100010100010000000101010100A1
+:104710000000000000010000010000000000010195
+:104720000100000000010000000000010101010182
+:104730000001000100010100010000000100010072
+:104740000000000000010000000000000000010067
+:104750000000000000000000000000000001010057
+:104760000000000000000000000000000000010048
+:104770000100000000000000000000000001010036
+:104780000000000000000000000000000101010026
+:104790000000000000000000000000000000010018
+:1047A0000100010100000000000000000000010104
+:1047B00002020000000000000000000000010001F3
+:1047C00001000100010000000100000001010101E1
+:1047D00002010101000101000100000001010101CD
+:1047E00002010000010100010000010101010100BE
+:1047F00001000101010101010000000100010100AF
+:1048000000000100010100010000000101010100A0
+:104810000000000000010100010000000000010193
+:104820000100000000010000000000010101010181
+:104830000001000100010100010000000100010071
+:104840000000000000010000000000000001010065
+:104850000000000000000000000000000001010056
+:104860000000000000000000000000000000010047
+:104870000100000000000000000000000001010035
+:104880000000000000000000000000000101010025
+:104890000000000000000000000000000000010017
+:1048A0000100010100000000000000000000010103
+:1048B00002020000000000000000000000010001F2
+:1048C00001000100010000000100000001010101E0
+:1048D00002010101000101000100000001010101CC
+:1048E00002010100010100010000010101010100BC
+:1048F00001000101010101010000000100010101AD
+:10490000010001010101000100010001010101009C
+:104910000100000000010100010100000000010190
+:104920000100000000010000000000010101010180
+:104930000001000100010100010000000100010070
+:104940000000000000010000000000000001010064
+:104950000000000000000000000000000001010055
+:104960000000000000000000000000000000010046
+:104970000100000000000000000000000101010033
+:104980000000000000000000000000000101010024
+:104990000000000000000000000000000000010016
+:1049A0000100010100000000000000000000010201
+:1049B00002020100000000000000000000010001F0
+:1049C00002000100010000000100000001010102DD
+:1049D00002010101000102000100000001010101CA
+:1049E00002010100010100010000010101010100BB
+:1049F00002000101010101010000000101010101AA
+:104A0000010001010101000100010001010101009B
+:104A1000010000000001010001010000000001018F
+:104A2000010000000001000000000001010101017F
+:104A3000000100010001010001000000010001006F
+:104A40000000000000010000000000000001010063
+:104A50000000000000000000000000000001010054
+:104A60000000000000000000000000000000010045
+:104A70000100000000000000000000000101010032
+:104A80000000000000000000000000000101010023
+:104A90000000000000000000000000000000010015
+:104AA0000100010100000000000000000000010200
+:104AB00002020100000000000001000000010002ED
+:104AC00002000100010000000100000001010102DC
+:104AD00002010101000102000100000001010101C9
+:104AE00002010100010101010000010101010101B8
+:104AF00002010101010101010000000101010101A8
+:104B0000010001010101000100010001010101009A
+:104B1000010000000001010001010000000001018E
+:104B2000010000000001000000000001010101017E
+:104B3000000100010001010001000000010101016C
+:104B40000000000000010000000000000001010161
+:104B50000100000000000000000000000001010052
+:104B60000000000000000000000000000001010043
+:104B70000100000000000000000000000101010031
+:104B80000000000000000000000000000101010022
+:104B90000000000000000000000000000001010013
+:104BA00001000101000000000000000000000102FF
+:104BB00002020100000000000001000000010002EC
+:104BC00002000100010000000100000001010102DB
+:104BD00002010101000202000100000001010102C6
+:104BE00002010100010101010000010101010101B7
+:104BF00002010201010101010000000101010101A6
+:104C00000100010101010001000100010101010099
+:104C1000010001000001010101010000010001018A
+:104C2000010100000001000000000001010101017C
+:104C3000000100010001010001000001010101016A
+:104C4000000000000001000100000000000101015F
+:104C50000100000000000000000000000101010050
+:104C60000000000000000000000000000001010042
+:104C7000010000000000000000010000010101002F
+:104C80000000000000000000000100000101010020
+:104C90000000000000000000000000000001010012
+:104CA00001000101000000000000000000000102FE
+:104CB00002020101000000000001000000010002EA
+:104CC00002000200010000000100000001010102D9
+:104CD00002020101000202000100000001010102C4
+:104CE00002010100010101010000010101010101B6
+:104CF00002010201010101010000000101010101A5
+:104D00000101010101010001000100010101010196
+:104D10000100010001010101010100000100010188
+:104D2000010101000001000000000001010101017A
+:104D30000001000100010100010000010101010169
+:104D4000000000000001000100000000000101015E
+:104D5000010000000100000000010000010101004D
+:104D60000000000000000000000000000001010041
+:104D7000010000000000000000010000010101002E
+:104D8000000000000000000000010100010101001E
+:104D90000000000000000000000000000101010010
+:104DA00001000101000000000000000000000102FD
+:104DB00002020101000000000001000000010002E9
+:104DC00002010200020000000200000001010102D5
+:104DD00002020101000202000100000001010102C3
+:104DE00002010100010101010000010101010101B5
+:104DF00002010201010101010000000101010101A4
+:104E00000101020101010001000100010101010194
+:104E10000100010001010101010100000101010186
+:104E20000101010100010000000000010101010178
+:104E30000002000100010100010000010101010167
+:104E4000000000000001000100000000000101015D
+:104E5000010000000100000000010000010101014B
+:104E60000000000000000000000000000001010040
+:104E7000010000000000000000010001010101002C
+:104E8000000000000000000001010101010101011A
+:104E9000000000000000000000000000010101000F
+:104EA00001000101000000000000000000000102FC
+:104EB00002020101000000000001000000010002E8
+:104EC00002010200020000000200000001010102D4
+:104ED00002020101000202000100000001010102C2
+:104EE00002010100010101010000010101010101B4
+:104EF00002010201010102010000000101010101A2
+:104F00000101020101010001000100010101010193
+:104F10000100010001010101010100010101010184
+:104F20000101010100010000000001010101010275
+:104F30000002000100010100010000010101010166
+:104F4000000100000001000100000000000101015B
+:104F50000101000001000000000100000101010149
+:104F6000000000000000000000000000000101003F
+:104F7000010000000000000000010101010101002A
+:104F80000000000000000000010101010101010119
+:104F9000000000000000000000000000010101000E
+:104FA00001000101000000000000000000000102FB
+:104FB00002020201000000000001000000010002E6
+:104FC00002010201020000000200000001010102D2
+:104FD00002020101000202000100000001010102C1
+:104FE00002010101010101020000010101010101B1
+:104FF00002010202010102010000000101010101A0
+:105000000101020102010001000100010101010191
+:105010000100010001010101010101010101010182
+:105020000101010100010000000101010101010273
+:105030000102000100010100010000010101010164
+:10504000000100000001000100000000000101015A
+:105050000101000001000000000100000101010148
+:10506000000000000000000000000000000101003E
+:105070000100000000000000000101010101010029
+:105080000000000000000000010101010101010118
+:10509000000000000000000000010000010101000C
+:1050A00001000101000000000000000001010102F8
+:1050B00002020201000000000001000000010002E5
+:1050C00002010201020000000200000001010102D1
+:1050D00002020202000202000200000001010102BD
+:1050E00002010101010101020000010101010101B0
+:1050F000020102020101020100000001010101019F
+:10510000010102010201000101010001010101018F
+:105110000100010101010101010101010101010180
+:105120000101010100010001000101010101010271
+:105130000102000100010101010000010101010162
+:105140000001000000010001000000000001010159
+:105150000101000001000000000100000101010147
+:10516000000000000000000000000000000101003D
+:105170000100000000000001000101010101010027
+:105180000000000000000001010101010101010116
+:10519000000000000000000000010100010101000A
+:1051A00001000101000000000001000001010102F6
+:1051B00002020201000000000001000000010002E4
+:1051C00002010201020000000200000001010102D0
+:1051D00002020202000202000200000001010102BC
+:1051E00002020101010201020000010101010101AD
+:1051F000020102020102020100000001010101019D
+:10520000020102010201000101010101010101018C
+:10521000010001010101010101010101010101027E
+:10522000020101010101000100010101010101026E
+:105230000102000100010101010000010101010161
+:105240000001010000010001000000000101010156
+:105250000101010001000001000100000101010144
+:10526000000000000000000000000000000101003C
+:105270000100000000000001010101010101010124
+:105280000000000000000001010101010101010115
+:105290000000000000000000010101010101010007
+:1052A00001000101000000000001010001010102F4
+:1052B00002020201010000000001000000010002E2
+:1052C00002020201020000000200000001010102CE
+:1052D00002020202010202000200000001010102BA
+:1052E00002020201020201020000010201010102A8
+:1052F0000201020202020201010000010101010299
+:10530000020102010201000101010101010101018B
+:10531000020001010102010101010101010101027B
+:10532000020101010101000100010101010101026D
+:10533000010200020001010101000101010101015E
+:105340000001010000010001000000010101010154
+:105350000101010001000001010100000101010142
+:10536000000000000000000000000000010101003A
+:105370000100000000000001010101010101010123
+:105380000000000000000001010101010101010114
+:105390000000000000000001010101010101010005
+:1053A00001000101000000000101010001010102F2
+:1053B00002020202010000000001000000010002E0
+:1053C00002020201020000000200000001010102CD
+:1053D00002020202010202000200000001010102B9
+:1053E00002020201020201020000020201010102A6
+:1053F0000202020202020202010000010101010296
+:10540000020102010201000101010101010101018A
+:10541000020001010102010101010101010101027A
+:10542000020101010101000100010101010101026C
+:10543000010200020001010101000101010101015D
+:105440000001010000010001000000010101010153
+:105450000101010001000001010101000101010140
+:105460000100000000000000000000000101010038
+:105470000200000000000001010101010101010121
+:105480000000000000000001010101010101010113
+:105490000000000000000001010101010101010004
+:1054A00002000101000000000101010001010102F0
+:1054B00002020202010100000001000000010002DE
+:1054C00002020201020000000200000001010102CC
+:1054D00002020202010202000200000001010102B8
+:1054E00002020201020201020000020201010102A5
+:1054F0000202020202020202010000020101010294
+:105500000201020102010001010101010101010189
+:105510000200010101020101010101010101010279
+:10552000020101010101000100010101010101026B
+:10553000010200020001010101000101010101015C
+:105540000101010000010001000000010101010151
+:10555000010101000100000101010100010101013F
+:105560000100000000000000000001000101010036
+:105570000200000000000001010101010101010120
+:105580000000000000000001010101010101010112
+:105590000000000000000001010101010101010003
+:1055A00002010101000000000101010101010102ED
+:1055B00002020202010101000001000000020002DB
+:1055C00002020201020000000200000001010102CB
+:1055D00002020202010202000200000001010102B7
+:1055E00002020201020201020000020201010102A4
+:1055F0000202020202020202010000020101010293
+:105600000201020102010001010101020101010286
+:105610000200010101020101010101010101010278
+:105620000201010101010001010101010101010269
+:10563000010200020001010101010101010101015A
+:105640000101010000010001000000010101010150
+:10565000010101000100000101010100010101013E
+:105660000100000000000000010101010101010032
+:10567000020000000000000101010101010101011F
+:105680000000000001000001010101010101010110
+:105690000000000000010001010101010101010001
+:1056A00002010101000000010101010101010102EB
+:1056B00002020202010101000001000000020002DA
+:1056C00002020201020000000200000001010102CA
+:1056D00002020202010202000200000001010102B6
+:1056E00002020201020201020000020201010102A3
+:1056F0000202020202020202010000020101010292
+:105700000202020102020001010101020101010283
+:105710000201010101020101020101010101010275
+:105720000201010101010101010101010101010267
+:105730000102010200010101010101010101010257
+:10574000010101000001000100000001010101024E
+:10575000020101000100000101010101010101013B
+:105760000100010000000000010101010101010030
+:10577000020000000000000101010101010101011E
+:10578000000000000100010101010101010101010E
+:105790000000000000010001010101010101010000
+:1057A00002010101010100010101010101010102E8
+:1057B00002020202010101000001000000020002D9
+:1057C00002020202020000000200000002010102C7
+:1057D00002020202010202000200000002010102B4
+:1057E00002020201020201020000020201010102A2
+:1057F0000202020202020202010000020101010291
+:105800000202020202020001010101020101010281
+:105810000201020101020101020101010101010273
+:105820000201010101010101010101010101010266
+:105830000202010201010101010101010101010254
+:10584000010101000001000100000001010101024D
+:10585000020101000100000101010101010101013A
+:10586000010001000000000001010101010101002F
+:10587000020000000101000101010101010101011B
+:10588000000000000101010101010101010101010C
+:1058900000000001010100010101010101010100FD
+:1058A00002010101010101010101010101010102E6
+:1058B00002020202020101000001000000020002D7
+:1058C00002020202020000000200000002020102C5
+:1058D00002020202010202000200000002010202B2
+:1058E00002020201020202020000020201010102A0
+:1058F0000202020202020202010000020101010290
+:105900000202020202020001010101020101010280
+:105910000201020101020101020101010101010272
+:105920000202010101010101010101010101010264
+:105930000202010201020101010101010101010252
+:105940000101010101010001000100010101010249
+:105950000201010101000001010101010101010138
+:10596000010001000000000101010101010101002D
+:105970000200000001010101010101010101010119
+:10598000000000000101010101010101010101010B
+:1059900000000001010101010101010101010100FB
+:1059A00002010101010101010101010101010102E5
+:1059B00002020202020101010002000000020002D4
+:1059C00002020202020000000200000002020202C3
+:1059D00002020202010202000200000002010202B1
+:1059E000020202020202020200000202010101029E
+:1059F000020202020202020201000102010101028E
+:105A0000020202020202000101010102020101027E
+:105A10000201020101020101020101010101010271
+:105A20000202010101010101010101010101010263
+:105A30000202010201020101010101010101010251
+:105A40000101010101010001000101010101010247
+:105A50000201010101000001010101010101010236
+:105A6000010001000000000101010101010101002C
+:105A70000200000101010101010101010101010117
+:105A80000000000101010101010101010101010109
+:105A900001010001010101010101010101010100F8
+:105AA00002010201010101010101010101010102E3
+:105AB00002020202020201010002000000020002D2
+:105AC00002020202020000000200000002020202C2
+:105AD00002020202020202000200000002020202AE
+:105AE000020202020202020200000202020101029C
+:105AF000020202020202020201000102010101028D
+:105B0000020202020202000201010102020101027C
+:105B1000020102010102020102010101010101026F
+:105B20000202020101010101010101020101010260
+:105B30000202010201020101010101010101010250
+:105B40000101010101010001000101010101010246
+:105B50000201010101010001010101010101010234
+:105B6000010001000000000101010101010101002B
+:105B70000200000101010101010101010101010116
+:105B80000000010101010101010101010101010107
+:105B900001010101010101010101010101010100F6
+:105BA00002010202010101010101010101010102E1
+:105BB00002020202020202010002000000020002D0
+:105BC00002020202020100000200000002020202C0
+:105BD00002020202020202000200000002020202AD
+:105BE000020202020202020200000202020102029A
+:105BF000020202020202020201000102010102028B
+:105C0000020202020202000201010102020101027B
+:105C1000020102010102020102010101010101026E
+:105C2000020202010102010101010102010101025E
+:105C3000020201020102020101010101010101024E
+:105C40000102010101010001000101010101010244
+:105C50000202010101010001010101010101010232
+:105C6000010001000000000101010101010101002A
+:105C70000200000101010101010101010101010115
+:105C80000101010101010101010101010101010104
+:105C900001010101010101010101010101010100F5
+:105CA00002010202010101010101010101010102E0
+:105CB00002020202020202010102000000020002CE
+:105CC00002020202020100000200000002020202BF
+:105CD00002020202020202000200000002020202AC
+:105CE0000202020202020202000002020201020299
+:105CF0000202020202020202010101020101020289
+:105D0000020202020202000201010102020101027A
+:105D1000020102010202020102010101010101026C
+:105D2000020202010102010101010102010101025D
+:105D3000020201020102020101010101010101024D
+:105D40000202010101020001000101010101010241
+:105D50000202010101010001010101010101010231
+:105D60000100010000000001010101010101010029
+:105D70000200010101010101010101010101010113
+:105D80000101010101010101010101010101010202
+:105D900001010101010101010101010101010100F4
+:105DA00002010202010101010101010101010102DF
+:105DB00002020202020202010102000000020002CD
+:105DC00002020202020100000200000002020202BE
+:105DD00002020202020202000200000002020202AB
+:105DE0000202020202020202000002020202020297
+:105DF0000202020202020202010101020102020287
+:105E00000202020202020002010201020202010277
+:105E10000202020202020201020101010101010269
+:105E2000020202020102010101010102010101025B
+:105E3000020201020102020102010101010101024B
+:105E40000202010101020001000101010101010240
+:105E5000020201010101010101010101010101022F
+:105E60000200010000010001010101010101010125
+:105E70000201010101010101010101010101010210
+:105E80000101010101010101010101010101010201
+:105E900001010101010101010101010101010100F3
+:105EA00002010202010101010101010101010102DE
+:105EB00002020202020202010102000000020002CC
+:105EC00002020202020100000200000002020202BD
+:105ED00002020202020202000200000002020202AA
+:105EE0000202020202020202000002020202020296
+:105EF0000202020202020202010101020202020285
+:105F00000202020202020002010201020202020275
+:105F10000202020202020201020101010101010268
+:105F2000020202020102010101010102010101025A
+:105F3000020201020102020102010101010101024A
+:105F4000020202010102000101010101010101023D
+:105F5000020202010101010101010101010101022D
+:105F60000200010000010001010101010101010124
+:105F7000020101010101010101010101010101020F
+:105F80000101010101010101010101010101010200
+:105F900001010101010101010101010101010100F2
+:105FA00002010202010101010101010101010102DD
+:105FB00002020202020202020102000001020002C9
+:105FC00002020202020100000200000002020202BC
+:105FD00002020202020202000200000002020202A9
+:105FE0000202020202020202010002020202020294
+:105FF0000202020202020202020101020202020283
+:106000000202020202020002010201020202020274
+:106010000202020202020202020201010101010265
+:106020000202020201020101010101020101010259
+:106030000202020201020201020101010101010248
+:10604000020202010102010101010101010101023B
+:10605000020202010101010101010101010101022C
+:106060000200010101010001010101010101010121
+:10607000020101010101010101010101010101020E
+:1060800001010101010101010101010101010102FF
+:1060900001010101010101010101010101010100F1
+:1060A00002010202010101010101010101010102DC
+:1060B00002020202020202020102000001020002C8
+:1060C00002020202020200000200000002020202BA
+:1060D00002020202020202000200000002020202A8
+:1060E0000202020202020202010002020202020293
+:1060F0000202020202020202020101020202020282
+:106100000202020202020002020201020202020272
+:106110000202020202020202020201010101010264
+:106120000202020201020101010101020201020256
+:106130000202020201020201020101010201020245
+:10614000020202010102010101010101010101023A
+:10615000020202010201010101010101010101022A
+:10616000020001010101010101010101010101011F
+:10617000020101010101010101010101010101020D
+:1061800001010101010101010101010101010102FE
+:1061900001010101010101010101010101010100F0
+:1061A00002010202010101010101010101010102DB
+:1061B00002020202020202020202000001020002C6
+:1061C00002020202020200000200000002020202B9
+:1061D00002020202020202000200000002020202A7
+:1061E0000202020202020202010102020202020291
+:1061F0000202020202020202020101020202020281
+:106200000202020202020002020201020202020271
+:106210000202020202020202020201010101010263
+:106220000202020202020101010101020201020254
+:106230000202020201020201020101010201020244
+:106240000202020101020101010101010101010239
+:106250000202020102010101010101010101010229
+:10626000020101010101010101010101010101011D
+:10627000020101010101010101010101010101020C
+:1062800001010101010101010101010101010102FD
+:1062900001010101010101010101010101010100EF
+:1062A00002010202010101010101010101010102DA
+:1062B00002020202020202020202000101020002C4
+:1062C00002020202020200010200000002020202B7
+:1062D00002020202020202000200000002020202A6
+:1062E0000202020202020202010102020202020290
+:1062F0000202020202020202020101020202020280
+:10630000020202020202000202020202020202026F
+:10631000020202020202020202020202010102025F
+:106320000202020202020101010101020201020253
+:106330000202020201020201020101010201020243
+:106340000202020101020101010101010101010238
+:106350000202020102010101010101010101020227
+:10636000020101010101010101010101010101011C
+:10637000020101010101010101010101010101020B
+:1063800001010101010101010101010101010102FC
+:1063900001010101010101010101010101010100EE
+:1063A00002010202010101010101010101010102D9
+:1063B00002020202020202020202000101020002C3
+:1063C00002020202020200010200000002020202B6
+:1063D00002020202020202000200000002020202A5
+:1063E000020202020202020201010202020202028F
+:1063F000020202020202020202010202020202027E
+:10640000020202020202000202020202020202026E
+:10641000020202020202020202020202020102025D
+:106420000202020202020101010101020201020252
+:106430000202020201020202020101020201020240
+:106440000202020101020102010101010101020235
+:106450000202020102010101010101010101020226
+:10646000020102010101010101010101010101011A
+:10647000020101010101010101010101010101020A
+:1064800002010101010101010101010101010102FA
+:1064900002010101010101010101010101010100EC
+:1064A00002010202010101010101010101010102D8
+:1064B00002020202020202020202000202020002C0
+:1064C00002020202020200020200000002020202B4
+:1064D00002020202020202000200000102020202A3
+:1064E000020202020202020201010202020202028E
+:1064F000020202020202020202010202020202027D
+:10650000020202020202000202020202020202026D
+:10651000020202020202020202020202020102025C
+:106520000202020202020102010101020201020250
+:10653000020202020202020202010102020102023E
+:106540000202020101020102010101010101020234
+:106550000202020102010101010101010102020224
+:106560000201020101010101010101010101010218
+:106570000201010101010101010101010101010209
+:1065800002010101010101010101010101010102F9
+:1065900002010101010101010101010101010100EB
+:1065A00002020202010101010101010101010102D6
+:1065B00002020202020202020202000202020002BF
+:1065C00002020202020200020200000002020202B3
+:1065D00002020202020202010200000102020202A1
+:1065E000020202020202020201010202020202028D
+:1065F000020202020202020202020202020202027B
+:10660000020202020202000202020202020202026C
+:10661000020202020202020202020202020202025A
+:10662000020202020202020201020202020202024B
+:10663000020202020202020202010202020102023C
+:106640000202020201020102010101010101020232
+:106650000202020202010101010101010102020222
+:106660000201020101010101010101010101010217
+:106670000201010101010101010101010101010208
+:1066800002010101010101010101010101010102F8
+:1066900002010101010101010101010101010100EA
+:1066A00002020202010101010101010101010102D5
+:1066B00002020202020202020202000202020002BE
+:1066C00002020202020202020200000002020202B0
+:1066D000020202020202020102010002020202029E
+:1066E000020202020202020202010202020202028B
+:1066F000020202020202020202020202020202027A
+:10670000020202020202000202020202020202026B
+:106710000202020202020202020202020202020259
+:10672000020202020202020201020202020202024A
+:10673000020202020202020202010202020202023A
+:106740000202020201020102010101010101020231
+:106750000202020202010101010201010102020220
+:106760000201020101010101010101010101010216
+:106770000201010101010101010101010101010207
+:1067800002020101010101010101010101010102F6
+:1067900002020101010101010101010101010100E8
+:1067A00002020202010101010101010101010202D3
+:1067B00002020202020202020202000202020002BD
+:1067C00002020202020202020200000002020202AF
+:1067D000020202020202020202020002020202029B
+:1067E0000202020202020202020202020202020289
+:1067F0000202020202020202020202020202020279
+:10680000020202020202000202020202020202026A
+:106810000202020202020202020202020202020258
+:106820000202020202020202020202020202020248
+:106830000202020202020202020202020202020238
+:10684000020202020202010201010101010202022E
+:10685000020202020201010201020101010202021E
+:106860000201020101010101010101010101010215
+:106870000202010101010101010101010101020204
+:1068800002020201010101010101010101010102F4
+:1068900002020101010101010101010101010100E7
+:1068A00002020202010101010101010101010202D2
+:1068B00002020202020202020202000202020002BC
+:1068C00002020202020202020200000002020202AE
+:1068D000020202020202020202020002020202029A
+:1068E0000202020202020202020202020202020288
+:1068F0000202020202020202020202020202020278
+:106900000202020202020002020202020202020269
+:106910000202020202020202020202020202020257
+:106920000202020202020202020202020202020247
+:106930000202020202020202020202020202020237
+:10694000020202020202010201010101010202022D
+:10695000020202020201010202020101020202021B
+:106960000202020101010101010101010101010213
+:106970000202020101010101010101010101020202
+:1069800002020201010101010101010101010202F2
+:1069900002020201010101010101010101010100E5
+:1069A00002020202010101010101010101010202D1
+:1069B00002020202020202020202020202020002B9
+:1069C00002020202020202020200000202020202AB
+:1069D0000202020202020202020201020202020298
+:1069E0000202020202020202020202020202020287
+:1069F0000202020202020202020202020202020277
+:106A00000202020202020002020202020202020268
+:106A10000202020202020202020202020202020256
+:106A20000202020202020202020202020202020246
+:106A30000202020202020202020202020202020236
+:106A4000020202020202010201010102010202022B
+:106A50000202020202020102020201010202020219
+:106A60000202020101010101010101010101020211
+:106A700002020202010101010102010101020202FE
+:106A800002020202020101010202010102020202EB
+:106A900002020202010101010101010101010100E3
+:106AA00002020202010101010101010101010202D0
+:106AB00002020202020202020202020202020002B8
+:106AC00002020202020202020200000202020202AA
+:106AD0000202020202020202020202020202020296
+:106AE0000202020202020202020202020202020286
+:106AF0000202020202020202020202020202020276
+:106B00000202020202020002020202020202020267
+:106B10000202020202020202020202020202020255
+:106B20000202020202020202020202020202020245
+:106B30000202020202020202020202020202020235
+:106B4000020202020202010201010102010202022A
+:106B50000202020202020102020202010202020217
+:106B60000202020101010101010101010101020210
+:106B700002020202020101020102010102020202FA
+:106B800002020202020101020202020102020202E8
+:106B900002020202010101010101010101010100E2
+:106BA00002020202010101010101010101010202CF
+:106BB00002020202020202020202020202020002B7
+:106BC00002020202020202020202000202020202A7
+:106BD0000202020202020202020202020202020295
+:106BE0000202020202020202020202020202020285
+:106BF0000202020202020202020202020202020275
+:106C00000202020202020002020202020202020266
+:106C10000202020202020202020202020202020254
+:106C20000202020202020202020202020202020244
+:106C30000202020202020202020202020202020234
+:106C40000202020202020102010101020202020228
+:106C50000202020202020202020202010202020215
+:106C6000020202020101010101010101010202020D
+:106C700002020202020201020202020202020202F5
+:106C800002020202020202020202020202020202E4
+:106C900002020202020201010101010101010100DF
+:106CA00002020202020101010101010101010202CD
+:106CB00002020202020202020202020202020002B6
+:106CC00002020202020202020202020202020202A4
+:106CD0000202020202020202020202020202020294
+:106CE0000202020202020202020202020202020284
+:106CF0000202020202020202020202020202020274
+:106D00000202020202020002020202020202020265
+:106D10000202020202020202020202020202020253
+:106D20000202020202020202020202020202020243
+:106D30000202020202020202020202020202020233
+:106D40000202020202020202010201020202020225
+:106D50000202020202020202020202020202020213
+:106D6000020202020101010102010101010202020B
+:106D700002020202020202020202020202020202F3
+:106D800002020202020202020202020202020202E3
+:106D900002020202020201020202010101010200DA
+:106DA00002020202020201010101010101010202CB
+:106DB00002020202020202020202020202020002B5
+:106DC00002020202020202020202020202020202A3
+:106DD0000202020202020202020202020202020293
+:106DE0000202020202020202020202020202020283
+:106DF0000202020202020202020202020202020273
+:106E00000202020202020102020202020202020263
+:106E10000202020202020202020202020202020252
+:106E20000202020202020202020202020202020242
+:106E30000202020202020202020202020202020232
+:106E40000202020202020202010202020202020223
+:106E50000202020202020202020202020202020212
+:106E60000202020202020102020202010102020205
+:106E700002020202020202020202020202020202F2
+:106E800002020202020202020202020202020202E2
+:106E900002020202020202020202020102020200D5
+:106EA00002020202020202010202010101010202C7
+:106EB00002020202020202020202020202020002B4
+:106EC00002020202020202020202020202020202A2
+:106ED0000202020202020202020202020202020292
+:106EE0000202020202020202020202020202020282
+:106EF0000202020202020202020202020202020272
+:106F00000202020202020202020202020202020261
+:106F10000202020202020202020202020202020251
+:106F20000202020202020202020202020202020241
+:106F30000202020202020202020202020202020231
+:106F40000202020202020202020202020202020221
+:106F50000202020202020202020202020202020211
+:106F60000202020202020102020202020202020202
+:106F700002020202020202020202020202020202F1
+:106F800002020202020202020202020202020202E1
+:106F900002020202020202020202020202020200D3
+:106FA00002020202020202020202020101010202C4
+:106FB00002020202020202020202020202020002B3
+:106FC00002020202020202020102020202020202A2
+:106FD0000202020202020202020202020202020291
+:106FE0000202020202020202020202020202020281
+:106FF0000202020202020202020202020202020271
+:107000000202020202020202020202020202020260
+:107010000202020202020202020202020202020250
+:107020000202020202020202020202020202020240
+:107030000202020202020202020202020202020230
+:107040000202020202020202020202020202020220
+:107050000202020202020202020202020202020210
+:107060000202020202020202020202020202020200
+:1070700002020202020202020202020202020202F0
+:1070800002020202020202020202020202020202E0
+:1070900002020202020202020202020202020200D2
+:1070A00002020202020202020202020102010202C2
+:1070B00002020202020202020202020202020002B2
+:1070C00002020202010202020102020202020202A2
+:1070D0000202020202020102020202020202020291
+:1070E0000202020202020202020202020202020280
+:1070F0000202020202020202020202020202020270
+:10710000020202020202020202020202020202025F
+:10711000020202020202020202020202020202024F
+:10712000020202020202020202020202020202023F
+:10713000020202020202020202020202020202022F
+:10714000020202020202020202020202020202021F
+:10715000020202020202020202020202020202020F
+:1071600002020202020202020202020202020202FF
+:1071700002020202020202020202020202020202EF
+:1071800002020202020202020202020202020202DF
+:1071900002020202020202020202020202020202CF
+:1071A00002020202020202020202020202020202BF
+:1071B00002020202020202020202020101020002B3
+:1071C00002020202010202020102020102020202A2
+:1071D0000202020202010202020202020202020290
+:1071E000020202020202020202020202020202027F
+:1071F000020202020202020202020202020202026F
+:10720000020202020202020202020202020202025E
+:10721000020202020202020202020202020202024E
+:10722000020202020202020202020202020202023E
+:10723000020202020202020202020202020202022E
+:10724000020202020202020202020202020202021E
+:10725000020202020202020202020202020202020E
+:1072600002020202020202020202020202020202FE
+:1072700002020202020202020202020202020202EE
+:1072800002020202020202020202020202020202DE
+:1072900002020202020202020202020202020202CE
+:1072A00002020202020202020202020202020202BE
+:1072B00002020202020202020202020101020002B2
+:1072C00002020102010202010102020102020202A3
+:1072D0000202020202020102010202010202020291
+:1072E000020202020202020202020202020202027E
+:1072F000020202020202020202020202020202026E
+:10730000020202020202020202020202020202025D
+:10731000020202020202020202020202020202024D
+:10732000020202020202020202020202020202023D
+:10733000020202020202020202020202020202022D
+:10734000020202020202020202020202020202021D
+:10735000020202020202020202020202020202020D
+:1073600002020202020202020202020202020202FD
+:1073700002020202020202020202020202020202ED
+:1073800002020202020202020202020202020202DD
+:1073900002020202020202020202020202020202CD
+:1073A00002020202020202020202020202020202BD
+:1073B00002010101010101010101010101010102BB
+:1073C00002020102010202010101010101010202A6
+:1073D0000202020202010102020102020101020292
+:1073E000020202020202020202020202020202027D
+:1073F000020202020202020202020202020202026D
+:10740000020202020202020202020202020202025C
+:10741000020202020202020202020202020202024C
+:10742000020202020202020202020202020202023C
+:10743000020202020202020202020202020202022C
+:10744000020202020202020202020202020202021C
+:10745000020202020202020202020202020202020C
+:1074600002020202020202020202020202020202FC
+:1074700002020202020202020202020202020202EC
+:1074800002020202020202020202020202020202DC
+:1074900002020202020202020202020202020202CC
+:1074A00002020202020202020202020202020202BC
+:1074B00002010101010101010101010101010102BA
+:1074C00001010101010101010101010101010102AB
+:1074D0000202020102010102010201010202020292
+:1074E000020202020202020102020202020202027D
+:1074F000020202020202020202020202020202026C
+:10750000020202020202020202020202020202025B
+:10751000020202020202020202020202020202024B
+:10752000020202020202020202020202020202023B
+:10753000020202020202020202020202020202022B
+:10754000020202020202020202020202020202021B
+:10755000020202020202020202020202020202020B
+:1075600002020202020202020202020202020202FB
+:1075700002020202020202020202020202020202EB
+:1075800002020202020202020202020202020202DB
+:1075900002020202020202020202020202020202CB
+:1075A00002020202020202020202020202020202BB
+:1075B00001010101010101010101010101010102BA
+:1075C00001010101010101010101010101010102AA
+:1075D0000201010201010101010102010101010297
+:1075E000020202020202020202020201020202027C
+:1075F000020202020202020202020202020202026B
+:10760000020202020202020202020202020202025A
+:10761000020202020202020202020202020202024A
+:10762000020202020202020202020202020202023A
+:10763000020202020202020202020202020202022A
+:10764000020202020202020202020202020202021A
+:10765000020202020202020202020202020202020A
+:1076600002020202020202020202020202020202FA
+:1076700002020202020202020202020202020202EA
+:1076800002020202020202020202020202020202DA
+:1076900002020202020202020202020202020202CA
+:1076A00002020202020202020202020202020202BA
+:1076B00001010101010101010101010101010102B9
+:1076C00001010101010101010101010101010102A9
+:1076D0000102020102010102010101010101020294
+:1076E000020202020101020102020102020202027E
+:1076F000020202020202020202020202020202026A
+:107700000202020202020202020202020202020259
+:107710000202020202020202020202020202020249
+:107720000202020202020202020202020202020239
+:107730000202020202020202020202020202020229
+:107740000202020202020202020202020202020219
+:107750000202020202020202020202020202020209
+:1077600002020202020202020202020202020202F9
+:1077700002020202020202020202020202020202E9
+:1077800002020202020202020202020202020202D9
+:1077900002020202020202020202020202020202C9
+:1077A00002020202020202020202020202020201BA
+:1077B00001010101010101010101010101010101B9
+:1077C00001010101010101010101010101010102A8
+:1077D0000201010101010101010101010101010297
+:1077E000020202020202010102010201010102027F
+:1077F0000202020202020202020202020202020269
+:107800000202020202020202020202020202020258
+:107810000202020202020202020202020202020248
+:107820000202020202020202020202020202020238
+:107830000202020202020202020202020202020228
+:107840000202020202020202020202020202020218
+:107850000202020202020202020202020202020208
+:1078600002020202020202020202020202020202F8
+:1078700002020202020202020202020202020202E8
+:1078800002020202020202020202020202020202D8
+:1078900002020202020202020202020202020202C8
+:1078A00002020202020202020202020202020201B9
+:1078B00001010101010101010101010101010101B8
+:1078C00001010101010101010101010101010101A8
+:1078D0000101010101010101010101010101010297
+:1078E000020201020101020101020101020202027F
+:1078F0000202020202020202020202020202020268
+:107900000202020202020202020202020202020257
+:107910000202020202020202020202020202020247
+:107920000202020202020202020202020202020237
+:107930000202020202020202020202020202020227
+:107940000202020202020202020202020202020217
+:107950000202020202020202020202020202020207
+:1079600002020202020202020202020202020202F7
+:1079700002020202020202020202020202020202E7
+:1079800002020202020202020202020202020202D7
+:1079900002020202020202020202020202020202C7
+:1079A00002020202020202020202020202020201B8
+:1079B00001010101010101010101010101010101B7
+:1079C00001010101010101010101010101010102A6
+:1079D0000101010101010101010101010101010296
+:1079E0000101020101010101020101010101010284
+:1079F0000202020202020102020202020202020268
+:107A00000202020202020202020202020202020256
+:107A10000202020202020202020202020202020246
+:107A20000202020202020202020202020202020236
+:107A30000202020202020202020202020202020226
+:107A40000202020202020202020202020202020216
+:107A50000202020202020202020202020202020206
+:107A600002020202020202020202020202020202F6
+:107A700002020202020202020202020202020202E6
+:107A800002020202020202020202020202020202D6
+:107A900002020202020202020202020202020202C6
+:107AA00002020202020202020202020202020201B7
+:107AB00001010101010101010101010101010101B6
+:107AC00001010101010101010101010101010101A6
+:107AD0000101010101010101010101010101010295
+:107AE0000202010201010101010101010101020281
+:107AF000020202020201010102020101020202026B
+:107B00000202020202020202020202020202020255
+:107B10000202020202020202020202020202020245
+:107B20000202020202020202020202020202020235
+:107B30000202020202020202020202020202020225
+:107B40000202020202020202020202020202020215
+:107B50000202020202020202020202020202020205
+:107B600002020202020202020202020202020202F5
+:107B700002020202020202020202020202020202E5
+:107B800002020202020202020202020202020202D5
+:107B900002020202020202020202020202020202C5
+:107BA00002020202020202020202020202020201B6
+:107BB00001010101010101010101010101010101B5
+:107BC00001010101010101010101010101010101A5
+:107BD0000101010101010101010101010101010195
+:107BE0000101010101010101010101010101010284
+:107BF0000202010101010101010101010102020270
+:107C00000202020202020202020202020202020254
+:107C10000202020202020202020202020202020244
+:107C20000202020202020202020202020202020234
+:107C30000202020202020202020202020202020224
+:107C40000202020202020202020202020202020214
+:107C50000202020202020202020202020202020204
+:107C600002020202020202020202020202020202F4
+:107C700002020202020202020202020202020202E4
+:107C800002020202020202020202020202020202D4
+:107C900002020202020202020202020202020202C4
+:107CA00002020202020202020202020202020201B5
+:107CB00001010101010101010101010101010101B4
+:107CC00001010101010101010101010101010101A4
+:107CD0000101010101010101010101010101010293
+:107CE0000101010101010101010101010101010283
+:107CF0000202010101010101010101010101020270
+:107D00000202020202020202020202020202020253
+:107D10000202020202020202020202020202020243
+:107D20000202020202020202020202020202020233
+:107D30000202020202020202020202020202020223
+:107D40000202020202020202020202020202020213
+:107D50000202020202020202020202020202020203
+:107D600002020202020202020202020202020202F3
+:107D700002020202020202020202020202020202E3
+:107D800002020202020202020202020202020202D3
+:107D900002020202020202020202020202020202C3
+:107DA00002020202020202020202020202020201B4
+:107DB00001010101010101010101010101010101B3
+:107DC00001010101010101010101010101010101A3
+:107DD0000101010101010101010101010101010193
+:107DE0000101010101010101010101010101010282
+:107DF0000101010101010101010101010101010272
+:107E00000202020202020202020202020202020252
+:107E10000202020202020202020202020202020242
+:107E20000202020202020202020202020202020232
+:107E30000202020202020202020202020202020222
+:107E40000202020202020202020202020202020212
+:107E50000202020202020202020202020202020202
+:107E600002020202020202020202020202020202F2
+:107E700002020202020202020202020202020202E2
+:107E800002020202020202020202020202020202D2
+:107E900002020202020202020202020202020202C2
+:107EA00002020202020202020202020202020201B3
+:107EB00001010101010101010101010101010101B2
+:107EC00001010101010101010101010101010101A2
+:107ED0000101010101010101010101010101010192
+:107EE0000101010101010101010101010101010281
+:107EF0000101010101010101010101010101010271
+:107F00000202020201010202020202010202020254
+:107F10000202020202020202020202020202020241
+:107F20000202020202020202020202020202020231
+:107F30000202020202020202020202020202020221
+:107F40000202020202020202020202020202020211
+:107F50000202020202020202020202020202020201
+:107F600002020202020202020202020202020202F1
+:107F700002020202020202020202020202020202E1
+:107F800002020202020202020202020202020202D1
+:107F900002020202020202020202020202020202C1
+:107FA00002020202020202020202020202020201B2
+:107FB00001010101010101010101010101010101B1
+:107FC00001010101010101010101010101010101A1
+:107FD0000101010101010101010101010101010191
+:107FE0000101010101010101010101010101010280
+:107FF0000101010101010101010101010101010270
+:108000000202010201010201010101010102020259
+:108010000202020202020202020202020202020240
+:108020000202020202020202020202020202020230
+:108030000202020202020202020202020202020220
+:108040000202020202020202020202020202020210
+:108050000202020202020202020202020202020200
+:1080600002020202020202020202020202020202F0
+:1080700002020202020202020202020202020202E0
+:1080800002020202020202020202020202020202D0
+:1080900002020202020202020202020202020202C0
+:1080A00002020202020202020202020202020201B1
+:1080B00001010101010101010101010101010101B0
+:1080C00001010101010101010101010101010101A0
+:1080D0000101010101010101010101010101010190
+:1080E0000101010101010101010101010101010180
+:1080F000010101010101010101010101010101026F
+:10810000020201010101020101010101010102025A
+:108110000202020202010202020202020202020240
+:10812000020202020202020202020202020202022F
+:10813000020202020202020202020202020202021F
+:10814000020202020202020202020202020202020F
+:1081500002020202020202020202020202020202FF
+:1081600002020202020202020202020202020202EF
+:1081700002020202020202020202020202020202DF
+:1081800002020202020202020202020202020202CF
+:1081900002020202020202020202020202020202BF
+:1081A00002020202020202020202020202020201B0
+:1081B00001010101010101010101010101010101AF
+:1081C000010101010101010101010101010101019F
+:1081D000010101010101010101010101010101018F
+:1081E000010101010101010101010101010101017F
+:1081F000010101010101010101010101010101026E
+:10820000010101010101010101010101010101025D
+:108210000202020202010102010201010202020243
+:10822000020202020202020202020202020202022E
+:10823000020202020202020202020202020202021E
+:10824000020202020202020202020202020202020E
+:1082500002020202020202020202020202020202FE
+:1082600002020202020202020202020202020202EE
+:1082700002020202020202020202020202020202DE
+:1082800002020202020202020202020202020202CE
+:1082900002020202020202020202020202020202BE
+:1082A00002020202020202020202020202020201AF
+:1082B00001010101010101010101010101010101AE
+:1082C000010101010101010101010101010101019E
+:1082D000010101010101010101010101010101018E
+:1082E000010101010101010101010101010101017E
+:1082F000010101010101010101010101010101026D
+:10830000010101010101010101010101010101025C
+:108310000202010201010101010101010101020248
+:10832000020202020202020202020202020202022D
+:10833000020202020202020202020202020202021D
+:10834000020202020202020202020202020202020D
+:1083500002020202020202020202020202020202FD
+:1083600002020202020202020202020202020202ED
+:1083700002020202020202020202020202020202DD
+:1083800002020202020202020202020202020202CD
+:1083900002020202020202020202020202020202BD
+:1083A00002020202020202020202020202020201AE
+:1083B00001010101010101010101010101010101AD
+:1083C000010101010101010101010101010101019D
+:1083D000010101010101010101010101010101018D
+:1083E000010101010101010101010101010101017D
+:1083F000010101010101010101010101010101016D
+:10840000010101010101010101010101010101025B
+:108410000102010101010101010101010101020249
+:10842000020202020202020202020202020202022C
+:10843000020202020202020202020202020202021C
+:10844000020202020202020202020202020202020C
+:1084500002020202020202020202020202020202FC
+:1084600002020202020202020202020202020202EC
+:1084700002020202020202020202020202020202DC
+:1084800002020202020202020202020202020202CC
+:1084900002020202020202020202020202020202BC
+:1084A00002020202020202020202020202020201AD
+:1084B00001010101010101010101010101010101AC
+:1084C000010101010101010101010101010101019C
+:1084D000010101010101010101010101010101018C
+:1084E000010101010101010101010101010101017C
+:1084F000010101010101010101010101010101016C
+:10850000010101010101010101010101010101025A
+:10851000010101010101010101010101010101024A
+:10852000020202020201020202020201020202022D
+:108530000201020102010102020201020202020220
+:10854000020202020202020202020202020202020B
+:1085500002020202020202020202020202020202FB
+:1085600002020202020202020202020202020202EB
+:1085700002020202020202020202020202020202DB
+:1085800002020202020202020202020202020202CB
+:1085900002020202020202020202020202020202BB
+:1085A00002020202020202020202020202020201AC
+:1085B00001010101010101010101010101010101AB
+:1085C000010101010101010101010101010101019B
+:1085D000010101010101010101010101010101018B
+:1085E000010101010101010101010101010101017B
+:1085F000010101010101010101010101010101016B
+:10860000010101010101010101010101010101015A
+:108610000101010101010101010101010101010249
+:108620000101010101010101010101010102020237
+:10863000020202020202020101010201010202021F
+:10864000020202020202020202020202020202020A
+:1086500002020202020202020202020202020202FA
+:1086600002020202020202020202020202020202EA
+:1086700002020202020202020202020202020202DA
+:1086800002020202020202020202020202020202CA
+:1086900002020202020202020202020202020202BA
+:1086A00002020202020202020202020202020201AB
+:1086B00001010101010101010101010101010101AA
+:1086C000010101010101010101010101010101019A
+:1086D000010101010101010101010101010101018A
+:1086E000010101010101010101010101010101017A
+:1086F000010101010101010101010101010101016A
+:108700000101010101010101010101010101010159
+:108710000101010101010101010101010101010149
+:108720000101010101010101010101010101010139
+:108730000101010101010102020201020201010223
+:108740000202020202020202020202020202020209
+:1087500002020202020202020202020202020202F9
+:1087600002020202020202020202020202020202E9
+:1087700002020202020202020202020202020202D9
+:1087800002020202020202020202020202020202C9
+:1087900002020202020202020202020202020202B9
+:1087A00002020202020202020202020202020201AA
+:1087B00001010101010101010101010101010101A9
+:1087C0000101010101010101010101010101010199
+:1087D0000101010101010101010101010101010189
+:1087E0000101010101010101010101010101010179
+:1087F0000101010101010101010101010101010169
+:108800000101010101010101010101010101010158
+:108810000101010101010101010101010101010148
+:108820000101010101010101010101010101010237
+:108830000201020102010101010101010102020222
+:108840000202020202020202020202020202020208
+:1088500002020202020202020202020202020202F8
+:1088600002020202020202020202020202020202E8
+:1088700002020202020202020202020202020202D8
+:1088800002020202020202020202020202020202C8
+:1088900002020202020202020202020202020202B8
+:1088A00002020202020202020202020202020201A9
+:1088B00001010101010101010101010101010101A8
+:1088C0000101010101010101010101010101010198
+:1088D0000101010101010101010101010101010188
+:1088E0000101010101010101010101010101010178
+:1088F0000101010101010101010101010101010168
+:108900000101010101010101010101010101010157
+:108910000101010101010101010101010101010147
+:108920000101010101010101010101010101010137
+:108930000101010101010101010101010101010226
+:108940000202020202010202020202020202020208
+:1089500002020202020202020202020202020202F7
+:1089600002020202020202020202020202020202E7
+:1089700002020202020202020202020202020202D7
+:1089800002020202020202020202020202020202C7
+:1089900002020202020202020202020202020202B7
+:1089A00002020202020202020202020202020201A8
+:1089B00001010101010101010101010101010101A7
+:1089C0000101010101010101010101010101010197
+:1089D0000101010101010101010101010101010187
+:1089E0000101010101010101010101010101010177
+:1089F0000101010101010101010101010101010167
+:108A00000101010101010101010101010101010156
+:108A10000101010101010101010101010101010146
+:108A20000101010101010101010101010101010136
+:108A30000101010101010101010101010101010225
+:108A4000020101020201020102020201020202020B
+:108A500001010102010202020202020202020202FA
+:108A600002020202020202020202020202020202E6
+:108A700002020202020202020202020202020202D6
+:108A800002020202020202020202020202020202C6
+:108A900002020202020202020202020202020202B6
+:108AA00002020202020202020202020202020201A7
+:108AB00001010101010101010101010101010101A6
+:108AC0000101010101010101010101010101010196
+:108AD0000101010101010101010101010101010186
+:108AE0000101010101010101010101010101010176
+:108AF0000101010101010101010101010101010166
+:108B00000101010101010101010101010101010155
+:108B10000101010101010101010101010101010145
+:108B20000101010101010101010101010101010135
+:108B30000101010101010101010101010101010125
+:108B40000101010101010101010101010101010115
+:108B50000202020102010101010101010101010200
+:108B600002020202020202020202020202020202E5
+:108B700002020202020202020202020202020202D5
+:108B800002020202020202020202020202020202C5
+:108B900002020202020202020202020202020202B5
+:108BA00002020202020202020202020202020201A6
+:108BB00001010101010101010101010101010101A5
+:108BC0000101010101010101010101010101010195
+:108BD0000101010101010101010101010101010185
+:108BE0000101010101010101010101010101010175
+:108BF0000101010101010101010101010101010165
+:108C00000101010101010101010101010101010154
+:108C10000101010101010101010101010101010144
+:108C20000101010101010101010101010101010134
+:108C30000101010101010101010101010101010124
+:108C40000101010101010101010101010101010213
+:108C500001010102010202020202020202020202F8
+:108C600002020202020202020202020202020202E4
+:108C700002020202020202020202020202020202D4
+:108C800002020202020202020202020202020202C4
+:108C900002020202020202020202020202020202B4
+:108CA00002020202020202020202020202020201A5
+:108CB00001010101010101010101010101010101A4
+:108CC0000101010101010101010101010101010194
+:108CD0000101010101010101010101010101010184
+:108CE0000101010101010101010101010101010174
+:108CF0000101010101010101010101010101010164
+:108D00000101010101010101010101010101010153
+:108D10000101010101010101010101010101010143
+:108D20000101010101010101010101010101010133
+:108D30000101010101010101010101010101010123
+:108D40000101010101010101010101010101010113
+:108D50000101010101010101010101010101010202
+:108D600002020202020202020202020202020202E3
+:108D700002020202020202020202020202020202D3
+:108D800002020202020202020202020202020202C3
+:108D900002020202020202020202020202020202B3
+:108DA00002020202020202020202020202020201A4
+:108DB00001010101010101010101010101010101A3
+:108DC0000101010101010101010101010101010193
+:108DD0000101010101010101010101010101010183
+:108DE0000101010101010101010101010101010173
+:108DF0000101010101010101010101010101010163
+:108E00000101010101010101010101010101010152
+:108E10000101010101010101010101010101010142
+:108E20000101010101010101010101010101010132
+:108E30000101010101010101010101010101010122
+:108E40000101010101010101010101010101010112
+:108E50000101010101010101010101010101010102
+:108E600001020102020202020202020202020202E4
+:108E700002020202020202020202020202020202D2
+:108E800002020202020202020202020202020202C2
+:108E900002020202020202020202020202020202B2
+:108EA00002020202020202020202020202020201A3
+:108EB00001010101010101010101010101010101A2
+:108EC0000101010101010101010101010101010192
+:108ED0000101010101010101010101010101010182
+:108EE0000101010101010101010101010101010172
+:108EF0000101010101010101010101010101010162
+:108F00000101010101010101010101010101010151
+:108F10000101010101010101010101010101010141
+:108F20000101010101010101010101010101010131
+:108F30000101010101010101010101010101010121
+:108F40000101010101010101010101010101010111
+:108F50000101010101010101010101010101010101
+:108F600001010101010101010101010101010102F0
+:108F700001020202020202020202020202020202D2
+:108F800002020202020202020202020202020202C1
+:108F900002020202020202020202020202020202B1
+:108FA00002020202020202020202020202020201A2
+:108FB00001010101010101010101010101010101A1
+:108FC0000101010101010101010101010101010191
+:108FD0000101010101010101010101010101010181
+:108FE0000101010101010101010101010101010171
+:108FF0000101010101010101010101010101010161
+:109000000101010101010101010101010101010150
+:109010000101010101010101010101010101010140
+:109020000101010101010101010101010101010130
+:109030000101010101010101010101010101010120
+:109040000101010101010101010101010101010110
+:109050000101010101010101010101010101010100
+:1090600001010101010101010101010101010102EF
+:1090700001020202020202020202020202020202D1
+:1090800002020202020202020202020202020202C0
+:1090900002020202020202020202020202020202B0
+:1090A00002020202020202020202020202020201A1
+:1090B00001010101010101010101010101010101A0
+:1090C0000101010101010101010101010101010190
+:1090D0000101010101010101010101010101010180
+:1090E0000101010101010101010101010101010170
+:1090F0000101010101010101010101010101010160
+:10910000010101010101010101010101010101014F
+:10911000010101010101010101010101010101013F
+:10912000010101010101010101010101010101012F
+:10913000010101010101010101010101010101011F
+:10914000010101010101010101010101010101010F
+:1091500001010101010101010101010101010101FF
+:1091600001010101010101010101010101010102EE
+:1091700001010101010101010101010101010102DE
+:1091800002020202020202020202020202020202BF
+:1091900002020202020202020202020202020202AF
+:1091A00002020202020202020202020202020201A0
+:1091B000010101010101010101010101010101019F
+:1091C000010101010101010101010101010101018F
+:1091D000010101010101010101010101010101017F
+:1091E000010101010101010101010101010101016F
+:1091F000010101010101010101010101010101015F
+:10920000010101010101010101010101010101014E
+:10921000010101010101010101010101010101013E
+:10922000010101010101010101010101010101012E
+:10923000010101010101010101010101010101011E
+:10924000010101010101010101010101010101010E
+:1092500001010101010101010101010101010101FE
+:1092600001010101010101010101010101010101EE
+:1092700001010101010101010101010101010101DE
+:1092800001010101010101010101010101010102CD
+:1092900002020202020202020202020202020202AE
+:1092A000020202020202020202020202020202019F
+:1092B000010101010101010101010101010101019E
+:1092C000010101010101010101010101010101018E
+:1092D000010101010101010101010101010101017E
+:1092E000010101010101010101010101010101016E
+:1092F000010101010101010101010101010101015E
+:10930000010101010101010101010101010101014D
+:10931000010101010101010101010101010101013D
+:10932000010101010101010101010101010101012D
+:10933000010101010101010101010101010101011D
+:10934000010101010101010101010101010101010D
+:1093500001010101010101010101010101010101FD
+:1093600001010101010101010101010101010101ED
+:1093700001010101010101010101010101010101DD
+:1093800001010101010101010101010101010102CC
+:1093900002020202020202020202020202020202AD
+:1093A000020202020202020202020202020202019E
+:1093B000010101010101010101010101010101019D
+:1093C000010101010101010101010101010101018D
+:1093D000010101010101010101010101010101017D
+:1093E000010101010101010101010101010101016D
+:1093F000010101010101010101010101010101015D
+:10940000010101010101010101010101010101014C
+:10941000010101010101010101010101010101013C
+:10942000010101010101010101010101010101012C
+:10943000010101010101010101010101010101011C
+:10944000010101010101010101010101010101010C
+:1094500001010101010101010101010101010101FC
+:1094600001010101010101010101010101010101EC
+:1094700001010101010101010101010101010101DC
+:1094800001010101010101010101010101010101CC
+:1094900001010101010101010101010101010102BB
+:1094A000020202020202020202020202020202019D
+:1094B000010101010101010101010101010101019C
+:1094C000010101010101010101010101010101018C
+:1094D000010101010101010101010101010101017C
+:1094E000010101010101010101010101010101016C
+:1094F000010101010101010101010101010101015C
+:10950000010101010101010101010101010101014B
+:10951000010101010101010101010101010101013B
+:10952000010101010101010101010101010101012B
+:10953000010101010101010101010101010101011B
+:10954000010101010101010101010101010101010B
+:1095500001010101010101010101010101010101FB
+:1095600001010101010101010101010101010101EB
+:1095700001010101010101010101010101010101DB
+:1095800001010101010101010101010101010101CB
+:1095900001010101010101010101010101010102BA
+:1095A000020202020202020202020202020202019C
+:1095B000010101010101010101010101010101019B
+:1095C000010101010101010101010101010101018B
+:1095D000010101010101010101010101010101017B
+:1095E000010101010101010101010101010101016B
+:1095F000010101010101010101010101010101015B
+:10960000010101010101010101010101010101014A
+:10961000010101010101010101010101010101013A
+:10962000010101010101010101010101010101012A
+:10963000010101010101010101010101010101011A
+:10964000010101010101010101010101010101010A
+:1096500001010101010101010101010101010101FA
+:1096600001010101010101010101010101010101EA
+:1096700001010101010101010101010101010101DA
+:1096800001010101010101010101010101010101CA
+:1096900001010101010101010101010101010102B9
+:1096A000020202020202020202020202020202019B
+:1096B000010101010101010101010101010101019A
+:1096C000010101010101010101010101010101018A
+:1096D000010101010101010101010101010101017A
+:1096E000010101010101010101010101010101016A
+:1096F000010101010101010101010101010101015A
+:109700000101010101010101010101010101010149
+:109710000101010101010101010101010101010139
+:109720000101010101010101010101010101010129
+:109730000101010101010101010101010101010119
+:109740000101010101010101010101010101010109
+:1097500001010101010101010101010101010101F9
+:1097600001010101010101010101010101010101E9
+:1097700001010101010101010101010101010101D9
+:1097800001010101010101010101010101010101C9
+:1097900001010101010101010101010101010102B8
+:1097A000010201010202020202020202020201019E
+:1097B0000101010101010101010101010101010199
+:1097C0000101010101010101010101010101010189
+:1097D0000101010101010101010101010101010179
+:1097E0000101010101010101010101010101010169
+:1097F0000101010101010101010101010101010159
+:109800000101010101010101010101010101010148
+:109810000101010101010101010101010101010138
+:109820000101010101010101010101010101010128
+:109830000101010101010101010101010101010118
+:109840000101010101010101010101010101010108
+:1098500001010101010101010101010101010101F8
+:1098600001010101010101010101010101010101E8
+:1098700001010101010101010101010101010101D8
+:1098800001010101010101010101010101010101C8
+:1098900001010101010101010101010101010102B7
+:1098A00001010101010101010101010101010101A8
+:1098B0000101010101010101010101010101010198
+:1098C0000101010101010101010101010101010188
+:1098D0000101010101010101010101010101010178
+:1098E0000101010101010101010101010101010168
+:1098F0000101010101010101010101010101010158
+:109900000101010101010101010101010101010147
+:109910000101010101010101010101010101010137
+:109920000101010101010101010101010101010127
+:109930000101010101010101010101010101010117
+:109940000101010101010101010101010101010107
+:1099500001010101010101010101010101010101F7
+:1099600001010101010101010101010101010101E7
+:1099700001010101010101010101010101010101D7
+:1099800001010101010101010101010101010101C7
+:1099900001010101010101010101010101010102B6
+:1099A00001010101010101010101010101010101A7
+:1099B0000101010101010101010101010101010296
+:1099C0000202020202020202020202020202020277
+:1099D0000202020202020202020202020202020267
+:1099E0000202020202020202020202020202020257
+:1099F0000202020202020202020202020202020247
+:109A00000202020202020202020202020202020236
+:109A10000202020202020202020202020202020226
+:109A20000202020202020202020202020202020216
+:109A30000202020202020202020202020202020206
+:109A400002020202020202020202020202020202F6
+:109A500002020202020202020202020202020202E6
+:109A600002020202020202020202020202020202D6
+:109A700002020202020202020202020202020202C6
+:109A800002020202020202020202020202020202B6
+:109A900002020202020202020202020202020200A8
+:109AA00000000000000000000000000000000001B5
+:109AB0000101010101010101010101010101010295
+:109AC0000202020202020202020202020202020276
+:109AD0000202020202020202020202020202020266
+:109AE0000202020202020202020202020202020256
+:109AF0000202020202020202020202020202020246
+:109B00000202020202020202020202020202020235
+:109B10000202020202020202020202020202020225
+:109B20000202020202020202020202020202020215
+:109B30000202020202020202020202020202020205
+:109B400002020202020202020202020202020202F5
+:109B500002020202020202020202020202020202E5
+:109B600002020202020202020202020202020202D5
+:109B700002020202020202020202020202020202C5
+:109B800002020202020202020202020202020202B5
+:109B900002020202020202020202020202020200A7
+:109BA00000000000000000000000000000000001B4
+:109BB0000101010101010101010101010101010096
+:109BC0000000000000000000000000000000000293
+:109BD0000202020202020202020202020202020265
+:109BE0000202020202020202020202020202020255
+:109BF0000202020202020202020202020202020245
+:109C00000202020202020202020202020202020234
+:109C10000202020202020202020202020202020224
+:109C20000202020202020202020202020202020214
+:109C30000202020202020202020202020202020204
+:109C400002020202020202020202020202020202F4
+:109C500002020202020202020202020202020202E4
+:109C600002020202020202020202020202020200D6
+:109C700000000000000000000000000000000002E2
+:109C800002020202020202020202020202020202B4
+:109C900002020202020202020202020202020200A6
+:109CA00000000000000000000000000000000000B4
+:109CB00000000000000000000000000000000000A4
+:109CC0000000000000000000000000000000000094
+:109CD0000000000000000000000000000000000084
+:109CE0000000000000000000000000000000000074
+:109CF0000000000000000000000000000000000064
+:109D00000000000000000000000000000000000053
+:109D10000000000000000000000000000000000043
+:109D20000000000000000000000000000000000033
+:109D30000000000000000000000000000000000023
+:109D40000000000000000000000000000000000013
+:109D50000000000000000000000000000000000003
+:109D600000000000000000000000000000000000F3
+:109D700000000000000000000000000000000000E3
+:109D800000000000000000000000000000000000D3
+:109D900000000000000000000000000000000000C3
+:109DA000000000000000000000000000000000654E
+:109DB00000000000000000000000000000000000A3
+:109DC0000000000000000000000000000000000093
+:109DD0000000000000000000000000000000000083
+:109DE0000000000000000000000000000000000073
+:109DF0000000000000000000000000000000000063
+:109E00000000000000000000000000000100000051
+:109E10000000000000000000000000000000000042
+:109E20000000000000000000000000000000000032
+:109E30000000000000000000000000000000000022
+:109E40000000000000000000000000000000000012
+:109E50000000000000000000000000000000000002
+:109E600000000000000000000000000000000000F2
+:109E700000000000000000000000000000000000E2
+:109E800000000000000000000000000000000000D2
+:109E900000000000000000000000000000000000C2
+:109EA00000000000000000000000000000000000B2
+:109EB00000000000000000000000000000000000A2
+:109EC0000000000000000000000000000000000092
+:109ED0000000000000000100000100000000000080
+:109EE0000000000000000100000000000000000071
+:109EF0000000000000000000000001000000000061
+:109F00000000000000000000000000000100000050
+:109F10000000000000000000000000000000000041
+:109F20000000000000000000000000000000000031
+:109F30000000000000000000000000000000000021
+:109F40000000000000000000000000000000000011
+:109F50000000000000000000000000000000000001
+:109F600000000000000000000000000000000000F1
+:109F700000000000000000000000000000000000E1
+:109F800000000000000000000000000000000000D1
+:109F900000000000000000000000000000000000C1
+:109FA00000000000000000000000000000000000B1
+:109FB00000000000000000000000000000000000A1
+:109FC0000000000000000000000000000000000091
+:109FD000000000000000010000010000000000007F
+:109FE0000000000000000100000000000000000070
+:109FF000000000000000010000000100010000005E
+:10A00000000000000000000000000000010000004F
+:10A010000000000000000000000000000000000040
+:10A020000000000000000000000000000000000030
+:10A030000000000000000000000000000000000020
+:10A040000000000000000000000000000000000010
+:10A050000000000000000000000000000000000000
+:10A0600000000000000000000000000000000000F0
+:10A0700000000000000000000000000000000000E0
+:10A0800000000000000000000000000000000000D0
+:10A0900000000000000000000000000000000000C0
+:10A0A00000000000000000000000000000000000B0
+:10A0B00000000000000000000000000000000000A0
+:10A0C0000000000000000000000000000000000090
+:10A0D000000000000000010000010000000101007C
+:10A0E000000000000000010000000000000000016E
+:10A0F000000000000000010000000100010000005D
+:10A10000000000000000000000000000010000004E
+:10A11000000000000000000000000000000000003F
+:10A12000000000000000000000000000000000002F
+:10A13000000000000000000000000000000000001F
+:10A14000000000000000010000000000000000000E
+:10A1500000000000000000000000000000000000FF
+:10A1600000000000000000000000000000000000EF
+:10A1700000000000000000000000000000000000DF
+:10A1800000000000000000000000000000000000CF
+:10A1900000000000000000000000000000000000BF
+:10A1A00000000000000000000000000000000000AF
+:10A1B000000000000000000100000000000000009E
+:10A1C000000000000000000000000000000000008F
+:10A1D000000000000000010000010000000101007B
+:10A1E000000000000000010000000000000100016C
+:10A1F000000000000000010000000101010000005B
+:10A20000000000000000000000000000010000004D
+:10A21000000000000000000000000000000101003C
+:10A22000000000000000010000000000000000002D
+:10A23000000000000000010000000000000000001D
+:10A24000000000000000010000000000000000000D
+:10A2500000000000000000000000000000000000FE
+:10A2600000000000000000000000000000000000EE
+:10A2700000000000000000000000000000000000DE
+:10A2800000000000000000000000000000000000CE
+:10A2900000000000000000000000000000000000BE
+:10A2A00000000000000000000000000000000000AE
+:10A2B000000000000000000100000000000000009D
+:10A2C000000000000000000000000100000000008D
+:10A2D000000000000000010000010000000101007A
+:10A2E000000000000000010100000000000100016A
+:10A2F000000000000000010000000101010000005A
+:10A30000000000000000010000000000010000004B
+:10A31000000000000000010000000000000101003A
+:10A32000000000000000010000000000000000002C
+:10A33000000000000000010000000000000100001B
+:10A34000000000000000010000000000000000000C
+:10A3500000000000000001000000000000000000FC
+:10A3600000000000000000000000000000000000ED
+:10A3700000000000000000000000000000000000DD
+:10A3800000000000000000000000000000000000CD
+:10A3900000000000000000000000000000000000BD
+:10A3A00000000000000000000000000000000000AD
+:10A3B000000000000000000100000000000000009C
+:10A3C000000000000000000000000100000000008C
+:10A3D0000000000000000100000100000001010079
+:10A3E0000000000000000101000101000001000167
+:10A3F0000000000000000100000001010100000059
+:10A40000000000000000010000000000010000004A
+:10A410000000000000000100000000000001010039
+:10A42000000000000000010000000000000000002B
+:10A43000000000000000010000000000000100001A
+:10A44000010000000000010000000000000000000A
+:10A4500000000000000001000000000000000000FB
+:10A4600000000000000000000000000000000000EC
+:10A4700000000000000000000000000000000000DC
+:10A4800000000000000000000000000000000000CC
+:10A4900000000000000000000000000000000000BC
+:10A4A00000000000000000000000000000000000AC
+:10A4B000000000000000000100000000000000009B
+:10A4C000000000000000000000000100000000008B
+:10A4D0000000000000000100000100000001010078
+:10A4E0000000000000000101000101000101000165
+:10A4F0000000000000000100000101010101000056
+:10A500000000000000000100000000000100000049
+:10A510000000000000000100000000000001010038
+:10A520000100000000000100000000010000000028
+:10A530000000000000000100000000000001000019
+:10A540000100000000000100000000000000000009
+:10A5500000000000000001000000000000000000FA
+:10A5600000000000000000000000000000000000EB
+:10A5700000000000000000000000000000000000DB
+:10A5800000000000000000000000000000000000CB
+:10A5900000000000000000000000000000000000BB
+:10A5A00000000000000000000000000000000000AB
+:10A5B0000000000000000001010000000000000099
+:10A5C000000000000000000000000100000000008A
+:10A5D0000000000000000101000100000001010076
+:10A5E0000000000000000101000101000101000164
+:10A5F0000000000000000100000101010101000055
+:10A600000000000000000100000000010100000047
+:10A610000000000000000100000000000001010037
+:10A620000100000000000100000000010000000027
+:10A630000000000000000100000000000001000018
+:10A640000100000000000100000000000000000008
+:10A6500000000000000001000000000000000000F9
+:10A6600000000000000000000000000000000000EA
+:10A6700000000000000000000000000000000000DA
+:10A6800000000000000000000000000000000000CA
+:10A6900000000000000000000000000000000000BA
+:10A6A00000000000000000000000000000000000AA
+:10A6B0000000000000000001010000000000000098
+:10A6C0000000000000000000000001000000000089
+:10A6D0000000000000000101000101000001010074
+:10A6E0000000000000000101000101000101000163
+:10A6F0000000000000000100000101010101010053
+:10A700000000000000000100000000010100000046
+:10A710000000000000000100000000000001010036
+:10A720000100000000000100000000010000000026
+:10A730000000000000000100000000000001000017
+:10A740000100000000000100000000000000000007
+:10A7500000000000000001000000000000000000F8
+:10A7600000000000000000000000000000000000E9
+:10A7700000000000000000000000000000000000D9
+:10A7800000000000000000000000000000000000C9
+:10A7900000000000000001000000000000000000B8
+:10A7A00000000000000000000000000000000000A9
+:10A7B0000000000000000001010000000000000097
+:10A7C0000000000000000001000001000000000087
+:10A7D0000000000000000101000101010001010072
+:10A7E0000100000000000101000101000101010160
+:10A7F0000000000000000100000101010101010052
+:10A800000000000000000101000000010100000044
+:10A810000000000000000100000000000001010035
+:10A820000100000000000100000000010001000024
+:10A830000000000000000100000000000001000016
+:10A840000100000000000100000000000000000006
+:10A8500000000000000001000000000000010000F6
+:10A8600000000000000000000000000000000000E8
+:10A8700000000000000000000000000000000000D8
+:10A8800000000000000001000000000000000000C7
+:10A8900000000000000001000000000000000000B7
+:10A8A00000000000000000000000000000000000A8
+:10A8B0000000000000000001010000000000000096
+:10A8C0000000000000000001000101000000000085
+:10A8D0000000000000000101000101010001010071
+:10A8E000010000000000010100010101010101015E
+:10A8F0000000000000000100000101010101010051
+:10A900000000000000000101000001010100000042
+:10A910000000000000000100010000010001010032
+:10A920000100000000000101000000010001000022
+:10A930000000000000000100000000000001010014
+:10A940000100000000000100000000000000000005
+:10A9500000000000000001000000000000010000F5
+:10A9600000000000000000000000000000000000E7
+:10A9700000000000000000000000000000000000D7
+:10A9800000000000000001000000000000000000C6
+:10A9900000000000000001000000000000000000B6
+:10A9A00000000000000000000100000000000000A6
+:10A9B0000000000000000001010000000000000095
+:10A9C0000000000000000001000101000000000084
+:10A9D0000000000000000101000101010001010070
+:10A9E000010000000000010100010101010101015D
+:10A9F0000000000000000100000101010101010050
+:10AA00000000000000000101000001010100000041
+:10AA10000000000001000100010000010001010030
+:10AA20000100000000000101000001010001000020
+:10AA30000000000000000100000000000001010013
+:10AA40000100000000000100000000000000000004
+:10AA500000000000000001000000000000010000F4
+:10AA600000000000000000000000000000000000E6
+:10AA700000000000000000000000000000000000D6
+:10AA800000000000000001000000000000000000C5
+:10AA900000000000000001000000000000000000B5
+:10AAA00000000000000000000100000000000000A5
+:10AAB0000000000000000001010000000000000094
+:10AAC0000000000000000001000101000000000083
+:10AAD000000000000001010100010101000101006E
+:10AAE000010000000000010101010101010101015B
+:10AAF000000000000000010000010101010101004F
+:10AB00000000000000000101000001010100000040
+:10AB1000000000000100010001000001010101012D
+:10AB2000010000000000010100000101000100001F
+:10AB30000000000000000100000000000001010012
+:10AB40000100000000000100000000000000000003
+:10AB500000000000000001000000000000010000F3
+:10AB600000000000000000000000000000000000E5
+:10AB700000000000000000000000000000000000D5
+:10AB800000000000000001000000000000000000C4
+:10AB900000000000000001000000000000000000B4
+:10ABA00000000000000000000100000000000000A4
+:10ABB000010001010000000201000000000000008F
+:10ABC0000000000000000001000101000000000082
+:10ABD000000000000001010100010101000101006D
+:10ABE0000100000001000101010101010101010159
+:10ABF000000000000000010000010101010101014D
+:10AC0000000000000000010100000101010000003F
+:10AC1000000000000100010001000001010101012C
+:10AC2000010000000000010100000101000100001E
+:10AC30000000000000000100000000000001010011
+:10AC40000100000000000100000000000000000002
+:10AC500000000000000001000001000000010000F1
+:10AC600000000000000000000000000000000000E4
+:10AC700000000000000000000000000000000000D4
+:10AC800000000000000001000000000000000000C3
+:10AC900000000000000001000000000000000000B3
+:10ACA00000000000000000000100000100000000A2
+:10ACB000010001010000000201000000000000008E
+:10ACC0000000000000000001000101000000000081
+:10ACD000000000000001010100010101000101006C
+:10ACE0000100000001010101010101010101010157
+:10ACF000000000000000010000010101010101014C
+:10AD0000000000000000010100000101010100003D
+:10AD1000000000000100010101000001010101012A
+:10AD2000010000000000010100000101000100001D
+:10AD30000000000000000100000000000001010010
+:10AD40000100000000000100000000000000000001
+:10AD500000000000000001000001000000010000F0
+:10AD600000000000000000000000000000000000E3
+:10AD700000000000000000000000000000000000D3
+:10AD800000000000000001000000000000000000C2
+:10AD900000000000000001000000000000000000B2
+:10ADA00000000000000000000100000100000000A1
+:10ADB000010001010000000201000000000000008D
+:10ADC000000000000000000101010200000000007E
+:10ADD0000000000001010101010101010001010069
+:10ADE0000100000001010101010101010101010156
+:10ADF000000000000000010100010101010101014A
+:10AE0000000000000000010100000101010100003C
+:10AE10000000000001000101010001010101010128
+:10AE2000010000000000010100000101000100001C
+:10AE3000000000000001010000000000000101000E
+:10AE400001000000010001000000000000000001FE
+:10AE500000000000000001000001000000010000EF
+:10AE600000000000000001000000000000000000E1
+:10AE700000000000000000000000000000000000D2
+:10AE800000000000000001000000000000000000C1
+:10AE900000000000010001000000000000000000B0
+:10AEA00000000000000000000100000100000000A0
+:10AEB0000101010101000002020001000000000088
+:10AEC000000000000000000101010200000000007D
+:10AED0000000000001010101010101010001010068
+:10AEE0000100000001010101010101010101010155
+:10AEF0000000000000000101000101010101010149
+:10AF0000000000000000010100000101010100003B
+:10AF10000000000001000101010001010101010127
+:10AF2000010000000000010100000101000100001B
+:10AF3000000000000001010000000000000101000D
+:10AF400001000001010101000000000000000001FB
+:10AF500000000000000001000101000000010000ED
+:10AF600000000000000001000000000000000000E0
+:10AF700000000000000000000000000000000000D1
+:10AF800000000000000001000000000000000000C0
+:10AF900000000001010101000000000000000000AD
+:10AFA000000000000000000001000001000000019E
+:10AFB0000101010101010002020002000000000085
+:10AFC000000000000000000101020200000000007B
+:10AFD0000000000001010101010201010001010066
+:10AFE0000100000001010101010101010101010154
+:10AFF0000000000000000101010101010101010147
+:10B000000000000000000101010001010101000039
+:10B010000000000001000101010001010101010126
+:10B02000010000000000010100000101000100001A
+:10B03000000000000001010000000000000101000C
+:10B0400001000001010101000000000000000001FA
+:10B0500000000000000001000101000000010000EC
+:10B0600000000000000001000100000000000000DE
+:10B0700000000000000000000000000000000000D0
+:10B0800000000000000001000000000000000000BF
+:10B0900000000101010101000000000000000000AB
+:10B0A000000000000000000001000001010000019C
+:10B0B0000101010101010002020102000000000083
+:10B0C000000000000000000101020200000000007A
+:10B0D0000000000001010101010201010001010065
+:10B0E0000100000001010101010101010101010153
+:10B0F0000000010000000101010102010101010144
+:10B100000000000100000101010001010101000037
+:10B110000000000001010101010001010101010124
+:10B120000100000001000101000001010001000018
+:10B13000000000000001010000000000000101000B
+:10B1400001000001010101000000000000000001F9
+:10B1500000000001000001000101000000010001E9
+:10B1600000000000000001000100000000000000DD
+:10B1700000000000000000000000000000000000CF
+:10B1800000000000000001000000000000000000BE
+:10B1900000000101010101000000000000000000AA
+:10B1A0000000000000000000010001010101010198
+:10B1B0000101010101010002020202000000000081
+:10B1C0000000000000000001010202000000000079
+:10B1D0000000000001010101010201010101010063
+:10B1E0000100010001010102010101010101010150
+:10B1F0000000010000000101010102010101010143
+:10B200000000000100000101010001010101000036
+:10B210000000000001010101010001010101010123
+:10B220000101000001000101000001010001000016
+:10B23000000000000001010000000000000101000A
+:10B2400001000001010101000100000000000001F7
+:10B2500000000001000001000101000000010001E8
+:10B2600000000000000001000100000000000000DC
+:10B2700000000000000000000000000000000000CE
+:10B2800000000000000001000000000000000000BD
+:10B2900001000101010101000000000000000000A8
+:10B2A0000000000000000100010001010101010196
+:10B2B0000101010101010002020202000000000080
+:10B2C0000000000000000002010202000000000077
+:10B2D0000000000001010101010201010101010062
+:10B2E000010001010101010201020101010101014D
+:10B2F0000000010000000101010202010101010141
+:10B300000000000100000101010001010101000035
+:10B310000000000001010101010001010101010122
+:10B320000101000001000101010001010001000014
+:10B330000000000001010100000000000001010008
+:10B3400001000001010101000100010000000001F5
+:10B3500000000001000101000101000000010001E6
+:10B3600000000000000001000100000000000000DB
+:10B3700000000000000001000000000000000000CC
+:10B3800000000000000001000000000000000000BC
+:10B3900001000101010101000000000000000000A7
+:10B3A0000000000000000100010001010101010195
+:10B3B000010101010101000202020200000000007F
+:10B3C0000000000000000002010202000000000076
+:10B3D0000000000001010101010201010101010061
+:10B3E000010001010101010201020201010101014B
+:10B3F000000001000001010101020201010101013F
+:10B400000000000100000101010001010101000034
+:10B410000000000001010101010101010101010120
+:10B420000101000101010101010001010001000011
+:10B430000000000101010100010000010101010003
+:10B4400001000001010101000100010000000001F4
+:10B4500000000101010101000101000000010001E3
+:10B4600000000000000001000100000000000000DA
+:10B4700000000000000001000000000000000000CB
+:10B4800000000001000101000000000000000000B9
+:10B4900001000101010101000000000000000000A6
+:10B4A0000000000000000100010001010101010194
+:10B4B000010101010101000202020200000000007E
+:10B4C0000000000000000002010202000000000075
+:10B4D000000000000101010201020101010101005F
+:10B4E000010001010101010201020201010101014A
+:10B4F000010001000001010101020201010101013D
+:10B500000000000100000101010001010101010032
+:10B51000000000000101010101010101010101011F
+:10B520000101000101010101010001010001000010
+:10B530000000000101010100010100010101010001
+:10B5400001000001010101000101010000000001F2
+:10B5500000000101010101000101000000010001E2
+:10B5600000000000000001000100000000000000D9
+:10B5700000000000000001000000000000000000CA
+:10B5800000000001010101000000000000000000B7
+:10B5900001010101010101010000000000000000A3
+:10B5A0000000000000000100010001010101010193
+:10B5B000010101010101010202020200000000007C
+:10B5C0000000000000000002010202000000000074
+:10B5D000000000000101010201020101010101005E
+:10B5E0000100010101010102010202010101010149
+:10B5F000010001000001010101020202010101013B
+:10B60000000000010100010201000101010101002F
+:10B61000000000000101010101010101010101011E
+:10B62000010100010101010101000101000100000F
+:10B6300000000001010101010101000101010100FF
+:10B6400001000001010101010101010000000001F0
+:10B6500000000101010101000101000000010001E1
+:10B6600000000000000001000100000000000000D8
+:10B6700000000000000001000000000000000000C9
+:10B6800000000001010101000100000000000000B5
+:10B6900001010101010101010000000000000000A2
+:10B6A0000000000000000100010001010101010192
+:10B6B000010101010101010202020200000000007B
+:10B6C0000000000000000002020202000000000072
+:10B6D000000000000101010201020201010101005C
+:10B6E0000100010101010102010202010101010148
+:10B6F0000100010000010101010202020201010139
+:10B70000000000010100010201000101010101002E
+:10B71000000000010101010101010101010101011C
+:10B72000010100010101010101000101000100000E
+:10B7300000000101010101010101010101010100FC
+:10B7400001000001010101010101010000000001EF
+:10B7500000000101010101000101000000010001E0
+:10B7600000000000000001000100000000000000D7
+:10B7700000000000000001000000000000000000C8
+:10B7800000000101010101000100000000000000B3
+:10B7900001010101010101010000000000000000A1
+:10B7A000000001000000010001010101010101018F
+:10B7B000010101010101010202020200000000007A
+:10B7C0000000000000000002020202000000000071
+:10B7D000000000000101010201020201010201005A
+:10B7E0000100010101010102010202010102010146
+:10B7F0000100010000010102010202020201010137
+:10B80000000000010100010201000101020101002C
+:10B81000000000010101010101010101010101011B
+:10B82000010100010101010101010101000100000C
+:10B8300000000101010101010101010101010100FB
+:10B8400001000001010101010101010000000001EE
+:10B8500000000101010101000101000000010001DF
+:10B8600000000000000001000100000000000000D6
+:10B8700000000000000001000000000000000000C7
+:10B8800000000101010101000100000000000000B2
+:10B8900001010101010101010000000000000000A0
+:10B8A000000001010000010001010101010101018D
+:10B8B0000101010101010102020202000000000079
+:10B8C000000000000001000202020200000000006F
+:10B8D0000000000001010102010202010102020058
+:10B8E0000100010101010102020202010102010144
+:10B8F0000100010000010102010202020202010135
+:10B90000000000010100010201000201020101002A
+:10B910000001000101010101020101010101010118
+:10B92000010100010101010201010101000100000A
+:10B9300000000101010101010101010101010100FA
+:10B9400001000001010101010101010000000001ED
+:10B9500000000101010101010101000000010001DD
+:10B9600000000000000001000100000000000000D5
+:10B9700000000000000001000000000000000000C6
+:10B9800000000101010101000100000000000000B1
+:10B99000010101010101010100000000000000009F
+:10B9A000000001010100010001010101010101018B
+:10B9B0000101010101010102020202000000000078
+:10B9C000000000000001000202020200000000006E
+:10B9D0000000000001010102010202010102020057
+:10B9E0000100010101010102020202010202010241
+:10B9F0000100010100010102010202020202010133
+:10BA00000000000101000102010002010201010128
+:10BA10000001000101010102020101010101010116
+:10BA20000101000101010102010101010001000009
+:10BA300000000101010101010101010101010100F9
+:10BA400001000001010101010101010000000001EC
+:10BA500000000101010101010101000000010001DC
+:10BA600000000000000101000100000000000000D3
+:10BA700000000000000001000000000000000000C5
+:10BA800000000101010101000100000000000001AF
+:10BA9000010101010101010100000000000000009E
+:10BAA0000000010101010100010101010101010189
+:10BAB0000101010101010102020202000000000077
+:10BAC000000000000001000202020200000000006D
+:10BAD0000000000001010102010202020102020055
+:10BAE000010001010101010202020202020201023F
+:10BAF0000100010100010102020202020202020130
+:10BB00000000000101000102010002020201010126
+:10BB10000001000101010102020101010101010115
+:10BB20000101010101010102010101010001000007
+:10BB300000000101010101010101010101010100F8
+:10BB400001000001010101010101010000000001EB
+:10BB500000000101010101010101000000010001DB
+:10BB600000000000010101000100000000000000D1
+:10BB700000000000000001000100000000000000C3
+:10BB800000000101010101000100000000000001AE
+:10BB9000010101010101010100000000000000009D
+:10BBA0000000010101010100010101010101010188
+:10BBB0000101010101010102020202000000000076
+:10BBC000000000000001000202020200000000006C
+:10BBD0000000000001010102020202020102020053
+:10BBE000010001010101010202020202020201023E
+:10BBF000010001010001010202020202020202012F
+:10BC00000000010101000102020002020201010123
+:10BC10000001000101010102020101010102010113
+:10BC20000101010101010102010101010001000006
+:10BC300000000101010101010101010101010100F7
+:10BC400001000101010101010101010000000001E9
+:10BC500000000101010101010101000000010001DA
+:10BC600000000001010101010100000000000000CE
+:10BC700000000000000001000100000000000000C2
+:10BC800000010101010101000100000000000001AC
+:10BC9000010101010101010100000000000000009C
+:10BCA0000000010101010100010101010101010187
+:10BCB0000101010101010102020202000000000075
+:10BCC000000000000001000202020200000000006B
+:10BCD0000000000001010102020202020102020052
+:10BCE000010001010101010202020202020202023C
+:10BCF000010001010101010202020202020202012D
+:10BD00000000010101010102020102020201010120
+:10BD10000001000101010102020102010102020110
+:10BD20000101010101010102010102010101000003
+:10BD300000000101010101010101010101010100F6
+:10BD400001000101010101010101010000000001E8
+:10BD500000000101010101010101000000010001D9
+:10BD600000000101010101010100000000000000CC
+:10BD700000000001000001000100000000000000C0
+:10BD800000010101010101000100000000000001AB
+:10BD9000010101010101010101000000000000009A
+:10BDA0000100010101010100010101010101010185
+:10BDB0000101010101010102020202000000000074
+:10BDC000000000000001000202020200000000006A
+:10BDD0000000010001010102020202020102020050
+:10BDE000010001010101010202020202020202023B
+:10BDF000010001010101010202020202020202012C
+:10BE0000000001010101010202010202020101011F
+:10BE1000000101010101010202010202010202010D
+:10BE20000101010101010102010102020101000001
+:10BE300000010101010101010101010101010100F4
+:10BE400001000101010101010101010000000001E7
+:10BE500000000101010101010102000000010101D6
+:10BE600000000101010101010100000000000000CB
+:10BE700000000001000001000100000000000000BF
+:10BE800000010101010101000100000000000001AA
+:10BE90000101010101010101010000000000000099
+:10BEA0000101010101010100000101010101010184
+:10BEB0000101010101010102020202000000000073
+:10BEC0000000000000010002020202000000000069
+:10BED000000001000101010202020202010202004F
+:10BEE000010001010101010202020202020202023A
+:10BEF000010001010101010202020202020202012B
+:10BF0000000001010101010202010202020101011E
+:10BF1000000101010101010202020202010202010B
+:10BF20000101010101010102010102020101000000
+:10BF300000010101010101010101010101020100F2
+:10BF400001010101010101010101010000000001E5
+:10BF500000010101010101010102000101010101D2
+:10BF600000000101010101010101000000000000C9
+:10BF700000000001000101000100000000000000BD
+:10BF800001010101010101000100000000000001A8
+:10BF90000101010101010101010000000000000098
+:10BFA0000101010101010100000101010101010183
+:10BFB0000101010101010102020202010000000071
+:10BFC0000000000000010002020202000000000068
+:10BFD000000001000101020202020202010202004D
+:10BFE0000100010101010102020202020202020239
+:10BFF0000101010101010102020202020202020228
+:10C00000010001010101010202010202020201011B
+:10C010000101010101010102020202020102020109
+:10C0200001010101010101020101020201010000FF
+:10C0300000010101010101020101010101020100F0
+:10C0400001010101010101020201010101000001E0
+:10C0500000010101010101010202000101010101D0
+:10C0600000000101010101010201000000000000C7
+:10C0700000000101010101000100000000000000BA
+:10C0800001010101010101000100000001000001A6
+:10C090000101010101010101010000000000000097
+:10C0A0000101010101010100000101010101010182
+:10C0B000010101010101010202020202000000006F
+:10C0C0000000000000010002020202000000000067
+:10C0D000000001000101020202020202010202004C
+:10C0E0000100010101010102020202020202020238
+:10C0F0000101010101010102020202020202020227
+:10C10000010001010101010202010202020201011A
+:10C110000101010101010102020202020202020107
+:10C1200001010101010101020201020201010000FD
+:10C1300001010101010101020202010101020100EC
+:10C1400001010101010101020202010101000001DE
+:10C1500000010101010101010202000101010101CF
+:10C1600000000101010101010201010000000000C5
+:10C1700000000101010101000100000100000001B7
+:10C1800001010101010101000100000001000101A4
+:10C190000101010101010101010000010000000194
+:10C1A0000101010101010100000101010101010181
+:10C1B000010101010101010202020202000000006E
+:10C1C0000000000000010002020202000000000066
+:10C1D000000001000101020202020202010202004B
+:10C1E0000200010101010102020202020202020236
+:10C1F0000101010101010102020202020202020226
+:10C200000100010101010102020102020202010119
+:10C210000101010101010102020202020202020106
+:10C2200002010101010101020201020201020000FA
+:10C2300001010101010101020202010101020101EA
+:10C2400001010101010101020202020101000001DC
+:10C2500001010101010101010202000101010101CD
+:10C2600000000101010101010201010000000000C4
+:10C2700000000101010101000100000100000001B6
+:10C2800001010101010101010100000101000101A1
+:10C290000101010101010101010000010000000193
+:10C2A0000101010101010100000100010101010181
+:10C2B000010101010101010202020202000100006C
+:10C2C0000000000000010002020202000000000065
+:10C2D0000000010001010202020202020202020049
+:10C2E0000200010101010102020202020202020235
+:10C2F0000101010101010102020202020202020225
+:10C300000100010101010102020202020202010117
+:10C310000101010101010102020202020202020105
+:10C3200002010101010101020202020201020000F8
+:10C3300001010101010101020202010101020201E8
+:10C3400001010101010101020202020101000001DB
+:10C3500001010101010101020202000101010101CB
+:10C3600001000101010101010201010000000000C2
+:10C3700000000101010101010100000100000001B4
+:10C38000010101010101010101010001010101019E
+:10C390000101010101010102010000010100000190
+:10C3A000010101010101010002010000010101017F
+:10C3B0000101010101010102020202020102000069
+:10C3C0000000000000010002020202000000000064
+:10C3D0000000010001020202020202020202020047
+:10C3E0000200010101010102020202020202020234
+:10C3F0000101010101010102020202020202020224
+:10C400000100010101010102020202020202010116
+:10C410000101010101010102020202020202020203
+:10C4200002010101010101020202020201020000F7
+:10C4300001010101010101020202020101020201E6
+:10C4400002010101010101020202020101000001D9
+:10C4500001010101010101020202010101020101C8
+:10C4600001010101010101020201010000000000BF
+:10C4700000000101010101010100000100000001B3
+:10C48000010101010101010101010001010101019D
+:10C49000010101010101010201000001010101018D
+:10C4A000010101010101010002010000010101017E
+:10C4B0000101010101010102020202020202010066
+:10C4C0000001000000010002020202000001000061
+:10C4D0000000010002020202020202020202020045
+:10C4E0000200010101010102020202020202020233
+:10C4F0000101010101010202020202020202020222
+:10C500000101010101010202020202020202010113
+:10C510000101010101010102020202020202020202
+:10C5200002010101010101020202020201020001F5
+:10C5300001010101010101020202020101020201E5
+:10C5400002010101010101020202020101000001D8
+:10C5500001010101010101020202010101020101C7
+:10C5600001010101010101020201010000000000BE
+:10C5700000000101010101010100000101000001B1
+:10C58000010101010101010102010101010101019A
+:10C59000010101010101010201000001010101018C
+:10C5A000010101010101010002010000010101017D
+:10C5B0000101010101010102020202020202020064
+:10C5C000000100000001000202020201000100005F
+:10C5D0000000010002020202020202020202020044
+:10C5E0000200010101010202020202020202020231
+:10C5F0000101010101010202020202020202020221
+:10C600000101010101010202020202020202020111
+:10C610000101010101010102020202020202020201
+:10C6200002010101010101020202020201020001F4
+:10C6300001010101010101020202020201020201E3
+:10C6400002010101010101020202020101000001D7
+:10C6500001010101010101020202010101020101C6
+:10C6600001010101010101020201010000000000BD
+:10C6700001000101010101010101000101000101AD
+:10C680000101010101010101020101010101010199
+:10C69000010101010101010201000001010101018B
+:10C6A000010101010101010002010000010101017C
+:10C6B0000101010101010102020202020202020063
+:10C6C000000100000002000202020201000100005D
+:10C6D0000000010002020202020202020202020043
+:10C6E0000200010101010202020202020202020230
+:10C6F0000101010101010202020202020202020220
+:10C700000101010101010202020202020202020110
+:10C7100001010101020102020202020202020202FE
+:10C7200002010101010101020202020201020001F3
+:10C7300001010101010101020202020201020201E2
+:10C7400002010101010101020202020101010001D5
+:10C7500001010101010101020202010101020101C5
+:10C7600001010101010101020201010000000000BC
+:10C7700001000101010101010201000101000101AB
+:10C780000101010101010101020101010101010198
+:10C79000010101010101010201000001010101018A
+:10C7A000010101010101010002010000000101017C
+:10C7B0000101010101010102020202020202020062
+:10C7C000000100000002000202020201000100005C
+:10C7D0000000010002020202020202020202020042
+:10C7E000020001010101020202020202020202022F
+:10C7F000010101010101020202020202020202021F
+:10C80000010101020101020202020202020202010E
+:10C8100001010101020102020202020202020202FD
+:10C8200002010101010102020202020201020101F0
+:10C8300001010101010101020202020202020201E0
+:10C8400002010101010101020202020101010002D3
+:10C8500001010101010101020202010101020101C4
+:10C8600001010101010101020202010000000000BA
+:10C8700001000101010101010201000101010101A9
+:10C880000101010101010101020101010101010197
+:10C890000101010101010102010101010101010187
+:10C8A000010101010101010002020000000001017B
+:10C8B0000101010101010102020202020202020061
+:10C8C000000100000002000202020201000100005B
+:10C8D0000000010002020202020202020202020041
+:10C8E000020001010101020202020202020202022E
+:10C8F000020102010101020202020202020202021C
+:10C90000010101020101020202020202020202010D
+:10C9100001010101020102020202020202020202FC
+:10C9200002010101010102020202020201020101EF
+:10C9300001010101010101020202020202020201DF
+:10C9400002010101010102020202020101010102D0
+:10C9500001010101010101020202010101020101C3
+:10C9600001010101010101020202010000000000B9
+:10C9700001010101010101020201000101010101A6
+:10C980000101010101010102020101010101010195
+:10C990000101010101010102010101010101010186
+:10C9A000010101010101010002020000000000017B
+:10C9B000010101010101010202020202020202015F
+:10C9C0000102000000020002020202020002000056
+:10C9D000000001000202020202020202020202013F
+:10C9E000020001010201020202020202020202022C
+:10C9F000020102010101020202020202020202021B
+:10CA0000010101020101020202020202020202010C
+:10CA100001010101020102020202020202020202FB
+:10CA200002020101010102020202020201020101ED
+:10CA300001010101010102020202020202020201DD
+:10CA400002010101010102020202020101010102CF
+:10CA500001010101010102020202010101020101C1
+:10CA600001010101010101020202010100000000B7
+:10CA700001010101010101020201010101010101A4
+:10CA80000101010101010102020101010101010194
+:10CA90000101010101010102020101010101010184
+:10CAA000010101010101010002020000000000017A
+:10CAB000000101010101010202020202020202025E
+:10CAC0000102000000020002020202020002000055
+:10CAD000000001000202020202020202020202013E
+:10CAE0000201010102020202020202020202020229
+:10CAF000020102010101020202020202020202021A
+:10CB0000010101020101020202020202020202020A
+:10CB100001010101020102020202020202020202FA
+:10CB200002020101010102020202020201020101EC
+:10CB300001010101010102020202020202020201DC
+:10CB400002010101010102020202020101010102CE
+:10CB500001010101010102020202010101020101C0
+:10CB600001010101010101020202020100000000B5
+:10CB700001010101010101020201010101010101A3
+:10CB80000101010101010102020101010101010193
+:10CB90000101010101010102020101010101010183
+:10CBA000010101010101010002020000000000007A
+:10CBB000000101010101010202020202020202025D
+:10CBC0000202000000020002020202020002000053
+:10CBD000000002000202020202020202020202013C
+:10CBE0000201020102020202020202020202020227
+:10CBF0000201020101010202020202020202020219
+:10CC00000101010202010202020202020202020208
+:10CC100001020101020202020202020202020202F7
+:10CC200002020101010102020202020201020101EB
+:10CC300001010101010102020202020202020201DB
+:10CC400002010101010102020202020101010102CD
+:10CC500001010101010102020202010101020102BE
+:10CC600001010101010101020202020100000001B3
+:10CC700001010101010101020201010101010101A2
+:10CC80000101010101010102020201010101010191
+:10CC90000101010101010102020101010101010182
+:10CCA0000101010101010100020202000000000077
+:10CCB000000101010101010202020202020202025C
+:10CCC0000202000000020002020202020002010051
+:10CCD000000002000202020202020202020202013B
+:10CCE0000201020202020202020202020202020225
+:10CCF0000201020101020202020202020202020217
+:10CD00000201020202010202020202020202020205
+:10CD100001020101020202020202020202020202F6
+:10CD200002020101020102020202020202020101E8
+:10CD300001010101010102020202020202020201DA
+:10CD400002010102020102020202020201010102C9
+:10CD500001010101010102020202020101020102BC
+:10CD600001010101010101020202020100000001B2
+:10CD700001010101010101020202010101010101A0
+:10CD80000101010101010102020201010101010190
+:10CD90000101010101010102020101010101010181
+:10CDA0000101010101010100020202020000000074
+:10CDB000000001010101010202020202020202025C
+:10CDC0000202000000020002020202020002010050
+:10CDD0000100020002020202020202020202020139
+:10CDE0000201020202020202020202020202020224
+:10CDF0000201020101020202020202020202020216
+:10CE00000201020202010202020202020202020204
+:10CE100001020102020202020202020202020202F4
+:10CE200002020102020102020202020202020101E6
+:10CE300001010101010202020202020202020201D8
+:10CE400002010102020202020202020201010102C7
+:10CE500001010102010102020202020201020102B9
+:10CE600001010101010101020202020101000001B0
+:10CE7000010101010101010202020101010101019F
+:10CE8000010101010101010202020101010101018F
+:10CE90000101010101010102020101010101010180
+:10CEA0000101010101010100020202020000000073
+:10CEB000000000000101010202020202020202025D
+:10CEC000020200000002000202020202000201004F
+:10CED0000101020002020202020202020202020137
+:10CEE0000201020202020202020202020202020223
+:10CEF0000202020201020202020202020202020213
+:10CF00000201020202010202020202020202020203
+:10CF100002020102020202020202020202020202F2
+:10CF200002020102020202020202020202020101E4
+:10CF300001010101010202020202020202020201D7
+:10CF400002010102020202020202020202010102C5
+:10CF500001010202010102020202020201020102B7
+:10CF600001010101010101020202020101010101AD
+:10CF7000010101010101010202020101010101019E
+:10CF8000010101010101020202020201010101018C
+:10CF9000020101010101020202010101010101017D
+:10CFA0000101010101010100020202020000000072
+:10CFB000000000000001010202020202020202025D
+:10CFC000020201000002000202020202000202014B
+:10CFD0000101020002020202020202020202020136
+:10CFE0000201020202020202020202020202020222
+:10CFF0000202020201020202020202020202020212
+:10D000000202020202020202020202020202020200
+:10D0100002020102020202020202020202020202F1
+:10D0200002020102020202020202020202020101E3
+:10D0300001010102020202020202020202020201D4
+:10D0400002010102020202020202020202010102C4
+:10D0500001010202020202020202020202020102B3
+:10D0600001010101010101020202020101010101AC
+:10D07000010101010101010202020102010101019C
+:10D08000010101010101020202020201010101018B
+:10D090000201020202010202020201010101010178
+:10D0A0000101010101010100020202020000000071
+:10D0B000000000000000010202020202020202025D
+:10D0C0000202020100020002020202020002020148
+:10D0D0000101020002020202020202020202020135
+:10D0E0000201020202020202020202020202020221
+:10D0F0000202020202020202020202020202020210
+:10D1000002020202020202020202020202020202FF
+:10D1100002020202020202020202020202020202EF
+:10D1200002020202020202020202020202020101E1
+:10D1300001010202020202020202020202020201D2
+:10D1400002010102020202020202020202010102C3
+:10D1500001010202020202020202020202020202B1
+:10D1600001010101010101020202020101010101AB
+:10D17000010101010101010202020202010101019A
+:10D180000101010101010202020202020101010189
+:10D190000202020202020202020201010101010175
+:10D1A000010101010101010002020202020000006E
+:10D1B0000200020000000102020202020202020258
+:10D1C0000202020201020002020202020002020244
+:10D1D0000201020002020202020202020202020133
+:10D1E0000201020202020202020202020202020220
+:10D1F000020202020202020202020202020202020F
+:10D2000002020202020202020202020202020202FE
+:10D2100002020202020202020202020202020202EE
+:10D2200002020202020202020202020202020101E0
+:10D2300001010202020202020202020202020201D1
+:10D2400002010102020202020202020202010102C2
+:10D2500001010202020202020202020202020202B0
+:10D2600001010101010102020202020101010101A9
+:10D270000101010101010102020202020101010199
+:10D280000101010201010202020202020201010285
+:10D290000202020202020202020202020101010172
+:10D2A0000101010101010100020202020202000269
+:10D2B0000202020200000102020202020202020253
+:10D2C0000202020202020002020202020002020242
+:10D2D0000202020102020202020202020202020130
+:10D2E000020102020202020202020202020202021F
+:10D2F000020202020202020202020202020202020E
+:10D3000002020202020202020202020202020202FD
+:10D3100002020202020202020202020202020202ED
+:10D3200002020202020202020202020202020101DF
+:10D3300001020202020202020202020202020202CE
+:10D3400002020202020202020202020202020102BE
+:10D3500001020202020202020202020202020202AE
+:10D3600001010101010102020202020101010101A8
+:10D370000101010101010102020202020101010198
+:10D380000101020202020202020202020201010281
+:10D390000202020202020202020202020101010171
+:10D3A0000101010101010100020202020202020266
+:10D3B0000202020200000102020201020202020253
+:10D3C000020202020202000202020202020202023F
+:10D3D000020202010202020202020202020202012F
+:10D3E000020102020202020202020202020202021E
+:10D3F000020202020202020202020202020202020D
+:10D4000002020202020202020202020202020202FC
+:10D4100002020202020202020202020202020202EC
+:10D4200002020202020202020202020202020101DE
+:10D4300002020202020202020202020202020202CC
+:10D4400002020202020202020202020202020102BD
+:10D4500002020202020202020202020202020202AC
+:10D4600001010101010102020202020201010101A6
+:10D470000101010101010202020202020201010195
+:10D48000010202020202020202020202020202027D
+:10D490000202020202020202020202020101010170
+:10D4A0000101010101010100020202020202020265
+:10D4B0000202020200000102020201020202020252
+:10D4C000020202020202000202020202020202023E
+:10D4D000020202010202020202020202020202022D
+:10D4E000020102020202020202020202020202021D
+:10D4F000020202020202020202020202020202020C
+:10D5000002020202020202020202020202020202FB
+:10D5100002020202020202020202020202020202EB
+:10D5200002020202020202020202020202020202DB
+:10D5300002020202020202020202020202020202CB
+:10D5400002020202020202020202020202020202BB
+:10D5500002020202020202020202020202020202AB
+:10D5600001010101010102020202020201010101A5
+:10D570000101010101010202020202020201010293
+:10D58000020202020202020202020202020202027B
+:10D59000020202020202020202020202020101016E
+:10D5A0000101020101010100020202020202020263
+:10D5B000020202020200010202020102020202024F
+:10D5C000020202020202000202020202020202023D
+:10D5D000020202010202020202020202020202022C
+:10D5E000020102020202020202020202020202021C
+:10D5F000020202020202020202020202020202020B
+:10D6000002020202020202020202020202020202FA
+:10D6100002020202020202020202020202020202EA
+:10D6200002020202020202020202020202020202DA
+:10D6300002020202020202020202020202020202CA
+:10D6400002020202020202020202020202020202BA
+:10D6500002020202020202020202020202020202AA
+:10D6600001010202020202020202020201010101A0
+:10D67000010101020101020202020202020202028F
+:10D68000020202020202020202020202020202027A
+:10D69000020202020202020202020202020201016C
+:10D6A000020102020101020202020202020202025D
+:10D6B000020202020202010202010102020202024D
+:10D6C000020202020202000202020202020202023C
+:10D6D000020202020202020202020202020202022A
+:10D6E000020202020202020202020202020202021A
+:10D6F000020202020202020202020202020202020A
+:10D7000002020202020202020202020202020202F9
+:10D7100002020202020202020202020202020202E9
+:10D7200002020202020202020202020202020202D9
+:10D7300002020202020202020202020202020202C9
+:10D7400002020202020202020202020202020202B9
+:10D7500002020202020202020202020202020202A9
+:10D76000020102020202020202020202010101019E
+:10D77000010102020101020202020202020202028D
+:10D780000202020202020202020202020202020279
+:10D790000202020202020202020202020202020269
+:10D7A000020202020201020202020202020202025A
+:10D7B000020202020202010202010102020101024E
+:10D7C000020202020202000202020202020202023B
+:10D7D0000202020202020202020202020202020229
+:10D7E0000202020202020202020202020202020219
+:10D7F0000202020202020202020202020202020209
+:10D8000002020202020202020202020202020202F8
+:10D8100002020202020202020202020202020202E8
+:10D8200002020202020202020202020202020202D8
+:10D8300002020202020202020202020202020202C8
+:10D8400002020202020202020202020202020202B8
+:10D8500002020202020202020202020202020202A8
+:10D86000020202020202020202020202020101019B
+:10D870000201020202020202020202020202020289
+:10D880000202020202020202020202020202020278
+:10D890000202020202020202020202020202020268
+:10D8A0000202020202020202020202020202020258
+:10D8B000020202020202020202010101010101014F
+:10D8C0000101010101010102020201020202020240
+:10D8D0000202020202020202020202020202020228
+:10D8E0000202020202020202020202020202020218
+:10D8F0000202020202020202020202020202020208
+:10D9000002020202020202020202020202020202F7
+:10D9100002020202020202020202020202020202E7
+:10D9200002020202020202020202020202020202D7
+:10D9300002020202020202020202020202020202C7
+:10D9400002020202020202020202020202020202B7
+:10D9500002020202020202020202020202020202A7
+:10D960000202020202020202020202020202010199
+:10D970000201020202020202020202020202020288
+:10D980000202020202020202020202020202020277
+:10D990000202020202020202020202020202020267
+:10D9A0000202020202020202020202020202020257
+:10D9B000020202020202020201010101010101014F
+:10D9C0000101010101010102020101020202020240
+:10D9D0000202020202020202020202020202020227
+:10D9E0000202020202020202020202020202020217
+:10D9F0000202020202020202020202020202020207
+:10DA000002020202020202020202020202020202F6
+:10DA100002020202020202020202020202020202E6
+:10DA200002020202020202020202020202020202D6
+:10DA300002020202020202020202020202020202C6
+:10DA400002020202020202020202020202020202B6
+:10DA500002020202020202020202020202020202A6
+:10DA60000202020202020202020202020202020296
+:10DA70000202020202020202020202020202020286
+:10DA80000202020202020202020202020202020276
+:10DA90000202020202020202020202020202020266
+:10DAA0000202020202020202020202020202020256
+:10DAB000020202020202020201010101010101014E
+:10DAC000010101010101010202010102020202023F
+:10DAD0000202020202020202020202020202020226
+:10DAE0000202020202020202020202020202020216
+:10DAF0000202020202020202020202020202020206
+:10DB000002020202020202020202020202020202F5
+:10DB100002020202020202020202020202020202E5
+:10DB200002020202020202020202020202020202D5
+:10DB300002020202020202020202020202020202C5
+:10DB400002020202020202020202020202020202B5
+:10DB500002020202020202020202020202020202A5
+:10DB60000202020202020202020202020202020295
+:10DB70000202020202020202020202020202020285
+:10DB80000202020202020202020202020202020275
+:10DB90000202020202020202020202020202020265
+:10DBA0000202020202020202020202020202020255
+:10DBB000020202020202020101010101010101014E
+:10DBC000010101010101010202010102020202023E
+:10DBD0000202020202020202020202020202020225
+:10DBE0000202020202020202020202020202020215
+:10DBF0000202020202020202020202020202020205
+:10DC000002020202020202020202020202020202F4
+:10DC100002020202020202020202020202020202E4
+:10DC200002020202020202020202020202020202D4
+:10DC300002020202020202020202020202020202C4
+:10DC400002020202020202020202020202020202B4
+:10DC500002020202020202020202020202020202A4
+:10DC60000202020202020202020202020202020294
+:10DC70000202020202020202020202020202020284
+:10DC80000202020202020202020202020202020274
+:10DC90000202020202020202020202020202020264
+:10DCA0000202020202020202020202020202020254
+:10DCB000020202020202020101010101010101014D
+:10DCC000010101010101010202010102020202023D
+:10DCD0000202020202020202020202020201010226
+:10DCE0000202020202020202020202020202020214
+:10DCF0000202020202020202020202020202020204
+:10DD000002020202020202020202020202020202F3
+:10DD100002020202020202020202020202020202E3
+:10DD200002020202020202020202020202020202D3
+:10DD300002020202020202020202020202020202C3
+:10DD400002020202020202020202020202020202B3
+:10DD500002020202020202020202020202020202A3
+:10DD60000202020202020202020202020202020293
+:10DD70000202020202020202020202020202020283
+:10DD80000202020202020202020202020202020273
+:10DD90000202020202020202020202020202020263
+:10DDA0000202020202020202020202020202020253
+:10DDB000020202020202020101010101010101014C
+:10DDC000010101010101010202010102020102013E
+:10DDD000010101010101010202010202020202022B
+:10DDE0000202020202020202020202020201020115
+:10DDF0000202020202020202020202020202020203
+:10DE000002020202020202020202020202020202F2
+:10DE100002020202020202020202020202020202E2
+:10DE200002020202020202020202020202020202D2
+:10DE300002020202020202020202020202020202C2
+:10DE400002020202020202020202020202020202B2
+:10DE500002020202020202020202020202020202A2
+:10DE60000202020202020202020202020202020292
+:10DE70000202020202020202020202020202020282
+:10DE80000202020202020202020202020202020272
+:10DE90000202020202020202020202020202020262
+:10DEA0000202020202020202020202020202020252
+:10DEB000020202020202020101010101010101014B
+:10DEC000010101010101010201010102020101013F
+:10DED000010101010101010202020101020101022D
+:10DEE0000202020202020202020201020102010215
+:10DEF0000202020202020202020202020202020202
+:10DF000002020202020202020202020202020202F1
+:10DF100002020202020202020202020202020202E1
+:10DF200002020202020202020202020202020202D1
+:10DF300002020202020202020202020202020202C1
+:10DF400002020202020202020202020202020202B1
+:10DF500002020202020202020202020202020202A1
+:10DF60000202020202020202020202020202020291
+:10DF70000202020202020202020202020202020281
+:10DF80000202020202020202020202020202020271
+:10DF90000202020202020202020202020202020261
+:10DFA0000202020202020202020202020202020251
+:10DFB000020202020202020101010101010101014A
+:10DFC000010101010101010201010101020101013F
+:10DFD000010101010101010202010202010101022C
+:10DFE0000102020202020202020102010201020116
+:10DFF0000202020202020202020202020202020201
+:10E0000002020202020202020202020202020202F0
+:10E0100002020202020202020202020202020202E0
+:10E0200002020202020202020202020202020202D0
+:10E0300002020202020202020202020202020202C0
+:10E0400002020202020202020202020202020202B0
+:10E0500002020202020202020202020202020202A0
+:10E060000202020202020202020202020202020290
+:10E070000202020202020202020202020202020280
+:10E080000202020202020202020202020202020270
+:10E090000202020202020202020202020202020260
+:10E0A0000202020202020202020202020202020250
+:10E0B0000202020202020201010101010101010149
+:10E0C0000101010101010101010101010101010140
+:10E0D000010101010101010202010101020101022C
+:10E0E0000202020202020202020201020101010115
+:10E0F0000202020202020202020202020201010202
+:10E1000002020202020202020202020202020202EF
+:10E1100002020202020202020202020202020202DF
+:10E1200002020202020202020202020202020202CF
+:10E1300002020202020202020202020202020202BF
+:10E1400002020202020202020202020202020202AF
+:10E15000020202020202020202020202020202029F
+:10E16000020202020202020202020202020202028F
+:10E17000020202020202020202020202020202027F
+:10E18000020202020202020202020202020202026F
+:10E19000020202020202020202020202020202025F
+:10E1A000020202020202020202020202020202024F
+:10E1B0000202020202020201010101010101010148
+:10E1C000010101010101010101010101010101013F
+:10E1D000010101010101010202010101010101022C
+:10E1E0000102020202020202020101010101010117
+:10E1F0000101010202020202020201010102020106
+:10E2000002020202020202020202020202020202EE
+:10E2100002020202020202020202020202020202DE
+:10E2200002020202020202020202020202020202CE
+:10E2300002020202020202020202020202020202BE
+:10E2400002020202020202020202020202020202AE
+:10E25000020202020202020202020202020202029E
+:10E26000020202020202020202020202020202028E
+:10E27000020202020202020202020202020202027E
+:10E28000020202020202020202020202020202026E
+:10E29000020202020202020202020202020202025E
+:10E2A000020202020202020202020202020202024E
+:10E2B0000202020202020201010101010101010147
+:10E2C000010101010101010101010101010101013E
+:10E2D000010101010101010101010101010101012E
+:10E2E000010101010101010101010101010101011E
+:10E2F0000202020101010102020102020201010205
+:10E3000002020202020202020202020202020202ED
+:10E3100002020202020202020202020202020202DD
+:10E3200002020202020202020202020202020202CD
+:10E3300002020202020202020202020202020202BD
+:10E3400002020202020202020202020202020202AD
+:10E35000020202020202020202020202020202029D
+:10E36000020202020202020202020202020202028D
+:10E37000020202020202020202020202020202027D
+:10E38000020202020202020202020202020202026D
+:10E39000020202020202020202020202020202025D
+:10E3A000020202020202020202020202020202024D
+:10E3B0000202020202020201010101010101010146
+:10E3C000010101010101010101010101010101013D
+:10E3D000010101010101010202010101010101022A
+:10E3E0000102020202020202020101010101010115
+:10E3F0000101010202020202020201010101010106
+:10E4000001010101020202020202020202020202F0
+:10E4100002020202020202020202020202020202DC
+:10E4200002020202020202020202020202020202CC
+:10E4300002020202020202020202020202020202BC
+:10E4400002020202020202020202020202020202AC
+:10E45000020202020202020202020202020202029C
+:10E46000020202020202020202020202020202028C
+:10E47000020202020202020202020202020202027C
+:10E48000020202020202020202020202020202026C
+:10E49000020202020202020202020202020202025C
+:10E4A000020202020202020202020202020202024C
+:10E4B0000202020202020201010101010101010145
+:10E4C000010101010101010101010101010101013C
+:10E4D000010101010101010101010101010101012C
+:10E4E000010101010101010101010101010101011C
+:10E4F000010101010101010202010101010101010A
+:10E5000002020202010101020202020202020202EE
+:10E5100002020202020202020202020202020202DB
+:10E5200002020202020202020202020202020202CB
+:10E5300002020202020202020202020202020202BB
+:10E5400002020202020202020202020202020202AB
+:10E55000020202020202020202020202020202029B
+:10E56000020202020202020202020202020202028B
+:10E57000020202020202020202020202020202027B
+:10E58000020202020202020202020202020202026B
+:10E59000020202020202020202020202020202025B
+:10E5A000020202020202020202020202020202024B
+:10E5B0000202020202020201010101010101010144
+:10E5C000010101010101010101010101010101013B
+:10E5D000010101010101010101010101010101012B
+:10E5E000010101010101010101010101010101011B
+:10E5F000010101010101010201010101010101010A
+:10E6000001010101020202020202020201010202F0
+:10E6100002020202020202020202020202020202DA
+:10E6200002020202020202020202020202020202CA
+:10E6300002020202020202020202020202020202BA
+:10E6400002020202020202020202020202020202AA
+:10E65000020202020202020202020202020202029A
+:10E66000020202020202020202020202020202028A
+:10E67000020202020202020202020202020202027A
+:10E68000020202020202020202020202020202026A
+:10E69000020202020202020202020202020202025A
+:10E6A000020202020202020202020202020202024A
+:10E6B0000202020202020201010101010101010143
+:10E6C000010101010101010101010101010101013A
+:10E6D000010101010101010101010101010101012A
+:10E6E000010101010101010101010101010101011A
+:10E6F0000101010101010101020101010101010109
+:10E7000001010101010101020202010102020102F3
+:10E7100002020202020202020202020202020202D9
+:10E7200002020202020202020202020202020202C9
+:10E7300002020202020202020202020202020202B9
+:10E7400002020202020202020202020202020202A9
+:10E750000202020202020202020202020202020299
+:10E760000202020202020202020202020202020289
+:10E770000202020202020202020202020202020279
+:10E780000202020202020202020202020202020269
+:10E790000202020202020202020202020202020259
+:10E7A0000202020202020202020202020202020249
+:10E7B0000202020202020201010101010101010142
+:10E7C0000101010101010101010101010101010139
+:10E7D0000101010101010101010101010101010129
+:10E7E0000101010101010101010101010101010119
+:10E7F0000101010101010102010101010101010108
+:10E8000001010101010101020202020201010201F2
+:10E8100001010202010202020202020202010102DD
+:10E8200002020202020202020202020202020202C8
+:10E8300002020202020202020202020202020202B8
+:10E8400002020202020202020202020202020202A8
+:10E850000202020202020202020202020202020298
+:10E860000202020202020202020202020202020288
+:10E870000202020202020202020202020202020278
+:10E880000202020202020202020202020202020268
+:10E890000202020202020202020202020202020258
+:10E8A0000202020202020202020202020202020248
+:10E8B0000202020202020201010101010101010141
+:10E8C0000101010101010101010101010101010138
+:10E8D0000101010101010101010101010101010128
+:10E8E0000101010101010101010101010101010118
+:10E8F0000101010101010101010101010101010108
+:10E9000001010101010101020101010101010102F5
+:10E9100002020101020101020202010101020201DF
+:10E9200001020202020202020202020202020202C8
+:10E9300002020202020202020202020202020202B7
+:10E9400002020202020202020202020202020202A7
+:10E950000202020202020202020202020202020297
+:10E960000202020202020202020202020202020287
+:10E970000202020202020202020202020202020277
+:10E980000202020202020202020202020202020267
+:10E990000202020202020202020202020202020257
+:10E9A0000202020202020202020202020202020247
+:10E9B0000202020202020201010101010101010140
+:10E9C0000101010101010101010101010101010137
+:10E9D0000101010101010101010101010101010127
+:10E9E0000101010101010101010101010101010117
+:10E9F0000101010101010101010101010101010107
+:10EA000001010101010101010202010101010101F4
+:10EA100001010202010202020101020202010102DD
+:10EA200002010202020202020202020202020202C7
+:10EA300002020202020202020202020202020202B6
+:10EA400002020202020202020202020202020202A6
+:10EA50000202020202020202020202020202020296
+:10EA60000202020202020202020202020202020286
+:10EA70000202020202020202020202020202020276
+:10EA80000202020202020202020202020202020266
+:10EA90000202020202020202020202020202020256
+:10EAA0000202020202020202020202020202020246
+:10EAB000020202020202020101010101010101013F
+:10EAC0000101010101010101010101010101010136
+:10EAD0000101010101010101010101010101010126
+:10EAE0000101010101010101010101010101010116
+:10EAF0000101010101010101010101010101010106
+:10EB000001010101010101020101010101010101F4
+:10EB100001010101010101020202010101010101E2
+:10EB200001020101010101020202020202020202CB
+:10EB300002020202020202020202020202020202B5
+:10EB400002020202020202020202020202020202A5
+:10EB50000202020202020202020202020202020295
+:10EB60000202020202020202020202020202020285
+:10EB70000202020202020202020202020202020275
+:10EB80000202020202020202020202020202020265
+:10EB90000202020202020202020202020202020255
+:10EBA0000202020202020202020202020202020245
+:10EBB000020202020202020101010101010101013E
+:10EBC0000101010101010101010101010101010135
+:10EBD0000101010101010101010101010101010125
+:10EBE0000101010101010101010101010101010115
+:10EBF0000101010101010101010101010101010105
+:10EC000001010101010101010101010101010101F4
+:10EC100001010101010101010101010101010101E4
+:10EC200001010202020202020202020202020202C6
+:10EC300002020202020202020202020202020202B4
+:10EC400002020202020202020202020202020202A4
+:10EC50000202020202020202020202020202020294
+:10EC60000202020202020202020202020202020284
+:10EC70000202020202020202020202020202020274
+:10EC80000202020202020202020202020202020264
+:10EC90000202020202020202020202020202020254
+:10ECA0000202020202020202020202020202020244
+:10ECB000020202020202020101010101010101013D
+:10ECC0000101010101010101010101010101010134
+:10ECD0000101010101010101010101010101010124
+:10ECE0000101010101010101010101010101010114
+:10ECF0000101010101010101010101010101010104
+:10ED000001010101010101010101010101010101F3
+:10ED100001010101010101020101010101010101E2
+:10ED200001010101010101020202010102010202CD
+:10ED300002020202020202020202020202020202B3
+:10ED400002020202020202020202020202020202A3
+:10ED50000202020202020202020202020202020293
+:10ED60000202020202020202020202020202020283
+:10ED70000202020202020202020202020202020273
+:10ED80000202020202020202020202020202020263
+:10ED90000202020202020202020202020202020253
+:10EDA0000202020202020202020202020202020243
+:10EDB000020202020202020101010101010101013C
+:10EDC0000101010101010101010101010101010133
+:10EDD0000101010101010101010101010101010123
+:10EDE0000101010101010101010101010101010113
+:10EDF0000101010101010101010101010101010103
+:10EE000001010101010101010101010101010101F2
+:10EE100001010101010101010101010101010101E2
+:10EE200001010101010101020201010101010202CE
+:10EE300002020202020202020202020202010102B4
+:10EE400002020202020202020202020202020202A2
+:10EE50000202020202020202020202020202020292
+:10EE60000202020202020202020202020202020282
+:10EE70000202020202020202020202020202020272
+:10EE80000202020202020202020202020202020262
+:10EE90000202020202020202020202020202020252
+:10EEA0000202020202020202020202020202020242
+:10EEB000020202020202020101010101010101013B
+:10EEC0000101010101010101010101010101010132
+:10EED0000101010101010101010101010101010122
+:10EEE0000101010101010101010101010101010112
+:10EEF0000101010101010101010101010101010102
+:10EF000001010101010101010101010101010101F1
+:10EF100001010101010101010101010101010101E1
+:10EF200001010101010101010101010101010101D1
+:10EF300001010101010101020201010101010102BE
+:10EF400001020202020202020201010202020201A5
+:10EF50000202020202020202020202020202020291
+:10EF60000202020202020202020202020202020281
+:10EF70000202020202020202020202020202020271
+:10EF80000202020202020202020202020202020261
+:10EF90000202020202020202020202020202020251
+:10EFA0000202020202020202020202020202020241
+:10EFB000020202020202020101010101010101013A
+:10EFC0000101010101010101010101010101010131
+:10EFD0000101010101010101010101010101010121
+:10EFE0000101010101010101010101010101010111
+:10EFF0000101010101010101010101010101010101
+:10F0000001010101010101010101010101010101F0
+:10F0100001010101010101010101010101010101E0
+:10F0200001010101010101010101010101010101D0
+:10F0300001010101010101020101010101010101BF
+:10F0400001010101010101020102020101010102AC
+:10F050000101010101010102020202020202020297
+:10F060000202020202020202020202020202020280
+:10F070000202020202020202020202020202020270
+:10F080000202020202020202020202020202020260
+:10F090000202020202020202020202020202020250
+:10F0A0000202020202020202020202020202020240
+:10F0B0000202020202020201010101010101010139
+:10F0C0000101010101010101010101010101010130
+:10F0D0000101010101010101010101010101010120
+:10F0E0000101010101010101010101010101010110
+:10F0F0000101010101010101010101010101010100
+:10F1000001010101010101010101010101010101EF
+:10F1100001010101010101010101010101010101DF
+:10F1200001010101010101010101010101010101CF
+:10F1300001010101010101010101010101010101BF
+:10F1400001010101010101010201010202020201AA
+:10F15000020202020202020202020202020202028F
+:10F16000020202020202020202020202020202027F
+:10F17000020202020202020202020202020202026F
+:10F18000020202020202020202020202020202025F
+:10F19000020202020202020202020202020202024F
+:10F1A000020202020202020202020202020202023F
+:10F1B0000202020202020201010101010101010138
+:10F1C000010101010101010101010101010101012F
+:10F1D000010101010101010101010101010101011F
+:10F1E000010101010101010101010101010101010F
+:10F1F00001010101010101010101010101010101FF
+:10F2000001010101010101010101010101010101EE
+:10F2100001010101010101010101010101010101DE
+:10F2200001010101010101010101010101010101CE
+:10F2300001010101010101010101010101010101BE
+:10F2400001010101010101020101010101010101AD
+:10F250000101010101010102020102020201020297
+:10F26000020202020202020202020202020202027E
+:10F27000020202020202020202020202020202026E
+:10F28000020202020202020202020202020202025E
+:10F29000020202020202020202020202020202024E
+:10F2A000020202020202020202020202020202023E
+:10F2B0000202020202020201010101010101010137
+:10F2C000010101010101010101010101010101012E
+:10F2D000010101010101010101010101010101011E
+:10F2E000010101010101010101010101010101010E
+:10F2F00001010101010101010101010101010101FE
+:10F3000001010101010101010101010101010101ED
+:10F3100001010101010101010101010101010101DD
+:10F3200001010101010101010101010101010101CD
+:10F3300001010101010101010101010101010101BD
+:10F3400001010101010101010101010101010101AD
+:10F35000010101010101010201010101010101019C
+:10F36000020202020202020202020202020202027D
+:10F37000020202020202020202020202020202026D
+:10F38000020202020202020202020202020202025D
+:10F39000020202020202020202020202020202024D
+:10F3A000020202020202020202020202020202023D
+:10F3B0000202020202020201010101010101010136
+:10F3C000010101010101010101010101010101012D
+:10F3D000010101010101010101010101010101011D
+:10F3E000010101010101010101010101010101010D
+:10F3F00001010101010101010101010101010101FD
+:10F4000001010101010101010101010101010101EC
+:10F4100001010101010101010101010101010101DC
+:10F4200001010101010101010101010101010101CC
+:10F4300001010101010101010101010101010101BC
+:10F4400001010101010101010101010101010101AC
+:10F45000010101010101010101010101010101019C
+:10F460000101010101010102010101020202020286
+:10F47000020202020202020202020202020202026C
+:10F48000020202020202020202020202020202025C
+:10F49000020202020202020202020202020202024C
+:10F4A000020202020202020202020202020202023C
+:10F4B0000202020202020201010101010101010135
+:10F4C000010101010101010101010101010101012C
+:10F4D000010101010101010101010101010101011C
+:10F4E000010101010101010101010101010101010C
+:10F4F00001010101010101010101010101010101FC
+:10F5000001010101010101010101010101010101EB
+:10F5100001010101010101010101010101010101DB
+:10F5200001010101010101010101010101010101CB
+:10F5300001010101010101010101010101010101BB
+:10F5400001010101010101010101010101010101AB
+:10F55000010101010101010101010101010101019B
+:10F56000010101010101010101010101010101018B
+:10F570000101010101010102020202020202020272
+:10F58000020202020202020202020202020202025B
+:10F59000020202020202020202020202020202024B
+:10F5A000020202020202020202020202020202023B
+:10F5B0000202020202020201010101010101010134
+:10F5C000010101010101010101010101010101012B
+:10F5D000010101010101010101010101010101011B
+:10F5E000010101010101010101010101010101010B
+:10F5F00001010101010101010101010101010101FB
+:10F6000001010101010101010101010101010101EA
+:10F6100001010101010101010101010101010101DA
+:10F6200001010101010101010101010101010101CA
+:10F6300001010101010101010101010101010101BA
+:10F6400001010101010101010101010101010101AA
+:10F65000010101010101010101010101010101019A
+:10F66000010101010101010101010101010101018A
+:10F670000101010101010102010101010101010179
+:10F680000101010101010102010101010101010169
+:10F690000101010101010102020202020202020251
+:10F6A000020202020202020202020202020202023A
+:10F6B0000202020202020201010101010101010133
+:10F6C000010101010101010101010101010101012A
+:10F6D000010101010101010101010101010101011A
+:10F6E000010101010101010101010101010101010A
+:10F6F00001010101010101010101010101010101FA
+:10F7000001010101010101010101010101010101E9
+:10F7100001010101010101010101010101010101D9
+:10F7200001010101010101010101010101010101C9
+:10F7300001010101010101010101010101010101B9
+:10F7400001010101010101010101010101010101A9
+:10F750000101010101010101010101010101010199
+:10F760000101010101010101010101010101010189
+:10F770000101010101010101010101010101010179
+:10F780000101010101010101020202020202020261
+:10F790000202020202020202020202020202020249
+:10F7A0000202020202020202020202020202020239
+:10F7B0000202020202020201010101010101010132
+:10F7C0000101010101010101010101010101010129
+:10F7D0000101010101010101010101010101010119
+:10F7E0000101010101010101010101010101010109
+:10F7F00001010101010101010101010101010101F9
+:10F8000001010101010101010101010101010101E8
+:10F8100001010101010101010101010101010101D8
+:10F8200001010101010101010101010101010101C8
+:10F8300001010101010101010101010101010101B8
+:10F8400001010101010101010101010101010101A8
+:10F850000101010101010101010101010101010198
+:10F860000101010101010101010101010101010188
+:10F870000101010101010101010101010101010178
+:10F880000101010101010102010101010101010167
+:10F890000101010101010101010101010101010158
+:10F8A000010101010101010202020202020202023F
+:10F8B0000202020202020201010101010101010131
+:10F8C0000101010101010101010101010101010128
+:10F8D0000101010101010101010101010101010118
+:10F8E0000101010101010101010101010101010108
+:10F8F00001010101010101010101010101010101F8
+:10F9000001010101010101010101010101010101E7
+:10F9100001010101010101010101010101010101D7
+:10F9200001010101010101010101010101010101C7
+:10F9300001010101010101010101010101010101B7
+:10F9400001010101010101010101010101010101A7
+:10F950000101010101010101010101010101010197
+:10F960000101010101010101010101010101010187
+:10F970000101010101010101010101010101010177
+:10F980000101010101010101010101010101010167
+:10F99000010101010101010202020202020202024E
+:10F9A0000202020202020202020202020202020237
+:10F9B0000202020202020201010101010101010130
+:10F9C0000101010101010101010101010101010127
+:10F9D0000101010101010101010101010101010117
+:10F9E0000101010101010101010101010101010107
+:10F9F00001010101010101010101010101010101F7
+:10FA000001010101010101010101010101010101E6
+:10FA100001010101010101010101010101010101D6
+:10FA200001010101010101010101010101010101C6
+:10FA300001010101010101010101010101010101B6
+:10FA400001010101010101010101010101010101A6
+:10FA50000101010101010101010101010101010196
+:10FA60000101010101010101010101010101010186
+:10FA70000101010101010101010101010101010176
+:10FA80000101010101010101010101010101010166
+:10FA90000101010101010101010101010101010156
+:10FAA000010101010101010202020202020202023D
+:10FAB000020202020202020101010101010101012F
+:10FAC0000101010101010101010101010101010126
+:10FAD0000101010101010101010101010101010116
+:10FAE0000101010101010101010101010101010106
+:10FAF00001010101010101010101010101010101F6
+:10FB000001010101010101010101010101010101E5
+:10FB100001010101010101010101010101010101D5
+:10FB200001010101010101010101010101010101C5
+:10FB300001010101010101010101010101010101B5
+:10FB400001010101010101010101010101010101A5
+:10FB50000101010101010101010101010101010195
+:10FB60000101010101010101010101010101010185
+:10FB70000101010101010101010101010101010175
+:10FB80000101010101010101010101010101010165
+:10FB90000101010101010101010101010101010155
+:10FBA000010101010101010202020202020202023C
+:10FBB000020202020202020101010101010101012E
+:10FBC0000101010101010101010101010101010125
+:10FBD0000101010101010101010101010101010115
+:10FBE0000101010101010101010101010101010105
+:10FBF00001010101010101010101010101010101F5
+:10FC000001010101010101010101010101010101E4
+:10FC100001010101010101010101010101010101D4
+:10FC200001010101010101010101010101010101C4
+:10FC300001010101010101010101010101010101B4
+:10FC400001010101010101010101010101010101A4
+:10FC50000101010101010101010101010101010194
+:10FC60000101010101010101010101010101010184
+:10FC70000101010101010101010101010101010174
+:10FC80000101010101010101010101010101010164
+:10FC90000101010101010101010101010101010154
+:10FCA000010101010101010202020202020202023B
+:10FCB000020202020202020101010101010101012D
+:10FCC0000101010101010101010101010101010124
+:10FCD0000101010101010101010101010101010114
+:10FCE0000101010101010101010101010101010104
+:10FCF00001010101010101010101010101010101F4
+:10FD000001010101010101010101010101010101E3
+:10FD100001010101010101010101010101010101D3
+:10FD200001010101010101010101010101010101C3
+:10FD300001010101010101010101010101010101B3
+:10FD400001010101010101010101010101010101A3
+:10FD50000101010101010101010101010101010193
+:10FD60000101010101010101010101010101010183
+:10FD70000101010101010101010101010101010173
+:10FD80000101010101010101010101010101010163
+:10FD90000101010101010101010101010101010153
+:10FDA0000101010101010102010101010101010142
+:10FDB0000101010101010101010101010101010133
+:10FDC0000101010101010101010101010101010123
+:10FDD0000101010101010101010101010101010113
+:10FDE0000101010101010101010101010101010103
+:10FDF00001010101010101010101010101010101F3
+:10FE000001010101010101010101010101010101E2
+:10FE100001010101010101010101010101010101D2
+:10FE200001010101010101010101010101010101C2
+:10FE300001010101010101010101010101010101B2
+:10FE400001010101010101010101010101010101A2
+:10FE50000101010101010101010101010101010192
+:10FE60000101010101010101010101010101010182
+:10FE70000101010101010101010101010101010172
+:10FE80000101010101010101010101010101010162
+:10FE90000101010101010101010101010101010152
+:10FEA0000101010101010102010101010101010141
+:10FEB0000101010101010101010101010101010132
+:10FEC0000101010101010102020202020202020219
+:10FED0000202020202020202020202020202020202
+:10FEE00002020202020202020202020202020202F2
+:10FEF00002020202020202020202020202020202E2
+:10FF000002020202020202020202020202020202D1
+:10FF100002020202020202020202020202020202C1
+:10FF200002020202020202020202020202020202B1
+:10FF300002020202020202020202020202020202A1
+:10FF40000202020202020202020202020202020291
+:10FF50000202020202020202020202020202020281
+:10FF60000202020202020202020202020202020271
+:10FF70000202020202020202020202020202020261
+:10FF80000202020202020202020202020202020251
+:10FF90000202020202020202020202020202020241
+:10FFA0000202020202020200000000000000000043
+:10FFB0000000000000000001010101010101010138
+:10FFC000010101010101010000000000000000002A
+:10FFD000000000000000000202020202020202020F
+:10FFE00002020202020202020202020202020202F1
+:10FFF00002020202020202020202020202020202E1
+:02000002B0004C
+:1000000002020202020202020202020202020202D0
+:1000100002020202020202020202020202020202C0
+:1000200002020202020202020202020202020202B0
+:1000300002020202020202020202020202020202A0
+:100040000202020202020202020202020202020290
+:100050000202020202020202020202020202020280
+:100060000202020202020202020202020202020270
+:100070000202020202020202020202020202020260
+:100080000202020202020202020202020202020250
+:100090000202020202020202020202020202020240
+:1000A0000202020202020200000000000000000042
+:1000B0000000000000000001010101010101010137
+:1000C0000101010101010100000000000000000029
+:1000D0000000000000000000000000000000000020
+:1000E00000000000000000020202020202020202FE
+:1000F00002020202020202020202020202020202E0
+:1001000002020202020202020202020202020202CF
+:1001100002020202020202020202020202020202BF
+:1001200002020202020202020202020202020202AF
+:10013000020202020202020202020202020202029F
+:10014000020202020202020202020202020202028F
+:10015000020202020202020202020202020202027F
+:10016000020202020202020202020202020202026F
+:10017000020202020202020202020202020202025F
+:10018000020202020202020202020202020202024F
+:10019000020202020202020202020202020202023F
+:1001A0000202020202020200000000000000000041
+:1001B000000000000000000000000000000000003F
+:1001C000000000000000000000000000000000002F
+:1001D000000000000000000000000000000000001F
+:1001E000000000000000000000000000000000000F
+:1001F00000000000000000000000000000000000FF
+:1002000000000000000000000000000000000000EE
+:1002100000000000000000000000000000000000DE
+:1002200000000000000000000000000000000000CE
+:1002300000000000000000000000000000000000BE
+:1002400000000000000000000000000000000000AE
+:10025000000000000000000000000000000000009E
+:10026000000000000000000000000000000000008E
+:10027000000000000000000000000000000000007E
+:10028000000000000000000000000000000000006E
+:10029000000000000000000000000000000000005E
+:1002A000000000000000000000000000000000004E
+:1002B00000000000000000540000000000000000EA
+:1002C000000000000000000000000000000000002E
+:1002D000000100000000000000000000000000001D
+:1002E000000000000001010001000000000000000B
+:1002F00000010000000000000000000000000000FD
+:1003000000000000000000000000000000000000ED
+:1003100000000000000000000000000000000000DD
+:1003200000000000000000000000000000000000CD
+:1003300000000000000000000000000000000000BD
+:1003400000000000000000000000000000000000AD
+:10035000000000000000000000000000000000009D
+:10036000000000000000000000000000000000008D
+:10037000000000000000000000000000000000007D
+:10038000000000000000000000000000000000006D
+:10039000000000000000000000000000000000005D
+:1003A000000000000000000000000000000000004D
+:1003B000000000000000000000000000000000003D
+:1003C000000000000000000000000000000000002D
+:1003D000000100010000000000000000000000001B
+:1003E0000000010000010100010000000000000009
+:1003F00000010100000000000000000000000000FB
+:1004000000000100000000000000000000000000EB
+:1004100000000100000000000000000000000000DB
+:1004200000000000000000000000000000000000CC
+:1004300000000000000000000000000000000000BC
+:1004400000010000000200000000000000000000A9
+:100450000000000000010000000100000000000199
+:100460000100000000000100000000000000000189
+:10047000000000000000000000000000000000017B
+:10048000000000000000000000000000000000016B
+:10049000000000000000000000000000000000005C
+:1004A000000000000000000000000000000000004C
+:1004B000000000000000000000000000000001013A
+:1004C0000000020202000000000002010101000120
+:1004D0000001000101010101010101000101000011
+:1004E0000000010000010100010101000101000103
+:1004F00000010100010000010101010001010000F3
+:1005000000000100000000000000000000020000E8
+:1005100000000100000000000101000000020000D6
+:1005200000000000000000000000000100000100C9
+:1005300000010000000002000200010001000000B4
+:1005400000010000000200000200000200000000A4
+:100550000000000000010000000100020000000196
+:100560000100000000000100000000000000010187
+:100570000000000000000000000000020000000178
+:100580000000000000000000000000020000010167
+:100590000000000000000000000000020000000059
+:1005A000000000000000000000000000000001004A
+:1005B0000000000000000000000000000000010139
+:1005C000000002020200000000000202010100011E
+:1005D000000101010101010101010101010101000D
+:1005E0000000010000010100010101010101010100
+:1005F00000010100010000010101010101010100F0
+:1006000000000100000000000000000000010100E7
+:1006100000000101000000000101000200010000D3
+:1006200000000000010001000002010102020100BF
+:1006300000010000000002000100010101000100B2
+:10064000000100000002000002010202020200009C
+:10065000000000000001020101010002020200018D
+:100660000101000001000100000000000201010181
+:100670000000000001000000000000020202000172
+:100680000000000000000000000000020202010162
+:100690000000000000000000020002020202000050
+:1006A000000000000000000002020200020201003F
+:1006B0000000000000000000000000000000010138
+:1006C0000101020202000000020202020201000116
+:1006D000010101010101010101010101010101010A
+:1006E00000000100010101020101010101010101FC
+:1006F00000010100010101010101010101010101EC
+:1007000000000100000101010002010001010100DF
+:1007100000000101010001000101000100010000D1
+:1007200000000000010001000001010102010100C0
+:1007300000010000000001020101010101010100AE
+:10074000000100000001000002010102020101009D
+:10075000000001000001020101010002020201018A
+:10076000010100000100010000000002020101017E
+:100770000000000001000000000000020201010171
+:100780000000000000000000000000020201010162
+:10079000000000000000000002000202020200004F
+:1007A000000000000000000001020202020101003E
+:1007B0000000000000000000000000000000010137
+:1007C0000102020202000000020202020201000114
+:1007D0000101010101010101010101010101010109
+:1007E00000000100010101020101010101010101FB
+:1007F00001010101010101010101010101010101E9
+:1008000000000101000101010002010201010100DB
+:1008100000000101010001000101000100010100CF
+:1008200000010000010101000001010101010100BE
+:1008300000010100000001020101010101010100AC
+:10084000000100000001020001010101020101009C
+:10085000000001000001010101010201020101018A
+:10086000010100000100010000000202020101017B
+:10087000000000000100000000000201020101016F
+:100880000000000000000000000002010201010160
+:100890000000000000000000020002010201000050
+:1008A000000000000000000201020102020101003C
+:1008B0000000000000000000000000000000010136
+:1008C0000202020202000000020202020201000112
+:1008D0000101010101010101010101010101010108
+:1008E00001010100010101020101010101010101F8
+:1008F00001010101010101010101010101010101E8
+:1009000000010101010101010002010201010100D8
+:1009100000000101010001020101000100010100CC
+:1009200000010000010101000001010101010100BD
+:1009300001010100000001010101010101010100AB
+:10094000000100000001020001010101010101009C
+:10095000000001000001010101010201010101018A
+:10096000010100010100010000000202010101017A
+:10097000000000000100000000000201010101016F
+:100980000000000000000000000002010101010160
+:100990000000000000000000010001010101010051
+:1009A000000000000000000201010101010101003E
+:1009B0000000000000000000000000000000010135
+:1009C0000202020202000000020202020201000111
+:1009D0000101010101010101010101010101010107
+:1009E00001010101010101010101010101010101F7
+:1009F00001010101010101010101010101010101E7
+:100A000000010101010101010001010201010100D8
+:100A100000000101010001020101000100010100CB
+:100A200000010000010101020101010101010100B9
+:100A300001010101000001010101010101010100A9
+:100A4000000100000001020001010101010101009B
+:100A50000000010000010101010102010101010189
+:100A60000101000101010100000002010101010179
+:100A7000000000000100000000000201010101016E
+:100A8000000000000000000000000201010101015F
+:100A9000000000000000000001020101010101004E
+:100AA000000000000000000201010101010101003D
+:100AB0000000000000000000000000000000010134
+:100AC0000202020202000000020202020201000110
+:100AD0000101010101020101010101010101010105
+:100AE00001010101010101010101010101010101F6
+:100AF00001010101010101010101010101010101E6
+:100B000000010101010101010101010101010101D6
+:100B100000010101010001010101020100010100C8
+:100B200000010001010101010101010101010101B7
+:100B300001010101000101010101010101010100A7
+:100B4000000101000001010001010101010101009A
+:100B50000000010000010101010101010101010189
+:100B60000101000101010100000001010101010179
+:100B7000000000000100000000000101010101016E
+:100B8000000000000000000000000101010101015F
+:100B9000000000000000000001020101010101004D
+:100BA000000000000000000101010101010101003D
+:100BB0000000000000000000000000000000010232
+:100BC000020202020200000002020202020100010F
+:100BD0000101010101020202010101010101010102
+:100BE00001010101010101010101010101010101F5
+:100BF00001010101010101010101010101010101E5
+:100C000000010101010101010101010101010101D5
+:100C100000010101010001010101020100010100C7
+:100C200000010001010101010101010101010101B6
+:100C300001010101000101010101010101010100A6
+:100C40000101010001010101010101010101010096
+:100C50000000010000010101010101010101010188
+:100C60000101000101010100020001010101010176
+:100C7000000000000100000002000101010101016B
+:100C8000000000000000000002020101010101015A
+:100C9000000000000000000001020101010101004C
+:100CA0000100000000020001010101010101010039
+:100CB0000000000000000000000000000000010231
+:100CC000020202020200000002020202020100010E
+:100CD00001020101020202020101010101010101FF
+:100CE00001010101010101010101010101010101F4
+:100CF00001010101010101010101010101010101E4
+:100D000000010101010101010101010101010101D4
+:100D100000010101010101010101020100010100C5
+:100D200000010001010101010101010101010101B5
+:100D300001010101000101010101010101010100A5
+:100D40000101010001010101010101010101010095
+:100D50000000010000010101010101010101010187
+:100D60000101000101010100020001010101010175
+:100D7000000000000100000002000101010101016A
+:100D80000000000000000000020201010101010159
+:100D9000000000000000000001010101010101004C
+:100DA0000100000000020001010101010101010038
+:100DB0000000000000000000000000000000010230
+:100DC000020202020200000002020202020100010D
+:100DD00001020202020202020101010101010101FC
+:100DE00001010101010101010101010101010101F3
+:100DF00001010101010101010101010101010101E3
+:100E000000010101010101010101010101010101D3
+:100E100001010101010101010101010100010101C3
+:100E200001010001010101010101010101010101B3
+:100E300001010101000101010101010101010100A4
+:100E40000101010001010101010101010101010094
+:100E50000000010000010101010101010101010186
+:100E60000101000101010100020201010101010172
+:100E70000000000001000000020001010101010169
+:100E80000000000000000000020201010101010158
+:100E9000000000000000000001010101010101004B
+:100EA0000101000000020201010101010101010034
+:100EB000000000000000000000000000000001022F
+:100EC0000202020202020000020202020202000109
+:100ED00002020202020202020201010101010101F9
+:100EE00001010101010101010101010101010101F2
+:100EF00001010101010101010101010101010101E2
+:100F000000010101010101010101010101010101D2
+:100F100001010101010101010101010100010101C2
+:100F200001010001010101010101010101010101B2
+:100F300001010101010101010101010101010100A2
+:100F40000101010101010101010101010101010092
+:100F50000000010000010101010101010101010185
+:100F60000101010101010100010201010101010171
+:100F70000000000001000000010001010101010169
+:100F80000000000000000000010101010101010159
+:100F9000000000000000000001010101010101004A
+:100FA0000101000000010201010101010101010034
+:100FB000000000000000000000000000000001022E
+:100FC0000202020202020000020202020202000207
+:100FD00002020202020202020202010101010101F7
+:100FE00001010101010101010101010101010101F1
+:100FF00001010101010101010101010101010101E1
+:1010000000010101010101010101010101010101D1
+:1010100001010101010101010101010100010101C1
+:1010200001010001010101010101010101010101B1
+:1010300001010101010101010101010101010101A0
+:101040000101010101010101010101010101010091
+:101050000100010000010101010101010101010183
+:10106000010101010101010201020101010101016E
+:101070000000000001000000010201010101010166
+:101080000000000000000002010101010101010156
+:101090000000000000000002010101010101010047
+:1010A0000101000000010201010101010101010033
+:1010B000000000000000000000000000000001022D
+:1010C0000202020202020002020202020202000204
+:1010D00002020202020202020202010101010102F5
+:1010E00001010201010101010101010101010102EE
+:1010F00001010101010101010101010101010101E0
+:1011000001010101010101010101010101010101CF
+:1011100001010101010101010101010100010101C0
+:1011200001010101010101010101010101010101AF
+:10113000010101010101010101010101010101019F
+:101140000101010101010101010101010101010090
+:101150000100010000010101010101010101010182
+:10116000010101010101010201010101010101016E
+:101170000000000001000000010201010101010165
+:101180000000000000000002010101010101010155
+:101190000000000000000002010101010101010046
+:1011A0000101000000010101010101010101010033
+:1011B000000000000000000000000000000001022C
+:1011C0000202020202020002020202020202000203
+:1011D00002020202020202020202010101010102F4
+:1011E00002010201010201010101010101010102EB
+:1011F00002020201010101010101010101010102DB
+:1012000001010101010101010101010101010101CE
+:1012100001010101010101010101010100010101BF
+:1012200001010101010101010101010101010101AE
+:10123000010101010101010101010101010101019E
+:10124000010101010101010101010101010101018E
+:101250000100010000010101010101010101010181
+:10126000010101010101010201010101010101016D
+:101270000000000001000000010201010101010164
+:101280000100000000000002010101010101010153
+:101290000000000000000002010101010101010045
+:1012A0000101000000010101010101010101010032
+:1012B000000000000000000000000000000001022B
+:1012C0000202020202020202020202020202000200
+:1012D00002020202020202020202010101010102F3
+:1012E00002010201010202010101010101010102E9
+:1012F00002020201010101010101010101010102DA
+:1013000001010201010101010101010101010101CC
+:1013100001010101010101010101010100010101BE
+:1013200001010101010101010101010101010101AD
+:10133000010101010101010101010101010101019D
+:10134000010101010101010101010101010101018D
+:101350000100010000010101010101010101010180
+:10136000010101010101010101010101010101016D
+:101370000000000001000000010101010101010164
+:101380000100000000000001010101010101010153
+:101390000000000000000001010101010101010045
+:1013A0000101000100010101010101010101010030
+:1013B000000000000000000000000000000001022A
+:1013C00002020202020202020202020202020002FF
+:1013D00002020202020202020202020101010102F1
+:1013E00002020201020202010101010101010102E6
+:1013F00002020201010101010101010101010102D9
+:1014000001010201010101010101010101010101CB
+:1014100001010101010101010101010100010101BD
+:1014200001010101010101010101010101010101AC
+:10143000010101010101010101010101010101019C
+:10144000010101010101010101010101010101018C
+:10145000010001000001010101010101010101017F
+:10146000010101010101010101010101010101016C
+:101470000000000001000000010101010101010163
+:101480000100000000000201010101010101010150
+:101490000000000000000201010101010101010042
+:1014A000010100010001010101010101010101002F
+:1014B0000000000000000000000000000000010229
+:1014C00002020202020202020202020202020002FE
+:1014D00002020202020202020202020101010102F0
+:1014E00002020201020202010101010101010102E5
+:1014F00002020201020101010101010101010102D7
+:1015000001010201010101010101010101010101CA
+:1015100001010201010101010101010100010101BB
+:1015200001010101010101010101010101010101AB
+:10153000020101010101010101010101010101019A
+:10154000010101010101010101010101010101018B
+:10155000010001000001010101010101010101017E
+:10156000010101010101010101010101010101016B
+:101570000000000001000000010101010101010162
+:10158000010000000000020101010101010101014F
+:101590000000000000000201010101010101010041
+:1015A000010101010001010101010101010101002D
+:1015B0000000000000000000000000000000010228
+:1015C00002020202020202020202020202020002FD
+:1015D00002020202020202020202020201010102EE
+:1015E00002020202020202010202010101010102E1
+:1015F00002020202020201010101010101010102D4
+:1016000001020201010101010101010101010102C7
+:1016100001010201010101010101010100010101BA
+:1016200001010101010101010101010101010102A9
+:101630000202010101010101010101010101010198
+:10164000010101010101010101010101010101018A
+:10165000010101000001010101010101010101027B
+:101660000201010101010101010101010101010268
+:10167000000000000100000201010101010101025E
+:10168000010000000002020101010101010101014C
+:10169000010000000000020101010101010101003F
+:1016A000010101010001010101010101010101002C
+:1016B0000000000000000000000000000000000228
+:1016C00002020202020202020202020202020002FC
+:1016D00002020202020202020202020201010102ED
+:1016E00002020202020202010202010101010102E0
+:1016F00002020202020201020101010101010102D2
+:1017000001020202010101010101010101010102C5
+:1017100002010201010101010101010102010101B6
+:1017200001010101010101010101010101010102A8
+:101730000202010101010101010101010101010197
+:101740000102010101010101010101010101010188
+:10175000010101000001010101010101010101027A
+:101760000201010101010101010101010101010267
+:10177000000000000100000201010101010101025D
+:10178000010000000002010101010101010101024B
+:10179000010000000000010101010101010101003F
+:1017A000010101010001010101010101010101002B
+:1017B0000000000000000000000000000000000227
+:1017C00002020202020202020202020202020002FB
+:1017D00002020202020202020202020202010102EB
+:1017E00002020202020202010202010101010102DF
+:1017F00002020202020202020101010101010102D0
+:1018000002020202010201010101010101010102C2
+:1018100002010202010101010101010101010102B4
+:1018200002020101010101010101010101010102A5
+:101830000202020101010101010101010101010195
+:101840000202010101010101010101010101010186
+:101850000101010000010101010101010101010279
+:101860000201010101010101010101010101010266
+:10187000000000000100000201010101010101025C
+:10188000010000000002010101010101010101024A
+:10189000010000000002010101010101010101013B
+:1018A000010101010001010101010101010101002A
+:1018B0000000000000000000000000000000000226
+:1018C00002020202020202020202020202020002FA
+:1018D00002020202020202020202020202010102EA
+:1018E00002020202020202010202010101010102DE
+:1018F00002020202020202020102010101010102CE
+:1019000002020202020202010101010101010102BF
+:1019100002020202010101010101010101010102B2
+:1019200002020101010101010101010101010102A4
+:101930000202020101010101010101010101010194
+:101940000202010101010101010101010101010185
+:101950000101010000010101010101010101010278
+:101960000201010101010101010101010101010265
+:10197000000000000100000101010101010101025C
+:10198000010000000001010101010101010101024A
+:10199000010000000002010101010101010101013A
+:1019A0000101010100010101010101010101010029
+:1019B0000000000000000000000000000000000225
+:1019C00002020202020202020202020202020002F9
+:1019D00002020202020202020202020202010102E9
+:1019E00002020202020202010202020101010102DC
+:1019F00002020202020202020202010101010102CC
+:101A000002020202020202020101010101010102BD
+:101A100002020202020101010101010101010102B0
+:101A200002020101020101010101010101010102A2
+:101A30000202020101010101010101010101010292
+:101A40000202010101010101010101010101010184
+:101A50000101020000010101010101010101010276
+:101A60000201010101010101010101010101010264
+:101A7000000000000100000101010101010101025B
+:101A80000101000000010101010101010101010248
+:101A90000101000000020101010101010101010138
+:101AA0000101010101010101010101010101010027
+:101AB0000000000000000000000000000000000224
+:101AC00002020202020202020202020202020002F8
+:101AD00002020202020202020202020202010102E8
+:101AE00002020202020202010202020201010102DA
+:101AF00002020202020202020202020101010102CA
+:101B000002020202020202020101010101010102BC
+:101B100002020202020101010101010101010102AF
+:101B200002020101020101010101010101010102A1
+:101B30000202020201010101010101010101010290
+:101B40000202020101010101010101010101010182
+:101B50000201020000010101010101010101010274
+:101B60000202010101010101010101010101010262
+:101B7000000000000100000101010101010101025A
+:101B80000101000000010101010101010101010247
+:101B90000101000000010101010101010101010138
+:101BA0000101010101010101010101010101010026
+:101BB0000000000000000000000000000000000223
+:101BC00002020202020202020202010202020002F8
+:101BD00002020202020202020202020202010102E7
+:101BE00002020202020202020202020202010102D7
+:101BF00002020202020202020202020101010102C9
+:101C000002020202020202020101010101010102BB
+:101C100002020202020102010101010101010102AD
+:101C2000020201020202020101010101010101029D
+:101C3000020202020101010101010101010101028F
+:101C40000202020101010101010101010101010280
+:101C50000201020000010101010101010101010273
+:101C60000202010101010101010101010101010261
+:101C70000001000001000001010101010101010258
+:101C80000101000000010101010101010101010246
+:101C90000101000000010101010101010101010137
+:101CA0000201010101010101010101010101010024
+:101CB0000000000000000000000000000000000222
+:101CC00002020202010202020202010202020002F8
+:101CD00002020202020202020202020202020102E5
+:101CE00002020202020202020202020202010102D6
+:101CF00002020202020202020202020202010102C6
+:101D000002020202020202020101020101010102B9
+:101D100002020202020102010202010101010102AA
+:101D2000020202020202020101010101010101029B
+:101D3000020202020101010101010101010101028E
+:101D4000020202010101010101010101010101027F
+:101D50000201020100020101010101010101010270
+:101D60000202010101010101010101010101010260
+:101D70000001010001000001010101010101010256
+:101D80000101000100010101010101010101010244
+:101D90000101000000010101010101010101010136
+:101DA0000201010101010101010101010101010023
+:101DB0000000000000000000000000000000000221
+:101DC00002020201010202020101010202020002FA
+:101DD00002020202020202020202020202020202E3
+:101DE00002020202020202020202020202020102D4
+:101DF00002020202020202020202020202010102C5
+:101E000002020202020202020201020101010102B7
+:101E100002020202020202010202010101010102A8
+:101E2000020202020202020101010101010101029A
+:101E3000020202020102020101010101010101028B
+:101E4000020202010101010101010101010101027E
+:101E5000020102010102010101010101010101026E
+:101E6000020201010101010101010101010101025F
+:101E70000101010001000001010101010101010254
+:101E80000201000101010101010101010101010241
+:101E90000101000000010101010101010101010135
+:101EA0000201010101010101010101010101010022
+:101EB0000000000000000000000000000000000220
+:101EC00002020201010202020101010202020002F9
+:101ED00002020202020202020202020202020202E2
+:101EE00002020202020202020202020202020102D3
+:101EF00002020202020202020202020202020102C3
+:101F000002020202020202020201020102010102B5
+:101F100002020202020202010202010101010102A7
+:101F20000202020202020201010101010101010299
+:101F30000202020202020201020202010101010286
+:101F4000020202020202010101010101010101027A
+:101F5000020102010102010101010101010101026D
+:101F6000020201020201010101010101010101025C
+:101F70000101010002000001010101010101010252
+:101F8000020101010101010101010101010101023F
+:101F90000101010000010101010101010101010133
+:101FA0000201010101010101010101010101010021
+:101FB000000000000000000000000000000100021E
+:101FC00002020201010202010101010101020002FB
+:101FD00002020202020202020202020202020202E1
+:101FE00002020202020202020202020202020202D1
+:101FF00002020202020202020202020202020102C2
+:1020000002020202020202020202020102010102B3
+:1020100002020202020202010202010101010102A6
+:102020000202020202020201010202020101010295
+:102030000202020202020202020202020201010282
+:102040000202020202020101010201010101010278
+:10205000020102010102010201020101010101026A
+:102060000202020202010201010101010101010259
+:102070000101010002010001010101010101010250
+:10208000020101010101010101010101010101023E
+:102090000101010001010101010101010101010131
+:1020A0000201010101010101010101010101010020
+:1020B000000002000000000000000000000100021B
+:1020C00002020201020102010101010101020002FA
+:1020D00002020202020202020202020202020202E0
+:1020E00002020202020202020202020202020202D0
+:1020F00002020202020202020202020202020202C0
+:1021000002020202020202020202020102020202B0
+:1021100002020202020202020202010201010102A3
+:102120000202020202020202020202020101010292
+:102130000202020202020202020202020201010281
+:102140000202020202020101010201010101010277
+:102150000201020101020202020201010101010267
+:102160000202020202010201010101010101010258
+:10217000010101010201000101010101010101024E
+:10218000020101010101010101010101010101023D
+:10219000020101010101010101010101010101012E
+:1021A000020201010101010101010101010101001E
+:1021B0000002020000000000010001000001000216
+:1021C00002020202020101010101010101020002F9
+:1021D00002020202020202020202020202020202DF
+:1021E00002020202020202020202020202020202CF
+:1021F00002020202020202020202020202020202BF
+:1022000002020202020202020202020102020202AF
+:1022100002020202020202020202010201010102A2
+:102220000202020202020202020202020101010291
+:102230000202020202020202020202020201010280
+:102240000202020202020202010202010101010273
+:102250000202020101020202020201010101010265
+:102260000202020202020201010101010101010256
+:10227000010101010201010101010101010101024C
+:10228000020101010101010101010101010101023C
+:10229000020101010101010101010101010101022C
+:1022A000020201010101010101010101010101001D
+:1022B0000002020000000001010101010101000211
+:1022C00002020202020101010101010101020002F8
+:1022D00002020202020202020202020202020202DE
+:1022E00002020202020202020202020202020202CE
+:1022F00002020202020202020202020202020202BE
+:1023000002020202020202020202020202020202AD
+:1023100002020202020202020202010201020102A0
+:10232000020202020202020202020202010102028F
+:10233000020202020202020202020202020202027D
+:102340000202020202020202020202010101010271
+:102350000202020101020202020201010101010264
+:102360000202020202020201010101010101010255
+:10237000010101010201010101010101010101024B
+:10238000020101010101010101010101010101023B
+:10239000020101010101010101010101010101022B
+:1023A000020201010101010101010101010101001C
+:1023B000000102000101000101010101010100020F
+:1023C00002020102020101020101010101020002F7
+:1023D00002020202020202020202020202020202DD
+:1023E00002020202020202020202020202020202CD
+:1023F00002020202020202020202020202020202BD
+:1024000002020202020202020202020202020202AC
+:10241000020202020202020202020102010202029E
+:10242000020202020202020202020202020202028C
+:10243000020202020202020202020202020202027C
+:102440000202020202020202020202010101010270
+:102450000202020101020202020201010101010263
+:102460000202020202020201010101010101010254
+:102470000201010102010101010101010101010249
+:10248000020101010101010101010101010101023A
+:10249000020101010101010101010101010101022A
+:1024A000020201010101010101010101010101001B
+:1024B000000102020101010101010101010100020B
+:1024C00002020102010201020101010101020002F6
+:1024D00002020202020202020202020202020202DC
+:1024E00002020202020202020202020202020202CC
+:1024F00002020202020202020202020202020202BC
+:1025000002020202020202020202020202020202AB
+:10251000020202020202020202020102010202029D
+:10252000020202020202020202020202020202028B
+:10253000020202020202020202020202020202027B
+:10254000020202020202020202020202010202026C
+:102550000202020101020202020201010101010262
+:102560000202020202020201010101010101010253
+:102570000201010102010101010101010101010248
+:102580000201010101010101010101010101010239
+:102590000201010101010101010101010101010229
+:1025A0000202020101010101010101010101010019
+:1025B000000102010101010101010101010100020B
+:1025C00002020101010202020101010101020002F5
+:1025D00002020202020202020202020202020202DB
+:1025E00002020202020202020202020202020202CB
+:1025F00002020202020202020202020202020202BB
+:1026000002020202020202020202020202020202AA
+:10261000020202020202020202020202010202029B
+:10262000020202020202020202020202020202028A
+:10263000020202020202020202020202020202027A
+:10264000020202020202020202020202020202026A
+:10265000020202010102020202020102010102025F
+:102660000202020202020201010101010101010252
+:102670000201010102010101010101010101010247
+:102680000202010101010101010101010101010237
+:102690000201010101010101010101010101010228
+:1026A0000202020201010101020101010101010016
+:1026B000000002010001010101010101010100020C
+:1026C00002020101010202020101010101010002F5
+:1026D00002020202020202010202020202020202DB
+:1026E00002020202020202020202020202020202CA
+:1026F00002020202020202020202020202020202BA
+:1027000002020202020202020202020202020202A9
+:10271000020202020202020202020202010202029A
+:102720000202020202020202020202020202020289
+:102730000202020202020202020202020202020279
+:102740000202020202020202020202020202020269
+:10275000020202010102020202020202020202025B
+:10276000020202020202020101010101010202024F
+:102770000202010102010101010101010101010245
+:102780000202010101010101010101010101020235
+:102790000202010101010101010101010101010226
+:1027A0000202020201010101020101010101010015
+:1027B000000001010000010101010101010100020D
+:1027C00002020201010202010101010101010002F4
+:1027D00002020202020101010202020202020202DC
+:1027E00002020202020202020202020202020202C9
+:1027F00002020202020202020202020202020202B9
+:1028000002020202020202020202020202020202A8
+:102810000202020202020202020202020102020299
+:102820000202020202020202020202020202020288
+:102830000202020202020202020202020202020278
+:102840000202020202020202020202020202020268
+:102850000202020201020202020202020202020259
+:10286000020202020202020101010101010202024E
+:102870000202020102010101010101020102020240
+:102880000202010101010101010101020102020232
+:102890000202010101010101020101010101010224
+:1028A000020202020102010202020201010102000F
+:1028B000000001000000010101010101010100020D
+:1028C00002020201010102010101010101010002F4
+:1028D00002020202020101010102020202020202DC
+:1028E00002020202020202020202020202020202C8
+:1028F00002020202020202020202020202020202B8
+:1029000002020202020202020202020202020202A7
+:102910000202020202020202020202020102020298
+:102920000202020202020202020202020202020287
+:102930000202020202020202020202020202020277
+:102940000202020202020202020202020202020267
+:102950000202020201020202020202020202020258
+:10296000020202020202020101010202020202024A
+:10297000020202010201010101010202020202023D
+:10298000020202010101010101010202020202022E
+:102990000202010101010101020102020101010221
+:1029A000020202020102010202020202010202000C
+:1029B000000001000000000001010101010100020E
+:1029C00002010201010101010101010101010002F5
+:1029D00002020202020101010101020202020202DC
+:1029E00002020202020202020202020202020202C7
+:1029F00002020202020202020202020202020202B7
+:102A000002020202020202020202020202020202A6
+:102A10000202020202020202020202020102020297
+:102A20000202020202020202020202020202020286
+:102A30000202020202020202020202020202020276
+:102A40000202020202020202020202020202020266
+:102A50000202020202020202020202020202020256
+:102A60000202020202020201020102020202020248
+:102A7000020202010201010102010202020202023B
+:102A8000020202020101010102020202020202022A
+:102A9000020202010101010102020202020202021B
+:102AA0000202020201020202020202020202020009
+:102AB000000001000000000000000101010100020F
+:102AC00002010201010101010101010101010002F4
+:102AD00002020202010101010101020202020202DC
+:102AE00002020202020202020202020202020202C6
+:102AF00002020202020202020202020202020202B6
+:102B000002020202020202020202020202020202A5
+:102B10000202020202020202020202020202020295
+:102B20000202020202020202020202020202020285
+:102B30000202020202020202020202020202020275
+:102B40000202020202020202020202020202020265
+:102B50000202020202020202020202020202020255
+:102B60000202020202020202020202020202020245
+:102B7000020202010201010102010202020202023A
+:102B80000202020201010102020202020202020228
+:102B9000020202010101010102020202020202021A
+:102BA0000202020202020202020202020202020007
+:102BB000000001000000000000000001010100020F
+:102BC00002010101010101010101010101010002F4
+:102BD00002020202010101010101020202020202DB
+:102BE00002020202020202020202020202020202C5
+:102BF00002020202020202020202020202020202B5
+:102C000002020202020202020202020202020202A4
+:102C10000202020202020202020202020202020294
+:102C20000202020202020202020202020202020284
+:102C30000202020202020202020202020202020274
+:102C40000202020202020202020202020202020264
+:102C50000202020202020202020202020202020254
+:102C60000202020202020202020202020202020244
+:102C70000202020202010101020202020202020237
+:102C80000202020202020202020202020202020224
+:102C90000202020101010102020202020202020218
+:102CA0000202020202020202020202020202020006
+:102CB0000000010000000000000000000001000210
+:102CC00002010101010101010101010101010002F3
+:102CD00002020202010101010101010202020202DB
+:102CE00002020202020202020202020202020202C4
+:102CF00002020202020202020202020202020202B4
+:102D000002020202020202020202020202020202A3
+:102D10000202020202020202020202020202020293
+:102D20000202020202020202020202020202020283
+:102D30000202020202020202020202020202020273
+:102D40000202020202020202020202020202020263
+:102D50000202020202020202020202020202020253
+:102D60000202020202020202020202020202020243
+:102D70000202020202010101020202020202020236
+:102D80000202020202020202020202020202020223
+:102D90000202020201010202020202020202020215
+:102DA0000202020202020202020202020202020005
+:102DB0000000010000000000000000000000000210
+:102DC00002010101010101010101010101010002F2
+:102DD00002020201010101010101010102020202DC
+:102DE00002020202020202020202020202020202C3
+:102DF00002020202020202020202020202020202B3
+:102E000002020202020202020202020202020202A2
+:102E10000202020202020202020202020202020292
+:102E20000202020202020202020202020202020282
+:102E30000202020202020202020202020202020272
+:102E40000202020202020202020202020202020262
+:102E50000202020202020202020202020202020252
+:102E60000202020202020202020202020202020242
+:102E70000202020202020102020202020202020233
+:102E80000202020202020202020202020202020222
+:102E90000202020202020202020202020202020212
+:102EA0000202020202020202020202020202020004
+:102EB0000000000000000000000000000000000210
+:102EC00001010101010101010101010101010002F2
+:102ED00002020101010101010101010102020202DC
+:102EE00002020202020202020202020202020202C2
+:102EF00002020202020202020202020202020202B2
+:102F000002020202020202020202020202020202A1
+:102F10000202020202020202020202020202020291
+:102F20000202020202020202020202020202020281
+:102F30000202020202020202020202020202020271
+:102F40000202020202020202020202020202020261
+:102F50000202020202020202020202020202020251
+:102F60000202020202020202020202020202020241
+:102F70000202020202020102020202020202020232
+:102F80000202020202020202020202020202020221
+:102F90000202020202020202020202020202020211
+:102FA0000202020202020202020202020202020003
+:102FB000000000000000000000000000000000020F
+:102FC00001010101010101010101010101010002F1
+:102FD00002010101010101010101010101020202DD
+:102FE00002020202020202020202020202020202C1
+:102FF00002020202020202020202020202020202B1
+:1030000002020202020202020202020202020202A0
+:103010000202020202020202020202020202020290
+:103020000202020202020202020202020202020280
+:103030000202020202020202020202020202020270
+:103040000202020202020202020202020202020260
+:103050000202020202020202020202020202020250
+:103060000202020202020202020202020202020240
+:103070000202020202020202020202020202020230
+:103080000202020202020202020202020202020220
+:103090000202020202020202020202020202020210
+:1030A0000202020202020202020202020202020002
+:1030B000000000000000000000000000000000020E
+:1030C00001010101010101010101010101010002F0
+:1030D00002010101010101010101010101020202DC
+:1030E00002020202020202020202020202020202C0
+:1030F00002020202020202020202020202020202B0
+:10310000020202020202020202020202020202029F
+:10311000020202020202020202020202020202028F
+:10312000020202020202020202020202020202027F
+:10313000020202020202020202020202020202026F
+:10314000020202020202020202020202020202025F
+:10315000020202020202020202020202020202024F
+:10316000020202020202020202020202020202023F
+:10317000020202020202020202020202020202022F
+:10318000020202020202020202020202020202021F
+:10319000020202020202020202020202020202020F
+:1031A0000202020202020202020202020202020001
+:1031B000000000000000000000000000000000020D
+:1031C00001010101010101010101010101010002EF
+:1031D00002010101010101010101010101020202DB
+:1031E00002020202020202020202020202020202BF
+:1031F00002020202020202020202020202020202AF
+:10320000020202020202020202020202020202029E
+:10321000020202020202020202020202020202028E
+:10322000020202020202020202020202020202027E
+:10323000020202020202020202020202020202026E
+:10324000020202020202020202020202020202025E
+:10325000020202020202020202020202020202024E
+:10326000020202020202020202020202020202023E
+:10327000020202020202020202020202020202022E
+:10328000020202020202020202020202020202021E
+:10329000020202020202020202020202020202020E
+:1032A00002020202020202020202020202020202FE
+:1032B000000000000000000000000000000000020C
+:1032C00001010101010101010101010101010002EE
+:1032D00002010101010101010101010101020202DA
+:1032E00002020202020101020201020202020202C1
+:1032F00002020202020202020202020202020202AE
+:10330000020202020202020202020202020202029D
+:10331000020202020202020202020202020202028D
+:10332000020202020202020202020202020202027D
+:10333000020202020202020202020202020202026D
+:10334000020202020202020202020202020202025D
+:10335000020202020202020202020202020202024D
+:10336000020202020202020202020202020202023D
+:10337000020202020202020202020202020202022D
+:10338000020202020202020202020202020202021D
+:10339000020202020202020202020202020202020D
+:1033A00002020202020202020202020202020202FD
+:1033B000000000000000000000000000000000010C
+:1033C00001010101010101010101010101010002ED
+:1033D00001010101010101010101010101010102DC
+:1033E00002020202010202020102020202020202BF
+:1033F00002020202020202020202020202020202AD
+:10340000020202020202020202020202020202029C
+:10341000020202020202020202020202020202028C
+:10342000020202020202020202020202020202027C
+:10343000020202020202020202020202020202026C
+:10344000020202020202020202020202020202025C
+:10345000020202020202020202020202020202024C
+:10346000020202020202020202020202020202023C
+:10347000020202020202020202020202020202022C
+:10348000020202020202020202020202020202021C
+:10349000020202020202020202020202020202020C
+:1034A00002020202020202020202020202020202FC
+:1034B0000200000000000000000000000000000109
+:1034C00001010101010101010101000101010102EC
+:1034D00001010101010101010101010101010102DB
+:1034E00002020202020101020201020202020202BF
+:1034F00002020202020102010202020202020202AE
+:10350000020202020202020202020202020202029B
+:10351000020202020202020202020202020202028B
+:10352000020202020202020202020202020202027B
+:10353000020202020202020202020202020202026B
+:10354000020202020202020202020202020202025B
+:10355000020202020202020202020202020202024B
+:10356000020202020202020202020202020202023B
+:10357000020202020202020202020202020202022B
+:10358000020202020202020202020202020202021B
+:10359000020202020202020202020202020202020B
+:1035A00002020202020202020202020202020202FB
+:1035B0000200000000000000000000000000000108
+:1035C00001010101010101010000000101010102ED
+:1035D00001010101010101010101010101010102DA
+:1035E00002020101010101010101010102020202C5
+:1035F00002020202010201020201020202020202AE
+:10360000020202020202020202020202020202029A
+:10361000020202020202020202020202020202028A
+:10362000020202020202020202020202020202027A
+:10363000020202020202020202020202020202026A
+:10364000020202020202020202020202020202025A
+:10365000020202020202020202020202020202024A
+:10366000020202020202020202020202020202023A
+:10367000020202020202020202020202020202022A
+:10368000020202020202020202020202020202021A
+:10369000020202020202020202020202020202020A
+:1036A00002020202020202020202020202020202FA
+:1036B0000200000000000000000000000000000107
+:1036C00001010101010101010000000101010101ED
+:1036D00001010101010101010101010101010102D9
+:1036E00002010202010101020101020201020202C1
+:1036F00002020101020102010102010202020202B0
+:103700000202020202020202020202020202020299
+:103710000202020202020202020202020202020289
+:103720000202020202020202020202020202020279
+:103730000202020202020202020202020202020269
+:103740000202020202020202020202020202020259
+:103750000202020202020202020202020202020249
+:103760000202020202020202020202020202020239
+:103770000202020202020202020202020202020229
+:103780000202020202020202020202020202020219
+:103790000202020202020202020202020202020209
+:1037A00002020202020202020202020202020202F9
+:1037B0000200000000000000000000000000000106
+:1037C00001010101010101010000000101010101EC
+:1037D00001010101010101010101010101010102D8
+:1037E00002020101010101010101010102010202C4
+:1037F00002010202010101010201020101020202B1
+:10380000020202020201010102020202020202029B
+:103810000202020202020202020202020202020288
+:103820000202020202020202020202020202020278
+:103830000202020202020202020202020202020268
+:103840000202020202020202020202020202020258
+:103850000202020202020202020202020202020248
+:103860000202020202020202020202020202020238
+:103870000202020202020202020202020202020228
+:103880000202020202020202020202020202020218
+:103890000202020202020202020202020202020208
+:1038A00002020202020202020202020202020202F8
+:1038B0000200000000000000000000000000000105
+:1038C00001010101010101010000000101010101EB
+:1038D00001010101010101010101010101010102D7
+:1038E00001010101010101010101010101020102C6
+:1038F00001020101010101010101010202010202B3
+:10390000020201010102020201020102020202029C
+:103910000202020202020202020202020202020287
+:103920000202020202020202020202020202020277
+:103930000202020202020202020202020202020267
+:103940000202020202020202020202020202020257
+:103950000202020202020202020202020202020247
+:103960000202020202020202020202020202020237
+:103970000202020202020202020202020202020227
+:103980000202020202020202020202020202020217
+:103990000202020202020202020202020202020207
+:1039A00002020202020202020202020202020202F7
+:1039B0000200000000000000000000000000000104
+:1039C00001010100000101010000000100010101ED
+:1039D00001010101010101010101010101010101D7
+:1039E00002010101010101010101010101010202C4
+:1039F00002010101010101010101010101020102B4
+:103A0000020102020200000002010202010202029F
+:103A10000202020202020202020202020202020286
+:103A20000202020202020202020202020202020276
+:103A30000202020202020202020202020202020266
+:103A40000202020202020202020202020202020256
+:103A50000202020202020202020202020202020246
+:103A60000202020202020202020202020202020236
+:103A70000202020202020202020202020202020226
+:103A80000202020202020202020202020202020216
+:103A90000202020202020202020202020202020206
+:103AA00002020202020202020202020202020202F6
+:103AB0000200000000000000000000000000000103
+:103AC00001010100000101000000000101010101EC
+:103AD00001010101010101010101010101010102D5
+:103AE00001010101010101010101010101010101C6
+:103AF00000010101010101010101010101010202B5
+:103B000002020000000000000002000102010102A8
+:103B10000202020202020202020202020202020285
+:103B20000202020202020202020202020202020275
+:103B30000202020202020202020202020202020265
+:103B40000202020202020202020202020202020255
+:103B50000202020202020202020202020202020245
+:103B60000202020202020202020202020202020235
+:103B70000202020202020202020202020202020225
+:103B80000202020202020202020202020202020215
+:103B90000202020202020202020202020202020205
+:103BA00002020202020202020202020202020202F5
+:103BB0000202000000000000000000000000000100
+:103BC00001010100000000000000010101010101EC
+:103BD00001010101010101010101010101010101D5
+:103BE00001010101010101010101010101010102C4
+:103BF00001010101010101010101010101010101B5
+:103C000001000000000101010000000200020202A8
+:103C10000202020202020202020202020202020284
+:103C20000202020202020202020202020202020274
+:103C30000202020202020202020202020202020264
+:103C40000202020202020202020202020202020254
+:103C50000202020202020202020202020202020244
+:103C60000202020202020202020202020202020234
+:103C70000202020202020202020202020202020224
+:103C80000202020202020202020202020202020214
+:103C90000202020202020202020202020202020204
+:103CA00002020202020202020202020202020202F4
+:103CB00002020000000000000000000000000001FF
+:103CC00001010100000000000101010101010101E9
+:103CD00001010101010101010101010101010101D4
+:103CE00001010101010101010101010101010101C4
+:103CF00001010101010101010101010101010102B3
+:103D000002000101010101010100010000000002A7
+:103D1000020201010101010201010202020202028A
+:103D20000202020202020202020202020202020273
+:103D30000202020202020202020202020202020263
+:103D40000202020202020202020202020202020253
+:103D50000202020202020202020202020202020243
+:103D60000202020202020202020202020202020233
+:103D70000202020202020202020202020202020223
+:103D80000202020202020202020202020202020213
+:103D90000202020202020202020202020202020203
+:103DA00002020202020202020202020202020202F3
+:103DB00002020200000000000000000000000001FC
+:103DC00001010100000000000101010101000101E9
+:103DD00001010101010101010101010101010101D3
+:103DE00001010101010101010101010101010101C3
+:103DF00001010101010101010101010101010100B4
+:103E000000010101010101010101010001000002A5
+:103E10000101020202020201020202010202020286
+:103E20000202020201010102020202020202020275
+:103E3000020101010101010101010101010202026E
+:103E40000202020202020202020202020202020252
+:103E50000202020202020202020202020202020242
+:103E60000202020202020202020202020202020232
+:103E70000202020202020202020202020202020222
+:103E80000202020202020202020202020202020212
+:103E90000202020202020202020202020202020202
+:103EA00002020202020202020202020202020202F2
+:103EB00002020200000000000000000000000001FB
+:103EC00001000100000000000101010101010101E8
+:103ED00001010101010101010101010101010101D2
+:103EE00001010101010101010101010101010101C2
+:103EF00001010101010101010101010101010100B3
+:103F000000010101010101010101010101010102A1
+:103F10000202000000000002000001020101010293
+:103F20000201010102020201010101010202020279
+:103F30000101010101010101010101010101010270
+:103F40000202020202020202020202020202020251
+:103F50000202020202020202020202020202020241
+:103F60000202020202020202020202020202020231
+:103F70000202020202020202020202020202020221
+:103F80000202020202020202020202020202020211
+:103F90000202020202020202020202020202020201
+:103FA00002020202020202020202020202020202F1
+:103FB00002020202000000000000000000000001F8
+:103FC00001010100000000000101010101010101E6
+:103FD00001010101010101010101010101010101D1
+:103FE00001010101010101010101010101010101C1
+:103FF00001010101010101010101010101010101B1
+:1040000001010101010101010101010101010101A0
+:10401000000001010101010001010200020202028F
+:10402000010202020000000202020202010101017B
+:104030000102020202020202020202020201010263
+:104040000202020202020202020202020202020250
+:104050000202020202020202020202020202020240
+:104060000202020202020202020202020202020230
+:104070000202020202020202020202020202020220
+:104080000202020202020202020202020202020210
+:104090000202020202020202020202020202020200
+:1040A00002020202020202020202020202020202F0
+:1040B00002020202000000000000000000000001F7
+:1040C00001010100010000000101010101010101E4
+:1040D00001010101010101010101010101010101D0
+:1040E00001010101010101010101010101010101C0
+:1040F00001010101010101010101010101010101B0
+:10410000010101010101010101010101010101029E
+:104110000001010101010101010100010000000194
+:104120000200000000000000000000000202020186
+:10413000020202020202020202020202020202025F
+:10414000020202020202020202020202020202024F
+:10415000020202020202020202020202020202023F
+:10416000020202020202020202020202020202022F
+:10417000020202020202020202020202020202021F
+:10418000020202020202020202020202020202020F
+:1041900002020202020202020202020202020202FF
+:1041A00002020202020202020202020202020202EF
+:1041B00002020202020000000000000000000201F2
+:1041C00000010101010000010101010101010101E2
+:1041D00001010101010101010101010101010101CF
+:1041E00001010101010101010101010101010101BF
+:1041F00001010101010101010101010101010101AF
+:10420000010101010101010101010101010101009F
+:10421000010101010101010101010101010101028D
+:104220000000000001010100000000000000000289
+:104230000200000000000000000000000002020276
+:104240000201010101010101010101020202020258
+:10425000020202020202020202020202020202023E
+:10426000020202020202020202020202020202022E
+:10427000020202020202020202020202020202021E
+:10428000020202020202020202020202020202020E
+:1042900002020202020202020202020202020202FE
+:1042A00002020202020202020202020202020202EE
+:1042B00002020202020200000000000000000201EF
+:1042C00001010101010101010101010101010101DE
+:1042D00001010101010101010101010101010101CE
+:1042E00001010101010101010101010101010101BE
+:1042F00001010101010101010101010101010101AE
+:10430000010101010101010101010101010101019D
+:10431000010101010101010101010101010101008E
+:104320000001010101010101010101010000000280
+:10433000000000000000000000000000000000027B
+:10434000010101010101010101010101010101025C
+:10435000020202020202020202020202020202023D
+:10436000020202020202020202020202020202022D
+:10437000020202020202020202020202020202021D
+:10438000020202020202020202020202020202020D
+:1043900002020202020202020202020202020202FD
+:1043A00002020202020202020202020202020202ED
+:1043B00002020202020202020200000000000200E9
+:1043C00001010101010101010101010101010101DD
+:1043D00001010101010101010101010101010101CD
+:1043E00001010101010101010101010101010101BD
+:1043F00001010101010101010101010101010101AD
+:10440000010101010101010101010101010101019C
+:10441000010101010101010101010101010101008D
+:10442000010101010101010101010101010101007D
+:10443000000000000000000000000000000000017B
+:104440000102020202020202020202010101010251
+:10445000020202020202020202020202020202023C
+:10446000020202020202020202020202020202022C
+:10447000020202020202020202020202020202021C
+:10448000020202020202020202020202020202020C
+:1044900002020202020202020202020202020202FC
+:1044A00002020202020202020202020202020202EC
+:1044B00002020202020202020202020000020201E1
+:1044C00001010101010101010101010101010101DC
+:1044D00001010101010101010101010101010101CC
+:1044E00001010101010101010101010101010101BC
+:1044F00001010101010101010101010101010101AC
+:10450000010101010101010101010101010101019B
+:10451000010101010101010101010101010101018B
+:10452000010101010101010101010101010101007C
+:10453000000101010101010101010101010000016E
+:10454000020202020202020202020202020202024B
+:104550000202010202010101010102020202020241
+:10456000020202020202020202020202020202022B
+:10457000020202020202020202020202020202021B
+:10458000020202020202020202020202020202020B
+:1045900002020202020202020202020202020202FB
+:1045A00002020202020202020202020202020202EB
+:1045B00002020202020202020202020200020201DE
+:1045C00001010101010101010101010101010101DB
+:1045D00001010101010101010101010101010101CB
+:1045E00001010101010101010101010101010101BB
+:1045F00001010101010101010101010101010101AB
+:10460000010101010101010101010101010101019A
+:10461000010101010101010101010101010101018A
+:10462000010101010101010101010101010101007B
+:104630000101010101010101010101010101010269
+:104640000201010101010101000101020202020255
+:104650000101020101020202020201010101010243
+:10466000020202020202020202020202020202022A
+:10467000020202020202020202020202020202021A
+:10468000020202020202020202020202020202020A
+:1046900002020202020202020202020202020202FA
+:1046A00002020202020202020202020202020202EA
+:1046B00002020202020202020202020202020201DB
+:1046C00001010101010101010101010101010101DA
+:1046D00001010101010101010101010101010101CA
+:1046E00001010101010101010101010101010101BA
+:1046F00001010101010101010101010101010101AA
+:104700000101010101010101010101010101010199
+:104710000101010101010101010101010101010189
+:104720000101010101010101010101010101010179
+:104730000101010101010101010101010101010268
+:104740000101010101010101010101010101010159
+:10475000020201020201010101010202020202023F
+:10476000000202020202020202020202020202022B
+:104770000202020202020202020202020202020219
+:104780000202020202020202020202020202020209
+:1047900002020202020202020202020202020202F9
+:1047A00002020202020202020202020202020202E9
+:1047B00002020202020202020202020202020201DA
+:1047C00001010101010101010101010101010101D9
+:1047D00001010101010101010101010101010101C9
+:1047E00001010101010101010101010101010101B9
+:1047F00001010101010101010101010101010101A9
+:104800000101010101010101010101010101010198
+:104810000101010101010101010101010101010188
+:104820000101010101010101010101010101010178
+:104830000101010101010101010101010101010168
+:104840000101010101010101010101010101010257
+:104850000101010101010101010101010101010247
+:104860000001010101010102020202020202020230
+:104870000202020202020202020202020202020218
+:104880000202020202020202020202020202020208
+:1048900002020202020202020202020202020202F8
+:1048A00002020202020202020202020202020202E8
+:1048B00002020202020202020202020202020201D9
+:1048C00001010101010101010101010101010101D8
+:1048D00001010101010101010101010101010101C8
+:1048E00001010101010101010101010101010101B8
+:1048F00001010101010101010101010101010101A8
+:104900000101010101010101010101010101010197
+:104910000101010101010101010101010101010187
+:104920000101010101010101010101010101010177
+:104930000101010101010101010101010101010167
+:104940000101010101010101010101010101010157
+:104950000101010101010101010101010101010147
+:104960000101010101010101010101010101010236
+:10497000010202020102020202020202020202011A
+:104980000101010101010101010101010101010216
+:1049900002020202020202020202020202020202F7
+:1049A00002020202020202020202020202020202E7
+:1049B00002020202020202020202020202020201D8
+:1049C00001010101010101010101010101010101D7
+:1049D00001010101010101010101010101010101C7
+:1049E00001010101010101010101010101010101B7
+:1049F00001010101010101010101010101010101A7
+:104A00000101010101010101010101010101010196
+:104A10000101010101010101010101010101010186
+:104A20000101010101010101010101010101010176
+:104A30000101010101010101010101010101010166
+:104A40000101010101010101010101010101010156
+:104A50000101010101010101010101010101010146
+:104A60000101010101010101010101010101010136
+:104A70000201010101010101010101010101010224
+:104A80000202020202020202020202020202020206
+:104A900002020202020202020202020202020202F6
+:104AA00002020202020202020202020202020202E6
+:104AB00002020202020202020202020202020201D7
+:104AC00001010101010101010101010101010101D6
+:104AD00001010101010101010101010101010101C6
+:104AE00001010101010101010101010101010101B6
+:104AF00001010101010101010101010101010101A6
+:104B00000101010101010101010101010101010195
+:104B10000101010101010101010101010101010185
+:104B20000101010101010101010101010101010175
+:104B30000101010101010101010101010101010165
+:104B40000101010101010101010101010101010155
+:104B50000101010101010101010101010101010145
+:104B60000101010101010101010101010101010135
+:104B70000101010101010101010101010101010026
+:104B80000000000000000000000000000000000124
+:104B90000101010101010101010101010101010204
+:104BA00002020202020202020202020202020202E5
+:104BB00002020202020202020202020202020201D6
+:104BC00001010101010101010101010101010101D5
+:104BD00001010101010101010101010101010101C5
+:104BE00001010101010101010101010101010101B5
+:104BF00001010101010101010101010101010101A5
+:104C00000101010101010101010101010101010194
+:104C10000101010101010101010101010101010184
+:104C20000101010101010101010101010101010174
+:104C30000101010101010101010101010101010164
+:104C40000101010101010101010101010101010154
+:104C50000101010101010101010101010101010144
+:104C60000101010101010101010101010101010134
+:104C70000101010101010101010101010101010124
+:104C80000101010101010101010101010101010213
+:104C900002020202020202020202020202020202F4
+:104CA00001010101010101010101010101010102F3
+:104CB00002020202020202020202020202020201D5
+:104CC00001010101010101010101010101010101D4
+:104CD00001010101010101010101010101010101C4
+:104CE00001010101010101010101010101010101B4
+:104CF00001010101010101010101010101010101A4
+:104D00000101010101010101010101010101010193
+:104D10000101010101010101010101010101010183
+:104D20000101010101010101010101010101010173
+:104D30000101010101010101010101010101010163
+:104D40000101010101010101010101010101010153
+:104D50000101010101010101010101010101010143
+:104D60000101010101010101010101010101010133
+:104D70000101010101010101010101010101010123
+:104D80000101010101010101010101010101010113
+:104D90000101010101010101010101010101010103
+:104DA00002020202020202020202020202020202E3
+:104DB00002020202020202020202020202020201D4
+:104DC00001010101010101010101010101010101D3
+:104DD00001010101010101010101010101010101C3
+:104DE00001010101010101010101010101010101B3
+:104DF00001010101010101010101010101010101A3
+:104E00000101010101010101010101010101010192
+:104E10000101010101010101010101010101010182
+:104E20000101010101010101010101010101010172
+:104E30000101010101010101010101010101010162
+:104E40000101010101010101010101010101010152
+:104E50000101010101010101010101010101010142
+:104E60000101010101010101010101010101010132
+:104E70000101010101010101010101010101010122
+:104E80000101010101010101010101010101010112
+:104E90000101010101010101010101010101010201
+:104EA00001010101010101010101010101010102F1
+:104EB00002020202020202020202020202020201D3
+:104EC00001010101010101010101010101010101D2
+:104ED00001010101010101010101010101010101C2
+:104EE00001010101010101010101010101010101B2
+:104EF00001010101010101010101010101010101A2
+:104F00000101010101010101010101010101010191
+:104F10000101010101010101010101010101010181
+:104F20000101010101010101010101010101010171
+:104F30000101010101010101010101010101010161
+:104F40000101010101010101010101010101010151
+:104F50000101010101010101010101010101010141
+:104F60000101010101010101010101010101010131
+:104F70000101010101010101010101010101010121
+:104F80000101010101010101010101010101010111
+:104F90000101010101010101010101010101010101
+:104FA00001010101010101010101010101010102F0
+:104FB00002020202020202020202020202020201D2
+:104FC00001010101010101010101010101010101D1
+:104FD00001010101010101010101010101010101C1
+:104FE00001010101010101010101010101010101B1
+:104FF00001010101010101010101010101010101A1
+:105000000101010101010101010101010101010190
+:105010000101010101010101010101010101010180
+:105020000101010101010101010101010101010170
+:105030000101010101010101010101010101010160
+:105040000101010101010101010101010101010150
+:105050000101010101010101010101010101010140
+:105060000101010101010101010101010101010130
+:105070000101010101010101010101010101010120
+:105080000101010101010101010101010101010110
+:105090000101010101010101010101010101010100
+:1050A00001010101010101010101010101010102EF
+:1050B00002020202020202020202020202020201D1
+:1050C00001010101010101010101010101010101D0
+:1050D00001010101010101010101010101010101C0
+:1050E00001010101010101010101010101010101B0
+:1050F00001010101010101010101010101010101A0
+:10510000010101010101010101010101010101018F
+:10511000010101010101010101010101010101017F
+:10512000010101010101010101010101010101016F
+:10513000010101010101010101010101010101015F
+:10514000010101010101010101010101010101014F
+:10515000010101010101010101010101010101013F
+:10516000010101010101010101010101010101012F
+:10517000010101010101010101010101010101011F
+:10518000010101010101010101010101010101010F
+:1051900001010101010101010101010101010101FF
+:1051A00001010101010101010101010101010102EE
+:1051B00002020202020202020202020202020201D0
+:1051C00001010101010101010101010101010101CF
+:1051D00001010101010101010101010101010101BF
+:1051E00001010101010101010101010101010101AF
+:1051F000010101010101010101010101010101019F
+:10520000010101010101010101010101010101018E
+:10521000010101010101010101010101010101017E
+:10522000010101010101010101010101010101016E
+:10523000010101010101010101010101010101015E
+:10524000010101010101010101010101010101014E
+:10525000010101010101010101010101010101013E
+:10526000010101010101010101010101010101012E
+:10527000010101010101010101010101010101011E
+:10528000010101010101010101010101010101010E
+:1052900001010101010101010101010101010101FE
+:1052A00001010101010101010101010101010102ED
+:1052B00002020202020202020202020202020201CF
+:1052C00001010101010101010101010101010102CD
+:1052D00002020202020202020202020202020202AE
+:1052E000020202020202020202020202020202029E
+:1052F000020202020202020202020202020202028E
+:10530000020202020202020202020202020202027D
+:10531000020202020202020202020202020202026D
+:10532000020202020202020202020202020202025D
+:10533000020202020202020202020202020202024D
+:10534000020202020202020202020202020202023D
+:10535000020202020202020202020202020202022D
+:10536000020202020202020202020202020202021D
+:10537000020202020202020202020202020202020D
+:1053800002020202020202020202020202020202FD
+:1053900002020202020202020202020202020202ED
+:1053A00002020202020202020202020202020200DF
+:1053B00000000000000000000000000000000001EC
+:1053C00001010101010101010101010101010102CC
+:1053D00002020202020202020202020202020202AD
+:1053E000020202020202020202020202020202029D
+:1053F000020202020202020202020202020202028D
+:10540000020202020202020202020202020202027C
+:10541000020202020202020202020202020202026C
+:10542000020202020202020202020202020202025C
+:10543000020202020202020202020202020202024C
+:10544000020202020202020202020202020202023C
+:10545000020202020202020202020202020202022C
+:10546000020202020202020202020202020202021C
+:10547000020202020202020202020202020202020C
+:1054800002020202020202020202020202020202FC
+:1054900002020202020202020202020202020202EC
+:1054A00002020202020202020202020202020200DE
+:1054B00000000000000000000000000000000001EB
+:1054C00001010101010101010101010101010100CD
+:1054D00000000000000000000000000000000000CC
+:1054E00000000000000000000000000000000002BA
+:1054F000020202020202020202020202020202028C
+:10550000020202020202020202020202020202027B
+:10551000020202020202020202020202020202026B
+:10552000020202020202020202020202020202025B
+:10553000020202020202020202020202020202024B
+:10554000020202020202020202020202020202023B
+:10555000020202020202020202020202020202022B
+:10556000020202020202020202020202020202021B
+:10557000020202020202020202020202020202020B
+:1055800002020202020202020202020202020202FB
+:1055900002020202020202020202020202020202EB
+:1055A00002020202020202020202020202020200DD
+:1055B00000000000000000000000000000000000EB
+:1055C00000000000000000000000000000000000DB
+:1055D00000000000000000000000000000000000CB
+:1055E00000000000000000000000000000000000BB
+:1055F00000000000000000000000000000000000AB
+:10560000000000000000000000000000000000009A
+:10561000000000000000000000000000000000008A
+:10562000000000000000000000000000000000007A
+:10563000000000000000000000000000000000006A
+:10564000000000000000000000000000000000005A
+:10565000000000000000000000000000000000004A
+:10566000000000000000000000000000000000003A
+:10567000000000000000000000000000000000002A
+:10568000000000000000000000000000000000001A
+:10569000000000000000000000000000000000000A
+:1056A00000000000000000000000000000000000FA
+:1056B0000000000000000000000000000000003EAC
+:1056C00000000000000000000000000000000000DA
+:1056D00000000000000000000000000000000001C9
+:1056E00000000000000000000000000000000000BA
+:1056F00000000000000000000000000000000000AA
+:105700000000000001000000000000000000000098
+:105710000000000000000000000000000000000089
+:105720000000000000000100000000000000000078
+:105730000000000000000000000000000000000069
+:105740000000000000000100000000000000000058
+:105750000000000200000000000000000000000047
+:105760000000000000000000000000000000000039
+:105770000000000000000000000000000000000029
+:105780000000000000000000000000000000000019
+:105790000002000000000000000000000000000007
+:1057A00000000000000000000000000000000000F9
+:1057B00002000000000000000000000000000000E7
+:1057C00000000000000000010202020000000000D2
+:1057D00000000000000200000000000000000001C6
+:1057E00001000100010101000000000000000001B3
+:1057F00000000001000000000000000000000000A8
+:105800000000000001000000000000000000000097
+:105810000000000000000000000000000000000088
+:105820000000000200000100000000000000000075
+:105830000000000000000000000000000000000068
+:105840000000000000000100000000000000000057
+:105850000000000200020100000000000000000043
+:105860000000000000000000000000000000000038
+:105870000000000002020100000000000000000023
+:105880000000000200000000000000000000000016
+:105890000002000000020000000000000000000004
+:1058A00000000000000000000000000000000002F6
+:1058B00002020000000000000000000000000000E4
+:1058C00000000000000000020202020000000000D0
+:1058D00000000000000200000000000000000001C5
+:1058E00001010101010101010100000001000001AD
+:1058F00000000101000101000000000000000000A4
+:105900000000010001010100000000000000000093
+:105910000000000001020100000000000000000083
+:10592000000002020201010000000000000000006F
+:105930000000020001010100000000000000000062
+:105940000000000000000100000000000000000056
+:105950000000000100020100000000000000000043
+:105960000000000002020100000000000000000032
+:105970000000000002020100000000000000000022
+:105980000000000202020100000000000000000010
+:105990000002000000020000000000000000000003
+:1059A00000000000020001000000000000000002F2
+:1059B00002020200020201000000000000000000DC
+:1059C00000000000000000020202020200000000CD
+:1059D00000000200020200000000000001000001BF
+:1059E00001010101010101010100000001000001AC
+:1059F00000010101000101000000000000000000A2
+:105A00000000010001010100000000000001010090
+:105A10000000000001020100000000000000000082
+:105A2000000002020201010000000000000000006E
+:105A30000000020001010100000000000001000060
+:105A40000000000000000100000000000000000055
+:105A50000000000100010100000000000000000043
+:105A60000000000002020100000000000000000031
+:105A70000000000001010100000000000000000221
+:105A80000000000102020100000000000000000010
+:105A90000001000000020100000000000000000200
+:105AA00000000000020001000000000000000002F1
+:105AB00001020200020201000000000000000000DC
+:105AC00000000000000000020202020200000000CC
+:105AD00000000200020200000000000001000101BD
+:105AE00001010101010101010101000001000001AA
+:105AF000000101010101010000010000000000009F
+:105B0000000001000101010000000000000101008F
+:105B10000000000001010100000000000000000082
+:105B2000000002010201010000000000000000006E
+:105B3000000002000101010000000000000100005F
+:105B40000000000000000100000000000000000054
+:105B50000000000100010100000000000000000042
+:105B60000000000001010100000000000000000032
+:105B70000000000001010100000000000000000220
+:105B80000000000101010100000000000000000011
+:105B90000001000000010100000000000000000200
+:105BA00000000000010001000000000000000001F2
+:105BB00001010100010201000000000000000000DE
+:105BC00000000000000000020202020200000000CB
+:105BD00002000202020200000101000001000101B6
+:105BE00001010101010101010101000001000001A9
+:105BF000000101010101010000010100000000019C
+:105C0000000001000101010000000001000101008D
+:105C10000001000001010100000000000000000080
+:105C2000000001010101010000000000000000006F
+:105C3000000001000101010000000000000100005F
+:105C40000000000000000100000000000000000053
+:105C50000000000100010100000000000000000041
+:105C60000000000001010100000000000000000031
+:105C7000000000000101010000000000000000021F
+:105C80000000000101010100000000000000000010
+:105C900000010000000101000000000000000002FF
+:105CA00000000000010001000000000000000201EF
+:105CB00001010100010101000202020200000000D6
+:105CC00000000000000000020202020200000000CA
+:105CD00002000202020200000101010101010102B1
+:105CE00001010101010101010101000001000001A8
+:105CF000000101010101010000010100000000019B
+:105D0000000001000101010000000001010101008B
+:105D1000010100000101010000000000000000007E
+:105D2000000001010101010000000000000000006E
+:105D3000000001000101010100000000000100005D
+:105D40000000000000000100000000000000000052
+:105D50000000000100010100000000000000000040
+:105D60000000000001010100000000000000000030
+:105D7000000000000101010000000000000000011F
+:105D8000000000010101010000000000000000000F
+:105D900000010000000101000000000000000001FF
+:105DA00000000000010001000100000000000201ED
+:105DB00001010100010101000202020202020000D1
+:105DC00000000000000000020202020200020002C5
+:105DD00002000202020200000101010101010102B0
+:105DE00001010101010101010101000001000001A7
+:105DF000000101010101010000010100000000019A
+:105E00000000010101010100000000010101010287
+:105E1000010100000101010000000000000100007C
+:105E2000000001010101010000000000000000006D
+:105E3000000001000101010100000000000100025A
+:105E40000000000100000100000000000000000050
+:105E5000000000010001010000000000000000003F
+:105E6000000000000101010000000000000000002F
+:105E7000000000000101010000000000000000011E
+:105E8000000000010101010000000000000000000E
+:105E900000010000000101000000000000000001FE
+:105EA00000000000010001000100000000020201EA
+:105EB00001010100010101000101010101010101D4
+:105EC00001010101010101020202020200020002BD
+:105ED00002000202020200000101010101010102AF
+:105EE00002010101010101010201000001000001A4
+:105EF0000101010101010100010101000100000196
+:105F00000100010101010101000000010101010185
+:105F1000010100000101010000000000000100007B
+:105F2000000001010101010000000000000000006C
+:105F3000000001000101010100000000000100015A
+:105F4000000000010000010000000000000000024D
+:105F5000000000010001010000000000000000003E
+:105F6000000000000101010000000000000000002E
+:105F7000000000000101010000000000000000011D
+:105F8000000000010101010000000000000000000D
+:105F900000010000000101000000000000000001FD
+:105FA00000000000010001000100000000020101EA
+:105FB00001010100010101000101010101010101D3
+:105FC00001010101010101020202020202020002BA
+:105FD00002000202020200010101010102010102AC
+:105FE00002010101010101020201000001000001A2
+:105FF0000101010101010100010101000100010194
+:106000000101010101010101000000010101010183
+:10601000010100000101010000000000000100007A
+:10602000000001010101010000000000000000006B
+:106030000000010001010101000000000001000159
+:10604000000100010000010100000000000000014B
+:10605000020000010001010000000000000000003B
+:10606000000000000101010000000000000000002D
+:10607000000000000101010000000000000000011C
+:10608000000000010101010000000000000000000C
+:1060900000010000000101000000000000020001FA
+:1060A00000000000010001000100000000020101E9
+:1060B00001010100010101000000000101010101D5
+:1060C00001010101010101020202020202020002B9
+:1060D00002000202020200010202020102020102A7
+:1060E000020201010101010202020000010000019F
+:1060F0000101010101010100010101000100010193
+:106100000101010101010101010000010101010181
+:106110000101000001010100000000010101000077
+:10612000000001010101010000000000000000006A
+:106130000000010001010101000100000001000157
+:106140000201010100000101000001000002000144
+:106150000200000100010100000000000002000038
+:10616000000000000101010000000000000000002C
+:10617000000000000101010000000000000000011B
+:10618000000000010101010000000000000000000B
+:1061900000010000000101000000000000020001F9
+:1061A00000000000010001000100000000010101E9
+:1061B00001010100010101000000000101010101D4
+:1061C00001010101010101020202020202020002B8
+:1061D00002020202020200010202020102020202A3
+:1061E0000202020101010102020200000201010299
+:1061F0000101010101010100010202000100010190
+:106200000101010101010101010000010101010180
+:106210000101000001010100010000010101020172
+:106220000000010101010100000000000000000069
+:106230000000010001010101000101010001020152
+:106240000201010100000101000101010101000141
+:106250000200000100010100000000010002000036
+:106260000000000201010100000000000000000029
+:10627000000000000101010000000000000000011A
+:10628000000000010101010000000000000000000A
+:1062900000010000000101000000000000020001F8
+:1062A00000000000010001000100000100010101E7
+:1062B00001010100010101000000000101010101D3
+:1062C00001010101010101020202020202020002B7
+:1062D00002020202020200010202020202020202A1
+:1062E0000202020201010102020200000201010297
+:1062F000010101010101010001020200010001018F
+:10630000010101010101010101000001010201017E
+:106310000101000001010100010100010101020170
+:106320000100010101010100000000000000000067
+:106330000000010001010101000101010001020151
+:10634000020101010202010100010101010100013C
+:106350000102000100010100000000010002000034
+:106360000000020201010100000000000000000026
+:106370000000000001010100000000000000000119
+:106380000000000101010100000000000000000009
+:1063900000010000000101000000000000010001F8
+:1063A00000000000010001000101000100010101E5
+:1063B00001010100010101000000000000000000D7
+:1063C00000000000000101020202020202020202B9
+:1063D00002020102020200010202020202020202A1
+:1063E0000202020201010102020201010201010294
+:1063F000010101010101010002020201010101018B
+:106400000101010101010102020001020102020178
+:10641000010100000101010001010001010102016F
+:106420000101010101010100000000000002000063
+:10643000000001000101010200010101000102014F
+:10644000010101010202010101010101010100013B
+:10645000010201010201010000010101000102012C
+:106460000002020201010100000000000000000023
+:106470000000000001010100000000000000000118
+:106480000000000101010100000000000000000008
+:1064900000010000000101000000000000010001F7
+:1064A00000000000010001000101000100010101E4
+:1064B00001010100010101000000000000000000D6
+:1064C00000000000000101020202020202020202B8
+:1064D00002020102020200010202020202020202A0
+:1064E0000202020201010102020201010201010293
+:1064F0000102010201010100020202010101010188
+:106500000101010101010102020101020102020176
+:10651000010100000101010001010001010101016F
+:106520000101010101010100000101000002000060
+:10653000000001000101010201010101010101014D
+:10654000010101010101010101010101010101013B
+:10655000010201010201010000010101000101012C
+:106560000102020101010100000000000000000022
+:106570000002000001010100000000000000000115
+:106580000000000101010100000000000000000007
+:1065900000010000000101000000000000010001F6
+:1065A00000000000010001000101000101010101E2
+:1065B00001010100010101000000000000000000D5
+:1065C00000010101010001020202020202020202B4
+:1065D00001020101020200020202020202020202A0
+:1065E0000202020202010102020201010201010291
+:1065F0000102020201010100020202010101010285
+:106600000101020102010102020101020202020172
+:10661000010100000101010102010001010101016C
+:10662000010101010101010000010101000100015E
+:10663000000001000101010201010101010101014C
+:106640000101010101010102010101010101010139
+:10665000010101010101010000010101000101012D
+:106660000102010101010100000000000000000022
+:106670000202020001010100000000000000000110
+:106680000000000101010100000000000000000006
+:1066900000010000020101000000000000010001F3
+:1066A00000000000010001000101010101010101E0
+:1066B00001010100010101000000000000000001D3
+:1066C00001010101010001020202020202020202B2
+:1066D00001020101010100020202020202020202A1
+:1066E000020202020202010202020101020101028F
+:1066F0000102020201010101020202010201010282
+:106700000101020102010102020101020202020171
+:106710000101020001010101020100010101010169
+:10672000010101010101010000010101010100015C
+:106730000200010001010102010101010101010149
+:106740000101010101010102010101010101010138
+:10675000010101010101010000010101000101012C
+:10676000010101010101010100010000000100021D
+:10677000020202000101010000000000000000010F
+:106780000200020101010100000000000000000001
+:1067900000010002020101000000000000010001F0
+:1067A00000000000010001000101010101010101DF
+:1067B00001010100010101000000000000000001D2
+:1067C00001010101010001020202020202020201B2
+:1067D000010202010101000202020202020202029F
+:1067E000020202020202010202020201020201028C
+:1067F000010202020102010102020201020102027F
+:10680000010102010202010202020202020202016D
+:106810000202020002010101020200010102010163
+:10682000010101010101010000010101010100015B
+:106830000200010001010102010201010102010146
+:106840000101010101010102020102010101010135
+:10685000010101010101010000010101000101012B
+:10686000010101010101010100010000010100021B
+:10687000020102000101010000000000000000010F
+:1068800002020201010101000000000000000000FE
+:1068900000010202020101000000000000010001ED
+:1068A00000020002010001000101010101010101DA
+:1068B00001010102010101000000000000000000D0
+:1068C00000000001000001020202020202020201B5
+:1068D000010102020101000202020202020202029E
+:1068E000020202020202010202020201020202028A
+:1068F000020202020102010102020201020102027D
+:10690000010102010202010202020202020202016C
+:106910000202010002010102020201020102010160
+:106920000101010101010101010101010101000158
+:106930000100010001010102020202010102010144
+:106940000101010101010102020202010101010133
+:106950000101010101010100010101010001010129
+:106960000101010101010101000100000101020218
+:10697000010101020101010000000001000000010D
+:1069800002020201010101000000000000000000FD
+:1069900000010202010101000000000000010001ED
+:1069A00002020202010201010201010101010101D1
+:1069B00001010102010101000000000000000000CF
+:1069C00000000000000001020202020102010201B7
+:1069D000020102020101000202020202020202029C
+:1069E0000202020202020102020202020202020288
+:1069F0000202020202020102020202020202020278
+:106A00000202020202020102020202020202020267
+:106A1000020201000201020202020102020201015D
+:106A20000101010101020101010101010101010155
+:106A30000100010001010102020202010102010143
+:106A40000101010101010102020202010101010132
+:106A50000101010101010100010101010001010128
+:106A60000101010101010101000101000101020117
+:106A7000010101020101010100000001000000010B
+:106A800001020101010101000000000000000000FE
+:106A900002010201010101000000000000010001EB
+:106AA00002020202010201010201010101010101D0
+:106AB00001010102010101000000000000000000CE
+:106AC00000000000000001020202020101010201B7
+:106AD000020102020101000202020202020202029B
+:106AE0000202020202020102020202020202020287
+:106AF0000202020202020102020202020202020277
+:106B00000202020202020202020202020202020265
+:106B1000020201000202020202020102020201015B
+:106B20000101010101020201010202010101010151
+:106B30000100010001010102020202020102010141
+:106B40000101010101010102020202020101010130
+:106B50000101010101010100010202010001010125
+:106B60000101010101010102000101000101020115
+:106B7000010101010101010100000001000000010B
+:106B800001010101010101000000000000000002FC
+:106B900002010101010101010000000000010001EA
+:106BA00002010201010201010201010101010101D1
+:106BB00001010101010101000000000000000000CE
+:106BC00000000000000000020202010101010102B8
+:106BD000020101010101000202020202020202029C
+:106BE0000202020202020202020202020202020285
+:106BF0000202020202020202020202020202020275
+:106C00000202020202020202020202020202020264
+:106C10000202010102020202020202020202010158
+:106C2000010101010102020202020201010101014E
+:106C3000010201020101010202020202010201013C
+:106C4000010101010101010202020202020101012E
+:106C50000101010101010100020202020001010122
+:106C60000101010101010102010101000101010114
+:106C70000101010101010101000001010002020105
+:106C800001010101010101010000000000000002FA
+:106C900002010101010101010000000000010001E9
+:106CA00001010101010101010201010101010101D3
+:106CB00001010101010101000000000000000000CD
+:106CC00000000000000000020202010101010102B7
+:106CD000020201010101000202020202020202029A
+:106CE0000202020202020202020202020202020284
+:106CF0000202020202020202020202020202020274
+:106D00000202020202020202020202020202020263
+:106D10000202010102020202020202020202010256
+:106D2000010102020102020202020201010101014B
+:106D3000010101020202010202020202010201013A
+:106D4000010101010101020202020202020201012B
+:106D5000010101020101020002020202000101011F
+:106D60000101010101010102010201000101010112
+:106D70000101010101010102010001010002020102
+:106D800001010101010101010100000000000202F6
+:106D900001010101010101010000000000010001E9
+:106DA00001010101010101010201010101010101D2
+:106DB00001010101010101000000000000000000CC
+:106DC00000000000000000020202010201020102B4
+:106DD000010201010101000202020202020202029A
+:106DE0000202020202020202020202020202020283
+:106DF0000202020202020202020202020202020273
+:106E00000202020202020202020202020202020262
+:106E10000202010102020202020202020202010255
+:106E20000201020202020202020202020101010147
+:106E30000101010202020102020202020202010237
+:106E40000101010101010202020202020202010229
+:106E5000010101020102020002020202000101011D
+:106E60000101010101010102020201000101010110
+:106E70000101010101010102010001010002020101
+:106E800001010101010101010100000000000201F6
+:106E900001010101010101010000010000010201E5
+:106EA00001010101010101010202010101010101D0
+:106EB00001010101010101000000000000000000CB
+:106EC00000000000000000020201010202020102B3
+:106ED0000102010101010002020202020202020299
+:106EE0000202020202020202020202020202020282
+:106EF0000202020202020202020202020202020272
+:106F00000202020202020202020202020202020261
+:106F10000202010102020202020202020202010254
+:106F20000202020202020202020202020101010145
+:106F30000101010102020202020202020202010236
+:106F40000102010201010202020202020202020225
+:106F50000101010201020202020202020101010119
+:106F6000010101010101020202020200010101010D
+:106F70000101010101010202020001010001010100
+:106F800001010101010101020100000000020201F2
+:106F900001010101010101020000010000010201E3
+:106FA00001010101010101020202010101010101CE
+:106FB00001010101010101000000000000000000CA
+:106FC00000000000000000020201020202020201B1
+:106FD0000102010101010002020202020202020199
+:106FE0000202020202020202020202020202020281
+:106FF0000202020202020202020202020202020271
+:107000000202020202020202020202020202020260
+:107010000202010102020202020202020202020252
+:107020000202020202020202020202020201010143
+:107030000101020102020202020202020202010234
+:107040000102020201010202020202020202020223
+:107050000101010201020202020202020101010118
+:107060000101010102020202020202000201010109
+:1070700001010101020202020200010100010102FC
+:1070800001010102010102020200000000020101EF
+:1070900001010101010101020000010000010201E2
+:1070A00001010101010101020202020201010101CB
+:1070B00001010101010101000000000000000000C9
+:1070C00000000000000000020101020202020201B1
+:1070D0000101010101010002020202020202020298
+:1070E0000102020202020202020202020202020281
+:1070F0000202020202020202020202020202020270
+:10710000020202020202020202020202020202025F
+:107110000202010102020202020202020202020251
+:107120000202020202020202020202020202010141
+:107130000101020102020202020202020202010233
+:107140000102020201010202020202020202020222
+:107150000101020201020202020202020102020213
+:107160000101010102020202020202010202010106
+:1071700001010101020202020201020200010102F8
+:1071800001010102020202020200000000020101EC
+:1071900001020101010101020000010000010101E1
+:1071A00001010101010101020202020201010101CA
+:1071B00001010101010101000000000000000000C8
+:1071C00000000000000000020101020102010201B2
+:1071D0000101010101010002020202020202020198
+:1071E0000201020202020202020202020202020280
+:1071F000020202020202020202020202020202026F
+:10720000020202020202020202020202020202025E
+:10721000020202020202020202020202020202024E
+:10722000020202020202020202020202020201023F
+:107230000101020102020202020202020202020231
+:107240000102020201010202020202020202020221
+:107250000201020201020202020202020102020211
+:107260000201010102020202020202010202010104
+:1072700001010101020202020201020200010102F7
+:1072800001010102020202020200000000010101EC
+:1072900001020101010102020000010000010102DE
+:1072A00001010101010102020202020201010102C7
+:1072B00002010101010101000000000000000000C6
+:1072C00000000000000000020102020101010201B1
+:1072D0000101010101010002020202020201020198
+:1072E0000102010102020202020202020202020281
+:1072F000020202020202020202020202020202026E
+:10730000020202020202020202020202020202025D
+:10731000020202020202020202020202020202024D
+:10732000020202020202020202020202020202023D
+:107330000101020102020202020202020202020230
+:10734000020202020101020202020202020202021F
+:107350000201020201020202020202020102020210
+:107360000201010102020202020202010202010103
+:1073700001010101020202020202020200010102F5
+:1073800001010102020202020200000000010101EB
+:1073900001020101010202020000020000020102DA
+:1073A00001010101020102020202020202020202C2
+:1073B00002020201010102000000000000000000C2
+:1073C00000000000000000020102010101010101B2
+:1073D0000101010101010002020202020102010198
+:1073E000010102020202020202020202020202027F
+:1073F000020202020202020202020202020202026D
+:10740000020202020202020202020202020202025C
+:10741000020202020202020202020202020202024C
+:10742000020202020202020202020202020202023C
+:10743000010102010202020202020202020202022F
+:10744000020202020101020202020202020202021E
+:10745000020202020102020202020202010202020E
+:107460000201010102020202020202010202010102
+:1074700001010101020202020202020200010102F4
+:1074800001010102020202020200000000010101EA
+:1074900001020101010202020000020000020102D9
+:1074A00001010101020102020202020202020202C1
+:1074B00002020201020102000000000000000000C0
+:1074C00000000000000000020202010101010101B0
+:1074D0000101010101010002020202020201020196
+:1074E0000101010102020202020202020202020280
+:1074F000020202020202020202020202020202026C
+:10750000020202020202020202020202020202025B
+:10751000020202020202020202020202020202024B
+:10752000020202020202020202020202020202023B
+:10753000010102010202020202020202020202022E
+:10754000020202020202020202020202020202021B
+:10755000020202020202020202020202020202020B
+:107560000201010102020202020202020202010100
+:1075700001010101020202020202020201010102F2
+:1075800001010102020202020200000000010101E9
+:1075900001020101010202020200020000020102D6
+:1075A00001010101020102020202020202020202C0
+:1075B00002020201020202000000000000000000BE
+:1075C00000000000000000020202010101010101AF
+:1075D0000101010101010002020202020101010197
+:1075E0000101010101020202020202020202020181
+:1075F000020202020202020202020202020202026B
+:10760000020202020202020202020202020202025A
+:10761000020202020202020202020202020202024A
+:10762000020202020202020202020202020202023A
+:10763000020102010202020202020202020202022C
+:10764000020202020202020202020202020202021A
+:10765000020202020202020202020202020202020A
+:1076600002020202020202020202020202020101FC
+:1076700001010101020202020202020201010102F1
+:1076800001010102020202020201000001010101E6
+:1076900001020101010202020200020100020102D4
+:1076A00001010101020102020202020202020202BF
+:1076B00002020201020202000000000000000000BD
+:1076C00000000000000000010201010101010101B0
+:1076D0000101010101010002020201010101010198
+:1076E000010101010201020202020202020202027F
+:1076F000020102010202020202020202020202026C
+:107700000202020202020202020202020202020259
+:107710000202020202020202020202020202020249
+:107720000202020202020202020202020202020239
+:10773000020102010202020202020202020202022B
+:107740000202020202020202020202020202020219
+:107750000202020202020202020202020202020209
+:1077600002020202020202020202020202020202F9
+:1077700002020101020202020202020201010102EE
+:1077800001010102020202020202000101010101E3
+:1077900001020101010202020201020101020102D1
+:1077A00001010101020102020202020202020202BE
+:1077B00002020201020202000000000000000000BC
+:1077C00000000000000000010201010101010101AF
+:1077D0000101010101010002020102020101010196
+:1077E0000101010101020202020202020102020180
+:1077F000020201020202020202020202020202016B
+:10780000020201020102020202020202020101025C
+:107810000202020202020202020202020202020248
+:107820000202020202020202020202020202020238
+:107830000202020102020202020202020202020229
+:107840000202020202020202020202020202020218
+:107850000202020202020202020202020202020208
+:1078600002020202020202020202020202020202F8
+:1078700002020201020202020202020201020102EB
+:1078800002010102020202020202000101010101E1
+:1078900001020101010202020202020101020102CF
+:1078A00001010101020102020202020202020202BD
+:1078B00002020201020202000000000000000000BB
+:1078C00000000000000000010101010101010101AF
+:1078D0000101010100010002020201010101010197
+:1078E0000101010101010202020202020201010181
+:1078F000010102010201020202020202020201026D
+:10790000020102010201020202020202020101025C
+:10791000010102020102020202020202020202024A
+:107920000202020202020202020202020202020237
+:107930000202020102020202020202020202020228
+:107940000202020202020202020202020202020217
+:107950000202020202020202020202020202020207
+:1079600002020202020202020202020202020202F7
+:1079700002020202020202020202020202020202E7
+:1079800002020202020202020202020101010101DC
+:1079900001020101010202020202020101020102CE
+:1079A00001010101020102020202020202020202BC
+:1079B00002020201020202000000000000000000BA
+:1079C00000000000000000010101010101010101AE
+:1079D0000101010100000102010101010101010198
+:1079E0000101010101010202020102020102020180
+:1079F000020101010102020202020102010102016F
+:107A0000010201020102020202020201010202015C
+:107A1000010102010101010202020202020202024C
+:107A20000202020202020202020202020202020236
+:107A30000202020102020202020202020202020227
+:107A40000202020202020202020202020202020216
+:107A50000202020202020202020202020202020206
+:107A600002020202020202020202020202020202F6
+:107A700002020202020202020202020202020202E6
+:107A800002020202020202020202020201010101DA
+:107A900001020101010202020202020201020102CC
+:107AA00001010101020102020202020202020202BB
+:107AB00002020201020202020202020202020202A7
+:107AC000020202020202020101010101010101019F
+:107AD0000101010100000102020101010101010196
+:107AE0000101010101010102010202020101010182
+:107AF000010101010201020202020202020201016D
+:107B0000020101010101010202020201010202015E
+:107B10000202010102010102020202020202020249
+:107B20000202020202020202020202020202020235
+:107B30000202020102020202020202020202020226
+:107B40000202020202020202020202020202020215
+:107B50000202020202020202020202020202020205
+:107B600002020202020202020202020202020202F5
+:107B700002020202020202020202020202020202E5
+:107B800002020202020202020202020202020202D5
+:107B900002020202020202020202020201020102C7
+:107BA00002020101020102020202020202020202B8
+:107BB00002020201020202020202020202020202A6
+:107BC000020202020202020101010101010101019E
+:107BD0000101000000000102010101010101010198
+:107BE0000101010101010202020101010101010182
+:107BF0000101010101010102020101010101010173
+:107C00000101010101010202010102020100000261
+:107C10000202010202020202020202020202020245
+:107C20000202020202020202020202020202020234
+:107C30000202020202020202020202020202020224
+:107C40000202020202020202020202020202020214
+:107C50000202020202020202020202020202020204
+:107C600002020202020202020202020202020202F4
+:107C700002020202020202020202020202020202E4
+:107C800002020202020202020202020202020202D4
+:107C900002020202020202020202020202020202C4
+:107CA00002020202020102020202020202020202B5
+:107CB00002020201020202020202020202020202A5
+:107CC000020202020202020101010101010101019D
+:107CD0000001000000000102010101010101010198
+:107CE0000101010101010101010102020101010182
+:107CF0000101010101010202010101020101010171
+:107D00000101010101010102010101020200000261
+:107D1000000002020002020202020202020102024A
+:107D20000202020202010202020202020202020234
+:107D30000202020202020202020202020202020223
+:107D40000202020202020202020202020202020213
+:107D50000202020202020202020202020202020203
+:107D600002020202020202020202020202020202F3
+:107D700002020202020202020202020202020202E3
+:107D800002020202020202020202020202020202D3
+:107D900002020202020202020202020202020202C3
+:107DA00002020202020202020202020202020202B3
+:107DB00002020202020202020202020202020202A3
+:107DC000020202020202020101010101010101009D
+:107DD0000001000000000102010101010101010197
+:107DE0000101010101010102010101010101010182
+:107DF0000101010101010102020101010101010171
+:107E00000101010101010102020201000201010060
+:107E10000000020000000002020202020101020151
+:107E20000101010101010102020202020202020239
+:107E30000202020202020202020202020202020222
+:107E40000202020202020202020202020202020212
+:107E50000202020202020202020202020202020202
+:107E600002020202020202020202020202020202F2
+:107E700002020202020202020202020202020202E2
+:107E800002020202020202020202020202020202D2
+:107E900002020202020202020202020202020202C2
+:107EA00002020202020202020202020202020202B2
+:107EB00002020202020202020202020202020202A2
+:107EC000020202020202020101010100000001009F
+:107ED0000000000000000101010101010101010198
+:107EE0000101010101010101010101010101010182
+:107EF0000101010101010102010101010101010171
+:107F0000010101010101010202020200020101005E
+:107F10000101000001000002020102010102010151
+:107F20000101010101020102020202020202020237
+:107F30000202020202020202020202020202020221
+:107F40000202020202020202020202020202020211
+:107F50000202020202020202020202020202020201
+:107F600002020202020202020202020202020202F1
+:107F700002020202020202020202020202020202E1
+:107F800002020202020202020202020202020202D1
+:107F900002020202020202020202020202020202C1
+:107FA00002020202020202020202020202020202B1
+:107FB00002020202020202020202020202020202A1
+:107FC000020202020202020101010100000000009F
+:107FD0000000000000010101010101010101010196
+:107FE0000101010101010101010101010101010181
+:107FF0000101010101010101010101010101010171
+:108000000101010101010100000002010101010162
+:10801000010100010101010201010101020201024D
+:108020000202020202020202020202020202020230
+:108030000202020202020202020202020202020220
+:108040000202020202020202020202020202020210
+:108050000202020202020202020202020202020200
+:1080600002020202020202020202020202020202F0
+:1080700002020202020202020202020202020202E0
+:1080800002020202020202020202020202020202D0
+:1080900002020202020202020202020202020202C0
+:1080A00002020202020202020202020202020202B0
+:1080B00002020202020202020202020202020202A0
+:1080C000020202020202020101010000000000009F
+:1080D0000000000001010101010101010101010194
+:1080E0000101010101010101010101010101010180
+:1080F000010101010101010201010101010101016F
+:108100000101010101010100000001010101010162
+:10811000010101010101010201020102020002024A
+:108120000202020202000202020202020202020231
+:108130000202020202020202020202020201020220
+:10814000020202020202020202020202020202020F
+:1081500002020202020202020202020202020202FF
+:1081600002020202020202020202020202020202EF
+:1081700002020202020202020202020202020202DF
+:1081800002020202020202020202020202020202CF
+:1081900002020202020202020202020202020202BF
+:1081A00002020202020202020202020202020202AF
+:1081B000020202020202020202020202020202029F
+:1081C000020202020202020101010000000000009E
+:1081D0000000000001010101010101010101010193
+:1081E000010101010101010101010101010101017F
+:1081F000010101010101010101010101010101016F
+:10820000010101010101010101010101010101015E
+:10821000010101010101010202020202000102004A
+:10822000000000000001000202020202020202023B
+:108230000202020202020202020101010101020124
+:108240000201010102020102020201020101010117
+:108250000202010102010102020202020202020202
+:1082600002020202020202020202020202020202EE
+:1082700002020202020202020202020202020202DE
+:1082800002020202020202020202020202020202CE
+:1082900002020202020202020202020202020202BE
+:1082A00002020202020202020202020202020202AE
+:1082B000020202020202020202020202020202029E
+:1082C000020202020202020101010000000000009D
+:1082D0000000000101010101010101010101010191
+:1082E000010101010101010101010101010101017E
+:1082F000010101010101010101010101010101016E
+:10830000010101010101010101010101010101015D
+:10831000010101010101010002000201010100014E
+:108320000101010101010102020200020202020236
+:108330000202020201010201010101010102010127
+:108340000101010101010102010202010202020216
+:108350000101020201020202020202020202020200
+:1083600002020202020202020202020201020202EE
+:1083700002020202020202020202020202020202DD
+:1083800002020202020202020202020202020202CD
+:1083900002020202020202020202020202020202BD
+:1083A00002020202020202020202020202020202AD
+:1083B000020202020202020202020202020202029D
+:1083C000020202020200020101010000000000009E
+:1083D000000001010101010101010101010101018F
+:1083E000010101010101010101010101010101017D
+:1083F000010101010101010101010101010101016D
+:10840000010101010101010101010101010101015C
+:10841000010101010101010001010101010101014D
+:10842000010101010101010202010101010101013A
+:108430000202010201010101010202020202010223
+:10844000010202020101020202010002000000001A
+:108450000202000002000002020202020202020204
+:1084600002020202020202020202020201020202ED
+:1084700002020202020202020202020202020202DC
+:1084800002020202020202020202020202020202CC
+:1084900002020202020202020202020202020202BC
+:1084A00002020202020202020202020202020202AC
+:1084B000020202020202020202020202020202029C
+:1084C000020202020000020101010000000000019E
+:1084D000010001010101010101010101010101018D
+:1084E000010101010101010101010101010101017C
+:1084F000010101010101010101010101010101016C
+:10850000010101010101010101010101010101015B
+:10851000010101010101010101010101010101014B
+:10852000010101010101010201010101010101013A
+:108530000101010201010102020202020201020222
+:10854000020202020202020000020000000000001B
+:10855000000000000000000202020101020201010D
+:1085600001020202010101020202020201020202F0
+:1085700002020202020202020202020202020202DB
+:1085800002020202020202020202020202020202CB
+:1085900002020202020202020202020202020202BB
+:1085A00002020202020202020202020202020202AB
+:1085B000020202020202020202020202020202029B
+:1085C000020202020000020101010101000100019A
+:1085D000010101010101010101010101010101018B
+:1085E000010101010101010101010101010101017B
+:1085F000010101010101010101010101010101016B
+:10860000010101010101010101010101010101015A
+:10861000010101010101010101010101010101014A
+:10862000010101010101010101010101010101013A
+:108630000101010101010102020101010101020127
+:108640000201010102020100000000000000000020
+:10865000000000000000000201010202010102020C
+:1086600002010101020202020202020202010202EE
+:1086700002020202010101020202020202020202DD
+:1086800002020202020202020202020202020202CA
+:1086900002020202020202020202020202020202BA
+:1086A00002020202020202020202020202020202AA
+:1086B000020202020202020202020202020202029A
+:1086C000020200000000020101010101010101019B
+:1086D000010101010101010101010101010101018A
+:1086E000010101010101010101010101010101017A
+:1086F000010101010101010101010101010101016A
+:108700000101010101010101010101010101010159
+:108710000101010101010101010101010101010149
+:108720000101010101010101010101010101010139
+:108730000101010101010101010101010101010129
+:10874000010101010101010000010101010101011B
+:10875000000001010001010102020000020200000C
+:1087600000020202000000020101010102020101F7
+:1087700001010101020202020202020202020201DE
+:1087800002020201010101020202020202020202CD
+:1087900002020202020202020202020202020202B9
+:1087A00002020202020202020202020202020202A9
+:1087B0000202020202020202020202020202020299
+:1087C00000000000000000010101010101010101A0
+:1087D0000101010101010101010101010101010189
+:1087E0000101010101010101010101010101010179
+:1087F0000101010101010101010101010101010169
+:108800000101010101010101010101010101010158
+:108810000101010101010101010101010101010148
+:108820000101010101010101010101010101010138
+:108830000101010101010101010101010101010128
+:108840000101010101010101010101010101010118
+:108850000101010101010102000101010001010109
+:1088600001000000010101010202020202000202F5
+:1088700002020202000000020101020101010102E4
+:1088800001010102020202020202020202020202CB
+:1088900002020202020202020202020202020202B8
+:1088A00002020202020202020202020202020202A8
+:1088B000020202020202020202020202020200009C
+:1088C000000000000000000101010101010101019F
+:1088D0000101010101010101010101010101010188
+:1088E0000101010101010101010101010101010178
+:1088F0000101010101010101010101010101010168
+:108900000101010101010101010101010101010157
+:108910000101010101010101010101010101010147
+:108920000101010101010101010101010101010137
+:108930000101010101010101010101010101010127
+:108940000101010101010101010101010101010117
+:108950000101010101010100010101010101010108
+:1089600001010101010101020001010000010000FB
+:1089700000000000010101010202000202020200E7
+:1089800002020200000000020202020202020202CF
+:1089900002020202020202020202020202020202B7
+:1089A00002020202020202020202020202020202A7
+:1089B000020202020202020202020202020000009D
+:1089C000000000000000000101010101010101019E
+:1089D0000101010101010101010101010101010187
+:1089E0000101010101010101010101010101010177
+:1089F0000101010101010101010101010101010167
+:108A00000101010101010101010101010101010156
+:108A10000101010101010101010101010101010146
+:108A20000101010101010101010101010101010136
+:108A30000101010101010101010101010101010126
+:108A40000101010101010101010101010101010116
+:108A50000101010101010101010101010101010106
+:108A600001010101010101010101010101010101F6
+:108A700001010101010101020000010100000001EA
+:108A800000000001010101020202020202020202D0
+:108A900002020202020202020202020202020202B6
+:108AA00002020202020202020202020202020202A6
+:108AB000020202020202020202020202000000009E
+:108AC000000000000000000101010101010101019D
+:108AD0000101010101010101010101010101010186
+:108AE0000101010101010101010101010101010176
+:108AF0000101010101010101010101010101010166
+:108B00000101010101010101010101010101010155
+:108B10000101010101010101010101010101010145
+:108B20000101010101010101010101010101010135
+:108B30000101010101010101010101010101010125
+:108B40000101010101010101010101010101010115
+:108B50000101010101010101010101010101010105
+:108B600001010101010101010101010101010101F5
+:108B700001010101010101010101010101010101E5
+:108B800001010101010101020002020202020202CE
+:108B900002010202020101020202000202020202BA
+:108BA00002020202020202020202020202020202A5
+:108BB000020202020202020202020202000000009D
+:108BC000000000000000000101010101010101019C
+:108BD0000101010101010101010101010101010185
+:108BE0000101010101010101010101010101010175
+:108BF0000101010101010101010101010101010165
+:108C00000101010101010101010101010101010154
+:108C10000101010101010101010101010101010144
+:108C20000101010101010101010101010101010134
+:108C30000101010101010101010101010101010124
+:108C40000101010101010101010101010101010114
+:108C50000101010101010101010101010101010104
+:108C600001010101010101010101010101010101F4
+:108C700001010101010101010101010101010101E4
+:108C800001010101010101010101010101010101D4
+:108C900001010101010101020202000202010201BF
+:108CA00002020202010201020202020202020202A6
+:108CB000020202020202020202020200000000009E
+:108CC000000000000000000101010101010101019B
+:108CD0000101010101010101010101010101010184
+:108CE0000101010101010101010101010101010174
+:108CF0000101010101010101010101010101010164
+:108D00000101010101010101010101010101010153
+:108D10000101010101010101010101010101010143
+:108D20000101010101010101010101010101010133
+:108D30000101010101010101010101010101010123
+:108D40000101010101010101010101010101010113
+:108D50000101010101010101010101010101010103
+:108D600001010101010101010101010101010101F3
+:108D700001010101010101010101010101010101E3
+:108D800001010101010101010101010101010101D3
+:108D900001010101010101010101010101010101C3
+:108DA00001010101010101020101010101010101B2
+:108DB00001010102010101020202000000000000A5
+:108DC000000000000000000101010101010101019A
+:108DD0000101010101010101010101010101010183
+:108DE0000101010101010101010101010101010173
+:108DF0000101010101010101010101010101010163
+:108E00000101010101010101010101010101010152
+:108E10000101010101010101010101010101010142
+:108E20000101010101010101010101010101010132
+:108E30000101010101010101010101010101010122
+:108E40000101010101010101010101010101010112
+:108E50000101010101010101010101010101010102
+:108E600001010101010101010101010101010101F2
+:108E700001010101010101010101010101010101E2
+:108E800001010101010101010101010101010101D2
+:108E900001010101010101010101010101010101C2
+:108EA00001010101010101010101010101010101B2
+:108EB00001010101010101020200000000000000A7
+:108EC0000000000000000001010101010101010199
+:108ED0000101010101010101010101010101010182
+:108EE0000101010101010101010101010101010172
+:108EF0000101010101010101010101010101010162
+:108F00000101010101010101010101010101010151
+:108F10000101010101010101010101010101010141
+:108F20000101010101010101010101010101010131
+:108F30000101010101010101010101010101010121
+:108F40000101010101010101010101010101010111
+:108F50000101010101010101010101010101010101
+:108F600001010101010101010101010101010101F1
+:108F700001010101010101010101010101010101E1
+:108F800001010101010101010101010101010101D1
+:108F900001010101010101010101010101010101C1
+:108FA00001010101010101010101010101010101B1
+:108FB00001010101010101020200000000000000A6
+:108FC0000000000000000001010101010101010198
+:108FD0000101010101010101010101010101010181
+:108FE0000101010101010101010101010101010171
+:108FF0000101010101010101010101010101010161
+:109000000101010101010101010101010101010150
+:109010000101010101010101010101010101010140
+:109020000101010101010101010101010101010130
+:109030000101010101010101010101010101010120
+:109040000101010101010101010101010101010110
+:109050000101010101010101010101010101010100
+:1090600001010101010101010101010101010101F0
+:1090700001010101010101010101010101010101E0
+:1090800001010101010101010101010101010101D0
+:1090900001010101010101010101010101010101C0
+:1090A00001010101010101010101010101010101B0
+:1090B00001010101010101020200000000000000A5
+:1090C0000000000000000001010101010101010197
+:1090D0000101010101010102020202020202020277
+:1090E0000202020202020202020202020202020260
+:1090F0000202020202020202020202020202020250
+:10910000020202020202020202020202020202023F
+:10911000020202020202020202020202020202022F
+:10912000020202020202020202020202020202021F
+:10913000020202020202020202020202020202020F
+:1091400002020202020202020202020202020202FF
+:1091500002020202020202020202020202020202EF
+:1091600002020202020202020202020202020202DF
+:1091700002020202020202020202020202020202CF
+:1091800002020202020202020202020202020202BF
+:1091900002020202020202020202020202020202AF
+:1091A000020202020202020202020202020202029F
+:1091B000020202020202020202000000000000009D
+:1091C0000000000000000001010101010101010196
+:1091D0000101010101010100000000000000000088
+:1091E000000000000000000202020202020202026D
+:1091F000020202020202020202020202020202024F
+:10920000020202020202020202020202020202023E
+:10921000020202020202020202020202020202022E
+:10922000020202020202020202020202020202021E
+:10923000020202020202020202020202020202020E
+:1092400002020202020202020202020202020202FE
+:1092500002020202020202020202020202020202EE
+:1092600002020202020202020202020202020202DE
+:1092700002020202020202020202020202020202CE
+:1092800002020202020202020202020202020202BE
+:1092900002020202020202020202020202020202AE
+:1092A000020202020202020202020202020202029E
+:1092B000020202020202020200000000000000009E
+:1092C0000000000000000001010101010101010195
+:1092D0000101010101010100000000000000000087
+:1092E000000000000000000000000000000000007E
+:1092F000000000000000000202020202020202025C
+:10930000020202020202020202020202020202023D
+:10931000020202020202020202020202020202022D
+:10932000020202020202020202020202020202021D
+:10933000020202020202020202020202020202020D
+:1093400002020202020202020202020202020202FD
+:1093500002020202020202020202020202020202ED
+:1093600002020202020202020202020202020202DD
+:1093700002020202020202020202020202020202CD
+:1093800002020202020202000000000000000000CF
+:1093900000000000000000000000000000000000CD
+:1093A00000000000000000000000000000000000BD
+:1093B00000000000000000020000000000000000AB
+:1093C000000000000000000000000000000000009D
+:1093D000000000000000000000000000000000008D
+:1093E000000000000000000000000000000000007D
+:1093F000000000000000000000000000000000006D
+:10940000000000000000000000000000000000005C
+:10941000000000000000000000000000000000004C
+:10942000000000000000000000000000000000003C
+:10943000000000000000000000000000000000002C
+:10944000000000000000000000000000000000001C
+:10945000000000000000000000000000000000000C
+:1094600000000000000000000000000000000000FC
+:1094700000000000000000000000000000000000EC
+:1094800000000000000000000000000000000000DC
+:1094900000000000000000000000000000000000CC
+:1094A00000000000000000000000000000000000BC
+:1094B00000000000000000000000000000000000AC
+:1094C000000000000000003B000000000000000061
+:1094D000000000000000000000000000000000008C
+:1094E000000000000000000000000000000000007C
+:1094F000000000000000000000000000000000006C
+:10950000000000000000000000000000000000005B
+:10951000000000000000000000000000000000004B
+:10952000000000000000000000000000000000003B
+:10953000000000000000000000000000000000002B
+:109540000102000000000000000000000000000018
+:10955000000000000000000000000000000000000B
+:1095600000000000000000000000000000000000FB
+:1095700001000000000000000000000000000000EA
+:1095800000000000000000000000000000000000DB
+:1095900000000000000000000000000000000000CB
+:1095A00000000000000000000000000000000000BB
+:1095B00000000000000000000000000000000000AB
+:1095C000020200020202020202020202020200027F
+:1095D0000002020000000000000000000002000085
+:1095E0000000000200000000000000000002000077
+:1095F0000000000000000000000000000002000069
+:109600000002000000000000000000000000020056
+:109610000002000000000000000000000000020046
+:109620000000010200000000000000020002000033
+:10963000020200020100020000000000000002001F
+:109640000202000000020000000000020000000012
+:109650000200010000000000000000000000020005
+:1096600000000000000000000000000000000000FA
+:1096700002000202000002000000000002000200DE
+:1096800002010200000000000000000000000000D5
+:1096900002000000000000000000000000000200C6
+:1096A00000000200000000000000000200020000B4
+:1096B000000200000002000200020200020002009C
+:1096C0000101010101010101010101010101010289
+:1096D0000102020000000000000000000002000083
+:1096E000000000020000000000020202000202006E
+:1096F0000102000000000000000000000002020063
+:109700000002000000000000000000000002020053
+:109710000002000000000000020000000002020041
+:10972000000102020000000000000002000202002E
+:109730000202020202000200020000000002020017
+:109740000202000200020202000000020200020007
+:109750000200020000000000000000000002020001
+:1097600000000000000000000000000000000001F8
+:1097700002000202010202000000020002020200D6
+:1097800002020200000100000000000002000000D0
+:1097900002020000020002000200000000000200BD
+:1097A00000010200000000020000000202020200AC
+:1097B000000202020202020202020202020202008D
+:1097C0000101010101010101010101010101010288
+:1097D0000102020000000000000000000002000082
+:1097E000000000020000000000020202000202006D
+:1097F0000102000000000000000000000002020062
+:109800000102000000000000000000000002020150
+:10981000000200000000000002000000000202023E
+:109820000002020202010002000000020002020027
+:109830000202020202000200020000000002020016
+:109840000202010200020202000000020202020003
+:109850000200020000000000000000000002020000
+:1098600000000000000000000000000000000002F6
+:1098700002010202020202020002020002020201CE
+:1098800002020200010200000000000002000000CD
+:1098900002020000020202020202020000000200B4
+:1098A00000020202020002020000000202020202A2
+:1098B000000202020202020202020202020202008C
+:1098C0000101010001010101010101010101010288
+:1098D0000102020000000000000000000002000081
+:1098E000000000020000000000020202000202006C
+:1098F0000102000000000000000000000002020061
+:10990000010200000000000000000000000202014F
+:10991000000201000000000002000000000202023C
+:109920000202020202020202000000020002020021
+:109930000202020202000200020000000202020013
+:1099400002020102010202020200000202020202FD
+:1099500002010202010200000200000002020200F5
+:1099600000000000000000000000000000000002F5
+:1099700002020202020202020202020002020202C9
+:1099800002020200020200000000000002000200C9
+:1099900002020201020202020202020200000200AE
+:1099A0000202020202020202000202020202020299
+:1099B000000202020202020202020202020202008B
+:1099C000010100000000010101010101010101028A
+:1099D000010202000000000000020000000200007E
+:1099E000000000020000000000020202000202006B
+:1099F000020200000000000000000000000202015E
+:109A0000020200000000000000000000020202014B
+:109A10000102020000010000020000000002020238
+:109A2000020202020202020200000002020202021C
+:109A30000202020202000200020000000202020210
+:109A400002020202020202020200000202020202FA
+:109A500002010202020200020200000002020200F1
+:109A600000000000000000000000000000000002F4
+:109A700002020202020202020202020002020202C8
+:109A800002020202020202000200000002020202BE
+:109A900002020201020202020202020200000200AD
+:109AA0000202020202020202020202020202020296
+:109AB000000202020202020202020202020202008A
+:109AC000010000000000010101010101010101028A
+:109AD000020202000000000000020000000200007C
+:109AE000000000020000000000020202000202006A
+:109AF000020200000000000000000000020202015B
+:109B00000202000000000000000000000202020249
+:109B10000202020001010000020000000002020235
+:109B2000020202020202020200000002020202021B
+:109B3000020202020200020202000000020202020D
+:109B400002020202020202020200000202020202F9
+:109B500002020202020202020200000002020200ED
+:109B600000000000000000000000000000000002F3
+:109B700002020202020202020202020002020202C7
+:109B800002020202020202020202000002020202B9
+:109B900002020202020202020202020200000202A9
+:109BA0000202020202020202020202020202020295
+:109BB000000202020202020202020202020201008A
+:109BC0000000000000000000000000000000010292
+:109BD0000202020200000000020200000202000075
+:109BE0000000000200000000000202020002020069
+:109BF0000202000100000000000000000202020258
+:109C00000202000000000000000000000202020248
+:109C10000202020001010000020000000202020232
+:109C2000020202020202020200000002020202021A
+:109C3000020202020201020202000000020202020B
+:109C400002020202020202020200000202020202F8
+:109C500002020202020202020200020002020200EA
+:109C600000000000000000000000000000000002F2
+:109C700002020202020202020202020002020202C6
+:109C800002020202020202020202000202020202B6
+:109C900002020202020202020202020202000202A6
+:109CA0000202020202020202020202020202020294
+:109CB0000202020202020202020202020101010089
+:109CC0000000000000000000000000000000010291
+:109CD0000202020200000000020200000202000074
+:109CE0000000000200010000000202020002020067
+:109CF0000202000100000000000000000202020257
+:109D00000202010001000000000000000202020245
+:109D1000020202010102000002000000020202022F
+:109D20000202020202020202000000020202020219
+:109D30000202020202020202020000000202020209
+:109D400002020202020202020202000202020202F5
+:109D500002020202020202020202020202020200E5
+:109D600000000000000000000000000000000002F1
+:109D700002020202020202020202020002020202C5
+:109D800002020202020202020202020202020202B3
+:109D900002020202020202020202020202020202A3
+:109DA0000202020202020202020202020202020293
+:109DB0000202020202020202020201020101010089
+:109DC0000000000000000000000000000000010290
+:109DD0000202020200000002020200000202000071
+:109DE0000000000201010000000202020002020065
+:109DF0000202000101000000000000000202020255
+:109E00000202010001010000000000000202020243
+:109E1000020202010202000002000000020202022D
+:109E20000202020202020202000000020202020218
+:109E30000202020202020202020200020202020204
+:109E400002020202020202020202000202020202F4
+:109E500002020202020202020202020202020202E2
+:109E600002020100000000000000000000000002EB
+:109E700002020202020202020202020202020202C2
+:109E800002020202020202020202020202020202B2
+:109E900002020202020202020202020202020202A2
+:109EA0000202020202020202020202020202020292
+:109EB000020202020202020202010101010101008A
+:109EC000000000000000000000000000000001028F
+:109ED0000202020200000002020200000202000070
+:109EE0000000000201010000000202020002020064
+:109EF0000202000201000000000000000202020253
+:109F00000202010101010000000000000202020241
+:109F1000020202020202000002000000020202022B
+:109F20000202020202020202000000020202020217
+:109F30000202020202020202020200020202020203
+:109F400002020202020202020202020202020202F1
+:109F500002020202020202020202020202020202E1
+:109F600002020200020000000000000000000202E5
+:109F700002020202020202020202020202020202C1
+:109F800002020202020202020202020202020202B1
+:109F900002020202020202020202020202020202A1
+:109FA0000202020202020202020202020202020291
+:109FB000020101020202020101010101010101008D
+:109FC000000000000000000000000000000001028E
+:109FD000020202020002020202020000020200006B
+:109FE0000000000201020000000202020002020062
+:109FF0000202010201000000000000000202020251
+:10A00000020202010202000000000000020202023D
+:10A01000020202020202000002000000020202022A
+:10A020000202020202020202020000020202020214
+:10A030000202020202020202020202020202020200
+:10A0400002020202020202020202020202020202F0
+:10A0500002020202020202020202020202020202E0
+:10A0600002020200020002000200000000020202DE
+:10A0700002020202020202020202020202020202C0
+:10A0800002020202020202020202020202020202B0
+:10A0900002020202020202020202020202020102A1
+:10A0A0000202020202020202020202020201010292
+:10A0B000020101020101020101010101010101008E
+:10A0C000000000000000000000000000000001028D
+:10A0D000020202020002020202020000020200006A
+:10A0E000000000020202000000020202020202025C
+:10A0F000020201020200000000000000020202024F
+:10A10000020202020202000000000000020202023B
+:10A110000202020202020000020000000202020229
+:10A120000202020202020202020200020202020211
+:10A1300002020202020202020202020202020202FF
+:10A1400002020202020202020202020202020202EF
+:10A1500002020202020202020202020202020202DF
+:10A1600002020201020202020202000000020202D6
+:10A1700002020202020202020202020202020102C0
+:10A1800002020202020202020202020202020202AF
+:10A1900002020202020202020202020202020102A0
+:10A1A0000202020202020202020202020101010292
+:10A1B0000101010101010101010101010101010090
+:10A1C000000000000000000000000000000001028C
+:10A1D0000202020202020202020102020201000065
+:10A1E000000000020202000000020202020202025B
+:10A1F000020201020200000000000000020202024E
+:10A20000020202020202000000000000020202023A
+:10A210000202020202020000020000000202020228
+:10A220000202020202020202020200020202020210
+:10A2300002020202020202020202020202020202FE
+:10A2400002020202020202020202020202020202EE
+:10A2500002020202020202020202020202020102DF
+:10A2600002020202020202020202000002020202D2
+:10A2700002020202020202020202020201010102C1
+:10A2800002020202020202020202020202020202AE
+:10A29000020202020202020202020202020201029F
+:10A2A0000202020202020202020202010101010292
+:10A2B000010101010101010101010101010101008F
+:10A2C000000000000000000000000000000001028B
+:10A2D0000202020202020202020102020201000064
+:10A2E0000001000202020000000202020202020259
+:10A2F000020202020200000000000000020202024C
+:10A300000202020202020000000000000202020239
+:10A310000202020202020000020000000202020227
+:10A32000020202020202020202020202020202020D
+:10A3300002020202020202020202020202020102FE
+:10A3400002020202020202020202020202020102EE
+:10A3500002020202020202020202020202010102DF
+:10A3600002020202020202020202020002020202CF
+:10A3700002020202020202020202020201010102C0
+:10A3800002020202020202020202020201020102AF
+:10A39000020202020202020202020202020201029E
+:10A3A0000202020202020202020202010101010291
+:10A3B000010101010101010101010101010101008E
+:10A3C000000000000000000000000000000000028B
+:10A3D0000202020202020202020102020201000063
+:10A3E0000002000202020200000202020202020255
+:10A3F000020202020200000000000000020202024B
+:10A400000202020202020000000200000202020236
+:10A410000202020202020002020200000202010223
+:10A42000020202020202020202020202020101020E
+:10A4300002020202020202020202020202010102FE
+:10A4400002020202020202020202020201010102EF
+:10A4500002020202020202020202020202010102DE
+:10A4600002020202020202020202020202020202CC
+:10A4700002020202020202020202020201010102BF
+:10A4800002020202020202020202020201010102AF
+:10A49000020202020202020202020202020201029D
+:10A4A0000202020202020202020202010101010290
+:10A4B000010101010101010101010101010101008D
+:10A4C000000000000000000000000000000000028A
+:10A4D0000202020202020202010102020201000063
+:10A4E0000002000202020200000202020202020254
+:10A4F0000202020202000000000200000202020248
+:10A500000202020202020200020200000202010232
+:10A51000020202020202020202020002020101021F
+:10A52000020202020202020202020202020101020D
+:10A5300002020202020202020202020202010102FD
+:10A5400002020202020202020202020101010102EF
+:10A5500002020202020202020202020201010102DE
+:10A5600002020202020202020202020202020202CB
+:10A5700002020202020202020202010201010102BF
+:10A5800002020202020202020202020201010102AE
+:10A5900002020202020202020202010101010102A0
+:10A5A0000202020202020202020201010101010191
+:10A5B000010101010101010101010101010101008C
+:10A5C0000000000000000000000000000000000289
+:10A5D0000202020202020202010102020101000261
+:10A5E0000002000202020200000202020202020253
+:10A5F0000202020202000000020200000201010247
+:10A600000202020202020202020200000201010230
+:10A61000020202020202020202020202020101021C
+:10A62000020202020202020202020201020101020D
+:10A6300002020202020202020202020201010102FD
+:10A6400002020202020202020202020101010102EE
+:10A6500002020202020202020202020201010102DD
+:10A6600002020202020202020202020202020202CA
+:10A6700002020202020202020202010201010102BE
+:10A6800002020202020202020202020201010102AD
+:10A6900002020202020202020101010101010102A1
+:10A6A0000202020202020201020101010101010192
+:10A6B000010101010101010101010101010101008B
+:10A6C0000000000000000000000000000000000288
+:10A6D0000202020202020201010102020101000261
+:10A6E0000102000202020200000202020201010253
+:10A6F0000202020202000002020200000201010244
+:10A70000020202020202020202020000020101022F
+:10A71000020202020202020202020202020101021B
+:10A72000020202020202020202020201010101020D
+:10A7300002020202020202020202020201010102FC
+:10A7400002020202020202020202020101010102ED
+:10A7500002020202020202020202020201010102DC
+:10A7600002020202020202020202020202020102CA
+:10A7700002020202020201020201010201010102BF
+:10A7800002020202020202020202020201010102AC
+:10A7900002020202020201010101010101010102A2
+:10A7A0000202010202020101010101010101010194
+:10A7B000010101010101010101010101010101008A
+:10A7C0000000000000000000000000000000000287
+:10A7D0000202020202020201010201010101000261
+:10A7E0000102020202020200000202020201010250
+:10A7F0000202020202000202020200000201010241
+:10A80000020202020202020202020200010101022D
+:10A81000020202020202020202020202010101021B
+:10A82000020202020202020202020201010101020C
+:10A8300002020202020202020102020201010102FC
+:10A8400002020202020202010202020101010102ED
+:10A8500002020202020202020202020201010102DB
+:10A8600002020202020202020202020202010102CA
+:10A8700002020202020101010101010201010102C1
+:10A8800002020202020202020202020101010102AC
+:10A8900002020202010101010101010101010102A3
+:10A8A0000202010201010101010101010101010195
+:10A8B0000101010101010101010101010101010089
+:10A8C0000000000000000000000000000000000286
+:10A8D0000202020102020101020201010101000261
+:10A8E000020202020202020000020202020101024E
+:10A8F000020202020202020202020000010101023F
+:10A90000020202020202020202020202010101022A
+:10A91000020202020202020201020202010101021B
+:10A92000020202020202020202020201010101020B
+:10A9300002020202020201020102020201010102FC
+:10A9400002020202020101010102020101010102EF
+:10A9500002020202020202020102010101010102DD
+:10A9600002020202020202020202020202010102C9
+:10A9700002020101020101010101010101010102C3
+:10A9800002020102020202020101010101010102AF
+:10A9900001010202010101010101010101010102A4
+:10A9A0000202010101010101010101010101010195
+:10A9B0000101010101010101010101010101010088
+:10A9C0000000000000000000000000000000000285
+:10A9D0000202010102010101020201020101000261
+:10A9E000020202020202020000020101020101024F
+:10A9F000020202020202020202020000010101023E
+:10AA00000202020202020202020202020101010229
+:10AA1000020202020202020201020202010101021A
+:10AA2000020202020202020102020201010101020B
+:10AA300002020202020201020102020101010102FC
+:10AA400002010202020101010102020101010102EF
+:10AA500002020202020102010102010101010102DE
+:10AA600002020202020202020202020201010102C9
+:10AA700002020101010101010101010101010102C3
+:10AA800001020102020101010101010101010102B2
+:10AA900001010102010101010101010101010102A4
+:10AAA0000101010101010101010101010101010196
+:10AAB0000101010101010101010101010101010087
+:10AAC0000000000000000000000000000000000284
+:10AAD000020201010201010202020202010100025E
+:10AAE000020202020202020000020101020101024E
+:10AAF000020202020202020202020200010101023B
+:10AB00000202020202020202020202020101010228
+:10AB10000202020202020202010202020101010219
+:10AB2000020202010102010102020201010101020D
+:10AB30000201010101020101010202010101010200
+:10AB400002010201020101010101010101010102F1
+:10AB500001020102020101010101010101010102E1
+:10AB600002020202020202020202020201010102C8
+:10AB700001020101010101010101010101010102C3
+:10AB800001010102010101010101010101010102B3
+:10AB900001010102010101010101010101010102A3
+:10ABA0000101010101010101010101010101010195
+:10ABB0000101010101010101010101010101010086
+:10ABC0000000000000000000000000000000000283
+:10ABD000020101020101020202020201010100025E
+:10ABE000020202020202020000010101020101024E
+:10ABF0000202020202020202020202020101010238
+:10AC00000202020202020202020202020101010227
+:10AC10000201020202020202010202020101010219
+:10AC2000020201010101010102020201010101020E
+:10AC30000101010101020101010101010101010202
+:10AC400001010201010101010101010101010102F2
+:10AC500001020101010101010101010101010102E2
+:10AC600002020202020202020202020201010102C7
+:10AC700001010101010101010101010101010102C3
+:10AC800001010101010101010101010101010102B3
+:10AC900001010102010101010101010101010102A2
+:10ACA0000101010101010101010101010101010194
+:10ACB0000101010101010101010101010101010085
+:10ACC0000000000000000000000000000000000282
+:10ACD000020101020102020201020201010100025D
+:10ACE000020202020202020000010101010101024E
+:10ACF0000202020202020202020202020101010237
+:10AD00000201020202020202020202020101010227
+:10AD10000201020202020202010202020101010218
+:10AD2000020101010101010102020201010101020E
+:10AD30000101010101020101010101010101010201
+:10AD400001010201010101010101010101010102F1
+:10AD500001020101010101010101010101010102E1
+:10AD600002020202020202020101010101010102CA
+:10AD700001010101010101010101010101010102C2
+:10AD800001010101010101010101010101010102B2
+:10AD900001010101010101010101010101010102A2
+:10ADA0000101010101010101010101010101010193
+:10ADB0000101010101010101010101010101010084
+:10ADC0000000000000000000000000000000000281
+:10ADD000020101020202020201010101010100025D
+:10ADE000020202010202020000010101010101024E
+:10ADF0000201020202020202020202020101010237
+:10AE00000201020202020202020202020101010226
+:10AE10000201010202020202010202020101010218
+:10AE20000101010101010101010101010101010211
+:10AE30000101010101010101010101010101010201
+:10AE400001010101010101010101010101010102F1
+:10AE500001020101010101010101010101010102E0
+:10AE600002020202010201010101010101010102CC
+:10AE700001010101010101010101010101010102C1
+:10AE800001010101010101010101010101010102B1
+:10AE900001010101010101010101010101010102A1
+:10AEA0000101010101010101010101010101010192
+:10AEB0000101010101010101010101010101010083
+:10AEC0000000000000000000000000000000000181
+:10AED000020101010202010101010101010100025F
+:10AEE000020202010202020200010101010101024B
+:10AEF0000201020202020202020202020101010236
+:10AF00000201020202020202020202020101010225
+:10AF10000201010202020202010202010101010218
+:10AF20000101010101010101010101010101010210
+:10AF30000101010101010101010101010101010200
+:10AF400001010101010101010101010101010102F0
+:10AF500001010101010101010101010101010102E0
+:10AF600002010202010101010101010101010102CD
+:10AF700001010101010101010101010101010102C0
+:10AF800001010101010101010101010101010102B0
+:10AF900001010101010101010101010101010102A0
+:10AFA0000101010101010101010101010101010191
+:10AFB0000101010101010101010101010101010082
+:10AFC0000000000000000000000000000000000180
+:10AFD0000201010101010101010101010101000260
+:10AFE0000202020102020202020101010101010248
+:10AFF0000201020202020202020202020101010235
+:10B000000201020202020202020202020101010224
+:10B01000010101020201020201010101010101021B
+:10B02000010101010101010101010101010101020F
+:10B0300001010101010101010101010101010102FF
+:10B0400001010101010101010101010101010102EF
+:10B0500001010101010101010101010101010102DF
+:10B0600001010102010101010101010101010101CF
+:10B0700001010101010101010101010101010102BF
+:10B0800001010101010101010101010101010101B0
+:10B0900001010101010101010101010101010101A0
+:10B0A0000101010101010101010101010101010190
+:10B0B0000201010101010101010101010101010080
+:10B0C000000000000000000000000000000000027E
+:10B0D000020101010101010101010101010100025F
+:10B0E0000202020102020202020101010101010247
+:10B0F0000201020202020202020202020101010234
+:10B100000101020202020202020102020101010225
+:10B11000010101020101020101010101010101011D
+:10B12000010101010101010101010101010101020E
+:10B1300001010101010101010101010101010102FE
+:10B1400001010101010101010101010101010101EF
+:10B1500001010101010101010101010101010102DE
+:10B1600001010102010101010101010101010101CE
+:10B1700001010101010101010101010101010101BF
+:10B1800001010101010101010101010101010101AF
+:10B19000010101010101010101010101010101019F
+:10B1A000010101010101010101010101010101018F
+:10B1B000020101010101010101010101010101007F
+:10B1C000000000000000000000000000010100027B
+:10B1D000020101010101010101010101010100025E
+:10B1E0000202020102020202020101010101010246
+:10B1F0000101020202020202020102020101010235
+:10B200000101020202010202010101010101010228
+:10B21000010101010101010101010101010101011E
+:10B22000010101010101010101010101010101010E
+:10B2300001010101010101010101010101010101FE
+:10B2400001010101010101010101010101010101EE
+:10B2500001010101010101010101010101010102DD
+:10B2600001010101010101010101010101010101CE
+:10B2700001010101010101010101010101010101BE
+:10B2800001010101010101010101010101010101AE
+:10B29000010101010101010101010101010101019E
+:10B2A000010101010101010101010101010101018E
+:10B2B000020202010101010101010101010101007C
+:10B2C000000000000000000000000000010100017B
+:10B2D000020101010101010101010101010000025E
+:10B2E0000202020102020102020101010101010246
+:10B2F0000101020202020202010102020101010235
+:10B30000010102020101010101010101010101022A
+:10B31000010101010101010101010101010101011D
+:10B32000010101010101010101010101010101010D
+:10B3300001010101010101010101010101010101FD
+:10B3400001010101010101010101010101010101ED
+:10B3500001010101010101010101010101010102DC
+:10B3600001010101010101010101010101010101CD
+:10B3700001010101010101010101010101010101BD
+:10B3800001010101010101010101010101010101AD
+:10B39000010101010101010101010101010101019D
+:10B3A000010101010101010101010101010101028C
+:10B3B000020202010101010101010101010101007B
+:10B3C000000000000000000000000000010100017A
+:10B3D000010101010101010101010101010000025E
+:10B3E0000202020102010102020101010101010246
+:10B3F0000101020101020201010101010101010239
+:10B40000010101010101010101010101010101022B
+:10B41000010101010101010101010101010101011C
+:10B42000010101010101010101010101010101010C
+:10B4300001010101010101010101010101010101FC
+:10B4400001010101010101010101010101010101EC
+:10B4500001010101010101010101010101010101DC
+:10B4600001010101010101010101010101010101CC
+:10B4700001010101010101010101010101010101BC
+:10B4800001010101010101010101010101010101AC
+:10B49000010101010101010101010101010101019C
+:10B4A000010101010101010101010101010101028B
+:10B4B0000202020202010101010101010101010078
+:10B4C0000000000000000000000001010101000177
+:10B4D000010101010101010101010101010000025D
+:10B4E0000202020101010102020101010101010246
+:10B4F0000101020101020101010101010101010239
+:10B50000010101010101010101010101010101012B
+:10B51000010101010101010101010101010101011B
+:10B52000010101010101010101010101010101010B
+:10B5300001010101010101010101010101010101FB
+:10B5400001010101010101010101010101010101EB
+:10B5500001010101010101010101010101010101DB
+:10B5600001010101010101010101010101010101CB
+:10B5700001010101010101010101010101010101BB
+:10B5800001010101010101010101010101010101AB
+:10B59000010101010101010101010101010101019B
+:10B5A000010101010101010101010101010101028A
+:10B5B0000202020202020102020202010101010072
+:10B5C0000000000000000000010101010101000174
+:10B5D000010101010101010101010101000000025D
+:10B5E0000201020101010102020101010101010246
+:10B5F000010101010101010101010101010101013B
+:10B60000010101010101010101010101010101012A
+:10B61000010101010101010101010101010101011A
+:10B62000010101010101010101010101010101010A
+:10B6300001010101010101010101010101010101FA
+:10B6400001010101010101010101010101010101EA
+:10B6500001010101010101010101010101010101DA
+:10B6600001010101010101010101010101010101CA
+:10B6700001010101010101010101010101010101BA
+:10B6800001010101010101010101010101010101AA
+:10B69000010101010101010101010101010101019A
+:10B6A0000101010101010101010101010101010289
+:10B6B000020202020202020202020202020202006C
+:10B6C0000100000000000001010101010101000171
+:10B6D000010101010101010101010101000001025B
+:10B6E0000201010101010102020101010101010246
+:10B6F000010101010101010101010101010101013A
+:10B700000101010101010101010101010101010129
+:10B710000101010101010101010101010101010119
+:10B720000101010101010101010101010101010109
+:10B7300001010101010101010101010101010101F9
+:10B7400001010101010101010101010101010101E9
+:10B7500001010101010101010101010101010101D9
+:10B7600001010101010101010101010101010101C9
+:10B7700001010101010101010101010101010101B9
+:10B7800001010101010101010101010101010101A9
+:10B790000101010101010101010101010101010199
+:10B7A0000101010101010101010101010101010288
+:10B7B0000202020202020202020202020202020269
+:10B7C000020202020202020202020202020202015A
+:10B7D000010100010101010101010100000001025C
+:10B7E0000201010101010102020101010101010146
+:10B7F0000101010101010101010101010101010139
+:10B800000101010101010101010101010101010128
+:10B810000101010101010101010101010101010118
+:10B820000101010101010101010101010101010108
+:10B8300001010101010101010101010101010101F8
+:10B8400001010101010101010101010101010101E8
+:10B8500001010101010101010101010101010101D8
+:10B8600001010101010101010101010101010101C8
+:10B8700001010101010101010101010101010101B8
+:10B8800001010101010101010101010101010101A8
+:10B890000101010101010101010101010101010198
+:10B8A0000101010101010101010101010101010287
+:10B8B0000202020202020202020202020202020268
+:10B8C0000202020202020202020202020202020159
+:10B8D000010100010101010100010100000001025C
+:10B8E0000201010101010101010101010101010147
+:10B8F0000101010101010101010101010101010138
+:10B900000101010101010101010101010101010127
+:10B910000101010101010101010101010101010117
+:10B920000101010101010101010101010101010107
+:10B9300001010101010101010101010101010101F7
+:10B9400001010101010101010101010101010101E7
+:10B9500001010101010101010101010101010101D7
+:10B9600001010101010101010101010101010101C7
+:10B9700001010101010101010101010101010101B7
+:10B9800001010101010101010101010101010101A7
+:10B990000101010101010101010101010101010197
+:10B9A0000101010101010101010101010101010286
+:10B9B0000202020202020202020202020202020267
+:10B9C0000202020202020202020202020202020158
+:10B9D0000101000000010000000000000000010261
+:10B9E0000101010101010101010101010101010147
+:10B9F0000101010101010101010101010101010137
+:10BA00000101010101010101010101010101010126
+:10BA10000101010101010101010101010101010116
+:10BA20000101010101010101010101010101010106
+:10BA300001010101010101010101010101010101F6
+:10BA400001010101010101010101010101010101E6
+:10BA500001010101010101010101010101010101D6
+:10BA600001010101010101010101010101010101C6
+:10BA700001010101010101010101010101010101B6
+:10BA800001010101010101010101010101010101A6
+:10BA90000101010101010101010101010101010196
+:10BAA0000101010101010101010101010101010285
+:10BAB0000202020202020202020202020202020266
+:10BAC0000202020202020202020202020202020157
+:10BAD0000100000000000000000000000000010262
+:10BAE0000101010101010101010101010101010146
+:10BAF0000101010101010101010101010101010136
+:10BB00000101010101010101010101010101010125
+:10BB10000101010101010101010101010101010115
+:10BB20000101010101010101010101010101010105
+:10BB300001010101010101010101010101010101F5
+:10BB400001010101010101010101010101010101E5
+:10BB500001010101010101010101010101010101D5
+:10BB600001010101010101010101010101010101C5
+:10BB700001010101010101010101010101010101B5
+:10BB800001010101010101010101010101010101A5
+:10BB90000101010101010101010101010101010195
+:10BBA000020102010101010101010102020202027E
+:10BBB0000202020202020202020202020202020265
+:10BBC0000202020202020202020202020202020156
+:10BBD0000100000000000000000000000000010162
+:10BBE0000101010101010101010101010101010145
+:10BBF0000101010101010101010101010101010135
+:10BC00000101010101010101010101010101010124
+:10BC10000101010101010101010101010101010114
+:10BC20000101010101010101010101010101010104
+:10BC300001010101010101010101010101010101F4
+:10BC400001010101010101010101010101010101E4
+:10BC500001010101010101010101010101010101D4
+:10BC600001010101010101010101010101010101C4
+:10BC700001010101010101010101010101010101B4
+:10BC800001010101010101010101010101010101A4
+:10BC90000101010101010101010101010101010194
+:10BCA0000202020202020202020202020202020274
+:10BCB0000202020202020202020202020202020264
+:10BCC0000202020202020202020202020202020155
+:10BCD0000100000000000000000000000001010160
+:10BCE0000101010101010101010101010101010144
+:10BCF0000101010101010101010101010101010134
+:10BD00000101010101010101010101010101010123
+:10BD10000101010101010101010101010101010113
+:10BD20000101010101010101010101010101010103
+:10BD300001010101010101010101010101010101F3
+:10BD400001010101010101010101010101010101E3
+:10BD500001010101010101010101010101010101D3
+:10BD600001010101010101010101010101010101C3
+:10BD700001010101010101010101010101010101B3
+:10BD800002010101010101010101010101010101A2
+:10BD90000200010101010101010101010101020291
+:10BDA0000202020202020202020202020202020273
+:10BDB0000202020202020202020202020202020263
+:10BDC0000202020202020202020202020202020154
+:10BDD000010000000000000000000000000101015F
+:10BDE0000101010101010101010101010101010143
+:10BDF0000101010101010101010101010101010133
+:10BE00000101010101010101010101010101010122
+:10BE10000101010101010101010101010101010112
+:10BE20000101010101010101010101010101010102
+:10BE300001010101010101010101010101010101F2
+:10BE400001010101010101010101010101010101E2
+:10BE500001010101010101010101010101010101D2
+:10BE600001010101010101010101010101010101C2
+:10BE700001010101010101010101010101010101B2
+:10BE800001010001010101010101010101010101A3
+:10BE90000202020102020202020202020202020283
+:10BEA0000202020202020202020202020202020272
+:10BEB0000202020202020202020202020202020262
+:10BEC0000202020202020202020202020202020054
+:10BED000010000000000000000000000010101015D
+:10BEE0000101010101010101010101010101010142
+:10BEF0000101010101010101010101010101010132
+:10BF00000101010101010101010101010101010121
+:10BF10000101010101010101010101010101010111
+:10BF20000101010101010101010101010101010101
+:10BF300001010101010101010101010101010101F1
+:10BF400001010101010101010101010101010101E1
+:10BF500001010101010101010101010101010101D1
+:10BF600001010101010101010101010101010101C1
+:10BF700002010000010000010101000100000001B8
+:10BF800000000001010101010101010102020202A0
+:10BF90000202020202020202020202020202020281
+:10BFA0000202020202020202020202020202020271
+:10BFB0000202020202020202020202020202020261
+:10BFC0000202020202020202020202020202020053
+:10BFD000010101000000000000000000010101015A
+:10BFE0000101010101010101010101010101010141
+:10BFF0000101010101010101010101010101010131
+:10C000000101010101010101010101010101010120
+:10C010000101010101010101010101010101010110
+:10C020000101010101010101010101010101010100
+:10C0300001010101010101010101010101010101F0
+:10C0400001010101010101010101010101010101E0
+:10C0500002010101010101010101010101010101CF
+:10C0600001010101010101010101010101010100C1
+:10C0700001000000000000000000000102020200B8
+:10C080000202020202020202020202020202020290
+:10C090000202020202020202020202020202020280
+:10C0A0000202020202020202020202020202020270
+:10C0B0000202020202020202020202020202020260
+:10C0C0000202020202020202020202020202020052
+:10C0D0000101010000000000000000000101010159
+:10C0E0000101010101010101010101010101010140
+:10C0F0000101010101010101010101010101010130
+:10C10000010101010101010101010101010101011F
+:10C11000010101010101010101010101010101010F
+:10C1200001010101010101010101010101010101FF
+:10C1300001010101010101010101010101010101EF
+:10C1400002020101010101000101010201010101DD
+:10C1500001010001010001010101010101000001D3
+:10C1600001020101000101010101010101000000C2
+:10C17000020202020202020202020202020202029F
+:10C18000020202020202020202020202020202028F
+:10C19000020202020202020202020202020202027F
+:10C1A000020202020202020202020202020202026F
+:10C1B000020202020202020202020202020202025F
+:10C1C0000202020202020202020202020202020150
+:10C1D0000101010000000000000000010101010157
+:10C1E000010101010101010101010101010101013F
+:10C1F000010101010101010101010101010101012F
+:10C20000010101010101010101010101010101011E
+:10C21000010101010101010101010101010101010E
+:10C2200001010101010101010101010101010101FE
+:10C2300001020201010101010001010101010101ED
+:10C2400001010102000202000001010100000001E1
+:10C2500000010000000000000001000002020201D5
+:10C2600002010001000000000000000002020202C2
+:10C27000020202020202020202020202020202029E
+:10C28000020202020202020202020202020202028E
+:10C29000020202020202020202020202020202027E
+:10C2A000020202020202020202020202020202026E
+:10C2B000020202020202020202020202020202025E
+:10C2C0000202020202020202020202020200020151
+:10C2D0000101010000000001010101010101010152
+:10C2E000010101010101010101010101010101013E
+:10C2F000010101010101010101010101010101012E
+:10C30000010101010101010101010101010101011D
+:10C31000010101010101010101010101010101010D
+:10C3200001020202020101010101010201010101F8
+:10C3300000010102020102000001010001000001F0
+:10C3400000000001000101000000000002020202E2
+:10C3500002020202020202020202020202020202BD
+:10C3600002020202020202020202020202020202AD
+:10C37000020202020202020202020202020202029D
+:10C38000020202020202020202020202020202028D
+:10C39000020202020202020202020202020202027D
+:10C3A000020202020202020202020202020202026D
+:10C3B000020202020202020202020202020202025D
+:10C3C0000202020202020202020202000000020154
+:10C3D000010101010101010101010101010101014D
+:10C3E000010101010101010101010101010101013D
+:10C3F000010101010101010101010101010101012D
+:10C40000010101010101010101010101010101011C
+:10C41000010101010101010101010101010101020B
+:10C4200000010101010202020101010101000000FD
+:10C4300002000001010001000000000002020202EF
+:10C4400002020202020202020202020202020202CC
+:10C4500002020202020202020202020202020202BC
+:10C4600002020202020202020202020202020202AC
+:10C47000020202020202020202020202020202029C
+:10C48000020202020202020202020202020202028C
+:10C49000020202020202020202020202020202027C
+:10C4A000020202020202020202020202020202026C
+:10C4B000020202020202020202020202020202025C
+:10C4C0000202020202020202020200000000000157
+:10C4D000010101010101010101010101010101014C
+:10C4E000010101010101010101010101010101013C
+:10C4F000010101010101010101010101010101012C
+:10C50000010101010101010101010101010101011B
+:10C51000010102010101010100010101020101010A
+:10C5200002000000000101010000000002020202FE
+:10C5300002020202020202020202020202020202DB
+:10C5400002020202020202020202020202020202CB
+:10C5500002020202020202020202020202020202BB
+:10C5600002020202020202020202020202020202AB
+:10C57000020202020202020202020202020202029B
+:10C58000020202020202020202020202020202028B
+:10C59000020202020202020202020202020202027B
+:10C5A000020202020202020202020202020202026B
+:10C5B000020202020202020202020202020202025B
+:10C5C000020202020200020202000000000000015A
+:10C5D000010101010101010101010101010101014B
+:10C5E000010101010101010101010101010101013B
+:10C5F000010101010101010101010101010101012B
+:10C600000101010101010101010101010201010119
+:10C610000202010101010101000101010102020206
+:10C6200002020202020202020202020202020202EA
+:10C6300002020202020202020202020202020202DA
+:10C6400002020202020202020202020202020202CA
+:10C6500002020202020202020202020202020202BA
+:10C6600002020202020202020202020202020202AA
+:10C67000020202020202020202020202020202029A
+:10C68000020202020202020202020202020202028A
+:10C69000020202020202020202020202020202027A
+:10C6A000020202020202020202020202020202026A
+:10C6B000020202020202020202020202020202025A
+:10C6C0000202020200000000000000000000000161
+:10C6D000010101010101010101010101010101014A
+:10C6E000010101010101010101010101010101013A
+:10C6F0000101010101010101010101010201010129
+:10C700000202010101010101010101010102020214
+:10C7100002020202020202020202020202020202F9
+:10C7200002020202020202020202020202020202E9
+:10C7300002020202020202020202020202020202D9
+:10C7400002020202020202020202020202020202C9
+:10C7500002020202020202020202020202020202B9
+:10C7600002020202020202020202020202020202A9
+:10C770000202020202020202020202020202020299
+:10C780000202020202020202020202020202020289
+:10C790000202020202020202020202020202020279
+:10C7A0000202020202020202020202020202020269
+:10C7B0000202020202020202020202020202020259
+:10C7C0000202020000000000000000000000000162
+:10C7D0000101010101010101010101010101010149
+:10C7E0000101010101010101010101010101010139
+:10C7F0000202010101010101010101010102020224
+:10C800000202020202020202020202020202020208
+:10C8100002020202020202020202020202020202F8
+:10C8200002020202020202020202020202020202E8
+:10C8300002020202020202020202020202020202D8
+:10C8400002020202020202020202020202020202C8
+:10C8500002020202020202020202020202020202B8
+:10C8600002020202020202020202020202020202A8
+:10C870000202020202020202020202020202020298
+:10C880000202020202020202020202020202020288
+:10C890000202020202020202020202020202020278
+:10C8A0000202020202020202020202020202020268
+:10C8B0000202020202020202020202020202020258
+:10C8C0000202020000000000000000000000000161
+:10C8D0000101010101010101010101010101010148
+:10C8E0000101010101010201010102010101010235
+:10C8F0000202020202020202020202020202020218
+:10C900000202020202020202020202020202020207
+:10C9100002020202020202020202020202020202F7
+:10C9200002020202020202020202020202020202E7
+:10C9300002020202020202020202020202020202D7
+:10C9400002020202020202020202020202020202C7
+:10C9500002020202020202020202020202020202B7
+:10C9600002020202020202020202020202020202A7
+:10C970000202020202020202020202020202020297
+:10C980000202020202020202020202020202020287
+:10C990000202020202020202020202020202020277
+:10C9A0000202020202020202020202020202020267
+:10C9B0000202020202020202020202020202020257
+:10C9C0000202000000000000000000000000000162
+:10C9D0000101010101010101010101010101010147
+:10C9E000000000000101010101010100000000023E
+:10C9F0000202020202020202020202020202020217
+:10CA00000202020202020202020202020202020206
+:10CA100002020202020202020202020202020202F6
+:10CA200002020202020202020202020202020202E6
+:10CA300002020202020202020202020202020202D6
+:10CA400002020202020202020202020202020202C6
+:10CA500002020202020202020202020202020202B6
+:10CA600002020202020202020202020202020202A6
+:10CA70000202020202020202020202020202020296
+:10CA80000202020202020202020202020202020286
+:10CA90000202020202020202020202020202020276
+:10CAA0000202020202020202020202020202020266
+:10CAB0000202020202020202020202020202020256
+:10CAC0000200000000000000000000000000000163
+:10CAD0000101010101010101010101010101010146
+:10CAE0000202020200000000000000000202020236
+:10CAF0000202020202020202020202020202020216
+:10CB00000202020202020202020202020202020205
+:10CB100002020202020202020202020202020202F5
+:10CB200002020202020202020202020202020202E5
+:10CB300002020202020202020202020202020202D5
+:10CB400002020202020202020202020202020202C5
+:10CB500002020202020202020202020202020202B5
+:10CB600002020202020202020202020202020202A5
+:10CB70000202020202020202020202020202020295
+:10CB80000202020202020202020202020202020285
+:10CB90000202020202020202020202020202020275
+:10CBA0000202020202020202020202020202020265
+:10CBB0000202020202020202020202020202020255
+:10CBC0000200000000000000000000000000000162
+:10CBD0000101010101010101010101010101010244
+:10CBE0000202020202020202020202020202020225
+:10CBF0000202020202020202020202020202020215
+:10CC00000202020202020202020202020202020204
+:10CC100002020202020202020202020202020202F4
+:10CC200002020202020202020202020202020202E4
+:10CC300002020202020202020202020202020202D4
+:10CC400002020202020202020202020202020202C4
+:10CC500002020202020202020202020202020202B4
+:10CC600002020202020202020202020202020202A4
+:10CC70000202020202020202020202020202020294
+:10CC80000202020202020202020202020202020284
+:10CC90000202020202020202020202020202020274
+:10CCA0000202020202020202020202020202020264
+:10CCB0000202020202020202020202020202020254
+:10CCC0000200000000000000000000000000000161
+:10CCD0000101010101010101010101010101010144
+:10CCE0000101010101010101010101010101010134
+:10CCF0000101010101010101010101010101010124
+:10CD00000101010101010101010101010101010113
+:10CD10000101010101010101010101010101010103
+:10CD200001010101010101010101010101010101F3
+:10CD300001010101010101010101010101010101E3
+:10CD400001010101010101010101010101010101D3
+:10CD500001010101010101010101010101010101C3
+:10CD600001010101010101010101010101010101B3
+:10CD700001010101010101010101010101010101A3
+:10CD80000101010101010101010101010101010193
+:10CD90000101010101010101010101010101010183
+:10CDA0000101010101010101010101010101010173
+:10CDB0000101010101010101010101010101010262
+:10CDC0000200000000000000000000000000000160
+:10CDD0000101010101010101010101010101010044
+:10CDE0000000000000000000000000000000000142
+:10CDF0000101010101010101010101010101010123
+:10CE00000101010101010101010101010101010112
+:10CE10000101010101010101010101010101010102
+:10CE200001010101010101010101010101010101F2
+:10CE300001010101010101010101010101010101E2
+:10CE400001010101010101010101010101010101D2
+:10CE500001010101010101010101010101010101C2
+:10CE600001010101010101010101010101010101B2
+:10CE700001010101010101010101010101010101A2
+:10CE80000101010101010101010101010101010192
+:10CE90000101010101010101010101010101010182
+:10CEA0000101010101010101010101010101010172
+:10CEB0000101010101010101010101010101010261
+:10CEC0000000000000000000000000000000000062
+:10CED0000000000000000000000000000000000052
+:10CEE0000000000000000000000000000000000042
+:10CEF0000000000000000000000000000000000032
+:10CF00000000000000000000000000000000000021
+:10CF10000000000000000000000000000000000011
+:10CF20000000000000000000000000000000000001
+:10CF300000000000000000000000000000000000F1
+:10CF400000000000000000000000000000000000E1
+:10CF500000000000000000000000000000000000D1
+:10CF600000000000000000000000000000000000C1
+:10CF700000000000000000000000000000000000B1
+:10CF800000000000000000000000000000000000A1
+:10CF90000000000000000000000000000000000091
+:10CFA0000000000000000000000000000000000081
+:10CFB0000000000000000000000000000000000071
+:10CFC000000000000000000000000000000000372A
+:10CFD0000000000000000000000000000000000051
+:10CFE000000000000000000000000200000000003F
+:10CFF0000000000000000000000000000000000031
+:10D000000000000000000000000000000000000020
+:10D010000000000000000000000000000000000010
+:10D0200000000000000000000000020000000000FE
+:10D0300000000002000000000000000000000000EE
+:10D0400000000000000000000000000000000000E0
+:10D0500000000000000000000000000000000000D0
+:10D0600000000000000000000000000000000000C0
+:10D0700000000000000000000000000200000000AE
+:10D08000000000000000000002000000000000009E
+:10D09000000000000000020000000000000000008E
+:10D0A0000000000000000000000000000000000080
+:10D0B0000000000000000000000000000000000070
+:10D0C0000000000000000000020002020002020254
+:10D0D0000202020200000002020000000000000044
+:10D0E000000000000000000200000200000000003C
+:10D0F000000000000000020000000000000000002E
+:10D10000000000000002020000000000000000001B
+:10D11000000000000000000000000000000000000F
+:10D1200000000000000000010202020201000000F5
+:10D1300000000002020200000000000000000000E9
+:10D1400000000000000000000000000000000000DF
+:10D1500000000000000000000000000000000000CF
+:10D1600000000000000000000000000000000000BF
+:10D1700000000000000000020200000200000000A9
+:10D18000000000020202000002010202000200028E
+:10D19000000000000002020000000000000000008B
+:10D1A000000000000000020002000000000000007B
+:10D1B000020000020202020202000000020002005D
+:10D1C0000000000202020200020002020202020249
+:10D1D0000202020200000002020000000000000043
+:10D1E000000000000000000200000200000000003B
+:10D1F000000002000000020000000000000000002B
+:10D20000000000000002020000000000000000001A
+:10D21000000000000000000000000000000000000E
+:10D2200000000000000002020202020201020000EF
+:10D2300000000002020200000000000000000000E8
+:10D2400000000000000000000000000000000000DE
+:10D2500000000000000000000000000000000000CE
+:10D2600000000000000000000000000000000000BE
+:10D2700000000000000000020202020200000000A4
+:10D28000000000020202000002020202000202028A
+:10D290000200000000020200000001020002000281
+:10D2A0000000000000000200020202000002000272
+:10D2B0000200020202020202020202020202020250
+:10D2C0000000000202020200020202020202020246
+:10D2D000020202020202000202000000000000003E
+:10D2E000000000000000000200000200000000003A
+:10D2F000000002000000020000000000000000002A
+:10D300000200000000020200000000000000000017
+:10D31000000000000000000002000000000000000B
+:10D3200000000000020002020202020202020000EB
+:10D3300000000002020200000000000000000000E7
+:10D3400000000000000000000000000000000000DD
+:10D3500000000000000000000000000000000000CD
+:10D3600000000000000000020000000000000000BB
+:10D3700000000000000000020202020200000000A3
+:10D380000000000202020200020202020002020287
+:10D390000202000000020200020001020202020278
+:10D3A000020000000000020002020200020202026B
+:10D3B000020002020202020202020202020202024F
+:10D3C0000200000202020200020202020202020243
+:10D3D000020202020202000202000000000000003D
+:10D3E0000000000000000002000002000000000039
+:10D3F0000000020000000200000000000000000029
+:10D400000200000000020200000000000000000016
+:10D410000000000000000000020000000000000208
+:10D4200000000000020002020202020202020002E8
+:10D4300000000002020200000000000000000000E6
+:10D4400000000000000000000000000000000000DC
+:10D4500000000000000000000000000000000000CC
+:10D4600000000000000000020000000100000000B9
+:10D4700000000000000000020202020200020000A0
+:10D480000000020202020202020202020002020282
+:10D490000202000000020200020202020202020274
+:10D4A0000202000000000200020202020202020266
+:10D4B000020202020202020202020202020202024C
+:10D4C000020202020202020002020202020202023E
+:10D4D0000202020202020002020002000000000238
+:10D4E0000000000000000002000002000000000038
+:10D4F0000000020000020200000000000000000026
+:10D500000200000000020200000000000000000015
+:10D510000000000000000001020000000000000206
+:10D5200000000000020002020202020202020202E5
+:10D5300002000002020202000000000000000000E1
+:10D5400000000000000000000000000000000000DB
+:10D5500000000000000000000000000000000000CB
+:10D5600000000000000000020200000200000000B5
+:10D57000000000000000000202020202020202009B
+:10D580000000020202020202020202020002020281
+:10D59000020202000002020202020202020202026F
+:10D5A0000202000200000200020202020202020263
+:10D5B000020202020202020202020202020202024B
+:10D5C0000202020202020200010101010101010145
+:10D5D000010101010101010202000200000000023C
+:10D5E0000000000000000002000002010000000036
+:10D5F0000000020000020200000000000000000025
+:10D600000200000000020200000000000000000014
+:10D610000000000000000001020001000000000204
+:10D6200000000000020002020202020202020202E4
+:10D6300002000002020202000000000000000000E0
+:10D6400000000000000000000000020000000000D8
+:10D6500000000000000000000000000000000000CA
+:10D6600000000000000000020201020200000000B1
+:10D670000000000000000002020202020202020298
+:10D68000000202020202020202020202010202027D
+:10D69000020202020002020202020202020202026C
+:10D6A0000202020200000200020202020202020260
+:10D6B000020202020202020202020202020202024A
+:10D6C0000202020202020200010101010101010144
+:10D6D0000101010101010102020202000000000239
+:10D6E0000002000000020002000002020000000030
+:10D6F0000000020000020200010000000000000023
+:10D700000200000000020200000000000000000013
+:10D710000000000000000001020001000000000203
+:10D7200000000000020202020202020202020202E1
+:10D7300002000002020202000000000000000000DF
+:10D7400000000000000000020100020000000000D4
+:10D7500000000000000000000002020000000000C5
+:10D7600000000000000000020202020200010000AE
+:10D770000000000000000202020202020202020295
+:10D780000202020202020202020202020202020279
+:10D79000020202020002020202020202020202026B
+:10D7A0000202020202020202020202020202020259
+:10D7B0000202020202020202020202020202020249
+:10D7C0000202020202020200010100010101010144
+:10D7D0000101010101010102020202000000000238
+:10D7E000000200000002000200000202000000002F
+:10D7F0000000020000020201010000000000000021
+:10D800000200000000020200000200000000000010
+:10D810000000000000000002020001000000000201
+:10D8200000000000020202020202020202020202E0
+:10D8300002000002020202000200020000000000DA
+:10D8400000000000000000020100020000000000D3
+:10D8500000000000000000020002020000000000C2
+:10D8600000000000000000020202020200010002AB
+:10D870000000000000020202020202020202020292
+:10D880000202020202020202020202020202020278
+:10D890000202020202020202020202020202020268
+:10D8A0000202020202020202020202020202020258
+:10D8B0000202020202020102020202020202020249
+:10D8C0000202020202020200010100010101010143
+:10D8D0000101010101010102020202000202000233
+:10D8E000000200000002000200000202000000002E
+:10D8F000000002020002020102000000000000001D
+:10D90000020000000002020000020000000000000F
+:10D9100000000000000000020200020001000002FE
+:10D9200000000000020202020202020202020202DF
+:10D9300002000002020202000202020000000000D7
+:10D9400000000000000000020102020001020200CB
+:10D9500000000000000002020002020000000000BF
+:10D9600000000000000000020202020202020202A5
+:10D97000020000000002020202020202020202028F
+:10D980000202020202020202020202020202020277
+:10D990000202020202020202020202020202020267
+:10D9A0000202020202020202020202020202020257
+:10D9B000020202020101010202020202020202024A
+:10D9C0000202020202020200010000010001010144
+:10D9D0000101010101010102020202000202000232
+:10D9E000000200000002000200000202000000002D
+:10D9F000000002020002020202000000000000001B
+:10DA0000020000000002020000020000000000000E
+:10DA100000000000000000020200020101000002FC
+:10DA200000000000020202020202020202020202DE
+:10DA300002000002020202000202020000000000D6
+:10DA400000000000000000020202020102020200C7
+:10DA500000000000000002020202020201010200B6
+:10DA600000000000000200020202020202020202A2
+:10DA7000020200000002020202020202020202028C
+:10DA80000202020202020202020202020202020276
+:10DA90000202020202020202020202020202020266
+:10DAA0000202020202020102020202020202020257
+:10DAB000020202010101010202020202020202024A
+:10DAC0000202020202020100000000000000000049
+:10DAD0000000000000000102020202000202000237
+:10DAE000000200000002000200000202000000002C
+:10DAF000000002020002020202000000000000001A
+:10DB0000020000000002020100020000000000000C
+:10DB100000000000000000020200020101000002FB
+:10DB200000000000020202020202020202020202DD
+:10DB300002000002020202000202020002000200D1
+:10DB400000000000000000020202020202020200C5
+:10DB500000000200000002020202020202020200B1
+:10DB6000000000020002000202020202020202029F
+:10DB7000020200000002020202020202020202028B
+:10DB80000202020202020202020202020202020275
+:10DB90000202020202020102020202020202020266
+:10DBA0000202020202020102020202020202020256
+:10DBB000020201010101010202020202020202024A
+:10DBC000020202020101010000000000000000004A
+:10DBD0000000000000000102020202000202000137
+:10DBE000000100000002000200000202000000002C
+:10DBF0000002020200020202020100000000000016
+:10DC0000020000000002020100020000000000000B
+:10DC100000000000000000020200020102000002F9
+:10DC200000000000020202020202020202020202DC
+:10DC300002000002020202000202020202020202CA
+:10DC400000020002000002020202020202020202BC
+:10DC500002000202000002020202020202020202AA
+:10DC6000000000020002020202020202020202029C
+:10DC70000202020000020202020202020202020288
+:10DC80000202020202020202020202020202020274
+:10DC90000202020202020102020202020202020265
+:10DCA0000202020202020102020202020202020255
+:10DCB000010201010101010202020202020202024A
+:10DCC000020202010101010000000000000000004A
+:10DCD0000000000000000102020202000202000136
+:10DCE0000001000002020002000002020200000027
+:10DCF0000002020202020202020100000100000012
+:10DD00000200000000020202020200000000000007
+:10DD100000000000000000020200020202000002F7
+:10DD200000000000020202020202020202020202DB
+:10DD300002000002020202000202020202020202C9
+:10DD400002020202000202020202020202020202B5
+:10DD500002000202020002020202020202020202A7
+:10DD60000200000200020202020202020202020299
+:10DD70000202020200020202020202020202020285
+:10DD80000202020201010102020202020202020276
+:10DD90000202020202010102020202020202020265
+:10DDA0000202020202020102020202020202020254
+:10DDB0000102010101010102020202020202020249
+:10DDC0000202020101010100000000000000000049
+:10DDD0000000000000000102020202000202000135
+:10DDE0000001000002020002000002020202000024
+:10DDF0000002020202020202020101000100000010
+:10DE00000200000000020202020200000000000006
+:10DE100000000000000000020200020202000002F6
+:10DE200000000000020202020202020202020202DA
+:10DE300002020002010102000202020202020202C8
+:10DE400002020202000202020202020202020202B4
+:10DE500002020202020002020202020202020202A4
+:10DE60000200000202020202020202020202020296
+:10DE70000202020200020202020202020202020284
+:10DE80000202020101010102020202020202020276
+:10DE90000202020202010102020202020202020264
+:10DEA0000202020202020102020202020202020154
+:10DEB0000101010101010102020202020202020249
+:10DEC0000202020101010100000000000000000048
+:10DED000000001000000010202020202020202012F
+:10DEE000020102000202000200000202020202001D
+:10DEF000000202020202020202020200020000000C
+:10DF00000200000000020102020200000000000006
+:10DF100000000000000000020200020202000002F5
+:10DF200000000000020201020202020202020202DA
+:10DF300002020001010101000202020202020202C9
+:10DF400002020202000202020202020202020202B3
+:10DF500002020202020202020202020202020202A1
+:10DF60000202000202020202020202020202020293
+:10DF70000202020202020202020202020202020281
+:10DF80000202020101010102020202020202020275
+:10DF90000202020202010102020202020202020263
+:10DFA0000202020101010102010202020201010159
+:10DFB0000101010101010102020202020202020248
+:10DFC0000202010101010100000000000000000048
+:10DFD000000001010101010202020102020102012D
+:10DFE000020102000201000200020202020202001B
+:10DFF000000202020202010202020201020000000B
+:10E000000200000000010102020200000000000006
+:10E0100000000000000000020200020202000002F4
+:10E0200000000000020201020202020202020202D9
+:10E0300002020001010101020202020202020202C6
+:10E0400002020202000202020202020202020202B2
+:10E0500002020202020202020202020202020202A0
+:10E060000202000202020202020202020202020292
+:10E070000202020202020102020202020202020281
+:10E080000202010101010102020202020202020275
+:10E090000202020202010102020202020202020163
+:10E0A000010101010101010201010202010101015D
+:10E0B0000101010101010102020202020202010149
+:10E0C0000101010101010100000000000000000049
+:10E0D000000001010101010202020102010102012D
+:10E0E000020102000201000200020202020202001A
+:10E0F000000202020202010202020201020000000A
+:10E100000200000000010102020200000000000005
+:10E1100000000000000000020200020202000002F3
+:10E1200000000000010201020202020202020202D9
+:10E1300002020001010101020202020202020202C5
+:10E1400002020202000202020202020202020202B1
+:10E1500002020202020201020202020202020202A0
+:10E16000020202020202020202020202020202028F
+:10E170000202020202020102020202020202020280
+:10E180000202010101010102020202020202020175
+:10E190000101010101010102020202020201010169
+:10E1A000010101010101010201010101010101015E
+:10E1B000010101010101010202020202010101014A
+:10E1C0000101010101010100000000000000000048
+:10E1D000000001010101000202020102010102022C
+:10E1E0000202020002010002000202020202020018
+:10E1F0000002020202020102020202020200000008
+:10E200000200000000010102020200000000000004
+:10E2100000000000000000020201020202000002F1
+:10E2200000000000010201020202020202010202D9
+:10E2300002020201010101020202020202020202C2
+:10E2400002020202000202020202020202020202B0
+:10E25000020202020202010202020202020202029F
+:10E26000020202020202020202020202020202028E
+:10E270000202020202010102020202010202020281
+:10E280000202010101010102020202020201010176
+:10E29000010101010101010202020201010101016A
+:10E2A000010101010101010201010101010101015D
+:10E2B000010101010101010201020201010101014B
+:10E2C0000101010101010100000000000000000047
+:10E2D000000001010101000202020102010102022B
+:10E2E0000202010201010002000202020202020017
+:10E2F0000202020202010102020202020200000006
+:10E300000200000002010102020200000000000001
+:10E3100000000000000200020202020202000002ED
+:10E3200000000000010101020202010202010202DA
+:10E3300002020201010101020202020202020202C1
+:10E3400002020202000201020202020202020202B0
+:10E35000020202020202010202020202020202029E
+:10E36000020202020201010202020202020202028F
+:10E370000202020202010102020202010202020280
+:10E380000201010101010102010202010201010178
+:10E39000010101010101010201020201010101016A
+:10E3A000010101010101010201010101010101015C
+:10E3B000010101010101010201010101010101014C
+:10E3C0000101010101010100000000000000000046
+:10E3D000000001010101000202020102010102022A
+:10E3E0000102010201010002000202020202020017
+:10E3F0000202010202010102020202020201000005
+:10E400000100000002010102020200000000000001
+:10E4100000000000000200020202020202020002EA
+:10E4200000000002010101020102010102010201DA
+:10E4300001020201010101020202020202020202C1
+:10E4400002020202000201020202020202020202AF
+:10E45000020202020202010202020202020202029D
+:10E46000020202020201010202020202020202028E
+:10E470000202020202010102010102010201010184
+:10E480000101010101010102010201010201010179
+:10E49000010101010101010201010201010101016A
+:10E4A000010101010101010201010101010101015B
+:10E4B000010101010101010201010101010101014B
+:10E4C0000101010101010100000000000000000045
+:10E4D0000000010101010001020202020102010229
+:10E4E0000102020201010002000202020202020015
+:10E4F0000202010202010102020202020202000003
+:10E500000100000002010102020200000000000000
+:10E5100002000000000202020202020202020201E4
+:10E5200002000202010101020101010102010101D7
+:10E5300001020201010101020202020202020202C0
+:10E5400002020201000101020202020202020202B0
+:10E55000020202020101010202020202020202029E
+:10E56000020202010101010202020202020202028F
+:10E570000202020202010102010101010101010185
+:10E580000101010101010102010101010201010179
+:10E590000101010101010102010102010101010169
+:10E5A000010101010101010201010101010101015A
+:10E5B000010101010101010201010101010101014A
+:10E5C0000101010101010100000000000000000044
+:10E5D0000000010101010001020102020202010228
+:10E5E0000102020201010002000202020202020014
+:10E5F0000202010202010102020202020202000200
+:10E6000001000000020101020202000000000000FF
+:10E6100002020000000202020202020202020201E1
+:10E6200002020202010101020101010101010101D5
+:10E6300001020201010101020202020202020202BF
+:10E6400002020101020101020202020202020202AE
+:10E65000020201010101010202020202020202029F
+:10E660000202020101010102020202010202020190
+:10E670000101010101010102010101010101010189
+:10E680000101010101010102010101010201010178
+:10E690000101010101010102010101010101010169
+:10E6A0000101010101010102010101010101010159
+:10E6B0000101010101010102010101010101010149
+:10E6C0000101010101010100000000000000000043
+:10E6D0000000010101010001010102020202010228
+:10E6E0000202010101010002020202020202020012
+:10E6F0000202010101010102020202020202000201
+:10E7000001000000020101020201000000000000FF
+:10E7100002020000000202020102020202020201E1
+:10E7200002020202010101020101010101010101D4
+:10E7300001020201010101020202020202020202BE
+:10E7400002020101020101020202020202020102AE
+:10E7500002020101010101020201020202020102A0
+:10E760000202020101010102010202010202010191
+:10E770000101010101010102010101010101010188
+:10E780000101010101010102010101010101010178
+:10E790000101010101010102010101010101010168
+:10E7A0000101010101010102010101010101010158
+:10E7B0000101010101010101010101010101010149
+:10E7C0000101010101010100000000000000000042
+:10E7D000000000010100000101010201020202012A
+:10E7E0000201010101010002020201020202020211
+:10E7F0000202010101010102020202020202000200
+:10E8000001020000020101020101010000000000FC
+:10E8100002020200000202020102020202020201DE
+:10E8200002020202010101020101010101010101D3
+:10E8300001010201010101020202020202020202BE
+:10E8400002010101020101020202010202010101B1
+:10E8500001010101010101020201010202020101A3
+:10E860000102020101010102010201010102010193
+:10E870000101010101010101010101010101010188
+:10E880000101010101010102010101010101010177
+:10E890000101010101010102010101010101010167
+:10E8A0000101010101010101010101010101010158
+:10E8B0000101010101010101010101010101010148
+:10E8C0000101010101010100000000000000000041
+:10E8D000000000000000000101010202020202012A
+:10E8E0000201010101010002020201020202020210
+:10E8F00002020101010101020202020202020202FD
+:10E9000001020000020101020101010000000000FB
+:10E9100002020200000101020102020202020201DF
+:10E9200002020202010101020101010101010101D2
+:10E9300001010101010101020101020202020101C2
+:10E9400001010101020101020202010201010101B2
+:10E9500001010101010101020201010101010101A5
+:10E960000101010101010101010101010101010197
+:10E970000101010101010101010101010101010187
+:10E980000101010101010102010101010101010176
+:10E990000101010101010101010101010101010167
+:10E9A0000101010101010101010101010101010157
+:10E9B0000101010101010101010101010101010147
+:10E9C0000101010101010100000000000000000040
+:10E9D000000100000000000101010101020102012B
+:10E9E0000101010101010002020201020202020210
+:10E9F00002020101010101020202020202020202FC
+:10EA000001020000010101020101010000000000FB
+:10EA100002020200000101020102020202020201DE
+:10EA200002020202010101010101010101010101D2
+:10EA300001010101010101020101010201010101C4
+:10EA400001010101010101020201010101010101B4
+:10EA500001010101010101020101010101010101A5
+:10EA60000101010101010101010101010101010196
+:10EA70000101010101010101010101010101010186
+:10EA80000101010101010101010101010101010176
+:10EA90000101010101010101010101010101010166
+:10EAA0000101010101010101010101010101010156
+:10EAB0000101010101010101010101010101010146
+:10EAC000010101010101010000000000000000003F
+:10EAD000010100000000000201010101010101012A
+:10EAE0000101010101010001020201010202020211
+:10EAF00002010101010101020202020202020202FC
+:10EB000001020000010101020101020000000000F9
+:10EB100002020202000101020102020202020201DB
+:10EB200002020201010101010101010101010101D2
+:10EB300001010101010101020101010101010101C4
+:10EB400001010101010101020201010101010101B3
+:10EB500001010101010101020101010101010101A4
+:10EB60000101010101010101010101010101010195
+:10EB70000101010101010101010101010101010185
+:10EB80000101010101010101010101010101010175
+:10EB90000101010101010101010101010101010165
+:10EBA0000101010101010101010101010101010155
+:10EBB0000101010101010101010101010101010145
+:10EBC000010101010101010000000000000000013D
+:10EBD0000101000000000002010101010101010129
+:10EBE0000101010101010001020201010202020210
+:10EBF00002010101010101020102020202020202FC
+:10EC000001020200010101020101020000000000F6
+:10EC100002020202000101020102020202020201DA
+:10EC200002020101010101010101010101010101D2
+:10EC300001010101010101020101010101010101C3
+:10EC400001010101010101010101010101010101B4
+:10EC500001010101010101020101010101010101A3
+:10EC60000101010101010101010101010101010194
+:10EC70000101010101010101010101010101010184
+:10EC80000101010101010101010101010101010174
+:10EC90000101010101010101010101010101010164
+:10ECA0000101010101010101010101010101010154
+:10ECB0000101010101010101010101010101010144
+:10ECC000010101010101010001000000000000013B
+:10ECD0000101000000000002010101010101010128
+:10ECE0000101010101010001020201010202010210
+:10ECF00002010101010101020102020202020202FB
+:10ED000001020202010101020101020001000000F2
+:10ED100001010101010101020102010201020201DE
+:10ED200002020101010101010101010101010101D1
+:10ED300001010101010101020101010101010101C2
+:10ED400001010101010101010101010101010101B3
+:10ED500001010101010101010101010101010101A3
+:10ED60000101010101010101010101010101010193
+:10ED70000101010101010101010101010101010183
+:10ED80000101010101010101010101010101010173
+:10ED90000101010101010101010101010101010163
+:10EDA0000101010101010101010101010101010153
+:10EDB0000101010101010101010101010101010143
+:10EDC0000101010101010100010000000000010139
+:10EDD0000101000000000002010101010101010127
+:10EDE0000101010101000001020201010101010212
+:10EDF00001010101010101020102020201020202FC
+:10EE000001020202010101020101020101000000F0
+:10EE100001010101010101020102010101020201DE
+:10EE200001010101010101010101010101010101D2
+:10EE300001010101010101020101010101010101C1
+:10EE400001010101010101010101010101010101B2
+:10EE500001010101010001010101010101010101A3
+:10EE60000101010101010101010101010101010192
+:10EE70000101010101010101010101010101010182
+:10EE80000101010101010101010101010101010172
+:10EE90000101010101010101010101010101010162
+:10EEA0000101010101010101010101010101010152
+:10EEB0000101010101010101010101010101010142
+:10EEC0000101010101010100010000010001010136
+:10EED0000101000000000002010101010101010126
+:10EEE0000101010101000001020101010101010212
+:10EEF00001010101010101020102010201020201FD
+:10EF000001010202010101020101020101000000F0
+:10EF100001010101010101020102010101010101DF
+:10EF200001010101010101010101010101010101D1
+:10EF300001010101010101020101010101010101C0
+:10EF400001010101010101010101010101010101B1
+:10EF500001010101010001010101010101010101A2
+:10EF60000101010101010101010101000101010192
+:10EF70000101010101010101010101010101010181
+:10EF80000101010101010101010101010101010171
+:10EF90000101010101010101010101010101010161
+:10EFA0000101010101010101000101010101010152
+:10EFB0000101010101010101010101010101010141
+:10EFC0000101010101010100010000010001010135
+:10EFD0000101000000000002010101010101010125
+:10EFE0000101010100000101020101010101010211
+:10EFF00001010101010101020101010101010201FF
+:10F0000001010101010101020101020102000000F0
+:10F0100001010101010101010102010101010101DF
+:10F0200001010101010101010101010101010101D0
+:10F0300001010101010101020101010101010101BF
+:10F0400001010101010101010101010101010101B0
+:10F0500001010101010101010101010101010101A0
+:10F060000101010101010100010101000101010192
+:10F070000101010101010101010101010101010180
+:10F080000101010101010101010101010101010170
+:10F090000101010101010101010101010101010160
+:10F0A0000101010101010101000001010101010152
+:10F0B0000001000000000001010101010101010146
+:10F0C0000101010101010102020202020202020227
+:10F0D000020202020202020101000101010101011A
+:10F0E0000101000100000101020101010101010211
+:10F0F0000101010101010101010101010101010100
+:10F1000001010101010101010101020202000000EF
+:10F1100001010101010101010101010101010101DF
+:10F1200001010101010101010101010101010101CF
+:10F1300001010101010101020101010101010101BE
+:10F1400001010101010101010101000101010101B0
+:10F15000010101010101010101010101010101019F
+:10F160000101010101010100010101010101010190
+:10F17000010101010101010101010101010101017F
+:10F18000010101010101010101010101010101016F
+:10F19000010101010101010101010101010101015F
+:10F1A0000101010101010101000000000000000057
+:10F1B0000000000000000001010101010101010146
+:10F1C0000101010101010102020202020202020226
+:10F1D000020202020202020101000101010101001A
+:10F1E0000100000000000101020101010101010113
+:10F1F00001010101010101010101010101010101FF
+:10F2000001010101010101010101020202000000EE
+:10F2100001010101010101010101010101010101DE
+:10F2200001010101010101010101010101010101CE
+:10F2300001010101010101010101010101010101BE
+:10F2400001010101010101010101010101010101AE
+:10F25000010101010101010101010101010101019E
+:10F26000010101010101010101010101010101018E
+:10F27000010101010101010101010101010101017E
+:10F28000010101010101010101010101010101016E
+:10F29000010101010101010101010101010101015E
+:10F2A0000101010101010100020000000000000055
+:10F2B0000000000000000001010101010101010145
+:10F2C0000101010101010102020202020202020225
+:10F2D000020202020202020101000000010001001C
+:10F2E0000000000000000101010101010101010114
+:10F2F00001010101010101010101010101010101FE
+:10F3000001010101010101010201020202000200EA
+:10F3100001010101010101010101010101010101DD
+:10F3200001010101010101010101010101010101CD
+:10F3300001010101010101010101010101010101BD
+:10F3400001010101010101010101010101010101AD
+:10F35000010101010101010101010101010101019D
+:10F36000010101010101010101010101010101018D
+:10F37000010101010101010101010101010101017D
+:10F38000010101010101010101010101010101016D
+:10F39000010101010101010101010101010101015D
+:10F3A0000101010101010100020200000000000052
+:10F3B0000200020202020201010101010101010138
+:10F3C0000101010101010102020202020202020224
+:10F3D000020202020202020101000000000000001D
+:10F3E0000000000000000101010101010101010113
+:10F3F00001010101010101010101010101010101FD
+:10F4000001010101010101010201020202000200E9
+:10F4100001010101010101010101010101010101DC
+:10F4200001010101010101010101010101010101CC
+:10F4300001010101010101010101010101010101BC
+:10F4400001010101010101010101010101010101AC
+:10F45000010101010101010101010101010101019C
+:10F46000010101010101010101010101010101018C
+:10F47000010101010101010101010101010101017C
+:10F48000010101010101010101010101010101016C
+:10F49000010101010101010100010101010101015D
+:10F4A0000101010101010000020202020202020246
+:10F4B0000202020202020201020101010101010134
+:10F4C000010101020202020202020202020202021F
+:10F4D000020202020202020100000000000000001D
+:10F4E0000000000000000101010101010101010112
+:10F4F00001010101010101010101010101010101FC
+:10F5000001010101010101010201020202000200E8
+:10F5100001010101010101010101010101010101DB
+:10F5200001010101010101010101010101010101CB
+:10F5300001010101010101010101010101010101BB
+:10F5400001010101010101010101010101010101AB
+:10F55000010101010101010101010101010101019B
+:10F56000010101010101010101010101010101018B
+:10F57000010101010101010101010101010101017B
+:10F58000010101010101010102010101010101016A
+:10F590000101010101010101020001000000000060
+:10F5A0000000000000000202020202020202020247
+:10F5B000020202020202020102020202020202022C
+:10F5C000020202020202020202020202020202021B
+:10F5D000020202020202020100000000000000001C
+:10F5E0000000000000000101010101010101010111
+:10F5F00001010101010101010101010101010101FB
+:10F6000001010101010101010201020202000202E5
+:10F6100001010101010101010101010101010101DA
+:10F6200001010101010101010101020101020101C8
+:10F6300001010101010101010101010101010101BA
+:10F6400001010101010101010101010101010101AA
+:10F65000010101010101010101010101010101019A
+:10F66000010101010101010101010101010101018A
+:10F67000010101010101010101010101010101017A
+:10F680000101010101010101010102010101010169
+:10F690000101010101010000020200020202020256
+:10F6A000020202020202020202020202020202023A
+:10F6B000020202020202020202020202020202022A
+:10F6C000020202020202020202020202020202021A
+:10F6D000020202020202020100000000000000001B
+:10F6E000000000000001010101010101010101010F
+:10F6F00001010101010101010101010101010101FA
+:10F7000001010101010101010202020202000102E4
+:10F7100001010101010101010101010101010101D9
+:10F7200001010101010101010201020101020101C6
+:10F7300001010101010101010101010101010101B9
+:10F7400001010101010101010101010101010101A9
+:10F75000010101010101010101000101010101019A
+:10F760000101010101010101010101010101010189
+:10F77000010101010101010101000100010101017B
+:10F78000010100020101010100000100010000006F
+:10F790000000000000020202020202020202020253
+:10F7A0000202020202020202020202020202020239
+:10F7B0000202020202020202020202020202020229
+:10F7C0000202020202020202020202020202020219
+:10F7D0000202020202020201010000000000000019
+:10F7E000000000000001010101010101010101010E
+:10F7F00001010101010101010101010101010101F9
+:10F8000001010101010101010202010202020101E3
+:10F8100001010101010101010101010101010101D8
+:10F8200001010101010101010201020101020101C5
+:10F8300001010101010101010101010101010101B8
+:10F8400001010101010101010101010101010101A8
+:10F850000101010101010101010001010101010199
+:10F860000101010101010101020101010101010187
+:10F870000101010101010101020001000101010179
+:10F880000101000102020200020200020002020263
+:10F890000202020202020202020202020202020248
+:10F8A0000202020202020202020202020202020238
+:10F8B0000202020202020202020202020202020228
+:10F8C0000202020202020202020202020202020218
+:10F8D0000202020202020201010000000000000018
+:10F8E000000000000101010101010101010101010C
+:10F8F00001010101010101010101010101010101F8
+:10F9000001010101010101010202010201020101E3
+:10F9100001010101010101010101010101010101D7
+:10F9200001010101010101010101010101010101C7
+:10F9300001010101020202010102010101010101B3
+:10F9400001010202010101010101010101010101A5
+:10F95000010101010101000102000001000100019B
+:10F960000101010102010102010101010101010185
+:10F97000010101010101000202020202020202026F
+:10F980000202020202020202020202020202020257
+:10F990000202020202020202020202020202020247
+:10F9A0000202020202020202020202020202020237
+:10F9B0000202020202020202020202020202020227
+:10F9C0000202020202020202020202020202020217
+:10F9D0000202020202020201010000000000000017
+:10F9E000000000000101010101010101010101010B
+:10F9F00001010101010101010101010101010101F7
+:10FA000001010101010101010102010101020101E4
+:10FA100001010102020101010101010101010101D4
+:10FA200001010101010101010102010201010101C4
+:10FA300001020202020202010001010101010101B1
+:10FA400001010101010100000001010000010200AB
+:10FA5000010001010100000101000002020000009C
+:10FA60000001010101000001000000000001000090
+:10FA70000000000000020202020202020202020270
+:10FA80000202020202020202020202020202020256
+:10FA90000202020202020202020202020202020246
+:10FAA0000202020202020202020202020202020236
+:10FAB0000202020202020202020202020202020226
+:10FAC0000202020202020202020202020202020216
+:10FAD0000202020202020200010100000000000016
+:10FAE0000000010101010101010101010101010108
+:10FAF00001010101010101010101010101010101F6
+:10FB000001010101010101010102010101010101E4
+:10FB100001010102020101010101010101010101D3
+:10FB200001010101010101020002010202010202C0
+:10FB300002020202010101010000010101010101B3
+:10FB400001010000000000000001020000010100AE
+:10FB5000020001010000000000000001020000009E
+:10FB6000000000020002020002020202020202027F
+:10FB70000202020202020202020202020202020265
+:10FB80000202020202020202020202020202020255
+:10FB90000202020202020202020202020202020245
+:10FBA0000202020202020202020202020202020235
+:10FBB0000202020202020202020202020202020225
+:10FBC0000202020202020202020202020202020215
+:10FBD0000202020202020201010100000000000113
+:10FBE0000101010101010101010101010101010105
+:10FBF00001010101010101010101010101010101F5
+:10FC000001010101010101020101010101010101E3
+:10FC100001010102020101010001010101010101D3
+:10FC200001010101010101010001000101000101C7
+:10FC300001010101010101000000010101010101B7
+:10FC400001010000000000000002010000020000AD
+:10FC50000100020202000202020202020202020289
+:10FC60000202020202020202020202020202020274
+:10FC70000202020202020202020202020202020264
+:10FC80000202020202020202020202020202020254
+:10FC90000202020202020202020202020202020244
+:10FCA0000202020202020202020202020202020234
+:10FCB0000202020202020202020202020202020224
+:10FCC0000202020202020202020200020002020218
+:10FCD0000202020202000001010101010101010111
+:10FCE0000101010101010101010101010101010104
+:10FCF00001010101010101010101010101010101F4
+:10FD000002010101010101020101010101010101E1
+:10FD100002020202020101010001010101010102CE
+:10FD200001010101010100000001000100000000CB
+:10FD300000010101000000000200020202020202B2
+:10FD40000202000000020202020202020202020299
+:10FD50000202020202020202020202020002020285
+:10FD60000202020202020202020202020202020273
+:10FD70000202020202020202020202020202020263
+:10FD80000202020202020202020202020202020253
+:10FD90000202020202020202020202020202020243
+:10FDA0000202020202020202020202020202020233
+:10FDB0000202020202020202020202020202020223
+:10FDC000020202020202020202020002000000021B
+:10FDD0000202020000000001010101010101010114
+:10FDE0000101010101010101010101010101010103
+:10FDF00001010101010101010001010101010101F4
+:10FE000001010101010000020101010101010101E3
+:10FE100002020201010202010201010101010101CC
+:10FE200001010000020202020202000202000202BC
+:10FE300002000002020202000202020202020202A8
+:10FE40000202020202020202020202020202020292
+:10FE50000202020202020202020202020002020284
+:10FE60000202020202020202020202020202020272
+:10FE70000202020202020202020202020202020262
+:10FE80000202020202020202020202020202020252
+:10FE90000202020202020202020202020202020242
+:10FEA0000202020202020202020202020202020232
+:10FEB0000202020202020202020202020202020222
+:10FEC000020202020202020202020002000000001C
+:10FED0000000000000000001010101010101010119
+:10FEE00001010101010101020202010101010101FF
+:10FEF00001010101020202010000000000000000F7
+:10FF000000000000010000010101010101010101E7
+:10FF100001010101010101020202020202020202C8
+:10FF200002020202020202020202020202020202B1
+:10FF300002020202020202020202020202020202A1
+:10FF40000202020202020202020202020202020291
+:10FF50000202020202020202020202020202020281
+:10FF60000202020202020202020202020202020271
+:10FF70000202020202020202020202020202020261
+:10FF80000202020202020202020202020202020251
+:10FF90000202020202020202020202020202020241
+:10FFA0000202020202020202020202020202020231
+:10FFB0000202020202020202020202020202020221
+:10FFC000020202020202020202020000000000001D
+:10FFD0000000000000000001010101010101010118
+:10FFE0000101010101010101010101010101010101
+:10FFF00001010101010101000200000000000000F8
+:02000002C0003C
+:1000000000000000020202010101010101010100E2
+:1000100001010101010202020202020202020202C5
+:1000200002020202020202020202020202020202B0
+:1000300002020202020202020202020202020202A0
+:100040000202020202020202020202020202020290
+:100050000202020202020202020202020202020280
+:100060000202020202020202020202020202020270
+:100070000202020202020202020202020202020260
+:100080000202020202020202020202020202020250
+:100090000202020202020202020202020202020240
+:1000A0000202020202020202020202020202020230
+:1000B0000202020202020202020202020202020220
+:1000C000020202020202020202000000000000001E
+:1000D0000000000000000001010101010101010117
+:1000E0000101010101010100000000000101000106
+:1000F00000010000000000020202020202020202ED
+:1001000002020202020202010202010101010200D6
+:1001100002020201010202020202020202020202C1
+:1001200002020202020202020202020202020202AF
+:10013000020202020202020202020202020202029F
+:10014000020202020202020202020202020202028F
+:10015000020202020202020202020202020202027F
+:10016000020202020202020202020202020202026F
+:10017000020202020202020202020202020202025F
+:10018000020202020202020202020202020202024F
+:10019000020202020202020202020202020202023F
+:1001A000020202020202020202020202020202022F
+:1001B000020202020202020202020202020202021F
+:1001C000020202020202020202000000000000001D
+:1001D0000000000000000001010101010101010116
+:1001E0000101010101010100000000000101000105
+:1001F00000010000000000020202020202020202EC
+:1002000002020202020202020202020202020202CE
+:1002100002020202020202020202020202020202BE
+:1002200002020202020202020202020202020202AE
+:10023000020202020202020202020202020202029E
+:10024000020202020202020202020202020202028E
+:10025000020202020202020202020202020202027E
+:10026000020202020202020202020202020202026E
+:10027000020202020202020202020202020202025E
+:10028000020202020202020202020202020202024E
+:10029000020202020202020202020202020202023E
+:1002A000020202020202020202020202020202022E
+:1002B000020202020202020202020202020202021E
+:1002C000020202020202020202000000000000001C
+:1002D0000000000000000001010101010101010115
+:1002E00001010101010101020202020202020202F5
+:1002F00002020202020202020202020202020202DE
+:1003000002020202020202020202020202020202CD
+:1003100002020202020202020202020202020202BD
+:1003200002020202020202020202020202020202AD
+:10033000020202020202020202020202020202029D
+:10034000020202020202020202020202020202028D
+:10035000020202020202020202020202020202027D
+:10036000020202020202020202020202020202026D
+:10037000020202020202020202020202020202025D
+:10038000020202020202020202020202020202024D
+:10039000020202020202020202020202020202023D
+:1003A000020202020202020202020202020202022D
+:1003B000020202020202020202020202020202021D
+:1003C000020202020202020202000000000000001B
+:1003D0000000000000000001010101010101010114
+:1003E00001010101010101010101010101010101FD
+:1003F00001010101010101010101010101010101ED
+:1004000001010101010101010101010101010101DC
+:1004100001010101010101010101010101010101CC
+:1004200001010101010101010101010101010101BC
+:1004300001010101010101010101010101010101AC
+:10044000010101010101010101010101010101019C
+:10045000010101010101010101010101010101018C
+:10046000010101010101010101010101010101017C
+:10047000010101010101010101010101010101016C
+:10048000010101010101010101010101010101015C
+:10049000010101010101010101010101010101014C
+:1004A000010101010101010101010101010101013C
+:1004B000010101010101010101010101010101012C
+:1004C0000101010101010102000000000000000023
+:1004D0000000000000000001010101010101010113
+:1004E0000101010101010100000000000000000005
+:1004F00000000000000000010101010101010101F3
+:1005000001010101010101010101010101010101DB
+:1005100001010101010101010101010101010101CB
+:1005200001010101010101010101010101010101BB
+:1005300001010101010101010101010101010101AB
+:10054000010101010101010101010101010101019B
+:10055000010101010101010101010101010101018B
+:10056000010101010101010101010101010101017B
+:10057000010101010101010101010101010101016B
+:10058000010101010101010101010101010101015B
+:10059000010101010101010101010101010101014B
+:1005A000010101010101010101010101010101013B
+:1005B0000101010101010100000000000000000034
+:1005C0000000000000000002000000000000000029
+:1005D000000000000000000000000000000000001B
+:1005E000000000000000000000000000000000000B
+:1005F00000000000000000000000000000000000FB
+:1006000000000000000000000000000000000000EA
+:1006100000000000000000000000000000000000DA
+:1006200000000000000000000000000000000000CA
+:1006300000000000000000000000000000000000BA
+:1006400000000000000000000000000000000000AA
+:10065000000000000000000000000000000000009A
+:10066000000000000000000000000000000000008A
+:10067000000000000000000000000000000000007A
+:10068000000000000000000000000000000000006A
+:10069000000000000000000000000000000000005A
+:1006A000000000000000000000000000000000004A
+:1006B000000000000000000000000000000000003A
+:1006C000000000000000000000000000000000002A
+:1006D00000000000000000330000000000000000E7
+:1006E000000000000000000000000000000000000A
+:1006F00000000000000000000000000000000000FA
+:1007000000000000000000000000000000000000E9
+:1007100000000000000000000000000000000000D9
+:1007200000000000000000000000000000000000C9
+:1007300000000000000000000000000000000000B9
+:1007400000000000000000000000000000000000A9
+:100750000002000000000000000000000202000093
+:100760000000000000000000000000020000000087
+:100770000000000000000000000000000000000079
+:100780000200020000000000000000000202000061
+:100790000000010000000000000000020000020054
+:1007A0000000000000000000000000000000000049
+:1007B0000000000000000000000000000000000039
+:1007C0000000000000000000000000000000000029
+:1007D0000000000000000000000000000000000019
+:1007E0000000000000000000000000000000000009
+:1007F00000000000000000000000000000000000F9
+:1008000000000000000000000000000000000000E8
+:1008100000000000000000000000000000000000D8
+:1008200000000000000000000000000000000000C8
+:1008300000000000000000000000000000000000B8
+:1008400000000000000000000000000000000000A8
+:100850000002000000000000000000000202000092
+:100860000000020000000000000000020200000082
+:100870000000000000000000000000000000000078
+:10088000020002000000000200000000020202005C
+:10089000000102000000020000000002000002004F
+:1008A0000000000000000000000000000000000048
+:1008B0000000000000000000000000000000000038
+:1008C0000000000000000000000000000000000028
+:1008D0000000000000000000000000000000000216
+:1008E0000000000000000000000000000000000008
+:1008F00000000000010000000002000000000200F3
+:1009000000000000000000000000000000000000E7
+:1009100000000000000000000000000000000200D5
+:1009200000020000000000000002000000020200BF
+:1009300000000100000000000000000200000200B2
+:1009400000000200000000000000000000020000A3
+:10095000000200000000000000000000020200028F
+:10096000020002000002000000000002020000007D
+:100970000000000000000000000000000000000077
+:100980000201020100000002000000000202020059
+:100990000202020002000200000000020000020049
+:1009A0000001000000000000000000000202000240
+:1009B0000200020002000000000200020000020229
+:1009C000020002000000000000000002000002001F
+:1009D0000002020000000000000000000000000211
+:1009E0000000000000000000000000000000000007
+:1009F00000000002010102020202000000020200E7
+:100A000000000000000000000000000000000200E4
+:100A100000000000000000000000000000000200D4
+:100A200000020000000000000002000002020200BC
+:100A300000010100000000000000000200000202AE
+:100A4000000202000000000000000000000200029E
+:100A50000202000001000000000000000202020289
+:100A60000200020001020200000000020202000077
+:100A70000000000000000000000000000000000274
+:100A80000202020200000002000000000202020056
+:100A90000202020202020200020000020000020042
+:100AA0000202010001000000000000020202020236
+:100AB0000202020202020202020202020202020216
+:100AC0000202020200000200000000020202020014
+:100AD0000202020202000002000200000000000206
+:100AE0000000000000000000000000000000000006
+:100AF00000000002010102020202000000020200E6
+:100B000000000000000000000000000000000200E3
+:100B100000000000000000000000000000000200D3
+:100B200000020000010000000002000002020200BA
+:100B300000010100010000000002000200000202AA
+:100B40000002020002000200000000000002000299
+:100B50000202000101010000020000000202020284
+:100B60000200020001020200000200020202020072
+:100B70000000000000000000000000000000000273
+:100B8000020202020002020202000000020202024D
+:100B9000020202020202020002020002000002003F
+:100BA000020202020200020002000002020202022D
+:100BB0000202020202020202020202020202020215
+:100BC000020202020200020000020002020202000F
+:100BD0000202020202020202000200000000000201
+:100BE0000000000000000000000000000000000005
+:100BF00000010002020102020202000000020200E3
+:100C000001000000000000000000000000000200E1
+:100C100000000000000000000000000000000200D2
+:100C200000020002010000020002000002020200B5
+:100C300000010200010000000002020200000202A6
+:100C40000002020202000200000000020202020290
+:100C5000020200010201000002020002020202027E
+:100C6000020202020102020000020002020202006D
+:100C70000000000000000000000000000000000272
+:100C80000202020202020202020200000202020248
+:100C90000202020202020202020202020000020238
+:100CA000020202020200020002020002020202022A
+:100CB0000202020202020202020202020202020214
+:100CC0000202020202020202020202020202020006
+:100CD00002020202020202020202000000000002FE
+:100CE0000000000000000000000000000000000004
+:100CF00000020002020202020202000000020200E0
+:100D000001000000000000000000000000000200E0
+:100D100000000000000000000000000000000200D1
+:100D200000020002010000020002000002020202B2
+:100D300001020200010000000002020200000202A3
+:100D4000010202020201020000000002020202028D
+:100D50000202000202020002020202020202020277
+:100D60000202020202020200020200020202020267
+:100D7000020000000000000000000000000000026F
+:100D80000202020202020202020202000202020245
+:100D90000202020202020202020202020000020237
+:100DA0000202020202020202020202020202020223
+:100DB0000202020202020202020202020202020213
+:100DC0000202020202020202020202020202020005
+:100DD00002020202020202020202020000000002FB
+:100DE0000000000000000000000000000000000003
+:100DF00000020002020202020202000000020200DF
+:100E000001000000000000000000000000000200DF
+:100E100000000000000000000000000000000200D0
+:100E200001020002020100020002000002020202AE
+:100E300002020200020000000002020200000202A0
+:100E40000202020202010200020200020202020287
+:100E50000202010202020002020202020202020275
+:100E60000202020202020200020200020202020266
+:100E7000020100000000000000000000000000026D
+:100E80000202020202020202020202000202020244
+:100E90000202020202020202020202020202020232
+:100EA0000202020202020202020202020202020222
+:100EB0000202020202020202020202020202020212
+:100EC0000202020202020202020202020202020004
+:100ED00002020202020202020202020200000002F8
+:100EE00002000000000000000000000000020000FE
+:100EF00000020002020202020202000000020200DE
+:100F000002000000000000000000000000000200DD
+:100F100001000100000000000000000000000202CB
+:100F200001020002020100020002000002020202AD
+:100F3000020202000200000000020202000002029F
+:100F40000202020202020202020202020202020281
+:100F50000202020202020202020202020202020271
+:100F60000202020202020200020200020202020265
+:100F70000202000000000000000000000000020269
+:100F80000202020202020202020202000202020243
+:100F90000202020202020202020202020202010232
+:100FA0000202020202020202020202020202020221
+:100FB0000202020202020202020202010202010213
+:100FC0000202020202020202020202020202020003
+:100FD00002020202020202020202020202020002F3
+:100FE00002000000000000000000000000020000FD
+:100FF00000020002020202020202000000020200DD
+:1010000002000000000000000000000000000200DC
+:1010100001010100000000000000000000000202C9
+:1010200002020002020200020002000002020202AA
+:10103000020202010201000000020202000002029C
+:101040000202020202020202020202020202020280
+:101050000202020202020202020202020202020270
+:101060000202020202020202020202020202020260
+:101070000202020000000200000000000000020264
+:101080000202020202020202020202020202020240
+:101090000202020202020202020202010202010232
+:1010A0000202020202020202020202020202020220
+:1010B0000202020202020202020202010101010214
+:1010C0000202020202020202020202020202020002
+:1010D0000101010101010101010101010101000200
+:1010E00002000000000000000200000002020000F8
+:1010F00000020002020202020202000000020200DC
+:1011000002000001000000000000000000000202D8
+:1011100002010100000000000000000000000202C7
+:1011200002020002020200020002000002020202A9
+:101130000202020202020000000202020000020299
+:10114000020202020202020202020202020202027F
+:10115000020202020202020202020202020202026F
+:10116000020202020202020202020202020202025F
+:101170000202020202020202000000020000020259
+:101180000202020202020202020202020101010242
+:101190000202020202020202020202010202010231
+:1011A000020202020202020202020202020202021F
+:1011B0000202020202020202020202010101010213
+:1011C0000202020202020202020202020202010002
+:1011D00001010101010101010101010101010002FF
+:1011E00002000000000000000200000002020000F7
+:1011F00000020002020202020202000002020202D7
+:1012000002000001000000000000000000000202D7
+:1012100002010200000000000000000000000202C5
+:1012200002020002020200020002000002020202A8
+:101230000202020202020200000202020000020296
+:10124000020202020202020202020202020202027E
+:10125000020202020202020202020202020202026E
+:10126000020202020202020202020202020202025E
+:101270000202020202020202000000020000020258
+:101280000202020202020202020202020101010241
+:101290000202020202020202020202010202010230
+:1012A0000202020202020202020202020101010221
+:1012B0000202020202020202020101010101010214
+:1012C0000202020202020202020202010101010004
+:1012D00001010101010101010101010101010002FE
+:1012E00002020000000000000200020002020001F1
+:1012F00000020102020202020202000002020202D5
+:1013000002000001000000000000000000000202D6
+:1013100002020200000000000000000200000202C1
+:1013200002020002020200020002000002020202A7
+:101330000202020202020200000202020000020295
+:10134000020202020202020202020202020202027D
+:10135000020202020202020202020202010102026F
+:10136000020202020202020202020202020202025D
+:101370000202020202020202020200020000020253
+:101380000202020202020202020202020101010240
+:10139000020202020202020202020201020201022F
+:1013A0000202020202020202020202010101010221
+:1013B0000202020202020201010101010101010215
+:1013C0000202020202020202020202010101010003
+:1013D00001010101010101010101010101010002FD
+:1013E00002020000000000000200020002020002EF
+:1013F00000020202020202020202000002020202D3
+:1014000002000002000000000000000000000202D4
+:1014100002020201000000000000000200000202BF
+:1014200002020002020200020002000002020202A6
+:101430000202020202020202020202020000020290
+:10144000020202020202020202020202020102027D
+:10145000020202020202020202020202010101026F
+:10146000020202020202020202020201010202025E
+:101470000202020202020202020202020000020250
+:10148000020202020202020202020202010101023F
+:101490000202020202020202020202010101010230
+:1014A0000202020202020202020202010101010220
+:1014B0000202020201010201010101010101010216
+:1014C0000202020202020202020202010101010002
+:1014D00001010101010101010101010101010102FB
+:1014E00002020200000002000202020202020002E6
+:1014F00000020202020202020202000202020102D1
+:1015000002000002000000000000000000000202D3
+:1015100002020201000000000000000200000202BE
+:1015200002020002020200020002000201020102A5
+:101530000202020202020202020202020000010290
+:10154000020202020202020202020202020101027D
+:10155000020202020202020202020202010101026E
+:10156000020202020202020202020201010101025F
+:10157000020202020202020202020202000002024F
+:10158000020202020202020202020202010101023E
+:101590000202020202020102010101010101010233
+:1015A000020202020202020202020201010101021F
+:1015B0000202010101010101010101010101010218
+:1015C0000202020202020202020202010101010001
+:1015D0000000000000000000000000000001010207
+:1015E00002020200000002000102020202010002E7
+:1015F00000020202020202020202000202010102D1
+:1016000002000002000000000000000000000202D2
+:1016100002020202000000000000000200000102BD
+:1016200002020002020200020002000201010102A5
+:101630000202020202020202020202010000010290
+:10164000020202020202020202020202010101027D
+:10165000020202020202020202020201010101026E
+:10166000020202020202020202020201010101025E
+:10167000020202020202020202020202000201024D
+:10168000020202020202020102020202010101023E
+:101690000202020201010101010101010101010235
+:1016A000020202020202020202020201010101021E
+:1016B0000201010101010101010101010101010218
+:1016C0000202020202020202020101010101010002
+:1016D0000000000000000000000100000001010106
+:1016E00002020200000002000102010201010002E8
+:1016F00001020202020202020202000202010102CF
+:1017000002000002000100000000000000000102D1
+:1017100002020202000000000000000200000102BC
+:1017200002020202020200020002000201010102A2
+:10173000020202020202020202020201000001028F
+:10174000020202020202020202020201010101027D
+:10175000020202020202020202020201010101026D
+:10176000020202020202020202020201010101025D
+:10177000020202020202020202020202000201024C
+:101780000202020202020201010101010101010241
+:101790000202010101010101010101010101010236
+:1017A0000202020202020202010101010101010220
+:1017B0000101010101010101010101010101010218
+:1017C0000202010202020101010101010101010005
+:1017D0000000000000000001000101010101010101
+:1017E00002020200000002000102010201010002E7
+:1017F00001020202020202020202000202010102CE
+:1018000002000102010100000000000000000102CE
+:1018100002020202000002000000000202020102B5
+:10182000020202020202000200020202010101029F
+:10183000020202020202020202020201000001028E
+:10184000020202020202020202020201010101027C
+:10185000020202020202020201010201010101026E
+:10186000020202020202020202010201010101025D
+:101870000202020202020202020202020202010249
+:101880000202010202010101010101010101010243
+:101890000201010101010101010101010101010236
+:1018A0000202020202020101010101010101010221
+:1018B0000101010101010101010101010101010217
+:1018C0000202010101010101010101010101010007
+:1018D0000000000000000001000101010101010100
+:1018E00002020202000202020101010201010002E1
+:1018F00002020202020202020202000202010102CC
+:1019000002000102010200000000000000000102CC
+:1019100002020202000002000000000202020102B4
+:10192000020202020202000202010202010101029D
+:10193000020202020202020202010101020001028D
+:10194000020202020202020202020201010101027B
+:10195000020102020202020201010101010101026F
+:10196000020202020201010202010201010101025E
+:101970000202020202020202020202010202010249
+:101980000202010101010101010101010101010244
+:101990000101010101010101010101010101010236
+:1019A0000202020101010101010101010101010223
+:1019B0000101010101010101010101010101010216
+:1019C0000201010101010101010101010101010007
+:1019D00000000000000000010101010101010101FE
+:1019E00002020202000201020201020101010002E0
+:1019F00002020202020202020201000201010102CD
+:101A000002000202020200000000000200000102C7
+:101A100002020202000002000000000202020102B3
+:101A2000020202020202000102010202010101029D
+:101A3000020202020202020202010101020001028C
+:101A4000020202020102020202020201010101027B
+:101A5000020102020202020101010101010101026F
+:101A6000020201020201010201010201010101025F
+:101A70000202020202020202020202010202010248
+:101A80000101010101010101010101010101010245
+:101A90000101010101010101010101010101010235
+:101AA0000201010101010101010101010101010125
+:101AB0000101010101010101010101010101010215
+:101AC0000101010101010101010101010101010007
+:101AD00000000000000001010101010101010101FC
+:101AE00001020202020201020201020101010002DE
+:101AF00002020202020202010101000201010102CE
+:101B000002000202020200000000000200000102C6
+:101B100002020202000002000002000202020102B0
+:101B2000020102020202000102010202010101029D
+:101B3000020202020202020202010101020001028B
+:101B40000202010101020102010101010101010280
+:101B5000020102020202020101010101010101026E
+:101B60000202010102010102010101010101010260
+:101B70000202020202020202020202010201010248
+:101B80000101010101010101010101010101010244
+:101B90000101010101010101010101010101010234
+:101BA0000101010101010101010101010101010125
+:101BB0000101010101010101010101010101010214
+:101BC0000101010101010101010101010101010006
+:101BD00000000000010101010101010101010101F9
+:101BE00001020202020201020202020101010002DC
+:101BF00002020201020201010101000101010102D0
+:101C000002000202020200000000000200000102C5
+:101C100002020202000202000202020102020102AA
+:101C2000020102010202000102010201010101029E
+:101C30000202020202020202020101010202010288
+:101C40000201010101020101010101010101010281
+:101C50000101020201010101010101010101010271
+:101C60000101010102010101010101010101010262
+:101C7000020202020201010102010101010101024D
+:101C80000101010101010101010101010101010243
+:101C90000101010101010101010101010101010233
+:101CA0000101010101010101010101010101010124
+:101CB0000101010101010101010101010101010213
+:101CC0000101010101010101010101010101010005
+:101CD00000000101010101010101010101000102F6
+:101CE00001020202020202020202010101010002DB
+:101CF00002020201020201010101000101010102CF
+:101D000002000202020202000000000200000102C2
+:101D100002020202020202000202020102020102A7
+:101D2000020102010202000102010201010101029D
+:101D30000202020202020202020101010202010287
+:101D40000201010101010101010101010101010281
+:101D50000101020101010101010101010101010271
+:101D60000101010102010101010101010101010261
+:101D7000020202020101010101010101010101014F
+:101D80000101010101010101010101010101010143
+:101D90000101010101010101010101010101010232
+:101DA0000101010101010101010101010101010123
+:101DB0000101010101010101010101010101010113
+:101DC0000101010101010101010101010101010004
+:101DD00001010101010100010101000101000102F5
+:101DE00002010202020102010102010101010002DD
+:101DF00002020201020201010101000101010102CE
+:101E000002000202020202000000000200000102C1
+:101E100002020202020202020202020101010102A6
+:101E2000020102010202020102010201010101029A
+:101E30000202020202020202020101010102010287
+:101E40000201010101010101010101010101010280
+:101E50000101010101010101010101010101010271
+:101E60000101010101010101010101010101010261
+:101E70000101010101010101010101010101010152
+:101E80000101010101010101010101010101010142
+:101E90000101010101010101010101010101010231
+:101EA0000101010101010101010101010101010122
+:101EB0000101010101010101010101010101010112
+:101EC0000101010101010101010101010101010003
+:101ED00000010101010100010101000101000102F5
+:101EE00002010102020202010101010101010002DD
+:101EF00002010201010101010101000101010102D0
+:101F000002020202020202000000000202020102BA
+:101F100002020202020202020202020101010102A5
+:101F2000020102010101020102010201010101029B
+:101F3000020201020101010101010101010201018D
+:101F40000201010101010101010101010101010180
+:101F50000101010101010101010101010101010171
+:101F60000101010101010101010101010101010260
+:101F70000101010101010101010101010101010151
+:101F80000101010101010101010101010101010141
+:101F90000101010101010101010101010101010131
+:101FA0000101010101010101010101010101010121
+:101FB0000101010101010101010101010101010111
+:101FC0000101010101010101010101010101010002
+:101FD00000010101010100010001000100000102F6
+:101FE00002010101020101010101010101010002DF
+:101FF00002010201010101010101000101010102CF
+:1020000002020202020202000002000102020102B8
+:1020100002020202020202020202020101010102A4
+:10202000020102010101020102010101010101029B
+:10203000020101010101010101010101010101018F
+:102040000101010101010101010101010101010180
+:102050000101010101010101010101010101010170
+:10206000010101010101010101010101010101025F
+:102070000101010101010101010101010101010150
+:102080000101010101010101010101010101010140
+:102090000101010101010101010101010101010130
+:1020A0000101010101010101010101010101010120
+:1020B0000101010101010101010101010101010110
+:1020C0000101010101010101010101010101010001
+:1020D00000010101000000010001000100000002F8
+:1020E00001010101010101010101010101010002E0
+:1020F00002010201010101010101000101010102CE
+:1021000002020202020202000202000102020102B5
+:1021100002020202020202020202020101010102A3
+:10212000020102010101020102010101010101029A
+:10213000010101010101010101010101010101018F
+:10214000010101010101010101010101010101017F
+:10215000010101010101010101010101010101016F
+:10216000010101010101010101010101010101015F
+:10217000010101010101010101010101010101014F
+:10218000010101010101010101010101010101013F
+:10219000010101010101010101010101010101012F
+:1021A000010101010101010101010101010101011F
+:1021B000010101010101010101010101010101010F
+:1021C0000101010101010101010101010101010000
+:1021D00000010100000000000000000000000002FB
+:1021E00001010101010101010101010101010002DF
+:1021F00002010101010101010101000101010102CE
+:1022000002020202020202000202000101010102B6
+:1022100002020202020202020202020101010102A2
+:10222000020102010101020101010101010101019B
+:10223000010101010101010101010101010101018E
+:10224000010101010101010101010101010101017E
+:10225000010101010101010101010101010101016E
+:10226000010101010101010101010101010101015E
+:10227000010101010101010101010101010101014E
+:10228000010101010101010101010101010101013E
+:10229000010101010101010101010101010101012E
+:1022A000010101010101010101010101010101011E
+:1022B000010101010101010101010101010101010E
+:1022C00001010101010101010101010101010100FF
+:1022D00000000000000000000000000000000001FD
+:1022E00001010101010101010101010100000002E0
+:1022F00002010101010101010101000101010102CD
+:1023000002020202020202020202020101010102B1
+:1023100002020102020201020201010101010101A6
+:10232000010101010101020101010101010101019C
+:10233000010101010101010101010101010101018D
+:10234000010101010101010101010101010101017D
+:10235000010101010101010101010101010101016D
+:10236000010101010101010101010101010101015D
+:10237000010101010101010101010101010101014D
+:10238000010101010101010101010101010101013D
+:10239000010101010101010101010101010101012D
+:1023A000010101010101010101010101010101011D
+:1023B000010101010101010101010101010101010D
+:1023C00001010101010101010101010101010100FE
+:1023D00000000000000000000000000000000001FC
+:1023E00001010101010101010101010100000002DF
+:1023F00002010101010101010101000101010102CC
+:1024000001020201020202020202020101010102B2
+:1024100001010101020201020101010101010101A9
+:10242000010101010101020101010101010101019B
+:10243000010101010101010101010101010101018C
+:10244000010101010101010101010101010101017C
+:10245000010101010101010101010101010101016C
+:10246000010101010101010101010101010101015C
+:10247000010101010101010101010101010101014C
+:10248000010101010101010101010101010101013C
+:10249000010101010101010101010101010101012C
+:1024A000010101010101010101010101010101011C
+:1024B000010101010101010101010100010101010D
+:1024C00001010101010101010101010101010100FD
+:1024D00000000000000000000000000000000001FB
+:1024E00001010101010101010101010000000102DE
+:1024F00002010101010101010101000101010102CB
+:1025000001020201020102020202020101010101B3
+:1025100001010101020101010101010101010101AA
+:10252000010101010101020101010101010101019A
+:10253000010101010101010101010101010101018B
+:10254000010101010101010101010101010101017B
+:10255000010101010101010101010101010101016B
+:10256000010101010101010101010101010101015B
+:10257000010101010101010101010101010101014B
+:10258000010101010101010101010101010101013B
+:10259000010101010101010101010101010101012B
+:1025A000010101010101010101010101010101011B
+:1025B0000000000000000100000000020000000117
+:1025C00001010101010101010101010101010102FA
+:1025D00002020202020202020202020202020201DC
+:1025E00001010101010101010101000000000102DE
+:1025F00002010101010101010101020101010101C9
+:1026000001020201010101020201020101010101B5
+:1026100001010101010101010101010101010101AA
+:10262000010101010101010101010101010101019A
+:10263000010101010101010101010101010101018A
+:10264000010101010101010101010101010101017A
+:10265000010101010101010101010101010101016A
+:10266000010101010101010101010101010101015A
+:10267000010101010101010101010101010101014A
+:10268000010101010101010101010101010101013A
+:10269000010101010101010101010100010100012C
+:1026A000010101010101010101010101010101001B
+:1026B00002020202020200020202020202020201FD
+:1026C00001010101010101010101010101010102F9
+:1026D00002020202020202020202020202020201DB
+:1026E00001000101010101000001000000000101E1
+:1026F00002010101010101010101010101010101C9
+:1027000001020101010101020101010101010101B7
+:1027100001010101010101010101010101010101A9
+:102720000101010101010101010101010101010199
+:102730000101010101010101010101010101010189
+:102740000101010101010101010101010101010179
+:102750000101010101010101010101010101010169
+:102760000101010101010101010101010101010159
+:102770000101010101010101010101010101010149
+:102780000101010101010101010101010101010139
+:102790000000000000000000000000000000000138
+:1027A0000101010101010101010101010101010218
+:1027B00002020202020202020202020202020201FA
+:1027C00001010101010101010101010101010102F8
+:1027D00002020202020202020202020202020201DA
+:1027E00001000000010000000000000000000101E5
+:1027F00001010101010101010101010101010101C9
+:1028000001020101010101010101010101010101B7
+:1028100001010101010101010101010101010101A8
+:102820000101010101010101010101010101010198
+:102830000101010101010101010101010101010188
+:102840000101010101010101010101010101010178
+:102850000101010101010101010101010101010168
+:102860000101010101010101010101010101010158
+:102870000101010101010101010101010101010148
+:102880000101010101010101010101010101010039
+:102890000000000000000000000000000000000137
+:1028A000010101010101010101010100000000021B
+:1028B00002020202020202020202020202020201F9
+:1028C00001010201010101010101010202020202F2
+:1028D00002020202020202020202020202020201D9
+:1028E00000000000000000000000000000000101E6
+:1028F00001010101010101010101010101010101C8
+:1029000001010101010101010101010101010101B7
+:1029100001010101010101010101010101010101A7
+:102920000101010101010101010101010101010197
+:102930000101010101010101010101010101010187
+:102940000101010101010101010101010101010177
+:102950000101010101010101010101010101010167
+:102960000101010101010101010101010101010157
+:102970000101010101010101010101010101010048
+:10298000010101010101010101010101000000003B
+:102990000000000000000000000000000000000136
+:1029A000000000000000000000000002020202021D
+:1029B00002020202020202020202020202020201F8
+:1029C00002020202020202020202020202020202E7
+:1029D00002020202020202020202020202020200D9
+:1029E00000000000000000000000000000000101E5
+:1029F00001010101010101010101010101010101C7
+:102A000001010101010101010101010101010101B6
+:102A100001010101010101010101010101010101A6
+:102A20000101010101010101010101010101010196
+:102A30000101010101010101010101010101010186
+:102A40000101010101010101010101010101010176
+:102A50000101010101010101010101010101010166
+:102A60000101010101010101010101010101010156
+:102A70000101010101010101010101010101010047
+:102A80000100010000000001000000000000000043
+:102A90000000000000000000000000000000000036
+:102AA0000202020202020202020202020202020206
+:102AB00002020202020202020202020202020202F6
+:102AC00002020202020202020202020202020202E6
+:102AD00002020202020202020202020202020200D8
+:102AE00000000000000000000000000000000101E4
+:102AF00001010101010101010101010101010101C6
+:102B000001010101010101010101010101010101B5
+:102B100001010101010101010101010101010101A5
+:102B20000101010101010101010101010101010195
+:102B30000101010101010101010101010101010185
+:102B40000101010101010101010101010101010175
+:102B50000101010101010101010101010101010165
+:102B60000101010101010101010101010101010155
+:102B70000101010101000101010101010101000048
+:102B80000200010000000001000000000000000041
+:102B9000000000000000000000000002000002022F
+:102BA0000202020202020202020202020202020205
+:102BB00002020202020202020202020202020202F5
+:102BC00002020202020202020202020202020202E5
+:102BD00002020202020202020202020202020200D7
+:102BE00000000000000000000000000001010101E1
+:102BF00001010101010101010101010101010101C5
+:102C000001010101010101010101010101010101B4
+:102C100001010101010101010101010101010101A4
+:102C20000101010101010101010101010201010193
+:102C30000101010101010101010101010101010283
+:102C40000101010202010101010101010100000174
+:102C5000020201010101010102020102010101015F
+:102C60000000010001010001010001010101010159
+:102C7000000001010000000101000001000000004F
+:102C80000100020000000002000000000202020039
+:102C90000202020202020202020202020202020214
+:102CA0000202020202020202020202020202020204
+:102CB00002020202020202020202020202020202F4
+:102CC00002020202020202020202020202020202E4
+:102CD00002020202020202020202020202020200D6
+:102CE00000000000000000000000000101010101DF
+:102CF00001010101010101010101010101010101C4
+:102D000001010101010101010101010101010101B3
+:102D100001010101010101010101010101010101A3
+:102D20000102010101010101010101010201010191
+:102D30000101010101010101010101010101010282
+:102D40000101010101000101010101010000000177
+:102D5000010201010101010101010102020202015E
+:102D6000000002000102000100000100000000015B
+:102D7000000002020000000200000000000000004D
+:102D80000202020202020202020202020202020223
+:102D90000202020202020202020202020202020213
+:102DA0000202020202020202020202020202020203
+:102DB00002020202020202020202020202020202F3
+:102DC00002020202020202020202020202020202E3
+:102DD00002020202020202020202020202020200D5
+:102DE00000000000000000000000000101010101DE
+:102DF00001010101010101010101010101010101C3
+:102E000001010101010101010101010101010101B2
+:102E100001010101010101010101010101010101A2
+:102E2000010201020101010201010102020101018D
+:102E30000101010101010101010101010101010281
+:102E40000001010000000101020101000000000278
+:102E50000001020202020201000001010101010061
+:102E60000000010001010000000000020202020057
+:102E70000000010100000001000000020000020249
+:102E80000202020202020202020202020202020222
+:102E90000202020202020202020202020202020212
+:102EA0000202020202020202020202020202020202
+:102EB00002020202020202020202020202020202F2
+:102EC00002020202020202020202020202020202E2
+:102ED00002020202020202020202020202020200D4
+:102EE00000000000000000000000010101010101DC
+:102EF00001010101010101010101010101010101C2
+:102F000001010101010101010101010101010101B1
+:102F100001010101010101010101010101010101A1
+:102F2000010201020101010201010102010102018C
+:102F30000101010101010101010000020101010182
+:102F4000000000000000010101010100000000017B
+:102F5000000101010101010200000201020202025E
+:102F60000202020202020202020202020202020241
+:102F70000202020202020202020202020202020231
+:102F80000202020202020202020202020202020221
+:102F90000202020202020202020202020202020211
+:102FA0000202020202020202020202020202020201
+:102FB00002020202020202020202020202020202F1
+:102FC00002020202020202020202020202020202E1
+:102FD00002020202020202020202020202020200D3
+:102FE00000010100000000010101010101010101D6
+:102FF00001010101010101010101010101010101C1
+:1030000001010101010101010101010101010101B0
+:10301000010101010101010101010101010101029F
+:10302000010102010202010101010201010201018B
+:103030000101010101010101010000010001020182
+:10304000000202000000020200020202020202026A
+:103050000202020202020202020202020202020250
+:103060000202020202020202020202020202020240
+:103070000202020202020202020202020202020230
+:103080000202020202020202020202020202020220
+:103090000202020202020202020202020202020210
+:1030A0000202020202020202020202020202020200
+:1030B00002020202020202020202020202020202F0
+:1030C00002020202020202020202020202020202E0
+:1030D00002020202020202020202020202020200D2
+:1030E00001010101010101010101010101010101D0
+:1030F00001010101010101010101010202020201BC
+:1031000001010101010101010101010101010101AF
+:10311000010101010101010101010102020201019C
+:10312000020101010101010102000101010100028E
+:103130000202020202020202020202020202020170
+:10314000020202020202020202020202020202025F
+:10315000020202020202020202020202020202024F
+:10316000020202020202020202020202020202023F
+:10317000020202020202020202020202020202022F
+:10318000020202020202020202020202020202021F
+:10319000020202020202020202020202020202020F
+:1031A00002020202020202020202020202020202FF
+:1031B00002020202020202020202020202020202EF
+:1031C00002020202020202020202020202020202DF
+:1031D00002020202020200020202020202000001D6
+:1031E00001010101010101010101010101010101CF
+:1031F00001010101010101010101010202020201BB
+:1032000001010101010101010101010202020101AB
+:10321000010101010101010101010101010102009E
+:103220000101000000000000010200000002020293
+:10323000020202020202020202020202020202026E
+:10324000020202020202020202020202020202025E
+:10325000020202020202020202020202020202024E
+:10326000020202020202020202020202020202023E
+:10327000020202020202020202020202020202022E
+:10328000020202020202020202020202020202021E
+:10329000020202020202020202020202020202020E
+:1032A00002020202020202020202020202020202FE
+:1032B00002020202020202020202020202020202EE
+:1032C00002020202020202020202020202020202DE
+:1032D00002020202020200020202000200000001D9
+:1032E00001010101010101010101010101010101CE
+:1032F00001020202010101010101000101010101BC
+:1033000001010101010101010101010101010202AB
+:10331000020202020202020202020202020202028D
+:10332000020202020202020202020202020202027D
+:10333000020202020202020202020202020202026D
+:10334000020202020202020202020202020202025D
+:10335000020202020202020202020202020202024D
+:10336000020202020202020202020202020202023D
+:10337000020202020202020202020202020202022D
+:10338000020202020202020202020202020202021D
+:10339000020202020202020202020202020202020D
+:1033A00002020202020202020202020202020202FD
+:1033B00002020202020202020202020202020202ED
+:1033C00002020202020202020202020202020202DD
+:1033D00002020202000000020002000200000001DE
+:1033E00001010101010101010101010101010101CD
+:1033F00001010101010101010101000101010102BD
+:10340000020202020202020202020202020202029C
+:10341000020202020202020202020202020202028C
+:10342000020202020202020202020202020202027C
+:10343000020202020202020202020202020202026C
+:10344000020202020202020202020202020202025C
+:10345000020202020202020202020202020202024C
+:10346000020202020202020202020202020202023C
+:10347000020202020202020202020202020202022C
+:10348000020202020202020202020202020202021C
+:10349000020202020202020202020202020202020C
+:1034A00002020202020202020202020202020202FC
+:1034B00002020202020202020202020202020202EC
+:1034C00002020202020202020202020202020202DC
+:1034D00002020200000000020002000000000001E1
+:1034E00001010101010101010101010101010102CB
+:1034F00002020202020202020202020202020202AC
+:10350000020202020202020202020202020202029B
+:10351000020202020202020202020202020202028B
+:10352000020202020202020202020202020202027B
+:10353000020202020202020202020202020202026B
+:10354000020202020202020202020202020202025B
+:10355000020202020202020202020202020202024B
+:10356000020202020202020202020202020202023B
+:10357000020202020202020202020202020202022B
+:10358000020202020202020202020202020202021B
+:10359000020202020202020202020202020202020B
+:1035A00002020202020202020202020202020202FB
+:1035B00002020202020202020202020202020202EB
+:1035C00002020202020202020202020202020202DB
+:1035D00000000000000000000000000000000001EA
+:1035E00001010101010101010101010101010102CA
+:1035F00002020202020202020202020202020202AB
+:10360000020202020202020202020202020202029A
+:10361000020202020202020202020202020202028A
+:10362000020202020202020202020202020202027A
+:10363000020202020202020202020202020202026A
+:10364000020202020202020202020202020202025A
+:10365000020202020202020202020202020202024A
+:10366000020202020202020202020202020202023A
+:10367000020202020202020202020202020202022A
+:10368000020202020202020202020202020202021A
+:10369000020202020202020202020202020202020A
+:1036A00002020202020202020202020202020202FA
+:1036B00002020202020202020202020202020202EA
+:1036C00002020202020202020202020202020202DA
+:1036D00000000000000000000000000000000001E9
+:1036E00001010101010101010101010101010101CA
+:1036F00001010101010101010101010101010101BA
+:1037000001010101010101010101010101010101A9
+:103710000101010101010101010101010101010199
+:103720000101010101010101010101010101010189
+:103730000101010101010101010101010101010179
+:103740000101010101010101010101010101010169
+:103750000101010101010101010101010101010159
+:103760000101010101010101010101010101010149
+:103770000101010101010101010101010101010139
+:103780000101010101010101010101010101010129
+:103790000101010101010101010101010101010119
+:1037A0000101010101010101010101010101010109
+:1037B00001010101010101010101010101010101F9
+:1037C00001010101010101010101010101010102E8
+:1037D00000000000000000000000000000000001E8
+:1037E00001010101010101010101010101010101C9
+:1037F00001010101010101010101010101010101B9
+:1038000001010101010101010101010101010101A8
+:103810000101010101010101010101010101010198
+:103820000101010101010101010101010101010188
+:103830000101010101010101010101010101010178
+:103840000101010101010101010101010101010168
+:103850000101010101010101010101010101010158
+:103860000101010101010101010101010101010148
+:103870000101010101010101010101010101010138
+:103880000101010101010101010101010101010128
+:103890000101010101010101010101010101010118
+:1038A0000101010101010101010101010101010108
+:1038B00001010101010101010101010101010100F9
+:1038C00000000000000000000000000000000002F6
+:1038D00000000000000000000000000000000000E8
+:1038E00000000000000000000000000000000000D8
+:1038F00000000000000000000000000000000000C8
+:1039000000000000000000000000000000000000B7
+:1039100000000000000000000000000000000000A7
+:103920000000000000000000000000000000000097
+:103930000000000000000000000000000000000087
+:103940000000000000000000000000000000000077
+:103950000000000000000000000000000000000067
+:103960000000000000000000000000000000000057
+:103970000000000000000000000000000000000047
+:103980000000000000000000000000000000000037
+:103990000000000000000000000000000000000027
+:1039A0000000000000000000000000000000000017
+:1039B0000000000000000000000000000000000007
+:1039C00000000000000000000000000000000000F7
+:1039D00000000000000000000000000000000033B4
+:1039E00000000000000000000000000000000000D7
+:1039F00000000000000000000000000000000000C7
+:103A000000000000000000000000000000000000B6
+:103A100000000000000000000000000000000000A6
+:103A20000000000000000000000000000000000096
+:103A30000000000000000000020000000000000084
+:103A40000000000200000000000000000000000074
+:103A50000000000000000000000000000000000066
+:103A60000000000000000000000000000000000056
+:103A70000000000000000000000000000000000046
+:103A80000000000000000000020001000000000033
+:103A90000000000000020000000000000000000024
+:103AA0000000000000000000000000000000000016
+:103AB0000000000000000000000000000000000006
+:103AC00000000000000000000000000000000000F6
+:103AD00000000000000000000000000000000000E6
+:103AE00000000000000000000000000000000000D6
+:103AF00000000000000000000000000000000000C6
+:103B000000000000000000000000000000000000B5
+:103B100000000000000000000000000000000000A5
+:103B20000000000000000000000000000000000095
+:103B30000000000000000000020000000000000083
+:103B4000000000020002020000000000000000006F
+:103B50000000000000000000020000000000000063
+:103B60000000000000000000000000000000000055
+:103B70000000000000000000000000000000000045
+:103B8000000000000000000002000200000200002F
+:103B90000000000000020200000000000000000021
+:103BA0000000000000000000000000000000000015
+:103BB0000000000000000000000000000000000005
+:103BC00000000000000000000000000000000000F5
+:103BD00000000000000000000002000000000000E3
+:103BE00000000000000000020000000000000000D3
+:103BF00000000000000000000000000100000200C2
+:103C000002000202000000000000000000000000AE
+:103C100000000000020000000000000000000000A2
+:103C20000000000002000000000000000000000092
+:103C30000000000000000000020000000000000082
+:103C4000020000020002020000000000000000006C
+:103C50000000000000000000020000000000000062
+:103C60000000000000000000000000000000000054
+:103C70000000000000000000000000000000000044
+:103C8000000000000000000202000200000202002A
+:103C9000000000000002020000000000000002001E
+:103CA000000000000002000200000200000200000C
+:103CB0000000000000000200000000000000000002
+:103CC00000000000000000020000000000020000F0
+:103CD00000020000000002000002000200000000DC
+:103CE00000000000000000020000000000000000D2
+:103CF00000000000000000000000000102020202BB
+:103D000002020202000000000000000000000000AB
+:103D1000000000000200020000000000000000009F
+:103D2000000000000200020000000000000000008F
+:103D3000000000000000020202000000000000007D
+:103D40000202000200020200000000000000000069
+:103D50000000000000000000020000000000000061
+:103D60000000000000000001000000000000000052
+:103D70000000000000000000000000000000000043
+:103D80000000000000000002020002000002020227
+:103D90000000000002020200000000000002020217
+:103DA0000000000000020202000202020002020003
+:103DB00000000000000202000102020200000200F6
+:103DC00000000000000200020202020200020200E3
+:103DD00000020000020202000002020200000000D5
+:103DE00000000000000000020000000000000000D1
+:103DF00000000000000000000000000102020202BA
+:103E000002020202000000000000000000000000AA
+:103E1000000000000200020000000000000000009E
+:103E2000000000000200020000000000000000008E
+:103E3000000000000000020202010000000000007B
+:103E40000202000200020200000000000000000068
+:103E50000000000000000000020000000000000060
+:103E60000000000000000002000000000000000050
+:103E70000000000000000000000000000002000040
+:103E80000000000000000002020202020002020222
+:103E9000020002000202020001000200000202020F
+:103EA00000000000000202020002020202020202FE
+:103EB00000000000000202020202020202020202EC
+:103EC00000000000000202020202020202020202DC
+:103ED00000020000020202000002020202020000D0
+:103EE00000020000000000020000000000000000CE
+:103EF00000000000000000000000000202020202B8
+:103F000002020202000000000000000000000000A9
+:103F1000000000000200020100000000000000009C
+:103F2000000000000200020200000000000000008B
+:103F30000000000000000202020101000102000076
+:103F40000202000200020200000000000000000067
+:103F5000000000000000000002000000000000005F
+:103F6000000000000000000200000000000000004F
+:103F7000000000000000000000000001000200003E
+:103F8000000000000000000202020202020202021F
+:103F90000202020002020202020002000202020207
+:103FA00000020000000202020202020202020202F9
+:103FB00002000200000202020202020202020202E7
+:103FC00002000000000202020202020202020202D9
+:103FD00002020202020202000002020202020202C5
+:103FE00000020002000000020200000000000000C9
+:103FF00000000000000000000000000202020202B7
+:1040000002020202000000000000000000000000A8
+:10401000000000000200020200000000000000009A
+:104020000000000002000202010001000000000088
+:104030000000000000000202020201000102000074
+:104040000202000200020200000000000000000066
+:10405000000000000000000002000000000000005E
+:10406000000000000000000200000000000000004E
+:104070000000000000000000010200020002000237
+:10408000000000000002020202020202020202021A
+:104090000202020202020202020202020202020200
+:1040A00002020202000202020202020202020202F2
+:1040B00002020200000202020202020202020202E4
+:1040C00002020000000202020202020202020202D6
+:1040D00002020202020202000002020202020202C4
+:1040E00002020002000000020200000000000000C6
+:1040F00000000000000000000000000202020202B6
+:1041000002020202000002020000000000000000A3
+:104110000000000002000202000000000000000099
+:104120000000000002000202010001000100000086
+:104130000000000000000202020202000202000071
+:104140000202000200020200000000000000000065
+:10415000000000000000000002000000000000005D
+:10416000000000000000000200000000000000004D
+:104170000000000000000000020200020002020233
+:104180000000000000020202020202020202020219
+:1041900002020202020202020202020202020202FF
+:1041A00002020202000202020202020202020202F1
+:1041B00002020202000202020202020202020202E1
+:1041C00002020202000202020202020202020202D1
+:1041D00002020202020202000002020202020202C3
+:1041E00002020202000000020200000000000000C3
+:1041F00000000000000200000001010202020202B1
+:1042000002020202000002020001000100000000A0
+:104210000000000002000202000000000000000098
+:104220000000000002000202010102000100000083
+:10423000000000000000020202020201020202006D
+:104240000202000200020200000000000000000064
+:104250000000000000000002020000000001000059
+:104260000000000000000002020000000001000049
+:10427000000000000000000202020002020202022E
+:104280000002000000020202020202020202020216
+:1042900002020202020202020202020202020202FE
+:1042A00002020202020202020202020202020202EE
+:1042B00002020202000202020202020202020202E0
+:1042C00002020202000202020202020202020202D0
+:1042D00002020202020202000002020202020202C2
+:1042E00002020202020000020200000000000000C0
+:1042F00000000000000200000001010202020202B0
+:10430000020202020000020200010001000000009F
+:104310000000000002000202000000000000000097
+:104320000000000002000202020102000200000080
+:104330000000000000000202020202020202020269
+:104340000202000200020200000000000000000063
+:104350000000000000000002020000000002000057
+:104360000000000000000002020000000001000048
+:10437000000000000000000202020202020202022B
+:104380000202020000020202020202020202020211
+:1043900002020202020202020202020202020202FD
+:1043A00002020202020202020202020202020202ED
+:1043B00002020202020202020202020202020202DD
+:1043C00002020202020202020202020202020202CD
+:1043D00002020202020202000002020202020202C1
+:1043E00002020202020200020200000000000000BD
+:1043F00000000000000200000101010202020202AE
+:10440000020202020000020200010001000000009E
+:104410000000000002000202000000000000000096
+:10442000000000000200020202020200020000007E
+:104430000000000002000202020202020202020266
+:104440000202000200020200000000000000000062
+:104450000000000000000002020202000002000052
+:104460000000000000000002020000000001000047
+:10447000000000000000000202020202020202022A
+:104480000202020000020202020202020202020210
+:1044900002020202020101020202020202020202FE
+:1044A00002020202020202020202020202020202EC
+:1044B00002020202020202020202020202020202DC
+:1044C00002020202020202020202020202020202CC
+:1044D00002020202020201000001010101010101C8
+:1044E00001010101010100020200000000000000C2
+:1044F00000000000000200010102020202020202AA
+:10450000020202020000020200020002000000009B
+:104510000000000002000202000000000000000095
+:10452000000000000200020202020200020000007D
+:104530000000000002000202020202020202020265
+:104540000202000200020200000000000000000061
+:104550000000000000000002020202000002000051
+:10456000000000000002000202020000000202003F
+:104570000000000000000002020202020202020229
+:10458000020202020002020202020202020202020D
+:1045900002020202020101020202020202020202FD
+:1045A00002020202020101020202020202020202ED
+:1045B00002020202020201020202020202020202DC
+:1045C00002020202020202020202020202020202CB
+:1045D00002020202020101000001010101010101C8
+:1045E00001010101010100020200020000000000BF
+:1045F00000000000000200020202020202020202A7
+:104600000202020200020202020200020000000096
+:104610000000000002000202020000000000000092
+:104620000000000002000202020202010200020079
+:104630000000000002000202020202020202020264
+:10464000020200020002020200000000000000005E
+:10465000000000000000000202020202000200004E
+:104660000000000002020202020202010002020037
+:104670000000000000000002020202020202020228
+:10468000020202020002020202020202020202020C
+:1046900002020202020101020202020202020202FC
+:1046A00002020202020101020202020202020202EC
+:1046B00002020202020201020202020202020202DB
+:1046C00002020202020202020202020202020202CA
+:1046D00002020202010101000001010101010101C8
+:1046E00001010101010101020200020000000000BD
+:1046F00000000000000200020202020202020202A6
+:104700000202020200020202020200020000000095
+:104710000000000002000202020000000000000091
+:104720000000000002000202020202020200020275
+:104730000000000002000202020202020202020263
+:10474000020200020002010202010000000000005B
+:104750000000020200000002020202020002000049
+:104760000000000002020202020202020002020233
+:104770000000000200000202020202020202020223
+:104780000202020202020202020202020202020209
+:1047900002020202020101020202020202020202FB
+:1047A00002020202020101020202020202020202EB
+:1047B00002020202020101020202020202020202DB
+:1047C00002020202020101020202020202020202CB
+:1047D00002010202010101000001010101010101C8
+:1047E00001010101010101020200020000000000BC
+:1047F00000000200020200020202020202020202A1
+:104800000202020200020202020200020000000094
+:10481000000000000200020202010100000000008E
+:104820000000000002000202020202020200020274
+:104830000000000002020202020202020202020260
+:104840000202020200010102020200000000000058
+:104850000000020200000002020202020202020242
+:10486000000002020202020202020202000202022E
+:104870000000000200000202020202020202020222
+:104880000202020202020102020202020202020209
+:1048900002020202010101020202020202020202FB
+:1048A00002020202020101020202020202020202EA
+:1048B00002020202020101020202020202020202DA
+:1048C00002020202020101020202020202020202CA
+:1048D00002010202010101000001010101010101C7
+:1048E00001010101010101020200020000000000BB
+:1048F00000000200020100020202020202020202A1
+:104900000202020200020202020200020100000092
+:10491000000000000200020202010200000000008C
+:104920000000000002000102020202020200020274
+:104930000000000002020102020202020202020260
+:104940000202020100010102020200000000000058
+:104950000000020200000002020202020202020241
+:104960000200020202020202020202020202020229
+:10497000000200020002020202020202020202021D
+:104980000202020202010102020202020202020209
+:1049900002020102010101020202020202020202FB
+:1049A00002020202020101020202020202020202E9
+:1049B00002020202020101020202020202020202D9
+:1049C00002020202020101020202020202020202C9
+:1049D00002010101010101000000000000000000CF
+:1049E00000010001000001010200020000000000BF
+:1049F00000000200020100020202020202020202A0
+:104A00000202020200020202020200020100000091
+:104A1000000000000200010202020200000000008B
+:104A20000000000001000102020202020200020274
+:104A3000020000000202010202020202020202025D
+:104A40000202020100010102020200000100000056
+:104A50000000020200000002020202020202020240
+:104A60000202020202020202020202020202020226
+:104A7000020200020002020202020202020202021A
+:104A8000020202020201010202020202020101010B
+:104A900001010101010101020202020202020101FF
+:104AA00002010101010101020202020202020202EC
+:104AB00002020102020101020202020202020202D9
+:104AC00002020202020101020202020202010101CB
+:104AD00001010101010101000000000000000000CF
+:104AE00000010101000101010100020000000000BD
+:104AF00000000100020100020202020202020202A0
+:104B00000202020100020102020200020200000091
+:104B10000000000001000102020202000002000089
+:104B20000000000001000102020202020200020273
+:104B3000020200000202010202020202020202025A
+:104B40000202020100010102020200010100000054
+:104B5000000002020000000202020202020202023F
+:104B60000202020202010102020202020202020227
+:104B70000202020200020202020202020202020217
+:104B8000020202020201010202020202020101010A
+:104B900001010101010101020202020202010101FF
+:104BA00001010101010101020202020202010101EF
+:104BB00001010101010101020202020202020202DC
+:104BC00002020202020101020202020101010101CC
+:104BD00001010101010101000000000000000000CE
+:104BE00000010101010101010102020200020002B3
+:104BF000020001000201000202020202020202029D
+:104C00000202010100020102020200020200000091
+:104C10000000000001000102020202000002000088
+:104C20000000000001000102020202020200020272
+:104C30000202020202020102020202020202020255
+:104C40000101020102010102020200010200000052
+:104C5000000002020000000202020202020202023E
+:104C60000202020202010102020202020202020226
+:104C70000202020200020102020202020202020217
+:104C8000020202020201010202020101010101010C
+:104C900001010101010101020202020201010101FF
+:104CA00001010101010101020202020101010101F0
+:104CB00001010101010101020202020202020101DD
+:104CC00001010101010101020201010101010101D2
+:104CD00001010101010101000000000000000100CC
+:104CE00001010101010101010102010200020002B2
+:104CF000020001000101000202020202020202029D
+:104D00000101010100020102020200020202000090
+:104D10000000000001000102020202000102000086
+:104D20000000000001000102020202020201020270
+:104D30000202020202020102020202020202020254
+:104D4000010102010201010202020202020002004C
+:104D5000000002020000000202020202020202023D
+:104D60000202020202010102020202020202020225
+:104D70000202020200020102020202020201020118
+:104D8000020101020201010201010101010101010F
+:104D90000101010101010102020201010101010100
+:104DA00001010101010101020201010101010101F1
+:104DB00001010101010101020202020101010101DF
+:104DC00001010101010101020201010101010101D1
+:104DD00001010101010101000000000100000101C9
+:104DE00001010101010101010102010202020202AD
+:104DF0000202020201010002020202020202010199
+:104E0000010101010201010202020202020200008C
+:104E10000000000001000102020202010202020081
+:104E2000000000000102010202020202020202026C
+:104E30000202020201020102020202020202020254
+:104E40000101020102010102020202020202020247
+:104E5000000002020000020201020202020202023B
+:104E60000202020201010102020202020202020225
+:104E70000202020202010102020202020201010117
+:104E80000101010101010102010101010101010111
+:104E90000101010101010102020101010101010100
+:104EA00001010101010101020201010101010101F0
+:104EB00001010101010101020201010101010101E0
+:104EC00001010101010101020201010101010101D0
+:104ED00001010101010101000001010101010101C4
+:104EE00001010101010101010102010202020201AD
+:104EF000010202020101000202020202010101019B
+:104F0000010101010201010202020202020200008B
+:104F1000000000000100010202020202020202027D
+:104F2000000000000102010202020202020202026B
+:104F30000202020201010102010202020201020256
+:104F40000101020102010102020202020202020246
+:104F50000000020202000202010202020202020238
+:104F60000202020201010102020202020202020224
+:104F70000202020202010102020202010101010118
+:104F80000101010101010102010101010101010110
+:104F900001010101010101020201010101010101FF
+:104FA00001010101010101020201010101010101EF
+:104FB00001010101010101020201010101010101DF
+:104FC00001010101010101020101010101010101D0
+:104FD00001010101010101000001000101010101C4
+:104FE00001010101010101020202010202010201AB
+:104FF000010102020101000202020202010101019B
+:10500000010101010201010202020202020200008A
+:10501000000000000100010202020202020202027C
+:10502000000000000102010202020202020202026A
+:105030000202020201010102010202020201010157
+:105040000101020102010102020202020202020245
+:105050000002010102000202010202020201020238
+:105060000202020201010102020202020202010224
+:105070000202020102010102020102010101010119
+:10508000010101010101010201010101010101010F
+:1050900001010101010101020201010101010101FE
+:1050A00001010101010101020201010101010101EE
+:1050B00001010101010101020201010101010101DE
+:1050C00001010101010101010101010101010101D0
+:1050D00001010101010101000001000101010101C3
+:1050E00001010101010101020202020202010101AA
+:1050F000020101010101000202020202010101019B
+:105100000101010102010102020202020202000287
+:10511000000000000100010202020202020202027B
+:105120000000000001020102020202020202020269
+:105130000202020201010102010202020101010157
+:105140000101010102010102020202020202020245
+:105150000002010102000102010202020201020139
+:105160000101010101010102020202020202010128
+:10517000020102010201010202010101010101011A
+:10518000010101010101010101010101010101010F
+:1051900001010101010101020101010101010101FE
+:1051A00001010101010101020201010101010101ED
+:1051B00001010101010101020201010101010101DD
+:1051C00001010101010101010101010101010101CF
+:1051D00001010101010101000001000101010001C3
+:1051E00001010101010101020202020202010102A8
+:1051F000020201010101000202020201010101019A
+:105200000101010102010102020202020202020284
+:10521000000000000100010202020202020202027A
+:105220000000020001010102020202020202020267
+:105230000202020201010102010102010101010158
+:105240000101010101010102020202020202020245
+:10525000000201010200010201010201010102013B
+:105260000101010101010102010202020202010128
+:10527000010101010101010202010101010101011C
+:10528000010101010101010101010101010101010E
+:1052900001010101010101010101010101010101FE
+:1052A00001010101010101010101010101010101EE
+:1052B00001010101010101020101010101010101DD
+:1052C00001010101010101010101010101010101CE
+:1052D00001010101010101000001000101000001C3
+:1052E00000010001000001020202020102020202AA
+:1052F000010201010101000202020201010101019A
+:105300000101010101010102020202020202020284
+:105310000000000001000102020202020202020279
+:105320000002020001010102020202020102010167
+:105330000202020201010101010101010101010159
+:105340000101010101010102020202020202020244
+:10535000020201010100010201010101010101013B
+:10536000010101010101010101010101010201012C
+:10537000010101010101010201010101010101011C
+:10538000010101010101010101010101010101010D
+:1053900001010101010101010101010101010101FD
+:1053A00001010101010101010101010101010101ED
+:1053B00001010101010101010101010101010101DD
+:1053C00001010101010101010101010101010101CD
+:1053D00001010101010101000000000000000000C6
+:1053E00000010000000000020201020101020202AD
+:1053F000010101010101000202020201010101019A
+:105400000101010101010102020202020202020283
+:105410000000000001000102020202020202020278
+:105420000202020201010102020201020102010163
+:10543000010101010101010101010101010101015C
+:105440000101010101010102020202020202020243
+:10545000020201010100010101010101010101013B
+:10546000010101010101010101010101010101012C
+:10547000010101010101010201010101010101011B
+:10548000010101010101010101010101010101010C
+:1054900001010101010101010101010101010101FC
+:1054A00001010101010101010101010101010101EC
+:1054B00001010101010101010101010101010101DC
+:1054C00001010101010101010101010101010101CC
+:1054D00001010101010101000200000000000000C3
+:1054E00000000000000000020101010101020101B1
+:1054F0000101010101010002020202010101010199
+:105500000101010101010102020202020202020282
+:105510000002000001000102020202020202020275
+:105520000202020201010101020101010102010165
+:10553000010101010101010101010101010101015B
+:105540000101010101010102010102020202020244
+:10555000020201010100010101010101010101013A
+:10556000010101010101010101010101010101012B
+:10557000010101010101010101010101010101011B
+:10558000010101010101010101010101010101010B
+:1055900001010101010101010101010101010101FB
+:1055A00001010101010101010101010101010101EB
+:1055B00001010101010101010101010101010101DB
+:1055C00001010101010101010101010101010101CB
+:1055D00001010101010101000200000000000000C2
+:1055E00000000000000000010101010101010101B2
+:1055F000010101010100000202010101010101019B
+:105600000101010101010102020202010202020282
+:105610000202000001020101020202020201020272
+:105620000202020201010101020101010102010164
+:10563000010101010101010101010101010101015A
+:105640000101010101010101010102020202010146
+:10565000020101010100010101010101010101013A
+:10566000010101010101010101010101010101012A
+:10567000010101010101010101010101010101011A
+:10568000010101010101010101010101010101010A
+:1056900001010101010101010101010101010101FA
+:1056A00001010101010101010101010101010101EA
+:1056B00001010101010101010101010101010101DA
+:1056C00001010101010101010101010101010101CA
+:1056D00001010101010101000200000000000000C1
+:1056E00000000000000000010101010101010101B1
+:1056F000010101010100000202010101010101019A
+:105700000101010101010101020102010202020283
+:105710000202000001010101010201020201010176
+:105720000202010201010101020101010102010164
+:105730000101010101010101010101010101010159
+:105740000101010101010101010102020101010147
+:105750000201010101010101010101010101010138
+:105760000101010101010101010101010101010129
+:105770000101010101010101010101010101010119
+:105780000101010101010101010101010101010109
+:1057900001010101010101010101010101010101F9
+:1057A00001010101010101010101010101010101E9
+:1057B00001010101010101010101010101010101D9
+:1057C00001010101010101010101010101010101C9
+:1057D00001010101010101000200000000000000C0
+:1057E00000000000000000010101010101010101B0
+:1057F000010101010000010201010101010101019A
+:105800000101010101010101010102010101020285
+:105810000202020201010101010101020101010173
+:105820000201010101010101010101010102010166
+:105830000101010101010101010101010101010158
+:105840000101010101010101010101010101010148
+:105850000101010101010101010101010101010138
+:105860000101010101010101010101010101010128
+:105870000101010101010101010101010101010118
+:105880000101010101010101010101010101010108
+:1058900001010101010101010101010101010101F8
+:1058A00001010101010101010101010101010101E8
+:1058B00001010101010101010101010101010101D8
+:1058C00001010101010101010101010101010101C8
+:1058D00001010101010101020202020202020202AF
+:1058E00002020202020202010101010101010101A1
+:1058F000010101010000010101010101010101019A
+:105900000101010101010101010102010101020185
+:105910000202020201010101010101010101010173
+:105920000101010101010101010101010101010167
+:105930000101010101010101010101010101010157
+:105940000101010101010101010101010101010147
+:105950000101010101010101010101010101010137
+:105960000101010101010101010101010101010127
+:105970000101010101010101010101010101010117
+:105980000101010101010101010101010101010107
+:1059900001010101010101010101010101010101F7
+:1059A00001010101010101010101010101010101E7
+:1059B00001010101010101010101010101010101D7
+:1059C00001010101010101010101010101010101C7
+:1059D00001010101010101020202020202020202AE
+:1059E00002020202020202010101010101010101A0
+:1059F000010100000000010101010101010101019B
+:105A00000101010101010101010101010101010186
+:105A10000201020201010101010101010101010173
+:105A20000101010101010101010101010101010166
+:105A30000101010101010101010101010101010156
+:105A40000101010101010101010101010101010146
+:105A50000101010101010101010101010101010136
+:105A60000101010101010101010101010101010126
+:105A70000101010101010101010101010101010116
+:105A80000101010101010101010101010101010106
+:105A900001010101010101010101010101010101F6
+:105AA00001010101010101010101010101010101E6
+:105AB00001010101010101010101010101010101D6
+:105AC00001010101010101010101010101010101C6
+:105AD00001010101010101020202020202020202AD
+:105AE00002020202020202010100010001010101A1
+:105AF000000100000000010101010101010101019B
+:105B00000101010101010101010101010101010185
+:105B10000101010101010101010101010101010175
+:105B20000101010101010101010101010101010165
+:105B30000101010101010101010101010101010155
+:105B40000101010101010101010101010101010145
+:105B50000101010101010101010101010101010135
+:105B60000101010101010101010101010101010125
+:105B70000101010101010101010101010101010115
+:105B80000101010101010101010101010101010105
+:105B900001010101010101010101010101010101F5
+:105BA00001010101010101010101010101010101E5
+:105BB00001010101010101010101010101010101D5
+:105BC00001010101010101010101010101010101C5
+:105BD00001020101020202020202020202020202A8
+:105BE00002020202020202010000000000010000A5
+:105BF000000000000000010101010101010101019B
+:105C00000101010101010101010101010101010184
+:105C10000101010101010101010101010101010174
+:105C20000101010101010101010101010101010164
+:105C30000101010101010101010101010101010154
+:105C40000101010101010101010101010101010144
+:105C50000101010101010101010101010101010134
+:105C60000101010101010101010101010101010124
+:105C70000101010101010101010101010101010114
+:105C80000101010101010101020102010101010102
+:105C900001010101010000010101010101010101F6
+:105CA00001010101010101010101010101010101E4
+:105CB00001010101010100010101010101010101D5
+:105CC00001010101010101010102020202020202BD
+:105CD00002020202020202020202020202020202A4
+:105CE00002020202020202000000000000000000A6
+:105CF000000000000000010101010101010101019A
+:105D00000101010101010101010101010101010183
+:105D10000101010101010101010101010101010173
+:105D20000101010101010101010101010101010163
+:105D30000101010101010101010101010101010153
+:105D40000101010101010101010101010101010143
+:105D50000101010101010101020101010101010132
+:105D60000101010101010101020101010101010122
+:105D70000101010101010101010101010101010113
+:105D80000101010101010101010001000000000009
+:105D900000000000010000010101010101010101F9
+:105DA00001010101010202010100010000000000E7
+:105DB00000000000000100010101010101010101D9
+:105DC00001010101010101020202020202020202BA
+:105DD00002020202020202020202020202020202A3
+:105DE00002020202020202000000000000000000A5
+:105DF0000000000000000101010101010101010199
+:105E00000101010101010101010101010101010182
+:105E10000101010101010101010101010101010172
+:105E20000101010101010101010101010101010162
+:105E30000101010101010101010101010101010152
+:105E40000101010101010102020101010101010140
+:105E50000101010101010102010101010101010131
+:105E60000101010101000001010101010101010124
+:105E70000101010101010101010102010101010111
+:105E8000010101010101000100000000000000000B
+:105E900000000000010000010102020202020202F1
+:105EA00002020202020202010100000000000000E2
+:105EB00000000000000000010101010101010101D9
+:105EC00001010101010202020202020202020202B7
+:105ED00002020202020202020002020202020202A4
+:105EE00002020202020202000000000000000000A4
+:105EF0000000000000010101010101010101010197
+:105F00000101010101010101010101010101010181
+:105F10000101010101010101010101010101010171
+:105F20000101010101010101010101010101010161
+:105F30000101010101010101010101010101010151
+:105F4000010101010101010202010101010101013F
+:105F50000101010101010101000101010000010035
+:105F60000000010101000001000101010101000127
+:105F70000101010101010001000101000000000018
+:105F80000000000000000001000000000000000010
+:105F900000000000020202020202020202020202E9
+:105FA00002020202020202010100000000000000E1
+:105FB00000000000000000010102020202020202D1
+:105FC00002020202020202020202020202020202B1
+:105FD00002020202020202020002020202020202A3
+:105FE00002020202020202000000000000000000A3
+:105FF0000000000000010101010101010101010196
+:106000000101010101010101010101010101010180
+:106010000101010101010101010101010101010170
+:106020000101010101010101010101010101010160
+:10603000010101010101010102010101010101014F
+:10604000010101020101010202010101010101013D
+:106050000101010101010100000201020000010033
+:10606000000001010100000000010000000100002B
+:10607000000001010000000000020000000000001C
+:106080000000000000000002000200020202020202
+:1060900002020202020202020202020202020202E0
+:1060A00002020202020202010100000000000000E0
+:1060B00000000000000202020202020202020202CA
+:1060C00002020202020202020202020202020202B0
+:1060D00002020202020202020002020202020202A2
+:1060E00002020202020202000000000000000000A2
+:1060F0000000000001010101010101010101010194
+:10610000010101010101010101010101010101017F
+:10611000010101010101010101010101010101016F
+:10612000010101010101010101010101010101015F
+:10613000010101010101010101010101010101014F
+:10614000010101020101020202020101010101013A
+:106150000101010102010100000101010000010033
+:10616000000001010000000000020000000100002A
+:10617000000000010000000000010000000000001D
+:1061800000000000000202020202020202020202F9
+:1061900002020202020202020202020202020202DF
+:1061A00002020202020202020202020202020202CF
+:1061B00002020202020202020202020202020202BF
+:1061C00002020202020202020202020202020202AF
+:1061D00002020202020202020002020202020202A1
+:1061E00002020202020202000000000000000000A1
+:1061F0000000000001010101010101010101010193
+:10620000010101010101010101010101010101017E
+:10621000010101010101010101010101010101016E
+:10622000010101010101010101010101010101015E
+:106230000101010102010102000201020202020247
+:10624000010102010202010101020101010101013A
+:106250000101020202010200000001000000020030
+:10626000000001010000000000010000000100002A
+:10627000000000020002020000020002020202020C
+:1062800002020202020202020202020202020202EE
+:1062900002020202020202020202020202020202DE
+:1062A00002020202020202020202020202020202CE
+:1062B00002020202020202020202020202020202BE
+:1062C00002020202020202020202020202020202AE
+:1062D000020202020202020202020202020202029E
+:1062E00002020202020202000000000000000000A0
+:1062F0000000010101010101010101010101010190
+:10630000010101010101010101010101010101017D
+:10631000010101010101010101010101010101016D
+:10632000010101010101010101010101010101015D
+:10633000010101010200020100010201010101014C
+:10634000000001010101000101010202020201013C
+:106350000201010101020100000002000000010031
+:106360000000020202020202000202020202020213
+:1063700002020202020202020202020202020202FD
+:1063800002020202020202020202020202020202ED
+:1063900002020202020202020202020202020202DD
+:1063A00002020202020202020202020202020202CD
+:1063B00002020202020202020202020202020202BD
+:1063C00002020202020202020202020202020202AD
+:1063D000020202020202020202020202020202029D
+:1063E000020202020202020000010001010000019B
+:1063F000010101010101010101010101010101018D
+:10640000010101010101010101010101010101017C
+:10641000010101010101010101010101010101016C
+:106420000101010102020102010202020201020253
+:106430000202020201000100000001000000000051
+:106440000202000000020201010101010101020239
+:106450000102020201010200020202020202020221
+:10646000020202020202020202020202020202020C
+:1064700002020202020202020202020202020202FC
+:1064800002020202020202020202020202020202EC
+:1064900002020202020202020202020202020202DC
+:1064A00002020202020202020202020202020202CC
+:1064B00002020202020202020202020202020202BC
+:1064C00002020202020202020202020202020202AC
+:1064D000020202020202020202020002020202029E
+:1064E0000202020202020201010101010101010195
+:1064F000010101010101010101010101010101018C
+:10650000010101010101010101010101010101017B
+:106510000101010102020101010101010101010169
+:10652000010101010101020101010101010101015A
+:106530000101010101020202020202020202020240
+:10654000020202020202020101020202020202022D
+:10655000020202020202020202020202020202021B
+:10656000020202020202020202020202020202020B
+:1065700002020202020202020202020202020202FB
+:1065800002020202020202020202020202020202EB
+:1065900002020202020202020202020202020202DB
+:1065A00002020202020202020202020202020202CB
+:1065B00002020202020202020202020202020202BB
+:1065C00002020202020202020202020202020202AB
+:1065D000020202020202020202020002020002029F
+:1065E000020202020000000101010101010101019A
+:1065F000010101010101010101010101010101018B
+:10660000010101000101010101010101010101017B
+:106610000101010101010202020202020202020260
+:10662000020202020202020202020202020202024A
+:10663000020202020202020202020202020202023A
+:10664000020202020202020202020202020202022A
+:10665000020202020202020202020202020202021A
+:10666000020202020202020202020202020202020A
+:1066700002020202020202020202020202020202FA
+:1066800002020202020202020202020202020202EA
+:1066900002020202020202020202020202020202DA
+:1066A00002020202020202020202020202020202CA
+:1066B00002020202020202020202020202020202BA
+:1066C00002020202020202020202020202020202AA
+:1066D00002020202020202020200000000000000A8
+:1066E000000202020000000101010101010101019B
+:1066F000010101010101010101010101010101018A
+:10670000010101000202020202020202020202026E
+:106710000202020202020202020202020202020259
+:106720000202020202020202020202020202020249
+:106730000202020202020202020202020202020239
+:106740000202020202020202020202020202020229
+:106750000202020202020202020202020202020219
+:106760000202020202020202020202020202020209
+:1067700002020202020202020202020202020202F9
+:1067800002020202020202020202020202020202E9
+:1067900002020202020202020202020202020202D9
+:1067A00002020202020202020202020202020202C9
+:1067B00002020202020202020202020202020202B9
+:1067C00002020202020202020202020202020202A9
+:1067D00002020202020202020200000000000000A7
+:1067E000000200000000000101010101010101019E
+:1067F0000101010101010102020202020202020280
+:106800000202020202020202020202020202020268
+:106810000202020202020202020202020202020258
+:106820000202020202020202020202020202020248
+:106830000202020202020202020202020202020238
+:106840000202020202020202020202020202020228
+:106850000202020202020202020202020202020218
+:106860000202020202020202020202020202020208
+:1068700002020202020202020202020202020202F8
+:1068800002020202020202020202020202020202E8
+:1068900002020202020202020202020202020202D8
+:1068A00002020202020202020202020202020202C8
+:1068B00002020202020202020202020202020202B8
+:1068C00002020202020202020202020202020202A8
+:1068D00002020202020202020200000000000000A6
+:1068E000000000000000000101010101010101019F
+:1068F000010101010101010202020202020202027F
+:106900000202020202020202020202020202020267
+:106910000202020202020202020202020202020257
+:106920000202020202020202020202020202020247
+:106930000202020202020202020202020202020237
+:106940000202020202020202020202020202020227
+:106950000202020202020202020202020202020217
+:106960000202020202020202020202020202020207
+:1069700002020202020202020202020202020202F7
+:1069800002020202020202020202020202020202E7
+:1069900002020202020202020202020202020202D7
+:1069A00002020202020202020202020202020202C7
+:1069B00002020202020202020202020202020202B7
+:1069C00002020202020202020202020202020202A7
+:1069D00002020202020202020000000000000000A7
+:1069E000000000000000000101010101010101019E
+:1069F0000101010101010101010101010101010187
+:106A00000101010101010101010101010101010176
+:106A10000101010101010101010101010101010166
+:106A20000101010101010101010101010101010156
+:106A30000101010101010101010101010101010146
+:106A40000101010101010101010101010101010136
+:106A50000101010101010101010101010101010126
+:106A60000101010101010101010101010101010116
+:106A70000101010101010101010101010101010106
+:106A800001010101010101010101010101010101F6
+:106A900001010101010101010101010101010101E6
+:106AA00001010101010101010101010101010101D6
+:106AB00001010101010101010101010101010101C6
+:106AC00001010101010101010101010101010101B6
+:106AD00001010101010101020000000000000000AD
+:106AE000000000000000000101010101010101019D
+:106AF0000101010101010101010101010101010186
+:106B00000101010101010101010101010101010175
+:106B10000101010101010101010101010101010165
+:106B20000101010101010101010101010101010155
+:106B30000101010101010101010101010101010145
+:106B40000101010101010101010101010101010135
+:106B50000101010101010101010101010101010125
+:106B60000101010101010101010101010101010115
+:106B70000101010101010101010101010101010105
+:106B800001010101010101010101010101010101F5
+:106B900001010101010101010101010101010101E5
+:106BA00001010101010101000000000000000000DE
+:106BB00000000000000000000000000000000000D5
+:106BC00000000000000000000000000000000000C5
+:106BD00000000000000000020000000000000000B3
+:106BE00000000000000000000000000000000000A5
+:106BF0000000000000000000000000000000000095
+:106C00000000000000000000000000000000000084
+:106C10000000000000000000000000000000000074
+:106C20000000000000000000000000000000000064
+:106C30000000000000000000000000000000000054
+:106C40000000000000000000000000000000000044
+:106C50000000000000000000000000000000000034
+:106C60000000000000000000000000000000000024
+:106C70000000000000000000000000000000000014
+:106C80000000000000000000000000000000000004
+:106C900000000000000000000000000000000000F4
+:106CA00000000000000000000000000000000000E4
+:106CB00000000000000000000000000000000000D4
+:106CC00000000000000000000000000000000000C4
+:106CD00000000000000000000000000000000000B4
+:106CE000000000000000003E000000000000000066
+:106CF0000000000000000000000000000000000094
+:106D00000000000000000000000000000000000083
+:106D10000000000000000000000000000000000073
+:106D20000000000000000000000000000000000063
+:106D30000000000000000000000000000000000053
+:106D40000000000000000000000000000000000043
+:106D50000000000000000000000000000000000033
+:106D60000000000000000000000000000000000023
+:106D70000000000000000000000000000000000013
+:106D80000000000000000000000000000000000003
+:106D900000000000000000000000000000000000F3
+:106DA00000000000000000000000000000000000E3
+:106DB00000000000000000000000000000000000D3
+:106DC00000000000000000000000000000000000C3
+:106DD00000000000000000000000000000000000B3
+:106DE000020202020202020200000202020000028B
+:106DF000000000000000000000000000020200008F
+:106E0000000000000002000000000002020200007A
+:106E1000000000000000000000000000000202006E
+:106E2000000000000000000000000000000202005E
+:106E30000002000000000000000000000000000050
+:106E40000000000000000000000000000000000042
+:106E50000000000000000000000000000000000032
+:106E60000000000000000000000000000000000022
+:106E70000000000000000000000000000000000012
+:106E80000000000000000000000000000000000002
+:106E900000000000000000000000000000000000F2
+:106EA00000000000000000000000000000000000E2
+:106EB00000010000000000000000000000020000CF
+:106EC00000000000000000000000000000000200C0
+:106ED00000000202020000000000000000000200AA
+:106EE0000202020202020202020202020202000284
+:106EF000000000000000000000000000020200028C
+:106F00000000000000020000000000020202020077
+:106F1000000000000000000000000002000202006B
+:106F20000000000000000000000000020202020059
+:106F3000000200000001000000000000000200004C
+:106F40000000000000000000000000000000000041
+:106F50000000000000000000000000000000000031
+:106F60000000000000000000000000000000000021
+:106F70000000000000000000000000000000000011
+:106F80000000000000000000000000000000000001
+:106F900000000000000000000000000000000000F1
+:106FA00000000000000000000000000000000001E0
+:106FB00000010101010000000000000002020200C7
+:106FC00002010000000100000000000000020200B9
+:106FD0000202020202020202020202020202020093
+:106FE0000202020202020202020202020202000283
+:106FF000000000000000000000000000020200028B
+:107000000000000000020002000000020202020074
+:10701000000000000000000000000002000202006A
+:107020000000000000000000000000020202020058
+:10703000000200010001000000000000000200004A
+:107040000000000000000000000000000000000040
+:107050000000000000000000000000000000000030
+:107060000000000000000000000000000000000020
+:107070000000000000000000000000000000000010
+:107080000000000000000000000000000000000000
+:1070900000000000000000000000000000000000F0
+:1070A00000000000000000000000000000000001DF
+:1070B00001020102010100000000000002020201C1
+:1070C00002020202010100000000000000020202B0
+:1070D0000202020202020202020202020202020092
+:1070E0000202020202020202020202020202000282
+:1070F000000000000000000000000000020200028A
+:107100000000000000020002000000020202020073
+:107110000000000000000000000000020202020067
+:107120000000000000000000000000020202020057
+:107130000002000100010000000000000002000049
+:10714000000000000000000000000000000000003F
+:10715000000000000000000000000000000000002F
+:10716000000000000000000000000000000000001F
+:10717000000000000000000000000000000000000F
+:1071800000000000000000000000000000000000FF
+:1071900000000000000000000000000000000000EF
+:1071A00000000000000000000000000000000001DE
+:1071B00002020202020100000000000002020202BC
+:1071C00002020202020202000000000000020202AB
+:1071D0000202020202020202020202020202020091
+:1071E0000202020202020202020202020202000281
+:1071F0000000000000000000000000000202000289
+:107200000000000000020002000000020202020072
+:107210000000000000000000000000020202020066
+:107220000000000000000000000000020202020056
+:107230000002000100020000000000000002000047
+:10724000000000000000000000000000000000003E
+:10725000000000000000000000000000000000002E
+:10726000000000000000000000000000000000001E
+:10727000000000000000000000000000000000000E
+:1072800001000000010100000000000000000000FB
+:1072900000000000000000000000000000000000EE
+:1072A00000000000000000000000000000000002DC
+:1072B00002020202020200000000000002020202BA
+:1072C00002020202020202000000000000020202AA
+:1072D0000202020202020202020202020202020090
+:1072E0000202020202020202020202020202000280
+:1072F0000000000000000000000000000202000288
+:107300000000000000020002000000020202020071
+:107310000000000000000000000000020202020065
+:107320000000000000000000000000020202020055
+:107330000002000200020000000000000202000043
+:10734000000000000000000000000000000000003D
+:10735000000000000000000000000000000000002D
+:10736000000000000000000000000000000000021B
+:10737000000000000000000000000000000000000D
+:1073800001000000010100000000000000000000FA
+:1073900000000000000000000000000000000000ED
+:1073A00000000000000000000000000000000002DB
+:1073B00002020202020200000000000002020202B9
+:1073C00002020202020202020002020000020202A3
+:1073D000020202020202020202020202020202008F
+:1073E000020202020202020202020202020200027F
+:1073F0000000000000000000000000000202000287
+:107400000000000000020002000000020202020070
+:107410000000000000000000000000020202020064
+:107420000000000000000000000000020202020153
+:107430000002000200020000000000000202000042
+:10744000000000000000000000000000000000003C
+:10745000000000000000000000000000000000002C
+:10746000000000000000000000000000000000021A
+:10747000000000000000000000000000000000020A
+:1074800001000001020100000000000000020200F3
+:1074900000000000000000000000000000000000EC
+:1074A00000000000000000000000000000000002DA
+:1074B00002020202020202000000000002020202B6
+:1074C00002020202020202020002020000020202A2
+:1074D000020202020202020202020202020202008E
+:1074E000020202020202020202020202020200027E
+:1074F0000000000000000000000000000202000286
+:10750000000000000002000200000002020202016E
+:107510000000000000000000000000020202020063
+:107520000000000000000000000000020202020251
+:107530000002000200020000000000000202000041
+:10754000000000000000000000000000000000003B
+:10755000000000000000000000000000000000002B
+:107560000000000000000000000000000000000219
+:107570000000000100000000000000000000000208
+:1075800002000002020200000000000000020200EF
+:1075900000000000000000000000000000000000EB
+:1075A00001000000000000000000000000000002D8
+:1075B00002020202020202000000000002020202B5
+:1075C000020202020202020202020202000202029D
+:1075D000020202020202020202020202020202008D
+:1075E000020202020202020202020202020200027D
+:1075F0000000000000000000000000000202000285
+:10760000000000000002000200000002020202026C
+:107610000000000000000000000000020202020062
+:107620000000000000000000000000020202020250
+:107630000002000200020000000000000202000040
+:10764000000000000000000000000000000000003A
+:10765000000000000000000000000000000000002A
+:107660000000000000000000000000000000000218
+:107670000101000100010000000002000002000200
+:1076800002000102020200000000000000020200ED
+:1076900000000000000000000000000000000000EA
+:1076A00001000100000000000000000000000002D6
+:1076B00002020202020202000202020002020202AE
+:1076C000020202020202020202020202000202029C
+:1076D000020202020202020202020202020202008C
+:1076E000020202020202020202020202020200027C
+:1076F0000000000000000000000000000202000284
+:10770000000000000002000200000002020202026B
+:107710000000000000000000000000020202020061
+:10772000000000000000000000000002020202024F
+:10773000000200020002000000000000020200003F
+:107740000000000000000000000000000000000039
+:107750000000000000000000000000000000000029
+:107760000000000000000000000000000000000217
+:1077700001020102000100000000020000020002FC
+:1077800002000202020202000000000000020200E9
+:1077900000000000000000000000000000000000E9
+:1077A00001010100000100000000000000000002D3
+:1077B00002020202020202000202020002020202AD
+:1077C000020202020202020202020202000202029B
+:1077D000020202020202020202020202020202008B
+:1077E0000101010101010101010101010101000289
+:1077F0000000000000000000000000020202000281
+:10780000000000000002000200000002020202026A
+:107810000000000000000000000000020202020060
+:10782000000000000000000000000002020202024E
+:10783000000200020002000000000000020202003C
+:107840000000000000000000000000000000000038
+:107850000000000000000000000000000000000028
+:107860000000010000000000000000000000000215
+:1078700002020102000200000200020000020002F7
+:1078800002000202020202000000000000020200E8
+:1078900000000000000000000000000000000002E6
+:1078A00002010101000100000000000000000002D0
+:1078B00002020202020202020202020202020202A8
+:1078C000020202020202020202020202000202029A
+:1078D000020202020202020202020202020202008A
+:1078E0000101010101010101010101010101000288
+:1078F0000000000000000000000000020102000281
+:107900000000000200020002000000020202020267
+:10791000000000000000000000000002020202005F
+:10792000000000000000000000000002020202024D
+:107930000102000200020002000000000202020038
+:107940000000000000000000000000000000000037
+:107950000000000000000000000000000000000027
+:107960000000010100000000000000000000000213
+:1079700002020202010200000200020000020202F2
+:1079800002000202020202000202020000020200E1
+:1079900001000000000000000000000000000002E4
+:1079A00002010201000100000000000000000002CE
+:1079B00002020202020202020202020202020202A7
+:1079C0000202020202020202020202020202020297
+:1079D0000202020202020202020202020202020089
+:1079E0000101010101010101010101010101000287
+:1079F000000000000000000200000002010200027E
+:107A00000000000200020002000000020202020266
+:107A1000000000000000000000000002020202025C
+:107A2000000000000000000000000002020202024C
+:107A30000102010200020002000000000202020036
+:107A40000000000000000000000000000000000036
+:107A50000000000000000000000000000000000026
+:107A60000000010100000000000000000000000212
+:107A700002020202020202000200020000020202EE
+:107A800002010202020202000202020000020201DE
+:107A900001000000000000000000000000000002E3
+:107AA00002020202010200000000000000000002C9
+:107AB00002020202020202020202020202020202A6
+:107AC0000202020202020202020202020202020296
+:107AD0000202020202020202020202020202010089
+:107AE0000101010101010101010101010101000286
+:107AF000000000000000000200000002010100027E
+:107B00000000000200020002000000020202020265
+:107B1000010000000000000000000002020202025A
+:107B2000000000000000000000000002020202024B
+:107B30000102010200020002000000000202020035
+:107B40000000000000000000000000000000000035
+:107B50000000000000000000000000000000000223
+:107B60000000020100000000000000000000000210
+:107B700002020202020202000200020000020202ED
+:107B800002020202020202020202020000020202D9
+:107B900001010000000000000000000000000002E1
+:107BA00002020202010200000000000000000002C8
+:107BB00002020202020202020202020202020202A5
+:107BC0000202020202020202020202020202020295
+:107BD0000202020202020202020202020201010089
+:107BE0000101010101010101010101010101000285
+:107BF0000202000002020002020200020101000271
+:107C00000000000200020002000000020202020264
+:107C10000100000000000000000000020202020259
+:107C2000000000000000000000000002020202024A
+:107C30000202010201020002000000000202020032
+:107C40000000000000000000000000000000000034
+:107C50000000000000000200000000000000000220
+:107C60000000020200010000000000020200000209
+:107C700002020202020202000202020200020202E8
+:107C800002020202020202020202020000020202D8
+:107C900002010001010000000000000000000002DD
+:107CA00002020202020200000000000000000202C4
+:107CB00002020202020202020202020202020202A4
+:107CC0000202020202020202020202020202020294
+:107CD0000202020202020202020202020101010089
+:107CE0000000000000000000000000000001000192
+:107CF0000202000002020002020200020101000270
+:107D00000000000200020002000000020202020263
+:107D10000100000000000000000000020202020258
+:107D20000000000000000000000000020202020249
+:107D30000202020201020002000000000202020030
+:107D40000000000000000000000000000000000033
+:107D5000000000000000020000000200000000021D
+:107D60000000020200010000000000020200000208
+:107D700002020202020202000202020200020202E7
+:107D800002020202020202020202020200020202D5
+:107D900002010001010000000000000000000002DC
+:107DA00002020202020200000000000000020202C1
+:107DB00002020202020202020202020202020202A3
+:107DC0000202020202020202020202020202010294
+:107DD0000202020202020202020202010101010089
+:107DE0000000000000000000000000000001000191
+:107DF000020202000202000202020002010100026D
+:107E00000101000200020002000000020202020260
+:107E10000200000100000000000000020202020255
+:107E20000000000000000000000000020202020248
+:107E3000020202020202000200000000020202012D
+:107E40000000000000000000000000000000000032
+:107E5000000000000000020000020200000000021A
+:107E60000002020200010000000000020200000205
+:107E700002020202020202000202020200020202E6
+:107E800002020202020202020202020200020202D4
+:107E900002020101020000000000000000000002D8
+:107EA00002020202020200000000000000020202C0
+:107EB00002020202020202020202020202010102A4
+:107EC0000202020202020202020202020201010294
+:107ED000020202020202020101010101010101008C
+:107EE0000000000000000000000000000001000190
+:107EF000020202000202000202020001010100026D
+:107F0000020101020102000200000002020202025C
+:107F10000200000200000000000000020202020253
+:107F20000000000000000000000000020202020247
+:107F3000020202020202000200000000020202022B
+:107F40000000000000000000000000000000000031
+:107F50000000000100000200000202000000000218
+:107F60000002020202020000000000020200000201
+:107F700002020202020202000202020200020202E5
+:107F800002020202020202020202020200020202D3
+:107F900002020102020100000000000000000002D5
+:107FA00002020202020202000000020000020202BB
+:107FB00002020202020202020202020202010102A3
+:107FC0000202020202020202020202020201010293
+:107FD000020202020101010101010101010101008E
+:107FE000000000000000000000000000000100018F
+:107FF0000202020002020202020202010101000268
+:108000000202010202020202000000020202020257
+:108010000200000200000000000000020202020252
+:108020000000000000000000000000020202010247
+:10803000020202020202000200000000020202022A
+:108040000000000000000000000000000000000030
+:108050000000000200000200000202000000000216
+:1080600000020202020200000000000202020002FE
+:1080700002020202020202020202020200020202E2
+:1080800002020202020202020202020200020202D2
+:1080900002020102020100000000000000000002D4
+:1080A00002020202020202000000020000020202BA
+:1080B00002020202020202020202020201010102A3
+:1080C0000202020202020202020202020201010292
+:1080D000020201010101010101010101010101008F
+:1080E000000000000000000000000000000101018D
+:1080F0000202020002020201020202010101000268
+:108100000202020202020202000000020201020256
+:108110000200000200000000000000020202010252
+:108120000000000000010200000000020201010244
+:10813000020202020202000200000000020102022A
+:10814000000000000000000000000000000000012E
+:108150000000000200000200000202000000000215
+:1081600000020202020200000000000202020002FD
+:1081700002020202020202020202020200020202E1
+:1081800002020202020202020202020202020102D0
+:1081900002020202020102020000000000000002CE
+:1081A00002020202020202000202020002020202B3
+:1081B00002020202020202020202020201010102A2
+:1081C0000202020202020202020202020201010291
+:1081D000020101010101010101010101010101008F
+:1081E0000000000000000000000000010101010289
+:1081F0000202020202020201010102010101000267
+:108200000202020202020202000200020201010254
+:108210000200000200000000000000020201010252
+:10822000000001020102020000000002020101023E
+:108230000202020202020002000000000201020229
+:10824000000000000000000000000000000000022C
+:108250000000000200000200000202000000000214
+:1082600001020202020200020000000202020002F9
+:1082700002020202020202020202020200020202E0
+:1082800002020202020202020202020202010102D0
+:1082900002020202020202020000000000000002CC
+:1082A00002020202020202000202020002020202B2
+:1082B00002020202020202020202020201010102A1
+:1082C0000202020202020202020202020201010290
+:1082D000020101010101010101010101010101008E
+:1082E0000000000000000000000000010101010288
+:1082F0000102020202010201010101010101000269
+:108300000202020202020202000200020101010254
+:108310000200000200000000000000020201010251
+:108320000000020202020200000202010101010239
+:108330000202020202020202000000000201020226
+:10834000000000000000000000000000000000022B
+:108350000000000200000200000202000000020211
+:1083600001020202020200020000000202020202F6
+:1083700002020202020202020202020200020202DF
+:1083800002020202020202020202020202010102CF
+:1083900002020202020202020002000200020002C5
+:1083A00002020202020202020202020202020202AD
+:1083B00002020202020202020202020201010102A0
+:1083C000020202020202020202020202020101028F
+:1083D000010101010101010101010101010101008E
+:1083E0000000000000000000000000010101010287
+:1083F0000102020201010201010102010101000268
+:108400000202020202020202000200010101010254
+:108410000200000201000000000000010101010251
+:108420000002020202020200000202010101010236
+:108430000202020202020202000000000101020226
+:10844000000000000000000000000000000000022A
+:108450000000000200000200000202000000020210
+:1084600001020202020202020002020202020202EF
+:1084700002020202020202020202020202010202DD
+:1084800002020202020202020202020202010102CE
+:1084900002020202020202020002000200020202C2
+:1084A00002020202020202020202020202020202AC
+:1084B000020202020202020202020202010101029F
+:1084C0000202020202020101020101010201010293
+:1084D000010101010101010101010101010101008D
+:1084E0000000000000000000000000010101010286
+:1084F000010102020101010101010101010100026A
+:108500000202020202020202000200010101010253
+:10851000020000020201020000000201010101024A
+:108520000202020202020200020202010101010231
+:108530000201020202020202000000000101010227
+:108540000000000000000000000000000000000229
+:10855000000001020000020000020200000002020E
+:1085600002020202020202020002020202020202ED
+:1085700002020202020202020202020202010102DD
+:1085800002020202020202020202020202010102CD
+:1085900002020202020202020202020202020202BB
+:1085A00002020202020202020202020202020202AB
+:1085B000020202020202020202020202010101029E
+:1085C0000202010101010101010101010101010298
+:1085D000010101010101010101010101010101008C
+:1085E0000000000000000000000000010101010285
+:1085F000020101010101010101010101010100026A
+:10860000020202020202020202020201010101024E
+:108610000200000202020200000002010101010248
+:10862000020202020202020202020201010101022E
+:108630000201020202020202000000020101010224
+:108640000000000000000000000000000200000226
+:108650000101010200000200000202000002020209
+:1086600002020202020202020202020202020202EA
+:1086700002020202020202020202020202010102DC
+:1086800002020202020202020202020202010102CC
+:1086900002020202020202020202020202020202BA
+:1086A00002020202020202020202020202020102AB
+:1086B00002020201010101020101010101010102A5
+:1086C0000101010101010101010101010101010299
+:1086D000010101010101010101010101010101008B
+:1086E0000000000000000001000000010101010184
+:1086F000020101010101010101010101000100026A
+:10870000020202020201020102020201010101024F
+:108710000200000202020200000002010101010247
+:10872000020202020202020202020201010101022D
+:10873000020102020202020202020202010101021D
+:108740000100000000000000000000000200020222
+:108750000101010201000200000202000002020207
+:1087600002020202020202020202020202020202E9
+:1087700002020202020202020202010202010102DC
+:1087800002020202020202020202020202010102CB
+:1087900002020202020202020202020202020202B9
+:1087A00002020202020202020202020202010102AB
+:1087B00002010101010101010101010101010102A7
+:1087C0000101010101010101010101010101010199
+:1087D000010101010101010101010101010101008A
+:1087E0000000000000000001010101010101010180
+:1087F0000201010201010101010101010001000268
+:10880000020202020201020102020201010101024E
+:108810000200010202020202000002010101010243
+:10882000020202020202020202020201010101022C
+:10883000020102020202020202020202010101021C
+:108840000101000000000000000000000200020220
+:108850000201020201010200000202000002020203
+:1088600002020202020202020202020201020202E9
+:1088700002020202020202020102010202010102DC
+:1088800002020202010201020101010202010102CF
+:1088900002020202020202020202020202020202B8
+:1088A00002020202020202020202020202010102AA
+:1088B00001010101010101010101010101010102A7
+:1088C0000101010101010101010101010101010198
+:1088D0000101010101010101010101010101010089
+:1088E000000000000000000101010101010101017F
+:1088F0000101010201010101010101010001000268
+:10890000020202020201020102020201010101024D
+:10891000020002020202020202020201010101023D
+:10892000020202020202020202020201010101022B
+:10893000020102020201020102020202010101021D
+:10894000020100000000000000000000020202021C
+:108950000202020201010200000202000002020201
+:1089600002020202020202020202020101010202EA
+:1089700002020202020202020102010102010102DC
+:1089800002020201010101010101010102010102D2
+:1089900002020202020202020202020202020202B7
+:1089A00002020202020202020202020202010102A9
+:1089B00001010101010101010101010101010102A6
+:1089C0000101010101010101010101010101010197
+:1089D0000101010101010101010101010101010088
+:1089E000000000000001010101010101010101017C
+:1089F0000101010101010101010101000001000269
+:108A0000020202020201020102020201010101024C
+:108A1000020002020202020202020201010101023C
+:108A2000020202020202020202020201010101022A
+:108A3000020102020201020102020202010101021C
+:108A40000201010100000000000000000202020219
+:108A500002020202020102000002020000020202FF
+:108A600002020202020202020202020101010102EA
+:108A700002020202020202020102010102010102DB
+:108A800002020101010101010101010101010102D3
+:108A900002020202020202020202020202020202B6
+:108AA00002020202020202020202020201010102A9
+:108AB00001010101010101010101010101010102A5
+:108AC0000101010101010101010101010101010196
+:108AD0000101010101010101010101010101010087
+:108AE000000000000101010101010101010101017A
+:108AF000010101010101010000000100000000026C
+:108B0000020202020201020102020201010101024B
+:108B1000020002020202020202020201010101023B
+:108B20000202020202020202020202010101010229
+:108B3000020102010201020102020202010101021C
+:108B40000202010100000000000000000202020217
+:108B500002020202020202000002010000020102FF
+:108B600002020202020202020202020101010102E9
+:108B700002010202020101020101010102010102DE
+:108B800002020101010101010101010101010102D2
+:108B900002020202020202020202020202010102B7
+:108BA00002020202020202020202020201010102A8
+:108BB00001010101010101010101010101010101A5
+:108BC0000101010101010101010101010101010195
+:108BD0000101010101010101010101010101010086
+:108BE0000000000001010101010101010101010179
+:108BF000010101010100010000000100000000026C
+:108C0000020202020201020102020201010101024A
+:108C1000020002020202020202020201010101023A
+:108C20000202020202020202020202010101010228
+:108C3000020102010201020102020202010101021B
+:108C40000202010101000000000000000202020215
+:108C50000202020202020100000101000002010200
+:108C600002020202020202020202020101010102E8
+:108C700002010201010101020101010102010101E0
+:108C800001020101010101010101010101010102D2
+:108C900002020202020202020202020202010102B6
+:108CA00002020202020102020202010201010102A9
+:108CB00001010101010101010101010101010101A4
+:108CC0000101010101010101010101010101010194
+:108CD0000101010101010101010101010101010085
+:108CE0000000000101010101010101010101010177
+:108CF0000100010100000000000000000000000170
+:108D00000202020202010201020202010101010249
+:108D10000202020202020202020202010101010237
+:108D20000202020202020202020202010101010227
+:108D3000020102010201020102020202010101021A
+:108D40000202020201010000000000000202010212
+:108D50000202020202020100000101000001010200
+:108D600002020202010202010202020101010101EA
+:108D700002010101010101010101010101010101E2
+:108D800001010101010101010101010101010102D2
+:108D900002020202020202010202020101010102B8
+:108DA00002020101010101020101010101010101B0
+:108DB00001010101010101010101010101010101A3
+:108DC0000101010101010101010101010101010193
+:108DD0000101010101010101010101010101010084
+:108DE0000000010101010101010101010101010076
+:108DF0000100000100000000000000000000000170
+:108E00000202020102010201020202010101010249
+:108E10000202020202020202020202010101010236
+:108E20000202020202020202020202010101010226
+:108E30000201020102010201020202020101010219
+:108E40000202020201010000000000000102010212
+:108E500002020202020201000001010000010102FF
+:108E600002010102010202010202020101010101EB
+:108E700001010101010101010101010101010101E2
+:108E800001010101010101010101010101010102D1
+:108E900002020202020201010201020101010102B9
+:108EA00001010101010101010101010101010101B2
+:108EB00001010101010101010101010101010101A2
+:108EC0000101010101010101010101010101010192
+:108ED0000101010101010101010101010101010083
+:108EE0000000010101010101010101010101010075
+:108EF0000000000100000000000000000000000170
+:108F00000202020102010201020202010101010248
+:108F10000202020202020202020202010101010235
+:108F20000202020202020102020101010101010129
+:108F3000020102010101020102020201010101021A
+:108F40000202020202010000000000000101010211
+:108F500002020202020201000001010000010102FE
+:108F600002010101010102010201010101010101EE
+:108F700001010101010101010101010101010101E1
+:108F800001010101010101010101010101010102D0
+:108F900002020202010201010101020101010101BB
+:108FA00001010101010101010101010101010101B1
+:108FB00001010101010101010101010101010101A1
+:108FC0000101010101010101010101010101010191
+:108FD0000101010101010101010101010101010082
+:108FE0000001010101010101010101010101010073
+:108FF0000000000000000000000000000000000170
+:109000000202020102010101020102010101010249
+:109010000202020202020202020202010101010234
+:10902000020202020201010101010101010101012B
+:10903000020101010101010102020201010101021B
+:10904000020202020202000000000000010101020F
+:1090500002020202020201000001010000010102FD
+:1090600002010101010101010101010101010101EF
+:1090700001010101010101010101010101010101E0
+:1090800001010101010101010101010101010102CF
+:1090900002020202010201010101010101010101BB
+:1090A00001010101010101010101010101010101B0
+:1090B00001010101010101010101010101010101A0
+:1090C0000101010101010101010101010101010190
+:1090D0000101010101010101010101010101010081
+:1090E0000001010101010101010101010101010072
+:1090F000000000000000000000000000000000016F
+:10910000020202010101010102010201010101014A
+:109110000202020102020202020201010101010235
+:10912000020202010101010101010101010101012C
+:10913000010101010101010101010101010101021E
+:10914000020202020202000000000000010101020E
+:1091500002020201020201000001010000010101FE
+:1091600002010101010101010101010101010101EE
+:1091700001010101010101010101010101010101DF
+:1091800001010101010101010101010101010102CE
+:1091900001010201010101010101010101010101BE
+:1091A00001010101010101010101010101010101AF
+:1091B000010101010101010101010101010101019F
+:1091C000010101010101010101010101010101018F
+:1091D0000101010101010101010101010101010080
+:1091E0000101010101010101010101010100000072
+:1091F000000000000000000000000000000000016E
+:10920000020202010101010101010101010101014B
+:109210000202020102020101020201010101010137
+:10922000020101010101010101010101010101012D
+:10923000010101010101010101010101010101021D
+:10924000020202020202000000000000010101020D
+:1092500002020201020201000201010000010101FB
+:1092600002010101010101010101010101010101ED
+:1092700001010101010101010101010101010101DE
+:1092800001010101010101010101010101010101CE
+:1092900001010101010101010101010101010101BE
+:1092A00001010101010101010101010101010101AE
+:1092B000010101010101010101010101010101019E
+:1092C000010101010101010101010101010101018E
+:1092D000010101010101010101010101010101007F
+:1092E0000101010101010101010101010100000071
+:1092F000000000000000000000000000000000016D
+:10930000010101010101010101010101010101014D
+:10931000010202010101010101010101010101013B
+:10932000020101010101010101010101010101012C
+:10933000010101010101010101010101010101021C
+:10934000020202020202000000000000010101020C
+:1093500002020201020201000201010000010101FA
+:1093600002010101010101010101010101010101EC
+:1093700001010101010101010101010101010101DD
+:1093800001010101010101010101010101010101CD
+:1093900001010101010101010101010101010101BD
+:1093A00001010101010101010101010101010101AD
+:1093B000010101010101010101010101010101019D
+:1093C000010101010101010101010101010101018D
+:1093D000010101010101010101010101010101007E
+:1093E0000101010101010101010101000100000071
+:1093F000000000000000000000000000000000016C
+:10940000010101010101010101010101010101014C
+:10941000010202010101010101010101010101013A
+:10942000010101010101010101010101010101012C
+:10943000010101010101010101010101010101021B
+:109440000202020202020000000002000101010209
+:1094500002020201020201020201010200010101F5
+:1094600002010101010101010101010101010101EB
+:1094700001010101010101010101010101010101DC
+:1094800001010101010101010101010101010101CC
+:1094900001010101010101010101010101010101BC
+:1094A00001010101010101010101010101010101AC
+:1094B000010101010101010101010101010101019C
+:1094C000010101010101010101010101010101018C
+:1094D000010101010101010101010101010101007D
+:1094E0000101010101010101010101000100000070
+:1094F000000000000000000000000000000000016B
+:10950000010101010101010101010101010101014B
+:109510000102020101010101010101010101010139
+:10952000010101010101010101010101010101012B
+:10953000010101010101010101010101010101011B
+:109540000202020202020200020002000101010204
+:1095500002020201020201020201010200010101F4
+:1095600002010101010101010101010101010101EA
+:1095700001010101010101010101010101010101DB
+:1095800001010101010101010101010101010101CB
+:1095900001010101010101010101010101010101BB
+:1095A00001010101010101010101010101010101AB
+:1095B000010101010101010101010101010101019B
+:1095C000010101010101010101010101010101018B
+:1095D000010202020202020202020202020202006E
+:1095E0000101010101010101010101000000000070
+:1095F0000000000000000000000000000000010169
+:10960000010101010101010101010101010101014A
+:109610000102010101010101010101010101010139
+:10962000010101010101010101010101010101012A
+:10963000010101010101010101010101010101011A
+:109640000202020202020200020202000101010201
+:1096500002020201020201020201010202010101F1
+:1096600001010101010101010101010101010101EA
+:1096700001010101010101010101010101010101DA
+:1096800001010101010101010101010101010101CA
+:1096900001010101010101010101010101010101BA
+:1096A00001010101010101010101010101010101AA
+:1096B000010101010101010101010101010101019A
+:1096C000010101010101010101010101010101018A
+:1096D000020202020202020202020202020202026A
+:1096E000020202020202020202020202020202005C
+:1096F0000000000000000000000000000000010168
+:109700000101010101010101010101010101010149
+:109710000102010101010101010101010101010138
+:109720000101010101010101010101010101010129
+:109730000101010101010101010101010101010119
+:109740000202020202020200020202000101010101
+:1097500002020101010101020201010202010101F3
+:1097600001010101010101010101010101010101E9
+:1097700001010101010101010101010101010101D9
+:1097800001010101010101010101010101010101C9
+:1097900001010101010101010101010101010101B9
+:1097A00001010101010101010101010101010101A9
+:1097B0000101010101010101010101010101010199
+:1097C0000101010101010101010101010101010288
+:1097D0000201010101010101010101010101010277
+:1097E000020202020202020202020202020202005B
+:1097F0000000000000000000000000000000010167
+:109800000101010101010101010101010101010148
+:109810000101010101010101010101010101010138
+:109820000101010101010101010101010101010128
+:109830000101010101010101010101010101010118
+:1098400001020202020202020202020001010101FF
+:1098500001010101010101020101010101010101F7
+:1098600001010101010101010101010101010101E8
+:1098700001010101010101010101010101010101D8
+:1098800001010101010101010101010101010101C8
+:1098900001010101010101010101010101010101B8
+:1098A00001010101010101010101010101010101A8
+:1098B0000101010101010101010101010101010198
+:1098C0000101010101010101010101010101010287
+:1098D0000101010101010101010101010101010277
+:1098E000020202020202020202020202020202005A
+:1098F0000000000000000000000000000000010166
+:109900000101010101010101010101010101010147
+:109910000101010101010101010101010101010137
+:109920000101010101010101010101010101010127
+:109930000101010101010101010101010101010117
+:1099400001010202020202020102010201010101FF
+:1099500001010101010101010101010101010101F7
+:1099600001010101010101010101010101010101E7
+:1099700001010101010101010101010101010101D7
+:1099800001010101010101010101010101010101C7
+:1099900001010101010101010101010101010101B7
+:1099A00001010101010101010101010101010101A7
+:1099B0000101010101010101010101010101010197
+:1099C0000101010101010101010101010101010187
+:1099D0000102020202020202020202020202020268
+:1099E0000202020202020202020202020202020059
+:1099F0000000000000000000000000000001010164
+:109A00000101010101010101010101010101010146
+:109A10000101010101010101010101010101010136
+:109A20000101010101010101010101010101010126
+:109A30000101010101010101010101010101010116
+:109A40000101010101010202010101020101010103
+:109A500001010101010101010101010101010101F6
+:109A600001010101010101010101010101010101E6
+:109A700001010101010101010101010101010101D6
+:109A800001010101010101010101010101010101C6
+:109A900001010101010101010101010101010101B6
+:109AA00001010101010101010101010101010101A6
+:109AB0000101010101010101010101010101010196
+:109AC0000101010101010101010101010101010186
+:109AD0000202020202020202020202020202020266
+:109AE0000202020202020202020202020202020058
+:109AF0000000000000000000000000000001010163
+:109B00000101010101010101010101010101010145
+:109B10000101010101010101010101010101010135
+:109B20000101010101010101010101010101010125
+:109B30000101010101010101010101010101010115
+:109B40000101010101010101010101010101010105
+:109B500001010101010101010101010101010101F5
+:109B600001010101010101010101010101010101E5
+:109B700001010101010101010101010101010101D5
+:109B800001010101010101010101010101010101C5
+:109B900001010101010101010101010101010101B5
+:109BA00001010101010101010101010101010101A5
+:109BB0000101010101010101010101010101010195
+:109BC0000101010101010101010101010102020282
+:109BD0000202020202020202020202020202020265
+:109BE0000202020202020202020202020202020057
+:109BF0000000000000000000000000000101010161
+:109C00000101010101010101010101010101010144
+:109C10000101010101010101010101010101010134
+:109C20000101010101010101010101010101010124
+:109C30000101010101010101010101010101010114
+:109C40000101010101010101010101010101010104
+:109C500001010101010101010101010101010101F4
+:109C600001010101010101010101010101010101E4
+:109C700001010101010101010101010101010101D4
+:109C800001010101010101010101010101010101C4
+:109C900001010101010101010101010101010101B4
+:109CA00001010101010101010101010101010101A4
+:109CB0000101010101010101010101010100000196
+:109CC0000202020202020202020202020202020274
+:109CD0000202020202020202020202020202020264
+:109CE0000202020202020202020202020202020056
+:109CF0000000000000000000000000000101010160
+:109D00000101010101010101010101010101010143
+:109D10000101010101010101010101010101010133
+:109D20000101010101010101010101010101010123
+:109D30000101010101010101010101010101010113
+:109D40000101010101010101010101010101010103
+:109D500001010101010101010101010101010101F3
+:109D600001010101010101010101010101010101E3
+:109D700001010101010101010101010101010102D2
+:109D800001010101010101010101010101010001C4
+:109D900001010101010101010101010101010101B3
+:109DA00001010101010101010101010101010101A3
+:109DB000000000000000000000000000020202029B
+:109DC0000202020202020202020202020202020273
+:109DD0000202020202020202020202020202020263
+:109DE0000202020202020202020202020202020055
+:109DF000000000000000000000000000010101015F
+:109E00000101010101010101010101010101010142
+:109E10000101010101010101010101010101010132
+:109E20000101010101010101010101010101010122
+:109E30000100010101010101010101010101010113
+:109E40000101010101010101010101010101010102
+:109E500001010101010101010101010101010101F2
+:109E600001010101010101010101010101010101E2
+:109E700001000101010101010001000001010101D6
+:109E800001010000000100000000000000020201CA
+:109E900001010101010102020202010102010101AD
+:109EA00001010101010101010101010100020100A3
+:109EB0000202020202020202020202020202020282
+:109EC0000202020202020202020202020202020272
+:109ED0000202020202020202020202020202020262
+:109EE0000202020202020202020202020202020054
+:109EF000000000000000000000000001010101015D
+:109F00000101010101010101010101010101010141
+:109F10000101010101010101010101010101010131
+:109F20000101010101010101010101010101010121
+:109F30000100010101010101010101010101010112
+:109F40000101010101010101010101010101010101
+:109F500001010101010101010101000101010101F2
+:109F600001000101000101000101010201010101E3
+:109F700001000101010101010001000001020200D4
+:109F800002020202020202020202020202020201B2
+:109F900001010101010101020101010002020201AE
+:109FA00001010101010101010101010100010202A0
+:109FB0000202020202020202020202020202020281
+:109FC0000202020202020202020202020202020271
+:109FD0000202020202020202020202020202020261
+:109FE0000202020202020202020202020202020053
+:109FF0000000000000000001010100010101010159
+:10A000000101010101010101010101010101010140
+:10A010000101010101010101010101010101010130
+:10A02000010101010101010101010102010101011F
+:10A030000100010101010101010101010101010111
+:10A0400001010101010101010101010102010101FF
+:10A0500001010101010100010100000101020101F2
+:10A0600001000001000101000101010102020202E0
+:10A0700002020202020202020202020202020202C0
+:10A0800002020202020202020202020202020202B0
+:10A0900001010202010200010000010001010102B0
+:10A0A0000202020202020202020202020202020290
+:10A0B0000202020202020202020202020202020280
+:10A0C0000202020202020202020202020202020270
+:10A0D0000202020202020202020202020202020260
+:10A0E0000202020202020202020202020202020052
+:10A0F0000000000001010001010100010101010156
+:10A10000010101010101010101010101010101013F
+:10A11000010101010101010101010101010101012F
+:10A120000100010101010100010101010101000122
+:10A130000100010101010100010101010201010110
+:10A140000101010101010101010101010101000100
+:10A1500001010101010100010100000101010202F0
+:10A1600001020202020202020202020202020202D0
+:10A1700002020202020202020202020202020202BF
+:10A1800002020202020202020202020202020201B0
+:10A1900002020101020100010000020201020202AA
+:10A1A000020202020202020202020202020202028F
+:10A1B000020202020202020202020202020202027F
+:10A1C000020202020202020202020202020202026F
+:10A1D000020202020202020202020202020202025F
+:10A1E0000202020202020202020202020202020150
+:10A1F0000001010001010101010101010101010151
+:10A20000010101010101010101010101010201013D
+:10A21000010101010101010101010102020101012C
+:10A22000000000000000000000000000010000012C
+:10A23000010001010101010001010100010202010F
+:10A2400000010101010101010001010100020201FF
+:10A2500001010102010102010102020101020202E7
+:10A2600002020202020202020202020202020202CE
+:10A2700002020202020202020202020202020202BE
+:10A2800002020202020202020202020202020202AE
+:10A29000020202020202020202020202020202029E
+:10A2A000020202020202020202020202020202028E
+:10A2B000020202020202020202020202020202027E
+:10A2C000020202020202020202020202020202026E
+:10A2D000020202020202020202020202020202025E
+:10A2E000020202020202020202020202020202014F
+:10A2F0000001010001010101010101010101010150
+:10A30000010101010101010101010101010201013C
+:10A31000010101010101010001010101010100012F
+:10A320000000000000000000000000000202020225
+:10A3300002020202020202020202020202020202FD
+:10A3400000000101010101000000000102020202FF
+:10A3500002020202020202020202020202020202DD
+:10A3600002020202020202020202020202020202CD
+:10A3700002020202020202020202020202020202BD
+:10A3800002020202020202020202020202020202AD
+:10A39000020202020202020202020202020202029D
+:10A3A000020202020202020202020202020202028D
+:10A3B000020202020202020202020202020202027D
+:10A3C000020202020202020202020202020202026D
+:10A3D000020202020202020202020202020202025D
+:10A3E000020202020202020202020202020202014E
+:10A3F000010101010101010101010101010101014D
+:10A40000010101010101010101010102020101013A
+:10A410000000000000000000000000000002020236
+:10A42000020202020202020202020202020202020C
+:10A4300002020202020202020202020202020202FC
+:10A4400002020202020202020202020202020202EC
+:10A4500002020202020202020202020202020202DC
+:10A4600002020202020202020202020202020202CC
+:10A4700002020202020202020202020202020202BC
+:10A4800002020202020202020202020202020202AC
+:10A49000020202020202020202020202020202029C
+:10A4A000020202020202020202020202020202028C
+:10A4B000020202020202020202020202020202027C
+:10A4C000020202020202020202020202020202026C
+:10A4D000020202020202020202020202020202025C
+:10A4E000020202020202020202020202020202014D
+:10A4F000010101010101010101010101010101014C
+:10A500000101010101010101010101010101020239
+:10A51000020202020202020202020202020202021B
+:10A52000020202020202020202020202020202020B
+:10A5300002020202020202020202020202020202FB
+:10A5400002020202020202020202020202020202EB
+:10A5500002020202020202020202020202020202DB
+:10A5600002020202020202020202020202020202CB
+:10A5700002020202020202020202020202020202BB
+:10A5800002020202020202020202020202020202AB
+:10A59000020202020202020202020202020202029B
+:10A5A000020202020202020202020202020202028B
+:10A5B000020202020202020202020202020202027B
+:10A5C000020202020202020202020202020202026B
+:10A5D000020202020202020202020202020202025B
+:10A5E0000000020202020202020202020202020150
+:10A5F000010101010101010101010101010101024A
+:10A60000020202020202020202020202020202022A
+:10A61000020202020202020202020202020202021A
+:10A62000020202020202020202020202020202020A
+:10A6300002020202020202020202020202020202FA
+:10A6400002020202020202020202020202020202EA
+:10A6500002020202020202020202020202020202DA
+:10A6600002020202020202020202020202020202CA
+:10A6700002020202020202020202020202020202BA
+:10A6800002020202020202020202020202020202AA
+:10A69000020202020202020202020202020202029A
+:10A6A000020202020202020202020202020202028A
+:10A6B000020202020202020202020202020202027A
+:10A6C000020202020202020202020202020202026A
+:10A6D000020202020202020202020202020202025A
+:10A6E0000000000202020202020202020202020151
+:10A6F0000101010101010101010101010101010249
+:10A700000202020202020202020202020202020229
+:10A710000202020202020202020202020202020219
+:10A720000202020202020202020202020202020209
+:10A7300002020202020202020202020202020202F9
+:10A7400002020202020202020202020202020202E9
+:10A7500002020202020202020202020202020202D9
+:10A7600002020202020202020202020202020202C9
+:10A7700002020202020202020202020202020202B9
+:10A7800002020202020202020202020202020202A9
+:10A790000202020202020202020202020202020299
+:10A7A0000202020202020202020202020202020289
+:10A7B0000202020202020202020202020202020279
+:10A7C0000202020202020202020202020202020269
+:10A7D0000202020202020202020202020202020259
+:10A7E000000000000000000202020002020200015C
+:10A7F0000101010101010101010101010101010149
+:10A800000101010101010101010101010101010138
+:10A810000101010101010101010101010101010128
+:10A820000101010101010101010101010101010118
+:10A830000101010101010101010101010101010108
+:10A8400001010101010101010101010101010101F8
+:10A8500001010101010101010101010101010101E8
+:10A8600001010101010101010101010101010101D8
+:10A8700001010101010101010101010101010101C8
+:10A8800001010101010101010101010101010101B8
+:10A8900001010101010101010101010101010101A8
+:10A8A0000101010101010101010101010101010198
+:10A8B0000101010101010101010101010101010188
+:10A8C0000101010101010101010101010101010178
+:10A8D0000101010101010101010101010101010267
+:10A8E0000000000000000000000000000000000167
+:10A8F0000101010101010101010101010101010148
+:10A900000101010101010101010101010101010137
+:10A910000101010101010101010101010101010127
+:10A920000101010101010101010101010101010117
+:10A930000101010101010101010101010101010107
+:10A9400001010101010101010101010101010101F7
+:10A9500001010101010101010101010101010101E7
+:10A9600001010101010101010101010101010101D7
+:10A9700001010101010101010101010101010101C7
+:10A9800001010101010101010101010101010100B8
+:10A9900000000000000000000000000000000000B7
+:10A9A00000000000000000000000000000000000A7
+:10A9B0000000000000000000000000000000000097
+:10A9C0000000000000000000000000000000000087
+:10A9D0000000000000000000000000000000000275
+:10A9E0000000000000000000000000000000000067
+:10A9F0000000000000000000000000000000000057
+:10AA00000000000000000000000000000000000046
+:10AA10000000000000000000000000000000000036
+:10AA20000000000000000000000000000000000026
+:10AA30000000000000000000000000000000000016
+:10AA40000000000000000000000000000000000006
+:10AA500000000000000000000000000000000000F6
+:10AA600000000000000000000000000000000000E6
+:10AA700000000000000000000000000000000000D6
+:10AA800000000000000000000000000000000000C6
+:10AA900000000000000000000000000000000000B6
+:10AAA00000000000000000000000000000000000A6
+:10AAB0000000000000000000000000000000000096
+:10AAC0000000000000000000000000000000000086
+:10AAD0000000000000000000000000000000000076
+:10AAE0000000000000000000000000000000005313
+:10AAF0000000000000000000000000000000000056
+:10AB00000000000000000000000000000000000045
+:10AB10000000000000000000000000000000000035
+:10AB20000000000000000000000000000000000025
+:10AB30000000000000000000000000000000000015
+:10AB40000000000000000000000000010000000004
+:10AB500000000000000000000000000000000000F5
+:10AB600000000000000000010000000000000000E4
+:10AB700000000000000000000000010000000000D4
+:10AB800000000000000101000000000000000000C3
+:10AB900000000000000000000000000000000000B5
+:10ABA00000000000000000000000000000000000A5
+:10ABB0000000000000000000000000000000000095
+:10ABC0000000000000000000000000000000000085
+:10ABD0000000000000000000000000000000000075
+:10ABE0000000000000000000000000000000000065
+:10ABF0000000000000000002000000000000000053
+:10AC0000000000000002000001010101000101013B
+:10AC1000010001010100000100000000010000002E
+:10AC20000001000000010000000000000000000022
+:10AC30000001000000010000000000000000000012
+:10AC400000000101010000000000000101000000FF
+:10AC500000010000000200000000000000000200EF
+:10AC600001000101010000010000000000000000DF
+:10AC700001000101010000000000010001000202CA
+:10AC800001000100010101000000000000000000BF
+:10AC900000010000000101000000000000000000B1
+:10ACA000000100020001010000000000010000009E
+:10ACB000000000000002000000000000000100028F
+:10ACC0000100010101000000000000000000000080
+:10ACD000000100000001000000000000000102006F
+:10ACE0000100010101000000000000000000000060
+:10ACF0000000000000000002000000000000000052
+:10AD00000000000000020000010101010101010139
+:10AD10000101010101000001010000000101010128
+:10AD2000010101010101000000000000000002001B
+:10AD3000010102020101000000000000010000000A
+:10AD400000010101010200000000000101000202F7
+:10AD500001010102020200010000000000000200E7
+:10AD600001010101010101010000000000000000DB
+:10AD700001010101010001000000010001000101C9
+:10AD800001020101010101000000000000010000BA
+:10AD900001010101010101000000000001010202A6
+:10ADA000010101010101010000000000010000009B
+:10ADB0000200020202010000000000000001000287
+:10ADC0000101010101010100000000000002020276
+:10ADD000010101010101000000000000000102006A
+:10ADE000010101010101010000000000000000005C
+:10ADF0000000000000000002000000000000000051
+:10AE00000000000000020000010101010101010138
+:10AE10000101010101000001010000000101010127
+:10AE2000010101010101000000000000000002001A
+:10AE30000101020201010000000000000100000108
+:10AE400002010101010100000000000101000101F7
+:10AE500001010102020200010000000000020100E5
+:10AE600001010101010101010000000000000200D8
+:10AE700001010101010001000000010001010101C7
+:10AE800001010101010101000000000000010000BA
+:10AE900001010101010101000000000001010101A7
+:10AEA000010101010101010000000000010000009A
+:10AEB0000202020202010000000000000101010282
+:10AEC0000101010101010100000000000002020275
+:10AED0000101010101010000000000000001010169
+:10AEE000010101010101010000000000000000005B
+:10AEF0000000000000000002000000000000000050
+:10AF00000000000000020000010101010201010136
+:10AF10000101010101020001010000000101010124
+:10AF2000010101010101000000000000000001001A
+:10AF30000101020101010000000000000100000108
+:10AF400002010101010100000000000101000101F6
+:10AF500001010102020100010000000000010100E6
+:10AF600001010101010101010000000001000100D7
+:10AF700001010101010001000000010001010101C6
+:10AF800001010101010101000000000000010000B9
+:10AF900001010101010101000000000001010101A6
+:10AFA0000101010101010100000000000100000099
+:10AFB0000202010101010000000000000101010185
+:10AFC0000101010101010100000000000002020274
+:10AFD0000101010101010001000000000001010167
+:10AFE000010101010101010000000000000000005A
+:10AFF000000000000000000200000000000000004F
+:10B000000000000000020000010101020201010134
+:10B010000101010101010001010000000101010124
+:10B020000101010101010100000000000000010018
+:10B030000101010101010000000000000100000108
+:10B0400001010101010100000000000101000101F6
+:10B0500001010101010100010000010000010100E6
+:10B0600001010101010101010000000001000102D4
+:10B0700001010101010001000000010001010101C5
+:10B0800001010101010101000000000000010000B8
+:10B0900001010101010101000000000001010101A5
+:10B0A0000101010101010100000000000100000098
+:10B0B0000102010101010000000000000101010185
+:10B0C0000101010101010100000000000001010176
+:10B0D0000101010101010101000000000001010165
+:10B0E0000101010101010100000000000000000059
+:10B0F000000000000000000200000000000000004E
+:10B100000000000000020001010101020201010132
+:10B110000101010101010001010100010101010121
+:10B120000101010101010100000001000002010014
+:10B130000101010101010000000000000100000107
+:10B1400001010101010101000000000101010101F3
+:10B1500001010101010100010000010000010100E5
+:10B1600001010101010101010000000001000101D4
+:10B1700001010101010001000000010001010101C4
+:10B1800001010101010101000000000000010202B3
+:10B1900001010101010101000000000001010101A4
+:10B1A0000101010101010100000000000100000097
+:10B1B0000101010101010000000000000101010185
+:10B1C0000101010101010100000000000001010175
+:10B1D0000101010101010101000000000001010164
+:10B1E0000101010101010100000000000000000058
+:10B1F000000000000000000200000000000000004D
+:10B20000000000000002000101010202020101022F
+:10B210000101010101010001010100010101010120
+:10B220000101010101010100000001000002010013
+:10B230000101010101010100010101000100020100
+:10B2400001010101010101000000000101010101F2
+:10B2500001010101010100010000010000010101E3
+:10B2600001010101010101010000000001010101D2
+:10B2700001010101010001000000010001010101C3
+:10B2800001010101010101000000000000010101B4
+:10B2900001010101010101000000000001010101A3
+:10B2A0000101010101010100000000000100000096
+:10B2B0000101010101010000000000000101010184
+:10B2C0000101010101010100000000000001010174
+:10B2D0000101010101010101000000000001010163
+:10B2E0000101010101010100000000000000000057
+:10B2F000000000000000000200000000000000004C
+:10B30000000000000002000101010202020101022E
+:10B31000010101010101000101010001010101011F
+:10B320000101010101010100000001000002010012
+:10B3300001010101010101000101010001000201FF
+:10B3400001010101010101000100000101010101F0
+:10B3500001010101010100010000010000010101E2
+:10B3600001010101010101010000000001010101D1
+:10B3700001010101010001000000010001010101C2
+:10B3800001010101010101000000000000010101B3
+:10B3900001010101010101000000000001010101A2
+:10B3A0000101010101010100000000000100000095
+:10B3B0000101010101010000000000000101010183
+:10B3C0000101010101010100000000000001010173
+:10B3D0000101010101010101000000000001010162
+:10B3E0000101010101010100000000000000000056
+:10B3F000000000000000000200000000000000004B
+:10B40000000000000002000101010202020101022D
+:10B41000010101010101000101010001010101011E
+:10B420000101010101010101000001000001010011
+:10B4300001010101010101000101010001000201FE
+:10B4400001010101010101000100000101010101EF
+:10B4500001010101010100010000010000010101E1
+:10B4600001010101010101010000000001010101D0
+:10B4700001010101010001000000010001010101C1
+:10B4800001010101010101000000000000010101B2
+:10B4900001010101010101000000000001010101A1
+:10B4A0000101010101010100000000000100000094
+:10B4B0000101010101010000000000000101010182
+:10B4C0000101010101010100000000000001010172
+:10B4D0000101010101010101000000000001010161
+:10B4E0000101010101010100000000000000000055
+:10B4F000000000000000000200000000000000004A
+:10B500000000000000020002010202020201020229
+:10B51000010101010101000101010001010101011D
+:10B52000010101010101010101010100000101020C
+:10B5300001010101010101000101010001000101FE
+:10B5400001010101010101000101000101010101ED
+:10B5500001010101010100010000010000010101E0
+:10B5600001010101010101010000000001010101CF
+:10B5700001010101010001000000010001010101C0
+:10B5800001010101010101000100000000010101B0
+:10B5900001010101010101000000000001010101A0
+:10B5A0000101010101010100000000000100000093
+:10B5B0000101010101010000000000000101010181
+:10B5C0000101010101010100000000000001010171
+:10B5D0000101010101010101000000000001010160
+:10B5E0000101010101010100000000000000000054
+:10B5F0000000000000000002000000000000000049
+:10B600000000000000020002020202020202020226
+:10B61000010101010101000101010001010101011C
+:10B62000010101010101010101010100010101020A
+:10B6300001010101010101000101010101020101FA
+:10B6400001010101010101000101000101010101EC
+:10B6500001010101010101010000010001010101DD
+:10B6600001010101010101010000000001010101CE
+:10B6700001010101010001000100010001010101BE
+:10B6800001010101010101000100000000010101AF
+:10B69000010101010101010000000000010101019F
+:10B6A0000101010101010100000000000100000092
+:10B6B0000101010101010000000000000101010180
+:10B6C0000101010101010100000000000001010170
+:10B6D000010101010101010100000100000101015E
+:10B6E0000101010101010100000000000000000053
+:10B6F0000000000000000002000000000000000048
+:10B700000000000000020002020202020202020225
+:10B71000010101010101000101010001010101011B
+:10B72000010101010101010101010100010101010A
+:10B7300001010101010101010101010101020101F8
+:10B7400001010101010101000101010101010101EA
+:10B7500001010101010101010000010001010101DC
+:10B7600001010101010101010000000001010101CD
+:10B7700001010101010001000100010001010101BD
+:10B7800001010101010101000101000100010101AC
+:10B79000010101010101010001000000010101019D
+:10B7A000010101010101010000000000010200008F
+:10B7B000010101010101000000000000010101017F
+:10B7C000010101010101010000000000000101016F
+:10B7D000010101010101010100000100010101015C
+:10B7E0000101010101010100000000000000000052
+:10B7F0000000000000000002000000000000000047
+:10B800000000000000020002020202020202020224
+:10B810000201010101010001010100010101010119
+:10B820000101010101010101010101000101010109
+:10B8300001010101010101010101010101010101F8
+:10B8400001010101010101000101010101010101E9
+:10B8500001010101010101010000010001010101DB
+:10B8600001010101010101010100000001010101CB
+:10B8700001010101010001000100010001010101BC
+:10B8800001010101010101000101000100010101AB
+:10B89000010101010101010001000000010101019C
+:10B8A000010101010101010000000000010200008E
+:10B8B000010101010101010000000000010101017D
+:10B8C000010101010101010000000000000101016E
+:10B8D000010101010101010100000100010101015B
+:10B8E0000101010101010100000000000000000051
+:10B8F0000000000000000002000000000000000046
+:10B900000000000000020002020202020202020223
+:10B910000202010101010001010101010101010116
+:10B920000101010101010101010101010101010107
+:10B9300001010101010101010101010101010101F7
+:10B9400001010101010101000101010101010101E8
+:10B9500001010101010101010000010001010101DA
+:10B9600001010101010101010100000001010101CA
+:10B9700001010101010201000100010001010101B9
+:10B9800001010101010101000101000100010101AA
+:10B99000010101010101010001000000010101019B
+:10B9A000010101010101010000000000010100028C
+:10B9B000010101010101010000000000010101017C
+:10B9C000010101010101010000000000000101016D
+:10B9D000010101010101010100000100010101015A
+:10B9E0000101010101010100000000000000000050
+:10B9F0000000000000000002000000000000000045
+:10BA00000000000000020002020202020202020222
+:10BA10000202010101010001010101010101010115
+:10BA20000101010101010101010101010101010106
+:10BA300001010101010101010101010101010101F6
+:10BA400001010101010101000101010101010101E7
+:10BA500001010101010101010101010001010101D7
+:10BA600001010101010101010100000001010101C9
+:10BA700001010101010201000101010001010101B7
+:10BA800001010101010101010101000101010101A7
+:10BA9000010101010101010001000000010101019A
+:10BAA000010101010101010000000000010100028B
+:10BAB000010101010101010000000000010101017B
+:10BAC000010101010101010000000000000101016C
+:10BAD0000101010101010101000001000101010159
+:10BAE000010101010101010000000000000000004F
+:10BAF0000000000000000002000000000000000044
+:10BB00000000000000020002020202020202020221
+:10BB10000202010101010001010101010101010114
+:10BB20000101010101010101010101010101010105
+:10BB300001010101010101010101010101010101F5
+:10BB400001010101010101000101010101010101E6
+:10BB500001010101010101010101010001010101D6
+:10BB600001010101010101010100000001010101C8
+:10BB700001010101010201000101010001010101B6
+:10BB800001010101010101010101010101010101A5
+:10BB90000101010101010100010100000101010198
+:10BBA0000101010101010100000000000101020189
+:10BBB000010101010101010000000000010101017A
+:10BBC000010101010101010000000000000101016B
+:10BBD0000101010101010101000001000101010158
+:10BBE000010101010101010000000002020000004A
+:10BBF0000000000000000002000000000000000043
+:10BC00000000000000020002020202020202020220
+:10BC10000202010101010002010101010101010112
+:10BC20000101010101010101010101010101010104
+:10BC300001010101010101010101010101010101F4
+:10BC400001010101010101000101010101010101E5
+:10BC500001010101010101010101010101010101D4
+:10BC600001010101010101010101010101010101C4
+:10BC700001010101010101000101010001010101B6
+:10BC800001010101010101010101010101010101A4
+:10BC90000101010101010101010100000101010196
+:10BCA0000101010101010100000000000101020188
+:10BCB0000101010101010100010101000101010176
+:10BCC000010101010101010000000000000101016A
+:10BCD0000101010101010101000001000101010157
+:10BCE0000101010101010100020000020200000047
+:10BCF0000000000000000002000000000000000042
+:10BD0000000000000002000202020202020202021F
+:10BD1000020202020201000201010101010101010E
+:10BD20000101010101010101010101010101010103
+:10BD300001010101010101010101010101010101F3
+:10BD400001010101010101000101010101010101E4
+:10BD500001010101010101010101010101010101D3
+:10BD600001010101010101010101010101010101C3
+:10BD700001010101010101000101010001010101B5
+:10BD800001010101010101010101010101010101A3
+:10BD90000101010101010101010100010101010194
+:10BDA0000101010101010100000000000101010188
+:10BDB0000101010101010101010101000101010174
+:10BDC0000101010101010100000000000001010169
+:10BDD0000101010101010101000001000101010156
+:10BDE0000101010101010100020000020200000046
+:10BDF0000000000000000002000000000000000041
+:10BE0000000000000002000202020202020202021E
+:10BE1000020202020201000201010101010101010D
+:10BE20000101010101010101010101010101010102
+:10BE300001010101010101010101010101010101F2
+:10BE400001010101010101010101010101010101E2
+:10BE500001010101010101010101010101010101D2
+:10BE600001010101010101010101010101010101C2
+:10BE700001010101010101000101010101010101B3
+:10BE800001010101010101010101010101010101A2
+:10BE90000101010101010101010100010101010193
+:10BEA0000101010101010100000000000101010187
+:10BEB0000101010101010101010101000101010173
+:10BEC0000101010101010101000000000001010167
+:10BED0000101010101010101000001000101010155
+:10BEE0000101010101010100020002020200000043
+:10BEF0000000000000000002000000000000000040
+:10BF0000000000000002000202020202020202021D
+:10BF1000020202020201010201010101020101010A
+:10BF20000101010101010101010101010101010101
+:10BF300001010101010101010101010101010101F1
+:10BF400001010101010101010101010101010101E1
+:10BF500001010101010101010101010101010101D1
+:10BF600001010101010101010101010101010101C1
+:10BF700001010101010101000101010101010101B2
+:10BF800001010101010101010101010101010101A1
+:10BF90000101010101010101010100010101010192
+:10BFA0000101010101010100000001020101010183
+:10BFB0000101010101010101010101000101010172
+:10BFC0000101010101010101000100000001010165
+:10BFD0000101010101010101000001000101010154
+:10BFE0000101010101010100020002020200000042
+:10BFF000000000000000000200000000000000003F
+:10C00000000000000002000202020202020202021C
+:10C010000202020202010102020101010201010108
+:10C020000101010101010101010101010101010100
+:10C0300001010101010101010101010101010101F0
+:10C0400001010101010101010101010101010101E0
+:10C0500001010101010101010101010101010101D0
+:10C0600001010101010101010101010101010101C0
+:10C0700001010101010101000101010101010101B1
+:10C0800001010101010101010101010101010101A0
+:10C090000101010101010101010100010101010191
+:10C0A0000101010101010100000001010101010183
+:10C0B0000101010101010101010101000101010171
+:10C0C0000101010101010101000100000001010164
+:10C0D0000101010101010101000101000101010152
+:10C0E0000101010101010100020002020200000041
+:10C0F000000000000000000200000000000000003E
+:10C10000000000000002000202020202020202021B
+:10C110000202020202010102020101010201010107
+:10C1200001010101010101010101010101010101FF
+:10C1300001010101010101010101010101010101EF
+:10C1400001010101010101010101010101010101DF
+:10C1500001010101010101010101010101010101CF
+:10C1600001010101010101010101010101010101BF
+:10C1700001010101010101010101010101010101AF
+:10C18000010101010101010101010101010101019F
+:10C19000010101010101010101010101010101018F
+:10C1A0000101010101010100010001010101010181
+:10C1B0000101010101010101010101000101010170
+:10C1C0000101010101010101010101000001010161
+:10C1D0000101010101010101000101000101010151
+:10C1E0000101010101010100020002020200000040
+:10C1F000000000000000000200000000000000003D
+:10C20000000000000002000202020202020202021A
+:10C210000202020202020102020101010201010105
+:10C2200001010101010101010101010101010101FE
+:10C2300001010101010101010101010102010101ED
+:10C2400001010101010101010101010101010101DE
+:10C2500001010101010101020101010101010101CD
+:10C2600001010101010101010101010101010101BE
+:10C2700001010101010101010101010101010101AE
+:10C28000010101010101010101010101010101019E
+:10C29000010101010101010101010101010101018E
+:10C2A0000101010101010100010001010101010180
+:10C2B000010101010101010101010100010101016F
+:10C2C0000101010101010101010101000001010160
+:10C2D000010101010101010101010101010101014E
+:10C2E000010101010101010001010101010101013F
+:10C2F0000101010101010002000000000000000036
+:10C300000000000000020002020202020202020219
+:10C310000202020202020102020201020201010102
+:10C3200001010101010101010101010101010101FD
+:10C3300001010101010101010101010102010101EC
+:10C3400001010101010101010101010101010101DD
+:10C3500001010101010101020101010101010101CC
+:10C3600001010101010101020101010101010101BC
+:10C3700001010101010101010101010101010101AD
+:10C38000010101010101010101010101010101019D
+:10C39000010101010101010101010101010101018D
+:10C3A000010101010101010001000101010101017F
+:10C3B000010101010101010101010100010101016E
+:10C3C000010101010101010101010100000101015F
+:10C3D000010101010101010101010101010101014D
+:10C3E000010101010101010001010101010101013E
+:10C3F0000101010101010002000000000000000035
+:10C400000000000000020002020202020202020218
+:10C4100002020202020201020202010202020202FE
+:10C4200001010101010101020101010101010101FB
+:10C4300001010101010101020201010102010101E9
+:10C4400001010101010101010101010101010101DC
+:10C4500001010101010101020101010101010101CB
+:10C4600001010101010101020101010101010101BB
+:10C4700001010101010101010101010101010101AC
+:10C48000010101010101010101010101010101019C
+:10C49000010101010101010101010101010101018C
+:10C4A000010101010101010001000101010101017E
+:10C4B000010101010101010101010101010101016C
+:10C4C000010101010101010101010100000101015E
+:10C4D000010101010101010101010101010101014C
+:10C4E000010101010101010001010101010101013D
+:10C4F0000101010101010002000000000000000034
+:10C500000000000000020002020202020202020217
+:10C5100002020202020201020202010202020202FD
+:10C5200001020101010101020101010101010101F9
+:10C5300001010101010101020202020102010101E6
+:10C5400001010101010101010101010201010101DA
+:10C5500001010101010101020101010101010101CA
+:10C5600001010101010101020101010101010101BA
+:10C5700001010101010101010101020101010101AA
+:10C58000010101010101010101010101010101019B
+:10C59000010101010101010101010101010101018B
+:10C5A000010101010101010001000101010101017D
+:10C5B000010101010101010101010101010101016B
+:10C5C000010101010101010101010100000101015D
+:10C5D000010101010101010101010101010101014B
+:10C5E000010101010101010001010101010101013C
+:10C5F0000101010101010002000000000000000033
+:10C600000000000000020002020202020202020216
+:10C6100002020202020201020202010202020202FC
+:10C6200002020101010101020101010101010101F7
+:10C6300001010101010101020202020102010102E4
+:10C6400001010101010101010101010202010101D8
+:10C6500001010101010101020101010101010101C9
+:10C6600001010101010101020101010101010101B9
+:10C6700001010101010101010101020102010101A8
+:10C68000010101010101010101010101010101019A
+:10C69000010101010101010101010101010101018A
+:10C6A000010101010101010101000101010101017B
+:10C6B000010101010101010101010101010101016A
+:10C6C000010101010101010101010100000101015C
+:10C6D000010101010101010101010101010101014A
+:10C6E000010101010101010001010101010101013B
+:10C6F0000101010101010002000000000000000032
+:10C700000000000000010002020202020202020216
+:10C7100002020202020202020202010202020202FA
+:10C7200002020201010101020101020101010101F4
+:10C7300001010101010101020202020202010102E2
+:10C7400001020201010101010101010202010101D5
+:10C7500001010101010101020101020101010101C7
+:10C7600001010101010101020101010101010101B8
+:10C7700001010101010101010101020102010101A7
+:10C780000101010101010101010101010101010199
+:10C790000101010101010101010101010101010189
+:10C7A0000101010101010101010101010101010179
+:10C7B0000101010101010101010101010101010169
+:10C7C000010101010101010101010100000101015B
+:10C7D0000101010101010101010101010101010149
+:10C7E0000101010101010100000000000000000042
+:10C7F0000000000101010002000000000000000034
+:10C800000000000000010002020202020202020215
+:10C8100002020202020202020202020202020202F8
+:10C8200002020202020201020201020101010101EF
+:10C8300001010101010101020202020202010102E1
+:10C8400001020202020101010101010202010101D2
+:10C8500001010101010101020101020101010101C6
+:10C8600001010101010101020101010101010101B7
+:10C8700001010101010101010101020102010101A6
+:10C880000101010101010101010101010101010198
+:10C890000101010101010101010101010201010187
+:10C8A0000101010101010101010101010201010177
+:10C8B0000101010101010101010101010101010168
+:10C8C0000101010101010101010101000101010159
+:10C8D0000101010101010102010101010101010147
+:10C8E0000101010101010100000000000000000041
+:10C8F0000000010101010002000000000000000032
+:10C900000000000000010002020202020202020214
+:10C9100002020202020202020202020202020202F7
+:10C9200002020202020201020202020101010101ED
+:10C9300002020101010101020202020202010102DE
+:10C9400001020202020101010201010202010101D0
+:10C9500001010101010101020101020101010101C5
+:10C9600001010101010101020101010102010101B5
+:10C9700001010101010101010101020102010101A5
+:10C980000101010101010102020101010102010194
+:10C990000101010101010101010101010201010186
+:10C9A0000101010101010101010101010201010176
+:10C9B0000101010101010101010101010201010166
+:10C9C0000101010101010101010101000101010158
+:10C9D0000101010101010102010101010101010146
+:10C9E0000101010101010100000000000000000040
+:10C9F000010101010101000200000000000000002F
+:10CA00000000000000010002020202020202020213
+:10CA100002020202020202020202020202020202F6
+:10CA200002020202020201020202020102010201EA
+:10CA300002020101010101020202020202010102DD
+:10CA400002020202020101010201010202010101CE
+:10CA500001010101010101020101020101010101C4
+:10CA600002010101010101020101010102010101B3
+:10CA700001010101010101010201020102020202A0
+:10CA80000201010101010102020101010102010192
+:10CA90000202010101010101010101010202010182
+:10CAA0000101010101010101010101010201010175
+:10CAB0000101010101010101010101010201010165
+:10CAC0000101010101010101010101000101010157
+:10CAD0000101010101010102010101010101010145
+:10CAE000010101010101010000000000000101013C
+:10CAF000010101010101000200000000000000002E
+:10CB00000000000000010002020202020202020212
+:10CB100002020202020202020202020202020202F5
+:10CB200002020202020202020202020202010201E7
+:10CB300002020101020201020202020202010102DA
+:10CB400002020202020201010202010202010202C9
+:10CB500002020101010101020101020102020201BE
+:10CB600002020201010101020101010102010101B0
+:10CB7000010101010101010102010201020202029F
+:10CB8000020102010101010202020102010201018E
+:10CB9000020202010101010202010101020202027C
+:10CBA0000202010101010101010101010201010172
+:10CBB0000101010101010101010101010202010163
+:10CBC0000101010101010101010101000101010156
+:10CBD0000101010101010102010101010101010144
+:10CBE000010101010101010000000000000101013B
+:10CBF000010101010101000200000000000000002D
+:10CC00000000000000010002020202020202020211
+:10CC100002020202020202020202020202020202F4
+:10CC200002020202020202020202020202010201E6
+:10CC300002020101020201020202020202010202D8
+:10CC400002020202020202020202020202020202C4
+:10CC500002020201010101020201020102020202BA
+:10CC600002020202020101020101010102010101AD
+:10CC7000020101010101010102010201020202029D
+:10CC80000202020102020202020201020102020287
+:10CC90000202020202020202020101010202020277
+:10CCA0000202020101010101010101010201010170
+:10CCB0000101010101010101010101010202020161
+:10CCC0000201010101010101010101000101010154
+:10CCD0000101010101010102010101010101010143
+:10CCE000010101010101010000000000000101013A
+:10CCF000010101010101000100000000000000002D
+:10CD00000000000000010002020202020202020210
+:10CD100002020202020202020202020202020202F3
+:10CD200002020202020202020202020202010201E5
+:10CD300002020101020201020202020202020202D6
+:10CD400002020202020202020202020202020202C3
+:10CD500002020201010101020202020102020202B8
+:10CD600002020202020202020201010102010201A8
+:10CD70000202020101010102020202010202020298
+:10CD80000202020202020202020202020202020283
+:10CD90000202020202020202020101010202020276
+:10CDA000020202010202020101010101020101016C
+:10CDB000010101010101010201010101020202015F
+:10CDC0000202020101010101010101000101010151
+:10CDD0000101010101010102010101010102010141
+:10CDE0000101010101010100000000000001010139
+:10CDF000010101010101010100000000000000002B
+:10CE0000000000000001000202020202020202020F
+:10CE100002020202020202020202020202020202F2
+:10CE200002020202020202020202020202020201E3
+:10CE300002020202020201020202020202020202D3
+:10CE400002020202020202020202020202020202C2
+:10CE500002020201010101020202020202020202B6
+:10CE600002020202020202020201010102020202A5
+:10CE70000202020202010102020202010202020295
+:10CE80000202020202020202020202020202020282
+:10CE90000202020202020202020201010202020274
+:10CEA000020202020202020101010101020101016A
+:10CEB000010101010101010201010101020202025D
+:10CEC000020202020201010101010100010101014E
+:10CED000020201010101010201010101010201023D
+:10CEE0000201010101010100000000000001010137
+:10CEF000010101010101010100000000000000002A
+:10CF0000000000000001000202020202020202020E
+:10CF100002020202020202020202020202020202F1
+:10CF200002020202020202020202020202020202E1
+:10CF300002020202020202020202020202020202D1
+:10CF400002020202020202020202020202020202C1
+:10CF500002020201010101020202020202020202B5
+:10CF600002020202020202020201010102020202A4
+:10CF70000202020202010202020202020202020292
+:10CF80000202020202020202020202020202020281
+:10CF90000202020202020202020201020202020272
+:10CFA0000202020202020201010101010201010169
+:10CFB000010101010101010202010101020202025B
+:10CFC000020202020202020201010100010101014A
+:10CFD0000202020101010102010102010102020239
+:10CFE0000202020101010100000000000000000037
+:10CFF0000101010101010101000000000000000029
+:10D00000000000000001000202020202020202020D
+:10D0100002020202020202020202020202020202F0
+:10D0200002020202020202020202020202020202E0
+:10D0300002020202020202020202020202020202D0
+:10D0400002020202020202020202020202020202C0
+:10D0500002020201010101020202020202020202B4
+:10D0600002020202020202020202020202020202A0
+:10D070000202020202010202020202020202020291
+:10D080000202020202020202020202020202020280
+:10D090000202020202020202020201020202020271
+:10D0A0000202020202020201010101010201010168
+:10D0B0000201020101020102020202010202020255
+:10D0C0000202020202020202010101000102020246
+:10D0D0000202020202020102010102010202020234
+:10D0E0000202020202010100000000000000000034
+:10D0F0000101010101010102000000000000000027
+:10D10000000000000001000202020202020202020C
+:10D1100002020202020202020202020202020202EF
+:10D1200002020202020202020202020202020202DF
+:10D1300002020202020202020202020202020202CF
+:10D1400002020202020202020202020202020202BF
+:10D1500002020202020201020202020202020202B0
+:10D16000020202020202020202020202020202029F
+:10D170000202020202010202020202020202020290
+:10D18000020202020202020202020202020202027F
+:10D19000020202020202020202020202020202026F
+:10D1A0000202020202020201010101010201010167
+:10D1B0000202020202020102020202010202020251
+:10D1C0000202020202020202010101000102020245
+:10D1D0000202020202020102010102010202020233
+:10D1E0000202020202020200000001000000000030
+:10D1F0000101010101010102000000000000000026
+:10D20000000000000001000202020202020202020B
+:10D2100002020202020202020202020202020202EE
+:10D2200002020202020202020202020202020202DE
+:10D2300002020202020202020202020202020202CE
+:10D2400002020202020202020202020202020202BE
+:10D2500002020202020201020202020202020202AF
+:10D26000020202020202020202020202020202029E
+:10D27000020202020201020202020202020202028F
+:10D28000020202020202020202020202020202027E
+:10D29000020202020202020202020202020202026E
+:10D2A0000202020202020202020102010201010163
+:10D2B0000202020202020102020202010202020250
+:10D2C0000202020202020202010101000102020244
+:10D2D0000202020202020202010102010202020231
+:10D2E000020202020202020000000100000000002F
+:10D2F0000001010101010102000000000000000026
+:10D30000000000000001000202020202010202020B
+:10D3100002020202020202020202020202020202ED
+:10D3200002020202020202020202020202020202DD
+:10D3300002020202020202020202020202020202CD
+:10D3400002020202020202020202020202020202BD
+:10D3500002020202020202020202020202020202AD
+:10D36000020202020202020202020202020202029D
+:10D37000020202020201020202020202020202028E
+:10D38000020202020202020202020202020202027D
+:10D39000020202020202020202020202020202026D
+:10D3A0000202020202020202020102020202010160
+:10D3B000020202020202010202020201020202024F
+:10D3C0000202020202020202020201000102020241
+:10D3D0000202020202020202010102010202020230
+:10D3E000020202020202020000000100000000002E
+:10D3F0000000010101010102000000000000000026
+:10D40000000000000001000202020202020202010A
+:10D4100002020202020202020202020202020202EC
+:10D4200002020202020202020202020202020202DC
+:10D4300002020202020202020202020202020202CC
+:10D4400002020202020202020202020202020202BC
+:10D4500002020202020202020202020202020202AC
+:10D46000020202020202020202020202020202029C
+:10D47000020202020201020202020202020202028D
+:10D48000020202020202020202020202020202027C
+:10D49000020202020202020202020202020202026C
+:10D4A000020202020202020202010202020201025E
+:10D4B000020202020202010202020202020202024D
+:10D4C000020202020202020202020200010202023F
+:10D4D000020202020202020202020201020202022D
+:10D4E000020202020202020001000001010000002B
+:10D4F0000000000101010101000000000000000027
+:10D50000000000000001000202020201010202020A
+:10D5100002020202020202020202020202020202EB
+:10D5200002020202020202020202020202020202DB
+:10D5300002020202020202020202020202020202CB
+:10D5400002020202020202020202020202020202BB
+:10D5500002020202020202020202020202020202AB
+:10D56000020202020202020202020202020202029B
+:10D57000020202020201020202020202020202028C
+:10D58000020202020202020202020202020202027B
+:10D59000020202020202020202020202020202026B
+:10D5A000020202020202020202010202020202025C
+:10D5B000020202020202020202020202020202024B
+:10D5C000020202020202020202020200010202023E
+:10D5D000020202020202020202020202020202022B
+:10D5E000020202020202020001000001010000002A
+:10D5F0000000000101010101000000000000000026
+:10D600000000000000010002020202020102020109
+:10D6100002020202020202020202020202020202EA
+:10D6200002020202020202020202020202020202DA
+:10D6300002020202020202020202020202020202CA
+:10D6400002020202020202020202020202020202BA
+:10D6500002020202020202020202020202020202AA
+:10D66000020202020202020202020202020202029A
+:10D67000020202020201020202020202020202028B
+:10D68000020202020202020202020202020202027A
+:10D69000020202020202020202020202020202026A
+:10D6A000020202020202020202020202020202025A
+:10D6B000020202020202020202020202020202024A
+:10D6C000020202020202020202020200010202023D
+:10D6D000020202020202020202020202020202022A
+:10D6E000020202020202020000000000010000002B
+:10D6F0000000000000010101000000000000000027
+:10D70000000000000001000202020101010201010B
+:10D7100002020202020202020202020202020202E9
+:10D7200002020202020202020202020202020202D9
+:10D7300002020202020202020202020202020202C9
+:10D7400002020202020202020202020202020202B9
+:10D7500002020202020202020202020202020202A9
+:10D760000202020202020202020202020202020299
+:10D77000020202020201020202020202020202028A
+:10D780000202020202020202020202020202020279
+:10D790000202020202020202020202020202020269
+:10D7A0000202020202020202020202020202020259
+:10D7B0000202020202020202020202020202020249
+:10D7C000020202020202020202020200010202023C
+:10D7D0000202020202020202020202020202020229
+:10D7E000020202020202020000000000000000002B
+:10D7F0000000000000010101000000000000000026
+:10D800000000000000010002020202010101020109
+:10D8100002020202020202020202020202020202E8
+:10D8200002020202020202020202020202020202D8
+:10D8300002020202020202020202020202020202C8
+:10D8400002020202020202020202020202020202B8
+:10D8500002020202020202020202020202020202A8
+:10D860000202020202020202020202020202020298
+:10D870000202020202010202020202020202020289
+:10D880000202020202020202020202020202020278
+:10D890000202020202020202020202020202020268
+:10D8A0000202020202020202020202020202020258
+:10D8B0000202020202020202020202020202020248
+:10D8C000020202020202020202020200020202023A
+:10D8D0000202020202020202020202020202020228
+:10D8E000020202020202020000000000000000002A
+:10D8F0000000000000000101000000000000000026
+:10D900000000000000010002020201010102010109
+:10D9100001010202020202020202020202020202E9
+:10D9200002020202020202020202020202020202D7
+:10D9300002020202020202020202020202020202C7
+:10D9400002020202020202020202020202020202B7
+:10D9500002020202020202020202020202020202A7
+:10D960000202020202020202020202020202020297
+:10D970000202020202020202020202020202020287
+:10D980000202020202020202020202020202020277
+:10D990000202020202020202020202020202020267
+:10D9A0000202020202020202020202020202020257
+:10D9B0000202020202020202020202020202020247
+:10D9C0000202020202020202020202000202020239
+:10D9D0000202020202020202020202020202020227
+:10D9E0000202020202020200000000000000000029
+:10D9F0000000000000000101000200000000000023
+:10DA00000200000000010002020101010101010108
+:10DA100002020202020202020202020202020202E6
+:10DA200002020202020202020202020202020202D6
+:10DA300002020202020202020202020202020202C6
+:10DA400002020202020202020202020202020202B6
+:10DA500002020202020202020202020202020202A6
+:10DA60000202020202020202020202020202020296
+:10DA70000202020202020202020202020202020286
+:10DA80000202020202020202020202020202020276
+:10DA90000202020202020202020202020202020266
+:10DAA0000202020202020202020202020202020256
+:10DAB0000202020202020202020202020202020246
+:10DAC0000202020202020202020202000202020238
+:10DAD0000202020202020202020202020202020226
+:10DAE0000202020202020200000000000000000028
+:10DAF0000000000000000101000200000000000022
+:10DB00000200000000010001020201010101010107
+:10DB100001010202020202020202020202020202E7
+:10DB200002020202020202020202020202020202D5
+:10DB300002020202020202020202020202020202C5
+:10DB400002020202020202020202020202020202B5
+:10DB500002020202020202020202020202020202A5
+:10DB60000202020202020202020202020202020295
+:10DB70000202020202020202020202020202020285
+:10DB80000202020202020202020202020202020275
+:10DB90000202020202020202020202020202020265
+:10DBA0000202020202020202020202020202020255
+:10DBB0000202020202020202020202020202020245
+:10DBC0000202020202020202020202010202020236
+:10DBD0000202020202020202020202020202020225
+:10DBE0000202020202020200000000000000000027
+:10DBF000000000000000010102020000000200001D
+:10DC00000200000202010002010101010101010103
+:10DC100001010201010201020202020202020202E9
+:10DC200002020202020202020202020202020202D4
+:10DC300002020202020202020202020202020202C4
+:10DC400002020202020202020202020202020202B4
+:10DC500002020202020202020202020202020202A4
+:10DC60000202020202020202020202020202020294
+:10DC70000202020202020202020202020202020284
+:10DC80000202020202020202020202020202020274
+:10DC90000202020202020202020202020202020264
+:10DCA0000202020202020202020202020202020254
+:10DCB0000202020202020202020202020202020244
+:10DCC0000202020202020202020202010202020235
+:10DCD0000202020202020202020202020202020224
+:10DCE0000202020202020200000000000000000026
+:10DCF000000000000000010102020000000200001C
+:10DD00000100000202010001020101010101010103
+:10DD100001010102020202020202020202020202E6
+:10DD200002020202020202020202020202020202D3
+:10DD300002020202020202020202020202020202C3
+:10DD400002020202020202020202020202020202B3
+:10DD500002020202020202020202020202020202A3
+:10DD60000202020202020202020202020202020293
+:10DD70000202020202020202020202020202020283
+:10DD80000202020202020202020202020202020273
+:10DD90000202020202020202020202020202020263
+:10DDA0000202020202020202020202020202020253
+:10DDB0000202020202020202020202020202020243
+:10DDC0000202020202020202020202010202020234
+:10DDD0000202020202020202020202020202020223
+:10DDE0000202020202020200000000000000000025
+:10DDF0000000000000000101020202000002020017
+:10DE00000100000202000001010101010101010104
+:10DE100001010201010101020202020202020202E8
+:10DE200002020202020202020202020202020202D2
+:10DE300002020202020202020202020202020202C2
+:10DE400002020202020202020202020202020202B2
+:10DE500002020202020202020202020202020202A2
+:10DE60000202020202020202020202020202020292
+:10DE70000202020202020202020202020202020282
+:10DE80000202020202020202020202020202020272
+:10DE90000202020202020202020202020202020262
+:10DEA0000202020202020202020202020202020252
+:10DEB0000202020202020202020202020202020242
+:10DEC0000202020202020202020202010202020233
+:10DED0000202020202020202020202020202020222
+:10DEE0000202020202020200000000000000000024
+:10DEF0000000000000000101020202000001020017
+:10DF00000100000101000001010101010101010105
+:10DF100001010101010201020202020202020202E7
+:10DF200002020202020202020202020202020202D1
+:10DF300002020202020202020202020202020202C1
+:10DF400002020202020202020202020202020202B1
+:10DF500002020202020202020202020202020202A1
+:10DF60000202020202020202020202020202020291
+:10DF70000202020202020202020202020202020281
+:10DF80000202020202020202020202020202020271
+:10DF90000202020202020202020202020202020261
+:10DFA0000202020202020202020202020202020251
+:10DFB0000202020202020202020202020202020241
+:10DFC0000202020202020202020202010202020232
+:10DFD0000202020202020202020202020202020221
+:10DFE0000202020202020200000000000000000023
+:10DFF0000000000000000101020102020201020211
+:10E000000200020101000001010101010101010101
+:10E0100001010101010101020202020202020202E7
+:10E0200002020202020202020202020202020202D0
+:10E0300002020202020202020202020202020202C0
+:10E0400002020202020202020202020202020202B0
+:10E0500002020202020202020202020202020202A0
+:10E060000202020202020202020202020202020290
+:10E070000202020202020202020202020202020280
+:10E080000202020202020202020202020202020270
+:10E090000202020202020202020202020202020260
+:10E0A0000202020202020202020202020202020250
+:10E0B0000202020202020202020202020202020240
+:10E0C0000202020202020202020202010202020231
+:10E0D0000202020202020202020202020202020220
+:10E0E0000202020202020200000000000000000022
+:10E0F0000000000000000101020102020201010211
+:10E100000200010101000001010101010101010101
+:10E1100001010101010101020202020202020202E6
+:10E1200002020202020202020202020202020202CF
+:10E1300002020202020202020202020202020202BF
+:10E1400002020202020202020202020202020202AF
+:10E15000020202020202020202020202020202029F
+:10E16000020202020202020202020202020202028F
+:10E17000020202020202020202020202020202027F
+:10E18000020202020202020202020202020202026F
+:10E19000020202020202020202020202020202025F
+:10E1A000020202020202020202020202020202024F
+:10E1B000020202020202020202020202020202023F
+:10E1C000020202020202020202020202020202022F
+:10E1D000020202020202020202020202020202021F
+:10E1E0000202020202020200000000000000000021
+:10E1F0000000000000000101020102020202010110
+:10E2000002000201010000010101010101010101FF
+:10E2100001010101010101020202020202020202E5
+:10E2200002020202020202020202020202020202CE
+:10E2300002020202020202020202020202020202BE
+:10E2400002020202020202020202020202020202AE
+:10E25000020202020202020202020202020202029E
+:10E26000020202020202020202020202020202028E
+:10E27000020202020202020202020202020202027E
+:10E28000020202020202020202020202020202026E
+:10E29000020202020202020202020202020202025E
+:10E2A000020202020202020202020202020202024E
+:10E2B000020202020202020202020202020202023E
+:10E2C000020202020202020202020202020202022E
+:10E2D000020202020202020202020202020202021E
+:10E2E0000202020202020200000000000000000020
+:10E2F0000000000000000001010101020202020111
+:10E300000100010101000001010101010101010100
+:10E3100001010101010101020202020202020202E4
+:10E3200002020202020202020202020202020202CD
+:10E3300002020202020202020202020202020202BD
+:10E3400002020202020202020202020202020202AD
+:10E35000020202020202020202020202020202029D
+:10E36000020202020202020202020202020202028D
+:10E37000020202020202020202020202020202027D
+:10E38000020202020202020202020202020202026D
+:10E39000020202020202020202020202020202025D
+:10E3A000020202020202020202020202020202024D
+:10E3B000020202020202020202020202020202023D
+:10E3C000020202020202020202020202020202022D
+:10E3D000020202020202020202020202020202021D
+:10E3E000020202020202020000000000000000001F
+:10E3F0000000000000000001010201010102020210
+:10E4000001020101010000010101010101010101FD
+:10E4100001010101010101020202020200020202E5
+:10E4200002020202020202020202020202020202CC
+:10E4300002020202020202020202020201020202BD
+:10E4400002020202020202020202020202020202AC
+:10E45000020202020202020202020202020202029C
+:10E46000020202020202020202020202020202028C
+:10E47000020202020202020202020202020202027C
+:10E48000020202020202020202020202020202026C
+:10E49000020202020202020202020202020202025C
+:10E4A000020202020202020202020202020202024C
+:10E4B000020202020202020202020202020202023C
+:10E4C000020202020202020202020202020202022C
+:10E4D000020202020202020202020202020202021C
+:10E4E000020202020202020000000000000000001E
+:10E4F0000000000000000000010201010101010212
+:10E5000001010101010100010101010101010101FC
+:10E5100001010101010101000202020200020202E6
+:10E5200002020202020202020202020202020202CB
+:10E5300002020202020202020202020201020202BC
+:10E5400002020202020202020202020202020202AB
+:10E55000020202020202020202020202020202029B
+:10E56000020202020202020202020202020202028B
+:10E57000020202020202020202020202020202027B
+:10E58000020202020202020202020202020202026B
+:10E59000020202020202020202020202020202025B
+:10E5A000020202020202020202020202020202024B
+:10E5B000020202020202020202020202020202023B
+:10E5C000020202020202020202020202020202022B
+:10E5D000020202020202020202020202020202021B
+:10E5E000020202020202020000010000000000001C
+:10E5F0000000000000000000020202010101010110
+:10E6000001010101010100010101010101010101FB
+:10E6100001010101010101000000020000000000F1
+:10E6200002000202020202020202020202020202CC
+:10E6300002020202020202010201010101020202BF
+:10E6400002020202020202020202020202020202AA
+:10E65000020202020202020202020202020202029A
+:10E66000020202020202020202020202020202028A
+:10E67000020202020202020202020202020202027A
+:10E68000020202020202020202020202020202026A
+:10E69000020202020202020202020202020202025A
+:10E6A000020202020202020202020202020202024A
+:10E6B000020202020202020202020202020202023A
+:10E6C000020202020202020202020202020202022A
+:10E6D000020202020202020202020202020202021A
+:10E6E000020202020202020000010000000000001B
+:10E6F000000000000000000002020202020101010D
+:10E7000001010101010100010101010101010101FA
+:10E7100001010101010101000000000001000000F1
+:10E7200000000000000002020202020202020202D5
+:10E7300002020202020202010101010102020201BF
+:10E7400002010101010202020202020202020202AD
+:10E750000202020202020202020202020202020299
+:10E760000202020202020202020202020202020289
+:10E770000202020202020202020202020202020279
+:10E780000202020202020202020202020202020269
+:10E790000202020202020202020202020202020259
+:10E7A0000202020202020202020202020202020249
+:10E7B0000202020202020202020202020202020239
+:10E7C0000202020202020202020202020202020229
+:10E7D0000202020202020202020202020202020219
+:10E7E0000202020202020202020202020202020209
+:10E7F00002020202020202000201020202010101FF
+:10E8000001010101010100010101010101010101F9
+:10E8100001010101010101010000000001000000EF
+:10E8200000000000000000020202020202020202D6
+:10E8300002020202020202020202020202010102BA
+:10E8400001020202020101020202020202020202AB
+:10E850000202020202020202020202020202020298
+:10E860000202020202020202020202020202020288
+:10E870000202020202020202020202020202020278
+:10E880000202020202020202020202020202020268
+:10E890000202020202020202020202020202020258
+:10E8A0000202020202020202020202020202020248
+:10E8B0000202020202020202020202020202020238
+:10E8C0000202020202020202020202020202020228
+:10E8D0000202020202020202020202020202020218
+:10E8E0000202020202020202020202020202020208
+:10E8F0000202020202020200010101020201010100
+:10E9000001010101010101010101010101010101F7
+:10E9100001010101010101010101000101010101E8
+:10E9200000010000000000010202010201020202D7
+:10E9300002020202020202020102020202020201B9
+:10E9400002010101010202020202020202020202AB
+:10E950000202020202020202020202020202020297
+:10E960000202020202020202020202020202020287
+:10E970000202020202020202020202020202020277
+:10E980000202020202020202020202020202020267
+:10E990000202020202020202020202020202020257
+:10E9A0000202020202020202020202020202020247
+:10E9B0000202020202020202020202020202020237
+:10E9C0000202020202020202020202020202020227
+:10E9D0000202020202020202020202020202020217
+:10E9E0000202020202020202020202020202020207
+:10E9F0000202020202020200010101010101010101
+:10EA000001010100000101010101010101010101F8
+:10EA100001010101010101010101010101010101E6
+:10EA200001010101010100020101010101020102D4
+:10EA300001010202010102010101010101010101C3
+:10EA400001010101010101020202020202020202AD
+:10EA50000202020202020202020202020202020296
+:10EA60000202020202020202020202020202020286
+:10EA70000202020202020202020202020202020276
+:10EA80000202020202020202020202020202020266
+:10EA90000202020202020202020202020202020256
+:10EAA0000202020202020202020202020202020246
+:10EAB0000202020202020202020202020202020236
+:10EAC0000202020202020202020202020202020226
+:10EAD0000202020202020202020202020202020216
+:10EAE0000202020202020202020202020202020206
+:10EAF0000202020202020200010101010101010100
+:10EB000001010100000101010101010101010101F7
+:10EB100001010101010101010101010101010101E5
+:10EB200001010101010101010202020202010201CF
+:10EB300002020101020201010101010101010101C1
+:10EB400001010101010101020202020202020202AC
+:10EB50000202020202020202020202020202020295
+:10EB60000202020202020202020202020202020285
+:10EB70000202020202020202020202020202020275
+:10EB80000202020202020202020202020202020265
+:10EB90000202020202020202020202020202020255
+:10EBA0000202020202020202020202020202020245
+:10EBB0000202020202020202020202020202020235
+:10EBC0000202020202020202020202020202020225
+:10EBD0000202020202020202020202020202020215
+:10EBE0000202020202020202020202020202020205
+:10EBF00002020202020202010101010101010101FE
+:10EC000000010000000101010101010101010101F8
+:10EC100001010101010101010101010101010101E4
+:10EC200001010101010101010101020102020102D0
+:10EC300001010202010102010101010101010101C1
+:10EC400001010101010101020202020101020202AD
+:10EC50000202020202020202020201020202020295
+:10EC60000202020202020202020202020202020284
+:10EC70000202020202020202020201020102020276
+:10EC8000020202020202020101010101010101016D
+:10EC9000010101010101010202020202020202025B
+:10ECA0000202020202020202020202020202020244
+:10ECB0000202020202020202020202020202020234
+:10ECC0000202020202020202020202020202020224
+:10ECD0000202020202020202020202020202020214
+:10ECE0000202020202020202020202020202020204
+:10ECF0000202020202020201010101010100000000
+:10ED000000000000000101010101010101010101F8
+:10ED100001010101010101010101010101010101E3
+:10ED200001010101010101010101010101010101D3
+:10ED300001010101010101010101010101010101C3
+:10ED400001010101010101010101010101010101B3
+:10ED50000101010202020202020202020102020297
+:10ED60000202020202020202020202020202020283
+:10ED7000020202020202020101010101010101017C
+:10ED80000101010201010101010101010101010172
+:10ED9000010101010101010202020202020202025A
+:10EDA0000202020202020202020202020202020243
+:10EDB0000202020202020202020202020202020233
+:10EDC0000202020202020202020202020202020223
+:10EDD0000202020202020202020202020202020213
+:10EDE0000202020202020202020202020202020203
+:10EDF0000202020202020201010001010100000000
+:10EE000000000000000101010101010101010101F7
+:10EE100001010101010101010101010101010101E2
+:10EE200001010101010101010101010101010101D2
+:10EE300001010101010101010101010101010101C2
+:10EE400001010101010101010101010101010101B2
+:10EE500001010101010101010101000102010101A2
+:10EE60000101010101010102020202020202020289
+:10EE70000202020202020202020202020202020272
+:10EE8000020202010202020101010101010101016C
+:10EE90000101010101010101010101010201010161
+:10EEA0000101010201010102020202020202020248
+:10EEB0000202020202020202020202020202020232
+:10EEC0000202020202020202020202020202020222
+:10EED0000202020202020202020202020202020212
+:10EEE0000202020202020202020202020202020202
+:10EEF0000202020202020201000000000100000002
+:10EF000000000000000101010101010101010101F6
+:10EF100001010101010101010101010101010101E1
+:10EF200001010101010101010101010101010101D1
+:10EF300001010101010101010101010101010101C1
+:10EF400001010101010101010101010101010101B1
+:10EF5000010101010101010102020002000202029D
+:10EF60000202020202020202020202020002020283
+:10EF7000020202020202020000000200020000007F
+:10EF8000000000020000000202020202020202026D
+:10EF90000202020202020202020202020202020251
+:10EFA0000202020102020202020202020202020242
+:10EFB0000202020202020202020202020202020231
+:10EFC0000202020202020202020202020202020221
+:10EFD0000202020202020202020202020202020211
+:10EFE0000202020202020202020202020202020201
+:10EFF0000202020202020201000000000000000002
+:10F0000000000000000101010101010101010101F5
+:10F0100001010101010101010101010101010101E0
+:10F0200001010101010101010101010101010101D0
+:10F0300001010101010101010101010101010101C0
+:10F0400001010101010101010101010101010101B0
+:10F0500001010101010101010101010101010101A0
+:10F06000010101010101010102020202000202028A
+:10F070000202020202020201010101010101010179
+:10F080000101010101010102020202020202020267
+:10F090000202020202020200000000000000000062
+:10F0A000000000020000000202020202010202024D
+:10F0B0000202020202020202020202020202020230
+:10F0C0000202020202020202020202020202020220
+:10F0D0000202020202020202020202020202020210
+:10F0E0000202020202020202020202020202020200
+:10F0F0000202020202020201000000000000000001
+:10F1000000000000000101010101010101010101F4
+:10F1100001010101010101010101010101010101DF
+:10F1200001010101010101010101010101010101CF
+:10F1300001010101010101010101010101010101BF
+:10F1400001010101010101010101010101010101AF
+:10F15000010101010101010101010101010101019F
+:10F16000010101010101010101010101010101018F
+:10F17000010101010102010101010101010101017E
+:10F180000101010101010102020202020202020266
+:10F190000202020202020200000000000000000061
+:10F1A000000000000000000202020202010202024E
+:10F1B0000202020202020202020202020002020231
+:10F1C000020202020202020202020202020202021F
+:10F1D000020202020202020202020202020202020F
+:10F1E00002020202020202020202020202020202FF
+:10F1F0000202020202020201000000000000000000
+:10F2000000000001010101010101010101010101F1
+:10F2100001010101010101010101010101010101DE
+:10F2200001010101010101010101010101010101CE
+:10F2300001010101010101010101010101010101BE
+:10F2400001010101010101010101010101010101AE
+:10F25000010101010101010101010101010101019E
+:10F26000010101010101010101010101010101018E
+:10F27000010101010101010101010101010101017E
+:10F28000010101010101010101010101010101016E
+:10F290000101010101010100000000000100000066
+:10F2A0000000000000000001010101010201010154
+:10F2B0000101010101010100000000000000000047
+:10F2C000000000000000000202020202020202022C
+:10F2D000020202020202020202020202020202020E
+:10F2E00002020202020202020202020202020202FE
+:10F2F00002020202020202010000000000000000FF
+:10F3000000000001010101010101010101010101F0
+:10F3100001010101010101010101010101010101DD
+:10F3200001010101010101010101010101010101CD
+:10F3300001010101010101010101010101010101BD
+:10F3400001010101010101010101010101010101AD
+:10F35000010101010101010101010101010101019D
+:10F36000010101010101010101010101010101018D
+:10F37000010101010101010101010101010101017D
+:10F38000010101010101010101010101010101016D
+:10F39000010101010101010101010101010101015D
+:10F3A0000101010101010102020202020202020244
+:10F3B000020202020202020000000000000000003F
+:10F3C000000000000000000202020202020202022B
+:10F3D000020202020202020202020202020202020D
+:10F3E00002020202020202020202020202020202FD
+:10F3F00002020202020202010000000000000000FE
+:10F4000001010101010101010101010101010101EC
+:10F4100001010101010101010101010101010101DC
+:10F4200001010101010101010101010101010101CC
+:10F4300001010101010101010101010101010101BC
+:10F4400001010101010101010101010101010101AC
+:10F45000010101010101010101010101010101019C
+:10F46000010101010101010101010101010101018C
+:10F47000010101010101010101010101010101017C
+:10F48000010101010101010101010101010101016C
+:10F49000010101010101010101010101010101015C
+:10F4A000010101010101010101010101010101014C
+:10F4B0000101010101010100000000000000000045
+:10F4C000000000000000000000000000000000003C
+:10F4D000000000000000000202020202020202021A
+:10F4E0000202020202020202020202000002020200
+:10F4F00002020202020202010000000000010101FA
+:10F5000001010101010101010101010101010101EB
+:10F5100001010101010101010101010101010101DB
+:10F5200001010101010101010101010101010101CB
+:10F5300001010101010101010101010101010101BB
+:10F5400001010101010101010101010101010101AB
+:10F55000010101010101010101010101010101019B
+:10F56000010101010101010101010101010101018B
+:10F57000010101010101010101010101010101017B
+:10F58000010101010101010101010101010101016B
+:10F59000010101010101010101010101010101015B
+:10F5A000010101010101010101010101010101014B
+:10F5B000010101010101010101010101010101013B
+:10F5C0000101010101010100000000000000000034
+:10F5D0000000000000000001010101010101010122
+:10F5E0000101010101010102020202000002020206
+:10F5F00002020202020202010001000000010101F8
+:10F6000001010101010101010101010101010101EA
+:10F6100001010101010101010101010101010101DA
+:10F6200001010101010101010101010101010101CA
+:10F6300001010101010101010101010101010101BA
+:10F6400001010101010101010101010101010101AA
+:10F65000010101010101010101010101010101019A
+:10F66000010101010101010101010101010101018A
+:10F67000010101010101010101010101010101017A
+:10F68000010101010101010101010101010101016A
+:10F69000010101010101010101010101010101015A
+:10F6A000010101010101010101010101010101014A
+:10F6B000010101010101010101010101010101013A
+:10F6C000010101010101010101010101010101012A
+:10F6D0000101010101010102020202020202020211
+:10F6E00002020202020202020202020000020202FE
+:10F6F00002020202020202010101010101010101F3
+:10F7000001010101010101010101010101010101E9
+:10F7100001010101010101010101010101010101D9
+:10F7200001010101010101010101010101010101C9
+:10F7300001010101010101010101010101010101B9
+:10F7400001010101010101010101010101010101A9
+:10F750000101010101010101010101010101010199
+:10F760000101010101010101010101010101010189
+:10F770000101010101010101010101010101010179
+:10F780000101010101010101010101010101010169
+:10F790000101010101010101010101010101010159
+:10F7A0000101010101010101010101010101010149
+:10F7B0000101010101010101010101010101010139
+:10F7C0000101010101010101010101010101010129
+:10F7D0000101010101010101010101010101010119
+:10F7E0000101010101010102000202000002020206
+:10F7F00002020202020202010101010101010101F2
+:10F8000001010101010101010101010101010101E8
+:10F8100001010101010101010101010101010101D8
+:10F8200001010101010101010101010101010101C8
+:10F8300001010101010101010101010101010101B8
+:10F8400001010101010101010101010101010101A8
+:10F850000101010101010101010101010101010198
+:10F860000101010101010101010101010101010188
+:10F870000101010101010101010101010101010178
+:10F880000101010101010101010101010101010168
+:10F890000101010101010101010101010101010158
+:10F8A0000101010101010101010101010101010148
+:10F8B0000101010101010101010101010101010138
+:10F8C0000101010101010101010101010101010128
+:10F8D0000101010101010101010101010101010118
+:10F8E000010101010101010200020000000000000D
+:10F8F00002020202020202010101010101010101F1
+:10F9000001010101010101010101010101010101E7
+:10F9100001010101010101010101010101010101D7
+:10F9200001010101010101010101010101010101C7
+:10F9300001010101010101010101010101010101B7
+:10F9400001010101010101010101010101010101A7
+:10F950000101010101010101010101010101010197
+:10F960000101010101010101010101010101010187
+:10F970000101010101010101010101010101010177
+:10F980000101010101010101010101010101010167
+:10F990000101010101010101010101010101010157
+:10F9A0000101010101010101010101010101010147
+:10F9B0000101010101010101010101010101010137
+:10F9C0000101010101010101010101010101010127
+:10F9D0000101010101010101010101010101010117
+:10F9E000010101010101010200020000000000000C
+:10F9F00002020202020202010101010101010101F0
+:10FA000001010101010101000000000000000000EF
+:10FA100000000000000000000000000000000000E6
+:10FA200000000000000000020202020202020202C4
+:10FA300002020202020202020202020202020202A6
+:10FA40000202020202020202020202020202020296
+:10FA50000202020202020202020202020202020286
+:10FA60000202020202020202020202020202020276
+:10FA70000202020202020202020202020202020266
+:10FA80000202020202020202020202020202020256
+:10FA90000202020202020202020202020202020246
+:10FAA0000202020202020202020202020202020236
+:10FAB0000202020202020202020202020202020226
+:10FAC0000202020202020202020202020202020216
+:10FAD0000202020202020202020202020202020206
+:10FAE0000202020202020202000200000000000004
+:10FAF00000000202020202010101010101010101F3
+:10FB000001010101010101000000000000000000EE
+:10FB100000000000000000000000000000000000E5
+:10FB200000000000000000000000000000000000D5
+:10FB300000000000000000020202020202020202B3
+:10FB40000202020202020202020202020202020295
+:10FB50000202020202020202020202020202020285
+:10FB60000202020202020202020202020202020275
+:10FB70000202020202020202020202020202020265
+:10FB80000202020202020202020202020202020255
+:10FB90000202020202020202020202020202020245
+:10FBA0000202020202020202020202020202020235
+:10FBB0000202020202020202020202020202020225
+:10FBC0000202020202020202020202020202020215
+:10FBD0000202020202020202020202020202020205
+:10FBE0000202020202020200000000000000000007
+:10FBF00000000002020202010101010101010101F4
+:10FC000001010101010101000000000000000000ED
+:10FC100000000000000000000000000000000000E4
+:10FC200000000000000000000000000000000000D4
+:10FC300000000000000000000000000000000000C4
+:10FC400000000000000000000000000000000000B4
+:10FC500000000000000000000000000000000000A4
+:10FC60000000000000000000000000000000000094
+:10FC70000000000000000002020202020202020272
+:10FC80000202020202020202020202020202020254
+:10FC90000202020202020202020202020202020244
+:10FCA0000202020202020202020202020202020234
+:10FCB0000202020202020202020202020202020224
+:10FCC0000202020202020202020202020202020214
+:10FCD0000202020202020202020202020202020204
+:10FCE0000202020202020200000000000000000006
+:10FCF0000000000000020000000000000000000002
+:10FD000000000000000000000000000000000000F3
+:10FD100000000000000000000000000000000000E3
+:10FD200000000000000000000000000000000000D3
+:10FD300000000000000000000000000000000000C3
+:10FD400000000000000000000000000000000000B3
+:10FD500000000000000000000000000000000000A3
+:10FD60000000000000000000000000000000000093
+:10FD70000000000000000000000000000000000083
+:10FD80000000000000000000000000000000000073
+:10FD90000000000000000000000000000000000063
+:10FDA0000000000000000000000000000000000053
+:10FDB0000000000000000000000000000000000043
+:10FDC0000000000000000000000000000000000033
+:10FDD0000000000000000000000000000000000023
+:10FDE0000000000000000000000000000000000013
+:10FDF00000000000000000530000000000000000B0
+:10FE000000000000000000000000000000000000F2
+:10FE100000000000000002000000000000000000E0
+:10FE200000000000000000000000000000000000D2
+:10FE300000000000000000000000000000000000C2
+:10FE400000000000000000000000000000000000B2
+:10FE500000000000000000000000000000000000A2
+:10FE60000000000000000000000000000000000092
+:10FE70000000000000000000000000000000000082
+:10FE80000000000000000000010000000000000071
+:10FE90000000000000000000000000000000000062
+:10FEA0000000000000000000000000000000000052
+:10FEB0000000000000000000000000000000000042
+:10FEC0000000000000000000000000000000000032
+:10FED0000000000000000000000000000000000022
+:10FEE0000000000000000000000000000000000012
+:10FEF0000000000000000000000000000000000200
+:10FF000000000000000000000000000202010000EC
+:10FF100001010000000002000000010101000000DA
+:10FF200000000000000000000000000101000000CF
+:10FF300000000000000200000101000000010000BC
+:10FF400000000000000000020000020000000000AD
+:10FF5000000000000000000000000101010000019D
+:10FF6000000000000000000000000000000200008F
+:10FF70000000000000000000000000000000000081
+:10FF8000000000000000000101000100000000006E
+:10FF9000000000000000000100000100010000005E
+:10FFA000000000000000000100000101010000004D
+:10FFB000000000000000020002000000000100003C
+:10FFC000000000000000000100000101010000002D
+:10FFD000000000000000000100000101010000001D
+:10FFE000000000000100000000000102000000000D
+:10FFF00000000000000000000000000000000002FF
+:02000002D0002C
+:1000000000000000000000000000000202020001E9
+:1000100001010001010002000201010101010000D3
+:1000200000000000000202000102000101020000C5
+:1000300000000000000200020101010101010000B6
+:1000400000000000000102020202010000010001A4
+:100050000000000101020100010101010101000194
+:100060000000000000000000000002020202000088
+:100070000000000000000000000000000000000080
+:100080000000000000020101010101000000010068
+:100090000000000000020101010101020100010055
+:1000A0000000000100010101010101010101010045
+:1000B0000000000000000201020001010101000037
+:1000C0000000000000010101010101010101010026
+:1000D0000000000000010101010101010101010016
+:1000E0000000000001000000020201020001000007
+:1000F00000000000000000000000000000000002FE
+:1001000000000000000000000000000202020001E8
+:1001100001010001010001000201010101010000D3
+:1001200000000000000202020102010101010000C2
+:1001300000000000000101010101010101010100B5
+:1001400000000000000102020201010101010001A2
+:100150000001000101020101010101010101000191
+:100160000000000000000200020202020202000081
+:10017000000000000000000000000000000000007F
+:100180000000000000010101010101000000010068
+:100190000000000000010101010101010102010054
+:1001A0000000000100010101010101010101010044
+:1001B0000000000000020201020101010101000033
+:1001C0000000000000010101010101010101010025
+:1001D0000000000000010101010101010101010015
+:1001E0000000000001000000020201020001000006
+:1001F00000000000000000000000000000000002FD
+:1002000000000000000000000000000202020001E7
+:1002100001010001010001000201010101010000D2
+:1002200000000000000102020102010101010000C2
+:1002300000000000000101010101010101010100B4
+:1002400000000000000102010101010101010001A3
+:100250000001000101010101010101010101010190
+:100260000000000000000202020202010201000080
+:10027000000000000000000000000000000000007E
+:100280000000000000010101010101000000010067
+:100290000000000000010101010101010101010054
+:1002A0000000000100010101010101010101010043
+:1002B0000000000000020101010101010101000034
+:1002C0000000000000010101010101010101010024
+:1002D0000000000000010101010101010101010014
+:1002E0000000000001000000020201010001000006
+:1002F00000000000000000000000000000000002FC
+:1003000000000000000000000000000202020001E6
+:1003100001010001010001020101010101010000D0
+:1003200000000000000101020101010101010000C3
+:1003300000000001000101010101010101010100B2
+:1003400000000100000101010101010101010001A2
+:10035000010101010101010101010101010101018D
+:100360000000000100000202020201010101000080
+:100370000000000000000000000200000002000079
+:100380000000000000010101010101000000010066
+:100390000000000000010101010101010101010053
+:1003A0000000000100010101010101010101010042
+:1003B0000000000000020101010101010101000033
+:1003C0000000000000010101010101010101010023
+:1003D0000000000000010101010101010101010013
+:1003E0000000000001000002010101010201000003
+:1003F00000000000000000000000000000000002FB
+:1004000000000000000000000000000202020001E5
+:1004100001010001010201020101010101010100CC
+:1004200000000000000101010101010101010000C3
+:1004300000000001000101010101010101010100B1
+:10044000000001000101010101010101010101019F
+:10045000010101010101010101010101010101018C
+:100460000000000100000102010101010101000082
+:100470000000000000000000000202020202000072
+:100480000000000000010101010101000000010065
+:100490000000000000010101010101010101010052
+:1004A0000000000100010101010101010101010041
+:1004B0000000000000010101010101010101000033
+:1004C0000000000000010101010101010101010022
+:1004D0000000000000010101010101010101010012
+:1004E0000000000001020002010101010101000001
+:1004F00000000000000000000000000000000002FA
+:1005000000000000000000000000000202020001E4
+:1005100001010101010201020101010101010100CA
+:1005200000000100000101010101010101010000C1
+:1005300000000001000101010101010101010100B0
+:10054000000001000101010101010101010101019E
+:10055000010101010101010101010101010101018B
+:100560000000000100020101010101010101000080
+:10057000000000000000000002020202020200006F
+:100580000000000000010101010101000000010064
+:100590000000000000010101010101010101010051
+:1005A0000000000100010101010101010101010040
+:1005B0000000000000010101010101010101010031
+:1005C0000000000000010101010101010101010021
+:1005D0000000000000010101010101010101010011
+:1005E0000000000001020001010101010101000001
+:1005F00000000000000000000000000000000002F9
+:1006000000000000000000000000000202020001E3
+:1006100001010101010201010101010101010100CA
+:1006200000000100000101010101010101010100BF
+:1006300000000001000101010101010101010100AF
+:10064000000001000101010101010101010101019D
+:10065000010101010101010101010101010101018A
+:10066000000000010002010101010101010100007F
+:100670000000000000000000020102020201000070
+:100680000001000000010101010101000000010062
+:10069000000000010101010101010101010101004E
+:1006A000000000010001010101010101010101003F
+:1006B0000000000000010101010101010101010030
+:1006C000000000010001010101010101010101001F
+:1006D0000000000000010101010101010101010010
+:1006E0000000000001010001010101010101000001
+:1006F00000000000000000000000000000000002F8
+:1007000000000000000000000000000202020001E2
+:1007100001010101010101010101010101010100CA
+:1007200000010100000101010101010101010101BC
+:1007300000000001000101010101010101010100AE
+:10074000000001000101010101010101010101019C
+:100750000101010101010101010101010101010189
+:10076000000000010002010101010101010100007E
+:100770000000000000000200020101010101000070
+:100780000001000000010101010101000000010061
+:10079000000000010101010101010101010101004D
+:1007A000000100010001010101010101010101003D
+:1007B000000000000001010101010101010101002F
+:1007C000000000010001010101010101010101001E
+:1007D000000000000001010101010101010101000F
+:1007E0000000000001010001010101010101000000
+:1007F00000000000000000000000000000000002F7
+:1008000000000000000000000000000202020001E1
+:1008100001010101010101010101010101010100C9
+:1008200000010100000101010101010101010101BB
+:1008300000000001000101010101010101010100AD
+:10084000000001000101010101010101010101019B
+:100850000101010101010101010101010101010188
+:10086000000000010001010101010101010100007E
+:10087000000000000000020201010101010100006E
+:100880000001000000010101010101000000010060
+:10089000000000010101010101010101010101004C
+:1008A000000100010001010101010101010101003C
+:1008B000000000000001010101010101010101002E
+:1008C000000000010001010101010101010101001D
+:1008D000000000000001010101010101010101000E
+:1008E00000000000010100010101010101010000FF
+:1008F00000000000000000000000000000000002F6
+:1009000000000000000000000000000202020001E0
+:1009100001010101010101010101010101010100C8
+:1009200000010100000101010101010101010101BA
+:1009300000000001000101010101010101010100AC
+:10094000000001000101010101010101010101019A
+:100950000101010101010101010101010101010187
+:10096000000000010001010101010101010100007D
+:10097000000000000000020201010101010100006D
+:10098000000100000001010101010100000001005F
+:10099000000000010101010101010101010101004B
+:1009A000000100010001010101010101010101003B
+:1009B000000000000001010101010101010101002D
+:1009C000000000010001010101010101010101001C
+:1009D000000000000001010101010101010101000D
+:1009E00000000000010100010101010101010000FE
+:1009F00000000000000000000000000000000002F5
+:100A000000000000000000000000000202020002DE
+:100A100001010101010101010101010101010100C7
+:100A200000010101000101010101010101010101B8
+:100A300000010001000101010101010101010100AA
+:100A40000000010101010101010101010101010198
+:100A50000101010101010101010101010101010186
+:100A6000000000010001010101010101010100007C
+:100A7000000000000000010201010101010100006D
+:100A8000000100010001010101010100000001005D
+:100A9000000000010101010101010101010101004A
+:100AA000000100010001010101010101010101003A
+:100AB000000000000001010101010101010101002C
+:100AC000000000010001010101010101010101001B
+:100AD000000000000101010101010101010101000B
+:100AE00000000000010102010101010101010000FB
+:100AF00000000000000000000000000000000002F4
+:100B000000000000000000000000000202020002DD
+:100B100001010101010101010101010101010100C6
+:100B200000010101000101010101010101010101B7
+:100B300000010001010101010101010101010100A8
+:100B40000000010101010101010101010101010197
+:100B50000101010101010101010101010101010185
+:100B6000000000010001010101010101010101007A
+:100B7000000000000000010101010101010100006D
+:100B8000000100010001010101010100000001005C
+:100B90000000000101010101010101010101010049
+:100BA0000101010100010101010101010101010037
+:100BB000000000000001010101010101010101002B
+:100BC0000000010100010101010101010101010019
+:100BD000000000000101010101010101010101000A
+:100BE00000000000010102010101010101010000FA
+:100BF00000000000000000000000000000000002F3
+:100C000000000000000000000000000202020002DC
+:100C100002010101010101010101010101010101C3
+:100C200000010101000101010101010101010101B6
+:100C300001010001010101010101010101010100A6
+:100C40000000010101010101010101010101010196
+:100C50000101010101010101010101010101010184
+:100C60000000010100010101010101010101010078
+:100C7000000000000000010101010101010100006C
+:100C8000000100010101010101010100000001005A
+:100C90000000000101010101010101010101010048
+:100CA0000101010101010101010101010101010035
+:100CB000000000000001010101010101010101002A
+:100CC0000000010101010101010101010101010017
+:100CD0000000000001010101010101010101010009
+:100CE00000000000010101010101010101010000FA
+:100CF00000000000000000000000000000000002F2
+:100D000000000000000000000000000202020002DB
+:100D100002020101010101010101010101010101C1
+:100D200000010101000101010101010101010101B5
+:100D300001010001010101010101010101010100A5
+:100D40000000010101010101010101010101010195
+:100D50000101010101010101010101010101010183
+:100D60000000010100010101010101010101010077
+:100D70000000000000020101010101010101000069
+:100D80000001010101010101010101020000010056
+:100D90000000010101010101010101010101010046
+:100DA0000101010101010101010101010101010034
+:100DB0000000000000010101010101010101010029
+:100DC0000000010101010101010101010101010016
+:100DD0000000000001010101010101010101010008
+:100DE00000000000010101010101010101010000F9
+:100DF00000000000020000000000000000000002EF
+:100E000000000000000000000000000202020002DA
+:100E100002020102020101010101010101010101BE
+:100E200000010101010101010101010101010101B3
+:100E300001010001010101010101010101010100A4
+:100E40000000010101010101010101010101010194
+:100E50000101010101010101010101010101010182
+:100E60000001010100010101010101010101010075
+:100E70000000000000020101010101010101000068
+:100E80000001010101010101010101020000010055
+:100E90000000010101010101010101010101010045
+:100EA0000101010101010101010101010101010033
+:100EB0000000000000010101010101010101010028
+:100EC0000000010101010101010101010101010015
+:100ED0000000000101010101010101010101010006
+:100EE00000000000010101010101010101010000F8
+:100EF00000020202020000000000000000000002E8
+:100F000000000000000000000000000202020002D9
+:100F100002020102020101010101010101010101BD
+:100F200001010101010101010101010101010101B1
+:100F300001010001010101010101010101010100A3
+:100F40000101010101010101010101010101010191
+:100F50000101010101010101010101010101010181
+:100F60000001010100010101010101010101010074
+:100F70000000000000020101010101010101000067
+:100F80000001010101010101010101020200010052
+:100F90000000010101010101010101010101010044
+:100FA0000101010101010101010101010101010032
+:100FB0000000000000010101010101010101010027
+:100FC0000100010101010101010101010101010013
+:100FD0000000010101010101010101010101010004
+:100FE00000000000010101010101010101010000F7
+:100FF00000020202020000000000000000000002E7
+:1010000000000000000000000000000202020002D8
+:1010100002020102020101010101010101010101BC
+:1010200001010101010101010101010101010101B0
+:1010300001010001010101010101010101010101A1
+:101040000101010101010101010101010101010190
+:101050000101010101010101010101010101010180
+:101060000001010100010101010101010101010073
+:101070000000000000010101010101010101000067
+:101080000001010101010101010101010200010052
+:101090000000010101010101010101010101010142
+:1010A0000101010101010101010101010101010031
+:1010B0000000000000010101010101010101010125
+:1010C0000100010101010101010101010101010012
+:1010D0000000010101010101010101010101010003
+:1010E00000000000010101010101010101010100F5
+:1010F00000020202020000000000000000000002E6
+:1011000000000000000000000000000202020002D7
+:1011100002020202020101010101010101010101BA
+:1011200001010101010101010101010101010101AF
+:1011300001010001010101010101010101010101A0
+:10114000010101010101010101010101010101018F
+:10115000010101010101010101010101010101017F
+:101160000001010101010101010101010101010071
+:101170000000000001010101010101010101010064
+:101180000101010101010101010101010200010050
+:101190000100010101010101010101010101010140
+:1011A0000101010101010101010101010101010030
+:1011B0000000000100010101010101010101010123
+:1011C0000101010101010101010101010101010010
+:1011D0000000010101010101010101010101010002
+:1011E00000000000010101010101010101010100F4
+:1011F00000020202020000000000000000000002E5
+:1012000000000000000000000000000202020002D6
+:1012100002020202020101010101010101010101B9
+:1012200001010101010101010101010101010101AE
+:10123000010101010101010101010101010101019E
+:10124000010101010101010101010101010101018E
+:10125000010101010101010101010101010101017E
+:101260000001010101010101010101010101010070
+:101270000000010001010101010101010101010062
+:101280000101010101010101010101010100010050
+:10129000010001010101010101010101010101013F
+:1012A000010101010101010101010101010101002F
+:1012B0000001000100010101010101010101010121
+:1012C000010101010101010101010101010101000F
+:1012D0000000010101010101010101010101010001
+:1012E00000000000010101010101010101010100F3
+:1012F00001010101010101010101010101010002DE
+:1013000000000000000000000000000202020002D5
+:1013100002020202020101010102020101010101B6
+:1013200001010101010101010101010101010101AD
+:10133000010101010101010101010101010101019D
+:10134000010101010101010101010101010101028C
+:10135000010101010101010101010101010101017D
+:10136000000101010101010101010101010101016E
+:101370000000010001010101010101010101010061
+:10138000010101010101010101010101010001004F
+:10139000010101010101010101010101010101013D
+:1013A000010101010101010101010101010101002E
+:1013B0000001000100010101010101010101010120
+:1013C000010101010101010101010101010101000E
+:1013D00000010101010101010101010101010100FF
+:1013E00000000000010101010101010101010100F2
+:1013F00001010101010101010101010101010002DD
+:1014000000000000000000000000000202020002D4
+:1014100002020202020101010102020202010101B3
+:1014200001010101010101010101010101010101AC
+:10143000010101010101010101010101010101019C
+:10144000010101010101010101010101010101028B
+:10145000010101010101010101010101010101027B
+:10146000000101010101010101010101010101016D
+:101470000000010001010101010101010101010060
+:10148000010101010101010101010101010201004C
+:10149000010101010101010101010101010101013C
+:1014A000010101010101010101010101010101002D
+:1014B000000100010001010101010101010101011F
+:1014C000010101010101010101010101010101000D
+:1014D00000010101010101010101010101010100FE
+:1014E00000000000010101010101010101010100F1
+:1014F00001010101010101010101010101010002DC
+:1015000000000000000000000000000202020002D3
+:1015100002020202020102010102020202010101B1
+:1015200001010101010101010101010101010101AB
+:10153000010101010101010101010101010101019B
+:10154000010101010101010101010101010101028A
+:10155000010101010101010101010101010101027A
+:10156000000101010101010101010101010101016C
+:10157000000001010101010101010101010101005E
+:10158000010101010101010101010101010101004C
+:10159000010101010101010101010101010101013B
+:1015A000010101010101010101010101010101002C
+:1015B000000100010001010101010101010101011E
+:1015C000010101010101010101010101010101000C
+:1015D00001010101010101010101010101010100FC
+:1015E00000000000010101010101010101010100F0
+:1015F00001010101010101010101010101010002DB
+:1016000000000000000000000000000202020002D2
+:1016100002020202020102010102020202020101AF
+:1016200001010101010101010101010101010102A9
+:10163000010101010101010101010101010101019A
+:101640000101010101010101010101010101010289
+:101650000101010101010101010101010101010279
+:10166000000101010101010101010101010101016B
+:10167000000001010101010101010101010101005D
+:10168000010101010101010101010101010101004B
+:10169000010101010101010101010101010101013A
+:1016A000010101010101010101010101010101002B
+:1016B000010101010001010101010101010101011B
+:1016C000010101010101010101010101010101010A
+:1016D00001010101010101010101010101010100FB
+:1016E00000000000010101010101010101010100EF
+:1016F00001010101010101010101010101010002DA
+:1017000000000000000000000000000202020002D1
+:1017100002020202020202010202020202020101AC
+:1017200001010101010101010101010101010102A8
+:101730000101010101010101010101010101010199
+:101740000101010101010101010101010101010288
+:101750000101010101010101010101010101010278
+:10176000000101010101010101010101010101016A
+:10177000000001010101010101010101010101005C
+:10178000010101010101010101010101010101004A
+:101790000101010101010101010101010101010139
+:1017A0000101010101010101010101010101010129
+:1017B000010101010001010101010101010101011A
+:1017C0000101010101010101010101010101010109
+:1017D00001010101010101010101010101010100FA
+:1017E00000000000010101010101010101010100EE
+:1017F00000000000000000000000010101010102E2
+:1018000000000000000000000000000202020002D0
+:1018100002020202020202020202020202020202A8
+:1018200001010101010101010101010101010102A7
+:101830000101010101010101010101010101010198
+:101840000101010101010101010101010101010287
+:101850000202010202010101010101010101010273
+:101860000101010101010101010101010101010168
+:10187000000001010101010101010101010101005B
+:101880000101010101010101010101010101010148
+:101890000101010101010101010101010101010138
+:1018A0000101010101010101010101010101010128
+:1018B0000101010100010101010101010101010119
+:1018C0000101010101010101010101010101010108
+:1018D00001010101010101010101010101010101F8
+:1018E00000000000010101010101010101010100ED
+:1018F00000000000000000010001010101010102DF
+:1019000000000000000000000000000202020002CF
+:1019100002020202020202020202020202020202A7
+:1019200001010201010101010101010101010102A5
+:101930000101010201010101010101010101010196
+:101940000101010101010101010101010101010286
+:101950000202020202010101010101010101010271
+:101960000101010101010101010101010101010167
+:10197000000001010101010101010101010101005A
+:101980000101010101010101010101010101010147
+:101990000101010101010101010101010101010137
+:1019A0000101010201010101010101010101010126
+:1019B0000101010100010101010101010101010118
+:1019C0000101010101010101010101010101010107
+:1019D00001010101010101010101010101010101F7
+:1019E00000000000010101010101010101010100EC
+:1019F00000000000000000010001010101010102DE
+:101A000000000000000000000000000202020002CE
+:101A100002020202020202020202020202020202A6
+:101A200001020201010101010101010101010102A3
+:101A30000101010201010101010101010101010195
+:101A40000101010101010101010101010101010285
+:101A50000202020202010101010101010101010270
+:101A60000101010101010101010101010101010166
+:101A70000000010101010101010101010101010158
+:101A80000101010101010101010101010101010146
+:101A90000101010101010101010101010101010136
+:101AA0000101010201010101010101010101010125
+:101AB0000101010100010101010101010101010117
+:101AC0000101010101010101010101010101010106
+:101AD00001010101010101010101010101010101F6
+:101AE00000000000010101010101010101010100EB
+:101AF00000000000000100010001010101010102DC
+:101B000000000000000000000000000102020002CE
+:101B100002020202020202020202020202020202A5
+:101B200001020201010201010201010101010102A0
+:101B30000101010201010101010101010101010194
+:101B40000101020101010101010101010101010283
+:101B5000020202020201010101010101010101026F
+:101B60000101010201010101010101010101010164
+:101B70000000010101010101010101010101010157
+:101B80000101010101010101010101010101010145
+:101B90000101010101010101010101010101010135
+:101BA0000101010201020101010101010101010123
+:101BB0000101010100010101010101010101010116
+:101BC0000101010101010101010101010101010105
+:101BD00001010101010101010101010101010101F5
+:101BE00000000000010101010101010101010100EA
+:101BF00000000000000100010001010101010102DB
+:101C000000000000000000000000000101020002CE
+:101C100002020202020202020202020202020202A4
+:101C2000010202020102010102010202020101029B
+:101C3000010101020102020102020101010101018F
+:101C40000101020102020101010101010101010280
+:101C5000020202020201020101010101010101026D
+:101C60000101010201010101010101010101010163
+:101C70000100010101010101010101010101010155
+:101C80000101010101010101010101010101010144
+:101C90000101010101010101010101010101010134
+:101CA000010201020102020201010101010101011F
+:101CB0000101010100010101010101010101010115
+:101CC0000101010101010101010101010101010104
+:101CD00001010101010101010101010101010101F4
+:101CE00000000000010101010101010101010100E9
+:101CF00000010000000100010001010101010102D9
+:101D000000000000000000000000000101020002CD
+:101D100002020202020202020202020202020202A3
+:101D2000010202020102010102010202020101029A
+:101D3000020201020102020202020201010101018A
+:101D4000010102010202010101010101010101027F
+:101D50000202020202020202020202010101010267
+:101D60000101010201010101010101010101010162
+:101D70000100010101010101010101010101010154
+:101D80000101010101010101010101010101010143
+:101D90000101010101010101010101010101010232
+:101DA000020201020102020202020201010101011A
+:101DB0000101010100010101010101010101010114
+:101DC0000101010101010101010101010101010103
+:101DD00001010101010101010101010101010101F3
+:101DE00000000100010101010101010101010100E7
+:101DF00000010000000100010001010101010102D8
+:101E000000000000000000000000000101010002CD
+:101E100002020202020202020202020202020202A2
+:101E20000202020202020201020102020201010296
+:101E30000202010202020202020202020202010284
+:101E4000010102010202010101010101010101027E
+:101E50000202020202020202020202020201010264
+:101E60000101010201010101010101010101010161
+:101E70000101010101010101010101010101010152
+:101E80000102010101010101010101010101010141
+:101E90000101010101010101010101010101010231
+:101EA0000202020201020202020202020201010116
+:101EB0000101010100010101010101010101010113
+:101EC0000101010101020101010101010101010101
+:101ED00001010101010101010101010101010101F2
+:101EE00000000100020101010101010101010100E5
+:101EF00000010000000100010001010101010102D7
+:101F000000000000000000000000000101010002CC
+:101F100002020202020202020202020202020202A1
+:101F20000202020202020202020202020202010292
+:101F30000202010202020202020202020202020282
+:101F4000010102020202010101010101010101027C
+:101F50000202020202020202020202020202010262
+:101F6000010102020101010101010101010101015F
+:101F70000101010101010101010101010101010151
+:101F8000010201010102020202010101010101013C
+:101F9000010101020202020201010101010101022B
+:101FA0000202020202020202020202020202020112
+:101FB0000101010100010101010101010101010112
+:101FC00001010102010202020101010101010101FD
+:101FD00001010101010101010101010101010101F1
+:101FE00000000100020101010101010101010100E4
+:101FF00000010000000100010001010101010101D7
+:1020000000000000000000000000000101010002CB
+:1020100002020202020202020202020202020202A0
+:102020000202020202020202020202020202010291
+:102030000202010202020202020202020202020281
+:102040000101020202020101010202010101010279
+:102050000202020202020202020202020202020260
+:10206000010202020101010101010101010101025C
+:102070000101010101010101010101010101010150
+:102080000102010101020202020202010101010139
+:102090000101010202020202020202010101010227
+:1020A0000202020202020202020202020202020111
+:1020B000010101010001010201010101010101020F
+:1020C00001010102010202020202020101010101F9
+:1020D00001010101010201010101010101010101EF
+:1020E00000000100020101010101010101010100E3
+:1020F00000010101000100010001010101010101D4
+:1021000000000000000000000000000101010002CA
+:10211000020202020202020202020202020202029F
+:10212000020202020202020202020202020202028F
+:10213000020202020202020202020202020202027F
+:102140000201020202020202020202020202010271
+:10215000020202020202020202020202020202025F
+:10216000010202020101020101010101010101025A
+:10217000010101010101010101010101010101014F
+:102180000102010201020202020202010101010137
+:102190000101010202020202020202010201010225
+:1021A0000202020202020202020202020202020110
+:1021B000010101010101010201020201010101020B
+:1021C00001010202010202020202020202010101F5
+:1021D00001010101010202020101010101010101EC
+:1021E00000000100020101010101010101010100E2
+:1021F00000010101010000010001010101010101D3
+:1022000000000000000000000000000101010002C9
+:10221000020202020202020202020202020202029E
+:10222000020202020202020202020202020202028E
+:10223000020202020202020202020202020202027E
+:10224000020202020202020202020202020201026F
+:10225000020202020202020202020202020202025E
+:102260000102020202020202020202020101010252
+:10227000010101010101010101010101010101014E
+:102280000102020202020202020202010101020133
+:102290000101020202020202020202010201020222
+:1022A000020202020202020202020202020202010F
+:1022B0000101010101020202010202020202010205
+:1022C00002010202020202020202020202020201F0
+:1022D00001010101010202020202020101010101E8
+:1022E00000000100020101010101010101010100E1
+:1022F00000010101010000010001010101010101D2
+:1023000000000000000000000000000101010002C8
+:10231000020202020202020202020202020202029D
+:10232000020202020202020202020202020202028D
+:10233000020202020202020202020202020202027D
+:10234000020202020202020202020202020202026D
+:10235000020202020202020202020202020202025D
+:10236000010202020202020202020202020201024F
+:10237000010102010201010101010101010101014B
+:102380000202020202020202020202010101020131
+:10239000020102020202020202020202020102021F
+:1023A000020202020202020202020202020202010E
+:1023B0000101010101020202020202020202010203
+:1023C00002010202020202020202020202020201EF
+:1023D00001010101020202020202020202010101E4
+:1023E00001010100020101010101020101010100DD
+:1023F00000000101010000000001010101010102D2
+:1024000000000000000000000000000101010002C7
+:10241000020202020202020202020202020202029C
+:10242000020202020202020202020202020202028C
+:10243000020202020202020202020202020202027C
+:10244000020202020202020202020202020202026C
+:10245000020202020202020202020202020202025C
+:10246000010202020202020202020202020201024E
+:102470000101020102010101010201010101010149
+:10248000020202020202020202020201010102022F
+:10249000020102020202020202020202020202021D
+:1024A000020202020202020202020202020202020C
+:1024B0000101010101020202020202020202010202
+:1024C00002020202020202020202020202020201ED
+:1024D00001010101020202020202020202020201E1
+:1024E00001010100020101010101020101010100DC
+:1024F00000000000010000000001010101010102D3
+:1025000000000000000000000000000101010002C6
+:10251000020202020202020202020202020202029B
+:10252000020202020202020202020202020202028B
+:10253000020202020202020202020202020202027B
+:10254000020202020202020202020202020202026B
+:10255000020202020202020202020202020202025B
+:10256000020202020202020202020202020201024C
+:102570000101020202010201020202010101010243
+:10258000020202020202020202020201010102022E
+:10259000020202020202020202020202020202021B
+:1025A000020202020202020202020202020202020B
+:1025B00001020102010202020202020202020202FE
+:1025C00002020202020202020202020202020202EB
+:1025D00001010202020202020202020202020201DE
+:1025E00001010100020201010101020101020100D9
+:1025F00000000000010000000001010101010102D2
+:1026000000000000000000000000000101010002C5
+:10261000020202020202020202020202020202029A
+:10262000020202020202020202020202020202028A
+:10263000020202020202020202020202020202027A
+:10264000020202020202020202020202020202026A
+:10265000020202020202020202020202020202025A
+:10266000020202020202020202020202020202024A
+:10267000010102020201020202020202020201023E
+:10268000020202020202020202020201010102022D
+:10269000020202020202020202020202020202021A
+:1026A000020202020202020202020202020202020A
+:1026B00002020102010202020202020202020202FC
+:1026C00002020202020202020202020202020202EA
+:1026D00001010202020202020202020202020201DD
+:1026E00001010101020201020202020101020100D4
+:1026F00000000000000000000001010101010102D2
+:1027000000000000000000000000000101010002C4
+:102710000202020202020202020202020202020299
+:102720000202020202020202020202020202020289
+:102730000202020202020202020202020202020279
+:102740000202020202020202020202020202020269
+:102750000202020202020202020202020202020259
+:102760000202020202020202020202020202020249
+:10277000010102020202020202020202020201023C
+:10278000020202020202020202020201010102022C
+:102790000202020202020202020202020202020219
+:1027A0000202020202020202020202020202020209
+:1027B00002020202010202020202020202020202FA
+:1027C00002020202020202020202020202020202E9
+:1027D00002020202020202020202020202020202D9
+:1027E00001010101020201020202020202020100D1
+:1027F00000000000000000000000000100010101D5
+:1028000000000000000000000000000101010002C3
+:102810000202020202020202020202020202020298
+:102820000202020202020202020202020202020288
+:102830000202020202020202020202020202020278
+:102840000202020202020202020202020202020268
+:102850000202020202020202020202020202020258
+:102860000202020202020202020202020202020248
+:10287000020102020202020202020202020201023A
+:10288000020202020202020202020201010102022B
+:102890000202020202020202020202020202020218
+:1028A0000202020202020202020202020202020208
+:1028B00002020202010202020202020202020202F9
+:1028C00002020202020202020202020202020202E8
+:1028D00002020202020202020202020202020202D8
+:1028E00001010101020201020202020202020100D0
+:1028F00000000000000000000000000000010101D5
+:1029000000000000000000000000020101010002C0
+:102910000202020202020202020202020202020297
+:102920000202020202020202020202020202020287
+:102930000202020202020202020202020202020277
+:102940000202020202020202020202020202020267
+:102950000202020202020202020202020202020257
+:102960000202020202020202020202020202020247
+:102970000201020202020202020202020202010239
+:10298000020202020202020202020201010102022A
+:102990000202020202020202020202020202020217
+:1029A0000202020202020202020202020202020207
+:1029B00002020202010202020202020202020202F8
+:1029C00002020202020202020202020202020202E7
+:1029D00002020202020202020202020202020202D7
+:1029E00001010101020202020202020202020100CE
+:1029F00000000000000000000000000000010101D4
+:102A000000000000000000000000020101010002BF
+:102A10000202020202020202020202020202020296
+:102A20000202020202020202020202020202020286
+:102A30000202020202020202020202020202020276
+:102A40000202020202020202020202020202020266
+:102A50000202020202020202020202020202020256
+:102A60000202020202020202020202020202020246
+:102A70000202020202020202020202020202020236
+:102A80000202020202020202020202010101020229
+:102A90000202020202020202020202020202020216
+:102AA0000202020202020202020202020202020206
+:102AB00002020202010202020202020202020202F7
+:102AC00002020202020202020202020202020202E6
+:102AD00002020202020202020202020202020202D6
+:102AE00001010101020202020202020202020100CD
+:102AF00000000000000000000000000000010101D3
+:102B000000000000000000000002020101010002BC
+:102B10000202020202020202020202020202020295
+:102B20000202020202020202020202020202020285
+:102B30000202020202020202020202020202020275
+:102B40000202020202020202020202020202020265
+:102B50000202020202020202020202020202020255
+:102B60000202020202020202020202020202020245
+:102B70000202020202020202020202020202020235
+:102B80000202020202020202020202010101020228
+:102B90000202020202020202020202020202020215
+:102BA0000202020202020202020202020202020205
+:102BB00002020202010202020202020202020202F6
+:102BC00002020202020202020202020202020202E5
+:102BD00002020202020202020202020202020202D5
+:102BE00001010101020202020202020202020100CC
+:102BF00000000000000000000100000000010101D1
+:102C000000000000000000000002010101010002BC
+:102C10000202020202020202020202020202020294
+:102C20000202020202020202020202020202020284
+:102C30000202020202020202020202020202020274
+:102C40000202020202020202020202020202020264
+:102C50000202020202020202020202020202020254
+:102C60000202020202020202020202020202020244
+:102C70000202020202020202020202020202020234
+:102C80000202020202020202020202020101020226
+:102C90000202020202020202020202020202020214
+:102CA0000202020202020202020202020202020204
+:102CB00002020202010202020202020202020202F5
+:102CC00002020202020202020202020202020202E4
+:102CD00002020202020202020202020202020202D4
+:102CE00001010101020202020202020202020100CB
+:102CF00000000000000000000100000000000101D1
+:102D000000000000000000000202010101010002B9
+:102D10000202020202020202020202020202020293
+:102D20000202020202020202020202020202020283
+:102D30000202020202020202020202020202020273
+:102D40000202020202020202020202020202020263
+:102D50000202020202020202020202020202020253
+:102D60000202020202020202020202020202020243
+:102D70000202020202020202020202020202020233
+:102D80000202020202020202020202020201020224
+:102D90000202020202020202020202020202020213
+:102DA0000202020202020202020202020202020203
+:102DB00002020202020202020202020202020202F3
+:102DC00002020202020202020202020202020202E3
+:102DD00002020202020202020202020202020202D3
+:102DE00001010201020202020202020202020200C8
+:102DF00000000000000001000100000000000101CF
+:102E000000000000000000000201010101010002B9
+:102E10000202020202020202020202020202020292
+:102E20000202020202020202020202020202020282
+:102E30000202020202020202020202020202020272
+:102E40000202020202020202020202020202020262
+:102E50000202020202020202020202020202020252
+:102E60000202020202020202020202020202020242
+:102E70000202020202020202020202020202020232
+:102E80000202020202020202020202020202020222
+:102E90000202020202020202020202020202020212
+:102EA0000202020202020202020202020202020202
+:102EB00002020202020202020202020202020202F2
+:102EC00002020202020202020202020202020202E2
+:102ED00002020202020202020202020202020202D2
+:102EE00001010201020202020202020202020200C7
+:102EF00000000000000001000100000000000101CE
+:102F000000000000000000000101010101010002B9
+:102F10000202020202020202020202020202020291
+:102F20000202020202020202020202020202020281
+:102F30000202020202020202020202020202020271
+:102F40000202020202020202020202020202020261
+:102F50000202020202020202020202020202020251
+:102F60000202020202020202020202020202020241
+:102F70000202020202020202020202020202020231
+:102F80000202020202020202020202020202020221
+:102F90000202020202020202020202020202020211
+:102FA0000202020202020202020202020202020201
+:102FB00002020202020202020202020202020202F1
+:102FC00002020202020202020202020202020202E1
+:102FD00002020202020202020202020202020202D1
+:102FE00002010201020202020202020202020200C5
+:102FF00000000000000001000100000000000101CD
+:1030000000000000000000000101020101010001B8
+:103010000101020101020202020202020202020294
+:103020000202020202020202020202020202020280
+:103030000202020202020202020202020202020270
+:103040000202020202020202020202020202020260
+:103050000202020202020202020202020202020250
+:103060000202020202020202020202020202020240
+:103070000202020202020202020202020202020230
+:103080000202020202020202020202020202020220
+:103090000202020202020202020202020202020210
+:1030A0000202020202020202020202020202020200
+:1030B00002020202020202020202020202020202F0
+:1030C00002020202020202020202020202020202E0
+:1030D00002020202020202020202020202020202D0
+:1030E00002020201020202020202020202020200C3
+:1030F00000000000000001000100000000000101CC
+:1031000000000000000000020101020101010001B5
+:103110000101020101020202020202020202020293
+:10312000020202020202020202020202020202027F
+:10313000020202020202020202020202020202026F
+:10314000020202020202020202020202020202025F
+:10315000020202020202020202020202020202024F
+:10316000020202020202020202020202020202023F
+:10317000020202020202020202020202020202022F
+:10318000020202020202020202020202020202021F
+:10319000020202020202020202020202020202020F
+:1031A00002020202020202020202020202020202FF
+:1031B00002020202020202020202020202020202EF
+:1031C00002020202020202020202020202020202DF
+:1031D00002020202020202020202020202020202CF
+:1031E00002020201020202020202020202020200C2
+:1031F00000000000000001000100000000000001CC
+:1032000000000000000000020102020001010001B4
+:103210000101010101020202020202020202020293
+:10322000020202020202020202020202020202027E
+:10323000020202020202020202020202020202026E
+:10324000020202020202020202020202020202025E
+:10325000020202020202020202020202020202024E
+:10326000020202020202020202020202020202023E
+:10327000020202020202020202020202020202022E
+:10328000020202020202020202020202020202021E
+:10329000020202020202020202020202020202020E
+:1032A00002020202020202020202020202020202FE
+:1032B00002020202020202020202020202020202EE
+:1032C00002020202020202020202020202020202DE
+:1032D00002020202020202020202020202020202CE
+:1032E00002020202020202020202020202020200C0
+:1032F00000000000000001000100000000000001CB
+:1033000000020002000200010202020001010002AC
+:103310000202010202020202020101010102020292
+:10332000020202020202020202020202020202027D
+:10333000020202020202020202020202020202026D
+:10334000020202020202020202020202020202025D
+:10335000020202020202020202020202020202024D
+:10336000020202020202020202020202020202023D
+:10337000020202020202020202020202020202022D
+:10338000020202020202020202020202020202021D
+:10339000020202020202020202020202020202020D
+:1033A00002020202020202020202020202020202FD
+:1033B00002020202020202020202020202020202ED
+:1033C00002020202020202020202020202020202DD
+:1033D00002020202020202020202020202020202CD
+:1033E00002020202020202020202020202020200BF
+:1033F00000000000000001000100000000000001CA
+:1034000000020002000200010202010000010002AD
+:103410000202020202010101010202020201010292
+:10342000020202020202020202020202020202027C
+:10343000020202020202020202020202020202026C
+:10344000020202020202020202020202020202025C
+:10345000020202020202020202020202020202024C
+:10346000020202020202020202020202020202023C
+:10347000020202020202020202020202020202022C
+:10348000020202020202020202020202020202021C
+:10349000020202020202020202020202020202020C
+:1034A00002020202020202020202020202020202FC
+:1034B00002020202020202020202020202020202EC
+:1034C00002020202020202020202020202020202DC
+:1034D00002020202020202020202020202020202CC
+:1034E00002020202020202020202020202020200BE
+:1034F00000000000000001000100000000000001C9
+:1035000002020202000102020202010000010002A6
+:10351000020202020202020202010101010202028F
+:10352000020202020202020202020202020202027B
+:10353000020202020202020202020202020202026B
+:10354000020202020202020202020202020202025B
+:10355000020202020202020202020202020202024B
+:10356000020202020202020202020202020202023B
+:10357000020202020202020202020202020202022B
+:10358000020202020202020202020202020202021B
+:10359000020202020202020202020202020202020B
+:1035A00002020202020202020202020202020202FB
+:1035B00002020202020202020202020202020202EB
+:1035C00002020202020202020202020202020202DB
+:1035D00002020202020202020202020202020202CB
+:1035E00002020202020202020202020202020200BD
+:1035F00000000000000001000100000000000001C8
+:1036000002020202000102020201010000000001A8
+:103610000101010101010101010101010101010299
+:10362000020202020202020202020202020202027A
+:10363000020202020202020202020202020202026A
+:10364000020202020202020202020202020202025A
+:10365000020202020202020202020202020202024A
+:10366000020202020202020202020202020202023A
+:10367000020202020202020202020202020202022A
+:10368000020202020202020202020202020202021A
+:10369000020202020202020202020202020202020A
+:1036A00002020202020202020202020202020202FA
+:1036B00002020202020202020202020202020202EA
+:1036C00002020202020202020202020202020202DA
+:1036D00002020202020202020202020202020202CA
+:1036E00002020202020202020202020202020202BA
+:1036F00002020202020202020202020202020201AB
+:1037000002020201000102010101010000010001A9
+:103710000101010101010101010101010101010298
+:103720000202020202020202020202020202020279
+:103730000202020202020202020202020202020269
+:103740000202020202020202020202020202020259
+:103750000202020202020202020202020202020249
+:103760000202020202020202020202020202020239
+:103770000202020202020202020202020202020229
+:103780000202020202020202020202020202020219
+:103790000202020202020202020202020202020209
+:1037A00002020202020202020202020202020202F9
+:1037B00002020202020202020202020202020202E9
+:1037C00002020202020202020202020202020202D9
+:1037D00002020202020202020202020202020202C9
+:1037E00002020202020202020202020202020202B9
+:1037F00002020202020202020202020202020200AB
+:1038000002010201000201010101010101010001A7
+:103810000101010101010101010101010101010297
+:103820000202020202020202020202020202020278
+:103830000202020202020202020202020202020268
+:103840000202020202020202020202020202020258
+:103850000202020202020202020202020202020248
+:103860000202020202020202020202020202020238
+:103870000202020202020202020202020202020228
+:103880000202020202020202020202020202020218
+:103890000202020202020202020202020202020208
+:1038A00002020202020202020202020202020202F8
+:1038B00002020202020202020202020202020202E8
+:1038C00002020202020202020202020202020202D8
+:1038D00002020202020202020202020202020202C8
+:1038E00002020202020202020202020202020202B8
+:1038F00002020202020202020202020202020200AA
+:1039000002010101020201010101010101010001A5
+:103910000101010101010101010101010101010296
+:103920000202020202020202020202020202020277
+:103930000202020202020202020202020202020267
+:103940000202020202020202020202020202020257
+:103950000202020202020202020202020202020247
+:103960000202020202020202020202020202020237
+:103970000202020202020202020202020202020227
+:103980000202020202020202020202020202020217
+:103990000202020202020202020202020202020207
+:1039A00002020202020202020202020202020202F7
+:1039B00002020202020202020202020202020202E7
+:1039C00002020202020202020202020202020202D7
+:1039D00002020202020202020202020202020202C7
+:1039E00002020202020202020202020202020202B7
+:1039F00002020202020202020202020202020200A9
+:103A000001020102020201010101010101010001A3
+:103A10000101010101010101010101010101010295
+:103A20000202020202020202020202020202020276
+:103A30000202020202020202020202020202020266
+:103A40000202020202020202020202020202020256
+:103A50000202020202020202020202020202020246
+:103A60000202020202020202020202020202020236
+:103A70000202020202020202020202020202020226
+:103A80000202020202020202020202020202020216
+:103A90000202020202020202020202020202020206
+:103AA00002020202020202020202020202020202F6
+:103AB00002020202020202020202020202020202E6
+:103AC00002020202020202020202020202020202D6
+:103AD00002020202020202020202020202020202C6
+:103AE00002020202020202020202020202020202B6
+:103AF00002020202020202020202020202020200A8
+:103B000001020202010101010101010101010001A3
+:103B10000101010101010101010101010101010195
+:103B20000201010102020202020202020202020179
+:103B30000202020202020202020202020202020265
+:103B40000202020202020202020202020202020057
+:103B50000202020202020202020202020202020245
+:103B60000202020202020202020202020202020235
+:103B70000202020202020202020202020202020225
+:103B80000202020202020202020202020202020215
+:103B90000202020202020202020202020202020205
+:103BA00002020202020202020202020202020202F5
+:103BB00002020202020202020202020202020202E5
+:103BC00002020202020202020202020202020202D5
+:103BD00002020202020202020202020202020202C5
+:103BE00002020202020202020202020202020202B5
+:103BF00002020202020202020202020202020200A7
+:103C000002010202010101010101010101010101A1
+:103C10000101010101010101010101010101010293
+:103C2000020101020101020201020101010202027C
+:103C30000202020102020202020202020202020265
+:103C40000202020202020202020202020202020056
+:103C5000000000000002020202020202020202024E
+:103C60000202020202020202020202020202020234
+:103C70000202020202020202020202020202020224
+:103C80000202020202020202020202020202020214
+:103C90000202020202020202020202020202020204
+:103CA00002020202020202020202020202020202F4
+:103CB00002020202020202020202020202020202E4
+:103CC00002020202020202020202020202020202D4
+:103CD00002020202020202020202020202020202C4
+:103CE00002020202020202020202020202020202B4
+:103CF00002020202020202020202020202020200A6
+:103D000002010101020101010101010101010101A1
+:103D10000101010101010101010101010101010193
+:103D2000010202000202010102010202020101017C
+:103D30000101010201010101010101010101010271
+:103D40000202020202020202020202020202020055
+:103D50000000000000000000000000000000000261
+:103D60000202020202020202020202020202020233
+:103D70000202020202020202020202020202020223
+:103D80000202020202020202020202020202020213
+:103D90000202020202020202020202020202020203
+:103DA00002020202020202020202020202020202F3
+:103DB00002020202020202020202020202020202E3
+:103DC00002020202020202020202020202020202D3
+:103DD00002020202020202020202020202020202C3
+:103DE00002020202020202020202020202020202B3
+:103DF00002020202020202020202020202020200A5
+:103E000001010101020101010101000101010101A2
+:103E10000101010101010101010101010101010192
+:103E2000020202000101020201020101010202017B
+:103E30000202020102020202020202020202020263
+:103E40000202020202020202020202020202020153
+:103E50000000000000000000000000000000000260
+:103E60000202020202020202020202020202020232
+:103E70000202020202020202020202020202020222
+:103E80000202020202020202020202020202020212
+:103E90000202020202020202020202020202020103
+:103EA0000101010101010101010101010101010201
+:103EB00002020202020202020202020202020202E2
+:103EC00002020202020202020202020202020202D2
+:103ED00002020202020202020202020202020202C2
+:103EE00002020202020202020202020202020202B2
+:103EF00002020202020202020202020202020201A3
+:103F000001010101010101000100000101010101A4
+:103F10000101010101010101010101010101010191
+:103F20000101010101010101010101010101010181
+:103F30000101010101010101010101010101010270
+:103F40000202020002020202020202020202020154
+:103F5000010101010100000000000000000000015B
+:103F60000201010201020202020202020202020234
+:103F70000202020202020202020202020202020221
+:103F80000202020202020202020202020202020211
+:103F90000202020202020202020202020202020102
+:103FA0000101010101010101010101010101010200
+:103FB00002020202020202020202020202020202E1
+:103FC00002020202020202020202020202020202D1
+:103FD00002020202020202020202020202020202C1
+:103FE00002020202020202020202020202020202B1
+:103FF00002020202020202020202020202020201A2
+:1040000001010101010100000000000101010101A5
+:104010000101010101010101010101010101010190
+:104020000101010101010101010101010101010180
+:104030000101010101010101010101010101010170
+:104040000202010001010202020202020202020156
+:10405000010101010101010101010101010101024F
+:104060000202020102020202020202020202020231
+:104070000202020202020202020202020202020220
+:104080000202020202020202020202020202020210
+:104090000202020202020202020202020202020200
+:1040A00002020202020202020202020202020202F0
+:1040B00002020202020202020202020202020202E0
+:1040C00002020202020202020202020202020202D0
+:1040D00002020202020202020202020202020202C0
+:1040E00002020202020202020202020202020202B0
+:1040F00002020202020202020202020202020201A1
+:1041000001010101010100000000000101010101A4
+:10411000010101010101010101010101010101018F
+:10412000010101010101010101010101010101017F
+:10413000010101010101010101010101010101016F
+:10414000010101010101010101010101010101015F
+:10415000010101010101010101010101010101014F
+:104160000100000200010101010101010101010240
+:104170000202010101020202020202020202020222
+:10418000020202020202020202020202020202020F
+:1041900002020202020202020202020202020202FF
+:1041A00002020202020202020202020202020202EF
+:1041B00002020202020202020202020202020202DF
+:1041C00002020202020202020202020202020202CF
+:1041D00002020202020202020202020202020202BF
+:1041E00002020202020202020202020202020202AF
+:1041F00002020202020202020202020202020201A0
+:1042000001000001010000000000000101010101A6
+:10421000010101010101010101010101010101018E
+:10422000010101010101010101010101010101017E
+:10423000010101010101010101010101010101016E
+:10424000010101010101010101010101010101015E
+:10425000010101010101010101010101010101014E
+:104260000200000100020202020202020202020235
+:10427000020202020102020202020202020202021F
+:10428000020202020202020202020202020202020E
+:104290000202020202020202020202020202020000
+:1042A000000000000000000000000000000000020C
+:1042B00002020202020202020202020202020202DE
+:1042C00002020202020202020202020202020202CE
+:1042D00002020202020202020202020202020202BE
+:1042E00002020202020202020202020202020202AE
+:1042F000020202020202020202020202020202019F
+:1043000000000000010000000000000101010101A7
+:10431000010101010101010101010101010101018D
+:10432000010101010101010101010101010101017D
+:10433000010101010101010101010101010101016D
+:10434000010101010101010101010101010101015D
+:10435000010101010101010101010101010101014D
+:10436000010101010101010101010101010101013D
+:10437000010100000201010101010101010101022D
+:10438000020202020202020202020202020202020D
+:1043900002020202020202020202020202020200FF
+:1043A000000000000000000000000000000000020B
+:1043B00002020202020202020202020202020202DD
+:1043C00002020202020202020202020202020202CD
+:1043D00002020202020202020202020202020202BD
+:1043E00002020202020202020202020202020202AD
+:1043F000020202020202020202020202020202019E
+:1044000000000000000000000000000101010101A7
+:10441000010101010101010101010101010101018C
+:10442000010101010101010101010101010101017C
+:10443000010101010101010101010101010101016C
+:10444000010101010101010101010101010101015C
+:10445000010101010101010101010101010101014C
+:10446000010101010101010101010101010101013C
+:104470000202000002020202020202020202020220
+:10448000020002020202020202020202020202010F
+:10449000010101010101010101010102010201000B
+:1044A000000000000000000000000000000000020A
+:1044B00002020202020202020202020202020202DC
+:1044C00002020202020202020202020202020202CC
+:1044D00002020202020202020202020202020202BC
+:1044E00002020202020202020202020202020202AC
+:1044F000020202020202020202020202020202019D
+:1045000000000000000000000000000101010101A6
+:10451000010101010101010101010101010101018B
+:10452000010101010101010101010101010101017B
+:10453000010101010101010101010101010101016B
+:10454000010101010101010101010101010101015B
+:10455000010101010101010101010101010101014B
+:10456000010101010101010101010101010101013B
+:10457000010101010101010101010101010101012B
+:104580000101010101010101010101020202010217
+:1045900002020202020202020202020102010200FF
+:1045A0000000000000000000000000000000000209
+:1045B00002020202020202020202020202020200DD
+:1045C00000000000000000000000000000000002E9
+:1045D00002020202020202020202020202020202BB
+:1045E00002020202020202020202020202020202AB
+:1045F000020202020202020202020202020202019C
+:1046000000000000000000000001010101010101A3
+:10461000010101010101010101010101010101018A
+:10462000010101010101010101010101010101017A
+:10463000010101010101010101010101010101016A
+:10464000010101010101010101010101010101015A
+:10465000010101010101010101010101010101014A
+:10466000010101010101010101010101010101013A
+:10467000010101010101010101010101010101012A
+:10468000010101010101010101010101010101001B
+:104690000000000000000000000000020002000115
+:1046A00001010101010101010101010101010101FA
+:1046B00001010101010101010101010101010100EB
+:1046C00000000000000000000000000000000002E8
+:1046D00002020202020202020202020202020202BA
+:1046E00002020202020202020202020202020202AA
+:1046F000020202020202020202020202020202019B
+:10470000000000000000010101010101010101019F
+:104710000101010101010101010101010101010189
+:104720000101010101010101010101010101010179
+:104730000101010101010101010101010101010169
+:104740000101010101010101010101010101010159
+:104750000101010101010101010101010101010149
+:104760000101010101010101010101010101010139
+:104770000101010101010101010101010101010129
+:104780000101010101010101010101010101010119
+:104790000101010101010101010101010101010109
+:1047A00001010101010101010101010101010101F9
+:1047B00001010101010101010101010101010100EA
+:1047C00000000000000000000000000000000002E7
+:1047D00002020202020202020202020202020202B9
+:1047E00002020202020202020202020202020202A9
+:1047F000020202000002020202020202020202019E
+:10480000000000000000010101010101010101019E
+:104810000101010101010101010101010101010188
+:104820000101010101010101010101010101010178
+:104830000101010101010101010101010101010168
+:104840000101010101010101010101010101010158
+:104850000101010101010101010101010101010148
+:104860000101010101010101010101010101010138
+:104870000101010101010101010101010101010128
+:104880000101010101010101010101010101010118
+:104890000101010101010101010101010101010108
+:1048A00001010101010101010101010101010101F8
+:1048B00001010101010101010101010101010101E8
+:1048C00001010101010101010101010101010100D9
+:1048D00000000000000000000000000000000002D6
+:1048E00002020202020202020202020202020202A8
+:1048F000020200000002020202020202020202019F
+:10490000000000000001010101010101010101019C
+:104910000101010101010101010101010101010187
+:104920000101010101010101010101010101010177
+:104930000101010101010101010101010101010167
+:104940000101010101010101010101010101010157
+:104950000101010101010101010101010101010147
+:104960000101010101010101010101010101010137
+:104970000101010101010101010101010101010127
+:104980000101010101010101010101010101010117
+:104990000101010101010101010101010101010107
+:1049A00001010101010101010101010101010101F7
+:1049B00001010101010101010101010101010101E7
+:1049C00001010101010101010101010101010101D7
+:1049D00001010101010101010101010101010102C6
+:1049E00002020202000202020202020202020202A9
+:1049F000020200000002020202020202020202019E
+:104A00000001010100010101010101010101010198
+:104A10000101010101010101010101010101010186
+:104A20000101010101010101010101010101010176
+:104A30000101010101010101010101010101010166
+:104A40000101010101010101010101010101010156
+:104A50000101010101010101010101010101010146
+:104A60000101010101010101010101010101010136
+:104A70000101010101010101010101010101010126
+:104A80000101010101010101010101010101010116
+:104A90000101010101010101010101010101010106
+:104AA00001010101010101010101010101010101F6
+:104AB00001010101010101010101010101010101E6
+:104AC00001010101010101010101010101010101D6
+:104AD00001010101010101010101010101010101C6
+:104AE00001010101010101010101010101010100B7
+:104AF00000020000000000020002020202020201A5
+:104B00000101010101010101010101010101010195
+:104B10000101010101010101010101010101010185
+:104B20000101010101010101010101010101010175
+:104B30000101010101010101010101010101010165
+:104B40000101010101010101010101010101010155
+:104B50000101010101010101010101010101010145
+:104B60000101010101010101010101010101010135
+:104B70000101010101010101010101010101010125
+:104B80000101010101010101010101010101010115
+:104B90000101010101010101010101010101010105
+:104BA00001010101010101010101010101010101F5
+:104BB00001010101010101010101010101010101E5
+:104BC00001010101010101010101010101010101D5
+:104BD00001010101010101010101010101010101C5
+:104BE00001010101010101010101010101010100B6
+:104BF00000000000000000000002020202020201A8
+:104C00000101010101010101010101010101010194
+:104C10000101010101010101010101010101010184
+:104C20000101010101010101010101010101010174
+:104C30000101010101010101010101010101010164
+:104C40000101010101010101010101010101010154
+:104C50000101010101010101010101010101010144
+:104C60000101010101010101010101010101010134
+:104C70000101010101010101010101010101010124
+:104C80000101010101010101010101010101010114
+:104C90000101010101010101010101010101010104
+:104CA00001010101010101010101010101010101F4
+:104CB00001010101010101010101010101010101E4
+:104CC00001010101010101010101010101010101D4
+:104CD00001010101010101010101010101010101C4
+:104CE00001010101010101010101010101010100B5
+:104CF00000000000000000000002020200020201A9
+:104D00000101010101010101010101010101010094
+:104D10000000000000000000000000000000000093
+:104D20000000000000000000000000000000000281
+:104D30000202020202020202020202020202020253
+:104D40000202020202020202020202020202020243
+:104D50000202020202020202020202020202020233
+:104D60000202020202020202020202020202020223
+:104D70000202020202020202020202020202020213
+:104D80000202020202020202020202020202020203
+:104D900002020202020202020202020202020202F3
+:104DA00002020202020202020202020202020202E3
+:104DB00002020202020202020202020202020202D3
+:104DC00002020202020202020202020202020202C3
+:104DD00002020202020202020202020202020202B3
+:104DE00002020202020202020202020202020200A5
+:104DF00000000000000000000002020000020201AA
+:104E00000101010101010101010101010101010093
+:104E10000000000000000000000000000000000092
+:104E20000000000000000000000000000000000082
+:104E30000000000000000000000000000000000072
+:104E40000000000000000000000000000000000260
+:104E50000202020202020202020202020202020232
+:104E60000202020202020202020202020202020222
+:104E70000202020202020202020202020202020212
+:104E80000202020202020202020202020202020202
+:104E900002020202020202020202020202020202F2
+:104EA00002020202020202020202020202020202E2
+:104EB00002020202020202020202020202020202D2
+:104EC00002020202020202020202020202020202C2
+:104ED00002020202020202020202020202020202B2
+:104EE00002020202020202020202020202020200A4
+:104EF00000000000000000000000000000020201AD
+:104F00000101010101010101010101010101010092
+:104F10000000000000000000000000000000000091
+:104F20000000000000000000000000000000000081
+:104F30000000000000000000000000000000000071
+:104F40000000000000000000000000000000000061
+:104F50000000000000000000000000000000000051
+:104F60000000000000000000000000000000000041
+:104F70000000000000000000000000000000000031
+:104F80000000000000000000000000000000000021
+:104F9000000000000000000000000000000000020F
+:104FA00002020202020202020202020202020202E1
+:104FB00002020202020202020202020202020202D1
+:104FC00002020202020202020202020202020202C1
+:104FD00002020202020202020202020202020202B1
+:104FE00002020202020202020202020202020200A3
+:104FF00000000000000000000000000000020200AD
+:1050000000000000000000000000000000000000A0
+:105010000000000000000000000000000000000090
+:105020000000000000000000000000000000000080
+:105030000000000000000000000000000000000070
+:105040000000000000000000000000000000000060
+:105050000000000000000000000000000000000050
+:105060000000000000000000000000000000000040
+:105070000000000000000000000000000000000030
+:105080000000000000000000000000000000000020
+:105090000000000000000000000000000000000010
+:1050A0000000000000000000000000000000000000
+:1050B00000000000000000000000000000000000F0
+:1050C00000000000000000000000000000000000E0
+:1050D00000000000000000000000000000000000D0
+:1050E00000000000000000000000000000000000C0
+:1050F000000000000000000000000000000000525E
+:105100000000000000000002000002020000020295
+:105110000200000201010001000000010000000087
+:105120000101000100010000000000000100010079
+:10513000000000000100000000010000010001006B
+:10514000000002000000000000000100000100015A
+:105150000000010002000000000100000002000148
+:105160000000010001000000000000000001010239
+:10517000000000000000000000000000000000002F
+:10518000000000000000000000000000000000001F
+:10519000000000000000000000000000000000000F
+:1051A00000000000000000000000000000000000FF
+:1051B00001010000000201000000000001020101E5
+:1051C00000000100010000000000000001010101D9
+:1051D00000000100010000000000000000000000CD
+:1051E00001010001000100000000000000000000BB
+:1051F00000000000000000000000000000000000AF
+:105200000000000000000002000002020000020294
+:105210000200000201010001010001010101010180
+:105220000101010101010001000000000100010075
+:105230000101000101010001000100010100010064
+:105240000101010200010000000001000001000155
+:105250000101010202020000000100000002000141
+:105260000101010001000000000000000001010236
+:10527000020200020002000001010000000202021E
+:10528000000001000100000000000000000000001C
+:10529000000000000000000000000000000000000E
+:1052A00000000000000000000000000001020101F9
+:1052B00001010200020201000000000001020101E0
+:1052C00001010101010101000000000101010101D2
+:1052D00001010101010101000000000001000002C4
+:1052E00001010101010100000000000000000000B8
+:1052F00000000000000000000002020200000000A8
+:105300000000000000000002000002020000020293
+:10531000020000020202000101000101010101017D
+:105320000101010101010001000000000101010172
+:10533000010101010101000100010101010201025D
+:105340000101010101010000000001000101000153
+:10535000010101020202000001010000000202013D
+:105360000101010001000000000000000001010136
+:10537000020202020201000001010000000202011B
+:105380000101010101010000000000000000000017
+:10539000000000000000000000000000000000000D
+:1053A00000000000000000000000000001020101F8
+:1053B00001010200020101000000000001020101E0
+:1053C00001010101010101000000000101010101D1
+:1053D00001010101010101000000000001000002C3
+:1053E00001010101010100000000000001010001B4
+:1053F00000000100010000000002020200000000A5
+:105400000000000000000002000002020000020292
+:10541000020000020202000101010101010101017B
+:105420000101010101010001000000000101010171
+:10543000010101010101000100010101010201015D
+:105440000101010101010000000001000101000152
+:105450000101010201010000010100000001010140
+:105460000101010001000100000000010001010133
+:10547000010201010101000001010000000202011E
+:105480000101010101010000000000000000000016
+:10549000000000000000000000000000000000000C
+:1054A00000000000020000000000000001020101F5
+:1054B00001010200010101000000000001010101E1
+:1054C00001010101010101000000000101010101D0
+:1054D00001010101010101000000000001020202BE
+:1054E00001010101010100000000000001010001B3
+:1054F000010101010101010000020202000000009F
+:105500000000000000000002000002020000020291
+:10551000020000020202000101010101010101017A
+:10552000010101010101010100000000010101016F
+:10553000010101010101000100010101010201015C
+:10554000010101010101000000000100010102014F
+:10555000010101010101000001010000010101013F
+:105560000101010001000100000000010001010132
+:105570000101010101010000010100000001010120
+:105580000101010101010000000000000000000015
+:105590000000000002000000000000000000000009
+:1055A00000000002020200000000000001010101F1
+:1055B00001010100010101000000000001010101E1
+:1055C00001010101010101000000000101010101CF
+:1055D00001010101010101000000000001020201BE
+:1055E00001010101010100000000000001010201B0
+:1055F000010101010101010000020202000000009E
+:105600000000000000000002000002020000020290
+:105610000200000202020001010101010101010179
+:10562000010101010101010100000001010101016D
+:10563000010101010101000100010101010101015C
+:10564000010101010101010100000100010102014C
+:10565000010101010101000001010000010101013E
+:10566000010101000102010100000001000101012E
+:10567000010101010101000001010000000101011F
+:105680000101010101010000000000000000000014
+:105690000000000202020000000000000000000004
+:1056A00000000202020200000000000001010101EE
+:1056B00001010100010101000000000001010101E0
+:1056C00001010101010101000000000101010101CE
+:1056D00001010101010101000000000001010101BF
+:1056E00001010101010100000000000001010101B0
+:1056F000010101010101010001010101010101019B
+:105700000101010101010102000002020000020288
+:105710000200000202020001010101010101010178
+:10572000010101010101010100000101010101016B
+:10573000010101010101000101010101010101015A
+:10574000010101010101010100000100010102014B
+:10575000010101010101000001010000010101013D
+:10576000010101000102010100000001000101012D
+:10577000010101010101000001010000000101011E
+:105780000101010101010100000000000000000012
+:105790000000000202020000000000000000000003
+:1057A00002000202010200000000000001010101EC
+:1057B00001010100010101000000000001010101DF
+:1057C00001010101010101000000010101010101CC
+:1057D00001010101010101000000000001010101BE
+:1057E00001010101010100000000000001010101AF
+:1057F000010101010101010001010101010101019A
+:105800000101010101010102000002020000020287
+:105810000200000202020001010101010101010177
+:10582000010101010101010100000101010101016A
+:105830000101010101010001010101010101010159
+:10584000010101010101010100000100010101014B
+:10585000010101010101000001010000010101013C
+:10586000010101020102010100000001000101012A
+:10587000010101010101000001010000010101011C
+:105880000101010101010100000000000000000011
+:105890000200000201020000000000000000000001
+:1058A00002000201010100000000000001010101ED
+:1058B00001010100010101000000000101010101DD
+:1058C00001010101010101010000010101010101CA
+:1058D00001010101010101000000000001010101BD
+:1058E00001010101010100000000000001010101AE
+:1058F0000101010101010100010101010101010199
+:105900000101010101010102000002020000020286
+:105910000200000202020001010101010101010176
+:105920000101010101010101010001010101010168
+:105930000101010101010001010101010101010158
+:10594000010101010101010100000100010101014A
+:10595000010101010101000001010000010101013B
+:105960000101010201010101000001010101010128
+:10597000010101010101000001010000010101011B
+:10598000010101010101010000000000000000020E
+:105990000200020101010000000000000000000000
+:1059A00002020101010100000000000001010101EB
+:1059B00001010100010101000000000101010101DC
+:1059C00001010101010101010000010101010101C9
+:1059D00001010101010101000000000001010101BC
+:1059E00001010101010101000000010001010101AB
+:1059F0000101010101010100010101010101010198
+:105A00000101010101010102000002020000020285
+:105A10000200000202020001010101010101010175
+:105A20000101010101010101010001010101010167
+:105A30000101010101010101010101010101010156
+:105A40000101010101010101000001000101010149
+:105A50000101010101010100010100000101010139
+:105A60000101010201010101000001010101010127
+:105A70000101010101010100010100000101010119
+:105A8000010101010101010000000000000000020D
+:105A900002020201010100000000000000000002FB
+:105AA00001020101010100000000000001010101EB
+:105AB00001010102010101000000000101010101D9
+:105AC00001010101010101010000010101010101C8
+:105AD00001010101010101000000000001010101BB
+:105AE00001010101010101000000010001010101AA
+:105AF0000101010101010100010101010101010197
+:105B00000101010101010102000002020000020284
+:105B10000200000202020002010101010101010173
+:105B20000101010101010101010101010101010165
+:105B30000101010101010101010101010101010155
+:105B40000101010101010101000101000101010147
+:105B50000101010101010100010100000101010138
+:105B60000101010101010101010001010101010126
+:105B70000101010101010101010100000101010117
+:105B8000010101010101010000000000000000020C
+:105B900001020201010100000000000000000002FB
+:105BA00001020101010100000000000101010101E9
+:105BB00001010101010101000000000101010101D9
+:105BC00001010101010101010001010101010101C6
+:105BD00001010101010101000000000001010101BA
+:105BE00001010101010101000000010001010101A9
+:105BF000010101010101010000000000000000009E
+:105C00000000000000000102000002020000020289
+:105C10000200000202020002010101010101010172
+:105C20000101010101010101010101010101010164
+:105C30000101010101010101010101010101010154
+:105C40000101010101010101000101010101010145
+:105C50000101010101010101010100000101010136
+:105C60000101010101010101010001010101010125
+:105C70000101010101010101010100000101010116
+:105C8000010101010101010000000000000000010C
+:105C900001020101010100000000000000000202F9
+:105CA00001010101010100000000000101010101E9
+:105CB00001010101010101000000000101010101D8
+:105CC00001010101010101010001010101010101C5
+:105CD00001010101010101000000000001010101B9
+:105CE00001010101010101000000010001010101A8
+:105CF000010101010101010000000000000000009D
+:105D00000000000000000102000002020000020288
+:105D10000200000202020002010101010101010171
+:105D20000101010101010101010101010101010163
+:105D30000101010101010101010101010101010153
+:105D40000101010101010101000101010101010144
+:105D50000101010101010101010101000101010134
+:105D60000101010101010101010001010101010124
+:105D70000101010101010101010100000101010115
+:105D80000101010101010100000000000000020109
+:105D900001010101010100000000000000000201FA
+:105DA00001010101010100000000000101010101E8
+:105DB00001010101010101000001000101010101D6
+:105DC00001010101010101010101010101010101C3
+:105DD00001010101010101000000000001010101B8
+:105DE00001010101010101000000010001010101A7
+:105DF000010101010101010000000000000000009C
+:105E00000000000000000102000002020000020287
+:105E10000200000202020002010101010101010170
+:105E20000101010101010101010101010101010162
+:105E30000101010101010101010101010101010152
+:105E40000101010101010101000101010101010143
+:105E50000101010101010101010101010101010132
+:105E60000101010101010101010001010101010123
+:105E70000101010101010101010100000101010114
+:105E80000101010101010100000000000000020108
+:105E900001010101010100000000000000020201F7
+:105EA00001010101010100000000000101010101E7
+:105EB00001010101010101000001000101010101D5
+:105EC00001010101010101010101010101010101C2
+:105ED00001010101010101000000000001010101B7
+:105EE00001010101010101000000010001010101A6
+:105EF000010101010101010000000000000000009B
+:105F00000000000000000102000002020000020286
+:105F1000020000020202000202010101010101016E
+:105F20000101010101010101010101010101010161
+:105F30000101010101010101010101010101010151
+:105F40000101010101010101010101010101010141
+:105F50000101010101010101010101010101010131
+:105F60000101010101010101010001010101010122
+:105F70000101010101010101010100010101010112
+:105F80000101010101010100000000000000020107
+:105F900001010101010100000000000000020101F7
+:105FA00001010101010100000000000101010101E6
+:105FB00001010101010101000001010101010101D3
+:105FC00001010101010101010101010101010101C1
+:105FD00001010101010101000000000001010101B6
+:105FE00001010101010101000000010001010101A5
+:105FF000010101010101010000000000000000009A
+:106000000000000000000102000002020000020285
+:10601000020000020202000202010202010101016B
+:106020000101010101010101010101010101010160
+:106030000101010101010101010101010101010150
+:106040000101010101010101010101010101010140
+:106050000101010101010101010101010101010130
+:106060000101010101010101010001010101010121
+:106070000101010101010101010100010101010111
+:106080000101010101010101000000000000010106
+:1060900001010101010100000000000001020101F5
+:1060A00001010101010100000000010101010101E4
+:1060B00001010101010101010001010101010101D1
+:1060C00001010101010101010101010101010101C0
+:1060D00001010101010101000000000001010101B5
+:1060E00001010101010101000000010001010101A4
+:1060F0000101010101010100000000000000000099
+:106100000000000000000102000002020000020284
+:106110000200000202020002020202020101010169
+:10612000010101010101010201010101010101015E
+:10613000010101010101010101010101010101014F
+:10614000010101010101010101010101010101013F
+:10615000010101010101010101010101010101012F
+:106160000101010101010101010001010101010120
+:106170000101010101010101010100010101010110
+:106180000101010101010101000000000002010103
+:1061900001010101010100000000000001010101F5
+:1061A00001010101010100000000010101010101E3
+:1061B00001010101010101010001010101010101D0
+:1061C00001010101010101010101010101010101BF
+:1061D00001010101010101000000000001010101B4
+:1061E00001010101010101000000010001010101A3
+:1061F0000101010101010100000000000000000098
+:106200000000000000000102000002020000020283
+:106210000200000202020002020202020101010168
+:10622000010101010101010201010101010101015D
+:10623000010101010101010201010101010101014D
+:10624000010101010101010101010101010101013E
+:10625000010101010101010101010101010101012E
+:10626000010101010101010101000101010101011F
+:10627000010101010101010101010101010101010E
+:106280000101010101010101000000000002010102
+:1062900001010101010100000000000001010101F4
+:1062A00001010101010100000001010101010101E1
+:1062B00001010101010101010001010101010101CF
+:1062C00001010101010101010101010101010101BE
+:1062D00001010101010101000000000001010101B3
+:1062E00001010101010101000000010101010101A1
+:1062F0000101010101010100000000000000000097
+:106300000000000000000102000002020000020282
+:106310000200000202020002020202020102010166
+:10632000010101010101010201010101010101015C
+:10633000010101010101010201010101010101014C
+:10634000010101010101010101010101010101013D
+:10635000010101010101010101010101010101012D
+:10636000010101010101010101000101010101011E
+:10637000010101010101010101010101010101010D
+:106380000101010101010101000001000002010100
+:1063900001010101010100000000000001010101F3
+:1063A00001010101010101000001010101010101DF
+:1063B00001010101010101010101010101010101CD
+:1063C00001010101010101010101010101010101BD
+:1063D00001010101010101000000000001010101B2
+:1063E00001010101010101000000010101010101A0
+:1063F0000101010101010100000000000000000096
+:106400000000000000000102000002020000020281
+:106410000200000202020002020202020202010164
+:10642000010101010101010201010101010101015B
+:10643000010101010101010201010101010101014B
+:10644000010101010101010101010101010101013C
+:10645000010101010101010101010101010101012C
+:10646000010101010101010101000101010101011D
+:10647000010101010101010101010101010101010C
+:1064800001010101010101010000010100010101FF
+:1064900001010101010101000000000001010101F1
+:1064A00001010101010101000001010101010101DE
+:1064B00001010101010101010101010101010101CC
+:1064C00001010101010101010101010101010101BC
+:1064D00001010101010101000000000001010101B1
+:1064E000010101010101010000000101010101019F
+:1064F0000101010101010100000000000000000095
+:10650000000000000101010200000202000002027E
+:106510000200000202020002020202020202020162
+:106520000102010101010102010101010101010159
+:10653000010101010101010201010101010101014A
+:10654000010101010101010101010101010101013B
+:10655000010101010101010101010101010101012B
+:10656000010101010101010101010101010101011B
+:10657000010101010101010101010101010101010B
+:1065800001010101010101010000010101010101FD
+:1065900001010101010101000000000001010101F0
+:1065A00001010101010101000001010101010101DD
+:1065B00001010101010101010101010101010101CB
+:1065C00001010101010101010101010101010101BB
+:1065D00001010101010101000000000001010101B0
+:1065E000010101010101010000000101010101019E
+:1065F0000101010101010100000000000000000193
+:10660000000101010101010200000202000002027A
+:106610000200000202020002020202020202020260
+:106620000102010101010102010101010101010158
+:106630000101010101010102010101010101010149
+:10664000010101010101010101010101010101013A
+:10665000010101010101010101010101010101012A
+:10666000010101010101010101010101010101011A
+:10667000010101010101010101010101010101010A
+:1066800001010101010101010000010101010101FC
+:1066900001010101010101000000010001010101EE
+:1066A00001010101010101000101010101010101DB
+:1066B00001010101010101010101010101010101CA
+:1066C00001010101010101010101010101010101BA
+:1066D00001010101010101000000000001010101AF
+:1066E000010101010101010100000101010101019C
+:1066F0000101010101010100000000000000000192
+:106700000101010101010102000002020000020278
+:10671000020000020202000202020202020202025F
+:106720000202010201010102010101010101010155
+:106730000101010101010102010201010101010147
+:106740000101010101010101010101010101010139
+:106750000101010101010101010101010101010129
+:106760000101010101010101010101010101010119
+:106770000101010101010101010101010101010109
+:1067800001010101010101010001010101010101FA
+:1067900001010101010101000000010001010101ED
+:1067A00001010101010101000101010101010101DA
+:1067B00001010101010101010101010101010101C9
+:1067C00001010101010101010101010101010101B9
+:1067D00001010101010101000000000101010101AD
+:1067E000010101010101010100000101010101019B
+:1067F0000101010101010100000000000000000191
+:106800000101010101010102000002020000020277
+:10681000020000020202000202020202020202025E
+:106820000202020201010102010101010101010153
+:106830000101010101010102010202020101010144
+:106840000101010101010102010101010101010137
+:106850000101010101010101010101010101010128
+:106860000101010101010102010101010101010117
+:106870000101010101010101010101010101010108
+:1068800001010101010101010001010101010101F9
+:1068900001010101010101000001010001010101EB
+:1068A00001010101010101000101010101010101D9
+:1068B00001010101010101010101010101010101C8
+:1068C00001010101010101010101010101010101B8
+:1068D00001010101010101000000010101010101AB
+:1068E000010101010101010100000101010101019A
+:1068F0000101010101010100000000000000000190
+:106900000101010101010102000002020000020276
+:10691000020000020202000202020202020202025D
+:106920000202020202020102010101010101010150
+:106930000101010101010102020202020101010142
+:106940000101010101010102010101010101010136
+:106950000101010101010101010101010101010127
+:106960000101010101010102010101010101010116
+:106970000101010101010101010101010101010107
+:1069800001010101010101010101010101010101F7
+:1069900001010101010101000001010001010101EA
+:1069A00001010101010101000101010101010101D8
+:1069B00001010101010101010101010101010101C7
+:1069C00001010101010101010101010101010101B7
+:1069D00001010101010101000000010101010101AA
+:1069E0000101010101010101000001010101010199
+:1069F000010101010101010000010001000000018D
+:106A00000101010101010102000002020000020275
+:106A1000020000020202000202020202020202025C
+:106A20000202020202020102020102020202020149
+:106A30000101010101010102020202020101010141
+:106A40000101010101010102010102010101010134
+:106A50000101010101010101020201010101010124
+:106A60000101010101010102010101010101010115
+:106A70000101010101010101020101010101010105
+:106A800001010101010101010101010101010101F6
+:106A900001010101010101000001010001010101E9
+:106AA00001010101010101000101010101010101D7
+:106AB00001010101010101010101010101010101C6
+:106AC00001010101010101010101010101010101B6
+:106AD00001010101010101000000010101010101A9
+:106AE0000101010101010101000001010101010198
+:106AF000010101010101010000010001000000018C
+:106B00000101010101010102000002020000020274
+:106B1000020000020202000202020202020202025B
+:106B20000202020202020202020102020202020147
+:106B3000010101010101010202020202020102013E
+:106B40000101010101010102010102010101010133
+:106B50000101010101010101020201010101010123
+:106B60000101010101010102010101010101010114
+:106B70000101010101010101020201010101010103
+:106B800001010101010101010101010101010101F5
+:106B900001010101010101000001010001010101E8
+:106BA00001010101010101000101010101010101D6
+:106BB00001010101010101010101010101010101C5
+:106BC00001010101010101010101010101010101B5
+:106BD00001010101010101000000010101010101A8
+:106BE0000101010101010101000001010101010197
+:106BF000010101010101010000010001000000018B
+:106C00000101010101010102000002020000020273
+:106C1000020000020202000202020202020202025A
+:106C20000202020202020202020202020202020145
+:106C3000010201010101010202020202020102013C
+:106C40000101010101010102010102010102010131
+:106C50000101010101010102020201010101010121
+:106C60000101010101010102010101020102010111
+:106C70000101010101010102020201010101010101
+:106C800001010101010101010101010101010101F4
+:106C900001010101010101000101010001010101E6
+:106CA00001010101010101000101010101010101D5
+:106CB00001010101010101010101010101010101C4
+:106CC00001010101010101010101010101010101B4
+:106CD00001010101010101000000010101010101A7
+:106CE0000101010101010101000001010101010196
+:106CF000010101010101010000010001000000018A
+:106D00000101010101010102000002020000020272
+:106D10000200000202020002020202020202020259
+:106D20000202020202020202020202020202020243
+:106D3000020201010101010202020202020102013A
+:106D4000010201010101010201010201010201012F
+:106D50000101010101010102020201010101010120
+:106D6000010101010101010201010102010202010F
+:106D70000101010101010102020201010101010100
+:106D800001010101010101010101010101010101F3
+:106D900001010101010101000101010101010101E4
+:106DA00001010101010101010101010101010101D3
+:106DB00001010101010101010101010101010101C3
+:106DC00001010101010101010101010101010101B3
+:106DD00001010101010101000000010101010101A6
+:106DE0000101010101010101000001010101010195
+:106DF0000101010101010100000101010000000188
+:106E00000101010101010102000001010000020273
+:106E10000200000202020002020202020202020258
+:106E20000202020202020202020202020202020242
+:106E30000202020202010102020202020201020136
+:106E4000020201010101010201010201010201012D
+:106E5000010101010101010202020101010101011F
+:106E6000010101010101010202010202010202010C
+:106E700001010101010101020202010101010101FF
+:106E800001010101010101010101010101010101F2
+:106E900001010101010101000101010101010101E3
+:106EA00001010101010101010101010101010101D2
+:106EB00001010101010101010101010101010101C2
+:106EC00001010101010101020101010101010101B1
+:106ED00001010101010101000101010101010101A3
+:106EE0000101010101010101000001010101010194
+:106EF0000101010101010100000101010000000187
+:106F00000101010101010102000001010000010174
+:106F10000200000102020002020202020202020258
+:106F20000202020202020202020202020202020241
+:106F30000202020202020102020202020202020232
+:106F40000202020101010102010102010202010229
+:106F5000010101010101010202020101010101021D
+:106F6000010101010101010202010202010202010B
+:106F700001010101010101020202010101010101FE
+:106F800001010101010101010101010101010101F1
+:106F900001010101010101000101010101010101E2
+:106FA00001010101010101010101010101010101D1
+:106FB00001010101010101010101010102010201BF
+:106FC00001010101010101020101010201010101AF
+:106FD00001010101010101010101010101010101A1
+:106FE0000101010101010101000001010101010193
+:106FF0000101010101010100000101010000000186
+:107000000101010101010102000001010000020172
+:107010000100000102020002020202020202020258
+:107020000202020202020202020202020202020240
+:107030000202020202020102020202020202020231
+:107040000202020202020102010202010202010224
+:107050000202020101010102020201010202020216
+:107060000202020101010102020102020102020107
+:1070700001010101010101020202010101010101FD
+:1070800001010101010101020101010101010101EF
+:1070900001010101010101000101010101010101E1
+:1070A00001010101010101010101010101010101D0
+:1070B00001010101010101020101010202010202BB
+:1070C00001010101010101020101010201020101AD
+:1070D00001010101010101010101010101010101A0
+:1070E0000101010101010101000001010101010192
+:1070F0000101010101010100000101010000000185
+:107100000101010101010102000001010000010172
+:107110000100000102010002020202020202020258
+:10712000020202020202020202020202020202023F
+:107130000202020202020102020202020202020230
+:107140000202020202020102020202020202010221
+:107150000202020101010102020202010202020214
+:107160000202020102010102020102020102020204
+:1071700001010101010101020202010101020102FA
+:1071800002020201010101020101010101010101EB
+:1071900001010101010101000101010101010101E0
+:1071A00001010101010101010101010101010101CF
+:1071B00001010101010101020101010202020202B9
+:1071C00002020201010101020101020202020201A6
+:1071D000010101010101010101010101010101019F
+:1071E0000101010101010101000101010101010190
+:1071F0000101010101010100000001010000000185
+:107200000101010101010101000002020000010170
+:107210000100000101010002020202020202020258
+:10722000020202020202020202020202020202023E
+:10723000020202020202010202020202020202022F
+:10724000020202020202020202020202020201021F
+:107250000202020101010102020202020202020212
+:107260000202020102010102020102020202020202
+:1072700002010201010101020202010102020202F5
+:1072800002020202020101020101010101010101E8
+:1072900001010101010101000101010101010101DF
+:1072A00001010101010101010101010102010201CC
+:1072B00001010101010101020102010202020202B7
+:1072C00002020202020101020101020202020202A2
+:1072D000010101010101010101010101010101019E
+:1072E000010101010101010100010101010101018F
+:1072F0000101010101010100000001000000000185
+:10730000010101010101010100000202000001016F
+:107310000100000101010002020202020202020257
+:10732000020202020202020202020202020202023D
+:10733000020202020202010202020202020202022E
+:10734000020202020202020202020202020201021E
+:107350000202020101010102020202020202020211
+:107360000202020102010202020102020202020200
+:1073700002020202020201020202010202020202EF
+:1073800002020202020201020101010101010101E6
+:1073900001010101010101000101010101010101DE
+:1073A00001010101010101010101010102010202CA
+:1073B00002020101010101020102020202020202B3
+:1073C000020202020202020202020202020202029D
+:1073D0000202020101010101010101010201010199
+:1073E000010101010101010101010101010201018C
+:1073F0000101010101010100000000000000000185
+:10740000010101010101010100000202000001016E
+:107410000100000101010002020202020202020256
+:10742000020202020202020202020202020202023C
+:10743000020202020202020202020202020202022C
+:10744000020202020202020202020202020202021C
+:107450000202020101010102020202020202020210
+:1074600002020201020102020201020202020202FF
+:1074700002020202020201020202020202020202ED
+:1074800002020202020201020101010101010101E5
+:1074900001010101010101000101010101010101DD
+:1074A00001010101010101010101010202020202C7
+:1074B00002020101010101020202020202020202B1
+:1074C000020202020202020202020202020202029C
+:1074D0000202020202010101010101010201010196
+:1074E0000202010101010101010102010202010187
+:1074F0000101010101010100000000000000000085
+:10750000010001010101010100000202000001016E
+:107510000100000101010002020202020202020255
+:10752000020202020202020202020202020202023B
+:10753000020202020202020202020202020202022B
+:10754000020202020202020202020202020202021B
+:10755000020202020202010202020202020202020C
+:1075600002020201020102020202020202020202FD
+:1075700002020202020201020202020202020202EC
+:1075800002020202020202020101020101010101E2
+:1075900001010101010101000101010101010101DC
+:1075A00001010101010101010101010202020202C6
+:1075B00002020101010102020202020202020202AF
+:1075C000020202020202020202020202020202029B
+:1075D0000202020202020201010101010202010192
+:1075E0000202020201010101010102010202010283
+:1075F0000101010101010100000000000000000084
+:107600000000010101010002000001010000010170
+:107610000100000101010002020202020202020254
+:10762000020202020202020202020202020202023A
+:10763000020202020202020202020202020202022A
+:10764000020202020202020202020202020202021A
+:10765000020202020202010202020202020202020B
+:1076600002020201020102020202020202020202FC
+:1076700002020202020202020202020202020202EA
+:1076800002020202020202020101020201010101E0
+:1076900001010101010101000101010101010101DB
+:1076A00001010101010101010101020202020202C4
+:1076B00002020101010102020202020202020202AE
+:1076C000020202020202020202020202020202029A
+:1076D0000202020202020201010101010202020190
+:1076E000020202020202010101010201020202027F
+:1076F0000202020101010100000000000000000080
+:107700000000000101010002000001010000010170
+:107710000100000101010002020202020202020253
+:107720000202020202020202020202020202020239
+:107730000202020202020202020202020202020229
+:107740000202020202020202020202020202020219
+:107750000202020202020202020202020202020209
+:1077600002020201020102020202020202020202FB
+:1077700002020202020202020202020202020202E9
+:1077800002020202020202020202020201010101DD
+:1077900001010101010101000101020101010101D9
+:1077A00001010101010101010102020202020202C2
+:1077B00002020201020202020202020202020202AA
+:1077C0000202020202020202020202020202020299
+:1077D000020202020202020101010101020202028E
+:1077E000020202020202010201010201020202027D
+:1077F000020202020201010000000000000000007D
+:10780000000000010101000200000101000001016F
+:107810000100000101010002020202020202020252
+:107820000202020202020202020202020202020238
+:107830000202020202020202020202020202020228
+:107840000202020202020202020202020202020218
+:107850000202020202020202020202020202020208
+:1078600002020202020202020202020202020202F8
+:1078700002020202020202020202020202020202E8
+:1078800002020202020202020202020201010102DB
+:1078900002010102020101000102020102010101D3
+:1078A00002010202020101010202020202020202BC
+:1078B00002020201020202020202020202020202A9
+:1078C0000202020202020202020202020202020298
+:1078D000020202020202020101010101020202028D
+:1078E000020202020202010201010201020202027C
+:1078F000020202020202020000000000000000007A
+:10790000000000010101000200000101000001016E
+:10791000010002010101000202020202020202024F
+:107920000202020202020202020202020202020237
+:107930000202020202020202020202020202020227
+:107940000202020202020202020202020202020217
+:107950000202020202020202020202020202020207
+:1079600002020202020202020202020202020202F7
+:1079700002020202020202020202020202020202E7
+:1079800002020202020202020202020201010202D9
+:1079900002020202020201000202020102020202CB
+:1079A00002020202020201020202020202020202B8
+:1079B00002020202020202020202020202020202A7
+:1079C0000202020202020202020202020202020297
+:1079D000020202020202020101010101020202028C
+:1079E000020202020202010201010202020202027A
+:1079F0000202020202020200000000000000000079
+:107A00000000000000010001000001010000010170
+:107A1000010002010101000202020202020202024E
+:107A20000202020202020202020202020202020236
+:107A30000202020202020202020202020202020226
+:107A40000202020202020202020202020202020216
+:107A50000202020202020202020202020202020206
+:107A600002020202020202020202020202020202F6
+:107A700002020202020202020202020202020202E6
+:107A800002020202020202020202020202020202D6
+:107A900002020202020201000202020102020202CA
+:107AA00002020202020201020202020202020202B7
+:107AB00002020202020202020202020202020202A6
+:107AC0000202020202020202020202020202020296
+:107AD000020202020202020101010101020202028B
+:107AE0000202020202020202010102020202020278
+:107AF0000202020202020200000000000000000078
+:107B0000000000000001000100000101000001016F
+:107B1000010002010101000202020202020202024D
+:107B20000202020202020202020202020202020235
+:107B30000202020202020202020202020202020225
+:107B40000202020202020202020202020202020215
+:107B50000202020202020202020202020202020205
+:107B600002020202020202020202020202020202F5
+:107B700002020202020202020202020202020202E5
+:107B800002020202020202020202020202020202D5
+:107B900002020202020201010202020102020202C8
+:107BA00002020202020201020202020202020202B6
+:107BB00002020202020202020202020202020202A5
+:107BC0000202020202020202020202020202020295
+:107BD0000202020202020202010102020202020287
+:107BE0000202020202020202010102020202020277
+:107BF0000202020202020200000000000100010075
+:107C0000000000000001000100000101000001016E
+:107C1000010002010101000202020202020202024C
+:107C20000202020202020202020202020202020234
+:107C30000202020202020202020202020202020224
+:107C40000202020202020202020202020202020214
+:107C50000202020202020202020202020202020204
+:107C600002020202020202020202020202020202F4
+:107C700002020202020202020202020202020202E4
+:107C800002020202020202020202020202020202D4
+:107C900002020202020201010202020202020202C6
+:107CA00002020202020201020202020202020202B5
+:107CB00002020202020202020202020202020202A4
+:107CC0000202020202020202020202020202020294
+:107CD0000202020202020202010102020202020286
+:107CE0000202020202020202010102020202020276
+:107CF0000202020202020200000000000100010074
+:107D0000000000000001000100000101020001016B
+:107D1000010001010101000202020202020202024C
+:107D20000202020202020202020202020202020233
+:107D30000202020202020202020202020202020223
+:107D40000202020202020202020202020202020213
+:107D50000202020202020202020202020202020203
+:107D600002020202020202020202020202020202F3
+:107D700002020202020202020202020202020202E3
+:107D800002020202020202020202020202020202D3
+:107D900002020202020202010202020202020202C4
+:107DA00002020202020202020202020202020202B3
+:107DB00002020202020202020202020202020202A3
+:107DC0000202020202020202020202020202020293
+:107DD0000202020202020202020102020202020284
+:107DE0000202020202020202010102020202020275
+:107DF0000202020202020200000000000101010072
+:107E0000000000000000000100000101020001016B
+:107E1000010001010101000202020202020202024B
+:107E20000202020202020202020202020202020232
+:107E30000202020202020202020202020202020222
+:107E40000202020202020202020202020202020212
+:107E50000202020202020202020202020202020202
+:107E600002020202020202020202020202020202F2
+:107E700002020202020202020202020202020202E2
+:107E800002020202020202020202020202020202D2
+:107E900002020202020202010202020202020202C3
+:107EA00002020202020202020202020202020202B2
+:107EB00002020202020202020202020202020202A2
+:107EC0000202020202020202020202020202020292
+:107ED0000202020202020202020202020202020282
+:107EE0000202020202020202010102020202020274
+:107EF0000202020202020200000000000101010071
+:107F0000000000000000000100000101020001016A
+:107F10000102010101010002020202020202020248
+:107F20000202020202020202020202020202020231
+:107F30000202020202020202020202020202020221
+:107F40000202020202020202020202020202020211
+:107F50000202020202020202020202020202020201
+:107F600002020202020202020202020202020202F1
+:107F700002020202020202020202020202020202E1
+:107F800002020202020202020202020202020202D1
+:107F900002020202020202020202020202020202C1
+:107FA00002020202020202020202020202020202B1
+:107FB00002020202020202020202020202020202A1
+:107FC0000202020202020202020202020202020291
+:107FD0000202020202020202020202020202020281
+:107FE0000202020202020202010102020202020273
+:107FF0000202020202020200000000000101010070
+:108000000000000000000001000001010200010169
+:108010000102010101010002020202020202020247
+:108020000202020202020202020202020202020230
+:108030000202020202020202020202020202020220
+:108040000202020202020202020202020202020210
+:108050000202020202020202020202020202020200
+:1080600002020202020202020202020202020202F0
+:1080700002020202020202020202020202020202E0
+:1080800002020202020202020202020202020202D0
+:1080900002020202020202020202020202020202C0
+:1080A00002020202020202020202020202020202B0
+:1080B00002020202020202020202020202020202A0
+:1080C0000202020202020202020202020202020290
+:1080D0000202020202020202020202020202020280
+:1080E0000202020202020202020202020202020270
+:1080F000020202020202020000000000010101006F
+:108100000000000000000001000001010100010169
+:108110000101020101010002020202020202020246
+:10812000020202020202020202020202020202022F
+:10813000020202020202020202020202020202021F
+:10814000020202020202020202020202020202020F
+:1081500002020202020202020202020202020202FF
+:1081600002020202020202020202020202020202EF
+:1081700002020202020202020202020202020202DF
+:1081800002020202020202020202020202020202CF
+:1081900002020202020202020202020202020202BF
+:1081A00002020202020202020202020202020202AF
+:1081B000020202020202020202020202020202029F
+:1081C000020202020202020202020202020202028F
+:1081D000020202020202020202020202020202027F
+:1081E000020202020202020202020202020202026F
+:1081F000020202020202020000000000010101006E
+:108200000000000000000001000001010100010168
+:108210000101020101010002020202020202020245
+:10822000020202020202020202020202020202022E
+:10823000020202020202020202020202020202021E
+:10824000020202020202020202020202020202020E
+:1082500002020202020202020202020202020202FE
+:1082600002020202020202020202020202020202EE
+:1082700002020202020202020202020202020202DE
+:1082800002020202020202020202020202020202CE
+:1082900002020202020202020202020202020202BE
+:1082A00002020202020202020202020202020202AE
+:1082B000020202020202020202020202020202029E
+:1082C000020202020202020202020202020202028E
+:1082D000020202020202020202020202020202027E
+:1082E000020202020202020202020202020202026E
+:1082F000020202020202020000000000010101006D
+:108300000000000000000001000201010100010165
+:108310000101020101010000020202020202020246
+:10832000020202020202020202020202020202022D
+:10833000020202020202020202020202020202021D
+:10834000020202020202020202020202020202020D
+:1083500002020202020202020202020202020202FD
+:1083600002020202020202020202020202020202ED
+:1083700002020202020202020202020202020202DD
+:1083800002020202020202020202020202020202CD
+:1083900002020202020202020202020202020202BD
+:1083A00002020202020202020202020202020202AD
+:1083B000020202020202020202020202020202029D
+:1083C000020202020202020202020202020202028D
+:1083D000020202020202020202020202020202027D
+:1083E000020202020202020202020202020202026D
+:1083F000020202020202020202020202020202025D
+:108400000202020202020201000201010100010156
+:10841000010102010101000000000000020202024D
+:10842000020202020202020202020202020202022C
+:10843000020202020202020202020202020202021C
+:10844000020202020202020202020202020202020C
+:1084500002020202020202020202020202020202FC
+:1084600002020202020202020202020202020202EC
+:1084700002020202020202020202020202020202DC
+:1084800002020202020202020202020202020202CC
+:1084900002020202020202020202020202020202BC
+:1084A00002020202020202020202020202020202AC
+:1084B000020202020202020202020202020202029C
+:1084C000020202020202020202020202020202028C
+:1084D000020202020202020202020202020202027C
+:1084E000020202020202020202020202020202026C
+:1084F000020202020202020202020202020202025C
+:108500000202020202020201000201010202010053
+:108510000102010101010000000000000000020250
+:10852000020002020202020202020202020202022D
+:10853000020202020202020202020202020202021B
+:10854000020202020202020202020202020202020B
+:1085500002020202020202020202020202020202FB
+:1085600002020202020202020202020202020202EB
+:1085700002020202020202020202020202020202DB
+:1085800002020202020202020202020202020202CB
+:1085900002020202020202020202020202020202BB
+:1085A00002020202020202020202020202020202AB
+:1085B000020202020202020202020202020202029B
+:1085C000020202020202020202020202020202028B
+:1085D000020202020202020202020202020202027B
+:1085E000020202020202020202020202020202026B
+:1085F000020202020202020202020202020202025B
+:108600000202020202020201000201010202000053
+:108610000102010101010001000000000000000052
+:10862000020002000202020202020202020202022E
+:10863000020202020202020202020202020202021A
+:10864000020202020202020202020202020202020A
+:1086500002020202020202020202020202020202FA
+:1086600002020202020202020202020202020202EA
+:1086700002020202020202020202020202020202DA
+:1086800002020202020202020202020202020202CA
+:1086900002020202020202020202020202020202BA
+:1086A00002020202020202020202020202020202AA
+:1086B000020202020202020202020202020202029A
+:1086C000020202020202020202020202020202028A
+:1086D000020202020202020202020202020202027A
+:1086E000020202020202020202020202020202026A
+:1086F000020202020202020202020202020202025A
+:108700000202020202020201000201010201000053
+:10871000000201000101000101010101000000004F
+:108720000000000000000002020202020202020237
+:108730000202020202020202020202020202020219
+:108740000202020202020202020202020202020209
+:1087500002020202020202020202020202020202F9
+:1087600002020202020202020202020202020202E9
+:1087700002020202020202020202020202020202D9
+:1087800002020202020202020202020202020202C9
+:1087900002020202020202020202020202020202B9
+:1087A00002020202020202020202020202020202A9
+:1087B0000202020202020202020202020202020299
+:1087C0000202020202020202020202020202020289
+:1087D0000202020202020202020202020202020279
+:1087E0000202020202020202020202020202020269
+:1087F0000202020202020202020202020202020259
+:108800000202020202020201000100000201000055
+:10881000000201000101000101010101010100004C
+:108820000001000000000002020202020202020235
+:108830000202020202020202020202020202020218
+:108840000202020202020202020202020202020208
+:1088500002020202020202020202020202020202F8
+:1088600002020202020202020202020202020202E8
+:1088700002020202020202020202020202020202D8
+:1088800002020202020202020202020202020202C8
+:1088900002020202020202020202020202020202B8
+:1088A00002020202020202020202020202020202A8
+:1088B0000202020202020202020202020202020298
+:1088C0000202020202020202020202020202020288
+:1088D0000202020202020202020202020202020278
+:1088E0000202020202020202020202020202020268
+:1088F0000202020202020202020202020202020258
+:108900000202020202020201000100000101000055
+:10891000000101000100000101010101010101014B
+:108920000001000100000002020202020202020233
+:108930000202020202020202020202020202020217
+:108940000202020202020202020202020202020207
+:1089500002020202020202020202020202020202F7
+:1089600002020202020202020202020202020202E7
+:1089700002020202020202020202020202020202D7
+:1089800002020202020202020202020202020202C7
+:1089900002020202020202020202020202020202B7
+:1089A00002020202020202020202020202020202A7
+:1089B0000202020202020202020202020202020297
+:1089C0000202020202020202020202020202020287
+:1089D0000202020202020202020202020202020277
+:1089E0000202020202020202020202020202020267
+:1089F0000202020202020202020202020202020257
+:108A00000202020202020200000100000102000054
+:108A10000101010101010001010101010101010147
+:108A2000010101010101010002020202020202022F
+:108A30000202020202020200020202020202020218
+:108A40000202020202020202020202020202020206
+:108A500002020202020202020202020202020202F6
+:108A600002020202020202020202020202020202E6
+:108A700002020202020202020202020202020202D6
+:108A800002020202020202020202020202020202C6
+:108A900002020202020202020202020202020202B6
+:108AA00002020202020202020202020202020202A6
+:108AB0000202020202020202020202020202020296
+:108AC0000202020202020202020202020202020286
+:108AD0000202020202020202020202020202020276
+:108AE0000202020202020202020202020202020266
+:108AF0000202020202020202020202020202020256
+:108B0000020202020202020002020000010200014F
+:108B10000101010101010001010101010101010146
+:108B2000010101010101010002020202020202022E
+:108B30000202020202020200020202020202020217
+:108B40000202020202020202020202020202020205
+:108B500002020202020202020202020202020202F5
+:108B600002020202020202020202020202020202E5
+:108B700002020202020202020202020202020202D5
+:108B800002020202020202020202020202020202C5
+:108B900002020202020202020202020202020202B5
+:108BA00002020202020202020202020202020202A5
+:108BB0000202020202020202020202020202020295
+:108BC0000202020202020202020202020202020285
+:108BD0000202020202020202020202020202020275
+:108BE0000202020202020202020202020202020265
+:108BF0000202020202020202020202020202020255
+:108C0000020202020202020002020000010201014D
+:108C10000101010101010001010101010101010145
+:108C2000010101010101010102020202020202022C
+:108C3000020202020202020000000000020202021E
+:108C40000202020202020202020202020202020204
+:108C500002020202020202020202020202020202F4
+:108C600002020202020202020202020202020202E4
+:108C700002020202020202020202020202020202D4
+:108C800002020202020202020202020202020202C4
+:108C900002020202020202020202020202020202B4
+:108CA00002020202020202020202020202020202A4
+:108CB0000202020202020202020202020202020294
+:108CC0000202020202020202020202020202020284
+:108CD0000202020202020202020202020202020274
+:108CE0000202020202020202020202020202020264
+:108CF0000202020202020202020202020202020254
+:108D0000020202020202020002020000010101014D
+:108D10000101010101010001010101010101010144
+:108D20000101010101010101000000000000000239
+:108D30000200020202020201000000000002000222
+:108D40000200020202020202020202020202020205
+:108D500002020202020202020202020202020202F3
+:108D600002020202020202020202020202020202E3
+:108D700002020202020202020202020202020202D3
+:108D800002020202020202020202020202020202C3
+:108D900002020202020202020202020202020202B3
+:108DA00002020202020202020202020202020202A3
+:108DB0000202020202020202020202020202020293
+:108DC0000202020202020202020202020202020283
+:108DD0000202020202020202020202020202020273
+:108DE0000202020202020202020202020202020263
+:108DF0000202020202020202020202020202020253
+:108E0000020202020202020001010000010101014E
+:108E10000101010101010101010101010101010142
+:108E2000010101010101010100000000000000003A
+:108E3000000000000000020100000000000000002F
+:108E40000000000000000002020202020202020210
+:108E500002020202020202020202020202020202F2
+:108E600002020202020202020202020202020202E2
+:108E700002020202020202020202020202020202D2
+:108E800002020202020202020202020202020202C2
+:108E900002020202020202020202020202020202B2
+:108EA00002020202020202020202020202020202A2
+:108EB0000202020202020202020202020202020292
+:108EC0000202020202020202020202020202020282
+:108ED0000202020202020202020202020202020272
+:108EE0000202020202020202020202020202020262
+:108EF0000202020202020202020202020202020252
+:108F0000020202020202020001010001010101014C
+:108F10000101000101010101010101010101010142
+:108F20000101010101010101010101010101010032
+:108F3000000100000000000101010101000000002B
+:108F4000000000000000000202020202020202020F
+:108F500002020202020202020202020202020202F1
+:108F600002020202020202020202020202020202E1
+:108F700002020202020202020202020202020202D1
+:108F800002020202020202020202020202020202C1
+:108F900002020202020202020202020202020202B1
+:108FA00002020202020202020202020202020202A1
+:108FB0000202020202020202020202020202020291
+:108FC0000202020202020202020202020202020281
+:108FD0000202020202020202020202020202020271
+:108FE0000202020202020202020202020202020261
+:108FF0000202020202020202020202020202020251
+:109000000202020202020200020101010101010149
+:109010000101000101010101010101010101010141
+:109020000101010101010101010101010101010130
+:109030000101010101010001010101010100010023
+:10904000000100000000000102020202020202020E
+:1090500002020202020202020202020202020202F0
+:1090600002020202020202010202020202020202E1
+:1090700002020202020202020202020202020202D0
+:1090800002020202020202020202020202020202C0
+:1090900002020202020202020202020202020202B0
+:1090A00002020202020202020202020202020202A0
+:1090B0000202020202020202020202020202020290
+:1090C0000202020202020202020202020202020280
+:1090D0000202020202020202020202020202020270
+:1090E0000202020202020202020202020202020260
+:1090F0000202020202020202020202020202020250
+:109100000202020202020201020101010001010148
+:109110000101000101010101010101010101010140
+:10912000010101010101010101010101010101012F
+:10913000010101010101010101010101010101011F
+:10914000010101010101010100020102020102020B
+:1091500002020202020202020202020202020202EF
+:1091600002020202020202020102010102010102E4
+:1091700002020202020202020202020202020202CF
+:1091800002020202020202020202020202020202BF
+:1091900002020202020202020202020202020202AF
+:1091A000020202020202020202020202020202029F
+:1091B000020202020202020202020202020202028F
+:1091C000020202020202020202020202020202027F
+:1091D000020202020202020202020202020202026F
+:1091E000020202020202020202020202020202025F
+:1091F000020202020202020202020202020202024F
+:109200000202020202020201010101010001010148
+:109210000100000101010101010101010101010140
+:10922000010101010101010101010101010101012E
+:10923000010101010101010101010101010101011E
+:10924000010101010101010100010101010102010E
+:1092500001010102020202000000020202020202F7
+:1092600002020202020202010201020201020201E2
+:1092700001010101010101000000020202020202DB
+:1092800002020202020202020202020202020202BE
+:1092900002020202020202020202020202020202AE
+:1092A000020202020202020202020202020202029E
+:1092B000020202020202020202020202020202028E
+:1092C000020202020202020202020202020202027E
+:1092D000020202020202020202020202020202026E
+:1092E000020202020202020202020202020202025E
+:1092F000020202020202020202020202020202024E
+:109300000202020202020201010101010000010148
+:10931000010000010101010101010101010101013F
+:10932000010101010101010101010101010101012D
+:10933000010101010101010101010101010101011D
+:10934000010101010101010101010101010101010D
+:109350000101010101010100000000000000000006
+:1093600000000002000200010102010102010102ED
+:1093700002020202020202000000000000000000DF
+:1093800000000000000000020202020202020202CB
+:1093900002020202020202020202020202020202AD
+:1093A000020202020202020202020202020202029D
+:1093B000020202020202020202020202020202028D
+:1093C000020202020202020202020202020202027D
+:1093D000020202020202020202020202020202026D
+:1093E000020202020202020202020202020202025D
+:1093F000020202020202020202020202020202024D
+:109400000202020202020201010001010000010148
+:10941000010000010101010101010101010101013E
+:10942000010101010101010101010101010101012C
+:10943000010101010101010101010101010101011C
+:10944000010101010101010101010101010101010C
+:109450000101010101010100000000000000000005
+:1094600000000000000000010101010101010101F3
+:1094700001010101010101000000000000000000E5
+:1094800000000000000000020101010102020202CE
+:1094900002020202020202020202020202020202AC
+:1094A000020202020202020202020202020202029C
+:1094B000020202020202020202020202020202028C
+:1094C000020202020202020202020202020202027C
+:1094D000020202020202020202020202020202026C
+:1094E000020202020202020202020202020202025C
+:1094F000020202020202020202020202020202024C
+:109500000202020202020201010001010000010147
+:10951000010000010101010101010101010101013D
+:10952000010101010101010101010101010101012B
+:10953000010101010101010101010101010101011B
+:10954000010101010101010101010101010101010B
+:109550000101010101010101010100000000000001
+:1095600000000000000000010101010101010101F2
+:1095700001010101010101010101000000000000E1
+:1095800000000000000000020202020202020202C9
+:1095900002020202020202020101010202020202AE
+:1095A000020202020202020202020202020202029B
+:1095B000020202020202020000000000000000009D
+:1095C0000000000000000002020202020202020289
+:1095D000020202020202020202020202020202026B
+:1095E000020202020202020202020202020202025B
+:1095F000020202020202020202020202020202024B
+:109600000202020202020201000001010000010147
+:10961000010000010101010101010101010101013C
+:10962000010101010101010101010101010101012A
+:10963000010101010101010101010101010101011A
+:10964000010101010101010101010101010101010A
+:1096500001010101010101010101010101010101FA
+:1096600001010100010001010101010101010101EC
+:1096700001010101010101010101010101010101DA
+:1096800001010101010101010000000001010101CE
+:1096900001010101010101020202020202020202B1
+:1096A000020202020202020202020202020202029A
+:1096B000020202020202020000000000000000009C
+:1096C0000000000000000002020202020202020288
+:1096D000020202020202020202020202020202026A
+:1096E000020202020202020202020202020202025A
+:1096F000020202020202020202020202020202024A
+:109700000202020202020201000001010000010146
+:10971000010001010101010101010101010101013A
+:109720000101010101010101010101010101010129
+:109730000101010101010101010101010101010119
+:109740000101010101010101010101010101010109
+:1097500001010101010101010101010101010101F9
+:1097600001010101010101010101010101010101E9
+:1097700001010101010101010101010101010101D9
+:1097800001010101010101010000000002020202C9
+:1097900002020202020202010000000101010101B5
+:1097A00001010101010101020202020202020202A0
+:1097B000020202000202020000000000000000009D
+:1097C0000000000000000002020202020202020287
+:1097D0000202020202020202020202020202020269
+:1097E0000202020202020202020202020202020259
+:1097F0000202020202020200000200020000000255
+:109800000202020202020201000001010000010145
+:109810000100010101010101010101010101010139
+:109820000101010101010101010101010101010128
+:109830000101010101010101010101010101010118
+:109840000101010101010101010101010101010108
+:1098500001010101010101010101010101010101F8
+:1098600001010101010101010101010101010101E8
+:1098700001010101010101010101010101010101D8
+:1098800001010101010101010101010101010101C8
+:1098900001010101010101020000000202020202B5
+:1098A0000202020202020202020202020202020298
+:1098B0000202010001010201010101010101010196
+:1098C0000101010101010101010101010101010188
+:1098D000010101010101010202020202020202026F
+:1098E0000202020202020202020202020202020258
+:1098F0000202020202020200000200020000000254
+:109900000202020202020201000001010100010143
+:109910000101010101010101010101010101010137
+:109920000101010101010101010101010101010127
+:109930000101010101010101010101010101010117
+:109940000101010101010101010101010101010107
+:1099500001010101010101010101010101010101F7
+:1099600001010101010101010101010101010101E7
+:1099700001010101010101010101010101010101D7
+:1099800001010101010101010101010101010101C7
+:1099900001010101010101010101010101010101B7
+:1099A00001010101010101010101010101010101A7
+:1099B0000101020002020101010101010101010195
+:1099C000010101010101010202020202020202027E
+:1099D0000202020202020202020202020202020267
+:1099E0000202020202020202020202020202020257
+:1099F0000202020202020200000000000000000257
+:109A00000202020202020201000001010100010142
+:109A10000101010101010101010101010101010136
+:109A20000101010101010101010101010101010126
+:109A30000101010101010101010101010101010116
+:109A40000101010101010101010101010101010106
+:109A500001010101010101010101010101010101F6
+:109A600001010101010101010101010101010101E6
+:109A700001010101010101010101010101010101D6
+:109A800001010101010101010101010101010101C6
+:109A900001010101010101010101010101010101B6
+:109AA00001010101010101010101010101010101A6
+:109AB0000101010101010101010101010101010196
+:109AC0000101010101010101010101010101010186
+:109AD000010101010101010202020202020202026D
+:109AE0000202020202020202020202020202020256
+:109AF0000202020202020200000000000000000256
+:109B00000202020202020201000001010101010140
+:109B10000101010101010101010101010101010135
+:109B20000101010101010101010101010101010125
+:109B30000101010101010101010101010101010115
+:109B40000101010101010101010101010101010105
+:109B500001010101010101010101010101010101F5
+:109B600001010101010101010101010101010101E5
+:109B700001010101010101010101010101010101D5
+:109B800001010101010101010101010101010101C5
+:109B900001010101010101010101010101010101B5
+:109BA00001010101010101010101010101010101A5
+:109BB0000101010101010101010101010101010195
+:109BC0000101010101010101010101010101010185
+:109BD0000101010101010101010101010101010175
+:109BE000010101010101010202020202020202025C
+:109BF0000202020202020200000000000000000255
+:109C00000000020202020201000101010101010142
+:109C10000101010101010101010101010101010134
+:109C20000101010101010101010101010101010124
+:109C30000101010101010101010101010101010114
+:109C40000101010101010101010101010101010104
+:109C500001010101010101010101010101010101F4
+:109C600001010101010101010101010101010101E4
+:109C700001010101010101010101010101010101D4
+:109C800001010101010101010101010101010101C4
+:109C900001010101010101010101010101010101B4
+:109CA00001010101010101010101010101010101A4
+:109CB0000101010101010101010101010101010194
+:109CC0000101010101010101010101010101010184
+:109CD0000101010101010101010101010101010174
+:109CE0000101010101010101010101010101010164
+:109CF000010101010101010000000000000000005D
+:109D00000000000202020201000101010101010143
+:109D10000101010101010101010101010101010133
+:109D20000101010101010101010101010101010123
+:109D30000101010101010101010101010101010113
+:109D40000101010101010101010101010101010103
+:109D500001010101010101010101010101010101F3
+:109D600001010101010101010101010101010101E3
+:109D700001010101010101010101010101010101D3
+:109D800001010101010101010101010101010101C3
+:109D900001010101010101010101010101010101B3
+:109DA00001010101010101010101010101010101A3
+:109DB0000101010101010101010101010101010193
+:109DC0000101010101010101010101010101010183
+:109DD0000101010101010101010101010101010173
+:109DE0000101010101010101010101010101010163
+:109DF000010101010101010000000000000000005C
+:109E00000000000202020201010101010101010141
+:109E10000101010101010101010101010101010132
+:109E20000101010101010101010101010101010122
+:109E30000101010101010101010101010101010112
+:109E40000101010101010101010101010101010102
+:109E500001010101010101010101010101010101F2
+:109E600001010101010101010101010101010101E2
+:109E700001010101010101010101010101010101D2
+:109E800001010101010101010101010101010101C2
+:109E900001010101010101010101010101010101B2
+:109EA00001010101010101010101010101010101A2
+:109EB0000101010101010101010101010101010192
+:109EC0000101010101010101010101010101010182
+:109ED0000101010101010101010101010101010172
+:109EE0000101010101010101010101010101010162
+:109EF000010101010101010000000000000000005B
+:109F00000000000000020201010101010101010144
+:109F1000010101010101010000000000000000003A
+:109F20000000000000000000000000000000000031
+:109F3000000000000000000202020202020202020F
+:109F400002020202020202020202020202020202F1
+:109F500002020202020202020202020202020202E1
+:109F600002020202020202020202020202020202D1
+:109F700002020202020202020202020202020202C1
+:109F800002020202020202020202020202020202B1
+:109F900002020202020202020202020202020202A1
+:109FA0000202020202020202020202020202020291
+:109FB0000202020202020202020202020202020281
+:109FC0000202020202020202020202020202020271
+:109FD0000202020202020202020202020202020261
+:109FE0000202020202020202020202020202020251
+:109FF0000202020202020200000000000000000053
+:10A000000000000000020201010101010101010143
+:10A010000101010101010100000000000000000039
+:10A020000000000000000000000000000000000030
+:10A030000000000000000000000000000000000020
+:10A040000000000000000000000000000000000010
+:10A050000000000000000000000000000000000000
+:10A0600000000000000000020202020202020202DE
+:10A0700002020202020202020202020202020202C0
+:10A0800002020202020202020202020202020202B0
+:10A0900002020202020202020202020202020202A0
+:10A0A0000202020202020202020202020202020290
+:10A0B0000202020202020202020202020202020280
+:10A0C0000202020202020202020202020202020270
+:10A0D0000202020202020202020202020202020260
+:10A0E0000202020202020202020202020202020250
+:10A0F0000202020202020200000000000000000052
+:10A100000000000000020201010101010101010142
+:10A110000101010101010100000000000000000038
+:10A12000000000000000000000000000000000002F
+:10A13000000000000000000000000000000000001F
+:10A14000000000000000000000000000000000000F
+:10A1500000000000000000000000000000000000FF
+:10A1600000000000000000000000000000000000EF
+:10A1700000000000000000000000000000000000DF
+:10A1800000000000000000000000000000000000CF
+:10A1900000000000000000000000000000000000BF
+:10A1A00000000000000000000000000000000000AF
+:10A1B000000000000000000202020202020202028D
+:10A1C000020202020202020202020202020202026F
+:10A1D000020202020202020202020202020202025F
+:10A1E000020202020202020202020202020202024F
+:10A1F0000202020202020200000000000000000051
+:10A20000000000000000020000000000000000004C
+:10A21000000000000000000000000000000000003E
+:10A22000000000000000000000000000000000002E
+:10A23000000000000000000000000000000000001E
+:10A24000000000000000000000000000000000000E
+:10A2500000000000000000000000000000000000FE
+:10A2600000000000000000000000000000000000EE
+:10A2700000000000000000000000000000000000DE
+:10A2800000000000000000000000000000000000CE
+:10A2900000000000000000000000000000000000BE
+:10A2A00000000000000000000000000000000000AE
+:10A2B000000000000000000000000000000000009E
+:10A2C000000000000000000000000000000000008E
+:10A2D000000000000000000000000000000000007E
+:10A2E000000000000000000000000000000000006E
+:10A2F000000000000000000000000000000000005E
+:10A300000000000000000038A30D00000000004025
+:10A310003C0E000000000048C40E00000000005089
+:10A320002A0F0000000000588F0F0000000000609E
+:10A33000E30F000000000068211000000000007022
+:10A340005C10000000000078931000000000008006
+:10A35000C610000000000088F91000000000009006
+:10A3600037110000000000988A110000000000A0D2
+:10A37000DD11000000000099000000000000000056
+:10A3800000000000000000000000000000000000CD
+:10A3900000000000000000000000000000000000BD
+:10A3A00000000000000000000000010001010100A9
+:10A3B000000000000000000000000000000000009D
+:10A3C000000000000000000000000000000000008D
+:10A3D000000000000000000000000000000000007D
+:10A3E000000000000000000000000000000000006D
+:10A3F000000000000000000000000000000000005D
+:10A40000000000000000000000000000000000004C
+:10A41000000000000000000000000000000000003C
+:10A42000000000000000000000000000000000002C
+:10A43000000000000000000000000000000000001C
+:10A44000000000000000000000000000000000010B
+:10A4500000000000000000000000000000000000FC
+:10A4600000000000000000000000000000000000EC
+:10A4700000000001000100010001000000000000D8
+:10A4800000000000000000000000000000000000CC
+:10A4900000000000000000000000000000000000BC
+:10A4A00000000000000000000000010001010100A8
+:10A4B000000000000000000000000000000000009C
+:10A4C000000000000000000000000000000001008B
+:10A4D000000000000000000000000000010000007B
+:10A4E000000000000000000000000000000000006C
+:10A4F000000000000000000000000000000000005C
+:10A50000000000000000000000000000000000004B
+:10A51000000000000000000000000000000000003B
+:10A52000000000000000000000000000000000002B
+:10A53000000000000000000000000000000000001B
+:10A54000000000000000000000000000000000010A
+:10A5500000000000000000000000000000000000FB
+:10A5600000000000000000000000000000000000EB
+:10A5700000000001000100010101000000010000D5
+:10A5800000000000000000000000000000010000CA
+:10A5900001000000000000000100000000010100B7
+:10A5A00000000000000000000000010001010100A7
+:10A5B000000000000000000000000001000000009A
+:10A5C0000000000000000000000000010000010089
+:10A5D000000000000000000000000000010000007A
+:10A5E000000000000000000000000000000000006B
+:10A5F000000000000000000000000000000000005B
+:10A60000000000000000000000000000000000004A
+:10A61000000000000000000000000000000000003A
+:10A62000000000000000000000000000000000002A
+:10A63000000000000000000000000000000000001A
+:10A640000000000000000000000000000000000109
+:10A6500000000000000000000000000000000000FA
+:10A6600000000000000000000000000000000000EA
+:10A6700000000001000100010101000100010000D3
+:10A6800000000000000000000000000000010000C9
+:10A6900001000000000000000100000000010100B6
+:10A6A00000000000000001000000010001010100A5
+:10A6B0000000000000000000000000010100010097
+:10A6C0000000000000000000000000010100010087
+:10A6D0000000000000000000000000000100010078
+:10A6E000000000000000000000000000000000006A
+:10A6F000000000000000000000000000000000005A
+:10A700000000000000000000000000000000000049
+:10A710000000000000000000000000000000000039
+:10A720000000000000000000000000000000010028
+:10A730000000000000000000000000000000000019
+:10A740000000000000000000000000000000000108
+:10A7500000000000000000000000000000000000F9
+:10A7600000000000000000000000000000000000E9
+:10A7700001000001000100010101000100010000D1
+:10A7800001000000000000000000000000010001C6
+:10A7900001000000000000000100000000010100B5
+:10A7A00000000000000001000000010001010100A4
+:10A7B0000000000000000000000000010100010096
+:10A7C0000000000000000000000000010100010086
+:10A7D0000000000000000000000000000100010077
+:10A7E0000000000000000000000000000000000069
+:10A7F0000000000000000000000000000000000059
+:10A800000000000000000000000000000000000048
+:10A810000000000000000000000000000000000038
+:10A820000000000000000000000000000000010027
+:10A830000000000000000000000000000000000018
+:10A840000000000000000000000000000000000107
+:10A8500000000000000000000000000000000000F8
+:10A8600000000000000000000000000000000000E8
+:10A8700001010001000101010101000100010000CE
+:10A8800001000000000100000000000000010001C4
+:10A8900001000000000000000100000000010100B4
+:10A8A00000000000000001000000010101010101A1
+:10A8B0000100000000000000000000010101010093
+:10A8C0000000000000000000000000010100010085
+:10A8D0000000000000000000000000000100010076
+:10A8E0000000000000000000000000000000000068
+:10A8F0000000000000000000000000000000010057
+:10A900000000000000000000010000000000010045
+:10A910000000000000000000000000000000010036
+:10A920000000000000000000000000000000010026
+:10A930000000000000000000000000000000000017
+:10A940000000000000000000000000000000000106
+:10A9500000000000000000000000000000000000F7
+:10A9600000000000000000000000000000000000E7
+:10A9700001010001000101010101010100010000CC
+:10A9800001000000000100000000000000010001C3
+:10A9900001000000000000000100000000010100B3
+:10A9A00000000000000001000000010101010101A0
+:10A9B0000100000000000000000000010101010092
+:10A9C0000000000000000000000000010100010084
+:10A9D0000000000000000000000000000100010075
+:10A9E0000000000000000000000000000000000067
+:10A9F0000000000000000000000000000000010056
+:10AA00000000000000000000010000000000010044
+:10AA10000000000000000000000000000000010035
+:10AA20000000000000000000000000000000010025
+:10AA30000000000000000000000000000000000016
+:10AA40000000000000000000000000000000000105
+:10AA500000000000000000000000000000000000F6
+:10AA600000000000000000000000000000000000E6
+:10AA700001010001000101010101010100010000CB
+:10AA800001000000000100000000000000010001C2
+:10AA900001000000000000000100000000010100B2
+:10AAA000000000000000010000000101010101019F
+:10AAB0000100000000000000000000010101010091
+:10AAC0000000000000000000000001010101010081
+:10AAD0000000000000000000000000000100010074
+:10AAE0000000000000000000000000000000000066
+:10AAF0000000000000000000000000000000010055
+:10AB00000000000000000000010000000000010043
+:10AB10000000000000000000000000000000010034
+:10AB20000000000000000000000000000000010024
+:10AB30000000000000000000000000000000000015
+:10AB40000000000000000000000000000000000104
+:10AB500000000000000000000000000000000000F5
+:10AB600000000000000000000000000000000000E5
+:10AB700001010001000101010101010101010000C9
+:10AB800001000000000100000000000000010001C1
+:10AB900001000000000000000100000001010100B0
+:10ABA000010000000000010000000101010101019D
+:10ABB000010000000001010000000001010101008E
+:10ABC000000001000000000000000101010101007F
+:10ABD0000000000001000000000000000100010072
+:10ABE0000000000000000000000000000000000065
+:10ABF0000000000000000000000000000000010054
+:10AC00000000000000000000010000000000010042
+:10AC10000000000000000000000000000000010033
+:10AC20000000000000000000000000000000010023
+:10AC30000000000000000000000000000000000014
+:10AC40000000000000000000000000000000000103
+:10AC500000000000000000000000000000000100F3
+:10AC600000000000000000000000000000000000E4
+:10AC700001010101010101010101010101010000C6
+:10AC800001000000000100000000000000010001C0
+:10AC900001000000000000000100000001010100AF
+:10ACA000010000000000010000000101010101019C
+:10ACB000010000000001010000000001010101008D
+:10ACC000000001000000000000000101010101017D
+:10ACD0000000000001000000000001000100010070
+:10ACE0000000000000000000000000000000000064
+:10ACF0000000000000000000000000000000010053
+:10AD00000000000000000000010000000000010041
+:10AD10000000000000000000000000000000010032
+:10AD20000000000000000000000000000000010022
+:10AD30000000000000000000000000000000000013
+:10AD40000000000000000000000000000000010101
+:10AD500000000000000000000000000000000100F2
+:10AD600000000000000000000000000000000000E3
+:10AD700001010101010101010101010101010100C4
+:10AD800001000000000100000000000000010001BF
+:10AD900001000000000000000100000001010100AE
+:10ADA000010000000000010000000101010101019B
+:10ADB000010000000001010000000001010101008C
+:10ADC000000001000000000000000101010101017C
+:10ADD000000000000100000000000101010001006E
+:10ADE0000000000000000000000000000000010062
+:10ADF0000000000000000000000000000000010052
+:10AE00000000000000000000010000000000010040
+:10AE10000000000000000000000000000000010031
+:10AE20000000000000000000000000000000010021
+:10AE30000000000000000000000000000000010011
+:10AE40000000000000000000000000000000010100
+:10AE500000000000000000000000000000000100F1
+:10AE600000000000000000000000000000000000E2
+:10AE700001010101010101010101010101010100C3
+:10AE800001000000000100000000000000010001BE
+:10AE900001000000000000000100000001010100AD
+:10AEA000010000000000010000000101010101019A
+:10AEB0000100000000010100000001010101010189
+:10AEC000000001000000000000000101010101017B
+:10AED000000000000100000000000101010001006D
+:10AEE0000000000000000000000000000000010061
+:10AEF0000000000000000000000000000000010051
+:10AF0000000000000000000001000000000001003F
+:10AF10000000000000000000000000000000010030
+:10AF20000000000000000000000000000000010020
+:10AF30000000000000000000000000000000010010
+:10AF400000000000000000000000000000000101FF
+:10AF500000000000000000000000000000000100F0
+:10AF600000000000000000000000000000000000E1
+:10AF700001010101010101010101010101010101C1
+:10AF800001000000000100000000000000010001BD
+:10AF900001000000000000000100000001010100AC
+:10AFA0000100000000000100010001010101010198
+:10AFB0000100000000010100000001010101010188
+:10AFC000000001000000000000000101010101017A
+:10AFD000000000000100000000000101010001016B
+:10AFE0000000000000000000000000000000010060
+:10AFF0000000000000000000000000000000010050
+:10B00000000000000000000001000000000001003E
+:10B01000000000000000000000000000000001002F
+:10B02000000000000000000000000000000001001F
+:10B03000000000000000000000000000000001000F
+:10B0400000000000000000000000000000000101FE
+:10B0500000000000000000000000000000000100EF
+:10B0600000000000000000000000000000000000E0
+:10B0700001010101010101010101010101010101C0
+:10B0800001000000000100000000000000010001BC
+:10B0900001000101000000000100000001010100A9
+:10B0A0000100000000000100010001010101010197
+:10B0B0000100000000010100000001010101010187
+:10B0C0000000010000000000000001010101010179
+:10B0D000000000000100000000000101010001016A
+:10B0E000000000000000000000000000000001005F
+:10B0F000000000000000000000000000000001004F
+:10B10000000000000000000001000000000001003D
+:10B11000000000000000000000000000000001002E
+:10B12000000000000000000000000000000101001D
+:10B13000000000000000000000000000000001000E
+:10B1400000000000000000000000000000000101FD
+:10B1500000000000000000000000000000000100EE
+:10B1600000000000000000000000000000000100DE
+:10B1700001010101010101010101010101010101BF
+:10B1800001000000000100000000000000010001BB
+:10B1900001000101000000000100000001010101A7
+:10B1A0000100000000000100010001010101010196
+:10B1B0000100000000010101000001010101010185
+:10B1C0000000010000010000000001010101010177
+:10B1D0000000000001000000000001010100010169
+:10B1E000000000000000000000000000000101005D
+:10B1F000000000000000000000000000000001004E
+:10B20000000000000000000001000000000001003C
+:10B21000000000000000000000000000000001002D
+:10B22000000000000000000000000000000101001C
+:10B23000000000000000000000000000000001000D
+:10B2400000000000000000000000000000000101FC
+:10B2500000000000000000000000000000000100ED
+:10B2600000000000000000000000000000000100DD
+:10B2700001010101010101010101010101010101BE
+:10B2800001010000000100000000000000010001B9
+:10B2900001000101000000000100000001010101A6
+:10B2A0000100000000000100010001010101010195
+:10B2B0000100000000010101000001010101010184
+:10B2C0000000010000010000000001010101010176
+:10B2D0000000000001000000000001010100010168
+:10B2E000000000000000000000000000000101015B
+:10B2F000000000000000000000000000000001004D
+:10B30000000000000000000001000000000001003B
+:10B31000000000000000000000000000000001002C
+:10B32000000000000000000000000000000101001B
+:10B33000000000000000000000000000000001000C
+:10B3400000000000000000000000000000000101FB
+:10B3500000000000000000000000000000000100EC
+:10B3600000000000000000000000000000000100DC
+:10B3700001010101010101010101010101010101BD
+:10B3800001010000000100000000000000010001B8
+:10B3900001000101000000000100000001010101A5
+:10B3A0000100000000000100010001010101010194
+:10B3B0000100000000010101000001010101010183
+:10B3C0000000010000010000000001010101010175
+:10B3D0000000000001000000000001010100010167
+:10B3E0000100000000000000000000000001010159
+:10B3F000000000000000000000000000000001004C
+:10B40000000000000000000001000000000001003A
+:10B41000000000000000000000000000000001002B
+:10B42000000000000000000000000000000101001A
+:10B43000000000000000000000000000000001000B
+:10B4400000000000000000000000000000000101FA
+:10B4500000000000000000000000000000010100EA
+:10B4600000000000000000000000000000000100DB
+:10B4700001010101010101010101010101010101BC
+:10B4800001010000000100000000000000010001B7
+:10B4900001000101000000000100000001010101A4
+:10B4A0000100000000000100010001010101010193
+:10B4B0000100000000010101000001010101010182
+:10B4C0000000010000010000000001010101010174
+:10B4D0000000000001000000000001010100010166
+:10B4E0000100000000000000000000010001010157
+:10B4F000000000000000000000000000000001004B
+:10B500000000000000000000010000000000010039
+:10B510000000000000000000000000000000010129
+:10B520000000000000000000000000000001010019
+:10B53000000000000000000000000000000001000A
+:10B5400000000000000000000000000000000101F9
+:10B5500000000000000000000000000000010100E9
+:10B5600000000000000000000000000000000100DA
+:10B5700001010101010101010101010101010101BB
+:10B5800001010000000100000000000000010001B6
+:10B5900001000101000000000100000001010101A3
+:10B5A0000100000000000100010001010101010192
+:10B5B0000100000000010101000001010101010181
+:10B5C0000000010000010100000001010101010172
+:10B5D0000000000001000000000001010100010165
+:10B5E0000100000000000000000000010101010155
+:10B5F000000000000000000000000000000001004A
+:10B600000000000000000000010000000000010038
+:10B610000000000000000000000000000000010128
+:10B620000000000000000000000000000001010018
+:10B630000000000000000000000000000001010008
+:10B6400000000000000000000000000000000101F8
+:10B6500000000000000000000000000000010100E8
+:10B6600000000000000000000000000000000100D9
+:10B6700001010101010101010101010101010101BA
+:10B6800001010000000100000000000000010001B5
+:10B6900002000101000000000100000001010101A1
+:10B6A0000100000000000100010001010101010191
+:10B6B0000100000000010101000001010101010180
+:10B6C0000100010000010100000001010101010170
+:10B6D0000000000001000000000001010100010164
+:10B6E0000100000000000000000000010101010154
+:10B6F0000000000000000000000000000000010049
+:10B700000000000000000000010000000001010036
+:10B710000000000000000000000000000001010126
+:10B720000000000000000000000000000001010017
+:10B730000000000000000000000000000001010007
+:10B7400000000000000000000000000000010101F6
+:10B7500000000000000000000000000000010100E7
+:10B7600000000000000000000000000000000100D8
+:10B7700001010101010101010101010101010101B9
+:10B7800001010000000100000000000000010002B3
+:10B7900002000101000000000100000001010101A0
+:10B7A0000100000000000100010001010101010190
+:10B7B000010000000001010100000101010101017F
+:10B7C000010001000001010000000101010101016F
+:10B7D0000000010001000000000101010100010161
+:10B7E0000100000000000000000000010101010153
+:10B7F0000000000000000000000000000000010048
+:10B800000000000000000000010000000001010035
+:10B810000000000000000000000000000001010125
+:10B820000000000000000000000000000001010016
+:10B830000000000000000000000000000001010006
+:10B8400000000000000000000000000000010101F5
+:10B8500000000000000000000000000000010100E6
+:10B8600000000000000000000000000000000100D7
+:10B8700001010101010101010101010101010101B8
+:10B8800001010000000100000000000000010002B2
+:10B89000020001010000000001000000010101019F
+:10B8A000010000000000010001000101010101018F
+:10B8B000010000000001010100000101010101017E
+:10B8C000010001000001010000000101010101016E
+:10B8D0000000010001000000000101010100010160
+:10B8E0000100000000010000000000010101010151
+:10B8F0000000000000000000000000000100010046
+:10B900000000000000000000010000000001010034
+:10B910000000000000000000000000000001010124
+:10B920000000000000000000000000000001010015
+:10B930000000000000000000000000000001010005
+:10B9400000000000000000000000000000010101F4
+:10B9500000000000000000000000000100010100E4
+:10B9600000000000000000000000000000000100D6
+:10B9700001010101010101010101010101010101B7
+:10B9800001010000000100000000000000010002B1
+:10B99000020001010000000001000000010101019E
+:10B9A000010000000000010001000101010101018E
+:10B9B000010100000001010100000101010101017C
+:10B9C000010001000001010000000101010101016D
+:10B9D000000001000100000000010101010001015F
+:10B9E0000100000000010000000000010101010150
+:10B9F0000000000000000000000000000100010045
+:10BA00000000000000000000010000000001010033
+:10BA10000000000000000000000000000001010123
+:10BA20000000000000000000000000010001010013
+:10BA30000000000000000000000000000001010004
+:10BA400000000000000000000000000000010101F3
+:10BA500000000000000000000000010100010100E2
+:10BA600000000000000000000000000000000100D5
+:10BA700001010101010101010101010101010101B6
+:10BA800001010000000100000001000000010002AF
+:10BA9000020001010000000001000000010101019D
+:10BAA000010000000000010001000101010101018D
+:10BAB000010100000001010100000101010101017B
+:10BAC000010001000001010000000101010101016C
+:10BAD000000001000100000000010101010101015D
+:10BAE000010000000001000000000001010101014F
+:10BAF0000000000000000000000000000101010043
+:10BB00000000000000000000010000000101010031
+:10BB10000000000000000000000000000001010122
+:10BB20000000000000000000000000010001010012
+:10BB30000000000000000000000000000001010003
+:10BB400000000000000000000000000000010101F2
+:10BB500000000000000000000000010100010100E1
+:10BB600000000000000000000000000000010100D3
+:10BB700001010101010101010101010101010101B5
+:10BB800002010000000100000001000000010002AD
+:10BB9000020001010000000001000000010101019C
+:10BBA000010000000000010001000101010101028B
+:10BBB000010100000001010100000101010101017A
+:10BBC000010001000001010000000101010101016B
+:10BBD000000001000100000000010101010101015C
+:10BBE000010000000001000000000001010101014E
+:10BBF0000000000000000000000000010101010041
+:10BC00000000000000000000010000000101010030
+:10BC10000000000000000000000000010001010120
+:10BC20000000000000000000000000010001010011
+:10BC30000000000000000000000000000001010002
+:10BC400000000000000000000000000100010101F0
+:10BC500000000000000000000000010101010100DF
+:10BC600000000000000000000000000100010100D1
+:10BC700001010101010101010101010101010101B4
+:10BC800002010000000100000001000000010002AC
+:10BC9000020101010000000001000000010101019A
+:10BCA000010000000000010001000101010101028A
+:10BCB0000101000000010101000001010101010179
+:10BCC000010001000001010000000101010101016A
+:10BCD000000001000100000000010101010101015B
+:10BCE000010000000001000000000001010101014D
+:10BCF0000000000000000000000000010101010040
+:10BD0000000000000000000001000000010101002F
+:10BD1000000000000000000000000001000101011F
+:10BD2000000000000000000000000101000101000F
+:10BD30000000000000000000000000010001010000
+:10BD400000000000000000000000000100010101EF
+:10BD500000000000000000000000010101010100DE
+:10BD600000000000000000000000000101010100CF
+:10BD700001010101010101010101010101010102B2
+:10BD800002010000000100000001000000010002AB
+:10BD90000201010100000000010000000101010199
+:10BDA0000100000000000100010001010101010289
+:10BDB0000101000000010101000001010101010178
+:10BDC0000100010000010100000001010101010169
+:10BDD000000001000100000000010101010101015A
+:10BDE000010000000001000000000001010101014C
+:10BDF000000000000000000000000001010101003F
+:10BE0000000000010000000001000001010101002C
+:10BE1000000000000000000000000001000101011E
+:10BE2000000000000000000000000101000101000E
+:10BE300000000000000000000000000100010100FF
+:10BE400000000000000000000000000100010101EE
+:10BE500000000000000000000000010101010100DD
+:10BE600000000000000000000000000101010100CE
+:10BE700001010101010101010101010101010102B1
+:10BE800002010000000100000001000000010002AA
+:10BE90000201010100000000010000000101010198
+:10BEA0000100000000000100010001010101010288
+:10BEB0000201000000010101000001010101010176
+:10BEC0000100010000010100000001010101010168
+:10BED0000000010001000000000101010101010159
+:10BEE000010000000001000000000001010101014B
+:10BEF000000000000000000000000001010101003E
+:10BF0000000000010000000001000001010101002B
+:10BF1000000000000000000000000001000101011D
+:10BF2000000000000000000000000101000101000D
+:10BF300000000000000000000000000100010100FE
+:10BF400000000000000000000000010100010101EC
+:10BF500000000000000000000000010101010100DC
+:10BF600000000000000000000000000101010100CD
+:10BF700001010101010101010101010101010102B0
+:10BF800002010000000100000001000000010002A9
+:10BF90000201010100000000010000000101010197
+:10BFA0000100000000000100010001010101010287
+:10BFB0000201000000010101000001010101010175
+:10BFC0000100010000010100000001010101010167
+:10BFD0000000010001000000000101010101010158
+:10BFE000010000000001000000000001010101014A
+:10BFF000000000000000000000000001010101003D
+:10C00000000000010000000001000001010101002A
+:10C01000000000000000000000000001000101011C
+:10C02000000000000000000000010101000101000B
+:10C0300000000000000000000000010100010100FC
+:10C0400000000000000000000000010100010101EB
+:10C0500000000000000000000000010101010100DB
+:10C0600000000000000000000000000101010100CC
+:10C0700001010101010101010101010101010102AF
+:10C0800002010000000100000001000000010002A8
+:10C090000201010100010000010000000101010195
+:10C0A0000100000000000100010001010101010286
+:10C0B0000201000000010101000001010101010174
+:10C0C0000100010000010100000001010101010166
+:10C0D0000100010001000000000101010101010156
+:10C0E0000100000000010000000000010101010149
+:10C0F000000000000000000000000001010101013B
+:10C100000000000100000000010000010101010029
+:10C11000000000000000000000000101000101011A
+:10C12000000000000000000000010101000101000A
+:10C1300000000000000000000000010100010100FB
+:10C1400000000000000000000000010100010101EA
+:10C1500000000000000000000001010101010100D9
+:10C1600000000000000000000000010101010100CA
+:10C1700001010101010101010101010101010102AE
+:10C1800002010000000100000001000000010002A7
+:10C190000201020100010000020000000101010192
+:10C1A0000200000000000100010001010101010284
+:10C1B0000201000000010101000001010101010173
+:10C1C0000100010000010100000001010101010165
+:10C1D0000100010001000000000101010101010155
+:10C1E0000100000000010000000000010101010148
+:10C1F000000000000000000000000001010101013A
+:10C200000001000100000000010000010101010027
+:10C210000000000000000000000001010001010119
+:10C220000000000000000000000101010001010009
+:10C2300000000000000000000000010100010100FA
+:10C2400000000000000000000001010100010101E8
+:10C2500000000000000000000001010101010100D8
+:10C2600000000000000000000001010101010100C8
+:10C2700001010101010101010101010101010102AD
+:10C2800002010000000100000001000000010002A6
+:10C29000020102020001000002000000010101028F
+:10C2A0000200010000000100010001010101010282
+:10C2B0000201000000010101000001010101010271
+:10C2C0000100010000010100000001010101010263
+:10C2D0000100010001000000000101010101010154
+:10C2E0000100000000010000000000010101010147
+:10C2F0000000000000000000000000010101010139
+:10C300000001000100000000010001010101010025
+:10C310000000000000000000000001010001010118
+:10C320000000000000000000000101010101010007
+:10C3300000000000000000000000010100010100F9
+:10C3400000000000000000000001010101010101E6
+:10C3500000000000000000000001010101010100D7
+:10C3600000000000000000000001010101010100C7
+:10C3700001010101010101010101010101010102AC
+:10C3800002010000000100000001000000010002A5
+:10C39000020102020001000002000000010101028E
+:10C3A0000200010000000100010001010101010281
+:10C3B0000201000000010101000001010101010270
+:10C3C0000100010101010100000001010101010260
+:10C3D0000100010001000001000101010101010152
+:10C3E0000100000000010000000000010101010146
+:10C3F0000000000000000000000000010101010138
+:10C400000001000100000000010001010101010024
+:10C410000000000000000000000001010001010117
+:10C420000000000000000000000101010101010105
+:10C4300000000000000000000000010100010100F8
+:10C4400000000000000000000001010101010101E5
+:10C4500000000000000000000001010101010100D6
+:10C4600000000000000000000001010101010100C6
+:10C4700001010101010101010101010101010102AB
+:10C4800002020000000200000001000000010002A2
+:10C49000020102020001000002000000010101028D
+:10C4A0000200010000000100010001010101010280
+:10C4B000020100000001010100000101010101026F
+:10C4C000010001010101010000000101010101025F
+:10C4D0000100010001000001000101010101010250
+:10C4E0000100000000010000000100010101010144
+:10C4F0000100000000000000000000010101010136
+:10C500000001000100000000010001010101010122
+:10C510000000000000000000000001010001010116
+:10C520000000000000000000000101010101010104
+:10C5300000000000000000000001010100010101F5
+:10C5400000000000000000000001010101010101E4
+:10C5500000000000000100000001010101010100D4
+:10C5600000000000000000000101010101010100C4
+:10C5700001010101010101010101010101010102AA
+:10C5800002020000000200000001000000010002A1
+:10C59000020202020001000002000000010101028B
+:10C5A000020001000000010001000101010101027F
+:10C5B000020101000001010100000101010101026D
+:10C5C000010001010101010000000101010101025E
+:10C5D000010001000100000100010101010101024F
+:10C5E0000100000000010000010100010101010142
+:10C5F0000100000000000000000000010101010135
+:10C600000001000100000000010001010101010121
+:10C610000000000000000000000001010001010115
+:10C620000000000000000000000101010101010103
+:10C6300000000000000000000001010100010101F4
+:10C6400000000000000000000001010101010101E3
+:10C6500000000000000100000101010101010100D2
+:10C6600000000000000100000101010101010100C2
+:10C6700001010101010101010101010101010102A9
+:10C6800002020000000200000001000000010002A0
+:10C69000020202020001000002000000010101028A
+:10C6A000020101000000020001000101010101027C
+:10C6B000020101000001010100000101010101026C
+:10C6C000010002010101010000000101010101025C
+:10C6D000010001000100000100010101010101024E
+:10C6E0000100000000010000010100010101010141
+:10C6F0000100000000000000000000010101010134
+:10C70000010100010000000001000101010101011F
+:10C710000000000000000000000001010001010114
+:10C720000000000000000000000101010101010102
+:10C7300000000000000000000001010100010101F3
+:10C7400000000000000000000001010101010101E2
+:10C7500000000000000100000101010101010100D1
+:10C7600000000000000100000101010101010100C1
+:10C7700001010101010101010101010101010102A8
+:10C78000020200000002000000010000000100029F
+:10C790000202020200010000020000000101010289
+:10C7A000020101000000020001000101010101027B
+:10C7B000020101010001010100000101010101026A
+:10C7C000010002010101010000000101010101025B
+:10C7D000010101000100000100010101010101024C
+:10C7E0000100000000010000010100010101010140
+:10C7F0000100000000000000000000010101010133
+:10C80000010100010000000001010101010101011D
+:10C810000000000000000000000001010001010113
+:10C820000000000000000001000101010101010100
+:10C8300000000000000000000001010101010101F1
+:10C8400000000000000100000001010101010101E0
+:10C8500000000000000100000101010101010100D0
+:10C8600000000000000101010101010101010100BE
+:10C8700001010101010101010101010101010102A7
+:10C88000020200000002000000010000000100029E
+:10C890000202020200010000020000000101010288
+:10C8A000020101000000020001000101010101027A
+:10C8B0000201010100010201000001010101010268
+:10C8C000010002010101010000000101010101025A
+:10C8D000010101000100000100010101010101024B
+:10C8E000020000000001000001010001010101013E
+:10C8F0000100000000000000000001010101010131
+:10C90000010100010000000001010101010101011C
+:10C910000000000000000000000001010001010112
+:10C9200000000000000000010101010101010101FE
+:10C9300000000000000000000001010101010101F0
+:10C9400000000000000100000101010101010101DE
+:10C9500000000000000101010101010101010100CD
+:10C9600000000000000101010101010101010100BD
+:10C9700001010101010101010101010101010102A6
+:10C98000020200000002000000010000000100029D
+:10C990000202020200010000020000000101010287
+:10C9A0000201010000000200010001010101010279
+:10C9B0000201010100020201000001010101010266
+:10C9C0000201020101010100000001010101010257
+:10C9D000010101000100000100010101010101024A
+:10C9E000020000000001000001010101010101023B
+:10C9F0000100000000000000000001010101010130
+:10CA0000010100010000000001010101010101011B
+:10CA10000000000000000000000101010001010110
+:10CA200000000000000100010101010101010101FC
+:10CA300000000000000000000101010101010101EE
+:10CA400000000000000100000101010101010102DC
+:10CA500000000000000101010101010101010100CC
+:10CA600000000000000101010101010101010100BC
+:10CA700001010101010101010101010101010102A5
+:10CA8000020200000002000000010000000100029C
+:10CA90000202020200010000020000000101010286
+:10CAA0000201010000000200010001010101010278
+:10CAB0000202010100020202000001010101010263
+:10CAC0000201020101010100000001010101010256
+:10CAD0000101010002000001000101010101010248
+:10CAE000020000000001000001010101010101023A
+:10CAF000010000000000000000000101010101012F
+:10CB0000010100010000000001010101010101011A
+:10CB1000000000000000000000010101000101010F
+:10CB200001000000000100010101010101010101FA
+:10CB300000000000000000000101010101010101ED
+:10CB400000000000000100000101010101010102DB
+:10CB500000000000000101010101010101010100CB
+:10CB600000000000000101010101010101010100BB
+:10CB700001010101010101010101010101010102A4
+:10CB8000020200000002000000010000000100029B
+:10CB90000202020200010000020000000101010285
+:10CBA0000201010000000200010001010101010277
+:10CBB0000202010100020202000001010101010262
+:10CBC0000201020101010100000001010101010255
+:10CBD0000101010002000001000101010101010247
+:10CBE0000200000000010000010101010101010239
+:10CBF000010000000000000000010101010101012D
+:10CC00000101000100000000010101010101010119
+:10CC1000000000000000000000010101000101010E
+:10CC200001000000000100010101010101010101F9
+:10CC300000000000000000000101010101010101EC
+:10CC400000000000000101010101010101010102D8
+:10CC500000000000000101010101010101010100CA
+:10CC600000000000010101010101010101010100B9
+:10CC700001010101010101010101010101010102A3
+:10CC8000020200000002000000010000000100029A
+:10CC90000202020200010000020000000202010282
+:10CCA0000201010000000200010002010101010275
+:10CCB0000202010100020202000001010201010260
+:10CCC0000201020101010100000001010101010254
+:10CCD0000101010002000001000101010101010246
+:10CCE0000200000000010100010101010101010237
+:10CCF000010000000000000000010101010101012C
+:10CD00000101000100000000010101010101010118
+:10CD1000000000000000000000010101010101010C
+:10CD200001000000000100010101010101010101F8
+:10CD300000000000000100000101010101010101EA
+:10CD400000000000000101010101010101010102D7
+:10CD500000000000000101010101010101010101C8
+:10CD600000000000010101010101010101010100B8
+:10CD700001010101010101010101010101010102A2
+:10CD80000202000000020000000100000001000299
+:10CD90000202020200010000020000000202010281
+:10CDA0000201010000000200010002010201010273
+:10CDB000020201010002020200000102020101025E
+:10CDC0000201020101010100000001010101010253
+:10CDD0000101010102000001000101010101010244
+:10CDE0000200000000010100010101010101010236
+:10CDF000010001000000000000010101010101012A
+:10CE00000101010100010000010101010101010115
+:10CE1000000000000000000000010101010101010B
+:10CE200001010000000101010101010101010101F5
+:10CE300000000000000100000101010101010101E9
+:10CE400000000000000101010101010101010102D6
+:10CE500000000000000101010101010101010101C7
+:10CE600000000100010101010101010101010100B6
+:10CE700001010101010101010101010101010102A1
+:10CE80000202010000020000000100000001000297
+:10CE90000202020200010000020000000202010280
+:10CEA0000201010000000200020002010201010271
+:10CEB000020201010002020200000102020101025D
+:10CEC0000201020101010100000001010101010252
+:10CED0000101010102000001000101010101010243
+:10CEE0000200000000010100010101010101010235
+:10CEF0000100010000000000000101010101010129
+:10CF00000101010100010000010101010101010114
+:10CF10000100000000000000000101010101010208
+:10CF200001010000000101010101010101010101F4
+:10CF300000000000000100010101010101010101E7
+:10CF400000000000000101010101010101010102D5
+:10CF500000000100010101010101010101010101C4
+:10CF600000000100010101010101010101010100B5
+:10CF7000020101010101010101010101010101029F
+:10CF80000202010000020000000100000002000295
+:10CF9000020202020001000002000000020201027F
+:10CFA0000201010000000200020002010201010270
+:10CFB000020201010002020200000102020101025C
+:10CFC0000201020101020100000001010101010250
+:10CFD0000101020102000001000101010101010241
+:10CFE0000200000000010100010101010101010234
+:10CFF0000101010000010000000101010101010126
+:10D000000101010100010000010101010101010113
+:10D010000100000000010000000101010101010206
+:10D0200001010101010101010101010101010101F0
+:10D0300000000000000100010101010101010101E6
+:10D0400000000100000101010101010101010102D3
+:10D0500000000100010101010101010101010101C3
+:10D0600000010101010101010101010101010100B2
+:10D07000020101010101010101010101010101029E
+:10D080000202010000020000000100000002000294
+:10D09000020202020002000002000000020202027C
+:10D0A000020101000000020002000202020201026D
+:10D0B000020201010002020200000202020101025A
+:10D0C000020102010102020000000101010101024E
+:10D0D000020102010200000100010101010101023F
+:10D0E0000201000000010100010101010101010232
+:10D0F0000101010000010000000101010101010125
+:10D100000101010100010000010101010101010112
+:10D110000100000000010000000101010101010205
+:10D1200001010101010101010101010101010101EF
+:10D1300000000100000100010101010101010101E4
+:10D1400001000100000101010101010101010102D1
+:10D1500000000101010101010101010101010101C1
+:10D1600000010101010101010101010101010100B1
+:10D17000020101010101010101010101010101029D
+:10D180000202010000020000000100000002000293
+:10D19000020202020002000002000000020202027B
+:10D1A000020101000000020002000202020201026C
+:10D1B0000202010100020202000002020201010259
+:10D1C000020102010102020000000202020101024A
+:10D1D000020102010200000100010101020101023D
+:10D1E0000201000000010100010101010101010231
+:10D1F0000101010000010000000101010101010124
+:10D200000101010101010000010101010101010110
+:10D210000101010000010000000101010101010202
+:10D2200001010101010101010101010101010101EE
+:10D2300001000100000100010101010101010101E2
+:10D2400001000100010101010101010101010102CF
+:10D2500000000101010101010101010101010101C0
+:10D2600000010101010101010101010101010100B0
+:10D27000020101010101010101010101010101029C
+:10D280000202010000020000000100000002000292
+:10D29000020202020002000002000000020202027A
+:10D2A0000202020000000200020002020202010269
+:10D2B0000202020100020202000002020202010256
+:10D2C0000201020101020200000002020201010249
+:10D2D000020102010200000100010101020101023C
+:10D2E0000201000000010100010101010101010230
+:10D2F0000101010000010000000101010101010123
+:10D30000010101010101000001010101010101010F
+:10D310000101010000010000000101010101010201
+:10D3200001010101010101010101010101010101ED
+:10D3300001010100000101010101010101010101DF
+:10D3400001000100010101010101010101010102CE
+:10D3500000010101010101010101010101010101BE
+:10D3600001010101010101010101010101010100AE
+:10D37000020201010101010101010101010101029A
+:10D380000202010000020000000100000002000291
+:10D390000202020200020000020000000202020279
+:10D3A0000202020000000200020002020202010268
+:10D3B0000202020100020202000002020202010255
+:10D3C0000201020101020200000002020201010248
+:10D3D000020102010200000100010101020101023B
+:10D3E000020100000001010001010101010101022F
+:10D3F0000101010100010000000101010101010220
+:10D40000010101010101000001010101010101010E
+:10D4100001010101010100010001010101010102FD
+:10D4200001010101010101010101010101010101EC
+:10D4300001010100000101010101010101010101DE
+:10D4400001010101010101010101010101010102CB
+:10D4500001010101010101010101010101010101BC
+:10D4600001010101010101010101010101010100AD
+:10D470000202010201010101010101010101010298
+:10D48000020202000002000000010000000200028F
+:10D490000202020200020000020000000202020278
+:10D4A0000202020000000200020002020202010267
+:10D4B0000202020200020202000002020202010253
+:10D4C0000201020201020200000002020201010246
+:10D4D000020102010200000100010101020101023A
+:10D4E000020101000001010101010101010101022C
+:10D4F000010101010001000000010101010101021F
+:10D50000010101010101000001010101010101010D
+:10D5100001010101010100010101010101010102FB
+:10D5200001010101010101010101010101010101EB
+:10D5300001010101010101010101010101010101DB
+:10D5400001010101010101010101010101010102CA
+:10D5500001010101010101010101010101010101BB
+:10D5600001010101010101010101010101010100AC
+:10D570000202010201010101010101010101010297
+:10D58000020202000002000000020000000200028D
+:10D590000202020200020000020000000202020277
+:10D5A0000202020000000200020002020202010266
+:10D5B0000202020200020202000002020202010252
+:10D5C0000201020201020200000002020201010245
+:10D5D0000201020102000001000102010201010238
+:10D5E000020101000001010101010101010101022B
+:10D5F000010101010001000000010101010101021E
+:10D60000010101010101000002010101010101010B
+:10D6100001010101010101010101010101010102F9
+:10D6200001010101010101010101010101010101EA
+:10D6300001010101010101010101010101010101DA
+:10D6400001010101010101010101010101010102C9
+:10D6500001010101010101010101010101010101BA
+:10D6600001010101010101010101010101010100AB
+:10D670000202010201010101010101010101010296
+:10D68000020202000002000000020000000200028C
+:10D690000202020200020000020000000202020276
+:10D6A0000202020100000200020002020202010264
+:10D6B0000202020200020202000002020202010251
+:10D6C0000202020201020200000002020201010243
+:10D6D0000201020102000001000102010201010237
+:10D6E0000201010101020101010101010101010227
+:10D6F000010101010001000000010101010101021D
+:10D70000010101010101000002010101010101010A
+:10D7100001010101010101010101010101010102F8
+:10D7200001010101010101010101010101010101E9
+:10D7300001010101010101010101010101010101D9
+:10D7400001010101010101010101010101010102C8
+:10D7500001010101010101010101010101010101B9
+:10D7600001010101010101010101010101010100AA
+:10D770000202010201010101010101010101010295
+:10D78000020202000002000000020000000200028B
+:10D790000202020200020000020000000202020275
+:10D7A0000202020100000200020002020202020262
+:10D7B000020202020002020200000202020202024F
+:10D7C0000202020202020200000002020201010241
+:10D7D0000202020102000001000102010201010235
+:10D7E0000201010101020101010101010101010226
+:10D7F000020101010001000000010101010101021B
+:10D800000101010101010000020101010101010109
+:10D8100001010101010101010101010101010102F7
+:10D8200001010101010101010101010101010101E8
+:10D8300001010101010101010101010101010101D8
+:10D8400001010101010101010101010101010102C7
+:10D8500001010101010101010101010101010101B8
+:10D8600001010101010101010101010101010100A9
+:10D870000202020201010101010101010101010293
+:10D88000020202000002000000020000000200028A
+:10D890000202020201020000020000000202020273
+:10D8A0000202020100000200020002020202020261
+:10D8B000020202020002020200000202020202024E
+:10D8C000020202020202020000000202020201023F
+:10D8D0000202020102000001000102020201010233
+:10D8E0000201010101020101010101010101010225
+:10D8F000020101010001000000010101010101021A
+:10D900000102010201010000020101010101010205
+:10D9100001010101010101010101010101010102F6
+:10D9200001010101010101010101010101010102E6
+:10D9300001010101010101010101010101010101D7
+:10D9400001010101010101010101010101010102C6
+:10D9500001010101010101010101010101010101B7
+:10D9600001010101010101010101010101010100A8
+:10D970000202020201010101010101010101010292
+:10D980000202020000020000000200000002000289
+:10D990000202020202020000020000000202020271
+:10D9A0000202020100000200020002020202020260
+:10D9B000020202020002020200000202020202024D
+:10D9C000020202020202020000000202020201023E
+:10D9D0000202020102000001000202020201010231
+:10D9E0000201010101020101010101010101010224
+:10D9F0000201010100010100000101010101010218
+:10DA00000202010201010000020101010101010203
+:10DA100001010101010101010101010101010102F5
+:10DA200001010101010101010101010101010102E5
+:10DA300001010101010101010101010101010101D6
+:10DA400001010101010101010101010101010102C5
+:10DA500001010101010101010101010101010101B6
+:10DA600001010101010101010101010101010100A7
+:10DA70000202020201010101010101010101010291
+:10DA80000202020100020000000200000002000287
+:10DA90000202020202020000020000000202020270
+:10DAA000020202010000020002000202020202025F
+:10DAB000020202020002020200000202020202024C
+:10DAC000020202020202020000000202020202023C
+:10DAD0000202020102000001000202020201010230
+:10DAE0000201010101020101010101010101010223
+:10DAF0000201010100010100000101010101010217
+:10DB00000202010201010000020101010101010202
+:10DB100001010101010101010101010101010102F4
+:10DB200001010101010101010101010101010102E4
+:10DB300001010101010101010101010101010102D4
+:10DB400001010101010101010101010101010102C4
+:10DB500001010101010101010101010101010101B5
+:10DB600001010101010101010101010101010100A6
+:10DB7000020202020102010201010101010101028E
+:10DB80000202020200020000000200000002000285
+:10DB9000020202020202000002000000020202026F
+:10DBA000020202010000020002000202020202025E
+:10DBB000020202020002020200000202020202024B
+:10DBC000020202020202020000000202020202023B
+:10DBD000020202010200000100020202020101022F
+:10DBE0000201010101020101010101010101010222
+:10DBF0000201010101010100000101010101010215
+:10DC000002020102010101010201010101010102FF
+:10DC100001010101010101010101010101010102F3
+:10DC200001010101010101010101010101010102E3
+:10DC300001010101010101010101010101010102D3
+:10DC400001010101010101010101010101010102C3
+:10DC500001010101010101010101010101010101B4
+:10DC600001010101010101010101010101010100A5
+:10DC7000020202020202010201010101010101028C
+:10DC80000202020200020000000200000002000284
+:10DC9000020202020202000002000000020202026E
+:10DCA000020202010000020002000202020202025D
+:10DCB000020202020002020200000202020202024A
+:10DCC000020202020202020000000202020202023A
+:10DCD000020202010200000200020202020101022D
+:10DCE0000201010101020101010101010101010221
+:10DCF0000201010101010100010101010101010213
+:10DD000002020102010101010201010101010102FE
+:10DD100001010101010101010101010101010102F2
+:10DD200001010101010101010101010101010102E2
+:10DD300001010101010101010101010101010102D2
+:10DD400001010101010101010101010101010102C2
+:10DD500001010101010101010101010101010101B3
+:10DD600001010101010101010101010101010100A4
+:10DD70000202020202020202020101010101010289
+:10DD80000202020200020000000200000002000283
+:10DD9000020202020202000002000000020202026D
+:10DDA000020202020000020002000202020202025B
+:10DDB0000202020200020202000002020202020249
+:10DDC0000202020202020200000002020202020239
+:10DDD000020202020200000200020202020102022A
+:10DDE000020201010102010101010102020101021D
+:10DDF0000201010101010100010101010101010212
+:10DE000002020102010101010201010101010102FD
+:10DE100001010101010101010101010101010102F1
+:10DE200001010101010101010101010101010102E1
+:10DE300001010101010101010101010101010102D1
+:10DE400001010101010101010101010101010102C1
+:10DE500001010101010101010101010101010101B2
+:10DE600001010101010101010101010101010100A3
+:10DE70000202020202020202020101010101010288
+:10DE80000202020201020000000200000002000281
+:10DE9000020202020202000002000000020202026C
+:10DEA000020202020000020002000202020202025A
+:10DEB0000202020200020202000002020202020248
+:10DEC0000202020202020200000002020202020238
+:10DED0000202020202000002000202020201020229
+:10DEE000020201010102010101010102020101021C
+:10DEF0000201010101010100010101010101010211
+:10DF000002020102010101010201010101010102FC
+:10DF100001010101010101010101010101010102F0
+:10DF200001010101010101010101010101010102E0
+:10DF300001010101010101010101010101010102D0
+:10DF400001010101010101010101010101010102C0
+:10DF500001010101010101010101010101010101B1
+:10DF600001010101010101010101010101010100A2
+:10DF70000202020202020202020201010101010286
+:10DF80000202020201020000000200000002000280
+:10DF9000020202020202000002000000020202026B
+:10DFA0000202020200000200020002020202020259
+:10DFB0000202020200020202000002020202020247
+:10DFC0000202020202020200000002020202020237
+:10DFD0000202020202000002000202020201020228
+:10DFE000020201010102010101010102020201021A
+:10DFF0000201010101010100010101010101010210
+:10E0000002020102010101010201010101010102FB
+:10E0100001010101010101010101010101010102EF
+:10E0200002010101010101010101010101010102DE
+:10E0300001010101010101010101010101010102CF
+:10E0400001010101010101010101010101010102BF
+:10E0500001010101010101010101010101010101B0
+:10E0600001010101010101010101010101010100A1
+:10E070000202020202020202020201010101010285
+:10E08000020202020202000000020000000200027E
+:10E090000202020202020200020000000202020268
+:10E0A0000202020200000200020002020202020258
+:10E0B0000202020200020202000002020202020246
+:10E0C0000202020202020200000002020202020236
+:10E0D0000202020202000002000202020201020227
+:10E0E0000202010101020101020101020202010218
+:10E0F000020201010101010001010101010101020E
+:10E1000002020102010101010201010101010102FA
+:10E1100001010101010101010101010101010102EE
+:10E1200002010101010101010101010101010102DD
+:10E1300001010101010101010101010101010102CE
+:10E1400001010101010101010101010101010102BE
+:10E1500001010101010101010101010101010101AF
+:10E1600001010101010101010101010101010100A0
+:10E170000202020202020202020201010101010284
+:10E18000020202020202000000020000000200027D
+:10E190000202020202020200020000000202020267
+:10E1A0000202020200000200020002020202020257
+:10E1B0000202020200020202000002020202020245
+:10E1C0000202020202020200000002020202020235
+:10E1D0000202020202000002000202020201020226
+:10E1E0000202020101020201020101020202010215
+:10E1F000020202010101010101010101010101020B
+:10E2000002020102010101010201010101010102F9
+:10E2100002010101010101010101010101010102EC
+:10E2200002010101010101010101010101010102DC
+:10E2300001010101010101010101010101010102CD
+:10E2400001010101010101010101010101010102BD
+:10E2500001010101010101010101010101010101AE
+:10E26000010101010101010101010101010101009F
+:10E270000202020202020202020201010101010283
+:10E28000020202020202010000020000000200027B
+:10E290000202020202020202020000000202020264
+:10E2A0000202020200000200020002020202020256
+:10E2B0000202020200020202000002020202020244
+:10E2C0000202020202020200000002020202020234
+:10E2D0000202020202000002000202020201020225
+:10E2E0000202020101020201020201020202020212
+:10E2F0000202020101010101010101010201010209
+:10E3000002020202010101010201010101010102F7
+:10E3100002010101010101010101010101010102EB
+:10E3200002010101010101010101010101010102DB
+:10E3300001010101010101010101010101010102CC
+:10E3400001010101010101010101010101010102BC
+:10E3500001010101010101010101010101010101AD
+:10E36000010101010101010101010101010101009E
+:10E370000202020202020202020201020101010281
+:10E38000020202020202010000020000000200027A
+:10E390000202020202020202020001000202020262
+:10E3A0000202020200000200020002020202020255
+:10E3B0000202020200020202000002020202020243
+:10E3C0000202020202020200000002020202020233
+:10E3D0000202020202000002000202020202020223
+:10E3E0000202020201020201020201020202020210
+:10E3F0000202020101010101010101010201020207
+:10E4000002020202010101010201010101010102F6
+:10E4100002010101010101010101010101010102EA
+:10E4200002020101010101010101010101010102D9
+:10E4300001010101010101010101010101010102CB
+:10E4400001010101010101010101010101010102BB
+:10E4500001010101010101010101010101010102AB
+:10E46000010101010101010101010101010101009D
+:10E47000020202020202020202020202010101027F
+:10E480000202020202020100000200000002000279
+:10E490000202020202020202020001000202020261
+:10E4A0000202020200000200020002020202020254
+:10E4B0000202020200020202000002020202020242
+:10E4C0000202020202020200000002020202020232
+:10E4D0000202020202000002000202020202020222
+:10E4E000020202020102020102020102020202020F
+:10E4F0000202020101010101010101010201020206
+:10E5000002020202010101010201010101010202F4
+:10E5100002010101010101010101010101010102E9
+:10E5200002020101010101010101010101010102D8
+:10E5300002010101010101010101010101010102C9
+:10E5400001010101010101010101010101010102BA
+:10E5500001010101010101010101010101010102AA
+:10E56000010101010101010101010101010101009C
+:10E57000020202020202020202020202010101027E
+:10E580000202020202020200000200000002000277
+:10E590000202020202020202020001000202020260
+:10E5A0000202020200000200020002020202020253
+:10E5B0000202020201020202000002020202020240
+:10E5C0000202020202020200000002020202020231
+:10E5D0000202020202000002000202020202020221
+:10E5E000020202020202020102020102020202020D
+:10E5F0000202020201010101010101020201020203
+:10E6000002020202010101010201010102010202F2
+:10E6100002010101010101010101010101010102E8
+:10E6200002020101010101010101010101010102D7
+:10E6300002010101010101010101010101010102C8
+:10E6400002010101010101010101010101010102B8
+:10E6500001010101010101010101010101010102A9
+:10E66000010101010101010101010101010101009B
+:10E67000020202020202020202020202010201027C
+:10E680000202020202020201000200000002000275
+:10E69000020202020202020202010100020202025E
+:10E6A0000202020201010200020002020202020250
+:10E6B000020202020202020200000202020202023E
+:10E6C0000202020202020200000002020202020230
+:10E6D0000202020202000002000202020202020220
+:10E6E000020202020202020102020202020202020B
+:10E6F0000202020201010101010101020201020202
+:10E7000002020202010101010201010102010202F1
+:10E7100002020101010101010101010101010102E6
+:10E7200002020101010101010101010101010102D6
+:10E7300002010101010101010101010101010102C7
+:10E7400002010101010101010101010101010102B7
+:10E7500001010101010101010101010101010102A8
+:10E76000010101010101010101010101010101009A
+:10E77000020202020202020202020202020201027A
+:10E780000202020202020201000200000002000274
+:10E79000020202020202020202020200020202025B
+:10E7A000020202020101020002000202020202024F
+:10E7B000020202020202020200000202020202023D
+:10E7C000020202020202020000000202020202022F
+:10E7D000020202020201000200020202020202021E
+:10E7E0000202020202020202020202020202020209
+:10E7F0000202020201010101010101020201020201
+:10E8000002020202010101010201020102010202EF
+:10E8100002020101010101010101010101010102E5
+:10E8200002020201010101010101010101010202D3
+:10E8300002010101010101010101010101010102C6
+:10E8400002010101010101010101010101010102B6
+:10E8500001010101010101010101010101010102A7
+:10E860000101010101010101010101010101010099
+:10E870000202020202020202020202020202010279
+:10E880000202020202020202000200000002000272
+:10E89000020202020202020202020200020202025A
+:10E8A000020202020201020002000202020202024D
+:10E8B000020202020202020200000202020202023C
+:10E8C000020202020202020000000202020202022E
+:10E8D000020202020201000200020202020202021D
+:10E8E0000202020202020202020202020202020208
+:10E8F0000202020201010101010101020201020200
+:10E9000002020202020101010201020202020202EB
+:10E9100002020201010101010101010101010202E2
+:10E9200002020202010101010101010101010202D1
+:10E9300002020101010101010101010101010102C4
+:10E9400002010101010101010101010101010102B5
+:10E9500001010101010101010101010101010102A6
+:10E960000101010101010101010101010101010098
+:10E970000202020202020202020202020202010278
+:10E980000202020202020202000200000002000271
+:10E990000202020202020202020202000202020259
+:10E9A000020202020201020002000202020202024C
+:10E9B000020202020202020200000202020202023B
+:10E9C000020202020202020000000202020202022D
+:10E9D000020202020201000200020202020202021C
+:10E9E0000202020202020202020202020202020207
+:10E9F00002020202010201010101010202020202FD
+:10EA000002020202020201010202020202020202E8
+:10EA100002020201010101010101010101010202E1
+:10EA200002020202010101010101010101020202CF
+:10EA300002020201010101010101010101010102C2
+:10EA400002010101010101010101010101010102B4
+:10EA500001010101010101010101010101010102A5
+:10EA60000201010101010101010101010101010096
+:10EA70000202020202020202020202020202010277
+:10EA80000202020202020202000200000002000270
+:10EA90000202020202020202020202010202020257
+:10EAA000020202020201020002000202020202024B
+:10EAB000020202020202020200000202020202023A
+:10EAC000020202020202020000000202020202022C
+:10EAD000020202020201000200020202020202021B
+:10EAE0000202020202020202020202020202020206
+:10EAF00002020202010201010102020202020202FA
+:10EB000002020202020201010202020202020202E7
+:10EB100002020202010101010101010101010202DF
+:10EB200002020202010101010102020201020202CB
+:10EB300002020201010101010101010101010102C1
+:10EB400002020201010101010101010101010102B1
+:10EB500002010101010101010101010101010102A3
+:10EB60000201010101010101010101010101010095
+:10EB70000202020202020202020202020202010276
+:10EB8000020202020202020200020000000200026F
+:10EB90000202020202020202020202020202020255
+:10EBA0000202020202020200020002020202020249
+:10EBB0000202020202020202000002020202020239
+:10EBC000020202020202020000000202020202022B
+:10EBD000020202020201000200020202020202021A
+:10EBE0000202020202020202020202020202020205
+:10EBF00002020202010201010102020202020202F9
+:10EC000002020202020201010202020202020202E6
+:10EC100002020202010101010101010201010202DD
+:10EC200002020202020201020102020201020202C7
+:10EC300002020201010101010101010101010102C0
+:10EC400002020201010101010101010101010102B0
+:10EC500002010101010101010101010101010102A2
+:10EC60000202010101010101010101010101010093
+:10EC70000202020202020202020202020202010275
+:10EC8000020202020202020200020000000200026E
+:10EC90000202020202020202020202020202020254
+:10ECA0000202020202020201020002020202020247
+:10ECB0000202020202020202000002020202020238
+:10ECC000020202020202020000000202020202022A
+:10ECD0000202020202010002000202020202020219
+:10ECE0000202020202020202020202020202020204
+:10ECF00002020202020201010102020202020202F7
+:10ED000002020202020201010202020202020202E5
+:10ED100002020202010101010101020201020202DA
+:10ED200002020202020201020102020201020202C6
+:10ED300002020202010101010101010101010202BD
+:10ED400002020201010101010101010101010102AF
+:10ED500002010101010101010101010101010102A1
+:10ED60000202020101010101010101010101010091
+:10ED70000202020202020202020202020202010274
+:10ED80000202020202020202020201000202000268
+:10ED90000202020202020202020202020202020253
+:10EDA0000202020202020201020002020202020246
+:10EDB0000202020202020202000002020202020237
+:10EDC0000202020202020200000002020202020229
+:10EDD0000202020202010002000202020202020218
+:10EDE0000202020202020202020202020202020203
+:10EDF00002020202020201010102020202020202F6
+:10EE000002020202020201010202020202020202E4
+:10EE100002020202020101010101020201020202D8
+:10EE200002020202020202020202020201020202C3
+:10EE300002020202010101010101020201020202B9
+:10EE400002020202010201010101010101010202AB
+:10EE5000020202010101010101010101010101029E
+:10EE60000202020101010101010101010101010090
+:10EE70000202020202020202020202020202010273
+:10EE80000202020202020202020202000202000266
+:10EE90000202020202020202020202020202020252
+:10EEA0000202020202020202020002020202020244
+:10EEB0000202020202020202000002020202020236
+:10EEC0000202020202020200000002020202020228
+:10EED0000202020202010002000202020202020217
+:10EEE0000202020202020202020202020202020202
+:10EEF00002020202020202010102020202020202F4
+:10EF000002020202020201010202020202020202E3
+:10EF100002020202020201010101020201020202D6
+:10EF200002020202020202020202020201020202C2
+:10EF300002020202010201010102020201020202B6
+:10EF400002020202010201010102020201010202A7
+:10EF5000020202010101010101010101010101029D
+:10EF6000020202020101010101010101010101008E
+:10EF70000202020202020202020202020202020271
+:10EF80000202020202020202020202000202000265
+:10EF90000202020202020202020202020202020251
+:10EFA0000202020202020202020002020202020243
+:10EFB0000202020202020202000002020202020235
+:10EFC0000202020202020200000002020202020227
+:10EFD0000202020202010002000202020202020216
+:10EFE0000202020202020202020202020202020201
+:10EFF00002020202020202010102020202020202F3
+:10F0000002020202020201010202020202020202E2
+:10F0100002020202020201010102020201020202D4
+:10F0200002020202020202020202020202020202C0
+:10F0300002020202020201010202020201020202B3
+:10F0400002020202020202010102020201020202A3
+:10F050000202020201020101010102010101010299
+:10F06000020202020202010101010101010101008B
+:10F070000202020202020202020202020202020270
+:10F080000202020202020202020202000202000264
+:10F090000202020202020202020202020202020250
+:10F0A0000202020202020202020002020202020242
+:10F0B0000202020202020202010002020202020233
+:10F0C0000202020202020200000002020202020226
+:10F0D0000202020202020002010202020202020213
+:10F0E0000202020202020202020202020202020200
+:10F0F00002020202020202010102020202020202F2
+:10F1000002020202020202010202020202020202E0
+:10F1100002020202020201010102020201020202D3
+:10F1200002020202020202020202020202020202BF
+:10F1300002020202020201020202020201020202B1
+:10F1400002020202020202020202020201020202A0
+:10F150000202020201020101010102020101020296
+:10F160000202020202020201010101010101010089
+:10F17000020202020202020202020202020202026F
+:10F180000202020202020202020202000202000263
+:10F19000020202020202020202020202020202024F
+:10F1A0000202020202020202020002020202020241
+:10F1B0000202020202020202020002020202020231
+:10F1C0000202020202020200000002020202020225
+:10F1D0000202020202020002010202020202020212
+:10F1E00002020202020202020202020202020202FF
+:10F1F00002020202020202010202020202020202F0
+:10F2000002020202020202020202020202020202DE
+:10F2100002020202020202020102020201020202D0
+:10F2200002020202020202020202020202020202BE
+:10F2300002020202020202020202020201020202AF
+:10F24000020202020202020202020202010202029F
+:10F250000202020202020201010202020102020291
+:10F260000202020202020202020201020101010084
+:10F27000020202020202020202020202020202026E
+:10F280000202020202020202020202010202000261
+:10F29000020202020202020202020202020202024E
+:10F2A000020202020202020202010202020202023F
+:10F2B0000202020202020202020002020202020230
+:10F2C0000202020202020200010002020202020223
+:10F2D0000202020202020002010202020202020211
+:10F2E00002020202020202020202020202020202FE
+:10F2F00002020202020202010202020202020202EF
+:10F3000002020202020202020202020202020202DD
+:10F3100002020202020202020102020201020202CF
+:10F3200002020202020202020202020202020202BD
+:10F3300002020202020202020202020201020202AE
+:10F34000020202020202020202020202020202029D
+:10F35000020202020202020202020202020202028D
+:10F360000202020202020202020202020201020080
+:10F37000020202020202020202020202020202026D
+:10F38000020202020202020202020202020200025F
+:10F39000020202020202020202020202020202024D
+:10F3A000020202020202020202020202020202023D
+:10F3B000020202020202020202020202020202022D
+:10F3C0000202020202020200010102020202020221
+:10F3D000020202020202010201020202020202020F
+:10F3E00002020202020202020202020202020202FD
+:10F3F00002020202020202020202020202020202ED
+:10F4000002020202020202020202020202020202DC
+:10F4100002020202020202020202020201020202CD
+:10F4200002020202020202020202020202020202BC
+:10F4300002020202020202020202020202020202AC
+:10F44000020202020202020202020202020202029C
+:10F45000020202020202020202020202020202028C
+:10F46000020202020202020202020202020102007F
+:10F47000020202020202020202020202020202026C
+:10F48000020202020202020202020202020200025E
+:10F49000020202020202020202020202020202024C
+:10F4A000020202020202020202020202020202023C
+:10F4B000020202020202020202020202020202022C
+:10F4C000020202020202020002010202020202021F
+:10F4D000020202020202010201020202020202020E
+:10F4E00002020202020202020202020202020202FC
+:10F4F00002020202020202020202020202020202EC
+:10F5000002020202020202020202020202020202DB
+:10F5100002020202020202020202020202020202CB
+:10F5200002020202020202020202020202020202BB
+:10F5300002020202020202020202020202020202AB
+:10F54000020202020202020202020202020202029B
+:10F55000020202020202020202020202020202028B
+:10F56000020202020202020202020202020202007D
+:10F57000020202020202020202020202020202026B
+:10F58000020202020202020202020202020200025D
+:10F59000020202020202020202020202020202024B
+:10F5A000020202020202020202020202020202023B
+:10F5B000020202020202020202020202020202022B
+:10F5C000020202020202020002010202020202021E
+:10F5D000020202020202010202020202020202020C
+:10F5E00002020202020202020202020202020202FB
+:10F5F00002020202020202020202020202020202EB
+:10F6000002020202020202020202020202020202DA
+:10F6100002020202020202020202020202020202CA
+:10F6200002020202020202020202020202020202BA
+:10F6300002020202020202020202020202020202AA
+:10F64000020202020202020202020202020202029A
+:10F65000020202020202020202020202020202028A
+:10F66000020202020202020202020202020202007C
+:10F67000020202020202020202020202020202026A
+:10F68000020202020202020202020202020200025C
+:10F69000020202020202020202020202020202024A
+:10F6A000020202020202020202020202020202023A
+:10F6B000020202020202020202020202020202022A
+:10F6C000020202020202020002020202020202021C
+:10F6D000020202020202020202020202020202020A
+:10F6E00002020202020202020202020202020202FA
+:10F6F00002020202020202020202020202020202EA
+:10F7000002020202020202020202020202020202D9
+:10F7100002020202020202020202020202020202C9
+:10F7200002020202020202020202020202020202B9
+:10F7300002020202020202020202020202020202A9
+:10F740000202020202020202020202020202020299
+:10F750000202020202020202020202020202020289
+:10F76000020202020202020202020202020202007B
+:10F770000202020202020202020202020202020269
+:10F78000020202020202020202020202020200025B
+:10F790000202020202020202020202020202020249
+:10F7A0000202020202020202020202020202020239
+:10F7B0000202020202020202020202020202020229
+:10F7C0000202020202020202020202020202020219
+:10F7D0000202020202020202020202020202020209
+:10F7E00002020202020202020202020202020202F9
+:10F7F00002020202020202020202020202020202E9
+:10F8000002020202020202020202020202020202D8
+:10F8100002020202020202020202020202020202C8
+:10F8200002020202020202020202020202020202B8
+:10F8300002020202020202020202020202020202A8
+:10F840000202020202020202020202020202020298
+:10F850000202020202020202020202020202020288
+:10F86000020202020202020202020202020202007A
+:10F870000202020202020202020202020202020268
+:10F88000020202020202020202020202020200025A
+:10F890000202020202020202020202020202020248
+:10F8A0000202020202020202020202020202020238
+:10F8B0000202020202020202020202020202020228
+:10F8C0000202020202020202020202020202020218
+:10F8D0000202020202020202020202020202020208
+:10F8E00002020202020202020202020202020202F8
+:10F8F00002020202020202020202020202020202E8
+:10F9000002020202020202020202020202020202D7
+:10F9100002020202020202020202020202020202C7
+:10F9200002020202020202020202020202020202B7
+:10F9300002020202020202020202020202020202A7
+:10F940000202020202020202020202020202020297
+:10F950000202020202020202020202020202020287
+:10F960000202020202020202020202020202020079
+:10F970000202020202020202020202020202020267
+:10F980000202020202020202020202020202000259
+:10F990000202020202020202020202020202020247
+:10F9A0000202020202020202020202020202020237
+:10F9B0000202020202020202020202020202020227
+:10F9C0000202020202020202020202020202020217
+:10F9D0000202020202020202020202020202020207
+:10F9E00002020202020202020202020202020202F7
+:10F9F00002020202020202020202020202020202E7
+:10FA000002020202020202020202020202020202D6
+:10FA100002020202020202020202020202020202C6
+:10FA200002020202020202020202020202020202B6
+:10FA300002020202020202020202020202020202A6
+:10FA40000202020202020202020202020202020296
+:10FA50000202020202020202020202020202020286
+:10FA60000202020202020202020202020202020078
+:10FA70000202020202020202020202020202020266
+:10FA80000202020202020202020202020202000258
+:10FA90000202020202020202010202020202020247
+:10FAA0000202020202020202020202020202020236
+:10FAB0000202020202020202020202020202020226
+:10FAC0000202020202020202020202020202020216
+:10FAD0000202020202020202020202020202020206
+:10FAE00002020202020202020202020202020202F6
+:10FAF00002020202020202020202020202020202E6
+:10FB000002020202020202020202020202020202D5
+:10FB100002020202020202020202020202020202C5
+:10FB200002020202020202020202020202020202B5
+:10FB300002020202020202020202020202020202A5
+:10FB40000202020202020202020202020202020295
+:10FB50000202020202020202020202020202020285
+:10FB60000202020202020202020202020202020077
+:10FB70000202020202020202020202020202020265
+:10FB80000202020202020202020202020202000257
+:10FB90000202020202020202020202020202020245
+:10FBA0000202020202020202020202020202020235
+:10FBB0000202020202020202020202020202020225
+:10FBC0000202020202020202020202020202020215
+:10FBD0000202020202020202020202020202020205
+:10FBE00002020202020202020202020202020202F5
+:10FBF00002020202020202020202020202020202E5
+:10FC000002020202020202020202020202020202D4
+:10FC100002020202020202020202020202020202C4
+:10FC200002020202020202020202020202020202B4
+:10FC300002020202020202020202020202020202A4
+:10FC40000202020202020202020202020202020294
+:10FC50000202020202020202020202020202020284
+:10FC60000202020202020202020202020202020076
+:10FC70000202020202020202020202020202020264
+:10FC80000202020202020202020202020202000256
+:10FC90000202020202020202010202020202020245
+:10FCA0000202020202020202020202020202020234
+:10FCB0000202020202020202020202020202020224
+:10FCC0000202020202020202020202020202020214
+:10FCD0000202020202020202020202020202020204
+:10FCE00002020202020202020202020202020202F4
+:10FCF00002020202020202020202020202020202E4
+:10FD000002020202020202020202020202020202D3
+:10FD100002020202020202020202020202020202C3
+:10FD200002020202020202020202020202020202B3
+:10FD300002020202020202020202020202020202A3
+:10FD40000202020202020202020202020202020293
+:10FD50000202020202020202020202020202020283
+:10FD60000202020202020202020202020202020075
+:10FD70000202020202020202020202020202020263
+:10FD80000202020202020202020202020202000255
+:10FD90000202020202020202010202010101020247
+:10FDA0000202020202020202020202020202020233
+:10FDB0000202020202020202020202020202020223
+:10FDC0000202020202020202020202020202020213
+:10FDD0000202020202020202020202020202020203
+:10FDE00002020202020202020202020202020202F3
+:10FDF00002020202020202020202020202020202E3
+:10FE000002020202020202020202020202020202D2
+:10FE100002020202020202020202020202020202C2
+:10FE200002020202020202020202020202020202B2
+:10FE300002020202020202020202020202020202A2
+:10FE40000202020202020202020202020202020292
+:10FE50000202020202020202020202020202020282
+:10FE60000202020202020202020202020202020074
+:10FE70000202020202020202020202020202020262
+:10FE80000202020202020202020202020102000255
+:10FE9000010101010101010101010102020201024E
+:10FEA0000202020202020202020202020202020232
+:10FEB0000202020202020202020202020202020222
+:10FEC0000202020202020202020202020202020212
+:10FED0000202020202020202020202020202020202
+:10FEE00002020202020202020202020202020202F2
+:10FEF00002020202020202020202020202020202E2
+:10FF000002020202020202020202020202020202D1
+:10FF100002020202020202020202020202020202C1
+:10FF200002020202020202020202020202020202B1
+:10FF300002020202020202020202020202020202A1
+:10FF40000202020202020202020202020202020291
+:10FF50000202020202020202020202020202020281
+:10FF60000202020202020202020202020202020073
+:10FF70000202020202020202020202020202020261
+:10FF80000202020202010202020202020102000255
+:10FF90000202020202020202010202010101020245
+:10FFA0000202020202020202020202020202020231
+:10FFB0000202020202020202020202020202020221
+:10FFC0000202020202020202020202020202020211
+:10FFD0000202020202020202020202020202020201
+:10FFE00002020202020202020202020202020202F1
+:10FFF00002020202020202020202020202020202E1
+:02000002E0001C
+:1000000002020202020202020202020202020202D0
+:1000100002020202020202020202020202020202C0
+:1000200002020202020202020202020202020202B0
+:1000300002020202020202020202020202020202A0
+:100040000202020202020202020202020202020290
+:100050000202020202020202020202020202020280
+:100060000202020202020202020202020202020072
+:100070000202020202020202020202020202020260
+:100080000202020202010202020202020102000155
+:10009000010101010101010101010101010101024F
+:1000A0000202020202020202020202020202020230
+:1000B0000202020202020202020202020202020220
+:1000C0000202020202020202020202020202020210
+:1000D0000202020202020202020202020202020200
+:1000E00002020202020202020202020202020202F0
+:1000F00002020202020202020202020202020202E0
+:1001000002020202020202020202020202020202CF
+:1001100002020202020202020202020202020202BF
+:1001200002020202020202020202020202020202AF
+:10013000020202020202020202020202020202029F
+:10014000020202020202020202020202020202028F
+:10015000020202020202020202020202020202027F
+:10016000020202020202020202020202020202026F
+:10017000020202020202020202020202020202025F
+:100180000202020202010202020201020101000255
+:10019000010101010101010101010101010101024E
+:1001A000020202020202020202020202020202022F
+:1001B000020202020202020202020202020202021F
+:1001C000020202020202020202020202020202020F
+:1001D00002020202020202020202020202020202FF
+:1001E00002020202020202020202020202020202EF
+:1001F00002020202020202020202020202020202DF
+:1002000002020202020202020202020202020202CE
+:1002100002020202020202020202020202020202BE
+:1002200002020202020202020202020202020202AE
+:10023000020202020202020202020202020202029E
+:10024000020202020202020202020202020202028E
+:10025000020202020202020202020202020202027E
+:10026000020202020202020202020202020202026E
+:10027000020202020202020202020202020202025E
+:100280000202020202010202020201010101000156
+:10029000010101010101010101010101010101024D
+:1002A000020202020202020202020202020202022E
+:1002B000020202020202020202020202020202021E
+:1002C000020202020202020202020202020202020E
+:1002D00002020202020202020202020202020202FE
+:1002E00002020202020202020202020202020202EE
+:1002F00002020202020202020202020202020202DE
+:1003000002020202020202020202020202020202CD
+:1003100002020202020202020202020202020202BD
+:1003200002020202020202020202020202020202AD
+:10033000020202020202020202020202020202029D
+:10034000020202020202020202020202020202028D
+:10035000020202020202020202020202020202027D
+:10036000020202020202020202020202020202026D
+:10037000020202020202020202020202020202015E
+:10038000010101010101010101010101010101015D
+:10039000010101010101010101010101010101024C
+:1003A000020202020202020202020202020202022D
+:1003B000020202020202020202020202020202021D
+:1003C000020202020202020202020202020202020D
+:1003D00002020202020202020202020202020202FD
+:1003E00002020202020202020202020202020202ED
+:1003F00002020202020202020202020202020202DD
+:1004000002020202020202020202020202020202CC
+:1004100002020202020202020202020202020202BC
+:1004200002020202020202020202020202020202AC
+:10043000020202020202020202020202020202029C
+:10044000020202020202020202020202020202028C
+:10045000020202020202020202020202020202027C
+:10046000020202020202020202020202020202026C
+:10047000020202020202020202020202020202015D
+:10048000010101010101010101010101010101015C
+:10049000010101010101010101010101010101024B
+:1004A000020202020202020202020202020202022C
+:1004B000020202020202020102020202020202021D
+:1004C000020202020202020202020202020202020C
+:1004D00002020202020202020202020202020202FC
+:1004E00002020202020202020202020202020202EC
+:1004F00002020202020202020202020202020202DC
+:1005000002020202020202020202020202020202CB
+:1005100002020202020202020202020202020202BB
+:1005200002020202020202020202020202020202AB
+:10053000020202020202020202020202020202029B
+:10054000020202020202020202020202020202028B
+:10055000020202020202020202020202020202027B
+:10056000020202020202020202020202020202026B
+:10057000020202020202020202020202020202015C
+:10058000010101010101010101010101010101015B
+:10059000010101010101010101010101010101024A
+:1005A000020202020202010202020202020202022C
+:1005B000020202020202020202020202010202021C
+:1005C000020202020202020202020202020202020B
+:1005D00002020202020202020202020202020202FB
+:1005E00002020202020202020202020202020202EB
+:1005F00002020202020202020202020202020202DB
+:1006000002020202020202020202020202020202CA
+:1006100002020202020202020202020202020202BA
+:1006200002020202020202020202020202020202AA
+:10063000020202020202020202020202020202029A
+:10064000020202020202020202020202020202028A
+:10065000020202020202020202020202020202027A
+:10066000020202020202020202020202020202026A
+:10067000020202020202020202020202020202015B
+:10068000010101010101010101010101010101015A
+:100690000101010101010101010101010101010249
+:1006A000020202020202020201020202010102022D
+:1006B000020202020202010102020202020202021C
+:1006C000020202020202020202020202020202020A
+:1006D00002020202020202020202020202020202FA
+:1006E00002020202020202020202020202020202EA
+:1006F00002020202020202020202020202020202DA
+:1007000002020202020202020202020202020202C9
+:1007100002020202020202020202020202020202B9
+:1007200002020202020202020202020202020202A9
+:100730000202020202020202020202020202020299
+:100740000202020202020202020202020202020289
+:100750000202020202020202020202020202020279
+:100760000202020202020202020202020202020269
+:10077000020202020202020202020202020202015A
+:100780000101010101010101010101010101010159
+:100790000101010101010101010101010101010248
+:1007A000020202020202010202020101020202022C
+:1007B000020202020201020102020101010102021F
+:1007C0000202020202020202020202020202020209
+:1007D00002020202020202020202020202020202F9
+:1007E00002020202020202020202020202020202E9
+:1007F00002020202020202020202020202020202D9
+:1008000002020202020202020202020202020202C8
+:1008100002020202020202020202020202020202B8
+:1008200002020202020202020202020202020202A8
+:100830000202020202020202020202020202020298
+:100840000202020202020202020202020202020288
+:100850000202020202020202020202020202020278
+:100860000202020202020202020202020202020268
+:100870000202020202020202020202020202020159
+:100880000101010101010101010101010101010158
+:100890000101010101010101010101010101010247
+:1008A000020202020202010201010202010102022D
+:1008B000020202020202010102020202010202021B
+:1008C0000202020202020202020202020202020208
+:1008D00002020202020202020202020202020202F8
+:1008E00002020202020202020202020202020202E8
+:1008F00002020202020202020202020202020202D8
+:1009000002020202020202020202020202020202C7
+:1009100002020202020202020202020202020202B7
+:1009200002020202020202020202020202020202A7
+:100930000202020202020202020202020202020297
+:100940000202020202020202020202020202020287
+:100950000202020202020202020202020202020277
+:100960000202020202020202020202020202020267
+:100970000202020202020202020202020202020158
+:100980000101010101010101010101010101010157
+:100990000101010101010101010101010101010246
+:1009A000020202020202010101020101010102012F
+:1009B000020202020201010102010101010102021F
+:1009C0000202020202020202020202020202020207
+:1009D00002020202020202020202020202020202F7
+:1009E00002020202020202020202020202020202E7
+:1009F00002020202020202020202020202020202D7
+:100A000002020202020202020202020202020202C6
+:100A100002020202020202020202020202020202B6
+:100A200002020202020202020202020202020202A6
+:100A30000202020202020202020202020202020296
+:100A40000202020202020202020202020202020286
+:100A50000202020202020202020202020202020276
+:100A60000202020202020202020202020202020266
+:100A70000202020202020202020202020202020157
+:100A80000101010101010101010101010101010156
+:100A90000101010101010101010101010101010146
+:100AA0000101010101010102010101010101010234
+:100AB0000101010101010101010201010101010224
+:100AC0000202020202020202020202020202020206
+:100AD00002020202020202020202020202020202F6
+:100AE00002020202020202020202020202020202E6
+:100AF00002020202020202020202020202020202D6
+:100B000002020202020202020202020202020202C5
+:100B100002020202020202020202020202020202B5
+:100B200002020202020202020202020202020202A5
+:100B30000202020202020202020202020202020295
+:100B40000202020202020202020202020202020285
+:100B50000202020202020202020202020202020275
+:100B60000202020202020202020202020202020265
+:100B70000202020202020202020202020202020156
+:100B80000101010101010101010101010101010155
+:100B90000101010101010101010101010101010244
+:100BA000020202020202010101010101010102012E
+:100BB000020202020201010102010101010102021D
+:100BC0000202020202020102020202020202020206
+:100BD00002020202020202020202020202020202F5
+:100BE00002020202020202020202020202020202E5
+:100BF00002020202020202020202020202020202D5
+:100C000002020202020202020202020202020202C4
+:100C100002020202020202020202020202020202B4
+:100C200002020202020202020202020202020202A4
+:100C30000202020202020202020202020202020294
+:100C40000202020202020202020202020202020284
+:100C50000202020202020202020202020202020274
+:100C60000202020202020202020202020202020264
+:100C70000202020202020202020202020202020155
+:100C80000101010101010101010101010101010154
+:100C90000101010101010101010101010101010144
+:100CA0000101010101010101010101010101010134
+:100CB0000101010101010101010101010101010223
+:100CC0000202020202010102020201020102020208
+:100CD00002020202020202020202020202020202F4
+:100CE00002020202020202020202020202020202E4
+:100CF00002020202020202020202020202020202D4
+:100D000002020202020202020202020202020202C3
+:100D100002020202020202020202020202020202B3
+:100D200002020202020202020202020202020202A3
+:100D30000202020202020202020202020202020293
+:100D40000202020202020202020202020202020283
+:100D50000202020202020202020202020202020273
+:100D60000202020202020202020202020202020263
+:100D70000202020202020202020202020202020154
+:100D80000101010101010101010101010101010153
+:100D90000101010101010101010101010101010143
+:100DA0000101010101010101010101010101010133
+:100DB0000101010101010101010101010101010222
+:100DC0000202010202010102020201010102020209
+:100DD00002020202020202020202020202020202F3
+:100DE00002020202020202020202020202020202E3
+:100DF00002020202020202020202020202020202D3
+:100E000002020202020202020202020202020202C2
+:100E100002020202020202020202020202020202B2
+:100E200002020202020202020202020202020202A2
+:100E30000202020202020202020202020202020292
+:100E40000202020202020202020202020202020282
+:100E50000202020202020202020202020202020272
+:100E60000202020202020202020202020202020262
+:100E70000202020202020202020202020202020153
+:100E80000101010101010101010101010101010152
+:100E90000101010101010101010101010101010142
+:100EA0000101010101010101010101010101010132
+:100EB0000101010101010101010101010101010221
+:100EC000020201010101010201010101010102020D
+:100ED00002020202020202020202020202020202F2
+:100EE00002020202020202020202020202020202E2
+:100EF00002020202020202020202020202020202D2
+:100F000002020202020202020202020202020202C1
+:100F100002020202020202020202020202020202B1
+:100F200002020202020202020202020202020202A1
+:100F30000202020202020202020202020202020291
+:100F40000202020202020202020202020202020281
+:100F50000202020202020202020202020202020271
+:100F60000202020202020202020202020202020261
+:100F70000202020202020202020202020202020152
+:100F80000101010101010101010101010101010151
+:100F90000101010101010101010101010101010141
+:100FA0000101010101010101010101010101010131
+:100FB0000101010101010101010101010101010121
+:100FC000020201010101010201010101010102020C
+:100FD00002020202010202020202020201020202F3
+:100FE00002020202020202020202020202020202E1
+:100FF00002020202020202020202020202020202D1
+:1010000002020202020202020202020202020202C0
+:1010100002020202020202020202020202020202B0
+:1010200002020202020202020202020202020202A0
+:101030000202020202020202020202020202020290
+:101040000202020202020202020202020202020280
+:101050000202020202020202020202020202020270
+:101060000202020202020202020202020202020260
+:101070000202020202020202020202020202020151
+:101080000101010101010101010101010101010150
+:101090000101010101010101010101010101010140
+:1010A0000101010101010101010101010101010130
+:1010B0000101010101010101010101010101010120
+:1010C000010101010101010101010101010101020F
+:1010D00002020202020202020202020202020202F0
+:1010E00002020202020202020202020202020202E0
+:1010F00002020202020202020202020202020202D0
+:1011000002020202020202020202020202020202BF
+:1011100002020202020202020202020202020202AF
+:10112000020202020202020202020202020202029F
+:10113000020202020202020202020202020202028F
+:10114000020202020202020202020202020202027F
+:10115000020202020202020202020202020202026F
+:10116000020202020202020202020202020202025F
+:101170000202020202020202020202020202020150
+:10118000010101010101010101010101010101014F
+:10119000010101010101010101010101010101013F
+:1011A000010101010101010101010101010101012F
+:1011B000010101010101010101010101010101011F
+:1011C000010101010101010101010101010101020E
+:1011D00002020202010202010201010201020202F4
+:1011E00002020202020202020202020202020202DF
+:1011F00002020202020202020202020202020202CF
+:1012000002020202020202020202020202020202BE
+:1012100002020202020202020202020202020202AE
+:10122000020202020202020202020202020202029E
+:10123000020202020202020202020202020202028E
+:10124000020202020202020202020202020202027E
+:10125000020202020202020202020202020202026E
+:10126000020202020202020202020202020202025E
+:10127000020202020202020202020202020202014F
+:10128000010101010101010101010101010101014E
+:10129000010101010101010101010101010101013E
+:1012A000010101010101010101010101010101012E
+:1012B000010101010101010101010101010101011E
+:1012C000010101010101010101010101010101010E
+:1012D00002020102010202020102020101020202F3
+:1012E00002020202020202020202020202020202DE
+:1012F00002020202020202020202020202020202CE
+:1013000002020202020202020202020202020202BD
+:1013100002020202020202020202020202020202AD
+:10132000020202020202020202020202020202029D
+:10133000020202020202020202020202020202028D
+:10134000020202020202020202020202020202027D
+:10135000020202020202020202020202020202026D
+:10136000020202020202020202020202020202025D
+:10137000020202020202020202020202020202014E
+:10138000010101010101010101010101010101014D
+:10139000010101010101010101010101010101013D
+:1013A000010101010101010101010101010101012D
+:1013B000010101010101010101010101010101011D
+:1013C000010101010101010101010101010101020C
+:1013D00002020202010202010201010201010202F3
+:1013E00002020202020202020202020202020202DD
+:1013F00002020202020202020202020202020202CD
+:1014000002020202020202020202020202020202BC
+:1014100002020202020202020202020202020202AC
+:10142000020202020202020202020202020202029C
+:10143000020202020202020202020202020202028C
+:10144000020202020202020202020202020202027C
+:10145000020202020202020202020202020202026C
+:10146000020202020202020202020202020202025C
+:10147000020202020202020202020202020202014D
+:10148000010101010101010101010101010101014C
+:10149000010101010101010101010101010101013C
+:1014A000010101010101010101010101010101012C
+:1014B000010101010101010101010101010101011C
+:1014C000010101010101010101010101010101010C
+:1014D00001010101010101010101010101020102FA
+:1014E00002020202020202020202020202020202DC
+:1014F00002020202020202020202020202020202CC
+:1015000002020202020202020202020202020202BB
+:1015100002020202020202020202020202020202AB
+:10152000020202020202020202020202020202029B
+:10153000020202020202020202020202020202028B
+:10154000020202020202020202020202020202027B
+:10155000020202020202020202020202020202026B
+:10156000020202020202020202020202020202025B
+:10157000020202020202020202020202020202014C
+:10158000010101010101010101010101010101014B
+:10159000010101010101010101010101010101013B
+:1015A000010101010101010101010101010101012B
+:1015B000010101010101010101010101010101011B
+:1015C000010101010101010101010101010101010B
+:1015D00002020102010202010101010101010202F4
+:1015E00002020202020102020202020202020202DC
+:1015F00002020202020202020202020202020202CB
+:1016000002020202020202020202020202020202BA
+:1016100002020202020202020202020202020202AA
+:10162000020202020202020202020202020202029A
+:10163000020202020202020202020202020202028A
+:10164000020202020202020202020202020202027A
+:10165000020202020202020202020202020202026A
+:10166000020202020202020202020202020202025A
+:10167000020202020202020202020202020202014B
+:10168000010101010101010101010101010101014A
+:10169000010101010101010101010101010101013A
+:1016A000010101010101010101010101010101012A
+:1016B000010101010101010101010101010101011A
+:1016C000010101010101010101010101010101010A
+:1016D00001010101010101010101010101010101FA
+:1016E00001020202020201020102020201020202DE
+:1016F00002020202020202020202020202020202CA
+:1017000002020202020202020202020202020202B9
+:1017100002020202020202020202020202020202A9
+:101720000202020202020202020202020202020299
+:101730000202020202020202020202020202020289
+:101740000202020202020202020202020202020279
+:101750000202020202020202020202020202020269
+:101760000202020202020202020202020202020259
+:10177000020202020202020202020202020202014A
+:101780000101010101010101010101010101010149
+:101790000101010101010101010101010101010139
+:1017A0000101010101010101010101010101010129
+:1017B0000101010101010101010101010101010119
+:1017C0000101010101010101010101010101010109
+:1017D00001010101010101010101010101010102F8
+:1017E00002020202020102010201010102010202DF
+:1017F00002020202020202020202020202020202C9
+:1018000002020202020202020202020202020202B8
+:1018100002020202020202020202020202020202A8
+:101820000202020202020202020202020202020298
+:101830000202020202020202020202020202020288
+:101840000202020202020202020202020202020278
+:101850000202020202020202020202020202020268
+:101860000202020202020202020202020202020258
+:101870000202020202020202020202020202020149
+:101880000101010101010101010101010101010148
+:101890000101010101010101010101010101010138
+:1018A0000101010101010101010101010101010128
+:1018B0000101010101010101010101010101010118
+:1018C0000101010101010101010101010101010108
+:1018D00001010101010101010101010101010101F8
+:1018E00001020202010101020102020201020202DE
+:1018F00002020202020202020202020202020202C8
+:1019000002020202020202020202020202020202B7
+:1019100002020202020202020202020202020202A7
+:101920000202020202020202020202020202020297
+:101930000202020202020202020202020202020287
+:101940000202020202020202020202020202020277
+:101950000202020202020202020202020202020267
+:101960000202020202020202020202020202020257
+:101970000202020202020202020202020202020148
+:101980000101010101010101010101010101010147
+:101990000101010101010101010101010101010137
+:1019A0000101010101010101010101010101010127
+:1019B0000101010101010101010101010101010117
+:1019C0000101010101010101010101010101010107
+:1019D00001010101010101010101010101010101F7
+:1019E00001010101020101010101010101010102E5
+:1019F00002020202020202020202020202020202C7
+:101A000002020202020202020202020202020202B6
+:101A100002020202020202020202020202020202A6
+:101A20000202020202020202020202020202020296
+:101A30000202020202020202020202020202020286
+:101A40000202020202020202020202020202020276
+:101A50000202020202020202020202020202020266
+:101A60000202020202020202020202020202020256
+:101A70000202020202020202020202020202020147
+:101A80000101010101010101010101010101010146
+:101A90000101010101010101010101010101010136
+:101AA0000101010101010101010101010101010126
+:101AB0000101010101010101010101010101010116
+:101AC0000101010101010101010101010101010106
+:101AD00001010101010101010101010101010101F6
+:101AE00001020202010101010101010101010201E2
+:101AF00002020202020202020202020201020202C7
+:101B000002020202020202020102020202020202B6
+:101B100002020202020202020202020202020202A5
+:101B20000202020202020202020202020202020295
+:101B30000202020202020202020202020202020285
+:101B40000202020202020202020202020202020275
+:101B50000202020202020202020202020202020265
+:101B60000202020202020202020202020202020255
+:101B70000202020202020202020202020202020146
+:101B80000101010101010101010101010101010145
+:101B90000101010101010101010101010101010135
+:101BA0000101010101010101010101010101010125
+:101BB0000101010101010101010101010101010115
+:101BC0000101010101010101010101010101010105
+:101BD00001010101010101010101010101010101F5
+:101BE00001010101010101010101010101010101E5
+:101BF00002020202020202020202020201020202C6
+:101C000002020201020202020102020202020202B6
+:101C100002020202020202020202020202020202A4
+:101C20000202020202020202020202020202020294
+:101C30000202020202020202020202020202020284
+:101C40000202020202020202020202020202020274
+:101C50000202020202020202020202020202020264
+:101C60000202020202020202020202020202020254
+:101C70000202020202020202020202020202020145
+:101C80000101010101010101010101010101010144
+:101C90000101010101010101010101010101010134
+:101CA0000101010101010101010101010101010124
+:101CB0000101010101010101010101010101010114
+:101CC0000101010101010101010101010101010104
+:101CD00001010101010101010101010101010101F4
+:101CE00001010101010101010101010101010101E4
+:101CF00002020202020202020101010101020202C9
+:101D000002010201020202020102010201020202B8
+:101D100002020202020202020202020202020202A3
+:101D20000202020202020202020202020202020293
+:101D30000202020202020202020202020202020283
+:101D40000202020202020202020202020202020273
+:101D50000202020202020202020202020202020263
+:101D60000202020202020202020202020202020253
+:101D70000202020202020202020202020202020144
+:101D80000101010101010101010101010101010143
+:101D90000101010101010101010101010101010133
+:101DA0000101010101010101010101010101010123
+:101DB0000101010101010101010101010101010113
+:101DC0000101010101010101010101010101010103
+:101DD00001010101010101010101010101010101F3
+:101DE00001010101010101010101010101010101E3
+:101DF00001010101010101010101010101010101D3
+:101E000002010201020202020101010201020202B8
+:101E100002020202020202020202020202020202A2
+:101E20000202020202020202020202020202020292
+:101E30000202020202020202020202020202020282
+:101E40000202020202020202020202020202020272
+:101E50000202020202020202020202020202020262
+:101E60000202020202020202020202020202020252
+:101E70000202020202020202020202020202020143
+:101E80000101010101010101010101010101010142
+:101E90000101010101010101010101010101010132
+:101EA0000101010101010101010101010101010122
+:101EB0000101010101010101010101010101010112
+:101EC0000101010101010101010101010101010102
+:101ED00001010101010101010101010101010101F2
+:101EE00001010101010101010101010101010101E2
+:101EF00001010101010101010101010101010101D2
+:101F000001010101010101010101010101010102C0
+:101F100002020202020202020202020202020202A1
+:101F20000202020202020202020202020202020291
+:101F30000202020202020202020202020202020281
+:101F40000202020202020202020202020202020271
+:101F50000202020202020202020202020202020261
+:101F60000202020202020202020202020202020251
+:101F70000202020202020202020202020202020142
+:101F80000101010101010101010101010101010141
+:101F90000101010101010101010101010101010131
+:101FA0000101010101010101010101010101010121
+:101FB0000101010101010101010101010101010111
+:101FC0000101010101010101010101010101010101
+:101FD00001010101010101010101010101010101F1
+:101FE00001010101010101010101010101010101E1
+:101FF00001010101010101010101010101010101D1
+:1020000001010101010101010101010101010102BF
+:1020100002020202020202020202020202020202A0
+:102020000202020202020202020202020202020290
+:102030000202020202020202020202020202020280
+:102040000202020202020202020202020202020270
+:102050000202020202020202020202020202020260
+:102060000202020202020202020202020202020250
+:102070000202020202020202020202020202020141
+:102080000101010101010101010101010101010140
+:102090000101010101010101010101010101010130
+:1020A0000101010101010101010101010101010120
+:1020B0000101010101010101010101010101010110
+:1020C0000101010101010101010101010101010100
+:1020D00001010101010101010101010101010101F0
+:1020E00001010101010101010101010101010101E0
+:1020F00001010101010101010101010101010101D0
+:1021000001010101010101010101010101010102BE
+:10211000020202020202020202020202020202029F
+:10212000020202020202020202020202020202028F
+:10213000020202020202020202020202020202027F
+:10214000020202020202020202020202020202026F
+:10215000020202020202020202020202020202025F
+:10216000020202020202020202020202020202024F
+:102170000202020202020202020202020202020140
+:10218000010101010101010101010101010101013F
+:10219000010101010101010101010101010101012F
+:1021A000010101010101010101010101010101011F
+:1021B000010101010101010101010101010101010F
+:1021C00001010101010101010101010101010101FF
+:1021D00001010101010101010101010101010101EF
+:1021E00001010101010101010101010101010101DF
+:1021F00001010101010101010101010101010101CF
+:1022000001010101010101010101010101010102BD
+:10221000020202020202020202020202020202019F
+:10222000020202020202020202020202020202028E
+:10223000020202020202020202020202020202027E
+:10224000020202020202020202020202020202026E
+:10225000020202020202020202020202020202025E
+:10226000020202020202020202020202020202024E
+:10227000020202020202020202020202020202013F
+:10228000010101010101010101010101010101013E
+:10229000010101010101010101010101010101012E
+:1022A000010101010101010101010101010101011E
+:1022B000010101010101010101010101010101010E
+:1022C00001010101010101010101010101010101FE
+:1022D00001010101010101010101010101010101EE
+:1022E00001010101010101010101010101010101DE
+:1022F00001010101010101010101010101010101CE
+:1023000001010101010101010101010101010101BD
+:10231000020202020202020202020202020202019E
+:10232000020202020202020202020202020202028D
+:10233000020202020202020202020202020202027D
+:10234000020202020202020202020202020202026D
+:10235000020202020202020202020202020202025D
+:10236000020202020202020202020202020202024D
+:10237000020202020202020202020202020202013E
+:10238000010101010101010101010101010101013D
+:10239000010101010101010101010101010101012D
+:1023A000010101010101010101010101010101011D
+:1023B000010101010101010101010101010101010D
+:1023C00001010101010101010101010101010101FD
+:1023D00001010101010101010101010101010101ED
+:1023E00001010101010101010101010101010101DD
+:1023F00001010101010101010101010101010101CD
+:1024000001010101010101010101010101010102BB
+:10241000020202020202020202020202020202019D
+:10242000020202020202020202020202020202028C
+:10243000020202020202020202020202020202027C
+:10244000020202020202020202020202020202026C
+:10245000020202020202020202020202020202025C
+:10246000020202020202020202020202020202024C
+:10247000020202020202020202020202020202013D
+:10248000010101010101010101010101010101013C
+:10249000010101010101010101010101010101012C
+:1024A000010101010101010101010101010101011C
+:1024B000010101010101010101010101010101010C
+:1024C00001010101010101010101010101010101FC
+:1024D00001010101010101010101010101010101EC
+:1024E00001010101010101010101010101010101DC
+:1024F00001010101010101010101010101010101CC
+:1025000001010101010101010101010101010101BB
+:1025100001010101010101010101010101010101AB
+:10252000020102020202020202020202020202028C
+:10253000020202020202020202020202020202027B
+:10254000020202020202020202020202020202026B
+:10255000020202020202020202020202020202025B
+:10256000020202020202020202020202020202024B
+:10257000020202020202020202020202020202013C
+:10258000010101010101010101010101010101013B
+:10259000010101010101010101010101010101012B
+:1025A000010101010101010101010101010101011B
+:1025B000010101010101010101010101010101010B
+:1025C00001010101010101010101010101010101FB
+:1025D00001010101010101010101010101010101EB
+:1025E00001010101010101010101010101010101DB
+:1025F00001010101010101010101010101010101CB
+:1026000001010101010101010101010101010101BA
+:10261000020202020202020202020202020202019B
+:10262000010101010101010101010101010101019A
+:10263000020202020202020202020202020202027A
+:10264000020202020202020202020202020202026A
+:10265000020202020202020202020202020202025A
+:10266000020202020202020202020202020202024A
+:10267000020202020202020202020202020202013B
+:10268000010101010101010101010101010101013A
+:10269000010101010101010101010101010101012A
+:1026A000010101010101010101010101010101011A
+:1026B000010101010101010101010101010101010A
+:1026C00001010101010101010101010101010101FA
+:1026D00001010101010101010101010101010101EA
+:1026E00001010101010101010101010101010101DA
+:1026F00001010101010101010101010101010101CA
+:1027000001010101010101010101010101010101B9
+:1027100001010101010101010101010101010101A9
+:102720000101010101010101010101010101010199
+:102730000202020202020202020202020202020279
+:102740000202020202020202020202020202020269
+:102750000202020202020202020202020202020259
+:102760000202020202020202020202020202020249
+:10277000020202020202020202020202020202013A
+:102780000101010101010101010101010101010139
+:102790000101010101010101010101010101010129
+:1027A0000101010101010101010101010101010119
+:1027B0000101010101010101010101010101010109
+:1027C00001010101010101010101010101010101F9
+:1027D00001010101010101010101010101010101E9
+:1027E00001010101010101010101010101010101D9
+:1027F00001010101010101010101010101010101C9
+:1028000001010101010101010101010101010101B8
+:1028100001010101010101010101010101010101A8
+:102820000101010101010101010101010101010198
+:102830000202020202020202020202020202020278
+:102840000202020202020202020202020202020268
+:102850000202020202020202020202020202020258
+:102860000202020202020202020202020202020248
+:102870000202020202020202020202020202020139
+:102880000101010101010101010101010101010138
+:102890000101010101010101010101010101010128
+:1028A0000101010101010101010101010101010118
+:1028B0000101010101010101010101010101010108
+:1028C00001010101010101010101010101010101F8
+:1028D00001010101010101010101010101010101E8
+:1028E00001010101010101010101010101010101D8
+:1028F00001010101010101010101010101010101C8
+:1029000001010101010101010101010101010101B7
+:1029100001010101010101010101010101010101A7
+:102920000101010101010101010101010101010197
+:102930000101010101010101010101010101010187
+:102940000202020202020202020202020202020267
+:102950000202020202020202020202020202020257
+:102960000202020202020202020202020202020247
+:102970000202020202020202020202020202020138
+:102980000101010101010101010101010101010137
+:102990000101010101010101010101010101010127
+:1029A0000101010101010101010101010101010117
+:1029B0000101010101010101010101010101010107
+:1029C00001010101010101010101010101010101F7
+:1029D00001010101010101010101010101010101E7
+:1029E00001010101010101010101010101010101D7
+:1029F00001010101010101010101010101010101C7
+:102A000001010101010101010101010101010101B6
+:102A100001010101010101010101010101010101A6
+:102A20000101010101010101010101010101010196
+:102A30000101010101010101010101010101010186
+:102A40000202020202020202020202020202020167
+:102A50000202020202020202020202020202020256
+:102A60000202020202020202020202020202020246
+:102A70000202020202020202020202020202020137
+:102A80000101010101010101010101010101010136
+:102A90000101010101010101010101010101010126
+:102AA0000101010101010101010101010101010116
+:102AB0000101010101010101010101010101010106
+:102AC00001010101010101010101010101010101F6
+:102AD00001010101010101010101010101010101E6
+:102AE00001010101010101010101010101010101D6
+:102AF00001010101010101010101010101010101C6
+:102B000001010101010101010101010101010101B5
+:102B100001010101010101010101010101010101A5
+:102B20000101010101010101010101010101010195
+:102B30000101010101010101010101010101010185
+:102B40000202020202020202020202020202020166
+:102B50000202020202020202020202020202020255
+:102B60000202020202020202020202020202020245
+:102B70000202020202020202020202020202020136
+:102B80000101010101010101010101010101010135
+:102B90000101010101010101010101010101010125
+:102BA0000101010101010101010101010101010115
+:102BB0000101010101010101010101010101010105
+:102BC00001010101010101010101010101010101F5
+:102BD00001010101010101010101010101010101E5
+:102BE00001010101010101010101010101010101D5
+:102BF00001010101010101010101010101010101C5
+:102C000001010101010101010101010101010101B4
+:102C100001010101010101010101010101010101A4
+:102C20000101010101010101010101010101010194
+:102C30000101010101010101010101010101010184
+:102C40000101010101010101010101010101010174
+:102C50000202020202020202020202020202020254
+:102C60000202020202020202020202020202020244
+:102C70000202020202020202020202020202020135
+:102C80000101010101010101010101010101010134
+:102C90000101010101010101010101010101010124
+:102CA0000101010101010101010101010101010114
+:102CB0000101010101010101010101010101010104
+:102CC00001010101010101010101010101010101F4
+:102CD00001010101010101010101010101010101E4
+:102CE00001010101010101010101010101010101D4
+:102CF00001010101010101010101010101010101C4
+:102D000001010101010101010101010101010101B3
+:102D100001010101010101010101010101010101A3
+:102D20000101010101010101010101010101010193
+:102D30000101010101010101010101010101010183
+:102D40000101010101010101010101010101010173
+:102D50000202020202020202020202020202020253
+:102D60000202020202020202020202020202020243
+:102D70000202020202020202020202020202020134
+:102D80000101010101010101010101010101010133
+:102D90000101010101010101010101010101010123
+:102DA0000101010101010101010101010101010113
+:102DB0000101010101010101010101010101010103
+:102DC00001010101010101010101010101010101F3
+:102DD00001010101010101010101010101010101E3
+:102DE00001010101010101010101010101010101D3
+:102DF00001010101010101010101010101010101C3
+:102E000001010101010101010101010101010101B2
+:102E100001010101010101010101010101010101A2
+:102E20000101010101010101010101010101010192
+:102E30000101010101010101010101010101010182
+:102E40000101010101010101010101010101010172
+:102E50000202020202020202020202020202020252
+:102E60000202020202020202020202020202020242
+:102E70000202020202020202020202020202020133
+:102E80000101010101010101010101010101010132
+:102E90000101010101010101010101010101010122
+:102EA0000101010101010101010101010101010112
+:102EB0000101010101010101010101010101010102
+:102EC00001010101010101010101010101010101F2
+:102ED00001010101010101010101010101010101E2
+:102EE00001010101010101010101010101010101D2
+:102EF00001010101010101010101010101010101C2
+:102F000001010101010101010101010101010101B1
+:102F100001010101010101010101010101010101A1
+:102F20000101010101010101010101010101010191
+:102F30000101010101010101010101010101010181
+:102F40000101010101010101010101010101010171
+:102F50000202020202020202020202020202020251
+:102F60000202020202020202020202020202020241
+:102F70000202020202020202020202020202020132
+:102F80000101010101010101010101010101010131
+:102F90000101010101010101010101010101010121
+:102FA0000101010101010101010101010101010111
+:102FB0000101010101010101010101010101010101
+:102FC00001010101010101010101010101010101F1
+:102FD00001010101010101010101010101010101E1
+:102FE00001010101010101010101010101010101D1
+:102FF00001010101010101010101010101010101C1
+:1030000001010101010101010101010101010101B0
+:1030100001010101010101010101010101010101A0
+:103020000101010101010101010101010101010190
+:103030000101010101010101010101010101010180
+:103040000101010101010101010101010101010170
+:103050000202020202020202020202020202020250
+:103060000202020202020202020202020202020240
+:103070000202020202020202020202020202020131
+:103080000101010101010101010101010101010130
+:103090000101010101010101010101010101010120
+:1030A0000101010101010101010101010101010110
+:1030B0000101010101010101010101010101010100
+:1030C00001010101010101010101010101010101F0
+:1030D00001010101010101010101010101010101E0
+:1030E00001010101010101010101010101010101D0
+:1030F00001010101010101010101010101010101C0
+:1031000001010101010101010101010101010101AF
+:10311000010101010101010101010101010101019F
+:10312000010101010101010101010101010101018F
+:10313000010101010101010101010101010101017F
+:10314000010101010101010101010101010101016F
+:10315000010101010101010101010101010101025E
+:10316000020202020202020202020202020202023F
+:103170000202020202020202020202020202020130
+:10318000010101010101010101010101010101012F
+:10319000010101010101010101010101010101011F
+:1031A000010101010101010101010101010101010F
+:1031B00001010101010101010101010101010101FF
+:1031C00001010101010101010101010101010101EF
+:1031D00001010101010101010101010101010101DF
+:1031E00001010101010101010101010101010101CF
+:1031F00001010101010101010101010101010101BF
+:1032000001010101010101010101010101010101AE
+:10321000010101010101010101010101010101019E
+:10322000010101010101010101010101010101018E
+:10323000010101010101010101010101010101017E
+:10324000010101010101010101010101010101016E
+:10325000010101010101010101010101010101015E
+:10326000020202020202020202020202020202023E
+:103270000101020102020201010202020202020134
+:10328000010101010101010101010101010101012E
+:10329000010101010101010101010101010101011E
+:1032A000010101010101010101010101010101010E
+:1032B00001010101010101010101010101010101FE
+:1032C00001010101010101010101010101010101EE
+:1032D00001010101010101010101010101010101DE
+:1032E00001010101010101010101010101010101CE
+:1032F00001010101010101010101010101010101BE
+:1033000001010101010101010101010101010101AD
+:10331000010101010101010101010101010101019D
+:10332000010101010101010101010101010101018D
+:10333000010101010101010101010101010101017D
+:10334000010101010101010101010101010101016D
+:10335000010101010101010101010101010101025C
+:10336000010101010101010101010101010101024C
+:10337000010101010101010101010201020102013A
+:10338000010101010101010101010101010101012D
+:10339000010101010101010101010101010101011D
+:1033A000010101010101010101010101010101010D
+:1033B00001010101010101010101010101010101FD
+:1033C00001010101010101010101010101010101ED
+:1033D00001010101010101010101010101010101DD
+:1033E00001010101010101010101010101010101CD
+:1033F00001010101010101010101010101010101BD
+:1034000001010101010101010101010101010101AC
+:10341000010101010101010101010101010101019C
+:10342000010101010101010101010101010101018C
+:10343000010101010101010101010101010101017C
+:10344000010101010101010101010101010101016C
+:10345000010101010101010101010101010101015C
+:10346000020202020202020202020202020202023C
+:10347000010101010101010101010101010102013B
+:10348000010101010101010101010101010101012C
+:10349000010101010101010101010101010101011C
+:1034A000010101010101010101010101010101010C
+:1034B00001010101010101010101010101010101FC
+:1034C00001010101010101010101010101010101EC
+:1034D00001010101010101010101010101010101DC
+:1034E00001010101010101010101010101010101CC
+:1034F00001010101010101010101010101010101BC
+:1035000001010101010101010101010101010101AB
+:10351000010101010101010101010101010101019B
+:10352000010101010101010101010101010101018B
+:10353000010101010101010101010101010101017B
+:10354000010101010101010101010101010101016B
+:10355000010101010101010101010101010101015B
+:10356000010101010101010101010101010101024A
+:10357000010101010101010101010101010101013B
+:10358000010101010101010101010101010101012B
+:10359000010101010101010101010101010101011B
+:1035A000010101010101010101010101010101010B
+:1035B00001010101010101010101010101010101FB
+:1035C00001010101010101010101010101010101EB
+:1035D00001010101010101010101010101010101DB
+:1035E00001010101010101010101010101010101CB
+:1035F00001010101010101010101010101010101BB
+:1036000001010101010101010101010101010101AA
+:10361000010101010101010101010101010101019A
+:10362000010101010101010101010101010101018A
+:10363000010101010101010101010101010101017A
+:10364000010101010101010101010101010101016A
+:10365000010101010101010101010101010101015A
+:103660000101010101010101010101010101010249
+:10367000010101010101010101010101010101013A
+:10368000010101010101010101010101010101012A
+:10369000010101010101010101010101010101011A
+:1036A000010101010101010101010101010101010A
+:1036B00001010101010101010101010101010101FA
+:1036C00001010101010101010101010101010101EA
+:1036D00001010101010101010101010101010101DA
+:1036E00001010101010101010101010101010101CA
+:1036F00001010101010101010101010101010101BA
+:1037000001010101010101010101010101010101A9
+:103710000101010101010101010101010101010199
+:103720000101010101010101010101010101010189
+:103730000101010101010101010101010101010179
+:103740000101010101010101010101010101010169
+:103750000101010101010101010101010101010159
+:103760000101010101010101010101010101010248
+:103770000101010101010101010101010101010139
+:103780000101010101010101010101010101010129
+:103790000101010101010101010101010101010119
+:1037A0000101010101010101010101010101010109
+:1037B00001010101010101010101010101010101F9
+:1037C00001010101010101010101010101010101E9
+:1037D00001010101010101010101010101010101D9
+:1037E00001010101010101010101010101010101C9
+:1037F00001010101010101010101010101010101B9
+:1038000001010101010101010101010101010101A8
+:103810000101010101010101010101010101010198
+:103820000101010101010101010101010101010188
+:103830000101010101010101010101010101010178
+:103840000101010101010101010101010101010168
+:103850000101010101010101010101010101010158
+:103860000101010101010101010101010101010247
+:103870000101010101010101010101010101010138
+:103880000101010101010101010101010101010227
+:10389000020202020202020202020202020202000A
+:1038A0000000000000000000000000000000000216
+:1038B00002020202020202020202020202020202E8
+:1038C00002020202020202020202020202020202D8
+:1038D00002020202020202020202020202020200CA
+:1038E00000000000000000000000000000000002D6
+:1038F00002020202020202020202020202020202A8
+:103900000202020202020202020202020202020099
+:1039100000000000000000000000000000000002A5
+:103920000202020202020202020202020202020277
+:103930000202020202020202020202020202020267
+:103940000202020202020202020202020202020257
+:103950000202020202020202020202020202020049
+:103960000000000000000000000000000000000057
+:103970000000000000000000000000000000000146
+:103980000101010101010101010101010101010028
+:103990000000000000000000000000000000000027
+:1039A0000000000000000000000000000000000017
+:1039B0000000000000000000000000000000000007
+:1039C00000000000000000000000000000000000F7
+:1039D00000000000000000000000000000000000E7
+:1039E00000000000000000000000000000000000D7
+:1039F00000000000000000000000000000000002C5
+:103A00000202020202020202020202020202020098
+:103A100000000000000000000000000000000002A4
+:103A20000202020202020202020202020202020276
+:103A30000202020202020202020202020202020266
+:103A40000202020202020202020202020202020058
+:103A50000000000000000000000000000000000066
+:103A60000000000000000000000000000000000056
+:103A70000000000000000000000000000000000145
+:103A80000101010101010101010101010101010027
+:103A90000000000000000000000000000000000026
+:103AA0000000000000000000000000000000000016
+:103AB0000000000000000000000000000000000006
+:103AC00000000000000000000000000000000000F6
+:103AD00000000000000000000000000000000000E6
+:103AE00000000000000000000000000000000000D6
+:103AF00000000000000000000000000000000002C4
+:103B00000202020202020202020202020202020097
+:103B100000000000000000000000000000000002A3
+:103B20000202020202020202020202020202020275
+:103B30000202020202020202020202020202020265
+:103B40000202020202020202020202020202020057
+:103B50000000000000000000000000000000000065
+:103B60000000000000000000000000000000000055
+:103B70000000000000000000000000000000000045
+:103B80000000000000000000000000000000000035
+:103B90000000000000000000000000000000000025
+:103BA0000000000000000000000000000000000015
+:103BB0000000000000000000000000000000000005
+:103BC00000000000000000000000000000000000F5
+:103BD00000000000000000000000000000000000E5
+:103BE00000000000000000000000000000000000D5
+:103BF00000000000000000000000000000000000C5
+:103C000000000000000000000000000000000000B4
+:103C100000000000000000000000000000000000A4
+:103C20000000000000000000000000000000000094
+:103C30000000000000000000000000000000000084
+:103C40000000000000000000000000000000000074
+:103C50000000000000000000000000000000000064
+:103C60000000000000000000000000000000000054
+:103C700000000000000000000000000000000088BC
+:103C80000000000000000000000000000000000034
+:103C90000000000000000000000000000000000024
+:103CA0000000000000000000000000000000000014
+:103CB0000000000000000000000000000000000004
+:103CC00000000000000000000000000000000000F4
+:103CD00000000000000000000000000000000000E4
+:103CE00000000000000001000000000000000000D3
+:103CF00000000000000000000000000000000000C4
+:103D000000000000000000000000000000000000B3
+:103D100000000000000000000000000000000000A3
+:103D20000000000000000000000000000000000093
+:103D30000000000000000000000000000000000083
+:103D40000000000000000000000000000000000073
+:103D50000000000000000000000000000000000063
+:103D60000000000000000000000000000000000053
+:103D70000000000000000000000000010000000042
+:103D80000000000000000000000000000000000033
+:103D90000000000000000000000000000000000023
+:103DA0000000000000000000000000000000010012
+:103DB0000000000000000001000000000000000002
+:103DC00000000000000000000000000000000000F3
+:103DD00000000000000000000000010000000000E2
+:103DE00000000000000001010000000000000000D1
+:103DF00000000000000000010000000000000000C2
+:103E000000000000000000000000000000000000B2
+:103E100000000000000000000000000000000000A2
+:103E20000000000000000000000000000000000092
+:103E30000000000000000000000000000000000082
+:103E40000000000000000000000000000000000072
+:103E50000000000000000000000000000000000062
+:103E60000000000000000000000000000000000052
+:103E7000000000000000000001000101010101003C
+:103E80000000000000000000000000000000000032
+:103E90000000000000000000000000000000000022
+:103EA000010000000000010000000000000001000F
+:103EB0000000000000000101000000000000000000
+:103EC00000000000000000010000010000000000F0
+:103ED00000000001000000000000010000000000E0
+:103EE00000000000000001010000000000000000D0
+:103EF00000000000000000010000000000000000C1
+:103F000000000000000001000000000000000000B0
+:103F100000000000000000000000000000000000A1
+:103F20000000000000000000000000000000000091
+:103F30000000000000000000000000000000000081
+:103F40000000000000000000000000000000000071
+:103F50000000000000000000000000000000000061
+:103F60000000000000000000000000000000000051
+:103F7000000000000000000001000101010101003B
+:103F80000000000000000000000000000000000031
+:103F9000000100000001000000000000000000001F
+:103FA000010000000000010000000000000001000E
+:103FB00000000000000001010000000000010000FE
+:103FC00000000000000000010000010000000000EF
+:103FD00000000001000001010000010000000000DD
+:103FE00000000000000001010000000000000000CF
+:103FF00000000000000000010000000000000000C0
+:1040000000000000000001000000000000000000AF
+:1040100000000000000000000000000000000000A0
+:104020000000000000000000000000000000000090
+:104030000000000000000000000000000000000080
+:104040000000000000000000000000000000000070
+:10405000000000000000010000000000000000005F
+:104060000000000000000000000000000000000050
+:104070000000000000000000010101010101010039
+:104080000000000000000000000000000000000030
+:10409000000100000001000000000000000000001E
+:1040A000010000000000010000000000000001000D
+:1040B00000000000000001010000000000010000FD
+:1040C00000000000000001010000010000000000ED
+:1040D00000000001000001010000010000000000DC
+:1040E00000000000000001010000000000000000CE
+:1040F00000000000000000010000000000000000BF
+:1041000000000000000001000000000000000000AE
+:10411000000000000000000000000000000000009F
+:10412000000000000000000000000000000000008F
+:10413000000000000000010000000000000000007E
+:10414000000000000000000000000000000000006F
+:10415000000000000000010000000000000000005E
+:10416000000000000000000000000000000000004F
+:104170000000000000000000010101010101010038
+:10418000000000000000000101000000000000002D
+:10419000000100000001000100000000000000001C
+:1041A000010000000000010000000000000001000C
+:1041B00000000000000001010000000000010000FC
+:1041C00000000000000001010000010000000000EC
+:1041D00000000001000001010000010000000000DB
+:1041E00000000001000001010000000000000000CC
+:1041F00000000000000000010000000000000000BE
+:1042000000000000000001000000000000000000AD
+:10421000000000000000000000000000000000009E
+:10422000000000000000000000000000000000008E
+:10423000000000000000010000000000000000007D
+:10424000000000000000000000000000000000006E
+:10425000000000000000010000000000000000005D
+:10426000000000000000000000000000000000004E
+:104270000000000000000000010101010101010037
+:10428000000000000000000101000000000000002C
+:10429000000100000001000100000000000000001B
+:1042A000010000000000010000000000000001000B
+:1042B00000000000000001010000000000010000FB
+:1042C00000000000000001010000010000000000EB
+:1042D00000000001000001010000010000000000DA
+:1042E00000000001000001010000000000000000CB
+:1042F00000000000000000010000000000000000BD
+:1043000000000000000001000000000000000000AC
+:10431000000000000000000000000000000000009D
+:10432000000000000000000000000000000000008D
+:10433000000000000000010000000000000000007C
+:10434000000000000000000000000000000000006D
+:10435000000000000000010000000000000000005C
+:10436000000000000000000000000000000000004D
+:104370000000000000000000010101010101010036
+:10438000000000000000010101000000000000002A
+:10439000000100000001000100000000000000001A
+:1043A0000100000100010100000000000000010008
+:1043B00000000000000001010000000000010000FA
+:1043C00000000000000001010000010000000000EA
+:1043D00000000001000001010000010000000000D9
+:1043E00000000001000001010000000000000000CA
+:1043F00000000000000000010000000000000000BC
+:1044000000000000000001000000000000000000AB
+:10441000000000000000000000000000000000009C
+:10442000000000000000000000000000000000008C
+:10443000000000000000010000000000000000007B
+:10444000000000000000000000000000000000006C
+:10445000000000000000010000000000000000005B
+:10446000000000000000010000000000000000004B
+:104470000000000000000000010101010101010035
+:104480000000000000000101010000000000000029
+:104490000001000000010001000000000000000019
+:1044A0000100000100010100000000000000010007
+:1044B00001000100000001010000000000010000F7
+:1044C00000000000010001010000010000010000E7
+:1044D00000000001000001010000010000000000D8
+:1044E00000000001000001010000000000000000C9
+:1044F00000000000000000010000000000000000BB
+:1045000000000000000001000000000000000000AA
+:10451000000000000000000000000000000000009B
+:10452000000000000000000000000000000000008B
+:10453000000000000000010000000000000000007A
+:10454000000000000000000000000000000000006B
+:10455000000000000000010000000000000000005A
+:10456000000000000000010000000000000000004A
+:104570000000000000000000010101010101010034
+:104580000000000000000101010100000000000027
+:104590000001000000010001000000000000000018
+:1045A0000100000100010100000000000000010006
+:1045B00001000100000001010000000000010000F6
+:1045C00000000000010001010000010000010000E6
+:1045D00000000001000001010000010000000000D7
+:1045E00000000001000001010000000000000000C8
+:1045F00000000000000000010000000000000000BA
+:1046000000000000000001000000000000000000A9
+:10461000000000000000000000000000000000009A
+:10462000000000000000000000000000000000008A
+:104630000000000000000100000000000000000079
+:10464000000000000000000000000000000000006A
+:104650000000000000000100000000000000000059
+:104660000000000000000100000000000000000049
+:104670000000000000000000010101010101010033
+:104680000000000000010101010100000000000025
+:104690000001000000010001000000000000000017
+:1046A0000100000100010100000000000000010005
+:1046B00001000100000001010000000000010000F5
+:1046C00000000000010001010000010000010000E5
+:1046D00000000001000001010000010000000000D6
+:1046E00000000001000001010000000000000000C7
+:1046F00000000000000001010000000000000000B8
+:1047000000000000000001000000000000000000A8
+:104710000100000000000000000000000000000098
+:104720000000000000000000000000000000000089
+:104730000000000000000100000000000000000078
+:104740000000000000000000000000000000000069
+:104750000000000000000100000000000000000058
+:104760000000000000000100000000000000000048
+:104770000000000000000000010101010101010032
+:104780000000000000010101010100000000000024
+:104790000001000000010001000000000100000015
+:1047A0000100000100010100000000000000010004
+:1047B00001000100000001010000000000010100F3
+:1047C00000000000010001010000010000010000E4
+:1047D00000000001000001010000010001000000D4
+:1047E00000000001000001010100000000000000C5
+:1047F00000000000000001010000000000000000B7
+:1048000000000000000101000000000000000000A6
+:104810000100000000000000000000000000000097
+:104820000000000000000000000000000000000088
+:104830000000000000010100000000000000000076
+:104840000000000000000100000000000000000067
+:104850000000000000000100000000000000000057
+:104860000000000000000100000000000000000047
+:104870000000000000000000010101010101010031
+:104880000000000000010101010100000000000023
+:104890000001000001010001000000000100000013
+:1048A0000100010100010100000000000000010002
+:1048B00001000100010001010000000000010100F1
+:1048C00000000000010001010000010000010000E3
+:1048D00000000001000001010000010001000000D3
+:1048E00000000001000001010100000000000000C4
+:1048F00000000000000001010000000000000000B6
+:1049000000000000000101000000000000000000A5
+:104910000100000000000100000000000000000095
+:104920000000000000000000000000000000000087
+:104930000000000000010100000000000000000075
+:104940000000000000000100000000000000000066
+:104950000000000000010100000000000000000055
+:104960000000000000000100000000000000000046
+:104970000000000000000000010101010101010030
+:104980000000010001010101010100000000000020
+:104990000001000001010001000000000100000012
+:1049A0000100010100010100000000000000010001
+:1049B00001000100010101010000000000010100EF
+:1049C00000000000010001010000010100010000E1
+:1049D00000000001000001010000010001000000D2
+:1049E00000000001000101010100000000000000C2
+:1049F00000000000000001010000000000000000B5
+:104A000000000000000101000000000000000000A4
+:104A10000100000000000100000000000000000094
+:104A20000000000000000100000000000000000085
+:104A30000000000000010100000000000000000074
+:104A40000000000000000100000000000000000065
+:104A50000000000000010100000000000000000054
+:104A60000000000000000100000000000000000045
+:104A7000000000000000000001010101010101002F
+:104A8000000101000101010101010000000000001E
+:104A90000001000001010001000000000100000011
+:104AA0000100010100010100000000000000010000
+:104AB00001000100010101010000000000010100EE
+:104AC00000000000010001010000010100010000E0
+:104AD00000000001000001010000010001000000D1
+:104AE00000000001000101010100000000000000C1
+:104AF00000000000000001010000000000000000B4
+:104B000000000000000101000000000000000000A3
+:104B10000100000000000100000000000000000093
+:104B20000000000000000100000000000000000084
+:104B30000000000000010100000000000000000073
+:104B40000000000000000100000000000000000064
+:104B50000000000000010100000000000000000053
+:104B60000000000000010100000000000000000043
+:104B7000000000000000000001010101010101002E
+:104B8000000101000101010101010000000000001D
+:104B9000000100000101000100000100010000000F
+:104BA00001000101000101010001000000010100FC
+:104BB00001000100010101010100000000010101EB
+:104BC00000010000010001010000010100010000DE
+:104BD00000000001010001010000010001000000CF
+:104BE00000000001000101010100000000000000C0
+:104BF00000000000000001010000000000000000B3
+:104C000000000000000101000001000000000000A1
+:104C10000100000000000100000000000000000092
+:104C20000000000000000100000000000000000083
+:104C30000000000000010100000000000000000072
+:104C40000000000000000100000000000000000063
+:104C50000000000000010100000000000000000052
+:104C60000000000000010100000000000000000042
+:104C7000000000000000000001010101010101002D
+:104C8000000101000101010101010000000000001C
+:104C9000000100000101000100000100010000000E
+:104CA00001000101000101010001000000010100FB
+:104CB00001000100010101010100000000010101EA
+:104CC00000010000010001010000010100010000DD
+:104CD00000000001010001010000010001000000CE
+:104CE00000000001000101010100000000000000BF
+:104CF00000000000000001010000000000000000B2
+:104D000000000000000101000001000000000000A0
+:104D10000100000000000100000000000000000091
+:104D20000000000000000100000000000000000082
+:104D30000000000000010100000000000000000071
+:104D40000000000000000100000000000000000062
+:104D50000000000000010100000000000000000051
+:104D60000000000000010100000000000000000041
+:104D7000000000000000010001010101010101002B
+:104D8000010101000101010101010000000000001A
+:104D9000000100000101000100000100010000000D
+:104DA00001000101000101010001000000010100FA
+:104DB00001000100010101010100000000010101E9
+:104DC00000010000010001010000010100010000DC
+:104DD00000000001010001010000010001000000CD
+:104DE00000000001000101010100000000000000BE
+:104DF00000000000000001010000000000000000B1
+:104E0000000000000001010000010000000000009F
+:104E10000100000000000100000000000000000090
+:104E20000000000000000100000000000000000081
+:104E30000000000000010100000000000000000070
+:104E40000000000000000100000000000000000061
+:104E5000000000000101010000000000000000004F
+:104E6000000000000101010000000000000000003F
+:104E7000000000000000010001010101010101002A
+:104E80000101010101010101010100000000000018
+:104E9000000100000101000100000100010000000C
+:104EA00001000101000101010001000000010100F9
+:104EB00001000100010101010100000000010101E8
+:104EC00000010000010001010000010100010000DB
+:104ED00000000001010001010000010101000000CB
+:104EE00000000001000101010100000000000000BD
+:104EF00000000000000001010000000000000000B0
+:104F0000000000000001010000010001000000009D
+:104F1000010000000000010000000000000000008F
+:104F20000000000000000100000000000000000080
+:104F3000000000000001010000000000000000006F
+:104F4000000000000001010000000000000000005F
+:104F5000000000000101010000000000000000004E
+:104F6000000000000101010000000000000000003E
+:104F70000000000000000100010101010101010029
+:104F80000101010101010101010100000000000017
+:104F9000000100000101000100000100010000000B
+:104FA00001000101000101010101000000010100F7
+:104FB00001000100010101010100000001010101E6
+:104FC00000010000010001010000010100010000DA
+:104FD00000000001010001010000010101000000CA
+:104FE00000000001000101010100000000010000BB
+:104FF00000000000000001010000000000000000AF
+:10500000000000000001010000010001000000009C
+:10501000010000000000010000000000000000008E
+:10502000000000000000010000000000000000007F
+:10503000000000000001010000000000000000006E
+:10504000000000000001010000000000000000005E
+:10505000000000000101010000000000000000004D
+:10506000000000000101010000000000000000003D
+:105070000000000000000100010101010101010127
+:105080000101010101010101010100000000000016
+:10509000000100000101000100000100010000000A
+:1050A00001000101010101010101000100010100F4
+:1050B00001000100010101010100000001010101E5
+:1050C00000010000010001010100010101010100D6
+:1050D00000000001010001010000010101000000C9
+:1050E00000000001000101010100000000010000BA
+:1050F00000000000000001010000000000000000AE
+:10510000000000000001010000010001000000009B
+:10511000010000000000010000000000000100008C
+:10512000000000000000010000000000000000007E
+:10513000000000000101010000000000000000006C
+:10514000000000000001010000000000000000005D
+:10515000000100000101010000000000000000004B
+:10516000000100000101010000000000000000003B
+:105170000000000000000100010101010101010126
+:105180000101010101010102010100000000000014
+:105190000001000001010001010001000100000008
+:1051A00001000101010101010101000100010100F3
+:1051B00001000101010101010100000001010101E3
+:1051C00000010001010101010100010101010100D3
+:1051D00000000001010001010000010101000000C8
+:1051E00000000001000101010100000000010000B9
+:1051F00000000001000001010000000000000000AC
+:10520000000000000001010000010001000000009A
+:10521000010000000000010000000000000100008B
+:10522000000000000000010000000000000000007D
+:10523000000000000101010000000000000000006B
+:10524000000000000001010000000000000000005C
+:105250000001010001010100000000000000000049
+:105260000001010001010100000000000000000039
+:105270000000000000010100010101010101010124
+:105280000101010101010102010100000000000013
+:105290000001000001010001010001000100000007
+:1052A00001000101010101010101000100010100F2
+:1052B00001000101010101020100000001010101E1
+:1052C00000010001010101010100010101010101D1
+:1052D00000000001010001010000010101000000C7
+:1052E00000000001000101010100000000010000B8
+:1052F00000000001000001010000000000000000AB
+:105300000000000000010100000100010000000099
+:10531000010000000000010000000000000100008A
+:10532000000000000000010000000000000000007C
+:10533000000000000101010000000000000000006A
+:10534000000000000001010000000000000000005B
+:105350000001010001010100000000000000000048
+:105360000001010001010100000000000000000038
+:105370000000000000010100010101010101010123
+:105380000101010101010102020101000000000010
+:105390000001000001010001010001000100000006
+:1053A00001000101010101010101000100010100F1
+:1053B00001010101010101020100000001010101DF
+:1053C00000010001010101010100010101010101D0
+:1053D00000000001010001010000010101000000C6
+:1053E00000000001000101010100000000010100B6
+:1053F00000000001000001010000000000000000AA
+:105400000000000000010100000100010000000098
+:105410000100000000010100000000000001000088
+:10542000000000000000010000000000000000007B
+:105430000000000001010100000000000000000069
+:10544000000000000001010000000000000000005A
+:105450000001010001010100000000000000000047
+:105460000001010001010100000000000000000037
+:105470000000000000010100010101010101010122
+:10548000010101010101010202010100000000000F
+:105490000001000001010002010001000100000004
+:1054A00001000101010101010101000100010100F0
+:1054B00001010101010101020100000001010101DE
+:1054C00000010101010101010100010101010101CE
+:1054D00000000001010001010000010101000000C5
+:1054E00000000001000101010100000000010100B5
+:1054F00000000001000001010000000000000000A9
+:105500000000000000010100000100010000000097
+:105510000100000000010100000000000001000087
+:10552000000000000000010000000000000000007A
+:105530000000000001010100000000000000000068
+:105540000000000000010100000000000000000059
+:105550000001010101010100000000000000000045
+:105560000001010101010100000000000000000035
+:105570000000000001010100010101010101010120
+:10558000010101010101010202010100000000000E
+:105590000001000001010002010001000100000003
+:1055A00001000101010101010101000100010100EF
+:1055B00001010101010101020100000001010101DD
+:1055C00000010101010101020100010101010101CC
+:1055D00000000001010001010100010101000001C2
+:1055E00000000001000101010100000001010100B3
+:1055F00000000001000001010000000000000000A8
+:105600000000000000010100000100010000000096
+:105610000100000000010100000000000001000086
+:105620000000000000000101000000000000000078
+:105630000001000001010100000000000000000066
+:105640000000000001010100000000000000000057
+:105650000001010101010100000000000000000044
+:105660000101010101010100000000000000000033
+:10567000000000000101010001010101010101011F
+:10568000010101010101010202010100000000000D
+:105690000001000001010002010001000100000002
+:1056A00001000101010101010101000100010100EE
+:1056B00001010101010101020100000001010101DC
+:1056C00000010101010101020100010101010101CB
+:1056D00000000001010001010100010101000001C1
+:1056E00000000001010101010100000001010100B1
+:1056F00001000001000001010000000100000000A5
+:105700000000000000010100000100010000000095
+:105710000100000000010100000000000001000085
+:105720000000000000010101000000000000000076
+:105730000001000001010100000000000000000065
+:105740000000000001010100000000000000000056
+:105750000001010101010100000000000000000043
+:105760000101010101010100000000000000000032
+:10577000000000000101010001010101010101011E
+:10578000010101010101010202010100000000000C
+:105790000001000001010002010001000100000001
+:1057A00001010101010101010101000100010100EC
+:1057B00001010101010101020101000001010101DA
+:1057C00000010101010101020100010101010101CA
+:1057D00000000101010001020100010101000001BE
+:1057E00000010001010101020100000001010100AE
+:1057F00001000001000001010000000100010000A3
+:105800000000000100010100000100010000000093
+:105810000100000100010100000000000001000083
+:105820000000000000010101000100000000000074
+:105830000001000001010100000000000000000064
+:105840000000000001010100000000000000000055
+:105850000001010101010100000000000000000042
+:105860000101010101010100000000000000000031
+:10587000000100000101010001010101010101011C
+:10588000010101010101010202020100000000000A
+:105890000001000001010002010001000100000000
+:1058A00001010101010101010101000100010100EB
+:1058B00001010101010101020101000001010101D9
+:1058C00000010101010101020101010101010101C8
+:1058D00000000101010101020100010101000001BC
+:1058E00000010101010101020100000001010100AC
+:1058F00001000001000001020000000100010000A1
+:105900000000000100010100000100010000000092
+:105910000100000100010100000000000001000082
+:105920000000000000010101000100000000000073
+:105930000001010001010100000000000000000062
+:105940000000000001010100000000000000000054
+:105950000001010101010101000000000000000040
+:105960000101010101010100000000000000000030
+:10597000000100000101010001010101010101011B
+:105980000101010101010102020201000000000009
+:1059900000010000010100020100010001000000FF
+:1059A00001010101010101010101000100010100EA
+:1059B00001010101010101020101000001010101D8
+:1059C00000010101010101020101010101010101C7
+:1059D00000000101010101020100010101000001BB
+:1059E00000010101010101020100000001010100AB
+:1059F000010100010000010201000001000100009E
+:105A00000000000100010100000100010000000091
+:105A10000100000100010100000000000001000081
+:105A20000000000000010101000100000000000072
+:105A30000001010001010100000000000000000061
+:105A40000000000001010100000000000000000053
+:105A5000010101010101010100000000000000003E
+:105A6000010101010101010000000000000000002F
+:105A7000000100000101010001010101010101011A
+:105A80000101010101010102020201000000000008
+:105A900000010000010100020100010001000000FE
+:105AA00001010101010101010101000100010100E9
+:105AB00001010101010101020101000001010101D7
+:105AC00000010101010101020101020101010101C5
+:105AD00000000101010101020100010101000001BA
+:105AE00000010101010101020100000001010100AA
+:105AF000010100010000010201000001000100009D
+:105B00000000000100010100000100010000000090
+:105B10000100000100010100000000000001000080
+:105B20000000000000010101000100000000000071
+:105B30000001010001010100000000000000000060
+:105B40000001000101010100000000000000000050
+:105B5000010101010101010100000000000000003D
+:105B6000010101010101010000000000000000002E
+:105B70000001010001010100010101010101010118
+:105B80000101010101010102020201000000010006
+:105B900000010000010100020101010001000000FC
+:105BA00001010101010101010101000100010100E8
+:105BB00001010101010101020101000001010101D6
+:105BC00000010101010101020101020101010101C4
+:105BD00000000101010101020101020101000001B7
+:105BE00000010101010101020100000001010100A9
+:105BF000010100010000010201010101000100009A
+:105C0000000000010001010000010001000000008F
+:105C1000010000010001010000000000000100007F
+:105C2000000000000001010101010000000000006F
+:105C3000000101010101010000000000000000005E
+:105C4000000101010101010000000000000000004E
+:105C5000010101010101010100000000000000003C
+:105C6000010101010101010000000000000000002D
+:105C70000001010101010100010101010101010116
+:105C80000101010101010102020201010000010004
+:105C900001010000010100020101010001000000FA
+:105CA00001010101010101020101000100010100E6
+:105CB00001010101010101020201000001020101D3
+:105CC00000010101010101020101020101010101C3
+:105CD00000000101010101020101020101000001B6
+:105CE00000010101010101020100000001010100A8
+:105CF0000101000100000102010101010001000099
+:105D0000000000010001010000010001000000008E
+:105D1000010000010101010000000000000100007D
+:105D2000000000000001010101010000000000006E
+:105D3000000101010101010000000000000000005D
+:105D4000000101010101010001000000000000014B
+:105D5000010101010101010100000000000000013A
+:105D6000010101010101010000000000000000002C
+:105D70000101010101010100010101010101010114
+:105D80000101010101010102020201010100010002
+:105D900001010000010100020101020002000000F7
+:105DA00001010101010101020101000101010100E4
+:105DB00001010101010101020201000001020101D2
+:105DC00000010101010101020101020101010101C2
+:105DD00000000101010101020101020101000001B5
+:105DE00000010101010101020100010001010100A6
+:105DF0000101000100000102010101010001000098
+:105E0000000000010001010000010001000001008C
+:105E1000010000010101010000000000000100007C
+:105E2000000000000001010101010000000000006D
+:105E3000000101010101010000000000000000005C
+:105E4000000101010101010001000000000000014A
+:105E50000101010101010101000000000000000139
+:105E6000010101010101010000000000000000002B
+:105E70000101010101010100010101010101010113
+:105E80000101010101010102020201010100010001
+:105E900001010000010100020201020002000000F5
+:105EA00002010101010101020102000101010200E0
+:105EB00001010101010101020201000001020101D1
+:105EC00000010101010101020101020101010101C1
+:105ED00000010101010101020101020101000001B3
+:105EE00000010101010101020200010001010100A4
+:105EF0000101000100000102010101010001000097
+:105F0000000000010001010000010001000001008B
+:105F1000010000010101010000000000000100007B
+:105F2000000000000001010101010000000000006C
+:105F3000010101010101010000000000000000005A
+:105F40000001010101010100010000000000010148
+:105F50000101010101010101000000000000000138
+:105F6000010101010101010000000000000000002A
+:105F70000101010101010100010101010101010112
+:105F80000101010101010102020201010100010000
+:105F900001010000010100020201020002000000F4
+:105FA00002010101010101020102010101010200DE
+:105FB00001010101010101020201010001020101CF
+:105FC00000010101010101020101020101010101C0
+:105FD00000010101010101020101020101000001B2
+:105FE00000010101010101020200010001010100A3
+:105FF0000101000100010102010101010001000095
+:106000000001000100010101000100010000010088
+:10601000010000010101010000000000000100007A
+:10602000000000000001010101010000000000006B
+:106030000101010101010100000000000000000059
+:106040000101010101010100010000000000010146
+:106050000101010101010101000000000000000137
+:106060000101010101010100000000000000000029
+:106070000101010101010100010101010101010111
+:1060800001010101010101020202010101000100FF
+:1060900001010000010100020201020002000000F3
+:1060A00002010101010101020202010101010200DC
+:1060B00001010101010101020201010001020101CE
+:1060C00000010101010101020101020101010101BF
+:1060D00000010101010101020101020101000001B1
+:1060E00000010101010101020200010001010100A2
+:1060F0000101000100010102010101010001000094
+:106100000001000101010101000100010000010086
+:106110000100000101010100000000000001000079
+:10612000000000000001010101010000000000006A
+:106130000101010101010100000000000000000058
+:106140000101010101010100010000000000010145
+:106150000101010101010101000000000000010135
+:106160000101010101010100000000000000000028
+:106170000101010101010100010101010101010110
+:1061800001010101010101020202020101000100FD
+:1061900001010000010100020201020002000000F2
+:1061A00002010101010101020202010101010200DB
+:1061B00001010101010101020201010001020101CD
+:1061C00000010101010101020201020201020101BB
+:1061D00000010101010101020101020101000001B0
+:1061E00000010101010101020200010001010100A1
+:1061F0000101000100010102010101010001000093
+:106200000001000101010101000100010001010084
+:106210000100000101010100000000000001000078
+:106220000000000001010101010100000000000068
+:106230000101010101010100000000000000000057
+:106240000101010101010100010000000000010144
+:106250000101010101010101000000000000010134
+:106260000101010101010100000000000000010125
+:10627000010101010101010001010101010101010F
+:1062800001010101010101020202020101000100FC
+:1062900001020000010100020201020102000000EF
+:1062A00002010101010101020202010101010200DA
+:1062B00001010101010101020201010001020101CC
+:1062C00000010101010101020201020201020101BA
+:1062D00000010101010101020101020101000001AF
+:1062E00000010101010101020200010001010100A0
+:1062F0000101000101010102010101010001000091
+:106300000001000101010101000100010001010083
+:106310000100000101010100000000000001000077
+:106320000000000001010101010100000000000067
+:106330000101010101010101000000000000000055
+:106340000101010101010100010000000000010143
+:106350000101010101010101000000000000010133
+:106360000101010101010100000000000000010124
+:10637000010101010101010001010101010101010E
+:1063800001010101010101020202020101000101FA
+:1063900001020000010100020201020102000000EE
+:1063A00002010101010101020202010101010200D9
+:1063B00001010101010101020201010001020201CA
+:1063C00000010101010101020201020201020101B9
+:1063D00000010101010101020101020101000001AE
+:1063E000000101010101010202000100010101019E
+:1063F0000101000101010102010101010001000090
+:106400000001000101010101000100010001010082
+:106410000100000101010100000000000001000076
+:106420000000010001010101010101000000000163
+:106430000101010101010101000000000000000054
+:106440000101010101010100010000000000010142
+:106450000101010101010101000000000000010132
+:106460000101010101010100000000000000010123
+:10647000010101010101010002010101010101010C
+:1064800001010101010101020202020101000101F9
+:1064900001020000010100020201020102000000ED
+:1064A00002010102010101020202010201020200D5
+:1064B00001010101010101020201010102020202C6
+:1064C00000010101010101020201020201020101B8
+:1064D00000010101010101020101020102000001AC
+:1064E000000101010101010202000100010101019D
+:1064F000010100010101010201010101000100008F
+:106500000001000101010101000100010001010081
+:106510000100000101010100000000000001000075
+:106520000001010001010101010101000000000161
+:106530000101010101010101000001000000000052
+:106540000101010101010100010000000100010140
+:106550000101010101010101000000000100010130
+:106560000101010101010100000000000000010122
+:10657000010101010101010002010101010101010B
+:1065800001010101010101020202020101010101F7
+:1065900001020000010100020202020102000000EB
+:1065A00002010102010101020202010201020200D4
+:1065B00001010101010101020202010102020202C4
+:1065C00000010101010101020201020201020101B7
+:1065D00000010101010101020201020102000001AA
+:1065E000000101010101010202000100010101019C
+:1065F000010100010101010201010101000100008E
+:10660000000100010101010100020001000101007F
+:106610000100000101010100000000000001000074
+:106620000001010001010101010101000000000160
+:106630000101010101010101000001000000000051
+:10664000010101010101010001000000010001013F
+:10665000010101010101010100000000010001012F
+:10666000010101010101010000000000010101011F
+:10667000010101010101010002010101010101010A
+:1066800001010101010101020202020101010101F6
+:1066900001020000010200020202020102000000E9
+:1066A00002010102010101020202010201020200D3
+:1066B00002010101010101020202010102020202C2
+:1066C00000010101010101020201020201020101B6
+:1066D00000010102010101020201020202000001A7
+:1066E000000101010101010202000101010101019A
+:1066F000010101010101010201010101000100008C
+:10670000000100010101010100020001000101007E
+:106710000100000101010101000100000001000170
+:10672000000101000101010101010100000000015F
+:106730000101010101010101000001000000000050
+:10674000010101010101010101000000010101013C
+:10675000010101010101010100000100010101012C
+:10676000010101010101010000000000010101011E
+:106770000101010101010100020101010101010109
+:1067800001010101010101020202020201010101F4
+:1067900001020000010200020202020102000000E8
+:1067A00002010102010101020202010201020200D2
+:1067B00002010101010101020202010102020202C1
+:1067C00000010101010101020202020201020101B4
+:1067D00000010102010101020201020202000001A6
+:1067E0000001010101010102020001010101010199
+:1067F000010101010101010201010101000100008B
+:10680000000100010101010101020001000101007C
+:10681000010100010101010100010000000100016E
+:10682000000101000101010101010100000001015D
+:10683000010101010101010100000100000000004F
+:10684000010101010101010101000000010101013B
+:10685000010101010101010100000100010101012B
+:10686000010101010101010100000100010101011B
+:106870000101010101010100020201010101010107
+:1068800001010101010101020202020201010101F3
+:1068900001020000020200020202020102000000E6
+:1068A00002010202010101020202010201020200D0
+:1068B00002010101010101020202010102020202C0
+:1068C00000010101010101020202020202020101B2
+:1068D00000010102010101020201020202000001A5
+:1068E0000001010101010102020001010101010198
+:1068F000010101010101010201010101000100008A
+:10690000000100010101010101020001000101007B
+:10691000010101010101010100010000000100016C
+:10692000000101000101010201010100000001015B
+:10693000010101010101010100000100000000014D
+:106940000101010101010101010001000101010139
+:106950000101010101010101010001000101010129
+:106960000101010101010101000001010101010119
+:106970000101010101010100020202010101010105
+:1069800001010101010101020202020201010101F2
+:1069900001020000020200020202020102000000E5
+:1069A00002010202010101020202010201020200CF
+:1069B00002010201010101020202010102020202BE
+:1069C00000010101020101020202020202020101B0
+:1069D00000010102010101020201020202000001A4
+:1069E0000001010101010102020101010101010196
+:1069F0000101010101010102010101010001000089
+:106A0000000100010101010101020001000101007A
+:106A1000010101010101010100010000000100016B
+:106A2000000101000101010201010100000001015A
+:106A3000010101010101010100000100000000014C
+:106A40000101010101010101010001010101010137
+:106A50000101010101010101010001010101010127
+:106A60000101010101010101010101010101010116
+:106A70000101010101010100020202020101010103
+:106A800001010101010101020202020202010101F0
+:106A900001020000020200020202020102000000E4
+:106AA00002010202010101020202010201020200CE
+:106AB00002010201010101020202010102020202BD
+:106AC00000020101020101020202020202020201AD
+:106AD00000010102010101020201020202000001A3
+:106AE0000001010201010102020101010101010194
+:106AF0000101010101010102020101010001000087
+:106B00000001010101010101010200020001010077
+:106B10000101010101010101010100000001000169
+:106B20000001010001010102010101000000010159
+:106B3000010101010101010100000100000000014B
+:106B40000101010101010101010101010101010135
+:106B50000101010101010101010101010101010125
+:106B60000101010101010101010101010101010115
+:106B70000101010101010100020202020101010102
+:106B800001010101010101020202020202010101EF
+:106B900001020000020200020202020102000000E3
+:106BA00002010202010202020202010201020200CB
+:106BB00002010201010101020202020102020202BB
+:106BC00000020101020101020202020202020201AC
+:106BD00000010102010101020202020202000001A1
+:106BE0000001010201010102020101010102010192
+:106BF0000101010101010102020101010001010085
+:106C00000001010101010101010200020001010076
+:106C10000101010101010101010100000001000168
+:106C20000001010001010102010101000100010157
+:106C3000010101010101010100000100000000014A
+:106C40000101010101010101010101010101010134
+:106C50000101010101010101010101010101010124
+:106C60000101010101010101010101010101010114
+:106C70000101010101010100020202020101010101
+:106C800001010101010101020202020202010201ED
+:106C900001020000020200020202020102000000E2
+:106CA00002010202010202020202010201020200CA
+:106CB00002010201010101020202020102020202BA
+:106CC00000020101020101020202020202020202AA
+:106CD00000010102010101020202020202000001A0
+:106CE0000101010201010102020101010102010190
+:106CF0000101010101010102020101010001010084
+:106D00000001010101010101010200020001010075
+:106D10000101010101010101010100000001000167
+:106D20000001010101010102010101000100010155
+:106D30000101010101010101000001000000010148
+:106D40000101010101010101010101010101010133
+:106D50000101010101010101010101010101010123
+:106D60000101010101010101010101010101010113
+:106D700001010101010101000202020202010101FF
+:106D800001010101010101020202020202010201EC
+:106D900001020000020200020202020202000000E0
+:106DA00002010202010202020202020201020200C8
+:106DB00002010201010101020202020102020202B9
+:106DC00000020102020102020202020202020202A7
+:106DD000000101020101010202020202020000019F
+:106DE000010101020101010202010101010201018F
+:106DF0000101010101010102020201020001010081
+:106E00000001010101010102010201020001010072
+:106E10000101010101010101010100000001000166
+:106E20000001010101010102020201000100010152
+:106E30000101010101010101000001000000010147
+:106E40000101010101010101010101010101010132
+:106E50000101010101010101010101010101010122
+:106E60000101010101010101010101010101010112
+:106E700001010101010101000202020202020101FD
+:106E800001010101010101020202020202010201EB
+:106E900001020000020200020202020202000000DF
+:106EA00002010202010202020202020202020200C6
+:106EB00002010201020102020202020102020202B6
+:106EC00000020102020102020202020202020202A6
+:106ED000000101020101010202020202020000019E
+:106EE000010101020101010202010101020201018D
+:106EF0000101010101010102020201020001010080
+:106F00000001010101010102010201020001010071
+:106F10000101010101010101010100000001000165
+:106F20000001010101010102020201010100010150
+:106F30000101010101010101010001000000010145
+:106F40000101010101010101010101010101010131
+:106F50000101010101010102010101010101010120
+:106F60000101010101010101010101010101010111
+:106F700001010101010101000202020202020101FC
+:106F800001010101010101020202020202020201E9
+:106F900002020000020200020202020202000000DD
+:106FA00002020202010202020202020202020200C4
+:106FB00002010202020102020202020202020202B3
+:106FC00000020202020102020202020202020202A4
+:106FD000000101020101020202020202020000019C
+:106FE000010101020101020202010201020201018A
+:106FF000010101010101010202020202010101007D
+:10700000000101010101010201020102010101006F
+:107010000201010101010101010100000001000163
+:10702000000101010101010202020101010101014E
+:107030000101010101010101010001000000010144
+:107040000101010101010101010101010101010130
+:10705000010101010101010201010101010101011F
+:107060000101010101010101010101010101010110
+:1070700001010101010101000202020202020201FA
+:1070800001010101010101020202020202020201E8
+:1070900002020000020200020202020202000000DC
+:1070A00002020202020202020202020202020200C2
+:1070B00002020202020202020202020202020202B0
+:1070C00000020202020102020202020202020202A3
+:1070D0000001010202010202020202020200000299
+:1070E0000101010201010202020102010202020188
+:1070F000010101010101010202020202010101007C
+:10710000000101010101010201020102010101006E
+:10711000020101010101010101010100010200015F
+:10712000000101010101010202020101010101014D
+:107130000101010101010101010101000101010140
+:10714000010101010101010101010101010101012F
+:10715000010101010101010201010101010101011E
+:10716000010101010101010101010101010101010F
+:1071700001010101010101000202020202020201F9
+:1071800001010101010101020202020202020202E6
+:1071900002020000020200020202020202010000DA
+:1071A00002020202020202020202020202020200C1
+:1071B00002020202020202020202020202020202AF
+:1071C00000020202020102020202020202020202A2
+:1071D0000001010202010202020202020200000298
+:1071E0000101010201010202020102010202020187
+:1071F000010101010101010202020202010201007A
+:10720000000101010101010201020102010101006D
+:10721000020101010101010101010101010200015D
+:10722000010101010101010202020101010101014B
+:10723000010101010101010201010101010101013D
+:10724000010101010101010102010101010101012D
+:10725000010101010101010201010101010101011D
+:10726000010101010101010101010101010101010E
+:1072700001010101010101000202020202020201F8
+:1072800001010101010101020202020202020202E5
+:1072900002020000020200020202020202010000D9
+:1072A00002020202020202020202020202020200C0
+:1072B00002020202020202020202020202020202AE
+:1072C00000020202020202020202020202020202A0
+:1072D0000001010202010202020202020200000297
+:1072E0000101010201010202020102010202020186
+:1072F0000101010101010102020202020102010079
+:10730000010101010101010201020102010101006B
+:10731000020101010101010201010101010200015B
+:10732000010101010101010202020101010101014A
+:10733000010101010101010201010101010101013C
+:10734000010101010101010102010101010101012C
+:10735000010101010101010201010101010101011C
+:10736000010101010101010101010101010101010D
+:1073700001010101010101000202020202020201F7
+:1073800001010101010101020202020202020202E4
+:1073900002020000020200020202020202010000D8
+:1073A00002020202020202020202020202020200BF
+:1073B00002020202020202020202020202020202AD
+:1073C000000202020202020202020202020202029F
+:1073D0000001020202010202020202020200000295
+:1073E0000101010201020202020102010202020184
+:1073F0000101010101010102020202020102010078
+:107400000101010101010202020201020101010068
+:10741000020101010101010201010101010200015A
+:107420000101010101010102020201010101010149
+:10743000010101010101010201010101010101013B
+:10744000010101010101010102010101010101012B
+:10745000010101010101010201010101010101011B
+:10746000010101010101010101010101010101010C
+:1074700001010101010101000202020202020201F6
+:1074800001010101010101020202020202020202E3
+:1074900002020000020200020202020202010000D7
+:1074A00002020202020202020202020202020200BE
+:1074B00002020202020202020202020202020202AC
+:1074C000000202020202020202020202020202029E
+:1074D0000001020202010202020202020200000294
+:1074E0000101010201020202020102010202020183
+:1074F0000101010101010102020202020102010077
+:107500000101010101010202020201020101010067
+:107510000201010101010102010101010102010158
+:107520000101010101010102020201010101010148
+:10753000010101010101010201010101010101013A
+:10754000010101010101010102010101010101012A
+:10755000010101010101010201010101010101011A
+:10756000010101010101010101010101010101010B
+:1075700001010101010101000202020202020201F5
+:1075800001010101010101020202020202020202E2
+:1075900002020000020200020202020202010000D6
+:1075A00002020202020202020202020202020200BD
+:1075B00002020202020202020202020202020202AB
+:1075C000000202020202020202020202020202029D
+:1075D0000001020202010202020202020200000293
+:1075E0000102010201020202020202010202020180
+:1075F0000201010201010102020202020102010173
+:107600000101010101020202020201020101010065
+:107610000201010101010102010101010102010157
+:107620000101010101010102020201010101010147
+:107630000101010101010102010101010101010139
+:107640000101010101010102020101010101010128
+:107650000101010101010102010101010101010119
+:10766000010101010101010101010101010101010A
+:1076700001010101010101000202020202020201F4
+:1076800001010101010101020202020202020202E1
+:1076900002020000020200020202020202010000D5
+:1076A00002020202020202020202020202020200BC
+:1076B00002020202020202020202020202020202AA
+:1076C000000202020202020202020202020202029C
+:1076D0000001020202010202020202020200000292
+:1076E000010202020102020202020202020202017D
+:1076F0000201010201010102020202020102010172
+:107700000101010101020202020201020101010064
+:107710000201010101010102020201010102010154
+:107720000101010101010102020202010101010145
+:107730000101010101010102010101010101010138
+:107740000101010101010102020101010101010127
+:107750000101010101010102010101010101010118
+:107760000101010101010101010101010101010109
+:1077700001010101010101000202020202020201F3
+:1077800001010101010101020202020202020202E0
+:1077900002020000020200020202020202010000D4
+:1077A00002020202020202020202020202020201BA
+:1077B00002020202020202020202020202020202A9
+:1077C000000202020202020202020202020202029B
+:1077D0000002020202010202020202020200000290
+:1077E000010202020202020202020202020202017B
+:1077F0000201010201010202020202020102010170
+:107800000101010101020202020201020101010063
+:107810000201010101010102020201010102010153
+:107820000101010101010102020202010101010144
+:107830000101010101010202010101010101010136
+:107840000101010101010102020101010101010126
+:107850000101010101010102010101010101010117
+:107860000101010101010102010101010101010107
+:1078700001010101010101000202020202020201F2
+:1078800001010101010101020202020202020202DF
+:1078900002020000020200020202020202020000D2
+:1078A00002020202020202020202020202020201B9
+:1078B00002020202020202020202020202020202A8
+:1078C000000202020202020202020202020202029A
+:1078D000000202020201020202020202020000028F
+:1078E000010202020202020202020202020202017A
+:1078F000020101020101020202020202010201016F
+:107900000101010101020202020201020102020060
+:107910000201010101010102020201010102010152
+:107920000101010101010102020202010101010143
+:107930000101010101020202010101010101010134
+:107940000101010101010102020101010101010125
+:107950000101010101010102010101010101010116
+:107960000101010101010102010101010101010106
+:1079700001010101010101000202020202020201F1
+:1079800001010101010101020202020202020202DE
+:1079900002020000020200020202020202020000D1
+:1079A00002020202020202020202020202020201B8
+:1079B00002020202020202020202020202020202A7
+:1079C0000002020202020202020202020202020299
+:1079D000000202020202020202020202020000028D
+:1079E0000102020202020202020202020202020179
+:1079F000020201020101020202020202010201016D
+:107A0000010101020102020202020102010202005E
+:107A10000201010101010102020201010102010151
+:107A20000101010101010102020202010101010142
+:107A30000101010101020202010102010101010132
+:107A40000101010101010102020101010101010124
+:107A50000101010101010102020101010101010114
+:107A60000101010101010102010101010101010105
+:107A700001010101010101000202020202020201F0
+:107A800001010101010101020202020202020202DD
+:107A900002020000020200020202020202020000D0
+:107AA00002020202020202020202020202020201B7
+:107AB00002020202020202020202020202020202A6
+:107AC0000002020202020202020202020202020298
+:107AD000000202020202020202020202020000028C
+:107AE0000102020202020202020202020202020277
+:107AF000020201020101020202020202010201016C
+:107B0000010101020102020202020102010202005D
+:107B1000020101010101020202020101010201014F
+:107B20000101010101010102020202010101010141
+:107B30000101010101020202020102010101010130
+:107B40000101010101010102020101010101010123
+:107B50000101010101010202020101010101010112
+:107B60000101010101010102020101010101010103
+:107B700001010101010101000202020202020202EE
+:107B800002020201010101020202020202020202D9
+:107B900002020000020200020202020202020100CE
+:107BA00002020202020202020202020202020201B6
+:107BB00002020202020202020202020202020202A5
+:107BC0000002020202020202020202020202020297
+:107BD000000202020202020202020202020001028A
+:107BE0000102020202020202020202020202020276
+:107BF000020201020101020202020202010201016B
+:107C0000010101020102020202020202010202015A
+:107C1000020101020101020202020101010201014D
+:107C20000101010101010102020202010101010140
+:107C3000010201010202020202010201010101012D
+:107C40000101010101010102020101010101010122
+:107C50000101010101010202020101010101010111
+:107C60000101010101010102020101010101010102
+:107C700001010101010101000202020202020202ED
+:107C800002020201010101020202020202020202D8
+:107C900002020000020200020202020202020100CD
+:107CA00002020202020202020202020202020201B5
+:107CB00002020202020202020202020202020202A4
+:107CC0000002020202020202020202020202020296
+:107CD0000002020202020202020202020200010289
+:107CE0000102020202020202020202020202020275
+:107CF000020201020101020202020202010201016A
+:107D00000101010201020202020202020102020159
+:107D1000020101020101020202020101010201014C
+:107D2000010101010101020202020201010101013E
+:107D3000010201010202020202010201010101012C
+:107D40000101010101010102020201010101010120
+:107D5000010201010102020202010101010101010E
+:107D60000101010101010102020101010101010101
+:107D700001010101010101000202020202020202EC
+:107D800002020201020201020202020202020202D5
+:107D900002020000020200020202020202020100CC
+:107DA00002020202020202020202020202020201B4
+:107DB00002020202020202020202020202020202A3
+:107DC0000002020202020202020202020202020295
+:107DD0000002020202020202020202020200010288
+:107DE0000102020202020202020202020202020274
+:107DF0000202010201010202020202020102010169
+:107E00000102010201020202020202020102020157
+:107E1000020101020102020202020101010201014A
+:107E2000010101010101020202020201010101013D
+:107E3000010202010202020202010201010101012A
+:107E4000010101010101020202020201010101011D
+:107E50000102020102020202020202010101010109
+:107E600001020101010102020202010101010101FD
+:107E700001010101010101000202020202020202EB
+:107E800002020202020202020202020202020202D2
+:107E900002020000020200020202020202020100CB
+:107EA00002020202020202020202020202020201B3
+:107EB00002020202020202020202020202020202A2
+:107EC0000102020202020202020202020202020293
+:107ED0000002020202020202020202020200010287
+:107EE0000202020202020202020202020202020272
+:107EF0000202010201010202020202020202010167
+:107F00000102010201020202020202020102020156
+:107F10000201010201020202020202010102010148
+:107F2000010101010101020202020202010101013B
+:107F30000202020102020202020202010101010127
+:107F4000010101010102020202020201010101011B
+:107F50000102020102020202020202010101010108
+:107F600002020201020202020202020101010101F7
+:107F700001010101010101000202020202020202EA
+:107F800002020202020202020202020202020202D1
+:107F900002020000020200020202020202020201C8
+:107FA00002020202020202020202020202020201B2
+:107FB00002020202020202020202020202020202A1
+:107FC0000102020202020202020202020202020292
+:107FD0000102020202020202020202020201010284
+:107FE0000202020202020202020202020202020271
+:107FF0000202010201010202020202020202020165
+:108000000102010201020202020202020102020155
+:108010000201010201020202020202010102010147
+:108020000101010101010202020202020201010238
+:108030000202020202020202020202010101010125
+:108040000101010101020202020202020201020216
+:108050000202020202020202020202010101010105
+:1080600002020201020202020202020101010101F6
+:1080700001010101010101000202020202020202E9
+:1080800002020202020202020202020202020202D0
+:1080900002020000020200020202020202020201C7
+:1080A00002020202020202020202020202020202B0
+:1080B00002020202020202020202020202020202A0
+:1080C0000102020202020202020202020202020291
+:1080D0000102020202020202020202020201010283
+:1080E0000202020202020202020202020202020270
+:1080F0000202020201010202020202020202020163
+:108100000102010202020202020202020202020152
+:108110000201010202020202020202020102010243
+:108120000101010101020202020202020201020235
+:108130000202020202020202020202010101010124
+:108140000102010102020202020202020201020213
+:108150000202020202020202020202020201010201
+:1081600002020202020202020202020201010101F3
+:1081700001010101010101000202020202020202E8
+:1081800002020202020202020202020202020202CF
+:1081900002020000020200020202020202020202C5
+:1081A00002020202020202020202020202020202AF
+:1081B000020202020202020202020202020202029F
+:1081C0000102020202020202020202020202020290
+:1081D0000102020202020202020202020201010282
+:1081E000020202020202020202020202020202026F
+:1081F0000202020202020202020202020202020160
+:108200000102010202020202020202020202020151
+:108210000201010202020202020202020102010242
+:108220000101010101020202020202020201020234
+:108230000202020202020202020202010101010123
+:10824000020202020202020202020202020202020E
+:1082500002020202020202020202020202010202FF
+:1082600002020202020202020202020202010101F1
+:1082700001020101010101000202020202020202E6
+:1082800002020202020202020202020202020202CE
+:1082900002020100020200020202020202020202C3
+:1082A00002020202020202020202020202020202AE
+:1082B000020202020202020202020202020202029E
+:1082C000010202020202020202020202020202028F
+:1082D0000102020202020202020202020201010281
+:1082E000020202020202020202020202020202026E
+:1082F000020202020202020202020202020202015F
+:108300000102010202020202020202020202020150
+:108310000201010202020202020202020202010240
+:108320000101010101020202020202020202020232
+:108330000202020202020202020202020101010121
+:10834000020202020202020202020202020202020D
+:1083500002020202020202020202020202020202FD
+:1083600002020202020202020202020202020201EE
+:1083700002020101020202000202020202020202E1
+:1083800002020202020202020202020202020202CD
+:1083900002020101020200020202020202020202C1
+:1083A00002020202020202020202020202020202AD
+:1083B000020202020202020202020202020202029D
+:1083C000010202020202020202020202020202028E
+:1083D0000102020202020202020202020201010280
+:1083E000020202020202020202020202020202026D
+:1083F000020202020202020202020202020202015E
+:10840000010202020202020202020202020202014E
+:10841000020202020202020202020202020201023D
+:10842000010202010102020202020202020202022F
+:108430000202020202020202020202020101010120
+:10844000020202020202020202020202020202020C
+:1084500002020202020202020202020202020202FC
+:1084600002020202020202020202020202020202EC
+:1084700002020201020202000202020202020202DF
+:1084800002020202020202020202020202020202CC
+:1084900002020202020200020202020202020202BE
+:1084A00002020202020202020202020202020202AC
+:1084B000020202020202020202020202020202029C
+:1084C000020202020202020202020202020202028C
+:1084D000010202020202020202020202020202027D
+:1084E000020202020202020202020202020202026C
+:1084F000020202020202020202020202020202015D
+:10850000010202020202020202020202020202014D
+:10851000020202020202020202020202020201023C
+:10852000010202010202020202020202020202022D
+:10853000020202020202020202020202020101021D
+:10854000020202020202020202020202020202020B
+:1085500002020202020202020202020202020202FB
+:1085600002020202020202020202020202020202EB
+:1085700002020202020202000202020202020202DD
+:1085800002020202020202020202020202020202CB
+:1085900002020202020200020202020202020202BD
+:1085A00002020202020202020202020202020202AB
+:1085B000020202020202020202020202020202029B
+:1085C000020202020202020202020202020202028B
+:1085D000010202020202020202020202020202027C
+:1085E000020202020202020202020202020202026B
+:1085F000020202020202020202020202020202025B
+:10860000020202020202020202020202020202014B
+:10861000020202020202020202020202020201023B
+:10862000010202010202020202020202020202022C
+:10863000020202020202020202020202020202021A
+:10864000020202020202020202020202020202020A
+:1086500002020202020202020202020202020202FA
+:1086600002020202020202020202020202020202EA
+:1086700002020202020202000202020202020202DC
+:1086800002020202020202020202020202020202CA
+:1086900002020202020200020202020202020202BC
+:1086A00002020202020202020202020202020202AA
+:1086B000020202020202020202020202020202029A
+:1086C000020202020202020202020202020202028A
+:1086D000020202020202020202020202020202027A
+:1086E000020202020202020202020202020202026A
+:1086F000020202020202020202020202020202025A
+:10870000020202020202020202020202020202014A
+:10871000020202020202020202020202020201023A
+:10872000010202010202020202020202020202022B
+:108730000202020202020202020202020202020219
+:108740000202020202020202020202020202020209
+:1087500002020202020202020202020202020202F9
+:1087600002020202020202020202020202020202E9
+:1087700002020202020202000202020202020202DB
+:1087800002020202020202020202020202020202C9
+:1087900002020202020200020202020202020202BB
+:1087A00002020202020202020202020202020202A9
+:1087B0000202020202020202020202020202020299
+:1087C0000202020202020202020202020202020289
+:1087D0000202020202020202020202020202020279
+:1087E0000202020202020202020202020202020269
+:1087F0000202020202020202020202020202020259
+:108800000202020202020202020202020202020149
+:108810000202020202020202020202020202020238
+:10882000010202010202020202020202020202022A
+:108830000202020202020202020202020202020218
+:108840000202020202020202020202020202020208
+:1088500002020202020202020202020202020202F8
+:1088600002020202020202020202020202020202E8
+:1088700002020202020202000202020202020202DA
+:1088800002020202020202020202020202020202C8
+:1088900002020202020200020202020202020202BA
+:1088A00002020202020202020202020202020202A8
+:1088B0000202020202020202020202020202020298
+:1088C0000202020202020202020202020202020288
+:1088D0000202020202020202020202020202020278
+:1088E0000202020202020202020202020202020268
+:1088F0000202020202020202020202020202020258
+:108900000202020202020202020202020202020148
+:108910000202020202020202020202020202020237
+:108920000202020202020202020202020202020227
+:108930000202020202020202020202020202020217
+:108940000202020202020202020202020202020207
+:1089500002020202020202020202020202020202F7
+:1089600002020202020202020202020202020202E7
+:1089700002020202020202000202020202020202D9
+:1089800002020202020202020202020202020202C7
+:1089900002020202020200020202020202020202B9
+:1089A00002020202020202020202020202020202A7
+:1089B0000202020202020202020202020202020297
+:1089C0000202020202020202020202020202020287
+:1089D0000202020202020202020202020202020277
+:1089E0000202020202020202020202020202020267
+:1089F0000202020202020202020202020202020257
+:108A00000202020202020202020202020202020147
+:108A10000202020202020202020202020202020236
+:108A20000202020202020202020202020202020226
+:108A30000202020202020202020202020202020216
+:108A40000202020202020202020202020202020206
+:108A500002020202020202020202020202020202F6
+:108A600002020202020202020202020202020202E6
+:108A700002020202020202000202020202020202D8
+:108A800002020202020202020202020202020202C6
+:108A900002020202020200020202020202020202B8
+:108AA00002020202020202020202020202020202A6
+:108AB0000202020202020202020202020202020296
+:108AC0000202020202020202020202020202020286
+:108AD0000202020202020202020202020202020276
+:108AE0000202020202020202020202020202020266
+:108AF0000202020202020202020202020202020256
+:108B00000202020202020202020202020202020245
+:108B10000202020202020202020202020202020235
+:108B20000202020202020202020202020202020225
+:108B30000202020202020202020202020202020215
+:108B40000202020202020202020202020202020205
+:108B500002020202020202020202020202020202F5
+:108B600002020202020202020202020202020202E5
+:108B700002020202020202000202020202020202D7
+:108B800002020202020202020202020202020202C5
+:108B900002020202020200020202020202020202B7
+:108BA00002020202020202020202020202020202A5
+:108BB0000202020202020202020202020202020295
+:108BC0000202020202020202020202020202020285
+:108BD0000202020202020202020202020202020275
+:108BE0000202020202020202020202020202020265
+:108BF0000202020202020202020202020202020255
+:108C00000202020202020202020202020202020244
+:108C10000202020202020202020202020202020234
+:108C20000202020202020202020202020202020224
+:108C30000202020202020202020202020202020214
+:108C40000202020202020202020202020202020204
+:108C500002020202020202020202020202020202F4
+:108C600002020202020202020202020202020202E4
+:108C700002020202020202000202020202020202D6
+:108C800002020202020202020202020202020202C4
+:108C900002020202020200020202020202020202B6
+:108CA00002020202020202020202020202020202A4
+:108CB0000202020202020202020202020202020294
+:108CC0000202020202020202020202020202020284
+:108CD0000202020202020202020202020202020274
+:108CE0000202020202020202020202020202020264
+:108CF0000202020202020202020202020202020254
+:108D00000202020202020202020202020202020243
+:108D10000202020202020202020202020202020233
+:108D20000202020202020202020202020202020223
+:108D30000202020202020202020202020202020213
+:108D40000202020202020202020202020202020203
+:108D500002020202020202020202020202020202F3
+:108D600002020202020202020202020202020202E3
+:108D700002020202020202000202020202020202D5
+:108D800002020202020202020202020202020202C3
+:108D900002020202020200020202020202020202B5
+:108DA00002020202020202020202020202020202A3
+:108DB0000202020202020202020202020202020293
+:108DC0000202020202020202020202020202020283
+:108DD0000202020202020202020202020202020273
+:108DE0000202020202020202020202020202020263
+:108DF0000202020202020202020202020202020253
+:108E00000202020202020202020202020202020242
+:108E10000202020202020202020202020202020232
+:108E20000202020202020202020202020202020222
+:108E30000202020202020202020202020202020212
+:108E40000202020202020202020202020202020202
+:108E500002020202020202020202020202020202F2
+:108E600002020202020202020202020202020202E2
+:108E700002020202020202000202020202020202D4
+:108E800002020202020202020202020202020202C2
+:108E900002020202020200020202020202020202B4
+:108EA00002020202020202020202020202020202A2
+:108EB0000202020202020202020202020202020292
+:108EC0000202020202020202020202020202020282
+:108ED0000202020202020202020202020202020272
+:108EE0000202020202020202020202020202020262
+:108EF0000202020202020202020202020202020252
+:108F00000202020202020202020202020202020241
+:108F10000202020202020202020202020202020231
+:108F20000202020202020202020202020202020221
+:108F30000202020202020202020202020202020211
+:108F40000202020202020202020202020202020201
+:108F500002020202020202020202020202020202F1
+:108F600002020202020202020202020202020202E1
+:108F700002020202020202000202020202020202D3
+:108F800002020202020202020202020202020202C1
+:108F900002020202020200020202020202020202B3
+:108FA00002020202020202020202020202020202A1
+:108FB0000202020202020202020202020202020291
+:108FC0000202020202020202020202020202020281
+:108FD0000202020202020202020202020202020271
+:108FE0000202020202020202020202020202020261
+:108FF0000202020202020202020202020202020251
+:109000000202020202020202020202020202020240
+:109010000202020202020202020202020202020230
+:109020000202020202020202020202020202020220
+:109030000202020202020202020202020202020210
+:109040000202020202020202020202020202020200
+:1090500002020202020202020202020202020202F0
+:1090600002020202020202020202020202020202E0
+:1090700002020202020202020202020202020202D0
+:1090800002020202020202020202020202020202C0
+:1090900002020202020200020202020201020202B3
+:1090A00001020202020202020202020202020202A1
+:1090B0000202020202020202020202020202020290
+:1090C0000202020202020202020202020202020280
+:1090D0000202020202020202020202020202020270
+:1090E0000202020202020202020202020202020260
+:1090F0000202020202020202020202020202020250
+:10910000020202020202020202020202020202023F
+:10911000020202020202020202020202020202022F
+:10912000020202020202020202020202020202021F
+:10913000020202020202020202020202020202020F
+:1091400002020202020202020202020202020202FF
+:1091500002020202020202020202020202020202EF
+:1091600002020202020202020202020202020202DF
+:1091700002020202020202020202020202020202CF
+:1091800002020202020202020202020202020202BF
+:1091900002020201010200020202020201020202B4
+:1091A00001020201020202020202020202020202A1
+:1091B000020202020202020202020202020202028F
+:1091C000020202020202020202020202020202027F
+:1091D000020202020202020202020202020202026F
+:1091E000020202020202020202020202020202025F
+:1091F000020202020202020202020202020202024F
+:10920000020202020202020202020202020202023E
+:10921000020202020202020202020202020202022E
+:10922000020202020202020202020202020202021E
+:10923000020202020202020202020202020202020E
+:1092400002020202020202020202020202020202FE
+:1092500002020202020202020202020202020202EE
+:1092600002020202020202020202020202020202DE
+:1092700002020202020202020202020202020202CE
+:1092800002020202020202010101010101010101C7
+:1092900001010101010101020202010201020202B7
+:1092A00001020201020202020202020202020202A0
+:1092B000020202020202020202020202020202028E
+:1092C000020202020202020202020202020202027E
+:1092D000020202020202020202020202020202026E
+:1092E000020202020202020202020202020202025E
+:1092F000020202020202020202020202020202024E
+:10930000020202020202020202020202020202023D
+:10931000020202020202020202020202020202022D
+:10932000020202020202020202020202020202021D
+:10933000020202020202020202020202020202020D
+:1093400002020202020202020202020202020202FD
+:1093500002020202020202020202020202020202ED
+:1093600002020202020202020202020202020202DD
+:1093700002020202020202020202020202020202CD
+:1093800002020202020202010101010101010101C6
+:1093900001010101010101020202010201020202B6
+:1093A00001010101020202020202020202020202A1
+:1093B000020202020202020202020202020202028D
+:1093C000020202020202020202020202020202027D
+:1093D000020202020202020202020202020202026D
+:1093E000020202020202020202020202020202025D
+:1093F000020202020202020202020202020202024D
+:10940000020202020202020202020202020202023C
+:10941000020202020202020202020202020202022C
+:10942000020202020202020202020202020202021C
+:10943000020202020202020202020202020202020C
+:1094400002020202020202020202020202020202FC
+:1094500002020202020202020202020202020202EC
+:1094600002020202020202020202020202020202DC
+:1094700002020202020202020202020202020202CC
+:1094800002020202020202010101010101010101C5
+:1094900001010101010101020201010201020201B7
+:1094A00001010101020202020202020202020202A0
+:1094B000020202020202020202020202020202018D
+:1094C000020202020202020202020202020202027C
+:1094D000020202020202020202020202020202026C
+:1094E000020202020202020202020202020202025C
+:1094F000020202020202020202020202020202024C
+:10950000020202020202020202020202020202023B
+:10951000020202020202020202020202020202022B
+:10952000020202020202020202020202020202021B
+:10953000020202020202020202020202020202020B
+:1095400002020202020202020202020202020202FB
+:1095500002020202020202020202020202020202EB
+:1095600002020202020202020202020202020202DB
+:1095700002020202020202020202020202020202CB
+:1095800002020202020202010101010101010101C4
+:1095900001010101010101010101010101010101BB
+:1095A00001010101010101020202020202020102A3
+:1095B000020202020202020202020202020102028C
+:1095C000020202020202020202020202020202027B
+:1095D000020202020202020202020202020202026B
+:1095E000020202020202020202020202020202025B
+:1095F000020202020202020202020202020202024B
+:10960000020202020202020202020202020202023A
+:10961000020202020202020202020202020202022A
+:10962000020202020202020202020202020202021A
+:10963000020202020202020202020202020202020A
+:1096400002020202020202020202020202020202FA
+:1096500002020202020202020202020202020202EA
+:1096600002020202020202020202020202020202DA
+:1096700002020202020202020202020202020202CA
+:1096800002020202020202010101010101010101C3
+:1096900001010101010101010101010101010101BA
+:1096A00001010101010101020202020202010202A2
+:1096B000020202020202020202020202010201018D
+:1096C000020202010202020202020202020202027B
+:1096D000020202020202020202020202020202026A
+:1096E000020202020202020202020202020202025A
+:1096F000020202020202020202020202020202024A
+:109700000202020202020202020202020202020239
+:109710000202020202020202020202020202020229
+:109720000202020202020202020202020202020219
+:109730000202020202020202020202020202020209
+:1097400002020202020202020202020202020202F9
+:1097500002020202020202020202020202020202E9
+:1097600002020202020202020202020202020202D9
+:1097700002020202020202020202020202020202C9
+:1097800002020202020202010101010101010101C2
+:1097900001010101010101010101010101010101B9
+:1097A00001010101010101020201020102020102A3
+:1097B000010202010202020202020202020102018D
+:1097C000020101020102020202020202020202027C
+:1097D0000202020202020202020202020202020269
+:1097E0000202020202020202020202020202020259
+:1097F0000202020202020202020202020202020249
+:109800000202020202020202020202020202020238
+:109810000202020202020202020202020202020228
+:109820000202020202020202020202020202020218
+:109830000202020202020202020202020202020208
+:1098400002020202020202020202020202020202F8
+:1098500002020202020202020202020202020202E8
+:1098600002020202020202020202020202020202D8
+:1098700002020202020202020202020202020202C8
+:1098800002020202020202010101010101010101C1
+:1098900001010101010101010101010101010101B8
+:1098A00001010101010101020202020201010102A2
+:1098B000020101020202020102020202010101018F
+:1098C000020202010201020202020202020202027A
+:1098D0000202020202020202020202020202020268
+:1098E0000202020202020202020202020202020258
+:1098F0000202020202020202020202020202020248
+:109900000202020202020202020202020202020237
+:109910000202020202020202020202020202020227
+:109920000202020202020202020202020202020217
+:109930000202020202020202020202020202020207
+:1099400002020202020202020202020202020202F7
+:1099500002020202020202020202020202020202E7
+:1099600002020202020202020202020202020202D7
+:1099700002020202020202020202020202020202C7
+:1099800002020202020202010101010101010101C0
+:1099900001010101010101010101010101010101B7
+:1099A00001010101010101020201020102010101A3
+:1099B0000102020101010202010101010101010193
+:1099C000010101010102010202020202020102027E
+:1099D0000202020202020202020202020202020267
+:1099E0000202020202020202020202020202020257
+:1099F0000202020202020202020202020202020247
+:109A00000202020202020202020202020202020236
+:109A10000202020202020202020202020202020226
+:109A20000202020202020202020202020202020216
+:109A30000202020202020202020202020202020206
+:109A400002020202020202020202020202020202F6
+:109A500002020202020202020202020202020202E6
+:109A600002020202020202020202020202020202D6
+:109A700002020202020202020202020202020202C6
+:109A800002020202020202010101010101010101BF
+:109A900001010101010101010101010101010101B6
+:109AA00001010101010101010101010101010102A5
+:109AB0000101010102020101020202020101010190
+:109AC000020101010101020202020101020201017F
+:109AD0000202020102020202020202020202020267
+:109AE0000202020202020202020202020202020256
+:109AF0000202020202020202020202020202020246
+:109B00000202020202020202020202020202020235
+:109B10000202020202020202020202020202020225
+:109B20000202020202020202020202020202020215
+:109B30000202020202020202020202020202020205
+:109B400002020202020202020202020202020202F5
+:109B500002020202020202020202020202020202E5
+:109B600002020202020202020202020202020202D5
+:109B700002020202020202020202020202020202C5
+:109B800002020202020202010101010101010101BE
+:109B900001010101010101010101010101010101B5
+:109BA00001010101010101020201020101010101A2
+:109BB0000101010101010201010101010101010194
+:109BC000010101010101010202020202010102027E
+:109BD0000202010202020202020202020202020266
+:109BE0000202020202020202020202020202020255
+:109BF0000202020202020202020202020202020245
+:109C00000202020202020202020202020202020234
+:109C10000202020202020202020202020202020224
+:109C20000202020202020202020202020202020214
+:109C30000202020202020202020202020202020204
+:109C400002020202020202020202020202020202F4
+:109C500002020202020202020202020202020202E4
+:109C600002020202020202020202020202020202D4
+:109C700002020202020202020202020202020202C4
+:109C800002020202020202010101010101010101BD
+:109C900001010101010101010101010101010101B4
+:109CA00001010101010101010101010101010101A4
+:109CB0000101010101010101010101010101010194
+:109CC0000101010101010101020101010201010182
+:109CD0000101020101020202020202020202020268
+:109CE0000202020202020202020202020202020254
+:109CF0000202020202020202020202020202020244
+:109D00000202020202020202020202020202020233
+:109D10000202020202020202020202020202020223
+:109D20000202020202020202020202020202020213
+:109D30000202020202020202020202020202020203
+:109D400002020202020202020202020202020202F3
+:109D500002020202020202020202020202020202E3
+:109D600002020202020202020202020202020202D3
+:109D700002020202020202020202020202020202C3
+:109D800002020202020202010101010101010101BC
+:109D900001010101010101010101010101010101B3
+:109DA00001010101010101010101010101010101A3
+:109DB0000101010101010101010101010101010193
+:109DC0000101010101010102010201010101010181
+:109DD0000202010102010102020202020202020267
+:109DE0000202020202020202020202020202020253
+:109DF0000202020202020202020202020202020243
+:109E00000202020202020202020202020202020232
+:109E10000202020202020202020202020202020222
+:109E20000202020202020202020202020202020212
+:109E30000202020202020202020202020202020202
+:109E400002020202020202020202020202020202F2
+:109E500002020202020202020202020202020202E2
+:109E600002020202020202020202020202020202D2
+:109E700002020202020202020202020202020202C2
+:109E800002020202020202010101010101010101BB
+:109E900001010101010101010101010101010101B2
+:109EA00001010101010101010101010101010101A2
+:109EB0000101010101010101010101010101010192
+:109EC0000101010101010101020101010101010181
+:109ED0000101010101020202020202020202020267
+:109EE0000202020202020202020202020202020252
+:109EF0000202020202020202020202020202020242
+:109F00000202020202020202020202020202020231
+:109F10000202020202020202020202020202020221
+:109F20000202020202020202020202020202020211
+:109F30000202020202020202020202020202020201
+:109F400002020202020202020202020202020202F1
+:109F500002020202020202020202020202020202E1
+:109F600002020202020202020202020202020202D1
+:109F700002020202020202020202020202020202C1
+:109F800002020202020202010101010101010101BA
+:109F900001010101010101010101010101010101B1
+:109FA00001010101010101010101010101010101A1
+:109FB0000101010101010101010101010101010191
+:109FC0000101010101010101010101010101010181
+:109FD000010101010101010202020102010202026A
+:109FE0000202020202020202020202020202020251
+:109FF0000202020202020202020202020202020241
+:10A000000202020202020202020202020202020230
+:10A010000202020202020202020202020202020220
+:10A020000202020202020202020202020202020210
+:10A030000202020202020202020202020202020200
+:10A0400002020202020202020202020202020202F0
+:10A0500002020202020202020202020202020202E0
+:10A0600002020202020202020202020202020202D0
+:10A0700002020202020202020202020202020202C0
+:10A0800002020202020202010101010101010101B9
+:10A0900001010101010101010101010101010101B0
+:10A0A00001010101010101010101010101010101A0
+:10A0B0000101010101010101010101010101010190
+:10A0C0000101010101010101010101010101010180
+:10A0D000010101010101010202020101010202016B
+:10A0E0000202020102020202020202020202020251
+:10A0F0000202020202020202020202020202020240
+:10A10000020202020202020202020202020202022F
+:10A11000020202020202020202020202020202021F
+:10A12000020202020202020202020202020202020F
+:10A1300002020202020202020202020202020202FF
+:10A1400002020202020202020202020202020202EF
+:10A1500002020202020202020202020202020202DF
+:10A1600002020202020202020202020202020202CF
+:10A1700002020202020202020202020202020202BF
+:10A1800002020202020202010101010101010101B8
+:10A1900001010101010101010101010101010101AF
+:10A1A000010101010101010101010101010101019F
+:10A1B000010101010101010101010101010101018F
+:10A1C000010101010101010101010101010101017F
+:10A1D000010101010101010102020101010202016B
+:10A1E0000101010101020202020202020201020255
+:10A1F000020202020202020202020202020202023F
+:10A20000020202020202020202020202020202022E
+:10A21000020202020202020202020202020202021E
+:10A22000020202020202020202020202020202020E
+:10A2300002020202020202020202020202020202FE
+:10A2400002020202020202020202020202020202EE
+:10A2500002020202020202020202020202020202DE
+:10A2600002020202020202020202020202020202CE
+:10A2700002020202020202020202020202020202BE
+:10A2800002020202020202010101010101010101B7
+:10A2900001010101010101010101010101010101AE
+:10A2A000010101010101010101010101010101019E
+:10A2B000010101010101010101010101010101018E
+:10A2C000010101010101010101010101010101017E
+:10A2D000010101010101010101010101010101016E
+:10A2E0000101010101010101010202020102010259
+:10A2F000020202020202020202020202020202023E
+:10A30000020202020202020202020202020202022D
+:10A31000020202020202020202020202020202021D
+:10A32000020202020202020202020202020202020D
+:10A3300002020202020202020202020202020202FD
+:10A3400002020202020202020202020202020202ED
+:10A3500002020202020202020202020202020202DD
+:10A3600002020202020202020202020202020202CD
+:10A3700002020202020202020202020202020202BD
+:10A3800002020202020202010101010101010101B6
+:10A3900001010101010101010101010101010101AD
+:10A3A000010101010101010101010101010101019D
+:10A3B000010101010101010101010101010101018D
+:10A3C000010101010101010101010101010101017D
+:10A3D000010101010101010101010101010101016D
+:10A3E0000101010101010102020201020201020157
+:10A3F000010202010202020202020202020202023F
+:10A40000020202020202020202020202020202022C
+:10A41000020202020202020202020202020202021C
+:10A42000020202020202020202020202020202020C
+:10A4300002020202020202020202020202020202FC
+:10A4400002020202020202020202020202020202EC
+:10A4500002020202020202020202020202020202DC
+:10A4600002020202020202020202020202020202CC
+:10A4700002020202020202020202020202020202BC
+:10A4800002020202020202010101010101010101B5
+:10A4900001010101010101010101010101010101AC
+:10A4A000010101010101010101010101010101019C
+:10A4B000010101010101010101010101010101018C
+:10A4C000010101010101010101010101010101017C
+:10A4D000010101010101010101010101010101016C
+:10A4E0000101010101010101010202010101010259
+:10A4F000020101020202020202020202020202023E
+:10A50000020202020202020202020202020202022B
+:10A51000020202020202020202020202020202021B
+:10A52000020202020202020202020202020202020B
+:10A5300002020202020202020202020202020202FB
+:10A5400002020202020202020202020202020202EB
+:10A5500002020202020202020202020202020202DB
+:10A5600002020202020202020202020202020202CB
+:10A5700002020202020202020202020202020202BB
+:10A5800002020202020202010101010101010101B4
+:10A5900001010101010101010101010101010101AB
+:10A5A000010101010101010101010101010101019B
+:10A5B000010101010101010101010101010101018B
+:10A5C000010101010101010101010101010101017B
+:10A5D000010101010101010101010101010101016B
+:10A5E000010101010101010101010102010101015A
+:10A5F0000102020101010102020202020202020240
+:10A60000020202020202020202020202020202022A
+:10A61000020202020202020202020202020202021A
+:10A62000020202020202020202020202020202020A
+:10A6300002020202020202020202020202020202FA
+:10A6400002020202020202020202020202020202EA
+:10A6500002020202020202020202020202020202DA
+:10A6600002020202020202020202020202020202CA
+:10A6700002020202020202020202020202020202BA
+:10A6800002020202020202010101010101010101B3
+:10A6900001010101010101010101010101010101AA
+:10A6A000010101010101010101010101010101019A
+:10A6B000010101010101010101010101010101018A
+:10A6C000010101010101010101010101010101017A
+:10A6D000010101010101010101010101010101016A
+:10A6E0000101010101010101010201010101010159
+:10A6F0000101010102020201020202010201020241
+:10A700000202020202020202020202020202020229
+:10A710000202020202020202020202020202020219
+:10A720000202020202020202020202020202020209
+:10A7300002020202020202020202020202020202F9
+:10A7400002020202020202020202020202020202E9
+:10A7500002020202020202020202020202020202D9
+:10A7600002020202020202020202020202020202C9
+:10A7700002020202020202020202020202020202B9
+:10A7800002020202020202010101010101010101B2
+:10A7900001010101010101010101010101010101A9
+:10A7A0000101010101010101010101010101010199
+:10A7B0000101010101010101010101010101010189
+:10A7C0000101010101010101010101010101010179
+:10A7D0000101010101010101010101010101010169
+:10A7E0000101010101010101010101010101010159
+:10A7F0000101010101010101020101010201020245
+:10A80000020202010202020202010201020202022B
+:10A810000202020202020202020202020202020218
+:10A820000202020202020202020202020202020208
+:10A8300002020202020202020202020202020202F8
+:10A8400002020202020202020202020202020202E8
+:10A8500002020202020202020202020202020202D8
+:10A8600002020202020202020202020202020202C8
+:10A8700002020202020202020202020202020202B8
+:10A8800002020202020202010101010101010101B1
+:10A8900001010101010101010101010101010101A8
+:10A8A0000101010101010101010101010101010198
+:10A8B0000101010101010101010101010101010188
+:10A8C0000101010101010101010101010101010178
+:10A8D0000101010101010101010101010101010168
+:10A8E0000101010101010101010101010101010158
+:10A8F0000101010101010101010101010101010148
+:10A900000101010101010102020202020201010230
+:10A910000102020202020202020202020202020218
+:10A920000202020202020202020202020202020207
+:10A9300002020202020202020202020202020202F7
+:10A9400002020202020202020202020202020202E7
+:10A9500002020202020202020202020202020202D7
+:10A9600002020202020202020202020202020202C7
+:10A9700002020202020202020202020202020202B7
+:10A9800002020202020202010101010101010101B0
+:10A9900001010101010101010101010101010101A7
+:10A9A0000101010101010101010101010101010197
+:10A9B0000101010101010101010101010101010187
+:10A9C0000101010101010101010101010101010177
+:10A9D0000101010101010101010101010101010167
+:10A9E0000101010101010101010101010101010157
+:10A9F0000101010101010101010101010101010147
+:10AA0000010101010101010202010201020202022F
+:10AA10000202010102020202020202020202020218
+:10AA20000202020202020202020202020202020206
+:10AA300002020202020202020202020202020202F6
+:10AA400002020202020202020202020202020202E6
+:10AA500002020202020202020202020202020202D6
+:10AA600002020202020202020202020202020202C6
+:10AA700002020202020202020202020202020202B6
+:10AA800002020202020202010101010101010101AF
+:10AA900001010101010101010101010101010101A6
+:10AAA0000101010101010101010101010101010196
+:10AAB0000101010101010101010101010101010186
+:10AAC0000101010101010101010101010101010176
+:10AAD0000101010101010101010101010101010166
+:10AAE0000101010101010101010101010101010156
+:10AAF0000101010101010101010101010101010146
+:10AB00000101010101010101010101010101010135
+:10AB1000010102020101010202020202020202021A
+:10AB20000202020202020202020202020202020205
+:10AB300002020202020202020202020202020202F5
+:10AB400002020202020202020202020202020202E5
+:10AB500002020202020202020202020202020202D5
+:10AB600002020202020202020202020202020202C5
+:10AB700002020202020202020202020202020202B5
+:10AB800002020202020202010101010101010101AE
+:10AB900001010101010101010101010101010101A5
+:10ABA0000101010101010101010101010101010195
+:10ABB0000101010101010101010101010101010185
+:10ABC0000101010101010101010101010101010175
+:10ABD0000101010101010101010101010101010165
+:10ABE0000101010101010101010101010101010155
+:10ABF0000101010101010101010101010101010145
+:10AC0000010101010101010202010201020101022F
+:10AC10000102010102020202020202020201020218
+:10AC20000202020202020202020202020202020204
+:10AC300002020202020202020202020202020202F4
+:10AC400002020202020202020202020202020202E4
+:10AC500002020202020202020202020202020202D4
+:10AC600002020202020202020202020202020202C4
+:10AC700002020202020202020202020202020202B4
+:10AC800002020202020202010101010101010101AD
+:10AC900001010101010101010101010101010101A4
+:10ACA0000101010101010101010101010101010194
+:10ACB0000101010101010101010101010101010184
+:10ACC0000101010101010101010101010101010174
+:10ACD0000101010101010101010101010101010164
+:10ACE0000101010101010101010101010101010154
+:10ACF0000101010101010101010101010101010144
+:10AD00000101010101010101010101010101010133
+:10AD1000010101010101010202020202020102021B
+:10AD20000202020202020202020102020202020204
+:10AD300002020202020202020202020202020202F3
+:10AD400002020202020202020202020202020202E3
+:10AD500002020202020202020202020202020202D3
+:10AD600002020202020202020202020202020202C3
+:10AD700002020202020202020202020202020202B3
+:10AD800002020202020202010101010101010101AC
+:10AD900001010101010101010101010101010101A3
+:10ADA0000101010101010101010101010101010193
+:10ADB0000101010101010101010101010101010183
+:10ADC0000101010101010101010101010101010173
+:10ADD0000101010101010101010101010101010163
+:10ADE0000101010101010101010101010101010153
+:10ADF0000101010101010101010101010101010143
+:10AE00000101010101010101010101010101010132
+:10AE1000010101010101010202010202020102011C
+:10AE20000202020202020201010201020202020205
+:10AE300002020202020202020202020202020202F2
+:10AE400002020202020202020202020202020202E2
+:10AE500002020202020202020202020202020202D2
+:10AE600002020202020202020202020202020202C2
+:10AE700002020202020202020202020202020202B2
+:10AE800002020202020202010101010101010101AB
+:10AE900001010101010101010101010101010101A2
+:10AEA0000101010101010101010101010101010192
+:10AEB0000101010101010101010101010101010182
+:10AEC0000101010101010101010101010101010172
+:10AED0000101010101010101010101010101010162
+:10AEE0000101010101010101010101010101010152
+:10AEF0000101010101010101010101010101010142
+:10AF00000101010101010101010101010101010131
+:10AF10000101010101010101010101010101010121
+:10AF2000010101010101010202010201010101010E
+:10AF300001010101010101020202020202020202F8
+:10AF400002020202020202020202020202020202E1
+:10AF500002020202020202020202020202020202D1
+:10AF600002020202020202020202020202020202C1
+:10AF700002020202020202020202020202020202B1
+:10AF800002020202020202010101010101010101AA
+:10AF900001010101010101010101010101010101A1
+:10AFA0000101010101010101010101010101010191
+:10AFB0000101010101010101010101010101010181
+:10AFC0000101010101010101010101010101010171
+:10AFD0000101010101010101010101010101010161
+:10AFE0000101010101010101010101010101010151
+:10AFF0000101010101010101010101010101010141
+:10B000000101010101010101010101010101010130
+:10B010000101010101010101010101010101010120
+:10B02000010101010101010101010102020202020B
+:10B0300002020202020202020202020202020202F0
+:10B0400002020202020202020202020202020202E0
+:10B0500002020202020202020202020202020202D0
+:10B0600002020202020202020202020202020202C0
+:10B0700002020202020202020202020202020202B0
+:10B0800002020202020202010101010101010101A9
+:10B0900001010101010101010101010101010101A0
+:10B0A0000101010101010101010101010101010190
+:10B0B0000101010101010101010101010101010180
+:10B0C0000101010101010101010101010101010170
+:10B0D0000101010101010101010101010101010160
+:10B0E0000101010101010101010101010101010150
+:10B0F0000101010101010101010101010101010140
+:10B10000010101010101010101010101010101012F
+:10B11000010101010101010101010101010101011F
+:10B12000010101010101010101010101010101010F
+:10B1300001010101010101020202020202020202F6
+:10B1400002020202020202020202020202020202DF
+:10B1500002020202020202020202020202020202CF
+:10B1600002020202020202020202020202020202BF
+:10B1700002020202020202020202020202020202AF
+:10B1800002020202020202010101010101010101A8
+:10B19000010101010101010101010101010101019F
+:10B1A000010101010101010101010101010101018F
+:10B1B000010101010101010101010101010101017F
+:10B1C000010101010101010101010101010101016F
+:10B1D000010101010101010101010101010101015F
+:10B1E000010101010101010101010101010101014F
+:10B1F000010101010101010101010101010101013F
+:10B20000010101010101010101010101010101012E
+:10B21000010101010101010101010101010101011E
+:10B22000010101010101010101010101010101010E
+:10B2300001010101010101010202010202020202F7
+:10B2400002020202020202020202020202020202DE
+:10B2500002020202020202020202020202020202CE
+:10B2600002020202020202020202020202020202BE
+:10B2700002020202020202020202020202020202AE
+:10B2800002020202020202010101010101010101A7
+:10B29000010101010101010101010101010101019E
+:10B2A000010101010101010101010101010101018E
+:10B2B000010101010101010101010101010101017E
+:10B2C000010101010101010101010101010101016E
+:10B2D000010101010101010101010101010101015E
+:10B2E000010101010101010101010101010101014E
+:10B2F000010101010101010101010101010101013E
+:10B30000010101010101010101010101010101012D
+:10B31000010101010101010101010101010101011D
+:10B32000010101010101010101010101010101010D
+:10B3300001010101010101010101010101010101FD
+:10B3400001010101010101020102020202020202E5
+:10B3500002020202020202020202020202020202CD
+:10B3600002020202020202020202020202020202BD
+:10B3700002020202020202020202020202020202AD
+:10B3800002020202020202010101010101010101A6
+:10B39000010101010101010101010101010101019D
+:10B3A000010101010101010101010101010101018D
+:10B3B000010101010101010101010101010101017D
+:10B3C000010101010101010101010101010101016D
+:10B3D000010101010101010101010101010101015D
+:10B3E000010101010101010101010101010101014D
+:10B3F000010101010101010101010101010101013D
+:10B40000010101010101010101010101010101012C
+:10B41000010101010101010101010101010101011C
+:10B42000010101010101010101010101010101010C
+:10B4300001010101010101010101010101010101FC
+:10B4400001010101010101010201010101010101EB
+:10B4500001010101010101020202020202020202D3
+:10B4600002020202020202020202020202020202BC
+:10B4700002020202020202020202020202020202AC
+:10B4800002020202020202010101010101010101A5
+:10B49000010101010101010101010101010101019C
+:10B4A000010101010101010101010101010101018C
+:10B4B000010101010101010101010101010101017C
+:10B4C000010101010101010101010101010101016C
+:10B4D000010101010101010101010101010101015C
+:10B4E000010101010101010101010101010101014C
+:10B4F000010101010101010101010101010101013C
+:10B50000010101010101010101010101010101012B
+:10B51000010101010101010101010101010101011B
+:10B52000010101010101010101010101010101010B
+:10B5300001010101010101010101010101010101FB
+:10B5400001010101010101020102020202020202E3
+:10B5500002020202020202020202020202020202CB
+:10B5600002020202020202020202020202020202BB
+:10B5700002020202020202020202020202020202AB
+:10B5800002020202020202010101010101010101A4
+:10B59000010101010101010101010101010101019B
+:10B5A000010101010101010101010101010101018B
+:10B5B000010101010101010101010101010101017B
+:10B5C000010101010101010101010101010101016B
+:10B5D000010101010101010101010101010101015B
+:10B5E000010101010101010101010101010101014B
+:10B5F000010101010101010101010101010101013B
+:10B60000010101010101010101010101010101012A
+:10B61000010101010101010101010101010101011A
+:10B62000010101010101010101010101010101010A
+:10B6300001010101010101010101010101010101FA
+:10B6400001010101010101010101010101010101EA
+:10B6500001010101010101010202020202020202D2
+:10B6600002020202020202020202020202020202BA
+:10B6700002020202020202020202020202020202AA
+:10B6800002020202020202010101010101010101A3
+:10B69000010101010101010101010101010101019A
+:10B6A000010101010101010101010101010101018A
+:10B6B000010101010101010101010101010101017A
+:10B6C000010101010101010101010101010101016A
+:10B6D000010101010101010101010101010101015A
+:10B6E000010101010101010101010101010101014A
+:10B6F000010101010101010101010101010101013A
+:10B700000101010101010101010101010101010129
+:10B710000101010101010101010101010101010119
+:10B720000101010101010101010101010101010109
+:10B7300001010101010101010101010101010101F9
+:10B7400001010101010101010101010101010101E9
+:10B7500001010101010101010101010101010101D9
+:10B7600001010101010101020202020202020202C0
+:10B7700002020202020202020202020202020202A9
+:10B7800002020202020202010101010101010101A2
+:10B790000101010101010101010101010101010199
+:10B7A0000101010101010101010101010101010189
+:10B7B0000101010101010101010101010101010179
+:10B7C0000101010101010101010101010101010169
+:10B7D0000101010101010101010101010101010159
+:10B7E0000101010101010101010101010101010149
+:10B7F0000101010101010101010101010101010139
+:10B800000101010101010101010101010101010128
+:10B810000101010101010101010101010101010118
+:10B820000101010101010101010101010101010108
+:10B8300001010101010101010101010101010101F8
+:10B8400001010101010101010101010101010101E8
+:10B8500001010101010101010101010101010101D8
+:10B8600001010101010101010101010101010101C8
+:10B8700001010101010101020202020202020202AF
+:10B8800002020202020202010101010101010101A1
+:10B890000101010101010101010101010101010198
+:10B8A0000101010101010101010101010101010188
+:10B8B0000101010101010101010101010101010178
+:10B8C0000101010101010101010101010101010168
+:10B8D0000101010101010101010101010101010158
+:10B8E0000101010101010101010101010101010148
+:10B8F0000101010101010101010101010101010138
+:10B900000101010101010101010101010101010127
+:10B910000101010101010101010101010101010117
+:10B920000101010101010101010101010101010107
+:10B9300001010101010101010101010101010101F7
+:10B9400001010101010101010101010101010101E7
+:10B9500001010101010101010101010101010101D7
+:10B9600001010101010101020202020202020202BE
+:10B9700002020202020202020202020202020202A7
+:10B9800002020202020202010101010101010101A0
+:10B990000101010101010101010101010101010197
+:10B9A0000101010101010101010101010101010187
+:10B9B0000101010101010101010101010101010177
+:10B9C0000101010101010101010101010101010167
+:10B9D0000101010101010101010101010101010157
+:10B9E0000101010101010101010101010101010147
+:10B9F0000101010101010101010101010101010137
+:10BA00000101010101010101010101010101010126
+:10BA10000101010101010101010101010101010116
+:10BA20000101010101010101010101010101010106
+:10BA300001010101010101010101010101010101F6
+:10BA400001010101010101010101010101010101E6
+:10BA500001010101010101010101010101010101D6
+:10BA600001010101010101010101010101010101C6
+:10BA700001010101010101020202020202020202AD
+:10BA8000020202020202020101010101010101019F
+:10BA90000101010101010101010101010101010196
+:10BAA0000101010101010101010101010101010186
+:10BAB0000101010101010101010101010101010176
+:10BAC0000101010101010101010101010101010166
+:10BAD0000101010101010101010101010101010156
+:10BAE0000101010101010101010101010101010146
+:10BAF0000101010101010101010101010101010136
+:10BB00000101010101010101010101010101010125
+:10BB10000101010101010101010101010101010115
+:10BB20000101010101010101010101010101010105
+:10BB300001010101010101010101010101010101F5
+:10BB400001010101010101010101010101010101E5
+:10BB500001010101010101010101010101010101D5
+:10BB600001010101010101010101010101010101C5
+:10BB700001010101010101020202020202020202AC
+:10BB8000020202020202020101010101010101019E
+:10BB90000101010101010101010101010101010195
+:10BBA0000101010101010101010101010101010185
+:10BBB0000101010101010101010101010101010175
+:10BBC0000101010101010101010101010101010165
+:10BBD0000101010101010101010101010101010155
+:10BBE0000101010101010101010101010101010145
+:10BBF0000101010101010101010101010101010135
+:10BC00000101010101010101010101010101010124
+:10BC10000101010101010101010101010101010114
+:10BC20000101010101010101010101010101010104
+:10BC300001010101010101010101010101010101F4
+:10BC400001010101010101010101010101010101E4
+:10BC500001010101010101010101010101010101D4
+:10BC600001010101010101010101010101010101C4
+:10BC700001010101010101020101010101010102B2
+:10BC8000020202020202020101010101010101019D
+:10BC90000101010101010101010101010101010194
+:10BCA0000101010101010101010101010101010184
+:10BCB0000101010101010101010101010101010174
+:10BCC0000101010101010101010101010101010164
+:10BCD0000101010101010101010101010101010154
+:10BCE0000101010101010101010101010101010144
+:10BCF0000101010101010101010101010101010134
+:10BD00000101010101010101010101010101010123
+:10BD10000101010101010101010101010101010113
+:10BD20000101010101010101010101010101010103
+:10BD300001010101010101010101010101010101F3
+:10BD400001010101010101010101010101010101E3
+:10BD500001010101010101010101010101010101D3
+:10BD600001010101010101010101010101010101C3
+:10BD700001010101010101020101010101010101B2
+:10BD800001010101010101010101010101010101A3
+:10BD90000101010101010101010101010101010193
+:10BDA0000101010101010101010101010101010183
+:10BDB0000101010101010101010101010101010173
+:10BDC0000101010101010101010101010101010163
+:10BDD0000101010101010101010101010101010153
+:10BDE0000101010101010101010101010101010143
+:10BDF0000101010101010101010101010101010133
+:10BE00000101010101010101010101010101010122
+:10BE10000101010101010101010101010101010112
+:10BE20000101010101010101010101010101010102
+:10BE300001010101010101010101010101010101F2
+:10BE400001010101010101010101010101010101E2
+:10BE500001010101010101010101010101010101D2
+:10BE600001010101010101010101010101010101C2
+:10BE700001010101010101020101010101010101B1
+:10BE800001010101010101010101010101010101A2
+:10BE90000101010101010101010101010101010192
+:10BEA0000101010101010101010101010101010182
+:10BEB0000101010101010101010101010101010172
+:10BEC0000101010101010101010101010101010162
+:10BED0000101010101010101010101010101010152
+:10BEE0000101010101010101010101010101010142
+:10BEF0000101010101010101010101010101010132
+:10BF00000101010101010101010101010101010121
+:10BF10000101010101010101010101010101010111
+:10BF20000101010101010101010101010101010101
+:10BF300001010101010101010101010101010101F1
+:10BF400001010101010101010101010101010101E1
+:10BF500001010101010101010101010101010101D1
+:10BF600001010101010101010101010101010101C1
+:10BF700001010101010101020101010101010101B0
+:10BF800001010101010101010101010101010101A1
+:10BF90000101010101010101010101010101010191
+:10BFA0000101010101010101010101010101010181
+:10BFB0000101010101010101010101010101010171
+:10BFC0000101010101010101010101010101010161
+:10BFD0000101010101010101010101010101010151
+:10BFE0000101010101010101010101010101010141
+:10BFF0000101010101010101010101010101010131
+:10C000000101010101010101010101010101010120
+:10C010000101010101010101010101010101010110
+:10C020000101010101010101010101010101010100
+:10C0300001010101010101010101010101010101F0
+:10C0400001010101010101010101010101010101E0
+:10C0500001010101010101010101010101010101D0
+:10C0600001010101010101010101010101010101C0
+:10C0700001010101010101020101010101010101AF
+:10C0800001010101010101010101010101010101A0
+:10C090000101010101010102020202020202020287
+:10C0A0000202020202020202020202020202020270
+:10C0B0000202020202020202020202020202020260
+:10C0C0000202020202020202020202020202020250
+:10C0D0000202020202020202020202020202020240
+:10C0E0000202020202020202020202020202020230
+:10C0F0000202020202020202020202020202020220
+:10C10000020202020202020202020202020202020F
+:10C1100002020202020202020202020202020202FF
+:10C1200002020202020202020202020202020202EF
+:10C1300002020202020202020202020202020202DF
+:10C1400002020202020202020202020202020202CF
+:10C1500002020202020202020202020202020202BF
+:10C1600002020202020202020202020202020202AF
+:10C1700002020202020202000000000000000000B1
+:10C1800000000000000000010101010101010101A6
+:10C190000101010101010100000000000000000098
+:10C1A000000000000000000000000000000000008F
+:10C1B000000000000000000202020202020202026D
+:10C1C000020202020202020202020202020202024F
+:10C1D000020202020202020202020202020202023F
+:10C1E000020202020202020202020202020202022F
+:10C1F000020202020202020202020202020202021F
+:10C20000020202020202020202020202020202020E
+:10C2100002020202020202020202020202020202FE
+:10C2200002020202020202020202020202020202EE
+:10C2300002020202020202020202020202020202DE
+:10C2400002020202020202020202020202020202CE
+:10C2500002020202020202020202020202020202BE
+:10C2600002020202020202020202020202020202AE
+:10C2700002020202020202000000000000000000B0
+:10C2800000000000000000010101010101010101A5
+:10C290000101010101010100000000000000000097
+:10C2A000000000000000000000000000000000008E
+:10C2B000000000000000000202020202020202026C
+:10C2C000020202020202020202020202020202024E
+:10C2D000020202020202020202020202020202023E
+:10C2E000020202020202020202020202020202022E
+:10C2F000020202020202020202020202020202021E
+:10C30000020202020202020202020202020202020D
+:10C3100002020202020202020202020202020202FD
+:10C3200002020202020202020202020202020202ED
+:10C3300002020202020202020202020202020202DD
+:10C3400002020202020202000000000000000000DF
+:10C3500000000000000000020202020202020202CB
+:10C3600002020202020202020202020202020202AD
+:10C3700002020202020202000000000000000000AF
+:10C3800000000000000000000000000000000000AD
+:10C39000000000000000000000000000000000009D
+:10C3A000000000000000000000000000000000008D
+:10C3B000000000000000000000000000000000007D
+:10C3C000000000000000000000000000000000006D
+:10C3D000000000000000000000000000000000005D
+:10C3E000000000000000000000000000000000004D
+:10C3F000000000000000000000000000000000003D
+:10C40000000000000000000000000000000000002C
+:10C41000000000000000000000000000000000001C
+:10C42000000000000000000000000000000000000C
+:10C4300000000000000000000000000000000000FC
+:10C4400000000000000000000000000000000000EC
+:10C4500000000000000000000000000000000000DC
+:10C4600000000000000000000000000000000000CC
+:10C4700000000000000000000000000000000000BC
+:10C480000000000000000066000000000000000046
+:10C49000000000000000000000000000000000009C
+:10C4A000000000000000000000000000000000008C
+:10C4B000000000000000010000000000000000007B
+:10C4C000000000000000000000000000000000006C
+:10C4D000000000000000000000000000000000005C
+:10C4E000000000000000000000000000000000004C
+:10C4F000000000000000000000000000000000003C
+:10C50000000000000000000000000000000000002B
+:10C51000000000000000000000000000000000001B
+:10C52000000000000000000000000000000000000B
+:10C5300000000000000000000000000000000000FB
+:10C5400000000000000000000000000000000000EB
+:10C5500000000000000000000000000000000000DB
+:10C5600000000000000000000000000000000000CB
+:10C5700000000000000000000000000000000000BB
+:10C5800000000000000000000000000000000000AB
+:10C59000000000000000000000000000000000009B
+:10C5A000000000000000000000000000000000008B
+:10C5B000000000000000010000000000000000007A
+:10C5C000000000000000000000000000000000006B
+:10C5D000000000000000000000000000000000005B
+:10C5E0000000000001000000000000010000000049
+:10C5F000000000000000000000000000000000003B
+:10C600000000000000000000000000000000010029
+:10C61000000000000000000000000000000000001A
+:10C62000000000000000000000000000000000000A
+:10C6300000000000000000000000000000000000FA
+:10C6400000000000000000000000000000000000EA
+:10C6500000000000000000000000000000000000DA
+:10C6600000000000000000000000000000000000CA
+:10C6700000000000000000000000000000000000BA
+:10C6800000000000000000000000000000000000AA
+:10C69000000000000000000000000000000000009A
+:10C6A0000000000000000000010000000000000089
+:10C6B0000000000000000100000000000000010078
+:10C6C0000100000000000000000000010000000068
+:10C6D0000000000000000100000000000000010058
+:10C6E0000000000001000000000000010000000048
+:10C6F000000000000000000000000000000000003A
+:10C700000000000000000000000000010000010027
+:10C710000001000000000000000000000000000018
+:10C720000000000000000000000000000000000009
+:10C7300000000000000000000000000000000100F8
+:10C7400000000000000000000000000000000000E9
+:10C7500000000000000000000000000000000000D9
+:10C7600000000000000000000000000000000000C9
+:10C7700000000000000000000000000000000000B9
+:10C7800000000000000000000000000000000100A8
+:10C790000000000000000000000000000000000099
+:10C7A0000000000000000000010000000000010087
+:10C7B0000100000000010100000000000000010075
+:10C7C0000100000000000001000001010000010064
+:10C7D0000000000000000100000000010000010056
+:10C7E0000000000001000000000000010000000047
+:10C7F0000000000000010000010000000000000037
+:10C800000000000000000000000000010000010026
+:10C810000001000000000000000000000000010016
+:10C820000000000000000000000000000000000008
+:10C8300000000000000000000000000000000100F7
+:10C8400000000000000000000000000000000000E8
+:10C8500000000000000000000000000000000000D8
+:10C8600000000000000000000000000000000000C8
+:10C8700000000000000000000000000000000000B8
+:10C8800001000001000000000000000000000100A5
+:10C890000000000000000000000000000001000097
+:10C8A0000000000000000000010000000000010086
+:10C8B0000100000000010100000000000000010074
+:10C8C0000100000000000001000001010000010063
+:10C8D0000000010000000100000000010000010054
+:10C8E0000000010001000000000000010100010043
+:10C8F0000000000000010000010000000000000036
+:10C900000000000000000000000000010000010025
+:10C910000001000100000000000000000000010014
+:10C920000000000000000000000000000000010006
+:10C9300000000000000000000000000000000100F6
+:10C9400000000000000000000000000000000000E7
+:10C9500000000000000000000000000000000000D7
+:10C9600000000000000000000000000000000000C7
+:10C9700000000000000000000000000000000000B7
+:10C9800001000001000000000000000000000100A4
+:10C990000001000000000000000000000001000095
+:10C9A0000000000000000000010000000000010085
+:10C9B0000100000000010100010000000000010072
+:10C9C0000100000000000001000001010000010062
+:10C9D0000100010000000100000000010000010052
+:10C9E0000000010001000000000000010100010042
+:10C9F0000000000000010000010000000000000035
+:10CA00000000000000000000000000010000010024
+:10CA10000001000100000000000000000000010013
+:10CA20000000000000000000000000000000010005
+:10CA300000000000000000000000000000000100F5
+:10CA400000000000000000000000000000000000E6
+:10CA500000000000000000000000000000000100D5
+:10CA600000000000000000000000000000000000C6
+:10CA700000000000000000000000000000000000B6
+:10CA800001000001000000000000000000000100A3
+:10CA90000001000000000000000000000001000094
+:10CAA0000000000000000000010000000000010084
+:10CAB0000100000000010100010000000000010071
+:10CAC0000100000000000001000001010000010061
+:10CAD0000100010000000101000000010000010050
+:10CAE0000000010001000000000000010100010041
+:10CAF0000000000000010000010000000000000034
+:10CB00000000000000000000000000010000010023
+:10CB10000001000100000000000000000000010012
+:10CB20000000000000000000000000000000010004
+:10CB300000000000000000000000000000000100F4
+:10CB400000000000000000000000000000000000E5
+:10CB500000000000000000000000000000000100D4
+:10CB600000000000000000000000000000000000C5
+:10CB700000000000000000000000000000000000B5
+:10CB800001000101000000000000000000000100A1
+:10CB90000101000000000000000000000001000092
+:10CBA0000000000000000000010000000101010180
+:10CBB0000100000000010100010000000000010070
+:10CBC0000100000000000001000001010000010060
+:10CBD000010001010001010100000001000001004D
+:10CBE0000000010001000000000000010100010040
+:10CBF0000000000000010000010000000000000033
+:10CC00000000000000000000000000010000010022
+:10CC10000001000100000000000000000000010011
+:10CC20000000000000000000000000000000010003
+:10CC300000000000000000000000000000000100F3
+:10CC400000000000000000000000000000000000E4
+:10CC500000000000000000000000000000000100D3
+:10CC600000000000000000000000000000000100C3
+:10CC700000000000000000000000000000000000B4
+:10CC800001000101000000000000000000000100A0
+:10CC90000101000000000000000000000001000190
+:10CCA000000000000100000001000000010101017E
+:10CCB000010000000001010001000000000001016E
+:10CCC000010000000001000100000101000001005E
+:10CCD000010001010001010100000001000001004C
+:10CCE000000001000100000000000001010101003E
+:10CCF0000000000000010000010000000000010031
+:10CD00000000000000000000000000010000010120
+:10CD10000001000100000000000000000000010010
+:10CD20000000000000000000000000000000010002
+:10CD300000000000000000000000000000000100F2
+:10CD400000000000000000000000000000000000E3
+:10CD500001000000000000000000000000000100D1
+:10CD600000000000000000000000000000000100C2
+:10CD700000000000000000000000000000000000B3
+:10CD8000010001010000000000000000000001019E
+:10CD9000010100000000000000000000000100018F
+:10CDA000000000000100000001000000010101017D
+:10CDB000010000000001010001000000000001016D
+:10CDC000010000000001000100000101000001005D
+:10CDD000010001010101010100000001000001004A
+:10CDE000000001000100000000000001010101003D
+:10CDF0000000000000010000010000000000010030
+:10CE0000000000000000000000000001010001011E
+:10CE1000000100010000000000000000000001000F
+:10CE20000000000000000000000000000000010001
+:10CE300000000000000000000000000000000100F1
+:10CE400000000000000000000000000000000000E2
+:10CE500001000000000000000000000000000100D0
+:10CE600000000000000000000000000000000100C1
+:10CE700000000000000000000000000000000000B2
+:10CE8000010001010000000000000000000001019D
+:10CE9000010100000000000000000000000100018E
+:10CEA000010000000100000001000000010101017B
+:10CEB000010000000001010001000000010001016B
+:10CEC000010000000001000100000101000001005C
+:10CED0000100010101010101000000010000010049
+:10CEE000000001000100000000000001010101003C
+:10CEF000000000000001000001000000000001002F
+:10CF0000000000000000000000000001010001011D
+:10CF1000000100010001000000000000000001000D
+:10CF20000000000000000000000000000000010000
+:10CF300000000000000000000000000000010100EF
+:10CF400000000000000000000000000000000000E1
+:10CF500001000000000000000000000000000100CF
+:10CF600000000000000000000000000000000100C0
+:10CF700000000000000000000000000000000000B1
+:10CF8000010001010000000000000000000001019C
+:10CF9000010100000000000000000000000100018D
+:10CFA0000100010001000000010000000101010179
+:10CFB0000101000000010100010000000100010169
+:10CFC000010000000001000100000101010001005A
+:10CFD0000100010101010101000000010000010048
+:10CFE000000001000100000000000001010101003B
+:10CFF000000000000001000001000000000001002E
+:10D00000000000000000000000000001010001011C
+:10D01000000100010001000000000000010001000B
+:10D0200000000000000000000000000000000100FF
+:10D0300000000000000000000000000000010100EE
+:10D0400000000000000000000000000000000100DF
+:10D0500001000000000000000000000000000100CE
+:10D0600000000000000000000000000000000100BF
+:10D0700000000000000000000000000000000000B0
+:10D08000010001010000000000000000000001019B
+:10D09000010100000000000000000000000100018C
+:10D0A0000100010001000000010000000101010178
+:10D0B0000101000000010100010000000100010168
+:10D0C0000100000001010001000001010100010058
+:10D0D0000100010101010101000000010001010046
+:10D0E000000001000100000000000001010101003A
+:10D0F000000000000001000001000000000001012C
+:10D10000010000000000000000000001010001011A
+:10D110000001000100010000010000000100010009
+:10D1200000000000000000000000000000000100FE
+:10D1300000000000000000000000000000010100ED
+:10D1400000000000000000000000000000000100DE
+:10D1500001000000000000000000000000000100CD
+:10D1600000000000000000000000000000000100BE
+:10D1700000000000000000000000000000000000AF
+:10D18000010001010000000000000000000001019A
+:10D19000010100000000000000000000000100018B
+:10D1A0000100010001000000010000000101010177
+:10D1B0000101000100010100010000000100010166
+:10D1C0000100000001010001000001010100010057
+:10D1D0000100010101010101000000010001010045
+:10D1E0000000010001010000000000010101010038
+:10D1F000000000000001000001000000000001012B
+:10D200000100000000000000000000010100010119
+:10D210000001000100010000010000000100010008
+:10D2200000000000000100000000000000000100FC
+:10D2300000000000000000000000000000010100EC
+:10D2400000000000000000000000000000000100DD
+:10D2500001000000000000000000000000010100CB
+:10D2600000000000000000000000000000010100BC
+:10D2700000000000000000000000000000000100AD
+:10D280000100010100000000000000000000010199
+:10D29000010100000000000000000000000100018A
+:10D2A0000100010001000000010000000101010176
+:10D2B0000101000100010100010000000101010164
+:10D2C0000100000001010001000001010100010056
+:10D2D0000100010101010101000000010001010044
+:10D2E0000000010001010001000000010101010036
+:10D2F000000000000001000001000000000001012A
+:10D300000100000000010000000000010100010117
+:10D310000001000100010000010000000100010007
+:10D3200000000000000100000000000000000100FB
+:10D3300000000000000000000000000000010100EB
+:10D3400000000000000000000000000000000100DC
+:10D3500001000000000000000000000000010100CA
+:10D3600000000000000000000000000000010100BB
+:10D3700000000000000000000000000000000100AC
+:10D380000100010100000000000000000000010198
+:10D390000101000000000000000000000001000189
+:10D3A0000100010001000000010000000101010175
+:10D3B0000201000100010100010000000101010162
+:10D3C0000100000001010001000001010101010054
+:10D3D0000100010101010101000000010001010043
+:10D3E0000000010001010001000000010101010035
+:10D3F0000000000000010000010000000000010129
+:10D400000100000000010000000000010101010115
+:10D410000001000100010100010000000100010005
+:10D4200000000000000100000000000000000100FA
+:10D4300000000000000000000000000000010100EA
+:10D4400000000000000000000000000000000100DB
+:10D4500001000000000000000000000000010100C9
+:10D4600000000000000000000000000001010100B9
+:10D4700000000000000000000000000000000100AB
+:10D480000100010100000000000000000000010197
+:10D490000202000000000000000000000001000186
+:10D4A0000100010001000000010000000101010174
+:10D4B0000201010100010100010000000101010160
+:10D4C0000201000001010001000001010101010051
+:10D4D0000100010101010101000000010001010042
+:10D4E0000000010001010001000000010101010034
+:10D4F0000000000000010100010000000000010127
+:10D500000100000000010000000000010101010114
+:10D510000001000100010100010000000100010004
+:10D5200000000000000100000000000000010100F8
+:10D5300000000000000000000000000000010100E9
+:10D5400000000000000000000000000000000100DA
+:10D5500001000000000000000000000000010100C8
+:10D5600000000000000000000000000001010100B8
+:10D5700000000000000000000000000000000100AA
+:10D580000100010100000000000000000000010196
+:10D590000202000000000000000000000001000185
+:10D5A0000100010001000000010000000101010173
+:10D5B000020101010001010001000000010101015F
+:10D5C000020101000101000100000101010101004F
+:10D5D0000100010101010101000000010001010140
+:10D5E0000100010101010001000100010101010030
+:10D5F0000100000000010100010100000000010124
+:10D600000100000000010000000000010101010113
+:10D610000001000100010100010000000100010003
+:10D6200000000000000100000000000000010100F7
+:10D6300000000000000000000000000000010100E8
+:10D6400000000000000000000000000000000100D9
+:10D6500001000000000000000000000001010100C6
+:10D6600000000000000000000000000001010100B7
+:10D6700000000000000000000000000000000100A9
+:10D680000100010100000000000000000000010294
+:10D690000202010000000000000000000001000183
+:10D6A0000200010001000000010000000101010270
+:10D6B000020101010001020001000000010101015D
+:10D6C000020101000101000100000101010101004E
+:10D6D000020001010101010100000001010101013D
+:10D6E000010001010101000100010001010101002F
+:10D6F0000100000000010100010100000000010123
+:10D700000100000000010000000000010101010112
+:10D710000001000100010100010000000100010002
+:10D7200000000000000100000000000000010100F6
+:10D7300000000000000000000000000000010100E7
+:10D7400000000000000000000000000000000100D8
+:10D7500001000000000000000000000001010100C5
+:10D7600000000000000000000000000001010100B6
+:10D7700000000000000000000000000000000100A8
+:10D780000100010100000000000000000000010293
+:10D790000202010000000000000100000001000280
+:10D7A000020001000100000001000000010101026F
+:10D7B000020101010001020001000000010101015C
+:10D7C000020101000101010100000101010101014B
+:10D7D000020101010101010100000001010101013B
+:10D7E000010001010101000100010001010101002E
+:10D7F0000100000000010100010100000000010122
+:10D800000100000000010000000000010101010111
+:10D8100000010001000101000100000001010101FF
+:10D8200000000000000100000000000000010101F4
+:10D8300001000000000000000000000000010100E5
+:10D8400000000000000000000000000000010100D6
+:10D8500001000000000000000000000001010100C4
+:10D8600000000000000000000000000001010100B5
+:10D8700000000000000000000000000000010100A6
+:10D880000100010100000000000000000000010292
+:10D89000020201000000000000010000000100027F
+:10D8A000020001000100000001000000010101026E
+:10D8B0000201010100020200010000000101010259
+:10D8C000020101000101010100000101010101014A
+:10D8D0000201020101010101000000010101010139
+:10D8E000010001010101000100010001010101002D
+:10D8F000010001000001010101010000010001011E
+:10D90000010100000001000000000001010101010F
+:10D9100000010001000101000100000101010101FD
+:10D9200000000000000100010000000000010101F2
+:10D9300001000000000000000000000001010100E3
+:10D9400000000000000000000000000000010100D5
+:10D9500001000000000000000001000001010100C2
+:10D9600000000000000000000001000001010100B3
+:10D9700000000000000000000000000000010100A5
+:10D980000100010100000000000000000000010291
+:10D99000020201010000000000010000000100027D
+:10D9A000020002000100000001000000010101026C
+:10D9B0000202010100020200010000000101010257
+:10D9C0000201010001010101000001010101010149
+:10D9D0000201020101010101000000010101010138
+:10D9E000010101010101000100010001010101012A
+:10D9F000010001000101010101010000010001011C
+:10DA0000010101000001000000000001010101010D
+:10DA100000010001000101000100000101010101FC
+:10DA200000000000000100010000000000010101F1
+:10DA300001000000010000000001000001010100E0
+:10DA400000000000000000000000000000010100D4
+:10DA500001000000000000000001000001010100C1
+:10DA600000000000000000000001010001010100B1
+:10DA700000000000000000000000000001010100A3
+:10DA80000100010100000000000000000000010290
+:10DA9000020201010000000000010000000100027C
+:10DAA0000201020002000000020000000101010268
+:10DAB0000202010100020200010000000101010256
+:10DAC0000201010001010101000001010101010148
+:10DAD0000201020101010101000000010101010137
+:10DAE0000101020101010001000100010101010128
+:10DAF000010001000101010101010000010101011A
+:10DB0000010101010001000000000001010101010B
+:10DB100000020001000101000100000101010101FA
+:10DB200000000000000100010000000000010101F0
+:10DB300001000000010000000001000001010101DE
+:10DB400000000000000000000000000000010100D3
+:10DB500001000000000000000001000101010100BF
+:10DB600000000000000000000101010101010101AD
+:10DB700000000000000000000000000001010100A2
+:10DB8000010001010000000000000000000001028F
+:10DB9000020201010000000000010000000100027B
+:10DBA0000201020002000000020000000101010267
+:10DBB0000202010100020200010000000101010255
+:10DBC0000201010001010101000001010101010147
+:10DBD0000201020101010201000000010101010135
+:10DBE0000101020101010001000100010101010127
+:10DBF0000100010001010101010100010101010118
+:10DC00000101010100010000000001010101010208
+:10DC100000020001000101000100000101010101F9
+:10DC200000010000000100010000000000010101EE
+:10DC300001010000010000000001000001010101DC
+:10DC400000000000000000000000000000010100D2
+:10DC500001000000000000000001010101010100BD
+:10DC600000000000000000000101010101010101AC
+:10DC700000000000000000000000000001010100A1
+:10DC8000010001010000000000000000000001028E
+:10DC90000202020100000000000100000001000279
+:10DCA0000201020102000000020000000101010265
+:10DCB0000202010100020200010000000101010254
+:10DCC0000201010101010102000001010101010144
+:10DCD0000201020201010201000000010101010133
+:10DCE0000101020102010001000100010101010125
+:10DCF0000100010001010101010101010101010116
+:10DD00000101010100010000000101010101010206
+:10DD100001020001000101000100000101010101F7
+:10DD200000010000000100010000000000010101ED
+:10DD300001010000010000000001000001010101DB
+:10DD400000000000000000000000000000010100D1
+:10DD500001000000000000000001010101010100BC
+:10DD600000000000000000000101010101010101AB
+:10DD7000000000000000000000010000010101009F
+:10DD8000010001010000000000000000010101028B
+:10DD90000202020100000000000100000001000278
+:10DDA0000201020102000000020000000101010264
+:10DDB0000202020200020200020000000101010250
+:10DDC0000201010101010102000001010101010143
+:10DDD0000201020201010201000000010101010132
+:10DDE0000101020102010001010100010101010123
+:10DDF0000100010101010101010101010101010114
+:10DE00000101010100010001000101010101010204
+:10DE100001020001000101010100000101010101F5
+:10DE200000010000000100010000000000010101EC
+:10DE300001010000010000000001000001010101DA
+:10DE400000000000000000000000000000010100D0
+:10DE500001000000000000010001010101010100BA
+:10DE600000000000000000010101010101010101A9
+:10DE7000000000000000000000010100010101009D
+:10DE80000100010100000000000100000101010289
+:10DE90000202020100000000000100000001000277
+:10DEA0000201020102000000020000000101010263
+:10DEB000020202020002020002000000010101024F
+:10DEC0000202010101020102000001010101010140
+:10DED0000201020201020201000000010101010130
+:10DEE0000201020102010001010101010101010120
+:10DEF0000100010101010101010101010101010212
+:10DF00000201010101010001000101010101010201
+:10DF100001020001000101010100000101010101F4
+:10DF200000010100000100010000000001010101E9
+:10DF300001010100010000010001000001010101D7
+:10DF400000000000000000000000000000010100CF
+:10DF500001000000000000010101010101010101B7
+:10DF600000000000000000010101010101010101A8
+:10DF7000000000000000000001010101010101009A
+:10DF80000100010100000000000101000101010287
+:10DF90000202020101000000000100000001000275
+:10DFA0000202020102000000020000000101010261
+:10DFB000020202020102020002000000010101024D
+:10DFC000020202010202010200000102010101023B
+:10DFD000020102020202020101000001010101022C
+:10DFE000020102010201000101010101010101011F
+:10DFF000020001010102010101010101010101020F
+:10E000000201010101010001000101010101010200
+:10E0100001020002000101010100010101010101F1
+:10E0200000010100000100010000000101010101E7
+:10E0300001010100010000010101000001010101D5
+:10E0400000000000000000000000000001010100CD
+:10E0500001000000000000010101010101010101B6
+:10E0600000000000000000010101010101010101A7
+:10E070000000000000000001010101010101010098
+:10E080000100010100000000010101000101010285
+:10E090000202020201000000000100000001000273
+:10E0A0000202020102000000020000000101010260
+:10E0B000020202020102020002000000010101024C
+:10E0C0000202020102020102000002020101010239
+:10E0D0000202020202020202010000010101010229
+:10E0E000020102010201000101010101010101011E
+:10E0F000020001010102010101010101010101020E
+:10E1000002010101010100010001010101010102FF
+:10E1100001020002000101010100010101010101F0
+:10E1200000010100000100010000000101010101E6
+:10E1300001010100010000010101010001010101D3
+:10E1400001000000000000000000000001010100CB
+:10E1500002000000000000010101010101010101B4
+:10E1600000000000000000010101010101010101A6
+:10E170000000000000000001010101010101010097
+:10E180000200010100000000010101000101010283
+:10E190000202020201010000000100000001000271
+:10E1A000020202010200000002000000010101025F
+:10E1B000020202020102020002000000010101024B
+:10E1C0000202020102020102000002020101010238
+:10E1D0000202020202020202010000020101010227
+:10E1E000020102010201000101010101010101011D
+:10E1F000020001010102010101010101010101020D
+:10E2000002010101010100010001010101010102FE
+:10E2100001020002000101010100010101010101EF
+:10E2200001010100000100010000000101010101E4
+:10E2300001010100010000010101010001010101D2
+:10E2400001000000000000000000010001010100C9
+:10E2500002000000000000010101010101010101B3
+:10E2600000000000000000010101010101010101A5
+:10E270000000000000000001010101010101010096
+:10E280000201010100000000010101010101010280
+:10E29000020202020101010000010000000200026E
+:10E2A000020202010200000002000000010101025E
+:10E2B000020202020102020002000000010101024A
+:10E2C0000202020102020102000002020101010237
+:10E2D0000202020202020202010000020101010226
+:10E2E000020102010201000101010102010101021A
+:10E2F000020001010102010101010101010101020C
+:10E3000002010101010100010101010101010102FC
+:10E3100001020002000101010101010101010101ED
+:10E3200001010100000100010000000101010101E3
+:10E3300001010100010000010101010001010101D1
+:10E3400001000000000000000101010101010100C5
+:10E3500002000000000000010101010101010101B2
+:10E3600000000000010000010101010101010101A3
+:10E370000000000000010001010101010101010094
+:10E38000020101010000000101010101010101027E
+:10E39000020202020101010000010000000200026D
+:10E3A000020202010200000002000000010101025D
+:10E3B0000202020201020200020000000101010249
+:10E3C0000202020102020102000002020101010236
+:10E3D0000202020202020202010000020101010225
+:10E3E0000202020102020001010101020101010217
+:10E3F0000201010101020101020101010101010209
+:10E4000002010101010101010101010101010102FA
+:10E4100001020102000101010101010101010102EA
+:10E4200001010100000100010000000101010102E1
+:10E4300002010100010000010101010101010101CE
+:10E4400001000100000000000101010101010100C3
+:10E4500002000000000000010101010101010101B1
+:10E4600000000000010001010101010101010101A1
+:10E470000000000000010001010101010101010093
+:10E48000020101010101000101010101010101027B
+:10E49000020202020101010000010000000200026C
+:10E4A000020202020200000002000000020101025A
+:10E4B0000202020201020200020000000201010247
+:10E4C0000202020102020102000002020101010235
+:10E4D0000202020202020202010000020101010224
+:10E4E0000202020202020001010101020101010215
+:10E4F0000201020101020101020101010101010207
+:10E5000002010101010101010101010101010102F9
+:10E5100002020102010101010101010101010102E7
+:10E5200001010100000100010000000101010102E0
+:10E5300002010100010000010101010101010101CD
+:10E5400001000100000000000101010101010100C2
+:10E5500002000000010100010101010101010101AE
+:10E56000000000000101010101010101010101019F
+:10E570000000000101010001010101010101010090
+:10E580000201010101010101010101010101010279
+:10E59000020202020201010000010000000200026A
+:10E5A0000202020202000000020000000202010258
+:10E5B0000202020201020200020000000201020245
+:10E5C0000202020102020202000002020101010233
+:10E5D0000202020202020202010000020101010223
+:10E5E0000202020202020001010101020101010214
+:10E5F0000201020101020101020101010101010206
+:10E6000002020101010101010101010101010102F7
+:10E6100002020102010201010101010101010102E5
+:10E6200001010101010100010001000101010102DC
+:10E6300002010101010000010101010101010101CB
+:10E6400001000100000000010101010101010100C0
+:10E6500002000000010101010101010101010101AC
+:10E66000000000000101010101010101010101019E
+:10E67000000000010101010101010101010101008E
+:10E680000201010101010101010101010101010278
+:10E690000202020202010101000200000002000267
+:10E6A0000202020202000000020000000202020256
+:10E6B0000202020201020200020000000201020244
+:10E6C0000202020202020202000002020101010231
+:10E6D0000202020202020202010001020101010221
+:10E6E0000202020202020001010101020201010212
+:10E6F0000201020101020101020101010101010205
+:10E7000002020101010101010101010101010102F6
+:10E7100002020102010201010101010101010102E4
+:10E7200001010101010100010001010101010102DA
+:10E7300002010101010000010101010101010102C9
+:10E7400001000100000000010101010101010100BF
+:10E7500002000001010101010101010101010101AA
+:10E76000000000010101010101010101010101019C
+:10E77000010100010101010101010101010101008B
+:10E780000201020101010101010101010101010276
+:10E790000202020202020101000200000002000265
+:10E7A0000202020202000000020000000202020255
+:10E7B0000202020202020200020000000202020241
+:10E7C000020202020202020200000202020101022F
+:10E7D0000202020202020202010001020101010220
+:10E7E0000202020202020002010101020201010210
+:10E7F0000201020101020201020101010101010203
+:10E8000002020201010101010101010201010102F3
+:10E8100002020102010201010101010101010102E3
+:10E8200001010101010100010001010101010102D9
+:10E8300002010101010100010101010101010102C7
+:10E8400001000100000000010101010101010100BE
+:10E8500002000001010101010101010101010101A9
+:10E86000000001010101010101010101010101019A
+:10E870000101010101010101010101010101010089
+:10E880000201020201010101010101010101010274
+:10E890000202020202020201000200000002000263
+:10E8A0000202020202010000020000000202020253
+:10E8B0000202020202020200020000000202020240
+:10E8C000020202020202020200000202020102022D
+:10E8D000020202020202020201000102010102021E
+:10E8E000020202020202000201010102020101020F
+:10E8F0000201020101020201020101010101010202
+:10E9000002020201010201010101010201010102F1
+:10E9100002020102010202010101010101010102E1
+:10E9200001020101010100010001010101010102D7
+:10E9300002020101010100010101010101010102C5
+:10E9400001000100000000010101010101010100BD
+:10E9500002000001010101010101010101010101A8
+:10E960000101010101010101010101010101010197
+:10E970000101010101010101010101010101010088
+:10E980000201020201010101010101010101010273
+:10E990000202020202020201010200000002000261
+:10E9A0000202020202010000020000000202020252
+:10E9B000020202020202020002000000020202023F
+:10E9C000020202020202020200000202020102022C
+:10E9D000020202020202020201010102010102021C
+:10E9E000020202020202000201010102020101020E
+:10E9F0000201020102020201020101010101010200
+:10EA000002020201010201010101010201010102F0
+:10EA100002020102010202010101010101010102E0
+:10EA200002020101010200010001010101010102D4
+:10EA300002020101010100010101010101010102C4
+:10EA400001000100000000010101010101010100BC
+:10EA500002000101010101010101010101010101A6
+:10EA60000101010101010101010101010101010295
+:10EA70000101010101010101010101010101010087
+:10EA80000201020201010101010101010101010272
+:10EA90000202020202020201010200000002000260
+:10EAA0000202020202010000020000000202020251
+:10EAB000020202020202020002000000020202023E
+:10EAC000020202020202020200000202020202022A
+:10EAD000020202020202020201010102010202021A
+:10EAE000020202020202000201020102020201020B
+:10EAF00002020202020202010201010101010102FD
+:10EB000002020202010201010101010201010102EE
+:10EB100002020102010202010201010101010102DE
+:10EB200002020101010200010001010101010102D3
+:10EB300002020101010101010101010101010102C2
+:10EB400002000100000100010101010101010101B8
+:10EB500002010101010101010101010101010102A3
+:10EB60000101010101010101010101010101010294
+:10EB70000101010101010101010101010101010086
+:10EB80000201020201010101010101010101010271
+:10EB9000020202020202020101020000000200025F
+:10EBA0000202020202010000020000000202020250
+:10EBB000020202020202020002000000020202023D
+:10EBC0000202020202020202000002020202020229
+:10EBD0000202020202020202010101020202020218
+:10EBE0000202020202020002010201020202020209
+:10EBF00002020202020202010201010101010102FC
+:10EC000002020202010201010101010201010102ED
+:10EC100002020102010202010201010101010102DD
+:10EC200002020201010200010101010101010102D0
+:10EC300002020201010101010101010101010102C0
+:10EC400002000100000100010101010101010101B7
+:10EC500002010101010101010101010101010102A2
+:10EC60000101010101010101010101010101010293
+:10EC70000101010101010101010101010101010085
+:10EC80000201020201010101010101010101010270
+:10EC9000020202020202020201020000010200025C
+:10ECA000020202020201000002000000020202024F
+:10ECB000020202020202020002000000020202023C
+:10ECC0000202020202020202010002020202020227
+:10ECD0000202020202020202020101020202020216
+:10ECE0000202020202020002010201020202020208
+:10ECF00002020202020202020202010101010102F9
+:10ED000002020202010201010101010201010102EC
+:10ED100002020202010202010201010101010102DB
+:10ED200002020201010201010101010101010102CE
+:10ED300002020201010101010101010101010102BF
+:10ED400002000101010100010101010101010101B4
+:10ED500002010101010101010101010101010102A1
+:10ED60000101010101010101010101010101010292
+:10ED70000101010101010101010101010101010084
+:10ED8000020102020101010101010101010101026F
+:10ED9000020202020202020201020000010200025B
+:10EDA000020202020202000002000000020202024D
+:10EDB000020202020202020002000000020202023B
+:10EDC0000202020202020202010002020202020226
+:10EDD0000202020202020202020101020202020215
+:10EDE0000202020202020002020201020202020206
+:10EDF00002020202020202020202010101010102F8
+:10EE000002020202010201010101010202010202E9
+:10EE100002020202010202010201010102010202D8
+:10EE200002020201010201010101010101010102CD
+:10EE300002020201020101010101010101010102BD
+:10EE400002000101010101010101010101010101B2
+:10EE500002010101010101010101010101010102A0
+:10EE60000101010101010101010101010101010291
+:10EE70000101010101010101010101010101010083
+:10EE8000020102020101010101010101010101026E
+:10EE90000202020202020202020200000102000259
+:10EEA000020202020202000002000000020202024C
+:10EEB000020202020202020002000000020202023A
+:10EEC0000202020202020202010102020202020224
+:10EED0000202020202020202020101020202020214
+:10EEE0000202020202020002020201020202020205
+:10EEF00002020202020202020202010101010102F7
+:10EF000002020202020201010101010202010202E7
+:10EF100002020202010202010201010102010202D7
+:10EF200002020201010201010101010101010102CC
+:10EF300002020201020101010101010101010102BC
+:10EF400002010101010101010101010101010101B0
+:10EF5000020101010101010101010101010101029F
+:10EF60000101010101010101010101010101010290
+:10EF70000101010101010101010101010101010082
+:10EF8000020102020101010101010101010101026D
+:10EF90000202020202020202020200010102000257
+:10EFA000020202020202000102000000020202024A
+:10EFB0000202020202020200020000000202020239
+:10EFC0000202020202020202010102020202020223
+:10EFD0000202020202020202020101020202020213
+:10EFE0000202020202020002020202020202020203
+:10EFF00002020202020202020202020201010202F3
+:10F0000002020202020201010101010202010202E6
+:10F0100002020202010202010201010102010202D6
+:10F0200002020201010201010101010101010102CB
+:10F0300002020201020101010101010101010202BA
+:10F0400002010101010101010101010101010101AF
+:10F05000020101010101010101010101010101029E
+:10F06000010101010101010101010101010101028F
+:10F070000101010101010101010101010101010081
+:10F08000020102020101010101010101010101026C
+:10F090000202020202020202020200010102000256
+:10F0A0000202020202020001020000000202020249
+:10F0B0000202020202020200020000000202020238
+:10F0C0000202020202020202010102020202020222
+:10F0D0000202020202020202020102020202020211
+:10F0E0000202020202020002020202020202020202
+:10F0F00002020202020202020202020202010202F1
+:10F1000002020202020201010101010202010202E5
+:10F1100002020202010202020201010202010202D3
+:10F1200002020201010201020101010101010202C8
+:10F1300002020201020101010101010101010202B9
+:10F1400002010201010101010101010101010101AD
+:10F15000020101010101010101010101010101029D
+:10F16000020101010101010101010101010101028D
+:10F17000020101010101010101010101010101007F
+:10F18000020102020101010101010101010101026B
+:10F190000202020202020202020200020202000253
+:10F1A0000202020202020002020000000202020247
+:10F1B0000202020202020200020000010202020236
+:10F1C0000202020202020202010102020202020221
+:10F1D0000202020202020202020102020202020210
+:10F1E0000202020202020002020202020202020201
+:10F1F00002020202020202020202020202010202F0
+:10F2000002020202020201020101010202010202E3
+:10F2100002020202020202020201010202010202D1
+:10F2200002020201010201020101010101010202C7
+:10F2300002020201020101010101010101020202B7
+:10F2400002010201010101010101010101010102AB
+:10F25000020101010101010101010101010101029C
+:10F26000020101010101010101010101010101028C
+:10F27000020101010101010101010101010101007E
+:10F280000202020201010101010101010101010269
+:10F290000202020202020202020200020202000252
+:10F2A0000202020202020002020000000202020246
+:10F2B0000202020202020201020000010202020234
+:10F2C0000202020202020202010102020202020220
+:10F2D000020202020202020202020202020202020E
+:10F2E0000202020202020002020202020202020200
+:10F2F00002020202020202020202020202020202EE
+:10F3000002020202020202020102020202020202DE
+:10F3100002020202020202020201020202010202CF
+:10F3200002020202010201020101010101010202C5
+:10F3300002020202020101010101010101020202B5
+:10F3400002010201010101010101010101010102AA
+:10F35000020101010101010101010101010101029B
+:10F36000020101010101010101010101010101028B
+:10F37000020101010101010101010101010101007D
+:10F380000202020201010101010101010101010268
+:10F390000202020202020202020200020202000251
+:10F3A0000202020202020202020000000202020243
+:10F3B0000202020202020201020100020202020231
+:10F3C000020202020202020202010202020202021E
+:10F3D000020202020202020202020202020202020D
+:10F3E00002020202020200020202020202020202FF
+:10F3F00002020202020202020202020202020202ED
+:10F4000002020202020202020102020202020202DD
+:10F4100002020202020202020201020202020202CD
+:10F4200002020202010201020101010101010202C4
+:10F4300002020202020101010102010101020202B3
+:10F4400002010201010101010101010101010102A9
+:10F45000020101010101010101010101010101029A
+:10F460000202010101010101010101010101010289
+:10F47000020201010101010101010101010101007B
+:10F480000202020201010101010101010101020266
+:10F490000202020202020202020200020202000250
+:10F4A0000202020202020202020000000202020242
+:10F4B000020202020202020202020002020202022E
+:10F4C000020202020202020202020202020202021C
+:10F4D000020202020202020202020202020202020C
+:10F4E00002020202020200020202020202020202FE
+:10F4F00002020202020202020202020202020202EC
+:10F5000002020202020202020202020202020202DB
+:10F5100002020202020202020202020202020202CB
+:10F5200002020202020201020101010101020202C1
+:10F5300002020202020101020102010101020202B1
+:10F5400002010201010101010101010101010102A8
+:10F550000202010101010101010101010101020297
+:10F560000202020101010101010101010101010287
+:10F57000020201010101010101010101010101007A
+:10F580000202020201010101010101010101020265
+:10F59000020202020202020202020002020200024F
+:10F5A0000202020202020202020000000202020241
+:10F5B000020202020202020202020002020202022D
+:10F5C000020202020202020202020202020202021B
+:10F5D000020202020202020202020202020202020B
+:10F5E00002020202020200020202020202020202FD
+:10F5F00002020202020202020202020202020202EB
+:10F6000002020202020202020202020202020202DA
+:10F6100002020202020202020202020202020202CA
+:10F6200002020202020201020101010101020202C0
+:10F6300002020202020101020202010102020202AE
+:10F6400002020201010101010101010101010102A6
+:10F650000202020101010101010101010101020295
+:10F660000202020101010101010101010101020285
+:10F670000202020101010101010101010101010078
+:10F680000202020201010101010101010101020264
+:10F69000020202020202020202020202020200024C
+:10F6A000020202020202020202000002020202023E
+:10F6B000020202020202020202020102020202022B
+:10F6C000020202020202020202020202020202021A
+:10F6D000020202020202020202020202020202020A
+:10F6E00002020202020200020202020202020202FC
+:10F6F00002020202020202020202020202020202EA
+:10F7000002020202020202020202020202020202D9
+:10F7100002020202020202020202020202020202C9
+:10F7200002020202020201020101010201020202BE
+:10F7300002020202020201020202010102020202AC
+:10F7400002020201010101010101010101010202A4
+:10F750000202020201010101010201010102020291
+:10F76000020202020201010102020101020202027E
+:10F770000202020201010101010101010101010076
+:10F780000202020201010101010101010101020263
+:10F79000020202020202020202020202020200024B
+:10F7A000020202020202020202000002020202023D
+:10F7B0000202020202020202020202020202020229
+:10F7C0000202020202020202020202020202020219
+:10F7D0000202020202020202020202020202020209
+:10F7E00002020202020200020202020202020202FB
+:10F7F00002020202020202020202020202020202E9
+:10F8000002020202020202020202020202020202D8
+:10F8100002020202020202020202020202020202C8
+:10F8200002020202020201020101010201020202BD
+:10F8300002020202020201020202020102020202AA
+:10F8400002020201010101010101010101010202A3
+:10F85000020202020201010201020101020202028D
+:10F86000020202020201010202020201020202027B
+:10F870000202020201010101010101010101010075
+:10F880000202020201010101010101010101020262
+:10F89000020202020202020202020202020200024A
+:10F8A000020202020202020202020002020202023A
+:10F8B0000202020202020202020202020202020228
+:10F8C0000202020202020202020202020202020218
+:10F8D0000202020202020202020202020202020208
+:10F8E00002020202020200020202020202020202FA
+:10F8F00002020202020202020202020202020202E8
+:10F9000002020202020202020202020202020202D7
+:10F9100002020202020202020202020202020202C7
+:10F9200002020202020201020101010202020202BB
+:10F9300002020202020202020202020102020202A8
+:10F9400002020202010101010101010101020202A0
+:10F950000202020202020102020202020202020288
+:10F960000202020202020202020202020202020277
+:10F970000202020202020101010101010101010072
+:10F980000202020202010101010101010101020260
+:10F990000202020202020202020202020202000249
+:10F9A0000202020202020202020202020202020237
+:10F9B0000202020202020202020202020202020227
+:10F9C0000202020202020202020202020202020217
+:10F9D0000202020202020202020202020202020207
+:10F9E00002020202020200020202020202020202F9
+:10F9F00002020202020202020202020202020202E7
+:10FA000002020202020202020202020202020202D6
+:10FA100002020202020202020202020202020202C6
+:10FA200002020202020202020102010202020202B8
+:10FA300002020202020202020202020202020202A6
+:10FA4000020202020101010102010101010202029E
+:10FA50000202020202020202020202020202020286
+:10FA60000202020202020202020202020202020276
+:10FA7000020202020202010202020101010102006D
+:10FA8000020202020202010101010101010102025E
+:10FA90000202020202020202020202020202000248
+:10FAA0000202020202020202020202020202020236
+:10FAB0000202020202020202020202020202020226
+:10FAC0000202020202020202020202020202020216
+:10FAD0000202020202020202020202020202020206
+:10FAE00002020202020201020202020202020202F7
+:10FAF00002020202020202020202020202020202E6
+:10FB000002020202020202020202020202020202D5
+:10FB100002020202020202020202020202020202C5
+:10FB200002020202020202020102020202020202B6
+:10FB300002020202020202020202020202020202A5
+:10FB40000202020202020102020202010102020298
+:10FB50000202020202020202020202020202020285
+:10FB60000202020202020202020202020202020275
+:10FB70000202020202020202020202010202020068
+:10FB8000020202020202020102020101010102025A
+:10FB90000202020202020202020202020202000247
+:10FBA0000202020202020202020202020202020235
+:10FBB0000202020202020202020202020202020225
+:10FBC0000202020202020202020202020202020215
+:10FBD0000202020202020202020202020202020205
+:10FBE00002020202020202020202020202020202F5
+:10FBF00002020202020202020202020202020202E5
+:10FC000002020202020202020202020202020202D4
+:10FC100002020202020202020202020202020202C4
+:10FC200002020202020202020202020202020202B4
+:10FC300002020202020202020202020202020202A4
+:10FC40000202020202020102020202020202020295
+:10FC50000202020202020202020202020202020284
+:10FC60000202020202020202020202020202020274
+:10FC70000202020202020202020202020202020066
+:10FC80000202020202020202020202010101020257
+:10FC90000202020202020202020202020202000246
+:10FCA0000202020202020202010202020202020235
+:10FCB0000202020202020202020202020202020224
+:10FCC0000202020202020202020202020202020214
+:10FCD0000202020202020202020202020202020204
+:10FCE00002020202020202020202020202020202F4
+:10FCF00002020202020202020202020202020202E4
+:10FD000002020202020202020202020202020202D3
+:10FD100002020202020202020202020202020202C3
+:10FD200002020202020202020202020202020202B3
+:10FD300002020202020202020202020202020202A3
+:10FD40000202020202020202020202020202020293
+:10FD50000202020202020202020202020202020283
+:10FD60000202020202020202020202020202020273
+:10FD70000202020202020202020202020202020065
+:10FD80000202020202020202020202010201020255
+:10FD90000202020202020202020202020202000245
+:10FDA0000202020201020202010202020202020235
+:10FDB0000202020202020102020202020202020224
+:10FDC0000202020202020202020202020202020213
+:10FDD0000202020202020202020202020202020203
+:10FDE00002020202020202020202020202020202F3
+:10FDF00002020202020202020202020202020202E3
+:10FE000002020202020202020202020202020202D2
+:10FE100002020202020202020202020202020202C2
+:10FE200002020202020202020202020202020202B2
+:10FE300002020202020202020202020202020202A2
+:10FE40000202020202020202020202020202020292
+:10FE50000202020202020202020202020202020282
+:10FE60000202020202020202020202020202020272
+:10FE70000202020202020202020202020202020262
+:10FE80000202020202020202020202020202020252
+:10FE90000202020202020202020202010102000246
+:10FEA0000202020201020202010202010202020235
+:10FEB0000202020202010202020202020202020223
+:10FEC0000202020202020202020202020202020212
+:10FED0000202020202020202020202020202020202
+:10FEE00002020202020202020202020202020202F2
+:10FEF00002020202020202020202020202020202E2
+:10FF000002020202020202020202020202020202D1
+:10FF100002020202020202020202020202020202C1
+:10FF200002020202020202020202020202020202B1
+:10FF300002020202020202020202020202020202A1
+:10FF40000202020202020202020202020202020291
+:10FF50000202020202020202020202020202020281
+:10FF60000202020202020202020202020202020271
+:10FF70000202020202020202020202020202020261
+:10FF80000202020202020202020202020202020251
+:10FF90000202020202020202020202010102000245
+:10FFA0000202010201020201010202010202020236
+:10FFB0000202020202020102010202010202020224
+:10FFC0000202020202020202020202020202020211
+:10FFD0000202020202020202020202020202020201
+:10FFE00002020202020202020202020202020202F1
+:10FFF00002020202020202020202020202020202E1
+:02000002F0000C
+:1000000002020202020202020202020202020202D0
+:1000100002020202020202020202020202020202C0
+:1000200002020202020202020202020202020202B0
+:1000300002020202020202020202020202020202A0
+:100040000202020202020202020202020202020290
+:100050000202020202020202020202020202020280
+:100060000202020202020202020202020202020270
+:100070000202020202020202020202020202020260
+:100080000202020202020202020202020202020250
+:10009000020101010101010101010101010101024E
+:1000A0000202010201020201010101010101020239
+:1000B0000202020202010102020102020101020225
+:1000C0000202020202020202020202020202020210
+:1000D0000202020202020202020202020202020200
+:1000E00002020202020202020202020202020202F0
+:1000F00002020202020202020202020202020202E0
+:1001000002020202020202020202020202020202CF
+:1001100002020202020202020202020202020202BF
+:1001200002020202020202020202020202020202AF
+:10013000020202020202020202020202020202029F
+:10014000020202020202020202020202020202028F
+:10015000020202020202020202020202020202027F
+:10016000020202020202020202020202020202026F
+:10017000020202020202020202020202020202025F
+:10018000020202020202020202020202020202024F
+:10019000020101010101010101010101010101024D
+:1001A000010101010101010101010101010101023E
+:1001B0000202020102010102010201010202020225
+:1001C0000202020202020201020202020202020210
+:1001D00002020202020202020202020202020202FF
+:1001E00002020202020202020202020202020202EF
+:1001F00002020202020202020202020202020202DF
+:1002000002020202020202020202020202020202CE
+:1002100002020202020202020202020202020202BE
+:1002200002020202020202020202020202020202AE
+:10023000020202020202020202020202020202029E
+:10024000020202020202020202020202020202028E
+:10025000020202020202020202020202020202027E
+:10026000020202020202020202020202020202026E
+:10027000020202020202020202020202020202025E
+:10028000020202020202020202020202020202024E
+:10029000010101010101010101010101010101024D
+:1002A000010101010101010101010101010101023D
+:1002B000020101020101010101010201010101022A
+:1002C000020202020202020202020201020202020F
+:1002D00002020202020202020202020202020202FE
+:1002E00002020202020202020202020202020202EE
+:1002F00002020202020202020202020202020202DE
+:1003000002020202020202020202020202020202CD
+:1003100002020202020202020202020202020202BD
+:1003200002020202020202020202020202020202AD
+:10033000020202020202020202020202020202029D
+:10034000020202020202020202020202020202028D
+:10035000020202020202020202020202020202027D
+:10036000020202020202020202020202020202026D
+:10037000020202020202020202020202020202025D
+:10038000020202020202020202020202020202024D
+:10039000010101010101010101010101010101024C
+:1003A000010101010101010101010101010101023C
+:1003B0000102020102010102010101010101020227
+:1003C0000202020201010201020201020202020211
+:1003D00002020202020202020202020202020202FD
+:1003E00002020202020202020202020202020202ED
+:1003F00002020202020202020202020202020202DD
+:1004000002020202020202020202020202020202CC
+:1004100002020202020202020202020202020202BC
+:1004200002020202020202020202020202020202AC
+:10043000020202020202020202020202020202029C
+:10044000020202020202020202020202020202028C
+:10045000020202020202020202020202020202027C
+:10046000020202020202020202020202020202026C
+:10047000020202020202020202020202020202025C
+:10048000020202020202020202020202020202014D
+:10049000010101010101010101010101010101014C
+:1004A000010101010101010101010101010101023B
+:1004B000020101010101010101010101010101022A
+:1004C0000202020202020101020102010101020212
+:1004D00002020202020202020202020202020202FC
+:1004E00002020202020202020202020202020202EC
+:1004F00002020202020202020202020202020202DC
+:1005000002020202020202020202020202020202CB
+:1005100002020202020202020202020202020202BB
+:1005200002020202020202020202020202020202AB
+:10053000020202020202020202020202020202029B
+:10054000020202020202020202020202020202028B
+:10055000020202020202020202020202020202027B
+:10056000020202020202020202020202020202026B
+:10057000020202020202020202020202020202025B
+:10058000020202020202020202020202020202014C
+:10059000010101010101010101010101010101014B
+:1005A000010101010101010101010101010101013B
+:1005B000010101010101010101010101010101022A
+:1005C0000202010201010201010201010202020212
+:1005D00002020202020202020202020202020202FB
+:1005E00002020202020202020202020202020202EB
+:1005F00002020202020202020202020202020202DB
+:1006000002020202020202020202020202020202CA
+:1006100002020202020202020202020202020202BA
+:1006200002020202020202020202020202020202AA
+:10063000020202020202020202020202020202029A
+:10064000020202020202020202020202020202028A
+:10065000020202020202020202020202020202027A
+:10066000020202020202020202020202020202026A
+:10067000020202020202020202020202020202025A
+:10068000020202020202020202020202020202014B
+:10069000010101010101010101010101010101014A
+:1006A0000101010101010101010101010101010239
+:1006B0000101010101010101010101010101010229
+:1006C0000101020101010101020101010101010217
+:1006D00002020202020201020202020202020202FB
+:1006E00002020202020202020202020202020202EA
+:1006F00002020202020202020202020202020202DA
+:1007000002020202020202020202020202020202C9
+:1007100002020202020202020202020202020202B9
+:1007200002020202020202020202020202020202A9
+:100730000202020202020202020202020202020299
+:100740000202020202020202020202020202020289
+:100750000202020202020202020202020202020279
+:100760000202020202020202020202020202020269
+:100770000202020202020202020202020202020259
+:10078000020202020202020202020202020202014A
+:100790000101010101010101010101010101010149
+:1007A0000101010101010101010101010101010139
+:1007B0000101010101010101010101010101010228
+:1007C0000202010201010101010101010101020214
+:1007D00002020202020101010202010102020202FE
+:1007E00002020202020202020202020202020202E9
+:1007F00002020202020202020202020202020202D9
+:1008000002020202020202020202020202020202C8
+:1008100002020202020202020202020202020202B8
+:1008200002020202020202020202020202020202A8
+:100830000202020202020202020202020202020298
+:100840000202020202020202020202020202020288
+:100850000202020202020202020202020202020278
+:100860000202020202020202020202020202020268
+:100870000202020202020202020202020202020258
+:100880000202020202020202020202020202020149
+:100890000101010101010101010101010101010148
+:1008A0000101010101010101010101010101010138
+:1008B0000101010101010101010101010101010128
+:1008C0000101010101010101010101010101010217
+:1008D0000202010101010101010101010102020203
+:1008E00002020202020202020202020202020202E8
+:1008F00002020202020202020202020202020202D8
+:1009000002020202020202020202020202020202C7
+:1009100002020202020202020202020202020202B7
+:1009200002020202020202020202020202020202A7
+:100930000202020202020202020202020202020297
+:100940000202020202020202020202020202020287
+:100950000202020202020202020202020202020277
+:100960000202020202020202020202020202020267
+:100970000202020202020202020202020202020257
+:100980000202020202020202020202020202020148
+:100990000101010101010101010101010101010147
+:1009A0000101010101010101010101010101010137
+:1009B0000101010101010101010101010101010226
+:1009C0000101010101010101010101010101010216
+:1009D0000202010101010101010101010101020203
+:1009E00002020202020202020202020202020202E7
+:1009F00002020202020202020202020202020202D7
+:100A000002020202020202020202020202020202C6
+:100A100002020202020202020202020202020202B6
+:100A200002020202020202020202020202020202A6
+:100A30000202020202020202020202020202020296
+:100A40000202020202020202020202020202020286
+:100A50000202020202020202020202020202020276
+:100A60000202020202020202020202020202020266
+:100A70000202020202020202020202020202020256
+:100A80000202020202020202020202020202020147
+:100A90000101010101010101010101010101010146
+:100AA0000101010101010101010101010101010136
+:100AB0000101010101010101010101010101010126
+:100AC0000101010101010101010101010101010215
+:100AD0000101010101010101010101010101010205
+:100AE00002020202020202020202020202020202E6
+:100AF00002020202020202020202020202020202D6
+:100B000002020202020202020202020202020202C5
+:100B100002020202020202020202020202020202B5
+:100B200002020202020202020202020202020202A5
+:100B30000202020202020202020202020202020295
+:100B40000202020202020202020202020202020285
+:100B50000202020202020202020202020202020275
+:100B60000202020202020202020202020202020265
+:100B70000202020202020202020202020202020255
+:100B80000202020202020202020202020202020146
+:100B90000101010101010101010101010101010145
+:100BA0000101010101010101010101010101010135
+:100BB0000101010101010101010101010101010125
+:100BC0000101010101010101010101010101010214
+:100BD0000101010101010101010101010101010204
+:100BE00002020202010102020202020102020202E8
+:100BF00002020202020202020202020202020202D5
+:100C000002020202020202020202020202020202C4
+:100C100002020202020202020202020202020202B4
+:100C200002020202020202020202020202020202A4
+:100C30000202020202020202020202020202020294
+:100C40000202020202020202020202020202020284
+:100C50000202020202020202020202020202020274
+:100C60000202020202020202020202020202020264
+:100C70000202020202020202020202020202020254
+:100C80000202020202020202020202020202020145
+:100C90000101010101010101010101010101010144
+:100CA0000101010101010101010101010101010134
+:100CB0000101010101010101010101010101010124
+:100CC0000101010101010101010101010101010213
+:100CD0000101010101010101010101010101010203
+:100CE00002020102010102010101010101020202ED
+:100CF00002020202020202020202020202020202D4
+:100D000002020202020202020202020202020202C3
+:100D100002020202020202020202020202020202B3
+:100D200002020202020202020202020202020202A3
+:100D30000202020202020202020202020202020293
+:100D40000202020202020202020202020202020283
+:100D50000202020202020202020202020202020273
+:100D60000202020202020202020202020202020263
+:100D70000202020202020202020202020202020253
+:100D80000202020202020202020202020202020144
+:100D90000101010101010101010101010101010143
+:100DA0000101010101010101010101010101010133
+:100DB0000101010101010101010101010101010123
+:100DC0000101010101010101010101010101010113
+:100DD0000101010101010101010101010101010202
+:100DE00002020101010102010101010101010202EE
+:100DF00002020202020102020202020202020202D4
+:100E000002020202020202020202020202020202C2
+:100E100002020202020202020202020202020202B2
+:100E200002020202020202020202020202020202A2
+:100E30000202020202020202020202020202020292
+:100E40000202020202020202020202020202020282
+:100E50000202020202020202020202020202020272
+:100E60000202020202020202020202020202020262
+:100E70000202020202020202020202020202020252
+:100E80000202020202020202020202020202020143
+:100E90000101010101010101010101010101010142
+:100EA0000101010101010101010101010101010132
+:100EB0000101010101010101010101010101010122
+:100EC0000101010101010101010101010101010112
+:100ED0000101010101010101010101010101010201
+:100EE00001010101010101010101010101010102F1
+:100EF00002020202020101020102010102020202D7
+:100F000002020202020202020202020202020202C1
+:100F100002020202020202020202020202020202B1
+:100F200002020202020202020202020202020202A1
+:100F30000202020202020202020202020202020291
+:100F40000202020202020202020202020202020281
+:100F50000202020202020202020202020202020271
+:100F60000202020202020202020202020202020261
+:100F70000202020202020202020202020202020251
+:100F80000202020202020202020202020202020142
+:100F90000101010101010101010101010101010141
+:100FA0000101010101010101010101010101010131
+:100FB0000101010101010101010101010101010121
+:100FC0000101010101010101010101010101010111
+:100FD0000101010101010101010101010101010200
+:100FE00001010101010101010101010101010102F0
+:100FF00002020102010101010101010101010202DC
+:1010000002020202020202020202020202020202C0
+:1010100002020202020202020202020202020202B0
+:1010200002020202020202020202020202020202A0
+:101030000202020202020202020202020202020290
+:101040000202020202020202020202020202020280
+:101050000202020202020202020202020202020270
+:101060000202020202020202020202020202020260
+:101070000202020202020202020202020202020250
+:101080000202020202020202020202020202020141
+:101090000101010101010101010101010101010140
+:1010A0000101010101010101010101010101010130
+:1010B0000101010101010101010101010101010120
+:1010C0000101010101010101010101010101010110
+:1010D0000101010101010101010101010101010100
+:1010E00001010101010101010101010101010102EF
+:1010F00001020101010101010101010101010202DD
+:1011000002020202020202020202020202020202BF
+:1011100002020202020202020202020202020202AF
+:10112000020202020202020202020202020202029F
+:10113000020202020202020202020202020202028F
+:10114000020202020202020202020202020202027F
+:10115000020202020202020202020202020202026F
+:10116000020202020202020202020202020202025F
+:10117000020202020202020202020202020202024F
+:101180000202020202020202020202020202020140
+:10119000010101010101010101010101010101013F
+:1011A000010101010101010101010101010101012F
+:1011B000010101010101010101010101010101011F
+:1011C000010101010101010101010101010101010F
+:1011D00001010101010101010101010101010101FF
+:1011E00001010101010101010101010101010102EE
+:1011F00001010101010101010101010101010102DE
+:1012000002020202020102020202020102020202C0
+:1012100002010201020101020202010202020202B3
+:10122000020202020202020202020202020202029E
+:10123000020202020202020202020202020202028E
+:10124000020202020202020202020202020202027E
+:10125000020202020202020202020202020202026E
+:10126000020202020202020202020202020202025E
+:10127000020202020202020202020202020202024E
+:10128000020202020202020202020202020202013F
+:10129000010101010101010101010101010101013E
+:1012A000010101010101010101010101010101012E
+:1012B000010101010101010101010101010101011E
+:1012C000010101010101010101010101010101010E
+:1012D00001010101010101010101010101010101FE
+:1012E00001010101010101010101010101010101EE
+:1012F00001010101010101010101010101010102DD
+:1013000001010101010101010101010101020202CA
+:1013100002020202020202010101020101020202B2
+:10132000020202020202020202020202020202029D
+:10133000020202020202020202020202020202028D
+:10134000020202020202020202020202020202027D
+:10135000020202020202020202020202020202026D
+:10136000020202020202020202020202020202025D
+:10137000020202020202020202020202020202024D
+:10138000020202020202020202020202020202013E
+:10139000010101010101010101010101010101013D
+:1013A000010101010101010101010101010101012D
+:1013B000010101010101010101010101010101011D
+:1013C000010101010101010101010101010101010D
+:1013D00001010101010101010101010101010101FD
+:1013E00001010101010101010101010101010101ED
+:1013F00001010101010101010101010101010101DD
+:1014000001010101010101010101010101010101CC
+:1014100001010101010101020202010202010102B6
+:10142000020202020202020202020202020202029C
+:10143000020202020202020202020202020202028C
+:10144000020202020202020202020202020202027C
+:10145000020202020202020202020202020202026C
+:10146000020202020202020202020202020202025C
+:10147000020202020202020202020202020202024C
+:10148000020202020202020202020202020202013D
+:10149000010101010101010101010101010101013C
+:1014A000010101010101010101010101010101012C
+:1014B000010101010101010101010101010101011C
+:1014C000010101010101010101010101010101010C
+:1014D00001010101010101010101010101010101FC
+:1014E00001010101010101010101010101010101EC
+:1014F00001010101010101010101010101010101DC
+:1015000001010101010101010101010101010102CA
+:1015100002010201020101010101010101020202B5
+:10152000020202020202020202020202020202029B
+:10153000020202020202020202020202020202028B
+:10154000020202020202020202020202020202027B
+:10155000020202020202020202020202020202026B
+:10156000020202020202020202020202020202025B
+:10157000020202020202020202020202020202024B
+:10158000020202020202020202020202020202013C
+:10159000010101010101010101010101010101013B
+:1015A000010101010101010101010101010101012B
+:1015B000010101010101010101010101010101011B
+:1015C000010101010101010101010101010101010B
+:1015D00001010101010101010101010101010101FB
+:1015E00001010101010101010101010101010101EB
+:1015F00001010101010101010101010101010101DB
+:1016000001010101010101010101010101010101CA
+:1016100001010101010101010101010101010102B9
+:10162000020202020201020202020202020202029B
+:10163000020202020202020202020202020202028A
+:10164000020202020202020202020202020202027A
+:10165000020202020202020202020202020202026A
+:10166000020202020202020202020202020202025A
+:10167000020202020202020202020202020202024A
+:10168000020202020202020202020202020202013B
+:10169000010101010101010101010101010101013A
+:1016A000010101010101010101010101010101012A
+:1016B000010101010101010101010101010101011A
+:1016C000010101010101010101010101010101010A
+:1016D00001010101010101010101010101010101FA
+:1016E00001010101010101010101010101010101EA
+:1016F00001010101010101010101010101010101DA
+:1017000001010101010101010101010101010101C9
+:1017100001010101010101010101010101010102B8
+:10172000020101020201020102020201020202029E
+:10173000010101020102020202020202020202028D
+:101740000202020202020202020202020202020279
+:101750000202020202020202020202020202020269
+:101760000202020202020202020202020202020259
+:101770000202020202020202020202020202020249
+:10178000020202020202020202020202020202013A
+:101790000101010101010101010101010101010139
+:1017A0000101010101010101010101010101010129
+:1017B0000101010101010101010101010101010119
+:1017C0000101010101010101010101010101010109
+:1017D00001010101010101010101010101010101F9
+:1017E00001010101010101010101010101010101E9
+:1017F00001010101010101010101010101010101D9
+:1018000001010101010101010101010101010101C8
+:1018100001010101010101010101010101010101B8
+:1018200001010101010101010101010101010101A8
+:101830000202020102010101010101010101010293
+:101840000202020202020202020202020202020278
+:101850000202020202020202020202020202020268
+:101860000202020202020202020202020202020258
+:101870000202020202020202020202020202020248
+:101880000202020202020202020202020202020139
+:101890000101010101010101010101010101010138
+:1018A0000101010101010101010101010101010128
+:1018B0000101010101010101010101010101010118
+:1018C0000101010101010101010101010101010108
+:1018D00001010101010101010101010101010101F8
+:1018E00001010101010101010101010101010101E8
+:1018F00001010101010101010101010101010101D8
+:1019000001010101010101010101010101010101C7
+:1019100001010101010101010101010101010101B7
+:1019200001010101010101010101010101010102A6
+:10193000010101020102020202020202020202028B
+:101940000202020202020202020202020202020277
+:101950000202020202020202020202020202020267
+:101960000202020202020202020202020202020257
+:101970000202020202020202020202020202020247
+:101980000202020202020202020202020202020138
+:101990000101010101010101010101010101010137
+:1019A0000101010101010101010101010101010127
+:1019B0000101010101010101010101010101010117
+:1019C0000101010101010101010101010101010107
+:1019D00001010101010101010101010101010101F7
+:1019E00001010101010101010101010101010101E7
+:1019F00001010101010101010101010101010101D7
+:101A000001010101010101010101010101010101C6
+:101A100001010101010101010101010101010101B6
+:101A200001010101010101010101010101010101A6
+:101A30000101010101010101010101010101010295
+:101A40000202020202020202020202020202020276
+:101A50000202020202020202020202020202020266
+:101A60000202020202020202020202020202020256
+:101A70000202020202020202020202020202020246
+:101A80000202020202020202020202020202020137
+:101A90000101010101010101010101010101010136
+:101AA0000101010101010101010101010101010126
+:101AB0000101010101010101010101010101010116
+:101AC0000101010101010101010101010101010106
+:101AD00001010101010101010101010101010101F6
+:101AE00001010101010101010101010101010101E6
+:101AF00001010101010101010101010101010101D6
+:101B000001010101010101010101010101010101C5
+:101B100001010101010101010101010101010101B5
+:101B200001010101010101010101010101010101A5
+:101B30000101010101010101010101010101010195
+:101B40000102010202020202020202020202020277
+:101B50000202020202020202020202020202020265
+:101B60000202020202020202020202020202020255
+:101B70000202020202020202020202020202020245
+:101B80000202020202020202020202020202020136
+:101B90000101010101010101010101010101010135
+:101BA0000101010101010101010101010101010125
+:101BB0000101010101010101010101010101010115
+:101BC0000101010101010101010101010101010105
+:101BD00001010101010101010101010101010101F5
+:101BE00001010101010101010101010101010101E5
+:101BF00001010101010101010101010101010101D5
+:101C000001010101010101010101010101010101C4
+:101C100001010101010101010101010101010101B4
+:101C200001010101010101010101010101010101A4
+:101C30000101010101010101010101010101010194
+:101C40000101010101010101010101010101010283
+:101C50000102020202020202020202020202020265
+:101C60000202020202020202020202020202020254
+:101C70000202020202020202020202020202020244
+:101C80000202020202020202020202020202020135
+:101C90000101010101010101010101010101010134
+:101CA0000101010101010101010101010101010124
+:101CB0000101010101010101010101010101010114
+:101CC0000101010101010101010101010101010104
+:101CD00001010101010101010101010101010101F4
+:101CE00001010101010101010101010101010101E4
+:101CF00001010101010101010101010101010101D4
+:101D000001010101010101010101010101010101C3
+:101D100001010101010101010101010101010101B3
+:101D200001010101010101010101010101010101A3
+:101D30000101010101010101010101010101010193
+:101D40000101010101010101010101010101010282
+:101D50000102020202020202020202020202020264
+:101D60000202020202020202020202020202020253
+:101D70000202020202020202020202020202020243
+:101D80000202020202020202020202020202020134
+:101D90000101010101010101010101010101010133
+:101DA0000101010101010101010101010101010123
+:101DB0000101010101010101010101010101010113
+:101DC0000101010101010101010101010101010103
+:101DD00001010101010101010101010101010101F3
+:101DE00001010101010101010101010101010101E3
+:101DF00001010101010101010101010101010101D3
+:101E000001010101010101010101010101010101C2
+:101E100001010101010101010101010101010101B2
+:101E200001010101010101010101010101010101A2
+:101E30000101010101010101010101010101010192
+:101E40000101010101010101010101010101010281
+:101E50000101010101010101010101010101010271
+:101E60000202020202020202020202020202020252
+:101E70000202020202020202020202020202020242
+:101E80000202020202020202020202020202020133
+:101E90000101010101010101010101010101010132
+:101EA0000101010101010101010101010101010122
+:101EB0000101010101010101010101010101010112
+:101EC0000101010101010101010101010101010102
+:101ED00001010101010101010101010101010101F2
+:101EE00001010101010101010101010101010101E2
+:101EF00001010101010101010101010101010101D2
+:101F000001010101010101010101010101010101C1
+:101F100001010101010101010101010101010101B1
+:101F200001010101010101010101010101010101A1
+:101F30000101010101010101010101010101010191
+:101F40000101010101010101010101010101010181
+:101F50000101010101010101010101010101010171
+:101F60000101010101010101010101010101010260
+:101F70000202020202020202020202020202020241
+:101F80000202020202020202020202020202020132
+:101F90000101010101010101010101010101010131
+:101FA0000101010101010101010101010101010121
+:101FB0000101010101010101010101010101010111
+:101FC0000101010101010101010101010101010101
+:101FD00001010101010101010101010101010101F1
+:101FE00001010101010101010101010101010101E1
+:101FF00001010101010101010101010101010101D1
+:1020000001010101010101010101010101010101C0
+:1020100001010101010101010101010101010101B0
+:1020200001010101010101010101010101010101A0
+:102030000101010101010101010101010101010190
+:102040000101010101010101010101010101010180
+:102050000101010101010101010101010101010170
+:10206000010101010101010101010101010101025F
+:102070000202020202020202020202020202020240
+:102080000202020202020202020202020202020131
+:102090000101010101010101010101010101010130
+:1020A0000101010101010101010101010101010120
+:1020B0000101010101010101010101010101010110
+:1020C0000101010101010101010101010101010100
+:1020D00001010101010101010101010101010101F0
+:1020E00001010101010101010101010101010101E0
+:1020F00001010101010101010101010101010101D0
+:1021000001010101010101010101010101010101BF
+:1021100001010101010101010101010101010101AF
+:10212000010101010101010101010101010101019F
+:10213000010101010101010101010101010101018F
+:10214000010101010101010101010101010101017F
+:10215000010101010101010101010101010101016F
+:10216000010101010101010101010101010101015F
+:10217000010101010101010101010101010101024E
+:102180000202020202020202020202020202020130
+:10219000010101010101010101010101010101012F
+:1021A000010101010101010101010101010101011F
+:1021B000010101010101010101010101010101010F
+:1021C00001010101010101010101010101010101FF
+:1021D00001010101010101010101010101010101EF
+:1021E00001010101010101010101010101010101DF
+:1021F00001010101010101010101010101010101CF
+:1022000001010101010101010101010101010101BE
+:1022100001010101010101010101010101010101AE
+:10222000010101010101010101010101010101019E
+:10223000010101010101010101010101010101018E
+:10224000010101010101010101010101010101017E
+:10225000010101010101010101010101010101016E
+:10226000010101010101010101010101010101015E
+:10227000010101010101010101010101010101024D
+:10228000020202020202020202020202020202012F
+:10229000010101010101010101010101010101012E
+:1022A000010101010101010101010101010101011E
+:1022B000010101010101010101010101010101010E
+:1022C00001010101010101010101010101010101FE
+:1022D00001010101010101010101010101010101EE
+:1022E00001010101010101010101010101010101DE
+:1022F00001010101010101010101010101010101CE
+:1023000001010101010101010101010101010101BD
+:1023100001010101010101010101010101010101AD
+:10232000010101010101010101010101010101019D
+:10233000010101010101010101010101010101018D
+:10234000010101010101010101010101010101017D
+:10235000010101010101010101010101010101016D
+:10236000010101010101010101010101010101015D
+:10237000010101010101010101010101010101024C
+:10238000020202020202020202020202020202012E
+:10239000010101010101010101010101010101012D
+:1023A000010101010101010101010101010101011D
+:1023B000010101010101010101010101010101010D
+:1023C00001010101010101010101010101010101FD
+:1023D00001010101010101010101010101010101ED
+:1023E00001010101010101010101010101010101DD
+:1023F00001010101010101010101010101010101CD
+:1024000001010101010101010101010101010101BC
+:1024100001010101010101010101010101010101AC
+:10242000010101010101010101010101010101019C
+:10243000010101010101010101010101010101018C
+:10244000010101010101010101010101010101017C
+:10245000010101010101010101010101010101016C
+:10246000010101010101010101010101010101015C
+:10247000010101010101010101010101010101024B
+:102480000102010102020202020202020202010131
+:10249000010101010101010101010101010101012C
+:1024A000010101010101010101010101010101011C
+:1024B000010101010101010101010101010101010C
+:1024C00001010101010101010101010101010101FC
+:1024D00001010101010101010101010101010101EC
+:1024E00001010101010101010101010101010101DC
+:1024F00001010101010101010101010101010101CC
+:1025000001010101010101010101010101010101BB
+:1025100001010101010101010101010101010101AB
+:10252000010101010101010101010101010101019B
+:10253000010101010101010101010101010101018B
+:10254000010101010101010101010101010101017B
+:10255000010101010101010101010101010101016B
+:10256000010101010101010101010101010101015B
+:10257000010101010101010101010101010101024A
+:10258000010101010101010101010101010101013B
+:10259000010101010101010101010101010101012B
+:1025A000010101010101010101010101010101011B
+:1025B000010101010101010101010101010101010B
+:1025C00001010101010101010101010101010101FB
+:1025D00001010101010101010101010101010101EB
+:1025E00001010101010101010101010101010101DB
+:1025F00001010101010101010101010101010101CB
+:1026000001010101010101010101010101010101BA
+:1026100001010101010101010101010101010101AA
+:10262000010101010101010101010101010101019A
+:10263000010101010101010101010101010101018A
+:10264000010101010101010101010101010101017A
+:10265000010101010101010101010101010101016A
+:10266000010101010101010101010101010101015A
+:102670000101010101010101010101010101010249
+:10268000010101010101010101010101010101013A
+:102690000101010101010101010101010101010229
+:1026A000020202020202020202020202020202020A
+:1026B00002020202020202020202020202020202FA
+:1026C00002020202020202020202020202020202EA
+:1026D00002020202020202020202020202020202DA
+:1026E00002020202020202020202020202020202CA
+:1026F00002020202020202020202020202020202BA
+:1027000002020202020202020202020202020202A9
+:102710000202020202020202020202020202020299
+:102720000202020202020202020202020202020289
+:102730000202020202020202020202020202020279
+:102740000202020202020202020202020202020269
+:102750000202020202020202020202020202020259
+:102760000202020202020202020202020202020249
+:10277000020202020202020202020202020202003B
+:102780000000000000000000000000000000000148
+:102790000101010101010101010101010101010228
+:1027A0000202020202020202020202020202020209
+:1027B00002020202020202020202020202020202F9
+:1027C00002020202020202020202020202020202E9
+:1027D00002020202020202020202020202020202D9
+:1027E00002020202020202020202020202020202C9
+:1027F00002020202020202020202020202020202B9
+:1028000002020202020202020202020202020202A8
+:102810000202020202020202020202020202020298
+:102820000202020202020202020202020202020288
+:102830000202020202020202020202020202020278
+:102840000202020202020202020202020202020268
+:102850000202020202020202020202020202020258
+:102860000202020202020202020202020202020248
+:10287000020202020202020202020202020202003A
+:102880000000000000000000000000000000000147
+:102890000101010101010101010101010101010029
+:1028A0000000000000000000000000000000000226
+:1028B00002020202020202020202020202020202F8
+:1028C00002020202020202020202020202020202E8
+:1028D00002020202020202020202020202020202D8
+:1028E00002020202020202020202020202020202C8
+:1028F00002020202020202020202020202020202B8
+:1029000002020202020202020202020202020202A7
+:102910000202020202020202020202020202020297
+:102920000202020202020202020202020202020287
+:102930000202020202020202020202020202020277
+:102940000202020202020202020202020202020069
+:102950000000000000000000000000000000000275
+:102960000202020202020202020202020202020247
+:102970000202020202020202020202020202020039
+:102980000000000000000000000000000000000047
+:102990000000000000000000000000000000000037
+:1029A0000000000000000000000000000000000027
+:1029B0000000000000000000000000000000000017
+:1029C0000000000000000000000000000000000007
+:1029D00000000000000000000000000000000000F7
+:1029E00000000000000000000000000000000000E7
+:1029F00000000000000000000000000000000000D7
+:102A000000000000000000000000000000000000C6
+:102A100000000000000000000000000000000000B6
+:102A200000000000000000000000000000000000A6
+:102A30000000000000000000000000000000000096
+:102A40000000000000000000000000000000000086
+:102A50000000000000000000000000000000000076
+:102A60000000000000000000000000000000000066
+:102A70000000000000000000000000000000000056
+:102A800000000000000000000000000000000065E1
+:102A90000000000000000000000000000000000036
+:102AA0000000000000000000000000000000000026
+:102AB0000000000000000000000000000000000016
+:102AC0000000000000000000000000000000000006
+:102AD00000000000000000000000000000000000F6
+:102AE00000000000000000000000000001000000E5
+:102AF00000000000000000000000000000000000D6
+:102B000000000000000000000000000000000000C5
+:102B100000000000000000000000000000000000B5
+:102B200000000000000000000000000000000000A5
+:102B30000000000000000000000000000000000095
+:102B40000000000000000000000000000000000085
+:102B50000000000000000000000000000000000075
+:102B60000000000000000000000000000000000065
+:102B70000000000000000000000000000000000055
+:102B80000000000000000000000000000000000045
+:102B90000000000000000000000000000000000035
+:102BA0000000000000000000000000000000000025
+:102BB0000000000000000100000100000000000013
+:102BC0000000000000000100000000000000000004
+:102BD00000000000000000000000010000000000F4
+:102BE00000000000000000000000000001000000E4
+:102BF00000000000000000000000000000000000D5
+:102C000000000000000000000000000000000000C4
+:102C100000000000000000000000000000000000B4
+:102C200000000000000000000000000000000000A4
+:102C30000000000000000000000000000000000094
+:102C40000000000000000000000000000000000084
+:102C50000000000000000000000000000000000074
+:102C60000000000000000000000000000000000064
+:102C70000000000000000000000000000000000054
+:102C80000000000000000000000000000000000044
+:102C90000000000000000000000000000000000034
+:102CA0000000000000000000000000000000000024
+:102CB0000000000000000100000100000000000012
+:102CC0000000000000000100000000000000000003
+:102CD00000000000000001000000010001000000F1
+:102CE00000000000000000000000000001000000E3
+:102CF00000000000000000000000000000000000D4
+:102D000000000000000000000000000000000000C3
+:102D100000000000000000000000000000000000B3
+:102D200000000000000000000000000000000000A3
+:102D30000000000000000000000000000000000093
+:102D40000000000000000000000000000000000083
+:102D50000000000000000000000000000000000073
+:102D60000000000000000000000000000000000063
+:102D70000000000000000000000000000000000053
+:102D80000000000000000000000000000000000043
+:102D90000000000000000000000000000000000033
+:102DA0000000000000000000000000000000000023
+:102DB000000000000000010000010000000101000F
+:102DC0000000000000000100000000000000000101
+:102DD00000000000000001000000010001000000F0
+:102DE00000000000000000000000000001000000E2
+:102DF00000000000000000000000000000000000D3
+:102E000000000000000000000000000000000000C2
+:102E100000000000000000000000000000000000B2
+:102E200000000000000001000000000000000000A1
+:102E30000000000000000000000000000000000092
+:102E40000000000000000000000000000000000082
+:102E50000000000000000000000000000000000072
+:102E60000000000000000000000000000000000062
+:102E70000000000000000000000000000000000052
+:102E80000000000000000000000000000000000042
+:102E90000000000000000001000000000000000031
+:102EA0000000000000000000000000000000000022
+:102EB000000000000000010000010000000101000E
+:102EC00000000000000001000000000000010001FF
+:102ED00000000000000001000000010101000000EE
+:102EE00000000000000000000000000001000000E1
+:102EF00000000000000000000000000000010100D0
+:102F000000000000000001000000000000000000C0
+:102F100000000000000001000000000000000000B0
+:102F200000000000000001000000000000000000A0
+:102F30000000000000000000000000000000000091
+:102F40000000000000000000000000000000000081
+:102F50000000000000000000000000000000000071
+:102F60000000000000000000000000000000000061
+:102F70000000000000000000000000000000000051
+:102F80000000000000000000000000000000000041
+:102F90000000000000000001000000000000000030
+:102FA0000000000000000000000001000000000020
+:102FB000000000000000010000010000000101000D
+:102FC00000000000000001010000000000010001FD
+:102FD00000000000000001000000010101000000ED
+:102FE00000000000000001000000000001000000DF
+:102FF00000000000000001000000000000010100CE
+:1030000000000000000001000000000000000000BF
+:1030100000000000000001000000000000010000AE
+:10302000000000000000010000000000000000009F
+:10303000000000000000010000000000000000008F
+:103040000000000000000000000000000000000080
+:103050000000000000000000000000000000000070
+:103060000000000000000000000000000000000060
+:103070000000000000000000000000000000000050
+:103080000000000000000000000000000000000040
+:10309000000000000000000100000000000000002F
+:1030A000000000000000000000000100000000001F
+:1030B000000000000000010000010000000101000C
+:1030C00000000000000001010001010000010001FA
+:1030D00000000000000001000000010101000000EC
+:1030E00000000000000001000000000001000000DE
+:1030F00000000000000001000000000000010100CD
+:1031000000000000000001000000000000000000BE
+:1031100000000000000001000000000000010000AD
+:10312000010000000000010000000000000000009D
+:10313000000000000000010000000000000000008E
+:10314000000000000000000000000000000000007F
+:10315000000000000000000000000000000000006F
+:10316000000000000000000000000000000000005F
+:10317000000000000000000000000000000000004F
+:10318000000000000000000000000000000000003F
+:10319000000000000000000100000000000000002E
+:1031A000000000000000000000000100000000001E
+:1031B000000000000000010000010000000101000B
+:1031C00000000000000001010001010001010001F8
+:1031D00000000000000001000001010101010000E9
+:1031E00000000000000001000000000001000000DD
+:1031F00000000000000001000000000000010100CC
+:1032000001000000000001000000000100000000BB
+:1032100000000000000001000000000000010000AC
+:10322000010000000000010000000000000000009C
+:10323000000000000000010000000000000000008D
+:10324000000000000000000000000000000000007E
+:10325000000000000000000000000000000000006E
+:10326000000000000000000000000000000000005E
+:10327000000000000000000000000000000000004E
+:10328000000000000000000000000000000000003E
+:10329000000000000000000101000000000000002C
+:1032A000000000000000000000000100000000001D
+:1032B0000000000000000101000100000001010009
+:1032C00000000000000001010001010001010001F7
+:1032D00000000000000001000001010101010000E8
+:1032E00000000000000001000000000101000000DB
+:1032F00000000000000001000000000000010100CB
+:1033000001000000000001000000000100000000BA
+:1033100000000000000001000000000000010000AB
+:10332000010000000000010000000000000000009B
+:10333000000000000000010000000000000000008C
+:10334000000000000000000000000000000000007D
+:10335000000000000000000000000000000000006D
+:10336000000000000000000000000000000000005D
+:10337000000000000000000000000000000000004D
+:10338000000000000000000000000000000000003D
+:10339000000000000000000101000000000000002B
+:1033A000000000000000000000000100000000001C
+:1033B0000000000000000101000101000001010007
+:1033C00000000000000001010001010001010001F6
+:1033D00000000000000001000001010101010100E6
+:1033E00000000000000001000000000101000000DA
+:1033F00000000000000001000000000000010100CA
+:1034000001000000000001000000000100000000B9
+:1034100000000000000001000000000000010000AA
+:10342000010000000000010000000000000000009A
+:10343000000000000000010000000000000000008B
+:10344000000000000000000000000000000000007C
+:10345000000000000000000000000000000000006C
+:10346000000000000000000000000000000000005C
+:10347000000000000000010000000000000000004B
+:10348000000000000000000000000000000000003C
+:10349000000000000000000101000000000000002A
+:1034A000000000000000000100000100000000001A
+:1034B0000000000000000101000101010001010005
+:1034C00001000000000001010001010001010101F3
+:1034D00000000000000001000001010101010100E5
+:1034E00000000000000001010000000101000000D8
+:1034F00000000000000001000000000000010100C9
+:1035000001000000000001000000000100010000B7
+:1035100000000000000001000000000000010000A9
+:103520000100000000000100000000000000000099
+:103530000000000000000100000000000001000089
+:10354000000000000000000000000000000000007B
+:10355000000000000000000000000000000000006B
+:10356000000000000000010000000000000000005A
+:10357000000000000000010000000000000000004A
+:10358000000000000000000000000000000000003B
+:103590000000000000000001010000000000000029
+:1035A0000000000000000001000101000000000018
+:1035B0000000000000000101000101010001010004
+:1035C00001000000000001010001010101010101F1
+:1035D00000000000000001000001010101010100E4
+:1035E00000000000000001010000010101000000D6
+:1035F00000000000000001000100000100010100C6
+:1036000001000000000001010000000100010000B5
+:1036100000000000000001000000000000010100A7
+:103620000100000000000100000000000000000098
+:103630000000000000000100000000000001000088
+:10364000000000000000000000000000000000007A
+:10365000000000000000000000000000000000006A
+:103660000000000000000100000000000000000059
+:103670000000000000000100000000000000000049
+:103680000000000000000000010000000000000039
+:103690000000000000000001010000000000000028
+:1036A0000000000000000001000101000000000017
+:1036B0000000000000000101000101010001010003
+:1036C00001000000000001010001010101010101F0
+:1036D00000000000000001000001010101010100E3
+:1036E00000000000000001010000010101000000D5
+:1036F00000000000010001000100000100010100C4
+:1037000001000000000001010000010100010000B3
+:1037100000000000000001000000000000010100A6
+:103720000100000000000100000000000000000097
+:103730000000000000000100000000000001000087
+:103740000000000000000000000000000000000079
+:103750000000000000000000000000000000000069
+:103760000000000000000100000000000000000058
+:103770000000000000000100000000000000000048
+:103780000000000000000000010000000000000038
+:103790000000000000000001010000000000000027
+:1037A0000000000000000001000101000000000016
+:1037B0000000000000010101000101010001010001
+:1037C00001000000000001010101010101010101EE
+:1037D00000000000000001000001010101010100E2
+:1037E00000000000000001010000010101000000D4
+:1037F00000000000010001000100000101010101C1
+:1038000001000000000001010000010100010000B2
+:1038100000000000000001000000000000010100A5
+:103820000100000000000100000000000000000096
+:103830000000000000000100000000000001000086
+:103840000000000000000000000000000000000078
+:103850000000000000000000000000000000000068
+:103860000000000000000100000000000000000057
+:103870000000000000000100000000000000000047
+:103880000000000000000000010000000000000037
+:103890000100010100000002010000000000000022
+:1038A0000000000000000001000101000000000015
+:1038B0000000000000010101000101010001010000
+:1038C00001000000010001010101010101010101EC
+:1038D00000000000000001000001010101010101E0
+:1038E00000000000000001010000010101000000D3
+:1038F00000000000010001000100000101010101C0
+:1039000001000000000001010000010100010000B1
+:1039100000000000000001000000000000010100A4
+:103920000100000000000100000000000000000095
+:103930000000000000000100000100000001000084
+:103940000000000000000000000000000000000077
+:103950000000000000000000000000000000000067
+:103960000000000000000100000000000000000056
+:103970000000000000000100000000000000000046
+:103980000000000000000000010000010000000035
+:103990000100010100000002010000000000000021
+:1039A0000000000000000001000101000000000014
+:1039B00000000000000101010001010100010100FF
+:1039C00001000000010101010101010101010101EA
+:1039D00000000000000001000001010101010101DF
+:1039E00000000000000001010000010101010000D1
+:1039F00000000000010001010100000101010101BE
+:103A000001000000000001010000010100010000B0
+:103A100000000000000001000000000000010100A3
+:103A20000100000000000100000000000000000094
+:103A30000000000000000100000100000001000083
+:103A40000000000000000000000000000000000076
+:103A50000000000000000000000000000000000066
+:103A60000000000000000100000000000000000055
+:103A70000000000000000100000000000000000045
+:103A80000000000000000000010000010000000034
+:103A90000100010100000002010000000000000020
+:103AA0000000000000000001010102000000000011
+:103AB00000000000010101010101010100010100FC
+:103AC00001000000010101010101010101010101E9
+:103AD00000000000000001010001010101010101DD
+:103AE00000000000000001010000010101010000D0
+:103AF00000000000010001010100010101010101BC
+:103B000001000000000001010000010100010000AF
+:103B100000000000000101000000000000010100A1
+:103B20000100000001000100000000000000000191
+:103B30000000000000000100000100000001000082
+:103B40000000000000000100000000000000000074
+:103B50000000000000000000000000000000000065
+:103B60000000000000000100000000000000000054
+:103B70000000000001000100000000000000000043
+:103B80000000000000000000010000010000000033
+:103B9000010101010100000202000100000000001B
+:103BA0000000000000000001010102000000000010
+:103BB00000000000010101010101010100010100FB
+:103BC00001000000010101010101010101010101E8
+:103BD00000000000000001010001010101010101DC
+:103BE00000000000000001010000010101010000CF
+:103BF00000000000010001010100010101010101BB
+:103C000001000000000001010000010100010000AE
+:103C100000000000000101000000000000010100A0
+:103C2000010000010101010000000000000000018E
+:103C30000000000000000100010100000001000080
+:103C40000000000000000100000000000000000073
+:103C50000000000000000000000000000000000064
+:103C60000000000000000100000000000000000053
+:103C70000000000101010100000000000000000040
+:103C80000000000000000000010000010000000131
+:103C90000101010101010002020002000000000018
+:103CA000000000000000000101020200000000000E
+:103CB00000000000010101010102010100010100F9
+:103CC00001000000010101010101010101010101E7
+:103CD00000000000000001010101010101010101DA
+:103CE00000000000000001010100010101010000CD
+:103CF00000000000010001010100010101010101BA
+:103D000001000000000001010000010100010000AD
+:103D1000000000000001010000000000000101009F
+:103D2000010000010101010000000000000000018D
+:103D3000000000000000010001010000000100007F
+:103D40000000000000000100010000000000000071
+:103D50000000000000000000000000000000000063
+:103D60000000000000000100000000000000000052
+:103D7000000001010101010000000000000000003E
+:103D8000000000000000000001000001010000012F
+:103D90000101010101010002020102000000000016
+:103DA000000000000000000101020200000000000D
+:103DB00000000000010101010102010100010100F8
+:103DC00001000000010101010101010101010101E6
+:103DD00000000100000001010101020101010101D7
+:103DE00000000001000001010100010101010000CB
+:103DF00000000000010101010100010101010101B8
+:103E000001000000010001010000010100010000AB
+:103E1000000000000001010000000000000101009E
+:103E2000010000010101010000000000000000018C
+:103E3000000000010000010001010000000100017C
+:103E40000000000000000100010000000000000070
+:103E50000000000000000000000000000000000062
+:103E60000000000000000100000000000000000051
+:103E7000000001010101010000000000000000003D
+:103E8000000000000000000001000101010101012B
+:103E90000101010101010002020202000000000014
+:103EA000000000000000000101020200000000000C
+:103EB00000000000010101010102010101010100F6
+:103EC00001000100010101020101010101010101E3
+:103ED00000000100000001010101020101010101D6
+:103EE00000000001000001010100010101010000CA
+:103EF00000000000010101010100010101010101B7
+:103F000001010000010001010000010100010000A9
+:103F1000000000000001010000000000000101009D
+:103F2000010000010101010001000000000000018A
+:103F3000000000010000010001010000000100017B
+:103F4000000000000000010001000000000000006F
+:103F50000000000000000000000000000000000061
+:103F60000000000000000100000000000000000050
+:103F7000010001010101010000000000000000003B
+:103F80000000000000000100010001010101010129
+:103F90000101010101010002020202000000000013
+:103FA000000000000000000201020200000000000A
+:103FB00000000000010101010102010101010100F5
+:103FC00001000101010101020102010101010101E0
+:103FD00000000100000001010102020101010101D4
+:103FE00000000001000001010100010101010000C9
+:103FF00000000000010101010100010101010101B6
+:1040000001010000010001010100010100010000A7
+:10401000000000000101010000000000000101009B
+:104020000100000101010100010001000000000188
+:104030000000000100010100010100000001000179
+:10404000000000000000010001000000000000006E
+:10405000000000000000010000000000000000005F
+:10406000000000000000010000000000000000004F
+:10407000010001010101010000000000000000003A
+:104080000000000000000100010001010101010128
+:104090000101010101010002020202000000000012
+:1040A0000000000000000002010202000000000009
+:1040B00000000000010101010102010101010100F4
+:1040C00001000101010101020102020101010101DE
+:1040D00000000100000101010102020101010101D2
+:1040E00000000001000001010100010101010000C8
+:1040F00000000000010101010101010101010101B4
+:1041000001010001010101010100010100010000A4
+:104110000000000101010100010000010101010096
+:104120000100000101010100010001000000000187
+:104130000000010101010100010100000001000176
+:10414000000000000000010001000000000000006D
+:10415000000000000000010000000000000000005E
+:10416000000000010001010000000000000000004C
+:104170000100010101010100000000000000000039
+:104180000000000000000100010001010101010127
+:104190000101010101010002020202000000000011
+:1041A0000000000000000002010202000000000008
+:1041B00000000000010101020102010101010100F2
+:1041C00001000101010101020102020101010101DD
+:1041D00001000100000101010102020101010101D0
+:1041E00000000001000001010100010101010100C6
+:1041F00000000000010101010101010101010101B3
+:1042000001010001010101010100010100010000A3
+:104210000000000101010100010100010101010094
+:104220000100000101010100010101000000000185
+:104230000000010101010100010100000001000175
+:10424000000000000000010001000000000000006C
+:10425000000000000000010000000000000000005D
+:10426000000000010101010000000000000000004A
+:104270000101010101010101000000000000000036
+:104280000000000000000100010001010101010126
+:10429000010101010101010202020200000000000F
+:1042A0000000000000000002010202000000000007
+:1042B00000000000010101020102010101010100F1
+:1042C00001000101010101020102020101010101DC
+:1042D00001000100000101010102020201010101CE
+:1042E00000000001010001020100010101010100C3
+:1042F00000000000010101010101010101010101B2
+:1043000001010001010101010100010100010000A2
+:104310000000000101010101010100010101010092
+:104320000100000101010101010101000000000183
+:104330000000010101010100010100000001000174
+:10434000000000000000010001000000000000006B
+:10435000000000000000010000000000000000005C
+:104360000000000101010100010000000000000048
+:104370000101010101010101000000000000000035
+:104380000000000000000100010001010101010125
+:10439000010101010101010202020200000000000E
+:1043A0000000000000000002020202000000000005
+:1043B00000000000010101020102020101010100EF
+:1043C00001000101010101020102020101010101DB
+:1043D00001000100000101010102020202010101CC
+:1043E00000000001010001020100010101010100C2
+:1043F00000000001010101010101010101010101B0
+:1044000001010001010101010100010100010000A1
+:10441000000001010101010101010101010101008F
+:104420000100000101010101010101000000000182
+:104430000000010101010100010100000001000173
+:10444000000000000000010001000000000000006A
+:10445000000000000000010000000000000000005B
+:104460000000010101010100010000000000000046
+:104470000101010101010101000000000000000034
+:104480000000010000000100010101010101010122
+:10449000010101010101010202020200000000000D
+:1044A0000000000000000002020202000000000004
+:1044B00000000000010101020102020101020100ED
+:1044C00001000101010101020102020101020101D9
+:1044D00001000100000101020102020202010101CA
+:1044E00000000001010001020100010102010100C0
+:1044F00000000001010101010101010101010101AF
+:10450000010100010101010101010101000100009F
+:10451000000001010101010101010101010101008E
+:104520000100000101010101010101000000000181
+:104530000000010101010100010100000001000172
+:104540000000000000000100010000000000000069
+:10455000000000000000010000000000000000005A
+:104560000000010101010100010000000000000045
+:104570000101010101010101000000000000000033
+:104580000000010100000100010101010101010120
+:10459000010101010101010202020200000000000C
+:1045A0000000000000010002020202000000000002
+:1045B00000000000010101020102020101020200EB
+:1045C00001000101010101020202020101020101D7
+:1045D00001000100000101020102020202020101C8
+:1045E00000000001010001020100020102010100BE
+:1045F00000010001010101010201010101010101AC
+:10460000010100010101010201010101000100009D
+:10461000000001010101010101010101010101008D
+:104620000100000101010101010101000000000180
+:104630000000010101010101010100000001000170
+:104640000000000000000100010000000000000068
+:104650000000000000000100000000000000000059
+:104660000000010101010100010000000000000044
+:104670000101010101010101000000000000000032
+:10468000000001010100010001010101010101011E
+:10469000010101010101010202020200000000000B
+:1046A0000000000000010002020202000000000001
+:1046B00000000000010101020102020101020200EA
+:1046C00001000101010101020202020102020102D4
+:1046D00001000101000101020102020202020101C6
+:1046E00000000001010001020100020102010101BC
+:1046F00000010001010101020201010101010101AA
+:10470000010100010101010201010101000100009C
+:10471000000001010101010101010101010101008C
+:10472000010000010101010101010100000000017F
+:10473000000001010101010101010000000100016F
+:104740000000000000010100010000000000000066
+:104750000000000000000100000000000000000058
+:104760000000010101010100010000000000000142
+:104770000101010101010101000000000000000031
+:10478000000001010101010001010101010101011C
+:10479000010101010101010202020200000000000A
+:1047A0000000000000010002020202000000000000
+:1047B00000000000010101020102020201020200E8
+:1047C00001000101010101020202020202020102D2
+:1047D00001000101000101020202020202020201C3
+:1047E00000000001010001020100020202010101BA
+:1047F00000010001010101020201010101010101A9
+:10480000010101010101010201010101000100009A
+:10481000000001010101010101010101010101008B
+:10482000010000010101010101010100000000017E
+:10483000000001010101010101010000000100016E
+:104840000000000001010100010000000000000064
+:104850000000000000000100010000000000000056
+:104860000000010101010100010000000000000141
+:104870000101010101010101000000000000000030
+:10488000000001010101010001010101010101011B
+:104890000101010101010102020202000000000009
+:1048A00000000000000100020202020000000000FF
+:1048B00000000000010101020202020201020200E6
+:1048C00001000101010101020202020202020102D1
+:1048D00001000101000101020202020202020201C2
+:1048E00000000101010001020200020202010101B7
+:1048F00000010001010101020201010101020101A7
+:104900000101010101010102010101010001000099
+:10491000000001010101010101010101010101008A
+:10492000010001010101010101010100000000017C
+:10493000000001010101010101010000000100016D
+:104940000000000101010101010000000000000061
+:104950000000000000000100010000000000000055
+:10496000000101010101010001000000000000013F
+:10497000010101010101010100000000000000002F
+:10498000000001010101010001010101010101011A
+:104990000101010101010102020202000000000008
+:1049A00000000000000100020202020000000000FE
+:1049B00000000000010101020202020201020200E5
+:1049C00001000101010101020202020202020202CF
+:1049D00001000101010101020202020202020201C0
+:1049E00000000101010101020201020202010101B4
+:1049F00000010001010101020201020101020201A4
+:104A00000101010101010102010102010101000096
+:104A10000000010101010101010101010101010089
+:104A2000010001010101010101010100000000017B
+:104A3000000001010101010101010000000100016C
+:104A4000000001010101010101000000000000005F
+:104A50000000000100000100010000000000000053
+:104A6000000101010101010001000000000000013E
+:104A7000010101010101010101000000000000002D
+:104A80000100010101010100010101010101010118
+:104A90000101010101010102020202000000000007
+:104AA00000000000000100020202020000000000FD
+:104AB00000000100010101020202020201020200E3
+:104AC00001000101010101020202020202020202CE
+:104AD00001000101010101020202020202020201BF
+:104AE00000000101010101020201020202010101B3
+:104AF00000010101010101020201020201020201A1
+:104B00000101010101010102010102020101000094
+:104B10000001010101010101010101010101010087
+:104B2000010001010101010101010100000000017A
+:104B30000000010101010101010200000001010169
+:104B4000000001010101010101000000000000005E
+:104B50000000000100000100010000000000000052
+:104B6000000101010101010001000000000000013D
+:104B7000010101010101010101000000000000002C
+:104B80000101010101010100000101010101010117
+:104B90000101010101010102020202000000000006
+:104BA00000000000000100020202020000000000FC
+:104BB00000000100010101020202020201020200E2
+:104BC00001000101010101020202020202020202CD
+:104BD00001000101010101020202020202020201BE
+:104BE00000000101010101020201020202010101B2
+:104BF000000101010101010202020202010202019F
+:104C00000101010101010102010102020101000093
+:104C10000001010101010101010101010102010085
+:104C20000101010101010101010101000000000178
+:104C30000001010101010101010200010101010165
+:104C4000000001010101010101010000000000005C
+:104C50000000000100010100010000000000000050
+:104C6000010101010101010001000000000000013B
+:104C7000010101010101010101000000000000002B
+:104C80000101010101010100000101010101010116
+:104C90000101010101010102020202010000000004
+:104CA00000000000000100020202020000000000FB
+:104CB00000000100010102020202020201020200E0
+:104CC00001000101010101020202020202020202CC
+:104CD00001010101010101020202020202020202BB
+:104CE00001000101010101020201020202020101AF
+:104CF000010101010101010202020202010202019D
+:104D00000101010101010102010102020101000092
+:104D10000001010101010102010101010102010083
+:104D20000101010101010102020101010100000173
+:104D30000001010101010101020200010101010163
+:104D4000000001010101010102010000000000005A
+:104D5000000001010101010001000000000000004D
+:104D60000101010101010100010000000100000139
+:104D7000010101010101010101000000000000002A
+:104D80000101010101010100000101010101010115
+:104D90000101010101010102020202020000000002
+:104DA00000000000000100020202020000000000FA
+:104DB00000000100010102020202020201020200DF
+:104DC00001000101010101020202020202020202CB
+:104DD00001010101010101020202020202020202BA
+:104DE00001000101010101020201020202020101AE
+:104DF000010101010101010202020202020202019B
+:104E00000101010101010102020102020101000090
+:104E1000010101010101010202020101010201007F
+:104E20000101010101010102020201010100000171
+:104E30000001010101010101020200010101010162
+:104E40000000010101010101020101000000000058
+:104E5000000001010101010001000001000000014A
+:104E60000101010101010100010000000100010137
+:104E70000101010101010101010000010000000127
+:104E80000101010101010100000101010101010114
+:104E90000101010101010102020202020000000001
+:104EA00000000000000100020202020000000000F9
+:104EB00000000100010102020202020201020200DE
+:104EC00002000101010101020202020202020202C9
+:104ED00001010101010101020202020202020202B9
+:104EE00001000101010101020201020202020101AD
+:104EF000010101010101010202020202020202019A
+:104F0000020101010101010202010202010200008D
+:104F1000010101010101010202020101010201017D
+:104F2000010101010101010202020201010000016F
+:104F30000101010101010101020200010101010160
+:104F40000000010101010101020101000000000057
+:104F50000000010101010100010000010000000149
+:104F60000101010101010101010000010100010134
+:104F70000101010101010101010000010000000126
+:104F80000101010101010100000100010101010114
+:104F900001010101010101020202020200010000FF
+:104FA00000000000000100020202020000000000F8
+:104FB00000000100010102020202020202020200DC
+:104FC00002000101010101020202020202020202C8
+:104FD00001010101010101020202020202020202B8
+:104FE00001000101010101020202020202020101AB
+:104FF0000101010101010102020202020202020199
+:10500000020101010101010202020202010200008B
+:10501000010101010101010202020101010202017B
+:10502000010101010101010202020201010000016E
+:10503000010101010101010202020001010101015E
+:105040000100010101010101020101000000000055
+:105050000000010101010101010000010000000147
+:105060000101010101010101010100010101010131
+:105070000101010101010102010000010100000123
+:105080000101010101010100020100000101010112
+:1050900001010101010101020202020201020000FC
+:1050A00000000000000100020202020000000000F7
+:1050B00000000100010202020202020202020200DA
+:1050C00002000101010101020202020202020202C7
+:1050D00001010101010101020202020202020202B7
+:1050E00001000101010101020202020202020101AA
+:1050F0000101010101010102020202020202020297
+:10510000020101010101010202020202010200008A
+:105110000101010101010102020202010102020179
+:10512000020101010101010202020201010000016C
+:10513000010101010101010202020101010201015B
+:105140000101010101010102020101000000000052
+:105150000000010101010101010000010000000146
+:105160000101010101010101010100010101010130
+:105170000101010101010102010000010101010120
+:105180000101010101010100020100000101010111
+:1051900001010101010101020202020202020100F9
+:1051A00000010000000100020202020000010000F4
+:1051B00000000100020202020202020202020200D8
+:1051C00002000101010101020202020202020202C6
+:1051D00001010101010102020202020202020202B5
+:1051E00001010101010102020202020202020101A7
+:1051F0000101010101010102020202020202020296
+:105200000201010101010102020202020102000188
+:105210000101010101010102020202010102020178
+:10522000020101010101010202020201010000016B
+:10523000010101010101010202020101010201015A
+:105240000101010101010102020101000000000051
+:105250000000010101010101010000010100000144
+:10526000010101010101010102010101010101012D
+:10527000010101010101010201000001010101011F
+:105280000101010101010100020100000101010110
+:1052900001010101010101020202020202020200F7
+:1052A00000010000000100020202020100010000F2
+:1052B00000000100020202020202020202020200D7
+:1052C00002000101010102020202020202020202C4
+:1052D00001010101010102020202020202020202B4
+:1052E00001010101010102020202020202020201A5
+:1052F0000101010101010102020202020202020295
+:105300000201010101010102020202020102000187
+:105310000101010101010102020202020102020176
+:10532000020101010101010202020201010000016A
+:105330000101010101010102020201010102010159
+:105340000101010101010102020101000000000050
+:105350000100010101010101010100010100010140
+:10536000010101010101010102010101010101012C
+:10537000010101010101010201000001010101011E
+:10538000010101010101010002010000010101010F
+:1053900001010101010101020202020202020200F6
+:1053A00000010000000200020202020100010000F0
+:1053B00000000100020202020202020202020200D6
+:1053C00002000101010102020202020202020202C3
+:1053D00001010101010102020202020202020202B3
+:1053E00001010101010102020202020202020201A4
+:1053F0000101010102010202020202020202020292
+:105400000201010101010102020202020102000186
+:105410000101010101010102020202020102020175
+:105420000201010101010102020202010101000168
+:105430000101010101010102020201010102010158
+:10544000010101010101010202010100000000004F
+:10545000010001010101010102010001010001013E
+:10546000010101010101010102010101010101012B
+:10547000010101010101010201000001010101011D
+:10548000010101010101010002010000000101010F
+:1054900001010101010101020202020202020200F5
+:1054A00000010000000200020202020100010000EF
+:1054B00000000100020202020202020202020200D5
+:1054C00002000101010102020202020202020202C2
+:1054D00001010101010102020202020202020202B2
+:1054E00001010102010102020202020202020201A2
+:1054F0000101010102010202020202020202020291
+:105500000201010101010202020202020102010183
+:105510000101010101010102020202020202020173
+:105520000201010101010102020202010101000266
+:105530000101010101010102020201010102010157
+:10554000010101010101010202020100000000004D
+:10555000010001010101010102010001010101013C
+:10556000010101010101010102010101010101012A
+:10557000010101010101010201010101010101011A
+:10558000010101010101010002020000000001010E
+:1055900001010101010101020202020202020200F4
+:1055A00000010000000200020202020100010000EE
+:1055B00000000100020202020202020202020200D4
+:1055C00002000101010102020202020202020202C1
+:1055D00002010201010102020202020202020202AF
+:1055E00001010102010102020202020202020201A1
+:1055F0000101010102010202020202020202020290
+:105600000201010101010202020202020102010182
+:105610000101010101010102020202020202020172
+:105620000201010101010202020202010101010263
+:105630000101010101010102020201010102010156
+:10564000010101010101010202020100000000004C
+:105650000101010101010102020100010101010139
+:105660000101010101010102020101010101010128
+:105670000101010101010102010101010101010119
+:10568000010101010101010002020000000000010E
+:1056900001010101010101020202020202020201F2
+:1056A00001020000000200020202020200020000E9
+:1056B00000000100020202020202020202020201D2
+:1056C00002000101020102020202020202020202BF
+:1056D00002010201010102020202020202020202AE
+:1056E00001010102010102020202020202020201A0
+:1056F000010101010201020202020202020202028F
+:105700000202010101010202020202020102010180
+:105710000101010101010202020202020202020170
+:105720000201010101010202020202010101010262
+:105730000101010101010202020201010102010154
+:10574000010101010101010202020101000000004A
+:105750000101010101010102020101010101010137
+:105760000101010101010102020101010101010127
+:105770000101010101010102020101010101010117
+:10578000010101010101010002020000000000010D
+:1057900000010101010101020202020202020202F1
+:1057A00001020000000200020202020200020000E8
+:1057B00000000100020202020202020202020201D1
+:1057C00002010101020202020202020202020202BC
+:1057D00002010201010102020202020202020202AD
+:1057E000010101020101020202020202020202029E
+:1057F000010101010201020202020202020202028E
+:10580000020201010101020202020202010201017F
+:10581000010101010101020202020202020202016F
+:105820000201010101010202020202010101010261
+:105830000101010101010202020201010102010153
+:105840000101010101010102020202010000000048
+:105850000101010101010102020101010101010136
+:105860000101010101010102020101010101010126
+:105870000101010101010102020101010101010116
+:10588000010101010101010002020000000000000D
+:1058900000010101010101020202020202020202F0
+:1058A00002020000000200020202020200020000E6
+:1058B00000000200020202020202020202020201CF
+:1058C00002010201020202020202020202020202BA
+:1058D00002010201010102020202020202020202AC
+:1058E000010101020201020202020202020202029C
+:1058F000010201010202020202020202020202028B
+:10590000020201010101020202020202010201017E
+:10591000010101010101020202020202020202016E
+:105920000201010101010202020202010101010260
+:105930000101010101010202020201010102010251
+:105940000101010101010102020202010000000146
+:105950000101010101010102020101010101010135
+:105960000101010101010102020201010101010124
+:105970000101010101010102020101010101010115
+:10598000010101010101010002020200000000000A
+:1059900000010101010101020202020202020202EF
+:1059A00002020000000200020202020200020100E4
+:1059B00000000200020202020202020202020201CE
+:1059C00002010202020202020202020202020202B8
+:1059D00002010201010202020202020202020202AA
+:1059E0000201020202010202020202020202020299
+:1059F000010201010202020202020202020202028A
+:105A0000020201010201020202020202020201017B
+:105A1000010101010101020202020202020202016D
+:105A2000020101020201020202020202010101025C
+:105A3000010101010101020202020201010201024F
+:105A40000101010101010102020202010000000145
+:105A50000101010101010102020201010101010133
+:105A60000101010101010102020201010101010123
+:105A70000101010101010102020101010101010114
+:105A80000101010101010100020202020000000007
+:105A900000000101010101020202020202020202EF
+:105AA00002020000000200020202020200020100E3
+:105AB00001000200020202020202020202020201CC
+:105AC00002010202020202020202020202020202B7
+:105AD00002010201010202020202020202020202A9
+:105AE0000201020202010202020202020202020298
+:105AF0000102010202020202020202020202020288
+:105B00000202010202010202020202020202010179
+:105B1000010101010102020202020202020202016B
+:105B2000020101020202020202020202010101025A
+:105B3000010101020101020202020202010201024C
+:105B40000101010101010102020202010100000143
+:105B50000101010101010102020201010101010132
+:105B60000101010101010102020201010101010122
+:105B70000101010101010102020101010101010113
+:105B80000101010101010100020202020000000006
+:105B900000000000010101020202020202020202F0
+:105BA00002020000000200020202020200020100E2
+:105BB00001010200020202020202020202020201CA
+:105BC00002010202020202020202020202020202B6
+:105BD00002020202010202020202020202020202A6
+:105BE0000201020202010202020202020202020297
+:105BF0000202010202020202020202020202020286
+:105C00000202010202020202020202020202010177
+:105C1000010101010102020202020202020202016A
+:105C20000201010202020202020202020201010258
+:105C3000010102020101020202020202010201024A
+:105C40000101010101010102020202010101010140
+:105C50000101010101010102020201010101010131
+:105C6000010101010101020202020201010101011F
+:105C70000201010101010202020101010101010110
+:105C80000101010101010100020202020000000005
+:105C900000000000000101020202020202020202F0
+:105CA00002020100000200020202020200020201DE
+:105CB00001010200020202020202020202020201C9
+:105CC00002010202020202020202020202020202B5
+:105CD00002020202010202020202020202020202A5
+:105CE0000202020202020202020202020202020294
+:105CF0000202010202020202020202020202020285
+:105D00000202010202020202020202020202010176
+:105D10000101010202020202020202020202020167
+:105D20000201010202020202020202020201010257
+:105D30000101020202020202020202020202010246
+:105D4000010101010101010202020201010101013F
+:105D5000010101010101010202020102010101012F
+:105D6000010101010101020202020201010101011E
+:105D7000020102020201020202020101010101010B
+:105D80000101010101010100020202020000000004
+:105D900000000000000001020202020202020202F0
+:105DA00002020201000200020202020200020201DB
+:105DB00001010200020202020202020202020201C8
+:105DC00002010202020202020202020202020202B4
+:105DD00002020202020202020202020202020202A3
+:105DE0000202020202020202020202020202020293
+:105DF0000202020202020202020202020202020283
+:105E00000202020202020202020202020202010174
+:105E10000101020202020202020202020202020165
+:105E20000201010202020202020202020201010256
+:105E30000101020202020202020202020202020244
+:105E4000010101010101010202020201010101013E
+:105E5000010101010101010202020202010101012D
+:105E6000010101010101020202020202010101011C
+:105E70000202020202020202020201010101010108
+:105E80000101010101010100020202020200000001
+:105E900002000200000001020202020202020202EB
+:105EA00002020202010200020202020200020202D7
+:105EB00002010200020202020202020202020201C6
+:105EC00002010202020202020202020202020202B3
+:105ED00002020202020202020202020202020202A2
+:105EE0000202020202020202020202020202020292
+:105EF0000202020202020202020202020202020282
+:105F00000202020202020202020202020202010173
+:105F10000101020202020202020202020202020164
+:105F20000201010202020202020202020201010255
+:105F30000101020202020202020202020202020243
+:105F4000010101010101020202020201010101013C
+:105F5000010101010101010202020202010101012C
+:105F60000101010201010202020202020201010218
+:105F70000202020202020202020202020101010105
+:105F800001010101010101000202020202020002FC
+:105F900002020202000001020202020202020202E6
+:105FA00002020202020200020202020200020202D5
+:105FB00002020201020202020202020202020201C3
+:105FC00002010202020202020202020202020202B2
+:105FD00002020202020202020202020202020202A1
+:105FE0000202020202020202020202020202020291
+:105FF0000202020202020202020202020202020281
+:106000000202020202020202020202020202010172
+:106010000102020202020202020202020202020261
+:106020000202020202020202020202020202010251
+:106030000102020202020202020202020202020241
+:10604000010101010101020202020201010101013B
+:10605000010101010101010202020202010101012B
+:106060000101020202020202020202020201010214
+:106070000202020202020202020202020101010104
+:1060800001010101010101000202020202020202F9
+:1060900002020202000001020202010202020202E6
+:1060A00002020202020200020202020202020202D2
+:1060B00002020201020202020202020202020201C2
+:1060C00002010202020202020202020202020202B1
+:1060D00002020202020202020202020202020202A0
+:1060E0000202020202020202020202020202020290
+:1060F0000202020202020202020202020202020280
+:106100000202020202020202020202020202010171
+:10611000020202020202020202020202020202025F
+:106120000202020202020202020202020202010250
+:10613000020202020202020202020202020202023F
+:106140000101010101010202020202020101010139
+:106150000101010101010202020202020201010128
+:106160000102020202020202020202020202020210
+:106170000202020202020202020202020101010103
+:1061800001010101010101000202020202020202F8
+:1061900002020202000001020202010202020202E5
+:1061A00002020202020200020202020202020202D1
+:1061B00002020201020202020202020202020202C0
+:1061C00002010202020202020202020202020202B0
+:1061D000020202020202020202020202020202029F
+:1061E000020202020202020202020202020202028F
+:1061F000020202020202020202020202020202027F
+:10620000020202020202020202020202020202026E
+:10621000020202020202020202020202020202025E
+:10622000020202020202020202020202020202024E
+:10623000020202020202020202020202020202023E
+:106240000101010101010202020202020101010138
+:106250000101010101010202020202020201010226
+:10626000020202020202020202020202020202020E
+:106270000202020202020202020202020201010101
+:1062800001010201010101000202020202020202F6
+:1062900002020202020001020202010202020202E2
+:1062A00002020202020200020202020202020202D0
+:1062B00002020201020202020202020202020202BF
+:1062C00002010202020202020202020202020202AF
+:1062D000020202020202020202020202020202029E
+:1062E000020202020202020202020202020202028E
+:1062F000020202020202020202020202020202027E
+:10630000020202020202020202020202020202026D
+:10631000020202020202020202020202020202025D
+:10632000020202020202020202020202020202024D
+:10633000020202020202020202020202020202023D
+:106340000101020202020202020202020101010133
+:106350000101010201010202020202020202020222
+:10636000020202020202020202020202020202020D
+:1063700002020202020202020202020202020101FF
+:1063800002010202010102020202020202020202F0
+:1063900002020202020201020201010202020202E0
+:1063A00002020202020200020202020202020202CF
+:1063B00002020202020202020202020202020202BD
+:1063C00002020202020202020202020202020202AD
+:1063D000020202020202020202020202020202029D
+:1063E000020202020202020202020202020202028D
+:1063F000020202020202020202020202020202027D
+:10640000020202020202020202020202020202026C
+:10641000020202020202020202020202020202025C
+:10642000020202020202020202020202020202024C
+:10643000020202020202020202020202020202023C
+:106440000201020202020202020202020101010131
+:106450000101020201010202020202020202020220
+:10646000020202020202020202020202020202020C
+:1064700002020202020202020202020202020202FC
+:1064800002020202020102020202020202020202ED
+:1064900002020202020201020201010202010102E1
+:1064A00002020202020200020202020202020202CE
+:1064B00002020202020202020202020202020202BC
+:1064C00002020202020202020202020202020202AC
+:1064D000020202020202020202020202020202029C
+:1064E000020202020202020202020202020202028C
+:1064F000020202020202020202020202020202027C
+:10650000020202020202020202020202020202026B
+:10651000020202020202020202020202020202025B
+:10652000020202020202020202020202020202024B
+:10653000020202020202020202020202020202023B
+:10654000020202020202020202020202020101012E
+:10655000020102020202020202020202020202021C
+:10656000020202020202020202020202020202020B
+:1065700002020202020202020202020202020202FB
+:1065800002020202020202020202020202020202EB
+:1065900002020202020202020201010101010101E2
+:1065A00001010101010101020202010202020202D3
+:1065B00002020202020202020202020202020202BB
+:1065C00002020202020202020202020202020202AB
+:1065D000020202020202020202020202020202029B
+:1065E000020202020202020202020202020202028B
+:1065F000020202020202020202020202020202027B
+:10660000020202020202020202020202020202026A
+:10661000020202020202020202020202020202025A
+:10662000020202020202020202020202020202024A
+:10663000020202020202020202020202020202023A
+:10664000020202020202020202020202020201012C
+:10665000020102020202020202020202020202021B
+:10666000020202020202020202020202020202020A
+:1066700002020202020202020202020202020202FA
+:1066800002020202020202020202020202020202EA
+:1066900002020202020202020101010101010101E2
+:1066A00001010101010101020201010202020202D3
+:1066B00002020202020202020202020202020202BA
+:1066C00002020202020202020202020202020202AA
+:1066D000020202020202020202020202020202029A
+:1066E000020202020202020202020202020202028A
+:1066F000020202020202020202020202020202027A
+:106700000202020202020202020202020202020269
+:106710000202020202020202020202020202020259
+:106720000202020202020202020202020202020249
+:106730000202020202020202020202020202020239
+:106740000202020202020202020202020202020229
+:106750000202020202020202020202020202020219
+:106760000202020202020202020202020202020209
+:1067700002020202020202020202020202020202F9
+:1067800002020202020202020202020202020202E9
+:1067900002020202020202020101010101010101E1
+:1067A00001010101010101020201010202020202D2
+:1067B00002020202020202020202020202020202B9
+:1067C00002020202020202020202020202020202A9
+:1067D0000202020202020202020202020202020299
+:1067E0000202020202020202020202020202020289
+:1067F0000202020202020202020202020202020279
+:106800000202020202020202020202020202020268
+:106810000202020202020202020202020202020258
+:106820000202020202020202020202020202020248
+:106830000202020202020202020202020202020238
+:106840000202020202020202020202020202020228
+:106850000202020202020202020202020202020218
+:106860000202020202020202020202020202020208
+:1068700002020202020202020202020202020202F8
+:1068800002020202020202020202020202020202E8
+:1068900002020202020202010101010101010101E1
+:1068A00001010101010101020201010202020202D1
+:1068B00002020202020202020202020202020202B8
+:1068C00002020202020202020202020202020202A8
+:1068D0000202020202020202020202020202020298
+:1068E0000202020202020202020202020202020288
+:1068F0000202020202020202020202020202020278
+:106900000202020202020202020202020202020267
+:106910000202020202020202020202020202020257
+:106920000202020202020202020202020202020247
+:106930000202020202020202020202020202020237
+:106940000202020202020202020202020202020227
+:106950000202020202020202020202020202020217
+:106960000202020202020202020202020202020207
+:1069700002020202020202020202020202020202F7
+:1069800002020202020202020202020202020202E7
+:1069900002020202020202010101010101010101E0
+:1069A00001010101010101020201010202020202D0
+:1069B00002020202020202020202020202010102B9
+:1069C00002020202020202020202020202020202A7
+:1069D0000202020202020202020202020202020297
+:1069E0000202020202020202020202020202020287
+:1069F0000202020202020202020202020202020277
+:106A00000202020202020202020202020202020266
+:106A10000202020202020202020202020202020256
+:106A20000202020202020202020202020202020246
+:106A30000202020202020202020202020202020236
+:106A40000202020202020202020202020202020226
+:106A50000202020202020202020202020202020216
+:106A60000202020202020202020202020202020206
+:106A700002020202020202020202020202020202F6
+:106A800002020202020202020202020202020202E6
+:106A900002020202020202010101010101010101DF
+:106AA00001010101010101020201010202010201D1
+:106AB00001010101010101020201020202020202BE
+:106AC00002020202020202020202020202010201A8
+:106AD0000202020202020202020202020202020296
+:106AE0000202020202020202020202020202020286
+:106AF0000202020202020202020202020202020276
+:106B00000202020202020202020202020202020265
+:106B10000202020202020202020202020202020255
+:106B20000202020202020202020202020202020245
+:106B30000202020202020202020202020202020235
+:106B40000202020202020202020202020202020225
+:106B50000202020202020202020202020202020215
+:106B60000202020202020202020202020202020205
+:106B700002020202020202020202020202020202F5
+:106B800002020202020202020202020202020202E5
+:106B900002020202020202010101010101010101DE
+:106BA00001010101010101020101010202010101D2
+:106BB00001010101010101020202010102010102C0
+:106BC00002020202020202020202010201020102A8
+:106BD0000202020202020202020202020202020295
+:106BE0000202020202020202020202020202020285
+:106BF0000202020202020202020202020202020275
+:106C00000202020202020202020202020202020264
+:106C10000202020202020202020202020202020254
+:106C20000202020202020202020202020202020244
+:106C30000202020202020202020202020202020234
+:106C40000202020202020202020202020202020224
+:106C50000202020202020202020202020202020214
+:106C60000202020202020202020202020202020204
+:106C700002020202020202020202020202020202F4
+:106C800002020202020202020202020202020202E4
+:106C900002020202020202010101010101010101DD
+:106CA00001010101010101020101010102010101D2
+:106CB00001010101010101020201020201010102BF
+:106CC00001020202020202020201020102010201A9
+:106CD0000202020202020202020202020202020294
+:106CE0000202020202020202020202020202020284
+:106CF0000202020202020202020202020202020274
+:106D00000202020202020202020202020202020263
+:106D10000202020202020202020202020202020253
+:106D20000202020202020202020202020202020243
+:106D30000202020202020202020202020202020233
+:106D40000202020202020202020202020202020223
+:106D50000202020202020202020202020202020213
+:106D60000202020202020202020202020202020203
+:106D700002020202020202020202020202020202F3
+:106D800002020202020202020202020202020202E3
+:106D900002020202020202010101010101010101DC
+:106DA00001010101010101010101010101010101D3
+:106DB00001010101010101020201010102010102BF
+:106DC00002020202020202020202010201010101A8
+:106DD0000202020202020202020202020201010295
+:106DE0000202020202020202020202020202020283
+:106DF0000202020202020202020202020202020273
+:106E00000202020202020202020202020202020262
+:106E10000202020202020202020202020202020252
+:106E20000202020202020202020202020202020242
+:106E30000202020202020202020202020202020232
+:106E40000202020202020202020202020202020222
+:106E50000202020202020202020202020202020212
+:106E60000202020202020202020202020202020202
+:106E700002020202020202020202020202020202F2
+:106E800002020202020202020202020202020202E2
+:106E900002020202020202010101010101010101DB
+:106EA00001010101010101010101010101010101D2
+:106EB00001010101010101020201010101010102BF
+:106EC00001020202020202020201010101010101AA
+:106ED0000101010202020202020201010102020199
+:106EE0000202020202020202020202020202020282
+:106EF0000202020202020202020202020202020272
+:106F00000202020202020202020202020202020261
+:106F10000202020202020202020202020202020251
+:106F20000202020202020202020202020202020241
+:106F30000202020202020202020202020202020231
+:106F40000202020202020202020202020202020221
+:106F50000202020202020202020202020202020211
+:106F60000202020202020202020202020202020201
+:106F700002020202020202020202020202020202F1
+:106F800002020202020202020202020202020202E1
+:106F900002020202020202010101010101010101DA
+:106FA00001010101010101010101010101010101D1
+:106FB00001010101010101010101010101010101C1
+:106FC00001010101010101010101010101010101B1
+:106FD0000202020101010102020102020201010298
+:106FE0000202020202020202020202020202020281
+:106FF0000202020202020202020202020202020271
+:107000000202020202020202020202020202020260
+:107010000202020202020202020202020202020250
+:107020000202020202020202020202020202020240
+:107030000202020202020202020202020202020230
+:107040000202020202020202020202020202020220
+:107050000202020202020202020202020202020210
+:107060000202020202020202020202020202020200
+:1070700002020202020202020202020202020202F0
+:1070800002020202020202020202020202020202E0
+:1070900002020202020202010101010101010101D9
+:1070A00001010101010101010101010101010101D0
+:1070B00001010101010101020201010101010102BD
+:1070C00001020202020202020201010101010101A8
+:1070D0000101010202020202020201010101010199
+:1070E0000101010102020202020202020202020284
+:1070F0000202020202020202020202020202020270
+:10710000020202020202020202020202020202025F
+:10711000020202020202020202020202020202024F
+:10712000020202020202020202020202020202023F
+:10713000020202020202020202020202020202022F
+:10714000020202020202020202020202020202021F
+:10715000020202020202020202020202020202020F
+:1071600002020202020202020202020202020202FF
+:1071700002020202020202020202020202020202EF
+:1071800002020202020202020202020202020202DF
+:1071900002020202020202010101010101010101D8
+:1071A00001010101010101010101010101010101CF
+:1071B00001010101010101010101010101010101BF
+:1071C00001010101010101010101010101010101AF
+:1071D000010101010101010202010101010101019D
+:1071E0000202020201010102020202020202020282
+:1071F000020202020202020202020202020202026F
+:10720000020202020202020202020202020202025E
+:10721000020202020202020202020202020202024E
+:10722000020202020202020202020202020202023E
+:10723000020202020202020202020202020202022E
+:10724000020202020202020202020202020202021E
+:10725000020202020202020202020202020202020E
+:1072600002020202020202020202020202020202FE
+:1072700002020202020202020202020202020202EE
+:1072800002020202020202020202020202020202DE
+:1072900002020202020202010101010101010101D7
+:1072A00001010101010101010101010101010101CE
+:1072B00001010101010101010101010101010101BE
+:1072C00001010101010101010101010101010101AE
+:1072D000010101010101010201010101010101019D
+:1072E0000101010102020202020202020101020284
+:1072F000020202020202020202020202020202026E
+:10730000020202020202020202020202020202025D
+:10731000020202020202020202020202020202024D
+:10732000020202020202020202020202020202023D
+:10733000020202020202020202020202020202022D
+:10734000020202020202020202020202020202021D
+:10735000020202020202020202020202020202020D
+:1073600002020202020202020202020202020202FD
+:1073700002020202020202020202020202020202ED
+:1073800002020202020202020202020202020202DD
+:1073900002020202020202010101010101010101D6
+:1073A00001010101010101010101010101010101CD
+:1073B00001010101010101010101010101010101BD
+:1073C00001010101010101010101010101010101AD
+:1073D000010101010101010102010101010101019C
+:1073E0000101010101010102020201010202010287
+:1073F000020202020202020202020202020202026D
+:10740000020202020202020202020202020202025C
+:10741000020202020202020202020202020202024C
+:10742000020202020202020202020202020202023C
+:10743000020202020202020202020202020202022C
+:10744000020202020202020202020202020202021C
+:10745000020202020202020202020202020202020C
+:1074600002020202020202020202020202020202FC
+:1074700002020202020202020202020202020202EC
+:1074800002020202020202020202020202020202DC
+:1074900002020202020202010101010101010101D5
+:1074A00001010101010101010101010101010101CC
+:1074B00001010101010101010101010101010101BC
+:1074C00001010101010101010101010101010101AC
+:1074D000010101010101010201010101010101019B
+:1074E0000101010101010102020202020101020186
+:1074F0000101020201020202020202020201010271
+:10750000020202020202020202020202020202025B
+:10751000020202020202020202020202020202024B
+:10752000020202020202020202020202020202023B
+:10753000020202020202020202020202020202022B
+:10754000020202020202020202020202020202021B
+:10755000020202020202020202020202020202020B
+:1075600002020202020202020202020202020202FB
+:1075700002020202020202020202020202020202EB
+:1075800002020202020202020202020202020202DB
+:1075900002020202020202010101010101010101D4
+:1075A00001010101010101010101010101010101CB
+:1075B00001010101010101010101010101010101BB
+:1075C00001010101010101010101010101010101AB
+:1075D000010101010101010101010101010101019B
+:1075E0000101010101010102010101010101010289
+:1075F0000202010102010102020201010102020173
+:10760000010202020202020202020202020202025B
+:10761000020202020202020202020202020202024A
+:10762000020202020202020202020202020202023A
+:10763000020202020202020202020202020202022A
+:10764000020202020202020202020202020202021A
+:10765000020202020202020202020202020202020A
+:1076600002020202020202020202020202020202FA
+:1076700002020202020202020202020202020202EA
+:1076800002020202020202020202020202020202DA
+:1076900002020202020202010101010101010101D3
+:1076A00001010101010101010101010101010101CA
+:1076B00001010101010101010101010101010101BA
+:1076C00001010101010101010101010101010101AA
+:1076D000010101010101010101010101010101019A
+:1076E0000101010101010101020201010101010188
+:1076F0000101020201020202010102020201010271
+:10770000020102020202020202020202020202025A
+:107710000202020202020202020202020202020249
+:107720000202020202020202020202020202020239
+:107730000202020202020202020202020202020229
+:107740000202020202020202020202020202020219
+:107750000202020202020202020202020202020209
+:1077600002020202020202020202020202020202F9
+:1077700002020202020202020202020202020202E9
+:1077800002020202020202020202020202020202D9
+:1077900002020202020202010101010101010101D2
+:1077A00001010101010101010101010101010101C9
+:1077B00001010101010101010101010101010101B9
+:1077C00001010101010101010101010101010101A9
+:1077D0000101010101010101010101010101010199
+:1077E0000101010101010102010101010101010188
+:1077F0000101010101010102020201010101010176
+:10780000010201010101010202020202020202025E
+:107810000202020202020202020202020202020248
+:107820000202020202020202020202020202020238
+:107830000202020202020202020202020202020228
+:107840000202020202020202020202020202020218
+:107850000202020202020202020202020202020208
+:1078600002020202020202020202020202020202F8
+:1078700002020202020202020202020202020202E8
+:1078800002020202020202020202020202020202D8
+:1078900002020202020202010101010101010101D1
+:1078A00001010101010101010101010101010101C8
+:1078B00001010101010101010101010101010101B8
+:1078C00001010101010101010101010101010101A8
+:1078D0000101010101010101010101010101010198
+:1078E0000101010101010101010101010101010188
+:1078F0000101010101010101010101010101010178
+:107900000101020202020202020202020202020259
+:107910000202020202020202020202020202020247
+:107920000202020202020202020202020202020237
+:107930000202020202020202020202020202020227
+:107940000202020202020202020202020202020217
+:107950000202020202020202020202020202020207
+:1079600002020202020202020202020202020202F7
+:1079700002020202020202020202020202020202E7
+:1079800002020202020202020202020202020202D7
+:1079900002020202020202010101010101010101D0
+:1079A00001010101010101010101010101010101C7
+:1079B00001010101010101010101010101010101B7
+:1079C00001010101010101010101010101010101A7
+:1079D0000101010101010101010101010101010197
+:1079E0000101010101010101010101010101010187
+:1079F0000101010101010102010101010101010176
+:107A00000101010101010102020201010201020260
+:107A10000202020202020202020202020202020246
+:107A20000202020202020202020202020202020236
+:107A30000202020202020202020202020202020226
+:107A40000202020202020202020202020202020216
+:107A50000202020202020202020202020202020206
+:107A600002020202020202020202020202020202F6
+:107A700002020202020202020202020202020202E6
+:107A800002020202020202020202020202020202D6
+:107A900002020202020202010101010101010101CF
+:107AA00001010101010101010101010101010101C6
+:107AB00001010101010101010101010101010101B6
+:107AC00001010101010101010101010101010101A6
+:107AD0000101010101010101010101010101010196
+:107AE0000101010101010101010101010101010186
+:107AF0000101010101010101010101010101010176
+:107B00000101010101010102020101010101020261
+:107B10000202020202020202020202020201010247
+:107B20000202020202020202020202020202020235
+:107B30000202020202020202020202020202020225
+:107B40000202020202020202020202020202020215
+:107B50000202020202020202020202020202020205
+:107B600002020202020202020202020202020202F5
+:107B700002020202020202020202020202020202E5
+:107B800002020202020202020202020202020202D5
+:107B900002020202020202010101010101010101CE
+:107BA00001010101010101010101010101010101C5
+:107BB00001010101010101010101010101010101B5
+:107BC00001010101010101010101010101010101A5
+:107BD0000101010101010101010101010101010195
+:107BE0000101010101010101010101010101010185
+:107BF0000101010101010101010101010101010175
+:107C00000101010101010101010101010101010164
+:107C10000101010101010102020101010101010251
+:107C20000102020202020202020101020202020138
+:107C30000202020202020202020202020202020224
+:107C40000202020202020202020202020202020214
+:107C50000202020202020202020202020202020204
+:107C600002020202020202020202020202020202F4
+:107C700002020202020202020202020202020202E4
+:107C800002020202020202020202020202020202D4
+:107C900002020202020202010101010101010101CD
+:107CA00001010101010101010101010101010101C4
+:107CB00001010101010101010101010101010101B4
+:107CC00001010101010101010101010101010101A4
+:107CD0000101010101010101010101010101010194
+:107CE0000101010101010101010101010101010184
+:107CF0000101010101010101010101010101010174
+:107D00000101010101010101010101010101010163
+:107D10000101010101010102010101010101010152
+:107D2000010101010101010201020201010101023F
+:107D3000010101010101010202020202020202022A
+:107D40000202020202020202020202020202020213
+:107D50000202020202020202020202020202020203
+:107D600002020202020202020202020202020202F3
+:107D700002020202020202020202020202020202E3
+:107D800002020202020202020202020202020202D3
+:107D900002020202020202010101010101010101CC
+:107DA00001010101010101010101010101010101C3
+:107DB00001010101010101010101010101010101B3
+:107DC00001010101010101010101010101010101A3
+:107DD0000101010101010101010101010101010193
+:107DE0000101010101010101010101010101010183
+:107DF0000101010101010101010101010101010173
+:107E00000101010101010101010101010101010162
+:107E10000101010101010101010101010101010152
+:107E2000010101010101010102010102020202013D
+:107E30000202020202020202020202020202020222
+:107E40000202020202020202020202020202020212
+:107E50000202020202020202020202020202020202
+:107E600002020202020202020202020202020202F2
+:107E700002020202020202020202020202020202E2
+:107E800002020202020202020202020202020202D2
+:107E900002020202020202010101010101010101CB
+:107EA00001010101010101010101010101010101C2
+:107EB00001010101010101010101010101010101B2
+:107EC00001010101010101010101010101010101A2
+:107ED0000101010101010101010101010101010192
+:107EE0000101010101010101010101010101010182
+:107EF0000101010101010101010101010101010172
+:107F00000101010101010101010101010101010161
+:107F10000101010101010101010101010101010151
+:107F20000101010101010102010101010101010140
+:107F3000010101010101010202010202020102022A
+:107F40000202020202020202020202020202020211
+:107F50000202020202020202020202020202020201
+:107F600002020202020202020202020202020202F1
+:107F700002020202020202020202020202020202E1
+:107F800002020202020202020202020202020202D1
+:107F900002020202020202010101010101010101CA
+:107FA00001010101010101010101010101010101C1
+:107FB00001010101010101010101010101010101B1
+:107FC00001010101010101010101010101010101A1
+:107FD0000101010101010101010101010101010191
+:107FE0000101010101010101010101010101010181
+:107FF0000101010101010101010101010101010171
+:108000000101010101010101010101010101010160
+:108010000101010101010101010101010101010150
+:108020000101010101010101010101010101010140
+:10803000010101010101010201010101010101012F
+:108040000202020202020202020202020202020210
+:108050000202020202020202020202020202020200
+:1080600002020202020202020202020202020202F0
+:1080700002020202020202020202020202020202E0
+:1080800002020202020202020202020202020202D0
+:1080900002020202020202010101010101010101C9
+:1080A00001010101010101010101010101010101C0
+:1080B00001010101010101010101010101010101B0
+:1080C00001010101010101010101010101010101A0
+:1080D0000101010101010101010101010101010190
+:1080E0000101010101010101010101010101010180
+:1080F0000101010101010101010101010101010170
+:10810000010101010101010101010101010101015F
+:10811000010101010101010101010101010101014F
+:10812000010101010101010101010101010101013F
+:10813000010101010101010101010101010101012F
+:108140000101010101010102010101020202020219
+:1081500002020202020202020202020202020202FF
+:1081600002020202020202020202020202020202EF
+:1081700002020202020202020202020202020202DF
+:1081800002020202020202020202020202020202CF
+:1081900002020202020202010101010101010101C8
+:1081A00001010101010101010101010101010101BF
+:1081B00001010101010101010101010101010101AF
+:1081C000010101010101010101010101010101019F
+:1081D000010101010101010101010101010101018F
+:1081E000010101010101010101010101010101017F
+:1081F000010101010101010101010101010101016F
+:10820000010101010101010101010101010101015E
+:10821000010101010101010101010101010101014E
+:10822000010101010101010101010101010101013E
+:10823000010101010101010101010101010101012E
+:10824000010101010101010101010101010101011E
+:108250000101010101010102020202020202020205
+:1082600002020202020202020202020202020202EE
+:1082700002020202020202020202020202020202DE
+:1082800002020202020202020202020202020202CE
+:1082900002020202020202010101010101010101C7
+:1082A00001010101010101010101010101010101BE
+:1082B00001010101010101010101010101010101AE
+:1082C000010101010101010101010101010101019E
+:1082D000010101010101010101010101010101018E
+:1082E000010101010101010101010101010101017E
+:1082F000010101010101010101010101010101016E
+:10830000010101010101010101010101010101015D
+:10831000010101010101010101010101010101014D
+:10832000010101010101010101010101010101013D
+:10833000010101010101010101010101010101012D
+:10834000010101010101010101010101010101011D
+:10835000010101010101010201010101010101010C
+:1083600001010101010101020101010101010101FC
+:1083700001010101010101020202020202020202E4
+:1083800002020202020202020202020202020202CD
+:1083900002020202020202010101010101010101C6
+:1083A00001010101010101010101010101010101BD
+:1083B00001010101010101010101010101010101AD
+:1083C000010101010101010101010101010101019D
+:1083D000010101010101010101010101010101018D
+:1083E000010101010101010101010101010101017D
+:1083F000010101010101010101010101010101016D
+:10840000010101010101010101010101010101015C
+:10841000010101010101010101010101010101014C
+:10842000010101010101010101010101010101013C
+:10843000010101010101010101010101010101012C
+:10844000010101010101010101010101010101011C
+:10845000010101010101010101010101010101010C
+:1084600001010101010101010202020202020202F4
+:1084700002020202020202020202020202020202DC
+:1084800002020202020202020202020202020202CC
+:1084900002020202020202010101010101010101C5
+:1084A00001010101010101010101010101010101BC
+:1084B00001010101010101010101010101010101AC
+:1084C000010101010101010101010101010101019C
+:1084D000010101010101010101010101010101018C
+:1084E000010101010101010101010101010101017C
+:1084F000010101010101010101010101010101016C
+:10850000010101010101010101010101010101015B
+:10851000010101010101010101010101010101014B
+:10852000010101010101010101010101010101013B
+:10853000010101010101010101010101010101012B
+:10854000010101010101010101010101010101011B
+:10855000010101010101010101010101010101010B
+:1085600001010101010101020101010101010101FA
+:1085700001010101010101010101010101010101EB
+:1085800001010101010101020202020202020202D2
+:1085900002020202020202010101010101010101C4
+:1085A00001010101010101010101010101010101BB
+:1085B00001010101010101010101010101010101AB
+:1085C000010101010101010101010101010101019B
+:1085D000010101010101010101010101010101018B
+:1085E000010101010101010101010101010101017B
+:1085F000010101010101010101010101010101016B
+:10860000010101010101010101010101010101015A
+:10861000010101010101010101010101010101014A
+:10862000010101010101010101010101010101013A
+:10863000010101010101010101010101010101012A
+:10864000010101010101010101010101010101011A
+:10865000010101010101010101010101010101010A
+:1086600001010101010101010101010101010101FA
+:1086700001010101010101020202020202020202E1
+:1086800002020202020202020202020202020202CA
+:1086900002020202020202010101010101010101C3
+:1086A00001010101010101010101010101010101BA
+:1086B00001010101010101010101010101010101AA
+:1086C000010101010101010101010101010101019A
+:1086D000010101010101010101010101010101018A
+:1086E000010101010101010101010101010101017A
+:1086F000010101010101010101010101010101016A
+:108700000101010101010101010101010101010159
+:108710000101010101010101010101010101010149
+:108720000101010101010101010101010101010139
+:108730000101010101010101010101010101010129
+:108740000101010101010101010101010101010119
+:108750000101010101010101010101010101010109
+:1087600001010101010101010101010101010101F9
+:1087700001010101010101010101010101010101E9
+:1087800001010101010101020202020202020202D0
+:1087900002020202020202010101010101010101C2
+:1087A00001010101010101010101010101010101B9
+:1087B00001010101010101010101010101010101A9
+:1087C0000101010101010101010101010101010199
+:1087D0000101010101010101010101010101010189
+:1087E0000101010101010101010101010101010179
+:1087F0000101010101010101010101010101010169
+:108800000101010101010101010101010101010158
+:108810000101010101010101010101010101010148
+:108820000101010101010101010101010101010138
+:108830000101010101010101010101010101010128
+:108840000101010101010101010101010101010118
+:108850000101010101010101010101010101010108
+:1088600001010101010101010101010101010101F8
+:1088700001010101010101010101010101010101E8
+:1088800001010101010101020202020202020202CF
+:1088900002020202020202010101010101010101C1
+:1088A00001010101010101010101010101010101B8
+:1088B00001010101010101010101010101010101A8
+:1088C0000101010101010101010101010101010198
+:1088D0000101010101010101010101010101010188
+:1088E0000101010101010101010101010101010178
+:1088F0000101010101010101010101010101010168
+:108900000101010101010101010101010101010157
+:108910000101010101010101010101010101010147
+:108920000101010101010101010101010101010137
+:108930000101010101010101010101010101010127
+:108940000101010101010101010101010101010117
+:108950000101010101010101010101010101010107
+:1089600001010101010101010101010101010101F7
+:1089700001010101010101010101010101010101E7
+:1089800001010101010101020202020202020202CE
+:1089900002020202020202010101010101010101C0
+:1089A00001010101010101010101010101010101B7
+:1089B00001010101010101010101010101010101A7
+:1089C0000101010101010101010101010101010197
+:1089D0000101010101010101010101010101010187
+:1089E0000101010101010101010101010101010177
+:1089F0000101010101010101010101010101010167
+:108A00000101010101010101010101010101010156
+:108A10000101010101010101010101010101010146
+:108A20000101010101010101010101010101010136
+:108A30000101010101010101010101010101010126
+:108A40000101010101010101010101010101010116
+:108A50000101010101010101010101010101010106
+:108A600001010101010101010101010101010101F6
+:108A700001010101010101010101010101010101E6
+:108A800001010101010101020101010101010101D5
+:108A900001010101010101010101010101010101C6
+:108AA00001010101010101010101010101010101B6
+:108AB00001010101010101010101010101010101A6
+:108AC0000101010101010101010101010101010196
+:108AD0000101010101010101010101010101010186
+:108AE0000101010101010101010101010101010176
+:108AF0000101010101010101010101010101010166
+:108B00000101010101010101010101010101010155
+:108B10000101010101010101010101010101010145
+:108B20000101010101010101010101010101010135
+:108B30000101010101010101010101010101010125
+:108B40000101010101010101010101010101010115
+:108B50000101010101010101010101010101010105
+:108B600001010101010101010101010101010101F5
+:108B700001010101010101010101010101010101E5
+:108B800001010101010101020101010101010101D4
+:108B900001010101010101010101010101010101C5
+:108BA00001010101010101020202020202020202AC
+:108BB0000202020202020202020202020202020295
+:108BC0000202020202020202020202020202020285
+:108BD0000202020202020202020202020202020275
+:108BE0000202020202020202020202020202020265
+:108BF0000202020202020202020202020202020255
+:108C00000202020202020202020202020202020244
+:108C10000202020202020202020202020202020234
+:108C20000202020202020202020202020202020224
+:108C30000202020202020202020202020202020214
+:108C40000202020202020202020202020202020204
+:108C500002020202020202020202020202020202F4
+:108C600002020202020202020202020202020202E4
+:108C700002020202020202020202020202020202D4
+:108C800002020202020202000000000000000000D6
+:108C900000000000000000010101010101010101CB
+:108CA00001010101010101000000000000000000BD
+:108CB00000000000000000020202020202020202A2
+:108CC0000202020202020202020202020202020284
+:108CD0000202020202020202020202020202020274
+:108CE0000202020202020202020202020202020264
+:108CF0000202020202020202020202020202020254
+:108D00000202020202020202020202020202020243
+:108D10000202020202020202020202020202020233
+:108D20000202020202020202020202020202020223
+:108D30000202020202020202020202020202020213
+:108D40000202020202020202020202020202020203
+:108D500002020202020202020202020202020202F3
+:108D600002020202020202020202020202020202E3
+:108D700002020202020202020202020202020202D3
+:108D800002020202020202000000000000000000D5
+:108D900000000000000000010101010101010101CA
+:108DA00001010101010101000000000000000000BC
+:108DB00000000000000000000000000000000000B3
+:108DC0000000000000000002020202020202020291
+:108DD0000202020202020202020202020202020273
+:108DE0000202020202020202020202020202020263
+:108DF0000202020202020202020202020202020253
+:108E00000202020202020202020202020202020242
+:108E10000202020202020202020202020202020232
+:108E20000202020202020202020202020202020222
+:108E30000202020202020202020202020202020212
+:108E40000202020202020202020202020202020202
+:108E500002020202020202020202020202020202F2
+:108E600002020202020202020202020202020202E2
+:108E700002020202020202020202020202020202D2
+:108E800002020202020202000000000000000000D4
+:108E900000000000000000000000000000000000D2
+:108EA00000000000000000000000000000000000C2
+:108EB00000000000000000000000000000000000B2
+:108EC00000000000000000000000000000000000A2
+:108ED0000000000000000000000000000000000092
+:108EE0000000000000000000000000000000000082
+:108EF0000000000000000000000000000000000072
+:108F00000000000000000000000000000000000061
+:108F10000000000000000000000000000000000051
+:108F20000000000000000000000000000000000041
+:108F30000000000000000000000000000000000031
+:108F40000000000000000000000000000000000021
+:108F50000000000000000000000000000000000011
+:108F60000000000000000000000000000000000001
+:108F700000000000000000000000000000000000F1
+:108F800000000000000000000000000000000000E1
+:108F9000000000000000005400000000000000007D
+:108FA00000000000000000000000000000000000C1
+:108FB00000010000000000000000000000000000B0
+:108FC000000000000001010001000000000000009E
+:108FD0000001000000000000000000000000000090
+:108FE0000000000000000000000000000000000081
+:108FF0000000000000000000000000000000000071
+:109000000000000000000000000000000000000060
+:109010000000000000000000000000000000000050
+:109020000000000000000000000000000000000040
+:109030000000000000000000000000000000000030
+:109040000000000000000000000000000000000020
+:109050000000000000000000000000000000000010
+:109060000000000000000000000000000000000000
+:1090700000000000000000000000000000000000F0
+:1090800000000000000000000000000000000000E0
+:1090900000000000000000000000000000000000D0
+:1090A00000000000000000000000000000000000C0
+:1090B00000010001000000000000000000000000AE
+:1090C000000001000001010001000000000000009C
+:1090D000000101000000000000000000000000008E
+:1090E000000001000000000000000000000000007F
+:1090F000000001000000000000000000000000006F
+:10910000000000000000000000000000000000005F
+:10911000000000000000000000000000000000004F
+:10912000000100000002000000000000000000003C
+:10913000000000000001000000010000000000012C
+:10914000010000000000010000000000000000011C
+:10915000000000000000000000000000000000010E
+:1091600000000000000000000000000000000001FE
+:1091700000000000000000000000000000000000EF
+:1091800000000000000000000000000000000000DF
+:1091900000000000000000000000000000000101CD
+:1091A00000000202020000000000020101010001B3
+:1091B00000010001010101010101010001010000A4
+:1091C0000000010000010100010101000101000196
+:1091D0000001010001000001010101000101000086
+:1091E000000001000000000000000000000200007C
+:1091F000000001000000000001010000000200006A
+:10920000000000000000000000000001000001005C
+:109210000001000000000200020001000100000047
+:109220000001000000020000020000020000000037
+:109230000000000000010000000100020000000129
+:10924000010000000000010000000000000001011A
+:10925000000000000000000000000002000000010B
+:1092600000000000000000000000000200000101FA
+:1092700000000000000000000000000200000000EC
+:1092800000000000000000000000000000000100DD
+:1092900000000000000000000000000000000101CC
+:1092A00000000202020000000000020201010001B1
+:1092B00000010101010101010101010101010100A0
+:1092C0000000010000010100010101010101010193
+:1092D0000001010001000001010101010101010083
+:1092E000000001000000000000000000000101007B
+:1092F0000000010100000000010100020001000067
+:109300000000000001000100000201010202010052
+:109310000001000000000200010001010100010045
+:10932000000100000002000002010202020200002F
+:109330000000000000010201010100020202000120
+:109340000101000001000100000000000201010114
+:109350000000000001000000000000020202000105
+:1093600000000000000000000000000202020101F5
+:1093700000000000000000000200020202020000E3
+:1093800000000000000000000202020002020100D2
+:1093900000000000000000000000000000000101CB
+:1093A00001010202020000000202020202010001A9
+:1093B000010101010101010101010101010101019D
+:1093C000000001000101010201010101010101018F
+:1093D000000101000101010101010101010101017F
+:1093E0000000010000010101000201000101010073
+:1093F0000000010101000100010100010001000065
+:109400000000000001000100000101010201010053
+:109410000001000000000102010101010101010041
+:109420000001000000010000020101020201010030
+:10943000000001000001020101010002020201011D
+:109440000101000001000100000000020201010111
+:109450000000000001000000000000020201010104
+:1094600000000000000000000000000202010101F5
+:1094700000000000000000000200020202020000E2
+:1094800000000000000000000102020202010100D1
+:1094900000000000000000000000000000000101CA
+:1094A00001020202020000000202020202010001A7
+:1094B000010101010101010101010101010101019C
+:1094C000000001000101010201010101010101018E
+:1094D000010101010101010101010101010101017C
+:1094E000000001010001010100020102010101006F
+:1094F0000000010101000100010100010001010063
+:109500000001000001010100000101010101010051
+:10951000000101000000010201010101010101003F
+:10952000000100000001020001010101020101002F
+:10953000000001000001010101010201020101011D
+:10954000010100000100010000000202020101010E
+:109550000000000001000000000002010201010102
+:1095600000000000000000000000020102010101F3
+:1095700000000000000000000200020102010000E3
+:1095800000000000000000020102010202010100CF
+:1095900000000000000000000000000000000101C9
+:1095A00002020202020000000202020202010001A5
+:1095B000010101010101010101010101010101019B
+:1095C000010101000101010201010101010101018B
+:1095D000010101010101010101010101010101017B
+:1095E000000101010101010100020102010101006C
+:1095F0000000010101000102010100010001010060
+:109600000001000001010100000101010101010050
+:10961000010101000000010101010101010101003E
+:10962000000100000001020001010101010101002F
+:10963000000001000001010101010201010101011D
+:10964000010100010100010000000202010101010D
+:109650000000000001000000000002010101010102
+:1096600000000000000000000000020101010101F3
+:1096700000000000000000000100010101010100E4
+:1096800000000000000000020101010101010100D1
+:1096900000000000000000000000000000000101C8
+:1096A00002020202020000000202020202010001A4
+:1096B000010101010101010101010101010101019A
+:1096C000010101010101010101010101010101018A
+:1096D000010101010101010101010101010101017A
+:1096E000000101010101010100010102010101006C
+:1096F000000001010100010201010001000101005F
+:10970000000100000101010201010101010101004C
+:10971000010101010000010101010101010101003C
+:10972000000100000001020001010101010101002E
+:10973000000001000001010101010201010101011C
+:10974000010100010101010000000201010101010C
+:109750000000000001000000000002010101010101
+:1097600000000000000000000000020101010101F2
+:1097700000000000000000000102010101010100E1
+:1097800000000000000000020101010101010100D0
+:1097900000000000000000000000000000000101C7
+:1097A00002020202020000000202020202010001A3
+:1097B0000101010101020101010101010101010198
+:1097C0000101010101010101010101010101010189
+:1097D0000101010101010101010101010101010179
+:1097E000000101010101010101010101010101016A
+:1097F000000101010100010101010201000101005C
+:10980000000100010101010101010101010101014A
+:10981000010101010001010101010101010101003A
+:10982000000101000001010001010101010101002D
+:10983000000001000001010101010101010101011C
+:10984000010100010101010000000101010101010C
+:109850000000000001000000000001010101010101
+:1098600000000000000000000000010101010101F2
+:1098700000000000000000000102010101010100E0
+:1098800000000000000000010101010101010100D0
+:1098900000000000000000000000000000000102C5
+:1098A00002020202020000000202020202010001A2
+:1098B0000101010101020202010101010101010195
+:1098C0000101010101010101010101010101010188
+:1098D0000101010101010101010101010101010178
+:1098E0000001010101010101010101010101010169
+:1098F000000101010100010101010201000101005B
+:109900000001000101010101010101010101010149
+:109910000101010100010101010101010101010039
+:109920000101010001010101010101010101010029
+:10993000000001000001010101010101010101011B
+:109940000101000101010100020001010101010109
+:1099500000000000010000000200010101010101FE
+:1099600000000000000000000202010101010101ED
+:1099700000000000000000000102010101010100DF
+:1099800001000000000200010101010101010100CC
+:1099900000000000000000000000000000000102C4
+:1099A00002020202020000000202020202010001A1
+:1099B0000102010102020202010101010101010192
+:1099C0000101010101010101010101010101010187
+:1099D0000101010101010101010101010101010177
+:1099E0000001010101010101010101010101010168
+:1099F0000001010101010101010102010001010059
+:109A00000001000101010101010101010101010148
+:109A10000101010100010101010101010101010038
+:109A20000101010001010101010101010101010028
+:109A3000000001000001010101010101010101011A
+:109A40000101000101010100020001010101010108
+:109A500000000000010000000200010101010101FD
+:109A600000000000000000000202010101010101EC
+:109A700000000000000000000101010101010100DF
+:109A800001000000000200010101010101010100CB
+:109A900000000000000000000000000000000102C3
+:109AA00002020202020000000202020202010001A0
+:109AB000010202020202020201010101010101018F
+:109AC0000101010101010101010101010101010186
+:109AD0000101010101010101010101010101010176
+:109AE0000001010101010101010101010101010167
+:109AF0000101010101010101010101010001010157
+:109B00000101000101010101010101010101010146
+:109B10000101010100010101010101010101010037
+:109B20000101010001010101010101010101010027
+:109B30000000010000010101010101010101010119
+:109B40000101000101010100020201010101010105
+:109B500000000000010000000200010101010101FC
+:109B600000000000000000000202010101010101EB
+:109B700000000000000000000101010101010100DE
+:109B800001010000000202010101010101010100C7
+:109B900000000000000000000000000000000102C2
+:109BA000020202020202000002020202020200019C
+:109BB000020202020202020202010101010101018C
+:109BC0000101010101010101010101010101010185
+:109BD0000101010101010101010101010101010175
+:109BE0000001010101010101010101010101010166
+:109BF0000101010101010101010101010001010156
+:109C00000101000101010101010101010101010145
+:109C10000101010101010101010101010101010035
+:109C20000101010101010101010101010101010025
+:109C30000000010000010101010101010101010118
+:109C40000101010101010100010201010101010104
+:109C500000000000010000000100010101010101FC
+:109C600000000000000000000101010101010101EC
+:109C700000000000000000000101010101010100DD
+:109C800001010000000102010101010101010100C7
+:109C900000000000000000000000000000000102C1
+:109CA000020202020202000002020202020200029A
+:109CB000020202020202020202020101010101018A
+:109CC0000101010101010101010101010101010184
+:109CD0000101010101010101010101010101010174
+:109CE0000001010101010101010101010101010165
+:109CF0000101010101010101010101010001010155
+:109D00000101000101010101010101010101010144
+:109D10000101010101010101010101010101010133
+:109D20000101010101010101010101010101010024
+:109D30000100010000010101010101010101010116
+:109D40000101010101010102010201010101010101
+:109D500000000000010000000102010101010101F9
+:109D600000000000000000020101010101010101E9
+:109D700000000000000000020101010101010100DA
+:109D800001010000000102010101010101010100C6
+:109D900000000000000000000000000000000102C0
+:109DA0000202020202020002020202020202000297
+:109DB0000202020202020202020201010101010288
+:109DC0000101020101010101010101010101010281
+:109DD0000101010101010101010101010101010173
+:109DE0000101010101010101010101010101010163
+:109DF0000101010101010101010101010001010154
+:109E00000101010101010101010101010101010142
+:109E10000101010101010101010101010101010132
+:109E20000101010101010101010101010101010023
+:109E30000100010000010101010101010101010115
+:109E40000101010101010102010101010101010101
+:109E500000000000010000000102010101010101F8
+:109E600000000000000000020101010101010101E8
+:109E700000000000000000020101010101010100D9
+:109E800001010000000101010101010101010100C6
+:109E900000000000000000000000000000000102BF
+:109EA0000202020202020002020202020202000296
+:109EB0000202020202020202020201010101010287
+:109EC000020102010102010101010101010101027E
+:109ED000020202010101010101010101010101026E
+:109EE0000101010101010101010101010101010162
+:109EF0000101010101010101010101010001010153
+:109F00000101010101010101010101010101010141
+:109F10000101010101010101010101010101010131
+:109F20000101010101010101010101010101010121
+:109F30000100010000010101010101010101010114
+:109F40000101010101010102010101010101010100
+:109F500000000000010000000102010101010101F7
+:109F600001000000000000020101010101010101E6
+:109F700000000000000000020101010101010100D8
+:109F800001010000000101010101010101010100C5
+:109F900000000000000000000000000000000102BE
+:109FA0000202020202020202020202020202000293
+:109FB0000202020202020202020201010101010286
+:109FC000020102010102020101010101010101027C
+:109FD000020202010101010101010101010101026D
+:109FE0000101020101010101010101010101010160
+:109FF0000101010101010101010101010001010152
+:10A000000101010101010101010101010101010140
+:10A010000101010101010101010101010101010130
+:10A020000101010101010101010101010101010120
+:10A030000100010000010101010101010101010113
+:10A040000101010101010101010101010101010100
+:10A0500000000000010000000101010101010101F7
+:10A0600001000000000000010101010101010101E6
+:10A0700000000000000000010101010101010100D8
+:10A0800001010001000101010101010101010100C3
+:10A0900000000000000000000000000000000102BD
+:10A0A0000202020202020202020202020202000292
+:10A0B0000202020202020202020202010101010284
+:10A0C0000202020102020201010101010101010279
+:10A0D000020202010101010101010101010101026C
+:10A0E000010102010101010101010101010101015F
+:10A0F0000101010101010101010101010001010151
+:10A10000010101010101010101010101010101013F
+:10A11000010101010101010101010101010101012F
+:10A12000010101010101010101010101010101011F
+:10A130000100010000010101010101010101010112
+:10A1400001010101010101010101010101010101FF
+:10A1500000000000010000000101010101010101F6
+:10A1600001000000000002010101010101010101E3
+:10A1700000000000000002010101010101010100D5
+:10A1800001010001000101010101010101010100C2
+:10A1900000000000000000000000000000000102BC
+:10A1A0000202020202020202020202020202000291
+:10A1B0000202020202020202020202010101010283
+:10A1C0000202020102020201010101010101010278
+:10A1D000020202010201010101010101010101026A
+:10A1E000010102010101010101010101010101015E
+:10A1F000010102010101010101010101000101014F
+:10A20000010101010101010101010101010101013E
+:10A21000020101010101010101010101010101012D
+:10A22000010101010101010101010101010101011E
+:10A230000100010000010101010101010101010111
+:10A2400001010101010101010101010101010101FE
+:10A2500000000000010000000101010101010101F5
+:10A2600001000000000002010101010101010101E2
+:10A2700000000000000002010101010101010100D4
+:10A2800001010101000101010101010101010100C0
+:10A2900000000000000000000000000000000102BB
+:10A2A0000202020202020202020202020202000290
+:10A2B0000202020202020202020202020101010281
+:10A2C0000202020202020201020201010101010274
+:10A2D0000202020202020101010101010101010267
+:10A2E000010202010101010101010101010101025B
+:10A2F000010102010101010101010101000101014E
+:10A30000010101010101010101010101010101023C
+:10A31000020201010101010101010101010101012B
+:10A32000010101010101010101010101010101011D
+:10A33000010101000001010101010101010101020E
+:10A3400002010101010101010101010101010102FB
+:10A3500000000000010000020101010101010102F1
+:10A3600001000000000202010101010101010101DF
+:10A3700001000000000002010101010101010100D2
+:10A3800001010101000101010101010101010100BF
+:10A3900000000000000000000000000000000002BB
+:10A3A000020202020202020202020202020200028F
+:10A3B0000202020202020202020202020101010280
+:10A3C0000202020202020201020201010101010273
+:10A3D0000202020202020102010101010101010265
+:10A3E0000102020201010101010101010101010259
+:10A3F000020102010101010101010101020101014A
+:10A40000010101010101010101010101010101023B
+:10A41000020201010101010101010101010101012A
+:10A42000010201010101010101010101010101011B
+:10A43000010101000001010101010101010101020D
+:10A4400002010101010101010101010101010102FA
+:10A4500000000000010000020101010101010102F0
+:10A4600001000000000201010101010101010102DE
+:10A4700001000000000001010101010101010100D2
+:10A4800001010101000101010101010101010100BE
+:10A4900000000000000000000000000000000002BA
+:10A4A000020202020202020202020202020200028E
+:10A4B000020202020202020202020202020101027E
+:10A4C0000202020202020201020201010101010272
+:10A4D0000202020202020202010101010101010263
+:10A4E0000202020201020101010101010101010256
+:10A4F0000201020201010101010101010101010248
+:10A500000202010101010101010101010101010238
+:10A510000202020101010101010101010101010128
+:10A520000202010101010101010101010101010119
+:10A53000010101000001010101010101010101020C
+:10A5400002010101010101010101010101010102F9
+:10A5500000000000010000020101010101010102EF
+:10A5600001000000000201010101010101010102DD
+:10A5700001000000000201010101010101010101CE
+:10A5800001010101000101010101010101010100BD
+:10A5900000000000000000000000000000000002B9
+:10A5A000020202020202020202020202020200028D
+:10A5B000020202020202020202020202020101027D
+:10A5C0000202020202020201020201010101010271
+:10A5D0000202020202020202010201010101010261
+:10A5E0000202020202020201010101010101010253
+:10A5F0000202020201010101010101010101010246
+:10A600000202010101010101010101010101010237
+:10A610000202020101010101010101010101010127
+:10A620000202010101010101010101010101010118
+:10A63000010101000001010101010101010101020B
+:10A6400002010101010101010101010101010102F8
+:10A6500000000000010000010101010101010102EF
+:10A6600001000000000101010101010101010102DD
+:10A6700001000000000201010101010101010101CD
+:10A6800001010101000101010101010101010100BC
+:10A6900000000000000000000000000000000002B8
+:10A6A000020202020202020202020202020200028C
+:10A6B000020202020202020202020202020101027C
+:10A6C000020202020202020102020201010101026F
+:10A6D000020202020202020202020101010101025F
+:10A6E0000202020202020202010101010101010251
+:10A6F0000202020202010101010101010101010244
+:10A700000202010102010101010101010101010235
+:10A710000202020101010101010101010101010225
+:10A720000202010101010101010101010101010117
+:10A730000101020000010101010101010101010209
+:10A7400002010101010101010101010101010102F7
+:10A7500000000000010000010101010101010102EE
+:10A7600001010000000101010101010101010102DB
+:10A7700001010000000201010101010101010101CB
+:10A7800001010101010101010101010101010100BA
+:10A7900000000000000000000000000000000002B7
+:10A7A000020202020202020202020202020200028B
+:10A7B000020202020202020202020202020101027B
+:10A7C000020202020202020102020202010101026D
+:10A7D000020202020202020202020201010101025D
+:10A7E0000202020202020202010101010101010250
+:10A7F0000202020202010101010101010101010243
+:10A800000202010102010101010101010101010234
+:10A810000202020201010101010101010101010223
+:10A820000202020101010101010101010101010115
+:10A830000201020000010101010101010101010207
+:10A8400002020101010101010101010101010102F5
+:10A8500000000000010000010101010101010102ED
+:10A8600001010000000101010101010101010102DA
+:10A8700001010000000101010101010101010101CB
+:10A8800001010101010101010101010101010100B9
+:10A8900000000000000000000000000000000002B6
+:10A8A000020202020202020202020102020200028B
+:10A8B000020202020202020202020202020101027A
+:10A8C000020202020202020202020202020101026A
+:10A8D000020202020202020202020201010101025C
+:10A8E000020202020202020201010101010101024F
+:10A8F0000202020202010201010101010101010241
+:10A900000202010202020201010101010101010230
+:10A910000202020201010101010101010101010222
+:10A920000202020101010101010101010101010213
+:10A930000201020000010101010101010101010206
+:10A9400002020101010101010101010101010102F4
+:10A9500000010000010000010101010101010102EB
+:10A9600001010000000101010101010101010102D9
+:10A9700001010000000101010101010101010101CA
+:10A9800002010101010101010101010101010100B7
+:10A9900000000000000000000000000000000002B5
+:10A9A000020202020102020202020102020200028B
+:10A9B0000202020202020202020202020202010278
+:10A9C0000202020202020202020202020201010269
+:10A9D0000202020202020202020202020201010259
+:10A9E000020202020202020201010201010101024D
+:10A9F000020202020201020102020101010101023E
+:10AA0000020202020202020101010101010101022E
+:10AA10000202020201010101010101010101010221
+:10AA20000202020101010101010101010101010212
+:10AA30000201020100020101010101010101010203
+:10AA400002020101010101010101010101010102F3
+:10AA500000010100010000010101010101010102E9
+:10AA600001010001000101010101010101010102D7
+:10AA700001010000000101010101010101010101C9
+:10AA800002010101010101010101010101010100B6
+:10AA900000000000000000000000000000000002B4
+:10AAA000020202010102020201010102020200028D
+:10AAB0000202020202020202020202020202020276
+:10AAC0000202020202020202020202020202010267
+:10AAD0000202020202020202020202020201010258
+:10AAE000020202020202020202010201010101024B
+:10AAF000020202020202020102020101010101023C
+:10AB0000020202020202020101010101010101022D
+:10AB1000020202020102020101010101010101021E
+:10AB20000202020101010101010101010101010211
+:10AB30000201020101020101010101010101010201
+:10AB400002020101010101010101010101010102F2
+:10AB500001010100010000010101010101010102E7
+:10AB600002010001010101010101010101010102D4
+:10AB700001010000000101010101010101010101C8
+:10AB800002010101010101010101010101010100B5
+:10AB900000000000000000000000000000000002B3
+:10ABA000020202010102020201010102020200028C
+:10ABB0000202020202020202020202020202020275
+:10ABC0000202020202020202020202020202010266
+:10ABD0000202020202020202020202020202010256
+:10ABE0000202020202020202020102010201010249
+:10ABF000020202020202020102020101010101023B
+:10AC0000020202020202020101010101010101022C
+:10AC10000202020202020201020202010101010219
+:10AC2000020202020202010101010101010101020D
+:10AC30000201020101020101010101010101010200
+:10AC400002020102020101010101010101010102EF
+:10AC500001010100020000010101010101010102E5
+:10AC600002010101010101010101010101010102D2
+:10AC700001010100000101010101010101010101C6
+:10AC800002010101010101010101010101010100B4
+:10AC900000000000000000000000000000010002B1
+:10ACA000020202010102020101010101010200028E
+:10ACB0000202020202020202020202020202020274
+:10ACC0000202020202020202020202020202020264
+:10ACD0000202020202020202020202020202010255
+:10ACE0000202020202020202020202010201010247
+:10ACF000020202020202020102020101010101023A
+:10AD00000202020202020201010202020101010228
+:10AD10000202020202020202020202020201010215
+:10AD2000020202020202010101020101010101020B
+:10AD300002010201010201020102010101010102FD
+:10AD400002020202020102010101010101010102EC
+:10AD500001010100020100010101010101010102E3
+:10AD600002010101010101010101010101010102D1
+:10AD700001010100010101010101010101010101C4
+:10AD800002010101010101010101010101010100B3
+:10AD900000000200000000000000000000010002AE
+:10ADA000020202010201020101010101010200028D
+:10ADB0000202020202020202020202020202020273
+:10ADC0000202020202020202020202020202020263
+:10ADD0000202020202020202020202020202020253
+:10ADE0000202020202020202020202010202020244
+:10ADF0000202020202020202020201020101010237
+:10AE00000202020202020202020202020101010225
+:10AE10000202020202020202020202020201010214
+:10AE2000020202020202010101020101010101020A
+:10AE300002010201010202020202010101010102FA
+:10AE400002020202020102010101010101010102EB
+:10AE500001010101020100010101010101010102E1
+:10AE600002010101010101010101010101010102D0
+:10AE700002010101010101010101010101010101C1
+:10AE800002020101010101010101010101010100B1
+:10AE900000020200000000000100010000010002A9
+:10AEA000020202020201010101010101010200028C
+:10AEB0000202020202020202020202020202020272
+:10AEC0000202020202020202020202020202020262
+:10AED0000202020202020202020202020202020252
+:10AEE0000202020202020202020202010202020243
+:10AEF0000202020202020202020201020101010236
+:10AF00000202020202020202020202020101010224
+:10AF10000202020202020202020202020201010213
+:10AF20000202020202020202010202010101010206
+:10AF300002020201010202020202010101010102F8
+:10AF400002020202020202010101010101010102E9
+:10AF500001010101020101010101010101010102DF
+:10AF600002010101010101010101010101010102CF
+:10AF700002010101010101010101010101010102BF
+:10AF800002020101010101010101010101010100B0
+:10AF900000020200000000010101010101010002A4
+:10AFA000020202020201010101010101010200028B
+:10AFB0000202020202020202020202020202020271
+:10AFC0000202020202020202020202020202020261
+:10AFD0000202020202020202020202020202020251
+:10AFE0000202020202020202020202020202020241
+:10AFF0000202020202020202020201020102010234
+:10B000000202020202020202020202020101020222
+:10B010000202020202020202020202020202020210
+:10B020000202020202020202020202010101010204
+:10B0300002020201010202020202010101010102F7
+:10B0400002020202020202010101010101010102E8
+:10B0500001010101020101010101010101010102DE
+:10B0600002010101010101010101010101010102CE
+:10B0700002010101010101010101010101010102BE
+:10B0800002020101010101010101010101010100AF
+:10B0900000010200010100010101010101010002A2
+:10B0A000020201020201010201010101010200028A
+:10B0B0000202020202020202020202020202020270
+:10B0C0000202020202020202020202020202020260
+:10B0D0000202020202020202020202020202020250
+:10B0E0000202020202020202020202020202020240
+:10B0F0000202020202020202020201020102020232
+:10B10000020202020202020202020202020202021F
+:10B11000020202020202020202020202020202020F
+:10B120000202020202020202020202010101010203
+:10B1300002020201010202020202010101010102F6
+:10B1400002020202020202010101010101010102E7
+:10B1500002010101020101010101010101010102DC
+:10B1600002010101010101010101010101010102CD
+:10B1700002010101010101010101010101010102BD
+:10B1800002020101010101010101010101010100AE
+:10B19000000102020101010101010101010100029E
+:10B1A0000202010201020102010101010102000289
+:10B1B000020202020202020202020202020202026F
+:10B1C000020202020202020202020202020202025F
+:10B1D000020202020202020202020202020202024F
+:10B1E000020202020202020202020202020202023F
+:10B1F0000202020202020202020201020102020231
+:10B20000020202020202020202020202020202021E
+:10B21000020202020202020202020202020202020E
+:10B2200002020202020202020202020201020202FF
+:10B2300002020201010202020202010101010102F5
+:10B2400002020202020202010101010101010102E6
+:10B2500002010101020101010101010101010102DB
+:10B2600002010101010101010101010101010102CC
+:10B2700002010101010101010101010101010102BC
+:10B2800002020201010101010101010101010100AC
+:10B29000000102010101010101010101010100029E
+:10B2A0000202010101020202010101010102000288
+:10B2B000020202020202020202020202020202026E
+:10B2C000020202020202020202020202020202025E
+:10B2D000020202020202020202020202020202024E
+:10B2E000020202020202020202020202020202023E
+:10B2F000020202020202020202020202010202022F
+:10B30000020202020202020202020202020202021D
+:10B31000020202020202020202020202020202020D
+:10B3200002020202020202020202020202020202FD
+:10B3300002020201010202020202010201010202F2
+:10B3400002020202020202010101010101010102E5
+:10B3500002010101020101010101010101010102DA
+:10B3600002020101010101010101010101010102CA
+:10B3700002010101010101010101010101010102BB
+:10B3800002020202010101010201010101010100A9
+:10B39000000002010001010101010101010100029F
+:10B3A0000202010101020202010101010101000288
+:10B3B000020202020202020102020202020202026E
+:10B3C000020202020202020202020202020202025D
+:10B3D000020202020202020202020202020202024D
+:10B3E000020202020202020202020202020202023D
+:10B3F000020202020202020202020202010202022E
+:10B40000020202020202020202020202020202021C
+:10B41000020202020202020202020202020202020C
+:10B4200002020202020202020202020202020202FC
+:10B4300002020201010202020202020202020202EE
+:10B4400002020202020202010101010101020202E2
+:10B4500002020101020101010101010101010102D8
+:10B4600002020101010101010101010101010202C8
+:10B4700002020101010101010101010101010102B9
+:10B4800002020202010101010201010101010100A8
+:10B4900000000101000001010101010101010002A0
+:10B4A0000202020101020201010101010101000287
+:10B4B000020202020201010102020202020202026F
+:10B4C000020202020202020202020202020202025C
+:10B4D000020202020202020202020202020202024C
+:10B4E000020202020202020202020202020202023C
+:10B4F000020202020202020202020202010202022D
+:10B50000020202020202020202020202020202021B
+:10B51000020202020202020202020202020202020B
+:10B5200002020202020202020202020202020202FB
+:10B5300002020202010202020202020202020202EC
+:10B5400002020202020202010101010101020202E1
+:10B5500002020201020101010101010201020202D3
+:10B5600002020101010101010101010201020202C5
+:10B5700002020101010101010201010101010102B7
+:10B5800002020202010201020202020101010200A2
+:10B5900000000100000001010101010101010002A0
+:10B5A0000202020101010201010101010101000287
+:10B5B000020202020201010101020202020202026F
+:10B5C000020202020202020202020202020202025B
+:10B5D000020202020202020202020202020202024B
+:10B5E000020202020202020202020202020202023B
+:10B5F000020202020202020202020202010202022C
+:10B60000020202020202020202020202020202021A
+:10B61000020202020202020202020202020202020A
+:10B6200002020202020202020202020202020202FA
+:10B6300002020202010202020202020202020202EB
+:10B6400002020202020202010101020202020202DD
+:10B6500002020201020101010101020202020202D0
+:10B6600002020201010101010101020202020202C1
+:10B6700002020101010101010201020201010102B4
+:10B68000020202020102010202020202010202009F
+:10B6900000000100000000000101010101010002A1
+:10B6A0000201020101010101010101010101000288
+:10B6B000020202020201010101010202020202026F
+:10B6C000020202020202020202020202020202025A
+:10B6D000020202020202020202020202020202024A
+:10B6E000020202020202020202020202020202023A
+:10B6F000020202020202020202020202010202022B
+:10B700000202020202020202020202020202020219
+:10B710000202020202020202020202020202020209
+:10B7200002020202020202020202020202020202F9
+:10B7300002020202020202020202020202020202E9
+:10B7400002020202020202010201020202020202DB
+:10B7500002020201020101010201020202020202CE
+:10B7600002020202010101010202020202020202BD
+:10B7700002020201010101010202020202020202AE
+:10B78000020202020102020202020202020202009C
+:10B7900000000100000000000000010101010002A2
+:10B7A0000201020101010101010101010101000287
+:10B7B000020202020101010101010202020202026F
+:10B7C0000202020202020202020202020202020259
+:10B7D0000202020202020202020202020202020249
+:10B7E0000202020202020202020202020202020239
+:10B7F0000202020202020202020202020202020229
+:10B800000202020202020202020202020202020218
+:10B810000202020202020202020202020202020208
+:10B8200002020202020202020202020202020202F8
+:10B8300002020202020202020202020202020202E8
+:10B8400002020202020202020202020202020202D8
+:10B8500002020201020101010201020202020202CD
+:10B8600002020202010101020202020202020202BB
+:10B8700002020201010101010202020202020202AD
+:10B88000020202020202020202020202020202009A
+:10B8900000000100000000000000000101010002A2
+:10B8A0000201010101010101010101010101000287
+:10B8B000020202020101010101010202020202026E
+:10B8C0000202020202020202020202020202020258
+:10B8D0000202020202020202020202020202020248
+:10B8E0000202020202020202020202020202020238
+:10B8F0000202020202020202020202020202020228
+:10B900000202020202020202020202020202020217
+:10B910000202020202020202020202020202020207
+:10B9200002020202020202020202020202020202F7
+:10B9300002020202020202020202020202020202E7
+:10B9400002020202020202020202020202020202D7
+:10B9500002020202020101010202020202020202CA
+:10B9600002020202020202020202020202020202B7
+:10B9700002020201010101020202020202020202AB
+:10B980000202020202020202020202020202020099
+:10B9900000000100000000000000000000010002A3
+:10B9A0000201010101010101010101010101000286
+:10B9B000020202020101010101010102020202026E
+:10B9C0000202020202020202020202020202020257
+:10B9D0000202020202020202020202020202020247
+:10B9E0000202020202020202020202020202020237
+:10B9F0000202020202020202020202020202020227
+:10BA00000202020202020202020202020202020216
+:10BA10000202020202020202020202020202020206
+:10BA200002020202020202020202020202020202F6
+:10BA300002020202020202020202020202020202E6
+:10BA400002020202020202020202020202020202D6
+:10BA500002020202020101010202020202020202C9
+:10BA600002020202020202020202020202020202B6
+:10BA700002020202010102020202020202020202A8
+:10BA80000202020202020202020202020202020098
+:10BA900000000100000000000000000000000002A3
+:10BAA0000201010101010101010101010101000285
+:10BAB000020202010101010101010101020202026F
+:10BAC0000202020202020202020202020202020256
+:10BAD0000202020202020202020202020202020246
+:10BAE0000202020202020202020202020202020236
+:10BAF0000202020202020202020202020202020226
+:10BB00000202020202020202020202020202020215
+:10BB10000202020202020202020202020202020205
+:10BB200002020202020202020202020202020202F5
+:10BB300002020202020202020202020202020202E5
+:10BB400002020202020202020202020202020202D5
+:10BB500002020202020201020202020202020202C6
+:10BB600002020202020202020202020202020202B5
+:10BB700002020202020202020202020202020202A5
+:10BB80000202020202020202020202020202020097
+:10BB900000000000000000000000000000000002A3
+:10BBA0000101010101010101010101010101000285
+:10BBB000020201010101010101010101020202026F
+:10BBC0000202020202020202020202020202020255
+:10BBD0000202020202020202020202020202020245
+:10BBE0000202020202020202020202020202020235
+:10BBF0000202020202020202020202020202020225
+:10BC00000202020202020202020202020202020214
+:10BC10000202020202020202020202020202020204
+:10BC200002020202020202020202020202020202F4
+:10BC300002020202020202020202020202020202E4
+:10BC400002020202020202020202020202020202D4
+:10BC500002020202020201020202020202020202C5
+:10BC600002020202020202020202020202020202B4
+:10BC700002020202020202020202020202020202A4
+:10BC80000202020202020202020202020202020096
+:10BC900000000000000000000000000000000002A2
+:10BCA0000101010101010101010101010101000284
+:10BCB0000201010101010101010101010102020270
+:10BCC0000202020202020202020202020202020254
+:10BCD0000202020202020202020202020202020244
+:10BCE0000202020202020202020202020202020234
+:10BCF0000202020202020202020202020202020224
+:10BD00000202020202020202020202020202020213
+:10BD10000202020202020202020202020202020203
+:10BD200002020202020202020202020202020202F3
+:10BD300002020202020202020202020202020202E3
+:10BD400002020202020202020202020202020202D3
+:10BD500002020202020202020202020202020202C3
+:10BD600002020202020202020202020202020202B3
+:10BD700002020202020202020202020202020202A3
+:10BD80000202020202020202020202020202020095
+:10BD900000000000000000000000000000000002A1
+:10BDA0000101010101010101010101010101000283
+:10BDB000020101010101010101010101010202026F
+:10BDC0000202020202020202020202020202020253
+:10BDD0000202020202020202020202020202020243
+:10BDE0000202020202020202020202020202020233
+:10BDF0000202020202020202020202020202020223
+:10BE00000202020202020202020202020202020212
+:10BE10000202020202020202020202020202020202
+:10BE200002020202020202020202020202020202F2
+:10BE300002020202020202020202020202020202E2
+:10BE400002020202020202020202020202020202D2
+:10BE500002020202020202020202020202020202C2
+:10BE600002020202020202020202020202020202B2
+:10BE700002020202020202020202020202020202A2
+:10BE80000202020202020202020202020202020094
+:10BE900000000000000000000000000000000002A0
+:10BEA0000101010101010101010101010101000282
+:10BEB000020101010101010101010101010202026E
+:10BEC0000202020202020202020202020202020252
+:10BED0000202020202020202020202020202020242
+:10BEE0000202020202020202020202020202020232
+:10BEF0000202020202020202020202020202020222
+:10BF00000202020202020202020202020202020211
+:10BF10000202020202020202020202020202020201
+:10BF200002020202020202020202020202020202F1
+:10BF300002020202020202020202020202020202E1
+:10BF400002020202020202020202020202020202D1
+:10BF500002020202020202020202020202020202C1
+:10BF600002020202020202020202020202020202B1
+:10BF700002020202020202020202020202020202A1
+:10BF80000202020202020202020202020202020291
+:10BF9000000000000000000000000000000000029F
+:10BFA0000101010101010101010101010101000281
+:10BFB000020101010101010101010101010202026D
+:10BFC0000202020202010102020102020202020254
+:10BFD0000202020202020202020202020202020241
+:10BFE0000202020202020202020202020202020231
+:10BFF0000202020202020202020202020202020221
+:10C000000202020202020202020202020202020210
+:10C010000202020202020202020202020202020200
+:10C0200002020202020202020202020202020202F0
+:10C0300002020202020202020202020202020202E0
+:10C0400002020202020202020202020202020202D0
+:10C0500002020202020202020202020202020202C0
+:10C0600002020202020202020202020202020202B0
+:10C0700002020202020202020202020202020202A0
+:10C080000202020202020202020202020202020290
+:10C09000000000000000000000000000000000019F
+:10C0A0000101010101010101010101010101000280
+:10C0B000010101010101010101010101010101026F
+:10C0C0000202020201020202010202020202020252
+:10C0D0000202020202020202020202020202020240
+:10C0E0000202020202020202020202020202020230
+:10C0F0000202020202020202020202020202020220
+:10C10000020202020202020202020202020202020F
+:10C1100002020202020202020202020202020202FF
+:10C1200002020202020202020202020202020202EF
+:10C1300002020202020202020202020202020202DF
+:10C1400002020202020202020202020202020202CF
+:10C1500002020202020202020202020202020202BF
+:10C1600002020202020202020202020202020202AF
+:10C17000020202020202020202020202020202029F
+:10C18000020202020202020202020202020202028F
+:10C19000020000000000000000000000000000019C
+:10C1A000010101010101010101010001010101027F
+:10C1B000010101010101010101010101010101026E
+:10C1C0000202020202010102020102020202020252
+:10C1D0000202020202010201020202020202020241
+:10C1E000020202020202020202020202020202022F
+:10C1F000020202020202020202020202020202021F
+:10C20000020202020202020202020202020202020E
+:10C2100002020202020202020202020202020202FE
+:10C2200002020202020202020202020202020202EE
+:10C2300002020202020202020202020202020202DE
+:10C2400002020202020202020202020202020202CE
+:10C2500002020202020202020202020202020202BE
+:10C2600002020202020202020202020202020202AE
+:10C27000020202020202020202020202020202029E
+:10C28000020202020202020202020202020202028E
+:10C29000020000000000000000000000000000019B
+:10C2A0000101010101010101000000010101010280
+:10C2B000010101010101010101010101010101026D
+:10C2C0000202010101010101010101010202020258
+:10C2D0000202020201020102020102020202020241
+:10C2E000020202020202020202020202020202022E
+:10C2F000020202020202020202020202020202021E
+:10C30000020202020202020202020202020202020D
+:10C3100002020202020202020202020202020202FD
+:10C3200002020202020202020202020202020202ED
+:10C3300002020202020202020202020202020202DD
+:10C3400002020202020202020202020202020202CD
+:10C3500002020202020202020202020202020202BD
+:10C3600002020202020202020202020202020202AD
+:10C37000020202020202020202020202020202029D
+:10C38000020202020202020202020202020202028D
+:10C39000020000000000000000000000000000019A
+:10C3A0000101010101010101000000010101010180
+:10C3B000010101010101010101010101010101026C
+:10C3C0000201020201010102010102020102020254
+:10C3D0000202010102010201010201020202020243
+:10C3E000020202020202020202020202020202022D
+:10C3F000020202020202020202020202020202021D
+:10C40000020202020202020202020202020202020C
+:10C4100002020202020202020202020202020202FC
+:10C4200002020202020202020202020202020202EC
+:10C4300002020202020202020202020202020202DC
+:10C4400002020202020202020202020202020202CC
+:10C4500002020202020202020202020202020202BC
+:10C4600002020202020202020202020202020202AC
+:10C47000020202020202020202020202020202029C
+:10C48000020202020202020202020202020202028C
+:10C490000200000000000000000000000000000199
+:10C4A000010101010101010100000001010101017F
+:10C4B000010101010101010101010101010101026B
+:10C4C0000202010101010101010101010201020257
+:10C4D0000201020201010101020102010102020244
+:10C4E000020202020201010102020202020202022F
+:10C4F000020202020202020202020202020202021C
+:10C50000020202020202020202020202020202020B
+:10C5100002020202020202020202020202020202FB
+:10C5200002020202020202020202020202020202EB
+:10C5300002020202020202020202020202020202DB
+:10C5400002020202020202020202020202020202CB
+:10C5500002020202020202020202020202020202BB
+:10C5600002020202020202020202020202020202AB
+:10C57000020202020202020202020202020202029B
+:10C58000020202020202020202020202020202028B
+:10C590000200000000000000000000000000000198
+:10C5A000010101010101010100000001010101017E
+:10C5B000010101010101010101010101010101026A
+:10C5C0000101010101010101010101010102010259
+:10C5D0000102010101010101010101020201020246
+:10C5E0000202010101020202010201020202020230
+:10C5F000020202020202020202020202020202021B
+:10C60000020202020202020202020202020202020A
+:10C6100002020202020202020202020202020202FA
+:10C6200002020202020202020202020202020202EA
+:10C6300002020202020202020202020202020202DA
+:10C6400002020202020202020202020202020202CA
+:10C6500002020202020202020202020202020202BA
+:10C6600002020202020202020202020202020202AA
+:10C67000020202020202020202020202020202029A
+:10C68000020202020202020202020202020202028A
+:10C690000200000000000000000000000000000197
+:10C6A0000101010000010101000000010001010180
+:10C6B000010101010101010101010101010101016A
+:10C6C0000201010101010101010101010101020257
+:10C6D0000201010101010101010101010102010247
+:10C6E0000201020202000000020102020102020233
+:10C6F000020202020202020202020202020202021A
+:10C700000202020202020202020202020202020209
+:10C7100002020202020202020202020202020202F9
+:10C7200002020202020202020202020202020202E9
+:10C7300002020202020202020202020202020202D9
+:10C7400002020202020202020202020202020202C9
+:10C7500002020202020202020202020202020202B9
+:10C7600002020202020202020202020202020202A9
+:10C770000202020202020202020202020202020299
+:10C780000202020202020202020202020202020289
+:10C790000200000000000000000000000000000196
+:10C7A000010101000001010000000001010101017F
+:10C7B0000101010101010101010101010101010268
+:10C7C0000101010101010101010101010101010159
+:10C7D0000001010101010101010101010101020248
+:10C7E000020200000000000000020001020101023C
+:10C7F0000202020202020202020202020202020219
+:10C800000202020202020202020202020202020208
+:10C8100002020202020202020202020202020202F8
+:10C8200002020202020202020202020202020202E8
+:10C8300002020202020202020202020202020202D8
+:10C8400002020202020202020202020202020202C8
+:10C8500002020202020202020202020202020202B8
+:10C8600002020202020202020202020202020202A8
+:10C870000202020202020202020202020202020298
+:10C880000202020202020202020202020202020288
+:10C890000202000000000000000000000000000193
+:10C8A000010101000000000000000101010101017F
+:10C8B0000101010101010101010101010101010168
+:10C8C0000101010101010101010101010101010257
+:10C8D0000101010101010101010101010101010148
+:10C8E000010000000001010100000002000202023C
+:10C8F0000202020202020202020202020202020218
+:10C900000202020202020202020202020202020207
+:10C9100002020202020202020202020202020202F7
+:10C9200002020202020202020202020202020202E7
+:10C9300002020202020202020202020202020202D7
+:10C9400002020202020202020202020202020202C7
+:10C9500002020202020202020202020202020202B7
+:10C9600002020202020202020202020202020202A7
+:10C970000202020202020202020202020202020297
+:10C980000202020202020202020202020202020287
+:10C990000202000000000000000000000000000192
+:10C9A000010101000000000001010101010101017C
+:10C9B0000101010101010101010101010101010167
+:10C9C0000101010101010101010101010101010157
+:10C9D0000101010101010101010101010101010246
+:10C9E000020001010101010101000100000000023B
+:10C9F000020201010101010201010202020202021E
+:10CA00000202020202020202020202020202020206
+:10CA100002020202020202020202020202020202F6
+:10CA200002020202020202020202020202020202E6
+:10CA300002020202020202020202020202020202D6
+:10CA400002020202020202020202020202020202C6
+:10CA500002020202020202020202020202020202B6
+:10CA600002020202020202020202020202020202A6
+:10CA70000202020202020202020202020202020296
+:10CA80000202020202020202020202020202020286
+:10CA9000020202000000000000000000000000018F
+:10CAA000010101000000000001010101010001017C
+:10CAB0000101010101010101010101010101010166
+:10CAC0000101010101010101010101010101010156
+:10CAD0000101010101010101010101010101010047
+:10CAE0000001010101010101010101000100000239
+:10CAF000010102020202020102020201020202021A
+:10CB00000202020201010102020202020202020208
+:10CB10000201010101010101010101010102020201
+:10CB200002020202020202020202020202020202E5
+:10CB300002020202020202020202020202020202D5
+:10CB400002020202020202020202020202020202C5
+:10CB500002020202020202020202020202020202B5
+:10CB600002020202020202020202020202020202A5
+:10CB70000202020202020202020202020202020295
+:10CB80000202020202020202020202020202020285
+:10CB9000020202000000000000000000000000018E
+:10CBA000010001000000000001010101010101017B
+:10CBB0000101010101010101010101010101010165
+:10CBC0000101010101010101010101010101010155
+:10CBD0000101010101010101010101010101010046
+:10CBE0000001010101010101010101010101010235
+:10CBF0000202000000000002000001020101010227
+:10CC0000020101010202020101010101020202020C
+:10CC10000101010101010101010101010101010203
+:10CC200002020202020202020202020202020202E4
+:10CC300002020202020202020202020202020202D4
+:10CC400002020202020202020202020202020202C4
+:10CC500002020202020202020202020202020202B4
+:10CC600002020202020202020202020202020202A4
+:10CC70000202020202020202020202020202020294
+:10CC80000202020202020202020202020202020284
+:10CC9000020202020000000000000000000000018B
+:10CCA0000101010000000000010101010101010179
+:10CCB0000101010101010101010101010101010164
+:10CCC0000101010101010101010101010101010154
+:10CCD0000101010101010101010101010101010144
+:10CCE0000101010101010101010101010101010134
+:10CCF0000000010101010100010102000202020223
+:10CD0000010202020000000202020202010101010E
+:10CD100001020202020202020202020202010102F6
+:10CD200002020202020202020202020202020202E3
+:10CD300002020202020202020202020202020202D3
+:10CD400002020202020202020202020202020202C3
+:10CD500002020202020202020202020202020202B3
+:10CD600002020202020202020202020202020202A3
+:10CD70000202020202020202020202020202020293
+:10CD80000202020202020202020202020202020283
+:10CD9000020202020000000000000000000000018A
+:10CDA0000101010001000000010101010101010177
+:10CDB0000101010101010101010101010101010163
+:10CDC0000101010101010101010101010101010153
+:10CDD0000101010101010101010101010101010143
+:10CDE0000101010101010101010101010101010232
+:10CDF0000001010101010101010100010000000128
+:10CE00000200000000000000000000000202020119
+:10CE100002020202020202020202020202020202F2
+:10CE200002020202020202020202020202020202E2
+:10CE300002020202020202020202020202020202D2
+:10CE400002020202020202020202020202020202C2
+:10CE500002020202020202020202020202020202B2
+:10CE600002020202020202020202020202020202A2
+:10CE70000202020202020202020202020202020292
+:10CE80000202020202020202020202020202020282
+:10CE90000202020202000000000000000000020185
+:10CEA0000001010101000001010101010101010175
+:10CEB0000101010101010101010101010101010162
+:10CEC0000101010101010101010101010101010152
+:10CED0000101010101010101010101010101010142
+:10CEE0000101010101010101010101010101010033
+:10CEF0000101010101010101010101010101010221
+:10CF0000000000000101010000000000000000021C
+:10CF10000200000000000000000000000002020209
+:10CF200002010101010101010101010202020202EB
+:10CF300002020202020202020202020202020202D1
+:10CF400002020202020202020202020202020202C1
+:10CF500002020202020202020202020202020202B1
+:10CF600002020202020202020202020202020202A1
+:10CF70000202020202020202020202020202020291
+:10CF80000202020202020202020202020202020281
+:10CF90000202020202020000000000000000020182
+:10CFA0000101010101010101010101010101010171
+:10CFB0000101010101010101010101010101010161
+:10CFC0000101010101010101010101010101010151
+:10CFD0000101010101010101010101010101010141
+:10CFE0000101010101010101010101010101010131
+:10CFF0000101010101010101010101010101010022
+:10D000000001010101010101010101010000000213
+:10D01000000000000000000000000000000000020E
+:10D0200001010101010101010101010101010102EF
+:10D0300002020202020202020202020202020202D0
+:10D0400002020202020202020202020202020202C0
+:10D0500002020202020202020202020202020202B0
+:10D0600002020202020202020202020202020202A0
+:10D070000202020202020202020202020202020290
+:10D080000202020202020202020202020202020280
+:10D09000020202020202020202000000000002007C
+:10D0A0000101010101010101010101010101010170
+:10D0B0000101010101010101010101010101010160
+:10D0C0000101010101010101010101010101010150
+:10D0D0000101010101010101010101010101010140
+:10D0E0000101010101010101010101010101010130
+:10D0F0000101010101010101010101010101010021
+:10D100000101010101010101010101010101010010
+:10D11000000000000000000000000000000000010E
+:10D1200001020202020202020202020101010102E4
+:10D1300002020202020202020202020202020202CF
+:10D1400002020202020202020202020202020202BF
+:10D1500002020202020202020202020202020202AF
+:10D16000020202020202020202020202020202029F
+:10D17000020202020202020202020202020202028F
+:10D18000020202020202020202020202020202027F
+:10D190000202020202020202020202000002020174
+:10D1A000010101010101010101010101010101016F
+:10D1B000010101010101010101010101010101015F
+:10D1C000010101010101010101010101010101014F
+:10D1D000010101010101010101010101010101013F
+:10D1E000010101010101010101010101010101012F
+:10D1F000010101010101010101010101010101011F
+:10D20000010101010101010101010101010101000F
+:10D210000001010101010101010101010100000101
+:10D2200002020202020202020202020202020202DE
+:10D2300002020102020101010101020202020202D4
+:10D2400002020202020202020202020202020202BE
+:10D2500002020202020202020202020202020202AE
+:10D26000020202020202020202020202020202029E
+:10D27000020202020202020202020202020202028E
+:10D28000020202020202020202020202020202027E
+:10D290000202020202020202020202020002020171
+:10D2A000010101010101010101010101010101016E
+:10D2B000010101010101010101010101010101015E
+:10D2C000010101010101010101010101010101014E
+:10D2D000010101010101010101010101010101013E
+:10D2E000010101010101010101010101010101012E
+:10D2F000010101010101010101010101010101011E
+:10D30000010101010101010101010101010101000E
+:10D3100001010101010101010101010101010102FC
+:10D3200002010101010101010001010202020202E8
+:10D3300001010201010202020202010101010102D6
+:10D3400002020202020202020202020202020202BD
+:10D3500002020202020202020202020202020202AD
+:10D36000020202020202020202020202020202029D
+:10D37000020202020202020202020202020202028D
+:10D38000020202020202020202020202020202027D
+:10D39000020202020202020202020202020202016E
+:10D3A000010101010101010101010101010101016D
+:10D3B000010101010101010101010101010101015D
+:10D3C000010101010101010101010101010101014D
+:10D3D000010101010101010101010101010101013D
+:10D3E000010101010101010101010101010101012D
+:10D3F000010101010101010101010101010101011D
+:10D40000010101010101010101010101010101010C
+:10D4100001010101010101010101010101010102FB
+:10D4200001010101010101010101010101010101EC
+:10D4300002020102020101010101020202020202D2
+:10D4400000020202020202020202020202020202BE
+:10D4500002020202020202020202020202020202AC
+:10D46000020202020202020202020202020202029C
+:10D47000020202020202020202020202020202028C
+:10D48000020202020202020202020202020202027C
+:10D49000020202020202020202020202020202016D
+:10D4A000010101010101010101010101010101016C
+:10D4B000010101010101010101010101010101015C
+:10D4C000010101010101010101010101010101014C
+:10D4D000010101010101010101010101010101013C
+:10D4E000010101010101010101010101010101012C
+:10D4F000010101010101010101010101010101011C
+:10D50000010101010101010101010101010101010B
+:10D5100001010101010101010101010101010101FB
+:10D5200001010101010101010101010101010102EA
+:10D5300001010101010101010101010101010102DA
+:10D5400000010101010101020202020202020202C3
+:10D5500002020202020202020202020202020202AB
+:10D56000020202020202020202020202020202029B
+:10D57000020202020202020202020202020202028B
+:10D58000020202020202020202020202020202027B
+:10D59000020202020202020202020202020202016C
+:10D5A000010101010101010101010101010101016B
+:10D5B000010101010101010101010101010101015B
+:10D5C000010101010101010101010101010101014B
+:10D5D000010101010101010101010101010101013B
+:10D5E000010101010101010101010101010101012B
+:10D5F000010101010101010101010101010101011B
+:10D60000010101010101010101010101010101010A
+:10D6100001010101010101010101010101010101FA
+:10D6200001010101010101010101010101010101EA
+:10D6300001010101010101010101010101010101DA
+:10D6400001010101010101010101010101010102C9
+:10D6500001020202010202020202020202020201AD
+:10D6600001010101010101010101010101010102A9
+:10D67000020202020202020202020202020202028A
+:10D68000020202020202020202020202020202027A
+:10D69000020202020202020202020202020202016B
+:10D6A000010101010101010101010101010101016A
+:10D6B000010101010101010101010101010101015A
+:10D6C000010101010101010101010101010101014A
+:10D6D000010101010101010101010101010101013A
+:10D6E000010101010101010101010101010101012A
+:10D6F000010101010101010101010101010101011A
+:10D700000101010101010101010101010101010109
+:10D7100001010101010101010101010101010101F9
+:10D7200001010101010101010101010101010101E9
+:10D7300001010101010101010101010101010101D9
+:10D7400001010101010101010101010101010101C9
+:10D7500002010101010101010101010101010102B7
+:10D760000202020202020202020202020202020299
+:10D770000202020202020202020202020202020289
+:10D780000202020202020202020202020202020279
+:10D79000020202020202020202020202020202016A
+:10D7A0000101010101010101010101010101010169
+:10D7B0000101010101010101010101010101010159
+:10D7C0000101010101010101010101010101010149
+:10D7D0000101010101010101010101010101010139
+:10D7E0000101010101010101010101010101010129
+:10D7F0000101010101010101010101010101010119
+:10D800000101010101010101010101010101010108
+:10D8100001010101010101010101010101010101F8
+:10D8200001010101010101010101010101010101E8
+:10D8300001010101010101010101010101010101D8
+:10D8400001010101010101010101010101010101C8
+:10D8500001010101010101010101010101010100B9
+:10D8600000000000000000000000000000000001B7
+:10D870000101010101010101010101010101010297
+:10D880000202020202020202020202020202020278
+:10D890000202020202020202020202020202020169
+:10D8A0000101010101010101010101010101010168
+:10D8B0000101010101010101010101010101010158
+:10D8C0000101010101010101010101010101010148
+:10D8D0000101010101010101010101010101010138
+:10D8E0000101010101010101010101010101010128
+:10D8F0000101010101010101010101010101010118
+:10D900000101010101010101010101010101010107
+:10D9100001010101010101010101010101010101F7
+:10D9200001010101010101010101010101010101E7
+:10D9300001010101010101010101010101010101D7
+:10D9400001010101010101010101010101010101C7
+:10D9500001010101010101010101010101010101B7
+:10D9600001010101010101010101010101010102A6
+:10D970000202020202020202020202020202020287
+:10D980000101010101010101010101010101010286
+:10D990000202020202020202020202020202020168
+:10D9A0000101010101010101010101010101010167
+:10D9B0000101010101010101010101010101010157
+:10D9C0000101010101010101010101010101010147
+:10D9D0000101010101010101010101010101010137
+:10D9E0000101010101010101010101010101010127
+:10D9F0000101010101010101010101010101010117
+:10DA00000101010101010101010101010101010106
+:10DA100001010101010101010101010101010101F6
+:10DA200001010101010101010101010101010101E6
+:10DA300001010101010101010101010101010101D6
+:10DA400001010101010101010101010101010101C6
+:10DA500001010101010101010101010101010101B6
+:10DA600001010101010101010101010101010101A6
+:10DA70000101010101010101010101010101010196
+:10DA80000202020202020202020202020202020276
+:10DA90000202020202020202020202020202020167
+:10DAA0000101010101010101010101010101010166
+:10DAB0000101010101010101010101010101010156
+:10DAC0000101010101010101010101010101010146
+:10DAD0000101010101010101010101010101010136
+:10DAE0000101010101010101010101010101010126
+:10DAF0000101010101010101010101010101010116
+:10DB00000101010101010101010101010101010105
+:10DB100001010101010101010101010101010101F5
+:10DB200001010101010101010101010101010101E5
+:10DB300001010101010101010101010101010101D5
+:10DB400001010101010101010101010101010101C5
+:10DB500001010101010101010101010101010101B5
+:10DB600001010101010101010101010101010101A5
+:10DB70000101010101010101010101010101010294
+:10DB80000101010101010101010101010101010284
+:10DB90000202020202020202020202020202020166
+:10DBA0000101010101010101010101010101010165
+:10DBB0000101010101010101010101010101010155
+:10DBC0000101010101010101010101010101010145
+:10DBD0000101010101010101010101010101010135
+:10DBE0000101010101010101010101010101010125
+:10DBF0000101010101010101010101010101010115
+:10DC00000101010101010101010101010101010104
+:10DC100001010101010101010101010101010101F4
+:10DC200001010101010101010101010101010101E4
+:10DC300001010101010101010101010101010101D4
+:10DC400001010101010101010101010101010101C4
+:10DC500001010101010101010101010101010101B4
+:10DC600001010101010101010101010101010101A4
+:10DC70000101010101010101010101010101010194
+:10DC80000101010101010101010101010101010283
+:10DC90000202020202020202020202020202020165
+:10DCA0000101010101010101010101010101010164
+:10DCB0000101010101010101010101010101010154
+:10DCC0000101010101010101010101010101010144
+:10DCD0000101010101010101010101010101010134
+:10DCE0000101010101010101010101010101010124
+:10DCF0000101010101010101010101010101010114
+:10DD00000101010101010101010101010101010103
+:10DD100001010101010101010101010101010101F3
+:10DD200001010101010101010101010101010101E3
+:10DD300001010101010101010101010101010101D3
+:10DD400001010101010101010101010101010101C3
+:10DD500001010101010101010101010101010101B3
+:10DD600001010101010101010101010101010101A3
+:10DD70000101010101010101010101010101010193
+:10DD80000101010101010101010101010101010282
+:10DD90000202020202020202020202020202020164
+:10DDA0000101010101010101010101010101010163
+:10DDB0000101010101010101010101010101010153
+:10DDC0000101010101010101010101010101010143
+:10DDD0000101010101010101010101010101010133
+:10DDE0000101010101010101010101010101010123
+:10DDF0000101010101010101010101010101010113
+:10DE00000101010101010101010101010101010102
+:10DE100001010101010101010101010101010101F2
+:10DE200001010101010101010101010101010101E2
+:10DE300001010101010101010101010101010101D2
+:10DE400001010101010101010101010101010101C2
+:10DE500001010101010101010101010101010101B2
+:10DE600001010101010101010101010101010101A2
+:10DE70000101010101010101010101010101010192
+:10DE80000101010101010101010101010101010281
+:10DE90000202020202020202020202020202020163
+:10DEA0000101010101010101010101010101010162
+:10DEB0000101010101010101010101010101010152
+:10DEC0000101010101010101010101010101010142
+:10DED0000101010101010101010101010101010132
+:10DEE0000101010101010101010101010101010122
+:10DEF0000101010101010101010101010101010112
+:10DF00000101010101010101010101010101010101
+:10DF100001010101010101010101010101010101F1
+:10DF200001010101010101010101010101010101E1
+:10DF300001010101010101010101010101010101D1
+:10DF400001010101010101010101010101010101C1
+:10DF500001010101010101010101010101010101B1
+:10DF600001010101010101010101010101010101A1
+:10DF70000101010101010101010101010101010191
+:10DF80000101010101010101010101010101010280
+:10DF90000202020202020202020202020202020162
+:10DFA0000101010101010101010101010101010260
+:10DFB0000202020202020202020202020202020241
+:10DFC0000202020202020202020202020202020231
+:10DFD0000202020202020202020202020202020221
+:10DFE0000202020202020202020202020202020211
+:10DFF0000202020202020202020202020202020201
+:10E0000002020202020202020202020202020202F0
+:10E0100002020202020202020202020202020202E0
+:10E0200002020202020202020202020202020202D0
+:10E0300002020202020202020202020202020202C0
+:10E0400002020202020202020202020202020202B0
+:10E0500002020202020202020202020202020202A0
+:10E060000202020202020202020202020202020290
+:10E070000202020202020202020202020202020280
+:10E080000202020202020202020202020202020072
+:10E09000000000000000000000000000000000017F
+:10E0A000010101010101010101010101010101025F
+:10E0B0000202020202020202020202020202020240
+:10E0C0000202020202020202020202020202020230
+:10E0D0000202020202020202020202020202020220
+:10E0E0000202020202020202020202020202020210
+:10E0F0000202020202020202020202020202020200
+:10E1000002020202020202020202020202020202EF
+:10E1100002020202020202020202020202020202DF
+:10E1200002020202020202020202020202020202CF
+:10E1300002020202020202020202020202020202BF
+:10E1400002020202020202020202020202020202AF
+:10E15000020202020202020202020202020202029F
+:10E16000020202020202020202020202020202028F
+:10E17000020202020202020202020202020202027F
+:10E180000202020202020202020202020202020071
+:10E19000000000000000000000000000000000017E
+:10E1A0000101010101010101010101010101010060
+:10E1B000000000000000000000000000000000005F
+:10E1C000000000000000000000000000000000024D
+:10E1D000020202020202020202020202020202021F
+:10E1E000020202020202020202020202020202020F
+:10E1F00002020202020202020202020202020202FF
+:10E2000002020202020202020202020202020202EE
+:10E2100002020202020202020202020202020202DE
+:10E2200002020202020202020202020202020202CE
+:10E2300002020202020202020202020202020202BE
+:10E2400002020202020202020202020202020202AE
+:10E25000020202020202020202020202020202029E
+:10E26000020202020202020202020202020202028E
+:10E27000020202020202020202020202020202027E
+:10E280000202020202020202020202020202020070
+:10E29000000000000000000000000000000000007E
+:10E2A000000000000000000000000000000000006E
+:10E2B000000000000000000000000000000000005E
+:10E2C000000000000000000000000000000000004E
+:10E2D000000000000000000000000000000000003E
+:10E2E000000000000000000000000000000000002E
+:10E2F000000000000000000000000000000000001E
+:10E30000000000000000000000000000000000000D
+:10E3100000000000000000000000000000000000FD
+:10E3200000000000000000000000000000000000ED
+:10E3300000000000000000000000000000000000DD
+:10E3400000000000000000000000000000000000CD
+:10E3500000000000000000000000000000000000BD
+:10E3600000000000000000000000000000000000AD
+:10E37000000000000000000000000000000000009D
+:10E38000000000000000000000000000000000008D
+:10E390000000000000000000000000000000003E3F
+:10E3A000000000000000000000000000000000006D
+:10E3B000000000000000000000000000000000015C
+:10E3C000000000000000000000000000000000004D
+:10E3D000000000000000000000000000000000003D
+:10E3E000000000000100000000000000000000002C
+:10E3F000000000000000000000000000000000001D
+:10E40000000000000000010000000000000000000B
+:10E4100000000000000000000000000000000000FC
+:10E4200000000000000001000000000000000000EB
+:10E4300000000002000000000000000000000000DA
+:10E4400000000000000000000000000000000000CC
+:10E4500000000000000000000000000000000000BC
+:10E4600000000000000000000000000000000000AC
+:10E47000000200000000000000000000000000009A
+:10E48000000000000000000000000000000000008C
+:10E49000020000000000000000000000000000007A
+:10E4A0000000000000000001020202000000000065
+:10E4B0000000000000020000000000000000000159
+:10E4C0000100010001010100000000000000000146
+:10E4D000000000010000000000000000000000003B
+:10E4E000000000000100000000000000000000002B
+:10E4F000000000000000000000000000000000001C
+:10E500000000000200000100000000000000000008
+:10E5100000000000000000000000000000000000FB
+:10E5200000000000000001000000000000000000EA
+:10E5300000000002000201000000000000000000D6
+:10E5400000000000000000000000000000000000CB
+:10E5500000000000020201000000000000000000B6
+:10E5600000000002000000000000000000000000A9
+:10E570000002000000020000000000000000000097
+:10E580000000000000000000000000000000000289
+:10E590000202000000000000000000000000000077
+:10E5A0000000000000000002020202000000000063
+:10E5B0000000000000020000000000000000000158
+:10E5C0000101010101010101010000000100000140
+:10E5D0000000010100010100000000000000000037
+:10E5E0000000010001010100000000000000000027
+:10E5F0000000000001020100000000000000000017
+:10E600000000020202010100000000000000000002
+:10E6100000000200010101000000000000000000F5
+:10E6200000000000000001000000000000000000E9
+:10E6300000000001000201000000000000000000D6
+:10E6400000000000020201000000000000000000C5
+:10E6500000000000020201000000000000000000B5
+:10E6600000000002020201000000000000000000A3
+:10E670000002000000020000000000000000000096
+:10E680000000000002000100000000000000000285
+:10E69000020202000202010000000000000000006F
+:10E6A0000000000000000002020202020000000060
+:10E6B0000000020002020000000000000100000152
+:10E6C000010101010101010101000000010000013F
+:10E6D0000001010100010100000000000000000035
+:10E6E0000000010001010100000000000001010024
+:10E6F0000000000001020100000000000000000016
+:10E700000000020202010100000000000000000001
+:10E7100000000200010101000000000000010000F3
+:10E7200000000000000001000000000000000000E8
+:10E7300000000001000101000000000000000000D6
+:10E7400000000000020201000000000000000000C4
+:10E7500000000000010101000000000000000002B4
+:10E7600000000001020201000000000000000000A3
+:10E770000001000000020100000000000000000293
+:10E780000000000002000100000000000000000284
+:10E79000010202000202010000000000000000006F
+:10E7A000000000000000000202020202000000005F
+:10E7B0000000020002020000000000000100010150
+:10E7C000010101010101010101010000010000013D
+:10E7D0000001010101010100000100000000000032
+:10E7E0000000010001010100000000000001010023
+:10E7F0000000000001010100000000000000000016
+:10E800000000020102010100000000000000000001
+:10E8100000000200010101000000000000010000F2
+:10E8200000000000000001000000000000000000E7
+:10E8300000000001000101000000000000000000D5
+:10E8400000000000010101000000000000000000C5
+:10E8500000000000010101000000000000000002B3
+:10E8600000000001010101000000000000000000A4
+:10E870000001000000010100000000000000000293
+:10E880000000000001000100000000000000000185
+:10E890000101010001020100000000000000000071
+:10E8A000000000000000000202020202000000005E
+:10E8B0000200020202020000010100000100010149
+:10E8C000010101010101010101010000010000013C
+:10E8D000000101010101010000010100000000012F
+:10E8E0000000010001010100000000010001010021
+:10E8F0000001000001010100000000000000000014
+:10E900000000010101010100000000000000000002
+:10E9100000000100010101000000000000010000F2
+:10E9200000000000000001000000000000000000E6
+:10E9300000000001000101000000000000000000D4
+:10E9400000000000010101000000000000000000C4
+:10E9500000000000010101000000000000000002B2
+:10E9600000000001010101000000000000000000A3
+:10E970000001000000010100000000000000000292
+:10E980000000000001000100000000000000020182
+:10E990000101010001010100020202020000000069
+:10E9A000000000000000000202020202000000005D
+:10E9B0000200020202020000010101010101010244
+:10E9C000010101010101010101010000010000013B
+:10E9D000000101010101010000010100000000012E
+:10E9E000000001000101010000000001010101001F
+:10E9F0000101000001010100000000000000000012
+:10EA00000000010101010100000000000000000001
+:10EA100000000100010101010000000000010000F0
+:10EA200000000000000001000000000000000000E5
+:10EA300000000001000101000000000000000000D3
+:10EA400000000000010101000000000000000000C3
+:10EA500000000000010101000000000000000001B2
+:10EA600000000001010101000000000000000000A2
+:10EA70000001000000010100000000000000000192
+:10EA80000000000001000100010000000000020180
+:10EA90000101010001010100020202020202000064
+:10EAA0000000000000000002020202020002000258
+:10EAB0000200020202020000010101010101010243
+:10EAC000010101010101010101010000010000013A
+:10EAD000000101010101010000010100000000012D
+:10EAE000000001010101010000000001010101021B
+:10EAF0000101000001010100000000000001000010
+:10EB00000000010101010100000000000000000000
+:10EB100000000100010101010000000000010002ED
+:10EB200000000001000001000000000000000000E3
+:10EB300000000001000101000000000000000000D2
+:10EB400000000000010101000000000000000000C2
+:10EB500000000000010101000000000000000001B1
+:10EB600000000001010101000000000000000000A1
+:10EB70000001000000010100000000000000000191
+:10EB8000000000000100010001000000000202017D
+:10EB90000101010001010100010101010101010167
+:10EBA0000101010101010102020202020002000250
+:10EBB0000200020202020000010101010101010242
+:10EBC0000201010101010101020100000100000137
+:10EBD0000101010101010100010101000100000129
+:10EBE0000100010101010101000000010101010119
+:10EBF000010100000101010000000000000100000F
+:10EC000000000101010101000000000000000000FF
+:10EC100000000100010101010000000000010001ED
+:10EC200000000001000001000000000000000002E0
+:10EC300000000001000101000000000000000000D1
+:10EC400000000000010101000000000000000000C1
+:10EC500000000000010101000000000000000001B0
+:10EC600000000001010101000000000000000000A0
+:10EC70000001000000010100000000000000000190
+:10EC8000000000000100010001000000000201017D
+:10EC90000101010001010100010101010101010166
+:10ECA000010101010101010202020202020200024D
+:10ECB000020002020202000101010101020101023F
+:10ECC0000201010101010102020100000100000135
+:10ECD0000101010101010100010101000100010127
+:10ECE0000101010101010101000000010101010117
+:10ECF000010100000101010000000000000100000E
+:10ED000000000101010101000000000000000000FE
+:10ED100000000100010101010000000000010001EC
+:10ED200000010001000001010000000000000001DE
+:10ED300002000001000101000000000000000000CE
+:10ED400000000000010101000000000000000000C0
+:10ED500000000000010101000000000000000001AF
+:10ED6000000000010101010000000000000000009F
+:10ED7000000100000001010000000000000200018D
+:10ED8000000000000100010001000000000201017C
+:10ED90000101010001010100000000010101010168
+:10EDA000010101010101010202020202020200024C
+:10EDB000020002020202000102020201020201023A
+:10EDC0000202010101010102020200000100000132
+:10EDD0000101010101010100010101000100010126
+:10EDE0000101010101010101010000010101010115
+:10EDF000010100000101010000000001010100000B
+:10EE000000000101010101000000000000000000FD
+:10EE100000000100010101010001000000010001EA
+:10EE200002010101000001010000010000020001D7
+:10EE300002000001000101000000000000020000CB
+:10EE400000000000010101000000000000000000BF
+:10EE500000000000010101000000000000000001AE
+:10EE6000000000010101010000000000000000009E
+:10EE7000000100000001010000000000000200018C
+:10EE8000000000000100010001000000000101017C
+:10EE90000101010001010100000000010101010167
+:10EEA000010101010101010202020202020200024B
+:10EEB0000202020202020001020202010202020236
+:10EEC000020202010101010202020000020101022C
+:10EED0000101010101010100010202000100010123
+:10EEE0000101010101010101010000010101010114
+:10EEF0000101000001010100010000010101020106
+:10EF000000000101010101000000000000000000FC
+:10EF100000000100010101010001010100010201E5
+:10EF200002010101000001010001010101010001D4
+:10EF300002000001000101000000000100020000C9
+:10EF400000000002010101000000000000000000BC
+:10EF500000000000010101000000000000000001AD
+:10EF6000000000010101010000000000000000009D
+:10EF7000000100000001010000000000000200018B
+:10EF8000000000000100010001000001000101017A
+:10EF90000101010001010100000000010101010166
+:10EFA000010101010101010202020202020200024A
+:10EFB0000202020202020001020202020202020234
+:10EFC000020202020101010202020000020101022A
+:10EFD0000101010101010100010202000100010122
+:10EFE0000101010101010101010000010102010112
+:10EFF0000101000001010100010100010101020104
+:10F0000001000101010101000000000000000000FA
+:10F0100000000100010101010001010100010201E4
+:10F0200002010101020201010001010101010001CF
+:10F0300001020001000101000000000100020000C7
+:10F0400000000202010101000000000000000000B9
+:10F0500000000000010101000000000000000001AC
+:10F06000000000010101010000000000000000009C
+:10F07000000100000001010000000000000100018B
+:10F080000000000001000100010100010001010178
+:10F09000010101000101010000000000000000006A
+:10F0A000000000000001010202020202020202024C
+:10F0B0000202010202020001020202020202020234
+:10F0C0000202020201010102020201010201010227
+:10F0D000010101010101010002020201010101011E
+:10F0E000010101010101010202000102010202010C
+:10F0F0000101000001010100010100010101020103
+:10F1000001010101010101000000000000020000F6
+:10F1100000000100010101020001010100010201E2
+:10F1200001010101020201010101010101010001CE
+:10F1300001020101020101000001010100010201BF
+:10F1400000020202010101000000000000000000B6
+:10F1500000000000010101000000000000000001AB
+:10F16000000000010101010000000000000000009B
+:10F17000000100000001010000000000000100018A
+:10F180000000000001000100010100010001010177
+:10F190000101010001010100000000000000000069
+:10F1A000000000000001010202020202020202024B
+:10F1B0000202010202020001020202020202020233
+:10F1C0000202020201010102020201010201010226
+:10F1D000010201020101010002020201010101011B
+:10F1E000010101010101010202010102010202010A
+:10F1F0000101000001010100010100010101010103
+:10F2000001010101010101000001010000020000F3
+:10F2100000000100010101020101010101010101E0
+:10F2200001010101010101010101010101010101CE
+:10F2300001020101020101000001010100010101BF
+:10F2400001020201010101000000000000000000B5
+:10F2500000020000010101000000000000000001A8
+:10F26000000000010101010000000000000000009A
+:10F270000001000000010100000000000001000189
+:10F280000000000001000100010100010101010175
+:10F290000101010001010100000000000000000068
+:10F2A0000001010101000102020202020202020247
+:10F2B0000102010102020002020202020202020233
+:10F2C0000202020202010102020201010201010224
+:10F2D0000102020201010100020202010101010218
+:10F2E0000101020102010102020101020202020106
+:10F2F0000101000001010101020100010101010100
+:10F3000001010101010101000001010100010001F1
+:10F3100000000100010101020101010101010101DF
+:10F3200001010101010101020101010101010101CC
+:10F3300001010101010101000001010100010101C0
+:10F3400001020101010101000000000000000000B5
+:10F3500002020200010101000000000000000001A3
+:10F360000000000101010100000000000000000099
+:10F370000001000002010100000000000001000186
+:10F380000000000001000100010101010101010173
+:10F390000101010001010100000000000000000166
+:10F3A0000101010101000102020202020202020245
+:10F3B0000102010101010002020202020202020234
+:10F3C0000202020202020102020201010201010222
+:10F3D0000102020201010101020202010201010215
+:10F3E0000101020102010102020101020202020105
+:10F3F00001010200010101010201000101010101FD
+:10F4000001010101010101000001010101010001EF
+:10F4100002000100010101020101010101010101DC
+:10F4200001010101010101020101010101010101CB
+:10F4300001010101010101000001010100010101BF
+:10F4400001010101010101010001000000010002B0
+:10F4500002020200010101000000000000000001A2
+:10F460000200020101010100000000000000000094
+:10F470000001000202010100000000000001000183
+:10F480000000000001000100010101010101010172
+:10F490000101010001010100000000000000000165
+:10F4A0000101010101000102020202020202020145
+:10F4B0000102020101010002020202020202020232
+:10F4C000020202020202010202020201020201021F
+:10F4D0000102020201020101020202010201020212
+:10F4E0000101020102020102020202020202020101
+:10F4F00002020200020101010202000101020101F7
+:10F5000001010101010101000001010101010001EE
+:10F5100002000100010101020102010101020101D9
+:10F5200001010101010101020201020101010101C8
+:10F5300001010101010101000001010100010101BE
+:10F5400001010101010101010001000001010002AE
+:10F5500002010200010101000000000000000001A2
+:10F560000202020101010100000000000000000091
+:10F570000001020202010100000000000001000180
+:10F58000000200020100010001010101010101016D
+:10F590000101010201010100000000000000000063
+:10F5A0000000000100000102020202020202020148
+:10F5B0000101020201010002020202020202020231
+:10F5C000020202020202010202020201020202021D
+:10F5D0000202020201020101020202010201020210
+:10F5E0000101020102020102020202020202020100
+:10F5F00002020100020101020202010201020101F4
+:10F6000001010101010101010101010101010001EB
+:10F6100001000100010101020202020101020101D7
+:10F6200001010101010101020202020101010101C6
+:10F6300001010101010101000101010100010101BC
+:10F6400001010101010101010001000001010202AB
+:10F6500001010102010101000000000100000001A0
+:10F660000202020101010100000000000000000090
+:10F670000001020201010100000000000001000180
+:10F680000202020201020101020101010101010164
+:10F690000101010201010100000000000000000062
+:10F6A000000000000000010202020201020102014A
+:10F6B000020102020101000202020202020202022F
+:10F6C000020202020202010202020202020202021B
+:10F6D000020202020202010202020202020202020B
+:10F6E00002020202020201020202020202020202FB
+:10F6F00002020100020102020202010202020101F1
+:10F7000001010101010201010101010101010101E8
+:10F7100001000100010101020202020101020101D6
+:10F7200001010101010101020202020101010101C5
+:10F7300001010101010101000101010100010101BB
+:10F7400001010101010101010001010001010201AA
+:10F75000010101020101010100000001000000019E
+:10F760000102010101010100000000000000000091
+:10F77000020102010101010000000000000100017E
+:10F780000202020201020101020101010101010163
+:10F790000101010201010100000000000000000061
+:10F7A000000000000000010202020201010102014A
+:10F7B000020102020101000202020202020202022E
+:10F7C000020202020202010202020202020202021A
+:10F7D000020202020202010202020202020202020A
+:10F7E00002020202020202020202020202020202F9
+:10F7F00002020100020202020202010202020101EF
+:10F8000001010101010202010102020101010101E4
+:10F8100001000100010101020202020201020101D4
+:10F8200001010101010101020202020201010101C3
+:10F8300001010101010101000102020100010101B8
+:10F8400001010101010101020001010001010201A8
+:10F85000010101010101010100000001000000019E
+:10F86000010101010101010000000000000000028F
+:10F87000020101010101010100000000000100017D
+:10F880000201020101020101020101010101010164
+:10F890000101010101010100000000000000000061
+:10F8A000000000000000000202020101010101024B
+:10F8B000020101010101000202020202020202022F
+:10F8C0000202020202020202020202020202020218
+:10F8D0000202020202020202020202020202020208
+:10F8E00002020202020202020202020202020202F8
+:10F8F00002020101020202020202020202020101EC
+:10F9000001010101010202020202020101010101E1
+:10F9100001020102010101020202020201020101CF
+:10F9200001010101010101020202020202010101C1
+:10F9300001010101010101000202020200010101B5
+:10F9400001010101010101020101010001010101A7
+:10F950000101010101010101000001010002020198
+:10F96000010101010101010100000000000000028D
+:10F97000020101010101010100000000000100017C
+:10F980000101010101010101020101010101010166
+:10F990000101010101010100000000000000000060
+:10F9A000000000000000000202020101010101024A
+:10F9B000020201010101000202020202020202022D
+:10F9C0000202020202020202020202020202020217
+:10F9D0000202020202020202020202020202020207
+:10F9E00002020202020202020202020202020202F7
+:10F9F00002020101020202020202020202020102EA
+:10FA000001010202010202020202020101010101DE
+:10FA100001010102020201020202020201020101CD
+:10FA200001010101010102020202020202020101BE
+:10FA300001010102010102000202020200010101B2
+:10FA400001010101010101020102010001010101A5
+:10FA50000101010101010102010001010002020195
+:10FA60000101010101010101010000000000020289
+:10FA7000010101010101010100000000000100017C
+:10FA80000101010101010101020101010101010165
+:10FA9000010101010101010000000000000000005F
+:10FAA0000000000000000002020201020102010247
+:10FAB000010201010101000202020202020202022D
+:10FAC0000202020202020202020202020202020216
+:10FAD0000202020202020202020202020202020206
+:10FAE00002020202020202020202020202020202F6
+:10FAF00002020101020202020202020202020102E9
+:10FB000002010202020202020202020201010101DA
+:10FB100001010102020201020202020202020102CA
+:10FB200001010101010102020202020202020102BC
+:10FB300001010102010202000202020200010101B0
+:10FB400001010101010101020202010001010101A3
+:10FB50000101010101010102010001010002020194
+:10FB60000101010101010101010000000000020189
+:10FB70000101010101010101000001000001020178
+:10FB80000101010101010101020201010101010163
+:10FB9000010101010101010000000000000000005E
+:10FBA0000000000000000002020101020202010246
+:10FBB000010201010101000202020202020202022C
+:10FBC0000202020202020202020202020202020215
+:10FBD0000202020202020202020202020202020205
+:10FBE00002020202020202020202020202020202F5
+:10FBF00002020101020202020202020202020102E8
+:10FC000002020202020202020202020201010101D8
+:10FC100001010101020202020202020202020102C9
+:10FC200001020102010102020202020202020202B8
+:10FC300001010102010202020202020201010101AC
+:10FC400001010101010102020202020001010101A0
+:10FC50000101010101010202020001010001010193
+:10FC60000101010101010102010000000002020185
+:10FC70000101010101010102000001000001020176
+:10FC80000101010101010102020201010101010161
+:10FC9000010101010101010000000000000000005D
+:10FCA0000000000000000002020102020202020144
+:10FCB000010201010101000202020202020202012C
+:10FCC0000202020202020202020202020202020214
+:10FCD0000202020202020202020202020202020204
+:10FCE00002020202020202020202020202020202F4
+:10FCF00002020101020202020202020202020202E6
+:10FD000002020202020202020202020202010101D6
+:10FD100001010201020202020202020202020102C7
+:10FD200001020202010102020202020202020202B6
+:10FD300001010102010202020202020201010101AB
+:10FD4000010101010202020202020200020101019C
+:10FD5000010101010202020202000101000101028F
+:10FD60000101010201010202020000000002010182
+:10FD70000101010101010102000001000001020175
+:10FD8000010101010101010202020202010101015E
+:10FD9000010101010101010000000000000000005C
+:10FDA0000000000000000002010102020202020144
+:10FDB000010101010101000202020202020202022B
+:10FDC0000102020202020202020202020202020214
+:10FDD0000202020202020202020202020202020203
+:10FDE00002020202020202020202020202020202F3
+:10FDF00002020101020202020202020202020202E5
+:10FE000002020202020202020202020202020101D4
+:10FE100001010201020202020202020202020102C6
+:10FE200001020202010102020202020202020202B5
+:10FE300001010202010202020202020201020202A6
+:10FE40000101010102020202020202010202010199
+:10FE5000010101010202020202010202000101028B
+:10FE6000010101020202020202000000000201017F
+:10FE70000102010101010102000001000001010174
+:10FE8000010101010101010202020202010101015D
+:10FE9000010101010101010000000000000000005B
+:10FEA0000000000000000002010102010201020145
+:10FEB000010101010101000202020202020202012B
+:10FEC0000201020202020202020202020202020213
+:10FED0000202020202020202020202020202020202
+:10FEE00002020202020202020202020202020202F2
+:10FEF00002020202020202020202020202020202E2
+:10FF000002020202020202020202020202020102D2
+:10FF100001010201020202020202020202020202C4
+:10FF200001020202010102020202020202020202B4
+:10FF300002010202010202020202020201020202A4
+:10FF40000201010102020202020202010202010197
+:10FF5000010101010202020202010202000101028A
+:10FF6000010101020202020202000000000101017F
+:10FF70000102010101010202000001000001010271
+:10FF8000010101010101020202020202010101025A
+:10FF90000201010101010100000000000000000059
+:10FFA0000000000000000002010202010101020144
+:10FFB000010101010101000202020202020102012B
+:10FFC0000102010102020202020202020202020214
+:10FFD0000202020202020202020202020202020201
+:10FFE00002020202020202020202020202020202F1
+:10FFF00002020202020202020202020202020202E1
+:020000020000FC
+:020000040010EA
+:1000000002020202020202020202020202020202D0
+:1000100001010201020202020202020202020202C3
+:1000200002020202010102020202020202020202B2
+:1000300002010202010202020202020201020202A3
+:100040000201010102020202020202010202010196
+:100050000101010102020202020202020001010288
+:10006000010101020202020202000000000101017E
+:10007000010201010102020200000200000201026D
+:100080000101010102010202020202020202020255
+:100090000202020101010200000000000000000055
+:1000A0000000000000000002010201010101010145
+:1000B000010101010101000202020202010201012B
+:1000C0000101020202020202020202020202020212
+:1000D0000202020202020202020202020202020200
+:1000E00002020202020202020202020202020202F0
+:1000F00002020202020202020202020202020202E0
+:1001000002020202020202020202020202020202CF
+:1001100001010201020202020202020202020202C2
+:1001200002020202010102020202020202020202B1
+:1001300002020202010202020202020201020202A1
+:100140000201010102020202020202010202010195
+:100150000101010102020202020202020001010287
+:10016000010101020202020202000000000101017D
+:10017000010201010102020200000200000201026C
+:100180000101010102010202020202020202020254
+:100190000202020102010200000000000000000053
+:1001A0000000000000000002020201010101010143
+:1001B0000101010101010002020202020201020129
+:1001C0000101010102020202020202020202020213
+:1001D00002020202020202020202020202020202FF
+:1001E00002020202020202020202020202020202EF
+:1001F00002020202020202020202020202020202DF
+:1002000002020202020202020202020202020202CE
+:1002100001010201020202020202020202020202C1
+:1002200002020202020202020202020202020202AE
+:10023000020202020202020202020202020202029E
+:100240000201010102020202020202020202010193
+:100250000101010102020202020202020101010285
+:10026000010101020202020202000000000101017C
+:100270000102010101020202020002000002010269
+:100280000101010102010202020202020202020253
+:100290000202020102020200000000000000000051
+:1002A0000000000000000002020201010101010142
+:1002B000010101010101000202020202010101012A
+:1002C0000101010101020202020202020202020114
+:1002D00002020202020202020202020202020202FE
+:1002E00002020202020202020202020202020202EE
+:1002F00002020202020202020202020202020202DE
+:1003000002020202020202020202020202020202CD
+:1003100002010201020202020202020202020202BF
+:1003200002020202020202020202020202020202AD
+:10033000020202020202020202020202020202029D
+:10034000020202020202020202020202020201018F
+:100350000101010102020202020202020101010284
+:100360000101010202020202020100000101010179
+:100370000102010101020202020002010002010267
+:100380000101010102010202020202020202020252
+:100390000202020102020200000000000000000050
+:1003A0000000000000000001020101010101010143
+:1003B000010101010101000202020101010101012B
+:1003C0000101010102010202020202020202020212
+:1003D00002010201020202020202020202020202FF
+:1003E00002020202020202020202020202020202ED
+:1003F00002020202020202020202020202020202DD
+:1004000002020202020202020202020202020202CC
+:1004100002010201020202020202020202020202BE
+:1004200002020202020202020202020202020202AC
+:10043000020202020202020202020202020202029C
+:10044000020202020202020202020202020202028C
+:100450000202010102020202020202020101010281
+:100460000101010202020202020200010101010176
+:100470000102010101020202020102010102010264
+:100480000101010102010202020202020202020251
+:10049000020202010202020000000000000000004F
+:1004A0000000000000000001020101010101010142
+:1004B0000101010101010002020102020101010129
+:1004C0000101010101020202020202020102020113
+:1004D00002020102020202020202020202020201FE
+:1004E00002020102010202020202020202010102F0
+:1004F00002020202020202020202020202020202DC
+:1005000002020202020202020202020202020202CB
+:1005100002020201020202020202020202020202BC
+:1005200002020202020202020202020202020202AB
+:10053000020202020202020202020202020202029B
+:10054000020202020202020202020202020202028B
+:10055000020202010202020202020202010201027E
+:100560000201010202020202020200010101010174
+:100570000102010101020202020202010102010262
+:100580000101010102010202020202020202020250
+:10059000020202010202020000000000000000004E
+:1005A0000000000000000001010101010101010142
+:1005B000010101010001000202020101010101012A
+:1005C0000101010101010202020202020201010114
+:1005D0000101020102010202020202020202010200
+:1005E00002010201020102020202020202010102F0
+:1005F00001010202010202020202020202020202DE
+:1006000002020202020202020202020202020202CA
+:1006100002020201020202020202020202020202BB
+:1006200002020202020202020202020202020202AA
+:10063000020202020202020202020202020202029A
+:10064000020202020202020202020202020202028A
+:10065000020202020202020202020202020202027A
+:10066000020202020202020202020201010101016F
+:100670000102010101020202020202010102010261
+:10068000010101010201020202020202020202024F
+:10069000020202010202020000000000000000004D
+:1006A0000000000000000001010101010101010141
+:1006B000010101010000010201010101010101012B
+:1006C0000101010101010202020102020102020113
+:1006D0000201010101020202020201020101020102
+:1006E00001020102010202020202020101020201F0
+:1006F00001010201010101020202020202020202E0
+:1007000002020202020202020202020202020202C9
+:1007100002020201020202020202020202020202BA
+:1007200002020202020202020202020202020202A9
+:100730000202020202020202020202020202020299
+:100740000202020202020202020202020202020289
+:100750000202020202020202020202020202020279
+:10076000020202020202020202020202010101016D
+:10077000010201010102020202020202010201025F
+:10078000010101010201020202020202020202024E
+:10079000020202010202020202020202020202023A
+:1007A0000202020202020201010101010101010132
+:1007B0000101010100000102020101010101010129
+:1007C0000101010101010102010202020101010115
+:1007D0000101010102010202020202020202010100
+:1007E00002010101010101020202020101020201F2
+:1007F00002020101020101020202020202020202DD
+:1008000002020202020202020202020202020202C8
+:1008100002020201020202020202020202020202B9
+:1008200002020202020202020202020202020202A8
+:100830000202020202020202020202020202020298
+:100840000202020202020202020202020202020288
+:100850000202020202020202020202020202020278
+:100860000202020202020202020202020202020268
+:10087000020202020202020202020202010201025A
+:10088000020201010201020202020202020202024B
+:100890000202020102020202020202020202020239
+:1008A0000202020202020201010101010101010131
+:1008B000010100000000010201010101010101012B
+:1008C0000101010101010202020101010101010115
+:1008D0000101010101010102020101010101010106
+:1008E00001010101010102020101020201000002F5
+:1008F00002020102020202020202020202020202D9
+:1009000002020202020202020202020202020202C7
+:1009100002020202020202020202020202020202B7
+:1009200002020202020202020202020202020202A7
+:100930000202020202020202020202020202020297
+:100940000202020202020202020202020202020287
+:100950000202020202020202020202020202020277
+:100960000202020202020202020202020202020267
+:100970000202020202020202020202020202020257
+:100980000202020202010202020202020202020248
+:100990000202020102020202020202020202020238
+:1009A0000202020202020201010101010101010130
+:1009B000000100000000010201010101010101012B
+:1009C0000101010101010101010102020101010115
+:1009D0000101010101010202010101020101010104
+:1009E00001010101010101020101010202000002F5
+:1009F00000000202000202020202020202010202DE
+:100A000002020202020102020202020202020202C7
+:100A100002020202020202020202020202020202B6
+:100A200002020202020202020202020202020202A6
+:100A30000202020202020202020202020202020296
+:100A40000202020202020202020202020202020286
+:100A50000202020202020202020202020202020276
+:100A60000202020202020202020202020202020266
+:100A70000202020202020202020202020202020256
+:100A80000202020202020202020202020202020246
+:100A90000202020202020202020202020202020236
+:100AA0000202020202020201010101010101010030
+:100AB000000100000000010201010101010101012A
+:100AC0000101010101010102010101010101010115
+:100AD0000101010101010102020101010101010104
+:100AE00001010101010101020202010002010100F4
+:100AF00000000200000000020202020201010201E5
+:100B000001010101010101020202020202020202CC
+:100B100002020202020202020202020202020202B5
+:100B200002020202020202020202020202020202A5
+:100B30000202020202020202020202020202020295
+:100B40000202020202020202020202020202020285
+:100B50000202020202020202020202020202020275
+:100B60000202020202020202020202020202020265
+:100B70000202020202020202020202020202020255
+:100B80000202020202020202020202020202020245
+:100B90000202020202020202020202020202020235
+:100BA0000202020202020201010101000000010032
+:100BB000000000000000010101010101010101012B
+:100BC0000101010101010101010101010101010115
+:100BD0000101010101010102010101010101010104
+:100BE00001010101010101020202020002010100F2
+:100BF00001010000010000020201020101020101E5
+:100C000001010101010201020202020202020202CA
+:100C100002020202020202020202020202020202B4
+:100C200002020202020202020202020202020202A4
+:100C30000202020202020202020202020202020294
+:100C40000202020202020202020202020202020284
+:100C50000202020202020202020202020202020274
+:100C60000202020202020202020202020202020264
+:100C70000202020202020202020202020202020254
+:100C80000202020202020202020202020202020244
+:100C90000202020202020202020202020202020234
+:100CA0000202020202020201010101000000000032
+:100CB0000000000000010101010101010101010129
+:100CC0000101010101010101010101010101010114
+:100CD0000101010101010101010101010101010104
+:100CE00001010101010101000000020101010101F6
+:100CF00001010001010101020101010102020102E1
+:100D000002020202020202020202020202020202C3
+:100D100002020202020202020202020202020202B3
+:100D200002020202020202020202020202020202A3
+:100D30000202020202020202020202020202020293
+:100D40000202020202020202020202020202020283
+:100D50000202020202020202020202020202020273
+:100D60000202020202020202020202020202020263
+:100D70000202020202020202020202020202020253
+:100D80000202020202020202020202020202020243
+:100D90000202020202020202020202020202020233
+:100DA0000202020202020201010100000000000032
+:100DB0000000000001010101010101010101010127
+:100DC0000101010101010101010101010101010113
+:100DD0000101010101010102010101010101010102
+:100DE00001010101010101000000010101010101F6
+:100DF00001010101010101020102010202000202DE
+:100E000002020202020002020202020202020202C4
+:100E100002020202020202020202020202010202B3
+:100E200002020202020202020202020202020202A2
+:100E30000202020202020202020202020202020292
+:100E40000202020202020202020202020202020282
+:100E50000202020202020202020202020202020272
+:100E60000202020202020202020202020202020262
+:100E70000202020202020202020202020202020252
+:100E80000202020202020202020202020202020242
+:100E90000202020202020202020202020202020232
+:100EA0000202020202020201010100000000000031
+:100EB0000000000001010101010101010101010126
+:100EC0000101010101010101010101010101010112
+:100ED0000101010101010101010101010101010102
+:100EE00001010101010101010101010101010101F2
+:100EF00001010101010101020202020200010200DE
+:100F000000000000000100020202020202020202CE
+:100F100002020202020202020201010101010201B7
+:100F200002010101020201020202010201010101AA
+:100F30000202010102010102020202020202020295
+:100F40000202020202020202020202020202020281
+:100F50000202020202020202020202020202020271
+:100F60000202020202020202020202020202020261
+:100F70000202020202020202020202020202020251
+:100F80000202020202020202020202020202020241
+:100F90000202020202020202020202020202020231
+:100FA0000202020202020201010100000000000030
+:100FB0000000000101010101010101010101010124
+:100FC0000101010101010101010101010101010111
+:100FD0000101010101010101010101010101010101
+:100FE00001010101010101010101010101010101F1
+:100FF00001010101010101000200020101010001E2
+:1010000001010101010101020202000202020202C9
+:1010100002020202010102010101010101020101BA
+:1010200001010101010101020102020102020202A9
+:101030000101020201020202020202020202020293
+:101040000202020202020202020202020102020281
+:101050000202020202020202020202020202020270
+:101060000202020202020202020202020202020260
+:101070000202020202020202020202020202020250
+:101080000202020202020202020202020202020240
+:101090000202020202020202020202020202020230
+:1010A0000202020202000201010100000000000031
+:1010B0000000010101010101010101010101010122
+:1010C0000101010101010101010101010101010110
+:1010D0000101010101010101010101010101010100
+:1010E00001010101010101010101010101010101F0
+:1010F00001010101010101000101010101010101E1
+:1011000001010101010101020201010101010101CD
+:1011100002020102010101010102020202020102B6
+:1011200001020202010102020201000200000000AD
+:101130000202000002000002020202020202020297
+:101140000202020202020202020202020102020280
+:10115000020202020202020202020202020202026F
+:10116000020202020202020202020202020202025F
+:10117000020202020202020202020202020202024F
+:10118000020202020202020202020202020202023F
+:10119000020202020202020202020202020202022F
+:1011A0000202020200000201010100000000000131
+:1011B0000100010101010101010101010101010120
+:1011C000010101010101010101010101010101010F
+:1011D00001010101010101010101010101010101FF
+:1011E00001010101010101010101010101010101EF
+:1011F00001010101010101010101010101010101DF
+:1012000001010101010101020101010101010101CD
+:1012100001010102010101020202020202010202B5
+:1012200002020202020202000002000000000000AE
+:1012300000000000000000020202010102020101A0
+:101240000102020201010102020202020102020283
+:10125000020202020202020202020202020202026E
+:10126000020202020202020202020202020202025E
+:10127000020202020202020202020202020202024E
+:10128000020202020202020202020202020202023E
+:10129000020202020202020202020202020202022E
+:1012A000020202020000020101010101000100012D
+:1012B000010101010101010101010101010101011E
+:1012C000010101010101010101010101010101010E
+:1012D00001010101010101010101010101010101FE
+:1012E00001010101010101010101010101010101EE
+:1012F00001010101010101010101010101010101DE
+:1013000001010101010101010101010101010101CD
+:1013100001010101010101020201010101010201BA
+:1013200002010101020201000000000000000000B3
+:10133000000000000000000201010202010102029F
+:101340000201010102020202020202020201020281
+:101350000202020201010102020202020202020270
+:10136000020202020202020202020202020202025D
+:10137000020202020202020202020202020202024D
+:10138000020202020202020202020202020202023D
+:10139000020202020202020202020202020202022D
+:1013A000020200000000020101010101010101012E
+:1013B000010101010101010101010101010101011D
+:1013C000010101010101010101010101010101010D
+:1013D00001010101010101010101010101010101FD
+:1013E00001010101010101010101010101010101ED
+:1013F00001010101010101010101010101010101DD
+:1014000001010101010101010101010101010101CC
+:1014100001010101010101010101010101010101BC
+:1014200001010101010101000001010101010101AE
+:10143000000001010001010102020000020200009F
+:10144000000202020000000201010101020201018A
+:101450000101010102020202020202020202020171
+:101460000202020101010102020202020202020260
+:10147000020202020202020202020202020202024C
+:10148000020202020202020202020202020202023C
+:10149000020202020202020202020202020202022C
+:1014A0000000000000000001010101010101010133
+:1014B000010101010101010101010101010101011C
+:1014C000010101010101010101010101010101010C
+:1014D00001010101010101010101010101010101FC
+:1014E00001010101010101010101010101010101EC
+:1014F00001010101010101010101010101010101DC
+:1015000001010101010101010101010101010101CB
+:1015100001010101010101010101010101010101BB
+:1015200001010101010101010101010101010101AB
+:10153000010101010101010200010101000101019C
+:101540000100000001010101020202020200020288
+:101550000202020200000002010102010101010277
+:10156000010101020202020202020202020202025E
+:10157000020202020202020202020202020202024B
+:10158000020202020202020202020202020202023B
+:10159000020202020202020202020202020200002F
+:1015A0000000000000000001010101010101010132
+:1015B000010101010101010101010101010101011B
+:1015C000010101010101010101010101010101010B
+:1015D00001010101010101010101010101010101FB
+:1015E00001010101010101010101010101010101EB
+:1015F00001010101010101010101010101010101DB
+:1016000001010101010101010101010101010101CA
+:1016100001010101010101010101010101010101BA
+:1016200001010101010101010101010101010101AA
+:10163000010101010101010001010101010101019B
+:10164000010101010101010200010100000100008E
+:10165000000000000101010102020002020202007A
+:101660000202020000000002020202020202020262
+:10167000020202020202020202020202020202024A
+:10168000020202020202020202020202020202023A
+:101690000202020202020202020202020200000030
+:1016A0000000000000000001010101010101010131
+:1016B000010101010101010101010101010101011A
+:1016C000010101010101010101010101010101010A
+:1016D00001010101010101010101010101010101FA
+:1016E00001010101010101010101010101010101EA
+:1016F00001010101010101010101010101010101DA
+:1017000001010101010101010101010101010101C9
+:1017100001010101010101010101010101010101B9
+:1017200001010101010101010101010101010101A9
+:101730000101010101010101010101010101010199
+:101740000101010101010101010101010101010189
+:10175000010101010101010200000101000000017D
+:101760000000000101010102020202020202020263
+:101770000202020202020202020202020202020249
+:101780000202020202020202020202020202020239
+:101790000202020202020202020202020000000031
+:1017A0000000000000000001010101010101010130
+:1017B0000101010101010101010101010101010119
+:1017C0000101010101010101010101010101010109
+:1017D00001010101010101010101010101010101F9
+:1017E00001010101010101010101010101010101E9
+:1017F00001010101010101010101010101010101D9
+:1018000001010101010101010101010101010101C8
+:1018100001010101010101010101010101010101B8
+:1018200001010101010101010101010101010101A8
+:101830000101010101010101010101010101010198
+:101840000101010101010101010101010101010188
+:101850000101010101010101010101010101010178
+:101860000101010101010102000202020202020261
+:10187000020102020201010202020002020202024D
+:101880000202020202020202020202020202020238
+:101890000202020202020202020202020000000030
+:1018A000000000000000000101010101010101012F
+:1018B0000101010101010101010101010101010118
+:1018C0000101010101010101010101010101010108
+:1018D00001010101010101010101010101010101F8
+:1018E00001010101010101010101010101010101E8
+:1018F00001010101010101010101010101010101D8
+:1019000001010101010101010101010101010101C7
+:1019100001010101010101010101010101010101B7
+:1019200001010101010101010101010101010101A7
+:101930000101010101010101010101010101010197
+:101940000101010101010101010101010101010187
+:101950000101010101010101010101010101010177
+:101960000101010101010101010101010101010167
+:101970000101010101010102020200020201020152
+:101980000202020201020102020202020202020239
+:101990000202020202020202020202000000000031
+:1019A000000000000000000101010101010101012E
+:1019B0000101010101010101010101010101010117
+:1019C0000101010101010101010101010101010107
+:1019D00001010101010101010101010101010101F7
+:1019E00001010101010101010101010101010101E7
+:1019F00001010101010101010101010101010101D7
+:101A000001010101010101010101010101010101C6
+:101A100001010101010101010101010101010101B6
+:101A200001010101010101010101010101010101A6
+:101A30000101010101010101010101010101010196
+:101A40000101010101010101010101010101010186
+:101A50000101010101010101010101010101010176
+:101A60000101010101010101010101010101010166
+:101A70000101010101010101010101010101010156
+:101A80000101010101010102010101010101010145
+:101A90000101010201010102020200000000000038
+:101AA000000000000000000101010101010101012D
+:101AB0000101010101010101010101010101010116
+:101AC0000101010101010101010101010101010106
+:101AD00001010101010101010101010101010101F6
+:101AE00001010101010101010101010101010101E6
+:101AF00001010101010101010101010101010101D6
+:101B000001010101010101010101010101010101C5
+:101B100001010101010101010101010101010101B5
+:101B200001010101010101010101010101010101A5
+:101B30000101010101010101010101010101010195
+:101B40000101010101010101010101010101010185
+:101B50000101010101010101010101010101010175
+:101B60000101010101010101010101010101010165
+:101B70000101010101010101010101010101010155
+:101B80000101010101010101010101010101010145
+:101B9000010101010101010202000000000000003A
+:101BA000000000000000000101010101010101012C
+:101BB0000101010101010101010101010101010115
+:101BC0000101010101010101010101010101010105
+:101BD00001010101010101010101010101010101F5
+:101BE00001010101010101010101010101010101E5
+:101BF00001010101010101010101010101010101D5
+:101C000001010101010101010101010101010101C4
+:101C100001010101010101010101010101010101B4
+:101C200001010101010101010101010101010101A4
+:101C30000101010101010101010101010101010194
+:101C40000101010101010101010101010101010184
+:101C50000101010101010101010101010101010174
+:101C60000101010101010101010101010101010164
+:101C70000101010101010101010101010101010154
+:101C80000101010101010101010101010101010144
+:101C90000101010101010102020000000000000039
+:101CA000000000000000000101010101010101012B
+:101CB0000101010101010101010101010101010114
+:101CC0000101010101010101010101010101010104
+:101CD00001010101010101010101010101010101F4
+:101CE00001010101010101010101010101010101E4
+:101CF00001010101010101010101010101010101D4
+:101D000001010101010101010101010101010101C3
+:101D100001010101010101010101010101010101B3
+:101D200001010101010101010101010101010101A3
+:101D30000101010101010101010101010101010193
+:101D40000101010101010101010101010101010183
+:101D50000101010101010101010101010101010173
+:101D60000101010101010101010101010101010163
+:101D70000101010101010101010101010101010153
+:101D80000101010101010101010101010101010143
+:101D90000101010101010102020000000000000038
+:101DA000000000000000000101010101010101012A
+:101DB000010101010101010202020202020202020A
+:101DC00002020202020202020202020202020202F3
+:101DD00002020202020202020202020202020202E3
+:101DE00002020202020202020202020202020202D3
+:101DF00002020202020202020202020202020202C3
+:101E000002020202020202020202020202020202B2
+:101E100002020202020202020202020202020202A2
+:101E20000202020202020202020202020202020292
+:101E30000202020202020202020202020202020282
+:101E40000202020202020202020202020202020272
+:101E50000202020202020202020202020202020262
+:101E60000202020202020202020202020202020252
+:101E70000202020202020202020202020202020242
+:101E80000202020202020202020202020202020232
+:101E90000202020202020202020000000000000030
+:101EA0000000000000000001010101010101010129
+:101EB000010101010101010000000000000000001B
+:101EC0000000000000000002020202020202020200
+:101ED00002020202020202020202020202020202E2
+:101EE00002020202020202020202020202020202D2
+:101EF00002020202020202020202020202020202C2
+:101F000002020202020202020202020202020202B1
+:101F100002020202020202020202020202020202A1
+:101F20000202020202020202020202020202020291
+:101F30000202020202020202020202020202020281
+:101F40000202020202020202020202020202020271
+:101F50000202020202020202020202020202020261
+:101F60000202020202020202020202020202020251
+:101F70000202020202020202020202020202020241
+:101F80000202020202020202020202020202020231
+:101F90000202020202020202000000000000000031
+:101FA0000000000000000001010101010101010128
+:101FB000010101010101010000000000000000001A
+:101FC0000000000000000000000000000000000011
+:101FD00000000000000000020202020202020202EF
+:101FE00002020202020202020202020202020202D1
+:101FF00002020202020202020202020202020202C1
+:1020000002020202020202020202020202020202B0
+:1020100002020202020202020202020202020202A0
+:102020000202020202020202020202020202020290
+:102030000202020202020202020202020202020280
+:102040000202020202020202020202020202020270
+:102050000202020202020202020202020202020260
+:102060000202020202020200000000000000000062
+:102070000000000000000000000000000000000060
+:102080000000000000000000000000000000000050
+:10209000000000000000000200000000000000003E
+:1020A0000000000000000000000000000000000030
+:1020B0000000000000000000000000000000000020
+:1020C0000000000000000000000000000000000010
+:1020D0000000000000000000000000000000000000
+:1020E00000000000000000000000000000000000F0
+:1020F00000000000000000000000000000000000E0
+:1021000000000000000000000000000000000000CF
+:1021100000000000000000000000000000000000BF
+:1021200000000000000000000000000000000000AF
+:10213000000000000000000000000000000000009F
+:10214000000000000000000000000000000000008F
+:10215000000000000000000000000000000000007F
+:10216000000000000000000000000000000000006F
+:10217000000000000000000000000000000000005F
+:10218000000000000000000000000000000000004F
+:10219000000000000000000000000000000000003F
+:1021A000000000000000003B0000000000000000F4
+:1021B000000000000000000000000000000000001F
+:1021C000000000000000000000000000000000000F
+:1021D00000000000000000000000000000000000FF
+:1021E00000000000000000000000000000000000EF
+:1021F00000000000000000000000000000000000DF
+:1022000000000000000000000000000000000000CE
+:1022100000000000000000000000000000000000BE
+:1022200001020000000000000000000000000000AB
+:10223000000000000000000000000000000000009E
+:10224000000000000000000000000000000000008E
+:10225000010000000000000000000000000000007D
+:10226000000000000000000000000000000000006E
+:10227000000000000000000000000000000000005E
+:10228000000000000000000000000000000000004E
+:10229000000000000000000000000000000000003E
+:1022A0000202000202020202020202020202000212
+:1022B0000002020000000000000000000002000018
+:1022C000000000020000000000000000000200000A
+:1022D00000000000000000000000000000020000FC
+:1022E00000020000000000000000000000000200EA
+:1022F00000020000000000000000000000000200DA
+:1023000000000102000000000000000200020000C6
+:1023100002020002010002000000000000000200B2
+:1023200002020000000200000000000200000000A5
+:102330000200010000000000000000000000020098
+:10234000000000000000000000000000000000008D
+:102350000200020200000200000000000200020071
+:102360000201020000000000000000000000000068
+:102370000200000000000000000000000000020059
+:102380000000020000000000000000020002000047
+:10239000000200000002000200020200020002002F
+:1023A000010101010101010101010101010101021C
+:1023B0000102020000000000000000000002000016
+:1023C0000000000200000000000202020002020001
+:1023D00001020000000000000000000000020200F6
+:1023E00000020000000000000000000000020200E7
+:1023F00000020000000000000200000000020200D5
+:1024000000010202000000000000000200020200C1
+:1024100002020202020002000200000000020200AA
+:10242000020200020002020200000002020002009A
+:102430000200020000000000000000000002020094
+:10244000000000000000000000000000000000018B
+:102450000200020201020200000002000202020069
+:102460000202020000010000000000000200000063
+:102470000202000002000200020000000000020050
+:10248000000102000000000200000002020202003F
+:102490000002020202020202020202020202020020
+:1024A000010101010101010101010101010101021B
+:1024B0000102020000000000000000000002000015
+:1024C0000000000200000000000202020002020000
+:1024D00001020000000000000000000000020200F5
+:1024E00001020000000000000000000000020201E4
+:1024F00000020000000000000200000000020202D2
+:1025000000020202020100020000000200020200BA
+:1025100002020202020002000200000000020200A9
+:102520000202010200020202000000020202020096
+:102530000200020000000000000000000002020093
+:102540000000000000000000000000000000000289
+:102550000201020202020202000202000202020161
+:102560000202020001020000000000000200000060
+:102570000202000002020202020202000000020047
+:102580000002020202000202000000020202020235
+:10259000000202020202020202020202020202001F
+:1025A000010101000101010101010101010101021B
+:1025B0000102020000000000000000000002000014
+:1025C00000000002000000000002020200020200FF
+:1025D00001020000000000000000000000020200F4
+:1025E00001020000000000000000000000020201E3
+:1025F00000020100000000000200000000020202D0
+:1026000002020202020202020000000200020200B4
+:1026100002020202020002000200000002020200A6
+:102620000202010201020202020000020202020290
+:102630000201020201020000020000000202020088
+:102640000000000000000000000000000000000288
+:10265000020202020202020202020200020202025C
+:10266000020202000202000000000000020002005C
+:102670000202020102020202020202020000020041
+:10268000020202020202020200020202020202022C
+:10269000000202020202020202020202020202001E
+:1026A000010100000000010101010101010101021D
+:1026B0000102020000000000000200000002000011
+:1026C00000000002000000000002020200020200FE
+:1026D00002020000000000000000000000020201F1
+:1026E00002020000000000000000000002020201DF
+:1026F00001020200000100000200000000020202CC
+:1027000002020202020202020000000202020202AF
+:1027100002020202020002000200000002020202A3
+:10272000020202020202020202000002020202028D
+:102730000201020202020002020000000202020084
+:102740000000000000000000000000000000000287
+:10275000020202020202020202020200020202025B
+:102760000202020202020200020000000202020251
+:102770000202020102020202020202020000020040
+:102780000202020202020202020202020202020229
+:10279000000202020202020202020202020202001D
+:1027A000010000000000010101010101010101021D
+:1027B000020202000000000000020000000200000F
+:1027C00000000002000000000002020200020200FD
+:1027D00002020000000000000000000002020201EE
+:1027E00002020000000000000000000002020202DD
+:1027F00002020200010100000200000000020202C9
+:1028000002020202020202020000000202020202AE
+:1028100002020202020002020200000002020202A0
+:10282000020202020202020202000002020202028C
+:102830000202020202020202020000000202020080
+:102840000000000000000000000000000000000286
+:10285000020202020202020202020200020202025A
+:10286000020202020202020202020000020202024C
+:10287000020202020202020202020202000002023C
+:102880000202020202020202020202020202020228
+:10289000000202020202020202020202020201001D
+:1028A0000000000000000000000000000000010225
+:1028B0000202020200000000020200000202000008
+:1028C00000000002000000000002020200020200FC
+:1028D00002020001000000000000000002020202EB
+:1028E00002020000000000000000000002020202DC
+:1028F00002020200010100000200000002020202C6
+:1029000002020202020202020000000202020202AD
+:10291000020202020201020202000000020202029E
+:10292000020202020202020202000002020202028B
+:10293000020202020202020202000200020202007D
+:102940000000000000000000000000000000000285
+:102950000202020202020202020202000202020259
+:102960000202020202020202020200020202020249
+:102970000202020202020202020202020200020239
+:102980000202020202020202020202020202020227
+:10299000020202020202020202020202010101001C
+:1029A0000000000000000000000000000000010224
+:1029B0000202020200000000020200000202000007
+:1029C00000000002000100000002020200020200FA
+:1029D00002020001000000000000000002020202EA
+:1029E00002020100010000000000000002020202D9
+:1029F00002020201010200000200000002020202C3
+:102A000002020202020202020000000202020202AC
+:102A1000020202020202020202000000020202029C
+:102A20000202020202020202020200020202020288
+:102A30000202020202020202020202020202020078
+:102A40000000000000000000000000000000000284
+:102A50000202020202020202020202000202020258
+:102A60000202020202020202020202020202020246
+:102A70000202020202020202020202020202020236
+:102A80000202020202020202020202020202020226
+:102A9000020202020202020202020102010101001C
+:102AA0000000000000000000000000000000010223
+:102AB0000202020200000002020200000202000004
+:102AC00000000002010100000002020200020200F8
+:102AD00002020001010000000000000002020202E8
+:102AE00002020100010100000000000002020202D7
+:102AF00002020201020200000200000002020202C1
+:102B000002020202020202020000000202020202AB
+:102B10000202020202020202020200020202020297
+:102B20000202020202020202020200020202020287
+:102B30000202020202020202020202020202020275
+:102B4000020201000000000000000000000000027E
+:102B50000202020202020202020202020202020255
+:102B60000202020202020202020202020202020245
+:102B70000202020202020202020202020202020235
+:102B80000202020202020202020202020202020225
+:102B9000020202020202020202010101010101001D
+:102BA0000000000000000000000000000000010222
+:102BB0000202020200000002020200000202000003
+:102BC00000000002010100000002020200020200F7
+:102BD00002020002010000000000000002020202E6
+:102BE00002020101010100000000000002020202D5
+:102BF00002020202020200000200000002020202BF
+:102C000002020202020202020000000202020202AA
+:102C10000202020202020202020200020202020296
+:102C20000202020202020202020202020202020284
+:102C30000202020202020202020202020202020274
+:102C40000202020002000000000000000000020278
+:102C50000202020202020202020202020202020254
+:102C60000202020202020202020202020202020244
+:102C70000202020202020202020202020202020234
+:102C80000202020202020202020202020202020224
+:102C90000201010202020201010101010101010020
+:102CA0000000000000000000000000000000010221
+:102CB00002020202000202020202000002020000FE
+:102CC00000000002010200000002020200020200F5
+:102CD00002020102010000000000000002020202E4
+:102CE00002020201020200000000000002020202D1
+:102CF00002020202020200000200000002020202BE
+:102D000002020202020202020200000202020202A7
+:102D10000202020202020202020202020202020293
+:102D20000202020202020202020202020202020283
+:102D30000202020202020202020202020202020273
+:102D40000202020002000200020000000002020271
+:102D50000202020202020202020202020202020253
+:102D60000202020202020202020202020202020243
+:102D70000202020202020202020202020202010234
+:102D80000202020202020202020202020201010225
+:102D90000201010201010201010101010101010021
+:102DA0000000000000000000000000000000010220
+:102DB00002020202000202020202000002020000FD
+:102DC00000000002020200000002020202020202EF
+:102DD00002020102020000000000000002020202E2
+:102DE00002020202020200000000000002020202CF
+:102DF00002020202020200000200000002020202BD
+:102E000002020202020202020202000202020202A4
+:102E10000202020202020202020202020202020292
+:102E20000202020202020202020202020202020282
+:102E30000202020202020202020202020202020272
+:102E40000202020102020202020200000002020269
+:102E50000202020202020202020202020202010253
+:102E60000202020202020202020202020202020242
+:102E70000202020202020202020202020202010233
+:102E80000202020202020202020202020101010225
+:102E90000101010101010101010101010101010023
+:102EA000000000000000000000000000000001021F
+:102EB00002020202020202020201020202010000F8
+:102EC00000000002020200000002020202020202EE
+:102ED00002020102020000000000000002020202E1
+:102EE00002020202020200000000000002020202CE
+:102EF00002020202020200000200000002020202BC
+:102F000002020202020202020202000202020202A3
+:102F10000202020202020202020202020202020291
+:102F20000202020202020202020202020202020281
+:102F30000202020202020202020202020202010272
+:102F40000202020202020202020200000202020265
+:102F50000202020202020202020202020101010254
+:102F60000202020202020202020202020202020241
+:102F70000202020202020202020202020202010232
+:102F80000202020202020202020202010101010225
+:102F90000101010101010101010101010101010022
+:102FA000000000000000000000000000000001021E
+:102FB00002020202020202020201020202010000F7
+:102FC00000010002020200000002020202020202EC
+:102FD00002020202020000000000000002020202DF
+:102FE00002020202020200000000000002020202CD
+:102FF00002020202020200000200000002020202BB
+:1030000002020202020202020202020202020202A0
+:103010000202020202020202020202020202010291
+:103020000202020202020202020202020202010281
+:103030000202020202020202020202020201010272
+:103040000202020202020202020202000202020262
+:103050000202020202020202020202020101010253
+:103060000202020202020202020202020102010242
+:103070000202020202020202020202020202010231
+:103080000202020202020202020202010101010224
+:103090000101010101010101010101010101010021
+:1030A000000000000000000000000000000000021E
+:1030B00002020202020202020201020202010000F6
+:1030C00000020002020202000002020202020202E8
+:1030D00002020202020000000000000002020202DE
+:1030E00002020202020200000002000002020202CA
+:1030F00002020202020200020202000002020102B7
+:1031000002020202020202020202020202010102A1
+:103110000202020202020202020202020201010291
+:103120000202020202020202020202020101010282
+:103130000202020202020202020202020201010271
+:10314000020202020202020202020202020202025F
+:103150000202020202020202020202020101010252
+:103160000202020202020202020202020101010242
+:103170000202020202020202020202020202010230
+:103180000202020202020202020202010101010223
+:103190000101010101010101010101010101010020
+:1031A000000000000000000000000000000000021D
+:1031B00002020202020202020101020202010000F6
+:1031C00000020002020202000002020202020202E7
+:1031D00002020202020000000002000002020202DB
+:1031E00002020202020202000202000002020102C6
+:1031F00002020202020202020202000202010102B3
+:1032000002020202020202020202020202010102A0
+:103210000202020202020202020202020201010290
+:103220000202020202020202020202010101010282
+:103230000202020202020202020202020101010271
+:10324000020202020202020202020202020202025E
+:103250000202020202020202020201020101010252
+:103260000202020202020202020202020101010241
+:103270000202020202020202020201010101010233
+:103280000202020202020202020201010101010124
+:10329000010101010101010101010101010101001F
+:1032A000000000000000000000000000000000021C
+:1032B00002020202020202020101020201010002F4
+:1032C00000020002020202000002020202020202E6
+:1032D00002020202020000000202000002010102DA
+:1032E00002020202020202020202000002010102C4
+:1032F00002020202020202020202020202010102B0
+:1033000002020202020202020202020102010102A0
+:103310000202020202020202020202020101010290
+:103320000202020202020202020202010101010281
+:103330000202020202020202020202020101010270
+:10334000020202020202020202020202020202025D
+:103350000202020202020202020201020101010251
+:103360000202020202020202020202020101010240
+:103370000202020202020202010101010101010234
+:103380000202020202020201020101010101010125
+:10339000010101010101010101010101010101001E
+:1033A000000000000000000000000000000000021B
+:1033B00002020202020202010101020201010002F4
+:1033C00001020002020202000002020202010102E6
+:1033D00002020202020000020202000002010102D7
+:1033E00002020202020202020202000002010102C3
+:1033F00002020202020202020202020202010102AF
+:1034000002020202020202020202020101010102A0
+:10341000020202020202020202020202010101028F
+:103420000202020202020202020202010101010280
+:10343000020202020202020202020202010101026F
+:10344000020202020202020202020202020201025D
+:103450000202020202020102020101020101010252
+:10346000020202020202020202020202010101023F
+:103470000202020202020101010101010101010235
+:103480000202010202020101010101010101010127
+:10349000010101010101010101010101010101001D
+:1034A000000000000000000000000000000000021A
+:1034B00002020202020202010102010101010002F4
+:1034C00001020202020202000002020202010102E3
+:1034D00002020202020002020202000002010102D4
+:1034E00002020202020202020202020001010102C1
+:1034F00002020202020202020202020201010102AF
+:10350000020202020202020202020201010101029F
+:10351000020202020202020201020202010101028F
+:103520000202020202020201020202010101010280
+:10353000020202020202020202020202010101026E
+:10354000020202020202020202020202020101025D
+:103550000202020202010101010101020101010254
+:10356000020202020202020202020201010101023F
+:103570000202020201010101010101010101010236
+:103580000202010201010101010101010101010128
+:10359000010101010101010101010101010101001C
+:1035A0000000000000000000000000000000000219
+:1035B00002020201020201010202010101010002F4
+:1035C00002020202020202000002020202010102E1
+:1035D00002020202020202020202000001010102D2
+:1035E00002020202020202020202020201010102BE
+:1035F00002020202020202020102020201010102AF
+:10360000020202020202020202020201010101029E
+:10361000020202020202010201020202010101028F
+:103620000202020202010101010202010101010282
+:103630000202020202020202010201010101010270
+:10364000020202020202020202020202020101025C
+:103650000202010102010101010101010101010256
+:103660000202010202020202010101010101010242
+:103670000101020201010101010101010101010237
+:103680000202010101010101010101010101010128
+:10369000010101010101010101010101010101001B
+:1036A0000000000000000000000000000000000218
+:1036B00002020101020101010202010201010002F4
+:1036C00002020202020202000002010102010102E2
+:1036D00002020202020202020202000001010102D1
+:1036E00002020202020202020202020201010102BD
+:1036F00002020202020202020102020201010102AE
+:10370000020202020202020102020201010101029E
+:10371000020202020202010201020201010101028F
+:103720000201020202010101010202010101010282
+:103730000202020202010201010201010101010271
+:10374000020202020202020202020202010101025C
+:103750000202010101010101010101010101010256
+:103760000102010202010101010101010101010245
+:103770000101010201010101010101010101010237
+:103780000101010101010101010101010101010129
+:10379000010101010101010101010101010101001A
+:1037A0000000000000000000000000000000000217
+:1037B00002020101020101020202020201010002F1
+:1037C00002020202020202000002010102010102E1
+:1037D00002020202020202020202020001010102CE
+:1037E00002020202020202020202020201010102BC
+:1037F00002020202020202020102020201010102AD
+:1038000002020201010201010202020101010102A0
+:103810000201010101020101010202010101010293
+:103820000201020102010101010101010101010284
+:103830000102010202010101010101010101010274
+:10384000020202020202020202020202010101025B
+:103850000102010101010101010101010101010256
+:103860000101010201010101010101010101010246
+:103870000101010201010101010101010101010236
+:103880000101010101010101010101010101010128
+:103890000101010101010101010101010101010019
+:1038A0000000000000000000000000000000000216
+:1038B00002010102010102020202020101010002F1
+:1038C00002020202020202000001010102010102E1
+:1038D00002020202020202020202020201010102CB
+:1038E00002020202020202020202020201010102BB
+:1038F00002010202020202020102020201010102AD
+:1039000002020101010101010202020101010102A1
+:103910000101010101020101010101010101010295
+:103920000101020101010101010101010101010285
+:103930000102010101010101010101010101010275
+:10394000020202020202020202020202010101025A
+:103950000101010101010101010101010101010256
+:103960000101010101010101010101010101010246
+:103970000101010201010101010101010101010235
+:103980000101010101010101010101010101010127
+:103990000101010101010101010101010101010018
+:1039A0000000000000000000000000000000000215
+:1039B00002010102010202020102020101010002F0
+:1039C00002020202020202000001010101010102E1
+:1039D00002020202020202020202020201010102CA
+:1039E00002010202020202020202020201010102BB
+:1039F00002010202020202020102020201010102AC
+:103A000002010101010101010202020101010102A1
+:103A10000101010101020101010101010101010294
+:103A20000101020101010101010101010101010284
+:103A30000102010101010101010101010101010274
+:103A4000020202020202020201010101010101025D
+:103A50000101010101010101010101010101010255
+:103A60000101010101010101010101010101010245
+:103A70000101010101010101010101010101010235
+:103A80000101010101010101010101010101010126
+:103A90000101010101010101010101010101010017
+:103AA0000000000000000000000000000000000214
+:103AB00002010102020202020101010101010002F0
+:103AC00002020201020202000001010101010102E1
+:103AD00002010202020202020202020201010102CA
+:103AE00002010202020202020202020201010102BA
+:103AF00002010102020202020102020201010102AC
+:103B000001010101010101010101010101010102A4
+:103B10000101010101010101010101010101010294
+:103B20000101010101010101010101010101010284
+:103B30000102010101010101010101010101010273
+:103B4000020202020102010101010101010101025F
+:103B50000101010101010101010101010101010254
+:103B60000101010101010101010101010101010244
+:103B70000101010101010101010101010101010234
+:103B80000101010101010101010101010101010125
+:103B90000101010101010101010101010101010016
+:103BA0000000000000000000000000000000000114
+:103BB00002010101020201010101010101010002F2
+:103BC00002020201020202020001010101010102DE
+:103BD00002010202020202020202020201010102C9
+:103BE00002010202020202020202020201010102B9
+:103BF00002010102020202020102020101010102AC
+:103C000001010101010101010101010101010102A3
+:103C10000101010101010101010101010101010293
+:103C20000101010101010101010101010101010283
+:103C30000101010101010101010101010101010273
+:103C40000201020201010101010101010101010260
+:103C50000101010101010101010101010101010253
+:103C60000101010101010101010101010101010243
+:103C70000101010101010101010101010101010233
+:103C80000101010101010101010101010101010124
+:103C90000101010101010101010101010101010015
+:103CA0000000000000000000000000000000000113
+:103CB00002010101010101010101010101010002F3
+:103CC00002020201020202020201010101010102DB
+:103CD00002010202020202020202020201010102C8
+:103CE00002010202020202020202020201010102B8
+:103CF00001010102020102020101010101010102AF
+:103D000001010101010101010101010101010102A2
+:103D10000101010101010101010101010101010292
+:103D20000101010101010101010101010101010282
+:103D30000101010101010101010101010101010272
+:103D40000101010201010101010101010101010162
+:103D50000101010101010101010101010101010252
+:103D60000101010101010101010101010101010143
+:103D70000101010101010101010101010101010133
+:103D80000101010101010101010101010101010123
+:103D90000201010101010101010101010101010013
+:103DA0000000000000000000000000000000000211
+:103DB00002010101010101010101010101010002F2
+:103DC00002020201020202020201010101010102DA
+:103DD00002010202020202020202020201010102C7
+:103DE00001010202020202020201020201010102B9
+:103DF00001010102010102010101010101010101B1
+:103E000001010101010101010101010101010102A1
+:103E10000101010101010101010101010101010291
+:103E20000101010101010101010101010101010182
+:103E30000101010101010101010101010101010271
+:103E40000101010201010101010101010101010161
+:103E50000101010101010101010101010101010152
+:103E60000101010101010101010101010101010142
+:103E70000101010101010101010101010101010132
+:103E80000101010101010101010101010101010122
+:103E90000201010101010101010101010101010012
+:103EA000000000000000000000000000010100020E
+:103EB00002010101010101010101010101010002F1
+:103EC00002020201020202020201010101010102D9
+:103ED00001010202020202020201020201010102C8
+:103EE00001010202020102020101010101010102BC
+:103EF00001010101010101010101010101010101B2
+:103F000001010101010101010101010101010101A1
+:103F10000101010101010101010101010101010191
+:103F20000101010101010101010101010101010181
+:103F30000101010101010101010101010101010270
+:103F40000101010101010101010101010101010161
+:103F50000101010101010101010101010101010151
+:103F60000101010101010101010101010101010141
+:103F70000101010101010101010101010101010131
+:103F80000101010101010101010101010101010121
+:103F9000020202010101010101010101010101000F
+:103FA000000000000000000000000000010100010E
+:103FB00002010101010101010101010101000002F1
+:103FC00002020201020201020201010101010102D9
+:103FD00001010202020202020101020201010102C8
+:103FE00001010202010101010101010101010102BE
+:103FF00001010101010101010101010101010101B1
+:1040000001010101010101010101010101010101A0
+:104010000101010101010101010101010101010190
+:104020000101010101010101010101010101010180
+:10403000010101010101010101010101010101026F
+:104040000101010101010101010101010101010160
+:104050000101010101010101010101010101010150
+:104060000101010101010101010101010101010140
+:104070000101010101010101010101010101010130
+:10408000010101010101010101010101010101021F
+:10409000020202010101010101010101010101000E
+:1040A000000000000000000000000000010100010D
+:1040B00001010101010101010101010101000002F1
+:1040C00002020201020101020201010101010102D9
+:1040D00001010201010202010101010101010102CC
+:1040E00001010101010101010101010101010102BF
+:1040F00001010101010101010101010101010101B0
+:10410000010101010101010101010101010101019F
+:10411000010101010101010101010101010101018F
+:10412000010101010101010101010101010101017F
+:10413000010101010101010101010101010101016F
+:10414000010101010101010101010101010101015F
+:10415000010101010101010101010101010101014F
+:10416000010101010101010101010101010101013F
+:10417000010101010101010101010101010101012F
+:10418000010101010101010101010101010101021E
+:10419000020202020201010101010101010101000B
+:1041A000000000000000000000000101010100010A
+:1041B00001010101010101010101010101000002F0
+:1041C00002020201010101020201010101010102D9
+:1041D00001010201010201010101010101010102CC
+:1041E00001010101010101010101010101010101BF
+:1041F00001010101010101010101010101010101AF
+:10420000010101010101010101010101010101019E
+:10421000010101010101010101010101010101018E
+:10422000010101010101010101010101010101017E
+:10423000010101010101010101010101010101016E
+:10424000010101010101010101010101010101015E
+:10425000010101010101010101010101010101014E
+:10426000010101010101010101010101010101013E
+:10427000010101010101010101010101010101012E
+:10428000010101010101010101010101010101021D
+:104290000202020202020102020202010101010005
+:1042A0000000000000000000010101010101000107
+:1042B00001010101010101010101010100000002F0
+:1042C00002010201010101020201010101010102D9
+:1042D00001010101010101010101010101010101CE
+:1042E00001010101010101010101010101010101BE
+:1042F00001010101010101010101010101010101AE
+:10430000010101010101010101010101010101019D
+:10431000010101010101010101010101010101018D
+:10432000010101010101010101010101010101017D
+:10433000010101010101010101010101010101016D
+:10434000010101010101010101010101010101015D
+:10435000010101010101010101010101010101014D
+:10436000010101010101010101010101010101013D
+:10437000010101010101010101010101010101012D
+:10438000010101010101010101010101010101021C
+:1043900002020202020202020202020202020200FF
+:1043A0000100000000000001010101010101000104
+:1043B00001010101010101010101010100000102EE
+:1043C00002010101010101020201010101010102D9
+:1043D00001010101010101010101010101010101CD
+:1043E00001010101010101010101010101010101BD
+:1043F00001010101010101010101010101010101AD
+:10440000010101010101010101010101010101019C
+:10441000010101010101010101010101010101018C
+:10442000010101010101010101010101010101017C
+:10443000010101010101010101010101010101016C
+:10444000010101010101010101010101010101015C
+:10445000010101010101010101010101010101014C
+:10446000010101010101010101010101010101013C
+:10447000010101010101010101010101010101012C
+:10448000010101010101010101010101010101021B
+:1044900002020202020202020202020202020202FC
+:1044A00002020202020202020202020202020201ED
+:1044B00001010001010101010101010000000102EF
+:1044C00002010101010101020201010101010101D9
+:1044D00001010101010101010101010101010101CC
+:1044E00001010101010101010101010101010101BC
+:1044F00001010101010101010101010101010101AC
+:10450000010101010101010101010101010101019B
+:10451000010101010101010101010101010101018B
+:10452000010101010101010101010101010101017B
+:10453000010101010101010101010101010101016B
+:10454000010101010101010101010101010101015B
+:10455000010101010101010101010101010101014B
+:10456000010101010101010101010101010101013B
+:10457000010101010101010101010101010101012B
+:10458000010101010101010101010101010101021A
+:1045900002020202020202020202020202020202FB
+:1045A00002020202020202020202020202020201EC
+:1045B00001010001010101010001010000000102EF
+:1045C00002010101010101010101010101010101DA
+:1045D00001010101010101010101010101010101CB
+:1045E00001010101010101010101010101010101BB
+:1045F00001010101010101010101010101010101AB
+:10460000010101010101010101010101010101019A
+:10461000010101010101010101010101010101018A
+:10462000010101010101010101010101010101017A
+:10463000010101010101010101010101010101016A
+:10464000010101010101010101010101010101015A
+:10465000010101010101010101010101010101014A
+:10466000010101010101010101010101010101013A
+:10467000010101010101010101010101010101012A
+:104680000101010101010101010101010101010219
+:1046900002020202020202020202020202020202FA
+:1046A00002020202020202020202020202020201EB
+:1046B00001010000000100000000000000000102F4
+:1046C00001010101010101010101010101010101DA
+:1046D00001010101010101010101010101010101CA
+:1046E00001010101010101010101010101010101BA
+:1046F00001010101010101010101010101010101AA
+:104700000101010101010101010101010101010199
+:104710000101010101010101010101010101010189
+:104720000101010101010101010101010101010179
+:104730000101010101010101010101010101010169
+:104740000101010101010101010101010101010159
+:104750000101010101010101010101010101010149
+:104760000101010101010101010101010101010139
+:104770000101010101010101010101010101010129
+:104780000101010101010101010101010101010218
+:1047900002020202020202020202020202020202F9
+:1047A00002020202020202020202020202020201EA
+:1047B00001000000000000000000000000000102F5
+:1047C00001010101010101010101010101010101D9
+:1047D00001010101010101010101010101010101C9
+:1047E00001010101010101010101010101010101B9
+:1047F00001010101010101010101010101010101A9
+:104800000101010101010101010101010101010198
+:104810000101010101010101010101010101010188
+:104820000101010101010101010101010101010178
+:104830000101010101010101010101010101010168
+:104840000101010101010101010101010101010158
+:104850000101010101010101010101010101010148
+:104860000101010101010101010101010101010138
+:104870000101010101010101010101010101010128
+:104880000201020101010101010101020202020211
+:1048900002020202020202020202020202020202F8
+:1048A00002020202020202020202020202020201E9
+:1048B00001000000000000000000000000000101F5
+:1048C00001010101010101010101010101010101D8
+:1048D00001010101010101010101010101010101C8
+:1048E00001010101010101010101010101010101B8
+:1048F00001010101010101010101010101010101A8
+:104900000101010101010101010101010101010197
+:104910000101010101010101010101010101010187
+:104920000101010101010101010101010101010177
+:104930000101010101010101010101010101010167
+:104940000101010101010101010101010101010157
+:104950000101010101010101010101010101010147
+:104960000101010101010101010101010101010137
+:104970000101010101010101010101010101010127
+:104980000202020202020202020202020202020207
+:1049900002020202020202020202020202020202F7
+:1049A00002020202020202020202020202020201E8
+:1049B00001000000000000000000000000010101F3
+:1049C00001010101010101010101010101010101D7
+:1049D00001010101010101010101010101010101C7
+:1049E00001010101010101010101010101010101B7
+:1049F00001010101010101010101010101010101A7
+:104A00000101010101010101010101010101010196
+:104A10000101010101010101010101010101010186
+:104A20000101010101010101010101010101010176
+:104A30000101010101010101010101010101010166
+:104A40000101010101010101010101010101010156
+:104A50000101010101010101010101010101010146
+:104A60000201010101010101010101010101010135
+:104A70000200010101010101010101010101020224
+:104A80000202020202020202020202020202020206
+:104A900002020202020202020202020202020202F6
+:104AA00002020202020202020202020202020201E7
+:104AB00001000000000000000000000000010101F2
+:104AC00001010101010101010101010101010101D6
+:104AD00001010101010101010101010101010101C6
+:104AE00001010101010101010101010101010101B6
+:104AF00001010101010101010101010101010101A6
+:104B00000101010101010101010101010101010195
+:104B10000101010101010101010101010101010185
+:104B20000101010101010101010101010101010175
+:104B30000101010101010101010101010101010165
+:104B40000101010101010101010101010101010155
+:104B50000101010101010101010101010101010145
+:104B60000101000101010101010101010101010136
+:104B70000202020102020202020202020202020216
+:104B80000202020202020202020202020202020205
+:104B900002020202020202020202020202020202F5
+:104BA00002020202020202020202020202020200E7
+:104BB00001000000000000000000000001010101F0
+:104BC00001010101010101010101010101010101D5
+:104BD00001010101010101010101010101010101C5
+:104BE00001010101010101010101010101010101B5
+:104BF00001010101010101010101010101010101A5
+:104C00000101010101010101010101010101010194
+:104C10000101010101010101010101010101010184
+:104C20000101010101010101010101010101010174
+:104C30000101010101010101010101010101010164
+:104C40000101010101010101010101010101010154
+:104C5000020100000100000101010001000000014B
+:104C60000000000101010101010101010202020233
+:104C70000202020202020202020202020202020214
+:104C80000202020202020202020202020202020204
+:104C900002020202020202020202020202020202F4
+:104CA00002020202020202020202020202020200E6
+:104CB00001010100000000000000000001010101ED
+:104CC00001010101010101010101010101010101D4
+:104CD00001010101010101010101010101010101C4
+:104CE00001010101010101010101010101010101B4
+:104CF00001010101010101010101010101010101A4
+:104D00000101010101010101010101010101010193
+:104D10000101010101010101010101010101010183
+:104D20000101010101010101010101010101010173
+:104D30000201010101010101010101010101010162
+:104D40000101010101010101010101010101010054
+:104D5000010000000000000000000001020202004B
+:104D60000202020202020202020202020202020223
+:104D70000202020202020202020202020202020213
+:104D80000202020202020202020202020202020203
+:104D900002020202020202020202020202020202F3
+:104DA00002020202020202020202020202020200E5
+:104DB00001010100000000000000000001010101EC
+:104DC00001010101010101010101010101010101D3
+:104DD00001010101010101010101010101010101C3
+:104DE00001010101010101010101010101010101B3
+:104DF00001010101010101010101010101010101A3
+:104E00000101010101010101010101010101010192
+:104E10000101010101010101010101010101010182
+:104E20000202010101010100010101020101010170
+:104E30000101000101000101010101010100000166
+:104E40000102010100010101010101010100000055
+:104E50000202020202020202020202020202020232
+:104E60000202020202020202020202020202020222
+:104E70000202020202020202020202020202020212
+:104E80000202020202020202020202020202020202
+:104E900002020202020202020202020202020202F2
+:104EA00002020202020202020202020202020201E3
+:104EB00001010100000000000000000101010101EA
+:104EC00001010101010101010101010101010101D2
+:104ED00001010101010101010101010101010101C2
+:104EE00001010101010101010101010101010101B2
+:104EF00001010101010101010101010101010101A2
+:104F00000101010101010101010101010101010191
+:104F10000102020101010101000101010101010180
+:104F20000101010200020200000101010000000174
+:104F30000001000000000000000100000202020168
+:104F40000201000100000000000000000202020255
+:104F50000202020202020202020202020202020231
+:104F60000202020202020202020202020202020221
+:104F70000202020202020202020202020202020211
+:104F80000202020202020202020202020202020201
+:104F900002020202020202020202020202020202F1
+:104FA00002020202020202020202020202000201E4
+:104FB00001010100000000010101010101010101E5
+:104FC00001010101010101010101010101010101D1
+:104FD00001010101010101010101010101010101C1
+:104FE00001010101010101010101010101010101B1
+:104FF00001010101010101010101010101010101A1
+:10500000010202020201010101010102010101018B
+:105010000001010202010200000101000100000183
+:105020000000000100010100000000000202020275
+:105030000202020202020202020202020202020250
+:105040000202020202020202020202020202020240
+:105050000202020202020202020202020202020230
+:105060000202020202020202020202020202020220
+:105070000202020202020202020202020202020210
+:105080000202020202020202020202020202020200
+:1050900002020202020202020202020202020202F0
+:1050A00002020202020202020202020000000201E7
+:1050B00001010101010101010101010101010101E0
+:1050C00001010101010101010101010101010101D0
+:1050D00001010101010101010101010101010101C0
+:1050E00001010101010101010101010101010101B0
+:1050F000010101010101010101010101010101029F
+:105100000001010101020202010101010100000090
+:105110000200000101000100000000000202020282
+:10512000020202020202020202020202020202025F
+:10513000020202020202020202020202020202024F
+:10514000020202020202020202020202020202023F
+:10515000020202020202020202020202020202022F
+:10516000020202020202020202020202020202021F
+:10517000020202020202020202020202020202020F
+:1051800002020202020202020202020202020202FF
+:1051900002020202020202020202020202020202EF
+:1051A00002020202020202020202000000000001EA
+:1051B00001010101010101010101010101010101DF
+:1051C00001010101010101010101010101010101CF
+:1051D00001010101010101010101010101010101BF
+:1051E00001010101010101010101010101010101AF
+:1051F000010102010101010100010101020101019E
+:105200000200000000010101000000000202020291
+:10521000020202020202020202020202020202026E
+:10522000020202020202020202020202020202025E
+:10523000020202020202020202020202020202024E
+:10524000020202020202020202020202020202023E
+:10525000020202020202020202020202020202022E
+:10526000020202020202020202020202020202021E
+:10527000020202020202020202020202020202020E
+:1052800002020202020202020202020202020202FE
+:1052900002020202020202020202020202020202EE
+:1052A00002020202020002020200000000000001ED
+:1052B00001010101010101010101010101010101DE
+:1052C00001010101010101010101010101010101CE
+:1052D00001010101010101010101010101010101BE
+:1052E00001010101010101010101010102010101AD
+:1052F000020201010101010100010101010202029A
+:10530000020202020202020202020202020202027D
+:10531000020202020202020202020202020202026D
+:10532000020202020202020202020202020202025D
+:10533000020202020202020202020202020202024D
+:10534000020202020202020202020202020202023D
+:10535000020202020202020202020202020202022D
+:10536000020202020202020202020202020202021D
+:10537000020202020202020202020202020202020D
+:1053800002020202020202020202020202020202FD
+:1053900002020202020202020202020202020202ED
+:1053A00002020202000000000000000000000001F4
+:1053B00001010101010101010101010101010101DD
+:1053C00001010101010101010101010101010101CD
+:1053D00001010101010101010101010102010101BC
+:1053E00002020101010101010101010101020202A8
+:1053F000020202020202020202020202020202028D
+:10540000020202020202020202020202020202027C
+:10541000020202020202020202020202020202026C
+:10542000020202020202020202020202020202025C
+:10543000020202020202020202020202020202024C
+:10544000020202020202020202020202020202023C
+:10545000020202020202020202020202020202022C
+:10546000020202020202020202020202020202021C
+:10547000020202020202020202020202020202020C
+:1054800002020202020202020202020202020202FC
+:1054900002020202020202020202020202020202EC
+:1054A00002020200000000000000000000000001F5
+:1054B00001010101010101010101010101010101DC
+:1054C00001010101010101010101010101010101CC
+:1054D00002020101010101010101010101020202B7
+:1054E000020202020202020202020202020202029C
+:1054F000020202020202020202020202020202028C
+:10550000020202020202020202020202020202027B
+:10551000020202020202020202020202020202026B
+:10552000020202020202020202020202020202025B
+:10553000020202020202020202020202020202024B
+:10554000020202020202020202020202020202023B
+:10555000020202020202020202020202020202022B
+:10556000020202020202020202020202020202021B
+:10557000020202020202020202020202020202020B
+:1055800002020202020202020202020202020202FB
+:1055900002020202020202020202020202020202EB
+:1055A00002020200000000000000000000000001F4
+:1055B00001010101010101010101010101010101DB
+:1055C00001010101010102010101020101010102C8
+:1055D00002020202020202020202020202020202AB
+:1055E000020202020202020202020202020202029B
+:1055F000020202020202020202020202020202028B
+:10560000020202020202020202020202020202027A
+:10561000020202020202020202020202020202026A
+:10562000020202020202020202020202020202025A
+:10563000020202020202020202020202020202024A
+:10564000020202020202020202020202020202023A
+:10565000020202020202020202020202020202022A
+:10566000020202020202020202020202020202021A
+:10567000020202020202020202020202020202020A
+:1056800002020202020202020202020202020202FA
+:1056900002020202020202020202020202020202EA
+:1056A00002020000000000000000000000000001F5
+:1056B00001010101010101010101010101010101DA
+:1056C00000000000010101010101010000000002D1
+:1056D00002020202020202020202020202020202AA
+:1056E000020202020202020202020202020202029A
+:1056F000020202020202020202020202020202028A
+:105700000202020202020202020202020202020279
+:105710000202020202020202020202020202020269
+:105720000202020202020202020202020202020259
+:105730000202020202020202020202020202020249
+:105740000202020202020202020202020202020239
+:105750000202020202020202020202020202020229
+:105760000202020202020202020202020202020219
+:105770000202020202020202020202020202020209
+:1057800002020202020202020202020202020202F9
+:1057900002020202020202020202020202020202E9
+:1057A00002000000000000000000000000000001F6
+:1057B00001010101010101010101010101010101D9
+:1057C00002020202000000000000000002020202C9
+:1057D00002020202020202020202020202020202A9
+:1057E0000202020202020202020202020202020299
+:1057F0000202020202020202020202020202020289
+:105800000202020202020202020202020202020278
+:105810000202020202020202020202020202020268
+:105820000202020202020202020202020202020258
+:105830000202020202020202020202020202020248
+:105840000202020202020202020202020202020238
+:105850000202020202020202020202020202020228
+:105860000202020202020202020202020202020218
+:105870000202020202020202020202020202020208
+:1058800002020202020202020202020202020202F8
+:1058900002020202020202020202020202020202E8
+:1058A00002000000000000000000000000000001F5
+:1058B00001010101010101010101010101010102D7
+:1058C00002020202020202020202020202020202B8
+:1058D00002020202020202020202020202020202A8
+:1058E0000202020202020202020202020202020298
+:1058F0000202020202020202020202020202020288
+:105900000202020202020202020202020202020277
+:105910000202020202020202020202020202020267
+:105920000202020202020202020202020202020257
+:105930000202020202020202020202020202020247
+:105940000202020202020202020202020202020237
+:105950000202020202020202020202020202020227
+:105960000202020202020202020202020202020217
+:105970000202020202020202020202020202020207
+:1059800002020202020202020202020202020202F7
+:1059900002020202020202020202020202020202E7
+:1059A00002000000000000000000000000000001F4
+:1059B00001010101010101010101010101010101D7
+:1059C00001010101010101010101010101010101C7
+:1059D00001010101010101010101010101010101B7
+:1059E00001010101010101010101010101010101A7
+:1059F0000101010101010101010101010101010197
+:105A00000101010101010101010101010101010186
+:105A10000101010101010101010101010101010176
+:105A20000101010101010101010101010101010166
+:105A30000101010101010101010101010101010156
+:105A40000101010101010101010101010101010146
+:105A50000101010101010101010101010101010136
+:105A60000101010101010101010101010101010126
+:105A70000101010101010101010101010101010116
+:105A80000101010101010101010101010101010106
+:105A900001010101010101010101010101010102F5
+:105AA00002000000000000000000000000000001F3
+:105AB00001010101010101010101010101010100D7
+:105AC00000000000000000000000000000000001D5
+:105AD00001010101010101010101010101010101B6
+:105AE00001010101010101010101010101010101A6
+:105AF0000101010101010101010101010101010196
+:105B00000101010101010101010101010101010185
+:105B10000101010101010101010101010101010175
+:105B20000101010101010101010101010101010165
+:105B30000101010101010101010101010101010155
+:105B40000101010101010101010101010101010145
+:105B50000101010101010101010101010101010135
+:105B60000101010101010101010101010101010125
+:105B70000101010101010101010101010101010115
+:105B80000101010101010101010101010101010105
+:105B900001010101010101010101010101010102F4
+:105BA00000000000000000000000000000000000F5
+:105BB00000000000000000000000000000000000E5
+:105BC00000000000000000000000000000000000D5
+:105BD00000000000000000000000000000000000C5
+:105BE00000000000000000000000000000000000B5
+:105BF00000000000000000000000000000000000A5
+:105C00000000000000000000000000000000000094
+:105C10000000000000000000000000000000000084
+:105C20000000000000000000000000000000000074
+:105C30000000000000000000000000000000000064
+:105C40000000000000000000000000000000000054
+:105C50000000000000000000000000000000000044
+:105C60000000000000000000000000000000000034
+:105C70000000000000000000000000000000000024
+:105C80000000000000000000000000000000000014
+:105C90000000000000000000000000000000000004
+:105CA00000000000000000000000000000000037BD
+:105CB00000000000000000000000000000000000E4
+:105CC00000000000000000000000020000000000D2
+:105CD00000000000000000000000000000000000C4
+:105CE00000000000000000000000000000000000B4
+:105CF00000000000000000000000000000000000A4
+:105D00000000000000000000000002000000000091
+:105D10000000000200000000000000000000000081
+:105D20000000000000000000000000000000000073
+:105D30000000000000000000000000000000000063
+:105D40000000000000000000000000000000000053
+:105D50000000000000000000000000020000000041
+:105D60000000000000000000020000000000000031
+:105D70000000000000000200000000000000000021
+:105D80000000000000000000000000000000000013
+:105D90000000000000000000000000000000000003
+:105DA00000000000000000000200020200020202E7
+:105DB00002020202000000020200000000000000D7
+:105DC00000000000000000020000020000000000CF
+:105DD00000000000000002000000000000000000C1
+:105DE00000000000000202000000000000000000AF
+:105DF00000000000000000000000000000000000A3
+:105E00000000000000000001020202020100000088
+:105E1000000000020202000000000000000000007C
+:105E20000000000000000000000000000000000072
+:105E30000000000000000000000000000000000062
+:105E40000000000000000000000000000000000052
+:105E5000000000000000000202000002000000003C
+:105E60000000000202020000020102020002000221
+:105E7000000000000002020000000000000000001E
+:105E8000000000000000020002000000000000000E
+:105E900002000002020202020200000002000200F0
+:105EA00000000002020202000200020202020202DC
+:105EB00002020202000000020200000000000000D6
+:105EC00000000000000000020000020000000000CE
+:105ED00000000200000002000000000000000000BE
+:105EE00000000000000202000000000000000000AE
+:105EF00000000000000000000000000000000000A2
+:105F00000000000000000202020202020102000082
+:105F1000000000020202000000000000000000007B
+:105F20000000000000000000000000000000000071
+:105F30000000000000000000000000000000000061
+:105F40000000000000000000000000000000000051
+:105F50000000000000000002020202020000000037
+:105F6000000000020202000002020202000202021D
+:105F70000200000000020200000001020002000214
+:105F80000000000000000200020202000002000205
+:105F900002000202020202020202020202020202E3
+:105FA00000000002020202000202020202020202D9
+:105FB00002020202020200020200000000000000D1
+:105FC00000000000000000020000020000000000CD
+:105FD00000000200000002000000000000000000BD
+:105FE00002000000000202000000000000000000AB
+:105FF000000000000000000002000000000000009F
+:10600000000000000200020202020202020200007E
+:10601000000000020202000000000000000000007A
+:106020000000000000000000000000000000000070
+:106030000000000000000000000000000000000060
+:10604000000000000000000200000000000000004E
+:106050000000000000000002020202020000000036
+:10606000000000020202020002020202000202021A
+:10607000020200000002020002000102020202020B
+:1060800002000000000002000202020002020202FE
+:1060900002000202020202020202020202020202E2
+:1060A00002000002020202000202020202020202D6
+:1060B00002020202020200020200000000000000D0
+:1060C00000000000000000020000020000000000CC
+:1060D00000000200000002000000000000000000BC
+:1060E00002000000000202000000000000000000AA
+:1060F000000000000000000002000000000000029C
+:10610000000000000200020202020202020200027B
+:106110000000000202020000000000000000000079
+:10612000000000000000000000000000000000006F
+:10613000000000000000000000000000000000005F
+:10614000000000000000000200000001000000004C
+:106150000000000000000002020202020002000033
+:106160000000020202020202020202020002020215
+:106170000202000000020200020202020202020207
+:1061800002020000000002000202020202020202F9
+:1061900002020202020202020202020202020202DF
+:1061A00002020202020202000202020202020202D1
+:1061B00002020202020200020200020000000002CB
+:1061C00000000000000000020000020000000000CB
+:1061D00000000200000202000000000000000000B9
+:1061E00002000000000202000000000000000000A9
+:1061F000000000000000000102000000000000029A
+:106200000000000002000202020202020202020278
+:106210000200000202020200000000000000000074
+:10622000000000000000000000000000000000006E
+:10623000000000000000000000000000000000005E
+:106240000000000000000002020000020000000048
+:10625000000000000000000202020202020202002E
+:106260000000020202020202020202020002020214
+:106270000202020000020202020202020202020202
+:1062800002020002000002000202020202020202F6
+:1062900002020202020202020202020202020202DE
+:1062A00002020202020202000101010101010101D8
+:1062B00001010101010101020200020000000002CF
+:1062C00000000000000000020000020100000000C9
+:1062D00000000200000202000000000000000000B8
+:1062E00002000000000202000000000000000000A8
+:1062F0000000000000000001020001000000000298
+:106300000000000002000202020202020202020277
+:106310000200000202020200000000000000000073
+:10632000000000000000000000000200000000006B
+:10633000000000000000000000000000000000005D
+:106340000000000000000002020102020000000044
+:10635000000000000000000202020202020202022B
+:106360000002020202020202020202020102020210
+:1063700002020202000202020202020202020202FF
+:1063800002020202000002000202020202020202F3
+:1063900002020202020202020202020202020202DD
+:1063A00002020202020202000101010101010101D7
+:1063B00001010101010101020202020000000002CC
+:1063C00000020000000200020000020200000000C3
+:1063D00000000200000202000100000000000000B6
+:1063E00002000000000202000000000000000000A7
+:1063F0000000000000000001020001000000000297
+:106400000000000002020202020202020202020274
+:106410000200000202020200000000000000000072
+:106420000000000000000002010002000000000067
+:106430000000000000000000000202000000000058
+:106440000000000000000002020202020001000041
+:106450000000000000000202020202020202020228
+:10646000020202020202020202020202020202020C
+:1064700002020202000202020202020202020202FE
+:1064800002020202020202020202020202020202EC
+:1064900002020202020202020202020202020202DC
+:1064A00002020202020202000101000101010101D7
+:1064B00001010101010101020202020000000002CB
+:1064C00000020000000200020000020200000000C2
+:1064D00000000200000202010100000000000000B4
+:1064E00002000000000202000002000000000000A4
+:1064F0000000000000000002020001000000000295
+:106500000000000002020202020202020202020273
+:10651000020000020202020002000200000000006D
+:106520000000000000000002010002000000000066
+:106530000000000000000002000202000000000055
+:10654000000000000000000202020202000100023E
+:106550000000000000020202020202020202020225
+:10656000020202020202020202020202020202020B
+:1065700002020202020202020202020202020202FB
+:1065800002020202020202020202020202020202EB
+:1065900002020202020201020202020202020202DC
+:1065A00002020202020202000101000101010101D6
+:1065B00001010101010101020202020002020002C6
+:1065C00000020000000200020000020200000000C1
+:1065D00000000202000202010200000000000000B0
+:1065E00002000000000202000002000000000000A3
+:1065F0000000000000000002020002000100000292
+:106600000000000002020202020202020202020272
+:10661000020000020202020002020200000000006A
+:10662000000000000000000201020200010202005E
+:106630000000000000000202000202000000000052
+:106640000000000000000002020202020202020238
+:106650000200000000020202020202020202020222
+:10666000020202020202020202020202020202020A
+:1066700002020202020202020202020202020202FA
+:1066800002020202020202020202020202020202EA
+:1066900002020202010101020202020202020202DD
+:1066A00002020202020202000100000100010101D7
+:1066B00001010101010101020202020002020002C5
+:1066C00000020000000200020000020200000000C0
+:1066D00000000202000202020200000000000000AE
+:1066E00002000000000202000002000000000000A2
+:1066F0000000000000000002020002010100000290
+:106700000000000002020202020202020202020271
+:106710000200000202020200020202000000000069
+:10672000000000000000000202020201020202005A
+:106730000000000000000202020202020101020049
+:106740000000000000020002020202020202020235
+:10675000020200000002020202020202020202021F
+:106760000202020202020202020202020202020209
+:1067700002020202020202020202020202020202F9
+:1067800002020202020201020202020202020202EA
+:1067900002020201010101020202020202020202DD
+:1067A00002020202020201000000000000000000DC
+:1067B00000000000000001020202020002020002CA
+:1067C00000020000000200020000020200000000BF
+:1067D00000000202000202020200000000000000AD
+:1067E00002000000000202010002000000000000A0
+:1067F000000000000000000202000201010000028F
+:106800000000000002020202020202020202020270
+:106810000200000202020200020202000200020064
+:106820000000000000000002020202020202020058
+:106830000000020000000202020202020202020044
+:106840000000000200020002020202020202020232
+:10685000020200000002020202020202020202021E
+:106860000202020202020202020202020202020208
+:1068700002020202020201020202020202020202F9
+:1068800002020202020201020202020202020202E9
+:1068900002020101010101020202020202020202DD
+:1068A00002020202010101000000000000000000DD
+:1068B00000000000000001020202020002020001CA
+:1068C00000010000000200020000020200000000BF
+:1068D00000020202000202020201000000000000A9
+:1068E000020000000002020100020000000000009F
+:1068F000000000000000000202000201020000028D
+:10690000000000000202020202020202020202026F
+:10691000020000020202020002020202020202025D
+:10692000000200020000020202020202020202024F
+:10693000020002020000020202020202020202023D
+:10694000000000020002020202020202020202022F
+:10695000020202000002020202020202020202021B
+:106960000202020202020202020202020202020207
+:1069700002020202020201020202020202020202F8
+:1069800002020202020201020202020202020202E8
+:1069900001020101010101020202020202020202DD
+:1069A00002020201010101000000000000000000DD
+:1069B00000000000000001020202020002020001C9
+:1069C00000010000020200020000020202000000BA
+:1069D00000020202020202020201000001000000A5
+:1069E000020000000002020202020000000000009B
+:1069F000000000000000000202000202020000028B
+:106A0000000000000202020202020202020202026E
+:106A1000020000020202020002020202020202025C
+:106A20000202020200020202020202020202020248
+:106A3000020002020200020202020202020202023A
+:106A4000020000020002020202020202020202022C
+:106A50000202020200020202020202020202020218
+:106A60000202020201010102020202020202020209
+:106A700002020202020101020202020202020202F8
+:106A800002020202020201020202020202020202E7
+:106A900001020101010101020202020202020202DC
+:106AA00002020201010101000000000000000000DC
+:106AB00000000000000001020202020002020001C8
+:106AC00000010000020200020000020202020000B7
+:106AD00000020202020202020201010001000000A3
+:106AE000020000000002020202020000000000009A
+:106AF000000000000000000202000202020000028A
+:106B0000000000000202020202020202020202026D
+:106B1000020200020101020002020202020202025B
+:106B20000202020200020202020202020202020247
+:106B30000202020202000202020202020202020237
+:106B40000200000202020202020202020202020229
+:106B50000202020200020202020202020202020217
+:106B60000202020101010102020202020202020209
+:106B700002020202020101020202020202020202F7
+:106B800002020202020201020202020202020201E7
+:106B900001010101010101020202020202020202DC
+:106BA00002020201010101000000000000000000DB
+:106BB00000000100000001020202020202020201C2
+:106BC00002010200020200020000020202020200B0
+:106BD000000202020202020202020200020000009F
+:106BE000020000000002010202020000000000009A
+:106BF0000000000000000002020002020200000289
+:106C0000000000000202010202020202020202026D
+:106C1000020200010101010002020202020202025C
+:106C20000202020200020202020202020202020246
+:106C30000202020202020202020202020202020234
+:106C40000202000202020202020202020202020226
+:106C50000202020202020202020202020202020214
+:106C60000202020101010102020202020202020208
+:106C700002020202020101020202020202020202F6
+:106C800002020201010101020102020202010101EC
+:106C900001010101010101020202020202020202DB
+:106CA00002020101010101000000000000000000DB
+:106CB00000000101010101020202010202010201C0
+:106CC00002010200020100020002020202020200AE
+:106CD000000202020202010202020201020000009E
+:106CE000020000000001010202020000000000009A
+:106CF0000000000000000002020002020200000288
+:106D0000000000000202010202020202020202026C
+:106D10000202000101010102020202020202020259
+:106D20000202020200020202020202020202020245
+:106D30000202020202020202020202020202020233
+:106D40000202000202020202020202020202020225
+:106D50000202020202020102020202020202020214
+:106D60000202010101010102020202020202020208
+:106D700002020202020101020202020202020201F6
+:106D800001010101010101020101020201010101F0
+:106D900001010101010101020202020202020101DC
+:106DA00001010101010101000000000000000000DC
+:106DB00000000101010101020202010201010201C0
+:106DC00002010200020100020002020202020200AD
+:106DD000000202020202010202020201020000009D
+:106DE0000200000000010102020200000000000099
+:106DF0000000000000000002020002020200000287
+:106E0000000000000102010202020202020202026C
+:106E10000202000101010102020202020202020258
+:106E20000202020200020202020202020202020244
+:106E30000202020202020102020202020202020233
+:106E40000202020202020202020202020202020222
+:106E50000202020202020102020202020202020213
+:106E60000202010101010102020202020202020108
+:106E700001010101010101020202020202010101FC
+:106E800001010101010101020101010101010101F1
+:106E900001010101010101020202020201010101DD
+:106EA00001010101010101000000000000000000DB
+:106EB00000000101010100020202010201010202BF
+:106EC00002020200020100020002020202020200AB
+:106ED000000202020202010202020202020000009B
+:106EE0000200000000010102020200000000000098
+:106EF0000000000000000002020102020200000285
+:106F0000000000000102010202020202020102026C
+:106F10000202020101010102020202020202020255
+:106F20000202020200020202020202020202020243
+:106F30000202020202020102020202020202020232
+:106F40000202020202020202020202020202020221
+:106F50000202020202010102020202010202020214
+:106F60000202010101010102020202020201010109
+:106F700001010101010101020202020101010101FD
+:106F800001010101010101020101010101010101F0
+:106F900001010101010101020102020101010101DE
+:106FA00001010101010101000000000000000000DA
+:106FB00000000101010100020202010201010202BE
+:106FC00002020102010100020002020202020200AA
+:106FD0000202020202010102020202020200000099
+:106FE0000200000002010102020200000000000095
+:106FF0000000000000020002020202020200000281
+:10700000000000000101010202020102020102026D
+:107010000202020101010102020202020202020254
+:107020000202020200020102020202020202020243
+:107030000202020202020102020202020202020231
+:107040000202020202010102020202020202020222
+:107050000202020202010102020202010202020213
+:10706000020101010101010201020201020101010B
+:1070700001010101010101020102020101010101FD
+:1070800001010101010101020101010101010101EF
+:1070900001010101010101020101010101010101DF
+:1070A00001010101010101000000000000000000D9
+:1070B00000000101010100020202010201010202BD
+:1070C00001020102010100020002020202020200AA
+:1070D0000202010202010102020202020201000098
+:1070E0000100000002010102020200000000000095
+:1070F000000000000002000202020202020200027E
+:10710000000000020101010201020101020102016D
+:107110000102020101010102020202020202020254
+:107120000202020200020102020202020202020242
+:107130000202020202020102020202020202020230
+:107140000202020202010102020202020202020221
+:107150000202020202010102010102010201010117
+:10716000010101010101010201020101020101010C
+:1071700001010101010101020101020101010101FD
+:1071800001010101010101020101010101010101EE
+:1071900001010101010101020101010101010101DE
+:1071A00001010101010101000000000000000000D8
+:1071B00000000101010100010202020201020102BC
+:1071C00001020202010100020002020202020200A8
+:1071D0000202010202010102020202020202000096
+:1071E0000100000002010102020200000000000094
+:1071F0000200000000020202020202020202020178
+:10720000020002020101010201010101020101016A
+:107210000102020101010102020202020202020253
+:107220000202020100010102020202020202020243
+:107230000202020201010102020202020202020231
+:107240000202020101010102020202020202020222
+:107250000202020202010102010101010101010118
+:10726000010101010101010201010101020101010C
+:1072700001010101010101020101020101010101FC
+:1072800001010101010101020101010101010101ED
+:1072900001010101010101020101010101010101DD
+:1072A00001010101010101000000000000000000D7
+:1072B00000000101010100010201020202020102BB
+:1072C00001020202010100020002020202020200A7
+:1072D0000202010202010102020202020202000293
+:1072E0000100000002010102020200000000000093
+:1072F0000202000000020202020202020202020175
+:107300000202020201010102010101010101010168
+:107310000102020101010102020202020202020252
+:107320000202010102010102020202020202020241
+:107330000202010101010102020202020202020232
+:107340000202020101010102020202010202020123
+:10735000010101010101010201010101010101011C
+:10736000010101010101010201010101020101010B
+:1073700001010101010101020101010101010101FC
+:1073800001010101010101020101010101010101EC
+:1073900001010101010101020101010101010101DC
+:1073A00001010101010101000000000000000000D6
+:1073B00000000101010100010101020202020102BB
+:1073C00002020101010100020202020202020200A5
+:1073D0000202010101010102020202020202000294
+:1073E0000100000002010102020100000000000093
+:1073F0000202000000020202010202020202020175
+:107400000202020201010102010101010101010167
+:107410000102020101010102020202020202020251
+:107420000202010102010102020202020202010241
+:107430000202010101010102020102020202010233
+:107440000202020101010102010202010202010124
+:10745000010101010101010201010101010101011B
+:10746000010101010101010201010101010101010B
+:1074700001010101010101020101010101010101FB
+:1074800001010101010101020101010101010101EB
+:1074900001010101010101010101010101010101DC
+:1074A00001010101010101000000000000000000D5
+:1074B00000000001010000010101020102020201BD
+:1074C00002010101010100020202010202020202A4
+:1074D0000202010101010102020202020202000293
+:1074E0000102000002010102010101000000000090
+:1074F0000202020000020202010202020202020172
+:107500000202020201010102010101010101010166
+:107510000101020101010102020202020202020251
+:107520000201010102010102020201020201010144
+:107530000101010101010102020101020202010136
+:107540000102020101010102010201010102010126
+:10755000010101010101010101010101010101011B
+:10756000010101010101010201010101010101010A
+:1075700001010101010101020101010101010101FA
+:1075800001010101010101010101010101010101EB
+:1075900001010101010101010101010101010101DB
+:1075A00001010101010101000000000000000000D4
+:1075B00000000000000000010101020202020201BD
+:1075C00002010101010100020202010202020202A3
+:1075D0000202010101010102020202020202020290
+:1075E000010200000201010201010100000000008F
+:1075F0000202020000010102010202020202020173
+:107600000202020201010102010101010101010165
+:107610000101010101010102010102020202010155
+:107620000101010102010102020201020101010145
+:107630000101010101010102020101010101010138
+:10764000010101010101010101010101010101012A
+:10765000010101010101010101010101010101011A
+:107660000101010101010102010101010101010109
+:1076700001010101010101010101010101010101FA
+:1076800001010101010101010101010101010101EA
+:1076900001010101010101010101010101010101DA
+:1076A00001010101010101000000000000000000D3
+:1076B00000010000000000010101010102010201BE
+:1076C00001010101010100020202010202020202A3
+:1076D000020201010101010202020202020202028F
+:1076E000010200000101010201010100000000008F
+:1076F0000202020000010102010202020202020172
+:107700000202020201010101010101010101010165
+:107710000101010101010102010101020101010157
+:107720000101010101010102020101010101010147
+:107730000101010101010102010101010101010138
+:107740000101010101010101010101010101010129
+:107750000101010101010101010101010101010119
+:107760000101010101010101010101010101010109
+:1077700001010101010101010101010101010101F9
+:1077800001010101010101010101010101010101E9
+:1077900001010101010101010101010101010101D9
+:1077A00001010101010101000000000000000000D2
+:1077B00001010000000000020101010101010101BD
+:1077C00001010101010100010202010102020202A4
+:1077D000020101010101010202020202020202028F
+:1077E000010200000101010201010200000000008D
+:1077F000020202020001010201020202020202016F
+:107800000202020101010101010101010101010165
+:107810000101010101010102010101010101010157
+:107820000101010101010102020101010101010146
+:107830000101010101010102010101010101010137
+:107840000101010101010101010101010101010128
+:107850000101010101010101010101010101010118
+:107860000101010101010101010101010101010108
+:1078700001010101010101010101010101010101F8
+:1078800001010101010101010101010101010101E8
+:1078900001010101010101010101010101010101D8
+:1078A00001010101010101000000000000000001D0
+:1078B00001010000000000020101010101010101BC
+:1078C00001010101010100010202010102020202A3
+:1078D000020101010101010201020202020202028F
+:1078E000010202000101010201010200000000008A
+:1078F000020202020001010201020202020202016E
+:107900000202010101010101010101010101010165
+:107910000101010101010102010101010101010156
+:107920000101010101010101010101010101010147
+:107930000101010101010102010101010101010136
+:107940000101010101010101010101010101010127
+:107950000101010101010101010101010101010117
+:107960000101010101010101010101010101010107
+:1079700001010101010101010101010101010101F7
+:1079800001010101010101010101010101010101E7
+:1079900001010101010101010101010101010101D7
+:1079A00001010101010101000100000000000001CE
+:1079B00001010000000000020101010101010101BB
+:1079C00001010101010100010202010102020102A3
+:1079D000020101010101010201020202020202028E
+:1079E0000102020201010102010102000100000086
+:1079F0000101010101010102010201020102020172
+:107A00000202010101010101010101010101010164
+:107A10000101010101010102010101010101010155
+:107A20000101010101010101010101010101010146
+:107A30000101010101010101010101010101010136
+:107A40000101010101010101010101010101010126
+:107A50000101010101010101010101010101010116
+:107A60000101010101010101010101010101010106
+:107A700001010101010101010101010101010101F6
+:107A800001010101010101010101010101010101E6
+:107A900001010101010101010101010101010101D6
+:107AA00001010101010101000100000000000101CC
+:107AB00001010000000000020101010101010101BA
+:107AC00001010101010000010202010101010102A5
+:107AD000010101010101010201020202010202028F
+:107AE0000102020201010102010102010100000084
+:107AF0000101010101010102010201010102020172
+:107B00000101010101010101010101010101010165
+:107B10000101010101010102010101010101010154
+:107B20000101010101010101010101010101010145
+:107B30000101010101000101010101010101010136
+:107B40000101010101010101010101010101010125
+:107B50000101010101010101010101010101010115
+:107B60000101010101010101010101010101010105
+:107B700001010101010101010101010101010101F5
+:107B800001010101010101010101010101010101E5
+:107B900001010101010101010101010101010101D5
+:107BA00001010101010101000100000100010101C9
+:107BB00001010000000000020101010101010101B9
+:107BC00001010101010000010201010101010102A5
+:107BD0000101010101010102010201020102020190
+:107BE0000101020201010102010102010100000084
+:107BF0000101010101010102010201010101010173
+:107C00000101010101010101010101010101010164
+:107C10000101010101010102010101010101010153
+:107C20000101010101010101010101010101010144
+:107C30000101010101000101010101010101010135
+:107C40000101010101010101010101000101010125
+:107C50000101010101010101010101010101010114
+:107C60000101010101010101010101010101010104
+:107C700001010101010101010101010101010101F4
+:107C800001010101010101010001010101010101E5
+:107C900001010101010101010101010101010101D4
+:107CA00001010101010101000100000100010101C8
+:107CB00001010000000000020101010101010101B8
+:107CC00001010101000001010201010101010102A4
+:107CD0000101010101010102010101010101020192
+:107CE0000101010101010102010102010200000084
+:107CF0000101010101010101010201010101010173
+:107D00000101010101010101010101010101010163
+:107D10000101010101010102010101010101010152
+:107D20000101010101010101010101010101010143
+:107D30000101010101010101010101010101010133
+:107D40000101010101010100010101000101010125
+:107D50000101010101010101010101010101010113
+:107D60000101010101010101010101010101010103
+:107D700001010101010101010101010101010101F3
+:107D800001010101010101010000010101010101E5
+:107D900000010000000000010101010101010101D9
+:107DA00001010101010101020202020202020202BA
+:107DB00002020202020202010100010101010101AD
+:107DC00001010001000001010201010101010102A4
+:107DD0000101010101010101010101010101010193
+:107DE0000101010101010101010102020200000083
+:107DF0000101010101010101010101010101010173
+:107E00000101010101010101010101010101010162
+:107E10000101010101010102010101010101010151
+:107E20000101010101010101010100010101010143
+:107E30000101010101010101010101010101010132
+:107E40000101010101010100010101010101010123
+:107E50000101010101010101010101010101010112
+:107E60000101010101010101010101010101010102
+:107E700001010101010101010101010101010101F2
+:107E800001010101010101010000000000000000EA
+:107E900000000000000000010101010101010101D9
+:107EA00001010101010101020202020202020202B9
+:107EB00002020202020202010100010101010100AD
+:107EC00001000000000001010201010101010101A6
+:107ED0000101010101010101010101010101010192
+:107EE0000101010101010101010102020200000082
+:107EF0000101010101010101010101010101010172
+:107F00000101010101010101010101010101010161
+:107F10000101010101010101010101010101010151
+:107F20000101010101010101010101010101010141
+:107F30000101010101010101010101010101010131
+:107F40000101010101010101010101010101010121
+:107F50000101010101010101010101010101010111
+:107F60000101010101010101010101010101010101
+:107F700001010101010101010101010101010101F1
+:107F800001010101010101000200000000000000E8
+:107F900000000000000000010101010101010101D8
+:107FA00001010101010101020202020202020202B8
+:107FB00002020202020202010100000001000100AF
+:107FC00000000000000001010101010101010101A7
+:107FD0000101010101010101010101010101010191
+:107FE000010101010101010102010202020002007E
+:107FF0000101010101010101010101010101010171
+:108000000101010101010101010101010101010160
+:108010000101010101010101010101010101010150
+:108020000101010101010101010101010101010140
+:108030000101010101010101010101010101010130
+:108040000101010101010101010101010101010120
+:108050000101010101010101010101010101010110
+:108060000101010101010101010101010101010100
+:1080700001010101010101010101010101010101F0
+:1080800001010101010101000202000000000000E5
+:1080900002000202020202010101010101010101CB
+:1080A00001010101010101020202020202020202B7
+:1080B00002020202020202010100000000000000B0
+:1080C00000000000000001010101010101010101A6
+:1080D0000101010101010101010101010101010190
+:1080E000010101010101010102010202020002007D
+:1080F0000101010101010101010101010101010170
+:10810000010101010101010101010101010101015F
+:10811000010101010101010101010101010101014F
+:10812000010101010101010101010101010101013F
+:10813000010101010101010101010101010101012F
+:10814000010101010101010101010101010101011F
+:10815000010101010101010101010101010101010F
+:1081600001010101010101010101010101010101FF
+:1081700001010101010101010001010101010101F0
+:1081800001010101010100000202020202020202D9
+:1081900002020202020202010201010101010101C7
+:1081A00001010102020202020202020202020202B2
+:1081B00002020202020202010000000000000000B0
+:1081C00000000000000001010101010101010101A5
+:1081D000010101010101010101010101010101018F
+:1081E000010101010101010102010202020002007C
+:1081F000010101010101010101010101010101016F
+:10820000010101010101010101010101010101015E
+:10821000010101010101010101010101010101014E
+:10822000010101010101010101010101010101013E
+:10823000010101010101010101010101010101012E
+:10824000010101010101010101010101010101011E
+:10825000010101010101010101010101010101010E
+:1082600001010101010101010201010101010101FD
+:1082700001010101010101010200010000000000F3
+:1082800000000000000002020202020202020202DA
+:1082900002020202020202010202020202020202BF
+:1082A00002020202020202020202020202020202AE
+:1082B00002020202020202010000000000000000AF
+:1082C00000000000000001010101010101010101A4
+:1082D000010101010101010101010101010101018E
+:1082E0000101010101010101020102020200020279
+:1082F000010101010101010101010101010101016E
+:10830000010101010101010101010201010201015B
+:10831000010101010101010101010101010101014D
+:10832000010101010101010101010101010101013D
+:10833000010101010101010101010101010101012D
+:10834000010101010101010101010101010101011D
+:10835000010101010101010101010101010101010D
+:1083600001010101010101010101020101010101FC
+:1083700001010101010100000202000202020202E9
+:1083800002020202020202020202020202020202CD
+:1083900002020202020202020202020202020202BD
+:1083A00002020202020202020202020202020202AD
+:1083B00002020202020202010000000000000000AE
+:1083C00000000000000101010101010101010101A2
+:1083D000010101010101010101010101010101018D
+:1083E0000101010101010101020202020200010278
+:1083F000010101010101010101010101010101016D
+:108400000101010101010101020102010102010159
+:10841000010101010101010101010101010101014C
+:10842000010101010101010101010101010101013C
+:10843000010101010101010101000101010101012D
+:10844000010101010101010101010101010101011C
+:10845000010101010101010101000100010101010E
+:108460000101000201010101000001000100000002
+:1084700000000000000202020202020202020202E6
+:1084800002020202020202020202020202020202CC
+:1084900002020202020202020202020202020202BC
+:1084A00002020202020202020202020202020202AC
+:1084B00002020202020202010100000000000000AC
+:1084C00000000000000101010101010101010101A1
+:1084D000010101010101010101010101010101018C
+:1084E0000101010101010101020201020202010177
+:1084F000010101010101010101010101010101016C
+:108500000101010101010101020102010102010158
+:10851000010101010101010101010101010101014B
+:10852000010101010101010101010101010101013B
+:10853000010101010101010101000101010101012C
+:10854000010101010101010102010101010101011A
+:10855000010101010101010102000100010101010C
+:1085600001010001020202000202000200020202F6
+:1085700002020202020202020202020202020202DB
+:1085800002020202020202020202020202020202CB
+:1085900002020202020202020202020202020202BB
+:1085A00002020202020202020202020202020202AB
+:1085B00002020202020202010100000000000000AB
+:1085C000000000000101010101010101010101019F
+:1085D000010101010101010101010101010101018B
+:1085E0000101010101010101020201020102010177
+:1085F000010101010101010101010101010101016B
+:10860000010101010101010101010101010101015A
+:108610000101010102020201010201010101010146
+:108620000101020201010101010101010101010138
+:10863000010101010101000102000001000100012E
+:108640000101010102010102010101010101010118
+:108650000101010101010002020202020202020202
+:1086600002020202020202020202020202020202EA
+:1086700002020202020202020202020202020202DA
+:1086800002020202020202020202020202020202CA
+:1086900002020202020202020202020202020202BA
+:1086A00002020202020202020202020202020202AA
+:1086B00002020202020202010100000000000000AA
+:1086C000000000000101010101010101010101019E
+:1086D000010101010101010101010101010101018A
+:1086E0000101010101010101010201010102010178
+:1086F0000101010202010101010101010101010168
+:108700000101010101010101010201020101010157
+:108710000102020202020201000101010101010144
+:10872000010101010101000000010100000102003E
+:10873000010001010100000101000002020000002F
+:108740000001010101000001000000000001000023
+:108750000000000000020202020202020202020203
+:1087600002020202020202020202020202020202E9
+:1087700002020202020202020202020202020202D9
+:1087800002020202020202020202020202020202C9
+:1087900002020202020202020202020202020202B9
+:1087A00002020202020202020202020202020202A9
+:1087B00002020202020202000101000000000000A9
+:1087C000000001010101010101010101010101019B
+:1087D0000101010101010101010101010101010189
+:1087E0000101010101010101010201010101010178
+:1087F0000101010202010101010101010101010167
+:108800000101010101010102000201020201020253
+:108810000202020201010101000001010101010146
+:108820000101000000000000000102000001010041
+:108830000200010100000000000000010200000031
+:108840000000000200020200020202020202020212
+:1088500002020202020202020202020202020202F8
+:1088600002020202020202020202020202020202E8
+:1088700002020202020202020202020202020202D8
+:1088800002020202020202020202020202020202C8
+:1088900002020202020202020202020202020202B8
+:1088A00002020202020202020202020202020202A8
+:1088B00002020202020202010101000000000001A6
+:1088C0000101010101010101010101010101010198
+:1088D0000101010101010101010101010101010188
+:1088E0000101010101010102010101010101010177
+:1088F0000101010202010101000101010101010167
+:10890000010101010101010100010001010001015A
+:10891000010101010101010000000101010101014A
+:108920000101000000000000000201000002000040
+:10893000010002020200020202020202020202021C
+:108940000202020202020202020202020202020207
+:1089500002020202020202020202020202020202F7
+:1089600002020202020202020202020202020202E7
+:1089700002020202020202020202020202020202D7
+:1089800002020202020202020202020202020202C7
+:1089900002020202020202020202020202020202B7
+:1089A00002020202020202020202000200020202AB
+:1089B00002020202020000010101010101010101A4
+:1089C0000101010101010101010101010101010197
+:1089D0000101010101010101010101010101010187
+:1089E0000201010101010102010101010101010175
+:1089F0000202020202010101000101010101010262
+:108A0000010101010101000000010001000000005E
+:108A10000001010100000000020002020202020245
+:108A2000020200000002020202020202020202022C
+:108A30000202020202020202020202020002020218
+:108A40000202020202020202020202020202020206
+:108A500002020202020202020202020202020202F6
+:108A600002020202020202020202020202020202E6
+:108A700002020202020202020202020202020202D6
+:108A800002020202020202020202020202020202C6
+:108A900002020202020202020202020202020202B6
+:108AA00002020202020202020202000200000002AE
+:108AB00002020200000000010101010101010101A7
+:108AC0000101010101010101010101010101010196
+:108AD0000101010101010101000101010101010187
+:108AE0000101010101000002010101010101010177
+:108AF0000202020101020201020101010101010160
+:108B0000010100000202020202020002020002024F
+:108B1000020000020202020002020202020202023B
+:108B20000202020202020202020202020202020225
+:108B30000202020202020202020202020002020217
+:108B40000202020202020202020202020202020205
+:108B500002020202020202020202020202020202F5
+:108B600002020202020202020202020202020202E5
+:108B700002020202020202020202020202020202D5
+:108B800002020202020202020202020202020202C5
+:108B900002020202020202020202020202020202B5
+:108BA00002020202020202020202000200000000AF
+:108BB00000000000000000010101010101010101AC
+:108BC0000101010101010102020201010101010192
+:108BD000010101010202020100000000000000008A
+:108BE000000000000100000101010101010101017B
+:108BF000010101010101010202020202020202025C
+:108C00000202020202020202020202020202020244
+:108C10000202020202020202020202020202020234
+:108C20000202020202020202020202020202020224
+:108C30000202020202020202020202020202020214
+:108C40000202020202020202020202020202020204
+:108C500002020202020202020202020202020202F4
+:108C600002020202020202020202020202020202E4
+:108C700002020202020202020202020202020202D4
+:108C800002020202020202020202020202020202C4
+:108C900002020202020202020202020202020202B4
+:108CA00002020202020202020202000000000000B0
+:108CB00000000000000000010101010101010101AB
+:108CC0000101010101010101010101010101010194
+:108CD000010101010101010002000000000000008B
+:108CE0000000000002020201010101010101010076
+:108CF0000101010101020202020202020202020259
+:108D00000202020202020202020202020202020243
+:108D10000202020202020202020202020202020233
+:108D20000202020202020202020202020202020223
+:108D30000202020202020202020202020202020213
+:108D40000202020202020202020202020202020203
+:108D500002020202020202020202020202020202F3
+:108D600002020202020202020202020202020202E3
+:108D700002020202020202020202020202020202D3
+:108D800002020202020202020202020202020202C3
+:108D900002020202020202020202020202020202B3
+:108DA00002020202020202020200000000000000B1
+:108DB00000000000000000010101010101010101AA
+:108DC0000101010101010100000000000101000199
+:108DD0000001000000000002020202020202020280
+:108DE000020202020202020102020101010102006A
+:108DF0000202020101020202020202020202020255
+:108E00000202020202020202020202020202020242
+:108E10000202020202020202020202020202020232
+:108E20000202020202020202020202020202020222
+:108E30000202020202020202020202020202020212
+:108E40000202020202020202020202020202020202
+:108E500002020202020202020202020202020202F2
+:108E600002020202020202020202020202020202E2
+:108E700002020202020202020202020202020202D2
+:108E800002020202020202020202020202020202C2
+:108E900002020202020202020202020202020202B2
+:108EA00002020202020202020200000000000000B0
+:108EB00000000000000000010101010101010101A9
+:108EC0000101010101010100000000000101000198
+:108ED000000100000000000202020202020202027F
+:108EE0000202020202020202020202020202020262
+:108EF0000202020202020202020202020202020252
+:108F00000202020202020202020202020202020241
+:108F10000202020202020202020202020202020231
+:108F20000202020202020202020202020202020221
+:108F30000202020202020202020202020202020211
+:108F40000202020202020202020202020202020201
+:108F500002020202020202020202020202020202F1
+:108F600002020202020202020202020202020202E1
+:108F700002020202020202020202020202020202D1
+:108F800002020202020202020202020202020202C1
+:108F900002020202020202020202020202020202B1
+:108FA00002020202020202020200000000000000AF
+:108FB00000000000000000010101010101010101A8
+:108FC0000101010101010102020202020202020288
+:108FD0000202020202020202020202020202020271
+:108FE0000202020202020202020202020202020261
+:108FF0000202020202020202020202020202020251
+:109000000202020202020202020202020202020240
+:109010000202020202020202020202020202020230
+:109020000202020202020202020202020202020220
+:109030000202020202020202020202020202020210
+:109040000202020202020202020202020202020200
+:1090500002020202020202020202020202020202F0
+:1090600002020202020202020202020202020202E0
+:1090700002020202020202020202020202020202D0
+:1090800002020202020202020202020202020202C0
+:1090900002020202020202020202020202020202B0
+:1090A00002020202020202020200000000000000AE
+:1090B00000000000000000010101010101010101A7
+:1090C0000101010101010101010101010101010190
+:1090D0000101010101010101010101010101010180
+:1090E0000101010101010101010101010101010170
+:1090F0000101010101010101010101010101010160
+:10910000010101010101010101010101010101014F
+:10911000010101010101010101010101010101013F
+:10912000010101010101010101010101010101012F
+:10913000010101010101010101010101010101011F
+:10914000010101010101010101010101010101010F
+:1091500001010101010101010101010101010101FF
+:1091600001010101010101010101010101010101EF
+:1091700001010101010101010101010101010101DF
+:1091800001010101010101010101010101010101CF
+:1091900001010101010101010101010101010101BF
+:1091A00001010101010101020000000000000000B6
+:1091B00000000000000000010101010101010101A6
+:1091C0000101010101010100000000000000000098
+:1091D0000000000000000001010101010101010186
+:1091E000010101010101010101010101010101016F
+:1091F000010101010101010101010101010101015F
+:10920000010101010101010101010101010101014E
+:10921000010101010101010101010101010101013E
+:10922000010101010101010101010101010101012E
+:10923000010101010101010101010101010101011E
+:10924000010101010101010101010101010101010E
+:1092500001010101010101010101010101010101FE
+:1092600001010101010101010101010101010101EE
+:1092700001010101010101010101010101010101DE
+:1092800001010101010101010101010101010101CE
+:1092900001010101010101000000000000000000C7
+:1092A00000000000000000020000000000000000BC
+:1092B00000000000000000000000000000000000AE
+:1092C000000000000000000000000000000000009E
+:1092D000000000000000000000000000000000008E
+:1092E000000000000000000000000000000000007E
+:1092F000000000000000000000000000000000006E
+:10930000000000000000000000000000000000005D
+:10931000000000000000000000000000000000004D
+:10932000000000000000000000000000000000003D
+:10933000000000000000000000000000000000002D
+:10934000000000000000000000000000000000001D
+:10935000000000000000000000000000000000000D
+:1093600000000000000000000000000000000000FD
+:1093700000000000000000000000000000000000ED
+:1093800000000000000000000000000000000000DD
+:1093900000000000000000000000000000000000CD
+:1093A00000000000000000000000000000000000BD
+:1093B000000000000000003300000000000000007A
+:1093C000000000000000000000000000000000009D
+:1093D000000000000000000000000000000000008D
+:1093E000000000000000000000000000000000007D
+:1093F000000000000000000000000000000000006D
+:10940000000000000000000000000000000000005C
+:10941000000000000000000000000000000000004C
+:10942000000000000000000000000000000000003C
+:109430000002000000000000000000000202000026
+:10944000000000000000000000000002000000001A
+:10945000000000000000000000000000000000000C
+:1094600002000200000000000000000002020000F4
+:1094700000000100000000000000000200000200E7
+:1094800000000000000000000000000000000000DC
+:1094900000000000000000000000000000000000CC
+:1094A00000000000000000000000000000000000BC
+:1094B00000000000000000000000000000000000AC
+:1094C000000000000000000000000000000000009C
+:1094D000000000000000000000000000000000008C
+:1094E000000000000000000000000000000000007C
+:1094F000000000000000000000000000000000006C
+:10950000000000000000000000000000000000005B
+:10951000000000000000000000000000000000004B
+:10952000000000000000000000000000000000003B
+:109530000002000000000000000000000202000025
+:109540000000020000000000000000020200000015
+:10955000000000000000000000000000000000000B
+:1095600002000200000000020000000002020200EF
+:1095700000010200000002000000000200000200E2
+:1095800000000000000000000000000000000000DB
+:1095900000000000000000000000000000000000CB
+:1095A00000000000000000000000000000000000BB
+:1095B00000000000000000000000000000000002A9
+:1095C000000000000000000000000000000000009B
+:1095D0000000000001000000000200000000020086
+:1095E000000000000000000000000000000000007B
+:1095F0000000000000000000000000000000020069
+:109600000002000000000000000200000002020052
+:109610000000010000000000000000020000020045
+:109620000000020000000000000000000002000036
+:109630000002000000000000000000000202000222
+:109640000200020000020000000000020200000010
+:10965000000000000000000000000000000000000A
+:1096600002010201000000020000000002020200EC
+:1096700002020200020002000000000200000200DC
+:1096800000010000000000000000000002020002D3
+:1096900002000200020000000002000200000202BC
+:1096A00002000200000000000000000200000200B2
+:1096B00000020200000000000000000000000002A4
+:1096C000000000000000000000000000000000009A
+:1096D000000000020101020202020000000202007A
+:1096E0000000000000000000000000000000020078
+:1096F0000000000000000000000000000000020068
+:10970000000200000000000000020000020202004F
+:109710000001010000000000000000020000020241
+:109720000002020000000000000000000002000231
+:10973000020200000100000000000000020202021C
+:10974000020002000102020000000002020200000A
+:109750000000000000000000000000000000000207
+:1097600002020202000000020000000002020200E9
+:1097700002020202020202000200000200000200D5
+:1097800002020100010000000000000202020202C9
+:1097900002020202020202020202020202020202A9
+:1097A00002020202000002000000000202020200A7
+:1097B0000202020202000002000200000000000299
+:1097C0000000000000000000000000000000000099
+:1097D0000000000201010202020200000002020079
+:1097E0000000000000000000000000000000020077
+:1097F0000000000000000000000000000000020067
+:10980000000200000100000000020000020202004D
+:10981000000101000100000000020002000002023D
+:10982000000202000200020000000000000200022C
+:109830000202000101010000020000000202020217
+:109840000200020001020200000200020202020005
+:109850000000000000000000000000000000000206
+:1098600002020202000202020200000002020202E0
+:1098700002020202020202000202000200000200D2
+:1098800002020202020002000200000202020202C0
+:1098900002020202020202020202020202020202A8
+:1098A00002020202020002000002000202020200A2
+:1098B0000202020202020202000200000000000294
+:1098C0000000000000000000000000000000000098
+:1098D0000001000202010202020200000002020076
+:1098E0000100000000000000000000000000020075
+:1098F0000000000000000000000000000000020066
+:109900000002000201000002000200000202020048
+:109910000001020001000000000202020000020239
+:109920000002020202000200000000020202020223
+:109930000202000102010000020200020202020211
+:109940000202020201020200000200020202020000
+:109950000000000000000000000000000000000205
+:1099600002020202020202020202000002020202DB
+:1099700002020202020202020202020200000202CB
+:1099800002020202020002000202000202020202BD
+:1099900002020202020202020202020202020202A7
+:1099A0000202020202020202020202020202020099
+:1099B0000202020202020202020200000000000291
+:1099C0000000000000000000000000000000000097
+:1099D0000002000202020202020200000002020073
+:1099E0000100000000000000000000000000020074
+:1099F0000000000000000000000000000000020065
+:109A00000002000201000002000200000202020245
+:109A10000102020001000000000202020000020236
+:109A20000102020202010200000000020202020220
+:109A3000020200020202000202020202020202020A
+:109A400002020202020202000202000202020202FA
+:109A50000200000000000000000000000000000202
+:109A600002020202020202020202020002020202D8
+:109A700002020202020202020202020200000202CA
+:109A800002020202020202020202020202020202B6
+:109A900002020202020202020202020202020202A6
+:109AA0000202020202020202020202020202020098
+:109AB000020202020202020202020200000000028E
+:109AC0000000000000000000000000000000000096
+:109AD0000002000202020202020200000002020072
+:109AE0000100000000000000000000000000020073
+:109AF0000000000000000000000000000000020064
+:109B00000102000202010002000200000202020241
+:109B10000202020002000000000202020000020233
+:109B2000020202020201020002020002020202021A
+:109B30000202010202020002020202020202020208
+:109B400002020202020202000202000202020202F9
+:109B50000201000000000000000000000000000200
+:109B600002020202020202020202020002020202D7
+:109B700002020202020202020202020202020202C5
+:109B800002020202020202020202020202020202B5
+:109B900002020202020202020202020202020202A5
+:109BA0000202020202020202020202020202020097
+:109BB000020202020202020202020202000000028B
+:109BC0000200000000000000000000000002000091
+:109BD0000002000202020202020200000002020071
+:109BE0000200000000000000000000000000020071
+:109BF000010001000000000000000000000002025F
+:109C00000102000202010002000200000202020240
+:109C10000202020002000000000202020000020232
+:109C20000202020202020202020202020202020214
+:109C30000202020202020202020202020202020204
+:109C400002020202020202000202000202020202F8
+:109C500002020000000000000000000000000202FC
+:109C600002020202020202020202020002020202D6
+:109C700002020202020202020202020202020102C5
+:109C800002020202020202020202020202020202B4
+:109C900002020202020202020202020102020102A6
+:109CA0000202020202020202020202020202020096
+:109CB0000202020202020202020202020202000286
+:109CC0000200000000000000000000000002000090
+:109CD0000002000202020202020200000002020070
+:109CE0000200000000000000000000000000020070
+:109CF000010101000000000000000000000002025D
+:109D0000020200020202000200020000020202023D
+:109D1000020202010201000000020202000002022F
+:109D20000202020202020202020202020202020213
+:109D30000202020202020202020202020202020203
+:109D400002020202020202020202020202020202F3
+:109D500002020200000002000000000000000202F7
+:109D600002020202020202020202020202020202D3
+:109D700002020202020202020202020102020102C5
+:109D800002020202020202020202020202020202B3
+:109D900002020202020202020202020101010102A7
+:109DA0000202020202020202020202020202020095
+:109DB0000101010101010101010101010101000293
+:109DC000020000000000000002000000020200008B
+:109DD000000200020202020202020000000202006F
+:109DE000020000010000000000000000000002026C
+:109DF000020101000000000000000000000002025B
+:109E0000020200020202000200020000020202023C
+:109E1000020202020202000000020202000002022C
+:109E20000202020202020202020202020202020212
+:109E30000202020202020202020202020202020202
+:109E400002020202020202020202020202020202F2
+:109E500002020202020202020000000200000202EC
+:109E600002020202020202020202020201010102D5
+:109E700002020202020202020202020102020102C4
+:109E800002020202020202020202020202020202B2
+:109E900002020202020202020202020101010102A6
+:109EA0000202020202020202020202020202010095
+:109EB0000101010101010101010101010101000292
+:109EC000020000000000000002000000020200008A
+:109ED000000200020202020202020000020202026A
+:109EE000020000010000000000000000000002026B
+:109EF0000201020000000000000000000000020259
+:109F0000020200020202000200020000020202023B
+:109F10000202020202020200000202020000020229
+:109F20000202020202020202020202020202020211
+:109F30000202020202020202020202020202020201
+:109F400002020202020202020202020202020202F1
+:109F500002020202020202020000000200000202EB
+:109F600002020202020202020202020201010102D4
+:109F700002020202020202020202020102020102C3
+:109F800002020202020202020202020201010102B4
+:109F900002020202020202020201010101010102A7
+:109FA0000202020202020202020202010101010097
+:109FB0000101010101010101010101010101000291
+:109FC0000202000000000000020002000202000184
+:109FD0000002010202020202020200000202020268
+:109FE000020000010000000000000000000002026A
+:109FF0000202020000000000000000020000020255
+:10A00000020200020202000200020000020202023A
+:10A010000202020202020200000202020000020228
+:10A020000202020202020202020202020202020210
+:10A030000202020202020202020202020101020202
+:10A0400002020202020202020202020202020202F0
+:10A0500002020202020202020202000200000202E6
+:10A0600002020202020202020202020201010102D3
+:10A0700002020202020202020202020102020102C2
+:10A0800002020202020202020202020101010102B4
+:10A0900002020202020202010101010101010102A8
+:10A0A0000202020202020202020202010101010096
+:10A0B0000101010101010101010101010101000290
+:10A0C0000202000000000000020002000202000282
+:10A0D0000002020202020202020200000202020266
+:10A0E0000200000200000000000000000000020268
+:10A0F0000202020100000000000000020000020253
+:10A100000202000202020002000200000202020239
+:10A110000202020202020202020202020000020223
+:10A120000202020202020202020202020201020210
+:10A130000202020202020202020202020101010202
+:10A1400002020202020202020202020101020202F1
+:10A1500002020202020202020202020200000202E3
+:10A1600002020202020202020202020201010102D2
+:10A1700002020202020202020202020101010102C3
+:10A1800002020202020202020202020101010102B3
+:10A1900002020202010102010101010101010102A9
+:10A1A0000202020202020202020202010101010095
+:10A1B000010101010101010101010101010101028E
+:10A1C0000202020000000200020202020202000279
+:10A1D0000002020202020202020200020202010264
+:10A1E0000200000200000000000000000000020267
+:10A1F0000202020100000000000000020000020252
+:10A200000202000202020002000200020102010238
+:10A210000202020202020202020202020000010223
+:10A220000202020202020202020202020201010210
+:10A230000202020202020202020202020101010201
+:10A2400002020202020202020202020101010102F2
+:10A2500002020202020202020202020200000202E2
+:10A2600002020202020202020202020201010102D1
+:10A2700002020202020201020101010101010102C6
+:10A2800002020202020202020202020101010102B2
+:10A2900002020101010101010101010101010102AB
+:10A2A0000202020202020202020202010101010094
+:10A2B000000000000000000000000000000101029A
+:10A2C000020202000000020001020202020100027A
+:10A2D0000002020202020202020200020201010264
+:10A2E0000200000200000000000000000000020266
+:10A2F0000202020200000000000000020000010251
+:10A300000202000202020002000200020101010238
+:10A310000202020202020202020202010000010223
+:10A320000202020202020202020202020101010210
+:10A330000202020202020202020202010101010201
+:10A3400002020202020202020202020101010102F1
+:10A3500002020202020202020202020200020102E0
+:10A3600002020202020202010202020201010102D1
+:10A3700002020202010101010101010101010102C8
+:10A3800002020202020202020202020101010102B1
+:10A3900002010101010101010101010101010102AB
+:10A3A0000202020202020202020101010101010095
+:10A3B0000000000000000000000100000001010199
+:10A3C000020202000000020001020102010100027B
+:10A3D0000102020202020202020200020201010262
+:10A3E0000200000200010000000000000000010265
+:10A3F0000202020200000000000000020000010250
+:10A400000202020202020002000200020101010235
+:10A410000202020202020202020202010000010222
+:10A420000202020202020202020202010101010210
+:10A430000202020202020202020202010101010200
+:10A4400002020202020202020202020101010102F0
+:10A4500002020202020202020202020200020102DF
+:10A4600002020202020202010101010101010102D4
+:10A4700002020101010101010101010101010102C9
+:10A4800002020202020202020101010101010102B3
+:10A4900001010101010101010101010101010102AB
+:10A4A0000202010202020101010101010101010098
+:10A4B0000000000000000001000101010101010194
+:10A4C000020202000000020001020102010100027A
+:10A4D0000102020202020202020200020201010261
+:10A4E0000200010201010000000000000000010262
+:10A4F0000202020200000200000000020202010249
+:10A500000202020202020002000202020101010232
+:10A510000202020202020202020202010000010221
+:10A52000020202020202020202020201010101020F
+:10A530000202020202020202010102010101010201
+:10A5400002020202020202020201020101010102F0
+:10A5500002020202020202020202020202020102DC
+:10A5600002020102020101010101010101010102D6
+:10A5700002010101010101010101010101010102C9
+:10A5800002020202020201010101010101010102B4
+:10A5900001010101010101010101010101010102AA
+:10A5A000020201010101010101010101010101009A
+:10A5B0000000000000000001000101010101010193
+:10A5C0000202020200020202010101020101000274
+:10A5D000020202020202020202020002020101025F
+:10A5E0000200010201020000000000000000010260
+:10A5F0000202020200000200000000020202010248
+:10A600000202020202020002020102020101010230
+:10A610000202020202020202020101010200010220
+:10A62000020202020202020202020201010101020E
+:10A630000201020202020202010101010101010202
+:10A6400002020202020101020201020101010102F1
+:10A6500002020202020202020202020102020102DC
+:10A6600002020101010101010101010101010102D7
+:10A6700001010101010101010101010101010102C9
+:10A6800002020201010101010101010101010102B6
+:10A6900001010101010101010101010101010102A9
+:10A6A000020101010101010101010101010101009A
+:10A6B0000000000000000001010101010101010191
+:10A6C0000202020200020102020102010101000273
+:10A6D0000202020202020202020100020101010260
+:10A6E000020002020202000000000002000001025B
+:10A6F0000202020200000200000000020202010247
+:10A700000202020202020001020102020101010230
+:10A71000020202020202020202010101020001021F
+:10A72000020202020102020202020201010101020E
+:10A730000201020202020201010101010101010202
+:10A7400002020102020101020101020101010102F2
+:10A7500002020202020202020202020102020102DB
+:10A7600001010101010101010101010101010102D8
+:10A7700001010101010101010101010101010102C8
+:10A7800002010101010101010101010101010101B8
+:10A7900001010101010101010101010101010102A8
+:10A7A000010101010101010101010101010101009A
+:10A7B000000000000000010101010101010101018F
+:10A7C0000102020202020102020102010101000271
+:10A7D0000202020202020201010100020101010261
+:10A7E000020002020202000000000002000001025A
+:10A7F0000202020200000200000200020202010244
+:10A800000201020202020001020102020101010230
+:10A81000020202020202020202010101020001021E
+:10A820000202010101020102010101010101010213
+:10A830000201020202020201010101010101010201
+:10A8400002020101020101020101010101010102F3
+:10A8500002020202020202020202020102010102DB
+:10A8600001010101010101010101010101010102D7
+:10A8700001010101010101010101010101010102C7
+:10A8800001010101010101010101010101010101B8
+:10A8900001010101010101010101010101010102A7
+:10A8A0000101010101010101010101010101010099
+:10A8B000000000000101010101010101010101018C
+:10A8C000010202020202010202020201010100026F
+:10A8D0000202020102020101010100010101010263
+:10A8E0000200020202020000000000020000010259
+:10A8F000020202020002020002020201020201023E
+:10A900000201020102020001020102010101010231
+:10A91000020202020202020202010101020201021B
+:10A920000201010101020101010101010101010214
+:10A930000101020201010101010101010101010204
+:10A9400001010101020101010101010101010102F5
+:10A9500002020202020101010201010101010102E0
+:10A9600001010101010101010101010101010102D6
+:10A9700001010101010101010101010101010102C6
+:10A9800001010101010101010101010101010101B7
+:10A9900001010101010101010101010101010102A6
+:10A9A0000101010101010101010101010101010098
+:10A9B0000000010101010101010101010100010289
+:10A9C000010202020202020202020101010100026E
+:10A9D0000202020102020101010100010101010262
+:10A9E0000200020202020200000000020000010256
+:10A9F000020202020202020002020201020201023B
+:10AA00000201020102020001020102010101010230
+:10AA1000020202020202020202010101020201021A
+:10AA20000201010101010101010101010101010214
+:10AA30000101020101010101010101010101010204
+:10AA400001010101020101010101010101010102F4
+:10AA500002020202010101010101010101010101E2
+:10AA600001010101010101010101010101010101D6
+:10AA700001010101010101010101010101010102C5
+:10AA800001010101010101010101010101010101B6
+:10AA900001010101010101010101010101010101A6
+:10AAA0000101010101010101010101010101010097
+:10AAB0000101010101010001010100010100010288
+:10AAC0000201020202010201010201010101000270
+:10AAD0000202020102020101010100010101010261
+:10AAE0000200020202020200000000020000010255
+:10AAF000020202020202020202020201010101023A
+:10AB0000020102010202020102010201010101022D
+:10AB1000020202020202020202010101010201021A
+:10AB20000201010101010101010101010101010213
+:10AB30000101010101010101010101010101010204
+:10AB400001010101010101010101010101010102F4
+:10AB500001010101010101010101010101010101E5
+:10AB600001010101010101010101010101010101D5
+:10AB700001010101010101010101010101010102C4
+:10AB800001010101010101010101010101010101B5
+:10AB900001010101010101010101010101010101A5
+:10ABA0000101010101010101010101010101010096
+:10ABB0000001010101010001010100010100010288
+:10ABC0000201010202020201010101010101000270
+:10ABD0000201020101010101010100010101010263
+:10ABE000020202020202020000000002020201024E
+:10ABF0000202020202020202020202010101010239
+:10AC0000020102010101020102010201010101022E
+:10AC10000202010201010101010101010102010120
+:10AC20000201010101010101010101010101010113
+:10AC30000101010101010101010101010101010104
+:10AC400001010101010101010101010101010102F3
+:10AC500001010101010101010101010101010101E4
+:10AC600001010101010101010101010101010101D4
+:10AC700001010101010101010101010101010101C4
+:10AC800001010101010101010101010101010101B4
+:10AC900001010101010101010101010101010101A4
+:10ACA0000101010101010101010101010101010095
+:10ACB0000001010101010001000100010000010289
+:10ACC0000201010102010101010101010101000272
+:10ACD0000201020101010101010100010101010262
+:10ACE000020202020202020000020001020201024C
+:10ACF0000202020202020202020202010101010238
+:10AD0000020102010101020102010101010101022E
+:10AD10000201010101010101010101010101010122
+:10AD20000101010101010101010101010101010113
+:10AD30000101010101010101010101010101010103
+:10AD400001010101010101010101010101010102F2
+:10AD500001010101010101010101010101010101E3
+:10AD600001010101010101010101010101010101D3
+:10AD700001010101010101010101010101010101C3
+:10AD800001010101010101010101010101010101B3
+:10AD900001010101010101010101010101010101A3
+:10ADA0000101010101010101010101010101010094
+:10ADB000000101010000000100010001000000028B
+:10ADC0000101010101010101010101010101000273
+:10ADD0000201020101010101010100010101010261
+:10ADE0000202020202020200020200010202010249
+:10ADF0000202020202020202020202010101010237
+:10AE0000020102010101020102010101010101022D
+:10AE10000101010101010101010101010101010122
+:10AE20000101010101010101010101010101010112
+:10AE30000101010101010101010101010101010102
+:10AE400001010101010101010101010101010101F2
+:10AE500001010101010101010101010101010101E2
+:10AE600001010101010101010101010101010101D2
+:10AE700001010101010101010101010101010101C2
+:10AE800001010101010101010101010101010101B2
+:10AE900001010101010101010101010101010101A2
+:10AEA0000101010101010101010101010101010093
+:10AEB000000101000000000000000000000000028E
+:10AEC0000101010101010101010101010101000272
+:10AED0000201010101010101010100010101010261
+:10AEE000020202020202020002020001010101024A
+:10AEF0000202020202020202020202010101010236
+:10AF0000020102010101020101010101010101012E
+:10AF10000101010101010101010101010101010121
+:10AF20000101010101010101010101010101010111
+:10AF30000101010101010101010101010101010101
+:10AF400001010101010101010101010101010101F1
+:10AF500001010101010101010101010101010101E1
+:10AF600001010101010101010101010101010101D1
+:10AF700001010101010101010101010101010101C1
+:10AF800001010101010101010101010101010101B1
+:10AF900001010101010101010101010101010101A1
+:10AFA0000101010101010101010101010101010092
+:10AFB0000000000000000000000000000000000190
+:10AFC0000101010101010101010101010000000273
+:10AFD0000201010101010101010100010101010260
+:10AFE0000202020202020202020202010101010245
+:10AFF000020201020202010202010101010101013A
+:10B00000010101010101020101010101010101012F
+:10B010000101010101010101010101010101010120
+:10B020000101010101010101010101010101010110
+:10B030000101010101010101010101010101010100
+:10B0400001010101010101010101010101010101F0
+:10B0500001010101010101010101010101010101E0
+:10B0600001010101010101010101010101010101D0
+:10B0700001010101010101010101010101010101C0
+:10B0800001010101010101010101010101010101B0
+:10B0900001010101010101010101010101010101A0
+:10B0A0000101010101010101010101010101010091
+:10B0B000000000000000000000000000000000018F
+:10B0C0000101010101010101010101010000000272
+:10B0D000020101010101010101010001010101025F
+:10B0E0000102020102020202020202010101010246
+:10B0F000010101010202010201010101010101013D
+:10B10000010101010101020101010101010101012E
+:10B11000010101010101010101010101010101011F
+:10B12000010101010101010101010101010101010F
+:10B1300001010101010101010101010101010101FF
+:10B1400001010101010101010101010101010101EF
+:10B1500001010101010101010101010101010101DF
+:10B1600001010101010101010101010101010101CF
+:10B1700001010101010101010101010101010101BF
+:10B1800001010101010101010101010101010101AF
+:10B1900001010101010101010101010001010101A0
+:10B1A0000101010101010101010101010101010090
+:10B1B000000000000000000000000000000000018E
+:10B1C0000101010101010101010101000000010271
+:10B1D000020101010101010101010001010101025E
+:10B1E0000102020102010202020202010101010147
+:10B1F000010101010201010101010101010101013E
+:10B20000010101010101020101010101010101012D
+:10B21000010101010101010101010101010101011E
+:10B22000010101010101010101010101010101010E
+:10B2300001010101010101010101010101010101FE
+:10B2400001010101010101010101010101010101EE
+:10B2500001010101010101010101010101010101DE
+:10B2600001010101010101010101010101010101CE
+:10B2700001010101010101010101010101010101BE
+:10B2800001010101010101010101010101010101AE
+:10B2900000000000000001000000000200000001AA
+:10B2A000010101010101010101010101010101028D
+:10B2B000020202020202020202020202020202016F
+:10B2C0000101010101010101010100000000010271
+:10B2D000020101010101010101010201010101015C
+:10B2E0000102020101010102020102010101010149
+:10B2F000010101010101010101010101010101013E
+:10B30000010101010101010101010101010101012D
+:10B31000010101010101010101010101010101011D
+:10B32000010101010101010101010101010101010D
+:10B3300001010101010101010101010101010101FD
+:10B3400001010101010101010101010101010101ED
+:10B3500001010101010101010101010101010101DD
+:10B3600001010101010101010101010101010101CD
+:10B3700001010101010101010101010001010001BF
+:10B3800001010101010101010101010101010100AE
+:10B390000202020202020002020202020202020190
+:10B3A000010101010101010101010101010101028C
+:10B3B000020202020202020202020202020202016E
+:10B3C0000100010101010100000100000000010174
+:10B3D000020101010101010101010101010101015C
+:10B3E000010201010101010201010101010101014B
+:10B3F000010101010101010101010101010101013D
+:10B40000010101010101010101010101010101012C
+:10B41000010101010101010101010101010101011C
+:10B42000010101010101010101010101010101010C
+:10B4300001010101010101010101010101010101FC
+:10B4400001010101010101010101010101010101EC
+:10B4500001010101010101010101010101010101DC
+:10B4600001010101010101010101010101010101CC
+:10B4700000000000000000000000000000000001CB
+:10B4800001010101010101010101010101010102AB
+:10B49000020202020202020202020202020202018D
+:10B4A000010101010101010101010101010101028B
+:10B4B000020202020202020202020202020202016D
+:10B4C0000100000001000000000000000000010178
+:10B4D000010101010101010101010101010101015C
+:10B4E000010201010101010101010101010101014B
+:10B4F000010101010101010101010101010101013C
+:10B50000010101010101010101010101010101012B
+:10B51000010101010101010101010101010101011B
+:10B52000010101010101010101010101010101010B
+:10B5300001010101010101010101010101010101FB
+:10B5400001010101010101010101010101010101EB
+:10B5500001010101010101010101010101010101DB
+:10B5600001010101010101010101010101010100CC
+:10B5700000000000000000000000000000000001CA
+:10B5800001010101010101010101010000000002AE
+:10B59000020202020202020202020202020202018C
+:10B5A0000101020101010101010101020202020285
+:10B5B000020202020202020202020202020202016C
+:10B5C0000000000000000000000000000000010179
+:10B5D000010101010101010101010101010101015B
+:10B5E000010101010101010101010101010101014B
+:10B5F000010101010101010101010101010101013B
+:10B60000010101010101010101010101010101012A
+:10B61000010101010101010101010101010101011A
+:10B62000010101010101010101010101010101010A
+:10B6300001010101010101010101010101010101FA
+:10B6400001010101010101010101010101010101EA
+:10B6500001010101010101010101010101010100DB
+:10B6600001010101010101010101010100000000CE
+:10B6700000000000000000000000000000000001C9
+:10B6800000000000000000000000000202020202B0
+:10B69000020202020202020202020202020202018B
+:10B6A000020202020202020202020202020202027A
+:10B6B000020202020202020202020202020202006C
+:10B6C0000000000000000000000000000000010178
+:10B6D000010101010101010101010101010101015A
+:10B6E000010101010101010101010101010101014A
+:10B6F000010101010101010101010101010101013A
+:10B700000101010101010101010101010101010129
+:10B710000101010101010101010101010101010119
+:10B720000101010101010101010101010101010109
+:10B7300001010101010101010101010101010101F9
+:10B7400001010101010101010101010101010101E9
+:10B7500001010101010101010101010101010100DA
+:10B7600001000100000000010000000000000000D6
+:10B7700000000000000000000000000000000000C9
+:10B780000202020202020202020202020202020299
+:10B790000202020202020202020202020202020289
+:10B7A0000202020202020202020202020202020279
+:10B7B000020202020202020202020202020202006B
+:10B7C0000000000000000000000000000000010177
+:10B7D0000101010101010101010101010101010159
+:10B7E0000101010101010101010101010101010149
+:10B7F0000101010101010101010101010101010139
+:10B800000101010101010101010101010101010128
+:10B810000101010101010101010101010101010118
+:10B820000101010101010101010101010101010108
+:10B8300001010101010101010101010101010101F8
+:10B8400001010101010101010101010101010101E8
+:10B8500001010101010001010101010101010000DB
+:10B8600002000100000000010000000000000000D4
+:10B8700000000000000000000000000200000202C2
+:10B880000202020202020202020202020202020298
+:10B890000202020202020202020202020202020288
+:10B8A0000202020202020202020202020202020278
+:10B8B000020202020202020202020202020202006A
+:10B8C0000000000000000000000000000101010174
+:10B8D0000101010101010101010101010101010158
+:10B8E0000101010101010101010101010101010148
+:10B8F0000101010101010101010101010101010138
+:10B900000101010101010101010101010201010126
+:10B910000101010101010101010101010101010216
+:10B920000101010202010101010101010100000107
+:10B9300002020101010101010202010201010101F2
+:10B9400000000100010100010100010101010101EC
+:10B9500000000101000000010100000100000000E2
+:10B9600001000200000000020000000002020200CC
+:10B9700002020202020202020202020202020202A7
+:10B980000202020202020202020202020202020297
+:10B990000202020202020202020202020202020287
+:10B9A0000202020202020202020202020202020277
+:10B9B0000202020202020202020202020202020069
+:10B9C0000000000000000000000000010101010172
+:10B9D0000101010101010101010101010101010157
+:10B9E0000101010101010101010101010101010147
+:10B9F0000101010101010101010101010101010137
+:10BA00000102010101010101010101010201010124
+:10BA10000101010101010101010101010101010215
+:10BA2000010101010100010101010101000000010A
+:10BA300001020101010101010101010202020201F1
+:10BA400000000200010200010000010000000001EE
+:10BA500000000202000000020000000000000000E0
+:10BA600002020202020202020202020202020202B6
+:10BA700002020202020202020202020202020202A6
+:10BA80000202020202020202020202020202020296
+:10BA90000202020202020202020202020202020286
+:10BAA0000202020202020202020202020202020276
+:10BAB0000202020202020202020202020202020068
+:10BAC0000000000000000000000000010101010171
+:10BAD0000101010101010101010101010101010156
+:10BAE0000101010101010101010101010101010146
+:10BAF0000101010101010101010101010101010136
+:10BB00000102010201010102010101020201010120
+:10BB10000101010101010101010101010101010214
+:10BB2000000101000000010102010100000000020B
+:10BB300000010202020202010000010101010100F4
+:10BB400000000100010100000000000202020200EA
+:10BB500000000101000000010000000200000202DC
+:10BB600002020202020202020202020202020202B5
+:10BB700002020202020202020202020202020202A5
+:10BB80000202020202020202020202020202020295
+:10BB90000202020202020202020202020202020285
+:10BBA0000202020202020202020202020202020275
+:10BBB0000202020202020202020202020202020067
+:10BBC000000000000000000000000101010101016F
+:10BBD0000101010101010101010101010101010155
+:10BBE0000101010101010101010101010101010145
+:10BBF0000101010101010101010101010101010135
+:10BC0000010201020101010201010102010102011F
+:10BC10000101010101010101010000020101010115
+:10BC2000000000000000010101010100000000010E
+:10BC300000010101010101020000020102020202F1
+:10BC400002020202020202020202020202020202D4
+:10BC500002020202020202020202020202020202C4
+:10BC600002020202020202020202020202020202B4
+:10BC700002020202020202020202020202020202A4
+:10BC80000202020202020202020202020202020294
+:10BC90000202020202020202020202020202020284
+:10BCA0000202020202020202020202020202020274
+:10BCB0000202020202020202020202020202020066
+:10BCC0000001010000000001010101010101010169
+:10BCD0000101010101010101010101010101010154
+:10BCE0000101010101010101010101010101010144
+:10BCF0000101010101010101010101010101010233
+:10BD0000010102010202010101010201010201011E
+:10BD10000101010101010101010000010001020115
+:10BD200000020200000002020002020202020202FD
+:10BD300002020202020202020202020202020202E3
+:10BD400002020202020202020202020202020202D3
+:10BD500002020202020202020202020202020202C3
+:10BD600002020202020202020202020202020202B3
+:10BD700002020202020202020202020202020202A3
+:10BD80000202020202020202020202020202020293
+:10BD90000202020202020202020202020202020283
+:10BDA0000202020202020202020202020202020273
+:10BDB0000202020202020202020202020202020065
+:10BDC0000101010101010101010101010101010163
+:10BDD000010101010101010101010102020202014F
+:10BDE0000101010101010101010101010101010143
+:10BDF0000101010101010101010101020202010130
+:10BE00000201010101010101020001010101000221
+:10BE10000202020202020202020202020202020103
+:10BE200002020202020202020202020202020202F2
+:10BE300002020202020202020202020202020202E2
+:10BE400002020202020202020202020202020202D2
+:10BE500002020202020202020202020202020202C2
+:10BE600002020202020202020202020202020202B2
+:10BE700002020202020202020202020202020202A2
+:10BE80000202020202020202020202020202020292
+:10BE90000202020202020202020202020202020282
+:10BEA0000202020202020202020202020202020272
+:10BEB0000202020202020002020202020200000169
+:10BEC0000101010101010101010101010101010162
+:10BED000010101010101010101010102020202014E
+:10BEE000010101010101010101010102020201013F
+:10BEF0000101010101010101010101010101020032
+:10BF00000101000000000000010200000002020226
+:10BF10000202020202020202020202020202020201
+:10BF200002020202020202020202020202020202F1
+:10BF300002020202020202020202020202020202E1
+:10BF400002020202020202020202020202020202D1
+:10BF500002020202020202020202020202020202C1
+:10BF600002020202020202020202020202020202B1
+:10BF700002020202020202020202020202020202A1
+:10BF80000202020202020202020202020202020291
+:10BF90000202020202020202020202020202020281
+:10BFA0000202020202020202020202020202020271
+:10BFB000020202020202000202020002000000016C
+:10BFC0000101010101010101010101010101010161
+:10BFD000010202020101010101010001010101014F
+:10BFE000010101010101010101010101010102023F
+:10BFF0000202020202020202020202020202020221
+:10C000000202020202020202020202020202020210
+:10C010000202020202020202020202020202020200
+:10C0200002020202020202020202020202020202F0
+:10C0300002020202020202020202020202020202E0
+:10C0400002020202020202020202020202020202D0
+:10C0500002020202020202020202020202020202C0
+:10C0600002020202020202020202020202020202B0
+:10C0700002020202020202020202020202020202A0
+:10C080000202020202020202020202020202020290
+:10C090000202020202020202020202020202020280
+:10C0A0000202020202020202020202020202020270
+:10C0B0000202020200000002000200020000000171
+:10C0C0000101010101010101010101010101010160
+:10C0D0000101010101010101010100010101010250
+:10C0E0000202020202020202020202020202020230
+:10C0F0000202020202020202020202020202020220
+:10C10000020202020202020202020202020202020F
+:10C1100002020202020202020202020202020202FF
+:10C1200002020202020202020202020202020202EF
+:10C1300002020202020202020202020202020202DF
+:10C1400002020202020202020202020202020202CF
+:10C1500002020202020202020202020202020202BF
+:10C1600002020202020202020202020202020202AF
+:10C17000020202020202020202020202020202029F
+:10C18000020202020202020202020202020202028F
+:10C19000020202020202020202020202020202027F
+:10C1A000020202020202020202020202020202026F
+:10C1B0000202020000000002000200000000000174
+:10C1C000010101010101010101010101010101025E
+:10C1D000020202020202020202020202020202023F
+:10C1E000020202020202020202020202020202022F
+:10C1F000020202020202020202020202020202021F
+:10C20000020202020202020202020202020202020E
+:10C2100002020202020202020202020202020202FE
+:10C2200002020202020202020202020202020202EE
+:10C2300002020202020202020202020202020202DE
+:10C2400002020202020202020202020202020202CE
+:10C2500002020202020202020202020202020202BE
+:10C2600002020202020202020202020202020202AE
+:10C27000020202020202020202020202020202029E
+:10C28000020202020202020202020202020202028E
+:10C29000020202020202020202020202020202027E
+:10C2A000020202020202020202020202020202026E
+:10C2B000000000000000000000000000000000017D
+:10C2C000010101010101010101010101010101025D
+:10C2D000020202020202020202020202020202023E
+:10C2E000020202020202020202020202020202022E
+:10C2F000020202020202020202020202020202021E
+:10C30000020202020202020202020202020202020D
+:10C3100002020202020202020202020202020202FD
+:10C3200002020202020202020202020202020202ED
+:10C3300002020202020202020202020202020202DD
+:10C3400002020202020202020202020202020202CD
+:10C3500002020202020202020202020202020202BD
+:10C3600002020202020202020202020202020202AD
+:10C37000020202020202020202020202020202029D
+:10C38000020202020202020202020202020202028D
+:10C39000020202020202020202020202020202027D
+:10C3A000020202020202020202020202020202026D
+:10C3B000000000000000000000000000000000017C
+:10C3C000010101010101010101010101010101015D
+:10C3D000010101010101010101010101010101014D
+:10C3E000010101010101010101010101010101013D
+:10C3F000010101010101010101010101010101012D
+:10C40000010101010101010101010101010101011C
+:10C41000010101010101010101010101010101010C
+:10C4200001010101010101010101010101010101FC
+:10C4300001010101010101010101010101010101EC
+:10C4400001010101010101010101010101010101DC
+:10C4500001010101010101010101010101010101CC
+:10C4600001010101010101010101010101010101BC
+:10C4700001010101010101010101010101010101AC
+:10C48000010101010101010101010101010101019C
+:10C49000010101010101010101010101010101018C
+:10C4A000010101010101010101010101010101027B
+:10C4B000000000000000000000000000000000017B
+:10C4C000010101010101010101010101010101015C
+:10C4D000010101010101010101010101010101014C
+:10C4E000010101010101010101010101010101013C
+:10C4F000010101010101010101010101010101012C
+:10C50000010101010101010101010101010101011B
+:10C51000010101010101010101010101010101010B
+:10C5200001010101010101010101010101010101FB
+:10C5300001010101010101010101010101010101EB
+:10C5400001010101010101010101010101010101DB
+:10C5500001010101010101010101010101010101CB
+:10C5600001010101010101010101010101010101BB
+:10C5700001010101010101010101010101010101AB
+:10C58000010101010101010101010101010101019B
+:10C59000010101010101010101010101010101008C
+:10C5A0000000000000000000000000000000000289
+:10C5B000000000000000000000000000000000007B
+:10C5C000000000000000000000000000000000006B
+:10C5D000000000000000000000000000000000005B
+:10C5E000000000000000000000000000000000004B
+:10C5F000000000000000000000000000000000003B
+:10C60000000000000000000000000000000000002A
+:10C61000000000000000000000000000000000001A
+:10C62000000000000000000000000000000000000A
+:10C6300000000000000000000000000000000000FA
+:10C6400000000000000000000000000000000000EA
+:10C6500000000000000000000000000000000000DA
+:10C6600000000000000000000000000000000000CA
+:10C6700000000000000000000000000000000000BA
+:10C6800000000000000000000000000000000000AA
+:10C69000000000000000000000000000000000009A
+:10C6A000000000000000000000000000000000008A
+:10C6B0000000000000000000000000000000003347
+:10C6C000000000000000000000000000000000006A
+:10C6D000000000000000000000000000000000005A
+:10C6E000000000000000000000000000000000004A
+:10C6F000000000000000000000000000000000003A
+:10C700000000000000000000000000000000000029
+:10C710000000000000000000020000000000000017
+:10C720000000000200000000000000000000000007
+:10C7300000000000000000000000000000000000F9
+:10C7400000000000000000000000000000000000E9
+:10C7500000000000000000000000000000000000D9
+:10C7600000000000000000000200010000000000C6
+:10C7700000000000000200000000000000000000B7
+:10C7800000000000000000000000000000000000A9
+:10C790000000000000000000000000000000000099
+:10C7A0000000000000000000000000000000000089
+:10C7B0000000000000000000000000000000000079
+:10C7C0000000000000000000000000000000000069
+:10C7D0000000000000000000000000000000000059
+:10C7E0000000000000000000000000000000000049
+:10C7F0000000000000000000000000000000000039
+:10C800000000000000000000000000000000000028
+:10C810000000000000000000020000000000000016
+:10C820000000000200020200000000000000000002
+:10C8300000000000000000000200000000000000F6
+:10C8400000000000000000000000000000000000E8
+:10C8500000000000000000000000000000000000D8
+:10C8600000000000000000000200020000020000C2
+:10C8700000000000000202000000000000000000B4
+:10C8800000000000000000000000000000000000A8
+:10C890000000000000000000000000000000000098
+:10C8A0000000000000000000000000000000000088
+:10C8B0000000000000000000000200000000000076
+:10C8C0000000000000000002000000000000000066
+:10C8D0000000000000000000000000010000020055
+:10C8E0000200020200000000000000000000000042
+:10C8F0000000000002000000000000000000000036
+:10C900000000000002000000000000000000000025
+:10C910000000000000000000020000000000000015
+:10C9200002000002000202000000000000000000FF
+:10C9300000000000000000000200000000000000F5
+:10C9400000000000000000000000000000000000E7
+:10C9500000000000000000000000000000000000D7
+:10C9600000000000000000020200020000020200BD
+:10C9700000000000000202000000000000000200B1
+:10C98000000000000002000200000200000200009F
+:10C990000000000000000200000000000000000095
+:10C9A0000000000000000002000000000002000083
+:10C9B000000200000000020000020002000000006F
+:10C9C0000000000000000002000000000000000065
+:10C9D000000000000000000000000001020202024E
+:10C9E000020202020000000000000000000000003F
+:10C9F0000000000002000200000000000000000033
+:10CA00000000000002000200000000000000000022
+:10CA10000000000000000202020000000000000010
+:10CA200002020002000202000000000000000000FC
+:10CA300000000000000000000200000000000000F4
+:10CA400000000000000000010000000000000000E5
+:10CA500000000000000000000000000000000000D6
+:10CA600000000000000000020200020000020202BA
+:10CA700000000000020202000000000000020202AA
+:10CA80000000000000020202000202020002020096
+:10CA90000000000000020200010202020000020089
+:10CAA0000000000000020002020202020002020076
+:10CAB0000002000002020200000202020000000068
+:10CAC0000000000000000002000000000000000064
+:10CAD000000000000000000000000001020202024D
+:10CAE000020202020000000000000000000000003E
+:10CAF0000000000002000200000000000000000032
+:10CB00000000000002000200000000000000000021
+:10CB1000000000000000020202010000000000000E
+:10CB200002020002000202000000000000000000FB
+:10CB300000000000000000000200000000000000F3
+:10CB400000000000000000020000000000000000E3
+:10CB500000000000000000000000000000020000D3
+:10CB600000000000000000020202020200020202B5
+:10CB700002000200020202000100020000020202A2
+:10CB80000000000000020202000202020202020291
+:10CB9000000000000002020202020202020202027F
+:10CBA000000000000002020202020202020202026F
+:10CBB0000002000002020200000202020202000063
+:10CBC0000002000000000002000000000000000061
+:10CBD000000000000000000000000002020202024B
+:10CBE000020202020000000000000000000000003D
+:10CBF0000000000002000201000000000000000030
+:10CC0000000000000200020200000000000000001E
+:10CC10000000000000000202020101000102000009
+:10CC200002020002000202000000000000000000FA
+:10CC300000000000000000000200000000000000F2
+:10CC400000000000000000020000000000000000E2
+:10CC500000000000000000000000000100020000D1
+:10CC600000000000000000020202020202020202B2
+:10CC7000020202000202020202000200020202029A
+:10CC8000000200000002020202020202020202028C
+:10CC9000020002000002020202020202020202027A
+:10CCA000020000000002020202020202020202026C
+:10CCB0000202020202020200000202020202020258
+:10CCC000000200020000000202000000000000005C
+:10CCD000000000000000000000000002020202024A
+:10CCE000020202020000000000000000000000003C
+:10CCF000000000000200020200000000000000002E
+:10CD0000000000000200020201000100000000001B
+:10CD10000000000000000202020201000102000007
+:10CD200002020002000202000000000000000000F9
+:10CD300000000000000000000200000000000000F1
+:10CD400000000000000000020000000000000000E1
+:10CD500000000000000000000102000200020002CA
+:10CD600000000000000202020202020202020202AD
+:10CD70000202020202020202020202020202020293
+:10CD80000202020200020202020202020202020285
+:10CD90000202020000020202020202020202020277
+:10CDA0000202000000020202020202020202020269
+:10CDB0000202020202020200000202020202020257
+:10CDC0000202000200000002020000000000000059
+:10CDD0000000000000000000000000020202020249
+:10CDE0000202020200000202000000000000000037
+:10CDF000000000000200020200000000000000002D
+:10CE00000000000002000202010001000100000019
+:10CE10000000000000000202020202000202000004
+:10CE200002020002000202000000000000000000F8
+:10CE300000000000000000000200000000000000F0
+:10CE400000000000000000020000000000000000E0
+:10CE500000000000000000000202000200020202C6
+:10CE600000000000000202020202020202020202AC
+:10CE70000202020202020202020202020202020292
+:10CE80000202020200020202020202020202020284
+:10CE90000202020200020202020202020202020274
+:10CEA0000202020200020202020202020202020264
+:10CEB0000202020202020200000202020202020256
+:10CEC0000202020200000002020000000000000056
+:10CED0000000000000020000000101020202020244
+:10CEE0000202020200000202000100010000000034
+:10CEF000000000000200020200000000000000002C
+:10CF00000000000002000202010102000100000016
+:10CF10000000000000000202020202010202020000
+:10CF200002020002000202000000000000000000F7
+:10CF300000000000000000020200000000010000EC
+:10CF400000000000000000020200000000010000DC
+:10CF500000000000000000020202000202020202C1
+:10CF600000020000000202020202020202020202A9
+:10CF70000202020202020202020202020202020291
+:10CF80000202020202020202020202020202020281
+:10CF90000202020200020202020202020202020273
+:10CFA0000202020200020202020202020202020263
+:10CFB0000202020202020200000202020202020255
+:10CFC0000202020202000002020000000000000053
+:10CFD0000000000000020000000101020202020243
+:10CFE0000202020200000202000100010000000033
+:10CFF000000000000200020200000000000000002B
+:10D000000000000002000202020102000200000013
+:10D0100000000000000002020202020202020202FC
+:10D0200002020002000202000000000000000000F6
+:10D0300000000000000000020200000000020000EA
+:10D0400000000000000000020200000000010000DB
+:10D0500000000000000000020202020202020202BE
+:10D0600002020200000202020202020202020202A4
+:10D070000202020202020202020202020202020290
+:10D080000202020202020202020202020202020280
+:10D090000202020202020202020202020202020270
+:10D0A0000202020202020202020202020202020260
+:10D0B0000202020202020200000202020202020254
+:10D0C0000202020202020002020000000000000050
+:10D0D0000000000000020000010101020202020241
+:10D0E0000202020200000202000100010000000032
+:10D0F000000000000200020200000000000000002A
+:10D100000000000002000202020202000200000011
+:10D1100000000000020002020202020202020202F9
+:10D1200002020002000202000000000000000000F5
+:10D1300000000000000000020202020000020000E5
+:10D1400000000000000000020200000000010000DA
+:10D1500000000000000000020202020202020202BD
+:10D1600002020200000202020202020202020202A3
+:10D170000202020202010102020202020202020291
+:10D18000020202020202020202020202020202027F
+:10D19000020202020202020202020202020202026F
+:10D1A000020202020202020202020202020202025F
+:10D1B000020202020202010000010101010101015B
+:10D1C0000101010101010002020000000000000055
+:10D1D000000000000002000101020202020202023D
+:10D1E000020202020000020200020002000000002F
+:10D1F0000000000002000202000000000000000029
+:10D200000000000002000202020202000200000010
+:10D2100000000000020002020202020202020202F8
+:10D2200002020002000202000000000000000000F4
+:10D2300000000000000000020202020000020000E4
+:10D2400000000000000200020202000000020200D2
+:10D2500000000000000000020202020202020202BC
+:10D2600002020202000202020202020202020202A0
+:10D270000202020202010102020202020202020290
+:10D280000202020202010102020202020202020280
+:10D29000020202020202010202020202020202026F
+:10D2A000020202020202020202020202020202025E
+:10D2B000020202020201010000010101010101015B
+:10D2C0000101010101010002020002000000000052
+:10D2D000000000000002000202020202020202023A
+:10D2E000020202020002020202020002000000002A
+:10D2F0000000000002000202020000000000000026
+:10D30000000000000200020202020201020002000C
+:10D3100000000000020002020202020202020202F7
+:10D3200002020002000202020000000000000000F1
+:10D3300000000000000000020202020200020000E1
+:10D3400000000000020202020202020100020200CA
+:10D3500000000000000000020202020202020202BB
+:10D36000020202020002020202020202020202029F
+:10D37000020202020201010202020202020202028F
+:10D38000020202020201010202020202020202027F
+:10D39000020202020202010202020202020202026E
+:10D3A000020202020202020202020202020202025D
+:10D3B000020202020101010000010101010101015B
+:10D3C0000101010101010102020002000000000050
+:10D3D0000000000000020002020202020202020239
+:10D3E0000202020200020202020200020000000029
+:10D3F0000000000002000202020000000000000025
+:10D400000000000002000202020202020200020208
+:10D4100000000000020002020202020202020202F6
+:10D4200002020002000201020201000000000000EE
+:10D4300000000202000000020202020200020000DC
+:10D4400000000000020202020202020200020202C6
+:10D4500000000002000002020202020202020202B6
+:10D46000020202020202020202020202020202029C
+:10D47000020202020201010202020202020202028E
+:10D48000020202020201010202020202020202027E
+:10D49000020202020201010202020202020202026E
+:10D4A000020202020201010202020202020202025E
+:10D4B000020102020101010000010101010101015B
+:10D4C000010101010101010202000200000000004F
+:10D4D0000000020002020002020202020202020234
+:10D4E0000202020200020202020200020000000028
+:10D4F0000000000002000202020101000000000022
+:10D500000000000002000202020202020200020207
+:10D5100000000000020202020202020202020202F3
+:10D5200002020202000101020202000000000000EB
+:10D5300000000202000000020202020202020202D5
+:10D5400000000202020202020202020200020202C1
+:10D5500000000002000002020202020202020202B5
+:10D56000020202020202010202020202020202029C
+:10D57000020202020101010202020202020202028E
+:10D58000020202020201010202020202020202027D
+:10D59000020202020201010202020202020202026D
+:10D5A000020202020201010202020202020202025D
+:10D5B000020102020101010000010101010101015A
+:10D5C000010101010101010202000200000000004E
+:10D5D0000000020002010002020202020202020234
+:10D5E0000202020200020202020200020100000026
+:10D5F0000000000002000202020102000000000020
+:10D600000000000002000102020202020200020207
+:10D6100000000000020201020202020202020202F3
+:10D6200002020201000101020202000000000000EB
+:10D6300000000202000000020202020202020202D4
+:10D6400002000202020202020202020202020202BC
+:10D6500000020002000202020202020202020202B0
+:10D66000020202020201010202020202020202029C
+:10D67000020201020101010202020202020202028E
+:10D68000020202020201010202020202020202027C
+:10D69000020202020201010202020202020202026C
+:10D6A000020202020201010202020202020202025C
+:10D6B0000201010101010100000000000000000062
+:10D6C0000001000100000101020002000000000052
+:10D6D0000000020002010002020202020202020233
+:10D6E0000202020200020202020200020100000025
+:10D6F000000000000200010202020200000000001F
+:10D700000000000001000102020202020200020207
+:10D7100002000000020201020202020202020202F0
+:10D7200002020201000101020202000001000000E9
+:10D7300000000202000000020202020202020202D3
+:10D7400002020202020202020202020202020202B9
+:10D7500002020002000202020202020202020202AD
+:10D76000020202020201010202020202020101019E
+:10D770000101010101010102020202020202010192
+:10D78000020101010101010202020202020202027F
+:10D79000020201020201010202020202020202026C
+:10D7A000020202020201010202020202020101015E
+:10D7B0000101010101010100000000000000000062
+:10D7C0000001010100010101010002000000000050
+:10D7D0000000010002010002020202020202020233
+:10D7E0000202020100020102020200020200000025
+:10D7F000000000000100010202020200000200001D
+:10D800000000000001000102020202020200020206
+:10D8100002020000020201020202020202020202ED
+:10D8200002020201000101020202000101000000E7
+:10D8300000000202000000020202020202020202D2
+:10D8400002020202020101020202020202020202BA
+:10D8500002020202000202020202020202020202AA
+:10D86000020202020201010202020202020101019D
+:10D870000101010101010102020202020201010192
+:10D880000101010101010102020202020201010182
+:10D89000010101010101010202020202020202026F
+:10D8A000020202020201010202020201010101015F
+:10D8B0000101010101010100000000000000000061
+:10D8C0000001010101010101010202020002000246
+:10D8D0000200010002010002020202020202020230
+:10D8E0000202010100020102020200020200000025
+:10D8F000000000000100010202020200000200001C
+:10D900000000000001000102020202020200020205
+:10D9100002020202020201020202020202020202E8
+:10D9200001010201020101020202000102000000E5
+:10D9300000000202000000020202020202020202D1
+:10D9400002020202020101020202020202020202B9
+:10D9500002020202000201020202020202020202AA
+:10D96000020202020201010202020101010101019F
+:10D970000101010101010102020202020101010192
+:10D980000101010101010102020202010101010183
+:10D990000101010101010102020202020202010170
+:10D9A0000101010101010102020101010101010165
+:10D9B000010101010101010000000000000001005F
+:10D9C0000101010101010101010201020002000245
+:10D9D0000200010001010002020202020202020230
+:10D9E0000101010100020102020200020202000024
+:10D9F000000000000100010202020200010200001A
+:10DA00000000000001000102020202020201020203
+:10DA100002020202020201020202020202020202E7
+:10DA200001010201020101020202020202000200DF
+:10DA300000000202000000020202020202020202D0
+:10DA400002020202020101020202020202020202B8
+:10DA500002020202000201020202020202010201AB
+:10DA600002010102020101020101010101010101A2
+:10DA70000101010101010102020201010101010193
+:10DA80000101010101010102020101010101010184
+:10DA90000101010101010102020202010101010172
+:10DAA0000101010101010102020101010101010164
+:10DAB000010101010101010000000001000001015C
+:10DAC0000101010101010101010201020202020240
+:10DAD000020202020101000202020202020201012C
+:10DAE0000101010102010102020202020202000020
+:10DAF0000000000001000102020202010202020015
+:10DB000000000000010201020202020202020202FF
+:10DB100002020202010201020202020202020202E7
+:10DB200001010201020101020202020202020202DA
+:10DB300000000202000002020102020202020202CE
+:10DB400002020202010101020202020202020202B8
+:10DB500002020202020101020202020202010101AA
+:10DB600001010101010101020101010101010101A4
+:10DB70000101010101010102020101010101010193
+:10DB80000101010101010102020101010101010183
+:10DB90000101010101010102020101010101010173
+:10DBA0000101010101010102020101010101010163
+:10DBB0000101010101010100000101010101010157
+:10DBC0000101010101010101010201020202020140
+:10DBD000010202020101000202020202010101012E
+:10DBE000010101010201010202020202020200001F
+:10DBF0000000000001000102020202020202020211
+:10DC000000000000010201020202020202020202FE
+:10DC100002020202010101020102020202010202E9
+:10DC200001010201020101020202020202020202D9
+:10DC300000000202020002020102020202020202CB
+:10DC400002020202010101020202020202020202B7
+:10DC500002020202020101020202020101010101AB
+:10DC600001010101010101020101010101010101A3
+:10DC70000101010101010102020101010101010192
+:10DC80000101010101010102020101010101010182
+:10DC90000101010101010102020101010101010172
+:10DCA0000101010101010102010101010101010163
+:10DCB0000101010101010100000100010101010157
+:10DCC000010101010101010202020102020102013E
+:10DCD000010102020101000202020202010101012E
+:10DCE000010101010201010202020202020200001E
+:10DCF0000000000001000102020202020202020210
+:10DD000000000000010201020202020202020202FD
+:10DD100002020202010101020102020202010101EA
+:10DD200001010201020101020202020202020202D8
+:10DD300000020101020002020102020202010202CB
+:10DD400002020202010101020202020202020102B7
+:10DD500002020201020101020201020101010101AC
+:10DD600001010101010101020101010101010101A2
+:10DD70000101010101010102020101010101010191
+:10DD80000101010101010102020101010101010181
+:10DD90000101010101010102020101010101010171
+:10DDA0000101010101010101010101010101010163
+:10DDB0000101010101010100000100010101010156
+:10DDC000010101010101010202020202020101013D
+:10DDD000020101010101000202020202010101012E
+:10DDE000010101010201010202020202020200021B
+:10DDF000000000000100010202020202020202020F
+:10DE000000000000010201020202020202020202FC
+:10DE100002020202010101020102020201010101EA
+:10DE200001010101020101020202020202020202D8
+:10DE300000020101020001020102020202010201CC
+:10DE400001010101010101020202020202020101BB
+:10DE500002010201020101020201010101010101AD
+:10DE600001010101010101010101010101010101A2
+:10DE70000101010101010102010101010101010191
+:10DE80000101010101010102020101010101010180
+:10DE90000101010101010102020101010101010170
+:10DEA0000101010101010101010101010101010162
+:10DEB0000101010101010100000100010101000156
+:10DEC000010101010101010202020202020101023B
+:10DED000020201010101000202020201010101012D
+:10DEE0000101010102010102020202020202020218
+:10DEF000000000000100010202020202020202020E
+:10DF000000000200010101020202020202020202FA
+:10DF100002020202010101020101020101010101EB
+:10DF200001010101010101020202020202020202D8
+:10DF300000020101020001020101020101010201CE
+:10DF400001010101010101020102020202020101BB
+:10DF500001010101010101020201010101010101AF
+:10DF600001010101010101010101010101010101A1
+:10DF70000101010101010101010101010101010191
+:10DF80000101010101010101010101010101010181
+:10DF90000101010101010102010101010101010170
+:10DFA0000101010101010101010101010101010161
+:10DFB0000101010101010100000100010100000156
+:10DFC000000100010000010202020201020202023D
+:10DFD000010201010101000202020201010101012D
+:10DFE0000101010101010102020202020202020218
+:10DFF000000000000100010202020202020202020D
+:10E0000000020200010101020202020201020101FA
+:10E0100002020202010101010101010101010101EC
+:10E0200001010101010101020202020202020202D7
+:10E0300002020101010001020101010101010101CE
+:10E0400001010101010101010101010101020101BF
+:10E0500001010101010101020101010101010101AF
+:10E0600001010101010101010101010101010101A0
+:10E070000101010101010101010101010101010190
+:10E080000101010101010101010101010101010180
+:10E090000101010101010101010101010101010170
+:10E0A0000101010101010101010101010101010160
+:10E0B0000101010101010100000000000000000059
+:10E0C0000001000000000002020102010102020240
+:10E0D000010101010101000202020201010101012D
+:10E0E0000101010101010102020202020202020217
+:10E0F000000000000100010202020202020202020C
+:10E1000002020202010101020202010201020101F6
+:10E1100001010101010101010101010101010101EF
+:10E1200001010101010101020202020202020202D6
+:10E1300002020101010001010101010101010101CE
+:10E1400001010101010101010101010101010101BF
+:10E1500001010101010101020101010101010101AE
+:10E16000010101010101010101010101010101019F
+:10E17000010101010101010101010101010101018F
+:10E18000010101010101010101010101010101017F
+:10E19000010101010101010101010101010101016F
+:10E1A000010101010101010101010101010101015F
+:10E1B0000101010101010100020000000000000056
+:10E1C0000000000000000002010101010102010144
+:10E1D000010101010101000202020201010101012C
+:10E1E0000101010101010102020202020202020216
+:10E1F0000002000001000102020202020202020209
+:10E2000002020202010101010201010101020101F8
+:10E2100001010101010101010101010101010101EE
+:10E2200001010101010101020101020202020202D7
+:10E2300002020101010001010101010101010101CD
+:10E2400001010101010101010101010101010101BE
+:10E2500001010101010101010101010101010101AE
+:10E26000010101010101010101010101010101019E
+:10E27000010101010101010101010101010101018E
+:10E28000010101010101010101010101010101017E
+:10E29000010101010101010101010101010101016E
+:10E2A000010101010101010101010101010101015E
+:10E2B0000101010101010100020000000000000055
+:10E2C0000000000000000001010101010101010145
+:10E2D000010101010100000202010101010101012E
+:10E2E0000101010101010102020202010202020216
+:10E2F0000202000001020101020202020201020206
+:10E3000002020202010101010201010101020101F7
+:10E3100001010101010101010101010101010101ED
+:10E3200001010101010101010101020202020101D9
+:10E3300002010101010001010101010101010101CD
+:10E3400001010101010101010101010101010101BD
+:10E3500001010101010101010101010101010101AD
+:10E36000010101010101010101010101010101019D
+:10E37000010101010101010101010101010101018D
+:10E38000010101010101010101010101010101017D
+:10E39000010101010101010101010101010101016D
+:10E3A000010101010101010101010101010101015D
+:10E3B0000101010101010100020000000000000054
+:10E3C0000000000000000001010101010101010144
+:10E3D000010101010100000202010101010101012D
+:10E3E0000101010101010101020102010202020217
+:10E3F000020200000101010101020102020101010A
+:10E4000002020102010101010201010101020101F7
+:10E4100001010101010101010101010101010101EC
+:10E4200001010101010101010101020201010101DA
+:10E4300002010101010101010101010101010101CB
+:10E4400001010101010101010101010101010101BC
+:10E4500001010101010101010101010101010101AC
+:10E46000010101010101010101010101010101019C
+:10E47000010101010101010101010101010101018C
+:10E48000010101010101010101010101010101017C
+:10E49000010101010101010101010101010101016C
+:10E4A000010101010101010101010101010101015C
+:10E4B0000101010101010100020000000000000053
+:10E4C0000000000000000001010101010101010143
+:10E4D000010101010000010201010101010101012D
+:10E4E0000101010101010101010102010101020219
+:10E4F0000202020201010101010101020101010107
+:10E5000002010101010101010101010101020101F9
+:10E5100001010101010101010101010101010101EB
+:10E5200001010101010101010101010101010101DB
+:10E5300001010101010101010101010101010101CB
+:10E5400001010101010101010101010101010101BB
+:10E5500001010101010101010101010101010101AB
+:10E56000010101010101010101010101010101019B
+:10E57000010101010101010101010101010101018B
+:10E58000010101010101010101010101010101017B
+:10E59000010101010101010101010101010101016B
+:10E5A000010101010101010101010101010101015B
+:10E5B0000101010101010102020202020202020242
+:10E5C0000202020202020201010101010101010134
+:10E5D000010101010000010101010101010101012D
+:10E5E0000101010101010101010102010101020119
+:10E5F0000202020201010101010101010101010107
+:10E6000001010101010101010101010101010101FA
+:10E6100001010101010101010101010101010101EA
+:10E6200001010101010101010101010101010101DA
+:10E6300001010101010101010101010101010101CA
+:10E6400001010101010101010101010101010101BA
+:10E6500001010101010101010101010101010101AA
+:10E66000010101010101010101010101010101019A
+:10E67000010101010101010101010101010101018A
+:10E68000010101010101010101010101010101017A
+:10E69000010101010101010101010101010101016A
+:10E6A000010101010101010101010101010101015A
+:10E6B0000101010101010102020202020202020241
+:10E6C0000202020202020201010101010101010133
+:10E6D000010100000000010101010101010101012E
+:10E6E000010101010101010101010101010101011A
+:10E6F0000201020201010101010101010101010107
+:10E7000001010101010101010101010101010101F9
+:10E7100001010101010101010101010101010101E9
+:10E7200001010101010101010101010101010101D9
+:10E7300001010101010101010101010101010101C9
+:10E7400001010101010101010101010101010101B9
+:10E7500001010101010101010101010101010101A9
+:10E760000101010101010101010101010101010199
+:10E770000101010101010101010101010101010189
+:10E780000101010101010101010101010101010179
+:10E790000101010101010101010101010101010169
+:10E7A0000101010101010101010101010101010159
+:10E7B0000101010101010102020202020202020240
+:10E7C0000202020202020201010001000101010134
+:10E7D000000100000000010101010101010101012E
+:10E7E0000101010101010101010101010101010119
+:10E7F0000101010101010101010101010101010109
+:10E8000001010101010101010101010101010101F8
+:10E8100001010101010101010101010101010101E8
+:10E8200001010101010101010101010101010101D8
+:10E8300001010101010101010101010101010101C8
+:10E8400001010101010101010101010101010101B8
+:10E8500001010101010101010101010101010101A8
+:10E860000101010101010101010101010101010198
+:10E870000101010101010101010101010101010188
+:10E880000101010101010101010101010101010178
+:10E890000101010101010101010101010101010168
+:10E8A0000101010101010101010101010101010158
+:10E8B000010201010202020202020202020202023B
+:10E8C0000202020202020201000000000001000038
+:10E8D000000000000000010101010101010101012E
+:10E8E0000101010101010101010101010101010118
+:10E8F0000101010101010101010101010101010108
+:10E9000001010101010101010101010101010101F7
+:10E9100001010101010101010101010101010101E7
+:10E9200001010101010101010101010101010101D7
+:10E9300001010101010101010101010101010101C7
+:10E9400001010101010101010101010101010101B7
+:10E9500001010101010101010101010101010101A7
+:10E960000101010101010101020102010101010195
+:10E970000101010101000001010101010101010189
+:10E980000101010101010101010101010101010177
+:10E990000101010101010001010101010101010168
+:10E9A0000101010101010101010202020202020250
+:10E9B0000202020202020202020202020202020237
+:10E9C0000202020202020200000000000000000039
+:10E9D000000000000000010101010101010101012D
+:10E9E0000101010101010101010101010101010117
+:10E9F0000101010101010101010101010101010107
+:10EA000001010101010101010101010101010101F6
+:10EA100001010101010101010101010101010101E6
+:10EA200001010101010101010101010101010101D6
+:10EA300001010101010101010201010101010101C5
+:10EA400001010101010101010201010101010101B5
+:10EA500001010101010101010101010101010101A6
+:10EA6000010101010101010101000100000000009C
+:10EA7000000000000100000101010101010101018C
+:10EA8000010101010102020101000100000000007A
+:10EA9000000000000001000101010101010101016C
+:10EAA000010101010101010202020202020202024D
+:10EAB0000202020202020202020202020202020236
+:10EAC0000202020202020200000000000000000038
+:10EAD000000000000000010101010101010101012C
+:10EAE0000101010101010101010101010101010116
+:10EAF0000101010101010101010101010101010106
+:10EB000001010101010101010101010101010101F5
+:10EB100001010101010101010101010101010101E5
+:10EB200001010101010101020201010101010101D3
+:10EB300001010101010101020101010101010101C4
+:10EB400001010101010000010101010101010101B7
+:10EB500001010101010101010101020101010101A4
+:10EB6000010101010101000100000000000000009E
+:10EB70000000000001000001010202020202020284
+:10EB80000202020202020201010000000000000075
+:10EB9000000000000000000101010101010101016C
+:10EBA000010101010102020202020202020202024A
+:10EBB0000202020202020202000202020202020237
+:10EBC0000202020202020200000000000000000037
+:10EBD000000000000001010101010101010101012A
+:10EBE0000101010101010101010101010101010115
+:10EBF0000101010101010101010101010101010105
+:10EC000001010101010101010101010101010101F4
+:10EC100001010101010101010101010101010101E4
+:10EC200001010101010101020201010101010101D2
+:10EC300001010101010101010001010100000100C8
+:10EC400000000101010000010001010101010001BA
+:10EC500001010101010100010001010000000000AB
+:10EC600000000000000000010000000000000000A3
+:10EC7000000000000202020202020202020202027C
+:10EC80000202020202020201010000000000000074
+:10EC90000000000000000001010202020202020264
+:10ECA0000202020202020202020202020202020244
+:10ECB0000202020202020202000202020202020236
+:10ECC0000202020202020200000000000000000036
+:10ECD0000000000000010101010101010101010129
+:10ECE0000101010101010101010101010101010114
+:10ECF0000101010101010101010101010101010104
+:10ED000001010101010101010101010101010101F3
+:10ED100001010101010101010201010101010101E2
+:10ED200001010102010101020201010101010101D0
+:10ED300001010101010101000002010200000100C6
+:10ED400000000101010000000001000000010000BE
+:10ED500000000101000000000002000000000000AF
+:10ED60000000000000000002000200020202020295
+:10ED70000202020202020202020202020202020273
+:10ED80000202020202020201010000000000000073
+:10ED9000000000000002020202020202020202025D
+:10EDA0000202020202020202020202020202020243
+:10EDB0000202020202020202000202020202020235
+:10EDC0000202020202020200000000000000000035
+:10EDD0000000000001010101010101010101010127
+:10EDE0000101010101010101010101010101010113
+:10EDF0000101010101010101010101010101010103
+:10EE000001010101010101010101010101010101F2
+:10EE100001010101010101010101010101010101E2
+:10EE200001010102010102020202010101010101CD
+:10EE300001010101020101000001010100000100C6
+:10EE400000000101000000000002000000010000BD
+:10EE500000000001000000000001000000000000B0
+:10EE6000000000000002020202020202020202028C
+:10EE70000202020202020202020202020202020272
+:10EE80000202020202020202020202020202020262
+:10EE90000202020202020202020202020202020252
+:10EEA0000202020202020202020202020202020242
+:10EEB0000202020202020202000202020202020234
+:10EEC0000202020202020200000000000000000034
+:10EED0000000000001010101010101010101010126
+:10EEE0000101010101010101010101010101010112
+:10EEF0000101010101010101010101010101010102
+:10EF000001010101010101010101010101010101F1
+:10EF100001010101020101020002010202020202DA
+:10EF200001010201020201010102010101010101CD
+:10EF300001010202020102000000010000000200C3
+:10EF400000000101000000000001000000010000BD
+:10EF5000000000020002020000020002020202029F
+:10EF60000202020202020202020202020202020281
+:10EF70000202020202020202020202020202020271
+:10EF80000202020202020202020202020202020261
+:10EF90000202020202020202020202020202020251
+:10EFA0000202020202020202020202020202020241
+:10EFB0000202020202020202020202020202020231
+:10EFC0000202020202020200000000000000000033
+:10EFD0000000010101010101010101010101010123
+:10EFE0000101010101010101010101010101010111
+:10EFF0000101010101010101010101010101010101
+:10F0000001010101010101010101010101010101F0
+:10F0100001010101020002010001020101010101DF
+:10F0200000000101010100010101020202020101CF
+:10F0300002010101010201000000020000000100C4
+:10F0400000000202020202020002020202020202A6
+:10F050000202020202020202020202020202020290
+:10F060000202020202020202020202020202020280
+:10F070000202020202020202020202020202020270
+:10F080000202020202020202020202020202020260
+:10F090000202020202020202020202020202020250
+:10F0A0000202020202020202020202020202020240
+:10F0B0000202020202020202020202020202020230
+:10F0C000020202020202020000010001010000012E
+:10F0D0000101010101010101010101010101010120
+:10F0E0000101010101010101010101010101010110
+:10F0F0000101010101010101010101010101010100
+:10F1000001010101020201020102020202010202E6
+:10F1100002020202010001000000010000000000E4
+:10F1200002020000000202010101010101010202CC
+:10F1300001020202010102000202020202020202B4
+:10F14000020202020202020202020202020202029F
+:10F15000020202020202020202020202020202028F
+:10F16000020202020202020202020202020202027F
+:10F17000020202020202020202020202020202026F
+:10F18000020202020202020202020202020202025F
+:10F19000020202020202020202020202020202024F
+:10F1A000020202020202020202020202020202023F
+:10F1B0000202020202020202020200020202020231
+:10F1C0000202020202020201010101010101010128
+:10F1D000010101010101010101010101010101011F
+:10F1E000010101010101010101010101010101010F
+:10F1F00001010101020201010101010101010101FD
+:10F2000001010101010102010101010101010101ED
+:10F2100001010101010202020202020202020202D3
+:10F2200002020202020202010102020202020202C0
+:10F2300002020202020202020202020202020202AE
+:10F24000020202020202020202020202020202029E
+:10F25000020202020202020202020202020202028E
+:10F26000020202020202020202020202020202027E
+:10F27000020202020202020202020202020202026E
+:10F28000020202020202020202020202020202025E
+:10F29000020202020202020202020202020202024E
+:10F2A000020202020202020202020202020202023E
+:10F2B0000202020202020202020200020200020232
+:10F2C000020202020000000101010101010101012D
+:10F2D000010101010101010101010101010101011E
+:10F2E000010101000101010101010101010101010F
+:10F2F00001010101010102020202020202020202F4
+:10F3000002020202020202020202020202020202DD
+:10F3100002020202020202020202020202020202CD
+:10F3200002020202020202020202020202020202BD
+:10F3300002020202020202020202020202020202AD
+:10F34000020202020202020202020202020202029D
+:10F35000020202020202020202020202020202028D
+:10F36000020202020202020202020202020202027D
+:10F37000020202020202020202020202020202026D
+:10F38000020202020202020202020202020202025D
+:10F39000020202020202020202020202020202024D
+:10F3A000020202020202020202020202020202023D
+:10F3B000020202020202020202000000000000003B
+:10F3C000000202020000000101010101010101012E
+:10F3D000010101010101010101010101010101011D
+:10F3E0000101010002020202020202020202020202
+:10F3F00002020202020202020202020202020202ED
+:10F4000002020202020202020202020202020202DC
+:10F4100002020202020202020202020202020202CC
+:10F4200002020202020202020202020202020202BC
+:10F4300002020202020202020202020202020202AC
+:10F44000020202020202020202020202020202029C
+:10F45000020202020202020202020202020202028C
+:10F46000020202020202020202020202020202027C
+:10F47000020202020202020202020202020202026C
+:10F48000020202020202020202020202020202025C
+:10F49000020202020202020202020202020202024C
+:10F4A000020202020202020202020202020202023C
+:10F4B000020202020202020202000000000000003A
+:10F4C0000002000000000001010101010101010131
+:10F4D0000101010101010102020202020202020213
+:10F4E00002020202020202020202020202020202FC
+:10F4F00002020202020202020202020202020202EC
+:10F5000002020202020202020202020202020202DB
+:10F5100002020202020202020202020202020202CB
+:10F5200002020202020202020202020202020202BB
+:10F5300002020202020202020202020202020202AB
+:10F54000020202020202020202020202020202029B
+:10F55000020202020202020202020202020202028B
+:10F56000020202020202020202020202020202027B
+:10F57000020202020202020202020202020202026B
+:10F58000020202020202020202020202020202025B
+:10F59000020202020202020202020202020202024B
+:10F5A000020202020202020202020202020202023B
+:10F5B0000202020202020202020000000000000039
+:10F5C0000000000000000001010101010101010132
+:10F5D0000101010101010102020202020202020212
+:10F5E00002020202020202020202020202020202FB
+:10F5F00002020202020202020202020202020202EB
+:10F6000002020202020202020202020202020202DA
+:10F6100002020202020202020202020202020202CA
+:10F6200002020202020202020202020202020202BA
+:10F6300002020202020202020202020202020202AA
+:10F64000020202020202020202020202020202029A
+:10F65000020202020202020202020202020202028A
+:10F66000020202020202020202020202020202027A
+:10F67000020202020202020202020202020202026A
+:10F68000020202020202020202020202020202025A
+:10F69000020202020202020202020202020202024A
+:10F6A000020202020202020202020202020202023A
+:10F6B000020202020202020200000000000000003A
+:10F6C0000000000000000001010101010101010131
+:10F6D000010101010101010101010101010101011A
+:10F6E000010101010101010101010101010101010A
+:10F6F00001010101010101010101010101010101FA
+:10F7000001010101010101010101010101010101E9
+:10F7100001010101010101010101010101010101D9
+:10F7200001010101010101010101010101010101C9
+:10F7300001010101010101010101010101010101B9
+:10F7400001010101010101010101010101010101A9
+:10F750000101010101010101010101010101010199
+:10F760000101010101010101010101010101010189
+:10F770000101010101010101010101010101010179
+:10F780000101010101010101010101010101010169
+:10F790000101010101010101010101010101010159
+:10F7A0000101010101010101010101010101010149
+:10F7B0000101010101010102000000000000000040
+:10F7C0000000000000000001010101010101010130
+:10F7D0000101010101010101010101010101010119
+:10F7E0000101010101010101010101010101010109
+:10F7F00001010101010101010101010101010101F9
+:10F8000001010101010101010101010101010101E8
+:10F8100001010101010101010101010101010101D8
+:10F8200001010101010101010101010101010101C8
+:10F8300001010101010101010101010101010101B8
+:10F8400001010101010101010101010101010101A8
+:10F850000101010101010101010101010101010198
+:10F860000101010101010101010101010101010188
+:10F870000101010101010101010101010101010178
+:10F880000101010101010100000000000000000071
+:10F890000000000000000000000000000000000068
+:10F8A0000000000000000000000000000000000058
+:10F8B0000000000000000002000000000000000046
+:10F8C0000000000000000000000000000000000038
+:10F8D0000000000000000000000000000000000028
+:10F8E0000000000000000000000000000000000018
+:10F8F0000000000000000000000000000000000008
+:10F9000000000000000000000000000000000000F7
+:10F9100000000000000000000000000000000000E7
+:10F9200000000000000000000000000000000000D7
+:10F9300000000000000000000000000000000000C7
+:10F9400000000000000000000000000000000000B7
+:10F9500000000000000000000000000000000000A7
+:10F960000000000000000000000000000000000097
+:10F970000000000000000000000000000000000087
+:10F980000000000000000000000000000000000077
+:10F990000000000000000000000000000000000067
+:10F9A0000000000000000000000000000000000057
+:10F9B0000000000000000000000000000000000047
+:10F9C000000000000000003E0000000000000000F9
+:10F9D0000000000000000000000000000000000027
+:10F9E0000000000000000000000000000000000017
+:10F9F0000000000000000000000000000000000007
+:10FA000000000000000000000000000000000000F6
+:10FA100000000000000000000000000000000000E6
+:10FA200000000000000000000000000000000000D6
+:10FA300000000000000000000000000000000000C6
+:10FA400000000000000000000000000000000000B6
+:10FA500000000000000000000000000000000000A6
+:10FA60000000000000000000000000000000000096
+:10FA70000000000000000000000000000000000086
+:10FA80000000000000000000000000000000000076
+:10FA90000000000000000000000000000000000066
+:10FAA0000000000000000000000000000000000056
+:10FAB0000000000000000000000000000000000046
+:10FAC000020202020202020200000202020000021E
+:10FAD0000000000000000000000000000202000022
+:10FAE000000000000002000000000002020200000E
+:10FAF0000000000000000000000000000002020002
+:10FB000000000000000000000000000000020200F1
+:10FB100000020000000000000000000000000000E3
+:10FB200000000000000000000000000000000000D5
+:10FB300000000000000000000000000000000000C5
+:10FB400000000000000000000000000000000000B5
+:10FB500000000000000000000000000000000000A5
+:10FB60000000000000000000000000000000000095
+:10FB70000000000000000000000000000000000085
+:10FB80000000000000000000000000000000000075
+:10FB90000001000000000000000000000002000062
+:10FBA0000000000000000000000000000000020053
+:10FBB000000002020200000000000000000002003D
+:10FBC0000202020202020202020202020202000217
+:10FBD000000000000000000000000000020200021F
+:10FBE000000000000002000000000002020202000B
+:10FBF00000000000000000000000000200020200FF
+:10FC000000000000000000000000000202020200EC
+:10FC100000020000000100000000000000020000DF
+:10FC200000000000000000000000000000000000D4
+:10FC300000000000000000000000000000000000C4
+:10FC400000000000000000000000000000000000B4
+:10FC500000000000000000000000000000000000A4
+:10FC60000000000000000000000000000000000094
+:10FC70000000000000000000000000000000000084
+:10FC80000000000000000000000000000000000173
+:10FC9000000101010100000000000000020202005A
+:10FCA000020100000001000000000000000202004C
+:10FCB0000202020202020202020202020202020026
+:10FCC0000202020202020202020202020202000216
+:10FCD000000000000000000000000000020200021E
+:10FCE0000000000000020002000000020202020008
+:10FCF00000000000000000000000000200020200FE
+:10FD000000000000000000000000000202020200EB
+:10FD100000020001000100000000000000020000DD
+:10FD200000000000000000000000000000000000D3
+:10FD300000000000000000000000000000000000C3
+:10FD400000000000000000000000000000000000B3
+:10FD500000000000000000000000000000000000A3
+:10FD60000000000000000000000000000000000093
+:10FD70000000000000000000000000000000000083
+:10FD80000000000000000000000000000000000172
+:10FD90000102010201010000000000000202020154
+:10FDA0000202020201010000000000000002020243
+:10FDB0000202020202020202020202020202020025
+:10FDC0000202020202020202020202020202000215
+:10FDD000000000000000000000000000020200021D
+:10FDE0000000000000020002000000020202020007
+:10FDF00000000000000000000000000202020200FB
+:10FE000000000000000000000000000202020200EA
+:10FE100000020001000100000000000000020000DC
+:10FE200000000000000000000000000000000000D2
+:10FE300000000000000000000000000000000000C2
+:10FE400000000000000000000000000000000000B2
+:10FE500000000000000000000000000000000000A2
+:10FE60000000000000000000000000000000000092
+:10FE70000000000000000000000000000000000082
+:10FE80000000000000000000000000000000000171
+:10FE9000020202020201000000000000020202024F
+:10FEA000020202020202020000000000000202023E
+:10FEB0000202020202020202020202020202020024
+:10FEC0000202020202020202020202020202000214
+:10FED000000000000000000000000000020200021C
+:10FEE0000000000000020002000000020202020006
+:10FEF00000000000000000000000000202020200FA
+:10FF000000000000000000000000000202020200E9
+:10FF100000020001000200000000000000020000DA
+:10FF200000000000000000000000000000000000D1
+:10FF300000000000000000000000000000000000C1
+:10FF400000000000000000000000000000000000B1
+:10FF500000000000000000000000000000000000A1
+:10FF6000010000000101000000000000000000008E
+:10FF70000000000000000000000000000000000081
+:10FF8000000000000000000000000000000000026F
+:10FF9000020202020202000000000000020202024D
+:10FFA000020202020202020000000000000202023D
+:10FFB0000202020202020202020202020202020023
+:10FFC0000202020202020202020202020202000213
+:10FFD000000000000000000000000000020200021B
+:10FFE0000000000000020002000000020202020005
+:10FFF00000000000000000000000000202020200F9
+:020000040011E9
+:1000000000000000000000000000000202020200E8
+:1000100000020002000200000000000002020000D6
+:1000200000000000000000000000000000000000D0
+:1000300000000000000000000000000000000000C0
+:1000400000000000000000000000000000000002AE
+:1000500000000000000000000000000000000000A0
+:10006000010000000101000000000000000000008D
+:100070000000000000000000000000000000000080
+:10008000000000000000000000000000000000026E
+:10009000020202020202000000000000020202024C
+:1000A0000202020202020202000202000002020236
+:1000B0000202020202020202020202020202020022
+:1000C0000202020202020202020202020202000212
+:1000D000000000000000000000000000020200021A
+:1000E0000000000000020002000000020202020004
+:1000F00000000000000000000000000202020200F8
+:1001000000000000000000000000000202020201E6
+:1001100000020002000200000000000002020000D5
+:1001200000000000000000000000000000000000CF
+:1001300000000000000000000000000000000000BF
+:1001400000000000000000000000000000000002AD
+:10015000000000000000000000000000000000029D
+:100160000100000102010000000000000002020086
+:10017000000000000000000000000000000000007F
+:10018000000000000000000000000000000000026D
+:100190000202020202020200000000000202020249
+:1001A0000202020202020202000202000002020235
+:1001B0000202020202020202020202020202020021
+:1001C0000202020202020202020202020202000211
+:1001D0000000000000000000000000000202000219
+:1001E0000000000000020002000000020202020102
+:1001F00000000000000000000000000202020200F7
+:1002000000000000000000000000000202020202E4
+:1002100000020002000200000000000002020000D4
+:1002200000000000000000000000000000000000CE
+:1002300000000000000000000000000000000000BE
+:1002400000000000000000000000000000000002AC
+:10025000000000010000000000000000000000029B
+:100260000200000202020000000000000002020082
+:10027000000000000000000000000000000000007E
+:10028000010000000000000000000000000000026B
+:100290000202020202020200000000000202020248
+:1002A0000202020202020202020202020002020230
+:1002B0000202020202020202020202020202020020
+:1002C0000202020202020202020202020202000210
+:1002D0000000000000000000000000000202000218
+:1002E0000000000000020002000000020202020200
+:1002F00000000000000000000000000202020200F6
+:1003000000000000000000000000000202020202E3
+:1003100000020002000200000000000002020000D3
+:1003200000000000000000000000000000000000CD
+:1003300000000000000000000000000000000000BD
+:1003400000000000000000000000000000000002AB
+:100350000101000100010000000002000002000293
+:100360000200010202020000000000000002020080
+:10037000000000000000000000000000000000007D
+:100380000100010000000000000000000000000269
+:100390000202020202020200020202000202020241
+:1003A000020202020202020202020202000202022F
+:1003B000020202020202020202020202020202001F
+:1003C000020202020202020202020202020200020F
+:1003D0000000000000000000000000000202000217
+:1003E00000000000000200020000000202020202FF
+:1003F00000000000000000000000000202020200F5
+:1004000000000000000000000000000202020202E2
+:1004100000020002000200000000000002020000D2
+:1004200000000000000000000000000000000000CC
+:1004300000000000000000000000000000000000BC
+:1004400000000000000000000000000000000002AA
+:10045000010201020001000000000200000200028F
+:10046000020002020202020000000000000202007C
+:10047000000000000000000000000000000000007C
+:100480000101010000010000000000000000000266
+:100490000202020202020200020202000202020240
+:1004A000020202020202020202020202000202022E
+:1004B000020202020202020202020202020202001E
+:1004C000010101010101010101010101010100021C
+:1004D0000000000000000000000000020202000214
+:1004E00000000000000200020000000202020202FE
+:1004F00000000000000000000000000202020200F4
+:1005000000000000000000000000000202020202E1
+:1005100000020002000200000000000002020200CF
+:1005200000000000000000000000000000000000CB
+:1005300000000000000000000000000000000000BB
+:1005400000000100000000000000000000000002A8
+:10055000020201020002000002000200000200028A
+:10056000020002020202020000000000000202007B
+:100570000000000000000000000000000000000279
+:100580000201010100010000000000000000000263
+:10059000020202020202020202020202020202023B
+:1005A000020202020202020202020202000202022D
+:1005B000020202020202020202020202020202001D
+:1005C000010101010101010101010101010100021B
+:1005D0000000000000000000000000020102000214
+:1005E00000000002000200020000000202020202FB
+:1005F00000000000000000000000000202020200F3
+:1006000000000000000000000000000202020202E0
+:1006100001020002000200020000000002020200CB
+:1006200000000000000000000000000000000000CA
+:1006300000000000000000000000000000000000BA
+:1006400000000101000000000000000000000002A6
+:100650000202020201020000020002000002020285
+:100660000200020202020200020202000002020074
+:100670000100000000000000000000000000000277
+:100680000201020100010000000000000000000261
+:10069000020202020202020202020202020202023A
+:1006A000020202020202020202020202020202022A
+:1006B000020202020202020202020202020202001C
+:1006C000010101010101010101010101010100021A
+:1006D0000000000000000002000000020102000211
+:1006E00000000002000200020000000202020202FA
+:1006F00000000000000000000000000202020202F0
+:1007000000000000000000000000000202020202DF
+:1007100001020102000200020000000002020200C9
+:1007200000000000000000000000000000000000C9
+:1007300000000000000000000000000000000000B9
+:1007400000000101000000000000000000000002A5
+:100750000202020202020200020002000002020281
+:100760000201020202020200020202000002020171
+:100770000100000000000000000000000000000276
+:10078000020202020102000000000000000000025C
+:100790000202020202020202020202020202020239
+:1007A0000202020202020202020202020202020229
+:1007B000020202020202020202020202020201001C
+:1007C0000101010101010101010101010101000219
+:1007D0000000000000000002000000020101000211
+:1007E00000000002000200020000000202020202F9
+:1007F00001000000000000000000000202020202EE
+:1008000000000000000000000000000202020202DE
+:1008100001020102000200020000000002020200C8
+:1008200000000000000000000000000000000000C8
+:1008300000000000000000000000000000000002B6
+:1008400000000201000000000000000000000002A3
+:100850000202020202020200020002000002020280
+:10086000020202020202020202020200000202026C
+:100870000101000000000000000000000000000274
+:10088000020202020102000000000000000000025B
+:100890000202020202020202020202020202020238
+:1008A0000202020202020202020202020202020228
+:1008B000020202020202020202020202020101001C
+:1008C0000101010101010101010101010101000218
+:1008D0000202000002020002020200020101000204
+:1008E00000000002000200020000000202020202F8
+:1008F00001000000000000000000000202020202ED
+:1009000000000000000000000000000202020202DD
+:1009100002020102010200020000000002020200C5
+:1009200000000000000000000000000000000000C7
+:1009300000000000000002000000000000000002B3
+:10094000000002020001000000000002020000029C
+:10095000020202020202020002020202000202027B
+:10096000020202020202020202020200000202026B
+:100970000201000101000000000000000000000270
+:100980000202020202020000000000000000020257
+:100990000202020202020202020202020202020237
+:1009A0000202020202020202020202020202020227
+:1009B000020202020202020202020202010101001C
+:1009C0000000000000000000000000000001000125
+:1009D0000202000002020002020200020101000203
+:1009E00000000002000200020000000202020202F7
+:1009F00001000000000000000000000202020202EC
+:100A000000000000000000000000000202020202DC
+:100A100002020202010200020000000002020200C3
+:100A200000000000000000000000000000000000C6
+:100A300000000000000002000000020000000002B0
+:100A4000000002020001000000000002020000029B
+:100A5000020202020202020002020202000202027A
+:100A60000202020202020202020202020002020268
+:100A7000020100010100000000000000000000026F
+:100A80000202020202020000000000000002020254
+:100A90000202020202020202020202020202020236
+:100AA0000202020202020202020202020202010227
+:100AB000020202020202020202020201010101001C
+:100AC0000000000000000000000000000001000124
+:100AD0000202020002020002020200020101000200
+:100AE00001010002000200020000000202020202F4
+:100AF00002000001000000000000000202020202E9
+:100B000000000000000000000000000202020202DB
+:100B100002020202020200020000000002020201C0
+:100B200000000000000000000000000000000000C5
+:100B300000000000000002000002020000000002AD
+:100B40000002020200010000000000020200000298
+:100B50000202020202020200020202020002020279
+:100B60000202020202020202020202020002020267
+:100B7000020201010200000000000000000000026B
+:100B80000202020202020000000000000002020253
+:100B90000202020202020202020202020201010237
+:100BA0000202020202020202020202020201010227
+:100BB000020202020202020101010101010101001F
+:100BC0000000000000000000000000000001000123
+:100BD0000202020002020002020200010101000200
+:100BE00002010102010200020000000202020202F0
+:100BF00002000002000000000000000202020202E7
+:100C000000000000000000000000000202020202DA
+:100C100002020202020200020000000002020202BE
+:100C200000000000000000000000000000000000C4
+:100C300000000001000002000002020000000002AB
+:100C40000002020202020000000000020200000294
+:100C50000202020202020200020202020002020278
+:100C60000202020202020202020202020002020266
+:100C70000202010202010000000000000000000268
+:100C8000020202020202020000000200000202024E
+:100C90000202020202020202020202020201010236
+:100CA0000202020202020202020202020201010226
+:100CB0000202020201010101010101010101010021
+:100CC0000000000000000000000000000001000122
+:100CD00002020200020202020202020101010002FB
+:100CE00002020102020202020000000202020202EB
+:100CF00002000002000000000000000202020202E6
+:100D000000000000000000000000000202020102DA
+:100D100002020202020200020000000002020202BD
+:100D200000000000000000000000000000000000C3
+:100D300000000002000002000002020000000002A9
+:100D40000002020202020000000000020202000291
+:100D50000202020202020202020202020002020275
+:100D60000202020202020202020202020002020265
+:100D70000202010202010000000000000000000267
+:100D8000020202020202020000000200000202024D
+:100D90000202020202020202020202020101010236
+:100DA0000202020202020202020202020201010225
+:100DB0000202010101010101010101010101010022
+:100DC0000000000000000000000000000001010120
+:100DD00002020200020202010202020101010002FB
+:100DE00002020202020202020000000202010202EA
+:100DF00002000002000000000000000202020102E6
+:100E000000000000000102000000000202010102D7
+:100E100002020202020200020000000002010202BD
+:100E200000000000000000000000000000000001C1
+:100E300000000002000002000002020000000002A8
+:100E40000002020202020000000000020202000290
+:100E50000202020202020202020202020002020274
+:100E60000202020202020202020202020202010263
+:100E70000202020202010202000000000000000261
+:100E80000202020202020200020202000202020246
+:100E90000202020202020202020202020101010235
+:100EA0000202020202020202020202020201010224
+:100EB0000201010101010101010101010101010022
+:100EC000000000000000000000000001010101021C
+:100ED00002020202020202010101020101010002FA
+:100EE00002020202020202020002000202010102E8
+:100EF00002000002000000000000000202010102E6
+:100F000000000102010202000000000202010102D1
+:100F100002020202020200020000000002010202BC
+:100F200000000000000000000000000000000002BF
+:100F300000000002000002000002020000000002A7
+:100F4000010202020202000200000002020200028C
+:100F50000202020202020202020202020002020273
+:100F60000202020202020202020202020201010263
+:100F7000020202020202020200000000000000025F
+:100F80000202020202020200020202000202020245
+:100F90000202020202020202020202020101010234
+:100FA0000202020202020202020202020201010223
+:100FB0000201010101010101010101010101010021
+:100FC000000000000000000000000001010101021B
+:100FD00001020202020102010101010101010002FC
+:100FE00002020202020202020002000201010102E8
+:100FF00002000002000000000000000202010102E5
+:1010000000000202020202000002020101010102CC
+:1010100002020202020202020000000002010202B9
+:1010200000000000000000000000000000000002BE
+:1010300000000002000002000002020000000202A4
+:101040000102020202020002000000020202020289
+:101050000202020202020202020202020002020272
+:101060000202020202020202020202020201010262
+:101070000202020202020202000200020002000258
+:101080000202020202020202020202020202020240
+:101090000202020202020202020202020101010233
+:1010A0000202020202020202020202020201010222
+:1010B0000101010101010101010101010101010021
+:1010C000000000000000000000000001010101021A
+:1010D00001020202010102010101020101010002FB
+:1010E00002020202020202020002000101010102E8
+:1010F00002000002010000000000000101010102E5
+:1011000000020202020202000002020101010102C9
+:1011100002020202020202020000000001010202B9
+:1011200000000000000000000000000000000002BD
+:1011300000000002000002000002020000000202A3
+:101140000102020202020202000202020202020282
+:101150000202020202020202020202020201020270
+:101160000202020202020202020202020201010261
+:101170000202020202020202000200020002020255
+:10118000020202020202020202020202020202023F
+:101190000202020202020202020202020101010232
+:1011A0000202020202020101020101010201010226
+:1011B0000101010101010101010101010101010020
+:1011C0000000000000000000000000010101010219
+:1011D00001010202010101010101010101010002FD
+:1011E00002020202020202020002000101010102E7
+:1011F00002000002020102000000020101010102DE
+:1012000002020202020202000202020101010102C4
+:1012100002010202020202020000000001010102BA
+:1012200000000000000000000000000000000002BC
+:1012300000000102000002000002020000000202A1
+:101240000202020202020202000202020202020280
+:101250000202020202020202020202020201010270
+:101260000202020202020202020202020201010260
+:10127000020202020202020202020202020202024E
+:10128000020202020202020202020202020202023E
+:101290000202020202020202020202020101010231
+:1012A000020201010101010101010101010101022B
+:1012B000010101010101010101010101010101001F
+:1012C0000000000000000000000000010101010218
+:1012D00002010101010101010101010101010002FD
+:1012E00002020202020202020202020101010102E2
+:1012F00002000002020202000000020101010102DC
+:1013000002020202020202020202020101010102C1
+:1013100002010202020202020000000201010102B7
+:1013200000000000000000000000000002000002B9
+:10133000010101020000020000020200000202029C
+:10134000020202020202020202020202020202027D
+:10135000020202020202020202020202020101026F
+:10136000020202020202020202020202020101025F
+:10137000020202020202020202020202020202024D
+:10138000020202020202020202020202020201023E
+:101390000202020101010102010101010101010238
+:1013A000010101010101010101010101010101022C
+:1013B000010101010101010101010101010101001E
+:1013C0000000000000000001000000010101010117
+:1013D00002010101010101010101010100010002FD
+:1013E00002020202020102010202020101010102E3
+:1013F00002000002020202000000020101010102DB
+:1014000002020202020202020202020101010102C0
+:1014100002010202020202020202020201010102B0
+:1014200001000000000000000000000002000202B5
+:10143000010101020100020000020200000202029A
+:10144000020202020202020202020202020202027C
+:10145000020202020202020202020102020101026F
+:10146000020202020202020202020202020101025E
+:10147000020202020202020202020202020202024C
+:10148000020202020202020202020202020101023E
+:10149000020101010101010101010101010101023A
+:1014A000010101010101010101010101010101012C
+:1014B000010101010101010101010101010101001D
+:1014C0000000000000000001010101010101010113
+:1014D00002010102010101010101010100010002FB
+:1014E00002020202020102010202020101010102E2
+:1014F00002000102020202020000020101010102D7
+:1015000002020202020202020202020101010102BF
+:1015100002010202020202020202020201010102AF
+:1015200001010000000000000000000002000202B3
+:101530000201020201010200000202000002020296
+:10154000020202020202020202020202010202027C
+:10155000020202020202020201020102020101026F
+:101560000202020201020102010101020201010262
+:10157000020202020202020202020202020202024B
+:10158000020202020202020202020202020101023D
+:10159000010101010101010101010101010101023A
+:1015A000010101010101010101010101010101012B
+:1015B000010101010101010101010101010101001C
+:1015C0000000000000000001010101010101010112
+:1015D00001010102010101010101010100010002FB
+:1015E00002020202020102010202020101010102E1
+:1015F00002000202020202020202020101010102D1
+:1016000002020202020202020202020101010102BE
+:1016100002010202020102010202020201010102B0
+:1016200002010000000000000000000002020202AF
+:101630000202020201010200000202000002020294
+:10164000020202020202020202020201010102027D
+:10165000020202020202020201020101020101026F
+:101660000202020101010101010101010201010265
+:10167000020202020202020202020202020202024A
+:10168000020202020202020202020202020101023C
+:101690000101010101010101010101010101010239
+:1016A000010101010101010101010101010101012A
+:1016B000010101010101010101010101010101001B
+:1016C000000000000001010101010101010101010F
+:1016D00001010101010101010101010000010002FC
+:1016E00002020202020102010202020101010102E0
+:1016F00002000202020202020202020101010102D0
+:1017000002020202020202020202020101010102BD
+:1017100002010202020102010202020201010102AF
+:1017200002010101000000000000000002020202AC
+:101730000202020202010200000202000002020292
+:10174000020202020202020202020201010101027D
+:10175000020202020202020201020101020101026E
+:101760000202010101010101010101010101010266
+:101770000202020202020202020202020202020249
+:10178000020202020202020202020202010101023C
+:101790000101010101010101010101010101010238
+:1017A0000101010101010101010101010101010129
+:1017B000010101010101010101010101010101001A
+:1017C000000000000101010101010101010101010D
+:1017D00001010101010101000000010000000002FF
+:1017E00002020202020102010202020101010102DF
+:1017F00002000202020202020202020101010102CF
+:1018000002020202020202020202020101010102BC
+:1018100002010201020102010202020201010102AF
+:1018200002020101000000000000000002020202AA
+:101830000202020202020200000201000002010292
+:10184000020202020202020202020201010101027C
+:101850000201020202010102010101010201010271
+:101860000202010101010101010101010101010265
+:10187000020202020202020202020202020101024A
+:10188000020202020202020202020202010101023B
+:101890000101010101010101010101010101010138
+:1018A0000101010101010101010101010101010128
+:1018B0000101010101010101010101010101010019
+:1018C000000000000101010101010101010101010C
+:1018D00001010101010001000000010000000002FF
+:1018E00002020202020102010202020101010102DE
+:1018F00002000202020202020202020101010102CE
+:1019000002020202020202020202020101010102BB
+:1019100002010201020102010202020201010102AE
+:1019200002020101010000000000000002020202A8
+:101930000202020202020100000101000002010293
+:10194000020202020202020202020201010101027B
+:101950000201020101010102010101010201010173
+:101960000102010101010101010101010101010265
+:101970000202020202020202020202020201010249
+:10198000020202020201020202020102010101023C
+:101990000101010101010101010101010101010137
+:1019A0000101010101010101010101010101010127
+:1019B0000101010101010101010101010101010018
+:1019C000000000010101010101010101010101010A
+:1019D0000100010100000000000000000000000103
+:1019E00002020202020102010202020101010102DD
+:1019F00002020202020202020202020101010102CB
+:101A000002020202020202020202020101010102BA
+:101A100002010201020102010202020201010102AD
+:101A200002020202010100000000000002020102A5
+:101A30000202020202020100000101000001010293
+:101A4000020202020102020102020201010101017D
+:101A50000201010101010101010101010101010175
+:101A60000101010101010101010101010101010265
+:101A7000020202020202020102020201010101024B
+:101A80000202010101010102010101010101010143
+:101A90000101010101010101010101010101010136
+:101AA0000101010101010101010101010101010126
+:101AB0000101010101010101010101010101010017
+:101AC0000000010101010101010101010101010009
+:101AD0000100000100000000000000000000000103
+:101AE00002020201020102010202020101010102DD
+:101AF00002020202020202020202020101010102CA
+:101B000002020202020202020202020101010102B9
+:101B100002010201020102010202020201010102AC
+:101B200002020202010100000000000001020102A5
+:101B30000202020202020100000101000001010292
+:101B4000020101020102020102020201010101017E
+:101B50000101010101010101010101010101010175
+:101B60000101010101010101010101010101010264
+:101B7000020202020202010102010201010101024C
+:101B80000101010101010101010101010101010145
+:101B90000101010101010101010101010101010135
+:101BA0000101010101010101010101010101010125
+:101BB0000101010101010101010101010101010016
+:101BC0000000010101010101010101010101010008
+:101BD0000000000100000000000000000000000103
+:101BE00002020201020102010202020101010102DC
+:101BF00002020202020202020202020101010102C9
+:101C000002020202020201020201010101010101BC
+:101C100002010201010102010202020101010102AD
+:101C200002020202020100000000000001010102A4
+:101C30000202020202020100000101000001010291
+:101C40000201010101010201020101010101010181
+:101C50000101010101010101010101010101010174
+:101C60000101010101010101010101010101010263
+:101C7000020202020102010101010201010101014E
+:101C80000101010101010101010101010101010144
+:101C90000101010101010101010101010101010134
+:101CA0000101010101010101010101010101010124
+:101CB0000101010101010101010101010101010015
+:101CC0000001010101010101010101010101010006
+:101CD0000000000000000000000000000000000103
+:101CE00002020201020101010201020101010102DD
+:101CF00002020202020202020202020101010102C8
+:101D000002020202020101010101010101010101BE
+:101D100002010101010101010202020101010102AE
+:101D200002020202020200000000000001010102A2
+:101D30000202020202020100000101000001010290
+:101D40000201010101010101010101010101010182
+:101D50000101010101010101010101010101010173
+:101D60000101010101010101010101010101010262
+:101D7000020202020102010101010101010101014E
+:101D80000101010101010101010101010101010143
+:101D90000101010101010101010101010101010133
+:101DA0000101010101010101010101010101010123
+:101DB0000101010101010101010101010101010014
+:101DC0000001010101010101010101010101010005
+:101DD0000000000000000000000000000000000102
+:101DE00002020201010101010201020101010101DE
+:101DF00002020201020202020202010101010102C9
+:101E000002020201010101010101010101010101BF
+:101E100001010101010101010101010101010102B1
+:101E200002020202020200000000000001010102A1
+:101E30000202020102020100000101000001010191
+:101E40000201010101010101010101010101010181
+:101E50000101010101010101010101010101010172
+:101E60000101010101010101010101010101010261
+:101E70000101020101010101010101010101010151
+:101E80000101010101010101010101010101010142
+:101E90000101010101010101010101010101010132
+:101EA0000101010101010101010101010101010122
+:101EB0000101010101010101010101010101010013
+:101EC0000101010101010101010101010100000005
+:101ED0000000000000000000000000000000000101
+:101EE00002020201010101010101010101010101DF
+:101EF00002020201020201010202010101010101CB
+:101F000002010101010101010101010101010101C0
+:101F100001010101010101010101010101010102B0
+:101F200002020202020200000000000001010102A0
+:101F3000020202010202010002010100000101018E
+:101F40000201010101010101010101010101010180
+:101F50000101010101010101010101010101010171
+:101F60000101010101010101010101010101010161
+:101F70000101010101010101010101010101010151
+:101F80000101010101010101010101010101010141
+:101F90000101010101010101010101010101010131
+:101FA0000101010101010101010101010101010121
+:101FB0000101010101010101010101010101010012
+:101FC0000101010101010101010101010100000004
+:101FD0000000000000000000000000000000000100
+:101FE00001010101010101010101010101010101E1
+:101FF00001020201010101010101010101010101CF
+:1020000002010101010101010101010101010101BF
+:1020100001010101010101010101010101010102AF
+:10202000020202020202000000000000010101029F
+:10203000020202010202010002010100000101018D
+:10204000020101010101010101010101010101017F
+:102050000101010101010101010101010101010170
+:102060000101010101010101010101010101010160
+:102070000101010101010101010101010101010150
+:102080000101010101010101010101010101010140
+:102090000101010101010101010101010101010130
+:1020A0000101010101010101010101010101010120
+:1020B0000101010101010101010101010101010011
+:1020C0000101010101010101010101000100000004
+:1020D00000000000000000000000000000000001FF
+:1020E00001010101010101010101010101010101E0
+:1020F00001020201010101010101010101010101CE
+:1021000001010101010101010101010101010101BF
+:1021100001010101010101010101010101010102AE
+:10212000020202020202000000000200010101029C
+:102130000202020102020102020101020001010188
+:10214000020101010101010101010101010101017E
+:10215000010101010101010101010101010101016F
+:10216000010101010101010101010101010101015F
+:10217000010101010101010101010101010101014F
+:10218000010101010101010101010101010101013F
+:10219000010101010101010101010101010101012F
+:1021A000010101010101010101010101010101011F
+:1021B0000101010101010101010101010101010010
+:1021C0000101010101010101010101000100000003
+:1021D00000000000000000000000000000000001FE
+:1021E00001010101010101010101010101010101DF
+:1021F00001020201010101010101010101010101CD
+:1022000001010101010101010101010101010101BE
+:1022100001010101010101010101010101010101AE
+:102220000202020202020200020002000101010297
+:102230000202020102020102020101020001010187
+:10224000020101010101010101010101010101017D
+:10225000010101010101010101010101010101016E
+:10226000010101010101010101010101010101015E
+:10227000010101010101010101010101010101014E
+:10228000010101010101010101010101010101013E
+:10229000010101010101010101010101010101012E
+:1022A000010101010101010101010101010101011E
+:1022B0000102020202020202020202020202020001
+:1022C0000101010101010101010101000000000003
+:1022D00000000000000000000000000000000101FC
+:1022E00001010101010101010101010101010101DE
+:1022F00001020101010101010101010101010101CD
+:1023000001010101010101010101010101010101BD
+:1023100001010101010101010101010101010101AD
+:102320000202020202020200020202000101010294
+:102330000202020102020102020101020201010184
+:10234000010101010101010101010101010101017D
+:10235000010101010101010101010101010101016D
+:10236000010101010101010101010101010101015D
+:10237000010101010101010101010101010101014D
+:10238000010101010101010101010101010101013D
+:10239000010101010101010101010101010101012D
+:1023A000010101010101010101010101010101011D
+:1023B00002020202020202020202020202020202FD
+:1023C00002020202020202020202020202020200EF
+:1023D00000000000000000000000000000000101FB
+:1023E00001010101010101010101010101010101DD
+:1023F00001020101010101010101010101010101CC
+:1024000001010101010101010101010101010101BC
+:1024100001010101010101010101010101010101AC
+:102420000202020202020200020202000101010194
+:102430000202010101010102020101020201010186
+:10244000010101010101010101010101010101017C
+:10245000010101010101010101010101010101016C
+:10246000010101010101010101010101010101015C
+:10247000010101010101010101010101010101014C
+:10248000010101010101010101010101010101013C
+:10249000010101010101010101010101010101012C
+:1024A000010101010101010101010101010101021B
+:1024B000020101010101010101010101010101020A
+:1024C00002020202020202020202020202020200EE
+:1024D00000000000000000000000000000000101FA
+:1024E00001010101010101010101010101010101DC
+:1024F00001010101010101010101010101010101CC
+:1025000001010101010101010101010101010101BB
+:1025100001010101010101010101010101010101AB
+:102520000102020202020202020202000101010192
+:10253000010101010101010201010101010101018A
+:10254000010101010101010101010101010101017B
+:10255000010101010101010101010101010101016B
+:10256000010101010101010101010101010101015B
+:10257000010101010101010101010101010101014B
+:10258000010101010101010101010101010101013B
+:10259000010101010101010101010101010101012B
+:1025A000010101010101010101010101010101021A
+:1025B000010101010101010101010101010101020A
+:1025C00002020202020202020202020202020200ED
+:1025D00000000000000000000000000000000101F9
+:1025E00001010101010101010101010101010101DB
+:1025F00001010101010101010101010101010101CB
+:1026000001010101010101010101010101010101BA
+:1026100001010101010101010101010101010101AA
+:102620000101020202020202010201020101010192
+:10263000010101010101010101010101010101018A
+:10264000010101010101010101010101010101017A
+:10265000010101010101010101010101010101016A
+:10266000010101010101010101010101010101015A
+:10267000010101010101010101010101010101014A
+:10268000010101010101010101010101010101013A
+:10269000010101010101010101010101010101012A
+:1026A000010101010101010101010101010101011A
+:1026B00001020202020202020202020202020202FB
+:1026C00002020202020202020202020202020200EC
+:1026D00000000000000000000000000000010101F7
+:1026E00001010101010101010101010101010101DA
+:1026F00001010101010101010101010101010101CA
+:1027000001010101010101010101010101010101B9
+:1027100001010101010101010101010101010101A9
+:102720000101010101010202010101020101010196
+:102730000101010101010101010101010101010189
+:102740000101010101010101010101010101010179
+:102750000101010101010101010101010101010169
+:102760000101010101010101010101010101010159
+:102770000101010101010101010101010101010149
+:102780000101010101010101010101010101010139
+:102790000101010101010101010101010101010129
+:1027A0000101010101010101010101010101010119
+:1027B00002020202020202020202020202020202F9
+:1027C00002020202020202020202020202020200EB
+:1027D00000000000000000000000000000010101F6
+:1027E00001010101010101010101010101010101D9
+:1027F00001010101010101010101010101010101C9
+:1028000001010101010101010101010101010101B8
+:1028100001010101010101010101010101010101A8
+:102820000101010101010101010101010101010198
+:102830000101010101010101010101010101010188
+:102840000101010101010101010101010101010178
+:102850000101010101010101010101010101010168
+:102860000101010101010101010101010101010158
+:102870000101010101010101010101010101010148
+:102880000101010101010101010101010101010138
+:102890000101010101010101010101010101010128
+:1028A0000101010101010101010101010102020215
+:1028B00002020202020202020202020202020202F8
+:1028C00002020202020202020202020202020200EA
+:1028D00000000000000000000000000001010101F4
+:1028E00001010101010101010101010101010101D8
+:1028F00001010101010101010101010101010101C8
+:1029000001010101010101010101010101010101B7
+:1029100001010101010101010101010101010101A7
+:102920000101010101010101010101010101010197
+:102930000101010101010101010101010101010187
+:102940000101010101010101010101010101010177
+:102950000101010101010101010101010101010167
+:102960000101010101010101010101010101010157
+:102970000101010101010101010101010101010147
+:102980000101010101010101010101010101010137
+:102990000101010101010101010101010100000129
+:1029A0000202020202020202020202020202020207
+:1029B00002020202020202020202020202020202F7
+:1029C00002020202020202020202020202020200E9
+:1029D00000000000000000000000000001010101F3
+:1029E00001010101010101010101010101010101D7
+:1029F00001010101010101010101010101010101C7
+:102A000001010101010101010101010101010101B6
+:102A100001010101010101010101010101010101A6
+:102A20000101010101010101010101010101010196
+:102A30000101010101010101010101010101010186
+:102A40000101010101010101010101010101010176
+:102A50000101010101010101010101010101010265
+:102A60000101010101010101010101010101000157
+:102A70000101010101010101010101010101010146
+:102A80000101010101010101010101010101010136
+:102A9000000000000000000000000000020202022E
+:102AA0000202020202020202020202020202020206
+:102AB00002020202020202020202020202020202F6
+:102AC00002020202020202020202020202020200E8
+:102AD00000000000000000000000000001010101F2
+:102AE00001010101010101010101010101010101D6
+:102AF00001010101010101010101010101010101C6
+:102B000001010101010101010101010101010101B5
+:102B100001000101010101010101010101010101A6
+:102B20000101010101010101010101010101010195
+:102B30000101010101010101010101010101010185
+:102B40000101010101010101010101010101010175
+:102B50000100010101010101000100000101010169
+:102B6000010100000001000000000000000202015D
+:102B70000101010101010202020201010201010140
+:102B80000101010101010101010101010002010036
+:102B90000202020202020202020202020202020215
+:102BA0000202020202020202020202020202020205
+:102BB00002020202020202020202020202020202F5
+:102BC00002020202020202020202020202020200E7
+:102BD00000000000000000000000000101010101F0
+:102BE00001010101010101010101010101010101D5
+:102BF00001010101010101010101010101010101C5
+:102C000001010101010101010101010101010101B4
+:102C100001000101010101010101010101010101A5
+:102C20000101010101010101010101010101010194
+:102C30000101010101010101010100010101010185
+:102C40000100010100010100010101020101010176
+:102C50000100010101010101000100000102020067
+:102C60000202020202020202020202020202020145
+:102C70000101010101010102010101000202020141
+:102C80000101010101010101010101010001020233
+:102C90000202020202020202020202020202020214
+:102CA0000202020202020202020202020202020204
+:102CB00002020202020202020202020202020202F4
+:102CC00002020202020202020202020202020200E6
+:102CD00000000000000000010101000101010101EC
+:102CE00001010101010101010101010101010101D4
+:102CF00001010101010101010101010101010101C4
+:102D000001010101010101010101010201010101B2
+:102D100001000101010101010101010101010101A4
+:102D20000101010101010101010101010201010192
+:102D30000101010101010001010000010102010185
+:102D40000100000100010100010101010202020273
+:102D50000202020202020202020202020202020253
+:102D60000202020202020202020202020202020243
+:102D70000101020201020001000001000101010243
+:102D80000202020202020202020202020202020223
+:102D90000202020202020202020202020202020213
+:102DA0000202020202020202020202020202020203
+:102DB00002020202020202020202020202020202F3
+:102DC00002020202020202020202020202020200E5
+:102DD00000000000010100010101000101010101E9
+:102DE00001010101010101010101010101010101D3
+:102DF00001010101010101010101010101010101C3
+:102E000001000101010101000101010101010001B5
+:102E100001000101010101000101010102010101A3
+:102E20000101010101010101010101010101000193
+:102E30000101010101010001010000010101020283
+:102E40000102020202020202020202020202020263
+:102E50000202020202020202020202020202020252
+:102E60000202020202020202020202020202020143
+:102E7000020201010201000100000202010202023D
+:102E80000202020202020202020202020202020222
+:102E90000202020202020202020202020202020212
+:102EA0000202020202020202020202020202020202
+:102EB00002020202020202020202020202020202F2
+:102EC00002020202020202020202020202020201E3
+:102ED00000010100010101010101010101010101E4
+:102EE00001010101010101010101010101020101D1
+:102EF00001010101010101010101010202010101C0
+:102F000000000000000000000000000001000001BF
+:102F100001000101010101000101010001020201A2
+:102F20000001010101010101000101010002020192
+:102F3000010101020101020101020201010202027A
+:102F40000202020202020202020202020202020261
+:102F50000202020202020202020202020202020251
+:102F60000202020202020202020202020202020241
+:102F70000202020202020202020202020202020231
+:102F80000202020202020202020202020202020221
+:102F90000202020202020202020202020202020211
+:102FA0000202020202020202020202020202020201
+:102FB00002020202020202020202020202020202F1
+:102FC00002020202020202020202020202020201E2
+:102FD00000010100010101010101010101010101E3
+:102FE00001010101010101010101010101020101D0
+:102FF00001010101010101000101010101010001C3
+:1030000000000000000000000000000002020202B8
+:103010000202020202020202020202020202020290
+:103020000000010101010100000000010202020292
+:103030000202020202020202020202020202020270
+:103040000202020202020202020202020202020260
+:103050000202020202020202020202020202020250
+:103060000202020202020202020202020202020240
+:103070000202020202020202020202020202020230
+:103080000202020202020202020202020202020220
+:103090000202020202020202020202020202020210
+:1030A0000202020202020202020202020202020200
+:1030B00002020202020202020202020202020202F0
+:1030C00002020202020202020202020202020201E1
+:1030D00001010101010101010101010101010101E0
+:1030E00001010101010101010101010202010101CE
+:1030F00000000000000000000000000000020202CA
+:10310000020202020202020202020202020202029F
+:10311000020202020202020202020202020202028F
+:10312000020202020202020202020202020202027F
+:10313000020202020202020202020202020202026F
+:10314000020202020202020202020202020202025F
+:10315000020202020202020202020202020202024F
+:10316000020202020202020202020202020202023F
+:10317000020202020202020202020202020202022F
+:10318000020202020202020202020202020202021F
+:10319000020202020202020202020202020202020F
+:1031A00002020202020202020202020202020202FF
+:1031B00002020202020202020202020202020202EF
+:1031C00002020202020202020202020202020201E0
+:1031D00001010101010101010101010101010101DF
+:1031E00001010101010101010101010101010202CD
+:1031F00002020202020202020202020202020202AF
+:10320000020202020202020202020202020202029E
+:10321000020202020202020202020202020202028E
+:10322000020202020202020202020202020202027E
+:10323000020202020202020202020202020202026E
+:10324000020202020202020202020202020202025E
+:10325000020202020202020202020202020202024E
+:10326000020202020202020202020202020202023E
+:10327000020202020202020202020202020202022E
+:10328000020202020202020202020202020202021E
+:10329000020202020202020202020202020202020E
+:1032A00002020202020202020202020202020202FE
+:1032B00002020202020202020202020202020202EE
+:1032C00000000202020202020202020202020201E3
+:1032D00001010101010101010101010101010102DD
+:1032E00002020202020202020202020202020202BE
+:1032F00002020202020202020202020202020202AE
+:10330000020202020202020202020202020202029D
+:10331000020202020202020202020202020202028D
+:10332000020202020202020202020202020202027D
+:10333000020202020202020202020202020202026D
+:10334000020202020202020202020202020202025D
+:10335000020202020202020202020202020202024D
+:10336000020202020202020202020202020202023D
+:10337000020202020202020202020202020202022D
+:10338000020202020202020202020202020202021D
+:10339000020202020202020202020202020202020D
+:1033A00002020202020202020202020202020202FD
+:1033B00002020202020202020202020202020202ED
+:1033C00000000002020202020202020202020201E4
+:1033D00001010101010101010101010101010102DC
+:1033E00002020202020202020202020202020202BD
+:1033F00002020202020202020202020202020202AD
+:10340000020202020202020202020202020202029C
+:10341000020202020202020202020202020202028C
+:10342000020202020202020202020202020202027C
+:10343000020202020202020202020202020202026C
+:10344000020202020202020202020202020202025C
+:10345000020202020202020202020202020202024C
+:10346000020202020202020202020202020202023C
+:10347000020202020202020202020202020202022C
+:10348000020202020202020202020202020202021C
+:10349000020202020202020202020202020202020C
+:1034A00002020202020202020202020202020202FC
+:1034B00002020202020202020202020202020202EC
+:1034C00000000000000000020202000202020001EF
+:1034D00001010101010101010101010101010101DC
+:1034E00001010101010101010101010101010101CC
+:1034F00001010101010101010101010101010101BC
+:1035000001010101010101010101010101010101AB
+:10351000010101010101010101010101010101019B
+:10352000010101010101010101010101010101018B
+:10353000010101010101010101010101010101017B
+:10354000010101010101010101010101010101016B
+:10355000010101010101010101010101010101015B
+:10356000010101010101010101010101010101014B
+:10357000010101010101010101010101010101013B
+:10358000010101010101010101010101010101012B
+:10359000010101010101010101010101010101011B
+:1035A000010101010101010101010101010101010B
+:1035B00001010101010101010101010101010102FA
+:1035C00000000000000000000000000000000001FA
+:1035D00001010101010101010101010101010101DB
+:1035E00001010101010101010101010101010101CB
+:1035F00001010101010101010101010101010101BB
+:1036000001010101010101010101010101010101AA
+:10361000010101010101010101010101010101019A
+:10362000010101010101010101010101010101018A
+:10363000010101010101010101010101010101017A
+:10364000010101010101010101010101010101016A
+:10365000010101010101010101010101010101015A
+:10366000010101010101010101010101010101004B
+:10367000000000000000000000000000000000004A
+:10368000000000000000000000000000000000003A
+:10369000000000000000000000000000000000002A
+:1036A000000000000000000000000000000000001A
+:1036B0000000000000000000000000000000000208
+:1036C00000000000000000000000000000000000FA
+:1036D00000000000000000000000000000000000EA
+:1036E00000000000000000000000000000000000DA
+:1036F00000000000000000000000000000000000CA
+:1037000000000000000000000000000000000000B9
+:1037100000000000000000000000000000000000A9
+:103720000000000000000000000000000000000099
+:103730000000000000000000000000000000000089
+:103740000000000000000000000000000000000079
+:103750000000000000000000000000000000000069
+:103760000000000000000000000000000000000059
+:103770000000000000000000000000000000000049
+:103780000000000000000000000000000000000039
+:103790000000000000000000000000000000000029
+:1037A0000000000000000000000000000000000019
+:1037B0000000000000000000000000000000000009
+:1037C00000000000000000000000000000000053A6
+:1037D00000000000000000000000000000000000E9
+:1037E00000000000000000000000000000000000D9
+:1037F00000000000000000000000000000000000C9
+:1038000000000000000000000000000000000000B8
+:1038100000000000000000000000000000000000A8
+:103820000000000000000000000000010000000097
+:103830000000000000000000000000000000000088
+:103840000000000000000001000000000000000077
+:103850000000000000000000000001000000000067
+:103860000000000000010100000000000000000056
+:103870000000000000000000000000000000000048
+:103880000000000000000000000000000000000038
+:103890000000000000000000000000000000000028
+:1038A0000000000000000000000000000000000018
+:1038B0000000000000000000000000000000000008
+:1038C00000000000000000000000000000000000F8
+:1038D00000000000000000020000000000000000E6
+:1038E00000000000000200000101010100010101CF
+:1038F00001000101010000010000000001000000C2
+:1039000000010000000100000000000000000000B5
+:1039100000010000000100000000000000000000A5
+:103920000000010101000000000000010100000092
+:103930000001000000020000000000000000020082
+:103940000100010101000001000000000000000072
+:10395000010001010100000000000100010002025D
+:103960000100010001010100000000000000000052
+:103970000001000000010100000000000000000044
+:103980000001000200010100000000000100000031
+:103990000000000000020000000000000001000222
+:1039A0000100010101000000000000000000000013
+:1039B0000001000000010000000000000001020002
+:1039C00001000101010000000000000000000000F3
+:1039D00000000000000000020000000000000000E5
+:1039E00000000000000200000101010101010101CD
+:1039F00001010101010000010100000001010101BC
+:103A000001010101010100000000000000000200AE
+:103A1000010102020101000000000000010000009D
+:103A2000000101010102000000000001010002028A
+:103A3000010101020202000100000000000002007A
+:103A4000010101010101010100000000000000006E
+:103A5000010101010100010000000100010001015C
+:103A6000010201010101010000000000000100004D
+:103A70000101010101010100000000000101020239
+:103A8000010101010101010000000000010000002E
+:103A9000020002020201000000000000000100021A
+:103AA0000101010101010100000000000002020209
+:103AB00001010101010100000000000000010200FD
+:103AC00001010101010101000000000000000000EF
+:103AD00000000000000000020000000000000000E4
+:103AE00000000000000200000101010101010101CC
+:103AF00001010101010000010100000001010101BB
+:103B000001010101010100000000000000000200AD
+:103B1000010102020101000000000000010000019B
+:103B2000020101010101000000000001010001018A
+:103B30000101010202020001000000000002010078
+:103B4000010101010101010100000000000002006B
+:103B5000010101010100010000000100010101015A
+:103B6000010101010101010000000000000100004D
+:103B7000010101010101010000000000010101013A
+:103B8000010101010101010000000000010000002D
+:103B90000202020202010000000000000101010215
+:103BA0000101010101010100000000000002020208
+:103BB00001010101010100000000000000010101FC
+:103BC00001010101010101000000000000000000EE
+:103BD00000000000000000020000000000000000E3
+:103BE00000000000000200000101010102010101CA
+:103BF00001010101010200010100000001010101B8
+:103C000001010101010100000000000000000100AD
+:103C1000010102010101000000000000010000019B
+:103C20000201010101010000000000010100010189
+:103C30000101010202010001000000000001010079
+:103C4000010101010101010100000000010001006A
+:103C50000101010101000100000001000101010159
+:103C6000010101010101010000000000000100004C
+:103C70000101010101010100000000000101010139
+:103C8000010101010101010000000000010000002C
+:103C90000202010101010000000000000101010118
+:103CA0000101010101010100000000000002020207
+:103CB00001010101010100010000000000010101FA
+:103CC00001010101010101000000000000000000ED
+:103CD00000000000000000020000000000000000E2
+:103CE00000000000000200000101010202010101C8
+:103CF00001010101010100010100000001010101B8
+:103D000001010101010101000000000000000100AB
+:103D1000010101010101000000000000010000019B
+:103D20000101010101010000000000010100010189
+:103D30000101010101010001000001000001010079
+:103D40000101010101010101000000000100010267
+:103D50000101010101000100000001000101010158
+:103D6000010101010101010000000000000100004B
+:103D70000101010101010100000000000101010138
+:103D8000010101010101010000000000010000002B
+:103D90000102010101010000000000000101010118
+:103DA0000101010101010100000000000001010109
+:103DB00001010101010101010000000000010101F8
+:103DC00001010101010101000000000000000000EC
+:103DD00000000000000000020000000000000000E1
+:103DE00000000000000200010101010202010101C6
+:103DF00001010101010100010101000101010101B5
+:103E000001010101010101000000010000020100A7
+:103E1000010101010101000000000000010000019A
+:103E20000101010101010100000000010101010186
+:103E30000101010101010001000001000001010078
+:103E40000101010101010101000000000100010167
+:103E50000101010101000100000001000101010157
+:103E60000101010101010100000000000001020246
+:103E70000101010101010100000000000101010137
+:103E8000010101010101010000000000010000002A
+:103E90000101010101010000000000000101010118
+:103EA0000101010101010100000000000001010108
+:103EB00001010101010101010000000000010101F7
+:103EC00001010101010101000000000000000000EB
+:103ED00000000000000000020000000000000000E0
+:103EE00000000000000200010101020202010102C3
+:103EF00001010101010100010101000101010101B4
+:103F000001010101010101000000010000020100A6
+:103F10000101010101010100010101000100020193
+:103F20000101010101010100000000010101010185
+:103F30000101010101010001000001000001010176
+:103F40000101010101010101000000000101010165
+:103F50000101010101000100000001000101010156
+:103F60000101010101010100000000000001010147
+:103F70000101010101010100000000000101010136
+:103F80000101010101010100000000000100000029
+:103F90000101010101010000000000000101010117
+:103FA0000101010101010100000000000001010107
+:103FB00001010101010101010000000000010101F6
+:103FC00001010101010101000000000000000000EA
+:103FD00000000000000000020000000000000000DF
+:103FE00000000000000200010101020202010102C2
+:103FF00001010101010100010101000101010101B3
+:1040000001010101010101000000010000020100A5
+:104010000101010101010100010101000100020192
+:104020000101010101010100010000010101010183
+:104030000101010101010001000001000001010175
+:104040000101010101010101000000000101010164
+:104050000101010101000100000001000101010155
+:104060000101010101010100000000000001010146
+:104070000101010101010100000000000101010135
+:104080000101010101010100000000000100000028
+:104090000101010101010000000000000101010116
+:1040A0000101010101010100000000000001010106
+:1040B00001010101010101010000000000010101F5
+:1040C00001010101010101000000000000000000E9
+:1040D00000000000000000020000000000000000DE
+:1040E00000000000000200010101020202010102C1
+:1040F00001010101010100010101000101010101B2
+:1041000001010101010101010000010000010100A4
+:104110000101010101010100010101000100020191
+:104120000101010101010100010000010101010182
+:104130000101010101010001000001000001010174
+:104140000101010101010101000000000101010163
+:104150000101010101000100000001000101010154
+:104160000101010101010100000000000001010145
+:104170000101010101010100000000000101010134
+:104180000101010101010100000000000100000027
+:104190000101010101010000000000000101010115
+:1041A0000101010101010100000000000001010105
+:1041B00001010101010101010000000000010101F4
+:1041C00001010101010101000000000000000000E8
+:1041D00000000000000000020000000000000000DD
+:1041E00000000000000200020102020202010202BD
+:1041F00001010101010100010101000101010101B1
+:10420000010101010101010101010100000101029F
+:104210000101010101010100010101000100010191
+:104220000101010101010100010100010101010180
+:104230000101010101010001000001000001010173
+:104240000101010101010101000000000101010162
+:104250000101010101000100000001000101010153
+:104260000101010101010100010000000001010143
+:104270000101010101010100000000000101010133
+:104280000101010101010100000000000100000026
+:104290000101010101010000000000000101010114
+:1042A0000101010101010100000000000001010104
+:1042B00001010101010101010000000000010101F3
+:1042C00001010101010101000000000000000000E7
+:1042D00000000000000000020000000000000000DC
+:1042E00000000000000200020202020202020202BA
+:1042F00001010101010100010101000101010101B0
+:10430000010101010101010101010100010101029D
+:10431000010101010101010001010101010201018D
+:10432000010101010101010001010001010101017F
+:104330000101010101010101000001000101010170
+:104340000101010101010101000000000101010161
+:104350000101010101000100010001000101010151
+:104360000101010101010100010000000001010142
+:104370000101010101010100000000000101010132
+:104380000101010101010100000000000100000025
+:104390000101010101010000000000000101010113
+:1043A0000101010101010100000000000001010103
+:1043B00001010101010101010000010000010101F1
+:1043C00001010101010101000000000000000000E6
+:1043D00000000000000000020000000000000000DB
+:1043E00000000000000200020202020202020202B9
+:1043F00001010101010100010101000101010101AF
+:10440000010101010101010101010100010101019D
+:10441000010101010101010101010101010201018B
+:10442000010101010101010001010101010101017D
+:10443000010101010101010100000100010101016F
+:104440000101010101010101000000000101010160
+:104450000101010101000100010001000101010150
+:10446000010101010101010001010001000101013F
+:104470000101010101010100010000000101010130
+:104480000101010101010100000000000102000022
+:104490000101010101010000000000000101010112
+:1044A0000101010101010100000000000001010102
+:1044B00001010101010101010000010001010101EF
+:1044C00001010101010101000000000000000000E5
+:1044D00000000000000000020000000000000000DA
+:1044E00000000000000200020202020202020202B8
+:1044F00002010101010100010101000101010101AD
+:10450000010101010101010101010100010101019C
+:10451000010101010101010101010101010101018B
+:10452000010101010101010001010101010101017C
+:10453000010101010101010100000100010101016E
+:10454000010101010101010101000000010101015E
+:10455000010101010100010001000100010101014F
+:10456000010101010101010001010001000101013E
+:10457000010101010101010001000000010101012F
+:104580000101010101010100000000000102000021
+:104590000101010101010100000000000101010110
+:1045A0000101010101010100000000000001010101
+:1045B00001010101010101010000010001010101EE
+:1045C00001010101010101000000000000000000E4
+:1045D00000000000000000020000000000000000D9
+:1045E00000000000000200020202020202020202B7
+:1045F00002020101010100010101010101010101AA
+:10460000010101010101010101010101010101019A
+:10461000010101010101010101010101010101018A
+:10462000010101010101010001010101010101017B
+:10463000010101010101010100000100010101016D
+:10464000010101010101010101000000010101015D
+:10465000010101010102010001000100010101014C
+:10466000010101010101010001010001000101013D
+:10467000010101010101010001000000010101012E
+:10468000010101010101010000000000010100021F
+:10469000010101010101010000000000010101010F
+:1046A0000101010101010100000000000001010100
+:1046B00001010101010101010000010001010101ED
+:1046C00001010101010101000000000000000000E3
+:1046D00000000000000000020000000000000000D8
+:1046E00000000000000200020202020202020202B6
+:1046F00002020101010100010101010101010101A9
+:104700000101010101010101010101010101010199
+:104710000101010101010101010101010101010189
+:10472000010101010101010001010101010101017A
+:10473000010101010101010101010100010101016A
+:10474000010101010101010101000000010101015C
+:10475000010101010102010001010100010101014A
+:10476000010101010101010101010001010101013A
+:10477000010101010101010001000000010101012D
+:10478000010101010101010000000000010100021E
+:10479000010101010101010000000000010101010E
+:1047A00001010101010101000000000000010101FF
+:1047B00001010101010101010000010001010101EC
+:1047C00001010101010101000000000000000000E2
+:1047D00000000000000000020000000000000000D7
+:1047E00000000000000200020202020202020202B5
+:1047F00002020101010100010101010101010101A8
+:104800000101010101010101010101010101010198
+:104810000101010101010101010101010101010188
+:104820000101010101010100010101010101010179
+:104830000101010101010101010101000101010169
+:10484000010101010101010101000000010101015B
+:104850000101010101020100010101000101010149
+:104860000101010101010101010101010101010138
+:10487000010101010101010001010000010101012B
+:10488000010101010101010000000000010102011C
+:10489000010101010101010000000000010101010D
+:1048A00001010101010101000000000000010101FE
+:1048B00001010101010101010000010001010101EB
+:1048C00001010101010101000000000202000000DD
+:1048D00000000000000000020000000000000000D6
+:1048E00000000000000200020202020202020202B4
+:1048F00002020101010100020101010101010101A6
+:104900000101010101010101010101010101010197
+:104910000101010101010101010101010101010187
+:104920000101010101010100010101010101010178
+:104930000101010101010101010101010101010167
+:104940000101010101010101010101010101010157
+:104950000101010101010100010101000101010149
+:104960000101010101010101010101010101010137
+:104970000101010101010101010100000101010129
+:10498000010101010101010000000000010102011B
+:104990000101010101010100010101000101010109
+:1049A00001010101010101000000000000010101FD
+:1049B00001010101010101010000010001010101EA
+:1049C00001010101010101000200000202000000DA
+:1049D00000000000000000020000000000000000D5
+:1049E00000000000000200020202020202020202B3
+:1049F00002020202020100020101010101010101A2
+:104A00000101010101010101010101010101010196
+:104A10000101010101010101010101010101010186
+:104A20000101010101010100010101010101010177
+:104A30000101010101010101010101010101010166
+:104A40000101010101010101010101010101010156
+:104A50000101010101010100010101000101010148
+:104A60000101010101010101010101010101010136
+:104A70000101010101010101010100010101010127
+:104A8000010101010101010000000000010101011B
+:104A90000101010101010101010101000101010107
+:104AA00001010101010101000000000000010101FC
+:104AB00001010101010101010000010001010101E9
+:104AC00001010101010101000200000202000000D9
+:104AD00000000000000000020000000000000000D4
+:104AE00000000000000200020202020202020202B2
+:104AF00002020202020100020101010101010101A1
+:104B00000101010101010101010101010101010195
+:104B10000101010101010101010101010101010185
+:104B20000101010101010101010101010101010175
+:104B30000101010101010101010101010101010165
+:104B40000101010101010101010101010101010155
+:104B50000101010101010100010101010101010146
+:104B60000101010101010101010101010101010135
+:104B70000101010101010101010100010101010126
+:104B8000010101010101010000000000010101011A
+:104B90000101010101010101010101000101010106
+:104BA00001010101010101010000000000010101FA
+:104BB00001010101010101010000010001010101E8
+:104BC00001010101010101000200020202000000D6
+:104BD00000000000000000020000000000000000D3
+:104BE00000000000000200020202020202020202B1
+:104BF000020202020201010201010101020101019E
+:104C00000101010101010101010101010101010194
+:104C10000101010101010101010101010101010184
+:104C20000101010101010101010101010101010174
+:104C30000101010101010101010101010101010164
+:104C40000101010101010101010101010101010154
+:104C50000101010101010100010101010101010145
+:104C60000101010101010101010101010101010134
+:104C70000101010101010101010100010101010125
+:104C80000101010101010100000001020101010116
+:104C90000101010101010101010101000101010105
+:104CA00001010101010101010001000000010101F8
+:104CB00001010101010101010000010001010101E7
+:104CC00001010101010101000200020202000000D5
+:104CD00000000000000000020000000000000000D2
+:104CE00000000000000200020202020202020202B0
+:104CF000020202020201010202010101020101019C
+:104D00000101010101010101010101010101010193
+:104D10000101010101010101010101010101010183
+:104D20000101010101010101010101010101010173
+:104D30000101010101010101010101010101010163
+:104D40000101010101010101010101010101010153
+:104D50000101010101010100010101010101010144
+:104D60000101010101010101010101010101010133
+:104D70000101010101010101010100010101010124
+:104D80000101010101010100000001010101010116
+:104D90000101010101010101010101000101010104
+:104DA00001010101010101010001000000010101F7
+:104DB00001010101010101010001010001010101E5
+:104DC00001010101010101000200020202000000D4
+:104DD00000000000000000020000000000000000D1
+:104DE00000000000000200020202020202020202AF
+:104DF000020202020201010202010101020101019B
+:104E00000101010101010101010101010101010192
+:104E10000101010101010101010101010101010182
+:104E20000101010101010101010101010101010172
+:104E30000101010101010101010101010101010162
+:104E40000101010101010101010101010101010152
+:104E50000101010101010101010101010101010142
+:104E60000101010101010101010101010101010132
+:104E70000101010101010101010101010101010122
+:104E80000101010101010100010001010101010114
+:104E90000101010101010101010101000101010103
+:104EA00001010101010101010101010000010101F4
+:104EB00001010101010101010001010001010101E4
+:104EC00001010101010101000200020202000000D3
+:104ED00000000000000000020000000000000000D0
+:104EE00000000000000200020202020202020202AE
+:104EF0000202020202020102020101010201010199
+:104F00000101010101010101010101010101010191
+:104F10000101010101010101010101010201010180
+:104F20000101010101010101010101010101010171
+:104F30000101010101010102010101010101010160
+:104F40000101010101010101010101010101010151
+:104F50000101010101010101010101010101010141
+:104F60000101010101010101010101010101010131
+:104F70000101010101010101010101010101010121
+:104F80000101010101010100010001010101010113
+:104F90000101010101010101010101000101010102
+:104FA00001010101010101010101010000010101F3
+:104FB00001010101010101010101010101010101E1
+:104FC00001010101010101000101010101010101D2
+:104FD00001010101010100020000000000000000C9
+:104FE00000000000000200020202020202020202AD
+:104FF0000202020202020102020201020201010196
+:105000000101010101010101010101010101010190
+:10501000010101010101010101010101020101017F
+:105020000101010101010101010101010101010170
+:10503000010101010101010201010101010101015F
+:10504000010101010101010201010101010101014F
+:105050000101010101010101010101010101010140
+:105060000101010101010101010101010101010130
+:105070000101010101010101010101010101010120
+:105080000101010101010100010001010101010112
+:105090000101010101010101010101000101010101
+:1050A00001010101010101010101010000010101F2
+:1050B00001010101010101010101010101010101E0
+:1050C00001010101010101000101010101010101D1
+:1050D00001010101010100020000000000000000C8
+:1050E00000000000000200020202020202020202AC
+:1050F0000202020202020102020201020202020292
+:10510000010101010101010201010101010101018E
+:10511000010101010101010202010101020101017C
+:10512000010101010101010101010101010101016F
+:10513000010101010101010201010101010101015E
+:10514000010101010101010201010101010101014E
+:10515000010101010101010101010101010101013F
+:10516000010101010101010101010101010101012F
+:10517000010101010101010101010101010101011F
+:105180000101010101010100010001010101010111
+:1051900001010101010101010101010101010101FF
+:1051A00001010101010101010101010000010101F1
+:1051B00001010101010101010101010101010101DF
+:1051C00001010101010101000101010101010101D0
+:1051D00001010101010100020000000000000000C7
+:1051E00000000000000200020202020202020202AB
+:1051F0000202020202020102020201020202020291
+:10520000010201010101010201010101010101018C
+:105210000101010101010102020202010201010179
+:10522000010101010101010101010102010101016D
+:10523000010101010101010201010101010101015D
+:10524000010101010101010201010101010101014D
+:10525000010101010101010101010201010101013D
+:10526000010101010101010101010101010101012E
+:10527000010101010101010101010101010101011E
+:105280000101010101010100010001010101010110
+:1052900001010101010101010101010101010101FE
+:1052A00001010101010101010101010000010101F0
+:1052B00001010101010101010101010101010101DE
+:1052C00001010101010101000101010101010101CF
+:1052D00001010101010100020000000000000000C6
+:1052E00000000000000200020202020202020202AA
+:1052F0000202020202020102020201020202020290
+:10530000020201010101010201010101010101018A
+:105310000101010101010102020202010201010277
+:10532000010101010101010101010102020101016B
+:10533000010101010101010201010101010101015C
+:10534000010101010101010201010101010101014C
+:10535000010101010101010101010201020101013B
+:10536000010101010101010101010101010101012D
+:10537000010101010101010101010101010101011D
+:10538000010101010101010101000101010101010E
+:1053900001010101010101010101010101010101FD
+:1053A00001010101010101010101010000010101EF
+:1053B00001010101010101010101010101010101DD
+:1053C00001010101010101000101010101010101CE
+:1053D00001010101010100020000000000000000C5
+:1053E00000000000000100020202020202020202AA
+:1053F000020202020202020202020102020202028E
+:105400000202020101010102010102010101010187
+:105410000101010101010102020202020201010275
+:105420000102020101010101010101020201010168
+:10543000010101010101010201010201010101015A
+:10544000010101010101010201010101010101014B
+:10545000010101010101010101010201020101013A
+:10546000010101010101010101010101010101012C
+:10547000010101010101010101010101010101011C
+:10548000010101010101010101010101010101010C
+:1054900001010101010101010101010101010101FC
+:1054A00001010101010101010101010000010101EE
+:1054B00001010101010101010101010101010101DC
+:1054C00001010101010101000000000000000000D5
+:1054D00000000001010100020000000000000000C7
+:1054E00000000000000100020202020202020202A9
+:1054F000020202020202020202020202020202028C
+:105500000202020202020102020102010101010182
+:105510000101010101010102020202020201010274
+:105520000102020202010101010101020201010165
+:105530000101010101010102010102010101010159
+:10554000010101010101010201010101010101014A
+:105550000101010101010101010102010201010139
+:10556000010101010101010101010101010101012B
+:10557000010101010101010101010101020101011A
+:10558000010101010101010101010101020101010A
+:1055900001010101010101010101010101010101FB
+:1055A00001010101010101010101010001010101EC
+:1055B00001010101010101020101010101010101DA
+:1055C00001010101010101000000000000000000D4
+:1055D00000000101010100020000000000000000C5
+:1055E00000000000000100020202020202020202A8
+:1055F000020202020202020202020202020202028B
+:105600000202020202020102020202010101010180
+:105610000202010101010102020202020201010271
+:105620000102020202010101020101020201010163
+:105630000101010101010102010102010101010158
+:105640000101010101010102010101010201010148
+:105650000101010101010101010102010201010138
+:105660000101010101010102020101010102010127
+:105670000101010101010101010101010201010119
+:105680000101010101010101010101010201010109
+:1056900001010101010101010101010102010101F9
+:1056A00001010101010101010101010001010101EB
+:1056B00001010101010101020101010101010101D9
+:1056C00001010101010101000000000000000000D3
+:1056D00001010101010100020000000000000000C2
+:1056E00000000000000100020202020202020202A7
+:1056F000020202020202020202020202020202028A
+:10570000020202020202010202020201020102017D
+:105710000202010101010102020202020201010270
+:105720000202020202010101020101020201010161
+:105730000101010101010102010102010101010157
+:105740000201010101010102010101010201010146
+:105750000101010101010101020102010202020233
+:105760000201010101010102020101010102010125
+:105770000202010101010101010101010202010115
+:105780000101010101010101010101010201010108
+:1057900001010101010101010101010102010101F8
+:1057A00001010101010101010101010001010101EA
+:1057B00001010101010101020101010101010101D8
+:1057C00001010101010101000000000000010101CF
+:1057D00001010101010100020000000000000000C1
+:1057E00000000000000100020202020202020202A6
+:1057F0000202020202020202020202020202020289
+:10580000020202020202020202020202020102017A
+:10581000020201010202010202020202020101026D
+:10582000020202020202010102020102020102025C
+:105830000202010101010102010102010202020151
+:105840000202020101010102010101010201010143
+:105850000101010101010101020102010202020232
+:105860000201020101010102020201020102010121
+:10587000020202010101010202010101020202020F
+:105880000202010101010101010101010201010105
+:1058900001010101010101010101010102020101F6
+:1058A00001010101010101010101010001010101E9
+:1058B00001010101010101020101010101010101D7
+:1058C00001010101010101000000000000010101CE
+:1058D00001010101010100020000000000000000C0
+:1058E00000000000000100020202020202020202A5
+:1058F0000202020202020202020202020202020288
+:105900000202020202020202020202020201020179
+:10591000020201010202010202020202020102026B
+:105920000202020202020202020202020202020257
+:10593000020202010101010202010201020202024D
+:105940000202020202010102010101010201010140
+:105950000201010101010101020102010202020230
+:10596000020202010202020202020102010202021A
+:10597000020202020202020202010101020202020A
+:105980000202020101010101010101010201010103
+:1059900001010101010101010101010102020201F4
+:1059A00002010101010101010101010001010101E7
+:1059B00001010101010101020101010101010101D6
+:1059C00001010101010101000000000000010101CD
+:1059D00001010101010100010000000000000000C0
+:1059E00000000000000100020202020202020202A4
+:1059F0000202020202020202020202020202020287
+:105A00000202020202020202020202020201020178
+:105A10000202010102020102020202020202020269
+:105A20000202020202020202020202020202020256
+:105A3000020202010101010202020201020202024B
+:105A4000020202020202020202010101020102013B
+:105A5000020202010101010202020201020202022B
+:105A60000202020202020202020202020202020216
+:105A70000202020202020202020101010202020209
+:105A800002020201020202010101010102010101FF
+:105A900001010101010101020101010102020201F2
+:105AA00002020201010101010101010001010101E4
+:105AB00001010101010101020101010101020101D4
+:105AC00001010101010101000000000000010101CC
+:105AD00001010101010101010000000000000000BE
+:105AE00000000000000100020202020202020202A3
+:105AF0000202020202020202020202020202020286
+:105B00000202020202020202020202020202020176
+:105B10000202020202020102020202020202020266
+:105B20000202020202020202020202020202020255
+:105B30000202020101010102020202020202020249
+:105B40000202020202020202020101010202020238
+:105B50000202020202010102020202010202020228
+:105B60000202020202020202020202020202020215
+:105B70000202020202020202020201010202020207
+:105B800002020202020202010101010102010101FD
+:105B900001010101010101020101010102020202F0
+:105BA00002020202020101010101010001010101E1
+:105BB00002020101010101020101010101020102D0
+:105BC00002010101010101000000000000010101CA
+:105BD00001010101010101010000000000000000BD
+:105BE00000000000000100020202020202020202A2
+:105BF0000202020202020202020202020202020285
+:105C00000202020202020202020202020202020274
+:105C10000202020202020202020202020202020264
+:105C20000202020202020202020202020202020254
+:105C30000202020101010102020202020202020248
+:105C40000202020202020202020101010202020237
+:105C50000202020202010202020202020202020225
+:105C60000202020202020202020202020202020214
+:105C70000202020202020202020201020202020205
+:105C800002020202020202010101010102010101FC
+:105C900001010101010101020201010102020202EE
+:105CA00002020202020202020101010001010101DD
+:105CB00002020201010101020101020101020202CC
+:105CC00002020201010101000000000000000000CA
+:105CD00001010101010101010000000000000000BC
+:105CE00000000000000100020202020202020202A1
+:105CF0000202020202020202020202020202020284
+:105D00000202020202020202020202020202020273
+:105D10000202020202020202020202020202020263
+:105D20000202020202020202020202020202020253
+:105D30000202020101010102020202020202020247
+:105D40000202020202020202020202020202020233
+:105D50000202020202010202020202020202020224
+:105D60000202020202020202020202020202020213
+:105D70000202020202020202020201020202020204
+:105D800002020202020202010101010102010101FB
+:105D900002010201010201020202020102020202E8
+:105DA00002020202020202020101010001020202D9
+:105DB00002020202020201020101020102020202C7
+:105DC00002020202020101000000000000000000C7
+:105DD00001010101010101020000000000000000BA
+:105DE00000000000000100020202020202020202A0
+:105DF0000202020202020202020202020202020283
+:105E00000202020202020202020202020202020272
+:105E10000202020202020202020202020202020262
+:105E20000202020202020202020202020202020252
+:105E30000202020202020102020202020202020243
+:105E40000202020202020202020202020202020232
+:105E50000202020202010202020202020202020223
+:105E60000202020202020202020202020202020212
+:105E70000202020202020202020202020202020202
+:105E800002020202020202010101010102010101FA
+:105E900002020202020201020202020102020202E4
+:105EA00002020202020202020101010001020202D8
+:105EB00002020202020201020101020102020202C6
+:105EC00002020202020202000000010000000000C3
+:105ED00001010101010101020000000000000000B9
+:105EE000000000000001000202020202020202029F
+:105EF0000202020202020202020202020202020282
+:105F00000202020202020202020202020202020271
+:105F10000202020202020202020202020202020261
+:105F20000202020202020202020202020202020251
+:105F30000202020202020102020202020202020242
+:105F40000202020202020202020202020202020231
+:105F50000202020202010202020202020202020222
+:105F60000202020202020202020202020202020211
+:105F70000202020202020202020202020202020201
+:105F800002020202020202020201020102010101F6
+:105F900002020202020201020202020102020202E3
+:105FA00002020202020202020101010001020202D7
+:105FB00002020202020202020101020102020202C4
+:105FC00002020202020202000000010000000000C2
+:105FD00000010101010101020000000000000000B9
+:105FE000000000000001000202020202010202029F
+:105FF0000202020202020202020202020202020281
+:106000000202020202020202020202020202020270
+:106010000202020202020202020202020202020260
+:106020000202020202020202020202020202020250
+:106030000202020202020202020202020202020240
+:106040000202020202020202020202020202020230
+:106050000202020202010202020202020202020221
+:106060000202020202020202020202020202020210
+:106070000202020202020202020202020202020200
+:1060800002020202020202020201020202020101F3
+:1060900002020202020201020202020102020202E2
+:1060A00002020202020202020202010001020202D4
+:1060B00002020202020202020101020102020202C3
+:1060C00002020202020202000000010000000000C1
+:1060D00000000101010101020000000000000000B9
+:1060E000000000000001000202020202020202019E
+:1060F0000202020202020202020202020202020280
+:10610000020202020202020202020202020202026F
+:10611000020202020202020202020202020202025F
+:10612000020202020202020202020202020202024F
+:10613000020202020202020202020202020202023F
+:10614000020202020202020202020202020202022F
+:106150000202020202010202020202020202020220
+:10616000020202020202020202020202020202020F
+:1061700002020202020202020202020202020202FF
+:1061800002020202020202020201020202020102F1
+:1061900002020202020201020202020202020202E0
+:1061A00002020202020202020202020001020202D2
+:1061B00002020202020202020202020102020202C0
+:1061C00002020202020202000100000101000000BE
+:1061D00000000001010101010000000000000000BA
+:1061E000000000000001000202020201010202029E
+:1061F000020202020202020202020202020202027F
+:10620000020202020202020202020202020202026E
+:10621000020202020202020202020202020202025E
+:10622000020202020202020202020202020202024E
+:10623000020202020202020202020202020202023E
+:10624000020202020202020202020202020202022E
+:10625000020202020201020202020202020202021F
+:10626000020202020202020202020202020202020E
+:1062700002020202020202020202020202020202FE
+:1062800002020202020202020201020202020202EF
+:1062900002020202020202020202020202020202DE
+:1062A00002020202020202020202020001020202D1
+:1062B00002020202020202020202020202020202BE
+:1062C00002020202020202000100000101000000BD
+:1062D00000000001010101010000000000000000B9
+:1062E000000000000001000202020202010202019D
+:1062F000020202020202020202020202020202027E
+:10630000020202020202020202020202020202026D
+:10631000020202020202020202020202020202025D
+:10632000020202020202020202020202020202024D
+:10633000020202020202020202020202020202023D
+:10634000020202020202020202020202020202022D
+:10635000020202020201020202020202020202021E
+:10636000020202020202020202020202020202020D
+:1063700002020202020202020202020202020202FD
+:1063800002020202020202020202020202020202ED
+:1063900002020202020202020202020202020202DD
+:1063A00002020202020202020202020001020202D0
+:1063B00002020202020202020202020202020202BD
+:1063C00002020202020202000000000001000000BE
+:1063D00000000000000101010000000000000000BA
+:1063E000000000000001000202020101010201019F
+:1063F000020202020202020202020202020202027D
+:10640000020202020202020202020202020202026C
+:10641000020202020202020202020202020202025C
+:10642000020202020202020202020202020202024C
+:10643000020202020202020202020202020202023C
+:10644000020202020202020202020202020202022C
+:10645000020202020201020202020202020202021D
+:10646000020202020202020202020202020202020C
+:1064700002020202020202020202020202020202FC
+:1064800002020202020202020202020202020202EC
+:1064900002020202020202020202020202020202DC
+:1064A00002020202020202020202020001020202CF
+:1064B00002020202020202020202020202020202BC
+:1064C00002020202020202000000000000000000BE
+:1064D00000000000000101010000000000000000B9
+:1064E000000000000001000202020201010102019D
+:1064F000020202020202020202020202020202027C
+:10650000020202020202020202020202020202026B
+:10651000020202020202020202020202020202025B
+:10652000020202020202020202020202020202024B
+:10653000020202020202020202020202020202023B
+:10654000020202020202020202020202020202022B
+:10655000020202020201020202020202020202021C
+:10656000020202020202020202020202020202020B
+:1065700002020202020202020202020202020202FB
+:1065800002020202020202020202020202020202EB
+:1065900002020202020202020202020202020202DB
+:1065A00002020202020202020202020002020202CD
+:1065B00002020202020202020202020202020202BB
+:1065C00002020202020202000000000000000000BD
+:1065D00000000000000001010000000000000000B9
+:1065E000000000000001000202020101010201019D
+:1065F000010102020202020202020202020202027D
+:10660000020202020202020202020202020202026A
+:10661000020202020202020202020202020202025A
+:10662000020202020202020202020202020202024A
+:10663000020202020202020202020202020202023A
+:10664000020202020202020202020202020202022A
+:10665000020202020202020202020202020202021A
+:10666000020202020202020202020202020202020A
+:1066700002020202020202020202020202020202FA
+:1066800002020202020202020202020202020202EA
+:1066900002020202020202020202020202020202DA
+:1066A00002020202020202020202020002020202CC
+:1066B00002020202020202020202020202020202BA
+:1066C00002020202020202000000000000000000BC
+:1066D00000000000000001010002000000000000B6
+:1066E000020000000001000202010101010101019C
+:1066F000020202020202020202020202020202027A
+:106700000202020202020202020202020202020269
+:106710000202020202020202020202020202020259
+:106720000202020202020202020202020202020249
+:106730000202020202020202020202020202020239
+:106740000202020202020202020202020202020229
+:106750000202020202020202020202020202020219
+:106760000202020202020202020202020202020209
+:1067700002020202020202020202020202020202F9
+:1067800002020202020202020202020202020202E9
+:1067900002020202020202020202020202020202D9
+:1067A00002020202020202020202020002020202CB
+:1067B00002020202020202020202020202020202B9
+:1067C00002020202020202000000000000000000BB
+:1067D00000000000000001010002000000000000B5
+:1067E000020000000001000102020101010101019B
+:1067F000010102020202020202020202020202027B
+:106800000202020202020202020202020202020268
+:106810000202020202020202020202020202020258
+:106820000202020202020202020202020202020248
+:106830000202020202020202020202020202020238
+:106840000202020202020202020202020202020228
+:106850000202020202020202020202020202020218
+:106860000202020202020202020202020202020208
+:1068700002020202020202020202020202020202F8
+:1068800002020202020202020202020202020202E8
+:1068900002020202020202020202020202020202D8
+:1068A00002020202020202020202020102020202C9
+:1068B00002020202020202020202020202020202B8
+:1068C00002020202020202000000000000000000BA
+:1068D00000000000000001010202000000020000B0
+:1068E0000200000202010002010101010101010197
+:1068F000010102010102010202020202020202027D
+:106900000202020202020202020202020202020267
+:106910000202020202020202020202020202020257
+:106920000202020202020202020202020202020247
+:106930000202020202020202020202020202020237
+:106940000202020202020202020202020202020227
+:106950000202020202020202020202020202020217
+:106960000202020202020202020202020202020207
+:1069700002020202020202020202020202020202F7
+:1069800002020202020202020202020202020202E7
+:1069900002020202020202020202020202020202D7
+:1069A00002020202020202020202020102020202C8
+:1069B00002020202020202020202020202020202B7
+:1069C00002020202020202000000000000000000B9
+:1069D00000000000000001010202000000020000AF
+:1069E0000100000202010001020101010101010197
+:1069F000010101020202020202020202020202027A
+:106A00000202020202020202020202020202020266
+:106A10000202020202020202020202020202020256
+:106A20000202020202020202020202020202020246
+:106A30000202020202020202020202020202020236
+:106A40000202020202020202020202020202020226
+:106A50000202020202020202020202020202020216
+:106A60000202020202020202020202020202020206
+:106A700002020202020202020202020202020202F6
+:106A800002020202020202020202020202020202E6
+:106A900002020202020202020202020202020202D6
+:106AA00002020202020202020202020102020202C7
+:106AB00002020202020202020202020202020202B6
+:106AC00002020202020202000000000000000000B8
+:106AD00000000000000001010202020000020200AA
+:106AE0000100000202000001010101010101010198
+:106AF000010102010101010202020202020202027C
+:106B00000202020202020202020202020202020265
+:106B10000202020202020202020202020202020255
+:106B20000202020202020202020202020202020245
+:106B30000202020202020202020202020202020235
+:106B40000202020202020202020202020202020225
+:106B50000202020202020202020202020202020215
+:106B60000202020202020202020202020202020205
+:106B700002020202020202020202020202020202F5
+:106B800002020202020202020202020202020202E5
+:106B900002020202020202020202020202020202D5
+:106BA00002020202020202020202020102020202C6
+:106BB00002020202020202020202020202020202B5
+:106BC00002020202020202000000000000000000B7
+:106BD00000000000000001010202020000010200AA
+:106BE0000100000101000001010101010101010199
+:106BF000010101010102010202020202020202027B
+:106C00000202020202020202020202020202020264
+:106C10000202020202020202020202020202020254
+:106C20000202020202020202020202020202020244
+:106C30000202020202020202020202020202020234
+:106C40000202020202020202020202020202020224
+:106C50000202020202020202020202020202020214
+:106C60000202020202020202020202020202020204
+:106C700002020202020202020202020202020202F4
+:106C800002020202020202020202020202020202E4
+:106C900002020202020202020202020202020202D4
+:106CA00002020202020202020202020102020202C5
+:106CB00002020202020202020202020202020202B4
+:106CC00002020202020202000000000000000000B6
+:106CD00000000000000001010201020202010202A4
+:106CE0000200020101000001010101010101010195
+:106CF000010101010101010202020202020202027B
+:106D00000202020202020202020202020202020263
+:106D10000202020202020202020202020202020253
+:106D20000202020202020202020202020202020243
+:106D30000202020202020202020202020202020233
+:106D40000202020202020202020202020202020223
+:106D50000202020202020202020202020202020213
+:106D60000202020202020202020202020202020203
+:106D700002020202020202020202020202020202F3
+:106D800002020202020202020202020202020202E3
+:106D900002020202020202020202020202020202D3
+:106DA00002020202020202020202020102020202C4
+:106DB00002020202020202020202020202020202B3
+:106DC00002020202020202000000000000000000B5
+:106DD00000000000000001010201020202010102A4
+:106DE0000200010101000001010101010101010195
+:106DF000010101010101010202020202020202027A
+:106E00000202020202020202020202020202020262
+:106E10000202020202020202020202020202020252
+:106E20000202020202020202020202020202020242
+:106E30000202020202020202020202020202020232
+:106E40000202020202020202020202020202020222
+:106E50000202020202020202020202020202020212
+:106E60000202020202020202020202020202020202
+:106E700002020202020202020202020202020202F2
+:106E800002020202020202020202020202020202E2
+:106E900002020202020202020202020202020202D2
+:106EA00002020202020202020202020202020202C2
+:106EB00002020202020202020202020202020202B2
+:106EC00002020202020202000000000000000000B4
+:106ED00000000000000001010201020202020101A3
+:106EE0000200020101000001010101010101010193
+:106EF0000101010101010102020202020202020279
+:106F00000202020202020202020202020202020261
+:106F10000202020202020202020202020202020251
+:106F20000202020202020202020202020202020241
+:106F30000202020202020202020202020202020231
+:106F40000202020202020202020202020202020221
+:106F50000202020202020202020202020202020211
+:106F60000202020202020202020202020202020201
+:106F700002020202020202020202020202020202F1
+:106F800002020202020202020202020202020202E1
+:106F900002020202020202020202020202020202D1
+:106FA00002020202020202020202020202020202C1
+:106FB00002020202020202020202020202020202B1
+:106FC00002020202020202000000000000000000B3
+:106FD00000000000000000010101010202020201A4
+:106FE0000100010101000001010101010101010194
+:106FF0000101010101010102020202020202020278
+:107000000202020202020202020202020202020260
+:107010000202020202020202020202020202020250
+:107020000202020202020202020202020202020240
+:107030000202020202020202020202020202020230
+:107040000202020202020202020202020202020220
+:107050000202020202020202020202020202020210
+:107060000202020202020202020202020202020200
+:1070700002020202020202020202020202020202F0
+:1070800002020202020202020202020202020202E0
+:1070900002020202020202020202020202020202D0
+:1070A00002020202020202020202020202020202C0
+:1070B00002020202020202020202020202020202B0
+:1070C00002020202020202000000000000000000B2
+:1070D00000000000000000010102010101020202A3
+:1070E0000102010101000001010101010101010191
+:1070F0000101010101010102020202020002020279
+:10710000020202020202020202020202020202025F
+:107110000202020202020202020202020102020250
+:10712000020202020202020202020202020202023F
+:10713000020202020202020202020202020202022F
+:10714000020202020202020202020202020202021F
+:10715000020202020202020202020202020202020F
+:1071600002020202020202020202020202020202FF
+:1071700002020202020202020202020202020202EF
+:1071800002020202020202020202020202020202DF
+:1071900002020202020202020202020202020202CF
+:1071A00002020202020202020202020202020202BF
+:1071B00002020202020202020202020202020202AF
+:1071C00002020202020202000000000000000000B1
+:1071D00000000000000000000102010101010102A5
+:1071E0000101010101010001010101010101010190
+:1071F000010101010101010002020202000202027A
+:10720000020202020202020202020202020202025E
+:10721000020202020202020202020202010202024F
+:10722000020202020202020202020202020202023E
+:10723000020202020202020202020202020202022E
+:10724000020202020202020202020202020202021E
+:10725000020202020202020202020202020202020E
+:1072600002020202020202020202020202020202FE
+:1072700002020202020202020202020202020202EE
+:1072800002020202020202020202020202020202DE
+:1072900002020202020202020202020202020202CE
+:1072A00002020202020202020202020202020202BE
+:1072B00002020202020202020202020202020202AE
+:1072C00002020202020202000001000000000000AF
+:1072D00000000000000000000202020101010101A3
+:1072E000010101010101000101010101010101018F
+:1072F0000101010101010100000002000000000085
+:10730000020002020202020202020202020202025F
+:107310000202020202020201020101010102020252
+:10732000020202020202020202020202020202023D
+:10733000020202020202020202020202020202022D
+:10734000020202020202020202020202020202021D
+:10735000020202020202020202020202020202020D
+:1073600002020202020202020202020202020202FD
+:1073700002020202020202020202020202020202ED
+:1073800002020202020202020202020202020202DD
+:1073900002020202020202020202020202020202CD
+:1073A00002020202020202020202020202020202BD
+:1073B00002020202020202020202020202020202AD
+:1073C00002020202020202000001000000000000AE
+:1073D00000000000000000000202020202010101A0
+:1073E000010101010101000101010101010101018E
+:1073F0000101010101010100000000000100000085
+:107400000000000000000202020202020202020268
+:107410000202020202020201010101010202020152
+:107420000201010101020202020202020202020240
+:10743000020202020202020202020202020202022C
+:10744000020202020202020202020202020202021C
+:10745000020202020202020202020202020202020C
+:1074600002020202020202020202020202020202FC
+:1074700002020202020202020202020202020202EC
+:1074800002020202020202020202020202020202DC
+:1074900002020202020202020202020202020202CC
+:1074A00002020202020202020202020202020202BC
+:1074B00002020202020202020202020202020202AC
+:1074C000020202020202020202020202020202029C
+:1074D0000202020202020200020102020201010192
+:1074E000010101010101000101010101010101018D
+:1074F0000101010101010101000000000100000083
+:107500000000000000000002020202020202020269
+:10751000020202020202020202020202020101024D
+:10752000010202020201010202020202020202023E
+:10753000020202020202020202020202020202022B
+:10754000020202020202020202020202020202021B
+:10755000020202020202020202020202020202020B
+:1075600002020202020202020202020202020202FB
+:1075700002020202020202020202020202020202EB
+:1075800002020202020202020202020202020202DB
+:1075900002020202020202020202020202020202CB
+:1075A00002020202020202020202020202020202BB
+:1075B00002020202020202020202020202020202AB
+:1075C000020202020202020202020202020202029B
+:1075D0000202020202020200010101020201010193
+:1075E000010101010101010101010101010101018B
+:1075F000010101010101010101010001010101017C
+:10760000000100000000000102020102010202026A
+:10761000020202020202020201020202020202014C
+:10762000020101010102020202020202020202023E
+:10763000020202020202020202020202020202022A
+:10764000020202020202020202020202020202021A
+:10765000020202020202020202020202020202020A
+:1076600002020202020202020202020202020202FA
+:1076700002020202020202020202020202020202EA
+:1076800002020202020202020202020202020202DA
+:1076900002020202020202020202020202020202CA
+:1076A00002020202020202020202020202020202BA
+:1076B00002020202020202020202020202020202AA
+:1076C000020202020202020202020202020202029A
+:1076D0000202020202020200010101010101010194
+:1076E000010101000001010101010101010101018C
+:1076F000010101010101010101010101010101017A
+:107700000101010101010002010101010102010267
+:107710000101020201010201010101010101010156
+:107720000101010101010102020202020202020240
+:107730000202020202020202020202020202020229
+:107740000202020202020202020202020202020219
+:107750000202020202020202020202020202020209
+:1077600002020202020202020202020202020202F9
+:1077700002020202020202020202020202020202E9
+:1077800002020202020202020202020202020202D9
+:1077900002020202020202020202020202020202C9
+:1077A00002020202020202020202020202020202B9
+:1077B00002020202020202020202020202020202A9
+:1077C0000202020202020202020202020202020299
+:1077D0000202020202020200010101010101010193
+:1077E000010101000001010101010101010101018B
+:1077F0000101010101010101010101010101010179
+:107800000101010101010101020202020201020162
+:107810000202010102020101010101010101010154
+:10782000010101010101010202020202020202023F
+:107830000202020202020202020202020202020228
+:107840000202020202020202020202020202020218
+:107850000202020202020202020202020202020208
+:1078600002020202020202020202020202020202F8
+:1078700002020202020202020202020202020202E8
+:1078800002020202020202020202020202020202D8
+:1078900002020202020202020202020202020202C8
+:1078A00002020202020202020202020202020202B8
+:1078B00002020202020202020202020202020202A8
+:1078C0000202020202020202020202020202020298
+:1078D0000202020202020201010101010101010191
+:1078E000000100000001010101010101010101018C
+:1078F0000101010101010101010101010101010178
+:107900000101010101010101010102010202010263
+:107910000101020201010201010101010101010154
+:107920000101010101010102020202010102020240
+:107930000202020202020202020201020202020228
+:107940000202020202020202020202020202020217
+:107950000202020202020202020201020102020209
+:107960000202020202020201010101010101010100
+:1079700001010101010101020202020202020202EE
+:1079800002020202020202020202020202020202D7
+:1079900002020202020202020202020202020202C7
+:1079A00002020202020202020202020202020202B7
+:1079B00002020202020202020202020202020202A7
+:1079C0000202020202020202020202020202020297
+:1079D0000202020202020201010101010100000093
+:1079E000000000000001010101010101010101018C
+:1079F0000101010101010101010101010101010177
+:107A00000101010101010101010101010101010166
+:107A10000101010101010101010101010101010156
+:107A20000101010101010101010101010101010146
+:107A3000010101020202020202020202010202022A
+:107A40000202020202020202020202020202020216
+:107A5000020202020202020101010101010101010F
+:107A60000101010201010101010101010101010105
+:107A700001010101010101020202020202020202ED
+:107A800002020202020202020202020202020202D6
+:107A900002020202020202020202020202020202C6
+:107AA00002020202020202020202020202020202B6
+:107AB00002020202020202020202020202020202A6
+:107AC0000202020202020202020202020202020296
+:107AD0000202020202020201010001010100000093
+:107AE000000000000001010101010101010101018B
+:107AF0000101010101010101010101010101010176
+:107B00000101010101010101010101010101010165
+:107B10000101010101010101010101010101010155
+:107B20000101010101010101010101010101010145
+:107B30000101010101010101010100010201010135
+:107B4000010101010101010202020202020202021C
+:107B50000202020202020202020202020202020205
+:107B600002020201020202010101010101010101FF
+:107B700001010101010101010101010102010101F4
+:107B800001010102010101020202020202020202DB
+:107B900002020202020202020202020202020202C5
+:107BA00002020202020202020202020202020202B5
+:107BB00002020202020202020202020202020202A5
+:107BC0000202020202020202020202020202020295
+:107BD0000202020202020201000000000100000095
+:107BE000000000000001010101010101010101018A
+:107BF0000101010101010101010101010101010175
+:107C00000101010101010101010101010101010164
+:107C10000101010101010101010101010101010154
+:107C20000101010101010101010101010101010144
+:107C30000101010101010101020200020002020230
+:107C40000202020202020202020202020002020216
+:107C50000202020202020200000002000200000012
+:107C60000000000200000002020202020202020200
+:107C700002020202020202020202020202020202E4
+:107C800002020201020202020202020202020202D5
+:107C900002020202020202020202020202020202C4
+:107CA00002020202020202020202020202020202B4
+:107CB00002020202020202020202020202020202A4
+:107CC0000202020202020202020202020202020294
+:107CD0000202020202020201000000000000000095
+:107CE0000000000000010101010101010101010189
+:107CF0000101010101010101010101010101010174
+:107D00000101010101010101010101010101010163
+:107D10000101010101010101010101010101010153
+:107D20000101010101010101010101010101010143
+:107D30000101010101010101010101010101010133
+:107D4000010101010101010102020202000202021D
+:107D5000020202020202020101010101010101010C
+:107D600001010101010101020202020202020202FA
+:107D700002020202020202000000000000000000F5
+:107D800000000002000000020202020201020202E0
+:107D900002020202020202020202020202020202C3
+:107DA00002020202020202020202020202020202B3
+:107DB00002020202020202020202020202020202A3
+:107DC0000202020202020202020202020202020293
+:107DD0000202020202020201000000000000000094
+:107DE0000000000000010101010101010101010188
+:107DF0000101010101010101010101010101010173
+:107E00000101010101010101010101010101010162
+:107E10000101010101010101010101010101010152
+:107E20000101010101010101010101010101010142
+:107E30000101010101010101010101010101010132
+:107E40000101010101010101010101010101010122
+:107E50000101010101020101010101010101010111
+:107E600001010101010101020202020202020202F9
+:107E700002020202020202000000000000000000F4
+:107E800000000000000000020202020201020202E1
+:107E900002020202020202020202020200020202C4
+:107EA00002020202020202020202020202020202B2
+:107EB00002020202020202020202020202020202A2
+:107EC0000202020202020202020202020202020292
+:107ED0000202020202020201000000000000000093
+:107EE0000000000101010101010101010101010185
+:107EF0000101010101010101010101010101010172
+:107F00000101010101010101010101010101010161
+:107F10000101010101010101010101010101010151
+:107F20000101010101010101010101010101010141
+:107F30000101010101010101010101010101010131
+:107F40000101010101010101010101010101010121
+:107F50000101010101010101010101010101010111
+:107F60000101010101010101010101010101010101
+:107F700001010101010101000000000001000000F9
+:107F800000000000000000010101010102010101E7
+:107F900001010101010101000000000000000000DA
+:107FA00000000000000000020202020202020202BF
+:107FB00002020202020202020202020202020202A1
+:107FC0000202020202020202020202020202020291
+:107FD0000202020202020201000000000000000092
+:107FE0000000000101010101010101010101010184
+:107FF0000101010101010101010101010101010171
+:108000000101010101010101010101010101010160
+:108010000101010101010101010101010101010150
+:108020000101010101010101010101010101010140
+:108030000101010101010101010101010101010130
+:108040000101010101010101010101010101010120
+:108050000101010101010101010101010101010110
+:108060000101010101010101010101010101010100
+:1080700001010101010101010101010101010101F0
+:1080800001010101010101020202020202020202D7
+:1080900002020202020202000000000000000000D2
+:1080A00000000000000000020202020202020202BE
+:1080B00002020202020202020202020202020202A0
+:1080C0000202020202020202020202020202020290
+:1080D0000202020202020201000000000000000091
+:1080E0000101010101010101010101010101010180
+:1080F0000101010101010101010101010101010170
+:10810000010101010101010101010101010101015F
+:10811000010101010101010101010101010101014F
+:10812000010101010101010101010101010101013F
+:10813000010101010101010101010101010101012F
+:10814000010101010101010101010101010101011F
+:10815000010101010101010101010101010101010F
+:1081600001010101010101010101010101010101FF
+:1081700001010101010101010101010101010101EF
+:1081800001010101010101010101010101010101DF
+:1081900001010101010101000000000000000000D8
+:1081A00000000000000000000000000000000000CF
+:1081B00000000000000000020202020202020202AD
+:1081C0000202020202020202020202000002020293
+:1081D000020202020202020100000000000101018D
+:1081E000010101010101010101010101010101017F
+:1081F000010101010101010101010101010101016F
+:10820000010101010101010101010101010101015E
+:10821000010101010101010101010101010101014E
+:10822000010101010101010101010101010101013E
+:10823000010101010101010101010101010101012E
+:10824000010101010101010101010101010101011E
+:10825000010101010101010101010101010101010E
+:1082600001010101010101010101010101010101FE
+:1082700001010101010101010101010101010101EE
+:1082800001010101010101010101010101010101DE
+:1082900001010101010101010101010101010101CE
+:1082A00001010101010101000000000000000000C7
+:1082B00000000000000000010101010101010101B5
+:1082C0000101010101010102020202000002020299
+:1082D000020202020202020100010000000101018B
+:1082E000010101010101010101010101010101017E
+:1082F000010101010101010101010101010101016E
+:10830000010101010101010101010101010101015D
+:10831000010101010101010101010101010101014D
+:10832000010101010101010101010101010101013D
+:10833000010101010101010101010101010101012D
+:10834000010101010101010101010101010101011D
+:10835000010101010101010101010101010101010D
+:1083600001010101010101010101010101010101FD
+:1083700001010101010101010101010101010101ED
+:1083800001010101010101010101010101010101DD
+:1083900001010101010101010101010101010101CD
+:1083A00001010101010101010101010101010101BD
+:1083B00001010101010101020202020202020202A4
+:1083C0000202020202020202020202000002020291
+:1083D0000202020202020201010101010101010186
+:1083E000010101010101010101010101010101017D
+:1083F000010101010101010101010101010101016D
+:10840000010101010101010101010101010101015C
+:10841000010101010101010101010101010101014C
+:10842000010101010101010101010101010101013C
+:10843000010101010101010101010101010101012C
+:10844000010101010101010101010101010101011C
+:10845000010101010101010101010101010101010C
+:1084600001010101010101010101010101010101FC
+:1084700001010101010101010101010101010101EC
+:1084800001010101010101010101010101010101DC
+:1084900001010101010101010101010101010101CC
+:1084A00001010101010101010101010101010101BC
+:1084B00001010101010101010101010101010101AC
+:1084C0000101010101010102000202000002020299
+:1084D0000202020202020201010101010101010185
+:1084E000010101010101010101010101010101017C
+:1084F000010101010101010101010101010101016C
+:10850000010101010101010101010101010101015B
+:10851000010101010101010101010101010101014B
+:10852000010101010101010101010101010101013B
+:10853000010101010101010101010101010101012B
+:10854000010101010101010101010101010101011B
+:10855000010101010101010101010101010101010B
+:1085600001010101010101010101010101010101FB
+:1085700001010101010101010101010101010101EB
+:1085800001010101010101010101010101010101DB
+:1085900001010101010101010101010101010101CB
+:1085A00001010101010101010101010101010101BB
+:1085B00001010101010101010101010101010101AB
+:1085C00001010101010101020002000000000000A0
+:1085D0000202020202020201010101010101010184
+:1085E000010101010101010101010101010101017B
+:1085F000010101010101010101010101010101016B
+:10860000010101010101010101010101010101015A
+:10861000010101010101010101010101010101014A
+:10862000010101010101010101010101010101013A
+:10863000010101010101010101010101010101012A
+:10864000010101010101010101010101010101011A
+:10865000010101010101010101010101010101010A
+:1086600001010101010101010101010101010101FA
+:1086700001010101010101010101010101010101EA
+:1086800001010101010101010101010101010101DA
+:1086900001010101010101010101010101010101CA
+:1086A00001010101010101010101010101010101BA
+:1086B00001010101010101010101010101010101AA
+:1086C000010101010101010200020000000000009F
+:1086D0000202020202020201010101010101010183
+:1086E0000101010101010100000000000000000083
+:1086F000000000000000000000000000000000007A
+:108700000000000000000002020202020202020257
+:108710000202020202020202020202020202020239
+:108720000202020202020202020202020202020229
+:108730000202020202020202020202020202020219
+:108740000202020202020202020202020202020209
+:1087500002020202020202020202020202020202F9
+:1087600002020202020202020202020202020202E9
+:1087700002020202020202020202020202020202D9
+:1087800002020202020202020202020202020202C9
+:1087900002020202020202020202020202020202B9
+:1087A00002020202020202020202020202020202A9
+:1087B0000202020202020202020202020202020299
+:1087C0000202020202020202000200000000000097
+:1087D0000000020202020201010101010101010186
+:1087E0000101010101010100000000000000000082
+:1087F0000000000000000000000000000000000079
+:108800000000000000000000000000000000000068
+:108810000000000000000002020202020202020246
+:108820000202020202020202020202020202020228
+:108830000202020202020202020202020202020218
+:108840000202020202020202020202020202020208
+:1088500002020202020202020202020202020202F8
+:1088600002020202020202020202020202020202E8
+:1088700002020202020202020202020202020202D8
+:1088800002020202020202020202020202020202C8
+:1088900002020202020202020202020202020202B8
+:1088A00002020202020202020202020202020202A8
+:1088B0000202020202020202020202020202020298
+:1088C000020202020202020000000000000000009A
+:1088D0000000000202020201010101010101010187
+:1088E0000101010101010100000000000000000081
+:1088F0000000000000000000000000000000000078
+:108900000000000000000000000000000000000067
+:108910000000000000000000000000000000000057
+:108920000000000000000000000000000000000047
+:108930000000000000000000000000000000000037
+:108940000000000000000000000000000000000027
+:108950000000000000000002020202020202020205
+:1089600002020202020202020202020202020202E7
+:1089700002020202020202020202020202020202D7
+:1089800002020202020202020202020202020202C7
+:1089900002020202020202020202020202020202B7
+:1089A00002020202020202020202020202020202A7
+:1089B0000202020202020202020202020202020297
+:1089C0000202020202020200000000000000000099
+:1089D0000000000000020000000000000000000095
+:1089E0000000000000000000000000000000000087
+:1089F0000000000000000000000000000000000077
+:108A00000000000000000000000000000000000066
+:108A10000000000000000000000000000000000056
+:108A20000000000000000000000000000000000046
+:108A30000000000000000000000000000000000036
+:108A40000000000000000000000000000000000026
+:108A50000000000000000000000000000000000016
+:108A60000000000000000000000000000000000006
+:108A700000000000000000000000000000000000F6
+:108A800000000000000000000000000000000000E6
+:108A900000000000000000000000000000000000D6
+:108AA00000000000000000000000000000000000C6
+:108AB00000000000000000000000000000000000B6
+:108AC00000000000000000000000000000000000A6
+:108AD0000000000000000053000000000000000043
+:108AE0000000000000000000000000000000000086
+:108AF0000000000000000200000000000000000074
+:108B00000000000000000000000000000000000065
+:108B10000000000000000000000000000000000055
+:108B20000000000000000000000000000000000045
+:108B30000000000000000000000000000000000035
+:108B40000000000000000000000000000000000025
+:108B50000000000000000000000000000000000015
+:108B60000000000000000000010000000000000004
+:108B700000000000000000000000000000000000F5
+:108B800000000000000000000000000000000000E5
+:108B900000000000000000000000000000000000D5
+:108BA00000000000000000000000000000000000C5
+:108BB00000000000000000000000000000000000B5
+:108BC00000000000000000000000000000000000A5
+:108BD0000000000000000000000000000000000293
+:108BE0000000000000000000000000020201000080
+:108BF000010100000000020000000101010000006E
+:108C00000000000000000000000000010100000062
+:108C1000000000000002000001010000000100004F
+:108C20000000000000000002000002000000000040
+:108C30000000000000000000000001010100000130
+:108C40000000000000000000000000000002000022
+:108C50000000000000000000000000000000000014
+:108C60000000000000000001010001000000000001
+:108C700000000000000000010000010001000000F1
+:108C800000000000000000010000010101000000E0
+:108C900000000000000002000200000000010000CF
+:108CA00000000000000000010000010101000000C0
+:108CB00000000000000000010000010101000000B0
+:108CC00000000000010000000000010200000000A0
+:108CD0000000000000000000000000000000000292
+:108CE000000000000000000000000002020200017D
+:108CF0000101000101000200020101010101000067
+:108D00000000000000020200010200010102000058
+:108D10000000000000020002010101010101000049
+:108D20000000000000010202020201000001000137
+:108D30000000000101020100010101010101000127
+:108D4000000000000000000000000202020200001B
+:108D50000000000000000000000000000000000013
+:108D600000000000000201010101010000000100FB
+:108D700000000000000201010101010201000100E8
+:108D800000000001000101010101010101010100D8
+:108D900000000000000002010200010101010000CA
+:108DA00000000000000101010101010101010100B9
+:108DB00000000000000101010101010101010100A9
+:108DC000000000000100000002020102000100009A
+:108DD0000000000000000000000000000000000291
+:108DE000000000000000000000000002020200017C
+:108DF0000101000101000100020101010101000067
+:108E00000000000000020202010201010101000055
+:108E10000000000000010101010101010101010048
+:108E20000000000000010202020101010101000135
+:108E30000001000101020101010101010101000124
+:108E40000000000000000200020202020202000014
+:108E50000000000000000000000000000000000012
+:108E600000000000000101010101010000000100FB
+:108E700000000000000101010101010101020100E7
+:108E800000000001000101010101010101010100D7
+:108E900000000000000202010201010101010000C6
+:108EA00000000000000101010101010101010100B8
+:108EB00000000000000101010101010101010100A8
+:108EC0000000000001000000020201020001000099
+:108ED0000000000000000000000000000000000290
+:108EE000000000000000000000000002020200017B
+:108EF0000101000101000100020101010101000066
+:108F00000000000000010202010201010101000055
+:108F10000000000000010101010101010101010047
+:108F20000000000000010201010101010101000136
+:108F30000001000101010101010101010101010123
+:108F40000000000000000202020202010201000013
+:108F50000000000000000000000000000000000011
+:108F600000000000000101010101010000000100FA
+:108F700000000000000101010101010101010100E7
+:108F800000000001000101010101010101010100D6
+:108F900000000000000201010101010101010000C7
+:108FA00000000000000101010101010101010100B7
+:108FB00000000000000101010101010101010100A7
+:108FC0000000000001000000020201010001000099
+:108FD000000000000000000000000000000000028F
+:108FE000000000000000000000000002020200017A
+:108FF0000101000101000102010101010101000064
+:109000000000000000010102010101010101000056
+:109010000000000100010101010101010101010045
+:109020000000010000010101010101010101000135
+:109030000101010101010101010101010101010120
+:109040000000000100000202020201010101000013
+:10905000000000000000000000020000000200000C
+:1090600000000000000101010101010000000100F9
+:1090700000000000000101010101010101010100E6
+:1090800000000001000101010101010101010100D5
+:1090900000000000000201010101010101010000C6
+:1090A00000000000000101010101010101010100B6
+:1090B00000000000000101010101010101010100A6
+:1090C0000000000001000002010101010201000096
+:1090D000000000000000000000000000000000028E
+:1090E0000000000000000000000000020202000179
+:1090F0000101000101020102010101010101010060
+:109100000000000000010101010101010101000056
+:109110000000000100010101010101010101010044
+:109120000000010001010101010101010101010132
+:10913000010101010101010101010101010101011F
+:109140000000000100000102010101010101000015
+:109150000000000000000000000202020202000005
+:1091600000000000000101010101010000000100F8
+:1091700000000000000101010101010101010100E5
+:1091800000000001000101010101010101010100D4
+:1091900000000000000101010101010101010000C6
+:1091A00000000000000101010101010101010100B5
+:1091B00000000000000101010101010101010100A5
+:1091C0000000000001020002010101010101000094
+:1091D000000000000000000000000000000000028D
+:1091E0000000000000000000000000020202000178
+:1091F000010101010102010201010101010101005E
+:109200000000010000010101010101010101000054
+:109210000000000100010101010101010101010043
+:109220000000010001010101010101010101010131
+:10923000010101010101010101010101010101011E
+:109240000000000100020101010101010101000013
+:109250000000000000000000020202020202000002
+:1092600000000000000101010101010000000100F7
+:1092700000000000000101010101010101010100E4
+:1092800000000001000101010101010101010100D3
+:1092900000000000000101010101010101010100C4
+:1092A00000000000000101010101010101010100B4
+:1092B00000000000000101010101010101010100A4
+:1092C0000000000001020001010101010101000094
+:1092D000000000000000000000000000000000028C
+:1092E0000000000000000000000000020202000177
+:1092F000010101010102010101010101010101005E
+:109300000000010000010101010101010101010052
+:109310000000000100010101010101010101010042
+:109320000000010001010101010101010101010130
+:10933000010101010101010101010101010101011D
+:109340000000000100020101010101010101000012
+:109350000000000000000000020102020201000003
+:1093600000010000000101010101010000000100F5
+:1093700000000001010101010101010101010100E1
+:1093800000000001000101010101010101010100D2
+:1093900000000000000101010101010101010100C3
+:1093A00000000001000101010101010101010100B2
+:1093B00000000000000101010101010101010100A3
+:1093C0000000000001010001010101010101000094
+:1093D000000000000000000000000000000000028B
+:1093E0000000000000000000000000020202000176
+:1093F000010101010101010101010101010101005E
+:10940000000101000001010101010101010101014F
+:109410000000000100010101010101010101010041
+:10942000000001000101010101010101010101012F
+:10943000010101010101010101010101010101011C
+:109440000000000100020101010101010101000011
+:109450000000000000000200020101010101000003
+:1094600000010000000101010101010000000100F4
+:1094700000000001010101010101010101010100E0
+:1094800000010001000101010101010101010100D0
+:1094900000000000000101010101010101010100C2
+:1094A00000000001000101010101010101010100B1
+:1094B00000000000000101010101010101010100A2
+:1094C0000000000001010001010101010101000093
+:1094D000000000000000000000000000000000028A
+:1094E0000000000000000000000000020202000175
+:1094F000010101010101010101010101010101005D
+:10950000000101000001010101010101010101014E
+:109510000000000100010101010101010101010040
+:10952000000001000101010101010101010101012E
+:10953000010101010101010101010101010101011B
+:109540000000000100010101010101010101000011
+:109550000000000000000202010101010101000001
+:1095600000010000000101010101010000000100F3
+:1095700000000001010101010101010101010100DF
+:1095800000010001000101010101010101010100CF
+:1095900000000000000101010101010101010100C1
+:1095A00000000001000101010101010101010100B0
+:1095B00000000000000101010101010101010100A1
+:1095C0000000000001010001010101010101000092
+:1095D0000000000000000000000000000000000289
+:1095E0000000000000000000000000020202000174
+:1095F000010101010101010101010101010101005C
+:10960000000101000001010101010101010101014D
+:10961000000000010001010101010101010101003F
+:10962000000001000101010101010101010101012D
+:10963000010101010101010101010101010101011A
+:109640000000000100010101010101010101000010
+:109650000000000000000202010101010101000000
+:1096600000010000000101010101010000000100F2
+:1096700000000001010101010101010101010100DE
+:1096800000010001000101010101010101010100CE
+:1096900000000000000101010101010101010100C0
+:1096A00000000001000101010101010101010100AF
+:1096B00000000000000101010101010101010100A0
+:1096C0000000000001010001010101010101000091
+:1096D0000000000000000000000000000000000288
+:1096E0000000000000000000000000020202000272
+:1096F000010101010101010101010101010101005B
+:10970000000101010001010101010101010101014B
+:10971000000100010001010101010101010101003D
+:10972000000001010101010101010101010101012B
+:109730000101010101010101010101010101010119
+:10974000000000010001010101010101010100000F
+:109750000000000000000102010101010101000000
+:1097600000010001000101010101010000000100F0
+:1097700000000001010101010101010101010100DD
+:1097800000010001000101010101010101010100CD
+:1097900000000000000101010101010101010100BF
+:1097A00000000001000101010101010101010100AE
+:1097B000000000000101010101010101010101009E
+:1097C000000000000101020101010101010100008E
+:1097D0000000000000000000000000000000000287
+:1097E0000000000000000000000000020202000271
+:1097F000010101010101010101010101010101005A
+:10980000000101010001010101010101010101014A
+:10981000000100010101010101010101010101003B
+:10982000000001010101010101010101010101012A
+:109830000101010101010101010101010101010118
+:10984000000000010001010101010101010101000D
+:109850000000000000000101010101010101000000
+:1098600000010001000101010101010000000100EF
+:1098700000000001010101010101010101010100DC
+:1098800001010101000101010101010101010100CA
+:1098900000000000000101010101010101010100BE
+:1098A00000000101000101010101010101010100AC
+:1098B000000000000101010101010101010101009D
+:1098C000000000000101020101010101010100008D
+:1098D0000000000000000000000000000000000286
+:1098E0000000000000000000000000020202000270
+:1098F0000201010101010101010101010101010157
+:109900000001010100010101010101010101010149
+:109910000101000101010101010101010101010039
+:109920000000010101010101010101010101010129
+:109930000101010101010101010101010101010117
+:10994000000001010001010101010101010101000B
+:1099500000000000000001010101010101010000FF
+:1099600000010001010101010101010000000100ED
+:1099700000000001010101010101010101010100DB
+:1099800001010101010101010101010101010100C8
+:1099900000000000000101010101010101010100BD
+:1099A00000000101010101010101010101010100AA
+:1099B000000000000101010101010101010101009C
+:1099C000000000000101010101010101010100008D
+:1099D0000000000000000000000000000000000285
+:1099E000000000000000000000000002020200026F
+:1099F0000202010101010101010101010101010155
+:109A00000001010100010101010101010101010148
+:109A10000101000101010101010101010101010038
+:109A20000000010101010101010101010101010128
+:109A30000101010101010101010101010101010116
+:109A4000000001010001010101010101010101000A
+:109A500000000000000201010101010101010000FC
+:109A600000010101010101010101010200000100E9
+:109A700000000101010101010101010101010100D9
+:109A800001010101010101010101010101010100C7
+:109A900000000000000101010101010101010100BC
+:109AA00000000101010101010101010101010100A9
+:109AB000000000000101010101010101010101009B
+:109AC000000000000101010101010101010100008C
+:109AD0000000000002000000000000000000000282
+:109AE000000000000000000000000002020200026E
+:109AF0000202010202010101010101010101010152
+:109B00000001010101010101010101010101010146
+:109B10000101000101010101010101010101010037
+:109B20000000010101010101010101010101010127
+:109B30000101010101010101010101010101010115
+:109B40000001010100010101010101010101010008
+:109B500000000000000201010101010101010000FB
+:109B600000010101010101010101010200000100E8
+:109B700000000101010101010101010101010100D8
+:109B800001010101010101010101010101010100C6
+:109B900000000000000101010101010101010100BB
+:109BA00000000101010101010101010101010100A8
+:109BB0000000000101010101010101010101010099
+:109BC000000000000101010101010101010100008B
+:109BD000000202020200000000000000000000027B
+:109BE000000000000000000000000002020200026D
+:109BF0000202010202010101010101010101010151
+:109C00000101010101010101010101010101010144
+:109C10000101000101010101010101010101010036
+:109C20000101010101010101010101010101010124
+:109C30000101010101010101010101010101010114
+:109C40000001010100010101010101010101010007
+:109C500000000000000201010101010101010000FA
+:109C600000010101010101010101010202000100E5
+:109C700000000101010101010101010101010100D7
+:109C800001010101010101010101010101010100C5
+:109C900000000000000101010101010101010100BA
+:109CA00001000101010101010101010101010100A6
+:109CB0000000010101010101010101010101010097
+:109CC000000000000101010101010101010100008A
+:109CD000000202020200000000000000000000027A
+:109CE000000000000000000000000002020200026C
+:109CF0000202010202010101010101010101010150
+:109D00000101010101010101010101010101010143
+:109D10000101000101010101010101010101010134
+:109D20000101010101010101010101010101010123
+:109D30000101010101010101010101010101010113
+:109D40000001010100010101010101010101010006
+:109D500000000000000101010101010101010000FA
+:109D600000010101010101010101010102000100E5
+:109D700000000101010101010101010101010101D5
+:109D800001010101010101010101010101010100C4
+:109D900000000000000101010101010101010101B8
+:109DA00001000101010101010101010101010100A5
+:109DB0000000010101010101010101010101010096
+:109DC0000000000001010101010101010101010088
+:109DD0000002020202000000000000000000000279
+:109DE000000000000000000000000002020200026B
+:109DF000020202020201010101010101010101014E
+:109E00000101010101010101010101010101010142
+:109E10000101000101010101010101010101010133
+:109E20000101010101010101010101010101010122
+:109E30000101010101010101010101010101010112
+:109E40000001010101010101010101010101010004
+:109E500000000000010101010101010101010100F7
+:109E600001010101010101010101010102000100E3
+:109E700001000101010101010101010101010101D3
+:109E800001010101010101010101010101010100C3
+:109E900000000001000101010101010101010101B6
+:109EA00001010101010101010101010101010100A3
+:109EB0000000010101010101010101010101010095
+:109EC0000000000001010101010101010101010087
+:109ED0000002020202000000000000000000000278
+:109EE000000000000000000000000002020200026A
+:109EF000020202020201010101010101010101014D
+:109F00000101010101010101010101010101010141
+:109F10000101010101010101010101010101010131
+:109F20000101010101010101010101010101010121
+:109F30000101010101010101010101010101010111
+:109F40000001010101010101010101010101010003
+:109F500000000100010101010101010101010100F5
+:109F600001010101010101010101010101000100E3
+:109F700001000101010101010101010101010101D2
+:109F800001010101010101010101010101010100C2
+:109F900000010001000101010101010101010101B4
+:109FA00001010101010101010101010101010100A2
+:109FB0000000010101010101010101010101010094
+:109FC0000000000001010101010101010101010086
+:109FD0000101010101010101010101010101000271
+:109FE0000000000000000000000000020202000269
+:109FF000020202020201010101020201010101014A
+:10A000000101010101010101010101010101010140
+:10A010000101010101010101010101010101010130
+:10A02000010101010101010101010101010101021F
+:10A030000101010101010101010101010101010110
+:10A040000001010101010101010101010101010101
+:10A0500000000100010101010101010101010100F4
+:10A0600001010101010101010101010101000100E2
+:10A0700001010101010101010101010101010101D0
+:10A0800001010101010101010101010101010100C1
+:10A0900000010001000101010101010101010101B3
+:10A0A00001010101010101010101010101010100A1
+:10A0B0000001010101010101010101010101010092
+:10A0C0000000000001010101010101010101010085
+:10A0D0000101010101010101010101010101000270
+:10A0E0000000000000000000000000020202000268
+:10A0F0000202020202010101010202020201010147
+:10A10000010101010101010101010101010101013F
+:10A11000010101010101010101010101010101012F
+:10A12000010101010101010101010101010101021E
+:10A13000010101010101010101010101010101020E
+:10A140000001010101010101010101010101010100
+:10A1500000000100010101010101010101010100F3
+:10A1600001010101010101010101010101020100DF
+:10A1700001010101010101010101010101010101CF
+:10A1800001010101010101010101010101010100C0
+:10A1900000010001000101010101010101010101B2
+:10A1A00001010101010101010101010101010100A0
+:10A1B0000001010101010101010101010101010091
+:10A1C0000000000001010101010101010101010084
+:10A1D000010101010101010101010101010100026F
+:10A1E0000000000000000000000000020202000267
+:10A1F0000202020202010201010202020201010145
+:10A20000010101010101010101010101010101013E
+:10A21000010101010101010101010101010101012E
+:10A22000010101010101010101010101010101021D
+:10A23000010101010101010101010101010101020D
+:10A2400000010101010101010101010101010101FF
+:10A2500000000101010101010101010101010100F1
+:10A2600001010101010101010101010101010100DF
+:10A2700001010101010101010101010101010101CE
+:10A2800001010101010101010101010101010100BF
+:10A2900000010001000101010101010101010101B1
+:10A2A000010101010101010101010101010101009F
+:10A2B000010101010101010101010101010101008F
+:10A2C0000000000001010101010101010101010083
+:10A2D000010101010101010101010101010100026E
+:10A2E0000000000000000000000000020202000266
+:10A2F0000202020202010201010202020202010143
+:10A30000010101010101010101010101010101023C
+:10A31000010101010101010101010101010101012D
+:10A32000010101010101010101010101010101021C
+:10A33000010101010101010101010101010101020C
+:10A3400000010101010101010101010101010101FE
+:10A3500000000101010101010101010101010100F0
+:10A3600001010101010101010101010101010100DE
+:10A3700001010101010101010101010101010101CD
+:10A3800001010101010101010101010101010100BE
+:10A3900001010101000101010101010101010101AE
+:10A3A000010101010101010101010101010101019D
+:10A3B000010101010101010101010101010101008E
+:10A3C0000000000001010101010101010101010082
+:10A3D000010101010101010101010101010100026D
+:10A3E0000000000000000000000000020202000265
+:10A3F0000202020202020201020202020202010140
+:10A40000010101010101010101010101010101023B
+:10A41000010101010101010101010101010101012C
+:10A42000010101010101010101010101010101021B
+:10A43000010101010101010101010101010101020B
+:10A4400000010101010101010101010101010101FD
+:10A4500000000101010101010101010101010100EF
+:10A4600001010101010101010101010101010100DD
+:10A4700001010101010101010101010101010101CC
+:10A4800001010101010101010101010101010101BC
+:10A4900001010101000101010101010101010101AD
+:10A4A000010101010101010101010101010101019C
+:10A4B000010101010101010101010101010101008D
+:10A4C0000000000001010101010101010101010081
+:10A4D0000000000000000000000001010101010275
+:10A4E0000000000000000000000000020202000264
+:10A4F000020202020202020202020202020202023C
+:10A50000010101010101010101010101010101023A
+:10A51000010101010101010101010101010101012B
+:10A52000010101010101010101010101010101021A
+:10A530000202010202010101010101010101010206
+:10A5400001010101010101010101010101010101FB
+:10A5500000000101010101010101010101010100EE
+:10A5600001010101010101010101010101010101DB
+:10A5700001010101010101010101010101010101CB
+:10A5800001010101010101010101010101010101BB
+:10A5900001010101000101010101010101010101AC
+:10A5A000010101010101010101010101010101019B
+:10A5B000010101010101010101010101010101018B
+:10A5C0000000000001010101010101010101010080
+:10A5D0000000000000000001000101010101010272
+:10A5E0000000000000000000000000020202000263
+:10A5F000020202020202020202020202020202023B
+:10A600000101020101010101010101010101010238
+:10A610000101010201010101010101010101010129
+:10A620000101010101010101010101010101010219
+:10A630000202020202010101010101010101010204
+:10A6400001010101010101010101010101010101FA
+:10A6500000000101010101010101010101010100ED
+:10A6600001010101010101010101010101010101DA
+:10A6700001010101010101010101010101010101CA
+:10A6800001010102010101010101010101010101B9
+:10A6900001010101000101010101010101010101AB
+:10A6A000010101010101010101010101010101019A
+:10A6B000010101010101010101010101010101018A
+:10A6C000000000000101010101010101010101007F
+:10A6D0000000000000000001000101010101010271
+:10A6E0000000000000000000000000020202000262
+:10A6F000020202020202020202020202020202023A
+:10A700000102020101010101010101010101010236
+:10A710000101010201010101010101010101010128
+:10A720000101010101010101010101010101010218
+:10A730000202020202010101010101010101010203
+:10A7400001010101010101010101010101010101F9
+:10A7500000000101010101010101010101010101EB
+:10A7600001010101010101010101010101010101D9
+:10A7700001010101010101010101010101010101C9
+:10A7800001010102010101010101010101010101B8
+:10A7900001010101000101010101010101010101AA
+:10A7A0000101010101010101010101010101010199
+:10A7B0000101010101010101010101010101010189
+:10A7C000000000000101010101010101010101007E
+:10A7D000000000000001000100010101010101026F
+:10A7E0000000000000000000000000010202000262
+:10A7F0000202020202020202020202020202020239
+:10A800000102020101020101020101010101010233
+:10A810000101010201010101010101010101010127
+:10A820000101020101010101010101010101010216
+:10A830000202020202010101010101010101010202
+:10A8400001010102010101010101010101010101F7
+:10A8500000000101010101010101010101010101EA
+:10A8600001010101010101010101010101010101D8
+:10A8700001010101010101010101010101010101C8
+:10A8800001010102010201010101010101010101B6
+:10A8900001010101000101010101010101010101A9
+:10A8A0000101010101010101010101010101010198
+:10A8B0000101010101010101010101010101010188
+:10A8C000000000000101010101010101010101007D
+:10A8D000000000000001000100010101010101026E
+:10A8E0000000000000000000000000010102000262
+:10A8F0000202020202020202020202020202020238
+:10A90000010202020102010102010202020101022E
+:10A910000101010201020201020201010101010122
+:10A920000101020102020101010101010101010213
+:10A930000202020202010201010101010101010200
+:10A9400001010102010101010101010101010101F6
+:10A9500001000101010101010101010101010101E8
+:10A9600001010101010101010101010101010101D7
+:10A9700001010101010101010101010101010101C7
+:10A9800001020102010202020101010101010101B2
+:10A9900001010101000101010101010101010101A8
+:10A9A0000101010101010101010101010101010197
+:10A9B0000101010101010101010101010101010187
+:10A9C000000000000101010101010101010101007C
+:10A9D000000100000001000100010101010101026C
+:10A9E0000000000000000000000000010102000261
+:10A9F0000202020202020202020202020202020237
+:10AA0000010202020102010102010202020101022D
+:10AA1000020201020102020202020201010101011D
+:10AA20000101020102020101010101010101010212
+:10AA300002020202020202020202020101010102FA
+:10AA400001010102010101010101010101010101F5
+:10AA500001000101010101010101010101010101E7
+:10AA600001010101010101010101010101010101D6
+:10AA700001010101010101010101010101010102C5
+:10AA800002020102010202020202020101010101AD
+:10AA900001010101000101010101010101010101A7
+:10AAA0000101010101010101010101010101010196
+:10AAB0000101010101010101010101010101010186
+:10AAC000000001000101010101010101010101007A
+:10AAD000000100000001000100010101010101026B
+:10AAE0000000000000000000000000010101000261
+:10AAF0000202020202020202020202020202020236
+:10AB00000202020202020201020102020201010229
+:10AB10000202010202020202020202020202010217
+:10AB20000101020102020101010101010101010211
+:10AB300002020202020202020202020202010102F7
+:10AB400001010102010101010101010101010101F4
+:10AB500001010101010101010101010101010101E5
+:10AB600001020101010101010101010101010101D4
+:10AB700001010101010101010101010101010102C4
+:10AB800002020202010202020202020202010101A9
+:10AB900001010101000101010101010101010101A6
+:10ABA0000101010101020101010101010101010194
+:10ABB0000101010101010101010101010101010185
+:10ABC0000000010002010101010101010101010078
+:10ABD000000100000001000100010101010101026A
+:10ABE0000000000000000000000000010101000260
+:10ABF0000202020202020202020202020202020235
+:10AC00000202020202020202020202020202010225
+:10AC10000202010202020202020202020202020215
+:10AC2000010102020202010101010101010101020F
+:10AC300002020202020202020202020202020102F5
+:10AC400001010202010101010101010101010101F2
+:10AC500001010101010101010101010101010101E4
+:10AC600001020101010202020201010101010101CF
+:10AC700001010102020202020101010101010102BE
+:10AC800002020202020202020202020202020201A5
+:10AC900001010101000101010101010101010101A5
+:10ACA0000101010201020202010101010101010190
+:10ACB0000101010101010101010101010101010184
+:10ACC0000000010002010101010101010101010077
+:10ACD000000100000001000100010101010101016A
+:10ACE000000000000000000000000001010100025F
+:10ACF0000202020202020202020202020202020234
+:10AD00000202020202020202020202020202010224
+:10AD10000202010202020202020202020202020214
+:10AD2000010102020202010101020201010101020C
+:10AD300002020202020202020202020202020202F3
+:10AD400001020202010101010101010101010102EF
+:10AD500001010101010101010101010101010101E3
+:10AD600001020101010202020202020101010101CC
+:10AD700001010102020202020202020101010102BA
+:10AD800002020202020202020202020202020201A4
+:10AD900001010101000101020101010101010102A2
+:10ADA000010101020102020202020201010101018C
+:10ADB0000101010101020101010101010101010182
+:10ADC0000000010002010101010101010101010076
+:10ADD0000001010100010001000101010101010167
+:10ADE000000000000000000000000001010100025E
+:10ADF0000202020202020202020202020202020233
+:10AE00000202020202020202020202020202020222
+:10AE10000202020202020202020202020202020212
+:10AE20000201020202020202020202020202010204
+:10AE300002020202020202020202020202020202F2
+:10AE400001020202010102010101010101010102ED
+:10AE500001010101010101010101010101010101E2
+:10AE600001020102010202020202020101010101CA
+:10AE700001010102020202020202020102010102B8
+:10AE800002020202020202020202020202020201A3
+:10AE9000010101010101010201020201010101029E
+:10AEA0000101020201020202020202020201010188
+:10AEB000010101010102020201010101010101017F
+:10AEC0000000010002010101010101010101010075
+:10AED0000001010101000001000101010101010166
+:10AEE000000000000000000000000001010100025D
+:10AEF0000202020202020202020202020202020232
+:10AF00000202020202020202020202020202020221
+:10AF10000202020202020202020202020202020211
+:10AF20000202020202020202020202020202010202
+:10AF300002020202020202020202020202020202F1
+:10AF400001020202020202020202020201010102E5
+:10AF500001010101010101010101010101010101E1
+:10AF600001020202020202020202020101010201C6
+:10AF700001010202020202020202020102010202B5
+:10AF800002020202020202020202020202020201A2
+:10AF90000101010101020202010202020202010298
+:10AFA0000201020202020202020202020202020183
+:10AFB000010101010102020202020201010101017B
+:10AFC0000000010002010101010101010101010074
+:10AFD0000001010101000001000101010101010165
+:10AFE000000000000000000000000001010100025C
+:10AFF0000202020202020202020202020202020231
+:10B000000202020202020202020202020202020220
+:10B010000202020202020202020202020202020210
+:10B020000202020202020202020202020202020200
+:10B0300002020202020202020202020202020202F0
+:10B0400001020202020202020202020202020102E2
+:10B0500001010201020101010101010101010101DE
+:10B0600002020202020202020202020101010201C4
+:10B0700002010202020202020202020202010202B2
+:10B0800002020202020202020202020202020201A1
+:10B090000101010101020202020202020202010296
+:10B0A0000201020202020202020202020202020182
+:10B0B0000101010102020202020202020201010177
+:10B0C0000101010002010101010102010101010070
+:10B0D0000000010101000000000101010101010265
+:10B0E000000000000000000000000001010100025B
+:10B0F0000202020202020202020202020202020230
+:10B10000020202020202020202020202020202021F
+:10B11000020202020202020202020202020202020F
+:10B1200002020202020202020202020202020202FF
+:10B1300002020202020202020202020202020202EF
+:10B1400001020202020202020202020202020102E1
+:10B1500001010201020101010102010101010101DC
+:10B1600002020202020202020202020101010202C2
+:10B1700002010202020202020202020202020202B0
+:10B18000020202020202020202020202020202029F
+:10B190000101010101020202020202020202010295
+:10B1A0000202020202020202020202020202020180
+:10B1B0000101010102020202020202020202020174
+:10B1C000010101000201010101010201010101006F
+:10B1D0000000000001000000000101010101010266
+:10B1E000000000000000000000000001010100025A
+:10B1F000020202020202020202020202020202022F
+:10B20000020202020202020202020202020202021E
+:10B21000020202020202020202020202020202020E
+:10B2200002020202020202020202020202020202FE
+:10B2300002020202020202020202020202020202EE
+:10B2400002020202020202020202020202020102DF
+:10B2500001010202020102010202020101010102D6
+:10B2600002020202020202020202020101010202C1
+:10B2700002020202020202020202020202020202AE
+:10B28000020202020202020202020202020202029E
+:10B290000102010201020202020202020202020291
+:10B2A000020202020202020202020202020202027E
+:10B2B0000101020202020202020202020202020171
+:10B2C000010101000202010101010201010201006C
+:10B2D0000000000001000000000101010101010265
+:10B2E0000000000000000000000000010101000259
+:10B2F000020202020202020202020202020202022E
+:10B30000020202020202020202020202020202021D
+:10B31000020202020202020202020202020202020D
+:10B3200002020202020202020202020202020202FD
+:10B3300002020202020202020202020202020202ED
+:10B3400002020202020202020202020202020202DD
+:10B3500001010202020102020202020202020102D1
+:10B3600002020202020202020202020101010202C0
+:10B3700002020202020202020202020202020202AD
+:10B38000020202020202020202020202020202029D
+:10B39000020201020102020202020202020202028F
+:10B3A000020202020202020202020202020202027D
+:10B3B0000101020202020202020202020202020170
+:10B3C0000101010102020102020202010102010067
+:10B3D0000000000000000000000101010101010265
+:10B3E0000000000000000000000000010101000258
+:10B3F000020202020202020202020202020202022D
+:10B40000020202020202020202020202020202021C
+:10B41000020202020202020202020202020202020C
+:10B4200002020202020202020202020202020202FC
+:10B4300002020202020202020202020202020202EC
+:10B4400002020202020202020202020202020202DC
+:10B4500001010202020202020202020202020102CF
+:10B4600002020202020202020202020101010202BF
+:10B4700002020202020202020202020202020202AC
+:10B48000020202020202020202020202020202029C
+:10B49000020202020102020202020202020202028D
+:10B4A000020202020202020202020202020202027C
+:10B4B000020202020202020202020202020202026C
+:10B4C0000101010102020102020202020202010064
+:10B4D0000000000000000000000000010001010168
+:10B4E0000000000000000000000000010101000257
+:10B4F000020202020202020202020202020202022C
+:10B50000020202020202020202020202020202021B
+:10B51000020202020202020202020202020202020B
+:10B5200002020202020202020202020202020202FB
+:10B5300002020202020202020202020202020202EB
+:10B5400002020202020202020202020202020202DB
+:10B5500002010202020202020202020202020102CD
+:10B5600002020202020202020202020101010202BE
+:10B5700002020202020202020202020202020202AB
+:10B58000020202020202020202020202020202029B
+:10B59000020202020102020202020202020202028C
+:10B5A000020202020202020202020202020202027B
+:10B5B000020202020202020202020202020202026B
+:10B5C0000101010102020102020202020202010063
+:10B5D0000000000000000000000000000001010168
+:10B5E0000000000000000000000002010101000254
+:10B5F000020202020202020202020202020202022B
+:10B60000020202020202020202020202020202021A
+:10B61000020202020202020202020202020202020A
+:10B6200002020202020202020202020202020202FA
+:10B6300002020202020202020202020202020202EA
+:10B6400002020202020202020202020202020202DA
+:10B6500002010202020202020202020202020102CC
+:10B6600002020202020202020202020101010202BD
+:10B6700002020202020202020202020202020202AA
+:10B68000020202020202020202020202020202029A
+:10B69000020202020102020202020202020202028B
+:10B6A000020202020202020202020202020202027A
+:10B6B000020202020202020202020202020202026A
+:10B6C0000101010102020202020202020202010061
+:10B6D0000000000000000000000000000001010167
+:10B6E0000000000000000000000002010101000253
+:10B6F000020202020202020202020202020202022A
+:10B700000202020202020202020202020202020219
+:10B710000202020202020202020202020202020209
+:10B7200002020202020202020202020202020202F9
+:10B7300002020202020202020202020202020202E9
+:10B7400002020202020202020202020202020202D9
+:10B7500002020202020202020202020202020202C9
+:10B7600002020202020202020202020101010202BC
+:10B7700002020202020202020202020202020202A9
+:10B780000202020202020202020202020202020299
+:10B79000020202020102020202020202020202028A
+:10B7A0000202020202020202020202020202020279
+:10B7B0000202020202020202020202020202020269
+:10B7C0000101010102020202020202020202010060
+:10B7D0000000000000000000000000000001010166
+:10B7E0000000000000000000000202010101000250
+:10B7F0000202020202020202020202020202020229
+:10B800000202020202020202020202020202020218
+:10B810000202020202020202020202020202020208
+:10B8200002020202020202020202020202020202F8
+:10B8300002020202020202020202020202020202E8
+:10B8400002020202020202020202020202020202D8
+:10B8500002020202020202020202020202020202C8
+:10B8600002020202020202020202020101010202BB
+:10B8700002020202020202020202020202020202A8
+:10B880000202020202020202020202020202020298
+:10B890000202020201020202020202020202020289
+:10B8A0000202020202020202020202020202020278
+:10B8B0000202020202020202020202020202020268
+:10B8C000010101010202020202020202020201005F
+:10B8D0000000000000000000010000000001010164
+:10B8E0000000000000000000000201010101000250
+:10B8F0000202020202020202020202020202020228
+:10B900000202020202020202020202020202020217
+:10B910000202020202020202020202020202020207
+:10B9200002020202020202020202020202020202F7
+:10B9300002020202020202020202020202020202E7
+:10B9400002020202020202020202020202020202D7
+:10B9500002020202020202020202020202020202C7
+:10B9600002020202020202020202020201010202B9
+:10B9700002020202020202020202020202020202A7
+:10B980000202020202020202020202020202020297
+:10B990000202020201020202020202020202020288
+:10B9A0000202020202020202020202020202020277
+:10B9B0000202020202020202020202020202020267
+:10B9C000010101010202020202020202020201005E
+:10B9D0000000000000000000010000000000010164
+:10B9E000000000000000000002020101010100024D
+:10B9F0000202020202020202020202020202020227
+:10BA00000202020202020202020202020202020216
+:10BA10000202020202020202020202020202020206
+:10BA200002020202020202020202020202020202F6
+:10BA300002020202020202020202020202020202E6
+:10BA400002020202020202020202020202020202D6
+:10BA500002020202020202020202020202020202C6
+:10BA600002020202020202020202020202010202B7
+:10BA700002020202020202020202020202020202A6
+:10BA80000202020202020202020202020202020296
+:10BA90000202020202020202020202020202020286
+:10BAA0000202020202020202020202020202020276
+:10BAB0000202020202020202020202020202020266
+:10BAC000010102010202020202020202020202005B
+:10BAD0000000000000000100010000000000010162
+:10BAE000000000000000000002010101010100024D
+:10BAF0000202020202020202020202020202020226
+:10BB00000202020202020202020202020202020215
+:10BB10000202020202020202020202020202020205
+:10BB200002020202020202020202020202020202F5
+:10BB300002020202020202020202020202020202E5
+:10BB400002020202020202020202020202020202D5
+:10BB500002020202020202020202020202020202C5
+:10BB600002020202020202020202020202020202B5
+:10BB700002020202020202020202020202020202A5
+:10BB80000202020202020202020202020202020295
+:10BB90000202020202020202020202020202020285
+:10BBA0000202020202020202020202020202020275
+:10BBB0000202020202020202020202020202020265
+:10BBC000010102010202020202020202020202005A
+:10BBD0000000000000000100010000000000010161
+:10BBE000000000000000000001010101010100024D
+:10BBF0000202020202020202020202020202020225
+:10BC00000202020202020202020202020202020214
+:10BC10000202020202020202020202020202020204
+:10BC200002020202020202020202020202020202F4
+:10BC300002020202020202020202020202020202E4
+:10BC400002020202020202020202020202020202D4
+:10BC500002020202020202020202020202020202C4
+:10BC600002020202020202020202020202020202B4
+:10BC700002020202020202020202020202020202A4
+:10BC80000202020202020202020202020202020294
+:10BC90000202020202020202020202020202020284
+:10BCA0000202020202020202020202020202020274
+:10BCB0000202020202020202020202020202020264
+:10BCC0000201020102020202020202020202020058
+:10BCD0000000000000000100010000000000010160
+:10BCE000000000000000000001010201010100014C
+:10BCF0000101020101020202020202020202020228
+:10BD00000202020202020202020202020202020213
+:10BD10000202020202020202020202020202020203
+:10BD200002020202020202020202020202020202F3
+:10BD300002020202020202020202020202020202E3
+:10BD400002020202020202020202020202020202D3
+:10BD500002020202020202020202020202020202C3
+:10BD600002020202020202020202020202020202B3
+:10BD700002020202020202020202020202020202A3
+:10BD80000202020202020202020202020202020293
+:10BD90000202020202020202020202020202020283
+:10BDA0000202020202020202020202020202020273
+:10BDB0000202020202020202020202020202020263
+:10BDC0000202020102020202020202020202020056
+:10BDD000000000000000010001000000000001015F
+:10BDE0000000000000000002010102010101000149
+:10BDF0000101020101020202020202020202020227
+:10BE00000202020202020202020202020202020212
+:10BE10000202020202020202020202020202020202
+:10BE200002020202020202020202020202020202F2
+:10BE300002020202020202020202020202020202E2
+:10BE400002020202020202020202020202020202D2
+:10BE500002020202020202020202020202020202C2
+:10BE600002020202020202020202020202020202B2
+:10BE700002020202020202020202020202020202A2
+:10BE80000202020202020202020202020202020292
+:10BE90000202020202020202020202020202020282
+:10BEA0000202020202020202020202020202020272
+:10BEB0000202020202020202020202020202020262
+:10BEC0000202020102020202020202020202020055
+:10BED000000000000000010001000000000000015F
+:10BEE0000000000000000002010202000101000148
+:10BEF0000101010101020202020202020202020227
+:10BF00000202020202020202020202020202020211
+:10BF10000202020202020202020202020202020201
+:10BF200002020202020202020202020202020202F1
+:10BF300002020202020202020202020202020202E1
+:10BF400002020202020202020202020202020202D1
+:10BF500002020202020202020202020202020202C1
+:10BF600002020202020202020202020202020202B1
+:10BF700002020202020202020202020202020202A1
+:10BF80000202020202020202020202020202020291
+:10BF90000202020202020202020202020202020281
+:10BFA0000202020202020202020202020202020271
+:10BFB0000202020202020202020202020202020261
+:10BFC0000202020202020202020202020202020053
+:10BFD000000000000000010001000000000000015E
+:10BFE0000002000200020001020202000101000240
+:10BFF0000202010202020202020101010102020226
+:10C000000202020202020202020202020202020210
+:10C010000202020202020202020202020202020200
+:10C0200002020202020202020202020202020202F0
+:10C0300002020202020202020202020202020202E0
+:10C0400002020202020202020202020202020202D0
+:10C0500002020202020202020202020202020202C0
+:10C0600002020202020202020202020202020202B0
+:10C0700002020202020202020202020202020202A0
+:10C080000202020202020202020202020202020290
+:10C090000202020202020202020202020202020280
+:10C0A0000202020202020202020202020202020270
+:10C0B0000202020202020202020202020202020260
+:10C0C0000202020202020202020202020202020052
+:10C0D000000000000000010001000000000000015D
+:10C0E0000002000200020001020201000001000241
+:10C0F0000202020202010101010202020201010226
+:10C10000020202020202020202020202020202020F
+:10C1100002020202020202020202020202020202FF
+:10C1200002020202020202020202020202020202EF
+:10C1300002020202020202020202020202020202DF
+:10C1400002020202020202020202020202020202CF
+:10C1500002020202020202020202020202020202BF
+:10C1600002020202020202020202020202020202AF
+:10C17000020202020202020202020202020202029F
+:10C18000020202020202020202020202020202028F
+:10C19000020202020202020202020202020202027F
+:10C1A000020202020202020202020202020202026F
+:10C1B000020202020202020202020202020202025F
+:10C1C0000202020202020202020202020202020051
+:10C1D000000000000000010001000000000000015C
+:10C1E000020202020001020202020100000100023A
+:10C1F0000202020202020202020101010102020223
+:10C20000020202020202020202020202020202020E
+:10C2100002020202020202020202020202020202FE
+:10C2200002020202020202020202020202020202EE
+:10C2300002020202020202020202020202020202DE
+:10C2400002020202020202020202020202020202CE
+:10C2500002020202020202020202020202020202BE
+:10C2600002020202020202020202020202020202AE
+:10C27000020202020202020202020202020202029E
+:10C28000020202020202020202020202020202028E
+:10C29000020202020202020202020202020202027E
+:10C2A000020202020202020202020202020202026E
+:10C2B000020202020202020202020202020202025E
+:10C2C0000202020202020202020202020202020050
+:10C2D000000000000000010001000000000000015B
+:10C2E000020202020001020202010100000000013C
+:10C2F000010101010101010101010101010101022D
+:10C30000020202020202020202020202020202020D
+:10C3100002020202020202020202020202020202FD
+:10C3200002020202020202020202020202020202ED
+:10C3300002020202020202020202020202020202DD
+:10C3400002020202020202020202020202020202CD
+:10C3500002020202020202020202020202020202BD
+:10C3600002020202020202020202020202020202AD
+:10C37000020202020202020202020202020202029D
+:10C38000020202020202020202020202020202028D
+:10C39000020202020202020202020202020202027D
+:10C3A000020202020202020202020202020202026D
+:10C3B000020202020202020202020202020202025D
+:10C3C000020202020202020202020202020202024D
+:10C3D000020202020202020202020202020202013E
+:10C3E000020202010001020101010100000100013D
+:10C3F000010101010101010101010101010101022C
+:10C40000020202020202020202020202020202020C
+:10C4100002020202020202020202020202020202FC
+:10C4200002020202020202020202020202020202EC
+:10C4300002020202020202020202020202020202DC
+:10C4400002020202020202020202020202020202CC
+:10C4500002020202020202020202020202020202BC
+:10C4600002020202020202020202020202020202AC
+:10C47000020202020202020202020202020202029C
+:10C48000020202020202020202020202020202028C
+:10C49000020202020202020202020202020202027C
+:10C4A000020202020202020202020202020202026C
+:10C4B000020202020202020202020202020202025C
+:10C4C000020202020202020202020202020202024C
+:10C4D000020202020202020202020202020202003E
+:10C4E000020102010002010101010101010100013B
+:10C4F000010101010101010101010101010101022B
+:10C50000020202020202020202020202020202020B
+:10C5100002020202020202020202020202020202FB
+:10C5200002020202020202020202020202020202EB
+:10C5300002020202020202020202020202020202DB
+:10C5400002020202020202020202020202020202CB
+:10C5500002020202020202020202020202020202BB
+:10C5600002020202020202020202020202020202AB
+:10C57000020202020202020202020202020202029B
+:10C58000020202020202020202020202020202028B
+:10C59000020202020202020202020202020202027B
+:10C5A000020202020202020202020202020202026B
+:10C5B000020202020202020202020202020202025B
+:10C5C000020202020202020202020202020202024B
+:10C5D000020202020202020202020202020202003D
+:10C5E0000201010102020101010101010101000139
+:10C5F000010101010101010101010101010101022A
+:10C60000020202020202020202020202020202020A
+:10C6100002020202020202020202020202020202FA
+:10C6200002020202020202020202020202020202EA
+:10C6300002020202020202020202020202020202DA
+:10C6400002020202020202020202020202020202CA
+:10C6500002020202020202020202020202020202BA
+:10C6600002020202020202020202020202020202AA
+:10C67000020202020202020202020202020202029A
+:10C68000020202020202020202020202020202028A
+:10C69000020202020202020202020202020202027A
+:10C6A000020202020202020202020202020202026A
+:10C6B000020202020202020202020202020202025A
+:10C6C000020202020202020202020202020202024A
+:10C6D000020202020202020202020202020202003C
+:10C6E0000102010202020101010101010101000137
+:10C6F0000101010101010101010101010101010229
+:10C700000202020202020202020202020202020209
+:10C7100002020202020202020202020202020202F9
+:10C7200002020202020202020202020202020202E9
+:10C7300002020202020202020202020202020202D9
+:10C7400002020202020202020202020202020202C9
+:10C7500002020202020202020202020202020202B9
+:10C7600002020202020202020202020202020202A9
+:10C770000202020202020202020202020202020299
+:10C780000202020202020202020202020202020289
+:10C790000202020202020202020202020202020279
+:10C7A0000202020202020202020202020202020269
+:10C7B0000202020202020202020202020202020259
+:10C7C0000202020202020202020202020202020249
+:10C7D000020202020202020202020202020202003B
+:10C7E0000102020201010101010101010101000137
+:10C7F0000101010101010101010101010101010129
+:10C80000020101010202020202020202020202010C
+:10C8100002020202020202020202020202020202F8
+:10C8200002020202020202020202020202020200EA
+:10C8300002020202020202020202020202020202D8
+:10C8400002020202020202020202020202020202C8
+:10C8500002020202020202020202020202020202B8
+:10C8600002020202020202020202020202020202A8
+:10C870000202020202020202020202020202020298
+:10C880000202020202020202020202020202020288
+:10C890000202020202020202020202020202020278
+:10C8A0000202020202020202020202020202020268
+:10C8B0000202020202020202020202020202020258
+:10C8C0000202020202020202020202020202020248
+:10C8D000020202020202020202020202020202003A
+:10C8E0000201020201010101010101010101010135
+:10C8F0000101010101010101010101010101010227
+:10C90000020101020101020201020101010202020F
+:10C9100002020201020202020202020202020202F8
+:10C9200002020202020202020202020202020200E9
+:10C9300000000000000202020202020202020202E1
+:10C9400002020202020202020202020202020202C7
+:10C9500002020202020202020202020202020202B7
+:10C9600002020202020202020202020202020202A7
+:10C970000202020202020202020202020202020297
+:10C980000202020202020202020202020202020287
+:10C990000202020202020202020202020202020277
+:10C9A0000202020202020202020202020202020267
+:10C9B0000202020202020202020202020202020257
+:10C9C0000202020202020202020202020202020247
+:10C9D0000202020202020202020202020202020039
+:10C9E0000201010102010101010101010101010135
+:10C9F0000101010101010101010101010101010127
+:10CA0000010202000202010102010202020101010F
+:10CA10000101010201010101010101010101010204
+:10CA200002020202020202020202020202020200E8
+:10CA300000000000000000000000000000000002F4
+:10CA400002020202020202020202020202020202C6
+:10CA500002020202020202020202020202020202B6
+:10CA600002020202020202020202020202020202A6
+:10CA70000202020202020202020202020202020296
+:10CA80000202020202020202020202020202020286
+:10CA90000202020202020202020202020202020276
+:10CAA0000202020202020202020202020202020266
+:10CAB0000202020202020202020202020202020256
+:10CAC0000202020202020202020202020202020246
+:10CAD0000202020202020202020202020202020038
+:10CAE0000101010102010101010100010101010136
+:10CAF0000101010101010101010101010101010126
+:10CB0000020202000101020201020101010202010E
+:10CB100002020201020202020202020202020202F6
+:10CB200002020202020202020202020202020201E6
+:10CB300000000000000000000000000000000002F3
+:10CB400002020202020202020202020202020202C5
+:10CB500002020202020202020202020202020202B5
+:10CB600002020202020202020202020202020202A5
+:10CB70000202020202020202020202020202020196
+:10CB80000101010101010101010101010101010294
+:10CB90000202020202020202020202020202020275
+:10CBA0000202020202020202020202020202020265
+:10CBB0000202020202020202020202020202020255
+:10CBC0000202020202020202020202020202020245
+:10CBD0000202020202020202020202020202020136
+:10CBE0000101010101010100010000010101010138
+:10CBF0000101010101010101010101010101010125
+:10CC00000101010101010101010101010101010114
+:10CC10000101010101010101010101010101010203
+:10CC200002020200020202020202020202020201E7
+:10CC300001010101010000000000000000000001EE
+:10CC400002010102010202020202020202020202C7
+:10CC500002020202020202020202020202020202B4
+:10CC600002020202020202020202020202020202A4
+:10CC70000202020202020202020202020202020195
+:10CC80000101010101010101010101010101010293
+:10CC90000202020202020202020202020202020274
+:10CCA0000202020202020202020202020202020264
+:10CCB0000202020202020202020202020202020254
+:10CCC0000202020202020202020202020202020244
+:10CCD0000202020202020202020202020202020135
+:10CCE0000101010101010000000000010101010139
+:10CCF0000101010101010101010101010101010124
+:10CD00000101010101010101010101010101010113
+:10CD10000101010101010101010101010101010103
+:10CD200002020100010102020202020202020201E9
+:10CD300001010101010101010101010101010102E2
+:10CD400002020201020202020202020202020202C4
+:10CD500002020202020202020202020202020202B3
+:10CD600002020202020202020202020202020202A3
+:10CD70000202020202020202020202020202020293
+:10CD80000202020202020202020202020202020283
+:10CD90000202020202020202020202020202020273
+:10CDA0000202020202020202020202020202020263
+:10CDB0000202020202020202020202020202020253
+:10CDC0000202020202020202020202020202020243
+:10CDD0000202020202020202020202020202020134
+:10CDE0000101010101010000000000010101010138
+:10CDF0000101010101010101010101010101010123
+:10CE00000101010101010101010101010101010112
+:10CE10000101010101010101010101010101010102
+:10CE200001010101010101010101010101010101F2
+:10CE300001010101010101010101010101010101E2
+:10CE400001000002000101010101010101010102D3
+:10CE500002020101010202020202020202020202B5
+:10CE600002020202020202020202020202020202A2
+:10CE70000202020202020202020202020202020292
+:10CE80000202020202020202020202020202020282
+:10CE90000202020202020202020202020202020272
+:10CEA0000202020202020202020202020202020262
+:10CEB0000202020202020202020202020202020252
+:10CEC0000202020202020202020202020202020242
+:10CED0000202020202020202020202020202020133
+:10CEE000010000010100000000000001010101013A
+:10CEF0000101010101010101010101010101010122
+:10CF00000101010101010101010101010101010111
+:10CF10000101010101010101010101010101010101
+:10CF200001010101010101010101010101010101F1
+:10CF300001010101010101010101010101010101E1
+:10CF400002000001000202020202020202020202C8
+:10CF500002020202010202020202020202020202B2
+:10CF600002020202020202020202020202020202A1
+:10CF70000202020202020202020202020202020093
+:10CF8000000000000000000000000000000000029F
+:10CF90000202020202020202020202020202020271
+:10CFA0000202020202020202020202020202020261
+:10CFB0000202020202020202020202020202020251
+:10CFC0000202020202020202020202020202020241
+:10CFD0000202020202020202020202020202020132
+:10CFE000000000000100000000000001010101013B
+:10CFF0000101010101010101010101010101010121
+:10D000000101010101010101010101010101010110
+:10D010000101010101010101010101010101010100
+:10D0200001010101010101010101010101010101F0
+:10D0300001010101010101010101010101010101E0
+:10D0400001010101010101010101010101010101D0
+:10D0500001010000020101010101010101010102C0
+:10D0600002020202020202020202020202020202A0
+:10D070000202020202020202020202020202020092
+:10D08000000000000000000000000000000000029E
+:10D090000202020202020202020202020202020270
+:10D0A0000202020202020202020202020202020260
+:10D0B0000202020202020202020202020202020250
+:10D0C0000202020202020202020202020202020240
+:10D0D0000202020202020202020202020202020131
+:10D0E000000000000000000000000001010101013B
+:10D0F0000101010101010101010101010101010120
+:10D10000010101010101010101010101010101010F
+:10D1100001010101010101010101010101010101FF
+:10D1200001010101010101010101010101010101EF
+:10D1300001010101010101010101010101010101DF
+:10D1400001010101010101010101010101010101CF
+:10D1500002020000020202020202020202020202B3
+:10D1600002000202020202020202020202020201A2
+:10D17000010101010101010101010102010201009E
+:10D18000000000000000000000000000000000029D
+:10D19000020202020202020202020202020202026F
+:10D1A000020202020202020202020202020202025F
+:10D1B000020202020202020202020202020202024F
+:10D1C000020202020202020202020202020202023F
+:10D1D0000202020202020202020202020202020130
+:10D1E000000000000000000000000001010101013A
+:10D1F000010101010101010101010101010101011F
+:10D20000010101010101010101010101010101010E
+:10D2100001010101010101010101010101010101FE
+:10D2200001010101010101010101010101010101EE
+:10D2300001010101010101010101010101010101DE
+:10D2400001010101010101010101010101010101CE
+:10D2500001010101010101010101010101010101BE
+:10D2600001010101010101010101010202020102AA
+:10D270000202020202020202020202010201020092
+:10D28000000000000000000000000000000000029C
+:10D290000202020202020202020202020202020070
+:10D2A000000000000000000000000000000000027C
+:10D2B000020202020202020202020202020202024E
+:10D2C000020202020202020202020202020202023E
+:10D2D000020202020202020202020202020202012F
+:10D2E0000000000000000000000101010101010137
+:10D2F000010101010101010101010101010101011E
+:10D30000010101010101010101010101010101010D
+:10D3100001010101010101010101010101010101FD
+:10D3200001010101010101010101010101010101ED
+:10D3300001010101010101010101010101010101DD
+:10D3400001010101010101010101010101010101CD
+:10D3500001010101010101010101010101010101BD
+:10D3600001010101010101010101010101010100AE
+:10D3700000000000000000000000000200020001A8
+:10D38000010101010101010101010101010101018D
+:10D39000010101010101010101010101010101007E
+:10D3A000000000000000000000000000000000027B
+:10D3B000020202020202020202020202020202024D
+:10D3C000020202020202020202020202020202023D
+:10D3D000020202020202020202020202020202012E
+:10D3E0000000000000000101010101010101010133
+:10D3F000010101010101010101010101010101011D
+:10D40000010101010101010101010101010101010C
+:10D4100001010101010101010101010101010101FC
+:10D4200001010101010101010101010101010101EC
+:10D4300001010101010101010101010101010101DC
+:10D4400001010101010101010101010101010101CC
+:10D4500001010101010101010101010101010101BC
+:10D4600001010101010101010101010101010101AC
+:10D47000010101010101010101010101010101019C
+:10D48000010101010101010101010101010101018C
+:10D49000010101010101010101010101010101007D
+:10D4A000000000000000000000000000000000027A
+:10D4B000020202020202020202020202020202024C
+:10D4C000020202020202020202020202020202023C
+:10D4D0000202020000020202020202020202020131
+:10D4E0000000000000000101010101010101010132
+:10D4F000010101010101010101010101010101011C
+:10D50000010101010101010101010101010101010B
+:10D5100001010101010101010101010101010101FB
+:10D5200001010101010101010101010101010101EB
+:10D5300001010101010101010101010101010101DB
+:10D5400001010101010101010101010101010101CB
+:10D5500001010101010101010101010101010101BB
+:10D5600001010101010101010101010101010101AB
+:10D57000010101010101010101010101010101019B
+:10D58000010101010101010101010101010101018B
+:10D59000010101010101010101010101010101017B
+:10D5A000010101010101010101010101010101006C
+:10D5B0000000000000000000000000000000000269
+:10D5C000020202020202020202020202020202023B
+:10D5D0000202000000020202020202020202020132
+:10D5E0000000000000010101010101010101010130
+:10D5F000010101010101010101010101010101011B
+:10D60000010101010101010101010101010101010A
+:10D6100001010101010101010101010101010101FA
+:10D6200001010101010101010101010101010101EA
+:10D6300001010101010101010101010101010101DA
+:10D6400001010101010101010101010101010101CA
+:10D6500001010101010101010101010101010101BA
+:10D6600001010101010101010101010101010101AA
+:10D67000010101010101010101010101010101019A
+:10D68000010101010101010101010101010101018A
+:10D69000010101010101010101010101010101017A
+:10D6A000010101010101010101010101010101016A
+:10D6B0000101010101010101010101010101010259
+:10D6C000020202020002020202020202020202023C
+:10D6D0000202000000020202020202020202020131
+:10D6E000000101010001010101010101010101012C
+:10D6F000010101010101010101010101010101011A
+:10D700000101010101010101010101010101010109
+:10D7100001010101010101010101010101010101F9
+:10D7200001010101010101010101010101010101E9
+:10D7300001010101010101010101010101010101D9
+:10D7400001010101010101010101010101010101C9
+:10D7500001010101010101010101010101010101B9
+:10D7600001010101010101010101010101010101A9
+:10D770000101010101010101010101010101010199
+:10D780000101010101010101010101010101010189
+:10D790000101010101010101010101010101010179
+:10D7A0000101010101010101010101010101010169
+:10D7B0000101010101010101010101010101010159
+:10D7C000010101010101010101010101010101004A
+:10D7D0000002000000000002000202020202020138
+:10D7E0000101010101010101010101010101010129
+:10D7F0000101010101010101010101010101010119
+:10D800000101010101010101010101010101010108
+:10D8100001010101010101010101010101010101F8
+:10D8200001010101010101010101010101010101E8
+:10D8300001010101010101010101010101010101D8
+:10D8400001010101010101010101010101010101C8
+:10D8500001010101010101010101010101010101B8
+:10D8600001010101010101010101010101010101A8
+:10D870000101010101010101010101010101010198
+:10D880000101010101010101010101010101010188
+:10D890000101010101010101010101010101010178
+:10D8A0000101010101010101010101010101010168
+:10D8B0000101010101010101010101010101010158
+:10D8C0000101010101010101010101010101010049
+:10D8D000000000000000000000020202020202013B
+:10D8E0000101010101010101010101010101010128
+:10D8F0000101010101010101010101010101010118
+:10D900000101010101010101010101010101010107
+:10D9100001010101010101010101010101010101F7
+:10D9200001010101010101010101010101010101E7
+:10D9300001010101010101010101010101010101D7
+:10D9400001010101010101010101010101010101C7
+:10D9500001010101010101010101010101010101B7
+:10D9600001010101010101010101010101010101A7
+:10D970000101010101010101010101010101010197
+:10D980000101010101010101010101010101010187
+:10D990000101010101010101010101010101010177
+:10D9A0000101010101010101010101010101010167
+:10D9B0000101010101010101010101010101010157
+:10D9C0000101010101010101010101010101010048
+:10D9D000000000000000000000020202000202013C
+:10D9E0000101010101010101010101010101010028
+:10D9F0000000000000000000000000000000000027
+:10DA00000000000000000000000000000000000214
+:10DA100002020202020202020202020202020202E6
+:10DA200002020202020202020202020202020202D6
+:10DA300002020202020202020202020202020202C6
+:10DA400002020202020202020202020202020202B6
+:10DA500002020202020202020202020202020202A6
+:10DA60000202020202020202020202020202020296
+:10DA70000202020202020202020202020202020286
+:10DA80000202020202020202020202020202020276
+:10DA90000202020202020202020202020202020266
+:10DAA0000202020202020202020202020202020256
+:10DAB0000202020202020202020202020202020246
+:10DAC0000202020202020202020202020202020038
+:10DAD000000000000000000000020200000202013D
+:10DAE0000101010101010101010101010101010027
+:10DAF0000000000000000000000000000000000026
+:10DB00000000000000000000000000000000000015
+:10DB10000000000000000000000000000000000005
+:10DB200000000000000000000000000000000002F3
+:10DB300002020202020202020202020202020202C5
+:10DB400002020202020202020202020202020202B5
+:10DB500002020202020202020202020202020202A5
+:10DB60000202020202020202020202020202020295
+:10DB70000202020202020202020202020202020285
+:10DB80000202020202020202020202020202020275
+:10DB90000202020202020202020202020202020265
+:10DBA0000202020202020202020202020202020255
+:10DBB0000202020202020202020202020202020245
+:10DBC0000202020202020202020202020202020037
+:10DBD0000000000000000000000000000002020140
+:10DBE0000101010101010101010101010101010026
+:10DBF0000000000000000000000000000000000025
+:10DC00000000000000000000000000000000000014
+:10DC10000000000000000000000000000000000004
+:10DC200000000000000000000000000000000000F4
+:10DC300000000000000000000000000000000000E4
+:10DC400000000000000000000000000000000000D4
+:10DC500000000000000000000000000000000000C4
+:10DC600000000000000000000000000000000000B4
+:10DC700000000000000000000000000000000002A2
+:10DC80000202020202020202020202020202020274
+:10DC90000202020202020202020202020202020264
+:10DCA0000202020202020202020202020202020254
+:10DCB0000202020202020202020202020202020244
+:10DCC0000202020202020202020202020202020036
+:10DCD0000000000000000000000000000002020040
+:10DCE0000000000000000000000000000000000034
+:10DCF0000000000000000000000000000000000024
+:10DD00000000000000000000000000000000000013
+:10DD10000000000000000000000000000000000003
+:10DD200000000000000000000000000000000000F3
+:10DD300000000000000000000000000000000000E3
+:10DD400000000000000000000000000000000000D3
+:10DD500000000000000000000000000000000000C3
+:10DD600000000000000000000000000000000000B3
+:10DD700000000000000000000000000000000000A3
+:10DD80000000000000000000000000000000000093
+:10DD90000000000000000000000000000000000083
+:10DDA0000000000000000000000000000000000073
+:10DDB0000000000000000000000000000000000063
+:10DDC0000000000000000000000000000000000053
+:10DDD00000000000000000000000000000000052F1
+:10DDE0000000000000000002000002020000020229
+:10DDF000020000020101000100000001000000001B
+:10DE0000010100010001000000000000010001000C
+:10DE100000000000010000000001000001000100FE
+:10DE200000000200000000000000010000010001ED
+:10DE300000000100020000000001000000020001DB
+:10DE400000000100010000000000000000010102CC
+:10DE500000000000000000000000000000000000C2
+:10DE600000000000000000000000000000000000B2
+:10DE700000000000000000000000000000000000A2
+:10DE80000000000000000000000000000000000092
+:10DE90000101000000020100000000000102010178
+:10DEA000000001000100000000000000010101016C
+:10DEB0000000010001000000000000000000000060
+:10DEC000010100010001000000000000000000004E
+:10DED0000000000000000000000000000000000042
+:10DEE0000000000000000002000002020000020228
+:10DEF0000200000201010001010001010101010114
+:10DF00000101010101010001000000000100010008
+:10DF100001010001010100010001000101000100F7
+:10DF200001010102000100000000010000010001E8
+:10DF300001010102020200000001000000020001D4
+:10DF400001010100010000000000000000010102C9
+:10DF500002020002000200000101000000020202B1
+:10DF600000000100010000000000000000000000AF
+:10DF700000000000000000000000000000000000A1
+:10DF8000000000000000000000000000010201018C
+:10DF90000101020002020100000000000102010173
+:10DFA0000101010101010100000000010101010165
+:10DFB0000101010101010100000000000100000257
+:10DFC000010101010101000000000000000000004B
+:10DFD000000000000000000000020202000000003B
+:10DFE0000000000000000002000002020000020227
+:10DFF0000200000202020001010001010101010111
+:10E000000101010101010001000000000101010105
+:10E0100001010101010100010001010101020102F0
+:10E0200001010101010100000000010001010001E6
+:10E0300001010102020200000101000000020201D0
+:10E0400001010100010000000000000000010101C9
+:10E0500002020202020100000101000000020201AE
+:10E0600001010101010100000000000000000000AA
+:10E0700000000000000000000000000000000000A0
+:10E08000000000000000000000000000010201018B
+:10E090000101020002010100000000000102010173
+:10E0A0000101010101010100000000010101010164
+:10E0B0000101010101010100000000000100000256
+:10E0C0000101010101010000000000000101000147
+:10E0D0000000010001000000000202020000000038
+:10E0E0000000000000000002000002020000020226
+:10E0F000020000020202000101010101010101010F
+:10E100000101010101010001000000000101010104
+:10E1100001010101010100010001010101020101F0
+:10E1200001010101010100000000010001010001E5
+:10E1300001010102010100000101000000010101D3
+:10E1400001010100010001000000000100010101C6
+:10E1500001020101010100000101000000020201B1
+:10E1600001010101010100000000000000000000A9
+:10E17000000000000000000000000000000000009F
+:10E180000000000002000000000000000102010188
+:10E190000101020001010100000000000101010174
+:10E1A0000101010101010100000000010101010163
+:10E1B0000101010101010100000000000102020251
+:10E1C0000101010101010000000000000101000146
+:10E1D0000101010101010100000202020000000032
+:10E1E0000000000000000002000002020000020225
+:10E1F000020000020202000101010101010101010E
+:10E200000101010101010101000000000101010102
+:10E2100001010101010100010001010101020101EF
+:10E2200001010101010100000000010001010201E2
+:10E2300001010101010100000101000001010101D2
+:10E2400001010100010001000000000100010101C5
+:10E2500001010101010100000101000000010101B3
+:10E2600001010101010100000000000000000000A8
+:10E27000000000000200000000000000000000009C
+:10E280000000000202020000000000000101010184
+:10E290000101010001010100000000000101010174
+:10E2A0000101010101010100000000010101010162
+:10E2B0000101010101010100000000000102020151
+:10E2C0000101010101010000000000000101020143
+:10E2D0000101010101010100000202020000000031
+:10E2E0000000000000000002000002020000020224
+:10E2F000020000020202000101010101010101010D
+:10E300000101010101010101000000010101010100
+:10E3100001010101010100010001010101010101EF
+:10E3200001010101010101010000010001010201DF
+:10E3300001010101010100000101000001010101D1
+:10E3400001010100010201010000000100010101C1
+:10E3500001010101010100000101000000010101B2
+:10E3600001010101010100000000000000000000A7
+:10E370000000000202020000000000000000000097
+:10E380000000020202020000000000000101010181
+:10E390000101010001010100000000000101010173
+:10E3A0000101010101010100000000010101010161
+:10E3B0000101010101010100000000000101010152
+:10E3C0000101010101010000000000000101010143
+:10E3D000010101010101010001010101010101012E
+:10E3E000010101010101010200000202000002021C
+:10E3F000020000020202000101010101010101010C
+:10E4000001010101010101010000010101010101FE
+:10E4100001010101010100010101010101010101ED
+:10E4200001010101010101010000010001010201DE
+:10E4300001010101010100000101000001010101D0
+:10E4400001010100010201010000000100010101C0
+:10E4500001010101010100000101000000010101B1
+:10E4600001010101010101000000000000000000A5
+:10E470000000000202020000000000000000000096
+:10E48000020002020102000000000000010101017F
+:10E490000101010001010100000000000101010172
+:10E4A000010101010101010000000101010101015F
+:10E4B0000101010101010100000000000101010151
+:10E4C0000101010101010000000000000101010142
+:10E4D000010101010101010001010101010101012D
+:10E4E000010101010101010200000202000002021B
+:10E4F000020000020202000101010101010101010B
+:10E5000001010101010101010000010101010101FD
+:10E5100001010101010100010101010101010101EC
+:10E5200001010101010101010000010001010101DE
+:10E5300001010101010100000101000001010101CF
+:10E5400001010102010201010000000100010101BD
+:10E5500001010101010100000101000001010101AF
+:10E5600001010101010101000000000000000000A4
+:10E570000200000201020000000000000000000094
+:10E580000200020101010000000000000101010180
+:10E590000101010001010100000000010101010170
+:10E5A000010101010101010100000101010101015D
+:10E5B0000101010101010100000000000101010150
+:10E5C0000101010101010000000000000101010141
+:10E5D000010101010101010001010101010101012C
+:10E5E000010101010101010200000202000002021A
+:10E5F000020000020202000101010101010101010A
+:10E6000001010101010101010100010101010101FB
+:10E6100001010101010100010101010101010101EB
+:10E6200001010101010101010000010001010101DD
+:10E6300001010101010100000101000001010101CE
+:10E6400001010102010101010000010101010101BB
+:10E6500001010101010100000101000001010101AE
+:10E6600001010101010101000000000000000002A1
+:10E670000200020101010000000000000000000093
+:10E68000020201010101000000000000010101017E
+:10E69000010101000101010000000001010101016F
+:10E6A000010101010101010100000101010101015C
+:10E6B000010101010101010000000000010101014F
+:10E6C000010101010101010000000100010101013E
+:10E6D000010101010101010001010101010101012B
+:10E6E0000101010101010102000002020000020219
+:10E6F0000200000202020001010101010101010109
+:10E7000001010101010101010100010101010101FA
+:10E7100001010101010101010101010101010101E9
+:10E7200001010101010101010000010001010101DC
+:10E7300001010101010101000101000001010101CC
+:10E7400001010102010101010000010101010101BA
+:10E7500001010101010101000101000001010101AC
+:10E7600001010101010101000000000000000002A0
+:10E77000020202010101000000000000000000028E
+:10E78000010201010101000000000000010101017E
+:10E79000010101020101010000000001010101016C
+:10E7A000010101010101010100000101010101015B
+:10E7B000010101010101010000000000010101014E
+:10E7C000010101010101010000000100010101013D
+:10E7D000010101010101010001010101010101012A
+:10E7E0000101010101010102000002020000020218
+:10E7F0000200000202020002010101010101010107
+:10E8000001010101010101010101010101010101F8
+:10E8100001010101010101010101010101010101E8
+:10E8200001010101010101010001010001010101DA
+:10E8300001010101010101000101000001010101CB
+:10E8400001010101010101010100010101010101B9
+:10E8500001010101010101010101000001010101AA
+:10E86000010101010101010000000000000000029F
+:10E87000010202010101000000000000000000028E
+:10E88000010201010101000000000001010101017C
+:10E89000010101010101010000000001010101016C
+:10E8A0000101010101010101000101010101010159
+:10E8B000010101010101010000000000010101014D
+:10E8C000010101010101010000000100010101013C
+:10E8D0000101010101010100000000000000000031
+:10E8E000000000000000010200000202000002021D
+:10E8F0000200000202020002010101010101010106
+:10E9000001010101010101010101010101010101F7
+:10E9100001010101010101010101010101010101E7
+:10E9200001010101010101010001010101010101D8
+:10E9300001010101010101010101000001010101C9
+:10E9400001010101010101010100010101010101B8
+:10E9500001010101010101010101000001010101A9
+:10E96000010101010101010000000000000000019F
+:10E97000010201010101000000000000000002028C
+:10E98000010101010101000000000001010101017C
+:10E99000010101010101010000000001010101016B
+:10E9A0000101010101010101000101010101010158
+:10E9B000010101010101010000000000010101014C
+:10E9C000010101010101010000000100010101013B
+:10E9D0000101010101010100000000000000000030
+:10E9E000000000000000010200000202000002021C
+:10E9F0000200000202020002010101010101010105
+:10EA000001010101010101010101010101010101F6
+:10EA100001010101010101010101010101010101E6
+:10EA200001010101010101010001010101010101D7
+:10EA300001010101010101010101010001010101C7
+:10EA400001010101010101010100010101010101B7
+:10EA500001010101010101010101000001010101A8
+:10EA6000010101010101010000000000000002019C
+:10EA7000010101010101000000000000000002018D
+:10EA8000010101010101000000000001010101017B
+:10EA90000101010101010100000100010101010169
+:10EAA0000101010101010101010101010101010156
+:10EAB000010101010101010000000000010101014B
+:10EAC000010101010101010000000100010101013A
+:10EAD000010101010101010000000000000000002F
+:10EAE000000000000000010200000202000002021B
+:10EAF0000200000202020002010101010101010104
+:10EB000001010101010101010101010101010101F5
+:10EB100001010101010101010101010101010101E5
+:10EB200001010101010101010001010101010101D6
+:10EB300001010101010101010101010101010101C5
+:10EB400001010101010101010100010101010101B6
+:10EB500001010101010101010101000001010101A7
+:10EB6000010101010101010000000000000002019B
+:10EB7000010101010101000000000000000202018A
+:10EB8000010101010101000000000001010101017A
+:10EB90000101010101010100000100010101010168
+:10EBA0000101010101010101010101010101010155
+:10EBB000010101010101010000000000010101014A
+:10EBC0000101010101010100000001000101010139
+:10EBD000010101010101010000000000000000002E
+:10EBE000000000000000010200000202000002021A
+:10EBF0000200000202020002020101010101010102
+:10EC000001010101010101010101010101010101F4
+:10EC100001010101010101010101010101010101E4
+:10EC200001010101010101010101010101010101D4
+:10EC300001010101010101010101010101010101C4
+:10EC400001010101010101010100010101010101B5
+:10EC500001010101010101010101000101010101A5
+:10EC6000010101010101010000000000000002019A
+:10EC7000010101010101000000000000000201018A
+:10EC80000101010101010000000000010101010179
+:10EC90000101010101010100000101010101010166
+:10ECA0000101010101010101010101010101010154
+:10ECB0000101010101010100000000000101010149
+:10ECC0000101010101010100000001000101010138
+:10ECD000010101010101010000000000000000002D
+:10ECE0000000000000000102000002020000020219
+:10ECF00002000002020200020201020201010101FF
+:10ED000001010101010101010101010101010101F3
+:10ED100001010101010101010101010101010101E3
+:10ED200001010101010101010101010101010101D3
+:10ED300001010101010101010101010101010101C3
+:10ED400001010101010101010100010101010101B4
+:10ED500001010101010101010101000101010101A4
+:10ED60000101010101010101000000000000010199
+:10ED70000101010101010000000000000102010188
+:10ED80000101010101010000000001010101010177
+:10ED90000101010101010101000101010101010164
+:10EDA0000101010101010101010101010101010153
+:10EDB0000101010101010100000000000101010148
+:10EDC0000101010101010100000001000101010137
+:10EDD000010101010101010000000000000000002C
+:10EDE0000000000000000102000002020000020218
+:10EDF00002000002020200020202020201010101FD
+:10EE000001010101010101020101010101010101F1
+:10EE100001010101010101010101010101010101E2
+:10EE200001010101010101010101010101010101D2
+:10EE300001010101010101010101010101010101C2
+:10EE400001010101010101010100010101010101B3
+:10EE500001010101010101010101000101010101A3
+:10EE60000101010101010101000000000002010196
+:10EE70000101010101010000000000000101010188
+:10EE80000101010101010000000001010101010176
+:10EE90000101010101010101000101010101010163
+:10EEA0000101010101010101010101010101010152
+:10EEB0000101010101010100000000000101010147
+:10EEC0000101010101010100000001000101010136
+:10EED000010101010101010000000000000000002B
+:10EEE0000000000000000102000002020000020217
+:10EEF00002000002020200020202020201010101FC
+:10EF000001010101010101020101010101010101F0
+:10EF100001010101010101020101010101010101E0
+:10EF200001010101010101010101010101010101D1
+:10EF300001010101010101010101010101010101C1
+:10EF400001010101010101010100010101010101B2
+:10EF500001010101010101010101010101010101A1
+:10EF60000101010101010101000000000002010195
+:10EF70000101010101010000000000000101010187
+:10EF80000101010101010000000101010101010174
+:10EF90000101010101010101000101010101010162
+:10EFA0000101010101010101010101010101010151
+:10EFB0000101010101010100000000000101010146
+:10EFC0000101010101010100000001010101010134
+:10EFD000010101010101010000000000000000002A
+:10EFE0000000000000000102000002020000020216
+:10EFF00002000002020200020202020201020101FA
+:10F0000001010101010101020101010101010101EF
+:10F0100001010101010101020101010101010101DF
+:10F0200001010101010101010101010101010101D0
+:10F0300001010101010101010101010101010101C0
+:10F0400001010101010101010100010101010101B1
+:10F0500001010101010101010101010101010101A0
+:10F060000101010101010101000001000002010193
+:10F070000101010101010000000000000101010186
+:10F080000101010101010100000101010101010172
+:10F090000101010101010101010101010101010160
+:10F0A0000101010101010101010101010101010150
+:10F0B0000101010101010100000000000101010145
+:10F0C0000101010101010100000001010101010133
+:10F0D0000101010101010100000000000000000029
+:10F0E0000000000000000102000002020000020215
+:10F0F00002000002020200020202020202020101F8
+:10F1000001010101010101020101010101010101EE
+:10F1100001010101010101020101010101010101DE
+:10F1200001010101010101010101010101010101CF
+:10F1300001010101010101010101010101010101BF
+:10F1400001010101010101010100010101010101B0
+:10F15000010101010101010101010101010101019F
+:10F160000101010101010101000001010001010192
+:10F170000101010101010100000000000101010184
+:10F180000101010101010100000101010101010171
+:10F19000010101010101010101010101010101015F
+:10F1A000010101010101010101010101010101014F
+:10F1B0000101010101010100000000000101010144
+:10F1C0000101010101010100000001010101010132
+:10F1D0000101010101010100000000000000000028
+:10F1E0000000000001010102000002020000020212
+:10F1F00002000002020200020202020202020201F6
+:10F2000001020101010101020101010101010101EC
+:10F2100001010101010101020101010101010101DD
+:10F2200001010101010101010101010101010101CE
+:10F2300001010101010101010101010101010101BE
+:10F2400001010101010101010101010101010101AE
+:10F25000010101010101010101010101010101019E
+:10F260000101010101010101000001010101010190
+:10F270000101010101010100000000000101010183
+:10F280000101010101010100000101010101010170
+:10F29000010101010101010101010101010101015E
+:10F2A000010101010101010101010101010101014E
+:10F2B0000101010101010100000000000101010143
+:10F2C0000101010101010100000001010101010131
+:10F2D0000101010101010100000000000000000126
+:10F2E000000101010101010200000202000002020E
+:10F2F00002000002020200020202020202020202F4
+:10F3000001020101010101020101010101010101EB
+:10F3100001010101010101020101010101010101DC
+:10F3200001010101010101010101010101010101CD
+:10F3300001010101010101010101010101010101BD
+:10F3400001010101010101010101010101010101AD
+:10F35000010101010101010101010101010101019D
+:10F36000010101010101010100000101010101018F
+:10F370000101010101010100000001000101010181
+:10F38000010101010101010001010101010101016E
+:10F39000010101010101010101010101010101015D
+:10F3A000010101010101010101010101010101014D
+:10F3B0000101010101010100000000000101010142
+:10F3C000010101010101010100000101010101012F
+:10F3D0000101010101010100000000000000000125
+:10F3E000010101010101010200000202000002020C
+:10F3F00002000002020200020202020202020202F3
+:10F4000002020102010101020101010101010101E8
+:10F4100001010101010101020102010101010101DA
+:10F4200001010101010101010101010101010101CC
+:10F4300001010101010101010101010101010101BC
+:10F4400001010101010101010101010101010101AC
+:10F45000010101010101010101010101010101019C
+:10F46000010101010101010100010101010101018D
+:10F470000101010101010100000001000101010180
+:10F48000010101010101010001010101010101016D
+:10F49000010101010101010101010101010101015C
+:10F4A000010101010101010101010101010101014C
+:10F4B0000101010101010100000000010101010140
+:10F4C000010101010101010100000101010101012E
+:10F4D0000101010101010100000000000000000124
+:10F4E000010101010101010200000202000002020B
+:10F4F00002000002020200020202020202020202F2
+:10F5000002020202010101020101010101010101E6
+:10F5100001010101010101020102020201010101D7
+:10F5200001010101010101020101010101010101CA
+:10F5300001010101010101010101010101010101BB
+:10F5400001010101010101020101010101010101AA
+:10F55000010101010101010101010101010101019B
+:10F56000010101010101010100010101010101018C
+:10F57000010101010101010000010100010101017E
+:10F58000010101010101010001010101010101016C
+:10F59000010101010101010101010101010101015B
+:10F5A000010101010101010101010101010101014B
+:10F5B000010101010101010000000101010101013E
+:10F5C000010101010101010100000101010101012D
+:10F5D0000101010101010100000000000000000123
+:10F5E000010101010101010200000202000002020A
+:10F5F00002000002020200020202020202020202F1
+:10F6000002020202020201020101010101010101E3
+:10F6100001010101010101020202020201010101D5
+:10F6200001010101010101020101010101010101C9
+:10F6300001010101010101010101010101010101BA
+:10F6400001010101010101020101010101010101A9
+:10F65000010101010101010101010101010101019A
+:10F66000010101010101010101010101010101018A
+:10F67000010101010101010000010100010101017D
+:10F68000010101010101010001010101010101016B
+:10F69000010101010101010101010101010101015A
+:10F6A000010101010101010101010101010101014A
+:10F6B000010101010101010000000101010101013D
+:10F6C000010101010101010100000101010101012C
+:10F6D0000101010101010100000100010000000120
+:10F6E0000101010101010102000002020000020209
+:10F6F00002000002020200020202020202020202F0
+:10F7000002020202020201020201020202020201DC
+:10F7100001010101010101020202020201010101D4
+:10F7200001010101010101020101020101010101C7
+:10F7300001010101010101010202010101010101B7
+:10F7400001010101010101020101010101010101A8
+:10F750000101010101010101020101010101010198
+:10F760000101010101010101010101010101010189
+:10F77000010101010101010000010100010101017C
+:10F78000010101010101010001010101010101016A
+:10F790000101010101010101010101010101010159
+:10F7A0000101010101010101010101010101010149
+:10F7B000010101010101010000000101010101013C
+:10F7C000010101010101010100000101010101012B
+:10F7D000010101010101010000010001000000011F
+:10F7E0000101010101010102000002020000020208
+:10F7F00002000002020200020202020202020202EF
+:10F8000002020202020202020201020202020201DA
+:10F8100001010101010101020202020202010201D1
+:10F8200001010101010101020101020101010101C6
+:10F8300001010101010101010202010101010101B6
+:10F8400001010101010101020101010101010101A7
+:10F850000101010101010101020201010101010196
+:10F860000101010101010101010101010101010188
+:10F87000010101010101010000010100010101017B
+:10F880000101010101010100010101010101010169
+:10F890000101010101010101010101010101010158
+:10F8A0000101010101010101010101010101010148
+:10F8B000010101010101010000000101010101013B
+:10F8C000010101010101010100000101010101012A
+:10F8D000010101010101010000010001000000011E
+:10F8E0000101010101010102000002020000020207
+:10F8F00002000002020200020202020202020202EE
+:10F9000002020202020202020202020202020201D8
+:10F9100001020101010101020202020202010201CF
+:10F9200001010101010101020101020101020101C4
+:10F9300001010101010101020202010101010101B4
+:10F9400001010101010101020101010201020101A4
+:10F950000101010101010102020201010101010194
+:10F960000101010101010101010101010101010187
+:10F970000101010101010100010101000101010179
+:10F980000101010101010100010101010101010168
+:10F990000101010101010101010101010101010157
+:10F9A0000101010101010101010101010101010147
+:10F9B000010101010101010000000101010101013A
+:10F9C0000101010101010101000001010101010129
+:10F9D000010101010101010000010001000000011D
+:10F9E0000101010101010102000002020000020206
+:10F9F00002000002020200020202020202020202ED
+:10FA000002020202020202020202020202020202D6
+:10FA100002020101010101020202020202010201CD
+:10FA200001020101010101020101020101020101C2
+:10FA300001010101010101020202010101010101B3
+:10FA400001010101010101020101010201020201A2
+:10FA50000101010101010102020201010101010193
+:10FA60000101010101010101010101010101010186
+:10FA70000101010101010100010101010101010177
+:10FA80000101010101010101010101010101010166
+:10FA90000101010101010101010101010101010156
+:10FAA0000101010101010101010101010101010146
+:10FAB0000101010101010100000001010101010139
+:10FAC0000101010101010101000001010101010128
+:10FAD000010101010101010000010101000000011B
+:10FAE0000101010101010102000001010000020207
+:10FAF00002000002020200020202020202020202EC
+:10FB000002020202020202020202020202020202D5
+:10FB100002020202020101020202020202010201C9
+:10FB200002020101010101020101020101020101C0
+:10FB300001010101010101020202010101010101B2
+:10FB4000010101010101010202010202010202019F
+:10FB50000101010101010102020201010101010192
+:10FB60000101010101010101010101010101010185
+:10FB70000101010101010100010101010101010176
+:10FB80000101010101010101010101010101010165
+:10FB90000101010101010101010101010101010155
+:10FBA0000101010101010102010101010101010144
+:10FBB0000101010101010100010101010101010136
+:10FBC0000101010101010101000001010101010127
+:10FBD000010101010101010000010101000000011A
+:10FBE0000101010101010102000001010000010108
+:10FBF00002000001020200020202020202020202EC
+:10FC000002020202020202020202020202020202D4
+:10FC100002020202020201020202020202020202C5
+:10FC200002020201010101020101020102020102BC
+:10FC300001010101010101020202010101010102B0
+:10FC4000010101010101010202010202010202019E
+:10FC50000101010101010102020201010101010191
+:10FC60000101010101010101010101010101010184
+:10FC70000101010101010100010101010101010175
+:10FC80000101010101010101010101010101010164
+:10FC90000101010101010101010101010201020152
+:10FCA0000101010101010102010101020101010142
+:10FCB0000101010101010101010101010101010134
+:10FCC0000101010101010101000001010101010126
+:10FCD0000101010101010100000101010000000119
+:10FCE0000101010101010102000001010000020106
+:10FCF00001000001020200020202020202020202EC
+:10FD000002020202020202020202020202020202D3
+:10FD100002020202020201020202020202020202C4
+:10FD200002020202020201020102020102020102B7
+:10FD300002020201010101020202010102020202A9
+:10FD4000020202010101010202010202010202019A
+:10FD50000101010101010102020201010101010190
+:10FD60000101010101010102010101010101010182
+:10FD70000101010101010100010101010101010174
+:10FD80000101010101010101010101010101010163
+:10FD9000010101010101010201010102020102024E
+:10FDA0000101010101010102010101020102010140
+:10FDB0000101010101010101010101010101010133
+:10FDC0000101010101010101000001010101010125
+:10FDD0000101010101010100000101010000000118
+:10FDE0000101010101010102000001010000010106
+:10FDF00001000001020100020202020202020202EC
+:10FE000002020202020202020202020202020202D2
+:10FE100002020202020201020202020202020202C3
+:10FE200002020202020201020202020202020102B4
+:10FE300002020201010101020202020102020202A7
+:10FE40000202020102010102020102020102020297
+:10FE5000010101010101010202020101010201028D
+:10FE6000020202010101010201010101010101017E
+:10FE70000101010101010100010101010101010173
+:10FE80000101010101010101010101010101010162
+:10FE9000010101010101010201010102020202024C
+:10FEA0000202020101010102010102020202020139
+:10FEB0000101010101010101010101010101010132
+:10FEC0000101010101010101000101010101010123
+:10FED0000101010101010100000001010000000118
+:10FEE0000101010101010101000002020000010104
+:10FEF00001000001010100020202020202020202EC
+:10FF000002020202020202020202020202020202D1
+:10FF100002020202020201020202020202020202C2
+:10FF200002020202020202020202020202020102B2
+:10FF300002020201010101020202020202020202A5
+:10FF40000202020102010102020102020202020295
+:10FF50000201020101010102020201010202020288
+:10FF6000020202020201010201010101010101017B
+:10FF70000101010101010100010101010101010172
+:10FF8000010101010101010101010101020102015F
+:10FF9000010101010101010201020102020202024A
+:10FFA0000202020202010102010102020202020235
+:10FFB0000101010101010101010101010101010131
+:10FFC0000101010101010101000101010101010122
+:10FFD0000101010101010100000001000000000118
+:10FFE0000101010101010101000002020000010103
+:10FFF00001000001010100020202020202020202EB
+:020000040012E8
+:1000000002020202020202020202020202020202D0
+:1000100002020202020201020202020202020202C1
+:1000200002020202020202020202020202020102B1
+:1000300002020201010101020202020202020202A4
+:100040000202020102010202020102020202020293
+:100050000202020202020102020201020202020282
+:100060000202020202020102010101010101010179
+:100070000101010101010100010101010101010171
+:10008000010101010101010101010101020102025D
+:100090000202010101010102010202020202020246
+:1000A0000202020202020202020202020202020230
+:1000B000020202010101010101010101020101012C
+:1000C000010101010101010101010101010201011F
+:1000D0000101010101010100000000000000000118
+:1000E0000101010101010101000002020000010102
+:1000F00001000001010100020202020202020202EA
+:1001000002020202020202020202020202020202CF
+:1001100002020202020202020202020202020202BF
+:1001200002020202020202020202020202020202AF
+:1001300002020201010101020202020202020202A3
+:100140000202020102010202020102020202020292
+:100150000202020202020102020202020202020280
+:100160000202020202020102010101010101010178
+:100170000101010101010100010101010101010170
+:10018000010101010101010101010102020202025A
+:100190000202010101010102020202020202020244
+:1001A000020202020202020202020202020202022F
+:1001B0000202020202010101010101010201010129
+:1001C000020201010101010101010201020201011A
+:1001D0000101010101010100000000000000000018
+:1001E0000100010101010101000002020000010102
+:1001F00001000001010100020202020202020202E9
+:1002000002020202020202020202020202020202CE
+:1002100002020202020202020202020202020202BE
+:1002200002020202020202020202020202020202AE
+:10023000020202020202010202020202020202029F
+:100240000202020102010202020202020202020290
+:10025000020202020202010202020202020202027F
+:100260000202020202020202010102010101010175
+:10027000010101010101010001010101010101016F
+:100280000101010101010101010101020202020259
+:100290000202010101010202020202020202020242
+:1002A000020202020202020202020202020202022E
+:1002B0000202020202020201010101010202010125
+:1002C0000202020201010101010102010202010216
+:1002D0000101010101010100000000000000000017
+:1002E0000000010101010002000001010000010104
+:1002F00001000001010100020202020202020202E8
+:1003000002020202020202020202020202020202CD
+:1003100002020202020202020202020202020202BD
+:1003200002020202020202020202020202020202AD
+:10033000020202020202010202020202020202029E
+:10034000020202010201020202020202020202028F
+:10035000020202020202020202020202020202027D
+:100360000202020202020202010102020101010173
+:10037000010101010101010001010101010101016E
+:100380000101010101010101010102020202020257
+:100390000202010101010202020202020202020241
+:1003A000020202020202020202020202020202022D
+:1003B0000202020202020201010101010202020123
+:1003C0000202020202020101010102010202020212
+:1003D0000202020101010100000000000000000013
+:1003E0000000000101010002000001010000010104
+:1003F00001000001010100020202020202020202E7
+:1004000002020202020202020202020202020202CC
+:1004100002020202020202020202020202020202BC
+:1004200002020202020202020202020202020202AC
+:10043000020202020202020202020202020202029C
+:10044000020202010201020202020202020202028E
+:10045000020202020202020202020202020202027C
+:100460000202020202020202020202020101010170
+:10047000010101010101010001010201010101016C
+:100480000101010101010101010202020202020255
+:10049000020202010202020202020202020202023D
+:1004A000020202020202020202020202020202022C
+:1004B0000202020202020201010101010202020221
+:1004C0000202020202020102010102010202020210
+:1004D0000202020202010100000000000000000010
+:1004E0000000000101010002000001010000010103
+:1004F00001000001010100020202020202020202E6
+:1005000002020202020202020202020202020202CB
+:1005100002020202020202020202020202020202BB
+:1005200002020202020202020202020202020202AB
+:10053000020202020202020202020202020202029B
+:10054000020202020202020202020202020202028B
+:10055000020202020202020202020202020202027B
+:10056000020202020202020202020202010101026E
+:100570000201010202010100010202010201010166
+:10058000020102020201010102020202020202024F
+:10059000020202010202020202020202020202023C
+:1005A000020202020202020202020202020202022B
+:1005B0000202020202020201010101010202020220
+:1005C000020202020202010201010201020202020F
+:1005D000020202020202020000000000000000000D
+:1005E0000000000101010002000001010000010102
+:1005F00001000201010100020202020202020202E3
+:1006000002020202020202020202020202020202CA
+:1006100002020202020202020202020202020202BA
+:1006200002020202020202020202020202020202AA
+:10063000020202020202020202020202020202029A
+:10064000020202020202020202020202020202028A
+:10065000020202020202020202020202020202027A
+:10066000020202020202020202020202010102026C
+:10067000020202020202010002020201020202025E
+:10068000020202020202010202020202020202024B
+:10069000020202020202020202020202020202023A
+:1006A000020202020202020202020202020202022A
+:1006B000020202020202020101010101020202021F
+:1006C000020202020202010201010202020202020D
+:1006D000020202020202020000000000000000000C
+:1006E0000000000000010001000001010000010104
+:1006F00001000201010100020202020202020202E2
+:1007000002020202020202020202020202020202C9
+:1007100002020202020202020202020202020202B9
+:1007200002020202020202020202020202020202A9
+:100730000202020202020202020202020202020299
+:100740000202020202020202020202020202020289
+:100750000202020202020202020202020202020279
+:100760000202020202020202020202020202020269
+:10077000020202020202010002020201020202025D
+:10078000020202020202010202020202020202024A
+:100790000202020202020202020202020202020239
+:1007A0000202020202020202020202020202020229
+:1007B000020202020202020101010101020202021E
+:1007C000020202020202020201010202020202020B
+:1007D000020202020202020000000000000000000B
+:1007E0000000000000010001000001010000010103
+:1007F00001000201010100020202020202020202E1
+:1008000002020202020202020202020202020202C8
+:1008100002020202020202020202020202020202B8
+:1008200002020202020202020202020202020202A8
+:100830000202020202020202020202020202020298
+:100840000202020202020202020202020202020288
+:100850000202020202020202020202020202020278
+:100860000202020202020202020202020202020268
+:10087000020202020202010102020201020202025B
+:100880000202020202020102020202020202020249
+:100890000202020202020202020202020202020238
+:1008A0000202020202020202020202020202020228
+:1008B000020202020202020201010202020202021A
+:1008C000020202020202020201010202020202020A
+:1008D0000202020202020200000000000100010008
+:1008E0000000000000010001000001010000010102
+:1008F00001000201010100020202020202020202E0
+:1009000002020202020202020202020202020202C7
+:1009100002020202020202020202020202020202B7
+:1009200002020202020202020202020202020202A7
+:100930000202020202020202020202020202020297
+:100940000202020202020202020202020202020287
+:100950000202020202020202020202020202020277
+:100960000202020202020202020202020202020267
+:100970000202020202020101020202020202020259
+:100980000202020202020102020202020202020248
+:100990000202020202020202020202020202020237
+:1009A0000202020202020202020202020202020227
+:1009B0000202020202020202010102020202020219
+:1009C0000202020202020202010102020202020209
+:1009D0000202020202020200000000000100010007
+:1009E00000000000000100010000010102000101FF
+:1009F00001000101010100020202020202020202E0
+:100A000002020202020202020202020202020202C6
+:100A100002020202020202020202020202020202B6
+:100A200002020202020202020202020202020202A6
+:100A30000202020202020202020202020202020296
+:100A40000202020202020202020202020202020286
+:100A50000202020202020202020202020202020276
+:100A60000202020202020202020202020202020266
+:100A70000202020202020201020202020202020257
+:100A80000202020202020202020202020202020246
+:100A90000202020202020202020202020202020236
+:100AA0000202020202020202020202020202020226
+:100AB0000202020202020202020102020202020217
+:100AC0000202020202020202010102020202020208
+:100AD0000202020202020200000000000101010005
+:100AE00000000000000000010000010102000101FF
+:100AF00001000101010100020202020202020202DF
+:100B000002020202020202020202020202020202C5
+:100B100002020202020202020202020202020202B5
+:100B200002020202020202020202020202020202A5
+:100B30000202020202020202020202020202020295
+:100B40000202020202020202020202020202020285
+:100B50000202020202020202020202020202020275
+:100B60000202020202020202020202020202020265
+:100B70000202020202020201020202020202020256
+:100B80000202020202020202020202020202020245
+:100B90000202020202020202020202020202020235
+:100BA0000202020202020202020202020202020225
+:100BB0000202020202020202020202020202020215
+:100BC0000202020202020202010102020202020207
+:100BD0000202020202020200000000000101010004
+:100BE00000000000000000010000010102000101FE
+:100BF00001020101010100020202020202020202DC
+:100C000002020202020202020202020202020202C4
+:100C100002020202020202020202020202020202B4
+:100C200002020202020202020202020202020202A4
+:100C30000202020202020202020202020202020294
+:100C40000202020202020202020202020202020284
+:100C50000202020202020202020202020202020274
+:100C60000202020202020202020202020202020264
+:100C70000202020202020202020202020202020254
+:100C80000202020202020202020202020202020244
+:100C90000202020202020202020202020202020234
+:100CA0000202020202020202020202020202020224
+:100CB0000202020202020202020202020202020214
+:100CC0000202020202020202010102020202020206
+:100CD0000202020202020200000000000101010003
+:100CE00000000000000000010000010102000101FD
+:100CF00001020101010100020202020202020202DB
+:100D000002020202020202020202020202020202C3
+:100D100002020202020202020202020202020202B3
+:100D200002020202020202020202020202020202A3
+:100D30000202020202020202020202020202020293
+:100D40000202020202020202020202020202020283
+:100D50000202020202020202020202020202020273
+:100D60000202020202020202020202020202020263
+:100D70000202020202020202020202020202020253
+:100D80000202020202020202020202020202020243
+:100D90000202020202020202020202020202020233
+:100DA0000202020202020202020202020202020223
+:100DB0000202020202020202020202020202020213
+:100DC0000202020202020202020202020202020203
+:100DD0000202020202020200000000000101010002
+:100DE00000000000000000010000010101000101FD
+:100DF00001010201010100020202020202020202DA
+:100E000002020202020202020202020202020202C2
+:100E100002020202020202020202020202020202B2
+:100E200002020202020202020202020202020202A2
+:100E30000202020202020202020202020202020292
+:100E40000202020202020202020202020202020282
+:100E50000202020202020202020202020202020272
+:100E60000202020202020202020202020202020262
+:100E70000202020202020202020202020202020252
+:100E80000202020202020202020202020202020242
+:100E90000202020202020202020202020202020232
+:100EA0000202020202020202020202020202020222
+:100EB0000202020202020202020202020202020212
+:100EC0000202020202020202020202020202020202
+:100ED0000202020202020200000000000101010001
+:100EE00000000000000000010000010101000101FC
+:100EF00001010201010100020202020202020202D9
+:100F000002020202020202020202020202020202C1
+:100F100002020202020202020202020202020202B1
+:100F200002020202020202020202020202020202A1
+:100F30000202020202020202020202020202020291
+:100F40000202020202020202020202020202020281
+:100F50000202020202020202020202020202020271
+:100F60000202020202020202020202020202020261
+:100F70000202020202020202020202020202020251
+:100F80000202020202020202020202020202020241
+:100F90000202020202020202020202020202020231
+:100FA0000202020202020202020202020202020221
+:100FB0000202020202020202020202020202020211
+:100FC0000202020202020202020202020202020201
+:100FD0000202020202020200000000000101010000
+:100FE00000000000000000010002010101000101F9
+:100FF00001010201010100000202020202020202DA
+:1010000002020202020202020202020202020202C0
+:1010100002020202020202020202020202020202B0
+:1010200002020202020202020202020202020202A0
+:101030000202020202020202020202020202020290
+:101040000202020202020202020202020202020280
+:101050000202020202020202020202020202020270
+:101060000202020202020202020202020202020260
+:101070000202020202020202020202020202020250
+:101080000202020202020202020202020202020240
+:101090000202020202020202020202020202020230
+:1010A0000202020202020202020202020202020220
+:1010B0000202020202020202020202020202020210
+:1010C0000202020202020202020202020202020200
+:1010D00002020202020202020202020202020202F0
+:1010E00002020202020202010002010101000101EA
+:1010F00001010201010100000000000002020202E1
+:1011000002020202020202020202020202020202BF
+:1011100002020202020202020202020202020202AF
+:10112000020202020202020202020202020202029F
+:10113000020202020202020202020202020202028F
+:10114000020202020202020202020202020202027F
+:10115000020202020202020202020202020202026F
+:10116000020202020202020202020202020202025F
+:10117000020202020202020202020202020202024F
+:10118000020202020202020202020202020202023F
+:10119000020202020202020202020202020202022F
+:1011A000020202020202020202020202020202021F
+:1011B000020202020202020202020202020202020F
+:1011C00002020202020202020202020202020202FF
+:1011D00002020202020202020202020202020202EF
+:1011E00002020202020202010002010102020100E7
+:1011F00001020101010100000000000000000202E4
+:1012000002000202020202020202020202020202C0
+:1012100002020202020202020202020202020202AE
+:10122000020202020202020202020202020202029E
+:10123000020202020202020202020202020202028E
+:10124000020202020202020202020202020202027E
+:10125000020202020202020202020202020202026E
+:10126000020202020202020202020202020202025E
+:10127000020202020202020202020202020202024E
+:10128000020202020202020202020202020202023E
+:10129000020202020202020202020202020202022E
+:1012A000020202020202020202020202020202021E
+:1012B000020202020202020202020202020202020E
+:1012C00002020202020202020202020202020202FE
+:1012D00002020202020202020202020202020202EE
+:1012E00002020202020202010002010102020000E7
+:1012F00001020101010100010000000000000000E6
+:1013000002000200020202020202020202020202C1
+:1013100002020202020202020202020202020202AD
+:10132000020202020202020202020202020202029D
+:10133000020202020202020202020202020202028D
+:10134000020202020202020202020202020202027D
+:10135000020202020202020202020202020202026D
+:10136000020202020202020202020202020202025D
+:10137000020202020202020202020202020202024D
+:10138000020202020202020202020202020202023D
+:10139000020202020202020202020202020202022D
+:1013A000020202020202020202020202020202021D
+:1013B000020202020202020202020202020202020D
+:1013C00002020202020202020202020202020202FD
+:1013D00002020202020202020202020202020202ED
+:1013E00002020202020202010002010102010000E7
+:1013F00000020100010100010101010100000000E3
+:1014000000000000000000020202020202020202CA
+:1014100002020202020202020202020202020202AC
+:10142000020202020202020202020202020202029C
+:10143000020202020202020202020202020202028C
+:10144000020202020202020202020202020202027C
+:10145000020202020202020202020202020202026C
+:10146000020202020202020202020202020202025C
+:10147000020202020202020202020202020202024C
+:10148000020202020202020202020202020202023C
+:10149000020202020202020202020202020202022C
+:1014A000020202020202020202020202020202021C
+:1014B000020202020202020202020202020202020C
+:1014C00002020202020202020202020202020202FC
+:1014D00002020202020202020202020202020202EC
+:1014E00002020202020202010001000002010000E9
+:1014F00000020100010100010101010101010000E0
+:1015000000010000000000020202020202020202C8
+:1015100002020202020202020202020202020202AB
+:10152000020202020202020202020202020202029B
+:10153000020202020202020202020202020202028B
+:10154000020202020202020202020202020202027B
+:10155000020202020202020202020202020202026B
+:10156000020202020202020202020202020202025B
+:10157000020202020202020202020202020202024B
+:10158000020202020202020202020202020202023B
+:10159000020202020202020202020202020202022B
+:1015A000020202020202020202020202020202021B
+:1015B000020202020202020202020202020202020B
+:1015C00002020202020202020202020202020202FB
+:1015D00002020202020202020202020202020202EB
+:1015E00002020202020202010001000001010000E9
+:1015F00000010100010000010101010101010101DF
+:1016000000010001000000020202020202020202C6
+:1016100002020202020202020202020202020202AA
+:10162000020202020202020202020202020202029A
+:10163000020202020202020202020202020202028A
+:10164000020202020202020202020202020202027A
+:10165000020202020202020202020202020202026A
+:10166000020202020202020202020202020202025A
+:10167000020202020202020202020202020202024A
+:10168000020202020202020202020202020202023A
+:10169000020202020202020202020202020202022A
+:1016A000020202020202020202020202020202021A
+:1016B000020202020202020202020202020202020A
+:1016C00002020202020202020202020202020202FA
+:1016D00002020202020202020202020202020202EA
+:1016E00002020202020202000001000001020000E8
+:1016F00001010101010100010101010101010101DB
+:1017000001010101010101000202020202020202C2
+:1017100002020202020202000202020202020202AB
+:101720000202020202020202020202020202020299
+:101730000202020202020202020202020202020289
+:101740000202020202020202020202020202020279
+:101750000202020202020202020202020202020269
+:101760000202020202020202020202020202020259
+:101770000202020202020202020202020202020249
+:101780000202020202020202020202020202020239
+:101790000202020202020202020202020202020229
+:1017A0000202020202020202020202020202020219
+:1017B0000202020202020202020202020202020209
+:1017C00002020202020202020202020202020202F9
+:1017D00002020202020202020202020202020202E9
+:1017E00002020202020202000202000001020001E3
+:1017F00001010101010100010101010101010101DA
+:1018000001010101010101000202020202020202C1
+:1018100002020202020202000202020202020202AA
+:101820000202020202020202020202020202020298
+:101830000202020202020202020202020202020288
+:101840000202020202020202020202020202020278
+:101850000202020202020202020202020202020268
+:101860000202020202020202020202020202020258
+:101870000202020202020202020202020202020248
+:101880000202020202020202020202020202020238
+:101890000202020202020202020202020202020228
+:1018A0000202020202020202020202020202020218
+:1018B0000202020202020202020202020202020208
+:1018C00002020202020202020202020202020202F8
+:1018D00002020202020202020202020202020202E8
+:1018E00002020202020202000202000001020101E1
+:1018F00001010101010100010101010101010101D9
+:1019000001010101010101010202020202020202BF
+:1019100002020202020202000000000002020202B1
+:101920000202020202020202020202020202020297
+:101930000202020202020202020202020202020287
+:101940000202020202020202020202020202020277
+:101950000202020202020202020202020202020267
+:101960000202020202020202020202020202020257
+:101970000202020202020202020202020202020247
+:101980000202020202020202020202020202020237
+:101990000202020202020202020202020202020227
+:1019A0000202020202020202020202020202020217
+:1019B0000202020202020202020202020202020207
+:1019C00002020202020202020202020202020202F7
+:1019D00002020202020202020202020202020202E7
+:1019E00002020202020202000202000001010101E1
+:1019F00001010101010100010101010101010101D8
+:101A000001010101010101010000000000000002CC
+:101A100002000202020202010000000000020002B5
+:101A20000200020202020202020202020202020298
+:101A30000202020202020202020202020202020286
+:101A40000202020202020202020202020202020276
+:101A50000202020202020202020202020202020266
+:101A60000202020202020202020202020202020256
+:101A70000202020202020202020202020202020246
+:101A80000202020202020202020202020202020236
+:101A90000202020202020202020202020202020226
+:101AA0000202020202020202020202020202020216
+:101AB0000202020202020202020202020202020206
+:101AC00002020202020202020202020202020202F6
+:101AD00002020202020202020202020202020202E6
+:101AE00002020202020202000101000001010101E2
+:101AF00001010101010101010101010101010101D6
+:101B000001010101010101010000000000000000CD
+:101B100000000000000002010000000000000000C2
+:101B200000000000000000020202020202020202A3
+:101B30000202020202020202020202020202020285
+:101B40000202020202020202020202020202020275
+:101B50000202020202020202020202020202020265
+:101B60000202020202020202020202020202020255
+:101B70000202020202020202020202020202020245
+:101B80000202020202020202020202020202020235
+:101B90000202020202020202020202020202020225
+:101BA0000202020202020202020202020202020215
+:101BB0000202020202020202020202020202020205
+:101BC00002020202020202020202020202020202F5
+:101BD00002020202020202020202020202020202E5
+:101BE00002020202020202000101000101010101E0
+:101BF00001010001010101010101010101010101D6
+:101C000001010101010101010101010101010100C5
+:101C100000010000000000010101010100000000BE
+:101C200000000000000000020202020202020202A2
+:101C30000202020202020202020202020202020284
+:101C40000202020202020202020202020202020274
+:101C50000202020202020202020202020202020264
+:101C60000202020202020202020202020202020254
+:101C70000202020202020202020202020202020244
+:101C80000202020202020202020202020202020234
+:101C90000202020202020202020202020202020224
+:101CA0000202020202020202020202020202020214
+:101CB0000202020202020202020202020202020204
+:101CC00002020202020202020202020202020202F4
+:101CD00002020202020202020202020202020202E4
+:101CE00002020202020202000201010101010101DD
+:101CF00001010001010101010101010101010101D5
+:101D000001010101010101010101010101010101C3
+:101D100001010101010100010101010101000100B6
+:101D200000010000000000010202020202020202A1
+:101D30000202020202020202020202020202020283
+:101D40000202020202020201020202020202020274
+:101D50000202020202020202020202020202020263
+:101D60000202020202020202020202020202020253
+:101D70000202020202020202020202020202020243
+:101D80000202020202020202020202020202020233
+:101D90000202020202020202020202020202020223
+:101DA0000202020202020202020202020202020213
+:101DB0000202020202020202020202020202020203
+:101DC00002020202020202020202020202020202F3
+:101DD00002020202020202020202020202020202E3
+:101DE00002020202020202010201010100010101DC
+:101DF00001010001010101010101010101010101D4
+:101E000001010101010101010101010101010101C2
+:101E100001010101010101010101010101010101B2
+:101E2000010101010101010100020102020102029E
+:101E30000202020202020202020202020202020282
+:101E40000202020202020202010201010201010277
+:101E50000202020202020202020202020202020262
+:101E60000202020202020202020202020202020252
+:101E70000202020202020202020202020202020242
+:101E80000202020202020202020202020202020232
+:101E90000202020202020202020202020202020222
+:101EA0000202020202020202020202020202020212
+:101EB0000202020202020202020202020202020202
+:101EC00002020202020202020202020202020202F2
+:101ED00002020202020202020202020202020202E2
+:101EE00002020202020202010101010100010101DC
+:101EF00001000001010101010101010101010101D4
+:101F000001010101010101010101010101010101C1
+:101F100001010101010101010101010101010101B1
+:101F200001010101010101010001010101010201A1
+:101F3000010101020202020000000202020202028A
+:101F40000202020202020201020102020102020175
+:101F5000010101010101010000000202020202026E
+:101F60000202020202020202020202020202020251
+:101F70000202020202020202020202020202020241
+:101F80000202020202020202020202020202020231
+:101F90000202020202020202020202020202020221
+:101FA0000202020202020202020202020202020211
+:101FB0000202020202020202020202020202020201
+:101FC00002020202020202020202020202020202F1
+:101FD00002020202020202020202020202020202E1
+:101FE00002020202020202010101010100000101DC
+:101FF00001000001010101010101010101010101D3
+:1020000001010101010101010101010101010101C0
+:1020100001010101010101010101010101010101B0
+:1020200001010101010101010101010101010101A0
+:102030000101010101010100000000000000000099
+:102040000000000200020001010201010201010280
+:102050000202020202020200000000000000000072
+:10206000000000000000000202020202020202025E
+:102070000202020202020202020202020202020240
+:102080000202020202020202020202020202020230
+:102090000202020202020202020202020202020220
+:1020A0000202020202020202020202020202020210
+:1020B0000202020202020202020202020202020200
+:1020C00002020202020202020202020202020202F0
+:1020D00002020202020202020202020202020202E0
+:1020E00002020202020202010100010100000101DC
+:1020F00001000001010101010101010101010101D2
+:1021000001010101010101010101010101010101BF
+:1021100001010101010101010101010101010101AF
+:10212000010101010101010101010101010101019F
+:102130000101010101010100000000000000000098
+:102140000000000000000001010101010101010186
+:102150000101010101010100000000000000000078
+:102160000000000000000002010101010202020261
+:10217000020202020202020202020202020202023F
+:10218000020202020202020202020202020202022F
+:10219000020202020202020202020202020202021F
+:1021A000020202020202020202020202020202020F
+:1021B00002020202020202020202020202020202FF
+:1021C00002020202020202020202020202020202EF
+:1021D00002020202020202020202020202020202DF
+:1021E00002020202020202010100010100000101DB
+:1021F00001000001010101010101010101010101D1
+:1022000001010101010101010101010101010101BE
+:1022100001010101010101010101010101010101AE
+:10222000010101010101010101010101010101019E
+:102230000101010101010101010100000000000094
+:102240000000000000000001010101010101010185
+:102250000101010101010101010100000000000074
+:10226000000000000000000202020202020202025C
+:102270000202020202020202010101020202020241
+:10228000020202020202020202020202020202022E
+:102290000202020202020200000000000000000030
+:1022A000000000000000000202020202020202021C
+:1022B00002020202020202020202020202020202FE
+:1022C00002020202020202020202020202020202EE
+:1022D00002020202020202020202020202020202DE
+:1022E00002020202020202010000010100000101DB
+:1022F00001000001010101010101010101010101D0
+:1023000001010101010101010101010101010101BD
+:1023100001010101010101010101010101010101AD
+:10232000010101010101010101010101010101019D
+:10233000010101010101010101010101010101018D
+:10234000010101000100010101010101010101017F
+:10235000010101010101010101010101010101016D
+:102360000101010101010101000000000101010161
+:102370000101010101010102020202020202020244
+:10238000020202020202020202020202020202022D
+:10239000020202020202020000000000000000002F
+:1023A000000000000000000202020202020202021B
+:1023B00002020202020202020202020202020202FD
+:1023C00002020202020202020202020202020202ED
+:1023D00002020202020202020202020202020202DD
+:1023E00002020202020202010000010100000101DA
+:1023F00001000101010101010101010101010101CE
+:1024000001010101010101010101010101010101BC
+:1024100001010101010101010101010101010101AC
+:10242000010101010101010101010101010101019C
+:10243000010101010101010101010101010101018C
+:10244000010101010101010101010101010101017C
+:10245000010101010101010101010101010101016C
+:10246000010101010101010100000000020202025C
+:102470000202020202020201000000010101010148
+:102480000101010101010102020202020202020233
+:102490000202020002020200000000000000000030
+:1024A000000000000000000202020202020202021A
+:1024B00002020202020202020202020202020202FC
+:1024C00002020202020202020202020202020202EC
+:1024D00002020202020202000002000200000002E8
+:1024E00002020202020202010000010100000101D9
+:1024F00001000101010101010101010101010101CD
+:1025000001010101010101010101010101010101BB
+:1025100001010101010101010101010101010101AB
+:10252000010101010101010101010101010101019B
+:10253000010101010101010101010101010101018B
+:10254000010101010101010101010101010101017B
+:10255000010101010101010101010101010101016B
+:10256000010101010101010101010101010101015B
+:102570000101010101010102000000020202020248
+:10258000020202020202020202020202020202022B
+:102590000202010001010201010101010101010129
+:1025A000010101010101010101010101010101011B
+:1025B0000101010101010102020202020202020202
+:1025C00002020202020202020202020202020202EB
+:1025D00002020202020202000002000200000002E7
+:1025E00002020202020202010000010101000101D7
+:1025F00001010101010101010101010101010101CB
+:1026000001010101010101010101010101010101BA
+:1026100001010101010101010101010101010101AA
+:10262000010101010101010101010101010101019A
+:10263000010101010101010101010101010101018A
+:10264000010101010101010101010101010101017A
+:10265000010101010101010101010101010101016A
+:10266000010101010101010101010101010101015A
+:10267000010101010101010101010101010101014A
+:10268000010101010101010101010101010101013A
+:102690000101020002020101010101010101010128
+:1026A0000101010101010102020202020202020211
+:1026B00002020202020202020202020202020202FA
+:1026C00002020202020202020202020202020202EA
+:1026D00002020202020202000000000000000002EA
+:1026E00002020202020202010000010101000101D6
+:1026F00001010101010101010101010101010101CA
+:1027000001010101010101010101010101010101B9
+:1027100001010101010101010101010101010101A9
+:102720000101010101010101010101010101010199
+:102730000101010101010101010101010101010189
+:102740000101010101010101010101010101010179
+:102750000101010101010101010101010101010169
+:102760000101010101010101010101010101010159
+:102770000101010101010101010101010101010149
+:102780000101010101010101010101010101010139
+:102790000101010101010101010101010101010129
+:1027A0000101010101010101010101010101010119
+:1027B0000101010101010102020202020202020200
+:1027C00002020202020202020202020202020202E9
+:1027D00002020202020202000000000000000002E9
+:1027E00002020202020202010000010101010101D4
+:1027F00001010101010101010101010101010101C9
+:1028000001010101010101010101010101010101B8
+:1028100001010101010101010101010101010101A8
+:102820000101010101010101010101010101010198
+:102830000101010101010101010101010101010188
+:102840000101010101010101010101010101010178
+:102850000101010101010101010101010101010168
+:102860000101010101010101010101010101010158
+:102870000101010101010101010101010101010148
+:102880000101010101010101010101010101010138
+:102890000101010101010101010101010101010128
+:1028A0000101010101010101010101010101010118
+:1028B0000101010101010101010101010101010108
+:1028C00001010101010101020202020202020202EF
+:1028D00002020202020202000000000000000002E8
+:1028E00000000202020202010001010101010101D6
+:1028F00001010101010101010101010101010101C8
+:1029000001010101010101010101010101010101B7
+:1029100001010101010101010101010101010101A7
+:102920000101010101010101010101010101010197
+:102930000101010101010101010101010101010187
+:102940000101010101010101010101010101010177
+:102950000101010101010101010101010101010167
+:102960000101010101010101010101010101010157
+:102970000101010101010101010101010101010147
+:102980000101010101010101010101010101010137
+:102990000101010101010101010101010101010127
+:1029A0000101010101010101010101010101010117
+:1029B0000101010101010101010101010101010107
+:1029C00001010101010101010101010101010101F7
+:1029D00001010101010101000000000000000000F0
+:1029E00000000002020202010001010101010101D7
+:1029F00001010101010101010101010101010101C7
+:102A000001010101010101010101010101010101B6
+:102A100001010101010101010101010101010101A6
+:102A20000101010101010101010101010101010196
+:102A30000101010101010101010101010101010186
+:102A40000101010101010101010101010101010176
+:102A50000101010101010101010101010101010166
+:102A60000101010101010101010101010101010156
+:102A70000101010101010101010101010101010146
+:102A80000101010101010101010101010101010136
+:102A90000101010101010101010101010101010126
+:102AA0000101010101010101010101010101010116
+:102AB0000101010101010101010101010101010106
+:102AC00001010101010101010101010101010101F6
+:102AD00001010101010101000000000000000000EF
+:102AE00000000002020202010101010101010101D5
+:102AF00001010101010101010101010101010101C6
+:102B000001010101010101010101010101010101B5
+:102B100001010101010101010101010101010101A5
+:102B20000101010101010101010101010101010195
+:102B30000101010101010101010101010101010185
+:102B40000101010101010101010101010101010175
+:102B50000101010101010101010101010101010165
+:102B60000101010101010101010101010101010155
+:102B70000101010101010101010101010101010145
+:102B80000101010101010101010101010101010135
+:102B90000101010101010101010101010101010125
+:102BA0000101010101010101010101010101010115
+:102BB0000101010101010101010101010101010105
+:102BC00001010101010101010101010101010101F5
+:102BD00001010101010101000000000000000000EE
+:102BE00000000000000202010101010101010101D8
+:102BF00001010101010101000000000000000000CE
+:102C000000000000000000000000000000000000C4
+:102C100000000000000000020202020202020202A2
+:102C20000202020202020202020202020202020284
+:102C30000202020202020202020202020202020274
+:102C40000202020202020202020202020202020264
+:102C50000202020202020202020202020202020254
+:102C60000202020202020202020202020202020244
+:102C70000202020202020202020202020202020234
+:102C80000202020202020202020202020202020224
+:102C90000202020202020202020202020202020214
+:102CA0000202020202020202020202020202020204
+:102CB00002020202020202020202020202020202F4
+:102CC00002020202020202020202020202020202E4
+:102CD00002020202020202000000000000000000E6
+:102CE00000000000000202010101010101010101D7
+:102CF00001010101010101000000000000000000CD
+:102D000000000000000000000000000000000000C3
+:102D100000000000000000000000000000000000B3
+:102D200000000000000000000000000000000000A3
+:102D30000000000000000000000000000000000093
+:102D40000000000000000002020202020202020271
+:102D50000202020202020202020202020202020253
+:102D60000202020202020202020202020202020243
+:102D70000202020202020202020202020202020233
+:102D80000202020202020202020202020202020223
+:102D90000202020202020202020202020202020213
+:102DA0000202020202020202020202020202020203
+:102DB00002020202020202020202020202020202F3
+:102DC00002020202020202020202020202020202E3
+:102DD00002020202020202000000000000000000E5
+:102DE00000000000000202010101010101010101D6
+:102DF00001010101010101000000000000000000CC
+:102E000000000000000000000000000000000000C2
+:102E100000000000000000000000000000000000B2
+:102E200000000000000000000000000000000000A2
+:102E30000000000000000000000000000000000092
+:102E40000000000000000000000000000000000082
+:102E50000000000000000000000000000000000072
+:102E60000000000000000000000000000000000062
+:102E70000000000000000000000000000000000052
+:102E80000000000000000000000000000000000042
+:102E90000000000000000002020202020202020220
+:102EA0000202020202020202020202020202020202
+:102EB00002020202020202020202020202020202F2
+:102EC00002020202020202020202020202020202E2
+:102ED00002020202020202000000000000000000E4
+:102EE00000000000000002000000000000000000E0
+:102EF00000000000000000000000000000000000D2
+:102F000000000000000000000000000000000000C1
+:102F100000000000000000000000000000000000B1
+:102F200000000000000000000000000000000000A1
+:102F30000000000000000000000000000000000091
+:102F40000000000000000000000000000000000081
+:102F50000000000000000000000000000000000071
+:102F60000000000000000000000000000000000061
+:102F70000000000000000000000000000000000051
+:102F80000000000000000000000000000000000041
+:102F90000000000000000000000000000000000031
+:102FA0000000000000000000000000000000000021
+:102FB0000000000000000000000000000000000011
+:102FC0000000000000000000000000000000000001
+:102FD00000000000000000000000000000000000F1
+:102FE0000000000000000018301200000000002067
+:102FF00047120000000000285B12000000000030B3
+:103000006D120000000000387F1200000000004038
+:103010008F120000000000489E12000000000050C7
+:10302000A812000000000058B2120000000000606A
+:10303000BC12000000000068C61200000000007012
+:10304000D012000000000078DA12000000000080BA
+:10305000E412000000000017000000000000000063
+:10306000000000000000000000000000000001005F
+:103070000000000000000000000000000000000050
+:103080000000000000000000000000000000000040
+:103090000000000000000000000000000000000030
+:1030A0000000000000000000000000000000000020
+:1030B0000000000000000000000000000000000010
+:1030C0000000000000000000000000000000000000
+:1030D00000000000000000000000000000000000F0
+:1030E00000000000000000000000000000000000E0
+:1030F00000000000000000000000000000000000D0
+:1031000000000000000000000000000000000000BF
+:1031100000000000000000000000000000000000AF
+:10312000000000000000000000000000000000009F
+:10313000000000000000000000000000000000008F
+:10314000000000000000000000000000000000027D
+:10315000000000000000000000000000000000006F
+:10316000000000000000000000000000000001005E
+:10317000000000000000000000000000000000004F
+:10318000000000000000000000000000000000003F
+:10319000000000000000000000000000000000002F
+:1031A000000000000000000000000000000000001F
+:1031B000000000000000000000000000000000000F
+:1031C00000000000000000000000000000000000FF
+:1031D00000000000000000000000000000000000EF
+:1031E00000000000000000000000000000000000DF
+:1031F00000000000000000000000000000000000CF
+:1032000000000000000000000000000000000000BE
+:1032100000000000000000000000000000000000AE
+:10322000000000000000000000000000000000009E
+:10323000000000000000000000000000000000008E
+:10324000000000000000000000000000000000027C
+:10325000000000000000000000000000000000006E
+:10326000000000000000000000000000000001005D
+:10327000000000000000000000000000000000004E
+:10328000000000000000000000000000000000003E
+:10329000000000000000000000000000000000002E
+:1032A000000000000000000000000000000000001E
+:1032B000000000000000000000000000000000000E
+:1032C00000000000000000000000000000000000FE
+:1032D00000000000000000000000000000000000EE
+:1032E00000000000000000000000000000000000DE
+:1032F00000000000000000000000000000000000CE
+:1033000000000000000000000000000000000000BD
+:1033100000000000000000000000000000000000AD
+:10332000000000000000000000000000000000009D
+:10333000000000000000000000000000000000008D
+:10334000000000000000000000000000000000027B
+:10335000000000000000000000000000000000006D
+:10336000000000000000000000000000000001005C
+:10337000000000000000000000000000000000004D
+:10338000000000000000000000000000000000003D
+:10339000000000000000000000000000000000002D
+:1033A000000000000000000000000000000000001D
+:1033B000000000000000000000000000000000000D
+:1033C00000000000000000000000000000000000FD
+:1033D00000000000000000000000000000000000ED
+:1033E00000000000000000000000000000000000DD
+:1033F00000000000000000000000000000000000CD
+:1034000000000000000000000000000000000000BC
+:1034100000000000000000000000000000000000AC
+:10342000000000000000000000000000000000009C
+:10343000000000000000000000000000000000008C
+:10344000000000000000000000000000000000027A
+:10345000000000000000000000000000000000006C
+:10346000000000000000000000000000000001005B
+:10347000000000000000000000000000000000004C
+:10348000000000000000000000000000000000003C
+:10349000000000000000000000000000000000002C
+:1034A000000000000000000000000000000000001C
+:1034B000000000000000000000000000000000000C
+:1034C00000000000000000000000000000000000FC
+:1034D00000000000000000000000000000000000EC
+:1034E00000000000000000000000000000000000DC
+:1034F00000000000000000000000000000000000CC
+:1035000000000000000000000000000000000000BB
+:1035100000000000000000000000000000000000AB
+:10352000000000000000000000000000000000009B
+:10353000000000000000000000000000000000008B
+:103540000000000000000000000000000000000279
+:10355000000000000000000000000000000000006B
+:10356000000000000000000000000000000001005A
+:10357000000000000000000000000000000000004B
+:10358000000000000000000000000000000000003B
+:10359000000000000000000000000000000000002B
+:1035A000000000000000000000000000000000001B
+:1035B000000000000000000000000000000000000B
+:1035C00000000000000000000000000000000000FB
+:1035D00000000000000000000000000000000000EB
+:1035E00000000000000000000000000000000000DB
+:1035F00000000000000000000000000000000000CB
+:1036000000000000000000000000000000000000BA
+:1036100000000000000000000000000000000000AA
+:10362000000000000000000000000000000000009A
+:10363000000000000000000000000000000000008A
+:103640000000000000000000000000000000000278
+:10365000000000000000000000000000000000006A
+:103660000000000000000000000000000000010059
+:10367000000000000000000000000000000000004A
+:10368000000000000000000000000000000000003A
+:10369000000000000000000000000000000000002A
+:1036A000000000000000000000000000000000001A
+:1036B000000000000000000000000000000000000A
+:1036C00000000000000000000000000000000000FA
+:1036D00000000000000000000000000000000000EA
+:1036E00000000000000000000000000000000000DA
+:1036F00000000000000000000000000000000000CA
+:1037000000000000000000000000000000000000B9
+:1037100000000000000000000000000000000000A9
+:103720000000000000000000000000000000000099
+:103730000000000000000000000000000000000089
+:103740000000000000000000000000000000000277
+:103750000000000000000000000000000000000069
+:103760000000000000000000000000000000010058
+:103770000000000000000000000000000000000049
+:103780000000000000000000000000000000000039
+:103790000000000000000000000000000000000029
+:1037A0000000000000000000000000000000000019
+:1037B0000000000000000000000000000000000009
+:1037C00000000000000000000000000000000000F9
+:1037D00000000000000000000000000000000000E9
+:1037E00000000000000000000000000000000000D9
+:1037F00000000000000000000000000000000000C9
+:1038000000000000000000000000000000000000B8
+:1038100000000000000000000000000000000000A8
+:103820000000000000000000000000000000000098
+:103830000000000000000000000000000000000088
+:103840000000000000000000000000000000000276
+:103850000000000000000000000000000000000068
+:103860000000000000000000000000000000010057
+:103870000000000000000000000000000000000048
+:103880000000000000000000000000000000000038
+:103890000000000000000000000000000000000028
+:1038A0000000000000000000000000000000000018
+:1038B0000000000000000000000000000000000008
+:1038C00000000000000000000000000000000000F8
+:1038D00000000000000000000000000000000000E8
+:1038E00000000000000000000000000000000000D8
+:1038F00000000000000000000000000000000000C8
+:1039000000000000000000000000000000000000B7
+:1039100000000000000000000000000000000000A7
+:103920000000000000000000000000000000000097
+:103930000000000000000000000000000000000087
+:103940000000000000000000000000000000000275
+:103950000000000000000000000000000000000067
+:103960000000000000000000000000000000010056
+:103970000000000000000000000000000000000047
+:103980000000000000000000000000000000000037
+:103990000000000000000000000000000000000027
+:1039A0000000000000000000000000000000000017
+:1039B0000000000000000000000000000000000007
+:1039C00000000000000000000000000000000000F7
+:1039D00000000000000000000000000000000000E7
+:1039E00000000000000000000000000000000000D7
+:1039F00000000000000000000000000000000000C7
+:103A000000000000000000000000000000000000B6
+:103A100000000000000000000000000000000000A6
+:103A20000000000000000000000000000000000096
+:103A30000000000000000000000000000000000086
+:103A40000000000000000000000000000000000274
+:103A50000000000000000000000000000000000066
+:103A60000000000000000000000000000000010055
+:103A70000000000000000000000000000000000046
+:103A80000000000000000000000000000000000036
+:103A90000000000000000000000000000000000026
+:103AA0000000000000000000000000000000000016
+:103AB0000000000000000000000000000000000006
+:103AC00000000000000000000000000000000000F6
+:103AD00000000000000000000000000000000000E6
+:103AE00000000000000000000000000000000000D6
+:103AF00000000000000000000000000000000000C6
+:103B000000000000000000000000000000000000B5
+:103B100000000000000000000000000000000000A5
+:103B20000000000000000000000000000000000095
+:103B30000000000000000000000000000000000085
+:103B40000000000000000000000000000000000273
+:103B50000000000000000000000000000000000065
+:103B60000000000000000000000000000000010054
+:103B70000000000000000000000000000000000045
+:103B80000000000000000000000000000000000035
+:103B90000000000000000000000000000000000025
+:103BA0000000000000000000000000000000000015
+:103BB0000000000000000000000000000000000005
+:103BC00000000000000000000000000000000000F5
+:103BD00000000000000000000000000000000000E5
+:103BE00000000000000000000000000000000000D5
+:103BF00000000000000000000000000000000000C5
+:103C000000000000000000000000000000000000B4
+:103C100000000000000000000000000000000000A4
+:103C20000000000000000000000000000000000094
+:103C30000000000000000000000000000000000084
+:103C40000000000000000000000000000000000272
+:103C50000000000000000000000000000000000064
+:103C60000000000000000000000000000000010053
+:103C70000000000000000000000000000000000044
+:103C80000000000000000000000000000000000034
+:103C90000000000000000000000000000000000024
+:103CA0000000000000000000000000000000000014
+:103CB0000000000000000000000000000000000004
+:103CC00000000000000000000000000000000000F4
+:103CD00000000000000000000000000000000000E4
+:103CE00000000000000000000000000000000000D4
+:103CF00000000000000000000000000000000000C4
+:103D000000000000000000000000000000000000B3
+:103D100000000000000000000000000000000000A3
+:103D20000000000000000000000000000000000093
+:103D30000000000000000000000000000000000083
+:103D40000000000000000000000000000000000271
+:103D50000000000000000000000000000000000063
+:103D60000000000000000000000000000000010052
+:103D70000000000000000000000000000000000043
+:103D80000000000000000000000000000000000033
+:103D90000000000000000000000000000000000023
+:103DA0000000000000000000000000000000000013
+:103DB0000000000000000000000000000000000003
+:103DC00000000000000000000000000000000000F3
+:103DD00000000000000000000000000000000000E3
+:103DE00000000000000000000000000000000000D3
+:103DF00000000000000000000000000000000000C3
+:103E000000000000000000000000000000000000B2
+:103E100000000000000000000000000000000000A2
+:103E20000000000000000000000000000000000092
+:103E30000000000000000000000000000000000082
+:103E40000000000000000000000000000000000270
+:103E50000000000000000000000000000000000062
+:103E60000000000000000000000000000000010051
+:103E70000000000000000000000000000000000042
+:103E80000000000000000000000000000000000032
+:103E90000000000000000000000000000000000022
+:103EA0000000000000000000000000000000000012
+:103EB0000000000000000000000000000000000002
+:103EC00000000000000000000000000000000000F2
+:103ED00000000000000000000000000000000000E2
+:103EE00000000000000000000000000000000000D2
+:103EF00000000000000000000000000000000000C2
+:103F000000000000000000000000000000000000B1
+:103F100000000000000000000000000000000000A1
+:103F20000000000000000000000000000000000091
+:103F30000000000000000000000000000000000081
+:103F4000000000000000000000000000000000026F
+:103F50000000000000000000000000000000000061
+:103F60000000000000000000000000000000010050
+:103F70000000000000000000000000000000000041
+:103F80000000000000000000000000000000000031
+:103F90000000000000000000000000000000000021
+:103FA0000000000000000000000000000000000011
+:103FB0000000000000000000000000000000000001
+:103FC00000000000000000000000000000000000F1
+:103FD00000000000000000000000000000000000E1
+:103FE00000000000000000000000000000000000D1
+:103FF00000000000000000000000000000000000C1
+:1040000000000000000000000000000000000000B0
+:1040100000000000000000000000000000000000A0
+:104020000000000000000000000000000000000090
+:104030000000000000000000000000000000000080
+:10404000000000000000000000000000000000026E
+:104050000000000000000000000000000000000060
+:10406000000000000000000000000000000001004F
+:104070000000000000000000000000000000000040
+:104080000000000000000000000000000000000030
+:104090000000000000000000000000000000000020
+:1040A0000000000000000000000000000000000010
+:1040B0000000000000000000000000000000000000
+:1040C00000000000000000000000000000000000F0
+:1040D00000000000000000000000000000000000E0
+:1040E00000000000000000000000000000000000D0
+:1040F00000000000000000000000000000000000C0
+:1041000000000000000000000000000000000000AF
+:10411000000000000000000000000000000000009F
+:10412000000000000000000000000000000000008F
+:10413000000000000000000000000000000000007F
+:10414000000000000000000000000000000000026D
+:10415000000000000000000000000000000000005F
+:10416000000000000000000000000000000001004E
+:10417000000000000000000000000000000000003F
+:10418000000000000000000000000000000000002F
+:10419000000000000000000000000000000000001F
+:1041A000000000000000000000000000000000000F
+:1041B00000000000000000000000000000000000FF
+:1041C00000000000000000000000000000000000EF
+:1041D00000000000000000000000000000000000DF
+:1041E00000000000000000000000000000000000CF
+:1041F00000000000000000000000000000000000BF
+:1042000000000000000000000000000000000000AE
+:10421000000000000000000000000000000000009E
+:10422000000000000000000000000000000000008E
+:10423000000000000000000000000000000000007E
+:10424000000000000000000000000000000000026C
+:10425000000000000000000000000000000000005E
+:10426000000000000000000000000000000001004D
+:10427000000000000000000000000000000000003E
+:10428000000000000000000000000000000000002E
+:10429000000000000000000000000000000000001E
+:1042A000000000000000000000000000000000000E
+:1042B00000000000000000000000000000000000FE
+:1042C00000000000000000000000000000000000EE
+:1042D00000000000000000000000000000000000DE
+:1042E00000000000000000000000000000000000CE
+:1042F00000000000000000000000000000000000BE
+:1043000000000000000000000000000000000000AD
+:10431000000000000000000000000000000000009D
+:10432000000000000000000000000000000000008D
+:10433000000000000000000000000000000000007D
+:10434000000000000000000000000000000000026B
+:10435000000000000000000000000000000000005D
+:10436000000000000000000000000000000001004C
+:10437000000000000000000000000000000000003D
+:10438000000000000000000000000000000000002D
+:10439000000000000000000000000000000000001D
+:1043A000000000000000000000000000000000000D
+:1043B00000000000000000000000000000000000FD
+:1043C00000000000000000000000000000000000ED
+:1043D00000000000000000000000000000000000DD
+:1043E00000000000000000000000000000000000CD
+:1043F00000000000000000000000000000000000BD
+:1044000000000000000000000000000000000000AC
+:10441000000000000000000000000000000000009C
+:10442000000000000000000000000000000000008C
+:10443000000000000000000000000000000000007C
+:10444000000000000000000000000000000000026A
+:10445000000000000000000000000000000000005C
+:10446000000000000000000000000000000001004B
+:10447000000000000000000000000000000000003C
+:10448000000000000000000000000000000000002C
+:10449000000000000000000000000000000000001C
+:1044A000000000000000000000000000000000000C
+:1044B00000000000000000000000000000000000FC
+:1044C00000000000000000000000000000000000EC
+:1044D00000000000000000000000000000000000DC
+:1044E00000000000000000000000000000000000CC
+:1044F00000000000000000000000000000000000BC
+:1045000000000000000000000000000000000000AB
+:10451000000000000000000000000000000000009B
+:10452000000000000000000000000000000000008B
+:10453000000000000000000000000000000000007B
+:104540000000000000000000000000000000000269
+:10455000000000000000000000000000000000005B
+:10456000000000000000000000000000000001004A
+:10457000000000000000000000000000000000003B
+:10458000000000000000000000000000000000002B
+:10459000000000000000000000000000000000001B
+:1045A000000000000000000000000000000000000B
+:1045B00000000000000000000000000000000000FB
+:1045C00000000000000000000000000000000000EB
+:1045D00000000000000000000000000000000000DB
+:1045E00000000000000000000000000000000000CB
+:1045F00000000000000000000000000000000000BB
+:1046000000000000000000000000000000000000AA
+:10461000000000000000000000000000000000009A
+:10462000000000000000000000000000000000008A
+:10463000000000000000000000000000000000007A
+:104640000000000000000000000000000000000268
+:10465000000000000000000000000000000000005A
+:10466000000000000000000000000000000000004A
+:10467000000000000000000000000000000000003A
+:10468000000000000000000000000000000000002A
+:10469000000000000000000000000000000000001A
+:1046A000000000000000000000000000000000000A
+:1046B00000000000000000000000000000000000FA
+:1046C00000000000000000000000000000000000EA
+:1046D00000000000000000000000000000000000DA
+:1046E00000000000000000000000000000000000CA
+:1046F00000000000000000000000000000000000BA
+:1047000000000000000000000000000000000000A9
+:104710000000000000000000000000000000000099
+:104720000000000000000000000000000000000089
+:104730000000000000000000000000000000000079
+:104740000000000000000000000000000000000069
+:104750000000000000000000000000000000001445
+:104760000000000000000000000000000000000049
+:104770000000000000000100000000000000000038
+:104780000000000000000000000000000000000029
+:104790000000000000000000000000000000000019
+:1047A0000000000000000000000000000000000009
+:1047B00000000000000000000000000000000000F9
+:1047C00000000000000000000000000000000000E9
+:1047D00000000000000000000000000000000000D9
+:1047E00000000000000000000000000000000000C9
+:1047F00000000000000000000000000000000000B9
+:1048000000000000000000000000000000000000A8
+:104810000000000000000000000000000000000098
+:104820000000000000000000000000000000000088
+:104830000000000000000000000000000000000078
+:104840000000000000000000000000000000000068
+:104850000000000000000002000000000000000056
+:104860000000000000000000000000000000000048
+:104870000000000000000100000000000000000037
+:104880000000000000000000000000000000000028
+:104890000000000000000000000000000000000018
+:1048A0000000000000000000000000000000000008
+:1048B00000000000000000000000000000000000F8
+:1048C00000000000000000000000000000000000E8
+:1048D00000000000000000000000000000000000D8
+:1048E00000000000000000000000000000000000C8
+:1048F00000000000000000000000000000000000B8
+:1049000000000000000000000000000000000000A7
+:104910000000000000000000000000000000000097
+:104920000000000000000000000000000000000087
+:104930000000000000000000000000000000000077
+:104940000000000000000000000000000000000067
+:104950000000000000000002000000000000000055
+:104960000000000000000000000000000000000047
+:104970000000000000000100000000000000000036
+:104980000000000000000000000000000000000027
+:104990000000000000000000000000000000000017
+:1049A0000000000000000000000000000000000007
+:1049B00000000000000000000000000000000000F7
+:1049C00000000000000000000000000000000000E7
+:1049D00000000000000000000000000000000000D7
+:1049E00000000000000000000000000000000000C7
+:1049F00000000000000000000000000000000000B7
+:104A000000000000000000000000000000000000A6
+:104A10000000000000000000000000000000000096
+:104A20000000000000000000000000000000000086
+:104A30000000000000000000000000000000000076
+:104A40000000000000000000000000000000000066
+:104A50000000000000000002000000000000000054
+:104A60000000000000000000000000000000000046
+:104A70000000000000000100000000000000000035
+:104A80000000000000000000000000000000000026
+:104A90000000000000000000000000000000000016
+:104AA0000000000000000000000000000000000006
+:104AB00000000000000000000000000000000000F6
+:104AC00000000000000000000000000000000000E6
+:104AD00000000000000000000000000000000000D6
+:104AE00000000000000000000000000000000000C6
+:104AF00000000000000000000000000000000000B6
+:104B000000000000000000000000000000000000A5
+:104B10000000000000000000000000000000000095
+:104B20000000000000000000000000000000000085
+:104B30000000000000000000000000000000000075
+:104B40000000000000000000000000000000000065
+:104B50000000000000000002000000000000000053
+:104B60000000000000000000000000000000000045
+:104B70000000000000000100000000000000000034
+:104B80000000000000000000000000000000000025
+:104B90000000000000000000000000000000000015
+:104BA0000000000000000000000000000000000005
+:104BB00000000000000000000000000000000000F5
+:104BC00000000000000000000000000000000000E5
+:104BD00000000000000000000000000000000000D5
+:104BE00000000000000000000000000000000000C5
+:104BF00000000000000000000000000000000000B5
+:104C000000000000000000000000000000000000A4
+:104C10000000000000000000000000000000000094
+:104C20000000000000000000000000000000000084
+:104C30000000000000000000000000000000000074
+:104C40000000000000000000000000000000000064
+:104C50000000000000000002000000000000000052
+:104C60000000000000000000000000000000000044
+:104C70000000000000000100000000000000000033
+:104C80000000000000000000000000000000000024
+:104C90000000000000000000000000000000000014
+:104CA0000000000000000000000000000000000004
+:104CB00000000000000000000000000000000000F4
+:104CC00000000000000000000000000000000000E4
+:104CD00000000000000000000000000000000000D4
+:104CE00000000000000000000000000000000000C4
+:104CF00000000000000000000000000000000000B4
+:104D000000000000000000000000000000000000A3
+:104D10000000000000000000000000000000000093
+:104D20000000000000000000000000000000000083
+:104D30000000000000000000000000000000000073
+:104D40000000000000000000000000000000000063
+:104D50000000000000000002000000000000000051
+:104D60000000000000000000000000000000000043
+:104D70000000000000000100000000000000000032
+:104D80000000000000000000000000000000000023
+:104D90000000000000000000000000000000000013
+:104DA0000000000000000000000000000000000003
+:104DB00000000000000000000000000000000000F3
+:104DC00000000000000000000000000000000000E3
+:104DD00000000000000000000000000000000000D3
+:104DE00000000000000000000000000000000000C3
+:104DF00000000000000000000000000000000000B3
+:104E000000000000000000000000000000000000A2
+:104E10000000000000000000000000000000000092
+:104E20000000000000000000000000000000000082
+:104E30000000000000000000000000000000000072
+:104E40000000000000000000000000000000000062
+:104E50000000000000000002000000000000000050
+:104E60000000000000000000000000000000000042
+:104E70000000000000000100000000000000000031
+:104E80000000000000000000000000000000000022
+:104E90000000000000000000000000000000000012
+:104EA0000000000000000000000000000000000002
+:104EB00000000000000000000000000000000000F2
+:104EC00000000000000000000000000000000000E2
+:104ED00000000000000000000000000000000000D2
+:104EE00000000000000000000000000000000000C2
+:104EF00000000000000000000000000000000000B2
+:104F000000000000000000000000000000000000A1
+:104F10000000000000000000000000000000000091
+:104F20000000000000000000000000000000000081
+:104F30000000000000000000000000000000000071
+:104F40000000000000000000000000000000000061
+:104F5000000000000000000200000000000000004F
+:104F60000000000000000000000000000000000041
+:104F70000000000000000100000000000000000030
+:104F80000000000000000000000000000000000021
+:104F90000000000000000000000000000000000011
+:104FA0000000000000000000000000000000000001
+:104FB00000000000000000000000000000000000F1
+:104FC00000000000000000000000000000000000E1
+:104FD00000000000000000000000000000000000D1
+:104FE00000000000000000000000000000000000C1
+:104FF00000000000000000000000000000000000B1
+:1050000000000000000000000000000000000000A0
+:105010000000000000000000000000000000000090
+:105020000000000000000000000000000000000080
+:105030000000000000000000000000000000000070
+:105040000000000000000000000000000000000060
+:10505000000000000000000200000000000000004E
+:105060000000000000000000000000000000000040
+:10507000000000000000010000000000000000002F
+:105080000000000000000000000000000000000020
+:105090000000000000000000000000000000000010
+:1050A0000000000000000000000000000000000000
+:1050B00000000000000000000000000000000000F0
+:1050C00000000000000000000000000000000000E0
+:1050D00000000000000000000000000000000000D0
+:1050E00000000000000000000000000000000000C0
+:1050F00000000000000000000000000000000000B0
+:10510000000000000000000000000000000000009F
+:10511000000000000000000000000000000000008F
+:10512000000000000000000000000000000000007F
+:10513000000000000000000000000000000000006F
+:10514000000000000000000000000000000000005F
+:10515000000000000000000200000000000000004D
+:10516000000000000000000000000000000000003F
+:10517000000000000000010000000000000000002E
+:10518000000000000000000000000000000000001F
+:10519000000000000000000000000000000000000F
+:1051A00000000000000000000000000000000000FF
+:1051B00000000000000000000000000000000000EF
+:1051C00000000000000000000000000000000000DF
+:1051D00000000000000000000000000000000000CF
+:1051E00000000000000000000000000000000000BF
+:1051F00000000000000000000000000000000000AF
+:10520000000000000000000000000000000000009E
+:10521000000000000000000000000000000000008E
+:10522000000000000000000000000000000000007E
+:10523000000000000000000000000000000000006E
+:10524000000000000000000000000000000000005E
+:10525000000000000000000200000000000000004C
+:10526000000000000000000000000000000000003E
+:10527000000000000000010000000000000000002D
+:10528000000000000000000000000000000000001E
+:10529000000000000000000000000000000000000E
+:1052A00000000000000000000000000000000000FE
+:1052B00000000000000000000000000000000000EE
+:1052C00000000000000000000000000000000000DE
+:1052D00000000000000000000000000000000000CE
+:1052E00000000000000000000000000000000000BE
+:1052F00000000000000000000000000000000000AE
+:10530000000000000000000000000000000000009D
+:10531000000000000000000000000000000000008D
+:10532000000000000000000000000000000000007D
+:10533000000000000000000000000000000000006D
+:10534000000000000000000000000000000000005D
+:10535000000000000000000200000000000000004B
+:10536000000000000000000000000000000000003D
+:10537000000000000000010000000000000000002C
+:10538000000000000000000000000000000000001D
+:10539000000000000000000000000000000000000D
+:1053A00000000000000000000000000000000000FD
+:1053B00000000000000000000000000000000000ED
+:1053C00000000000000000000000000000000000DD
+:1053D00000000000000000000000000000000000CD
+:1053E00000000000000000000000000000000000BD
+:1053F00000000000000000000000000000000000AD
+:10540000000000000000000000000000000000009C
+:10541000000000000000000000000000000000008C
+:10542000000000000000000000000000000000007C
+:10543000000000000000000000000000000000006C
+:10544000000000000000000000000000000000005C
+:10545000000000000000000200000000000000004A
+:10546000000000000000000000000000000000003C
+:10547000000000000000010000000000000000002B
+:10548000000000000000000000000000000000001C
+:10549000000000000000000000000000000000000C
+:1054A00000000000000000000000000000000000FC
+:1054B00000000000000000000000000000000000EC
+:1054C00000000000000000000000000000000000DC
+:1054D00000000000000000000000000000000000CC
+:1054E00000000000000000000000000000000000BC
+:1054F00000000000000000000000000000000000AC
+:10550000000000000000000000000000000000009B
+:10551000000000000000000000000000000000008B
+:10552000000000000000000000000000000000007B
+:10553000000000000000000000000000000000006B
+:10554000000000000000000000000000000000005B
+:105550000000000000000002000000000000000049
+:10556000000000000000000000000000000000003B
+:10557000000000000000010000000000000000002A
+:10558000000000000000000000000000000000001B
+:10559000000000000000000000000000000000000B
+:1055A00000000000000000000000000000000000FB
+:1055B00000000000000000000000000000000000EB
+:1055C00000000000000000000000000000000000DB
+:1055D00000000000000000000000000000000000CB
+:1055E00000000000000000000000000000000000BB
+:1055F00000000000000000000000000000000000AB
+:10560000000000000000000000000000000000009A
+:10561000000000000000000000000000000000008A
+:10562000000000000000000000000000000000007A
+:10563000000000000000000000000000000000006A
+:10564000000000000000000000000000000000005A
+:105650000000000000000002000000000000000048
+:10566000000000000000000000000000000000003A
+:105670000000000000000100000000000000000029
+:10568000000000000000000000000000000000001A
+:10569000000000000000000000000000000000000A
+:1056A00000000000000000000000000000000000FA
+:1056B00000000000000000000000000000000000EA
+:1056C00000000000000000000000000000000000DA
+:1056D00000000000000000000000000000000000CA
+:1056E00000000000000000000000000000000000BA
+:1056F00000000000000000000000000000000000AA
+:105700000000000000000000000000000000000099
+:105710000000000000000000000000000000000089
+:105720000000000000000000000000000000000079
+:105730000000000000000000000000000000000069
+:105740000000000000000000000000000000000059
+:105750000000000000000002000000000000000047
+:105760000000000000000000000000000000000039
+:105770000000000000000100000000000000000028
+:105780000000000000000000000000000000000019
+:105790000000000000000000000000000000000009
+:1057A00000000000000000000000000000000000F9
+:1057B00000000000000000000000000000000000E9
+:1057C00000000000000000000000000000000000D9
+:1057D00000000000000000000000000000000000C9
+:1057E00000000000000000000000000000000000B9
+:1057F00000000000000000000000000000000000A9
+:105800000000000000000000000000000000000098
+:105810000000000000000000000000000000000088
+:105820000000000000000000000000000000000078
+:105830000000000000000000000000000000000068
+:105840000000000000000000000000000000000058
+:105850000000000000000002000000000000000046
+:105860000000000000000000000000000000000038
+:105870000000000000000100000000000000000027
+:105880000000000000000000000000000000000018
+:105890000000000000000000000000000000000008
+:1058A00000000000000000000000000000000000F8
+:1058B00000000000000000000000000000000000E8
+:1058C00000000000000000000000000000000000D8
+:1058D00000000000000000000000000000000000C8
+:1058E00000000000000000000000000000000000B8
+:1058F00000000000000000000000000000000000A8
+:105900000000000000000000000000000000000097
+:105910000000000000000000000000000000000087
+:105920000000000000000000000000000000000077
+:105930000000000000000000000000000000000067
+:105940000000000000000000000000000000000057
+:105950000000000000000002000000000000000045
+:105960000000000000000000000000000000000037
+:105970000000000000000100000000000000000026
+:105980000000000000000000000000000000000017
+:105990000000000000000000000000000000000007
+:1059A00000000000000000000000000000000000F7
+:1059B00000000000000000000000000000000000E7
+:1059C00000000000000000000000000000000000D7
+:1059D00000000000000000000000000000000000C7
+:1059E00000000000000000000000000000000000B7
+:1059F00000000000000000000000000000000000A7
+:105A00000000000000000000000000000000000096
+:105A10000000000000000000000000000000000086
+:105A20000000000000000000000000000000000076
+:105A30000000000000000000000000000000000066
+:105A40000000000000000000000000000000000056
+:105A50000000000000000002000000000000000044
+:105A60000000000000000000000000000000000036
+:105A70000000000000000000000000000000000026
+:105A80000000000000000000000000000000000016
+:105A90000000000000000000000000000000000006
+:105AA00000000000000000000000000000000000F6
+:105AB00000000000000000000000000000000000E6
+:105AC00000000000000000000000000000000000D6
+:105AD00000000000000000000000000000000000C6
+:105AE00000000000000000000000000000000000B6
+:105AF00000000000000000000000000000000000A6
+:105B00000000000000000000000000000000000095
+:105B10000000000000000000000000000000000085
+:105B20000000000000000000000000000000000075
+:105B30000000000000000000000000000000000065
+:105B40000000000000000000000000000000000055
+:105B50000000000000000000000000000000000045
+:105B60000000000000000012000000000000000023
+:105B70000000000000000000000000000000010024
+:105B80000000000000000000000000000000000015
+:105B90000000000000000000000000000000000005
+:105BA00000000000000000000000000000000000F5
+:105BB00000000000000000000000000000000000E5
+:105BC00000000000000000000000000000000000D5
+:105BD00000000000000000000000000000000000C5
+:105BE00000000000000000000000000000000000B5
+:105BF00000000000000000000000000000000000A5
+:105C00000000000000000000000000000000000094
+:105C10000000000000000000000000000000000084
+:105C20000000000000000000000000000000000074
+:105C30000000000000000000000000000000000064
+:105C40000000000000000000000000000000000054
+:105C50000000000000000000000000000000000242
+:105C60000000000000000000000000000000000034
+:105C70000000000000000000000000000000010023
+:105C80000000000000000000000000000000000014
+:105C90000000000000000000000000000000000004
+:105CA00000000000000000000000000000000000F4
+:105CB00000000000000000000000000000000000E4
+:105CC00000000000000000000000000000000000D4
+:105CD00000000000000000000000000000000000C4
+:105CE00000000000000000000000000000000000B4
+:105CF00000000000000000000000000000000000A4
+:105D00000000000000000000000000000000000093
+:105D10000000000000000000000000000000000083
+:105D20000000000000000000000000000000000073
+:105D30000000000000000000000000000000000063
+:105D40000000000000000000000000000000000053
+:105D50000000000000000000000000000000000241
+:105D60000000000000000000000000000000000033
+:105D70000000000000000000000000000000010022
+:105D80000000000000000000000000000000000013
+:105D90000000000000000000000000000000000003
+:105DA00000000000000000000000000000000000F3
+:105DB00000000000000000000000000000000000E3
+:105DC00000000000000000000000000000000000D3
+:105DD00000000000000000000000000000000000C3
+:105DE00000000000000000000000000000000000B3
+:105DF00000000000000000000000000000000000A3
+:105E00000000000000000000000000000000000092
+:105E10000000000000000000000000000000000082
+:105E20000000000000000000000000000000000072
+:105E30000000000000000000000000000000000062
+:105E40000000000000000000000000000000000052
+:105E50000000000000000000000000000000000240
+:105E60000000000000000000000000000000000032
+:105E70000000000000000000000000000000010021
+:105E80000000000000000000000000000000000012
+:105E90000000000000000000000000000000000002
+:105EA00000000000000000000000000000000000F2
+:105EB00000000000000000000000000000000000E2
+:105EC00000000000000000000000000000000000D2
+:105ED00000000000000000000000000000000000C2
+:105EE00000000000000000000000000000000000B2
+:105EF00000000000000000000000000000000000A2
+:105F00000000000000000000000000000000000091
+:105F10000000000000000000000000000000000081
+:105F20000000000000000000000000000000000071
+:105F30000000000000000000000000000000000061
+:105F40000000000000000000000000000000000051
+:105F5000000000000000000000000000000000023F
+:105F60000000000000000000000000000000000031
+:105F70000000000000000000000000000000010020
+:105F80000000000000000000000000000000000011
+:105F90000000000000000000000000000000000001
+:105FA00000000000000000000000000000000000F1
+:105FB00000000000000000000000000000000000E1
+:105FC00000000000000000000000000000000000D1
+:105FD00000000000000000000000000000000000C1
+:105FE00000000000000000000000000000000000B1
+:105FF00000000000000000000000000000000000A1
+:106000000000000000000000000000000000000090
+:106010000000000000000000000000000000000080
+:106020000000000000000000000000000000000070
+:106030000000000000000000000000000000000060
+:106040000000000000000000000000000000000050
+:10605000000000000000000000000000000000023E
+:106060000000000000000000000000000000000030
+:10607000000000000000000000000000000001001F
+:106080000000000000000000000000000000000010
+:106090000000000000000000000000000000000000
+:1060A00000000000000000000000000000000000F0
+:1060B00000000000000000000000000000000000E0
+:1060C00000000000000000000000000000000000D0
+:1060D00000000000000000000000000000000000C0
+:1060E00000000000000000000000000000000000B0
+:1060F00000000000000000000000000000000000A0
+:10610000000000000000000000000000000000008F
+:10611000000000000000000000000000000000007F
+:10612000000000000000000000000000000000006F
+:10613000000000000000000000000000000000005F
+:10614000000000000000000000000000000000004F
+:10615000000000000000000000000000000000023D
+:10616000000000000000000000000000000000002F
+:10617000000000000000000000000000000001001E
+:10618000000000000000000000000000000000000F
+:1061900000000000000000000000000000000000FF
+:1061A00000000000000000000000000000000000EF
+:1061B00000000000000000000000000000000000DF
+:1061C00000000000000000000000000000000000CF
+:1061D00000000000000000000000000000000000BF
+:1061E00000000000000000000000000000000000AF
+:1061F000000000000000000000000000000000009F
+:10620000000000000000000000000000000000008E
+:10621000000000000000000000000000000000007E
+:10622000000000000000000000000000000000006E
+:10623000000000000000000000000000000000005E
+:10624000000000000000000000000000000000004E
+:10625000000000000000000000000000000000023C
+:10626000000000000000000000000000000000002E
+:10627000000000000000000000000000000001001D
+:10628000000000000000000000000000000000000E
+:1062900000000000000000000000000000000000FE
+:1062A00000000000000000000000000000000000EE
+:1062B00000000000000000000000000000000000DE
+:1062C00000000000000000000000000000000000CE
+:1062D00000000000000000000000000000000000BE
+:1062E00000000000000000000000000000000000AE
+:1062F000000000000000000000000000000000009E
+:10630000000000000000000000000000000000008D
+:10631000000000000000000000000000000000007D
+:10632000000000000000000000000000000000006D
+:10633000000000000000000000000000000000005D
+:10634000000000000000000000000000000000004D
+:10635000000000000000000000000000000000023B
+:10636000000000000000000000000000000000002D
+:10637000000000000000000000000000000001001C
+:10638000000000000000000000000000000000000D
+:1063900000000000000000000000000000000000FD
+:1063A00000000000000000000000000000000000ED
+:1063B00000000000000000000000000000000000DD
+:1063C00000000000000000000000000000000000CD
+:1063D00000000000000000000000000000000000BD
+:1063E00000000000000000000000000000000000AD
+:1063F000000000000000000000000000000000009D
+:10640000000000000000000000000000000000008C
+:10641000000000000000000000000000000000007C
+:10642000000000000000000000000000000000006C
+:10643000000000000000000000000000000000005C
+:10644000000000000000000000000000000000004C
+:10645000000000000000000000000000000000023A
+:10646000000000000000000000000000000000002C
+:10647000000000000000000000000000000001001B
+:10648000000000000000000000000000000000000C
+:1064900000000000000000000000000000000000FC
+:1064A00000000000000000000000000000000000EC
+:1064B00000000000000000000000000000000000DC
+:1064C00000000000000000000000000000000000CC
+:1064D00000000000000000000000000000000000BC
+:1064E00000000000000000000000000000000000AC
+:1064F000000000000000000000000000000000009C
+:10650000000000000000000000000000000000008B
+:10651000000000000000000000000000000000007B
+:10652000000000000000000000000000000000006B
+:10653000000000000000000000000000000000005B
+:10654000000000000000000000000000000000004B
+:106550000000000000000000000000000000000239
+:10656000000000000000000000000000000000002B
+:10657000000000000000000000000000000001001A
+:10658000000000000000000000000000000000000B
+:1065900000000000000000000000000000000000FB
+:1065A00000000000000000000000000000000000EB
+:1065B00000000000000000000000000000000000DB
+:1065C00000000000000000000000000000000000CB
+:1065D00000000000000000000000000000000000BB
+:1065E00000000000000000000000000000000000AB
+:1065F000000000000000000000000000000000009B
+:10660000000000000000000000000000000000008A
+:10661000000000000000000000000000000000007A
+:10662000000000000000000000000000000000006A
+:10663000000000000000000000000000000000005A
+:10664000000000000000000000000000000000004A
+:106650000000000000000000000000000000000238
+:10666000000000000000000000000000000000002A
+:106670000000000000000000000000000000010019
+:10668000000000000000000000000000000000000A
+:1066900000000000000000000000000000000000FA
+:1066A00000000000000000000000000000000000EA
+:1066B00000000000000000000000000000000000DA
+:1066C00000000000000000000000000000000000CA
+:1066D00000000000000000000000000000000000BA
+:1066E00000000000000000000000000000000000AA
+:1066F000000000000000000000000000000000009A
+:106700000000000000000000000000000000000089
+:106710000000000000000000000000000000000079
+:106720000000000000000000000000000000000069
+:106730000000000000000000000000000000000059
+:106740000000000000000000000000000000000049
+:106750000000000000000000000000000000000237
+:106760000000000000000000000000000000000029
+:106770000000000000000000000000000000010018
+:106780000000000000000000000000000000000009
+:1067900000000000000000000000000000000000F9
+:1067A00000000000000000000000000000000000E9
+:1067B00000000000000000000000000000000000D9
+:1067C00000000000000000000000000000000000C9
+:1067D00000000000000000000000000000000000B9
+:1067E00000000000000000000000000000000000A9
+:1067F0000000000000000000000000000000000099
+:106800000000000000000000000000000000000088
+:106810000000000000000000000000000000000078
+:106820000000000000000000000000000000000068
+:106830000000000000000000000000000000000058
+:106840000000000000000000000000000000000048
+:106850000000000000000000000000000000000236
+:106860000000000000000000000000000000000028
+:106870000000000000000000000000000000010017
+:106880000000000000000000000000000000000008
+:1068900000000000000000000000000000000000F8
+:1068A00000000000000000000000000000000000E8
+:1068B00000000000000000000000000000000000D8
+:1068C00000000000000000000000000000000000C8
+:1068D00000000000000000000000000000000000B8
+:1068E00000000000000000000000000000000000A8
+:1068F0000000000000000000000000000000000098
+:106900000000000000000000000000000000000087
+:106910000000000000000000000000000000000077
+:106920000000000000000000000000000000000067
+:106930000000000000000000000000000000000057
+:106940000000000000000000000000000000000047
+:106950000000000000000000000000000000000235
+:106960000000000000000000000000000000000027
+:106970000000000000000000000000000000010016
+:106980000000000000000000000000000000000007
+:1069900000000000000000000000000000000000F7
+:1069A00000000000000000000000000000000000E7
+:1069B00000000000000000000000000000000000D7
+:1069C00000000000000000000000000000000000C7
+:1069D00000000000000000000000000000000000B7
+:1069E00000000000000000000000000000000000A7
+:1069F0000000000000000000000000000000000097
+:106A00000000000000000000000000000000000086
+:106A10000000000000000000000000000000000076
+:106A20000000000000000000000000000000000066
+:106A30000000000000000000000000000000000056
+:106A40000000000000000000000000000000000046
+:106A50000000000000000000000000000000000234
+:106A60000000000000000000000000000000000026
+:106A70000000000000000000000000000000010015
+:106A80000000000000000000000000000000000006
+:106A900000000000000000000000000000000000F6
+:106AA00000000000000000000000000000000000E6
+:106AB00000000000000000000000000000000000D6
+:106AC00000000000000000000000000000000000C6
+:106AD00000000000000000000000000000000000B6
+:106AE00000000000000000000000000000000000A6
+:106AF0000000000000000000000000000000000096
+:106B00000000000000000000000000000000000085
+:106B10000000000000000000000000000000000075
+:106B20000000000000000000000000000000000065
+:106B30000000000000000000000000000000000055
+:106B40000000000000000000000000000000000045
+:106B50000000000000000000000000000000000233
+:106B60000000000000000000000000000000000025
+:106B70000000000000000000000000000000010014
+:106B80000000000000000000000000000000000005
+:106B900000000000000000000000000000000000F5
+:106BA00000000000000000000000000000000000E5
+:106BB00000000000000000000000000000000000D5
+:106BC00000000000000000000000000000000000C5
+:106BD00000000000000000000000000000000000B5
+:106BE00000000000000000000000000000000000A5
+:106BF0000000000000000000000000000000000095
+:106C00000000000000000000000000000000000084
+:106C10000000000000000000000000000000000074
+:106C20000000000000000000000000000000000064
+:106C30000000000000000000000000000000000054
+:106C40000000000000000000000000000000000044
+:106C50000000000000000000000000000000000232
+:106C60000000000000000000000000000000000024
+:106C70000000000000000000000000000000000014
+:106C80000000000000000000000000000000000004
+:106C900000000000000000000000000000000000F4
+:106CA00000000000000000000000000000000000E4
+:106CB00000000000000000000000000000000000D4
+:106CC00000000000000000000000000000000000C4
+:106CD00000000000000000000000000000000000B4
+:106CE00000000000000000000000000000000000A4
+:106CF0000000000000000000000000000000000094
+:106D00000000000000000000000000000000000083
+:106D10000000000000000000000000000000000073
+:106D20000000000000000000000000000000000063
+:106D30000000000000000000000000000000000053
+:106D40000000000000000000000000000000000043
+:106D50000000000000000000000000000000000033
+:106D60000000000000000000000000000000001211
+:106D70000000000000000000000000000000000013
+:106D80000000000000000100000000000000000002
+:106D900000000000000000000000000000000000F3
+:106DA00000000000000000000000000000000000E3
+:106DB00000000000000000000000000000000000D3
+:106DC00000000000000000000000000000000000C3
+:106DD00000000000000000000000000000000000B3
+:106DE00000000000000000000000000000000000A3
+:106DF0000000000000000000000000000000000093
+:106E00000000000000000000000000000000000082
+:106E10000000000000000000000000000000000072
+:106E20000000000000000000000000000000000062
+:106E30000000000000000000000000000000000052
+:106E40000000000000000000000000000000000042
+:106E50000000000000000000000000000000000032
+:106E60000000000000000002000000000000000020
+:106E70000000000000000000000000000000000012
+:106E80000000000000000100000000000000000001
+:106E900000000000000000000000000000000000F2
+:106EA00000000000000000000000000000000000E2
+:106EB00000000000000000000000000000000000D2
+:106EC00000000000000000000000000000000000C2
+:106ED00000000000000000000000000000000000B2
+:106EE00000000000000000000000000000000000A2
+:106EF0000000000000000000000000000000000092
+:106F00000000000000000000000000000000000081
+:106F10000000000000000000000000000000000071
+:106F20000000000000000000000000000000000061
+:106F30000000000000000000000000000000000051
+:106F40000000000000000000000000000000000041
+:106F50000000000000000000000000000000000031
+:106F6000000000000000000200000000000000001F
+:106F70000000000000000000000000000000000011
+:106F80000000000000000100000000000000000000
+:106F900000000000000000000000000000000000F1
+:106FA00000000000000000000000000000000000E1
+:106FB00000000000000000000000000000000000D1
+:106FC00000000000000000000000000000000000C1
+:106FD00000000000000000000000000000000000B1
+:106FE00000000000000000000000000000000000A1
+:106FF0000000000000000000000000000000000091
+:107000000000000000000000000000000000000080
+:107010000000000000000000000000000000000070
+:107020000000000000000000000000000000000060
+:107030000000000000000000000000000000000050
+:107040000000000000000000000000000000000040
+:107050000000000000000000000000000000000030
+:10706000000000000000000200000000000000001E
+:107070000000000000000000000000000000000010
+:1070800000000000000001000000000000000000FF
+:1070900000000000000000000000000000000000F0
+:1070A00000000000000000000000000000000000E0
+:1070B00000000000000000000000000000000000D0
+:1070C00000000000000000000000000000000000C0
+:1070D00000000000000000000000000000000000B0
+:1070E00000000000000000000000000000000000A0
+:1070F0000000000000000000000000000000000090
+:10710000000000000000000000000000000000007F
+:10711000000000000000000000000000000000006F
+:10712000000000000000000000000000000000005F
+:10713000000000000000000000000000000000004F
+:10714000000000000000000000000000000000003F
+:10715000000000000000000000000000000000002F
+:10716000000000000000000200000000000000001D
+:10717000000000000000000000000000000000000F
+:1071800000000000000001000000000000000000FE
+:1071900000000000000000000000000000000000EF
+:1071A00000000000000000000000000000000000DF
+:1071B00000000000000000000000000000000000CF
+:1071C00000000000000000000000000000000000BF
+:1071D00000000000000000000000000000000000AF
+:1071E000000000000000000000000000000000009F
+:1071F000000000000000000000000000000000008F
+:10720000000000000000000000000000000000007E
+:10721000000000000000000000000000000000006E
+:10722000000000000000000000000000000000005E
+:10723000000000000000000000000000000000004E
+:10724000000000000000000000000000000000003E
+:10725000000000000000000000000000000000002E
+:10726000000000000000000200000000000000001C
+:10727000000000000000000000000000000000000E
+:1072800000000000000001000000000000000000FD
+:1072900000000000000000000000000000000000EE
+:1072A00000000000000000000000000000000000DE
+:1072B00000000000000000000000000000000000CE
+:1072C00000000000000000000000000000000000BE
+:1072D00000000000000000000000000000000000AE
+:1072E000000000000000000000000000000000009E
+:1072F000000000000000000000000000000000008E
+:10730000000000000000000000000000000000007D
+:10731000000000000000000000000000000000006D
+:10732000000000000000000000000000000000005D
+:10733000000000000000000000000000000000004D
+:10734000000000000000000000000000000000003D
+:10735000000000000000000000000000000000002D
+:10736000000000000000000200000000000000001B
+:10737000000000000000000000000000000000000D
+:1073800000000000000001000000000000000000FC
+:1073900000000000000000000000000000000000ED
+:1073A00000000000000000000000000000000000DD
+:1073B00000000000000000000000000000000000CD
+:1073C00000000000000000000000000000000000BD
+:1073D00000000000000000000000000000000000AD
+:1073E000000000000000000000000000000000009D
+:1073F000000000000000000000000000000000008D
+:10740000000000000000000000000000000000007C
+:10741000000000000000000000000000000000006C
+:10742000000000000000000000000000000000005C
+:10743000000000000000000000000000000000004C
+:10744000000000000000000000000000000000003C
+:10745000000000000000000000000000000000002C
+:10746000000000000000000200000000000000001A
+:10747000000000000000000000000000000000000C
+:1074800000000000000001000000000000000000FB
+:1074900000000000000000000000000000000000EC
+:1074A00000000000000000000000000000000000DC
+:1074B00000000000000000000000000000000000CC
+:1074C00000000000000000000000000000000000BC
+:1074D00000000000000000000000000000000000AC
+:1074E000000000000000000000000000000000009C
+:1074F000000000000000000000000000000000008C
+:10750000000000000000000000000000000000007B
+:10751000000000000000000000000000000000006B
+:10752000000000000000000000000000000000005B
+:10753000000000000000000000000000000000004B
+:10754000000000000000000000000000000000003B
+:10755000000000000000000000000000000000002B
+:107560000000000000000002000000000000000019
+:10757000000000000000000000000000000000000B
+:1075800000000000000001000000000000000000FA
+:1075900000000000000000000000000000000000EB
+:1075A00000000000000000000000000000000000DB
+:1075B00000000000000000000000000000000000CB
+:1075C00000000000000000000000000000000000BB
+:1075D00000000000000000000000000000000000AB
+:1075E000000000000000000000000000000000009B
+:1075F000000000000000000000000000000000008B
+:10760000000000000000000000000000000000007A
+:10761000000000000000000000000000000000006A
+:10762000000000000000000000000000000000005A
+:10763000000000000000000000000000000000004A
+:10764000000000000000000000000000000000003A
+:10765000000000000000000000000000000000002A
+:107660000000000000000002000000000000000018
+:10767000000000000000000000000000000000000A
+:1076800000000000000001000000000000000000F9
+:1076900000000000000000000000000000000000EA
+:1076A00000000000000000000000000000000000DA
+:1076B00000000000000000000000000000000000CA
+:1076C00000000000000000000000000000000000BA
+:1076D00000000000000000000000000000000000AA
+:1076E000000000000000000000000000000000009A
+:1076F000000000000000000000000000000000008A
+:107700000000000000000000000000000000000079
+:107710000000000000000000000000000000000069
+:107720000000000000000000000000000000000059
+:107730000000000000000000000000000000000049
+:107740000000000000000000000000000000000039
+:107750000000000000000000000000000000000029
+:107760000000000000000002000000000000000017
+:107770000000000000000000000000000000000009
+:1077800000000000000001000000000000000000F8
+:1077900000000000000000000000000000000000E9
+:1077A00000000000000000000000000000000000D9
+:1077B00000000000000000000000000000000000C9
+:1077C00000000000000000000000000000000000B9
+:1077D00000000000000000000000000000000000A9
+:1077E0000000000000000000000000000000000099
+:1077F0000000000000000000000000000000000089
+:107800000000000000000000000000000000000078
+:107810000000000000000000000000000000000068
+:107820000000000000000000000000000000000058
+:107830000000000000000000000000000000000048
+:107840000000000000000000000000000000000038
+:107850000000000000000000000000000000000028
+:107860000000000000000002000000000000000016
+:107870000000000000000000000000000000000008
+:1078800000000000000001000000000000000000F7
+:1078900000000000000000000000000000000000E8
+:1078A00000000000000000000000000000000000D8
+:1078B00000000000000000000000000000000000C8
+:1078C00000000000000000000000000000000000B8
+:1078D00000000000000000000000000000000000A8
+:1078E0000000000000000000000000000000000098
+:1078F0000000000000000000000000000000000088
+:107900000000000000000000000000000000000077
+:107910000000000000000000000000000000000067
+:107920000000000000000000000000000000000057
+:107930000000000000000000000000000000000047
+:107940000000000000000000000000000000000037
+:107950000000000000000000000000000000000027
+:107960000000000000000002000000000000000015
+:107970000000000000000000000000000000000007
+:1079800000000000000001000000000000000000F6
+:1079900000000000000000000000000000000000E7
+:1079A00000000000000000000000000000000000D7
+:1079B00000000000000000000000000000000000C7
+:1079C00000000000000000000000000000000000B7
+:1079D00000000000000000000000000000000000A7
+:1079E0000000000000000000000000000000000097
+:1079F0000000000000000000000000000000000087
+:107A00000000000000000000000000000000000076
+:107A10000000000000000000000000000000000066
+:107A20000000000000000000000000000000000056
+:107A30000000000000000000000000000000000046
+:107A40000000000000000000000000000000000036
+:107A50000000000000000000000000000000000026
+:107A60000000000000000002000000000000000014
+:107A70000000000000000000000000000000000006
+:107A800000000000000001000000000000000000F5
+:107A900000000000000000000000000000000000E6
+:107AA00000000000000000000000000000000000D6
+:107AB00000000000000000000000000000000000C6
+:107AC00000000000000000000000000000000000B6
+:107AD00000000000000000000000000000000000A6
+:107AE0000000000000000000000000000000000096
+:107AF0000000000000000000000000000000000086
+:107B00000000000000000000000000000000000075
+:107B10000000000000000000000000000000000065
+:107B20000000000000000000000000000000000055
+:107B30000000000000000000000000000000000045
+:107B40000000000000000000000000000000000035
+:107B50000000000000000000000000000000000025
+:107B60000000000000000002000000000000000013
+:107B70000000000000000000000000000000000005
+:107B800000000000000001000000000000000000F4
+:107B900000000000000000000000000000000000E5
+:107BA00000000000000000000000000000000000D5
+:107BB00000000000000000000000000000000000C5
+:107BC00000000000000000000000000000000000B5
+:107BD00000000000000000000000000000000000A5
+:107BE0000000000000000000000000000000000095
+:107BF0000000000000000000000000000000000085
+:107C00000000000000000000000000000000000074
+:107C10000000000000000000000000000000000064
+:107C20000000000000000000000000000000000054
+:107C30000000000000000000000000000000000044
+:107C40000000000000000000000000000000000034
+:107C50000000000000000000000000000000000024
+:107C60000000000000000002000000000000000012
+:107C70000000000000000000000000000000000004
+:107C800000000000000001000000000000000000F3
+:107C900000000000000000000000000000000000E4
+:107CA00000000000000000000000000000000000D4
+:107CB00000000000000000000000000000000000C4
+:107CC00000000000000000000000000000000000B4
+:107CD00000000000000000000000000000000000A4
+:107CE0000000000000000000000000000000000094
+:107CF0000000000000000000000000000000000084
+:107D00000000000000000000000000000000000073
+:107D10000000000000000000000000000000000063
+:107D20000000000000000000000000000000000053
+:107D30000000000000000000000000000000000043
+:107D40000000000000000000000000000000000033
+:107D50000000000000000000000000000000000023
+:107D60000000000000000002000000000000000011
+:107D70000000000000000000000000000000000003
+:107D800000000000000001000000000000000000F2
+:107D900000000000000000000000000000000000E3
+:107DA00000000000000000000000000000000000D3
+:107DB00000000000000000000000000000000000C3
+:107DC00000000000000000000000000000000000B3
+:107DD00000000000000000000000000000000000A3
+:107DE0000000000000000000000000000000000093
+:107DF0000000000000000000000000000000000083
+:107E00000000000000000000000000000000000072
+:107E10000000000000000000000000000000000062
+:107E20000000000000000000000000000000000052
+:107E30000000000000000000000000000000000042
+:107E40000000000000000000000000000000000032
+:107E50000000000000000000000000000000000022
+:107E60000000000000000002000000000000000010
+:107E70000000000000000000000000000000000002
+:107E800000000000000000000000000000000000F2
+:107E900000000000000000000000000000000000E2
+:107EA00000000000000000000000000000000000D2
+:107EB00000000000000000000000000000000000C2
+:107EC00000000000000000000000000000000000B2
+:107ED00000000000000000000000000000000000A2
+:107EE0000000000000000000000000000000000092
+:107EF0000000000000000000000000000000000082
+:107F00000000000000000000000000000000000071
+:107F10000000000000000000000000000000000061
+:107F20000000000000000000000000000000000051
+:107F30000000000000000000000000000000000041
+:107F40000000000000000000000000000000000031
+:107F50000000000000000000000000000000000021
+:107F60000000000000000000000000000000000011
+:107F700000000000000000100000000000000000F1
+:107F800000000000000000000000000000000100F0
+:107F900000000000000000000000000000000000E1
+:107FA00000000000000000000000000000000000D1
+:107FB00000000000000000000000000000000000C1
+:107FC00000000000000000000000000000000000B1
+:107FD00000000000000000000000000000000000A1
+:107FE0000000000000000000000000000000000091
+:107FF0000000000000000000000000000000000081
+:108000000000000000000000000000000000000070
+:108010000000000000000000000000000000000060
+:108020000000000000000000000000000000000050
+:108030000000000000000000000000000000000040
+:108040000000000000000000000000000000000030
+:108050000000000000000000000000000000000020
+:10806000000000000000000000000000000000020E
+:108070000000000000000000000000000000000000
+:1080800000000000000000000000000000000100EF
+:1080900000000000000000000000000000000000E0
+:1080A00000000000000000000000000000000000D0
+:1080B00000000000000000000000000000000000C0
+:1080C00000000000000000000000000000000000B0
+:1080D00000000000000000000000000000000000A0
+:1080E0000000000000000000000000000000000090
+:1080F0000000000000000000000000000000000080
+:10810000000000000000000000000000000000006F
+:10811000000000000000000000000000000000005F
+:10812000000000000000000000000000000000004F
+:10813000000000000000000000000000000000003F
+:10814000000000000000000000000000000000002F
+:10815000000000000000000000000000000000001F
+:10816000000000000000000000000000000000020D
+:1081700000000000000000000000000000000000FF
+:1081800000000000000000000000000000000100EE
+:1081900000000000000000000000000000000000DF
+:1081A00000000000000000000000000000000000CF
+:1081B00000000000000000000000000000000000BF
+:1081C00000000000000000000000000000000000AF
+:1081D000000000000000000000000000000000009F
+:1081E000000000000000000000000000000000008F
+:1081F000000000000000000000000000000000007F
+:10820000000000000000000000000000000000006E
+:10821000000000000000000000000000000000005E
+:10822000000000000000000000000000000000004E
+:10823000000000000000000000000000000000003E
+:10824000000000000000000000000000000000002E
+:10825000000000000000000000000000000000001E
+:10826000000000000000000000000000000000020C
+:1082700000000000000000000000000000000000FE
+:1082800000000000000000000000000000000100ED
+:1082900000000000000000000000000000000000DE
+:1082A00000000000000000000000000000000000CE
+:1082B00000000000000000000000000000000000BE
+:1082C00000000000000000000000000000000000AE
+:1082D000000000000000000000000000000000009E
+:1082E000000000000000000000000000000000008E
+:1082F000000000000000000000000000000000007E
+:10830000000000000000000000000000000000006D
+:10831000000000000000000000000000000000005D
+:10832000000000000000000000000000000000004D
+:10833000000000000000000000000000000000003D
+:10834000000000000000000000000000000000002D
+:10835000000000000000000000000000000000001D
+:10836000000000000000000000000000000000020B
+:1083700000000000000000000000000000000000FD
+:1083800000000000000000000000000000000100EC
+:1083900000000000000000000000000000000000DD
+:1083A00000000000000000000000000000000000CD
+:1083B00000000000000000000000000000000000BD
+:1083C00000000000000000000000000000000000AD
+:1083D000000000000000000000000000000000009D
+:1083E000000000000000000000000000000000008D
+:1083F000000000000000000000000000000000007D
+:10840000000000000000000000000000000000006C
+:10841000000000000000000000000000000000005C
+:10842000000000000000000000000000000000004C
+:10843000000000000000000000000000000000003C
+:10844000000000000000000000000000000000002C
+:10845000000000000000000000000000000000001C
+:10846000000000000000000000000000000000020A
+:1084700000000000000000000000000000000000FC
+:1084800000000000000000000000000000000100EB
+:1084900000000000000000000000000000000000DC
+:1084A00000000000000000000000000000000000CC
+:1084B00000000000000000000000000000000000BC
+:1084C00000000000000000000000000000000000AC
+:1084D000000000000000000000000000000000009C
+:1084E000000000000000000000000000000000008C
+:1084F000000000000000000000000000000000007C
+:10850000000000000000000000000000000000006B
+:10851000000000000000000000000000000000005B
+:10852000000000000000000000000000000000004B
+:10853000000000000000000000000000000000003B
+:10854000000000000000000000000000000000002B
+:10855000000000000000000000000000000000001B
+:108560000000000000000000000000000000000209
+:1085700000000000000000000000000000000000FB
+:1085800000000000000000000000000000000100EA
+:1085900000000000000000000000000000000000DB
+:1085A00000000000000000000000000000000000CB
+:1085B00000000000000000000000000000000000BB
+:1085C00000000000000000000000000000000000AB
+:1085D000000000000000000000000000000000009B
+:1085E000000000000000000000000000000000008B
+:1085F000000000000000000000000000000000007B
+:10860000000000000000000000000000000000006A
+:10861000000000000000000000000000000000005A
+:10862000000000000000000000000000000000004A
+:10863000000000000000000000000000000000003A
+:10864000000000000000000000000000000000002A
+:10865000000000000000000000000000000000001A
+:108660000000000000000000000000000000000208
+:1086700000000000000000000000000000000000FA
+:1086800000000000000000000000000000000100E9
+:1086900000000000000000000000000000000000DA
+:1086A00000000000000000000000000000000000CA
+:1086B00000000000000000000000000000000000BA
+:1086C00000000000000000000000000000000000AA
+:1086D000000000000000000000000000000000009A
+:1086E000000000000000000000000000000000008A
+:1086F000000000000000000000000000000000007A
+:108700000000000000000000000000000000000069
+:108710000000000000000000000000000000000059
+:108720000000000000000000000000000000000049
+:108730000000000000000000000000000000000039
+:108740000000000000000000000000000000000029
+:108750000000000000000000000000000000000019
+:108760000000000000000000000000000000000207
+:1087700000000000000000000000000000000000F9
+:1087800000000000000000000000000000000100E8
+:1087900000000000000000000000000000000000D9
+:1087A00000000000000000000000000000000000C9
+:1087B00000000000000000000000000000000000B9
+:1087C00000000000000000000000000000000000A9
+:1087D0000000000000000000000000000000000099
+:1087E0000000000000000000000000000000000089
+:1087F0000000000000000000000000000000000079
+:108800000000000000000000000000000000000068
+:108810000000000000000000000000000000000058
+:108820000000000000000000000000000000000048
+:108830000000000000000000000000000000000038
+:108840000000000000000000000000000000000028
+:108850000000000000000000000000000000000018
+:108860000000000000000000000000000000000206
+:1088700000000000000000000000000000000000F8
+:1088800000000000000000000000000000000100E7
+:1088900000000000000000000000000000000000D8
+:1088A00000000000000000000000000000000000C8
+:1088B00000000000000000000000000000000000B8
+:1088C00000000000000000000000000000000000A8
+:1088D0000000000000000000000000000000000098
+:1088E0000000000000000000000000000000000088
+:1088F0000000000000000000000000000000000078
+:108900000000000000000000000000000000000067
+:108910000000000000000000000000000000000057
+:108920000000000000000000000000000000000047
+:108930000000000000000000000000000000000037
+:108940000000000000000000000000000000000027
+:108950000000000000000000000000000000000017
+:108960000000000000000000000000000000000205
+:1089700000000000000000000000000000000000F7
+:1089800000000000000000000000000000000100E6
+:1089900000000000000000000000000000000000D7
+:1089A00000000000000000000000000000000000C7
+:1089B00000000000000000000000000000000000B7
+:1089C00000000000000000000000000000000000A7
+:1089D0000000000000000000000000000000000097
+:1089E0000000000000000000000000000000000087
+:1089F0000000000000000000000000000000000077
+:108A00000000000000000000000000000000000066
+:108A10000000000000000000000000000000000056
+:108A20000000000000000000000000000000000046
+:108A30000000000000000000000000000000000036
+:108A40000000000000000000000000000000000026
+:108A50000000000000000000000000000000000016
+:108A60000000000000000000000000000000000204
+:108A700000000000000000000000000000000000F6
+:108A800000000000000000000000000000000100E5
+:108A900000000000000000000000000000000000D6
+:108AA00000000000000000000000000000000000C6
+:108AB00000000000000000000000000000000000B6
+:108AC00000000000000000000000000000000000A6
+:108AD0000000000000000000000000000000000096
+:108AE0000000000000000000000000000000000086
+:108AF0000000000000000000000000000000000076
+:108B00000000000000000000000000000000000065
+:108B10000000000000000000000000000000000055
+:108B20000000000000000000000000000000000045
+:108B30000000000000000000000000000000000035
+:108B40000000000000000000000000000000000025
+:108B50000000000000000000000000000000000015
+:108B60000000000000000000000000000000000203
+:108B700000000000000000000000000000000000F5
+:108B800000000000000000000000000000000100E4
+:108B900000000000000000000000000000000000D5
+:108BA00000000000000000000000000000000000C5
+:108BB00000000000000000000000000000000000B5
+:108BC00000000000000000000000000000000000A5
+:108BD0000000000000000000000000000000000095
+:108BE0000000000000000000000000000000000085
+:108BF0000000000000000000000000000000000075
+:108C00000000000000000000000000000000000064
+:108C10000000000000000000000000000000000054
+:108C20000000000000000000000000000000000044
+:108C30000000000000000000000000000000000034
+:108C40000000000000000000000000000000000024
+:108C50000000000000000000000000000000000014
+:108C60000000000000000000000000000000000202
+:108C700000000000000000000000000000000000F4
+:108C800000000000000000000000000000000100E3
+:108C900000000000000000000000000000000000D4
+:108CA00000000000000000000000000000000000C4
+:108CB00000000000000000000000000000000000B4
+:108CC00000000000000000000000000000000000A4
+:108CD0000000000000000000000000000000000094
+:108CE0000000000000000000000000000000000084
+:108CF0000000000000000000000000000000000074
+:108D00000000000000000000000000000000000063
+:108D10000000000000000000000000000000000053
+:108D20000000000000000000000000000000000043
+:108D30000000000000000000000000000000000033
+:108D40000000000000000000000000000000000023
+:108D50000000000000000000000000000000000013
+:108D60000000000000000000000000000000000201
+:108D700000000000000000000000000000000000F3
+:108D800000000000000000000000000000000100E2
+:108D900000000000000000000000000000000000D3
+:108DA00000000000000000000000000000000000C3
+:108DB00000000000000000000000000000000000B3
+:108DC00000000000000000000000000000000000A3
+:108DD0000000000000000000000000000000000093
+:108DE0000000000000000000000000000000000083
+:108DF0000000000000000000000000000000000073
+:108E00000000000000000000000000000000000062
+:108E10000000000000000000000000000000000052
+:108E20000000000000000000000000000000000042
+:108E30000000000000000000000000000000000032
+:108E40000000000000000000000000000000000022
+:108E50000000000000000000000000000000000012
+:108E60000000000000000000000000000000000200
+:108E700000000000000000000000000000000000F2
+:108E800000000000000000000000000000000000E2
+:108E900000000000000000000000000000000000D2
+:108EA00000000000000000000000000000000000C2
+:108EB00000000000000000000000000000000000B2
+:108EC00000000000000000000000000000000000A2
+:108ED0000000000000000000000000000000000092
+:108EE0000000000000000000000000000000000082
+:108EF0000000000000000000000000000000000072
+:108F00000000000000000000000000000000000061
+:108F10000000000000000000000000000000000051
+:108F20000000000000000000000000000000000041
+:108F30000000000000000000000000000000000031
+:108F40000000000000000000000000000000000021
+:108F50000000000000000000000000000000000011
+:108F60000000000000000000000000000000000001
+:108F70000000000000000000000000000000000FE2
+:108F800000000000000000000000000000000000E1
+:108F900000000000000001000000000000000000D0
+:108FA00000000000000000000000000000000000C1
+:108FB00000000000000000000000000000000000B1
+:108FC00000000000000000000000000000000000A1
+:108FD0000000000000000000000000000000000091
+:108FE0000000000000000000000000000000000081
+:108FF0000000000000000000000000000000000071
+:109000000000000000000000000000000000000060
+:109010000000000000000000000000000000000050
+:109020000000000000000000000000000000000040
+:109030000000000000000000000000000000000030
+:109040000000000000000000000000000000000020
+:109050000000000000000000000000000000000010
+:109060000000000000000000000000000000000000
+:1090700000000000000000020000000000000000EE
+:1090800000000000000000000000000000000000E0
+:1090900000000000000001000000000000000000CF
+:1090A00000000000000000000000000000000000C0
+:1090B00000000000000000000000000000000000B0
+:1090C00000000000000000000000000000000000A0
+:1090D0000000000000000000000000000000000090
+:1090E0000000000000000000000000000000000080
+:1090F0000000000000000000000000000000000070
+:10910000000000000000000000000000000000005F
+:10911000000000000000000000000000000000004F
+:10912000000000000000000000000000000000003F
+:10913000000000000000000000000000000000002F
+:10914000000000000000000000000000000000001F
+:10915000000000000000000000000000000000000F
+:1091600000000000000000000000000000000000FF
+:1091700000000000000000020000000000000000ED
+:1091800000000000000000000000000000000000DF
+:1091900000000000000001000000000000000000CE
+:1091A00000000000000000000000000000000000BF
+:1091B00000000000000000000000000000000000AF
+:1091C000000000000000000000000000000000009F
+:1091D000000000000000000000000000000000008F
+:1091E000000000000000000000000000000000007F
+:1091F000000000000000000000000000000000006F
+:10920000000000000000000000000000000000005E
+:10921000000000000000000000000000000000004E
+:10922000000000000000000000000000000000003E
+:10923000000000000000000000000000000000002E
+:10924000000000000000000000000000000000001E
+:10925000000000000000000000000000000000000E
+:1092600000000000000000000000000000000000FE
+:1092700000000000000000020000000000000000EC
+:1092800000000000000000000000000000000000DE
+:1092900000000000000001000000000000000000CD
+:1092A00000000000000000000000000000000000BE
+:1092B00000000000000000000000000000000000AE
+:1092C000000000000000000000000000000000009E
+:1092D000000000000000000000000000000000008E
+:1092E000000000000000000000000000000000007E
+:1092F000000000000000000000000000000000006E
+:10930000000000000000000000000000000000005D
+:10931000000000000000000000000000000000004D
+:10932000000000000000000000000000000000003D
+:10933000000000000000000000000000000000002D
+:10934000000000000000000000000000000000001D
+:10935000000000000000000000000000000000000D
+:1093600000000000000000000000000000000000FD
+:1093700000000000000000020000000000000000EB
+:1093800000000000000000000000000000000000DD
+:1093900000000000000001000000000000000000CC
+:1093A00000000000000000000000000000000000BD
+:1093B00000000000000000000000000000000000AD
+:1093C000000000000000000000000000000000009D
+:1093D000000000000000000000000000000000008D
+:1093E000000000000000000000000000000000007D
+:1093F000000000000000000000000000000000006D
+:10940000000000000000000000000000000000005C
+:10941000000000000000000000000000000000004C
+:10942000000000000000000000000000000000003C
+:10943000000000000000000000000000000000002C
+:10944000000000000000000000000000000000001C
+:10945000000000000000000000000000000000000C
+:1094600000000000000000000000000000000000FC
+:1094700000000000000000020000000000000000EA
+:1094800000000000000000000000000000000000DC
+:1094900000000000000001000000000000000000CB
+:1094A00000000000000000000000000000000000BC
+:1094B00000000000000000000000000000000000AC
+:1094C000000000000000000000000000000000009C
+:1094D000000000000000000000000000000000008C
+:1094E000000000000000000000000000000000007C
+:1094F000000000000000000000000000000000006C
+:10950000000000000000000000000000000000005B
+:10951000000000000000000000000000000000004B
+:10952000000000000000000000000000000000003B
+:10953000000000000000000000000000000000002B
+:10954000000000000000000000000000000000001B
+:10955000000000000000000000000000000000000B
+:1095600000000000000000000000000000000000FB
+:1095700000000000000000020000000000000000E9
+:1095800000000000000000000000000000000000DB
+:1095900000000000000001000000000000000000CA
+:1095A00000000000000000000000000000000000BB
+:1095B00000000000000000000000000000000000AB
+:1095C000000000000000000000000000000000009B
+:1095D000000000000000000000000000000000008B
+:1095E000000000000000000000000000000000007B
+:1095F000000000000000000000000000000000006B
+:10960000000000000000000000000000000000005A
+:10961000000000000000000000000000000000004A
+:10962000000000000000000000000000000000003A
+:10963000000000000000000000000000000000002A
+:10964000000000000000000000000000000000001A
+:10965000000000000000000000000000000000000A
+:1096600000000000000000000000000000000000FA
+:1096700000000000000000020000000000000000E8
+:1096800000000000000000000000000000000000DA
+:1096900000000000000001000000000000000000C9
+:1096A00000000000000000000000000000000000BA
+:1096B00000000000000000000000000000000000AA
+:1096C000000000000000000000000000000000009A
+:1096D000000000000000000000000000000000008A
+:1096E000000000000000000000000000000000007A
+:1096F000000000000000000000000000000000006A
+:109700000000000000000000000000000000000059
+:109710000000000000000000000000000000000049
+:109720000000000000000000000000000000000039
+:109730000000000000000000000000000000000029
+:109740000000000000000000000000000000000019
+:109750000000000000000000000000000000000009
+:1097600000000000000000000000000000000000F9
+:1097700000000000000000020000000000000000E7
+:1097800000000000000000000000000000000000D9
+:1097900000000000000001000000000000000000C8
+:1097A00000000000000000000000000000000000B9
+:1097B00000000000000000000000000000000000A9
+:1097C0000000000000000000000000000000000099
+:1097D0000000000000000000000000000000000089
+:1097E0000000000000000000000000000000000079
+:1097F0000000000000000000000000000000000069
+:109800000000000000000000000000000000000058
+:109810000000000000000000000000000000000048
+:109820000000000000000000000000000000000038
+:109830000000000000000000000000000000000028
+:109840000000000000000000000000000000000018
+:109850000000000000000000000000000000000008
+:1098600000000000000000000000000000000000F8
+:1098700000000000000000020000000000000000E6
+:1098800000000000000000000000000000000000D8
+:1098900000000000000001000000000000000000C7
+:1098A00000000000000000000000000000000000B8
+:1098B00000000000000000000000000000000000A8
+:1098C0000000000000000000000000000000000098
+:1098D0000000000000000000000000000000000088
+:1098E0000000000000000000000000000000000078
+:1098F0000000000000000000000000000000000068
+:109900000000000000000000000000000000000057
+:109910000000000000000000000000000000000047
+:109920000000000000000000000000000000000037
+:109930000000000000000000000000000000000027
+:109940000000000000000000000000000000000017
+:109950000000000000000000000000000000000007
+:1099600000000000000000000000000000000000F7
+:1099700000000000000000020000000000000000E5
+:1099800000000000000000000000000000000000D7
+:1099900000000000000001000000000000000000C6
+:1099A00000000000000000000000000000000000B7
+:1099B00000000000000000000000000000000000A7
+:1099C0000000000000000000000000000000000097
+:1099D0000000000000000000000000000000000087
+:1099E0000000000000000000000000000000000077
+:1099F0000000000000000000000000000000000067
+:109A00000000000000000000000000000000000056
+:109A10000000000000000000000000000000000046
+:109A20000000000000000000000000000000000036
+:109A30000000000000000000000000000000000026
+:109A40000000000000000000000000000000000016
+:109A50000000000000000000000000000000000006
+:109A600000000000000000000000000000000000F6
+:109A700000000000000000020000000000000000E4
+:109A800000000000000000000000000000000000D6
+:109A900000000000000001000000000000000000C5
+:109AA00000000000000000000000000000000000B6
+:109AB00000000000000000000000000000000000A6
+:109AC0000000000000000000000000000000000096
+:109AD0000000000000000000000000000000000086
+:109AE0000000000000000000000000000000000076
+:109AF0000000000000000000000000000000000066
+:109B00000000000000000000000000000000000055
+:109B10000000000000000000000000000000000045
+:109B20000000000000000000000000000000000035
+:109B30000000000000000000000000000000000025
+:109B40000000000000000000000000000000000015
+:109B50000000000000000000000000000000000005
+:109B600000000000000000000000000000000000F5
+:109B700000000000000000020000000000000000E3
+:109B800000000000000000000000000000000000D5
+:109B900000000000000001000000000000000000C4
+:109BA00000000000000000000000000000000000B5
+:109BB00000000000000000000000000000000000A5
+:109BC0000000000000000000000000000000000095
+:109BD0000000000000000000000000000000000085
+:109BE0000000000000000000000000000000000075
+:109BF0000000000000000000000000000000000065
+:109C00000000000000000000000000000000000054
+:109C10000000000000000000000000000000000044
+:109C20000000000000000000000000000000000034
+:109C30000000000000000000000000000000000024
+:109C40000000000000000000000000000000000014
+:109C50000000000000000000000000000000000004
+:109C600000000000000000000000000000000000F4
+:109C700000000000000000020000000000000000E2
+:109C800000000000000000000000000000000000D4
+:109C900000000000000001000000000000000000C3
+:109CA00000000000000000000000000000000000B4
+:109CB00000000000000000000000000000000000A4
+:109CC0000000000000000000000000000000000094
+:109CD0000000000000000000000000000000000084
+:109CE0000000000000000000000000000000000074
+:109CF0000000000000000000000000000000000064
+:109D00000000000000000000000000000000000053
+:109D10000000000000000000000000000000000043
+:109D20000000000000000000000000000000000033
+:109D30000000000000000000000000000000000023
+:109D40000000000000000000000000000000000013
+:109D50000000000000000000000000000000000003
+:109D600000000000000000000000000000000000F3
+:109D700000000000000000020000000000000000E1
+:109D800000000000000000000000000000000000D3
+:109D900000000000000000000000000000000000C3
+:109DA00000000000000000000000000000000000B3
+:109DB00000000000000000000000000000000000A3
+:109DC0000000000000000000000000000000000093
+:109DD0000000000000000000000000000000000083
+:109DE0000000000000000000000000000000000073
+:109DF0000000000000000000000000000000000063
+:109E00000000000000000000000000000000000052
+:109E10000000000000000000000000000000000042
+:109E20000000000000000000000000000000000032
+:109E30000000000000000000000000000000000022
+:109E40000000000000000000000000000000000012
+:109E50000000000000000000000000000000000002
+:109E600000000000000000000000000000000000F2
+:109E700000000000000000000000000000000000E2
+:109E8000000000000000000A0000000000000000C8
+:109E900000000000000000000000000000000100C1
+:109EA00000000000000000000000000000000000B2
+:109EB00000000000000000000000000000000000A2
+:109EC0000000000000000000000000000000000092
+:109ED0000000000000000000000000000000000082
+:109EE0000000000000000000000000000000000072
+:109EF0000000000000000000000000000000000062
+:109F00000000000000000000000000000000000051
+:109F10000000000000000000000000000000000041
+:109F20000000000000000000000000000000000031
+:109F30000000000000000000000000000000000021
+:109F40000000000000000000000000000000000011
+:109F50000000000000000000000000000000000001
+:109F600000000000000000000000000000000000F1
+:109F700000000000000000000000000000000002DF
+:109F800000000000000000000000000000000000D1
+:109F900000000000000000000000000000000100C0
+:109FA00000000000000000000000000000000000B1
+:109FB00000000000000000000000000000000000A1
+:109FC0000000000000000000000000000000000091
+:109FD0000000000000000000000000000000000081
+:109FE0000000000000000000000000000000000071
+:109FF0000000000000000000000000000000000061
+:10A000000000000000000000000000000000000050
+:10A010000000000000000000000000000000000040
+:10A020000000000000000000000000000000000030
+:10A030000000000000000000000000000000000020
+:10A040000000000000000000000000000000000010
+:10A050000000000000000000000000000000000000
+:10A0600000000000000000000000000000000000F0
+:10A0700000000000000000000000000000000002DE
+:10A0800000000000000000000000000000000000D0
+:10A0900000000000000000000000000000000100BF
+:10A0A00000000000000000000000000000000000B0
+:10A0B00000000000000000000000000000000000A0
+:10A0C0000000000000000000000000000000000090
+:10A0D0000000000000000000000000000000000080
+:10A0E0000000000000000000000000000000000070
+:10A0F0000000000000000000000000000000000060
+:10A10000000000000000000000000000000000004F
+:10A11000000000000000000000000000000000003F
+:10A12000000000000000000000000000000000002F
+:10A13000000000000000000000000000000000001F
+:10A14000000000000000000000000000000000000F
+:10A1500000000000000000000000000000000000FF
+:10A1600000000000000000000000000000000000EF
+:10A1700000000000000000000000000000000002DD
+:10A1800000000000000000000000000000000000CF
+:10A1900000000000000000000000000000000100BE
+:10A1A00000000000000000000000000000000000AF
+:10A1B000000000000000000000000000000000009F
+:10A1C000000000000000000000000000000000008F
+:10A1D000000000000000000000000000000000007F
+:10A1E000000000000000000000000000000000006F
+:10A1F000000000000000000000000000000000005F
+:10A20000000000000000000000000000000000004E
+:10A21000000000000000000000000000000000003E
+:10A22000000000000000000000000000000000002E
+:10A23000000000000000000000000000000000001E
+:10A24000000000000000000000000000000000000E
+:10A2500000000000000000000000000000000000FE
+:10A2600000000000000000000000000000000000EE
+:10A2700000000000000000000000000000000002DC
+:10A2800000000000000000000000000000000000CE
+:10A2900000000000000000000000000000000100BD
+:10A2A00000000000000000000000000000000000AE
+:10A2B000000000000000000000000000000000009E
+:10A2C000000000000000000000000000000000008E
+:10A2D000000000000000000000000000000000007E
+:10A2E000000000000000000000000000000000006E
+:10A2F000000000000000000000000000000000005E
+:10A30000000000000000000000000000000000004D
+:10A31000000000000000000000000000000000003D
+:10A32000000000000000000000000000000000002D
+:10A33000000000000000000000000000000000001D
+:10A34000000000000000000000000000000000000D
+:10A3500000000000000000000000000000000000FD
+:10A3600000000000000000000000000000000000ED
+:10A3700000000000000000000000000000000002DB
+:10A3800000000000000000000000000000000000CD
+:10A3900000000000000000000000000000000100BC
+:10A3A00000000000000000000000000000000000AD
+:10A3B000000000000000000000000000000000009D
+:10A3C000000000000000000000000000000000008D
+:10A3D000000000000000000000000000000000007D
+:10A3E000000000000000000000000000000000006D
+:10A3F000000000000000000000000000000000005D
+:10A40000000000000000000000000000000000004C
+:10A41000000000000000000000000000000000003C
+:10A42000000000000000000000000000000000002C
+:10A43000000000000000000000000000000000001C
+:10A44000000000000000000000000000000000000C
+:10A4500000000000000000000000000000000000FC
+:10A4600000000000000000000000000000000000EC
+:10A4700000000000000000000000000000000002DA
+:10A4800000000000000000000000000000000000CC
+:10A4900000000000000000000000000000000100BB
+:10A4A00000000000000000000000000000000000AC
+:10A4B000000000000000000000000000000000009C
+:10A4C000000000000000000000000000000000008C
+:10A4D000000000000000000000000000000000007C
+:10A4E000000000000000000000000000000000006C
+:10A4F000000000000000000000000000000000005C
+:10A50000000000000000000000000000000000004B
+:10A51000000000000000000000000000000000003B
+:10A52000000000000000000000000000000000002B
+:10A53000000000000000000000000000000000001B
+:10A54000000000000000000000000000000000000B
+:10A5500000000000000000000000000000000000FB
+:10A5600000000000000000000000000000000000EB
+:10A5700000000000000000000000000000000002D9
+:10A5800000000000000000000000000000000000CB
+:10A5900000000000000000000000000000000100BA
+:10A5A00000000000000000000000000000000000AB
+:10A5B000000000000000000000000000000000009B
+:10A5C000000000000000000000000000000000008B
+:10A5D000000000000000000000000000000000007B
+:10A5E000000000000000000000000000000000006B
+:10A5F000000000000000000000000000000000005B
+:10A60000000000000000000000000000000000004A
+:10A61000000000000000000000000000000000003A
+:10A62000000000000000000000000000000000002A
+:10A63000000000000000000000000000000000001A
+:10A64000000000000000000000000000000000000A
+:10A6500000000000000000000000000000000000FA
+:10A6600000000000000000000000000000000000EA
+:10A6700000000000000000000000000000000002D8
+:10A6800000000000000000000000000000000000CA
+:10A6900000000000000000000000000000000100B9
+:10A6A00000000000000000000000000000000000AA
+:10A6B000000000000000000000000000000000009A
+:10A6C000000000000000000000000000000000008A
+:10A6D000000000000000000000000000000000007A
+:10A6E000000000000000000000000000000000006A
+:10A6F000000000000000000000000000000000005A
+:10A700000000000000000000000000000000000049
+:10A710000000000000000000000000000000000039
+:10A720000000000000000000000000000000000029
+:10A730000000000000000000000000000000000019
+:10A740000000000000000000000000000000000009
+:10A7500000000000000000000000000000000000F9
+:10A7600000000000000000000000000000000000E9
+:10A7700000000000000000000000000000000002D7
+:10A7800000000000000000000000000000000000C9
+:10A7900000000000000000000000000000000000B9
+:10A7A00000000000000000000000000000000000A9
+:10A7B0000000000000000000000000000000000099
+:10A7C0000000000000000000000000000000000089
+:10A7D0000000000000000000000000000000000079
+:10A7E0000000000000000000000000000000000069
+:10A7F0000000000000000000000000000000000059
+:10A800000000000000000000000000000000000048
+:10A810000000000000000000000000000000000038
+:10A820000000000000000000000000000000000028
+:10A830000000000000000000000000000000000018
+:10A840000000000000000000000000000000000008
+:10A8500000000000000000000000000000000000F8
+:10A8600000000000000000000000000000000000E8
+:10A8700000000000000000000000000000000000D8
+:10A880000000000000000000000000000000000ABE
+:10A8900000000000000000000000000000000000B8
+:10A8A00000000000000001000000000000000000A7
+:10A8B0000000000000000000000000000000000098
+:10A8C0000000000000000000000000000000000088
+:10A8D0000000000000000000000000000000000078
+:10A8E0000000000000000000000000000000000068
+:10A8F0000000000000000000000000000000000058
+:10A900000000000000000000000000000000000047
+:10A910000000000000000000000000000000000037
+:10A920000000000000000000000000000000000027
+:10A930000000000000000000000000000000000017
+:10A940000000000000000000000000000000000007
+:10A9500000000000000000000000000000000000F7
+:10A9600000000000000000000000000000000000E7
+:10A9700000000000000000000000000000000000D7
+:10A9800000000000000000020000000000000000C5
+:10A9900000000000000000000000000000000000B7
+:10A9A00000000000000001000000000000000000A6
+:10A9B0000000000000000000000000000000000097
+:10A9C0000000000000000000000000000000000087
+:10A9D0000000000000000000000000000000000077
+:10A9E0000000000000000000000000000000000067
+:10A9F0000000000000000000000000000000000057
+:10AA00000000000000000000000000000000000046
+:10AA10000000000000000000000000000000000036
+:10AA20000000000000000000000000000000000026
+:10AA30000000000000000000000000000000000016
+:10AA40000000000000000000000000000000000006
+:10AA500000000000000000000000000000000000F6
+:10AA600000000000000000000000000000000000E6
+:10AA700000000000000000000000000000000000D6
+:10AA800000000000000000020000000000000000C4
+:10AA900000000000000000000000000000000000B6
+:10AAA00000000000000001000000000000000000A5
+:10AAB0000000000000000000000000000000000096
+:10AAC0000000000000000000000000000000000086
+:10AAD0000000000000000000000000000000000076
+:10AAE0000000000000000000000000000000000066
+:10AAF0000000000000000000000000000000000056
+:10AB00000000000000000000000000000000000045
+:10AB10000000000000000000000000000000000035
+:10AB20000000000000000000000000000000000025
+:10AB30000000000000000000000000000000000015
+:10AB40000000000000000000000000000000000005
+:10AB500000000000000000000000000000000000F5
+:10AB600000000000000000000000000000000000E5
+:10AB700000000000000000000000000000000000D5
+:10AB800000000000000000020000000000000000C3
+:10AB900000000000000000000000000000000000B5
+:10ABA00000000000000001000000000000000000A4
+:10ABB0000000000000000000000000000000000095
+:10ABC0000000000000000000000000000000000085
+:10ABD0000000000000000000000000000000000075
+:10ABE0000000000000000000000000000000000065
+:10ABF0000000000000000000000000000000000055
+:10AC00000000000000000000000000000000000044
+:10AC10000000000000000000000000000000000034
+:10AC20000000000000000000000000000000000024
+:10AC30000000000000000000000000000000000014
+:10AC40000000000000000000000000000000000004
+:10AC500000000000000000000000000000000000F4
+:10AC600000000000000000000000000000000000E4
+:10AC700000000000000000000000000000000000D4
+:10AC800000000000000000020000000000000000C2
+:10AC900000000000000000000000000000000000B4
+:10ACA00000000000000001000000000000000000A3
+:10ACB0000000000000000000000000000000000094
+:10ACC0000000000000000000000000000000000084
+:10ACD0000000000000000000000000000000000074
+:10ACE0000000000000000000000000000000000064
+:10ACF0000000000000000000000000000000000054
+:10AD00000000000000000000000000000000000043
+:10AD10000000000000000000000000000000000033
+:10AD20000000000000000000000000000000000023
+:10AD30000000000000000000000000000000000013
+:10AD40000000000000000000000000000000000003
+:10AD500000000000000000000000000000000000F3
+:10AD600000000000000000000000000000000000E3
+:10AD700000000000000000000000000000000000D3
+:10AD800000000000000000020000000000000000C1
+:10AD900000000000000000000000000000000000B3
+:10ADA00000000000000001000000000000000000A2
+:10ADB0000000000000000000000000000000000093
+:10ADC0000000000000000000000000000000000083
+:10ADD0000000000000000000000000000000000073
+:10ADE0000000000000000000000000000000000063
+:10ADF0000000000000000000000000000000000053
+:10AE00000000000000000000000000000000000042
+:10AE10000000000000000000000000000000000032
+:10AE20000000000000000000000000000000000022
+:10AE30000000000000000000000000000000000012
+:10AE40000000000000000000000000000000000002
+:10AE500000000000000000000000000000000000F2
+:10AE600000000000000000000000000000000000E2
+:10AE700000000000000000000000000000000000D2
+:10AE800000000000000000020000000000000000C0
+:10AE900000000000000000000000000000000000B2
+:10AEA00000000000000001000000000000000000A1
+:10AEB0000000000000000000000000000000000092
+:10AEC0000000000000000000000000000000000082
+:10AED0000000000000000000000000000000000072
+:10AEE0000000000000000000000000000000000062
+:10AEF0000000000000000000000000000000000052
+:10AF00000000000000000000000000000000000041
+:10AF10000000000000000000000000000000000031
+:10AF20000000000000000000000000000000000021
+:10AF30000000000000000000000000000000000011
+:10AF40000000000000000000000000000000000001
+:10AF500000000000000000000000000000000000F1
+:10AF600000000000000000000000000000000000E1
+:10AF700000000000000000000000000000000000D1
+:10AF800000000000000000020000000000000000BF
+:10AF900000000000000000000000000000000000B1
+:10AFA00000000000000001000000000000000000A0
+:10AFB0000000000000000000000000000000000091
+:10AFC0000000000000000000000000000000000081
+:10AFD0000000000000000000000000000000000071
+:10AFE0000000000000000000000000000000000061
+:10AFF0000000000000000000000000000000000051
+:10B000000000000000000000000000000000000040
+:10B010000000000000000000000000000000000030
+:10B020000000000000000000000000000000000020
+:10B030000000000000000000000000000000000010
+:10B040000000000000000000000000000000000000
+:10B0500000000000000000000000000000000000F0
+:10B0600000000000000000000000000000000000E0
+:10B0700000000000000000000000000000000000D0
+:10B0800000000000000000020000000000000000BE
+:10B0900000000000000000000000000000000000B0
+:10B0A000000000000000010000000000000000009F
+:10B0B0000000000000000000000000000000000090
+:10B0C0000000000000000000000000000000000080
+:10B0D0000000000000000000000000000000000070
+:10B0E0000000000000000000000000000000000060
+:10B0F0000000000000000000000000000000000050
+:10B10000000000000000000000000000000000003F
+:10B11000000000000000000000000000000000002F
+:10B12000000000000000000000000000000000001F
+:10B13000000000000000000000000000000000000F
+:10B1400000000000000000000000000000000000FF
+:10B1500000000000000000000000000000000000EF
+:10B1600000000000000000000000000000000000DF
+:10B1700000000000000000000000000000000000CF
+:10B1800000000000000000020000000000000000BD
+:10B1900000000000000000000000000000000000AF
+:10B1A000000000000000000000000000000000009F
+:10B1B000000000000000000000000000000000008F
+:10B1C000000000000000000000000000000000007F
+:10B1D000000000000000000000000000000000006F
+:10B1E000000000000000000000000000000000005F
+:10B1F000000000000000000000000000000000004F
+:10B20000000000000000000000000000000000003E
+:10B21000000000000000000000000000000000002E
+:10B22000000000000000000000000000000000001E
+:10B23000000000000000000000000000000000000E
+:10B2400000000000000000000000000000000000FE
+:10B2500000000000000000000000000000000000EE
+:10B2600000000000000000000000000000000000DE
+:10B2700000000000000000000000000000000000CE
+:10B2800000000000000000000000000000000000BE
+:10B29000000000000000000A0000000000000000A4
+:10B2A000000000000000000000000000000001009D
+:10B2B000000000000000000000000000000000008E
+:10B2C000000000000000000000000000000000007E
+:10B2D000000000000000000000000000000000006E
+:10B2E000000000000000000000000000000000005E
+:10B2F000000000000000000000000000000000004E
+:10B30000000000000000000000000000000000003D
+:10B31000000000000000000000000000000000002D
+:10B32000000000000000000000000000000000001D
+:10B33000000000000000000000000000000000000D
+:10B3400000000000000000000000000000000000FD
+:10B3500000000000000000000000000000000000ED
+:10B3600000000000000000000000000000000000DD
+:10B3700000000000000000000000000000000000CD
+:10B3800000000000000000000000000000000002BB
+:10B3900000000000000000000000000000000000AD
+:10B3A000000000000000000000000000000001009C
+:10B3B000000000000000000000000000000000008D
+:10B3C000000000000000000000000000000000007D
+:10B3D000000000000000000000000000000000006D
+:10B3E000000000000000000000000000000000005D
+:10B3F000000000000000000000000000000000004D
+:10B40000000000000000000000000000000000003C
+:10B41000000000000000000000000000000000002C
+:10B42000000000000000000000000000000000001C
+:10B43000000000000000000000000000000000000C
+:10B4400000000000000000000000000000000000FC
+:10B4500000000000000000000000000000000000EC
+:10B4600000000000000000000000000000000000DC
+:10B4700000000000000000000000000000000000CC
+:10B4800000000000000000000000000000000002BA
+:10B4900000000000000000000000000000000000AC
+:10B4A000000000000000000000000000000001009B
+:10B4B000000000000000000000000000000000008C
+:10B4C000000000000000000000000000000000007C
+:10B4D000000000000000000000000000000000006C
+:10B4E000000000000000000000000000000000005C
+:10B4F000000000000000000000000000000000004C
+:10B50000000000000000000000000000000000003B
+:10B51000000000000000000000000000000000002B
+:10B52000000000000000000000000000000000001B
+:10B53000000000000000000000000000000000000B
+:10B5400000000000000000000000000000000000FB
+:10B5500000000000000000000000000000000000EB
+:10B5600000000000000000000000000000000000DB
+:10B5700000000000000000000000000000000000CB
+:10B5800000000000000000000000000000000002B9
+:10B5900000000000000000000000000000000000AB
+:10B5A000000000000000000000000000000001009A
+:10B5B000000000000000000000000000000000008B
+:10B5C000000000000000000000000000000000007B
+:10B5D000000000000000000000000000000000006B
+:10B5E000000000000000000000000000000000005B
+:10B5F000000000000000000000000000000000004B
+:10B60000000000000000000000000000000000003A
+:10B61000000000000000000000000000000000002A
+:10B62000000000000000000000000000000000001A
+:10B63000000000000000000000000000000000000A
+:10B6400000000000000000000000000000000000FA
+:10B6500000000000000000000000000000000000EA
+:10B6600000000000000000000000000000000000DA
+:10B6700000000000000000000000000000000000CA
+:10B6800000000000000000000000000000000002B8
+:10B6900000000000000000000000000000000000AA
+:10B6A0000000000000000000000000000000010099
+:10B6B000000000000000000000000000000000008A
+:10B6C000000000000000000000000000000000007A
+:10B6D000000000000000000000000000000000006A
+:10B6E000000000000000000000000000000000005A
+:10B6F000000000000000000000000000000000004A
+:10B700000000000000000000000000000000000039
+:10B710000000000000000000000000000000000029
+:10B720000000000000000000000000000000000019
+:10B730000000000000000000000000000000000009
+:10B7400000000000000000000000000000000000F9
+:10B7500000000000000000000000000000000000E9
+:10B7600000000000000000000000000000000000D9
+:10B7700000000000000000000000000000000000C9
+:10B7800000000000000000000000000000000002B7
+:10B7900000000000000000000000000000000000A9
+:10B7A0000000000000000000000000000000010098
+:10B7B0000000000000000000000000000000000089
+:10B7C0000000000000000000000000000000000079
+:10B7D0000000000000000000000000000000000069
+:10B7E0000000000000000000000000000000000059
+:10B7F0000000000000000000000000000000000049
+:10B800000000000000000000000000000000000038
+:10B810000000000000000000000000000000000028
+:10B820000000000000000000000000000000000018
+:10B830000000000000000000000000000000000008
+:10B8400000000000000000000000000000000000F8
+:10B8500000000000000000000000000000000000E8
+:10B8600000000000000000000000000000000000D8
+:10B8700000000000000000000000000000000000C8
+:10B8800000000000000000000000000000000002B6
+:10B8900000000000000000000000000000000000A8
+:10B8A0000000000000000000000000000000010097
+:10B8B0000000000000000000000000000000000088
+:10B8C0000000000000000000000000000000000078
+:10B8D0000000000000000000000000000000000068
+:10B8E0000000000000000000000000000000000058
+:10B8F0000000000000000000000000000000000048
+:10B900000000000000000000000000000000000037
+:10B910000000000000000000000000000000000027
+:10B920000000000000000000000000000000000017
+:10B930000000000000000000000000000000000007
+:10B9400000000000000000000000000000000000F7
+:10B9500000000000000000000000000000000000E7
+:10B9600000000000000000000000000000000000D7
+:10B9700000000000000000000000000000000000C7
+:10B9800000000000000000000000000000000002B5
+:10B9900000000000000000000000000000000000A7
+:10B9A0000000000000000000000000000000010096
+:10B9B0000000000000000000000000000000000087
+:10B9C0000000000000000000000000000000000077
+:10B9D0000000000000000000000000000000000067
+:10B9E0000000000000000000000000000000000057
+:10B9F0000000000000000000000000000000000047
+:10BA00000000000000000000000000000000000036
+:10BA10000000000000000000000000000000000026
+:10BA20000000000000000000000000000000000016
+:10BA30000000000000000000000000000000000006
+:10BA400000000000000000000000000000000000F6
+:10BA500000000000000000000000000000000000E6
+:10BA600000000000000000000000000000000000D6
+:10BA700000000000000000000000000000000000C6
+:10BA800000000000000000000000000000000002B4
+:10BA900000000000000000000000000000000000A6
+:10BAA0000000000000000000000000000000010095
+:10BAB0000000000000000000000000000000000086
+:10BAC0000000000000000000000000000000000076
+:10BAD0000000000000000000000000000000000066
+:10BAE0000000000000000000000000000000000056
+:10BAF0000000000000000000000000000000000046
+:10BB00000000000000000000000000000000000035
+:10BB10000000000000000000000000000000000025
+:10BB20000000000000000000000000000000000015
+:10BB30000000000000000000000000000000000005
+:10BB400000000000000000000000000000000000F5
+:10BB500000000000000000000000000000000000E5
+:10BB600000000000000000000000000000000000D5
+:10BB700000000000000000000000000000000000C5
+:10BB800000000000000000000000000000000002B3
+:10BB900000000000000000000000000000000000A5
+:10BBA0000000000000000000000000000000000095
+:10BBB0000000000000000000000000000000000085
+:10BBC0000000000000000000000000000000000075
+:10BBD0000000000000000000000000000000000065
+:10BBE0000000000000000000000000000000000055
+:10BBF0000000000000000000000000000000000045
+:10BC00000000000000000000000000000000000034
+:10BC10000000000000000000000000000000000024
+:10BC20000000000000000000000000000000000014
+:10BC30000000000000000000000000000000000004
+:10BC400000000000000000000000000000000000F4
+:10BC500000000000000000000000000000000000E4
+:10BC600000000000000000000000000000000000D4
+:10BC700000000000000000000000000000000000C4
+:10BC800000000000000000000000000000000000B4
+:10BC90000000000000000000000000000000000A9A
+:10BCA0000000000000000000000000000000000094
+:10BCB0000000000000000100000000000000000083
+:10BCC0000000000000000000000000000000000074
+:10BCD0000000000000000000000000000000000064
+:10BCE0000000000000000000000000000000000054
+:10BCF0000000000000000000000000000000000044
+:10BD00000000000000000000000000000000000033
+:10BD10000000000000000000000000000000000023
+:10BD20000000000000000000000000000000000013
+:10BD30000000000000000000000000000000000003
+:10BD400000000000000000000000000000000000F3
+:10BD500000000000000000000000000000000000E3
+:10BD600000000000000000000000000000000000D3
+:10BD700000000000000000000000000000000000C3
+:10BD800000000000000000000000000000000000B3
+:10BD900000000000000000020000000000000000A1
+:10BDA0000000000000000000000000000000000093
+:10BDB0000000000000000100000000000000000082
+:10BDC0000000000000000000000000000000000073
+:10BDD0000000000000000000000000000000000063
+:10BDE0000000000000000000000000000000000053
+:10BDF0000000000000000000000000000000000043
+:10BE00000000000000000000000000000000000032
+:10BE10000000000000000000000000000000000022
+:10BE20000000000000000000000000000000000012
+:10BE30000000000000000000000000000000000002
+:10BE400000000000000000000000000000000000F2
+:10BE500000000000000000000000000000000000E2
+:10BE600000000000000000000000000000000000D2
+:10BE700000000000000000000000000000000000C2
+:10BE800000000000000000000000000000000000B2
+:10BE900000000000000000020000000000000000A0
+:10BEA0000000000000000000000000000000000092
+:10BEB0000000000000000100000000000000000081
+:10BEC0000000000000000000000000000000000072
+:10BED0000000000000000000000000000000000062
+:10BEE0000000000000000000000000000000000052
+:10BEF0000000000000000000000000000000000042
+:10BF00000000000000000000000000000000000031
+:10BF10000000000000000000000000000000000021
+:10BF20000000000000000000000000000000000011
+:10BF30000000000000000000000000000000000001
+:10BF400000000000000000000000000000000000F1
+:10BF500000000000000000000000000000000000E1
+:10BF600000000000000000000000000000000000D1
+:10BF700000000000000000000000000000000000C1
+:10BF800000000000000000000000000000000000B1
+:10BF9000000000000000000200000000000000009F
+:10BFA0000000000000000000000000000000000091
+:10BFB0000000000000000100000000000000000080
+:10BFC0000000000000000000000000000000000071
+:10BFD0000000000000000000000000000000000061
+:10BFE0000000000000000000000000000000000051
+:10BFF0000000000000000000000000000000000041
+:10C000000000000000000000000000000000000030
+:10C010000000000000000000000000000000000020
+:10C020000000000000000000000000000000000010
+:10C030000000000000000000000000000000000000
+:10C0400000000000000000000000000000000000F0
+:10C0500000000000000000000000000000000000E0
+:10C0600000000000000000000000000000000000D0
+:10C0700000000000000000000000000000000000C0
+:10C0800000000000000000000000000000000000B0
+:10C09000000000000000000200000000000000009E
+:10C0A0000000000000000000000000000000000090
+:10C0B000000000000000010000000000000000007F
+:10C0C0000000000000000000000000000000000070
+:10C0D0000000000000000000000000000000000060
+:10C0E0000000000000000000000000000000000050
+:10C0F0000000000000000000000000000000000040
+:10C10000000000000000000000000000000000002F
+:10C11000000000000000000000000000000000001F
+:10C12000000000000000000000000000000000000F
+:10C1300000000000000000000000000000000000FF
+:10C1400000000000000000000000000000000000EF
+:10C1500000000000000000000000000000000000DF
+:10C1600000000000000000000000000000000000CF
+:10C1700000000000000000000000000000000000BF
+:10C1800000000000000000000000000000000000AF
+:10C19000000000000000000200000000000000009D
+:10C1A000000000000000000000000000000000008F
+:10C1B000000000000000010000000000000000007E
+:10C1C000000000000000000000000000000000006F
+:10C1D000000000000000000000000000000000005F
+:10C1E000000000000000000000000000000000004F
+:10C1F000000000000000000000000000000000003F
+:10C20000000000000000000000000000000000002E
+:10C21000000000000000000000000000000000001E
+:10C22000000000000000000000000000000000000E
+:10C2300000000000000000000000000000000000FE
+:10C2400000000000000000000000000000000000EE
+:10C2500000000000000000000000000000000000DE
+:10C2600000000000000000000000000000000000CE
+:10C2700000000000000000000000000000000000BE
+:10C2800000000000000000000000000000000000AE
+:10C29000000000000000000200000000000000009C
+:10C2A000000000000000000000000000000000008E
+:10C2B000000000000000010000000000000000007D
+:10C2C000000000000000000000000000000000006E
+:10C2D000000000000000000000000000000000005E
+:10C2E000000000000000000000000000000000004E
+:10C2F000000000000000000000000000000000003E
+:10C30000000000000000000000000000000000002D
+:10C31000000000000000000000000000000000001D
+:10C32000000000000000000000000000000000000D
+:10C3300000000000000000000000000000000000FD
+:10C3400000000000000000000000000000000000ED
+:10C3500000000000000000000000000000000000DD
+:10C3600000000000000000000000000000000000CD
+:10C3700000000000000000000000000000000000BD
+:10C3800000000000000000000000000000000000AD
+:10C39000000000000000000200000000000000009B
+:10C3A000000000000000000000000000000000008D
+:10C3B000000000000000010000000000000000007C
+:10C3C000000000000000000000000000000000006D
+:10C3D000000000000000000000000000000000005D
+:10C3E000000000000000000000000000000000004D
+:10C3F000000000000000000000000000000000003D
+:10C40000000000000000000000000000000000002C
+:10C41000000000000000000000000000000000001C
+:10C42000000000000000000000000000000000000C
+:10C4300000000000000000000000000000000000FC
+:10C4400000000000000000000000000000000000EC
+:10C4500000000000000000000000000000000000DC
+:10C4600000000000000000000000000000000000CC
+:10C4700000000000000000000000000000000000BC
+:10C4800000000000000000000000000000000000AC
+:10C49000000000000000000200000000000000009A
+:10C4A000000000000000000000000000000000008C
+:10C4B000000000000000010000000000000000007B
+:10C4C000000000000000000000000000000000006C
+:10C4D000000000000000000000000000000000005C
+:10C4E000000000000000000000000000000000004C
+:10C4F000000000000000000000000000000000003C
+:10C50000000000000000000000000000000000002B
+:10C51000000000000000000000000000000000001B
+:10C52000000000000000000000000000000000000B
+:10C5300000000000000000000000000000000000FB
+:10C5400000000000000000000000000000000000EB
+:10C5500000000000000000000000000000000000DB
+:10C5600000000000000000000000000000000000CB
+:10C5700000000000000000000000000000000000BB
+:10C5800000000000000000000000000000000000AB
+:10C590000000000000000002000000000000000099
+:10C5A000000000000000000000000000000000008B
+:10C5B000000000000000000000000000000000007B
+:10C5C000000000000000000000000000000000006B
+:10C5D000000000000000000000000000000000005B
+:10C5E000000000000000000000000000000000004B
+:10C5F000000000000000000000000000000000003B
+:10C60000000000000000000000000000000000002A
+:10C61000000000000000000000000000000000001A
+:10C62000000000000000000000000000000000000A
+:10C6300000000000000000000000000000000000FA
+:10C6400000000000000000000000000000000000EA
+:10C6500000000000000000000000000000000000DA
+:10C6600000000000000000000000000000000000CA
+:10C6700000000000000000000000000000000000BA
+:10C6800000000000000000000000000000000000AA
+:10C69000000000000000000000000000000000009A
+:10C6A000000000000000000A000000000000000080
+:10C6B0000000000000000000000000000000010079
+:10C6C000000000000000000000000000000000006A
+:10C6D000000000000000000000000000000000005A
+:10C6E000000000000000000000000000000000004A
+:10C6F000000000000000000000000000000000003A
+:10C700000000000000000000000000000000000029
+:10C710000000000000000000000000000000000019
+:10C720000000000000000000000000000000000009
+:10C7300000000000000000000000000000000000F9
+:10C7400000000000000000000000000000000000E9
+:10C7500000000000000000000000000000000000D9
+:10C7600000000000000000000000000000000000C9
+:10C7700000000000000000000000000000000000B9
+:10C7800000000000000000000000000000000000A9
+:10C790000000000000000000000000000000000297
+:10C7A0000000000000000000000000000000000089
+:10C7B0000000000000000000000000000000010078
+:10C7C0000000000000000000000000000000000069
+:10C7D0000000000000000000000000000000000059
+:10C7E0000000000000000000000000000000000049
+:10C7F0000000000000000000000000000000000039
+:10C800000000000000000000000000000000000028
+:10C810000000000000000000000000000000000018
+:10C820000000000000000000000000000000000008
+:10C8300000000000000000000000000000000000F8
+:10C8400000000000000000000000000000000000E8
+:10C8500000000000000000000000000000000000D8
+:10C8600000000000000000000000000000000000C8
+:10C8700000000000000000000000000000000000B8
+:10C8800000000000000000000000000000000000A8
+:10C890000000000000000000000000000000000296
+:10C8A0000000000000000000000000000000000088
+:10C8B0000000000000000000000000000000010077
+:10C8C0000000000000000000000000000000000068
+:10C8D0000000000000000000000000000000000058
+:10C8E0000000000000000000000000000000000048
+:10C8F0000000000000000000000000000000000038
+:10C900000000000000000000000000000000000027
+:10C910000000000000000000000000000000000017
+:10C920000000000000000000000000000000000007
+:10C9300000000000000000000000000000000000F7
+:10C9400000000000000000000000000000000000E7
+:10C9500000000000000000000000000000000000D7
+:10C9600000000000000000000000000000000000C7
+:10C9700000000000000000000000000000000000B7
+:10C9800000000000000000000000000000000000A7
+:10C990000000000000000000000000000000000295
+:10C9A0000000000000000000000000000000000087
+:10C9B0000000000000000000000000000000010076
+:10C9C0000000000000000000000000000000000067
+:10C9D0000000000000000000000000000000000057
+:10C9E0000000000000000000000000000000000047
+:10C9F0000000000000000000000000000000000037
+:10CA00000000000000000000000000000000000026
+:10CA10000000000000000000000000000000000016
+:10CA20000000000000000000000000000000000006
+:10CA300000000000000000000000000000000000F6
+:10CA400000000000000000000000000000000000E6
+:10CA500000000000000000000000000000000000D6
+:10CA600000000000000000000000000000000000C6
+:10CA700000000000000000000000000000000000B6
+:10CA800000000000000000000000000000000000A6
+:10CA90000000000000000000000000000000000294
+:10CAA0000000000000000000000000000000000086
+:10CAB0000000000000000000000000000000010075
+:10CAC0000000000000000000000000000000000066
+:10CAD0000000000000000000000000000000000056
+:10CAE0000000000000000000000000000000000046
+:10CAF0000000000000000000000000000000000036
+:10CB00000000000000000000000000000000000025
+:10CB10000000000000000000000000000000000015
+:10CB20000000000000000000000000000000000005
+:10CB300000000000000000000000000000000000F5
+:10CB400000000000000000000000000000000000E5
+:10CB500000000000000000000000000000000000D5
+:10CB600000000000000000000000000000000000C5
+:10CB700000000000000000000000000000000000B5
+:10CB800000000000000000000000000000000000A5
+:10CB90000000000000000000000000000000000293
+:10CBA0000000000000000000000000000000000085
+:10CBB0000000000000000000000000000000010074
+:10CBC0000000000000000000000000000000000065
+:10CBD0000000000000000000000000000000000055
+:10CBE0000000000000000000000000000000000045
+:10CBF0000000000000000000000000000000000035
+:10CC00000000000000000000000000000000000024
+:10CC10000000000000000000000000000000000014
+:10CC20000000000000000000000000000000000004
+:10CC300000000000000000000000000000000000F4
+:10CC400000000000000000000000000000000000E4
+:10CC500000000000000000000000000000000000D4
+:10CC600000000000000000000000000000000000C4
+:10CC700000000000000000000000000000000000B4
+:10CC800000000000000000000000000000000000A4
+:10CC90000000000000000000000000000000000292
+:10CCA0000000000000000000000000000000000084
+:10CCB0000000000000000000000000000000010073
+:10CCC0000000000000000000000000000000000064
+:10CCD0000000000000000000000000000000000054
+:10CCE0000000000000000000000000000000000044
+:10CCF0000000000000000000000000000000000034
+:10CD00000000000000000000000000000000000023
+:10CD10000000000000000000000000000000000013
+:10CD20000000000000000000000000000000000003
+:10CD300000000000000000000000000000000000F3
+:10CD400000000000000000000000000000000000E3
+:10CD500000000000000000000000000000000000D3
+:10CD600000000000000000000000000000000000C3
+:10CD700000000000000000000000000000000000B3
+:10CD800000000000000000000000000000000000A3
+:10CD90000000000000000000000000000000000291
+:10CDA0000000000000000000000000000000000083
+:10CDB0000000000000000000000000000000010072
+:10CDC0000000000000000000000000000000000063
+:10CDD0000000000000000000000000000000000053
+:10CDE0000000000000000000000000000000000043
+:10CDF0000000000000000000000000000000000033
+:10CE00000000000000000000000000000000000022
+:10CE10000000000000000000000000000000000012
+:10CE20000000000000000000000000000000000002
+:10CE300000000000000000000000000000000000F2
+:10CE400000000000000000000000000000000000E2
+:10CE500000000000000000000000000000000000D2
+:10CE600000000000000000000000000000000000C2
+:10CE700000000000000000000000000000000000B2
+:10CE800000000000000000000000000000000000A2
+:10CE90000000000000000000000000000000000290
+:10CEA0000000000000000000000000000000000082
+:10CEB0000000000000000000000000000000010071
+:10CEC0000000000000000000000000000000000062
+:10CED0000000000000000000000000000000000052
+:10CEE0000000000000000000000000000000000042
+:10CEF0000000000000000000000000000000000032
+:10CF00000000000000000000000000000000000021
+:10CF10000000000000000000000000000000000011
+:10CF20000000000000000000000000000000000001
+:10CF300000000000000000000000000000000000F1
+:10CF400000000000000000000000000000000000E1
+:10CF500000000000000000000000000000000000D1
+:10CF600000000000000000000000000000000000C1
+:10CF700000000000000000000000000000000000B1
+:10CF800000000000000000000000000000000000A1
+:10CF9000000000000000000000000000000000028F
+:10CFA0000000000000000000000000000000000081
+:10CFB0000000000000000000000000000000000071
+:10CFC0000000000000000000000000000000000061
+:10CFD0000000000000000000000000000000000051
+:10CFE0000000000000000000000000000000000041
+:10CFF0000000000000000000000000000000000031
+:10D000000000000000000000000000000000000020
+:10D010000000000000000000000000000000000010
+:10D020000000000000000000000000000000000000
+:10D0300000000000000000000000000000000000F0
+:10D0400000000000000000000000000000000000E0
+:10D0500000000000000000000000000000000000D0
+:10D0600000000000000000000000000000000000C0
+:10D0700000000000000000000000000000000000B0
+:10D0800000000000000000000000000000000000A0
+:10D090000000000000000000000000000000000090
+:10D0A0000000000000000000000000000000000A76
+:10D0B0000000000000000000000000000000000070
+:10D0C000000000000000010000000000000000005F
+:10D0D0000000000000000000000000000000000050
+:10D0E0000000000000000000000000000000000040
+:10D0F0000000000000000000000000000000000030
+:10D10000000000000000000000000000000000001F
+:10D11000000000000000000000000000000000000F
+:10D1200000000000000000000000000000000000FF
+:10D1300000000000000000000000000000000000EF
+:10D1400000000000000000000000000000000000DF
+:10D1500000000000000000000000000000000000CF
+:10D1600000000000000000000000000000000000BF
+:10D1700000000000000000000000000000000000AF
+:10D18000000000000000000000000000000000009F
+:10D19000000000000000000000000000000000008F
+:10D1A000000000000000000200000000000000007D
+:10D1B000000000000000000000000000000000006F
+:10D1C000000000000000010000000000000000005E
+:10D1D000000000000000000000000000000000004F
+:10D1E000000000000000000000000000000000003F
+:10D1F000000000000000000000000000000000002F
+:10D20000000000000000000000000000000000001E
+:10D21000000000000000000000000000000000000E
+:10D2200000000000000000000000000000000000FE
+:10D2300000000000000000000000000000000000EE
+:10D2400000000000000000000000000000000000DE
+:10D2500000000000000000000000000000000000CE
+:10D2600000000000000000000000000000000000BE
+:10D2700000000000000000000000000000000000AE
+:10D28000000000000000000000000000000000009E
+:10D29000000000000000000000000000000000008E
+:10D2A000000000000000000200000000000000007C
+:10D2B000000000000000000000000000000000006E
+:10D2C000000000000000010000000000000000005D
+:10D2D000000000000000000000000000000000004E
+:10D2E000000000000000000000000000000000003E
+:10D2F000000000000000000000000000000000002E
+:10D30000000000000000000000000000000000001D
+:10D31000000000000000000000000000000000000D
+:10D3200000000000000000000000000000000000FD
+:10D3300000000000000000000000000000000000ED
+:10D3400000000000000000000000000000000000DD
+:10D3500000000000000000000000000000000000CD
+:10D3600000000000000000000000000000000000BD
+:10D3700000000000000000000000000000000000AD
+:10D38000000000000000000000000000000000009D
+:10D39000000000000000000000000000000000008D
+:10D3A000000000000000000200000000000000007B
+:10D3B000000000000000000000000000000000006D
+:10D3C000000000000000010000000000000000005C
+:10D3D000000000000000000000000000000000004D
+:10D3E000000000000000000000000000000000003D
+:10D3F000000000000000000000000000000000002D
+:10D40000000000000000000000000000000000001C
+:10D41000000000000000000000000000000000000C
+:10D4200000000000000000000000000000000000FC
+:10D4300000000000000000000000000000000000EC
+:10D4400000000000000000000000000000000000DC
+:10D4500000000000000000000000000000000000CC
+:10D4600000000000000000000000000000000000BC
+:10D4700000000000000000000000000000000000AC
+:10D48000000000000000000000000000000000009C
+:10D49000000000000000000000000000000000008C
+:10D4A000000000000000000200000000000000007A
+:10D4B000000000000000000000000000000000006C
+:10D4C000000000000000010000000000000000005B
+:10D4D000000000000000000000000000000000004C
+:10D4E000000000000000000000000000000000003C
+:10D4F000000000000000000000000000000000002C
+:10D50000000000000000000000000000000000001B
+:10D51000000000000000000000000000000000000B
+:10D5200000000000000000000000000000000000FB
+:10D5300000000000000000000000000000000000EB
+:10D5400000000000000000000000000000000000DB
+:10D5500000000000000000000000000000000000CB
+:10D5600000000000000000000000000000000000BB
+:10D5700000000000000000000000000000000000AB
+:10D58000000000000000000000000000000000009B
+:10D59000000000000000000000000000000000008B
+:10D5A0000000000000000002000000000000000079
+:10D5B000000000000000000000000000000000006B
+:10D5C000000000000000010000000000000000005A
+:10D5D000000000000000000000000000000000004B
+:10D5E000000000000000000000000000000000003B
+:10D5F000000000000000000000000000000000002B
+:10D60000000000000000000000000000000000001A
+:10D61000000000000000000000000000000000000A
+:10D6200000000000000000000000000000000000FA
+:10D6300000000000000000000000000000000000EA
+:10D6400000000000000000000000000000000000DA
+:10D6500000000000000000000000000000000000CA
+:10D6600000000000000000000000000000000000BA
+:10D6700000000000000000000000000000000000AA
+:10D68000000000000000000000000000000000009A
+:10D69000000000000000000000000000000000008A
+:10D6A0000000000000000002000000000000000078
+:10D6B000000000000000000000000000000000006A
+:10D6C0000000000000000100000000000000000059
+:10D6D000000000000000000000000000000000004A
+:10D6E000000000000000000000000000000000003A
+:10D6F000000000000000000000000000000000002A
+:10D700000000000000000000000000000000000019
+:10D710000000000000000000000000000000000009
+:10D7200000000000000000000000000000000000F9
+:10D7300000000000000000000000000000000000E9
+:10D7400000000000000000000000000000000000D9
+:10D7500000000000000000000000000000000000C9
+:10D7600000000000000000000000000000000000B9
+:10D7700000000000000000000000000000000000A9
+:10D780000000000000000000000000000000000099
+:10D790000000000000000000000000000000000089
+:10D7A0000000000000000002000000000000000077
+:10D7B0000000000000000000000000000000000069
+:10D7C0000000000000000100000000000000000058
+:10D7D0000000000000000000000000000000000049
+:10D7E0000000000000000000000000000000000039
+:10D7F0000000000000000000000000000000000029
+:10D800000000000000000000000000000000000018
+:10D810000000000000000000000000000000000008
+:10D8200000000000000000000000000000000000F8
+:10D8300000000000000000000000000000000000E8
+:10D8400000000000000000000000000000000000D8
+:10D8500000000000000000000000000000000000C8
+:10D8600000000000000000000000000000000000B8
+:10D8700000000000000000000000000000000000A8
+:10D880000000000000000000000000000000000098
+:10D890000000000000000000000000000000000088
+:10D8A0000000000000000002000000000000000076
+:10D8B0000000000000000000000000000000000068
+:10D8C0000000000000000100000000000000000057
+:10D8D0000000000000000000000000000000000048
+:10D8E0000000000000000000000000000000000038
+:10D8F0000000000000000000000000000000000028
+:10D900000000000000000000000000000000000017
+:10D910000000000000000000000000000000000007
+:10D9200000000000000000000000000000000000F7
+:10D9300000000000000000000000000000000000E7
+:10D9400000000000000000000000000000000000D7
+:10D9500000000000000000000000000000000000C7
+:10D9600000000000000000000000000000000000B7
+:10D9700000000000000000000000000000000000A7
+:10D980000000000000000000000000000000000097
+:10D990000000000000000000000000000000000087
+:10D9A0000000000000000002000000000000000075
+:10D9B0000000000000000000000000000000000067
+:10D9C0000000000000000000000000000000000057
+:10D9D0000000000000000000000000000000000047
+:10D9E0000000000000000000000000000000000037
+:10D9F0000000000000000000000000000000000027
+:10DA00000000000000000000000000000000000016
+:10DA10000000000000000000000000000000000006
+:10DA200000000000000000000000000000000000F6
+:10DA300000000000000000000000000000000000E6
+:10DA400000000000000000000000000000000000D6
+:10DA500000000000000000000000000000000000C6
+:10DA600000000000000000000000000000000000B6
+:10DA700000000000000000000000000000000000A6
+:10DA80000000000000000000000000000000000096
+:10DA90000000000000000000000000000000000086
+:10DAA0000000000000000000000000000000000076
+:10DAB000000000000000000A00000000000000005C
+:10DAC0000000000000000000000000000000010055
+:10DAD0000000000000000000000000000000000046
+:10DAE0000000000000000000000000000000000036
+:10DAF0000000000000000000000000000000000026
+:10DB00000000000000000000000000000000000015
+:10DB10000000000000000000000000000000000005
+:10DB200000000000000000000000000000000000F5
+:10DB300000000000000000000000000000000000E5
+:10DB400000000000000000000000000000000000D5
+:10DB500000000000000000000000000000000000C5
+:10DB600000000000000000000000000000000000B5
+:10DB700000000000000000000000000000000000A5
+:10DB80000000000000000000000000000000000095
+:10DB90000000000000000000000000000000000085
+:10DBA0000000000000000000000000000000000273
+:10DBB0000000000000000000000000000000000065
+:10DBC0000000000000000000000000000000010054
+:10DBD0000000000000000000000000000000000045
+:10DBE0000000000000000000000000000000000035
+:10DBF0000000000000000000000000000000000025
+:10DC00000000000000000000000000000000000014
+:10DC10000000000000000000000000000000000004
+:10DC200000000000000000000000000000000000F4
+:10DC300000000000000000000000000000000000E4
+:10DC400000000000000000000000000000000000D4
+:10DC500000000000000000000000000000000000C4
+:10DC600000000000000000000000000000000000B4
+:10DC700000000000000000000000000000000000A4
+:10DC80000000000000000000000000000000000094
+:10DC90000000000000000000000000000000000084
+:10DCA0000000000000000000000000000000000272
+:10DCB0000000000000000000000000000000000064
+:10DCC0000000000000000000000000000000010053
+:10DCD0000000000000000000000000000000000044
+:10DCE0000000000000000000000000000000000034
+:10DCF0000000000000000000000000000000000024
+:10DD00000000000000000000000000000000000013
+:10DD10000000000000000000000000000000000003
+:10DD200000000000000000000000000000000000F3
+:10DD300000000000000000000000000000000000E3
+:10DD400000000000000000000000000000000000D3
+:10DD500000000000000000000000000000000000C3
+:10DD600000000000000000000000000000000000B3
+:10DD700000000000000000000000000000000000A3
+:10DD80000000000000000000000000000000000093
+:10DD90000000000000000000000000000000000083
+:10DDA0000000000000000000000000000000000271
+:10DDB0000000000000000000000000000000000063
+:10DDC0000000000000000000000000000000010052
+:10DDD0000000000000000000000000000000000043
+:10DDE0000000000000000000000000000000000033
+:10DDF0000000000000000000000000000000000023
+:10DE00000000000000000000000000000000000012
+:10DE10000000000000000000000000000000000002
+:10DE200000000000000000000000000000000000F2
+:10DE300000000000000000000000000000000000E2
+:10DE400000000000000000000000000000000000D2
+:10DE500000000000000000000000000000000000C2
+:10DE600000000000000000000000000000000000B2
+:10DE700000000000000000000000000000000000A2
+:10DE80000000000000000000000000000000000092
+:10DE90000000000000000000000000000000000082
+:10DEA0000000000000000000000000000000000270
+:10DEB0000000000000000000000000000000000062
+:10DEC0000000000000000000000000000000010051
+:10DED0000000000000000000000000000000000042
+:10DEE0000000000000000000000000000000000032
+:10DEF0000000000000000000000000000000000022
+:10DF00000000000000000000000000000000000011
+:10DF10000000000000000000000000000000000001
+:10DF200000000000000000000000000000000000F1
+:10DF300000000000000000000000000000000000E1
+:10DF400000000000000000000000000000000000D1
+:10DF500000000000000000000000000000000000C1
+:10DF600000000000000000000000000000000000B1
+:10DF700000000000000000000000000000000000A1
+:10DF80000000000000000000000000000000000091
+:10DF90000000000000000000000000000000000081
+:10DFA000000000000000000000000000000000026F
+:10DFB0000000000000000000000000000000000061
+:10DFC0000000000000000000000000000000010050
+:10DFD0000000000000000000000000000000000041
+:10DFE0000000000000000000000000000000000031
+:10DFF0000000000000000000000000000000000021
+:10E000000000000000000000000000000000000010
+:10E010000000000000000000000000000000000000
+:10E0200000000000000000000000000000000000F0
+:10E0300000000000000000000000000000000000E0
+:10E0400000000000000000000000000000000000D0
+:10E0500000000000000000000000000000000000C0
+:10E0600000000000000000000000000000000000B0
+:10E0700000000000000000000000000000000000A0
+:10E080000000000000000000000000000000000090
+:10E090000000000000000000000000000000000080
+:10E0A000000000000000000000000000000000026E
+:10E0B0000000000000000000000000000000000060
+:10E0C000000000000000000000000000000001004F
+:10E0D0000000000000000000000000000000000040
+:10E0E0000000000000000000000000000000000030
+:10E0F0000000000000000000000000000000000020
+:10E10000000000000000000000000000000000000F
+:10E1100000000000000000000000000000000000FF
+:10E1200000000000000000000000000000000000EF
+:10E1300000000000000000000000000000000000DF
+:10E1400000000000000000000000000000000000CF
+:10E1500000000000000000000000000000000000BF
+:10E1600000000000000000000000000000000000AF
+:10E17000000000000000000000000000000000009F
+:10E18000000000000000000000000000000000008F
+:10E19000000000000000000000000000000000007F
+:10E1A000000000000000000000000000000000026D
+:10E1B000000000000000000000000000000000005F
+:10E1C000000000000000000000000000000001004E
+:10E1D000000000000000000000000000000000003F
+:10E1E000000000000000000000000000000000002F
+:10E1F000000000000000000000000000000000001F
+:10E20000000000000000000000000000000000000E
+:10E2100000000000000000000000000000000000FE
+:10E2200000000000000000000000000000000000EE
+:10E2300000000000000000000000000000000000DE
+:10E2400000000000000000000000000000000000CE
+:10E2500000000000000000000000000000000000BE
+:10E2600000000000000000000000000000000000AE
+:10E27000000000000000000000000000000000009E
+:10E28000000000000000000000000000000000008E
+:10E29000000000000000000000000000000000007E
+:10E2A000000000000000000000000000000000026C
+:10E2B000000000000000000000000000000000005E
+:10E2C000000000000000000000000000000001004D
+:10E2D000000000000000000000000000000000003E
+:10E2E000000000000000000000000000000000002E
+:10E2F000000000000000000000000000000000001E
+:10E30000000000000000000000000000000000000D
+:10E3100000000000000000000000000000000000FD
+:10E3200000000000000000000000000000000000ED
+:10E3300000000000000000000000000000000000DD
+:10E3400000000000000000000000000000000000CD
+:10E3500000000000000000000000000000000000BD
+:10E3600000000000000000000000000000000000AD
+:10E37000000000000000000000000000000000009D
+:10E38000000000000000000000000000000000008D
+:10E39000000000000000000000000000000000007D
+:10E3A000000000000000000000000000000000026B
+:10E3B000000000000000000000000000000000005D
+:10E3C000000000000000000000000000000000004D
+:10E3D000000000000000000000000000000000003D
+:10E3E000000000000000000000000000000000002D
+:10E3F000000000000000000000000000000000001D
+:10E40000000000000000000000000000000000000C
+:10E4100000000000000000000000000000000000FC
+:10E4200000000000000000000000000000000000EC
+:10E4300000000000000000000000000000000000DC
+:10E4400000000000000000000000000000000000CC
+:10E4500000000000000000000000000000000000BC
+:10E4600000000000000000000000000000000000AC
+:10E47000000000000000000000000000000000009C
+:10E48000000000000000000000000000000000008C
+:10E49000000000000000000000000000000000007C
+:10E4A000000000000000000000000000000000006C
+:10E4B0000000000000000000000000000000000A52
+:10E4C000000000000000000000000000000000004C
+:10E4D000000000000000010000000000000000003B
+:10E4E000000000000000000000000000000000002C
+:10E4F000000000000000000000000000000000001C
+:10E50000000000000000000000000000000000000B
+:10E5100000000000000000000000000000000000FB
+:10E5200000000000000000000000000000000000EB
+:10E5300000000000000000000000000000000000DB
+:10E5400000000000000000000000000000000000CB
+:10E5500000000000000000000000000000000000BB
+:10E5600000000000000000000000000000000000AB
+:10E57000000000000000000000000000000000009B
+:10E58000000000000000000000000000000000008B
+:10E59000000000000000000000000000000000007B
+:10E5A000000000000000000000000000000000006B
+:10E5B0000000000000000002000000000000000059
+:10E5C000000000000000000000000000000000004B
+:10E5D000000000000000010000000000000000003A
+:10E5E000000000000000000000000000000000002B
+:10E5F000000000000000000000000000000000001B
+:10E60000000000000000000000000000000000000A
+:10E6100000000000000000000000000000000000FA
+:10E6200000000000000000000000000000000000EA
+:10E6300000000000000000000000000000000000DA
+:10E6400000000000000000000000000000000000CA
+:10E6500000000000000000000000000000000000BA
+:10E6600000000000000000000000000000000000AA
+:10E67000000000000000000000000000000000009A
+:10E68000000000000000000000000000000000008A
+:10E69000000000000000000000000000000000007A
+:10E6A000000000000000000000000000000000006A
+:10E6B0000000000000000002000000000000000058
+:10E6C000000000000000000000000000000000004A
+:10E6D0000000000000000100000000000000000039
+:10E6E000000000000000000000000000000000002A
+:10E6F000000000000000000000000000000000001A
+:10E700000000000000000000000000000000000009
+:10E7100000000000000000000000000000000000F9
+:10E7200000000000000000000000000000000000E9
+:10E7300000000000000000000000000000000000D9
+:10E7400000000000000000000000000000000000C9
+:10E7500000000000000000000000000000000000B9
+:10E7600000000000000000000000000000000000A9
+:10E770000000000000000000000000000000000099
+:10E780000000000000000000000000000000000089
+:10E790000000000000000000000000000000000079
+:10E7A0000000000000000000000000000000000069
+:10E7B0000000000000000002000000000000000057
+:10E7C0000000000000000000000000000000000049
+:10E7D0000000000000000100000000000000000038
+:10E7E0000000000000000000000000000000000029
+:10E7F0000000000000000000000000000000000019
+:10E800000000000000000000000000000000000008
+:10E8100000000000000000000000000000000000F8
+:10E8200000000000000000000000000000000000E8
+:10E8300000000000000000000000000000000000D8
+:10E8400000000000000000000000000000000000C8
+:10E8500000000000000000000000000000000000B8
+:10E8600000000000000000000000000000000000A8
+:10E870000000000000000000000000000000000098
+:10E880000000000000000000000000000000000088
+:10E890000000000000000000000000000000000078
+:10E8A0000000000000000000000000000000000068
+:10E8B0000000000000000002000000000000000056
+:10E8C0000000000000000000000000000000000048
+:10E8D0000000000000000100000000000000000037
+:10E8E0000000000000000000000000000000000028
+:10E8F0000000000000000000000000000000000018
+:10E900000000000000000000000000000000000007
+:10E9100000000000000000000000000000000000F7
+:10E9200000000000000000000000000000000000E7
+:10E9300000000000000000000000000000000000D7
+:10E9400000000000000000000000000000000000C7
+:10E9500000000000000000000000000000000000B7
+:10E9600000000000000000000000000000000000A7
+:10E970000000000000000000000000000000000097
+:10E980000000000000000000000000000000000087
+:10E990000000000000000000000000000000000077
+:10E9A0000000000000000000000000000000000067
+:10E9B0000000000000000002000000000000000055
+:10E9C0000000000000000000000000000000000047
+:10E9D0000000000000000100000000000000000036
+:10E9E0000000000000000000000000000000000027
+:10E9F0000000000000000000000000000000000017
+:10EA00000000000000000000000000000000000006
+:10EA100000000000000000000000000000000000F6
+:10EA200000000000000000000000000000000000E6
+:10EA300000000000000000000000000000000000D6
+:10EA400000000000000000000000000000000000C6
+:10EA500000000000000000000000000000000000B6
+:10EA600000000000000000000000000000000000A6
+:10EA70000000000000000000000000000000000096
+:10EA80000000000000000000000000000000000086
+:10EA90000000000000000000000000000000000076
+:10EAA0000000000000000000000000000000000066
+:10EAB0000000000000000002000000000000000054
+:10EAC0000000000000000000000000000000000046
+:10EAD0000000000000000100000000000000000035
+:10EAE0000000000000000000000000000000000026
+:10EAF0000000000000000000000000000000000016
+:10EB00000000000000000000000000000000000005
+:10EB100000000000000000000000000000000000F5
+:10EB200000000000000000000000000000000000E5
+:10EB300000000000000000000000000000000000D5
+:10EB400000000000000000000000000000000000C5
+:10EB500000000000000000000000000000000000B5
+:10EB600000000000000000000000000000000000A5
+:10EB70000000000000000000000000000000000095
+:10EB80000000000000000000000000000000000085
+:10EB90000000000000000000000000000000000075
+:10EBA0000000000000000000000000000000000065
+:10EBB0000000000000000002000000000000000053
+:10EBC0000000000000000000000000000000000045
+:10EBD0000000000000000100000000000000000034
+:10EBE0000000000000000000000000000000000025
+:10EBF0000000000000000000000000000000000015
+:10EC00000000000000000000000000000000000004
+:10EC100000000000000000000000000000000000F4
+:10EC200000000000000000000000000000000000E4
+:10EC300000000000000000000000000000000000D4
+:10EC400000000000000000000000000000000000C4
+:10EC500000000000000000000000000000000000B4
+:10EC600000000000000000000000000000000000A4
+:10EC70000000000000000000000000000000000094
+:10EC80000000000000000000000000000000000084
+:10EC90000000000000000000000000000000000074
+:10ECA0000000000000000000000000000000000064
+:10ECB0000000000000000002000000000000000052
+:10ECC0000000000000000000000000000000000044
+:10ECD0000000000000000100000000000000000033
+:10ECE0000000000000000000000000000000000024
+:10ECF0000000000000000000000000000000000014
+:10ED00000000000000000000000000000000000003
+:10ED100000000000000000000000000000000000F3
+:10ED200000000000000000000000000000000000E3
+:10ED300000000000000000000000000000000000D3
+:10ED400000000000000000000000000000000000C3
+:10ED500000000000000000000000000000000000B3
+:10ED600000000000000000000000000000000000A3
+:10ED70000000000000000000000000000000000093
+:10ED80000000000000000000000000000000000083
+:10ED90000000000000000000000000000000000073
+:10EDA0000000000000000000000000000000000063
+:10EDB0000000000000000002000000000000000051
+:10EDC0000000000000000000000000000000000043
+:10EDD0000000000000000000000000000000000033
+:10EDE0000000000000000000000000000000000023
+:10EDF0000000000000000000000000000000000013
+:10EE00000000000000000000000000000000000002
+:10EE100000000000000000000000000000000000F2
+:10EE200000000000000000000000000000000000E2
+:10EE300000000000000000000000000000000000D2
+:10EE400000000000000000000000000000000000C2
+:10EE500000000000000000000000000000000000B2
+:10EE600000000000000000000000000000000000A2
+:10EE70000000000000000000000000000000000092
+:10EE80000000000000000000000000000000000082
+:10EE90000000000000000000000000000000000072
+:10EEA0000000000000000000000000000000000062
+:10EEB0000000000000000000000000000000000052
+:07EEC000000000000000004B
+:00000001FF
diff --git a/firmware/imx/epdc_E97_V110.fw.ihex b/firmware/imx/epdc_E97_V110.fw.ihex
new file mode 100644 (file)
index 0000000..3078acd
--- /dev/null
@@ -0,0 +1,54512 @@
+:1000000095533B1702B60000B701000004042C0012
+:100010000131020E6101010000000000410000D228
+:100020004800000100030E00FFFC00000000005526
+:10003000000306090C0F1215181B1E21262B303247
+:10004000200000000000000010DE0600000000009C
+:1000500000E9070000000000F0330B000000000082
+:100060009800000000000000A089000000000000CF
+:10007000A802010000000000B06F010000000000B5
+:10008000B8DC010000000000C077020000000000A2
+:10009000C806030000000000D07D0300000000003F
+:1000A000D8FA030000000000E06B0400000000002C
+:1000B000E8DE040000000000F04B05000000000036
+:1000C000F8B2050000000000001C0600000000005F
+:1000D000087F06000000000089000000000000000A
+:1000E0000101010101010101010101010101010100
+:1000F00001010101010101010101010101010101F0
+:1001000001010101010101010101010101010101DF
+:1001100001010101010101010101010101010101CF
+:1001200001010101010101010101010101010101BF
+:1001300001010101010101010101010101010101AF
+:10014000010101010101010101010101010101019F
+:10015000010101010101010101010101010101018F
+:10016000010101010101010101010101010101017F
+:10017000010101010101010101010101010101016F
+:10018000010101010101010101010101010101015F
+:10019000010101010101010101010101010101014F
+:1001A000010101010101010101010101010101013F
+:1001B000010101010101010101010101010101012F
+:1001C000010101010101010101010101010101011F
+:1001D000010101010101010101010101010101010F
+:1001E00001010101010101010101010101010101FF
+:1001F00001010101010101010101010101010101EF
+:1002000001010101010101010101010101010101DE
+:1002100001010101010101010101010101010101CE
+:1002200001010101010101010101010101010101BE
+:1002300001010101010101010101010101010101AE
+:10024000010101010101010101010101010101019E
+:10025000010101010101010101010101010101018E
+:10026000010101010101010101010101010101017E
+:10027000010101010101010101010101010101016E
+:10028000010101010101010101010101010101015E
+:10029000010101010101010101010101010101014E
+:1002A000010101010101010101010101010101013E
+:1002B000010101010101010101010101010101012E
+:1002C000010101010101010101010101010101011E
+:1002D000010101010101010101010101010101010E
+:1002E00001010101010101010101010101010101FE
+:1002F00001010101010101010101010101010101EE
+:1003000001010101010101010101010101010101DD
+:1003100001010101010101010101010101010101CD
+:1003200001010101010101010101010101010101BD
+:1003300001010101010101010101010101010101AD
+:10034000010101010101010101010101010101019D
+:10035000010101010101010101010101010101018D
+:10036000010101010101010101010101010101017D
+:10037000010101010101010101010101010101016D
+:10038000010101010101010101010101010101015D
+:10039000010101010101010101010101010101014D
+:1003A000010101010101010101010101010101013D
+:1003B000010101010101010101010101010101012D
+:1003C000010101010101010101010101010101011D
+:1003D000010101010101010101010101010101010D
+:1003E00001010101010101010101010101010101FD
+:1003F00001010101010101010101010101010101ED
+:1004000001010101010101010101010101010101DC
+:1004100001010101010101010101010101010101CC
+:1004200001010101010101010101010101010101BC
+:1004300001010101010101010101010101010101AC
+:10044000010101010101010101010101010101019C
+:10045000010101010101010101010101010101018C
+:10046000010101010101010101010101010101017C
+:10047000010101010101010101010101010101016C
+:10048000010101010101010101010101010101015C
+:10049000010101010101010101010101010101014C
+:1004A000010101010101010101010101010101013C
+:1004B000010101010101010101010101010101012C
+:1004C000010101010101010101010101010101011C
+:1004D000010101010101010101010101010101010C
+:1004E00001010101010101010101010101010101FC
+:1004F00001010101010101010101010101010101EC
+:1005000001010101010101010101010101010101DB
+:1005100001010101010101010101010101010101CB
+:1005200001010101010101010101010101010101BB
+:1005300001010101010101010101010101010101AB
+:10054000010101010101010101010101010101019B
+:10055000010101010101010101010101010101018B
+:10056000010101010101010101010101010101017B
+:10057000010101010101010101010101010101016B
+:10058000010101010101010101010101010101015B
+:10059000010101010101010101010101010101014B
+:1005A000010101010101010101010101010101013B
+:1005B000010101010101010101010101010101012B
+:1005C000010101010101010101010101010101011B
+:1005D000010101010101010101010101010101010B
+:1005E00001010101010101010101010101010101FB
+:1005F00001010101010101010101010101010101EB
+:1006000001010101010101010101010101010101DA
+:1006100001010101010101010101010101010101CA
+:1006200001010101010101010101010101010101BA
+:1006300001010101010101010101010101010101AA
+:10064000010101010101010101010101010101019A
+:10065000010101010101010101010101010101018A
+:10066000010101010101010101010101010101017A
+:10067000010101010101010101010101010101016A
+:10068000010101010101010101010101010101015A
+:10069000010101010101010101010101010101014A
+:1006A000010101010101010101010101010101013A
+:1006B000010101010101010101010101010101012A
+:1006C000010101010101010101010101010101011A
+:1006D000010101010101010101010101010101010A
+:1006E00001010101010101010101010101010101FA
+:1006F00001010101010101010101010101010101EA
+:1007000001010101010101010101010101010101D9
+:1007100001010101010101010101010101010101C9
+:1007200001010101010101010101010101010101B9
+:1007300001010101010101010101010101010101A9
+:100740000101010101010101010101010101010199
+:100750000101010101010101010101010101010189
+:100760000101010101010101010101010101010179
+:100770000101010101010101010101010101010169
+:100780000101010101010101010101010101010159
+:100790000101010101010101010101010101010149
+:1007A0000101010101010101010101010101010139
+:1007B0000101010101010101010101010101010129
+:1007C0000101010101010101010101010101010119
+:1007D0000101010101010101010101010101010109
+:1007E00001010101010101010101010101010101F9
+:1007F00001010101010101010101010101010101E9
+:1008000001010101010101010101010101010101D8
+:1008100001010101010101010101010101010101C8
+:1008200001010101010101010101010101010101B8
+:1008300001010101010101010101010101010101A8
+:100840000101010101010101010101010101010198
+:100850000101010101010101010101010101010188
+:100860000101010101010101010101010101010178
+:100870000101010101010101010101010101010168
+:100880000101010101010101010101010101010158
+:100890000101010101010101010101010101010148
+:1008A0000101010101010101010101010101010138
+:1008B0000101010101010101010101010101010128
+:1008C0000101010101010101010101010101010118
+:1008D0000101010101010101010101010101010108
+:1008E00001010101010101010101010101010101F8
+:1008F00001010101010101010101010101010101E8
+:1009000001010101010101010101010101010101D7
+:1009100001010101010101010101010101010101C7
+:1009200001010101010101010101010101010101B7
+:1009300001010101010101010101010101010101A7
+:100940000101010101010101010101010101010197
+:100950000101010101010101010101010101010187
+:100960000101010101010101010101010101010177
+:100970000101010101010101010101010101010167
+:100980000101010101010101010101010101010157
+:100990000101010101010101010101010101010147
+:1009A0000101010101010101010101010101010137
+:1009B0000101010101010101010101010101010127
+:1009C0000101010101010101010101010101010117
+:1009D0000101010101010101010101010101010107
+:1009E00001010101010101010101010101010101F7
+:1009F00001010101010101010101010101010101E7
+:100A000001010101010101010101010101010101D6
+:100A100001010101010101010101010101010101C6
+:100A200001010101010101010101010101010101B6
+:100A300001010101010101010101010101010101A6
+:100A40000101010101010101010101010101010196
+:100A50000101010101010101010101010101010186
+:100A60000101010101010101010101010101010176
+:100A70000101010101010101010101010101010166
+:100A80000101010101010101010101010101010156
+:100A90000101010101010101010101010101010146
+:100AA0000101010101010101010101010101010136
+:100AB0000101010101010101010101010101010126
+:100AC0000101010101010101010101010101010116
+:100AD0000101010101010101010101010101010106
+:100AE00001010101010101010101010101010101F6
+:100AF00001010101010101010101010101010101E6
+:100B000001010101010101010101010101010101D5
+:100B100001010101010101010101010101010101C5
+:100B200001010101010101010101010101010101B5
+:100B300001010101010101010101010101010101A5
+:100B40000101010101010101010101010101010195
+:100B50000101010101010101010101010101010185
+:100B60000101010101010101010101010101010175
+:100B70000101010101010101010101010101010165
+:100B80000101010101010101010101010101010155
+:100B90000101010101010101010101010101010145
+:100BA0000101010101010101010101010101010135
+:100BB0000101010101010101010101010101010125
+:100BC0000101010101010101010101010101010115
+:100BD0000101010101010101010101010101010105
+:100BE00001010101010101010101010101010101F5
+:100BF00001010101010101010101010101010101E5
+:100C000001010101010101010101010101010101D4
+:100C100001010101010101010101010101010101C4
+:100C200001010101010101010101010101010101B4
+:100C300001010101010101010101010101010101A4
+:100C40000101010101010101010101010101010194
+:100C50000101010101010101010101010101010184
+:100C60000101010101010101010101010101010174
+:100C70000101010101010101010101010101010164
+:100C80000101010101010101010101010101010154
+:100C90000101010101010101010101010101010144
+:100CA0000101010101010101010101010101010134
+:100CB0000101010101010101010101010101010124
+:100CC0000101010101010101010101010101010114
+:100CD0000101010101010101010101010101010104
+:100CE00001010101010101010101010101010101F4
+:100CF00001010101010101010101010101010101E4
+:100D000001010101010101010101010101010101D3
+:100D100001010101010101010101010101010101C3
+:100D200001010101010101010101010101010101B3
+:100D300001010101010101010101010101010101A3
+:100D40000101010101010101010101010101010193
+:100D50000101010101010101010101010101010183
+:100D60000101010101010101010101010101010173
+:100D70000101010101010101010101010101010163
+:100D80000101010101010101010101010101010153
+:100D90000101010101010101010101010101010143
+:100DA0000101010101010101010101010101010133
+:100DB0000101010101010101010101010101010123
+:100DC0000101010101010101010101010101010113
+:100DD0000101010101010101010101010101010103
+:100DE00001010101010101010101010101010101F3
+:100DF00001010101010101010101010101010101E3
+:100E000001010101010101010101010101010101D2
+:100E100001010101010101010101010101010101C2
+:100E200001010101010101010101010101010101B2
+:100E300001010101010101010101010101010101A2
+:100E40000101010101010101010101010101010192
+:100E50000101010101010101010101010101010182
+:100E60000101010101010101010101010101010172
+:100E70000101010101010101010101010101010162
+:100E80000101010101010101010101010101010152
+:100E90000101010101010101010101010101010142
+:100EA0000101010101010101010101010101010132
+:100EB0000101010101010101010101010101010122
+:100EC0000101010101010101010101010101010112
+:100ED0000101010101010101010101010101010102
+:100EE00001010101010101010101010101010101F2
+:100EF00001010101010101010101010101010101E2
+:100F000001010101010101010101010101010101D1
+:100F100001010101010101010101010101010101C1
+:100F200001010101010101010101010101010101B1
+:100F300001010101010101010101010101010101A1
+:100F40000101010101010101010101010101010191
+:100F50000101010101010101010101010101010181
+:100F60000101010101010101010101010101010171
+:100F70000101010101010101010101010101010161
+:100F80000101010101010101010101010101010151
+:100F90000101010101010101010101010101010141
+:100FA0000101010101010101010101010101010131
+:100FB0000101010101010101010101010101010121
+:100FC0000101010101010101010101010101010111
+:100FD0000101010101010101010101010101010101
+:100FE00001010101010101010101010101010101F1
+:100FF00001010101010101010101010101010101E1
+:1010000001010101010101010101010101010101D0
+:1010100001010101010101010101010101010101C0
+:1010200001010101010101010101010101010101B0
+:1010300001010101010101010101010101010101A0
+:101040000101010101010101010101010101010190
+:101050000101010101010101010101010101010180
+:101060000101010101010101010101010101010170
+:101070000101010101010101010101010101010160
+:101080000101010101010101010101010101010150
+:101090000101010101010101010101010101010140
+:1010A0000101010101010101010101010101010130
+:1010B0000101010101010101010101010101010120
+:1010C0000101010101010101010101010101010110
+:1010D0000101010101010101010101010101010100
+:1010E00001010101010101010101010101010101F0
+:1010F00001010101010101010101010101010101E0
+:1011000001010101010101010101010101010101CF
+:1011100001010101010101010101010101010101BF
+:1011200001010101010101010101010101010101AF
+:10113000010101010101010101010101010101019F
+:10114000010101010101010101010101010101018F
+:10115000010101010101010101010101010101017F
+:10116000010101010101010101010101010101016F
+:10117000010101010101010101010101010101015F
+:10118000010101010101010101010101010101014F
+:10119000010101010101010101010101010101013F
+:1011A000010101010101010101010101010101012F
+:1011B000010101010101010101010101010101011F
+:1011C000010101010101010101010101010101010F
+:1011D00001010101010101010101010101010101FF
+:1011E00001010101010101010101010101010101EF
+:1011F00001010101010101010101010101010101DF
+:1012000001010101010101010101010101010101CE
+:1012100001010101010101010101010101010101BE
+:1012200001010101010101010101010101010101AE
+:10123000010101010101010101010101010101019E
+:10124000010101010101010101010101010101018E
+:10125000010101010101010101010101010101017E
+:10126000010101010101010101010101010101016E
+:10127000010101010101010101010101010101015E
+:10128000010101010101010101010101010101014E
+:10129000010101010101010101010101010101013E
+:1012A000010101010101010101010101010101012E
+:1012B000010101010101010101010101010101011E
+:1012C000010101010101010101010101010101010E
+:1012D00001010101010101010101010101010101FE
+:1012E00001010101010101010101010101010101EE
+:1012F00001010101010101010101010101010101DE
+:1013000001010101010101010101010101010101CD
+:1013100001010101010101010101010101010101BD
+:1013200001010101010101010101010101010101AD
+:10133000010101010101010101010101010101019D
+:10134000010101010101010101010101010101018D
+:10135000010101010101010101010101010101017D
+:10136000010101010101010101010101010101016D
+:10137000010101010101010101010101010101015D
+:10138000010101010101010101010101010101014D
+:10139000010101010101010101010101010101013D
+:1013A000010101010101010101010101010101012D
+:1013B000010101010101010101010101010101011D
+:1013C000010101010101010101010101010101010D
+:1013D00001010101010101010101010101010101FD
+:1013E00001010101010101010101010101010101ED
+:1013F00001010101010101010101010101010101DD
+:1014000001010101010101010101010101010101CC
+:1014100001010101010101010101010101010101BC
+:1014200001010101010101010101010101010101AC
+:10143000010101010101010101010101010101019C
+:10144000010101010101010101010101010101018C
+:10145000010101010101010101010101010101017C
+:10146000010101010101010101010101010101016C
+:10147000010101010101010101010101010101015C
+:10148000010101010101010101010101010101014C
+:10149000010101010101010101010101010101013C
+:1014A000010101010101010101010101010101012C
+:1014B000010101010101010101010101010101011C
+:1014C000010101010101010101010101010101010C
+:1014D00001010101010101010101010101010101FC
+:1014E00001010101010101010101010101010101EC
+:1014F00001010101010101010101010101010101DC
+:1015000001010101010101010101010101010101CB
+:1015100001010101010101010101010101010101BB
+:1015200001010101010101010101010101010101AB
+:10153000010101010101010101010101010101019B
+:10154000010101010101010101010101010101018B
+:10155000010101010101010101010101010101017B
+:10156000010101010101010101010101010101016B
+:10157000010101010101010101010101010101015B
+:10158000010101010101010101010101010101014B
+:10159000010101010101010101010101010101013B
+:1015A000010101010101010101010101010101012B
+:1015B000010101010101010101010101010101011B
+:1015C000010101010101010101010101010101010B
+:1015D00001010101010101010101010101010101FB
+:1015E00001010101010101010101010101010101EB
+:1015F00001010101010101010101010101010101DB
+:1016000001010101010101010101010101010101CA
+:1016100001010101010101010101010101010101BA
+:1016200001010101010101010101010101010101AA
+:10163000010101010101010101010101010101019A
+:10164000010101010101010101010101010101018A
+:10165000010101010101010101010101010101017A
+:10166000010101010101010101010101010101016A
+:10167000010101010101010101010101010101015A
+:10168000010101010101010101010101010101014A
+:10169000010101010101010101010101010101013A
+:1016A000010101010101010101010101010101012A
+:1016B000010101010101010101010101010101011A
+:1016C000010101010101010101010101010101010A
+:1016D00001010101010101010101010101010101FA
+:1016E00001010101010101010101010101010101EA
+:1016F00001010101010101010101010101010101DA
+:1017000001010101010101010101010101010101C9
+:1017100001010101010101010101010101010101B9
+:1017200001010101010101010101010101010101A9
+:101730000101010101010101010101010101010199
+:101740000101010101010101010101010101010189
+:101750000101010101010101010101010101010179
+:101760000101010101010101010101010101010169
+:101770000101010101010101010101010101010159
+:101780000101010101010101010101010101010149
+:101790000101010101010101010101010101010139
+:1017A0000101010101010101010101010101010129
+:1017B0000101010101010101010101010101010119
+:1017C0000101010101010101010101010101010109
+:1017D00001010101010101010101010101010101F9
+:1017E00001010101010101010101010101010101E9
+:1017F00001010101010101010101010101010101D9
+:1018000001010101010101010101010101010101C8
+:1018100001010101010101010101010101010101B8
+:1018200001010101010101010101010101010101A8
+:101830000101010101010101010101010101010198
+:101840000101010101010101010101010101010188
+:101850000101010101010101010101010101010178
+:101860000101010101010101010101010101010168
+:101870000101010101010101010101010101010158
+:101880000101010101010101010101010101010148
+:101890000101010101010101010101010101010138
+:1018A0000101010101010101010101010101010128
+:1018B0000101010101010101010101010101010118
+:1018C0000101010101010101010101010101010108
+:1018D00001010101010101010101010101010101F8
+:1018E00001010101010101010101010101010101E8
+:1018F00001010101010101010101010101010101D8
+:1019000001010101010101010101010101010101C7
+:1019100001010101010101010101010101010101B7
+:1019200001010101010101010101010101010101A7
+:101930000101010101010101010101010101010197
+:101940000101010101010101010101010101010187
+:101950000101010101010101010101010101010177
+:101960000101010101010101010101010101010167
+:101970000101010101010101010101010101010157
+:101980000101010101010101010101010101010147
+:101990000101010101010101010101010101010137
+:1019A0000101010101010101010101010101010127
+:1019B0000101010101010101010101010101010117
+:1019C0000101010101010101010101010101010107
+:1019D00001010101010101010101010101010101F7
+:1019E00001010101010101010101010101010101E7
+:1019F00001010101010101010101010101010101D7
+:101A000001010101010101010101010101010101C6
+:101A100001010101010101010101010101010101B6
+:101A200001010101010101010101010101010101A6
+:101A30000101010101010101010101010101010196
+:101A40000101010101010101010101010101010186
+:101A50000101010101010101010101010101010176
+:101A60000101010101010101010101010101010166
+:101A70000101010101010101010101010101010156
+:101A80000101010101010101010101010101010146
+:101A90000101010101010101010101010101010136
+:101AA0000101010101010101010101010101010126
+:101AB0000101010101010101010101010101010116
+:101AC0000101010101010101010101010101010106
+:101AD00001010101010101010101010101010101F6
+:101AE00001010101010101010101010101010101E6
+:101AF00001010101010101010101010101010101D6
+:101B000001010101010101010101010101010101C5
+:101B100001010101010101010101010101010101B5
+:101B200001010101010101010101010101010101A5
+:101B30000101010101010101010101010101010195
+:101B40000101010101010101010101010101010185
+:101B50000101010101010101010101010101010175
+:101B60000101010101010101010101010101010165
+:101B70000101010101010101010101010101010155
+:101B80000101010101010101010101010101010145
+:101B90000101010101010101010101010101010135
+:101BA0000101010101010101010101010101010125
+:101BB0000101010101010101010101010101010115
+:101BC0000101010101010101010101010101010105
+:101BD00001010101010101010101010101010101F5
+:101BE00001010101010101010101010101010101E5
+:101BF00001010101010101010101010101010101D5
+:101C000001010101010101010101010101010101C4
+:101C100001010101010101010101010101010101B4
+:101C200001010101010101010101010101010101A4
+:101C30000101010101010101010101010101010194
+:101C40000101010101010101010101010101010184
+:101C50000101010101010101010101010101010174
+:101C60000101010101010101010101010101010164
+:101C70000101010101010101010101010101010154
+:101C80000101010101010101010101010101010144
+:101C90000101010101010101010101010101010134
+:101CA0000101010101010101010101010101010124
+:101CB0000101010101010101010101010101010114
+:101CC0000101010101010101010101010101010104
+:101CD00001010101010101010101010101010101F4
+:101CE00001010101010101010101010101010101E4
+:101CF00001010101010101010101010101010101D4
+:101D000001010101010101010101010101010101C3
+:101D100001010101010101010101010101010101B3
+:101D200001010101010101010101010101010101A3
+:101D30000101010101010101010101010101010193
+:101D40000101010101010101010101010101010183
+:101D50000101010101010101010101010101010173
+:101D60000101010101010101010101010101010163
+:101D70000101010101010101010101010101010153
+:101D80000101010101010101010101010101010143
+:101D90000101010101010101010101010101010133
+:101DA0000101010101010101010101010101010123
+:101DB0000101010101010101010101010101010113
+:101DC0000101010101010101010101010101010103
+:101DD00001010101010101010101010101010101F3
+:101DE00000000000000000000000000000000000F3
+:101DF00000000000000000000000000000000000E3
+:101E000000000000000000000000000000000000D2
+:101E100000000000000000000000000000000000C2
+:101E200000000000000000000000000000000000B2
+:101E300000000000000000000000000000000000A2
+:101E40000000000000000000000000000000000092
+:101E50000000000000000000000000000000000082
+:101E60000000000000000000000000000000000072
+:101E70000000000000000000000000000000000062
+:101E80000000000000000000000000000000000052
+:101E90000000000000000000000000000000000042
+:101EA0000000000000000000000000000000000032
+:101EB0000000000000000000000000000000000022
+:101EC0000000000000000000000000000000000012
+:101ED0000000000000000000000000000000000002
+:101EE00000000000000000000000000000000000F2
+:101EF00000000000000000000000000000000000E2
+:101F000000000000000000000000000000000000D1
+:101F100000000000000000000000000000000000C1
+:101F200000000000000000000000000000000000B1
+:101F300000000000000000000000000000000000A1
+:101F40000000000000000000000000000000000091
+:101F50000000000000000000000000000000000081
+:101F60000000000000000000000000000000000071
+:101F70000000000000000000000000000000000061
+:101F80000000000000000000000000000000000051
+:101F90000000000000000000000000000000000041
+:101FA0000000000000000000000000000000000031
+:101FB0000000000000000000000000000000000021
+:101FC0000000000000000000000000000000000011
+:101FD0000000000000000000000000000000000001
+:101FE00000000000000000000000000000000000F1
+:101FF00000000000000000000000000000000000E1
+:1020000000000000000000000000000000000000D0
+:1020100000000000000000000000000000000000C0
+:1020200000000000000000000000000000000000B0
+:1020300000000000000000000000000000000000A0
+:102040000000000000000000000000000000000090
+:102050000000000000000000000000000000000080
+:102060000000000000000000000000000000000070
+:102070000000000000000000000000000000000060
+:102080000000000000000000000000000000000050
+:102090000000000000000000000000000000000040
+:1020A0000000000000000000000000000000000030
+:1020B0000000000000000000000000000000000020
+:1020C0000000000000000000000000000000000010
+:1020D0000000000000000000000000000000000000
+:1020E00000000000000000000000000000000000F0
+:1020F00000000000000000000000000000000000E0
+:1021000000000000000000000000000000000000CF
+:1021100000000000000000000000000000000000BF
+:1021200000000000000000000000000000000000AF
+:10213000000000000000000000000000000000009F
+:10214000000000000000000000000000000000008F
+:10215000000000000000000000000000000000007F
+:10216000000000000000000000000000000000006F
+:10217000000000000000000000000000000000005F
+:10218000000000000000000000000000000000004F
+:10219000000000000000000000000000000000003F
+:1021A000000000000000000000000000000000002F
+:1021B000000000000000000000000000000000001F
+:1021C000000000000000000000000000000000000F
+:1021D00000000000000000000000000000000000FF
+:1021E00001010101010101010101010101010101DF
+:1021F00001010101010101010101010101010101CF
+:1022000001010101010101010101010101010101BE
+:1022100001010101010101010101010101010101AE
+:10222000010101010101010101010101010101019E
+:10223000010101010101010101010101010101018E
+:10224000010101010101010101010101010101017E
+:10225000010101010101010101010101010101016E
+:10226000010101010101010101010101010101015E
+:10227000010101010101010101010101010101014E
+:10228000010101010101010101010101010101013E
+:10229000010101010101010101010101010101012E
+:1022A000010101010101010101010101010101011E
+:1022B000010101010101010101010101010101010E
+:1022C00001010101010101010101010101010101FE
+:1022D00001010101010101010101010101010101EE
+:1022E00001010101010101010101010101010101DE
+:1022F00001010101010101010101010101010101CE
+:1023000001010101010101010101010101010101BD
+:1023100001010101010101010101010101010101AD
+:10232000010101010101010101010101010101019D
+:10233000010101010101010101010101010101018D
+:10234000010101010101010101010101010101017D
+:10235000010101010101010101010101010101016D
+:10236000010101010101010101010101010101015D
+:10237000010101010101010101010101010101014D
+:10238000010101010101010101010101010101013D
+:10239000010101010101010101010101010101012D
+:1023A000010101010101010101010101010101011D
+:1023B000010101010101010101010101010101010D
+:1023C00001010101010101010101010101010101FD
+:1023D00001010101010101010101010101010101ED
+:1023E00002020202020202020202020202020202CD
+:1023F00002020202020202020202020202020202BD
+:1024000002020202020202020202020202020202AC
+:10241000020202020202020202020202020202029C
+:10242000020202020202020202020202020202028C
+:10243000020202020202020202020202020202027C
+:10244000020202020202020202020202020202026C
+:10245000020202020202020202020202020202025C
+:10246000020202020202020202020202020202024C
+:10247000020202020202020202020202020202023C
+:10248000020202020202020202020202020202022C
+:10249000020202020202020202020202020202021C
+:1024A000020202020202020202020202020202020C
+:1024B00002020202020202020202020202020202FC
+:1024C00002020202020202020202020202020202EC
+:1024D00002020202020202020202020202020202DC
+:1024E00002020202020202020202020202020202CC
+:1024F00002020202020202020202020202020202BC
+:1025000002020202020202020202020202020202AB
+:10251000020202020202020202020202020202029B
+:10252000020202020202020202020202020202028B
+:10253000020202020202020202020202020202027B
+:10254000020202020202020202020202020202026B
+:10255000020202020202020202020202020202025B
+:10256000020202020202020202020202020202024B
+:10257000020202020202020202020202020202023B
+:10258000020202020202020202020202020202022B
+:10259000020202020202020202020202020202021B
+:1025A000020202020202020202020202020202020B
+:1025B00002020202020202020202020202020202FB
+:1025C00002020202020202020202020202020202EB
+:1025D00002020202020202020202020202020202DB
+:1025E00002020202020202020202020202020202CB
+:1025F00002020202020202020202020202020202BB
+:1026000002020202020202020202020202020202AA
+:10261000020202020202020202020202020202029A
+:10262000020202020202020202020202020202028A
+:10263000020202020202020202020202020202027A
+:10264000020202020202020202020202020202026A
+:10265000020202020202020202020202020202025A
+:10266000020202020202020202020202020202024A
+:10267000020202020202020202020202020202023A
+:10268000020202020202020202020202020202022A
+:10269000020202020202020202020202020202021A
+:1026A000020202020202020202020202020202020A
+:1026B00002020202020202020202020202020202FA
+:1026C00002020202020202020202020202020202EA
+:1026D00002020202020202020202020202020202DA
+:1026E00002020202020202020202020202020202CA
+:1026F00002020202020202020202020202020202BA
+:1027000002020202020202020202020202020202A9
+:102710000202020202020202020202020202020299
+:102720000202020202020202020202020202020289
+:102730000202020202020202020202020202020279
+:102740000202020202020202020202020202020269
+:102750000202020202020202020202020202020259
+:102760000202020202020202020202020202020249
+:102770000202020202020202020202020202020239
+:102780000202020202020202020202020202020229
+:102790000202020202020202020202020202020219
+:1027A0000202020202020202020202020202020209
+:1027B00002020202020202020202020202020202F9
+:1027C00002020202020202020202020202020202E9
+:1027D00002020202020202020202020202020202D9
+:1027E00002020202020202020202020202020202C9
+:1027F00002020202020202020202020202020202B9
+:1028000002020202020202020202020202020202A8
+:102810000202020202020202020202020202020298
+:102820000202020202020202020202020202020288
+:102830000202020202020202020202020202020278
+:102840000202020202020202020202020202020268
+:102850000202020202020202020202020202020258
+:102860000202020202020202020202020202020248
+:102870000202020202020202020202020202020238
+:102880000202020202020202020202020202020228
+:102890000202020202020202020202020202020218
+:1028A0000202020202020202020202020202020208
+:1028B00002020202020202020202020202020202F8
+:1028C00002020202020202020202020202020202E8
+:1028D00002020202020202020202020202020202D8
+:1028E00002020202020202020202020202020202C8
+:1028F00002020202020202020202020202020202B8
+:1029000002020202020202020202020202020202A7
+:102910000202020202020202020202020202020297
+:102920000202020202020202020202020202020287
+:102930000202020202020202020202020202020277
+:102940000202020202020202020202020202020267
+:102950000202020202020202020202020202020257
+:102960000202020202020202020202020202020247
+:102970000202020202020202020202020202020237
+:102980000202020202020202020202020202020227
+:102990000202020202020202020202020202020217
+:1029A0000202020202020202020202020202020207
+:1029B00002020202020202020202020202020202F7
+:1029C00002020202020202020202020202020202E7
+:1029D00002020202020202020202020202020202D7
+:1029E00002020202020202020202020202020202C7
+:1029F00002020202020202020202020202020202B7
+:102A000002020202020202020202020202020202A6
+:102A10000202020202020202020202020202020296
+:102A20000202020202020202020202020202020286
+:102A30000202020202020202020202020202020276
+:102A40000202020202020202020202020202020266
+:102A50000202020202020202020202020202020256
+:102A60000202020202020202020202020202020246
+:102A70000202020202020202020202020202020236
+:102A80000202020202020202020202020202020226
+:102A90000202020202020202020202020202020216
+:102AA0000202020202020202020202020202020206
+:102AB00002020202020202020202020202020202F6
+:102AC00002020202020202020202020202020202E6
+:102AD00002020202020202020202020202020202D6
+:102AE00002020202020202020202020202020202C6
+:102AF00002020202020202020202020202020202B6
+:102B000002020202020202020202020202020202A5
+:102B10000202020202020202020202020202020295
+:102B20000202020202020202020202020202020285
+:102B30000202020202020202020202020202020275
+:102B40000202020202020202020202020202020265
+:102B50000202020202020202020202020202020255
+:102B60000202020202020202020202020202020245
+:102B70000202020202020202020202020202020235
+:102B80000202020202020202020202020202020225
+:102B90000202020202020202020202020202020215
+:102BA0000202020202020202020202020202020205
+:102BB00002020202020202020202020202020202F5
+:102BC00002020202020202020202020202020202E5
+:102BD00002020202020202020202020202020202D5
+:102BE00002020202020202020202020202020202C5
+:102BF00002020202020202020202020202020202B5
+:102C000002020202020202020202020202020202A4
+:102C10000202020202020202020202020202020294
+:102C20000202020202020202020202020202020284
+:102C30000202020202020202020202020202020274
+:102C40000202020202020202020202020202020264
+:102C50000202020202020202020202020202020254
+:102C60000202020202020202020202020202020244
+:102C70000202020202020202020202020202020234
+:102C80000202020202020202020202020202020224
+:102C90000202020202020202020202020202020214
+:102CA0000202020202020202020202020202020204
+:102CB00002020202020202020202020202020202F4
+:102CC00002020202020202020202020202020202E4
+:102CD00002020202020202020202020202020202D4
+:102CE00002020202020202020202020202020202C4
+:102CF00002020202020202020202020202020202B4
+:102D000002020202020202020202020202020202A3
+:102D10000202020202020202020202020202020293
+:102D20000202020202020202020202020202020283
+:102D30000202020202020202020202020202020273
+:102D40000202020202020202020202020202020263
+:102D50000202020202020202020202020202020253
+:102D60000202020202020202020202020202020243
+:102D70000202020202020202020202020202020233
+:102D80000202020202020202020202020202020223
+:102D90000202020202020202020202020202020213
+:102DA0000202020202020202020202020202020203
+:102DB00002020202020202020202020202020202F3
+:102DC00002020202020202020202020202020202E3
+:102DD00002020202020202020202020202020202D3
+:102DE00002020202020202020202020202020202C3
+:102DF00002020202020202020202020202020202B3
+:102E000002020202020202020202020202020202A2
+:102E10000202020202020202020202020202020292
+:102E20000202020202020202020202020202020282
+:102E30000202020202020202020202020202020272
+:102E40000202020202020202020202020202020262
+:102E50000202020202020202020202020202020252
+:102E60000202020202020202020202020202020242
+:102E70000202020202020202020202020202020232
+:102E80000202020202020202020202020202020222
+:102E90000202020202020202020202020202020212
+:102EA0000202020202020202020202020202020202
+:102EB00002020202020202020202020202020202F2
+:102EC00002020202020202020202020202020202E2
+:102ED00002020202020202020202020202020202D2
+:102EE00002020202020202020202020202020202C2
+:102EF00002020202020202020202020202020202B2
+:102F000002020202020202020202020202020202A1
+:102F10000202020202020202020202020202020291
+:102F20000202020202020202020202020202020281
+:102F30000202020202020202020202020202020271
+:102F40000202020202020202020202020202020261
+:102F50000202020202020202020202020202020251
+:102F60000202020202020202020202020202020241
+:102F70000202020202020202020202020202020231
+:102F80000202020202020202020202020202020221
+:102F90000202020202020202020202020202020211
+:102FA0000202020202020202020202020202020201
+:102FB00002020202020202020202020202020202F1
+:102FC00002020202020202020202020202020202E1
+:102FD00002020202020202020202020202020202D1
+:102FE00002020202020202020202020202020202C1
+:102FF00002020202020202020202020202020202B1
+:1030000002020202020202020202020202020202A0
+:103010000202020202020202020202020202020290
+:103020000202020202020202020202020202020280
+:103030000202020202020202020202020202020270
+:103040000202020202020202020202020202020260
+:103050000202020202020202020202020202020250
+:103060000202020202020202020202020202020240
+:103070000202020202020202020202020202020230
+:103080000202020202020202020202020202020220
+:103090000202020202020202020202020202020210
+:1030A0000202020202020202020202020202020200
+:1030B00002020202020202020202020202020202F0
+:1030C00002020202020202020202020202020202E0
+:1030D00002020202020202020202020202020202D0
+:1030E00002020202020202020202020202020202C0
+:1030F00002020202020202020202020202020202B0
+:10310000020202020202020202020202020202029F
+:10311000020202020202020202020202020202028F
+:10312000020202020202020202020202020202027F
+:10313000020202020202020202020202020202026F
+:10314000020202020202020202020202020202025F
+:10315000020202020202020202020202020202024F
+:10316000020202020202020202020202020202023F
+:10317000020202020202020202020202020202022F
+:10318000020202020202020202020202020202021F
+:10319000020202020202020202020202020202020F
+:1031A00002020202020202020202020202020202FF
+:1031B00002020202020202020202020202020202EF
+:1031C00002020202020202020202020202020202DF
+:1031D00002020202020202020202020202020202CF
+:1031E00002020202020202020202020202020202BF
+:1031F00002020202020202020202020202020202AF
+:10320000020202020202020202020202020202029E
+:10321000020202020202020202020202020202028E
+:10322000020202020202020202020202020202027E
+:10323000020202020202020202020202020202026E
+:10324000020202020202020202020202020202025E
+:10325000020202020202020202020202020202024E
+:10326000020202020202020202020202020202023E
+:10327000020202020202020202020202020202022E
+:10328000020202020202020202020202020202021E
+:10329000020202020202020202020202020202020E
+:1032A00002020202020202020202020202020202FE
+:1032B00002020202020202020202020202020202EE
+:1032C00002020202020202020202020202020202DE
+:1032D00002020202020202020202020202020202CE
+:1032E00002020202020202020202020202020202BE
+:1032F00002020202020202020202020202020202AE
+:10330000020202020202020202020202020202029D
+:10331000020202020202020202020202020202028D
+:10332000020202020202020202020202020202027D
+:10333000020202020202020202020202020202026D
+:10334000020202020202020202020202020202025D
+:10335000020202020202020202020202020202024D
+:10336000020202020202020202020202020202023D
+:10337000020202020202020202020202020202022D
+:10338000020202020202020202020202020202021D
+:10339000020202020202020202020202020202020D
+:1033A00002020202020202020202020202020202FD
+:1033B00002020202020202020202020202020202ED
+:1033C00002020202020202020202020202020202DD
+:1033D00002020202020202020202020202020202CD
+:1033E00002020202020202020202020202020202BD
+:1033F00002020202020202020202020202020202AD
+:10340000020202020202020202020202020202029C
+:10341000020202020202020202020202020202028C
+:10342000020202020202020202020202020202027C
+:10343000020202020202020202020202020202026C
+:10344000020202020202020202020202020202025C
+:10345000020202020202020202020202020202024C
+:10346000020202020202020202020202020202023C
+:10347000020202020202020202020202020202022C
+:10348000020202020202020202020202020202021C
+:10349000020202020202020202020202020202020C
+:1034A00002020202020202020202020202020202FC
+:1034B00002020202020202020202020202020202EC
+:1034C00002020202020202020202020202020202DC
+:1034D00002020202020202020202020202020202CC
+:1034E00002020202020202020202020202020202BC
+:1034F00002020202020202020202020202020202AC
+:10350000020202020202020202020202020202029B
+:10351000020202020202020202020202020202028B
+:10352000020202020202020202020202020202027B
+:10353000020202020202020202020202020202026B
+:10354000020202020202020202020202020202025B
+:10355000020202020202020202020202020202024B
+:10356000020202020202020202020202020202023B
+:10357000020202020202020202020202020202022B
+:10358000020202020202020202020202020202021B
+:10359000020202020202020202020202020202020B
+:1035A00002020202020202020202020202020202FB
+:1035B00002020202020202020202020202020202EB
+:1035C00002020202020202020202020202020202DB
+:1035D00002020202020202020202020202020202CB
+:1035E00002020202020202020202020202020202BB
+:1035F00002020202020202020202020202020202AB
+:10360000020202020202020202020202020202029A
+:10361000020202020202020202020202020202028A
+:10362000020202020202020202020202020202027A
+:10363000020202020202020202020202020202026A
+:10364000020202020202020202020202020202025A
+:10365000020202020202020202020202020202024A
+:10366000020202020202020202020202020202023A
+:10367000020202020202020202020202020202022A
+:10368000020202020202020202020202020202021A
+:10369000020202020202020202020202020202020A
+:1036A00002020202020202020202020202020202FA
+:1036B00002020202020202020202020202020202EA
+:1036C00002020202020202020202020202020202DA
+:1036D00002020202020202020202020202020202CA
+:1036E00002020202020202020202020202020202BA
+:1036F00002020202020202020202020202020202AA
+:103700000202020202020202020202020202020299
+:103710000202020202020202020202020202020289
+:103720000202020202020202020202020202020279
+:103730000202020202020202020202020202020269
+:103740000202020202020202020202020202020259
+:103750000202020202020202020202020202020249
+:103760000202020202020202020202020202020239
+:103770000202020202020202020202020202020229
+:103780000202020202020202020202020202020219
+:103790000202020202020202020202020202020209
+:1037A00002020202020202020202020202020202F9
+:1037B00002020202020202020202020202020202E9
+:1037C00002020202020202020202020202020202D9
+:1037D00002020202020202020202020202020202C9
+:1037E00002020202020202020202020202020202B9
+:1037F00002020202020202020202020202020202A9
+:103800000202020202020202020202020202020298
+:103810000202020202020202020202020202020288
+:103820000202020202020202020202020202020278
+:103830000202020202020202020202020202020268
+:103840000202020202020202020202020202020258
+:103850000202020202020202020202020202020248
+:103860000202020202020202020202020202020238
+:103870000202020202020202020202020202020228
+:103880000202020202020202020202020202020218
+:103890000202020202020202020202020202020208
+:1038A00002020202020202020202020202020202F8
+:1038B00002020202020202020202020202020202E8
+:1038C00002020202020202020202020202020202D8
+:1038D00002020202020202020202020202020202C8
+:1038E00002020202020202020202020202020202B8
+:1038F00002020202020202020202020202020202A8
+:103900000202020202020202020202020202020297
+:103910000202020202020202020202020202020287
+:103920000202020202020202020202020202020277
+:103930000202020202020202020202020202020267
+:103940000202020202020202020202020202020257
+:103950000202020202020202020202020202020247
+:103960000202020202020202020202020202020237
+:103970000202020202020202020202020202020227
+:103980000202020202020202020202020202020217
+:103990000202020202020202020202020202020207
+:1039A00002020202020202020202020202020202F7
+:1039B00002020202020202020202020202020202E7
+:1039C00002020202020202020202020202020202D7
+:1039D00002020202020202020202020202020202C7
+:1039E00002020202020202020202020202020202B7
+:1039F00002020202020202020202020202020202A7
+:103A00000202020202020202020202020202020296
+:103A10000202020202020202020202020202020286
+:103A20000202020202020202020202020202020276
+:103A30000202020202020202020202020202020266
+:103A40000202020202020202020202020202020256
+:103A50000202020202020202020202020202020246
+:103A60000202020202020202020202020202020236
+:103A70000202020202020202020202020202020226
+:103A80000202020202020202020202020202020216
+:103A90000202020202020202020202020202020206
+:103AA00002020202020202020202020202020202F6
+:103AB00002020202020202020202020202020202E6
+:103AC00002020202020202020202020202020202D6
+:103AD00002020202020202020202020202020202C6
+:103AE00002020202020202020202020202020202B6
+:103AF00002020202020202020202020202020202A6
+:103B00000202020202020202020202020202020295
+:103B10000202020202020202020202020202020285
+:103B20000202020202020202020202020202020275
+:103B30000202020202020202020202020202020265
+:103B40000202020202020202020202020202020255
+:103B50000202020202020202020202020202020245
+:103B60000202020202020202020202020202020235
+:103B70000202020202020202020202020202020225
+:103B80000202020202020202020202020202020215
+:103B90000202020202020202020202020202020205
+:103BA00002020202020202020202020202020202F5
+:103BB00002020202020202020202020202020202E5
+:103BC00002020202020202020202020202020202D5
+:103BD00002020202020202020202020202020202C5
+:103BE00002020202020202020202020202020202B5
+:103BF00002020202020202020202020202020202A5
+:103C00000202020202020202020202020202020294
+:103C10000202020202020202020202020202020284
+:103C20000202020202020202020202020202020274
+:103C30000202020202020202020202020202020264
+:103C40000202020202020202020202020202020254
+:103C50000202020202020202020202020202020244
+:103C60000202020202020202020202020202020234
+:103C70000202020202020202020202020202020224
+:103C80000202020202020202020202020202020214
+:103C90000202020202020202020202020202020204
+:103CA00002020202020202020202020202020202F4
+:103CB00002020202020202020202020202020202E4
+:103CC00002020202020202020202020202020202D4
+:103CD00002020202020202020202020202020202C4
+:103CE00002020202020202020202020202020202B4
+:103CF00002020202020202020202020202020202A4
+:103D00000202020202020202020202020202020293
+:103D10000202020202020202020202020202020283
+:103D20000202020202020202020202020202020273
+:103D30000202020202020202020202020202020263
+:103D40000202020202020202020202020202020253
+:103D50000202020202020202020202020202020243
+:103D60000202020202020202020202020202020233
+:103D70000202020202020202020202020202020223
+:103D80000202020202020202020202020202020213
+:103D90000202020202020202020202020202020203
+:103DA00002020202020202020202020202020202F3
+:103DB00002020202020202020202020202020202E3
+:103DC00002020202020202020202020202020202D3
+:103DD00002020202020202020202020202020202C3
+:103DE00002020202020202020202020202020202B3
+:103DF00002020202020202020202020202020202A3
+:103E00000202020202020202020202020202020292
+:103E10000202020202020202020202020202020282
+:103E20000202020202020202020202020202020272
+:103E30000202020202020202020202020202020262
+:103E40000202020202020202020202020202020252
+:103E50000202020202020202020202020202020242
+:103E60000202020202020202020202020202020232
+:103E70000202020202020202020202020202020222
+:103E80000202020202020202020202020202020212
+:103E90000202020202020202020202020202020202
+:103EA00002020202020202020202020202020202F2
+:103EB00002020202020202020202020202020202E2
+:103EC00002020202020202020202020202020202D2
+:103ED00002020202020202020202020202020202C2
+:103EE00002020202020202020202020202020202B2
+:103EF00002020202020202020202020202020202A2
+:103F00000202020202020202020202020202020291
+:103F10000202020202020202020202020202020281
+:103F20000202020202020202020202020202020271
+:103F30000202020202020202020202020202020261
+:103F40000202020202020202020202020202020251
+:103F50000202020202020202020202020202020241
+:103F60000202020202020202020202020202020231
+:103F70000202020202020202020202020202020221
+:103F80000202020202020202020202020202020211
+:103F90000202020202020202020202020202020201
+:103FA00002020202020202020202020202020202F1
+:103FB00002020202020202020202020202020202E1
+:103FC00002020202020202020202020202020202D1
+:103FD00002020202020202020202020202020202C1
+:103FE00002020202020202020202020202020202B1
+:103FF00002020202020202020202020202020202A1
+:104000000202020202020202020202020202020290
+:104010000202020202020202020202020202020280
+:104020000202020202020202020202020202020270
+:104030000202020202020202020202020202020260
+:104040000202020202020202020202020202020250
+:104050000202020202020202020202020202020240
+:104060000202020202020202020202020202020230
+:104070000202020202020202020202020202020220
+:104080000202020202020202020202020202020210
+:104090000202020202020202020202020202020200
+:1040A00002020202020202020202020202020202F0
+:1040B00002020202020202020202020202020202E0
+:1040C00002020202020202020202020202020202D0
+:1040D00002020202020202020202020202020202C0
+:1040E00002020202020202020202020202020202B0
+:1040F00002020202020202020202020202020202A0
+:10410000020202020202020202020202020202028F
+:10411000020202020202020202020202020202027F
+:10412000020202020202020202020202020202026F
+:10413000020202020202020202020202020202025F
+:10414000020202020202020202020202020202024F
+:10415000020202020202020202020202020202023F
+:10416000020202020202020202020202020202022F
+:10417000020202020202020202020202020202021F
+:10418000020202020202020202020202020202020F
+:1041900002020202020202020202020202020202FF
+:1041A00002020202020202020202020202020202EF
+:1041B00002020202020202020202020202020202DF
+:1041C00002020202020202020202020202020202CF
+:1041D00002020202020202020202020202020202BF
+:1041E00002020202020202020202020202020202AF
+:1041F000020202020202020202020202020202029F
+:10420000020202020202020202020202020202028E
+:10421000020202020202020202020202020202027E
+:10422000020202020202020202020202020202026E
+:10423000020202020202020202020202020202025E
+:10424000020202020202020202020202020202024E
+:10425000020202020202020202020202020202023E
+:10426000020202020202020202020202020202022E
+:10427000020202020202020202020202020202021E
+:10428000020202020202020202020202020202020E
+:1042900002020202020202020202020202020202FE
+:1042A00002020202020202020202020202020202EE
+:1042B00002020202020202020202020202020202DE
+:1042C00002020202020202020202020202020202CE
+:1042D00002020202020202020202020202020202BE
+:1042E00000000000000000000000000000000000CE
+:1042F00000000000000000000000000000000000BE
+:1043000000000000000000000000000000000000AD
+:10431000000000000000000000000000000000009D
+:10432000000000000000000000000000000000008D
+:10433000000000000000000000000000000000007D
+:10434000000000000000000000000000000000006D
+:10435000000000000000000000000000000000005D
+:10436000000000000000000000000000000000004D
+:10437000000000000000000000000000000000003D
+:10438000000000000000000000000000000000002D
+:10439000000000000000000000000000000000001D
+:1043A000000000000000000000000000000000000D
+:1043B00000000000000000000000000000000000FD
+:1043C00000000000000000000000000000000000ED
+:1043D00000000000000000000000000000000000DD
+:1043E00000000000000000000000000000000000CD
+:1043F00000000000000000000000000000000000BD
+:1044000000000000000000000000000000000000AC
+:10441000000000000000000000000000000000009C
+:10442000000000000000000000000000000000008C
+:10443000000000000000000000000000000000007C
+:10444000000000000000000000000000000000006C
+:10445000000000000000000000000000000000005C
+:10446000000000000000000000000000000000004C
+:10447000000000000000000000000000000000003C
+:10448000000000000000000000000000000000002C
+:10449000000000000000000000000000000000001C
+:1044A000000000000000000000000000000000000C
+:1044B00000000000000000000000000000000000FC
+:1044C00000000000000000000000000000000000EC
+:1044D00000000000000000000000000000000000DC
+:1044E00000000000000000000000000000000000CC
+:1044F00000000000000000000000000000000000BC
+:1045000000000000000000000000000000000000AB
+:10451000000000000000000000000000000000009B
+:10452000000000000000000000000000000000008B
+:10453000000000000000000000000000000000007B
+:10454000000000000000000000000000000000006B
+:10455000000000000000000000000000000000005B
+:10456000000000000000000000000000000000004B
+:10457000000000000000000000000000000000003B
+:10458000000000000000000000000000000000002B
+:10459000000000000000000000000000000000001B
+:1045A000000000000000000000000000000000000B
+:1045B00000000000000000000000000000000000FB
+:1045C00000000000000000000000000000000000EB
+:1045D00000000000000000000000000000000000DB
+:1045E00000000000000000000000000000000000CB
+:1045F00000000000000000000000000000000000BB
+:1046000000000000000000000000000000000000AA
+:10461000000000000000000000000000000000009A
+:10462000000000000000000000000000000000008A
+:10463000000000000000000000000000000000007A
+:10464000000000000000000000000000000000006A
+:10465000000000000000000000000000000000005A
+:10466000000000000000000000000000000000004A
+:10467000000000000000000000000000000000003A
+:10468000000000000000000000000000000000002A
+:10469000000000000000000000000000000000001A
+:1046A000000000000000000000000000000000000A
+:1046B00000000000000000000000000000000000FA
+:1046C00000000000000000000000000000000000EA
+:1046D00000000000000000000000000000000000DA
+:1046E00001010101010101010101010101010101BA
+:1046F00001010101010101010101010101010101AA
+:104700000101010101010101010101010101010199
+:104710000101010101010101010101010101010189
+:104720000101010101010101010101010101010179
+:104730000101010101010101010101010101010169
+:104740000101010101010101010101010101010159
+:104750000101010101010101010101010101010149
+:104760000101010101010101010101010101010139
+:104770000101010101010101010101010101010129
+:104780000101010101010101010101010101010119
+:104790000101010101010101010101010101010109
+:1047A00001010101010101010101010101010101F9
+:1047B00001010101010101010101010101010101E9
+:1047C00001010101010101010101010101010101D9
+:1047D00001010101010101010101010101010101C9
+:1047E00001010101010101010101010101010101B9
+:1047F00001010101010101010101010101010101A9
+:104800000101010101010101010101010101010198
+:104810000101010101010101010101010101010188
+:104820000101010101010101010101010101010178
+:104830000101010101010101010101010101010168
+:104840000101010101010101010101010101010158
+:104850000101010101010101010101010101010148
+:104860000101010101010101010101010101010138
+:104870000101010101010101010101010101010128
+:104880000101010101010101010101010101010118
+:104890000101010101010101010101010101010108
+:1048A00001010101010101010101010101010101F8
+:1048B00001010101010101010101010101010101E8
+:1048C00001010101010101010101010101010101D8
+:1048D00001010101010101010101010101010101C8
+:1048E00001010101010101010101010101010101B8
+:1048F00001010101010101010101010101010101A8
+:104900000101010101010101010101010101010197
+:104910000101010101010101010101010101010187
+:104920000101010101010101010101010101010177
+:104930000101010101010101010101010101010167
+:104940000101010101010101010101010101010157
+:104950000101010101010101010101010101010147
+:104960000101010101010101010101010101010137
+:104970000101010101010101010101010101010127
+:104980000101010101010101010101010101010117
+:104990000101010101010101010101010101010107
+:1049A00001010101010101010101010101010101F7
+:1049B00001010101010101010101010101010101E7
+:1049C00001010101010101010101010101010101D7
+:1049D00001010101010101010101010101010101C7
+:1049E00001010101010101010101010101010101B7
+:1049F00001010101010101010101010101010101A7
+:104A00000101010101010101010101010101010196
+:104A10000101010101010101010101010101010186
+:104A20000101010101010101010101010101010176
+:104A30000101010101010101010101010101010166
+:104A40000101010101010101010101010101010156
+:104A50000101010101010101010101010101010146
+:104A60000101010101010101010101010101010136
+:104A70000101010101010101010101010101010126
+:104A80000101010101010101010101010101010116
+:104A90000101010101010101010101010101010106
+:104AA00001010101010101010101010101010101F6
+:104AB00001010101010101010101010101010101E6
+:104AC00001010101010101010101010101010101D6
+:104AD00001010101010101010101010101010101C6
+:104AE00001010101010101010101010101010101B6
+:104AF00001010101010101010101010101010101A6
+:104B00000101010101010101010101010101010195
+:104B10000101010101010101010101010101010185
+:104B20000101010101010101010101010101010175
+:104B30000101010101010101010101010101010165
+:104B40000101010101010101010101010101010155
+:104B50000101010101010101010101010101010145
+:104B60000101010101010101010101010101010135
+:104B70000101010101010101010101010101010125
+:104B80000101010101010101010101010101010115
+:104B90000101010101010101010101010101010105
+:104BA00001010101010101010101010101010101F5
+:104BB00001010101010101010101010101010101E5
+:104BC00001010101010101010101010101010101D5
+:104BD00001010101010101010101010101010101C5
+:104BE00001010101010101010101010101010101B5
+:104BF00001010101010101010101010101010101A5
+:104C00000101010101010101010101010101010194
+:104C10000101010101010101010101010101010184
+:104C20000101010101010101010101010101010174
+:104C30000101010101010101010101010101010164
+:104C40000101010101010101010101010101010154
+:104C50000101010101010101010101010101010144
+:104C60000101010101010101010101010101010134
+:104C70000101010101010101010101010101010124
+:104C80000101010101010101010101010101010114
+:104C90000101010101010101010101010101010104
+:104CA00001010101010101010101010101010101F4
+:104CB00001010101010101010101010101010101E4
+:104CC00001010101010101010101010101010101D4
+:104CD00001010101010101010101010101010101C4
+:104CE00001010101010101010101010101010101B4
+:104CF00001010101010101010101010101010101A4
+:104D00000101010101010101010101010101010193
+:104D10000101010101010101010101010101010183
+:104D20000101010101010101010101010101010173
+:104D30000101010101010101010101010101010163
+:104D40000101010101010101010101010101010153
+:104D50000101010101010101010101010101010143
+:104D60000101010101010101010101010101010133
+:104D70000101010101010101010101010101010123
+:104D80000101010101010101010101010101010113
+:104D90000101010101010101010101010101010103
+:104DA00001010101010101010101010101010101F3
+:104DB00001010101010101010101010101010101E3
+:104DC00001010101010101010101010101010101D3
+:104DD00001010101010101010101010101010101C3
+:104DE00001010101010101010101010101010101B3
+:104DF00001010101010101010101010101010101A3
+:104E00000101010101010101010101010101010192
+:104E10000101010101010101010101010101010182
+:104E20000101010101010101010101010101010172
+:104E30000101010101010101010101010101010162
+:104E40000101010101010101010101010101010152
+:104E50000101010101010101010101010101010142
+:104E60000101010101010101010101010101010132
+:104E70000101010101010101010101010101010122
+:104E80000101010101010101010101010101010112
+:104E90000101010101010101010101010101010102
+:104EA00001010101010101010101010101010101F2
+:104EB00001010101010101010101010101010101E2
+:104EC00001010101010101010101010101010101D2
+:104ED00001010101010101010101010101010101C2
+:104EE00001010101010101010101010101010101B2
+:104EF00001010101010101010101010101010101A2
+:104F00000101010101010101010101010101010191
+:104F10000101010101010101010101010101010181
+:104F20000101010101010101010101010101010171
+:104F30000101010101010101010101010101010161
+:104F40000101010101010101010101010101010151
+:104F50000101010101010101010101010101010141
+:104F60000101010101010101010101010101010131
+:104F70000101010101010101010101010101010121
+:104F80000101010101010101010101010101010111
+:104F90000101010101010101010101010101010101
+:104FA00001010101010101010101010101010101F1
+:104FB00001010101010101010101010101010101E1
+:104FC00001010101010101010101010101010101D1
+:104FD00001010101010101010101010101010101C1
+:104FE00001010101010101010101010101010101B1
+:104FF00001010101010101010101010101010101A1
+:105000000101010101010101010101010101010190
+:105010000101010101010101010101010101010180
+:105020000101010101010101010101010101010170
+:105030000101010101010101010101010101010160
+:105040000101010101010101010101010101010150
+:105050000101010101010101010101010101010140
+:105060000101010101010101010101010101010130
+:105070000101010101010101010101010101010120
+:105080000101010101010101010101010101010110
+:105090000101010101010101010101010101010100
+:1050A00001010101010101010101010101010101F0
+:1050B00001010101010101010101010101010101E0
+:1050C00001010101010101010101010101010101D0
+:1050D00001010101010101010101010101010101C0
+:1050E00001010101010101010101010101010101B0
+:1050F00001010101010101010101010101010101A0
+:10510000010101010101010101010101010101018F
+:10511000010101010101010101010101010101017F
+:10512000010101010101010101010101010101016F
+:10513000010101010101010101010101010101015F
+:10514000010101010101010101010101010101014F
+:10515000010101010101010101010101010101013F
+:10516000010101010101010101010101010101012F
+:10517000010101010101010101010101010101011F
+:10518000010101010101010101010101010101010F
+:1051900001010101010101010101010101010101FF
+:1051A00001010101010101010101010101010101EF
+:1051B00001010101010101010101010101010101DF
+:1051C00001010101010101010101010101010101CF
+:1051D00001010101010101010101010101010101BF
+:1051E00001010101010101010101010101010101AF
+:1051F000010101010101010101010101010101019F
+:10520000010101010101010101010101010101018E
+:10521000010101010101010101010101010101017E
+:10522000010101010101010101010101010101016E
+:10523000010101010101010101010101010101015E
+:10524000010101010101010101010101010101014E
+:10525000010101010101010101010101010101013E
+:10526000010101010101010101010101010101012E
+:10527000010101010101010101010101010101011E
+:10528000010101010101010101010101010101010E
+:1052900001010101010101010101010101010101FE
+:1052A00001010101010101010101010101010101EE
+:1052B00001010101010101010101010101010101DE
+:1052C00001010101010101010101010101010101CE
+:1052D00001010101010101010101010101010101BE
+:1052E00001010101010101010101010101010101AE
+:1052F000010101010101010101010101010101019E
+:10530000010101010101010101010101010101018D
+:10531000010101010101010101010101010101017D
+:10532000010101010101010101010101010101016D
+:10533000010101010101010101010101010101015D
+:10534000010101010101010101010101010101014D
+:10535000010101010101010101010101010101013D
+:10536000010101010101010101010101010101012D
+:10537000010101010101010101010101010101011D
+:10538000010101010101010101010101010101010D
+:1053900001010101010101010101010101010101FD
+:1053A00001010101010101010101010101010101ED
+:1053B00001010101010101010101010101010101DD
+:1053C00001010101010101010101010101010101CD
+:1053D00001010101010101010101010101010101BD
+:1053E00001010101010101010101010101010101AD
+:1053F000010101010101010101010101010101019D
+:10540000010101010101010101010101010101018C
+:10541000010101010101010101010101010101017C
+:10542000010101010101010101010101010101016C
+:10543000010101010101010101010101010101015C
+:10544000010101010101010101010101010101014C
+:10545000010101010101010101010101010101013C
+:10546000010101010101010101010101010101012C
+:10547000010101010101010101010101010101011C
+:10548000010101010101010101010101010101010C
+:1054900001010101010101010101010101010101FC
+:1054A00001010101010101010101010101010101EC
+:1054B00001010101010101010101010101010101DC
+:1054C00001010101010101010101010101010101CC
+:1054D00001010101010101010101010101010101BC
+:1054E00001010101010101010101010101010101AC
+:1054F000010101010101010101010101010101019C
+:10550000010101010101010101010101010101018B
+:10551000010101010101010101010101010101017B
+:10552000010101010101010101010101010101016B
+:10553000010101010101010101010101010101015B
+:10554000010101010101010101010101010101014B
+:10555000010101010101010101010101010101013B
+:10556000010101010101010101010101010101012B
+:10557000010101010101010101010101010101011B
+:10558000010101010101010101010101010101010B
+:1055900001010101010101010101010101010101FB
+:1055A00001010101010101010101010101010101EB
+:1055B00001010101010101010101010101010101DB
+:1055C00001010101010101010101010101010101CB
+:1055D00001010101010101010101010101010101BB
+:1055E00001010101010101010101010101010101AB
+:1055F000010101010101010101010101010101019B
+:10560000010101010101010101010101010101018A
+:10561000010101010101010101010101010101017A
+:10562000010101010101010101010101010101016A
+:10563000010101010101010101010101010101015A
+:10564000010101010101010101010101010101014A
+:10565000010101010101010101010101010101013A
+:10566000010101010101010101010101010101012A
+:10567000010101010101010101010101010101011A
+:10568000010101010101010101010101010101010A
+:1056900001010101010101010101010101010101FA
+:1056A00001010101010101010101010101010101EA
+:1056B00001010101010101010101010101010101DA
+:1056C00001010101010101010101010101010101CA
+:1056D00001010101010101010101010101010101BA
+:1056E00001010101010101010101010101010101AA
+:1056F000010101010101010101010101010101019A
+:105700000101010101010101010101010101010189
+:105710000101010101010101010101010101010179
+:105720000101010101010101010101010101010169
+:105730000101010101010101010101010101010159
+:105740000101010101010101010101010101010149
+:105750000101010101010101010101010101010139
+:105760000101010101010101010101010101010129
+:105770000101010101010101010101010101010119
+:105780000101010101010101010101010101010109
+:1057900001010101010101010101010101010101F9
+:1057A00001010101010101010101010101010101E9
+:1057B00001010101010101010101010101010101D9
+:1057C00001010101010101010101010101010101C9
+:1057D00001010101010101010101010101010101B9
+:1057E00001010101010101010101010101010101A9
+:1057F0000101010101010101010101010101010199
+:105800000101010101010101010101010101010188
+:105810000101010101010101010101010101010178
+:105820000101010101010101010101010101010168
+:105830000101010101010101010101010101010158
+:105840000101010101010101010101010101010148
+:105850000101010101010101010101010101010138
+:105860000101010101010101010101010101010128
+:105870000101010101010101010101010101010118
+:105880000101010101010101010101010101010108
+:1058900001010101010101010101010101010101F8
+:1058A00001010101010101010101010101010101E8
+:1058B00001010101010101010101010101010101D8
+:1058C00001010101010101010101010101010101C8
+:1058D00001010101010101010101010101010101B8
+:1058E00001010101010101010101010101010101A8
+:1058F0000101010101010101010101010101010198
+:105900000101010101010101010101010101010187
+:105910000101010101010101010101010101010177
+:105920000101010101010101010101010101010167
+:105930000101010101010101010101010101010157
+:105940000101010101010101010101010101010147
+:105950000101010101010101010101010101010137
+:105960000101010101010101010101010101010127
+:105970000101010101010101010101010101010117
+:105980000101010101010101010101010101010107
+:1059900001010101010101010101010101010101F7
+:1059A00001010101010101010101010101010101E7
+:1059B00001010101010101010101010101010101D7
+:1059C00001010101010101010101010101010101C7
+:1059D00001010101010101010101010101010101B7
+:1059E00001010101010101010101010101010101A7
+:1059F0000101010101010101010101010101010197
+:105A00000101010101010101010101010101010186
+:105A10000101010101010101010101010101010176
+:105A20000101010101010101010101010101010166
+:105A30000101010101010101010101010101010156
+:105A40000101010101010101010101010101010146
+:105A50000101010101010101010101010101010136
+:105A60000101010101010101010101010101010126
+:105A70000101010101010101010101010101010116
+:105A80000101010101010101010101010101010106
+:105A900001010101010101010101010101010101F6
+:105AA00001010101010101010101010101010101E6
+:105AB00001010101010101010101010101010101D6
+:105AC00001010101010101010101010101010101C6
+:105AD00001010101010101010101010101010101B6
+:105AE00001010101010101010101010101010101A6
+:105AF0000101010101010101010101010101010196
+:105B00000101010101010101010101010101010185
+:105B10000101010101010101010101010101010175
+:105B20000101010101010101010101010101010165
+:105B30000101010101010101010101010101010155
+:105B40000101010101010101010101010101010145
+:105B50000101010101010101010101010101010135
+:105B60000101010101010101010101010101010125
+:105B70000101010101010101010101010101010115
+:105B80000101010101010101010101010101010105
+:105B900001010101010101010101010101010101F5
+:105BA00001010101010101010101010101010101E5
+:105BB00001010101010101010101010101010101D5
+:105BC00001010101010101010101010101010101C5
+:105BD00001010101010101010101010101010101B5
+:105BE00001010101010101010101010101010101A5
+:105BF0000101010101010101010101010101010195
+:105C00000101010101010101010101010101010184
+:105C10000101010101010101010101010101010174
+:105C20000101010101010101010101010101010164
+:105C30000101010101010101010101010101010154
+:105C40000101010101010101010101010101010144
+:105C50000101010101010101010101010101010134
+:105C60000101010101010101010101010101010124
+:105C70000101010101010101010101010101010114
+:105C80000101010101010101010101010101010104
+:105C900001010101010101010101010101010101F4
+:105CA00001010101010101010101010101010101E4
+:105CB00001010101010101010101010101010101D4
+:105CC00001010101010101010101010101010101C4
+:105CD00001010101010101010101010101010101B4
+:105CE00001010101010101010101010101010101A4
+:105CF0000101010101010101010101010101010194
+:105D00000101010101010101010101010101010183
+:105D10000101010101010101010101010101010173
+:105D20000101010101010101010101010101010163
+:105D30000101010101010101010101010101010153
+:105D40000101010101010101010101010101010143
+:105D50000101010101010101010101010101010133
+:105D60000101010101010101010101010101010123
+:105D70000101010101010101010101010101010113
+:105D80000101010101010101010101010101010103
+:105D900001010101010101010101010101010101F3
+:105DA00001010101010101010101010101010101E3
+:105DB00001010101010101010101010101010101D3
+:105DC00001010101010101010101010101010101C3
+:105DD00001010101010101010101010101010101B3
+:105DE00001010101010101010101010101010101A3
+:105DF0000101010101010101010101010101010193
+:105E00000101010101010101010101010101010182
+:105E10000101010101010101010101010101010172
+:105E20000101010101010101010101010101010162
+:105E30000101010101010101010101010101010152
+:105E40000101010101010101010101010101010142
+:105E50000101010101010101010101010101010132
+:105E60000101010101010101010101010101010122
+:105E70000101010101010101010101010101010112
+:105E80000101010101010101010101010101010102
+:105E900001010101010101010101010101010101F2
+:105EA00001010101010101010101010101010101E2
+:105EB00001010101010101010101010101010101D2
+:105EC00001010101010101010101010101010101C2
+:105ED00001010101010101010101010101010101B2
+:105EE00001010101010101010101010101010101A2
+:105EF0000101010101010101010101010101010192
+:105F00000101010101010101010101010101010181
+:105F10000101010101010101010101010101010171
+:105F20000101010101010101010101010101010161
+:105F30000101010101010101010101010101010151
+:105F40000101010101010101010101010101010141
+:105F50000101010101010101010101010101010131
+:105F60000101010101010101010101010101010121
+:105F70000101010101010101010101010101010111
+:105F80000101010101010101010101010101010101
+:105F900001010101010101010101010101010101F1
+:105FA00001010101010101010101010101010101E1
+:105FB00001010101010101010101010101010101D1
+:105FC00001010101010101010101010101010101C1
+:105FD00001010101010101010101010101010101B1
+:105FE00001010101010101010101010101010101A1
+:105FF0000101010101010101010101010101010191
+:106000000101010101010101010101010101010180
+:106010000101010101010101010101010101010170
+:106020000101010101010101010101010101010160
+:106030000101010101010101010101010101010150
+:106040000101010101010101010101010101010140
+:106050000101010101010101010101010101010130
+:106060000101010101010101010101010101010120
+:106070000101010101010101010101010101010110
+:106080000101010101010101010101010101010100
+:1060900001010101010101010101010101010101F0
+:1060A00001010101010101010101010101010101E0
+:1060B00001010101010101010101010101010101D0
+:1060C00001010101010101010101010101010101C0
+:1060D00001010101010101010101010101010101B0
+:1060E00001010101010101010101010101010101A0
+:1060F0000101010101010101010101010101010190
+:10610000010101010101010101010101010101017F
+:10611000010101010101010101010101010101016F
+:10612000010101010101010101010101010101015F
+:10613000010101010101010101010101010101014F
+:10614000010101010101010101010101010101013F
+:10615000010101010101010101010101010101012F
+:10616000010101010101010101010101010101011F
+:10617000010101010101010101010101010101010F
+:1061800001010101010101010101010101010101FF
+:1061900001010101010101010101010101010101EF
+:1061A00001010101010101010101010101010101DF
+:1061B00001010101010101010101010101010101CF
+:1061C00001010101010101010101010101010101BF
+:1061D00001010101010101010101010101010101AF
+:1061E000010101010101010101010101010101019F
+:1061F000010101010101010101010101010101018F
+:10620000010101010101010101010101010101017E
+:10621000010101010101010101010101010101016E
+:10622000010101010101010101010101010101015E
+:10623000010101010101010101010101010101014E
+:10624000010101010101010101010101010101013E
+:10625000010101010101010101010101010101012E
+:10626000010101010101010101010101010101011E
+:10627000010101010101010101010101010101010E
+:1062800001010101010101010101010101010101FE
+:1062900001010101010101010101010101010101EE
+:1062A00001010101010101010101010101010101DE
+:1062B00001010101010101010101010101010101CE
+:1062C00001010101010101010101010101010101BE
+:1062D00001010101010101010101010101010101AE
+:1062E000010101010101010101010101010101019E
+:1062F000010101010101010101010101010101018E
+:10630000010101010101010101010101010101017D
+:10631000010101010101010101010101010101016D
+:10632000010101010101010101010101010101015D
+:10633000010101010101010101010101010101014D
+:10634000010101010101010101010101010101013D
+:10635000010101010101010101010101010101012D
+:10636000010101010101010101010101010101011D
+:10637000010101010101010101010101010101010D
+:1063800001010101010101010101010101010101FD
+:1063900001010101010101010101010101010101ED
+:1063A00001010101010101010101010101010101DD
+:1063B00001010101010101010101010101010101CD
+:1063C00001010101010101010101010101010101BD
+:1063D00001010101010101010101010101010101AD
+:1063E00000000000000000000000000000000000AD
+:1063F000000000000000000000000000000000009D
+:10640000000000000000000000000000000000008C
+:10641000000000000000000000000000000000007C
+:10642000000000000000000000000000000000006C
+:10643000000000000000000000000000000000005C
+:10644000000000000000000000000000000000004C
+:10645000000000000000000000000000000000003C
+:10646000000000000000000000000000000000002C
+:10647000000000000000000000000000000000001C
+:10648000000000000000000000000000000000000C
+:1064900000000000000000000000000000000000FC
+:1064A00000000000000000000000000000000000EC
+:1064B00000000000000000000000000000000000DC
+:1064C00000000000000000000000000000000000CC
+:1064D00000000000000000000000000000000000BC
+:1064E00000000000000000000000000000000000AC
+:1064F000000000000000000000000000000000009C
+:10650000000000000000000000000000000000008B
+:10651000000000000000000000000000000000007B
+:10652000000000000000000000000000000000006B
+:10653000000000000000000000000000000000005B
+:10654000000000000000000000000000000000004B
+:10655000000000000000000000000000000000003B
+:10656000000000000000000000000000000000002B
+:10657000000000000000000000000000000000001B
+:10658000000000000000000000000000000000000B
+:1065900000000000000000000000000000000000FB
+:1065A00000000000000000000000000000000000EB
+:1065B00000000000000000000000000000000000DB
+:1065C00000000000000000000000000000000000CB
+:1065D00000000000000000000000000000000000BB
+:1065E00000000000000000000000000000000000AB
+:1065F000000000000000000000000000000000009B
+:10660000000000000000000000000000000000008A
+:10661000000000000000000000000000000000007A
+:10662000000000000000000000000000000000006A
+:10663000000000000000000000000000000000005A
+:10664000000000000000000000000000000000004A
+:10665000000000000000000000000000000000003A
+:10666000000000000000000000000000000000002A
+:10667000000000000000000000000000000000001A
+:10668000000000000000000000000000000000000A
+:1066900000000000000000000000000000000000FA
+:1066A00000000000000000000000000000000000EA
+:1066B00000000000000000000000000000000000DA
+:1066C00000000000000000000000000000000000CA
+:1066D00000000000000000000000000000000000BA
+:1066E00000000000000000000000000000000000AA
+:1066F000000000000000000000000000000000009A
+:106700000000000000000000000000000000000089
+:106710000000000000000000000000000000000079
+:106720000000000000000000000000000000000069
+:106730000000000000000000000000000000000059
+:106740000000000000000000000000000000000049
+:106750000000000000000000000000000000000039
+:106760000000000000000000000000000000000029
+:106770000000000000000000000000000000000019
+:106780000000000000000000000000000000000009
+:1067900000000000000000000000000000000000F9
+:1067A00000000000000000000000000000000000E9
+:1067B00000000000000000000000000000000000D9
+:1067C00000000000000000000000000000000000C9
+:1067D00000000000000000000000000000000000B9
+:1067E0000101010101010101010101010101010199
+:1067F0000101010101010101010101010101010189
+:106800000101010101010101010101010101010178
+:106810000101010101010101010101010101010168
+:106820000101010101010101010101010101010158
+:106830000101010101010101010101010101010148
+:106840000101010101010101010101010101010138
+:106850000101010101010101010101010101010128
+:106860000101010101010101010101010101010118
+:106870000101010101010101010101010101010108
+:1068800001010101010101010101010101010101F8
+:1068900001010101010101010101010101010101E8
+:1068A00001010101010101010101010101010101D8
+:1068B00001010101010101010101010101010101C8
+:1068C00001010101010101010101010101010101B8
+:1068D00001010101010101010101010101010101A8
+:1068E0000101010101010101010101010101010198
+:1068F0000101010101010101010101010101010188
+:106900000101010101010101010101010101010177
+:106910000101010101010101010101010101010167
+:106920000101010101010101010101010101010157
+:106930000101010101010101010101010101010147
+:106940000101010101010101010101010101010137
+:106950000101010101010101010101010101010127
+:106960000101010101010101010101010101010117
+:106970000101010101010101010101010101010107
+:1069800001010101010101010101010101010101F7
+:1069900001010101010101010101010101010101E7
+:1069A00001010101010101010101010101010101D7
+:1069B00001010101010101010101010101010101C7
+:1069C00001010101010101010101010101010101B7
+:1069D00001010101010101010101010101010101A7
+:1069E0000202020202020202020202020202020287
+:1069F0000202020202020202020202020202020277
+:106A00000202020202020202020202020202020266
+:106A10000202020202020202020202020202020256
+:106A20000202020202020202020202020202020246
+:106A30000202020202020202020202020202020236
+:106A40000202020202020202020202020202020226
+:106A50000202020202020202020202020202020216
+:106A60000202020202020202020202020202020206
+:106A700002020202020202020202020202020202F6
+:106A800002020202020202020202020202020202E6
+:106A900002020202020202020202020202020202D6
+:106AA00002020202020202020202020202020202C6
+:106AB00002020202020202020202020202020202B6
+:106AC00002020202020202020202020202020202A6
+:106AD0000202020202020202020202020202020296
+:106AE0000202020202020202020202020202020286
+:106AF0000202020202020202020202020202020276
+:106B00000202020202020202020202020202020265
+:106B10000202020202020202020202020202020255
+:106B20000202020202020202020202020202020245
+:106B30000202020202020202020202020202020235
+:106B40000202020202020202020202020202020225
+:106B50000202020202020202020202020202020215
+:106B60000202020202020202020202020202020205
+:106B700002020202020202020202020202020202F5
+:106B800002020202020202020202020202020202E5
+:106B900002020202020202020202020202020202D5
+:106BA00002020202020202020202020202020202C5
+:106BB00002020202020202020202020202020202B5
+:106BC00002020202020202020202020202020202A5
+:106BD0000202020202020202020202020202020295
+:106BE0000202020202020202020202020202020285
+:106BF0000202020202020202020202020202020275
+:106C00000202020202020202020202020202020264
+:106C10000202020202020202020202020202020254
+:106C20000202020202020202020202020202020244
+:106C30000202020202020202020202020202020234
+:106C40000202020202020202020202020202020224
+:106C50000202020202020202020202020202020214
+:106C60000202020202020202020202020202020204
+:106C700002020202020202020202020202020202F4
+:106C800002020202020202020202020202020202E4
+:106C900002020202020202020202020202020202D4
+:106CA00002020202020202020202020202020202C4
+:106CB00002020202020202020202020202020202B4
+:106CC00002020202020202020202020202020202A4
+:106CD0000202020202020202020202020202020294
+:106CE0000202020202020202020202020202020284
+:106CF0000202020202020202020202020202020274
+:106D00000202020202020202020202020202020263
+:106D10000202020202020202020202020202020253
+:106D20000202020202020202020202020202020243
+:106D30000202020202020202020202020202020233
+:106D40000202020202020202020202020202020223
+:106D50000202020202020202020202020202020213
+:106D60000202020202020202020202020202020203
+:106D700002020202020202020202020202020202F3
+:106D800002020202020202020202020202020202E3
+:106D900002020202020202020202020202020202D3
+:106DA00002020202020202020202020202020202C3
+:106DB00002020202020202020202020202020202B3
+:106DC00002020202020202020202020202020202A3
+:106DD0000202020202020202020202020202020293
+:106DE0000202020202020202020202020202020283
+:106DF0000202020202020202020202020202020273
+:106E00000202020202020202020202020202020262
+:106E10000202020202020202020202020202020252
+:106E20000202020202020202020202020202020242
+:106E30000202020202020202020202020202020232
+:106E40000202020202020202020202020202020222
+:106E50000202020202020202020202020202020212
+:106E60000202020202020202020202020202020202
+:106E700002020202020202020202020202020202F2
+:106E800002020202020202020202020202020202E2
+:106E900002020202020202020202020202020202D2
+:106EA00002020202020202020202020202020202C2
+:106EB00002020202020202020202020202020202B2
+:106EC00002020202020202020202020202020202A2
+:106ED0000202020202020202020202020202020292
+:106EE0000202020202020202020202020202020282
+:106EF0000202020202020202020202020202020272
+:106F00000202020202020202020202020202020261
+:106F10000202020202020202020202020202020251
+:106F20000202020202020202020202020202020241
+:106F30000202020202020202020202020202020231
+:106F40000202020202020202020202020202020221
+:106F50000202020202020202020202020202020211
+:106F60000202020202020202020202020202020201
+:106F700002020202020202020202020202020202F1
+:106F800002020202020202020202020202020202E1
+:106F900002020202020202020202020202020202D1
+:106FA00002020202020202020202020202020202C1
+:106FB00002020202020202020202020202020202B1
+:106FC00002020202020202020202020202020202A1
+:106FD0000202020202020202020202020202020291
+:106FE0000202020202020202020202020202020281
+:106FF0000202020202020202020202020202020271
+:107000000202020202020202020202020202020260
+:107010000202020202020202020202020202020250
+:107020000202020202020202020202020202020240
+:107030000202020202020202020202020202020230
+:107040000202020202020202020202020202020220
+:107050000202020202020202020202020202020210
+:107060000202020202020202020202020202020200
+:1070700002020202020202020202020202020202F0
+:1070800002020202020202020202020202020202E0
+:1070900002020202020202020202020202020202D0
+:1070A00002020202020202020202020202020202C0
+:1070B00002020202020202020202020202020202B0
+:1070C00002020202020202020202020202020202A0
+:1070D0000202020202020202020202020202020290
+:1070E0000202020202020202020202020202020280
+:1070F0000202020202020202020202020202020270
+:10710000020202020202020202020202020202025F
+:10711000020202020202020202020202020202024F
+:10712000020202020202020202020202020202023F
+:10713000020202020202020202020202020202022F
+:10714000020202020202020202020202020202021F
+:10715000020202020202020202020202020202020F
+:1071600002020202020202020202020202020202FF
+:1071700002020202020202020202020202020202EF
+:1071800002020202020202020202020202020202DF
+:1071900002020202020202020202020202020202CF
+:1071A00002020202020202020202020202020202BF
+:1071B00002020202020202020202020202020202AF
+:1071C000020202020202020202020202020202029F
+:1071D000020202020202020202020202020202028F
+:1071E000020202020202020202020202020202027F
+:1071F000020202020202020202020202020202026F
+:10720000020202020202020202020202020202025E
+:10721000020202020202020202020202020202024E
+:10722000020202020202020202020202020202023E
+:10723000020202020202020202020202020202022E
+:10724000020202020202020202020202020202021E
+:10725000020202020202020202020202020202020E
+:1072600002020202020202020202020202020202FE
+:1072700002020202020202020202020202020202EE
+:1072800002020202020202020202020202020202DE
+:1072900002020202020202020202020202020202CE
+:1072A00002020202020202020202020202020202BE
+:1072B00002020202020202020202020202020202AE
+:1072C000020202020202020202020202020202029E
+:1072D000020202020202020202020202020202028E
+:1072E000020202020202020202020202020202027E
+:1072F000020202020202020202020202020202026E
+:10730000020202020202020202020202020202025D
+:10731000020202020202020202020202020202024D
+:10732000020202020202020202020202020202023D
+:10733000020202020202020202020202020202022D
+:10734000020202020202020202020202020202021D
+:10735000020202020202020202020202020202020D
+:1073600002020202020202020202020202020202FD
+:1073700002020202020202020202020202020202ED
+:1073800002020202020202020202020202020202DD
+:1073900002020202020202020202020202020202CD
+:1073A00002020202020202020202020202020202BD
+:1073B00002020202020202020202020202020202AD
+:1073C000020202020202020202020202020202029D
+:1073D000020202020202020202020202020202028D
+:1073E000020202020202020202020202020202027D
+:1073F000020202020202020202020202020202026D
+:10740000020202020202020202020202020202025C
+:10741000020202020202020202020202020202024C
+:10742000020202020202020202020202020202023C
+:10743000020202020202020202020202020202022C
+:10744000020202020202020202020202020202021C
+:10745000020202020202020202020202020202020C
+:1074600002020202020202020202020202020202FC
+:1074700002020202020202020202020202020202EC
+:1074800002020202020202020202020202020202DC
+:1074900002020202020202020202020202020202CC
+:1074A00002020202020202020202020202020202BC
+:1074B00002020202020202020202020202020202AC
+:1074C000020202020202020202020202020202029C
+:1074D000020202020202020202020202020202028C
+:1074E000020202020202020202020202020202027C
+:1074F000020202020202020202020202020202026C
+:10750000020202020202020202020202020202025B
+:10751000020202020202020202020202020202024B
+:10752000020202020202020202020202020202023B
+:10753000020202020202020202020202020202022B
+:10754000020202020202020202020202020202021B
+:10755000020202020202020202020202020202020B
+:1075600002020202020202020202020202020202FB
+:1075700002020202020202020202020202020202EB
+:1075800002020202020202020202020202020202DB
+:1075900002020202020202020202020202020202CB
+:1075A00002020202020202020202020202020202BB
+:1075B00002020202020202020202020202020202AB
+:1075C000020202020202020202020202020202029B
+:1075D000020202020202020202020202020202028B
+:1075E000020202020202020202020202020202027B
+:1075F000020202020202020202020202020202026B
+:10760000020202020202020202020202020202025A
+:10761000020202020202020202020202020202024A
+:10762000020202020202020202020202020202023A
+:10763000020202020202020202020202020202022A
+:10764000020202020202020202020202020202021A
+:10765000020202020202020202020202020202020A
+:1076600002020202020202020202020202020202FA
+:1076700002020202020202020202020202020202EA
+:1076800002020202020202020202020202020202DA
+:1076900002020202020202020202020202020202CA
+:1076A00002020202020202020202020202020202BA
+:1076B00002020202020202020202020202020202AA
+:1076C000020202020202020202020202020202029A
+:1076D000020202020202020202020202020202028A
+:1076E000020202020202020202020202020202027A
+:1076F000020202020202020202020202020202026A
+:107700000202020202020202020202020202020259
+:107710000202020202020202020202020202020249
+:107720000202020202020202020202020202020239
+:107730000202020202020202020202020202020229
+:107740000202020202020202020202020202020219
+:107750000202020202020202020202020202020209
+:1077600002020202020202020202020202020202F9
+:1077700002020202020202020202020202020202E9
+:1077800002020202020202020202020202020202D9
+:1077900002020202020202020202020202020202C9
+:1077A00002020202020202020202020202020202B9
+:1077B00002020202020202020202020202020202A9
+:1077C0000202020202020202020202020202020299
+:1077D0000202020202020202020202020202020289
+:1077E0000202020202020202020202020202020279
+:1077F0000202020202020202020202020202020269
+:107800000202020202020202020202020202020258
+:107810000202020202020202020202020202020248
+:107820000202020202020202020202020202020238
+:107830000202020202020202020202020202020228
+:107840000202020202020202020202020202020218
+:107850000202020202020202020202020202020208
+:1078600002020202020202020202020202020202F8
+:1078700002020202020202020202020202020202E8
+:1078800002020202020202020202020202020202D8
+:1078900002020202020202020202020202020202C8
+:1078A00002020202020202020202020202020202B8
+:1078B00002020202020202020202020202020202A8
+:1078C0000202020202020202020202020202020298
+:1078D0000202020202020202020202020202020288
+:1078E0000202020202020202020202020202020278
+:1078F0000202020202020202020202020202020268
+:107900000202020202020202020202020202020257
+:107910000202020202020202020202020202020247
+:107920000202020202020202020202020202020237
+:107930000202020202020202020202020202020227
+:107940000202020202020202020202020202020217
+:107950000202020202020202020202020202020207
+:1079600002020202020202020202020202020202F7
+:1079700002020202020202020202020202020202E7
+:1079800002020202020202020202020202020202D7
+:1079900002020202020202020202020202020202C7
+:1079A00002020202020202020202020202020202B7
+:1079B00002020202020202020202020202020202A7
+:1079C0000202020202020202020202020202020297
+:1079D0000202020202020202020202020202020287
+:1079E0000202020202020202020202020202020277
+:1079F0000202020202020202020202020202020267
+:107A00000202020202020202020202020202020256
+:107A10000202020202020202020202020202020246
+:107A20000202020202020202020202020202020236
+:107A30000202020202020202020202020202020226
+:107A40000202020202020202020202020202020216
+:107A50000202020202020202020202020202020206
+:107A600002020202020202020202020202020202F6
+:107A700002020202020202020202020202020202E6
+:107A800002020202020202020202020202020202D6
+:107A900002020202020202020202020202020202C6
+:107AA00002020202020202020202020202020202B6
+:107AB00002020202020202020202020202020202A6
+:107AC0000202020202020202020202020202020296
+:107AD0000202020202020202020202020202020286
+:107AE0000202020202020202020202020202020276
+:107AF0000202020202020202020202020202020266
+:107B00000202020202020202020202020202020255
+:107B10000202020202020202020202020202020245
+:107B20000202020202020202020202020202020235
+:107B30000202020202020202020202020202020225
+:107B40000202020202020202020202020202020215
+:107B50000202020202020202020202020202020205
+:107B600002020202020202020202020202020202F5
+:107B700002020202020202020202020202020202E5
+:107B800002020202020202020202020202020202D5
+:107B900002020202020202020202020202020202C5
+:107BA00002020202020202020202020202020202B5
+:107BB00002020202020202020202020202020202A5
+:107BC0000202020202020202020202020202020295
+:107BD0000202020202020202020202020202020285
+:107BE0000202020202020202020202020202020275
+:107BF0000202020202020202020202020202020265
+:107C00000202020202020202020202020202020254
+:107C10000202020202020202020202020202020244
+:107C20000202020202020202020202020202020234
+:107C30000202020202020202020202020202020224
+:107C40000202020202020202020202020202020214
+:107C50000202020202020202020202020202020204
+:107C600002020202020202020202020202020202F4
+:107C700002020202020202020202020202020202E4
+:107C800002020202020202020202020202020202D4
+:107C900002020202020202020202020202020202C4
+:107CA00002020202020202020202020202020202B4
+:107CB00002020202020202020202020202020202A4
+:107CC0000202020202020202020202020202020294
+:107CD0000202020202020202020202020202020284
+:107CE0000202020202020202020202020202020274
+:107CF0000202020202020202020202020202020264
+:107D00000202020202020202020202020202020253
+:107D10000202020202020202020202020202020243
+:107D20000202020202020202020202020202020233
+:107D30000202020202020202020202020202020223
+:107D40000202020202020202020202020202020213
+:107D50000202020202020202020202020202020203
+:107D600002020202020202020202020202020202F3
+:107D700002020202020202020202020202020202E3
+:107D800002020202020202020202020202020202D3
+:107D900002020202020202020202020202020202C3
+:107DA00002020202020202020202020202020202B3
+:107DB00002020202020202020202020202020202A3
+:107DC0000202020202020202020202020202020293
+:107DD0000202020202020202020202020202020283
+:107DE0000202020202020202020202020202020273
+:107DF0000202020202020202020202020202020263
+:107E00000202020202020202020202020202020252
+:107E10000202020202020202020202020202020242
+:107E20000202020202020202020202020202020232
+:107E30000202020202020202020202020202020222
+:107E40000202020202020202020202020202020212
+:107E50000202020202020202020202020202020202
+:107E600002020202020202020202020202020202F2
+:107E700002020202020202020202020202020202E2
+:107E800002020202020202020202020202020202D2
+:107E900002020202020202020202020202020202C2
+:107EA00002020202020202020202020202020202B2
+:107EB00002020202020202020202020202020202A2
+:107EC0000202020202020202020202020202020292
+:107ED0000202020202020202020202020202020282
+:107EE0000202020202020202020202020202020272
+:107EF0000202020202020202020202020202020262
+:107F00000202020202020202020202020202020251
+:107F10000202020202020202020202020202020241
+:107F20000202020202020202020202020202020231
+:107F30000202020202020202020202020202020221
+:107F40000202020202020202020202020202020211
+:107F50000202020202020202020202020202020201
+:107F600002020202020202020202020202020202F1
+:107F700002020202020202020202020202020202E1
+:107F800002020202020202020202020202020202D1
+:107F900002020202020202020202020202020202C1
+:107FA00002020202020202020202020202020202B1
+:107FB00002020202020202020202020202020202A1
+:107FC0000202020202020202020202020202020291
+:107FD0000202020202020202020202020202020281
+:107FE0000202020202020202020202020202020271
+:107FF0000202020202020202020202020202020261
+:108000000202020202020202020202020202020250
+:108010000202020202020202020202020202020240
+:108020000202020202020202020202020202020230
+:108030000202020202020202020202020202020220
+:108040000202020202020202020202020202020210
+:108050000202020202020202020202020202020200
+:1080600002020202020202020202020202020202F0
+:1080700002020202020202020202020202020202E0
+:1080800002020202020202020202020202020202D0
+:1080900002020202020202020202020202020202C0
+:1080A00002020202020202020202020202020202B0
+:1080B00002020202020202020202020202020202A0
+:1080C0000202020202020202020202020202020290
+:1080D0000202020202020202020202020202020280
+:1080E0000202020202020202020202020202020270
+:1080F0000202020202020202020202020202020260
+:10810000020202020202020202020202020202024F
+:10811000020202020202020202020202020202023F
+:10812000020202020202020202020202020202022F
+:10813000020202020202020202020202020202021F
+:10814000020202020202020202020202020202020F
+:1081500002020202020202020202020202020202FF
+:1081600002020202020202020202020202020202EF
+:1081700002020202020202020202020202020202DF
+:1081800002020202020202020202020202020202CF
+:1081900002020202020202020202020202020202BF
+:1081A00002020202020202020202020202020202AF
+:1081B000020202020202020202020202020202029F
+:1081C000020202020202020202020202020202028F
+:1081D000020202020202020202020202020202027F
+:1081E000020202020202020202020202020202026F
+:1081F000020202020202020202020202020202025F
+:10820000020202020202020202020202020202024E
+:10821000020202020202020202020202020202023E
+:10822000020202020202020202020202020202022E
+:10823000020202020202020202020202020202021E
+:10824000020202020202020202020202020202020E
+:1082500002020202020202020202020202020202FE
+:1082600002020202020202020202020202020202EE
+:1082700002020202020202020202020202020202DE
+:1082800002020202020202020202020202020202CE
+:1082900002020202020202020202020202020202BE
+:1082A00002020202020202020202020202020202AE
+:1082B000020202020202020202020202020202029E
+:1082C000020202020202020202020202020202028E
+:1082D000020202020202020202020202020202027E
+:1082E000020202020202020202020202020202026E
+:1082F000020202020202020202020202020202025E
+:10830000020202020202020202020202020202024D
+:10831000020202020202020202020202020202023D
+:10832000020202020202020202020202020202022D
+:10833000020202020202020202020202020202021D
+:10834000020202020202020202020202020202020D
+:1083500002020202020202020202020202020202FD
+:1083600002020202020202020202020202020202ED
+:1083700002020202020202020202020202020202DD
+:1083800002020202020202020202020202020202CD
+:1083900002020202020202020202020202020202BD
+:1083A00002020202020202020202020202020202AD
+:1083B000020202020202020202020202020202029D
+:1083C000020202020202020202020202020202028D
+:1083D000020202020202020202020202020202027D
+:1083E000020202020202020202020202020202026D
+:1083F000020202020202020202020202020202025D
+:10840000020202020202020202020202020202024C
+:10841000020202020202020202020202020202023C
+:10842000020202020202020202020202020202022C
+:10843000020202020202020202020202020202021C
+:10844000020202020202020202020202020202020C
+:1084500002020202020202020202020202020202FC
+:1084600002020202020202020202020202020202EC
+:1084700002020202020202020202020202020202DC
+:1084800002020202020202020202020202020202CC
+:1084900002020202020202020202020202020202BC
+:1084A00002020202020202020202020202020202AC
+:1084B000020202020202020202020202020202029C
+:1084C000020202020202020202020202020202028C
+:1084D000020202020202020202020202020202027C
+:1084E000020202020202020202020202020202026C
+:1084F000020202020202020202020202020202025C
+:10850000020202020202020202020202020202024B
+:10851000020202020202020202020202020202023B
+:10852000020202020202020202020202020202022B
+:10853000020202020202020202020202020202021B
+:10854000020202020202020202020202020202020B
+:1085500002020202020202020202020202020202FB
+:1085600002020202020202020202020202020202EB
+:1085700002020202020202020202020202020202DB
+:1085800002020202020202020202020202020202CB
+:1085900002020202020202020202020202020202BB
+:1085A00002020202020202020202020202020202AB
+:1085B000020202020202020202020202020202029B
+:1085C000020202020202020202020202020202028B
+:1085D000020202020202020202020202020202027B
+:1085E000020202020202020202020202020202026B
+:1085F000020202020202020202020202020202025B
+:10860000020202020202020202020202020202024A
+:10861000020202020202020202020202020202023A
+:10862000020202020202020202020202020202022A
+:10863000020202020202020202020202020202021A
+:10864000020202020202020202020202020202020A
+:1086500002020202020202020202020202020202FA
+:1086600002020202020202020202020202020202EA
+:1086700002020202020202020202020202020202DA
+:1086800002020202020202020202020202020202CA
+:1086900002020202020202020202020202020202BA
+:1086A00002020202020202020202020202020202AA
+:1086B000020202020202020202020202020202029A
+:1086C000020202020202020202020202020202028A
+:1086D000020202020202020202020202020202027A
+:1086E000020202020202020202020202020202026A
+:1086F000020202020202020202020202020202025A
+:108700000202020202020202020202020202020249
+:108710000202020202020202020202020202020239
+:108720000202020202020202020202020202020229
+:108730000202020202020202020202020202020219
+:108740000202020202020202020202020202020209
+:1087500002020202020202020202020202020202F9
+:1087600002020202020202020202020202020202E9
+:1087700002020202020202020202020202020202D9
+:1087800002020202020202020202020202020202C9
+:1087900002020202020202020202020202020202B9
+:1087A00002020202020202020202020202020202A9
+:1087B0000202020202020202020202020202020299
+:1087C0000202020202020202020202020202020289
+:1087D0000202020202020202020202020202020279
+:1087E0000202020202020202020202020202020269
+:1087F0000202020202020202020202020202020259
+:108800000202020202020202020202020202020248
+:108810000202020202020202020202020202020238
+:108820000202020202020202020202020202020228
+:108830000202020202020202020202020202020218
+:108840000202020202020202020202020202020208
+:1088500002020202020202020202020202020202F8
+:1088600002020202020202020202020202020202E8
+:1088700002020202020202020202020202020202D8
+:1088800002020202020202020202020202020202C8
+:1088900002020202020202020202020202020202B8
+:1088A00002020202020202020202020202020202A8
+:1088B0000202020202020202020202020202020298
+:1088C0000202020202020202020202020202020288
+:1088D0000202020202020202020202020202020278
+:1088E0000000000000000000000000000000000088
+:1088F0000000000000000000000000000000000078
+:108900000000000000000000000000000000000067
+:108910000000000000000000000000000000000057
+:108920000000000000000000000000000000000047
+:108930000000000000000000000000000000000037
+:108940000000000000000000000000000000000027
+:108950000000000000000000000000000000000017
+:108960000000000000000000000000000000000007
+:1089700000000000000000000000000000000000F7
+:1089800000000000000000000000000000000000E7
+:1089900000000000000000000000000000000000D7
+:1089A00000000000000000000000000000000000C7
+:1089B00000000000000000000000000000000000B7
+:1089C00000000000000000000000000000000000A7
+:1089D0000000000000000000000000000000000097
+:1089E0007900000000000000010101010101010106
+:1089F0000101010101010101010101010101010167
+:108A00000101010101010101010101010101010156
+:108A10000101010101010101010101010101010146
+:108A20000101010101010101010101010101010136
+:108A30000101010101010101010101010101010126
+:108A40000101010101010101010101010101010116
+:108A50000101010101010101010101010101010106
+:108A600001010101010101010101010101010101F6
+:108A700001010101010101010101010101010101E6
+:108A800001010101010101010101010101010101D6
+:108A900001010101010101010101010101010101C6
+:108AA00001010101010101010101010101010101B6
+:108AB00001010101010101010101010101010101A6
+:108AC0000101010101010101010101010101010196
+:108AD0000101010101010101010101010101010186
+:108AE0000101010101010101010101010101010176
+:108AF0000101010101010101010101010101010166
+:108B00000101010101010101010101010101010155
+:108B10000101010101010101010101010101010145
+:108B20000101010101010101010101010101010135
+:108B30000101010101010101010101010101010125
+:108B40000101010101010101010101010101010115
+:108B50000101010101010101010101010101010105
+:108B600001010101010101010101010101010101F5
+:108B700001010101010101010101010101010101E5
+:108B800001010101010101010101010101010101D5
+:108B900001010101010101010101010101010101C5
+:108BA00001010101010101010101010101010101B5
+:108BB00001010101010101010101010101010101A5
+:108BC0000101010101010101010101010101010195
+:108BD0000101010101010101010101010101010185
+:108BE0000101010101010101010101010101010175
+:108BF0000101010101010101010101010101010165
+:108C00000101010101010101010101010101010154
+:108C10000101010101010101010101010101010144
+:108C20000101010101010101010101010101010134
+:108C30000101010101010101010101010101010124
+:108C40000101010101010101010101010101010114
+:108C50000101010101010101010101010101010104
+:108C600001010101010101010101010101010101F4
+:108C700001010101010101010101010101010101E4
+:108C800001010101010101010101010101010101D4
+:108C900001010101010101010101010101010101C4
+:108CA00001010101010101010101010101010101B4
+:108CB00001010101010101010101010101010101A4
+:108CC0000101010101010101010101010101010194
+:108CD0000101010101010101010101010101010184
+:108CE0000101010101010101010101010101010174
+:108CF0000101010101010101010101010101010164
+:108D00000101010101010101010101010101010153
+:108D10000101010101010101010101010101010143
+:108D20000101010101010101010101010101010133
+:108D30000101010101010101010101010101010123
+:108D40000101010101010101010101010101010113
+:108D50000101010101010101010101010101010103
+:108D600001010101010101010101010101010101F3
+:108D700001010101010101010101010101010101E3
+:108D800001010101010101010101010101010101D3
+:108D900001010101010101010101010101010101C3
+:108DA00001010101010101010101010101010101B3
+:108DB00001010101010101010101010101010101A3
+:108DC0000101010101010101010101010101010193
+:108DD0000101010101010101010101010101010183
+:108DE0000101010101010101010101010101010173
+:108DF0000101010101010101010101010101010163
+:108E00000101010101010101010101010101010152
+:108E10000101010101010101010101010101010142
+:108E20000101010101010101010101010101010132
+:108E30000101010101010101010101010101010122
+:108E40000101010101010101010101010101010112
+:108E50000101010101010101010101010101010102
+:108E600001010101010101010101010101010101F2
+:108E700001010101010101010101010101010101E2
+:108E800001010101010101010101010101010101D2
+:108E900001010101010101010101010101010101C2
+:108EA00001010101010101010101010101010101B2
+:108EB00001010101010101010101010101010101A2
+:108EC0000101010101010101010101010101010192
+:108ED0000101010101010101010101010101010182
+:108EE0000101010101010101010101010101010172
+:108EF0000101010101010101010101010101010162
+:108F00000101010101010101010101010101010151
+:108F10000101010101010101010101010101010141
+:108F20000101010101010101010101010101010131
+:108F30000101010101010101010101010101010121
+:108F40000101010101010101010101010101010111
+:108F50000101010101010101010101010101010101
+:108F600001010101010101010101010101010101F1
+:108F700001010101010101010101010101010101E1
+:108F800001010101010101010101010101010101D1
+:108F900001010101010101010101010101010101C1
+:108FA00001010101010101010101010101010101B1
+:108FB00001010101010101010101010101010101A1
+:108FC0000101010101010101010101010101010191
+:108FD0000101010101010101010101010101010181
+:108FE0000101010101010101010101010101010171
+:108FF0000101010101010101010101010101010161
+:109000000101010101010101010101010101010150
+:109010000101010101010101010101010101010140
+:109020000101010101010101010101010101010130
+:109030000101010101010101010101010101010120
+:109040000101010101010101010101010101010110
+:109050000101010101010101010101010101010100
+:1090600001010101010101010101010101010101F0
+:1090700001010101010101010101010101010101E0
+:1090800001010101010101010101010101010101D0
+:1090900001010101010101010101010101010101C0
+:1090A00001010101010101010101010101010101B0
+:1090B00001010101010101010101010101010101A0
+:1090C0000101010101010101010101010101010190
+:1090D0000101010101010101010101010101010180
+:1090E0000101010101010101010101010101010170
+:1090F0000101010101010101010101010101010160
+:10910000010101010101010101010101010101014F
+:10911000010101010101010101010101010101013F
+:10912000010101010101010101010101010101012F
+:10913000010101010101010101010101010101011F
+:10914000010101010101010101010101010101010F
+:1091500001010101010101010101010101010101FF
+:1091600001010101010101010101010101010101EF
+:1091700001010101010101010101010101010101DF
+:1091800001010101010101010101010101010101CF
+:1091900001010101010101010101010101010101BF
+:1091A00001010101010101010101010101010101AF
+:1091B000010101010101010101010101010101019F
+:1091C000010101010101010101010101010101018F
+:1091D000010101010101010101010101010101017F
+:1091E000010101010101010101010101010101016F
+:1091F000010101010101010101010101010101015F
+:10920000010101010101010101010101010101014E
+:10921000010101010101010101010101010101013E
+:10922000010101010101010101010101010101012E
+:10923000010101010101010101010101010101011E
+:10924000010101010101010101010101010101010E
+:1092500001010101010101010101010101010101FE
+:1092600001010101010101010101010101010101EE
+:1092700001010101010101010101010101010101DE
+:1092800001010101010101010101010101010101CE
+:1092900001010101010101010101010101010101BE
+:1092A00001010101010101010101010101010101AE
+:1092B000010101010101010101010101010101019E
+:1092C000010101010101010101010101010101018E
+:1092D000010101010101010101010101010101017E
+:1092E000010101010101010101010101010101016E
+:1092F000010101010101010101010101010101015E
+:10930000010101010101010101010101010101014D
+:10931000010101010101010101010101010101013D
+:10932000010101010101010101010101010101012D
+:10933000010101010101010101010101010101011D
+:10934000010101010101010101010101010101010D
+:1093500001010101010101010101010101010101FD
+:1093600001010101010101010101010101010101ED
+:1093700001010101010101010101010101010101DD
+:1093800001010101010101010101010101010101CD
+:1093900001010101010101010101010101010101BD
+:1093A00001010101010101010101010101010101AD
+:1093B000010101010101010101010101010101019D
+:1093C000010101010101010101010101010101018D
+:1093D000010101010101010101010101010101017D
+:1093E000010101010101010101010101010101016D
+:1093F000010101010101010101010101010101015D
+:10940000010101010101010101010101010101014C
+:10941000010101010101010101010101010101013C
+:10942000010101010101010101010101010101012C
+:10943000010101010101010101010101010101011C
+:10944000010101010101010101010101010101010C
+:1094500001010101010101010101010101010101FC
+:1094600001010101010101010101010101010101EC
+:1094700001010101010101010101010101010101DC
+:1094800001010101010101010101010101010101CC
+:1094900001010101010101010101010101010101BC
+:1094A00001010101010101010101010101010101AC
+:1094B000010101010101010101010101010101019C
+:1094C000010101010101010101010101010101018C
+:1094D000010101010101010101010101010101017C
+:1094E000010101010101010101010101010101016C
+:1094F000010101010101010101010101010101015C
+:10950000010101010101010101010101010101014B
+:10951000010101010101010101010101010101013B
+:10952000010101010101010101010101010101012B
+:10953000010101010101010101010101010101011B
+:10954000010101010101010101010101010101010B
+:1095500001010101010101010101010101010101FB
+:1095600001010101010101010101010101010101EB
+:1095700001010101010101010101010101010101DB
+:1095800001010101010101010101010101010101CB
+:1095900001010101010101010101010101010101BB
+:1095A00001010101010101010101010101010101AB
+:1095B000010101010101010101010101010101019B
+:1095C000010101010101010101010101010101018B
+:1095D000010101010101010101010101010101017B
+:1095E000010101010101010101010101010101016B
+:1095F000010101010101010101010101010101015B
+:10960000010101010101010101010101010101014A
+:10961000010101010101010101010101010101013A
+:10962000010101010101010101010101010101012A
+:10963000010101010101010101010101010101011A
+:10964000010101010101010101010101010101010A
+:1096500001010101010101010101010101010101FA
+:1096600001010101010101010101010101010101EA
+:1096700001010101010101010101010101010101DA
+:1096800001010101010101010101010101010101CA
+:1096900001010101010101010101010101010101BA
+:1096A00001010101010101010101010101010101AA
+:1096B000010101010101010101010101010101019A
+:1096C000010101010101010101010101010101018A
+:1096D000010101010101010101010101010101017A
+:1096E000010101010101010101010101010101016A
+:1096F000010101010101010101010101010101015A
+:109700000101010101010101010101010101010149
+:109710000101010101010101010101010101010139
+:109720000101010101010101010101010101010129
+:109730000101010101010101010101010101010119
+:109740000101010101010101010101010101010109
+:1097500001010101010101010101010101010101F9
+:1097600001010101010101010101010101010101E9
+:1097700001010101010101010101010101010101D9
+:1097800001010101010101010101010101010101C9
+:1097900001010101010101010101010101010101B9
+:1097A00001010101010101010101010101010101A9
+:1097B0000101010101010101010101010101010199
+:1097C0000101010101010101010101010101010189
+:1097D0000101010101010101010101010101010179
+:1097E0000101010101010101010101010101010169
+:1097F0000101010101010101010101010101010159
+:109800000101010101010101010101010101010148
+:109810000101010101010101010101010101010138
+:109820000101010101010101010101010101010128
+:109830000101010101010101010101010101010118
+:109840000101010101010101010101010101010108
+:1098500001010101010101010101010101010101F8
+:1098600001010101010101010101010101010101E8
+:1098700001010101010101010101010101010101D8
+:1098800001010101010101010101010101010101C8
+:1098900001010101010101010101010101010101B8
+:1098A00001010101010101010101010101010101A8
+:1098B0000101010101010101010101010101010198
+:1098C0000101010101010101010101010101010188
+:1098D0000101010101010101010101010101010178
+:1098E0000101010101010101010101010101010168
+:1098F0000101010101010101010101010101010158
+:109900000101010101010101010101010101010147
+:109910000101010101010101010101010101010137
+:109920000101010101010101010101010101010127
+:109930000101010101010101010101010101010117
+:109940000101010101010101010101010101010107
+:1099500001010101010101010101010101010101F7
+:1099600001010101010101010101010101010101E7
+:1099700001010101010101010101010101010101D7
+:1099800001010101010101010101010101010101C7
+:1099900001010101010101010101010101010101B7
+:1099A00001010101010101010101010101010101A7
+:1099B0000101010101010101010101010101010197
+:1099C0000101010101010101010101010101010187
+:1099D0000101010101010101010101010101010177
+:1099E0000101010101010101010101010101010167
+:1099F0000101010101010101010101010101010157
+:109A00000101010101010101010101010101010146
+:109A10000101010101010101010101010101010136
+:109A20000101010101010101010101010101010126
+:109A30000101010101010101010101010101010116
+:109A40000101010101010101010101010101010106
+:109A500001010101010101010101010101010101F6
+:109A600001010101010101010101010101010101E6
+:109A700001010101010101010101010101010101D6
+:109A800001010101010101010101010101010101C6
+:109A900001010101010101010101010101010101B6
+:109AA00001010101010101010101010101010101A6
+:109AB0000101010101010101010101010101010196
+:109AC0000101010101010101010101010101010186
+:109AD0000101010101010101010101010101010176
+:109AE0000101010101010101010101010101010166
+:109AF0000101010101010101010101010101010156
+:109B00000101010101010101010101010101010145
+:109B10000101010101010101010101010101010135
+:109B20000101010101010101010101010101010125
+:109B30000101010101010101010101010101010115
+:109B40000101010101010101010101010101010105
+:109B500001010101010101010101010101010101F5
+:109B600001010101010101010101010101010101E5
+:109B700001010101010101010101010101010101D5
+:109B800001010101010101010101010101010101C5
+:109B900001010101010101010101010101010101B5
+:109BA00001010101010101010101010101010101A5
+:109BB0000101010101010101010101010101010195
+:109BC0000101010101010101010101010101010185
+:109BD0000101010101010101010101010101010175
+:109BE0000101010101010101010101010101010165
+:109BF0000101010101010101010101010101010155
+:109C00000101010101010101010101010101010144
+:109C10000101010101010101010101010101010134
+:109C20000101010101010101010101010101010124
+:109C30000101010101010101010101010101010114
+:109C40000101010101010101010101010101010104
+:109C500001010101010101010101010101010101F4
+:109C600001010101010101010101010101010101E4
+:109C700001010101010101010101010101010101D4
+:109C800001010101010101010101010101010101C4
+:109C900001010101010101010101010101010101B4
+:109CA00001010101010101010101010101010101A4
+:109CB0000101010101010101010101010101010194
+:109CC0000101010101010101010101010101010184
+:109CD0000101010101010101010101010101010174
+:109CE0000101010101010101010101010101010164
+:109CF0000101010101010101010101010101010154
+:109D00000101010101010101010101010101010143
+:109D10000101010101010101010101010101010133
+:109D20000101010101010101010101010101010123
+:109D30000101010101010101010101010101010113
+:109D40000101010101010101010101010101010103
+:109D500001010101010101010101010101010101F3
+:109D600001010101010101010101010101010101E3
+:109D700001010101010101010101010101010101D3
+:109D800001010101010101010101010101010101C3
+:109D900001010101010101010101010101010101B3
+:109DA00001010101010101010101010101010101A3
+:109DB0000101010101010101010101010101010193
+:109DC0000101010101010101010101010101010183
+:109DD0000101010101010101010101010101010173
+:109DE0000101010101010101010101010101010163
+:109DF0000101010101010101010101010101010153
+:109E00000101010101010101010101010101010142
+:109E10000101010101010101010101010101010132
+:109E20000101010101010101010101010101010122
+:109E30000101010101010101010101010101010112
+:109E40000101010101010101010101010101010102
+:109E500001010101010101010101010101010101F2
+:109E600001010101010101010101010101010101E2
+:109E700001010101010101010101010101010101D2
+:109E800001010101010101010101010101010101C2
+:109E900001010101010101010101010101010101B2
+:109EA00001010101010101010101010101010101A2
+:109EB0000101010101010101010101010101010192
+:109EC0000101010101010101010101010101010182
+:109ED0000101010101010101010101010101010172
+:109EE0000101010101010101010101010101010162
+:109EF0000101010101010101010101010101010152
+:109F00000101010101010101010101010101010141
+:109F10000101010101010101010101010101010131
+:109F20000101010101010101010101010101010121
+:109F30000101010101010101010101010101010111
+:109F40000101010101010101010101010101010101
+:109F500001010101010101010101010101010101F1
+:109F600001010101010101010101010101010101E1
+:109F700001010101010101010101010101010101D1
+:109F800001010101010101010101010101010101C1
+:109F900001010101010101010101010101010101B1
+:109FA00001010101010101010101010101010101A1
+:109FB0000101010101010101010101010101010191
+:109FC0000101010101010101010101010101010181
+:109FD0000101010101010101010101010101010171
+:109FE0000101010101010101010101010101010161
+:109FF0000101010101010101010101010101010151
+:10A000000101010101010101010101010101010140
+:10A010000101010101010101010101010101010130
+:10A020000101010101010101010101010101010120
+:10A030000101010101010101010101010101010110
+:10A040000101010101010101010101010101010100
+:10A0500001010101010101010101010101010101F0
+:10A0600001010101010101010101010101010101E0
+:10A0700001010101010101010101010101010101D0
+:10A0800001010101010101010101010101010101C0
+:10A0900001010101010101010101010101010101B0
+:10A0A00001010101010101010101010101010101A0
+:10A0B0000101010101010101010101010101010190
+:10A0C0000101010101010101010101010101010180
+:10A0D0000101010101010101010101010101010170
+:10A0E0000101010101010101010101010101010160
+:10A0F0000101010101010101010101010101010150
+:10A10000010101010101010101010101010101013F
+:10A11000010101010101010101010101010101012F
+:10A12000010101010101010101010101010101011F
+:10A13000010101010101010101010101010101010F
+:10A1400001010101010101010101010101010101FF
+:10A1500001010101010101010101010101010101EF
+:10A1600001010101010101010101010101010101DF
+:10A1700001010101010101010101010101010101CF
+:10A1800001010101010101010101010101010101BF
+:10A1900001010101010101010101010101010101AF
+:10A1A000010101010101010101010101010101019F
+:10A1B000010101010101010101010101010101018F
+:10A1C000010101010101010101010101010101017F
+:10A1D000010101010101010101010101010101016F
+:10A1E000010101010101010101010101010101015F
+:10A1F000010101010101010101010101010101014F
+:10A20000010101010101010101010101010101013E
+:10A21000010101010101010101010101010101012E
+:10A22000010101010101010101010101010101011E
+:10A23000010101010101010101010101010101010E
+:10A2400001010101010101010101010101010101FE
+:10A2500001010101010101010101010101010101EE
+:10A2600001010101010101010101010101010101DE
+:10A2700001010101010101010101010101010101CE
+:10A2800001010101010101010101010101010101BE
+:10A2900001010101010101010101010101010101AE
+:10A2A000010101010101010101010101010101019E
+:10A2B000010101010101010101010101010101018E
+:10A2C000010101010101010101010101010101017E
+:10A2D000010101010101010101010101010101016E
+:10A2E0000101010101010101000000000000000066
+:10A2F000000000000000000000000000000000005E
+:10A30000000000000000000000000000000000004D
+:10A31000000000000000000000000000000000003D
+:10A32000000000000000000000000000000000002D
+:10A33000000000000000000000000000000000001D
+:10A34000000000000000000000000000000000000D
+:10A3500000000000000000000000000000000000FD
+:10A3600000000000000000000000000000000000ED
+:10A3700000000000000000000000000000000000DD
+:10A3800000000000000000000000000000000000CD
+:10A3900000000000000000000000000000000000BD
+:10A3A00000000000000000000000000000000000AD
+:10A3B000000000000000000000000000000000009D
+:10A3C000000000000000000000000000000000008D
+:10A3D000000000000000000000000000000000007D
+:10A3E000000000000000000000000000000000006D
+:10A3F000000000000000000000000000000000005D
+:10A40000000000000000000000000000000000004C
+:10A41000000000000000000000000000000000003C
+:10A42000000000000000000000000000000000002C
+:10A43000000000000000000000000000000000001C
+:10A44000000000000000000000000000000000000C
+:10A4500000000000000000000000000000000000FC
+:10A4600000000000000000000000000000000000EC
+:10A4700000000000000000000000000000000000DC
+:10A4800000000000000000000000000000000000CC
+:10A4900000000000000000000000000000000000BC
+:10A4A00000000000000000000000000000000000AC
+:10A4B000000000000000000000000000000000009C
+:10A4C000000000000000000000000000000000008C
+:10A4D000000000000000000000000000000000007C
+:10A4E000000000000000000000000000000000006C
+:10A4F000000000000000000000000000000000005C
+:10A50000000000000000000000000000000000004B
+:10A51000000000000000000000000000000000003B
+:10A52000000000000000000000000000000000002B
+:10A53000000000000000000000000000000000001B
+:10A54000000000000000000000000000000000000B
+:10A5500000000000000000000000000000000000FB
+:10A5600000000000000000000000000000000000EB
+:10A5700000000000000000000000000000000000DB
+:10A5800000000000000000000000000000000000CB
+:10A5900000000000000000000000000000000000BB
+:10A5A00000000000000000000000000000000000AB
+:10A5B000000000000000000000000000000000009B
+:10A5C000000000000000000000000000000000008B
+:10A5D000000000000000000000000000000000007B
+:10A5E000000000000000000000000000000000006B
+:10A5F000000000000000000000000000000000005B
+:10A60000000000000000000000000000000000004A
+:10A61000000000000000000000000000000000003A
+:10A62000000000000000000000000000000000002A
+:10A63000000000000000000000000000000000001A
+:10A64000000000000000000000000000000000000A
+:10A6500000000000000000000000000000000000FA
+:10A6600000000000000000000000000000000000EA
+:10A6700000000000000000000000000000000000DA
+:10A6800000000000000000000000000000000000CA
+:10A6900000000000000000000000000000000000BA
+:10A6A00000000000000000000000000000000000AA
+:10A6B000000000000000000000000000000000009A
+:10A6C000000000000000000000000000000000008A
+:10A6D000000000000000000000000000000000007A
+:10A6E0000000000000000000010101010101010162
+:10A6F000010101010101010101010101010101014A
+:10A700000101010101010101010101010101010139
+:10A710000101010101010101010101010101010129
+:10A720000101010101010101010101010101010119
+:10A730000101010101010101010101010101010109
+:10A7400001010101010101010101010101010101F9
+:10A7500001010101010101010101010101010101E9
+:10A7600001010101010101010101010101010101D9
+:10A7700001010101010101010101010101010101C9
+:10A7800001010101010101010101010101010101B9
+:10A7900001010101010101010101010101010101A9
+:10A7A0000101010101010101010101010101010199
+:10A7B0000101010101010101010101010101010189
+:10A7C0000101010101010101010101010101010179
+:10A7D0000101010101010101010101010101010169
+:10A7E0000101010101010101010101010101010159
+:10A7F0000101010101010101010101010101010149
+:10A800000101010101010101010101010101010138
+:10A810000101010101010101010101010101010128
+:10A820000101010101010101010101010101010118
+:10A830000101010101010101010101010101010108
+:10A8400001010101010101010101010101010101F8
+:10A8500001010101010101010101010101010101E8
+:10A8600001010101010101010101010101010101D8
+:10A8700001010101010101010101010101010101C8
+:10A8800001010101010101010101010101010101B8
+:10A8900001010101010101010101010101010101A8
+:10A8A0000101010101010101010101010101010198
+:10A8B0000101010101010101010101010101010188
+:10A8C0000101010101010101010101010101010178
+:10A8D0000101010101010101010101010101010168
+:10A8E0000101010101010101020202020202020250
+:10A8F0000202020202020202020202020202020238
+:10A900000202020202020202020202020202020227
+:10A910000202020202020202020202020202020217
+:10A920000202020202020202020202020202020207
+:10A9300002020202020202020202020202020202F7
+:10A9400002020202020202020202020202020202E7
+:10A9500002020202020202020202020202020202D7
+:10A9600002020202020202020202020202020202C7
+:10A9700002020202020202020202020202020202B7
+:10A9800002020202020202020202020202020202A7
+:10A990000202020202020202020202020202020297
+:10A9A0000202020202020202020202020202020287
+:10A9B0000202020202020202020202020202020277
+:10A9C0000202020202020202020202020202020267
+:10A9D0000202020202020202020202020202020257
+:10A9E0000202020202020202020202020202020247
+:10A9F0000202020202020202020202020202020237
+:10AA00000202020202020202020202020202020226
+:10AA10000202020202020202020202020202020216
+:10AA20000202020202020202020202020202020206
+:10AA300002020202020202020202020202020202F6
+:10AA400002020202020202020202020202020202E6
+:10AA500002020202020202020202020202020202D6
+:10AA600002020202020202020202020202020202C6
+:10AA700002020202020202020202020202020202B6
+:10AA800002020202020202020202020202020202A6
+:10AA90000202020202020202020202020202020296
+:10AAA0000202020202020202020202020202020286
+:10AAB0000202020202020202020202020202020276
+:10AAC0000202020202020202020202020202020266
+:10AAD0000202020202020202020202020202020256
+:10AAE0000202020202020202020202020202020246
+:10AAF0000202020202020202020202020202020236
+:10AB00000202020202020202020202020202020225
+:10AB10000202020202020202020202020202020215
+:10AB20000202020202020202020202020202020205
+:10AB300002020202020202020202020202020202F5
+:10AB400002020202020202020202020202020202E5
+:10AB500002020202020202020202020202020202D5
+:10AB600002020202020202020202020202020202C5
+:10AB700002020202020202020202020202020202B5
+:10AB800002020202020202020202020202020202A5
+:10AB90000202020202020202020202020202020295
+:10ABA0000202020202020202020202020202020285
+:10ABB0000202020202020202020202020202020275
+:10ABC0000202020202020202020202020202020265
+:10ABD0000202020202020202020202020202020255
+:10ABE0000202020202020202020202020202020245
+:10ABF0000202020202020202020202020202020235
+:10AC00000202020202020202020202020202020224
+:10AC10000202020202020202020202020202020214
+:10AC20000202020202020202020202020202020204
+:10AC300002020202020202020202020202020202F4
+:10AC400002020202020202020202020202020202E4
+:10AC500002020202020202020202020202020202D4
+:10AC600002020202020202020202020202020202C4
+:10AC700002020202020202020202020202020202B4
+:10AC800002020202020202020202020202020202A4
+:10AC90000202020202020202020202020202020294
+:10ACA0000202020202020202020202020202020284
+:10ACB0000202020202020202020202020202020274
+:10ACC0000202020202020202020202020202020264
+:10ACD0000202020202020202020202020202020254
+:10ACE0000202020202020202020202020202020244
+:10ACF0000202020202020202020202020202020234
+:10AD00000202020202020202020202020202020223
+:10AD10000202020202020202020202020202020213
+:10AD20000202020202020202020202020202020203
+:10AD300002020202020202020202020202020202F3
+:10AD400002020202020202020202020202020202E3
+:10AD500002020202020202020202020202020202D3
+:10AD600002020202020202020202020202020202C3
+:10AD700002020202020202020202020202020202B3
+:10AD800002020202020202020202020202020202A3
+:10AD90000202020202020202020202020202020293
+:10ADA0000202020202020202020202020202020283
+:10ADB0000202020202020202020202020202020273
+:10ADC0000202020202020202020202020202020263
+:10ADD0000202020202020202020202020202020253
+:10ADE0000202020202020202020202020202020243
+:10ADF0000202020202020202020202020202020233
+:10AE00000202020202020202020202020202020222
+:10AE10000202020202020202020202020202020212
+:10AE20000202020202020202020202020202020202
+:10AE300002020202020202020202020202020202F2
+:10AE400002020202020202020202020202020202E2
+:10AE500002020202020202020202020202020202D2
+:10AE600002020202020202020202020202020202C2
+:10AE700002020202020202020202020202020202B2
+:10AE800002020202020202020202020202020202A2
+:10AE90000202020202020202020202020202020292
+:10AEA0000202020202020202020202020202020282
+:10AEB0000202020202020202020202020202020272
+:10AEC0000202020202020202020202020202020262
+:10AED0000202020202020202020202020202020252
+:10AEE0000202020202020202020202020202020242
+:10AEF0000202020202020202020202020202020232
+:10AF00000202020202020202020202020202020221
+:10AF10000202020202020202020202020202020211
+:10AF20000202020202020202020202020202020201
+:10AF300002020202020202020202020202020202F1
+:10AF400002020202020202020202020202020202E1
+:10AF500002020202020202020202020202020202D1
+:10AF600002020202020202020202020202020202C1
+:10AF700002020202020202020202020202020202B1
+:10AF800002020202020202020202020202020202A1
+:10AF90000202020202020202020202020202020291
+:10AFA0000202020202020202020202020202020281
+:10AFB0000202020202020202020202020202020271
+:10AFC0000202020202020202020202020202020261
+:10AFD0000202020202020202020202020202020251
+:10AFE0000202020202020202020202020202020241
+:10AFF0000202020202020202020202020202020231
+:10B000000202020202020202020202020202020220
+:10B010000202020202020202020202020202020210
+:10B020000202020202020202020202020202020200
+:10B0300002020202020202020202020202020202F0
+:10B0400002020202020202020202020202020202E0
+:10B0500002020202020202020202020202020202D0
+:10B0600002020202020202020202020202020202C0
+:10B0700002020202020202020202020202020202B0
+:10B0800002020202020202020202020202020202A0
+:10B090000202020202020202020202020202020290
+:10B0A0000202020202020202020202020202020280
+:10B0B0000202020202020202020202020202020270
+:10B0C0000202020202020202020202020202020260
+:10B0D0000202020202020202020202020202020250
+:10B0E0000202020202020202020202020202020240
+:10B0F0000202020202020202020202020202020230
+:10B10000020202020202020202020202020202021F
+:10B11000020202020202020202020202020202020F
+:10B1200002020202020202020202020202020202FF
+:10B1300002020202020202020202020202020202EF
+:10B1400002020202020202020202020202020202DF
+:10B1500002020202020202020202020202020202CF
+:10B1600002020202020202020202020202020202BF
+:10B1700002020202020202020202020202020202AF
+:10B18000020202020202020202020202020202029F
+:10B19000020202020202020202020202020202028F
+:10B1A000020202020202020202020202020202027F
+:10B1B000020202020202020202020202020202026F
+:10B1C000020202020202020202020202020202025F
+:10B1D000020202020202020202020202020202024F
+:10B1E000020202020202020202020202020202023F
+:10B1F000020202020202020202020202020202022F
+:10B20000020202020202020202020202020202021E
+:10B21000020202020202020202020202020202020E
+:10B2200002020202020202020202020202020202FE
+:10B2300002020202020202020202020202020202EE
+:10B2400002020202020202020202020202020202DE
+:10B2500002020202020202020202020202020202CE
+:10B2600002020202020202020202020202020202BE
+:10B2700002020202020202020202020202020202AE
+:10B28000020202020202020202020202020202029E
+:10B29000020202020202020202020202020202028E
+:10B2A000020202020202020202020202020202027E
+:10B2B000020202020202020202020202020202026E
+:10B2C000020202020202020202020202020202025E
+:10B2D000020202020202020202020202020202024E
+:10B2E000020202020202020202020202020202023E
+:10B2F000020202020202020202020202020202022E
+:10B30000020202020202020202020202020202021D
+:10B31000020202020202020202020202020202020D
+:10B3200002020202020202020202020202020202FD
+:10B3300002020202020202020202020202020202ED
+:10B3400002020202020202020202020202020202DD
+:10B3500002020202020202020202020202020202CD
+:10B3600002020202020202020202020202020202BD
+:10B3700002020202020202020202020202020202AD
+:10B38000020202020202020202020202020202029D
+:10B39000020202020202020202020202020202028D
+:10B3A000020202020202020202020202020202027D
+:10B3B000020202020202020202020202020202026D
+:10B3C000020202020202020202020202020202025D
+:10B3D000020202020202020202020202020202024D
+:10B3E000020202020202020202020202020202023D
+:10B3F000020202020202020202020202020202022D
+:10B40000020202020202020202020202020202021C
+:10B41000020202020202020202020202020202020C
+:10B4200002020202020202020202020202020202FC
+:10B4300002020202020202020202020202020202EC
+:10B4400002020202020202020202020202020202DC
+:10B4500002020202020202020202020202020202CC
+:10B4600002020202020202020202020202020202BC
+:10B4700002020202020202020202020202020202AC
+:10B48000020202020202020202020202020202029C
+:10B49000020202020202020202020202020202028C
+:10B4A000020202020202020202020202020202027C
+:10B4B000020202020202020202020202020202026C
+:10B4C000020202020202020202020202020202025C
+:10B4D000020202020202020202020202020202024C
+:10B4E000020202020202020202020202020202023C
+:10B4F000020202020202020202020202020202022C
+:10B50000020202020202020202020202020202021B
+:10B51000020202020202020202020202020202020B
+:10B5200002020202020202020202020202020202FB
+:10B5300002020202020202020202020202020202EB
+:10B5400002020202020202020202020202020202DB
+:10B5500002020202020202020202020202020202CB
+:10B5600002020202020202020202020202020202BB
+:10B5700002020202020202020202020202020202AB
+:10B58000020202020202020202020202020202029B
+:10B59000020202020202020202020202020202028B
+:10B5A000020202020202020202020202020202027B
+:10B5B000020202020202020202020202020202026B
+:10B5C000020202020202020202020202020202025B
+:10B5D000020202020202020202020202020202024B
+:10B5E000020202020202020202020202020202023B
+:10B5F000020202020202020202020202020202022B
+:10B60000020202020202020202020202020202021A
+:10B61000020202020202020202020202020202020A
+:10B6200002020202020202020202020202020202FA
+:10B6300002020202020202020202020202020202EA
+:10B6400002020202020202020202020202020202DA
+:10B6500002020202020202020202020202020202CA
+:10B6600002020202020202020202020202020202BA
+:10B6700002020202020202020202020202020202AA
+:10B68000020202020202020202020202020202029A
+:10B69000020202020202020202020202020202028A
+:10B6A000020202020202020202020202020202027A
+:10B6B000020202020202020202020202020202026A
+:10B6C000020202020202020202020202020202025A
+:10B6D000020202020202020202020202020202024A
+:10B6E000020202020202020202020202020202023A
+:10B6F000020202020202020202020202020202022A
+:10B700000202020202020202020202020202020219
+:10B710000202020202020202020202020202020209
+:10B7200002020202020202020202020202020202F9
+:10B7300002020202020202020202020202020202E9
+:10B7400002020202020202020202020202020202D9
+:10B7500002020202020202020202020202020202C9
+:10B7600002020202020202020202020202020202B9
+:10B7700002020202020202020202020202020202A9
+:10B780000202020202020202020202020202020299
+:10B790000202020202020202020202020202020289
+:10B7A0000202020202020202020202020202020279
+:10B7B0000202020202020202020202020202020269
+:10B7C0000202020202020202020202020202020259
+:10B7D0000202020202020202020202020202020249
+:10B7E0000202020202020202020202020202020239
+:10B7F0000202020202020202020202020202020229
+:10B800000202020202020202020202020202020218
+:10B810000202020202020202020202020202020208
+:10B8200002020202020202020202020202020202F8
+:10B8300002020202020202020202020202020202E8
+:10B8400002020202020202020202020202020202D8
+:10B8500002020202020202020202020202020202C8
+:10B8600002020202020202020202020202020202B8
+:10B8700002020202020202020202020202020202A8
+:10B880000202020202020202020202020202020298
+:10B890000202020202020202020202020202020288
+:10B8A0000202020202020202020202020202020278
+:10B8B0000202020202020202020202020202020268
+:10B8C0000202020202020202020202020202020258
+:10B8D0000202020202020202020202020202020248
+:10B8E0000202020202020202020202020202020238
+:10B8F0000202020202020202020202020202020228
+:10B900000202020202020202020202020202020217
+:10B910000202020202020202020202020202020207
+:10B9200002020202020202020202020202020202F7
+:10B9300002020202020202020202020202020202E7
+:10B9400002020202020202020202020202020202D7
+:10B9500002020202020202020202020202020202C7
+:10B9600002020202020202020202020202020202B7
+:10B9700002020202020202020202020202020202A7
+:10B980000202020202020202020202020202020297
+:10B990000202020202020202020202020202020287
+:10B9A0000202020202020202020202020202020277
+:10B9B0000202020202020202020202020202020267
+:10B9C0000202020202020202020202020202020257
+:10B9D0000202020202020202020202020202020247
+:10B9E0000202020202020202020202020202020237
+:10B9F0000202020202020202020202020202020227
+:10BA00000202020202020202020202020202020216
+:10BA10000202020202020202020202020202020206
+:10BA200002020202020202020202020202020202F6
+:10BA300002020202020202020202020202020202E6
+:10BA400002020202020202020202020202020202D6
+:10BA500002020202020202020202020202020202C6
+:10BA600002020202020202020202020202020202B6
+:10BA700002020202020202020202020202020202A6
+:10BA80000202020202020202020202020202020296
+:10BA90000202020202020202020202020202020286
+:10BAA0000202020202020202020202020202020276
+:10BAB0000202020202020202020202020202020266
+:10BAC0000202020202020202020202020202020256
+:10BAD0000202020202020202020202020202020246
+:10BAE0000202020202020202020202020202020236
+:10BAF0000202020202020202020202020202020226
+:10BB00000202020202020202020202020202020215
+:10BB10000202020202020202020202020202020205
+:10BB200002020202020202020202020202020202F5
+:10BB300002020202020202020202020202020202E5
+:10BB400002020202020202020202020202020202D5
+:10BB500002020202020202020202020202020202C5
+:10BB600002020202020202020202020202020202B5
+:10BB700002020202020202020202020202020202A5
+:10BB80000202020202020202020202020202020295
+:10BB90000202020202020202020202020202020285
+:10BBA0000202020202020202020202020202020275
+:10BBB0000202020202020202020202020202020265
+:10BBC0000202020202020202020202020202020255
+:10BBD0000202020202020202020202020202020245
+:10BBE0000202020202020202020202020202020235
+:10BBF0000202020202020202020202020202020225
+:10BC00000202020202020202020202020202020214
+:10BC10000202020202020202020202020202020204
+:10BC200002020202020202020202020202020202F4
+:10BC300002020202020202020202020202020202E4
+:10BC400002020202020202020202020202020202D4
+:10BC500002020202020202020202020202020202C4
+:10BC600002020202020202020202020202020202B4
+:10BC700002020202020202020202020202020202A4
+:10BC80000202020202020202020202020202020294
+:10BC90000202020202020202020202020202020284
+:10BCA0000202020202020202020202020202020274
+:10BCB0000202020202020202020202020202020264
+:10BCC0000202020202020202020202020202020254
+:10BCD0000202020202020202020202020202020244
+:10BCE0000202020202020202020202020202020234
+:10BCF0000202020202020202020202020202020224
+:10BD00000202020202020202020202020202020213
+:10BD10000202020202020202020202020202020203
+:10BD200002020202020202020202020202020202F3
+:10BD300002020202020202020202020202020202E3
+:10BD400002020202020202020202020202020202D3
+:10BD500002020202020202020202020202020202C3
+:10BD600002020202020202020202020202020202B3
+:10BD700002020202020202020202020202020202A3
+:10BD80000202020202020202020202020202020293
+:10BD90000202020202020202020202020202020283
+:10BDA0000202020202020202020202020202020273
+:10BDB0000202020202020202020202020202020263
+:10BDC0000202020202020202020202020202020253
+:10BDD0000202020202020202020202020202020243
+:10BDE0000202020202020202020202020202020233
+:10BDF0000202020202020202020202020202020223
+:10BE00000202020202020202020202020202020212
+:10BE10000202020202020202020202020202020202
+:10BE200002020202020202020202020202020202F2
+:10BE300002020202020202020202020202020202E2
+:10BE400002020202020202020202020202020202D2
+:10BE500002020202020202020202020202020202C2
+:10BE600002020202020202020202020202020202B2
+:10BE700002020202020202020202020202020202A2
+:10BE80000202020202020202020202020202020292
+:10BE90000202020202020202020202020202020282
+:10BEA0000202020202020202020202020202020272
+:10BEB0000202020202020202020202020202020262
+:10BEC0000202020202020202020202020202020252
+:10BED0000202020202020202020202020202020242
+:10BEE0000202020202020202020202020202020232
+:10BEF0000202020202020202020202020202020222
+:10BF00000202020202020202020202020202020211
+:10BF10000202020202020202020202020202020201
+:10BF200002020202020202020202020202020202F1
+:10BF300002020202020202020202020202020202E1
+:10BF400002020202020202020202020202020202D1
+:10BF500002020202020202020202020202020202C1
+:10BF600002020202020202020202020202020202B1
+:10BF700002020202020202020202020202020202A1
+:10BF80000202020202020202020202020202020291
+:10BF90000202020202020202020202020202020281
+:10BFA0000202020202020202020202020202020271
+:10BFB0000202020202020202020202020202020261
+:10BFC0000202020202020202020202020202020251
+:10BFD0000202020202020202020202020202020241
+:10BFE0000202020202020202020202020202020231
+:10BFF0000202020202020202020202020202020221
+:10C000000202020202020202020202020202020210
+:10C010000202020202020202020202020202020200
+:10C0200002020202020202020202020202020202F0
+:10C0300002020202020202020202020202020202E0
+:10C0400002020202020202020202020202020202D0
+:10C0500002020202020202020202020202020202C0
+:10C0600002020202020202020202020202020202B0
+:10C0700002020202020202020202020202020202A0
+:10C080000202020202020202020202020202020290
+:10C090000202020202020202020202020202020280
+:10C0A0000202020202020202020202020202020270
+:10C0B0000202020202020202020202020202020260
+:10C0C0000202020202020202020202020202020250
+:10C0D0000202020202020202020202020202020240
+:10C0E0000202020202020202020202020202020230
+:10C0F0000202020202020202020202020202020220
+:10C10000020202020202020202020202020202020F
+:10C1100002020202020202020202020202020202FF
+:10C1200002020202020202020202020202020202EF
+:10C1300002020202020202020202020202020202DF
+:10C1400002020202020202020202020202020202CF
+:10C1500002020202020202020202020202020202BF
+:10C1600002020202020202020202020202020202AF
+:10C17000020202020202020202020202020202029F
+:10C18000020202020202020202020202020202028F
+:10C19000020202020202020202020202020202027F
+:10C1A000020202020202020202020202020202026F
+:10C1B000020202020202020202020202020202025F
+:10C1C000020202020202020202020202020202024F
+:10C1D000020202020202020202020202020202023F
+:10C1E000020202020202020202020202020202022F
+:10C1F000020202020202020202020202020202021F
+:10C20000020202020202020202020202020202020E
+:10C2100002020202020202020202020202020202FE
+:10C2200002020202020202020202020202020202EE
+:10C2300002020202020202020202020202020202DE
+:10C2400002020202020202020202020202020202CE
+:10C2500002020202020202020202020202020202BE
+:10C2600002020202020202020202020202020202AE
+:10C27000020202020202020202020202020202029E
+:10C28000020202020202020202020202020202028E
+:10C29000020202020202020202020202020202027E
+:10C2A000020202020202020202020202020202026E
+:10C2B000020202020202020202020202020202025E
+:10C2C000020202020202020202020202020202024E
+:10C2D000020202020202020202020202020202023E
+:10C2E000020202020202020202020202020202022E
+:10C2F000020202020202020202020202020202021E
+:10C30000020202020202020202020202020202020D
+:10C3100002020202020202020202020202020202FD
+:10C3200002020202020202020202020202020202ED
+:10C3300002020202020202020202020202020202DD
+:10C3400002020202020202020202020202020202CD
+:10C3500002020202020202020202020202020202BD
+:10C3600002020202020202020202020202020202AD
+:10C37000020202020202020202020202020202029D
+:10C38000020202020202020202020202020202028D
+:10C39000020202020202020202020202020202027D
+:10C3A000020202020202020202020202020202026D
+:10C3B000020202020202020202020202020202025D
+:10C3C000020202020202020202020202020202024D
+:10C3D000020202020202020202020202020202023D
+:10C3E000020202020202020200000000000000003D
+:10C3F000000000000000000000000000000000003D
+:10C40000000000000000000000000000000000002C
+:10C41000000000000000000000000000000000001C
+:10C42000000000000000000000000000000000000C
+:10C4300000000000000000000000000000000000FC
+:10C4400000000000000000000000000000000000EC
+:10C4500000000000000000000000000000000000DC
+:10C4600000000000000000000000000000000000CC
+:10C4700000000000000000000000000000000000BC
+:10C4800000000000000000000000000000000000AC
+:10C49000000000000000000000000000000000009C
+:10C4A000000000000000000000000000000000008C
+:10C4B000000000000000000000000000000000007C
+:10C4C000000000000000000000000000000000006C
+:10C4D000000000000000000000000000000000005C
+:10C4E000000000000000000000000000000000004C
+:10C4F000000000000000000000000000000000003C
+:10C50000000000000000000000000000000000002B
+:10C51000000000000000000000000000000000001B
+:10C52000000000000000000000000000000000000B
+:10C5300000000000000000000000000000000000FB
+:10C5400000000000000000000000000000000000EB
+:10C5500000000000000000000000000000000000DB
+:10C5600000000000000000000000000000000000CB
+:10C5700000000000000000000000000000000000BB
+:10C5800000000000000000000000000000000000AB
+:10C59000000000000000000000000000000000009B
+:10C5A000000000000000000000000000000000008B
+:10C5B000000000000000000000000000000000007B
+:10C5C000000000000000000000000000000000006B
+:10C5D000000000000000000000000000000000005B
+:10C5E000000000000000000000000000000000004B
+:10C5F000000000000000000000000000000000003B
+:10C60000000000000000000000000000000000002A
+:10C61000000000000000000000000000000000001A
+:10C62000000000000000000000000000000000000A
+:10C6300000000000000000000000000000000000FA
+:10C6400000000000000000000000000000000000EA
+:10C6500000000000000000000000000000000000DA
+:10C6600000000000000000000000000000000000CA
+:10C6700000000000000000000000000000000000BA
+:10C6800000000000000000000000000000000000AA
+:10C69000000000000000000000000000000000009A
+:10C6A000000000000000000000000000000000008A
+:10C6B000000000000000000000000000000000007A
+:10C6C000000000000000000000000000000000006A
+:10C6D000000000000000000000000000000000005A
+:10C6E000000000000000000000000000000000004A
+:10C6F000000000000000000000000000000000003A
+:10C700000000000000000000000000000000000029
+:10C710000000000000000000000000000000000019
+:10C720000000000000000000000000000000000009
+:10C7300000000000000000000000000000000000F9
+:10C7400000000000000000000000000000000000E9
+:10C7500000000000000000000000000000000000D9
+:10C7600000000000000000000000000000000000C9
+:10C7700000000000000000000000000000000000B9
+:10C7800000000000000000000000000000000000A9
+:10C790000000000000000000000000000000000099
+:10C7A0000000000000000000000000000000000089
+:10C7B0000000000000000000000000000000000079
+:10C7C0000000000000000000000000000000000069
+:10C7D0000000000000000000000000000000000059
+:10C7E0000000000000000000010101010101010141
+:10C7F0000101010101010101010101010101010129
+:10C800000101010101010101010101010101010118
+:10C810000101010101010101010101010101010108
+:10C8200001010101010101010101010101010101F8
+:10C8300001010101010101010101010101010101E8
+:10C8400001010101010101010101010101010101D8
+:10C8500001010101010101010101010101010101C8
+:10C8600001010101010101010101010101010101B8
+:10C8700001010101010101010101010101010101A8
+:10C880000101010101010101010101010101010198
+:10C890000101010101010101010101010101010188
+:10C8A0000101010101010101010101010101010178
+:10C8B0000101010101010101010101010101010168
+:10C8C0000101010101010101010101010101010158
+:10C8D0000101010101010101010101010101010148
+:10C8E0000101010101010101010101010101010138
+:10C8F0000101010101010101010101010101010128
+:10C900000101010101010101010101010101010117
+:10C910000101010101010101010101010101010107
+:10C9200001010101010101010101010101010101F7
+:10C9300001010101010101010101010101010101E7
+:10C9400001010101010101010101010101010101D7
+:10C9500001010101010101010101010101010101C7
+:10C9600001010101010101010101010101010101B7
+:10C9700001010101010101010101010101010101A7
+:10C980000101010101010101010101010101010197
+:10C990000101010101010101010101010101010187
+:10C9A0000101010101010101010101010101010177
+:10C9B0000101010101010101010101010101010167
+:10C9C0000101010101010101010101010101010157
+:10C9D0000101010101010101010101010101010147
+:10C9E0000101010101010101010101010101010137
+:10C9F0000101010101010101010101010101010127
+:10CA00000101010101010101010101010101010116
+:10CA10000101010101010101010101010101010106
+:10CA200001010101010101010101010101010101F6
+:10CA300001010101010101010101010101010101E6
+:10CA400001010101010101010101010101010101D6
+:10CA500001010101010101010101010101010101C6
+:10CA600001010101010101010101010101010101B6
+:10CA700001010101010101010101010101010101A6
+:10CA80000101010101010101010101010101010196
+:10CA90000101010101010101010101010101010186
+:10CAA0000101010101010101010101010101010176
+:10CAB0000101010101010101010101010101010166
+:10CAC0000101010101010101010101010101010156
+:10CAD0000101010101010101010101010101010146
+:10CAE0000101010101010101010101010101010136
+:10CAF0000101010101010101010101010101010126
+:10CB00000101010101010101010101010101010115
+:10CB10000101010101010101010101010101010105
+:10CB200001010101010101010101010101010101F5
+:10CB300001010101010101010101010101010101E5
+:10CB400001010101010101010101010101010101D5
+:10CB500001010101010101010101010101010101C5
+:10CB600001010101010101010101010101010101B5
+:10CB700001010101010101010101010101010101A5
+:10CB80000101010101010101010101010101010195
+:10CB90000101010101010101010101010101010185
+:10CBA0000101010101010101010101010101010175
+:10CBB0000101010101010101010101010101010165
+:10CBC0000101010101010101010101010101010155
+:10CBD0000101010101010101010101010101010145
+:10CBE0000101010101010101010101010101010135
+:10CBF0000101010101010101010101010101010125
+:10CC00000101010101010101010101010101010114
+:10CC10000101010101010101010101010101010104
+:10CC200001010101010101010101010101010101F4
+:10CC300001010101010101010101010101010101E4
+:10CC400001010101010101010101010101010101D4
+:10CC500001010101010101010101010101010101C4
+:10CC600001010101010101010101010101010101B4
+:10CC700001010101010101010101010101010101A4
+:10CC80000101010101010101010101010101010194
+:10CC90000101010101010101010101010101010184
+:10CCA0000101010101010101010101010101010174
+:10CCB0000101010101010101010101010101010164
+:10CCC0000101010101010101010101010101010154
+:10CCD0000101010101010101010101010101010144
+:10CCE0000101010101010101010101010101010134
+:10CCF0000101010101010101010101010101010124
+:10CD00000101010101010101010101010101010113
+:10CD10000101010101010101010101010101010103
+:10CD200001010101010101010101010101010101F3
+:10CD300001010101010101010101010101010101E3
+:10CD400001010101010101010101010101010101D3
+:10CD500001010101010101010101010101010101C3
+:10CD600001010101010101010101010101010101B3
+:10CD700001010101010101010101010101010101A3
+:10CD80000101010101010101010101010101010193
+:10CD90000101010101010101010101010101010183
+:10CDA0000101010101010101010101010101010173
+:10CDB0000101010101010101010101010101010163
+:10CDC0000101010101010101010101010101010153
+:10CDD0000101010101010101010101010101010143
+:10CDE0000101010101010101010101010101010133
+:10CDF0000101010101010101010101010101010123
+:10CE00000101010101010101010101010101010112
+:10CE10000101010101010101010101010101010102
+:10CE200001010101010101010101010101010101F2
+:10CE300001010101010101010101010101010101E2
+:10CE400001010101010101010101010101010101D2
+:10CE500001010101010101010101010101010101C2
+:10CE600001010101010101010101010101010101B2
+:10CE700001010101010101010101010101010101A2
+:10CE80000101010101010101010101010101010192
+:10CE90000101010101010101010101010101010182
+:10CEA0000101010101010101010101010101010172
+:10CEB0000101010101010101010101010101010162
+:10CEC0000101010101010101010101010101010152
+:10CED0000101010101010101010101010101010142
+:10CEE0000101010101010101010101010101010132
+:10CEF0000101010101010101010101010101010122
+:10CF00000101010101010101010101010101010111
+:10CF10000101010101010101010101010101010101
+:10CF200001010101010101010101010101010101F1
+:10CF300001010101010101010101010101010101E1
+:10CF400001010101010101010101010101010101D1
+:10CF500001010101010101010101010101010101C1
+:10CF600001010101010101010101010101010101B1
+:10CF700001010101010101010101010101010101A1
+:10CF80000101010101010101010101010101010191
+:10CF90000101010101010101010101010101010181
+:10CFA0000101010101010101010101010101010171
+:10CFB0000101010101010101010101010101010161
+:10CFC0000101010101010101010101010101010151
+:10CFD0000101010101010101010101010101010141
+:10CFE0000101010101010101010101010101010131
+:10CFF0000101010101010101010101010101010121
+:10D000000101010101010101010101010101010110
+:10D010000101010101010101010101010101010100
+:10D0200001010101010101010101010101010101F0
+:10D0300001010101010101010101010101010101E0
+:10D0400001010101010101010101010101010101D0
+:10D0500001010101010101010101010101010101C0
+:10D0600001010101010101010101010101010101B0
+:10D0700001010101010101010101010101010101A0
+:10D080000101010101010101010101010101010190
+:10D090000101010101010101010101010101010180
+:10D0A0000101010101010101010101010101010170
+:10D0B0000101010101010101010101010101010160
+:10D0C0000101010101010101010101010101010150
+:10D0D0000101010101010101010101010101010140
+:10D0E0000101010101010101010101010101010130
+:10D0F0000101010101010101010101010101010120
+:10D10000010101010101010101010101010101010F
+:10D1100001010101010101010101010101010101FF
+:10D1200001010101010101010101010101010101EF
+:10D1300001010101010101010101010101010101DF
+:10D1400001010101010101010101010101010101CF
+:10D1500001010101010101010101010101010101BF
+:10D1600001010101010101010101010101010101AF
+:10D17000010101010101010101010101010101019F
+:10D18000010101010101010101010101010101018F
+:10D19000010101010101010101010101010101017F
+:10D1A000010101010101010101010101010101016F
+:10D1B000010101010101010101010101010101015F
+:10D1C000010101010101010101010101010101014F
+:10D1D000010101010101010101010101010101013F
+:10D1E000010101010101010101010101010101012F
+:10D1F000010101010101010101010101010101011F
+:10D20000010101010101010101010101010101010E
+:10D2100001010101010101010101010101010101FE
+:10D2200001010101010101010101010101010101EE
+:10D2300001010101010101010101010101010101DE
+:10D2400001010101010101010101010101010101CE
+:10D2500001010101010101010101010101010101BE
+:10D2600001010101010101010101010101010101AE
+:10D27000010101010101010101010101010101019E
+:10D28000010101010101010101010101010101018E
+:10D29000010101010101010101010101010101017E
+:10D2A000010101010101010101010101010101016E
+:10D2B000010101010101010101010101010101015E
+:10D2C000010101010101010101010101010101014E
+:10D2D000010101010101010101010101010101013E
+:10D2E000010101010101010101010101010101012E
+:10D2F000010101010101010101010101010101011E
+:10D30000010101010101010101010101010101010D
+:10D3100001010101010101010101010101010101FD
+:10D3200001010101010101010101010101010101ED
+:10D3300001010101010101010101010101010101DD
+:10D3400001010101010101010101010101010101CD
+:10D3500001010101010101010101010101010101BD
+:10D3600001010101010101010101010101010101AD
+:10D37000010101010101010101010101010101019D
+:10D38000010101010101010101010101010101018D
+:10D39000010101010101010101010101010101017D
+:10D3A000010101010101010101010101010101016D
+:10D3B000010101010101010101010101010101015D
+:10D3C000010101010101010101010101010101014D
+:10D3D000010101010101010101010101010101013D
+:10D3E000010101010101010101010101010101012D
+:10D3F000010101010101010101010101010101011D
+:10D40000010101010101010101010101010101010C
+:10D4100001010101010101010101010101010101FC
+:10D4200001010101010101010101010101010101EC
+:10D4300001010101010101010101010101010101DC
+:10D4400001010101010101010101010101010101CC
+:10D4500001010101010101010101010101010101BC
+:10D4600001010101010101010101010101010101AC
+:10D47000010101010101010101010101010101019C
+:10D48000010101010101010101010101010101018C
+:10D49000010101010101010101010101010101017C
+:10D4A000010101010101010101010101010101016C
+:10D4B000010101010101010101010101010101015C
+:10D4C000010101010101010101010101010101014C
+:10D4D000010101010101010101010101010101013C
+:10D4E000010101010101010101010101010101012C
+:10D4F000010101010101010101010101010101011C
+:10D50000010101010101010101010101010101010B
+:10D5100001010101010101010101010101010101FB
+:10D5200001010101010101010101010101010101EB
+:10D5300001010101010101010101010101010101DB
+:10D5400001010101010101010101010101010101CB
+:10D5500001010101010101010101010101010101BB
+:10D5600001010101010101010101010101010101AB
+:10D57000010101010101010101010101010101019B
+:10D58000010101010101010101010101010101018B
+:10D59000010101010101010101010101010101017B
+:10D5A000010101010101010101010101010101016B
+:10D5B000010101010101010101010101010101015B
+:10D5C000010101010101010101010101010101014B
+:10D5D000010101010101010101010101010101013B
+:10D5E000010101010101010101010101010101012B
+:10D5F000010101010101010101010101010101011B
+:10D60000010101010101010101010101010101010A
+:10D6100001010101010101010101010101010101FA
+:10D6200001010101010101010101010101010101EA
+:10D6300001010101010101010101010101010101DA
+:10D6400001010101010101010101010101010101CA
+:10D6500001010101010101010101010101010101BA
+:10D6600001010101010101010101010101010101AA
+:10D67000010101010101010101010101010101019A
+:10D68000010101010101010101010101010101018A
+:10D69000010101010101010101010101010101017A
+:10D6A000010101010101010101010101010101016A
+:10D6B000010101010101010101010101010101015A
+:10D6C000010101010101010101010101010101014A
+:10D6D000010101010101010101010101010101013A
+:10D6E000010101010101010101010101010101012A
+:10D6F000010101010101010101010101010101011A
+:10D700000101010101010101010101010101010109
+:10D7100001010101010101010101010101010101F9
+:10D7200001010101010101010101010101010101E9
+:10D7300001010101010101010101010101010101D9
+:10D7400001010101010101010101010101010101C9
+:10D7500001010101010101010101010101010101B9
+:10D7600001010101010101010101010101010101A9
+:10D770000101010101010101010101010101010199
+:10D780000101010101010101010101010101010189
+:10D790000101010101010101010101010101010179
+:10D7A0000101010101010101010101010101010169
+:10D7B0000101010101010101010101010101010159
+:10D7C0000101010101010101010101010101010149
+:10D7D0000101010101010101010101010101010139
+:10D7E0000101010101010101010101010101010129
+:10D7F0000101010101010101010101010101010119
+:10D800000101010101010101010101010101010108
+:10D8100001010101010101010101010101010101F8
+:10D8200001010101010101010101010101010101E8
+:10D8300001010101010101010101010101010101D8
+:10D8400001010101010101010101010101010101C8
+:10D8500001010101010101010101010101010101B8
+:10D8600001010101010101010101010101010101A8
+:10D870000101010101010101010101010101010198
+:10D880000101010101010101010101010101010188
+:10D890000101010101010101010101010101010178
+:10D8A0000101010101010101010101010101010168
+:10D8B0000101010101010101010101010101010158
+:10D8C0000101010101010101010101010101010148
+:10D8D0000101010101010101010101010101010138
+:10D8E0000101010101010101010101010101010128
+:10D8F0000101010101010101010101010101010118
+:10D900000101010101010101010101010101010107
+:10D9100001010101010101010101010101010101F7
+:10D9200001010101010101010101010101010101E7
+:10D9300001010101010101010101010101010101D7
+:10D9400001010101010101010101010101010101C7
+:10D9500001010101010101010101010101010101B7
+:10D9600001010101010101010101010101010101A7
+:10D970000101010101010101010101010101010197
+:10D980000101010101010101010101010101010187
+:10D990000101010101010101010101010101010177
+:10D9A0000101010101010101010101010101010167
+:10D9B0000101010101010101010101010101010157
+:10D9C0000101010101010101010101010101010147
+:10D9D0000101010101010101010101010101010137
+:10D9E0000101010101010101010101010101010127
+:10D9F0000101010101010101010101010101010117
+:10DA00000101010101010101010101010101010106
+:10DA100001010101010101010101010101010101F6
+:10DA200001010101010101010101010101010101E6
+:10DA300001010101010101010101010101010101D6
+:10DA400001010101010101010101010101010101C6
+:10DA500001010101010101010101010101010101B6
+:10DA600001010101010101010101010101010101A6
+:10DA70000101010101010101010101010101010196
+:10DA80000101010101010101010101010101010186
+:10DA90000101010101010101010101010101010176
+:10DAA0000101010101010101010101010101010166
+:10DAB0000101010101010101010101010101010156
+:10DAC0000101010101010101010101010101010146
+:10DAD0000101010101010101010101010101010136
+:10DAE0000101010101010101010101010101010126
+:10DAF0000101010101010101010101010101010116
+:10DB00000101010101010101010101010101010105
+:10DB100001010101010101010101010101010101F5
+:10DB200001010101010101010101010101010101E5
+:10DB300001010101010101010101010101010101D5
+:10DB400001010101010101010101010101010101C5
+:10DB500001010101010101010101010101010101B5
+:10DB600001010101010101010101010101010101A5
+:10DB70000101010101010101010101010101010195
+:10DB80000101010101010101010101010101010185
+:10DB90000101010101010101010101010101010175
+:10DBA0000101010101010101010101010101010165
+:10DBB0000101010101010101010101010101010155
+:10DBC0000101010101010101010101010101010145
+:10DBD0000101010101010101010101010101010135
+:10DBE0000101010101010101010101010101010125
+:10DBF0000101010101010101010101010101010115
+:10DC00000101010101010101010101010101010104
+:10DC100001010101010101010101010101010101F4
+:10DC200001010101010101010101010101010101E4
+:10DC300001010101010101010101010101010101D4
+:10DC400001010101010101010101010101010101C4
+:10DC500001010101010101010101010101010101B4
+:10DC600001010101010101010101010101010101A4
+:10DC70000101010101010101010101010101010194
+:10DC80000101010101010101010101010101010184
+:10DC90000101010101010101010101010101010174
+:10DCA0000101010101010101010101010101010164
+:10DCB0000101010101010101010101010101010154
+:10DCC0000101010101010101010101010101010144
+:10DCD0000101010101010101010101010101010134
+:10DCE0000101010101010101010101010101010124
+:10DCF0000101010101010101010101010101010114
+:10DD00000101010101010101010101010101010103
+:10DD100001010101010101010101010101010101F3
+:10DD200001010101010101010101010101010101E3
+:10DD300001010101010101010101010101010101D3
+:10DD400001010101010101010101010101010101C3
+:10DD500001010101010101010101010101010101B3
+:10DD600001010101010101010101010101010101A3
+:10DD70000101010101010101010101010101010193
+:10DD80000101010101010101010101010101010183
+:10DD90000101010101010101010101010101010173
+:10DDA0000101010101010101010101010101010163
+:10DDB0000101010101010101010101010101010153
+:10DDC0000101010101010101010101010101010143
+:10DDD0000101010101010101010101010101010133
+:10DDE0000101010101010101010101010101010123
+:10DDF0000101010101010101010101010101010113
+:10DE00000101010101010101010101010101010102
+:10DE100001010101010101010101010101010101F2
+:10DE200001010101010101010101010101010101E2
+:10DE300001010101010101010101010101010101D2
+:10DE400001010101010101010101010101010101C2
+:10DE500001010101010101010101010101010101B2
+:10DE600001010101010101010101010101010101A2
+:10DE70000101010101010101010101010101010192
+:10DE80000101010101010101010101010101010182
+:10DE90000101010101010101010101010101010172
+:10DEA0000101010101010101010101010101010162
+:10DEB0000101010101010101010101010101010152
+:10DEC0000101010101010101010101010101010142
+:10DED0000101010101010101010101010101010132
+:10DEE0000101010101010101010101010101010122
+:10DEF0000101010101010101010101010101010112
+:10DF00000101010101010101010101010101010101
+:10DF100001010101010101010101010101010101F1
+:10DF200001010101010101010101010101010101E1
+:10DF300001010101010101010101010101010101D1
+:10DF400001010101010101010101010101010101C1
+:10DF500001010101010101010101010101010101B1
+:10DF600001010101010101010101010101010101A1
+:10DF70000101010101010101010101010101010191
+:10DF80000101010101010101010101010101010181
+:10DF90000101010101010101010101010101010171
+:10DFA0000101010101010101010101010101010161
+:10DFB0000101010101010101010101010101010151
+:10DFC0000101010101010101010101010101010141
+:10DFD0000101010101010101010101010101010131
+:10DFE0000101010101010101010101010101010121
+:10DFF0000101010101010101010101010101010111
+:10E000000101010101010101010101010101010100
+:10E0100001010101010101010101010101010101F0
+:10E0200001010101010101010101010101010101E0
+:10E0300001010101010101010101010101010101D0
+:10E0400001010101010101010101010101010101C0
+:10E0500001010101010101010101010101010101B0
+:10E0600001010101010101010101010101010101A0
+:10E070000101010101010101010101010101010190
+:10E080000101010101010101010101010101010180
+:10E090000101010101010101010101010101010170
+:10E0A0000101010101010101010101010101010160
+:10E0B0000101010101010101010101010101010150
+:10E0C0000101010101010101010101010101010140
+:10E0D0000101010101010101010101010101010130
+:10E0E0000101010101010101000000000000000028
+:10E0F0000000000000000000000000000000000020
+:10E10000000000000000000000000000000000000F
+:10E1100000000000000000000000000000000000FF
+:10E1200000000000000000000000000000000000EF
+:10E1300000000000000000000000000000000000DF
+:10E1400000000000000000000000000000000000CF
+:10E1500000000000000000000000000000000000BF
+:10E1600000000000000000000000000000000000AF
+:10E17000000000000000000000000000000000009F
+:10E18000000000000000000000000000000000008F
+:10E19000000000000000000000000000000000007F
+:10E1A000000000000000000000000000000000006F
+:10E1B000000000000000000000000000000000005F
+:10E1C000000000000000000000000000000000004F
+:10E1D000000000000000000000000000000000003F
+:10E1E000000000000000000000000000000000002F
+:10E1F000000000000000000000000000000000001F
+:10E20000000000000000000000000000000000000E
+:10E2100000000000000000000000000000000000FE
+:10E2200000000000000000000000000000000000EE
+:10E2300000000000000000000000000000000000DE
+:10E2400000000000000000000000000000000000CE
+:10E2500000000000000000000000000000000000BE
+:10E2600000000000000000000000000000000000AE
+:10E27000000000000000000000000000000000009E
+:10E28000000000000000000000000000000000008E
+:10E29000000000000000000000000000000000007E
+:10E2A000000000000000000000000000000000006E
+:10E2B000000000000000000000000000000000005E
+:10E2C000000000000000000000000000000000004E
+:10E2D000000000000000000000000000000000003E
+:10E2E000000000000000000000000000000000002E
+:10E2F000000000000000000000000000000000001E
+:10E30000000000000000000000000000000000000D
+:10E3100000000000000000000000000000000000FD
+:10E3200000000000000000000000000000000000ED
+:10E3300000000000000000000000000000000000DD
+:10E3400000000000000000000000000000000000CD
+:10E3500000000000000000000000000000000000BD
+:10E3600000000000000000000000000000000000AD
+:10E37000000000000000000000000000000000009D
+:10E38000000000000000000000000000000000008D
+:10E39000000000000000000000000000000000007D
+:10E3A000000000000000000000000000000000006D
+:10E3B000000000000000000000000000000000005D
+:10E3C000000000000000000000000000000000004D
+:10E3D000000000000000000000000000000000003D
+:10E3E000000000000000000000000000000000002D
+:10E3F000000000000000000000000000000000001D
+:10E40000000000000000000000000000000000000C
+:10E4100000000000000000000000000000000000FC
+:10E4200000000000000000000000000000000000EC
+:10E4300000000000000000000000000000000000DC
+:10E4400000000000000000000000000000000000CC
+:10E4500000000000000000000000000000000000BC
+:10E4600000000000000000000000000000000000AC
+:10E47000000000000000000000000000000000009C
+:10E48000000000000000000000000000000000008C
+:10E49000000000000000000000000000000000007C
+:10E4A000000000000000000000000000000000006C
+:10E4B000000000000000000000000000000000005C
+:10E4C000000000000000000000000000000000004C
+:10E4D000000000000000000000000000000000003C
+:10E4E0000000000000000000010101010101010124
+:10E4F000010101010101010101010101010101010C
+:10E5000001010101010101010101010101010101FB
+:10E5100001010101010101010101010101010101EB
+:10E5200001010101010101010101010101010101DB
+:10E5300001010101010101010101010101010101CB
+:10E5400001010101010101010101010101010101BB
+:10E5500001010101010101010101010101010101AB
+:10E56000010101010101010101010101010101019B
+:10E57000010101010101010101010101010101018B
+:10E58000010101010101010101010101010101017B
+:10E59000010101010101010101010101010101016B
+:10E5A000010101010101010101010101010101015B
+:10E5B000010101010101010101010101010101014B
+:10E5C000010101010101010101010101010101013B
+:10E5D000010101010101010101010101010101012B
+:10E5E000010101010101010101010101010101011B
+:10E5F000010101010101010101010101010101010B
+:10E6000001010101010101010101010101010101FA
+:10E6100001010101010101010101010101010101EA
+:10E6200001010101010101010101010101010101DA
+:10E6300001010101010101010101010101010101CA
+:10E6400001010101010101010101010101010101BA
+:10E6500001010101010101010101010101010101AA
+:10E66000010101010101010101010101010101019A
+:10E67000010101010101010101010101010101018A
+:10E68000010101010101010101010101010101017A
+:10E69000010101010101010101010101010101016A
+:10E6A000010101010101010101010101010101015A
+:10E6B000010101010101010101010101010101014A
+:10E6C000010101010101010101010101010101013A
+:10E6D000010101010101010101010101010101012A
+:10E6E0000101010101010101020202020202020212
+:10E6F00002020202020202020202020202020202FA
+:10E7000002020202020202020202020202020202E9
+:10E7100002020202020202020202020202020202D9
+:10E7200002020202020202020202020202020202C9
+:10E7300002020202020202020202020202020202B9
+:10E7400002020202020202020202020202020202A9
+:10E750000202020202020202020202020202020299
+:10E760000202020202020202020202020202020289
+:10E770000202020202020202020202020202020279
+:10E780000202020202020202020202020202020269
+:10E790000202020202020202020202020202020259
+:10E7A0000202020202020202020202020202020249
+:10E7B0000202020202020202020202020202020239
+:10E7C0000202020202020202020202020202020229
+:10E7D0000202020202020202020202020202020219
+:10E7E0000202020202020202020202020202020209
+:10E7F00002020202020202020202020202020202F9
+:10E8000002020202020202020202020202020202E8
+:10E8100002020202020202020202020202020202D8
+:10E8200002020202020202020202020202020202C8
+:10E8300002020202020202020202020202020202B8
+:10E8400002020202020202020202020202020202A8
+:10E850000202020202020202020202020202020298
+:10E860000202020202020202020202020202020288
+:10E870000202020202020202020202020202020278
+:10E880000202020202020202020202020202020268
+:10E890000202020202020202020202020202020258
+:10E8A0000202020202020202020202020202020248
+:10E8B0000202020202020202020202020202020238
+:10E8C0000202020202020202020202020202020228
+:10E8D0000202020202020202020202020202020218
+:10E8E0000202020202020202020202020202020208
+:10E8F00002020202020202020202020202020202F8
+:10E9000002020202020202020202020202020202E7
+:10E9100002020202020202020202020202020202D7
+:10E9200002020202020202020202020202020202C7
+:10E9300002020202020202020202020202020202B7
+:10E9400002020202020202020202020202020202A7
+:10E950000202020202020202020202020202020297
+:10E960000202020202020202020202020202020287
+:10E970000202020202020202020202020202020277
+:10E980000202020202020202020202020202020267
+:10E990000202020202020202020202020202020257
+:10E9A0000202020202020202020202020202020247
+:10E9B0000202020202020202020202020202020237
+:10E9C0000202020202020202020202020202020227
+:10E9D0000202020202020202020202020202020217
+:10E9E0000202020202020202020202020202020207
+:10E9F00002020202020202020202020202020202F7
+:10EA000002020202020202020202020202020202E6
+:10EA100002020202020202020202020202020202D6
+:10EA200002020202020202020202020202020202C6
+:10EA300002020202020202020202020202020202B6
+:10EA400002020202020202020202020202020202A6
+:10EA50000202020202020202020202020202020296
+:10EA60000202020202020202020202020202020286
+:10EA70000202020202020202020202020202020276
+:10EA80000202020202020202020202020202020266
+:10EA90000202020202020202020202020202020256
+:10EAA0000202020202020202020202020202020246
+:10EAB0000202020202020202020202020202020236
+:10EAC0000202020202020202020202020202020226
+:10EAD0000202020202020202020202020202020216
+:10EAE0000202020202020202020202020202020206
+:10EAF00002020202020202020202020202020202F6
+:10EB000002020202020202020202020202020202E5
+:10EB100002020202020202020202020202020202D5
+:10EB200002020202020202020202020202020202C5
+:10EB300002020202020202020202020202020202B5
+:10EB400002020202020202020202020202020202A5
+:10EB50000202020202020202020202020202020295
+:10EB60000202020202020202020202020202020285
+:10EB70000202020202020202020202020202020275
+:10EB80000202020202020202020202020202020265
+:10EB90000202020202020202020202020202020255
+:10EBA0000202020202020202020202020202020245
+:10EBB0000202020202020202020202020202020235
+:10EBC0000202020202020202020202020202020225
+:10EBD0000202020202020202020202020202020215
+:10EBE0000202020202020202020202020202020205
+:10EBF00002020202020202020202020202020202F5
+:10EC000002020202020202020202020202020202E4
+:10EC100002020202020202020202020202020202D4
+:10EC200002020202020202020202020202020202C4
+:10EC300002020202020202020202020202020202B4
+:10EC400002020202020202020202020202020202A4
+:10EC50000202020202020202020202020202020294
+:10EC60000202020202020202020202020202020284
+:10EC70000202020202020202020202020202020274
+:10EC80000202020202020202020202020202020264
+:10EC90000202020202020202020202020202020254
+:10ECA0000202020202020202020202020202020244
+:10ECB0000202020202020202020202020202020234
+:10ECC0000202020202020202020202020202020224
+:10ECD0000202020202020202020202020202020214
+:10ECE0000202020202020202020202020202020204
+:10ECF00002020202020202020202020202020202F4
+:10ED000002020202020202020202020202020202E3
+:10ED100002020202020202020202020202020202D3
+:10ED200002020202020202020202020202020202C3
+:10ED300002020202020202020202020202020202B3
+:10ED400002020202020202020202020202020202A3
+:10ED50000202020202020202020202020202020293
+:10ED60000202020202020202020202020202020283
+:10ED70000202020202020202020202020202020273
+:10ED80000202020202020202020202020202020263
+:10ED90000202020202020202020202020202020253
+:10EDA0000202020202020202020202020202020243
+:10EDB0000202020202020202020202020202020233
+:10EDC0000202020202020202020202020202020223
+:10EDD0000202020202020202020202020202020213
+:10EDE0000202020202020202020202020202020203
+:10EDF00002020202020202020202020202020202F3
+:10EE000002020202020202020202020202020202E2
+:10EE100002020202020202020202020202020202D2
+:10EE200002020202020202020202020202020202C2
+:10EE300002020202020202020202020202020202B2
+:10EE400002020202020202020202020202020202A2
+:10EE50000202020202020202020202020202020292
+:10EE60000202020202020202020202020202020282
+:10EE70000202020202020202020202020202020272
+:10EE80000202020202020202020202020202020262
+:10EE90000202020202020202020202020202020252
+:10EEA0000202020202020202020202020202020242
+:10EEB0000202020202020202020202020202020232
+:10EEC0000202020202020202020202020202020222
+:10EED0000202020202020202020202020202020212
+:10EEE0000202020202020202020202020202020202
+:10EEF00002020202020202020202020202020202F2
+:10EF000002020202020202020202020202020202E1
+:10EF100002020202020202020202020202020202D1
+:10EF200002020202020202020202020202020202C1
+:10EF300002020202020202020202020202020202B1
+:10EF400002020202020202020202020202020202A1
+:10EF50000202020202020202020202020202020291
+:10EF60000202020202020202020202020202020281
+:10EF70000202020202020202020202020202020271
+:10EF80000202020202020202020202020202020261
+:10EF90000202020202020202020202020202020251
+:10EFA0000202020202020202020202020202020241
+:10EFB0000202020202020202020202020202020231
+:10EFC0000202020202020202020202020202020221
+:10EFD0000202020202020202020202020202020211
+:10EFE0000202020202020202020202020202020201
+:10EFF00002020202020202020202020202020202F1
+:10F0000002020202020202020202020202020202E0
+:10F0100002020202020202020202020202020202D0
+:10F0200002020202020202020202020202020202C0
+:10F0300002020202020202020202020202020202B0
+:10F0400002020202020202020202020202020202A0
+:10F050000202020202020202020202020202020290
+:10F060000202020202020202020202020202020280
+:10F070000202020202020202020202020202020270
+:10F080000202020202020202020202020202020260
+:10F090000202020202020202020202020202020250
+:10F0A0000202020202020202020202020202020240
+:10F0B0000202020202020202020202020202020230
+:10F0C0000202020202020202020202020202020220
+:10F0D0000202020202020202020202020202020210
+:10F0E0000202020202020202020202020202020200
+:10F0F00002020202020202020202020202020202F0
+:10F1000002020202020202020202020202020202DF
+:10F1100002020202020202020202020202020202CF
+:10F1200002020202020202020202020202020202BF
+:10F1300002020202020202020202020202020202AF
+:10F14000020202020202020202020202020202029F
+:10F15000020202020202020202020202020202028F
+:10F16000020202020202020202020202020202027F
+:10F17000020202020202020202020202020202026F
+:10F18000020202020202020202020202020202025F
+:10F19000020202020202020202020202020202024F
+:10F1A000020202020202020202020202020202023F
+:10F1B000020202020202020202020202020202022F
+:10F1C000020202020202020202020202020202021F
+:10F1D000020202020202020202020202020202020F
+:10F1E00002020202020202020202020202020202FF
+:10F1F00002020202020202020202020202020202EF
+:10F2000002020202020202020202020202020202DE
+:10F2100002020202020202020202020202020202CE
+:10F2200002020202020202020202020202020202BE
+:10F2300002020202020202020202020202020202AE
+:10F24000020202020202020202020202020202029E
+:10F25000020202020202020202020202020202028E
+:10F26000020202020202020202020202020202027E
+:10F27000020202020202020202020202020202026E
+:10F28000020202020202020202020202020202025E
+:10F29000020202020202020202020202020202024E
+:10F2A000020202020202020202020202020202023E
+:10F2B000020202020202020202020202020202022E
+:10F2C000020202020202020202020202020202021E
+:10F2D000020202020202020202020202020202020E
+:10F2E00002020202020202020202020202020202FE
+:10F2F00002020202020202020202020202020202EE
+:10F3000002020202020202020202020202020202DD
+:10F3100002020202020202020202020202020202CD
+:10F3200002020202020202020202020202020202BD
+:10F3300002020202020202020202020202020202AD
+:10F34000020202020202020202020202020202029D
+:10F35000020202020202020202020202020202028D
+:10F36000020202020202020202020202020202027D
+:10F37000020202020202020202020202020202026D
+:10F38000020202020202020202020202020202025D
+:10F39000020202020202020202020202020202024D
+:10F3A000020202020202020202020202020202023D
+:10F3B000020202020202020202020202020202022D
+:10F3C000020202020202020202020202020202021D
+:10F3D000020202020202020202020202020202020D
+:10F3E00002020202020202020202020202020202FD
+:10F3F00002020202020202020202020202020202ED
+:10F4000002020202020202020202020202020202DC
+:10F4100002020202020202020202020202020202CC
+:10F4200002020202020202020202020202020202BC
+:10F4300002020202020202020202020202020202AC
+:10F44000020202020202020202020202020202029C
+:10F45000020202020202020202020202020202028C
+:10F46000020202020202020202020202020202027C
+:10F47000020202020202020202020202020202026C
+:10F48000020202020202020202020202020202025C
+:10F49000020202020202020202020202020202024C
+:10F4A000020202020202020202020202020202023C
+:10F4B000020202020202020202020202020202022C
+:10F4C000020202020202020202020202020202021C
+:10F4D000020202020202020202020202020202020C
+:10F4E00002020202020202020202020202020202FC
+:10F4F00002020202020202020202020202020202EC
+:10F5000002020202020202020202020202020202DB
+:10F5100002020202020202020202020202020202CB
+:10F5200002020202020202020202020202020202BB
+:10F5300002020202020202020202020202020202AB
+:10F54000020202020202020202020202020202029B
+:10F55000020202020202020202020202020202028B
+:10F56000020202020202020202020202020202027B
+:10F57000020202020202020202020202020202026B
+:10F58000020202020202020202020202020202025B
+:10F59000020202020202020202020202020202024B
+:10F5A000020202020202020202020202020202023B
+:10F5B000020202020202020202020202020202022B
+:10F5C000020202020202020202020202020202021B
+:10F5D000020202020202020202020202020202020B
+:10F5E00002020202020202020202020202020202FB
+:10F5F00002020202020202020202020202020202EB
+:10F6000002020202020202020202020202020202DA
+:10F6100002020202020202020202020202020202CA
+:10F6200002020202020202020202020202020202BA
+:10F6300002020202020202020202020202020202AA
+:10F64000020202020202020202020202020202029A
+:10F65000020202020202020202020202020202028A
+:10F66000020202020202020202020202020202027A
+:10F67000020202020202020202020202020202026A
+:10F68000020202020202020202020202020202025A
+:10F69000020202020202020202020202020202024A
+:10F6A000020202020202020202020202020202023A
+:10F6B000020202020202020202020202020202022A
+:10F6C000020202020202020202020202020202021A
+:10F6D000020202020202020202020202020202020A
+:10F6E00002020202020202020202020202020202FA
+:10F6F00002020202020202020202020202020202EA
+:10F7000002020202020202020202020202020202D9
+:10F7100002020202020202020202020202020202C9
+:10F7200002020202020202020202020202020202B9
+:10F7300002020202020202020202020202020202A9
+:10F740000202020202020202020202020202020299
+:10F750000202020202020202020202020202020289
+:10F760000202020202020202020202020202020279
+:10F770000202020202020202020202020202020269
+:10F780000202020202020202020202020202020259
+:10F790000202020202020202020202020202020249
+:10F7A0000202020202020202020202020202020239
+:10F7B0000202020202020202020202020202020229
+:10F7C0000202020202020202020202020202020219
+:10F7D0000202020202020202020202020202020209
+:10F7E00002020202020202020202020202020202F9
+:10F7F00002020202020202020202020202020202E9
+:10F8000002020202020202020202020202020202D8
+:10F8100002020202020202020202020202020202C8
+:10F8200002020202020202020202020202020202B8
+:10F8300002020202020202020202020202020202A8
+:10F840000202020202020202020202020202020298
+:10F850000202020202020202020202020202020288
+:10F860000202020202020202020202020202020278
+:10F870000202020202020202020202020202020268
+:10F880000202020202020202020202020202020258
+:10F890000202020202020202020202020202020248
+:10F8A0000202020202020202020202020202020238
+:10F8B0000202020202020202020202020202020228
+:10F8C0000202020202020202020202020202020218
+:10F8D0000202020202020202020202020202020208
+:10F8E00002020202020202020202020202020202F8
+:10F8F00002020202020202020202020202020202E8
+:10F9000002020202020202020202020202020202D7
+:10F9100002020202020202020202020202020202C7
+:10F9200002020202020202020202020202020202B7
+:10F9300002020202020202020202020202020202A7
+:10F940000202020202020202020202020202020297
+:10F950000202020202020202020202020202020287
+:10F960000202020202020202020202020202020277
+:10F970000202020202020202020202020202020267
+:10F980000202020202020202020202020202020257
+:10F990000202020202020202020202020202020247
+:10F9A0000202020202020202020202020202020237
+:10F9B0000202020202020202020202020202020227
+:10F9C0000202020202020202020202020202020217
+:10F9D0000202020202020202020202020202020207
+:10F9E00002020202020202020202020202020202F7
+:10F9F00002020202020202020202020202020202E7
+:10FA000002020202020202020202020202020202D6
+:10FA100002020202020202020202020202020202C6
+:10FA200002020202020202020202020202020202B6
+:10FA300002020202020202020202020202020202A6
+:10FA40000202020202020202020202020202020296
+:10FA50000202020202020202020202020202020286
+:10FA60000202020202020202020202020202020276
+:10FA70000202020202020202020202020202020266
+:10FA80000202020202020202020202020202020256
+:10FA90000202020202020202020202020202020246
+:10FAA0000202020202020202020202020202020236
+:10FAB0000202020202020202020202020202020226
+:10FAC0000202020202020202020202020202020216
+:10FAD0000202020202020202020202020202020206
+:10FAE00002020202020202020202020202020202F6
+:10FAF00002020202020202020202020202020202E6
+:10FB000002020202020202020202020202020202D5
+:10FB100002020202020202020202020202020202C5
+:10FB200002020202020202020202020202020202B5
+:10FB300002020202020202020202020202020202A5
+:10FB40000202020202020202020202020202020295
+:10FB50000202020202020202020202020202020285
+:10FB60000202020202020202020202020202020275
+:10FB70000202020202020202020202020202020265
+:10FB80000202020202020202020202020202020255
+:10FB90000202020202020202020202020202020245
+:10FBA0000202020202020202020202020202020235
+:10FBB0000202020202020202020202020202020225
+:10FBC0000202020202020202020202020202020215
+:10FBD0000202020202020202020202020202020205
+:10FBE00002020202020202020202020202020202F5
+:10FBF00002020202020202020202020202020202E5
+:10FC000002020202020202020202020202020202D4
+:10FC100002020202020202020202020202020202C4
+:10FC200002020202020202020202020202020202B4
+:10FC300002020202020202020202020202020202A4
+:10FC40000202020202020202020202020202020294
+:10FC50000202020202020202020202020202020284
+:10FC60000202020202020202020202020202020274
+:10FC70000202020202020202020202020202020264
+:10FC80000202020202020202020202020202020254
+:10FC90000202020202020202020202020202020244
+:10FCA0000202020202020202020202020202020234
+:10FCB0000202020202020202020202020202020224
+:10FCC0000202020202020202020202020202020214
+:10FCD0000202020202020202020202020202020204
+:10FCE00002020202020202020202020202020202F4
+:10FCF00002020202020202020202020202020202E4
+:10FD000002020202020202020202020202020202D3
+:10FD100002020202020202020202020202020202C3
+:10FD200002020202020202020202020202020202B3
+:10FD300002020202020202020202020202020202A3
+:10FD40000202020202020202020202020202020293
+:10FD50000202020202020202020202020202020283
+:10FD60000202020202020202020202020202020273
+:10FD70000202020202020202020202020202020263
+:10FD80000202020202020202020202020202020253
+:10FD90000202020202020202020202020202020243
+:10FDA0000202020202020202020202020202020233
+:10FDB0000202020202020202020202020202020223
+:10FDC0000202020202020202020202020202020213
+:10FDD0000202020202020202020202020202020203
+:10FDE00002020202020202020202020202020202F3
+:10FDF00002020202020202020202020202020202E3
+:10FE000002020202020202020202020202020202D2
+:10FE100002020202020202020202020202020202C2
+:10FE200002020202020202020202020202020202B2
+:10FE300002020202020202020202020202020202A2
+:10FE40000202020202020202020202020202020292
+:10FE50000202020202020202020202020202020282
+:10FE60000202020202020202020202020202020272
+:10FE70000202020202020202020202020202020262
+:10FE80000202020202020202020202020202020252
+:10FE90000202020202020202020202020202020242
+:10FEA0000202020202020202020202020202020232
+:10FEB0000202020202020202020202020202020222
+:10FEC0000202020202020202020202020202020212
+:10FED0000202020202020202020202020202020202
+:10FEE00002020202020202020202020202020202F2
+:10FEF00002020202020202020202020202020202E2
+:10FF000002020202020202020202020202020202D1
+:10FF100002020202020202020202020202020202C1
+:10FF200002020202020202020202020202020202B1
+:10FF300002020202020202020202020202020202A1
+:10FF40000202020202020202020202020202020291
+:10FF50000202020202020202020202020202020281
+:10FF60000202020202020202020202020202020271
+:10FF70000202020202020202020202020202020261
+:10FF80000202020202020202020202020202020251
+:10FF90000202020202020202020202020202020241
+:10FFA0000202020202020202020202020202020231
+:10FFB0000202020202020202020202020202020221
+:10FFC0000202020202020202020202020202020211
+:10FFD0000202020202020202020202020202020201
+:10FFE00002020202020202020202020202020202F1
+:10FFF00002020202020202020202020202020202E1
+:020000021000EC
+:1000000002020202020202020202020202020202D0
+:1000100002020202020202020202020202020202C0
+:1000200002020202020202020202020202020202B0
+:1000300002020202020202020202020202020202A0
+:100040000202020202020202020202020202020290
+:100050000202020202020202020202020202020280
+:100060000202020202020202020202020202020270
+:100070000202020202020202020202020202020260
+:100080000202020202020202020202020202020250
+:100090000202020202020202020202020202020240
+:1000A0000202020202020202020202020202020230
+:1000B0000202020202020202020202020202020220
+:1000C0000202020202020202020202020202020210
+:1000D0000202020202020202020202020202020200
+:1000E00002020202020202020202020202020202F0
+:1000F00002020202020202020202020202020202E0
+:1001000002020202020202020202020202020202CF
+:1001100002020202020202020202020202020202BF
+:1001200002020202020202020202020202020202AF
+:10013000020202020202020202020202020202029F
+:10014000020202020202020202020202020202028F
+:10015000020202020202020202020202020202027F
+:10016000020202020202020202020202020202026F
+:10017000020202020202020202020202020202025F
+:10018000020202020202020202020202020202024F
+:10019000020202020202020202020202020202023F
+:1001A000020202020202020202020202020202022F
+:1001B000020202020202020202020202020202021F
+:1001C000020202020202020202020202020202020F
+:1001D00002020202020202020202020202020202FF
+:1001E00002020202020202020000000000000000FF
+:1001F00000000000000000000000000000000000FF
+:1002000000000000000000000000000000000000EE
+:1002100000000000000000000000000000000000DE
+:1002200000000000000000000000000000000000CE
+:1002300000000000000000000000000000000000BE
+:1002400000000000000000000000000000000000AE
+:10025000000000000000000000000000000000009E
+:10026000000000000000000000000000000000008E
+:10027000000000000000000000000000000000007E
+:10028000000000000000000000000000000000006E
+:10029000000000000000000000000000000000005E
+:1002A000000000000000000000000000000000004E
+:1002B000000000000000000000000000000000003E
+:1002C000000000000000000000000000000000002E
+:1002D000000000000000000000000000000000001E
+:1002E00000000000000000006D00000000000000A1
+:1002F00001010101010101010101010101010101EE
+:1003000001010101010101010101010101010101DD
+:1003100001010101010101010101010101010101CD
+:1003200001010101010101010101010101010101BD
+:1003300001010101010101010101010101010101AD
+:10034000010101010101010101010101010101019D
+:10035000010101010101010101010101010101018D
+:10036000010101010101010101010101010101017D
+:10037000010101010101010101010101010101016D
+:10038000010101010101010101010101010101015D
+:10039000010101010101010101010101010101014D
+:1003A000010101010101010101010101010101013D
+:1003B000010101010101010101010101010101012D
+:1003C000010101010101010101010101010101011D
+:1003D000010101010101010101010101010101010D
+:1003E00001010101010101010101010101010101FD
+:1003F00001010101010101010101010101010101ED
+:1004000001010101010101010101010101010101DC
+:1004100001010101010101010101010101010101CC
+:1004200001010101010101010101010101010101BC
+:1004300001010101010101010101010101010101AC
+:10044000010101010101010101010101010101019C
+:10045000010101010101010101010101010101018C
+:10046000010101010101010101010101010101017C
+:10047000010101010101010101010101010101016C
+:10048000010101010101010101010101010101015C
+:10049000010101010101010101010101010101014C
+:1004A000010101010101010101010101010101013C
+:1004B000010101010101010101010101010101012C
+:1004C000010101010101010101010101010101011C
+:1004D000010101010101010101010101010101010C
+:1004E00001010101010101010101010101010101FC
+:1004F00001010101010101010101010101010101EC
+:1005000001010101010101010101010101010101DB
+:1005100001010101010101010101010101010101CB
+:1005200001010101010101010101010101010101BB
+:1005300001010101010101010101010101010101AB
+:10054000010101010101010101010101010101019B
+:10055000010101010101010101010101010101018B
+:10056000010101010101010101010101010101017B
+:10057000010101010101010101010101010101016B
+:10058000010101010101010101010101010101015B
+:10059000010101010101010101010101010101014B
+:1005A000010101010101010101010101010101013B
+:1005B000010101010101010101010101010101012B
+:1005C000010101010101010101010101010101011B
+:1005D000010101010101010101010101010101010B
+:1005E00001010101010101010101010101010101FB
+:1005F00001010101010101010101010101010101EB
+:1006000001010101010101010101010101010101DA
+:1006100001010101010101010101010101010101CA
+:1006200001010101010101010101010101010101BA
+:1006300001010101010101010101010101010101AA
+:10064000010101010101010101010101010101019A
+:10065000010101010101010101010101010101018A
+:10066000010101010101010101010101010101017A
+:10067000010101010101010101010101010101016A
+:10068000010101010101010101010101010101015A
+:10069000010101010101010101010101010101014A
+:1006A000010101010101010101010101010101013A
+:1006B000010101010101010101010101010101012A
+:1006C000010101010101010101010101010101011A
+:1006D000010101010101010101010101010101010A
+:1006E00001010101010101010101010101010101FA
+:1006F00001010101010101010101010101010101EA
+:1007000001010101010101010101010101010101D9
+:1007100001010101010101010101010101010101C9
+:1007200001010101010101010101010101010101B9
+:1007300001010101010101010101010101010101A9
+:100740000101010101010101010101010101010199
+:100750000101010101010101010101010101010189
+:100760000101010101010101010101010101010179
+:100770000101010101010101010101010101010169
+:100780000101010101010101010101010101010159
+:100790000101010101010101010101010101010149
+:1007A0000101010101010101010101010101010139
+:1007B0000101010101010101010101010101010129
+:1007C0000101010101010101010101010101010119
+:1007D0000101010101010101010101010101010109
+:1007E00001010101010101010101010101010101F9
+:1007F00001010101010101010101010101010101E9
+:1008000001010101010101010101010101010101D8
+:1008100001010101010101010101010101010101C8
+:1008200001010101010101010101010101010101B8
+:1008300001010101010101010101010101010101A8
+:100840000101010101010101010101010101010198
+:100850000101010101010101010101010101010188
+:100860000101010101010101010101010101010178
+:100870000101010101010101010101010101010168
+:100880000101010101010101010101010101010158
+:100890000101010101010101010101010101010148
+:1008A0000101010101010101010101010101010138
+:1008B0000101010101010101010101010101010128
+:1008C0000101010101010101010101010101010118
+:1008D0000101010101010101010101010101010108
+:1008E00001010101010101010101010101010101F8
+:1008F00001010101010101010101010101010101E8
+:1009000001010101010101010101010101010101D7
+:1009100001010101010101010101010101010101C7
+:1009200001010101010101010101010101010101B7
+:1009300001010101010101010101010101010101A7
+:100940000101010101010101010101010101010197
+:100950000101010101010101010101010101010187
+:100960000101010101010101010101010101010177
+:100970000101010101010101010101010101010167
+:100980000101010101010101010101010101010157
+:100990000101010101010101010101010101010147
+:1009A0000101010101010101010101010101010137
+:1009B0000101010101010101010101010101010127
+:1009C0000101010101010101010101010101010117
+:1009D0000101010101010101010101010101010107
+:1009E00001010101010101010101010101010101F7
+:1009F00001010101010101010101010101010101E7
+:100A000001010101010101010101010101010101D6
+:100A100001010101010101010101010101010101C6
+:100A200001010101010101010101010101010101B6
+:100A300001010101010101010101010101010101A6
+:100A40000101010101010101010101010101010196
+:100A50000101010101010101010101010101010186
+:100A60000101010101010101010101010101010176
+:100A70000101010101010101010101010101010166
+:100A80000101010101010101010101010101010156
+:100A90000101010101010101010101010101010146
+:100AA0000101010101010101010101010101010136
+:100AB0000101010101010101010101010101010126
+:100AC0000101010101010101010101010101010116
+:100AD0000101010101010101010101010101010106
+:100AE00001010101010101010101010101010101F6
+:100AF00001010101010101010101010101010101E6
+:100B000001010101010101010101010101010101D5
+:100B100001010101010101010101010101010101C5
+:100B200001010101010101010101010101010101B5
+:100B300001010101010101010101010101010101A5
+:100B40000101010101010101010101010101010195
+:100B50000101010101010101010101010101010185
+:100B60000101010101010101010101010101010175
+:100B70000101010101010101010101010101010165
+:100B80000101010101010101010101010101010155
+:100B90000101010101010101010101010101010145
+:100BA0000101010101010101010101010101010135
+:100BB0000101010101010101010101010101010125
+:100BC0000101010101010101010101010101010115
+:100BD0000101010101010101010101010101010105
+:100BE00001010101010101010101010101010101F5
+:100BF00001010101010101010101010101010101E5
+:100C000001010101010101010101010101010101D4
+:100C100001010101010101010101010101010101C4
+:100C200001010101010101010101010101010101B4
+:100C300001010101010101010101010101010101A4
+:100C40000101010101010101010101010101010194
+:100C50000101010101010101010101010101010184
+:100C60000101010101010101010101010101010174
+:100C70000101010101010101010101010101010164
+:100C80000101010101010101010101010101010154
+:100C90000101010101010101010101010101010144
+:100CA0000101010101010101010101010101010134
+:100CB0000101010101010101010101010101010124
+:100CC0000101010101010101010101010101010114
+:100CD0000101010101010101010101010101010104
+:100CE00001010101010101010101010101010101F4
+:100CF00001010101010101010101010101010101E4
+:100D000001010101010101010101010101010101D3
+:100D100001010101010101010101010101010101C3
+:100D200001010101010101010101010101010101B3
+:100D300001010101010101010101010101010101A3
+:100D40000101010101010101010101010101010193
+:100D50000101010101010101010101010101010183
+:100D60000101010101010101010101010101010173
+:100D70000101010101010101010101010101010163
+:100D80000101010101010101010101010101010153
+:100D90000101010101010101010101010101010143
+:100DA0000101010101010101010101010101010133
+:100DB0000101010101010101010101010101010123
+:100DC0000101010101010101010101010101010113
+:100DD0000101010101010101010101010101010103
+:100DE00001010101010101010101010101010101F3
+:100DF00001010101010101010101010101010101E3
+:100E000001010101010101010101010101010101D2
+:100E100001010101010101010101010101010101C2
+:100E200001010101010101010101010101010101B2
+:100E300001010101010101010101010101010101A2
+:100E40000101010101010101010101010101010192
+:100E50000101010101010101010101010101010182
+:100E60000101010101010101010101010101010172
+:100E70000101010101010101010101010101010162
+:100E80000101010101010101010101010101010152
+:100E90000101010101010101010101010101010142
+:100EA0000101010101010101010101010101010132
+:100EB0000101010101010101010101010101010122
+:100EC0000101010101010101010101010101010112
+:100ED0000101010101010101010101010101010102
+:100EE00001010101010101010101010101010101F2
+:100EF00001010101010101010101010101010101E2
+:100F000001010101010101010101010101010101D1
+:100F100001010101010101010101010101010101C1
+:100F200001010101010101010101010101010101B1
+:100F300001010101010101010101010101010101A1
+:100F40000101010101010101010101010101010191
+:100F50000101010101010101010101010101010181
+:100F60000101010101010101010101010101010171
+:100F70000101010101010101010101010101010161
+:100F80000101010101010101010101010101010151
+:100F90000101010101010101010101010101010141
+:100FA0000101010101010101010101010101010131
+:100FB0000101010101010101010101010101010121
+:100FC0000101010101010101010101010101010111
+:100FD0000101010101010101010101010101010101
+:100FE00001010101010101010101010101010101F1
+:100FF00001010101010101010101010101010101E1
+:1010000001010101010101010101010101010101D0
+:1010100001010101010101010101010101010101C0
+:1010200001010101010101010101010101010101B0
+:1010300001010101010101010101010101010101A0
+:101040000101010101010101010101010101010190
+:101050000101010101010101010101010101010180
+:101060000101010101010101010101010101010170
+:101070000101010101010101010101010101010160
+:101080000101010101010101010101010101010150
+:101090000101010101010101010101010101010140
+:1010A0000101010101010101010101010101010130
+:1010B0000101010101010101010101010101010120
+:1010C0000101010101010101010101010101010110
+:1010D0000101010101010101010101010101010100
+:1010E00001010101010101010101010101010101F0
+:1010F00001010101010101010101010101010101E0
+:1011000001010101010101010101010101010101CF
+:1011100001010101010101010101010101010101BF
+:1011200001010101010101010101010101010101AF
+:10113000010101010101010101010101010101019F
+:10114000010101010101010101010101010101018F
+:10115000010101010101010101010101010101017F
+:10116000010101010101010101010101010101016F
+:10117000010101010101010101010101010101015F
+:10118000010101010101010101010101010101014F
+:10119000010101010101010101010101010101013F
+:1011A000010101010101010101010101010101012F
+:1011B000010101010101010101010101010101011F
+:1011C000010101010101010101010101010101010F
+:1011D00001010101010101010101010101010101FF
+:1011E00001010101010101010101010101010101EF
+:1011F00001010101010101010101010101010101DF
+:1012000001010101010101010101010101010101CE
+:1012100001010101010101010101010101010101BE
+:1012200001010101010101010101010101010101AE
+:10123000010101010101010101010101010101019E
+:10124000010101010101010101010101010101018E
+:10125000010101010101010101010101010101017E
+:10126000010101010101010101010101010101016E
+:10127000010101010101010101010101010101015E
+:10128000010101010101010101010101010101014E
+:10129000010101010101010101010101010101013E
+:1012A000010101010101010101010101010101012E
+:1012B000010101010101010101010101010101011E
+:1012C000010101010101010101010101010101010E
+:1012D00001010101010101010101010101010101FE
+:1012E00001010101010101010101010101010101EE
+:1012F00001010101010101010101010101010101DE
+:1013000001010101010101010101010101010101CD
+:1013100001010101010101010101010101010101BD
+:1013200001010101010101010101010101010101AD
+:10133000010101010101010101010101010101019D
+:10134000010101010101010101010101010101018D
+:10135000010101010101010101010101010101017D
+:10136000010101010101010101010101010101016D
+:10137000010101010101010101010101010101015D
+:10138000010101010101010101010101010101014D
+:10139000010101010101010101010101010101013D
+:1013A000010101010101010101010101010101012D
+:1013B000010101010101010101010101010101011D
+:1013C000010101010101010101010101010101010D
+:1013D00001010101010101010101010101010101FD
+:1013E00001010101010101010101010101010101ED
+:1013F00001010101010101010101010101010101DD
+:1014000001010101010101010101010101010101CC
+:1014100001010101010101010101010101010101BC
+:1014200001010101010101010101010101010101AC
+:10143000010101010101010101010101010101019C
+:10144000010101010101010101010101010101018C
+:10145000010101010101010101010101010101017C
+:10146000010101010101010101010101010101016C
+:10147000010101010101010101010101010101015C
+:10148000010101010101010101010101010101014C
+:10149000010101010101010101010101010101013C
+:1014A000010101010101010101010101010101012C
+:1014B000010101010101010101010101010101011C
+:1014C000010101010101010101010101010101010C
+:1014D00001010101010101010101010101010101FC
+:1014E00001010101010101010101010101010101EC
+:1014F00001010101010101010101010101010101DC
+:1015000001010101010101010101010101010101CB
+:1015100001010101010101010101010101010101BB
+:1015200001010101010101010101010101010101AB
+:10153000010101010101010101010101010101019B
+:10154000010101010101010101010101010101018B
+:10155000010101010101010101010101010101017B
+:10156000010101010101010101010101010101016B
+:10157000010101010101010101010101010101015B
+:10158000010101010101010101010101010101014B
+:10159000010101010101010101010101010101013B
+:1015A000010101010101010101010101010101012B
+:1015B000010101010101010101010101010101011B
+:1015C000010101010101010101010101010101010B
+:1015D00001010101010101010101010101010101FB
+:1015E00001010101010101010101010101010101EB
+:1015F00001010101010101010101010101010101DB
+:1016000001010101010101010101010101010101CA
+:1016100001010101010101010101010101010101BA
+:1016200001010101010101010101010101010101AA
+:10163000010101010101010101010101010101019A
+:10164000010101010101010101010101010101018A
+:10165000010101010101010101010101010101017A
+:10166000010101010101010101010101010101016A
+:10167000010101010101010101010101010101015A
+:10168000010101010101010101010101010101014A
+:10169000010101010101010101010101010101013A
+:1016A000010101010101010101010101010101012A
+:1016B000010101010101010101010101010101011A
+:1016C000010101010101010101010101010101010A
+:1016D00001010101010101010101010101010101FA
+:1016E00001010101010101010101010101010101EA
+:1016F00001010101010101010101010101010101DA
+:1017000001010101010101010101010101010101C9
+:1017100001010101010101010101010101010101B9
+:1017200001010101010101010101010101010101A9
+:101730000101010101010101010101010101010199
+:101740000101010101010101010101010101010189
+:101750000101010101010101010101010101010179
+:101760000101010101010101010101010101010169
+:101770000101010101010101010101010101010159
+:101780000101010101010101010101010101010149
+:101790000101010101010101010101010101010139
+:1017A0000101010101010101010101010101010129
+:1017B0000101010101010101010101010101010119
+:1017C0000101010101010101010101010101010109
+:1017D00001010101010101010101010101010101F9
+:1017E00001010101010101010101010101010101E9
+:1017F00001010101010101010101010101010101D9
+:1018000001010101010101010101010101010101C8
+:1018100001010101010101010101010101010101B8
+:1018200001010101010101010101010101010101A8
+:101830000101010101010101010101010101010198
+:101840000101010101010101010101010101010188
+:101850000101010101010101010101010101010178
+:101860000101010101010101010101010101010168
+:101870000101010101010101010101010101010158
+:101880000101010101010101010101010101010148
+:101890000101010101010101010101010101010138
+:1018A0000101010101010101010101010101010128
+:1018B0000101010101010101010101010101010118
+:1018C0000101010101010101010101010101010108
+:1018D00001010101010101010101010101010101F8
+:1018E00001010101010101010101010101010101E8
+:1018F00000000000000000000000000000000000E8
+:1019000000000000000000000000000000000000D7
+:1019100000000000000000000000000000000000C7
+:1019200000000000000000000000000000000000B7
+:1019300000000000000000000000000000000000A7
+:101940000000000000000000000000000000000097
+:101950000000000000000000000000000000000087
+:101960000000000000000000000000000000000077
+:101970000000000000000000000000000000000067
+:101980000000000000000000000000000000000057
+:101990000000000000000000000000000000000047
+:1019A0000000000000000000000000000000000037
+:1019B0000000000000000000000000000000000027
+:1019C0000000000000000000000000000000000017
+:1019D0000000000000000000000000000000000007
+:1019E00000000000000000000000000000000000F7
+:1019F00000000000000000000000000000000000E7
+:101A000000000000000000000000000000000000D6
+:101A100000000000000000000000000000000000C6
+:101A200000000000000000000000000000000000B6
+:101A300000000000000000000000000000000000A6
+:101A40000000000000000000000000000000000096
+:101A50000000000000000000000000000000000086
+:101A60000000000000000000000000000000000076
+:101A70000000000000000000000000000000000066
+:101A80000000000000000000000000000000000056
+:101A90000000000000000000000000000000000046
+:101AA0000000000000000000000000000000000036
+:101AB0000000000000000000000000000000000026
+:101AC0000000000000000000000000000000000016
+:101AD0000000000000000000000000000000000006
+:101AE00000000000000000000000000000000000F6
+:101AF00000000000000000000000000000000000E6
+:101B000000000000000000000000000000000000D5
+:101B100000000000000000000000000000000000C5
+:101B200000000000000000000000000000000000B5
+:101B300000000000000000000000000000000000A5
+:101B40000000000000000000000000000000000095
+:101B50000000000000000000000000000000000085
+:101B60000000000000000000000000000000000075
+:101B70000000000000000000000000000000000065
+:101B80000000000000000000000000000000000055
+:101B90000000000000000000000000000000000045
+:101BA0000000000000000000000000000000000035
+:101BB0000000000000000000000000000000000025
+:101BC0000000000000000000000000000000000015
+:101BD0000000000000000000000000000000000005
+:101BE00000000000000000000000000000000000F5
+:101BF00000000000000000000000000000000000E5
+:101C000000000000000000000000000000000000D4
+:101C100000000000000000000000000000000000C4
+:101C200000000000000000000000000000000000B4
+:101C300000000000000000000000000000000000A4
+:101C40000000000000000000000000000000000094
+:101C50000000000000000000000000000000000084
+:101C60000000000000000000000000000000000074
+:101C70000000000000000000000000000000000064
+:101C80000000000000000000000000000000000054
+:101C90000000000000000000000000000000000044
+:101CA0000000000000000000000000000000000034
+:101CB0000000000000000000000000000000000024
+:101CC0000000000000000000000000000000000014
+:101CD0000000000000000000000000000000000004
+:101CE00000000000000000000000000000000000F4
+:101CF00001010101010101010101010101010101D4
+:101D000001010101010101010101010101010101C3
+:101D100001010101010101010101010101010101B3
+:101D200001010101010101010101010101010101A3
+:101D30000101010101010101010101010101010193
+:101D40000101010101010101010101010101010183
+:101D50000101010101010101010101010101010173
+:101D60000101010101010101010101010101010163
+:101D70000101010101010101010101010101010153
+:101D80000101010101010101010101010101010143
+:101D90000101010101010101010101010101010133
+:101DA0000101010101010101010101010101010123
+:101DB0000101010101010101010101010101010113
+:101DC0000101010101010101010101010101010103
+:101DD00001010101010101010101010101010101F3
+:101DE00001010101010101010101010101010101E3
+:101DF00001010101010101010101010101010101D3
+:101E000001010101010101010101010101010101C2
+:101E100001010101010101010101010101010101B2
+:101E200001010101010101010101010101010101A2
+:101E30000101010101010101010101010101010192
+:101E40000101010101010101010101010101010182
+:101E50000101010101010101010101010101010172
+:101E60000101010101010101010101010101010162
+:101E70000101010101010101010101010101010152
+:101E80000101010101010101010101010101010142
+:101E90000101010101010101010101010101010132
+:101EA0000101010101010101010101010101010122
+:101EB0000101010101010101010101010101010112
+:101EC0000101010101010101010101010101010102
+:101ED00001010101010101010101010101010101F2
+:101EE00001010101010101010101010101010101E2
+:101EF00002020202020202020202020202020202C2
+:101F000002020202020202020202020202020202B1
+:101F100002020202020202020202020202020202A1
+:101F20000202020202020202020202020202020291
+:101F30000202020202020202020202020202020281
+:101F40000202020202020202020202020202020271
+:101F50000202020202020202020202020202020261
+:101F60000202020202020202020202020202020251
+:101F70000202020202020202020202020202020241
+:101F80000202020202020202020202020202020231
+:101F90000202020202020202020202020202020221
+:101FA0000202020202020202020202020202020211
+:101FB0000202020202020202020202020202020201
+:101FC00002020202020202020202020202020202F1
+:101FD00002020202020202020202020202020202E1
+:101FE00002020202020202020202020202020202D1
+:101FF00002020202020202020202020202020202C1
+:1020000002020202020202020202020202020202B0
+:1020100002020202020202020202020202020202A0
+:102020000202020202020202020202020202020290
+:102030000202020202020202020202020202020280
+:102040000202020202020202020202020202020270
+:102050000202020202020202020202020202020260
+:102060000202020202020202020202020202020250
+:102070000202020202020202020202020202020240
+:102080000202020202020202020202020202020230
+:102090000202020202020202020202020202020220
+:1020A0000202020202020202020202020202020210
+:1020B0000202020202020202020202020202020200
+:1020C00002020202020202020202020202020202F0
+:1020D00002020202020202020202020202020202E0
+:1020E00002020202020202020202020202020202D0
+:1020F00002020202020202020202020202020202C0
+:1021000002020202020202020202020202020202AF
+:10211000020202020202020202020202020202029F
+:10212000020202020202020202020202020202028F
+:10213000020202020202020202020202020202027F
+:10214000020202020202020202020202020202026F
+:10215000020202020202020202020202020202025F
+:10216000020202020202020202020202020202024F
+:10217000020202020202020202020202020202023F
+:10218000020202020202020202020202020202022F
+:10219000020202020202020202020202020202021F
+:1021A000020202020202020202020202020202020F
+:1021B00002020202020202020202020202020202FF
+:1021C00002020202020202020202020202020202EF
+:1021D00002020202020202020202020202020202DF
+:1021E00002020202020202020202020202020202CF
+:1021F00002020202020202020202020202020202BF
+:1022000002020202020202020202020202020202AE
+:10221000020202020202020202020202020202029E
+:10222000020202020202020202020202020202028E
+:10223000020202020202020202020202020202027E
+:10224000020202020202020202020202020202026E
+:10225000020202020202020202020202020202025E
+:10226000020202020202020202020202020202024E
+:10227000020202020202020202020202020202023E
+:10228000020202020202020202020202020202022E
+:10229000020202020202020202020202020202021E
+:1022A000020202020202020202020202020202020E
+:1022B00002020202020202020202020202020202FE
+:1022C00002020202020202020202020202020202EE
+:1022D00002020202020202020202020202020202DE
+:1022E00002020202020202020202020202020202CE
+:1022F00002020202020202020202020202020202BE
+:1023000002020202020202020202020202020202AD
+:10231000020202020202020202020202020202029D
+:10232000020202020202020202020202020202028D
+:10233000020202020202020202020202020202027D
+:10234000020202020202020202020202020202026D
+:10235000020202020202020202020202020202025D
+:10236000020202020202020202020202020202024D
+:10237000020202020202020202020202020202023D
+:10238000020202020202020202020202020202022D
+:10239000020202020202020202020202020202021D
+:1023A000020202020202020202020202020202020D
+:1023B00002020202020202020202020202020202FD
+:1023C00002020202020202020202020202020202ED
+:1023D00002020202020202020202020202020202DD
+:1023E00002020202020202020202020202020202CD
+:1023F00002020202020202020202020202020202BD
+:1024000002020202020202020202020202020202AC
+:10241000020202020202020202020202020202029C
+:10242000020202020202020202020202020202028C
+:10243000020202020202020202020202020202027C
+:10244000020202020202020202020202020202026C
+:10245000020202020202020202020202020202025C
+:10246000020202020202020202020202020202024C
+:10247000020202020202020202020202020202023C
+:10248000020202020202020202020202020202022C
+:10249000020202020202020202020202020202021C
+:1024A000020202020202020202020202020202020C
+:1024B00002020202020202020202020202020202FC
+:1024C00002020202020202020202020202020202EC
+:1024D00002020202020202020202020202020202DC
+:1024E00002020202020202020202020202020202CC
+:1024F00002020202020202020202020202020202BC
+:1025000002020202020202020202020202020202AB
+:10251000020202020202020202020202020202029B
+:10252000020202020202020202020202020202028B
+:10253000020202020202020202020202020202027B
+:10254000020202020202020202020202020202026B
+:10255000020202020202020202020202020202025B
+:10256000020202020202020202020202020202024B
+:10257000020202020202020202020202020202023B
+:10258000020202020202020202020202020202022B
+:10259000020202020202020202020202020202021B
+:1025A000020202020202020202020202020202020B
+:1025B00002020202020202020202020202020202FB
+:1025C00002020202020202020202020202020202EB
+:1025D00002020202020202020202020202020202DB
+:1025E00002020202020202020202020202020202CB
+:1025F00002020202020202020202020202020202BB
+:1026000002020202020202020202020202020202AA
+:10261000020202020202020202020202020202029A
+:10262000020202020202020202020202020202028A
+:10263000020202020202020202020202020202027A
+:10264000020202020202020202020202020202026A
+:10265000020202020202020202020202020202025A
+:10266000020202020202020202020202020202024A
+:10267000020202020202020202020202020202023A
+:10268000020202020202020202020202020202022A
+:10269000020202020202020202020202020202021A
+:1026A000020202020202020202020202020202020A
+:1026B00002020202020202020202020202020202FA
+:1026C00002020202020202020202020202020202EA
+:1026D00002020202020202020202020202020202DA
+:1026E00002020202020202020202020202020202CA
+:1026F00002020202020202020202020202020202BA
+:1027000002020202020202020202020202020202A9
+:102710000202020202020202020202020202020299
+:102720000202020202020202020202020202020289
+:102730000202020202020202020202020202020279
+:102740000202020202020202020202020202020269
+:102750000202020202020202020202020202020259
+:102760000202020202020202020202020202020249
+:102770000202020202020202020202020202020239
+:102780000202020202020202020202020202020229
+:102790000202020202020202020202020202020219
+:1027A0000202020202020202020202020202020209
+:1027B00002020202020202020202020202020202F9
+:1027C00002020202020202020202020202020202E9
+:1027D00002020202020202020202020202020202D9
+:1027E00002020202020202020202020202020202C9
+:1027F00002020202020202020202020202020202B9
+:1028000002020202020202020202020202020202A8
+:102810000202020202020202020202020202020298
+:102820000202020202020202020202020202020288
+:102830000202020202020202020202020202020278
+:102840000202020202020202020202020202020268
+:102850000202020202020202020202020202020258
+:102860000202020202020202020202020202020248
+:102870000202020202020202020202020202020238
+:102880000202020202020202020202020202020228
+:102890000202020202020202020202020202020218
+:1028A0000202020202020202020202020202020208
+:1028B00002020202020202020202020202020202F8
+:1028C00002020202020202020202020202020202E8
+:1028D00002020202020202020202020202020202D8
+:1028E00002020202020202020202020202020202C8
+:1028F00002020202020202020202020202020202B8
+:1029000002020202020202020202020202020202A7
+:102910000202020202020202020202020202020297
+:102920000202020202020202020202020202020287
+:102930000202020202020202020202020202020277
+:102940000202020202020202020202020202020267
+:102950000202020202020202020202020202020257
+:102960000202020202020202020202020202020247
+:102970000202020202020202020202020202020237
+:102980000202020202020202020202020202020227
+:102990000202020202020202020202020202020217
+:1029A0000202020202020202020202020202020207
+:1029B00002020202020202020202020202020202F7
+:1029C00002020202020202020202020202020202E7
+:1029D00002020202020202020202020202020202D7
+:1029E00002020202020202020202020202020202C7
+:1029F00002020202020202020202020202020202B7
+:102A000002020202020202020202020202020202A6
+:102A10000202020202020202020202020202020296
+:102A20000202020202020202020202020202020286
+:102A30000202020202020202020202020202020276
+:102A40000202020202020202020202020202020266
+:102A50000202020202020202020202020202020256
+:102A60000202020202020202020202020202020246
+:102A70000202020202020202020202020202020236
+:102A80000202020202020202020202020202020226
+:102A90000202020202020202020202020202020216
+:102AA0000202020202020202020202020202020206
+:102AB00002020202020202020202020202020202F6
+:102AC00002020202020202020202020202020202E6
+:102AD00002020202020202020202020202020202D6
+:102AE00002020202020202020202020202020202C6
+:102AF00002020202020202020202020202020202B6
+:102B000002020202020202020202020202020202A5
+:102B10000202020202020202020202020202020295
+:102B20000202020202020202020202020202020285
+:102B30000202020202020202020202020202020275
+:102B40000202020202020202020202020202020265
+:102B50000202020202020202020202020202020255
+:102B60000202020202020202020202020202020245
+:102B70000202020202020202020202020202020235
+:102B80000202020202020202020202020202020225
+:102B90000202020202020202020202020202020215
+:102BA0000202020202020202020202020202020205
+:102BB00002020202020202020202020202020202F5
+:102BC00002020202020202020202020202020202E5
+:102BD00002020202020202020202020202020202D5
+:102BE00002020202020202020202020202020202C5
+:102BF00002020202020202020202020202020202B5
+:102C000002020202020202020202020202020202A4
+:102C10000202020202020202020202020202020294
+:102C20000202020202020202020202020202020284
+:102C30000202020202020202020202020202020274
+:102C40000202020202020202020202020202020264
+:102C50000202020202020202020202020202020254
+:102C60000202020202020202020202020202020244
+:102C70000202020202020202020202020202020234
+:102C80000202020202020202020202020202020224
+:102C90000202020202020202020202020202020214
+:102CA0000202020202020202020202020202020204
+:102CB00002020202020202020202020202020202F4
+:102CC00002020202020202020202020202020202E4
+:102CD00002020202020202020202020202020202D4
+:102CE00002020202020202020202020202020202C4
+:102CF00002020202020202020202020202020202B4
+:102D000002020202020202020202020202020202A3
+:102D10000202020202020202020202020202020293
+:102D20000202020202020202020202020202020283
+:102D30000202020202020202020202020202020273
+:102D40000202020202020202020202020202020263
+:102D50000202020202020202020202020202020253
+:102D60000202020202020202020202020202020243
+:102D70000202020202020202020202020202020233
+:102D80000202020202020202020202020202020223
+:102D90000202020202020202020202020202020213
+:102DA0000202020202020202020202020202020203
+:102DB00002020202020202020202020202020202F3
+:102DC00002020202020202020202020202020202E3
+:102DD00002020202020202020202020202020202D3
+:102DE00002020202020202020202020202020202C3
+:102DF00002020202020202020202020202020202B3
+:102E000002020202020202020202020202020202A2
+:102E10000202020202020202020202020202020292
+:102E20000202020202020202020202020202020282
+:102E30000202020202020202020202020202020272
+:102E40000202020202020202020202020202020262
+:102E50000202020202020202020202020202020252
+:102E60000202020202020202020202020202020242
+:102E70000202020202020202020202020202020232
+:102E80000202020202020202020202020202020222
+:102E90000202020202020202020202020202020212
+:102EA0000202020202020202020202020202020202
+:102EB00002020202020202020202020202020202F2
+:102EC00002020202020202020202020202020202E2
+:102ED00002020202020202020202020202020202D2
+:102EE00002020202020202020202020202020202C2
+:102EF00002020202020202020202020202020202B2
+:102F000002020202020202020202020202020202A1
+:102F10000202020202020202020202020202020291
+:102F20000202020202020202020202020202020281
+:102F30000202020202020202020202020202020271
+:102F40000202020202020202020202020202020261
+:102F50000202020202020202020202020202020251
+:102F60000202020202020202020202020202020241
+:102F70000202020202020202020202020202020231
+:102F80000202020202020202020202020202020221
+:102F90000202020202020202020202020202020211
+:102FA0000202020202020202020202020202020201
+:102FB00002020202020202020202020202020202F1
+:102FC00002020202020202020202020202020202E1
+:102FD00002020202020202020202020202020202D1
+:102FE00002020202020202020202020202020202C1
+:102FF00002020202020202020202020202020202B1
+:1030000002020202020202020202020202020202A0
+:103010000202020202020202020202020202020290
+:103020000202020202020202020202020202020280
+:103030000202020202020202020202020202020270
+:103040000202020202020202020202020202020260
+:103050000202020202020202020202020202020250
+:103060000202020202020202020202020202020240
+:103070000202020202020202020202020202020230
+:103080000202020202020202020202020202020220
+:103090000202020202020202020202020202020210
+:1030A0000202020202020202020202020202020200
+:1030B00002020202020202020202020202020202F0
+:1030C00002020202020202020202020202020202E0
+:1030D00002020202020202020202020202020202D0
+:1030E00002020202020202020202020202020202C0
+:1030F00002020202020202020202020202020202B0
+:10310000020202020202020202020202020202029F
+:10311000020202020202020202020202020202028F
+:10312000020202020202020202020202020202027F
+:10313000020202020202020202020202020202026F
+:10314000020202020202020202020202020202025F
+:10315000020202020202020202020202020202024F
+:10316000020202020202020202020202020202023F
+:10317000020202020202020202020202020202022F
+:10318000020202020202020202020202020202021F
+:10319000020202020202020202020202020202020F
+:1031A00002020202020202020202020202020202FF
+:1031B00002020202020202020202020202020202EF
+:1031C00002020202020202020202020202020202DF
+:1031D00002020202020202020202020202020202CF
+:1031E00002020202020202020202020202020202BF
+:1031F00002020202020202020202020202020202AF
+:10320000020202020202020202020202020202029E
+:10321000020202020202020202020202020202028E
+:10322000020202020202020202020202020202027E
+:10323000020202020202020202020202020202026E
+:10324000020202020202020202020202020202025E
+:10325000020202020202020202020202020202024E
+:10326000020202020202020202020202020202023E
+:10327000020202020202020202020202020202022E
+:10328000020202020202020202020202020202021E
+:10329000020202020202020202020202020202020E
+:1032A00002020202020202020202020202020202FE
+:1032B00002020202020202020202020202020202EE
+:1032C00002020202020202020202020202020202DE
+:1032D00002020202020202020202020202020202CE
+:1032E00002020202020202020202020202020202BE
+:1032F00002020202020202020202020202020202AE
+:10330000020202020202020202020202020202029D
+:10331000020202020202020202020202020202028D
+:10332000020202020202020202020202020202027D
+:10333000020202020202020202020202020202026D
+:10334000020202020202020202020202020202025D
+:10335000020202020202020202020202020202024D
+:10336000020202020202020202020202020202023D
+:10337000020202020202020202020202020202022D
+:10338000020202020202020202020202020202021D
+:10339000020202020202020202020202020202020D
+:1033A00002020202020202020202020202020202FD
+:1033B00002020202020202020202020202020202ED
+:1033C00002020202020202020202020202020202DD
+:1033D00002020202020202020202020202020202CD
+:1033E00002020202020202020202020202020202BD
+:1033F00002020202020202020202020202020202AD
+:10340000020202020202020202020202020202029C
+:10341000020202020202020202020202020202028C
+:10342000020202020202020202020202020202027C
+:10343000020202020202020202020202020202026C
+:10344000020202020202020202020202020202025C
+:10345000020202020202020202020202020202024C
+:10346000020202020202020202020202020202023C
+:10347000020202020202020202020202020202022C
+:10348000020202020202020202020202020202021C
+:10349000020202020202020202020202020202020C
+:1034A00002020202020202020202020202020202FC
+:1034B00002020202020202020202020202020202EC
+:1034C00002020202020202020202020202020202DC
+:1034D00002020202020202020202020202020202CC
+:1034E00002020202020202020202020202020202BC
+:1034F00002020202020202020202020202020202AC
+:10350000020202020202020202020202020202029B
+:10351000020202020202020202020202020202028B
+:10352000020202020202020202020202020202027B
+:10353000020202020202020202020202020202026B
+:10354000020202020202020202020202020202025B
+:10355000020202020202020202020202020202024B
+:10356000020202020202020202020202020202023B
+:10357000020202020202020202020202020202022B
+:10358000020202020202020202020202020202021B
+:10359000020202020202020202020202020202020B
+:1035A00002020202020202020202020202020202FB
+:1035B00002020202020202020202020202020202EB
+:1035C00002020202020202020202020202020202DB
+:1035D00002020202020202020202020202020202CB
+:1035E00002020202020202020202020202020202BB
+:1035F00002020202020202020202020202020202AB
+:10360000020202020202020202020202020202029A
+:10361000020202020202020202020202020202028A
+:10362000020202020202020202020202020202027A
+:10363000020202020202020202020202020202026A
+:10364000020202020202020202020202020202025A
+:10365000020202020202020202020202020202024A
+:10366000020202020202020202020202020202023A
+:10367000020202020202020202020202020202022A
+:10368000020202020202020202020202020202021A
+:10369000020202020202020202020202020202020A
+:1036A00002020202020202020202020202020202FA
+:1036B00002020202020202020202020202020202EA
+:1036C00002020202020202020202020202020202DA
+:1036D00002020202020202020202020202020202CA
+:1036E00002020202020202020202020202020202BA
+:1036F00000000000000000000000000000000000CA
+:1037000000000000000000000000000000000000B9
+:1037100000000000000000000000000000000000A9
+:103720000000000000000000000000000000000099
+:103730000000000000000000000000000000000089
+:103740000000000000000000000000000000000079
+:103750000000000000000000000000000000000069
+:103760000000000000000000000000000000000059
+:103770000000000000000000000000000000000049
+:103780000000000000000000000000000000000039
+:103790000000000000000000000000000000000029
+:1037A0000000000000000000000000000000000019
+:1037B0000000000000000000000000000000000009
+:1037C00000000000000000000000000000000000F9
+:1037D00000000000000000000000000000000000E9
+:1037E00000000000000000000000000000000000D9
+:1037F00000000000000000000000000000000000C9
+:1038000000000000000000000000000000000000B8
+:1038100000000000000000000000000000000000A8
+:103820000000000000000000000000000000000098
+:103830000000000000000000000000000000000088
+:103840000000000000000000000000000000000078
+:103850000000000000000000000000000000000068
+:103860000000000000000000000000000000000058
+:103870000000000000000000000000000000000048
+:103880000000000000000000000000000000000038
+:103890000000000000000000000000000000000028
+:1038A0000000000000000000000000000000000018
+:1038B0000000000000000000000000000000000008
+:1038C00000000000000000000000000000000000F8
+:1038D00000000000000000000000000000000000E8
+:1038E00000000000000000000000000000000000D8
+:1038F00000000000000000000000000000000000C8
+:1039000000000000000000000000000000000000B7
+:1039100000000000000000000000000000000000A7
+:103920000000000000000000000000000000000097
+:103930000000000000000000000000000000000087
+:103940000000000000000000000000000000000077
+:103950000000000000000000000000000000000067
+:103960000000000000000000000000000000000057
+:103970000000000000000000000000000000000047
+:103980000000000000000000000000000000000037
+:103990000000000000000000000000000000000027
+:1039A0000000000000000000000000000000000017
+:1039B0000000000000000000000000000000000007
+:1039C00000000000000000000000000000000000F7
+:1039D00000000000000000000000000000000000E7
+:1039E00000000000000000000000000000000000D7
+:1039F00000000000000000000000000000000000C7
+:103A000000000000000000000000000000000000B6
+:103A100000000000000000000000000000000000A6
+:103A20000000000000000000000000000000000096
+:103A30000000000000000000000000000000000086
+:103A40000000000000000000000000000000000076
+:103A50000000000000000000000000000000000066
+:103A60000000000000000000000000000000000056
+:103A70000000000000000000000000000000000046
+:103A80000000000000000000000000000000000036
+:103A90000000000000000000000000000000000026
+:103AA0000000000000000000000000000000000016
+:103AB0000000000000000000000000000000000006
+:103AC00000000000000000000000000000000000F6
+:103AD00000000000000000000000000000000000E6
+:103AE00000000000000000000000000000000000D6
+:103AF00001010101010101010101010101010101B6
+:103B000001010101010101010101010101010101A5
+:103B10000101010101010101010101010101010195
+:103B20000101010101010101010101010101010185
+:103B30000101010101010101010101010101010175
+:103B40000101010101010101010101010101010165
+:103B50000101010101010101010101010101010155
+:103B60000101010101010101010101010101010145
+:103B70000101010101010101010101010101010135
+:103B80000101010101010101010101010101010125
+:103B90000101010101010101010101010101010115
+:103BA0000101010101010101010101010101010105
+:103BB00001010101010101010101010101010101F5
+:103BC00001010101010101010101010101010101E5
+:103BD00001010101010101010101010101010101D5
+:103BE00001010101010101010101010101010101C5
+:103BF00001010101010101010101010101010101B5
+:103C000001010101010101010101010101010101A4
+:103C10000101010101010101010101010101010194
+:103C20000101010101010101010101010101010184
+:103C30000101010101010101010101010101010174
+:103C40000101010101010101010101010101010164
+:103C50000101010101010101010101010101010154
+:103C60000101010101010101010101010101010144
+:103C70000101010101010101010101010101010134
+:103C80000101010101010101010101010101010124
+:103C90000101010101010101010101010101010114
+:103CA0000101010101010101010101010101010104
+:103CB00001010101010101010101010101010101F4
+:103CC00001010101010101010101010101010101E4
+:103CD00001010101010101010101010101010101D4
+:103CE00001010101010101010101010101010101C4
+:103CF00001010101010101010101010101010101B4
+:103D000001010101010101010101010101010101A3
+:103D10000101010101010101010101010101010193
+:103D20000101010101010101010101010101010183
+:103D30000101010101010101010101010101010173
+:103D40000101010101010101010101010101010163
+:103D50000101010101010101010101010101010153
+:103D60000101010101010101010101010101010143
+:103D70000101010101010101010101010101010133
+:103D80000101010101010101010101010101010123
+:103D90000101010101010101010101010101010113
+:103DA0000101010101010101010101010101010103
+:103DB00001010101010101010101010101010101F3
+:103DC00001010101010101010101010101010101E3
+:103DD00001010101010101010101010101010101D3
+:103DE00001010101010101010101010101010101C3
+:103DF00001010101010101010101010101010101B3
+:103E000001010101010101010101010101010101A2
+:103E10000101010101010101010101010101010192
+:103E20000101010101010101010101010101010182
+:103E30000101010101010101010101010101010172
+:103E40000101010101010101010101010101010162
+:103E50000101010101010101010101010101010152
+:103E60000101010101010101010101010101010142
+:103E70000101010101010101010101010101010132
+:103E80000101010101010101010101010101010122
+:103E90000101010101010101010101010101010112
+:103EA0000101010101010101010101010101010102
+:103EB00001010101010101010101010101010101F2
+:103EC00001010101010101010101010101010101E2
+:103ED00001010101010101010101010101010101D2
+:103EE00001010101010101010101010101010101C2
+:103EF00001010101010101010101010101010101B2
+:103F000001010101010101010101010101010101A1
+:103F10000101010101010101010101010101010191
+:103F20000101010101010101010101010101010181
+:103F30000101010101010101010101010101010171
+:103F40000101010101010101010101010101010161
+:103F50000101010101010101010101010101010151
+:103F60000101010101010101010101010101010141
+:103F70000101010101010101010101010101010131
+:103F80000101010101010101010101010101010121
+:103F90000101010101010101010101010101010111
+:103FA0000101010101010101010101010101010101
+:103FB00001010101010101010101010101010101F1
+:103FC00001010101010101010101010101010101E1
+:103FD00001010101010101010101010101010101D1
+:103FE00001010101010101010101010101010101C1
+:103FF00001010101010101010101010101010101B1
+:1040000001010101010101010101010101010101A0
+:104010000101010101010101010101010101010190
+:104020000101010101010101010101010101010180
+:104030000101010101010101010101010101010170
+:104040000101010101010101010101010101010160
+:104050000101010101010101010101010101010150
+:104060000101010101010101010101010101010140
+:104070000101010101010101010101010101010130
+:104080000101010101010101010101010101010120
+:104090000101010101010101010101010101010110
+:1040A0000101010101010101010101010101010100
+:1040B00001010101010101010101010101010101F0
+:1040C00001010101010101010101010101010101E0
+:1040D00001010101010101010101010101010101D0
+:1040E00001010101010101010101010101010101C0
+:1040F00001010101010101010101010101010101B0
+:10410000010101010101010101010101010101019F
+:10411000010101010101010101010101010101018F
+:10412000010101010101010101010101010101017F
+:10413000010101010101010101010101010101016F
+:10414000010101010101010101010101010101015F
+:10415000010101010101010101010101010101014F
+:10416000010101010101010101010101010101013F
+:10417000010101010101010101010101010101012F
+:10418000010101010101010101010101010101011F
+:10419000010101010101010101010101010101010F
+:1041A00001010101010101010101010101010101FF
+:1041B00001010101010101010101010101010101EF
+:1041C00001010101010101010101010101010101DF
+:1041D00001010101010101010101010101010101CF
+:1041E00001010101010101010101010101010101BF
+:1041F00001010101010101010101010101010101AF
+:10420000010101010101010101010101010101019E
+:10421000010101010101010101010101010101018E
+:10422000010101010101010101010101010101017E
+:10423000010101010101010101010101010101016E
+:10424000010101010101010101010101010101015E
+:10425000010101010101010101010101010101014E
+:10426000010101010101010101010101010101013E
+:10427000010101010101010101010101010101012E
+:10428000010101010101010101010101010101011E
+:10429000010101010101010101010101010101010E
+:1042A00001010101010101010101010101010101FE
+:1042B00001010101010101010101010101010101EE
+:1042C00001010101010101010101010101010101DE
+:1042D00001010101010101010101010101010101CE
+:1042E00001010101010101010101010101010101BE
+:1042F00001010101010101010101010101010101AE
+:10430000010101010101010101010101010101019D
+:10431000010101010101010101010101010101018D
+:10432000010101010101010101010101010101017D
+:10433000010101010101010101010101010101016D
+:10434000010101010101010101010101010101015D
+:10435000010101010101010101010101010101014D
+:10436000010101010101010101010101010101013D
+:10437000010101010101010101010101010101012D
+:10438000010101010101010101010101010101011D
+:10439000010101010101010101010101010101010D
+:1043A00001010101010101010101010101010101FD
+:1043B00001010101010101010101010101010101ED
+:1043C00001010101010101010101010101010101DD
+:1043D00001010101010101010101010101010101CD
+:1043E00001010101010101010101010101010101BD
+:1043F00001010101010101010101010101010101AD
+:10440000010101010101010101010101010101019C
+:10441000010101010101010101010101010101018C
+:10442000010101010101010101010101010101017C
+:10443000010101010101010101010101010101016C
+:10444000010101010101010101010101010101015C
+:10445000010101010101010101010101010101014C
+:10446000010101010101010101010101010101013C
+:10447000010101010101010101010101010101012C
+:10448000010101010101010101010101010101011C
+:10449000010101010101010101010101010101010C
+:1044A00001010101010101010101010101010101FC
+:1044B00001010101010101010101010101010101EC
+:1044C00001010101010101010101010101010101DC
+:1044D00001010101010101010101010101010101CC
+:1044E00001010101010101010101010101010101BC
+:1044F00001010101010101010101010101010101AC
+:10450000010101010101010101010101010101019B
+:10451000010101010101010101010101010101018B
+:10452000010101010101010101010101010101017B
+:10453000010101010101010101010101010101016B
+:10454000010101010101010101010101010101015B
+:10455000010101010101010101010101010101014B
+:10456000010101010101010101010101010101013B
+:10457000010101010101010101010101010101012B
+:10458000010101010101010101010101010101011B
+:10459000010101010101010101010101010101010B
+:1045A00001010101010101010101010101010101FB
+:1045B00001010101010101010101010101010101EB
+:1045C00001010101010101010101010101010101DB
+:1045D00001010101010101010101010101010101CB
+:1045E00001010101010101010101010101010101BB
+:1045F00001010101010101010101010101010101AB
+:10460000010101010101010101010101010101019A
+:10461000010101010101010101010101010101018A
+:10462000010101010101010101010101010101017A
+:10463000010101010101010101010101010101016A
+:10464000010101010101010101010101010101015A
+:10465000010101010101010101010101010101014A
+:10466000010101010101010101010101010101013A
+:10467000010101010101010101010101010101012A
+:10468000010101010101010101010101010101011A
+:10469000010101010101010101010101010101010A
+:1046A00001010101010101010101010101010101FA
+:1046B00001010101010101010101010101010101EA
+:1046C00001010101010101010101010101010101DA
+:1046D00001010101010101010101010101010101CA
+:1046E00001010101010101010101010101010101BA
+:1046F00001010101010101010101010101010101AA
+:104700000101010101010101010101010101010199
+:104710000101010101010101010101010101010189
+:104720000101010101010101010101010101010179
+:104730000101010101010101010101010101010169
+:104740000101010101010101010101010101010159
+:104750000101010101010101010101010101010149
+:104760000101010101010101010101010101010139
+:104770000101010101010101010101010101010129
+:104780000101010101010101010101010101010119
+:104790000101010101010101010101010101010109
+:1047A00001010101010101010101010101010101F9
+:1047B00001010101010101010101010101010101E9
+:1047C00001010101010101010101010101010101D9
+:1047D00001010101010101010101010101010101C9
+:1047E00001010101010101010101010101010101B9
+:1047F00001010101010101010101010101010101A9
+:104800000101010101010101010101010101010198
+:104810000101010101010101010101010101010188
+:104820000101010101010101010101010101010178
+:104830000101010101010101010101010101010168
+:104840000101010101010101010101010101010158
+:104850000101010101010101010101010101010148
+:104860000101010101010101010101010101010138
+:104870000101010101010101010101010101010128
+:104880000101010101010101010101010101010118
+:104890000101010101010101010101010101010108
+:1048A00001010101010101010101010101010101F8
+:1048B00001010101010101010101010101010101E8
+:1048C00001010101010101010101010101010101D8
+:1048D00001010101010101010101010101010101C8
+:1048E00001010101010101010101010101010101B8
+:1048F00001010101010101010101010101010101A8
+:104900000101010101010101010101010101010197
+:104910000101010101010101010101010101010187
+:104920000101010101010101010101010101010177
+:104930000101010101010101010101010101010167
+:104940000101010101010101010101010101010157
+:104950000101010101010101010101010101010147
+:104960000101010101010101010101010101010137
+:104970000101010101010101010101010101010127
+:104980000101010101010101010101010101010117
+:104990000101010101010101010101010101010107
+:1049A00001010101010101010101010101010101F7
+:1049B00001010101010101010101010101010101E7
+:1049C00001010101010101010101010101010101D7
+:1049D00001010101010101010101010101010101C7
+:1049E00001010101010101010101010101010101B7
+:1049F00001010101010101010101010101010101A7
+:104A00000101010101010101010101010101010196
+:104A10000101010101010101010101010101010186
+:104A20000101010101010101010101010101010176
+:104A30000101010101010101010101010101010166
+:104A40000101010101010101010101010101010156
+:104A50000101010101010101010101010101010146
+:104A60000101010101010101010101010101010136
+:104A70000101010101010101010101010101010126
+:104A80000101010101010101010101010101010116
+:104A90000101010101010101010101010101010106
+:104AA00001010101010101010101010101010101F6
+:104AB00001010101010101010101010101010101E6
+:104AC00001010101010101010101010101010101D6
+:104AD00001010101010101010101010101010101C6
+:104AE00001010101010101010101010101010101B6
+:104AF00001010101010101010101010101010101A6
+:104B00000101010101010101010101010101010195
+:104B10000101010101010101010101010101010185
+:104B20000101010101010101010101010101010175
+:104B30000101010101010101010101010101010165
+:104B40000101010101010101010101010101010155
+:104B50000101010101010101010101010101010145
+:104B60000101010101010101010101010101010135
+:104B70000101010101010101010101010101010125
+:104B80000101010101010101010101010101010115
+:104B90000101010101010101010101010101010105
+:104BA00001010101010101010101010101010101F5
+:104BB00001010101010101010101010101010101E5
+:104BC00001010101010101010101010101010101D5
+:104BD00001010101010101010101010101010101C5
+:104BE00001010101010101010101010101010101B5
+:104BF00001010101010101010101010101010101A5
+:104C00000101010101010101010101010101010194
+:104C10000101010101010101010101010101010184
+:104C20000101010101010101010101010101010174
+:104C30000101010101010101010101010101010164
+:104C40000101010101010101010101010101010154
+:104C50000101010101010101010101010101010144
+:104C60000101010101010101010101010101010134
+:104C70000101010101010101010101010101010124
+:104C80000101010101010101010101010101010114
+:104C90000101010101010101010101010101010104
+:104CA00001010101010101010101010101010101F4
+:104CB00001010101010101010101010101010101E4
+:104CC00001010101010101010101010101010101D4
+:104CD00001010101010101010101010101010101C4
+:104CE00001010101010101010101010101010101B4
+:104CF00001010101010101010101010101010101A4
+:104D00000101010101010101010101010101010193
+:104D10000101010101010101010101010101010183
+:104D20000101010101010101010101010101010173
+:104D30000101010101010101010101010101010163
+:104D40000101010101010101010101010101010153
+:104D50000101010101010101010101010101010143
+:104D60000101010101010101010101010101010133
+:104D70000101010101010101010101010101010123
+:104D80000101010101010101010101010101010113
+:104D90000101010101010101010101010101010103
+:104DA00001010101010101010101010101010101F3
+:104DB00001010101010101010101010101010101E3
+:104DC00001010101010101010101010101010101D3
+:104DD00001010101010101010101010101010101C3
+:104DE00001010101010101010101010101010101B3
+:104DF00001010101010101010101010101010101A3
+:104E00000101010101010101010101010101010192
+:104E10000101010101010101010101010101010182
+:104E20000101010101010101010101010101010172
+:104E30000101010101010101010101010101010162
+:104E40000101010101010101010101010101010152
+:104E50000101010101010101010101010101010142
+:104E60000101010101010101010101010101010132
+:104E70000101010101010101010101010101010122
+:104E80000101010101010101010101010101010112
+:104E90000101010101010101010101010101010102
+:104EA00001010101010101010101010101010101F2
+:104EB00001010101010101010101010101010101E2
+:104EC00001010101010101010101010101010101D2
+:104ED00001010101010101010101010101010101C2
+:104EE00001010101010101010101010101010101B2
+:104EF00001010101010101010101010101010101A2
+:104F00000101010101010101010101010101010191
+:104F10000101010101010101010101010101010181
+:104F20000101010101010101010101010101010171
+:104F30000101010101010101010101010101010161
+:104F40000101010101010101010101010101010151
+:104F50000101010101010101010101010101010141
+:104F60000101010101010101010101010101010131
+:104F70000101010101010101010101010101010121
+:104F80000101010101010101010101010101010111
+:104F90000101010101010101010101010101010101
+:104FA00001010101010101010101010101010101F1
+:104FB00001010101010101010101010101010101E1
+:104FC00001010101010101010101010101010101D1
+:104FD00001010101010101010101010101010101C1
+:104FE00001010101010101010101010101010101B1
+:104FF00001010101010101010101010101010101A1
+:105000000101010101010101010101010101010190
+:105010000101010101010101010101010101010180
+:105020000101010101010101010101010101010170
+:105030000101010101010101010101010101010160
+:105040000101010101010101010101010101010150
+:105050000101010101010101010101010101010140
+:105060000101010101010101010101010101010130
+:105070000101010101010101010101010101010120
+:105080000101010101010101010101010101010110
+:105090000101010101010101010101010101010100
+:1050A00001010101010101010101010101010101F0
+:1050B00001010101010101010101010101010101E0
+:1050C00001010101010101010101010101010101D0
+:1050D00001010101010101010101010101010101C0
+:1050E00001010101010101010101010101010101B0
+:1050F00000000000000000000000000000000000B0
+:10510000000000000000000000000000000000009F
+:10511000000000000000000000000000000000008F
+:10512000000000000000000000000000000000007F
+:10513000000000000000000000000000000000006F
+:10514000000000000000000000000000000000005F
+:10515000000000000000000000000000000000004F
+:10516000000000000000000000000000000000003F
+:10517000000000000000000000000000000000002F
+:10518000000000000000000000000000000000001F
+:10519000000000000000000000000000000000000F
+:1051A00000000000000000000000000000000000FF
+:1051B00000000000000000000000000000000000EF
+:1051C00000000000000000000000000000000000DF
+:1051D00000000000000000000000000000000000CF
+:1051E00000000000000000000000000000000000BF
+:1051F00000000000000000000000000000000000AF
+:10520000000000000000000000000000000000009E
+:10521000000000000000000000000000000000008E
+:10522000000000000000000000000000000000007E
+:10523000000000000000000000000000000000006E
+:10524000000000000000000000000000000000005E
+:10525000000000000000000000000000000000004E
+:10526000000000000000000000000000000000003E
+:10527000000000000000000000000000000000002E
+:10528000000000000000000000000000000000001E
+:10529000000000000000000000000000000000000E
+:1052A00000000000000000000000000000000000FE
+:1052B00000000000000000000000000000000000EE
+:1052C00000000000000000000000000000000000DE
+:1052D00000000000000000000000000000000000CE
+:1052E00000000000000000000000000000000000BE
+:1052F00000000000000000000000000000000000AE
+:10530000000000000000000000000000000000009D
+:10531000000000000000000000000000000000008D
+:10532000000000000000000000000000000000007D
+:10533000000000000000000000000000000000006D
+:10534000000000000000000000000000000000005D
+:10535000000000000000000000000000000000004D
+:10536000000000000000000000000000000000003D
+:10537000000000000000000000000000000000002D
+:10538000000000000000000000000000000000001D
+:10539000000000000000000000000000000000000D
+:1053A00000000000000000000000000000000000FD
+:1053B00000000000000000000000000000000000ED
+:1053C00000000000000000000000000000000000DD
+:1053D00000000000000000000000000000000000CD
+:1053E00000000000000000000000000000000000BD
+:1053F00000000000000000000000000000000000AD
+:10540000000000000000000000000000000000009C
+:10541000000000000000000000000000000000008C
+:10542000000000000000000000000000000000007C
+:10543000000000000000000000000000000000006C
+:10544000000000000000000000000000000000005C
+:10545000000000000000000000000000000000004C
+:10546000000000000000000000000000000000003C
+:10547000000000000000000000000000000000002C
+:10548000000000000000000000000000000000001C
+:10549000000000000000000000000000000000000C
+:1054A00000000000000000000000000000000000FC
+:1054B00000000000000000000000000000000000EC
+:1054C00000000000000000000000000000000000DC
+:1054D00000000000000000000000000000000000CC
+:1054E00000000000000000000000000000000000BC
+:1054F000010101010101010101010101010101019C
+:10550000010101010101010101010101010101018B
+:10551000010101010101010101010101010101017B
+:10552000010101010101010101010101010101016B
+:10553000010101010101010101010101010101015B
+:10554000010101010101010101010101010101014B
+:10555000010101010101010101010101010101013B
+:10556000010101010101010101010101010101012B
+:10557000010101010101010101010101010101011B
+:10558000010101010101010101010101010101010B
+:1055900001010101010101010101010101010101FB
+:1055A00001010101010101010101010101010101EB
+:1055B00001010101010101010101010101010101DB
+:1055C00001010101010101010101010101010101CB
+:1055D00001010101010101010101010101010101BB
+:1055E00001010101010101010101010101010101AB
+:1055F000010101010101010101010101010101019B
+:10560000010101010101010101010101010101018A
+:10561000010101010101010101010101010101017A
+:10562000010101010101010101010101010101016A
+:10563000010101010101010101010101010101015A
+:10564000010101010101010101010101010101014A
+:10565000010101010101010101010101010101013A
+:10566000010101010101010101010101010101012A
+:10567000010101010101010101010101010101011A
+:10568000010101010101010101010101010101010A
+:1056900001010101010101010101010101010101FA
+:1056A00001010101010101010101010101010101EA
+:1056B00001010101010101010101010101010101DA
+:1056C00001010101010101010101010101010101CA
+:1056D00001010101010101010101010101010101BA
+:1056E00001010101010101010101010101010101AA
+:1056F000020202020202020202020202020202028A
+:105700000202020202020202020202020202020279
+:105710000202020202020202020202020202020269
+:105720000202020202020202020202020202020259
+:105730000202020202020202020202020202020249
+:105740000202020202020202020202020202020239
+:105750000202020202020202020202020202020229
+:105760000202020202020202020202020202020219
+:105770000202020202020202020202020202020209
+:1057800002020202020202020202020202020202F9
+:1057900002020202020202020202020202020202E9
+:1057A00002020202020202020202020202020202D9
+:1057B00002020202020202020202020202020202C9
+:1057C00002020202020202020202020202020202B9
+:1057D00002020202020202020202020202020202A9
+:1057E0000202020202020202020202020202020299
+:1057F0000202020202020202020202020202020289
+:105800000202020202020202020202020202020278
+:105810000202020202020202020202020202020268
+:105820000202020202020202020202020202020258
+:105830000202020202020202020202020202020248
+:105840000202020202020202020202020202020238
+:105850000202020202020202020202020202020228
+:105860000202020202020202020202020202020218
+:105870000202020202020202020202020202020208
+:1058800002020202020202020202020202020202F8
+:1058900002020202020202020202020202020202E8
+:1058A00002020202020202020202020202020202D8
+:1058B00002020202020202020202020202020202C8
+:1058C00002020202020202020202020202020202B8
+:1058D00002020202020202020202020202020202A8
+:1058E0000202020202020202020202020202020298
+:1058F0000202020202020202020202020202020288
+:105900000202020202020202020202020202020277
+:105910000202020202020202020202020202020267
+:105920000202020202020202020202020202020257
+:105930000202020202020202020202020202020247
+:105940000202020202020202020202020202020237
+:105950000202020202020202020202020202020227
+:105960000202020202020202020202020202020217
+:105970000202020202020202020202020202020207
+:1059800002020202020202020202020202020202F7
+:1059900002020202020202020202020202020202E7
+:1059A00002020202020202020202020202020202D7
+:1059B00002020202020202020202020202020202C7
+:1059C00002020202020202020202020202020202B7
+:1059D00002020202020202020202020202020202A7
+:1059E0000202020202020202020202020202020297
+:1059F0000202020202020202020202020202020287
+:105A00000202020202020202020202020202020276
+:105A10000202020202020202020202020202020266
+:105A20000202020202020202020202020202020256
+:105A30000202020202020202020202020202020246
+:105A40000202020202020202020202020202020236
+:105A50000202020202020202020202020202020226
+:105A60000202020202020202020202020202020216
+:105A70000202020202020202020202020202020206
+:105A800002020202020202020202020202020202F6
+:105A900002020202020202020202020202020202E6
+:105AA00002020202020202020202020202020202D6
+:105AB00002020202020202020202020202020202C6
+:105AC00002020202020202020202020202020202B6
+:105AD00002020202020202020202020202020202A6
+:105AE0000202020202020202020202020202020296
+:105AF0000202020202020202020202020202020286
+:105B00000202020202020202020202020202020275
+:105B10000202020202020202020202020202020265
+:105B20000202020202020202020202020202020255
+:105B30000202020202020202020202020202020245
+:105B40000202020202020202020202020202020235
+:105B50000202020202020202020202020202020225
+:105B60000202020202020202020202020202020215
+:105B70000202020202020202020202020202020205
+:105B800002020202020202020202020202020202F5
+:105B900002020202020202020202020202020202E5
+:105BA00002020202020202020202020202020202D5
+:105BB00002020202020202020202020202020202C5
+:105BC00002020202020202020202020202020202B5
+:105BD00002020202020202020202020202020202A5
+:105BE0000202020202020202020202020202020295
+:105BF0000202020202020202020202020202020285
+:105C00000202020202020202020202020202020274
+:105C10000202020202020202020202020202020264
+:105C20000202020202020202020202020202020254
+:105C30000202020202020202020202020202020244
+:105C40000202020202020202020202020202020234
+:105C50000202020202020202020202020202020224
+:105C60000202020202020202020202020202020214
+:105C70000202020202020202020202020202020204
+:105C800002020202020202020202020202020202F4
+:105C900002020202020202020202020202020202E4
+:105CA00002020202020202020202020202020202D4
+:105CB00002020202020202020202020202020202C4
+:105CC00002020202020202020202020202020202B4
+:105CD00002020202020202020202020202020202A4
+:105CE0000202020202020202020202020202020294
+:105CF0000202020202020202020202020202020284
+:105D00000202020202020202020202020202020273
+:105D10000202020202020202020202020202020263
+:105D20000202020202020202020202020202020253
+:105D30000202020202020202020202020202020243
+:105D40000202020202020202020202020202020233
+:105D50000202020202020202020202020202020223
+:105D60000202020202020202020202020202020213
+:105D70000202020202020202020202020202020203
+:105D800002020202020202020202020202020202F3
+:105D900002020202020202020202020202020202E3
+:105DA00002020202020202020202020202020202D3
+:105DB00002020202020202020202020202020202C3
+:105DC00002020202020202020202020202020202B3
+:105DD00002020202020202020202020202020202A3
+:105DE0000202020202020202020202020202020293
+:105DF0000202020202020202020202020202020283
+:105E00000202020202020202020202020202020272
+:105E10000202020202020202020202020202020262
+:105E20000202020202020202020202020202020252
+:105E30000202020202020202020202020202020242
+:105E40000202020202020202020202020202020232
+:105E50000202020202020202020202020202020222
+:105E60000202020202020202020202020202020212
+:105E70000202020202020202020202020202020202
+:105E800002020202020202020202020202020202F2
+:105E900002020202020202020202020202020202E2
+:105EA00002020202020202020202020202020202D2
+:105EB00002020202020202020202020202020202C2
+:105EC00002020202020202020202020202020202B2
+:105ED00002020202020202020202020202020202A2
+:105EE0000202020202020202020202020202020292
+:105EF0000202020202020202020202020202020282
+:105F00000202020202020202020202020202020271
+:105F10000202020202020202020202020202020261
+:105F20000202020202020202020202020202020251
+:105F30000202020202020202020202020202020241
+:105F40000202020202020202020202020202020231
+:105F50000202020202020202020202020202020221
+:105F60000202020202020202020202020202020211
+:105F70000202020202020202020202020202020201
+:105F800002020202020202020202020202020202F1
+:105F900002020202020202020202020202020202E1
+:105FA00002020202020202020202020202020202D1
+:105FB00002020202020202020202020202020202C1
+:105FC00002020202020202020202020202020202B1
+:105FD00002020202020202020202020202020202A1
+:105FE0000202020202020202020202020202020291
+:105FF0000202020202020202020202020202020281
+:106000000202020202020202020202020202020270
+:106010000202020202020202020202020202020260
+:106020000202020202020202020202020202020250
+:106030000202020202020202020202020202020240
+:106040000202020202020202020202020202020230
+:106050000202020202020202020202020202020220
+:106060000202020202020202020202020202020210
+:106070000202020202020202020202020202020200
+:1060800002020202020202020202020202020202F0
+:1060900002020202020202020202020202020202E0
+:1060A00002020202020202020202020202020202D0
+:1060B00002020202020202020202020202020202C0
+:1060C00002020202020202020202020202020202B0
+:1060D00002020202020202020202020202020202A0
+:1060E0000202020202020202020202020202020290
+:1060F0000202020202020202020202020202020280
+:10610000020202020202020202020202020202026F
+:10611000020202020202020202020202020202025F
+:10612000020202020202020202020202020202024F
+:10613000020202020202020202020202020202023F
+:10614000020202020202020202020202020202022F
+:10615000020202020202020202020202020202021F
+:10616000020202020202020202020202020202020F
+:1061700002020202020202020202020202020202FF
+:1061800002020202020202020202020202020202EF
+:1061900002020202020202020202020202020202DF
+:1061A00002020202020202020202020202020202CF
+:1061B00002020202020202020202020202020202BF
+:1061C00002020202020202020202020202020202AF
+:1061D000020202020202020202020202020202029F
+:1061E000020202020202020202020202020202028F
+:1061F000020202020202020202020202020202027F
+:10620000020202020202020202020202020202026E
+:10621000020202020202020202020202020202025E
+:10622000020202020202020202020202020202024E
+:10623000020202020202020202020202020202023E
+:10624000020202020202020202020202020202022E
+:10625000020202020202020202020202020202021E
+:10626000020202020202020202020202020202020E
+:1062700002020202020202020202020202020202FE
+:1062800002020202020202020202020202020202EE
+:1062900002020202020202020202020202020202DE
+:1062A00002020202020202020202020202020202CE
+:1062B00002020202020202020202020202020202BE
+:1062C00002020202020202020202020202020202AE
+:1062D000020202020202020202020202020202029E
+:1062E000020202020202020202020202020202028E
+:1062F000020202020202020202020202020202027E
+:10630000020202020202020202020202020202026D
+:10631000020202020202020202020202020202025D
+:10632000020202020202020202020202020202024D
+:10633000020202020202020202020202020202023D
+:10634000020202020202020202020202020202022D
+:10635000020202020202020202020202020202021D
+:10636000020202020202020202020202020202020D
+:1063700002020202020202020202020202020202FD
+:1063800002020202020202020202020202020202ED
+:1063900002020202020202020202020202020202DD
+:1063A00002020202020202020202020202020202CD
+:1063B00002020202020202020202020202020202BD
+:1063C00002020202020202020202020202020202AD
+:1063D000020202020202020202020202020202029D
+:1063E000020202020202020202020202020202028D
+:1063F000020202020202020202020202020202027D
+:10640000020202020202020202020202020202026C
+:10641000020202020202020202020202020202025C
+:10642000020202020202020202020202020202024C
+:10643000020202020202020202020202020202023C
+:10644000020202020202020202020202020202022C
+:10645000020202020202020202020202020202021C
+:10646000020202020202020202020202020202020C
+:1064700002020202020202020202020202020202FC
+:1064800002020202020202020202020202020202EC
+:1064900002020202020202020202020202020202DC
+:1064A00002020202020202020202020202020202CC
+:1064B00002020202020202020202020202020202BC
+:1064C00002020202020202020202020202020202AC
+:1064D000020202020202020202020202020202029C
+:1064E000020202020202020202020202020202028C
+:1064F000020202020202020202020202020202027C
+:10650000020202020202020202020202020202026B
+:10651000020202020202020202020202020202025B
+:10652000020202020202020202020202020202024B
+:10653000020202020202020202020202020202023B
+:10654000020202020202020202020202020202022B
+:10655000020202020202020202020202020202021B
+:10656000020202020202020202020202020202020B
+:1065700002020202020202020202020202020202FB
+:1065800002020202020202020202020202020202EB
+:1065900002020202020202020202020202020202DB
+:1065A00002020202020202020202020202020202CB
+:1065B00002020202020202020202020202020202BB
+:1065C00002020202020202020202020202020202AB
+:1065D000020202020202020202020202020202029B
+:1065E000020202020202020202020202020202028B
+:1065F000020202020202020202020202020202027B
+:10660000020202020202020202020202020202026A
+:10661000020202020202020202020202020202025A
+:10662000020202020202020202020202020202024A
+:10663000020202020202020202020202020202023A
+:10664000020202020202020202020202020202022A
+:10665000020202020202020202020202020202021A
+:10666000020202020202020202020202020202020A
+:1066700002020202020202020202020202020202FA
+:1066800002020202020202020202020202020202EA
+:1066900002020202020202020202020202020202DA
+:1066A00002020202020202020202020202020202CA
+:1066B00002020202020202020202020202020202BA
+:1066C00002020202020202020202020202020202AA
+:1066D000020202020202020202020202020202029A
+:1066E000020202020202020202020202020202028A
+:1066F000020202020202020202020202020202027A
+:106700000202020202020202020202020202020269
+:106710000202020202020202020202020202020259
+:106720000202020202020202020202020202020249
+:106730000202020202020202020202020202020239
+:106740000202020202020202020202020202020229
+:106750000202020202020202020202020202020219
+:106760000202020202020202020202020202020209
+:1067700002020202020202020202020202020202F9
+:1067800002020202020202020202020202020202E9
+:1067900002020202020202020202020202020202D9
+:1067A00002020202020202020202020202020202C9
+:1067B00002020202020202020202020202020202B9
+:1067C00002020202020202020202020202020202A9
+:1067D0000202020202020202020202020202020299
+:1067E0000202020202020202020202020202020289
+:1067F0000202020202020202020202020202020279
+:106800000202020202020202020202020202020268
+:106810000202020202020202020202020202020258
+:106820000202020202020202020202020202020248
+:106830000202020202020202020202020202020238
+:106840000202020202020202020202020202020228
+:106850000202020202020202020202020202020218
+:106860000202020202020202020202020202020208
+:1068700002020202020202020202020202020202F8
+:1068800002020202020202020202020202020202E8
+:1068900002020202020202020202020202020202D8
+:1068A00002020202020202020202020202020202C8
+:1068B00002020202020202020202020202020202B8
+:1068C00002020202020202020202020202020202A8
+:1068D0000202020202020202020202020202020298
+:1068E0000202020202020202020202020202020288
+:1068F0000202020202020202020202020202020278
+:106900000202020202020202020202020202020267
+:106910000202020202020202020202020202020257
+:106920000202020202020202020202020202020247
+:106930000202020202020202020202020202020237
+:106940000202020202020202020202020202020227
+:106950000202020202020202020202020202020217
+:106960000202020202020202020202020202020207
+:1069700002020202020202020202020202020202F7
+:1069800002020202020202020202020202020202E7
+:1069900002020202020202020202020202020202D7
+:1069A00002020202020202020202020202020202C7
+:1069B00002020202020202020202020202020202B7
+:1069C00002020202020202020202020202020202A7
+:1069D0000202020202020202020202020202020297
+:1069E0000202020202020202020202020202020287
+:1069F0000202020202020202020202020202020277
+:106A00000202020202020202020202020202020266
+:106A10000202020202020202020202020202020256
+:106A20000202020202020202020202020202020246
+:106A30000202020202020202020202020202020236
+:106A40000202020202020202020202020202020226
+:106A50000202020202020202020202020202020216
+:106A60000202020202020202020202020202020206
+:106A700002020202020202020202020202020202F6
+:106A800002020202020202020202020202020202E6
+:106A900002020202020202020202020202020202D6
+:106AA00002020202020202020202020202020202C6
+:106AB00002020202020202020202020202020202B6
+:106AC00002020202020202020202020202020202A6
+:106AD0000202020202020202020202020202020296
+:106AE0000202020202020202020202020202020286
+:106AF0000202020202020202020202020202020276
+:106B00000202020202020202020202020202020265
+:106B10000202020202020202020202020202020255
+:106B20000202020202020202020202020202020245
+:106B30000202020202020202020202020202020235
+:106B40000202020202020202020202020202020225
+:106B50000202020202020202020202020202020215
+:106B60000202020202020202020202020202020205
+:106B700002020202020202020202020202020202F5
+:106B800002020202020202020202020202020202E5
+:106B900002020202020202020202020202020202D5
+:106BA00002020202020202020202020202020202C5
+:106BB00002020202020202020202020202020202B5
+:106BC00002020202020202020202020202020202A5
+:106BD0000202020202020202020202020202020295
+:106BE0000202020202020202020202020202020285
+:106BF0000202020202020202020202020202020275
+:106C00000202020202020202020202020202020264
+:106C10000202020202020202020202020202020254
+:106C20000202020202020202020202020202020244
+:106C30000202020202020202020202020202020234
+:106C40000202020202020202020202020202020224
+:106C50000202020202020202020202020202020214
+:106C60000202020202020202020202020202020204
+:106C700002020202020202020202020202020202F4
+:106C800002020202020202020202020202020202E4
+:106C900002020202020202020202020202020202D4
+:106CA00002020202020202020202020202020202C4
+:106CB00002020202020202020202020202020202B4
+:106CC00002020202020202020202020202020202A4
+:106CD0000202020202020202020202020202020294
+:106CE0000202020202020202020202020202020284
+:106CF0000202020202020202020202020202020274
+:106D00000202020202020202020202020202020263
+:106D10000202020202020202020202020202020253
+:106D20000202020202020202020202020202020243
+:106D30000202020202020202020202020202020233
+:106D40000202020202020202020202020202020223
+:106D50000202020202020202020202020202020213
+:106D60000202020202020202020202020202020203
+:106D700002020202020202020202020202020202F3
+:106D800002020202020202020202020202020202E3
+:106D900002020202020202020202020202020202D3
+:106DA00002020202020202020202020202020202C3
+:106DB00002020202020202020202020202020202B3
+:106DC00002020202020202020202020202020202A3
+:106DD0000202020202020202020202020202020293
+:106DE0000202020202020202020202020202020283
+:106DF0000202020202020202020202020202020273
+:106E00000202020202020202020202020202020262
+:106E10000202020202020202020202020202020252
+:106E20000202020202020202020202020202020242
+:106E30000202020202020202020202020202020232
+:106E40000202020202020202020202020202020222
+:106E50000202020202020202020202020202020212
+:106E60000202020202020202020202020202020202
+:106E700002020202020202020202020202020202F2
+:106E800002020202020202020202020202020202E2
+:106E900002020202020202020202020202020202D2
+:106EA00002020202020202020202020202020202C2
+:106EB00002020202020202020202020202020202B2
+:106EC00002020202020202020202020202020202A2
+:106ED0000202020202020202020202020202020292
+:106EE0000202020202020202020202020202020282
+:106EF0000000000000000000000000000000000092
+:106F00000000000000000000000000000000000081
+:106F10000000000000000000000000000000000071
+:106F20000000000000000000000000000000000061
+:106F30000000000000000000000000000000000051
+:106F40000000000000000000000000000000000041
+:106F50000000000000000000000000000000000031
+:106F60000000000000000000000000000000000021
+:106F70000000000000000000000000000000000011
+:106F80000000000000000000000000000000000001
+:106F900000000000000000000000000000000000F1
+:106FA00000000000000000000000000000000000E1
+:106FB00000000000000000000000000000000000D1
+:106FC00000000000000000000000000000000000C1
+:106FD00000000000000000000000000000000000B1
+:106FE00000000000000000000000000000000000A1
+:106FF0006D0000000000000001010101010101011C
+:107000000101010101010101010101010101010170
+:107010000101010101010101010101010101010160
+:107020000101010101010101010101010101010150
+:107030000101010101010101010101010101010140
+:107040000101010101010101010101010101010130
+:107050000101010101010101010101010101010120
+:107060000101010101010101010101010101010110
+:107070000101010101010101010101010101010100
+:1070800001010101010101010101010101010101F0
+:1070900001010101010101010101010101010101E0
+:1070A00001010101010101010101010101010101D0
+:1070B00001010101010101010101010101010101C0
+:1070C00001010101010101010101010101010101B0
+:1070D00001010101010101010101010101010101A0
+:1070E0000101010101010101010101010101010190
+:1070F0000101010101010101010101010101010180
+:10710000010101010101010101010101010101016F
+:10711000010101010101010101010101010101015F
+:10712000010101010101010101010101010101014F
+:10713000010101010101010101010101010101013F
+:10714000010101010101010101010101010101012F
+:10715000010101010101010101010101010101011F
+:10716000010101010101010101010101010101010F
+:1071700001010101010101010101010101010101FF
+:1071800001010101010101010101010101010101EF
+:1071900001010101010101010101010101010101DF
+:1071A00001010101010101010101010101010101CF
+:1071B00001010101010101010101010101010101BF
+:1071C00001010101010101010101010101010101AF
+:1071D000010101010101010101010101010101019F
+:1071E000010101010101010101010101010101018F
+:1071F000010101010101010101010101010101017F
+:10720000010101010101010101010101010101016E
+:10721000010101010101010101010101010101015E
+:10722000010101010101010101010101010101014E
+:10723000010101010101010101010101010101013E
+:10724000010101010101010101010101010101012E
+:10725000010101010101010101010101010101011E
+:10726000010101010101010101010101010101010E
+:1072700001010101010101010101010101010101FE
+:1072800001010101010101010101010101010101EE
+:1072900001010101010101010101010101010101DE
+:1072A00001010101010101010101010101010101CE
+:1072B00001010101010101010101010101010101BE
+:1072C00001010101010101010101010101010101AE
+:1072D000010101010101010101010101010101019E
+:1072E000010101010101010101010101010101018E
+:1072F000010101010101010101010101010101017E
+:10730000010101010101010101010101010101016D
+:10731000010101010101010101010101010101015D
+:10732000010101010101010101010101010101014D
+:10733000010101010101010101010101010101013D
+:10734000010101010101010101010101010101012D
+:10735000010101010101010101010101010101011D
+:10736000010101010101010101010101010101010D
+:1073700001010101010101010101010101010101FD
+:1073800001010101010101010101010101010101ED
+:1073900001010101010101010101010101010101DD
+:1073A00001010101010101010101010101010101CD
+:1073B00001010101010101010101010101010101BD
+:1073C00001010101010101010101010101010101AD
+:1073D000010101010101010101010101010101019D
+:1073E000010101010101010101010101010101018D
+:1073F000010101010101010101010101010101017D
+:10740000010101010101010101010101010101016C
+:10741000010101010101010101010101010101015C
+:10742000010101010101010101010101010101014C
+:10743000010101010101010101010101010101013C
+:10744000010101010101010101010101010101012C
+:10745000010101010101010101010101010101011C
+:10746000010101010101010101010101010101010C
+:1074700001010101010101010101010101010101FC
+:1074800001010101010101010101010101010101EC
+:1074900001010101010101010101010101010101DC
+:1074A00001010101010101010101010101010101CC
+:1074B00001010101010101010101010101010101BC
+:1074C00001010101010101010101010101010101AC
+:1074D000010101010101010101010101010101019C
+:1074E000010101010101010101010101010101018C
+:1074F000010101010101010101010101010101017C
+:10750000010101010101010101010101010101016B
+:10751000010101010101010101010101010101015B
+:10752000010101010101010101010101010101014B
+:10753000010101010101010101010101010101013B
+:10754000010101010101010101010101010101012B
+:10755000010101010101010101010101010101011B
+:10756000010101010101010101010101010101010B
+:1075700001010101010101010101010101010101FB
+:1075800001010101010101010101010101010101EB
+:1075900001010101010101010101010101010101DB
+:1075A00001010101010101010101010101010101CB
+:1075B00001010101010101010101010101010101BB
+:1075C00001010101010101010101010101010101AB
+:1075D000010101010101010101010101010101019B
+:1075E000010101010101010101010101010101018B
+:1075F000010101010101010101010101010101017B
+:10760000010101010101010101010101010101016A
+:10761000010101010101010101010101010101015A
+:10762000010101010101010101010101010101014A
+:10763000010101010101010101010101010101013A
+:10764000010101010101010101010101010101012A
+:10765000010101010101010101010101010101011A
+:10766000010101010101010101010101010101010A
+:1076700001010101010101010101010101010101FA
+:1076800001010101010101010101010101010101EA
+:1076900001010101010101010101010101010101DA
+:1076A00001010101010101010101010101010101CA
+:1076B00001010101010101010101010101010101BA
+:1076C00001010101010101010101010101010101AA
+:1076D000010101010101010101010101010101019A
+:1076E000010101010101010101010101010101018A
+:1076F000010101010101010101010101010101017A
+:107700000101010101010101010101010101010169
+:107710000101010101010101010101010101010159
+:107720000101010101010101010101010101010149
+:107730000101010101010101010101010101010139
+:107740000101010101010101010101010101010129
+:107750000101010101010101010101010101010119
+:107760000101010101010101010101010101010109
+:1077700001010101010101010101010101010101F9
+:1077800001010101010101010101010101010101E9
+:1077900001010101010101010101010101010101D9
+:1077A00001010101010101010101010101010101C9
+:1077B00001010101010101010101010101010101B9
+:1077C00001010101010101010101010101010101A9
+:1077D0000101010101010101010101010101010199
+:1077E0000101010101010101010101010101010189
+:1077F0000101010101010101010101010101010179
+:107800000101010101010101010101010101010168
+:107810000101010101010101010101010101010158
+:107820000101010101010101010101010101010148
+:107830000101010101010101010101010101010138
+:107840000101010101010101010101010101010128
+:107850000101010101010101010101010101010118
+:107860000101010101010101010101010101010108
+:1078700001010101010101010101010101010101F8
+:1078800001010101010101010101010101010101E8
+:1078900001010101010101010101010101010101D8
+:1078A00001010101010101010101010101010101C8
+:1078B00001010101010101010101010101010101B8
+:1078C00001010101010101010101010101010101A8
+:1078D0000101010101010101010101010101010198
+:1078E0000101010101010101010101010101010188
+:1078F0000101010101010101010101010101010178
+:107900000101010101010101010101010101010167
+:107910000101010101010101010101010101010157
+:107920000101010101010101010101010101010147
+:107930000101010101010101010101010101010137
+:107940000101010101010101010101010101010127
+:107950000101010101010101010101010101010117
+:107960000101010101010101010101010101010107
+:1079700001010101010101010101010101010101F7
+:1079800001010101010101010101010101010101E7
+:1079900001010101010101010101010101010101D7
+:1079A00001010101010101010101010101010101C7
+:1079B00001010101010101010101010101010101B7
+:1079C00001010101010101010101010101010101A7
+:1079D0000101010101010101010101010101010197
+:1079E0000101010101010101010101010101010187
+:1079F0000101010101010101010101010101010177
+:107A00000101010101010101010101010101010166
+:107A10000101010101010101010101010101010156
+:107A20000101010101010101010101010101010146
+:107A30000101010101010101010101010101010136
+:107A40000101010101010101010101010101010126
+:107A50000101010101010101010101010101010116
+:107A60000101010101010101010101010101010106
+:107A700001010101010101010101010101010101F6
+:107A800001010101010101010101010101010101E6
+:107A900001010101010101010101010101010101D6
+:107AA00001010101010101010101010101010101C6
+:107AB00001010101010101010101010101010101B6
+:107AC00001010101010101010101010101010101A6
+:107AD0000101010101010101010101010101010196
+:107AE0000101010101010101010101010101010186
+:107AF0000101010101010101010101010101010176
+:107B00000101010101010101010101010101010165
+:107B10000101010101010101010101010101010155
+:107B20000101010101010101010101010101010145
+:107B30000101010101010101010101010101010135
+:107B40000101010101010101010101010101010125
+:107B50000101010101010101010101010101010115
+:107B60000101010101010101010101010101010105
+:107B700001010101010101010101010101010101F5
+:107B800001010101010101010101010101010101E5
+:107B900001010101010101010101010101010101D5
+:107BA00001010101010101010101010101010101C5
+:107BB00001010101010101010101010101010101B5
+:107BC00001010101010101010101010101010101A5
+:107BD0000101010101010101010101010101010195
+:107BE0000101010101010101010101010101010185
+:107BF0000101010101010101010101010101010175
+:107C00000101010101010101010101010101010164
+:107C10000101010101010101010101010101010154
+:107C20000101010101010101010101010101010144
+:107C30000101010101010101010101010101010134
+:107C40000101010101010101010101010101010124
+:107C50000101010101010101010101010101010114
+:107C60000101010101010101010101010101010104
+:107C700001010101010101010101010101010101F4
+:107C800001010101010101010101010101010101E4
+:107C900001010101010101010101010101010101D4
+:107CA00001010101010101010101010101010101C4
+:107CB00001010101010101010101010101010101B4
+:107CC00001010101010101010101010101010101A4
+:107CD0000101010101010101010101010101010194
+:107CE0000101010101010101010101010101010184
+:107CF0000101010101010101010101010101010174
+:107D00000101010101010101010101010101010163
+:107D10000101010101010101010101010101010153
+:107D20000101010101010101010101010101010143
+:107D30000101010101010101010101010101010133
+:107D40000101010101010101010101010101010123
+:107D50000101010101010101010101010101010113
+:107D60000101010101010101010101010101010103
+:107D700001010101010101010101010101010101F3
+:107D800001010101010101010101010101010101E3
+:107D900001010101010101010101010101010101D3
+:107DA00001010101010101010101010101010101C3
+:107DB00001010101010101010101010101010101B3
+:107DC00001010101010101010101010101010101A3
+:107DD0000101010101010101010101010101010193
+:107DE0000101010101010101010101010101010183
+:107DF0000101010101010101010101010101010173
+:107E00000101010101010101010101010101010162
+:107E10000101010101010101010101010101010152
+:107E20000101010101010101010101010101010142
+:107E30000101010101010101010101010101010132
+:107E40000101010101010101010101010101010122
+:107E50000101010101010101010101010101010112
+:107E60000101010101010101010101010101010102
+:107E700001010101010101010101010101010101F2
+:107E800001010101010101010101010101010101E2
+:107E900001010101010101010101010101010101D2
+:107EA00001010101010101010101010101010101C2
+:107EB00001010101010101010101010101010101B2
+:107EC00001010101010101010101010101010101A2
+:107ED0000101010101010101010101010101010192
+:107EE0000101010101010101010101010101010182
+:107EF0000101010101010101010101010101010172
+:107F00000101010101010101010101010101010161
+:107F10000101010101010101010101010101010151
+:107F20000101010101010101010101010101010141
+:107F30000101010101010101010101010101010131
+:107F40000101010101010101010101010101010121
+:107F50000101010101010101010101010101010111
+:107F60000101010101010101010101010101010101
+:107F700001010101010101010101010101010101F1
+:107F800001010101010101010101010101010101E1
+:107F900001010101010101010101010101010101D1
+:107FA00001010101010101010101010101010101C1
+:107FB00001010101010101010101010101010101B1
+:107FC00001010101010101010101010101010101A1
+:107FD0000101010101010101010101010101010191
+:107FE0000101010101010101010101010101010181
+:107FF0000101010101010101010101010101010171
+:108000000101010101010101010101010101010160
+:108010000101010101010101010101010101010150
+:108020000101010101010101010101010101010140
+:108030000101010101010101010101010101010130
+:108040000101010101010101010101010101010120
+:108050000101010101010101010101010101010110
+:108060000101010101010101010101010101010100
+:1080700001010101010101010101010101010101F0
+:1080800001010101010101010101010101010101E0
+:1080900001010101010101010101010101010101D0
+:1080A00001010101010101010101010101010101C0
+:1080B00001010101010101010101010101010101B0
+:1080C00001010101010101010101010101010101A0
+:1080D0000101010101010101010101010101010190
+:1080E0000101010101010101010101010101010180
+:1080F0000101010101010101010101010101010170
+:10810000010101010101010101010101010101015F
+:10811000010101010101010101010101010101014F
+:10812000010101010101010101010101010101013F
+:10813000010101010101010101010101010101012F
+:10814000010101010101010101010101010101011F
+:10815000010101010101010101010101010101010F
+:1081600001010101010101010101010101010101FF
+:1081700001010101010101010101010101010101EF
+:1081800001010101010101010101010101010101DF
+:1081900001010101010101010101010101010101CF
+:1081A00001010101010101010101010101010101BF
+:1081B00001010101010101010101010101010101AF
+:1081C000010101010101010101010101010101019F
+:1081D000010101010101010101010101010101018F
+:1081E000010101010101010101010101010101017F
+:1081F000010101010101010101010101010101016F
+:10820000010101010101010101010101010101015E
+:10821000010101010101010101010101010101014E
+:10822000010101010101010101010101010101013E
+:10823000010101010101010101010101010101012E
+:10824000010101010101010101010101010101011E
+:10825000010101010101010101010101010101010E
+:1082600001010101010101010101010101010101FE
+:1082700001010101010101010101010101010101EE
+:1082800001010101010101010101010101010101DE
+:1082900001010101010101010101010101010101CE
+:1082A00001010101010101010101010101010101BE
+:1082B00001010101010101010101010101010101AE
+:1082C000010101010101010101010101010101019E
+:1082D000010101010101010101010101010101018E
+:1082E000010101010101010101010101010101017E
+:1082F000010101010101010101010101010101016E
+:10830000010101010101010101010101010101015D
+:10831000010101010101010101010101010101014D
+:10832000010101010101010101010101010101013D
+:10833000010101010101010101010101010101012D
+:10834000010101010101010101010101010101011D
+:10835000010101010101010101010101010101010D
+:1083600001010101010101010101010101010101FD
+:1083700001010101010101010101010101010101ED
+:1083800001010101010101010101010101010101DD
+:1083900001010101010101010101010101010101CD
+:1083A00001010101010101010101010101010101BD
+:1083B00001010101010101010101010101010101AD
+:1083C000010101010101010101010101010101019D
+:1083D000010101010101010101010101010101018D
+:1083E000010101010101010101010101010101017D
+:1083F000010101010101010101010101010101016D
+:10840000010101010101010101010101010101015C
+:10841000010101010101010101010101010101014C
+:10842000010101010101010101010101010101013C
+:10843000010101010101010101010101010101012C
+:10844000010101010101010101010101010101011C
+:10845000010101010101010101010101010101010C
+:1084600001010101010101010101010101010101FC
+:1084700001010101010101010101010101010101EC
+:1084800001010101010101010101010101010101DC
+:1084900001010101010101010101010101010101CC
+:1084A00001010101010101010101010101010101BC
+:1084B00001010101010101010101010101010101AC
+:1084C000010101010101010101010101010101019C
+:1084D000010101010101010101010101010101018C
+:1084E000010101010101010101010101010101017C
+:1084F000010101010101010101010101010101016C
+:10850000010101010101010101010101010101015B
+:10851000010101010101010101010101010101014B
+:10852000010101010101010101010101010101013B
+:10853000010101010101010101010101010101012B
+:10854000010101010101010101010101010101011B
+:10855000010101010101010101010101010101010B
+:1085600001010101010101010101010101010101FB
+:1085700001010101010101010101010101010101EB
+:1085800001010101010101010101010101010101DB
+:1085900001010101010101010101010101010101CB
+:1085A00001010101010101010101010101010101BB
+:1085B00001010101010101010101010101010101AB
+:1085C000010101010101010101010101010101019B
+:1085D000010101010101010101010101010101018B
+:1085E000010101010101010101010101010101017B
+:1085F0000101010101010101000000000000000073
+:10860000000000000000000000000000000000006A
+:10861000000000000000000000000000000000005A
+:10862000000000000000000000000000000000004A
+:10863000000000000000000000000000000000003A
+:10864000000000000000000000000000000000002A
+:10865000000000000000000000000000000000001A
+:10866000000000000000000000000000000000000A
+:1086700000000000000000000000000000000000FA
+:1086800000000000000000000000000000000000EA
+:1086900000000000000000000000000000000000DA
+:1086A00000000000000000000000000000000000CA
+:1086B00000000000000000000000000000000000BA
+:1086C00000000000000000000000000000000000AA
+:1086D000000000000000000000000000000000009A
+:1086E000000000000000000000000000000000008A
+:1086F000000000000000000000000000000000007A
+:108700000000000000000000000000000000000069
+:108710000000000000000000000000000000000059
+:108720000000000000000000000000000000000049
+:108730000000000000000000000000000000000039
+:108740000000000000000000000000000000000029
+:108750000000000000000000000000000000000019
+:108760000000000000000000000000000000000009
+:1087700000000000000000000000000000000000F9
+:1087800000000000000000000000000000000000E9
+:1087900000000000000000000000000000000000D9
+:1087A00000000000000000000000000000000000C9
+:1087B00000000000000000000000000000000000B9
+:1087C00000000000000000000000000000000000A9
+:1087D0000000000000000000000000000000000099
+:1087E0000000000000000000000000000000000089
+:1087F0000000000000000000000000000000000079
+:108800000000000000000000000000000000000068
+:108810000000000000000000000000000000000058
+:108820000000000000000000000000000000000048
+:108830000000000000000000000000000000000038
+:108840000000000000000000000000000000000028
+:108850000000000000000000000000000000000018
+:108860000000000000000000000000000000000008
+:1088700000000000000000000000000000000000F8
+:1088800000000000000000000000000000000000E8
+:1088900000000000000000000000000000000000D8
+:1088A00000000000000000000000000000000000C8
+:1088B00000000000000000000000000000000000B8
+:1088C00000000000000000000000000000000000A8
+:1088D0000000000000000000000000000000000098
+:1088E0000000000000000000000000000000000088
+:1088F0000000000000000000000000000000000078
+:108900000000000000000000000000000000000067
+:108910000000000000000000000000000000000057
+:108920000000000000000000000000000000000047
+:108930000000000000000000000000000000000037
+:108940000000000000000000000000000000000027
+:108950000000000000000000000000000000000017
+:108960000000000000000000000000000000000007
+:1089700000000000000000000000000000000000F7
+:1089800000000000000000000000000000000000E7
+:1089900000000000000000000000000000000000D7
+:1089A00000000000000000000000000000000000C7
+:1089B00000000000000000000000000000000000B7
+:1089C00000000000000000000000000000000000A7
+:1089D0000000000000000000000000000000000097
+:1089E0000000000000000000000000000000000087
+:1089F000000000000000000001010101010101016F
+:108A00000101010101010101010101010101010156
+:108A10000101010101010101010101010101010146
+:108A20000101010101010101010101010101010136
+:108A30000101010101010101010101010101010126
+:108A40000101010101010101010101010101010116
+:108A50000101010101010101010101010101010106
+:108A600001010101010101010101010101010101F6
+:108A700001010101010101010101010101010101E6
+:108A800001010101010101010101010101010101D6
+:108A900001010101010101010101010101010101C6
+:108AA00001010101010101010101010101010101B6
+:108AB00001010101010101010101010101010101A6
+:108AC0000101010101010101010101010101010196
+:108AD0000101010101010101010101010101010186
+:108AE0000101010101010101010101010101010176
+:108AF0000101010101010101010101010101010166
+:108B00000101010101010101010101010101010155
+:108B10000101010101010101010101010101010145
+:108B20000101010101010101010101010101010135
+:108B30000101010101010101010101010101010125
+:108B40000101010101010101010101010101010115
+:108B50000101010101010101010101010101010105
+:108B600001010101010101010101010101010101F5
+:108B700001010101010101010101010101010101E5
+:108B800001010101010101010101010101010101D5
+:108B900001010101010101010101010101010101C5
+:108BA00001010101010101010101010101010101B5
+:108BB00001010101010101010101010101010101A5
+:108BC0000101010101010101010101010101010195
+:108BD0000101010101010101010101010101010185
+:108BE0000101010101010101010101010101010175
+:108BF000010101010101010102020202020202025D
+:108C00000202020202020202020202020202020244
+:108C10000202020202020202020202020202020234
+:108C20000202020202020202020202020202020224
+:108C30000202020202020202020202020202020214
+:108C40000202020202020202020202020202020204
+:108C500002020202020202020202020202020202F4
+:108C600002020202020202020202020202020202E4
+:108C700002020202020202020202020202020202D4
+:108C800002020202020202020202020202020202C4
+:108C900002020202020202020202020202020202B4
+:108CA00002020202020202020202020202020202A4
+:108CB0000202020202020202020202020202020294
+:108CC0000202020202020202020202020202020284
+:108CD0000202020202020202020202020202020274
+:108CE0000202020202020202020202020202020264
+:108CF0000202020202020202020202020202020254
+:108D00000202020202020202020202020202020243
+:108D10000202020202020202020202020202020233
+:108D20000202020202020202020202020202020223
+:108D30000202020202020202020202020202020213
+:108D40000202020202020202020202020202020203
+:108D500002020202020202020202020202020202F3
+:108D600002020202020202020202020202020202E3
+:108D700002020202020202020202020202020202D3
+:108D800002020202020202020202020202020202C3
+:108D900002020202020202020202020202020202B3
+:108DA00002020202020202020202020202020202A3
+:108DB0000202020202020202020202020202020293
+:108DC0000202020202020202020202020202020283
+:108DD0000202020202020202020202020202020273
+:108DE0000202020202020202020202020202020263
+:108DF0000202020202020202020202020202020253
+:108E00000202020202020202020202020202020242
+:108E10000202020202020202020202020202020232
+:108E20000202020202020202020202020202020222
+:108E30000202020202020202020202020202020212
+:108E40000202020202020202020202020202020202
+:108E500002020202020202020202020202020202F2
+:108E600002020202020202020202020202020202E2
+:108E700002020202020202020202020202020202D2
+:108E800002020202020202020202020202020202C2
+:108E900002020202020202020202020202020202B2
+:108EA00002020202020202020202020202020202A2
+:108EB0000202020202020202020202020202020292
+:108EC0000202020202020202020202020202020282
+:108ED0000202020202020202020202020202020272
+:108EE0000202020202020202020202020202020262
+:108EF0000202020202020202020202020202020252
+:108F00000202020202020202020202020202020241
+:108F10000202020202020202020202020202020231
+:108F20000202020202020202020202020202020221
+:108F30000202020202020202020202020202020211
+:108F40000202020202020202020202020202020201
+:108F500002020202020202020202020202020202F1
+:108F600002020202020202020202020202020202E1
+:108F700002020202020202020202020202020202D1
+:108F800002020202020202020202020202020202C1
+:108F900002020202020202020202020202020202B1
+:108FA00002020202020202020202020202020202A1
+:108FB0000202020202020202020202020202020291
+:108FC0000202020202020202020202020202020281
+:108FD0000202020202020202020202020202020271
+:108FE0000202020202020202020202020202020261
+:108FF0000202020202020202020202020202020251
+:109000000202020202020202020202020202020240
+:109010000202020202020202020202020202020230
+:109020000202020202020202020202020202020220
+:109030000202020202020202020202020202020210
+:109040000202020202020202020202020202020200
+:1090500002020202020202020202020202020202F0
+:1090600002020202020202020202020202020202E0
+:1090700002020202020202020202020202020202D0
+:1090800002020202020202020202020202020202C0
+:1090900002020202020202020202020202020202B0
+:1090A00002020202020202020202020202020202A0
+:1090B0000202020202020202020202020202020290
+:1090C0000202020202020202020202020202020280
+:1090D0000202020202020202020202020202020270
+:1090E0000202020202020202020202020202020260
+:1090F0000202020202020202020202020202020250
+:10910000020202020202020202020202020202023F
+:10911000020202020202020202020202020202022F
+:10912000020202020202020202020202020202021F
+:10913000020202020202020202020202020202020F
+:1091400002020202020202020202020202020202FF
+:1091500002020202020202020202020202020202EF
+:1091600002020202020202020202020202020202DF
+:1091700002020202020202020202020202020202CF
+:1091800002020202020202020202020202020202BF
+:1091900002020202020202020202020202020202AF
+:1091A000020202020202020202020202020202029F
+:1091B000020202020202020202020202020202028F
+:1091C000020202020202020202020202020202027F
+:1091D000020202020202020202020202020202026F
+:1091E000020202020202020202020202020202025F
+:1091F000020202020202020202020202020202024F
+:10920000020202020202020202020202020202023E
+:10921000020202020202020202020202020202022E
+:10922000020202020202020202020202020202021E
+:10923000020202020202020202020202020202020E
+:1092400002020202020202020202020202020202FE
+:1092500002020202020202020202020202020202EE
+:1092600002020202020202020202020202020202DE
+:1092700002020202020202020202020202020202CE
+:1092800002020202020202020202020202020202BE
+:1092900002020202020202020202020202020202AE
+:1092A000020202020202020202020202020202029E
+:1092B000020202020202020202020202020202028E
+:1092C000020202020202020202020202020202027E
+:1092D000020202020202020202020202020202026E
+:1092E000020202020202020202020202020202025E
+:1092F000020202020202020202020202020202024E
+:10930000020202020202020202020202020202023D
+:10931000020202020202020202020202020202022D
+:10932000020202020202020202020202020202021D
+:10933000020202020202020202020202020202020D
+:1093400002020202020202020202020202020202FD
+:1093500002020202020202020202020202020202ED
+:1093600002020202020202020202020202020202DD
+:1093700002020202020202020202020202020202CD
+:1093800002020202020202020202020202020202BD
+:1093900002020202020202020202020202020202AD
+:1093A000020202020202020202020202020202029D
+:1093B000020202020202020202020202020202028D
+:1093C000020202020202020202020202020202027D
+:1093D000020202020202020202020202020202026D
+:1093E000020202020202020202020202020202025D
+:1093F000020202020202020202020202020202024D
+:10940000020202020202020202020202020202023C
+:10941000020202020202020202020202020202022C
+:10942000020202020202020202020202020202021C
+:10943000020202020202020202020202020202020C
+:1094400002020202020202020202020202020202FC
+:1094500002020202020202020202020202020202EC
+:1094600002020202020202020202020202020202DC
+:1094700002020202020202020202020202020202CC
+:1094800002020202020202020202020202020202BC
+:1094900002020202020202020202020202020202AC
+:1094A000020202020202020202020202020202029C
+:1094B000020202020202020202020202020202028C
+:1094C000020202020202020202020202020202027C
+:1094D000020202020202020202020202020202026C
+:1094E000020202020202020202020202020202025C
+:1094F000020202020202020202020202020202024C
+:10950000020202020202020202020202020202023B
+:10951000020202020202020202020202020202022B
+:10952000020202020202020202020202020202021B
+:10953000020202020202020202020202020202020B
+:1095400002020202020202020202020202020202FB
+:1095500002020202020202020202020202020202EB
+:1095600002020202020202020202020202020202DB
+:1095700002020202020202020202020202020202CB
+:1095800002020202020202020202020202020202BB
+:1095900002020202020202020202020202020202AB
+:1095A000020202020202020202020202020202029B
+:1095B000020202020202020202020202020202028B
+:1095C000020202020202020202020202020202027B
+:1095D000020202020202020202020202020202026B
+:1095E000020202020202020202020202020202025B
+:1095F000020202020202020202020202020202024B
+:10960000020202020202020202020202020202023A
+:10961000020202020202020202020202020202022A
+:10962000020202020202020202020202020202021A
+:10963000020202020202020202020202020202020A
+:1096400002020202020202020202020202020202FA
+:1096500002020202020202020202020202020202EA
+:1096600002020202020202020202020202020202DA
+:1096700002020202020202020202020202020202CA
+:1096800002020202020202020202020202020202BA
+:1096900002020202020202020202020202020202AA
+:1096A000020202020202020202020202020202029A
+:1096B000020202020202020202020202020202028A
+:1096C000020202020202020202020202020202027A
+:1096D000020202020202020202020202020202026A
+:1096E000020202020202020202020202020202025A
+:1096F000020202020202020202020202020202024A
+:109700000202020202020202020202020202020239
+:109710000202020202020202020202020202020229
+:109720000202020202020202020202020202020219
+:109730000202020202020202020202020202020209
+:1097400002020202020202020202020202020202F9
+:1097500002020202020202020202020202020202E9
+:1097600002020202020202020202020202020202D9
+:1097700002020202020202020202020202020202C9
+:1097800002020202020202020202020202020202B9
+:1097900002020202020202020202020202020202A9
+:1097A0000202020202020202020202020202020299
+:1097B0000202020202020202020202020202020289
+:1097C0000202020202020202020202020202020279
+:1097D0000202020202020202020202020202020269
+:1097E0000202020202020202020202020202020259
+:1097F0000202020202020202020202020202020249
+:109800000202020202020202020202020202020238
+:109810000202020202020202020202020202020228
+:109820000202020202020202020202020202020218
+:109830000202020202020202020202020202020208
+:1098400002020202020202020202020202020202F8
+:1098500002020202020202020202020202020202E8
+:1098600002020202020202020202020202020202D8
+:1098700002020202020202020202020202020202C8
+:1098800002020202020202020202020202020202B8
+:1098900002020202020202020202020202020202A8
+:1098A0000202020202020202020202020202020298
+:1098B0000202020202020202020202020202020288
+:1098C0000202020202020202020202020202020278
+:1098D0000202020202020202020202020202020268
+:1098E0000202020202020202020202020202020258
+:1098F0000202020202020202020202020202020248
+:109900000202020202020202020202020202020237
+:109910000202020202020202020202020202020227
+:109920000202020202020202020202020202020217
+:109930000202020202020202020202020202020207
+:1099400002020202020202020202020202020202F7
+:1099500002020202020202020202020202020202E7
+:1099600002020202020202020202020202020202D7
+:1099700002020202020202020202020202020202C7
+:1099800002020202020202020202020202020202B7
+:1099900002020202020202020202020202020202A7
+:1099A0000202020202020202020202020202020297
+:1099B0000202020202020202020202020202020287
+:1099C0000202020202020202020202020202020277
+:1099D0000202020202020202020202020202020267
+:1099E0000202020202020202020202020202020257
+:1099F0000202020202020202020202020202020247
+:109A00000202020202020202020202020202020236
+:109A10000202020202020202020202020202020226
+:109A20000202020202020202020202020202020216
+:109A30000202020202020202020202020202020206
+:109A400002020202020202020202020202020202F6
+:109A500002020202020202020202020202020202E6
+:109A600002020202020202020202020202020202D6
+:109A700002020202020202020202020202020202C6
+:109A800002020202020202020202020202020202B6
+:109A900002020202020202020202020202020202A6
+:109AA0000202020202020202020202020202020296
+:109AB0000202020202020202020202020202020286
+:109AC0000202020202020202020202020202020276
+:109AD0000202020202020202020202020202020266
+:109AE0000202020202020202020202020202020256
+:109AF0000202020202020202020202020202020246
+:109B00000202020202020202020202020202020235
+:109B10000202020202020202020202020202020225
+:109B20000202020202020202020202020202020215
+:109B30000202020202020202020202020202020205
+:109B400002020202020202020202020202020202F5
+:109B500002020202020202020202020202020202E5
+:109B600002020202020202020202020202020202D5
+:109B700002020202020202020202020202020202C5
+:109B800002020202020202020202020202020202B5
+:109B900002020202020202020202020202020202A5
+:109BA0000202020202020202020202020202020295
+:109BB0000202020202020202020202020202020285
+:109BC0000202020202020202020202020202020275
+:109BD0000202020202020202020202020202020265
+:109BE0000202020202020202020202020202020255
+:109BF0000202020202020202020202020202020245
+:109C00000202020202020202020202020202020234
+:109C10000202020202020202020202020202020224
+:109C20000202020202020202020202020202020214
+:109C30000202020202020202020202020202020204
+:109C400002020202020202020202020202020202F4
+:109C500002020202020202020202020202020202E4
+:109C600002020202020202020202020202020202D4
+:109C700002020202020202020202020202020202C4
+:109C800002020202020202020202020202020202B4
+:109C900002020202020202020202020202020202A4
+:109CA0000202020202020202020202020202020294
+:109CB0000202020202020202020202020202020284
+:109CC0000202020202020202020202020202020274
+:109CD0000202020202020202020202020202020264
+:109CE0000202020202020202020202020202020254
+:109CF0000202020202020202020202020202020244
+:109D00000202020202020202020202020202020233
+:109D10000202020202020202020202020202020223
+:109D20000202020202020202020202020202020213
+:109D30000202020202020202020202020202020203
+:109D400002020202020202020202020202020202F3
+:109D500002020202020202020202020202020202E3
+:109D600002020202020202020202020202020202D3
+:109D700002020202020202020202020202020202C3
+:109D800002020202020202020202020202020202B3
+:109D900002020202020202020202020202020202A3
+:109DA0000202020202020202020202020202020293
+:109DB0000202020202020202020202020202020283
+:109DC0000202020202020202020202020202020273
+:109DD0000202020202020202020202020202020263
+:109DE0000202020202020202020202020202020253
+:109DF0000202020202020202020202020202020243
+:109E00000202020202020202020202020202020232
+:109E10000202020202020202020202020202020222
+:109E20000202020202020202020202020202020212
+:109E30000202020202020202020202020202020202
+:109E400002020202020202020202020202020202F2
+:109E500002020202020202020202020202020202E2
+:109E600002020202020202020202020202020202D2
+:109E700002020202020202020202020202020202C2
+:109E800002020202020202020202020202020202B2
+:109E900002020202020202020202020202020202A2
+:109EA0000202020202020202020202020202020292
+:109EB0000202020202020202020202020202020282
+:109EC0000202020202020202020202020202020272
+:109ED0000202020202020202020202020202020262
+:109EE0000202020202020202020202020202020252
+:109EF0000202020202020202020202020202020242
+:109F00000202020202020202020202020202020231
+:109F10000202020202020202020202020202020221
+:109F20000202020202020202020202020202020211
+:109F30000202020202020202020202020202020201
+:109F400002020202020202020202020202020202F1
+:109F500002020202020202020202020202020202E1
+:109F600002020202020202020202020202020202D1
+:109F700002020202020202020202020202020202C1
+:109F800002020202020202020202020202020202B1
+:109F900002020202020202020202020202020202A1
+:109FA0000202020202020202020202020202020291
+:109FB0000202020202020202020202020202020281
+:109FC0000202020202020202020202020202020271
+:109FD0000202020202020202020202020202020261
+:109FE0000202020202020202020202020202020251
+:109FF0000202020202020202020202020202020241
+:10A000000202020202020202020202020202020230
+:10A010000202020202020202020202020202020220
+:10A020000202020202020202020202020202020210
+:10A030000202020202020202020202020202020200
+:10A0400002020202020202020202020202020202F0
+:10A0500002020202020202020202020202020202E0
+:10A0600002020202020202020202020202020202D0
+:10A0700002020202020202020202020202020202C0
+:10A0800002020202020202020202020202020202B0
+:10A0900002020202020202020202020202020202A0
+:10A0A0000202020202020202020202020202020290
+:10A0B0000202020202020202020202020202020280
+:10A0C0000202020202020202020202020202020270
+:10A0D0000202020202020202020202020202020260
+:10A0E0000202020202020202020202020202020250
+:10A0F0000202020202020202020202020202020240
+:10A10000020202020202020202020202020202022F
+:10A11000020202020202020202020202020202021F
+:10A12000020202020202020202020202020202020F
+:10A1300002020202020202020202020202020202FF
+:10A1400002020202020202020202020202020202EF
+:10A1500002020202020202020202020202020202DF
+:10A1600002020202020202020202020202020202CF
+:10A1700002020202020202020202020202020202BF
+:10A1800002020202020202020202020202020202AF
+:10A19000020202020202020202020202020202029F
+:10A1A000020202020202020202020202020202028F
+:10A1B000020202020202020202020202020202027F
+:10A1C000020202020202020202020202020202026F
+:10A1D000020202020202020202020202020202025F
+:10A1E000020202020202020202020202020202024F
+:10A1F000020202020202020202020202020202023F
+:10A20000020202020202020202020202020202022E
+:10A21000020202020202020202020202020202021E
+:10A22000020202020202020202020202020202020E
+:10A2300002020202020202020202020202020202FE
+:10A2400002020202020202020202020202020202EE
+:10A2500002020202020202020202020202020202DE
+:10A2600002020202020202020202020202020202CE
+:10A2700002020202020202020202020202020202BE
+:10A2800002020202020202020202020202020202AE
+:10A29000020202020202020202020202020202029E
+:10A2A000020202020202020202020202020202028E
+:10A2B000020202020202020202020202020202027E
+:10A2C000020202020202020202020202020202026E
+:10A2D000020202020202020202020202020202025E
+:10A2E000020202020202020202020202020202024E
+:10A2F000020202020202020202020202020202023E
+:10A30000020202020202020202020202020202022D
+:10A31000020202020202020202020202020202021D
+:10A32000020202020202020202020202020202020D
+:10A3300002020202020202020202020202020202FD
+:10A3400002020202020202020202020202020202ED
+:10A3500002020202020202020202020202020202DD
+:10A3600002020202020202020202020202020202CD
+:10A3700002020202020202020202020202020202BD
+:10A3800002020202020202020202020202020202AD
+:10A39000020202020202020202020202020202029D
+:10A3A000020202020202020202020202020202028D
+:10A3B000020202020202020202020202020202027D
+:10A3C000020202020202020202020202020202026D
+:10A3D000020202020202020202020202020202025D
+:10A3E000020202020202020202020202020202024D
+:10A3F000020202020202020200000000000000004D
+:10A40000000000000000000000000000000000004C
+:10A41000000000000000000000000000000000003C
+:10A42000000000000000000000000000000000002C
+:10A43000000000000000000000000000000000001C
+:10A44000000000000000000000000000000000000C
+:10A4500000000000000000000000000000000000FC
+:10A4600000000000000000000000000000000000EC
+:10A4700000000000000000000000000000000000DC
+:10A4800000000000000000000000000000000000CC
+:10A4900000000000000000000000000000000000BC
+:10A4A00000000000000000000000000000000000AC
+:10A4B000000000000000000000000000000000009C
+:10A4C000000000000000000000000000000000008C
+:10A4D000000000000000000000000000000000007C
+:10A4E000000000000000000000000000000000006C
+:10A4F000000000000000000000000000000000005C
+:10A50000000000000000000000000000000000004B
+:10A51000000000000000000000000000000000003B
+:10A52000000000000000000000000000000000002B
+:10A53000000000000000000000000000000000001B
+:10A54000000000000000000000000000000000000B
+:10A5500000000000000000000000000000000000FB
+:10A5600000000000000000000000000000000000EB
+:10A5700000000000000000000000000000000000DB
+:10A5800000000000000000000000000000000000CB
+:10A5900000000000000000000000000000000000BB
+:10A5A00000000000000000000000000000000000AB
+:10A5B000000000000000000000000000000000009B
+:10A5C000000000000000000000000000000000008B
+:10A5D000000000000000000000000000000000007B
+:10A5E000000000000000000000000000000000006B
+:10A5F000000000000000000000000000000000005B
+:10A60000000000000000000000000000000000004A
+:10A61000000000000000000000000000000000003A
+:10A62000000000000000000000000000000000002A
+:10A63000000000000000000000000000000000001A
+:10A64000000000000000000000000000000000000A
+:10A6500000000000000000000000000000000000FA
+:10A6600000000000000000000000000000000000EA
+:10A6700000000000000000000000000000000000DA
+:10A6800000000000000000000000000000000000CA
+:10A6900000000000000000000000000000000000BA
+:10A6A00000000000000000000000000000000000AA
+:10A6B000000000000000000000000000000000009A
+:10A6C000000000000000000000000000000000008A
+:10A6D000000000000000000000000000000000007A
+:10A6E000000000000000000000000000000000006A
+:10A6F000000000000000000000000000000000005A
+:10A700000000000000000000000000000000000049
+:10A710000000000000000000000000000000000039
+:10A720000000000000000000000000000000000029
+:10A730000000000000000000000000000000000019
+:10A740000000000000000000000000000000000009
+:10A7500000000000000000000000000000000000F9
+:10A7600000000000000000000000000000000000E9
+:10A7700000000000000000000000000000000000D9
+:10A7800000000000000000000000000000000000C9
+:10A7900000000000000000000000000000000000B9
+:10A7A00000000000000000000000000000000000A9
+:10A7B0000000000000000000000000000000000099
+:10A7C0000000000000000000000000000000000089
+:10A7D0000000000000000000000000000000000079
+:10A7E0000000000000000000000000000000000069
+:10A7F0000000000000000000010101010101010151
+:10A800000101010101010101010101010101010138
+:10A810000101010101010101010101010101010128
+:10A820000101010101010101010101010101010118
+:10A830000101010101010101010101010101010108
+:10A8400001010101010101010101010101010101F8
+:10A8500001010101010101010101010101010101E8
+:10A8600001010101010101010101010101010101D8
+:10A8700001010101010101010101010101010101C8
+:10A8800001010101010101010101010101010101B8
+:10A8900001010101010101010101010101010101A8
+:10A8A0000101010101010101010101010101010198
+:10A8B0000101010101010101010101010101010188
+:10A8C0000101010101010101010101010101010178
+:10A8D0000101010101010101010101010101010168
+:10A8E0000101010101010101010101010101010158
+:10A8F0000101010101010101010101010101010148
+:10A900000101010101010101010101010101010137
+:10A910000101010101010101010101010101010127
+:10A920000101010101010101010101010101010117
+:10A930000101010101010101010101010101010107
+:10A9400001010101010101010101010101010101F7
+:10A9500001010101010101010101010101010101E7
+:10A9600001010101010101010101010101010101D7
+:10A9700001010101010101010101010101010101C7
+:10A9800001010101010101010101010101010101B7
+:10A9900001010101010101010101010101010101A7
+:10A9A0000101010101010101010101010101010197
+:10A9B0000101010101010101010101010101010187
+:10A9C0000101010101010101010101010101010177
+:10A9D0000101010101010101010101010101010167
+:10A9E0000101010101010101010101010101010157
+:10A9F0000101010101010101010101010101010147
+:10AA00000101010101010101010101010101010136
+:10AA10000101010101010101010101010101010126
+:10AA20000101010101010101010101010101010116
+:10AA30000101010101010101010101010101010106
+:10AA400001010101010101010101010101010101F6
+:10AA500001010101010101010101010101010101E6
+:10AA600001010101010101010101010101010101D6
+:10AA700001010101010101010101010101010101C6
+:10AA800001010101010101010101010101010101B6
+:10AA900001010101010101010101010101010101A6
+:10AAA0000101010101010101010101010101010196
+:10AAB0000101010101010101010101010101010186
+:10AAC0000101010101010101010101010101010176
+:10AAD0000101010101010101010101010101010166
+:10AAE0000101010101010101010101010101010156
+:10AAF0000101010101010101010101010101010146
+:10AB00000101010101010101010101010101010135
+:10AB10000101010101010101010101010101010125
+:10AB20000101010101010101010101010101010115
+:10AB30000101010101010101010101010101010105
+:10AB400001010101010101010101010101010101F5
+:10AB500001010101010101010101010101010101E5
+:10AB600001010101010101010101010101010101D5
+:10AB700001010101010101010101010101010101C5
+:10AB800001010101010101010101010101010101B5
+:10AB900001010101010101010101010101010101A5
+:10ABA0000101010101010101010101010101010195
+:10ABB0000101010101010101010101010101010185
+:10ABC0000101010101010101010101010101010175
+:10ABD0000101010101010101010101010101010165
+:10ABE0000101010101010101010101010101010155
+:10ABF0000101010101010101010101010101010145
+:10AC00000101010101010101010101010101010134
+:10AC10000101010101010101010101010101010124
+:10AC20000101010101010101010101010101010114
+:10AC30000101010101010101010101010101010104
+:10AC400001010101010101010101010101010101F4
+:10AC500001010101010101010101010101010101E4
+:10AC600001010101010101010101010101010101D4
+:10AC700001010101010101010101010101010101C4
+:10AC800001010101010101010101010101010101B4
+:10AC900001010101010101010101010101010101A4
+:10ACA0000101010101010101010101010101010194
+:10ACB0000101010101010101010101010101010184
+:10ACC0000101010101010101010101010101010174
+:10ACD0000101010101010101010101010101010164
+:10ACE0000101010101010101010101010101010154
+:10ACF0000101010101010101010101010101010144
+:10AD00000101010101010101010101010101010133
+:10AD10000101010101010101010101010101010123
+:10AD20000101010101010101010101010101010113
+:10AD30000101010101010101010101010101010103
+:10AD400001010101010101010101010101010101F3
+:10AD500001010101010101010101010101010101E3
+:10AD600001010101010101010101010101010101D3
+:10AD700001010101010101010101010101010101C3
+:10AD800001010101010101010101010101010101B3
+:10AD900001010101010101010101010101010101A3
+:10ADA0000101010101010101010101010101010193
+:10ADB0000101010101010101010101010101010183
+:10ADC0000101010101010101010101010101010173
+:10ADD0000101010101010101010101010101010163
+:10ADE0000101010101010101010101010101010153
+:10ADF0000101010101010101010101010101010143
+:10AE00000101010101010101010101010101010132
+:10AE10000101010101010101010101010101010122
+:10AE20000101010101010101010101010101010112
+:10AE30000101010101010101010101010101010102
+:10AE400001010101010101010101010101010101F2
+:10AE500001010101010101010101010101010101E2
+:10AE600001010101010101010101010101010101D2
+:10AE700001010101010101010101010101010101C2
+:10AE800001010101010101010101010101010101B2
+:10AE900001010101010101010101010101010101A2
+:10AEA0000101010101010101010101010101010192
+:10AEB0000101010101010101010101010101010182
+:10AEC0000101010101010101010101010101010172
+:10AED0000101010101010101010101010101010162
+:10AEE0000101010101010101010101010101010152
+:10AEF0000101010101010101010101010101010142
+:10AF00000101010101010101010101010101010131
+:10AF10000101010101010101010101010101010121
+:10AF20000101010101010101010101010101010111
+:10AF30000101010101010101010101010101010101
+:10AF400001010101010101010101010101010101F1
+:10AF500001010101010101010101010101010101E1
+:10AF600001010101010101010101010101010101D1
+:10AF700001010101010101010101010101010101C1
+:10AF800001010101010101010101010101010101B1
+:10AF900001010101010101010101010101010101A1
+:10AFA0000101010101010101010101010101010191
+:10AFB0000101010101010101010101010101010181
+:10AFC0000101010101010101010101010101010171
+:10AFD0000101010101010101010101010101010161
+:10AFE0000101010101010101010101010101010151
+:10AFF0000101010101010101010101010101010141
+:10B000000101010101010101010101010101010130
+:10B010000101010101010101010101010101010120
+:10B020000101010101010101010101010101010110
+:10B030000101010101010101010101010101010100
+:10B0400001010101010101010101010101010101F0
+:10B0500001010101010101010101010101010101E0
+:10B0600001010101010101010101010101010101D0
+:10B0700001010101010101010101010101010101C0
+:10B0800001010101010101010101010101010101B0
+:10B0900001010101010101010101010101010101A0
+:10B0A0000101010101010101010101010101010190
+:10B0B0000101010101010101010101010101010180
+:10B0C0000101010101010101010101010101010170
+:10B0D0000101010101010101010101010101010160
+:10B0E0000101010101010101010101010101010150
+:10B0F0000101010101010101010101010101010140
+:10B10000010101010101010101010101010101012F
+:10B11000010101010101010101010101010101011F
+:10B12000010101010101010101010101010101010F
+:10B1300001010101010101010101010101010101FF
+:10B1400001010101010101010101010101010101EF
+:10B1500001010101010101010101010101010101DF
+:10B1600001010101010101010101010101010101CF
+:10B1700001010101010101010101010101010101BF
+:10B1800001010101010101010101010101010101AF
+:10B19000010101010101010101010101010101019F
+:10B1A000010101010101010101010101010101018F
+:10B1B000010101010101010101010101010101017F
+:10B1C000010101010101010101010101010101016F
+:10B1D000010101010101010101010101010101015F
+:10B1E000010101010101010101010101010101014F
+:10B1F000010101010101010101010101010101013F
+:10B20000010101010101010101010101010101012E
+:10B21000010101010101010101010101010101011E
+:10B22000010101010101010101010101010101010E
+:10B2300001010101010101010101010101010101FE
+:10B2400001010101010101010101010101010101EE
+:10B2500001010101010101010101010101010101DE
+:10B2600001010101010101010101010101010101CE
+:10B2700001010101010101010101010101010101BE
+:10B2800001010101010101010101010101010101AE
+:10B29000010101010101010101010101010101019E
+:10B2A000010101010101010101010101010101018E
+:10B2B000010101010101010101010101010101017E
+:10B2C000010101010101010101010101010101016E
+:10B2D000010101010101010101010101010101015E
+:10B2E000010101010101010101010101010101014E
+:10B2F000010101010101010101010101010101013E
+:10B30000010101010101010101010101010101012D
+:10B31000010101010101010101010101010101011D
+:10B32000010101010101010101010101010101010D
+:10B3300001010101010101010101010101010101FD
+:10B3400001010101010101010101010101010101ED
+:10B3500001010101010101010101010101010101DD
+:10B3600001010101010101010101010101010101CD
+:10B3700001010101010101010101010101010101BD
+:10B3800001010101010101010101010101010101AD
+:10B39000010101010101010101010101010101019D
+:10B3A000010101010101010101010101010101018D
+:10B3B000010101010101010101010101010101017D
+:10B3C000010101010101010101010101010101016D
+:10B3D000010101010101010101010101010101015D
+:10B3E000010101010101010101010101010101014D
+:10B3F000010101010101010101010101010101013D
+:10B40000010101010101010101010101010101012C
+:10B41000010101010101010101010101010101011C
+:10B42000010101010101010101010101010101010C
+:10B4300001010101010101010101010101010101FC
+:10B4400001010101010101010101010101010101EC
+:10B4500001010101010101010101010101010101DC
+:10B4600001010101010101010101010101010101CC
+:10B4700001010101010101010101010101010101BC
+:10B4800001010101010101010101010101010101AC
+:10B49000010101010101010101010101010101019C
+:10B4A000010101010101010101010101010101018C
+:10B4B000010101010101010101010101010101017C
+:10B4C000010101010101010101010101010101016C
+:10B4D000010101010101010101010101010101015C
+:10B4E000010101010101010101010101010101014C
+:10B4F000010101010101010101010101010101013C
+:10B50000010101010101010101010101010101012B
+:10B51000010101010101010101010101010101011B
+:10B52000010101010101010101010101010101010B
+:10B5300001010101010101010101010101010101FB
+:10B5400001010101010101010101010101010101EB
+:10B5500001010101010101010101010101010101DB
+:10B5600001010101010101010101010101010101CB
+:10B5700001010101010101010101010101010101BB
+:10B5800001010101010101010101010101010101AB
+:10B59000010101010101010101010101010101019B
+:10B5A000010101010101010101010101010101018B
+:10B5B000010101010101010101010101010101017B
+:10B5C000010101010101010101010101010101016B
+:10B5D000010101010101010101010101010101015B
+:10B5E000010101010101010101010101010101014B
+:10B5F000010101010101010101010101010101013B
+:10B60000010101010101010101010101010101012A
+:10B61000010101010101010101010101010101011A
+:10B62000010101010101010101010101010101010A
+:10B6300001010101010101010101010101010101FA
+:10B6400001010101010101010101010101010101EA
+:10B6500001010101010101010101010101010101DA
+:10B6600001010101010101010101010101010101CA
+:10B6700001010101010101010101010101010101BA
+:10B6800001010101010101010101010101010101AA
+:10B69000010101010101010101010101010101019A
+:10B6A000010101010101010101010101010101018A
+:10B6B000010101010101010101010101010101017A
+:10B6C000010101010101010101010101010101016A
+:10B6D000010101010101010101010101010101015A
+:10B6E000010101010101010101010101010101014A
+:10B6F000010101010101010101010101010101013A
+:10B700000101010101010101010101010101010129
+:10B710000101010101010101010101010101010119
+:10B720000101010101010101010101010101010109
+:10B7300001010101010101010101010101010101F9
+:10B7400001010101010101010101010101010101E9
+:10B7500001010101010101010101010101010101D9
+:10B7600001010101010101010101010101010101C9
+:10B7700001010101010101010101010101010101B9
+:10B7800001010101010101010101010101010101A9
+:10B790000101010101010101010101010101010199
+:10B7A0000101010101010101010101010101010189
+:10B7B0000101010101010101010101010101010179
+:10B7C0000101010101010101010101010101010169
+:10B7D0000101010101010101010101010101010159
+:10B7E0000101010101010101010101010101010149
+:10B7F0000101010101010101010101010101010139
+:10B800000101010101010101010101010101010128
+:10B810000101010101010101010101010101010118
+:10B820000101010101010101010101010101010108
+:10B8300001010101010101010101010101010101F8
+:10B8400001010101010101010101010101010101E8
+:10B8500001010101010101010101010101010101D8
+:10B8600001010101010101010101010101010101C8
+:10B8700001010101010101010101010101010101B8
+:10B8800001010101010101010101010101010101A8
+:10B890000101010101010101010101010101010198
+:10B8A0000101010101010101010101010101010188
+:10B8B0000101010101010101010101010101010178
+:10B8C0000101010101010101010101010101010168
+:10B8D0000101010101010101010101010101010158
+:10B8E0000101010101010101010101010101010148
+:10B8F0000101010101010101010101010101010138
+:10B900000101010101010101010101010101010127
+:10B910000101010101010101010101010101010117
+:10B920000101010101010101010101010101010107
+:10B9300001010101010101010101010101010101F7
+:10B9400001010101010101010101010101010101E7
+:10B9500001010101010101010101010101010101D7
+:10B9600001010101010101010101010101010101C7
+:10B9700001010101010101010101010101010101B7
+:10B9800001010101010101010101010101010101A7
+:10B990000101010101010101010101010101010197
+:10B9A0000101010101010101010101010101010187
+:10B9B0000101010101010101010101010101010177
+:10B9C0000101010101010101010101010101010167
+:10B9D0000101010101010101010101010101010157
+:10B9E0000101010101010101010101010101010147
+:10B9F0000101010101010101010101010101010137
+:10BA00000101010101010101010101010101010126
+:10BA10000101010101010101010101010101010116
+:10BA20000101010101010101010101010101010106
+:10BA300001010101010101010101010101010101F6
+:10BA400001010101010101010101010101010101E6
+:10BA500001010101010101010101010101010101D6
+:10BA600001010101010101010101010101010101C6
+:10BA700001010101010101010101010101010101B6
+:10BA800001010101010101010101010101010101A6
+:10BA90000101010101010101010101010101010196
+:10BAA0000101010101010101010101010101010186
+:10BAB0000101010101010101010101010101010176
+:10BAC0000101010101010101010101010101010166
+:10BAD0000101010101010101010101010101010156
+:10BAE0000101010101010101010101010101010146
+:10BAF0000101010101010101010101010101010136
+:10BB00000101010101010101010101010101010125
+:10BB10000101010101010101010101010101010115
+:10BB20000101010101010101010101010101010105
+:10BB300001010101010101010101010101010101F5
+:10BB400001010101010101010101010101010101E5
+:10BB500001010101010101010101010101010101D5
+:10BB600001010101010101010101010101010101C5
+:10BB700001010101010101010101010101010101B5
+:10BB800001010101010101010101010101010101A5
+:10BB90000101010101010101010101010101010195
+:10BBA0000101010101010101010101010101010185
+:10BBB0000101010101010101010101010101010175
+:10BBC0000101010101010101010101010101010165
+:10BBD0000101010101010101010101010101010155
+:10BBE0000101010101010101010101010101010145
+:10BBF0000101010101010101010101010101010135
+:10BC00000101010101010101010101010101010124
+:10BC10000101010101010101010101010101010114
+:10BC20000101010101010101010101010101010104
+:10BC300001010101010101010101010101010101F4
+:10BC400001010101010101010101010101010101E4
+:10BC500001010101010101010101010101010101D4
+:10BC600001010101010101010101010101010101C4
+:10BC700001010101010101010101010101010101B4
+:10BC800001010101010101010101010101010101A4
+:10BC90000101010101010101010101010101010194
+:10BCA0000101010101010101010101010101010184
+:10BCB0000101010101010101010101010101010174
+:10BCC0000101010101010101010101010101010164
+:10BCD0000101010101010101010101010101010154
+:10BCE0000101010101010101010101010101010144
+:10BCF0000101010101010101010101010101010134
+:10BD00000101010101010101010101010101010123
+:10BD10000101010101010101010101010101010113
+:10BD20000101010101010101010101010101010103
+:10BD300001010101010101010101010101010101F3
+:10BD400001010101010101010101010101010101E3
+:10BD500001010101010101010101010101010101D3
+:10BD600001010101010101010101010101010101C3
+:10BD700001010101010101010101010101010101B3
+:10BD800001010101010101010101010101010101A3
+:10BD90000101010101010101010101010101010193
+:10BDA0000101010101010101010101010101010183
+:10BDB0000101010101010101010101010101010173
+:10BDC0000101010101010101010101010101010163
+:10BDD0000101010101010101010101010101010153
+:10BDE0000101010101010101010101010101010143
+:10BDF000010101010101010100000000000000003B
+:10BE00000000000000000000000000000000000032
+:10BE10000000000000000000000000000000000022
+:10BE20000000000000000000000000000000000012
+:10BE30000000000000000000000000000000000002
+:10BE400000000000000000000000000000000000F2
+:10BE500000000000000000000000000000000000E2
+:10BE600000000000000000000000000000000000D2
+:10BE700000000000000000000000000000000000C2
+:10BE800000000000000000000000000000000000B2
+:10BE900000000000000000000000000000000000A2
+:10BEA0000000000000000000000000000000000092
+:10BEB0000000000000000000000000000000000082
+:10BEC0000000000000000000000000000000000072
+:10BED0000000000000000000000000000000000062
+:10BEE0000000000000000000000000000000000052
+:10BEF0000000000000000000000000000000000042
+:10BF00000000000000000000000000000000000031
+:10BF10000000000000000000000000000000000021
+:10BF20000000000000000000000000000000000011
+:10BF30000000000000000000000000000000000001
+:10BF400000000000000000000000000000000000F1
+:10BF500000000000000000000000000000000000E1
+:10BF600000000000000000000000000000000000D1
+:10BF700000000000000000000000000000000000C1
+:10BF800000000000000000000000000000000000B1
+:10BF900000000000000000000000000000000000A1
+:10BFA0000000000000000000000000000000000091
+:10BFB0000000000000000000000000000000000081
+:10BFC0000000000000000000000000000000000071
+:10BFD0000000000000000000000000000000000061
+:10BFE0000000000000000000000000000000000051
+:10BFF0000000000000000000000000000000000041
+:10C000000000000000000000000000000000000030
+:10C010000000000000000000000000000000000020
+:10C020000000000000000000000000000000000010
+:10C030000000000000000000000000000000000000
+:10C0400000000000000000000000000000000000F0
+:10C0500000000000000000000000000000000000E0
+:10C0600000000000000000000000000000000000D0
+:10C0700000000000000000000000000000000000C0
+:10C0800000000000000000000000000000000000B0
+:10C0900000000000000000000000000000000000A0
+:10C0A0000000000000000000000000000000000090
+:10C0B0000000000000000000000000000000000080
+:10C0C0000000000000000000000000000000000070
+:10C0D0000000000000000000000000000000000060
+:10C0E0000000000000000000000000000000000050
+:10C0F0000000000000000000000000000000000040
+:10C10000000000000000000000000000000000002F
+:10C11000000000000000000000000000000000001F
+:10C12000000000000000000000000000000000000F
+:10C1300000000000000000000000000000000000FF
+:10C1400000000000000000000000000000000000EF
+:10C1500000000000000000000000000000000000DF
+:10C1600000000000000000000000000000000000CF
+:10C1700000000000000000000000000000000000BF
+:10C1800000000000000000000000000000000000AF
+:10C19000000000000000000000000000000000009F
+:10C1A000000000000000000000000000000000008F
+:10C1B000000000000000000000000000000000007F
+:10C1C000000000000000000000000000000000006F
+:10C1D000000000000000000000000000000000005F
+:10C1E000000000000000000000000000000000004F
+:10C1F0000000000000000000010101010101010137
+:10C20000010101010101010101010101010101011E
+:10C21000010101010101010101010101010101010E
+:10C2200001010101010101010101010101010101FE
+:10C2300001010101010101010101010101010101EE
+:10C2400001010101010101010101010101010101DE
+:10C2500001010101010101010101010101010101CE
+:10C2600001010101010101010101010101010101BE
+:10C2700001010101010101010101010101010101AE
+:10C28000010101010101010101010101010101019E
+:10C29000010101010101010101010101010101018E
+:10C2A000010101010101010101010101010101017E
+:10C2B000010101010101010101010101010101016E
+:10C2C000010101010101010101010101010101015E
+:10C2D000010101010101010101010101010101014E
+:10C2E000010101010101010101010101010101013E
+:10C2F000010101010101010101010101010101012E
+:10C30000010101010101010101010101010101011D
+:10C31000010101010101010101010101010101010D
+:10C3200001010101010101010101010101010101FD
+:10C3300001010101010101010101010101010101ED
+:10C3400001010101010101010101010101010101DD
+:10C3500001010101010101010101010101010101CD
+:10C3600001010101010101010101010101010101BD
+:10C3700001010101010101010101010101010101AD
+:10C38000010101010101010101010101010101019D
+:10C39000010101010101010101010101010101018D
+:10C3A000010101010101010101010101010101017D
+:10C3B000010101010101010101010101010101016D
+:10C3C000010101010101010101010101010101015D
+:10C3D000010101010101010101010101010101014D
+:10C3E000010101010101010101010101010101013D
+:10C3F0000101010101010101020202020202020225
+:10C40000020202020202020202020202020202020C
+:10C4100002020202020202020202020202020202FC
+:10C4200002020202020202020202020202020202EC
+:10C4300002020202020202020202020202020202DC
+:10C4400002020202020202020202020202020202CC
+:10C4500002020202020202020202020202020202BC
+:10C4600002020202020202020202020202020202AC
+:10C47000020202020202020202020202020202029C
+:10C48000020202020202020202020202020202028C
+:10C49000020202020202020202020202020202027C
+:10C4A000020202020202020202020202020202026C
+:10C4B000020202020202020202020202020202025C
+:10C4C000020202020202020202020202020202024C
+:10C4D000020202020202020202020202020202023C
+:10C4E000020202020202020202020202020202022C
+:10C4F000020202020202020202020202020202021C
+:10C50000020202020202020202020202020202020B
+:10C5100002020202020202020202020202020202FB
+:10C5200002020202020202020202020202020202EB
+:10C5300002020202020202020202020202020202DB
+:10C5400002020202020202020202020202020202CB
+:10C5500002020202020202020202020202020202BB
+:10C5600002020202020202020202020202020202AB
+:10C57000020202020202020202020202020202029B
+:10C58000020202020202020202020202020202028B
+:10C59000020202020202020202020202020202027B
+:10C5A000020202020202020202020202020202026B
+:10C5B000020202020202020202020202020202025B
+:10C5C000020202020202020202020202020202024B
+:10C5D000020202020202020202020202020202023B
+:10C5E000020202020202020202020202020202022B
+:10C5F000020202020202020202020202020202021B
+:10C60000020202020202020202020202020202020A
+:10C6100002020202020202020202020202020202FA
+:10C6200002020202020202020202020202020202EA
+:10C6300002020202020202020202020202020202DA
+:10C6400002020202020202020202020202020202CA
+:10C6500002020202020202020202020202020202BA
+:10C6600002020202020202020202020202020202AA
+:10C67000020202020202020202020202020202029A
+:10C68000020202020202020202020202020202028A
+:10C69000020202020202020202020202020202027A
+:10C6A000020202020202020202020202020202026A
+:10C6B000020202020202020202020202020202025A
+:10C6C000020202020202020202020202020202024A
+:10C6D000020202020202020202020202020202023A
+:10C6E000020202020202020202020202020202022A
+:10C6F000020202020202020202020202020202021A
+:10C700000202020202020202020202020202020209
+:10C7100002020202020202020202020202020202F9
+:10C7200002020202020202020202020202020202E9
+:10C7300002020202020202020202020202020202D9
+:10C7400002020202020202020202020202020202C9
+:10C7500002020202020202020202020202020202B9
+:10C7600002020202020202020202020202020202A9
+:10C770000202020202020202020202020202020299
+:10C780000202020202020202020202020202020289
+:10C790000202020202020202020202020202020279
+:10C7A0000202020202020202020202020202020269
+:10C7B0000202020202020202020202020202020259
+:10C7C0000202020202020202020202020202020249
+:10C7D0000202020202020202020202020202020239
+:10C7E0000202020202020202020202020202020229
+:10C7F0000202020202020202020202020202020219
+:10C800000202020202020202020202020202020208
+:10C8100002020202020202020202020202020202F8
+:10C8200002020202020202020202020202020202E8
+:10C8300002020202020202020202020202020202D8
+:10C8400002020202020202020202020202020202C8
+:10C8500002020202020202020202020202020202B8
+:10C8600002020202020202020202020202020202A8
+:10C870000202020202020202020202020202020298
+:10C880000202020202020202020202020202020288
+:10C890000202020202020202020202020202020278
+:10C8A0000202020202020202020202020202020268
+:10C8B0000202020202020202020202020202020258
+:10C8C0000202020202020202020202020202020248
+:10C8D0000202020202020202020202020202020238
+:10C8E0000202020202020202020202020202020228
+:10C8F0000202020202020202020202020202020218
+:10C900000202020202020202020202020202020207
+:10C9100002020202020202020202020202020202F7
+:10C9200002020202020202020202020202020202E7
+:10C9300002020202020202020202020202020202D7
+:10C9400002020202020202020202020202020202C7
+:10C9500002020202020202020202020202020202B7
+:10C9600002020202020202020202020202020202A7
+:10C970000202020202020202020202020202020297
+:10C980000202020202020202020202020202020287
+:10C990000202020202020202020202020202020277
+:10C9A0000202020202020202020202020202020267
+:10C9B0000202020202020202020202020202020257
+:10C9C0000202020202020202020202020202020247
+:10C9D0000202020202020202020202020202020237
+:10C9E0000202020202020202020202020202020227
+:10C9F0000202020202020202020202020202020217
+:10CA00000202020202020202020202020202020206
+:10CA100002020202020202020202020202020202F6
+:10CA200002020202020202020202020202020202E6
+:10CA300002020202020202020202020202020202D6
+:10CA400002020202020202020202020202020202C6
+:10CA500002020202020202020202020202020202B6
+:10CA600002020202020202020202020202020202A6
+:10CA70000202020202020202020202020202020296
+:10CA80000202020202020202020202020202020286
+:10CA90000202020202020202020202020202020276
+:10CAA0000202020202020202020202020202020266
+:10CAB0000202020202020202020202020202020256
+:10CAC0000202020202020202020202020202020246
+:10CAD0000202020202020202020202020202020236
+:10CAE0000202020202020202020202020202020226
+:10CAF0000202020202020202020202020202020216
+:10CB00000202020202020202020202020202020205
+:10CB100002020202020202020202020202020202F5
+:10CB200002020202020202020202020202020202E5
+:10CB300002020202020202020202020202020202D5
+:10CB400002020202020202020202020202020202C5
+:10CB500002020202020202020202020202020202B5
+:10CB600002020202020202020202020202020202A5
+:10CB70000202020202020202020202020202020295
+:10CB80000202020202020202020202020202020285
+:10CB90000202020202020202020202020202020275
+:10CBA0000202020202020202020202020202020265
+:10CBB0000202020202020202020202020202020255
+:10CBC0000202020202020202020202020202020245
+:10CBD0000202020202020202020202020202020235
+:10CBE0000202020202020202020202020202020225
+:10CBF0000202020202020202020202020202020215
+:10CC00000202020202020202020202020202020204
+:10CC100002020202020202020202020202020202F4
+:10CC200002020202020202020202020202020202E4
+:10CC300002020202020202020202020202020202D4
+:10CC400002020202020202020202020202020202C4
+:10CC500002020202020202020202020202020202B4
+:10CC600002020202020202020202020202020202A4
+:10CC70000202020202020202020202020202020294
+:10CC80000202020202020202020202020202020284
+:10CC90000202020202020202020202020202020274
+:10CCA0000202020202020202020202020202020264
+:10CCB0000202020202020202020202020202020254
+:10CCC0000202020202020202020202020202020244
+:10CCD0000202020202020202020202020202020234
+:10CCE0000202020202020202020202020202020224
+:10CCF0000202020202020202020202020202020214
+:10CD00000202020202020202020202020202020203
+:10CD100002020202020202020202020202020202F3
+:10CD200002020202020202020202020202020202E3
+:10CD300002020202020202020202020202020202D3
+:10CD400002020202020202020202020202020202C3
+:10CD500002020202020202020202020202020202B3
+:10CD600002020202020202020202020202020202A3
+:10CD70000202020202020202020202020202020293
+:10CD80000202020202020202020202020202020283
+:10CD90000202020202020202020202020202020273
+:10CDA0000202020202020202020202020202020263
+:10CDB0000202020202020202020202020202020253
+:10CDC0000202020202020202020202020202020243
+:10CDD0000202020202020202020202020202020233
+:10CDE0000202020202020202020202020202020223
+:10CDF0000202020202020202020202020202020213
+:10CE00000202020202020202020202020202020202
+:10CE100002020202020202020202020202020202F2
+:10CE200002020202020202020202020202020202E2
+:10CE300002020202020202020202020202020202D2
+:10CE400002020202020202020202020202020202C2
+:10CE500002020202020202020202020202020202B2
+:10CE600002020202020202020202020202020202A2
+:10CE70000202020202020202020202020202020292
+:10CE80000202020202020202020202020202020282
+:10CE90000202020202020202020202020202020272
+:10CEA0000202020202020202020202020202020262
+:10CEB0000202020202020202020202020202020252
+:10CEC0000202020202020202020202020202020242
+:10CED0000202020202020202020202020202020232
+:10CEE0000202020202020202020202020202020222
+:10CEF0000202020202020202020202020202020212
+:10CF00000202020202020202020202020202020201
+:10CF100002020202020202020202020202020202F1
+:10CF200002020202020202020202020202020202E1
+:10CF300002020202020202020202020202020202D1
+:10CF400002020202020202020202020202020202C1
+:10CF500002020202020202020202020202020202B1
+:10CF600002020202020202020202020202020202A1
+:10CF70000202020202020202020202020202020291
+:10CF80000202020202020202020202020202020281
+:10CF90000202020202020202020202020202020271
+:10CFA0000202020202020202020202020202020261
+:10CFB0000202020202020202020202020202020251
+:10CFC0000202020202020202020202020202020241
+:10CFD0000202020202020202020202020202020231
+:10CFE0000202020202020202020202020202020221
+:10CFF0000202020202020202020202020202020211
+:10D000000202020202020202020202020202020200
+:10D0100002020202020202020202020202020202F0
+:10D0200002020202020202020202020202020202E0
+:10D0300002020202020202020202020202020202D0
+:10D0400002020202020202020202020202020202C0
+:10D0500002020202020202020202020202020202B0
+:10D0600002020202020202020202020202020202A0
+:10D070000202020202020202020202020202020290
+:10D080000202020202020202020202020202020280
+:10D090000202020202020202020202020202020270
+:10D0A0000202020202020202020202020202020260
+:10D0B0000202020202020202020202020202020250
+:10D0C0000202020202020202020202020202020240
+:10D0D0000202020202020202020202020202020230
+:10D0E0000202020202020202020202020202020220
+:10D0F0000202020202020202020202020202020210
+:10D1000002020202020202020202020202020202FF
+:10D1100002020202020202020202020202020202EF
+:10D1200002020202020202020202020202020202DF
+:10D1300002020202020202020202020202020202CF
+:10D1400002020202020202020202020202020202BF
+:10D1500002020202020202020202020202020202AF
+:10D16000020202020202020202020202020202029F
+:10D17000020202020202020202020202020202028F
+:10D18000020202020202020202020202020202027F
+:10D19000020202020202020202020202020202026F
+:10D1A000020202020202020202020202020202025F
+:10D1B000020202020202020202020202020202024F
+:10D1C000020202020202020202020202020202023F
+:10D1D000020202020202020202020202020202022F
+:10D1E000020202020202020202020202020202021F
+:10D1F000020202020202020202020202020202020F
+:10D2000002020202020202020202020202020202FE
+:10D2100002020202020202020202020202020202EE
+:10D2200002020202020202020202020202020202DE
+:10D2300002020202020202020202020202020202CE
+:10D2400002020202020202020202020202020202BE
+:10D2500002020202020202020202020202020202AE
+:10D26000020202020202020202020202020202029E
+:10D27000020202020202020202020202020202028E
+:10D28000020202020202020202020202020202027E
+:10D29000020202020202020202020202020202026E
+:10D2A000020202020202020202020202020202025E
+:10D2B000020202020202020202020202020202024E
+:10D2C000020202020202020202020202020202023E
+:10D2D000020202020202020202020202020202022E
+:10D2E000020202020202020202020202020202021E
+:10D2F000020202020202020202020202020202020E
+:10D3000002020202020202020202020202020202FD
+:10D3100002020202020202020202020202020202ED
+:10D3200002020202020202020202020202020202DD
+:10D3300002020202020202020202020202020202CD
+:10D3400002020202020202020202020202020202BD
+:10D3500002020202020202020202020202020202AD
+:10D36000020202020202020202020202020202029D
+:10D37000020202020202020202020202020202028D
+:10D38000020202020202020202020202020202027D
+:10D39000020202020202020202020202020202026D
+:10D3A000020202020202020202020202020202025D
+:10D3B000020202020202020202020202020202024D
+:10D3C000020202020202020202020202020202023D
+:10D3D000020202020202020202020202020202022D
+:10D3E000020202020202020202020202020202021D
+:10D3F000020202020202020202020202020202020D
+:10D4000002020202020202020202020202020202FC
+:10D4100002020202020202020202020202020202EC
+:10D4200002020202020202020202020202020202DC
+:10D4300002020202020202020202020202020202CC
+:10D4400002020202020202020202020202020202BC
+:10D4500002020202020202020202020202020202AC
+:10D46000020202020202020202020202020202029C
+:10D47000020202020202020202020202020202028C
+:10D48000020202020202020202020202020202027C
+:10D49000020202020202020202020202020202026C
+:10D4A000020202020202020202020202020202025C
+:10D4B000020202020202020202020202020202024C
+:10D4C000020202020202020202020202020202023C
+:10D4D000020202020202020202020202020202022C
+:10D4E000020202020202020202020202020202021C
+:10D4F000020202020202020202020202020202020C
+:10D5000002020202020202020202020202020202FB
+:10D5100002020202020202020202020202020202EB
+:10D5200002020202020202020202020202020202DB
+:10D5300002020202020202020202020202020202CB
+:10D5400002020202020202020202020202020202BB
+:10D5500002020202020202020202020202020202AB
+:10D56000020202020202020202020202020202029B
+:10D57000020202020202020202020202020202028B
+:10D58000020202020202020202020202020202027B
+:10D59000020202020202020202020202020202026B
+:10D5A000020202020202020202020202020202025B
+:10D5B000020202020202020202020202020202024B
+:10D5C000020202020202020202020202020202023B
+:10D5D000020202020202020202020202020202022B
+:10D5E000020202020202020202020202020202021B
+:10D5F000020202020202020202020202020202020B
+:10D6000002020202020202020202020202020202FA
+:10D6100002020202020202020202020202020202EA
+:10D6200002020202020202020202020202020202DA
+:10D6300002020202020202020202020202020202CA
+:10D6400002020202020202020202020202020202BA
+:10D6500002020202020202020202020202020202AA
+:10D66000020202020202020202020202020202029A
+:10D67000020202020202020202020202020202028A
+:10D68000020202020202020202020202020202027A
+:10D69000020202020202020202020202020202026A
+:10D6A000020202020202020202020202020202025A
+:10D6B000020202020202020202020202020202024A
+:10D6C000020202020202020202020202020202023A
+:10D6D000020202020202020202020202020202022A
+:10D6E000020202020202020202020202020202021A
+:10D6F000020202020202020202020202020202020A
+:10D7000002020202020202020202020202020202F9
+:10D7100002020202020202020202020202020202E9
+:10D7200002020202020202020202020202020202D9
+:10D7300002020202020202020202020202020202C9
+:10D7400002020202020202020202020202020202B9
+:10D7500002020202020202020202020202020202A9
+:10D760000202020202020202020202020202020299
+:10D770000202020202020202020202020202020289
+:10D780000202020202020202020202020202020279
+:10D790000202020202020202020202020202020269
+:10D7A0000202020202020202020202020202020259
+:10D7B0000202020202020202020202020202020249
+:10D7C0000202020202020202020202020202020239
+:10D7D0000202020202020202020202020202020229
+:10D7E0000202020202020202020202020202020219
+:10D7F0000202020202020202020202020202020209
+:10D8000002020202020202020202020202020202F8
+:10D8100002020202020202020202020202020202E8
+:10D8200002020202020202020202020202020202D8
+:10D8300002020202020202020202020202020202C8
+:10D8400002020202020202020202020202020202B8
+:10D8500002020202020202020202020202020202A8
+:10D860000202020202020202020202020202020298
+:10D870000202020202020202020202020202020288
+:10D880000202020202020202020202020202020278
+:10D890000202020202020202020202020202020268
+:10D8A0000202020202020202020202020202020258
+:10D8B0000202020202020202020202020202020248
+:10D8C0000202020202020202020202020202020238
+:10D8D0000202020202020202020202020202020228
+:10D8E0000202020202020202020202020202020218
+:10D8F0000202020202020202020202020202020208
+:10D9000002020202020202020202020202020202F7
+:10D9100002020202020202020202020202020202E7
+:10D9200002020202020202020202020202020202D7
+:10D9300002020202020202020202020202020202C7
+:10D9400002020202020202020202020202020202B7
+:10D9500002020202020202020202020202020202A7
+:10D960000202020202020202020202020202020297
+:10D970000202020202020202020202020202020287
+:10D980000202020202020202020202020202020277
+:10D990000202020202020202020202020202020267
+:10D9A0000202020202020202020202020202020257
+:10D9B0000202020202020202020202020202020247
+:10D9C0000202020202020202020202020202020237
+:10D9D0000202020202020202020202020202020227
+:10D9E0000202020202020202020202020202020217
+:10D9F0000202020202020202020202020202020207
+:10DA000002020202020202020202020202020202F6
+:10DA100002020202020202020202020202020202E6
+:10DA200002020202020202020202020202020202D6
+:10DA300002020202020202020202020202020202C6
+:10DA400002020202020202020202020202020202B6
+:10DA500002020202020202020202020202020202A6
+:10DA60000202020202020202020202020202020296
+:10DA70000202020202020202020202020202020286
+:10DA80000202020202020202020202020202020276
+:10DA90000202020202020202020202020202020266
+:10DAA0000202020202020202020202020202020256
+:10DAB0000202020202020202020202020202020246
+:10DAC0000202020202020202020202020202020236
+:10DAD0000202020202020202020202020202020226
+:10DAE0000202020202020202020202020202020216
+:10DAF0000202020202020202020202020202020206
+:10DB000002020202020202020202020202020202F5
+:10DB100002020202020202020202020202020202E5
+:10DB200002020202020202020202020202020202D5
+:10DB300002020202020202020202020202020202C5
+:10DB400002020202020202020202020202020202B5
+:10DB500002020202020202020202020202020202A5
+:10DB60000202020202020202020202020202020295
+:10DB70000202020202020202020202020202020285
+:10DB80000202020202020202020202020202020275
+:10DB90000202020202020202020202020202020265
+:10DBA0000202020202020202020202020202020255
+:10DBB0000202020202020202020202020202020245
+:10DBC0000202020202020202020202020202020235
+:10DBD0000202020202020202020202020202020225
+:10DBE0000202020202020202020202020202020215
+:10DBF0000202020202020202000000000000000015
+:10DC00000000000000000000000000000000000014
+:10DC10000000000000000000000000000000000004
+:10DC200000000000000000000000000000000000F4
+:10DC300000000000000000000000000000000000E4
+:10DC400000000000000000000000000000000000D4
+:10DC500000000000000000000000000000000000C4
+:10DC600000000000000000000000000000000000B4
+:10DC700000000000000000000000000000000000A4
+:10DC80000000000000000000000000000000000094
+:10DC90000000000000000000000000000000000084
+:10DCA0000000000000000000000000000000000074
+:10DCB0000000000000000000000000000000000064
+:10DCC0000000000000000000000000000000000054
+:10DCD0000000000000000000000000000000000044
+:10DCE0000000000000000000000000000000000034
+:10DCF00000000000000000009B0000000000000089
+:10DD00000101010101010101010101010101010103
+:10DD100001010101010101010101010101010101F3
+:10DD200001010101010101010101010101010101E3
+:10DD300001010101010101010101010101010101D3
+:10DD400001010101010101010101010101010101C3
+:10DD500001010101010101010101010101010101B3
+:10DD600001010101010101010101010101010101A3
+:10DD70000101010101010101010101010101010193
+:10DD80000101010101010101010101010101010183
+:10DD90000101010101010101010101010101010173
+:10DDA0000101010101010101010101010101010163
+:10DDB0000101010101010101010101010101010153
+:10DDC0000101010101010101010101010101010143
+:10DDD0000101010101010101010101010101010133
+:10DDE0000101010101010101010101010101010123
+:10DDF0000101010101010101010101010101010113
+:10DE00000101010101010101010101010101010102
+:10DE100001010101010101010101010101010101F2
+:10DE200001010101010101010101010101010101E2
+:10DE300001010101010101010101010101010101D2
+:10DE400001010101010101010101010101010101C2
+:10DE500001010101010101010101010101010101B2
+:10DE600001010101010101010101010101010101A2
+:10DE70000101010101010101010101010101010192
+:10DE80000101010101010101010101010101010182
+:10DE90000101010101010101010101010101010172
+:10DEA0000101010101010101010101010101010162
+:10DEB0000101010101010101010101010101010152
+:10DEC0000101010101010101010101010101010142
+:10DED0000101010101010101010101010101010132
+:10DEE0000101010101010101010101010101010122
+:10DEF0000101010101010101010101010101010112
+:10DF00000101010101010101010101010101010101
+:10DF100001010101010101010101010101010101F1
+:10DF200001010101010101010101010101010101E1
+:10DF300001010101010101010101010101010101D1
+:10DF400001010101010101010101010101010101C1
+:10DF500001010101010101010101010101010101B1
+:10DF600001010101010101010101010101010101A1
+:10DF70000101010101010101010101010101010191
+:10DF80000101010101010101010101010101010181
+:10DF90000101010101010101010101010101010171
+:10DFA0000101010101010101010101010101010161
+:10DFB0000101010101010101010101010101010151
+:10DFC0000101010101010101010101010101010141
+:10DFD0000101010101010101010101010101010131
+:10DFE0000101010101010101010101010101010121
+:10DFF0000101010101010101010101010101010111
+:10E000000101010101010101010101010101010100
+:10E0100001010101010101010101010101010101F0
+:10E0200001010101010101010101010101010101E0
+:10E0300001010101010101010101010101010101D0
+:10E0400001010101010101010101010101010101C0
+:10E0500001010101010101010101010101010101B0
+:10E0600001010101010101010101010101010101A0
+:10E070000101010101010101010101010101010190
+:10E080000101010101010101010101010101010180
+:10E090000101010101010101010101010101010170
+:10E0A0000101010101010101010101010101010160
+:10E0B0000101010101010101010101010101010150
+:10E0C0000101010101010101010101010101010140
+:10E0D0000101010101010101010101010101010130
+:10E0E0000101010101010101010101010101010120
+:10E0F0000101010101010101010101010101010110
+:10E1000001010101010101010101010101010101FF
+:10E1100001010101010101010101010101010101EF
+:10E1200001010101010101010101010101010101DF
+:10E1300001010101010101010101010101010101CF
+:10E1400001010101010101010101010101010101BF
+:10E1500001010101010101010101010101010101AF
+:10E16000010101010101010101010101010101019F
+:10E17000010101010101010101010101010101018F
+:10E18000010101010101010101010101010101017F
+:10E19000010101010101010101010101010101016F
+:10E1A000010101010101010101010101010101015F
+:10E1B000010101010101010101010101010101014F
+:10E1C000010101010101010101010101010101013F
+:10E1D000010101010101010101010101010101012F
+:10E1E000010101010101010101010101010101011F
+:10E1F000010101010101010101010101010101010F
+:10E2000001010101010101010101010101010101FE
+:10E2100001010101010101010101010101010101EE
+:10E2200001010101010101010101010101010101DE
+:10E2300001010101010101010101010101010101CE
+:10E2400001010101010101010101010101010101BE
+:10E2500001010101010101010101010101010101AE
+:10E26000010101010101010101010101010101019E
+:10E27000010101010101010101010101010101018E
+:10E28000010101010101010101010101010101017E
+:10E29000010101010101010101010101010101016E
+:10E2A000010101010101010101010101010101015E
+:10E2B000010101010101010101010101010101014E
+:10E2C000010101010101010101010101010101013E
+:10E2D000010101010101010101010101010101012E
+:10E2E000010101010101010101010101010101011E
+:10E2F000010101010101010101010101010101010E
+:10E3000001010101010101010101010101010101FD
+:10E3100001010101010101010101010101010101ED
+:10E3200001010101010101010101010101010101DD
+:10E3300001010101010101010101010101010101CD
+:10E3400001010101010101010101010101010101BD
+:10E3500001010101010101010101010101010101AD
+:10E36000010101010101010101010101010101019D
+:10E37000010101010101010101010101010101018D
+:10E38000010101010101010101010101010101017D
+:10E39000010101010101010101010101010101016D
+:10E3A000010101010101010101010101010101015D
+:10E3B000010101010101010101010101010101014D
+:10E3C000010101010101010101010101010101013D
+:10E3D000010101010101010101010101010101012D
+:10E3E000010101010101010101010101010101011D
+:10E3F000010101010101010101010101010101010D
+:10E4000001010101010101010101010101010101FC
+:10E4100001010101010101010101010101010101EC
+:10E4200001010101010101010101010101010101DC
+:10E4300001010101010101010101010101010101CC
+:10E4400001010101010101010101010101010101BC
+:10E4500001010101010101010101010101010101AC
+:10E46000010101010101010101010101010101019C
+:10E47000010101010101010101010101010101018C
+:10E48000010101010101010101010101010101017C
+:10E49000010101010101010101010101010101016C
+:10E4A000010101010101010101010101010101015C
+:10E4B000010101010101010101010101010101014C
+:10E4C000010101010101010101010101010101013C
+:10E4D000010101010101010101010101010101012C
+:10E4E000010101010101010101010101010101011C
+:10E4F000010101010101010101010101010101010C
+:10E5000001010101010101010101010101010101FB
+:10E5100001010101010101010101010101010101EB
+:10E5200001010101010101010101010101010101DB
+:10E5300001010101010101010101010101010101CB
+:10E5400001010101010101010101010101010101BB
+:10E5500001010101010101010101010101010101AB
+:10E56000010101010101010101010101010101019B
+:10E57000010101010101010101010101010101018B
+:10E58000010101010101010101010101010101017B
+:10E59000010101010101010101010101010101016B
+:10E5A000010101010101010101010101010101015B
+:10E5B000010101010101010101010101010101014B
+:10E5C000010101010101010101010101010101013B
+:10E5D000010101010101010101010101010101012B
+:10E5E000010101010101010101010101010101011B
+:10E5F000010101010101010101010101010101010B
+:10E6000001010101010101010101010101010101FA
+:10E6100001010101010101010101010101010101EA
+:10E6200001010101010101010101010101010101DA
+:10E6300001010101010101010101010101010101CA
+:10E6400001010101010101010101010101010101BA
+:10E6500001010101010101010101010101010101AA
+:10E66000010101010101010101010101010101019A
+:10E67000010101010101010101010101010101018A
+:10E68000010101010101010101010101010101017A
+:10E69000010101010101010101010101010101016A
+:10E6A000010101010101010101010101010101015A
+:10E6B000010101010101010101010101010101014A
+:10E6C000010101010101010101010101010101013A
+:10E6D000010101010101010101010101010101012A
+:10E6E000010101010101010101010101010101011A
+:10E6F000010101010101010101010101010101010A
+:10E700000000000000000000000000000000000009
+:10E7100000000000000000000000000000000000F9
+:10E7200000000000000000000000000000000000E9
+:10E7300000000000000000000000000000000000D9
+:10E7400000000000000000000000000000000000C9
+:10E7500000000000000000000000000000000000B9
+:10E7600000000000000000000000000000000000A9
+:10E770000000000000000000000000000000000099
+:10E780000000000000000000000000000000000089
+:10E790000000000000000000000000000000000079
+:10E7A0000000000000000000000000000000000069
+:10E7B0000000000000000000000000000000000059
+:10E7C0000000000000000000000000000000000049
+:10E7D0000000000000000000000000000000000039
+:10E7E0000000000000000000000000000000000029
+:10E7F0000000000000000000000000000000000019
+:10E800000000000000000000000000000000000008
+:10E8100000000000000000000000000000000000F8
+:10E8200000000000000000000000000000000000E8
+:10E8300000000000000000000000000000000000D8
+:10E8400000000000000000000000000000000000C8
+:10E8500000000000000000000000000000000000B8
+:10E8600000000000000000000000000000000000A8
+:10E870000000000000000000000000000000000098
+:10E880000000000000000000000000000000000088
+:10E890000000000000000000000000000000000078
+:10E8A0000000000000000000000000000000000068
+:10E8B0000000000000000000000000000000000058
+:10E8C0000000000000000000000000000000000048
+:10E8D0000000000000000000000000000000000038
+:10E8E0000000000000000000000000000000000028
+:10E8F0000000000000000000000000000000000018
+:10E900000000000000000000000000000000000007
+:10E9100000000000000000000000000000000000F7
+:10E9200000000000000000000000000000000000E7
+:10E9300000000000000000000000000000000000D7
+:10E9400000000000000000000000000000000000C7
+:10E9500000000000000000000000000000000000B7
+:10E9600000000000000000000000000000000000A7
+:10E970000000000000000000000000000000000097
+:10E980000000000000000000000000000000000087
+:10E990000000000000000000000000000000000077
+:10E9A0000000000000000000000000000000000067
+:10E9B0000000000000000000000000000000000057
+:10E9C0000000000000000000000000000000000047
+:10E9D0000000000000000000000000000000000037
+:10E9E0000000000000000000000000000000000027
+:10E9F0000000000000000000000000000000000017
+:10EA00000000000000000000000000000000000006
+:10EA100000000000000000000000000000000000F6
+:10EA200000000000000000000000000000000000E6
+:10EA300000000000000000000000000000000000D6
+:10EA400000000000000000000000000000000000C6
+:10EA500000000000000000000000000000000000B6
+:10EA600000000000000000000000000000000000A6
+:10EA70000000000000000000000000000000000096
+:10EA80000000000000000000000000000000000086
+:10EA90000000000000000000000000000000000076
+:10EAA0000000000000000000000000000000000066
+:10EAB0000000000000000000000000000000000056
+:10EAC0000000000000000000000000000000000046
+:10EAD0000000000000000000000000000000000036
+:10EAE0000000000000000000000000000000000026
+:10EAF0000000000000000000000000000000000016
+:10EB00000000000000000000000000000000000005
+:10EB100000000000000000000000000000000000F5
+:10EB200000000000000000000000000000000000E5
+:10EB300000000000000000000000000000000000D5
+:10EB400000000000000000000000000000000000C5
+:10EB500000000000000000000000000000000000B5
+:10EB600000000000000000000000000000000000A5
+:10EB70000000000000000000000000000000000095
+:10EB80000000000000000000000000000000000085
+:10EB90000000000000000000000000000000000075
+:10EBA0000000000000000000000000000000000065
+:10EBB0000000000000000000000000000000000055
+:10EBC0000000000000000000000000000000000045
+:10EBD0000000000000000000000000000000000035
+:10EBE0000000000000000000000000000000000025
+:10EBF0000000000000000000000000000000000015
+:10EC00000000000000000000000000000000000004
+:10EC100000000000000000000000000000000000F4
+:10EC200000000000000000000000000000000000E4
+:10EC300000000000000000000000000000000000D4
+:10EC400000000000000000000000000000000000C4
+:10EC500000000000000000000000000000000000B4
+:10EC600000000000000000000000000000000000A4
+:10EC70000000000000000000000000000000000094
+:10EC80000000000000000000000000000000000084
+:10EC90000000000000000000000000000000000074
+:10ECA0000000000000000000000000000000000064
+:10ECB0000000000000000000000000000000000054
+:10ECC0000000000000000000000000000000000044
+:10ECD0000000000000000000000000000000000034
+:10ECE0000000000000000000000000000000000024
+:10ECF0000000000000000000000000000000000014
+:10ED00000000000000000000000000000000000003
+:10ED100000000000000000000000000000000000F3
+:10ED200000000000000000000000000000000000E3
+:10ED300000000000000000000000000000000000D3
+:10ED400000000000000000000000000000000000C3
+:10ED500000000000000000000000000000000000B3
+:10ED600000000000000000000000000000000000A3
+:10ED70000000000000000000000000000000000093
+:10ED80000000000000000000000000000000000083
+:10ED90000000000000000000000000000000000073
+:10EDA0000000000000000000000000000000000063
+:10EDB0000000000000000000000000000000000053
+:10EDC0000000000000000000000000000000000043
+:10EDD0000000000000000000000000000000000033
+:10EDE0000000000000000000000000000000000023
+:10EDF0000000000000000000000000000000000013
+:10EE00000000000000000000000000000000000002
+:10EE100000000000000000000000000000000000F2
+:10EE200000000000000000000000000000000000E2
+:10EE300000000000000000000000000000000000D2
+:10EE400000000000000000000000000000000000C2
+:10EE500000000000000000000000000000000000B2
+:10EE600000000000000000000000000000000000A2
+:10EE70000000000000000000000000000000000092
+:10EE80000000000000000000000000000000000082
+:10EE90000000000000000000000000000000000072
+:10EEA0000000000000000000000000000000000062
+:10EEB0000000000000000000000000000000000052
+:10EEC0000000000000000000000000000000000042
+:10EED0000000000000000000000000000000000032
+:10EEE0000000000000000000000000000000000022
+:10EEF0000000000000000000000000000000000012
+:10EF00000000000000000000000000000000000001
+:10EF100000000000000000000000000000000000F1
+:10EF200000000000000000000000000000000000E1
+:10EF300000000000000000000000000000000000D1
+:10EF400000000000000000000000000000000000C1
+:10EF500000000000000000000000000000000000B1
+:10EF600000000000000000000000000000000000A1
+:10EF70000000000000000000000000000000000091
+:10EF80000000000000000000000000000000000081
+:10EF90000000000000000000000000000000000071
+:10EFA0000000000000000000000000000000000061
+:10EFB0000000000000000000000000000000000051
+:10EFC0000000000000000000000000000000000041
+:10EFD0000000000000000000000000000000000031
+:10EFE0000000000000000000000000000000000021
+:10EFF0000000000000000000000000000000000011
+:10F000000000000000000000000000000000000000
+:10F0100000000000000000000000000000000000F0
+:10F0200000000000000000000000000000000000E0
+:10F0300000000000000000000000000000000000D0
+:10F0400000000000000000000000000000000000C0
+:10F0500000000000000000000000000000000000B0
+:10F0600000000000000000000000000000000000A0
+:10F070000000000000000000000000000000000090
+:10F080000000000000000000000000000000000080
+:10F090000000000000000000000000000000000070
+:10F0A0000000000000000000000000000000000060
+:10F0B0000000000000000000000000000000000050
+:10F0C0000000000000000000000000000000000040
+:10F0D0000000000000000000000000000000000030
+:10F0E0000000000000000000000000000000000020
+:10F0F0000000000000000000000000000000000010
+:10F1000000000000000000000000000000000000FF
+:10F1100000000000000000000000000000000000EF
+:10F1200000000000000000000000000000000000DF
+:10F1300000000000000000000000000000000000CF
+:10F1400000000000000000000000000000000000BF
+:10F1500000000000000000000000000000000000AF
+:10F16000000000000000000000000000000000009F
+:10F17000000000000000000000000000000000008F
+:10F18000000000000000000000000000000000007F
+:10F19000000000000000000000000000000000006F
+:10F1A000000000000000000000000000000000005F
+:10F1B000000000000000000000000000000000004F
+:10F1C000000000000000000000000000000000003F
+:10F1D000000000000000000000000000000000002F
+:10F1E000000000000000000000000000000000001F
+:10F1F000000000000000000000000000000000000F
+:10F2000000000000000000000000000000000000FE
+:10F2100000000000000000000000000000000000EE
+:10F2200000000000000000000000000000000000DE
+:10F2300000000000000000000000000000000000CE
+:10F2400000000000000000000000000000000000BE
+:10F2500000000000000000000000000000000000AE
+:10F26000000000000000000000000000000000009E
+:10F27000000000000000000000000000000000008E
+:10F28000000000000000000000000000000000007E
+:10F29000000000000000000000000000000000006E
+:10F2A000000000000000000000000000000000005E
+:10F2B000000000000000000000000000000000004E
+:10F2C000000000000000000000000000000000003E
+:10F2D000000000000000000000000000000000002E
+:10F2E000000000000000000000000000000000001E
+:10F2F000000000000000000000000000000000000E
+:10F3000000000000000000000000000000000000FD
+:10F3100000000000000000000000000000000000ED
+:10F3200000000000000000000000000000000000DD
+:10F3300000000000000000000000000000000000CD
+:10F3400000000000000000000000000000000000BD
+:10F3500000000000000000000000000000000000AD
+:10F36000000000000000000000000000000000009D
+:10F37000000000000000000000000000000000008D
+:10F38000000000000000000000000000000000007D
+:10F39000000000000000000000000000000000006D
+:10F3A000000000000000000000000000000000005D
+:10F3B000000000000000000000000000000000004D
+:10F3C000000000000000000000000000000000003D
+:10F3D000000000000000000000000000000000002D
+:10F3E000000000000000000000000000000000001D
+:10F3F000000000000000000000000000000000000D
+:10F4000000000000000000000000000000000000FC
+:10F4100000000000000000000000000000000000EC
+:10F4200000000000000000000000000000000000DC
+:10F4300000000000000000000000000000000000CC
+:10F4400000000000000000000000000000000000BC
+:10F4500000000000000000000000000000000000AC
+:10F46000000000000000000000000000000000009C
+:10F47000000000000000000000000000000000008C
+:10F48000000000000000000000000000000000007C
+:10F49000000000000000000000000000000000006C
+:10F4A000000000000000000000000000000000005C
+:10F4B000000000000000000000000000000000004C
+:10F4C000000000000000000000000000000000003C
+:10F4D000000000000000000000000000000000002C
+:10F4E000000000000000000000000000000000001C
+:10F4F000000000000000000000000000000000000C
+:10F5000000000000000000000000000000000000FB
+:10F5100000000000000000000000000000000000EB
+:10F5200000000000000000000000000000000000DB
+:10F5300000000000000000000000000000000000CB
+:10F5400000000000000000000000000000000000BB
+:10F5500000000000000000000000000000000000AB
+:10F56000000000000000000000000000000000009B
+:10F57000000000000000000000000000000000008B
+:10F58000000000000000000000000000000000007B
+:10F59000000000000000000000000000000000006B
+:10F5A000000000000000000000000000000000005B
+:10F5B000000000000000000000000000000000004B
+:10F5C000000000000000000000000000000000003B
+:10F5D000000000000000000000000000000000002B
+:10F5E000000000000000000000000000000000001B
+:10F5F000000000000000000000000000000000000B
+:10F6000000000000000000000000000000000000FA
+:10F6100000000000000000000000000000000000EA
+:10F6200000000000000000000000000000000000DA
+:10F6300000000000000000000000000000000000CA
+:10F6400000000000000000000000000000000000BA
+:10F6500000000000000000000000000000000000AA
+:10F66000000000000000000000000000000000009A
+:10F67000000000000000000000000000000000008A
+:10F68000000000000000000000000000000000007A
+:10F69000000000000000000000000000000000006A
+:10F6A000000000000000000000000000000000005A
+:10F6B000000000000000000000000000000000004A
+:10F6C000000000000000000000000000000000003A
+:10F6D000000000000000000000000000000000002A
+:10F6E000000000000000000000000000000000001A
+:10F6F000000000000000000000000000000000000A
+:10F7000000000000000000000000000000000000F9
+:10F7100000000000000000000000000000000000E9
+:10F7200000000000000000000000000000000000D9
+:10F7300000000000000000000000000000000000C9
+:10F7400000000000000000000000000000000000B9
+:10F7500000000000000000000000000000000000A9
+:10F760000000000000000000000000000000000099
+:10F770000000000000000000000000000000000089
+:10F780000000000000000000000000000000000079
+:10F790000000000000000000000000000000000069
+:10F7A0000000000000000000000000000000000059
+:10F7B0000000000000000000000000000000000049
+:10F7C0000000000000000000000000000000000039
+:10F7D0000000000000000000000000000000000029
+:10F7E0000000000000000000000000000000000019
+:10F7F0000000000000000000000000000000000009
+:10F8000000000000000000000000000000000000F8
+:10F8100000000000000000000000000000000000E8
+:10F8200000000000000000000000000000000000D8
+:10F8300000000000000000000000000000000000C8
+:10F8400000000000000000000000000000000000B8
+:10F8500000000000000000000000000000000000A8
+:10F860000000000000000000000000000000000098
+:10F870000000000000000000000000000000000088
+:10F880000000000000000000000000000000000078
+:10F890000000000000000000000000000000000068
+:10F8A0000000000000000000000000000000000058
+:10F8B0000000000000000000000000000000000048
+:10F8C0000000000000000000000000000000000038
+:10F8D0000000000000000000000000000000000028
+:10F8E0000000000000000000000000000000000018
+:10F8F0000000000000000000000000000000000008
+:10F9000000000000000000000000000000000000F7
+:10F9100000000000000000000000000000000000E7
+:10F9200000000000000000000000000000000000D7
+:10F9300000000000000000000000000000000000C7
+:10F9400000000000000000000000000000000000B7
+:10F9500000000000000000000000000000000000A7
+:10F960000000000000000000000000000000000097
+:10F970000000000000000000000000000000000087
+:10F980000000000000000000000000000000000077
+:10F990000000000000000000000000000000000067
+:10F9A0000000000000000000000000000000000057
+:10F9B0000000000000000000000000000000000047
+:10F9C0000000000000000000000000000000000037
+:10F9D0000000000000000000000000000000000027
+:10F9E0000000000000000000000000000000000017
+:10F9F0000000000000000000000000000000000007
+:10FA000001010101010101010101010101010101E6
+:10FA100001010101010101010101010101010101D6
+:10FA200001010101010101010101010101010101C6
+:10FA300001010101010101010101010101010101B6
+:10FA400001010101010101010101010101010101A6
+:10FA50000101010101010101010101010101010196
+:10FA60000101010101010101010101010101010186
+:10FA70000101010101010101010101010101010176
+:10FA80000101010101010101010101010101010166
+:10FA90000101010101010101010101010101010156
+:10FAA0000101010101010101010101010101010146
+:10FAB0000101010101010101010101010101010136
+:10FAC0000101010101010101010101010101010126
+:10FAD0000101010101010101010101010101010116
+:10FAE0000101010101010101010101010101010106
+:10FAF00001010101010101010101010101010101F6
+:10FB000001010101010101010101010101010101E5
+:10FB100001010101010101010101010101010101D5
+:10FB200001010101010101010101010101010101C5
+:10FB300001010101010101010101010101010101B5
+:10FB400001010101010101010101010101010101A5
+:10FB50000101010101010101010101010101010195
+:10FB60000101010101010101010101010101010185
+:10FB70000101010101010101010101010101010175
+:10FB80000101010101010101010101010101010165
+:10FB90000101010101010101010101010101010155
+:10FBA0000101010101010101010101010101010145
+:10FBB0000101010101010101010101010101010135
+:10FBC0000101010101010101010101010101010125
+:10FBD0000101010101010101010101010101010115
+:10FBE0000101010101010101010101010101010105
+:10FBF00001010101010101010101010101010101F5
+:10FC000001010101010101010101010101010101E4
+:10FC100001010101010101010101010101010101D4
+:10FC200001010101010101010101010101010101C4
+:10FC300001010101010101010101010101010101B4
+:10FC400001010101010101010101010101010101A4
+:10FC50000101010101010101010101010101010194
+:10FC60000101010101010101010101010101010184
+:10FC70000101010101010101010101010101010174
+:10FC80000101010101010101010101010101010164
+:10FC90000101010101010101010101010101010154
+:10FCA0000101010101010101010101010101010144
+:10FCB0000101010101010101010101010101010134
+:10FCC0000101010101010101010101010101010124
+:10FCD0000101010101010101010101010101010114
+:10FCE0000101010101010101010101010101010104
+:10FCF00001010101010101010101010101010101F4
+:10FD000001010101010101010101010101010101E3
+:10FD100001010101010101010101010101010101D3
+:10FD200001010101010101010101010101010101C3
+:10FD300001010101010101010101010101010101B3
+:10FD400001010101010101010101010101010101A3
+:10FD50000101010101010101010101010101010193
+:10FD60000101010101010101010101010101010183
+:10FD70000101010101010101010101010101010173
+:10FD80000101010101010101010101010101010163
+:10FD90000101010101010101010101010101010153
+:10FDA0000101010101010101010101010101010143
+:10FDB0000101010101010101010101010101010133
+:10FDC0000101010101010101010101010101010123
+:10FDD0000101010101010101010101010101010113
+:10FDE0000101010101010101010101010101010103
+:10FDF00001010101010101010101010101010101F3
+:10FE000001010101010101010101010101010101E2
+:10FE100001010101010101010101010101010101D2
+:10FE200001010101010101010101010101010101C2
+:10FE300001010101010101010101010101010101B2
+:10FE400001010101010101010101010101010101A2
+:10FE50000101010101010101010101010101010192
+:10FE60000101010101010101010101010101010182
+:10FE70000101010101010101010101010101010172
+:10FE80000101010101010101010101010101010162
+:10FE90000101010101010101010101010101010152
+:10FEA0000101010101010101010101010101010142
+:10FEB0000101010101010101010101010101010132
+:10FEC0000101010101010101010101010101010122
+:10FED0000101010101010101010101010101010112
+:10FEE0000101010101010101010101010101010102
+:10FEF00001010101010101010101010101010101F2
+:10FF000001010101010101010101010101010101E1
+:10FF100001010101010101010101010101010101D1
+:10FF200001010101010101010101010101010101C1
+:10FF300001010101010101010101010101010101B1
+:10FF400001010101010101010101010101010101A1
+:10FF50000101010101010101010101010101010191
+:10FF60000101010101010101010101010101010181
+:10FF70000101010101010101010101010101010171
+:10FF80000101010101010101010101010101010161
+:10FF90000101010101010101010101010101010151
+:10FFA0000101010101010101010101010101010141
+:10FFB0000101010101010101010101010101010131
+:10FFC0000101010101010101010101010101010121
+:10FFD0000101010101010101010101010101010111
+:10FFE0000101010101010101010101010101010101
+:10FFF00001010101010101010101010101010101F1
+:020000022000DC
+:1000000001010101010101010101010101010101E0
+:1000100001010101010101010101010101010101D0
+:1000200001010101010101010101010101010101C0
+:1000300001010101010101010101010101010101B0
+:1000400001010101010101010101010101010101A0
+:100050000101010101010101010101010101010190
+:100060000101010101010101010101010101010180
+:100070000101010101010101010101010101010170
+:100080000101010101010101010101010101010160
+:100090000101010101010101010101010101010150
+:1000A0000101010101010101010101010101010140
+:1000B0000101010101010101010101010101010130
+:1000C0000101010101010101010101010101010120
+:1000D0000101010101010101010101010101010110
+:1000E0000101010101010101010101010101010100
+:1000F00001010101010101010101010101010101F0
+:1001000001010101010101010101010101010101DF
+:1001100001010101010101010101010101010101CF
+:1001200001010101010101010101010101010101BF
+:1001300001010101010101010101010101010101AF
+:10014000010101010101010101010101010101019F
+:10015000010101010101010101010101010101018F
+:10016000010101010101010101010101010101017F
+:10017000010101010101010101010101010101016F
+:10018000010101010101010101010101010101015F
+:10019000010101010101010101010101010101014F
+:1001A000010101010101010101010101010101013F
+:1001B000010101010101010101010101010101012F
+:1001C000010101010101010101010101010101011F
+:1001D000010101010101010101010101010101010F
+:1001E00001010101010101010101010101010101FF
+:1001F00001010101010101010101010101010101EF
+:1002000001010101010101010101010101010101DE
+:1002100001010101010101010101010101010101CE
+:1002200001010101010101010101010101010101BE
+:1002300001010101010101010101010101010101AE
+:10024000010101010101010101010101010101019E
+:10025000010101010101010101010101010101018E
+:10026000010101010101010101010101010101017E
+:10027000010101010101010101010101010101016E
+:10028000010101010101010101010101010101015E
+:10029000010101010101010101010101010101014E
+:1002A000010101010101010101010101010101013E
+:1002B000010101010101010101010101010101012E
+:1002C000010101010101010101010101010101011E
+:1002D000010101010101010101010101010101010E
+:1002E00001010101010101010101010101010101FE
+:1002F00001010101010101010101010101010101EE
+:1003000001010101010101010101010101010101DD
+:1003100001010101010101010101010101010101CD
+:1003200001010101010101010101010101010101BD
+:1003300001010101010101010101010101010101AD
+:10034000010101010101010101010101010101019D
+:10035000010101010101010101010101010101018D
+:10036000010101010101010101010101010101017D
+:10037000010101010101010101010101010101016D
+:10038000010101010101010101010101010101015D
+:10039000010101010101010101010101010101014D
+:1003A000010101010101010101010101010101013D
+:1003B000010101010101010101010101010101012D
+:1003C000010101010101010101010101010101011D
+:1003D000010101010101010101010101010101010D
+:1003E00001010101010101010101010101010101FD
+:1003F00001010101010101010101010101010101ED
+:1004000000000000000000000000000000000000EC
+:1004100000000000000000000000000000000000DC
+:1004200000000000000000000000000000000000CC
+:1004300000000000000000000000000000000000BC
+:1004400000000000000000000000000000000000AC
+:10045000000000000000000000000000000000009C
+:10046000000000000000000000000000000000008C
+:10047000000000000000000000000000000000007C
+:10048000000000000000000000000000000000006C
+:10049000000000000000000000000000000000005C
+:1004A000000000000000000000000000000000004C
+:1004B000000000000000000000000000000000003C
+:1004C000000000000000000000000000000000002C
+:1004D000000000000000000000000000000000001C
+:1004E000000000000000000000000000000000000C
+:1004F00000000000000000000000000000000000FC
+:1005000000000000000000000000000000000000EB
+:1005100000000000000000000000000000000000DB
+:1005200000000000000000000000000000000000CB
+:1005300000000000000000000000000000000000BB
+:1005400000000000000000000000000000000000AB
+:10055000000000000000000000000000000000009B
+:10056000000000000000000000000000000000008B
+:10057000000000000000000000000000000000007B
+:10058000000000000000000000000000000000006B
+:10059000000000000000000000000000000000005B
+:1005A000000000000000000000000000000000004B
+:1005B000000000000000000000000000000000003B
+:1005C000000000000000000000000000000000002B
+:1005D000000000000000000000000000000000001B
+:1005E000000000000000000000000000000000000B
+:1005F00000000000000000000000000000000000FB
+:1006000000000000000000000000000000000000EA
+:1006100000000000000000000000000000000000DA
+:1006200000000000000000000000000000000000CA
+:1006300000000000000000000000000000000000BA
+:1006400000000000000000000000000000000000AA
+:10065000000000000000000000000000000000009A
+:10066000000000000000000000000000000000008A
+:10067000000000000000000000000000000000007A
+:10068000000000000000000000000000000000006A
+:10069000000000000000000000000000000000005A
+:1006A000000000000000000000000000000000004A
+:1006B000000000000000000000000000000000003A
+:1006C000000000000000000000000000000000002A
+:1006D000000000000000000000000000000000001A
+:1006E000000000000000000000000000000000000A
+:1006F00000000000000000000000000000000000FA
+:1007000000000000000000000000000000000000E9
+:1007100000000000000000000000000000000000D9
+:1007200000000000000000000000000000000000C9
+:1007300000000000000000000000000000000000B9
+:1007400000000000000000000000000000000000A9
+:100750000000000000000000000000000000000099
+:100760000000000000000000000000000000000089
+:100770000000000000000000000000000000000079
+:100780000000000000000000000000000000000069
+:100790000000000000000000000000000000000059
+:1007A0000000000000000000000000000000000049
+:1007B0000000000000000000000000000000000039
+:1007C0000000000000000000000000000000000029
+:1007D0000000000000000000000000000000000019
+:1007E0000000000000000000000000000000000009
+:1007F00000000000000000000000000000000000F9
+:1008000000000000000000000000000000000000E8
+:1008100000000000000000000000000000000000D8
+:1008200000000000000000000000000000000000C8
+:1008300000000000000000000000000000000000B8
+:1008400000000000000000000000000000000000A8
+:100850000000000000000000000000000000000098
+:100860000000000000000000000000000000000088
+:100870000000000000000000000000000000000078
+:100880000000000000000000000000000000000068
+:100890000000000000000000000000000000000058
+:1008A0000000000000000000000000000000000048
+:1008B0000000000000000000000000000000000038
+:1008C0000000000000000000000000000000000028
+:1008D0000000000000000000000000000000000018
+:1008E0000000000000000000000000000000000008
+:1008F00000000000000000000000000000000000F8
+:1009000001010101010101010101010101010101D7
+:1009100001010101010101010101010101010101C7
+:1009200001010101010101010101010101010101B7
+:1009300001010101010101010101010101010101A7
+:100940000101010101010101010101010101010197
+:100950000101010101010101010101010101010187
+:100960000101010101010101010101010101010177
+:100970000101010101010101010101010101010167
+:100980000101010101010101010101010101010157
+:100990000101010101010101010101010101010147
+:1009A0000101010101010101010101010101010137
+:1009B0000101010101010101010101010101010127
+:1009C0000101010101010101010101010101010117
+:1009D0000101010101010101010101010101010107
+:1009E00001010101010101010101010101010101F7
+:1009F00001010101010101010101010101010101E7
+:100A000001010101010101010101010101010101D6
+:100A100001010101010101010101010101010101C6
+:100A200001010101010101010101010101010101B6
+:100A300001010101010101010101010101010101A6
+:100A40000101010101010101010101010101010196
+:100A50000101010101010101010101010101010186
+:100A60000101010101010101010101010101010176
+:100A70000101010101010101010101010101010166
+:100A80000101010101010101010101010101010156
+:100A90000101010101010101010101010101010146
+:100AA0000101010101010101010101010101010136
+:100AB0000101010101010101010101010101010126
+:100AC0000101010101010101010101010101010116
+:100AD0000101010101010101010101010101010106
+:100AE00001010101010101010101010101010101F6
+:100AF00001010101010101010101010101010101E6
+:100B000002020202020202020202020202020202C5
+:100B100002020202020202020202020202020202B5
+:100B200002020202020202020202020202020202A5
+:100B30000202020202020202020202020202020295
+:100B40000202020202020202020202020202020285
+:100B50000202020202020202020202020202020275
+:100B60000202020202020202020202020202020265
+:100B70000202020202020202020202020202020255
+:100B80000202020202020202020202020202020245
+:100B90000202020202020202020202020202020235
+:100BA0000202020202020202020202020202020225
+:100BB0000202020202020202020202020202020215
+:100BC0000202020202020202020202020202020205
+:100BD00002020202020202020202020202020202F5
+:100BE00002020202020202020202020202020202E5
+:100BF00002020202020202020202020202020202D5
+:100C000002020202020202020202020202020202C4
+:100C100002020202020202020202020202020202B4
+:100C200002020202020202020202020202020202A4
+:100C30000202020202020202020202020202020294
+:100C40000202020202020202020202020202020284
+:100C50000202020202020202020202020202020274
+:100C60000202020202020202020202020202020264
+:100C70000202020202020202020202020202020254
+:100C80000202020202020202020202020202020244
+:100C90000202020202020202020202020202020234
+:100CA0000202020202020202020202020202020224
+:100CB0000202020202020202020202020202020214
+:100CC0000202020202020202020202020202020204
+:100CD00002020202020202020202020202020202F4
+:100CE00002020202020202020202020202020202E4
+:100CF00002020202020202020202020202020202D4
+:100D000002020202020202020202020202020202C3
+:100D100002020202020202020202020202020202B3
+:100D200002020202020202020202020202020202A3
+:100D30000202020202020202020202020202020293
+:100D40000202020202020202020202020202020283
+:100D50000202020202020202020202020202020273
+:100D60000202020202020202020202020202020263
+:100D70000202020202020202020202020202020253
+:100D80000202020202020202020202020202020243
+:100D90000202020202020202020202020202020233
+:100DA0000202020202020202020202020202020223
+:100DB0000202020202020202020202020202020213
+:100DC0000202020202020202020202020202020203
+:100DD00002020202020202020202020202020202F3
+:100DE00002020202020202020202020202020202E3
+:100DF00002020202020202020202020202020202D3
+:100E000002020202020202020202020202020202C2
+:100E100002020202020202020202020202020202B2
+:100E200002020202020202020202020202020202A2
+:100E30000202020202020202020202020202020292
+:100E40000202020202020202020202020202020282
+:100E50000202020202020202020202020202020272
+:100E60000202020202020202020202020202020262
+:100E70000202020202020202020202020202020252
+:100E80000202020202020202020202020202020242
+:100E90000202020202020202020202020202020232
+:100EA0000202020202020202020202020202020222
+:100EB0000202020202020202020202020202020212
+:100EC0000202020202020202020202020202020202
+:100ED00002020202020202020202020202020202F2
+:100EE00002020202020202020202020202020202E2
+:100EF00002020202020202020202020202020202D2
+:100F000002020202020202020202020202020202C1
+:100F100002020202020202020202020202020202B1
+:100F200002020202020202020202020202020202A1
+:100F30000202020202020202020202020202020291
+:100F40000202020202020202020202020202020281
+:100F50000202020202020202020202020202020271
+:100F60000202020202020202020202020202020261
+:100F70000202020202020202020202020202020251
+:100F80000202020202020202020202020202020241
+:100F90000202020202020202020202020202020231
+:100FA0000202020202020202020202020202020221
+:100FB0000202020202020202020202020202020211
+:100FC0000202020202020202020202020202020201
+:100FD00002020202020202020202020202020202F1
+:100FE00002020202020202020202020202020202E1
+:100FF00002020202020202020202020202020202D1
+:1010000002020202020202020202020202020202C0
+:1010100002020202020202020202020202020202B0
+:1010200002020202020202020202020202020202A0
+:101030000202020202020202020202020202020290
+:101040000202020202020202020202020202020280
+:101050000202020202020202020202020202020270
+:101060000202020202020202020202020202020260
+:101070000202020202020202020202020202020250
+:101080000202020202020202020202020202020240
+:101090000202020202020202020202020202020230
+:1010A0000202020202020202020202020202020220
+:1010B0000202020202020202020202020202020210
+:1010C0000202020202020202020202020202020200
+:1010D00002020202020202020202020202020202F0
+:1010E00002020202020202020202020202020202E0
+:1010F00002020202020202020202020202020202D0
+:1011000002020202020202020202020202020202BF
+:1011100002020202020202020202020202020202AF
+:10112000020202020202020202020202020202029F
+:10113000020202020202020202020202020202028F
+:10114000020202020202020202020202020202027F
+:10115000020202020202020202020202020202026F
+:10116000020202020202020202020202020202025F
+:10117000020202020202020202020202020202024F
+:10118000020202020202020202020202020202023F
+:10119000020202020202020202020202020202022F
+:1011A000020202020202020202020202020202021F
+:1011B000020202020202020202020202020202020F
+:1011C00002020202020202020202020202020202FF
+:1011D00002020202020202020202020202020202EF
+:1011E00002020202020202020202020202020202DF
+:1011F00002020202020202020202020202020202CF
+:1012000002020202020202020202020202020202BE
+:1012100002020202020202020202020202020202AE
+:10122000020202020202020202020202020202029E
+:10123000020202020202020202020202020202028E
+:10124000020202020202020202020202020202027E
+:10125000020202020202020202020202020202026E
+:10126000020202020202020202020202020202025E
+:10127000020202020202020202020202020202024E
+:10128000020202020202020202020202020202023E
+:10129000020202020202020202020202020202022E
+:1012A000020202020202020202020202020202021E
+:1012B000020202020202020202020202020202020E
+:1012C00002020202020202020202020202020202FE
+:1012D00002020202020202020202020202020202EE
+:1012E00002020202020202020202020202020202DE
+:1012F00002020202020202020202020202020202CE
+:1013000002020202020202020202020202020202BD
+:1013100002020202020202020202020202020202AD
+:10132000020202020202020202020202020202029D
+:10133000020202020202020202020202020202028D
+:10134000020202020202020202020202020202027D
+:10135000020202020202020202020202020202026D
+:10136000020202020202020202020202020202025D
+:10137000020202020202020202020202020202024D
+:10138000020202020202020202020202020202023D
+:10139000020202020202020202020202020202022D
+:1013A000020202020202020202020202020202021D
+:1013B000020202020202020202020202020202020D
+:1013C00002020202020202020202020202020202FD
+:1013D00002020202020202020202020202020202ED
+:1013E00002020202020202020202020202020202DD
+:1013F00002020202020202020202020202020202CD
+:1014000002020202020202020202020202020202BC
+:1014100002020202020202020202020202020202AC
+:10142000020202020202020202020202020202029C
+:10143000020202020202020202020202020202028C
+:10144000020202020202020202020202020202027C
+:10145000020202020202020202020202020202026C
+:10146000020202020202020202020202020202025C
+:10147000020202020202020202020202020202024C
+:10148000020202020202020202020202020202023C
+:10149000020202020202020202020202020202022C
+:1014A000020202020202020202020202020202021C
+:1014B000020202020202020202020202020202020C
+:1014C00002020202020202020202020202020202FC
+:1014D00002020202020202020202020202020202EC
+:1014E00002020202020202020202020202020202DC
+:1014F00002020202020202020202020202020202CC
+:1015000002020202020202020202020202020202BB
+:1015100002020202020202020202020202020202AB
+:10152000020202020202020202020202020202029B
+:10153000020202020202020202020202020202028B
+:10154000020202020202020202020202020202027B
+:10155000020202020202020202020202020202026B
+:10156000020202020202020202020202020202025B
+:10157000020202020202020202020202020202024B
+:10158000020202020202020202020202020202023B
+:10159000020202020202020202020202020202022B
+:1015A000020202020202020202020202020202021B
+:1015B000020202020202020202020202020202020B
+:1015C00002020202020202020202020202020202FB
+:1015D00002020202020202020202020202020202EB
+:1015E00002020202020202020202020202020202DB
+:1015F00002020202020202020202020202020202CB
+:1016000002020202020202020202020202020202BA
+:1016100002020202020202020202020202020202AA
+:10162000020202020202020202020202020202029A
+:10163000020202020202020202020202020202028A
+:10164000020202020202020202020202020202027A
+:10165000020202020202020202020202020202026A
+:10166000020202020202020202020202020202025A
+:10167000020202020202020202020202020202024A
+:10168000020202020202020202020202020202023A
+:10169000020202020202020202020202020202022A
+:1016A000020202020202020202020202020202021A
+:1016B000020202020202020202020202020202020A
+:1016C00002020202020202020202020202020202FA
+:1016D00002020202020202020202020202020202EA
+:1016E00002020202020202020202020202020202DA
+:1016F00002020202020202020202020202020202CA
+:1017000002020202020202020202020202020202B9
+:1017100002020202020202020202020202020202A9
+:101720000202020202020202020202020202020299
+:101730000202020202020202020202020202020289
+:101740000202020202020202020202020202020279
+:101750000202020202020202020202020202020269
+:101760000202020202020202020202020202020259
+:101770000202020202020202020202020202020249
+:101780000202020202020202020202020202020239
+:101790000202020202020202020202020202020229
+:1017A0000202020202020202020202020202020219
+:1017B0000202020202020202020202020202020209
+:1017C00002020202020202020202020202020202F9
+:1017D00002020202020202020202020202020202E9
+:1017E00002020202020202020202020202020202D9
+:1017F00002020202020202020202020202020202C9
+:1018000002020202020202020202020202020202B8
+:1018100002020202020202020202020202020202A8
+:101820000202020202020202020202020202020298
+:101830000202020202020202020202020202020288
+:101840000202020202020202020202020202020278
+:101850000202020202020202020202020202020268
+:101860000202020202020202020202020202020258
+:101870000202020202020202020202020202020248
+:101880000202020202020202020202020202020238
+:101890000202020202020202020202020202020228
+:1018A0000202020202020202020202020202020218
+:1018B0000202020202020202020202020202020208
+:1018C00002020202020202020202020202020202F8
+:1018D00002020202020202020202020202020202E8
+:1018E00002020202020202020202020202020202D8
+:1018F00002020202020202020202020202020202C8
+:1019000002020202020202020202020202020202B7
+:1019100002020202020202020202020202020202A7
+:101920000202020202020202020202020202020297
+:101930000202020202020202020202020202020287
+:101940000202020202020202020202020202020277
+:101950000202020202020202020202020202020267
+:101960000202020202020202020202020202020257
+:101970000202020202020202020202020202020247
+:101980000202020202020202020202020202020237
+:101990000202020202020202020202020202020227
+:1019A0000202020202020202020202020202020217
+:1019B0000202020202020202020202020202020207
+:1019C00002020202020202020202020202020202F7
+:1019D00002020202020202020202020202020202E7
+:1019E00002020202020202020202020202020202D7
+:1019F00002020202020202020202020202020202C7
+:101A000002020202020202020202020202020202B6
+:101A100002020202020202020202020202020202A6
+:101A20000202020202020202020202020202020296
+:101A30000202020202020202020202020202020286
+:101A40000202020202020202020202020202020276
+:101A50000202020202020202020202020202020266
+:101A60000202020202020202020202020202020256
+:101A70000202020202020202020202020202020246
+:101A80000202020202020202020202020202020236
+:101A90000202020202020202020202020202020226
+:101AA0000202020202020202020202020202020216
+:101AB0000202020202020202020202020202020206
+:101AC00002020202020202020202020202020202F6
+:101AD00002020202020202020202020202020202E6
+:101AE00002020202020202020202020202020202D6
+:101AF00002020202020202020202020202020202C6
+:101B000002020202020202020202020202020202B5
+:101B100002020202020202020202020202020202A5
+:101B20000202020202020202020202020202020295
+:101B30000202020202020202020202020202020285
+:101B40000202020202020202020202020202020275
+:101B50000202020202020202020202020202020265
+:101B60000202020202020202020202020202020255
+:101B70000202020202020202020202020202020245
+:101B80000202020202020202020202020202020235
+:101B90000202020202020202020202020202020225
+:101BA0000202020202020202020202020202020215
+:101BB0000202020202020202020202020202020205
+:101BC00002020202020202020202020202020202F5
+:101BD00002020202020202020202020202020202E5
+:101BE00002020202020202020202020202020202D5
+:101BF00002020202020202020202020202020202C5
+:101C000002020202020202020202020202020202B4
+:101C100002020202020202020202020202020202A4
+:101C20000202020202020202020202020202020294
+:101C30000202020202020202020202020202020284
+:101C40000202020202020202020202020202020274
+:101C50000202020202020202020202020202020264
+:101C60000202020202020202020202020202020254
+:101C70000202020202020202020202020202020244
+:101C80000202020202020202020202020202020234
+:101C90000202020202020202020202020202020224
+:101CA0000202020202020202020202020202020214
+:101CB0000202020202020202020202020202020204
+:101CC00002020202020202020202020202020202F4
+:101CD00002020202020202020202020202020202E4
+:101CE00002020202020202020202020202020202D4
+:101CF00002020202020202020202020202020202C4
+:101D000002020202020202020202020202020202B3
+:101D100002020202020202020202020202020202A3
+:101D20000202020202020202020202020202020293
+:101D30000202020202020202020202020202020283
+:101D40000202020202020202020202020202020273
+:101D50000202020202020202020202020202020263
+:101D60000202020202020202020202020202020253
+:101D70000202020202020202020202020202020243
+:101D80000202020202020202020202020202020233
+:101D90000202020202020202020202020202020223
+:101DA0000202020202020202020202020202020213
+:101DB0000202020202020202020202020202020203
+:101DC00002020202020202020202020202020202F3
+:101DD00002020202020202020202020202020202E3
+:101DE00002020202020202020202020202020202D3
+:101DF00002020202020202020202020202020202C3
+:101E000002020202020202020202020202020202B2
+:101E100002020202020202020202020202020202A2
+:101E20000202020202020202020202020202020292
+:101E30000202020202020202020202020202020282
+:101E40000202020202020202020202020202020272
+:101E50000202020202020202020202020202020262
+:101E60000202020202020202020202020202020252
+:101E70000202020202020202020202020202020242
+:101E80000202020202020202020202020202020232
+:101E90000202020202020202020202020202020222
+:101EA0000202020202020202020202020202020212
+:101EB0000202020202020202020202020202020202
+:101EC00002020202020202020202020202020202F2
+:101ED00002020202020202020202020202020202E2
+:101EE00002020202020202020202020202020202D2
+:101EF00002020202020202020202020202020202C2
+:101F000002020202020202020202020202020202B1
+:101F100002020202020202020202020202020202A1
+:101F20000202020202020202020202020202020291
+:101F30000202020202020202020202020202020281
+:101F40000202020202020202020202020202020271
+:101F50000202020202020202020202020202020261
+:101F60000202020202020202020202020202020251
+:101F70000202020202020202020202020202020241
+:101F80000202020202020202020202020202020231
+:101F90000202020202020202020202020202020221
+:101FA0000202020202020202020202020202020211
+:101FB0000202020202020202020202020202020201
+:101FC00002020202020202020202020202020202F1
+:101FD00002020202020202020202020202020202E1
+:101FE00002020202020202020202020202020202D1
+:101FF00002020202020202020202020202020202C1
+:1020000002020202020202020202020202020202B0
+:1020100002020202020202020202020202020202A0
+:102020000202020202020202020202020202020290
+:102030000202020202020202020202020202020280
+:102040000202020202020202020202020202020270
+:102050000202020202020202020202020202020260
+:102060000202020202020202020202020202020250
+:102070000202020202020202020202020202020240
+:102080000202020202020202020202020202020230
+:102090000202020202020202020202020202020220
+:1020A0000202020202020202020202020202020210
+:1020B0000202020202020202020202020202020200
+:1020C00002020202020202020202020202020202F0
+:1020D00002020202020202020202020202020202E0
+:1020E00002020202020202020202020202020202D0
+:1020F00002020202020202020202020202020202C0
+:1021000000000000000000000000000000000000CF
+:1021100000000000000000000000000000000000BF
+:1021200000000000000000000000000000000000AF
+:10213000000000000000000000000000000000009F
+:10214000000000000000000000000000000000008F
+:10215000000000000000000000000000000000007F
+:10216000000000000000000000000000000000006F
+:10217000000000000000000000000000000000005F
+:10218000000000000000000000000000000000004F
+:10219000000000000000000000000000000000003F
+:1021A000000000000000000000000000000000002F
+:1021B000000000000000000000000000000000001F
+:1021C000000000000000000000000000000000000F
+:1021D00000000000000000000000000000000000FF
+:1021E00000000000000000000000000000000000EF
+:1021F00000000000000000000000000000000000DF
+:1022000000000000000000000000000000000000CE
+:1022100000000000000000000000000000000000BE
+:1022200000000000000000000000000000000000AE
+:10223000000000000000000000000000000000009E
+:10224000000000000000000000000000000000008E
+:10225000000000000000000000000000000000007E
+:10226000000000000000000000000000000000006E
+:10227000000000000000000000000000000000005E
+:10228000000000000000000000000000000000004E
+:10229000000000000000000000000000000000003E
+:1022A000000000000000000000000000000000002E
+:1022B000000000000000000000000000000000001E
+:1022C000000000000000000000000000000000000E
+:1022D00000000000000000000000000000000000FE
+:1022E00000000000000000000000000000000000EE
+:1022F00000000000000000000000000000000000DE
+:1023000000000000000000000000000000000000CD
+:1023100000000000000000000000000000000000BD
+:1023200000000000000000000000000000000000AD
+:10233000000000000000000000000000000000009D
+:10234000000000000000000000000000000000008D
+:10235000000000000000000000000000000000007D
+:10236000000000000000000000000000000000006D
+:10237000000000000000000000000000000000005D
+:10238000000000000000000000000000000000004D
+:10239000000000000000000000000000000000003D
+:1023A000000000000000000000000000000000002D
+:1023B000000000000000000000000000000000001D
+:1023C000000000000000000000000000000000000D
+:1023D00000000000000000000000000000000000FD
+:1023E00000000000000000000000000000000000ED
+:1023F00000000000000000000000000000000000DD
+:1024000000000000000000000000000000000000CC
+:1024100000000000000000000000000000000000BC
+:1024200000000000000000000000000000000000AC
+:10243000000000000000000000000000000000009C
+:10244000000000000000000000000000000000008C
+:10245000000000000000000000000000000000007C
+:10246000000000000000000000000000000000006C
+:10247000000000000000000000000000000000005C
+:10248000000000000000000000000000000000004C
+:10249000000000000000000000000000000000003C
+:1024A000000000000000000000000000000000002C
+:1024B000000000000000000000000000000000001C
+:1024C000000000000000000000000000000000000C
+:1024D00000000000000000000000000000000000FC
+:1024E00000000000000000000000000000000000EC
+:1024F00000000000000000000000000000000000DC
+:1025000000000000000000000000000000000000CB
+:1025100000000000000000000000000000000000BB
+:1025200000000000000000000000000000000000AB
+:10253000000000000000000000000000000000009B
+:10254000000000000000000000000000000000008B
+:10255000000000000000000000000000000000007B
+:10256000000000000000000000000000000000006B
+:10257000000000000000000000000000000000005B
+:10258000000000000000000000000000000000004B
+:10259000000000000000000000000000000000003B
+:1025A000000000000000000000000000000000002B
+:1025B000000000000000000000000000000000001B
+:1025C000000000000000000000000000000000000B
+:1025D00000000000000000000000000000000000FB
+:1025E00000000000000000000000000000000000EB
+:1025F00000000000000000000000000000000000DB
+:1026000000000000000000000000000000000000CA
+:1026100000000000000000000000000000000000BA
+:1026200000000000000000000000000000000000AA
+:10263000000000000000000000000000000000009A
+:10264000000000000000000000000000000000008A
+:10265000000000000000000000000000000000007A
+:10266000000000000000000000000000000000006A
+:10267000000000000000000000000000000000005A
+:10268000000000000000000000000000000000004A
+:10269000000000000000000000000000000000003A
+:1026A000000000000000000000000000000000002A
+:1026B000000000000000000000000000000000001A
+:1026C000000000000000000000000000000000000A
+:1026D00000000000000000000000000000000000FA
+:1026E00000000000000000000000000000000000EA
+:1026F00000000000000000000000000000000000DA
+:1027000000000000000000000000000000000000C9
+:1027100000000000000000000000000000000000B9
+:1027200000000000000000000000000000000000A9
+:102730000000000000000000000000000000000099
+:102740000000000000000000000000000000000089
+:102750000000000000000000000000000000000079
+:102760000000000000000000000000000000000069
+:102770000000000000000000000000000000000059
+:102780000000000000000000000000000000000049
+:102790000000000000000000000000000000000039
+:1027A0000000000000000000000000000000000029
+:1027B0000000000000000000000000000000000019
+:1027C0000000000000000000000000000000000009
+:1027D00000000000000000000000000000000000F9
+:1027E00000000000000000000000000000000000E9
+:1027F00000000000000000000000000000000000D9
+:1028000000000000000000000000000000000000C8
+:1028100000000000000000000000000000000000B8
+:1028200000000000000000000000000000000000A8
+:102830000000000000000000000000000000000098
+:102840000000000000000000000000000000000088
+:102850000000000000000000000000000000000078
+:102860000000000000000000000000000000000068
+:102870000000000000000000000000000000000058
+:102880000000000000000000000000000000000048
+:102890000000000000000000000000000000000038
+:1028A0000000000000000000000000000000000028
+:1028B0000000000000000000000000000000000018
+:1028C0000000000000000000000000000000000008
+:1028D00000000000000000000000000000000000F8
+:1028E00000000000000000000000000000000000E8
+:1028F00000000000000000000000000000000000D8
+:1029000000000000000000000000000000000000C7
+:1029100000000000000000000000000000000000B7
+:1029200000000000000000000000000000000000A7
+:102930000000000000000000000000000000000097
+:102940000000000000000000000000000000000087
+:102950000000000000000000000000000000000077
+:102960000000000000000000000000000000000067
+:102970000000000000000000000000000000000057
+:102980000000000000000000000000000000000047
+:102990000000000000000000000000000000000037
+:1029A0000000000000000000000000000000000027
+:1029B0000000000000000000000000000000000017
+:1029C0000000000000000000000000000000000007
+:1029D00000000000000000000000000000000000F7
+:1029E00000000000000000000000000000000000E7
+:1029F00000000000000000000000000000000000D7
+:102A000000000000000000000000000000000000C6
+:102A100000000000000000000000000000000000B6
+:102A200000000000000000000000000000000000A6
+:102A30000000000000000000000000000000000096
+:102A40000000000000000000000000000000000086
+:102A50000000000000000000000000000000000076
+:102A60000000000000000000000000000000000066
+:102A70000000000000000000000000000000000056
+:102A80000000000000000000000000000000000046
+:102A90000000000000000000000000000000000036
+:102AA0000000000000000000000000000000000026
+:102AB0000000000000000000000000000000000016
+:102AC0000000000000000000000000000000000006
+:102AD00000000000000000000000000000000000F6
+:102AE00000000000000000000000000000000000E6
+:102AF00000000000000000000000000000000000D6
+:102B000000000000000000000000000000000000C5
+:102B100000000000000000000000000000000000B5
+:102B200000000000000000000000000000000000A5
+:102B30000000000000000000000000000000000095
+:102B40000000000000000000000000000000000085
+:102B50000000000000000000000000000000000075
+:102B60000000000000000000000000000000000065
+:102B70000000000000000000000000000000000055
+:102B80000000000000000000000000000000000045
+:102B90000000000000000000000000000000000035
+:102BA0000000000000000000000000000000000025
+:102BB0000000000000000000000000000000000015
+:102BC0000000000000000000000000000000000005
+:102BD00000000000000000000000000000000000F5
+:102BE00000000000000000000000000000000000E5
+:102BF00000000000000000000000000000000000D5
+:102C000001010101010101010101010101010101B4
+:102C100001010101010101010101010101010101A4
+:102C20000101010101010101010101010101010194
+:102C30000101010101010101010101010101010184
+:102C40000101010101010101010101010101010174
+:102C50000101010101010101010101010101010164
+:102C60000101010101010101010101010101010154
+:102C70000101010101010101010101010101010144
+:102C80000101010101010101010101010101010134
+:102C90000101010101010101010101010101010124
+:102CA0000101010101010101010101010101010114
+:102CB0000101010101010101010101010101010104
+:102CC00001010101010101010101010101010101F4
+:102CD00001010101010101010101010101010101E4
+:102CE00001010101010101010101010101010101D4
+:102CF00001010101010101010101010101010101C4
+:102D000001010101010101010101010101010101B3
+:102D100001010101010101010101010101010101A3
+:102D20000101010101010101010101010101010193
+:102D30000101010101010101010101010101010183
+:102D40000101010101010101010101010101010173
+:102D50000101010101010101010101010101010163
+:102D60000101010101010101010101010101010153
+:102D70000101010101010101010101010101010143
+:102D80000101010101010101010101010101010133
+:102D90000101010101010101010101010101010123
+:102DA0000101010101010101010101010101010113
+:102DB0000101010101010101010101010101010103
+:102DC00001010101010101010101010101010101F3
+:102DD00001010101010101010101010101010101E3
+:102DE00001010101010101010101010101010101D3
+:102DF00001010101010101010101010101010101C3
+:102E000001010101010101010101010101010101B2
+:102E100001010101010101010101010101010101A2
+:102E20000101010101010101010101010101010192
+:102E30000101010101010101010101010101010182
+:102E40000101010101010101010101010101010172
+:102E50000101010101010101010101010101010162
+:102E60000101010101010101010101010101010152
+:102E70000101010101010101010101010101010142
+:102E80000101010101010101010101010101010132
+:102E90000101010101010101010101010101010122
+:102EA0000101010101010101010101010101010112
+:102EB0000101010101010101010101010101010102
+:102EC00001010101010101010101010101010101F2
+:102ED00001010101010101010101010101010101E2
+:102EE00001010101010101010101010101010101D2
+:102EF00001010101010101010101010101010101C2
+:102F000001010101010101010101010101010101B1
+:102F100001010101010101010101010101010101A1
+:102F20000101010101010101010101010101010191
+:102F30000101010101010101010101010101010181
+:102F40000101010101010101010101010101010171
+:102F50000101010101010101010101010101010161
+:102F60000101010101010101010101010101010151
+:102F70000101010101010101010101010101010141
+:102F80000101010101010101010101010101010131
+:102F90000101010101010101010101010101010121
+:102FA0000101010101010101010101010101010111
+:102FB0000101010101010101010101010101010101
+:102FC00001010101010101010101010101010101F1
+:102FD00001010101010101010101010101010101E1
+:102FE00001010101010101010101010101010101D1
+:102FF00001010101010101010101010101010101C1
+:1030000001010101010101010101010101010101B0
+:1030100001010101010101010101010101010101A0
+:103020000101010101010101010101010101010190
+:103030000101010101010101010101010101010180
+:103040000101010101010101010101010101010170
+:103050000101010101010101010101010101010160
+:103060000101010101010101010101010101010150
+:103070000101010101010101010101010101010140
+:103080000101010101010101010101010101010130
+:103090000101010101010101010101010101010120
+:1030A0000101010101010101010101010101010110
+:1030B0000101010101010101010101010101010100
+:1030C00001010101010101010101010101010101F0
+:1030D00001010101010101010101010101010101E0
+:1030E00001010101010101010101010101010101D0
+:1030F00001010101010101010101010101010101C0
+:1031000001010101010101010101010101010101AF
+:10311000010101010101010101010101010101019F
+:10312000010101010101010101010101010101018F
+:10313000010101010101010101010101010101017F
+:10314000010101010101010101010101010101016F
+:10315000010101010101010101010101010101015F
+:10316000010101010101010101010101010101014F
+:10317000010101010101010101010101010101013F
+:10318000010101010101010101010101010101012F
+:10319000010101010101010101010101010101011F
+:1031A000010101010101010101010101010101010F
+:1031B00001010101010101010101010101010101FF
+:1031C00001010101010101010101010101010101EF
+:1031D00001010101010101010101010101010101DF
+:1031E00001010101010101010101010101010101CF
+:1031F00001010101010101010101010101010101BF
+:1032000001010101010101010101010101010101AE
+:10321000010101010101010101010101010101019E
+:10322000010101010101010101010101010101018E
+:10323000010101010101010101010101010101017E
+:10324000010101010101010101010101010101016E
+:10325000010101010101010101010101010101015E
+:10326000010101010101010101010101010101014E
+:10327000010101010101010101010101010101013E
+:10328000010101010101010101010101010101012E
+:10329000010101010101010101010101010101011E
+:1032A000010101010101010101010101010101010E
+:1032B00001010101010101010101010101010101FE
+:1032C00001010101010101010101010101010101EE
+:1032D00001010101010101010101010101010101DE
+:1032E00001010101010101010101010101010101CE
+:1032F00001010101010101010101010101010101BE
+:1033000001010101010101010101010101010101AD
+:10331000010101010101010101010101010101019D
+:10332000010101010101010101010101010101018D
+:10333000010101010101010101010101010101017D
+:10334000010101010101010101010101010101016D
+:10335000010101010101010101010101010101015D
+:10336000010101010101010101010101010101014D
+:10337000010101010101010101010101010101013D
+:10338000010101010101010101010101010101012D
+:10339000010101010101010101010101010101011D
+:1033A000010101010101010101010101010101010D
+:1033B00001010101010101010101010101010101FD
+:1033C00001010101010101010101010101010101ED
+:1033D00001010101010101010101010101010101DD
+:1033E00001010101010101010101010101010101CD
+:1033F00001010101010101010101010101010101BD
+:1034000001010101010101010101010101010101AC
+:10341000010101010101010101010101010101019C
+:10342000010101010101010101010101010101018C
+:10343000010101010101010101010101010101017C
+:10344000010101010101010101010101010101016C
+:10345000010101010101010101010101010101015C
+:10346000010101010101010101010101010101014C
+:10347000010101010101010101010101010101013C
+:10348000010101010101010101010101010101012C
+:10349000010101010101010101010101010101011C
+:1034A000010101010101010101010101010101010C
+:1034B00001010101010101010101010101010101FC
+:1034C00001010101010101010101010101010101EC
+:1034D00001010101010101010101010101010101DC
+:1034E00001010101010101010101010101010101CC
+:1034F00001010101010101010101010101010101BC
+:1035000001010101010101010101010101010101AB
+:10351000010101010101010101010101010101019B
+:10352000010101010101010101010101010101018B
+:10353000010101010101010101010101010101017B
+:10354000010101010101010101010101010101016B
+:10355000010101010101010101010101010101015B
+:10356000010101010101010101010101010101014B
+:10357000010101010101010101010101010101013B
+:10358000010101010101010101010101010101012B
+:10359000010101010101010101010101010101011B
+:1035A000010101010101010101010101010101010B
+:1035B00001010101010101010101010101010101FB
+:1035C00001010101010101010101010101010101EB
+:1035D00001010101010101010101010101010101DB
+:1035E00001010101010101010101010101010101CB
+:1035F00001010101010101010101010101010101BB
+:1036000000000000000000000000000000000000BA
+:1036100000000000000000000000000000000000AA
+:10362000000000000000000000000000000000009A
+:10363000000000000000000000000000000000008A
+:10364000000000000000000000000000000000007A
+:10365000000000000000000000000000000000006A
+:10366000000000000000000000000000000000005A
+:10367000000000000000000000000000000000004A
+:10368000000000000000000000000000000000003A
+:10369000000000000000000000000000000000002A
+:1036A000000000000000000000000000000000001A
+:1036B000000000000000000000000000000000000A
+:1036C00000000000000000000000000000000000FA
+:1036D00000000000000000000000000000000000EA
+:1036E00000000000000000000000000000000000DA
+:1036F00000000000000000000000000000000000CA
+:1037000000000000000000000000000000000000B9
+:1037100000000000000000000000000000000000A9
+:103720000000000000000000000000000000000099
+:103730000000000000000000000000000000000089
+:103740000000000000000000000000000000000079
+:103750000000000000000000000000000000000069
+:103760000000000000000000000000000000000059
+:103770000000000000000000000000000000000049
+:103780000000000000000000000000000000000039
+:103790000000000000000000000000000000000029
+:1037A0000000000000000000000000000000000019
+:1037B0000000000000000000000000000000000009
+:1037C00000000000000000000000000000000000F9
+:1037D00000000000000000000000000000000000E9
+:1037E00000000000000000000000000000000000D9
+:1037F00000000000000000000000000000000000C9
+:1038000000000000000000000000000000000000B8
+:1038100000000000000000000000000000000000A8
+:103820000000000000000000000000000000000098
+:103830000000000000000000000000000000000088
+:103840000000000000000000000000000000000078
+:103850000000000000000000000000000000000068
+:103860000000000000000000000000000000000058
+:103870000000000000000000000000000000000048
+:103880000000000000000000000000000000000038
+:103890000000000000000000000000000000000028
+:1038A0000000000000000000000000000000000018
+:1038B0000000000000000000000000000000000008
+:1038C00000000000000000000000000000000000F8
+:1038D00000000000000000000000000000000000E8
+:1038E00000000000000000000000000000000000D8
+:1038F00000000000000000000000000000000000C8
+:1039000000000000000000000000000000000000B7
+:1039100000000000000000000000000000000000A7
+:103920000000000000000000000000000000000097
+:103930000000000000000000000000000000000087
+:103940000000000000000000000000000000000077
+:103950000000000000000000000000000000000067
+:103960000000000000000000000000000000000057
+:103970000000000000000000000000000000000047
+:103980000000000000000000000000000000000037
+:103990000000000000000000000000000000000027
+:1039A0000000000000000000000000000000000017
+:1039B0000000000000000000000000000000000007
+:1039C00000000000000000000000000000000000F7
+:1039D00000000000000000000000000000000000E7
+:1039E00000000000000000000000000000000000D7
+:1039F00000000000000000000000000000000000C7
+:103A000000000000000000000000000000000000B6
+:103A100000000000000000000000000000000000A6
+:103A20000000000000000000000000000000000096
+:103A30000000000000000000000000000000000086
+:103A40000000000000000000000000000000000076
+:103A50000000000000000000000000000000000066
+:103A60000000000000000000000000000000000056
+:103A70000000000000000000000000000000000046
+:103A80000000000000000000000000000000000036
+:103A90000000000000000000000000000000000026
+:103AA0000000000000000000000000000000000016
+:103AB0000000000000000000000000000000000006
+:103AC00000000000000000000000000000000000F6
+:103AD00000000000000000000000000000000000E6
+:103AE00000000000000000000000000000000000D6
+:103AF00000000000000000000000000000000000C6
+:103B000000000000000000000000000000000000B5
+:103B100000000000000000000000000000000000A5
+:103B20000000000000000000000000000000000095
+:103B30000000000000000000000000000000000085
+:103B40000000000000000000000000000000000075
+:103B50000000000000000000000000000000000065
+:103B60000000000000000000000000000000000055
+:103B70000000000000000000000000000000000045
+:103B80000000000000000000000000000000000035
+:103B90000000000000000000000000000000000025
+:103BA0000000000000000000000000000000000015
+:103BB0000000000000000000000000000000000005
+:103BC00000000000000000000000000000000000F5
+:103BD00000000000000000000000000000000000E5
+:103BE00000000000000000000000000000000000D5
+:103BF00000000000000000000000000000000000C5
+:103C000000000000000000000000000000000000B4
+:103C100000000000000000000000000000000000A4
+:103C20000000000000000000000000000000000094
+:103C30000000000000000000000000000000000084
+:103C40000000000000000000000000000000000074
+:103C50000000000000000000000000000000000064
+:103C60000000000000000000000000000000000054
+:103C70000000000000000000000000000000000044
+:103C80000000000000000000000000000000000034
+:103C90000000000000000000000000000000000024
+:103CA0000000000000000000000000000000000014
+:103CB0000000000000000000000000000000000004
+:103CC00000000000000000000000000000000000F4
+:103CD00000000000000000000000000000000000E4
+:103CE00000000000000000000000000000000000D4
+:103CF00000000000000000000000000000000000C4
+:103D000000000000000000000000000000000000B3
+:103D100000000000000000000000000000000000A3
+:103D20000000000000000000000000000000000093
+:103D30000000000000000000000000000000000083
+:103D40000000000000000000000000000000000073
+:103D50000000000000000000000000000000000063
+:103D60000000000000000000000000000000000053
+:103D70000000000000000000000000000000000043
+:103D80000000000000000000000000000000000033
+:103D90000000000000000000000000000000000023
+:103DA0000000000000000000000000000000000013
+:103DB0000000000000000000000000000000000003
+:103DC00000000000000000000000000000000000F3
+:103DD00000000000000000000000000000000000E3
+:103DE00000000000000000000000000000000000D3
+:103DF00000000000000000000000000000000000C3
+:103E000000000000000000000000000000000000B2
+:103E100000000000000000000000000000000000A2
+:103E20000000000000000000000000000000000092
+:103E30000000000000000000000000000000000082
+:103E40000000000000000000000000000000000072
+:103E50000000000000000000000000000000000062
+:103E60000000000000000000000000000000000052
+:103E70000000000000000000000000000000000042
+:103E80000000000000000000000000000000000032
+:103E90000000000000000000000000000000000022
+:103EA0000000000000000000000000000000000012
+:103EB0000000000000000000000000000000000002
+:103EC00000000000000000000000000000000000F2
+:103ED00000000000000000000000000000000000E2
+:103EE00000000000000000000000000000000000D2
+:103EF00000000000000000000000000000000000C2
+:103F000000000000000000000000000000000000B1
+:103F100000000000000000000000000000000000A1
+:103F20000000000000000000000000000000000091
+:103F30000000000000000000000000000000000081
+:103F40000000000000000000000000000000000071
+:103F50000000000000000000000000000000000061
+:103F60000000000000000000000000000000000051
+:103F70000000000000000000000000000000000041
+:103F80000000000000000000000000000000000031
+:103F90000000000000000000000000000000000021
+:103FA0000000000000000000000000000000000011
+:103FB0000000000000000000000000000000000001
+:103FC00000000000000000000000000000000000F1
+:103FD00000000000000000000000000000000000E1
+:103FE00000000000000000000000000000000000D1
+:103FF00000000000000000000000000000000000C1
+:1040000000000000000000000000000000000000B0
+:1040100000000000000000000000000000000000A0
+:104020000000000000000000000000000000000090
+:104030000000000000000000000000000000000080
+:104040000000000000000000000000000000000070
+:104050000000000000000000000000000000000060
+:104060000000000000000000000000000000000050
+:104070000000000000000000000000000000000040
+:104080000000000000000000000000000000000030
+:104090000000000000000000000000000000000020
+:1040A0000000000000000000000000000000000010
+:1040B0000000000000000000000000000000000000
+:1040C00000000000000000000000000000000000F0
+:1040D00000000000000000000000000000000000E0
+:1040E00000000000000000000000000000000000D0
+:1040F00000000000000000000000000000000000C0
+:1041000000000000000000000000000000000000AF
+:10411000000000000000000000000000000000009F
+:10412000000000000000000000000000000000008F
+:10413000000000000000000000000000000000007F
+:10414000000000000000000000000000000000006F
+:10415000000000000000000000000000000000005F
+:10416000000000000000000000000000000000004F
+:10417000000000000000000000000000000000003F
+:10418000000000000000000000000000000000002F
+:10419000000000000000000000000000000000001F
+:1041A000000000000000000000000000000000000F
+:1041B00000000000000000000000000000000000FF
+:1041C00000000000000000000000000000000000EF
+:1041D00000000000000000000000000000000000DF
+:1041E00000000000000000000000000000000000CF
+:1041F00000000000000000000000000000000000BF
+:1042000000000000000000000000000000000000AE
+:10421000000000000000000000000000000000009E
+:10422000000000000000000000000000000000008E
+:10423000000000000000000000000000000000007E
+:10424000000000000000000000000000000000006E
+:10425000000000000000000000000000000000005E
+:10426000000000000000000000000000000000004E
+:10427000000000000000000000000000000000003E
+:10428000000000000000000000000000000000002E
+:10429000000000000000000000000000000000001E
+:1042A000000000000000000000000000000000000E
+:1042B00000000000000000000000000000000000FE
+:1042C00000000000000000000000000000000000EE
+:1042D00000000000000000000000000000000000DE
+:1042E00000000000000000000000000000000000CE
+:1042F00000000000000000000000000000000000BE
+:1043000000000000000000000000000000000000AD
+:10431000000000000000000000000000000000009D
+:10432000000000000000000000000000000000008D
+:10433000000000000000000000000000000000007D
+:10434000000000000000000000000000000000006D
+:10435000000000000000000000000000000000005D
+:10436000000000000000000000000000000000004D
+:10437000000000000000000000000000000000003D
+:10438000000000000000000000000000000000002D
+:10439000000000000000000000000000000000001D
+:1043A000000000000000000000000000000000000D
+:1043B00000000000000000000000000000000000FD
+:1043C00000000000000000000000000000000000ED
+:1043D00000000000000000000000000000000000DD
+:1043E00000000000000000000000000000000000CD
+:1043F00000000000000000000000000000000000BD
+:1044000000000000000000000000000000000000AC
+:10441000000000000000000000000000000000009C
+:10442000000000000000000000000000000000008C
+:10443000000000000000000000000000000000007C
+:10444000000000000000000000000000000000006C
+:10445000000000000000000000000000000000005C
+:10446000000000000000000000000000000000004C
+:10447000000000000000000000000000000000003C
+:10448000000000000000000000000000000000002C
+:10449000000000000000000000000000000000001C
+:1044A000000000000000000000000000000000000C
+:1044B00000000000000000000000000000000000FC
+:1044C00000000000000000000000000000000000EC
+:1044D00000000000000000000000000000000000DC
+:1044E00000000000000000000000000000000000CC
+:1044F00000000000000000000000000000000000BC
+:1045000000000000000000000000000000000000AB
+:10451000000000000000000000000000000000009B
+:10452000000000000000000000000000000000008B
+:10453000000000000000000000000000000000007B
+:10454000000000000000000000000000000000006B
+:10455000000000000000000000000000000000005B
+:10456000000000000000000000000000000000004B
+:10457000000000000000000000000000000000003B
+:10458000000000000000000000000000000000002B
+:10459000000000000000000000000000000000001B
+:1045A000000000000000000000000000000000000B
+:1045B00000000000000000000000000000000000FB
+:1045C00000000000000000000000000000000000EB
+:1045D00000000000000000000000000000000000DB
+:1045E00000000000000000000000000000000000CB
+:1045F00000000000000000000000000000000000BB
+:1046000000000000000000000000000000000000AA
+:10461000000000000000000000000000000000009A
+:10462000000000000000000000000000000000008A
+:10463000000000000000000000000000000000007A
+:10464000000000000000000000000000000000006A
+:10465000000000000000000000000000000000005A
+:10466000000000000000000000000000000000004A
+:10467000000000000000000000000000000000003A
+:10468000000000000000000000000000000000002A
+:10469000000000000000000000000000000000001A
+:1046A000000000000000000000000000000000000A
+:1046B00000000000000000000000000000000000FA
+:1046C00000000000000000000000000000000000EA
+:1046D00000000000000000000000000000000000DA
+:1046E00000000000000000000000000000000000CA
+:1046F00000000000000000000000000000000000BA
+:1047000000000000000000000000000000000000A9
+:104710000000000000000000000000000000000099
+:104720000000000000000000000000000000000089
+:104730000000000000000000000000000000000079
+:104740000000000000000000000000000000000069
+:104750000000000000000000000000000000000059
+:104760000000000000000000000000000000000049
+:104770000000000000000000000000000000000039
+:104780000000000000000000000000000000000029
+:104790000000000000000000000000000000000019
+:1047A0000000000000000000000000000000000009
+:1047B00000000000000000000000000000000000F9
+:1047C00000000000000000000000000000000000E9
+:1047D00000000000000000000000000000000000D9
+:1047E00000000000000000000000000000000000C9
+:1047F00000000000000000000000000000000000B9
+:1048000000000000000000000000000000000000A8
+:104810000000000000000000000000000000000098
+:104820000000000000000000000000000000000088
+:104830000000000000000000000000000000000078
+:104840000000000000000000000000000000000068
+:104850000000000000000000000000000000000058
+:104860000000000000000000000000000000000048
+:104870000000000000000000000000000000000038
+:104880000000000000000000000000000000000028
+:104890000000000000000000000000000000000018
+:1048A0000000000000000000000000000000000008
+:1048B00000000000000000000000000000000000F8
+:1048C00000000000000000000000000000000000E8
+:1048D00000000000000000000000000000000000D8
+:1048E00000000000000000000000000000000000C8
+:1048F00000000000000000000000000000000000B8
+:104900000101010101010101010101010101010197
+:104910000101010101010101010101010101010187
+:104920000101010101010101010101010101010177
+:104930000101010101010101010101010101010167
+:104940000101010101010101010101010101010157
+:104950000101010101010101010101010101010147
+:104960000101010101010101010101010101010137
+:104970000101010101010101010101010101010127
+:104980000101010101010101010101010101010117
+:104990000101010101010101010101010101010107
+:1049A00001010101010101010101010101010101F7
+:1049B00001010101010101010101010101010101E7
+:1049C00001010101010101010101010101010101D7
+:1049D00001010101010101010101010101010101C7
+:1049E00001010101010101010101010101010101B7
+:1049F00001010101010101010101010101010101A7
+:104A00000101010101010101010101010101010196
+:104A10000101010101010101010101010101010186
+:104A20000101010101010101010101010101010176
+:104A30000101010101010101010101010101010166
+:104A40000101010101010101010101010101010156
+:104A50000101010101010101010101010101010146
+:104A60000101010101010101010101010101010136
+:104A70000101010101010101010101010101010126
+:104A80000101010101010101010101010101010116
+:104A90000101010101010101010101010101010106
+:104AA00001010101010101010101010101010101F6
+:104AB00001010101010101010101010101010101E6
+:104AC00001010101010101010101010101010101D6
+:104AD00001010101010101010101010101010101C6
+:104AE00001010101010101010101010101010101B6
+:104AF00001010101010101010101010101010101A6
+:104B00000101010101010101010101010101010195
+:104B10000101010101010101010101010101010185
+:104B20000101010101010101010101010101010175
+:104B30000101010101010101010101010101010165
+:104B40000101010101010101010101010101010155
+:104B50000101010101010101010101010101010145
+:104B60000101010101010101010101010101010135
+:104B70000101010101010101010101010101010125
+:104B80000101010101010101010101010101010115
+:104B90000101010101010101010101010101010105
+:104BA00001010101010101010101010101010101F5
+:104BB00001010101010101010101010101010101E5
+:104BC00001010101010101010101010101010101D5
+:104BD00001010101010101010101010101010101C5
+:104BE00001010101010101010101010101010101B5
+:104BF00001010101010101010101010101010101A5
+:104C00000101010101010101010101010101010194
+:104C10000101010101010101010101010101010184
+:104C20000101010101010101010101010101010174
+:104C30000101010101010101010101010101010164
+:104C40000101010101010101010101010101010154
+:104C50000101010101010101010101010101010144
+:104C60000101010101010101010101010101010134
+:104C70000101010101010101010101010101010124
+:104C80000101010101010101010101010101010114
+:104C90000101010101010101010101010101010104
+:104CA00001010101010101010101010101010101F4
+:104CB00001010101010101010101010101010101E4
+:104CC00001010101010101010101010101010101D4
+:104CD00001010101010101010101010101010101C4
+:104CE00001010101010101010101010101010101B4
+:104CF00001010101010101010101010101010101A4
+:104D00000101010101010101010101010101010193
+:104D10000101010101010101010101010101010183
+:104D20000101010101010101010101010101010173
+:104D30000101010101010101010101010101010163
+:104D40000101010101010101010101010101010153
+:104D50000101010101010101010101010101010143
+:104D60000101010101010101010101010101010133
+:104D70000101010101010101010101010101010123
+:104D80000101010101010101010101010101010113
+:104D90000101010101010101010101010101010103
+:104DA00001010101010101010101010101010101F3
+:104DB00001010101010101010101010101010101E3
+:104DC00001010101010101010101010101010101D3
+:104DD00001010101010101010101010101010101C3
+:104DE00001010101010101010101010101010101B3
+:104DF00001010101010101010101010101010101A3
+:104E00000101010101010101010101010101010192
+:104E10000101010101010101010101010101010182
+:104E20000101010101010101010101010101010172
+:104E30000101010101010101010101010101010162
+:104E40000101010101010101010101010101010152
+:104E50000101010101010101010101010101010142
+:104E60000101010101010101010101010101010132
+:104E70000101010101010101010101010101010122
+:104E80000101010101010101010101010101010112
+:104E90000101010101010101010101010101010102
+:104EA00001010101010101010101010101010101F2
+:104EB00001010101010101010101010101010101E2
+:104EC00001010101010101010101010101010101D2
+:104ED00001010101010101010101010101010101C2
+:104EE00001010101010101010101010101010101B2
+:104EF00001010101010101010101010101010101A2
+:104F00000101010101010101010101010101010191
+:104F10000101010101010101010101010101010181
+:104F20000101010101010101010101010101010171
+:104F30000101010101010101010101010101010161
+:104F40000101010101010101010101010101010151
+:104F50000101010101010101010101010101010141
+:104F60000101010101010101010101010101010131
+:104F70000101010101010101010101010101010121
+:104F80000101010101010101010101010101010111
+:104F90000101010101010101010101010101010101
+:104FA00001010101010101010101010101010101F1
+:104FB00001010101010101010101010101010101E1
+:104FC00001010101010101010101010101010101D1
+:104FD00001010101010101010101010101010101C1
+:104FE00001010101010101010101010101010101B1
+:104FF00001010101010101010101010101010101A1
+:105000000101010101010101010101010101010190
+:105010000101010101010101010101010101010180
+:105020000101010101010101010101010101010170
+:105030000101010101010101010101010101010160
+:105040000101010101010101010101010101010150
+:105050000101010101010101010101010101010140
+:105060000101010101010101010101010101010130
+:105070000101010101010101010101010101010120
+:105080000101010101010101010101010101010110
+:105090000101010101010101010101010101010100
+:1050A00001010101010101010101010101010101F0
+:1050B00001010101010101010101010101010101E0
+:1050C00001010101010101010101010101010101D0
+:1050D00001010101010101010101010101010101C0
+:1050E00001010101010101010101010101010101B0
+:1050F00001010101010101010101010101010101A0
+:10510000010101010101010101010101010101018F
+:10511000010101010101010101010101010101017F
+:10512000010101010101010101010101010101016F
+:10513000010101010101010101010101010101015F
+:10514000010101010101010101010101010101014F
+:10515000010101010101010101010101010101013F
+:10516000010101010101010101010101010101012F
+:10517000010101010101010101010101010101011F
+:10518000010101010101010101010101010101010F
+:1051900001010101010101010101010101010101FF
+:1051A00001010101010101010101010101010101EF
+:1051B00001010101010101010101010101010101DF
+:1051C00001010101010101010101010101010101CF
+:1051D00001010101010101010101010101010101BF
+:1051E00001010101010101010101010101010101AF
+:1051F000010101010101010101010101010101019F
+:10520000010101010101010101010101010101018E
+:10521000010101010101010101010101010101017E
+:10522000010101010101010101010101010101016E
+:10523000010101010101010101010101010101015E
+:10524000010101010101010101010101010101014E
+:10525000010101010101010101010101010101013E
+:10526000010101010101010101010101010101012E
+:10527000010101010101010101010101010101011E
+:10528000010101010101010101010101010101010E
+:1052900001010101010101010101010101010101FE
+:1052A00001010101010101010101010101010101EE
+:1052B00001010101010101010101010101010101DE
+:1052C00001010101010101010101010101010101CE
+:1052D00001010101010101010101010101010101BE
+:1052E00001010101010101010101010101010101AE
+:1052F000010101010101010101010101010101019E
+:10530000000000000000000000000000000000009D
+:10531000000000000000000000000000000000008D
+:10532000000000000000000000000000000000007D
+:10533000000000000000000000000000000000006D
+:10534000000000000000000000000000000000005D
+:10535000000000000000000000000000000000004D
+:10536000000000000000000000000000000000003D
+:10537000000000000000000000000000000000002D
+:10538000000000000000000000000000000000001D
+:10539000000000000000000000000000000000000D
+:1053A00000000000000000000000000000000000FD
+:1053B00000000000000000000000000000000000ED
+:1053C00000000000000000000000000000000000DD
+:1053D00000000000000000000000000000000000CD
+:1053E00000000000000000000000000000000000BD
+:1053F00000000000000000000000000000000000AD
+:10540000000000000000000000000000000000009C
+:10541000000000000000000000000000000000008C
+:10542000000000000000000000000000000000007C
+:10543000000000000000000000000000000000006C
+:10544000000000000000000000000000000000005C
+:10545000000000000000000000000000000000004C
+:10546000000000000000000000000000000000003C
+:10547000000000000000000000000000000000002C
+:10548000000000000000000000000000000000001C
+:10549000000000000000000000000000000000000C
+:1054A00000000000000000000000000000000000FC
+:1054B00000000000000000000000000000000000EC
+:1054C00000000000000000000000000000000000DC
+:1054D00000000000000000000000000000000000CC
+:1054E00000000000000000000000000000000000BC
+:1054F00000000000000000000000000000000000AC
+:10550000000000000000000000000000000000009B
+:10551000000000000000000000000000000000008B
+:10552000000000000000000000000000000000007B
+:10553000000000000000000000000000000000006B
+:10554000000000000000000000000000000000005B
+:10555000000000000000000000000000000000004B
+:10556000000000000000000000000000000000003B
+:10557000000000000000000000000000000000002B
+:10558000000000000000000000000000000000001B
+:10559000000000000000000000000000000000000B
+:1055A00000000000000000000000000000000000FB
+:1055B00000000000000000000000000000000000EB
+:1055C00000000000000000000000000000000000DB
+:1055D00000000000000000000000000000000000CB
+:1055E00000000000000000000000000000000000BB
+:1055F00000000000000000000000000000000000AB
+:10560000000000000000000000000000000000009A
+:10561000000000000000000000000000000000008A
+:10562000000000000000000000000000000000007A
+:10563000000000000000000000000000000000006A
+:10564000000000000000000000000000000000005A
+:10565000000000000000000000000000000000004A
+:10566000000000000000000000000000000000003A
+:10567000000000000000000000000000000000002A
+:10568000000000000000000000000000000000001A
+:10569000000000000000000000000000000000000A
+:1056A00000000000000000000000000000000000FA
+:1056B00000000000000000000000000000000000EA
+:1056C00000000000000000000000000000000000DA
+:1056D00000000000000000000000000000000000CA
+:1056E00000000000000000000000000000000000BA
+:1056F00000000000000000000000000000000000AA
+:105700000000000000000000000000000000000099
+:105710000000000000000000000000000000000089
+:105720000000000000000000000000000000000079
+:105730000000000000000000000000000000000069
+:105740000000000000000000000000000000000059
+:105750000000000000000000000000000000000049
+:105760000000000000000000000000000000000039
+:105770000000000000000000000000000000000029
+:105780000000000000000000000000000000000019
+:105790000000000000000000000000000000000009
+:1057A00000000000000000000000000000000000F9
+:1057B00000000000000000000000000000000000E9
+:1057C00000000000000000000000000000000000D9
+:1057D00000000000000000000000000000000000C9
+:1057E00000000000000000000000000000000000B9
+:1057F00000000000000000000000000000000000A9
+:105800000101010101010101010101010101010188
+:105810000101010101010101010101010101010178
+:105820000101010101010101010101010101010168
+:105830000101010101010101010101010101010158
+:105840000101010101010101010101010101010148
+:105850000101010101010101010101010101010138
+:105860000101010101010101010101010101010128
+:105870000101010101010101010101010101010118
+:105880000101010101010101010101010101010108
+:1058900001010101010101010101010101010101F8
+:1058A00001010101010101010101010101010101E8
+:1058B00001010101010101010101010101010101D8
+:1058C00001010101010101010101010101010101C8
+:1058D00001010101010101010101010101010101B8
+:1058E00001010101010101010101010101010101A8
+:1058F0000101010101010101010101010101010198
+:105900000101010101010101010101010101010187
+:105910000101010101010101010101010101010177
+:105920000101010101010101010101010101010167
+:105930000101010101010101010101010101010157
+:105940000101010101010101010101010101010147
+:105950000101010101010101010101010101010137
+:105960000101010101010101010101010101010127
+:105970000101010101010101010101010101010117
+:105980000101010101010101010101010101010107
+:1059900001010101010101010101010101010101F7
+:1059A00001010101010101010101010101010101E7
+:1059B00001010101010101010101010101010101D7
+:1059C00001010101010101010101010101010101C7
+:1059D00001010101010101010101010101010101B7
+:1059E00001010101010101010101010101010101A7
+:1059F0000101010101010101010101010101010197
+:105A00000202020202020202020202020202020276
+:105A10000202020202020202020202020202020266
+:105A20000202020202020202020202020202020256
+:105A30000202020202020202020202020202020246
+:105A40000202020202020202020202020202020236
+:105A50000202020202020202020202020202020226
+:105A60000202020202020202020202020202020216
+:105A70000202020202020202020202020202020206
+:105A800002020202020202020202020202020202F6
+:105A900002020202020202020202020202020202E6
+:105AA00002020202020202020202020202020202D6
+:105AB00002020202020202020202020202020202C6
+:105AC00002020202020202020202020202020202B6
+:105AD00002020202020202020202020202020202A6
+:105AE0000202020202020202020202020202020296
+:105AF0000202020202020202020202020202020286
+:105B00000202020202020202020202020202020275
+:105B10000202020202020202020202020202020265
+:105B20000202020202020202020202020202020255
+:105B30000202020202020202020202020202020245
+:105B40000202020202020202020202020202020235
+:105B50000202020202020202020202020202020225
+:105B60000202020202020202020202020202020215
+:105B70000202020202020202020202020202020205
+:105B800002020202020202020202020202020202F5
+:105B900002020202020202020202020202020202E5
+:105BA00002020202020202020202020202020202D5
+:105BB00002020202020202020202020202020202C5
+:105BC00002020202020202020202020202020202B5
+:105BD00002020202020202020202020202020202A5
+:105BE0000202020202020202020202020202020295
+:105BF0000202020202020202020202020202020285
+:105C00000202020202020202020202020202020274
+:105C10000202020202020202020202020202020264
+:105C20000202020202020202020202020202020254
+:105C30000202020202020202020202020202020244
+:105C40000202020202020202020202020202020234
+:105C50000202020202020202020202020202020224
+:105C60000202020202020202020202020202020214
+:105C70000202020202020202020202020202020204
+:105C800002020202020202020202020202020202F4
+:105C900002020202020202020202020202020202E4
+:105CA00002020202020202020202020202020202D4
+:105CB00002020202020202020202020202020202C4
+:105CC00002020202020202020202020202020202B4
+:105CD00002020202020202020202020202020202A4
+:105CE0000202020202020202020202020202020294
+:105CF0000202020202020202020202020202020284
+:105D00000202020202020202020202020202020273
+:105D10000202020202020202020202020202020263
+:105D20000202020202020202020202020202020253
+:105D30000202020202020202020202020202020243
+:105D40000202020202020202020202020202020233
+:105D50000202020202020202020202020202020223
+:105D60000202020202020202020202020202020213
+:105D70000202020202020202020202020202020203
+:105D800002020202020202020202020202020202F3
+:105D900002020202020202020202020202020202E3
+:105DA00002020202020202020202020202020202D3
+:105DB00002020202020202020202020202020202C3
+:105DC00002020202020202020202020202020202B3
+:105DD00002020202020202020202020202020202A3
+:105DE0000202020202020202020202020202020293
+:105DF0000202020202020202020202020202020283
+:105E00000202020202020202020202020202020272
+:105E10000202020202020202020202020202020262
+:105E20000202020202020202020202020202020252
+:105E30000202020202020202020202020202020242
+:105E40000202020202020202020202020202020232
+:105E50000202020202020202020202020202020222
+:105E60000202020202020202020202020202020212
+:105E70000202020202020202020202020202020202
+:105E800002020202020202020202020202020202F2
+:105E900002020202020202020202020202020202E2
+:105EA00002020202020202020202020202020202D2
+:105EB00002020202020202020202020202020202C2
+:105EC00002020202020202020202020202020202B2
+:105ED00002020202020202020202020202020202A2
+:105EE0000202020202020202020202020202020292
+:105EF0000202020202020202020202020202020282
+:105F00000202020202020202020202020202020271
+:105F10000202020202020202020202020202020261
+:105F20000202020202020202020202020202020251
+:105F30000202020202020202020202020202020241
+:105F40000202020202020202020202020202020231
+:105F50000202020202020202020202020202020221
+:105F60000202020202020202020202020202020211
+:105F70000202020202020202020202020202020201
+:105F800002020202020202020202020202020202F1
+:105F900002020202020202020202020202020202E1
+:105FA00002020202020202020202020202020202D1
+:105FB00002020202020202020202020202020202C1
+:105FC00002020202020202020202020202020202B1
+:105FD00002020202020202020202020202020202A1
+:105FE0000202020202020202020202020202020291
+:105FF0000202020202020202020202020202020281
+:106000000202020202020202020202020202020270
+:106010000202020202020202020202020202020260
+:106020000202020202020202020202020202020250
+:106030000202020202020202020202020202020240
+:106040000202020202020202020202020202020230
+:106050000202020202020202020202020202020220
+:106060000202020202020202020202020202020210
+:106070000202020202020202020202020202020200
+:1060800002020202020202020202020202020202F0
+:1060900002020202020202020202020202020202E0
+:1060A00002020202020202020202020202020202D0
+:1060B00002020202020202020202020202020202C0
+:1060C00002020202020202020202020202020202B0
+:1060D00002020202020202020202020202020202A0
+:1060E0000202020202020202020202020202020290
+:1060F0000202020202020202020202020202020280
+:10610000020202020202020202020202020202026F
+:10611000020202020202020202020202020202025F
+:10612000020202020202020202020202020202024F
+:10613000020202020202020202020202020202023F
+:10614000020202020202020202020202020202022F
+:10615000020202020202020202020202020202021F
+:10616000020202020202020202020202020202020F
+:1061700002020202020202020202020202020202FF
+:1061800002020202020202020202020202020202EF
+:1061900002020202020202020202020202020202DF
+:1061A00002020202020202020202020202020202CF
+:1061B00002020202020202020202020202020202BF
+:1061C00002020202020202020202020202020202AF
+:1061D000020202020202020202020202020202029F
+:1061E000020202020202020202020202020202028F
+:1061F000020202020202020202020202020202027F
+:10620000020202020202020202020202020202026E
+:10621000020202020202020202020202020202025E
+:10622000020202020202020202020202020202024E
+:10623000020202020202020202020202020202023E
+:10624000020202020202020202020202020202022E
+:10625000020202020202020202020202020202021E
+:10626000020202020202020202020202020202020E
+:1062700002020202020202020202020202020202FE
+:1062800002020202020202020202020202020202EE
+:1062900002020202020202020202020202020202DE
+:1062A00002020202020202020202020202020202CE
+:1062B00002020202020202020202020202020202BE
+:1062C00002020202020202020202020202020202AE
+:1062D000020202020202020202020202020202029E
+:1062E000020202020202020202020202020202028E
+:1062F000020202020202020202020202020202027E
+:10630000020202020202020202020202020202026D
+:10631000020202020202020202020202020202025D
+:10632000020202020202020202020202020202024D
+:10633000020202020202020202020202020202023D
+:10634000020202020202020202020202020202022D
+:10635000020202020202020202020202020202021D
+:10636000020202020202020202020202020202020D
+:1063700002020202020202020202020202020202FD
+:1063800002020202020202020202020202020202ED
+:1063900002020202020202020202020202020202DD
+:1063A00002020202020202020202020202020202CD
+:1063B00002020202020202020202020202020202BD
+:1063C00002020202020202020202020202020202AD
+:1063D000020202020202020202020202020202029D
+:1063E000020202020202020202020202020202028D
+:1063F000020202020202020202020202020202027D
+:10640000020202020202020202020202020202026C
+:10641000020202020202020202020202020202025C
+:10642000020202020202020202020202020202024C
+:10643000020202020202020202020202020202023C
+:10644000020202020202020202020202020202022C
+:10645000020202020202020202020202020202021C
+:10646000020202020202020202020202020202020C
+:1064700002020202020202020202020202020202FC
+:1064800002020202020202020202020202020202EC
+:1064900002020202020202020202020202020202DC
+:1064A00002020202020202020202020202020202CC
+:1064B00002020202020202020202020202020202BC
+:1064C00002020202020202020202020202020202AC
+:1064D000020202020202020202020202020202029C
+:1064E000020202020202020202020202020202028C
+:1064F000020202020202020202020202020202027C
+:10650000020202020202020202020202020202026B
+:10651000020202020202020202020202020202025B
+:10652000020202020202020202020202020202024B
+:10653000020202020202020202020202020202023B
+:10654000020202020202020202020202020202022B
+:10655000020202020202020202020202020202021B
+:10656000020202020202020202020202020202020B
+:1065700002020202020202020202020202020202FB
+:1065800002020202020202020202020202020202EB
+:1065900002020202020202020202020202020202DB
+:1065A00002020202020202020202020202020202CB
+:1065B00002020202020202020202020202020202BB
+:1065C00002020202020202020202020202020202AB
+:1065D000020202020202020202020202020202029B
+:1065E000020202020202020202020202020202028B
+:1065F000020202020202020202020202020202027B
+:10660000020202020202020202020202020202026A
+:10661000020202020202020202020202020202025A
+:10662000020202020202020202020202020202024A
+:10663000020202020202020202020202020202023A
+:10664000020202020202020202020202020202022A
+:10665000020202020202020202020202020202021A
+:10666000020202020202020202020202020202020A
+:1066700002020202020202020202020202020202FA
+:1066800002020202020202020202020202020202EA
+:1066900002020202020202020202020202020202DA
+:1066A00002020202020202020202020202020202CA
+:1066B00002020202020202020202020202020202BA
+:1066C00002020202020202020202020202020202AA
+:1066D000020202020202020202020202020202029A
+:1066E000020202020202020202020202020202028A
+:1066F000020202020202020202020202020202027A
+:106700000202020202020202020202020202020269
+:106710000202020202020202020202020202020259
+:106720000202020202020202020202020202020249
+:106730000202020202020202020202020202020239
+:106740000202020202020202020202020202020229
+:106750000202020202020202020202020202020219
+:106760000202020202020202020202020202020209
+:1067700002020202020202020202020202020202F9
+:1067800002020202020202020202020202020202E9
+:1067900002020202020202020202020202020202D9
+:1067A00002020202020202020202020202020202C9
+:1067B00002020202020202020202020202020202B9
+:1067C00002020202020202020202020202020202A9
+:1067D0000202020202020202020202020202020299
+:1067E0000202020202020202020202020202020289
+:1067F0000202020202020202020202020202020279
+:106800000202020202020202020202020202020268
+:106810000202020202020202020202020202020258
+:106820000202020202020202020202020202020248
+:106830000202020202020202020202020202020238
+:106840000202020202020202020202020202020228
+:106850000202020202020202020202020202020218
+:106860000202020202020202020202020202020208
+:1068700002020202020202020202020202020202F8
+:1068800002020202020202020202020202020202E8
+:1068900002020202020202020202020202020202D8
+:1068A00002020202020202020202020202020202C8
+:1068B00002020202020202020202020202020202B8
+:1068C00002020202020202020202020202020202A8
+:1068D0000202020202020202020202020202020298
+:1068E0000202020202020202020202020202020288
+:1068F0000202020202020202020202020202020278
+:106900000202020202020202020202020202020267
+:106910000202020202020202020202020202020257
+:106920000202020202020202020202020202020247
+:106930000202020202020202020202020202020237
+:106940000202020202020202020202020202020227
+:106950000202020202020202020202020202020217
+:106960000202020202020202020202020202020207
+:1069700002020202020202020202020202020202F7
+:1069800002020202020202020202020202020202E7
+:1069900002020202020202020202020202020202D7
+:1069A00002020202020202020202020202020202C7
+:1069B00002020202020202020202020202020202B7
+:1069C00002020202020202020202020202020202A7
+:1069D0000202020202020202020202020202020297
+:1069E0000202020202020202020202020202020287
+:1069F0000202020202020202020202020202020277
+:106A00000202020202020202020202020202020266
+:106A10000202020202020202020202020202020256
+:106A20000202020202020202020202020202020246
+:106A30000202020202020202020202020202020236
+:106A40000202020202020202020202020202020226
+:106A50000202020202020202020202020202020216
+:106A60000202020202020202020202020202020206
+:106A700002020202020202020202020202020202F6
+:106A800002020202020202020202020202020202E6
+:106A900002020202020202020202020202020202D6
+:106AA00002020202020202020202020202020202C6
+:106AB00002020202020202020202020202020202B6
+:106AC00002020202020202020202020202020202A6
+:106AD0000202020202020202020202020202020296
+:106AE0000202020202020202020202020202020286
+:106AF0000202020202020202020202020202020276
+:106B00000202020202020202020202020202020265
+:106B10000202020202020202020202020202020255
+:106B20000202020202020202020202020202020245
+:106B30000202020202020202020202020202020235
+:106B40000202020202020202020202020202020225
+:106B50000202020202020202020202020202020215
+:106B60000202020202020202020202020202020205
+:106B700002020202020202020202020202020202F5
+:106B800002020202020202020202020202020202E5
+:106B900002020202020202020202020202020202D5
+:106BA00002020202020202020202020202020202C5
+:106BB00002020202020202020202020202020202B5
+:106BC00002020202020202020202020202020202A5
+:106BD0000202020202020202020202020202020295
+:106BE0000202020202020202020202020202020285
+:106BF0000202020202020202020202020202020275
+:106C00000202020202020202020202020202020264
+:106C10000202020202020202020202020202020254
+:106C20000202020202020202020202020202020244
+:106C30000202020202020202020202020202020234
+:106C40000202020202020202020202020202020224
+:106C50000202020202020202020202020202020214
+:106C60000202020202020202020202020202020204
+:106C700002020202020202020202020202020202F4
+:106C800002020202020202020202020202020202E4
+:106C900002020202020202020202020202020202D4
+:106CA00002020202020202020202020202020202C4
+:106CB00002020202020202020202020202020202B4
+:106CC00002020202020202020202020202020202A4
+:106CD0000202020202020202020202020202020294
+:106CE0000202020202020202020202020202020284
+:106CF0000202020202020202020202020202020274
+:106D00000202020202020202020202020202020263
+:106D10000202020202020202020202020202020253
+:106D20000202020202020202020202020202020243
+:106D30000202020202020202020202020202020233
+:106D40000202020202020202020202020202020223
+:106D50000202020202020202020202020202020213
+:106D60000202020202020202020202020202020203
+:106D700002020202020202020202020202020202F3
+:106D800002020202020202020202020202020202E3
+:106D900002020202020202020202020202020202D3
+:106DA00002020202020202020202020202020202C3
+:106DB00002020202020202020202020202020202B3
+:106DC00002020202020202020202020202020202A3
+:106DD0000202020202020202020202020202020293
+:106DE0000202020202020202020202020202020283
+:106DF0000202020202020202020202020202020273
+:106E00000202020202020202020202020202020262
+:106E10000202020202020202020202020202020252
+:106E20000202020202020202020202020202020242
+:106E30000202020202020202020202020202020232
+:106E40000202020202020202020202020202020222
+:106E50000202020202020202020202020202020212
+:106E60000202020202020202020202020202020202
+:106E700002020202020202020202020202020202F2
+:106E800002020202020202020202020202020202E2
+:106E900002020202020202020202020202020202D2
+:106EA00002020202020202020202020202020202C2
+:106EB00002020202020202020202020202020202B2
+:106EC00002020202020202020202020202020202A2
+:106ED0000202020202020202020202020202020292
+:106EE0000202020202020202020202020202020282
+:106EF0000202020202020202020202020202020272
+:106F00000202020202020202020202020202020261
+:106F10000202020202020202020202020202020251
+:106F20000202020202020202020202020202020241
+:106F30000202020202020202020202020202020231
+:106F40000202020202020202020202020202020221
+:106F50000202020202020202020202020202020211
+:106F60000202020202020202020202020202020201
+:106F700002020202020202020202020202020202F1
+:106F800002020202020202020202020202020202E1
+:106F900002020202020202020202020202020202D1
+:106FA00002020202020202020202020202020202C1
+:106FB00002020202020202020202020202020202B1
+:106FC00002020202020202020202020202020202A1
+:106FD0000202020202020202020202020202020291
+:106FE0000202020202020202020202020202020281
+:106FF0000202020202020202020202020202020271
+:107000000000000000000000000000000000000080
+:107010000000000000000000000000000000000070
+:107020000000000000000000000000000000000060
+:107030000000000000000000000000000000000050
+:107040000000000000000000000000000000000040
+:107050000000000000000000000000000000000030
+:107060000000000000000000000000000000000020
+:107070000000000000000000000000000000000010
+:107080000000000000000000000000000000000000
+:1070900000000000000000000000000000000000F0
+:1070A00000000000000000000000000000000000E0
+:1070B00000000000000000000000000000000000D0
+:1070C00000000000000000000000000000000000C0
+:1070D00000000000000000000000000000000000B0
+:1070E00000000000000000000000000000000000A0
+:1070F0000000000000000000000000000000000090
+:10710000000000000000000000000000000000007F
+:10711000000000000000000000000000000000006F
+:10712000000000000000000000000000000000005F
+:10713000000000000000000000000000000000004F
+:10714000000000000000000000000000000000003F
+:10715000000000000000000000000000000000002F
+:10716000000000000000000000000000000000001F
+:10717000000000000000000000000000000000000F
+:1071800000000000000000000000000000000000FF
+:1071900000000000000000000000000000000000EF
+:1071A00000000000000000000000000000000000DF
+:1071B00000000000000000000000000000000000CF
+:1071C00000000000000000000000000000000000BF
+:1071D00000000000000000000000000000000000AF
+:1071E000000000000000000000000000000000009F
+:1071F000000000000000000000000000000000008F
+:10720000000000000000000000000000000000007E
+:10721000000000000000000000000000000000006E
+:10722000000000000000000000000000000000005E
+:10723000000000000000000000000000000000004E
+:10724000000000000000000000000000000000003E
+:10725000000000000000000000000000000000002E
+:10726000000000000000000000000000000000001E
+:10727000000000000000000000000000000000000E
+:1072800000000000000000000000000000000000FE
+:1072900000000000000000000000000000000000EE
+:1072A00000000000000000000000000000000000DE
+:1072B00000000000000000000000000000000000CE
+:1072C00000000000000000000000000000000000BE
+:1072D00000000000000000000000000000000000AE
+:1072E000000000000000000000000000000000009E
+:1072F000000000000000000000000000000000008E
+:10730000000000000000000000000000000000007D
+:10731000000000000000000000000000000000006D
+:10732000000000000000000000000000000000005D
+:10733000000000000000000000000000000000004D
+:10734000000000000000000000000000000000003D
+:10735000000000000000000000000000000000002D
+:10736000000000000000000000000000000000001D
+:10737000000000000000000000000000000000000D
+:1073800000000000000000000000000000000000FD
+:1073900000000000000000000000000000000000ED
+:1073A00000000000000000000000000000000000DD
+:1073B00000000000000000000000000000000000CD
+:1073C00000000000000000000000000000000000BD
+:1073D00000000000000000000000000000000000AD
+:1073E000000000000000000000000000000000009D
+:1073F000000000000000000000000000000000008D
+:10740000000000000000000000000000000000007C
+:10741000000000000000000000000000000000006C
+:10742000000000000000000000000000000000005C
+:10743000000000000000000000000000000000004C
+:10744000000000000000000000000000000000003C
+:10745000000000000000000000000000000000002C
+:10746000000000000000000000000000000000001C
+:10747000000000000000000000000000000000000C
+:1074800000000000000000000000000000000000FC
+:1074900000000000000000000000000000000000EC
+:1074A00000000000000000000000000000000000DC
+:1074B00000000000000000000000000000000000CC
+:1074C00000000000000000000000000000000000BC
+:1074D00000000000000000000000000000000000AC
+:1074E000000000000000000000000000000000009C
+:1074F000000000000000000000000000000000008C
+:10750000000000000000000000000000000000007B
+:10751000000000000000000000000000000000006B
+:10752000000000000000000000000000000000005B
+:10753000000000000000000000000000000000004B
+:10754000000000000000000000000000000000003B
+:10755000000000000000000000000000000000002B
+:10756000000000000000000000000000000000001B
+:10757000000000000000000000000000000000000B
+:1075800000000000000000000000000000000000FB
+:1075900000000000000000000000000000000000EB
+:1075A00000000000000000000000000000000000DB
+:1075B00000000000000000000000000000000000CB
+:1075C00000000000000000000000000000000000BB
+:1075D00000000000000000000000000000000000AB
+:1075E000000000000000000000000000000000009B
+:1075F000000000000000000000000000000000008B
+:10760000000000000000000000000000000000007A
+:10761000000000000000000000000000000000006A
+:10762000000000000000000000000000000000005A
+:10763000000000000000000000000000000000004A
+:10764000000000000000000000000000000000003A
+:10765000000000000000000000000000000000002A
+:10766000000000000000000000000000000000001A
+:10767000000000000000000000000000000000000A
+:1076800000000000000000000000000000000000FA
+:1076900000000000000000000000000000000000EA
+:1076A00000000000000000000000000000000000DA
+:1076B00000000000000000000000000000000000CA
+:1076C00000000000000000000000000000000000BA
+:1076D00000000000000000000000000000000000AA
+:1076E000000000000000000000000000000000009A
+:1076F000000000000000000000000000000000008A
+:107700000000000000000000000000000000000079
+:107710000000000000000000000000000000000069
+:107720000000000000000000000000000000000059
+:107730000000000000000000000000000000000049
+:107740000000000000000000000000000000000039
+:107750000000000000000000000000000000000029
+:107760000000000000000000000000000000000019
+:107770000000000000000000000000000000000009
+:1077800000000000000000000000000000000000F9
+:1077900000000000000000000000000000000000E9
+:1077A00000000000000000000000000000000000D9
+:1077B00000000000000000000000000000000000C9
+:1077C00000000000000000000000000000000000B9
+:1077D00000000000000000000000000000000000A9
+:1077E0000000000000000000000000000000000099
+:1077F0000000000000000000000000000000000089
+:107800008F000000000000000101010101010101E1
+:107810000101010101010101010101010101010158
+:107820000101010101010101010101010101010148
+:107830000101010101010101010101010101010138
+:107840000101010101010101010101010101010128
+:107850000101010101010101010101010101010118
+:107860000101010101010101010101010101010108
+:1078700001010101010101010101010101010101F8
+:1078800001010101010101010101010101010101E8
+:1078900001010101010101010101010101010101D8
+:1078A00001010101010101010101010101010101C8
+:1078B00001010101010101010101010101010101B8
+:1078C00001010101010101010101010101010101A8
+:1078D0000101010101010101010101010101010198
+:1078E0000101010101010101010101010101010188
+:1078F0000101010101010101010101010101010178
+:107900000101010101010101010101010101010167
+:107910000101010101010101010101010101010157
+:107920000101010101010101010101010101010147
+:107930000101010101010101010101010101010137
+:107940000101010101010101010101010101010127
+:107950000101010101010101010101010101010117
+:107960000101010101010101010101010101010107
+:1079700001010101010101010101010101010101F7
+:1079800001010101010101010101010101010101E7
+:1079900001010101010101010101010101010101D7
+:1079A00001010101010101010101010101010101C7
+:1079B00001010101010101010101010101010101B7
+:1079C00001010101010101010101010101010101A7
+:1079D0000101010101010101010101010101010197
+:1079E0000101010101010101010101010101010187
+:1079F0000101010101010101010101010101010177
+:107A00000101010101010101010101010101010166
+:107A10000101010101010101010101010101010156
+:107A20000101010101010101010101010101010146
+:107A30000101010101010101010101010101010136
+:107A40000101010101010101010101010101010126
+:107A50000101010101010101010101010101010116
+:107A60000101010101010101010101010101010106
+:107A700001010101010101010101010101010101F6
+:107A800001010101010101010101010101010101E6
+:107A900001010101010101010101010101010101D6
+:107AA00001010101010101010101010101010101C6
+:107AB00001010101010101010101010101010101B6
+:107AC00001010101010101010101010101010101A6
+:107AD0000101010101010101010101010101010196
+:107AE0000101010101010101010101010101010186
+:107AF0000101010101010101010101010101010176
+:107B00000101010101010101010101010101010165
+:107B10000101010101010101010101010101010155
+:107B20000101010101010101010101010101010145
+:107B30000101010101010101010101010101010135
+:107B40000101010101010101010101010101010125
+:107B50000101010101010101010101010101010115
+:107B60000101010101010101010101010101010105
+:107B700001010101010101010101010101010101F5
+:107B800001010101010101010101010101010101E5
+:107B900001010101010101010101010101010101D5
+:107BA00001010101010101010101010101010101C5
+:107BB00001010101010101010101010101010101B5
+:107BC00001010101010101010101010101010101A5
+:107BD0000101010101010101010101010101010195
+:107BE0000101010101010101010101010101010185
+:107BF0000101010101010101010101010101010175
+:107C00000101010101010101010101010101010164
+:107C10000101010101010101010101010101010154
+:107C20000101010101010101010101010101010144
+:107C30000101010101010101010101010101010134
+:107C40000101010101010101010101010101010124
+:107C50000101010101010101010101010101010114
+:107C60000101010101010101010101010101010104
+:107C700001010101010101010101010101010101F4
+:107C800001010101010101010101010101010101E4
+:107C900001010101010101010101010101010101D4
+:107CA00001010101010101010101010101010101C4
+:107CB00001010101010101010101010101010101B4
+:107CC00001010101010101010101010101010101A4
+:107CD0000101010101010101010101010101010194
+:107CE0000101010101010101010101010101010184
+:107CF0000101010101010101010101010101010174
+:107D00000101010101010101010101010101010163
+:107D10000101010101010101010101010101010153
+:107D20000101010101010101010101010101010143
+:107D30000101010101010101010101010101010133
+:107D40000101010101010101010101010101010123
+:107D50000101010101010101010101010101010113
+:107D60000101010101010101010101010101010103
+:107D700001010101010101010101010101010101F3
+:107D800001010101010101010101010101010101E3
+:107D900001010101010101010101010101010101D3
+:107DA00001010101010101010101010101010101C3
+:107DB00001010101010101010101010101010101B3
+:107DC00001010101010101010101010101010101A3
+:107DD0000101010101010101010101010101010193
+:107DE0000101010101010101010101010101010183
+:107DF0000101010101010101010101010101010173
+:107E00000101010101010101010101010101010162
+:107E10000101010101010101010101010101010152
+:107E20000101010101010101010101010101010142
+:107E30000101010101010101010101010101010132
+:107E40000101010101010101010101010101010122
+:107E50000101010101010101010101010101010112
+:107E60000101010101010101010101010101010102
+:107E700001010101010101010101010101010101F2
+:107E800001010101010101010101010101010101E2
+:107E900001010101010101010101010101010101D2
+:107EA00001010101010101010101010101010101C2
+:107EB00001010101010101010101010101010101B2
+:107EC00001010101010101010101010101010101A2
+:107ED0000101010101010101010101010101010192
+:107EE0000101010101010101010101010101010182
+:107EF0000101010101010101010101010101010172
+:107F00000101010101010101010101010101010161
+:107F10000101010101010101010101010101010151
+:107F20000101010101010101010101010101010141
+:107F30000101010101010101010101010101010131
+:107F40000101010101010101010101010101010121
+:107F50000101010101010101010101010101010111
+:107F60000101010101010101010101010101010101
+:107F700001010101010101010101010101010101F1
+:107F800001010101010101010101010101010101E1
+:107F900001010101010101010101010101010101D1
+:107FA00001010101010101010101010101010101C1
+:107FB00001010101010101010101010101010101B1
+:107FC00001010101010101010101010101010101A1
+:107FD0000101010101010101010101010101010191
+:107FE0000101010101010101010101010101010181
+:107FF0000101010101010101010101010101010171
+:108000000101010101010101010101010101010160
+:108010000101010101010101010101010101010150
+:108020000101010101010101010101010101010140
+:108030000101010101010101010101010101010130
+:108040000101010101010101010101010101010120
+:108050000101010101010101010101010101010110
+:108060000101010101010101010101010101010100
+:1080700001010101010101010101010101010101F0
+:1080800001010101010101010101010101010101E0
+:1080900001010101010101010101010101010101D0
+:1080A00001010101010101010101010101010101C0
+:1080B00001010101010101010101010101010101B0
+:1080C00001010101010101010101010101010101A0
+:1080D0000101010101010101010101010101010190
+:1080E0000101010101010101010101010101010180
+:1080F0000101010101010101010101010101010170
+:108100000101010101010101000000000000000067
+:10811000000000000000000000000000000000005F
+:10812000000000000000000000000000000000004F
+:10813000000000000000000000000000000000003F
+:10814000000000000000000000000000000000002F
+:10815000000000000000000000000000000000001F
+:10816000000000000000000000000000000000000F
+:1081700000000000000000000000000000000000FF
+:1081800000000000000000000000000000000000EF
+:1081900000000000000000000000000000000000DF
+:1081A00000000000000000000000000000000000CF
+:1081B00000000000000000000000000000000000BF
+:1081C00000000000000000000000000000000000AF
+:1081D000000000000000000000000000000000009F
+:1081E000000000000000000000000000000000008F
+:1081F000000000000000000000000000000000007F
+:10820000000000000000000000000000000000006E
+:10821000000000000000000000000000000000005E
+:10822000000000000000000000000000000000004E
+:10823000000000000000000000000000000000003E
+:10824000000000000000000000000000000000002E
+:10825000000000000000000000000000000000001E
+:10826000000000000000000000000000000000000E
+:1082700000000000000000000000000000000000FE
+:1082800000000000000000000000000000000000EE
+:1082900000000000000000000000000000000000DE
+:1082A00000000000000000000000000000000000CE
+:1082B00000000000000000000000000000000000BE
+:1082C00000000000000000000000000000000000AE
+:1082D000000000000000000000000000000000009E
+:1082E000000000000000000000000000000000008E
+:1082F000000000000000000000000000000000007E
+:10830000000000000000000000000000000000006D
+:10831000000000000000000000000000000000005D
+:10832000000000000000000000000000000000004D
+:10833000000000000000000000000000000000003D
+:10834000000000000000000000000000000000002D
+:10835000000000000000000000000000000000001D
+:10836000000000000000000000000000000000000D
+:1083700000000000000000000000000000000000FD
+:1083800000000000000000000000000000000000ED
+:1083900000000000000000000000000000000000DD
+:1083A00000000000000000000000000000000000CD
+:1083B00000000000000000000000000000000000BD
+:1083C00000000000000000000000000000000000AD
+:1083D000000000000000000000000000000000009D
+:1083E000000000000000000000000000000000008D
+:1083F000000000000000000000000000000000007D
+:10840000000000000000000000000000000000006C
+:10841000000000000000000000000000000000005C
+:10842000000000000000000000000000000000004C
+:10843000000000000000000000000000000000003C
+:10844000000000000000000000000000000000002C
+:10845000000000000000000000000000000000001C
+:10846000000000000000000000000000000000000C
+:1084700000000000000000000000000000000000FC
+:1084800000000000000000000000000000000000EC
+:1084900000000000000000000000000000000000DC
+:1084A00000000000000000000000000000000000CC
+:1084B00000000000000000000000000000000000BC
+:1084C00000000000000000000000000000000000AC
+:1084D000000000000000000000000000000000009C
+:1084E000000000000000000000000000000000008C
+:1084F000000000000000000000000000000000007C
+:10850000000000000000000000000000000000006B
+:10851000000000000000000000000000000000005B
+:10852000000000000000000000000000000000004B
+:10853000000000000000000000000000000000003B
+:10854000000000000000000000000000000000002B
+:10855000000000000000000000000000000000001B
+:10856000000000000000000000000000000000000B
+:1085700000000000000000000000000000000000FB
+:1085800000000000000000000000000000000000EB
+:1085900000000000000000000000000000000000DB
+:1085A00000000000000000000000000000000000CB
+:1085B00000000000000000000000000000000000BB
+:1085C00000000000000000000000000000000000AB
+:1085D000000000000000000000000000000000009B
+:1085E000000000000000000000000000000000008B
+:1085F000000000000000000000000000000000007B
+:10860000000000000000000000000000000000006A
+:10861000000000000000000000000000000000005A
+:10862000000000000000000000000000000000004A
+:10863000000000000000000000000000000000003A
+:10864000000000000000000000000000000000002A
+:10865000000000000000000000000000000000001A
+:10866000000000000000000000000000000000000A
+:1086700000000000000000000000000000000000FA
+:1086800000000000000000000000000000000000EA
+:1086900000000000000000000000000000000000DA
+:1086A00000000000000000000000000000000000CA
+:1086B00000000000000000000000000000000000BA
+:1086C00000000000000000000000000000000000AA
+:1086D000000000000000000000000000000000009A
+:1086E000000000000000000000000000000000008A
+:1086F000000000000000000000000000000000007A
+:108700000000000000000000000000000000000069
+:108710000000000000000000000000000000000059
+:108720000000000000000000000000000000000049
+:108730000000000000000000000000000000000039
+:108740000000000000000000000000000000000029
+:108750000000000000000000000000000000000019
+:108760000000000000000000000000000000000009
+:1087700000000000000000000000000000000000F9
+:1087800000000000000000000000000000000000E9
+:1087900000000000000000000000000000000000D9
+:1087A00000000000000000000000000000000000C9
+:1087B00000000000000000000000000000000000B9
+:1087C00000000000000000000000000000000000A9
+:1087D0000000000000000000000000000000000099
+:1087E0000000000000000000000000000000000089
+:1087F0000000000000000000000000000000000079
+:108800000000000000000000000000000000000068
+:108810000000000000000000000000000000000058
+:108820000000000000000000000000000000000048
+:108830000000000000000000000000000000000038
+:108840000000000000000000000000000000000028
+:108850000000000000000000000000000000000018
+:108860000000000000000000000000000000000008
+:1088700000000000000000000000000000000000F8
+:1088800000000000000000000000000000000000E8
+:1088900000000000000000000000000000000000D8
+:1088A00000000000000000000000000000000000C8
+:1088B00000000000000000000000000000000000B8
+:1088C00000000000000000000000000000000000A8
+:1088D0000000000000000000000000000000000098
+:1088E0000000000000000000000000000000000088
+:1088F0000000000000000000000000000000000078
+:108900000000000000000000000000000000000067
+:108910000000000000000000000000000000000057
+:108920000000000000000000000000000000000047
+:108930000000000000000000000000000000000037
+:108940000000000000000000000000000000000027
+:108950000000000000000000000000000000000017
+:108960000000000000000000000000000000000007
+:1089700000000000000000000000000000000000F7
+:1089800000000000000000000000000000000000E7
+:1089900000000000000000000000000000000000D7
+:1089A00000000000000000000000000000000000C7
+:1089B00000000000000000000000000000000000B7
+:1089C00000000000000000000000000000000000A7
+:1089D0000000000000000000000000000000000097
+:1089E0000000000000000000000000000000000087
+:1089F0000000000000000000000000000000000077
+:108A00000000000000000000000000000000000066
+:108A10000000000000000000000000000000000056
+:108A20000000000000000000000000000000000046
+:108A30000000000000000000000000000000000036
+:108A40000000000000000000000000000000000026
+:108A50000000000000000000000000000000000016
+:108A60000000000000000000000000000000000006
+:108A700000000000000000000000000000000000F6
+:108A800000000000000000000000000000000000E6
+:108A900000000000000000000000000000000000D6
+:108AA00000000000000000000000000000000000C6
+:108AB00000000000000000000000000000000000B6
+:108AC00000000000000000000000000000000000A6
+:108AD0000000000000000000000000000000000096
+:108AE0000000000000000000000000000000000086
+:108AF0000000000000000000000000000000000076
+:108B00000000000000000000000000000000000065
+:108B10000000000000000000000000000000000055
+:108B20000000000000000000000000000000000045
+:108B30000000000000000000000000000000000035
+:108B40000000000000000000000000000000000025
+:108B50000000000000000000000000000000000015
+:108B60000000000000000000000000000000000005
+:108B700000000000000000000000000000000000F5
+:108B800000000000000000000000000000000000E5
+:108B900000000000000000000000000000000000D5
+:108BA00000000000000000000000000000000000C5
+:108BB00000000000000000000000000000000000B5
+:108BC00000000000000000000000000000000000A5
+:108BD0000000000000000000000000000000000095
+:108BE0000000000000000000000000000000000085
+:108BF0000000000000000000000000000000000075
+:108C00000000000000000000000000000000000064
+:108C10000000000000000000000000000000000054
+:108C20000000000000000000000000000000000044
+:108C30000000000000000000000000000000000034
+:108C40000000000000000000000000000000000024
+:108C50000000000000000000000000000000000014
+:108C60000000000000000000000000000000000004
+:108C700000000000000000000000000000000000F4
+:108C800000000000000000000000000000000000E4
+:108C900000000000000000000000000000000000D4
+:108CA00000000000000000000000000000000000C4
+:108CB00000000000000000000000000000000000B4
+:108CC00000000000000000000000000000000000A4
+:108CD0000000000000000000000000000000000094
+:108CE0000000000000000000000000000000000084
+:108CF0000000000000000000000000000000000074
+:108D00000000000000000000000000000000000063
+:108D10000000000000000000000000000000000053
+:108D20000000000000000000000000000000000043
+:108D30000000000000000000000000000000000033
+:108D40000000000000000000000000000000000023
+:108D50000000000000000000000000000000000013
+:108D60000000000000000000000000000000000003
+:108D700000000000000000000000000000000000F3
+:108D800000000000000000000000000000000000E3
+:108D900000000000000000000000000000000000D3
+:108DA00000000000000000000000000000000000C3
+:108DB00000000000000000000000000000000000B3
+:108DC00000000000000000000000000000000000A3
+:108DD0000000000000000000000000000000000093
+:108DE0000000000000000000000000000000000083
+:108DF0000000000000000000000000000000000073
+:108E00000000000000000000000000000000000062
+:108E10000000000000000000000000000000000052
+:108E20000000000000000000000000000000000042
+:108E30000000000000000000000000000000000032
+:108E40000000000000000000000000000000000022
+:108E50000000000000000000000000000000000012
+:108E60000000000000000000000000000000000002
+:108E700000000000000000000000000000000000F2
+:108E800000000000000000000000000000000000E2
+:108E900000000000000000000000000000000000D2
+:108EA00000000000000000000000000000000000C2
+:108EB00000000000000000000000000000000000B2
+:108EC00000000000000000000000000000000000A2
+:108ED0000000000000000000000000000000000092
+:108EE0000000000000000000000000000000000082
+:108EF0000000000000000000000000000000000072
+:108F00000000000000000000000000000000000061
+:108F10000000000000000000000000000000000051
+:108F20000000000000000000000000000000000041
+:108F30000000000000000000000000000000000031
+:108F40000000000000000000000000000000000021
+:108F50000000000000000000000000000000000011
+:108F60000000000000000000000000000000000001
+:108F700000000000000000000000000000000000F1
+:108F800000000000000000000000000000000000E1
+:108F900000000000000000000000000000000000D1
+:108FA00000000000000000000000000000000000C1
+:108FB00000000000000000000000000000000000B1
+:108FC00000000000000000000000000000000000A1
+:108FD0000000000000000000000000000000000091
+:108FE0000000000000000000000000000000000081
+:108FF0000000000000000000000000000000000071
+:109000000000000000000000000000000000000060
+:109010000000000000000000000000000000000050
+:109020000000000000000000000000000000000040
+:109030000000000000000000000000000000000030
+:109040000000000000000000000000000000000020
+:109050000000000000000000000000000000000010
+:109060000000000000000000000000000000000000
+:1090700000000000000000000000000000000000F0
+:1090800000000000000000000000000000000000E0
+:1090900000000000000000000000000000000000D0
+:1090A00000000000000000000000000000000000C0
+:1090B00000000000000000000000000000000000B0
+:1090C00000000000000000000000000000000000A0
+:1090D0000000000000000000000000000000000090
+:1090E0000000000000000000000000000000000080
+:1090F0000000000000000000000000000000000070
+:10910000000000000000000000000000000000005F
+:10911000000000000000000000000000000000004F
+:10912000000000000000000000000000000000003F
+:10913000000000000000000000000000000000002F
+:10914000000000000000000000000000000000001F
+:10915000000000000000000000000000000000000F
+:1091600000000000000000000000000000000000FF
+:1091700000000000000000000000000000000000EF
+:1091800000000000000000000000000000000000DF
+:1091900000000000000000000000000000000000CF
+:1091A00000000000000000000000000000000000BF
+:1091B00000000000000000000000000000000000AF
+:1091C000000000000000000000000000000000009F
+:1091D000000000000000000000000000000000008F
+:1091E000000000000000000000000000000000007F
+:1091F000000000000000000000000000000000006F
+:109200000000000000000000010101010101010156
+:10921000010101010101010101010101010101013E
+:10922000010101010101010101010101010101012E
+:10923000010101010101010101010101010101011E
+:10924000010101010101010101010101010101010E
+:1092500001010101010101010101010101010101FE
+:1092600001010101010101010101010101010101EE
+:1092700001010101010101010101010101010101DE
+:1092800001010101010101010101010101010101CE
+:1092900001010101010101010101010101010101BE
+:1092A00001010101010101010101010101010101AE
+:1092B000010101010101010101010101010101019E
+:1092C000010101010101010101010101010101018E
+:1092D000010101010101010101010101010101017E
+:1092E000010101010101010101010101010101016E
+:1092F000010101010101010101010101010101015E
+:10930000010101010101010101010101010101014D
+:10931000010101010101010101010101010101013D
+:10932000010101010101010101010101010101012D
+:10933000010101010101010101010101010101011D
+:10934000010101010101010101010101010101010D
+:1093500001010101010101010101010101010101FD
+:1093600001010101010101010101010101010101ED
+:1093700001010101010101010101010101010101DD
+:1093800001010101010101010101010101010101CD
+:1093900001010101010101010101010101010101BD
+:1093A00001010101010101010101010101010101AD
+:1093B000010101010101010101010101010101019D
+:1093C000010101010101010101010101010101018D
+:1093D000010101010101010101010101010101017D
+:1093E000010101010101010101010101010101016D
+:1093F000010101010101010101010101010101015D
+:10940000010101010101010101010101010101014C
+:10941000010101010101010101010101010101013C
+:10942000010101010101010101010101010101012C
+:10943000010101010101010101010101010101011C
+:10944000010101010101010101010101010101010C
+:1094500001010101010101010101010101010101FC
+:1094600001010101010101010101010101010101EC
+:1094700001010101010101010101010101010101DC
+:1094800001010101010101010101010101010101CC
+:1094900001010101010101010101010101010101BC
+:1094A00001010101010101010101010101010101AC
+:1094B000010101010101010101010101010101019C
+:1094C000010101010101010101010101010101018C
+:1094D000010101010101010101010101010101017C
+:1094E000010101010101010101010101010101016C
+:1094F000010101010101010101010101010101015C
+:10950000010101010101010101010101010101014B
+:10951000010101010101010101010101010101013B
+:10952000010101010101010101010101010101012B
+:10953000010101010101010101010101010101011B
+:10954000010101010101010101010101010101010B
+:1095500001010101010101010101010101010101FB
+:1095600001010101010101010101010101010101EB
+:1095700001010101010101010101010101010101DB
+:1095800001010101010101010101010101010101CB
+:1095900001010101010101010101010101010101BB
+:1095A00001010101010101010101010101010101AB
+:1095B000010101010101010101010101010101019B
+:1095C000010101010101010101010101010101018B
+:1095D000010101010101010101010101010101017B
+:1095E000010101010101010101010101010101016B
+:1095F000010101010101010101010101010101015B
+:10960000010101010101010101010101010101014A
+:10961000010101010101010101010101010101013A
+:10962000010101010101010101010101010101012A
+:10963000010101010101010101010101010101011A
+:10964000010101010101010101010101010101010A
+:1096500001010101010101010101010101010101FA
+:1096600001010101010101010101010101010101EA
+:1096700001010101010101010101010101010101DA
+:1096800001010101010101010101010101010101CA
+:1096900001010101010101010101010101010101BA
+:1096A00001010101010101010101010101010101AA
+:1096B000010101010101010101010101010101019A
+:1096C000010101010101010101010101010101018A
+:1096D000010101010101010101010101010101017A
+:1096E000010101010101010101010101010101016A
+:1096F000010101010101010101010101010101015A
+:109700000101010101010101010101010101010149
+:109710000101010101010101010101010101010139
+:109720000101010101010101010101010101010129
+:109730000101010101010101010101010101010119
+:109740000101010101010101010101010101010109
+:1097500001010101010101010101010101010101F9
+:1097600001010101010101010101010101010101E9
+:1097700001010101010101010101010101010101D9
+:1097800001010101010101010101010101010101C9
+:1097900001010101010101010101010101010101B9
+:1097A00001010101010101010101010101010101A9
+:1097B0000101010101010101010101010101010199
+:1097C0000101010101010101010101010101010189
+:1097D0000101010101010101010101010101010179
+:1097E0000101010101010101010101010101010169
+:1097F0000101010101010101010101010101010159
+:109800000101010101010101010101010101010148
+:109810000101010101010101010101010101010138
+:109820000101010101010101010101010101010128
+:109830000101010101010101010101010101010118
+:109840000101010101010101010101010101010108
+:1098500001010101010101010101010101010101F8
+:1098600001010101010101010101010101010101E8
+:1098700001010101010101010101010101010101D8
+:1098800001010101010101010101010101010101C8
+:1098900001010101010101010101010101010101B8
+:1098A00001010101010101010101010101010101A8
+:1098B0000101010101010101010101010101010198
+:1098C0000101010101010101010101010101010188
+:1098D0000101010101010101010101010101010178
+:1098E0000101010101010101010101010101010168
+:1098F0000101010101010101010101010101010158
+:109900000101010101010101010101010101010147
+:109910000101010101010101010101010101010137
+:109920000101010101010101010101010101010127
+:109930000101010101010101010101010101010117
+:109940000101010101010101010101010101010107
+:1099500001010101010101010101010101010101F7
+:1099600001010101010101010101010101010101E7
+:1099700001010101010101010101010101010101D7
+:1099800001010101010101010101010101010101C7
+:1099900001010101010101010101010101010101B7
+:1099A00001010101010101010101010101010101A7
+:1099B0000101010101010101010101010101010197
+:1099C0000101010101010101010101010101010187
+:1099D0000101010101010101010101010101010177
+:1099E0000101010101010101010101010101010167
+:1099F0000101010101010101010101010101010157
+:109A00000101010101010101010101010101010146
+:109A10000101010101010101010101010101010136
+:109A20000101010101010101010101010101010126
+:109A30000101010101010101010101010101010116
+:109A40000101010101010101010101010101010106
+:109A500001010101010101010101010101010101F6
+:109A600001010101010101010101010101010101E6
+:109A700001010101010101010101010101010101D6
+:109A800001010101010101010101010101010101C6
+:109A900001010101010101010101010101010101B6
+:109AA00001010101010101010101010101010101A6
+:109AB0000101010101010101010101010101010196
+:109AC0000101010101010101010101010101010186
+:109AD0000101010101010101010101010101010176
+:109AE0000101010101010101010101010101010166
+:109AF0000101010101010101010101010101010156
+:109B0000010101010101010100000000000000004D
+:109B10000000000000000000000000000000000045
+:109B20000000000000000000000000000000000035
+:109B30000000000000000000000000000000000025
+:109B40000000000000000000000000000000000015
+:109B50000000000000000000000000000000000005
+:109B600000000000000000000000000000000000F5
+:109B700000000000000000000000000000000000E5
+:109B800000000000000000000000000000000000D5
+:109B900000000000000000000000000000000000C5
+:109BA00000000000000000000000000000000000B5
+:109BB00000000000000000000000000000000000A5
+:109BC0000000000000000000000000000000000095
+:109BD0000000000000000000000000000000000085
+:109BE0000000000000000000000000000000000075
+:109BF0000000000000000000000000000000000065
+:109C00000000000000000000000000000000000054
+:109C10000000000000000000000000000000000044
+:109C20000000000000000000000000000000000034
+:109C30000000000000000000000000000000000024
+:109C40000000000000000000000000000000000014
+:109C50000000000000000000000000000000000004
+:109C600000000000000000000000000000000000F4
+:109C700000000000000000000000000000000000E4
+:109C800000000000000000000000000000000000D4
+:109C900000000000000000000000000000000000C4
+:109CA00000000000000000000000000000000000B4
+:109CB00000000000000000000000000000000000A4
+:109CC0000000000000000000000000000000000094
+:109CD0000000000000000000000000000000000084
+:109CE0000000000000000000000000000000000074
+:109CF0000000000000000000000000000000000064
+:109D00000000000000000000000000000000000053
+:109D10000000000000000000000000000000000043
+:109D20000000000000000000000000000000000033
+:109D30000000000000000000000000000000000023
+:109D40000000000000000000000000000000000013
+:109D50000000000000000000000000000000000003
+:109D600000000000000000000000000000000000F3
+:109D700000000000000000000000000000000000E3
+:109D800000000000000000000000000000000000D3
+:109D900000000000000000000000000000000000C3
+:109DA00000000000000000000000000000000000B3
+:109DB00000000000000000000000000000000000A3
+:109DC0000000000000000000000000000000000093
+:109DD0000000000000000000000000000000000083
+:109DE0000000000000000000000000000000000073
+:109DF0000000000000000000000000000000000063
+:109E00000000000000000000000000000000000052
+:109E10000000000000000000000000000000000042
+:109E20000000000000000000000000000000000032
+:109E30000000000000000000000000000000000022
+:109E40000000000000000000000000000000000012
+:109E50000000000000000000000000000000000002
+:109E600000000000000000000000000000000000F2
+:109E700000000000000000000000000000000000E2
+:109E800000000000000000000000000000000000D2
+:109E900000000000000000000000000000000000C2
+:109EA00000000000000000000000000000000000B2
+:109EB00000000000000000000000000000000000A2
+:109EC0000000000000000000000000000000000092
+:109ED0000000000000000000000000000000000082
+:109EE0000000000000000000000000000000000072
+:109EF0000000000000000000000000000000000062
+:109F00000000000000000000000000000000000051
+:109F10000000000000000000000000000000000041
+:109F20000000000000000000000000000000000031
+:109F30000000000000000000000000000000000021
+:109F40000000000000000000000000000000000011
+:109F50000000000000000000000000000000000001
+:109F600000000000000000000000000000000000F1
+:109F700000000000000000000000000000000000E1
+:109F800000000000000000000000000000000000D1
+:109F900000000000000000000000000000000000C1
+:109FA00000000000000000000000000000000000B1
+:109FB00000000000000000000000000000000000A1
+:109FC0000000000000000000000000000000000091
+:109FD0000000000000000000000000000000000081
+:109FE0000000000000000000000000000000000071
+:109FF0000000000000000000000000000000000061
+:10A000000000000000000000010101010101010148
+:10A010000101010101010101010101010101010130
+:10A020000101010101010101010101010101010120
+:10A030000101010101010101010101010101010110
+:10A040000101010101010101010101010101010100
+:10A0500001010101010101010101010101010101F0
+:10A0600001010101010101010101010101010101E0
+:10A0700001010101010101010101010101010101D0
+:10A0800001010101010101010101010101010101C0
+:10A0900001010101010101010101010101010101B0
+:10A0A00001010101010101010101010101010101A0
+:10A0B0000101010101010101010101010101010190
+:10A0C0000101010101010101010101010101010180
+:10A0D0000101010101010101010101010101010170
+:10A0E0000101010101010101010101010101010160
+:10A0F0000101010101010101010101010101010150
+:10A10000010101010101010101010101010101013F
+:10A11000010101010101010101010101010101012F
+:10A12000010101010101010101010101010101011F
+:10A13000010101010101010101010101010101010F
+:10A1400001010101010101010101010101010101FF
+:10A1500001010101010101010101010101010101EF
+:10A1600001010101010101010101010101010101DF
+:10A1700001010101010101010101010101010101CF
+:10A1800001010101010101010101010101010101BF
+:10A1900001010101010101010101010101010101AF
+:10A1A000010101010101010101010101010101019F
+:10A1B000010101010101010101010101010101018F
+:10A1C000010101010101010101010101010101017F
+:10A1D000010101010101010101010101010101016F
+:10A1E000010101010101010101010101010101015F
+:10A1F000010101010101010101010101010101014F
+:10A200000101010101010101020202020202020236
+:10A21000020202020202020202020202020202021E
+:10A22000020202020202020202020202020202020E
+:10A2300002020202020202020202020202020202FE
+:10A2400002020202020202020202020202020202EE
+:10A2500002020202020202020202020202020202DE
+:10A2600002020202020202020202020202020202CE
+:10A2700002020202020202020202020202020202BE
+:10A2800002020202020202020202020202020202AE
+:10A29000020202020202020202020202020202029E
+:10A2A000020202020202020202020202020202028E
+:10A2B000020202020202020202020202020202027E
+:10A2C000020202020202020202020202020202026E
+:10A2D000020202020202020202020202020202025E
+:10A2E000020202020202020202020202020202024E
+:10A2F000020202020202020202020202020202023E
+:10A30000020202020202020202020202020202022D
+:10A31000020202020202020202020202020202021D
+:10A32000020202020202020202020202020202020D
+:10A3300002020202020202020202020202020202FD
+:10A3400002020202020202020202020202020202ED
+:10A3500002020202020202020202020202020202DD
+:10A3600002020202020202020202020202020202CD
+:10A3700002020202020202020202020202020202BD
+:10A3800002020202020202020202020202020202AD
+:10A39000020202020202020202020202020202029D
+:10A3A000020202020202020202020202020202028D
+:10A3B000020202020202020202020202020202027D
+:10A3C000020202020202020202020202020202026D
+:10A3D000020202020202020202020202020202025D
+:10A3E000020202020202020202020202020202024D
+:10A3F000020202020202020202020202020202023D
+:10A40000020202020202020202020202020202022C
+:10A41000020202020202020202020202020202021C
+:10A42000020202020202020202020202020202020C
+:10A4300002020202020202020202020202020202FC
+:10A4400002020202020202020202020202020202EC
+:10A4500002020202020202020202020202020202DC
+:10A4600002020202020202020202020202020202CC
+:10A4700002020202020202020202020202020202BC
+:10A4800002020202020202020202020202020202AC
+:10A49000020202020202020202020202020202029C
+:10A4A000020202020202020202020202020202028C
+:10A4B000020202020202020202020202020202027C
+:10A4C000020202020202020202020202020202026C
+:10A4D000020202020202020202020202020202025C
+:10A4E000020202020202020202020202020202024C
+:10A4F000020202020202020202020202020202023C
+:10A50000020202020202020202020202020202022B
+:10A51000020202020202020202020202020202021B
+:10A52000020202020202020202020202020202020B
+:10A5300002020202020202020202020202020202FB
+:10A5400002020202020202020202020202020202EB
+:10A5500002020202020202020202020202020202DB
+:10A5600002020202020202020202020202020202CB
+:10A5700002020202020202020202020202020202BB
+:10A5800002020202020202020202020202020202AB
+:10A59000020202020202020202020202020202029B
+:10A5A000020202020202020202020202020202028B
+:10A5B000020202020202020202020202020202027B
+:10A5C000020202020202020202020202020202026B
+:10A5D000020202020202020202020202020202025B
+:10A5E000020202020202020202020202020202024B
+:10A5F000020202020202020202020202020202023B
+:10A60000020202020202020202020202020202022A
+:10A61000020202020202020202020202020202021A
+:10A62000020202020202020202020202020202020A
+:10A6300002020202020202020202020202020202FA
+:10A6400002020202020202020202020202020202EA
+:10A6500002020202020202020202020202020202DA
+:10A6600002020202020202020202020202020202CA
+:10A6700002020202020202020202020202020202BA
+:10A6800002020202020202020202020202020202AA
+:10A69000020202020202020202020202020202029A
+:10A6A000020202020202020202020202020202028A
+:10A6B000020202020202020202020202020202027A
+:10A6C000020202020202020202020202020202026A
+:10A6D000020202020202020202020202020202025A
+:10A6E000020202020202020202020202020202024A
+:10A6F000020202020202020202020202020202023A
+:10A700000202020202020202020202020202020229
+:10A710000202020202020202020202020202020219
+:10A720000202020202020202020202020202020209
+:10A7300002020202020202020202020202020202F9
+:10A7400002020202020202020202020202020202E9
+:10A7500002020202020202020202020202020202D9
+:10A7600002020202020202020202020202020202C9
+:10A7700002020202020202020202020202020202B9
+:10A7800002020202020202020202020202020202A9
+:10A790000202020202020202020202020202020299
+:10A7A0000202020202020202020202020202020289
+:10A7B0000202020202020202020202020202020279
+:10A7C0000202020202020202020202020202020269
+:10A7D0000202020202020202020202020202020259
+:10A7E0000202020202020202020202020202020249
+:10A7F0000202020202020202020202020202020239
+:10A800000202020202020202020202020202020228
+:10A810000202020202020202020202020202020218
+:10A820000202020202020202020202020202020208
+:10A8300002020202020202020202020202020202F8
+:10A8400002020202020202020202020202020202E8
+:10A8500002020202020202020202020202020202D8
+:10A8600002020202020202020202020202020202C8
+:10A8700002020202020202020202020202020202B8
+:10A8800002020202020202020202020202020202A8
+:10A890000202020202020202020202020202020298
+:10A8A0000202020202020202020202020202020288
+:10A8B0000202020202020202020202020202020278
+:10A8C0000202020202020202020202020202020268
+:10A8D0000202020202020202020202020202020258
+:10A8E0000202020202020202020202020202020248
+:10A8F0000202020202020202020202020202020238
+:10A900000202020202020202020202020202020227
+:10A910000202020202020202020202020202020217
+:10A920000202020202020202020202020202020207
+:10A9300002020202020202020202020202020202F7
+:10A9400002020202020202020202020202020202E7
+:10A9500002020202020202020202020202020202D7
+:10A9600002020202020202020202020202020202C7
+:10A9700002020202020202020202020202020202B7
+:10A9800002020202020202020202020202020202A7
+:10A990000202020202020202020202020202020297
+:10A9A0000202020202020202020202020202020287
+:10A9B0000202020202020202020202020202020277
+:10A9C0000202020202020202020202020202020267
+:10A9D0000202020202020202020202020202020257
+:10A9E0000202020202020202020202020202020247
+:10A9F0000202020202020202020202020202020237
+:10AA00000202020202020202020202020202020226
+:10AA10000202020202020202020202020202020216
+:10AA20000202020202020202020202020202020206
+:10AA300002020202020202020202020202020202F6
+:10AA400002020202020202020202020202020202E6
+:10AA500002020202020202020202020202020202D6
+:10AA600002020202020202020202020202020202C6
+:10AA700002020202020202020202020202020202B6
+:10AA800002020202020202020202020202020202A6
+:10AA90000202020202020202020202020202020296
+:10AAA0000202020202020202020202020202020286
+:10AAB0000202020202020202020202020202020276
+:10AAC0000202020202020202020202020202020266
+:10AAD0000202020202020202020202020202020256
+:10AAE0000202020202020202020202020202020246
+:10AAF0000202020202020202020202020202020236
+:10AB00000202020202020202020202020202020225
+:10AB10000202020202020202020202020202020215
+:10AB20000202020202020202020202020202020205
+:10AB300002020202020202020202020202020202F5
+:10AB400002020202020202020202020202020202E5
+:10AB500002020202020202020202020202020202D5
+:10AB600002020202020202020202020202020202C5
+:10AB700002020202020202020202020202020202B5
+:10AB800002020202020202020202020202020202A5
+:10AB90000202020202020202020202020202020295
+:10ABA0000202020202020202020202020202020285
+:10ABB0000202020202020202020202020202020275
+:10ABC0000202020202020202020202020202020265
+:10ABD0000202020202020202020202020202020255
+:10ABE0000202020202020202020202020202020245
+:10ABF0000202020202020202020202020202020235
+:10AC00000202020202020202020202020202020224
+:10AC10000202020202020202020202020202020214
+:10AC20000202020202020202020202020202020204
+:10AC300002020202020202020202020202020202F4
+:10AC400002020202020202020202020202020202E4
+:10AC500002020202020202020202020202020202D4
+:10AC600002020202020202020202020202020202C4
+:10AC700002020202020202020202020202020202B4
+:10AC800002020202020202020202020202020202A4
+:10AC90000202020202020202020202020202020294
+:10ACA0000202020202020202020202020202020284
+:10ACB0000202020202020202020202020202020274
+:10ACC0000202020202020202020202020202020264
+:10ACD0000202020202020202020202020202020254
+:10ACE0000202020202020202020202020202020244
+:10ACF0000202020202020202020202020202020234
+:10AD00000202020202020202020202020202020223
+:10AD10000202020202020202020202020202020213
+:10AD20000202020202020202020202020202020203
+:10AD300002020202020202020202020202020202F3
+:10AD400002020202020202020202020202020202E3
+:10AD500002020202020202020202020202020202D3
+:10AD600002020202020202020202020202020202C3
+:10AD700002020202020202020202020202020202B3
+:10AD800002020202020202020202020202020202A3
+:10AD90000202020202020202020202020202020293
+:10ADA0000202020202020202020202020202020283
+:10ADB0000202020202020202020202020202020273
+:10ADC0000202020202020202020202020202020263
+:10ADD0000202020202020202020202020202020253
+:10ADE0000202020202020202020202020202020243
+:10ADF0000202020202020202020202020202020233
+:10AE00000202020202020202020202020202020222
+:10AE10000202020202020202020202020202020212
+:10AE20000202020202020202020202020202020202
+:10AE300002020202020202020202020202020202F2
+:10AE400002020202020202020202020202020202E2
+:10AE500002020202020202020202020202020202D2
+:10AE600002020202020202020202020202020202C2
+:10AE700002020202020202020202020202020202B2
+:10AE800002020202020202020202020202020202A2
+:10AE90000202020202020202020202020202020292
+:10AEA0000202020202020202020202020202020282
+:10AEB0000202020202020202020202020202020272
+:10AEC0000202020202020202020202020202020262
+:10AED0000202020202020202020202020202020252
+:10AEE0000202020202020202020202020202020242
+:10AEF0000202020202020202020202020202020232
+:10AF00000202020202020202020202020202020221
+:10AF10000202020202020202020202020202020211
+:10AF20000202020202020202020202020202020201
+:10AF300002020202020202020202020202020202F1
+:10AF400002020202020202020202020202020202E1
+:10AF500002020202020202020202020202020202D1
+:10AF600002020202020202020202020202020202C1
+:10AF700002020202020202020202020202020202B1
+:10AF800002020202020202020202020202020202A1
+:10AF90000202020202020202020202020202020291
+:10AFA0000202020202020202020202020202020281
+:10AFB0000202020202020202020202020202020271
+:10AFC0000202020202020202020202020202020261
+:10AFD0000202020202020202020202020202020251
+:10AFE0000202020202020202020202020202020241
+:10AFF0000202020202020202020202020202020231
+:10B000000202020202020202020202020202020220
+:10B010000202020202020202020202020202020210
+:10B020000202020202020202020202020202020200
+:10B0300002020202020202020202020202020202F0
+:10B0400002020202020202020202020202020202E0
+:10B0500002020202020202020202020202020202D0
+:10B0600002020202020202020202020202020202C0
+:10B0700002020202020202020202020202020202B0
+:10B0800002020202020202020202020202020202A0
+:10B090000202020202020202020202020202020290
+:10B0A0000202020202020202020202020202020280
+:10B0B0000202020202020202020202020202020270
+:10B0C0000202020202020202020202020202020260
+:10B0D0000202020202020202020202020202020250
+:10B0E0000202020202020202020202020202020240
+:10B0F0000202020202020202020202020202020230
+:10B10000020202020202020202020202020202021F
+:10B11000020202020202020202020202020202020F
+:10B1200002020202020202020202020202020202FF
+:10B1300002020202020202020202020202020202EF
+:10B1400002020202020202020202020202020202DF
+:10B1500002020202020202020202020202020202CF
+:10B1600002020202020202020202020202020202BF
+:10B1700002020202020202020202020202020202AF
+:10B18000020202020202020202020202020202029F
+:10B19000020202020202020202020202020202028F
+:10B1A000020202020202020202020202020202027F
+:10B1B000020202020202020202020202020202026F
+:10B1C000020202020202020202020202020202025F
+:10B1D000020202020202020202020202020202024F
+:10B1E000020202020202020202020202020202023F
+:10B1F000020202020202020202020202020202022F
+:10B20000020202020202020202020202020202021E
+:10B21000020202020202020202020202020202020E
+:10B2200002020202020202020202020202020202FE
+:10B2300002020202020202020202020202020202EE
+:10B2400002020202020202020202020202020202DE
+:10B2500002020202020202020202020202020202CE
+:10B2600002020202020202020202020202020202BE
+:10B2700002020202020202020202020202020202AE
+:10B28000020202020202020202020202020202029E
+:10B29000020202020202020202020202020202028E
+:10B2A000020202020202020202020202020202027E
+:10B2B000020202020202020202020202020202026E
+:10B2C000020202020202020202020202020202025E
+:10B2D000020202020202020202020202020202024E
+:10B2E000020202020202020202020202020202023E
+:10B2F000020202020202020202020202020202022E
+:10B30000020202020202020202020202020202021D
+:10B31000020202020202020202020202020202020D
+:10B3200002020202020202020202020202020202FD
+:10B3300002020202020202020202020202020202ED
+:10B3400002020202020202020202020202020202DD
+:10B3500002020202020202020202020202020202CD
+:10B3600002020202020202020202020202020202BD
+:10B3700002020202020202020202020202020202AD
+:10B38000020202020202020202020202020202029D
+:10B39000020202020202020202020202020202028D
+:10B3A000020202020202020202020202020202027D
+:10B3B000020202020202020202020202020202026D
+:10B3C000020202020202020202020202020202025D
+:10B3D000020202020202020202020202020202024D
+:10B3E000020202020202020202020202020202023D
+:10B3F000020202020202020202020202020202022D
+:10B40000020202020202020202020202020202021C
+:10B41000020202020202020202020202020202020C
+:10B4200002020202020202020202020202020202FC
+:10B4300002020202020202020202020202020202EC
+:10B4400002020202020202020202020202020202DC
+:10B4500002020202020202020202020202020202CC
+:10B4600002020202020202020202020202020202BC
+:10B4700002020202020202020202020202020202AC
+:10B48000020202020202020202020202020202029C
+:10B49000020202020202020202020202020202028C
+:10B4A000020202020202020202020202020202027C
+:10B4B000020202020202020202020202020202026C
+:10B4C000020202020202020202020202020202025C
+:10B4D000020202020202020202020202020202024C
+:10B4E000020202020202020202020202020202023C
+:10B4F000020202020202020202020202020202022C
+:10B50000020202020202020202020202020202021B
+:10B51000020202020202020202020202020202020B
+:10B5200002020202020202020202020202020202FB
+:10B5300002020202020202020202020202020202EB
+:10B5400002020202020202020202020202020202DB
+:10B5500002020202020202020202020202020202CB
+:10B5600002020202020202020202020202020202BB
+:10B5700002020202020202020202020202020202AB
+:10B58000020202020202020202020202020202029B
+:10B59000020202020202020202020202020202028B
+:10B5A000020202020202020202020202020202027B
+:10B5B000020202020202020202020202020202026B
+:10B5C000020202020202020202020202020202025B
+:10B5D000020202020202020202020202020202024B
+:10B5E000020202020202020202020202020202023B
+:10B5F000020202020202020202020202020202022B
+:10B60000020202020202020200000000000000002A
+:10B61000000000000000000000000000000000002A
+:10B62000000000000000000000000000000000001A
+:10B63000000000000000000000000000000000000A
+:10B6400000000000000000000000000000000000FA
+:10B6500000000000000000000000000000000000EA
+:10B6600000000000000000000000000000000000DA
+:10B6700000000000000000000000000000000000CA
+:10B6800000000000000000000000000000000000BA
+:10B6900000000000000000000000000000000000AA
+:10B6A000000000000000000000000000000000009A
+:10B6B000000000000000000000000000000000008A
+:10B6C000000000000000000000000000000000007A
+:10B6D000000000000000000000000000000000006A
+:10B6E000000000000000000000000000000000005A
+:10B6F000000000000000000000000000000000004A
+:10B700000000000000000000000000000000000039
+:10B710000000000000000000000000000000000029
+:10B720000000000000000000000000000000000019
+:10B730000000000000000000000000000000000009
+:10B7400000000000000000000000000000000000F9
+:10B7500000000000000000000000000000000000E9
+:10B7600000000000000000000000000000000000D9
+:10B7700000000000000000000000000000000000C9
+:10B7800000000000000000000000000000000000B9
+:10B7900000000000000000000000000000000000A9
+:10B7A0000000000000000000000000000000000099
+:10B7B0000000000000000000000000000000000089
+:10B7C0000000000000000000000000000000000079
+:10B7D0000000000000000000000000000000000069
+:10B7E0000000000000000000000000000000000059
+:10B7F0000000000000000000000000000000000049
+:10B800000000000000000000000000000000000038
+:10B810000000000000000000000000000000000028
+:10B820000000000000000000000000000000000018
+:10B830000000000000000000000000000000000008
+:10B8400000000000000000000000000000000000F8
+:10B8500000000000000000000000000000000000E8
+:10B8600000000000000000000000000000000000D8
+:10B8700000000000000000000000000000000000C8
+:10B8800000000000000000000000000000000000B8
+:10B8900000000000000000000000000000000000A8
+:10B8A0000000000000000000000000000000000098
+:10B8B0000000000000000000000000000000000088
+:10B8C0000000000000000000000000000000000078
+:10B8D0000000000000000000000000000000000068
+:10B8E0000000000000000000000000000000000058
+:10B8F0000000000000000000000000000000000048
+:10B900000000000000000000000000000000000037
+:10B910000000000000000000000000000000000027
+:10B920000000000000000000000000000000000017
+:10B930000000000000000000000000000000000007
+:10B9400000000000000000000000000000000000F7
+:10B9500000000000000000000000000000000000E7
+:10B9600000000000000000000000000000000000D7
+:10B9700000000000000000000000000000000000C7
+:10B9800000000000000000000000000000000000B7
+:10B9900000000000000000000000000000000000A7
+:10B9A0000000000000000000000000000000000097
+:10B9B0000000000000000000000000000000000087
+:10B9C0000000000000000000000000000000000077
+:10B9D0000000000000000000000000000000000067
+:10B9E0000000000000000000000000000000000057
+:10B9F0000000000000000000000000000000000047
+:10BA00000000000000000000000000000000000036
+:10BA10000000000000000000000000000000000026
+:10BA20000000000000000000000000000000000016
+:10BA30000000000000000000000000000000000006
+:10BA400000000000000000000000000000000000F6
+:10BA500000000000000000000000000000000000E6
+:10BA600000000000000000000000000000000000D6
+:10BA700000000000000000000000000000000000C6
+:10BA800000000000000000000000000000000000B6
+:10BA900000000000000000000000000000000000A6
+:10BAA0000000000000000000000000000000000096
+:10BAB0000000000000000000000000000000000086
+:10BAC0000000000000000000000000000000000076
+:10BAD0000000000000000000000000000000000066
+:10BAE0000000000000000000000000000000000056
+:10BAF0000000000000000000000000000000000046
+:10BB00000000000000000000000000000000000035
+:10BB10000000000000000000000000000000000025
+:10BB20000000000000000000000000000000000015
+:10BB30000000000000000000000000000000000005
+:10BB400000000000000000000000000000000000F5
+:10BB500000000000000000000000000000000000E5
+:10BB600000000000000000000000000000000000D5
+:10BB700000000000000000000000000000000000C5
+:10BB800000000000000000000000000000000000B5
+:10BB900000000000000000000000000000000000A5
+:10BBA0000000000000000000000000000000000095
+:10BBB0000000000000000000000000000000000085
+:10BBC0000000000000000000000000000000000075
+:10BBD0000000000000000000000000000000000065
+:10BBE0000000000000000000000000000000000055
+:10BBF0000000000000000000000000000000000045
+:10BC00000000000000000000000000000000000034
+:10BC10000000000000000000000000000000000024
+:10BC20000000000000000000000000000000000014
+:10BC30000000000000000000000000000000000004
+:10BC400000000000000000000000000000000000F4
+:10BC500000000000000000000000000000000000E4
+:10BC600000000000000000000000000000000000D4
+:10BC700000000000000000000000000000000000C4
+:10BC800000000000000000000000000000000000B4
+:10BC900000000000000000000000000000000000A4
+:10BCA0000000000000000000000000000000000094
+:10BCB0000000000000000000000000000000000084
+:10BCC0000000000000000000000000000000000074
+:10BCD0000000000000000000000000000000000064
+:10BCE0000000000000000000000000000000000054
+:10BCF0000000000000000000000000000000000044
+:10BD00000000000000000000000000000000000033
+:10BD10000000000000000000000000000000000023
+:10BD20000000000000000000000000000000000013
+:10BD30000000000000000000000000000000000003
+:10BD400000000000000000000000000000000000F3
+:10BD500000000000000000000000000000000000E3
+:10BD600000000000000000000000000000000000D3
+:10BD700000000000000000000000000000000000C3
+:10BD800000000000000000000000000000000000B3
+:10BD900000000000000000000000000000000000A3
+:10BDA0000000000000000000000000000000000093
+:10BDB0000000000000000000000000000000000083
+:10BDC0000000000000000000000000000000000073
+:10BDD0000000000000000000000000000000000063
+:10BDE0000000000000000000000000000000000053
+:10BDF0000000000000000000000000000000000043
+:10BE00000000000000000000000000000000000032
+:10BE10000000000000000000000000000000000022
+:10BE20000000000000000000000000000000000012
+:10BE30000000000000000000000000000000000002
+:10BE400000000000000000000000000000000000F2
+:10BE500000000000000000000000000000000000E2
+:10BE600000000000000000000000000000000000D2
+:10BE700000000000000000000000000000000000C2
+:10BE800000000000000000000000000000000000B2
+:10BE900000000000000000000000000000000000A2
+:10BEA0000000000000000000000000000000000092
+:10BEB0000000000000000000000000000000000082
+:10BEC0000000000000000000000000000000000072
+:10BED0000000000000000000000000000000000062
+:10BEE0000000000000000000000000000000000052
+:10BEF0000000000000000000000000000000000042
+:10BF00000000000000000000000000000000000031
+:10BF10000000000000000000000000000000000021
+:10BF20000000000000000000000000000000000011
+:10BF30000000000000000000000000000000000001
+:10BF400000000000000000000000000000000000F1
+:10BF500000000000000000000000000000000000E1
+:10BF600000000000000000000000000000000000D1
+:10BF700000000000000000000000000000000000C1
+:10BF800000000000000000000000000000000000B1
+:10BF900000000000000000000000000000000000A1
+:10BFA0000000000000000000000000000000000091
+:10BFB0000000000000000000000000000000000081
+:10BFC0000000000000000000000000000000000071
+:10BFD0000000000000000000000000000000000061
+:10BFE0000000000000000000000000000000000051
+:10BFF0000000000000000000000000000000000041
+:10C000000000000000000000000000000000000030
+:10C010000000000000000000000000000000000020
+:10C020000000000000000000000000000000000010
+:10C030000000000000000000000000000000000000
+:10C0400000000000000000000000000000000000F0
+:10C0500000000000000000000000000000000000E0
+:10C0600000000000000000000000000000000000D0
+:10C0700000000000000000000000000000000000C0
+:10C0800000000000000000000000000000000000B0
+:10C0900000000000000000000000000000000000A0
+:10C0A0000000000000000000000000000000000090
+:10C0B0000000000000000000000000000000000080
+:10C0C0000000000000000000000000000000000070
+:10C0D0000000000000000000000000000000000060
+:10C0E0000000000000000000000000000000000050
+:10C0F0000000000000000000000000000000000040
+:10C100000000000000000000010101010101010127
+:10C11000010101010101010101010101010101010F
+:10C1200001010101010101010101010101010101FF
+:10C1300001010101010101010101010101010101EF
+:10C1400001010101010101010101010101010101DF
+:10C1500001010101010101010101010101010101CF
+:10C1600001010101010101010101010101010101BF
+:10C1700001010101010101010101010101010101AF
+:10C18000010101010101010101010101010101019F
+:10C19000010101010101010101010101010101018F
+:10C1A000010101010101010101010101010101017F
+:10C1B000010101010101010101010101010101016F
+:10C1C000010101010101010101010101010101015F
+:10C1D000010101010101010101010101010101014F
+:10C1E000010101010101010101010101010101013F
+:10C1F000010101010101010101010101010101012F
+:10C20000010101010101010101010101010101011E
+:10C21000010101010101010101010101010101010E
+:10C2200001010101010101010101010101010101FE
+:10C2300001010101010101010101010101010101EE
+:10C2400001010101010101010101010101010101DE
+:10C2500001010101010101010101010101010101CE
+:10C2600001010101010101010101010101010101BE
+:10C2700001010101010101010101010101010101AE
+:10C28000010101010101010101010101010101019E
+:10C29000010101010101010101010101010101018E
+:10C2A000010101010101010101010101010101017E
+:10C2B000010101010101010101010101010101016E
+:10C2C000010101010101010101010101010101015E
+:10C2D000010101010101010101010101010101014E
+:10C2E000010101010101010101010101010101013E
+:10C2F000010101010101010101010101010101012E
+:10C30000010101010101010101010101010101011D
+:10C31000010101010101010101010101010101010D
+:10C3200001010101010101010101010101010101FD
+:10C3300001010101010101010101010101010101ED
+:10C3400001010101010101010101010101010101DD
+:10C3500001010101010101010101010101010101CD
+:10C3600001010101010101010101010101010101BD
+:10C3700001010101010101010101010101010101AD
+:10C38000010101010101010101010101010101019D
+:10C39000010101010101010101010101010101018D
+:10C3A000010101010101010101010101010101017D
+:10C3B000010101010101010101010101010101016D
+:10C3C000010101010101010101010101010101015D
+:10C3D000010101010101010101010101010101014D
+:10C3E000010101010101010101010101010101013D
+:10C3F000010101010101010101010101010101012D
+:10C40000010101010101010101010101010101011C
+:10C41000010101010101010101010101010101010C
+:10C4200001010101010101010101010101010101FC
+:10C4300001010101010101010101010101010101EC
+:10C4400001010101010101010101010101010101DC
+:10C4500001010101010101010101010101010101CC
+:10C4600001010101010101010101010101010101BC
+:10C4700001010101010101010101010101010101AC
+:10C48000010101010101010101010101010101019C
+:10C49000010101010101010101010101010101018C
+:10C4A000010101010101010101010101010101017C
+:10C4B000010101010101010101010101010101016C
+:10C4C000010101010101010101010101010101015C
+:10C4D000010101010101010101010101010101014C
+:10C4E000010101010101010101010101010101013C
+:10C4F000010101010101010101010101010101012C
+:10C50000010101010101010101010101010101011B
+:10C51000010101010101010101010101010101010B
+:10C5200001010101010101010101010101010101FB
+:10C5300001010101010101010101010101010101EB
+:10C5400001010101010101010101010101010101DB
+:10C5500001010101010101010101010101010101CB
+:10C5600001010101010101010101010101010101BB
+:10C5700001010101010101010101010101010101AB
+:10C58000010101010101010101010101010101019B
+:10C59000010101010101010101010101010101018B
+:10C5A000010101010101010101010101010101017B
+:10C5B000010101010101010101010101010101016B
+:10C5C000010101010101010101010101010101015B
+:10C5D000010101010101010101010101010101014B
+:10C5E000010101010101010101010101010101013B
+:10C5F000010101010101010101010101010101012B
+:10C60000010101010101010101010101010101011A
+:10C61000010101010101010101010101010101010A
+:10C6200001010101010101010101010101010101FA
+:10C6300001010101010101010101010101010101EA
+:10C6400001010101010101010101010101010101DA
+:10C6500001010101010101010101010101010101CA
+:10C6600001010101010101010101010101010101BA
+:10C6700001010101010101010101010101010101AA
+:10C68000010101010101010101010101010101019A
+:10C69000010101010101010101010101010101018A
+:10C6A000010101010101010101010101010101017A
+:10C6B000010101010101010101010101010101016A
+:10C6C000010101010101010101010101010101015A
+:10C6D000010101010101010101010101010101014A
+:10C6E000010101010101010101010101010101013A
+:10C6F000010101010101010101010101010101012A
+:10C700000101010101010101010101010101010119
+:10C710000101010101010101010101010101010109
+:10C7200001010101010101010101010101010101F9
+:10C7300001010101010101010101010101010101E9
+:10C7400001010101010101010101010101010101D9
+:10C7500001010101010101010101010101010101C9
+:10C7600001010101010101010101010101010101B9
+:10C7700001010101010101010101010101010101A9
+:10C780000101010101010101010101010101010199
+:10C790000101010101010101010101010101010189
+:10C7A0000101010101010101010101010101010179
+:10C7B0000101010101010101010101010101010169
+:10C7C0000101010101010101010101010101010159
+:10C7D0000101010101010101010101010101010149
+:10C7E0000101010101010101010101010101010139
+:10C7F0000101010101010101010101010101010129
+:10C800000101010101010101010101010101010118
+:10C810000101010101010101010101010101010108
+:10C8200001010101010101010101010101010101F8
+:10C8300001010101010101010101010101010101E8
+:10C8400001010101010101010101010101010101D8
+:10C8500001010101010101010101010101010101C8
+:10C8600001010101010101010101010101010101B8
+:10C8700001010101010101010101010101010101A8
+:10C880000101010101010101010101010101010198
+:10C890000101010101010101010101010101010188
+:10C8A0000101010101010101010101010101010178
+:10C8B0000101010101010101010101010101010168
+:10C8C0000101010101010101010101010101010158
+:10C8D0000101010101010101010101010101010148
+:10C8E0000101010101010101010101010101010138
+:10C8F0000101010101010101010101010101010128
+:10C900000101010101010101010101010101010117
+:10C910000101010101010101010101010101010107
+:10C9200001010101010101010101010101010101F7
+:10C9300001010101010101010101010101010101E7
+:10C9400001010101010101010101010101010101D7
+:10C9500001010101010101010101010101010101C7
+:10C9600001010101010101010101010101010101B7
+:10C9700001010101010101010101010101010101A7
+:10C980000101010101010101010101010101010197
+:10C990000101010101010101010101010101010187
+:10C9A0000101010101010101010101010101010177
+:10C9B0000101010101010101010101010101010167
+:10C9C0000101010101010101010101010101010157
+:10C9D0000101010101010101010101010101010147
+:10C9E0000101010101010101010101010101010137
+:10C9F0000101010101010101010101010101010127
+:10CA0000010101010101010100000000000000001E
+:10CA10000000000000000000000000000000000016
+:10CA20000000000000000000000000000000000006
+:10CA300000000000000000000000000000000000F6
+:10CA400000000000000000000000000000000000E6
+:10CA500000000000000000000000000000000000D6
+:10CA600000000000000000000000000000000000C6
+:10CA700000000000000000000000000000000000B6
+:10CA800000000000000000000000000000000000A6
+:10CA90000000000000000000000000000000000096
+:10CAA0000000000000000000000000000000000086
+:10CAB0000000000000000000000000000000000076
+:10CAC0000000000000000000000000000000000066
+:10CAD0000000000000000000000000000000000056
+:10CAE0000000000000000000000000000000000046
+:10CAF0000000000000000000000000000000000036
+:10CB00000000000000000000000000000000000025
+:10CB10000000000000000000000000000000000015
+:10CB20000000000000000000000000000000000005
+:10CB300000000000000000000000000000000000F5
+:10CB400000000000000000000000000000000000E5
+:10CB500000000000000000000000000000000000D5
+:10CB600000000000000000000000000000000000C5
+:10CB700000000000000000000000000000000000B5
+:10CB800000000000000000000000000000000000A5
+:10CB90000000000000000000000000000000000095
+:10CBA0000000000000000000000000000000000085
+:10CBB0000000000000000000000000000000000075
+:10CBC0000000000000000000000000000000000065
+:10CBD0000000000000000000000000000000000055
+:10CBE0000000000000000000000000000000000045
+:10CBF0000000000000000000000000000000000035
+:10CC00000000000000000000000000000000000024
+:10CC10000000000000000000000000000000000014
+:10CC20000000000000000000000000000000000004
+:10CC300000000000000000000000000000000000F4
+:10CC400000000000000000000000000000000000E4
+:10CC500000000000000000000000000000000000D4
+:10CC600000000000000000000000000000000000C4
+:10CC700000000000000000000000000000000000B4
+:10CC800000000000000000000000000000000000A4
+:10CC90000000000000000000000000000000000094
+:10CCA0000000000000000000000000000000000084
+:10CCB0000000000000000000000000000000000074
+:10CCC0000000000000000000000000000000000064
+:10CCD0000000000000000000000000000000000054
+:10CCE0000000000000000000000000000000000044
+:10CCF0000000000000000000000000000000000034
+:10CD00000000000000000000000000000000000023
+:10CD10000000000000000000000000000000000013
+:10CD20000000000000000000000000000000000003
+:10CD300000000000000000000000000000000000F3
+:10CD400000000000000000000000000000000000E3
+:10CD500000000000000000000000000000000000D3
+:10CD600000000000000000000000000000000000C3
+:10CD700000000000000000000000000000000000B3
+:10CD800000000000000000000000000000000000A3
+:10CD90000000000000000000000000000000000093
+:10CDA0000000000000000000000000000000000083
+:10CDB0000000000000000000000000000000000073
+:10CDC0000000000000000000000000000000000063
+:10CDD0000000000000000000000000000000000053
+:10CDE0000000000000000000000000000000000043
+:10CDF0000000000000000000000000000000000033
+:10CE00000000000000000000000000000000000022
+:10CE10000000000000000000000000000000000012
+:10CE20000000000000000000000000000000000002
+:10CE300000000000000000000000000000000000F2
+:10CE400000000000000000000000000000000000E2
+:10CE500000000000000000000000000000000000D2
+:10CE600000000000000000000000000000000000C2
+:10CE700000000000000000000000000000000000B2
+:10CE800000000000000000000000000000000000A2
+:10CE90000000000000000000000000000000000092
+:10CEA0000000000000000000000000000000000082
+:10CEB0000000000000000000000000000000000072
+:10CEC0000000000000000000000000000000000062
+:10CED0000000000000000000000000000000000052
+:10CEE0000000000000000000000000000000000042
+:10CEF0000000000000000000000000000000000032
+:10CF00000000000000000000000000000000000021
+:10CF10000000000000000000000000000000000011
+:10CF20000000000000000000000000000000000001
+:10CF300000000000000000000000000000000000F1
+:10CF400000000000000000000000000000000000E1
+:10CF500000000000000000000000000000000000D1
+:10CF600000000000000000000000000000000000C1
+:10CF700000000000000000000000000000000000B1
+:10CF800000000000000000000000000000000000A1
+:10CF90000000000000000000000000000000000091
+:10CFA0000000000000000000000000000000000081
+:10CFB0000000000000000000000000000000000071
+:10CFC0000000000000000000000000000000000061
+:10CFD0000000000000000000000000000000000051
+:10CFE0000000000000000000000000000000000041
+:10CFF0000000000000000000000000000000000031
+:10D000000000000000000000000000000000000020
+:10D010000000000000000000000000000000000010
+:10D020000000000000000000000000000000000000
+:10D0300000000000000000000000000000000000F0
+:10D0400000000000000000000000000000000000E0
+:10D0500000000000000000000000000000000000D0
+:10D0600000000000000000000000000000000000C0
+:10D0700000000000000000000000000000000000B0
+:10D0800000000000000000000000000000000000A0
+:10D090000000000000000000000000000000000090
+:10D0A0000000000000000000000000000000000080
+:10D0B0000000000000000000000000000000000070
+:10D0C0000000000000000000000000000000000060
+:10D0D0000000000000000000000000000000000050
+:10D0E0000000000000000000000000000000000040
+:10D0F0000000000000000000000000000000000030
+:10D10000000000000000000000000000000000001F
+:10D11000000000000000000000000000000000000F
+:10D1200000000000000000000000000000000000FF
+:10D1300000000000000000000000000000000000EF
+:10D1400000000000000000000000000000000000DF
+:10D1500000000000000000000000000000000000CF
+:10D1600000000000000000000000000000000000BF
+:10D1700000000000000000000000000000000000AF
+:10D18000000000000000000000000000000000009F
+:10D19000000000000000000000000000000000008F
+:10D1A000000000000000000000000000000000007F
+:10D1B000000000000000000000000000000000006F
+:10D1C000000000000000000000000000000000005F
+:10D1D000000000000000000000000000000000004F
+:10D1E000000000000000000000000000000000003F
+:10D1F000000000000000000000000000000000002F
+:10D20000000000000000000000000000000000001E
+:10D21000000000000000000000000000000000000E
+:10D2200000000000000000000000000000000000FE
+:10D2300000000000000000000000000000000000EE
+:10D2400000000000000000000000000000000000DE
+:10D2500000000000000000000000000000000000CE
+:10D2600000000000000000000000000000000000BE
+:10D2700000000000000000000000000000000000AE
+:10D28000000000000000000000000000000000009E
+:10D29000000000000000000000000000000000008E
+:10D2A000000000000000000000000000000000007E
+:10D2B000000000000000000000000000000000006E
+:10D2C000000000000000000000000000000000005E
+:10D2D000000000000000000000000000000000004E
+:10D2E000000000000000000000000000000000003E
+:10D2F000000000000000000000000000000000002E
+:10D30000000000000000000000000000000000001D
+:10D31000000000000000000000000000000000000D
+:10D3200000000000000000000000000000000000FD
+:10D3300000000000000000000000000000000000ED
+:10D3400000000000000000000000000000000000DD
+:10D3500000000000000000000000000000000000CD
+:10D3600000000000000000000000000000000000BD
+:10D3700000000000000000000000000000000000AD
+:10D38000000000000000000000000000000000009D
+:10D39000000000000000000000000000000000008D
+:10D3A000000000000000000000000000000000007D
+:10D3B000000000000000000000000000000000006D
+:10D3C000000000000000000000000000000000005D
+:10D3D000000000000000000000000000000000004D
+:10D3E000000000000000000000000000000000003D
+:10D3F000000000000000000000000000000000002D
+:10D40000000000000000000000000000000000001C
+:10D41000000000000000000000000000000000000C
+:10D4200000000000000000000000000000000000FC
+:10D4300000000000000000000000000000000000EC
+:10D4400000000000000000000000000000000000DC
+:10D4500000000000000000000000000000000000CC
+:10D4600000000000000000000000000000000000BC
+:10D4700000000000000000000000000000000000AC
+:10D48000000000000000000000000000000000009C
+:10D49000000000000000000000000000000000008C
+:10D4A000000000000000000000000000000000007C
+:10D4B000000000000000000000000000000000006C
+:10D4C000000000000000000000000000000000005C
+:10D4D000000000000000000000000000000000004C
+:10D4E000000000000000000000000000000000003C
+:10D4F000000000000000000000000000000000002C
+:10D50000000000000000000000000000000000001B
+:10D51000000000000000000000000000000000000B
+:10D5200000000000000000000000000000000000FB
+:10D5300000000000000000000000000000000000EB
+:10D5400000000000000000000000000000000000DB
+:10D5500000000000000000000000000000000000CB
+:10D5600000000000000000000000000000000000BB
+:10D5700000000000000000000000000000000000AB
+:10D58000000000000000000000000000000000009B
+:10D59000000000000000000000000000000000008B
+:10D5A000000000000000000000000000000000007B
+:10D5B000000000000000000000000000000000006B
+:10D5C000000000000000000000000000000000005B
+:10D5D000000000000000000000000000000000004B
+:10D5E000000000000000000000000000000000003B
+:10D5F000000000000000000000000000000000002B
+:10D60000000000000000000000000000000000001A
+:10D61000000000000000000000000000000000000A
+:10D6200000000000000000000000000000000000FA
+:10D6300000000000000000000000000000000000EA
+:10D6400000000000000000000000000000000000DA
+:10D6500000000000000000000000000000000000CA
+:10D6600000000000000000000000000000000000BA
+:10D6700000000000000000000000000000000000AA
+:10D68000000000000000000000000000000000009A
+:10D69000000000000000000000000000000000008A
+:10D6A000000000000000000000000000000000007A
+:10D6B000000000000000000000000000000000006A
+:10D6C000000000000000000000000000000000005A
+:10D6D000000000000000000000000000000000004A
+:10D6E000000000000000000000000000000000003A
+:10D6F000000000000000000000000000000000002A
+:10D700000000000000000000000000000000000019
+:10D710000000000000000000000000000000000009
+:10D7200000000000000000000000000000000000F9
+:10D7300000000000000000000000000000000000E9
+:10D7400000000000000000000000000000000000D9
+:10D7500000000000000000000000000000000000C9
+:10D7600000000000000000000000000000000000B9
+:10D7700000000000000000000000000000000000A9
+:10D780000000000000000000000000000000000099
+:10D790000000000000000000000000000000000089
+:10D7A0000000000000000000000000000000000079
+:10D7B0000000000000000000000000000000000069
+:10D7C0000000000000000000000000000000000059
+:10D7D0000000000000000000000000000000000049
+:10D7E0000000000000000000000000000000000039
+:10D7F0000000000000000000000000000000000029
+:10D800000000000000000000000000000000000018
+:10D810000000000000000000000000000000000008
+:10D8200000000000000000000000000000000000F8
+:10D8300000000000000000000000000000000000E8
+:10D8400000000000000000000000000000000000D8
+:10D8500000000000000000000000000000000000C8
+:10D8600000000000000000000000000000000000B8
+:10D8700000000000000000000000000000000000A8
+:10D880000000000000000000000000000000000098
+:10D890000000000000000000000000000000000088
+:10D8A0000000000000000000000000000000000078
+:10D8B0000000000000000000000000000000000068
+:10D8C0000000000000000000000000000000000058
+:10D8D0000000000000000000000000000000000048
+:10D8E0000000000000000000000000000000000038
+:10D8F0000000000000000000000000000000000028
+:10D900000000000000000000000000000000000017
+:10D910000000000000000000000000000000000007
+:10D9200000000000000000000000000000000000F7
+:10D9300000000000000000000000000000000000E7
+:10D9400000000000000000000000000000000000D7
+:10D9500000000000000000000000000000000000C7
+:10D9600000000000000000000000000000000000B7
+:10D9700000000000000000000000000000000000A7
+:10D980000000000000000000000000000000000097
+:10D990000000000000000000000000000000000087
+:10D9A0000000000000000000000000000000000077
+:10D9B0000000000000000000000000000000000067
+:10D9C0000000000000000000000000000000000057
+:10D9D0000000000000000000000000000000000047
+:10D9E0000000000000000000000000000000000037
+:10D9F0000000000000000000000000000000000027
+:10DA00000000000000000000000000000000000016
+:10DA10000000000000000000000000000000000006
+:10DA200000000000000000000000000000000000F6
+:10DA300000000000000000000000000000000000E6
+:10DA400000000000000000000000000000000000D6
+:10DA500000000000000000000000000000000000C6
+:10DA600000000000000000000000000000000000B6
+:10DA700000000000000000000000000000000000A6
+:10DA80000000000000000000000000000000000096
+:10DA90000000000000000000000000000000000086
+:10DAA0000000000000000000000000000000000076
+:10DAB0000000000000000000000000000000000066
+:10DAC0000000000000000000000000000000000056
+:10DAD0000000000000000000000000000000000046
+:10DAE0000000000000000000000000000000000036
+:10DAF0000000000000000000000000000000000026
+:10DB0000000000000000000001010101010101010D
+:10DB100001010101010101010101010101010101F5
+:10DB200001010101010101010101010101010101E5
+:10DB300001010101010101010101010101010101D5
+:10DB400001010101010101010101010101010101C5
+:10DB500001010101010101010101010101010101B5
+:10DB600001010101010101010101010101010101A5
+:10DB70000101010101010101010101010101010195
+:10DB80000101010101010101010101010101010185
+:10DB90000101010101010101010101010101010175
+:10DBA0000101010101010101010101010101010165
+:10DBB0000101010101010101010101010101010155
+:10DBC0000101010101010101010101010101010145
+:10DBD0000101010101010101010101010101010135
+:10DBE0000101010101010101010101010101010125
+:10DBF0000101010101010101010101010101010115
+:10DC00000101010101010101010101010101010104
+:10DC100001010101010101010101010101010101F4
+:10DC200001010101010101010101010101010101E4
+:10DC300001010101010101010101010101010101D4
+:10DC400001010101010101010101010101010101C4
+:10DC500001010101010101010101010101010101B4
+:10DC600001010101010101010101010101010101A4
+:10DC70000101010101010101010101010101010194
+:10DC80000101010101010101010101010101010184
+:10DC90000101010101010101010101010101010174
+:10DCA0000101010101010101010101010101010164
+:10DCB0000101010101010101010101010101010154
+:10DCC0000101010101010101010101010101010144
+:10DCD0000101010101010101010101010101010134
+:10DCE0000101010101010101010101010101010124
+:10DCF0000101010101010101010101010101010114
+:10DD00000101010101010101010101010101010103
+:10DD100001010101010101010101010101010101F3
+:10DD200001010101010101010101010101010101E3
+:10DD300001010101010101010101010101010101D3
+:10DD400001010101010101010101010101010101C3
+:10DD500001010101010101010101010101010101B3
+:10DD600001010101010101010101010101010101A3
+:10DD70000101010101010101010101010101010193
+:10DD80000101010101010101010101010101010183
+:10DD90000101010101010101010101010101010173
+:10DDA0000101010101010101010101010101010163
+:10DDB0000101010101010101010101010101010153
+:10DDC0000101010101010101010101010101010143
+:10DDD0000101010101010101010101010101010133
+:10DDE0000101010101010101010101010101010123
+:10DDF0000101010101010101010101010101010113
+:10DE00000101010101010101010101010101010102
+:10DE100001010101010101010101010101010101F2
+:10DE200001010101010101010101010101010101E2
+:10DE300001010101010101010101010101010101D2
+:10DE400001010101010101010101010101010101C2
+:10DE500001010101010101010101010101010101B2
+:10DE600001010101010101010101010101010101A2
+:10DE70000101010101010101010101010101010192
+:10DE80000101010101010101010101010101010182
+:10DE90000101010101010101010101010101010172
+:10DEA0000101010101010101010101010101010162
+:10DEB0000101010101010101010101010101010152
+:10DEC0000101010101010101010101010101010142
+:10DED0000101010101010101010101010101010132
+:10DEE0000101010101010101010101010101010122
+:10DEF0000101010101010101010101010101010112
+:10DF00000101010101010101010101010101010101
+:10DF100001010101010101010101010101010101F1
+:10DF200001010101010101010101010101010101E1
+:10DF300001010101010101010101010101010101D1
+:10DF400001010101010101010101010101010101C1
+:10DF500001010101010101010101010101010101B1
+:10DF600001010101010101010101010101010101A1
+:10DF70000101010101010101010101010101010191
+:10DF80000101010101010101010101010101010181
+:10DF90000101010101010101010101010101010171
+:10DFA0000101010101010101010101010101010161
+:10DFB0000101010101010101010101010101010151
+:10DFC0000101010101010101010101010101010141
+:10DFD0000101010101010101010101010101010131
+:10DFE0000101010101010101010101010101010121
+:10DFF0000101010101010101010101010101010111
+:10E000000101010101010101010101010101010100
+:10E0100001010101010101010101010101010101F0
+:10E0200001010101010101010101010101010101E0
+:10E0300001010101010101010101010101010101D0
+:10E0400001010101010101010101010101010101C0
+:10E0500001010101010101010101010101010101B0
+:10E0600001010101010101010101010101010101A0
+:10E070000101010101010101010101010101010190
+:10E080000101010101010101010101010101010180
+:10E090000101010101010101010101010101010170
+:10E0A0000101010101010101010101010101010160
+:10E0B0000101010101010101010101010101010150
+:10E0C0000101010101010101010101010101010140
+:10E0D0000101010101010101010101010101010130
+:10E0E0000101010101010101010101010101010120
+:10E0F0000101010101010101010101010101010110
+:10E1000001010101010101010101010101010101FF
+:10E1100001010101010101010101010101010101EF
+:10E1200001010101010101010101010101010101DF
+:10E1300001010101010101010101010101010101CF
+:10E1400001010101010101010101010101010101BF
+:10E1500001010101010101010101010101010101AF
+:10E16000010101010101010101010101010101019F
+:10E17000010101010101010101010101010101018F
+:10E18000010101010101010101010101010101017F
+:10E19000010101010101010101010101010101016F
+:10E1A000010101010101010101010101010101015F
+:10E1B000010101010101010101010101010101014F
+:10E1C000010101010101010101010101010101013F
+:10E1D000010101010101010101010101010101012F
+:10E1E000010101010101010101010101010101011F
+:10E1F000010101010101010101010101010101010F
+:10E2000001010101010101010101010101010101FE
+:10E2100001010101010101010101010101010101EE
+:10E2200001010101010101010101010101010101DE
+:10E2300001010101010101010101010101010101CE
+:10E2400001010101010101010101010101010101BE
+:10E2500001010101010101010101010101010101AE
+:10E26000010101010101010101010101010101019E
+:10E27000010101010101010101010101010101018E
+:10E28000010101010101010101010101010101017E
+:10E29000010101010101010101010101010101016E
+:10E2A000010101010101010101010101010101015E
+:10E2B000010101010101010101010101010101014E
+:10E2C000010101010101010101010101010101013E
+:10E2D000010101010101010101010101010101012E
+:10E2E000010101010101010101010101010101011E
+:10E2F000010101010101010101010101010101010E
+:10E3000001010101010101010101010101010101FD
+:10E3100001010101010101010101010101010101ED
+:10E3200001010101010101010101010101010101DD
+:10E3300001010101010101010101010101010101CD
+:10E3400001010101010101010101010101010101BD
+:10E3500001010101010101010101010101010101AD
+:10E36000010101010101010101010101010101019D
+:10E37000010101010101010101010101010101018D
+:10E38000010101010101010101010101010101017D
+:10E39000010101010101010101010101010101016D
+:10E3A000010101010101010101010101010101015D
+:10E3B000010101010101010101010101010101014D
+:10E3C000010101010101010101010101010101013D
+:10E3D000010101010101010101010101010101012D
+:10E3E000010101010101010101010101010101011D
+:10E3F000010101010101010101010101010101010D
+:10E400000101010101010101000000000000000004
+:10E4100000000000000000000000000000000000FC
+:10E4200000000000000000000000000000000000EC
+:10E4300000000000000000000000000000000000DC
+:10E4400000000000000000000000000000000000CC
+:10E4500000000000000000000000000000000000BC
+:10E4600000000000000000000000000000000000AC
+:10E47000000000000000000000000000000000009C
+:10E48000000000000000000000000000000000008C
+:10E49000000000000000000000000000000000007C
+:10E4A000000000000000000000000000000000006C
+:10E4B000000000000000000000000000000000005C
+:10E4C000000000000000000000000000000000004C
+:10E4D000000000000000000000000000000000003C
+:10E4E000000000000000000000000000000000002C
+:10E4F000000000000000000000000000000000001C
+:10E50000000000000000000000000000000000000B
+:10E5100000000000000000000000000000000000FB
+:10E5200000000000000000000000000000000000EB
+:10E5300000000000000000000000000000000000DB
+:10E5400000000000000000000000000000000000CB
+:10E5500000000000000000000000000000000000BB
+:10E5600000000000000000000000000000000000AB
+:10E57000000000000000000000000000000000009B
+:10E58000000000000000000000000000000000008B
+:10E59000000000000000000000000000000000007B
+:10E5A000000000000000000000000000000000006B
+:10E5B000000000000000000000000000000000005B
+:10E5C000000000000000000000000000000000004B
+:10E5D000000000000000000000000000000000003B
+:10E5E000000000000000000000000000000000002B
+:10E5F000000000000000000000000000000000001B
+:10E60000000000000000000000000000000000000A
+:10E6100000000000000000000000000000000000FA
+:10E6200000000000000000000000000000000000EA
+:10E6300000000000000000000000000000000000DA
+:10E6400000000000000000000000000000000000CA
+:10E6500000000000000000000000000000000000BA
+:10E6600000000000000000000000000000000000AA
+:10E67000000000000000000000000000000000009A
+:10E68000000000000000000000000000000000008A
+:10E69000000000000000000000000000000000007A
+:10E6A000000000000000000000000000000000006A
+:10E6B000000000000000000000000000000000005A
+:10E6C000000000000000000000000000000000004A
+:10E6D000000000000000000000000000000000003A
+:10E6E000000000000000000000000000000000002A
+:10E6F000000000000000000000000000000000001A
+:10E700000000000000000000000000000000000009
+:10E7100000000000000000000000000000000000F9
+:10E7200000000000000000000000000000000000E9
+:10E7300000000000000000000000000000000000D9
+:10E7400000000000000000000000000000000000C9
+:10E7500000000000000000000000000000000000B9
+:10E7600000000000000000000000000000000000A9
+:10E770000000000000000000000000000000000099
+:10E780000000000000000000000000000000000089
+:10E790000000000000000000000000000000000079
+:10E7A0000000000000000000000000000000000069
+:10E7B0000000000000000000000000000000000059
+:10E7C0000000000000000000000000000000000049
+:10E7D0000000000000000000000000000000000039
+:10E7E0000000000000000000000000000000000029
+:10E7F0000000000000000000000000000000000019
+:10E800000000000000000000000000000000000008
+:10E8100000000000000000000000000000000000F8
+:10E8200000000000000000000000000000000000E8
+:10E8300000000000000000000000000000000000D8
+:10E8400000000000000000000000000000000000C8
+:10E8500000000000000000000000000000000000B8
+:10E8600000000000000000000000000000000000A8
+:10E870000000000000000000000000000000000098
+:10E880000000000000000000000000000000000088
+:10E890000000000000000000000000000000000078
+:10E8A0000000000000000000000000000000000068
+:10E8B0000000000000000000000000000000000058
+:10E8C0000000000000000000000000000000000048
+:10E8D0000000000000000000000000000000000038
+:10E8E0000000000000000000000000000000000028
+:10E8F0000000000000000000000000000000000018
+:10E9000000000000000000000101010101010101FF
+:10E9100001010101010101010101010101010101E7
+:10E9200001010101010101010101010101010101D7
+:10E9300001010101010101010101010101010101C7
+:10E9400001010101010101010101010101010101B7
+:10E9500001010101010101010101010101010101A7
+:10E960000101010101010101010101010101010197
+:10E970000101010101010101010101010101010187
+:10E980000101010101010101010101010101010177
+:10E990000101010101010101010101010101010167
+:10E9A0000101010101010101010101010101010157
+:10E9B0000101010101010101010101010101010147
+:10E9C0000101010101010101010101010101010137
+:10E9D0000101010101010101010101010101010127
+:10E9E0000101010101010101010101010101010117
+:10E9F0000101010101010101010101010101010107
+:10EA000001010101010101010101010101010101F6
+:10EA100001010101010101010101010101010101E6
+:10EA200001010101010101010101010101010101D6
+:10EA300001010101010101010101010101010101C6
+:10EA400001010101010101010101010101010101B6
+:10EA500001010101010101010101010101010101A6
+:10EA60000101010101010101010101010101010196
+:10EA70000101010101010101010101010101010186
+:10EA80000101010101010101010101010101010176
+:10EA90000101010101010101010101010101010166
+:10EAA0000101010101010101010101010101010156
+:10EAB0000101010101010101010101010101010146
+:10EAC0000101010101010101010101010101010136
+:10EAD0000101010101010101010101010101010126
+:10EAE0000101010101010101010101010101010116
+:10EAF0000101010101010101010101010101010106
+:10EB000001010101010101010202020202020202ED
+:10EB100002020202020202020202020202020202D5
+:10EB200002020202020202020202020202020202C5
+:10EB300002020202020202020202020202020202B5
+:10EB400002020202020202020202020202020202A5
+:10EB50000202020202020202020202020202020295
+:10EB60000202020202020202020202020202020285
+:10EB70000202020202020202020202020202020275
+:10EB80000202020202020202020202020202020265
+:10EB90000202020202020202020202020202020255
+:10EBA0000202020202020202020202020202020245
+:10EBB0000202020202020202020202020202020235
+:10EBC0000202020202020202020202020202020225
+:10EBD0000202020202020202020202020202020215
+:10EBE0000202020202020202020202020202020205
+:10EBF00002020202020202020202020202020202F5
+:10EC000002020202020202020202020202020202E4
+:10EC100002020202020202020202020202020202D4
+:10EC200002020202020202020202020202020202C4
+:10EC300002020202020202020202020202020202B4
+:10EC400002020202020202020202020202020202A4
+:10EC50000202020202020202020202020202020294
+:10EC60000202020202020202020202020202020284
+:10EC70000202020202020202020202020202020274
+:10EC80000202020202020202020202020202020264
+:10EC90000202020202020202020202020202020254
+:10ECA0000202020202020202020202020202020244
+:10ECB0000202020202020202020202020202020234
+:10ECC0000202020202020202020202020202020224
+:10ECD0000202020202020202020202020202020214
+:10ECE0000202020202020202020202020202020204
+:10ECF00002020202020202020202020202020202F4
+:10ED000002020202020202020202020202020202E3
+:10ED100002020202020202020202020202020202D3
+:10ED200002020202020202020202020202020202C3
+:10ED300002020202020202020202020202020202B3
+:10ED400002020202020202020202020202020202A3
+:10ED50000202020202020202020202020202020293
+:10ED60000202020202020202020202020202020283
+:10ED70000202020202020202020202020202020273
+:10ED80000202020202020202020202020202020263
+:10ED90000202020202020202020202020202020253
+:10EDA0000202020202020202020202020202020243
+:10EDB0000202020202020202020202020202020233
+:10EDC0000202020202020202020202020202020223
+:10EDD0000202020202020202020202020202020213
+:10EDE0000202020202020202020202020202020203
+:10EDF00002020202020202020202020202020202F3
+:10EE000002020202020202020202020202020202E2
+:10EE100002020202020202020202020202020202D2
+:10EE200002020202020202020202020202020202C2
+:10EE300002020202020202020202020202020202B2
+:10EE400002020202020202020202020202020202A2
+:10EE50000202020202020202020202020202020292
+:10EE60000202020202020202020202020202020282
+:10EE70000202020202020202020202020202020272
+:10EE80000202020202020202020202020202020262
+:10EE90000202020202020202020202020202020252
+:10EEA0000202020202020202020202020202020242
+:10EEB0000202020202020202020202020202020232
+:10EEC0000202020202020202020202020202020222
+:10EED0000202020202020202020202020202020212
+:10EEE0000202020202020202020202020202020202
+:10EEF00002020202020202020202020202020202F2
+:10EF000002020202020202020202020202020202E1
+:10EF100002020202020202020202020202020202D1
+:10EF200002020202020202020202020202020202C1
+:10EF300002020202020202020202020202020202B1
+:10EF400002020202020202020202020202020202A1
+:10EF50000202020202020202020202020202020291
+:10EF60000202020202020202020202020202020281
+:10EF70000202020202020202020202020202020271
+:10EF80000202020202020202020202020202020261
+:10EF90000202020202020202020202020202020251
+:10EFA0000202020202020202020202020202020241
+:10EFB0000202020202020202020202020202020231
+:10EFC0000202020202020202020202020202020221
+:10EFD0000202020202020202020202020202020211
+:10EFE0000202020202020202020202020202020201
+:10EFF00002020202020202020202020202020202F1
+:10F0000002020202020202020202020202020202E0
+:10F0100002020202020202020202020202020202D0
+:10F0200002020202020202020202020202020202C0
+:10F0300002020202020202020202020202020202B0
+:10F0400002020202020202020202020202020202A0
+:10F050000202020202020202020202020202020290
+:10F060000202020202020202020202020202020280
+:10F070000202020202020202020202020202020270
+:10F080000202020202020202020202020202020260
+:10F090000202020202020202020202020202020250
+:10F0A0000202020202020202020202020202020240
+:10F0B0000202020202020202020202020202020230
+:10F0C0000202020202020202020202020202020220
+:10F0D0000202020202020202020202020202020210
+:10F0E0000202020202020202020202020202020200
+:10F0F00002020202020202020202020202020202F0
+:10F1000002020202020202020202020202020202DF
+:10F1100002020202020202020202020202020202CF
+:10F1200002020202020202020202020202020202BF
+:10F1300002020202020202020202020202020202AF
+:10F14000020202020202020202020202020202029F
+:10F15000020202020202020202020202020202028F
+:10F16000020202020202020202020202020202027F
+:10F17000020202020202020202020202020202026F
+:10F18000020202020202020202020202020202025F
+:10F19000020202020202020202020202020202024F
+:10F1A000020202020202020202020202020202023F
+:10F1B000020202020202020202020202020202022F
+:10F1C000020202020202020202020202020202021F
+:10F1D000020202020202020202020202020202020F
+:10F1E00002020202020202020202020202020202FF
+:10F1F00002020202020202020202020202020202EF
+:10F2000002020202020202020202020202020202DE
+:10F2100002020202020202020202020202020202CE
+:10F2200002020202020202020202020202020202BE
+:10F2300002020202020202020202020202020202AE
+:10F24000020202020202020202020202020202029E
+:10F25000020202020202020202020202020202028E
+:10F26000020202020202020202020202020202027E
+:10F27000020202020202020202020202020202026E
+:10F28000020202020202020202020202020202025E
+:10F29000020202020202020202020202020202024E
+:10F2A000020202020202020202020202020202023E
+:10F2B000020202020202020202020202020202022E
+:10F2C000020202020202020202020202020202021E
+:10F2D000020202020202020202020202020202020E
+:10F2E00002020202020202020202020202020202FE
+:10F2F00002020202020202020202020202020202EE
+:10F3000002020202020202020202020202020202DD
+:10F3100002020202020202020202020202020202CD
+:10F3200002020202020202020202020202020202BD
+:10F3300002020202020202020202020202020202AD
+:10F34000020202020202020202020202020202029D
+:10F35000020202020202020202020202020202028D
+:10F36000020202020202020202020202020202027D
+:10F37000020202020202020202020202020202026D
+:10F38000020202020202020202020202020202025D
+:10F39000020202020202020202020202020202024D
+:10F3A000020202020202020202020202020202023D
+:10F3B000020202020202020202020202020202022D
+:10F3C000020202020202020202020202020202021D
+:10F3D000020202020202020202020202020202020D
+:10F3E00002020202020202020202020202020202FD
+:10F3F00002020202020202020202020202020202ED
+:10F4000002020202020202020202020202020202DC
+:10F4100002020202020202020202020202020202CC
+:10F4200002020202020202020202020202020202BC
+:10F4300002020202020202020202020202020202AC
+:10F44000020202020202020202020202020202029C
+:10F45000020202020202020202020202020202028C
+:10F46000020202020202020202020202020202027C
+:10F47000020202020202020202020202020202026C
+:10F48000020202020202020202020202020202025C
+:10F49000020202020202020202020202020202024C
+:10F4A000020202020202020202020202020202023C
+:10F4B000020202020202020202020202020202022C
+:10F4C000020202020202020202020202020202021C
+:10F4D000020202020202020202020202020202020C
+:10F4E00002020202020202020202020202020202FC
+:10F4F00002020202020202020202020202020202EC
+:10F5000002020202020202020202020202020202DB
+:10F5100002020202020202020202020202020202CB
+:10F5200002020202020202020202020202020202BB
+:10F5300002020202020202020202020202020202AB
+:10F54000020202020202020202020202020202029B
+:10F55000020202020202020202020202020202028B
+:10F56000020202020202020202020202020202027B
+:10F57000020202020202020202020202020202026B
+:10F58000020202020202020202020202020202025B
+:10F59000020202020202020202020202020202024B
+:10F5A000020202020202020202020202020202023B
+:10F5B000020202020202020202020202020202022B
+:10F5C000020202020202020202020202020202021B
+:10F5D000020202020202020202020202020202020B
+:10F5E00002020202020202020202020202020202FB
+:10F5F00002020202020202020202020202020202EB
+:10F6000002020202020202020202020202020202DA
+:10F6100002020202020202020202020202020202CA
+:10F6200002020202020202020202020202020202BA
+:10F6300002020202020202020202020202020202AA
+:10F64000020202020202020202020202020202029A
+:10F65000020202020202020202020202020202028A
+:10F66000020202020202020202020202020202027A
+:10F67000020202020202020202020202020202026A
+:10F68000020202020202020202020202020202025A
+:10F69000020202020202020202020202020202024A
+:10F6A000020202020202020202020202020202023A
+:10F6B000020202020202020202020202020202022A
+:10F6C000020202020202020202020202020202021A
+:10F6D000020202020202020202020202020202020A
+:10F6E00002020202020202020202020202020202FA
+:10F6F00002020202020202020202020202020202EA
+:10F7000002020202020202020202020202020202D9
+:10F7100002020202020202020202020202020202C9
+:10F7200002020202020202020202020202020202B9
+:10F7300002020202020202020202020202020202A9
+:10F740000202020202020202020202020202020299
+:10F750000202020202020202020202020202020289
+:10F760000202020202020202020202020202020279
+:10F770000202020202020202020202020202020269
+:10F780000202020202020202020202020202020259
+:10F790000202020202020202020202020202020249
+:10F7A0000202020202020202020202020202020239
+:10F7B0000202020202020202020202020202020229
+:10F7C0000202020202020202020202020202020219
+:10F7D0000202020202020202020202020202020209
+:10F7E00002020202020202020202020202020202F9
+:10F7F00002020202020202020202020202020202E9
+:10F8000002020202020202020202020202020202D8
+:10F8100002020202020202020202020202020202C8
+:10F8200002020202020202020202020202020202B8
+:10F8300002020202020202020202020202020202A8
+:10F840000202020202020202020202020202020298
+:10F850000202020202020202020202020202020288
+:10F860000202020202020202020202020202020278
+:10F870000202020202020202020202020202020268
+:10F880000202020202020202020202020202020258
+:10F890000202020202020202020202020202020248
+:10F8A0000202020202020202020202020202020238
+:10F8B0000202020202020202020202020202020228
+:10F8C0000202020202020202020202020202020218
+:10F8D0000202020202020202020202020202020208
+:10F8E00002020202020202020202020202020202F8
+:10F8F00002020202020202020202020202020202E8
+:10F9000002020202020202020202020202020202D7
+:10F9100002020202020202020202020202020202C7
+:10F9200002020202020202020202020202020202B7
+:10F9300002020202020202020202020202020202A7
+:10F940000202020202020202020202020202020297
+:10F950000202020202020202020202020202020287
+:10F960000202020202020202020202020202020277
+:10F970000202020202020202020202020202020267
+:10F980000202020202020202020202020202020257
+:10F990000202020202020202020202020202020247
+:10F9A0000202020202020202020202020202020237
+:10F9B0000202020202020202020202020202020227
+:10F9C0000202020202020202020202020202020217
+:10F9D0000202020202020202020202020202020207
+:10F9E00002020202020202020202020202020202F7
+:10F9F00002020202020202020202020202020202E7
+:10FA000002020202020202020202020202020202D6
+:10FA100002020202020202020202020202020202C6
+:10FA200002020202020202020202020202020202B6
+:10FA300002020202020202020202020202020202A6
+:10FA40000202020202020202020202020202020296
+:10FA50000202020202020202020202020202020286
+:10FA60000202020202020202020202020202020276
+:10FA70000202020202020202020202020202020266
+:10FA80000202020202020202020202020202020256
+:10FA90000202020202020202020202020202020246
+:10FAA0000202020202020202020202020202020236
+:10FAB0000202020202020202020202020202020226
+:10FAC0000202020202020202020202020202020216
+:10FAD0000202020202020202020202020202020206
+:10FAE00002020202020202020202020202020202F6
+:10FAF00002020202020202020202020202020202E6
+:10FB000002020202020202020202020202020202D5
+:10FB100002020202020202020202020202020202C5
+:10FB200002020202020202020202020202020202B5
+:10FB300002020202020202020202020202020202A5
+:10FB40000202020202020202020202020202020295
+:10FB50000202020202020202020202020202020285
+:10FB60000202020202020202020202020202020275
+:10FB70000202020202020202020202020202020265
+:10FB80000202020202020202020202020202020255
+:10FB90000202020202020202020202020202020245
+:10FBA0000202020202020202020202020202020235
+:10FBB0000202020202020202020202020202020225
+:10FBC0000202020202020202020202020202020215
+:10FBD0000202020202020202020202020202020205
+:10FBE00002020202020202020202020202020202F5
+:10FBF00002020202020202020202020202020202E5
+:10FC000002020202020202020202020202020202D4
+:10FC100002020202020202020202020202020202C4
+:10FC200002020202020202020202020202020202B4
+:10FC300002020202020202020202020202020202A4
+:10FC40000202020202020202020202020202020294
+:10FC50000202020202020202020202020202020284
+:10FC60000202020202020202020202020202020274
+:10FC70000202020202020202020202020202020264
+:10FC80000202020202020202020202020202020254
+:10FC90000202020202020202020202020202020244
+:10FCA0000202020202020202020202020202020234
+:10FCB0000202020202020202020202020202020224
+:10FCC0000202020202020202020202020202020214
+:10FCD0000202020202020202020202020202020204
+:10FCE00002020202020202020202020202020202F4
+:10FCF00002020202020202020202020202020202E4
+:10FD000002020202020202020202020202020202D3
+:10FD100002020202020202020202020202020202C3
+:10FD200002020202020202020202020202020202B3
+:10FD300002020202020202020202020202020202A3
+:10FD40000202020202020202020202020202020293
+:10FD50000202020202020202020202020202020283
+:10FD60000202020202020202020202020202020273
+:10FD70000202020202020202020202020202020263
+:10FD80000202020202020202020202020202020253
+:10FD90000202020202020202020202020202020243
+:10FDA0000202020202020202020202020202020233
+:10FDB0000202020202020202020202020202020223
+:10FDC0000202020202020202020202020202020213
+:10FDD0000202020202020202020202020202020203
+:10FDE00002020202020202020202020202020202F3
+:10FDF00002020202020202020202020202020202E3
+:10FE000002020202020202020202020202020202D2
+:10FE100002020202020202020202020202020202C2
+:10FE200002020202020202020202020202020202B2
+:10FE300002020202020202020202020202020202A2
+:10FE40000202020202020202020202020202020292
+:10FE50000202020202020202020202020202020282
+:10FE60000202020202020202020202020202020272
+:10FE70000202020202020202020202020202020262
+:10FE80000202020202020202020202020202020252
+:10FE90000202020202020202020202020202020242
+:10FEA0000202020202020202020202020202020232
+:10FEB0000202020202020202020202020202020222
+:10FEC0000202020202020202020202020202020212
+:10FED0000202020202020202020202020202020202
+:10FEE00002020202020202020202020202020202F2
+:10FEF00002020202020202020202020202020202E2
+:10FF000002020202020202020000000000000000E1
+:10FF100000000000000000000000000000000000E1
+:10FF200000000000000000000000000000000000D1
+:10FF300000000000000000000000000000000000C1
+:10FF400000000000000000000000000000000000B1
+:10FF500000000000000000000000000000000000A1
+:10FF60000000000000000000000000000000000091
+:10FF70000000000000000000000000000000000081
+:10FF80000000000000000000000000000000000071
+:10FF90000000000000000000000000000000000061
+:10FFA0000000000000000000000000000000000051
+:10FFB0000000000000000000000000000000000041
+:10FFC0000000000000000000000000000000000031
+:10FFD0000000000000000000000000000000000021
+:10FFE0000000000000000000000000000000000011
+:10FFF0000000000000000000000000000000000001
+:020000023000CC
+:1000000000000000000000000000000000000000F0
+:1000100000000000000000000000000000000000E0
+:1000200000000000000000000000000000000000D0
+:1000300000000000000000000000000000000000C0
+:1000400000000000000000000000000000000000B0
+:1000500000000000000000000000000000000000A0
+:100060000000000000000000000000000000000090
+:100070000000000000000000000000000000000080
+:100080000000000000000000000000000000000070
+:100090000000000000000000000000000000000060
+:1000A0000000000000000000000000000000000050
+:1000B0000000000000000000000000000000000040
+:1000C0000000000000000000000000000000000030
+:1000D0000000000000000000000000000000000020
+:1000E0000000000000000000000000000000000010
+:1000F0000000000000000000000000000000000000
+:1001000000000000000000000000000000000000EF
+:1001100000000000000000000000000000000000DF
+:1001200000000000000000000000000000000000CF
+:1001300000000000000000000000000000000000BF
+:1001400000000000000000000000000000000000AF
+:10015000000000000000000000000000000000009F
+:10016000000000000000000000000000000000008F
+:10017000000000000000000000000000000000007F
+:10018000000000000000000000000000000000006F
+:10019000000000000000000000000000000000005F
+:1001A000000000000000000000000000000000004F
+:1001B000000000000000000000000000000000003F
+:1001C000000000000000000000000000000000002F
+:1001D000000000000000000000000000000000001F
+:1001E000000000000000000000000000000000000F
+:1001F00000000000000000000000000000000000FF
+:1002000000000000000000000000000000000000EE
+:1002100000000000000000000000000000000000DE
+:1002200000000000000000000000000000000000CE
+:1002300000000000000000000000000000000000BE
+:1002400000000000000000000000000000000000AE
+:10025000000000000000000000000000000000009E
+:10026000000000000000000000000000000000008E
+:10027000000000000000000000000000000000007E
+:10028000000000000000000000000000000000006E
+:10029000000000000000000000000000000000005E
+:1002A000000000000000000000000000000000004E
+:1002B000000000000000000000000000000000003E
+:1002C000000000000000000000000000000000002E
+:1002D000000000000000000000000000000000001E
+:1002E000000000000000000000000000000000000E
+:1002F00000000000000000000000000000000000FE
+:1003000000000000000000000000000000000000ED
+:1003100000000000000000000000000000000000DD
+:1003200000000000000000000000000000000000CD
+:1003300000000000000000000000000000000000BD
+:1003400000000000000000000000000000000000AD
+:10035000000000000000000000000000000000009D
+:10036000000000000000000000000000000000008D
+:10037000000000000000000000000000000000007D
+:10038000000000000000000000000000000000006D
+:10039000000000000000000000000000000000005D
+:1003A000000000000000000000000000000000004D
+:1003B000000000000000000000000000000000003D
+:1003C000000000000000000000000000000000002D
+:1003D000000000000000000000000000000000001D
+:1003E000000000000000000000000000000000000D
+:1003F00000000000000000000000000000000000FD
+:1004000000000000000000000000000000000000EC
+:1004100000000000000000000000000000000000DC
+:1004200000000000000000000000000000000000CC
+:1004300000000000000000000000000000000000BC
+:1004400000000000000000000000000000000000AC
+:10045000000000000000000000000000000000009C
+:10046000000000000000000000000000000000008C
+:10047000000000000000000000000000000000007C
+:10048000000000000000000000000000000000006C
+:10049000000000000000000000000000000000005C
+:1004A000000000000000000000000000000000004C
+:1004B000000000000000000000000000000000003C
+:1004C000000000000000000000000000000000002C
+:1004D000000000000000000000000000000000001C
+:1004E000000000000000000000000000000000000C
+:1004F00000000000000000000000000000000000FC
+:1005000000000000000000000000000000000000EB
+:1005100000000000000000000000000000000000DB
+:1005200000000000000000000000000000000000CB
+:1005300000000000000000000000000000000000BB
+:1005400000000000000000000000000000000000AB
+:10055000000000000000000000000000000000009B
+:10056000000000000000000000000000000000008B
+:10057000000000000000000000000000000000007B
+:10058000000000000000000000000000000000006B
+:10059000000000000000000000000000000000005B
+:1005A000000000000000000000000000000000004B
+:1005B000000000000000000000000000000000003B
+:1005C000000000000000000000000000000000002B
+:1005D000000000000000000000000000000000001B
+:1005E000000000000000000000000000000000000B
+:1005F00000000000000000000000000000000000FB
+:1006000000000000000000000000000000000000EA
+:1006100000000000000000000000000000000000DA
+:1006200000000000000000000000000000000000CA
+:1006300000000000000000000000000000000000BA
+:1006400000000000000000000000000000000000AA
+:10065000000000000000000000000000000000009A
+:10066000000000000000000000000000000000008A
+:10067000000000000000000000000000000000007A
+:10068000000000000000000000000000000000006A
+:10069000000000000000000000000000000000005A
+:1006A000000000000000000000000000000000004A
+:1006B000000000000000000000000000000000003A
+:1006C000000000000000000000000000000000002A
+:1006D000000000000000000000000000000000001A
+:1006E000000000000000000000000000000000000A
+:1006F00000000000000000000000000000000000FA
+:100700000000000000000000770000000000000072
+:1007100001010101010101010101010101010101C9
+:1007200001010101010101010101010101010101B9
+:1007300001010101010101010101010101010101A9
+:100740000101010101010101010101010101010199
+:100750000101010101010101010101010101010189
+:100760000101010101010101010101010101010179
+:100770000101010101010101010101010101010169
+:100780000101010101010101010101010101010159
+:100790000101010101010101010101010101010149
+:1007A0000101010101010101010101010101010139
+:1007B0000101010101010101010101010101010129
+:1007C0000101010101010101010101010101010119
+:1007D0000101010101010101010101010101010109
+:1007E00001010101010101010101010101010101F9
+:1007F00001010101010101010101010101010101E9
+:1008000001010101010101010101010101010101D8
+:1008100001010101010101010101010101010101C8
+:1008200001010101010101010101010101010101B8
+:1008300001010101010101010101010101010101A8
+:100840000101010101010101010101010101010198
+:100850000101010101010101010101010101010188
+:100860000101010101010101010101010101010178
+:100870000101010101010101010101010101010168
+:100880000101010101010101010101010101010158
+:100890000101010101010101010101010101010148
+:1008A0000101010101010101010101010101010138
+:1008B0000101010101010101010101010101010128
+:1008C0000101010101010101010101010101010118
+:1008D0000101010101010101010101010101010108
+:1008E00001010101010101010101010101010101F8
+:1008F00001010101010101010101010101010101E8
+:1009000001010101010101010101010101010101D7
+:1009100001010101010101010101010101010101C7
+:1009200001010101010101010101010101010101B7
+:1009300001010101010101010101010101010101A7
+:100940000101010101010101010101010101010197
+:100950000101010101010101010101010101010187
+:100960000101010101010101010101010101010177
+:100970000101010101010101010101010101010167
+:100980000101010101010101010101010101010157
+:100990000101010101010101010101010101010147
+:1009A0000101010101010101010101010101010137
+:1009B0000101010101010101010101010101010127
+:1009C0000101010101010101010101010101010117
+:1009D0000101010101010101010101010101010107
+:1009E00001010101010101010101010101010101F7
+:1009F00001010101010101010101010101010101E7
+:100A000001010101010101010101010101010101D6
+:100A100001010101010101010101010101010101C6
+:100A200001010101010101010101010101010101B6
+:100A300001010101010101010101010101010101A6
+:100A40000101010101010101010101010101010196
+:100A50000101010101010101010101010101010186
+:100A60000101010101010101010101010101010176
+:100A70000101010101010101010101010101010166
+:100A80000101010101010101010101010101010156
+:100A90000101010101010101010101010101010146
+:100AA0000101010101010101010101010101010136
+:100AB0000101010101010101010101010101010126
+:100AC0000101010101010101010101010101010116
+:100AD0000101010101010101010101010101010106
+:100AE00001010101010101010101010101010101F6
+:100AF00001010101010101010101010101010101E6
+:100B000001010101010101010101010101010101D5
+:100B100001010101010101010101010101010101C5
+:100B200001010101010101010101010101010101B5
+:100B300001010101010101010101010101010101A5
+:100B40000101010101010101010101010101010195
+:100B50000101010101010101010101010101010185
+:100B60000101010101010101010101010101010175
+:100B70000101010101010101010101010101010165
+:100B80000101010101010101010101010101010155
+:100B90000101010101010101010101010101010145
+:100BA0000101010101010101010101010101010135
+:100BB0000101010101010101010101010101010125
+:100BC0000101010101010101010101010101010115
+:100BD0000101010101010101010101010101010105
+:100BE00001010101010101010101010101010101F5
+:100BF00001010101010101010101010101010101E5
+:100C000001010101010101010101010101010101D4
+:100C100001010101010101010101010101010101C4
+:100C200001010101010101010101010101010101B4
+:100C300001010101010101010101010101010101A4
+:100C40000101010101010101010101010101010194
+:100C50000101010101010101010101010101010184
+:100C60000101010101010101010101010101010174
+:100C70000101010101010101010101010101010164
+:100C80000101010101010101010101010101010154
+:100C90000101010101010101010101010101010144
+:100CA0000101010101010101010101010101010134
+:100CB0000101010101010101010101010101010124
+:100CC0000101010101010101010101010101010114
+:100CD0000101010101010101010101010101010104
+:100CE00001010101010101010101010101010101F4
+:100CF00001010101010101010101010101010101E4
+:100D000001010101010101010101010101010101D3
+:100D100001010101010101010101010101010101C3
+:100D200001010101010101010101010101010101B3
+:100D300001010101010101010101010101010101A3
+:100D40000101010101010101010101010101010193
+:100D50000101010101010101010101010101010183
+:100D60000101010101010101010101010101010173
+:100D70000101010101010101010101010101010163
+:100D80000101010101010101010101010101010153
+:100D90000101010101010101010101010101010143
+:100DA0000101010101010101010101010101010133
+:100DB0000101010101010101010101010101010123
+:100DC0000101010101010101010101010101010113
+:100DD0000101010101010101010101010101010103
+:100DE00001010101010101010101010101010101F3
+:100DF00001010101010101010101010101010101E3
+:100E000001010101010101010101010101010101D2
+:100E100000000000000000000000000000000000D2
+:100E200000000000000000000000000000000000C2
+:100E300000000000000000000000000000000000B2
+:100E400000000000000000000000000000000000A2
+:100E50000000000000000000000000000000000092
+:100E60000000000000000000000000000000000082
+:100E70000000000000000000000000000000000072
+:100E80000000000000000000000000000000000062
+:100E90000000000000000000000000000000000052
+:100EA0000000000000000000000000000000000042
+:100EB0000000000000000000000000000000000032
+:100EC0000000000000000000000000000000000022
+:100ED0000000000000000000000000000000000012
+:100EE0000000000000000000000000000000000002
+:100EF00000000000000000000000000000000000F2
+:100F000000000000000000000000000000000000E1
+:100F100000000000000000000000000000000000D1
+:100F200000000000000000000000000000000000C1
+:100F300000000000000000000000000000000000B1
+:100F400000000000000000000000000000000000A1
+:100F50000000000000000000000000000000000091
+:100F60000000000000000000000000000000000081
+:100F70000000000000000000000000000000000071
+:100F80000000000000000000000000000000000061
+:100F90000000000000000000000000000000000051
+:100FA0000000000000000000000000000000000041
+:100FB0000000000000000000000000000000000031
+:100FC0000000000000000000000000000000000021
+:100FD0000000000000000000000000000000000011
+:100FE0000000000000000000000000000000000001
+:100FF00000000000000000000000000000000000F1
+:1010000000000000000000000000000000000000E0
+:1010100000000000000000000000000000000000D0
+:1010200000000000000000000000000000000000C0
+:1010300000000000000000000000000000000000B0
+:1010400000000000000000000000000000000000A0
+:101050000000000000000000000000000000000090
+:101060000000000000000000000000000000000080
+:101070000000000000000000000000000000000070
+:101080000000000000000000000000000000000060
+:101090000000000000000000000000000000000050
+:1010A0000000000000000000000000000000000040
+:1010B0000000000000000000000000000000000030
+:1010C0000000000000000000000000000000000020
+:1010D0000000000000000000000000000000000010
+:1010E0000000000000000000000000000000000000
+:1010F00000000000000000000000000000000000F0
+:1011000000000000000000000000000000000000DF
+:1011100000000000000000000000000000000000CF
+:1011200000000000000000000000000000000000BF
+:1011300000000000000000000000000000000000AF
+:10114000000000000000000000000000000000009F
+:10115000000000000000000000000000000000008F
+:10116000000000000000000000000000000000007F
+:10117000000000000000000000000000000000006F
+:10118000000000000000000000000000000000005F
+:10119000000000000000000000000000000000004F
+:1011A000000000000000000000000000000000003F
+:1011B000000000000000000000000000000000002F
+:1011C000000000000000000000000000000000001F
+:1011D000000000000000000000000000000000000F
+:1011E00000000000000000000000000000000000FF
+:1011F00000000000000000000000000000000000EF
+:1012000000000000000000000000000000000000DE
+:1012100000000000000000000000000000000000CE
+:1012200000000000000000000000000000000000BE
+:1012300000000000000000000000000000000000AE
+:10124000000000000000000000000000000000009E
+:10125000000000000000000000000000000000008E
+:10126000000000000000000000000000000000007E
+:10127000000000000000000000000000000000006E
+:10128000000000000000000000000000000000005E
+:10129000000000000000000000000000000000004E
+:1012A000000000000000000000000000000000003E
+:1012B000000000000000000000000000000000002E
+:1012C000000000000000000000000000000000001E
+:1012D000000000000000000000000000000000000E
+:1012E00000000000000000000000000000000000FE
+:1012F00000000000000000000000000000000000EE
+:1013000000000000000000000000000000000000DD
+:1013100000000000000000000000000000000000CD
+:1013200000000000000000000000000000000000BD
+:1013300000000000000000000000000000000000AD
+:10134000000000000000000000000000000000009D
+:10135000000000000000000000000000000000008D
+:10136000000000000000000000000000000000007D
+:10137000000000000000000000000000000000006D
+:10138000000000000000000000000000000000005D
+:10139000000000000000000000000000000000004D
+:1013A000000000000000000000000000000000003D
+:1013B000000000000000000000000000000000002D
+:1013C000000000000000000000000000000000001D
+:1013D000000000000000000000000000000000000D
+:1013E00000000000000000000000000000000000FD
+:1013F00000000000000000000000000000000000ED
+:1014000000000000000000000000000000000000DC
+:1014100000000000000000000000000000000000CC
+:1014200000000000000000000000000000000000BC
+:1014300000000000000000000000000000000000AC
+:10144000000000000000000000000000000000009C
+:10145000000000000000000000000000000000008C
+:10146000000000000000000000000000000000007C
+:10147000000000000000000000000000000000006C
+:10148000000000000000000000000000000000005C
+:10149000000000000000000000000000000000004C
+:1014A000000000000000000000000000000000003C
+:1014B000000000000000000000000000000000002C
+:1014C000000000000000000000000000000000001C
+:1014D000000000000000000000000000000000000C
+:1014E00000000000000000000000000000000000FC
+:1014F00000000000000000000000000000000000EC
+:1015000000000000000000000000000000000000DB
+:1015100000000000000000000000000000000000CB
+:1015200000000000000000000000000000000000BB
+:1015300000000000000000000000000000000000AB
+:10154000000000000000000000000000000000009B
+:10155000000000000000000000000000000000008B
+:10156000000000000000000000000000000000007B
+:10157000000000000000000000000000000000006B
+:10158000000000000000000000000000000000005B
+:10159000000000000000000000000000000000004B
+:1015A000000000000000000000000000000000003B
+:1015B000000000000000000000000000000000002B
+:1015C000000000000000000000000000000000001B
+:1015D000000000000000000000000000000000000B
+:1015E00000000000000000000000000000000000FB
+:1015F00000000000000000000000000000000000EB
+:1016000000000000000000000000000000000000DA
+:1016100000000000000000000000000000000000CA
+:1016200000000000000000000000000000000000BA
+:1016300000000000000000000000000000000000AA
+:10164000000000000000000000000000000000009A
+:10165000000000000000000000000000000000008A
+:10166000000000000000000000000000000000007A
+:10167000000000000000000000000000000000006A
+:10168000000000000000000000000000000000005A
+:10169000000000000000000000000000000000004A
+:1016A000000000000000000000000000000000003A
+:1016B000000000000000000000000000000000002A
+:1016C000000000000000000000000000000000001A
+:1016D000000000000000000000000000000000000A
+:1016E00000000000000000000000000000000000FA
+:1016F00000000000000000000000000000000000EA
+:1017000000000000000000000000000000000000D9
+:1017100000000000000000000000000000000000C9
+:1017200000000000000000000000000000000000B9
+:1017300000000000000000000000000000000000A9
+:101740000000000000000000000000000000000099
+:101750000000000000000000000000000000000089
+:101760000000000000000000000000000000000079
+:101770000000000000000000000000000000000069
+:101780000000000000000000000000000000000059
+:101790000000000000000000000000000000000049
+:1017A0000000000000000000000000000000000039
+:1017B0000000000000000000000000000000000029
+:1017C0000000000000000000000000000000000019
+:1017D0000000000000000000000000000000000009
+:1017E00000000000000000000000000000000000F9
+:1017F00000000000000000000000000000000000E9
+:1018000000000000000000000000000000000000D8
+:1018100000000000000000000000000000000000C8
+:1018200000000000000000000000000000000000B8
+:1018300000000000000000000000000000000000A8
+:101840000000000000000000000000000000000098
+:101850000000000000000000000000000000000088
+:101860000000000000000000000000000000000078
+:101870000000000000000000000000000000000068
+:101880000000000000000000000000000000000058
+:101890000000000000000000000000000000000048
+:1018A0000000000000000000000000000000000038
+:1018B0000000000000000000000000000000000028
+:1018C0000000000000000000000000000000000018
+:1018D0000000000000000000000000000000000008
+:1018E00000000000000000000000000000000000F8
+:1018F00000000000000000000000000000000000E8
+:1019000000000000000000000000000000000000D7
+:1019100000000000000000000000000000000000C7
+:1019200000000000000000000000000000000000B7
+:1019300000000000000000000000000000000000A7
+:101940000000000000000000000000000000000097
+:101950000000000000000000000000000000000087
+:101960000000000000000000000000000000000077
+:101970000000000000000000000000000000000067
+:101980000000000000000000000000000000000057
+:101990000000000000000000000000000000000047
+:1019A0000000000000000000000000000000000037
+:1019B0000000000000000000000000000000000027
+:1019C0000000000000000000000000000000000017
+:1019D0000000000000000000000000000000000007
+:1019E00000000000000000000000000000000000F7
+:1019F00000000000000000000000000000000000E7
+:101A000000000000000000000000000000000000D6
+:101A100000000000000000000000000000000000C6
+:101A200000000000000000000000000000000000B6
+:101A300000000000000000000000000000000000A6
+:101A40000000000000000000000000000000000096
+:101A50000000000000000000000000000000000086
+:101A60000000000000000000000000000000000076
+:101A70000000000000000000000000000000000066
+:101A80000000000000000000000000000000000056
+:101A90000000000000000000000000000000000046
+:101AA0000000000000000000000000000000000036
+:101AB0000000000000000000000000000000000026
+:101AC0000000000000000000000000000000000016
+:101AD0000000000000000000000000000000000006
+:101AE00000000000000000000000000000000000F6
+:101AF00000000000000000000000000000000000E6
+:101B000000000000000000000000000000000000D5
+:101B100000000000000000000000000000000000C5
+:101B200000000000000000000000000000000000B5
+:101B300000000000000000000000000000000000A5
+:101B40000000000000000000000000000000000095
+:101B50000000000000000000000000000000000085
+:101B60000000000000000000000000000000000075
+:101B70000000000000000000000000000000000065
+:101B80000000000000000000000000000000000055
+:101B90000000000000000000000000000000000045
+:101BA0000000000000000000000000000000000035
+:101BB0000000000000000000000000000000000025
+:101BC0000000000000000000000000000000000015
+:101BD0000000000000000000000000000000000005
+:101BE00000000000000000000000000000000000F5
+:101BF00000000000000000000000000000000000E5
+:101C000000000000000000000000000000000000D4
+:101C100001010101010101010101010101010101B4
+:101C200001010101010101010101010101010101A4
+:101C30000101010101010101010101010101010194
+:101C40000101010101010101010101010101010184
+:101C50000101010101010101010101010101010174
+:101C60000101010101010101010101010101010164
+:101C70000101010101010101010101010101010154
+:101C80000101010101010101010101010101010144
+:101C90000101010101010101010101010101010134
+:101CA0000101010101010101010101010101010124
+:101CB0000101010101010101010101010101010114
+:101CC0000101010101010101010101010101010104
+:101CD00001010101010101010101010101010101F4
+:101CE00001010101010101010101010101010101E4
+:101CF00001010101010101010101010101010101D4
+:101D000001010101010101010101010101010101C3
+:101D100001010101010101010101010101010101B3
+:101D200001010101010101010101010101010101A3
+:101D30000101010101010101010101010101010193
+:101D40000101010101010101010101010101010183
+:101D50000101010101010101010101010101010173
+:101D60000101010101010101010101010101010163
+:101D70000101010101010101010101010101010153
+:101D80000101010101010101010101010101010143
+:101D90000101010101010101010101010101010133
+:101DA0000101010101010101010101010101010123
+:101DB0000101010101010101010101010101010113
+:101DC0000101010101010101010101010101010103
+:101DD00001010101010101010101010101010101F3
+:101DE00001010101010101010101010101010101E3
+:101DF00001010101010101010101010101010101D3
+:101E000001010101010101010101010101010101C2
+:101E100001010101010101010101010101010101B2
+:101E200001010101010101010101010101010101A2
+:101E30000101010101010101010101010101010192
+:101E40000101010101010101010101010101010182
+:101E50000101010101010101010101010101010172
+:101E60000101010101010101010101010101010162
+:101E70000101010101010101010101010101010152
+:101E80000101010101010101010101010101010142
+:101E90000101010101010101010101010101010132
+:101EA0000101010101010101010101010101010122
+:101EB0000101010101010101010101010101010112
+:101EC0000101010101010101010101010101010102
+:101ED00001010101010101010101010101010101F2
+:101EE00001010101010101010101010101010101E2
+:101EF00001010101010101010101010101010101D2
+:101F000001010101010101010101010101010101C1
+:101F100001010101010101010101010101010101B1
+:101F200001010101010101010101010101010101A1
+:101F30000101010101010101010101010101010191
+:101F40000101010101010101010101010101010181
+:101F50000101010101010101010101010101010171
+:101F60000101010101010101010101010101010161
+:101F70000101010101010101010101010101010151
+:101F80000101010101010101010101010101010141
+:101F90000101010101010101010101010101010131
+:101FA0000101010101010101010101010101010121
+:101FB0000101010101010101010101010101010111
+:101FC0000101010101010101010101010101010101
+:101FD00001010101010101010101010101010101F1
+:101FE00001010101010101010101010101010101E1
+:101FF00001010101010101010101010101010101D1
+:1020000001010101010101010101010101010101C0
+:1020100001010101010101010101010101010101B0
+:1020200001010101010101010101010101010101A0
+:102030000101010101010101010101010101010190
+:102040000101010101010101010101010101010180
+:102050000101010101010101010101010101010170
+:102060000101010101010101010101010101010160
+:102070000101010101010101010101010101010150
+:102080000101010101010101010101010101010140
+:102090000101010101010101010101010101010130
+:1020A0000101010101010101010101010101010120
+:1020B0000101010101010101010101010101010110
+:1020C0000101010101010101010101010101010100
+:1020D00001010101010101010101010101010101F0
+:1020E00001010101010101010101010101010101E0
+:1020F00001010101010101010101010101010101D0
+:1021000001010101010101010101010101010101BF
+:1021100001010101010101010101010101010101AF
+:10212000010101010101010101010101010101019F
+:10213000010101010101010101010101010101018F
+:10214000010101010101010101010101010101017F
+:10215000010101010101010101010101010101016F
+:10216000010101010101010101010101010101015F
+:10217000010101010101010101010101010101014F
+:10218000010101010101010101010101010101013F
+:10219000010101010101010101010101010101012F
+:1021A000010101010101010101010101010101011F
+:1021B000010101010101010101010101010101010F
+:1021C00001010101010101010101010101010101FF
+:1021D00001010101010101010101010101010101EF
+:1021E00001010101010101010101010101010101DF
+:1021F00001010101010101010101010101010101CF
+:1022000001010101010101010101010101010101BE
+:1022100001010101010101010101010101010101AE
+:10222000010101010101010101010101010101019E
+:10223000010101010101010101010101010101018E
+:10224000010101010101010101010101010101017E
+:10225000010101010101010101010101010101016E
+:10226000010101010101010101010101010101015E
+:10227000010101010101010101010101010101014E
+:10228000010101010101010101010101010101013E
+:10229000010101010101010101010101010101012E
+:1022A000010101010101010101010101010101011E
+:1022B000010101010101010101010101010101010E
+:1022C00001010101010101010101010101010101FE
+:1022D00001010101010101010101010101010101EE
+:1022E00001010101010101010101010101010101DE
+:1022F00001010101010101010101010101010101CE
+:1023000001010101010101010101010101010101BD
+:1023100001010101010101010101010101010101AD
+:10232000010101010101010101010101010101019D
+:10233000010101010101010101010101010101018D
+:10234000010101010101010101010101010101017D
+:10235000010101010101010101010101010101016D
+:10236000010101010101010101010101010101015D
+:10237000010101010101010101010101010101014D
+:10238000010101010101010101010101010101013D
+:10239000010101010101010101010101010101012D
+:1023A000010101010101010101010101010101011D
+:1023B000010101010101010101010101010101010D
+:1023C00001010101010101010101010101010101FD
+:1023D00001010101010101010101010101010101ED
+:1023E00001010101010101010101010101010101DD
+:1023F00001010101010101010101010101010101CD
+:1024000001010101010101010101010101010101BC
+:1024100000000000000000000000000000000000BC
+:1024200000000000000000000000000000000000AC
+:10243000000000000000000000000000000000009C
+:10244000000000000000000000000000000000008C
+:10245000000000000000000000000000000000007C
+:10246000000000000000000000000000000000006C
+:10247000000000000000000000000000000000005C
+:10248000000000000000000000000000000000004C
+:10249000000000000000000000000000000000003C
+:1024A000000000000000000000000000000000002C
+:1024B000000000000000000000000000000000001C
+:1024C000000000000000000000000000000000000C
+:1024D00000000000000000000000000000000000FC
+:1024E00000000000000000000000000000000000EC
+:1024F00000000000000000000000000000000000DC
+:1025000000000000000000000000000000000000CB
+:1025100000000000000000000000000000000000BB
+:1025200000000000000000000000000000000000AB
+:10253000000000000000000000000000000000009B
+:10254000000000000000000000000000000000008B
+:10255000000000000000000000000000000000007B
+:10256000000000000000000000000000000000006B
+:10257000000000000000000000000000000000005B
+:10258000000000000000000000000000000000004B
+:10259000000000000000000000000000000000003B
+:1025A000000000000000000000000000000000002B
+:1025B000000000000000000000000000000000001B
+:1025C000000000000000000000000000000000000B
+:1025D00000000000000000000000000000000000FB
+:1025E00000000000000000000000000000000000EB
+:1025F00000000000000000000000000000000000DB
+:1026000000000000000000000000000000000000CA
+:1026100000000000000000000000000000000000BA
+:1026200000000000000000000000000000000000AA
+:10263000000000000000000000000000000000009A
+:10264000000000000000000000000000000000008A
+:10265000000000000000000000000000000000007A
+:10266000000000000000000000000000000000006A
+:10267000000000000000000000000000000000005A
+:10268000000000000000000000000000000000004A
+:10269000000000000000000000000000000000003A
+:1026A000000000000000000000000000000000002A
+:1026B000000000000000000000000000000000001A
+:1026C000000000000000000000000000000000000A
+:1026D00000000000000000000000000000000000FA
+:1026E00000000000000000000000000000000000EA
+:1026F00000000000000000000000000000000000DA
+:1027000000000000000000000000000000000000C9
+:1027100000000000000000000000000000000000B9
+:1027200000000000000000000000000000000000A9
+:102730000000000000000000000000000000000099
+:102740000000000000000000000000000000000089
+:102750000000000000000000000000000000000079
+:102760000000000000000000000000000000000069
+:102770000000000000000000000000000000000059
+:102780000000000000000000000000000000000049
+:102790000000000000000000000000000000000039
+:1027A0000000000000000000000000000000000029
+:1027B0000000000000000000000000000000000019
+:1027C0000000000000000000000000000000000009
+:1027D00000000000000000000000000000000000F9
+:1027E00000000000000000000000000000000000E9
+:1027F00000000000000000000000000000000000D9
+:1028000000000000000000000000000000000000C8
+:1028100001010101010101010101010101010101A8
+:102820000101010101010101010101010101010198
+:102830000101010101010101010101010101010188
+:102840000101010101010101010101010101010178
+:102850000101010101010101010101010101010168
+:102860000101010101010101010101010101010158
+:102870000101010101010101010101010101010148
+:102880000101010101010101010101010101010138
+:102890000101010101010101010101010101010128
+:1028A0000101010101010101010101010101010118
+:1028B0000101010101010101010101010101010108
+:1028C00001010101010101010101010101010101F8
+:1028D00001010101010101010101010101010101E8
+:1028E00001010101010101010101010101010101D8
+:1028F00001010101010101010101010101010101C8
+:1029000001010101010101010101010101010101B7
+:1029100001010101010101010101010101010101A7
+:102920000101010101010101010101010101010197
+:102930000101010101010101010101010101010187
+:102940000101010101010101010101010101010177
+:102950000101010101010101010101010101010167
+:102960000101010101010101010101010101010157
+:102970000101010101010101010101010101010147
+:102980000101010101010101010101010101010137
+:102990000101010101010101010101010101010127
+:1029A0000101010101010101010101010101010117
+:1029B0000101010101010101010101010101010107
+:1029C00001010101010101010101010101010101F7
+:1029D00001010101010101010101010101010101E7
+:1029E00001010101010101010101010101010101D7
+:1029F00001010101010101010101010101010101C7
+:102A000001010101010101010101010101010101B6
+:102A10000202020202020202020202020202020296
+:102A20000202020202020202020202020202020286
+:102A30000202020202020202020202020202020276
+:102A40000202020202020202020202020202020266
+:102A50000202020202020202020202020202020256
+:102A60000202020202020202020202020202020246
+:102A70000202020202020202020202020202020236
+:102A80000202020202020202020202020202020226
+:102A90000202020202020202020202020202020216
+:102AA0000202020202020202020202020202020206
+:102AB00002020202020202020202020202020202F6
+:102AC00002020202020202020202020202020202E6
+:102AD00002020202020202020202020202020202D6
+:102AE00002020202020202020202020202020202C6
+:102AF00002020202020202020202020202020202B6
+:102B000002020202020202020202020202020202A5
+:102B10000202020202020202020202020202020295
+:102B20000202020202020202020202020202020285
+:102B30000202020202020202020202020202020275
+:102B40000202020202020202020202020202020265
+:102B50000202020202020202020202020202020255
+:102B60000202020202020202020202020202020245
+:102B70000202020202020202020202020202020235
+:102B80000202020202020202020202020202020225
+:102B90000202020202020202020202020202020215
+:102BA0000202020202020202020202020202020205
+:102BB00002020202020202020202020202020202F5
+:102BC00002020202020202020202020202020202E5
+:102BD00002020202020202020202020202020202D5
+:102BE00002020202020202020202020202020202C5
+:102BF00002020202020202020202020202020202B5
+:102C000002020202020202020202020202020202A4
+:102C10000202020202020202020202020202020294
+:102C20000202020202020202020202020202020284
+:102C30000202020202020202020202020202020274
+:102C40000202020202020202020202020202020264
+:102C50000202020202020202020202020202020254
+:102C60000202020202020202020202020202020244
+:102C70000202020202020202020202020202020234
+:102C80000202020202020202020202020202020224
+:102C90000202020202020202020202020202020214
+:102CA0000202020202020202020202020202020204
+:102CB00002020202020202020202020202020202F4
+:102CC00002020202020202020202020202020202E4
+:102CD00002020202020202020202020202020202D4
+:102CE00002020202020202020202020202020202C4
+:102CF00002020202020202020202020202020202B4
+:102D000002020202020202020202020202020202A3
+:102D10000202020202020202020202020202020293
+:102D20000202020202020202020202020202020283
+:102D30000202020202020202020202020202020273
+:102D40000202020202020202020202020202020263
+:102D50000202020202020202020202020202020253
+:102D60000202020202020202020202020202020243
+:102D70000202020202020202020202020202020233
+:102D80000202020202020202020202020202020223
+:102D90000202020202020202020202020202020213
+:102DA0000202020202020202020202020202020203
+:102DB00002020202020202020202020202020202F3
+:102DC00002020202020202020202020202020202E3
+:102DD00002020202020202020202020202020202D3
+:102DE00002020202020202020202020202020202C3
+:102DF00002020202020202020202020202020202B3
+:102E000002020202020202020202020202020202A2
+:102E10000202020202020202020202020202020292
+:102E20000202020202020202020202020202020282
+:102E30000202020202020202020202020202020272
+:102E40000202020202020202020202020202020262
+:102E50000202020202020202020202020202020252
+:102E60000202020202020202020202020202020242
+:102E70000202020202020202020202020202020232
+:102E80000202020202020202020202020202020222
+:102E90000202020202020202020202020202020212
+:102EA0000202020202020202020202020202020202
+:102EB00002020202020202020202020202020202F2
+:102EC00002020202020202020202020202020202E2
+:102ED00002020202020202020202020202020202D2
+:102EE00002020202020202020202020202020202C2
+:102EF00002020202020202020202020202020202B2
+:102F000002020202020202020202020202020202A1
+:102F10000202020202020202020202020202020291
+:102F20000202020202020202020202020202020281
+:102F30000202020202020202020202020202020271
+:102F40000202020202020202020202020202020261
+:102F50000202020202020202020202020202020251
+:102F60000202020202020202020202020202020241
+:102F70000202020202020202020202020202020231
+:102F80000202020202020202020202020202020221
+:102F90000202020202020202020202020202020211
+:102FA0000202020202020202020202020202020201
+:102FB00002020202020202020202020202020202F1
+:102FC00002020202020202020202020202020202E1
+:102FD00002020202020202020202020202020202D1
+:102FE00002020202020202020202020202020202C1
+:102FF00002020202020202020202020202020202B1
+:1030000002020202020202020202020202020202A0
+:103010000202020202020202020202020202020290
+:103020000202020202020202020202020202020280
+:103030000202020202020202020202020202020270
+:103040000202020202020202020202020202020260
+:103050000202020202020202020202020202020250
+:103060000202020202020202020202020202020240
+:103070000202020202020202020202020202020230
+:103080000202020202020202020202020202020220
+:103090000202020202020202020202020202020210
+:1030A0000202020202020202020202020202020200
+:1030B00002020202020202020202020202020202F0
+:1030C00002020202020202020202020202020202E0
+:1030D00002020202020202020202020202020202D0
+:1030E00002020202020202020202020202020202C0
+:1030F00002020202020202020202020202020202B0
+:10310000020202020202020202020202020202029F
+:10311000020202020202020202020202020202028F
+:10312000020202020202020202020202020202027F
+:10313000020202020202020202020202020202026F
+:10314000020202020202020202020202020202025F
+:10315000020202020202020202020202020202024F
+:10316000020202020202020202020202020202023F
+:10317000020202020202020202020202020202022F
+:10318000020202020202020202020202020202021F
+:10319000020202020202020202020202020202020F
+:1031A00002020202020202020202020202020202FF
+:1031B00002020202020202020202020202020202EF
+:1031C00002020202020202020202020202020202DF
+:1031D00002020202020202020202020202020202CF
+:1031E00002020202020202020202020202020202BF
+:1031F00002020202020202020202020202020202AF
+:10320000020202020202020202020202020202029E
+:10321000020202020202020202020202020202028E
+:10322000020202020202020202020202020202027E
+:10323000020202020202020202020202020202026E
+:10324000020202020202020202020202020202025E
+:10325000020202020202020202020202020202024E
+:10326000020202020202020202020202020202023E
+:10327000020202020202020202020202020202022E
+:10328000020202020202020202020202020202021E
+:10329000020202020202020202020202020202020E
+:1032A00002020202020202020202020202020202FE
+:1032B00002020202020202020202020202020202EE
+:1032C00002020202020202020202020202020202DE
+:1032D00002020202020202020202020202020202CE
+:1032E00002020202020202020202020202020202BE
+:1032F00002020202020202020202020202020202AE
+:10330000020202020202020202020202020202029D
+:10331000020202020202020202020202020202028D
+:10332000020202020202020202020202020202027D
+:10333000020202020202020202020202020202026D
+:10334000020202020202020202020202020202025D
+:10335000020202020202020202020202020202024D
+:10336000020202020202020202020202020202023D
+:10337000020202020202020202020202020202022D
+:10338000020202020202020202020202020202021D
+:10339000020202020202020202020202020202020D
+:1033A00002020202020202020202020202020202FD
+:1033B00002020202020202020202020202020202ED
+:1033C00002020202020202020202020202020202DD
+:1033D00002020202020202020202020202020202CD
+:1033E00002020202020202020202020202020202BD
+:1033F00002020202020202020202020202020202AD
+:10340000020202020202020202020202020202029C
+:10341000020202020202020202020202020202028C
+:10342000020202020202020202020202020202027C
+:10343000020202020202020202020202020202026C
+:10344000020202020202020202020202020202025C
+:10345000020202020202020202020202020202024C
+:10346000020202020202020202020202020202023C
+:10347000020202020202020202020202020202022C
+:10348000020202020202020202020202020202021C
+:10349000020202020202020202020202020202020C
+:1034A00002020202020202020202020202020202FC
+:1034B00002020202020202020202020202020202EC
+:1034C00002020202020202020202020202020202DC
+:1034D00002020202020202020202020202020202CC
+:1034E00002020202020202020202020202020202BC
+:1034F00002020202020202020202020202020202AC
+:10350000020202020202020202020202020202029B
+:10351000020202020202020202020202020202028B
+:10352000020202020202020202020202020202027B
+:10353000020202020202020202020202020202026B
+:10354000020202020202020202020202020202025B
+:10355000020202020202020202020202020202024B
+:10356000020202020202020202020202020202023B
+:10357000020202020202020202020202020202022B
+:10358000020202020202020202020202020202021B
+:10359000020202020202020202020202020202020B
+:1035A00002020202020202020202020202020202FB
+:1035B00002020202020202020202020202020202EB
+:1035C00002020202020202020202020202020202DB
+:1035D00002020202020202020202020202020202CB
+:1035E00002020202020202020202020202020202BB
+:1035F00002020202020202020202020202020202AB
+:10360000020202020202020202020202020202029A
+:10361000020202020202020202020202020202028A
+:10362000020202020202020202020202020202027A
+:10363000020202020202020202020202020202026A
+:10364000020202020202020202020202020202025A
+:10365000020202020202020202020202020202024A
+:10366000020202020202020202020202020202023A
+:10367000020202020202020202020202020202022A
+:10368000020202020202020202020202020202021A
+:10369000020202020202020202020202020202020A
+:1036A00002020202020202020202020202020202FA
+:1036B00002020202020202020202020202020202EA
+:1036C00002020202020202020202020202020202DA
+:1036D00002020202020202020202020202020202CA
+:1036E00002020202020202020202020202020202BA
+:1036F00002020202020202020202020202020202AA
+:103700000202020202020202020202020202020299
+:103710000202020202020202020202020202020289
+:103720000202020202020202020202020202020279
+:103730000202020202020202020202020202020269
+:103740000202020202020202020202020202020259
+:103750000202020202020202020202020202020249
+:103760000202020202020202020202020202020239
+:103770000202020202020202020202020202020229
+:103780000202020202020202020202020202020219
+:103790000202020202020202020202020202020209
+:1037A00002020202020202020202020202020202F9
+:1037B00002020202020202020202020202020202E9
+:1037C00002020202020202020202020202020202D9
+:1037D00002020202020202020202020202020202C9
+:1037E00002020202020202020202020202020202B9
+:1037F00002020202020202020202020202020202A9
+:103800000202020202020202020202020202020298
+:103810000202020202020202020202020202020288
+:103820000202020202020202020202020202020278
+:103830000202020202020202020202020202020268
+:103840000202020202020202020202020202020258
+:103850000202020202020202020202020202020248
+:103860000202020202020202020202020202020238
+:103870000202020202020202020202020202020228
+:103880000202020202020202020202020202020218
+:103890000202020202020202020202020202020208
+:1038A00002020202020202020202020202020202F8
+:1038B00002020202020202020202020202020202E8
+:1038C00002020202020202020202020202020202D8
+:1038D00002020202020202020202020202020202C8
+:1038E00002020202020202020202020202020202B8
+:1038F00002020202020202020202020202020202A8
+:103900000202020202020202020202020202020297
+:103910000202020202020202020202020202020287
+:103920000202020202020202020202020202020277
+:103930000202020202020202020202020202020267
+:103940000202020202020202020202020202020257
+:103950000202020202020202020202020202020247
+:103960000202020202020202020202020202020237
+:103970000202020202020202020202020202020227
+:103980000202020202020202020202020202020217
+:103990000202020202020202020202020202020207
+:1039A00002020202020202020202020202020202F7
+:1039B00002020202020202020202020202020202E7
+:1039C00002020202020202020202020202020202D7
+:1039D00002020202020202020202020202020202C7
+:1039E00002020202020202020202020202020202B7
+:1039F00002020202020202020202020202020202A7
+:103A00000202020202020202020202020202020296
+:103A10000202020202020202020202020202020286
+:103A20000202020202020202020202020202020276
+:103A30000202020202020202020202020202020266
+:103A40000202020202020202020202020202020256
+:103A50000202020202020202020202020202020246
+:103A60000202020202020202020202020202020236
+:103A70000202020202020202020202020202020226
+:103A80000202020202020202020202020202020216
+:103A90000202020202020202020202020202020206
+:103AA00002020202020202020202020202020202F6
+:103AB00002020202020202020202020202020202E6
+:103AC00002020202020202020202020202020202D6
+:103AD00002020202020202020202020202020202C6
+:103AE00002020202020202020202020202020202B6
+:103AF00002020202020202020202020202020202A6
+:103B00000202020202020202020202020202020295
+:103B100000000000000000000000000000000000A5
+:103B20000000000000000000000000000000000095
+:103B30000000000000000000000000000000000085
+:103B40000000000000000000000000000000000075
+:103B50000000000000000000000000000000000065
+:103B60000000000000000000000000000000000055
+:103B70000000000000000000000000000000000045
+:103B80000000000000000000000000000000000035
+:103B90000000000000000000000000000000000025
+:103BA0000000000000000000000000000000000015
+:103BB0000000000000000000000000000000000005
+:103BC00000000000000000000000000000000000F5
+:103BD00000000000000000000000000000000000E5
+:103BE00000000000000000000000000000000000D5
+:103BF00000000000000000000000000000000000C5
+:103C000000000000000000000000000000000000B4
+:103C100000000000000000000000000000000000A4
+:103C20000000000000000000000000000000000094
+:103C30000000000000000000000000000000000084
+:103C40000000000000000000000000000000000074
+:103C50000000000000000000000000000000000064
+:103C60000000000000000000000000000000000054
+:103C70000000000000000000000000000000000044
+:103C80000000000000000000000000000000000034
+:103C90000000000000000000000000000000000024
+:103CA0000000000000000000000000000000000014
+:103CB0000000000000000000000000000000000004
+:103CC00000000000000000000000000000000000F4
+:103CD00000000000000000000000000000000000E4
+:103CE00000000000000000000000000000000000D4
+:103CF00000000000000000000000000000000000C4
+:103D000000000000000000000000000000000000B3
+:103D100000000000000000000000000000000000A3
+:103D20000000000000000000000000000000000093
+:103D30000000000000000000000000000000000083
+:103D40000000000000000000000000000000000073
+:103D50000000000000000000000000000000000063
+:103D60000000000000000000000000000000000053
+:103D70000000000000000000000000000000000043
+:103D80000000000000000000000000000000000033
+:103D90000000000000000000000000000000000023
+:103DA0000000000000000000000000000000000013
+:103DB0000000000000000000000000000000000003
+:103DC00000000000000000000000000000000000F3
+:103DD00000000000000000000000000000000000E3
+:103DE00000000000000000000000000000000000D3
+:103DF00000000000000000000000000000000000C3
+:103E000000000000000000000000000000000000B2
+:103E100000000000000000000000000000000000A2
+:103E20000000000000000000000000000000000092
+:103E30000000000000000000000000000000000082
+:103E40000000000000000000000000000000000072
+:103E50000000000000000000000000000000000062
+:103E60000000000000000000000000000000000052
+:103E70000000000000000000000000000000000042
+:103E80000000000000000000000000000000000032
+:103E90000000000000000000000000000000000022
+:103EA0000000000000000000000000000000000012
+:103EB0000000000000000000000000000000000002
+:103EC00000000000000000000000000000000000F2
+:103ED00000000000000000000000000000000000E2
+:103EE00000000000000000000000000000000000D2
+:103EF00000000000000000000000000000000000C2
+:103F000000000000000000000000000000000000B1
+:103F100000000000000000000000000000000000A1
+:103F20000000000000000000000000000000000091
+:103F30000000000000000000000000000000000081
+:103F40000000000000000000000000000000000071
+:103F50000000000000000000000000000000000061
+:103F60000000000000000000000000000000000051
+:103F70000000000000000000000000000000000041
+:103F80000000000000000000000000000000000031
+:103F90000000000000000000000000000000000021
+:103FA0000000000000000000000000000000000011
+:103FB0000000000000000000000000000000000001
+:103FC00000000000000000000000000000000000F1
+:103FD00000000000000000000000000000000000E1
+:103FE00000000000000000000000000000000000D1
+:103FF00000000000000000000000000000000000C1
+:1040000000000000000000000000000000000000B0
+:1040100000000000000000000000000000000000A0
+:104020000000000000000000000000000000000090
+:104030000000000000000000000000000000000080
+:104040000000000000000000000000000000000070
+:104050000000000000000000000000000000000060
+:104060000000000000000000000000000000000050
+:104070000000000000000000000000000000000040
+:104080000000000000000000000000000000000030
+:104090000000000000000000000000000000000020
+:1040A0000000000000000000000000000000000010
+:1040B0000000000000000000000000000000000000
+:1040C00000000000000000000000000000000000F0
+:1040D00000000000000000000000000000000000E0
+:1040E00000000000000000000000000000000000D0
+:1040F00000000000000000000000000000000000C0
+:1041000000000000000000000000000000000000AF
+:10411000000000000000000000000000000000009F
+:10412000000000000000000000000000000000008F
+:10413000000000000000000000000000000000007F
+:10414000000000000000000000000000000000006F
+:10415000000000000000000000000000000000005F
+:10416000000000000000000000000000000000004F
+:10417000000000000000000000000000000000003F
+:10418000000000000000000000000000000000002F
+:10419000000000000000000000000000000000001F
+:1041A000000000000000000000000000000000000F
+:1041B00000000000000000000000000000000000FF
+:1041C00000000000000000000000000000000000EF
+:1041D00000000000000000000000000000000000DF
+:1041E00000000000000000000000000000000000CF
+:1041F00000000000000000000000000000000000BF
+:1042000000000000000000000000000000000000AE
+:10421000000000000000000000000000000000009E
+:10422000000000000000000000000000000000008E
+:10423000000000000000000000000000000000007E
+:10424000000000000000000000000000000000006E
+:10425000000000000000000000000000000000005E
+:10426000000000000000000000000000000000004E
+:10427000000000000000000000000000000000003E
+:10428000000000000000000000000000000000002E
+:10429000000000000000000000000000000000001E
+:1042A000000000000000000000000000000000000E
+:1042B00000000000000000000000000000000000FE
+:1042C00000000000000000000000000000000000EE
+:1042D00000000000000000000000000000000000DE
+:1042E00000000000000000000000000000000000CE
+:1042F00000000000000000000000000000000000BE
+:1043000000000000000000000000000000000000AD
+:10431000000000000000000000000000000000009D
+:10432000000000000000000000000000000000008D
+:10433000000000000000000000000000000000007D
+:10434000000000000000000000000000000000006D
+:10435000000000000000000000000000000000005D
+:10436000000000000000000000000000000000004D
+:10437000000000000000000000000000000000003D
+:10438000000000000000000000000000000000002D
+:10439000000000000000000000000000000000001D
+:1043A000000000000000000000000000000000000D
+:1043B00000000000000000000000000000000000FD
+:1043C00000000000000000000000000000000000ED
+:1043D00000000000000000000000000000000000DD
+:1043E00000000000000000000000000000000000CD
+:1043F00000000000000000000000000000000000BD
+:1044000000000000000000000000000000000000AC
+:10441000010101010101010101010101010101018C
+:10442000010101010101010101010101010101017C
+:10443000010101010101010101010101010101016C
+:10444000010101010101010101010101010101015C
+:10445000010101010101010101010101010101014C
+:10446000010101010101010101010101010101013C
+:10447000010101010101010101010101010101012C
+:10448000010101010101010101010101010101011C
+:10449000010101010101010101010101010101010C
+:1044A00001010101010101010101010101010101FC
+:1044B00001010101010101010101010101010101EC
+:1044C00001010101010101010101010101010101DC
+:1044D00001010101010101010101010101010101CC
+:1044E00001010101010101010101010101010101BC
+:1044F00001010101010101010101010101010101AC
+:10450000010101010101010101010101010101019B
+:10451000010101010101010101010101010101018B
+:10452000010101010101010101010101010101017B
+:10453000010101010101010101010101010101016B
+:10454000010101010101010101010101010101015B
+:10455000010101010101010101010101010101014B
+:10456000010101010101010101010101010101013B
+:10457000010101010101010101010101010101012B
+:10458000010101010101010101010101010101011B
+:10459000010101010101010101010101010101010B
+:1045A00001010101010101010101010101010101FB
+:1045B00001010101010101010101010101010101EB
+:1045C00001010101010101010101010101010101DB
+:1045D00001010101010101010101010101010101CB
+:1045E00001010101010101010101010101010101BB
+:1045F00001010101010101010101010101010101AB
+:10460000010101010101010101010101010101019A
+:10461000010101010101010101010101010101018A
+:10462000010101010101010101010101010101017A
+:10463000010101010101010101010101010101016A
+:10464000010101010101010101010101010101015A
+:10465000010101010101010101010101010101014A
+:10466000010101010101010101010101010101013A
+:10467000010101010101010101010101010101012A
+:10468000010101010101010101010101010101011A
+:10469000010101010101010101010101010101010A
+:1046A00001010101010101010101010101010101FA
+:1046B00001010101010101010101010101010101EA
+:1046C00001010101010101010101010101010101DA
+:1046D00001010101010101010101010101010101CA
+:1046E00001010101010101010101010101010101BA
+:1046F00001010101010101010101010101010101AA
+:104700000101010101010101010101010101010199
+:104710000101010101010101010101010101010189
+:104720000101010101010101010101010101010179
+:104730000101010101010101010101010101010169
+:104740000101010101010101010101010101010159
+:104750000101010101010101010101010101010149
+:104760000101010101010101010101010101010139
+:104770000101010101010101010101010101010129
+:104780000101010101010101010101010101010119
+:104790000101010101010101010101010101010109
+:1047A00001010101010101010101010101010101F9
+:1047B00001010101010101010101010101010101E9
+:1047C00001010101010101010101010101010101D9
+:1047D00001010101010101010101010101010101C9
+:1047E00001010101010101010101010101010101B9
+:1047F00001010101010101010101010101010101A9
+:104800000101010101010101010101010101010198
+:104810000101010101010101010101010101010188
+:104820000101010101010101010101010101010178
+:104830000101010101010101010101010101010168
+:104840000101010101010101010101010101010158
+:104850000101010101010101010101010101010148
+:104860000101010101010101010101010101010138
+:104870000101010101010101010101010101010128
+:104880000101010101010101010101010101010118
+:104890000101010101010101010101010101010108
+:1048A00001010101010101010101010101010101F8
+:1048B00001010101010101010101010101010101E8
+:1048C00001010101010101010101010101010101D8
+:1048D00001010101010101010101010101010101C8
+:1048E00001010101010101010101010101010101B8
+:1048F00001010101010101010101010101010101A8
+:104900000101010101010101010101010101010197
+:104910000101010101010101010101010101010187
+:104920000101010101010101010101010101010177
+:104930000101010101010101010101010101010167
+:104940000101010101010101010101010101010157
+:104950000101010101010101010101010101010147
+:104960000101010101010101010101010101010137
+:104970000101010101010101010101010101010127
+:104980000101010101010101010101010101010117
+:104990000101010101010101010101010101010107
+:1049A00001010101010101010101010101010101F7
+:1049B00001010101010101010101010101010101E7
+:1049C00001010101010101010101010101010101D7
+:1049D00001010101010101010101010101010101C7
+:1049E00001010101010101010101010101010101B7
+:1049F00001010101010101010101010101010101A7
+:104A00000101010101010101010101010101010196
+:104A10000101010101010101010101010101010186
+:104A20000101010101010101010101010101010176
+:104A30000101010101010101010101010101010166
+:104A40000101010101010101010101010101010156
+:104A50000101010101010101010101010101010146
+:104A60000101010101010101010101010101010136
+:104A70000101010101010101010101010101010126
+:104A80000101010101010101010101010101010116
+:104A90000101010101010101010101010101010106
+:104AA00001010101010101010101010101010101F6
+:104AB00001010101010101010101010101010101E6
+:104AC00001010101010101010101010101010101D6
+:104AD00001010101010101010101010101010101C6
+:104AE00001010101010101010101010101010101B6
+:104AF00001010101010101010101010101010101A6
+:104B00000101010101010101010101010101010195
+:104B10000000000000000000000000000000000095
+:104B20000000000000000000000000000000000085
+:104B30000000000000000000000000000000000075
+:104B40000000000000000000000000000000000065
+:104B50000000000000000000000000000000000055
+:104B60000000000000000000000000000000000045
+:104B70000000000000000000000000000000000035
+:104B80000000000000000000000000000000000025
+:104B90000000000000000000000000000000000015
+:104BA0000000000000000000000000000000000005
+:104BB00000000000000000000000000000000000F5
+:104BC00000000000000000000000000000000000E5
+:104BD00000000000000000000000000000000000D5
+:104BE00000000000000000000000000000000000C5
+:104BF00000000000000000000000000000000000B5
+:104C000000000000000000000000000000000000A4
+:104C10000000000000000000000000000000000094
+:104C20000000000000000000000000000000000084
+:104C30000000000000000000000000000000000074
+:104C40000000000000000000000000000000000064
+:104C50000000000000000000000000000000000054
+:104C60000000000000000000000000000000000044
+:104C70000000000000000000000000000000000034
+:104C80000000000000000000000000000000000024
+:104C90000000000000000000000000000000000014
+:104CA0000000000000000000000000000000000004
+:104CB00000000000000000000000000000000000F4
+:104CC00000000000000000000000000000000000E4
+:104CD00000000000000000000000000000000000D4
+:104CE00000000000000000000000000000000000C4
+:104CF00000000000000000000000000000000000B4
+:104D000000000000000000000000000000000000A3
+:104D10000000000000000000000000000000000093
+:104D20000000000000000000000000000000000083
+:104D30000000000000000000000000000000000073
+:104D40000000000000000000000000000000000063
+:104D50000000000000000000000000000000000053
+:104D60000000000000000000000000000000000043
+:104D70000000000000000000000000000000000033
+:104D80000000000000000000000000000000000023
+:104D90000000000000000000000000000000000013
+:104DA0000000000000000000000000000000000003
+:104DB00000000000000000000000000000000000F3
+:104DC00000000000000000000000000000000000E3
+:104DD00000000000000000000000000000000000D3
+:104DE00000000000000000000000000000000000C3
+:104DF00000000000000000000000000000000000B3
+:104E000000000000000000000000000000000000A2
+:104E10000000000000000000000000000000000092
+:104E20000000000000000000000000000000000082
+:104E30000000000000000000000000000000000072
+:104E40000000000000000000000000000000000062
+:104E50000000000000000000000000000000000052
+:104E60000000000000000000000000000000000042
+:104E70000000000000000000000000000000000032
+:104E80000000000000000000000000000000000022
+:104E90000000000000000000000000000000000012
+:104EA0000000000000000000000000000000000002
+:104EB00000000000000000000000000000000000F2
+:104EC00000000000000000000000000000000000E2
+:104ED00000000000000000000000000000000000D2
+:104EE00000000000000000000000000000000000C2
+:104EF00000000000000000000000000000000000B2
+:104F000000000000000000000000000000000000A1
+:104F10000000000000000000000000000000000091
+:104F20000000000000000000000000000000000081
+:104F30000000000000000000000000000000000071
+:104F40000000000000000000000000000000000061
+:104F50000000000000000000000000000000000051
+:104F60000000000000000000000000000000000041
+:104F70000000000000000000000000000000000031
+:104F80000000000000000000000000000000000021
+:104F90000000000000000000000000000000000011
+:104FA0000000000000000000000000000000000001
+:104FB00000000000000000000000000000000000F1
+:104FC00000000000000000000000000000000000E1
+:104FD00000000000000000000000000000000000D1
+:104FE00000000000000000000000000000000000C1
+:104FF00000000000000000000000000000000000B1
+:1050000000000000000000000000000000000000A0
+:105010000000000000000000000000000000000090
+:105020000000000000000000000000000000000080
+:105030000000000000000000000000000000000070
+:105040000000000000000000000000000000000060
+:105050000000000000000000000000000000000050
+:105060000000000000000000000000000000000040
+:105070000000000000000000000000000000000030
+:105080000000000000000000000000000000000020
+:105090000000000000000000000000000000000010
+:1050A0000000000000000000000000000000000000
+:1050B00000000000000000000000000000000000F0
+:1050C00000000000000000000000000000000000E0
+:1050D00000000000000000000000000000000000D0
+:1050E00000000000000000000000000000000000C0
+:1050F00000000000000000000000000000000000B0
+:10510000000000000000000000000000000000009F
+:10511000000000000000000000000000000000008F
+:10512000000000000000000000000000000000007F
+:10513000000000000000000000000000000000006F
+:10514000000000000000000000000000000000005F
+:10515000000000000000000000000000000000004F
+:10516000000000000000000000000000000000003F
+:10517000000000000000000000000000000000002F
+:10518000000000000000000000000000000000001F
+:10519000000000000000000000000000000000000F
+:1051A00000000000000000000000000000000000FF
+:1051B00000000000000000000000000000000000EF
+:1051C00000000000000000000000000000000000DF
+:1051D00000000000000000000000000000000000CF
+:1051E00000000000000000000000000000000000BF
+:1051F00000000000000000000000000000000000AF
+:10520000000000000000000000000000000000009E
+:10521000000000000000000000000000000000008E
+:10522000000000000000000000000000000000007E
+:10523000000000000000000000000000000000006E
+:10524000000000000000000000000000000000005E
+:10525000000000000000000000000000000000004E
+:10526000000000000000000000000000000000003E
+:10527000000000000000000000000000000000002E
+:10528000000000000000000000000000000000001E
+:10529000000000000000000000000000000000000E
+:1052A00000000000000000000000000000000000FE
+:1052B00000000000000000000000000000000000EE
+:1052C00000000000000000000000000000000000DE
+:1052D00000000000000000000000000000000000CE
+:1052E00000000000000000000000000000000000BE
+:1052F00000000000000000000000000000000000AE
+:10530000000000000000000000000000000000009D
+:10531000000000000000000000000000000000008D
+:10532000000000000000000000000000000000007D
+:10533000000000000000000000000000000000006D
+:10534000000000000000000000000000000000005D
+:10535000000000000000000000000000000000004D
+:10536000000000000000000000000000000000003D
+:10537000000000000000000000000000000000002D
+:10538000000000000000000000000000000000001D
+:10539000000000000000000000000000000000000D
+:1053A00000000000000000000000000000000000FD
+:1053B00000000000000000000000000000000000ED
+:1053C00000000000000000000000000000000000DD
+:1053D00000000000000000000000000000000000CD
+:1053E00000000000000000000000000000000000BD
+:1053F00000000000000000000000000000000000AD
+:10540000000000000000000000000000000000009C
+:10541000000000000000000000000000000000008C
+:10542000000000000000000000000000000000007C
+:10543000000000000000000000000000000000006C
+:10544000000000000000000000000000000000005C
+:10545000000000000000000000000000000000004C
+:10546000000000000000000000000000000000003C
+:10547000000000000000000000000000000000002C
+:10548000000000000000000000000000000000001C
+:10549000000000000000000000000000000000000C
+:1054A00000000000000000000000000000000000FC
+:1054B00000000000000000000000000000000000EC
+:1054C00000000000000000000000000000000000DC
+:1054D00000000000000000000000000000000000CC
+:1054E00000000000000000000000000000000000BC
+:1054F00000000000000000000000000000000000AC
+:10550000000000000000000000000000000000009B
+:10551000000000000000000000000000000000008B
+:10552000000000000000000000000000000000007B
+:10553000000000000000000000000000000000006B
+:10554000000000000000000000000000000000005B
+:10555000000000000000000000000000000000004B
+:10556000000000000000000000000000000000003B
+:10557000000000000000000000000000000000002B
+:10558000000000000000000000000000000000001B
+:10559000000000000000000000000000000000000B
+:1055A00000000000000000000000000000000000FB
+:1055B00000000000000000000000000000000000EB
+:1055C00000000000000000000000000000000000DB
+:1055D00000000000000000000000000000000000CB
+:1055E00000000000000000000000000000000000BB
+:1055F00000000000000000000000000000000000AB
+:10560000000000000000000000000000000000009A
+:10561000000000000000000000000000000000008A
+:10562000000000000000000000000000000000007A
+:10563000000000000000000000000000000000006A
+:10564000000000000000000000000000000000005A
+:10565000000000000000000000000000000000004A
+:10566000000000000000000000000000000000003A
+:10567000000000000000000000000000000000002A
+:10568000000000000000000000000000000000001A
+:10569000000000000000000000000000000000000A
+:1056A00000000000000000000000000000000000FA
+:1056B00000000000000000000000000000000000EA
+:1056C00000000000000000000000000000000000DA
+:1056D00000000000000000000000000000000000CA
+:1056E00000000000000000000000000000000000BA
+:1056F00000000000000000000000000000000000AA
+:105700000000000000000000000000000000000099
+:105710000000000000000000000000000000000089
+:105720000000000000000000000000000000000079
+:105730000000000000000000000000000000000069
+:105740000000000000000000000000000000000059
+:105750000000000000000000000000000000000049
+:105760000000000000000000000000000000000039
+:105770000000000000000000000000000000000029
+:105780000000000000000000000000000000000019
+:105790000000000000000000000000000000000009
+:1057A00000000000000000000000000000000000F9
+:1057B00000000000000000000000000000000000E9
+:1057C00000000000000000000000000000000000D9
+:1057D00000000000000000000000000000000000C9
+:1057E00000000000000000000000000000000000B9
+:1057F00000000000000000000000000000000000A9
+:105800000000000000000000000000000000000098
+:105810000000000000000000000000000000000088
+:105820000000000000000000000000000000000078
+:105830000000000000000000000000000000000068
+:105840000000000000000000000000000000000058
+:105850000000000000000000000000000000000048
+:105860000000000000000000000000000000000038
+:105870000000000000000000000000000000000028
+:105880000000000000000000000000000000000018
+:105890000000000000000000000000000000000008
+:1058A00000000000000000000000000000000000F8
+:1058B00000000000000000000000000000000000E8
+:1058C00000000000000000000000000000000000D8
+:1058D00000000000000000000000000000000000C8
+:1058E00000000000000000000000000000000000B8
+:1058F00000000000000000000000000000000000A8
+:105900000000000000000000000000000000000097
+:105910000101010101010101010101010101010177
+:105920000101010101010101010101010101010167
+:105930000101010101010101010101010101010157
+:105940000101010101010101010101010101010147
+:105950000101010101010101010101010101010137
+:105960000101010101010101010101010101010127
+:105970000101010101010101010101010101010117
+:105980000101010101010101010101010101010107
+:1059900001010101010101010101010101010101F7
+:1059A00001010101010101010101010101010101E7
+:1059B00001010101010101010101010101010101D7
+:1059C00001010101010101010101010101010101C7
+:1059D00001010101010101010101010101010101B7
+:1059E00001010101010101010101010101010101A7
+:1059F0000101010101010101010101010101010197
+:105A00000101010101010101010101010101010186
+:105A10000101010101010101010101010101010176
+:105A20000101010101010101010101010101010166
+:105A30000101010101010101010101010101010156
+:105A40000101010101010101010101010101010146
+:105A50000101010101010101010101010101010136
+:105A60000101010101010101010101010101010126
+:105A70000101010101010101010101010101010116
+:105A80000101010101010101010101010101010106
+:105A900001010101010101010101010101010101F6
+:105AA00001010101010101010101010101010101E6
+:105AB00001010101010101010101010101010101D6
+:105AC00001010101010101010101010101010101C6
+:105AD00001010101010101010101010101010101B6
+:105AE00001010101010101010101010101010101A6
+:105AF0000101010101010101010101010101010196
+:105B00000101010101010101010101010101010185
+:105B10000101010101010101010101010101010175
+:105B20000101010101010101010101010101010165
+:105B30000101010101010101010101010101010155
+:105B40000101010101010101010101010101010145
+:105B50000101010101010101010101010101010135
+:105B60000101010101010101010101010101010125
+:105B70000101010101010101010101010101010115
+:105B80000101010101010101010101010101010105
+:105B900001010101010101010101010101010101F5
+:105BA00001010101010101010101010101010101E5
+:105BB00001010101010101010101010101010101D5
+:105BC00001010101010101010101010101010101C5
+:105BD00001010101010101010101010101010101B5
+:105BE00001010101010101010101010101010101A5
+:105BF0000101010101010101010101010101010195
+:105C00000101010101010101010101010101010184
+:105C10000101010101010101010101010101010174
+:105C20000101010101010101010101010101010164
+:105C30000101010101010101010101010101010154
+:105C40000101010101010101010101010101010144
+:105C50000101010101010101010101010101010134
+:105C60000101010101010101010101010101010124
+:105C70000101010101010101010101010101010114
+:105C80000101010101010101010101010101010104
+:105C900001010101010101010101010101010101F4
+:105CA00001010101010101010101010101010101E4
+:105CB00001010101010101010101010101010101D4
+:105CC00001010101010101010101010101010101C4
+:105CD00001010101010101010101010101010101B4
+:105CE00001010101010101010101010101010101A4
+:105CF0000101010101010101010101010101010194
+:105D00000101010101010101010101010101010183
+:105D10000101010101010101010101010101010173
+:105D20000101010101010101010101010101010163
+:105D30000101010101010101010101010101010153
+:105D40000101010101010101010101010101010143
+:105D50000101010101010101010101010101010133
+:105D60000101010101010101010101010101010123
+:105D70000101010101010101010101010101010113
+:105D80000101010101010101010101010101010103
+:105D900001010101010101010101010101010101F3
+:105DA00001010101010101010101010101010101E3
+:105DB00001010101010101010101010101010101D3
+:105DC00001010101010101010101010101010101C3
+:105DD00001010101010101010101010101010101B3
+:105DE00001010101010101010101010101010101A3
+:105DF0000101010101010101010101010101010193
+:105E00000101010101010101010101010101010182
+:105E10000101010101010101010101010101010172
+:105E20000101010101010101010101010101010162
+:105E30000101010101010101010101010101010152
+:105E40000101010101010101010101010101010142
+:105E50000101010101010101010101010101010132
+:105E60000101010101010101010101010101010122
+:105E70000101010101010101010101010101010112
+:105E80000101010101010101010101010101010102
+:105E900001010101010101010101010101010101F2
+:105EA00001010101010101010101010101010101E2
+:105EB00001010101010101010101010101010101D2
+:105EC00001010101010101010101010101010101C2
+:105ED00001010101010101010101010101010101B2
+:105EE00001010101010101010101010101010101A2
+:105EF0000101010101010101010101010101010192
+:105F00000101010101010101010101010101010181
+:105F10000101010101010101010101010101010171
+:105F20000101010101010101010101010101010161
+:105F30000101010101010101010101010101010151
+:105F40000101010101010101010101010101010141
+:105F50000101010101010101010101010101010131
+:105F60000101010101010101010101010101010121
+:105F70000101010101010101010101010101010111
+:105F80000101010101010101010101010101010101
+:105F900001010101010101010101010101010101F1
+:105FA00001010101010101010101010101010101E1
+:105FB00001010101010101010101010101010101D1
+:105FC00001010101010101010101010101010101C1
+:105FD00001010101010101010101010101010101B1
+:105FE00001010101010101010101010101010101A1
+:105FF0000101010101010101010101010101010191
+:106000000101010101010101010101010101010180
+:106010000101010101010101010101010101010170
+:106020000101010101010101010101010101010160
+:106030000101010101010101010101010101010150
+:106040000101010101010101010101010101010140
+:106050000101010101010101010101010101010130
+:106060000101010101010101010101010101010120
+:106070000101010101010101010101010101010110
+:106080000101010101010101010101010101010100
+:1060900001010101010101010101010101010101F0
+:1060A00001010101010101010101010101010101E0
+:1060B00001010101010101010101010101010101D0
+:1060C00001010101010101010101010101010101C0
+:1060D00001010101010101010101010101010101B0
+:1060E00001010101010101010101010101010101A0
+:1060F0000101010101010101010101010101010190
+:10610000010101010101010101010101010101017F
+:10611000000000000000000000000000000000007F
+:10612000000000000000000000000000000000006F
+:10613000000000000000000000000000000000005F
+:10614000000000000000000000000000000000004F
+:10615000000000000000000000000000000000003F
+:10616000000000000000000000000000000000002F
+:10617000000000000000000000000000000000001F
+:10618000000000000000000000000000000000000F
+:1061900000000000000000000000000000000000FF
+:1061A00000000000000000000000000000000000EF
+:1061B00000000000000000000000000000000000DF
+:1061C00000000000000000000000000000000000CF
+:1061D00000000000000000000000000000000000BF
+:1061E00000000000000000000000000000000000AF
+:1061F000000000000000000000000000000000009F
+:10620000000000000000000000000000000000008E
+:10621000000000000000000000000000000000007E
+:10622000000000000000000000000000000000006E
+:10623000000000000000000000000000000000005E
+:10624000000000000000000000000000000000004E
+:10625000000000000000000000000000000000003E
+:10626000000000000000000000000000000000002E
+:10627000000000000000000000000000000000001E
+:10628000000000000000000000000000000000000E
+:1062900000000000000000000000000000000000FE
+:1062A00000000000000000000000000000000000EE
+:1062B00000000000000000000000000000000000DE
+:1062C00000000000000000000000000000000000CE
+:1062D00000000000000000000000000000000000BE
+:1062E00000000000000000000000000000000000AE
+:1062F000000000000000000000000000000000009E
+:10630000000000000000000000000000000000008D
+:10631000000000000000000000000000000000007D
+:10632000000000000000000000000000000000006D
+:10633000000000000000000000000000000000005D
+:10634000000000000000000000000000000000004D
+:10635000000000000000000000000000000000003D
+:10636000000000000000000000000000000000002D
+:10637000000000000000000000000000000000001D
+:10638000000000000000000000000000000000000D
+:1063900000000000000000000000000000000000FD
+:1063A00000000000000000000000000000000000ED
+:1063B00000000000000000000000000000000000DD
+:1063C00000000000000000000000000000000000CD
+:1063D00000000000000000000000000000000000BD
+:1063E00000000000000000000000000000000000AD
+:1063F000000000000000000000000000000000009D
+:10640000000000000000000000000000000000008C
+:10641000000000000000000000000000000000007C
+:10642000000000000000000000000000000000006C
+:10643000000000000000000000000000000000005C
+:10644000000000000000000000000000000000004C
+:10645000000000000000000000000000000000003C
+:10646000000000000000000000000000000000002C
+:10647000000000000000000000000000000000001C
+:10648000000000000000000000000000000000000C
+:1064900000000000000000000000000000000000FC
+:1064A00000000000000000000000000000000000EC
+:1064B00000000000000000000000000000000000DC
+:1064C00000000000000000000000000000000000CC
+:1064D00000000000000000000000000000000000BC
+:1064E00000000000000000000000000000000000AC
+:1064F000000000000000000000000000000000009C
+:10650000000000000000000000000000000000008B
+:10651000010101010101010101010101010101016B
+:10652000010101010101010101010101010101015B
+:10653000010101010101010101010101010101014B
+:10654000010101010101010101010101010101013B
+:10655000010101010101010101010101010101012B
+:10656000010101010101010101010101010101011B
+:10657000010101010101010101010101010101010B
+:1065800001010101010101010101010101010101FB
+:1065900001010101010101010101010101010101EB
+:1065A00001010101010101010101010101010101DB
+:1065B00001010101010101010101010101010101CB
+:1065C00001010101010101010101010101010101BB
+:1065D00001010101010101010101010101010101AB
+:1065E000010101010101010101010101010101019B
+:1065F000010101010101010101010101010101018B
+:10660000010101010101010101010101010101017A
+:10661000010101010101010101010101010101016A
+:10662000010101010101010101010101010101015A
+:10663000010101010101010101010101010101014A
+:10664000010101010101010101010101010101013A
+:10665000010101010101010101010101010101012A
+:10666000010101010101010101010101010101011A
+:10667000010101010101010101010101010101010A
+:1066800001010101010101010101010101010101FA
+:1066900001010101010101010101010101010101EA
+:1066A00001010101010101010101010101010101DA
+:1066B00001010101010101010101010101010101CA
+:1066C00001010101010101010101010101010101BA
+:1066D00001010101010101010101010101010101AA
+:1066E000010101010101010101010101010101019A
+:1066F000010101010101010101010101010101018A
+:106700000101010101010101010101010101010179
+:106710000202020202020202020202020202020259
+:106720000202020202020202020202020202020249
+:106730000202020202020202020202020202020239
+:106740000202020202020202020202020202020229
+:106750000202020202020202020202020202020219
+:106760000202020202020202020202020202020209
+:1067700002020202020202020202020202020202F9
+:1067800002020202020202020202020202020202E9
+:1067900002020202020202020202020202020202D9
+:1067A00002020202020202020202020202020202C9
+:1067B00002020202020202020202020202020202B9
+:1067C00002020202020202020202020202020202A9
+:1067D0000202020202020202020202020202020299
+:1067E0000202020202020202020202020202020289
+:1067F0000202020202020202020202020202020279
+:106800000202020202020202020202020202020268
+:106810000202020202020202020202020202020258
+:106820000202020202020202020202020202020248
+:106830000202020202020202020202020202020238
+:106840000202020202020202020202020202020228
+:106850000202020202020202020202020202020218
+:106860000202020202020202020202020202020208
+:1068700002020202020202020202020202020202F8
+:1068800002020202020202020202020202020202E8
+:1068900002020202020202020202020202020202D8
+:1068A00002020202020202020202020202020202C8
+:1068B00002020202020202020202020202020202B8
+:1068C00002020202020202020202020202020202A8
+:1068D0000202020202020202020202020202020298
+:1068E0000202020202020202020202020202020288
+:1068F0000202020202020202020202020202020278
+:106900000202020202020202020202020202020267
+:106910000202020202020202020202020202020257
+:106920000202020202020202020202020202020247
+:106930000202020202020202020202020202020237
+:106940000202020202020202020202020202020227
+:106950000202020202020202020202020202020217
+:106960000202020202020202020202020202020207
+:1069700002020202020202020202020202020202F7
+:1069800002020202020202020202020202020202E7
+:1069900002020202020202020202020202020202D7
+:1069A00002020202020202020202020202020202C7
+:1069B00002020202020202020202020202020202B7
+:1069C00002020202020202020202020202020202A7
+:1069D0000202020202020202020202020202020297
+:1069E0000202020202020202020202020202020287
+:1069F0000202020202020202020202020202020277
+:106A00000202020202020202020202020202020266
+:106A10000202020202020202020202020202020256
+:106A20000202020202020202020202020202020246
+:106A30000202020202020202020202020202020236
+:106A40000202020202020202020202020202020226
+:106A50000202020202020202020202020202020216
+:106A60000202020202020202020202020202020206
+:106A700002020202020202020202020202020202F6
+:106A800002020202020202020202020202020202E6
+:106A900002020202020202020202020202020202D6
+:106AA00002020202020202020202020202020202C6
+:106AB00002020202020202020202020202020202B6
+:106AC00002020202020202020202020202020202A6
+:106AD0000202020202020202020202020202020296
+:106AE0000202020202020202020202020202020286
+:106AF0000202020202020202020202020202020276
+:106B00000202020202020202020202020202020265
+:106B10000202020202020202020202020202020255
+:106B20000202020202020202020202020202020245
+:106B30000202020202020202020202020202020235
+:106B40000202020202020202020202020202020225
+:106B50000202020202020202020202020202020215
+:106B60000202020202020202020202020202020205
+:106B700002020202020202020202020202020202F5
+:106B800002020202020202020202020202020202E5
+:106B900002020202020202020202020202020202D5
+:106BA00002020202020202020202020202020202C5
+:106BB00002020202020202020202020202020202B5
+:106BC00002020202020202020202020202020202A5
+:106BD0000202020202020202020202020202020295
+:106BE0000202020202020202020202020202020285
+:106BF0000202020202020202020202020202020275
+:106C00000202020202020202020202020202020264
+:106C10000202020202020202020202020202020254
+:106C20000202020202020202020202020202020244
+:106C30000202020202020202020202020202020234
+:106C40000202020202020202020202020202020224
+:106C50000202020202020202020202020202020214
+:106C60000202020202020202020202020202020204
+:106C700002020202020202020202020202020202F4
+:106C800002020202020202020202020202020202E4
+:106C900002020202020202020202020202020202D4
+:106CA00002020202020202020202020202020202C4
+:106CB00002020202020202020202020202020202B4
+:106CC00002020202020202020202020202020202A4
+:106CD0000202020202020202020202020202020294
+:106CE0000202020202020202020202020202020284
+:106CF0000202020202020202020202020202020274
+:106D00000202020202020202020202020202020263
+:106D10000202020202020202020202020202020253
+:106D20000202020202020202020202020202020243
+:106D30000202020202020202020202020202020233
+:106D40000202020202020202020202020202020223
+:106D50000202020202020202020202020202020213
+:106D60000202020202020202020202020202020203
+:106D700002020202020202020202020202020202F3
+:106D800002020202020202020202020202020202E3
+:106D900002020202020202020202020202020202D3
+:106DA00002020202020202020202020202020202C3
+:106DB00002020202020202020202020202020202B3
+:106DC00002020202020202020202020202020202A3
+:106DD0000202020202020202020202020202020293
+:106DE0000202020202020202020202020202020283
+:106DF0000202020202020202020202020202020273
+:106E00000202020202020202020202020202020262
+:106E10000202020202020202020202020202020252
+:106E20000202020202020202020202020202020242
+:106E30000202020202020202020202020202020232
+:106E40000202020202020202020202020202020222
+:106E50000202020202020202020202020202020212
+:106E60000202020202020202020202020202020202
+:106E700002020202020202020202020202020202F2
+:106E800002020202020202020202020202020202E2
+:106E900002020202020202020202020202020202D2
+:106EA00002020202020202020202020202020202C2
+:106EB00002020202020202020202020202020202B2
+:106EC00002020202020202020202020202020202A2
+:106ED0000202020202020202020202020202020292
+:106EE0000202020202020202020202020202020282
+:106EF0000202020202020202020202020202020272
+:106F00000202020202020202020202020202020261
+:106F10000202020202020202020202020202020251
+:106F20000202020202020202020202020202020241
+:106F30000202020202020202020202020202020231
+:106F40000202020202020202020202020202020221
+:106F50000202020202020202020202020202020211
+:106F60000202020202020202020202020202020201
+:106F700002020202020202020202020202020202F1
+:106F800002020202020202020202020202020202E1
+:106F900002020202020202020202020202020202D1
+:106FA00002020202020202020202020202020202C1
+:106FB00002020202020202020202020202020202B1
+:106FC00002020202020202020202020202020202A1
+:106FD0000202020202020202020202020202020291
+:106FE0000202020202020202020202020202020281
+:106FF0000202020202020202020202020202020271
+:107000000202020202020202020202020202020260
+:107010000202020202020202020202020202020250
+:107020000202020202020202020202020202020240
+:107030000202020202020202020202020202020230
+:107040000202020202020202020202020202020220
+:107050000202020202020202020202020202020210
+:107060000202020202020202020202020202020200
+:1070700002020202020202020202020202020202F0
+:1070800002020202020202020202020202020202E0
+:1070900002020202020202020202020202020202D0
+:1070A00002020202020202020202020202020202C0
+:1070B00002020202020202020202020202020202B0
+:1070C00002020202020202020202020202020202A0
+:1070D0000202020202020202020202020202020290
+:1070E0000202020202020202020202020202020280
+:1070F0000202020202020202020202020202020270
+:10710000020202020202020202020202020202025F
+:10711000020202020202020202020202020202024F
+:10712000020202020202020202020202020202023F
+:10713000020202020202020202020202020202022F
+:10714000020202020202020202020202020202021F
+:10715000020202020202020202020202020202020F
+:1071600002020202020202020202020202020202FF
+:1071700002020202020202020202020202020202EF
+:1071800002020202020202020202020202020202DF
+:1071900002020202020202020202020202020202CF
+:1071A00002020202020202020202020202020202BF
+:1071B00002020202020202020202020202020202AF
+:1071C000020202020202020202020202020202029F
+:1071D000020202020202020202020202020202028F
+:1071E000020202020202020202020202020202027F
+:1071F000020202020202020202020202020202026F
+:10720000020202020202020202020202020202025E
+:10721000020202020202020202020202020202024E
+:10722000020202020202020202020202020202023E
+:10723000020202020202020202020202020202022E
+:10724000020202020202020202020202020202021E
+:10725000020202020202020202020202020202020E
+:1072600002020202020202020202020202020202FE
+:1072700002020202020202020202020202020202EE
+:1072800002020202020202020202020202020202DE
+:1072900002020202020202020202020202020202CE
+:1072A00002020202020202020202020202020202BE
+:1072B00002020202020202020202020202020202AE
+:1072C000020202020202020202020202020202029E
+:1072D000020202020202020202020202020202028E
+:1072E000020202020202020202020202020202027E
+:1072F000020202020202020202020202020202026E
+:10730000020202020202020202020202020202025D
+:10731000020202020202020202020202020202024D
+:10732000020202020202020202020202020202023D
+:10733000020202020202020202020202020202022D
+:10734000020202020202020202020202020202021D
+:10735000020202020202020202020202020202020D
+:1073600002020202020202020202020202020202FD
+:1073700002020202020202020202020202020202ED
+:1073800002020202020202020202020202020202DD
+:1073900002020202020202020202020202020202CD
+:1073A00002020202020202020202020202020202BD
+:1073B00002020202020202020202020202020202AD
+:1073C000020202020202020202020202020202029D
+:1073D000020202020202020202020202020202028D
+:1073E000020202020202020202020202020202027D
+:1073F000020202020202020202020202020202026D
+:10740000020202020202020202020202020202025C
+:10741000020202020202020202020202020202024C
+:10742000020202020202020202020202020202023C
+:10743000020202020202020202020202020202022C
+:10744000020202020202020202020202020202021C
+:10745000020202020202020202020202020202020C
+:1074600002020202020202020202020202020202FC
+:1074700002020202020202020202020202020202EC
+:1074800002020202020202020202020202020202DC
+:1074900002020202020202020202020202020202CC
+:1074A00002020202020202020202020202020202BC
+:1074B00002020202020202020202020202020202AC
+:1074C000020202020202020202020202020202029C
+:1074D000020202020202020202020202020202028C
+:1074E000020202020202020202020202020202027C
+:1074F000020202020202020202020202020202026C
+:10750000020202020202020202020202020202025B
+:10751000020202020202020202020202020202024B
+:10752000020202020202020202020202020202023B
+:10753000020202020202020202020202020202022B
+:10754000020202020202020202020202020202021B
+:10755000020202020202020202020202020202020B
+:1075600002020202020202020202020202020202FB
+:1075700002020202020202020202020202020202EB
+:1075800002020202020202020202020202020202DB
+:1075900002020202020202020202020202020202CB
+:1075A00002020202020202020202020202020202BB
+:1075B00002020202020202020202020202020202AB
+:1075C000020202020202020202020202020202029B
+:1075D000020202020202020202020202020202028B
+:1075E000020202020202020202020202020202027B
+:1075F000020202020202020202020202020202026B
+:10760000020202020202020202020202020202025A
+:10761000020202020202020202020202020202024A
+:10762000020202020202020202020202020202023A
+:10763000020202020202020202020202020202022A
+:10764000020202020202020202020202020202021A
+:10765000020202020202020202020202020202020A
+:1076600002020202020202020202020202020202FA
+:1076700002020202020202020202020202020202EA
+:1076800002020202020202020202020202020202DA
+:1076900002020202020202020202020202020202CA
+:1076A00002020202020202020202020202020202BA
+:1076B00002020202020202020202020202020202AA
+:1076C000020202020202020202020202020202029A
+:1076D000020202020202020202020202020202028A
+:1076E000020202020202020202020202020202027A
+:1076F000020202020202020202020202020202026A
+:107700000202020202020202020202020202020259
+:107710000202020202020202020202020202020249
+:107720000202020202020202020202020202020239
+:107730000202020202020202020202020202020229
+:107740000202020202020202020202020202020219
+:107750000202020202020202020202020202020209
+:1077600002020202020202020202020202020202F9
+:1077700002020202020202020202020202020202E9
+:1077800002020202020202020202020202020202D9
+:1077900002020202020202020202020202020202C9
+:1077A00002020202020202020202020202020202B9
+:1077B00002020202020202020202020202020202A9
+:1077C0000202020202020202020202020202020299
+:1077D0000202020202020202020202020202020289
+:1077E0000202020202020202020202020202020279
+:1077F0000202020202020202020202020202020269
+:107800000202020202020202020202020202020258
+:107810000000000000000000000000000000000068
+:107820000000000000000000000000000000000058
+:107830000000000000000000000000000000000048
+:107840000000000000000000000000000000000038
+:107850000000000000000000000000000000000028
+:107860000000000000000000000000000000000018
+:107870000000000000000000000000000000000008
+:1078800000000000000000000000000000000000F8
+:1078900000000000000000000000000000000000E8
+:1078A00000000000000000000000000000000000D8
+:1078B00000000000000000000000000000000000C8
+:1078C00000000000000000000000000000000000B8
+:1078D00000000000000000000000000000000000A8
+:1078E0000000000000000000000000000000000098
+:1078F0000000000000000000000000000000000088
+:107900000000000000000000000000000000000077
+:107910000000000000000000000000000000000067
+:107920000000000000000000000000000000000057
+:107930000000000000000000000000000000000047
+:107940000000000000000000000000000000000037
+:107950000000000000000000000000000000000027
+:107960000000000000000000000000000000000017
+:107970000000000000000000000000000000000007
+:1079800000000000000000000000000000000000F7
+:1079900000000000000000000000000000000000E7
+:1079A00000000000000000000000000000000000D7
+:1079B00000000000000000000000000000000000C7
+:1079C00000000000000000000000000000000000B7
+:1079D00000000000000000000000000000000000A7
+:1079E0000000000000000000000000000000000097
+:1079F0000000000000000000000000000000000087
+:107A00000000000000000000000000000000000076
+:107A10000000000000000000000000000000000066
+:107A20000000000000000000000000000000000056
+:107A30000000000000000000000000000000000046
+:107A40000000000000000000000000000000000036
+:107A50000000000000000000000000000000000026
+:107A60000000000000000000000000000000000016
+:107A70000000000000000000000000000000000006
+:107A800000000000000000000000000000000000F6
+:107A900000000000000000000000000000000000E6
+:107AA00000000000000000000000000000000000D6
+:107AB00000000000000000000000000000000000C6
+:107AC00000000000000000000000000000000000B6
+:107AD00000000000000000000000000000000000A6
+:107AE0000000000000000000000000000000000096
+:107AF0000000000000000000000000000000000086
+:107B00000000000000000000000000000000000075
+:107B10000000000000000000000000000000000065
+:107B20000000000000000000000000000000000055
+:107B30000000000000000000000000000000000045
+:107B40000000000000000000000000000000000035
+:107B50000000000000000000000000000000000025
+:107B60000000000000000000000000000000000015
+:107B70000000000000000000000000000000000005
+:107B800000000000000000000000000000000000F5
+:107B900000000000000000000000000000000000E5
+:107BA00000000000000000000000000000000000D5
+:107BB00000000000000000000000000000000000C5
+:107BC00000000000000000000000000000000000B5
+:107BD00000000000000000000000000000000000A5
+:107BE0000000000000000000000000000000000095
+:107BF0000000000000000000000000000000000085
+:107C00000000000000000000000000000000000074
+:107C10000000000000000000000000000000000064
+:107C20000000000000000000000000000000000054
+:107C30000000000000000000000000000000000044
+:107C40000000000000000000000000000000000034
+:107C50000000000000000000000000000000000024
+:107C60000000000000000000000000000000000014
+:107C70000000000000000000000000000000000004
+:107C800000000000000000000000000000000000F4
+:107C900000000000000000000000000000000000E4
+:107CA00000000000000000000000000000000000D4
+:107CB00000000000000000000000000000000000C4
+:107CC00000000000000000000000000000000000B4
+:107CD00000000000000000000000000000000000A4
+:107CE0000000000000000000000000000000000094
+:107CF0000000000000000000000000000000000084
+:107D00000000000000000000000000000000000073
+:107D10000000000000000000000000000000000063
+:107D20000000000000000000000000000000000053
+:107D30000000000000000000000000000000000043
+:107D40000000000000000000000000000000000033
+:107D50000000000000000000000000000000000023
+:107D60000000000000000000000000000000000013
+:107D70000000000000000000000000000000000003
+:107D800000000000000000000000000000000000F3
+:107D900000000000000000000000000000000000E3
+:107DA00000000000000000000000000000000000D3
+:107DB00000000000000000000000000000000000C3
+:107DC00000000000000000000000000000000000B3
+:107DD00000000000000000000000000000000000A3
+:107DE0000000000000000000000000000000000093
+:107DF0000000000000000000000000000000000083
+:107E00000000000000000000000000000000000072
+:107E10007D000000000000000101010101010101DD
+:107E20000101010101010101010101010101010142
+:107E30000101010101010101010101010101010132
+:107E40000101010101010101010101010101010122
+:107E50000101010101010101010101010101010112
+:107E60000101010101010101010101010101010102
+:107E700001010101010101010101010101010101F2
+:107E800001010101010101010101010101010101E2
+:107E900001010101010101010101010101010101D2
+:107EA00001010101010101010101010101010101C2
+:107EB00001010101010101010101010101010101B2
+:107EC00001010101010101010101010101010101A2
+:107ED0000101010101010101010101010101010192
+:107EE0000101010101010101010101010101010182
+:107EF0000101010101010101010101010101010172
+:107F00000101010101010101010101010101010161
+:107F10000101010101010101010101010101010151
+:107F20000101010101010101010101010101010141
+:107F30000101010101010101010101010101010131
+:107F40000101010101010101010101010101010121
+:107F50000101010101010101010101010101010111
+:107F60000101010101010101010101010101010101
+:107F700001010101010101010101010101010101F1
+:107F800001010101010101010101010101010101E1
+:107F900001010101010101010101010101010101D1
+:107FA00001010101010101010101010101010101C1
+:107FB00001010101010101010101010101010101B1
+:107FC00001010101010101010101010101010101A1
+:107FD0000101010101010101010101010101010191
+:107FE0000101010101010101010101010101010181
+:107FF0000101010101010101010101010101010171
+:108000000101010101010101010101010101010160
+:108010000101010101010101010101010101010150
+:108020000101010101010101010101010101010140
+:108030000101010101010101010101010101010130
+:108040000101010101010101010101010101010120
+:108050000101010101010101010101010101010110
+:108060000101010101010101010101010101010100
+:1080700001010101010101010101010101010101F0
+:1080800001010101010101010101010101010101E0
+:1080900001010101010101010101010101010101D0
+:1080A00001010101010101010101010101010101C0
+:1080B00001010101010101010101010101010101B0
+:1080C00001010101010101010101010101010101A0
+:1080D0000101010101010101010101010101010190
+:1080E0000101010101010101010101010101010180
+:1080F0000101010101010101010101010101010170
+:10810000010101010101010101010101010101015F
+:10811000010101010101010101010101010101014F
+:10812000010101010101010101010101010101013F
+:10813000010101010101010101010101010101012F
+:10814000010101010101010101010101010101011F
+:10815000010101010101010101010101010101010F
+:1081600001010101010101010101010101010101FF
+:1081700001010101010101010101010101010101EF
+:1081800001010101010101010101010101010101DF
+:1081900001010101010101010101010101010101CF
+:1081A00001010101010101010101010101010101BF
+:1081B00001010101010101010101010101010101AF
+:1081C000010101010101010101010101010101019F
+:1081D000010101010101010101010101010101018F
+:1081E000010101010101010101010101010101017F
+:1081F000010101010101010101010101010101016F
+:10820000010101010101010101010101010101015E
+:10821000010101010101010101010101010101014E
+:10822000010101010101010101010101010101013E
+:10823000010101010101010101010101010101012E
+:10824000010101010101010101010101010101011E
+:10825000010101010101010101010101010101010E
+:1082600001010101010101010101010101010101FE
+:1082700001010101010101010101010101010101EE
+:1082800001010101010101010101010101010101DE
+:1082900001010101010101010101010101010101CE
+:1082A00001010101010101010101010101010101BE
+:1082B00001010101010101010101010101010101AE
+:1082C000010101010101010101010101010101019E
+:1082D000010101010101010101010101010101018E
+:1082E000010101010101010101010101010101017E
+:1082F000010101010101010101010101010101016E
+:10830000010101010101010101010101010101015D
+:10831000010101010101010101010101010101014D
+:10832000010101010101010101010101010101013D
+:10833000010101010101010101010101010101012D
+:10834000010101010101010101010101010101011D
+:10835000010101010101010101010101010101010D
+:1083600001010101010101010101010101010101FD
+:1083700001010101010101010101010101010101ED
+:1083800001010101010101010101010101010101DD
+:1083900001010101010101010101010101010101CD
+:1083A00001010101010101010101010101010101BD
+:1083B00001010101010101010101010101010101AD
+:1083C000010101010101010101010101010101019D
+:1083D000010101010101010101010101010101018D
+:1083E000010101010101010101010101010101017D
+:1083F000010101010101010101010101010101016D
+:10840000010101010101010101010101010101015C
+:10841000010101010101010101010101010101014C
+:10842000010101010101010101010101010101013C
+:10843000010101010101010101010101010101012C
+:10844000010101010101010101010101010101011C
+:10845000010101010101010101010101010101010C
+:1084600001010101010101010101010101010101FC
+:1084700001010101010101010101010101010101EC
+:1084800001010101010101010101010101010101DC
+:1084900001010101010101010101010101010101CC
+:1084A00001010101010101010101010101010101BC
+:1084B00001010101010101010101010101010101AC
+:1084C000010101010101010101010101010101019C
+:1084D000010101010101010101010101010101018C
+:1084E000010101010101010101010101010101017C
+:1084F000010101010101010101010101010101016C
+:10850000010101010101010101010101010101015B
+:108510000101010101010101000000000000000053
+:10852000000000000000000000000000000000004B
+:10853000000000000000000000000000000000003B
+:10854000000000000000000000000000000000002B
+:10855000000000000000000000000000000000001B
+:10856000000000000000000000000000000000000B
+:1085700000000000000000000000000000000000FB
+:1085800000000000000000000000000000000000EB
+:1085900000000000000000000000000000000000DB
+:1085A00000000000000000000000000000000000CB
+:1085B00000000000000000000000000000000000BB
+:1085C00000000000000000000000000000000000AB
+:1085D000000000000000000000000000000000009B
+:1085E000000000000000000000000000000000008B
+:1085F000000000000000000000000000000000007B
+:10860000000000000000000000000000000000006A
+:10861000000000000000000000000000000000005A
+:10862000000000000000000000000000000000004A
+:10863000000000000000000000000000000000003A
+:10864000000000000000000000000000000000002A
+:10865000000000000000000000000000000000001A
+:10866000000000000000000000000000000000000A
+:1086700000000000000000000000000000000000FA
+:1086800000000000000000000000000000000000EA
+:1086900000000000000000000000000000000000DA
+:1086A00000000000000000000000000000000000CA
+:1086B00000000000000000000000000000000000BA
+:1086C00000000000000000000000000000000000AA
+:1086D000000000000000000000000000000000009A
+:1086E000000000000000000000000000000000008A
+:1086F000000000000000000000000000000000007A
+:108700000000000000000000000000000000000069
+:108710000000000000000000000000000000000059
+:108720000000000000000000000000000000000049
+:108730000000000000000000000000000000000039
+:108740000000000000000000000000000000000029
+:108750000000000000000000000000000000000019
+:108760000000000000000000000000000000000009
+:1087700000000000000000000000000000000000F9
+:1087800000000000000000000000000000000000E9
+:1087900000000000000000000000000000000000D9
+:1087A00000000000000000000000000000000000C9
+:1087B00000000000000000000000000000000000B9
+:1087C00000000000000000000000000000000000A9
+:1087D0000000000000000000000000000000000099
+:1087E0000000000000000000000000000000000089
+:1087F0000000000000000000000000000000000079
+:108800000000000000000000000000000000000068
+:108810000000000000000000000000000000000058
+:108820000000000000000000000000000000000048
+:108830000000000000000000000000000000000038
+:108840000000000000000000000000000000000028
+:108850000000000000000000000000000000000018
+:108860000000000000000000000000000000000008
+:1088700000000000000000000000000000000000F8
+:1088800000000000000000000000000000000000E8
+:1088900000000000000000000000000000000000D8
+:1088A00000000000000000000000000000000000C8
+:1088B00000000000000000000000000000000000B8
+:1088C00000000000000000000000000000000000A8
+:1088D0000000000000000000000000000000000098
+:1088E0000000000000000000000000000000000088
+:1088F0000000000000000000000000000000000078
+:108900000000000000000000000000000000000067
+:108910000000000000000000000000000000000057
+:108920000000000000000000000000000000000047
+:108930000000000000000000000000000000000037
+:108940000000000000000000000000000000000027
+:108950000000000000000000000000000000000017
+:108960000000000000000000000000000000000007
+:1089700000000000000000000000000000000000F7
+:1089800000000000000000000000000000000000E7
+:1089900000000000000000000000000000000000D7
+:1089A00000000000000000000000000000000000C7
+:1089B00000000000000000000000000000000000B7
+:1089C00000000000000000000000000000000000A7
+:1089D0000000000000000000000000000000000097
+:1089E0000000000000000000000000000000000087
+:1089F0000000000000000000000000000000000077
+:108A00000000000000000000000000000000000066
+:108A10000000000000000000000000000000000056
+:108A20000000000000000000000000000000000046
+:108A30000000000000000000000000000000000036
+:108A40000000000000000000000000000000000026
+:108A50000000000000000000000000000000000016
+:108A60000000000000000000000000000000000006
+:108A700000000000000000000000000000000000F6
+:108A800000000000000000000000000000000000E6
+:108A900000000000000000000000000000000000D6
+:108AA00000000000000000000000000000000000C6
+:108AB00000000000000000000000000000000000B6
+:108AC00000000000000000000000000000000000A6
+:108AD0000000000000000000000000000000000096
+:108AE0000000000000000000000000000000000086
+:108AF0000000000000000000000000000000000076
+:108B00000000000000000000000000000000000065
+:108B10000000000000000000000000000000000055
+:108B20000000000000000000000000000000000045
+:108B30000000000000000000000000000000000035
+:108B40000000000000000000000000000000000025
+:108B50000000000000000000000000000000000015
+:108B60000000000000000000000000000000000005
+:108B700000000000000000000000000000000000F5
+:108B800000000000000000000000000000000000E5
+:108B900000000000000000000000000000000000D5
+:108BA00000000000000000000000000000000000C5
+:108BB00000000000000000000000000000000000B5
+:108BC00000000000000000000000000000000000A5
+:108BD0000000000000000000000000000000000095
+:108BE0000000000000000000000000000000000085
+:108BF0000000000000000000000000000000000075
+:108C00000000000000000000000000000000000064
+:108C10000000000000000000000000000000000054
+:108C20000000000000000000000000000000000044
+:108C30000000000000000000000000000000000034
+:108C40000000000000000000000000000000000024
+:108C50000000000000000000000000000000000014
+:108C60000000000000000000000000000000000004
+:108C700000000000000000000000000000000000F4
+:108C800000000000000000000000000000000000E4
+:108C900000000000000000000000000000000000D4
+:108CA00000000000000000000000000000000000C4
+:108CB00000000000000000000000000000000000B4
+:108CC00000000000000000000000000000000000A4
+:108CD0000000000000000000000000000000000094
+:108CE0000000000000000000000000000000000084
+:108CF0000000000000000000000000000000000074
+:108D00000000000000000000000000000000000063
+:108D10000000000000000000000000000000000053
+:108D20000000000000000000000000000000000043
+:108D30000000000000000000000000000000000033
+:108D40000000000000000000000000000000000023
+:108D50000000000000000000000000000000000013
+:108D60000000000000000000000000000000000003
+:108D700000000000000000000000000000000000F3
+:108D800000000000000000000000000000000000E3
+:108D900000000000000000000000000000000000D3
+:108DA00000000000000000000000000000000000C3
+:108DB00000000000000000000000000000000000B3
+:108DC00000000000000000000000000000000000A3
+:108DD0000000000000000000000000000000000093
+:108DE0000000000000000000000000000000000083
+:108DF0000000000000000000000000000000000073
+:108E00000000000000000000000000000000000062
+:108E10000000000000000000000000000000000052
+:108E20000000000000000000000000000000000042
+:108E30000000000000000000000000000000000032
+:108E40000000000000000000000000000000000022
+:108E50000000000000000000000000000000000012
+:108E60000000000000000000000000000000000002
+:108E700000000000000000000000000000000000F2
+:108E800000000000000000000000000000000000E2
+:108E900000000000000000000000000000000000D2
+:108EA00000000000000000000000000000000000C2
+:108EB00000000000000000000000000000000000B2
+:108EC00000000000000000000000000000000000A2
+:108ED0000000000000000000000000000000000092
+:108EE0000000000000000000000000000000000082
+:108EF0000000000000000000000000000000000072
+:108F00000000000000000000000000000000000061
+:108F10000000000000000000000000000000000051
+:108F20000000000000000000000000000000000041
+:108F30000000000000000000000000000000000031
+:108F40000000000000000000000000000000000021
+:108F50000000000000000000000000000000000011
+:108F60000000000000000000000000000000000001
+:108F700000000000000000000000000000000000F1
+:108F800000000000000000000000000000000000E1
+:108F900000000000000000000000000000000000D1
+:108FA00000000000000000000000000000000000C1
+:108FB00000000000000000000000000000000000B1
+:108FC00000000000000000000000000000000000A1
+:108FD0000000000000000000000000000000000091
+:108FE0000000000000000000000000000000000081
+:108FF0000000000000000000000000000000000071
+:109000000000000000000000000000000000000060
+:109010000000000000000000000000000000000050
+:109020000000000000000000000000000000000040
+:109030000000000000000000000000000000000030
+:109040000000000000000000000000000000000020
+:109050000000000000000000000000000000000010
+:109060000000000000000000000000000000000000
+:1090700000000000000000000000000000000000F0
+:1090800000000000000000000000000000000000E0
+:1090900000000000000000000000000000000000D0
+:1090A00000000000000000000000000000000000C0
+:1090B00000000000000000000000000000000000B0
+:1090C00000000000000000000000000000000000A0
+:1090D0000000000000000000000000000000000090
+:1090E0000000000000000000000000000000000080
+:1090F0000000000000000000000000000000000070
+:10910000000000000000000000000000000000005F
+:10911000000000000000000000000000000000004F
+:10912000000000000000000000000000000000003F
+:10913000000000000000000000000000000000002F
+:10914000000000000000000000000000000000001F
+:10915000000000000000000000000000000000000F
+:1091600000000000000000000000000000000000FF
+:1091700000000000000000000000000000000000EF
+:1091800000000000000000000000000000000000DF
+:1091900000000000000000000000000000000000CF
+:1091A00000000000000000000000000000000000BF
+:1091B00000000000000000000000000000000000AF
+:1091C000000000000000000000000000000000009F
+:1091D000000000000000000000000000000000008F
+:1091E000000000000000000000000000000000007F
+:1091F000000000000000000000000000000000006F
+:10920000000000000000000000000000000000005E
+:10921000000000000000000000000000000000004E
+:10922000000000000000000000000000000000003E
+:10923000000000000000000000000000000000002E
+:10924000000000000000000000000000000000001E
+:10925000000000000000000000000000000000000E
+:1092600000000000000000000000000000000000FE
+:1092700000000000000000000000000000000000EE
+:1092800000000000000000000000000000000000DE
+:1092900000000000000000000000000000000000CE
+:1092A00000000000000000000000000000000000BE
+:1092B00000000000000000000000000000000000AE
+:1092C000000000000000000000000000000000009E
+:1092D000000000000000000000000000000000008E
+:1092E000000000000000000000000000000000007E
+:1092F000000000000000000000000000000000006E
+:10930000000000000000000000000000000000005D
+:109310000000000000000000010101010101010145
+:10932000010101010101010101010101010101012D
+:10933000010101010101010101010101010101011D
+:10934000010101010101010101010101010101010D
+:1093500001010101010101010101010101010101FD
+:1093600001010101010101010101010101010101ED
+:1093700001010101010101010101010101010101DD
+:1093800001010101010101010101010101010101CD
+:1093900001010101010101010101010101010101BD
+:1093A00001010101010101010101010101010101AD
+:1093B000010101010101010101010101010101019D
+:1093C000010101010101010101010101010101018D
+:1093D000010101010101010101010101010101017D
+:1093E000010101010101010101010101010101016D
+:1093F000010101010101010101010101010101015D
+:10940000010101010101010101010101010101014C
+:10941000010101010101010101010101010101013C
+:10942000010101010101010101010101010101012C
+:10943000010101010101010101010101010101011C
+:10944000010101010101010101010101010101010C
+:1094500001010101010101010101010101010101FC
+:1094600001010101010101010101010101010101EC
+:1094700001010101010101010101010101010101DC
+:1094800001010101010101010101010101010101CC
+:1094900001010101010101010101010101010101BC
+:1094A00001010101010101010101010101010101AC
+:1094B000010101010101010101010101010101019C
+:1094C000010101010101010101010101010101018C
+:1094D000010101010101010101010101010101017C
+:1094E000010101010101010101010101010101016C
+:1094F000010101010101010101010101010101015C
+:10950000010101010101010101010101010101014B
+:10951000010101010101010101010101010101013B
+:10952000010101010101010101010101010101012B
+:10953000010101010101010101010101010101011B
+:10954000010101010101010101010101010101010B
+:1095500001010101010101010101010101010101FB
+:1095600001010101010101010101010101010101EB
+:1095700001010101010101010101010101010101DB
+:1095800001010101010101010101010101010101CB
+:1095900001010101010101010101010101010101BB
+:1095A00001010101010101010101010101010101AB
+:1095B000010101010101010101010101010101019B
+:1095C000010101010101010101010101010101018B
+:1095D000010101010101010101010101010101017B
+:1095E000010101010101010101010101010101016B
+:1095F000010101010101010101010101010101015B
+:10960000010101010101010101010101010101014A
+:10961000010101010101010101010101010101013A
+:10962000010101010101010101010101010101012A
+:10963000010101010101010101010101010101011A
+:10964000010101010101010101010101010101010A
+:1096500001010101010101010101010101010101FA
+:1096600001010101010101010101010101010101EA
+:1096700001010101010101010101010101010101DA
+:1096800001010101010101010101010101010101CA
+:1096900001010101010101010101010101010101BA
+:1096A00001010101010101010101010101010101AA
+:1096B000010101010101010101010101010101019A
+:1096C000010101010101010101010101010101018A
+:1096D000010101010101010101010101010101017A
+:1096E000010101010101010101010101010101016A
+:1096F000010101010101010101010101010101015A
+:109700000101010101010101010101010101010149
+:109710000101010101010101010101010101010139
+:109720000101010101010101010101010101010129
+:109730000101010101010101010101010101010119
+:109740000101010101010101010101010101010109
+:1097500001010101010101010101010101010101F9
+:1097600001010101010101010101010101010101E9
+:1097700001010101010101010101010101010101D9
+:1097800001010101010101010101010101010101C9
+:1097900001010101010101010101010101010101B9
+:1097A00001010101010101010101010101010101A9
+:1097B0000101010101010101010101010101010199
+:1097C0000101010101010101010101010101010189
+:1097D0000101010101010101010101010101010179
+:1097E0000101010101010101010101010101010169
+:1097F0000101010101010101010101010101010159
+:109800000101010101010101010101010101010148
+:109810000101010101010101010101010101010138
+:109820000101010101010101010101010101010128
+:109830000101010101010101010101010101010118
+:109840000101010101010101010101010101010108
+:1098500001010101010101010101010101010101F8
+:1098600001010101010101010101010101010101E8
+:1098700001010101010101010101010101010101D8
+:1098800001010101010101010101010101010101C8
+:1098900001010101010101010101010101010101B8
+:1098A00001010101010101010101010101010101A8
+:1098B0000101010101010101010101010101010198
+:1098C0000101010101010101010101010101010188
+:1098D0000101010101010101010101010101010178
+:1098E0000101010101010101010101010101010168
+:1098F0000101010101010101010101010101010158
+:109900000101010101010101010101010101010147
+:109910000101010101010101010101010101010137
+:109920000101010101010101010101010101010127
+:109930000101010101010101010101010101010117
+:109940000101010101010101010101010101010107
+:1099500001010101010101010101010101010101F7
+:1099600001010101010101010101010101010101E7
+:1099700001010101010101010101010101010101D7
+:1099800001010101010101010101010101010101C7
+:1099900001010101010101010101010101010101B7
+:1099A00001010101010101010101010101010101A7
+:1099B0000101010101010101010101010101010197
+:1099C0000101010101010101010101010101010187
+:1099D0000101010101010101010101010101010177
+:1099E0000101010101010101010101010101010167
+:1099F0000101010101010101010101010101010157
+:109A00000101010101010101010101010101010146
+:109A10000101010101010101010101010101010136
+:109A20000101010101010101010101010101010126
+:109A30000101010101010101010101010101010116
+:109A40000101010101010101010101010101010106
+:109A500001010101010101010101010101010101F6
+:109A600001010101010101010101010101010101E6
+:109A700001010101010101010101010101010101D6
+:109A800001010101010101010101010101010101C6
+:109A900001010101010101010101010101010101B6
+:109AA00001010101010101010101010101010101A6
+:109AB0000101010101010101010101010101010196
+:109AC0000101010101010101010101010101010186
+:109AD0000101010101010101010101010101010176
+:109AE0000101010101010101010101010101010166
+:109AF0000101010101010101010101010101010156
+:109B00000101010101010101010101010101010145
+:109B1000010101010101010100000000000000003D
+:109B20000000000000000000000000000000000035
+:109B30000000000000000000000000000000000025
+:109B40000000000000000000000000000000000015
+:109B50000000000000000000000000000000000005
+:109B600000000000000000000000000000000000F5
+:109B700000000000000000000000000000000000E5
+:109B800000000000000000000000000000000000D5
+:109B900000000000000000000000000000000000C5
+:109BA00000000000000000000000000000000000B5
+:109BB00000000000000000000000000000000000A5
+:109BC0000000000000000000000000000000000095
+:109BD0000000000000000000000000000000000085
+:109BE0000000000000000000000000000000000075
+:109BF0000000000000000000000000000000000065
+:109C00000000000000000000000000000000000054
+:109C10000000000000000000000000000000000044
+:109C20000000000000000000000000000000000034
+:109C30000000000000000000000000000000000024
+:109C40000000000000000000000000000000000014
+:109C50000000000000000000000000000000000004
+:109C600000000000000000000000000000000000F4
+:109C700000000000000000000000000000000000E4
+:109C800000000000000000000000000000000000D4
+:109C900000000000000000000000000000000000C4
+:109CA00000000000000000000000000000000000B4
+:109CB00000000000000000000000000000000000A4
+:109CC0000000000000000000000000000000000094
+:109CD0000000000000000000000000000000000084
+:109CE0000000000000000000000000000000000074
+:109CF0000000000000000000000000000000000064
+:109D00000000000000000000000000000000000053
+:109D10000000000000000000000000000000000043
+:109D20000000000000000000000000000000000033
+:109D30000000000000000000000000000000000023
+:109D40000000000000000000000000000000000013
+:109D50000000000000000000000000000000000003
+:109D600000000000000000000000000000000000F3
+:109D700000000000000000000000000000000000E3
+:109D800000000000000000000000000000000000D3
+:109D900000000000000000000000000000000000C3
+:109DA00000000000000000000000000000000000B3
+:109DB00000000000000000000000000000000000A3
+:109DC0000000000000000000000000000000000093
+:109DD0000000000000000000000000000000000083
+:109DE0000000000000000000000000000000000073
+:109DF0000000000000000000000000000000000063
+:109E00000000000000000000000000000000000052
+:109E10000000000000000000000000000000000042
+:109E20000000000000000000000000000000000032
+:109E30000000000000000000000000000000000022
+:109E40000000000000000000000000000000000012
+:109E50000000000000000000000000000000000002
+:109E600000000000000000000000000000000000F2
+:109E700000000000000000000000000000000000E2
+:109E800000000000000000000000000000000000D2
+:109E900000000000000000000000000000000000C2
+:109EA00000000000000000000000000000000000B2
+:109EB00000000000000000000000000000000000A2
+:109EC0000000000000000000000000000000000092
+:109ED0000000000000000000000000000000000082
+:109EE0000000000000000000000000000000000072
+:109EF0000000000000000000000000000000000062
+:109F00000000000000000000000000000000000051
+:109F10000000000000000000000000000000000041
+:109F20000000000000000000000000000000000031
+:109F30000000000000000000000000000000000021
+:109F40000000000000000000000000000000000011
+:109F50000000000000000000000000000000000001
+:109F600000000000000000000000000000000000F1
+:109F700000000000000000000000000000000000E1
+:109F800000000000000000000000000000000000D1
+:109F900000000000000000000000000000000000C1
+:109FA00000000000000000000000000000000000B1
+:109FB00000000000000000000000000000000000A1
+:109FC0000000000000000000000000000000000091
+:109FD0000000000000000000000000000000000081
+:109FE0000000000000000000000000000000000071
+:109FF0000000000000000000000000000000000061
+:10A000000000000000000000000000000000000050
+:10A010000000000000000000000000000000000040
+:10A020000000000000000000000000000000000030
+:10A030000000000000000000000000000000000020
+:10A040000000000000000000000000000000000010
+:10A050000000000000000000000000000000000000
+:10A0600000000000000000000000000000000000F0
+:10A0700000000000000000000000000000000000E0
+:10A0800000000000000000000000000000000000D0
+:10A0900000000000000000000000000000000000C0
+:10A0A00000000000000000000000000000000000B0
+:10A0B00000000000000000000000000000000000A0
+:10A0C0000000000000000000000000000000000090
+:10A0D0000000000000000000000000000000000080
+:10A0E0000000000000000000000000000000000070
+:10A0F0000000000000000000000000000000000060
+:10A10000000000000000000000000000000000004F
+:10A11000000000000000000000000000000000003F
+:10A12000000000000000000000000000000000002F
+:10A13000000000000000000000000000000000001F
+:10A14000000000000000000000000000000000000F
+:10A1500000000000000000000000000000000000FF
+:10A1600000000000000000000000000000000000EF
+:10A1700000000000000000000000000000000000DF
+:10A1800000000000000000000000000000000000CF
+:10A1900000000000000000000000000000000000BF
+:10A1A00000000000000000000000000000000000AF
+:10A1B000000000000000000000000000000000009F
+:10A1C000000000000000000000000000000000008F
+:10A1D000000000000000000000000000000000007F
+:10A1E000000000000000000000000000000000006F
+:10A1F000000000000000000000000000000000005F
+:10A20000000000000000000000000000000000004E
+:10A210000000000000000000010101010101010136
+:10A22000010101010101010101010101010101011E
+:10A23000010101010101010101010101010101010E
+:10A2400001010101010101010101010101010101FE
+:10A2500001010101010101010101010101010101EE
+:10A2600001010101010101010101010101010101DE
+:10A2700001010101010101010101010101010101CE
+:10A2800001010101010101010101010101010101BE
+:10A2900001010101010101010101010101010101AE
+:10A2A000010101010101010101010101010101019E
+:10A2B000010101010101010101010101010101018E
+:10A2C000010101010101010101010101010101017E
+:10A2D000010101010101010101010101010101016E
+:10A2E000010101010101010101010101010101015E
+:10A2F000010101010101010101010101010101014E
+:10A30000010101010101010101010101010101013D
+:10A31000010101010101010101010101010101012D
+:10A32000010101010101010101010101010101011D
+:10A33000010101010101010101010101010101010D
+:10A3400001010101010101010101010101010101FD
+:10A3500001010101010101010101010101010101ED
+:10A3600001010101010101010101010101010101DD
+:10A3700001010101010101010101010101010101CD
+:10A3800001010101010101010101010101010101BD
+:10A3900001010101010101010101010101010101AD
+:10A3A000010101010101010101010101010101019D
+:10A3B000010101010101010101010101010101018D
+:10A3C000010101010101010101010101010101017D
+:10A3D000010101010101010101010101010101016D
+:10A3E000010101010101010101010101010101015D
+:10A3F000010101010101010101010101010101014D
+:10A40000010101010101010101010101010101013C
+:10A410000101010101010101020202020202020224
+:10A42000020202020202020202020202020202020C
+:10A4300002020202020202020202020202020202FC
+:10A4400002020202020202020202020202020202EC
+:10A4500002020202020202020202020202020202DC
+:10A4600002020202020202020202020202020202CC
+:10A4700002020202020202020202020202020202BC
+:10A4800002020202020202020202020202020202AC
+:10A49000020202020202020202020202020202029C
+:10A4A000020202020202020202020202020202028C
+:10A4B000020202020202020202020202020202027C
+:10A4C000020202020202020202020202020202026C
+:10A4D000020202020202020202020202020202025C
+:10A4E000020202020202020202020202020202024C
+:10A4F000020202020202020202020202020202023C
+:10A50000020202020202020202020202020202022B
+:10A51000020202020202020202020202020202021B
+:10A52000020202020202020202020202020202020B
+:10A5300002020202020202020202020202020202FB
+:10A5400002020202020202020202020202020202EB
+:10A5500002020202020202020202020202020202DB
+:10A5600002020202020202020202020202020202CB
+:10A5700002020202020202020202020202020202BB
+:10A5800002020202020202020202020202020202AB
+:10A59000020202020202020202020202020202029B
+:10A5A000020202020202020202020202020202028B
+:10A5B000020202020202020202020202020202027B
+:10A5C000020202020202020202020202020202026B
+:10A5D000020202020202020202020202020202025B
+:10A5E000020202020202020202020202020202024B
+:10A5F000020202020202020202020202020202023B
+:10A60000020202020202020202020202020202022A
+:10A61000020202020202020202020202020202021A
+:10A62000020202020202020202020202020202020A
+:10A6300002020202020202020202020202020202FA
+:10A6400002020202020202020202020202020202EA
+:10A6500002020202020202020202020202020202DA
+:10A6600002020202020202020202020202020202CA
+:10A6700002020202020202020202020202020202BA
+:10A6800002020202020202020202020202020202AA
+:10A69000020202020202020202020202020202029A
+:10A6A000020202020202020202020202020202028A
+:10A6B000020202020202020202020202020202027A
+:10A6C000020202020202020202020202020202026A
+:10A6D000020202020202020202020202020202025A
+:10A6E000020202020202020202020202020202024A
+:10A6F000020202020202020202020202020202023A
+:10A700000202020202020202020202020202020229
+:10A710000202020202020202020202020202020219
+:10A720000202020202020202020202020202020209
+:10A7300002020202020202020202020202020202F9
+:10A7400002020202020202020202020202020202E9
+:10A7500002020202020202020202020202020202D9
+:10A7600002020202020202020202020202020202C9
+:10A7700002020202020202020202020202020202B9
+:10A7800002020202020202020202020202020202A9
+:10A790000202020202020202020202020202020299
+:10A7A0000202020202020202020202020202020289
+:10A7B0000202020202020202020202020202020279
+:10A7C0000202020202020202020202020202020269
+:10A7D0000202020202020202020202020202020259
+:10A7E0000202020202020202020202020202020249
+:10A7F0000202020202020202020202020202020239
+:10A800000202020202020202020202020202020228
+:10A810000202020202020202020202020202020218
+:10A820000202020202020202020202020202020208
+:10A8300002020202020202020202020202020202F8
+:10A8400002020202020202020202020202020202E8
+:10A8500002020202020202020202020202020202D8
+:10A8600002020202020202020202020202020202C8
+:10A8700002020202020202020202020202020202B8
+:10A8800002020202020202020202020202020202A8
+:10A890000202020202020202020202020202020298
+:10A8A0000202020202020202020202020202020288
+:10A8B0000202020202020202020202020202020278
+:10A8C0000202020202020202020202020202020268
+:10A8D0000202020202020202020202020202020258
+:10A8E0000202020202020202020202020202020248
+:10A8F0000202020202020202020202020202020238
+:10A900000202020202020202020202020202020227
+:10A910000202020202020202020202020202020217
+:10A920000202020202020202020202020202020207
+:10A9300002020202020202020202020202020202F7
+:10A9400002020202020202020202020202020202E7
+:10A9500002020202020202020202020202020202D7
+:10A9600002020202020202020202020202020202C7
+:10A9700002020202020202020202020202020202B7
+:10A9800002020202020202020202020202020202A7
+:10A990000202020202020202020202020202020297
+:10A9A0000202020202020202020202020202020287
+:10A9B0000202020202020202020202020202020277
+:10A9C0000202020202020202020202020202020267
+:10A9D0000202020202020202020202020202020257
+:10A9E0000202020202020202020202020202020247
+:10A9F0000202020202020202020202020202020237
+:10AA00000202020202020202020202020202020226
+:10AA10000202020202020202020202020202020216
+:10AA20000202020202020202020202020202020206
+:10AA300002020202020202020202020202020202F6
+:10AA400002020202020202020202020202020202E6
+:10AA500002020202020202020202020202020202D6
+:10AA600002020202020202020202020202020202C6
+:10AA700002020202020202020202020202020202B6
+:10AA800002020202020202020202020202020202A6
+:10AA90000202020202020202020202020202020296
+:10AAA0000202020202020202020202020202020286
+:10AAB0000202020202020202020202020202020276
+:10AAC0000202020202020202020202020202020266
+:10AAD0000202020202020202020202020202020256
+:10AAE0000202020202020202020202020202020246
+:10AAF0000202020202020202020202020202020236
+:10AB00000202020202020202020202020202020225
+:10AB10000202020202020202020202020202020215
+:10AB20000202020202020202020202020202020205
+:10AB300002020202020202020202020202020202F5
+:10AB400002020202020202020202020202020202E5
+:10AB500002020202020202020202020202020202D5
+:10AB600002020202020202020202020202020202C5
+:10AB700002020202020202020202020202020202B5
+:10AB800002020202020202020202020202020202A5
+:10AB90000202020202020202020202020202020295
+:10ABA0000202020202020202020202020202020285
+:10ABB0000202020202020202020202020202020275
+:10ABC0000202020202020202020202020202020265
+:10ABD0000202020202020202020202020202020255
+:10ABE0000202020202020202020202020202020245
+:10ABF0000202020202020202020202020202020235
+:10AC00000202020202020202020202020202020224
+:10AC10000202020202020202020202020202020214
+:10AC20000202020202020202020202020202020204
+:10AC300002020202020202020202020202020202F4
+:10AC400002020202020202020202020202020202E4
+:10AC500002020202020202020202020202020202D4
+:10AC600002020202020202020202020202020202C4
+:10AC700002020202020202020202020202020202B4
+:10AC800002020202020202020202020202020202A4
+:10AC90000202020202020202020202020202020294
+:10ACA0000202020202020202020202020202020284
+:10ACB0000202020202020202020202020202020274
+:10ACC0000202020202020202020202020202020264
+:10ACD0000202020202020202020202020202020254
+:10ACE0000202020202020202020202020202020244
+:10ACF0000202020202020202020202020202020234
+:10AD00000202020202020202020202020202020223
+:10AD10000202020202020202020202020202020213
+:10AD20000202020202020202020202020202020203
+:10AD300002020202020202020202020202020202F3
+:10AD400002020202020202020202020202020202E3
+:10AD500002020202020202020202020202020202D3
+:10AD600002020202020202020202020202020202C3
+:10AD700002020202020202020202020202020202B3
+:10AD800002020202020202020202020202020202A3
+:10AD90000202020202020202020202020202020293
+:10ADA0000202020202020202020202020202020283
+:10ADB0000202020202020202020202020202020273
+:10ADC0000202020202020202020202020202020263
+:10ADD0000202020202020202020202020202020253
+:10ADE0000202020202020202020202020202020243
+:10ADF0000202020202020202020202020202020233
+:10AE00000202020202020202020202020202020222
+:10AE10000202020202020202020202020202020212
+:10AE20000202020202020202020202020202020202
+:10AE300002020202020202020202020202020202F2
+:10AE400002020202020202020202020202020202E2
+:10AE500002020202020202020202020202020202D2
+:10AE600002020202020202020202020202020202C2
+:10AE700002020202020202020202020202020202B2
+:10AE800002020202020202020202020202020202A2
+:10AE90000202020202020202020202020202020292
+:10AEA0000202020202020202020202020202020282
+:10AEB0000202020202020202020202020202020272
+:10AEC0000202020202020202020202020202020262
+:10AED0000202020202020202020202020202020252
+:10AEE0000202020202020202020202020202020242
+:10AEF0000202020202020202020202020202020232
+:10AF00000202020202020202020202020202020221
+:10AF10000202020202020202020202020202020211
+:10AF20000202020202020202020202020202020201
+:10AF300002020202020202020202020202020202F1
+:10AF400002020202020202020202020202020202E1
+:10AF500002020202020202020202020202020202D1
+:10AF600002020202020202020202020202020202C1
+:10AF700002020202020202020202020202020202B1
+:10AF800002020202020202020202020202020202A1
+:10AF90000202020202020202020202020202020291
+:10AFA0000202020202020202020202020202020281
+:10AFB0000202020202020202020202020202020271
+:10AFC0000202020202020202020202020202020261
+:10AFD0000202020202020202020202020202020251
+:10AFE0000202020202020202020202020202020241
+:10AFF0000202020202020202020202020202020231
+:10B000000202020202020202020202020202020220
+:10B010000202020202020202020202020202020210
+:10B020000202020202020202020202020202020200
+:10B0300002020202020202020202020202020202F0
+:10B0400002020202020202020202020202020202E0
+:10B0500002020202020202020202020202020202D0
+:10B0600002020202020202020202020202020202C0
+:10B0700002020202020202020202020202020202B0
+:10B0800002020202020202020202020202020202A0
+:10B090000202020202020202020202020202020290
+:10B0A0000202020202020202020202020202020280
+:10B0B0000202020202020202020202020202020270
+:10B0C0000202020202020202020202020202020260
+:10B0D0000202020202020202020202020202020250
+:10B0E0000202020202020202020202020202020240
+:10B0F0000202020202020202020202020202020230
+:10B10000020202020202020202020202020202021F
+:10B11000020202020202020202020202020202020F
+:10B1200002020202020202020202020202020202FF
+:10B1300002020202020202020202020202020202EF
+:10B1400002020202020202020202020202020202DF
+:10B1500002020202020202020202020202020202CF
+:10B1600002020202020202020202020202020202BF
+:10B1700002020202020202020202020202020202AF
+:10B18000020202020202020202020202020202029F
+:10B19000020202020202020202020202020202028F
+:10B1A000020202020202020202020202020202027F
+:10B1B000020202020202020202020202020202026F
+:10B1C000020202020202020202020202020202025F
+:10B1D000020202020202020202020202020202024F
+:10B1E000020202020202020202020202020202023F
+:10B1F000020202020202020202020202020202022F
+:10B20000020202020202020202020202020202021E
+:10B21000020202020202020202020202020202020E
+:10B2200002020202020202020202020202020202FE
+:10B2300002020202020202020202020202020202EE
+:10B2400002020202020202020202020202020202DE
+:10B2500002020202020202020202020202020202CE
+:10B2600002020202020202020202020202020202BE
+:10B2700002020202020202020202020202020202AE
+:10B28000020202020202020202020202020202029E
+:10B29000020202020202020202020202020202028E
+:10B2A000020202020202020202020202020202027E
+:10B2B000020202020202020202020202020202026E
+:10B2C000020202020202020202020202020202025E
+:10B2D000020202020202020202020202020202024E
+:10B2E000020202020202020202020202020202023E
+:10B2F000020202020202020202020202020202022E
+:10B30000020202020202020202020202020202021D
+:10B31000020202020202020202020202020202020D
+:10B3200002020202020202020202020202020202FD
+:10B3300002020202020202020202020202020202ED
+:10B3400002020202020202020202020202020202DD
+:10B3500002020202020202020202020202020202CD
+:10B3600002020202020202020202020202020202BD
+:10B3700002020202020202020202020202020202AD
+:10B38000020202020202020202020202020202029D
+:10B39000020202020202020202020202020202028D
+:10B3A000020202020202020202020202020202027D
+:10B3B000020202020202020202020202020202026D
+:10B3C000020202020202020202020202020202025D
+:10B3D000020202020202020202020202020202024D
+:10B3E000020202020202020202020202020202023D
+:10B3F000020202020202020202020202020202022D
+:10B40000020202020202020202020202020202021C
+:10B41000020202020202020202020202020202020C
+:10B4200002020202020202020202020202020202FC
+:10B4300002020202020202020202020202020202EC
+:10B4400002020202020202020202020202020202DC
+:10B4500002020202020202020202020202020202CC
+:10B4600002020202020202020202020202020202BC
+:10B4700002020202020202020202020202020202AC
+:10B48000020202020202020202020202020202029C
+:10B49000020202020202020202020202020202028C
+:10B4A000020202020202020202020202020202027C
+:10B4B000020202020202020202020202020202026C
+:10B4C000020202020202020202020202020202025C
+:10B4D000020202020202020202020202020202024C
+:10B4E000020202020202020202020202020202023C
+:10B4F000020202020202020202020202020202022C
+:10B50000020202020202020202020202020202021B
+:10B51000020202020202020200000000000000001B
+:10B52000000000000000000000000000000000001B
+:10B53000000000000000000000000000000000000B
+:10B5400000000000000000000000000000000000FB
+:10B5500000000000000000000000000000000000EB
+:10B5600000000000000000000000000000000000DB
+:10B5700000000000000000000000000000000000CB
+:10B5800000000000000000000000000000000000BB
+:10B5900000000000000000000000000000000000AB
+:10B5A000000000000000000000000000000000009B
+:10B5B000000000000000000000000000000000008B
+:10B5C000000000000000000000000000000000007B
+:10B5D000000000000000000000000000000000006B
+:10B5E000000000000000000000000000000000005B
+:10B5F000000000000000000000000000000000004B
+:10B60000000000000000000000000000000000003A
+:10B61000000000000000000000000000000000002A
+:10B62000000000000000000000000000000000001A
+:10B63000000000000000000000000000000000000A
+:10B6400000000000000000000000000000000000FA
+:10B6500000000000000000000000000000000000EA
+:10B6600000000000000000000000000000000000DA
+:10B6700000000000000000000000000000000000CA
+:10B6800000000000000000000000000000000000BA
+:10B6900000000000000000000000000000000000AA
+:10B6A000000000000000000000000000000000009A
+:10B6B000000000000000000000000000000000008A
+:10B6C000000000000000000000000000000000007A
+:10B6D000000000000000000000000000000000006A
+:10B6E000000000000000000000000000000000005A
+:10B6F000000000000000000000000000000000004A
+:10B700000000000000000000000000000000000039
+:10B710000000000000000000000000000000000029
+:10B720000000000000000000000000000000000019
+:10B730000000000000000000000000000000000009
+:10B7400000000000000000000000000000000000F9
+:10B7500000000000000000000000000000000000E9
+:10B7600000000000000000000000000000000000D9
+:10B7700000000000000000000000000000000000C9
+:10B7800000000000000000000000000000000000B9
+:10B7900000000000000000000000000000000000A9
+:10B7A0000000000000000000000000000000000099
+:10B7B0000000000000000000000000000000000089
+:10B7C0000000000000000000000000000000000079
+:10B7D0000000000000000000000000000000000069
+:10B7E0000000000000000000000000000000000059
+:10B7F0000000000000000000000000000000000049
+:10B800000000000000000000000000000000000038
+:10B810000000000000000000000000000000000028
+:10B820000000000000000000000000000000000018
+:10B830000000000000000000000000000000000008
+:10B8400000000000000000000000000000000000F8
+:10B8500000000000000000000000000000000000E8
+:10B8600000000000000000000000000000000000D8
+:10B8700000000000000000000000000000000000C8
+:10B8800000000000000000000000000000000000B8
+:10B8900000000000000000000000000000000000A8
+:10B8A0000000000000000000000000000000000098
+:10B8B0000000000000000000000000000000000088
+:10B8C0000000000000000000000000000000000078
+:10B8D0000000000000000000000000000000000068
+:10B8E0000000000000000000000000000000000058
+:10B8F0000000000000000000000000000000000048
+:10B900000000000000000000000000000000000037
+:10B910000000000000000000000000000000000027
+:10B920000000000000000000000000000000000017
+:10B930000000000000000000000000000000000007
+:10B9400000000000000000000000000000000000F7
+:10B9500000000000000000000000000000000000E7
+:10B9600000000000000000000000000000000000D7
+:10B9700000000000000000000000000000000000C7
+:10B9800000000000000000000000000000000000B7
+:10B9900000000000000000000000000000000000A7
+:10B9A0000000000000000000000000000000000097
+:10B9B0000000000000000000000000000000000087
+:10B9C0000000000000000000000000000000000077
+:10B9D0000000000000000000000000000000000067
+:10B9E0000000000000000000000000000000000057
+:10B9F0000000000000000000000000000000000047
+:10BA00000000000000000000000000000000000036
+:10BA10000000000000000000000000000000000026
+:10BA20000000000000000000000000000000000016
+:10BA30000000000000000000000000000000000006
+:10BA400000000000000000000000000000000000F6
+:10BA500000000000000000000000000000000000E6
+:10BA600000000000000000000000000000000000D6
+:10BA700000000000000000000000000000000000C6
+:10BA800000000000000000000000000000000000B6
+:10BA900000000000000000000000000000000000A6
+:10BAA0000000000000000000000000000000000096
+:10BAB0000000000000000000000000000000000086
+:10BAC0000000000000000000000000000000000076
+:10BAD0000000000000000000000000000000000066
+:10BAE0000000000000000000000000000000000056
+:10BAF0000000000000000000000000000000000046
+:10BB00000000000000000000000000000000000035
+:10BB10000000000000000000000000000000000025
+:10BB20000000000000000000000000000000000015
+:10BB30000000000000000000000000000000000005
+:10BB400000000000000000000000000000000000F5
+:10BB500000000000000000000000000000000000E5
+:10BB600000000000000000000000000000000000D5
+:10BB700000000000000000000000000000000000C5
+:10BB800000000000000000000000000000000000B5
+:10BB900000000000000000000000000000000000A5
+:10BBA0000000000000000000000000000000000095
+:10BBB0000000000000000000000000000000000085
+:10BBC0000000000000000000000000000000000075
+:10BBD0000000000000000000000000000000000065
+:10BBE0000000000000000000000000000000000055
+:10BBF0000000000000000000000000000000000045
+:10BC00000000000000000000000000000000000034
+:10BC10000000000000000000000000000000000024
+:10BC20000000000000000000000000000000000014
+:10BC30000000000000000000000000000000000004
+:10BC400000000000000000000000000000000000F4
+:10BC500000000000000000000000000000000000E4
+:10BC600000000000000000000000000000000000D4
+:10BC700000000000000000000000000000000000C4
+:10BC800000000000000000000000000000000000B4
+:10BC900000000000000000000000000000000000A4
+:10BCA0000000000000000000000000000000000094
+:10BCB0000000000000000000000000000000000084
+:10BCC0000000000000000000000000000000000074
+:10BCD0000000000000000000000000000000000064
+:10BCE0000000000000000000000000000000000054
+:10BCF0000000000000000000000000000000000044
+:10BD00000000000000000000000000000000000033
+:10BD10000000000000000000000000000000000023
+:10BD20000000000000000000000000000000000013
+:10BD30000000000000000000000000000000000003
+:10BD400000000000000000000000000000000000F3
+:10BD500000000000000000000000000000000000E3
+:10BD600000000000000000000000000000000000D3
+:10BD700000000000000000000000000000000000C3
+:10BD800000000000000000000000000000000000B3
+:10BD900000000000000000000000000000000000A3
+:10BDA0000000000000000000000000000000000093
+:10BDB0000000000000000000000000000000000083
+:10BDC0000000000000000000000000000000000073
+:10BDD0000000000000000000000000000000000063
+:10BDE0000000000000000000000000000000000053
+:10BDF0000000000000000000000000000000000043
+:10BE00000000000000000000000000000000000032
+:10BE1000000000000000000001010101010101011A
+:10BE20000101010101010101010101010101010102
+:10BE300001010101010101010101010101010101F2
+:10BE400001010101010101010101010101010101E2
+:10BE500001010101010101010101010101010101D2
+:10BE600001010101010101010101010101010101C2
+:10BE700001010101010101010101010101010101B2
+:10BE800001010101010101010101010101010101A2
+:10BE90000101010101010101010101010101010192
+:10BEA0000101010101010101010101010101010182
+:10BEB0000101010101010101010101010101010172
+:10BEC0000101010101010101010101010101010162
+:10BED0000101010101010101010101010101010152
+:10BEE0000101010101010101010101010101010142
+:10BEF0000101010101010101010101010101010132
+:10BF00000101010101010101010101010101010121
+:10BF10000101010101010101010101010101010111
+:10BF20000101010101010101010101010101010101
+:10BF300001010101010101010101010101010101F1
+:10BF400001010101010101010101010101010101E1
+:10BF500001010101010101010101010101010101D1
+:10BF600001010101010101010101010101010101C1
+:10BF700001010101010101010101010101010101B1
+:10BF800001010101010101010101010101010101A1
+:10BF90000101010101010101010101010101010191
+:10BFA0000101010101010101010101010101010181
+:10BFB0000101010101010101010101010101010171
+:10BFC0000101010101010101010101010101010161
+:10BFD0000101010101010101010101010101010151
+:10BFE0000101010101010101010101010101010141
+:10BFF0000101010101010101010101010101010131
+:10C000000101010101010101010101010101010120
+:10C010000101010101010101010101010101010110
+:10C020000101010101010101010101010101010100
+:10C0300001010101010101010101010101010101F0
+:10C0400001010101010101010101010101010101E0
+:10C0500001010101010101010101010101010101D0
+:10C0600001010101010101010101010101010101C0
+:10C0700001010101010101010101010101010101B0
+:10C0800001010101010101010101010101010101A0
+:10C090000101010101010101010101010101010190
+:10C0A0000101010101010101010101010101010180
+:10C0B0000101010101010101010101010101010170
+:10C0C0000101010101010101010101010101010160
+:10C0D0000101010101010101010101010101010150
+:10C0E0000101010101010101010101010101010140
+:10C0F0000101010101010101010101010101010130
+:10C10000010101010101010101010101010101011F
+:10C11000010101010101010101010101010101010F
+:10C1200001010101010101010101010101010101FF
+:10C1300001010101010101010101010101010101EF
+:10C1400001010101010101010101010101010101DF
+:10C1500001010101010101010101010101010101CF
+:10C1600001010101010101010101010101010101BF
+:10C1700001010101010101010101010101010101AF
+:10C18000010101010101010101010101010101019F
+:10C19000010101010101010101010101010101018F
+:10C1A000010101010101010101010101010101017F
+:10C1B000010101010101010101010101010101016F
+:10C1C000010101010101010101010101010101015F
+:10C1D000010101010101010101010101010101014F
+:10C1E000010101010101010101010101010101013F
+:10C1F000010101010101010101010101010101012F
+:10C20000010101010101010101010101010101011E
+:10C21000010101010101010101010101010101010E
+:10C2200001010101010101010101010101010101FE
+:10C2300001010101010101010101010101010101EE
+:10C2400001010101010101010101010101010101DE
+:10C2500001010101010101010101010101010101CE
+:10C2600001010101010101010101010101010101BE
+:10C2700001010101010101010101010101010101AE
+:10C28000010101010101010101010101010101019E
+:10C29000010101010101010101010101010101018E
+:10C2A000010101010101010101010101010101017E
+:10C2B000010101010101010101010101010101016E
+:10C2C000010101010101010101010101010101015E
+:10C2D000010101010101010101010101010101014E
+:10C2E000010101010101010101010101010101013E
+:10C2F000010101010101010101010101010101012E
+:10C30000010101010101010101010101010101011D
+:10C31000010101010101010101010101010101010D
+:10C3200001010101010101010101010101010101FD
+:10C3300001010101010101010101010101010101ED
+:10C3400001010101010101010101010101010101DD
+:10C3500001010101010101010101010101010101CD
+:10C3600001010101010101010101010101010101BD
+:10C3700001010101010101010101010101010101AD
+:10C38000010101010101010101010101010101019D
+:10C39000010101010101010101010101010101018D
+:10C3A000010101010101010101010101010101017D
+:10C3B000010101010101010101010101010101016D
+:10C3C000010101010101010101010101010101015D
+:10C3D000010101010101010101010101010101014D
+:10C3E000010101010101010101010101010101013D
+:10C3F000010101010101010101010101010101012D
+:10C40000010101010101010101010101010101011C
+:10C41000010101010101010101010101010101010C
+:10C4200001010101010101010101010101010101FC
+:10C4300001010101010101010101010101010101EC
+:10C4400001010101010101010101010101010101DC
+:10C4500001010101010101010101010101010101CC
+:10C4600001010101010101010101010101010101BC
+:10C4700001010101010101010101010101010101AC
+:10C48000010101010101010101010101010101019C
+:10C49000010101010101010101010101010101018C
+:10C4A000010101010101010101010101010101017C
+:10C4B000010101010101010101010101010101016C
+:10C4C000010101010101010101010101010101015C
+:10C4D000010101010101010101010101010101014C
+:10C4E000010101010101010101010101010101013C
+:10C4F000010101010101010101010101010101012C
+:10C50000010101010101010101010101010101011B
+:10C510000101010101010101000000000000000013
+:10C52000000000000000000000000000000000000B
+:10C5300000000000000000000000000000000000FB
+:10C5400000000000000000000000000000000000EB
+:10C5500000000000000000000000000000000000DB
+:10C5600000000000000000000000000000000000CB
+:10C5700000000000000000000000000000000000BB
+:10C5800000000000000000000000000000000000AB
+:10C59000000000000000000000000000000000009B
+:10C5A000000000000000000000000000000000008B
+:10C5B000000000000000000000000000000000007B
+:10C5C000000000000000000000000000000000006B
+:10C5D000000000000000000000000000000000005B
+:10C5E000000000000000000000000000000000004B
+:10C5F000000000000000000000000000000000003B
+:10C60000000000000000000000000000000000002A
+:10C61000000000000000000000000000000000001A
+:10C62000000000000000000000000000000000000A
+:10C6300000000000000000000000000000000000FA
+:10C6400000000000000000000000000000000000EA
+:10C6500000000000000000000000000000000000DA
+:10C6600000000000000000000000000000000000CA
+:10C6700000000000000000000000000000000000BA
+:10C6800000000000000000000000000000000000AA
+:10C69000000000000000000000000000000000009A
+:10C6A000000000000000000000000000000000008A
+:10C6B000000000000000000000000000000000007A
+:10C6C000000000000000000000000000000000006A
+:10C6D000000000000000000000000000000000005A
+:10C6E000000000000000000000000000000000004A
+:10C6F000000000000000000000000000000000003A
+:10C700000000000000000000000000000000000029
+:10C710000000000000000000000000000000000019
+:10C720000000000000000000000000000000000009
+:10C7300000000000000000000000000000000000F9
+:10C7400000000000000000000000000000000000E9
+:10C7500000000000000000000000000000000000D9
+:10C7600000000000000000000000000000000000C9
+:10C7700000000000000000000000000000000000B9
+:10C7800000000000000000000000000000000000A9
+:10C790000000000000000000000000000000000099
+:10C7A0000000000000000000000000000000000089
+:10C7B0000000000000000000000000000000000079
+:10C7C0000000000000000000000000000000000069
+:10C7D0000000000000000000000000000000000059
+:10C7E0000000000000000000000000000000000049
+:10C7F0000000000000000000000000000000000039
+:10C800000000000000000000000000000000000028
+:10C810000000000000000000000000000000000018
+:10C820000000000000000000000000000000000008
+:10C8300000000000000000000000000000000000F8
+:10C8400000000000000000000000000000000000E8
+:10C8500000000000000000000000000000000000D8
+:10C8600000000000000000000000000000000000C8
+:10C8700000000000000000000000000000000000B8
+:10C8800000000000000000000000000000000000A8
+:10C890000000000000000000000000000000000098
+:10C8A0000000000000000000000000000000000088
+:10C8B0000000000000000000000000000000000078
+:10C8C0000000000000000000000000000000000068
+:10C8D0000000000000000000000000000000000058
+:10C8E0000000000000000000000000000000000048
+:10C8F0000000000000000000000000000000000038
+:10C900000000000000000000000000000000000027
+:10C910000000000000000000000000000000000017
+:10C920000000000000000000000000000000000007
+:10C9300000000000000000000000000000000000F7
+:10C9400000000000000000000000000000000000E7
+:10C9500000000000000000000000000000000000D7
+:10C9600000000000000000000000000000000000C7
+:10C9700000000000000000000000000000000000B7
+:10C9800000000000000000000000000000000000A7
+:10C990000000000000000000000000000000000097
+:10C9A0000000000000000000000000000000000087
+:10C9B0000000000000000000000000000000000077
+:10C9C0000000000000000000000000000000000067
+:10C9D0000000000000000000000000000000000057
+:10C9E0000000000000000000000000000000000047
+:10C9F0000000000000000000000000000000000037
+:10CA00000000000000000000000000000000000026
+:10CA10000000000000000000000000000000000016
+:10CA20000000000000000000000000000000000006
+:10CA300000000000000000000000000000000000F6
+:10CA400000000000000000000000000000000000E6
+:10CA500000000000000000000000000000000000D6
+:10CA600000000000000000000000000000000000C6
+:10CA700000000000000000000000000000000000B6
+:10CA800000000000000000000000000000000000A6
+:10CA90000000000000000000000000000000000096
+:10CAA0000000000000000000000000000000000086
+:10CAB0000000000000000000000000000000000076
+:10CAC0000000000000000000000000000000000066
+:10CAD0000000000000000000000000000000000056
+:10CAE0000000000000000000000000000000000046
+:10CAF0000000000000000000000000000000000036
+:10CB00000000000000000000000000000000000025
+:10CB10000000000000000000000000000000000015
+:10CB20000000000000000000000000000000000005
+:10CB300000000000000000000000000000000000F5
+:10CB400000000000000000000000000000000000E5
+:10CB500000000000000000000000000000000000D5
+:10CB600000000000000000000000000000000000C5
+:10CB700000000000000000000000000000000000B5
+:10CB800000000000000000000000000000000000A5
+:10CB90000000000000000000000000000000000095
+:10CBA0000000000000000000000000000000000085
+:10CBB0000000000000000000000000000000000075
+:10CBC0000000000000000000000000000000000065
+:10CBD0000000000000000000000000000000000055
+:10CBE0000000000000000000000000000000000045
+:10CBF0000000000000000000000000000000000035
+:10CC00000000000000000000000000000000000024
+:10CC10000000000000000000000000000000000014
+:10CC20000000000000000000000000000000000004
+:10CC300000000000000000000000000000000000F4
+:10CC400000000000000000000000000000000000E4
+:10CC500000000000000000000000000000000000D4
+:10CC600000000000000000000000000000000000C4
+:10CC700000000000000000000000000000000000B4
+:10CC800000000000000000000000000000000000A4
+:10CC90000000000000000000000000000000000094
+:10CCA0000000000000000000000000000000000084
+:10CCB0000000000000000000000000000000000074
+:10CCC0000000000000000000000000000000000064
+:10CCD0000000000000000000000000000000000054
+:10CCE0000000000000000000000000000000000044
+:10CCF0000000000000000000000000000000000034
+:10CD00000000000000000000000000000000000023
+:10CD10000000000000000000000000000000000013
+:10CD20000000000000000000000000000000000003
+:10CD300000000000000000000000000000000000F3
+:10CD400000000000000000000000000000000000E3
+:10CD500000000000000000000000000000000000D3
+:10CD600000000000000000000000000000000000C3
+:10CD700000000000000000000000000000000000B3
+:10CD800000000000000000000000000000000000A3
+:10CD90000000000000000000000000000000000093
+:10CDA0000000000000000000000000000000000083
+:10CDB0000000000000000000000000000000000073
+:10CDC0000000000000000000000000000000000063
+:10CDD0000000000000000000000000000000000053
+:10CDE0000000000000000000000000000000000043
+:10CDF0000000000000000000000000000000000033
+:10CE00000000000000000000000000000000000022
+:10CE10000000000000000000000000000000000012
+:10CE20000000000000000000000000000000000002
+:10CE300000000000000000000000000000000000F2
+:10CE400000000000000000000000000000000000E2
+:10CE500000000000000000000000000000000000D2
+:10CE600000000000000000000000000000000000C2
+:10CE700000000000000000000000000000000000B2
+:10CE800000000000000000000000000000000000A2
+:10CE90000000000000000000000000000000000092
+:10CEA0000000000000000000000000000000000082
+:10CEB0000000000000000000000000000000000072
+:10CEC0000000000000000000000000000000000062
+:10CED0000000000000000000000000000000000052
+:10CEE0000000000000000000000000000000000042
+:10CEF0000000000000000000000000000000000032
+:10CF00000000000000000000000000000000000021
+:10CF10000000000000000000000000000000000011
+:10CF20000000000000000000000000000000000001
+:10CF300000000000000000000000000000000000F1
+:10CF400000000000000000000000000000000000E1
+:10CF500000000000000000000000000000000000D1
+:10CF600000000000000000000000000000000000C1
+:10CF700000000000000000000000000000000000B1
+:10CF800000000000000000000000000000000000A1
+:10CF90000000000000000000000000000000000091
+:10CFA0000000000000000000000000000000000081
+:10CFB0000000000000000000000000000000000071
+:10CFC0000000000000000000000000000000000061
+:10CFD0000000000000000000000000000000000051
+:10CFE0000000000000000000000000000000000041
+:10CFF0000000000000000000000000000000000031
+:10D000000000000000000000000000000000000020
+:10D010000000000000000000000000000000000010
+:10D020000000000000000000000000000000000000
+:10D0300000000000000000000000000000000000F0
+:10D0400000000000000000000000000000000000E0
+:10D0500000000000000000000000000000000000D0
+:10D0600000000000000000000000000000000000C0
+:10D0700000000000000000000000000000000000B0
+:10D0800000000000000000000000000000000000A0
+:10D090000000000000000000000000000000000090
+:10D0A0000000000000000000000000000000000080
+:10D0B0000000000000000000000000000000000070
+:10D0C0000000000000000000000000000000000060
+:10D0D0000000000000000000000000000000000050
+:10D0E0000000000000000000000000000000000040
+:10D0F0000000000000000000000000000000000030
+:10D10000000000000000000000000000000000001F
+:10D11000000000000000000000000000000000000F
+:10D1200000000000000000000000000000000000FF
+:10D1300000000000000000000000000000000000EF
+:10D1400000000000000000000000000000000000DF
+:10D1500000000000000000000000000000000000CF
+:10D1600000000000000000000000000000000000BF
+:10D1700000000000000000000000000000000000AF
+:10D18000000000000000000000000000000000009F
+:10D19000000000000000000000000000000000008F
+:10D1A000000000000000000000000000000000007F
+:10D1B000000000000000000000000000000000006F
+:10D1C000000000000000000000000000000000005F
+:10D1D000000000000000000000000000000000004F
+:10D1E000000000000000000000000000000000003F
+:10D1F000000000000000000000000000000000002F
+:10D20000000000000000000000000000000000001E
+:10D21000000000000000000000000000000000000E
+:10D2200000000000000000000000000000000000FE
+:10D2300000000000000000000000000000000000EE
+:10D2400000000000000000000000000000000000DE
+:10D2500000000000000000000000000000000000CE
+:10D2600000000000000000000000000000000000BE
+:10D2700000000000000000000000000000000000AE
+:10D28000000000000000000000000000000000009E
+:10D29000000000000000000000000000000000008E
+:10D2A000000000000000000000000000000000007E
+:10D2B000000000000000000000000000000000006E
+:10D2C000000000000000000000000000000000005E
+:10D2D000000000000000000000000000000000004E
+:10D2E000000000000000000000000000000000003E
+:10D2F000000000000000000000000000000000002E
+:10D30000000000000000000000000000000000001D
+:10D310000000000000000000010101010101010105
+:10D3200001010101010101010101010101010101ED
+:10D3300001010101010101010101010101010101DD
+:10D3400001010101010101010101010101010101CD
+:10D3500001010101010101010101010101010101BD
+:10D3600001010101010101010101010101010101AD
+:10D37000010101010101010101010101010101019D
+:10D38000010101010101010101010101010101018D
+:10D39000010101010101010101010101010101017D
+:10D3A000010101010101010101010101010101016D
+:10D3B000010101010101010101010101010101015D
+:10D3C000010101010101010101010101010101014D
+:10D3D000010101010101010101010101010101013D
+:10D3E000010101010101010101010101010101012D
+:10D3F000010101010101010101010101010101011D
+:10D40000010101010101010101010101010101010C
+:10D4100001010101010101010101010101010101FC
+:10D4200001010101010101010101010101010101EC
+:10D4300001010101010101010101010101010101DC
+:10D4400001010101010101010101010101010101CC
+:10D4500001010101010101010101010101010101BC
+:10D4600001010101010101010101010101010101AC
+:10D47000010101010101010101010101010101019C
+:10D48000010101010101010101010101010101018C
+:10D49000010101010101010101010101010101017C
+:10D4A000010101010101010101010101010101016C
+:10D4B000010101010101010101010101010101015C
+:10D4C000010101010101010101010101010101014C
+:10D4D000010101010101010101010101010101013C
+:10D4E000010101010101010101010101010101012C
+:10D4F000010101010101010101010101010101011C
+:10D50000010101010101010101010101010101010B
+:10D5100001010101010101010101010101010101FB
+:10D5200001010101010101010101010101010101EB
+:10D5300001010101010101010101010101010101DB
+:10D5400001010101010101010101010101010101CB
+:10D5500001010101010101010101010101010101BB
+:10D5600001010101010101010101010101010101AB
+:10D57000010101010101010101010101010101019B
+:10D58000010101010101010101010101010101018B
+:10D59000010101010101010101010101010101017B
+:10D5A000010101010101010101010101010101016B
+:10D5B000010101010101010101010101010101015B
+:10D5C000010101010101010101010101010101014B
+:10D5D000010101010101010101010101010101013B
+:10D5E000010101010101010101010101010101012B
+:10D5F000010101010101010101010101010101011B
+:10D60000010101010101010101010101010101010A
+:10D6100001010101010101010101010101010101FA
+:10D6200001010101010101010101010101010101EA
+:10D6300001010101010101010101010101010101DA
+:10D6400001010101010101010101010101010101CA
+:10D6500001010101010101010101010101010101BA
+:10D6600001010101010101010101010101010101AA
+:10D67000010101010101010101010101010101019A
+:10D68000010101010101010101010101010101018A
+:10D69000010101010101010101010101010101017A
+:10D6A000010101010101010101010101010101016A
+:10D6B000010101010101010101010101010101015A
+:10D6C000010101010101010101010101010101014A
+:10D6D000010101010101010101010101010101013A
+:10D6E000010101010101010101010101010101012A
+:10D6F000010101010101010101010101010101011A
+:10D700000101010101010101010101010101010109
+:10D7100001010101010101010101010101010101F9
+:10D7200001010101010101010101010101010101E9
+:10D7300001010101010101010101010101010101D9
+:10D7400001010101010101010101010101010101C9
+:10D7500001010101010101010101010101010101B9
+:10D7600001010101010101010101010101010101A9
+:10D770000101010101010101010101010101010199
+:10D780000101010101010101010101010101010189
+:10D790000101010101010101010101010101010179
+:10D7A0000101010101010101010101010101010169
+:10D7B0000101010101010101010101010101010159
+:10D7C0000101010101010101010101010101010149
+:10D7D0000101010101010101010101010101010139
+:10D7E0000101010101010101010101010101010129
+:10D7F0000101010101010101010101010101010119
+:10D800000101010101010101010101010101010108
+:10D8100001010101010101010101010101010101F8
+:10D8200001010101010101010101010101010101E8
+:10D8300001010101010101010101010101010101D8
+:10D8400001010101010101010101010101010101C8
+:10D8500001010101010101010101010101010101B8
+:10D8600001010101010101010101010101010101A8
+:10D870000101010101010101010101010101010198
+:10D880000101010101010101010101010101010188
+:10D890000101010101010101010101010101010178
+:10D8A0000101010101010101010101010101010168
+:10D8B0000101010101010101010101010101010158
+:10D8C0000101010101010101010101010101010148
+:10D8D0000101010101010101010101010101010138
+:10D8E0000101010101010101010101010101010128
+:10D8F0000101010101010101010101010101010118
+:10D900000101010101010101010101010101010107
+:10D9100001010101010101010101010101010101F7
+:10D9200001010101010101010101010101010101E7
+:10D9300001010101010101010101010101010101D7
+:10D9400001010101010101010101010101010101C7
+:10D9500001010101010101010101010101010101B7
+:10D9600001010101010101010101010101010101A7
+:10D970000101010101010101010101010101010197
+:10D980000101010101010101010101010101010187
+:10D990000101010101010101010101010101010177
+:10D9A0000101010101010101010101010101010167
+:10D9B0000101010101010101010101010101010157
+:10D9C0000101010101010101010101010101010147
+:10D9D0000101010101010101010101010101010137
+:10D9E0000101010101010101010101010101010127
+:10D9F0000101010101010101010101010101010117
+:10DA00000101010101010101010101010101010106
+:10DA100001010101010101010101010101010101F6
+:10DA200001010101010101010101010101010101E6
+:10DA300001010101010101010101010101010101D6
+:10DA400001010101010101010101010101010101C6
+:10DA500001010101010101010101010101010101B6
+:10DA600001010101010101010101010101010101A6
+:10DA70000101010101010101010101010101010196
+:10DA80000101010101010101010101010101010186
+:10DA90000101010101010101010101010101010176
+:10DAA0000101010101010101010101010101010166
+:10DAB0000101010101010101010101010101010156
+:10DAC0000101010101010101010101010101010146
+:10DAD0000101010101010101010101010101010136
+:10DAE0000101010101010101010101010101010126
+:10DAF0000101010101010101010101010101010116
+:10DB00000101010101010101010101010101010105
+:10DB100001010101010101010000000000000000FD
+:10DB200000000000000000000000000000000000F5
+:10DB300000000000000000000000000000000000E5
+:10DB400000000000000000000000000000000000D5
+:10DB500000000000000000000000000000000000C5
+:10DB600000000000000000000000000000000000B5
+:10DB700000000000000000000000000000000000A5
+:10DB80000000000000000000000000000000000095
+:10DB90000000000000000000000000000000000085
+:10DBA0000000000000000000000000000000000075
+:10DBB0000000000000000000000000000000000065
+:10DBC0000000000000000000000000000000000055
+:10DBD0000000000000000000000000000000000045
+:10DBE0000000000000000000000000000000000035
+:10DBF0000000000000000000000000000000000025
+:10DC00000000000000000000000000000000000014
+:10DC10000000000000000000000000000000000004
+:10DC200000000000000000000000000000000000F4
+:10DC300000000000000000000000000000000000E4
+:10DC400000000000000000000000000000000000D4
+:10DC500000000000000000000000000000000000C4
+:10DC600000000000000000000000000000000000B4
+:10DC700000000000000000000000000000000000A4
+:10DC80000000000000000000000000000000000094
+:10DC90000000000000000000000000000000000084
+:10DCA0000000000000000000000000000000000074
+:10DCB0000000000000000000000000000000000064
+:10DCC0000000000000000000000000000000000054
+:10DCD0000000000000000000000000000000000044
+:10DCE0000000000000000000000000000000000034
+:10DCF0000000000000000000000000000000000024
+:10DD00000000000000000000000000000000000013
+:10DD10000000000000000000000000000000000003
+:10DD200000000000000000000000000000000000F3
+:10DD300000000000000000000000000000000000E3
+:10DD400000000000000000000000000000000000D3
+:10DD500000000000000000000000000000000000C3
+:10DD600000000000000000000000000000000000B3
+:10DD700000000000000000000000000000000000A3
+:10DD80000000000000000000000000000000000093
+:10DD90000000000000000000000000000000000083
+:10DDA0000000000000000000000000000000000073
+:10DDB0000000000000000000000000000000000063
+:10DDC0000000000000000000000000000000000053
+:10DDD0000000000000000000000000000000000043
+:10DDE0000000000000000000000000000000000033
+:10DDF0000000000000000000000000000000000023
+:10DE00000000000000000000000000000000000012
+:10DE10000000000000000000000000000000000002
+:10DE200000000000000000000000000000000000F2
+:10DE300000000000000000000000000000000000E2
+:10DE400000000000000000000000000000000000D2
+:10DE500000000000000000000000000000000000C2
+:10DE600000000000000000000000000000000000B2
+:10DE700000000000000000000000000000000000A2
+:10DE80000000000000000000000000000000000092
+:10DE90000000000000000000000000000000000082
+:10DEA0000000000000000000000000000000000072
+:10DEB0000000000000000000000000000000000062
+:10DEC0000000000000000000000000000000000052
+:10DED0000000000000000000000000000000000042
+:10DEE0000000000000000000000000000000000032
+:10DEF0000000000000000000000000000000000022
+:10DF00000000000000000000000000000000000011
+:10DF10000000000000000000000000000000000001
+:10DF200000000000000000000000000000000000F1
+:10DF300000000000000000000000000000000000E1
+:10DF400000000000000000000000000000000000D1
+:10DF500000000000000000000000000000000000C1
+:10DF600000000000000000000000000000000000B1
+:10DF700000000000000000000000000000000000A1
+:10DF80000000000000000000000000000000000091
+:10DF90000000000000000000000000000000000081
+:10DFA0000000000000000000000000000000000071
+:10DFB0000000000000000000000000000000000061
+:10DFC0000000000000000000000000000000000051
+:10DFD0000000000000000000000000000000000041
+:10DFE0000000000000000000000000000000000031
+:10DFF0000000000000000000000000000000000021
+:10E000000000000000000000000000000000000010
+:10E010000000000000000000000000000000000000
+:10E0200000000000000000000000000000000000F0
+:10E0300000000000000000000000000000000000E0
+:10E0400000000000000000000000000000000000D0
+:10E0500000000000000000000000000000000000C0
+:10E0600000000000000000000000000000000000B0
+:10E0700000000000000000000000000000000000A0
+:10E080000000000000000000000000000000000090
+:10E090000000000000000000000000000000000080
+:10E0A0000000000000000000000000000000000070
+:10E0B0000000000000000000000000000000000060
+:10E0C0000000000000000000000000000000000050
+:10E0D0000000000000000000000000000000000040
+:10E0E0000000000000000000000000000000000030
+:10E0F0000000000000000000000000000000000020
+:10E10000000000000000000000000000000000000F
+:10E1100000000000000000000000000000000000FF
+:10E1200000000000000000000000000000000000EF
+:10E1300000000000000000000000000000000000DF
+:10E1400000000000000000000000000000000000CF
+:10E1500000000000000000000000000000000000BF
+:10E1600000000000000000000000000000000000AF
+:10E17000000000000000000000000000000000009F
+:10E18000000000000000000000000000000000008F
+:10E19000000000000000000000000000000000007F
+:10E1A000000000000000000000000000000000006F
+:10E1B000000000000000000000000000000000005F
+:10E1C000000000000000000000000000000000004F
+:10E1D000000000000000000000000000000000003F
+:10E1E000000000000000000000000000000000002F
+:10E1F000000000000000000000000000000000001F
+:10E20000000000000000000000000000000000000E
+:10E2100000000000000000000101010101010101F6
+:10E2200001010101010101010101010101010101DE
+:10E2300001010101010101010101010101010101CE
+:10E2400001010101010101010101010101010101BE
+:10E2500001010101010101010101010101010101AE
+:10E26000010101010101010101010101010101019E
+:10E27000010101010101010101010101010101018E
+:10E28000010101010101010101010101010101017E
+:10E29000010101010101010101010101010101016E
+:10E2A000010101010101010101010101010101015E
+:10E2B000010101010101010101010101010101014E
+:10E2C000010101010101010101010101010101013E
+:10E2D000010101010101010101010101010101012E
+:10E2E000010101010101010101010101010101011E
+:10E2F000010101010101010101010101010101010E
+:10E3000001010101010101010101010101010101FD
+:10E3100001010101010101010101010101010101ED
+:10E3200001010101010101010101010101010101DD
+:10E3300001010101010101010101010101010101CD
+:10E3400001010101010101010101010101010101BD
+:10E3500001010101010101010101010101010101AD
+:10E36000010101010101010101010101010101019D
+:10E37000010101010101010101010101010101018D
+:10E38000010101010101010101010101010101017D
+:10E39000010101010101010101010101010101016D
+:10E3A000010101010101010101010101010101015D
+:10E3B000010101010101010101010101010101014D
+:10E3C000010101010101010101010101010101013D
+:10E3D000010101010101010101010101010101012D
+:10E3E000010101010101010101010101010101011D
+:10E3F000010101010101010101010101010101010D
+:10E4000001010101010101010101010101010101FC
+:10E4100001010101010101010202020202020202E4
+:10E4200002020202020202020202020202020202CC
+:10E4300002020202020202020202020202020202BC
+:10E4400002020202020202020202020202020202AC
+:10E45000020202020202020202020202020202029C
+:10E46000020202020202020202020202020202028C
+:10E47000020202020202020202020202020202027C
+:10E48000020202020202020202020202020202026C
+:10E49000020202020202020202020202020202025C
+:10E4A000020202020202020202020202020202024C
+:10E4B000020202020202020202020202020202023C
+:10E4C000020202020202020202020202020202022C
+:10E4D000020202020202020202020202020202021C
+:10E4E000020202020202020202020202020202020C
+:10E4F00002020202020202020202020202020202FC
+:10E5000002020202020202020202020202020202EB
+:10E5100002020202020202020202020202020202DB
+:10E5200002020202020202020202020202020202CB
+:10E5300002020202020202020202020202020202BB
+:10E5400002020202020202020202020202020202AB
+:10E55000020202020202020202020202020202029B
+:10E56000020202020202020202020202020202028B
+:10E57000020202020202020202020202020202027B
+:10E58000020202020202020202020202020202026B
+:10E59000020202020202020202020202020202025B
+:10E5A000020202020202020202020202020202024B
+:10E5B000020202020202020202020202020202023B
+:10E5C000020202020202020202020202020202022B
+:10E5D000020202020202020202020202020202021B
+:10E5E000020202020202020202020202020202020B
+:10E5F00002020202020202020202020202020202FB
+:10E6000002020202020202020202020202020202EA
+:10E6100002020202020202020202020202020202DA
+:10E6200002020202020202020202020202020202CA
+:10E6300002020202020202020202020202020202BA
+:10E6400002020202020202020202020202020202AA
+:10E65000020202020202020202020202020202029A
+:10E66000020202020202020202020202020202028A
+:10E67000020202020202020202020202020202027A
+:10E68000020202020202020202020202020202026A
+:10E69000020202020202020202020202020202025A
+:10E6A000020202020202020202020202020202024A
+:10E6B000020202020202020202020202020202023A
+:10E6C000020202020202020202020202020202022A
+:10E6D000020202020202020202020202020202021A
+:10E6E000020202020202020202020202020202020A
+:10E6F00002020202020202020202020202020202FA
+:10E7000002020202020202020202020202020202E9
+:10E7100002020202020202020202020202020202D9
+:10E7200002020202020202020202020202020202C9
+:10E7300002020202020202020202020202020202B9
+:10E7400002020202020202020202020202020202A9
+:10E750000202020202020202020202020202020299
+:10E760000202020202020202020202020202020289
+:10E770000202020202020202020202020202020279
+:10E780000202020202020202020202020202020269
+:10E790000202020202020202020202020202020259
+:10E7A0000202020202020202020202020202020249
+:10E7B0000202020202020202020202020202020239
+:10E7C0000202020202020202020202020202020229
+:10E7D0000202020202020202020202020202020219
+:10E7E0000202020202020202020202020202020209
+:10E7F00002020202020202020202020202020202F9
+:10E8000002020202020202020202020202020202E8
+:10E8100002020202020202020202020202020202D8
+:10E8200002020202020202020202020202020202C8
+:10E8300002020202020202020202020202020202B8
+:10E8400002020202020202020202020202020202A8
+:10E850000202020202020202020202020202020298
+:10E860000202020202020202020202020202020288
+:10E870000202020202020202020202020202020278
+:10E880000202020202020202020202020202020268
+:10E890000202020202020202020202020202020258
+:10E8A0000202020202020202020202020202020248
+:10E8B0000202020202020202020202020202020238
+:10E8C0000202020202020202020202020202020228
+:10E8D0000202020202020202020202020202020218
+:10E8E0000202020202020202020202020202020208
+:10E8F00002020202020202020202020202020202F8
+:10E9000002020202020202020202020202020202E7
+:10E9100002020202020202020202020202020202D7
+:10E9200002020202020202020202020202020202C7
+:10E9300002020202020202020202020202020202B7
+:10E9400002020202020202020202020202020202A7
+:10E950000202020202020202020202020202020297
+:10E960000202020202020202020202020202020287
+:10E970000202020202020202020202020202020277
+:10E980000202020202020202020202020202020267
+:10E990000202020202020202020202020202020257
+:10E9A0000202020202020202020202020202020247
+:10E9B0000202020202020202020202020202020237
+:10E9C0000202020202020202020202020202020227
+:10E9D0000202020202020202020202020202020217
+:10E9E0000202020202020202020202020202020207
+:10E9F00002020202020202020202020202020202F7
+:10EA000002020202020202020202020202020202E6
+:10EA100002020202020202020202020202020202D6
+:10EA200002020202020202020202020202020202C6
+:10EA300002020202020202020202020202020202B6
+:10EA400002020202020202020202020202020202A6
+:10EA50000202020202020202020202020202020296
+:10EA60000202020202020202020202020202020286
+:10EA70000202020202020202020202020202020276
+:10EA80000202020202020202020202020202020266
+:10EA90000202020202020202020202020202020256
+:10EAA0000202020202020202020202020202020246
+:10EAB0000202020202020202020202020202020236
+:10EAC0000202020202020202020202020202020226
+:10EAD0000202020202020202020202020202020216
+:10EAE0000202020202020202020202020202020206
+:10EAF00002020202020202020202020202020202F6
+:10EB000002020202020202020202020202020202E5
+:10EB100002020202020202020202020202020202D5
+:10EB200002020202020202020202020202020202C5
+:10EB300002020202020202020202020202020202B5
+:10EB400002020202020202020202020202020202A5
+:10EB50000202020202020202020202020202020295
+:10EB60000202020202020202020202020202020285
+:10EB70000202020202020202020202020202020275
+:10EB80000202020202020202020202020202020265
+:10EB90000202020202020202020202020202020255
+:10EBA0000202020202020202020202020202020245
+:10EBB0000202020202020202020202020202020235
+:10EBC0000202020202020202020202020202020225
+:10EBD0000202020202020202020202020202020215
+:10EBE0000202020202020202020202020202020205
+:10EBF00002020202020202020202020202020202F5
+:10EC000002020202020202020202020202020202E4
+:10EC100002020202020202020202020202020202D4
+:10EC200002020202020202020202020202020202C4
+:10EC300002020202020202020202020202020202B4
+:10EC400002020202020202020202020202020202A4
+:10EC50000202020202020202020202020202020294
+:10EC60000202020202020202020202020202020284
+:10EC70000202020202020202020202020202020274
+:10EC80000202020202020202020202020202020264
+:10EC90000202020202020202020202020202020254
+:10ECA0000202020202020202020202020202020244
+:10ECB0000202020202020202020202020202020234
+:10ECC0000202020202020202020202020202020224
+:10ECD0000202020202020202020202020202020214
+:10ECE0000202020202020202020202020202020204
+:10ECF00002020202020202020202020202020202F4
+:10ED000002020202020202020202020202020202E3
+:10ED100002020202020202020202020202020202D3
+:10ED200002020202020202020202020202020202C3
+:10ED300002020202020202020202020202020202B3
+:10ED400002020202020202020202020202020202A3
+:10ED50000202020202020202020202020202020293
+:10ED60000202020202020202020202020202020283
+:10ED70000202020202020202020202020202020273
+:10ED80000202020202020202020202020202020263
+:10ED90000202020202020202020202020202020253
+:10EDA0000202020202020202020202020202020243
+:10EDB0000202020202020202020202020202020233
+:10EDC0000202020202020202020202020202020223
+:10EDD0000202020202020202020202020202020213
+:10EDE0000202020202020202020202020202020203
+:10EDF00002020202020202020202020202020202F3
+:10EE000002020202020202020202020202020202E2
+:10EE100002020202020202020202020202020202D2
+:10EE200002020202020202020202020202020202C2
+:10EE300002020202020202020202020202020202B2
+:10EE400002020202020202020202020202020202A2
+:10EE50000202020202020202020202020202020292
+:10EE60000202020202020202020202020202020282
+:10EE70000202020202020202020202020202020272
+:10EE80000202020202020202020202020202020262
+:10EE90000202020202020202020202020202020252
+:10EEA0000202020202020202020202020202020242
+:10EEB0000202020202020202020202020202020232
+:10EEC0000202020202020202020202020202020222
+:10EED0000202020202020202020202020202020212
+:10EEE0000202020202020202020202020202020202
+:10EEF00002020202020202020202020202020202F2
+:10EF000002020202020202020202020202020202E1
+:10EF100002020202020202020202020202020202D1
+:10EF200002020202020202020202020202020202C1
+:10EF300002020202020202020202020202020202B1
+:10EF400002020202020202020202020202020202A1
+:10EF50000202020202020202020202020202020291
+:10EF60000202020202020202020202020202020281
+:10EF70000202020202020202020202020202020271
+:10EF80000202020202020202020202020202020261
+:10EF90000202020202020202020202020202020251
+:10EFA0000202020202020202020202020202020241
+:10EFB0000202020202020202020202020202020231
+:10EFC0000202020202020202020202020202020221
+:10EFD0000202020202020202020202020202020211
+:10EFE0000202020202020202020202020202020201
+:10EFF00002020202020202020202020202020202F1
+:10F0000002020202020202020202020202020202E0
+:10F0100002020202020202020202020202020202D0
+:10F0200002020202020202020202020202020202C0
+:10F0300002020202020202020202020202020202B0
+:10F0400002020202020202020202020202020202A0
+:10F050000202020202020202020202020202020290
+:10F060000202020202020202020202020202020280
+:10F070000202020202020202020202020202020270
+:10F080000202020202020202020202020202020260
+:10F090000202020202020202020202020202020250
+:10F0A0000202020202020202020202020202020240
+:10F0B0000202020202020202020202020202020230
+:10F0C0000202020202020202020202020202020220
+:10F0D0000202020202020202020202020202020210
+:10F0E0000202020202020202020202020202020200
+:10F0F00002020202020202020202020202020202F0
+:10F1000002020202020202020202020202020202DF
+:10F1100002020202020202020202020202020202CF
+:10F1200002020202020202020202020202020202BF
+:10F1300002020202020202020202020202020202AF
+:10F14000020202020202020202020202020202029F
+:10F15000020202020202020202020202020202028F
+:10F16000020202020202020202020202020202027F
+:10F17000020202020202020202020202020202026F
+:10F18000020202020202020202020202020202025F
+:10F19000020202020202020202020202020202024F
+:10F1A000020202020202020202020202020202023F
+:10F1B000020202020202020202020202020202022F
+:10F1C000020202020202020202020202020202021F
+:10F1D000020202020202020202020202020202020F
+:10F1E00002020202020202020202020202020202FF
+:10F1F00002020202020202020202020202020202EF
+:10F2000002020202020202020202020202020202DE
+:10F2100002020202020202020202020202020202CE
+:10F2200002020202020202020202020202020202BE
+:10F2300002020202020202020202020202020202AE
+:10F24000020202020202020202020202020202029E
+:10F25000020202020202020202020202020202028E
+:10F26000020202020202020202020202020202027E
+:10F27000020202020202020202020202020202026E
+:10F28000020202020202020202020202020202025E
+:10F29000020202020202020202020202020202024E
+:10F2A000020202020202020202020202020202023E
+:10F2B000020202020202020202020202020202022E
+:10F2C000020202020202020202020202020202021E
+:10F2D000020202020202020202020202020202020E
+:10F2E00002020202020202020202020202020202FE
+:10F2F00002020202020202020202020202020202EE
+:10F3000002020202020202020202020202020202DD
+:10F3100002020202020202020202020202020202CD
+:10F3200002020202020202020202020202020202BD
+:10F3300002020202020202020202020202020202AD
+:10F34000020202020202020202020202020202029D
+:10F35000020202020202020202020202020202028D
+:10F36000020202020202020202020202020202027D
+:10F37000020202020202020202020202020202026D
+:10F38000020202020202020202020202020202025D
+:10F39000020202020202020202020202020202024D
+:10F3A000020202020202020202020202020202023D
+:10F3B000020202020202020202020202020202022D
+:10F3C000020202020202020202020202020202021D
+:10F3D000020202020202020202020202020202020D
+:10F3E00002020202020202020202020202020202FD
+:10F3F00002020202020202020202020202020202ED
+:10F4000002020202020202020202020202020202DC
+:10F4100002020202020202020202020202020202CC
+:10F4200002020202020202020202020202020202BC
+:10F4300002020202020202020202020202020202AC
+:10F44000020202020202020202020202020202029C
+:10F45000020202020202020202020202020202028C
+:10F46000020202020202020202020202020202027C
+:10F47000020202020202020202020202020202026C
+:10F48000020202020202020202020202020202025C
+:10F49000020202020202020202020202020202024C
+:10F4A000020202020202020202020202020202023C
+:10F4B000020202020202020202020202020202022C
+:10F4C000020202020202020202020202020202021C
+:10F4D000020202020202020202020202020202020C
+:10F4E00002020202020202020202020202020202FC
+:10F4F00002020202020202020202020202020202EC
+:10F5000002020202020202020202020202020202DB
+:10F5100002020202020202020000000000000000DB
+:10F5200000000000000000000000000000000000DB
+:10F5300000000000000000000000000000000000CB
+:10F5400000000000000000000000000000000000BB
+:10F5500000000000000000000000000000000000AB
+:10F56000000000000000000000000000000000009B
+:10F57000000000000000000000000000000000008B
+:10F58000000000000000000000000000000000007B
+:10F59000000000000000000000000000000000006B
+:10F5A000000000000000000000000000000000005B
+:10F5B000000000000000000000000000000000004B
+:10F5C000000000000000000000000000000000003B
+:10F5D000000000000000000000000000000000002B
+:10F5E000000000000000000000000000000000001B
+:10F5F000000000000000000000000000000000000B
+:10F6000000000000000000000000000000000000FA
+:10F6100000000000000000000000000000000000EA
+:10F6200000000000000000000000000000000000DA
+:10F6300000000000000000000000000000000000CA
+:10F6400000000000000000000000000000000000BA
+:10F6500000000000000000000000000000000000AA
+:10F66000000000000000000000000000000000009A
+:10F67000000000000000000000000000000000008A
+:10F68000000000000000000000000000000000007A
+:10F69000000000000000000000000000000000006A
+:10F6A000000000000000000000000000000000005A
+:10F6B000000000000000000000000000000000004A
+:10F6C000000000000000000000000000000000003A
+:10F6D000000000000000000000000000000000002A
+:10F6E000000000000000000000000000000000001A
+:10F6F000000000000000000000000000000000000A
+:10F7000000000000000000000000000000000000F9
+:10F7100000000000000000000000000000000000E9
+:10F7200000000000000000000000000000000000D9
+:10F7300000000000000000000000000000000000C9
+:10F7400000000000000000000000000000000000B9
+:10F7500000000000000000000000000000000000A9
+:10F760000000000000000000000000000000000099
+:10F770000000000000000000000000000000000089
+:10F780000000000000000000000000000000000079
+:10F790000000000000000000000000000000000069
+:10F7A0000000000000000000000000000000000059
+:10F7B0000000000000000000000000000000000049
+:10F7C0000000000000000000000000000000000039
+:10F7D0000000000000000000000000000000000029
+:10F7E0000000000000000000000000000000000019
+:10F7F0000000000000000000000000000000000009
+:10F8000000000000000000000000000000000000F8
+:10F8100000000000000000000000000000000000E8
+:10F8200000000000000000000000000000000000D8
+:10F8300000000000000000000000000000000000C8
+:10F8400000000000000000000000000000000000B8
+:10F8500000000000000000000000000000000000A8
+:10F860000000000000000000000000000000000098
+:10F870000000000000000000000000000000000088
+:10F880000000000000000000000000000000000078
+:10F890000000000000000000000000000000000068
+:10F8A0000000000000000000000000000000000058
+:10F8B0000000000000000000000000000000000048
+:10F8C0000000000000000000000000000000000038
+:10F8D0000000000000000000000000000000000028
+:10F8E0000000000000000000000000000000000018
+:10F8F0000000000000000000000000000000000008
+:10F9000000000000000000000000000000000000F7
+:10F9100000000000000000000000000000000000E7
+:10F9200000000000000000000000000000000000D7
+:10F9300000000000000000000000000000000000C7
+:10F9400000000000000000000000000000000000B7
+:10F9500000000000000000000000000000000000A7
+:10F960000000000000000000000000000000000097
+:10F970000000000000000000000000000000000087
+:10F980000000000000000000000000000000000077
+:10F990000000000000000000000000000000000067
+:10F9A0000000000000000000000000000000000057
+:10F9B0000000000000000000000000000000000047
+:10F9C0000000000000000000000000000000000037
+:10F9D0000000000000000000000000000000000027
+:10F9E0000000000000000000000000000000000017
+:10F9F0000000000000000000000000000000000007
+:10FA000000000000000000000000000000000000F6
+:10FA100000000000000000000000000000000000E6
+:10FA200000000000000000000000000000000000D6
+:10FA300000000000000000000000000000000000C6
+:10FA400000000000000000000000000000000000B6
+:10FA500000000000000000000000000000000000A6
+:10FA60000000000000000000000000000000000096
+:10FA70000000000000000000000000000000000086
+:10FA80000000000000000000000000000000000076
+:10FA90000000000000000000000000000000000066
+:10FAA0000000000000000000000000000000000056
+:10FAB0000000000000000000000000000000000046
+:10FAC0000000000000000000000000000000000036
+:10FAD0000000000000000000000000000000000026
+:10FAE0000000000000000000000000000000000016
+:10FAF0000000000000000000000000000000000006
+:10FB000000000000000000000000000000000000F5
+:10FB10000000000000000000710000000000000074
+:10FB200001010101010101010101010101010101C5
+:10FB300001010101010101010101010101010101B5
+:10FB400001010101010101010101010101010101A5
+:10FB50000101010101010101010101010101010195
+:10FB60000101010101010101010101010101010185
+:10FB70000101010101010101010101010101010175
+:10FB80000101010101010101010101010101010165
+:10FB90000101010101010101010101010101010155
+:10FBA0000101010101010101010101010101010145
+:10FBB0000101010101010101010101010101010135
+:10FBC0000101010101010101010101010101010125
+:10FBD0000101010101010101010101010101010115
+:10FBE0000101010101010101010101010101010105
+:10FBF00001010101010101010101010101010101F5
+:10FC000001010101010101010101010101010101E4
+:10FC100001010101010101010101010101010101D4
+:10FC200001010101010101010101010101010101C4
+:10FC300001010101010101010101010101010101B4
+:10FC400001010101010101010101010101010101A4
+:10FC50000101010101010101010101010101010194
+:10FC60000101010101010101010101010101010184
+:10FC70000101010101010101010101010101010174
+:10FC80000101010101010101010101010101010164
+:10FC90000101010101010101010101010101010154
+:10FCA0000101010101010101010101010101010144
+:10FCB0000101010101010101010101010101010134
+:10FCC0000101010101010101010101010101010124
+:10FCD0000101010101010101010101010101010114
+:10FCE0000101010101010101010101010101010104
+:10FCF00001010101010101010101010101010101F4
+:10FD000001010101010101010101010101010101E3
+:10FD100001010101010101010101010101010101D3
+:10FD200001010101010101010101010101010101C3
+:10FD300001010101010101010101010101010101B3
+:10FD400001010101010101010101010101010101A3
+:10FD50000101010101010101010101010101010193
+:10FD60000101010101010101010101010101010183
+:10FD70000101010101010101010101010101010173
+:10FD80000101010101010101010101010101010163
+:10FD90000101010101010101010101010101010153
+:10FDA0000101010101010101010101010101010143
+:10FDB0000101010101010101010101010101010133
+:10FDC0000101010101010101010101010101010123
+:10FDD0000101010101010101010101010101010113
+:10FDE0000101010101010101010101010101010103
+:10FDF00001010101010101010101010101010101F3
+:10FE000001010101010101010101010101010101E2
+:10FE100001010101010101010101010101010101D2
+:10FE200001010101010101010101010101010101C2
+:10FE300001010101010101010101010101010101B2
+:10FE400001010101010101010101010101010101A2
+:10FE50000101010101010101010101010101010192
+:10FE60000101010101010101010101010101010182
+:10FE70000101010101010101010101010101010172
+:10FE80000101010101010101010101010101010162
+:10FE90000101010101010101010101010101010152
+:10FEA0000101010101010101010101010101010142
+:10FEB0000101010101010101010101010101010132
+:10FEC0000101010101010101010101010101010122
+:10FED0000101010101010101010101010101010112
+:10FEE0000101010101010101010101010101010102
+:10FEF00001010101010101010101010101010101F2
+:10FF000001010101010101010101010101010101E1
+:10FF100001010101010101010101010101010101D1
+:10FF200001010101010101010101010101010101C1
+:10FF300001010101010101010101010101010101B1
+:10FF400001010101010101010101010101010101A1
+:10FF50000101010101010101010101010101010191
+:10FF60000101010101010101010101010101010181
+:10FF70000101010101010101010101010101010171
+:10FF80000101010101010101010101010101010161
+:10FF90000101010101010101010101010101010151
+:10FFA0000101010101010101010101010101010141
+:10FFB0000101010101010101010101010101010131
+:10FFC0000101010101010101010101010101010121
+:10FFD0000101010101010101010101010101010111
+:10FFE0000101010101010101010101010101010101
+:10FFF00001010101010101010101010101010101F1
+:020000024000BC
+:1000000001010101010101010101010101010101E0
+:1000100001010101010101010101010101010101D0
+:1000200001010101010101010101010101010101C0
+:1000300001010101010101010101010101010101B0
+:1000400001010101010101010101010101010101A0
+:100050000101010101010101010101010101010190
+:100060000101010101010101010101010101010180
+:100070000101010101010101010101010101010170
+:100080000101010101010101010101010101010160
+:100090000101010101010101010101010101010150
+:1000A0000101010101010101010101010101010140
+:1000B0000101010101010101010101010101010130
+:1000C0000101010101010101010101010101010120
+:1000D0000101010101010101010101010101010110
+:1000E0000101010101010101010101010101010100
+:1000F00001010101010101010101010101010101F0
+:1001000001010101010101010101010101010101DF
+:1001100001010101010101010101010101010101CF
+:1001200001010101010101010101010101010101BF
+:1001300001010101010101010101010101010101AF
+:10014000010101010101010101010101010101019F
+:10015000010101010101010101010101010101018F
+:10016000010101010101010101010101010101017F
+:10017000010101010101010101010101010101016F
+:10018000010101010101010101010101010101015F
+:10019000010101010101010101010101010101014F
+:1001A000010101010101010101010101010101013F
+:1001B000010101010101010101010101010101012F
+:1001C000010101010101010101010101010101011F
+:1001D000010101010101010101010101010101010F
+:1001E00001010101010101010101010101010101FF
+:1001F00001010101010101010101010101010101EF
+:1002000001010101010101010101010101010101DE
+:1002100001010101010101010101010101010101CE
+:1002200000000000000000000000000000000000CE
+:1002300000000000000000000000000000000000BE
+:1002400000000000000000000000000000000000AE
+:10025000000000000000000000000000000000009E
+:10026000000000000000000000000000000000008E
+:10027000000000000000000000000000000000007E
+:10028000000000000000000000000000000000006E
+:10029000000000000000000000000000000000005E
+:1002A000000000000000000000000000000000004E
+:1002B000000000000000000000000000000000003E
+:1002C000000000000000000000000000000000002E
+:1002D000000000000000000000000000000000001E
+:1002E000000000000000000000000000000000000E
+:1002F00000000000000000000000000000000000FE
+:1003000000000000000000000000000000000000ED
+:1003100000000000000000000000000000000000DD
+:1003200000000000000000000000000000000000CD
+:1003300000000000000000000000000000000000BD
+:1003400000000000000000000000000000000000AD
+:10035000000000000000000000000000000000009D
+:10036000000000000000000000000000000000008D
+:10037000000000000000000000000000000000007D
+:10038000000000000000000000000000000000006D
+:10039000000000000000000000000000000000005D
+:1003A000000000000000000000000000000000004D
+:1003B000000000000000000000000000000000003D
+:1003C000000000000000000000000000000000002D
+:1003D000000000000000000000000000000000001D
+:1003E000000000000000000000000000000000000D
+:1003F00000000000000000000000000000000000FD
+:1004000000000000000000000000000000000000EC
+:1004100000000000000000000000000000000000DC
+:1004200000000000000000000000000000000000CC
+:1004300000000000000000000000000000000000BC
+:1004400000000000000000000000000000000000AC
+:10045000000000000000000000000000000000009C
+:10046000000000000000000000000000000000008C
+:10047000000000000000000000000000000000007C
+:10048000000000000000000000000000000000006C
+:10049000000000000000000000000000000000005C
+:1004A000000000000000000000000000000000004C
+:1004B000000000000000000000000000000000003C
+:1004C000000000000000000000000000000000002C
+:1004D000000000000000000000000000000000001C
+:1004E000000000000000000000000000000000000C
+:1004F00000000000000000000000000000000000FC
+:1005000000000000000000000000000000000000EB
+:1005100000000000000000000000000000000000DB
+:1005200000000000000000000000000000000000CB
+:1005300000000000000000000000000000000000BB
+:1005400000000000000000000000000000000000AB
+:10055000000000000000000000000000000000009B
+:10056000000000000000000000000000000000008B
+:10057000000000000000000000000000000000007B
+:10058000000000000000000000000000000000006B
+:10059000000000000000000000000000000000005B
+:1005A000000000000000000000000000000000004B
+:1005B000000000000000000000000000000000003B
+:1005C000000000000000000000000000000000002B
+:1005D000000000000000000000000000000000001B
+:1005E000000000000000000000000000000000000B
+:1005F00000000000000000000000000000000000FB
+:1006000000000000000000000000000000000000EA
+:1006100000000000000000000000000000000000DA
+:1006200000000000000000000000000000000000CA
+:1006300000000000000000000000000000000000BA
+:1006400000000000000000000000000000000000AA
+:10065000000000000000000000000000000000009A
+:10066000000000000000000000000000000000008A
+:10067000000000000000000000000000000000007A
+:10068000000000000000000000000000000000006A
+:10069000000000000000000000000000000000005A
+:1006A000000000000000000000000000000000004A
+:1006B000000000000000000000000000000000003A
+:1006C000000000000000000000000000000000002A
+:1006D000000000000000000000000000000000001A
+:1006E000000000000000000000000000000000000A
+:1006F00000000000000000000000000000000000FA
+:1007000000000000000000000000000000000000E9
+:1007100000000000000000000000000000000000D9
+:1007200000000000000000000000000000000000C9
+:1007300000000000000000000000000000000000B9
+:1007400000000000000000000000000000000000A9
+:100750000000000000000000000000000000000099
+:100760000000000000000000000000000000000089
+:100770000000000000000000000000000000000079
+:100780000000000000000000000000000000000069
+:100790000000000000000000000000000000000059
+:1007A0000000000000000000000000000000000049
+:1007B0000000000000000000000000000000000039
+:1007C0000000000000000000000000000000000029
+:1007D0000000000000000000000000000000000019
+:1007E0000000000000000000000000000000000009
+:1007F00000000000000000000000000000000000F9
+:1008000000000000000000000000000000000000E8
+:1008100000000000000000000000000000000000D8
+:1008200000000000000000000000000000000000C8
+:1008300000000000000000000000000000000000B8
+:1008400000000000000000000000000000000000A8
+:100850000000000000000000000000000000000098
+:100860000000000000000000000000000000000088
+:100870000000000000000000000000000000000078
+:100880000000000000000000000000000000000068
+:100890000000000000000000000000000000000058
+:1008A0000000000000000000000000000000000048
+:1008B0000000000000000000000000000000000038
+:1008C0000000000000000000000000000000000028
+:1008D0000000000000000000000000000000000018
+:1008E0000000000000000000000000000000000008
+:1008F00000000000000000000000000000000000F8
+:1009000000000000000000000000000000000000E7
+:1009100000000000000000000000000000000000D7
+:1009200000000000000000000000000000000000C7
+:1009300000000000000000000000000000000000B7
+:1009400000000000000000000000000000000000A7
+:100950000000000000000000000000000000000097
+:100960000000000000000000000000000000000087
+:100970000000000000000000000000000000000077
+:100980000000000000000000000000000000000067
+:100990000000000000000000000000000000000057
+:1009A0000000000000000000000000000000000047
+:1009B0000000000000000000000000000000000037
+:1009C0000000000000000000000000000000000027
+:1009D0000000000000000000000000000000000017
+:1009E0000000000000000000000000000000000007
+:1009F00000000000000000000000000000000000F7
+:100A000000000000000000000000000000000000E6
+:100A100000000000000000000000000000000000D6
+:100A200000000000000000000000000000000000C6
+:100A300000000000000000000000000000000000B6
+:100A400000000000000000000000000000000000A6
+:100A50000000000000000000000000000000000096
+:100A60000000000000000000000000000000000086
+:100A70000000000000000000000000000000000076
+:100A80000000000000000000000000000000000066
+:100A90000000000000000000000000000000000056
+:100AA0000000000000000000000000000000000046
+:100AB0000000000000000000000000000000000036
+:100AC0000000000000000000000000000000000026
+:100AD0000000000000000000000000000000000016
+:100AE0000000000000000000000000000000000006
+:100AF00000000000000000000000000000000000F6
+:100B000000000000000000000000000000000000E5
+:100B100000000000000000000000000000000000D5
+:100B200000000000000000000000000000000000C5
+:100B300000000000000000000000000000000000B5
+:100B400000000000000000000000000000000000A5
+:100B50000000000000000000000000000000000095
+:100B60000000000000000000000000000000000085
+:100B70000000000000000000000000000000000075
+:100B80000000000000000000000000000000000065
+:100B90000000000000000000000000000000000055
+:100BA0000000000000000000000000000000000045
+:100BB0000000000000000000000000000000000035
+:100BC0000000000000000000000000000000000025
+:100BD0000000000000000000000000000000000015
+:100BE0000000000000000000000000000000000005
+:100BF00000000000000000000000000000000000F5
+:100C000000000000000000000000000000000000E4
+:100C100000000000000000000000000000000000D4
+:100C200000000000000000000000000000000000C4
+:100C300000000000000000000000000000000000B4
+:100C400000000000000000000000000000000000A4
+:100C50000000000000000000000000000000000094
+:100C60000000000000000000000000000000000084
+:100C70000000000000000000000000000000000074
+:100C80000000000000000000000000000000000064
+:100C90000000000000000000000000000000000054
+:100CA0000000000000000000000000000000000044
+:100CB0000000000000000000000000000000000034
+:100CC0000000000000000000000000000000000024
+:100CD0000000000000000000000000000000000014
+:100CE0000000000000000000000000000000000004
+:100CF00000000000000000000000000000000000F4
+:100D000000000000000000000000000000000000E3
+:100D100000000000000000000000000000000000D3
+:100D200000000000000000000000000000000000C3
+:100D300000000000000000000000000000000000B3
+:100D400000000000000000000000000000000000A3
+:100D50000000000000000000000000000000000093
+:100D60000000000000000000000000000000000083
+:100D70000000000000000000000000000000000073
+:100D80000000000000000000000000000000000063
+:100D90000000000000000000000000000000000053
+:100DA0000000000000000000000000000000000043
+:100DB0000000000000000000000000000000000033
+:100DC0000000000000000000000000000000000023
+:100DD0000000000000000000000000000000000013
+:100DE0000000000000000000000000000000000003
+:100DF00000000000000000000000000000000000F3
+:100E000000000000000000000000000000000000E2
+:100E100000000000000000000000000000000000D2
+:100E200000000000000000000000000000000000C2
+:100E300000000000000000000000000000000000B2
+:100E400000000000000000000000000000000000A2
+:100E50000000000000000000000000000000000092
+:100E60000000000000000000000000000000000082
+:100E70000000000000000000000000000000000072
+:100E80000000000000000000000000000000000062
+:100E90000000000000000000000000000000000052
+:100EA0000000000000000000000000000000000042
+:100EB0000000000000000000000000000000000032
+:100EC0000000000000000000000000000000000022
+:100ED0000000000000000000000000000000000012
+:100EE0000000000000000000000000000000000002
+:100EF00000000000000000000000000000000000F2
+:100F000000000000000000000000000000000000E1
+:100F100000000000000000000000000000000000D1
+:100F200000000000000000000000000000000000C1
+:100F300000000000000000000000000000000000B1
+:100F400000000000000000000000000000000000A1
+:100F50000000000000000000000000000000000091
+:100F60000000000000000000000000000000000081
+:100F70000000000000000000000000000000000071
+:100F80000000000000000000000000000000000061
+:100F90000000000000000000000000000000000051
+:100FA0000000000000000000000000000000000041
+:100FB0000000000000000000000000000000000031
+:100FC0000000000000000000000000000000000021
+:100FD0000000000000000000000000000000000011
+:100FE0000000000000000000000000000000000001
+:100FF00000000000000000000000000000000000F1
+:1010000000000000000000000000000000000000E0
+:1010100000000000000000000000000000000000D0
+:1010200001010101010101010101010101010101B0
+:1010300001010101010101010101010101010101A0
+:101040000101010101010101010101010101010190
+:101050000101010101010101010101010101010180
+:101060000101010101010101010101010101010170
+:101070000101010101010101010101010101010160
+:101080000101010101010101010101010101010150
+:101090000101010101010101010101010101010140
+:1010A0000101010101010101010101010101010130
+:1010B0000101010101010101010101010101010120
+:1010C0000101010101010101010101010101010110
+:1010D0000101010101010101010101010101010100
+:1010E00001010101010101010101010101010101F0
+:1010F00001010101010101010101010101010101E0
+:1011000001010101010101010101010101010101CF
+:1011100001010101010101010101010101010101BF
+:1011200001010101010101010101010101010101AF
+:10113000010101010101010101010101010101019F
+:10114000010101010101010101010101010101018F
+:10115000010101010101010101010101010101017F
+:10116000010101010101010101010101010101016F
+:10117000010101010101010101010101010101015F
+:10118000010101010101010101010101010101014F
+:10119000010101010101010101010101010101013F
+:1011A000010101010101010101010101010101012F
+:1011B000010101010101010101010101010101011F
+:1011C000010101010101010101010101010101010F
+:1011D00001010101010101010101010101010101FF
+:1011E00001010101010101010101010101010101EF
+:1011F00001010101010101010101010101010101DF
+:1012000001010101010101010101010101010101CE
+:1012100001010101010101010101010101010101BE
+:1012200001010101010101010101010101010101AE
+:10123000010101010101010101010101010101019E
+:10124000010101010101010101010101010101018E
+:10125000010101010101010101010101010101017E
+:10126000010101010101010101010101010101016E
+:10127000010101010101010101010101010101015E
+:10128000010101010101010101010101010101014E
+:10129000010101010101010101010101010101013E
+:1012A000010101010101010101010101010101012E
+:1012B000010101010101010101010101010101011E
+:1012C000010101010101010101010101010101010E
+:1012D00001010101010101010101010101010101FE
+:1012E00001010101010101010101010101010101EE
+:1012F00001010101010101010101010101010101DE
+:1013000001010101010101010101010101010101CD
+:1013100001010101010101010101010101010101BD
+:1013200001010101010101010101010101010101AD
+:10133000010101010101010101010101010101019D
+:10134000010101010101010101010101010101018D
+:10135000010101010101010101010101010101017D
+:10136000010101010101010101010101010101016D
+:10137000010101010101010101010101010101015D
+:10138000010101010101010101010101010101014D
+:10139000010101010101010101010101010101013D
+:1013A000010101010101010101010101010101012D
+:1013B000010101010101010101010101010101011D
+:1013C000010101010101010101010101010101010D
+:1013D00001010101010101010101010101010101FD
+:1013E00001010101010101010101010101010101ED
+:1013F00001010101010101010101010101010101DD
+:1014000001010101010101010101010101010101CC
+:1014100001010101010101010101010101010101BC
+:1014200001010101010101010101010101010101AC
+:10143000010101010101010101010101010101019C
+:10144000010101010101010101010101010101018C
+:10145000010101010101010101010101010101017C
+:10146000010101010101010101010101010101016C
+:10147000010101010101010101010101010101015C
+:10148000010101010101010101010101010101014C
+:10149000010101010101010101010101010101013C
+:1014A000010101010101010101010101010101012C
+:1014B000010101010101010101010101010101011C
+:1014C000010101010101010101010101010101010C
+:1014D00001010101010101010101010101010101FC
+:1014E00001010101010101010101010101010101EC
+:1014F00001010101010101010101010101010101DC
+:1015000001010101010101010101010101010101CB
+:1015100001010101010101010101010101010101BB
+:1015200001010101010101010101010101010101AB
+:10153000010101010101010101010101010101019B
+:10154000010101010101010101010101010101018B
+:10155000010101010101010101010101010101017B
+:10156000010101010101010101010101010101016B
+:10157000010101010101010101010101010101015B
+:10158000010101010101010101010101010101014B
+:10159000010101010101010101010101010101013B
+:1015A000010101010101010101010101010101012B
+:1015B000010101010101010101010101010101011B
+:1015C000010101010101010101010101010101010B
+:1015D00001010101010101010101010101010101FB
+:1015E00001010101010101010101010101010101EB
+:1015F00001010101010101010101010101010101DB
+:1016000001010101010101010101010101010101CA
+:1016100001010101010101010101010101010101BA
+:1016200001010101010101010101010101010101AA
+:10163000010101010101010101010101010101019A
+:10164000010101010101010101010101010101018A
+:10165000010101010101010101010101010101017A
+:10166000010101010101010101010101010101016A
+:10167000010101010101010101010101010101015A
+:10168000010101010101010101010101010101014A
+:10169000010101010101010101010101010101013A
+:1016A000010101010101010101010101010101012A
+:1016B000010101010101010101010101010101011A
+:1016C000010101010101010101010101010101010A
+:1016D00001010101010101010101010101010101FA
+:1016E00001010101010101010101010101010101EA
+:1016F00001010101010101010101010101010101DA
+:1017000001010101010101010101010101010101C9
+:1017100001010101010101010101010101010101B9
+:1017200001010101010101010101010101010101A9
+:101730000101010101010101010101010101010199
+:101740000101010101010101010101010101010189
+:101750000101010101010101010101010101010179
+:101760000101010101010101010101010101010169
+:101770000101010101010101010101010101010159
+:101780000101010101010101010101010101010149
+:101790000101010101010101010101010101010139
+:1017A0000101010101010101010101010101010129
+:1017B0000101010101010101010101010101010119
+:1017C0000101010101010101010101010101010109
+:1017D00001010101010101010101010101010101F9
+:1017E00001010101010101010101010101010101E9
+:1017F00001010101010101010101010101010101D9
+:1018000001010101010101010101010101010101C8
+:1018100001010101010101010101010101010101B8
+:1018200000000000000000000000000000000000B8
+:1018300000000000000000000000000000000000A8
+:101840000000000000000000000000000000000098
+:101850000000000000000000000000000000000088
+:101860000000000000000000000000000000000078
+:101870000000000000000000000000000000000068
+:101880000000000000000000000000000000000058
+:101890000000000000000000000000000000000048
+:1018A0000000000000000000000000000000000038
+:1018B0000000000000000000000000000000000028
+:1018C0000000000000000000000000000000000018
+:1018D0000000000000000000000000000000000008
+:1018E00000000000000000000000000000000000F8
+:1018F00000000000000000000000000000000000E8
+:1019000000000000000000000000000000000000D7
+:1019100000000000000000000000000000000000C7
+:1019200000000000000000000000000000000000B7
+:1019300000000000000000000000000000000000A7
+:101940000000000000000000000000000000000097
+:101950000000000000000000000000000000000087
+:101960000000000000000000000000000000000077
+:101970000000000000000000000000000000000067
+:101980000000000000000000000000000000000057
+:101990000000000000000000000000000000000047
+:1019A0000000000000000000000000000000000037
+:1019B0000000000000000000000000000000000027
+:1019C0000000000000000000000000000000000017
+:1019D0000000000000000000000000000000000007
+:1019E00000000000000000000000000000000000F7
+:1019F00000000000000000000000000000000000E7
+:101A000000000000000000000000000000000000D6
+:101A100000000000000000000000000000000000C6
+:101A200000000000000000000000000000000000B6
+:101A300000000000000000000000000000000000A6
+:101A40000000000000000000000000000000000096
+:101A50000000000000000000000000000000000086
+:101A60000000000000000000000000000000000076
+:101A70000000000000000000000000000000000066
+:101A80000000000000000000000000000000000056
+:101A90000000000000000000000000000000000046
+:101AA0000000000000000000000000000000000036
+:101AB0000000000000000000000000000000000026
+:101AC0000000000000000000000000000000000016
+:101AD0000000000000000000000000000000000006
+:101AE00000000000000000000000000000000000F6
+:101AF00000000000000000000000000000000000E6
+:101B000000000000000000000000000000000000D5
+:101B100000000000000000000000000000000000C5
+:101B200000000000000000000000000000000000B5
+:101B300000000000000000000000000000000000A5
+:101B40000000000000000000000000000000000095
+:101B50000000000000000000000000000000000085
+:101B60000000000000000000000000000000000075
+:101B70000000000000000000000000000000000065
+:101B80000000000000000000000000000000000055
+:101B90000000000000000000000000000000000045
+:101BA0000000000000000000000000000000000035
+:101BB0000000000000000000000000000000000025
+:101BC0000000000000000000000000000000000015
+:101BD0000000000000000000000000000000000005
+:101BE00000000000000000000000000000000000F5
+:101BF00000000000000000000000000000000000E5
+:101C000000000000000000000000000000000000D4
+:101C100000000000000000000000000000000000C4
+:101C200001010101010101010101010101010101A4
+:101C30000101010101010101010101010101010194
+:101C40000101010101010101010101010101010184
+:101C50000101010101010101010101010101010174
+:101C60000101010101010101010101010101010164
+:101C70000101010101010101010101010101010154
+:101C80000101010101010101010101010101010144
+:101C90000101010101010101010101010101010134
+:101CA0000101010101010101010101010101010124
+:101CB0000101010101010101010101010101010114
+:101CC0000101010101010101010101010101010104
+:101CD00001010101010101010101010101010101F4
+:101CE00001010101010101010101010101010101E4
+:101CF00001010101010101010101010101010101D4
+:101D000001010101010101010101010101010101C3
+:101D100001010101010101010101010101010101B3
+:101D20000202020202020202020202020202020293
+:101D30000202020202020202020202020202020283
+:101D40000202020202020202020202020202020273
+:101D50000202020202020202020202020202020263
+:101D60000202020202020202020202020202020253
+:101D70000202020202020202020202020202020243
+:101D80000202020202020202020202020202020233
+:101D90000202020202020202020202020202020223
+:101DA0000202020202020202020202020202020213
+:101DB0000202020202020202020202020202020203
+:101DC00002020202020202020202020202020202F3
+:101DD00002020202020202020202020202020202E3
+:101DE00002020202020202020202020202020202D3
+:101DF00002020202020202020202020202020202C3
+:101E000002020202020202020202020202020202B2
+:101E100002020202020202020202020202020202A2
+:101E20000202020202020202020202020202020292
+:101E30000202020202020202020202020202020282
+:101E40000202020202020202020202020202020272
+:101E50000202020202020202020202020202020262
+:101E60000202020202020202020202020202020252
+:101E70000202020202020202020202020202020242
+:101E80000202020202020202020202020202020232
+:101E90000202020202020202020202020202020222
+:101EA0000202020202020202020202020202020212
+:101EB0000202020202020202020202020202020202
+:101EC00002020202020202020202020202020202F2
+:101ED00002020202020202020202020202020202E2
+:101EE00002020202020202020202020202020202D2
+:101EF00002020202020202020202020202020202C2
+:101F000002020202020202020202020202020202B1
+:101F100002020202020202020202020202020202A1
+:101F20000202020202020202020202020202020291
+:101F30000202020202020202020202020202020281
+:101F40000202020202020202020202020202020271
+:101F50000202020202020202020202020202020261
+:101F60000202020202020202020202020202020251
+:101F70000202020202020202020202020202020241
+:101F80000202020202020202020202020202020231
+:101F90000202020202020202020202020202020221
+:101FA0000202020202020202020202020202020211
+:101FB0000202020202020202020202020202020201
+:101FC00002020202020202020202020202020202F1
+:101FD00002020202020202020202020202020202E1
+:101FE00002020202020202020202020202020202D1
+:101FF00002020202020202020202020202020202C1
+:1020000002020202020202020202020202020202B0
+:1020100002020202020202020202020202020202A0
+:102020000202020202020202020202020202020290
+:102030000202020202020202020202020202020280
+:102040000202020202020202020202020202020270
+:102050000202020202020202020202020202020260
+:102060000202020202020202020202020202020250
+:102070000202020202020202020202020202020240
+:102080000202020202020202020202020202020230
+:102090000202020202020202020202020202020220
+:1020A0000202020202020202020202020202020210
+:1020B0000202020202020202020202020202020200
+:1020C00002020202020202020202020202020202F0
+:1020D00002020202020202020202020202020202E0
+:1020E00002020202020202020202020202020202D0
+:1020F00002020202020202020202020202020202C0
+:1021000002020202020202020202020202020202AF
+:10211000020202020202020202020202020202029F
+:10212000020202020202020202020202020202028F
+:10213000020202020202020202020202020202027F
+:10214000020202020202020202020202020202026F
+:10215000020202020202020202020202020202025F
+:10216000020202020202020202020202020202024F
+:10217000020202020202020202020202020202023F
+:10218000020202020202020202020202020202022F
+:10219000020202020202020202020202020202021F
+:1021A000020202020202020202020202020202020F
+:1021B00002020202020202020202020202020202FF
+:1021C00002020202020202020202020202020202EF
+:1021D00002020202020202020202020202020202DF
+:1021E00002020202020202020202020202020202CF
+:1021F00002020202020202020202020202020202BF
+:1022000002020202020202020202020202020202AE
+:10221000020202020202020202020202020202029E
+:10222000020202020202020202020202020202028E
+:10223000020202020202020202020202020202027E
+:10224000020202020202020202020202020202026E
+:10225000020202020202020202020202020202025E
+:10226000020202020202020202020202020202024E
+:10227000020202020202020202020202020202023E
+:10228000020202020202020202020202020202022E
+:10229000020202020202020202020202020202021E
+:1022A000020202020202020202020202020202020E
+:1022B00002020202020202020202020202020202FE
+:1022C00002020202020202020202020202020202EE
+:1022D00002020202020202020202020202020202DE
+:1022E00002020202020202020202020202020202CE
+:1022F00002020202020202020202020202020202BE
+:1023000002020202020202020202020202020202AD
+:10231000020202020202020202020202020202029D
+:10232000020202020202020202020202020202028D
+:10233000020202020202020202020202020202027D
+:10234000020202020202020202020202020202026D
+:10235000020202020202020202020202020202025D
+:10236000020202020202020202020202020202024D
+:10237000020202020202020202020202020202023D
+:10238000020202020202020202020202020202022D
+:10239000020202020202020202020202020202021D
+:1023A000020202020202020202020202020202020D
+:1023B00002020202020202020202020202020202FD
+:1023C00002020202020202020202020202020202ED
+:1023D00002020202020202020202020202020202DD
+:1023E00002020202020202020202020202020202CD
+:1023F00002020202020202020202020202020202BD
+:1024000002020202020202020202020202020202AC
+:10241000020202020202020202020202020202029C
+:10242000020202020202020202020202020202028C
+:10243000020202020202020202020202020202027C
+:10244000020202020202020202020202020202026C
+:10245000020202020202020202020202020202025C
+:10246000020202020202020202020202020202024C
+:10247000020202020202020202020202020202023C
+:10248000020202020202020202020202020202022C
+:10249000020202020202020202020202020202021C
+:1024A000020202020202020202020202020202020C
+:1024B00002020202020202020202020202020202FC
+:1024C00002020202020202020202020202020202EC
+:1024D00002020202020202020202020202020202DC
+:1024E00002020202020202020202020202020202CC
+:1024F00002020202020202020202020202020202BC
+:1025000002020202020202020202020202020202AB
+:10251000020202020202020202020202020202029B
+:10252000020202020202020202020202020202028B
+:10253000020202020202020202020202020202027B
+:10254000020202020202020202020202020202026B
+:10255000020202020202020202020202020202025B
+:10256000020202020202020202020202020202024B
+:10257000020202020202020202020202020202023B
+:10258000020202020202020202020202020202022B
+:10259000020202020202020202020202020202021B
+:1025A000020202020202020202020202020202020B
+:1025B00002020202020202020202020202020202FB
+:1025C00002020202020202020202020202020202EB
+:1025D00002020202020202020202020202020202DB
+:1025E00002020202020202020202020202020202CB
+:1025F00002020202020202020202020202020202BB
+:1026000002020202020202020202020202020202AA
+:10261000020202020202020202020202020202029A
+:10262000020202020202020202020202020202028A
+:10263000020202020202020202020202020202027A
+:10264000020202020202020202020202020202026A
+:10265000020202020202020202020202020202025A
+:10266000020202020202020202020202020202024A
+:10267000020202020202020202020202020202023A
+:10268000020202020202020202020202020202022A
+:10269000020202020202020202020202020202021A
+:1026A000020202020202020202020202020202020A
+:1026B00002020202020202020202020202020202FA
+:1026C00002020202020202020202020202020202EA
+:1026D00002020202020202020202020202020202DA
+:1026E00002020202020202020202020202020202CA
+:1026F00002020202020202020202020202020202BA
+:1027000002020202020202020202020202020202A9
+:102710000202020202020202020202020202020299
+:102720000202020202020202020202020202020289
+:102730000202020202020202020202020202020279
+:102740000202020202020202020202020202020269
+:102750000202020202020202020202020202020259
+:102760000202020202020202020202020202020249
+:102770000202020202020202020202020202020239
+:102780000202020202020202020202020202020229
+:102790000202020202020202020202020202020219
+:1027A0000202020202020202020202020202020209
+:1027B00002020202020202020202020202020202F9
+:1027C00002020202020202020202020202020202E9
+:1027D00002020202020202020202020202020202D9
+:1027E00002020202020202020202020202020202C9
+:1027F00002020202020202020202020202020202B9
+:1028000002020202020202020202020202020202A8
+:102810000202020202020202020202020202020298
+:102820000202020202020202020202020202020288
+:102830000202020202020202020202020202020278
+:102840000202020202020202020202020202020268
+:102850000202020202020202020202020202020258
+:102860000202020202020202020202020202020248
+:102870000202020202020202020202020202020238
+:102880000202020202020202020202020202020228
+:102890000202020202020202020202020202020218
+:1028A0000202020202020202020202020202020208
+:1028B00002020202020202020202020202020202F8
+:1028C00002020202020202020202020202020202E8
+:1028D00002020202020202020202020202020202D8
+:1028E00002020202020202020202020202020202C8
+:1028F00002020202020202020202020202020202B8
+:1029000002020202020202020202020202020202A7
+:102910000202020202020202020202020202020297
+:102920000202020202020202020202020202020287
+:102930000202020202020202020202020202020277
+:102940000202020202020202020202020202020267
+:102950000202020202020202020202020202020257
+:102960000202020202020202020202020202020247
+:102970000202020202020202020202020202020237
+:102980000202020202020202020202020202020227
+:102990000202020202020202020202020202020217
+:1029A0000202020202020202020202020202020207
+:1029B00002020202020202020202020202020202F7
+:1029C00002020202020202020202020202020202E7
+:1029D00002020202020202020202020202020202D7
+:1029E00002020202020202020202020202020202C7
+:1029F00002020202020202020202020202020202B7
+:102A000002020202020202020202020202020202A6
+:102A10000202020202020202020202020202020296
+:102A20000202020202020202020202020202020286
+:102A30000202020202020202020202020202020276
+:102A40000202020202020202020202020202020266
+:102A50000202020202020202020202020202020256
+:102A60000202020202020202020202020202020246
+:102A70000202020202020202020202020202020236
+:102A80000202020202020202020202020202020226
+:102A90000202020202020202020202020202020216
+:102AA0000202020202020202020202020202020206
+:102AB00002020202020202020202020202020202F6
+:102AC00002020202020202020202020202020202E6
+:102AD00002020202020202020202020202020202D6
+:102AE00002020202020202020202020202020202C6
+:102AF00002020202020202020202020202020202B6
+:102B000002020202020202020202020202020202A5
+:102B10000202020202020202020202020202020295
+:102B20000202020202020202020202020202020285
+:102B30000202020202020202020202020202020275
+:102B40000202020202020202020202020202020265
+:102B50000202020202020202020202020202020255
+:102B60000202020202020202020202020202020245
+:102B70000202020202020202020202020202020235
+:102B80000202020202020202020202020202020225
+:102B90000202020202020202020202020202020215
+:102BA0000202020202020202020202020202020205
+:102BB00002020202020202020202020202020202F5
+:102BC00002020202020202020202020202020202E5
+:102BD00002020202020202020202020202020202D5
+:102BE00002020202020202020202020202020202C5
+:102BF00002020202020202020202020202020202B5
+:102C000002020202020202020202020202020202A4
+:102C10000202020202020202020202020202020294
+:102C20000202020202020202020202020202020284
+:102C30000202020202020202020202020202020274
+:102C40000202020202020202020202020202020264
+:102C50000202020202020202020202020202020254
+:102C60000202020202020202020202020202020244
+:102C70000202020202020202020202020202020234
+:102C80000202020202020202020202020202020224
+:102C90000202020202020202020202020202020214
+:102CA0000202020202020202020202020202020204
+:102CB00002020202020202020202020202020202F4
+:102CC00002020202020202020202020202020202E4
+:102CD00002020202020202020202020202020202D4
+:102CE00002020202020202020202020202020202C4
+:102CF00002020202020202020202020202020202B4
+:102D000002020202020202020202020202020202A3
+:102D10000202020202020202020202020202020293
+:102D200000000000000000000000000000000000A3
+:102D30000000000000000000000000000000000093
+:102D40000000000000000000000000000000000083
+:102D50000000000000000000000000000000000073
+:102D60000000000000000000000000000000000063
+:102D70000000000000000000000000000000000053
+:102D80000000000000000000000000000000000043
+:102D90000000000000000000000000000000000033
+:102DA0000000000000000000000000000000000023
+:102DB0000000000000000000000000000000000013
+:102DC0000000000000000000000000000000000003
+:102DD00000000000000000000000000000000000F3
+:102DE00000000000000000000000000000000000E3
+:102DF00000000000000000000000000000000000D3
+:102E000000000000000000000000000000000000C2
+:102E100000000000000000000000000000000000B2
+:102E200000000000000000000000000000000000A2
+:102E30000000000000000000000000000000000092
+:102E40000000000000000000000000000000000082
+:102E50000000000000000000000000000000000072
+:102E60000000000000000000000000000000000062
+:102E70000000000000000000000000000000000052
+:102E80000000000000000000000000000000000042
+:102E90000000000000000000000000000000000032
+:102EA0000000000000000000000000000000000022
+:102EB0000000000000000000000000000000000012
+:102EC0000000000000000000000000000000000002
+:102ED00000000000000000000000000000000000F2
+:102EE00000000000000000000000000000000000E2
+:102EF00000000000000000000000000000000000D2
+:102F000000000000000000000000000000000000C1
+:102F100000000000000000000000000000000000B1
+:102F200000000000000000000000000000000000A1
+:102F30000000000000000000000000000000000091
+:102F40000000000000000000000000000000000081
+:102F50000000000000000000000000000000000071
+:102F60000000000000000000000000000000000061
+:102F70000000000000000000000000000000000051
+:102F80000000000000000000000000000000000041
+:102F90000000000000000000000000000000000031
+:102FA0000000000000000000000000000000000021
+:102FB0000000000000000000000000000000000011
+:102FC0000000000000000000000000000000000001
+:102FD00000000000000000000000000000000000F1
+:102FE00000000000000000000000000000000000E1
+:102FF00000000000000000000000000000000000D1
+:1030000000000000000000000000000000000000C0
+:1030100000000000000000000000000000000000B0
+:1030200000000000000000000000000000000000A0
+:103030000000000000000000000000000000000090
+:103040000000000000000000000000000000000080
+:103050000000000000000000000000000000000070
+:103060000000000000000000000000000000000060
+:103070000000000000000000000000000000000050
+:103080000000000000000000000000000000000040
+:103090000000000000000000000000000000000030
+:1030A0000000000000000000000000000000000020
+:1030B0000000000000000000000000000000000010
+:1030C0000000000000000000000000000000000000
+:1030D00000000000000000000000000000000000F0
+:1030E00000000000000000000000000000000000E0
+:1030F00000000000000000000000000000000000D0
+:1031000000000000000000000000000000000000BF
+:1031100000000000000000000000000000000000AF
+:10312000000000000000000000000000000000009F
+:10313000000000000000000000000000000000008F
+:10314000000000000000000000000000000000007F
+:10315000000000000000000000000000000000006F
+:10316000000000000000000000000000000000005F
+:10317000000000000000000000000000000000004F
+:10318000000000000000000000000000000000003F
+:10319000000000000000000000000000000000002F
+:1031A000000000000000000000000000000000001F
+:1031B000000000000000000000000000000000000F
+:1031C00000000000000000000000000000000000FF
+:1031D00000000000000000000000000000000000EF
+:1031E00000000000000000000000000000000000DF
+:1031F00000000000000000000000000000000000CF
+:1032000000000000000000000000000000000000BE
+:1032100000000000000000000000000000000000AE
+:10322000000000000000000000000000000000009E
+:10323000000000000000000000000000000000008E
+:10324000000000000000000000000000000000007E
+:10325000000000000000000000000000000000006E
+:10326000000000000000000000000000000000005E
+:10327000000000000000000000000000000000004E
+:10328000000000000000000000000000000000003E
+:10329000000000000000000000000000000000002E
+:1032A000000000000000000000000000000000001E
+:1032B000000000000000000000000000000000000E
+:1032C00000000000000000000000000000000000FE
+:1032D00000000000000000000000000000000000EE
+:1032E00000000000000000000000000000000000DE
+:1032F00000000000000000000000000000000000CE
+:1033000000000000000000000000000000000000BD
+:1033100000000000000000000000000000000000AD
+:10332000000000000000000000000000000000009D
+:10333000000000000000000000000000000000008D
+:10334000000000000000000000000000000000007D
+:10335000000000000000000000000000000000006D
+:10336000000000000000000000000000000000005D
+:10337000000000000000000000000000000000004D
+:10338000000000000000000000000000000000003D
+:10339000000000000000000000000000000000002D
+:1033A000000000000000000000000000000000001D
+:1033B000000000000000000000000000000000000D
+:1033C00000000000000000000000000000000000FD
+:1033D00000000000000000000000000000000000ED
+:1033E00000000000000000000000000000000000DD
+:1033F00000000000000000000000000000000000CD
+:1034000000000000000000000000000000000000BC
+:1034100000000000000000000000000000000000AC
+:10342000000000000000000000000000000000009C
+:10343000000000000000000000000000000000008C
+:10344000000000000000000000000000000000007C
+:10345000000000000000000000000000000000006C
+:10346000000000000000000000000000000000005C
+:10347000000000000000000000000000000000004C
+:10348000000000000000000000000000000000003C
+:10349000000000000000000000000000000000002C
+:1034A000000000000000000000000000000000001C
+:1034B000000000000000000000000000000000000C
+:1034C00000000000000000000000000000000000FC
+:1034D00000000000000000000000000000000000EC
+:1034E00000000000000000000000000000000000DC
+:1034F00000000000000000000000000000000000CC
+:1035000000000000000000000000000000000000BB
+:1035100000000000000000000000000000000000AB
+:10352000010101010101010101010101010101018B
+:10353000010101010101010101010101010101017B
+:10354000010101010101010101010101010101016B
+:10355000010101010101010101010101010101015B
+:10356000010101010101010101010101010101014B
+:10357000010101010101010101010101010101013B
+:10358000010101010101010101010101010101012B
+:10359000010101010101010101010101010101011B
+:1035A000010101010101010101010101010101010B
+:1035B00001010101010101010101010101010101FB
+:1035C00001010101010101010101010101010101EB
+:1035D00001010101010101010101010101010101DB
+:1035E00001010101010101010101010101010101CB
+:1035F00001010101010101010101010101010101BB
+:1036000001010101010101010101010101010101AA
+:10361000010101010101010101010101010101019A
+:10362000010101010101010101010101010101018A
+:10363000010101010101010101010101010101017A
+:10364000010101010101010101010101010101016A
+:10365000010101010101010101010101010101015A
+:10366000010101010101010101010101010101014A
+:10367000010101010101010101010101010101013A
+:10368000010101010101010101010101010101012A
+:10369000010101010101010101010101010101011A
+:1036A000010101010101010101010101010101010A
+:1036B00001010101010101010101010101010101FA
+:1036C00001010101010101010101010101010101EA
+:1036D00001010101010101010101010101010101DA
+:1036E00001010101010101010101010101010101CA
+:1036F00001010101010101010101010101010101BA
+:1037000001010101010101010101010101010101A9
+:103710000101010101010101010101010101010199
+:103720000101010101010101010101010101010189
+:103730000101010101010101010101010101010179
+:103740000101010101010101010101010101010169
+:103750000101010101010101010101010101010159
+:103760000101010101010101010101010101010149
+:103770000101010101010101010101010101010139
+:103780000101010101010101010101010101010129
+:103790000101010101010101010101010101010119
+:1037A0000101010101010101010101010101010109
+:1037B00001010101010101010101010101010101F9
+:1037C00001010101010101010101010101010101E9
+:1037D00001010101010101010101010101010101D9
+:1037E00001010101010101010101010101010101C9
+:1037F00001010101010101010101010101010101B9
+:1038000001010101010101010101010101010101A8
+:103810000101010101010101010101010101010198
+:103820000101010101010101010101010101010188
+:103830000101010101010101010101010101010178
+:103840000101010101010101010101010101010168
+:103850000101010101010101010101010101010158
+:103860000101010101010101010101010101010148
+:103870000101010101010101010101010101010138
+:103880000101010101010101010101010101010128
+:103890000101010101010101010101010101010118
+:1038A0000101010101010101010101010101010108
+:1038B00001010101010101010101010101010101F8
+:1038C00001010101010101010101010101010101E8
+:1038D00001010101010101010101010101010101D8
+:1038E00001010101010101010101010101010101C8
+:1038F00001010101010101010101010101010101B8
+:1039000001010101010101010101010101010101A7
+:103910000101010101010101010101010101010197
+:103920000101010101010101010101010101010187
+:103930000101010101010101010101010101010177
+:103940000101010101010101010101010101010167
+:103950000101010101010101010101010101010157
+:103960000101010101010101010101010101010147
+:103970000101010101010101010101010101010137
+:103980000101010101010101010101010101010127
+:103990000101010101010101010101010101010117
+:1039A0000101010101010101010101010101010107
+:1039B00001010101010101010101010101010101F7
+:1039C00001010101010101010101010101010101E7
+:1039D00001010101010101010101010101010101D7
+:1039E00001010101010101010101010101010101C7
+:1039F00001010101010101010101010101010101B7
+:103A000001010101010101010101010101010101A6
+:103A10000101010101010101010101010101010196
+:103A20000101010101010101010101010101010186
+:103A30000101010101010101010101010101010176
+:103A40000101010101010101010101010101010166
+:103A50000101010101010101010101010101010156
+:103A60000101010101010101010101010101010146
+:103A70000101010101010101010101010101010136
+:103A80000101010101010101010101010101010126
+:103A90000101010101010101010101010101010116
+:103AA0000101010101010101010101010101010106
+:103AB00001010101010101010101010101010101F6
+:103AC00001010101010101010101010101010101E6
+:103AD00001010101010101010101010101010101D6
+:103AE00001010101010101010101010101010101C6
+:103AF00001010101010101010101010101010101B6
+:103B000001010101010101010101010101010101A5
+:103B10000101010101010101010101010101010195
+:103B20000101010101010101010101010101010185
+:103B30000101010101010101010101010101010175
+:103B40000101010101010101010101010101010165
+:103B50000101010101010101010101010101010155
+:103B60000101010101010101010101010101010145
+:103B70000101010101010101010101010101010135
+:103B80000101010101010101010101010101010125
+:103B90000101010101010101010101010101010115
+:103BA0000101010101010101010101010101010105
+:103BB00001010101010101010101010101010101F5
+:103BC00001010101010101010101010101010101E5
+:103BD00001010101010101010101010101010101D5
+:103BE00001010101010101010101010101010101C5
+:103BF00001010101010101010101010101010101B5
+:103C000001010101010101010101010101010101A4
+:103C10000101010101010101010101010101010194
+:103C20000000000000000000000000000000000094
+:103C30000000000000000000000000000000000084
+:103C40000000000000000000000000000000000074
+:103C50000000000000000000000000000000000064
+:103C60000000000000000000000000000000000054
+:103C70000000000000000000000000000000000044
+:103C80000000000000000000000000000000000034
+:103C90000000000000000000000000000000000024
+:103CA0000000000000000000000000000000000014
+:103CB0000000000000000000000000000000000004
+:103CC00000000000000000000000000000000000F4
+:103CD00000000000000000000000000000000000E4
+:103CE00000000000000000000000000000000000D4
+:103CF00000000000000000000000000000000000C4
+:103D000000000000000000000000000000000000B3
+:103D100000000000000000000000000000000000A3
+:103D20000000000000000000000000000000000093
+:103D30000000000000000000000000000000000083
+:103D40000000000000000000000000000000000073
+:103D50000000000000000000000000000000000063
+:103D60000000000000000000000000000000000053
+:103D70000000000000000000000000000000000043
+:103D80000000000000000000000000000000000033
+:103D90000000000000000000000000000000000023
+:103DA0000000000000000000000000000000000013
+:103DB0000000000000000000000000000000000003
+:103DC00000000000000000000000000000000000F3
+:103DD00000000000000000000000000000000000E3
+:103DE00000000000000000000000000000000000D3
+:103DF00000000000000000000000000000000000C3
+:103E000000000000000000000000000000000000B2
+:103E100000000000000000000000000000000000A2
+:103E20000000000000000000000000000000000092
+:103E30000000000000000000000000000000000082
+:103E40000000000000000000000000000000000072
+:103E50000000000000000000000000000000000062
+:103E60000000000000000000000000000000000052
+:103E70000000000000000000000000000000000042
+:103E80000000000000000000000000000000000032
+:103E90000000000000000000000000000000000022
+:103EA0000000000000000000000000000000000012
+:103EB0000000000000000000000000000000000002
+:103EC00000000000000000000000000000000000F2
+:103ED00000000000000000000000000000000000E2
+:103EE00000000000000000000000000000000000D2
+:103EF00000000000000000000000000000000000C2
+:103F000000000000000000000000000000000000B1
+:103F100000000000000000000000000000000000A1
+:103F20000000000000000000000000000000000091
+:103F30000000000000000000000000000000000081
+:103F40000000000000000000000000000000000071
+:103F50000000000000000000000000000000000061
+:103F60000000000000000000000000000000000051
+:103F70000000000000000000000000000000000041
+:103F80000000000000000000000000000000000031
+:103F90000000000000000000000000000000000021
+:103FA0000000000000000000000000000000000011
+:103FB0000000000000000000000000000000000001
+:103FC00000000000000000000000000000000000F1
+:103FD00000000000000000000000000000000000E1
+:103FE00000000000000000000000000000000000D1
+:103FF00000000000000000000000000000000000C1
+:1040000000000000000000000000000000000000B0
+:1040100000000000000000000000000000000000A0
+:104020000000000000000000000000000000000090
+:104030000000000000000000000000000000000080
+:104040000000000000000000000000000000000070
+:104050000000000000000000000000000000000060
+:104060000000000000000000000000000000000050
+:104070000000000000000000000000000000000040
+:104080000000000000000000000000000000000030
+:104090000000000000000000000000000000000020
+:1040A0000000000000000000000000000000000010
+:1040B0000000000000000000000000000000000000
+:1040C00000000000000000000000000000000000F0
+:1040D00000000000000000000000000000000000E0
+:1040E00000000000000000000000000000000000D0
+:1040F00000000000000000000000000000000000C0
+:1041000000000000000000000000000000000000AF
+:10411000000000000000000000000000000000009F
+:10412000000000000000000000000000000000008F
+:10413000000000000000000000000000000000007F
+:10414000000000000000000000000000000000006F
+:10415000000000000000000000000000000000005F
+:10416000000000000000000000000000000000004F
+:10417000000000000000000000000000000000003F
+:10418000000000000000000000000000000000002F
+:10419000000000000000000000000000000000001F
+:1041A000000000000000000000000000000000000F
+:1041B00000000000000000000000000000000000FF
+:1041C00000000000000000000000000000000000EF
+:1041D00000000000000000000000000000000000DF
+:1041E00000000000000000000000000000000000CF
+:1041F00000000000000000000000000000000000BF
+:1042000000000000000000000000000000000000AE
+:10421000000000000000000000000000000000009E
+:10422000000000000000000000000000000000008E
+:10423000000000000000000000000000000000007E
+:10424000000000000000000000000000000000006E
+:10425000000000000000000000000000000000005E
+:10426000000000000000000000000000000000004E
+:10427000000000000000000000000000000000003E
+:10428000000000000000000000000000000000002E
+:10429000000000000000000000000000000000001E
+:1042A000000000000000000000000000000000000E
+:1042B00000000000000000000000000000000000FE
+:1042C00000000000000000000000000000000000EE
+:1042D00000000000000000000000000000000000DE
+:1042E00000000000000000000000000000000000CE
+:1042F00000000000000000000000000000000000BE
+:1043000000000000000000000000000000000000AD
+:10431000000000000000000000000000000000009D
+:10432000000000000000000000000000000000008D
+:10433000000000000000000000000000000000007D
+:10434000000000000000000000000000000000006D
+:10435000000000000000000000000000000000005D
+:10436000000000000000000000000000000000004D
+:10437000000000000000000000000000000000003D
+:10438000000000000000000000000000000000002D
+:10439000000000000000000000000000000000001D
+:1043A000000000000000000000000000000000000D
+:1043B00000000000000000000000000000000000FD
+:1043C00000000000000000000000000000000000ED
+:1043D00000000000000000000000000000000000DD
+:1043E00000000000000000000000000000000000CD
+:1043F00000000000000000000000000000000000BD
+:1044000000000000000000000000000000000000AC
+:10441000000000000000000000000000000000009C
+:10442000000000000000000000000000000000008C
+:10443000000000000000000000000000000000007C
+:10444000000000000000000000000000000000006C
+:10445000000000000000000000000000000000005C
+:10446000000000000000000000000000000000004C
+:10447000000000000000000000000000000000003C
+:10448000000000000000000000000000000000002C
+:10449000000000000000000000000000000000001C
+:1044A000000000000000000000000000000000000C
+:1044B00000000000000000000000000000000000FC
+:1044C00000000000000000000000000000000000EC
+:1044D00000000000000000000000000000000000DC
+:1044E00000000000000000000000000000000000CC
+:1044F00000000000000000000000000000000000BC
+:1045000000000000000000000000000000000000AB
+:10451000000000000000000000000000000000009B
+:10452000000000000000000000000000000000008B
+:10453000000000000000000000000000000000007B
+:10454000000000000000000000000000000000006B
+:10455000000000000000000000000000000000005B
+:10456000000000000000000000000000000000004B
+:10457000000000000000000000000000000000003B
+:10458000000000000000000000000000000000002B
+:10459000000000000000000000000000000000001B
+:1045A000000000000000000000000000000000000B
+:1045B00000000000000000000000000000000000FB
+:1045C00000000000000000000000000000000000EB
+:1045D00000000000000000000000000000000000DB
+:1045E00000000000000000000000000000000000CB
+:1045F00000000000000000000000000000000000BB
+:1046000000000000000000000000000000000000AA
+:10461000000000000000000000000000000000009A
+:10462000000000000000000000000000000000008A
+:10463000000000000000000000000000000000007A
+:10464000000000000000000000000000000000006A
+:10465000000000000000000000000000000000005A
+:10466000000000000000000000000000000000004A
+:10467000000000000000000000000000000000003A
+:10468000000000000000000000000000000000002A
+:10469000000000000000000000000000000000001A
+:1046A000000000000000000000000000000000000A
+:1046B00000000000000000000000000000000000FA
+:1046C00000000000000000000000000000000000EA
+:1046D00000000000000000000000000000000000DA
+:1046E00000000000000000000000000000000000CA
+:1046F00000000000000000000000000000000000BA
+:1047000000000000000000000000000000000000A9
+:104710000000000000000000000000000000000099
+:104720000000000000000000000000000000000089
+:104730000000000000000000000000000000000079
+:104740000000000000000000000000000000000069
+:104750000000000000000000000000000000000059
+:104760000000000000000000000000000000000049
+:104770000000000000000000000000000000000039
+:104780000000000000000000000000000000000029
+:104790000000000000000000000000000000000019
+:1047A0000000000000000000000000000000000009
+:1047B00000000000000000000000000000000000F9
+:1047C00000000000000000000000000000000000E9
+:1047D00000000000000000000000000000000000D9
+:1047E00000000000000000000000000000000000C9
+:1047F00000000000000000000000000000000000B9
+:1048000000000000000000000000000000000000A8
+:104810000000000000000000000000000000000098
+:104820000000000000000000000000000000000088
+:104830000000000000000000000000000000000078
+:104840000000000000000000000000000000000068
+:104850000000000000000000000000000000000058
+:104860000000000000000000000000000000000048
+:104870000000000000000000000000000000000038
+:104880000000000000000000000000000000000028
+:104890000000000000000000000000000000000018
+:1048A0000000000000000000000000000000000008
+:1048B00000000000000000000000000000000000F8
+:1048C00000000000000000000000000000000000E8
+:1048D00000000000000000000000000000000000D8
+:1048E00000000000000000000000000000000000C8
+:1048F00000000000000000000000000000000000B8
+:1049000000000000000000000000000000000000A7
+:104910000000000000000000000000000000000097
+:104920000000000000000000000000000000000087
+:104930000000000000000000000000000000000077
+:104940000000000000000000000000000000000067
+:104950000000000000000000000000000000000057
+:104960000000000000000000000000000000000047
+:104970000000000000000000000000000000000037
+:104980000000000000000000000000000000000027
+:104990000000000000000000000000000000000017
+:1049A0000000000000000000000000000000000007
+:1049B00000000000000000000000000000000000F7
+:1049C00000000000000000000000000000000000E7
+:1049D00000000000000000000000000000000000D7
+:1049E00000000000000000000000000000000000C7
+:1049F00000000000000000000000000000000000B7
+:104A000000000000000000000000000000000000A6
+:104A10000000000000000000000000000000000096
+:104A20000101010101010101010101010101010176
+:104A30000101010101010101010101010101010166
+:104A40000101010101010101010101010101010156
+:104A50000101010101010101010101010101010146
+:104A60000101010101010101010101010101010136
+:104A70000101010101010101010101010101010126
+:104A80000101010101010101010101010101010116
+:104A90000101010101010101010101010101010106
+:104AA00001010101010101010101010101010101F6
+:104AB00001010101010101010101010101010101E6
+:104AC00001010101010101010101010101010101D6
+:104AD00001010101010101010101010101010101C6
+:104AE00001010101010101010101010101010101B6
+:104AF00001010101010101010101010101010101A6
+:104B00000101010101010101010101010101010195
+:104B10000101010101010101010101010101010185
+:104B20000101010101010101010101010101010175
+:104B30000101010101010101010101010101010165
+:104B40000101010101010101010101010101010155
+:104B50000101010101010101010101010101010145
+:104B60000101010101010101010101010101010135
+:104B70000101010101010101010101010101010125
+:104B80000101010101010101010101010101010115
+:104B90000101010101010101010101010101010105
+:104BA00001010101010101010101010101010101F5
+:104BB00001010101010101010101010101010101E5
+:104BC00001010101010101010101010101010101D5
+:104BD00001010101010101010101010101010101C5
+:104BE00001010101010101010101010101010101B5
+:104BF00001010101010101010101010101010101A5
+:104C00000101010101010101010101010101010194
+:104C10000101010101010101010101010101010184
+:104C20000101010101010101010101010101010174
+:104C30000101010101010101010101010101010164
+:104C40000101010101010101010101010101010154
+:104C50000101010101010101010101010101010144
+:104C60000101010101010101010101010101010134
+:104C70000101010101010101010101010101010124
+:104C80000101010101010101010101010101010114
+:104C90000101010101010101010101010101010104
+:104CA00001010101010101010101010101010101F4
+:104CB00001010101010101010101010101010101E4
+:104CC00001010101010101010101010101010101D4
+:104CD00001010101010101010101010101010101C4
+:104CE00001010101010101010101010101010101B4
+:104CF00001010101010101010101010101010101A4
+:104D00000101010101010101010101010101010193
+:104D10000101010101010101010101010101010183
+:104D20000101010101010101010101010101010173
+:104D30000101010101010101010101010101010163
+:104D40000101010101010101010101010101010153
+:104D50000101010101010101010101010101010143
+:104D60000101010101010101010101010101010133
+:104D70000101010101010101010101010101010123
+:104D80000101010101010101010101010101010113
+:104D90000101010101010101010101010101010103
+:104DA00001010101010101010101010101010101F3
+:104DB00001010101010101010101010101010101E3
+:104DC00001010101010101010101010101010101D3
+:104DD00001010101010101010101010101010101C3
+:104DE00001010101010101010101010101010101B3
+:104DF00001010101010101010101010101010101A3
+:104E00000101010101010101010101010101010192
+:104E10000101010101010101010101010101010182
+:104E20000101010101010101010101010101010172
+:104E30000101010101010101010101010101010162
+:104E40000101010101010101010101010101010152
+:104E50000101010101010101010101010101010142
+:104E60000101010101010101010101010101010132
+:104E70000101010101010101010101010101010122
+:104E80000101010101010101010101010101010112
+:104E90000101010101010101010101010101010102
+:104EA00001010101010101010101010101010101F2
+:104EB00001010101010101010101010101010101E2
+:104EC00001010101010101010101010101010101D2
+:104ED00001010101010101010101010101010101C2
+:104EE00001010101010101010101010101010101B2
+:104EF00001010101010101010101010101010101A2
+:104F00000101010101010101010101010101010191
+:104F10000101010101010101010101010101010181
+:104F20000101010101010101010101010101010171
+:104F30000101010101010101010101010101010161
+:104F40000101010101010101010101010101010151
+:104F50000101010101010101010101010101010141
+:104F60000101010101010101010101010101010131
+:104F70000101010101010101010101010101010121
+:104F80000101010101010101010101010101010111
+:104F90000101010101010101010101010101010101
+:104FA00001010101010101010101010101010101F1
+:104FB00001010101010101010101010101010101E1
+:104FC00001010101010101010101010101010101D1
+:104FD00001010101010101010101010101010101C1
+:104FE00001010101010101010101010101010101B1
+:104FF00001010101010101010101010101010101A1
+:105000000101010101010101010101010101010190
+:105010000101010101010101010101010101010180
+:105020000101010101010101010101010101010170
+:105030000101010101010101010101010101010160
+:105040000101010101010101010101010101010150
+:105050000101010101010101010101010101010140
+:105060000101010101010101010101010101010130
+:105070000101010101010101010101010101010120
+:105080000101010101010101010101010101010110
+:105090000101010101010101010101010101010100
+:1050A00001010101010101010101010101010101F0
+:1050B00001010101010101010101010101010101E0
+:1050C00001010101010101010101010101010101D0
+:1050D00001010101010101010101010101010101C0
+:1050E00001010101010101010101010101010101B0
+:1050F00001010101010101010101010101010101A0
+:10510000010101010101010101010101010101018F
+:10511000010101010101010101010101010101017F
+:10512000010101010101010101010101010101016F
+:10513000010101010101010101010101010101015F
+:10514000010101010101010101010101010101014F
+:10515000010101010101010101010101010101013F
+:10516000010101010101010101010101010101012F
+:10517000010101010101010101010101010101011F
+:10518000010101010101010101010101010101010F
+:1051900001010101010101010101010101010101FF
+:1051A00001010101010101010101010101010101EF
+:1051B00001010101010101010101010101010101DF
+:1051C00001010101010101010101010101010101CF
+:1051D00001010101010101010101010101010101BF
+:1051E00001010101010101010101010101010101AF
+:1051F000010101010101010101010101010101019F
+:10520000010101010101010101010101010101018E
+:10521000010101010101010101010101010101017E
+:10522000000000000000000000000000000000007E
+:10523000000000000000000000000000000000006E
+:10524000000000000000000000000000000000005E
+:10525000000000000000000000000000000000004E
+:10526000000000000000000000000000000000003E
+:10527000000000000000000000000000000000002E
+:10528000000000000000000000000000000000001E
+:10529000000000000000000000000000000000000E
+:1052A00000000000000000000000000000000000FE
+:1052B00000000000000000000000000000000000EE
+:1052C00000000000000000000000000000000000DE
+:1052D00000000000000000000000000000000000CE
+:1052E00000000000000000000000000000000000BE
+:1052F00000000000000000000000000000000000AE
+:10530000000000000000000000000000000000009D
+:10531000000000000000000000000000000000008D
+:10532000000000000000000000000000000000007D
+:10533000000000000000000000000000000000006D
+:10534000000000000000000000000000000000005D
+:10535000000000000000000000000000000000004D
+:10536000000000000000000000000000000000003D
+:10537000000000000000000000000000000000002D
+:10538000000000000000000000000000000000001D
+:10539000000000000000000000000000000000000D
+:1053A00000000000000000000000000000000000FD
+:1053B00000000000000000000000000000000000ED
+:1053C00000000000000000000000000000000000DD
+:1053D00000000000000000000000000000000000CD
+:1053E00000000000000000000000000000000000BD
+:1053F00000000000000000000000000000000000AD
+:10540000000000000000000000000000000000009C
+:10541000000000000000000000000000000000008C
+:10542000000000000000000000000000000000007C
+:10543000000000000000000000000000000000006C
+:10544000000000000000000000000000000000005C
+:10545000000000000000000000000000000000004C
+:10546000000000000000000000000000000000003C
+:10547000000000000000000000000000000000002C
+:10548000000000000000000000000000000000001C
+:10549000000000000000000000000000000000000C
+:1054A00000000000000000000000000000000000FC
+:1054B00000000000000000000000000000000000EC
+:1054C00000000000000000000000000000000000DC
+:1054D00000000000000000000000000000000000CC
+:1054E00000000000000000000000000000000000BC
+:1054F00000000000000000000000000000000000AC
+:10550000000000000000000000000000000000009B
+:10551000000000000000000000000000000000008B
+:10552000000000000000000000000000000000007B
+:10553000000000000000000000000000000000006B
+:10554000000000000000000000000000000000005B
+:10555000000000000000000000000000000000004B
+:10556000000000000000000000000000000000003B
+:10557000000000000000000000000000000000002B
+:10558000000000000000000000000000000000001B
+:10559000000000000000000000000000000000000B
+:1055A00000000000000000000000000000000000FB
+:1055B00000000000000000000000000000000000EB
+:1055C00000000000000000000000000000000000DB
+:1055D00000000000000000000000000000000000CB
+:1055E00000000000000000000000000000000000BB
+:1055F00000000000000000000000000000000000AB
+:10560000000000000000000000000000000000009A
+:10561000000000000000000000000000000000008A
+:10562000010101010101010101010101010101016A
+:10563000010101010101010101010101010101015A
+:10564000010101010101010101010101010101014A
+:10565000010101010101010101010101010101013A
+:10566000010101010101010101010101010101012A
+:10567000010101010101010101010101010101011A
+:10568000010101010101010101010101010101010A
+:1056900001010101010101010101010101010101FA
+:1056A00001010101010101010101010101010101EA
+:1056B00001010101010101010101010101010101DA
+:1056C00001010101010101010101010101010101CA
+:1056D00001010101010101010101010101010101BA
+:1056E00001010101010101010101010101010101AA
+:1056F000010101010101010101010101010101019A
+:105700000101010101010101010101010101010189
+:105710000101010101010101010101010101010179
+:105720000202020202020202020202020202020259
+:105730000202020202020202020202020202020249
+:105740000202020202020202020202020202020239
+:105750000202020202020202020202020202020229
+:105760000202020202020202020202020202020219
+:105770000202020202020202020202020202020209
+:1057800002020202020202020202020202020202F9
+:1057900002020202020202020202020202020202E9
+:1057A00002020202020202020202020202020202D9
+:1057B00002020202020202020202020202020202C9
+:1057C00002020202020202020202020202020202B9
+:1057D00002020202020202020202020202020202A9
+:1057E0000202020202020202020202020202020299
+:1057F0000202020202020202020202020202020289
+:105800000202020202020202020202020202020278
+:105810000202020202020202020202020202020268
+:105820000202020202020202020202020202020258
+:105830000202020202020202020202020202020248
+:105840000202020202020202020202020202020238
+:105850000202020202020202020202020202020228
+:105860000202020202020202020202020202020218
+:105870000202020202020202020202020202020208
+:1058800002020202020202020202020202020202F8
+:1058900002020202020202020202020202020202E8
+:1058A00002020202020202020202020202020202D8
+:1058B00002020202020202020202020202020202C8
+:1058C00002020202020202020202020202020202B8
+:1058D00002020202020202020202020202020202A8
+:1058E0000202020202020202020202020202020298
+:1058F0000202020202020202020202020202020288
+:105900000202020202020202020202020202020277
+:105910000202020202020202020202020202020267
+:105920000202020202020202020202020202020257
+:105930000202020202020202020202020202020247
+:105940000202020202020202020202020202020237
+:105950000202020202020202020202020202020227
+:105960000202020202020202020202020202020217
+:105970000202020202020202020202020202020207
+:1059800002020202020202020202020202020202F7
+:1059900002020202020202020202020202020202E7
+:1059A00002020202020202020202020202020202D7
+:1059B00002020202020202020202020202020202C7
+:1059C00002020202020202020202020202020202B7
+:1059D00002020202020202020202020202020202A7
+:1059E0000202020202020202020202020202020297
+:1059F0000202020202020202020202020202020287
+:105A00000202020202020202020202020202020276
+:105A10000202020202020202020202020202020266
+:105A20000202020202020202020202020202020256
+:105A30000202020202020202020202020202020246
+:105A40000202020202020202020202020202020236
+:105A50000202020202020202020202020202020226
+:105A60000202020202020202020202020202020216
+:105A70000202020202020202020202020202020206
+:105A800002020202020202020202020202020202F6
+:105A900002020202020202020202020202020202E6
+:105AA00002020202020202020202020202020202D6
+:105AB00002020202020202020202020202020202C6
+:105AC00002020202020202020202020202020202B6
+:105AD00002020202020202020202020202020202A6
+:105AE0000202020202020202020202020202020296
+:105AF0000202020202020202020202020202020286
+:105B00000202020202020202020202020202020275
+:105B10000202020202020202020202020202020265
+:105B20000202020202020202020202020202020255
+:105B30000202020202020202020202020202020245
+:105B40000202020202020202020202020202020235
+:105B50000202020202020202020202020202020225
+:105B60000202020202020202020202020202020215
+:105B70000202020202020202020202020202020205
+:105B800002020202020202020202020202020202F5
+:105B900002020202020202020202020202020202E5
+:105BA00002020202020202020202020202020202D5
+:105BB00002020202020202020202020202020202C5
+:105BC00002020202020202020202020202020202B5
+:105BD00002020202020202020202020202020202A5
+:105BE0000202020202020202020202020202020295
+:105BF0000202020202020202020202020202020285
+:105C00000202020202020202020202020202020274
+:105C10000202020202020202020202020202020264
+:105C20000202020202020202020202020202020254
+:105C30000202020202020202020202020202020244
+:105C40000202020202020202020202020202020234
+:105C50000202020202020202020202020202020224
+:105C60000202020202020202020202020202020214
+:105C70000202020202020202020202020202020204
+:105C800002020202020202020202020202020202F4
+:105C900002020202020202020202020202020202E4
+:105CA00002020202020202020202020202020202D4
+:105CB00002020202020202020202020202020202C4
+:105CC00002020202020202020202020202020202B4
+:105CD00002020202020202020202020202020202A4
+:105CE0000202020202020202020202020202020294
+:105CF0000202020202020202020202020202020284
+:105D00000202020202020202020202020202020273
+:105D10000202020202020202020202020202020263
+:105D20000202020202020202020202020202020253
+:105D30000202020202020202020202020202020243
+:105D40000202020202020202020202020202020233
+:105D50000202020202020202020202020202020223
+:105D60000202020202020202020202020202020213
+:105D70000202020202020202020202020202020203
+:105D800002020202020202020202020202020202F3
+:105D900002020202020202020202020202020202E3
+:105DA00002020202020202020202020202020202D3
+:105DB00002020202020202020202020202020202C3
+:105DC00002020202020202020202020202020202B3
+:105DD00002020202020202020202020202020202A3
+:105DE0000202020202020202020202020202020293
+:105DF0000202020202020202020202020202020283
+:105E00000202020202020202020202020202020272
+:105E10000202020202020202020202020202020262
+:105E20000202020202020202020202020202020252
+:105E30000202020202020202020202020202020242
+:105E40000202020202020202020202020202020232
+:105E50000202020202020202020202020202020222
+:105E60000202020202020202020202020202020212
+:105E70000202020202020202020202020202020202
+:105E800002020202020202020202020202020202F2
+:105E900002020202020202020202020202020202E2
+:105EA00002020202020202020202020202020202D2
+:105EB00002020202020202020202020202020202C2
+:105EC00002020202020202020202020202020202B2
+:105ED00002020202020202020202020202020202A2
+:105EE0000202020202020202020202020202020292
+:105EF0000202020202020202020202020202020282
+:105F00000202020202020202020202020202020271
+:105F10000202020202020202020202020202020261
+:105F20000202020202020202020202020202020251
+:105F30000202020202020202020202020202020241
+:105F40000202020202020202020202020202020231
+:105F50000202020202020202020202020202020221
+:105F60000202020202020202020202020202020211
+:105F70000202020202020202020202020202020201
+:105F800002020202020202020202020202020202F1
+:105F900002020202020202020202020202020202E1
+:105FA00002020202020202020202020202020202D1
+:105FB00002020202020202020202020202020202C1
+:105FC00002020202020202020202020202020202B1
+:105FD00002020202020202020202020202020202A1
+:105FE0000202020202020202020202020202020291
+:105FF0000202020202020202020202020202020281
+:106000000202020202020202020202020202020270
+:106010000202020202020202020202020202020260
+:106020000202020202020202020202020202020250
+:106030000202020202020202020202020202020240
+:106040000202020202020202020202020202020230
+:106050000202020202020202020202020202020220
+:106060000202020202020202020202020202020210
+:106070000202020202020202020202020202020200
+:1060800002020202020202020202020202020202F0
+:1060900002020202020202020202020202020202E0
+:1060A00002020202020202020202020202020202D0
+:1060B00002020202020202020202020202020202C0
+:1060C00002020202020202020202020202020202B0
+:1060D00002020202020202020202020202020202A0
+:1060E0000202020202020202020202020202020290
+:1060F0000202020202020202020202020202020280
+:10610000020202020202020202020202020202026F
+:10611000020202020202020202020202020202025F
+:10612000020202020202020202020202020202024F
+:10613000020202020202020202020202020202023F
+:10614000020202020202020202020202020202022F
+:10615000020202020202020202020202020202021F
+:10616000020202020202020202020202020202020F
+:1061700002020202020202020202020202020202FF
+:1061800002020202020202020202020202020202EF
+:1061900002020202020202020202020202020202DF
+:1061A00002020202020202020202020202020202CF
+:1061B00002020202020202020202020202020202BF
+:1061C00002020202020202020202020202020202AF
+:1061D000020202020202020202020202020202029F
+:1061E000020202020202020202020202020202028F
+:1061F000020202020202020202020202020202027F
+:10620000020202020202020202020202020202026E
+:10621000020202020202020202020202020202025E
+:10622000020202020202020202020202020202024E
+:10623000020202020202020202020202020202023E
+:10624000020202020202020202020202020202022E
+:10625000020202020202020202020202020202021E
+:10626000020202020202020202020202020202020E
+:1062700002020202020202020202020202020202FE
+:1062800002020202020202020202020202020202EE
+:1062900002020202020202020202020202020202DE
+:1062A00002020202020202020202020202020202CE
+:1062B00002020202020202020202020202020202BE
+:1062C00002020202020202020202020202020202AE
+:1062D000020202020202020202020202020202029E
+:1062E000020202020202020202020202020202028E
+:1062F000020202020202020202020202020202027E
+:10630000020202020202020202020202020202026D
+:10631000020202020202020202020202020202025D
+:10632000020202020202020202020202020202024D
+:10633000020202020202020202020202020202023D
+:10634000020202020202020202020202020202022D
+:10635000020202020202020202020202020202021D
+:10636000020202020202020202020202020202020D
+:1063700002020202020202020202020202020202FD
+:1063800002020202020202020202020202020202ED
+:1063900002020202020202020202020202020202DD
+:1063A00002020202020202020202020202020202CD
+:1063B00002020202020202020202020202020202BD
+:1063C00002020202020202020202020202020202AD
+:1063D000020202020202020202020202020202029D
+:1063E000020202020202020202020202020202028D
+:1063F000020202020202020202020202020202027D
+:10640000020202020202020202020202020202026C
+:10641000020202020202020202020202020202025C
+:10642000020202020202020202020202020202024C
+:10643000020202020202020202020202020202023C
+:10644000020202020202020202020202020202022C
+:10645000020202020202020202020202020202021C
+:10646000020202020202020202020202020202020C
+:1064700002020202020202020202020202020202FC
+:1064800002020202020202020202020202020202EC
+:1064900002020202020202020202020202020202DC
+:1064A00002020202020202020202020202020202CC
+:1064B00002020202020202020202020202020202BC
+:1064C00002020202020202020202020202020202AC
+:1064D000020202020202020202020202020202029C
+:1064E000020202020202020202020202020202028C
+:1064F000020202020202020202020202020202027C
+:10650000020202020202020202020202020202026B
+:10651000020202020202020202020202020202025B
+:10652000020202020202020202020202020202024B
+:10653000020202020202020202020202020202023B
+:10654000020202020202020202020202020202022B
+:10655000020202020202020202020202020202021B
+:10656000020202020202020202020202020202020B
+:1065700002020202020202020202020202020202FB
+:1065800002020202020202020202020202020202EB
+:1065900002020202020202020202020202020202DB
+:1065A00002020202020202020202020202020202CB
+:1065B00002020202020202020202020202020202BB
+:1065C00002020202020202020202020202020202AB
+:1065D000020202020202020202020202020202029B
+:1065E000020202020202020202020202020202028B
+:1065F000020202020202020202020202020202027B
+:10660000020202020202020202020202020202026A
+:10661000020202020202020202020202020202025A
+:10662000020202020202020202020202020202024A
+:10663000020202020202020202020202020202023A
+:10664000020202020202020202020202020202022A
+:10665000020202020202020202020202020202021A
+:10666000020202020202020202020202020202020A
+:1066700002020202020202020202020202020202FA
+:1066800002020202020202020202020202020202EA
+:1066900002020202020202020202020202020202DA
+:1066A00002020202020202020202020202020202CA
+:1066B00002020202020202020202020202020202BA
+:1066C00002020202020202020202020202020202AA
+:1066D000020202020202020202020202020202029A
+:1066E000020202020202020202020202020202028A
+:1066F000020202020202020202020202020202027A
+:106700000202020202020202020202020202020269
+:106710000202020202020202020202020202020259
+:106720000000000000000000000000000000000069
+:106730000000000000000000000000000000000059
+:106740000000000000000000000000000000000049
+:106750000000000000000000000000000000000039
+:106760000000000000000000000000000000000029
+:106770000000000000000000000000000000000019
+:106780000000000000000000000000000000000009
+:1067900000000000000000000000000000000000F9
+:1067A00000000000000000000000000000000000E9
+:1067B00000000000000000000000000000000000D9
+:1067C00000000000000000000000000000000000C9
+:1067D00000000000000000000000000000000000B9
+:1067E00000000000000000000000000000000000A9
+:1067F0000000000000000000000000000000000099
+:106800000000000000000000000000000000000088
+:106810000000000000000000000000000000000078
+:106820000000000000000000000000000000000068
+:106830000000000000000000000000000000000058
+:106840000000000000000000000000000000000048
+:106850000000000000000000000000000000000038
+:106860000000000000000000000000000000000028
+:106870000000000000000000000000000000000018
+:106880000000000000000000000000000000000008
+:1068900000000000000000000000000000000000F8
+:1068A00000000000000000000000000000000000E8
+:1068B00000000000000000000000000000000000D8
+:1068C00000000000000000000000000000000000C8
+:1068D00000000000000000000000000000000000B8
+:1068E00000000000000000000000000000000000A8
+:1068F0000000000000000000000000000000000098
+:106900000000000000000000000000000000000087
+:106910000000000000000000000000000000000077
+:106920000000000000000000000000000000000067
+:106930000000000000000000000000000000000057
+:106940000000000000000000000000000000000047
+:106950000000000000000000000000000000000037
+:106960000000000000000000000000000000000027
+:106970000000000000000000000000000000000017
+:106980000000000000000000000000000000000007
+:1069900000000000000000000000000000000000F7
+:1069A00000000000000000000000000000000000E7
+:1069B00000000000000000000000000000000000D7
+:1069C00000000000000000000000000000000000C7
+:1069D00000000000000000000000000000000000B7
+:1069E00000000000000000000000000000000000A7
+:1069F0000000000000000000000000000000000097
+:106A00000000000000000000000000000000000086
+:106A10000000000000000000000000000000000076
+:106A20000000000000000000000000000000000066
+:106A30000000000000000000000000000000000056
+:106A40000000000000000000000000000000000046
+:106A50000000000000000000000000000000000036
+:106A60000000000000000000000000000000000026
+:106A70000000000000000000000000000000000016
+:106A80000000000000000000000000000000000006
+:106A900000000000000000000000000000000000F6
+:106AA00000000000000000000000000000000000E6
+:106AB00000000000000000000000000000000000D6
+:106AC00000000000000000000000000000000000C6
+:106AD00000000000000000000000000000000000B6
+:106AE00000000000000000000000000000000000A6
+:106AF0000000000000000000000000000000000096
+:106B00000000000000000000000000000000000085
+:106B10000000000000000000000000000000000075
+:106B20000000000000000000000000000000000065
+:106B30000000000000000000000000000000000055
+:106B40000000000000000000000000000000000045
+:106B50000000000000000000000000000000000035
+:106B60000000000000000000000000000000000025
+:106B70000000000000000000000000000000000015
+:106B80000000000000000000000000000000000005
+:106B900000000000000000000000000000000000F5
+:106BA00000000000000000000000000000000000E5
+:106BB00000000000000000000000000000000000D5
+:106BC00000000000000000000000000000000000C5
+:106BD00000000000000000000000000000000000B5
+:106BE00000000000000000000000000000000000A5
+:106BF0000000000000000000000000000000000095
+:106C00000000000000000000000000000000000084
+:106C10000000000000000000000000000000000074
+:106C200073000000000000000101010101010101E9
+:106C30000101010101010101010101010101010144
+:106C40000101010101010101010101010101010134
+:106C50000101010101010101010101010101010124
+:106C60000101010101010101010101010101010114
+:106C70000101010101010101010101010101010104
+:106C800001010101010101010101010101010101F4
+:106C900001010101010101010101010101010101E4
+:106CA00001010101010101010101010101010101D4
+:106CB00001010101010101010101010101010101C4
+:106CC00001010101010101010101010101010101B4
+:106CD00001010101010101010101010101010101A4
+:106CE0000101010101010101010101010101010194
+:106CF0000101010101010101010101010101010184
+:106D00000101010101010101010101010101010173
+:106D10000101010101010101010101010101010163
+:106D20000101010101010101010101010101010153
+:106D30000101010101010101010101010101010143
+:106D40000101010101010101010101010101010133
+:106D50000101010101010101010101010101010123
+:106D60000101010101010101010101010101010113
+:106D70000101010101010101010101010101010103
+:106D800001010101010101010101010101010101F3
+:106D900001010101010101010101010101010101E3
+:106DA00001010101010101010101010101010101D3
+:106DB00001010101010101010101010101010101C3
+:106DC00001010101010101010101010101010101B3
+:106DD00001010101010101010101010101010101A3
+:106DE0000101010101010101010101010101010193
+:106DF0000101010101010101010101010101010183
+:106E00000101010101010101010101010101010172
+:106E10000101010101010101010101010101010162
+:106E20000101010101010101010101010101010152
+:106E30000101010101010101010101010101010142
+:106E40000101010101010101010101010101010132
+:106E50000101010101010101010101010101010122
+:106E60000101010101010101010101010101010112
+:106E70000101010101010101010101010101010102
+:106E800001010101010101010101010101010101F2
+:106E900001010101010101010101010101010101E2
+:106EA00001010101010101010101010101010101D2
+:106EB00001010101010101010101010101010101C2
+:106EC00001010101010101010101010101010101B2
+:106ED00001010101010101010101010101010101A2
+:106EE0000101010101010101010101010101010192
+:106EF0000101010101010101010101010101010182
+:106F00000101010101010101010101010101010171
+:106F10000101010101010101010101010101010161
+:106F20000101010101010101010101010101010151
+:106F30000101010101010101010101010101010141
+:106F40000101010101010101010101010101010131
+:106F50000101010101010101010101010101010121
+:106F60000101010101010101010101010101010111
+:106F70000101010101010101010101010101010101
+:106F800001010101010101010101010101010101F1
+:106F900001010101010101010101010101010101E1
+:106FA00001010101010101010101010101010101D1
+:106FB00001010101010101010101010101010101C1
+:106FC00001010101010101010101010101010101B1
+:106FD00001010101010101010101010101010101A1
+:106FE0000101010101010101010101010101010191
+:106FF0000101010101010101010101010101010181
+:107000000101010101010101010101010101010170
+:107010000101010101010101010101010101010160
+:107020000101010101010101010101010101010150
+:107030000101010101010101010101010101010140
+:107040000101010101010101010101010101010130
+:107050000101010101010101010101010101010120
+:107060000101010101010101010101010101010110
+:107070000101010101010101010101010101010100
+:1070800001010101010101010101010101010101F0
+:1070900001010101010101010101010101010101E0
+:1070A00001010101010101010101010101010101D0
+:1070B00001010101010101010101010101010101C0
+:1070C00001010101010101010101010101010101B0
+:1070D00001010101010101010101010101010101A0
+:1070E0000101010101010101010101010101010190
+:1070F0000101010101010101010101010101010180
+:10710000010101010101010101010101010101016F
+:10711000010101010101010101010101010101015F
+:10712000010101010101010101010101010101014F
+:10713000010101010101010101010101010101013F
+:10714000010101010101010101010101010101012F
+:10715000010101010101010101010101010101011F
+:10716000010101010101010101010101010101010F
+:1071700001010101010101010101010101010101FF
+:1071800001010101010101010101010101010101EF
+:1071900001010101010101010101010101010101DF
+:1071A00001010101010101010101010101010101CF
+:1071B00001010101010101010101010101010101BF
+:1071C00001010101010101010101010101010101AF
+:1071D000010101010101010101010101010101019F
+:1071E000010101010101010101010101010101018F
+:1071F000010101010101010101010101010101017F
+:10720000010101010101010101010101010101016E
+:10721000010101010101010101010101010101015E
+:10722000010101010101010101010101010101014E
+:10723000010101010101010101010101010101013E
+:10724000010101010101010101010101010101012E
+:10725000010101010101010101010101010101011E
+:10726000010101010101010101010101010101010E
+:1072700001010101010101010101010101010101FE
+:1072800001010101010101010101010101010101EE
+:1072900001010101010101010101010101010101DE
+:1072A00001010101010101010101010101010101CE
+:1072B00001010101010101010101010101010101BE
+:1072C00001010101010101010101010101010101AE
+:1072D000010101010101010101010101010101019E
+:1072E000010101010101010101010101010101018E
+:1072F000010101010101010101010101010101017E
+:10730000010101010101010101010101010101016D
+:10731000010101010101010101010101010101015D
+:107320000101010101010101000000000000000055
+:10733000000000000000000000000000000000004D
+:10734000000000000000000000000000000000003D
+:10735000000000000000000000000000000000002D
+:10736000000000000000000000000000000000001D
+:10737000000000000000000000000000000000000D
+:1073800000000000000000000000000000000000FD
+:1073900000000000000000000000000000000000ED
+:1073A00000000000000000000000000000000000DD
+:1073B00000000000000000000000000000000000CD
+:1073C00000000000000000000000000000000000BD
+:1073D00000000000000000000000000000000000AD
+:1073E000000000000000000000000000000000009D
+:1073F000000000000000000000000000000000008D
+:10740000000000000000000000000000000000007C
+:10741000000000000000000000000000000000006C
+:10742000000000000000000000000000000000005C
+:10743000000000000000000000000000000000004C
+:10744000000000000000000000000000000000003C
+:10745000000000000000000000000000000000002C
+:10746000000000000000000000000000000000001C
+:10747000000000000000000000000000000000000C
+:1074800000000000000000000000000000000000FC
+:1074900000000000000000000000000000000000EC
+:1074A00000000000000000000000000000000000DC
+:1074B00000000000000000000000000000000000CC
+:1074C00000000000000000000000000000000000BC
+:1074D00000000000000000000000000000000000AC
+:1074E000000000000000000000000000000000009C
+:1074F000000000000000000000000000000000008C
+:10750000000000000000000000000000000000007B
+:10751000000000000000000000000000000000006B
+:10752000000000000000000000000000000000005B
+:10753000000000000000000000000000000000004B
+:10754000000000000000000000000000000000003B
+:10755000000000000000000000000000000000002B
+:10756000000000000000000000000000000000001B
+:10757000000000000000000000000000000000000B
+:1075800000000000000000000000000000000000FB
+:1075900000000000000000000000000000000000EB
+:1075A00000000000000000000000000000000000DB
+:1075B00000000000000000000000000000000000CB
+:1075C00000000000000000000000000000000000BB
+:1075D00000000000000000000000000000000000AB
+:1075E000000000000000000000000000000000009B
+:1075F000000000000000000000000000000000008B
+:10760000000000000000000000000000000000007A
+:10761000000000000000000000000000000000006A
+:10762000000000000000000000000000000000005A
+:10763000000000000000000000000000000000004A
+:10764000000000000000000000000000000000003A
+:10765000000000000000000000000000000000002A
+:10766000000000000000000000000000000000001A
+:10767000000000000000000000000000000000000A
+:1076800000000000000000000000000000000000FA
+:1076900000000000000000000000000000000000EA
+:1076A00000000000000000000000000000000000DA
+:1076B00000000000000000000000000000000000CA
+:1076C00000000000000000000000000000000000BA
+:1076D00000000000000000000000000000000000AA
+:1076E000000000000000000000000000000000009A
+:1076F000000000000000000000000000000000008A
+:107700000000000000000000000000000000000079
+:107710000000000000000000000000000000000069
+:107720000000000000000000000000000000000059
+:107730000000000000000000000000000000000049
+:107740000000000000000000000000000000000039
+:107750000000000000000000000000000000000029
+:107760000000000000000000000000000000000019
+:107770000000000000000000000000000000000009
+:1077800000000000000000000000000000000000F9
+:1077900000000000000000000000000000000000E9
+:1077A00000000000000000000000000000000000D9
+:1077B00000000000000000000000000000000000C9
+:1077C00000000000000000000000000000000000B9
+:1077D00000000000000000000000000000000000A9
+:1077E0000000000000000000000000000000000099
+:1077F0000000000000000000000000000000000089
+:107800000000000000000000000000000000000078
+:107810000000000000000000000000000000000068
+:107820000000000000000000000000000000000058
+:107830000000000000000000000000000000000048
+:107840000000000000000000000000000000000038
+:107850000000000000000000000000000000000028
+:107860000000000000000000000000000000000018
+:107870000000000000000000000000000000000008
+:1078800000000000000000000000000000000000F8
+:1078900000000000000000000000000000000000E8
+:1078A00000000000000000000000000000000000D8
+:1078B00000000000000000000000000000000000C8
+:1078C00000000000000000000000000000000000B8
+:1078D00000000000000000000000000000000000A8
+:1078E0000000000000000000000000000000000098
+:1078F0000000000000000000000000000000000088
+:107900000000000000000000000000000000000077
+:107910000000000000000000000000000000000067
+:107920000000000000000000000000000000000057
+:107930000000000000000000000000000000000047
+:107940000000000000000000000000000000000037
+:107950000000000000000000000000000000000027
+:107960000000000000000000000000000000000017
+:107970000000000000000000000000000000000007
+:1079800000000000000000000000000000000000F7
+:1079900000000000000000000000000000000000E7
+:1079A00000000000000000000000000000000000D7
+:1079B00000000000000000000000000000000000C7
+:1079C00000000000000000000000000000000000B7
+:1079D00000000000000000000000000000000000A7
+:1079E0000000000000000000000000000000000097
+:1079F0000000000000000000000000000000000087
+:107A00000000000000000000000000000000000076
+:107A10000000000000000000000000000000000066
+:107A20000000000000000000000000000000000056
+:107A30000000000000000000000000000000000046
+:107A40000000000000000000000000000000000036
+:107A50000000000000000000000000000000000026
+:107A60000000000000000000000000000000000016
+:107A70000000000000000000000000000000000006
+:107A800000000000000000000000000000000000F6
+:107A900000000000000000000000000000000000E6
+:107AA00000000000000000000000000000000000D6
+:107AB00000000000000000000000000000000000C6
+:107AC00000000000000000000000000000000000B6
+:107AD00000000000000000000000000000000000A6
+:107AE0000000000000000000000000000000000096
+:107AF0000000000000000000000000000000000086
+:107B00000000000000000000000000000000000075
+:107B10000000000000000000000000000000000065
+:107B20000000000000000000000000000000000055
+:107B30000000000000000000000000000000000045
+:107B40000000000000000000000000000000000035
+:107B50000000000000000000000000000000000025
+:107B60000000000000000000000000000000000015
+:107B70000000000000000000000000000000000005
+:107B800000000000000000000000000000000000F5
+:107B900000000000000000000000000000000000E5
+:107BA00000000000000000000000000000000000D5
+:107BB00000000000000000000000000000000000C5
+:107BC00000000000000000000000000000000000B5
+:107BD00000000000000000000000000000000000A5
+:107BE0000000000000000000000000000000000095
+:107BF0000000000000000000000000000000000085
+:107C00000000000000000000000000000000000074
+:107C10000000000000000000000000000000000064
+:107C20000000000000000000000000000000000054
+:107C30000000000000000000000000000000000044
+:107C40000000000000000000000000000000000034
+:107C50000000000000000000000000000000000024
+:107C60000000000000000000000000000000000014
+:107C70000000000000000000000000000000000004
+:107C800000000000000000000000000000000000F4
+:107C900000000000000000000000000000000000E4
+:107CA00000000000000000000000000000000000D4
+:107CB00000000000000000000000000000000000C4
+:107CC00000000000000000000000000000000000B4
+:107CD00000000000000000000000000000000000A4
+:107CE0000000000000000000000000000000000094
+:107CF0000000000000000000000000000000000084
+:107D00000000000000000000000000000000000073
+:107D10000000000000000000000000000000000063
+:107D20000000000000000000000000000000000053
+:107D30000000000000000000000000000000000043
+:107D40000000000000000000000000000000000033
+:107D50000000000000000000000000000000000023
+:107D60000000000000000000000000000000000013
+:107D70000000000000000000000000000000000003
+:107D800000000000000000000000000000000000F3
+:107D900000000000000000000000000000000000E3
+:107DA00000000000000000000000000000000000D3
+:107DB00000000000000000000000000000000000C3
+:107DC00000000000000000000000000000000000B3
+:107DD00000000000000000000000000000000000A3
+:107DE0000000000000000000000000000000000093
+:107DF0000000000000000000000000000000000083
+:107E00000000000000000000000000000000000072
+:107E10000000000000000000000000000000000062
+:107E20000000000000000000000000000000000052
+:107E30000000000000000000000000000000000042
+:107E40000000000000000000000000000000000032
+:107E50000000000000000000000000000000000022
+:107E60000000000000000000000000000000000012
+:107E70000000000000000000000000000000000002
+:107E800000000000000000000000000000000000F2
+:107E900000000000000000000000000000000000E2
+:107EA00000000000000000000000000000000000D2
+:107EB00000000000000000000000000000000000C2
+:107EC00000000000000000000000000000000000B2
+:107ED00000000000000000000000000000000000A2
+:107EE0000000000000000000000000000000000092
+:107EF0000000000000000000000000000000000082
+:107F00000000000000000000000000000000000071
+:107F10000000000000000000000000000000000061
+:107F20000000000000000000000000000000000051
+:107F30000000000000000000000000000000000041
+:107F40000000000000000000000000000000000031
+:107F50000000000000000000000000000000000021
+:107F60000000000000000000000000000000000011
+:107F70000000000000000000000000000000000001
+:107F800000000000000000000000000000000000F1
+:107F900000000000000000000000000000000000E1
+:107FA00000000000000000000000000000000000D1
+:107FB00000000000000000000000000000000000C1
+:107FC00000000000000000000000000000000000B1
+:107FD00000000000000000000000000000000000A1
+:107FE0000000000000000000000000000000000091
+:107FF0000000000000000000000000000000000081
+:108000000000000000000000000000000000000070
+:108010000000000000000000000000000000000060
+:108020000000000000000000000000000000000050
+:108030000000000000000000000000000000000040
+:108040000000000000000000000000000000000030
+:108050000000000000000000000000000000000020
+:108060000000000000000000000000000000000010
+:108070000000000000000000000000000000000000
+:1080800000000000000000000000000000000000F0
+:1080900000000000000000000000000000000000E0
+:1080A00000000000000000000000000000000000D0
+:1080B00000000000000000000000000000000000C0
+:1080C00000000000000000000000000000000000B0
+:1080D00000000000000000000000000000000000A0
+:1080E0000000000000000000000000000000000090
+:1080F0000000000000000000000000000000000080
+:10810000000000000000000000000000000000006F
+:10811000000000000000000000000000000000005F
+:10812000000000000000000000000000000000004F
+:10813000000000000000000000000000000000003F
+:10814000000000000000000000000000000000002F
+:10815000000000000000000000000000000000001F
+:10816000000000000000000000000000000000000F
+:1081700000000000000000000000000000000000FF
+:1081800000000000000000000000000000000000EF
+:1081900000000000000000000000000000000000DF
+:1081A00000000000000000000000000000000000CF
+:1081B00000000000000000000000000000000000BF
+:1081C00000000000000000000000000000000000AF
+:1081D000000000000000000000000000000000009F
+:1081E000000000000000000000000000000000008F
+:1081F000000000000000000000000000000000007F
+:10820000000000000000000000000000000000006E
+:10821000000000000000000000000000000000005E
+:108220000000000000000000010101010101010146
+:10823000010101010101010101010101010101012E
+:10824000010101010101010101010101010101011E
+:10825000010101010101010101010101010101010E
+:1082600001010101010101010101010101010101FE
+:1082700001010101010101010101010101010101EE
+:1082800001010101010101010101010101010101DE
+:1082900001010101010101010101010101010101CE
+:1082A00001010101010101010101010101010101BE
+:1082B00001010101010101010101010101010101AE
+:1082C000010101010101010101010101010101019E
+:1082D000010101010101010101010101010101018E
+:1082E000010101010101010101010101010101017E
+:1082F000010101010101010101010101010101016E
+:10830000010101010101010101010101010101015D
+:10831000010101010101010101010101010101014D
+:10832000010101010101010101010101010101013D
+:10833000010101010101010101010101010101012D
+:10834000010101010101010101010101010101011D
+:10835000010101010101010101010101010101010D
+:1083600001010101010101010101010101010101FD
+:1083700001010101010101010101010101010101ED
+:1083800001010101010101010101010101010101DD
+:1083900001010101010101010101010101010101CD
+:1083A00001010101010101010101010101010101BD
+:1083B00001010101010101010101010101010101AD
+:1083C000010101010101010101010101010101019D
+:1083D000010101010101010101010101010101018D
+:1083E000010101010101010101010101010101017D
+:1083F000010101010101010101010101010101016D
+:10840000010101010101010101010101010101015C
+:10841000010101010101010101010101010101014C
+:10842000010101010101010101010101010101013C
+:10843000010101010101010101010101010101012C
+:10844000010101010101010101010101010101011C
+:10845000010101010101010101010101010101010C
+:1084600001010101010101010101010101010101FC
+:1084700001010101010101010101010101010101EC
+:1084800001010101010101010101010101010101DC
+:1084900001010101010101010101010101010101CC
+:1084A00001010101010101010101010101010101BC
+:1084B00001010101010101010101010101010101AC
+:1084C000010101010101010101010101010101019C
+:1084D000010101010101010101010101010101018C
+:1084E000010101010101010101010101010101017C
+:1084F000010101010101010101010101010101016C
+:10850000010101010101010101010101010101015B
+:10851000010101010101010101010101010101014B
+:10852000010101010101010101010101010101013B
+:10853000010101010101010101010101010101012B
+:10854000010101010101010101010101010101011B
+:10855000010101010101010101010101010101010B
+:1085600001010101010101010101010101010101FB
+:1085700001010101010101010101010101010101EB
+:1085800001010101010101010101010101010101DB
+:1085900001010101010101010101010101010101CB
+:1085A00001010101010101010101010101010101BB
+:1085B00001010101010101010101010101010101AB
+:1085C000010101010101010101010101010101019B
+:1085D000010101010101010101010101010101018B
+:1085E000010101010101010101010101010101017B
+:1085F000010101010101010101010101010101016B
+:10860000010101010101010101010101010101015A
+:10861000010101010101010101010101010101014A
+:10862000010101010101010101010101010101013A
+:10863000010101010101010101010101010101012A
+:10864000010101010101010101010101010101011A
+:10865000010101010101010101010101010101010A
+:1086600001010101010101010101010101010101FA
+:1086700001010101010101010101010101010101EA
+:1086800001010101010101010101010101010101DA
+:1086900001010101010101010101010101010101CA
+:1086A00001010101010101010101010101010101BA
+:1086B00001010101010101010101010101010101AA
+:1086C000010101010101010101010101010101019A
+:1086D000010101010101010101010101010101018A
+:1086E000010101010101010101010101010101017A
+:1086F000010101010101010101010101010101016A
+:108700000101010101010101010101010101010159
+:108710000101010101010101010101010101010149
+:108720000101010101010101010101010101010139
+:108730000101010101010101010101010101010129
+:108740000101010101010101010101010101010119
+:108750000101010101010101010101010101010109
+:1087600001010101010101010101010101010101F9
+:1087700001010101010101010101010101010101E9
+:1087800001010101010101010101010101010101D9
+:1087900001010101010101010101010101010101C9
+:1087A00001010101010101010101010101010101B9
+:1087B00001010101010101010101010101010101A9
+:1087C0000101010101010101010101010101010199
+:1087D0000101010101010101010101010101010189
+:1087E0000101010101010101010101010101010179
+:1087F0000101010101010101010101010101010169
+:108800000101010101010101010101010101010158
+:108810000101010101010101010101010101010148
+:108820000101010101010101010101010101010138
+:108830000101010101010101010101010101010128
+:108840000101010101010101010101010101010118
+:108850000101010101010101010101010101010108
+:1088600001010101010101010101010101010101F8
+:1088700001010101010101010101010101010101E8
+:1088800001010101010101010101010101010101D8
+:1088900001010101010101010101010101010101C8
+:1088A00001010101010101010101010101010101B8
+:1088B00001010101010101010101010101010101A8
+:1088C0000101010101010101010101010101010198
+:1088D0000101010101010101010101010101010188
+:1088E0000101010101010101010101010101010178
+:1088F0000101010101010101010101010101010168
+:108900000101010101010101010101010101010157
+:108910000101010101010101010101010101010147
+:10892000010101010101010100000000000000003F
+:108930000000000000000000000000000000000037
+:108940000000000000000000000000000000000027
+:108950000000000000000000000000000000000017
+:108960000000000000000000000000000000000007
+:1089700000000000000000000000000000000000F7
+:1089800000000000000000000000000000000000E7
+:1089900000000000000000000000000000000000D7
+:1089A00000000000000000000000000000000000C7
+:1089B00000000000000000000000000000000000B7
+:1089C00000000000000000000000000000000000A7
+:1089D0000000000000000000000000000000000097
+:1089E0000000000000000000000000000000000087
+:1089F0000000000000000000000000000000000077
+:108A00000000000000000000000000000000000066
+:108A10000000000000000000000000000000000056
+:108A20000000000000000000000000000000000046
+:108A30000000000000000000000000000000000036
+:108A40000000000000000000000000000000000026
+:108A50000000000000000000000000000000000016
+:108A60000000000000000000000000000000000006
+:108A700000000000000000000000000000000000F6
+:108A800000000000000000000000000000000000E6
+:108A900000000000000000000000000000000000D6
+:108AA00000000000000000000000000000000000C6
+:108AB00000000000000000000000000000000000B6
+:108AC00000000000000000000000000000000000A6
+:108AD0000000000000000000000000000000000096
+:108AE0000000000000000000000000000000000086
+:108AF0000000000000000000000000000000000076
+:108B00000000000000000000000000000000000065
+:108B10000000000000000000000000000000000055
+:108B20000000000000000000000000000000000045
+:108B30000000000000000000000000000000000035
+:108B40000000000000000000000000000000000025
+:108B50000000000000000000000000000000000015
+:108B60000000000000000000000000000000000005
+:108B700000000000000000000000000000000000F5
+:108B800000000000000000000000000000000000E5
+:108B900000000000000000000000000000000000D5
+:108BA00000000000000000000000000000000000C5
+:108BB00000000000000000000000000000000000B5
+:108BC00000000000000000000000000000000000A5
+:108BD0000000000000000000000000000000000095
+:108BE0000000000000000000000000000000000085
+:108BF0000000000000000000000000000000000075
+:108C00000000000000000000000000000000000064
+:108C10000000000000000000000000000000000054
+:108C20000000000000000000000000000000000044
+:108C30000000000000000000000000000000000034
+:108C40000000000000000000000000000000000024
+:108C50000000000000000000000000000000000014
+:108C60000000000000000000000000000000000004
+:108C700000000000000000000000000000000000F4
+:108C800000000000000000000000000000000000E4
+:108C900000000000000000000000000000000000D4
+:108CA00000000000000000000000000000000000C4
+:108CB00000000000000000000000000000000000B4
+:108CC00000000000000000000000000000000000A4
+:108CD0000000000000000000000000000000000094
+:108CE0000000000000000000000000000000000084
+:108CF0000000000000000000000000000000000074
+:108D00000000000000000000000000000000000063
+:108D10000000000000000000000000000000000053
+:108D2000000000000000000001010101010101013B
+:108D30000101010101010101010101010101010123
+:108D40000101010101010101010101010101010113
+:108D50000101010101010101010101010101010103
+:108D600001010101010101010101010101010101F3
+:108D700001010101010101010101010101010101E3
+:108D800001010101010101010101010101010101D3
+:108D900001010101010101010101010101010101C3
+:108DA00001010101010101010101010101010101B3
+:108DB00001010101010101010101010101010101A3
+:108DC0000101010101010101010101010101010193
+:108DD0000101010101010101010101010101010183
+:108DE0000101010101010101010101010101010173
+:108DF0000101010101010101010101010101010163
+:108E00000101010101010101010101010101010152
+:108E10000101010101010101010101010101010142
+:108E20000101010101010101010101010101010132
+:108E30000101010101010101010101010101010122
+:108E40000101010101010101010101010101010112
+:108E50000101010101010101010101010101010102
+:108E600001010101010101010101010101010101F2
+:108E700001010101010101010101010101010101E2
+:108E800001010101010101010101010101010101D2
+:108E900001010101010101010101010101010101C2
+:108EA00001010101010101010101010101010101B2
+:108EB00001010101010101010101010101010101A2
+:108EC0000101010101010101010101010101010192
+:108ED0000101010101010101010101010101010182
+:108EE0000101010101010101010101010101010172
+:108EF0000101010101010101010101010101010162
+:108F00000101010101010101010101010101010151
+:108F10000101010101010101010101010101010141
+:108F20000101010101010101020202020202020229
+:108F30000202020202020202020202020202020211
+:108F40000202020202020202020202020202020201
+:108F500002020202020202020202020202020202F1
+:108F600002020202020202020202020202020202E1
+:108F700002020202020202020202020202020202D1
+:108F800002020202020202020202020202020202C1
+:108F900002020202020202020202020202020202B1
+:108FA00002020202020202020202020202020202A1
+:108FB0000202020202020202020202020202020291
+:108FC0000202020202020202020202020202020281
+:108FD0000202020202020202020202020202020271
+:108FE0000202020202020202020202020202020261
+:108FF0000202020202020202020202020202020251
+:109000000202020202020202020202020202020240
+:109010000202020202020202020202020202020230
+:109020000202020202020202020202020202020220
+:109030000202020202020202020202020202020210
+:109040000202020202020202020202020202020200
+:1090500002020202020202020202020202020202F0
+:1090600002020202020202020202020202020202E0
+:1090700002020202020202020202020202020202D0
+:1090800002020202020202020202020202020202C0
+:1090900002020202020202020202020202020202B0
+:1090A00002020202020202020202020202020202A0
+:1090B0000202020202020202020202020202020290
+:1090C0000202020202020202020202020202020280
+:1090D0000202020202020202020202020202020270
+:1090E0000202020202020202020202020202020260
+:1090F0000202020202020202020202020202020250
+:10910000020202020202020202020202020202023F
+:10911000020202020202020202020202020202022F
+:10912000020202020202020202020202020202021F
+:10913000020202020202020202020202020202020F
+:1091400002020202020202020202020202020202FF
+:1091500002020202020202020202020202020202EF
+:1091600002020202020202020202020202020202DF
+:1091700002020202020202020202020202020202CF
+:1091800002020202020202020202020202020202BF
+:1091900002020202020202020202020202020202AF
+:1091A000020202020202020202020202020202029F
+:1091B000020202020202020202020202020202028F
+:1091C000020202020202020202020202020202027F
+:1091D000020202020202020202020202020202026F
+:1091E000020202020202020202020202020202025F
+:1091F000020202020202020202020202020202024F
+:10920000020202020202020202020202020202023E
+:10921000020202020202020202020202020202022E
+:10922000020202020202020202020202020202021E
+:10923000020202020202020202020202020202020E
+:1092400002020202020202020202020202020202FE
+:1092500002020202020202020202020202020202EE
+:1092600002020202020202020202020202020202DE
+:1092700002020202020202020202020202020202CE
+:1092800002020202020202020202020202020202BE
+:1092900002020202020202020202020202020202AE
+:1092A000020202020202020202020202020202029E
+:1092B000020202020202020202020202020202028E
+:1092C000020202020202020202020202020202027E
+:1092D000020202020202020202020202020202026E
+:1092E000020202020202020202020202020202025E
+:1092F000020202020202020202020202020202024E
+:10930000020202020202020202020202020202023D
+:10931000020202020202020202020202020202022D
+:10932000020202020202020202020202020202021D
+:10933000020202020202020202020202020202020D
+:1093400002020202020202020202020202020202FD
+:1093500002020202020202020202020202020202ED
+:1093600002020202020202020202020202020202DD
+:1093700002020202020202020202020202020202CD
+:1093800002020202020202020202020202020202BD
+:1093900002020202020202020202020202020202AD
+:1093A000020202020202020202020202020202029D
+:1093B000020202020202020202020202020202028D
+:1093C000020202020202020202020202020202027D
+:1093D000020202020202020202020202020202026D
+:1093E000020202020202020202020202020202025D
+:1093F000020202020202020202020202020202024D
+:10940000020202020202020202020202020202023C
+:10941000020202020202020202020202020202022C
+:10942000020202020202020202020202020202021C
+:10943000020202020202020202020202020202020C
+:1094400002020202020202020202020202020202FC
+:1094500002020202020202020202020202020202EC
+:1094600002020202020202020202020202020202DC
+:1094700002020202020202020202020202020202CC
+:1094800002020202020202020202020202020202BC
+:1094900002020202020202020202020202020202AC
+:1094A000020202020202020202020202020202029C
+:1094B000020202020202020202020202020202028C
+:1094C000020202020202020202020202020202027C
+:1094D000020202020202020202020202020202026C
+:1094E000020202020202020202020202020202025C
+:1094F000020202020202020202020202020202024C
+:10950000020202020202020202020202020202023B
+:10951000020202020202020202020202020202022B
+:10952000020202020202020202020202020202021B
+:10953000020202020202020202020202020202020B
+:1095400002020202020202020202020202020202FB
+:1095500002020202020202020202020202020202EB
+:1095600002020202020202020202020202020202DB
+:1095700002020202020202020202020202020202CB
+:1095800002020202020202020202020202020202BB
+:1095900002020202020202020202020202020202AB
+:1095A000020202020202020202020202020202029B
+:1095B000020202020202020202020202020202028B
+:1095C000020202020202020202020202020202027B
+:1095D000020202020202020202020202020202026B
+:1095E000020202020202020202020202020202025B
+:1095F000020202020202020202020202020202024B
+:10960000020202020202020202020202020202023A
+:10961000020202020202020202020202020202022A
+:10962000020202020202020202020202020202021A
+:10963000020202020202020202020202020202020A
+:1096400002020202020202020202020202020202FA
+:1096500002020202020202020202020202020202EA
+:1096600002020202020202020202020202020202DA
+:1096700002020202020202020202020202020202CA
+:1096800002020202020202020202020202020202BA
+:1096900002020202020202020202020202020202AA
+:1096A000020202020202020202020202020202029A
+:1096B000020202020202020202020202020202028A
+:1096C000020202020202020202020202020202027A
+:1096D000020202020202020202020202020202026A
+:1096E000020202020202020202020202020202025A
+:1096F000020202020202020202020202020202024A
+:109700000202020202020202020202020202020239
+:109710000202020202020202020202020202020229
+:109720000202020202020202020202020202020219
+:109730000202020202020202020202020202020209
+:1097400002020202020202020202020202020202F9
+:1097500002020202020202020202020202020202E9
+:1097600002020202020202020202020202020202D9
+:1097700002020202020202020202020202020202C9
+:1097800002020202020202020202020202020202B9
+:1097900002020202020202020202020202020202A9
+:1097A0000202020202020202020202020202020299
+:1097B0000202020202020202020202020202020289
+:1097C0000202020202020202020202020202020279
+:1097D0000202020202020202020202020202020269
+:1097E0000202020202020202020202020202020259
+:1097F0000202020202020202020202020202020249
+:109800000202020202020202020202020202020238
+:109810000202020202020202020202020202020228
+:109820000202020202020202020202020202020218
+:109830000202020202020202020202020202020208
+:1098400002020202020202020202020202020202F8
+:1098500002020202020202020202020202020202E8
+:1098600002020202020202020202020202020202D8
+:1098700002020202020202020202020202020202C8
+:1098800002020202020202020202020202020202B8
+:1098900002020202020202020202020202020202A8
+:1098A0000202020202020202020202020202020298
+:1098B0000202020202020202020202020202020288
+:1098C0000202020202020202020202020202020278
+:1098D0000202020202020202020202020202020268
+:1098E0000202020202020202020202020202020258
+:1098F0000202020202020202020202020202020248
+:109900000202020202020202020202020202020237
+:109910000202020202020202020202020202020227
+:109920000202020202020202020202020202020217
+:109930000202020202020202020202020202020207
+:1099400002020202020202020202020202020202F7
+:1099500002020202020202020202020202020202E7
+:1099600002020202020202020202020202020202D7
+:1099700002020202020202020202020202020202C7
+:1099800002020202020202020202020202020202B7
+:1099900002020202020202020202020202020202A7
+:1099A0000202020202020202020202020202020297
+:1099B0000202020202020202020202020202020287
+:1099C0000202020202020202020202020202020277
+:1099D0000202020202020202020202020202020267
+:1099E0000202020202020202020202020202020257
+:1099F0000202020202020202020202020202020247
+:109A00000202020202020202020202020202020236
+:109A10000202020202020202020202020202020226
+:109A20000202020202020202020202020202020216
+:109A30000202020202020202020202020202020206
+:109A400002020202020202020202020202020202F6
+:109A500002020202020202020202020202020202E6
+:109A600002020202020202020202020202020202D6
+:109A700002020202020202020202020202020202C6
+:109A800002020202020202020202020202020202B6
+:109A900002020202020202020202020202020202A6
+:109AA0000202020202020202020202020202020296
+:109AB0000202020202020202020202020202020286
+:109AC0000202020202020202020202020202020276
+:109AD0000202020202020202020202020202020266
+:109AE0000202020202020202020202020202020256
+:109AF0000202020202020202020202020202020246
+:109B00000202020202020202020202020202020235
+:109B10000202020202020202020202020202020225
+:109B20000202020202020202020202020202020215
+:109B30000202020202020202020202020202020205
+:109B400002020202020202020202020202020202F5
+:109B500002020202020202020202020202020202E5
+:109B600002020202020202020202020202020202D5
+:109B700002020202020202020202020202020202C5
+:109B800002020202020202020202020202020202B5
+:109B900002020202020202020202020202020202A5
+:109BA0000202020202020202020202020202020295
+:109BB0000202020202020202020202020202020285
+:109BC0000202020202020202020202020202020275
+:109BD0000202020202020202020202020202020265
+:109BE0000202020202020202020202020202020255
+:109BF0000202020202020202020202020202020245
+:109C00000202020202020202020202020202020234
+:109C10000202020202020202020202020202020224
+:109C20000202020202020202020202020202020214
+:109C30000202020202020202020202020202020204
+:109C400002020202020202020202020202020202F4
+:109C500002020202020202020202020202020202E4
+:109C600002020202020202020202020202020202D4
+:109C700002020202020202020202020202020202C4
+:109C800002020202020202020202020202020202B4
+:109C900002020202020202020202020202020202A4
+:109CA0000202020202020202020202020202020294
+:109CB0000202020202020202020202020202020284
+:109CC0000202020202020202020202020202020274
+:109CD0000202020202020202020202020202020264
+:109CE0000202020202020202020202020202020254
+:109CF0000202020202020202020202020202020244
+:109D00000202020202020202020202020202020233
+:109D10000202020202020202020202020202020223
+:109D20000202020202020202020202020202020213
+:109D30000202020202020202020202020202020203
+:109D400002020202020202020202020202020202F3
+:109D500002020202020202020202020202020202E3
+:109D600002020202020202020202020202020202D3
+:109D700002020202020202020202020202020202C3
+:109D800002020202020202020202020202020202B3
+:109D900002020202020202020202020202020202A3
+:109DA0000202020202020202020202020202020293
+:109DB0000202020202020202020202020202020283
+:109DC0000202020202020202020202020202020273
+:109DD0000202020202020202020202020202020263
+:109DE0000202020202020202020202020202020253
+:109DF0000202020202020202020202020202020243
+:109E00000202020202020202020202020202020232
+:109E10000202020202020202020202020202020222
+:109E20000202020202020202020202020202020212
+:109E30000202020202020202020202020202020202
+:109E400002020202020202020202020202020202F2
+:109E500002020202020202020202020202020202E2
+:109E600002020202020202020202020202020202D2
+:109E700002020202020202020202020202020202C2
+:109E800002020202020202020202020202020202B2
+:109E900002020202020202020202020202020202A2
+:109EA0000202020202020202020202020202020292
+:109EB0000202020202020202020202020202020282
+:109EC0000202020202020202020202020202020272
+:109ED0000202020202020202020202020202020262
+:109EE0000202020202020202020202020202020252
+:109EF0000202020202020202020202020202020242
+:109F00000202020202020202020202020202020231
+:109F10000202020202020202020202020202020221
+:109F20000202020202020202000000000000000021
+:109F30000000000000000000000000000000000021
+:109F40000000000000000000000000000000000011
+:109F50000000000000000000000000000000000001
+:109F600000000000000000000000000000000000F1
+:109F700000000000000000000000000000000000E1
+:109F800000000000000000000000000000000000D1
+:109F900000000000000000000000000000000000C1
+:109FA00000000000000000000000000000000000B1
+:109FB00000000000000000000000000000000000A1
+:109FC0000000000000000000000000000000000091
+:109FD0000000000000000000000000000000000081
+:109FE0000000000000000000000000000000000071
+:109FF0000000000000000000000000000000000061
+:10A000000000000000000000000000000000000050
+:10A010000000000000000000000000000000000040
+:10A020000000000000000000000000000000000030
+:10A030000000000000000000000000000000000020
+:10A040000000000000000000000000000000000010
+:10A050000000000000000000000000000000000000
+:10A0600000000000000000000000000000000000F0
+:10A0700000000000000000000000000000000000E0
+:10A0800000000000000000000000000000000000D0
+:10A0900000000000000000000000000000000000C0
+:10A0A00000000000000000000000000000000000B0
+:10A0B00000000000000000000000000000000000A0
+:10A0C0000000000000000000000000000000000090
+:10A0D0000000000000000000000000000000000080
+:10A0E0000000000000000000000000000000000070
+:10A0F0000000000000000000000000000000000060
+:10A10000000000000000000000000000000000004F
+:10A11000000000000000000000000000000000003F
+:10A12000000000000000000000000000000000002F
+:10A13000000000000000000000000000000000001F
+:10A14000000000000000000000000000000000000F
+:10A1500000000000000000000000000000000000FF
+:10A1600000000000000000000000000000000000EF
+:10A1700000000000000000000000000000000000DF
+:10A1800000000000000000000000000000000000CF
+:10A1900000000000000000000000000000000000BF
+:10A1A00000000000000000000000000000000000AF
+:10A1B000000000000000000000000000000000009F
+:10A1C000000000000000000000000000000000008F
+:10A1D000000000000000000000000000000000007F
+:10A1E000000000000000000000000000000000006F
+:10A1F000000000000000000000000000000000005F
+:10A20000000000000000000000000000000000004E
+:10A21000000000000000000000000000000000003E
+:10A22000000000000000000000000000000000002E
+:10A23000000000000000000000000000000000001E
+:10A24000000000000000000000000000000000000E
+:10A2500000000000000000000000000000000000FE
+:10A2600000000000000000000000000000000000EE
+:10A2700000000000000000000000000000000000DE
+:10A2800000000000000000000000000000000000CE
+:10A2900000000000000000000000000000000000BE
+:10A2A00000000000000000000000000000000000AE
+:10A2B000000000000000000000000000000000009E
+:10A2C000000000000000000000000000000000008E
+:10A2D000000000000000000000000000000000007E
+:10A2E000000000000000000000000000000000006E
+:10A2F000000000000000000000000000000000005E
+:10A30000000000000000000000000000000000004D
+:10A31000000000000000000000000000000000003D
+:10A32000000000000000000000000000000000002D
+:10A33000000000000000000000000000000000001D
+:10A34000000000000000000000000000000000000D
+:10A3500000000000000000000000000000000000FD
+:10A3600000000000000000000000000000000000ED
+:10A3700000000000000000000000000000000000DD
+:10A3800000000000000000000000000000000000CD
+:10A3900000000000000000000000000000000000BD
+:10A3A00000000000000000000000000000000000AD
+:10A3B000000000000000000000000000000000009D
+:10A3C000000000000000000000000000000000008D
+:10A3D000000000000000000000000000000000007D
+:10A3E000000000000000000000000000000000006D
+:10A3F000000000000000000000000000000000005D
+:10A40000000000000000000000000000000000004C
+:10A41000000000000000000000000000000000003C
+:10A42000000000000000000000000000000000002C
+:10A43000000000000000000000000000000000001C
+:10A44000000000000000000000000000000000000C
+:10A4500000000000000000000000000000000000FC
+:10A4600000000000000000000000000000000000EC
+:10A4700000000000000000000000000000000000DC
+:10A4800000000000000000000000000000000000CC
+:10A4900000000000000000000000000000000000BC
+:10A4A00000000000000000000000000000000000AC
+:10A4B000000000000000000000000000000000009C
+:10A4C000000000000000000000000000000000008C
+:10A4D000000000000000000000000000000000007C
+:10A4E000000000000000000000000000000000006C
+:10A4F000000000000000000000000000000000005C
+:10A50000000000000000000000000000000000004B
+:10A51000000000000000000000000000000000003B
+:10A52000000000000000000000000000000000002B
+:10A53000000000000000000000000000000000001B
+:10A54000000000000000000000000000000000000B
+:10A5500000000000000000000000000000000000FB
+:10A5600000000000000000000000000000000000EB
+:10A5700000000000000000000000000000000000DB
+:10A5800000000000000000000000000000000000CB
+:10A5900000000000000000000000000000000000BB
+:10A5A00000000000000000000000000000000000AB
+:10A5B000000000000000000000000000000000009B
+:10A5C000000000000000000000000000000000008B
+:10A5D000000000000000000000000000000000007B
+:10A5E000000000000000000000000000000000006B
+:10A5F000000000000000000000000000000000005B
+:10A60000000000000000000000000000000000004A
+:10A61000000000000000000000000000000000003A
+:10A62000000000000000000000000000000000002A
+:10A63000000000000000000000000000000000001A
+:10A64000000000000000000000000000000000000A
+:10A6500000000000000000000000000000000000FA
+:10A6600000000000000000000000000000000000EA
+:10A6700000000000000000000000000000000000DA
+:10A6800000000000000000000000000000000000CA
+:10A6900000000000000000000000000000000000BA
+:10A6A00000000000000000000000000000000000AA
+:10A6B000000000000000000000000000000000009A
+:10A6C000000000000000000000000000000000008A
+:10A6D000000000000000000000000000000000007A
+:10A6E000000000000000000000000000000000006A
+:10A6F000000000000000000000000000000000005A
+:10A700000000000000000000000000000000000049
+:10A710000000000000000000000000000000000039
+:10A720000000000000000000010101010101010121
+:10A730000101010101010101010101010101010109
+:10A7400001010101010101010101010101010101F9
+:10A7500001010101010101010101010101010101E9
+:10A7600001010101010101010101010101010101D9
+:10A7700001010101010101010101010101010101C9
+:10A7800001010101010101010101010101010101B9
+:10A7900001010101010101010101010101010101A9
+:10A7A0000101010101010101010101010101010199
+:10A7B0000101010101010101010101010101010189
+:10A7C0000101010101010101010101010101010179
+:10A7D0000101010101010101010101010101010169
+:10A7E0000101010101010101010101010101010159
+:10A7F0000101010101010101010101010101010149
+:10A800000101010101010101010101010101010138
+:10A810000101010101010101010101010101010128
+:10A820000101010101010101010101010101010118
+:10A830000101010101010101010101010101010108
+:10A8400001010101010101010101010101010101F8
+:10A8500001010101010101010101010101010101E8
+:10A8600001010101010101010101010101010101D8
+:10A8700001010101010101010101010101010101C8
+:10A8800001010101010101010101010101010101B8
+:10A8900001010101010101010101010101010101A8
+:10A8A0000101010101010101010101010101010198
+:10A8B0000101010101010101010101010101010188
+:10A8C0000101010101010101010101010101010178
+:10A8D0000101010101010101010101010101010168
+:10A8E0000101010101010101010101010101010158
+:10A8F0000101010101010101010101010101010148
+:10A900000101010101010101010101010101010137
+:10A910000101010101010101010101010101010127
+:10A920000101010101010101010101010101010117
+:10A930000101010101010101010101010101010107
+:10A9400001010101010101010101010101010101F7
+:10A9500001010101010101010101010101010101E7
+:10A9600001010101010101010101010101010101D7
+:10A9700001010101010101010101010101010101C7
+:10A9800001010101010101010101010101010101B7
+:10A9900001010101010101010101010101010101A7
+:10A9A0000101010101010101010101010101010197
+:10A9B0000101010101010101010101010101010187
+:10A9C0000101010101010101010101010101010177
+:10A9D0000101010101010101010101010101010167
+:10A9E0000101010101010101010101010101010157
+:10A9F0000101010101010101010101010101010147
+:10AA00000101010101010101010101010101010136
+:10AA10000101010101010101010101010101010126
+:10AA20000101010101010101010101010101010116
+:10AA30000101010101010101010101010101010106
+:10AA400001010101010101010101010101010101F6
+:10AA500001010101010101010101010101010101E6
+:10AA600001010101010101010101010101010101D6
+:10AA700001010101010101010101010101010101C6
+:10AA800001010101010101010101010101010101B6
+:10AA900001010101010101010101010101010101A6
+:10AAA0000101010101010101010101010101010196
+:10AAB0000101010101010101010101010101010186
+:10AAC0000101010101010101010101010101010176
+:10AAD0000101010101010101010101010101010166
+:10AAE0000101010101010101010101010101010156
+:10AAF0000101010101010101010101010101010146
+:10AB00000101010101010101010101010101010135
+:10AB10000101010101010101010101010101010125
+:10AB20000101010101010101010101010101010115
+:10AB30000101010101010101010101010101010105
+:10AB400001010101010101010101010101010101F5
+:10AB500001010101010101010101010101010101E5
+:10AB600001010101010101010101010101010101D5
+:10AB700001010101010101010101010101010101C5
+:10AB800001010101010101010101010101010101B5
+:10AB900001010101010101010101010101010101A5
+:10ABA0000101010101010101010101010101010195
+:10ABB0000101010101010101010101010101010185
+:10ABC0000101010101010101010101010101010175
+:10ABD0000101010101010101010101010101010165
+:10ABE0000101010101010101010101010101010155
+:10ABF0000101010101010101010101010101010145
+:10AC00000101010101010101010101010101010134
+:10AC10000101010101010101010101010101010124
+:10AC20000101010101010101010101010101010114
+:10AC30000101010101010101010101010101010104
+:10AC400001010101010101010101010101010101F4
+:10AC500001010101010101010101010101010101E4
+:10AC600001010101010101010101010101010101D4
+:10AC700001010101010101010101010101010101C4
+:10AC800001010101010101010101010101010101B4
+:10AC900001010101010101010101010101010101A4
+:10ACA0000101010101010101010101010101010194
+:10ACB0000101010101010101010101010101010184
+:10ACC0000101010101010101010101010101010174
+:10ACD0000101010101010101010101010101010164
+:10ACE0000101010101010101010101010101010154
+:10ACF0000101010101010101010101010101010144
+:10AD00000101010101010101010101010101010133
+:10AD10000101010101010101010101010101010123
+:10AD20000101010101010101010101010101010113
+:10AD30000101010101010101010101010101010103
+:10AD400001010101010101010101010101010101F3
+:10AD500001010101010101010101010101010101E3
+:10AD600001010101010101010101010101010101D3
+:10AD700001010101010101010101010101010101C3
+:10AD800001010101010101010101010101010101B3
+:10AD900001010101010101010101010101010101A3
+:10ADA0000101010101010101010101010101010193
+:10ADB0000101010101010101010101010101010183
+:10ADC0000101010101010101010101010101010173
+:10ADD0000101010101010101010101010101010163
+:10ADE0000101010101010101010101010101010153
+:10ADF0000101010101010101010101010101010143
+:10AE00000101010101010101010101010101010132
+:10AE10000101010101010101010101010101010122
+:10AE2000010101010101010100000000000000001A
+:10AE30000000000000000000000000000000000012
+:10AE40000000000000000000000000000000000002
+:10AE500000000000000000000000000000000000F2
+:10AE600000000000000000000000000000000000E2
+:10AE700000000000000000000000000000000000D2
+:10AE800000000000000000000000000000000000C2
+:10AE900000000000000000000000000000000000B2
+:10AEA00000000000000000000000000000000000A2
+:10AEB0000000000000000000000000000000000092
+:10AEC0000000000000000000000000000000000082
+:10AED0000000000000000000000000000000000072
+:10AEE0000000000000000000000000000000000062
+:10AEF0000000000000000000000000000000000052
+:10AF00000000000000000000000000000000000041
+:10AF10000000000000000000000000000000000031
+:10AF20000000000000000000000000000000000021
+:10AF30000000000000000000000000000000000011
+:10AF40000000000000000000000000000000000001
+:10AF500000000000000000000000000000000000F1
+:10AF600000000000000000000000000000000000E1
+:10AF700000000000000000000000000000000000D1
+:10AF800000000000000000000000000000000000C1
+:10AF900000000000000000000000000000000000B1
+:10AFA00000000000000000000000000000000000A1
+:10AFB0000000000000000000000000000000000091
+:10AFC0000000000000000000000000000000000081
+:10AFD0000000000000000000000000000000000071
+:10AFE0000000000000000000000000000000000061
+:10AFF0000000000000000000000000000000000051
+:10B000000000000000000000000000000000000040
+:10B010000000000000000000000000000000000030
+:10B020000000000000000000000000000000000020
+:10B030000000000000000000000000000000000010
+:10B040000000000000000000000000000000000000
+:10B0500000000000000000000000000000000000F0
+:10B0600000000000000000000000000000000000E0
+:10B0700000000000000000000000000000000000D0
+:10B0800000000000000000000000000000000000C0
+:10B0900000000000000000000000000000000000B0
+:10B0A00000000000000000000000000000000000A0
+:10B0B0000000000000000000000000000000000090
+:10B0C0000000000000000000000000000000000080
+:10B0D0000000000000000000000000000000000070
+:10B0E0000000000000000000000000000000000060
+:10B0F0000000000000000000000000000000000050
+:10B10000000000000000000000000000000000003F
+:10B11000000000000000000000000000000000002F
+:10B12000000000000000000000000000000000001F
+:10B13000000000000000000000000000000000000F
+:10B1400000000000000000000000000000000000FF
+:10B1500000000000000000000000000000000000EF
+:10B1600000000000000000000000000000000000DF
+:10B1700000000000000000000000000000000000CF
+:10B1800000000000000000000000000000000000BF
+:10B1900000000000000000000000000000000000AF
+:10B1A000000000000000000000000000000000009F
+:10B1B000000000000000000000000000000000008F
+:10B1C000000000000000000000000000000000007F
+:10B1D000000000000000000000000000000000006F
+:10B1E000000000000000000000000000000000005F
+:10B1F000000000000000000000000000000000004F
+:10B20000000000000000000000000000000000003E
+:10B21000000000000000000000000000000000002E
+:10B22000000000000000000000000000000000001E
+:10B23000000000000000000000000000000000000E
+:10B2400000000000000000000000000000000000FE
+:10B2500000000000000000000000000000000000EE
+:10B2600000000000000000000000000000000000DE
+:10B2700000000000000000000000000000000000CE
+:10B2800000000000000000000000000000000000BE
+:10B2900000000000000000000000000000000000AE
+:10B2A000000000000000000000000000000000009E
+:10B2B000000000000000000000000000000000008E
+:10B2C000000000000000000000000000000000007E
+:10B2D000000000000000000000000000000000006E
+:10B2E000000000000000000000000000000000005E
+:10B2F000000000000000000000000000000000004E
+:10B30000000000000000000000000000000000003D
+:10B31000000000000000000000000000000000002D
+:10B32000000000000000000000000000000000001D
+:10B33000000000000000000000000000000000000D
+:10B3400000000000000000000000000000000000FD
+:10B3500000000000000000000000000000000000ED
+:10B3600000000000000000000000000000000000DD
+:10B3700000000000000000000000000000000000CD
+:10B3800000000000000000000000000000000000BD
+:10B3900000000000000000000000000000000000AD
+:10B3A000000000000000000000000000000000009D
+:10B3B000000000000000000000000000000000008D
+:10B3C000000000000000000000000000000000007D
+:10B3D000000000000000000000000000000000006D
+:10B3E000000000000000000000000000000000005D
+:10B3F000000000000000000000000000000000004D
+:10B40000000000000000000000000000000000003C
+:10B41000000000000000000000000000000000002C
+:10B42000000000000000000000000000000000001C
+:10B43000000000000000000000000000000000000C
+:10B4400000000000000000000000000000000000FC
+:10B4500000000000000000000000000000000000EC
+:10B4600000000000000000000000000000000000DC
+:10B4700000000000000000000000000000000000CC
+:10B4800000000000000000000000000000000000BC
+:10B4900000000000000000000000000000000000AC
+:10B4A000000000000000000000000000000000009C
+:10B4B000000000000000000000000000000000008C
+:10B4C000000000000000000000000000000000007C
+:10B4D000000000000000000000000000000000006C
+:10B4E000000000000000000000000000000000005C
+:10B4F000000000000000000000000000000000004C
+:10B50000000000000000000000000000000000003B
+:10B51000000000000000000000000000000000002B
+:10B52000000000000000000000000000000000001B
+:10B53000000000000000000000000000000000000B
+:10B5400000000000000000000000000000000000FB
+:10B5500000000000000000000000000000000000EB
+:10B5600000000000000000000000000000000000DB
+:10B5700000000000000000000000000000000000CB
+:10B5800000000000000000000000000000000000BB
+:10B5900000000000000000000000000000000000AB
+:10B5A000000000000000000000000000000000009B
+:10B5B000000000000000000000000000000000008B
+:10B5C000000000000000000000000000000000007B
+:10B5D000000000000000000000000000000000006B
+:10B5E000000000000000000000000000000000005B
+:10B5F000000000000000000000000000000000004B
+:10B60000000000000000000000000000000000003A
+:10B61000000000000000000000000000000000002A
+:10B62000000000000000000000000000000000001A
+:10B63000000000000000000000000000000000000A
+:10B6400000000000000000000000000000000000FA
+:10B6500000000000000000000000000000000000EA
+:10B6600000000000000000000000000000000000DA
+:10B6700000000000000000000000000000000000CA
+:10B6800000000000000000000000000000000000BA
+:10B6900000000000000000000000000000000000AA
+:10B6A000000000000000000000000000000000009A
+:10B6B000000000000000000000000000000000008A
+:10B6C000000000000000000000000000000000007A
+:10B6D000000000000000000000000000000000006A
+:10B6E000000000000000000000000000000000005A
+:10B6F000000000000000000000000000000000004A
+:10B700000000000000000000000000000000000039
+:10B710000000000000000000000000000000000029
+:10B720000000000000000000000000000000000019
+:10B730000000000000000000000000000000000009
+:10B7400000000000000000000000000000000000F9
+:10B7500000000000000000000000000000000000E9
+:10B7600000000000000000000000000000000000D9
+:10B7700000000000000000000000000000000000C9
+:10B7800000000000000000000000000000000000B9
+:10B7900000000000000000000000000000000000A9
+:10B7A0000000000000000000000000000000000099
+:10B7B0000000000000000000000000000000000089
+:10B7C0000000000000000000000000000000000079
+:10B7D0000000000000000000000000000000000069
+:10B7E0000000000000000000000000000000000059
+:10B7F0000000000000000000000000000000000049
+:10B800000000000000000000000000000000000038
+:10B810000000000000000000000000000000000028
+:10B820000000000000000000000000000000000018
+:10B830000000000000000000000000000000000008
+:10B8400000000000000000000000000000000000F8
+:10B8500000000000000000000000000000000000E8
+:10B8600000000000000000000000000000000000D8
+:10B8700000000000000000000000000000000000C8
+:10B8800000000000000000000000000000000000B8
+:10B8900000000000000000000000000000000000A8
+:10B8A0000000000000000000000000000000000098
+:10B8B0000000000000000000000000000000000088
+:10B8C0000000000000000000000000000000000078
+:10B8D0000000000000000000000000000000000068
+:10B8E0000000000000000000000000000000000058
+:10B8F0000000000000000000000000000000000048
+:10B900000000000000000000000000000000000037
+:10B910000000000000000000000000000000000027
+:10B920000000000000000000000000000000000017
+:10B930000000000000000000000000000000000007
+:10B9400000000000000000000000000000000000F7
+:10B9500000000000000000000000000000000000E7
+:10B9600000000000000000000000000000000000D7
+:10B9700000000000000000000000000000000000C7
+:10B9800000000000000000000000000000000000B7
+:10B9900000000000000000000000000000000000A7
+:10B9A0000000000000000000000000000000000097
+:10B9B0000000000000000000000000000000000087
+:10B9C0000000000000000000000000000000000077
+:10B9D0000000000000000000000000000000000067
+:10B9E0000000000000000000000000000000000057
+:10B9F0000000000000000000000000000000000047
+:10BA00000000000000000000000000000000000036
+:10BA10000000000000000000000000000000000026
+:10BA20000000000000000000000000000000000016
+:10BA30000000000000000000000000000000000006
+:10BA400000000000000000000000000000000000F6
+:10BA500000000000000000000000000000000000E6
+:10BA600000000000000000000000000000000000D6
+:10BA700000000000000000000000000000000000C6
+:10BA800000000000000000000000000000000000B6
+:10BA900000000000000000000000000000000000A6
+:10BAA0000000000000000000000000000000000096
+:10BAB0000000000000000000000000000000000086
+:10BAC0000000000000000000000000000000000076
+:10BAD0000000000000000000000000000000000066
+:10BAE0000000000000000000000000000000000056
+:10BAF0000000000000000000000000000000000046
+:10BB00000000000000000000000000000000000035
+:10BB10000000000000000000000000000000000025
+:10BB20000000000000000000000000000000000015
+:10BB30000000000000000000000000000000000005
+:10BB400000000000000000000000000000000000F5
+:10BB500000000000000000000000000000000000E5
+:10BB600000000000000000000000000000000000D5
+:10BB700000000000000000000000000000000000C5
+:10BB800000000000000000000000000000000000B5
+:10BB900000000000000000000000000000000000A5
+:10BBA0000000000000000000000000000000000095
+:10BBB0000000000000000000000000000000000085
+:10BBC0000000000000000000000000000000000075
+:10BBD0000000000000000000000000000000000065
+:10BBE0000000000000000000000000000000000055
+:10BBF0000000000000000000000000000000000045
+:10BC00000000000000000000000000000000000034
+:10BC10000000000000000000000000000000000024
+:10BC20000000000000000000000000000000000014
+:10BC30000000000000000000000000000000000004
+:10BC400000000000000000000000000000000000F4
+:10BC500000000000000000000000000000000000E4
+:10BC600000000000000000000000000000000000D4
+:10BC700000000000000000000000000000000000C4
+:10BC800000000000000000000000000000000000B4
+:10BC900000000000000000000000000000000000A4
+:10BCA0000000000000000000000000000000000094
+:10BCB0000000000000000000000000000000000084
+:10BCC0000000000000000000000000000000000074
+:10BCD0000000000000000000000000000000000064
+:10BCE0000000000000000000000000000000000054
+:10BCF0000000000000000000000000000000000044
+:10BD00000000000000000000000000000000000033
+:10BD10000000000000000000000000000000000023
+:10BD2000000000000000000001010101010101010B
+:10BD300001010101010101010101010101010101F3
+:10BD400001010101010101010101010101010101E3
+:10BD500001010101010101010101010101010101D3
+:10BD600001010101010101010101010101010101C3
+:10BD700001010101010101010101010101010101B3
+:10BD800001010101010101010101010101010101A3
+:10BD90000101010101010101010101010101010193
+:10BDA0000101010101010101010101010101010183
+:10BDB0000101010101010101010101010101010173
+:10BDC0000101010101010101010101010101010163
+:10BDD0000101010101010101010101010101010153
+:10BDE0000101010101010101010101010101010143
+:10BDF0000101010101010101010101010101010133
+:10BE00000101010101010101010101010101010122
+:10BE10000101010101010101010101010101010112
+:10BE20000101010101010101010101010101010102
+:10BE300001010101010101010101010101010101F2
+:10BE400001010101010101010101010101010101E2
+:10BE500001010101010101010101010101010101D2
+:10BE600001010101010101010101010101010101C2
+:10BE700001010101010101010101010101010101B2
+:10BE800001010101010101010101010101010101A2
+:10BE90000101010101010101010101010101010192
+:10BEA0000101010101010101010101010101010182
+:10BEB0000101010101010101010101010101010172
+:10BEC0000101010101010101010101010101010162
+:10BED0000101010101010101010101010101010152
+:10BEE0000101010101010101010101010101010142
+:10BEF0000101010101010101010101010101010132
+:10BF00000101010101010101010101010101010121
+:10BF10000101010101010101010101010101010111
+:10BF20000101010101010101010101010101010101
+:10BF300001010101010101010101010101010101F1
+:10BF400001010101010101010101010101010101E1
+:10BF500001010101010101010101010101010101D1
+:10BF600001010101010101010101010101010101C1
+:10BF700001010101010101010101010101010101B1
+:10BF800001010101010101010101010101010101A1
+:10BF90000101010101010101010101010101010191
+:10BFA0000101010101010101010101010101010181
+:10BFB0000101010101010101010101010101010171
+:10BFC0000101010101010101010101010101010161
+:10BFD0000101010101010101010101010101010151
+:10BFE0000101010101010101010101010101010141
+:10BFF0000101010101010101010101010101010131
+:10C000000101010101010101010101010101010120
+:10C010000101010101010101010101010101010110
+:10C020000101010101010101010101010101010100
+:10C0300001010101010101010101010101010101F0
+:10C0400001010101010101010101010101010101E0
+:10C0500001010101010101010101010101010101D0
+:10C0600001010101010101010101010101010101C0
+:10C0700001010101010101010101010101010101B0
+:10C0800001010101010101010101010101010101A0
+:10C090000101010101010101010101010101010190
+:10C0A0000101010101010101010101010101010180
+:10C0B0000101010101010101010101010101010170
+:10C0C0000101010101010101010101010101010160
+:10C0D0000101010101010101010101010101010150
+:10C0E0000101010101010101010101010101010140
+:10C0F0000101010101010101010101010101010130
+:10C10000010101010101010101010101010101011F
+:10C11000010101010101010101010101010101010F
+:10C1200001010101010101010101010101010101FF
+:10C1300001010101010101010101010101010101EF
+:10C1400001010101010101010101010101010101DF
+:10C1500001010101010101010101010101010101CF
+:10C1600001010101010101010101010101010101BF
+:10C1700001010101010101010101010101010101AF
+:10C18000010101010101010101010101010101019F
+:10C19000010101010101010101010101010101018F
+:10C1A000010101010101010101010101010101017F
+:10C1B000010101010101010101010101010101016F
+:10C1C000010101010101010101010101010101015F
+:10C1D000010101010101010101010101010101014F
+:10C1E000010101010101010101010101010101013F
+:10C1F000010101010101010101010101010101012F
+:10C20000010101010101010101010101010101011E
+:10C21000010101010101010101010101010101010E
+:10C2200001010101010101010101010101010101FE
+:10C2300001010101010101010101010101010101EE
+:10C2400001010101010101010101010101010101DE
+:10C2500001010101010101010101010101010101CE
+:10C2600001010101010101010101010101010101BE
+:10C2700001010101010101010101010101010101AE
+:10C28000010101010101010101010101010101019E
+:10C29000010101010101010101010101010101018E
+:10C2A000010101010101010101010101010101017E
+:10C2B000010101010101010101010101010101016E
+:10C2C000010101010101010101010101010101015E
+:10C2D000010101010101010101010101010101014E
+:10C2E000010101010101010101010101010101013E
+:10C2F000010101010101010101010101010101012E
+:10C30000010101010101010101010101010101011D
+:10C31000010101010101010101010101010101010D
+:10C3200001010101010101010101010101010101FD
+:10C3300001010101010101010101010101010101ED
+:10C3400001010101010101010101010101010101DD
+:10C3500001010101010101010101010101010101CD
+:10C3600001010101010101010101010101010101BD
+:10C3700001010101010101010101010101010101AD
+:10C38000010101010101010101010101010101019D
+:10C39000010101010101010101010101010101018D
+:10C3A000010101010101010101010101010101017D
+:10C3B000010101010101010101010101010101016D
+:10C3C000010101010101010101010101010101015D
+:10C3D000010101010101010101010101010101014D
+:10C3E000010101010101010101010101010101013D
+:10C3F000010101010101010101010101010101012D
+:10C40000010101010101010101010101010101011C
+:10C41000010101010101010101010101010101010C
+:10C420000101010101010101000000000000000004
+:10C4300000000000000000000000000000000000FC
+:10C4400000000000000000000000000000000000EC
+:10C4500000000000000000000000000000000000DC
+:10C4600000000000000000000000000000000000CC
+:10C4700000000000000000000000000000000000BC
+:10C4800000000000000000000000000000000000AC
+:10C49000000000000000000000000000000000009C
+:10C4A000000000000000000000000000000000008C
+:10C4B000000000000000000000000000000000007C
+:10C4C000000000000000000000000000000000006C
+:10C4D000000000000000000000000000000000005C
+:10C4E000000000000000000000000000000000004C
+:10C4F000000000000000000000000000000000003C
+:10C50000000000000000000000000000000000002B
+:10C51000000000000000000000000000000000001B
+:10C52000000000000000000000000000000000000B
+:10C5300000000000000000000000000000000000FB
+:10C5400000000000000000000000000000000000EB
+:10C5500000000000000000000000000000000000DB
+:10C5600000000000000000000000000000000000CB
+:10C5700000000000000000000000000000000000BB
+:10C5800000000000000000000000000000000000AB
+:10C59000000000000000000000000000000000009B
+:10C5A000000000000000000000000000000000008B
+:10C5B000000000000000000000000000000000007B
+:10C5C000000000000000000000000000000000006B
+:10C5D000000000000000000000000000000000005B
+:10C5E000000000000000000000000000000000004B
+:10C5F000000000000000000000000000000000003B
+:10C60000000000000000000000000000000000002A
+:10C61000000000000000000000000000000000001A
+:10C62000000000000000000000000000000000000A
+:10C6300000000000000000000000000000000000FA
+:10C6400000000000000000000000000000000000EA
+:10C6500000000000000000000000000000000000DA
+:10C6600000000000000000000000000000000000CA
+:10C6700000000000000000000000000000000000BA
+:10C6800000000000000000000000000000000000AA
+:10C69000000000000000000000000000000000009A
+:10C6A000000000000000000000000000000000008A
+:10C6B000000000000000000000000000000000007A
+:10C6C000000000000000000000000000000000006A
+:10C6D000000000000000000000000000000000005A
+:10C6E000000000000000000000000000000000004A
+:10C6F000000000000000000000000000000000003A
+:10C700000000000000000000000000000000000029
+:10C710000000000000000000000000000000000019
+:10C720000000000000000000000000000000000009
+:10C7300000000000000000000000000000000000F9
+:10C7400000000000000000000000000000000000E9
+:10C7500000000000000000000000000000000000D9
+:10C7600000000000000000000000000000000000C9
+:10C7700000000000000000000000000000000000B9
+:10C7800000000000000000000000000000000000A9
+:10C790000000000000000000000000000000000099
+:10C7A0000000000000000000000000000000000089
+:10C7B0000000000000000000000000000000000079
+:10C7C0000000000000000000000000000000000069
+:10C7D0000000000000000000000000000000000059
+:10C7E0000000000000000000000000000000000049
+:10C7F0000000000000000000000000000000000039
+:10C800000000000000000000000000000000000028
+:10C810000000000000000000000000000000000018
+:10C820000000000000000000010101010101010100
+:10C8300001010101010101010101010101010101E8
+:10C8400001010101010101010101010101010101D8
+:10C8500001010101010101010101010101010101C8
+:10C8600001010101010101010101010101010101B8
+:10C8700001010101010101010101010101010101A8
+:10C880000101010101010101010101010101010198
+:10C890000101010101010101010101010101010188
+:10C8A0000101010101010101010101010101010178
+:10C8B0000101010101010101010101010101010168
+:10C8C0000101010101010101010101010101010158
+:10C8D0000101010101010101010101010101010148
+:10C8E0000101010101010101010101010101010138
+:10C8F0000101010101010101010101010101010128
+:10C900000101010101010101010101010101010117
+:10C910000101010101010101010101010101010107
+:10C9200001010101010101010101010101010101F7
+:10C9300001010101010101010101010101010101E7
+:10C9400001010101010101010101010101010101D7
+:10C9500001010101010101010101010101010101C7
+:10C9600001010101010101010101010101010101B7
+:10C9700001010101010101010101010101010101A7
+:10C980000101010101010101010101010101010197
+:10C990000101010101010101010101010101010187
+:10C9A0000101010101010101010101010101010177
+:10C9B0000101010101010101010101010101010167
+:10C9C0000101010101010101010101010101010157
+:10C9D0000101010101010101010101010101010147
+:10C9E0000101010101010101010101010101010137
+:10C9F0000101010101010101010101010101010127
+:10CA00000101010101010101010101010101010116
+:10CA10000101010101010101010101010101010106
+:10CA200001010101010101010202020202020202EE
+:10CA300002020202020202020202020202020202D6
+:10CA400002020202020202020202020202020202C6
+:10CA500002020202020202020202020202020202B6
+:10CA600002020202020202020202020202020202A6
+:10CA70000202020202020202020202020202020296
+:10CA80000202020202020202020202020202020286
+:10CA90000202020202020202020202020202020276
+:10CAA0000202020202020202020202020202020266
+:10CAB0000202020202020202020202020202020256
+:10CAC0000202020202020202020202020202020246
+:10CAD0000202020202020202020202020202020236
+:10CAE0000202020202020202020202020202020226
+:10CAF0000202020202020202020202020202020216
+:10CB00000202020202020202020202020202020205
+:10CB100002020202020202020202020202020202F5
+:10CB200002020202020202020202020202020202E5
+:10CB300002020202020202020202020202020202D5
+:10CB400002020202020202020202020202020202C5
+:10CB500002020202020202020202020202020202B5
+:10CB600002020202020202020202020202020202A5
+:10CB70000202020202020202020202020202020295
+:10CB80000202020202020202020202020202020285
+:10CB90000202020202020202020202020202020275
+:10CBA0000202020202020202020202020202020265
+:10CBB0000202020202020202020202020202020255
+:10CBC0000202020202020202020202020202020245
+:10CBD0000202020202020202020202020202020235
+:10CBE0000202020202020202020202020202020225
+:10CBF0000202020202020202020202020202020215
+:10CC00000202020202020202020202020202020204
+:10CC100002020202020202020202020202020202F4
+:10CC200002020202020202020202020202020202E4
+:10CC300002020202020202020202020202020202D4
+:10CC400002020202020202020202020202020202C4
+:10CC500002020202020202020202020202020202B4
+:10CC600002020202020202020202020202020202A4
+:10CC70000202020202020202020202020202020294
+:10CC80000202020202020202020202020202020284
+:10CC90000202020202020202020202020202020274
+:10CCA0000202020202020202020202020202020264
+:10CCB0000202020202020202020202020202020254
+:10CCC0000202020202020202020202020202020244
+:10CCD0000202020202020202020202020202020234
+:10CCE0000202020202020202020202020202020224
+:10CCF0000202020202020202020202020202020214
+:10CD00000202020202020202020202020202020203
+:10CD100002020202020202020202020202020202F3
+:10CD200002020202020202020202020202020202E3
+:10CD300002020202020202020202020202020202D3
+:10CD400002020202020202020202020202020202C3
+:10CD500002020202020202020202020202020202B3
+:10CD600002020202020202020202020202020202A3
+:10CD70000202020202020202020202020202020293
+:10CD80000202020202020202020202020202020283
+:10CD90000202020202020202020202020202020273
+:10CDA0000202020202020202020202020202020263
+:10CDB0000202020202020202020202020202020253
+:10CDC0000202020202020202020202020202020243
+:10CDD0000202020202020202020202020202020233
+:10CDE0000202020202020202020202020202020223
+:10CDF0000202020202020202020202020202020213
+:10CE00000202020202020202020202020202020202
+:10CE100002020202020202020202020202020202F2
+:10CE200002020202020202020202020202020202E2
+:10CE300002020202020202020202020202020202D2
+:10CE400002020202020202020202020202020202C2
+:10CE500002020202020202020202020202020202B2
+:10CE600002020202020202020202020202020202A2
+:10CE70000202020202020202020202020202020292
+:10CE80000202020202020202020202020202020282
+:10CE90000202020202020202020202020202020272
+:10CEA0000202020202020202020202020202020262
+:10CEB0000202020202020202020202020202020252
+:10CEC0000202020202020202020202020202020242
+:10CED0000202020202020202020202020202020232
+:10CEE0000202020202020202020202020202020222
+:10CEF0000202020202020202020202020202020212
+:10CF00000202020202020202020202020202020201
+:10CF100002020202020202020202020202020202F1
+:10CF200002020202020202020202020202020202E1
+:10CF300002020202020202020202020202020202D1
+:10CF400002020202020202020202020202020202C1
+:10CF500002020202020202020202020202020202B1
+:10CF600002020202020202020202020202020202A1
+:10CF70000202020202020202020202020202020291
+:10CF80000202020202020202020202020202020281
+:10CF90000202020202020202020202020202020271
+:10CFA0000202020202020202020202020202020261
+:10CFB0000202020202020202020202020202020251
+:10CFC0000202020202020202020202020202020241
+:10CFD0000202020202020202020202020202020231
+:10CFE0000202020202020202020202020202020221
+:10CFF0000202020202020202020202020202020211
+:10D000000202020202020202020202020202020200
+:10D0100002020202020202020202020202020202F0
+:10D0200002020202020202020202020202020202E0
+:10D0300002020202020202020202020202020202D0
+:10D0400002020202020202020202020202020202C0
+:10D0500002020202020202020202020202020202B0
+:10D0600002020202020202020202020202020202A0
+:10D070000202020202020202020202020202020290
+:10D080000202020202020202020202020202020280
+:10D090000202020202020202020202020202020270
+:10D0A0000202020202020202020202020202020260
+:10D0B0000202020202020202020202020202020250
+:10D0C0000202020202020202020202020202020240
+:10D0D0000202020202020202020202020202020230
+:10D0E0000202020202020202020202020202020220
+:10D0F0000202020202020202020202020202020210
+:10D1000002020202020202020202020202020202FF
+:10D1100002020202020202020202020202020202EF
+:10D1200002020202020202020202020202020202DF
+:10D1300002020202020202020202020202020202CF
+:10D1400002020202020202020202020202020202BF
+:10D1500002020202020202020202020202020202AF
+:10D16000020202020202020202020202020202029F
+:10D17000020202020202020202020202020202028F
+:10D18000020202020202020202020202020202027F
+:10D19000020202020202020202020202020202026F
+:10D1A000020202020202020202020202020202025F
+:10D1B000020202020202020202020202020202024F
+:10D1C000020202020202020202020202020202023F
+:10D1D000020202020202020202020202020202022F
+:10D1E000020202020202020202020202020202021F
+:10D1F000020202020202020202020202020202020F
+:10D2000002020202020202020202020202020202FE
+:10D2100002020202020202020202020202020202EE
+:10D2200002020202020202020202020202020202DE
+:10D2300002020202020202020202020202020202CE
+:10D2400002020202020202020202020202020202BE
+:10D2500002020202020202020202020202020202AE
+:10D26000020202020202020202020202020202029E
+:10D27000020202020202020202020202020202028E
+:10D28000020202020202020202020202020202027E
+:10D29000020202020202020202020202020202026E
+:10D2A000020202020202020202020202020202025E
+:10D2B000020202020202020202020202020202024E
+:10D2C000020202020202020202020202020202023E
+:10D2D000020202020202020202020202020202022E
+:10D2E000020202020202020202020202020202021E
+:10D2F000020202020202020202020202020202020E
+:10D3000002020202020202020202020202020202FD
+:10D3100002020202020202020202020202020202ED
+:10D3200002020202020202020202020202020202DD
+:10D3300002020202020202020202020202020202CD
+:10D3400002020202020202020202020202020202BD
+:10D3500002020202020202020202020202020202AD
+:10D36000020202020202020202020202020202029D
+:10D37000020202020202020202020202020202028D
+:10D38000020202020202020202020202020202027D
+:10D39000020202020202020202020202020202026D
+:10D3A000020202020202020202020202020202025D
+:10D3B000020202020202020202020202020202024D
+:10D3C000020202020202020202020202020202023D
+:10D3D000020202020202020202020202020202022D
+:10D3E000020202020202020202020202020202021D
+:10D3F000020202020202020202020202020202020D
+:10D4000002020202020202020202020202020202FC
+:10D4100002020202020202020202020202020202EC
+:10D4200002020202020202020202020202020202DC
+:10D4300002020202020202020202020202020202CC
+:10D4400002020202020202020202020202020202BC
+:10D4500002020202020202020202020202020202AC
+:10D46000020202020202020202020202020202029C
+:10D47000020202020202020202020202020202028C
+:10D48000020202020202020202020202020202027C
+:10D49000020202020202020202020202020202026C
+:10D4A000020202020202020202020202020202025C
+:10D4B000020202020202020202020202020202024C
+:10D4C000020202020202020202020202020202023C
+:10D4D000020202020202020202020202020202022C
+:10D4E000020202020202020202020202020202021C
+:10D4F000020202020202020202020202020202020C
+:10D5000002020202020202020202020202020202FB
+:10D5100002020202020202020202020202020202EB
+:10D5200002020202020202020202020202020202DB
+:10D5300002020202020202020202020202020202CB
+:10D5400002020202020202020202020202020202BB
+:10D5500002020202020202020202020202020202AB
+:10D56000020202020202020202020202020202029B
+:10D57000020202020202020202020202020202028B
+:10D58000020202020202020202020202020202027B
+:10D59000020202020202020202020202020202026B
+:10D5A000020202020202020202020202020202025B
+:10D5B000020202020202020202020202020202024B
+:10D5C000020202020202020202020202020202023B
+:10D5D000020202020202020202020202020202022B
+:10D5E000020202020202020202020202020202021B
+:10D5F000020202020202020202020202020202020B
+:10D6000002020202020202020202020202020202FA
+:10D6100002020202020202020202020202020202EA
+:10D6200002020202020202020202020202020202DA
+:10D6300002020202020202020202020202020202CA
+:10D6400002020202020202020202020202020202BA
+:10D6500002020202020202020202020202020202AA
+:10D66000020202020202020202020202020202029A
+:10D67000020202020202020202020202020202028A
+:10D68000020202020202020202020202020202027A
+:10D69000020202020202020202020202020202026A
+:10D6A000020202020202020202020202020202025A
+:10D6B000020202020202020202020202020202024A
+:10D6C000020202020202020202020202020202023A
+:10D6D000020202020202020202020202020202022A
+:10D6E000020202020202020202020202020202021A
+:10D6F000020202020202020202020202020202020A
+:10D7000002020202020202020202020202020202F9
+:10D7100002020202020202020202020202020202E9
+:10D7200002020202020202020202020202020202D9
+:10D7300002020202020202020202020202020202C9
+:10D7400002020202020202020202020202020202B9
+:10D7500002020202020202020202020202020202A9
+:10D760000202020202020202020202020202020299
+:10D770000202020202020202020202020202020289
+:10D780000202020202020202020202020202020279
+:10D790000202020202020202020202020202020269
+:10D7A0000202020202020202020202020202020259
+:10D7B0000202020202020202020202020202020249
+:10D7C0000202020202020202020202020202020239
+:10D7D0000202020202020202020202020202020229
+:10D7E0000202020202020202020202020202020219
+:10D7F0000202020202020202020202020202020209
+:10D8000002020202020202020202020202020202F8
+:10D8100002020202020202020202020202020202E8
+:10D8200002020202020202020202020202020202D8
+:10D8300002020202020202020202020202020202C8
+:10D8400002020202020202020202020202020202B8
+:10D8500002020202020202020202020202020202A8
+:10D860000202020202020202020202020202020298
+:10D870000202020202020202020202020202020288
+:10D880000202020202020202020202020202020278
+:10D890000202020202020202020202020202020268
+:10D8A0000202020202020202020202020202020258
+:10D8B0000202020202020202020202020202020248
+:10D8C0000202020202020202020202020202020238
+:10D8D0000202020202020202020202020202020228
+:10D8E0000202020202020202020202020202020218
+:10D8F0000202020202020202020202020202020208
+:10D9000002020202020202020202020202020202F7
+:10D9100002020202020202020202020202020202E7
+:10D9200002020202020202020202020202020202D7
+:10D9300002020202020202020202020202020202C7
+:10D9400002020202020202020202020202020202B7
+:10D9500002020202020202020202020202020202A7
+:10D960000202020202020202020202020202020297
+:10D970000202020202020202020202020202020287
+:10D980000202020202020202020202020202020277
+:10D990000202020202020202020202020202020267
+:10D9A0000202020202020202020202020202020257
+:10D9B0000202020202020202020202020202020247
+:10D9C0000202020202020202020202020202020237
+:10D9D0000202020202020202020202020202020227
+:10D9E0000202020202020202020202020202020217
+:10D9F0000202020202020202020202020202020207
+:10DA000002020202020202020202020202020202F6
+:10DA100002020202020202020202020202020202E6
+:10DA200002020202020202020000000000000000E6
+:10DA300000000000000000000000000000000000E6
+:10DA400000000000000000000000000000000000D6
+:10DA500000000000000000000000000000000000C6
+:10DA600000000000000000000000000000000000B6
+:10DA700000000000000000000000000000000000A6
+:10DA80000000000000000000000000000000000096
+:10DA90000000000000000000000000000000000086
+:10DAA0000000000000000000000000000000000076
+:10DAB0000000000000000000000000000000000066
+:10DAC0000000000000000000000000000000000056
+:10DAD0000000000000000000000000000000000046
+:10DAE0000000000000000000000000000000000036
+:10DAF0000000000000000000000000000000000026
+:10DB00000000000000000000000000000000000015
+:10DB10000000000000000000000000000000000005
+:10DB200000000000000000000000000000000000F5
+:10DB300000000000000000000000000000000000E5
+:10DB400000000000000000000000000000000000D5
+:10DB500000000000000000000000000000000000C5
+:10DB600000000000000000000000000000000000B5
+:10DB700000000000000000000000000000000000A5
+:10DB80000000000000000000000000000000000095
+:10DB90000000000000000000000000000000000085
+:10DBA0000000000000000000000000000000000075
+:10DBB0000000000000000000000000000000000065
+:10DBC0000000000000000000000000000000000055
+:10DBD0000000000000000000000000000000000045
+:10DBE0000000000000000000000000000000000035
+:10DBF0000000000000000000000000000000000025
+:10DC00000000000000000000000000000000000014
+:10DC10000000000000000000000000000000000004
+:10DC200000000000000000000000000000000000F4
+:10DC300000000000000000000000000000000000E4
+:10DC400000000000000000000000000000000000D4
+:10DC500000000000000000000000000000000000C4
+:10DC600000000000000000000000000000000000B4
+:10DC700000000000000000000000000000000000A4
+:10DC80000000000000000000000000000000000094
+:10DC90000000000000000000000000000000000084
+:10DCA0000000000000000000000000000000000074
+:10DCB0000000000000000000000000000000000064
+:10DCC0000000000000000000000000000000000054
+:10DCD0000000000000000000000000000000000044
+:10DCE0000000000000000000000000000000000034
+:10DCF0000000000000000000000000000000000024
+:10DD00000000000000000000000000000000000013
+:10DD10000000000000000000000000000000000003
+:10DD200000000000000000000000000000000000F3
+:10DD300000000000000000000000000000000000E3
+:10DD400000000000000000000000000000000000D3
+:10DD500000000000000000000000000000000000C3
+:10DD600000000000000000000000000000000000B3
+:10DD700000000000000000000000000000000000A3
+:10DD80000000000000000000000000000000000093
+:10DD90000000000000000000000000000000000083
+:10DDA0000000000000000000000000000000000073
+:10DDB0000000000000000000000000000000000063
+:10DDC0000000000000000000000000000000000053
+:10DDD0000000000000000000000000000000000043
+:10DDE0000000000000000000000000000000000033
+:10DDF0000000000000000000000000000000000023
+:10DE00000000000000000000000000000000000012
+:10DE10000000000000000000000000000000000002
+:10DE200000000000000000000000000000000000F2
+:10DE300000000000000000000000000000000000E2
+:10DE400000000000000000000000000000000000D2
+:10DE500000000000000000000000000000000000C2
+:10DE600000000000000000000000000000000000B2
+:10DE700000000000000000000000000000000000A2
+:10DE80000000000000000000000000000000000092
+:10DE90000000000000000000000000000000000082
+:10DEA0000000000000000000000000000000000072
+:10DEB0000000000000000000000000000000000062
+:10DEC0000000000000000000000000000000000052
+:10DED0000000000000000000000000000000000042
+:10DEE0000000000000000000000000000000000032
+:10DEF0000000000000000000000000000000000022
+:10DF00000000000000000000000000000000000011
+:10DF10000000000000000000000000000000000001
+:10DF200000000000000000006D0000000000000084
+:10DF300001010101010101010101010101010101D1
+:10DF400001010101010101010101010101010101C1
+:10DF500001010101010101010101010101010101B1
+:10DF600001010101010101010101010101010101A1
+:10DF70000101010101010101010101010101010191
+:10DF80000101010101010101010101010101010181
+:10DF90000101010101010101010101010101010171
+:10DFA0000101010101010101010101010101010161
+:10DFB0000101010101010101010101010101010151
+:10DFC0000101010101010101010101010101010141
+:10DFD0000101010101010101010101010101010131
+:10DFE0000101010101010101010101010101010121
+:10DFF0000101010101010101010101010101010111
+:10E000000101010101010101010101010101010100
+:10E0100001010101010101010101010101010101F0
+:10E0200001010101010101010101010101010101E0
+:10E0300001010101010101010101010101010101D0
+:10E0400001010101010101010101010101010101C0
+:10E0500001010101010101010101010101010101B0
+:10E0600001010101010101010101010101010101A0
+:10E070000101010101010101010101010101010190
+:10E080000101010101010101010101010101010180
+:10E090000101010101010101010101010101010170
+:10E0A0000101010101010101010101010101010160
+:10E0B0000101010101010101010101010101010150
+:10E0C0000101010101010101010101010101010140
+:10E0D0000101010101010101010101010101010130
+:10E0E0000101010101010101010101010101010120
+:10E0F0000101010101010101010101010101010110
+:10E1000001010101010101010101010101010101FF
+:10E1100001010101010101010101010101010101EF
+:10E1200001010101010101010101010101010101DF
+:10E1300001010101010101010101010101010101CF
+:10E1400001010101010101010101010101010101BF
+:10E1500001010101010101010101010101010101AF
+:10E16000010101010101010101010101010101019F
+:10E17000010101010101010101010101010101018F
+:10E18000010101010101010101010101010101017F
+:10E19000010101010101010101010101010101016F
+:10E1A000010101010101010101010101010101015F
+:10E1B000010101010101010101010101010101014F
+:10E1C000010101010101010101010101010101013F
+:10E1D000010101010101010101010101010101012F
+:10E1E000010101010101010101010101010101011F
+:10E1F000010101010101010101010101010101010F
+:10E2000001010101010101010101010101010101FE
+:10E2100001010101010101010101010101010101EE
+:10E2200001010101010101010101010101010101DE
+:10E2300001010101010101010101010101010101CE
+:10E2400001010101010101010101010101010101BE
+:10E2500001010101010101010101010101010101AE
+:10E26000010101010101010101010101010101019E
+:10E27000010101010101010101010101010101018E
+:10E28000010101010101010101010101010101017E
+:10E29000010101010101010101010101010101016E
+:10E2A000010101010101010101010101010101015E
+:10E2B000010101010101010101010101010101014E
+:10E2C000010101010101010101010101010101013E
+:10E2D000010101010101010101010101010101012E
+:10E2E000010101010101010101010101010101011E
+:10E2F000010101010101010101010101010101010E
+:10E3000001010101010101010101010101010101FD
+:10E3100001010101010101010101010101010101ED
+:10E3200001010101010101010101010101010101DD
+:10E3300001010101010101010101010101010101CD
+:10E3400001010101010101010101010101010101BD
+:10E3500001010101010101010101010101010101AD
+:10E36000010101010101010101010101010101019D
+:10E37000010101010101010101010101010101018D
+:10E38000010101010101010101010101010101017D
+:10E39000010101010101010101010101010101016D
+:10E3A000010101010101010101010101010101015D
+:10E3B000010101010101010101010101010101014D
+:10E3C000010101010101010101010101010101013D
+:10E3D000010101010101010101010101010101012D
+:10E3E000010101010101010101010101010101011D
+:10E3F000010101010101010101010101010101010D
+:10E4000001010101010101010101010101010101FC
+:10E4100001010101010101010101010101010101EC
+:10E4200001010101010101010101010101010101DC
+:10E4300000000000000000000000000000000000DC
+:10E4400000000000000000000000000000000000CC
+:10E4500000000000000000000000000000000000BC
+:10E4600000000000000000000000000000000000AC
+:10E47000000000000000000000000000000000009C
+:10E48000000000000000000000000000000000008C
+:10E49000000000000000000000000000000000007C
+:10E4A000000000000000000000000000000000006C
+:10E4B000000000000000000000000000000000005C
+:10E4C000000000000000000000000000000000004C
+:10E4D000000000000000000000000000000000003C
+:10E4E000000000000000000000000000000000002C
+:10E4F000000000000000000000000000000000001C
+:10E50000000000000000000000000000000000000B
+:10E5100000000000000000000000000000000000FB
+:10E5200000000000000000000000000000000000EB
+:10E5300000000000000000000000000000000000DB
+:10E5400000000000000000000000000000000000CB
+:10E5500000000000000000000000000000000000BB
+:10E5600000000000000000000000000000000000AB
+:10E57000000000000000000000000000000000009B
+:10E58000000000000000000000000000000000008B
+:10E59000000000000000000000000000000000007B
+:10E5A000000000000000000000000000000000006B
+:10E5B000000000000000000000000000000000005B
+:10E5C000000000000000000000000000000000004B
+:10E5D000000000000000000000000000000000003B
+:10E5E000000000000000000000000000000000002B
+:10E5F000000000000000000000000000000000001B
+:10E60000000000000000000000000000000000000A
+:10E6100000000000000000000000000000000000FA
+:10E6200000000000000000000000000000000000EA
+:10E6300000000000000000000000000000000000DA
+:10E6400000000000000000000000000000000000CA
+:10E6500000000000000000000000000000000000BA
+:10E6600000000000000000000000000000000000AA
+:10E67000000000000000000000000000000000009A
+:10E68000000000000000000000000000000000008A
+:10E69000000000000000000000000000000000007A
+:10E6A000000000000000000000000000000000006A
+:10E6B000000000000000000000000000000000005A
+:10E6C000000000000000000000000000000000004A
+:10E6D000000000000000000000000000000000003A
+:10E6E000000000000000000000000000000000002A
+:10E6F000000000000000000000000000000000001A
+:10E700000000000000000000000000000000000009
+:10E7100000000000000000000000000000000000F9
+:10E7200000000000000000000000000000000000E9
+:10E7300000000000000000000000000000000000D9
+:10E7400000000000000000000000000000000000C9
+:10E7500000000000000000000000000000000000B9
+:10E7600000000000000000000000000000000000A9
+:10E770000000000000000000000000000000000099
+:10E780000000000000000000000000000000000089
+:10E790000000000000000000000000000000000079
+:10E7A0000000000000000000000000000000000069
+:10E7B0000000000000000000000000000000000059
+:10E7C0000000000000000000000000000000000049
+:10E7D0000000000000000000000000000000000039
+:10E7E0000000000000000000000000000000000029
+:10E7F0000000000000000000000000000000000019
+:10E800000000000000000000000000000000000008
+:10E8100000000000000000000000000000000000F8
+:10E8200000000000000000000000000000000000E8
+:10E8300000000000000000000000000000000000D8
+:10E8400000000000000000000000000000000000C8
+:10E8500000000000000000000000000000000000B8
+:10E8600000000000000000000000000000000000A8
+:10E870000000000000000000000000000000000098
+:10E880000000000000000000000000000000000088
+:10E890000000000000000000000000000000000078
+:10E8A0000000000000000000000000000000000068
+:10E8B0000000000000000000000000000000000058
+:10E8C0000000000000000000000000000000000048
+:10E8D0000000000000000000000000000000000038
+:10E8E0000000000000000000000000000000000028
+:10E8F0000000000000000000000000000000000018
+:10E900000000000000000000000000000000000007
+:10E9100000000000000000000000000000000000F7
+:10E9200000000000000000000000000000000000E7
+:10E9300000000000000000000000000000000000D7
+:10E9400000000000000000000000000000000000C7
+:10E9500000000000000000000000000000000000B7
+:10E9600000000000000000000000000000000000A7
+:10E970000000000000000000000000000000000097
+:10E980000000000000000000000000000000000087
+:10E990000000000000000000000000000000000077
+:10E9A0000000000000000000000000000000000067
+:10E9B0000000000000000000000000000000000057
+:10E9C0000000000000000000000000000000000047
+:10E9D0000000000000000000000000000000000037
+:10E9E0000000000000000000000000000000000027
+:10E9F0000000000000000000000000000000000017
+:10EA00000000000000000000000000000000000006
+:10EA100000000000000000000000000000000000F6
+:10EA200000000000000000000000000000000000E6
+:10EA300000000000000000000000000000000000D6
+:10EA400000000000000000000000000000000000C6
+:10EA500000000000000000000000000000000000B6
+:10EA600000000000000000000000000000000000A6
+:10EA70000000000000000000000000000000000096
+:10EA80000000000000000000000000000000000086
+:10EA90000000000000000000000000000000000076
+:10EAA0000000000000000000000000000000000066
+:10EAB0000000000000000000000000000000000056
+:10EAC0000000000000000000000000000000000046
+:10EAD0000000000000000000000000000000000036
+:10EAE0000000000000000000000000000000000026
+:10EAF0000000000000000000000000000000000016
+:10EB00000000000000000000000000000000000005
+:10EB100000000000000000000000000000000000F5
+:10EB200000000000000000000000000000000000E5
+:10EB300000000000000000000000000000000000D5
+:10EB400000000000000000000000000000000000C5
+:10EB500000000000000000000000000000000000B5
+:10EB600000000000000000000000000000000000A5
+:10EB70000000000000000000000000000000000095
+:10EB80000000000000000000000000000000000085
+:10EB90000000000000000000000000000000000075
+:10EBA0000000000000000000000000000000000065
+:10EBB0000000000000000000000000000000000055
+:10EBC0000000000000000000000000000000000045
+:10EBD0000000000000000000000000000000000035
+:10EBE0000000000000000000000000000000000025
+:10EBF0000000000000000000000000000000000015
+:10EC00000000000000000000000000000000000004
+:10EC100000000000000000000000000000000000F4
+:10EC200000000000000000000000000000000000E4
+:10EC300000000000000000000000000000000000D4
+:10EC400000000000000000000000000000000000C4
+:10EC500000000000000000000000000000000000B4
+:10EC600000000000000000000000000000000000A4
+:10EC70000000000000000000000000000000000094
+:10EC80000000000000000000000000000000000084
+:10EC90000000000000000000000000000000000074
+:10ECA0000000000000000000000000000000000064
+:10ECB0000000000000000000000000000000000054
+:10ECC0000000000000000000000000000000000044
+:10ECD0000000000000000000000000000000000034
+:10ECE0000000000000000000000000000000000024
+:10ECF0000000000000000000000000000000000014
+:10ED00000000000000000000000000000000000003
+:10ED100000000000000000000000000000000000F3
+:10ED200000000000000000000000000000000000E3
+:10ED300000000000000000000000000000000000D3
+:10ED400000000000000000000000000000000000C3
+:10ED500000000000000000000000000000000000B3
+:10ED600000000000000000000000000000000000A3
+:10ED70000000000000000000000000000000000093
+:10ED80000000000000000000000000000000000083
+:10ED90000000000000000000000000000000000073
+:10EDA0000000000000000000000000000000000063
+:10EDB0000000000000000000000000000000000053
+:10EDC0000000000000000000000000000000000043
+:10EDD0000000000000000000000000000000000033
+:10EDE0000000000000000000000000000000000023
+:10EDF0000000000000000000000000000000000013
+:10EE00000000000000000000000000000000000002
+:10EE100000000000000000000000000000000000F2
+:10EE200000000000000000000000000000000000E2
+:10EE300000000000000000000000000000000000D2
+:10EE400000000000000000000000000000000000C2
+:10EE500000000000000000000000000000000000B2
+:10EE600000000000000000000000000000000000A2
+:10EE70000000000000000000000000000000000092
+:10EE80000000000000000000000000000000000082
+:10EE90000000000000000000000000000000000072
+:10EEA0000000000000000000000000000000000062
+:10EEB0000000000000000000000000000000000052
+:10EEC0000000000000000000000000000000000042
+:10EED0000000000000000000000000000000000032
+:10EEE0000000000000000000000000000000000022
+:10EEF0000000000000000000000000000000000012
+:10EF00000000000000000000000000000000000001
+:10EF100000000000000000000000000000000000F1
+:10EF200000000000000000000000000000000000E1
+:10EF300000000000000000000000000000000000D1
+:10EF400000000000000000000000000000000000C1
+:10EF500000000000000000000000000000000000B1
+:10EF600000000000000000000000000000000000A1
+:10EF70000000000000000000000000000000000091
+:10EF80000000000000000000000000000000000081
+:10EF90000000000000000000000000000000000071
+:10EFA0000000000000000000000000000000000061
+:10EFB0000000000000000000000000000000000051
+:10EFC0000000000000000000000000000000000041
+:10EFD0000000000000000000000000000000000031
+:10EFE0000000000000000000000000000000000021
+:10EFF0000000000000000000000000000000000011
+:10F000000000000000000000000000000000000000
+:10F0100000000000000000000000000000000000F0
+:10F0200000000000000000000000000000000000E0
+:10F0300000000000000000000000000000000000D0
+:10F0400000000000000000000000000000000000C0
+:10F0500000000000000000000000000000000000B0
+:10F0600000000000000000000000000000000000A0
+:10F070000000000000000000000000000000000090
+:10F080000000000000000000000000000000000080
+:10F090000000000000000000000000000000000070
+:10F0A0000000000000000000000000000000000060
+:10F0B0000000000000000000000000000000000050
+:10F0C0000000000000000000000000000000000040
+:10F0D0000000000000000000000000000000000030
+:10F0E0000000000000000000000000000000000020
+:10F0F0000000000000000000000000000000000010
+:10F1000000000000000000000000000000000000FF
+:10F1100000000000000000000000000000000000EF
+:10F1200000000000000000000000000000000000DF
+:10F1300000000000000000000000000000000000CF
+:10F1400000000000000000000000000000000000BF
+:10F1500000000000000000000000000000000000AF
+:10F16000000000000000000000000000000000009F
+:10F17000000000000000000000000000000000008F
+:10F18000000000000000000000000000000000007F
+:10F19000000000000000000000000000000000006F
+:10F1A000000000000000000000000000000000005F
+:10F1B000000000000000000000000000000000004F
+:10F1C000000000000000000000000000000000003F
+:10F1D000000000000000000000000000000000002F
+:10F1E000000000000000000000000000000000001F
+:10F1F000000000000000000000000000000000000F
+:10F2000000000000000000000000000000000000FE
+:10F2100000000000000000000000000000000000EE
+:10F2200000000000000000000000000000000000DE
+:10F2300000000000000000000000000000000000CE
+:10F2400000000000000000000000000000000000BE
+:10F2500000000000000000000000000000000000AE
+:10F26000000000000000000000000000000000009E
+:10F27000000000000000000000000000000000008E
+:10F28000000000000000000000000000000000007E
+:10F29000000000000000000000000000000000006E
+:10F2A000000000000000000000000000000000005E
+:10F2B000000000000000000000000000000000004E
+:10F2C000000000000000000000000000000000003E
+:10F2D000000000000000000000000000000000002E
+:10F2E000000000000000000000000000000000001E
+:10F2F000000000000000000000000000000000000E
+:10F3000000000000000000000000000000000000FD
+:10F3100000000000000000000000000000000000ED
+:10F3200000000000000000000000000000000000DD
+:10F3300000000000000000000000000000000000CD
+:10F3400000000000000000000000000000000000BD
+:10F3500000000000000000000000000000000000AD
+:10F36000000000000000000000000000000000009D
+:10F37000000000000000000000000000000000008D
+:10F38000000000000000000000000000000000007D
+:10F39000000000000000000000000000000000006D
+:10F3A000000000000000000000000000000000005D
+:10F3B000000000000000000000000000000000004D
+:10F3C000000000000000000000000000000000003D
+:10F3D000000000000000000000000000000000002D
+:10F3E000000000000000000000000000000000001D
+:10F3F000000000000000000000000000000000000D
+:10F4000000000000000000000000000000000000FC
+:10F4100000000000000000000000000000000000EC
+:10F4200000000000000000000000000000000000DC
+:10F4300000000000000000000000000000000000CC
+:10F4400000000000000000000000000000000000BC
+:10F4500000000000000000000000000000000000AC
+:10F46000000000000000000000000000000000009C
+:10F47000000000000000000000000000000000008C
+:10F48000000000000000000000000000000000007C
+:10F49000000000000000000000000000000000006C
+:10F4A000000000000000000000000000000000005C
+:10F4B000000000000000000000000000000000004C
+:10F4C000000000000000000000000000000000003C
+:10F4D000000000000000000000000000000000002C
+:10F4E000000000000000000000000000000000001C
+:10F4F000000000000000000000000000000000000C
+:10F5000000000000000000000000000000000000FB
+:10F5100000000000000000000000000000000000EB
+:10F5200000000000000000000000000000000000DB
+:10F5300000000000000000000000000000000000CB
+:10F5400000000000000000000000000000000000BB
+:10F5500000000000000000000000000000000000AB
+:10F56000000000000000000000000000000000009B
+:10F57000000000000000000000000000000000008B
+:10F58000000000000000000000000000000000007B
+:10F59000000000000000000000000000000000006B
+:10F5A000000000000000000000000000000000005B
+:10F5B000000000000000000000000000000000004B
+:10F5C000000000000000000000000000000000003B
+:10F5D000000000000000000000000000000000002B
+:10F5E000000000000000000000000000000000001B
+:10F5F000000000000000000000000000000000000B
+:10F6000000000000000000000000000000000000FA
+:10F6100000000000000000000000000000000000EA
+:10F6200000000000000000000000000000000000DA
+:10F6300000000000000000000000000000000000CA
+:10F6400000000000000000000000000000000000BA
+:10F6500000000000000000000000000000000000AA
+:10F66000000000000000000000000000000000009A
+:10F67000000000000000000000000000000000008A
+:10F68000000000000000000000000000000000007A
+:10F69000000000000000000000000000000000006A
+:10F6A000000000000000000000000000000000005A
+:10F6B000000000000000000000000000000000004A
+:10F6C000000000000000000000000000000000003A
+:10F6D000000000000000000000000000000000002A
+:10F6E000000000000000000000000000000000001A
+:10F6F000000000000000000000000000000000000A
+:10F7000000000000000000000000000000000000F9
+:10F7100000000000000000000000000000000000E9
+:10F7200000000000000000000000000000000000D9
+:10F7300001010101010101010101010101010101B9
+:10F7400001010101010101010101010101010101A9
+:10F750000101010101010101010101010101010199
+:10F760000101010101010101010101010101010189
+:10F770000101010101010101010101010101010179
+:10F780000101010101010101010101010101010169
+:10F790000101010101010101010101010101010159
+:10F7A0000101010101010101010101010101010149
+:10F7B0000101010101010101010101010101010139
+:10F7C0000101010101010101010101010101010129
+:10F7D0000101010101010101010101010101010119
+:10F7E0000101010101010101010101010101010109
+:10F7F00001010101010101010101010101010101F9
+:10F8000001010101010101010101010101010101E8
+:10F8100001010101010101010101010101010101D8
+:10F8200001010101010101010101010101010101C8
+:10F8300001010101010101010101010101010101B8
+:10F8400001010101010101010101010101010101A8
+:10F850000101010101010101010101010101010198
+:10F860000101010101010101010101010101010188
+:10F870000101010101010101010101010101010178
+:10F880000101010101010101010101010101010168
+:10F890000101010101010101010101010101010158
+:10F8A0000101010101010101010101010101010148
+:10F8B0000101010101010101010101010101010138
+:10F8C0000101010101010101010101010101010128
+:10F8D0000101010101010101010101010101010118
+:10F8E0000101010101010101010101010101010108
+:10F8F00001010101010101010101010101010101F8
+:10F9000001010101010101010101010101010101E7
+:10F9100001010101010101010101010101010101D7
+:10F9200001010101010101010101010101010101C7
+:10F9300001010101010101010101010101010101B7
+:10F9400001010101010101010101010101010101A7
+:10F950000101010101010101010101010101010197
+:10F960000101010101010101010101010101010187
+:10F970000101010101010101010101010101010177
+:10F980000101010101010101010101010101010167
+:10F990000101010101010101010101010101010157
+:10F9A0000101010101010101010101010101010147
+:10F9B0000101010101010101010101010101010137
+:10F9C0000101010101010101010101010101010127
+:10F9D0000101010101010101010101010101010117
+:10F9E0000101010101010101010101010101010107
+:10F9F00001010101010101010101010101010101F7
+:10FA000001010101010101010101010101010101E6
+:10FA100001010101010101010101010101010101D6
+:10FA200001010101010101010101010101010101C6
+:10FA300001010101010101010101010101010101B6
+:10FA400001010101010101010101010101010101A6
+:10FA50000101010101010101010101010101010196
+:10FA60000101010101010101010101010101010186
+:10FA70000101010101010101010101010101010176
+:10FA80000101010101010101010101010101010166
+:10FA90000101010101010101010101010101010156
+:10FAA0000101010101010101010101010101010146
+:10FAB0000101010101010101010101010101010136
+:10FAC0000101010101010101010101010101010126
+:10FAD0000101010101010101010101010101010116
+:10FAE0000101010101010101010101010101010106
+:10FAF00001010101010101010101010101010101F6
+:10FB000001010101010101010101010101010101E5
+:10FB100001010101010101010101010101010101D5
+:10FB200001010101010101010101010101010101C5
+:10FB300001010101010101010101010101010101B5
+:10FB400001010101010101010101010101010101A5
+:10FB50000101010101010101010101010101010195
+:10FB60000101010101010101010101010101010185
+:10FB70000101010101010101010101010101010175
+:10FB80000101010101010101010101010101010165
+:10FB90000101010101010101010101010101010155
+:10FBA0000101010101010101010101010101010145
+:10FBB0000101010101010101010101010101010135
+:10FBC0000101010101010101010101010101010125
+:10FBD0000101010101010101010101010101010115
+:10FBE0000101010101010101010101010101010105
+:10FBF00001010101010101010101010101010101F5
+:10FC000001010101010101010101010101010101E4
+:10FC100001010101010101010101010101010101D4
+:10FC200001010101010101010101010101010101C4
+:10FC300000000000000000000000000000000000C4
+:10FC400000000000000000000000000000000000B4
+:10FC500000000000000000000000000000000000A4
+:10FC60000000000000000000000000000000000094
+:10FC70000000000000000000000000000000000084
+:10FC80000000000000000000000000000000000074
+:10FC90000000000000000000000000000000000064
+:10FCA0000000000000000000000000000000000054
+:10FCB0000000000000000000000000000000000044
+:10FCC0000000000000000000000000000000000034
+:10FCD0000000000000000000000000000000000024
+:10FCE0000000000000000000000000000000000014
+:10FCF0000000000000000000000000000000000004
+:10FD000000000000000000000000000000000000F3
+:10FD100000000000000000000000000000000000E3
+:10FD200000000000000000000000000000000000D3
+:10FD300000000000000000000000000000000000C3
+:10FD400000000000000000000000000000000000B3
+:10FD500000000000000000000000000000000000A3
+:10FD60000000000000000000000000000000000093
+:10FD70000000000000000000000000000000000083
+:10FD80000000000000000000000000000000000073
+:10FD90000000000000000000000000000000000063
+:10FDA0000000000000000000000000000000000053
+:10FDB0000000000000000000000000000000000043
+:10FDC0000000000000000000000000000000000033
+:10FDD0000000000000000000000000000000000023
+:10FDE0000000000000000000000000000000000013
+:10FDF0000000000000000000000000000000000003
+:10FE000000000000000000000000000000000000F2
+:10FE100000000000000000000000000000000000E2
+:10FE200000000000000000000000000000000000D2
+:10FE300000000000000000000000000000000000C2
+:10FE400000000000000000000000000000000000B2
+:10FE500000000000000000000000000000000000A2
+:10FE60000000000000000000000000000000000092
+:10FE70000000000000000000000000000000000082
+:10FE80000000000000000000000000000000000072
+:10FE90000000000000000000000000000000000062
+:10FEA0000000000000000000000000000000000052
+:10FEB0000000000000000000000000000000000042
+:10FEC0000000000000000000000000000000000032
+:10FED0000000000000000000000000000000000022
+:10FEE0000000000000000000000000000000000012
+:10FEF0000000000000000000000000000000000002
+:10FF000000000000000000000000000000000000F1
+:10FF100000000000000000000000000000000000E1
+:10FF200000000000000000000000000000000000D1
+:10FF300000000000000000000000000000000000C1
+:10FF400000000000000000000000000000000000B1
+:10FF500000000000000000000000000000000000A1
+:10FF60000000000000000000000000000000000091
+:10FF70000000000000000000000000000000000081
+:10FF80000000000000000000000000000000000071
+:10FF90000000000000000000000000000000000061
+:10FFA0000000000000000000000000000000000051
+:10FFB0000000000000000000000000000000000041
+:10FFC0000000000000000000000000000000000031
+:10FFD0000000000000000000000000000000000021
+:10FFE0000000000000000000000000000000000011
+:10FFF0000000000000000000000000000000000001
+:020000025000AC
+:1000000000000000000000000000000000000000F0
+:1000100000000000000000000000000000000000E0
+:1000200000000000000000000000000000000000D0
+:1000300001010101010101010101010101010101B0
+:1000400001010101010101010101010101010101A0
+:100050000101010101010101010101010101010190
+:100060000101010101010101010101010101010180
+:100070000101010101010101010101010101010170
+:100080000101010101010101010101010101010160
+:100090000101010101010101010101010101010150
+:1000A0000101010101010101010101010101010140
+:1000B0000101010101010101010101010101010130
+:1000C0000101010101010101010101010101010120
+:1000D0000101010101010101010101010101010110
+:1000E0000101010101010101010101010101010100
+:1000F00001010101010101010101010101010101F0
+:1001000001010101010101010101010101010101DF
+:1001100001010101010101010101010101010101CF
+:1001200001010101010101010101010101010101BF
+:1001300001010101010101010101010101010101AF
+:10014000010101010101010101010101010101019F
+:10015000010101010101010101010101010101018F
+:10016000010101010101010101010101010101017F
+:10017000010101010101010101010101010101016F
+:10018000010101010101010101010101010101015F
+:10019000010101010101010101010101010101014F
+:1001A000010101010101010101010101010101013F
+:1001B000010101010101010101010101010101012F
+:1001C000010101010101010101010101010101011F
+:1001D000010101010101010101010101010101010F
+:1001E00001010101010101010101010101010101FF
+:1001F00001010101010101010101010101010101EF
+:1002000001010101010101010101010101010101DE
+:1002100001010101010101010101010101010101CE
+:1002200001010101010101010101010101010101BE
+:10023000020202020202020202020202020202029E
+:10024000020202020202020202020202020202028E
+:10025000020202020202020202020202020202027E
+:10026000020202020202020202020202020202026E
+:10027000020202020202020202020202020202025E
+:10028000020202020202020202020202020202024E
+:10029000020202020202020202020202020202023E
+:1002A000020202020202020202020202020202022E
+:1002B000020202020202020202020202020202021E
+:1002C000020202020202020202020202020202020E
+:1002D00002020202020202020202020202020202FE
+:1002E00002020202020202020202020202020202EE
+:1002F00002020202020202020202020202020202DE
+:1003000002020202020202020202020202020202CD
+:1003100002020202020202020202020202020202BD
+:1003200002020202020202020202020202020202AD
+:10033000020202020202020202020202020202029D
+:10034000020202020202020202020202020202028D
+:10035000020202020202020202020202020202027D
+:10036000020202020202020202020202020202026D
+:10037000020202020202020202020202020202025D
+:10038000020202020202020202020202020202024D
+:10039000020202020202020202020202020202023D
+:1003A000020202020202020202020202020202022D
+:1003B000020202020202020202020202020202021D
+:1003C000020202020202020202020202020202020D
+:1003D00002020202020202020202020202020202FD
+:1003E00002020202020202020202020202020202ED
+:1003F00002020202020202020202020202020202DD
+:1004000002020202020202020202020202020202CC
+:1004100002020202020202020202020202020202BC
+:1004200002020202020202020202020202020202AC
+:10043000020202020202020202020202020202029C
+:10044000020202020202020202020202020202028C
+:10045000020202020202020202020202020202027C
+:10046000020202020202020202020202020202026C
+:10047000020202020202020202020202020202025C
+:10048000020202020202020202020202020202024C
+:10049000020202020202020202020202020202023C
+:1004A000020202020202020202020202020202022C
+:1004B000020202020202020202020202020202021C
+:1004C000020202020202020202020202020202020C
+:1004D00002020202020202020202020202020202FC
+:1004E00002020202020202020202020202020202EC
+:1004F00002020202020202020202020202020202DC
+:1005000002020202020202020202020202020202CB
+:1005100002020202020202020202020202020202BB
+:1005200002020202020202020202020202020202AB
+:10053000020202020202020202020202020202029B
+:10054000020202020202020202020202020202028B
+:10055000020202020202020202020202020202027B
+:10056000020202020202020202020202020202026B
+:10057000020202020202020202020202020202025B
+:10058000020202020202020202020202020202024B
+:10059000020202020202020202020202020202023B
+:1005A000020202020202020202020202020202022B
+:1005B000020202020202020202020202020202021B
+:1005C000020202020202020202020202020202020B
+:1005D00002020202020202020202020202020202FB
+:1005E00002020202020202020202020202020202EB
+:1005F00002020202020202020202020202020202DB
+:1006000002020202020202020202020202020202CA
+:1006100002020202020202020202020202020202BA
+:1006200002020202020202020202020202020202AA
+:10063000020202020202020202020202020202029A
+:10064000020202020202020202020202020202028A
+:10065000020202020202020202020202020202027A
+:10066000020202020202020202020202020202026A
+:10067000020202020202020202020202020202025A
+:10068000020202020202020202020202020202024A
+:10069000020202020202020202020202020202023A
+:1006A000020202020202020202020202020202022A
+:1006B000020202020202020202020202020202021A
+:1006C000020202020202020202020202020202020A
+:1006D00002020202020202020202020202020202FA
+:1006E00002020202020202020202020202020202EA
+:1006F00002020202020202020202020202020202DA
+:1007000002020202020202020202020202020202C9
+:1007100002020202020202020202020202020202B9
+:1007200002020202020202020202020202020202A9
+:100730000202020202020202020202020202020299
+:100740000202020202020202020202020202020289
+:100750000202020202020202020202020202020279
+:100760000202020202020202020202020202020269
+:100770000202020202020202020202020202020259
+:100780000202020202020202020202020202020249
+:100790000202020202020202020202020202020239
+:1007A0000202020202020202020202020202020229
+:1007B0000202020202020202020202020202020219
+:1007C0000202020202020202020202020202020209
+:1007D00002020202020202020202020202020202F9
+:1007E00002020202020202020202020202020202E9
+:1007F00002020202020202020202020202020202D9
+:1008000002020202020202020202020202020202C8
+:1008100002020202020202020202020202020202B8
+:1008200002020202020202020202020202020202A8
+:100830000202020202020202020202020202020298
+:100840000202020202020202020202020202020288
+:100850000202020202020202020202020202020278
+:100860000202020202020202020202020202020268
+:100870000202020202020202020202020202020258
+:100880000202020202020202020202020202020248
+:100890000202020202020202020202020202020238
+:1008A0000202020202020202020202020202020228
+:1008B0000202020202020202020202020202020218
+:1008C0000202020202020202020202020202020208
+:1008D00002020202020202020202020202020202F8
+:1008E00002020202020202020202020202020202E8
+:1008F00002020202020202020202020202020202D8
+:1009000002020202020202020202020202020202C7
+:1009100002020202020202020202020202020202B7
+:1009200002020202020202020202020202020202A7
+:100930000202020202020202020202020202020297
+:100940000202020202020202020202020202020287
+:100950000202020202020202020202020202020277
+:100960000202020202020202020202020202020267
+:100970000202020202020202020202020202020257
+:100980000202020202020202020202020202020247
+:100990000202020202020202020202020202020237
+:1009A0000202020202020202020202020202020227
+:1009B0000202020202020202020202020202020217
+:1009C0000202020202020202020202020202020207
+:1009D00002020202020202020202020202020202F7
+:1009E00002020202020202020202020202020202E7
+:1009F00002020202020202020202020202020202D7
+:100A000002020202020202020202020202020202C6
+:100A100002020202020202020202020202020202B6
+:100A200002020202020202020202020202020202A6
+:100A30000202020202020202020202020202020296
+:100A40000202020202020202020202020202020286
+:100A50000202020202020202020202020202020276
+:100A60000202020202020202020202020202020266
+:100A70000202020202020202020202020202020256
+:100A80000202020202020202020202020202020246
+:100A90000202020202020202020202020202020236
+:100AA0000202020202020202020202020202020226
+:100AB0000202020202020202020202020202020216
+:100AC0000202020202020202020202020202020206
+:100AD00002020202020202020202020202020202F6
+:100AE00002020202020202020202020202020202E6
+:100AF00002020202020202020202020202020202D6
+:100B000002020202020202020202020202020202C5
+:100B100002020202020202020202020202020202B5
+:100B200002020202020202020202020202020202A5
+:100B30000202020202020202020202020202020295
+:100B40000202020202020202020202020202020285
+:100B50000202020202020202020202020202020275
+:100B60000202020202020202020202020202020265
+:100B70000202020202020202020202020202020255
+:100B80000202020202020202020202020202020245
+:100B90000202020202020202020202020202020235
+:100BA0000202020202020202020202020202020225
+:100BB0000202020202020202020202020202020215
+:100BC0000202020202020202020202020202020205
+:100BD00002020202020202020202020202020202F5
+:100BE00002020202020202020202020202020202E5
+:100BF00002020202020202020202020202020202D5
+:100C000002020202020202020202020202020202C4
+:100C100002020202020202020202020202020202B4
+:100C200002020202020202020202020202020202A4
+:100C30000202020202020202020202020202020294
+:100C40000202020202020202020202020202020284
+:100C50000202020202020202020202020202020274
+:100C60000202020202020202020202020202020264
+:100C70000202020202020202020202020202020254
+:100C80000202020202020202020202020202020244
+:100C90000202020202020202020202020202020234
+:100CA0000202020202020202020202020202020224
+:100CB0000202020202020202020202020202020214
+:100CC0000202020202020202020202020202020204
+:100CD00002020202020202020202020202020202F4
+:100CE00002020202020202020202020202020202E4
+:100CF00002020202020202020202020202020202D4
+:100D000002020202020202020202020202020202C3
+:100D100002020202020202020202020202020202B3
+:100D200002020202020202020202020202020202A3
+:100D30000202020202020202020202020202020293
+:100D40000202020202020202020202020202020283
+:100D50000202020202020202020202020202020273
+:100D60000202020202020202020202020202020263
+:100D70000202020202020202020202020202020253
+:100D80000202020202020202020202020202020243
+:100D90000202020202020202020202020202020233
+:100DA0000202020202020202020202020202020223
+:100DB0000202020202020202020202020202020213
+:100DC0000202020202020202020202020202020203
+:100DD00002020202020202020202020202020202F3
+:100DE00002020202020202020202020202020202E3
+:100DF00002020202020202020202020202020202D3
+:100E000002020202020202020202020202020202C2
+:100E100002020202020202020202020202020202B2
+:100E200002020202020202020202020202020202A2
+:100E300000000000000000000000000000000000B2
+:100E400000000000000000000000000000000000A2
+:100E50000000000000000000000000000000000092
+:100E60000000000000000000000000000000000082
+:100E70000000000000000000000000000000000072
+:100E80000000000000000000000000000000000062
+:100E90000000000000000000000000000000000052
+:100EA0000000000000000000000000000000000042
+:100EB0000000000000000000000000000000000032
+:100EC0000000000000000000000000000000000022
+:100ED0000000000000000000000000000000000012
+:100EE0000000000000000000000000000000000002
+:100EF00000000000000000000000000000000000F2
+:100F000000000000000000000000000000000000E1
+:100F100000000000000000000000000000000000D1
+:100F200000000000000000000000000000000000C1
+:100F300000000000000000000000000000000000B1
+:100F400000000000000000000000000000000000A1
+:100F50000000000000000000000000000000000091
+:100F60000000000000000000000000000000000081
+:100F70000000000000000000000000000000000071
+:100F80000000000000000000000000000000000061
+:100F90000000000000000000000000000000000051
+:100FA0000000000000000000000000000000000041
+:100FB0000000000000000000000000000000000031
+:100FC0000000000000000000000000000000000021
+:100FD0000000000000000000000000000000000011
+:100FE0000000000000000000000000000000000001
+:100FF00000000000000000000000000000000000F1
+:1010000000000000000000000000000000000000E0
+:1010100000000000000000000000000000000000D0
+:1010200000000000000000000000000000000000C0
+:1010300000000000000000000000000000000000B0
+:1010400000000000000000000000000000000000A0
+:101050000000000000000000000000000000000090
+:101060000000000000000000000000000000000080
+:101070000000000000000000000000000000000070
+:101080000000000000000000000000000000000060
+:101090000000000000000000000000000000000050
+:1010A0000000000000000000000000000000000040
+:1010B0000000000000000000000000000000000030
+:1010C0000000000000000000000000000000000020
+:1010D0000000000000000000000000000000000010
+:1010E0000000000000000000000000000000000000
+:1010F00000000000000000000000000000000000F0
+:1011000000000000000000000000000000000000DF
+:1011100000000000000000000000000000000000CF
+:1011200000000000000000000000000000000000BF
+:1011300000000000000000000000000000000000AF
+:10114000000000000000000000000000000000009F
+:10115000000000000000000000000000000000008F
+:10116000000000000000000000000000000000007F
+:10117000000000000000000000000000000000006F
+:10118000000000000000000000000000000000005F
+:10119000000000000000000000000000000000004F
+:1011A000000000000000000000000000000000003F
+:1011B000000000000000000000000000000000002F
+:1011C000000000000000000000000000000000001F
+:1011D000000000000000000000000000000000000F
+:1011E00000000000000000000000000000000000FF
+:1011F00000000000000000000000000000000000EF
+:1012000000000000000000000000000000000000DE
+:1012100000000000000000000000000000000000CE
+:1012200000000000000000000000000000000000BE
+:1012300000000000000000000000000000000000AE
+:10124000000000000000000000000000000000009E
+:10125000000000000000000000000000000000008E
+:10126000000000000000000000000000000000007E
+:10127000000000000000000000000000000000006E
+:10128000000000000000000000000000000000005E
+:10129000000000000000000000000000000000004E
+:1012A000000000000000000000000000000000003E
+:1012B000000000000000000000000000000000002E
+:1012C000000000000000000000000000000000001E
+:1012D000000000000000000000000000000000000E
+:1012E00000000000000000000000000000000000FE
+:1012F00000000000000000000000000000000000EE
+:1013000000000000000000000000000000000000DD
+:1013100000000000000000000000000000000000CD
+:1013200000000000000000000000000000000000BD
+:1013300000000000000000000000000000000000AD
+:10134000000000000000000000000000000000009D
+:10135000000000000000000000000000000000008D
+:10136000000000000000000000000000000000007D
+:10137000000000000000000000000000000000006D
+:10138000000000000000000000000000000000005D
+:10139000000000000000000000000000000000004D
+:1013A000000000000000000000000000000000003D
+:1013B000000000000000000000000000000000002D
+:1013C000000000000000000000000000000000001D
+:1013D000000000000000000000000000000000000D
+:1013E00000000000000000000000000000000000FD
+:1013F00000000000000000000000000000000000ED
+:1014000000000000000000000000000000000000DC
+:1014100000000000000000000000000000000000CC
+:1014200000000000000000000000000000000000BC
+:1014300000000000000000000000000000000000AC
+:10144000000000000000000000000000000000009C
+:10145000000000000000000000000000000000008C
+:10146000000000000000000000000000000000007C
+:10147000000000000000000000000000000000006C
+:10148000000000000000000000000000000000005C
+:10149000000000000000000000000000000000004C
+:1014A000000000000000000000000000000000003C
+:1014B000000000000000000000000000000000002C
+:1014C000000000000000000000000000000000001C
+:1014D000000000000000000000000000000000000C
+:1014E00000000000000000000000000000000000FC
+:1014F00000000000000000000000000000000000EC
+:1015000000000000000000000000000000000000DB
+:1015100000000000000000000000000000000000CB
+:1015200000000000000000000000000000000000BB
+:1015300000000000000000000000000000000000AB
+:10154000000000000000000000000000000000009B
+:10155000000000000000000000000000000000008B
+:10156000000000000000000000000000000000007B
+:10157000000000000000000000000000000000006B
+:10158000000000000000000000000000000000005B
+:10159000000000000000000000000000000000004B
+:1015A000000000000000000000000000000000003B
+:1015B000000000000000000000000000000000002B
+:1015C000000000000000000000000000000000001B
+:1015D000000000000000000000000000000000000B
+:1015E00000000000000000000000000000000000FB
+:1015F00000000000000000000000000000000000EB
+:1016000000000000000000000000000000000000DA
+:1016100000000000000000000000000000000000CA
+:1016200000000000000000000000000000000000BA
+:1016300000000000000000000000000000000000AA
+:10164000000000000000000000000000000000009A
+:10165000000000000000000000000000000000008A
+:10166000000000000000000000000000000000007A
+:10167000000000000000000000000000000000006A
+:10168000000000000000000000000000000000005A
+:10169000000000000000000000000000000000004A
+:1016A000000000000000000000000000000000003A
+:1016B000000000000000000000000000000000002A
+:1016C000000000000000000000000000000000001A
+:1016D000000000000000000000000000000000000A
+:1016E00000000000000000000000000000000000FA
+:1016F00000000000000000000000000000000000EA
+:1017000000000000000000000000000000000000D9
+:1017100000000000000000000000000000000000C9
+:1017200000000000000000000000000000000000B9
+:101730000101010101010101010101010101010199
+:101740000101010101010101010101010101010189
+:101750000101010101010101010101010101010179
+:101760000101010101010101010101010101010169
+:101770000101010101010101010101010101010159
+:101780000101010101010101010101010101010149
+:101790000101010101010101010101010101010139
+:1017A0000101010101010101010101010101010129
+:1017B0000101010101010101010101010101010119
+:1017C0000101010101010101010101010101010109
+:1017D00001010101010101010101010101010101F9
+:1017E00001010101010101010101010101010101E9
+:1017F00001010101010101010101010101010101D9
+:1018000001010101010101010101010101010101C8
+:1018100001010101010101010101010101010101B8
+:1018200001010101010101010101010101010101A8
+:101830000101010101010101010101010101010198
+:101840000101010101010101010101010101010188
+:101850000101010101010101010101010101010178
+:101860000101010101010101010101010101010168
+:101870000101010101010101010101010101010158
+:101880000101010101010101010101010101010148
+:101890000101010101010101010101010101010138
+:1018A0000101010101010101010101010101010128
+:1018B0000101010101010101010101010101010118
+:1018C0000101010101010101010101010101010108
+:1018D00001010101010101010101010101010101F8
+:1018E00001010101010101010101010101010101E8
+:1018F00001010101010101010101010101010101D8
+:1019000001010101010101010101010101010101C7
+:1019100001010101010101010101010101010101B7
+:1019200001010101010101010101010101010101A7
+:101930000101010101010101010101010101010197
+:101940000101010101010101010101010101010187
+:101950000101010101010101010101010101010177
+:101960000101010101010101010101010101010167
+:101970000101010101010101010101010101010157
+:101980000101010101010101010101010101010147
+:101990000101010101010101010101010101010137
+:1019A0000101010101010101010101010101010127
+:1019B0000101010101010101010101010101010117
+:1019C0000101010101010101010101010101010107
+:1019D00001010101010101010101010101010101F7
+:1019E00001010101010101010101010101010101E7
+:1019F00001010101010101010101010101010101D7
+:101A000001010101010101010101010101010101C6
+:101A100001010101010101010101010101010101B6
+:101A200001010101010101010101010101010101A6
+:101A30000101010101010101010101010101010196
+:101A40000101010101010101010101010101010186
+:101A50000101010101010101010101010101010176
+:101A60000101010101010101010101010101010166
+:101A70000101010101010101010101010101010156
+:101A80000101010101010101010101010101010146
+:101A90000101010101010101010101010101010136
+:101AA0000101010101010101010101010101010126
+:101AB0000101010101010101010101010101010116
+:101AC0000101010101010101010101010101010106
+:101AD00001010101010101010101010101010101F6
+:101AE00001010101010101010101010101010101E6
+:101AF00001010101010101010101010101010101D6
+:101B000001010101010101010101010101010101C5
+:101B100001010101010101010101010101010101B5
+:101B200001010101010101010101010101010101A5
+:101B30000101010101010101010101010101010195
+:101B40000101010101010101010101010101010185
+:101B50000101010101010101010101010101010175
+:101B60000101010101010101010101010101010165
+:101B70000101010101010101010101010101010155
+:101B80000101010101010101010101010101010145
+:101B90000101010101010101010101010101010135
+:101BA0000101010101010101010101010101010125
+:101BB0000101010101010101010101010101010115
+:101BC0000101010101010101010101010101010105
+:101BD00001010101010101010101010101010101F5
+:101BE00001010101010101010101010101010101E5
+:101BF00001010101010101010101010101010101D5
+:101C000001010101010101010101010101010101C4
+:101C100001010101010101010101010101010101B4
+:101C200001010101010101010101010101010101A4
+:101C300000000000000000000000000000000000A4
+:101C40000000000000000000000000000000000094
+:101C50000000000000000000000000000000000084
+:101C60000000000000000000000000000000000074
+:101C70000000000000000000000000000000000064
+:101C80000000000000000000000000000000000054
+:101C90000000000000000000000000000000000044
+:101CA0000000000000000000000000000000000034
+:101CB0000000000000000000000000000000000024
+:101CC0000000000000000000000000000000000014
+:101CD0000000000000000000000000000000000004
+:101CE00000000000000000000000000000000000F4
+:101CF00000000000000000000000000000000000E4
+:101D000000000000000000000000000000000000D3
+:101D100000000000000000000000000000000000C3
+:101D200000000000000000000000000000000000B3
+:101D300000000000000000000000000000000000A3
+:101D40000000000000000000000000000000000093
+:101D50000000000000000000000000000000000083
+:101D60000000000000000000000000000000000073
+:101D70000000000000000000000000000000000063
+:101D80000000000000000000000000000000000053
+:101D90000000000000000000000000000000000043
+:101DA0000000000000000000000000000000000033
+:101DB0000000000000000000000000000000000023
+:101DC0000000000000000000000000000000000013
+:101DD0000000000000000000000000000000000003
+:101DE00000000000000000000000000000000000F3
+:101DF00000000000000000000000000000000000E3
+:101E000000000000000000000000000000000000D2
+:101E100000000000000000000000000000000000C2
+:101E200000000000000000000000000000000000B2
+:101E300000000000000000000000000000000000A2
+:101E40000000000000000000000000000000000092
+:101E50000000000000000000000000000000000082
+:101E60000000000000000000000000000000000072
+:101E70000000000000000000000000000000000062
+:101E80000000000000000000000000000000000052
+:101E90000000000000000000000000000000000042
+:101EA0000000000000000000000000000000000032
+:101EB0000000000000000000000000000000000022
+:101EC0000000000000000000000000000000000012
+:101ED0000000000000000000000000000000000002
+:101EE00000000000000000000000000000000000F2
+:101EF00000000000000000000000000000000000E2
+:101F000000000000000000000000000000000000D1
+:101F100000000000000000000000000000000000C1
+:101F200000000000000000000000000000000000B1
+:101F300000000000000000000000000000000000A1
+:101F40000000000000000000000000000000000091
+:101F50000000000000000000000000000000000081
+:101F60000000000000000000000000000000000071
+:101F70000000000000000000000000000000000061
+:101F80000000000000000000000000000000000051
+:101F90000000000000000000000000000000000041
+:101FA0000000000000000000000000000000000031
+:101FB0000000000000000000000000000000000021
+:101FC0000000000000000000000000000000000011
+:101FD0000000000000000000000000000000000001
+:101FE00000000000000000000000000000000000F1
+:101FF00000000000000000000000000000000000E1
+:1020000000000000000000000000000000000000D0
+:1020100000000000000000000000000000000000C0
+:1020200000000000000000000000000000000000B0
+:1020300000000000000000000000000000000000A0
+:102040000000000000000000000000000000000090
+:102050000000000000000000000000000000000080
+:102060000000000000000000000000000000000070
+:102070000000000000000000000000000000000060
+:102080000000000000000000000000000000000050
+:102090000000000000000000000000000000000040
+:1020A0000000000000000000000000000000000030
+:1020B0000000000000000000000000000000000020
+:1020C0000000000000000000000000000000000010
+:1020D0000000000000000000000000000000000000
+:1020E00000000000000000000000000000000000F0
+:1020F00000000000000000000000000000000000E0
+:1021000000000000000000000000000000000000CF
+:1021100000000000000000000000000000000000BF
+:1021200000000000000000000000000000000000AF
+:10213000000000000000000000000000000000009F
+:10214000000000000000000000000000000000008F
+:10215000000000000000000000000000000000007F
+:10216000000000000000000000000000000000006F
+:10217000000000000000000000000000000000005F
+:10218000000000000000000000000000000000004F
+:10219000000000000000000000000000000000003F
+:1021A000000000000000000000000000000000002F
+:1021B000000000000000000000000000000000001F
+:1021C000000000000000000000000000000000000F
+:1021D00000000000000000000000000000000000FF
+:1021E00000000000000000000000000000000000EF
+:1021F00000000000000000000000000000000000DF
+:1022000000000000000000000000000000000000CE
+:1022100000000000000000000000000000000000BE
+:1022200000000000000000000000000000000000AE
+:10223000000000000000000000000000000000009E
+:10224000000000000000000000000000000000008E
+:10225000000000000000000000000000000000007E
+:10226000000000000000000000000000000000006E
+:10227000000000000000000000000000000000005E
+:10228000000000000000000000000000000000004E
+:10229000000000000000000000000000000000003E
+:1022A000000000000000000000000000000000002E
+:1022B000000000000000000000000000000000001E
+:1022C000000000000000000000000000000000000E
+:1022D00000000000000000000000000000000000FE
+:1022E00000000000000000000000000000000000EE
+:1022F00000000000000000000000000000000000DE
+:1023000000000000000000000000000000000000CD
+:1023100000000000000000000000000000000000BD
+:1023200000000000000000000000000000000000AD
+:10233000000000000000000000000000000000009D
+:10234000000000000000000000000000000000008D
+:10235000000000000000000000000000000000007D
+:10236000000000000000000000000000000000006D
+:10237000000000000000000000000000000000005D
+:10238000000000000000000000000000000000004D
+:10239000000000000000000000000000000000003D
+:1023A000000000000000000000000000000000002D
+:1023B000000000000000000000000000000000001D
+:1023C000000000000000000000000000000000000D
+:1023D00000000000000000000000000000000000FD
+:1023E00000000000000000000000000000000000ED
+:1023F00000000000000000000000000000000000DD
+:1024000000000000000000000000000000000000CC
+:1024100000000000000000000000000000000000BC
+:1024200000000000000000000000000000000000AC
+:10243000000000000000000000000000000000009C
+:10244000000000000000000000000000000000008C
+:10245000000000000000000000000000000000007C
+:10246000000000000000000000000000000000006C
+:10247000000000000000000000000000000000005C
+:10248000000000000000000000000000000000004C
+:10249000000000000000000000000000000000003C
+:1024A000000000000000000000000000000000002C
+:1024B000000000000000000000000000000000001C
+:1024C000000000000000000000000000000000000C
+:1024D00000000000000000000000000000000000FC
+:1024E00000000000000000000000000000000000EC
+:1024F00000000000000000000000000000000000DC
+:1025000000000000000000000000000000000000CB
+:1025100000000000000000000000000000000000BB
+:1025200000000000000000000000000000000000AB
+:10253000000000000000000000000000000000009B
+:10254000000000000000000000000000000000008B
+:10255000000000000000000000000000000000007B
+:10256000000000000000000000000000000000006B
+:10257000000000000000000000000000000000005B
+:10258000000000000000000000000000000000004B
+:10259000000000000000000000000000000000003B
+:1025A000000000000000000000000000000000002B
+:1025B000000000000000000000000000000000001B
+:1025C000000000000000000000000000000000000B
+:1025D00000000000000000000000000000000000FB
+:1025E00000000000000000000000000000000000EB
+:1025F00000000000000000000000000000000000DB
+:1026000000000000000000000000000000000000CA
+:1026100000000000000000000000000000000000BA
+:1026200000000000000000000000000000000000AA
+:10263000000000000000000000000000000000009A
+:10264000000000000000000000000000000000008A
+:10265000000000000000000000000000000000007A
+:10266000000000000000000000000000000000006A
+:10267000000000000000000000000000000000005A
+:10268000000000000000000000000000000000004A
+:10269000000000000000000000000000000000003A
+:1026A000000000000000000000000000000000002A
+:1026B000000000000000000000000000000000001A
+:1026C000000000000000000000000000000000000A
+:1026D00000000000000000000000000000000000FA
+:1026E00000000000000000000000000000000000EA
+:1026F00000000000000000000000000000000000DA
+:1027000000000000000000000000000000000000C9
+:1027100000000000000000000000000000000000B9
+:1027200000000000000000000000000000000000A9
+:102730000000000000000000000000000000000099
+:102740000000000000000000000000000000000089
+:102750000000000000000000000000000000000079
+:102760000000000000000000000000000000000069
+:102770000000000000000000000000000000000059
+:102780000000000000000000000000000000000049
+:102790000000000000000000000000000000000039
+:1027A0000000000000000000000000000000000029
+:1027B0000000000000000000000000000000000019
+:1027C0000000000000000000000000000000000009
+:1027D00000000000000000000000000000000000F9
+:1027E00000000000000000000000000000000000E9
+:1027F00000000000000000000000000000000000D9
+:1028000000000000000000000000000000000000C8
+:1028100000000000000000000000000000000000B8
+:1028200000000000000000000000000000000000A8
+:102830000000000000000000000000000000000098
+:102840000000000000000000000000000000000088
+:102850000000000000000000000000000000000078
+:102860000000000000000000000000000000000068
+:102870000000000000000000000000000000000058
+:102880000000000000000000000000000000000048
+:102890000000000000000000000000000000000038
+:1028A0000000000000000000000000000000000028
+:1028B0000000000000000000000000000000000018
+:1028C0000000000000000000000000000000000008
+:1028D00000000000000000000000000000000000F8
+:1028E00000000000000000000000000000000000E8
+:1028F00000000000000000000000000000000000D8
+:1029000000000000000000000000000000000000C7
+:1029100000000000000000000000000000000000B7
+:1029200000000000000000000000000000000000A7
+:102930000000000000000000000000000000000097
+:102940000000000000000000000000000000000087
+:102950000000000000000000000000000000000077
+:102960000000000000000000000000000000000067
+:102970000000000000000000000000000000000057
+:102980000000000000000000000000000000000047
+:102990000000000000000000000000000000000037
+:1029A0000000000000000000000000000000000027
+:1029B0000000000000000000000000000000000017
+:1029C0000000000000000000000000000000000007
+:1029D00000000000000000000000000000000000F7
+:1029E00000000000000000000000000000000000E7
+:1029F00000000000000000000000000000000000D7
+:102A000000000000000000000000000000000000C6
+:102A100000000000000000000000000000000000B6
+:102A200000000000000000000000000000000000A6
+:102A30000000000000000000000000000000000096
+:102A40000000000000000000000000000000000086
+:102A50000000000000000000000000000000000076
+:102A60000000000000000000000000000000000066
+:102A70000000000000000000000000000000000056
+:102A80000000000000000000000000000000000046
+:102A90000000000000000000000000000000000036
+:102AA0000000000000000000000000000000000026
+:102AB0000000000000000000000000000000000016
+:102AC0000000000000000000000000000000000006
+:102AD00000000000000000000000000000000000F6
+:102AE00000000000000000000000000000000000E6
+:102AF00000000000000000000000000000000000D6
+:102B000000000000000000000000000000000000C5
+:102B100000000000000000000000000000000000B5
+:102B200000000000000000000000000000000000A5
+:102B30000000000000000000000000000000000095
+:102B40000000000000000000000000000000000085
+:102B50000000000000000000000000000000000075
+:102B60000000000000000000000000000000000065
+:102B70000000000000000000000000000000000055
+:102B80000000000000000000000000000000000045
+:102B90000000000000000000000000000000000035
+:102BA0000000000000000000000000000000000025
+:102BB0000000000000000000000000000000000015
+:102BC0000000000000000000000000000000000005
+:102BD00000000000000000000000000000000000F5
+:102BE00000000000000000000000000000000000E5
+:102BF00000000000000000000000000000000000D5
+:102C000000000000000000000000000000000000C4
+:102C100000000000000000000000000000000000B4
+:102C200000000000000000000000000000000000A4
+:102C30000000000000000000000000000000000094
+:102C40000000000000000000000000000000000084
+:102C50000000000000000000000000000000000074
+:102C60000000000000000000000000000000000064
+:102C70000000000000000000000000000000000054
+:102C80000000000000000000000000000000000044
+:102C90000000000000000000000000000000000034
+:102CA0000000000000000000000000000000000024
+:102CB0000000000000000000000000000000000014
+:102CC0000000000000000000000000000000000004
+:102CD00000000000000000000000000000000000F4
+:102CE00000000000000000000000000000000000E4
+:102CF00000000000000000000000000000000000D4
+:102D000000000000000000000000000000000000C3
+:102D100000000000000000000000000000000000B3
+:102D200000000000000000000000000000000000A3
+:102D30000000000000000000000000000000000093
+:102D40000000000000000000000000000000000083
+:102D50000000000000000000000000000000000073
+:102D60000000000000000000000000000000000063
+:102D70000000000000000000000000000000000053
+:102D80000000000000000000000000000000000043
+:102D90000000000000000000000000000000000033
+:102DA0000000000000000000000000000000000023
+:102DB0000000000000000000000000000000000013
+:102DC0000000000000000000000000000000000003
+:102DD00000000000000000000000000000000000F3
+:102DE00000000000000000000000000000000000E3
+:102DF00000000000000000000000000000000000D3
+:102E000000000000000000000000000000000000C2
+:102E100000000000000000000000000000000000B2
+:102E200000000000000000000000000000000000A2
+:102E30000000000000000000000000000000000092
+:102E40000000000000000000000000000000000082
+:102E50000000000000000000000000000000000072
+:102E60000000000000000000000000000000000062
+:102E70000000000000000000000000000000000052
+:102E80000000000000000000000000000000000042
+:102E90000000000000000000000000000000000032
+:102EA0000000000000000000000000000000000022
+:102EB0000000000000000000000000000000000012
+:102EC0000000000000000000000000000000000002
+:102ED00000000000000000000000000000000000F2
+:102EE00000000000000000000000000000000000E2
+:102EF00000000000000000000000000000000000D2
+:102F000000000000000000000000000000000000C1
+:102F100000000000000000000000000000000000B1
+:102F200000000000000000000000000000000000A1
+:102F30000101010101010101010101010101010181
+:102F40000101010101010101010101010101010171
+:102F50000101010101010101010101010101010161
+:102F60000101010101010101010101010101010151
+:102F70000101010101010101010101010101010141
+:102F80000101010101010101010101010101010131
+:102F90000101010101010101010101010101010121
+:102FA0000101010101010101010101010101010111
+:102FB0000101010101010101010101010101010101
+:102FC00001010101010101010101010101010101F1
+:102FD00001010101010101010101010101010101E1
+:102FE00001010101010101010101010101010101D1
+:102FF00001010101010101010101010101010101C1
+:1030000001010101010101010101010101010101B0
+:1030100001010101010101010101010101010101A0
+:103020000101010101010101010101010101010190
+:103030000101010101010101010101010101010180
+:103040000101010101010101010101010101010170
+:103050000101010101010101010101010101010160
+:103060000101010101010101010101010101010150
+:103070000101010101010101010101010101010140
+:103080000101010101010101010101010101010130
+:103090000101010101010101010101010101010120
+:1030A0000101010101010101010101010101010110
+:1030B0000101010101010101010101010101010100
+:1030C00001010101010101010101010101010101F0
+:1030D00001010101010101010101010101010101E0
+:1030E00001010101010101010101010101010101D0
+:1030F00001010101010101010101010101010101C0
+:1031000001010101010101010101010101010101AF
+:10311000010101010101010101010101010101019F
+:10312000010101010101010101010101010101018F
+:10313000010101010101010101010101010101017F
+:10314000010101010101010101010101010101016F
+:10315000010101010101010101010101010101015F
+:10316000010101010101010101010101010101014F
+:10317000010101010101010101010101010101013F
+:10318000010101010101010101010101010101012F
+:10319000010101010101010101010101010101011F
+:1031A000010101010101010101010101010101010F
+:1031B00001010101010101010101010101010101FF
+:1031C00001010101010101010101010101010101EF
+:1031D00001010101010101010101010101010101DF
+:1031E00001010101010101010101010101010101CF
+:1031F00001010101010101010101010101010101BF
+:1032000001010101010101010101010101010101AE
+:10321000010101010101010101010101010101019E
+:10322000010101010101010101010101010101018E
+:10323000010101010101010101010101010101017E
+:10324000010101010101010101010101010101016E
+:10325000010101010101010101010101010101015E
+:10326000010101010101010101010101010101014E
+:10327000010101010101010101010101010101013E
+:10328000010101010101010101010101010101012E
+:10329000010101010101010101010101010101011E
+:1032A000010101010101010101010101010101010E
+:1032B00001010101010101010101010101010101FE
+:1032C00001010101010101010101010101010101EE
+:1032D00001010101010101010101010101010101DE
+:1032E00001010101010101010101010101010101CE
+:1032F00001010101010101010101010101010101BE
+:1033000001010101010101010101010101010101AD
+:10331000010101010101010101010101010101019D
+:10332000010101010101010101010101010101018D
+:10333000010101010101010101010101010101017D
+:10334000010101010101010101010101010101016D
+:10335000010101010101010101010101010101015D
+:10336000010101010101010101010101010101014D
+:10337000010101010101010101010101010101013D
+:10338000010101010101010101010101010101012D
+:10339000010101010101010101010101010101011D
+:1033A000010101010101010101010101010101010D
+:1033B00001010101010101010101010101010101FD
+:1033C00001010101010101010101010101010101ED
+:1033D00001010101010101010101010101010101DD
+:1033E00001010101010101010101010101010101CD
+:1033F00001010101010101010101010101010101BD
+:1034000001010101010101010101010101010101AC
+:10341000010101010101010101010101010101019C
+:10342000010101010101010101010101010101018C
+:10343000000000000000000000000000000000008C
+:10344000000000000000000000000000000000007C
+:10345000000000000000000000000000000000006C
+:10346000000000000000000000000000000000005C
+:10347000000000000000000000000000000000004C
+:10348000000000000000000000000000000000003C
+:10349000000000000000000000000000000000002C
+:1034A000000000000000000000000000000000001C
+:1034B000000000000000000000000000000000000C
+:1034C00000000000000000000000000000000000FC
+:1034D00000000000000000000000000000000000EC
+:1034E00000000000000000000000000000000000DC
+:1034F00000000000000000000000000000000000CC
+:1035000000000000000000000000000000000000BB
+:1035100000000000000000000000000000000000AB
+:10352000000000000000000000000000000000009B
+:10353000000000000000000000000000000000008B
+:10354000000000000000000000000000000000007B
+:10355000000000000000000000000000000000006B
+:10356000000000000000000000000000000000005B
+:10357000000000000000000000000000000000004B
+:10358000000000000000000000000000000000003B
+:10359000000000000000000000000000000000002B
+:1035A000000000000000000000000000000000001B
+:1035B000000000000000000000000000000000000B
+:1035C00000000000000000000000000000000000FB
+:1035D00000000000000000000000000000000000EB
+:1035E00000000000000000000000000000000000DB
+:1035F00000000000000000000000000000000000CB
+:1036000000000000000000000000000000000000BA
+:1036100000000000000000000000000000000000AA
+:10362000000000000000000000000000000000009A
+:10363000000000000000000000000000000000008A
+:10364000000000000000000000000000000000007A
+:10365000000000000000000000000000000000006A
+:10366000000000000000000000000000000000005A
+:10367000000000000000000000000000000000004A
+:10368000000000000000000000000000000000003A
+:10369000000000000000000000000000000000002A
+:1036A000000000000000000000000000000000001A
+:1036B000000000000000000000000000000000000A
+:1036C00000000000000000000000000000000000FA
+:1036D00000000000000000000000000000000000EA
+:1036E00000000000000000000000000000000000DA
+:1036F00000000000000000000000000000000000CA
+:1037000000000000000000000000000000000000B9
+:1037100000000000000000000000000000000000A9
+:103720000000000000000000000000000000000099
+:103730000000000000000000000000000000000089
+:103740000000000000000000000000000000000079
+:103750000000000000000000000000000000000069
+:103760000000000000000000000000000000000059
+:103770000000000000000000000000000000000049
+:103780000000000000000000000000000000000039
+:103790000000000000000000000000000000000029
+:1037A0000000000000000000000000000000000019
+:1037B0000000000000000000000000000000000009
+:1037C00000000000000000000000000000000000F9
+:1037D00000000000000000000000000000000000E9
+:1037E00000000000000000000000000000000000D9
+:1037F00000000000000000000000000000000000C9
+:1038000000000000000000000000000000000000B8
+:1038100000000000000000000000000000000000A8
+:103820000000000000000000000000000000000098
+:103830000101010101010101010101010101010178
+:103840000101010101010101010101010101010168
+:103850000101010101010101010101010101010158
+:103860000101010101010101010101010101010148
+:103870000101010101010101010101010101010138
+:103880000101010101010101010101010101010128
+:103890000101010101010101010101010101010118
+:1038A0000101010101010101010101010101010108
+:1038B00001010101010101010101010101010101F8
+:1038C00001010101010101010101010101010101E8
+:1038D00001010101010101010101010101010101D8
+:1038E00001010101010101010101010101010101C8
+:1038F00001010101010101010101010101010101B8
+:1039000001010101010101010101010101010101A7
+:103910000101010101010101010101010101010197
+:103920000101010101010101010101010101010187
+:103930000101010101010101010101010101010177
+:103940000101010101010101010101010101010167
+:103950000101010101010101010101010101010157
+:103960000101010101010101010101010101010147
+:103970000101010101010101010101010101010137
+:103980000101010101010101010101010101010127
+:103990000101010101010101010101010101010117
+:1039A0000101010101010101010101010101010107
+:1039B00001010101010101010101010101010101F7
+:1039C00001010101010101010101010101010101E7
+:1039D00001010101010101010101010101010101D7
+:1039E00001010101010101010101010101010101C7
+:1039F00001010101010101010101010101010101B7
+:103A000001010101010101010101010101010101A6
+:103A10000101010101010101010101010101010196
+:103A20000101010101010101010101010101010186
+:103A30000202020202020202020202020202020266
+:103A40000202020202020202020202020202020256
+:103A50000202020202020202020202020202020246
+:103A60000202020202020202020202020202020236
+:103A70000202020202020202020202020202020226
+:103A80000202020202020202020202020202020216
+:103A90000202020202020202020202020202020206
+:103AA00002020202020202020202020202020202F6
+:103AB00002020202020202020202020202020202E6
+:103AC00002020202020202020202020202020202D6
+:103AD00002020202020202020202020202020202C6
+:103AE00002020202020202020202020202020202B6
+:103AF00002020202020202020202020202020202A6
+:103B00000202020202020202020202020202020295
+:103B10000202020202020202020202020202020285
+:103B20000202020202020202020202020202020275
+:103B30000202020202020202020202020202020265
+:103B40000202020202020202020202020202020255
+:103B50000202020202020202020202020202020245
+:103B60000202020202020202020202020202020235
+:103B70000202020202020202020202020202020225
+:103B80000202020202020202020202020202020215
+:103B90000202020202020202020202020202020205
+:103BA00002020202020202020202020202020202F5
+:103BB00002020202020202020202020202020202E5
+:103BC00002020202020202020202020202020202D5
+:103BD00002020202020202020202020202020202C5
+:103BE00002020202020202020202020202020202B5
+:103BF00002020202020202020202020202020202A5
+:103C00000202020202020202020202020202020294
+:103C10000202020202020202020202020202020284
+:103C20000202020202020202020202020202020274
+:103C30000202020202020202020202020202020264
+:103C40000202020202020202020202020202020254
+:103C50000202020202020202020202020202020244
+:103C60000202020202020202020202020202020234
+:103C70000202020202020202020202020202020224
+:103C80000202020202020202020202020202020214
+:103C90000202020202020202020202020202020204
+:103CA00002020202020202020202020202020202F4
+:103CB00002020202020202020202020202020202E4
+:103CC00002020202020202020202020202020202D4
+:103CD00002020202020202020202020202020202C4
+:103CE00002020202020202020202020202020202B4
+:103CF00002020202020202020202020202020202A4
+:103D00000202020202020202020202020202020293
+:103D10000202020202020202020202020202020283
+:103D20000202020202020202020202020202020273
+:103D30000202020202020202020202020202020263
+:103D40000202020202020202020202020202020253
+:103D50000202020202020202020202020202020243
+:103D60000202020202020202020202020202020233
+:103D70000202020202020202020202020202020223
+:103D80000202020202020202020202020202020213
+:103D90000202020202020202020202020202020203
+:103DA00002020202020202020202020202020202F3
+:103DB00002020202020202020202020202020202E3
+:103DC00002020202020202020202020202020202D3
+:103DD00002020202020202020202020202020202C3
+:103DE00002020202020202020202020202020202B3
+:103DF00002020202020202020202020202020202A3
+:103E00000202020202020202020202020202020292
+:103E10000202020202020202020202020202020282
+:103E20000202020202020202020202020202020272
+:103E30000202020202020202020202020202020262
+:103E40000202020202020202020202020202020252
+:103E50000202020202020202020202020202020242
+:103E60000202020202020202020202020202020232
+:103E70000202020202020202020202020202020222
+:103E80000202020202020202020202020202020212
+:103E90000202020202020202020202020202020202
+:103EA00002020202020202020202020202020202F2
+:103EB00002020202020202020202020202020202E2
+:103EC00002020202020202020202020202020202D2
+:103ED00002020202020202020202020202020202C2
+:103EE00002020202020202020202020202020202B2
+:103EF00002020202020202020202020202020202A2
+:103F00000202020202020202020202020202020291
+:103F10000202020202020202020202020202020281
+:103F20000202020202020202020202020202020271
+:103F30000202020202020202020202020202020261
+:103F40000202020202020202020202020202020251
+:103F50000202020202020202020202020202020241
+:103F60000202020202020202020202020202020231
+:103F70000202020202020202020202020202020221
+:103F80000202020202020202020202020202020211
+:103F90000202020202020202020202020202020201
+:103FA00002020202020202020202020202020202F1
+:103FB00002020202020202020202020202020202E1
+:103FC00002020202020202020202020202020202D1
+:103FD00002020202020202020202020202020202C1
+:103FE00002020202020202020202020202020202B1
+:103FF00002020202020202020202020202020202A1
+:104000000202020202020202020202020202020290
+:104010000202020202020202020202020202020280
+:104020000202020202020202020202020202020270
+:104030000202020202020202020202020202020260
+:104040000202020202020202020202020202020250
+:104050000202020202020202020202020202020240
+:104060000202020202020202020202020202020230
+:104070000202020202020202020202020202020220
+:104080000202020202020202020202020202020210
+:104090000202020202020202020202020202020200
+:1040A00002020202020202020202020202020202F0
+:1040B00002020202020202020202020202020202E0
+:1040C00002020202020202020202020202020202D0
+:1040D00002020202020202020202020202020202C0
+:1040E00002020202020202020202020202020202B0
+:1040F00002020202020202020202020202020202A0
+:10410000020202020202020202020202020202028F
+:10411000020202020202020202020202020202027F
+:10412000020202020202020202020202020202026F
+:10413000020202020202020202020202020202025F
+:10414000020202020202020202020202020202024F
+:10415000020202020202020202020202020202023F
+:10416000020202020202020202020202020202022F
+:10417000020202020202020202020202020202021F
+:10418000020202020202020202020202020202020F
+:1041900002020202020202020202020202020202FF
+:1041A00002020202020202020202020202020202EF
+:1041B00002020202020202020202020202020202DF
+:1041C00002020202020202020202020202020202CF
+:1041D00002020202020202020202020202020202BF
+:1041E00002020202020202020202020202020202AF
+:1041F000020202020202020202020202020202029F
+:10420000020202020202020202020202020202028E
+:10421000020202020202020202020202020202027E
+:10422000020202020202020202020202020202026E
+:10423000020202020202020202020202020202025E
+:10424000020202020202020202020202020202024E
+:10425000020202020202020202020202020202023E
+:10426000020202020202020202020202020202022E
+:10427000020202020202020202020202020202021E
+:10428000020202020202020202020202020202020E
+:1042900002020202020202020202020202020202FE
+:1042A00002020202020202020202020202020202EE
+:1042B00002020202020202020202020202020202DE
+:1042C00002020202020202020202020202020202CE
+:1042D00002020202020202020202020202020202BE
+:1042E00002020202020202020202020202020202AE
+:1042F000020202020202020202020202020202029E
+:10430000020202020202020202020202020202028D
+:10431000020202020202020202020202020202027D
+:10432000020202020202020202020202020202026D
+:10433000020202020202020202020202020202025D
+:10434000020202020202020202020202020202024D
+:10435000020202020202020202020202020202023D
+:10436000020202020202020202020202020202022D
+:10437000020202020202020202020202020202021D
+:10438000020202020202020202020202020202020D
+:1043900002020202020202020202020202020202FD
+:1043A00002020202020202020202020202020202ED
+:1043B00002020202020202020202020202020202DD
+:1043C00002020202020202020202020202020202CD
+:1043D00002020202020202020202020202020202BD
+:1043E00002020202020202020202020202020202AD
+:1043F000020202020202020202020202020202029D
+:10440000020202020202020202020202020202028C
+:10441000020202020202020202020202020202027C
+:10442000020202020202020202020202020202026C
+:10443000020202020202020202020202020202025C
+:10444000020202020202020202020202020202024C
+:10445000020202020202020202020202020202023C
+:10446000020202020202020202020202020202022C
+:10447000020202020202020202020202020202021C
+:10448000020202020202020202020202020202020C
+:1044900002020202020202020202020202020202FC
+:1044A00002020202020202020202020202020202EC
+:1044B00002020202020202020202020202020202DC
+:1044C00002020202020202020202020202020202CC
+:1044D00002020202020202020202020202020202BC
+:1044E00002020202020202020202020202020202AC
+:1044F000020202020202020202020202020202029C
+:10450000020202020202020202020202020202028B
+:10451000020202020202020202020202020202027B
+:10452000020202020202020202020202020202026B
+:10453000020202020202020202020202020202025B
+:10454000020202020202020202020202020202024B
+:10455000020202020202020202020202020202023B
+:10456000020202020202020202020202020202022B
+:10457000020202020202020202020202020202021B
+:10458000020202020202020202020202020202020B
+:1045900002020202020202020202020202020202FB
+:1045A00002020202020202020202020202020202EB
+:1045B00002020202020202020202020202020202DB
+:1045C00002020202020202020202020202020202CB
+:1045D00002020202020202020202020202020202BB
+:1045E00002020202020202020202020202020202AB
+:1045F000020202020202020202020202020202029B
+:10460000020202020202020202020202020202028A
+:10461000020202020202020202020202020202027A
+:10462000020202020202020202020202020202026A
+:10463000000000000000000000000000000000007A
+:10464000000000000000000000000000000000006A
+:10465000000000000000000000000000000000005A
+:10466000000000000000000000000000000000004A
+:10467000000000000000000000000000000000003A
+:10468000000000000000000000000000000000002A
+:10469000000000000000000000000000000000001A
+:1046A000000000000000000000000000000000000A
+:1046B00000000000000000000000000000000000FA
+:1046C00000000000000000000000000000000000EA
+:1046D00000000000000000000000000000000000DA
+:1046E00000000000000000000000000000000000CA
+:1046F00000000000000000000000000000000000BA
+:1047000000000000000000000000000000000000A9
+:104710000000000000000000000000000000000099
+:104720000000000000000000000000000000000089
+:104730000000000000000000000000000000000079
+:104740000000000000000000000000000000000069
+:104750000000000000000000000000000000000059
+:104760000000000000000000000000000000000049
+:104770000000000000000000000000000000000039
+:104780000000000000000000000000000000000029
+:104790000000000000000000000000000000000019
+:1047A0000000000000000000000000000000000009
+:1047B00000000000000000000000000000000000F9
+:1047C00000000000000000000000000000000000E9
+:1047D00000000000000000000000000000000000D9
+:1047E00000000000000000000000000000000000C9
+:1047F00000000000000000000000000000000000B9
+:1048000000000000000000000000000000000000A8
+:104810000000000000000000000000000000000098
+:104820000000000000000000000000000000000088
+:104830000000000000000000000000000000000078
+:104840000000000000000000000000000000000068
+:104850000000000000000000000000000000000058
+:104860000000000000000000000000000000000048
+:104870000000000000000000000000000000000038
+:104880000000000000000000000000000000000028
+:104890000000000000000000000000000000000018
+:1048A0000000000000000000000000000000000008
+:1048B00000000000000000000000000000000000F8
+:1048C00000000000000000000000000000000000E8
+:1048D00000000000000000000000000000000000D8
+:1048E00000000000000000000000000000000000C8
+:1048F00000000000000000000000000000000000B8
+:1049000000000000000000000000000000000000A7
+:104910000000000000000000000000000000000097
+:104920000000000000000000000000000000000087
+:104930000000000000000000000000000000000077
+:104940000000000000000000000000000000000067
+:104950000000000000000000000000000000000057
+:104960000000000000000000000000000000000047
+:104970000000000000000000000000000000000037
+:104980000000000000000000000000000000000027
+:104990000000000000000000000000000000000017
+:1049A0000000000000000000000000000000000007
+:1049B00000000000000000000000000000000000F7
+:1049C00000000000000000000000000000000000E7
+:1049D00000000000000000000000000000000000D7
+:1049E00000000000000000000000000000000000C7
+:1049F00000000000000000000000000000000000B7
+:104A000000000000000000000000000000000000A6
+:104A10000000000000000000000000000000000096
+:104A20000000000000000000000000000000000086
+:104A30000000000000000000000000000000000076
+:104A40000000000000000000000000000000000066
+:104A50000000000000000000000000000000000056
+:104A60000000000000000000000000000000000046
+:104A70000000000000000000000000000000000036
+:104A80000000000000000000000000000000000026
+:104A90000000000000000000000000000000000016
+:104AA0000000000000000000000000000000000006
+:104AB00000000000000000000000000000000000F6
+:104AC00000000000000000000000000000000000E6
+:104AD00000000000000000000000000000000000D6
+:104AE00000000000000000000000000000000000C6
+:104AF00000000000000000000000000000000000B6
+:104B000000000000000000000000000000000000A5
+:104B10000000000000000000000000000000000095
+:104B20000000000000000000000000000000000085
+:104B30000000000000000000000000000000000075
+:104B40000000000000000000000000000000000065
+:104B50000000000000000000000000000000000055
+:104B60000000000000000000000000000000000045
+:104B70000000000000000000000000000000000035
+:104B80000000000000000000000000000000000025
+:104B90000000000000000000000000000000000015
+:104BA0000000000000000000000000000000000005
+:104BB00000000000000000000000000000000000F5
+:104BC00000000000000000000000000000000000E5
+:104BD00000000000000000000000000000000000D5
+:104BE00000000000000000000000000000000000C5
+:104BF00000000000000000000000000000000000B5
+:104C000000000000000000000000000000000000A4
+:104C10000000000000000000000000000000000094
+:104C20000000000000000000000000000000000084
+:104C30006700000000000000010101010101010105
+:104C40000101010101010101010101010101010154
+:104C50000101010101010101010101010101010144
+:104C60000101010101010101010101010101010134
+:104C70000101010101010101010101010101010124
+:104C80000101010101010101010101010101010114
+:104C90000101010101010101010101010101010104
+:104CA00001010101010101010101010101010101F4
+:104CB00001010101010101010101010101010101E4
+:104CC00001010101010101010101010101010101D4
+:104CD00001010101010101010101010101010101C4
+:104CE00001010101010101010101010101010101B4
+:104CF00001010101010101010101010101010101A4
+:104D00000101010101010101010101010101010193
+:104D10000101010101010101010101010101010183
+:104D20000101010101010101010101010101010173
+:104D30000101010101010101010101010101010163
+:104D40000101010101010101010101010101010153
+:104D50000101010101010101010101010101010143
+:104D60000101010101010101010101010101010133
+:104D70000101010101010101010101010101010123
+:104D80000101010101010101010101010101010113
+:104D90000101010101010101010101010101010103
+:104DA00001010101010101010101010101010101F3
+:104DB00001010101010101010101010101010101E3
+:104DC00001010101010101010101010101010101D3
+:104DD00001010101010101010101010101010101C3
+:104DE00001010101010101010101010101010101B3
+:104DF00001010101010101010101010101010101A3
+:104E00000101010101010101010101010101010192
+:104E10000101010101010101010101010101010182
+:104E20000101010101010101010101010101010172
+:104E30000101010101010101010101010101010162
+:104E40000101010101010101010101010101010152
+:104E50000101010101010101010101010101010142
+:104E60000101010101010101010101010101010132
+:104E70000101010101010101010101010101010122
+:104E80000101010101010101010101010101010112
+:104E90000101010101010101010101010101010102
+:104EA00001010101010101010101010101010101F2
+:104EB00001010101010101010101010101010101E2
+:104EC00001010101010101010101010101010101D2
+:104ED00001010101010101010101010101010101C2
+:104EE00001010101010101010101010101010101B2
+:104EF00001010101010101010101010101010101A2
+:104F00000101010101010101010101010101010191
+:104F10000101010101010101010101010101010181
+:104F20000101010101010101010101010101010171
+:104F30000101010101010101010101010101010161
+:104F40000101010101010101010101010101010151
+:104F50000101010101010101010101010101010141
+:104F60000101010101010101010101010101010131
+:104F70000101010101010101010101010101010121
+:104F80000101010101010101010101010101010111
+:104F90000101010101010101010101010101010101
+:104FA00001010101010101010101010101010101F1
+:104FB00001010101010101010101010101010101E1
+:104FC00001010101010101010101010101010101D1
+:104FD00001010101010101010101010101010101C1
+:104FE00001010101010101010101010101010101B1
+:104FF00001010101010101010101010101010101A1
+:105000000101010101010101010101010101010190
+:105010000101010101010101010101010101010180
+:105020000101010101010101010101010101010170
+:105030000101010101010101000000000000000068
+:105040000000000000000000000000000000000060
+:105050000000000000000000000000000000000050
+:105060000000000000000000000000000000000040
+:105070000000000000000000000000000000000030
+:105080000000000000000000000000000000000020
+:105090000000000000000000000000000000000010
+:1050A0000000000000000000000000000000000000
+:1050B00000000000000000000000000000000000F0
+:1050C00000000000000000000000000000000000E0
+:1050D00000000000000000000000000000000000D0
+:1050E00000000000000000000000000000000000C0
+:1050F00000000000000000000000000000000000B0
+:10510000000000000000000000000000000000009F
+:10511000000000000000000000000000000000008F
+:10512000000000000000000000000000000000007F
+:10513000000000000000000000000000000000006F
+:10514000000000000000000000000000000000005F
+:10515000000000000000000000000000000000004F
+:10516000000000000000000000000000000000003F
+:10517000000000000000000000000000000000002F
+:10518000000000000000000000000000000000001F
+:10519000000000000000000000000000000000000F
+:1051A00000000000000000000000000000000000FF
+:1051B00000000000000000000000000000000000EF
+:1051C00000000000000000000000000000000000DF
+:1051D00000000000000000000000000000000000CF
+:1051E00000000000000000000000000000000000BF
+:1051F00000000000000000000000000000000000AF
+:10520000000000000000000000000000000000009E
+:10521000000000000000000000000000000000008E
+:10522000000000000000000000000000000000007E
+:10523000000000000000000000000000000000006E
+:10524000000000000000000000000000000000005E
+:10525000000000000000000000000000000000004E
+:10526000000000000000000000000000000000003E
+:10527000000000000000000000000000000000002E
+:10528000000000000000000000000000000000001E
+:10529000000000000000000000000000000000000E
+:1052A00000000000000000000000000000000000FE
+:1052B00000000000000000000000000000000000EE
+:1052C00000000000000000000000000000000000DE
+:1052D00000000000000000000000000000000000CE
+:1052E00000000000000000000000000000000000BE
+:1052F00000000000000000000000000000000000AE
+:10530000000000000000000000000000000000009D
+:10531000000000000000000000000000000000008D
+:10532000000000000000000000000000000000007D
+:10533000000000000000000000000000000000006D
+:10534000000000000000000000000000000000005D
+:10535000000000000000000000000000000000004D
+:10536000000000000000000000000000000000003D
+:10537000000000000000000000000000000000002D
+:10538000000000000000000000000000000000001D
+:10539000000000000000000000000000000000000D
+:1053A00000000000000000000000000000000000FD
+:1053B00000000000000000000000000000000000ED
+:1053C00000000000000000000000000000000000DD
+:1053D00000000000000000000000000000000000CD
+:1053E00000000000000000000000000000000000BD
+:1053F00000000000000000000000000000000000AD
+:10540000000000000000000000000000000000009C
+:10541000000000000000000000000000000000008C
+:10542000000000000000000000000000000000007C
+:10543000000000000000000000000000000000006C
+:10544000000000000000000000000000000000005C
+:10545000000000000000000000000000000000004C
+:10546000000000000000000000000000000000003C
+:10547000000000000000000000000000000000002C
+:10548000000000000000000000000000000000001C
+:10549000000000000000000000000000000000000C
+:1054A00000000000000000000000000000000000FC
+:1054B00000000000000000000000000000000000EC
+:1054C00000000000000000000000000000000000DC
+:1054D00000000000000000000000000000000000CC
+:1054E00000000000000000000000000000000000BC
+:1054F00000000000000000000000000000000000AC
+:10550000000000000000000000000000000000009B
+:10551000000000000000000000000000000000008B
+:10552000000000000000000000000000000000007B
+:10553000000000000000000000000000000000006B
+:10554000000000000000000000000000000000005B
+:10555000000000000000000000000000000000004B
+:10556000000000000000000000000000000000003B
+:10557000000000000000000000000000000000002B
+:10558000000000000000000000000000000000001B
+:10559000000000000000000000000000000000000B
+:1055A00000000000000000000000000000000000FB
+:1055B00000000000000000000000000000000000EB
+:1055C00000000000000000000000000000000000DB
+:1055D00000000000000000000000000000000000CB
+:1055E00000000000000000000000000000000000BB
+:1055F00000000000000000000000000000000000AB
+:10560000000000000000000000000000000000009A
+:10561000000000000000000000000000000000008A
+:10562000000000000000000000000000000000007A
+:10563000000000000000000000000000000000006A
+:10564000000000000000000000000000000000005A
+:10565000000000000000000000000000000000004A
+:10566000000000000000000000000000000000003A
+:10567000000000000000000000000000000000002A
+:10568000000000000000000000000000000000001A
+:10569000000000000000000000000000000000000A
+:1056A00000000000000000000000000000000000FA
+:1056B00000000000000000000000000000000000EA
+:1056C00000000000000000000000000000000000DA
+:1056D00000000000000000000000000000000000CA
+:1056E00000000000000000000000000000000000BA
+:1056F00000000000000000000000000000000000AA
+:105700000000000000000000000000000000000099
+:105710000000000000000000000000000000000089
+:105720000000000000000000000000000000000079
+:105730000000000000000000000000000000000069
+:105740000000000000000000000000000000000059
+:105750000000000000000000000000000000000049
+:105760000000000000000000000000000000000039
+:105770000000000000000000000000000000000029
+:105780000000000000000000000000000000000019
+:105790000000000000000000000000000000000009
+:1057A00000000000000000000000000000000000F9
+:1057B00000000000000000000000000000000000E9
+:1057C00000000000000000000000000000000000D9
+:1057D00000000000000000000000000000000000C9
+:1057E00000000000000000000000000000000000B9
+:1057F00000000000000000000000000000000000A9
+:105800000000000000000000000000000000000098
+:105810000000000000000000000000000000000088
+:105820000000000000000000000000000000000078
+:105830000000000000000000000000000000000068
+:105840000000000000000000000000000000000058
+:105850000000000000000000000000000000000048
+:105860000000000000000000000000000000000038
+:105870000000000000000000000000000000000028
+:105880000000000000000000000000000000000018
+:105890000000000000000000000000000000000008
+:1058A00000000000000000000000000000000000F8
+:1058B00000000000000000000000000000000000E8
+:1058C00000000000000000000000000000000000D8
+:1058D00000000000000000000000000000000000C8
+:1058E00000000000000000000000000000000000B8
+:1058F00000000000000000000000000000000000A8
+:105900000000000000000000000000000000000097
+:105910000000000000000000000000000000000087
+:105920000000000000000000000000000000000077
+:105930000000000000000000000000000000000067
+:105940000000000000000000000000000000000057
+:105950000000000000000000000000000000000047
+:105960000000000000000000000000000000000037
+:105970000000000000000000000000000000000027
+:105980000000000000000000000000000000000017
+:105990000000000000000000000000000000000007
+:1059A00000000000000000000000000000000000F7
+:1059B00000000000000000000000000000000000E7
+:1059C00000000000000000000000000000000000D7
+:1059D00000000000000000000000000000000000C7
+:1059E00000000000000000000000000000000000B7
+:1059F00000000000000000000000000000000000A7
+:105A00000000000000000000000000000000000096
+:105A10000000000000000000000000000000000086
+:105A20000000000000000000000000000000000076
+:105A30000000000000000000000000000000000066
+:105A40000000000000000000000000000000000056
+:105A50000000000000000000000000000000000046
+:105A60000000000000000000000000000000000036
+:105A70000000000000000000000000000000000026
+:105A80000000000000000000000000000000000016
+:105A90000000000000000000000000000000000006
+:105AA00000000000000000000000000000000000F6
+:105AB00000000000000000000000000000000000E6
+:105AC00000000000000000000000000000000000D6
+:105AD00000000000000000000000000000000000C6
+:105AE00000000000000000000000000000000000B6
+:105AF00000000000000000000000000000000000A6
+:105B00000000000000000000000000000000000095
+:105B10000000000000000000000000000000000085
+:105B20000000000000000000000000000000000075
+:105B30000000000000000000000000000000000065
+:105B40000000000000000000000000000000000055
+:105B50000000000000000000000000000000000045
+:105B60000000000000000000000000000000000035
+:105B70000000000000000000000000000000000025
+:105B80000000000000000000000000000000000015
+:105B90000000000000000000000000000000000005
+:105BA00000000000000000000000000000000000F5
+:105BB00000000000000000000000000000000000E5
+:105BC00000000000000000000000000000000000D5
+:105BD00000000000000000000000000000000000C5
+:105BE00000000000000000000000000000000000B5
+:105BF00000000000000000000000000000000000A5
+:105C00000000000000000000000000000000000094
+:105C10000000000000000000000000000000000084
+:105C20000000000000000000000000000000000074
+:105C30000000000000000000000000000000000064
+:105C40000000000000000000000000000000000054
+:105C50000000000000000000000000000000000044
+:105C60000000000000000000000000000000000034
+:105C70000000000000000000000000000000000024
+:105C80000000000000000000000000000000000014
+:105C90000000000000000000000000000000000004
+:105CA00000000000000000000000000000000000F4
+:105CB00000000000000000000000000000000000E4
+:105CC00000000000000000000000000000000000D4
+:105CD00000000000000000000000000000000000C4
+:105CE00000000000000000000000000000000000B4
+:105CF00000000000000000000000000000000000A4
+:105D00000000000000000000000000000000000093
+:105D10000000000000000000000000000000000083
+:105D20000000000000000000000000000000000073
+:105D30000000000000000000000000000000000063
+:105D40000000000000000000000000000000000053
+:105D50000000000000000000000000000000000043
+:105D60000000000000000000000000000000000033
+:105D70000000000000000000000000000000000023
+:105D80000000000000000000000000000000000013
+:105D90000000000000000000000000000000000003
+:105DA00000000000000000000000000000000000F3
+:105DB00000000000000000000000000000000000E3
+:105DC00000000000000000000000000000000000D3
+:105DD00000000000000000000000000000000000C3
+:105DE00000000000000000000000000000000000B3
+:105DF00000000000000000000000000000000000A3
+:105E00000000000000000000000000000000000092
+:105E10000000000000000000000000000000000082
+:105E20000000000000000000000000000000000072
+:105E30000000000000000000000000000000000062
+:105E40000000000000000000000000000000000052
+:105E50000000000000000000000000000000000042
+:105E60000000000000000000000000000000000032
+:105E70000000000000000000000000000000000022
+:105E80000000000000000000000000000000000012
+:105E90000000000000000000000000000000000002
+:105EA00000000000000000000000000000000000F2
+:105EB00000000000000000000000000000000000E2
+:105EC00000000000000000000000000000000000D2
+:105ED00000000000000000000000000000000000C2
+:105EE00000000000000000000000000000000000B2
+:105EF00000000000000000000000000000000000A2
+:105F00000000000000000000000000000000000091
+:105F10000000000000000000000000000000000081
+:105F20000000000000000000000000000000000071
+:105F30000000000000000000000000000000000061
+:105F40000000000000000000000000000000000051
+:105F50000000000000000000000000000000000041
+:105F60000000000000000000000000000000000031
+:105F70000000000000000000000000000000000021
+:105F80000000000000000000000000000000000011
+:105F90000000000000000000000000000000000001
+:105FA00000000000000000000000000000000000F1
+:105FB00000000000000000000000000000000000E1
+:105FC00000000000000000000000000000000000D1
+:105FD00000000000000000000000000000000000C1
+:105FE00000000000000000000000000000000000B1
+:105FF00000000000000000000000000000000000A1
+:106000000000000000000000000000000000000090
+:106010000000000000000000000000000000000080
+:106020000000000000000000000000000000000070
+:106030000000000000000000000000000000000060
+:106040000000000000000000000000000000000050
+:106050000000000000000000000000000000000040
+:106060000000000000000000000000000000000030
+:106070000000000000000000000000000000000020
+:106080000000000000000000000000000000000010
+:106090000000000000000000000000000000000000
+:1060A00000000000000000000000000000000000F0
+:1060B00000000000000000000000000000000000E0
+:1060C00000000000000000000000000000000000D0
+:1060D00000000000000000000000000000000000C0
+:1060E00000000000000000000000000000000000B0
+:1060F00000000000000000000000000000000000A0
+:10610000000000000000000000000000000000008F
+:10611000000000000000000000000000000000007F
+:10612000000000000000000000000000000000006F
+:10613000000000000000000000000000000000005F
+:10614000000000000000000000000000000000004F
+:10615000000000000000000000000000000000003F
+:10616000000000000000000000000000000000002F
+:10617000000000000000000000000000000000001F
+:10618000000000000000000000000000000000000F
+:1061900000000000000000000000000000000000FF
+:1061A00000000000000000000000000000000000EF
+:1061B00000000000000000000000000000000000DF
+:1061C00000000000000000000000000000000000CF
+:1061D00000000000000000000000000000000000BF
+:1061E00000000000000000000000000000000000AF
+:1061F000000000000000000000000000000000009F
+:10620000000000000000000000000000000000008E
+:10621000000000000000000000000000000000007E
+:10622000000000000000000000000000000000006E
+:10623000000000000000000000000000000000005E
+:10624000000000000000000000000000000000004E
+:10625000000000000000000000000000000000003E
+:10626000000000000000000000000000000000002E
+:10627000000000000000000000000000000000001E
+:10628000000000000000000000000000000000000E
+:1062900000000000000000000000000000000000FE
+:1062A00000000000000000000000000000000000EE
+:1062B00000000000000000000000000000000000DE
+:1062C00000000000000000000000000000000000CE
+:1062D00000000000000000000000000000000000BE
+:1062E00000000000000000000000000000000000AE
+:1062F000000000000000000000000000000000009E
+:10630000000000000000000000000000000000008D
+:10631000000000000000000000000000000000007D
+:10632000000000000000000000000000000000006D
+:10633000000000000000000000000000000000005D
+:10634000000000000000000000000000000000004D
+:10635000000000000000000000000000000000003D
+:10636000000000000000000000000000000000002D
+:10637000000000000000000000000000000000001D
+:10638000000000000000000000000000000000000D
+:1063900000000000000000000000000000000000FD
+:1063A00000000000000000000000000000000000ED
+:1063B00000000000000000000000000000000000DD
+:1063C00000000000000000000000000000000000CD
+:1063D00000000000000000000000000000000000BD
+:1063E00000000000000000000000000000000000AD
+:1063F000000000000000000000000000000000009D
+:10640000000000000000000000000000000000008C
+:10641000000000000000000000000000000000007C
+:10642000000000000000000000000000000000006C
+:10643000000000000000000000000000000000005C
+:10644000000000000000000000000000000000004C
+:10645000000000000000000000000000000000003C
+:10646000000000000000000000000000000000002C
+:10647000000000000000000000000000000000001C
+:10648000000000000000000000000000000000000C
+:1064900000000000000000000000000000000000FC
+:1064A00000000000000000000000000000000000EC
+:1064B00000000000000000000000000000000000DC
+:1064C00000000000000000000000000000000000CC
+:1064D00000000000000000000000000000000000BC
+:1064E00000000000000000000000000000000000AC
+:1064F000000000000000000000000000000000009C
+:10650000000000000000000000000000000000008B
+:10651000000000000000000000000000000000007B
+:10652000000000000000000000000000000000006B
+:106530000000000000000000010101010101010153
+:10654000010101010101010101010101010101013B
+:10655000010101010101010101010101010101012B
+:10656000010101010101010101010101010101011B
+:10657000010101010101010101010101010101010B
+:1065800001010101010101010101010101010101FB
+:1065900001010101010101010101010101010101EB
+:1065A00001010101010101010101010101010101DB
+:1065B00001010101010101010101010101010101CB
+:1065C00001010101010101010101010101010101BB
+:1065D00001010101010101010101010101010101AB
+:1065E000010101010101010101010101010101019B
+:1065F000010101010101010101010101010101018B
+:10660000010101010101010101010101010101017A
+:10661000010101010101010101010101010101016A
+:10662000010101010101010101010101010101015A
+:10663000010101010101010101010101010101014A
+:10664000010101010101010101010101010101013A
+:10665000010101010101010101010101010101012A
+:10666000010101010101010101010101010101011A
+:10667000010101010101010101010101010101010A
+:1066800001010101010101010101010101010101FA
+:1066900001010101010101010101010101010101EA
+:1066A00001010101010101010101010101010101DA
+:1066B00001010101010101010101010101010101CA
+:1066C00001010101010101010101010101010101BA
+:1066D00001010101010101010101010101010101AA
+:1066E000010101010101010101010101010101019A
+:1066F000010101010101010101010101010101018A
+:106700000101010101010101010101010101010179
+:106710000101010101010101010101010101010169
+:106720000101010101010101010101010101010159
+:106730000101010101010101010101010101010149
+:106740000101010101010101010101010101010139
+:106750000101010101010101010101010101010129
+:106760000101010101010101010101010101010119
+:106770000101010101010101010101010101010109
+:1067800001010101010101010101010101010101F9
+:1067900001010101010101010101010101010101E9
+:1067A00001010101010101010101010101010101D9
+:1067B00001010101010101010101010101010101C9
+:1067C00001010101010101010101010101010101B9
+:1067D00001010101010101010101010101010101A9
+:1067E0000101010101010101010101010101010199
+:1067F0000101010101010101010101010101010189
+:106800000101010101010101010101010101010178
+:106810000101010101010101010101010101010168
+:106820000101010101010101010101010101010158
+:106830000101010101010101010101010101010148
+:106840000101010101010101010101010101010138
+:106850000101010101010101010101010101010128
+:106860000101010101010101010101010101010118
+:106870000101010101010101010101010101010108
+:1068800001010101010101010101010101010101F8
+:1068900001010101010101010101010101010101E8
+:1068A00001010101010101010101010101010101D8
+:1068B00001010101010101010101010101010101C8
+:1068C00001010101010101010101010101010101B8
+:1068D00001010101010101010101010101010101A8
+:1068E0000101010101010101010101010101010198
+:1068F0000101010101010101010101010101010188
+:106900000101010101010101010101010101010177
+:106910000101010101010101010101010101010167
+:106920000101010101010101010101010101010157
+:10693000010101010101010100000000000000004F
+:106940000000000000000000000000000000000047
+:106950000000000000000000000000000000000037
+:106960000000000000000000000000000000000027
+:106970000000000000000000000000000000000017
+:106980000000000000000000000000000000000007
+:1069900000000000000000000000000000000000F7
+:1069A00000000000000000000000000000000000E7
+:1069B00000000000000000000000000000000000D7
+:1069C00000000000000000000000000000000000C7
+:1069D00000000000000000000000000000000000B7
+:1069E00000000000000000000000000000000000A7
+:1069F0000000000000000000000000000000000097
+:106A00000000000000000000000000000000000086
+:106A10000000000000000000000000000000000076
+:106A20000000000000000000000000000000000066
+:106A30000000000000000000000000000000000056
+:106A40000000000000000000000000000000000046
+:106A50000000000000000000000000000000000036
+:106A60000000000000000000000000000000000026
+:106A70000000000000000000000000000000000016
+:106A80000000000000000000000000000000000006
+:106A900000000000000000000000000000000000F6
+:106AA00000000000000000000000000000000000E6
+:106AB00000000000000000000000000000000000D6
+:106AC00000000000000000000000000000000000C6
+:106AD00000000000000000000000000000000000B6
+:106AE00000000000000000000000000000000000A6
+:106AF0000000000000000000000000000000000096
+:106B00000000000000000000000000000000000085
+:106B10000000000000000000000000000000000075
+:106B20000000000000000000000000000000000065
+:106B30000000000000000000000000000000000055
+:106B40000000000000000000000000000000000045
+:106B50000000000000000000000000000000000035
+:106B60000000000000000000000000000000000025
+:106B70000000000000000000000000000000000015
+:106B80000000000000000000000000000000000005
+:106B900000000000000000000000000000000000F5
+:106BA00000000000000000000000000000000000E5
+:106BB00000000000000000000000000000000000D5
+:106BC00000000000000000000000000000000000C5
+:106BD00000000000000000000000000000000000B5
+:106BE00000000000000000000000000000000000A5
+:106BF0000000000000000000000000000000000095
+:106C00000000000000000000000000000000000084
+:106C10000000000000000000000000000000000074
+:106C20000000000000000000000000000000000064
+:106C30000000000000000000000000000000000054
+:106C40000000000000000000000000000000000044
+:106C50000000000000000000000000000000000034
+:106C60000000000000000000000000000000000024
+:106C70000000000000000000000000000000000014
+:106C80000000000000000000000000000000000004
+:106C900000000000000000000000000000000000F4
+:106CA00000000000000000000000000000000000E4
+:106CB00000000000000000000000000000000000D4
+:106CC00000000000000000000000000000000000C4
+:106CD00000000000000000000000000000000000B4
+:106CE00000000000000000000000000000000000A4
+:106CF0000000000000000000000000000000000094
+:106D00000000000000000000000000000000000083
+:106D10000000000000000000000000000000000073
+:106D20000000000000000000000000000000000063
+:106D30000000000000000000000000000000000053
+:106D40000000000000000000000000000000000043
+:106D50000000000000000000000000000000000033
+:106D60000000000000000000000000000000000023
+:106D70000000000000000000000000000000000013
+:106D80000000000000000000000000000000000003
+:106D900000000000000000000000000000000000F3
+:106DA00000000000000000000000000000000000E3
+:106DB00000000000000000000000000000000000D3
+:106DC00000000000000000000000000000000000C3
+:106DD00000000000000000000000000000000000B3
+:106DE00000000000000000000000000000000000A3
+:106DF0000000000000000000000000000000000093
+:106E00000000000000000000000000000000000082
+:106E10000000000000000000000000000000000072
+:106E20000000000000000000000000000000000062
+:106E30000000000000000000000000000000000052
+:106E40000000000000000000000000000000000042
+:106E50000000000000000000000000000000000032
+:106E60000000000000000000000000000000000022
+:106E70000000000000000000000000000000000012
+:106E80000000000000000000000000000000000002
+:106E900000000000000000000000000000000000F2
+:106EA00000000000000000000000000000000000E2
+:106EB00000000000000000000000000000000000D2
+:106EC00000000000000000000000000000000000C2
+:106ED00000000000000000000000000000000000B2
+:106EE00000000000000000000000000000000000A2
+:106EF0000000000000000000000000000000000092
+:106F00000000000000000000000000000000000081
+:106F10000000000000000000000000000000000071
+:106F20000000000000000000000000000000000061
+:106F30000000000000000000000000000000000051
+:106F40000000000000000000000000000000000041
+:106F50000000000000000000000000000000000031
+:106F60000000000000000000000000000000000021
+:106F70000000000000000000000000000000000011
+:106F80000000000000000000000000000000000001
+:106F900000000000000000000000000000000000F1
+:106FA00000000000000000000000000000000000E1
+:106FB00000000000000000000000000000000000D1
+:106FC00000000000000000000000000000000000C1
+:106FD00000000000000000000000000000000000B1
+:106FE00000000000000000000000000000000000A1
+:106FF0000000000000000000000000000000000091
+:107000000000000000000000000000000000000080
+:107010000000000000000000000000000000000070
+:107020000000000000000000000000000000000060
+:107030000000000000000000020202020202020240
+:107040000202020202020202020202020202020220
+:107050000202020202020202020202020202020210
+:107060000202020202020202020202020202020200
+:1070700002020202020202020202020202020202F0
+:1070800002020202020202020202020202020202E0
+:1070900002020202020202020202020202020202D0
+:1070A00002020202020202020202020202020202C0
+:1070B00002020202020202020202020202020202B0
+:1070C00002020202020202020202020202020202A0
+:1070D0000202020202020202020202020202020290
+:1070E0000202020202020202020202020202020280
+:1070F0000202020202020202020202020202020270
+:10710000020202020202020202020202020202025F
+:10711000020202020202020202020202020202024F
+:10712000020202020202020202020202020202023F
+:10713000020202020202020202020202020202022F
+:10714000020202020202020202020202020202021F
+:10715000020202020202020202020202020202020F
+:1071600002020202020202020202020202020202FF
+:1071700002020202020202020202020202020202EF
+:1071800002020202020202020202020202020202DF
+:1071900002020202020202020202020202020202CF
+:1071A00002020202020202020202020202020202BF
+:1071B00002020202020202020202020202020202AF
+:1071C000020202020202020202020202020202029F
+:1071D000020202020202020202020202020202028F
+:1071E000020202020202020202020202020202027F
+:1071F000020202020202020202020202020202026F
+:10720000020202020202020202020202020202025E
+:10721000020202020202020202020202020202024E
+:10722000020202020202020202020202020202023E
+:10723000020202020202020202020202020202022E
+:10724000020202020202020202020202020202021E
+:10725000020202020202020202020202020202020E
+:1072600002020202020202020202020202020202FE
+:1072700002020202020202020202020202020202EE
+:1072800002020202020202020202020202020202DE
+:1072900002020202020202020202020202020202CE
+:1072A00002020202020202020202020202020202BE
+:1072B00002020202020202020202020202020202AE
+:1072C000020202020202020202020202020202029E
+:1072D000020202020202020202020202020202028E
+:1072E000020202020202020202020202020202027E
+:1072F000020202020202020202020202020202026E
+:10730000020202020202020202020202020202025D
+:10731000020202020202020202020202020202024D
+:10732000020202020202020202020202020202023D
+:10733000020202020202020202020202020202022D
+:10734000020202020202020202020202020202021D
+:10735000020202020202020202020202020202020D
+:1073600002020202020202020202020202020202FD
+:1073700002020202020202020202020202020202ED
+:1073800002020202020202020202020202020202DD
+:1073900002020202020202020202020202020202CD
+:1073A00002020202020202020202020202020202BD
+:1073B00002020202020202020202020202020202AD
+:1073C000020202020202020202020202020202029D
+:1073D000020202020202020202020202020202028D
+:1073E000020202020202020202020202020202027D
+:1073F000020202020202020202020202020202026D
+:10740000020202020202020202020202020202025C
+:10741000020202020202020202020202020202024C
+:10742000020202020202020202020202020202023C
+:10743000020202020202020202020202020202022C
+:10744000020202020202020202020202020202021C
+:10745000020202020202020202020202020202020C
+:1074600002020202020202020202020202020202FC
+:1074700002020202020202020202020202020202EC
+:1074800002020202020202020202020202020202DC
+:1074900002020202020202020202020202020202CC
+:1074A00002020202020202020202020202020202BC
+:1074B00002020202020202020202020202020202AC
+:1074C000020202020202020202020202020202029C
+:1074D000020202020202020202020202020202028C
+:1074E000020202020202020202020202020202027C
+:1074F000020202020202020202020202020202026C
+:10750000020202020202020202020202020202025B
+:10751000020202020202020202020202020202024B
+:10752000020202020202020202020202020202023B
+:10753000020202020202020202020202020202022B
+:10754000020202020202020202020202020202021B
+:10755000020202020202020202020202020202020B
+:1075600002020202020202020202020202020202FB
+:1075700002020202020202020202020202020202EB
+:1075800002020202020202020202020202020202DB
+:1075900002020202020202020202020202020202CB
+:1075A00002020202020202020202020202020202BB
+:1075B00002020202020202020202020202020202AB
+:1075C000020202020202020202020202020202029B
+:1075D000020202020202020202020202020202028B
+:1075E000020202020202020202020202020202027B
+:1075F000020202020202020202020202020202026B
+:10760000020202020202020202020202020202025A
+:10761000020202020202020202020202020202024A
+:10762000020202020202020202020202020202023A
+:10763000020202020202020202020202020202022A
+:10764000020202020202020202020202020202021A
+:10765000020202020202020202020202020202020A
+:1076600002020202020202020202020202020202FA
+:1076700002020202020202020202020202020202EA
+:1076800002020202020202020202020202020202DA
+:1076900002020202020202020202020202020202CA
+:1076A00002020202020202020202020202020202BA
+:1076B00002020202020202020202020202020202AA
+:1076C000020202020202020202020202020202029A
+:1076D000020202020202020202020202020202028A
+:1076E000020202020202020202020202020202027A
+:1076F000020202020202020202020202020202026A
+:107700000202020202020202020202020202020259
+:107710000202020202020202020202020202020249
+:107720000202020202020202020202020202020239
+:107730000202020202020202020202020202020229
+:107740000202020202020202020202020202020219
+:107750000202020202020202020202020202020209
+:1077600002020202020202020202020202020202F9
+:1077700002020202020202020202020202020202E9
+:1077800002020202020202020202020202020202D9
+:1077900002020202020202020202020202020202C9
+:1077A00002020202020202020202020202020202B9
+:1077B00002020202020202020202020202020202A9
+:1077C0000202020202020202020202020202020299
+:1077D0000202020202020202020202020202020289
+:1077E0000202020202020202020202020202020279
+:1077F0000202020202020202020202020202020269
+:107800000202020202020202020202020202020258
+:107810000202020202020202020202020202020248
+:107820000202020202020202020202020202020238
+:107830000202020202020202000000000000000038
+:107840000000000000000000000000000000000038
+:107850000000000000000000000000000000000028
+:107860000000000000000000000000000000000018
+:107870000000000000000000000000000000000008
+:1078800000000000000000000000000000000000F8
+:1078900000000000000000000000000000000000E8
+:1078A00000000000000000000000000000000000D8
+:1078B00000000000000000000000000000000000C8
+:1078C00000000000000000000000000000000000B8
+:1078D00000000000000000000000000000000000A8
+:1078E0000000000000000000000000000000000098
+:1078F0000000000000000000000000000000000088
+:107900000000000000000000000000000000000077
+:107910000000000000000000000000000000000067
+:107920000000000000000000000000000000000057
+:107930000000000000000000000000000000000047
+:107940000000000000000000000000000000000037
+:107950000000000000000000000000000000000027
+:107960000000000000000000000000000000000017
+:107970000000000000000000000000000000000007
+:1079800000000000000000000000000000000000F7
+:1079900000000000000000000000000000000000E7
+:1079A00000000000000000000000000000000000D7
+:1079B00000000000000000000000000000000000C7
+:1079C00000000000000000000000000000000000B7
+:1079D00000000000000000000000000000000000A7
+:1079E0000000000000000000000000000000000097
+:1079F0000000000000000000000000000000000087
+:107A00000000000000000000000000000000000076
+:107A10000000000000000000000000000000000066
+:107A20000000000000000000000000000000000056
+:107A30000000000000000000000000000000000046
+:107A40000000000000000000000000000000000036
+:107A50000000000000000000000000000000000026
+:107A60000000000000000000000000000000000016
+:107A70000000000000000000000000000000000006
+:107A800000000000000000000000000000000000F6
+:107A900000000000000000000000000000000000E6
+:107AA00000000000000000000000000000000000D6
+:107AB00000000000000000000000000000000000C6
+:107AC00000000000000000000000000000000000B6
+:107AD00000000000000000000000000000000000A6
+:107AE0000000000000000000000000000000000096
+:107AF0000000000000000000000000000000000086
+:107B00000000000000000000000000000000000075
+:107B10000000000000000000000000000000000065
+:107B20000000000000000000000000000000000055
+:107B30000000000000000000000000000000000045
+:107B40000000000000000000000000000000000035
+:107B50000000000000000000000000000000000025
+:107B60000000000000000000000000000000000015
+:107B70000000000000000000000000000000000005
+:107B800000000000000000000000000000000000F5
+:107B900000000000000000000000000000000000E5
+:107BA00000000000000000000000000000000000D5
+:107BB00000000000000000000000000000000000C5
+:107BC00000000000000000000000000000000000B5
+:107BD00000000000000000000000000000000000A5
+:107BE0000000000000000000000000000000000095
+:107BF0000000000000000000000000000000000085
+:107C00000000000000000000000000000000000074
+:107C10000000000000000000000000000000000064
+:107C20000000000000000000000000000000000054
+:107C30000000000000000000000000000000000044
+:107C40000000000000000000000000000000000034
+:107C50000000000000000000000000000000000024
+:107C60000000000000000000000000000000000014
+:107C70000000000000000000000000000000000004
+:107C800000000000000000000000000000000000F4
+:107C900000000000000000000000000000000000E4
+:107CA00000000000000000000000000000000000D4
+:107CB00000000000000000000000000000000000C4
+:107CC00000000000000000000000000000000000B4
+:107CD00000000000000000000000000000000000A4
+:107CE0000000000000000000000000000000000094
+:107CF0000000000000000000000000000000000084
+:107D00000000000000000000000000000000000073
+:107D10000000000000000000000000000000000063
+:107D20000000000000000000000000000000000053
+:107D30000000000000000000000000000000000043
+:107D40000000000000000000000000000000000033
+:107D50000000000000000000000000000000000023
+:107D60000000000000000000000000000000000013
+:107D70000000000000000000000000000000000003
+:107D800000000000000000000000000000000000F3
+:107D900000000000000000000000000000000000E3
+:107DA00000000000000000000000000000000000D3
+:107DB00000000000000000000000000000000000C3
+:107DC00000000000000000000000000000000000B3
+:107DD00000000000000000000000000000000000A3
+:107DE0000000000000000000000000000000000093
+:107DF0000000000000000000000000000000000083
+:107E00000000000000000000000000000000000072
+:107E10000000000000000000000000000000000062
+:107E20000000000000000000000000000000000052
+:107E30000000000000000000000000000000000042
+:107E40000000000000000000000000000000000032
+:107E50000000000000000000000000000000000022
+:107E60000000000000000000000000000000000012
+:107E70000000000000000000000000000000000002
+:107E800000000000000000000000000000000000F2
+:107E900000000000000000000000000000000000E2
+:107EA00000000000000000000000000000000000D2
+:107EB00000000000000000000000000000000000C2
+:107EC00000000000000000000000000000000000B2
+:107ED00000000000000000000000000000000000A2
+:107EE0000000000000000000000000000000000092
+:107EF0000000000000000000000000000000000082
+:107F00000000000000000000000000000000000071
+:107F10000000000000000000000000000000000061
+:107F20000000000000000000000000000000000051
+:107F30000000000000000000000000000000000041
+:107F40000000000000000000000000000000000031
+:107F50000000000000000000000000000000000021
+:107F60000000000000000000000000000000000011
+:107F70000000000000000000000000000000000001
+:107F800000000000000000000000000000000000F1
+:107F900000000000000000000000000000000000E1
+:107FA00000000000000000000000000000000000D1
+:107FB00000000000000000000000000000000000C1
+:107FC00000000000000000000000000000000000B1
+:107FD00000000000000000000000000000000000A1
+:107FE0000000000000000000000000000000000091
+:107FF0000000000000000000000000000000000081
+:108000000000000000000000000000000000000070
+:108010000000000000000000000000000000000060
+:108020000000000000000000000000000000000050
+:108030000000000000000000000000000000000040
+:108040000000000000000000000000000000000030
+:108050000000000000000000000000000000000020
+:108060000000000000000000000000000000000010
+:108070000000000000000000000000000000000000
+:1080800000000000000000000000000000000000F0
+:1080900000000000000000000000000000000000E0
+:1080A00000000000000000000000000000000000D0
+:1080B00000000000000000000000000000000000C0
+:1080C00000000000000000000000000000000000B0
+:1080D00000000000000000000000000000000000A0
+:1080E0000000000000000000000000000000000090
+:1080F0000000000000000000000000000000000080
+:10810000000000000000000000000000000000006F
+:10811000000000000000000000000000000000005F
+:10812000000000000000000000000000000000004F
+:108130000000000000000000010101010101010137
+:10814000010101010101010101010101010101011F
+:10815000010101010101010101010101010101010F
+:1081600001010101010101010101010101010101FF
+:1081700001010101010101010101010101010101EF
+:1081800001010101010101010101010101010101DF
+:1081900001010101010101010101010101010101CF
+:1081A00001010101010101010101010101010101BF
+:1081B00001010101010101010101010101010101AF
+:1081C000010101010101010101010101010101019F
+:1081D000010101010101010101010101010101018F
+:1081E000010101010101010101010101010101017F
+:1081F000010101010101010101010101010101016F
+:10820000010101010101010101010101010101015E
+:10821000010101010101010101010101010101014E
+:10822000010101010101010101010101010101013E
+:10823000010101010101010101010101010101012E
+:10824000010101010101010101010101010101011E
+:10825000010101010101010101010101010101010E
+:1082600001010101010101010101010101010101FE
+:1082700001010101010101010101010101010101EE
+:1082800001010101010101010101010101010101DE
+:1082900001010101010101010101010101010101CE
+:1082A00001010101010101010101010101010101BE
+:1082B00001010101010101010101010101010101AE
+:1082C000010101010101010101010101010101019E
+:1082D000010101010101010101010101010101018E
+:1082E000010101010101010101010101010101017E
+:1082F000010101010101010101010101010101016E
+:10830000010101010101010101010101010101015D
+:10831000010101010101010101010101010101014D
+:10832000010101010101010101010101010101013D
+:10833000010101010101010101010101010101012D
+:10834000010101010101010101010101010101011D
+:10835000010101010101010101010101010101010D
+:1083600001010101010101010101010101010101FD
+:1083700001010101010101010101010101010101ED
+:1083800001010101010101010101010101010101DD
+:1083900001010101010101010101010101010101CD
+:1083A00001010101010101010101010101010101BD
+:1083B00001010101010101010101010101010101AD
+:1083C000010101010101010101010101010101019D
+:1083D000010101010101010101010101010101018D
+:1083E000010101010101010101010101010101017D
+:1083F000010101010101010101010101010101016D
+:10840000010101010101010101010101010101015C
+:10841000010101010101010101010101010101014C
+:10842000010101010101010101010101010101013C
+:10843000010101010101010101010101010101012C
+:10844000010101010101010101010101010101011C
+:10845000010101010101010101010101010101010C
+:1084600001010101010101010101010101010101FC
+:1084700001010101010101010101010101010101EC
+:1084800001010101010101010101010101010101DC
+:1084900001010101010101010101010101010101CC
+:1084A00001010101010101010101010101010101BC
+:1084B00001010101010101010101010101010101AC
+:1084C000010101010101010101010101010101019C
+:1084D000010101010101010101010101010101018C
+:1084E000010101010101010101010101010101017C
+:1084F000010101010101010101010101010101016C
+:10850000010101010101010101010101010101015B
+:10851000010101010101010101010101010101014B
+:10852000010101010101010101010101010101013B
+:108530000101010101010101000000000000000033
+:10854000000000000000000000000000000000002B
+:10855000000000000000000000000000000000001B
+:10856000000000000000000000000000000000000B
+:1085700000000000000000000000000000000000FB
+:1085800000000000000000000000000000000000EB
+:1085900000000000000000000000000000000000DB
+:1085A00000000000000000000000000000000000CB
+:1085B00000000000000000000000000000000000BB
+:1085C00000000000000000000000000000000000AB
+:1085D000000000000000000000000000000000009B
+:1085E000000000000000000000000000000000008B
+:1085F000000000000000000000000000000000007B
+:10860000000000000000000000000000000000006A
+:10861000000000000000000000000000000000005A
+:10862000000000000000000000000000000000004A
+:10863000000000000000000000000000000000003A
+:10864000000000000000000000000000000000002A
+:10865000000000000000000000000000000000001A
+:10866000000000000000000000000000000000000A
+:1086700000000000000000000000000000000000FA
+:1086800000000000000000000000000000000000EA
+:1086900000000000000000000000000000000000DA
+:1086A00000000000000000000000000000000000CA
+:1086B00000000000000000000000000000000000BA
+:1086C00000000000000000000000000000000000AA
+:1086D000000000000000000000000000000000009A
+:1086E000000000000000000000000000000000008A
+:1086F000000000000000000000000000000000007A
+:108700000000000000000000000000000000000069
+:108710000000000000000000000000000000000059
+:108720000000000000000000000000000000000049
+:108730000000000000000000000000000000000039
+:108740000000000000000000000000000000000029
+:108750000000000000000000000000000000000019
+:108760000000000000000000000000000000000009
+:1087700000000000000000000000000000000000F9
+:1087800000000000000000000000000000000000E9
+:1087900000000000000000000000000000000000D9
+:1087A00000000000000000000000000000000000C9
+:1087B00000000000000000000000000000000000B9
+:1087C00000000000000000000000000000000000A9
+:1087D0000000000000000000000000000000000099
+:1087E0000000000000000000000000000000000089
+:1087F0000000000000000000000000000000000079
+:108800000000000000000000000000000000000068
+:108810000000000000000000000000000000000058
+:108820000000000000000000000000000000000048
+:108830000000000000000000000000000000000038
+:108840000000000000000000000000000000000028
+:108850000000000000000000000000000000000018
+:108860000000000000000000000000000000000008
+:1088700000000000000000000000000000000000F8
+:1088800000000000000000000000000000000000E8
+:1088900000000000000000000000000000000000D8
+:1088A00000000000000000000000000000000000C8
+:1088B00000000000000000000000000000000000B8
+:1088C00000000000000000000000000000000000A8
+:1088D0000000000000000000000000000000000098
+:1088E0000000000000000000000000000000000088
+:1088F0000000000000000000000000000000000078
+:108900000000000000000000000000000000000067
+:108910000000000000000000000000000000000057
+:108920000000000000000000000000000000000047
+:108930000000000000000000000000000000000037
+:108940000000000000000000000000000000000027
+:108950000000000000000000000000000000000017
+:108960000000000000000000000000000000000007
+:1089700000000000000000000000000000000000F7
+:1089800000000000000000000000000000000000E7
+:1089900000000000000000000000000000000000D7
+:1089A00000000000000000000000000000000000C7
+:1089B00000000000000000000000000000000000B7
+:1089C00000000000000000000000000000000000A7
+:1089D0000000000000000000000000000000000097
+:1089E0000000000000000000000000000000000087
+:1089F0000000000000000000000000000000000077
+:108A00000000000000000000000000000000000066
+:108A10000000000000000000000000000000000056
+:108A20000000000000000000000000000000000046
+:108A30000000000000000000000000000000000036
+:108A40000000000000000000000000000000000026
+:108A50000000000000000000000000000000000016
+:108A60000000000000000000000000000000000006
+:108A700000000000000000000000000000000000F6
+:108A800000000000000000000000000000000000E6
+:108A900000000000000000000000000000000000D6
+:108AA00000000000000000000000000000000000C6
+:108AB00000000000000000000000000000000000B6
+:108AC00000000000000000000000000000000000A6
+:108AD0000000000000000000000000000000000096
+:108AE0000000000000000000000000000000000086
+:108AF0000000000000000000000000000000000076
+:108B00000000000000000000000000000000000065
+:108B10000000000000000000000000000000000055
+:108B20000000000000000000000000000000000045
+:108B30000000000000000000000000000000000035
+:108B40000000000000000000000000000000000025
+:108B50000000000000000000000000000000000015
+:108B60000000000000000000000000000000000005
+:108B700000000000000000000000000000000000F5
+:108B800000000000000000000000000000000000E5
+:108B900000000000000000000000000000000000D5
+:108BA00000000000000000000000000000000000C5
+:108BB00000000000000000000000000000000000B5
+:108BC00000000000000000000000000000000000A5
+:108BD0000000000000000000000000000000000095
+:108BE0000000000000000000000000000000000085
+:108BF0000000000000000000000000000000000075
+:108C00000000000000000000000000000000000064
+:108C10000000000000000000000000000000000054
+:108C20000000000000000000000000000000000044
+:108C30000000000000000000000000000000000034
+:108C40000000000000000000000000000000000024
+:108C50000000000000000000000000000000000014
+:108C60000000000000000000000000000000000004
+:108C700000000000000000000000000000000000F4
+:108C800000000000000000000000000000000000E4
+:108C900000000000000000000000000000000000D4
+:108CA00000000000000000000000000000000000C4
+:108CB00000000000000000000000000000000000B4
+:108CC00000000000000000000000000000000000A4
+:108CD0000000000000000000000000000000000094
+:108CE0000000000000000000000000000000000084
+:108CF0000000000000000000000000000000000074
+:108D00000000000000000000000000000000000063
+:108D10000000000000000000000000000000000053
+:108D20000000000000000000000000000000000043
+:108D30000000000000000000000000000000000033
+:108D40000000000000000000000000000000000023
+:108D50000000000000000000000000000000000013
+:108D60000000000000000000000000000000000003
+:108D700000000000000000000000000000000000F3
+:108D800000000000000000000000000000000000E3
+:108D900000000000000000000000000000000000D3
+:108DA00000000000000000000000000000000000C3
+:108DB00000000000000000000000000000000000B3
+:108DC00000000000000000000000000000000000A3
+:108DD0000000000000000000000000000000000093
+:108DE0000000000000000000000000000000000083
+:108DF0000000000000000000000000000000000073
+:108E00000000000000000000000000000000000062
+:108E10000000000000000000000000000000000052
+:108E20000000000000000000000000000000000042
+:108E30000000000000000000000000000000000032
+:108E40000000000000000000000000000000000022
+:108E50000000000000000000000000000000000012
+:108E60000000000000000000000000000000000002
+:108E700000000000000000000000000000000000F2
+:108E800000000000000000000000000000000000E2
+:108E900000000000000000000000000000000000D2
+:108EA00000000000000000000000000000000000C2
+:108EB00000000000000000000000000000000000B2
+:108EC00000000000000000000000000000000000A2
+:108ED0000000000000000000000000000000000092
+:108EE0000000000000000000000000000000000082
+:108EF0000000000000000000000000000000000072
+:108F00000000000000000000000000000000000061
+:108F10000000000000000000000000000000000051
+:108F20000000000000000000000000000000000041
+:108F30000000000000000000000000000000000031
+:108F40000000000000000000000000000000000021
+:108F50000000000000000000000000000000000011
+:108F60000000000000000000000000000000000001
+:108F700000000000000000000000000000000000F1
+:108F800000000000000000000000000000000000E1
+:108F900000000000000000000000000000000000D1
+:108FA00000000000000000000000000000000000C1
+:108FB00000000000000000000000000000000000B1
+:108FC00000000000000000000000000000000000A1
+:108FD0000000000000000000000000000000000091
+:108FE0000000000000000000000000000000000081
+:108FF0000000000000000000000000000000000071
+:109000000000000000000000000000000000000060
+:109010000000000000000000000000000000000050
+:109020000000000000000000000000000000000040
+:109030000000000000000000000000000000000030
+:109040000000000000000000000000000000000020
+:109050000000000000000000000000000000000010
+:109060000000000000000000000000000000000000
+:1090700000000000000000000000000000000000F0
+:1090800000000000000000000000000000000000E0
+:1090900000000000000000000000000000000000D0
+:1090A00000000000000000000000000000000000C0
+:1090B00000000000000000000000000000000000B0
+:1090C00000000000000000000000000000000000A0
+:1090D0000000000000000000000000000000000090
+:1090E0000000000000000000000000000000000080
+:1090F0000000000000000000000000000000000070
+:10910000000000000000000000000000000000005F
+:10911000000000000000000000000000000000004F
+:10912000000000000000000000000000000000003F
+:10913000000000000000000000000000000000002F
+:10914000000000000000000000000000000000001F
+:10915000000000000000000000000000000000000F
+:1091600000000000000000000000000000000000FF
+:1091700000000000000000000000000000000000EF
+:1091800000000000000000000000000000000000DF
+:1091900000000000000000000000000000000000CF
+:1091A00000000000000000000000000000000000BF
+:1091B00000000000000000000000000000000000AF
+:1091C000000000000000000000000000000000009F
+:1091D000000000000000000000000000000000008F
+:1091E000000000000000000000000000000000007F
+:1091F000000000000000000000000000000000006F
+:10920000000000000000000000000000000000005E
+:10921000000000000000000000000000000000004E
+:10922000000000000000000000000000000000003E
+:10923000000000000000000000000000000000002E
+:10924000000000000000000000000000000000001E
+:10925000000000000000000000000000000000000E
+:1092600000000000000000000000000000000000FE
+:1092700000000000000000000000000000000000EE
+:1092800000000000000000000000000000000000DE
+:1092900000000000000000000000000000000000CE
+:1092A00000000000000000000000000000000000BE
+:1092B00000000000000000000000000000000000AE
+:1092C000000000000000000000000000000000009E
+:1092D000000000000000000000000000000000008E
+:1092E000000000000000000000000000000000007E
+:1092F000000000000000000000000000000000006E
+:10930000000000000000000000000000000000005D
+:10931000000000000000000000000000000000004D
+:10932000000000000000000000000000000000003D
+:10933000000000000000000000000000000000002D
+:10934000000000000000000000000000000000001D
+:10935000000000000000000000000000000000000D
+:1093600000000000000000000000000000000000FD
+:1093700000000000000000000000000000000000ED
+:1093800000000000000000000000000000000000DD
+:1093900000000000000000000000000000000000CD
+:1093A00000000000000000000000000000000000BD
+:1093B00000000000000000000000000000000000AD
+:1093C000000000000000000000000000000000009D
+:1093D000000000000000000000000000000000008D
+:1093E000000000000000000000000000000000007D
+:1093F000000000000000000000000000000000006D
+:10940000000000000000000000000000000000005C
+:10941000000000000000000000000000000000004C
+:10942000000000000000000000000000000000003C
+:10943000000000000000000000000000000000002C
+:10944000000000000000000000000000000000001C
+:10945000000000000000000000000000000000000C
+:1094600000000000000000000000000000000000FC
+:1094700000000000000000000000000000000000EC
+:1094800000000000000000000000000000000000DC
+:1094900000000000000000000000000000000000CC
+:1094A00000000000000000000000000000000000BC
+:1094B00000000000000000000000000000000000AC
+:1094C000000000000000000000000000000000009C
+:1094D000000000000000000000000000000000008C
+:1094E000000000000000000000000000000000007C
+:1094F000000000000000000000000000000000006C
+:10950000000000000000000000000000000000005B
+:10951000000000000000000000000000000000004B
+:10952000000000000000000000000000000000003B
+:10953000000000000000000000000000000000002B
+:10954000000000000000000000000000000000001B
+:10955000000000000000000000000000000000000B
+:1095600000000000000000000000000000000000FB
+:1095700000000000000000000000000000000000EB
+:1095800000000000000000000000000000000000DB
+:1095900000000000000000000000000000000000CB
+:1095A00000000000000000000000000000000000BB
+:1095B00000000000000000000000000000000000AB
+:1095C000000000000000000000000000000000009B
+:1095D000000000000000000000000000000000008B
+:1095E000000000000000000000000000000000007B
+:1095F000000000000000000000000000000000006B
+:10960000000000000000000000000000000000005A
+:10961000000000000000000000000000000000004A
+:10962000000000000000000000000000000000003A
+:10963000000000000000000000000000000000002A
+:10964000000000000000000000000000000000001A
+:10965000000000000000000000000000000000000A
+:1096600000000000000000000000000000000000FA
+:1096700000000000000000000000000000000000EA
+:1096800000000000000000000000000000000000DA
+:1096900000000000000000000000000000000000CA
+:1096A00000000000000000000000000000000000BA
+:1096B00000000000000000000000000000000000AA
+:1096C000000000000000000000000000000000009A
+:1096D000000000000000000000000000000000008A
+:1096E000000000000000000000000000000000007A
+:1096F000000000000000000000000000000000006A
+:109700000000000000000000000000000000000059
+:109710000000000000000000000000000000000049
+:109720000000000000000000000000000000000039
+:109730000000000000000000000000000000000029
+:109740000000000000000000000000000000000019
+:109750000000000000000000000000000000000009
+:1097600000000000000000000000000000000000F9
+:1097700000000000000000000000000000000000E9
+:1097800000000000000000000000000000000000D9
+:1097900000000000000000000000000000000000C9
+:1097A00000000000000000000000000000000000B9
+:1097B00000000000000000000000000000000000A9
+:1097C0000000000000000000000000000000000099
+:1097D0000000000000000000000000000000000089
+:1097E0000000000000000000000000000000000079
+:1097F0000000000000000000000000000000000069
+:109800000000000000000000000000000000000058
+:109810000000000000000000000000000000000048
+:109820000000000000000000000000000000000038
+:109830000000000000000000000000000000000028
+:109840000000000000000000000000000000000018
+:109850000000000000000000000000000000000008
+:1098600000000000000000000000000000000000F8
+:1098700000000000000000000000000000000000E8
+:1098800000000000000000000000000000000000D8
+:1098900000000000000000000000000000000000C8
+:1098A00000000000000000000000000000000000B8
+:1098B00000000000000000000000000000000000A8
+:1098C0000000000000000000000000000000000098
+:1098D0000000000000000000000000000000000088
+:1098E0000000000000000000000000000000000078
+:1098F0000000000000000000000000000000000068
+:109900000000000000000000000000000000000057
+:109910000000000000000000000000000000000047
+:109920000000000000000000000000000000000037
+:109930000000000000000000000000000000000027
+:109940000000000000000000000000000000000017
+:109950000000000000000000000000000000000007
+:1099600000000000000000000000000000000000F7
+:1099700000000000000000000000000000000000E7
+:1099800000000000000000000000000000000000D7
+:1099900000000000000000000000000000000000C7
+:1099A00000000000000000000000000000000000B7
+:1099B00000000000000000000000000000000000A7
+:1099C0000000000000000000000000000000000097
+:1099D0000000000000000000000000000000000087
+:1099E0000000000000000000000000000000000077
+:1099F0000000000000000000000000000000000067
+:109A00000000000000000000000000000000000056
+:109A10000000000000000000000000000000000046
+:109A20000000000000000000000000000000000036
+:109A3000000000000000000001010101010101011E
+:109A40000101010101010101010101010101010106
+:109A500001010101010101010101010101010101F6
+:109A600001010101010101010101010101010101E6
+:109A700001010101010101010101010101010101D6
+:109A800001010101010101010101010101010101C6
+:109A900001010101010101010101010101010101B6
+:109AA00001010101010101010101010101010101A6
+:109AB0000101010101010101010101010101010196
+:109AC0000101010101010101010101010101010186
+:109AD0000101010101010101010101010101010176
+:109AE0000101010101010101010101010101010166
+:109AF0000101010101010101010101010101010156
+:109B00000101010101010101010101010101010145
+:109B10000101010101010101010101010101010135
+:109B20000101010101010101010101010101010125
+:109B30000101010101010101010101010101010115
+:109B40000101010101010101010101010101010105
+:109B500001010101010101010101010101010101F5
+:109B600001010101010101010101010101010101E5
+:109B700001010101010101010101010101010101D5
+:109B800001010101010101010101010101010101C5
+:109B900001010101010101010101010101010101B5
+:109BA00001010101010101010101010101010101A5
+:109BB0000101010101010101010101010101010195
+:109BC0000101010101010101010101010101010185
+:109BD0000101010101010101010101010101010175
+:109BE0000101010101010101010101010101010165
+:109BF0000101010101010101010101010101010155
+:109C00000101010101010101010101010101010144
+:109C10000101010101010101010101010101010134
+:109C20000101010101010101010101010101010124
+:109C30000101010101010101010101010101010114
+:109C40000101010101010101010101010101010104
+:109C500001010101010101010101010101010101F4
+:109C600001010101010101010101010101010101E4
+:109C700001010101010101010101010101010101D4
+:109C800001010101010101010101010101010101C4
+:109C900001010101010101010101010101010101B4
+:109CA00001010101010101010101010101010101A4
+:109CB0000101010101010101010101010101010194
+:109CC0000101010101010101010101010101010184
+:109CD0000101010101010101010101010101010174
+:109CE0000101010101010101010101010101010164
+:109CF0000101010101010101010101010101010154
+:109D00000101010101010101010101010101010143
+:109D10000101010101010101010101010101010133
+:109D20000101010101010101010101010101010123
+:109D30000101010101010101010101010101010113
+:109D40000101010101010101010101010101010103
+:109D500001010101010101010101010101010101F3
+:109D600001010101010101010101010101010101E3
+:109D700001010101010101010101010101010101D3
+:109D800001010101010101010101010101010101C3
+:109D900001010101010101010101010101010101B3
+:109DA00001010101010101010101010101010101A3
+:109DB0000101010101010101010101010101010193
+:109DC0000101010101010101010101010101010183
+:109DD0000101010101010101010101010101010173
+:109DE0000101010101010101010101010101010163
+:109DF0000101010101010101010101010101010153
+:109E00000101010101010101010101010101010142
+:109E10000101010101010101010101010101010132
+:109E20000101010101010101010101010101010122
+:109E3000010101010101010100000000000000001A
+:109E40000000000000000000000000000000000012
+:109E50000000000000000000000000000000000002
+:109E600000000000000000000000000000000000F2
+:109E700000000000000000000000000000000000E2
+:109E800000000000000000000000000000000000D2
+:109E900000000000000000000000000000000000C2
+:109EA00000000000000000000000000000000000B2
+:109EB00000000000000000000000000000000000A2
+:109EC0000000000000000000000000000000000092
+:109ED0000000000000000000000000000000000082
+:109EE0000000000000000000000000000000000072
+:109EF0000000000000000000000000000000000062
+:109F00000000000000000000000000000000000051
+:109F10000000000000000000000000000000000041
+:109F20000000000000000000000000000000000031
+:109F30000000000000000000000000000000000021
+:109F40000000000000000000000000000000000011
+:109F50000000000000000000000000000000000001
+:109F600000000000000000000000000000000000F1
+:109F700000000000000000000000000000000000E1
+:109F800000000000000000000000000000000000D1
+:109F900000000000000000000000000000000000C1
+:109FA00000000000000000000000000000000000B1
+:109FB00000000000000000000000000000000000A1
+:109FC0000000000000000000000000000000000091
+:109FD0000000000000000000000000000000000081
+:109FE0000000000000000000000000000000000071
+:109FF0000000000000000000000000000000000061
+:10A000000000000000000000000000000000000050
+:10A010000000000000000000000000000000000040
+:10A020000000000000000000000000000000000030
+:10A030000000000000000000000000000000000020
+:10A040000000000000000000000000000000000010
+:10A050000000000000000000000000000000000000
+:10A0600000000000000000000000000000000000F0
+:10A0700000000000000000000000000000000000E0
+:10A0800000000000000000000000000000000000D0
+:10A0900000000000000000000000000000000000C0
+:10A0A00000000000000000000000000000000000B0
+:10A0B00000000000000000000000000000000000A0
+:10A0C0000000000000000000000000000000000090
+:10A0D0000000000000000000000000000000000080
+:10A0E0000000000000000000000000000000000070
+:10A0F0000000000000000000000000000000000060
+:10A10000000000000000000000000000000000004F
+:10A11000000000000000000000000000000000003F
+:10A12000000000000000000000000000000000002F
+:10A13000000000000000000000000000000000001F
+:10A14000000000000000000000000000000000000F
+:10A1500000000000000000000000000000000000FF
+:10A1600000000000000000000000000000000000EF
+:10A1700000000000000000000000000000000000DF
+:10A1800000000000000000000000000000000000CF
+:10A1900000000000000000000000000000000000BF
+:10A1A00000000000000000000000000000000000AF
+:10A1B000000000000000000000000000000000009F
+:10A1C000000000000000000000000000000000008F
+:10A1D000000000000000000000000000000000007F
+:10A1E000000000000000000000000000000000006F
+:10A1F000000000000000000000000000000000005F
+:10A20000000000000000000000000000000000004E
+:10A21000000000000000000000000000000000003E
+:10A22000000000000000000000000000000000002E
+:10A23000000000000000000000000000000000001E
+:10A24000000000000000000000000000000000000E
+:10A2500000000000000000000000000000000000FE
+:10A2600000000000000000000000000000000000EE
+:10A2700000000000000000000000000000000000DE
+:10A2800000000000000000000000000000000000CE
+:10A2900000000000000000000000000000000000BE
+:10A2A00000000000000000000000000000000000AE
+:10A2B000000000000000000000000000000000009E
+:10A2C000000000000000000000000000000000008E
+:10A2D000000000000000000000000000000000007E
+:10A2E000000000000000000000000000000000006E
+:10A2F000000000000000000000000000000000005E
+:10A30000000000000000000000000000000000004D
+:10A31000000000000000000000000000000000003D
+:10A32000000000000000000000000000000000002D
+:10A33000000000000000000000000000000000001D
+:10A34000000000000000000000000000000000000D
+:10A3500000000000000000000000000000000000FD
+:10A3600000000000000000000000000000000000ED
+:10A3700000000000000000000000000000000000DD
+:10A3800000000000000000000000000000000000CD
+:10A3900000000000000000000000000000000000BD
+:10A3A00000000000000000000000000000000000AD
+:10A3B000000000000000000000000000000000009D
+:10A3C000000000000000000000000000000000008D
+:10A3D000000000000000000000000000000000007D
+:10A3E000000000000000000000000000000000006D
+:10A3F000000000000000000000000000000000005D
+:10A40000000000000000000000000000000000004C
+:10A41000000000000000000000000000000000003C
+:10A42000000000000000000000000000000000002C
+:10A43000000000000000000000000000000000001C
+:10A44000000000000000000000000000000000000C
+:10A4500000000000000000000000000000000000FC
+:10A4600000000000000000000000000000000000EC
+:10A4700000000000000000000000000000000000DC
+:10A4800000000000000000000000000000000000CC
+:10A4900000000000000000000000000000000000BC
+:10A4A00000000000000000000000000000000000AC
+:10A4B000000000000000000000000000000000009C
+:10A4C000000000000000000000000000000000008C
+:10A4D000000000000000000000000000000000007C
+:10A4E000000000000000000000000000000000006C
+:10A4F000000000000000000000000000000000005C
+:10A50000000000000000000000000000000000004B
+:10A51000000000000000000000000000000000003B
+:10A52000000000000000000000000000000000002B
+:10A53000000000000000000002020202020202020B
+:10A5400002020202020202020202020202020202EB
+:10A5500002020202020202020202020202020202DB
+:10A5600002020202020202020202020202020202CB
+:10A5700002020202020202020202020202020202BB
+:10A5800002020202020202020202020202020202AB
+:10A59000020202020202020202020202020202029B
+:10A5A000020202020202020202020202020202028B
+:10A5B000020202020202020202020202020202027B
+:10A5C000020202020202020202020202020202026B
+:10A5D000020202020202020202020202020202025B
+:10A5E000020202020202020202020202020202024B
+:10A5F000020202020202020202020202020202023B
+:10A60000020202020202020202020202020202022A
+:10A61000020202020202020202020202020202021A
+:10A62000020202020202020202020202020202020A
+:10A6300002020202020202020202020202020202FA
+:10A6400002020202020202020202020202020202EA
+:10A6500002020202020202020202020202020202DA
+:10A6600002020202020202020202020202020202CA
+:10A6700002020202020202020202020202020202BA
+:10A6800002020202020202020202020202020202AA
+:10A69000020202020202020202020202020202029A
+:10A6A000020202020202020202020202020202028A
+:10A6B000020202020202020202020202020202027A
+:10A6C000020202020202020202020202020202026A
+:10A6D000020202020202020202020202020202025A
+:10A6E000020202020202020202020202020202024A
+:10A6F000020202020202020202020202020202023A
+:10A700000202020202020202020202020202020229
+:10A710000202020202020202020202020202020219
+:10A720000202020202020202020202020202020209
+:10A7300002020202020202020202020202020202F9
+:10A7400002020202020202020202020202020202E9
+:10A7500002020202020202020202020202020202D9
+:10A7600002020202020202020202020202020202C9
+:10A7700002020202020202020202020202020202B9
+:10A7800002020202020202020202020202020202A9
+:10A790000202020202020202020202020202020299
+:10A7A0000202020202020202020202020202020289
+:10A7B0000202020202020202020202020202020279
+:10A7C0000202020202020202020202020202020269
+:10A7D0000202020202020202020202020202020259
+:10A7E0000202020202020202020202020202020249
+:10A7F0000202020202020202020202020202020239
+:10A800000202020202020202020202020202020228
+:10A810000202020202020202020202020202020218
+:10A820000202020202020202020202020202020208
+:10A8300002020202020202020202020202020202F8
+:10A8400002020202020202020202020202020202E8
+:10A8500002020202020202020202020202020202D8
+:10A8600002020202020202020202020202020202C8
+:10A8700002020202020202020202020202020202B8
+:10A8800002020202020202020202020202020202A8
+:10A890000202020202020202020202020202020298
+:10A8A0000202020202020202020202020202020288
+:10A8B0000202020202020202020202020202020278
+:10A8C0000202020202020202020202020202020268
+:10A8D0000202020202020202020202020202020258
+:10A8E0000202020202020202020202020202020248
+:10A8F0000202020202020202020202020202020238
+:10A900000202020202020202020202020202020227
+:10A910000202020202020202020202020202020217
+:10A920000202020202020202020202020202020207
+:10A9300002020202020202020202020202020202F7
+:10A9400002020202020202020202020202020202E7
+:10A9500002020202020202020202020202020202D7
+:10A9600002020202020202020202020202020202C7
+:10A9700002020202020202020202020202020202B7
+:10A9800002020202020202020202020202020202A7
+:10A990000202020202020202020202020202020297
+:10A9A0000202020202020202020202020202020287
+:10A9B0000202020202020202020202020202020277
+:10A9C0000202020202020202020202020202020267
+:10A9D0000202020202020202020202020202020257
+:10A9E0000202020202020202020202020202020247
+:10A9F0000202020202020202020202020202020237
+:10AA00000202020202020202020202020202020226
+:10AA10000202020202020202020202020202020216
+:10AA20000202020202020202020202020202020206
+:10AA300002020202020202020202020202020202F6
+:10AA400002020202020202020202020202020202E6
+:10AA500002020202020202020202020202020202D6
+:10AA600002020202020202020202020202020202C6
+:10AA700002020202020202020202020202020202B6
+:10AA800002020202020202020202020202020202A6
+:10AA90000202020202020202020202020202020296
+:10AAA0000202020202020202020202020202020286
+:10AAB0000202020202020202020202020202020276
+:10AAC0000202020202020202020202020202020266
+:10AAD0000202020202020202020202020202020256
+:10AAE0000202020202020202020202020202020246
+:10AAF0000202020202020202020202020202020236
+:10AB00000202020202020202020202020202020225
+:10AB10000202020202020202020202020202020215
+:10AB20000202020202020202020202020202020205
+:10AB300002020202020202020202020202020202F5
+:10AB400002020202020202020202020202020202E5
+:10AB500002020202020202020202020202020202D5
+:10AB600002020202020202020202020202020202C5
+:10AB700002020202020202020202020202020202B5
+:10AB800002020202020202020202020202020202A5
+:10AB90000202020202020202020202020202020295
+:10ABA0000202020202020202020202020202020285
+:10ABB0000202020202020202020202020202020275
+:10ABC0000202020202020202020202020202020265
+:10ABD0000202020202020202020202020202020255
+:10ABE0000202020202020202020202020202020245
+:10ABF0000202020202020202020202020202020235
+:10AC00000202020202020202020202020202020224
+:10AC10000202020202020202020202020202020214
+:10AC20000202020202020202020202020202020204
+:10AC300002020202020202020202020202020202F4
+:10AC400002020202020202020202020202020202E4
+:10AC500002020202020202020202020202020202D4
+:10AC600002020202020202020202020202020202C4
+:10AC700002020202020202020202020202020202B4
+:10AC800002020202020202020202020202020202A4
+:10AC90000202020202020202020202020202020294
+:10ACA0000202020202020202020202020202020284
+:10ACB0000202020202020202020202020202020274
+:10ACC0000202020202020202020202020202020264
+:10ACD0000202020202020202020202020202020254
+:10ACE0000202020202020202020202020202020244
+:10ACF0000202020202020202020202020202020234
+:10AD00000202020202020202020202020202020223
+:10AD10000202020202020202020202020202020213
+:10AD20000202020202020202020202020202020203
+:10AD30000202020202020202000000000000000003
+:10AD40000000000000000000000000000000000003
+:10AD500000000000000000000000000000000000F3
+:10AD600000000000000000000000000000000000E3
+:10AD700000000000000000000000000000000000D3
+:10AD800000000000000000000000000000000000C3
+:10AD900000000000000000000000000000000000B3
+:10ADA00000000000000000000000000000000000A3
+:10ADB0000000000000000000000000000000000093
+:10ADC0000000000000000000000000000000000083
+:10ADD0000000000000000000000000000000000073
+:10ADE0000000000000000000000000000000000063
+:10ADF0000000000000000000000000000000000053
+:10AE00000000000000000000000000000000000042
+:10AE10000000000000000000000000000000000032
+:10AE20000000000000000000000000000000000022
+:10AE30000000000000000000000000000000000012
+:10AE40000000000000000000000000000000000002
+:10AE500000000000000000000000000000000000F2
+:10AE600000000000000000000000000000000000E2
+:10AE700000000000000000000000000000000000D2
+:10AE800000000000000000000000000000000000C2
+:10AE900000000000000000000000000000000000B2
+:10AEA00000000000000000000000000000000000A2
+:10AEB0000000000000000000000000000000000092
+:10AEC0000000000000000000000000000000000082
+:10AED0000000000000000000000000000000000072
+:10AEE0000000000000000000000000000000000062
+:10AEF0000000000000000000000000000000000052
+:10AF00000000000000000000000000000000000041
+:10AF10000000000000000000000000000000000031
+:10AF20000000000000000000000000000000000021
+:10AF30000000000000000000000000000000000011
+:10AF40000000000000000000000000000000000001
+:10AF500000000000000000000000000000000000F1
+:10AF600000000000000000000000000000000000E1
+:10AF700000000000000000000000000000000000D1
+:10AF800000000000000000000000000000000000C1
+:10AF900000000000000000000000000000000000B1
+:10AFA00000000000000000000000000000000000A1
+:10AFB0000000000000000000000000000000000091
+:10AFC0000000000000000000000000000000000081
+:10AFD0000000000000000000000000000000000071
+:10AFE0000000000000000000000000000000000061
+:10AFF0000000000000000000000000000000000051
+:10B000000000000000000000000000000000000040
+:10B010000000000000000000000000000000000030
+:10B020000000000000000000000000000000000020
+:10B030000000000000000000000000000000000010
+:10B040000000000000000000000000000000000000
+:10B0500000000000000000000000000000000000F0
+:10B0600000000000000000000000000000000000E0
+:10B0700000000000000000000000000000000000D0
+:10B0800000000000000000000000000000000000C0
+:10B0900000000000000000000000000000000000B0
+:10B0A00000000000000000000000000000000000A0
+:10B0B0000000000000000000000000000000000090
+:10B0C0000000000000000000000000000000000080
+:10B0D0000000000000000000000000000000000070
+:10B0E0000000000000000000000000000000000060
+:10B0F0000000000000000000000000000000000050
+:10B10000000000000000000000000000000000003F
+:10B11000000000000000000000000000000000002F
+:10B12000000000000000000000000000000000001F
+:10B13000000000000000000000000000000000000F
+:10B1400000000000000000000000000000000000FF
+:10B1500000000000000000000000000000000000EF
+:10B1600000000000000000000000000000000000DF
+:10B1700000000000000000000000000000000000CF
+:10B1800000000000000000000000000000000000BF
+:10B1900000000000000000000000000000000000AF
+:10B1A000000000000000000000000000000000009F
+:10B1B000000000000000000000000000000000008F
+:10B1C000000000000000000000000000000000007F
+:10B1D000000000000000000000000000000000006F
+:10B1E000000000000000000000000000000000005F
+:10B1F000000000000000000000000000000000004F
+:10B20000000000000000000000000000000000003E
+:10B21000000000000000000000000000000000002E
+:10B22000000000000000000000000000000000001E
+:10B23000000000000000000000000000000000000E
+:10B2400000000000000000000000000000000000FE
+:10B2500000000000000000000000000000000000EE
+:10B2600000000000000000000000000000000000DE
+:10B2700000000000000000000000000000000000CE
+:10B2800000000000000000000000000000000000BE
+:10B2900000000000000000000000000000000000AE
+:10B2A000000000000000000000000000000000009E
+:10B2B000000000000000000000000000000000008E
+:10B2C000000000000000000000000000000000007E
+:10B2D000000000000000000000000000000000006E
+:10B2E000000000000000000000000000000000005E
+:10B2F000000000000000000000000000000000004E
+:10B30000000000000000000000000000000000003D
+:10B31000000000000000000000000000000000002D
+:10B32000000000000000000000000000000000001D
+:10B3300000000000000000006900000000000000A4
+:10B3400001010101010101010101010101010101ED
+:10B3500001010101010101010101010101010101DD
+:10B3600001010101010101010101010101010101CD
+:10B3700001010101010101010101010101010101BD
+:10B3800001010101010101010101010101010101AD
+:10B39000010101010101010101010101010101019D
+:10B3A000010101010101010101010101010101018D
+:10B3B000010101010101010101010101010101017D
+:10B3C000010101010101010101010101010101016D
+:10B3D000010101010101010101010101010101015D
+:10B3E000010101010101010101010101010101014D
+:10B3F000010101010101010101010101010101013D
+:10B40000010101010101010101010101010101012C
+:10B41000010101010101010101010101010101011C
+:10B42000010101010101010101010101010101010C
+:10B4300001010101010101010101010101010101FC
+:10B4400001010101010101010101010101010101EC
+:10B4500001010101010101010101010101010101DC
+:10B4600001010101010101010101010101010101CC
+:10B4700001010101010101010101010101010101BC
+:10B4800001010101010101010101010101010101AC
+:10B49000010101010101010101010101010101019C
+:10B4A000010101010101010101010101010101018C
+:10B4B000010101010101010101010101010101017C
+:10B4C000010101010101010101010101010101016C
+:10B4D000010101010101010101010101010101015C
+:10B4E000010101010101010101010101010101014C
+:10B4F000010101010101010101010101010101013C
+:10B50000010101010101010101010101010101012B
+:10B51000010101010101010101010101010101011B
+:10B52000010101010101010101010101010101010B
+:10B5300001010101010101010101010101010101FB
+:10B5400001010101010101010101010101010101EB
+:10B5500001010101010101010101010101010101DB
+:10B5600001010101010101010101010101010101CB
+:10B5700001010101010101010101010101010101BB
+:10B5800001010101010101010101010101010101AB
+:10B59000010101010101010101010101010101019B
+:10B5A000010101010101010101010101010101018B
+:10B5B000010101010101010101010101010101017B
+:10B5C000010101010101010101010101010101016B
+:10B5D000010101010101010101010101010101015B
+:10B5E000010101010101010101010101010101014B
+:10B5F000010101010101010101010101010101013B
+:10B60000010101010101010101010101010101012A
+:10B61000010101010101010101010101010101011A
+:10B62000010101010101010101010101010101010A
+:10B6300001010101010101010101010101010101FA
+:10B6400001010101010101010101010101010101EA
+:10B6500001010101010101010101010101010101DA
+:10B6600001010101010101010101010101010101CA
+:10B6700001010101010101010101010101010101BA
+:10B6800001010101010101010101010101010101AA
+:10B69000010101010101010101010101010101019A
+:10B6A000010101010101010101010101010101018A
+:10B6B000010101010101010101010101010101017A
+:10B6C000010101010101010101010101010101016A
+:10B6D000010101010101010101010101010101015A
+:10B6E000010101010101010101010101010101014A
+:10B6F000010101010101010101010101010101013A
+:10B700000101010101010101010101010101010129
+:10B710000101010101010101010101010101010119
+:10B720000101010101010101010101010101010109
+:10B7300001010101010101010101010101010101F9
+:10B7400000000000000000000000000000000000F9
+:10B7500000000000000000000000000000000000E9
+:10B7600000000000000000000000000000000000D9
+:10B7700000000000000000000000000000000000C9
+:10B7800000000000000000000000000000000000B9
+:10B7900000000000000000000000000000000000A9
+:10B7A0000000000000000000000000000000000099
+:10B7B0000000000000000000000000000000000089
+:10B7C0000000000000000000000000000000000079
+:10B7D0000000000000000000000000000000000069
+:10B7E0000000000000000000000000000000000059
+:10B7F0000000000000000000000000000000000049
+:10B800000000000000000000000000000000000038
+:10B810000000000000000000000000000000000028
+:10B820000000000000000000000000000000000018
+:10B830000000000000000000000000000000000008
+:10B8400000000000000000000000000000000000F8
+:10B8500000000000000000000000000000000000E8
+:10B8600000000000000000000000000000000000D8
+:10B8700000000000000000000000000000000000C8
+:10B8800000000000000000000000000000000000B8
+:10B8900000000000000000000000000000000000A8
+:10B8A0000000000000000000000000000000000098
+:10B8B0000000000000000000000000000000000088
+:10B8C0000000000000000000000000000000000078
+:10B8D0000000000000000000000000000000000068
+:10B8E0000000000000000000000000000000000058
+:10B8F0000000000000000000000000000000000048
+:10B900000000000000000000000000000000000037
+:10B910000000000000000000000000000000000027
+:10B920000000000000000000000000000000000017
+:10B930000000000000000000000000000000000007
+:10B9400000000000000000000000000000000000F7
+:10B9500000000000000000000000000000000000E7
+:10B9600000000000000000000000000000000000D7
+:10B9700000000000000000000000000000000000C7
+:10B9800000000000000000000000000000000000B7
+:10B9900000000000000000000000000000000000A7
+:10B9A0000000000000000000000000000000000097
+:10B9B0000000000000000000000000000000000087
+:10B9C0000000000000000000000000000000000077
+:10B9D0000000000000000000000000000000000067
+:10B9E0000000000000000000000000000000000057
+:10B9F0000000000000000000000000000000000047
+:10BA00000000000000000000000000000000000036
+:10BA10000000000000000000000000000000000026
+:10BA20000000000000000000000000000000000016
+:10BA30000000000000000000000000000000000006
+:10BA400000000000000000000000000000000000F6
+:10BA500000000000000000000000000000000000E6
+:10BA600000000000000000000000000000000000D6
+:10BA700000000000000000000000000000000000C6
+:10BA800000000000000000000000000000000000B6
+:10BA900000000000000000000000000000000000A6
+:10BAA0000000000000000000000000000000000096
+:10BAB0000000000000000000000000000000000086
+:10BAC0000000000000000000000000000000000076
+:10BAD0000000000000000000000000000000000066
+:10BAE0000000000000000000000000000000000056
+:10BAF0000000000000000000000000000000000046
+:10BB00000000000000000000000000000000000035
+:10BB10000000000000000000000000000000000025
+:10BB20000000000000000000000000000000000015
+:10BB30000000000000000000000000000000000005
+:10BB400000000000000000000000000000000000F5
+:10BB500000000000000000000000000000000000E5
+:10BB600000000000000000000000000000000000D5
+:10BB700000000000000000000000000000000000C5
+:10BB800000000000000000000000000000000000B5
+:10BB900000000000000000000000000000000000A5
+:10BBA0000000000000000000000000000000000095
+:10BBB0000000000000000000000000000000000085
+:10BBC0000000000000000000000000000000000075
+:10BBD0000000000000000000000000000000000065
+:10BBE0000000000000000000000000000000000055
+:10BBF0000000000000000000000000000000000045
+:10BC00000000000000000000000000000000000034
+:10BC10000000000000000000000000000000000024
+:10BC20000000000000000000000000000000000014
+:10BC30000000000000000000000000000000000004
+:10BC400000000000000000000000000000000000F4
+:10BC500000000000000000000000000000000000E4
+:10BC600000000000000000000000000000000000D4
+:10BC700000000000000000000000000000000000C4
+:10BC800000000000000000000000000000000000B4
+:10BC900000000000000000000000000000000000A4
+:10BCA0000000000000000000000000000000000094
+:10BCB0000000000000000000000000000000000084
+:10BCC0000000000000000000000000000000000074
+:10BCD0000000000000000000000000000000000064
+:10BCE0000000000000000000000000000000000054
+:10BCF0000000000000000000000000000000000044
+:10BD00000000000000000000000000000000000033
+:10BD10000000000000000000000000000000000023
+:10BD20000000000000000000000000000000000013
+:10BD30000000000000000000000000000000000003
+:10BD400000000000000000000000000000000000F3
+:10BD500000000000000000000000000000000000E3
+:10BD600000000000000000000000000000000000D3
+:10BD700000000000000000000000000000000000C3
+:10BD800000000000000000000000000000000000B3
+:10BD900000000000000000000000000000000000A3
+:10BDA0000000000000000000000000000000000093
+:10BDB0000000000000000000000000000000000083
+:10BDC0000000000000000000000000000000000073
+:10BDD0000000000000000000000000000000000063
+:10BDE0000000000000000000000000000000000053
+:10BDF0000000000000000000000000000000000043
+:10BE00000000000000000000000000000000000032
+:10BE10000000000000000000000000000000000022
+:10BE20000000000000000000000000000000000012
+:10BE30000000000000000000000000000000000002
+:10BE400000000000000000000000000000000000F2
+:10BE500000000000000000000000000000000000E2
+:10BE600000000000000000000000000000000000D2
+:10BE700000000000000000000000000000000000C2
+:10BE800000000000000000000000000000000000B2
+:10BE900000000000000000000000000000000000A2
+:10BEA0000000000000000000000000000000000092
+:10BEB0000000000000000000000000000000000082
+:10BEC0000000000000000000000000000000000072
+:10BED0000000000000000000000000000000000062
+:10BEE0000000000000000000000000000000000052
+:10BEF0000000000000000000000000000000000042
+:10BF00000000000000000000000000000000000031
+:10BF10000000000000000000000000000000000021
+:10BF20000000000000000000000000000000000011
+:10BF30000000000000000000000000000000000001
+:10BF400000000000000000000000000000000000F1
+:10BF500000000000000000000000000000000000E1
+:10BF600000000000000000000000000000000000D1
+:10BF700000000000000000000000000000000000C1
+:10BF800000000000000000000000000000000000B1
+:10BF900000000000000000000000000000000000A1
+:10BFA0000000000000000000000000000000000091
+:10BFB0000000000000000000000000000000000081
+:10BFC0000000000000000000000000000000000071
+:10BFD0000000000000000000000000000000000061
+:10BFE0000000000000000000000000000000000051
+:10BFF0000000000000000000000000000000000041
+:10C000000000000000000000000000000000000030
+:10C010000000000000000000000000000000000020
+:10C020000000000000000000000000000000000010
+:10C030000000000000000000000000000000000000
+:10C0400000000000000000000000000000000000F0
+:10C0500000000000000000000000000000000000E0
+:10C0600000000000000000000000000000000000D0
+:10C0700000000000000000000000000000000000C0
+:10C0800000000000000000000000000000000000B0
+:10C0900000000000000000000000000000000000A0
+:10C0A0000000000000000000000000000000000090
+:10C0B0000000000000000000000000000000000080
+:10C0C0000000000000000000000000000000000070
+:10C0D0000000000000000000000000000000000060
+:10C0E0000000000000000000000000000000000050
+:10C0F0000000000000000000000000000000000040
+:10C10000000000000000000000000000000000002F
+:10C11000000000000000000000000000000000001F
+:10C12000000000000000000000000000000000000F
+:10C1300000000000000000000000000000000000FF
+:10C1400000000000000000000000000000000000EF
+:10C1500000000000000000000000000000000000DF
+:10C1600000000000000000000000000000000000CF
+:10C1700000000000000000000000000000000000BF
+:10C1800000000000000000000000000000000000AF
+:10C19000000000000000000000000000000000009F
+:10C1A000000000000000000000000000000000008F
+:10C1B000000000000000000000000000000000007F
+:10C1C000000000000000000000000000000000006F
+:10C1D000000000000000000000000000000000005F
+:10C1E000000000000000000000000000000000004F
+:10C1F000000000000000000000000000000000003F
+:10C20000000000000000000000000000000000002E
+:10C21000000000000000000000000000000000001E
+:10C22000000000000000000000000000000000000E
+:10C2300000000000000000000000000000000000FE
+:10C2400000000000000000000000000000000000EE
+:10C2500000000000000000000000000000000000DE
+:10C2600000000000000000000000000000000000CE
+:10C2700000000000000000000000000000000000BE
+:10C2800000000000000000000000000000000000AE
+:10C29000000000000000000000000000000000009E
+:10C2A000000000000000000000000000000000008E
+:10C2B000000000000000000000000000000000007E
+:10C2C000000000000000000000000000000000006E
+:10C2D000000000000000000000000000000000005E
+:10C2E000000000000000000000000000000000004E
+:10C2F000000000000000000000000000000000003E
+:10C30000000000000000000000000000000000002D
+:10C31000000000000000000000000000000000001D
+:10C32000000000000000000000000000000000000D
+:10C3300000000000000000000000000000000000FD
+:10C3400000000000000000000000000000000000ED
+:10C3500000000000000000000000000000000000DD
+:10C3600000000000000000000000000000000000CD
+:10C3700000000000000000000000000000000000BD
+:10C3800000000000000000000000000000000000AD
+:10C39000000000000000000000000000000000009D
+:10C3A000000000000000000000000000000000008D
+:10C3B000000000000000000000000000000000007D
+:10C3C000000000000000000000000000000000006D
+:10C3D000000000000000000000000000000000005D
+:10C3E000000000000000000000000000000000004D
+:10C3F000000000000000000000000000000000003D
+:10C40000000000000000000000000000000000002C
+:10C41000000000000000000000000000000000001C
+:10C42000000000000000000000000000000000000C
+:10C4300000000000000000000000000000000000FC
+:10C4400000000000000000000000000000000000EC
+:10C4500000000000000000000000000000000000DC
+:10C4600000000000000000000000000000000000CC
+:10C4700000000000000000000000000000000000BC
+:10C4800000000000000000000000000000000000AC
+:10C49000000000000000000000000000000000009C
+:10C4A000000000000000000000000000000000008C
+:10C4B000000000000000000000000000000000007C
+:10C4C000000000000000000000000000000000006C
+:10C4D000000000000000000000000000000000005C
+:10C4E000000000000000000000000000000000004C
+:10C4F000000000000000000000000000000000003C
+:10C50000000000000000000000000000000000002B
+:10C51000000000000000000000000000000000001B
+:10C52000000000000000000000000000000000000B
+:10C5300000000000000000000000000000000000FB
+:10C5400000000000000000000000000000000000EB
+:10C5500000000000000000000000000000000000DB
+:10C5600000000000000000000000000000000000CB
+:10C5700000000000000000000000000000000000BB
+:10C5800000000000000000000000000000000000AB
+:10C59000000000000000000000000000000000009B
+:10C5A000000000000000000000000000000000008B
+:10C5B000000000000000000000000000000000007B
+:10C5C000000000000000000000000000000000006B
+:10C5D000000000000000000000000000000000005B
+:10C5E000000000000000000000000000000000004B
+:10C5F000000000000000000000000000000000003B
+:10C60000000000000000000000000000000000002A
+:10C61000000000000000000000000000000000001A
+:10C62000000000000000000000000000000000000A
+:10C6300000000000000000000000000000000000FA
+:10C6400000000000000000000000000000000000EA
+:10C6500000000000000000000000000000000000DA
+:10C6600000000000000000000000000000000000CA
+:10C6700000000000000000000000000000000000BA
+:10C6800000000000000000000000000000000000AA
+:10C69000000000000000000000000000000000009A
+:10C6A000000000000000000000000000000000008A
+:10C6B000000000000000000000000000000000007A
+:10C6C000000000000000000000000000000000006A
+:10C6D000000000000000000000000000000000005A
+:10C6E000000000000000000000000000000000004A
+:10C6F000000000000000000000000000000000003A
+:10C700000000000000000000000000000000000029
+:10C710000000000000000000000000000000000019
+:10C720000000000000000000000000000000000009
+:10C7300000000000000000000000000000000000F9
+:10C7400000000000000000000000000000000000E9
+:10C7500000000000000000000000000000000000D9
+:10C7600000000000000000000000000000000000C9
+:10C7700000000000000000000000000000000000B9
+:10C7800000000000000000000000000000000000A9
+:10C790000000000000000000000000000000000099
+:10C7A0000000000000000000000000000000000089
+:10C7B0000000000000000000000000000000000079
+:10C7C0000000000000000000000000000000000069
+:10C7D0000000000000000000000000000000000059
+:10C7E0000000000000000000000000000000000049
+:10C7F0000000000000000000000000000000000039
+:10C800000000000000000000000000000000000028
+:10C810000000000000000000000000000000000018
+:10C820000000000000000000000000000000000008
+:10C8300000000000000000000000000000000000F8
+:10C8400000000000000000000000000000000000E8
+:10C8500000000000000000000000000000000000D8
+:10C8600000000000000000000000000000000000C8
+:10C8700000000000000000000000000000000000B8
+:10C8800000000000000000000000000000000000A8
+:10C890000000000000000000000000000000000098
+:10C8A0000000000000000000000000000000000088
+:10C8B0000000000000000000000000000000000078
+:10C8C0000000000000000000000000000000000068
+:10C8D0000000000000000000000000000000000058
+:10C8E0000000000000000000000000000000000048
+:10C8F0000000000000000000000000000000000038
+:10C900000000000000000000000000000000000027
+:10C910000000000000000000000000000000000017
+:10C920000000000000000000000000000000000007
+:10C9300000000000000000000000000000000000F7
+:10C9400000000000000000000000000000000000E7
+:10C9500000000000000000000000000000000000D7
+:10C9600000000000000000000000000000000000C7
+:10C9700000000000000000000000000000000000B7
+:10C9800000000000000000000000000000000000A7
+:10C990000000000000000000000000000000000097
+:10C9A0000000000000000000000000000000000087
+:10C9B0000000000000000000000000000000000077
+:10C9C0000000000000000000000000000000000067
+:10C9D0000000000000000000000000000000000057
+:10C9E0000000000000000000000000000000000047
+:10C9F0000000000000000000000000000000000037
+:10CA00000000000000000000000000000000000026
+:10CA10000000000000000000000000000000000016
+:10CA20000000000000000000000000000000000006
+:10CA300000000000000000000000000000000000F6
+:10CA400000000000000000000000000000000000E6
+:10CA500000000000000000000000000000000000D6
+:10CA600000000000000000000000000000000000C6
+:10CA700000000000000000000000000000000000B6
+:10CA800000000000000000000000000000000000A6
+:10CA90000000000000000000000000000000000096
+:10CAA0000000000000000000000000000000000086
+:10CAB0000000000000000000000000000000000076
+:10CAC0000000000000000000000000000000000066
+:10CAD0000000000000000000000000000000000056
+:10CAE0000000000000000000000000000000000046
+:10CAF0000000000000000000000000000000000036
+:10CB00000000000000000000000000000000000025
+:10CB10000000000000000000000000000000000015
+:10CB20000000000000000000000000000000000005
+:10CB300000000000000000000000000000000000F5
+:10CB400000000000000000000000000000000000E5
+:10CB500000000000000000000000000000000000D5
+:10CB600000000000000000000000000000000000C5
+:10CB700000000000000000000000000000000000B5
+:10CB800000000000000000000000000000000000A5
+:10CB90000000000000000000000000000000000095
+:10CBA0000000000000000000000000000000000085
+:10CBB0000000000000000000000000000000000075
+:10CBC0000000000000000000000000000000000065
+:10CBD0000000000000000000000000000000000055
+:10CBE0000000000000000000000000000000000045
+:10CBF0000000000000000000000000000000000035
+:10CC00000000000000000000000000000000000024
+:10CC10000000000000000000000000000000000014
+:10CC20000000000000000000000000000000000004
+:10CC300000000000000000000000000000000000F4
+:10CC400001010101010101010101010101010101D4
+:10CC500001010101010101010101010101010101C4
+:10CC600001010101010101010101010101010101B4
+:10CC700001010101010101010101010101010101A4
+:10CC80000101010101010101010101010101010194
+:10CC90000101010101010101010101010101010184
+:10CCA0000101010101010101010101010101010174
+:10CCB0000101010101010101010101010101010164
+:10CCC0000101010101010101010101010101010154
+:10CCD0000101010101010101010101010101010144
+:10CCE0000101010101010101010101010101010134
+:10CCF0000101010101010101010101010101010124
+:10CD00000101010101010101010101010101010113
+:10CD10000101010101010101010101010101010103
+:10CD200001010101010101010101010101010101F3
+:10CD300001010101010101010101010101010101E3
+:10CD400001010101010101010101010101010101D3
+:10CD500001010101010101010101010101010101C3
+:10CD600001010101010101010101010101010101B3
+:10CD700001010101010101010101010101010101A3
+:10CD80000101010101010101010101010101010193
+:10CD90000101010101010101010101010101010183
+:10CDA0000101010101010101010101010101010173
+:10CDB0000101010101010101010101010101010163
+:10CDC0000101010101010101010101010101010153
+:10CDD0000101010101010101010101010101010143
+:10CDE0000101010101010101010101010101010133
+:10CDF0000101010101010101010101010101010123
+:10CE00000101010101010101010101010101010112
+:10CE10000101010101010101010101010101010102
+:10CE200001010101010101010101010101010101F2
+:10CE300001010101010101010101010101010101E2
+:10CE400001010101010101010101010101010101D2
+:10CE500001010101010101010101010101010101C2
+:10CE600001010101010101010101010101010101B2
+:10CE700001010101010101010101010101010101A2
+:10CE80000101010101010101010101010101010192
+:10CE90000101010101010101010101010101010182
+:10CEA0000101010101010101010101010101010172
+:10CEB0000101010101010101010101010101010162
+:10CEC0000101010101010101010101010101010152
+:10CED0000101010101010101010101010101010142
+:10CEE0000101010101010101010101010101010132
+:10CEF0000101010101010101010101010101010122
+:10CF00000101010101010101010101010101010111
+:10CF10000101010101010101010101010101010101
+:10CF200001010101010101010101010101010101F1
+:10CF300001010101010101010101010101010101E1
+:10CF400001010101010101010101010101010101D1
+:10CF500001010101010101010101010101010101C1
+:10CF600001010101010101010101010101010101B1
+:10CF700001010101010101010101010101010101A1
+:10CF80000101010101010101010101010101010191
+:10CF90000101010101010101010101010101010181
+:10CFA0000101010101010101010101010101010171
+:10CFB0000101010101010101010101010101010161
+:10CFC0000101010101010101010101010101010151
+:10CFD0000101010101010101010101010101010141
+:10CFE0000101010101010101010101010101010131
+:10CFF0000101010101010101010101010101010121
+:10D000000101010101010101010101010101010110
+:10D010000101010101010101010101010101010100
+:10D0200001010101010101010101010101010101F0
+:10D0300001010101010101010101010101010101E0
+:10D0400000000000000000000000000000000000E0
+:10D0500000000000000000000000000000000000D0
+:10D0600000000000000000000000000000000000C0
+:10D0700000000000000000000000000000000000B0
+:10D0800000000000000000000000000000000000A0
+:10D090000000000000000000000000000000000090
+:10D0A0000000000000000000000000000000000080
+:10D0B0000000000000000000000000000000000070
+:10D0C0000000000000000000000000000000000060
+:10D0D0000000000000000000000000000000000050
+:10D0E0000000000000000000000000000000000040
+:10D0F0000000000000000000000000000000000030
+:10D10000000000000000000000000000000000001F
+:10D11000000000000000000000000000000000000F
+:10D1200000000000000000000000000000000000FF
+:10D1300000000000000000000000000000000000EF
+:10D1400000000000000000000000000000000000DF
+:10D1500000000000000000000000000000000000CF
+:10D1600000000000000000000000000000000000BF
+:10D1700000000000000000000000000000000000AF
+:10D18000000000000000000000000000000000009F
+:10D19000000000000000000000000000000000008F
+:10D1A000000000000000000000000000000000007F
+:10D1B000000000000000000000000000000000006F
+:10D1C000000000000000000000000000000000005F
+:10D1D000000000000000000000000000000000004F
+:10D1E000000000000000000000000000000000003F
+:10D1F000000000000000000000000000000000002F
+:10D20000000000000000000000000000000000001E
+:10D21000000000000000000000000000000000000E
+:10D2200000000000000000000000000000000000FE
+:10D2300000000000000000000000000000000000EE
+:10D2400000000000000000000000000000000000DE
+:10D2500000000000000000000000000000000000CE
+:10D2600000000000000000000000000000000000BE
+:10D2700000000000000000000000000000000000AE
+:10D28000000000000000000000000000000000009E
+:10D29000000000000000000000000000000000008E
+:10D2A000000000000000000000000000000000007E
+:10D2B000000000000000000000000000000000006E
+:10D2C000000000000000000000000000000000005E
+:10D2D000000000000000000000000000000000004E
+:10D2E000000000000000000000000000000000003E
+:10D2F000000000000000000000000000000000002E
+:10D30000000000000000000000000000000000001D
+:10D31000000000000000000000000000000000000D
+:10D3200000000000000000000000000000000000FD
+:10D3300000000000000000000000000000000000ED
+:10D3400000000000000000000000000000000000DD
+:10D3500000000000000000000000000000000000CD
+:10D3600000000000000000000000000000000000BD
+:10D3700000000000000000000000000000000000AD
+:10D38000000000000000000000000000000000009D
+:10D39000000000000000000000000000000000008D
+:10D3A000000000000000000000000000000000007D
+:10D3B000000000000000000000000000000000006D
+:10D3C000000000000000000000000000000000005D
+:10D3D000000000000000000000000000000000004D
+:10D3E000000000000000000000000000000000003D
+:10D3F000000000000000000000000000000000002D
+:10D40000000000000000000000000000000000001C
+:10D41000000000000000000000000000000000000C
+:10D4200000000000000000000000000000000000FC
+:10D4300000000000000000000000000000000000EC
+:10D4400001010101010101010101010101010101CC
+:10D4500001010101010101010101010101010101BC
+:10D4600001010101010101010101010101010101AC
+:10D47000010101010101010101010101010101019C
+:10D48000010101010101010101010101010101018C
+:10D49000010101010101010101010101010101017C
+:10D4A000010101010101010101010101010101016C
+:10D4B000010101010101010101010101010101015C
+:10D4C000010101010101010101010101010101014C
+:10D4D000010101010101010101010101010101013C
+:10D4E000010101010101010101010101010101012C
+:10D4F000010101010101010101010101010101011C
+:10D50000010101010101010101010101010101010B
+:10D5100001010101010101010101010101010101FB
+:10D5200001010101010101010101010101010101EB
+:10D5300001010101010101010101010101010101DB
+:10D5400001010101010101010101010101010101CB
+:10D5500001010101010101010101010101010101BB
+:10D5600001010101010101010101010101010101AB
+:10D57000010101010101010101010101010101019B
+:10D58000010101010101010101010101010101018B
+:10D59000010101010101010101010101010101017B
+:10D5A000010101010101010101010101010101016B
+:10D5B000010101010101010101010101010101015B
+:10D5C000010101010101010101010101010101014B
+:10D5D000010101010101010101010101010101013B
+:10D5E000010101010101010101010101010101012B
+:10D5F000010101010101010101010101010101011B
+:10D60000010101010101010101010101010101010A
+:10D6100001010101010101010101010101010101FA
+:10D6200001010101010101010101010101010101EA
+:10D6300001010101010101010101010101010101DA
+:10D6400002020202020202020202020202020202BA
+:10D6500002020202020202020202020202020202AA
+:10D66000020202020202020202020202020202029A
+:10D67000020202020202020202020202020202028A
+:10D68000020202020202020202020202020202027A
+:10D69000020202020202020202020202020202026A
+:10D6A000020202020202020202020202020202025A
+:10D6B000020202020202020202020202020202024A
+:10D6C000020202020202020202020202020202023A
+:10D6D000020202020202020202020202020202022A
+:10D6E000020202020202020202020202020202021A
+:10D6F000020202020202020202020202020202020A
+:10D7000002020202020202020202020202020202F9
+:10D7100002020202020202020202020202020202E9
+:10D7200002020202020202020202020202020202D9
+:10D7300002020202020202020202020202020202C9
+:10D7400002020202020202020202020202020202B9
+:10D7500002020202020202020202020202020202A9
+:10D760000202020202020202020202020202020299
+:10D770000202020202020202020202020202020289
+:10D780000202020202020202020202020202020279
+:10D790000202020202020202020202020202020269
+:10D7A0000202020202020202020202020202020259
+:10D7B0000202020202020202020202020202020249
+:10D7C0000202020202020202020202020202020239
+:10D7D0000202020202020202020202020202020229
+:10D7E0000202020202020202020202020202020219
+:10D7F0000202020202020202020202020202020209
+:10D8000002020202020202020202020202020202F8
+:10D8100002020202020202020202020202020202E8
+:10D8200002020202020202020202020202020202D8
+:10D8300002020202020202020202020202020202C8
+:10D8400002020202020202020202020202020202B8
+:10D8500002020202020202020202020202020202A8
+:10D860000202020202020202020202020202020298
+:10D870000202020202020202020202020202020288
+:10D880000202020202020202020202020202020278
+:10D890000202020202020202020202020202020268
+:10D8A0000202020202020202020202020202020258
+:10D8B0000202020202020202020202020202020248
+:10D8C0000202020202020202020202020202020238
+:10D8D0000202020202020202020202020202020228
+:10D8E0000202020202020202020202020202020218
+:10D8F0000202020202020202020202020202020208
+:10D9000002020202020202020202020202020202F7
+:10D9100002020202020202020202020202020202E7
+:10D9200002020202020202020202020202020202D7
+:10D9300002020202020202020202020202020202C7
+:10D9400002020202020202020202020202020202B7
+:10D9500002020202020202020202020202020202A7
+:10D960000202020202020202020202020202020297
+:10D970000202020202020202020202020202020287
+:10D980000202020202020202020202020202020277
+:10D990000202020202020202020202020202020267
+:10D9A0000202020202020202020202020202020257
+:10D9B0000202020202020202020202020202020247
+:10D9C0000202020202020202020202020202020237
+:10D9D0000202020202020202020202020202020227
+:10D9E0000202020202020202020202020202020217
+:10D9F0000202020202020202020202020202020207
+:10DA000002020202020202020202020202020202F6
+:10DA100002020202020202020202020202020202E6
+:10DA200002020202020202020202020202020202D6
+:10DA300002020202020202020202020202020202C6
+:10DA400002020202020202020202020202020202B6
+:10DA500002020202020202020202020202020202A6
+:10DA60000202020202020202020202020202020296
+:10DA70000202020202020202020202020202020286
+:10DA80000202020202020202020202020202020276
+:10DA90000202020202020202020202020202020266
+:10DAA0000202020202020202020202020202020256
+:10DAB0000202020202020202020202020202020246
+:10DAC0000202020202020202020202020202020236
+:10DAD0000202020202020202020202020202020226
+:10DAE0000202020202020202020202020202020216
+:10DAF0000202020202020202020202020202020206
+:10DB000002020202020202020202020202020202F5
+:10DB100002020202020202020202020202020202E5
+:10DB200002020202020202020202020202020202D5
+:10DB300002020202020202020202020202020202C5
+:10DB400002020202020202020202020202020202B5
+:10DB500002020202020202020202020202020202A5
+:10DB60000202020202020202020202020202020295
+:10DB70000202020202020202020202020202020285
+:10DB80000202020202020202020202020202020275
+:10DB90000202020202020202020202020202020265
+:10DBA0000202020202020202020202020202020255
+:10DBB0000202020202020202020202020202020245
+:10DBC0000202020202020202020202020202020235
+:10DBD0000202020202020202020202020202020225
+:10DBE0000202020202020202020202020202020215
+:10DBF0000202020202020202020202020202020205
+:10DC000002020202020202020202020202020202F4
+:10DC100002020202020202020202020202020202E4
+:10DC200002020202020202020202020202020202D4
+:10DC300002020202020202020202020202020202C4
+:10DC400002020202020202020202020202020202B4
+:10DC500002020202020202020202020202020202A4
+:10DC60000202020202020202020202020202020294
+:10DC70000202020202020202020202020202020284
+:10DC80000202020202020202020202020202020274
+:10DC90000202020202020202020202020202020264
+:10DCA0000202020202020202020202020202020254
+:10DCB0000202020202020202020202020202020244
+:10DCC0000202020202020202020202020202020234
+:10DCD0000202020202020202020202020202020224
+:10DCE0000202020202020202020202020202020214
+:10DCF0000202020202020202020202020202020204
+:10DD000002020202020202020202020202020202F3
+:10DD100002020202020202020202020202020202E3
+:10DD200002020202020202020202020202020202D3
+:10DD300002020202020202020202020202020202C3
+:10DD400002020202020202020202020202020202B3
+:10DD500002020202020202020202020202020202A3
+:10DD60000202020202020202020202020202020293
+:10DD70000202020202020202020202020202020283
+:10DD80000202020202020202020202020202020273
+:10DD90000202020202020202020202020202020263
+:10DDA0000202020202020202020202020202020253
+:10DDB0000202020202020202020202020202020243
+:10DDC0000202020202020202020202020202020233
+:10DDD0000202020202020202020202020202020223
+:10DDE0000202020202020202020202020202020213
+:10DDF0000202020202020202020202020202020203
+:10DE000002020202020202020202020202020202F2
+:10DE100002020202020202020202020202020202E2
+:10DE200002020202020202020202020202020202D2
+:10DE300002020202020202020202020202020202C2
+:10DE400002020202020202020202020202020202B2
+:10DE500002020202020202020202020202020202A2
+:10DE60000202020202020202020202020202020292
+:10DE70000202020202020202020202020202020282
+:10DE80000202020202020202020202020202020272
+:10DE90000202020202020202020202020202020262
+:10DEA0000202020202020202020202020202020252
+:10DEB0000202020202020202020202020202020242
+:10DEC0000202020202020202020202020202020232
+:10DED0000202020202020202020202020202020222
+:10DEE0000202020202020202020202020202020212
+:10DEF0000202020202020202020202020202020202
+:10DF000002020202020202020202020202020202F1
+:10DF100002020202020202020202020202020202E1
+:10DF200002020202020202020202020202020202D1
+:10DF300002020202020202020202020202020202C1
+:10DF400002020202020202020202020202020202B1
+:10DF500002020202020202020202020202020202A1
+:10DF60000202020202020202020202020202020291
+:10DF70000202020202020202020202020202020281
+:10DF80000202020202020202020202020202020271
+:10DF90000202020202020202020202020202020261
+:10DFA0000202020202020202020202020202020251
+:10DFB0000202020202020202020202020202020241
+:10DFC0000202020202020202020202020202020231
+:10DFD0000202020202020202020202020202020221
+:10DFE0000202020202020202020202020202020211
+:10DFF0000202020202020202020202020202020201
+:10E0000002020202020202020202020202020202F0
+:10E0100002020202020202020202020202020202E0
+:10E0200002020202020202020202020202020202D0
+:10E0300002020202020202020202020202020202C0
+:10E0400000000000000000000000000000000000D0
+:10E0500000000000000000000000000000000000C0
+:10E0600000000000000000000000000000000000B0
+:10E0700000000000000000000000000000000000A0
+:10E080000000000000000000000000000000000090
+:10E090000000000000000000000000000000000080
+:10E0A0000000000000000000000000000000000070
+:10E0B0000000000000000000000000000000000060
+:10E0C0000000000000000000000000000000000050
+:10E0D0000000000000000000000000000000000040
+:10E0E0000000000000000000000000000000000030
+:10E0F0000000000000000000000000000000000020
+:10E10000000000000000000000000000000000000F
+:10E1100000000000000000000000000000000000FF
+:10E1200000000000000000000000000000000000EF
+:10E1300000000000000000000000000000000000DF
+:10E1400000000000000000000000000000000000CF
+:10E1500000000000000000000000000000000000BF
+:10E1600000000000000000000000000000000000AF
+:10E17000000000000000000000000000000000009F
+:10E18000000000000000000000000000000000008F
+:10E19000000000000000000000000000000000007F
+:10E1A000000000000000000000000000000000006F
+:10E1B000000000000000000000000000000000005F
+:10E1C000000000000000000000000000000000004F
+:10E1D000000000000000000000000000000000003F
+:10E1E000000000000000000000000000000000002F
+:10E1F000000000000000000000000000000000001F
+:10E20000000000000000000000000000000000000E
+:10E2100000000000000000000000000000000000FE
+:10E2200000000000000000000000000000000000EE
+:10E2300000000000000000000000000000000000DE
+:10E2400000000000000000000000000000000000CE
+:10E2500000000000000000000000000000000000BE
+:10E2600000000000000000000000000000000000AE
+:10E27000000000000000000000000000000000009E
+:10E28000000000000000000000000000000000008E
+:10E29000000000000000000000000000000000007E
+:10E2A000000000000000000000000000000000006E
+:10E2B000000000000000000000000000000000005E
+:10E2C000000000000000000000000000000000004E
+:10E2D000000000000000000000000000000000003E
+:10E2E000000000000000000000000000000000002E
+:10E2F000000000000000000000000000000000001E
+:10E30000000000000000000000000000000000000D
+:10E3100000000000000000000000000000000000FD
+:10E3200000000000000000000000000000000000ED
+:10E3300000000000000000000000000000000000DD
+:10E3400000000000000000000000000000000000CD
+:10E3500000000000000000000000000000000000BD
+:10E3600000000000000000000000000000000000AD
+:10E37000000000000000000000000000000000009D
+:10E38000000000000000000000000000000000008D
+:10E39000000000000000000000000000000000007D
+:10E3A000000000000000000000000000000000006D
+:10E3B000000000000000000000000000000000005D
+:10E3C000000000000000000000000000000000004D
+:10E3D000000000000000000000000000000000003D
+:10E3E000000000000000000000000000000000002D
+:10E3F000000000000000000000000000000000001D
+:10E40000000000000000000000000000000000000C
+:10E4100000000000000000000000000000000000FC
+:10E4200000000000000000000000000000000000EC
+:10E4300000000000000000000000000000000000DC
+:10E4400000000000000000000000000000000000CC
+:10E4500000000000000000000000000000000000BC
+:10E4600000000000000000000000000000000000AC
+:10E47000000000000000000000000000000000009C
+:10E48000000000000000000000000000000000008C
+:10E49000000000000000000000000000000000007C
+:10E4A000000000000000000000000000000000006C
+:10E4B000000000000000000000000000000000005C
+:10E4C000000000000000000000000000000000004C
+:10E4D000000000000000000000000000000000003C
+:10E4E000000000000000000000000000000000002C
+:10E4F000000000000000000000000000000000001C
+:10E50000000000000000000000000000000000000B
+:10E5100000000000000000000000000000000000FB
+:10E5200000000000000000000000000000000000EB
+:10E5300000000000000000000000000000000000DB
+:10E5400000000000000000000000000000000000CB
+:10E5500000000000000000000000000000000000BB
+:10E5600000000000000000000000000000000000AB
+:10E57000000000000000000000000000000000009B
+:10E58000000000000000000000000000000000008B
+:10E59000000000000000000000000000000000007B
+:10E5A000000000000000000000000000000000006B
+:10E5B000000000000000000000000000000000005B
+:10E5C000000000000000000000000000000000004B
+:10E5D000000000000000000000000000000000003B
+:10E5E000000000000000000000000000000000002B
+:10E5F000000000000000000000000000000000001B
+:10E60000000000000000000000000000000000000A
+:10E6100000000000000000000000000000000000FA
+:10E6200000000000000000000000000000000000EA
+:10E6300000000000000000000000000000000000DA
+:10E6400000000000000000000000000000000000CA
+:10E6500000000000000000000000000000000000BA
+:10E6600000000000000000000000000000000000AA
+:10E67000000000000000000000000000000000009A
+:10E68000000000000000000000000000000000008A
+:10E69000000000000000000000000000000000007A
+:10E6A000000000000000000000000000000000006A
+:10E6B000000000000000000000000000000000005A
+:10E6C000000000000000000000000000000000004A
+:10E6D000000000000000000000000000000000003A
+:10E6E000000000000000000000000000000000002A
+:10E6F000000000000000000000000000000000001A
+:10E700000000000000000000000000000000000009
+:10E7100000000000000000000000000000000000F9
+:10E7200000000000000000000000000000000000E9
+:10E7300000000000000000000000000000000000D9
+:10E7400000000000000000000000000000000000C9
+:10E7500000000000000000000000000000000000B9
+:10E7600000000000000000000000000000000000A9
+:10E770000000000000000000000000000000000099
+:10E780000000000000000000000000000000000089
+:10E790000000000000000000000000000000000079
+:10E7A0000000000000000000000000000000000069
+:10E7B0000000000000000000000000000000000059
+:10E7C0000000000000000000000000000000000049
+:10E7D0000000000000000000000000000000000039
+:10E7E0000000000000000000000000000000000029
+:10E7F0000000000000000000000000000000000019
+:10E800000000000000000000000000000000000008
+:10E8100000000000000000000000000000000000F8
+:10E8200000000000000000000000000000000000E8
+:10E8300000000000000000000000000000000000D8
+:10E8400000000000000000000000000000000000C8
+:10E8500000000000000000000000000000000000B8
+:10E8600000000000000000000000000000000000A8
+:10E870000000000000000000000000000000000098
+:10E880000000000000000000000000000000000088
+:10E890000000000000000000000000000000000078
+:10E8A0000000000000000000000000000000000068
+:10E8B0000000000000000000000000000000000058
+:10E8C0000000000000000000000000000000000048
+:10E8D0000000000000000000000000000000000038
+:10E8E0000000000000000000000000000000000028
+:10E8F0000000000000000000000000000000000018
+:10E900000000000000000000000000000000000007
+:10E9100000000000000000000000000000000000F7
+:10E9200000000000000000000000000000000000E7
+:10E9300000000000000000000000000000000000D7
+:10E9400001010101010101010101010101010101B7
+:10E9500001010101010101010101010101010101A7
+:10E960000101010101010101010101010101010197
+:10E970000101010101010101010101010101010187
+:10E980000101010101010101010101010101010177
+:10E990000101010101010101010101010101010167
+:10E9A0000101010101010101010101010101010157
+:10E9B0000101010101010101010101010101010147
+:10E9C0000101010101010101010101010101010137
+:10E9D0000101010101010101010101010101010127
+:10E9E0000101010101010101010101010101010117
+:10E9F0000101010101010101010101010101010107
+:10EA000001010101010101010101010101010101F6
+:10EA100001010101010101010101010101010101E6
+:10EA200001010101010101010101010101010101D6
+:10EA300001010101010101010101010101010101C6
+:10EA400001010101010101010101010101010101B6
+:10EA500001010101010101010101010101010101A6
+:10EA60000101010101010101010101010101010196
+:10EA70000101010101010101010101010101010186
+:10EA80000101010101010101010101010101010176
+:10EA90000101010101010101010101010101010166
+:10EAA0000101010101010101010101010101010156
+:10EAB0000101010101010101010101010101010146
+:10EAC0000101010101010101010101010101010136
+:10EAD0000101010101010101010101010101010126
+:10EAE0000101010101010101010101010101010116
+:10EAF0000101010101010101010101010101010106
+:10EB000001010101010101010101010101010101F5
+:10EB100001010101010101010101010101010101E5
+:10EB200001010101010101010101010101010101D5
+:10EB300001010101010101010101010101010101C5
+:10EB400001010101010101010101010101010101B5
+:10EB500001010101010101010101010101010101A5
+:10EB60000101010101010101010101010101010195
+:10EB70000101010101010101010101010101010185
+:10EB80000101010101010101010101010101010175
+:10EB90000101010101010101010101010101010165
+:10EBA0000101010101010101010101010101010155
+:10EBB0000101010101010101010101010101010145
+:10EBC0000101010101010101010101010101010135
+:10EBD0000101010101010101010101010101010125
+:10EBE0000101010101010101010101010101010115
+:10EBF0000101010101010101010101010101010105
+:10EC000001010101010101010101010101010101F4
+:10EC100001010101010101010101010101010101E4
+:10EC200001010101010101010101010101010101D4
+:10EC300001010101010101010101010101010101C4
+:10EC400001010101010101010101010101010101B4
+:10EC500001010101010101010101010101010101A4
+:10EC60000101010101010101010101010101010194
+:10EC70000101010101010101010101010101010184
+:10EC80000101010101010101010101010101010174
+:10EC90000101010101010101010101010101010164
+:10ECA0000101010101010101010101010101010154
+:10ECB0000101010101010101010101010101010144
+:10ECC0000101010101010101010101010101010134
+:10ECD0000101010101010101010101010101010124
+:10ECE0000101010101010101010101010101010114
+:10ECF0000101010101010101010101010101010104
+:10ED000001010101010101010101010101010101F3
+:10ED100001010101010101010101010101010101E3
+:10ED200001010101010101010101010101010101D3
+:10ED300001010101010101010101010101010101C3
+:10ED400000000000000000000000000000000000C3
+:10ED500000000000000000000000000000000000B3
+:10ED600000000000000000000000000000000000A3
+:10ED70000000000000000000000000000000000093
+:10ED80000000000000000000000000000000000083
+:10ED90000000000000000000000000000000000073
+:10EDA0000000000000000000000000000000000063
+:10EDB0000000000000000000000000000000000053
+:10EDC0000000000000000000000000000000000043
+:10EDD0000000000000000000000000000000000033
+:10EDE0000000000000000000000000000000000023
+:10EDF0000000000000000000000000000000000013
+:10EE00000000000000000000000000000000000002
+:10EE100000000000000000000000000000000000F2
+:10EE200000000000000000000000000000000000E2
+:10EE300000000000000000000000000000000000D2
+:10EE400000000000000000000000000000000000C2
+:10EE500000000000000000000000000000000000B2
+:10EE600000000000000000000000000000000000A2
+:10EE70000000000000000000000000000000000092
+:10EE80000000000000000000000000000000000082
+:10EE90000000000000000000000000000000000072
+:10EEA0000000000000000000000000000000000062
+:10EEB0000000000000000000000000000000000052
+:10EEC0000000000000000000000000000000000042
+:10EED0000000000000000000000000000000000032
+:10EEE0000000000000000000000000000000000022
+:10EEF0000000000000000000000000000000000012
+:10EF00000000000000000000000000000000000001
+:10EF100000000000000000000000000000000000F1
+:10EF200000000000000000000000000000000000E1
+:10EF300000000000000000000000000000000000D1
+:10EF400000000000000000000000000000000000C1
+:10EF500000000000000000000000000000000000B1
+:10EF600000000000000000000000000000000000A1
+:10EF70000000000000000000000000000000000091
+:10EF80000000000000000000000000000000000081
+:10EF90000000000000000000000000000000000071
+:10EFA0000000000000000000000000000000000061
+:10EFB0000000000000000000000000000000000051
+:10EFC0000000000000000000000000000000000041
+:10EFD0000000000000000000000000000000000031
+:10EFE0000000000000000000000000000000000021
+:10EFF0000000000000000000000000000000000011
+:10F000000000000000000000000000000000000000
+:10F0100000000000000000000000000000000000F0
+:10F0200000000000000000000000000000000000E0
+:10F0300000000000000000000000000000000000D0
+:10F0400000000000000000000000000000000000C0
+:10F0500000000000000000000000000000000000B0
+:10F0600000000000000000000000000000000000A0
+:10F070000000000000000000000000000000000090
+:10F080000000000000000000000000000000000080
+:10F090000000000000000000000000000000000070
+:10F0A0000000000000000000000000000000000060
+:10F0B0000000000000000000000000000000000050
+:10F0C0000000000000000000000000000000000040
+:10F0D0000000000000000000000000000000000030
+:10F0E0000000000000000000000000000000000020
+:10F0F0000000000000000000000000000000000010
+:10F1000000000000000000000000000000000000FF
+:10F1100000000000000000000000000000000000EF
+:10F1200000000000000000000000000000000000DF
+:10F1300000000000000000000000000000000000CF
+:10F1400000000000000000000000000000000000BF
+:10F1500000000000000000000000000000000000AF
+:10F16000000000000000000000000000000000009F
+:10F17000000000000000000000000000000000008F
+:10F18000000000000000000000000000000000007F
+:10F19000000000000000000000000000000000006F
+:10F1A000000000000000000000000000000000005F
+:10F1B000000000000000000000000000000000004F
+:10F1C000000000000000000000000000000000003F
+:10F1D000000000000000000000000000000000002F
+:10F1E000000000000000000000000000000000001F
+:10F1F000000000000000000000000000000000000F
+:10F2000000000000000000000000000000000000FE
+:10F2100000000000000000000000000000000000EE
+:10F2200000000000000000000000000000000000DE
+:10F2300000000000000000000000000000000000CE
+:10F2400000000000000000000000000000000000BE
+:10F2500000000000000000000000000000000000AE
+:10F26000000000000000000000000000000000009E
+:10F27000000000000000000000000000000000008E
+:10F28000000000000000000000000000000000007E
+:10F29000000000000000000000000000000000006E
+:10F2A000000000000000000000000000000000005E
+:10F2B000000000000000000000000000000000004E
+:10F2C000000000000000000000000000000000003E
+:10F2D000000000000000000000000000000000002E
+:10F2E000000000000000000000000000000000001E
+:10F2F000000000000000000000000000000000000E
+:10F3000000000000000000000000000000000000FD
+:10F3100000000000000000000000000000000000ED
+:10F3200000000000000000000000000000000000DD
+:10F3300000000000000000000000000000000000CD
+:10F3400000000000000000000000000000000000BD
+:10F3500000000000000000000000000000000000AD
+:10F36000000000000000000000000000000000009D
+:10F37000000000000000000000000000000000008D
+:10F38000000000000000000000000000000000007D
+:10F39000000000000000000000000000000000006D
+:10F3A000000000000000000000000000000000005D
+:10F3B000000000000000000000000000000000004D
+:10F3C000000000000000000000000000000000003D
+:10F3D000000000000000000000000000000000002D
+:10F3E000000000000000000000000000000000001D
+:10F3F000000000000000000000000000000000000D
+:10F4000000000000000000000000000000000000FC
+:10F4100000000000000000000000000000000000EC
+:10F4200000000000000000000000000000000000DC
+:10F4300000000000000000000000000000000000CC
+:10F4400000000000000000000000000000000000BC
+:10F4500000000000000000000000000000000000AC
+:10F46000000000000000000000000000000000009C
+:10F47000000000000000000000000000000000008C
+:10F48000000000000000000000000000000000007C
+:10F49000000000000000000000000000000000006C
+:10F4A000000000000000000000000000000000005C
+:10F4B000000000000000000000000000000000004C
+:10F4C000000000000000000000000000000000003C
+:10F4D000000000000000000000000000000000002C
+:10F4E000000000000000000000000000000000001C
+:10F4F000000000000000000000000000000000000C
+:10F5000000000000000000000000000000000000FB
+:10F5100000000000000000000000000000000000EB
+:10F5200000000000000000000000000000000000DB
+:10F5300000000000000000000000000000000000CB
+:10F5400000000000000000000000000000000000BB
+:10F5500000000000000000000000000000000000AB
+:10F56000000000000000000000000000000000009B
+:10F57000000000000000000000000000000000008B
+:10F58000000000000000000000000000000000007B
+:10F59000000000000000000000000000000000006B
+:10F5A000000000000000000000000000000000005B
+:10F5B000000000000000000000000000000000004B
+:10F5C000000000000000000000000000000000003B
+:10F5D000000000000000000000000000000000002B
+:10F5E000000000000000000000000000000000001B
+:10F5F000000000000000000000000000000000000B
+:10F6000000000000000000000000000000000000FA
+:10F6100000000000000000000000000000000000EA
+:10F6200000000000000000000000000000000000DA
+:10F6300000000000000000000000000000000000CA
+:10F6400000000000000000000000000000000000BA
+:10F6500000000000000000000000000000000000AA
+:10F66000000000000000000000000000000000009A
+:10F67000000000000000000000000000000000008A
+:10F68000000000000000000000000000000000007A
+:10F69000000000000000000000000000000000006A
+:10F6A000000000000000000000000000000000005A
+:10F6B000000000000000000000000000000000004A
+:10F6C000000000000000000000000000000000003A
+:10F6D000000000000000000000000000000000002A
+:10F6E000000000000000000000000000000000001A
+:10F6F000000000000000000000000000000000000A
+:10F7000000000000000000000000000000000000F9
+:10F7100000000000000000000000000000000000E9
+:10F7200000000000000000000000000000000000D9
+:10F7300000000000000000000000000000000000C9
+:10F7400000000000000000000000000000000000B9
+:10F7500000000000000000000000000000000000A9
+:10F760000000000000000000000000000000000099
+:10F770000000000000000000000000000000000089
+:10F780000000000000000000000000000000000079
+:10F790000000000000000000000000000000000069
+:10F7A0000000000000000000000000000000000059
+:10F7B0000000000000000000000000000000000049
+:10F7C0000000000000000000000000000000000039
+:10F7D0000000000000000000000000000000000029
+:10F7E0000000000000000000000000000000000019
+:10F7F0000000000000000000000000000000000009
+:10F8000000000000000000000000000000000000F8
+:10F8100000000000000000000000000000000000E8
+:10F8200000000000000000000000000000000000D8
+:10F8300000000000000000000000000000000000C8
+:10F8400000000000000000000000000000000000B8
+:10F8500000000000000000000000000000000000A8
+:10F860000000000000000000000000000000000098
+:10F870000000000000000000000000000000000088
+:10F880000000000000000000000000000000000078
+:10F890000000000000000000000000000000000068
+:10F8A0000000000000000000000000000000000058
+:10F8B0000000000000000000000000000000000048
+:10F8C0000000000000000000000000000000000038
+:10F8D0000000000000000000000000000000000028
+:10F8E0000000000000000000000000000000000018
+:10F8F0000000000000000000000000000000000008
+:10F9000000000000000000000000000000000000F7
+:10F9100000000000000000000000000000000000E7
+:10F9200000000000000000000000000000000000D7
+:10F9300000000000000000000000000000000000C7
+:10F9400000000000000000000000000000000000B7
+:10F9500000000000000000000000000000000000A7
+:10F960000000000000000000000000000000000097
+:10F970000000000000000000000000000000000087
+:10F980000000000000000000000000000000000077
+:10F990000000000000000000000000000000000067
+:10F9A0000000000000000000000000000000000057
+:10F9B0000000000000000000000000000000000047
+:10F9C0000000000000000000000000000000000037
+:10F9D0000000000000000000000000000000000027
+:10F9E0000000000000000000000000000000000017
+:10F9F0000000000000000000000000000000000007
+:10FA000000000000000000000000000000000000F6
+:10FA100000000000000000000000000000000000E6
+:10FA200000000000000000000000000000000000D6
+:10FA300000000000000000000000000000000000C6
+:10FA400000000000000000000000000000000000B6
+:10FA500000000000000000000000000000000000A6
+:10FA60000000000000000000000000000000000096
+:10FA70000000000000000000000000000000000086
+:10FA80000000000000000000000000000000000076
+:10FA90000000000000000000000000000000000066
+:10FAA0000000000000000000000000000000000056
+:10FAB0000000000000000000000000000000000046
+:10FAC0000000000000000000000000000000000036
+:10FAD0000000000000000000000000000000000026
+:10FAE0000000000000000000000000000000000016
+:10FAF0000000000000000000000000000000000006
+:10FB000000000000000000000000000000000000F5
+:10FB100000000000000000000000000000000000E5
+:10FB200000000000000000000000000000000000D5
+:10FB300000000000000000000000000000000000C5
+:10FB400000000000000000000000000000000000B5
+:10FB500000000000000000000000000000000000A5
+:10FB60000000000000000000000000000000000095
+:10FB70000000000000000000000000000000000085
+:10FB80000000000000000000000000000000000075
+:10FB90000000000000000000000000000000000065
+:10FBA0000000000000000000000000000000000055
+:10FBB0000000000000000000000000000000000045
+:10FBC0000000000000000000000000000000000035
+:10FBD0000000000000000000000000000000000025
+:10FBE0000000000000000000000000000000000015
+:10FBF0000000000000000000000000000000000005
+:10FC000000000000000000000000000000000000F4
+:10FC100000000000000000000000000000000000E4
+:10FC200000000000000000000000000000000000D4
+:10FC300000000000000000000000000000000000C4
+:10FC400000000000000000000000000000000000B4
+:10FC500000000000000000000000000000000000A4
+:10FC60000000000000000000000000000000000094
+:10FC70000000000000000000000000000000000084
+:10FC80000000000000000000000000000000000074
+:10FC90000000000000000000000000000000000064
+:10FCA0000000000000000000000000000000000054
+:10FCB0000000000000000000000000000000000044
+:10FCC0000000000000000000000000000000000034
+:10FCD0000000000000000000000000000000000024
+:10FCE0000000000000000000000000000000000014
+:10FCF0000000000000000000000000000000000004
+:10FD000000000000000000000000000000000000F3
+:10FD100000000000000000000000000000000000E3
+:10FD200000000000000000000000000000000000D3
+:10FD300000000000000000000000000000000000C3
+:10FD400000000000000000000000000000000000B3
+:10FD500000000000000000000000000000000000A3
+:10FD60000000000000000000000000000000000093
+:10FD70000000000000000000000000000000000083
+:10FD80000000000000000000000000000000000073
+:10FD90000000000000000000000000000000000063
+:10FDA0000000000000000000000000000000000053
+:10FDB0000000000000000000000000000000000043
+:10FDC0000000000000000000000000000000000033
+:10FDD0000000000000000000000000000000000023
+:10FDE0000000000000000000000000000000000013
+:10FDF0000000000000000000000000000000000003
+:10FE000000000000000000000000000000000000F2
+:10FE100000000000000000000000000000000000E2
+:10FE200000000000000000000000000000000000D2
+:10FE300000000000000000000000000000000000C2
+:10FE400000000000000000000000000000000000B2
+:10FE500000000000000000000000000000000000A2
+:10FE60000000000000000000000000000000000092
+:10FE70000000000000000000000000000000000082
+:10FE80000000000000000000000000000000000072
+:10FE90000000000000000000000000000000000062
+:10FEA0000000000000000000000000000000000052
+:10FEB0000000000000000000000000000000000042
+:10FEC0000000000000000000000000000000000032
+:10FED0000000000000000000000000000000000022
+:10FEE0000000000000000000000000000000000012
+:10FEF0000000000000000000000000000000000002
+:10FF000000000000000000000000000000000000F1
+:10FF100000000000000000000000000000000000E1
+:10FF200000000000000000000000000000000000D1
+:10FF300000000000000000000000000000000000C1
+:10FF400000000000000000000000000000000000B1
+:10FF500000000000000000000000000000000000A1
+:10FF60000000000000000000000000000000000091
+:10FF70000000000000000000000000000000000081
+:10FF80000000000000000000000000000000000071
+:10FF90000000000000000000000000000000000061
+:10FFA0000000000000000000000000000000000051
+:10FFB0000000000000000000000000000000000041
+:10FFC0000000000000000000000000000000000031
+:10FFD0000000000000000000000000000000000021
+:10FFE0000000000000000000000000000000000011
+:10FFF0000000000000000000000000000000000001
+:0200000260009C
+:1000000000000000000000000000000000000000F0
+:1000100000000000000000000000000000000000E0
+:1000200000000000000000000000000000000000D0
+:1000300000000000000000000000000000000000C0
+:1000400000000000000000000000000000000000B0
+:1000500000000000000000000000000000000000A0
+:100060000000000000000000000000000000000090
+:100070000000000000000000000000000000000080
+:100080000000000000000000000000000000000070
+:100090000000000000000000000000000000000060
+:1000A0000000000000000000000000000000000050
+:1000B0000000000000000000000000000000000040
+:1000C0000000000000000000000000000000000030
+:1000D0000000000000000000000000000000000020
+:1000E0000000000000000000000000000000000010
+:1000F0000000000000000000000000000000000000
+:1001000000000000000000000000000000000000EF
+:1001100000000000000000000000000000000000DF
+:1001200000000000000000000000000000000000CF
+:1001300000000000000000000000000000000000BF
+:1001400000000000000000000000000000000000AF
+:10015000000000000000000000000000000000009F
+:10016000000000000000000000000000000000008F
+:10017000000000000000000000000000000000007F
+:10018000000000000000000000000000000000006F
+:10019000000000000000000000000000000000005F
+:1001A000000000000000000000000000000000004F
+:1001B000000000000000000000000000000000003F
+:1001C000000000000000000000000000000000002F
+:1001D000000000000000000000000000000000001F
+:1001E000000000000000000000000000000000000F
+:1001F00000000000000000000000000000000000FF
+:1002000000000000000000000000000000000000EE
+:1002100000000000000000000000000000000000DE
+:1002200000000000000000000000000000000000CE
+:1002300000000000000000000000000000000000BE
+:10024000010101010101010101010101010101019E
+:10025000010101010101010101010101010101018E
+:10026000010101010101010101010101010101017E
+:10027000010101010101010101010101010101016E
+:10028000010101010101010101010101010101015E
+:10029000010101010101010101010101010101014E
+:1002A000010101010101010101010101010101013E
+:1002B000010101010101010101010101010101012E
+:1002C000010101010101010101010101010101011E
+:1002D000010101010101010101010101010101010E
+:1002E00001010101010101010101010101010101FE
+:1002F00001010101010101010101010101010101EE
+:1003000001010101010101010101010101010101DD
+:1003100001010101010101010101010101010101CD
+:1003200001010101010101010101010101010101BD
+:1003300001010101010101010101010101010101AD
+:10034000010101010101010101010101010101019D
+:10035000010101010101010101010101010101018D
+:10036000010101010101010101010101010101017D
+:10037000010101010101010101010101010101016D
+:10038000010101010101010101010101010101015D
+:10039000010101010101010101010101010101014D
+:1003A000010101010101010101010101010101013D
+:1003B000010101010101010101010101010101012D
+:1003C000010101010101010101010101010101011D
+:1003D000010101010101010101010101010101010D
+:1003E00001010101010101010101010101010101FD
+:1003F00001010101010101010101010101010101ED
+:1004000001010101010101010101010101010101DC
+:1004100001010101010101010101010101010101CC
+:1004200001010101010101010101010101010101BC
+:1004300001010101010101010101010101010101AC
+:10044000010101010101010101010101010101019C
+:10045000010101010101010101010101010101018C
+:10046000010101010101010101010101010101017C
+:10047000010101010101010101010101010101016C
+:10048000010101010101010101010101010101015C
+:10049000010101010101010101010101010101014C
+:1004A000010101010101010101010101010101013C
+:1004B000010101010101010101010101010101012C
+:1004C000010101010101010101010101010101011C
+:1004D000010101010101010101010101010101010C
+:1004E00001010101010101010101010101010101FC
+:1004F00001010101010101010101010101010101EC
+:1005000001010101010101010101010101010101DB
+:1005100001010101010101010101010101010101CB
+:1005200001010101010101010101010101010101BB
+:1005300001010101010101010101010101010101AB
+:10054000010101010101010101010101010101019B
+:10055000010101010101010101010101010101018B
+:10056000010101010101010101010101010101017B
+:10057000010101010101010101010101010101016B
+:10058000010101010101010101010101010101015B
+:10059000010101010101010101010101010101014B
+:1005A000010101010101010101010101010101013B
+:1005B000010101010101010101010101010101012B
+:1005C000010101010101010101010101010101011B
+:1005D000010101010101010101010101010101010B
+:1005E00001010101010101010101010101010101FB
+:1005F00001010101010101010101010101010101EB
+:1006000001010101010101010101010101010101DA
+:1006100001010101010101010101010101010101CA
+:1006200001010101010101010101010101010101BA
+:1006300001010101010101010101010101010101AA
+:1006400000000000000000000000000000000000AA
+:10065000000000000000000000000000000000009A
+:10066000000000000000000000000000000000008A
+:10067000000000000000000000000000000000007A
+:10068000000000000000000000000000000000006A
+:10069000000000000000000000000000000000005A
+:1006A000000000000000000000000000000000004A
+:1006B000000000000000000000000000000000003A
+:1006C000000000000000000000000000000000002A
+:1006D000000000000000000000000000000000001A
+:1006E000000000000000000000000000000000000A
+:1006F00000000000000000000000000000000000FA
+:1007000000000000000000000000000000000000E9
+:1007100000000000000000000000000000000000D9
+:1007200000000000000000000000000000000000C9
+:1007300000000000000000000000000000000000B9
+:1007400000000000000000000000000000000000A9
+:100750000000000000000000000000000000000099
+:100760000000000000000000000000000000000089
+:100770000000000000000000000000000000000079
+:100780000000000000000000000000000000000069
+:100790000000000000000000000000000000000059
+:1007A0000000000000000000000000000000000049
+:1007B0000000000000000000000000000000000039
+:1007C0000000000000000000000000000000000029
+:1007D0000000000000000000000000000000000019
+:1007E0000000000000000000000000000000000009
+:1007F00000000000000000000000000000000000F9
+:1008000000000000000000000000000000000000E8
+:1008100000000000000000000000000000000000D8
+:1008200000000000000000000000000000000000C8
+:1008300000000000000000000000000000000000B8
+:1008400000000000000000000000000000000000A8
+:100850000000000000000000000000000000000098
+:100860000000000000000000000000000000000088
+:100870000000000000000000000000000000000078
+:100880000000000000000000000000000000000068
+:100890000000000000000000000000000000000058
+:1008A0000000000000000000000000000000000048
+:1008B0000000000000000000000000000000000038
+:1008C0000000000000000000000000000000000028
+:1008D0000000000000000000000000000000000018
+:1008E0000000000000000000000000000000000008
+:1008F00000000000000000000000000000000000F8
+:1009000000000000000000000000000000000000E7
+:1009100000000000000000000000000000000000D7
+:1009200000000000000000000000000000000000C7
+:1009300000000000000000000000000000000000B7
+:1009400000000000000000000000000000000000A7
+:100950000000000000000000000000000000000097
+:100960000000000000000000000000000000000087
+:100970000000000000000000000000000000000077
+:100980000000000000000000000000000000000067
+:100990000000000000000000000000000000000057
+:1009A0000000000000000000000000000000000047
+:1009B0000000000000000000000000000000000037
+:1009C0000000000000000000000000000000000027
+:1009D0000000000000000000000000000000000017
+:1009E0000000000000000000000000000000000007
+:1009F00000000000000000000000000000000000F7
+:100A000000000000000000000000000000000000E6
+:100A100000000000000000000000000000000000D6
+:100A200000000000000000000000000000000000C6
+:100A300000000000000000000000000000000000B6
+:100A40000101010101010101010101010101010196
+:100A50000101010101010101010101010101010186
+:100A60000101010101010101010101010101010176
+:100A70000101010101010101010101010101010166
+:100A80000101010101010101010101010101010156
+:100A90000101010101010101010101010101010146
+:100AA0000101010101010101010101010101010136
+:100AB0000101010101010101010101010101010126
+:100AC0000101010101010101010101010101010116
+:100AD0000101010101010101010101010101010106
+:100AE00001010101010101010101010101010101F6
+:100AF00001010101010101010101010101010101E6
+:100B000001010101010101010101010101010101D5
+:100B100001010101010101010101010101010101C5
+:100B200001010101010101010101010101010101B5
+:100B300001010101010101010101010101010101A5
+:100B40000101010101010101010101010101010195
+:100B50000101010101010101010101010101010185
+:100B60000101010101010101010101010101010175
+:100B70000101010101010101010101010101010165
+:100B80000101010101010101010101010101010155
+:100B90000101010101010101010101010101010145
+:100BA0000101010101010101010101010101010135
+:100BB0000101010101010101010101010101010125
+:100BC0000101010101010101010101010101010115
+:100BD0000101010101010101010101010101010105
+:100BE00001010101010101010101010101010101F5
+:100BF00001010101010101010101010101010101E5
+:100C000001010101010101010101010101010101D4
+:100C100001010101010101010101010101010101C4
+:100C200001010101010101010101010101010101B4
+:100C300001010101010101010101010101010101A4
+:100C40000202020202020202020202020202020284
+:100C50000202020202020202020202020202020274
+:100C60000202020202020202020202020202020264
+:100C70000202020202020202020202020202020254
+:100C80000202020202020202020202020202020244
+:100C90000202020202020202020202020202020234
+:100CA0000202020202020202020202020202020224
+:100CB0000202020202020202020202020202020214
+:100CC0000202020202020202020202020202020204
+:100CD00002020202020202020202020202020202F4
+:100CE00002020202020202020202020202020202E4
+:100CF00002020202020202020202020202020202D4
+:100D000002020202020202020202020202020202C3
+:100D100002020202020202020202020202020202B3
+:100D200002020202020202020202020202020202A3
+:100D30000202020202020202020202020202020293
+:100D40000202020202020202020202020202020283
+:100D50000202020202020202020202020202020273
+:100D60000202020202020202020202020202020263
+:100D70000202020202020202020202020202020253
+:100D80000202020202020202020202020202020243
+:100D90000202020202020202020202020202020233
+:100DA0000202020202020202020202020202020223
+:100DB0000202020202020202020202020202020213
+:100DC0000202020202020202020202020202020203
+:100DD00002020202020202020202020202020202F3
+:100DE00002020202020202020202020202020202E3
+:100DF00002020202020202020202020202020202D3
+:100E000002020202020202020202020202020202C2
+:100E100002020202020202020202020202020202B2
+:100E200002020202020202020202020202020202A2
+:100E30000202020202020202020202020202020292
+:100E40000202020202020202020202020202020282
+:100E50000202020202020202020202020202020272
+:100E60000202020202020202020202020202020262
+:100E70000202020202020202020202020202020252
+:100E80000202020202020202020202020202020242
+:100E90000202020202020202020202020202020232
+:100EA0000202020202020202020202020202020222
+:100EB0000202020202020202020202020202020212
+:100EC0000202020202020202020202020202020202
+:100ED00002020202020202020202020202020202F2
+:100EE00002020202020202020202020202020202E2
+:100EF00002020202020202020202020202020202D2
+:100F000002020202020202020202020202020202C1
+:100F100002020202020202020202020202020202B1
+:100F200002020202020202020202020202020202A1
+:100F30000202020202020202020202020202020291
+:100F40000202020202020202020202020202020281
+:100F50000202020202020202020202020202020271
+:100F60000202020202020202020202020202020261
+:100F70000202020202020202020202020202020251
+:100F80000202020202020202020202020202020241
+:100F90000202020202020202020202020202020231
+:100FA0000202020202020202020202020202020221
+:100FB0000202020202020202020202020202020211
+:100FC0000202020202020202020202020202020201
+:100FD00002020202020202020202020202020202F1
+:100FE00002020202020202020202020202020202E1
+:100FF00002020202020202020202020202020202D1
+:1010000002020202020202020202020202020202C0
+:1010100002020202020202020202020202020202B0
+:1010200002020202020202020202020202020202A0
+:101030000202020202020202020202020202020290
+:101040000202020202020202020202020202020280
+:101050000202020202020202020202020202020270
+:101060000202020202020202020202020202020260
+:101070000202020202020202020202020202020250
+:101080000202020202020202020202020202020240
+:101090000202020202020202020202020202020230
+:1010A0000202020202020202020202020202020220
+:1010B0000202020202020202020202020202020210
+:1010C0000202020202020202020202020202020200
+:1010D00002020202020202020202020202020202F0
+:1010E00002020202020202020202020202020202E0
+:1010F00002020202020202020202020202020202D0
+:1011000002020202020202020202020202020202BF
+:1011100002020202020202020202020202020202AF
+:10112000020202020202020202020202020202029F
+:10113000020202020202020202020202020202028F
+:10114000020202020202020202020202020202027F
+:10115000020202020202020202020202020202026F
+:10116000020202020202020202020202020202025F
+:10117000020202020202020202020202020202024F
+:10118000020202020202020202020202020202023F
+:10119000020202020202020202020202020202022F
+:1011A000020202020202020202020202020202021F
+:1011B000020202020202020202020202020202020F
+:1011C00002020202020202020202020202020202FF
+:1011D00002020202020202020202020202020202EF
+:1011E00002020202020202020202020202020202DF
+:1011F00002020202020202020202020202020202CF
+:1012000002020202020202020202020202020202BE
+:1012100002020202020202020202020202020202AE
+:10122000020202020202020202020202020202029E
+:10123000020202020202020202020202020202028E
+:10124000020202020202020202020202020202027E
+:10125000020202020202020202020202020202026E
+:10126000020202020202020202020202020202025E
+:10127000020202020202020202020202020202024E
+:10128000020202020202020202020202020202023E
+:10129000020202020202020202020202020202022E
+:1012A000020202020202020202020202020202021E
+:1012B000020202020202020202020202020202020E
+:1012C00002020202020202020202020202020202FE
+:1012D00002020202020202020202020202020202EE
+:1012E00002020202020202020202020202020202DE
+:1012F00002020202020202020202020202020202CE
+:1013000002020202020202020202020202020202BD
+:1013100002020202020202020202020202020202AD
+:10132000020202020202020202020202020202029D
+:10133000020202020202020202020202020202028D
+:10134000020202020202020202020202020202027D
+:10135000020202020202020202020202020202026D
+:10136000020202020202020202020202020202025D
+:10137000020202020202020202020202020202024D
+:10138000020202020202020202020202020202023D
+:10139000020202020202020202020202020202022D
+:1013A000020202020202020202020202020202021D
+:1013B000020202020202020202020202020202020D
+:1013C00002020202020202020202020202020202FD
+:1013D00002020202020202020202020202020202ED
+:1013E00002020202020202020202020202020202DD
+:1013F00002020202020202020202020202020202CD
+:1014000002020202020202020202020202020202BC
+:1014100002020202020202020202020202020202AC
+:10142000020202020202020202020202020202029C
+:10143000020202020202020202020202020202028C
+:10144000020202020202020202020202020202027C
+:10145000020202020202020202020202020202026C
+:10146000020202020202020202020202020202025C
+:10147000020202020202020202020202020202024C
+:10148000020202020202020202020202020202023C
+:10149000020202020202020202020202020202022C
+:1014A000020202020202020202020202020202021C
+:1014B000020202020202020202020202020202020C
+:1014C00002020202020202020202020202020202FC
+:1014D00002020202020202020202020202020202EC
+:1014E00002020202020202020202020202020202DC
+:1014F00002020202020202020202020202020202CC
+:1015000002020202020202020202020202020202BB
+:1015100002020202020202020202020202020202AB
+:10152000020202020202020202020202020202029B
+:10153000020202020202020202020202020202028B
+:10154000020202020202020202020202020202027B
+:10155000020202020202020202020202020202026B
+:10156000020202020202020202020202020202025B
+:10157000020202020202020202020202020202024B
+:10158000020202020202020202020202020202023B
+:10159000020202020202020202020202020202022B
+:1015A000020202020202020202020202020202021B
+:1015B000020202020202020202020202020202020B
+:1015C00002020202020202020202020202020202FB
+:1015D00002020202020202020202020202020202EB
+:1015E00002020202020202020202020202020202DB
+:1015F00002020202020202020202020202020202CB
+:1016000002020202020202020202020202020202BA
+:1016100002020202020202020202020202020202AA
+:10162000020202020202020202020202020202029A
+:10163000020202020202020202020202020202028A
+:10164000000000000000000000000000000000009A
+:10165000000000000000000000000000000000008A
+:10166000000000000000000000000000000000007A
+:10167000000000000000000000000000000000006A
+:10168000000000000000000000000000000000005A
+:10169000000000000000000000000000000000004A
+:1016A000000000000000000000000000000000003A
+:1016B000000000000000000000000000000000002A
+:1016C000000000000000000000000000000000001A
+:1016D000000000000000000000000000000000000A
+:1016E00000000000000000000000000000000000FA
+:1016F00000000000000000000000000000000000EA
+:1017000000000000000000000000000000000000D9
+:1017100000000000000000000000000000000000C9
+:1017200000000000000000000000000000000000B9
+:1017300000000000000000000000000000000000A9
+:101740000000000000000000000000000000000099
+:101750000000000000000000000000000000000089
+:101760000000000000000000000000000000000079
+:101770000000000000000000000000000000000069
+:101780000000000000000000000000000000000059
+:101790000000000000000000000000000000000049
+:1017A0000000000000000000000000000000000039
+:1017B0000000000000000000000000000000000029
+:1017C0000000000000000000000000000000000019
+:1017D0000000000000000000000000000000000009
+:1017E00000000000000000000000000000000000F9
+:1017F00000000000000000000000000000000000E9
+:1018000000000000000000000000000000000000D8
+:1018100000000000000000000000000000000000C8
+:1018200000000000000000000000000000000000B8
+:1018300000000000000000000000000000000000A8
+:101840000000000000000000000000000000000098
+:101850000000000000000000000000000000000088
+:101860000000000000000000000000000000000078
+:101870000000000000000000000000000000000068
+:101880000000000000000000000000000000000058
+:101890000000000000000000000000000000000048
+:1018A0000000000000000000000000000000000038
+:1018B0000000000000000000000000000000000028
+:1018C0000000000000000000000000000000000018
+:1018D0000000000000000000000000000000000008
+:1018E00000000000000000000000000000000000F8
+:1018F00000000000000000000000000000000000E8
+:1019000000000000000000000000000000000000D7
+:1019100000000000000000000000000000000000C7
+:1019200000000000000000000000000000000000B7
+:1019300000000000000000000000000000000000A7
+:101940000000000000000000000000000000000097
+:101950000000000000000000000000000000000087
+:101960000000000000000000000000000000000077
+:101970000000000000000000000000000000000067
+:101980000000000000000000000000000000000057
+:101990000000000000000000000000000000000047
+:1019A0000000000000000000000000000000000037
+:1019B0000000000000000000000000000000000027
+:1019C0000000000000000000000000000000000017
+:1019D0000000000000000000000000000000000007
+:1019E00000000000000000000000000000000000F7
+:1019F00000000000000000000000000000000000E7
+:101A000000000000000000000000000000000000D6
+:101A100000000000000000000000000000000000C6
+:101A200000000000000000000000000000000000B6
+:101A300000000000000000000000000000000000A6
+:101A40000000000000000000000000000000000096
+:101A50000000000000000000000000000000000086
+:101A60000000000000000000000000000000000076
+:101A70000000000000000000000000000000000066
+:101A80000000000000000000000000000000000056
+:101A90000000000000000000000000000000000046
+:101AA0000000000000000000000000000000000036
+:101AB0000000000000000000000000000000000026
+:101AC0000000000000000000000000000000000016
+:101AD0000000000000000000000000000000000006
+:101AE00000000000000000000000000000000000F6
+:101AF00000000000000000000000000000000000E6
+:101B000000000000000000000000000000000000D5
+:101B100000000000000000000000000000000000C5
+:101B200000000000000000000000000000000000B5
+:101B300000000000000000000000000000000000A5
+:101B40000000000000000000000000000000000095
+:101B50000000000000000000000000000000000085
+:101B60000000000000000000000000000000000075
+:101B70000000000000000000000000000000000065
+:101B80000000000000000000000000000000000055
+:101B90000000000000000000000000000000000045
+:101BA0000000000000000000000000000000000035
+:101BB0000000000000000000000000000000000025
+:101BC0000000000000000000000000000000000015
+:101BD0000000000000000000000000000000000005
+:101BE00000000000000000000000000000000000F5
+:101BF00000000000000000000000000000000000E5
+:101C000000000000000000000000000000000000D4
+:101C100000000000000000000000000000000000C4
+:101C200000000000000000000000000000000000B4
+:101C300000000000000000000000000000000000A4
+:101C40006300000000000000010101010101010129
+:101C50000101010101010101010101010101010174
+:101C60000101010101010101010101010101010164
+:101C70000101010101010101010101010101010154
+:101C80000101010101010101010101010101010144
+:101C90000101010101010101010101010101010134
+:101CA0000101010101010101010101010101010124
+:101CB0000101010101010101010101010101010114
+:101CC0000101010101010101010101010101010104
+:101CD00001010101010101010101010101010101F4
+:101CE00001010101010101010101010101010101E4
+:101CF00001010101010101010101010101010101D4
+:101D000001010101010101010101010101010101C3
+:101D100001010101010101010101010101010101B3
+:101D200001010101010101010101010101010101A3
+:101D30000101010101010101010101010101010193
+:101D40000101010101010101010101010101010183
+:101D50000101010101010101010101010101010173
+:101D60000101010101010101010101010101010163
+:101D70000101010101010101010101010101010153
+:101D80000101010101010101010101010101010143
+:101D90000101010101010101010101010101010133
+:101DA0000101010101010101010101010101010123
+:101DB0000101010101010101010101010101010113
+:101DC0000101010101010101010101010101010103
+:101DD00001010101010101010101010101010101F3
+:101DE00001010101010101010101010101010101E3
+:101DF00001010101010101010101010101010101D3
+:101E000001010101010101010101010101010101C2
+:101E100001010101010101010101010101010101B2
+:101E200001010101010101010101010101010101A2
+:101E30000101010101010101010101010101010192
+:101E40000101010101010101010101010101010182
+:101E50000101010101010101010101010101010172
+:101E60000101010101010101010101010101010162
+:101E70000101010101010101010101010101010152
+:101E80000101010101010101010101010101010142
+:101E90000101010101010101010101010101010132
+:101EA0000101010101010101010101010101010122
+:101EB0000101010101010101010101010101010112
+:101EC0000101010101010101010101010101010102
+:101ED00001010101010101010101010101010101F2
+:101EE00001010101010101010101010101010101E2
+:101EF00001010101010101010101010101010101D2
+:101F000001010101010101010101010101010101C1
+:101F100001010101010101010101010101010101B1
+:101F200001010101010101010101010101010101A1
+:101F30000101010101010101010101010101010191
+:101F40000101010101010101010101010101010181
+:101F50000101010101010101010101010101010171
+:101F60000101010101010101010101010101010161
+:101F70000101010101010101010101010101010151
+:101F80000101010101010101010101010101010141
+:101F90000101010101010101010101010101010131
+:101FA0000101010101010101010101010101010121
+:101FB0000101010101010101010101010101010111
+:101FC0000101010101010101010101010101010101
+:101FD00001010101010101010101010101010101F1
+:101FE00001010101010101010101010101010101E1
+:101FF00001010101010101010101010101010101D1
+:1020000001010101010101010101010101010101C0
+:1020100001010101010101010101010101010101B0
+:1020200001010101010101010101010101010101A0
+:102030000101010101010101010101010101010190
+:102040000101010101010101000000000000000088
+:102050000000000000000000000000000000000080
+:102060000000000000000000000000000000000070
+:102070000000000000000000000000000000000060
+:102080000000000000000000000000000000000050
+:102090000000000000000000000000000000000040
+:1020A0000000000000000000000000000000000030
+:1020B0000000000000000000000000000000000020
+:1020C0000000000000000000000000000000000010
+:1020D0000000000000000000000000000000000000
+:1020E00000000000000000000000000000000000F0
+:1020F00000000000000000000000000000000000E0
+:1021000000000000000000000000000000000000CF
+:1021100000000000000000000000000000000000BF
+:1021200000000000000000000000000000000000AF
+:10213000000000000000000000000000000000009F
+:10214000000000000000000000000000000000008F
+:10215000000000000000000000000000000000007F
+:10216000000000000000000000000000000000006F
+:10217000000000000000000000000000000000005F
+:10218000000000000000000000000000000000004F
+:10219000000000000000000000000000000000003F
+:1021A000000000000000000000000000000000002F
+:1021B000000000000000000000000000000000001F
+:1021C000000000000000000000000000000000000F
+:1021D00000000000000000000000000000000000FF
+:1021E00000000000000000000000000000000000EF
+:1021F00000000000000000000000000000000000DF
+:1022000000000000000000000000000000000000CE
+:1022100000000000000000000000000000000000BE
+:1022200000000000000000000000000000000000AE
+:10223000000000000000000000000000000000009E
+:10224000000000000000000000000000000000008E
+:10225000000000000000000000000000000000007E
+:10226000000000000000000000000000000000006E
+:10227000000000000000000000000000000000005E
+:10228000000000000000000000000000000000004E
+:10229000000000000000000000000000000000003E
+:1022A000000000000000000000000000000000002E
+:1022B000000000000000000000000000000000001E
+:1022C000000000000000000000000000000000000E
+:1022D00000000000000000000000000000000000FE
+:1022E00000000000000000000000000000000000EE
+:1022F00000000000000000000000000000000000DE
+:1023000000000000000000000000000000000000CD
+:1023100000000000000000000000000000000000BD
+:1023200000000000000000000000000000000000AD
+:10233000000000000000000000000000000000009D
+:10234000000000000000000000000000000000008D
+:10235000000000000000000000000000000000007D
+:10236000000000000000000000000000000000006D
+:10237000000000000000000000000000000000005D
+:10238000000000000000000000000000000000004D
+:10239000000000000000000000000000000000003D
+:1023A000000000000000000000000000000000002D
+:1023B000000000000000000000000000000000001D
+:1023C000000000000000000000000000000000000D
+:1023D00000000000000000000000000000000000FD
+:1023E00000000000000000000000000000000000ED
+:1023F00000000000000000000000000000000000DD
+:1024000000000000000000000000000000000000CC
+:1024100000000000000000000000000000000000BC
+:1024200000000000000000000000000000000000AC
+:10243000000000000000000000000000000000009C
+:10244000000000000000000000000000000000008C
+:10245000000000000000000000000000000000007C
+:10246000000000000000000000000000000000006C
+:10247000000000000000000000000000000000005C
+:10248000000000000000000000000000000000004C
+:10249000000000000000000000000000000000003C
+:1024A000000000000000000000000000000000002C
+:1024B000000000000000000000000000000000001C
+:1024C000000000000000000000000000000000000C
+:1024D00000000000000000000000000000000000FC
+:1024E00000000000000000000000000000000000EC
+:1024F00000000000000000000000000000000000DC
+:1025000000000000000000000000000000000000CB
+:1025100000000000000000000000000000000000BB
+:1025200000000000000000000000000000000000AB
+:10253000000000000000000000000000000000009B
+:10254000000000000000000000000000000000008B
+:10255000000000000000000000000000000000007B
+:10256000000000000000000000000000000000006B
+:10257000000000000000000000000000000000005B
+:10258000000000000000000000000000000000004B
+:10259000000000000000000000000000000000003B
+:1025A000000000000000000000000000000000002B
+:1025B000000000000000000000000000000000001B
+:1025C000000000000000000000000000000000000B
+:1025D00000000000000000000000000000000000FB
+:1025E00000000000000000000000000000000000EB
+:1025F00000000000000000000000000000000000DB
+:1026000000000000000000000000000000000000CA
+:1026100000000000000000000000000000000000BA
+:1026200000000000000000000000000000000000AA
+:10263000000000000000000000000000000000009A
+:10264000000000000000000000000000000000008A
+:10265000000000000000000000000000000000007A
+:10266000000000000000000000000000000000006A
+:10267000000000000000000000000000000000005A
+:10268000000000000000000000000000000000004A
+:10269000000000000000000000000000000000003A
+:1026A000000000000000000000000000000000002A
+:1026B000000000000000000000000000000000001A
+:1026C000000000000000000000000000000000000A
+:1026D00000000000000000000000000000000000FA
+:1026E00000000000000000000000000000000000EA
+:1026F00000000000000000000000000000000000DA
+:1027000000000000000000000000000000000000C9
+:1027100000000000000000000000000000000000B9
+:1027200000000000000000000000000000000000A9
+:102730000000000000000000000000000000000099
+:102740000000000000000000000000000000000089
+:102750000000000000000000000000000000000079
+:102760000000000000000000000000000000000069
+:102770000000000000000000000000000000000059
+:102780000000000000000000000000000000000049
+:102790000000000000000000000000000000000039
+:1027A0000000000000000000000000000000000029
+:1027B0000000000000000000000000000000000019
+:1027C0000000000000000000000000000000000009
+:1027D00000000000000000000000000000000000F9
+:1027E00000000000000000000000000000000000E9
+:1027F00000000000000000000000000000000000D9
+:1028000000000000000000000000000000000000C8
+:1028100000000000000000000000000000000000B8
+:1028200000000000000000000000000000000000A8
+:102830000000000000000000000000000000000098
+:102840000000000000000000000000000000000088
+:102850000000000000000000000000000000000078
+:102860000000000000000000000000000000000068
+:102870000000000000000000000000000000000058
+:102880000000000000000000000000000000000048
+:102890000000000000000000000000000000000038
+:1028A0000000000000000000000000000000000028
+:1028B0000000000000000000000000000000000018
+:1028C0000000000000000000000000000000000008
+:1028D00000000000000000000000000000000000F8
+:1028E00000000000000000000000000000000000E8
+:1028F00000000000000000000000000000000000D8
+:1029000000000000000000000000000000000000C7
+:1029100000000000000000000000000000000000B7
+:1029200000000000000000000000000000000000A7
+:102930000000000000000000000000000000000097
+:102940000000000000000000000000000000000087
+:102950000000000000000000000000000000000077
+:102960000000000000000000000000000000000067
+:102970000000000000000000000000000000000057
+:102980000000000000000000000000000000000047
+:102990000000000000000000000000000000000037
+:1029A0000000000000000000000000000000000027
+:1029B0000000000000000000000000000000000017
+:1029C0000000000000000000000000000000000007
+:1029D00000000000000000000000000000000000F7
+:1029E00000000000000000000000000000000000E7
+:1029F00000000000000000000000000000000000D7
+:102A000000000000000000000000000000000000C6
+:102A100000000000000000000000000000000000B6
+:102A200000000000000000000000000000000000A6
+:102A30000000000000000000000000000000000096
+:102A40000000000000000000000000000000000086
+:102A50000000000000000000000000000000000076
+:102A60000000000000000000000000000000000066
+:102A70000000000000000000000000000000000056
+:102A80000000000000000000000000000000000046
+:102A90000000000000000000000000000000000036
+:102AA0000000000000000000000000000000000026
+:102AB0000000000000000000000000000000000016
+:102AC0000000000000000000000000000000000006
+:102AD00000000000000000000000000000000000F6
+:102AE00000000000000000000000000000000000E6
+:102AF00000000000000000000000000000000000D6
+:102B000000000000000000000000000000000000C5
+:102B100000000000000000000000000000000000B5
+:102B200000000000000000000000000000000000A5
+:102B30000000000000000000000000000000000095
+:102B40000000000000000000000000000000000085
+:102B50000000000000000000000000000000000075
+:102B60000000000000000000000000000000000065
+:102B70000000000000000000000000000000000055
+:102B80000000000000000000000000000000000045
+:102B90000000000000000000000000000000000035
+:102BA0000000000000000000000000000000000025
+:102BB0000000000000000000000000000000000015
+:102BC0000000000000000000000000000000000005
+:102BD00000000000000000000000000000000000F5
+:102BE00000000000000000000000000000000000E5
+:102BF00000000000000000000000000000000000D5
+:102C000000000000000000000000000000000000C4
+:102C100000000000000000000000000000000000B4
+:102C200000000000000000000000000000000000A4
+:102C30000000000000000000000000000000000094
+:102C40000000000000000000000000000000000084
+:102C50000000000000000000000000000000000074
+:102C60000000000000000000000000000000000064
+:102C70000000000000000000000000000000000054
+:102C80000000000000000000000000000000000044
+:102C90000000000000000000000000000000000034
+:102CA0000000000000000000000000000000000024
+:102CB0000000000000000000000000000000000014
+:102CC0000000000000000000000000000000000004
+:102CD00000000000000000000000000000000000F4
+:102CE00000000000000000000000000000000000E4
+:102CF00000000000000000000000000000000000D4
+:102D000000000000000000000000000000000000C3
+:102D100000000000000000000000000000000000B3
+:102D200000000000000000000000000000000000A3
+:102D30000000000000000000000000000000000093
+:102D40000000000000000000000000000000000083
+:102D50000000000000000000000000000000000073
+:102D60000000000000000000000000000000000063
+:102D70000000000000000000000000000000000053
+:102D80000000000000000000000000000000000043
+:102D90000000000000000000000000000000000033
+:102DA0000000000000000000000000000000000023
+:102DB0000000000000000000000000000000000013
+:102DC0000000000000000000000000000000000003
+:102DD00000000000000000000000000000000000F3
+:102DE00000000000000000000000000000000000E3
+:102DF00000000000000000000000000000000000D3
+:102E000000000000000000000000000000000000C2
+:102E100000000000000000000000000000000000B2
+:102E200000000000000000000000000000000000A2
+:102E30000000000000000000000000000000000092
+:102E40000000000000000000000000000000000082
+:102E50000000000000000000000000000000000072
+:102E60000000000000000000000000000000000062
+:102E70000000000000000000000000000000000052
+:102E80000000000000000000000000000000000042
+:102E90000000000000000000000000000000000032
+:102EA0000000000000000000000000000000000022
+:102EB0000000000000000000000000000000000012
+:102EC0000000000000000000000000000000000002
+:102ED00000000000000000000000000000000000F2
+:102EE00000000000000000000000000000000000E2
+:102EF00000000000000000000000000000000000D2
+:102F000000000000000000000000000000000000C1
+:102F100000000000000000000000000000000000B1
+:102F200000000000000000000000000000000000A1
+:102F30000000000000000000000000000000000091
+:102F40000000000000000000000000000000000081
+:102F50000000000000000000000000000000000071
+:102F60000000000000000000000000000000000061
+:102F70000000000000000000000000000000000051
+:102F80000000000000000000000000000000000041
+:102F90000000000000000000000000000000000031
+:102FA0000000000000000000000000000000000021
+:102FB0000000000000000000000000000000000011
+:102FC0000000000000000000000000000000000001
+:102FD00000000000000000000000000000000000F1
+:102FE00000000000000000000000000000000000E1
+:102FF00000000000000000000000000000000000D1
+:1030000000000000000000000000000000000000C0
+:1030100000000000000000000000000000000000B0
+:1030200000000000000000000000000000000000A0
+:103030000000000000000000000000000000000090
+:103040000000000000000000000000000000000080
+:103050000000000000000000000000000000000070
+:103060000000000000000000000000000000000060
+:103070000000000000000000000000000000000050
+:103080000000000000000000000000000000000040
+:103090000000000000000000000000000000000030
+:1030A0000000000000000000000000000000000020
+:1030B0000000000000000000000000000000000010
+:1030C0000000000000000000000000000000000000
+:1030D00000000000000000000000000000000000F0
+:1030E00000000000000000000000000000000000E0
+:1030F00000000000000000000000000000000000D0
+:1031000000000000000000000000000000000000BF
+:1031100000000000000000000000000000000000AF
+:10312000000000000000000000000000000000009F
+:10313000000000000000000000000000000000008F
+:10314000000000000000000000000000000000007F
+:10315000000000000000000000000000000000006F
+:10316000000000000000000000000000000000005F
+:10317000000000000000000000000000000000004F
+:10318000000000000000000000000000000000003F
+:10319000000000000000000000000000000000002F
+:1031A000000000000000000000000000000000001F
+:1031B000000000000000000000000000000000000F
+:1031C00000000000000000000000000000000000FF
+:1031D00000000000000000000000000000000000EF
+:1031E00000000000000000000000000000000000DF
+:1031F00000000000000000000000000000000000CF
+:1032000000000000000000000000000000000000BE
+:1032100000000000000000000000000000000000AE
+:10322000000000000000000000000000000000009E
+:10323000000000000000000000000000000000008E
+:10324000000000000000000000000000000000007E
+:10325000000000000000000000000000000000006E
+:10326000000000000000000000000000000000005E
+:10327000000000000000000000000000000000004E
+:10328000000000000000000000000000000000003E
+:10329000000000000000000000000000000000002E
+:1032A000000000000000000000000000000000001E
+:1032B000000000000000000000000000000000000E
+:1032C00000000000000000000000000000000000FE
+:1032D00000000000000000000000000000000000EE
+:1032E00000000000000000000000000000000000DE
+:1032F00000000000000000000000000000000000CE
+:1033000000000000000000000000000000000000BD
+:1033100000000000000000000000000000000000AD
+:10332000000000000000000000000000000000009D
+:10333000000000000000000000000000000000008D
+:10334000000000000000000000000000000000007D
+:10335000000000000000000000000000000000006D
+:10336000000000000000000000000000000000005D
+:10337000000000000000000000000000000000004D
+:10338000000000000000000000000000000000003D
+:10339000000000000000000000000000000000002D
+:1033A000000000000000000000000000000000001D
+:1033B000000000000000000000000000000000000D
+:1033C00000000000000000000000000000000000FD
+:1033D00000000000000000000000000000000000ED
+:1033E00000000000000000000000000000000000DD
+:1033F00000000000000000000000000000000000CD
+:1034000000000000000000000000000000000000BC
+:1034100000000000000000000000000000000000AC
+:10342000000000000000000000000000000000009C
+:10343000000000000000000000000000000000008C
+:10344000000000000000000000000000000000007C
+:10345000000000000000000000000000000000006C
+:10346000000000000000000000000000000000005C
+:10347000000000000000000000000000000000004C
+:10348000000000000000000000000000000000003C
+:10349000000000000000000000000000000000002C
+:1034A000000000000000000000000000000000001C
+:1034B000000000000000000000000000000000000C
+:1034C00000000000000000000000000000000000FC
+:1034D00000000000000000000000000000000000EC
+:1034E00000000000000000000000000000000000DC
+:1034F00000000000000000000000000000000000CC
+:1035000000000000000000000000000000000000BB
+:1035100000000000000000000000000000000000AB
+:10352000000000000000000000000000000000009B
+:10353000000000000000000000000000000000008B
+:103540000000000000000000010101010101010173
+:10355000010101010101010101010101010101015B
+:10356000010101010101010101010101010101014B
+:10357000010101010101010101010101010101013B
+:10358000010101010101010101010101010101012B
+:10359000010101010101010101010101010101011B
+:1035A000010101010101010101010101010101010B
+:1035B00001010101010101010101010101010101FB
+:1035C00001010101010101010101010101010101EB
+:1035D00001010101010101010101010101010101DB
+:1035E00001010101010101010101010101010101CB
+:1035F00001010101010101010101010101010101BB
+:1036000001010101010101010101010101010101AA
+:10361000010101010101010101010101010101019A
+:10362000010101010101010101010101010101018A
+:10363000010101010101010101010101010101017A
+:10364000010101010101010101010101010101016A
+:10365000010101010101010101010101010101015A
+:10366000010101010101010101010101010101014A
+:10367000010101010101010101010101010101013A
+:10368000010101010101010101010101010101012A
+:10369000010101010101010101010101010101011A
+:1036A000010101010101010101010101010101010A
+:1036B00001010101010101010101010101010101FA
+:1036C00001010101010101010101010101010101EA
+:1036D00001010101010101010101010101010101DA
+:1036E00001010101010101010101010101010101CA
+:1036F00001010101010101010101010101010101BA
+:1037000001010101010101010101010101010101A9
+:103710000101010101010101010101010101010199
+:103720000101010101010101010101010101010189
+:103730000101010101010101010101010101010179
+:103740000101010101010101010101010101010169
+:103750000101010101010101010101010101010159
+:103760000101010101010101010101010101010149
+:103770000101010101010101010101010101010139
+:103780000101010101010101010101010101010129
+:103790000101010101010101010101010101010119
+:1037A0000101010101010101010101010101010109
+:1037B00001010101010101010101010101010101F9
+:1037C00001010101010101010101010101010101E9
+:1037D00001010101010101010101010101010101D9
+:1037E00001010101010101010101010101010101C9
+:1037F00001010101010101010101010101010101B9
+:1038000001010101010101010101010101010101A8
+:103810000101010101010101010101010101010198
+:103820000101010101010101010101010101010188
+:103830000101010101010101010101010101010178
+:103840000101010101010101010101010101010168
+:103850000101010101010101010101010101010158
+:103860000101010101010101010101010101010148
+:103870000101010101010101010101010101010138
+:103880000101010101010101010101010101010128
+:103890000101010101010101010101010101010118
+:1038A0000101010101010101010101010101010108
+:1038B00001010101010101010101010101010101F8
+:1038C00001010101010101010101010101010101E8
+:1038D00001010101010101010101010101010101D8
+:1038E00001010101010101010101010101010101C8
+:1038F00001010101010101010101010101010101B8
+:1039000001010101010101010101010101010101A7
+:103910000101010101010101010101010101010197
+:103920000101010101010101010101010101010187
+:103930000101010101010101010101010101010177
+:10394000010101010101010100000000000000006F
+:103950000000000000000000000000000000000067
+:103960000000000000000000000000000000000057
+:103970000000000000000000000000000000000047
+:103980000000000000000000000000000000000037
+:103990000000000000000000000000000000000027
+:1039A0000000000000000000000000000000000017
+:1039B0000000000000000000000000000000000007
+:1039C00000000000000000000000000000000000F7
+:1039D00000000000000000000000000000000000E7
+:1039E00000000000000000000000000000000000D7
+:1039F00000000000000000000000000000000000C7
+:103A000000000000000000000000000000000000B6
+:103A100000000000000000000000000000000000A6
+:103A20000000000000000000000000000000000096
+:103A30000000000000000000000000000000000086
+:103A40000000000000000000000000000000000076
+:103A50000000000000000000000000000000000066
+:103A60000000000000000000000000000000000056
+:103A70000000000000000000000000000000000046
+:103A80000000000000000000000000000000000036
+:103A90000000000000000000000000000000000026
+:103AA0000000000000000000000000000000000016
+:103AB0000000000000000000000000000000000006
+:103AC00000000000000000000000000000000000F6
+:103AD00000000000000000000000000000000000E6
+:103AE00000000000000000000000000000000000D6
+:103AF00000000000000000000000000000000000C6
+:103B000000000000000000000000000000000000B5
+:103B100000000000000000000000000000000000A5
+:103B20000000000000000000000000000000000095
+:103B30000000000000000000000000000000000085
+:103B40000000000000000000000000000000000075
+:103B50000000000000000000000000000000000065
+:103B60000000000000000000000000000000000055
+:103B70000000000000000000000000000000000045
+:103B80000000000000000000000000000000000035
+:103B90000000000000000000000000000000000025
+:103BA0000000000000000000000000000000000015
+:103BB0000000000000000000000000000000000005
+:103BC00000000000000000000000000000000000F5
+:103BD00000000000000000000000000000000000E5
+:103BE00000000000000000000000000000000000D5
+:103BF00000000000000000000000000000000000C5
+:103C000000000000000000000000000000000000B4
+:103C100000000000000000000000000000000000A4
+:103C20000000000000000000000000000000000094
+:103C30000000000000000000000000000000000084
+:103C40000000000000000000000000000000000074
+:103C50000000000000000000000000000000000064
+:103C60000000000000000000000000000000000054
+:103C70000000000000000000000000000000000044
+:103C80000000000000000000000000000000000034
+:103C90000000000000000000000000000000000024
+:103CA0000000000000000000000000000000000014
+:103CB0000000000000000000000000000000000004
+:103CC00000000000000000000000000000000000F4
+:103CD00000000000000000000000000000000000E4
+:103CE00000000000000000000000000000000000D4
+:103CF00000000000000000000000000000000000C4
+:103D000000000000000000000000000000000000B3
+:103D100000000000000000000000000000000000A3
+:103D20000000000000000000000000000000000093
+:103D30000000000000000000000000000000000083
+:103D4000000000000000000001010101010101016B
+:103D50000101010101010101010101010101010153
+:103D60000101010101010101010101010101010143
+:103D70000101010101010101010101010101010133
+:103D80000101010101010101010101010101010123
+:103D90000101010101010101010101010101010113
+:103DA0000101010101010101010101010101010103
+:103DB00001010101010101010101010101010101F3
+:103DC00001010101010101010101010101010101E3
+:103DD00001010101010101010101010101010101D3
+:103DE00001010101010101010101010101010101C3
+:103DF00001010101010101010101010101010101B3
+:103E000001010101010101010101010101010101A2
+:103E10000101010101010101010101010101010192
+:103E20000101010101010101010101010101010182
+:103E30000101010101010101010101010101010172
+:103E40000101010101010101010101010101010162
+:103E50000101010101010101010101010101010152
+:103E60000101010101010101010101010101010142
+:103E70000101010101010101010101010101010132
+:103E80000101010101010101010101010101010122
+:103E90000101010101010101010101010101010112
+:103EA0000101010101010101010101010101010102
+:103EB00001010101010101010101010101010101F2
+:103EC00001010101010101010101010101010101E2
+:103ED00001010101010101010101010101010101D2
+:103EE00001010101010101010101010101010101C2
+:103EF00001010101010101010101010101010101B2
+:103F000001010101010101010101010101010101A1
+:103F10000101010101010101010101010101010191
+:103F20000101010101010101010101010101010181
+:103F30000101010101010101010101010101010171
+:103F40000101010101010101020202020202020259
+:103F50000202020202020202020202020202020241
+:103F60000202020202020202020202020202020231
+:103F70000202020202020202020202020202020221
+:103F80000202020202020202020202020202020211
+:103F90000202020202020202020202020202020201
+:103FA00002020202020202020202020202020202F1
+:103FB00002020202020202020202020202020202E1
+:103FC00002020202020202020202020202020202D1
+:103FD00002020202020202020202020202020202C1
+:103FE00002020202020202020202020202020202B1
+:103FF00002020202020202020202020202020202A1
+:104000000202020202020202020202020202020290
+:104010000202020202020202020202020202020280
+:104020000202020202020202020202020202020270
+:104030000202020202020202020202020202020260
+:104040000202020202020202020202020202020250
+:104050000202020202020202020202020202020240
+:104060000202020202020202020202020202020230
+:104070000202020202020202020202020202020220
+:104080000202020202020202020202020202020210
+:104090000202020202020202020202020202020200
+:1040A00002020202020202020202020202020202F0
+:1040B00002020202020202020202020202020202E0
+:1040C00002020202020202020202020202020202D0
+:1040D00002020202020202020202020202020202C0
+:1040E00002020202020202020202020202020202B0
+:1040F00002020202020202020202020202020202A0
+:10410000020202020202020202020202020202028F
+:10411000020202020202020202020202020202027F
+:10412000020202020202020202020202020202026F
+:10413000020202020202020202020202020202025F
+:10414000020202020202020202020202020202024F
+:10415000020202020202020202020202020202023F
+:10416000020202020202020202020202020202022F
+:10417000020202020202020202020202020202021F
+:10418000020202020202020202020202020202020F
+:1041900002020202020202020202020202020202FF
+:1041A00002020202020202020202020202020202EF
+:1041B00002020202020202020202020202020202DF
+:1041C00002020202020202020202020202020202CF
+:1041D00002020202020202020202020202020202BF
+:1041E00002020202020202020202020202020202AF
+:1041F000020202020202020202020202020202029F
+:10420000020202020202020202020202020202028E
+:10421000020202020202020202020202020202027E
+:10422000020202020202020202020202020202026E
+:10423000020202020202020202020202020202025E
+:10424000020202020202020202020202020202024E
+:10425000020202020202020202020202020202023E
+:10426000020202020202020202020202020202022E
+:10427000020202020202020202020202020202021E
+:10428000020202020202020202020202020202020E
+:1042900002020202020202020202020202020202FE
+:1042A00002020202020202020202020202020202EE
+:1042B00002020202020202020202020202020202DE
+:1042C00002020202020202020202020202020202CE
+:1042D00002020202020202020202020202020202BE
+:1042E00002020202020202020202020202020202AE
+:1042F000020202020202020202020202020202029E
+:10430000020202020202020202020202020202028D
+:10431000020202020202020202020202020202027D
+:10432000020202020202020202020202020202026D
+:10433000020202020202020202020202020202025D
+:10434000020202020202020202020202020202024D
+:10435000020202020202020202020202020202023D
+:10436000020202020202020202020202020202022D
+:10437000020202020202020202020202020202021D
+:10438000020202020202020202020202020202020D
+:1043900002020202020202020202020202020202FD
+:1043A00002020202020202020202020202020202ED
+:1043B00002020202020202020202020202020202DD
+:1043C00002020202020202020202020202020202CD
+:1043D00002020202020202020202020202020202BD
+:1043E00002020202020202020202020202020202AD
+:1043F000020202020202020202020202020202029D
+:10440000020202020202020202020202020202028C
+:10441000020202020202020202020202020202027C
+:10442000020202020202020202020202020202026C
+:10443000020202020202020202020202020202025C
+:10444000020202020202020202020202020202024C
+:10445000020202020202020202020202020202023C
+:10446000020202020202020202020202020202022C
+:10447000020202020202020202020202020202021C
+:10448000020202020202020202020202020202020C
+:1044900002020202020202020202020202020202FC
+:1044A00002020202020202020202020202020202EC
+:1044B00002020202020202020202020202020202DC
+:1044C00002020202020202020202020202020202CC
+:1044D00002020202020202020202020202020202BC
+:1044E00002020202020202020202020202020202AC
+:1044F000020202020202020202020202020202029C
+:10450000020202020202020202020202020202028B
+:10451000020202020202020202020202020202027B
+:10452000020202020202020202020202020202026B
+:10453000020202020202020202020202020202025B
+:10454000020202020202020202020202020202024B
+:10455000020202020202020202020202020202023B
+:10456000020202020202020202020202020202022B
+:10457000020202020202020202020202020202021B
+:10458000020202020202020202020202020202020B
+:1045900002020202020202020202020202020202FB
+:1045A00002020202020202020202020202020202EB
+:1045B00002020202020202020202020202020202DB
+:1045C00002020202020202020202020202020202CB
+:1045D00002020202020202020202020202020202BB
+:1045E00002020202020202020202020202020202AB
+:1045F000020202020202020202020202020202029B
+:10460000020202020202020202020202020202028A
+:10461000020202020202020202020202020202027A
+:10462000020202020202020202020202020202026A
+:10463000020202020202020202020202020202025A
+:10464000020202020202020202020202020202024A
+:10465000020202020202020202020202020202023A
+:10466000020202020202020202020202020202022A
+:10467000020202020202020202020202020202021A
+:10468000020202020202020202020202020202020A
+:1046900002020202020202020202020202020202FA
+:1046A00002020202020202020202020202020202EA
+:1046B00002020202020202020202020202020202DA
+:1046C00002020202020202020202020202020202CA
+:1046D00002020202020202020202020202020202BA
+:1046E00002020202020202020202020202020202AA
+:1046F000020202020202020202020202020202029A
+:104700000202020202020202020202020202020289
+:104710000202020202020202020202020202020279
+:104720000202020202020202020202020202020269
+:104730000202020202020202020202020202020259
+:104740000202020202020202020202020202020249
+:104750000202020202020202020202020202020239
+:104760000202020202020202020202020202020229
+:104770000202020202020202020202020202020219
+:104780000202020202020202020202020202020209
+:1047900002020202020202020202020202020202F9
+:1047A00002020202020202020202020202020202E9
+:1047B00002020202020202020202020202020202D9
+:1047C00002020202020202020202020202020202C9
+:1047D00002020202020202020202020202020202B9
+:1047E00002020202020202020202020202020202A9
+:1047F0000202020202020202020202020202020299
+:104800000202020202020202020202020202020288
+:104810000202020202020202020202020202020278
+:104820000202020202020202020202020202020268
+:104830000202020202020202020202020202020258
+:104840000202020202020202020202020202020248
+:104850000202020202020202020202020202020238
+:104860000202020202020202020202020202020228
+:104870000202020202020202020202020202020218
+:104880000202020202020202020202020202020208
+:1048900002020202020202020202020202020202F8
+:1048A00002020202020202020202020202020202E8
+:1048B00002020202020202020202020202020202D8
+:1048C00002020202020202020202020202020202C8
+:1048D00002020202020202020202020202020202B8
+:1048E00002020202020202020202020202020202A8
+:1048F0000202020202020202020202020202020298
+:104900000202020202020202020202020202020287
+:104910000202020202020202020202020202020277
+:104920000202020202020202020202020202020267
+:104930000202020202020202020202020202020257
+:104940000202020202020202000000000000000057
+:104950000000000000000000000000000000000057
+:104960000000000000000000000000000000000047
+:104970000000000000000000000000000000000037
+:104980000000000000000000000000000000000027
+:104990000000000000000000000000000000000017
+:1049A0000000000000000000000000000000000007
+:1049B00000000000000000000000000000000000F7
+:1049C00000000000000000000000000000000000E7
+:1049D00000000000000000000000000000000000D7
+:1049E00000000000000000000000000000000000C7
+:1049F00000000000000000000000000000000000B7
+:104A000000000000000000000000000000000000A6
+:104A10000000000000000000000000000000000096
+:104A20000000000000000000000000000000000086
+:104A30000000000000000000000000000000000076
+:104A40000000000000000000000000000000000066
+:104A50000000000000000000000000000000000056
+:104A60000000000000000000000000000000000046
+:104A70000000000000000000000000000000000036
+:104A80000000000000000000000000000000000026
+:104A90000000000000000000000000000000000016
+:104AA0000000000000000000000000000000000006
+:104AB00000000000000000000000000000000000F6
+:104AC00000000000000000000000000000000000E6
+:104AD00000000000000000000000000000000000D6
+:104AE00000000000000000000000000000000000C6
+:104AF00000000000000000000000000000000000B6
+:104B000000000000000000000000000000000000A5
+:104B10000000000000000000000000000000000095
+:104B20000000000000000000000000000000000085
+:104B30000000000000000000000000000000000075
+:104B40000000000000000000000000000000000065
+:104B50000000000000000000000000000000000055
+:104B60000000000000000000000000000000000045
+:104B70000000000000000000000000000000000035
+:104B80000000000000000000000000000000000025
+:104B90000000000000000000000000000000000015
+:104BA0000000000000000000000000000000000005
+:104BB00000000000000000000000000000000000F5
+:104BC00000000000000000000000000000000000E5
+:104BD00000000000000000000000000000000000D5
+:104BE00000000000000000000000000000000000C5
+:104BF00000000000000000000000000000000000B5
+:104C000000000000000000000000000000000000A4
+:104C10000000000000000000000000000000000094
+:104C20000000000000000000000000000000000084
+:104C30000000000000000000000000000000000074
+:104C40000000000000000000000000000000000064
+:104C50000000000000000000000000000000000054
+:104C60000000000000000000000000000000000044
+:104C70000000000000000000000000000000000034
+:104C80000000000000000000000000000000000024
+:104C90000000000000000000000000000000000014
+:104CA0000000000000000000000000000000000004
+:104CB00000000000000000000000000000000000F4
+:104CC00000000000000000000000000000000000E4
+:104CD00000000000000000000000000000000000D4
+:104CE00000000000000000000000000000000000C4
+:104CF00000000000000000000000000000000000B4
+:104D000000000000000000000000000000000000A3
+:104D10000000000000000000000000000000000093
+:104D20000000000000000000000000000000000083
+:104D30000000000000000000000000000000000073
+:104D40000000000000000000000000000000000063
+:104D50000000000000000000000000000000000053
+:104D60000000000000000000000000000000000043
+:104D70000000000000000000000000000000000033
+:104D80000000000000000000000000000000000023
+:104D90000000000000000000000000000000000013
+:104DA0000000000000000000000000000000000003
+:104DB00000000000000000000000000000000000F3
+:104DC00000000000000000000000000000000000E3
+:104DD00000000000000000000000000000000000D3
+:104DE00000000000000000000000000000000000C3
+:104DF00000000000000000000000000000000000B3
+:104E000000000000000000000000000000000000A2
+:104E10000000000000000000000000000000000092
+:104E20000000000000000000000000000000000082
+:104E30000000000000000000000000000000000072
+:104E40000000000000000000000000000000000062
+:104E50000000000000000000000000000000000052
+:104E60000000000000000000000000000000000042
+:104E70000000000000000000000000000000000032
+:104E80000000000000000000000000000000000022
+:104E90000000000000000000000000000000000012
+:104EA0000000000000000000000000000000000002
+:104EB00000000000000000000000000000000000F2
+:104EC00000000000000000000000000000000000E2
+:104ED00000000000000000000000000000000000D2
+:104EE00000000000000000000000000000000000C2
+:104EF00000000000000000000000000000000000B2
+:104F000000000000000000000000000000000000A1
+:104F10000000000000000000000000000000000091
+:104F20000000000000000000000000000000000081
+:104F30000000000000000000000000000000000071
+:104F40000000000000000000010101010101010159
+:104F50000101010101010101010101010101010141
+:104F60000101010101010101010101010101010131
+:104F70000101010101010101010101010101010121
+:104F80000101010101010101010101010101010111
+:104F90000101010101010101010101010101010101
+:104FA00001010101010101010101010101010101F1
+:104FB00001010101010101010101010101010101E1
+:104FC00001010101010101010101010101010101D1
+:104FD00001010101010101010101010101010101C1
+:104FE00001010101010101010101010101010101B1
+:104FF00001010101010101010101010101010101A1
+:105000000101010101010101010101010101010190
+:105010000101010101010101010101010101010180
+:105020000101010101010101010101010101010170
+:105030000101010101010101010101010101010160
+:105040000101010101010101010101010101010150
+:105050000101010101010101010101010101010140
+:105060000101010101010101010101010101010130
+:105070000101010101010101010101010101010120
+:105080000101010101010101010101010101010110
+:105090000101010101010101010101010101010100
+:1050A00001010101010101010101010101010101F0
+:1050B00001010101010101010101010101010101E0
+:1050C00001010101010101010101010101010101D0
+:1050D00001010101010101010101010101010101C0
+:1050E00001010101010101010101010101010101B0
+:1050F00001010101010101010101010101010101A0
+:10510000010101010101010101010101010101018F
+:10511000010101010101010101010101010101017F
+:10512000010101010101010101010101010101016F
+:10513000010101010101010101010101010101015F
+:10514000010101010101010101010101010101014F
+:10515000010101010101010101010101010101013F
+:10516000010101010101010101010101010101012F
+:10517000010101010101010101010101010101011F
+:10518000010101010101010101010101010101010F
+:1051900001010101010101010101010101010101FF
+:1051A00001010101010101010101010101010101EF
+:1051B00001010101010101010101010101010101DF
+:1051C00001010101010101010101010101010101CF
+:1051D00001010101010101010101010101010101BF
+:1051E00001010101010101010101010101010101AF
+:1051F000010101010101010101010101010101019F
+:10520000010101010101010101010101010101018E
+:10521000010101010101010101010101010101017E
+:10522000010101010101010101010101010101016E
+:10523000010101010101010101010101010101015E
+:10524000010101010101010101010101010101014E
+:10525000010101010101010101010101010101013E
+:10526000010101010101010101010101010101012E
+:10527000010101010101010101010101010101011E
+:10528000010101010101010101010101010101010E
+:1052900001010101010101010101010101010101FE
+:1052A00001010101010101010101010101010101EE
+:1052B00001010101010101010101010101010101DE
+:1052C00001010101010101010101010101010101CE
+:1052D00001010101010101010101010101010101BE
+:1052E00001010101010101010101010101010101AE
+:1052F000010101010101010101010101010101019E
+:10530000010101010101010101010101010101018D
+:10531000010101010101010101010101010101017D
+:10532000010101010101010101010101010101016D
+:10533000010101010101010101010101010101015D
+:105340000101010101010101000000000000000055
+:10535000000000000000000000000000000000004D
+:10536000000000000000000000000000000000003D
+:10537000000000000000000000000000000000002D
+:10538000000000000000000000000000000000001D
+:10539000000000000000000000000000000000000D
+:1053A00000000000000000000000000000000000FD
+:1053B00000000000000000000000000000000000ED
+:1053C00000000000000000000000000000000000DD
+:1053D00000000000000000000000000000000000CD
+:1053E00000000000000000000000000000000000BD
+:1053F00000000000000000000000000000000000AD
+:10540000000000000000000000000000000000009C
+:10541000000000000000000000000000000000008C
+:10542000000000000000000000000000000000007C
+:10543000000000000000000000000000000000006C
+:10544000000000000000000000000000000000005C
+:10545000000000000000000000000000000000004C
+:10546000000000000000000000000000000000003C
+:10547000000000000000000000000000000000002C
+:10548000000000000000000000000000000000001C
+:10549000000000000000000000000000000000000C
+:1054A00000000000000000000000000000000000FC
+:1054B00000000000000000000000000000000000EC
+:1054C00000000000000000000000000000000000DC
+:1054D00000000000000000000000000000000000CC
+:1054E00000000000000000000000000000000000BC
+:1054F00000000000000000000000000000000000AC
+:10550000000000000000000000000000000000009B
+:10551000000000000000000000000000000000008B
+:10552000000000000000000000000000000000007B
+:10553000000000000000000000000000000000006B
+:10554000000000000000000000000000000000005B
+:10555000000000000000000000000000000000004B
+:10556000000000000000000000000000000000003B
+:10557000000000000000000000000000000000002B
+:10558000000000000000000000000000000000001B
+:10559000000000000000000000000000000000000B
+:1055A00000000000000000000000000000000000FB
+:1055B00000000000000000000000000000000000EB
+:1055C00000000000000000000000000000000000DB
+:1055D00000000000000000000000000000000000CB
+:1055E00000000000000000000000000000000000BB
+:1055F00000000000000000000000000000000000AB
+:10560000000000000000000000000000000000009A
+:10561000000000000000000000000000000000008A
+:10562000000000000000000000000000000000007A
+:10563000000000000000000000000000000000006A
+:10564000000000000000000000000000000000005A
+:10565000000000000000000000000000000000004A
+:10566000000000000000000000000000000000003A
+:10567000000000000000000000000000000000002A
+:10568000000000000000000000000000000000001A
+:10569000000000000000000000000000000000000A
+:1056A00000000000000000000000000000000000FA
+:1056B00000000000000000000000000000000000EA
+:1056C00000000000000000000000000000000000DA
+:1056D00000000000000000000000000000000000CA
+:1056E00000000000000000000000000000000000BA
+:1056F00000000000000000000000000000000000AA
+:105700000000000000000000000000000000000099
+:105710000000000000000000000000000000000089
+:105720000000000000000000000000000000000079
+:105730000000000000000000000000000000000069
+:105740000000000000000000000000000000000059
+:105750000000000000000000000000000000000049
+:105760000000000000000000000000000000000039
+:105770000000000000000000000000000000000029
+:105780000000000000000000000000000000000019
+:105790000000000000000000000000000000000009
+:1057A00000000000000000000000000000000000F9
+:1057B00000000000000000000000000000000000E9
+:1057C00000000000000000000000000000000000D9
+:1057D00000000000000000000000000000000000C9
+:1057E00000000000000000000000000000000000B9
+:1057F00000000000000000000000000000000000A9
+:105800000000000000000000000000000000000098
+:105810000000000000000000000000000000000088
+:105820000000000000000000000000000000000078
+:105830000000000000000000000000000000000068
+:105840000000000000000000000000000000000058
+:105850000000000000000000000000000000000048
+:105860000000000000000000000000000000000038
+:105870000000000000000000000000000000000028
+:105880000000000000000000000000000000000018
+:105890000000000000000000000000000000000008
+:1058A00000000000000000000000000000000000F8
+:1058B00000000000000000000000000000000000E8
+:1058C00000000000000000000000000000000000D8
+:1058D00000000000000000000000000000000000C8
+:1058E00000000000000000000000000000000000B8
+:1058F00000000000000000000000000000000000A8
+:105900000000000000000000000000000000000097
+:105910000000000000000000000000000000000087
+:105920000000000000000000000000000000000077
+:105930000000000000000000000000000000000067
+:105940000000000000000000000000000000000057
+:105950000000000000000000000000000000000047
+:105960000000000000000000000000000000000037
+:105970000000000000000000000000000000000027
+:105980000000000000000000000000000000000017
+:105990000000000000000000000000000000000007
+:1059A00000000000000000000000000000000000F7
+:1059B00000000000000000000000000000000000E7
+:1059C00000000000000000000000000000000000D7
+:1059D00000000000000000000000000000000000C7
+:1059E00000000000000000000000000000000000B7
+:1059F00000000000000000000000000000000000A7
+:105A00000000000000000000000000000000000096
+:105A10000000000000000000000000000000000086
+:105A20000000000000000000000000000000000076
+:105A30000000000000000000000000000000000066
+:105A40000000000000000000000000000000000056
+:105A50000000000000000000000000000000000046
+:105A60000000000000000000000000000000000036
+:105A70000000000000000000000000000000000026
+:105A80000000000000000000000000000000000016
+:105A90000000000000000000000000000000000006
+:105AA00000000000000000000000000000000000F6
+:105AB00000000000000000000000000000000000E6
+:105AC00000000000000000000000000000000000D6
+:105AD00000000000000000000000000000000000C6
+:105AE00000000000000000000000000000000000B6
+:105AF00000000000000000000000000000000000A6
+:105B00000000000000000000000000000000000095
+:105B10000000000000000000000000000000000085
+:105B20000000000000000000000000000000000075
+:105B30000000000000000000000000000000000065
+:105B40000000000000000000000000000000000055
+:105B50000000000000000000000000000000000045
+:105B60000000000000000000000000000000000035
+:105B70000000000000000000000000000000000025
+:105B80000000000000000000000000000000000015
+:105B90000000000000000000000000000000000005
+:105BA00000000000000000000000000000000000F5
+:105BB00000000000000000000000000000000000E5
+:105BC00000000000000000000000000000000000D5
+:105BD00000000000000000000000000000000000C5
+:105BE00000000000000000000000000000000000B5
+:105BF00000000000000000000000000000000000A5
+:105C00000000000000000000000000000000000094
+:105C10000000000000000000000000000000000084
+:105C20000000000000000000000000000000000074
+:105C30000000000000000000000000000000000064
+:105C40000000000000000000000000000000000054
+:105C50000000000000000000000000000000000044
+:105C60000000000000000000000000000000000034
+:105C70000000000000000000000000000000000024
+:105C80000000000000000000000000000000000014
+:105C90000000000000000000000000000000000004
+:105CA00000000000000000000000000000000000F4
+:105CB00000000000000000000000000000000000E4
+:105CC00000000000000000000000000000000000D4
+:105CD00000000000000000000000000000000000C4
+:105CE00000000000000000000000000000000000B4
+:105CF00000000000000000000000000000000000A4
+:105D00000000000000000000000000000000000093
+:105D10000000000000000000000000000000000083
+:105D20000000000000000000000000000000000073
+:105D30000000000000000000000000000000000063
+:105D40000000000000000000000000000000000053
+:105D50000000000000000000000000000000000043
+:105D60000000000000000000000000000000000033
+:105D70000000000000000000000000000000000023
+:105D80000000000000000000000000000000000013
+:105D90000000000000000000000000000000000003
+:105DA00000000000000000000000000000000000F3
+:105DB00000000000000000000000000000000000E3
+:105DC00000000000000000000000000000000000D3
+:105DD00000000000000000000000000000000000C3
+:105DE00000000000000000000000000000000000B3
+:105DF00000000000000000000000000000000000A3
+:105E00000000000000000000000000000000000092
+:105E10000000000000000000000000000000000082
+:105E20000000000000000000000000000000000072
+:105E30000000000000000000000000000000000062
+:105E40000000000000000000000000000000000052
+:105E50000000000000000000000000000000000042
+:105E60000000000000000000000000000000000032
+:105E70000000000000000000000000000000000022
+:105E80000000000000000000000000000000000012
+:105E90000000000000000000000000000000000002
+:105EA00000000000000000000000000000000000F2
+:105EB00000000000000000000000000000000000E2
+:105EC00000000000000000000000000000000000D2
+:105ED00000000000000000000000000000000000C2
+:105EE00000000000000000000000000000000000B2
+:105EF00000000000000000000000000000000000A2
+:105F00000000000000000000000000000000000091
+:105F10000000000000000000000000000000000081
+:105F20000000000000000000000000000000000071
+:105F30000000000000000000000000000000000061
+:105F40000000000000000000000000000000000051
+:105F50000000000000000000000000000000000041
+:105F60000000000000000000000000000000000031
+:105F70000000000000000000000000000000000021
+:105F80000000000000000000000000000000000011
+:105F90000000000000000000000000000000000001
+:105FA00000000000000000000000000000000000F1
+:105FB00000000000000000000000000000000000E1
+:105FC00000000000000000000000000000000000D1
+:105FD00000000000000000000000000000000000C1
+:105FE00000000000000000000000000000000000B1
+:105FF00000000000000000000000000000000000A1
+:106000000000000000000000000000000000000090
+:106010000000000000000000000000000000000080
+:106020000000000000000000000000000000000070
+:106030000000000000000000000000000000000060
+:106040000000000000000000000000000000000050
+:106050000000000000000000000000000000000040
+:106060000000000000000000000000000000000030
+:106070000000000000000000000000000000000020
+:106080000000000000000000000000000000000010
+:106090000000000000000000000000000000000000
+:1060A00000000000000000000000000000000000F0
+:1060B00000000000000000000000000000000000E0
+:1060C00000000000000000000000000000000000D0
+:1060D00000000000000000000000000000000000C0
+:1060E00000000000000000000000000000000000B0
+:1060F00000000000000000000000000000000000A0
+:10610000000000000000000000000000000000008F
+:10611000000000000000000000000000000000007F
+:10612000000000000000000000000000000000006F
+:10613000000000000000000000000000000000005F
+:10614000000000000000000000000000000000004F
+:10615000000000000000000000000000000000003F
+:10616000000000000000000000000000000000002F
+:10617000000000000000000000000000000000001F
+:10618000000000000000000000000000000000000F
+:1061900000000000000000000000000000000000FF
+:1061A00000000000000000000000000000000000EF
+:1061B00000000000000000000000000000000000DF
+:1061C00000000000000000000000000000000000CF
+:1061D00000000000000000000000000000000000BF
+:1061E00000000000000000000000000000000000AF
+:1061F000000000000000000000000000000000009F
+:10620000000000000000000000000000000000008E
+:10621000000000000000000000000000000000007E
+:10622000000000000000000000000000000000006E
+:10623000000000000000000000000000000000005E
+:10624000000000000000000000000000000000004E
+:10625000000000000000000000000000000000003E
+:10626000000000000000000000000000000000002E
+:10627000000000000000000000000000000000001E
+:10628000000000000000000000000000000000000E
+:1062900000000000000000000000000000000000FE
+:1062A00000000000000000000000000000000000EE
+:1062B00000000000000000000000000000000000DE
+:1062C00000000000000000000000000000000000CE
+:1062D00000000000000000000000000000000000BE
+:1062E00000000000000000000000000000000000AE
+:1062F000000000000000000000000000000000009E
+:10630000000000000000000000000000000000008D
+:10631000000000000000000000000000000000007D
+:10632000000000000000000000000000000000006D
+:10633000000000000000000000000000000000005D
+:10634000000000000000000000000000000000004D
+:10635000000000000000000000000000000000003D
+:10636000000000000000000000000000000000002D
+:10637000000000000000000000000000000000001D
+:10638000000000000000000000000000000000000D
+:1063900000000000000000000000000000000000FD
+:1063A00000000000000000000000000000000000ED
+:1063B00000000000000000000000000000000000DD
+:1063C00000000000000000000000000000000000CD
+:1063D00000000000000000000000000000000000BD
+:1063E00000000000000000000000000000000000AD
+:1063F000000000000000000000000000000000009D
+:10640000000000000000000000000000000000008C
+:10641000000000000000000000000000000000007C
+:10642000000000000000000000000000000000006C
+:10643000000000000000000000000000000000005C
+:10644000000000000000000000000000000000004C
+:10645000000000000000000000000000000000003C
+:10646000000000000000000000000000000000002C
+:10647000000000000000000000000000000000001C
+:10648000000000000000000000000000000000000C
+:1064900000000000000000000000000000000000FC
+:1064A00000000000000000000000000000000000EC
+:1064B00000000000000000000000000000000000DC
+:1064C00000000000000000000000000000000000CC
+:1064D00000000000000000000000000000000000BC
+:1064E00000000000000000000000000000000000AC
+:1064F000000000000000000000000000000000009C
+:10650000000000000000000000000000000000008B
+:10651000000000000000000000000000000000007B
+:10652000000000000000000000000000000000006B
+:10653000000000000000000000000000000000005B
+:10654000000000000000000000000000000000004B
+:10655000000000000000000000000000000000003B
+:10656000000000000000000000000000000000002B
+:10657000000000000000000000000000000000001B
+:10658000000000000000000000000000000000000B
+:1065900000000000000000000000000000000000FB
+:1065A00000000000000000000000000000000000EB
+:1065B00000000000000000000000000000000000DB
+:1065C00000000000000000000000000000000000CB
+:1065D00000000000000000000000000000000000BB
+:1065E00000000000000000000000000000000000AB
+:1065F000000000000000000000000000000000009B
+:10660000000000000000000000000000000000008A
+:10661000000000000000000000000000000000007A
+:10662000000000000000000000000000000000006A
+:10663000000000000000000000000000000000005A
+:10664000000000000000000000000000000000004A
+:10665000000000000000000000000000000000003A
+:10666000000000000000000000000000000000002A
+:10667000000000000000000000000000000000001A
+:10668000000000000000000000000000000000000A
+:1066900000000000000000000000000000000000FA
+:1066A00000000000000000000000000000000000EA
+:1066B00000000000000000000000000000000000DA
+:1066C00000000000000000000000000000000000CA
+:1066D00000000000000000000000000000000000BA
+:1066E00000000000000000000000000000000000AA
+:1066F000000000000000000000000000000000009A
+:106700000000000000000000000000000000000089
+:106710000000000000000000000000000000000079
+:106720000000000000000000000000000000000069
+:106730000000000000000000000000000000000059
+:106740000000000000000000000000000000000049
+:106750000000000000000000000000000000000039
+:106760000000000000000000000000000000000029
+:106770000000000000000000000000000000000019
+:106780000000000000000000000000000000000009
+:1067900000000000000000000000000000000000F9
+:1067A00000000000000000000000000000000000E9
+:1067B00000000000000000000000000000000000D9
+:1067C00000000000000000000000000000000000C9
+:1067D00000000000000000000000000000000000B9
+:1067E00000000000000000000000000000000000A9
+:1067F0000000000000000000000000000000000099
+:106800000000000000000000000000000000000088
+:106810000000000000000000000000000000000078
+:106820000000000000000000000000000000000068
+:106830000000000000000000000000000000000058
+:106840000000000000000000010101010101010140
+:106850000101010101010101010101010101010128
+:106860000101010101010101010101010101010118
+:106870000101010101010101010101010101010108
+:1068800001010101010101010101010101010101F8
+:1068900001010101010101010101010101010101E8
+:1068A00001010101010101010101010101010101D8
+:1068B00001010101010101010101010101010101C8
+:1068C00001010101010101010101010101010101B8
+:1068D00001010101010101010101010101010101A8
+:1068E0000101010101010101010101010101010198
+:1068F0000101010101010101010101010101010188
+:106900000101010101010101010101010101010177
+:106910000101010101010101010101010101010167
+:106920000101010101010101010101010101010157
+:106930000101010101010101010101010101010147
+:106940000101010101010101010101010101010137
+:106950000101010101010101010101010101010127
+:106960000101010101010101010101010101010117
+:106970000101010101010101010101010101010107
+:1069800001010101010101010101010101010101F7
+:1069900001010101010101010101010101010101E7
+:1069A00001010101010101010101010101010101D7
+:1069B00001010101010101010101010101010101C7
+:1069C00001010101010101010101010101010101B7
+:1069D00001010101010101010101010101010101A7
+:1069E0000101010101010101010101010101010197
+:1069F0000101010101010101010101010101010187
+:106A00000101010101010101010101010101010176
+:106A10000101010101010101010101010101010166
+:106A20000101010101010101010101010101010156
+:106A30000101010101010101010101010101010146
+:106A40000101010101010101010101010101010136
+:106A50000101010101010101010101010101010126
+:106A60000101010101010101010101010101010116
+:106A70000101010101010101010101010101010106
+:106A800001010101010101010101010101010101F6
+:106A900001010101010101010101010101010101E6
+:106AA00001010101010101010101010101010101D6
+:106AB00001010101010101010101010101010101C6
+:106AC00001010101010101010101010101010101B6
+:106AD00001010101010101010101010101010101A6
+:106AE0000101010101010101010101010101010196
+:106AF0000101010101010101010101010101010186
+:106B00000101010101010101010101010101010175
+:106B10000101010101010101010101010101010165
+:106B20000101010101010101010101010101010155
+:106B30000101010101010101010101010101010145
+:106B40000101010101010101010101010101010135
+:106B50000101010101010101010101010101010125
+:106B60000101010101010101010101010101010115
+:106B70000101010101010101010101010101010105
+:106B800001010101010101010101010101010101F5
+:106B900001010101010101010101010101010101E5
+:106BA00001010101010101010101010101010101D5
+:106BB00001010101010101010101010101010101C5
+:106BC00001010101010101010101010101010101B5
+:106BD00001010101010101010101010101010101A5
+:106BE0000101010101010101010101010101010195
+:106BF0000101010101010101010101010101010185
+:106C00000101010101010101010101010101010174
+:106C10000101010101010101010101010101010164
+:106C20000101010101010101010101010101010154
+:106C30000101010101010101010101010101010144
+:106C4000010101010101010100000000000000003C
+:106C50000000000000000000000000000000000034
+:106C60000000000000000000000000000000000024
+:106C70000000000000000000000000000000000014
+:106C80000000000000000000000000000000000004
+:106C900000000000000000000000000000000000F4
+:106CA00000000000000000000000000000000000E4
+:106CB00000000000000000000000000000000000D4
+:106CC00000000000000000000000000000000000C4
+:106CD00000000000000000000000000000000000B4
+:106CE00000000000000000000000000000000000A4
+:106CF0000000000000000000000000000000000094
+:106D00000000000000000000000000000000000083
+:106D10000000000000000000000000000000000073
+:106D20000000000000000000000000000000000063
+:106D30000000000000000000000000000000000053
+:106D40000000000000000000000000000000000043
+:106D50000000000000000000000000000000000033
+:106D60000000000000000000000000000000000023
+:106D70000000000000000000000000000000000013
+:106D80000000000000000000000000000000000003
+:106D900000000000000000000000000000000000F3
+:106DA00000000000000000000000000000000000E3
+:106DB00000000000000000000000000000000000D3
+:106DC00000000000000000000000000000000000C3
+:106DD00000000000000000000000000000000000B3
+:106DE00000000000000000000000000000000000A3
+:106DF0000000000000000000000000000000000093
+:106E00000000000000000000000000000000000082
+:106E10000000000000000000000000000000000072
+:106E20000000000000000000000000000000000062
+:106E30000000000000000000000000000000000052
+:106E40000000000000000000000000000000000042
+:106E50000000000000000000000000000000000032
+:106E60000000000000000000000000000000000022
+:106E70000000000000000000000000000000000012
+:106E80000000000000000000000000000000000002
+:106E900000000000000000000000000000000000F2
+:106EA00000000000000000000000000000000000E2
+:106EB00000000000000000000000000000000000D2
+:106EC00000000000000000000000000000000000C2
+:106ED00000000000000000000000000000000000B2
+:106EE00000000000000000000000000000000000A2
+:106EF0000000000000000000000000000000000092
+:106F00000000000000000000000000000000000081
+:106F10000000000000000000000000000000000071
+:106F20000000000000000000000000000000000061
+:106F30000000000000000000000000000000000051
+:106F40000000000000000000000000000000000041
+:106F50000000000000000000000000000000000031
+:106F60000000000000000000000000000000000021
+:106F70000000000000000000000000000000000011
+:106F80000000000000000000000000000000000001
+:106F900000000000000000000000000000000000F1
+:106FA00000000000000000000000000000000000E1
+:106FB00000000000000000000000000000000000D1
+:106FC00000000000000000000000000000000000C1
+:106FD00000000000000000000000000000000000B1
+:106FE00000000000000000000000000000000000A1
+:106FF0000000000000000000000000000000000091
+:107000000000000000000000000000000000000080
+:107010000000000000000000000000000000000070
+:107020000000000000000000000000000000000060
+:107030000000000000000000000000000000000050
+:107040000000000000000000010101010101010138
+:107050000101010101010101010101010101010120
+:107060000101010101010101010101010101010110
+:107070000101010101010101010101010101010100
+:1070800001010101010101010101010101010101F0
+:1070900001010101010101010101010101010101E0
+:1070A00001010101010101010101010101010101D0
+:1070B00001010101010101010101010101010101C0
+:1070C00001010101010101010101010101010101B0
+:1070D00001010101010101010101010101010101A0
+:1070E0000101010101010101010101010101010190
+:1070F0000101010101010101010101010101010180
+:10710000010101010101010101010101010101016F
+:10711000010101010101010101010101010101015F
+:10712000010101010101010101010101010101014F
+:10713000010101010101010101010101010101013F
+:10714000010101010101010101010101010101012F
+:10715000010101010101010101010101010101011F
+:10716000010101010101010101010101010101010F
+:1071700001010101010101010101010101010101FF
+:1071800001010101010101010101010101010101EF
+:1071900001010101010101010101010101010101DF
+:1071A00001010101010101010101010101010101CF
+:1071B00001010101010101010101010101010101BF
+:1071C00001010101010101010101010101010101AF
+:1071D000010101010101010101010101010101019F
+:1071E000010101010101010101010101010101018F
+:1071F000010101010101010101010101010101017F
+:10720000010101010101010101010101010101016E
+:10721000010101010101010101010101010101015E
+:10722000010101010101010101010101010101014E
+:10723000010101010101010101010101010101013E
+:107240000101010101010101020202020202020226
+:10725000020202020202020202020202020202020E
+:1072600002020202020202020202020202020202FE
+:1072700002020202020202020202020202020202EE
+:1072800002020202020202020202020202020202DE
+:1072900002020202020202020202020202020202CE
+:1072A00002020202020202020202020202020202BE
+:1072B00002020202020202020202020202020202AE
+:1072C000020202020202020202020202020202029E
+:1072D000020202020202020202020202020202028E
+:1072E000020202020202020202020202020202027E
+:1072F000020202020202020202020202020202026E
+:10730000020202020202020202020202020202025D
+:10731000020202020202020202020202020202024D
+:10732000020202020202020202020202020202023D
+:10733000020202020202020202020202020202022D
+:10734000020202020202020202020202020202021D
+:10735000020202020202020202020202020202020D
+:1073600002020202020202020202020202020202FD
+:1073700002020202020202020202020202020202ED
+:1073800002020202020202020202020202020202DD
+:1073900002020202020202020202020202020202CD
+:1073A00002020202020202020202020202020202BD
+:1073B00002020202020202020202020202020202AD
+:1073C000020202020202020202020202020202029D
+:1073D000020202020202020202020202020202028D
+:1073E000020202020202020202020202020202027D
+:1073F000020202020202020202020202020202026D
+:10740000020202020202020202020202020202025C
+:10741000020202020202020202020202020202024C
+:10742000020202020202020202020202020202023C
+:10743000020202020202020202020202020202022C
+:10744000020202020202020202020202020202021C
+:10745000020202020202020202020202020202020C
+:1074600002020202020202020202020202020202FC
+:1074700002020202020202020202020202020202EC
+:1074800002020202020202020202020202020202DC
+:1074900002020202020202020202020202020202CC
+:1074A00002020202020202020202020202020202BC
+:1074B00002020202020202020202020202020202AC
+:1074C000020202020202020202020202020202029C
+:1074D000020202020202020202020202020202028C
+:1074E000020202020202020202020202020202027C
+:1074F000020202020202020202020202020202026C
+:10750000020202020202020202020202020202025B
+:10751000020202020202020202020202020202024B
+:10752000020202020202020202020202020202023B
+:10753000020202020202020202020202020202022B
+:10754000020202020202020202020202020202021B
+:10755000020202020202020202020202020202020B
+:1075600002020202020202020202020202020202FB
+:1075700002020202020202020202020202020202EB
+:1075800002020202020202020202020202020202DB
+:1075900002020202020202020202020202020202CB
+:1075A00002020202020202020202020202020202BB
+:1075B00002020202020202020202020202020202AB
+:1075C000020202020202020202020202020202029B
+:1075D000020202020202020202020202020202028B
+:1075E000020202020202020202020202020202027B
+:1075F000020202020202020202020202020202026B
+:10760000020202020202020202020202020202025A
+:10761000020202020202020202020202020202024A
+:10762000020202020202020202020202020202023A
+:10763000020202020202020202020202020202022A
+:10764000020202020202020202020202020202021A
+:10765000020202020202020202020202020202020A
+:1076600002020202020202020202020202020202FA
+:1076700002020202020202020202020202020202EA
+:1076800002020202020202020202020202020202DA
+:1076900002020202020202020202020202020202CA
+:1076A00002020202020202020202020202020202BA
+:1076B00002020202020202020202020202020202AA
+:1076C000020202020202020202020202020202029A
+:1076D000020202020202020202020202020202028A
+:1076E000020202020202020202020202020202027A
+:1076F000020202020202020202020202020202026A
+:107700000202020202020202020202020202020259
+:107710000202020202020202020202020202020249
+:107720000202020202020202020202020202020239
+:107730000202020202020202020202020202020229
+:107740000202020202020202020202020202020219
+:107750000202020202020202020202020202020209
+:1077600002020202020202020202020202020202F9
+:1077700002020202020202020202020202020202E9
+:1077800002020202020202020202020202020202D9
+:1077900002020202020202020202020202020202C9
+:1077A00002020202020202020202020202020202B9
+:1077B00002020202020202020202020202020202A9
+:1077C0000202020202020202020202020202020299
+:1077D0000202020202020202020202020202020289
+:1077E0000202020202020202020202020202020279
+:1077F0000202020202020202020202020202020269
+:107800000202020202020202020202020202020258
+:107810000202020202020202020202020202020248
+:107820000202020202020202020202020202020238
+:107830000202020202020202020202020202020228
+:107840000202020202020202020202020202020218
+:107850000202020202020202020202020202020208
+:1078600002020202020202020202020202020202F8
+:1078700002020202020202020202020202020202E8
+:1078800002020202020202020202020202020202D8
+:1078900002020202020202020202020202020202C8
+:1078A00002020202020202020202020202020202B8
+:1078B00002020202020202020202020202020202A8
+:1078C0000202020202020202020202020202020298
+:1078D0000202020202020202020202020202020288
+:1078E0000202020202020202020202020202020278
+:1078F0000202020202020202020202020202020268
+:107900000202020202020202020202020202020257
+:107910000202020202020202020202020202020247
+:107920000202020202020202020202020202020237
+:107930000202020202020202020202020202020227
+:107940000202020202020202020202020202020217
+:107950000202020202020202020202020202020207
+:1079600002020202020202020202020202020202F7
+:1079700002020202020202020202020202020202E7
+:1079800002020202020202020202020202020202D7
+:1079900002020202020202020202020202020202C7
+:1079A00002020202020202020202020202020202B7
+:1079B00002020202020202020202020202020202A7
+:1079C0000202020202020202020202020202020297
+:1079D0000202020202020202020202020202020287
+:1079E0000202020202020202020202020202020277
+:1079F0000202020202020202020202020202020267
+:107A00000202020202020202020202020202020256
+:107A10000202020202020202020202020202020246
+:107A20000202020202020202020202020202020236
+:107A30000202020202020202020202020202020226
+:107A40000202020202020202020202020202020216
+:107A50000202020202020202020202020202020206
+:107A600002020202020202020202020202020202F6
+:107A700002020202020202020202020202020202E6
+:107A800002020202020202020202020202020202D6
+:107A900002020202020202020202020202020202C6
+:107AA00002020202020202020202020202020202B6
+:107AB00002020202020202020202020202020202A6
+:107AC0000202020202020202020202020202020296
+:107AD0000202020202020202020202020202020286
+:107AE0000202020202020202020202020202020276
+:107AF0000202020202020202020202020202020266
+:107B00000202020202020202020202020202020255
+:107B10000202020202020202020202020202020245
+:107B20000202020202020202020202020202020235
+:107B30000202020202020202020202020202020225
+:107B40000202020202020202020202020202020215
+:107B50000202020202020202020202020202020205
+:107B600002020202020202020202020202020202F5
+:107B700002020202020202020202020202020202E5
+:107B800002020202020202020202020202020202D5
+:107B900002020202020202020202020202020202C5
+:107BA00002020202020202020202020202020202B5
+:107BB00002020202020202020202020202020202A5
+:107BC0000202020202020202020202020202020295
+:107BD0000202020202020202020202020202020285
+:107BE0000202020202020202020202020202020275
+:107BF0000202020202020202020202020202020265
+:107C00000202020202020202020202020202020254
+:107C10000202020202020202020202020202020244
+:107C20000202020202020202020202020202020234
+:107C30000202020202020202020202020202020224
+:107C40000202020202020202000000000000000024
+:107C50000000000000000000000000000000000024
+:107C60000000000000000000000000000000000014
+:107C70000000000000000000000000000000000004
+:107C800000000000000000000000000000000000F4
+:107C900000000000000000000000000000000000E4
+:107CA00000000000000000000000000000000000D4
+:107CB00000000000000000000000000000000000C4
+:107CC00000000000000000000000000000000000B4
+:107CD00000000000000000000000000000000000A4
+:107CE0000000000000000000000000000000000094
+:107CF0000000000000000000000000000000000084
+:107D00000000000000000000000000000000000073
+:107D10000000000000000000000000000000000063
+:107D20000000000000000000000000000000000053
+:107D30000000000000000000000000000000000043
+:107D40000000000000000000000000000000000033
+:107D50000000000000000000000000000000000023
+:107D60000000000000000000000000000000000013
+:107D70000000000000000000000000000000000003
+:107D800000000000000000000000000000000000F3
+:107D900000000000000000000000000000000000E3
+:107DA00000000000000000000000000000000000D3
+:107DB00000000000000000000000000000000000C3
+:107DC00000000000000000000000000000000000B3
+:107DD00000000000000000000000000000000000A3
+:107DE0000000000000000000000000000000000093
+:107DF0000000000000000000000000000000000083
+:107E00000000000000000000000000000000000072
+:107E10000000000000000000000000000000000062
+:107E20000000000000000000000000000000000052
+:107E30000000000000000000000000000000000042
+:107E40000000000000000000000000000000000032
+:107E50000000000000000000000000000000000022
+:107E60000000000000000000000000000000000012
+:107E70000000000000000000000000000000000002
+:107E800000000000000000000000000000000000F2
+:107E900000000000000000000000000000000000E2
+:107EA00000000000000000000000000000000000D2
+:107EB00000000000000000000000000000000000C2
+:107EC00000000000000000000000000000000000B2
+:107ED00000000000000000000000000000000000A2
+:107EE0000000000000000000000000000000000092
+:107EF0000000000000000000000000000000000082
+:107F00000000000000000000000000000000000071
+:107F10000000000000000000000000000000000061
+:107F20000000000000000000000000000000000051
+:107F30000000000000000000000000000000000041
+:107F400000000000000000005F00000000000000D2
+:107F50000101010101010101010101010101010111
+:107F60000101010101010101010101010101010101
+:107F700001010101010101010101010101010101F1
+:107F800001010101010101010101010101010101E1
+:107F900001010101010101010101010101010101D1
+:107FA00001010101010101010101010101010101C1
+:107FB00001010101010101010101010101010101B1
+:107FC00001010101010101010101010101010101A1
+:107FD0000101010101010101010101010101010191
+:107FE0000101010101010101010101010101010181
+:107FF0000101010101010101010101010101010171
+:108000000101010101010101010101010101010160
+:108010000101010101010101010101010101010150
+:108020000101010101010101010101010101010140
+:108030000101010101010101010101010101010130
+:108040000101010101010101010101010101010120
+:108050000101010101010101010101010101010110
+:108060000101010101010101010101010101010100
+:1080700001010101010101010101010101010101F0
+:1080800001010101010101010101010101010101E0
+:1080900001010101010101010101010101010101D0
+:1080A00001010101010101010101010101010101C0
+:1080B00001010101010101010101010101010101B0
+:1080C00001010101010101010101010101010101A0
+:1080D0000101010101010101010101010101010190
+:1080E0000101010101010101010101010101010180
+:1080F0000101010101010101010101010101010170
+:10810000010101010101010101010101010101015F
+:10811000010101010101010101010101010101014F
+:10812000010101010101010101010101010101013F
+:10813000010101010101010101010101010101012F
+:10814000010101010101010101010101010101011F
+:10815000010101010101010101010101010101010F
+:1081600001010101010101010101010101010101FF
+:1081700001010101010101010101010101010101EF
+:1081800001010101010101010101010101010101DF
+:1081900001010101010101010101010101010101CF
+:1081A00001010101010101010101010101010101BF
+:1081B00001010101010101010101010101010101AF
+:1081C000010101010101010101010101010101019F
+:1081D000010101010101010101010101010101018F
+:1081E000010101010101010101010101010101017F
+:1081F000010101010101010101010101010101016F
+:10820000010101010101010101010101010101015E
+:10821000010101010101010101010101010101014E
+:10822000010101010101010101010101010101013E
+:10823000010101010101010101010101010101012E
+:10824000010101010101010101010101010101011E
+:10825000010101010101010101010101010101010E
+:1082600001010101010101010101010101010101FE
+:1082700001010101010101010101010101010101EE
+:1082800001010101010101010101010101010101DE
+:1082900001010101010101010101010101010101CE
+:1082A00001010101010101010101010101010101BE
+:1082B00001010101010101010101010101010101AE
+:1082C000010101010101010101010101010101019E
+:1082D000010101010101010101010101010101018E
+:1082E000010101010101010101010101010101017E
+:1082F000010101010101010101010101010101016E
+:10830000010101010101010101010101010101015D
+:10831000010101010101010101010101010101014D
+:10832000010101010101010101010101010101013D
+:10833000010101010101010101010101010101012D
+:10834000010101010101010101010101010101011D
+:10835000000000000000000000000000000000001D
+:10836000000000000000000000000000000000000D
+:1083700000000000000000000000000000000000FD
+:1083800000000000000000000000000000000000ED
+:1083900000000000000000000000000000000000DD
+:1083A00000000000000000000000000000000000CD
+:1083B00000000000000000000000000000000000BD
+:1083C00000000000000000000000000000000000AD
+:1083D000000000000000000000000000000000009D
+:1083E000000000000000000000000000000000008D
+:1083F000000000000000000000000000000000007D
+:10840000000000000000000000000000000000006C
+:10841000000000000000000000000000000000005C
+:10842000000000000000000000000000000000004C
+:10843000000000000000000000000000000000003C
+:10844000000000000000000000000000000000002C
+:10845000000000000000000000000000000000001C
+:10846000000000000000000000000000000000000C
+:1084700000000000000000000000000000000000FC
+:1084800000000000000000000000000000000000EC
+:1084900000000000000000000000000000000000DC
+:1084A00000000000000000000000000000000000CC
+:1084B00000000000000000000000000000000000BC
+:1084C00000000000000000000000000000000000AC
+:1084D000000000000000000000000000000000009C
+:1084E000000000000000000000000000000000008C
+:1084F000000000000000000000000000000000007C
+:10850000000000000000000000000000000000006B
+:10851000000000000000000000000000000000005B
+:10852000000000000000000000000000000000004B
+:10853000000000000000000000000000000000003B
+:10854000000000000000000000000000000000002B
+:10855000000000000000000000000000000000001B
+:10856000000000000000000000000000000000000B
+:1085700000000000000000000000000000000000FB
+:1085800000000000000000000000000000000000EB
+:1085900000000000000000000000000000000000DB
+:1085A00000000000000000000000000000000000CB
+:1085B00000000000000000000000000000000000BB
+:1085C00000000000000000000000000000000000AB
+:1085D000000000000000000000000000000000009B
+:1085E000000000000000000000000000000000008B
+:1085F000000000000000000000000000000000007B
+:10860000000000000000000000000000000000006A
+:10861000000000000000000000000000000000005A
+:10862000000000000000000000000000000000004A
+:10863000000000000000000000000000000000003A
+:10864000000000000000000000000000000000002A
+:10865000000000000000000000000000000000001A
+:10866000000000000000000000000000000000000A
+:1086700000000000000000000000000000000000FA
+:1086800000000000000000000000000000000000EA
+:1086900000000000000000000000000000000000DA
+:1086A00000000000000000000000000000000000CA
+:1086B00000000000000000000000000000000000BA
+:1086C00000000000000000000000000000000000AA
+:1086D000000000000000000000000000000000009A
+:1086E000000000000000000000000000000000008A
+:1086F000000000000000000000000000000000007A
+:108700000000000000000000000000000000000069
+:108710000000000000000000000000000000000059
+:108720000000000000000000000000000000000049
+:108730000000000000000000000000000000000039
+:108740000000000000000000000000000000000029
+:108750000000000000000000000000000000000019
+:108760000000000000000000000000000000000009
+:1087700000000000000000000000000000000000F9
+:1087800000000000000000000000000000000000E9
+:1087900000000000000000000000000000000000D9
+:1087A00000000000000000000000000000000000C9
+:1087B00000000000000000000000000000000000B9
+:1087C00000000000000000000000000000000000A9
+:1087D0000000000000000000000000000000000099
+:1087E0000000000000000000000000000000000089
+:1087F0000000000000000000000000000000000079
+:108800000000000000000000000000000000000068
+:108810000000000000000000000000000000000058
+:108820000000000000000000000000000000000048
+:108830000000000000000000000000000000000038
+:108840000000000000000000000000000000000028
+:108850000000000000000000000000000000000018
+:108860000000000000000000000000000000000008
+:1088700000000000000000000000000000000000F8
+:1088800000000000000000000000000000000000E8
+:1088900000000000000000000000000000000000D8
+:1088A00000000000000000000000000000000000C8
+:1088B00000000000000000000000000000000000B8
+:1088C00000000000000000000000000000000000A8
+:1088D0000000000000000000000000000000000098
+:1088E0000000000000000000000000000000000088
+:1088F0000000000000000000000000000000000078
+:108900000000000000000000000000000000000067
+:108910000000000000000000000000000000000057
+:108920000000000000000000000000000000000047
+:108930000000000000000000000000000000000037
+:108940000000000000000000000000000000000027
+:108950000000000000000000000000000000000017
+:108960000000000000000000000000000000000007
+:1089700000000000000000000000000000000000F7
+:1089800000000000000000000000000000000000E7
+:1089900000000000000000000000000000000000D7
+:1089A00000000000000000000000000000000000C7
+:1089B00000000000000000000000000000000000B7
+:1089C00000000000000000000000000000000000A7
+:1089D0000000000000000000000000000000000097
+:1089E0000000000000000000000000000000000087
+:1089F0000000000000000000000000000000000077
+:108A00000000000000000000000000000000000066
+:108A10000000000000000000000000000000000056
+:108A20000000000000000000000000000000000046
+:108A30000000000000000000000000000000000036
+:108A40000000000000000000000000000000000026
+:108A50000000000000000000000000000000000016
+:108A60000000000000000000000000000000000006
+:108A700000000000000000000000000000000000F6
+:108A800000000000000000000000000000000000E6
+:108A900000000000000000000000000000000000D6
+:108AA00000000000000000000000000000000000C6
+:108AB00000000000000000000000000000000000B6
+:108AC00000000000000000000000000000000000A6
+:108AD0000000000000000000000000000000000096
+:108AE0000000000000000000000000000000000086
+:108AF0000000000000000000000000000000000076
+:108B00000000000000000000000000000000000065
+:108B10000000000000000000000000000000000055
+:108B20000000000000000000000000000000000045
+:108B30000000000000000000000000000000000035
+:108B40000000000000000000000000000000000025
+:108B50000000000000000000000000000000000015
+:108B60000000000000000000000000000000000005
+:108B700000000000000000000000000000000000F5
+:108B800000000000000000000000000000000000E5
+:108B900000000000000000000000000000000000D5
+:108BA00000000000000000000000000000000000C5
+:108BB00000000000000000000000000000000000B5
+:108BC00000000000000000000000000000000000A5
+:108BD0000000000000000000000000000000000095
+:108BE0000000000000000000000000000000000085
+:108BF0000000000000000000000000000000000075
+:108C00000000000000000000000000000000000064
+:108C10000000000000000000000000000000000054
+:108C20000000000000000000000000000000000044
+:108C30000000000000000000000000000000000034
+:108C40000000000000000000000000000000000024
+:108C50000000000000000000000000000000000014
+:108C60000000000000000000000000000000000004
+:108C700000000000000000000000000000000000F4
+:108C800000000000000000000000000000000000E4
+:108C900000000000000000000000000000000000D4
+:108CA00000000000000000000000000000000000C4
+:108CB00000000000000000000000000000000000B4
+:108CC00000000000000000000000000000000000A4
+:108CD0000000000000000000000000000000000094
+:108CE0000000000000000000000000000000000084
+:108CF0000000000000000000000000000000000074
+:108D00000000000000000000000000000000000063
+:108D10000000000000000000000000000000000053
+:108D20000000000000000000000000000000000043
+:108D30000000000000000000000000000000000033
+:108D40000000000000000000000000000000000023
+:108D50000000000000000000000000000000000013
+:108D60000000000000000000000000000000000003
+:108D700000000000000000000000000000000000F3
+:108D800000000000000000000000000000000000E3
+:108D900000000000000000000000000000000000D3
+:108DA00000000000000000000000000000000000C3
+:108DB00000000000000000000000000000000000B3
+:108DC00000000000000000000000000000000000A3
+:108DD0000000000000000000000000000000000093
+:108DE0000000000000000000000000000000000083
+:108DF0000000000000000000000000000000000073
+:108E00000000000000000000000000000000000062
+:108E10000000000000000000000000000000000052
+:108E20000000000000000000000000000000000042
+:108E30000000000000000000000000000000000032
+:108E40000000000000000000000000000000000022
+:108E50000000000000000000000000000000000012
+:108E60000000000000000000000000000000000002
+:108E700000000000000000000000000000000000F2
+:108E800000000000000000000000000000000000E2
+:108E900000000000000000000000000000000000D2
+:108EA00000000000000000000000000000000000C2
+:108EB00000000000000000000000000000000000B2
+:108EC00000000000000000000000000000000000A2
+:108ED0000000000000000000000000000000000092
+:108EE0000000000000000000000000000000000082
+:108EF0000000000000000000000000000000000072
+:108F00000000000000000000000000000000000061
+:108F10000000000000000000000000000000000051
+:108F20000000000000000000000000000000000041
+:108F30000000000000000000000000000000000031
+:108F40000000000000000000000000000000000021
+:108F50000000000000000000000000000000000011
+:108F60000000000000000000000000000000000001
+:108F700000000000000000000000000000000000F1
+:108F800000000000000000000000000000000000E1
+:108F900000000000000000000000000000000000D1
+:108FA00000000000000000000000000000000000C1
+:108FB00000000000000000000000000000000000B1
+:108FC00000000000000000000000000000000000A1
+:108FD0000000000000000000000000000000000091
+:108FE0000000000000000000000000000000000081
+:108FF0000000000000000000000000000000000071
+:109000000000000000000000000000000000000060
+:109010000000000000000000000000000000000050
+:109020000000000000000000000000000000000040
+:109030000000000000000000000000000000000030
+:109040000000000000000000000000000000000020
+:109050000000000000000000000000000000000010
+:109060000000000000000000000000000000000000
+:1090700000000000000000000000000000000000F0
+:1090800000000000000000000000000000000000E0
+:1090900000000000000000000000000000000000D0
+:1090A00000000000000000000000000000000000C0
+:1090B00000000000000000000000000000000000B0
+:1090C00000000000000000000000000000000000A0
+:1090D0000000000000000000000000000000000090
+:1090E0000000000000000000000000000000000080
+:1090F0000000000000000000000000000000000070
+:10910000000000000000000000000000000000005F
+:10911000000000000000000000000000000000004F
+:10912000000000000000000000000000000000003F
+:10913000000000000000000000000000000000002F
+:10914000000000000000000000000000000000001F
+:10915000000000000000000000000000000000000F
+:1091600000000000000000000000000000000000FF
+:1091700000000000000000000000000000000000EF
+:1091800000000000000000000000000000000000DF
+:1091900000000000000000000000000000000000CF
+:1091A00000000000000000000000000000000000BF
+:1091B00000000000000000000000000000000000AF
+:1091C000000000000000000000000000000000009F
+:1091D000000000000000000000000000000000008F
+:1091E000000000000000000000000000000000007F
+:1091F000000000000000000000000000000000006F
+:10920000000000000000000000000000000000005E
+:10921000000000000000000000000000000000004E
+:10922000000000000000000000000000000000003E
+:10923000000000000000000000000000000000002E
+:10924000000000000000000000000000000000001E
+:10925000000000000000000000000000000000000E
+:1092600000000000000000000000000000000000FE
+:1092700000000000000000000000000000000000EE
+:1092800000000000000000000000000000000000DE
+:1092900000000000000000000000000000000000CE
+:1092A00000000000000000000000000000000000BE
+:1092B00000000000000000000000000000000000AE
+:1092C000000000000000000000000000000000009E
+:1092D000000000000000000000000000000000008E
+:1092E000000000000000000000000000000000007E
+:1092F000000000000000000000000000000000006E
+:10930000000000000000000000000000000000005D
+:10931000000000000000000000000000000000004D
+:10932000000000000000000000000000000000003D
+:10933000000000000000000000000000000000002D
+:10934000000000000000000000000000000000001D
+:10935000000000000000000000000000000000000D
+:1093600000000000000000000000000000000000FD
+:1093700000000000000000000000000000000000ED
+:1093800000000000000000000000000000000000DD
+:1093900000000000000000000000000000000000CD
+:1093A00000000000000000000000000000000000BD
+:1093B00000000000000000000000000000000000AD
+:1093C000000000000000000000000000000000009D
+:1093D000000000000000000000000000000000008D
+:1093E000000000000000000000000000000000007D
+:1093F000000000000000000000000000000000006D
+:10940000000000000000000000000000000000005C
+:10941000000000000000000000000000000000004C
+:10942000000000000000000000000000000000003C
+:10943000000000000000000000000000000000002C
+:10944000000000000000000000000000000000001C
+:10945000000000000000000000000000000000000C
+:1094600000000000000000000000000000000000FC
+:1094700000000000000000000000000000000000EC
+:1094800000000000000000000000000000000000DC
+:1094900000000000000000000000000000000000CC
+:1094A00000000000000000000000000000000000BC
+:1094B00000000000000000000000000000000000AC
+:1094C000000000000000000000000000000000009C
+:1094D000000000000000000000000000000000008C
+:1094E000000000000000000000000000000000007C
+:1094F000000000000000000000000000000000006C
+:10950000000000000000000000000000000000005B
+:10951000000000000000000000000000000000004B
+:10952000000000000000000000000000000000003B
+:10953000000000000000000000000000000000002B
+:10954000000000000000000000000000000000001B
+:10955000000000000000000000000000000000000B
+:1095600000000000000000000000000000000000FB
+:1095700000000000000000000000000000000000EB
+:1095800000000000000000000000000000000000DB
+:1095900000000000000000000000000000000000CB
+:1095A00000000000000000000000000000000000BB
+:1095B00000000000000000000000000000000000AB
+:1095C000000000000000000000000000000000009B
+:1095D000000000000000000000000000000000008B
+:1095E000000000000000000000000000000000007B
+:1095F000000000000000000000000000000000006B
+:10960000000000000000000000000000000000005A
+:10961000000000000000000000000000000000004A
+:10962000000000000000000000000000000000003A
+:10963000000000000000000000000000000000002A
+:10964000000000000000000000000000000000001A
+:10965000000000000000000000000000000000000A
+:1096600000000000000000000000000000000000FA
+:1096700000000000000000000000000000000000EA
+:1096800000000000000000000000000000000000DA
+:1096900000000000000000000000000000000000CA
+:1096A00000000000000000000000000000000000BA
+:1096B00000000000000000000000000000000000AA
+:1096C000000000000000000000000000000000009A
+:1096D000000000000000000000000000000000008A
+:1096E000000000000000000000000000000000007A
+:1096F000000000000000000000000000000000006A
+:109700000000000000000000000000000000000059
+:109710000000000000000000000000000000000049
+:109720000000000000000000000000000000000039
+:109730000000000000000000000000000000000029
+:109740000000000000000000000000000000000019
+:109750000000000000000000000000000000000009
+:1097600000000000000000000000000000000000F9
+:1097700000000000000000000000000000000000E9
+:1097800000000000000000000000000000000000D9
+:1097900000000000000000000000000000000000C9
+:1097A00000000000000000000000000000000000B9
+:1097B00000000000000000000000000000000000A9
+:1097C0000000000000000000000000000000000099
+:1097D0000000000000000000000000000000000089
+:1097E0000000000000000000000000000000000079
+:1097F0000000000000000000000000000000000069
+:109800000000000000000000000000000000000058
+:109810000000000000000000000000000000000048
+:109820000000000000000000000000000000000038
+:109830000000000000000000000000000000000028
+:109840000000000000000000000000000000000018
+:1098500001010101010101010101010101010101F8
+:1098600001010101010101010101010101010101E8
+:1098700001010101010101010101010101010101D8
+:1098800001010101010101010101010101010101C8
+:1098900001010101010101010101010101010101B8
+:1098A00001010101010101010101010101010101A8
+:1098B0000101010101010101010101010101010198
+:1098C0000101010101010101010101010101010188
+:1098D0000101010101010101010101010101010178
+:1098E0000101010101010101010101010101010168
+:1098F0000101010101010101010101010101010158
+:109900000101010101010101010101010101010147
+:109910000101010101010101010101010101010137
+:109920000101010101010101010101010101010127
+:109930000101010101010101010101010101010117
+:109940000101010101010101010101010101010107
+:1099500001010101010101010101010101010101F7
+:1099600001010101010101010101010101010101E7
+:1099700001010101010101010101010101010101D7
+:1099800001010101010101010101010101010101C7
+:1099900001010101010101010101010101010101B7
+:1099A00001010101010101010101010101010101A7
+:1099B0000101010101010101010101010101010197
+:1099C0000101010101010101010101010101010187
+:1099D0000101010101010101010101010101010177
+:1099E0000101010101010101010101010101010167
+:1099F0000101010101010101010101010101010157
+:109A00000101010101010101010101010101010146
+:109A10000101010101010101010101010101010136
+:109A20000101010101010101010101010101010126
+:109A30000101010101010101010101010101010116
+:109A40000101010101010101010101010101010106
+:109A500001010101010101010101010101010101F6
+:109A600001010101010101010101010101010101E6
+:109A700001010101010101010101010101010101D6
+:109A800001010101010101010101010101010101C6
+:109A900001010101010101010101010101010101B6
+:109AA00001010101010101010101010101010101A6
+:109AB0000101010101010101010101010101010196
+:109AC0000101010101010101010101010101010186
+:109AD0000101010101010101010101010101010176
+:109AE0000101010101010101010101010101010166
+:109AF0000101010101010101010101010101010156
+:109B00000101010101010101010101010101010145
+:109B10000101010101010101010101010101010135
+:109B20000101010101010101010101010101010125
+:109B30000101010101010101010101010101010115
+:109B40000101010101010101010101010101010105
+:109B500001010101010101010101010101010101F5
+:109B600001010101010101010101010101010101E5
+:109B700001010101010101010101010101010101D5
+:109B800001010101010101010101010101010101C5
+:109B900001010101010101010101010101010101B5
+:109BA00001010101010101010101010101010101A5
+:109BB0000101010101010101010101010101010195
+:109BC0000101010101010101010101010101010185
+:109BD0000101010101010101010101010101010175
+:109BE0000101010101010101010101010101010165
+:109BF0000101010101010101010101010101010155
+:109C00000101010101010101010101010101010144
+:109C10000101010101010101010101010101010134
+:109C20000101010101010101010101010101010124
+:109C30000101010101010101010101010101010114
+:109C40000101010101010101010101010101010104
+:109C50000000000000000000000000000000000004
+:109C600000000000000000000000000000000000F4
+:109C700000000000000000000000000000000000E4
+:109C800000000000000000000000000000000000D4
+:109C900000000000000000000000000000000000C4
+:109CA00000000000000000000000000000000000B4
+:109CB00000000000000000000000000000000000A4
+:109CC0000000000000000000000000000000000094
+:109CD0000000000000000000000000000000000084
+:109CE0000000000000000000000000000000000074
+:109CF0000000000000000000000000000000000064
+:109D00000000000000000000000000000000000053
+:109D10000000000000000000000000000000000043
+:109D20000000000000000000000000000000000033
+:109D30000000000000000000000000000000000023
+:109D40000000000000000000000000000000000013
+:109D50000000000000000000000000000000000003
+:109D600000000000000000000000000000000000F3
+:109D700000000000000000000000000000000000E3
+:109D800000000000000000000000000000000000D3
+:109D900000000000000000000000000000000000C3
+:109DA00000000000000000000000000000000000B3
+:109DB00000000000000000000000000000000000A3
+:109DC0000000000000000000000000000000000093
+:109DD0000000000000000000000000000000000083
+:109DE0000000000000000000000000000000000073
+:109DF0000000000000000000000000000000000063
+:109E00000000000000000000000000000000000052
+:109E10000000000000000000000000000000000042
+:109E20000000000000000000000000000000000032
+:109E30000000000000000000000000000000000022
+:109E40000000000000000000000000000000000012
+:109E50000000000000000000000000000000000002
+:109E600000000000000000000000000000000000F2
+:109E700000000000000000000000000000000000E2
+:109E800000000000000000000000000000000000D2
+:109E900000000000000000000000000000000000C2
+:109EA00000000000000000000000000000000000B2
+:109EB00000000000000000000000000000000000A2
+:109EC0000000000000000000000000000000000092
+:109ED0000000000000000000000000000000000082
+:109EE0000000000000000000000000000000000072
+:109EF0000000000000000000000000000000000062
+:109F00000000000000000000000000000000000051
+:109F10000000000000000000000000000000000041
+:109F20000000000000000000000000000000000031
+:109F30000000000000000000000000000000000021
+:109F40000000000000000000000000000000000011
+:109F50000000000000000000000000000000000001
+:109F600000000000000000000000000000000000F1
+:109F700000000000000000000000000000000000E1
+:109F800000000000000000000000000000000000D1
+:109F900000000000000000000000000000000000C1
+:109FA00000000000000000000000000000000000B1
+:109FB00000000000000000000000000000000000A1
+:109FC0000000000000000000000000000000000091
+:109FD0000000000000000000000000000000000081
+:109FE0000000000000000000000000000000000071
+:109FF0000000000000000000000000000000000061
+:10A000000000000000000000000000000000000050
+:10A010000000000000000000000000000000000040
+:10A020000000000000000000000000000000000030
+:10A030000000000000000000000000000000000020
+:10A040000000000000000000000000000000000010
+:10A0500001010101010101010101010101010101F0
+:10A0600001010101010101010101010101010101E0
+:10A0700001010101010101010101010101010101D0
+:10A0800001010101010101010101010101010101C0
+:10A0900001010101010101010101010101010101B0
+:10A0A00001010101010101010101010101010101A0
+:10A0B0000101010101010101010101010101010190
+:10A0C0000101010101010101010101010101010180
+:10A0D0000101010101010101010101010101010170
+:10A0E0000101010101010101010101010101010160
+:10A0F0000101010101010101010101010101010150
+:10A10000010101010101010101010101010101013F
+:10A11000010101010101010101010101010101012F
+:10A12000010101010101010101010101010101011F
+:10A13000010101010101010101010101010101010F
+:10A1400001010101010101010101010101010101FF
+:10A1500002020202020202020202020202020202DF
+:10A1600002020202020202020202020202020202CF
+:10A1700002020202020202020202020202020202BF
+:10A1800002020202020202020202020202020202AF
+:10A19000020202020202020202020202020202029F
+:10A1A000020202020202020202020202020202028F
+:10A1B000020202020202020202020202020202027F
+:10A1C000020202020202020202020202020202026F
+:10A1D000020202020202020202020202020202025F
+:10A1E000020202020202020202020202020202024F
+:10A1F000020202020202020202020202020202023F
+:10A20000020202020202020202020202020202022E
+:10A21000020202020202020202020202020202021E
+:10A22000020202020202020202020202020202020E
+:10A2300002020202020202020202020202020202FE
+:10A2400002020202020202020202020202020202EE
+:10A2500002020202020202020202020202020202DE
+:10A2600002020202020202020202020202020202CE
+:10A2700002020202020202020202020202020202BE
+:10A2800002020202020202020202020202020202AE
+:10A29000020202020202020202020202020202029E
+:10A2A000020202020202020202020202020202028E
+:10A2B000020202020202020202020202020202027E
+:10A2C000020202020202020202020202020202026E
+:10A2D000020202020202020202020202020202025E
+:10A2E000020202020202020202020202020202024E
+:10A2F000020202020202020202020202020202023E
+:10A30000020202020202020202020202020202022D
+:10A31000020202020202020202020202020202021D
+:10A32000020202020202020202020202020202020D
+:10A3300002020202020202020202020202020202FD
+:10A3400002020202020202020202020202020202ED
+:10A3500002020202020202020202020202020202DD
+:10A3600002020202020202020202020202020202CD
+:10A3700002020202020202020202020202020202BD
+:10A3800002020202020202020202020202020202AD
+:10A39000020202020202020202020202020202029D
+:10A3A000020202020202020202020202020202028D
+:10A3B000020202020202020202020202020202027D
+:10A3C000020202020202020202020202020202026D
+:10A3D000020202020202020202020202020202025D
+:10A3E000020202020202020202020202020202024D
+:10A3F000020202020202020202020202020202023D
+:10A40000020202020202020202020202020202022C
+:10A41000020202020202020202020202020202021C
+:10A42000020202020202020202020202020202020C
+:10A4300002020202020202020202020202020202FC
+:10A4400002020202020202020202020202020202EC
+:10A4500002020202020202020202020202020202DC
+:10A4600002020202020202020202020202020202CC
+:10A4700002020202020202020202020202020202BC
+:10A4800002020202020202020202020202020202AC
+:10A49000020202020202020202020202020202029C
+:10A4A000020202020202020202020202020202028C
+:10A4B000020202020202020202020202020202027C
+:10A4C000020202020202020202020202020202026C
+:10A4D000020202020202020202020202020202025C
+:10A4E000020202020202020202020202020202024C
+:10A4F000020202020202020202020202020202023C
+:10A50000020202020202020202020202020202022B
+:10A51000020202020202020202020202020202021B
+:10A52000020202020202020202020202020202020B
+:10A5300002020202020202020202020202020202FB
+:10A5400002020202020202020202020202020202EB
+:10A5500002020202020202020202020202020202DB
+:10A5600002020202020202020202020202020202CB
+:10A5700002020202020202020202020202020202BB
+:10A5800002020202020202020202020202020202AB
+:10A59000020202020202020202020202020202029B
+:10A5A000020202020202020202020202020202028B
+:10A5B000020202020202020202020202020202027B
+:10A5C000020202020202020202020202020202026B
+:10A5D000020202020202020202020202020202025B
+:10A5E000020202020202020202020202020202024B
+:10A5F000020202020202020202020202020202023B
+:10A60000020202020202020202020202020202022A
+:10A61000020202020202020202020202020202021A
+:10A62000020202020202020202020202020202020A
+:10A6300002020202020202020202020202020202FA
+:10A6400002020202020202020202020202020202EA
+:10A6500002020202020202020202020202020202DA
+:10A6600002020202020202020202020202020202CA
+:10A6700002020202020202020202020202020202BA
+:10A6800002020202020202020202020202020202AA
+:10A69000020202020202020202020202020202029A
+:10A6A000020202020202020202020202020202028A
+:10A6B000020202020202020202020202020202027A
+:10A6C000020202020202020202020202020202026A
+:10A6D000020202020202020202020202020202025A
+:10A6E000020202020202020202020202020202024A
+:10A6F000020202020202020202020202020202023A
+:10A700000202020202020202020202020202020229
+:10A710000202020202020202020202020202020219
+:10A720000202020202020202020202020202020209
+:10A7300002020202020202020202020202020202F9
+:10A7400002020202020202020202020202020202E9
+:10A7500002020202020202020202020202020202D9
+:10A7600002020202020202020202020202020202C9
+:10A7700002020202020202020202020202020202B9
+:10A7800002020202020202020202020202020202A9
+:10A790000202020202020202020202020202020299
+:10A7A0000202020202020202020202020202020289
+:10A7B0000202020202020202020202020202020279
+:10A7C0000202020202020202020202020202020269
+:10A7D0000202020202020202020202020202020259
+:10A7E0000202020202020202020202020202020249
+:10A7F0000202020202020202020202020202020239
+:10A800000202020202020202020202020202020228
+:10A810000202020202020202020202020202020218
+:10A820000202020202020202020202020202020208
+:10A8300002020202020202020202020202020202F8
+:10A8400002020202020202020202020202020202E8
+:10A8500002020202020202020202020202020202D8
+:10A8600002020202020202020202020202020202C8
+:10A8700002020202020202020202020202020202B8
+:10A8800002020202020202020202020202020202A8
+:10A890000202020202020202020202020202020298
+:10A8A0000202020202020202020202020202020288
+:10A8B0000202020202020202020202020202020278
+:10A8C0000202020202020202020202020202020268
+:10A8D0000202020202020202020202020202020258
+:10A8E0000202020202020202020202020202020248
+:10A8F0000202020202020202020202020202020238
+:10A900000202020202020202020202020202020227
+:10A910000202020202020202020202020202020217
+:10A920000202020202020202020202020202020207
+:10A9300002020202020202020202020202020202F7
+:10A9400002020202020202020202020202020202E7
+:10A9500002020202020202020202020202020202D7
+:10A9600002020202020202020202020202020202C7
+:10A9700002020202020202020202020202020202B7
+:10A9800002020202020202020202020202020202A7
+:10A990000202020202020202020202020202020297
+:10A9A0000202020202020202020202020202020287
+:10A9B0000202020202020202020202020202020277
+:10A9C0000202020202020202020202020202020267
+:10A9D0000202020202020202020202020202020257
+:10A9E0000202020202020202020202020202020247
+:10A9F0000202020202020202020202020202020237
+:10AA00000202020202020202020202020202020226
+:10AA10000202020202020202020202020202020216
+:10AA20000202020202020202020202020202020206
+:10AA300002020202020202020202020202020202F6
+:10AA400002020202020202020202020202020202E6
+:10AA500000000000000000000000000000000000F6
+:10AA600000000000000000000000000000000000E6
+:10AA700000000000000000000000000000000000D6
+:10AA800000000000000000000000000000000000C6
+:10AA900000000000000000000000000000000000B6
+:10AAA00000000000000000000000000000000000A6
+:10AAB0000000000000000000000000000000000096
+:10AAC0000000000000000000000000000000000086
+:10AAD0000000000000000000000000000000000076
+:10AAE0000000000000000000000000000000000066
+:10AAF0000000000000000000000000000000000056
+:10AB00000000000000000000000000000000000045
+:10AB10000000000000000000000000000000000035
+:10AB20000000000000000000000000000000000025
+:10AB30000000000000000000000000000000000015
+:10AB40000000000000000000000000000000000005
+:10AB500000000000000000000000000000000000F5
+:10AB600000000000000000000000000000000000E5
+:10AB700000000000000000000000000000000000D5
+:10AB800000000000000000000000000000000000C5
+:10AB900000000000000000000000000000000000B5
+:10ABA00000000000000000000000000000000000A5
+:10ABB0000000000000000000000000000000000095
+:10ABC0000000000000000000000000000000000085
+:10ABD0000000000000000000000000000000000075
+:10ABE0000000000000000000000000000000000065
+:10ABF0000000000000000000000000000000000055
+:10AC00000000000000000000000000000000000044
+:10AC10000000000000000000000000000000000034
+:10AC20000000000000000000000000000000000024
+:10AC30000000000000000000000000000000000014
+:10AC40000000000000000000000000000000000004
+:10AC500000000000000000000000000000000000F4
+:10AC600000000000000000000000000000000000E4
+:10AC700000000000000000000000000000000000D4
+:10AC800000000000000000000000000000000000C4
+:10AC900000000000000000000000000000000000B4
+:10ACA00000000000000000000000000000000000A4
+:10ACB0000000000000000000000000000000000094
+:10ACC0000000000000000000000000000000000084
+:10ACD0000000000000000000000000000000000074
+:10ACE0000000000000000000000000000000000064
+:10ACF0000000000000000000000000000000000054
+:10AD00000000000000000000000000000000000043
+:10AD10000000000000000000000000000000000033
+:10AD20000000000000000000000000000000000023
+:10AD30000000000000000000000000000000000013
+:10AD40000000000000000000000000000000000003
+:10AD500000000000000000000000000000000000F3
+:10AD600000000000000000000000000000000000E3
+:10AD700000000000000000000000000000000000D3
+:10AD800000000000000000000000000000000000C3
+:10AD900000000000000000000000000000000000B3
+:10ADA00000000000000000000000000000000000A3
+:10ADB0000000000000000000000000000000000093
+:10ADC0000000000000000000000000000000000083
+:10ADD0000000000000000000000000000000000073
+:10ADE0000000000000000000000000000000000063
+:10ADF0000000000000000000000000000000000053
+:10AE00000000000000000000000000000000000042
+:10AE10000000000000000000000000000000000032
+:10AE20000000000000000000000000000000000022
+:10AE30000000000000000000000000000000000012
+:10AE40000000000000000000000000000000000002
+:10AE500000000000000000000000000000000000F2
+:10AE600000000000000000000000000000000000E2
+:10AE700000000000000000000000000000000000D2
+:10AE800000000000000000000000000000000000C2
+:10AE900000000000000000000000000000000000B2
+:10AEA00000000000000000000000000000000000A2
+:10AEB0000000000000000000000000000000000092
+:10AEC0000000000000000000000000000000000082
+:10AED0000000000000000000000000000000000072
+:10AEE0000000000000000000000000000000000062
+:10AEF0000000000000000000000000000000000052
+:10AF00000000000000000000000000000000000041
+:10AF10000000000000000000000000000000000031
+:10AF20000000000000000000000000000000000021
+:10AF30000000000000000000000000000000000011
+:10AF40000000000000000000000000000000000001
+:10AF500000000000000000000000000000000000F1
+:10AF600000000000000000000000000000000000E1
+:10AF700000000000000000000000000000000000D1
+:10AF800000000000000000000000000000000000C1
+:10AF900000000000000000000000000000000000B1
+:10AFA00000000000000000000000000000000000A1
+:10AFB0000000000000000000000000000000000091
+:10AFC0000000000000000000000000000000000081
+:10AFD0000000000000000000000000000000000071
+:10AFE0000000000000000000000000000000000061
+:10AFF0000000000000000000000000000000000051
+:10B000000000000000000000000000000000000040
+:10B010000000000000000000000000000000000030
+:10B020000000000000000000000000000000000020
+:10B030000000000000000000000000000000000010
+:10B040000000000000000000000000000000000000
+:10B0500001010101010101010101010101010101E0
+:10B0600001010101010101010101010101010101D0
+:10B0700001010101010101010101010101010101C0
+:10B0800001010101010101010101010101010101B0
+:10B0900001010101010101010101010101010101A0
+:10B0A0000101010101010101010101010101010190
+:10B0B0000101010101010101010101010101010180
+:10B0C0000101010101010101010101010101010170
+:10B0D0000101010101010101010101010101010160
+:10B0E0000101010101010101010101010101010150
+:10B0F0000101010101010101010101010101010140
+:10B10000010101010101010101010101010101012F
+:10B11000010101010101010101010101010101011F
+:10B12000010101010101010101010101010101010F
+:10B1300001010101010101010101010101010101FF
+:10B1400001010101010101010101010101010101EF
+:10B1500001010101010101010101010101010101DF
+:10B1600001010101010101010101010101010101CF
+:10B1700001010101010101010101010101010101BF
+:10B1800001010101010101010101010101010101AF
+:10B19000010101010101010101010101010101019F
+:10B1A000010101010101010101010101010101018F
+:10B1B000010101010101010101010101010101017F
+:10B1C000010101010101010101010101010101016F
+:10B1D000010101010101010101010101010101015F
+:10B1E000010101010101010101010101010101014F
+:10B1F000010101010101010101010101010101013F
+:10B20000010101010101010101010101010101012E
+:10B21000010101010101010101010101010101011E
+:10B22000010101010101010101010101010101010E
+:10B2300001010101010101010101010101010101FE
+:10B2400001010101010101010101010101010101EE
+:10B2500001010101010101010101010101010101DE
+:10B2600001010101010101010101010101010101CE
+:10B2700001010101010101010101010101010101BE
+:10B2800001010101010101010101010101010101AE
+:10B29000010101010101010101010101010101019E
+:10B2A000010101010101010101010101010101018E
+:10B2B000010101010101010101010101010101017E
+:10B2C000010101010101010101010101010101016E
+:10B2D000010101010101010101010101010101015E
+:10B2E000010101010101010101010101010101014E
+:10B2F000010101010101010101010101010101013E
+:10B30000010101010101010101010101010101012D
+:10B31000010101010101010101010101010101011D
+:10B32000010101010101010101010101010101010D
+:10B3300001010101010101010101010101010101FD
+:10B3400001010101010101010101010101010101ED
+:10B3500001010101010101010101010101010101DD
+:10B3600001010101010101010101010101010101CD
+:10B3700001010101010101010101010101010101BD
+:10B3800001010101010101010101010101010101AD
+:10B39000010101010101010101010101010101019D
+:10B3A000010101010101010101010101010101018D
+:10B3B000010101010101010101010101010101017D
+:10B3C000010101010101010101010101010101016D
+:10B3D000010101010101010101010101010101015D
+:10B3E000010101010101010101010101010101014D
+:10B3F000010101010101010101010101010101013D
+:10B40000010101010101010101010101010101012C
+:10B41000010101010101010101010101010101011C
+:10B42000010101010101010101010101010101010C
+:10B4300001010101010101010101010101010101FC
+:10B4400001010101010101010101010101010101EC
+:10B4500000000000000000000000000000000000EC
+:10B4600000000000000000000000000000000000DC
+:10B4700000000000000000000000000000000000CC
+:10B4800000000000000000000000000000000000BC
+:10B4900000000000000000000000000000000000AC
+:10B4A000000000000000000000000000000000009C
+:10B4B000000000000000000000000000000000008C
+:10B4C000000000000000000000000000000000007C
+:10B4D000000000000000000000000000000000006C
+:10B4E000000000000000000000000000000000005C
+:10B4F000000000000000000000000000000000004C
+:10B50000000000000000000000000000000000003B
+:10B51000000000000000000000000000000000002B
+:10B52000000000000000000000000000000000001B
+:10B53000000000000000000000000000000000000B
+:10B5400000000000000000000000000000000000FB
+:10B5500000000000000000000000000000000000EB
+:10B5600000000000000000000000000000000000DB
+:10B5700000000000000000000000000000000000CB
+:10B5800000000000000000000000000000000000BB
+:10B5900000000000000000000000000000000000AB
+:10B5A000000000000000000000000000000000009B
+:10B5B000000000000000000000000000000000008B
+:10B5C000000000000000000000000000000000007B
+:10B5D000000000000000000000000000000000006B
+:10B5E000000000000000000000000000000000005B
+:10B5F000000000000000000000000000000000004B
+:10B60000000000000000000000000000000000003A
+:10B61000000000000000000000000000000000002A
+:10B62000000000000000000000000000000000001A
+:10B63000000000000000000000000000000000000A
+:10B6400000000000000000000000000000000000FA
+:10B6500000000000000000000000000000000000EA
+:10B6600000000000000000000000000000000000DA
+:10B6700000000000000000000000000000000000CA
+:10B6800000000000000000000000000000000000BA
+:10B6900000000000000000000000000000000000AA
+:10B6A000000000000000000000000000000000009A
+:10B6B000000000000000000000000000000000008A
+:10B6C000000000000000000000000000000000007A
+:10B6D000000000000000000000000000000000006A
+:10B6E000000000000000000000000000000000005A
+:10B6F000000000000000000000000000000000004A
+:10B700000000000000000000000000000000000039
+:10B710000000000000000000000000000000000029
+:10B720000000000000000000000000000000000019
+:10B730000000000000000000000000000000000009
+:10B7400000000000000000000000000000000000F9
+:10B7500000000000000000000000000000000000E9
+:10B7600000000000000000000000000000000000D9
+:10B7700000000000000000000000000000000000C9
+:10B7800000000000000000000000000000000000B9
+:10B7900000000000000000000000000000000000A9
+:10B7A0000000000000000000000000000000000099
+:10B7B0000000000000000000000000000000000089
+:10B7C0000000000000000000000000000000000079
+:10B7D0000000000000000000000000000000000069
+:10B7E0000000000000000000000000000000000059
+:10B7F0000000000000000000000000000000000049
+:10B800000000000000000000000000000000000038
+:10B810000000000000000000000000000000000028
+:10B820000000000000000000000000000000000018
+:10B830000000000000000000000000000000000008
+:10B8400000000000000000000000000000000000F8
+:10B8500000000000000000000000000000000000E8
+:10B8600000000000000000000000000000000000D8
+:10B8700000000000000000000000000000000000C8
+:10B8800000000000000000000000000000000000B8
+:10B8900000000000000000000000000000000000A8
+:10B8A0000000000000000000000000000000000098
+:10B8B0000000000000000000000000000000000088
+:10B8C0000000000000000000000000000000000078
+:10B8D0000000000000000000000000000000000068
+:10B8E0000000000000000000000000000000000058
+:10B8F0000000000000000000000000000000000048
+:10B900000000000000000000000000000000000037
+:10B910000000000000000000000000000000000027
+:10B920000000000000000000000000000000000017
+:10B930000000000000000000000000000000000007
+:10B9400000000000000000000000000000000000F7
+:10B9500000000000000000000000000000000000E7
+:10B9600000000000000000000000000000000000D7
+:10B9700000000000000000000000000000000000C7
+:10B9800000000000000000000000000000000000B7
+:10B9900000000000000000000000000000000000A7
+:10B9A0000000000000000000000000000000000097
+:10B9B0000000000000000000000000000000000087
+:10B9C0000000000000000000000000000000000077
+:10B9D0000000000000000000000000000000000067
+:10B9E0000000000000000000000000000000000057
+:10B9F0000000000000000000000000000000000047
+:10BA00000000000000000000000000000000000036
+:10BA10000000000000000000000000000000000026
+:10BA20000000000000000000000000000000000016
+:10BA30000000000000000000000000000000000006
+:10BA400000000000000000000000000000000000F6
+:10BA500000000000000000000000000000000000E6
+:10BA600000000000000000000000000000000000D6
+:10BA700000000000000000000000000000000000C6
+:10BA800000000000000000000000000000000000B6
+:10BA900000000000000000000000000000000000A6
+:10BAA0000000000000000000000000000000000096
+:10BAB0000000000000000000000000000000000086
+:10BAC0000000000000000000000000000000000076
+:10BAD0000000000000000000000000000000000066
+:10BAE0000000000000000000000000000000000056
+:10BAF0000000000000000000000000000000000046
+:10BB00000000000000000000000000000000000035
+:10BB10000000000000000000000000000000000025
+:10BB20000000000000000000000000000000000015
+:10BB30000000000000000000000000000000000005
+:10BB400000000000000000000000000000000000F5
+:10BB500000000000000000000000000000000000E5
+:10BB600000000000000000000000000000000000D5
+:10BB700000000000000000000000000000000000C5
+:10BB800000000000000000000000000000000000B5
+:10BB900000000000000000000000000000000000A5
+:10BBA0000000000000000000000000000000000095
+:10BBB0000000000000000000000000000000000085
+:10BBC0000000000000000000000000000000000075
+:10BBD0000000000000000000000000000000000065
+:10BBE0000000000000000000000000000000000055
+:10BBF0000000000000000000000000000000000045
+:10BC00000000000000000000000000000000000034
+:10BC10000000000000000000000000000000000024
+:10BC20000000000000000000000000000000000014
+:10BC30000000000000000000000000000000000004
+:10BC400000000000000000000000000000000000F4
+:10BC500000000000000000000000000000000000E4
+:10BC600000000000000000000000000000000000D4
+:10BC700000000000000000000000000000000000C4
+:10BC800000000000000000000000000000000000B4
+:10BC900000000000000000000000000000000000A4
+:10BCA0000000000000000000000000000000000094
+:10BCB0000000000000000000000000000000000084
+:10BCC0000000000000000000000000000000000074
+:10BCD0000000000000000000000000000000000064
+:10BCE0000000000000000000000000000000000054
+:10BCF0000000000000000000000000000000000044
+:10BD00000000000000000000000000000000000033
+:10BD10000000000000000000000000000000000023
+:10BD20000000000000000000000000000000000013
+:10BD30000000000000000000000000000000000003
+:10BD400000000000000000000000000000000000F3
+:10BD500000000000000000000000000000000000E3
+:10BD600000000000000000000000000000000000D3
+:10BD700000000000000000000000000000000000C3
+:10BD800000000000000000000000000000000000B3
+:10BD900000000000000000000000000000000000A3
+:10BDA0000000000000000000000000000000000093
+:10BDB0000000000000000000000000000000000083
+:10BDC0000000000000000000000000000000000073
+:10BDD0000000000000000000000000000000000063
+:10BDE0000000000000000000000000000000000053
+:10BDF0000000000000000000000000000000000043
+:10BE00000000000000000000000000000000000032
+:10BE10000000000000000000000000000000000022
+:10BE20000000000000000000000000000000000012
+:10BE30000000000000000000000000000000000002
+:10BE400000000000000000000000000000000000F2
+:10BE500000000000000000000000000000000000E2
+:10BE600000000000000000000000000000000000D2
+:10BE700000000000000000000000000000000000C2
+:10BE800000000000000000000000000000000000B2
+:10BE900000000000000000000000000000000000A2
+:10BEA0000000000000000000000000000000000092
+:10BEB0000000000000000000000000000000000082
+:10BEC0000000000000000000000000000000000072
+:10BED0000000000000000000000000000000000062
+:10BEE0000000000000000000000000000000000052
+:10BEF0000000000000000000000000000000000042
+:10BF00000000000000000000000000000000000031
+:10BF10000000000000000000000000000000000021
+:10BF20000000000000000000000000000000000011
+:10BF30000000000000000000000000000000000001
+:10BF400000000000000000000000000000000000F1
+:10BF500000000000000000000000000000000000E1
+:10BF600000000000000000000000000000000000D1
+:10BF700000000000000000000000000000000000C1
+:10BF800000000000000000000000000000000000B1
+:10BF900000000000000000000000000000000000A1
+:10BFA0000000000000000000000000000000000091
+:10BFB0000000000000000000000000000000000081
+:10BFC0000000000000000000000000000000000071
+:10BFD0000000000000000000000000000000000061
+:10BFE0000000000000000000000000000000000051
+:10BFF0000000000000000000000000000000000041
+:10C000000000000000000000000000000000000030
+:10C010000000000000000000000000000000000020
+:10C020000000000000000000000000000000000010
+:10C030000000000000000000000000000000000000
+:10C0400000000000000000000000000000000000F0
+:10C0500000000000000000000000000000000000E0
+:10C0600000000000000000000000000000000000D0
+:10C0700000000000000000000000000000000000C0
+:10C0800000000000000000000000000000000000B0
+:10C0900000000000000000000000000000000000A0
+:10C0A0000000000000000000000000000000000090
+:10C0B0000000000000000000000000000000000080
+:10C0C0000000000000000000000000000000000070
+:10C0D0000000000000000000000000000000000060
+:10C0E0000000000000000000000000000000000050
+:10C0F0000000000000000000000000000000000040
+:10C10000000000000000000000000000000000002F
+:10C11000000000000000000000000000000000001F
+:10C12000000000000000000000000000000000000F
+:10C1300000000000000000000000000000000000FF
+:10C1400000000000000000000000000000000000EF
+:10C1500000000000000000000000000000000000DF
+:10C1600000000000000000000000000000000000CF
+:10C1700000000000000000000000000000000000BF
+:10C1800000000000000000000000000000000000AF
+:10C19000000000000000000000000000000000009F
+:10C1A000000000000000000000000000000000008F
+:10C1B000000000000000000000000000000000007F
+:10C1C000000000000000000000000000000000006F
+:10C1D000000000000000000000000000000000005F
+:10C1E000000000000000000000000000000000004F
+:10C1F000000000000000000000000000000000003F
+:10C20000000000000000000000000000000000002E
+:10C21000000000000000000000000000000000001E
+:10C22000000000000000000000000000000000000E
+:10C2300000000000000000000000000000000000FE
+:10C2400000000000000000000000000000000000EE
+:10C2500000000000000000000000000000000000DE
+:10C2600000000000000000000000000000000000CE
+:10C2700000000000000000000000000000000000BE
+:10C2800000000000000000000000000000000000AE
+:10C29000000000000000000000000000000000009E
+:10C2A000000000000000000000000000000000008E
+:10C2B000000000000000000000000000000000007E
+:10C2C000000000000000000000000000000000006E
+:10C2D000000000000000000000000000000000005E
+:10C2E000000000000000000000000000000000004E
+:10C2F000000000000000000000000000000000003E
+:10C30000000000000000000000000000000000002D
+:10C31000000000000000000000000000000000001D
+:10C32000000000000000000000000000000000000D
+:10C3300000000000000000000000000000000000FD
+:10C3400000000000000000000000000000000000ED
+:10C3500000000000000000000000000000000000DD
+:10C3600000000000000000000000000000000000CD
+:10C3700000000000000000000000000000000000BD
+:10C3800000000000000000000000000000000000AD
+:10C39000000000000000000000000000000000009D
+:10C3A000000000000000000000000000000000008D
+:10C3B000000000000000000000000000000000007D
+:10C3C000000000000000000000000000000000006D
+:10C3D000000000000000000000000000000000005D
+:10C3E000000000000000000000000000000000004D
+:10C3F000000000000000000000000000000000003D
+:10C40000000000000000000000000000000000002C
+:10C41000000000000000000000000000000000001C
+:10C42000000000000000000000000000000000000C
+:10C4300000000000000000000000000000000000FC
+:10C4400000000000000000000000000000000000EC
+:10C4500000000000000000000000000000000000DC
+:10C4600000000000000000000000000000000000CC
+:10C4700000000000000000000000000000000000BC
+:10C4800000000000000000000000000000000000AC
+:10C49000000000000000000000000000000000009C
+:10C4A000000000000000000000000000000000008C
+:10C4B000000000000000000000000000000000007C
+:10C4C000000000000000000000000000000000006C
+:10C4D000000000000000000000000000000000005C
+:10C4E000000000000000000000000000000000004C
+:10C4F000000000000000000000000000000000003C
+:10C50000000000000000000000000000000000002B
+:10C51000000000000000000000000000000000001B
+:10C52000000000000000000000000000000000000B
+:10C5300000000000000000000000000000000000FB
+:10C5400000000000000000000000000000000000EB
+:10C5500000000000000000000000000000000000DB
+:10C5600000000000000000000000000000000000CB
+:10C5700000000000000000000000000000000000BB
+:10C5800000000000000000000000000000000000AB
+:10C59000000000000000000000000000000000009B
+:10C5A000000000000000000000000000000000008B
+:10C5B000000000000000000000000000000000007B
+:10C5C000000000000000000000000000000000006B
+:10C5D000000000000000000000000000000000005B
+:10C5E000000000000000000000000000000000004B
+:10C5F000000000000000000000000000000000003B
+:10C60000000000000000000000000000000000002A
+:10C61000000000000000000000000000000000001A
+:10C62000000000000000000000000000000000000A
+:10C6300000000000000000000000000000000000FA
+:10C6400000000000000000000000000000000000EA
+:10C6500000000000000000000000000000000000DA
+:10C6600000000000000000000000000000000000CA
+:10C6700000000000000000000000000000000000BA
+:10C6800000000000000000000000000000000000AA
+:10C69000000000000000000000000000000000009A
+:10C6A000000000000000000000000000000000008A
+:10C6B000000000000000000000000000000000007A
+:10C6C000000000000000000000000000000000006A
+:10C6D000000000000000000000000000000000005A
+:10C6E000000000000000000000000000000000004A
+:10C6F000000000000000000000000000000000003A
+:10C700000000000000000000000000000000000029
+:10C710000000000000000000000000000000000019
+:10C720000000000000000000000000000000000009
+:10C7300000000000000000000000000000000000F9
+:10C7400000000000000000000000000000000000E9
+:10C7500000000000000000000000000000000000D9
+:10C7600000000000000000000000000000000000C9
+:10C7700000000000000000000000000000000000B9
+:10C7800000000000000000000000000000000000A9
+:10C790000000000000000000000000000000000099
+:10C7A0000000000000000000000000000000000089
+:10C7B0000000000000000000000000000000000079
+:10C7C0000000000000000000000000000000000069
+:10C7D0000000000000000000000000000000000059
+:10C7E0000000000000000000000000000000000049
+:10C7F0000000000000000000000000000000000039
+:10C800000000000000000000000000000000000028
+:10C810000000000000000000000000000000000018
+:10C820000000000000000000000000000000000008
+:10C8300000000000000000000000000000000000F8
+:10C8400000000000000000000000000000000000E8
+:10C8500000000000000000000000000000000000D8
+:10C8600000000000000000000000000000000000C8
+:10C8700000000000000000000000000000000000B8
+:10C8800000000000000000000000000000000000A8
+:10C890000000000000000000000000000000000098
+:10C8A0000000000000000000000000000000000088
+:10C8B0000000000000000000000000000000000078
+:10C8C0000000000000000000000000000000000068
+:10C8D0000000000000000000000000000000000058
+:10C8E0000000000000000000000000000000000048
+:10C8F0000000000000000000000000000000000038
+:10C900000000000000000000000000000000000027
+:10C910000000000000000000000000000000000017
+:10C920000000000000000000000000000000000007
+:10C9300000000000000000000000000000000000F7
+:10C9400000000000000000000000000000000000E7
+:10C9500001010101010101010101010101010101C7
+:10C9600001010101010101010101010101010101B7
+:10C9700001010101010101010101010101010101A7
+:10C980000101010101010101010101010101010197
+:10C990000101010101010101010101010101010187
+:10C9A0000101010101010101010101010101010177
+:10C9B0000101010101010101010101010101010167
+:10C9C0000101010101010101010101010101010157
+:10C9D0000101010101010101010101010101010147
+:10C9E0000101010101010101010101010101010137
+:10C9F0000101010101010101010101010101010127
+:10CA00000101010101010101010101010101010116
+:10CA10000101010101010101010101010101010106
+:10CA200001010101010101010101010101010101F6
+:10CA300001010101010101010101010101010101E6
+:10CA400001010101010101010101010101010101D6
+:10CA500001010101010101010101010101010101C6
+:10CA600001010101010101010101010101010101B6
+:10CA700001010101010101010101010101010101A6
+:10CA80000101010101010101010101010101010196
+:10CA90000101010101010101010101010101010186
+:10CAA0000101010101010101010101010101010176
+:10CAB0000101010101010101010101010101010166
+:10CAC0000101010101010101010101010101010156
+:10CAD0000101010101010101010101010101010146
+:10CAE0000101010101010101010101010101010136
+:10CAF0000101010101010101010101010101010126
+:10CB00000101010101010101010101010101010115
+:10CB10000101010101010101010101010101010105
+:10CB200001010101010101010101010101010101F5
+:10CB300001010101010101010101010101010101E5
+:10CB400001010101010101010101010101010101D5
+:10CB500001010101010101010101010101010101C5
+:10CB600001010101010101010101010101010101B5
+:10CB700001010101010101010101010101010101A5
+:10CB80000101010101010101010101010101010195
+:10CB90000101010101010101010101010101010185
+:10CBA0000101010101010101010101010101010175
+:10CBB0000101010101010101010101010101010165
+:10CBC0000101010101010101010101010101010155
+:10CBD0000101010101010101010101010101010145
+:10CBE0000101010101010101010101010101010135
+:10CBF0000101010101010101010101010101010125
+:10CC00000101010101010101010101010101010114
+:10CC10000101010101010101010101010101010104
+:10CC200001010101010101010101010101010101F4
+:10CC300001010101010101010101010101010101E4
+:10CC400001010101010101010101010101010101D4
+:10CC500001010101010101010101010101010101C4
+:10CC600001010101010101010101010101010101B4
+:10CC700001010101010101010101010101010101A4
+:10CC80000101010101010101010101010101010194
+:10CC90000101010101010101010101010101010184
+:10CCA0000101010101010101010101010101010174
+:10CCB0000101010101010101010101010101010164
+:10CCC0000101010101010101010101010101010154
+:10CCD0000101010101010101010101010101010144
+:10CCE0000101010101010101010101010101010134
+:10CCF0000101010101010101010101010101010124
+:10CD00000101010101010101010101010101010113
+:10CD10000101010101010101010101010101010103
+:10CD200001010101010101010101010101010101F3
+:10CD300001010101010101010101010101010101E3
+:10CD400001010101010101010101010101010101D3
+:10CD500000000000000000000000000000000000D3
+:10CD600000000000000000000000000000000000C3
+:10CD700000000000000000000000000000000000B3
+:10CD800000000000000000000000000000000000A3
+:10CD90000000000000000000000000000000000093
+:10CDA0000000000000000000000000000000000083
+:10CDB0000000000000000000000000000000000073
+:10CDC0000000000000000000000000000000000063
+:10CDD0000000000000000000000000000000000053
+:10CDE0000000000000000000000000000000000043
+:10CDF0000000000000000000000000000000000033
+:10CE00000000000000000000000000000000000022
+:10CE10000000000000000000000000000000000012
+:10CE20000000000000000000000000000000000002
+:10CE300000000000000000000000000000000000F2
+:10CE400000000000000000000000000000000000E2
+:10CE500000000000000000000000000000000000D2
+:10CE600000000000000000000000000000000000C2
+:10CE700000000000000000000000000000000000B2
+:10CE800000000000000000000000000000000000A2
+:10CE90000000000000000000000000000000000092
+:10CEA0000000000000000000000000000000000082
+:10CEB0000000000000000000000000000000000072
+:10CEC0000000000000000000000000000000000062
+:10CED0000000000000000000000000000000000052
+:10CEE0000000000000000000000000000000000042
+:10CEF0000000000000000000000000000000000032
+:10CF00000000000000000000000000000000000021
+:10CF10000000000000000000000000000000000011
+:10CF20000000000000000000000000000000000001
+:10CF300000000000000000000000000000000000F1
+:10CF400000000000000000000000000000000000E1
+:10CF500000000000000000000000000000000000D1
+:10CF600000000000000000000000000000000000C1
+:10CF700000000000000000000000000000000000B1
+:10CF800000000000000000000000000000000000A1
+:10CF90000000000000000000000000000000000091
+:10CFA0000000000000000000000000000000000081
+:10CFB0000000000000000000000000000000000071
+:10CFC0000000000000000000000000000000000061
+:10CFD0000000000000000000000000000000000051
+:10CFE0000000000000000000000000000000000041
+:10CFF0000000000000000000000000000000000031
+:10D000000000000000000000000000000000000020
+:10D010000000000000000000000000000000000010
+:10D020000000000000000000000000000000000000
+:10D0300000000000000000000000000000000000F0
+:10D0400000000000000000000000000000000000E0
+:10D0500000000000000000000000000000000000D0
+:10D0600000000000000000000000000000000000C0
+:10D0700000000000000000000000000000000000B0
+:10D0800000000000000000000000000000000000A0
+:10D090000000000000000000000000000000000090
+:10D0A0000000000000000000000000000000000080
+:10D0B0000000000000000000000000000000000070
+:10D0C0000000000000000000000000000000000060
+:10D0D0000000000000000000000000000000000050
+:10D0E0000000000000000000000000000000000040
+:10D0F0000000000000000000000000000000000030
+:10D10000000000000000000000000000000000001F
+:10D11000000000000000000000000000000000000F
+:10D1200000000000000000000000000000000000FF
+:10D1300000000000000000000000000000000000EF
+:10D1400000000000000000000000000000000000DF
+:10D1500001010101010101010101010101010101BF
+:10D1600001010101010101010101010101010101AF
+:10D17000010101010101010101010101010101019F
+:10D18000010101010101010101010101010101018F
+:10D19000010101010101010101010101010101017F
+:10D1A000010101010101010101010101010101016F
+:10D1B000010101010101010101010101010101015F
+:10D1C000010101010101010101010101010101014F
+:10D1D000010101010101010101010101010101013F
+:10D1E000010101010101010101010101010101012F
+:10D1F000010101010101010101010101010101011F
+:10D20000010101010101010101010101010101010E
+:10D2100001010101010101010101010101010101FE
+:10D2200001010101010101010101010101010101EE
+:10D2300001010101010101010101010101010101DE
+:10D2400001010101010101010101010101010101CE
+:10D2500002020202020202020202020202020202AE
+:10D26000020202020202020202020202020202029E
+:10D27000020202020202020202020202020202028E
+:10D28000020202020202020202020202020202027E
+:10D29000020202020202020202020202020202026E
+:10D2A000020202020202020202020202020202025E
+:10D2B000020202020202020202020202020202024E
+:10D2C000020202020202020202020202020202023E
+:10D2D000020202020202020202020202020202022E
+:10D2E000020202020202020202020202020202021E
+:10D2F000020202020202020202020202020202020E
+:10D3000002020202020202020202020202020202FD
+:10D3100002020202020202020202020202020202ED
+:10D3200002020202020202020202020202020202DD
+:10D3300002020202020202020202020202020202CD
+:10D3400002020202020202020202020202020202BD
+:10D3500002020202020202020202020202020202AD
+:10D36000020202020202020202020202020202029D
+:10D37000020202020202020202020202020202028D
+:10D38000020202020202020202020202020202027D
+:10D39000020202020202020202020202020202026D
+:10D3A000020202020202020202020202020202025D
+:10D3B000020202020202020202020202020202024D
+:10D3C000020202020202020202020202020202023D
+:10D3D000020202020202020202020202020202022D
+:10D3E000020202020202020202020202020202021D
+:10D3F000020202020202020202020202020202020D
+:10D4000002020202020202020202020202020202FC
+:10D4100002020202020202020202020202020202EC
+:10D4200002020202020202020202020202020202DC
+:10D4300002020202020202020202020202020202CC
+:10D4400002020202020202020202020202020202BC
+:10D4500002020202020202020202020202020202AC
+:10D46000020202020202020202020202020202029C
+:10D47000020202020202020202020202020202028C
+:10D48000020202020202020202020202020202027C
+:10D49000020202020202020202020202020202026C
+:10D4A000020202020202020202020202020202025C
+:10D4B000020202020202020202020202020202024C
+:10D4C000020202020202020202020202020202023C
+:10D4D000020202020202020202020202020202022C
+:10D4E000020202020202020202020202020202021C
+:10D4F000020202020202020202020202020202020C
+:10D5000002020202020202020202020202020202FB
+:10D5100002020202020202020202020202020202EB
+:10D5200002020202020202020202020202020202DB
+:10D5300002020202020202020202020202020202CB
+:10D5400002020202020202020202020202020202BB
+:10D5500002020202020202020202020202020202AB
+:10D56000020202020202020202020202020202029B
+:10D57000020202020202020202020202020202028B
+:10D58000020202020202020202020202020202027B
+:10D59000020202020202020202020202020202026B
+:10D5A000020202020202020202020202020202025B
+:10D5B000020202020202020202020202020202024B
+:10D5C000020202020202020202020202020202023B
+:10D5D000020202020202020202020202020202022B
+:10D5E000020202020202020202020202020202021B
+:10D5F000020202020202020202020202020202020B
+:10D6000002020202020202020202020202020202FA
+:10D6100002020202020202020202020202020202EA
+:10D6200002020202020202020202020202020202DA
+:10D6300002020202020202020202020202020202CA
+:10D6400002020202020202020202020202020202BA
+:10D6500002020202020202020202020202020202AA
+:10D66000020202020202020202020202020202029A
+:10D67000020202020202020202020202020202028A
+:10D68000020202020202020202020202020202027A
+:10D69000020202020202020202020202020202026A
+:10D6A000020202020202020202020202020202025A
+:10D6B000020202020202020202020202020202024A
+:10D6C000020202020202020202020202020202023A
+:10D6D000020202020202020202020202020202022A
+:10D6E000020202020202020202020202020202021A
+:10D6F000020202020202020202020202020202020A
+:10D7000002020202020202020202020202020202F9
+:10D7100002020202020202020202020202020202E9
+:10D7200002020202020202020202020202020202D9
+:10D7300002020202020202020202020202020202C9
+:10D7400002020202020202020202020202020202B9
+:10D7500002020202020202020202020202020202A9
+:10D760000202020202020202020202020202020299
+:10D770000202020202020202020202020202020289
+:10D780000202020202020202020202020202020279
+:10D790000202020202020202020202020202020269
+:10D7A0000202020202020202020202020202020259
+:10D7B0000202020202020202020202020202020249
+:10D7C0000202020202020202020202020202020239
+:10D7D0000202020202020202020202020202020229
+:10D7E0000202020202020202020202020202020219
+:10D7F0000202020202020202020202020202020209
+:10D8000002020202020202020202020202020202F8
+:10D8100002020202020202020202020202020202E8
+:10D8200002020202020202020202020202020202D8
+:10D8300002020202020202020202020202020202C8
+:10D8400002020202020202020202020202020202B8
+:10D8500002020202020202020202020202020202A8
+:10D860000202020202020202020202020202020298
+:10D870000202020202020202020202020202020288
+:10D880000202020202020202020202020202020278
+:10D890000202020202020202020202020202020268
+:10D8A0000202020202020202020202020202020258
+:10D8B0000202020202020202020202020202020248
+:10D8C0000202020202020202020202020202020238
+:10D8D0000202020202020202020202020202020228
+:10D8E0000202020202020202020202020202020218
+:10D8F0000202020202020202020202020202020208
+:10D9000002020202020202020202020202020202F7
+:10D9100002020202020202020202020202020202E7
+:10D9200002020202020202020202020202020202D7
+:10D9300002020202020202020202020202020202C7
+:10D9400002020202020202020202020202020202B7
+:10D9500002020202020202020202020202020202A7
+:10D960000202020202020202020202020202020297
+:10D970000202020202020202020202020202020287
+:10D980000202020202020202020202020202020277
+:10D990000202020202020202020202020202020267
+:10D9A0000202020202020202020202020202020257
+:10D9B0000202020202020202020202020202020247
+:10D9C0000202020202020202020202020202020237
+:10D9D0000202020202020202020202020202020227
+:10D9E0000202020202020202020202020202020217
+:10D9F0000202020202020202020202020202020207
+:10DA000002020202020202020202020202020202F6
+:10DA100002020202020202020202020202020202E6
+:10DA200002020202020202020202020202020202D6
+:10DA300002020202020202020202020202020202C6
+:10DA400002020202020202020202020202020202B6
+:10DA500002020202020202020202020202020202A6
+:10DA60000202020202020202020202020202020296
+:10DA70000202020202020202020202020202020286
+:10DA80000202020202020202020202020202020276
+:10DA90000202020202020202020202020202020266
+:10DAA0000202020202020202020202020202020256
+:10DAB0000202020202020202020202020202020246
+:10DAC0000202020202020202020202020202020236
+:10DAD0000202020202020202020202020202020226
+:10DAE0000202020202020202020202020202020216
+:10DAF0000202020202020202020202020202020206
+:10DB000002020202020202020202020202020202F5
+:10DB100002020202020202020202020202020202E5
+:10DB200002020202020202020202020202020202D5
+:10DB300002020202020202020202020202020202C5
+:10DB400002020202020202020202020202020202B5
+:10DB500000000000000000000000000000000000C5
+:10DB600000000000000000000000000000000000B5
+:10DB700000000000000000000000000000000000A5
+:10DB80000000000000000000000000000000000095
+:10DB90000000000000000000000000000000000085
+:10DBA0000000000000000000000000000000000075
+:10DBB0000000000000000000000000000000000065
+:10DBC0000000000000000000000000000000000055
+:10DBD0000000000000000000000000000000000045
+:10DBE0000000000000000000000000000000000035
+:10DBF0000000000000000000000000000000000025
+:10DC00000000000000000000000000000000000014
+:10DC10000000000000000000000000000000000004
+:10DC200000000000000000000000000000000000F4
+:10DC300000000000000000000000000000000000E4
+:10DC400000000000000000000000000000000000D4
+:10DC500000000000000000000000000000000000C4
+:10DC600000000000000000000000000000000000B4
+:10DC700000000000000000000000000000000000A4
+:10DC80000000000000000000000000000000000094
+:10DC90000000000000000000000000000000000084
+:10DCA0000000000000000000000000000000000074
+:10DCB0000000000000000000000000000000000064
+:10DCC0000000000000000000000000000000000054
+:10DCD0000000000000000000000000000000000044
+:10DCE0000000000000000000000000000000000034
+:10DCF0000000000000000000000000000000000024
+:10DD00000000000000000000000000000000000013
+:10DD10000000000000000000000000000000000003
+:10DD200000000000000000000000000000000000F3
+:10DD300000000000000000000000000000000000E3
+:10DD400000000000000000000000000000000000D3
+:10DD500000000000000000000000000000000000C3
+:10DD600000000000000000000000000000000000B3
+:10DD700000000000000000000000000000000000A3
+:10DD80000000000000000000000000000000000093
+:10DD90000000000000000000000000000000000083
+:10DDA0000000000000000000000000000000000073
+:10DDB0000000000000000000000000000000000063
+:10DDC0000000000000000000000000000000000053
+:10DDD0000000000000000000000000000000000043
+:10DDE0000000000000000000000000000000000033
+:10DDF0000000000000000000000000000000000023
+:10DE00000000000000000000000000000000000012
+:10DE10000000000000000000000000000000000002
+:10DE200000000000000000000000000000000000F2
+:10DE300000000000000000000000000000000000E2
+:10DE400000000000000000000000000000000000D2
+:10DE500088DE06000000000090FE060000000000C2
+:10DE60009818070000000000A02F07000000000025
+:10DE7000A848070000000000B05D07000000000097
+:10DE8000B870070000000000C0800700000000001C
+:10DE9000C890070000000000D0A0070000000000AC
+:10DEA000D8AF070000000000E0BA07000000000043
+:10DEB000E8C3070000000000F0D0070000000000E9
+:10DEC000F8DD070000000000200000000000000056
+:10DED0000000000000000000000000000000000042
+:10DEE0000000000000000000000000000000000032
+:10DEF0000000000000000000000000000000000022
+:10DF00000000000000000000000000000000000011
+:10DF10000000000000000000000000000000000001
+:10DF200000000000000000000000000000000000F1
+:10DF300000000000000000000000000000000000E1
+:10DF400000000000000000000000000000000000D1
+:10DF500000000000000000000000000000000000C1
+:10DF600000000000000000000000000000000000B1
+:10DF700000000000000000000000000000000000A1
+:10DF80000000000000000000000000000000000091
+:10DF90000000000000000000000000000000000081
+:10DFA0000000000000000000000000000000000071
+:10DFB0000000000000000000000000000000000061
+:10DFC0000100000000000000000000000000000050
+:10DFD0000000000000000000000000000000000041
+:10DFE0000000000000000000000000000000000031
+:10DFF0000000000000000000000000000000000021
+:10E000000000000000000000000000000000000010
+:10E010000000000000000000000000000000000000
+:10E0200000000000000000000000000000000000F0
+:10E0300000000000000000000000000000000000E0
+:10E0400000000000000000000000000000000000D0
+:10E0500000000000000000000000000000000000C0
+:10E0600000000000000000000000000000000000B0
+:10E0700000000000000000000000000000000000A0
+:10E080000000000000000000000000000000000090
+:10E090000000000000000000000000000000000080
+:10E0A0000000000000000000000000000000000070
+:10E0B0000000000000000000000000000000000060
+:10E0C000020000000000000000000000000000004E
+:10E0D000000000000000000000000000000000013F
+:10E0E0000000000000000000000000000000000030
+:10E0F0000000000000000000000000000000000020
+:10E10000000000000000000000000000000000000F
+:10E1100000000000000000000000000000000000FF
+:10E1200000000000000000000000000000000000EF
+:10E1300000000000000000000000000000000000DF
+:10E1400000000000000000000000000000000000CF
+:10E1500000000000000000000000000000000000BF
+:10E1600000000000000000000000000000000000AF
+:10E17000000000000000000000000000000000009F
+:10E18000000000000000000000000000000000008F
+:10E19000000000000000000000000000000000007F
+:10E1A000000000000000000000000000000000006F
+:10E1B000000000000000000000000000000000005F
+:10E1C000020000000000000000000000000000004D
+:10E1D000000000000000000000000000000000013E
+:10E1E000000000000000000000000000000000002F
+:10E1F000000000000000000000000000000000001F
+:10E20000000000000000000000000000000000000E
+:10E2100000000000000000000000000000000000FE
+:10E2200000000000000000000000000000000000EE
+:10E2300000000000000000000000000000000000DE
+:10E2400000000000000000000000000000000000CE
+:10E2500000000000000000000000000000000000BE
+:10E2600000000000000000000000000000000000AE
+:10E27000000000000000000000000000000000009E
+:10E28000000000000000000000000000000000008E
+:10E29000000000000000000000000000000000007E
+:10E2A000000000000000000000000000000000006E
+:10E2B000000000000000000000000000000000005E
+:10E2C000020000000000000000000000000000004C
+:10E2D000000000000000000000000000000000013D
+:10E2E000000000000000000000000000000000002E
+:10E2F000000000000000000000000000000000001E
+:10E30000000000000000000000000000000000000D
+:10E3100000000000000000000000000000000000FD
+:10E3200000000000000000000000000000000000ED
+:10E3300000000000000000000000000000000000DD
+:10E3400000000000000000000000000000000000CD
+:10E3500000000000000000000000000000000000BD
+:10E3600000000000000000000000000000000000AD
+:10E37000000000000000000000000000000000009D
+:10E38000000000000000000000000000000000008D
+:10E39000000000000000000000000000000000007D
+:10E3A000000000000000000000000000000000006D
+:10E3B000000000000000000000000000000000005D
+:10E3C0000202010000000000000000000000000048
+:10E3D000000000000000000000000000000000013C
+:10E3E000000000000000000000000000000000002D
+:10E3F000000000000000000000000000000000001D
+:10E40000000000000000000000000000000000000C
+:10E4100000000000000000000000000000000000FC
+:10E4200000000000000000000000000000000000EC
+:10E4300000000000000000000000000000000000DC
+:10E4400000000000000000000000000000000000CC
+:10E4500000000000000000000000000000000000BC
+:10E4600000000000000000000000000000000000AC
+:10E47000000000000000000000000000000000009C
+:10E48000000000000000000000000000000000008C
+:10E49000000000000000000000000000000000007C
+:10E4A000000000000000000000000000000000006C
+:10E4B000000000000000000000000000000000005C
+:10E4C0000202020000000000000000000000000046
+:10E4D000000000000000000000000000000001013A
+:10E4E000000000000000000000000000000000002C
+:10E4F000000000000000000000000000000000001C
+:10E50000000000000000000000000000000000000B
+:10E5100000000000000000000000000000000000FB
+:10E5200000000000000000000000000000000000EB
+:10E5300000000000000000000000000000000000DB
+:10E5400000000000000000000000000000000000CB
+:10E5500000000000000000000000000000000000BB
+:10E5600000000000000000000000000000000000AB
+:10E57000000000000000000000000000000000009B
+:10E58000000000000000000000000000000000008B
+:10E59000000000000000000000000000000000007B
+:10E5A000000000000000000000000000000000006B
+:10E5B000000000000000000000000000000000005B
+:10E5C0000202020000000000000000000000000045
+:10E5D0000000000000000000000000000001010138
+:10E5E000000000000000000000000000000000002B
+:10E5F000000000000000000000000000000000001B
+:10E60000000000000000000000000000000000000A
+:10E6100000000000000000000000000000000000FA
+:10E6200000000000000000000000000000000000EA
+:10E6300000000000000000000000000000000000DA
+:10E6400000000000000000000000000000000000CA
+:10E6500000000000000000000000000000000000BA
+:10E6600000000000000000000000000000000000AA
+:10E67000000000000000000000000000000000009A
+:10E68000000000000000000000000000000000008A
+:10E69000000000000000000000000000000000007A
+:10E6A000000000000000000000000000000000006A
+:10E6B000000000000000000000000000000000005A
+:10E6C0000202020100000000000000000000000043
+:10E6D0000000000000000000000000000001010137
+:10E6E000000000000000000000000000000000002A
+:10E6F000000000000000000000000000000000001A
+:10E700000000000000000000000000000000000009
+:10E7100000000000000000000000000000000000F9
+:10E7200000000000000000000000000000000000E9
+:10E7300000000000000000000000000000000000D9
+:10E7400000000000000000000000000000000000C9
+:10E7500000000000000000000000000000000000B9
+:10E7600000000000000000000000000000000000A9
+:10E770000000000000000000000000000000000099
+:10E780000000000000000000000000000000000089
+:10E790000000000000000000000000000000000079
+:10E7A0000000000000000000000000000000000069
+:10E7B0000000000000000000000000000000000059
+:10E7C0000202020201000000000000000000000040
+:10E7D0000000000000000000000000000101010135
+:10E7E0000000000000000000000000000000000029
+:10E7F0000000000000000000000000000000000019
+:10E800000000000000000000000000000000000008
+:10E8100000000000000000000000000000000000F8
+:10E8200000000000000000000000000000000000E8
+:10E8300000000000000000000000000000000000D8
+:10E8400000000000000000000000000000000000C8
+:10E8500000000000000000000000000000000000B8
+:10E8600000000000000000000000000000000000A8
+:10E870000000000000000000000000000000000098
+:10E880000000000000000000000000000000000088
+:10E890000000000000000000000000000000000078
+:10E8A0000000000000000000000000000000000068
+:10E8B0000000000000000000000000000000000058
+:10E8C000020202020201000000000000000000003D
+:10E8D0000000000000000000000000010101010133
+:10E8E0000000000000000000000000000000000028
+:10E8F0000000000000000000000000000000000018
+:10E900000000000000000000000000000000000007
+:10E9100000000000000000000000000000000000F7
+:10E9200000000000000000000000000000000000E7
+:10E9300000000000000000000000000000000000D7
+:10E9400000000000000000000000000000000000C7
+:10E9500000000000000000000000000000000000B7
+:10E9600000000000000000000000000000000000A7
+:10E970000000000000000000000000000000000097
+:10E980000000000000000000000000000000000087
+:10E990000000000000000000000000000000000077
+:10E9A0000000000000000000000000000000000067
+:10E9B0000000000000000000000000000000000057
+:10E9C000020202020201000000000000000000003C
+:10E9D0000000000000000000000000010101010132
+:10E9E0000000000000000000000000000000000027
+:10E9F0000000000000000000000000000000000017
+:10EA00000000000000000000000000000000000006
+:10EA100000000000000000000000000000000000F6
+:10EA200000000000000000000000000000000000E6
+:10EA300000000000000000000000000000000000D6
+:10EA400000000000000000000000000000000000C6
+:10EA500000000000000000000000000000000000B6
+:10EA600000000000000000000000000000000000A6
+:10EA70000000000000000000000000000000000096
+:10EA80000000000000000000000000000000000086
+:10EA90000000000000000000000000000000000076
+:10EAA0000000000000000000000000000000000066
+:10EAB0000000000000000000000000000000000056
+:10EAC0000202020202020101000000000000000038
+:10EAD0000000000000000000000001010101010130
+:10EAE0000000000000000000000000000000000026
+:10EAF0000000000000000000000000000000000016
+:10EB00000000000000000000000000000000000005
+:10EB100000000000000000000000000000000000F5
+:10EB200000000000000000000000000000000000E5
+:10EB300000000000000000000000000000000000D5
+:10EB400000000000000000000000000000000000C5
+:10EB500000000000000000000000000000000000B5
+:10EB600000000000000000000000000000000000A5
+:10EB70000000000000000000000000000000000095
+:10EB80000000000000000000000000000000000085
+:10EB90000000000000000000000000000000000075
+:10EBA0000000000000000000000000000000000065
+:10EBB0000000000000000000000000000000000055
+:10EBC0000202020202020101000000000000000037
+:10EBD000000000000000000000010101010101012E
+:10EBE0000000000000000000000000000000000025
+:10EBF0000000000000000000000000000000000015
+:10EC00000000000000000000000000000000000004
+:10EC100000000000000000000000000000000000F4
+:10EC200000000000000000000000000000000000E4
+:10EC300000000000000000000000000000000000D4
+:10EC400000000000000000000000000000000000C4
+:10EC500000000000000000000000000000000000B4
+:10EC600000000000000000000000000000000000A4
+:10EC70000000000000000000000000000000000094
+:10EC80000000000000000000000000000000000084
+:10EC90000000000000000000000000000000000074
+:10ECA0000000000000000000000000000000000064
+:10ECB0000000000000000000000000000000000054
+:10ECC0000202020202020201000000000000000035
+:10ECD000000000000000000000010101010101012D
+:10ECE0000000000000000000000000000000000024
+:10ECF0000000000000000000000000000000000014
+:10ED00000000000000000000000000000000000003
+:10ED100000000000000000000000000000000000F3
+:10ED200000000000000000000000000000000000E3
+:10ED300000000000000000000000000000000000D3
+:10ED400000000000000000000000000000000000C3
+:10ED500000000000000000000000000000000000B3
+:10ED600000000000000000000000000000000000A3
+:10ED70000000000000000000000000000000000093
+:10ED80000000000000000000000000000000000083
+:10ED90000000000000000000000000000000000073
+:10EDA0000000000000000000000000000000000063
+:10EDB0000000000000000000000000000000000053
+:10EDC0000202020202020202000000000000000033
+:10EDD000000000000000000000010101010101012C
+:10EDE0000000000000000000000000000000000023
+:10EDF0000000000000000000000000000000000013
+:10EE00000000000000000000000000000000000002
+:10EE100000000000000000000000000000000000F2
+:10EE200000000000000000000000000000000000E2
+:10EE300000000000000000000000000000000000D2
+:10EE400000000000000000000000000000000000C2
+:10EE500000000000000000000000000000000000B2
+:10EE600000000000000000000000000000000000A2
+:10EE70000000000000000000000000000000000092
+:10EE80000000000000000000000000000000000082
+:10EE90000000000000000000000000000000000072
+:10EEA0000000000000000000000000000000000062
+:10EEB0000000000000000000000000000000000052
+:10EEC0000202020202020202000000000000000032
+:10EED0000000000000000001010101010101010129
+:10EEE0000000000000000000000000000000000022
+:10EEF0000000000000000000000000000000000012
+:10EF00000000000000000000000000000000000001
+:10EF100000000000000000000000000000000000F1
+:10EF200000000000000000000000000000000000E1
+:10EF300000000000000000000000000000000000D1
+:10EF400000000000000000000000000000000000C1
+:10EF500000000000000000000000000000000000B1
+:10EF600000000000000000000000000000000000A1
+:10EF70000000000000000000000000000000000091
+:10EF80000000000000000000000000000000000081
+:10EF90000000000000000000000000000000000071
+:10EFA0000000000000000000000000000000000061
+:10EFB0000000000000000000000000000000000051
+:10EFC0000202020202020202000100000000000030
+:10EFD0000000000000000001010101010101010128
+:10EFE0000000000000000000000000000000000021
+:10EFF0000000000000000000000000000000000011
+:10F000000000000000000000000000000000000000
+:10F0100000000000000000000000000000000000F0
+:10F0200000000000000000000000000000000000E0
+:10F0300000000000000000000000000000000000D0
+:10F0400000000000000000000000000000000000C0
+:10F0500000000000000000000000000000000000B0
+:10F0600000000000000000000000000000000000A0
+:10F070000000000000000000000000000000000090
+:10F080000000000000000000000000000000000080
+:10F090000000000000000000000000000000000070
+:10F0A0000000000000000000000000000000000060
+:10F0B0000000000000000000000000000000000050
+:10F0C000020202020202020202010100000000002C
+:10F0D0000000000000000101010101010101010126
+:10F0E0000000000000000000000000000000000020
+:10F0F0000000000000000000000000000000000010
+:10F1000000000000000000000000000000000000FF
+:10F1100000000000000000000000000000000000EF
+:10F1200000000000000000000000000000000000DF
+:10F1300000000000000000000000000000000000CF
+:10F1400000000000000000000000000000000000BF
+:10F1500000000000000000000000000000000000AF
+:10F16000000000000000000000000000000000009F
+:10F17000000000000000000000000000000000008F
+:10F18000000000000000000000000000000000007F
+:10F19000000000000000000000000000000000006F
+:10F1A000000000000000000000000000000000005F
+:10F1B000000000000000000000000000000000004F
+:10F1C000020202020202020202020100000000002A
+:10F1D0000000000000000101010101010101010125
+:10F1E000000000000000000000000000000000001F
+:10F1F000000000000000000000000000000000000F
+:10F2000000000000000000000000000000000000FE
+:10F2100000000000000000000000000000000000EE
+:10F2200000000000000000000000000000000000DE
+:10F2300000000000000000000000000000000000CE
+:10F2400000000000000000000000000000000000BE
+:10F2500000000000000000000000000000000000AE
+:10F26000000000000000000000000000000000009E
+:10F27000000000000000000000000000000000008E
+:10F28000000000000000000000000000000000007E
+:10F29000000000000000000000000000000000006E
+:10F2A000000000000000000000000000000000005E
+:10F2B000000000000000000000000000000000004E
+:10F2C0000202020202020202020202010000000027
+:10F2D0000000000000010101010101010101010123
+:10F2E000000000000000000000000000000000001E
+:10F2F000000000000000000000000000000000000E
+:10F3000000000000000000000000000000000000FD
+:10F3100000000000000000000000000000000000ED
+:10F3200000000000000000000000000000000000DD
+:10F3300000000000000000000000000000000000CD
+:10F3400000000000000000000000000000000000BD
+:10F3500000000000000000000000000000000000AD
+:10F36000000000000000000000000000000000009D
+:10F37000000000000000000000000000000000008D
+:10F38000000000000000000000000000000000007D
+:10F39000000000000000000000000000000000006D
+:10F3A000000000000000000000000000000000005D
+:10F3B000000000000000000000000000000000004D
+:10F3C0000202020202020202020202010000000026
+:10F3D0000000000000010101010101010101010122
+:10F3E000000000000000000000000000000000001D
+:10F3F000000000000000000000000000000000000D
+:10F4000000000000000000000000000000000000FC
+:10F4100000000000000000000000000000000000EC
+:10F4200000000000000000000000000000000000DC
+:10F4300000000000000000000000000000000000CC
+:10F4400000000000000000000000000000000000BC
+:10F4500000000000000000000000000000000000AC
+:10F46000000000000000000000000000000000009C
+:10F47000000000000000000000000000000000008C
+:10F48000000000000000000000000000000000007C
+:10F49000000000000000000000000000000000006C
+:10F4A000000000000000000000000000000000005C
+:10F4B000000000000000000000000000000000004C
+:10F4C0000202020202020202020202020000000024
+:10F4D0000000000000010101010101010101010121
+:10F4E000000000000000000000000000000000001C
+:10F4F000000000000000000000000000000000000C
+:10F5000000000000000000000000000000000000FB
+:10F5100000000000000000000000000000000000EB
+:10F5200000000000000000000000000000000000DB
+:10F5300000000000000000000000000000000000CB
+:10F5400000000000000000000000000000000000BB
+:10F5500000000000000000000000000000000000AB
+:10F56000000000000000000000000000000000009B
+:10F57000000000000000000000000000000000008B
+:10F58000000000000000000000000000000000007B
+:10F59000000000000000000000000000000000006B
+:10F5A000000000000000000000000000000000005B
+:10F5B000000000000000000000000000000000004B
+:10F5C0000202020202020202020202020101000021
+:10F5D000000000000101010101010101010101011F
+:10F5E000000000000000000000000000000000001B
+:10F5F000000000000000000000000000000000000B
+:10F6000000000000000000000000000000000000FA
+:10F6100000000000000000000000000000000000EA
+:10F6200000000000000000000000000000000000DA
+:10F6300000000000000000000000000000000000CA
+:10F6400000000000000000000000000000000000BA
+:10F6500000000000000000000000000000000000AA
+:10F66000000000000000000000000000000000009A
+:10F67000000000000000000000000000000000008A
+:10F68000000000000000000000000000000000007A
+:10F69000000000000000000000000000000000006A
+:10F6A000000000000000000000000000000000005A
+:10F6B000000000000000000000000000000000004A
+:10F6C000020202020202020202020202020100001F
+:10F6D000000000010101010101010101010101011D
+:10F6E000000000000000000000000000000000001A
+:10F6F000000000000000000000000000000000000A
+:10F7000000000000000000000000000000000000F9
+:10F7100000000000000000000000000000000000E9
+:10F7200000000000000000000000000000000000D9
+:10F7300000000000000000000000000000000000C9
+:10F7400000000000000000000000000000000000B9
+:10F7500000000000000000000000000000000000A9
+:10F760000000000000000000000000000000000099
+:10F770000000000000000000000000000000000089
+:10F780000000000000000000000000000000000079
+:10F790000000000000000000000000000000000069
+:10F7A0000000000000000000000000000000000059
+:10F7B0000000000000000000000000000000000049
+:10F7C000020202020202020202020202020200001D
+:10F7D000000000010101010101010101010101011C
+:10F7E0000000000000000000000000000000000019
+:10F7F0000000000000000000000000000000000009
+:10F8000000000000000000000000000000000000F8
+:10F8100000000000000000000000000000000000E8
+:10F8200000000000000000000000000000000000D8
+:10F8300000000000000000000000000000000000C8
+:10F8400000000000000000000000000000000000B8
+:10F8500000000000000000000000000000000000A8
+:10F860000000000000000000000000000000000098
+:10F870000000000000000000000000000000000088
+:10F880000000000000000000000000000000000078
+:10F890000000000000000000000000000000000068
+:10F8A0000000000000000000000000000000000058
+:10F8B0000000000000000000000000000000000048
+:10F8C000020202020202020202020202020201001B
+:10F8D000000000010101010101010101010101011B
+:10F8E0000000000000000000000000000000000018
+:10F8F0000000000000000000000000000000000008
+:10F9000000000000000000000000000000000000F7
+:10F9100000000000000000000000000000000000E7
+:10F9200000000000000000000000000000000000D7
+:10F9300000000000000000000000000000000000C7
+:10F9400000000000000000000000000000000000B7
+:10F9500000000000000000000000000000000000A7
+:10F960000000000000000000000000000000000097
+:10F970000000000000000000000000000000000087
+:10F980000000000000000000000000000000000077
+:10F990000000000000000000000000000000000067
+:10F9A0000000000000000000000000000000000057
+:10F9B0000000000000000000000000000000000047
+:10F9C0000202020202020202020202020202020019
+:10F9D0000000010101010101010101010101010119
+:10F9E0000000000000000000000000000000000017
+:10F9F0000000000000000000000000000000000007
+:10FA000000000000000000000000000000000000F6
+:10FA100000000000000000000000000000000000E6
+:10FA200000000000000000000000000000000000D6
+:10FA300000000000000000000000000000000000C6
+:10FA400000000000000000000000000000000000B6
+:10FA500000000000000000000000000000000000A6
+:10FA60000000000000000000000000000000000096
+:10FA70000000000000000000000000000000000086
+:10FA80000000000000000000000000000000000076
+:10FA90000000000000000000000000000000000066
+:10FAA0000000000000000000000000000000000056
+:10FAB0000000000000000000000000000000000046
+:10FAC0000202020202020202020202020202020018
+:10FAD0000000010101010101010101010101010118
+:10FAE0000000000000000000000000000000000016
+:10FAF0000000000000000000000000000000000006
+:10FB000000000000000000000000000000000000F5
+:10FB100000000000000000000000000000000000E5
+:10FB200000000000000000000000000000000000D5
+:10FB300000000000000000000000000000000000C5
+:10FB400000000000000000000000000000000000B5
+:10FB500000000000000000000000000000000000A5
+:10FB60000000000000000000000000000000000095
+:10FB70000000000000000000000000000000000085
+:10FB80000000000000000000000000000000000075
+:10FB90000000000000000000000000000000000065
+:10FBA0000000000000000000000000000000000055
+:10FBB0000000000000000000000000000000000045
+:10FBC0000202020202020202020202020202020017
+:10FBD0000001010101010101010101010101010116
+:10FBE0000000000000000000000000000000000015
+:10FBF0000000000000000000000000000000000005
+:10FC000000000000000000000000000000000000F4
+:10FC100000000000000000000000000000000000E4
+:10FC200000000000000000000000000000000000D4
+:10FC300000000000000000000000000000000000C4
+:10FC400000000000000000000000000000000000B4
+:10FC500000000000000000000000000000000000A4
+:10FC60000000000000000000000000000000000094
+:10FC70000000000000000000000000000000000084
+:10FC80000000000000000000000000000000000074
+:10FC90000000000000000000000000000000000064
+:10FCA0000000000000000000000000000000000054
+:10FCB0000000000000000000000000000000000044
+:10FCC0000202020202020202020202020202020016
+:10FCD0000001010101010101010101010101010115
+:10FCE0000000000000000000000000000000000014
+:10FCF0000000000000000000000000000000000004
+:10FD000000000000000000000000000000000000F3
+:10FD100000000000000000000000000000000000E3
+:10FD200000000000000000000000000000000000D3
+:10FD300000000000000000000000000000000000C3
+:10FD400000000000000000000000000000000000B3
+:10FD500000000000000000000000000000000000A3
+:10FD60000000000000000000000000000000000093
+:10FD70000000000000000000000000000000000083
+:10FD80000000000000000000000000000000000073
+:10FD90000000000000000000000000000000000063
+:10FDA0000000000000000000000000000000000053
+:10FDB0000000000000000000000000000000000043
+:10FDC0000202020202020202020202020202020015
+:10FDD0000000000000000000000000000000000023
+:10FDE0000000000000000000000000000000000013
+:10FDF0000000000000000000000000000000000003
+:10FE000000000000000000000000000000000000F2
+:10FE100000000000000000000000000000000000E2
+:10FE200000000000000000000000000000000000D2
+:10FE300000000000000000000000000000000000C2
+:10FE400000000000000000000000000000000000B2
+:10FE500000000000000000000000000000000000A2
+:10FE60000000000000000000000000000000000092
+:10FE70000000000000000000000000000000000082
+:10FE80000000000000000000000000000000000072
+:10FE90000000000000000000000000000000000062
+:10FEA0000000000000000000000000000000000052
+:10FEB0000000000000000000000000000000000042
+:10FEC0000000000000000000000000000000000032
+:10FED0001A00000000000000000000000000000008
+:10FEE0000000000000000001000000000000000011
+:10FEF0000000000000000000000000000000000002
+:10FF000000000000000000000000000000000000F1
+:10FF100000000000000000000000000000000000E1
+:10FF200000000000000000000000000000000000D1
+:10FF300000000000000000000000000000000000C1
+:10FF400000000000000000000000000000000000B1
+:10FF500000000000000000000000000000000000A1
+:10FF60000000000000000000000000000000000091
+:10FF70000000000000000000000000000000000081
+:10FF80000000000000000000000000000000000071
+:10FF90000000000000000000000000000000000061
+:10FFA0000000000000000000000000000000000051
+:10FFB0000000000000000000000000000000000041
+:10FFC000000000000000000002000000000000002F
+:10FFD0000000000000000000000000000000000021
+:10FFE0000000000000000001000000000000000010
+:10FFF0000000000000000000000000000000000001
+:0200000270008C
+:1000000000000000000000000000000000000000F0
+:1000100000000000000000000000000000000000E0
+:1000200000000000000000000000000000000000D0
+:1000300000000000000000000000000000000000C0
+:1000400000000000000000000000000000000000B0
+:1000500000000000000000000000000000000000A0
+:100060000000000000000000000000000000000090
+:100070000000000000000000000000000000000080
+:100080000000000000000000000000000000000070
+:100090000000000000000000000000000000000060
+:1000A0000000000000000000000000000000000050
+:1000B0000000000000000000000000000000000040
+:1000C000000000000000000002000000000000002E
+:1000D0000000000000000000000000000000000020
+:1000E000000000000000010100000000000000000E
+:1000F0000000000000000000000000000000000000
+:1001000000000000000000000000000000000000EF
+:1001100000000000000000000000000000000000DF
+:1001200000000000000000000000000000000000CF
+:1001300000000000000000000000000000000000BF
+:1001400000000000000000000000000000000000AF
+:10015000000000000000000000000000000000009F
+:10016000000000000000000000000000000000008F
+:10017000000000000000000000000000000000007F
+:10018000000000000000000000000000000000006F
+:10019000000000000000000000000000000000005F
+:1001A000000000000000000000000000000000004F
+:1001B000000000000000000000000000000000003F
+:1001C000000000000000000002020000000000002B
+:1001D000000000000000000000000000000000001F
+:1001E000000000000000010100000000000000000D
+:1001F00000000000000000000000000000000000FF
+:1002000000000000000000000000000000000000EE
+:1002100000000000000000000000000000000000DE
+:1002200000000000000000000000000000000000CE
+:1002300000000000000000000000000000000000BE
+:1002400000000000000000000000000000000000AE
+:10025000000000000000000000000000000000009E
+:10026000000000000000000000000000000000008E
+:10027000000000000000000000000000000000007E
+:10028000000000000000000000000000000000006E
+:10029000000000000000000000000000000000005E
+:1002A000000000000000000000000000000000004E
+:1002B000000000000000000000000000000000003E
+:1002C0000000000000000000020201010000000028
+:1002D000000000000000000000000000000000001E
+:1002E000000000000001010100000000000000000B
+:1002F00000000000000000000000000000000000FE
+:1003000000000000000000000000000000000000ED
+:1003100000000000000000000000000000000000DD
+:1003200000000000000000000000000000000000CD
+:1003300000000000000000000000000000000000BD
+:1003400000000000000000000000000000000000AD
+:10035000000000000000000000000000000000009D
+:10036000000000000000000000000000000000008D
+:10037000000000000000000000000000000000007D
+:10038000000000000000000000000000000000006D
+:10039000000000000000000000000000000000005D
+:1003A000000000000000000000000000000000004D
+:1003B000000000000000000000000000000000003D
+:1003C0000000000000000000020202010000000026
+:1003D000000000000000000000000000000000001D
+:1003E000000000000001010100000000000000000A
+:1003F00000000000000000000000000000000000FD
+:1004000000000000000000000000000000000000EC
+:1004100000000000000000000000000000000000DC
+:1004200000000000000000000000000000000000CC
+:1004300000000000000000000000000000000000BC
+:1004400000000000000000000000000000000000AC
+:10045000000000000000000000000000000000009C
+:10046000000000000000000000000000000000008C
+:10047000000000000000000000000000000000007C
+:10048000000000000000000000000000000000006C
+:10049000000000000000000000000000000000005C
+:1004A000000000000000000000000000000000004C
+:1004B000000000000000000000000000000000003C
+:1004C0000000000000000000020202020000000024
+:1004D000000000000000000000000000000000001C
+:1004E0000000000101010101000000000000000007
+:1004F00000000000000000000000000000000000FC
+:1005000000000000000000000000000000000000EB
+:1005100000000000000000000000000000000000DB
+:1005200000000000000000000000000000000000CB
+:1005300000000000000000000000000000000000BB
+:1005400000000000000000000000000000000000AB
+:10055000000000000000000000000000000000009B
+:10056000000000000000000000000000000000008B
+:10057000000000000000000000000000000000007B
+:10058000000000000000000000000000000000006B
+:10059000000000000000000000000000000000005B
+:1005A000000000000000000000000000000000004B
+:1005B000000000000000000000000000000000003B
+:1005C0000000000000000000020202020100000022
+:1005D000000000000000000000000000000000001B
+:1005E0000000000101010101000000000000000006
+:1005F00000000000000000000000000000000000FB
+:1006000000000000000000000000000000000000EA
+:1006100000000000000000000000000000000000DA
+:1006200000000000000000000000000000000000CA
+:1006300000000000000000000000000000000000BA
+:1006400000000000000000000000000000000000AA
+:10065000000000000000000000000000000000009A
+:10066000000000000000000000000000000000008A
+:10067000000000000000000000000000000000007A
+:10068000000000000000000000000000000000006A
+:10069000000000000000000000000000000000005A
+:1006A000000000000000000000000000000000004A
+:1006B000000000000000000000000000000000003A
+:1006C0000000000000000000020202020200000020
+:1006D000000000000000000000000000000000001A
+:1006E0000000000101010101000000000000000005
+:1006F00000000000000000000000000000000000FA
+:1007000000000000000000000000000000000000E9
+:1007100000000000000000000000000000000000D9
+:1007200000000000000000000000000000000000C9
+:1007300000000000000000000000000000000000B9
+:1007400000000000000000000000000000000000A9
+:100750000000000000000000000000000000000099
+:100760000000000000000000000000000000000089
+:100770000000000000000000000000000000000079
+:100780000000000000000000000000000000000069
+:100790000000000000000000000000000000000059
+:1007A0000000000000000000000000000000000049
+:1007B0000000000000000000000000000000000039
+:1007C000000000000000000002020202020100001E
+:1007D0000000000000000000000000000000000019
+:1007E0000000010101010101000000000000000003
+:1007F00000000000000000000000000000000000F9
+:1008000000000000000000000000000000000000E8
+:1008100000000000000000000000000000000000D8
+:1008200000000000000000000000000000000000C8
+:1008300000000000000000000000000000000000B8
+:1008400000000000000000000000000000000000A8
+:100850000000000000000000000000000000000098
+:100860000000000000000000000000000000000088
+:100870000000000000000000000000000000000078
+:100880000000000000000000000000000000000068
+:100890000000000000000000000000000000000058
+:1008A0000000000000000000000000000000000048
+:1008B0000000000000000000000000000000000038
+:1008C000000000000000000002020202020200001C
+:1008D0000000000000000000000000000000000018
+:1008E0000001010101010101000000000000000001
+:1008F00000000000000000000000000000000000F8
+:1009000000000000000000000000000000000000E7
+:1009100000000000000000000000000000000000D7
+:1009200000000000000000000000000000000000C7
+:1009300000000000000000000000000000000000B7
+:1009400000000000000000000000000000000000A7
+:100950000000000000000000000000000000000097
+:100960000000000000000000000000000000000087
+:100970000000000000000000000000000000000077
+:100980000000000000000000000000000000000067
+:100990000000000000000000000000000000000057
+:1009A0000000000000000000000000000000000047
+:1009B0000000000000000000000000000000000037
+:1009C0000000000000000000020202020202010119
+:1009D0000000000000000000000000000000000116
+:1009E00001010101010101010000000000000000FF
+:1009F00000000000000000000000000000000000F7
+:100A000000000000000000000000000000000000E6
+:100A100000000000000000000000000000000000D6
+:100A200000000000000000000000000000000000C6
+:100A300000000000000000000000000000000000B6
+:100A400000000000000000000000000000000000A6
+:100A50000000000000000000000000000000000096
+:100A60000000000000000000000000000000000086
+:100A70000000000000000000000000000000000076
+:100A80000000000000000000000000000000000066
+:100A90000000000000000000000000000000000056
+:100AA0000000000000000000000000000000000046
+:100AB0000000000000000000000000000000000036
+:100AC0000000000000000000020202020202020117
+:100AD0000000000000000000000000000000000115
+:100AE00001010101010101010000000000000000FE
+:100AF00000000000000000000000000000000000F6
+:100B000000000000000000000000000000000000E5
+:100B100000000000000000000000000000000000D5
+:100B200000000000000000000000000000000000C5
+:100B300000000000000000000000000000000000B5
+:100B400000000000000000000000000000000000A5
+:100B50000000000000000000000000000000000095
+:100B60000000000000000000000000000000000085
+:100B70000000000000000000000000000000000075
+:100B80000000000000000000000000000000000065
+:100B90000000000000000000000000000000000055
+:100BA0000000000000000000000000000000000045
+:100BB0000000000000000000000000000000000035
+:100BC0000000000000000000020202020202020215
+:100BD0000000000000000000000000000000010113
+:100BE00001010101010101010000000000000000FD
+:100BF00000000000000000000000000000000000F5
+:100C000000000000000000000000000000000000E4
+:100C100000000000000000000000000000000000D4
+:100C200000000000000000000000000000000000C4
+:100C300000000000000000000000000000000000B4
+:100C400000000000000000000000000000000000A4
+:100C50000000000000000000000000000000000094
+:100C60000000000000000000000000000000000084
+:100C70000000000000000000000000000000000074
+:100C80000000000000000000000000000000000064
+:100C90000000000000000000000000000000000054
+:100CA0000000000000000000000000000000000044
+:100CB0000000000000000000000000000000000034
+:100CC0000000000000000000020202020202020214
+:100CD0000000000000000000000000000000010112
+:100CE00001010101010101010000000000000000FC
+:100CF00000000000000000000000000000000000F4
+:100D000000000000000000000000000000000000E3
+:100D100000000000000000000000000000000000D3
+:100D200000000000000000000000000000000000C3
+:100D300000000000000000000000000000000000B3
+:100D400000000000000000000000000000000000A3
+:100D50000000000000000000000000000000000093
+:100D60000000000000000000000000000000000083
+:100D70000000000000000000000000000000000073
+:100D80000000000000000000000000000000000063
+:100D90000000000000000000000000000000000053
+:100DA0000000000000000000000000000000000043
+:100DB0000000000000000000000000000000000033
+:100DC0000000000000000000020202020202020213
+:100DD000020000000000000000000000000101010E
+:100DE00001010101010101010000000000000000FB
+:100DF00000000000000000000000000000000000F3
+:100E000000000000000000000000000000000000E2
+:100E100000000000000000000000000000000000D2
+:100E200000000000000000000000000000000000C2
+:100E300000000000000000000000000000000000B2
+:100E400000000000000000000000000000000000A2
+:100E50000000000000000000000000000000000092
+:100E60000000000000000000000000000000000082
+:100E70000000000000000000000000000000000072
+:100E80000000000000000000000000000000000062
+:100E90000000000000000000000000000000000052
+:100EA0000000000000000000000000000000000042
+:100EB0000000000000000000000000000000000032
+:100EC0000000000000000000020202020202020212
+:100ED000020200010000000000000000000101010A
+:100EE00001010101010101010000000000000000FA
+:100EF00000000000000000000000000000000000F2
+:100F000000000000000000000000000000000000E1
+:100F100000000000000000000000000000000000D1
+:100F200000000000000000000000000000000000C1
+:100F300000000000000000000000000000000000B1
+:100F400000000000000000000000000000000000A1
+:100F50000000000000000000000000000000000091
+:100F60000000000000000000000000000000000081
+:100F70000000000000000000000000000000000071
+:100F80000000000000000000000000000000000061
+:100F90000000000000000000000000000000000051
+:100FA0000000000000000000000000000000000041
+:100FB0000000000000000000000000000000000031
+:100FC0000000000000000000020202020202020211
+:100FD0000202020100000000000000000101010106
+:100FE00001010101010101010000000000000000F9
+:100FF00000000000000000000000000000000000F1
+:1010000000000000000000000000000000000000E0
+:1010100000000000000000000000000000000000D0
+:1010200000000000000000000000000000000000C0
+:1010300000000000000000000000000000000000B0
+:1010400000000000000000000000000000000000A0
+:101050000000000000000000000000000000000090
+:101060000000000000000000000000000000000080
+:101070000000000000000000000000000000000070
+:101080000000000000000000000000000000000060
+:101090000000000000000000000000000000000050
+:1010A0000000000000000000000000000000000040
+:1010B0000000000000000000000000000000000030
+:1010C0000000000000000000020202020202020210
+:1010D0000202020200010100000000010101010101
+:1010E00001010101010101010000000000000000F8
+:1010F00000000000000000000000000000000000F0
+:1011000000000000000000000000000000000000DF
+:1011100000000000000000000000000000000000CF
+:1011200000000000000000000000000000000000BF
+:1011300000000000000000000000000000000000AF
+:10114000000000000000000000000000000000009F
+:10115000000000000000000000000000000000008F
+:10116000000000000000000000000000000000007F
+:10117000000000000000000000000000000000006F
+:10118000000000000000000000000000000000005F
+:10119000000000000000000000000000000000004F
+:1011A000000000000000000000000000000000003F
+:1011B000000000000000000000000000000000002F
+:1011C000000000000000000002020202020202020F
+:1011D0000202020200010100000000010101010100
+:1011E00001010101010101010000000000000000F7
+:1011F00000000000000000000000000000000000EF
+:1012000000000000000000000000000000000000DE
+:1012100000000000000000000000000000000000CE
+:1012200000000000000000000000000000000000BE
+:1012300000000000000000000000000000000000AE
+:10124000000000000000000000000000000000009E
+:10125000000000000000000000000000000000008E
+:10126000000000000000000000000000000000007E
+:10127000000000000000000000000000000000006E
+:10128000000000000000000000000000000000005E
+:10129000000000000000000000000000000000004E
+:1012A000000000000000000000000000000000003E
+:1012B000000000000000000000000000000000002E
+:1012C000000000000000000002020202020202020E
+:1012D00002020202020201000000010101010101FB
+:1012E00001010101010101010000000000000000F6
+:1012F00000000000000000000000000000000000EE
+:1013000000000000000000000000000000000000DD
+:1013100000000000000000000000000000000000CD
+:1013200000000000000000000000000000000000BD
+:1013300000000000000000000000000000000000AD
+:10134000000000000000000000000000000000009D
+:10135000000000000000000000000000000000008D
+:10136000000000000000000000000000000000007D
+:10137000000000000000000000000000000000006D
+:10138000000000000000000000000000000000005D
+:10139000000000000000000000000000000000004D
+:1013A000000000000000000000000000000000003D
+:1013B000000000000000000000000000000000002D
+:1013C000000000000000000002020202020202020D
+:1013D00002020202020202000000010101010101F9
+:1013E00001010101010101010000000000000000F5
+:1013F00000000000000000000000000000000000ED
+:1014000000000000000000000000000000000000DC
+:1014100000000000000000000000000000000000CC
+:1014200000000000000000000000000000000000BC
+:1014300000000000000000000000000000000000AC
+:10144000000000000000000000000000000000009C
+:10145000000000000000000000000000000000008C
+:10146000000000000000000000000000000000007C
+:10147000000000000000000000000000000000006C
+:10148000000000000000000000000000000000005C
+:10149000000000000000000000000000000000004C
+:1014A000000000000000000000000000000000003C
+:1014B000000000000000000000000000000000002C
+:1014C000000000000000000002020202020202020C
+:1014D00002020202020202000000010101010101F8
+:1014E00001010101010101010000000000000000F4
+:1014F00000000000000000000000000000000000EC
+:1015000000000000000000000000000000000000DB
+:1015100000000000000000000000000000000000CB
+:1015200000000000000000000000000000000000BB
+:1015300000000000000000000000000000000000AB
+:10154000000000000000000000000000000000009B
+:10155000000000000000000000000000000000008B
+:10156000000000000000000000000000000000007B
+:10157000000000000000000000000000000000006B
+:10158000000000000000000000000000000000005B
+:10159000000000000000000000000000000000004B
+:1015A000000000000000000000000000000000003B
+:1015B000000000000000000000000000000000002B
+:1015C000000000000000000002020202020202020B
+:1015D00002020202020202000001010101010101F6
+:1015E00001010101010101010000000000000000F3
+:1015F00000000000000000000000000000000000EB
+:1016000000000000000000000000000000000000DA
+:1016100000000000000000000000000000000000CA
+:1016200000000000000000000000000000000000BA
+:1016300000000000000000000000000000000000AA
+:10164000000000000000000000000000000000009A
+:10165000000000000000000000000000000000008A
+:10166000000000000000000000000000000000007A
+:10167000000000000000000000000000000000006A
+:10168000000000000000000000000000000000005A
+:10169000000000000000000000000000000000004A
+:1016A000000000000000000000000000000000003A
+:1016B000000000000000000000000000000000002A
+:1016C000000000000000000002020202020202020A
+:1016D00002020202020202000001010101010101F5
+:1016E00001010101010101010000000000000000F2
+:1016F00000000000000000000000000000000000EA
+:1017000000000000000000000000000000000000D9
+:1017100000000000000000000000000000000000C9
+:1017200000000000000000000000000000000000B9
+:1017300000000000000000000000000000000000A9
+:101740000000000000000000000000000000000099
+:101750000000000000000000000000000000000089
+:101760000000000000000000000000000000000079
+:101770000000000000000000000000000000000069
+:101780000000000000000000000000000000000059
+:101790000000000000000000000000000000000049
+:1017A0000000000000000000000000000000000039
+:1017B0000000000000000000000000000000000029
+:1017C0000000000000000000020202020202020209
+:1017D00002020202020202000000000000000000FB
+:1017E00000000000000000000000000000000000F9
+:1017F00000000000000000000000000000000000E9
+:1018000000000000000000000000000000000000D8
+:1018100000000000000000000000000000000000C8
+:1018200000000000000000000000000000000000B8
+:1018300000000000000000000000000000000000A8
+:101840000000000000000000000000000000000098
+:101850000000000000000000000000000000000088
+:101860000000000000000000000000000000000078
+:101870000000000000000000000000000000000068
+:101880000000000000000000000000000000000058
+:101890000000000000000000000000000000000048
+:1018A0000000000000000000000000000000000038
+:1018B0000000000000000000000000000000000028
+:1018C0000000000000000000000000000000000018
+:1018D00000000000000000001700000000000000F1
+:1018E00000000000000000000000000000000001F7
+:1018F00000000000000000000000000000000000E8
+:1019000000000000000000000000000000000000D7
+:1019100000000000000000000000000000000000C7
+:1019200000000000000000000000000000000000B7
+:1019300000000000000000000000000000000000A7
+:101940000000000000000000000000000000000097
+:101950000000000000000000000000000000000087
+:101960000000000000000000000000000000000077
+:101970000000000000000000000000000000000067
+:101980000000000000000000000000000000000057
+:101990000000000000000000000000000000000047
+:1019A0000000000000000000000000000000000037
+:1019B0000000000000000000000000000000000027
+:1019C0000000000000000000000000000000000017
+:1019D0000201010000000000000000000000000003
+:1019E00000000000000000000000000000000001F6
+:1019F00000000000000000000000000000000000E7
+:101A000000000000000000000000000000000000D6
+:101A100000000000000000000000000000000000C6
+:101A200000000000000000000000000000000000B6
+:101A300000000000000000000000000000000000A6
+:101A40000000000000000000000000000000000096
+:101A50000000000000000000000000000000000086
+:101A60000000000000000000000000000000000076
+:101A70000000000000000000000000000000000066
+:101A80000000000000000000000000000000000056
+:101A90000000000000000000000000000000000046
+:101AA0000000000000000000000000000000000036
+:101AB0000000000000000000000000000000000026
+:101AC0000000000000000000000000000000000016
+:101AD00002020101010000000000000000000000FF
+:101AE00000000000000000000000000000000101F4
+:101AF00000000000000000000000000000000000E6
+:101B000000000000000000000000000000000000D5
+:101B100000000000000000000000000000000000C5
+:101B200000000000000000000000000000000000B5
+:101B300000000000000000000000000000000000A5
+:101B40000000000000000000000000000000000095
+:101B50000000000000000000000000000000000085
+:101B60000000000000000000000000000000000075
+:101B70000000000000000000000000000000000065
+:101B80000000000000000000000000000000000055
+:101B90000000000000000000000000000000000045
+:101BA0000000000000000000000000000000000035
+:101BB0000000000000000000000000000000000025
+:101BC0000000000000000000000000000000000015
+:101BD00002020201010000000000000000000000FD
+:101BE00000000000000000000000000000000101F3
+:101BF00000000000000000000000000000000000E5
+:101C000000000000000000000000000000000000D4
+:101C100000000000000000000000000000000000C4
+:101C200000000000000000000000000000000000B4
+:101C300000000000000000000000000000000000A4
+:101C40000000000000000000000000000000000094
+:101C50000000000000000000000000000000000084
+:101C60000000000000000000000000000000000074
+:101C70000000000000000000000000000000000064
+:101C80000000000000000000000000000000000054
+:101C90000000000000000000000000000000000044
+:101CA0000000000000000000000000000000000034
+:101CB0000000000000000000000000000000000024
+:101CC0000000000000000000000000000000000014
+:101CD00002020201010000000000000000000000FC
+:101CE00000000000000000000000000000010101F1
+:101CF00000000000000000000000000000000000E4
+:101D000000000000000000000000000000000000D3
+:101D100000000000000000000000000000000000C3
+:101D200000000000000000000000000000000000B3
+:101D300000000000000000000000000000000000A3
+:101D40000000000000000000000000000000000093
+:101D50000000000000000000000000000000000083
+:101D60000000000000000000000000000000000073
+:101D70000000000000000000000000000000000063
+:101D80000000000000000000000000000000000053
+:101D90000000000000000000000000000000000043
+:101DA0000000000000000000000000000000000033
+:101DB0000000000000000000000000000000000023
+:101DC0000000000000000000000000000000000013
+:101DD00002020202010000000000000000000000FA
+:101DE00000000000000000000000000101010101EE
+:101DF00000000000000000000000000000000000E3
+:101E000000000000000000000000000000000000D2
+:101E100000000000000000000000000000000000C2
+:101E200000000000000000000000000000000000B2
+:101E300000000000000000000000000000000000A2
+:101E40000000000000000000000000000000000092
+:101E50000000000000000000000000000000000082
+:101E60000000000000000000000000000000000072
+:101E70000000000000000000000000000000000062
+:101E80000000000000000000000000000000000052
+:101E90000000000000000000000000000000000042
+:101EA0000000000000000000000000000000000032
+:101EB0000000000000000000000000000000000022
+:101EC0000000000000000000000000000000000012
+:101ED00002020202020000000000000000000000F8
+:101EE00000000000000000000000000101010101ED
+:101EF00000000000000000000000000000000000E2
+:101F000000000000000000000000000000000000D1
+:101F100000000000000000000000000000000000C1
+:101F200000000000000000000000000000000000B1
+:101F300000000000000000000000000000000000A1
+:101F40000000000000000000000000000000000091
+:101F50000000000000000000000000000000000081
+:101F60000000000000000000000000000000000071
+:101F70000000000000000000000000000000000061
+:101F80000000000000000000000000000000000051
+:101F90000000000000000000000000000000000041
+:101FA0000000000000000000000000000000000031
+:101FB0000000000000000000000000000000000021
+:101FC0000000000000000000000000000000000011
+:101FD00002020202020000000000000000000000F7
+:101FE00000000000000000000000010101010101EB
+:101FF00000000000000000000000000000000000E1
+:1020000000000000000000000000000000000000D0
+:1020100000000000000000000000000000000000C0
+:1020200000000000000000000000000000000000B0
+:1020300000000000000000000000000000000000A0
+:102040000000000000000000000000000000000090
+:102050000000000000000000000000000000000080
+:102060000000000000000000000000000000000070
+:102070000000000000000000000000000000000060
+:102080000000000000000000000000000000000050
+:102090000000000000000000000000000000000040
+:1020A0000000000000000000000000000000000030
+:1020B0000000000000000000000000000000000020
+:1020C0000000000000000000000000000000000010
+:1020D00002020202020100000000000000000000F5
+:1020E00000000000000000000000010101010101EA
+:1020F00000000000000000000000000000000000E0
+:1021000000000000000000000000000000000000CF
+:1021100000000000000000000000000000000000BF
+:1021200000000000000000000000000000000000AF
+:10213000000000000000000000000000000000009F
+:10214000000000000000000000000000000000008F
+:10215000000000000000000000000000000000007F
+:10216000000000000000000000000000000000006F
+:10217000000000000000000000000000000000005F
+:10218000000000000000000000000000000000004F
+:10219000000000000000000000000000000000003F
+:1021A000000000000000000000000000000000002F
+:1021B000000000000000000000000000000000001F
+:1021C000000000000000000000000000000000000F
+:1021D00002020202020201000000000000000000F2
+:1021E00000000000000000000001010101010101E8
+:1021F00000000000000000000000000000000000DF
+:1022000000000000000000000000000000000000CE
+:1022100000000000000000000000000000000000BE
+:1022200000000000000000000000000000000000AE
+:10223000000000000000000000000000000000009E
+:10224000000000000000000000000000000000008E
+:10225000000000000000000000000000000000007E
+:10226000000000000000000000000000000000006E
+:10227000000000000000000000000000000000005E
+:10228000000000000000000000000000000000004E
+:10229000000000000000000000000000000000003E
+:1022A000000000000000000000000000000000002E
+:1022B000000000000000000000000000000000001E
+:1022C000000000000000000000000000000000000E
+:1022D00002020202020202000000000000000000F0
+:1022E00000000000000000000101010101010101E6
+:1022F00000000000000000000000000000000000DE
+:1023000000000000000000000000000000000000CD
+:1023100000000000000000000000000000000000BD
+:1023200000000000000000000000000000000000AD
+:10233000000000000000000000000000000000009D
+:10234000000000000000000000000000000000008D
+:10235000000000000000000000000000000000007D
+:10236000000000000000000000000000000000006D
+:10237000000000000000000000000000000000005D
+:10238000000000000000000000000000000000004D
+:10239000000000000000000000000000000000003D
+:1023A000000000000000000000000000000000002D
+:1023B000000000000000000000000000000000001D
+:1023C000000000000000000000000000000000000D
+:1023D00002020202020202000000000000000000EF
+:1023E00000000000000000010101010101010101E4
+:1023F00000000000000000000000000000000000DD
+:1024000000000000000000000000000000000000CC
+:1024100000000000000000000000000000000000BC
+:1024200000000000000000000000000000000000AC
+:10243000000000000000000000000000000000009C
+:10244000000000000000000000000000000000008C
+:10245000000000000000000000000000000000007C
+:10246000000000000000000000000000000000006C
+:10247000000000000000000000000000000000005C
+:10248000000000000000000000000000000000004C
+:10249000000000000000000000000000000000003C
+:1024A000000000000000000000000000000000002C
+:1024B000000000000000000000000000000000001C
+:1024C000000000000000000000000000000000000C
+:1024D00002020202020202020000000100000000EB
+:1024E00000000000000001010101010101010101E2
+:1024F00000000000000000000000000000000000DC
+:1025000000000000000000000000000000000000CB
+:1025100000000000000000000000000000000000BB
+:1025200000000000000000000000000000000000AB
+:10253000000000000000000000000000000000009B
+:10254000000000000000000000000000000000008B
+:10255000000000000000000000000000000000007B
+:10256000000000000000000000000000000000006B
+:10257000000000000000000000000000000000005B
+:10258000000000000000000000000000000000004B
+:10259000000000000000000000000000000000003B
+:1025A000000000000000000000000000000000002B
+:1025B000000000000000000000000000000000001B
+:1025C000000000000000000000000000000000000B
+:1025D00002020202020202020200000100000000E8
+:1025E00000000000010101010101010101010101DF
+:1025F00000000000000000000000000000000000DB
+:1026000000000000000000000000000000000000CA
+:1026100000000000000000000000000000000000BA
+:1026200000000000000000000000000000000000AA
+:10263000000000000000000000000000000000009A
+:10264000000000000000000000000000000000008A
+:10265000000000000000000000000000000000007A
+:10266000000000000000000000000000000000006A
+:10267000000000000000000000000000000000005A
+:10268000000000000000000000000000000000004A
+:10269000000000000000000000000000000000003A
+:1026A000000000000000000000000000000000002A
+:1026B000000000000000000000000000000000001A
+:1026C000000000000000000000000000000000000A
+:1026D00002020202020202020202010100000000E4
+:1026E00000000000010101010101010101010101DE
+:1026F00000000000000000000000000000000000DA
+:1027000000000000000000000000000000000000C9
+:1027100000000000000000000000000000000000B9
+:1027200000000000000000000000000000000000A9
+:102730000000000000000000000000000000000099
+:102740000000000000000000000000000000000089
+:102750000000000000000000000000000000000079
+:102760000000000000000000000000000000000069
+:102770000000000000000000000000000000000059
+:102780000000000000000000000000000000000049
+:102790000000000000000000000000000000000039
+:1027A0000000000000000000000000000000000029
+:1027B0000000000000000000000000000000000019
+:1027C0000000000000000000000000000000000009
+:1027D00002020202020202020202020200000000E1
+:1027E00000000001010101010101010101010101DC
+:1027F00000000000000000000000000000000000D9
+:1028000000000000000000000000000000000000C8
+:1028100000000000000000000000000000000000B8
+:1028200000000000000000000000000000000000A8
+:102830000000000000000000000000000000000098
+:102840000000000000000000000000000000000088
+:102850000000000000000000000000000000000078
+:102860000000000000000000000000000000000068
+:102870000000000000000000000000000000000058
+:102880000000000000000000000000000000000048
+:102890000000000000000000000000000000000038
+:1028A0000000000000000000000000000000000028
+:1028B0000000000000000000000000000000000018
+:1028C0000000000000000000000000000000000008
+:1028D00002020202020202020202020201000000DF
+:1028E00000000001010101010101010101010101DB
+:1028F00000000000000000000000000000000000D8
+:1029000000000000000000000000000000000000C7
+:1029100000000000000000000000000000000000B7
+:1029200000000000000000000000000000000000A7
+:102930000000000000000000000000000000000097
+:102940000000000000000000000000000000000087
+:102950000000000000000000000000000000000077
+:102960000000000000000000000000000000000067
+:102970000000000000000000000000000000000057
+:102980000000000000000000000000000000000047
+:102990000000000000000000000000000000000037
+:1029A0000000000000000000000000000000000027
+:1029B0000000000000000000000000000000000017
+:1029C0000000000000000000000000000000000007
+:1029D00002020202020202020202020202010100DB
+:1029E00000000001010101010101010101010101DA
+:1029F00000000000000000000000000000000000D7
+:102A000000000000000000000000000000000000C6
+:102A100000000000000000000000000000000000B6
+:102A200000000000000000000000000000000000A6
+:102A30000000000000000000000000000000000096
+:102A40000000000000000000000000000000000086
+:102A50000000000000000000000000000000000076
+:102A60000000000000000000000000000000000066
+:102A70000000000000000000000000000000000056
+:102A80000000000000000000000000000000000046
+:102A90000000000000000000000000000000000036
+:102AA0000000000000000000000000000000000026
+:102AB0000000000000000000000000000000000016
+:102AC0000000000000000000000000000000000006
+:102AD00002020202020202020202020202020100D9
+:102AE00000000101010101010101010101010101D8
+:102AF00000000000000000000000000000000000D6
+:102B000000000000000000000000000000000000C5
+:102B100000000000000000000000000000000000B5
+:102B200000000000000000000000000000000000A5
+:102B30000000000000000000000000000000000095
+:102B40000000000000000000000000000000000085
+:102B50000000000000000000000000000000000075
+:102B60000000000000000000000000000000000065
+:102B70000000000000000000000000000000000055
+:102B80000000000000000000000000000000000045
+:102B90000000000000000000000000000000000035
+:102BA0000000000000000000000000000000000025
+:102BB0000000000000000000000000000000000015
+:102BC0000000000000000000000000000000000005
+:102BD00002020202020202020202020202020200D7
+:102BE00000000101010101010101010101010101D7
+:102BF00000000000000000000000000000000000D5
+:102C000000000000000000000000000000000000C4
+:102C100000000000000000000000000000000000B4
+:102C200000000000000000000000000000000000A4
+:102C30000000000000000000000000000000000094
+:102C40000000000000000000000000000000000084
+:102C50000000000000000000000000000000000074
+:102C60000000000000000000000000000000000064
+:102C70000000000000000000000000000000000054
+:102C80000000000000000000000000000000000044
+:102C90000000000000000000000000000000000034
+:102CA0000000000000000000000000000000000024
+:102CB0000000000000000000000000000000000014
+:102CC0000000000000000000000000000000000004
+:102CD00002020202020202020202020202020200D6
+:102CE00000010101010101010101010101010101D5
+:102CF00000000000000000000000000000000000D4
+:102D000000000000000000000000000000000000C3
+:102D100000000000000000000000000000000000B3
+:102D200000000000000000000000000000000000A3
+:102D30000000000000000000000000000000000093
+:102D40000000000000000000000000000000000083
+:102D50000000000000000000000000000000000073
+:102D60000000000000000000000000000000000063
+:102D70000000000000000000000000000000000053
+:102D80000000000000000000000000000000000043
+:102D90000000000000000000000000000000000033
+:102DA0000000000000000000000000000000000023
+:102DB0000000000000000000000000000000000013
+:102DC0000000000000000000000000000000000003
+:102DD00002020202020202020202020202020200D5
+:102DE00000010101010101010101010101010101D4
+:102DF00000000000000000000000000000000000D3
+:102E000000000000000000000000000000000000C2
+:102E100000000000000000000000000000000000B2
+:102E200000000000000000000000000000000000A2
+:102E30000000000000000000000000000000000092
+:102E40000000000000000000000000000000000082
+:102E50000000000000000000000000000000000072
+:102E60000000000000000000000000000000000062
+:102E70000000000000000000000000000000000052
+:102E80000000000000000000000000000000000042
+:102E90000000000000000000000000000000000032
+:102EA0000000000000000000000000000000000022
+:102EB0000000000000000000000000000000000012
+:102EC0000000000000000000000000000000000002
+:102ED00002020202020202020202020202020200D4
+:102EE00000000000000000000000000000000000E2
+:102EF00000000000000000000000000000000000D2
+:102F000000000000000000000000000000000000C1
+:102F100000000000000000000000000000000000B1
+:102F200000000000000000000000000000000000A1
+:102F30000000000000000000000000000000000091
+:102F40000000000000000000000000000000000081
+:102F50000000000000000000000000000000000071
+:102F60000000000000000000000000000000000061
+:102F70000000000000000000000000000000000051
+:102F80000000000000000000000000000000000041
+:102F90000000000000000000000000000000000031
+:102FA0000000000000000000000000000000000021
+:102FB0000000000000000000000000000000000011
+:102FC0000000000000000000000000000000000001
+:102FD00000000000000000000000000000000000F1
+:102FE00019000000000000000000000000000000C8
+:102FF00000000000000000000000000000000000D1
+:1030000000000000000000000000000000000000C0
+:1030100000000000000000000000000000000000B0
+:1030200000000000000000000000000000000000A0
+:103030000000000000000000000000000000000090
+:103040000000000000000000000000000000000080
+:103050000000000000000000000000000000000070
+:103060000000000000000000000000000000000060
+:103070000000000000000000000000000000000050
+:103080000000000000000000000000000000000040
+:103090000000000000000000000000000000000030
+:1030A0000000000000000000000000000000000020
+:1030B0000000000000000000000000000000000010
+:1030C0000000000000000000000000000000000000
+:1030D00000000000000000000100000000000000EF
+:1030E00000000000000000000000000000000000E0
+:1030F00000000000000000000000000000000000D0
+:1031000000000000000000000000000000000000BF
+:1031100000000000000000000000000000000000AF
+:10312000000000000000000000000000000000009F
+:10313000000000000000000000000000000000008F
+:10314000000000000000000000000000000000007F
+:10315000000000000000000000000000000000006F
+:10316000000000000000000000000000000000005F
+:10317000000000000000000000000000000000004F
+:10318000000000000000000000000000000000003F
+:10319000000000000000000000000000000000002F
+:1031A000000000000000000000000000000000001F
+:1031B000000000000000000000000000000000000F
+:1031C00000000000000000000000000000000000FF
+:1031D00000000000000000000200000000000000ED
+:1031E00000000000000000000000000000000000DF
+:1031F00000000000000000010000000000000000CE
+:1032000000000000000000000000000000000000BE
+:1032100000000000000000000000000000000000AE
+:10322000000000000000000000000000000000009E
+:10323000000000000000000000000000000000008E
+:10324000000000000000000000000000000000007E
+:10325000000000000000000000000000000000006E
+:10326000000000000000000000000000000000005E
+:10327000000000000000000000000000000000004E
+:10328000000000000000000000000000000000003E
+:10329000000000000000000000000000000000002E
+:1032A000000000000000000000000000000000001E
+:1032B000000000000000000000000000000000000E
+:1032C00000000000000000000000000000000000FE
+:1032D00000000000000000000200000000000000EC
+:1032E00000000000000000000000000000000000DE
+:1032F00000000000000001010000000000000000CC
+:1033000000000000000000000000000000000000BD
+:1033100000000000000000000000000000000000AD
+:10332000000000000000000000000000000000009D
+:10333000000000000000000000000000000000008D
+:10334000000000000000000000000000000000007D
+:10335000000000000000000000000000000000006D
+:10336000000000000000000000000000000000005D
+:10337000000000000000000000000000000000004D
+:10338000000000000000000000000000000000003D
+:10339000000000000000000000000000000000002D
+:1033A000000000000000000000000000000000001D
+:1033B000000000000000000000000000000000000D
+:1033C00000000000000000000000000000000000FD
+:1033D00000000000000000000200000000000000EB
+:1033E00000000000000000000000000000000000DD
+:1033F00000000000000101010000000000000000CA
+:1034000000000000000000000000000000000000BC
+:1034100000000000000000000000000000000000AC
+:10342000000000000000000000000000000000009C
+:10343000000000000000000000000000000000008C
+:10344000000000000000000000000000000000007C
+:10345000000000000000000000000000000000006C
+:10346000000000000000000000000000000000005C
+:10347000000000000000000000000000000000004C
+:10348000000000000000000000000000000000003C
+:10349000000000000000000000000000000000002C
+:1034A000000000000000000000000000000000001C
+:1034B000000000000000000000000000000000000C
+:1034C00000000000000000000000000000000000FC
+:1034D00000000000000000000201000100000000E8
+:1034E00000000000000000000000000000000000DC
+:1034F00000000000010101010000000000000000C8
+:1035000000000000000000000000000000000000BB
+:1035100000000000000000000000000000000000AB
+:10352000000000000000000000000000000000009B
+:10353000000000000000000000000000000000008B
+:10354000000000000000000000000000000000007B
+:10355000000000000000000000000000000000006B
+:10356000000000000000000000000000000000005B
+:10357000000000000000000000000000000000004B
+:10358000000000000000000000000000000000003B
+:10359000000000000000000000000000000000002B
+:1035A000000000000000000000000000000000001B
+:1035B000000000000000000000000000000000000B
+:1035C00000000000000000000000000000000000FB
+:1035D00000000000000000000202000100000000E6
+:1035E00000000000000000000000000000000000DB
+:1035F00000000000010101010000000000000000C7
+:1036000000000000000000000000000000000000BA
+:1036100000000000000000000000000000000000AA
+:10362000000000000000000000000000000000009A
+:10363000000000000000000000000000000000008A
+:10364000000000000000000000000000000000007A
+:10365000000000000000000000000000000000006A
+:10366000000000000000000000000000000000005A
+:10367000000000000000000000000000000000004A
+:10368000000000000000000000000000000000003A
+:10369000000000000000000000000000000000002A
+:1036A000000000000000000000000000000000001A
+:1036B000000000000000000000000000000000000A
+:1036C00000000000000000000000000000000000FA
+:1036D00000000000000000000202000100000000E5
+:1036E00000000000000000000000000000000000DA
+:1036F00000000001010101010000000000000000C5
+:1037000000000000000000000000000000000000B9
+:1037100000000000000000000000000000000000A9
+:103720000000000000000000000000000000000099
+:103730000000000000000000000000000000000089
+:103740000000000000000000000000000000000079
+:103750000000000000000000000000000000000069
+:103760000000000000000000000000000000000059
+:103770000000000000000000000000000000000049
+:103780000000000000000000000000000000000039
+:103790000000000000000000000000000000000029
+:1037A0000000000000000000000000000000000019
+:1037B0000000000000000000000000000000000009
+:1037C00000000000000000000000000000000000F9
+:1037D00000000000000000000202000100000000E4
+:1037E00000000000000000000000000000000000D9
+:1037F00000000101010101010000000000000000C3
+:1038000000000000000000000000000000000000B8
+:1038100000000000000000000000000000000000A8
+:103820000000000000000000000000000000000098
+:103830000000000000000000000000000000000088
+:103840000000000000000000000000000000000078
+:103850000000000000000000000000000000000068
+:103860000000000000000000000000000000000058
+:103870000000000000000000000000000000000048
+:103880000000000000000000000000000000000038
+:103890000000000000000000000000000000000028
+:1038A0000000000000000000000000000000000018
+:1038B0000000000000000000000000000000000008
+:1038C00000000000000000000000000000000000F8
+:1038D00000000000000000000202020201000000DF
+:1038E00000000000000000000000000000000000D8
+:1038F00000010101010101010000000000000000C1
+:1039000000000000000000000000000000000000B7
+:1039100000000000000000000000000000000000A7
+:103920000000000000000000000000000000000097
+:103930000000000000000000000000000000000087
+:103940000000000000000000000000000000000077
+:103950000000000000000000000000000000000067
+:103960000000000000000000000000000000000057
+:103970000000000000000000000000000000000047
+:103980000000000000000000000000000000000037
+:103990000000000000000000000000000000000027
+:1039A0000000000000000000000000000000000017
+:1039B0000000000000000000000000000000000007
+:1039C00000000000000000000000000000000000F7
+:1039D00000000000000000000202020201000000DE
+:1039E00000000000000000000000000000000001D6
+:1039F00001010101010101010000000000000000BF
+:103A000000000000000000000000000000000000B6
+:103A100000000000000000000000000000000000A6
+:103A20000000000000000000000000000000000096
+:103A30000000000000000000000000000000000086
+:103A40000000000000000000000000000000000076
+:103A50000000000000000000000000000000000066
+:103A60000000000000000000000000000000000056
+:103A70000000000000000000000000000000000046
+:103A80000000000000000000000000000000000036
+:103A90000000000000000000000000000000000026
+:103AA0000000000000000000000000000000000016
+:103AB0000000000000000000000000000000000006
+:103AC00000000000000000000000000000000000F6
+:103AD00000000000000000000202020202010000DB
+:103AE00000000000000000000000000000000001D5
+:103AF00001010101010101010000000000000000BE
+:103B000000000000000000000000000000000000B5
+:103B100000000000000000000000000000000000A5
+:103B20000000000000000000000000000000000095
+:103B30000000000000000000000000000000000085
+:103B40000000000000000000000000000000000075
+:103B50000000000000000000000000000000000065
+:103B60000000000000000000000000000000000055
+:103B70000000000000000000000000000000000045
+:103B80000000000000000000000000000000000035
+:103B90000000000000000000000000000000000025
+:103BA0000000000000000000000000000000000015
+:103BB0000000000000000000000000000000000005
+:103BC00000000000000000000000000000000000F5
+:103BD00000000000000000000202020202010000DA
+:103BE00000000000000000000000000000010101D2
+:103BF00001010101010101010000000000000000BD
+:103C000000000000000000000000000000000000B4
+:103C100000000000000000000000000000000000A4
+:103C20000000000000000000000000000000000094
+:103C30000000000000000000000000000000000084
+:103C40000000000000000000000000000000000074
+:103C50000000000000000000000000000000000064
+:103C60000000000000000000000000000000000054
+:103C70000000000000000000000000000000000044
+:103C80000000000000000000000000000000000034
+:103C90000000000000000000000000000000000024
+:103CA0000000000000000000000000000000000014
+:103CB0000000000000000000000000000000000004
+:103CC00000000000000000000000000000000000F4
+:103CD00000000000000000000202020202020001D7
+:103CE00000000000000000000000000000010101D1
+:103CF00001010101010101010000000000000000BC
+:103D000000000000000000000000000000000000B3
+:103D100000000000000000000000000000000000A3
+:103D20000000000000000000000000000000000093
+:103D30000000000000000000000000000000000083
+:103D40000000000000000000000000000000000073
+:103D50000000000000000000000000000000000063
+:103D60000000000000000000000000000000000053
+:103D70000000000000000000000000000000000043
+:103D80000000000000000000000000000000000033
+:103D90000000000000000000000000000000000023
+:103DA0000000000000000000000000000000000013
+:103DB0000000000000000000000000000000000003
+:103DC00000000000000000000000000000000000F3
+:103DD00000000000000000000202020202020001D6
+:103DE00000000000000000000000000101010101CE
+:103DF00001010101010101010000000000000000BB
+:103E000000000000000000000000000000000000B2
+:103E100000000000000000000000000000000000A2
+:103E20000000000000000000000000000000000092
+:103E30000000000000000000000000000000000082
+:103E40000000000000000000000000000000000072
+:103E50000000000000000000000000000000000062
+:103E60000000000000000000000000000000000052
+:103E70000000000000000000000000000000000042
+:103E80000000000000000000000000000000000032
+:103E90000000000000000000000000000000000022
+:103EA0000000000000000000000000000000000012
+:103EB0000000000000000000000000000000000002
+:103EC00000000000000000000000000000000000F2
+:103ED00000000000000000000202020202020202D2
+:103EE00000000000000000000000000101010101CD
+:103EF00001010101010101010000000000000000BA
+:103F000000000000000000000000000000000000B1
+:103F100000000000000000000000000000000000A1
+:103F20000000000000000000000000000000000091
+:103F30000000000000000000000000000000000081
+:103F40000000000000000000000000000000000071
+:103F50000000000000000000000000000000000061
+:103F60000000000000000000000000000000000051
+:103F70000000000000000000000000000000000041
+:103F80000000000000000000000000000000000031
+:103F90000000000000000000000000000000000021
+:103FA0000000000000000000000000000000000011
+:103FB0000000000000000000000000000000000001
+:103FC00000000000000000000000000000000000F1
+:103FD00000000000000000000202020202020202D1
+:103FE00000000000000000000000000101010101CC
+:103FF00001010101010101010000000000000000B9
+:1040000000000000000000000000000000000000B0
+:1040100000000000000000000000000000000000A0
+:104020000000000000000000000000000000000090
+:104030000000000000000000000000000000000080
+:104040000000000000000000000000000000000070
+:104050000000000000000000000000000000000060
+:104060000000000000000000000000000000000050
+:104070000000000000000000000000000000000040
+:104080000000000000000000000000000000000030
+:104090000000000000000000000000000000000020
+:1040A0000000000000000000000000000000000010
+:1040B0000000000000000000000000000000000000
+:1040C00000000000000000000000000000000000F0
+:1040D00000000000000000000202020202020202D0
+:1040E00002000000000000000000000101010101C9
+:1040F00001010101010101010000000000000000B8
+:1041000000000000000000000000000000000000AF
+:10411000000000000000000000000000000000009F
+:10412000000000000000000000000000000000008F
+:10413000000000000000000000000000000000007F
+:10414000000000000000000000000000000000006F
+:10415000000000000000000000000000000000005F
+:10416000000000000000000000000000000000004F
+:10417000000000000000000000000000000000003F
+:10418000000000000000000000000000000000002F
+:10419000000000000000000000000000000000001F
+:1041A000000000000000000000000000000000000F
+:1041B00000000000000000000000000000000000FF
+:1041C00000000000000000000000000000000000EF
+:1041D00000000000000000000202020202020202CF
+:1041E00002020000010001000000010101010101C3
+:1041F00001010101010101010000000000000000B7
+:1042000000000000000000000000000000000000AE
+:10421000000000000000000000000000000000009E
+:10422000000000000000000000000000000000008E
+:10423000000000000000000000000000000000007E
+:10424000000000000000000000000000000000006E
+:10425000000000000000000000000000000000005E
+:10426000000000000000000000000000000000004E
+:10427000000000000000000000000000000000003E
+:10428000000000000000000000000000000000002E
+:10429000000000000000000000000000000000001E
+:1042A000000000000000000000000000000000000E
+:1042B00000000000000000000000000000000000FE
+:1042C00000000000000000000000000000000000EE
+:1042D00000000000000000000202020202020202CE
+:1042E00002020200010101000000010101010101BF
+:1042F00001010101010101010000000000000000B6
+:1043000000000000000000000000000000000000AD
+:10431000000000000000000000000000000000009D
+:10432000000000000000000000000000000000008D
+:10433000000000000000000000000000000000007D
+:10434000000000000000000000000000000000006D
+:10435000000000000000000000000000000000005D
+:10436000000000000000000000000000000000004D
+:10437000000000000000000000000000000000003D
+:10438000000000000000000000000000000000002D
+:10439000000000000000000000000000000000001D
+:1043A000000000000000000000000000000000000D
+:1043B00000000000000000000000000000000000FD
+:1043C00000000000000000000000000000000000ED
+:1043D00000000000000000000202020202020202CD
+:1043E00002020202020101000001010101010101BA
+:1043F00001010101010101010000000000000000B5
+:1044000000000000000000000000000000000000AC
+:10441000000000000000000000000000000000009C
+:10442000000000000000000000000000000000008C
+:10443000000000000000000000000000000000007C
+:10444000000000000000000000000000000000006C
+:10445000000000000000000000000000000000005C
+:10446000000000000000000000000000000000004C
+:10447000000000000000000000000000000000003C
+:10448000000000000000000000000000000000002C
+:10449000000000000000000000000000000000001C
+:1044A000000000000000000000000000000000000C
+:1044B00000000000000000000000000000000000FC
+:1044C00000000000000000000000000000000000EC
+:1044D00000000000000000000202020202020202CC
+:1044E00002020202020202000001010101010101B7
+:1044F00001010101010101010000000000000000B4
+:1045000000000000000000000000000000000000AB
+:10451000000000000000000000000000000000009B
+:10452000000000000000000000000000000000008B
+:10453000000000000000000000000000000000007B
+:10454000000000000000000000000000000000006B
+:10455000000000000000000000000000000000005B
+:10456000000000000000000000000000000000004B
+:10457000000000000000000000000000000000003B
+:10458000000000000000000000000000000000002B
+:10459000000000000000000000000000000000001B
+:1045A000000000000000000000000000000000000B
+:1045B00000000000000000000000000000000000FB
+:1045C00000000000000000000000000000000000EB
+:1045D00000000000000000000202020202020202CB
+:1045E00002020202020202000001010101010101B6
+:1045F00001010101010101010000000000000000B3
+:1046000000000000000000000000000000000000AA
+:10461000000000000000000000000000000000009A
+:10462000000000000000000000000000000000008A
+:10463000000000000000000000000000000000007A
+:10464000000000000000000000000000000000006A
+:10465000000000000000000000000000000000005A
+:10466000000000000000000000000000000000004A
+:10467000000000000000000000000000000000003A
+:10468000000000000000000000000000000000002A
+:10469000000000000000000000000000000000001A
+:1046A000000000000000000000000000000000000A
+:1046B00000000000000000000000000000000000FA
+:1046C00000000000000000000000000000000000EA
+:1046D00000000000000000000202020202020202CA
+:1046E00002020202020202000001010101010101B5
+:1046F00001010101010101010000000000000000B2
+:1047000000000000000000000000000000000000A9
+:104710000000000000000000000000000000000099
+:104720000000000000000000000000000000000089
+:104730000000000000000000000000000000000079
+:104740000000000000000000000000000000000069
+:104750000000000000000000000000000000000059
+:104760000000000000000000000000000000000049
+:104770000000000000000000000000000000000039
+:104780000000000000000000000000000000000029
+:104790000000000000000000000000000000000019
+:1047A0000000000000000000000000000000000009
+:1047B00000000000000000000000000000000000F9
+:1047C00000000000000000000000000000000000E9
+:1047D00000000000000000000202020202020202C9
+:1047E00002020202020202000000000000000000BB
+:1047F00000000000000000000000000000000000B9
+:1048000000000000000000000000000000000000A8
+:104810000000000000000000000000000000000098
+:104820000000000000000000000000000000000088
+:104830000000000000000000000000000000000078
+:104840000000000000000000000000000000000068
+:104850000000000000000000000000000000000058
+:104860000000000000000000000000000000000048
+:104870000000000000000000000000000000000038
+:104880000000000000000000000000000000000028
+:104890000000000000000000000000000000000018
+:1048A0000000000000000000000000000000000008
+:1048B00000000000000000000000000000000000F8
+:1048C00000000000000000000000000000000000E8
+:1048D00000000000000000000000000000000000D8
+:1048E00000000000000000001500000000000000B3
+:1048F00000000000000000000000000000000101B6
+:1049000000000000000000000000000000000000A7
+:104910000000000000000000000000000000000097
+:104920000000000000000000000000000000000087
+:104930000000000000000000000000000000000077
+:104940000000000000000000000000000000000067
+:104950000000000000000000000000000000000057
+:104960000000000000000000000000000000000047
+:104970000000000000000000000000000000000037
+:104980000000000000000000000000000000000027
+:104990000000000000000000000000000000000017
+:1049A0000000000000000000000000000000000007
+:1049B00000000000000000000000000000000000F7
+:1049C00000000000000000000000000000000000E7
+:1049D00000000000000000000000000000000000D7
+:1049E00002000000000000000000000000000000C5
+:1049F00000000000000000000000000000000101B5
+:104A000000000000000000000000000000000000A6
+:104A10000000000000000000000000000000000096
+:104A20000000000000000000000000000000000086
+:104A30000000000000000000000000000000000076
+:104A40000000000000000000000000000000000066
+:104A50000000000000000000000000000000000056
+:104A60000000000000000000000000000000000046
+:104A70000000000000000000000000000000000036
+:104A80000000000000000000000000000000000026
+:104A90000000000000000000000000000000000016
+:104AA0000000000000000000000000000000000006
+:104AB00000000000000000000000000000000000F6
+:104AC00000000000000000000000000000000000E6
+:104AD00000000000000000000000000000000000D6
+:104AE00002000000000000000000000000000000C4
+:104AF00000000000000000000000000000010101B3
+:104B000000000000000000000000000000000000A5
+:104B10000000000000000000000000000000000095
+:104B20000000000000000000000000000000000085
+:104B30000000000000000000000000000000000075
+:104B40000000000000000000000000000000000065
+:104B50000000000000000000000000000000000055
+:104B60000000000000000000000000000000000045
+:104B70000000000000000000000000000000000035
+:104B80000000000000000000000000000000000025
+:104B90000000000000000000000000000000000015
+:104BA0000000000000000000000000000000000005
+:104BB00000000000000000000000000000000000F5
+:104BC00000000000000000000000000000000000E5
+:104BD00000000000000000000000000000000000D5
+:104BE00002000000000000000000000000000000C3
+:104BF00000000000000000000000000000010101B2
+:104C000000000000000000000000000000000000A4
+:104C10000000000000000000000000000000000094
+:104C20000000000000000000000000000000000084
+:104C30000000000000000000000000000000000074
+:104C40000000000000000000000000000000000064
+:104C50000000000000000000000000000000000054
+:104C60000000000000000000000000000000000044
+:104C70000000000000000000000000000000000034
+:104C80000000000000000000000000000000000024
+:104C90000000000000000000000000000000000014
+:104CA0000000000000000000000000000000000004
+:104CB00000000000000000000000000000000000F4
+:104CC00000000000000000000000000000000000E4
+:104CD00000000000000000000000000000000000D4
+:104CE00002020000000000000000000000000000C0
+:104CF00000000000000000000000000101010101AF
+:104D000000000000000000000000000000000000A3
+:104D10000000000000000000000000000000000093
+:104D20000000000000000000000000000000000083
+:104D30000000000000000000000000000000000073
+:104D40000000000000000000000000000000000063
+:104D50000000000000000000000000000000000053
+:104D60000000000000000000000000000000000043
+:104D70000000000000000000000000000000000033
+:104D80000000000000000000000000000000000023
+:104D90000000000000000000000000000000000013
+:104DA0000000000000000000000000000000000003
+:104DB00000000000000000000000000000000000F3
+:104DC00000000000000000000000000000000000E3
+:104DD00000000000000000000000000000000000D3
+:104DE00002020000000000000000000000000000BF
+:104DF00000000000000000000000010101010101AD
+:104E000000000000000000000000000000000000A2
+:104E10000000000000000000000000000000000092
+:104E20000000000000000000000000000000000082
+:104E30000000000000000000000000000000000072
+:104E40000000000000000000000000000000000062
+:104E50000000000000000000000000000000000052
+:104E60000000000000000000000000000000000042
+:104E70000000000000000000000000000000000032
+:104E80000000000000000000000000000000000022
+:104E90000000000000000000000000000000000012
+:104EA0000000000000000000000000000000000002
+:104EB00000000000000000000000000000000000F2
+:104EC00000000000000000000000000000000000E2
+:104ED00000000000000000000000000000000000D2
+:104EE00002020000000000000000000000000000BE
+:104EF00000000000000000000001010101010101AB
+:104F000000000000000000000000000000000000A1
+:104F10000000000000000000000000000000000091
+:104F20000000000000000000000000000000000081
+:104F30000000000000000000000000000000000071
+:104F40000000000000000000000000000000000061
+:104F50000000000000000000000000000000000051
+:104F60000000000000000000000000000000000041
+:104F70000000000000000000000000000000000031
+:104F80000000000000000000000000000000000021
+:104F90000000000000000000000000000000000011
+:104FA0000000000000000000000000000000000001
+:104FB00000000000000000000000000000000000F1
+:104FC00000000000000000000000000000000000E1
+:104FD00000000000000000000000000000000000D1
+:104FE00002020200000000000000000000000100BA
+:104FF00000000000000000000101010101010101A9
+:1050000000000000000000000000000000000000A0
+:105010000000000000000000000000000000000090
+:105020000000000000000000000000000000000080
+:105030000000000000000000000000000000000070
+:105040000000000000000000000000000000000060
+:105050000000000000000000000000000000000050
+:105060000000000000000000000000000000000040
+:105070000000000000000000000000000000000030
+:105080000000000000000000000000000000000020
+:105090000000000000000000000000000000000010
+:1050A0000000000000000000000000000000000000
+:1050B00000000000000000000000000000000000F0
+:1050C00000000000000000000000000000000000E0
+:1050D00000000000000000000000000000000000D0
+:1050E00002020200000000000000000000000100B9
+:1050F00000000000000000010101010101010101A7
+:10510000000000000000000000000000000000009F
+:10511000000000000000000000000000000000008F
+:10512000000000000000000000000000000000007F
+:10513000000000000000000000000000000000006F
+:10514000000000000000000000000000000000005F
+:10515000000000000000000000000000000000004F
+:10516000000000000000000000000000000000003F
+:10517000000000000000000000000000000000002F
+:10518000000000000000000000000000000000001F
+:10519000000000000000000000000000000000000F
+:1051A00000000000000000000000000000000000FF
+:1051B00000000000000000000000000000000000EF
+:1051C00000000000000000000000000000000000DF
+:1051D00000000000000000000000000000000000CF
+:1051E00002020202000000000000000000000100B6
+:1051F00000000000000001010101010101010101A5
+:10520000000000000000000000000000000000009E
+:10521000000000000000000000000000000000008E
+:10522000000000000000000000000000000000007E
+:10523000000000000000000000000000000000006E
+:10524000000000000000000000000000000000005E
+:10525000000000000000000000000000000000004E
+:10526000000000000000000000000000000000003E
+:10527000000000000000000000000000000000002E
+:10528000000000000000000000000000000000001E
+:10529000000000000000000000000000000000000E
+:1052A00000000000000000000000000000000000FE
+:1052B00000000000000000000000000000000000EE
+:1052C00000000000000000000000000000000000DE
+:1052D00000000000000000000000000000000000CE
+:1052E00002020202020000000000000000000100B3
+:1052F00000000000000101010101010101010101A3
+:10530000000000000000000000000000000000009D
+:10531000000000000000000000000000000000008D
+:10532000000000000000000000000000000000007D
+:10533000000000000000000000000000000000006D
+:10534000000000000000000000000000000000005D
+:10535000000000000000000000000000000000004D
+:10536000000000000000000000000000000000003D
+:10537000000000000000000000000000000000002D
+:10538000000000000000000000000000000000001D
+:10539000000000000000000000000000000000000D
+:1053A00000000000000000000000000000000000FD
+:1053B00000000000000000000000000000000000ED
+:1053C00000000000000000000000000000000000DD
+:1053D00000000000000000000000000000000000CD
+:1053E00002020202020200000000000000000100B0
+:1053F00000000000010101010101010101010101A1
+:10540000000000000000000000000000000000009C
+:10541000000000000000000000000000000000008C
+:10542000000000000000000000000000000000007C
+:10543000000000000000000000000000000000006C
+:10544000000000000000000000000000000000005C
+:10545000000000000000000000000000000000004C
+:10546000000000000000000000000000000000003C
+:10547000000000000000000000000000000000002C
+:10548000000000000000000000000000000000001C
+:10549000000000000000000000000000000000000C
+:1054A00000000000000000000000000000000000FC
+:1054B00000000000000000000000000000000000EC
+:1054C00000000000000000000000000000000000DC
+:1054D00000000000000000000000000000000000CC
+:1054E00002020202020202000000000000000100AD
+:1054F000000000010101010101010101010101019F
+:10550000000000000000000000000000000000009B
+:10551000000000000000000000000000000000008B
+:10552000000000000000000000000000000000007B
+:10553000000000000000000000000000000000006B
+:10554000000000000000000000000000000000005B
+:10555000000000000000000000000000000000004B
+:10556000000000000000000000000000000000003B
+:10557000000000000000000000000000000000002B
+:10558000000000000000000000000000000000001B
+:10559000000000000000000000000000000000000B
+:1055A00000000000000000000000000000000000FB
+:1055B00000000000000000000000000000000000EB
+:1055C00000000000000000000000000000000000DB
+:1055D00000000000000000000000000000000000CB
+:1055E00002020202020202020000000000000100AA
+:1055F000000000010101010101010101010101019E
+:10560000000000000000000000000000000000009A
+:10561000000000000000000000000000000000008A
+:10562000000000000000000000000000000000007A
+:10563000000000000000000000000000000000006A
+:10564000000000000000000000000000000000005A
+:10565000000000000000000000000000000000004A
+:10566000000000000000000000000000000000003A
+:10567000000000000000000000000000000000002A
+:10568000000000000000000000000000000000001A
+:10569000000000000000000000000000000000000A
+:1056A00000000000000000000000000000000000FA
+:1056B00000000000000000000000000000000000EA
+:1056C00000000000000000000000000000000000DA
+:1056D00000000000000000000000000000000000CA
+:1056E00002020202020202020200000000000200A6
+:1056F000000001010101010101010101010101019C
+:105700000000000000000000000000000000000099
+:105710000000000000000000000000000000000089
+:105720000000000000000000000000000000000079
+:105730000000000000000000000000000000000069
+:105740000000000000000000000000000000000059
+:105750000000000000000000000000000000000049
+:105760000000000000000000000000000000000039
+:105770000000000000000000000000000000000029
+:105780000000000000000000000000000000000019
+:105790000000000000000000000000000000000009
+:1057A00000000000000000000000000000000000F9
+:1057B00000000000000000000000000000000000E9
+:1057C00000000000000000000000000000000000D9
+:1057D00000000000000000000000000000000000C9
+:1057E00002020202020202020202000100010200A1
+:1057F000000001010101010101010101010101019B
+:105800000000000000000000000000000000000098
+:105810000000000000000000000000000000000088
+:105820000000000000000000000000000000000078
+:105830000000000000000000000000000000000068
+:105840000000000000000000000000000000000058
+:105850000000000000000000000000000000000048
+:105860000000000000000000000000000000000038
+:105870000000000000000000000000000000000028
+:105880000000000000000000000000000000000018
+:105890000000000000000000000000000000000008
+:1058A00000000000000000000000000000000000F8
+:1058B00000000000000000000000000000000000E8
+:1058C00000000000000000000000000000000000D8
+:1058D00000000000000000000000000000000000C8
+:1058E000020202020202020202020202000102009D
+:1058F000000001010101010101010101010101019A
+:105900000000000000000000000000000000000097
+:105910000000000000000000000000000000000087
+:105920000000000000000000000000000000000077
+:105930000000000000000000000000000000000067
+:105940000000000000000000000000000000000057
+:105950000000000000000000000000000000000047
+:105960000000000000000000000000000000000037
+:105970000000000000000000000000000000000027
+:105980000000000000000000000000000000000017
+:105990000000000000000000000000000000000007
+:1059A00000000000000000000000000000000000F7
+:1059B00000000000000000000000000000000000E7
+:1059C00000000000000000000000000000000000D7
+:1059D00000000000000000000000000000000000C7
+:1059E0000202020202020202020202020202020099
+:1059F0000001010101010101010101010101010198
+:105A00000000000000000000000000000000000096
+:105A10000000000000000000000000000000000086
+:105A20000000000000000000000000000000000076
+:105A30000000000000000000000000000000000066
+:105A40000000000000000000000000000000000056
+:105A50000000000000000000000000000000000046
+:105A60000000000000000000000000000000000036
+:105A70000000000000000000000000000000000026
+:105A80000000000000000000000000000000000016
+:105A90000000000000000000000000000000000006
+:105AA00000000000000000000000000000000000F6
+:105AB00000000000000000000000000000000000E6
+:105AC00000000000000000000000000000000000D6
+:105AD00000000000000000000000000000000000C6
+:105AE0000202020202020202020202020202020098
+:105AF0000001010101010101010101010101010197
+:105B00000000000000000000000000000000000095
+:105B10000000000000000000000000000000000085
+:105B20000000000000000000000000000000000075
+:105B30000000000000000000000000000000000065
+:105B40000000000000000000000000000000000055
+:105B50000000000000000000000000000000000045
+:105B60000000000000000000000000000000000035
+:105B70000000000000000000000000000000000025
+:105B80000000000000000000000000000000000015
+:105B90000000000000000000000000000000000005
+:105BA00000000000000000000000000000000000F5
+:105BB00000000000000000000000000000000000E5
+:105BC00000000000000000000000000000000000D5
+:105BD00000000000000000000000000000000000C5
+:105BE0000202020202020202020202020202020097
+:105BF0000001010101010101010101010101010196
+:105C00000000000000000000000000000000000094
+:105C10000000000000000000000000000000000084
+:105C20000000000000000000000000000000000074
+:105C30000000000000000000000000000000000064
+:105C40000000000000000000000000000000000054
+:105C50000000000000000000000000000000000044
+:105C60000000000000000000000000000000000034
+:105C70000000000000000000000000000000000024
+:105C80000000000000000000000000000000000014
+:105C90000000000000000000000000000000000004
+:105CA00000000000000000000000000000000000F4
+:105CB00000000000000000000000000000000000E4
+:105CC00000000000000000000000000000000000D4
+:105CD00000000000000000000000000000000000C4
+:105CE0000202020202020202020202020202020096
+:105CF00000000000000000000000000000000000A4
+:105D00000000000000000000000000000000000093
+:105D10000000000000000000000000000000000083
+:105D20000000000000000000000000000000000073
+:105D30000000000000000000000000000000000063
+:105D40000000000000000000000000000000000053
+:105D50000000000000000000000000000000000043
+:105D60000000000000000000000000000000000033
+:105D70000000000000000000000000000000000023
+:105D80000000000000000000000000000000000013
+:105D90000000000000000000000000000000000003
+:105DA00000000000000000000000000000000000F3
+:105DB00000000000000000000000000000000000E3
+:105DC00000000000000000000000000000000000D3
+:105DD00000000000000000000000000000000000C3
+:105DE00000000000000000000000000000000000B3
+:105DF0001300000000000000000000000000000090
+:105E00000000000000000101000000000000000090
+:105E10000000000000000000000000000000000082
+:105E20000000000000000000000000000000000072
+:105E30000000000000000000000000000000000062
+:105E40000000000000000000000000000000000052
+:105E50000000000000000000000000000000000042
+:105E60000000000000000000000000000000000032
+:105E70000000000000000000000000000000000022
+:105E80000000000000000000000000000000000012
+:105E90000000000000000000000000000000000002
+:105EA00000000000000000000000000000000000F2
+:105EB00000000000000000000000000000000000E2
+:105EC00000000000000000000000000000000000D2
+:105ED00000000000000000000000000000000000C2
+:105EE00000000000000000000200010000000000AF
+:105EF00000000000000000000000000000000000A2
+:105F0000000000000001010100000000000000008E
+:105F10000000000000000000000000000000000081
+:105F20000000000000000000000000000000000071
+:105F30000000000000000000000000000000000061
+:105F40000000000000000000000000000000000051
+:105F50000000000000000000000000000000000041
+:105F60000000000000000000000000000000000031
+:105F70000000000000000000000000000000000021
+:105F80000000000000000000000000000000000011
+:105F90000000000000000000000000000000000001
+:105FA00000000000000000000000000000000000F1
+:105FB00000000000000000000000000000000000E1
+:105FC00000000000000000000000000000000000D1
+:105FD00000000000000000000000000000000000C1
+:105FE00000000000000000000201010000000000AD
+:105FF00000000000000000000000000000000000A1
+:10600000000000000001010100000000000000008D
+:106010000000000000000000000000000000000080
+:106020000000000000000000000000000000000070
+:106030000000000000000000000000000000000060
+:106040000000000000000000000000000000000050
+:106050000000000000000000000000000000000040
+:106060000000000000000000000000000000000030
+:106070000000000000000000000000000000000020
+:106080000000000000000000000000000000000010
+:106090000000000000000000000000000000000000
+:1060A00000000000000000000000000000000000F0
+:1060B00000000000000000000000000000000000E0
+:1060C00000000000000000000000000000000000D0
+:1060D00000000000000000000000000000000000C0
+:1060E00000000000000000000202010100000000AA
+:1060F00000000000000000000000000000000000A0
+:10610000000000000101010100000000000000008B
+:10611000000000000000000000000000000000007F
+:10612000000000000000000000000000000000006F
+:10613000000000000000000000000000000000005F
+:10614000000000000000000000000000000000004F
+:10615000000000000000000000000000000000003F
+:10616000000000000000000000000000000000002F
+:10617000000000000000000000000000000000001F
+:10618000000000000000000000000000000000000F
+:1061900000000000000000000000000000000000FF
+:1061A00000000000000000000000000000000000EF
+:1061B00000000000000000000000000000000000DF
+:1061C00000000000000000000000000000000000CF
+:1061D00000000000000000000000000000000000BF
+:1061E00000000000000000000202010100000000A9
+:1061F000000000000000000000000000000000009F
+:106200000000010101010101000000000000000088
+:10621000000000000000000000000000000000007E
+:10622000000000000000000000000000000000006E
+:10623000000000000000000000000000000000005E
+:10624000000000000000000000000000000000004E
+:10625000000000000000000000000000000000003E
+:10626000000000000000000000000000000000002E
+:10627000000000000000000000000000000000001E
+:10628000000000000000000000000000000000000E
+:1062900000000000000000000000000000000000FE
+:1062A00000000000000000000000000000000000EE
+:1062B00000000000000000000000000000000000DE
+:1062C00000000000000000000000000000000000CE
+:1062D00000000000000000000000000000000000BE
+:1062E00000000000000000000202020101000000A6
+:1062F000000000000000000000000000000000009E
+:106300000001010101010101000000000000000086
+:10631000000000000000000000000000000000007D
+:10632000000000000000000000000000000000006D
+:10633000000000000000000000000000000000005D
+:10634000000000000000000000000000000000004D
+:10635000000000000000000000000000000000003D
+:10636000000000000000000000000000000000002D
+:10637000000000000000000000000000000000001D
+:10638000000000000000000000000000000000000D
+:1063900000000000000000000000000000000000FD
+:1063A00000000000000000000000000000000000ED
+:1063B00000000000000000000000000000000000DD
+:1063C00000000000000000000000000000000000CD
+:1063D00000000000000000000000000000000000BD
+:1063E00000000000000000000202020201000000A4
+:1063F000000000000000000000000000000000019C
+:106400000101010101010101000000000000000084
+:10641000000000000000000000000000000000007C
+:10642000000000000000000000000000000000006C
+:10643000000000000000000000000000000000005C
+:10644000000000000000000000000000000000004C
+:10645000000000000000000000000000000000003C
+:10646000000000000000000000000000000000002C
+:10647000000000000000000000000000000000001C
+:10648000000000000000000000000000000000000C
+:1064900000000000000000000000000000000000FC
+:1064A00000000000000000000000000000000000EC
+:1064B00000000000000000000000000000000000DC
+:1064C00000000000000000000000000000000000CC
+:1064D00000000000000000000000000000000000BC
+:1064E00000000000000000000202020201000000A3
+:1064F0000000000000000100000000000000010199
+:106500000101010101010101000000000000000083
+:10651000000000000000000000000000000000007B
+:10652000000000000000000000000000000000006B
+:10653000000000000000000000000000000000005B
+:10654000000000000000000000000000000000004B
+:10655000000000000000000000000000000000003B
+:10656000000000000000000000000000000000002B
+:10657000000000000000000000000000000000001B
+:10658000000000000000000000000000000000000B
+:1065900000000000000000000000000000000000FB
+:1065A00000000000000000000000000000000000EB
+:1065B00000000000000000000000000000000000DB
+:1065C00000000000000000000000000000000000CB
+:1065D00000000000000000000000000000000000BB
+:1065E00000000000000000000202020202000000A1
+:1065F0000000000000000100000000000101010196
+:106600000101010101010101000000000000000082
+:10661000000000000000000000000000000000007A
+:10662000000000000000000000000000000000006A
+:10663000000000000000000000000000000000005A
+:10664000000000000000000000000000000000004A
+:10665000000000000000000000000000000000003A
+:10666000000000000000000000000000000000002A
+:10667000000000000000000000000000000000001A
+:10668000000000000000000000000000000000000A
+:1066900000000000000000000000000000000000FA
+:1066A00000000000000000000000000000000000EA
+:1066B00000000000000000000000000000000000DA
+:1066C00000000000000000000000000000000000CA
+:1066D00000000000000000000000000000000000BA
+:1066E00000000000000000000202020202000000A0
+:1066F0000000000000000100000000000101010195
+:106700000101010101010101000000000000000081
+:106710000000000000000000000000000000000079
+:106720000000000000000000000000000000000069
+:106730000000000000000000000000000000000059
+:106740000000000000000000000000000000000049
+:106750000000000000000000000000000000000039
+:106760000000000000000000000000000000000029
+:106770000000000000000000000000000000000019
+:106780000000000000000000000000000000000009
+:1067900000000000000000000000000000000000F9
+:1067A00000000000000000000000000000000000E9
+:1067B00000000000000000000000000000000000D9
+:1067C00000000000000000000000000000000000C9
+:1067D00000000000000000000000000000000000B9
+:1067E000000000000000000002020202020000009F
+:1067F0000000000000010100000001010101010191
+:106800000101010101010101000000000000000080
+:106810000000000000000000000000000000000078
+:106820000000000000000000000000000000000068
+:106830000000000000000000000000000000000058
+:106840000000000000000000000000000000000048
+:106850000000000000000000000000000000000038
+:106860000000000000000000000000000000000028
+:106870000000000000000000000000000000000018
+:106880000000000000000000000000000000000008
+:1068900000000000000000000000000000000000F8
+:1068A00000000000000000000000000000000000E8
+:1068B00000000000000000000000000000000000D8
+:1068C00000000000000000000000000000000000C8
+:1068D00000000000000000000000000000000000B8
+:1068E000000000000000000002020202020200019B
+:1068F0000000000000010100000001010101010190
+:10690000010101010101010100000000000000007F
+:106910000000000000000000000000000000000077
+:106920000000000000000000000000000000000067
+:106930000000000000000000000000000000000057
+:106940000000000000000000000000000000000047
+:106950000000000000000000000000000000000037
+:106960000000000000000000000000000000000027
+:106970000000000000000000000000000000000017
+:106980000000000000000000000000000000000007
+:1069900000000000000000000000000000000000F7
+:1069A00000000000000000000000000000000000E7
+:1069B00000000000000000000000000000000000D7
+:1069C00000000000000000000000000000000000C7
+:1069D00000000000000000000000000000000000B7
+:1069E0000000000000000000020202020202020297
+:1069F000000100000001010000000101010101018E
+:106A0000010101010101010100000000000000007E
+:106A10000000000000000000000000000000000076
+:106A20000000000000000000000000000000000066
+:106A30000000000000000000000000000000000056
+:106A40000000000000000000000000000000000046
+:106A50000000000000000000000000000000000036
+:106A60000000000000000000000000000000000026
+:106A70000000000000000000000000000000000016
+:106A80000000000000000000000000000000000006
+:106A900000000000000000000000000000000000F6
+:106AA00000000000000000000000000000000000E6
+:106AB00000000000000000000000000000000000D6
+:106AC00000000000000000000000000000000000C6
+:106AD00000000000000000000000000000000000B6
+:106AE0000000000000000000020202020202020296
+:106AF0000202010000010200000001010101010188
+:106B0000010101010101010100000000000000007D
+:106B10000000000000000000000000000000000075
+:106B20000000000000000000000000000000000065
+:106B30000000000000000000000000000000000055
+:106B40000000000000000000000000000000000045
+:106B50000000000000000000000000000000000035
+:106B60000000000000000000000000000000000025
+:106B70000000000000000000000000000000000015
+:106B80000000000000000000000000000000000005
+:106B900000000000000000000000000000000000F5
+:106BA00000000000000000000000000000000000E5
+:106BB00000000000000000000000000000000000D5
+:106BC00000000000000000000000000000000000C5
+:106BD00000000000000000000000000000000000B5
+:106BE0000000000000000000020202020202020295
+:106BF0000202020000020200000001010101010185
+:106C0000010101010101010100000000000000007C
+:106C10000000000000000000000000000000000074
+:106C20000000000000000000000000000000000064
+:106C30000000000000000000000000000000000054
+:106C40000000000000000000000000000000000044
+:106C50000000000000000000000000000000000034
+:106C60000000000000000000000000000000000024
+:106C70000000000000000000000000000000000014
+:106C80000000000000000000000000000000000004
+:106C900000000000000000000000000000000000F4
+:106CA00000000000000000000000000000000000E4
+:106CB00000000000000000000000000000000000D4
+:106CC00000000000000000000000000000000000C4
+:106CD00000000000000000000000000000000000B4
+:106CE0000000000000000000020202020202020294
+:106CF0000202020200020200000101010101010181
+:106D0000010101010101010100000000000000007B
+:106D10000000000000000000000000000000000073
+:106D20000000000000000000000000000000000063
+:106D30000000000000000000000000000000000053
+:106D40000000000000000000000000000000000043
+:106D50000000000000000000000000000000000033
+:106D60000000000000000000000000000000000023
+:106D70000000000000000000000000000000000013
+:106D80000000000000000000000000000000000003
+:106D900000000000000000000000000000000000F3
+:106DA00000000000000000000000000000000000E3
+:106DB00000000000000000000000000000000000D3
+:106DC00000000000000000000000000000000000C3
+:106DD00000000000000000000000000000000000B3
+:106DE0000000000000000000020202020202020293
+:106DF000020202020202020000010101010101017E
+:106E0000010101010101010100000000000000007A
+:106E10000000000000000000000000000000000072
+:106E20000000000000000000000000000000000062
+:106E30000000000000000000000000000000000052
+:106E40000000000000000000000000000000000042
+:106E50000000000000000000000000000000000032
+:106E60000000000000000000000000000000000022
+:106E70000000000000000000000000000000000012
+:106E80000000000000000000000000000000000002
+:106E900000000000000000000000000000000000F2
+:106EA00000000000000000000000000000000000E2
+:106EB00000000000000000000000000000000000D2
+:106EC00000000000000000000000000000000000C2
+:106ED00000000000000000000000000000000000B2
+:106EE0000000000000000000020202020202020292
+:106EF000020202020202020000010101010101017D
+:106F00000101010101010101000000000000000079
+:106F10000000000000000000000000000000000071
+:106F20000000000000000000000000000000000061
+:106F30000000000000000000000000000000000051
+:106F40000000000000000000000000000000000041
+:106F50000000000000000000000000000000000031
+:106F60000000000000000000000000000000000021
+:106F70000000000000000000000000000000000011
+:106F80000000000000000000000000000000000001
+:106F900000000000000000000000000000000000F1
+:106FA00000000000000000000000000000000000E1
+:106FB00000000000000000000000000000000000D1
+:106FC00000000000000000000000000000000000C1
+:106FD00000000000000000000000000000000000B1
+:106FE0000000000000000000020202020202020291
+:106FF0000202020202020200000000000000000083
+:107000000000000000000000000000000000000080
+:107010000000000000000000000000000000000070
+:107020000000000000000000000000000000000060
+:107030000000000000000000000000000000000050
+:107040000000000000000000000000000000000040
+:107050000000000000000000000000000000000030
+:107060000000000000000000000000000000000020
+:107070000000000000000000000000000000000010
+:107080000000000000000000000000000000000000
+:1070900000000000000000000000000000000000F0
+:1070A00000000000000000000000000000000000E0
+:1070B00000000000000000000000000000000000D0
+:1070C00000000000000000000000000000000000C0
+:1070D00000000000000000000000000000000000B0
+:1070E00000000000000000000000000000000000A0
+:1070F0000000000000000000100000000000000080
+:10710000000000000000000000000000000000017E
+:10711000000000000000000000000000000000006F
+:10712000000000000000000000000000000000005F
+:10713000000000000000000000000000000000004F
+:10714000000000000000000000000000000000003F
+:10715000000000000000000000000000000000002F
+:10716000000000000000000000000000000000001F
+:10717000000000000000000000000000000000000F
+:1071800000000000000000000000000000000000FF
+:1071900000000000000000000000000000000000EF
+:1071A00000000000000000000000000000000000DF
+:1071B00000000000000000000000000000000000CF
+:1071C00000000000000000000000000000000000BF
+:1071D00000000000000000000000000000000000AF
+:1071E000000000000000000000000000000000009F
+:1071F000020100000000000000000000000000008C
+:10720000000000000000000000000000000001017C
+:10721000000000000000000000000000000000006E
+:10722000000000000000000000000000000000005E
+:10723000000000000000000000000000000000004E
+:10724000000000000000000000000000000000003E
+:10725000000000000000000000000000000000002E
+:10726000000000000000000000000000000000001E
+:10727000000000000000000000000000000000000E
+:1072800000000000000000000000000000000000FE
+:1072900000000000000000000000000000000000EE
+:1072A00000000000000000000000000000000000DE
+:1072B00000000000000000000000000000000000CE
+:1072C00000000000000000000000000000000000BE
+:1072D00000000000000000000000000000000000AE
+:1072E000000000000000000000000000000000009E
+:1072F0000201010100000000000000000000000089
+:10730000000000000000000000000000000101017A
+:10731000000000000000000000000000000000006D
+:10732000000000000000000000000000000000005D
+:10733000000000000000000000000000000000004D
+:10734000000000000000000000000000000000003D
+:10735000000000000000000000000000000000002D
+:10736000000000000000000000000000000000001D
+:10737000000000000000000000000000000000000D
+:1073800000000000000000000000000000000000FD
+:1073900000000000000000000000000000000000ED
+:1073A00000000000000000000000000000000000DD
+:1073B00000000000000000000000000000000000CD
+:1073C00000000000000000000000000000000000BD
+:1073D00000000000000000000000000000000000AD
+:1073E000000000000000000000000000000000009D
+:1073F0000202010100000000000000000000000087
+:107400000000000000000000000000010101010177
+:10741000000000000000000000000000000000006C
+:10742000000000000000000000000000000000005C
+:10743000000000000000000000000000000000004C
+:10744000000000000000000000000000000000003C
+:10745000000000000000000000000000000000002C
+:10746000000000000000000000000000000000001C
+:10747000000000000000000000000000000000000C
+:1074800000000000000000000000000000000000FC
+:1074900000000000000000000000000000000000EC
+:1074A00000000000000000000000000000000000DC
+:1074B00000000000000000000000000000000000CC
+:1074C00000000000000000000000000000000000BC
+:1074D00000000000000000000000000000000000AC
+:1074E000000000000000000000000000000000009C
+:1074F0000202020100000000000000000000000085
+:107500000000000000000000000101010101010174
+:10751000000000000000000000000000000000006B
+:10752000000000000000000000000000000000005B
+:10753000000000000000000000000000000000004B
+:10754000000000000000000000000000000000003B
+:10755000000000000000000000000000000000002B
+:10756000000000000000000000000000000000001B
+:10757000000000000000000000000000000000000B
+:1075800000000000000000000000000000000000FB
+:1075900000000000000000000000000000000000EB
+:1075A00000000000000000000000000000000000DB
+:1075B00000000000000000000000000000000000CB
+:1075C00000000000000000000000000000000000BB
+:1075D00000000000000000000000000000000000AB
+:1075E000000000000000000000000000000000009B
+:1075F0000202020200000100000000000000000082
+:107600000000000000000101010101010101010170
+:10761000000000000000000000000000000000006A
+:10762000000000000000000000000000000000005A
+:10763000000000000000000000000000000000004A
+:10764000000000000000000000000000000000003A
+:10765000000000000000000000000000000000002A
+:10766000000000000000000000000000000000001A
+:10767000000000000000000000000000000000000A
+:1076800000000000000000000000000000000000FA
+:1076900000000000000000000000000000000000EA
+:1076A00000000000000000000000000000000000DA
+:1076B00000000000000000000000000000000000CA
+:1076C00000000000000000000000000000000000BA
+:1076D00000000000000000000000000000000000AA
+:1076E000000000000000000000000000000000009A
+:1076F0000202020201000100000000000000000080
+:10770000000000000000010101010101010101016F
+:107710000000000000000000000000000000000069
+:107720000000000000000000000000000000000059
+:107730000000000000000000000000000000000049
+:107740000000000000000000000000000000000039
+:107750000000000000000000000000000000000029
+:107760000000000000000000000000000000000019
+:107770000000000000000000000000000000000009
+:1077800000000000000000000000000000000000F9
+:1077900000000000000000000000000000000000E9
+:1077A00000000000000000000000000000000000D9
+:1077B00000000000000000000000000000000000C9
+:1077C00000000000000000000000000000000000B9
+:1077D00000000000000000000000000000000000A9
+:1077E0000000000000000000000000000000000099
+:1077F000020202020201010000000000000001007C
+:10780000000000000001010101010101010101016D
+:107810000000000000000000000000000000000068
+:107820000000000000000000000000000000000058
+:107830000000000000000000000000000000000048
+:107840000000000000000000000000000000000038
+:107850000000000000000000000000000000000028
+:107860000000000000000000000000000000000018
+:107870000000000000000000000000000000000008
+:1078800000000000000000000000000000000000F8
+:1078900000000000000000000000000000000000E8
+:1078A00000000000000000000000000000000000D8
+:1078B00000000000000000000000000000000000C8
+:1078C00000000000000000000000000000000000B8
+:1078D00000000000000000000000000000000000A8
+:1078E0000000000000000000000000000000000098
+:1078F0000202020202020200000100000000010078
+:10790000000000010101010101010101010101016A
+:107910000000000000000000000000000000000067
+:107920000000000000000000000000000000000057
+:107930000000000000000000000000000000000047
+:107940000000000000000000000000000000000037
+:107950000000000000000000000000000000000027
+:107960000000000000000000000000000000000017
+:107970000000000000000000000000000000000007
+:1079800000000000000000000000000000000000F7
+:1079900000000000000000000000000000000000E7
+:1079A00000000000000000000000000000000000D7
+:1079B00000000000000000000000000000000000C7
+:1079C00000000000000000000000000000000000B7
+:1079D00000000000000000000000000000000000A7
+:1079E0000000000000000000000000000000000097
+:1079F0000202020202020201010100010000010074
+:107A00000000000101010101010101010101010169
+:107A10000000000000000000000000000000000066
+:107A20000000000000000000000000000000000056
+:107A30000000000000000000000000000000000046
+:107A40000000000000000000000000000000000036
+:107A50000000000000000000000000000000000026
+:107A60000000000000000000000000000000000016
+:107A70000000000000000000000000000000000006
+:107A800000000000000000000000000000000000F6
+:107A900000000000000000000000000000000000E6
+:107AA00000000000000000000000000000000000D6
+:107AB00000000000000000000000000000000000C6
+:107AC00000000000000000000000000000000000B6
+:107AD00000000000000000000000000000000000A6
+:107AE0000000000000000000000000000000000096
+:107AF000020202020202020202020101000001006F
+:107B00000000010101010101010101010101010167
+:107B10000000000000000000000000000000000065
+:107B20000000000000000000000000000000000055
+:107B30000000000000000000000000000000000045
+:107B40000000000000000000000000000000000035
+:107B50000000000000000000000000000000000025
+:107B60000000000000000000000000000000000015
+:107B70000000000000000000000000000000000005
+:107B800000000000000000000000000000000000F5
+:107B900000000000000000000000000000000000E5
+:107BA00000000000000000000000000000000000D5
+:107BB00000000000000000000000000000000000C5
+:107BC00000000000000000000000000000000000B5
+:107BD00000000000000000000000000000000000A5
+:107BE0000000000000000000000000000000000095
+:107BF000020202020202020202020202010002006A
+:107C00000001010101010101010101010101010165
+:107C10000000000000000000000000000000000064
+:107C20000000000000000000000000000000000054
+:107C30000000000000000000000000000000000044
+:107C40000000000000000000000000000000000034
+:107C50000000000000000000000000000000000024
+:107C60000000000000000000000000000000000014
+:107C70000000000000000000000000000000000004
+:107C800000000000000000000000000000000000F4
+:107C900000000000000000000000000000000000E4
+:107CA00000000000000000000000000000000000D4
+:107CB00000000000000000000000000000000000C4
+:107CC00000000000000000000000000000000000B4
+:107CD00000000000000000000000000000000000A4
+:107CE0000000000000000000000000000000000094
+:107CF0000202020202020202020202020201020067
+:107D00000001010101010101010101010101010164
+:107D10000000000000000000000000000000000063
+:107D20000000000000000000000000000000000053
+:107D30000000000000000000000000000000000043
+:107D40000000000000000000000000000000000033
+:107D50000000000000000000000000000000000023
+:107D60000000000000000000000000000000000013
+:107D70000000000000000000000000000000000003
+:107D800000000000000000000000000000000000F3
+:107D900000000000000000000000000000000000E3
+:107DA00000000000000000000000000000000000D3
+:107DB00000000000000000000000000000000000C3
+:107DC00000000000000000000000000000000000B3
+:107DD00000000000000000000000000000000000A3
+:107DE0000000000000000000000000000000000093
+:107DF0000202020202020202020202020202020065
+:107E00000001010101010101010101010101010163
+:107E10000000000000000000000000000000000062
+:107E20000000000000000000000000000000000052
+:107E30000000000000000000000000000000000042
+:107E40000000000000000000000000000000000032
+:107E50000000000000000000000000000000000022
+:107E60000000000000000000000000000000000012
+:107E70000000000000000000000000000000000002
+:107E800000000000000000000000000000000000F2
+:107E900000000000000000000000000000000000E2
+:107EA00000000000000000000000000000000000D2
+:107EB00000000000000000000000000000000000C2
+:107EC00000000000000000000000000000000000B2
+:107ED00000000000000000000000000000000000A2
+:107EE0000000000000000000000000000000000092
+:107EF0000202020202020202020202020202020064
+:107F00000001010101010101010101010101010162
+:107F10000000000000000000000000000000000061
+:107F20000000000000000000000000000000000051
+:107F30000000000000000000000000000000000041
+:107F40000000000000000000000000000000000031
+:107F50000000000000000000000000000000000021
+:107F60000000000000000000000000000000000011
+:107F70000000000000000000000000000000000001
+:107F800000000000000000000000000000000000F1
+:107F900000000000000000000000000000000000E1
+:107FA00000000000000000000000000000000000D1
+:107FB00000000000000000000000000000000000C1
+:107FC00000000000000000000000000000000000B1
+:107FD00000000000000000000000000000000000A1
+:107FE0000000000000000000000000000000000091
+:107FF0000202020202020202020202020202020063
+:108000000000000000000000000000000000000070
+:108010000000000000000000000000000000000060
+:108020000000000000000000000000000000000050
+:108030000000000000000000000000000000000040
+:108040000000000000000000000000000000000030
+:108050000000000000000000000000000000000020
+:108060000000000000000000000000000000000010
+:108070000000000000000000000000000000000000
+:1080800000000000000000000000000000000000F0
+:1080900000000000000000000000000000000000E0
+:1080A00000000000000000000000000000000000D0
+:1080B00000000000000000000000000000000000C0
+:1080C00000000000000000000000000000000000B0
+:1080D00000000000000000000000000000000000A0
+:1080E0000000000000000000000000000000000090
+:1080F0000000000000000000000000000000000080
+:10810000100000000000000000000000000000005F
+:10811000000000000000000100000000000000005E
+:10812000000000000000000000000000000000004F
+:10813000000000000000000000000000000000003F
+:10814000000000000000000000000000000000002F
+:10815000000000000000000000000000000000001F
+:10816000000000000000000000000000000000000F
+:1081700000000000000000000000000000000000FF
+:1081800000000000000000000000000000000000EF
+:1081900000000000000000000000000000000000DF
+:1081A00000000000000000000000000000000000CF
+:1081B00000000000000000000000000000000000BF
+:1081C00000000000000000000000000000000000AF
+:1081D000000000000000000000000000000000009F
+:1081E000000000000000000000000000000000008F
+:1081F000000000000000000002000101000000007B
+:10820000000000000000000000000000000000006E
+:108210000001010101010101000000000000000057
+:10822000000000000000000000000000000000004E
+:10823000000000000000000000000000000000003E
+:10824000000000000000000000000000000000002E
+:10825000000000000000000000000000000000001E
+:10826000000000000000000000000000000000000E
+:1082700000000000000000000000000000000000FE
+:1082800000000000000000000000000000000000EE
+:1082900000000000000000000000000000000000DE
+:1082A00000000000000000000000000000000000CE
+:1082B00000000000000000000000000000000000BE
+:1082C00000000000000000000000000000000000AE
+:1082D000000000000000000000000000000000009E
+:1082E000000000000000000000000000000000008E
+:1082F0000000000000000000020101010000000178
+:10830000000000000000000000000000000000016C
+:108310000101010101010101000000000000000055
+:10832000000000000000000000000000000000004D
+:10833000000000000000000000000000000000003D
+:10834000000000000000000000000000000000002D
+:10835000000000000000000000000000000000001D
+:10836000000000000000000000000000000000000D
+:1083700000000000000000000000000000000000FD
+:1083800000000000000000000000000000000000ED
+:1083900000000000000000000000000000000000DD
+:1083A00000000000000000000000000000000000CD
+:1083B00000000000000000000000000000000000BD
+:1083C00000000000000000000000000000000000AD
+:1083D000000000000000000000000000000000009D
+:1083E000000000000000000000000000000000008D
+:1083F0000000000000000000020101010000000177
+:108400000001010000000000000000000000000169
+:108410000101010101010101000000000000000054
+:10842000000000000000000000000000000000004C
+:10843000000000000000000000000000000000003C
+:10844000000000000000000000000000000000002C
+:10845000000000000000000000000000000000001C
+:10846000000000000000000000000000000000000C
+:1084700000000000000000000000000000000000FC
+:1084800000000000000000000000000000000000EC
+:1084900000000000000000000000000000000000DC
+:1084A00000000000000000000000000000000000CC
+:1084B00000000000000000000000000000000000BC
+:1084C00000000000000000000000000000000000AC
+:1084D000000000000000000000000000000000009C
+:1084E000000000000000000000000000000000008C
+:1084F0000000000000000000020201010000000175
+:108500000101010000000000000000000000010166
+:108510000101010101010101000000000000000053
+:10852000000000000000000000000000000000004B
+:10853000000000000000000000000000000000003B
+:10854000000000000000000000000000000000002B
+:10855000000000000000000000000000000000001B
+:10856000000000000000000000000000000000000B
+:1085700000000000000000000000000000000000FB
+:1085800000000000000000000000000000000000EB
+:1085900000000000000000000000000000000000DB
+:1085A00000000000000000000000000000000000CB
+:1085B00000000000000000000000000000000000BB
+:1085C00000000000000000000000000000000000AB
+:1085D000000000000000000000000000000000009B
+:1085E000000000000000000000000000000000008B
+:1085F0000000000000000000020202020000000172
+:108600000101010100000000000000000001010163
+:108610000101010101010101000000000000000052
+:10862000000000000000000000000000000000004A
+:10863000000000000000000000000000000000003A
+:10864000000000000000000000000000000000002A
+:10865000000000000000000000000000000000001A
+:10866000000000000000000000000000000000000A
+:1086700000000000000000000000000000000000FA
+:1086800000000000000000000000000000000000EA
+:1086900000000000000000000000000000000000DA
+:1086A00000000000000000000000000000000000CA
+:1086B00000000000000000000000000000000000BA
+:1086C00000000000000000000000000000000000AA
+:1086D000000000000000000000000000000000009A
+:1086E000000000000000000000000000000000008A
+:1086F0000000000000000000020202020000000171
+:108700000101010100000000000000000001010162
+:108710000101010101010101000000000000000051
+:108720000000000000000000000000000000000049
+:108730000000000000000000000000000000000039
+:108740000000000000000000000000000000000029
+:108750000000000000000000000000000000000019
+:108760000000000000000000000000000000000009
+:1087700000000000000000000000000000000000F9
+:1087800000000000000000000000000000000000E9
+:1087900000000000000000000000000000000000D9
+:1087A00000000000000000000000000000000000C9
+:1087B00000000000000000000000000000000000B9
+:1087C00000000000000000000000000000000000A9
+:1087D0000000000000000000000000000000000099
+:1087E0000000000000000000000000000000000089
+:1087F0000000000000000000020202020000000170
+:10880000010101010000000000000101010101015E
+:108810000101010101010101000000000000000050
+:108820000000000000000000000000000000000048
+:108830000000000000000000000000000000000038
+:108840000000000000000000000000000000000028
+:108850000000000000000000000000000000000018
+:108860000000000000000000000000000000000008
+:1088700000000000000000000000000000000000F8
+:1088800000000000000000000000000000000000E8
+:1088900000000000000000000000000000000000D8
+:1088A00000000000000000000000000000000000C8
+:1088B00000000000000000000000000000000000B8
+:1088C00000000000000000000000000000000000A8
+:1088D0000000000000000000000000000000000098
+:1088E0000000000000000000000000000000000088
+:1088F000000000000000000002020202000001026D
+:10890000010101010000000000000101010101015D
+:10891000010101010101010100000000000000004F
+:108920000000000000000000000000000000000047
+:108930000000000000000000000000000000000037
+:108940000000000000000000000000000000000027
+:108950000000000000000000000000000000000017
+:108960000000000000000000000000000000000007
+:1089700000000000000000000000000000000000F7
+:1089800000000000000000000000000000000000E7
+:1089900000000000000000000000000000000000D7
+:1089A00000000000000000000000000000000000C7
+:1089B00000000000000000000000000000000000B7
+:1089C00000000000000000000000000000000000A7
+:1089D0000000000000000000000000000000000097
+:1089E0000000000000000000000000000000000087
+:1089F0000000000000000000020202020201010269
+:108A00000202020101010000000001010101010157
+:108A1000010101010101010100000000000000004E
+:108A20000000000000000000000000000000000046
+:108A30000000000000000000000000000000000036
+:108A40000000000000000000000000000000000026
+:108A50000000000000000000000000000000000016
+:108A60000000000000000000000000000000000006
+:108A700000000000000000000000000000000000F6
+:108A800000000000000000000000000000000000E6
+:108A900000000000000000000000000000000000D6
+:108AA00000000000000000000000000000000000C6
+:108AB00000000000000000000000000000000000B6
+:108AC00000000000000000000000000000000000A6
+:108AD0000000000000000000000000000000000096
+:108AE0000000000000000000000000000000000086
+:108AF0000000000000000000020202020202020266
+:108B00000202020201010000000101010101010154
+:108B1000010101010101010100000000000000004D
+:108B20000000000000000000000000000000000045
+:108B30000000000000000000000000000000000035
+:108B40000000000000000000000000000000000025
+:108B50000000000000000000000000000000000015
+:108B60000000000000000000000000000000000005
+:108B700000000000000000000000000000000000F5
+:108B800000000000000000000000000000000000E5
+:108B900000000000000000000000000000000000D5
+:108BA00000000000000000000000000000000000C5
+:108BB00000000000000000000000000000000000B5
+:108BC00000000000000000000000000000000000A5
+:108BD0000000000000000000000000000000000095
+:108BE0000000000000000000000000000000000085
+:108BF0000000000000000000020202020202020265
+:108C00000202020201010000000101010101010153
+:108C1000010101010101010100000000000000004C
+:108C20000000000000000000000000000000000044
+:108C30000000000000000000000000000000000034
+:108C40000000000000000000000000000000000024
+:108C50000000000000000000000000000000000014
+:108C60000000000000000000000000000000000004
+:108C700000000000000000000000000000000000F4
+:108C800000000000000000000000000000000000E4
+:108C900000000000000000000000000000000000D4
+:108CA00000000000000000000000000000000000C4
+:108CB00000000000000000000000000000000000B4
+:108CC00000000000000000000000000000000000A4
+:108CD0000000000000000000000000000000000094
+:108CE0000000000000000000000000000000000084
+:108CF0000000000000000000020202020202020264
+:108D00000202020202020000000101010101010150
+:108D1000010101010101010100000000000000004B
+:108D20000000000000000000000000000000000043
+:108D30000000000000000000000000000000000033
+:108D40000000000000000000000000000000000023
+:108D50000000000000000000000000000000000013
+:108D60000000000000000000000000000000000003
+:108D700000000000000000000000000000000000F3
+:108D800000000000000000000000000000000000E3
+:108D900000000000000000000000000000000000D3
+:108DA00000000000000000000000000000000000C3
+:108DB00000000000000000000000000000000000B3
+:108DC00000000000000000000000000000000000A3
+:108DD0000000000000000000000000000000000093
+:108DE0000000000000000000000000000000000083
+:108DF0000000000000000000020202020202020263
+:108E0000020202020202010000010101010101014E
+:108E1000010101010101010100000000000000004A
+:108E20000000000000000000000000000000000042
+:108E30000000000000000000000000000000000032
+:108E40000000000000000000000000000000000022
+:108E50000000000000000000000000000000000012
+:108E60000000000000000000000000000000000002
+:108E700000000000000000000000000000000000F2
+:108E800000000000000000000000000000000000E2
+:108E900000000000000000000000000000000000D2
+:108EA00000000000000000000000000000000000C2
+:108EB00000000000000000000000000000000000B2
+:108EC00000000000000000000000000000000000A2
+:108ED0000000000000000000000000000000000092
+:108EE0000000000000000000000000000000000082
+:108EF0000000000000000000020202020202020262
+:108F0000020202020202020000010101010101014C
+:108F10000101010101010101000000000000000049
+:108F20000000000000000000000000000000000041
+:108F30000000000000000000000000000000000031
+:108F40000000000000000000000000000000000021
+:108F50000000000000000000000000000000000011
+:108F60000000000000000000000000000000000001
+:108F700000000000000000000000000000000000F1
+:108F800000000000000000000000000000000000E1
+:108F900000000000000000000000000000000000D1
+:108FA00000000000000000000000000000000000C1
+:108FB00000000000000000000000000000000000B1
+:108FC00000000000000000000000000000000000A1
+:108FD0000000000000000000000000000000000091
+:108FE0000000000000000000000000000000000081
+:108FF0000000000000000000020202020202020261
+:109000000202020202020200000000000000000052
+:109010000000000000000000000000000000000050
+:109020000000000000000000000000000000000040
+:109030000000000000000000000000000000000030
+:109040000000000000000000000000000000000020
+:109050000000000000000000000000000000000010
+:109060000000000000000000000000000000000000
+:1090700000000000000000000000000000000000F0
+:1090800000000000000000000000000000000000E0
+:1090900000000000000000000000000000000000D0
+:1090A00000000000000000000000000000000000C0
+:1090B00000000000000000000000000000000000B0
+:1090C00000000000000000000000000000000000A0
+:1090D0000000000000000000000000000000000090
+:1090E0000000000000000000000000000000000080
+:1090F0000000000000000000000000000000000070
+:10910000000000000000000010000000000000004F
+:10911000000000000000000000000000010101014B
+:10912000000000000000000000000000000000003F
+:10913000000000000000000000000000000000002F
+:10914000000000000000000000000000000000001F
+:10915000000000000000000000000000000000000F
+:1091600000000000000000000000000000000000FF
+:1091700000000000000000000000000000000000EF
+:1091800000000000000000000000000000000000DF
+:1091900000000000000000000000000000000000CF
+:1091A00000000000000000000000000000000000BF
+:1091B00000000000000000000000000000000000AF
+:1091C000000000000000000000000000000000009F
+:1091D000000000000000000000000000000000008F
+:1091E000000000000000000000000000000000007F
+:1091F000000000000000000000000000000000006F
+:10920000020000010000000000000000000000005B
+:109210000000000000000000000000010101010149
+:10922000000000000000000000000000000000003E
+:10923000000000000000000000000000000000002E
+:10924000000000000000000000000000000000001E
+:10925000000000000000000000000000000000000E
+:1092600000000000000000000000000000000000FE
+:1092700000000000000000000000000000000000EE
+:1092800000000000000000000000000000000000DE
+:1092900000000000000000000000000000000000CE
+:1092A00000000000000000000000000000000000BE
+:1092B00000000000000000000000000000000000AE
+:1092C000000000000000000000000000000000009E
+:1092D000000000000000000000000000000000008E
+:1092E000000000000000000000000000000000007E
+:1092F000000000000000000000000000000000006E
+:10930000020000010000000000000000000000005A
+:109310000000000000000000000001010101010147
+:10932000000000000000000000000000000000003D
+:10933000000000000000000000000000000000002D
+:10934000000000000000000000000000000000001D
+:10935000000000000000000000000000000000000D
+:1093600000000000000000000000000000000000FD
+:1093700000000000000000000000000000000000ED
+:1093800000000000000000000000000000000000DD
+:1093900000000000000000000000000000000000CD
+:1093A00000000000000000000000000000000000BD
+:1093B00000000000000000000000000000000000AD
+:1093C000000000000000000000000000000000009D
+:1093D000000000000000000000000000000000008D
+:1093E000000000000000000000000000000000007D
+:1093F000000000000000000000000000000000006D
+:109400000201010100000000000000000000000057
+:109410000000000000010101010101010101010141
+:10942000000000000000000000000000000000003C
+:10943000000000000000000000000000000000002C
+:10944000000000000000000000000000000000001C
+:10945000000000000000000000000000000000000C
+:1094600000000000000000000000000000000000FC
+:1094700000000000000000000000000000000000EC
+:1094800000000000000000000000000000000000DC
+:1094900000000000000000000000000000000000CC
+:1094A00000000000000000000000000000000000BC
+:1094B00000000000000000000000000000000000AC
+:1094C000000000000000000000000000000000009C
+:1094D000000000000000000000000000000000008C
+:1094E000000000000000000000000000000000007C
+:1094F000000000000000000000000000000000006C
+:109500000201010100000000000000000101000054
+:10951000000000000101010101010101010101013F
+:10952000000000000000000000000000000000003B
+:10953000000000000000000000000000000000002B
+:10954000000000000000000000000000000000001B
+:10955000000000000000000000000000000000000B
+:1095600000000000000000000000000000000000FB
+:1095700000000000000000000000000000000000EB
+:1095800000000000000000000000000000000000DB
+:1095900000000000000000000000000000000000CB
+:1095A00000000000000000000000000000000000BB
+:1095B00000000000000000000000000000000000AB
+:1095C000000000000000000000000000000000009B
+:1095D000000000000000000000000000000000008B
+:1095E000000000000000000000000000000000007B
+:1095F000000000000000000000000000000000006B
+:109600000202010100010000000000000101000051
+:10961000000000010101010101010101010101013D
+:10962000000000000000000000000000000000003A
+:10963000000000000000000000000000000000002A
+:10964000000000000000000000000000000000001A
+:10965000000000000000000000000000000000000A
+:1096600000000000000000000000000000000000FA
+:1096700000000000000000000000000000000000EA
+:1096800000000000000000000000000000000000DA
+:1096900000000000000000000000000000000000CA
+:1096A00000000000000000000000000000000000BA
+:1096B00000000000000000000000000000000000AA
+:1096C000000000000000000000000000000000009A
+:1096D000000000000000000000000000000000008A
+:1096E000000000000000000000000000000000007A
+:1096F000000000000000000000000000000000006A
+:10970000020202020101000000000000010101004C
+:10971000000000010101010101010101010101013C
+:109720000000000000000000000000000000000039
+:109730000000000000000000000000000000000029
+:109740000000000000000000000000000000000019
+:109750000000000000000000000000000000000009
+:1097600000000000000000000000000000000000F9
+:1097700000000000000000000000000000000000E9
+:1097800000000000000000000000000000000000D9
+:1097900000000000000000000000000000000000C9
+:1097A00000000000000000000000000000000000B9
+:1097B00000000000000000000000000000000000A9
+:1097C0000000000000000000000000000000000099
+:1097D0000000000000000000000000000000000089
+:1097E0000000000000000000000000000000000079
+:1097F0000000000000000000000000000000000069
+:10980000020202020101000000000000010101004B
+:10981000000001010101010101010101010101013A
+:109820000000000000000000000000000000000038
+:109830000000000000000000000000000000000028
+:109840000000000000000000000000000000000018
+:109850000000000000000000000000000000000008
+:1098600000000000000000000000000000000000F8
+:1098700000000000000000000000000000000000E8
+:1098800000000000000000000000000000000000D8
+:1098900000000000000000000000000000000000C8
+:1098A00000000000000000000000000000000000B8
+:1098B00000000000000000000000000000000000A8
+:1098C0000000000000000000000000000000000098
+:1098D0000000000000000000000000000000000088
+:1098E0000000000000000000000000000000000078
+:1098F0000000000000000000000000000000000068
+:10990000020202020101000000000000010101004A
+:109910000000010101010101010101010101010139
+:109920000000000000000000000000000000000037
+:109930000000000000000000000000000000000027
+:109940000000000000000000000000000000000017
+:109950000000000000000000000000000000000007
+:1099600000000000000000000000000000000000F7
+:1099700000000000000000000000000000000000E7
+:1099800000000000000000000000000000000000D7
+:1099900000000000000000000000000000000000C7
+:1099A00000000000000000000000000000000000B7
+:1099B00000000000000000000000000000000000A7
+:1099C0000000000000000000000000000000000097
+:1099D0000000000000000000000000000000000087
+:1099E0000000000000000000000000000000000077
+:1099F0000000000000000000000000000000000067
+:109A00000202020202020100000000010101010045
+:109A10000001010101010101010101010101010137
+:109A20000000000000000000000000000000000036
+:109A30000000000000000000000000000000000026
+:109A40000000000000000000000000000000000016
+:109A50000000000000000000000000000000000006
+:109A600000000000000000000000000000000000F6
+:109A700000000000000000000000000000000000E6
+:109A800000000000000000000000000000000000D6
+:109A900000000000000000000000000000000000C6
+:109AA00000000000000000000000000000000000B6
+:109AB00000000000000000000000000000000000A6
+:109AC0000000000000000000000000000000000096
+:109AD0000000000000000000000000000000000086
+:109AE0000000000000000000000000000000000076
+:109AF0000000000000000000000000000000000066
+:109B00000202020202020100000000010202010042
+:109B10000001010101010101010101010101010136
+:109B20000000000000000000000000000000000035
+:109B30000000000000000000000000000000000025
+:109B40000000000000000000000000000000000015
+:109B50000000000000000000000000000000000005
+:109B600000000000000000000000000000000000F5
+:109B700000000000000000000000000000000000E5
+:109B800000000000000000000000000000000000D5
+:109B900000000000000000000000000000000000C5
+:109BA00000000000000000000000000000000000B5
+:109BB00000000000000000000000000000000000A5
+:109BC0000000000000000000000000000000000095
+:109BD0000000000000000000000000000000000085
+:109BE0000000000000000000000000000000000075
+:109BF0000000000000000000000000000000000065
+:109C0000020202020202020100000001020202003E
+:109C10000001010101010101010101010101010135
+:109C20000000000000000000000000000000000034
+:109C30000000000000000000000000000000000024
+:109C40000000000000000000000000000000000014
+:109C50000000000000000000000000000000000004
+:109C600000000000000000000000000000000000F4
+:109C700000000000000000000000000000000000E4
+:109C800000000000000000000000000000000000D4
+:109C900000000000000000000000000000000000C4
+:109CA00000000000000000000000000000000000B4
+:109CB00000000000000000000000000000000000A4
+:109CC0000000000000000000000000000000000094
+:109CD0000000000000000000000000000000000084
+:109CE0000000000000000000000000000000000074
+:109CF0000000000000000000000000000000000064
+:109D0000020202020202020200000102020202003A
+:109D10000001010101010101010101010101010134
+:109D20000000000000000000000000000000000033
+:109D30000000000000000000000000000000000023
+:109D40000000000000000000000000000000000013
+:109D50000000000000000000000000000000000003
+:109D600000000000000000000000000000000000F3
+:109D700000000000000000000000000000000000E3
+:109D800000000000000000000000000000000000D3
+:109D900000000000000000000000000000000000C3
+:109DA00000000000000000000000000000000000B3
+:109DB00000000000000000000000000000000000A3
+:109DC0000000000000000000000000000000000093
+:109DD0000000000000000000000000000000000083
+:109DE0000000000000000000000000000000000073
+:109DF0000000000000000000000000000000000063
+:109E00000202020202020202020202020202020034
+:109E10000001010101010101010101010101010133
+:109E20000000000000000000000000000000000032
+:109E30000000000000000000000000000000000022
+:109E40000000000000000000000000000000000012
+:109E50000000000000000000000000000000000002
+:109E600000000000000000000000000000000000F2
+:109E700000000000000000000000000000000000E2
+:109E800000000000000000000000000000000000D2
+:109E900000000000000000000000000000000000C2
+:109EA00000000000000000000000000000000000B2
+:109EB00000000000000000000000000000000000A2
+:109EC0000000000000000000000000000000000092
+:109ED0000000000000000000000000000000000082
+:109EE0000000000000000000000000000000000072
+:109EF0000000000000000000000000000000000062
+:109F00000202020202020202020202020202020033
+:109F10000001010101010101010101010101010132
+:109F20000000000000000000000000000000000031
+:109F30000000000000000000000000000000000021
+:109F40000000000000000000000000000000000011
+:109F50000000000000000000000000000000000001
+:109F600000000000000000000000000000000000F1
+:109F700000000000000000000000000000000000E1
+:109F800000000000000000000000000000000000D1
+:109F900000000000000000000000000000000000C1
+:109FA00000000000000000000000000000000000B1
+:109FB00000000000000000000000000000000000A1
+:109FC0000000000000000000000000000000000091
+:109FD0000000000000000000000000000000000081
+:109FE0000000000000000000000000000000000071
+:109FF0000000000000000000000000000000000061
+:10A000000202020202020202020202020202020032
+:10A010000000000000000000000000000000000040
+:10A020000000000000000000000000000000000030
+:10A030000000000000000000000000000000000020
+:10A040000000000000000000000000000000000010
+:10A050000000000000000000000000000000000000
+:10A0600000000000000000000000000000000000F0
+:10A0700000000000000000000000000000000000E0
+:10A0800000000000000000000000000000000000D0
+:10A0900000000000000000000000000000000000C0
+:10A0A00000000000000000000000000000000000B0
+:10A0B00000000000000000000000000000000000A0
+:10A0C0000000000000000000000000000000000090
+:10A0D0000000000000000000000000000000000080
+:10A0E0000000000000000000000000000000000070
+:10A0F0000000000000000000000000000000000060
+:10A10000000000000000000000000000000000004F
+:10A110000F00000000000000000000000000000030
+:10A12000000000000101010100000000000000002B
+:10A13000000000000000000000000000000000001F
+:10A14000000000000000000000000000000000000F
+:10A1500000000000000000000000000000000000FF
+:10A1600000000000000000000000000000000000EF
+:10A1700000000000000000000000000000000000DF
+:10A1800000000000000000000000000000000000CF
+:10A1900000000000000000000000000000000000BF
+:10A1A00000000000000000000000000000000000AF
+:10A1B000000000000000000000000000000000009F
+:10A1C000000000000000000000000000000000008F
+:10A1D000000000000000000000000000000000007F
+:10A1E000000000000000000000000000000000006F
+:10A1F000000000000000000000000000000000005F
+:10A20000000000000000000002000001000000004B
+:10A21000000000000000000000000000000000003E
+:10A220000000000101010101000000000000000029
+:10A23000000000000000000000000000000000001E
+:10A24000000000000000000000000000000000000E
+:10A2500000000000000000000000000000000000FE
+:10A2600000000000000000000000000000000000EE
+:10A2700000000000000000000000000000000000DE
+:10A2800000000000000000000000000000000000CE
+:10A2900000000000000000000000000000000000BE
+:10A2A00000000000000000000000000000000000AE
+:10A2B000000000000000000000000000000000009E
+:10A2C000000000000000000000000000000000008E
+:10A2D000000000000000000000000000000000007E
+:10A2E000000000000000000000000000000000006E
+:10A2F000000000000000000000000000000000005E
+:10A300000000000000000000020101010000000048
+:10A31000000000000000000000000000000000003D
+:10A320000000010101010101000000000000000027
+:10A33000000000000000000000000000000000001D
+:10A34000000000000000000000000000000000000D
+:10A3500000000000000000000000000000000000FD
+:10A3600000000000000000000000000000000000ED
+:10A3700000000000000000000000000000000000DD
+:10A3800000000000000000000000000000000000CD
+:10A3900000000000000000000000000000000000BD
+:10A3A00000000000000000000000000000000000AD
+:10A3B000000000000000000000000000000000009D
+:10A3C000000000000000000000000000000000008D
+:10A3D000000000000000000000000000000000007D
+:10A3E000000000000000000000000000000000006D
+:10A3F000000000000000000000000000000000005D
+:10A400000000000000000000020101010000000047
+:10A410000000000001010100000000000000010137
+:10A420000101010101010101000000000000000024
+:10A43000000000000000000000000000000000001C
+:10A44000000000000000000000000000000000000C
+:10A4500000000000000000000000000000000000FC
+:10A4600000000000000000000000000000000000EC
+:10A4700000000000000000000000000000000000DC
+:10A4800000000000000000000000000000000000CC
+:10A4900000000000000000000000000000000000BC
+:10A4A00000000000000000000000000000000000AC
+:10A4B000000000000000000000000000000000009C
+:10A4C000000000000000000000000000000000008C
+:10A4D000000000000000000000000000000000007C
+:10A4E000000000000000000000000000000000006C
+:10A4F000000000000000000000000000000000005C
+:10A500000000000000000000020201010000000045
+:10A510000000000001010100000000000001010135
+:10A520000101010101010101000000000000000023
+:10A53000000000000000000000000000000000001B
+:10A54000000000000000000000000000000000000B
+:10A5500000000000000000000000000000000000FB
+:10A5600000000000000000000000000000000000EB
+:10A5700000000000000000000000000000000000DB
+:10A5800000000000000000000000000000000000CB
+:10A5900000000000000000000000000000000000BB
+:10A5A00000000000000000000000000000000000AB
+:10A5B000000000000000000000000000000000009B
+:10A5C000000000000000000000000000000000008B
+:10A5D000000000000000000000000000000000007B
+:10A5E000000000000000000000000000000000006B
+:10A5F000000000000000000000000000000000005B
+:10A600000000000000000000020202020000000042
+:10A610000000000001010100000000000001010134
+:10A620000101010101010101000000000000000022
+:10A63000000000000000000000000000000000001A
+:10A64000000000000000000000000000000000000A
+:10A6500000000000000000000000000000000000FA
+:10A6600000000000000000000000000000000000EA
+:10A6700000000000000000000000000000000000DA
+:10A6800000000000000000000000000000000000CA
+:10A6900000000000000000000000000000000000BA
+:10A6A00000000000000000000000000000000000AA
+:10A6B000000000000000000000000000000000009A
+:10A6C000000000000000000000000000000000008A
+:10A6D000000000000000000000000000000000007A
+:10A6E000000000000000000000000000000000006A
+:10A6F000000000000000000000000000000000005A
+:10A700000000000000000000020202020000000041
+:10A710000000000101010100000000010101010130
+:10A720000101010101010101000000000000000021
+:10A730000000000000000000000000000000000019
+:10A740000000000000000000000000000000000009
+:10A7500000000000000000000000000000000000F9
+:10A7600000000000000000000000000000000000E9
+:10A7700000000000000000000000000000000000D9
+:10A7800000000000000000000000000000000000C9
+:10A7900000000000000000000000000000000000B9
+:10A7A00000000000000000000000000000000000A9
+:10A7B0000000000000000000000000000000000099
+:10A7C0000000000000000000000000000000000089
+:10A7D0000000000000000000000000000000000079
+:10A7E0000000000000000000000000000000000069
+:10A7F0000000000000000000000000000000000059
+:10A80000000000000000000002020202000100003F
+:10A81000000000010101010000000101010101012E
+:10A820000101010101010101000000000000000020
+:10A830000000000000000000000000000000000018
+:10A840000000000000000000000000000000000008
+:10A8500000000000000000000000000000000000F8
+:10A8600000000000000000000000000000000000E8
+:10A8700000000000000000000000000000000000D8
+:10A8800000000000000000000000000000000000C8
+:10A8900000000000000000000000000000000000B8
+:10A8A00000000000000000000000000000000000A8
+:10A8B0000000000000000000000000000000000098
+:10A8C0000000000000000000000000000000000088
+:10A8D0000000000000000000000000000000000078
+:10A8E0000000000000000000000000000000000068
+:10A8F0000000000000000000000000000000000058
+:10A90000000000000000000002020202000101013C
+:10A91000000000010101010000000101010101012D
+:10A92000010101010101010100000000000000001F
+:10A930000000000000000000000000000000000017
+:10A940000000000000000000000000000000000007
+:10A9500000000000000000000000000000000000F7
+:10A9600000000000000000000000000000000000E7
+:10A9700000000000000000000000000000000000D7
+:10A9800000000000000000000000000000000000C7
+:10A9900000000000000000000000000000000000B7
+:10A9A00000000000000000000000000000000000A7
+:10A9B0000000000000000000000000000000000097
+:10A9C0000000000000000000000000000000000087
+:10A9D0000000000000000000000000000000000077
+:10A9E0000000000000000000000000000000000067
+:10A9F0000000000000000000000000000000000057
+:10AA00000000000000000000020202020202010138
+:10AA10000000010102020200000101010101010127
+:10AA2000010101010101010100000000000000001E
+:10AA30000000000000000000000000000000000016
+:10AA40000000000000000000000000000000000006
+:10AA500000000000000000000000000000000000F6
+:10AA600000000000000000000000000000000000E6
+:10AA700000000000000000000000000000000000D6
+:10AA800000000000000000000000000000000000C6
+:10AA900000000000000000000000000000000000B6
+:10AAA00000000000000000000000000000000000A6
+:10AAB0000000000000000000000000000000000096
+:10AAC0000000000000000000000000000000000086
+:10AAD0000000000000000000000000000000000076
+:10AAE0000000000000000000000000000000000066
+:10AAF0000000000000000000000000000000000056
+:10AB00000000000000000000020202020202020235
+:10AB10000101010202020200000101010101010123
+:10AB2000010101010101010100000000000000001D
+:10AB30000000000000000000000000000000000015
+:10AB40000000000000000000000000000000000005
+:10AB500000000000000000000000000000000000F5
+:10AB600000000000000000000000000000000000E5
+:10AB700000000000000000000000000000000000D5
+:10AB800000000000000000000000000000000000C5
+:10AB900000000000000000000000000000000000B5
+:10ABA00000000000000000000000000000000000A5
+:10ABB0000000000000000000000000000000000095
+:10ABC0000000000000000000000000000000000085
+:10ABD0000000000000000000000000000000000075
+:10ABE0000000000000000000000000000000000065
+:10ABF0000000000000000000000000000000000055
+:10AC00000000000000000000020202020202020234
+:10AC1000020202020202020000010101010101011F
+:10AC2000010101010101010100000000000000001C
+:10AC30000000000000000000000000000000000014
+:10AC40000000000000000000000000000000000004
+:10AC500000000000000000000000000000000000F4
+:10AC600000000000000000000000000000000000E4
+:10AC700000000000000000000000000000000000D4
+:10AC800000000000000000000000000000000000C4
+:10AC900000000000000000000000000000000000B4
+:10ACA00000000000000000000000000000000000A4
+:10ACB0000000000000000000000000000000000094
+:10ACC0000000000000000000000000000000000084
+:10ACD0000000000000000000000000000000000074
+:10ACE0000000000000000000000000000000000064
+:10ACF0000000000000000000000000000000000054
+:10AD00000000000000000000020202020202020233
+:10AD1000020202020202020000010101010101011E
+:10AD2000010101010101010100000000000000001B
+:10AD30000000000000000000000000000000000013
+:10AD40000000000000000000000000000000000003
+:10AD500000000000000000000000000000000000F3
+:10AD600000000000000000000000000000000000E3
+:10AD700000000000000000000000000000000000D3
+:10AD800000000000000000000000000000000000C3
+:10AD900000000000000000000000000000000000B3
+:10ADA00000000000000000000000000000000000A3
+:10ADB0000000000000000000000000000000000093
+:10ADC0000000000000000000000000000000000083
+:10ADD0000000000000000000000000000000000073
+:10ADE0000000000000000000000000000000000063
+:10ADF0000000000000000000000000000000000053
+:10AE00000000000000000000020202020202020232
+:10AE1000020202020202020000010101010101011D
+:10AE2000010101010101010100000000000000001A
+:10AE30000000000000000000000000000000000012
+:10AE40000000000000000000000000000000000002
+:10AE500000000000000000000000000000000000F2
+:10AE600000000000000000000000000000000000E2
+:10AE700000000000000000000000000000000000D2
+:10AE800000000000000000000000000000000000C2
+:10AE900000000000000000000000000000000000B2
+:10AEA00000000000000000000000000000000000A2
+:10AEB0000000000000000000000000000000000092
+:10AEC0000000000000000000000000000000000082
+:10AED0000000000000000000000000000000000072
+:10AEE0000000000000000000000000000000000062
+:10AEF0000000000000000000000000000000000052
+:10AF00000000000000000000020202020202020231
+:10AF10000202020202020200000000000000000023
+:10AF20000000000000000000000000000000000021
+:10AF30000000000000000000000000000000000011
+:10AF40000000000000000000000000000000000001
+:10AF500000000000000000000000000000000000F1
+:10AF600000000000000000000000000000000000E1
+:10AF700000000000000000000000000000000000D1
+:10AF800000000000000000000000000000000000C1
+:10AF900000000000000000000000000000000000B1
+:10AFA00000000000000000000000000000000000A1
+:10AFB0000000000000000000000000000000000091
+:10AFC0000000000000000000000000000000000081
+:10AFD0000000000000000000000000000000000071
+:10AFE0000000000000000000000000000000000061
+:10AFF0000000000000000000000000000000000051
+:10B000000000000000000000000000000000000040
+:10B0100000000000000000000B0000000000000025
+:10B02000000000000000000000000000000101011D
+:10B030000000000000000000000000000000000010
+:10B040000000000000000000000000000000000000
+:10B0500000000000000000000000000000000000F0
+:10B0600000000000000000000000000000000000E0
+:10B0700000000000000000000000000000000000D0
+:10B0800000000000000000000000000000000000C0
+:10B0900000000000000000000000000000000000B0
+:10B0A00000000000000000000000000000000000A0
+:10B0B0000000000000000000000000000000000090
+:10B0C0000000000000000000000000000000000080
+:10B0D0000000000000000000000000000000000070
+:10B0E0000000000000000000000000000000000060
+:10B0F0000000000000000000000000000000000050
+:10B10000000000000000000000000000000000003F
+:10B11000020001000000000000000000000101002A
+:10B12000000000000000000000000001010101011A
+:10B13000000000000000000000000000000000000F
+:10B1400000000000000000000000000000000000FF
+:10B1500000000000000000000000000000000000EF
+:10B1600000000000000000000000000000000000DF
+:10B1700000000000000000000000000000000000CF
+:10B1800000000000000000000000000000000000BF
+:10B1900000000000000000000000000000000000AF
+:10B1A000000000000000000000000000000000009F
+:10B1B000000000000000000000000000000000008F
+:10B1C000000000000000000000000000000000007F
+:10B1D000000000000000000000000000000000006F
+:10B1E000000000000000000000000000000000005F
+:10B1F000000000000000000000000000000000004F
+:10B20000000000000000000000000000000000003E
+:10B210000201010100000000000000000001010027
+:10B220000000000000000000000001010101010118
+:10B23000000000000000000000000000000000000E
+:10B2400000000000000000000000000000000000FE
+:10B2500000000000000000000000000000000000EE
+:10B2600000000000000000000000000000000000DE
+:10B2700000000000000000000000000000000000CE
+:10B2800000000000000000000000000000000000BE
+:10B2900000000000000000000000000000000000AE
+:10B2A000000000000000000000000000000000009E
+:10B2B000000000000000000000000000000000008E
+:10B2C000000000000000000000000000000000007E
+:10B2D000000000000000000000000000000000006E
+:10B2E000000000000000000000000000000000005E
+:10B2F000000000000000000000000000000000004E
+:10B30000000000000000000000000000000000003D
+:10B310000202020100000000000000000001010024
+:10B320000000000000000101010101010101010113
+:10B33000000000000000000000000000000000000D
+:10B3400000000000000000000000000000000000FD
+:10B3500000000000000000000000000000000000ED
+:10B3600000000000000000000000000000000000DD
+:10B3700000000000000000000000000000000000CD
+:10B3800000000000000000000000000000000000BD
+:10B3900000000000000000000000000000000000AD
+:10B3A000000000000000000000000000000000009D
+:10B3B000000000000000000000000000000000008D
+:10B3C000000000000000000000000000000000007D
+:10B3D000000000000000000000000000000000006D
+:10B3E000000000000000000000000000000000005D
+:10B3F000000000000000000000000000000000004D
+:10B40000000000000000000000000000000000003C
+:10B410000202020200000000000000010101010020
+:10B420000000000000010101010101010101010111
+:10B43000000000000000000000000000000000000C
+:10B4400000000000000000000000000000000000FC
+:10B4500000000000000000000000000000000000EC
+:10B4600000000000000000000000000000000000DC
+:10B4700000000000000000000000000000000000CC
+:10B4800000000000000000000000000000000000BC
+:10B4900000000000000000000000000000000000AC
+:10B4A000000000000000000000000000000000009C
+:10B4B000000000000000000000000000000000008C
+:10B4C000000000000000000000000000000000007C
+:10B4D000000000000000000000000000000000006C
+:10B4E000000000000000000000000000000000005C
+:10B4F000000000000000000000000000000000004C
+:10B50000000000000000000000000000000000003B
+:10B51000020202020001000000000101010101001D
+:10B52000000000010101010101010101010101010E
+:10B53000000000000000000000000000000000000B
+:10B5400000000000000000000000000000000000FB
+:10B5500000000000000000000000000000000000EB
+:10B5600000000000000000000000000000000000DB
+:10B5700000000000000000000000000000000000CB
+:10B5800000000000000000000000000000000000BB
+:10B5900000000000000000000000000000000000AB
+:10B5A000000000000000000000000000000000009B
+:10B5B000000000000000000000000000000000008B
+:10B5C000000000000000000000000000000000007B
+:10B5D000000000000000000000000000000000006B
+:10B5E000000000000000000000000000000000005B
+:10B5F000000000000000000000000000000000004B
+:10B60000000000000000000000000000000000003A
+:10B610000202020202020100000001010102020016
+:10B62000000001010101010101010101010101010C
+:10B63000000000000000000000000000000000000A
+:10B6400000000000000000000000000000000000FA
+:10B6500000000000000000000000000000000000EA
+:10B6600000000000000000000000000000000000DA
+:10B6700000000000000000000000000000000000CA
+:10B6800000000000000000000000000000000000BA
+:10B6900000000000000000000000000000000000AA
+:10B6A000000000000000000000000000000000009A
+:10B6B000000000000000000000000000000000008A
+:10B6C000000000000000000000000000000000007A
+:10B6D000000000000000000000000000000000006A
+:10B6E000000000000000000000000000000000005A
+:10B6F000000000000000000000000000000000004A
+:10B700000000000000000000000000000000000039
+:10B710000202020202020200000002020202020011
+:10B72000000101010101010101010101010101010A
+:10B730000000000000000000000000000000000009
+:10B7400000000000000000000000000000000000F9
+:10B7500000000000000000000000000000000000E9
+:10B7600000000000000000000000000000000000D9
+:10B7700000000000000000000000000000000000C9
+:10B7800000000000000000000000000000000000B9
+:10B7900000000000000000000000000000000000A9
+:10B7A0000000000000000000000000000000000099
+:10B7B0000000000000000000000000000000000089
+:10B7C0000000000000000000000000000000000079
+:10B7D0000000000000000000000000000000000069
+:10B7E0000000000000000000000000000000000059
+:10B7F0000000000000000000000000000000000049
+:10B800000000000000000000000000000000000038
+:10B81000020202020202020202020202020202000A
+:10B820000001010101010101010101010101010109
+:10B830000000000000000000000000000000000008
+:10B8400000000000000000000000000000000000F8
+:10B8500000000000000000000000000000000000E8
+:10B8600000000000000000000000000000000000D8
+:10B8700000000000000000000000000000000000C8
+:10B8800000000000000000000000000000000000B8
+:10B8900000000000000000000000000000000000A8
+:10B8A0000000000000000000000000000000000098
+:10B8B0000000000000000000000000000000000088
+:10B8C0000000000000000000000000000000000078
+:10B8D0000000000000000000000000000000000068
+:10B8E0000000000000000000000000000000000058
+:10B8F0000000000000000000000000000000000048
+:10B900000000000000000000000000000000000037
+:10B910000202020202020202020202020202020009
+:10B920000001010101010101010101010101010108
+:10B930000000000000000000000000000000000007
+:10B9400000000000000000000000000000000000F7
+:10B9500000000000000000000000000000000000E7
+:10B9600000000000000000000000000000000000D7
+:10B9700000000000000000000000000000000000C7
+:10B9800000000000000000000000000000000000B7
+:10B9900000000000000000000000000000000000A7
+:10B9A0000000000000000000000000000000000097
+:10B9B0000000000000000000000000000000000087
+:10B9C0000000000000000000000000000000000077
+:10B9D0000000000000000000000000000000000067
+:10B9E0000000000000000000000000000000000057
+:10B9F0000000000000000000000000000000000047
+:10BA00000000000000000000000000000000000036
+:10BA10000202020202020202020202020202020008
+:10BA20000000000000000000000000000000000016
+:10BA30000000000000000000000000000000000006
+:10BA400000000000000000000000000000000000F6
+:10BA500000000000000000000000000000000000E6
+:10BA600000000000000000000000000000000000D6
+:10BA700000000000000000000000000000000000C6
+:10BA800000000000000000000000000000000000B6
+:10BA900000000000000000000000000000000000A6
+:10BAA0000000000000000000000000000000000096
+:10BAB0000000000000000000000000000000000086
+:10BAC0000000000000000000000000000000000076
+:10BAD0000000000000000000000000000000000066
+:10BAE0000000000000000000000000000000000056
+:10BAF0000000000000000000000000000000000046
+:10BB00000000000000000000000000000000000035
+:10BB10000000000000000000000000000000000025
+:10BB2000090000000000000000000000000000000C
+:10BB30000000000001010001000000000000000002
+:10BB400000000000000000000000000000000000F5
+:10BB500000000000000000000000000000000000E5
+:10BB600000000000000000000000000000000000D5
+:10BB700000000000000000000000000000000000C5
+:10BB800000000000000000000000000000000000B5
+:10BB900000000000000000000000000000000000A5
+:10BBA0000000000000000000000000000000000095
+:10BBB0000000000000000000000000000000000085
+:10BBC0000000000000000000000000000000000075
+:10BBD0000000000000000000000000000000000065
+:10BBE0000000000000000000000000000000000055
+:10BBF0000000000000000000000000000000000045
+:10BC00000000000000000000000000000000000034
+:10BC1000000000000000000002010101010000001E
+:10BC20000000000001010000000000000000000012
+:10BC300001000000010101010000000000000000FF
+:10BC400000000000000000000000000000000000F4
+:10BC500000000000000000000000000000000000E4
+:10BC600000000000000000000000000000000000D4
+:10BC700000000000000000000000000000000000C4
+:10BC800000000000000000000000000000000000B4
+:10BC900000000000000000000000000000000000A4
+:10BCA0000000000000000000000000000000000094
+:10BCB0000000000000000000000000000000000084
+:10BCC0000000000000000000000000000000000074
+:10BCD0000000000000000000000000000000000064
+:10BCE0000000000000000000000000000000000054
+:10BCF0000000000000000000000000000000000044
+:10BD00000000000000000000000000000000000033
+:10BD1000000000000000000002020201010000001B
+:10BD2000010000000101000000000000010000000F
+:10BD300001000101010101010000000000000000FC
+:10BD400000000000000000000000000000000000F3
+:10BD500000000000000000000000000000000000E3
+:10BD600000000000000000000000000000000000D3
+:10BD700000000000000000000000000000000000C3
+:10BD800000000000000000000000000000000000B3
+:10BD900000000000000000000000000000000000A3
+:10BDA0000000000000000000000000000000000093
+:10BDB0000000000000000000000000000000000083
+:10BDC0000000000000000000000000000000000073
+:10BDD0000000000000000000000000000000000063
+:10BDE0000000000000000000000000000000000053
+:10BDF0000000000000000000000000000000000043
+:10BE00000000000000000000000000000000000032
+:10BE10000000000000000000020202020100000019
+:10BE2000010000000101000000000000010001010C
+:10BE300001010101010101010000000000000000FA
+:10BE400000000000000000000000000000000000F2
+:10BE500000000000000000000000000000000000E2
+:10BE600000000000000000000000000000000000D2
+:10BE700000000000000000000000000000000000C2
+:10BE800000000000000000000000000000000000B2
+:10BE900000000000000000000000000000000000A2
+:10BEA0000000000000000000000000000000000092
+:10BEB0000000000000000000000000000000000082
+:10BEC0000000000000000000000000000000000072
+:10BED0000000000000000000000000000000000062
+:10BEE0000000000000000000000000000000000052
+:10BEF0000000000000000000000000000000000042
+:10BF00000000000000000000000000000000000031
+:10BF10000000000000000000020202020200010115
+:10BF20000100000001010000000000010101010109
+:10BF300001010101010101010000000000000000F9
+:10BF400000000000000000000000000000000000F1
+:10BF500000000000000000000000000000000000E1
+:10BF600000000000000000000000000000000000D1
+:10BF700000000000000000000000000000000000C1
+:10BF800000000000000000000000000000000000B1
+:10BF900000000000000000000000000000000000A1
+:10BFA0000000000000000000000000000000000091
+:10BFB0000000000000000000000000000000000081
+:10BFC0000000000000000000000000000000000071
+:10BFD0000000000000000000000000000000000061
+:10BFE0000000000000000000000000000000000051
+:10BFF0000000000000000000000000000000000041
+:10C000000000000000000000000000000000000030
+:10C010000000000000000000020202020202020210
+:10C020000200010002020000000000010101010104
+:10C0300001010101010101010000000000000000F8
+:10C0400000000000000000000000000000000000F0
+:10C0500000000000000000000000000000000000E0
+:10C0600000000000000000000000000000000000D0
+:10C0700000000000000000000000000000000000C0
+:10C0800000000000000000000000000000000000B0
+:10C0900000000000000000000000000000000000A0
+:10C0A0000000000000000000000000000000000090
+:10C0B0000000000000000000000000000000000080
+:10C0C0000000000000000000000000000000000070
+:10C0D0000000000000000000000000000000000060
+:10C0E0000000000000000000000000000000000050
+:10C0F0000000000000000000000000000000000040
+:10C10000000000000000000000000000000000002F
+:10C11000000000000000000002020202020202020F
+:10C1200002020200020201000001010101010101FD
+:10C1300001010101010101010000000000000000F7
+:10C1400000000000000000000000000000000000EF
+:10C1500000000000000000000000000000000000DF
+:10C1600000000000000000000000000000000000CF
+:10C1700000000000000000000000000000000000BF
+:10C1800000000000000000000000000000000000AF
+:10C19000000000000000000000000000000000009F
+:10C1A000000000000000000000000000000000008F
+:10C1B000000000000000000000000000000000007F
+:10C1C000000000000000000000000000000000006F
+:10C1D000000000000000000000000000000000005F
+:10C1E000000000000000000000000000000000004F
+:10C1F000000000000000000000000000000000003F
+:10C20000000000000000000000000000000000002E
+:10C21000000000000000000002020202020202020E
+:10C2200002020202020202000001010101010101F9
+:10C2300001010101010101010000000000000000F6
+:10C2400000000000000000000000000000000000EE
+:10C2500000000000000000000000000000000000DE
+:10C2600000000000000000000000000000000000CE
+:10C2700000000000000000000000000000000000BE
+:10C2800000000000000000000000000000000000AE
+:10C29000000000000000000000000000000000009E
+:10C2A000000000000000000000000000000000008E
+:10C2B000000000000000000000000000000000007E
+:10C2C000000000000000000000000000000000006E
+:10C2D000000000000000000000000000000000005E
+:10C2E000000000000000000000000000000000004E
+:10C2F000000000000000000000000000000000003E
+:10C30000000000000000000000000000000000002D
+:10C31000000000000000000002020202020202020D
+:10C3200002020202020202000000000000000000FF
+:10C3300000000000000000000000000000000000FD
+:10C3400000000000000000000000000000000000ED
+:10C3500000000000000000000000000000000000DD
+:10C3600000000000000000000000000000000000CD
+:10C3700000000000000000000000000000000000BD
+:10C3800000000000000000000000000000000000AD
+:10C39000000000000000000000000000000000009D
+:10C3A000000000000000000000000000000000008D
+:10C3B000000000000000000000000000000000007D
+:10C3C000000000000000000000000000000000006D
+:10C3D000000000000000000000000000000000005D
+:10C3E000000000000000000000000000000000004D
+:10C3F000000000000000000000000000000000003D
+:10C40000000000000000000000000000000000002C
+:10C41000000000000000000000000000000000001C
+:10C4200000000000000000000D00000000000000FF
+:10C4300000000000000000000000000000000000FC
+:10C4400000000000000000000000000000000000EC
+:10C4500000000000000000000000000000000000DC
+:10C4600000000000000000000000000000000000CC
+:10C4700000000000000000000000000000000000BC
+:10C4800000000000000000000000000000000000AC
+:10C49000000000000000000000000000000000009C
+:10C4A000000000000000000000000000000000008C
+:10C4B000000000000000000000000000000000007C
+:10C4C000000000000000000000000000000000006C
+:10C4D000000000000000000000000000000000005C
+:10C4E000000000000000000000000000000000004C
+:10C4F000000000000000000000000000000000003C
+:10C50000000000000000000000000000000000002B
+:10C51000000000000000000000000000000000001B
+:10C52000010000000000000000000000000000000A
+:10C5300000000000000000000000000000000000FB
+:10C5400000000000000000000000000000000000EB
+:10C5500000000000000000000000000000000000DB
+:10C5600000000000000000000000000000000000CB
+:10C5700000000000000000000000000000000000BB
+:10C5800000000000000000000000000000000000AB
+:10C59000000000000000000000000000000000009B
+:10C5A000000000000000000000000000000000008B
+:10C5B000000000000000000000000000000000007B
+:10C5C000000000000000000000000000000000006B
+:10C5D000000000000000000000000000000000005B
+:10C5E000000000000000000000000000000000004B
+:10C5F000000000000000000000000000000000003B
+:10C60000000000000000000000000000000000002A
+:10C61000000000000000000000000000000000001A
+:10C620000100000000000000000000000000000009
+:10C6300000000000000000000000000000000000FA
+:10C6400000000000000000000000000000000000EA
+:10C6500000000000000000000000000000000000DA
+:10C6600000000000000000000000000000000000CA
+:10C6700000000000000000000000000000000000BA
+:10C6800000000000000000000000000000000000AA
+:10C69000000000000000000000000000000000009A
+:10C6A000000000000000000000000000000000008A
+:10C6B000000000000000000000000000000000007A
+:10C6C000000000000000000000000000000000006A
+:10C6D000000000000000000000000000000000005A
+:10C6E000000000000000000000000000000000004A
+:10C6F000000000000000000000000000000000003A
+:10C700000000000000000000000000000000000029
+:10C710000000000000000000000000000000000019
+:10C720000200000000010000000000000000000006
+:10C7300000000000000000000000000000000000F9
+:10C7400000000000000000000000000000000000E9
+:10C7500000000000000000000000000000000000D9
+:10C7600000000000000000000000000000000000C9
+:10C7700000000000000000000000000000000000B9
+:10C7800000000000000000000000000000000000A9
+:10C790000000000000000000000000000000000099
+:10C7A0000000000000000000000000000000000089
+:10C7B0000000000000000000000000000000000079
+:10C7C0000000000000000000000000000000000069
+:10C7D0000000000000000000000000000000000059
+:10C7E0000000000000000000000000000000000049
+:10C7F0000000000000000000000000000000000039
+:10C800000000000000000000000000000000000028
+:10C810000000000000000000000000000000000018
+:10C820000201010000010000000000000000000003
+:10C8300000000000000000000000000000000101F6
+:10C8400000000000000000000000000000000000E8
+:10C8500000000000000000000000000000000000D8
+:10C8600000000000000000000000000000000000C8
+:10C8700000000000000000000000000000000000B8
+:10C8800000000000000000000000000000000000A8
+:10C890000000000000000000000000000000000098
+:10C8A0000000000000000000000000000000000088
+:10C8B0000000000000000000000000000000000078
+:10C8C0000000000000000000000000000000000068
+:10C8D0000000000000000000000000000000000058
+:10C8E0000000000000000000000000000000000048
+:10C8F0000000000000000000000000000000000038
+:10C900000000000000000000000000000000000027
+:10C910000000000000000000000000000000000017
+:10C9200002010101000101000000010000000100FE
+:10C9300000000000000000000000000000000101F5
+:10C9400000000000000000000000000000000000E7
+:10C9500000000000000000000000000000000000D7
+:10C9600000000000000000000000000000000000C7
+:10C9700000000000000000000000000000000000B7
+:10C9800000000000000000000000000000000000A7
+:10C990000000000000000000000000000000000097
+:10C9A0000000000000000000000000000000000087
+:10C9B0000000000000000000000000000000000077
+:10C9C0000000000000000000000000000000000067
+:10C9D0000000000000000000000000000000000057
+:10C9E0000000000000000000000000000000000047
+:10C9F0000000000000000000000000000000000037
+:10CA00000000000000000000000000000000000026
+:10CA10000000000000000000000000000000000016
+:10CA200002020101000101000001010000000100FB
+:10CA300000000000000101010000010001010101EE
+:10CA400000000000000000000000000000000000E6
+:10CA500000000000000000000000000000000000D6
+:10CA600000000000000000000000000000000000C6
+:10CA700000000000000000000000000000000000B6
+:10CA800000000000000000000000000000000000A6
+:10CA90000000000000000000000000000000000096
+:10CAA0000000000000000000000000000000000086
+:10CAB0000000000000000000000000000000000076
+:10CAC0000000000000000000000000000000000066
+:10CAD0000000000000000000000000000000000056
+:10CAE0000000000000000000000000000000000046
+:10CAF0000000000000000000000000000000000036
+:10CB00000000000000000000000000000000000025
+:10CB10000000000000000000000000000000000015
+:10CB200002020202010201010001010001010100F3
+:10CB300000000100000101010101010101010101E9
+:10CB400000000000000000000000000000000000E5
+:10CB500000000000000000000000000000000000D5
+:10CB600000000000000000000000000000000000C5
+:10CB700000000000000000000000000000000000B5
+:10CB800000000000000000000000000000000000A5
+:10CB90000000000000000000000000000000000095
+:10CBA0000000000000000000000000000000000085
+:10CBB0000000000000000000000000000000000075
+:10CBC0000000000000000000000000000000000065
+:10CBD0000000000000000000000000000000000055
+:10CBE0000000000000000000000000000000000045
+:10CBF0000000000000000000000000000000000035
+:10CC00000000000000000000000000000000000024
+:10CC10000000000000000000000000000000000014
+:10CC200002020202020202010102020001010100ED
+:10CC300000000101010101010101010101010101E6
+:10CC400000000000000000000000000000000000E4
+:10CC500000000000000000000000000000000000D4
+:10CC600000000000000000000000000000000000C4
+:10CC700000000000000000000000000000000000B4
+:10CC800000000000000000000000000000000000A4
+:10CC90000000000000000000000000000000000094
+:10CCA0000000000000000000000000000000000084
+:10CCB0000000000000000000000000000000000074
+:10CCC0000000000000000000000000000000000064
+:10CCD0000000000000000000000000000000000054
+:10CCE0000000000000000000000000000000000044
+:10CCF0000000000000000000000000000000000034
+:10CD00000000000000000000000000000000000023
+:10CD10000000000000000000000000000000000013
+:10CD200002020202020202020202020002020200E7
+:10CD300000010101010101010101010101010101E4
+:10CD400000000000000000000000000000000000E3
+:10CD500000000000000000000000000000000000D3
+:10CD600000000000000000000000000000000000C3
+:10CD700000000000000000000000000000000000B3
+:10CD800000000000000000000000000000000000A3
+:10CD90000000000000000000000000000000000093
+:10CDA0000000000000000000000000000000000083
+:10CDB0000000000000000000000000000000000073
+:10CDC0000000000000000000000000000000000063
+:10CDD0000000000000000000000000000000000053
+:10CDE0000000000000000000000000000000000043
+:10CDF0000000000000000000000000000000000033
+:10CE00000000000000000000000000000000000022
+:10CE10000000000000000000000000000000000012
+:10CE200002020202020202020202020202020200E4
+:10CE300000010101010101010101010101010101E3
+:10CE400000000000000000000000000000000000E2
+:10CE500000000000000000000000000000000000D2
+:10CE600000000000000000000000000000000000C2
+:10CE700000000000000000000000000000000000B2
+:10CE800000000000000000000000000000000000A2
+:10CE90000000000000000000000000000000000092
+:10CEA0000000000000000000000000000000000082
+:10CEB0000000000000000000000000000000000072
+:10CEC0000000000000000000000000000000000062
+:10CED0000000000000000000000000000000000052
+:10CEE0000000000000000000000000000000000042
+:10CEF0000000000000000000000000000000000032
+:10CF00000000000000000000000000000000000021
+:10CF10000000000000000000000000000000000011
+:10CF200002020202020202020202020202020200E3
+:10CF300000010101010101010101010101010101E2
+:10CF400000000000000000000000000000000000E1
+:10CF500000000000000000000000000000000000D1
+:10CF600000000000000000000000000000000000C1
+:10CF700000000000000000000000000000000000B1
+:10CF800000000000000000000000000000000000A1
+:10CF90000000000000000000000000000000000091
+:10CFA0000000000000000000000000000000000081
+:10CFB0000000000000000000000000000000000071
+:10CFC0000000000000000000000000000000000061
+:10CFD0000000000000000000000000000000000051
+:10CFE0000000000000000000000000000000000041
+:10CFF0000000000000000000000000000000000031
+:10D000000000000000000000000000000000000020
+:10D010000000000000000000000000000000000010
+:10D0200002020202020202020202020202020200E2
+:10D0300000000000000000000000000000000000F0
+:10D0400000000000000000000000000000000000E0
+:10D0500000000000000000000000000000000000D0
+:10D0600000000000000000000000000000000000C0
+:10D0700000000000000000000000000000000000B0
+:10D0800000000000000000000000000000000000A0
+:10D090000000000000000000000000000000000090
+:10D0A0000000000000000000000000000000000080
+:10D0B0000000000000000000000000000000000070
+:10D0C0000000000000000000000000000000000060
+:10D0D0000000000000000000000000000000000050
+:10D0E0000000000000000000000000000000000040
+:10D0F0000000000000000000000000000000000030
+:10D10000000000000000000000000000000000001F
+:10D11000000000000000000000000000000000000F
+:10D1200000000000000000000000000000000000FF
+:10D130000D000000000000000000000000000000E2
+:10D1400000000000000000000000000000000000DF
+:10D1500000000000000000000000000000000000CF
+:10D1600000000000000000000000000000000000BF
+:10D1700000000000000000000000000000000000AF
+:10D18000000000000000000000000000000000009F
+:10D19000000000000000000000000000000000008F
+:10D1A000000000000000000000000000000000007F
+:10D1B000000000000000000000000000000000006F
+:10D1C000000000000000000000000000000000005F
+:10D1D000000000000000000000000000000000004F
+:10D1E000000000000000000000000000000000003F
+:10D1F000000000000000000000000000000000002F
+:10D20000000000000000000000000000000000001E
+:10D21000000000000000000000000000000000000E
+:10D2200000000000000000000100000000000000FD
+:10D2300000000000000000000000000000000000EE
+:10D2400000000000000000000000000000000000DE
+:10D2500000000000000000000000000000000000CE
+:10D2600000000000000000000000000000000000BE
+:10D2700000000000000000000000000000000000AE
+:10D28000000000000000000000000000000000009E
+:10D29000000000000000000000000000000000008E
+:10D2A000000000000000000000000000000000007E
+:10D2B000000000000000000000000000000000006E
+:10D2C000000000000000000000000000000000005E
+:10D2D000000000000000000000000000000000004E
+:10D2E000000000000000000000000000000000003E
+:10D2F000000000000000000000000000000000002E
+:10D30000000000000000000000000000000000001D
+:10D31000000000000000000000000000000000000D
+:10D3200000000000000000000100000000000000FC
+:10D3300000000000000000000000000000000000ED
+:10D3400000000000000000000000000000000000DD
+:10D3500000000000000000000000000000000000CD
+:10D3600000000000000000000000000000000000BD
+:10D3700000000000000000000000000000000000AD
+:10D38000000000000000000000000000000000009D
+:10D39000000000000000000000000000000000008D
+:10D3A000000000000000000000000000000000007D
+:10D3B000000000000000000000000000000000006D
+:10D3C000000000000000000000000000000000005D
+:10D3D000000000000000000000000000000000004D
+:10D3E000000000000000000000000000000000003D
+:10D3F000000000000000000000000000000000002D
+:10D40000000000000000000000000000000000001C
+:10D41000000000000000000000000000000000000C
+:10D4200000000000000000000200000000000000FA
+:10D4300000000000000000000000000000000000EC
+:10D4400000000000000000000000000000000000DC
+:10D4500000000000000000000000000000000000CC
+:10D4600000000000000000000000000000000000BC
+:10D4700000000000000000000000000000000000AC
+:10D48000000000000000000000000000000000009C
+:10D49000000000000000000000000000000000008C
+:10D4A000000000000000000000000000000000007C
+:10D4B000000000000000000000000000000000006C
+:10D4C000000000000000000000000000000000005C
+:10D4D000000000000000000000000000000000004C
+:10D4E000000000000000000000000000000000003C
+:10D4F000000000000000000000000000000000002C
+:10D50000000000000000000000000000000000001B
+:10D51000000000000000000000000000000000000B
+:10D5200000000000000000000200000000000000F9
+:10D5300000000000000000000000000000000000EB
+:10D5400000000001000000010000000000000000D9
+:10D5500000000000000000000000000000000000CB
+:10D5600000000000000000000000000000000000BB
+:10D5700000000000000000000000000000000000AB
+:10D58000000000000000000000000000000000009B
+:10D59000000000000000000000000000000000008B
+:10D5A000000000000000000000000000000000007B
+:10D5B000000000000000000000000000000000006B
+:10D5C000000000000000000000000000000000005B
+:10D5D000000000000000000000000000000000004B
+:10D5E000000000000000000000000000000000003B
+:10D5F000000000000000000000000000000000002B
+:10D60000000000000000000000000000000000001A
+:10D61000000000000000000000000000000000000A
+:10D6200000000000000000000200010100000100F5
+:10D6300000000101000000000000000000000000E8
+:10D6400000000001000101010000000000000000D6
+:10D6500000000000000000000000000000000000CA
+:10D6600000000000000000000000000000000000BA
+:10D6700000000000000000000000000000000000AA
+:10D68000000000000000000000000000000000009A
+:10D69000000000000000000000000000000000008A
+:10D6A000000000000000000000000000000000007A
+:10D6B000000000000000000000000000000000006A
+:10D6C000000000000000000000000000000000005A
+:10D6D000000000000000000000000000000000004A
+:10D6E000000000000000000000000000000000003A
+:10D6F000000000000000000000000000000000002A
+:10D700000000000000000000000000000000000019
+:10D710000000000000000000000000000000000009
+:10D7200000000000000000000201010101010101F0
+:10D7300000010101000100000000000000000100E4
+:10D7400000000101010101010000000000000000D3
+:10D7500000000000000000000000000000000000C9
+:10D7600000000000000000000000000000000000B9
+:10D7700000000000000000000000000000000000A9
+:10D780000000000000000000000000000000000099
+:10D790000000000000000000000000000000000089
+:10D7A0000000000000000000000000000000000079
+:10D7B0000000000000000000000000000000000069
+:10D7C0000000000000000000000000000000000059
+:10D7D0000000000000000000000000000000000049
+:10D7E0000000000000000000000000000000000039
+:10D7F0000000000000000000000000000000000029
+:10D800000000000000000000000000000000000018
+:10D810000000000000000000000000000000000008
+:10D8200000000000000000000202020201010101EC
+:10D8300000010101000100000000000001010101E0
+:10D8400001010101010101010000000000000000D0
+:10D8500000000000000000000000000000000000C8
+:10D8600000000000000000000000000000000000B8
+:10D8700000000000000000000000000000000000A8
+:10D880000000000000000000000000000000000098
+:10D890000000000000000000000000000000000088
+:10D8A0000000000000000000000000000000000078
+:10D8B0000000000000000000000000000000000068
+:10D8C0000000000000000000000000000000000058
+:10D8D0000000000000000000000000000000000048
+:10D8E0000000000000000000000000000000000038
+:10D8F0000000000000000000000000000000000028
+:10D900000000000000000000000000000000000017
+:10D910000000000000000000000000000000000007
+:10D9200000000000000000000202020202020202E7
+:10D9300000020201000101000000010101010101DA
+:10D9400001010101010101010000000000000000CF
+:10D9500000000000000000000000000000000000C7
+:10D9600000000000000000000000000000000000B7
+:10D9700000000000000000000000000000000000A7
+:10D980000000000000000000000000000000000097
+:10D990000000000000000000000000000000000087
+:10D9A0000000000000000000000000000000000077
+:10D9B0000000000000000000000000000000000067
+:10D9C0000000000000000000000000000000000057
+:10D9D0000000000000000000000000000000000047
+:10D9E0000000000000000000000000000000000037
+:10D9F0000000000000000000000000000000000027
+:10DA00000000000000000000000000000000000016
+:10DA10000000000000000000000000000000000006
+:10DA200000000000000000000202020202020202E6
+:10DA300000020202000201000001010101010101D6
+:10DA400001010101010101010000000000000000CE
+:10DA500000000000000000000000000000000000C6
+:10DA600000000000000000000000000000000000B6
+:10DA700000000000000000000000000000000000A6
+:10DA80000000000000000000000000000000000096
+:10DA90000000000000000000000000000000000086
+:10DAA0000000000000000000000000000000000076
+:10DAB0000000000000000000000000000000000066
+:10DAC0000000000000000000000000000000000056
+:10DAD0000000000000000000000000000000000046
+:10DAE0000000000000000000000000000000000036
+:10DAF0000000000000000000000000000000000026
+:10DB00000000000000000000000000000000000015
+:10DB10000000000000000000000000000000000005
+:10DB200000000000000000000202020202020202E5
+:10DB300002020202000202000001010101010101D2
+:10DB400001010101010101010000000000000000CD
+:10DB500000000000000000000000000000000000C5
+:10DB600000000000000000000000000000000000B5
+:10DB700000000000000000000000000000000000A5
+:10DB80000000000000000000000000000000000095
+:10DB90000000000000000000000000000000000085
+:10DBA0000000000000000000000000000000000075
+:10DBB0000000000000000000000000000000000065
+:10DBC0000000000000000000000000000000000055
+:10DBD0000000000000000000000000000000000045
+:10DBE0000000000000000000000000000000000035
+:10DBF0000000000000000000000000000000000025
+:10DC00000000000000000000000000000000000014
+:10DC10000000000000000000000000000000000004
+:10DC200000000000000000000202020202020202E4
+:10DC300002020202020202000001010101010101CF
+:10DC400001010101010101010000000000000000CC
+:10DC500000000000000000000000000000000000C4
+:10DC600000000000000000000000000000000000B4
+:10DC700000000000000000000000000000000000A4
+:10DC80000000000000000000000000000000000094
+:10DC90000000000000000000000000000000000084
+:10DCA0000000000000000000000000000000000074
+:10DCB0000000000000000000000000000000000064
+:10DCC0000000000000000000000000000000000054
+:10DCD0000000000000000000000000000000000044
+:10DCE0000000000000000000000000000000000034
+:10DCF0000000000000000000000000000000000024
+:10DD00000000000000000000000000000000000013
+:10DD10000000000000000000000000000000000003
+:10DD200000000000000000000202020202020202E3
+:10DD300002020202020202000000000000000000D5
+:10DD400000000000000000000000000000000000D3
+:10DD500000000000000000000000000000000000C3
+:10DD600000000000000000000000000000000000B3
+:10DD700000000000000000000000000000000000A3
+:10DD80000000000000000000000000000000000093
+:10DD90000000000000000000000000000000000083
+:10DDA0000000000000000000000000000000000073
+:10DDB0000000000000000000000000000000000063
+:10DDC0000000000000000000000000000000000053
+:10DDD0000000000000000000000000000000000043
+:10DDE0000000000000000000000000000000000033
+:10DDF0000000000000000000000000000000000023
+:10DE00000000000000000000000000000000000012
+:10DE10000000000000000000000000000000000002
+:10DE200000000000000000000000000000000000F2
+:10DE300000000000000000000B00000000000000D7
+:10DE400000000000000000000000000000000000D2
+:10DE500000000000000000000000000000000000C2
+:10DE600000000000000000000000000000000000B2
+:10DE700000000000000000000000000000000000A2
+:10DE80000000000000000000000000000000000092
+:10DE90000000000000000000000000000000000082
+:10DEA0000000000000000000000000000000000072
+:10DEB0000000000000000000000000000000000062
+:10DEC0000000000000000000000000000000000052
+:10DED0000000000000000000000000000000000042
+:10DEE0000000000000000000000000000000000032
+:10DEF0000000000000000000000000000000000022
+:10DF00000000000000000000000000000000000011
+:10DF10000000000000000000000000000000000001
+:10DF200000000000000000000000000000000000F1
+:10DF300001000000000000000000000000000000E0
+:10DF400000000000000000000000000000000000D1
+:10DF500000000000000000000000000000000000C1
+:10DF600000000000000000000000000000000000B1
+:10DF700000000000000000000000000000000000A1
+:10DF80000000000000000000000000000000000091
+:10DF90000000000000000000000000000000000081
+:10DFA0000000000000000000000000000000000071
+:10DFB0000000000000000000000000000000000061
+:10DFC0000000000000000000000000000000000051
+:10DFD0000000000000000000000000000000000041
+:10DFE0000000000000000000000000000000000031
+:10DFF0000000000000000000000000000000000021
+:10E000000000000000000000000000000000000010
+:10E010000000000000000000000000000000000000
+:10E0200000000000000000000000000000000000F0
+:10E0300002000000000000000000000000000000DE
+:10E0400000000000000000000000000100000001CE
+:10E0500000000000000000000000000000000000C0
+:10E0600000000000000000000000000000000000B0
+:10E0700000000000000000000000000000000000A0
+:10E080000000000000000000000000000000000090
+:10E090000000000000000000000000000000000080
+:10E0A0000000000000000000000000000000000070
+:10E0B0000000000000000000000000000000000060
+:10E0C0000000000000000000000000000000000050
+:10E0D0000000000000000000000000000000000040
+:10E0E0000000000000000000000000000000000030
+:10E0F0000000000000000000000000000000000020
+:10E10000000000000000000000000000000000000F
+:10E1100000000000000000000000000000000000FF
+:10E1200000000000000000000000000000000000EF
+:10E1300002000101000001000000010100000000D8
+:10E1400000000000000000000000000100010101CB
+:10E1500000000000000000000000000000000000BF
+:10E1600000000000000000000000000000000000AF
+:10E17000000000000000000000000000000000009F
+:10E18000000000000000000000000000000000008F
+:10E19000000000000000000000000000000000007F
+:10E1A000000000000000000000000000000000006F
+:10E1B000000000000000000000000000000000005F
+:10E1C000000000000000000000000000000000004F
+:10E1D000000000000000000000000000000000003F
+:10E1E000000000000000000000000000000000002F
+:10E1F000000000000000000000000000000000001F
+:10E20000000000000000000000000000000000000E
+:10E2100000000000000000000000000000000000FE
+:10E2200000000000000000000000000000000000EE
+:10E2300002010101010101010001010100010000D1
+:10E2400000000000000001000000010101010101C7
+:10E2500000000000000000000000000000000000BE
+:10E2600000000000000000000000000000000000AE
+:10E27000000000000000000000000000000000009E
+:10E28000000000000000000000000000000000008E
+:10E29000000000000000000000000000000000007E
+:10E2A000000000000000000000000000000000006E
+:10E2B000000000000000000000000000000000005E
+:10E2C000000000000000000000000000000000004E
+:10E2D000000000000000000000000000000000003E
+:10E2E000000000000000000000000000000000002E
+:10E2F000000000000000000000000000000000001E
+:10E30000000000000000000000000000000000000D
+:10E3100000000000000000000000000000000000FD
+:10E3200000000000000000000000000000000000ED
+:10E3300002020202010101010001010100010000CD
+:10E3400000000000010101010101010101010101C1
+:10E3500000000000000000000000000000000000BD
+:10E3600000000000000000000000000000000000AD
+:10E37000000000000000000000000000000000009D
+:10E38000000000000000000000000000000000008D
+:10E39000000000000000000000000000000000007D
+:10E3A000000000000000000000000000000000006D
+:10E3B000000000000000000000000000000000005D
+:10E3C000000000000000000000000000000000004D
+:10E3D000000000000000000000000000000000003D
+:10E3E000000000000000000000000000000000002D
+:10E3F000000000000000000000000000000000001D
+:10E40000000000000000000000000000000000000C
+:10E4100000000000000000000000000000000000FC
+:10E4200000000000000000000000000000000000EC
+:10E4300002020202020202020002020100010100C5
+:10E4400000000101010101010101010101010101BE
+:10E4500000000000000000000000000000000000BC
+:10E4600000000000000000000000000000000000AC
+:10E47000000000000000000000000000000000009C
+:10E48000000000000000000000000000000000008C
+:10E49000000000000000000000000000000000007C
+:10E4A000000000000000000000000000000000006C
+:10E4B000000000000000000000000000000000005C
+:10E4C000000000000000000000000000000000004C
+:10E4D000000000000000000000000000000000003C
+:10E4E000000000000000000000000000000000002C
+:10E4F000000000000000000000000000000000001C
+:10E50000000000000000000000000000000000000B
+:10E5100000000000000000000000000000000000FB
+:10E5200000000000000000000000000000000000EB
+:10E5300002020202020202020002020200020100C2
+:10E5400000010101010101010101010101010101BC
+:10E5500000000000000000000000000000000000BB
+:10E5600000000000000000000000000000000000AB
+:10E57000000000000000000000000000000000009B
+:10E58000000000000000000000000000000000008B
+:10E59000000000000000000000000000000000007B
+:10E5A000000000000000000000000000000000006B
+:10E5B000000000000000000000000000000000005B
+:10E5C000000000000000000000000000000000004B
+:10E5D000000000000000000000000000000000003B
+:10E5E000000000000000000000000000000000002B
+:10E5F000000000000000000000000000000000001B
+:10E60000000000000000000000000000000000000A
+:10E6100000000000000000000000000000000000FA
+:10E6200000000000000000000000000000000000EA
+:10E6300002020202020202020202020200020200BE
+:10E6400000010101010101010101010101010101BB
+:10E6500000000000000000000000000000000000BA
+:10E6600000000000000000000000000000000000AA
+:10E67000000000000000000000000000000000009A
+:10E68000000000000000000000000000000000008A
+:10E69000000000000000000000000000000000007A
+:10E6A000000000000000000000000000000000006A
+:10E6B000000000000000000000000000000000005A
+:10E6C000000000000000000000000000000000004A
+:10E6D000000000000000000000000000000000003A
+:10E6E000000000000000000000000000000000002A
+:10E6F000000000000000000000000000000000001A
+:10E700000000000000000000000000000000000009
+:10E7100000000000000000000000000000000000F9
+:10E7200000000000000000000000000000000000E9
+:10E7300002020202020202020202020202020200BB
+:10E7400000010101010101010101010101010101BA
+:10E7500000000000000000000000000000000000B9
+:10E7600000000000000000000000000000000000A9
+:10E770000000000000000000000000000000000099
+:10E780000000000000000000000000000000000089
+:10E790000000000000000000000000000000000079
+:10E7A0000000000000000000000000000000000069
+:10E7B0000000000000000000000000000000000059
+:10E7C0000000000000000000000000000000000049
+:10E7D0000000000000000000000000000000000039
+:10E7E0000000000000000000000000000000000029
+:10E7F0000000000000000000000000000000000019
+:10E800000000000000000000000000000000000008
+:10E8100000000000000000000000000000000000F8
+:10E8200000000000000000000000000000000000E8
+:10E8300002020202020202020202020202020200BA
+:10E8400000000000000000000000000000000000C8
+:10E8500000000000000000000000000000000000B8
+:10E8600000000000000000000000000000000000A8
+:10E870000000000000000000000000000000000098
+:10E880000000000000000000000000000000000088
+:10E890000000000000000000000000000000000078
+:10E8A0000000000000000000000000000000000068
+:10E8B0000000000000000000000000000000000058
+:10E8C0000000000000000000000000000000000048
+:10E8D0000000000000000000000000000000000038
+:10E8E0000000000000000000000000000000000028
+:10E8F0000000000000000000000000000000000018
+:10E900000000000000000000000000000000000007
+:10E9100000000000000000000000000000000000F7
+:10E9200000000000000000000000000000000000E7
+:10E9300000000000000000000000000000000000D7
+:10E9400078E907000000000080390800000000009E
+:10E95000887F08000000000090C008000000000050
+:10E960009803090000000000A04309000000000017
+:10E97000A87E090000000000B0AF09000000000000
+:10E98000B8E0090000000000C0110A00000000000B
+:10E99000C8430A0000000000D0730A000000000015
+:10E9A000D8A60A0000000000E0D70A00000000001E
+:10E9B000E8070B000000000050000000000000000D
+:10E9C0000000000000000000000000000000000047
+:10E9D0000000000000000000010000000000000036
+:10E9E0000000000000000000000000000000000027
+:10E9F0000000000000000000000000000000000017
+:10EA00000000000000000000000000000000000006
+:10EA100000000000000000000000000000000000F6
+:10EA200000000000000000000000000000000000E6
+:10EA300000000000000000000000000000000000D6
+:10EA400000000000000000000000000000000000C6
+:10EA500000000000000000000000000000000000B6
+:10EA600000000000000000000000000000000000A6
+:10EA70000000000000000000000000000000000096
+:10EA80000000000000000000000001000000000085
+:10EA90000000000000000000000000000000000076
+:10EAA0000000000000000000000000000000000066
+:10EAB0000000000000000000000000000000000056
+:10EAC0000101000000000000000100000000000043
+:10EAD0000100000000000000010000000000000034
+:10EAE0000000000000000000000000000000000026
+:10EAF0000000000000000000000000000000000016
+:10EB00000000000000000000000000000000000005
+:10EB100000000000000000000000000000000000F5
+:10EB200000000000000000000000000000000000E5
+:10EB300000000000000000000000000000000000D5
+:10EB400000000000000000000000000000000000C5
+:10EB500000000000000000000000000000000000B5
+:10EB600000000000000000000000000000000000A5
+:10EB70000000000000000000000000000000000095
+:10EB80000000000000000000000001000101000082
+:10EB90000000000000000000000000000000000075
+:10EBA0000000000000000000000000000000000065
+:10EBB0000000000000000000000000000000000154
+:10EBC0000101000000000000000100000000000042
+:10EBD0000100000100000000010000000000000032
+:10EBE0000000000100000000000000000000000024
+:10EBF0000000000000000000000000000000000015
+:10EC00000000000000000000000000000000000004
+:10EC100000000000000000000000000000000000F4
+:10EC200000000000000000000000000000000000E4
+:10EC300000000000000000000000000000000000D4
+:10EC400000000000000000000000000000000000C4
+:10EC500000000000000000000000000000000000B4
+:10EC600000000000000000000000000000000000A4
+:10EC70000000000000000000000000000000000094
+:10EC80000000000000000000000001000101000081
+:10EC90000000000000000000000000000000000074
+:10ECA0000000000000000000000000000000000064
+:10ECB0000000000000000000000000000000000153
+:10ECC0000101000000000000000100000000000041
+:10ECD0000100000100000000010000000000000031
+:10ECE0000000000100000000000000000000000023
+:10ECF0000000000000000000000000000000000014
+:10ED00000000000000000000000000000000000003
+:10ED100000000000000000000000000000000000F3
+:10ED200000000000000000000000000000000000E3
+:10ED300000000000000000000000000000000000D3
+:10ED400000000000000000000000000000000000C3
+:10ED500000000000000000000000000000000000B3
+:10ED600000000000000000000000000000000000A3
+:10ED70000000000000000000000000000000000093
+:10ED80000000000000000000000001000101000080
+:10ED90000000000000000000000000000000000073
+:10EDA0000000000000000000000000000000000063
+:10EDB0000000000000000000000000000000000152
+:10EDC0000101000000000000000100000000000040
+:10EDD000010000010000000001000100000000002F
+:10EDE0000000000100000000000000000000010021
+:10EDF0000000000000000000000000000000000013
+:10EE00000000000000000000000000010000000001
+:10EE100000000000000000000000000000000000F2
+:10EE200000000000000000000000000000000000E2
+:10EE300000000000000000000000000000000000D2
+:10EE400000000000000000000000000000000000C2
+:10EE500000000000000000000000000100000000B1
+:10EE600000000000000000000000000000000000A2
+:10EE70000000000000000000000000000000000092
+:10EE8000000000000000000000000100010101007E
+:10EE9000000000000001010100000000000000006F
+:10EEA0000000000000000000000000000000000062
+:10EEB0000000000000000000000000000000000151
+:10EEC000010100000000000000010000000000003F
+:10EED000010001010000000001000100000100002C
+:10EEE0000000000100000000000000000000010020
+:10EEF0000000000000000000000000000000000012
+:10EF000001010000000000000000000100000000FE
+:10EF100000000000000000010000000000000000F0
+:10EF200000000000000000000000000000000000E1
+:10EF300000000000000000000000000000000000D1
+:10EF400000000000000000000000000000000000C1
+:10EF500000000000000000000000000100000000B0
+:10EF600000000000000000000000000000000001A0
+:10EF70000000000000000000000000000000000091
+:10EF8000000100000000000000000100010101007C
+:10EF9000000000000101010100000000000000006D
+:10EFA0000000000000000000000000000000000061
+:10EFB0000000000000000000000000000000000150
+:10EFC000010100000001000001010000000000003C
+:10EFD000010001010000000001000100000100012A
+:10EFE000000000010000000000000000000001001F
+:10EFF0000000000000000000000000000000000011
+:10F0000001010000000101010000000100000000FA
+:10F0100000010000000000010001000000000000ED
+:10F0200000000000000000000001000000000000DF
+:10F0300000000000000000000000000000000000D0
+:10F0400000000000000000000000000000000000C0
+:10F0500000000001000000000100010100000000AC
+:10F06000000000000000000000000000000000019F
+:10F070000000000000000000000000000000000090
+:10F08000000100010000000000000100010101007A
+:10F09000000000000101010100000000000000016B
+:10F0A0000000000000000000000000000000000060
+:10F0B000000000000000000000000000000000014F
+:10F0C000010100000101000001010000000000003A
+:10F0D0000100010100000000010001000001000129
+:10F0E000000000010100000000000000000001001D
+:10F0F0000000000000000000000000000000000010
+:10F1000001010000000101010001000100000000F8
+:10F1100000010000000000010001010000000000EB
+:10F1200000000000000000010001000000000000DD
+:10F1300000000000000000000000000000000000CF
+:10F1400000000000000000000000000000000000BF
+:10F1500000000001000000000100010100000000AB
+:10F16000000000000000000000000000000000019E
+:10F17000000000000000000100000000000000018D
+:10F180000001000100000000000001000101010079
+:10F190000000000001010101000100000000000169
+:10F1A000000000000000000000000000000000005F
+:10F1B000000000000000000000000000000000014E
+:10F1C0000202000001010000010100000000000037
+:10F1D0000100010100000000010001000001000128
+:10F1E000000000010100000000000000000001001C
+:10F1F000000000000000000000000000000000000F
+:10F2000001010000000101010101010100000000F5
+:10F2100000010000000000010001010000000000EA
+:10F2200000000000000000010001000000000000DC
+:10F2300000000000000000000000000000000000CE
+:10F2400000000000000000000000000000000000BE
+:10F2500000000001000000000100010100000000AA
+:10F26000000000000000000000000000000000019D
+:10F27000000000000000000100010000000000018B
+:10F280000001000100010100000001000101010076
+:10F290000000000001010101010101010000000165
+:10F2A000000000000000000000000000000000005E
+:10F2B000000000000000000000000000000000014D
+:10F2C0000202000001010000010100000000000036
+:10F2D0000100010100000000010001000101000126
+:10F2E0000100000101000000000000000001010019
+:10F2F000000000000000000000000000000000000E
+:10F3000001010000000101010101010100000000F4
+:10F3100000010001000000010101010000000000E7
+:10F3200000000000000000010001000000000000DB
+:10F3300000000000000000000000000000000000CD
+:10F3400000000000000000000000000000000000BD
+:10F3500000000001000000000100010100000000A9
+:10F36000000000000000000000000000000000019C
+:10F370000000000000000001010100000000000189
+:10F380000001010101010100000001000101010073
+:10F390000000000001010101010101010101000162
+:10F3A000000000000000000001000001000000015A
+:10F3B000000000000000000000000000000000014C
+:10F3C0000202000001010100010200000000000033
+:10F3D0000100010100000000010001000101000125
+:10F3E0000100000101000000010000000001010116
+:10F3F000000000000000000000000000000000000D
+:10F4000001010000000101010101010100000000F3
+:10F4100001010101000000010101010000010000E3
+:10F4200000000000000000010001000000000000DA
+:10F4300000000000000000000000000000000000CC
+:10F4400000000000000000000000000000010000BB
+:10F4500000000001000101010100010100000000A5
+:10F46000000000000000000000000000000000019B
+:10F470000000000000000001010100000000000188
+:10F480000001010101010101000001000101010170
+:10F490000000000001010101010101010101000161
+:10F4A0000000000000000000010000010000000159
+:10F4B000000000000000000000000000000000014B
+:10F4C0000202010001010100010200000000000031
+:10F4D0000100010100000000010001000101000124
+:10F4E0000100000101000000010000000001010115
+:10F4F000000000000000000000000000000000000C
+:10F5000001010100000101010101010100000000F1
+:10F5100001010101000000010101010000010100E1
+:10F5200000000000000000010001000000000000D9
+:10F5300000000000000000000000000000000000CB
+:10F5400000000000000000000000000000010100B9
+:10F5500000010001010101010100010100000000A2
+:10F56000000000000000000000000000000000019A
+:10F570000000000000000001010101010000000185
+:10F58000010101010101010100010100010101016D
+:10F590000000000001010101010101010101000160
+:10F5A0000000000000000000010000010000000158
+:10F5B000000000000000000000000000000000014A
+:10F5C000020201000202010002020000000000002D
+:10F5D0000200010100000000010001010101000121
+:10F5E0000100000101010000010000000001010113
+:10F5F000000000000000000000000000000000000B
+:10F6000001010100000101010101010100000001EF
+:10F6100001010101000000010101010000010100E0
+:10F6200000000000000000010001000000000000D8
+:10F6300000000000000000000000000000000000CA
+:10F6400001010000000000000000000000010100B6
+:10F6500000010001010101010100010100000000A1
+:10F660000000000000000000000000000100000198
+:10F670000000000000000001010101010100000183
+:10F68000010101010101010101010100010101016B
+:10F69000000000000101010101010101010101015E
+:10F6A0000000000000000000010000010001000156
+:10F6B0000000000000000000000000000000000149
+:10F6C000020201000202010002020000010000002B
+:10F6D000020001010000000001010101010100011F
+:10F6E0000101000101010000010100000001010110
+:10F6F000000000000000000000000000000000000A
+:10F7000001010100000101010101010100000001EE
+:10F7100001010101000000010101010000010100DF
+:10F7200000000000000000010101000000000000D6
+:10F7300000000000000000000000000000000000C9
+:10F7400001010000000000000000000000010100B5
+:10F75000010100010101010101000101000000009F
+:10F760000000000000000000000000000100000197
+:10F770000000000000000001010101010100000182
+:10F78000010101010101010101010100010101016A
+:10F79000000000000101010101010101010101015D
+:10F7A0000000000000000000010000010001000155
+:10F7B0000000000000000000000000000000000148
+:10F7C0000202020002020101020200010100000027
+:10F7D000020001020000000001010101010100011D
+:10F7E000010100010101010001010000000101010E
+:10F7F0000000000001000000000000000000000008
+:10F8000001010100000101010101010100000001ED
+:10F8100001010101000000010101010000010100DE
+:10F8200000000000000000010101000000000000D5
+:10F8300000000000000000000000000000000000C8
+:10F8400001010000000000000000000001010100B3
+:10F85000010100010101010101000101000000019D
+:10F860000001000000000000000000000100000195
+:10F870000000000000000001010101010101000180
+:10F880000101010101010101010101010101010168
+:10F89000000000000101010101010101010101015C
+:10F8A0000000000000000000010000010101000153
+:10F8B0000000000000000000000000000000000147
+:10F8C0000202020002020201020200010100000025
+:10F8D000020002020000000002010101010100011A
+:10F8E000010100010101010001010000010101010C
+:10F8F0000000000001010100000000000000000005
+:10F9000001010100000101010101010100000001EC
+:10F9100001010101000100010101010000010101DB
+:10F9200000000000000000010101000000000000D4
+:10F9300000000000000000000000000000000000C7
+:10F9400001010000000000000000000101010100B1
+:10F950000101010101010101010101010001000199
+:10F960000001000000000000000000000100010193
+:10F97000000000000000000101010101010100017F
+:10F980000101010101010101010101010101010167
+:10F99000000000000101010101010101010101015B
+:10F9A0000000000000000000010000010101010151
+:10F9B0000000000000000000000000000000000146
+:10F9C0000202020002020201020200010100000024
+:10F9D0000200020200000101020101010101000117
+:10F9E000010100020101010001010000010101010A
+:10F9F0000000000001010100000000000000000004
+:10FA000001010101000101010101010100000001EA
+:10FA100001010101010100010101010001010101D8
+:10FA200000000000000000010101000000000000D3
+:10FA300000000000000000000000000000000000C6
+:10FA400001010000000000000001000101010100AF
+:10FA50000101010101010101010101010001000198
+:10FA60000001000000000000000000000100010192
+:10FA7000000000000000000101010101010100017E
+:10FA80000101010101010101010101010101010166
+:10FA9000000000000101010101010101010101015A
+:10FAA0000000000000000000010000010101010150
+:10FAB0000000000000000000000000000000000145
+:10FAC0000202020002020201020200010100000023
+:10FAD0000200020200000101020101010101000116
+:10FAE0000101000201010100010100000101010109
+:10FAF0000000000101010101000000000000000001
+:10FB000001010101000101010101010100000001E9
+:10FB100001010101010101010101010001010101D6
+:10FB200000000000000100010101000000000000D1
+:10FB300000000000000000000000000000000000C5
+:10FB400001010000000000000101010101010101AB
+:10FB50000101010101010101010101010101000196
+:10FB60000001000000000000000000000100010191
+:10FB7000000000010000000101010101010101017B
+:10FB80000101010101010101010101010101010165
+:10FB90000000000001010101010101010101010159
+:10FBA000000000000000000001000001010101014F
+:10FBB0000000000000000000000000000000000144
+:10FBC0000202020002020202020200010100000021
+:10FBD0000200020200000101020101010101010114
+:10FBE0000201000201010100010100000101010107
+:10FBF00000010001010101010000000000000000FF
+:10FC000002010101000101010101010100000101E6
+:10FC100001010101010101010101010001010101D5
+:10FC200000000000010100010101000000000000CF
+:10FC300000000000000000000000000001010000C2
+:10FC400001010000000000000101010101010101AA
+:10FC50000101010101010101010101010101010194
+:10FC6000010100000000000000010000010001018E
+:10FC70000101000100000001010101010101010178
+:10FC80000101010101010101010101010101010164
+:10FC90000000000001010101010101010101010158
+:10FCA000000000000000000001000001010101014E
+:10FCB0000000000000000000000000000000000143
+:10FCC000020202000202020202020002020000001E
+:10FCD0000200020201000101020102010101010111
+:10FCE0000201000202010100010100000101010105
+:10FCF00000010001010101010000000100000001FC
+:10FD000002020101000101010101010100000101E4
+:10FD100001020101010101010101010101010101D2
+:10FD200000000000010101010101000100000000CC
+:10FD300000000000000000000000000101010000C0
+:10FD400001010000000000000101010101010101A9
+:10FD50000101010101010101010101010101010193
+:10FD6000010100010000000000010101010001018A
+:10FD70000101000100000001010101010101010177
+:10FD80000101010101010101010101010101010163
+:10FD90000000000001010101010101010101010157
+:10FDA000000000000000000001000001010101014D
+:10FDB0000000000000000000000000000000000142
+:10FDC000020202010202020202020002020000001C
+:10FDD0000200020201000101020102010101010110
+:10FDE0000201000202010100010100000101010104
+:10FDF00000010101010101010000000101010001F8
+:10FE000002020101000101010101010100000101E3
+:10FE100001020101010101010101010101010101D1
+:10FE200000010100010101010101000100000000C9
+:10FE300000010000000000000001000101010000BD
+:10FE400001010100000000000101010101010101A7
+:10FE50000101010101010101010101010101010192
+:10FE60000101010100000000000101010100010188
+:10FE70000101010101000001010101010101010174
+:10FE80000101010101010101010101010101010162
+:10FE90000000000001010101010101010101010156
+:10FEA000000000000000000001000001010101014C
+:10FEB0000000000000000000000000000000000141
+:10FEC000020202020202020202020002020000001A
+:10FED000020102020100010102010201010101010E
+:10FEE0000202000202010100010100000101010102
+:10FEF00000010101010101010100000101010001F6
+:10FF000002020101010101010101010100000101E1
+:10FF100002020101010101010101010101010101CF
+:10FF200000010100010101010101010100000000C7
+:10FF300000010000000000000101010101010100B9
+:10FF400001010101000000000101010101010101A5
+:10FF50000101010101010101010101010101010191
+:10FF60000101010100000000010101010100010186
+:10FF70000101010101010001010101010101010172
+:10FF80000101010101010101010101010101010161
+:10FF90000000000001010101010101010101010155
+:10FFA000000000000000000001000001010101014B
+:10FFB0000000000000000000000000000000000140
+:10FFC0000202020202020202020200020200000019
+:10FFD000020102020101010102010201010101010C
+:10FFE00002020002020101010101000101010101FF
+:10FFF00001010101010101010100000101010001F4
+:0200000280007C
+:1000000002020101010101010101010100000101E0
+:1000100002020201010101010101010101010101CD
+:1000200001010100010101010101010100000000C5
+:1000300001010000000000000101010101010100B7
+:1000400001010101000000000101010101010101A4
+:100050000101010101010101010101010101010190
+:100060000101010101000000010101010100010184
+:100070000101010101010001010101010101010171
+:100080000101010101010101010101010101010160
+:100090000000000101010101010101010101010153
+:1000A000000000000000000001000001010101014A
+:1000B000000000000000000000000000000000013F
+:1000C0000202020202020202020200020201000017
+:1000D000020102020101010102010201010101010B
+:1000E00002020102020101010201000101010101FC
+:1000F00001010101020101010100010101010101F0
+:1001000002020201010201010101010100000101DD
+:1001100002020202010101010101010101010101CB
+:1001200001010101010101010101010100000101C1
+:1001300001010001000000000101010101010100B5
+:1001400001010101000000000101010101010101A3
+:10015000010101010101010101010101010101018F
+:100160000101010101010000010101010100010182
+:100170000101010101010001010101010101010170
+:10018000010101010101010101010101010101015F
+:100190000001010101010101010101010101010150
+:1001A0000000000000000000010000010101010149
+:1001B000000000010000000000000000000000013D
+:1001C0000202020202020202020200020201010015
+:1001D0000201020202010201020202010102010106
+:1001E00002020102020201010201010101010101F9
+:1001F00001010101020101010101010101010101EE
+:1002000002020201010202010101010100000101DB
+:1002100002020202010101020101010101010101C9
+:1002200001010101010101010101010100010101BF
+:1002300001010001000000000101010101010100B4
+:1002400001010101000000000101010101010101A2
+:10025000010101010101010101010101010101018E
+:100260000101010101010000010101010100010181
+:10027000010101010101000101010101010101016F
+:10028000010101010101010101010101010101015E
+:10029000000101010101010101010101010101014F
+:1002A0000000000000000000010000010101010148
+:1002B000000001010000000000000000000000013B
+:1002C0000202020202020202020200020201010014
+:1002D0000202020202010202020202020202010101
+:1002E00002020102020201010201010101010101F8
+:1002F00001020102020201010101010101010101EA
+:1003000002020201010202020101010101000101D8
+:1003100002020202010101020101010101010101C8
+:1003200001010101010101010101010100010101BE
+:1003300001010001000000000101010101010101B2
+:1003400001010101000000000101010101010101A1
+:10035000010101020101010101010101010101018C
+:10036000010101010101010001010101010001017F
+:10037000010101010101000101010101010101016E
+:10038000010101010101010101010101010101015D
+:10039000000101010101010101010101010101014E
+:1003A0000000000100000000010000010101010146
+:1003B0000000010100010100000000000000000138
+:1003C0000202020202020202020200020201010013
+:1003D0000202020202010202020202020202010100
+:1003E00002020102020202010202010101010201F4
+:1003F00001020202020202010101010101010101E7
+:1004000002020201010202020201010101000101D6
+:1004100002020202010101020202010101010101C5
+:1004200001010101010101020101010101010101BB
+:1004300001010101000000000101010101010101B0
+:10044000020101010100000001010101010101019E
+:100450000202010201010101010101010101010189
+:10046000010101010101010001010101010101017D
+:10047000010101010101000101010101010101016D
+:10048000010201010101010101010101010101015B
+:10049000000101010101010101010101010101014D
+:1004A0000101000100000000010000010101010143
+:1004B0000001010101010100000000000000000135
+:1004C0000202020202020202020200020202010011
+:1004D00002020202020202020202020202020101FE
+:1004E00002020102020202010202010101010201F3
+:1004F00002020202020202010101010101010101E5
+:1005000002020202010202020202010201000101D2
+:1005100002020202020101020202020101010101C2
+:1005200001010101010101020102010101010101B9
+:1005300001010101000000000101010101010101AF
+:10054000020201010101000001010101010101019B
+:100550000202010201010101010101010101010188
+:10056000010101010101010101010101010101017B
+:10057000010101010101010101010101010101016B
+:10058000010201010101010101010101010101015A
+:10059000010101010101010101010101010101014B
+:1005A000010100010001010101000001010101013F
+:1005B0000001010101010101000000000000000133
+:1005C000020202020202020202020202020202000D
+:1005D00002020202020202020202020202020101FD
+:1005E00002020202020202010202010101020201F0
+:1005F00002020202020202020101010101010101E3
+:1006000002020202010202020202020201000101D0
+:1006100002020202020201020202020101010101C0
+:1006200001010101010101020102010101010101B8
+:1006300001010101000000000101010101010101AE
+:10064000020201010101000001010101010101019A
+:100650000202010202010101020101010101010185
+:10066000010101010101010101010101010101017A
+:10067000010101010101010101010101010101016A
+:100680000202010101010101010101010101010158
+:10069000010101010101010101010101010101014A
+:1006A000010101010101010101010001010101013B
+:1006B0000001010101010101000000000000000132
+:1006C000020202020202020202020202020202000C
+:1006D00002020202020202020202020202020102FB
+:1006E00002020202020202010202010101020201EF
+:1006F00002020202020202020101010101010101E2
+:1007000002020202010202020202020201010101CE
+:1007100002020202020201020202020101010101BF
+:1007200002020201020101020202010101010101B2
+:1007300001010101000000000101010101010101AD
+:100740000202010101010100010101010101010198
+:100750000202020202020101020101010101010182
+:100760000102010101010101010101010101010178
+:100770000101010101010101010101010101010169
+:100780000202020201010101010101010101010155
+:100790000101010102010101010101010101010148
+:1007A000010101010101010101010001010101013A
+:1007B0000001010101010101010000000000000130
+:1007C000020202020202020202020202020202000B
+:1007D00002020202020202020202020202020102FA
+:1007E00002020202020202010202010102020201ED
+:1007F00002020202020202020201010101010101E0
+:1008000002020202020202020202020201010101CC
+:1008100002020202020202020202020101010101BD
+:1008200002020201020201020202010101010101B0
+:1008300002020101010000000101010101010101A9
+:100840000202010101010100010101010101010197
+:10085000020202020202020102010202010101017E
+:100860000202010101010101010101010101010176
+:100870000101010101010101010101010101010168
+:100880000202020201010101010101010101010154
+:100890000101010102020101010101010101010146
+:1008A0000101010101010101010100010101010139
+:1008B000000101010101010101010000000000012E
+:1008C000020202020202020202020202020202000A
+:1008D00002020202020202020202020202020102F9
+:1008E00002020202020202020202010102020201EB
+:1008F00002020202020202020201010101010101DF
+:1009000002020202020202020202020201010101CB
+:1009100002020202020202020202020101010101BC
+:1009200002020201020201020202010101010101AF
+:1009300002020101010101010101010101010101A5
+:100940000202010101010101010101010101010195
+:10095000020202020202020202010202010101017C
+:100960000202010101010101010101010101010175
+:100970000201010101010101010101010101010166
+:100980000202020202010101010102010101010151
+:100990000101010102020201010101010101010144
+:1009A0000101010101010101010100010101010138
+:1009B000000101010101010101010101000000012B
+:1009C0000202020202020202020202020202020009
+:1009D00002020202020202020202020202020202F7
+:1009E00002020202020202020202010102020201EA
+:1009F00002020202020202020201010101010101DE
+:100A000002020202020202020202020201010101CA
+:100A100002020202020202020202020101020101BA
+:100A200002020202020202020202010101010101AC
+:100A300002020101010101010101010101010101A4
+:100A40000202020101010101010101010101010193
+:100A5000020202020202020202010202010101017B
+:100A60000202010101010101010101010101010174
+:100A70000202010101010102010101010101010163
+:100A8000020202020202010101010201010101014F
+:100A90000101010102020202010101010101010142
+:100AA0000101010101010101010100010101010137
+:100AB0000001010101010101010101010101000128
+:100AC0000202020202020202020202020202020008
+:100AD00002020202020202020202020202020202F6
+:100AE00002020202020202020202020102020201E8
+:100AF00002020202020202020202020201010101DA
+:100B000002020202020202020202020201010101C9
+:100B100002020202020202020202020101020201B8
+:100B200002020202020202020202010101010101AB
+:100B300002020102010101010101010101010101A2
+:100B40000202020101010101010101010101010192
+:100B5000020202020202020202010202010101017A
+:100B60000202020101010101010101010101010172
+:100B70000202010101010102020101010101010161
+:100B8000020202020202020101010201020101014C
+:100B90000101010102020202010101010101010141
+:100BA0000101010101010101010101010101010135
+:100BB0000001010101010101010101010101010126
+:100BC0000202020202020202020202020202020007
+:100BD00002020202020202020202020202020202F5
+:100BE00002020202020202020202020202020202E5
+:100BF00002020202020202020202020202010101D8
+:100C000002020202020202020202020201010101C8
+:100C100002020202020202020202020102020201B6
+:100C200002020202020202020202010101010101AA
+:100C300002020202010101010101010101010101A0
+:100C40000202020201010101010101010101010190
+:100C50000202020202020202020102020101010179
+:100C60000202020201010101010101010101010170
+:100C7000020202020101010202020101010101015D
+:100C8000020202020202020101010201020201014A
+:100C9000010101010202020202010101010101013F
+:100CA0000101010101010101010101010101010134
+:100CB0000001010101010101010101010101010125
+:100CC0000202020202020202020202020202020006
+:100CD00002020202020202020202020202020202F4
+:100CE00002020202020202020202020202020202E4
+:100CF00002020202020202020202020202020101D6
+:100D000002020202020202020202020201010101C7
+:100D100002020202020202020202020202020201B4
+:100D200002020202020202020202010101010101A9
+:100D3000020202020101010102010101010101019E
+:100D4000020202020101010102010101010101018E
+:100D50000202020202020202020202020101010177
+:100D6000020202020101010101010101010101016F
+:100D7000020202020101010202020101010101015C
+:100D80000202020202020202010102010202010148
+:100D9000010101010202020202020101010101013D
+:100DA0000101010101010101010101010101010133
+:100DB0000001010101010101010101010101010124
+:100DC0000202020202020202020202020202020005
+:100DD00002020202020202020202020202020202F3
+:100DE00002020202020202020202020202020202E3
+:100DF00002020202020202020202020202020101D5
+:100E000002020202020202020202020201010101C6
+:100E100002020202020202020202020202020201B3
+:100E200002020202020202020202020201010101A6
+:100E3000020202020101010102020101010101019C
+:100E4000020202020101010102020101010201018B
+:100E50000202020202020202020202020101010176
+:100E6000020202020201010101010101010101016D
+:100E70000202020202010102020202010101010159
+:100E80000202020202020202020102010202020145
+:100E9000010201010202020202020201010101013A
+:100EA0000101010101010101020101010101010131
+:100EB0000001010101010101010101010101010123
+:100EC0000202020202020202020202020202020004
+:100ED00002020202020202020202020202020202F2
+:100EE00002020202020202020202020202020202E2
+:100EF00002020202020202020202020202020101D4
+:100F000002020202020202020202020201010101C5
+:100F100002020202020202020202020202020201B2
+:100F200002020202020202020202020201010101A5
+:100F30000202020202010101020202020201010197
+:100F40000202020202010101020202020202020185
+:100F50000202020202020202020202020101010175
+:100F6000020202020201010101010101020101026A
+:100F70000202020202010102020202020101010157
+:100F80000202020202020202020202010202020143
+:100F90000202020102020202020202020101010136
+:100FA0000101010101010101020101010101010130
+:100FB0000001010101010101010101010101010122
+:100FC0000202020202020202020202020202020003
+:100FD00002020202020202020202020202020202F1
+:100FE00002020202020202020202020202020202E1
+:100FF00002020202020202020202020202020201D2
+:1010000002020202020202020202020201010202C2
+:1010100002020202020202020202020202020201B1
+:1010200002020202020202020202020201010101A4
+:101030000202020202010101020202020202010195
+:101040000202020202010101020202020202020184
+:101050000202020202020202020202020202010172
+:101060000202020202020101020201010201010266
+:101070000202020202020102020202020201010154
+:101080000202020202020202020202010202020142
+:101090000202020202020202020202020201010133
+:1010A000020101010101010102010101010101012E
+:1010B000000202010101010101010101010101021E
+:1010C0000202020202020202020202020202020002
+:1010D00002020202020202020202020202020202F0
+:1010E00002020202020202020202020202020202E0
+:1010F00002020202020202020202020202020201D1
+:1011000002020202020202020202020201010202C1
+:1011100002020202020202020202020202020202AF
+:1011200002020202020202020202020201010101A3
+:101130000202020202020101020202020202010193
+:101140000202020202020101020202020202020182
+:101150000202020202020202020202020202010171
+:101160000202020202020101020202010201010264
+:101170000202020202020102020202020201010252
+:101180000202020202020202020202010202020141
+:101190000202020202020202020202020202010131
+:1011A000020201010101010102010102010101012B
+:1011B000000202020101010101010101010101021C
+:1011C0000202020202020202020102020202020002
+:1011D00002020202020202020202020202020202EF
+:1011E00002020202020202020202020202020202DF
+:1011F00002020202020202020202020202020202CF
+:1012000002020202020202020202020202010202BF
+:1012100002020202020202020202020202020202AE
+:1012200002020202020202020202020201010101A2
+:101230000202020202020201020202020202010191
+:101240000202020202020101020202020202020181
+:10125000020202020202020202020202020202016F
+:101260000202020202020201020202020201020260
+:101270000202020202020102020202020202010250
+:10128000020202020202020202020202020202013F
+:10129000020202020202020202020202020201022F
+:1012A000020201010101010102010102010101012A
+:1012B000000202020101010101010101010101021B
+:1012C0000202020202020202010102010102020004
+:1012D00002020202020202020202020202020202EE
+:1012E00002020202020202020202020202020202DE
+:1012F00002020202020202020202020202020202CE
+:1013000002020202020202020202020202010202BE
+:1013100002020202020202020202020202020202AD
+:10132000020202020202020202020202020202019E
+:10133000020202020202020202020202020202018E
+:10134000020202020202020102020202020202017F
+:10135000020202020202020202020202020202026D
+:10136000020202020202020102020202020102025F
+:10137000020202020202010202020202020201024F
+:10138000020202020202020202020202020202013E
+:10139000020202020202020202020202020202022D
+:1013A0000202020201010101020101020101010127
+:1013B0000002020202010101010101010101010219
+:1013C0000202020202020202010102010102020003
+:1013D00002020202020202020202020202020202ED
+:1013E00002020202020202020202020202020202DD
+:1013F00002020202020202020202020202020202CD
+:1014000002020202020202020202020202010202BD
+:1014100002020202020202020202020202020202AC
+:10142000020202020202020202020202020202019D
+:10143000020202020202020202020202020202018D
+:10144000020202020202020102020202020202017E
+:10145000020202020202020202020202020202026C
+:10146000020202020202020202020202020102025D
+:10147000020202020202020202020202020202024C
+:10148000020202020202020202020202020202023C
+:10149000020202020202020202020202020202022C
+:1014A0000202020201010101020101020202010124
+:1014B0000002020202020101010101010101010217
+:1014C0000202020202010101010102010101010007
+:1014D00002020202020202020202020202020202EC
+:1014E00002020202020202020202020202020202DC
+:1014F00002020202020202020202020202020202CC
+:1015000002020202020202020202020202010202BC
+:1015100002020202020202020202020202020202AB
+:10152000020202020202020202020202020202019C
+:10153000020202020202020202020202020202018C
+:10154000020202020202020202020202020202017C
+:10155000020202020202020202020202020202026B
+:10156000020202020202020202020202020102025C
+:10157000020202020202020202020202020202024B
+:10158000020202020202020202020202020202023B
+:10159000020202020202020202020202020202022B
+:1015A0000202020202010101020101020202010221
+:1015B0000002020202020201010101010101010215
+:1015C0000202020201010101010101010101010008
+:1015D00002020202020202020202020202020202EB
+:1015E00002020202020202020202020202020202DB
+:1015F00002020202020202020202020202020202CB
+:1016000002020202020202020202020202020202BA
+:1016100002020202020202020202020202020202AA
+:10162000020202020202020202020202020202019B
+:10163000020202020202020202020202020202018B
+:10164000020202020202020202020202020202027A
+:10165000020202020202020202020202020202026A
+:10166000020202020202020202020202020102025B
+:10167000020202020202020202020202020202024A
+:10168000020202020202020202020202020202023A
+:10169000020202020202020202020202020202022A
+:1016A000020202020202010102010102020202021E
+:1016B0000002020202020201010101010101010214
+:1016C0000202020201010101010101010101010007
+:1016D00002020202020202020202020202020202EA
+:1016E00002020202020202020202020202020202DA
+:1016F00002020202020202020202020202020202CA
+:1017000002020202020202020202020202020202B9
+:1017100002020202020202020202020202020202A9
+:101720000202020202020202020202020202020299
+:10173000020202020202020202020202020202018A
+:101740000202020202020202020202020202020279
+:101750000202020202020202020202020202020269
+:10176000020202020202020202020202020102025A
+:101770000202020202020202020202020202020249
+:101780000202020202020202020202020202020239
+:101790000202020202020202020202020202020229
+:1017A000020202020202020102010102020202021C
+:1017B0000002020202020202010101010101010212
+:1017C0000201010201010101010101010101010008
+:1017D00002020202020202020202020202020202E9
+:1017E00002020202020202020202020202020202D9
+:1017F00002020202020202020202020202020202C9
+:1018000002020202020202020202020202020202B8
+:1018100002020202020202020202020202020202A8
+:101820000202020202020202020202020202020298
+:101830000202020202020202020202020202020189
+:101840000202020202020202020202020202020278
+:101850000202020202020202020202020202020268
+:101860000202020202020202020202020202020258
+:101870000202020202020202020202020202020248
+:101880000202020202020202020202020202020238
+:101890000202020202020202020202020202020228
+:1018A000020202020202020202010102020202021A
+:1018B000010202020202020202010101010101020F
+:1018C0000101010101010101010101010101010009
+:1018D00002020202020202020202020202020202E8
+:1018E00002020202020202020202020202020202D8
+:1018F00002020202020202020202020202020202C8
+:1019000002020202020202020202020202020202B7
+:1019100002020202020202020202020202020202A7
+:101920000202020202020202020202020202020297
+:101930000202020202020202020202020202020287
+:101940000202020202020202020202020202020277
+:101950000202020202020202020202020202020267
+:101960000202020202020202020202020202020257
+:101970000202020202020202020202020202020247
+:101980000202020202020202020202020202020237
+:101990000202020202020202020202020202020227
+:1019A0000202020202020202020101020202020219
+:1019B000010202020202020202010101010101020E
+:1019C0000101010101010101010101010101010008
+:1019D00002020202020202020102010202020202E9
+:1019E00002020202020202020202020202020202D7
+:1019F00002020202020202020202020202020202C7
+:101A000002020202020202020202020202020202B6
+:101A100002020202020202020202020202020202A6
+:101A20000202020202020202020202020202020296
+:101A30000202020202020202020202020202020286
+:101A40000202020202020202020202020202020276
+:101A50000202020202020202020202020202020266
+:101A60000202020202020202020202020202020256
+:101A70000202020202020202020202020202020246
+:101A80000202020202020202020202020202020236
+:101A90000202020202020202020202020202020226
+:101AA0000202020202020202020201020202020217
+:101AB000020202020202020202020101010101020B
+:101AC0000101010101010101010101010101010007
+:101AD00002020202020202020101010102020202EA
+:101AE00002020202020202020202020202020202D6
+:101AF00002020202020202020202020202020202C6
+:101B000002020202020202020202020202020202B5
+:101B100002020202020202020202020202020202A5
+:101B20000202020202020202020202020202020295
+:101B30000202020202020202020202020202020285
+:101B40000202020202020202020202020202020275
+:101B50000202020202020202020202020202020265
+:101B60000202020202020202020202020202020255
+:101B70000202020202020202020202020202020245
+:101B80000202020202020202020202020202020235
+:101B90000202020202020202020202020202020225
+:101BA0000202020202020202020201020202020216
+:101BB0000202020202020202020202010101010209
+:101BC0000101010101010101010101010101010105
+:101BD00002020201020201010101010101010202EE
+:101BE00002020202020202020202020202020202D5
+:101BF00002020202020202020202020202020202C5
+:101C000002020202020202020202020202020202B4
+:101C100002020202020202020202020202020202A4
+:101C20000202020202020202020202020202020294
+:101C30000202020202020202020202020202020284
+:101C40000202020202020202020202020202020274
+:101C50000202020202020202020202020202020264
+:101C60000202020202020202020202020202020254
+:101C70000202020202020202020202020202020244
+:101C80000202020202020202020202020202020234
+:101C90000202020202020202020202020202020224
+:101CA0000202020202020202020201020202020215
+:101CB0000202020202020202020202020101010207
+:101CC0000101010101010101010101010101010104
+:101CD00002020101010101010101010101010102F1
+:101CE00002020202020202020202020202020202D4
+:101CF00002020202020202020202020202020202C4
+:101D000002020202020202020202020202020202B3
+:101D100002020202020202020202020202020202A3
+:101D20000202020202020202020202020202020293
+:101D30000202020202020202020202020202020283
+:101D40000202020202020202020202020202020273
+:101D50000202020202020202020202020202020263
+:101D60000202020202020202020202020202020253
+:101D70000202020202020202020202020202020243
+:101D80000202020202020202020202020202020233
+:101D90000202020202020202020202020202020223
+:101DA0000202020202020202020202020202020213
+:101DB0000202020202020202020202020201010205
+:101DC0000101010101010101010101010101010103
+:101DD00001020101010101010101010101010101F2
+:101DE00002020202020202020101020202020202D5
+:101DF00002020202020202020202020202020202C3
+:101E000002020202020202020202020202020202B2
+:101E100002020202020202020202020202020202A2
+:101E20000202020202020202020202020202020292
+:101E30000202020202020202020202020202020282
+:101E40000202020202020202020202020202020272
+:101E50000202020202020202020202020202020262
+:101E60000202020202020202020202020202020252
+:101E70000202020202020202020202020202020242
+:101E80000202020202020202020202020202020232
+:101E90000202020202020202020202020202020222
+:101EA0000202020202020202020202020202020212
+:101EB0000202020202020202020202020202010203
+:101EC0000101010101010101010101010101010102
+:101ED00001020101010101010101010101010101F1
+:101EE00002020201010202020101010201010102DA
+:101EF00002020202020202020202020202020202C2
+:101F000002020202020202020202020202020202B1
+:101F100002020202020202020202020202020202A1
+:101F20000202020202020202020202020202020291
+:101F30000202020202020202020202020202020281
+:101F40000202020202020202020202020202020271
+:101F50000202020202020202020202020202020261
+:101F60000202020202020202020202020202020251
+:101F70000202020202020202020202020202020241
+:101F80000202020202020202020202020202020231
+:101F90000202020202020202020202020202020221
+:101FA0000202020202020202020202020202020211
+:101FB0000202020202020202020202020202020201
+:101FC0000101010101010101010101010101010101
+:101FD00001010101010101010101010101010101F1
+:101FE00002020201010101010101010101010102DD
+:101FF00002020202020202020202020202020202C1
+:1020000002020202020202020202020202020202B0
+:1020100002020202020202020202020202020202A0
+:102020000202020202020202020202020202020290
+:102030000202020202020202020202020202020280
+:102040000202020202020202020202020202020270
+:102050000202020202020202020202020202020260
+:102060000202020202020202020202020202020250
+:102070000202020202020202020202020202020240
+:102080000202020202020202020202020202020230
+:102090000202020202020202020202020202020220
+:1020A0000202020202020202020202020202020210
+:1020B0000202020202020202020202020202020200
+:1020C0000101010101010101010101010101010100
+:1020D00001010101010101010101010101010101F0
+:1020E00001010201010101010101010101010102DE
+:1020F00002020202010101010101010202020202C7
+:1021000002020202020202020202020202020202AF
+:10211000020202020202020202020202020202029F
+:10212000020202020202020202020202020202028F
+:10213000020202020202020202020202020202027F
+:10214000020202020202020202020202020202026F
+:10215000020202020202020202020202020202025F
+:10216000020202020202020202020202020202024F
+:10217000020202020202020202020202020202023F
+:10218000020202020202020202020202020202022F
+:10219000020202020202020202020202020202021F
+:1021A000020202020202020202020202020202020F
+:1021B00002020202020202020202020202020202FF
+:1021C00001010101010101010101010101010101FF
+:1021D00001010101010101010101010101010101EF
+:1021E00001010101010101010101010101010101DF
+:1021F00002020201010101010101010101010202CA
+:1022000002020202020202020202020202020202AE
+:10221000020202020202020202020202020202029E
+:10222000020202020202020202020202020202028E
+:10223000020202020202020202020202020202027E
+:10224000020202020202020202020202020202026E
+:10225000020202020202020202020202020202025E
+:10226000020202020202020202020202020202024E
+:10227000020202020202020202020202020202023E
+:10228000020202020202020202020202020202022E
+:10229000020202020202020202020202020202021E
+:1022A000020202020202020202020202020202020E
+:1022B00002020202020202020202020202020202FE
+:1022C00001010101010101010101010101010101FE
+:1022D00001010101010101010101010101010101EE
+:1022E00001010101010101010101010101010101DE
+:1022F00002020101010101010101010101010102CB
+:1023000002020202020202020202020202020202AD
+:10231000020202020202020202020202020202029D
+:10232000020202020202020202020202020202028D
+:10233000020202020202020202020202020202027D
+:10234000020202020202020202020202020202026D
+:10235000020202020202020202020202020202025D
+:10236000020202020202020202020202020202024D
+:10237000020202020202020202020202020202023D
+:10238000020202020202020202020202020202022D
+:10239000020202020202020202020202020202021D
+:1023A000020202020202020202020202020202020D
+:1023B00002020202020202020202020202020202FD
+:1023C00001010101010101010101010101010101FD
+:1023D00001010101010101010101010101010101ED
+:1023E00001010101010101010101010101010101DD
+:1023F00002010101010101010101010101010102CB
+:1024000002020202020101010101010102020202B3
+:10241000020202020202020202020202020202029C
+:10242000020202020202020202020202020202028C
+:10243000020202020202020202020202020202027C
+:10244000020202020202020202020202020202026C
+:10245000020202020202020202020202020202025C
+:10246000020202020202020202020202020202024C
+:10247000020202020202020202020202020202023C
+:10248000020202020202020202020202020202022C
+:10249000020202020202020202020202020202021C
+:1024A000020202020202020202020202020202020C
+:1024B00002020202020202020202020202020202FC
+:1024C00001010101010101010101010101010101FC
+:1024D00001010101010101010101010101010101EC
+:1024E00001010101010101010101010101010101DC
+:1024F00001010101010101010101010101010101CC
+:1025000001010101010101010101010102020202B7
+:10251000020202020202020101010102020202029F
+:10252000020202020202020202020202020202028B
+:10253000020202020202020202020202020202027B
+:10254000020202020202020202020202020202026B
+:10255000020202020202020202020202020202025B
+:10256000020202020202020202020202020202024B
+:10257000020202020202020202020202020202023B
+:10258000020202020202020202020202020202022B
+:10259000020202020202020202020202020202021B
+:1025A000020202020202020202020202020202020B
+:1025B00002020202020202020202020202020202FB
+:1025C00001010101010101010101010101010101FB
+:1025D00001010101010101010101010101010101EB
+:1025E00001010101010101010101010101010101DB
+:1025F00001010101010101010101010101010101CB
+:1026000001010101010101010101010101020102B8
+:1026100002010101010101010101010101010102A8
+:10262000020202020202020202020202020202028A
+:10263000020202020202020202020202020202027A
+:10264000020202020202020202020202020202026A
+:10265000020202020202020202020202020202025A
+:10266000020202020202020202020202020202024A
+:10267000020202020202020202020202020202023A
+:10268000020202020202020202020202020202022A
+:10269000020202020202020202020202020202021A
+:1026A000020202020202020202020202020202020A
+:1026B00002020202020202020202020202020202FA
+:1026C00001010101010101010101010101010101FA
+:1026D00001010101010101010101010101010101EA
+:1026E00001010101010101010101010101010101DA
+:1026F00001010101010101010101010101010101CA
+:1027000001010101010101010101010101010101B9
+:1027100001010101010101010101010101010102A8
+:10272000020202020202020101010202020202028C
+:102730000202020202020202020202020202020279
+:102740000202020202020202020202020202020269
+:102750000202020202020202020202020202020259
+:102760000202020202020202020202020202020249
+:102770000202020202020202020202020202020239
+:102780000202020202020202020202020202020229
+:102790000202020202020202020202020202020219
+:1027A0000202020202020202020202020202020209
+:1027B00002020202020202020202020202020202F9
+:1027C00001010101010101010101010101010101F9
+:1027D00001010101010101010101010101010101E9
+:1027E00001010101010101010101010101010101D9
+:1027F00001010101010101010101010101010101C9
+:1028000001010101010101010101010101010101B8
+:1028100001010101010101010101010101010101A8
+:102820000202020201010101010101010202020290
+:102830000202020202020202020202020202020278
+:102840000202020202020202020202020202020268
+:102850000202020202020202020202020202020258
+:102860000202020202020202020202020202020248
+:102870000202020202020202020202020202020238
+:102880000202020202020202020202020202020228
+:102890000202020202020202020202020202020218
+:1028A0000202020202020202020202020202020208
+:1028B00002020202020202020202020202020202F8
+:1028C00001010101010101010101010101010101F8
+:1028D00001010101010101010101010101010101E8
+:1028E00001010101010101010101010101010101D8
+:1028F00001010101010101010101010101010101C8
+:1029000001010101010101010101010101010101B7
+:1029100001010101010101010101010101010101A7
+:102920000202010101010101010101010101010294
+:102930000202020202020202020202020202020277
+:102940000202020202020202020202020202020267
+:102950000202020202020202020202020202020257
+:102960000202020202020202020202020202020247
+:102970000202020202020202020202020202020237
+:102980000202020202020202020202020202020227
+:102990000202020202020202020202020202020217
+:1029A0000202020202020202020202020202020207
+:1029B00002020202020202020202020202020202F7
+:1029C00001010101010101010101010101010101F7
+:1029D00001010101010101010101010101010101E7
+:1029E00001010101010101010101010101010101D7
+:1029F00001010101010101010101010101010101C7
+:102A000001010101010101010101010101010101B6
+:102A100001010101010101010101010101010101A6
+:102A20000101010101010101010101010101010295
+:102A3000020202020202020201010101010102027C
+:102A40000202020202020202020202020202020266
+:102A50000202020202020202020202020202020256
+:102A60000202020202020202020202020202020246
+:102A70000202020202020202020202020202020236
+:102A80000202020202020202020202020202020226
+:102A90000202020202020202020202020202020216
+:102AA0000202020202020202020202020202020206
+:102AB00002020202020202020202020202020202F6
+:102AC00001010101010101010101010101010101F6
+:102AD00001010101010101010101010101010101E6
+:102AE00001010101010101010101010101010101D6
+:102AF00001010101010101010101010101010101C6
+:102B000001010101010101010101010101010101B5
+:102B100001010101010101010101010101010101A5
+:102B20000101010101010101010101010101010195
+:102B30000202020101010101010101010101010281
+:102B40000202020202020202020202020202020265
+:102B50000202020202020202020202020202020255
+:102B60000202020202020202020202020202020245
+:102B70000202020202020202020202020202020235
+:102B80000202020202020202020202020202020225
+:102B90000202020202020202020202020202020215
+:102BA0000202020202020202020202020202020205
+:102BB00002020202020202020202020202020202F5
+:102BC00001010101010101010101010101010101F5
+:102BD00001010101010101010101010101010101E5
+:102BE00001010101010101010101010101010101D5
+:102BF00001010101010101010101010101010101C5
+:102C000001010101010101010101010101010101B4
+:102C100001010101010101010101010101010101A4
+:102C20000101010101010101010101010101010194
+:102C30000101010101010101010101010101010283
+:102C4000020202020202020201010101010101026B
+:102C50000202020202020202010201010202020257
+:102C60000202020202020202020202020202020244
+:102C70000202020202020202020202020202020234
+:102C80000202020202020202020202020202020224
+:102C90000202020202020202020202020202020214
+:102CA0000202020202020202020202020202020204
+:102CB00002020202020202020202020202020202F4
+:102CC00001010101010101010101010101010101F4
+:102CD00001010101010101010101010101010101E4
+:102CE00001010101010101010101010101010101D4
+:102CF00001010101010101010101010101010101C4
+:102D000001010101010101010101010101010101B3
+:102D100001010101010101010101010101010101A3
+:102D20000101010101010101010101010101010193
+:102D30000101010101010101010101010101010183
+:102D40000101010101010101010101010101010272
+:102D5000020202010101010101010101010101025F
+:102D60000202020202020202020202020202020243
+:102D70000202020202020202020202020202020233
+:102D80000202020202020202020202020202020223
+:102D90000202020202020202020202020202020213
+:102DA0000202020202020202020202020202020203
+:102DB00002020202020202020202020202020202F3
+:102DC00001010101010101010101010101010101F3
+:102DD00001010101010101010101010101010101E3
+:102DE00001010101010101010101010101010101D3
+:102DF00001010101010101010101010101010101C3
+:102E000001010101010101010101010101010101B2
+:102E100001010101010101010101010101010101A2
+:102E20000101010101010101010101010101010192
+:102E30000101010101010101010101010101010182
+:102E40000101010101010101010101010101010172
+:102E50000101010101010101010101010101010162
+:102E60000202020202020202020202020202020242
+:102E70000202020202020202020202020202020232
+:102E80000202020202020202020202020202020222
+:102E90000202020202020202020202020202020212
+:102EA0000202020202020202020202020202020202
+:102EB00002020202020202020202020202020202F2
+:102EC00001010101010101010101010101010101F2
+:102ED00001010101010101010101010101010101E2
+:102EE00001010101010101010101010101010101D2
+:102EF00001010101010101010101010101010101C2
+:102F000001010101010101010101010101010101B1
+:102F100001010101010101010101010101010101A1
+:102F20000101010101010101010101010101010191
+:102F30000101010101010101010101010101010181
+:102F40000101010101010101010101010101010171
+:102F50000101010101010101010101010101010161
+:102F60000202020202020202010101010102010148
+:102F70000202020202020202020202020202020231
+:102F80000202020202020202020202020202020221
+:102F90000202020202020202020202020202020211
+:102FA0000202020202020202020202020202020201
+:102FB00002020202020202020202020202020202F1
+:102FC00001010101010101010101010101010101F1
+:102FD00001010101010101010101010101010101E1
+:102FE00001010101010101010101010101010101D1
+:102FF00001010101010101010101010101010101C1
+:1030000001010101010101010101010101010101B0
+:1030100001010101010101010101010101010101A0
+:103020000101010101010101010101010101010190
+:103030000101010101010101010101010101010180
+:103040000101010101010101010101010101010170
+:103050000101010101010101010101010101010160
+:103060000101010101010101010101010101010150
+:103070000202020202020202020202020202020230
+:103080000202020202020202020202020202020220
+:103090000202020202020202020202020202020210
+:1030A0000202020202020202020202020202020200
+:1030B00002020202020202020202020202020202F0
+:1030C00001010101010101010101010101010101F0
+:1030D00001010101010101010101010101010101E0
+:1030E00001010101010101010101010101010101D0
+:1030F00001010101010101010101010101010101C0
+:1031000001010101010101010101010101010101AF
+:10311000010101010101010101010101010101019F
+:10312000010101010101010101010101010101018F
+:10313000010101010101010101010101010101017F
+:10314000010101010101010101010101010101016F
+:10315000010101010101010101010101010101015F
+:10316000010101010101010101010101010101014F
+:103170000202020202020201010101010101010138
+:10318000020202020202020202020202020202021F
+:10319000020202020202020202020202020202020F
+:1031A00002020202020202020202020202020202FF
+:1031B00002020202020202020202020202020202EF
+:1031C00001010101010101010101010101010101EF
+:1031D00001010101010101010101010101010101DF
+:1031E00001010101010101010101010101010101CF
+:1031F00001010101010101010101010101010101BF
+:1032000001010101010101010101010101010101AE
+:10321000010101010101010101010101010101019E
+:10322000010101010101010101010101010101018E
+:10323000010101010101010101010101010101017E
+:10324000010101010101010101010101010101016E
+:10325000010101010101010101010101010101015E
+:10326000010101010101010101010101010101014E
+:10327000010101010101010101010101010101013E
+:103280000202020202020202020201020101010222
+:10329000020202020202020202020202020202020E
+:1032A00002020202020202020202020202020202FE
+:1032B00002020202020202020202020202020202EE
+:1032C00001010101010101010101010101010101EE
+:1032D00001010101010101010101010101010101DE
+:1032E00001010101010101010101010101010101CE
+:1032F00001010101010101010101010101010101BE
+:1033000001010101010101010101010101010101AD
+:10331000010101010101010101010101010101019D
+:10332000010101010101010101010101010101018D
+:10333000010101010101010101010101010101017D
+:10334000010101010101010101010101010101016D
+:10335000010101010101010101010101010101015D
+:10336000010101010101010101010101010101014D
+:10337000010101010101010101010101010101013D
+:10338000010101010101010101010101010101012D
+:10339000020202020202020202020202020202020D
+:1033A00002020202020202020202020202020202FD
+:1033B00002020202020202020202020202020202ED
+:1033C00001010101010101010101010101010101ED
+:1033D00001010101010101010101010101010101DD
+:1033E00001010101010101010101010101010101CD
+:1033F00001010101010101010101010101010101BD
+:1034000001010101010101010101010101010101AC
+:10341000010101010101010101010101010101019C
+:10342000010101010101010101010101010101018C
+:10343000010101010101010101010101010101017C
+:10344000010101010101010101010101010101016C
+:10345000010101010101010101010101010101015C
+:10346000010101010101010101010101010101014C
+:10347000010101010101010101010101010101013C
+:10348000010101010101010101010101010101012C
+:103490000202020201010101010101010101010118
+:1034A00002020202020202020202020202020202FC
+:1034B00002020202020202020202020202020202EC
+:1034C00001010101010101010101010101010101EC
+:1034D00001010101010101010101010101010101DC
+:1034E00001010101010101010101010101010101CC
+:1034F00001010101010101010101010101010101BC
+:1035000001010101010101010101010101010101AB
+:10351000010101010101010101010101010101019B
+:10352000010101010101010101010101010101018B
+:10353000010101010101010101010101010101017B
+:10354000010101010101010101010101010101016B
+:10355000010101010101010101010101010101015B
+:10356000010101010101010101010101010101014B
+:10357000010101010101010101010101010101013B
+:10358000010101010101010101010101010101012B
+:10359000010101010101010101010101010101011B
+:1035A00002020202020202020202020202020202FB
+:1035B00002020202020202020202020202020202EB
+:1035C00001010101010101010101010101010101EB
+:1035D00001010101010101010101010101010101DB
+:1035E00001010101010101010101010101010101CB
+:1035F00001010101010101010101010101010101BB
+:1036000001010101010101010101010101010101AA
+:10361000010101010101010101010101010101019A
+:10362000010101010101010101010101010101018A
+:10363000010101010101010101010101010101017A
+:10364000010101010101010101010101010101016A
+:10365000010101010101010101010101010101015A
+:10366000010101010101010101010101010101014A
+:10367000010101010101010101010101010101013A
+:10368000010101010101010101010101010101012A
+:10369000010101010101010101010101010101011A
+:1036A0000202020202020202010202010101010100
+:1036B00002020202020202020202020202020202EA
+:1036C00001010101010101010101010101010101EA
+:1036D00001010101010101010101010101010101DA
+:1036E00001010101010101010101010101010101CA
+:1036F00001010101010101010101010101010101BA
+:1037000001010101010101010101010101010101A9
+:103710000101010101010101010101010101010199
+:103720000101010101010101010101010101010189
+:103730000101010101010101010101010101010179
+:103740000101010101010101010101010101010169
+:103750000101010101010101010101010101010159
+:103760000101010101010101010101010101010149
+:103770000101010101010101010101010101010139
+:103780000101010101010101010101010101010129
+:103790000101010101010101010101010101010119
+:1037A0000101010101010101010101010101010109
+:1037B00002020202020202020202020202020201EA
+:1037C00001010101010101010101010101010101E9
+:1037D00001010101010101010101010101010101D9
+:1037E00001010101010101010101010101010101C9
+:1037F00001010101010101010101010101010101B9
+:1038000001010101010101010101010101010101A8
+:103810000101010101010101010101010101010198
+:103820000101010101010101010101010101010188
+:103830000101010101010101010101010101010178
+:103840000101010101010101010101010101010168
+:103850000101010101010101010101010101010158
+:103860000101010101010101010101010101010148
+:103870000101010101010101010101010101010138
+:103880000101010101010101010101010101010128
+:103890000101010101010101010101010101010118
+:1038A0000101010101010101010101010101010108
+:1038B00002010101010101010101010101010101F7
+:1038C00000000000000000000000000000000000F8
+:1038D00000000000000000000000000000000000E8
+:1038E00000000000000000000000000000000000D8
+:1038F00000000000000000000000000000000000C8
+:1039000000000000000000000000000000000000B7
+:1039100000000000000000000000000000000000A7
+:103920000000000000000000000000000000000097
+:103930000000000000000000000000000000000087
+:103940000000000000000000000000000000000077
+:103950000000000000000000000000000000000067
+:103960000000000000000000000000000000000057
+:103970000000000000000000000000000000000047
+:103980000000000000000000000000000000000037
+:103990000000000000000000000000000000000027
+:1039A0000000000000000000000000000000000017
+:1039B0000000000000000000000000000000000007
+:1039C00046000000000000000000000000000000B1
+:1039D00000010000000000000000000000000000E6
+:1039E00000000000000000000000000000000000D7
+:1039F00000000000000000000000000000000000C7
+:103A000000000000000000000000000000000000B6
+:103A100000000000000000000000000000000000A6
+:103A20000000000000000000000000000000000096
+:103A30000000000000000000000000000000000086
+:103A40000000000000000000000000000000000076
+:103A50000000000000000000000000000000000066
+:103A60000000000000000000000000000000000056
+:103A70000000000000000000000000000000000046
+:103A80000000000000000000000000000000000036
+:103A90000000000000000000000000000000000026
+:103AA0000000000000000000000000000000000016
+:103AB0000000000000000000000000000000000006
+:103AC00000000000000000000000000000000000F6
+:103AD00001010000000000000000000000000000E4
+:103AE00000000000000000000000000000000000D6
+:103AF00000000000000000000000000000000000C6
+:103B000000000000000000000000000000000000B5
+:103B100000000000000000000000000000000000A5
+:103B20000000000000000000000000000000000095
+:103B30000000000000000000000000000000000085
+:103B40000000000000000000000000000000000075
+:103B50000000000000000000000000000000000065
+:103B60000000000000000000000000000000000055
+:103B70000000000000000000000000000000000045
+:103B80000000000000000000000000000000000035
+:103B90000000000000000000000000010000000024
+:103BA0000000000000000000000000010000000014
+:103BB0000000000000000000000000000000000005
+:103BC00000000000010100000000000000000000F3
+:103BD00001010000000000000000000000000000E3
+:103BE00000000000000000000000000000000000D5
+:103BF00000000000000000000000000000000000C5
+:103C000000000000000000000000000000000000B4
+:103C100000000000000000000000000000000000A4
+:103C20000000000000000000000000000000000094
+:103C30000000000000000000000000000000000084
+:103C40000000000000000000000000000000000074
+:103C50000000000000000000000000000000000064
+:103C60000000000000000000000000000000000054
+:103C70000000000000000000000000000000000044
+:103C80000000000000000000000000000000000034
+:103C90000000000000000000000100010000000022
+:103CA0000000000000000000000100010000000012
+:103CB0000000000000000000000000000000000004
+:103CC00000000000010100000000000001000000F1
+:103CD00001010000000000000000000000000000E2
+:103CE00000000000000000000000000000000000D4
+:103CF00000000000000000000000000000000000C4
+:103D000000000000000000000000000000000000B3
+:103D100000000000000000000000000000000000A3
+:103D20000000000000000000000000000000000093
+:103D30000000000000000000000000000000000083
+:103D40000000000000000000000000000000000073
+:103D50000000000000000000000000000000000063
+:103D60000000000000000100000000000000000052
+:103D70000000000000000000000000000000000043
+:103D80000000000000000000000000000000000033
+:103D90000000000000000000000101010000000020
+:103DA0000000000000000000000101010000000010
+:103DB0000000000000000000000000000000000003
+:103DC00000000000010100000000000001000000F0
+:103DD00001010000000000000000000000000000E1
+:103DE00000000000000000000000000000000100D2
+:103DF00000000000000000000000000000000000C3
+:103E000000000000000000000000000000000000B2
+:103E100000000000000000000000000000000000A2
+:103E20000000000000000001000000000000000091
+:103E30000000000000000000000000000000000082
+:103E40000000000000000000000000000000000072
+:103E50000000000000000000000000000000000062
+:103E60000000000000000100000000000000000051
+:103E70000000000000000000000000000000000042
+:103E80000000000000000000000000000000000032
+:103E9000000000000000000001010101010001001C
+:103EA000000000000000000000010101010000000E
+:103EB0000000000000000000000000000000000002
+:103EC00000000000010100000000000001000001EE
+:103ED00001010000000000000000000000000000E0
+:103EE00000000000000000000000000000000100D1
+:103EF00000000000000000000000000000000000C2
+:103F000000000000000000000000000000000000B1
+:103F100000000000000000000000000000000000A1
+:103F20000000000000000001000000000000000090
+:103F30000000000000000000000000000000000081
+:103F40000000000000000000000000000000000071
+:103F50000000000000000000000000000000000061
+:103F60000000000000000100000000000000000050
+:103F70000000000000000000000000000000000041
+:103F80000000000000000000000000000000000031
+:103F9000000000000000000001010101010001001B
+:103FA000000000000000000000010101010000000D
+:103FB0000000000000000000000000000000000001
+:103FC00000000000010100000000000001000001ED
+:103FD00001010001000000000000000000000000DE
+:103FE00000000000000000000000000000010100CF
+:103FF00000000000000000000001000000000101BE
+:1040000000000100000000000000000000000000AF
+:1040100000000000000000000000000000000000A0
+:10402000000000000000000100000000000000008F
+:104030000000000000000000000000000000000080
+:104040000000000000000000000000000000000070
+:104050000000000000000000000000000000000060
+:10406000000000000000010000000000000000004F
+:104070000000000000000000000000000000000040
+:104080000000000000000000000000000000000030
+:104090000000000000000000010101010101010019
+:1040A000000000000000000000010101010100010A
+:1040B0000000000000000000000000000000000000
+:1040C00000000000010100000000000001000001EC
+:1040D00002020001000000000100000000000000DA
+:1040E00000000000000000000000000000010100CE
+:1040F00000000000000000000001000000000101BD
+:1041000000000100000000000000000000000000AE
+:10411000010000000000000000000000000000009E
+:10412000000000000000000100000000000000008E
+:10413000000000000000000000000000000000007F
+:10414000000000000000000000000000000000006F
+:10415000000000000000000000000000000000005F
+:10416000000000000000010000000000000000004E
+:10417000000000000000000000000000000000003F
+:10418000000000000000000000000000000000002F
+:104190000000000000000000010101010101010018
+:1041A0000000000000000000000101010101000109
+:1041B00000000000000000000000000000000000FF
+:1041C00000000000010100000000000001000001EB
+:1041D00002020001000001000100010000000000D7
+:1041E00000000000000000000000000000010100CD
+:1041F00000000000000000000001000000010101BB
+:1042000001000100000000000000000000000000AC
+:10421000010000000000000100000000000000009C
+:10422000000000000000000100000000000000008D
+:10423000000000000000000000000000000000007E
+:10424000000000000000000000000000000000006E
+:10425000000000000000000000000000000101015B
+:10426000000000000000010000000000000000004D
+:10427000000000000000000000000000000000003E
+:10428000000000000000000000000000000000002E
+:104290000000000000000000010101010101010017
+:1042A0000000000000000000000101010101000108
+:1042B00000000000000000000000000000000000FE
+:1042C00000000000010100000000000002000001E9
+:1042D00002020001000001000100010000000001D5
+:1042E00000000000000000000000000000010100CC
+:1042F00000000000000000000001010100010101B8
+:1043000001000100000000000000000000000000AB
+:104310000100000000000001000000000001010099
+:10432000000000000000000100000000000000008C
+:10433000000000000000000001000000000000007C
+:10434000000000000000000000000000000000006D
+:10435000000000000000000000000000000101015A
+:10436000000000000000010000000000000000004C
+:10437000000000000000000000000000000000003D
+:10438000000000000000000000000101000000002B
+:104390000000000000000000010101010101010016
+:1043A0000000000000000101000101010101000105
+:1043B00000000001000000000000000000000000FC
+:1043C00000000000010100000000000002000001E8
+:1043D00002020001000001000100010000000001D4
+:1043E00000000000000000010000000000010100CA
+:1043F00000000000000000000001010100010101B7
+:1044000001000100000000000000000100000000A9
+:104410000101000000000001000000000001010097
+:10442000000000000000000100000000000000008B
+:10443000000000000000000001000000000000007B
+:10444000000000000000000000000000000000006C
+:104450000000000100000000000000000001010158
+:10446000000000000000010000000100000000004A
+:10447000000000000000000000000000000000003C
+:104480000000000000000000000101010000000029
+:104490000000000000000000010101010101010015
+:1044A0000000000000000101000101010101010103
+:1044B00001000001000000000000000000000000FA
+:1044C00000000000010100000100000002000002E5
+:1044D00002020001000001000100010000010001D2
+:1044E00000000000000000010000000000010100C9
+:1044F00000000000000000000001010100010101B6
+:1045000001000100000000000000000100000000A8
+:104510000101000000000001000100000001010095
+:10452000000000000000000100000000000000008A
+:104530000000000000000000010100000000010078
+:10454000000000000000000000000000000000006B
+:104550000000000100000000000000000001010157
+:104560000000000000000100010101000000000047
+:10457000000000000000000000000000000000003B
+:104580000000000000000000000101010000000028
+:104590000000000000000000010101010101010014
+:1045A0000001000000010101000101010101010100
+:1045B00001000001000000000000000000000000F9
+:1045C00000000000010100000100000002000002E4
+:1045D00002020001000001000100010000010001D1
+:1045E00000000000010000010000000000010100C7
+:1045F00000000000000000000001010100010101B5
+:1046000001000100000000000000000100000000A7
+:104610000101000000000101000100000001010093
+:104620000000000101000001000000000000000087
+:104630000000000000000000010101000000010076
+:104640000000000000000001000000000000000069
+:104650000000000100000000000000000001010156
+:104660000000000000000100010101010000000045
+:104670000000000000000001000000000000000039
+:104680000000000000000000000101010100000026
+:104690000000000000000000010101010101010013
+:1046A00001010000000101010001010101010101FE
+:1046B00001000001000000000000000000000000F8
+:1046C00000000000010100000101000002000002E2
+:1046D00002020002000001000100010000010101CE
+:1046E00000000000010000010000000000010100C6
+:1046F00000000000000000000001010100010101B4
+:1047000001000100010000000100000100000000A4
+:104710000101000000000101000100000001010191
+:104720000000000101000001000000000000000086
+:104730000000000000000000010101000001010173
+:104740000000000000000001000000000000000068
+:104750000000000100000000000000000001010155
+:104760000000000000010100010101010000000043
+:104770000000000000000001000000000000000038
+:104780000000000000000100000101010100000024
+:104790000000000000000000010101010101010012
+:1047A00001010000010101010001010101010101FC
+:1047B00001010001000001010000000000000000F4
+:1047C00000000000010100000101010002000002E0
+:1047D00002020002000001000100010000010101CD
+:1047E00000000000010000010000000000010100C5
+:1047F00000000000000000000001010100010101B3
+:1048000001000100010000000100000100000000A3
+:10481000010100000100010100010100000101018E
+:104820000000000101000001000000000000000085
+:104830000001000000000001010101000001010170
+:104840000000000000000001000000010000000066
+:104850000000000100000000010000000001010153
+:104860000000000000010100010101010000000042
+:104870000000000000000101000000000100000035
+:104880000000000000000100000101010101010120
+:104890000000000000000000010101010101010011
+:1048A00001010100010101010001010101010101FA
+:1048B00001010001000001010000000000000000F3
+:1048C00000000000010100000201010002010002DD
+:1048D00002020002000001000101010000010101CB
+:1048E00000000000010000010000000000010100C4
+:1048F00000000000000000000001010100010101B2
+:1049000001000100010000000100000100000000A2
+:10491000010100000100010100010100000101018D
+:104920000100010101000001000000000000000082
+:10493000000100000000000101010100000101016F
+:104940000000000000000001000000010000000065
+:104950000000000100000000010000000001010152
+:104960000000000000010101010101010000000040
+:104970000000000000000101000000000100000034
+:10498000000000000000010000010101010101011F
+:10499000000000010000000101010101010101000E
+:1049A00001010100010101010001010101010101F9
+:1049B00001010001010101010000000000000000F0
+:1049C00000000000010100000202010102010002DA
+:1049D00002020002000001000201010000010101C9
+:1049E00000000000010000010000000000010100C3
+:1049F00000000000000000000001010100010101B1
+:104A000001000100010000000100000100000000A1
+:104A1000010100000100010100010100000101018C
+:104A20000100010101000001000000000000000081
+:104A3000000100010000000101010100000101016D
+:104A40000000000100000001000000010000000063
+:104A5000000000010100010001010000000101014E
+:104A6000010000000001010101010101000000003E
+:104A70000000000000000101000000000101010130
+:104A8000000000000000010000010101010101011E
+:104A9000000000010000000101010101010101000D
+:104AA00001010100010101010001010101010101F8
+:104AB00001010101010101010000000000000000EE
+:104AC00000000000010100000202020102020102D6
+:104AD00002020002000002000201010000010101C7
+:104AE00000000000010000010000000000010100C2
+:104AF00000000000000000000002010100010101AF
+:104B0000010001010100000001000001000000009F
+:104B1000010100000100010101010100000101018A
+:104B2000010001010100000101000000000000007F
+:104B3000000101010000000101010100000101016B
+:104B40000000000100000001010000010000000061
+:104B5000000000010100010001010100000101014C
+:104B60000101000101010101010101010100010038
+:104B7000000000000000010100000000010101012F
+:104B8000000000000000010000010101010101011D
+:104B9000000000010000010101010101010101000B
+:104BA00001010100010101010001010101010101F7
+:104BB00001010101010101010000000000000000ED
+:104BC00000000000010100000202020202020102D4
+:104BD00002020002000002000201020000010101C5
+:104BE00000000000010000010000000000020200BF
+:104BF00000000000000000000002010101010101AD
+:104C0000010001010100000001000001000000009E
+:104C10000101000001000101010101000001010189
+:104C2000010101010100010101000000000000007C
+:104C30000001010100010001010101000001010169
+:104C40000000000100000001010000010000000060
+:104C5000000100010100010001010100000101014A
+:104C60000101000101010101010101010100010037
+:104C7000000000000000010100000000010101012E
+:104C8000000000000000010001010101010101011B
+:104C90000100000100000101010101010101010009
+:104CA00001010100010101010001010101010101F6
+:104CB00001010101010101010000000000000000EC
+:104CC00000000000010100000202020202020202D2
+:104CD00002020002000002000201020001010101C3
+:104CE00000000000010000010000000100020200BD
+:104CF00000000000000000000002010101010101AC
+:104D0000010001010100010101000001000000009B
+:104D10000101000001000101010101000001010188
+:104D2000010101010100010101000000000000007B
+:104D30000001010100010001010101000001010168
+:104D4000010000010000000101010001010000005C
+:104D50000001000101000100010101010001010148
+:104D60000101000101010101010101010101010134
+:104D7000000000000000010100000000010101012D
+:104D80000000000100010100010101010101010118
+:104D90000101000100010101010101010101010006
+:104DA00001010100010101010001010101010101F5
+:104DB00001010101010101010000010100000000E9
+:104DC00000000000010100000202020202020202D1
+:104DD00002020002000102000201020001020101C0
+:104DE00000000000010000010100000100020201BA
+:104DF00000000000000000000002020101010101AA
+:104E00000100010101000101010001010000000099
+:104E10000101000001000101010101000001010187
+:104E2000010101010100010101000000000000007A
+:104E30000001010100010001010101000001010167
+:104E40000100000101000101010100010100000059
+:104E50000001000101000100010101010001010147
+:104E60000101010101010101010101010101010132
+:104E7000000000000000010100000000010101012C
+:104E80000100000100010100010101010101010116
+:104E90000101000100010101010101010101010005
+:104EA00001010100010101010001010101010101F4
+:104EB00001010101010101010001010100000000E7
+:104EC00000000000010100000202020202020202D0
+:104ED00002020202000102000202020001020102BB
+:104EE00000000000010000010100000100020201B9
+:104EF00000000001010001010002020201020201A2
+:104F00000100010101000101010001010000000098
+:104F10000101000001000101010101000001010186
+:104F20000101010101000101010000000100000078
+:104F30000001010100010001020101000001010165
+:104F40000100000101000101010100010101000057
+:104F50000001010101000100010101010001010145
+:104F60000101010101010101010101010101010131
+:104F7000000000000000010100000000010101012B
+:104F80000100000100010100010101010101010115
+:104F90000101000101010101010101010101010003
+:104FA00001010100010101010001010101010101F3
+:104FB00001010101010101010001010100000000E6
+:104FC00000000000010100000202020202020202CF
+:104FD00002020202000102000202020001020202B9
+:104FE00000000001010000010100000100020201B7
+:104FF000010000010100010100020202010202029F
+:105000000100020101000101020001010000000095
+:105010000101000001010101010201010001010182
+:105020000101010101000101010000000100000077
+:105030000001010101010001020101010001010162
+:105040000100000101000101010101010101000055
+:105050000001010101010100010101010001010143
+:105060000101010101010101010101010101010130
+:105070000000000000010101000000000101010129
+:105080000100000100010100010101010101010114
+:1050900001010101010101010202010101010100FF
+:1050A00001010100010101010002010101010101F1
+:1050B00001010101010101010001010101000000E4
+:1050C00000000000010100000202020202020202CE
+:1050D00002020202000102000202020001020202B8
+:1050E00000000001020000010100000100020201B5
+:1050F000010000010100010100020202010202029E
+:105100000200020101000101020001020000000092
+:105110000101000001010101010201010001010181
+:105120000101010101000101010100000101000074
+:105130000001010101010001020201010001010160
+:105140000100000101000101010101010101010152
+:105150000001010101010100010101010001010142
+:10516000010101010101010101010101010101012F
+:105170000000000000010101000000000101010128
+:105180000101000100010100010101010101010112
+:1051900001010101010101010202010101010100FE
+:1051A00001010100010101010002010101010101F0
+:1051B00001010101010101010001010101000000E3
+:1051C00000000000010100000202020202020202CD
+:1051D00002020202000202000202020002020202B5
+:1051E00000000001020001010200000101020201B1
+:1051F000010000010100010100020202010202029D
+:105200000200020101000101020001020000000091
+:10521000020100000101010101020101000201017E
+:105220000101010101000101010100000101000073
+:10523000000101010101000102020101000101015F
+:105240000101000101000101010101010101010150
+:10525000000101010101010101010101010101013F
+:10526000010101010101010101010101010101012E
+:105270000000000100010101000000000101010126
+:105280000101000100010100010101010101010111
+:1052900001010101010101010202020201010100FB
+:1052A00001010100010101010002020201010101ED
+:1052B00001010101010101010001010101010101DF
+:1052C00000000000010100000202020202020202CC
+:1052D00002020202000202000202020002020202B4
+:1052E00000000001020001010200000201020201AF
+:1052F000010100010100010100020202010202029B
+:105300000200020101000101020001020000000090
+:10531000020100000101010102020201000202017A
+:105320000101010101000101020100000101010070
+:10533000000101010101000102020201000101015D
+:10534000010100010100010101010101010101014F
+:10535000000101010101010101010101010101013E
+:10536000010101010101010102010101010101012C
+:105370000100000100010101000001000101010123
+:10538000010100010101010101010101010101010E
+:1053900001010101010101010202020201010100FA
+:1053A00001010100010101010002020201010101EC
+:1053B00001010101010101010001010101010101DE
+:1053C00000000000010100000202020202020202CB
+:1053D00002020202000202000202020002020202B3
+:1053E00000010001020001010200000201020201AD
+:1053F0000101000101000101010202020202020298
+:10540000020002010100010102000102000000008F
+:105410000202000001010101020202010002020178
+:10542000010101010100010102010100010101006E
+:10543000000101010101010102020201000101015B
+:10544000010100010100010101010101010101014E
+:10545000000101010101010102010101010101013C
+:10546000010101010101010102020101010101012A
+:105470000100000100010101010101000101010120
+:10548000010101010101010101010101010101010C
+:1054900001010101010101010202020202010100F8
+:1054A00001010100010101010002020202010101EA
+:1054B00001010101010101010001010101010101DD
+:1054C00000000000010100000202020202020202CA
+:1054D00002020202000202000202020002020202B2
+:1054E00001010101020001010200000201020202A9
+:1054F0000101000101000101010202020202020297
+:105500000201020101000101020101020001010189
+:105510000202010001010101020202010102020175
+:10552000010101010100010102010100010101006D
+:105530000001010101010101020202010102020157
+:10554000010100010100010102010101010101014C
+:10555000000101010101010102010101010201013A
+:105560000101010101010101020202010101010128
+:10557000010000010001010101010100010101011F
+:10558000010101010101010101020101010101010A
+:1055900001010101010101010202020202010100F7
+:1055A00001010101010101010002020202010101E8
+:1055B00001010101010101010001010101010101DC
+:1055C00000000000010100000202020202020202C9
+:1055D00002020202010202000202020002020202B0
+:1055E00001010101020001010200000202020202A7
+:1055F0000201010101000101010202020202020294
+:105600000201020102000101020102020001010186
+:105610000202010001010101020202010102020273
+:10562000010101010100010102010100010101006C
+:105630000001010101010101020202010102020156
+:10564000010100010100010102010102010101014A
+:105650000001010101010101020201010102020137
+:105660000101010101010101020202010101010127
+:10567000010000010101010101010100010101011D
+:105680000101010101010101010202010101010108
+:1056900001010101010101010202020202020201F3
+:1056A00001010101010101010002020202020101E6
+:1056B00001010101010101010001010101010101DB
+:1056C00000000000010100000202020202020202C8
+:1056D00002020202020202000202020002020202AE
+:1056E00001020101020001020200010202020202A3
+:1056F0000201010101000101020202020202020292
+:105700000201020102010101020102020001010184
+:105710000202010001010101020202010102020272
+:105720000201010101000101020201000101010168
+:105730000002010101010101020202010102020253
+:105740000101000101000101020201020101010148
+:105750000101010101010101020201010102020234
+:105760000101010101010101020202020101010125
+:10577000010000010101010101010101010101011B
+:105780000101010101010101010202020101010106
+:1057900001010101010101010202020202020201F2
+:1057A00001010101010101010002020202020101E5
+:1057B00001010101010101010001010101010101DA
+:1057C00000000001010100010202020202020202C5
+:1057D00002020202020202000202020102020202AC
+:1057E000020202020200010202000102020202029F
+:1057F000020201020200010102020202020202028E
+:105800000201020102010101020102020001010183
+:10581000020201000201010102020202010202026F
+:105820000201020202010102020201010201010160
+:105830000002010101010101020202010102020252
+:105840000101000101000101020201020101010147
+:105850000101010101010101020202010102020232
+:105860000101010101010101020202020101010124
+:105870000101000101010101010101010201010118
+:105880000101010101010101020202020101010104
+:1058900001010101010101010202020202020201F1
+:1058A00001010101010101010002020202020102E3
+:1058B00001010101010101010001010101010101D9
+:1058C00001000001020100010202020202020202C2
+:1058D00002020202020202000202020202020202AA
+:1058E000020202020200010202000202020202029D
+:1058F000020201020200010102020202020202028D
+:105900000201020202010101020202020001010180
+:10591000020201000201010102020202010202026E
+:10592000020202020201010202020101020101015E
+:10593000010202010101010102020202010202024E
+:105940000101010101000101020201020201010144
+:105950000101010201010101020202010102020230
+:105960000101010101010201020202020101010122
+:105970000101010101010101010101010201010116
+:105980000101010101010101020202020201010102
+:1059900001010101010101010202020202020201F0
+:1059A00001010101010101010002020202020202E1
+:1059B00001010101010101010001010101010101D8
+:1059C00001010001020201010202020202020202BE
+:1059D00002020202020202000202020202020202A9
+:1059E000020202020200010202020202020202029A
+:1059F000020202020200010102020202020202028B
+:105A0000020102020201010102020202000101017F
+:105A1000020201010201010202020202010202026B
+:105A2000020202020201010202020201020201015B
+:105A3000010202020101010102020202010202024C
+:105A40000201010101010101020202020201010140
+:105A5000010101020101010102020202010202022E
+:105A60000101010101010201020202020201010120
+:105A70000101010101010101010101010202010114
+:105A80000101010101010101020202020201010101
+:105A900001010101010101010202020202020201EF
+:105AA00001010101010101010002020202020202E0
+:105AB00002010101010101010002010101010101D5
+:105AC00001010101020201010202020202020202BC
+:105AD00002020202020202000202020202020202A8
+:105AE0000202020202000102020202020202020299
+:105AF0000202020202010101020202020202020289
+:105B0000020202020201010102020202010201017B
+:105B10000202010102010202020202020202020268
+:105B2000020202020201010202020201020201015A
+:105B3000010202020101010102020202010202024B
+:105B4000020101020101010102020202020201013D
+:105B5000010201020101010102020202010202022C
+:105B6000020101010101020102020202020101011E
+:105B70000101010101010101020101010202020111
+:105B800001010101010101010202020202020101FF
+:105B900001010101010101010202020202020201EE
+:105BA00002020101010101010002020202020202DD
+:105BB00002010101010101010002020101010101D3
+:105BC00001010101020201010202020202020202BB
+:105BD00001010202020202000202020202020202A9
+:105BE0000202020202010102020202020202020297
+:105BF0000202020202010101020202020202020288
+:105C00000202020202010101020202020102020179
+:105C10000202010102010202020202020202020267
+:105C20000202020202010102020202010202020158
+:105C30000102020201010101020202020202020249
+:105C4000020101020101010102020202020201013C
+:105C5000010201020201010102020202010202022A
+:105C6000020201010101020102020202020202011A
+:105C7000010101010101010102020101020202020E
+:105C800001010101010101010202020202020201FD
+:105C900001010101010101010202020202020201ED
+:105CA00002020101010101010102020202020202DB
+:105CB00002020102010101010002020201010101CF
+:105CC00001010101020201010202020202020202BA
+:105CD00001010201020202000202020202020202A9
+:105CE0000202020202010102020202020202020296
+:105CF0000202020202010201020202020202020286
+:105D00000202020202010101020202020102020277
+:105D10000202020102010202020202020202020265
+:105D20000202020202010102020202020202020156
+:105D30000102020202020101020202020202020246
+:105D40000202010202010102020202020202020137
+:105D50000102020202010101020202020202020227
+:105D60000202010101020201020202020202020118
+:105D7000010101010101010102020201020202020C
+:105D800001010101010101010202020202020202FB
+:105D900001010101010101010202020202020201EC
+:105DA00002020201010101010102020202020202D9
+:105DB00002020102010101010002020201010101CE
+:105DC00001010101020201010202020202020201BA
+:105DD00001010201020201000202020202020202A9
+:105DE0000202020202010102020202020202020295
+:105DF0000202020202010201020202020202020285
+:105E00000202020202010201020202020202020274
+:105E10000202020102010202020202020202020264
+:105E20000202020202010102020202020202020155
+:105E30000102020202020102020202020202020244
+:105E40000202010202010102020202020202020235
+:105E50000102020202010101020202020202020226
+:105E60000202020202020201020202020202020213
+:105E7000010101010101010102020201020202020B
+:105E800002010101010101010202020202020202F9
+:105E900001010101010101010202020202020201EB
+:105EA00002020201020202010102020202020202D5
+:105EB00002020202010101010002020202010101CB
+:105EC00001010101020201010202020202020201B9
+:105ED00001010101020201000202020202020202A9
+:105EE0000202020202010202020202020202020293
+:105EF0000202020202010202020202020202020283
+:105F00000202020202010201020202020202020273
+:105F10000202020102020202020202020202020262
+:105F20000202020202010202020202020202020252
+:105F30000102020202020102020202020202020243
+:105F40000202010202010102020202020202020234
+:105F50000102020202010201020202020202020224
+:105F60000202020202020201020202020202020212
+:105F7000010101010101010102020201020202020A
+:105F800002010101010102010202020202020202F7
+:105F900002010101010101010202020202020201E9
+:105FA00002020201020202020102020202020202D3
+:105FB00002020202020101010002020202010101C9
+:105FC00001010101020201010202020201020201B9
+:105FD00001010101020101000202020202020202A9
+:105FE0000202020202010202020202020202020292
+:105FF0000202020202010202020202020202020282
+:106000000202020202010202020202020202020271
+:106010000202020102020202020202020202020261
+:106020000202020202010202020202020202020251
+:106030000202020202020102020202020202020241
+:106040000202010202010202020202020202020232
+:106050000102020202010201020202020202020223
+:106060000202020202020201020202020202020211
+:106070000101010101010202020202020202020206
+:1060800002020102010102010202020202020202F4
+:1060900002020102010101010202020202020201E6
+:1060A00002020201020202020202020202020202D1
+:1060B00002020202020202010002020202020101C5
+:1060C00001010101020201010202020201010101BA
+:1060D00001010101020101000202020202020202A8
+:1060E0000202020202010202020202020202020291
+:1060F0000202020202010202020202020202020281
+:106100000202020202010202020202020202020270
+:106110000202020102020202020202020202020260
+:106120000202020202010202020202020202020250
+:106130000202020202020102020202020202020240
+:106140000202020202010202020202020202020230
+:106150000202020202020201020202020202020220
+:10616000020202020202020202020202020202020F
+:106170000201010101010202020202020202020204
+:1061800002020102010202010202020202020202F2
+:1061900002020102010101010202020202020201E5
+:1061A00002020201020202020202020202020202D0
+:1061B00002020202020202020002020202020201C2
+:1061C00001010101020201010202020201010101B9
+:1061D00001010101010101000202020202020202A8
+:1061E000020202020202020202020202020202028F
+:1061F000020202020202020202020202020202027F
+:10620000020202020202020202020202020202026E
+:10621000020202010202020202020202020202025F
+:10622000020202020201020202020202020202024F
+:10623000020202020202010202020202020202023F
+:10624000020202020201020202020202020202022F
+:10625000020202020202020102020202020202021F
+:10626000020202020202020202020202020202020E
+:106270000201010101010202020202020202020203
+:1062800002020202010202010202020202020202F0
+:1062900002020202010101010202020202020201E3
+:1062A00002020201020202020202020202020202CF
+:1062B00002020202020202020102020202020202BF
+:1062C00001010101020201010202020101010101B9
+:1062D00001010101010101000202020202020202A7
+:1062E000020202020202020202020202020202028E
+:1062F000020202020202020202020202020202027E
+:10630000020202020202020202020202020202026D
+:10631000020202020202020202020202020202025D
+:10632000020202020201020202020202020202024E
+:10633000020202020202010202020202020202023E
+:10634000020202020201020202020202020202022E
+:10635000020202020202020102020202020202021E
+:10636000020202020202020202020202020202020D
+:106370000201010201020202020202020202020200
+:1063800002020202020202010202020202020202EE
+:1063900002020202020202020202020202020201DE
+:1063A00002020201020202020202020202020202CE
+:1063B00002020202020202020102020202020202BE
+:1063C00001010101020201010202010101010101B9
+:1063D00001010101010101000202020202020202A6
+:1063E000020202020202020202020202020202028D
+:1063F000020202020202020202020202020202027D
+:10640000020202020202020202020202020202026C
+:10641000020202020202020202020202020202025C
+:10642000020202020202020202020202020202024C
+:10643000020202020202020202020202020202023C
+:10644000020202020201020202020202020202022D
+:10645000020202020202020102020202020202021D
+:10646000020202020202020202020202020202020C
+:1064700002020102010202020202020202020202FE
+:1064800002020202020202010202020202020202ED
+:1064900002020202020202020202020202020202DC
+:1064A00002020201020202020202020202020202CD
+:1064B00002020202020202020202020202020202BC
+:1064C00001010101020201010201010101010101B9
+:1064D00001010101010101000202020202020202A5
+:1064E000020202020102020202020202020202028D
+:1064F000020202020202020202020202020202027C
+:10650000020202020202020202020202020202026B
+:10651000020202020202020202020202020202025B
+:10652000020202020202020202020202020202024B
+:10653000020202020202020202020202020202023B
+:10654000020202020202020202020202020202022B
+:10655000020202020202020102020202020202021C
+:10656000020202020202020202020202020202020B
+:1065700002020202020202020202020202020202FB
+:1065800002020202020202010202020202020202EC
+:1065900002020202020202020202020202020202DB
+:1065A00002020201020202020202020202020202CC
+:1065B00002020202020202020202020202020202BB
+:1065C00002010101020201010101010101010101B8
+:1065D00001010101010101010202020202020202A3
+:1065E000020101020102020202020202020202028E
+:1065F000020202020202020202020202020202027B
+:10660000020202020202020202020202020202026A
+:10661000020202020202020202020202020202025A
+:10662000020202020202020202020202020202024A
+:10663000020202020202020202020202020202023A
+:10664000020202020202020202020202020202022A
+:10665000020202020202020202020202020202021A
+:10666000020202020202020202020202020202020A
+:1066700002020202020202020202020202020202FA
+:1066800002020202020202010202020202020202EB
+:1066900002020202020202020202020202020202DA
+:1066A00002020202020202020202020202020202CA
+:1066B00002020202020202020202020202020202BA
+:1066C00002020101020201010101010101010101B6
+:1066D00001010101010101010202020202010101A5
+:1066E000010101010102020202020202020202028F
+:1066F000020202020202020202020202020202027A
+:106700000202020202020202020202020202020269
+:106710000202020202020202020202020202020259
+:106720000202020202020202020202020202020249
+:106730000202020202020202020202020202020239
+:106740000202020202020202020202020202020229
+:106750000202020202020202020202020202020219
+:106760000202020202020202020202020202020209
+:1067700002020202020202020202020202020202F9
+:1067800002020202020202020202020202020202E9
+:1067900002020202020202020202020202020202D9
+:1067A00002020202020202020202020202020202C9
+:1067B00002020202020202020202020202020202B9
+:1067C00002020202020201010101010101010101B3
+:1067D00001010101010101010202020201010101A5
+:1067E000010101010102020202020202020202028E
+:1067F0000202020202020202020202020202020279
+:106800000202020202020202020202020202020268
+:106810000202020202020202020202020202020258
+:106820000202020202020202020202020202020248
+:106830000202020202020202020202020202020238
+:106840000202020202020202020202020202020228
+:106850000202020202020202020202020202020218
+:106860000202020202020202020202020202020208
+:1068700002020202020202020202020202020202F8
+:1068800002020202020202020202020202020202E8
+:1068900002020202020202020202020202020202D8
+:1068A00002020202020202020202020202020202C8
+:1068B00002020202020202020202020202020202B8
+:1068C00002020202020201010101010101010101B2
+:1068D00001010101010101010202010201010101A5
+:1068E0000101010101020201020202020201010191
+:1068F000010101010102020202020202020202027D
+:106900000202020202020202020202020202020267
+:106910000202020202020202020202020202020257
+:106920000202020202020202020202020202020247
+:106930000202020202020202020202020202020237
+:106940000202020202020202020202020202020227
+:106950000202020202020202020202020202020217
+:106960000202020202020202020202020202020207
+:1069700002020202020202020202020202020202F7
+:1069800002020202020202020202020202020202E7
+:1069900002020202020202020202020202020202D7
+:1069A00002020202020202020202020202020202C7
+:1069B00002020202020202020202020202020202B7
+:1069C00002020202020201010101010101010101B1
+:1069D00001010101010101010101010101010101A7
+:1069E0000101010101010201020202020201010191
+:1069F000010101010102020202020202020202027C
+:106A00000202020202020202020202020202020266
+:106A10000202020202020202020202020202020256
+:106A20000202020202020202020202020202020246
+:106A30000202020202020202020202020202020236
+:106A40000202020202020202020202020202020226
+:106A50000202020202020202020202020202020216
+:106A60000202020202020202020202020202020206
+:106A700002020202020202020202020202020202F6
+:106A800002020202020202020202020202020202E6
+:106A900002020202020202020202020202020202D6
+:106AA00002020202020202020202020202020202C6
+:106AB00002020202020202020202020202020202B6
+:106AC00002020202020202020101010101010101AE
+:106AD00001010101010101010101010101010101A6
+:106AE0000101010101010101020202010101010193
+:106AF000010101010102020202020202020202027B
+:106B00000202010202020202020202020202020266
+:106B10000202020202020202020202020202020255
+:106B20000202020202020202020202020202020245
+:106B30000202020202020202020202020202020235
+:106B40000202020202020202020202020202020225
+:106B50000202020202020202020202020202020215
+:106B60000202020202020202020202020202020205
+:106B700002020202020202020202020202020202F5
+:106B800002020202020202020202020202020202E5
+:106B900002020202020202020202020202020202D5
+:106BA00002020202020202020202020202020202C5
+:106BB00002020202020202020202020202020202B5
+:106BC00002020202020202020101010101010101AD
+:106BD00001010101010101010101010101010101A5
+:106BE0000101010101010101020202010101010192
+:106BF000010101010101010202020202020101017F
+:106C00000101010201020202020202020202020268
+:106C10000202020202020202020202020202020254
+:106C20000202020202020202020202020202020244
+:106C30000202020202020202020202020202020234
+:106C40000202020202020202020202020202020224
+:106C50000202020202020202020202020202020214
+:106C60000202020202020202020202020202020204
+:106C700002020202020202020202020202020202F4
+:106C800002020202020202020202020202020202E4
+:106C900002020202020202020202020202020202D4
+:106CA00002020202020202020202020202020202C4
+:106CB00002020202020202020202020202020202B4
+:106CC00002020202020202020101010101010101AC
+:106CD00001010101010101010101010101010101A4
+:106CE0000101010101010101010201010101010193
+:106CF0000101010101010101020101010101010183
+:106D00000101010101020202020202020202020268
+:106D10000202020202020202020202020202020253
+:106D20000202020202020202020202020202020243
+:106D30000202020202020202020202020202020233
+:106D40000202020202020202020202020202020223
+:106D50000202020202020202020202020202020213
+:106D60000202020202020202020202020202020203
+:106D700002020202020202020202020202020202F3
+:106D800002020202020202020202020202020202E3
+:106D900002020202020202020202020202020202D3
+:106DA00002020202020202020202020202020202C3
+:106DB00002020202020202020202020202020202B3
+:106DC00002020202020202020101010101010101AB
+:106DD00001010101010101010101010101010101A3
+:106DE0000101010101010101010101010101010193
+:106DF0000101010101010101020101010101010182
+:106E00000101010101020202020202020202020267
+:106E10000101010201020202020202020202020256
+:106E20000202020202020202020202020202020242
+:106E30000202020202020202020202020202020232
+:106E40000202020202020202020202020202020222
+:106E50000202020202020202020202020202020212
+:106E60000202020202020202020202020202020202
+:106E700002020202020202020202020202020202F2
+:106E800002020202020202020202020202020202E2
+:106E900002020202020202020202020202020202D2
+:106EA00002020202020202020202020202020202C2
+:106EB00002020202020202020202020202020202B2
+:106EC00002020202020202020101010101010101AA
+:106ED00001010101010101010101010101010101A2
+:106EE0000101010101010101010101010101010192
+:106EF0000101010101010101020101010101010181
+:106F0000010101010101010202020201020101016C
+:106F10000101010201020202020202020202020255
+:106F20000202020202020202020202020202020241
+:106F30000202020202020202020202020202020231
+:106F40000202020202020202020202020202020221
+:106F50000202020202020202020202020202020211
+:106F60000202020202020202020202020202020201
+:106F700002020202020202020202020202020202F1
+:106F800002020202020202020202020202020202E1
+:106F900002020202020202020202020202020202D1
+:106FA00002020202020202020202020202020202C1
+:106FB00002020202020202020202020202020202B1
+:106FC00002020202020202020101010101010101A9
+:106FD00001010101010101010101010101010101A1
+:106FE0000101010101010101010101010101010191
+:106FF0000101010101010101010101010101010181
+:10700000010101010101010101020101010101016F
+:10701000010101010101010102020202020101015B
+:107020000101010101020202020202020202020245
+:107030000202020202020202020202020202020230
+:107040000202020202020202020202020202020220
+:107050000202020202020202020202020202020210
+:107060000202020202020202020202020202020200
+:1070700002020202020202020202020202020202F0
+:1070800002020202020202020202020202020202E0
+:1070900002020202020202020202020202020202D0
+:1070A00002020202020202020202020202020202C0
+:1070B00002020202020202020202020202020202B0
+:1070C00002020202020202020101010101010101A8
+:1070D00001010101010101010101010101010101A0
+:1070E0000101010101010101010101010101010190
+:1070F0000101010101010101010101010101010180
+:10710000010101010101010101010101010101016F
+:10711000010101010101010102010101010101015E
+:107120000101010101020201020202020202020245
+:107130000201010101020202020202020202020233
+:10714000020202020202020202020202020202021F
+:10715000020202020202020202020202020202020F
+:1071600002020202020202020202020202020202FF
+:1071700002020202020202020202020202020202EF
+:1071800002020202020202020202020202020202DF
+:1071900002020202020202020202020202020202CF
+:1071A00002020202020202020202020202020202BF
+:1071B00002020202020202020202020202020202AF
+:1071C00002020202020202020101010101010101A7
+:1071D000010101010101010101010101010101019F
+:1071E000010101010101010101010101010101018F
+:1071F000010101010101010101010101010101017F
+:10720000010101010101010101010101010101016E
+:10721000010101010101010101010101010101015E
+:10722000010101010101010102020202010101014A
+:107230000101010101010202020202020202020234
+:10724000020202020202020202020202020202021E
+:10725000020202020202020202020202020202020E
+:1072600002020202020202020202020202020202FE
+:1072700002020202020202020202020202020202EE
+:1072800002020202020202020202020202020202DE
+:1072900002020202020202020202020202020202CE
+:1072A00002020202020202020202020202020202BE
+:1072B00002020202020202020202020202020202AE
+:1072C00002020202020202020101010101010101A6
+:1072D000010101010101010101010101010101019E
+:1072E000010101010101010101010101010101018E
+:1072F000010101010101010101010101010101017E
+:10730000010101010101010101010101010101016D
+:10731000010101010101010101010101010101015D
+:10732000010101010101010101010101010101014D
+:107330000101010101010201020202020201010137
+:107340000101010101020202020202020202020222
+:10735000020202020202020202020202020202020D
+:1073600002020202020202020202020202020202FD
+:1073700002020202020202020202020202020202ED
+:1073800002020202020202020202020202020202DD
+:1073900002020202020202020202020202020202CD
+:1073A00002020202020202020202020202020202BD
+:1073B00002020202020202020202020202020202AD
+:1073C00002020202020202020101010101010101A5
+:1073D000010101010101010101010101010101019D
+:1073E000010101010101010101010101010101018D
+:1073F000010101010101010101010101010101017D
+:10740000010101010101010101010101010101016C
+:10741000010101010101010101010101010101015C
+:10742000010101010101010101010101010101014C
+:10743000010101010101010101010101010101013C
+:107440000101010101010101020202020202020224
+:107450000201010101020202020202020202020210
+:1074600002020202020202020202020202020202FC
+:1074700002020202020202020202020202020202EC
+:1074800002020202020202020202020202020202DC
+:1074900002020202020202020202020202020202CC
+:1074A00002020202020202020202020202020202BC
+:1074B00002020202020202020202020202020202AC
+:1074C00002020202020202020101010101010101A4
+:1074D000010101010101010101010101010101019C
+:1074E000010101010101010101010101010101018C
+:1074F000010101010101010101010101010101017C
+:10750000010101010101010101010101010101016B
+:10751000010101010101010101010101010101015B
+:10752000010101010101010101010101010101014B
+:10753000010101010101010101010101010101013B
+:107540000101010101010101020202010101010128
+:107550000101010101010102020202020202020212
+:1075600002020202020202020202020202020202FB
+:1075700002020202020202020202020202020202EB
+:1075800002020202020202020202020202020202DB
+:1075900002020202020202020202020202020202CB
+:1075A00002020202020202020202020202020202BB
+:1075B00002020202020202020202020202020202AB
+:1075C00002020202020202020101010101010101A3
+:1075D000010101010101010101010101010101019B
+:1075E000010101010101010101010101010101018B
+:1075F000010101010101010101010101010101017B
+:10760000010101010101010101010101010101016A
+:10761000010101010101010101010101010101015A
+:10762000010101010101010101010101010101014A
+:10763000010101010101010101010101010101013A
+:10764000010101010101010101010101010101012A
+:107650000101010101010102020202020201010114
+:107660000101010101010102020202020202020201
+:1076700002020202020202020202020202020202EA
+:1076800002020202020202020202020202020202DA
+:1076900002020202020202020202020202020202CA
+:1076A00002020202020202020202020202020202BA
+:1076B00002020202020202020202020202020202AA
+:1076C00002020202020202020101010101010101A2
+:1076D000010101010101010101010101010101019A
+:1076E000010101010101010101010101010101018A
+:1076F000010101010101010101010101010101017A
+:107700000101010101010101010101010101010169
+:107710000101010101010101010101010101010159
+:107720000101010101010101010101010101010149
+:107730000101010101010101010101010101010139
+:107740000101010101010101010101010101010129
+:107750000101010101010101010101010101010119
+:107760000101010101010101020202020202020201
+:1077700002020202020202020202020202020202E9
+:1077800002020202020202020202020202020202D9
+:1077900002020202020202020202020202020202C9
+:1077A00002020202020202020202020202020202B9
+:1077B00002020202020202020202020202020202A9
+:1077C00002020202020202020101010101010101A1
+:1077D0000101010101010101010101010101010199
+:1077E0000101010101010101010101010101010189
+:1077F0000101010101010101010101010101010179
+:107800000101010101010101010101010101010168
+:107810000101010101010101010101010101010158
+:107820000101010101010101010101010101010148
+:107830000101010101010101010101010101010138
+:107840000101010101010101010101010101010128
+:107850000101010101010101010101010101010118
+:107860000101010101010101010101010101010108
+:1078700001010101010101010202020202020202F0
+:1078800002020202020202020202020202020202D8
+:1078900002020202020202020202020202020202C8
+:1078A00002020202020202020202020202020202B8
+:1078B00002020202020202020202020202020202A8
+:1078C00002020202020202020101010101010101A0
+:1078D0000101010101010101010101010101010198
+:1078E0000101010101010101010101010101010188
+:1078F0000101010101010101010101010101010178
+:107900000101010101010101010101010101010167
+:107910000101010101010101010101010101010157
+:107920000101010101010101010101010101010147
+:107930000101010101010101010101010101010137
+:107940000101010101010101010101010101010127
+:107950000101010101010101010101010101010117
+:107960000101010101010101010101010101010107
+:1079700001010101010101010202020201010101F3
+:1079800001010101010101020202020202020202DE
+:1079900002020202020202020202020202020202C7
+:1079A00002020202020202020202020202020202B7
+:1079B00002020202020202020202020202020202A7
+:1079C000020202020202020201010101010101019F
+:1079D0000101010101010101010101010101010197
+:1079E0000101010101010101010101010101010187
+:1079F0000101010101010101010101010101010177
+:107A00000101010101010101010101010101010166
+:107A10000101010101010101010101010101010156
+:107A20000101010101010101010101010101010146
+:107A30000101010101010101010101010101010136
+:107A40000101010101010101010101010101010126
+:107A50000101010101010101010101010101010116
+:107A60000101010101010101010101010101010106
+:107A700001010101010101010101010101010101F6
+:107A800001010101010101010202020202020202DE
+:107A900002020202020202020202020202020202C6
+:107AA00002020202020202020202020202020202B6
+:107AB00002020202020202020202020202020202A6
+:107AC000020202020202020201010101010101019E
+:107AD0000101010101010101010101010101010196
+:107AE0000101010101010101010101010101010186
+:107AF0000101010101010101010101010101010176
+:107B00000101010101010101010101010101010165
+:107B10000101010101010101010101010101010155
+:107B20000101010101010101010101010101010145
+:107B30000101010101010101010101010101010135
+:107B40000101010101010101010101010101010125
+:107B50000101010101010101010101010101010115
+:107B60000101010101010101010101010101010105
+:107B700001010101010101010101010101010101F5
+:107B800001010101010101010101010101010101E5
+:107B900001010101010101010101010101010102D4
+:107BA00001010102010101010202020202020202BC
+:107BB00002020202020202020202020202020202A5
+:107BC000020202020202020201010101010101019D
+:107BD0000101010101010101010101010101010195
+:107BE0000101010101010101010101010101010185
+:107BF0000101010101010101010101010101010175
+:107C00000101010101010101010101010101010164
+:107C10000101010101010101010101010101010154
+:107C20000101010101010101010101010101010144
+:107C30000101010101010101010101010101010134
+:107C40000101010101010101010101010101010124
+:107C50000101010101010101010101010101010114
+:107C60000101010101010101010101010101010104
+:107C700001010101010101010101010101010101F4
+:107C800001010101010101010101010101010101E4
+:107C900001010101010101010101010101010101D4
+:107CA00001010101010101010201010101010101C3
+:107CB00001010101010101010202020202020202AC
+:107CC000020202020202020201010101010101019C
+:107CD0000101010101010101010101010101010194
+:107CE0000101010101010101010101010101010184
+:107CF0000101010101010101010101010101010174
+:107D00000101010101010101010101010101010163
+:107D10000101010101010101010101010101010153
+:107D20000101010101010101010101010101010143
+:107D30000101010101010101010101010101010133
+:107D40000101010101010101010101010101010123
+:107D50000101010101010101010101010101010113
+:107D60000101010101010101010101010101010103
+:107D700001010101010101010101010101010101F3
+:107D800001010101010101010101010101010101E3
+:107D900001010101010101010101010101010101D3
+:107DA00001010101010101010101010101010101C3
+:107DB00001010101010101010202020202020202AB
+:107DC000020202020101020201010101010101019D
+:107DD0000101010101010101010101010101010193
+:107DE0000101010101010101010101010101010183
+:107DF0000101010101010101010101010101010173
+:107E00000101010101010101010101010101010162
+:107E10000101010101010101010101010101010152
+:107E20000101010101010101010101010101010142
+:107E30000101010101010101010101010101010132
+:107E40000101010101010101010101010101010122
+:107E50000101010101010101010101010101010112
+:107E60000101010101010101010101010101010102
+:107E700001010101010101010101010101010101F2
+:107E800001010101010101010101010101010101E2
+:107E900001010101010101010101010101010101D2
+:107EA00001010101010101010101010101010101C2
+:107EB00001010101010101010201010101010101B1
+:107EC00001010101010101010000000000000000AA
+:107ED00000000000000000000000000000000000A2
+:107EE0000000000000000000000000000000000092
+:107EF0000000000000000000000000000000000082
+:107F00000000000000000000000000000000000071
+:107F10000000000000000000000000000000000061
+:107F20000000000000000000000000000000000051
+:107F30000000000000000000000000000000000041
+:107F40000000000000000000000000000000000031
+:107F50000000000000000000000000000000000021
+:107F60000000000000000000000000000000000011
+:107F70000000000000000000000000000000000001
+:107F800000000000000000000000000000000000F1
+:107F900000000000000000000000000000000000E1
+:107FA00000000000000000000000000000000000D1
+:107FB00000000000000000000000000000000000C1
+:107FC0000000000000000000410000000000000070
+:107FD00000000000000000000000000000000000A1
+:107FE000000001000000000001000000000100008E
+:107FF0000000000000000000000000000000000081
+:108000000000000000000000000000000000000070
+:108010000000000000000000000000000000000060
+:108020000000000000000000000000000000000050
+:108030000000000000000000000000000000000040
+:10804000000000000001000000000000000000002F
+:108050000000000000000000000000000000000020
+:108060000000000000000000000000000000000010
+:108070000000000000000000000000000000000000
+:1080800000000000000000000000000000000000F0
+:1080900000000001010000000000000000000000DE
+:1080A00000000000000000000000000000000000D0
+:1080B00000000000000000000000000000000000C0
+:1080C00000000000000000000000000000000000B0
+:1080D00000000000000000000000000000000000A0
+:1080E000000001000000000001000000000100008D
+:1080F0000000000000000000000000000000000080
+:10810000000000000000000000000000000000006F
+:10811000000000000000010000000000000000005E
+:10812000000000000000000001000000000000004E
+:10813000000000000000000000000000000000003F
+:10814000000000000001010000000000000000002D
+:10815000000000000000000000000000010000001E
+:10816000000000000000000000000000000000000F
+:1081700000000000000000000000000000000000FF
+:1081800000000000000000000000000000000000EF
+:1081900001010101010000000000000000000000DA
+:1081A00000000000000000000000000000000000CF
+:1081B00000000000000000000000000000000000BF
+:1081C00000000000000000000000000000000000AF
+:1081D000000000000000000000000000000000009F
+:1081E000000001000000000001000000000100008C
+:1081F000000000000000000000000000000000007F
+:10820000000000000000000000000000000000006E
+:10821000000000010000010000000000000000005C
+:10822000000000000000000001000000000000004D
+:10823000000001000000000000000000000000003D
+:10824000000000000001010100000001000000002A
+:10825000000000000000000000000000010000001D
+:10826000000000000000000000000000000000000E
+:1082700000000000000000000000000000000000FE
+:1082800000000000000000000000000000000000EE
+:1082900001010101010000000000000000000000D9
+:1082A00000000000000000000000000000000000CE
+:1082B00000000000000000000000000000000000BE
+:1082C00000000000000000000000000000000000AE
+:1082D000000000000100000000000000000000009D
+:1082E000000001000000000001000000010100008A
+:1082F000000000000000000000000000000000007E
+:10830000000000000000000000000000000000006D
+:10831000000000010000010000000000000000005B
+:10832000000000000000000001000000000000004C
+:10833000000001000000000000000000000000003C
+:108340000000000000010101000000010000000128
+:10835000000000000000000000010000010000001B
+:10836000000000000000000000000000000000000D
+:1083700000000000000000000000000000000000FD
+:1083800000000000000000000000000000000000ED
+:1083900001010101010000000000000000000001D7
+:1083A00000000000000000000000000000000000CD
+:1083B00000000000000000000000000000000000BD
+:1083C00000000000000000000000000000000000AD
+:1083D000000000000100000000000000000000009C
+:1083E0000000010000000000010000000101010088
+:1083F000000000000000000000000000000000007D
+:10840000000000000000000000000000000000006C
+:108410000000000101000100000000000000000059
+:10842000000000010000000001000000000000004A
+:10843000000001000000000000000000000000003B
+:108440000000000000010101000001010000000126
+:108450000100000000000000000100000100000019
+:10846000000000000000000000000000000000000C
+:1084700000000000000000000000000000000000FC
+:1084800000000000010000000000000000000000EB
+:1084900001010101010100000000000000000001D5
+:1084A00000000000000000000000000000000000CC
+:1084B00000000000000000000000000000000000BC
+:1084C00000000000000000000000000000000000AC
+:1084D000000000010100000000000000000000009A
+:1084E0000000010000000001010000000101010086
+:1084F000000000000000000000000000000000007C
+:10850000000000000000000000000000000000006B
+:108510000000000101000100000000000000000058
+:108520000000010100000000010000000000010047
+:10853000000001000000000000000000000000003A
+:108540000100000000010101010001010000000123
+:108550000100000000000000000101000100000017
+:108560000100000000000000000000000000000109
+:1085700000000000000000000000000000000000FB
+:1085800000000000010000000000000000000000EA
+:1085900001010101010101000000000000000001D3
+:1085A00000000000000000000000000000000000CB
+:1085B00000000000000000000000000000000000BB
+:1085C00000000000000000000000000000000000AB
+:1085D0000100000101000000000000000000000098
+:1085E0000000010000000001010000000101010085
+:1085F0000000000000000100000000000000000179
+:108600000000000000000000000000000100000069
+:108610000000000101000100000000000000000057
+:108620000000010100000000010000000000010046
+:108630000100010000000000000000000000000038
+:108640000100000000010101010001010100000121
+:108650000100000000000000000101000100000115
+:108660000100000000000000000000000000000108
+:1086700000000000000000000000000000000000FA
+:1086800000000001010000000000000000000000E8
+:1086900001010101010101000000000000000001D2
+:1086A00000000000000000000000000000000000CA
+:1086B00000000000000000000000000000000000BA
+:1086C00000000000000000000000000000000000AA
+:1086D0000100000101000000000000000000000097
+:1086E0000000010000000001010100000101010083
+:1086F0000000000000000100000000010000000177
+:108700000000000000000000000000000100000068
+:108710000000000101000100000000000000010055
+:108720000000010100000000010000000000010045
+:108730000100010000010000000000000000000036
+:108740000100000000010101010001010100000120
+:108750000100000000000000000101000100000114
+:108760000100000000000000000000000000000107
+:1087700000000000000000000000000000000000F9
+:1087800001010101010000000000000000000000E4
+:1087900001010101010101000000000000000001D1
+:1087A00000000000000000000000000000000000C9
+:1087B00000000000000100000000000000000000B8
+:1087C00000000000000000000000000000000000A9
+:1087D0000100000101000000000000000000000096
+:1087E0000000010000000001010100000101010181
+:1087F0000000000000000100000000010000000176
+:108800000000000000000000000100000100000066
+:108810000000000101010101000000000000010052
+:108820000000010101000000010100000000010042
+:108830000100010000010000000000000000000134
+:10884000010000000001010101010101010000011E
+:108850000100000000000000000101000100000113
+:108860000100000100000000000000000000000105
+:1088700000000000000000000000000000000000F8
+:1088800001010101010000000000000000000000E3
+:1088900001010101010101010000000100000001CE
+:1088A00000000000000000000000000000000000C8
+:1088B00000000000000100000000000000000000B7
+:1088C00000000000000000000000000000000000A8
+:1088D0000100000101000000000000000000000095
+:1088E000000001010100000101010000010101017E
+:1088F0000000000000000101000001010000000173
+:108900000000010000000000000100000100000064
+:10891000000100010101010101000000000101004E
+:108920000000010101000000010100000000010140
+:108930000100010000010000000000000000000133
+:10894000010100000001010101010101010000011C
+:108950000100000000000000000101000100000112
+:108960000101010100000000000000000000000102
+:1089700001000000000000000000000000000000F6
+:1089800001010101010000000000000000000000E2
+:1089900001010101010101010000000100000001CD
+:1089A00000000000000100000000000000000000C6
+:1089B00000000000000100000000000000000000B6
+:1089C00000000000000000000000000000000000A7
+:1089D0000100000201000100000000000000000092
+:1089E000000001010100000101010000010101017D
+:1089F0000000000000000101010001010000000171
+:108A00000000010101000000000100000100000061
+:108A1000000100010101010101000000000101004D
+:108A2000000001010100000001010000000001013F
+:108A30000100010000010100000000000000000131
+:108A4000010100010001010101010101010000011A
+:108A50000101000000000000000101000100000110
+:108A60000101010101000000000000000000000100
+:108A700001000000000000000000000000000000F5
+:108A800001010101010000000000000000000000E1
+:108A900001010101010101010000010100000001CB
+:108AA00000000000000101000000000000000001C3
+:108AB00000000000000101000000000000000000B4
+:108AC00000000000000000000000000000000000A6
+:108AD0000100000202000100000000000000000090
+:108AE000000001010100000101010100010101017B
+:108AF0000000000000000101010001010000000170
+:108B0000010001010100000000010000010000005F
+:108B1000000100010101010101000000000101004C
+:108B2000000001010100000001010000000101013D
+:108B3000010001000001010000000101000000012E
+:108B40000101000100010101010101010100010118
+:108B5000010100000100000000010100010000010E
+:108B600001010101010000000000000000000001FF
+:108B700001010000000000000000000000000001F2
+:108B800001010101010000000000000000000001DF
+:108B900001010101010101010100010100000101C8
+:108BA00000000000000101000000000000000001C2
+:108BB00000000000000101000000000000000000B3
+:108BC00000000000000000000000000000000000A5
+:108BD000020100020200020001000000000000008B
+:108BE000000001010100000101010100010101017A
+:108BF000010000000000010101000101000000016E
+:108C0000010001010100000100010000010000005D
+:108C1000000100010101010101000000000101004B
+:108C2000000001010101000001010000000101013B
+:108C3000010001000001010000000101000000012D
+:108C40000101000101010101010101010100010116
+:108C5000010101000100000000010100010001010B
+:108C600001010101010000000000000000000001FE
+:108C700001010001010000000000000000000001EF
+:108C800001010101010100000000000000000001DD
+:108C900001010101010101010101010100000101C6
+:108CA00000000000000101000000000000000001C1
+:108CB00000000000000101000000000000000001B1
+:108CC00000000000000000000000000000000000A4
+:108CD0000201000202000201020100000100000086
+:108CE0000000020101010001010101000101010177
+:108CF000010000000001010101010101000000016B
+:108D0000010001010100000100010000010000005C
+:108D10000101010101010101010000000001010048
+:108D2000000001010101000001010000000101013A
+:108D3000010001000001010000000101000000012C
+:108D40000101010101010101010101010100010114
+:108D5000010101000100000000010100010001010A
+:108D600001010101010000000000000000000101FC
+:108D700001010101010000000000000000000001ED
+:108D800001010101010100000000000000000001DC
+:108D900001010101010101010101010100000101C5
+:108DA00000000000000101000000000000000001C0
+:108DB00000000000000101010000000100000001AE
+:108DC00000000000000000000000000000000000A3
+:108DD0000201000202000202020200000100000083
+:108DE0000100020101010001010101000101010175
+:108DF000010000000001010101010101000000016A
+:108E0000010001010100000100010000010000005B
+:108E10000101010101010101010101000001010045
+:108E20000000010101010000010100010101010137
+:108E3000010101000001010000000101000000012A
+:108E40000101010101010101010101010100010113
+:108E50000101010001000000000101000100010109
+:108E600001010101010000000000000000000101FB
+:108E700001010101010000000000000000000001EC
+:108E800001010101010100000000000000000001DB
+:108E900001010101010101010101010101000101C3
+:108EA00000000000000101000000000000000001BF
+:108EB00000000000000101010000000100000001AD
+:108EC00000000000000000000000000000000000A2
+:108ED0000202000202000202020200000200000080
+:108EE0000100020101010001020101000101010173
+:108EF0000100000101010101010101010000000167
+:108F00000101010101000001010100000100000058
+:108F10000101010101010101010101000001010044
+:108F20000000010101010100010100010101010135
+:108F30000101010000010101000001010000000128
+:108F40000101010101010101010101010100010112
+:108F50000101010101000000000101000100010107
+:108F600001010101010000000000000000000101FA
+:108F700001010101010000000000000000000001EB
+:108F800001010101010100000000000000000001DA
+:108F900001010101010101010101010101010101C1
+:108FA00000000000000101000000010100000001BC
+:108FB00000000000000101010000010100000001AB
+:108FC000000000010100000000000000000000009F
+:108FD000020200020200020202020000020000007F
+:108FE0000100020101010001020101000101010172
+:108FF0000100010101010101010101010001000164
+:109000000101010101000001010100000100000057
+:109010000101010101010101010101000101010042
+:109020000000010101010100010101010101010133
+:109030000101010000010101000001010000010126
+:109040000101010101010101010101010100010111
+:109050000101010101000000000101000100010106
+:1090600001010101010100000000000000000101F8
+:1090700001010101010000000000000000000001EA
+:1090800001010101010100000000000000000001D9
+:1090900001010101010101010101010101010101C0
+:1090A00000000000000101000100010100000101B9
+:1090B00000000000000101010100010100000001A9
+:1090C000000000010100000000000000000000009E
+:1090D000020200020200020202020000020000007E
+:1090E0000100020101010001020101010101010170
+:1090F0000100010101010101010101010001000163
+:109100000101010101000001010100000100000056
+:109110000101010101010101010101000101010041
+:109120000001010101010100010101010101010131
+:109130000101010001010101000101010000010123
+:109140000101010101010101010101010100010110
+:109150000101010101000000000101000100010105
+:1091600001010101010100000000000000000101F7
+:1091700001010101010000000000000000000001E9
+:1091800001010101010100000000000000000001D8
+:1091900001010101010101010101010101010101BF
+:1091A00000000000000101000101010101000101B6
+:1091B00000000000000101010101010101000001A6
+:1091C000000000010100000000000000000000009D
+:1091D000020201020200020202020000020000007C
+:1091E000010002010101000202010101010101016E
+:1091F0000100010101010101010101010001000162
+:109200000101010101000001010100000100000055
+:10921000010101020101020101010100010101003E
+:109220000001010101010100010101010101010130
+:109230000101010001010101010101010000010121
+:10924000010101010101010101010101010001010F
+:109250000101010101000000000101000100010104
+:1092600001010101010100000000000000000101F6
+:1092700001010101010000000000000000000001E8
+:1092800001010101010100000000000000000001D7
+:1092900001010101010101010101010101010101BE
+:1092A00000000000000101000101010101000101B5
+:1092B00000000000000101010101010101000101A4
+:1092C000000000010100000000000000000000009C
+:1092D0000202020202020202020202000200000076
+:1092E000010002010101000202010101010201016C
+:1092F0000100010101010101010101010001000161
+:109300000101010101000001010100000100000054
+:10931000010101020101020101010100010101003D
+:10932000000101010101010001010101010101012F
+:10933000010102010101010101010101000001011E
+:10934000010101010101010101010101010101010D
+:109350000101010101000000000101010100010102
+:1093600001010101010101000000000000010101F3
+:1093700001010101010000000000000000000001E7
+:1093800001010101010101000000000000000001D5
+:1093900001010101010101010101010101010101BD
+:1093A00000000000000101000101010101000101B4
+:1093B00000000000000101010101010101000101A3
+:1093C000000000010100000000000000000000009B
+:1093D0000202020202020202020202000201000074
+:1093E0000101020201010102020201010202010166
+:1093F000010101010101020101010101000100015E
+:109400000201020101000001010100000100000051
+:10941000010201020201020101010100010101003A
+:10942000000102010101010101010101010101012C
+:10943000020102010101010101010101000001011C
+:10944000020101010101010101010101010101010B
+:109450000201010101000000000101010100010100
+:1094600001010101010101000000010101010101EF
+:1094700001010101010000000000000100000001E5
+:1094800001010101010101010000000000000001D3
+:1094900002010101010101010101010101010101BB
+:1094A00000000000000101000101010101010101B2
+:1094B00000000000000101010101010101000101A2
+:1094C0000001010101000000000000000000000098
+:1094D0000202020202020202020202000202000072
+:1094E0000101020202010102020201010202010164
+:1094F000020101010101020101010101010100015B
+:109500000201020101000001010100000100000050
+:109510000102010202010201010101000101010039
+:109520000101020201010101020101010101010128
+:10953000020102010101010101010101000001011B
+:109540000201010101020101010101010101010109
+:1095500002010101010100000001010101000101FE
+:1095600002010101010101000000010101010101ED
+:1095700001010101010000000000000100000101E3
+:1095800001010101010101010000000000000001D2
+:1095900002020101010101010101010101010101B9
+:1095A00000000000000101000101010101010101B1
+:1095B00000000000000101010101010101000101A1
+:1095C0000001010101010000000000000000000096
+:1095D0000202020202020202020202000202000071
+:1095E0000201020202010102020201010202010162
+:1095F0000201010101010202010101010101000159
+:10960000020102020100000101020001010000004C
+:109610000202010202020202010101010101010034
+:109620000101020201010101020101010101010127
+:10963000020102010101010101010101000001011A
+:109640000201010101020201010101010101010107
+:1096500002010101010100000001010101010101FC
+:1096600002010101010101010000010101010101EB
+:1096700001010101010100000000000100000101E1
+:1096800002010101010101010000000000000001D0
+:1096900002020201010101010101010101010101B7
+:1096A00000000000000101000101010101010101B0
+:1096B000000000000001010101010101010101019F
+:1096C0000001010101010000000000000000000095
+:1096D0000202020202020202020202000202000070
+:1096E000020102020202010202020201020202015E
+:1096F0000201010101010202020101010101000157
+:109700000202020202000001010200010101000147
+:109710000202020202020202020101010101010031
+:109720000101020201010101020101010101010126
+:109730000201020101010101010101010000010119
+:109740000202010101020202010101010101010104
+:1097500002010101010100000001010101010101FB
+:1097600002010101010101010000010101010101EA
+:1097700002010101010101000000000100000101DE
+:1097800002020101010101010100000000000001CD
+:1097900002020202010101010101010101010101B5
+:1097A00000000000000101000101010101010101AF
+:1097B000000000000001010101010101010101019E
+:1097C0000001010101010000000000000000000094
+:1097D000020202020202020202020200020200006F
+:1097E000020102020202010202020201020202015D
+:1097F0000201020101020202020101010101000154
+:109800000202020202010002010200010201000143
+:109810000202020202020202020101010101010030
+:109820000101020202010101020101010101010124
+:109830000201020101020101010101010000010117
+:109840000202010101020202010101010101010103
+:1098500002020101010101000001010101010101F8
+:1098600002020101010101010001010101010101E7
+:1098700002010101010101000000000100000101DD
+:1098800002020201010101010101010101000001C7
+:1098900002020202020101010101010101010101B3
+:1098A00000000000000101000101010101010101AE
+:1098B000000000000001010101010101010101019D
+:1098C0000001010101010100000000000000000092
+:1098D000020202020202020202020202020200006C
+:1098E000020202020202010202020201020202015B
+:1098F000020102020102020202020202010100014F
+:109900000202020202010002010200010201000142
+:10991000020202020202020202010101010101012E
+:109920000101020202010101020201010101010122
+:109930000202020101020101010101010000010115
+:109940000202010101020202020101010101010101
+:1099500002020101010101000002010101010101F6
+:1099600002020201010101010101010101010101E4
+:1099700002020101010101000000000100010101DA
+:1099800002020202020101010101010101010001C3
+:1099900002020202020101010101010101010101B2
+:1099A00000000000000101000101010101010101AD
+:1099B000000000000001010101010101010101019C
+:1099C0000001010101010100000000000000000091
+:1099D000020202020202020202020202020200006B
+:1099E0000202020202020202020202010202020159
+:1099F000020202020202020202020202010100014C
+:109A0000020202020201000202020101020100013F
+:109A1000020202020202020202020101010201012B
+:109A2000010202020202010102020101010101011F
+:109A30000202020101020201010101010000010113
+:109A400002020202010202020201020201010101FC
+:109A500002020201010101000002010102010101F3
+:109A600002020202010101010101010101010101E2
+:109A700002020101010101000000010101010101D7
+:109A800002020202020101010101010101010001C2
+:109A900002020202020201010101010101010101B0
+:109AA00000000000000101000101010101010101AC
+:109AB000000000000001010101010101010101019B
+:109AC0000001010101010100000000000000000090
+:109AD000020202020202020202020202020200006A
+:109AE0000202020202020202020202010202020158
+:109AF000020202020202020202020202010100014B
+:109B0000020202020201010202020101020100013D
+:109B10000202020202020202020202010102020128
+:109B2000010202020202010102020101010101011E
+:109B30000202020101020201010101010100010111
+:109B400002020202010202020202020201010101FA
+:109B500002020201010101000002020102010101F1
+:109B600002020202010101010101010101010101E1
+:109B700002020201010101000000010101010101D5
+:109B800002020202020101010101010101010001C1
+:109B900002020202020202010101010101010101AE
+:109BA00000000000000101000101010101010101AB
+:109BB000000000000001010101010101010101019A
+:109BC000000101010101010000000000000000008F
+:109BD0000202020202020202020202020202000069
+:109BE0000202020202020202020202020202020255
+:109BF0000202020202020202020202020101010248
+:109C0000020202020201010202020101020100013C
+:109C10000202020202020202020202010102020127
+:109C2000020202020202020102020101010102011A
+:109C30000202020101020201010101010100010110
+:109C400002020202020202020202020202010101F7
+:109C500002020201020101000002020102010101EF
+:109C600002020202020101010101010101010101DF
+:109C700002020202010101010000010101010101D2
+:109C800002020202020101010101010101010001C0
+:109C900002020202020202010101010101010101AD
+:109CA00000000000000101000101010101010101AA
+:109CB0000000000000020101010101010101010198
+:109CC000000101010101010000000000000000018D
+:109CD0000202020202020202020202020202000068
+:109CE0000202020202020202020202020202020254
+:109CF0000202020202020202020202020101010247
+:109D0000020202020201010202020101020100013B
+:109D10000202020202020202020202010202020125
+:109D20000202020202020201020201010101020119
+:109D3000020202010102020201010201010001010D
+:109D400002020202020202020202020202010101F6
+:109D500002020202020101010002020102010101EC
+:109D600002020202020101010101010101010101DE
+:109D700002020202020101010100010101010101CF
+:109D800002020202020201010101010101010001BE
+:109D900002020202020202020101010101010101AB
+:109DA00000000000000201000101010101010101A8
+:109DB0000000000000020101010101010101010197
+:109DC000000101010101010100000000000000018B
+:109DD0000202020202020202020202020202000067
+:109DE0000202020202020202020202020202020253
+:109DF0000202020202020202020202020102010245
+:109E00000202020202020102020201010201000139
+:109E10000202020202020202020202010202020124
+:109E20000202020202020201020201010102020117
+:109E30000202020202020202010102020100010109
+:109E400002020202020202020202020202010102F4
+:109E500002020202020101010102020102010101EA
+:109E600002020202020101010101010101010101DD
+:109E700002020202020101010101010101010101CD
+:109E800002020202020201010101010101010001BD
+:109E900002020202020202020101010101010101AA
+:109EA00000000000000202000101010101010101A6
+:109EB0000000000000020201010101010101010195
+:109EC0000001010101010101010000000000000189
+:109ED0000202020202020202020202020202000066
+:109EE0000202020202020202020202020202020252
+:109EF0000202020202020202020202020102010244
+:109F00000202020202020102020201010201010137
+:109F10000202020202020202020202010202020123
+:109F20000202020202020202020202020202020112
+:109F30000202020202020202020202020100010106
+:109F400002020202020202020202020202010102F3
+:109F500002020202020101010102020102010101E9
+:109F600002020202020201010101010101010101DB
+:109F700002020202020101010101010101010101CC
+:109F800002020202020201010101010101010001BC
+:109F900002020202020202020201010101010101A8
+:109FA00000000000000202000101010101010101A5
+:109FB0000000000000020201010101010101010194
+:109FC0000002010201010101010001010000000184
+:109FD0000202020202020202020202020102000066
+:109FE0000202020202020202020202020202020251
+:109FF0000202020202020202020202020202010242
+:10A000000202020202020202020201010201010135
+:10A010000202020202020202020202010202020122
+:10A020000202020202020202020202020202020210
+:10A030000202020202020202020202020100010204
+:10A0400002020202020202020202020202010102F2
+:10A0500002020202020101010102020102010102E7
+:10A0600002020202020201010101010101010102D9
+:10A0700002020202020101010101010101010101CB
+:10A0800002020202020201010101010101010001BB
+:10A0900002020202020202020202020201010102A3
+:10A0A00000000000000202000101010101010101A4
+:10A0B0000000000000020202010101010101010192
+:10A0C0000002020202010101010001010000000181
+:10A0D0000202020202020202010102020102000067
+:10A0E0000202020202020202020202020202020250
+:10A0F0000202020202020202020202020202010241
+:10A100000202020202020202020202020201010132
+:10A110000202020202020202020202020202020120
+:10A12000020202020202020202020202020202020F
+:10A130000202020202020202020202020100010203
+:10A1400002020202020202020202020202010202F0
+:10A1500002020202020201010102020102010102E5
+:10A1600002020202020202010101010101010102D7
+:10A1700002020202020101010101010101010101CA
+:10A1800002020202020202010101010101010001B9
+:10A1900002020202020202020202020201010102A2
+:10A1A00000000000000202000101010101010101A3
+:10A1B0000000000000020202010101010101010191
+:10A1C000000202020201010101010101000000017F
+:10A1D0000202020202020101010101020101020068
+:10A1E000020202020202020202020202020202024F
+:10A1F0000202020202020202020202020202010240
+:10A200000202020202020202020202020202010130
+:10A21000020202020202020202020202020202011F
+:10A22000020202020202020202020202020202020E
+:10A230000202020202020202020202020101010201
+:10A2400002020202020202020202020202010202EF
+:10A2500002020202020201010102020102010202E3
+:10A2600002020202020202010101010101010102D6
+:10A2700002020202020201010101010101010101C8
+:10A2800002020202020202020101010101010001B7
+:10A2900002020202020202020202020201010102A1
+:10A2A00000000000000202000201010101010101A1
+:10A2B000010000000002020202010101010101018E
+:10A2C000000202020201010101010101000001017D
+:10A2D0000202020202020101010101020101020067
+:10A2E000020202020202020202020202020202024E
+:10A2F000020202020202020202020202020201023F
+:10A30000020202020202020202020202020201012F
+:10A31000020202020202020202020202020202011E
+:10A32000020202020202020202020202020202020D
+:10A3300002020202020202020202020201010202FF
+:10A3400002020202020202020202020202010202EE
+:10A3500002020202020202010102020102010202E1
+:10A3600002020202020202020101010101010202D3
+:10A3700002020202020202010101010101010102C5
+:10A3800002020202020202020101010101010102B4
+:10A39000020202020202020202020202020102029E
+:10A3A000000000010102020002020201010101019C
+:10A3B000010000000002020202020202010101018A
+:10A3C000000202020202010101010101010001017A
+:10A3D0000202020102020101010101010101020068
+:10A3E000020202020202020202020202020202024D
+:10A3F000020202020202020202020202020201023E
+:10A40000020202020202020202020202020201012E
+:10A41000020202020202020202020202020202011D
+:10A42000020202020202020202020202020202020C
+:10A4300002020202020202020202020201010202FE
+:10A4400002020202020202020202020202020202EC
+:10A4500002020202020202010102020202010202DF
+:10A4600002020202020202020101020101010202D1
+:10A4700002020202020202010101010101010102C4
+:10A4800002020202020202020201010101010102B2
+:10A49000020202020202020202020202020202029C
+:10A4A0000101010101020200020202020101010296
+:10A4B0000101010000020202020202020101010187
+:10A4C0000002020202020101010101010100010179
+:10A4D0000202020101010101010101010101020069
+:10A4E000020202020202020202020202020202024C
+:10A4F000020202020202020202020202020201023D
+:10A50000020202020202020202020202020201012D
+:10A51000020202020202020202020202020202011C
+:10A52000020202020202020202020202020202020B
+:10A5300002020202020202020202020201010202FD
+:10A5400002020202020202020202020202020202EB
+:10A5500002020202020202010102020202010202DE
+:10A5600002020202020202020202020202020202CB
+:10A5700002020202020202010101010201010102C2
+:10A5800002020202020202020202010101010102B0
+:10A59000020202020202020202020202020202029B
+:10A5A0000101010101020200020202020201010294
+:10A5B0000101010101020202020202020201010282
+:10A5C0000002020202020201010101010100010177
+:10A5D0000202020101010101010101010101020068
+:10A5E000020202020202020202020202020202024B
+:10A5F000020202020202020202020202020201023C
+:10A60000020202020202020202020202020201012C
+:10A61000020202020202020202020202020202011B
+:10A62000020202020202020202020202020202020A
+:10A6300002020202020202020202020201010202FC
+:10A6400002020202020202020202020202020202EA
+:10A6500002020202020202020102020202020202DB
+:10A6600002020202020202020202020202020202CA
+:10A6700002020202020202020101010201010102C0
+:10A6800002020202020202020202020101010102AE
+:10A69000020202020202020202020202020202029A
+:10A6A0000101010101020200020202020201020292
+:10A6B0000201010101020202020202020201010280
+:10A6C0000102020202020201010101010101010174
+:10A6D0000202020101010101010101010101010068
+:10A6E000020202020202020202020202020202024A
+:10A6F000020202020202020202020202020201023B
+:10A70000020202020202020202020202020201022A
+:10A71000020202020202020202020202020202011A
+:10A720000202020202020202020202020202020209
+:10A7300002020202020202020202020202010202FA
+:10A7400002020202020202020202020202020202E9
+:10A7500002020202020202020202020202020202D9
+:10A7600002020202020202020202020202020202C9
+:10A7700002020202020202020201020201010202BC
+:10A7800002020202020202020202020202010102AB
+:10A790000202020202020202020202020202020299
+:10A7A000020101010102020002020202020202028F
+:10A7B000020101010102020202020202020102027E
+:10A7C0000102020202020201010101010101010173
+:10A7D0000201010101010101010101010101010069
+:10A7E0000202020202020202020202020202020249
+:10A7F000020202020202020202020202020201023A
+:10A800000202020202020202020202020202010229
+:10A810000202020202020202020202020202020218
+:10A820000202020202020202020202020202020208
+:10A8300002020202020202020202020202010202F9
+:10A8400002020202020202020202020202020202E8
+:10A8500002020202020202020202020202020202D8
+:10A8600002020202020202020202020202020202C8
+:10A8700002020202020202020202020202020202B8
+:10A8800002020202020202020202020202020102A9
+:10A890000202020202020202020202020202020298
+:10A8A000020201010102020002020202020202028D
+:10A8B000020201010102020202020202020202027B
+:10A8C0000202020202020202010101010101010170
+:10A8D0000101010101010101010101010101010069
+:10A8E0000202020202020202020202020202020248
+:10A8F0000202020202020202020202020202020238
+:10A900000202020202020202020202020202010228
+:10A910000202020202020202020202020202020217
+:10A920000202020202020202020202020202020207
+:10A9300002020202020202020202020202010202F8
+:10A9400002020202020202020202020202020202E7
+:10A9500002020202020202020202020202020202D7
+:10A9600002020202020202020202020202020202C7
+:10A9700002020202020202020202020202020202B7
+:10A9800002020202020202020202020202020102A8
+:10A990000202020202020202020202020202020297
+:10A9A000020202010102020002020202020202028B
+:10A9B0000202020101020202020202020202020279
+:10A9C000020202020202020202010101010101016E
+:10A9D0000101010101010101010101010101010167
+:10A9E0000202020202020202010202020202020248
+:10A9F0000202020202020202020202020202020237
+:10AA00000202020202020202020202020202020226
+:10AA10000202020202020202020202020202020216
+:10AA20000202020202020202020202020202020206
+:10AA300002020202020202020202020202010202F7
+:10AA400002020202020202020202020202020202E6
+:10AA500002020202020202020202020202020202D6
+:10AA600002020202020202020202020202020202C6
+:10AA700002020202020202020202020202020202B6
+:10AA800002020202020202020202020202020102A7
+:10AA90000202020202020202020202020202020296
+:10AAA0000202020201020200020202020202020289
+:10AAB0000202020101020202020202020202020278
+:10AAC000020202020202020202010101010101016D
+:10AAD0000101010101010101010101010101010166
+:10AAE000020202020202020101010102010102024C
+:10AAF0000202020202020202020202020202020236
+:10AB00000202020202020202020202020202020225
+:10AB10000202020202020202020202020202020215
+:10AB20000202020202020202020202020202020205
+:10AB300002020202020202020202020202010202F6
+:10AB400002020202020202020202020202020202E5
+:10AB500002020202020202020202020202020202D5
+:10AB600002020202020202020202020202020202C5
+:10AB700002020202020202020202020202020202B5
+:10AB800002020202020202020202020202020102A6
+:10AB90000202020202020202020202020202020295
+:10ABA0000202020202020201020202020202020286
+:10ABB0000202020201020202020202020202020276
+:10ABC000020202020202020202020201010101016A
+:10ABD0000101010101010101010101010101010165
+:10ABE000020201020202010101010101010101024F
+:10ABF0000202020202020202020202020202020235
+:10AC00000202020202020202020202020202020224
+:10AC10000202020202020202020202020202020214
+:10AC20000202020202020202020202020202020204
+:10AC300002020202020202020202020202020202F4
+:10AC400002020202020202020202020202020202E4
+:10AC500002020202020202020202020202020202D4
+:10AC600002020202020202020202020202020202C4
+:10AC700002020202020202020202020202020202B4
+:10AC800002020202020202020202020202020102A5
+:10AC90000202020202020202020202020202020294
+:10ACA0000202020202020201020202020202020285
+:10ACB0000202020202020202020202020202020274
+:10ACC0000202020202020202020202020101010168
+:10ACD0000101010101010101010101010101010164
+:10ACE0000202010101010101010101010101010251
+:10ACF0000202020202020202020202020202020234
+:10AD00000202020202020202020202020202020223
+:10AD10000202020202020202020202020202020213
+:10AD20000202020202020202020202020202020203
+:10AD300002020202020202020202020202020202F3
+:10AD400002020202020202020202020202020202E3
+:10AD500002020202020202020202020202020202D3
+:10AD600002020202020202020202020202020202C3
+:10AD700002020202020202020202020202020202B3
+:10AD800002020202020202020202020202020102A4
+:10AD90000202020202020202020202020202020293
+:10ADA0000202020202020201020202020202020284
+:10ADB0000202020202020202020202020202020273
+:10ADC0000202020202020202020202020101010266
+:10ADD0000101010101010101010101010101010163
+:10ADE0000202010101010101010101010101010151
+:10ADF0000202020202020101010102020202020237
+:10AE00000202020202020202020202020202020222
+:10AE10000202020202020202020202020202020212
+:10AE20000202020202020202020202020202020202
+:10AE300002020202020202020202020202020202F2
+:10AE400002020202020202020202020202020202E2
+:10AE500002020202020202020202020202020202D2
+:10AE600002020202020202020202020202020202C2
+:10AE700002020202020202020202020202020202B2
+:10AE800002020202020202020202020202020102A3
+:10AE90000202020202020202020202020202020292
+:10AEA0000202020202020201020202020202020283
+:10AEB0000202020202020202020202020202020272
+:10AEC0000202020202020202020202020201010264
+:10AED0000101010101010101010101010101010162
+:10AEE0000201010101010101010101010101010151
+:10AEF000020202020201010101010101010102023B
+:10AF00000202020202020202020102020202020222
+:10AF10000202020202020202020202020202020211
+:10AF20000202020202020202020202020202020201
+:10AF300002020202020202020202020202020202F1
+:10AF400002020202020202020202020202020202E1
+:10AF500002020202020202020202020202020202D1
+:10AF600002020202020202020202020202020202C1
+:10AF700002020202020202020202020202020202B1
+:10AF800002020202020202020202020202020202A1
+:10AF90000202020202020202020202020202020291
+:10AFA0000202020202020201020202020202020282
+:10AFB0000202020202020202020202020202020271
+:10AFC0000202020202020202020202020201020262
+:10AFD0000101010101010101010101010101010161
+:10AFE0000101010101010101010101010101010151
+:10AFF000020201010101010101010101010102013E
+:10B000000202020202020201010101020102020225
+:10B010000202020202020202020202020202020210
+:10B020000202020202020202020202020202020200
+:10B0300002020202020202020202020202020202F0
+:10B0400002020202020202020202020202020202E0
+:10B0500002020202020202020202020202020202D0
+:10B0600002020202020202020202020202020202C0
+:10B0700002020202020202020202020202020202B0
+:10B0800002020202020202020202020202020202A0
+:10B090000202020202020202020202020202020290
+:10B0A0000202020202020202020202020202020280
+:10B0B0000202020202020202020202020202020270
+:10B0C0000202020202020202020202020202020260
+:10B0D0000101010101010101010101010101010160
+:10B0E0000101010101010101010101010101010150
+:10B0F000010101010101010101010101010102013F
+:10B10000020201010101010101010101010102022B
+:10B110000202020202020101010101020101020216
+:10B1200002020202020202020202020202020202FF
+:10B1300002020202020202020202020202020202EF
+:10B1400002020202020202020202020202020202DF
+:10B1500002020202020202020202020202020202CF
+:10B1600002020202020202020202020202020202BF
+:10B1700002020202020202020202020202020202AF
+:10B18000020202020202020202020202020202029F
+:10B19000020202020202020202020202020202028F
+:10B1A000020202020202020202020202020202027F
+:10B1B000020202020202020202020202020202026F
+:10B1C000020202020202020202020202020202025F
+:10B1D000010101010101010101010101010101015F
+:10B1E000010101010101010101010101010101014F
+:10B1F000010101010101010101010101010102013E
+:10B20000010101010101010101010101010102022C
+:10B21000020202010101010101010101010101021A
+:10B2200002020202020202020202020202020202FE
+:10B2300002020202020202020202020202020202EE
+:10B2400002020202020202020202020202020202DE
+:10B2500002020202020202020202020202020202CE
+:10B2600002020202020202020202020202020202BE
+:10B2700002020202020202020202020202020202AE
+:10B28000020202020202020202020202020202029E
+:10B29000020202020202020202020202020202028E
+:10B2A000020202020202020202020202020202027E
+:10B2B000020202020202020202020202020202026E
+:10B2C000020202020202020202020202020202025E
+:10B2D000010101010101010101010101010101015E
+:10B2E000010101010101010101010101010101014E
+:10B2F000010101010101010101010101010101013E
+:10B30000010101010101010101010101010102022B
+:10B31000020101010101010101010101010101021B
+:10B3200002020202020202020101020202020202FF
+:10B3300002020202020202020202020202020202ED
+:10B3400002020202020202020202020202020202DD
+:10B3500002020202020202020202020202020202CD
+:10B3600002020202020202020202020202020202BD
+:10B3700002020202020202020202020202020202AD
+:10B38000020202020202020202020202020202029D
+:10B39000020202020202020202020202020202028D
+:10B3A000020202020202020202020202020202027D
+:10B3B000020202020202020202020202020202026D
+:10B3C000020202020202020202020202020202025D
+:10B3D000010101010101010101010101010101015D
+:10B3E000010101010101010101010101010101014D
+:10B3F000010101010101010101010101010101013D
+:10B40000010101010101010101010101010101012C
+:10B41000010101010101010101010101010101021B
+:10B420000202010101010101010101010101010209
+:10B4300002020202020202020202020202020202EC
+:10B4400002020202020202020202020202020202DC
+:10B4500002020202020202020202020202020202CC
+:10B4600002020202020202020202020202020202BC
+:10B4700002020202020202020202020202020202AC
+:10B48000020202020202020202020202020202029C
+:10B49000020202020202020202020202020202028C
+:10B4A000020202020202020202020202020202027C
+:10B4B000020202020202020202020202020202026C
+:10B4C000020202020202020202020202020202025C
+:10B4D000010101010101010101010101010101015C
+:10B4E000010101010101010101010101010101014C
+:10B4F000010101010101010101010101010101013C
+:10B50000010101010101010101010101010101012B
+:10B51000010101010101010101010101010101011B
+:10B52000020101010101010101010101010101010A
+:10B5300002020102020101010101010102020202F3
+:10B5400002020202020202020202020202020202DB
+:10B5500002020202020202020202020202020202CB
+:10B5600002020202020202020202020202020202BB
+:10B5700002020202020202020202020202020202AB
+:10B58000020202020202020202020202020202029B
+:10B59000020202020202020202020202020202028B
+:10B5A000020202020202020202020202020202027B
+:10B5B000020202020202020202020202020202026B
+:10B5C000020202020202020202020202020202025B
+:10B5D000010101010101010101010101010101015B
+:10B5E000010101010101010101010101010101014B
+:10B5F000010101010101010101010101010101013B
+:10B60000010101010101010101010101010101012A
+:10B61000010101010101010101010101010101011A
+:10B62000010101010101010101010101010101010A
+:10B6300001010101010101010101010101020101F9
+:10B6400002020202020101010101010101020202E2
+:10B6500002020202020202020202020202020202CA
+:10B6600002020202020202020202020202020202BA
+:10B6700002020202020202020202020202020202AA
+:10B68000020202020202020202020202020202029A
+:10B69000020202020202020202020202020202028A
+:10B6A000020202020202020202020202020202027A
+:10B6B000020202020202020202020202020202026A
+:10B6C000020202020202020202020202020202025A
+:10B6D000010101010101010101010101010101015A
+:10B6E000010101010101010101010101010101014A
+:10B6F000010101010101010101010101010101013A
+:10B700000101010101010101010101010101010129
+:10B710000101010101010101010101010101010119
+:10B720000101010101010101010101010101010109
+:10B7300001010101010101010101010101010101F9
+:10B7400001010101010101010101010101010101E9
+:10B7500002020202020202020201010201020202CC
+:10B7600002020202020202020202020202020202B9
+:10B7700002020202020202020202020202020202A9
+:10B780000202020202020202020202020202020299
+:10B790000202020202020202020202020202020289
+:10B7A0000202020202020202020202020202020279
+:10B7B0000202020202020202020202020202020269
+:10B7C0000202020202020202020202020202020259
+:10B7D0000101010101010101010101010101010159
+:10B7E0000101010101010101010101010101010149
+:10B7F0000101010101010101010101010101010139
+:10B800000101010101010101010101010101010128
+:10B810000101010101010101010101010101010118
+:10B820000101010101010101010101010101010108
+:10B8300001010101010101010101010101010101F8
+:10B8400001010101010101010101010101010101E8
+:10B8500001010101010101010101010101010101D8
+:10B8600002020202020202020202020202020202B8
+:10B8700002020202020202020202020202020202A8
+:10B880000202020202020202020202020202020298
+:10B890000202020202020202020202020202020288
+:10B8A0000202020202020202020202020202020278
+:10B8B0000202020202020202020202020202020268
+:10B8C0000202020202020202020202020202020258
+:10B8D0000101010101010101010101010101010158
+:10B8E0000101010101010101010101010101010148
+:10B8F0000101010101010101010101010101010138
+:10B900000101010101010101010101010101010127
+:10B910000101010101010101010101010101010117
+:10B920000101010101010101010101010101010107
+:10B9300001010101010101010101010101010101F7
+:10B9400001010101010101010101010101010101E7
+:10B9500001010101010101010101010101010101D7
+:10B9600001010101010101010101010101010101C7
+:10B9700002020202020202020202020202020202A7
+:10B980000202020202020202020202020202020297
+:10B990000202020202020202020202020202020287
+:10B9A0000202020202020202020202020202020277
+:10B9B0000202020202020202020202020202020267
+:10B9C0000202020202020202020202020202020257
+:10B9D0000101010101010101010101010101010157
+:10B9E0000101010101010101010101010101010147
+:10B9F0000101010101010101010101010101010137
+:10BA00000101010101010101010101010101010126
+:10BA10000101010101010101010101010101010116
+:10BA20000101010101010101010101010101010106
+:10BA300001010101010101010101010101010101F6
+:10BA400001010101010101010101010101010101E6
+:10BA500001010101010101010101010101010101D6
+:10BA600001010101010101010101010101010101C6
+:10BA700001010101010101010101010101010101B6
+:10BA80000202020202020202020202020202020296
+:10BA90000202020202020202020202020202020286
+:10BAA0000202020202020202020202020202020276
+:10BAB0000202020202020202020202020202020266
+:10BAC0000202020202020202020202020202020256
+:10BAD0000101010101010101010101010101010156
+:10BAE0000101010101010101010101010101010146
+:10BAF0000101010101010101010101010101010136
+:10BB00000101010101010101010101010101010125
+:10BB10000101010101010101010101010101010115
+:10BB20000101010101010101010101010101010105
+:10BB300001010101010101010101010101010101F5
+:10BB400001010101010101010101010101010101E5
+:10BB500001010101010101010101010101010101D5
+:10BB600001010101010101010101010101010101C5
+:10BB700001010101010101010101010101010101B5
+:10BB800001010101010101010101010101010201A4
+:10BB90000202020202020202020202020202020285
+:10BBA0000202020202020202020202020202020275
+:10BBB0000202020202020202020202020202020265
+:10BBC0000202020202020202020202020202020255
+:10BBD0000101010101010101010101010101010155
+:10BBE0000101010101010101010101010101010145
+:10BBF0000101010101010101010101010101010135
+:10BC00000101010101010101010101010101010124
+:10BC10000101010101010101010101010101010114
+:10BC20000101010101010101010101010101010104
+:10BC300001010101010101010101010101010101F4
+:10BC400001010101010101010101010101010101E4
+:10BC500001010101010101010101010101010101D4
+:10BC600001010101010101010101010101010101C4
+:10BC700001010101010101010101010101010101B4
+:10BC800001010101010101010101010101010101A4
+:10BC90000101010101010101010101010101010194
+:10BCA0000202020202020202020202020202020274
+:10BCB0000202020202020202020202020202020264
+:10BCC0000202020202020202020202020202020254
+:10BCD0000101010101010101010101010101010154
+:10BCE0000101010101010101010101010101010144
+:10BCF0000101010101010101010101010101010134
+:10BD00000101010101010101010101010101010123
+:10BD10000101010101010101010101010101010113
+:10BD20000101010101010101010101010101010103
+:10BD300001010101010101010101010101010101F3
+:10BD400001010101010101010101010101010101E3
+:10BD500001010101010101010101010101010101D3
+:10BD600001010101010101010101010101010101C3
+:10BD700001010101010101010101010101010101B3
+:10BD800001010101010101010101010101010101A3
+:10BD90000101010101010101010101010101010193
+:10BDA000020202020201010201010101010101017D
+:10BDB0000202020202020202020202020202020263
+:10BDC0000202020202020202020202020202020253
+:10BDD0000101010101010101010101010101010153
+:10BDE0000101010101010101010101010101010143
+:10BDF0000101010101010101010101010101010133
+:10BE00000101010101010101010101010101010122
+:10BE10000101010101010101010101010101010112
+:10BE20000101010101010101010101010101010102
+:10BE300001010101010101010101010101010101F2
+:10BE400001010101010101010101010101010101E2
+:10BE500001010101010101010101010101010101D2
+:10BE600001010101010101010101010101010101C2
+:10BE700001010101010101010101010101010101B2
+:10BE800001010101010101010101010101010101A2
+:10BE90000101010101010101010101010101010192
+:10BEA0000101010101010101010101010101010182
+:10BEB000020202020201010101010101010101016D
+:10BEC0000202020202020202020202020202020252
+:10BED0000101010101010101010101010101010152
+:10BEE0000101010101010101010101010101010142
+:10BEF0000101010101010101010101010101010132
+:10BF00000101010101010101010101010101010121
+:10BF10000101010101010101010101010101010111
+:10BF20000101010101010101010101010101010101
+:10BF300001010101010101010101010101010101F1
+:10BF400001010101010101010101010101010101E1
+:10BF500001010101010101010101010101010101D1
+:10BF600001010101010101010101010101010101C1
+:10BF700001010101010101010101010101010101B1
+:10BF800001010101010101010101010101010101A1
+:10BF90000101010101010101010101010101010191
+:10BFA0000101010101010101010101010101010181
+:10BFB0000101010101010101010101010101010171
+:10BFC0000201010101010101010101010101010160
+:10BFD0000000000000000000000000000000000061
+:10BFE0000000000000000000000000000000000051
+:10BFF0000000000000000000000000000000000041
+:10C000000000000000000000000000000000000030
+:10C010000000000000000000000000000000000020
+:10C020000000000000000000000000000000000010
+:10C030000000000000000000000000000000000000
+:10C0400000000000000000000000000000000000F0
+:10C0500000000000000000000000000000000000E0
+:10C0600000000000000000000000000000000000D0
+:10C0700000000000000000000000000000000000C0
+:10C0800000000000000000000000000000000000B0
+:10C0900000000000000000000000000000000000A0
+:10C0A0000000000000000000000000000000000090
+:10C0B0000000000000000000000000000000000080
+:10C0C0000000000000000000000000000000000070
+:10C0D000430000000000000000000000000000001D
+:10C0E0000000000000000000000000000000000050
+:10C0F0000000000000000000000000000000000040
+:10C10000000000000000000000000000000000002F
+:10C11000000000000000000000000000000000001F
+:10C12000000000000000000000000000000100000E
+:10C1300000000000000000000000000000000000FF
+:10C1400000000000000000000000000000000000EF
+:10C1500000000000000000000000000000000000DF
+:10C1600000000000000000000000000000000000CF
+:10C1700000000000000000000000000000000000BF
+:10C1800000000000000000000000000000000000AF
+:10C19000000000000000000000000000000000009F
+:10C1A000000000000000000000000000000000008F
+:10C1B000000000000000000000000000000000007F
+:10C1C000000000000000000000000000000000006F
+:10C1D000000000000000000000000000000000005F
+:10C1E000000100010100010000000000000000004B
+:10C1F000000000000000000000000000000000003F
+:10C20000000000000000000000000000000000002E
+:10C21000000000000000000000000000000000001E
+:10C22000000000000000000000000000000100000D
+:10C2300000000000000000000000000000000000FE
+:10C2400000000000000000000000000000000000EE
+:10C2500000000000000000000000000000000000DE
+:10C2600000000000000000000000000000000000CE
+:10C2700000000000000000000000000000000000BE
+:10C2800000000000000000000000000000000000AE
+:10C29000000000000000000000000000000000009E
+:10C2A000000000000000000000000000000000008E
+:10C2B000000000000000000000000000000000007E
+:10C2C000000000000000000000000000000000006E
+:10C2D0000000000000000000010101010101010156
+:10C2E0000101010101010100000000000000000047
+:10C2F000000000000000000000000000000000003E
+:10C30000000000000000000100000000000000002C
+:10C31000000000000000000000000000000000001D
+:10C32000000000000000000000000000010100000B
+:10C3300000000000000000000000000000000000FD
+:10C3400000000000000000000000000000000000ED
+:10C3500000000000000000000000000000000000DD
+:10C3600000000000000000000000000000000000CD
+:10C3700000000000000000000000000000000000BD
+:10C3800000000000000000000000000000000000AD
+:10C39000000000000000000000000000000000009D
+:10C3A000000000000000000000000000000000008D
+:10C3B000000000000000000000000000000000007D
+:10C3C000000000000000000000000000000000006D
+:10C3D0000000000000000000010101010101010155
+:10C3E0000101010101010100000000000000000046
+:10C3F000000000000000000000000000000000003D
+:10C40000000000000000000100000000000000002B
+:10C41000000000000000000000000000000000001C
+:10C42000000000000000000000000000010100000A
+:10C4300000000000000000000000000000000000FC
+:10C4400000000000000000000000000000000000EC
+:10C4500000000000000000000000000000000000DC
+:10C4600000000000000000000000000000000000CC
+:10C4700000000000000000000000000000000000BC
+:10C4800000000000000000000000000000000000AC
+:10C49000000000000000000000000000000000009C
+:10C4A000000000000000000000000001000000008B
+:10C4B000000000000000000000000000000000007C
+:10C4C000000000000000000000000000000000006C
+:10C4D0000000000000000000010101010101010154
+:10C4E0000101010101010100000000000000000045
+:10C4F000000000000000000000000000000000003C
+:10C50000000000000000000100000000000000002A
+:10C51000000000000000000000000000000000001B
+:10C520000000000000000000000000000101000009
+:10C5300000000000000000000000000000000000FB
+:10C5400000000000000000000000000000000000EB
+:10C5500000000000000000000000000000000000DB
+:10C5600000000000000000000000000000000000CB
+:10C5700000000000000000000000000000000000BB
+:10C5800000000000000000000000000000000000AB
+:10C590000000000000000000000101010101010194
+:10C5A0000000000000000001000000010000000089
+:10C5B000000000000000000000000000000000007B
+:10C5C000000000000000000000000000000000006B
+:10C5D0000000000000000000010101010101010153
+:10C5E0000101010101010100000000000000000044
+:10C5F000000000000000000000000000000000003B
+:10C600000000000000000001000000000000000029
+:10C61000000000000000000000000000000000001A
+:10C620000000000000000000000000000101000008
+:10C6300000000000000000000000000000000000FA
+:10C6400000000000000000000000000000000000EA
+:10C6500000000000000000000000000000000000DA
+:10C6600000000000000000000000000000000000CA
+:10C6700000000000000000000000000000000000BA
+:10C6800000000000000000000000000000000000AA
+:10C690000000000000000000000101010101010193
+:10C6A0000000000000000001000000010101000086
+:10C6B000000000000000000000000000000000007A
+:10C6C000000000000000000000000000000000006A
+:10C6D0000000000000000000010101010101010152
+:10C6E0000101010101010100000000000000000043
+:10C6F000000000000000000000000000000000003A
+:10C700000000000000000001000000000000000028
+:10C710000000000000000000000001010001000016
+:10C720000000000000000000000000000101010105
+:10C7300000000000000000000000000000000000F9
+:10C7400000000000000000000001000000000000E8
+:10C7500000000000000000000000000000000000D9
+:10C7600000000000000000010000000000000000C8
+:10C7700000000000000000000000000000000000B9
+:10C7800000000000000000000000000000000000A9
+:10C790000000000000000000000101010101010192
+:10C7A0000000000000000001000000010101000085
+:10C7B0000000000000000000000000000000000079
+:10C7C0000000000000000000000000000000000069
+:10C7D0000000000000000000010101010101010151
+:10C7E0000101010101010100000000000000000042
+:10C7F0000000000101000000000000000000000037
+:10C800000000000001000001000000000000000026
+:10C810000000000000000000000001010001000015
+:10C820000000000000000000000000000101010104
+:10C8300000000000000000000000000000000000F8
+:10C8400000000000000000000001000000000000E7
+:10C8500000000000000000000000000000000000D8
+:10C8600000000000000000010000000000000000C7
+:10C8700000000000000000000000000000000000B8
+:10C8800000000000000000000000000000000000A8
+:10C890000000000000000000000101010101010191
+:10C8A0000000000000000001000101010101000082
+:10C8B0000000000000000000000000000000000078
+:10C8C0000000000000000000000000000000000068
+:10C8D0000000000000000000010101010101010150
+:10C8E0000101010101010100000000000000000041
+:10C8F0000000010101000001000100000000000132
+:10C900000000010001000001000000000000000024
+:10C910000000000000000000000001010101000013
+:10C920000000000000000001000000000101010102
+:10C9300000000000000000000000000100000000F6
+:10C9400000000000000000000101000100000000E4
+:10C9500000000000000100000000000000000000D6
+:10C9600000000000000000010000000000000000C6
+:10C9700000000000000000000000000000000000B7
+:10C9800000000000000000000000000000000000A7
+:10C99000000000000000000001010101010101018F
+:10C9A0000000000000000001000101010101000081
+:10C9B0000000000000000000000000000000000077
+:10C9C0000000000000000000000000000000000067
+:10C9D000000000000000000001010101010101014F
+:10C9E0000101010101010100000000000000000040
+:10C9F0000001010101000001000100000000000130
+:10CA00000001010101000001000000000000000021
+:10CA10000000000000000000000001010101000012
+:10CA20000000000000000001000000000101010101
+:10CA300000000000000000000000000100000000F5
+:10CA400000000000000000000101000100000000E3
+:10CA500000000000000100000000000000000000D5
+:10CA600000000000000000010000000000000000C5
+:10CA700000000000000000000000000000000000B6
+:10CA800000000000000000010000000000000000A5
+:10CA9000000000000000000001010101010101018E
+:10CAA000000000000000000100010101010101017E
+:10CAB0000000000000000000000000000000000076
+:10CAC0000000000000000000000000000000000066
+:10CAD000000000000000000001010101010101014E
+:10CAE0000101010101010100010101010101000039
+:10CAF000010101010100000101010000000001012C
+:10CB0000010101010100000100000000000001001E
+:10CB1000000000000000000000000101010101010F
+:10CB20000000000000000001000000000101010100
+:10CB300000000000000000000101000100000000F2
+:10CB400000000000000000000101010100000000E1
+:10CB500000000000000100000000000100000000D3
+:10CB600000000000000000010000000000000000C4
+:10CB700000000000000000010000000000000000B4
+:10CB800000000000000000010000000000000000A4
+:10CB9000000000000000000001010101010101018D
+:10CBA000000000000000000100010101010101017D
+:10CBB0000000000000000000000000010000000074
+:10CBC0000000000000000000000000000000000065
+:10CBD000000000000000000001010101010101014D
+:10CBE0000101010101010100010101010101000038
+:10CBF000010101010100000101010000000001012B
+:10CC0000010101010100000100000000000001001D
+:10CC1000000000000000000000000101010101010E
+:10CC200000000000000000010000000001010101FF
+:10CC300000000000000000000101000100000000F1
+:10CC400000000000000000000101010100000000E0
+:10CC500000000000000100000000000100000000D2
+:10CC600000000000000000010000000000000000C3
+:10CC700000000000000000010000000100000000B2
+:10CC800000000000000000010001000100000000A1
+:10CC9000000000000000000101010101010101018B
+:10CCA0000001000001000101010101010101010178
+:10CCB0000000000000000001000000010000000072
+:10CCC0000000000000000000000000000000000064
+:10CCD000000000000000000001010101010101014C
+:10CCE0000101010101010100010101010101010135
+:10CCF000010101010100000101010000000001012A
+:10CD0000010101010100000100000000000001011B
+:10CD1000000000000000000000000101010101010D
+:10CD200000000000000000010100000001010101FD
+:10CD300000000000000000000101010100010000EE
+:10CD400000000000000000000101010100000000DF
+:10CD500000000000000100000101000100000000CF
+:10CD600000000000000000010000000000000000C2
+:10CD700000000000000000010000000100000000B1
+:10CD800000000000000000010001000100000000A0
+:10CD9000000000000000000101010101010101018A
+:10CDA0000001000001010101010101010101010176
+:10CDB0000000000000000001000000010000000071
+:10CDC0000000000000000000000000000000000063
+:10CDD000000000000000000001010101010101014B
+:10CDE0000101010101010100010101010101010134
+:10CDF0000101010101000001010100000000010129
+:10CE0000010101010100000100000000000001011A
+:10CE1000000000010000010000000101010101010A
+:10CE200000010000000000010100000001010101FB
+:10CE300000000000000000000101010100010000ED
+:10CE400000000000000000000101010100000000DE
+:10CE500000000000000100000101000100000000CE
+:10CE600000000000000001010000000000000000C0
+:10CE700000000000000000010001000100000000AF
+:10CE8000000000000000000100010001000000009F
+:10CE90000000000000000001010101010101010189
+:10CEA0000001000001010101010101010101010175
+:10CEB0000000000000000001000000010000000070
+:10CEC0000000000000000000000000000000000062
+:10CED0000000000000000000020101010101010149
+:10CEE0000101010101010100010101010101010133
+:10CEF0000101010101000001010100010000010127
+:10CF00000101010101010001000100000000010117
+:10CF10000000010100000100000001010101010108
+:10CF200000010100000000010101000001010101F8
+:10CF300000000000000000000101010101010000EB
+:10CF400000000000000000000101010100000000DD
+:10CF500000000000000100000101000100000000CD
+:10CF600000000000000001010101000100000000BC
+:10CF700000000000000000010001000100000000AE
+:10CF8000000000000000010100010001000000009D
+:10CF90000000000000000001010101010101010188
+:10CFA0000101010001010101010101010101010172
+:10CFB000000000000000000100000001000100006E
+:10CFC0000000000000000000000000000000000061
+:10CFD0000000000000000000020101010101010148
+:10CFE0000101010101010100010101010101010132
+:10CFF0000101010101000001010100010000010126
+:10D000000101010101010001000100000000010116
+:10D010000001010100000100000001010101010106
+:10D0200000010100000000010101000001010101F7
+:10D0300000000000000000000101010101010000EA
+:10D0400000000000000000000101010100000000DC
+:10D0500000000000000100000101000100000000CC
+:10D0600000000000000001010101000100000000BB
+:10D0700000000000000001010101010100000000AA
+:10D080000000000000000101010101010001000099
+:10D090000000000000000001010101010101010187
+:10D0A0000101010101010101010101010101010170
+:10D0B000000000000000000100000001000100006D
+:10D0C0000000000000000000000000000000000060
+:10D0D0000000000000000000020202010101010145
+:10D0E0000101010101010100010101010101010131
+:10D0F0000101010101000001010101010001010123
+:10D100000101010101010001000101010000010113
+:10D110000001010100000100010001010101010104
+:10D1200000010100000000010101000101010101F5
+:10D1300000000100000000000101010101010000E8
+:10D1400000000000000000000101010101010000D9
+:10D1500000000000000100000101010100000000CA
+:10D1600000000000000101010101000100000000B9
+:10D1700000000000000001010101010100000000A9
+:10D180000000000000000101010101010001000098
+:10D190000000000000000101010101010101010185
+:10D1A000010101010101010101010101010101016F
+:10D1B0000001000001000101000101010101000066
+:10D1C000000000000000000000000000000000005F
+:10D1D0000000000000000000020202010101010144
+:10D1E000010202020202010001010101010101012B
+:10D1F0000101010101000001010101010001010122
+:10D200000101010101010001000101010000010112
+:10D210000001010101000100010001010101010102
+:10D2200000010100000000010101000101010101F4
+:10D2300000010100000000000101010101010000E6
+:10D2400000000000000000000101010101010000D8
+:10D2500000000000000100000101010100000000C9
+:10D2600000000000010101010101000100000000B7
+:10D2700000000000000001010101010100010000A7
+:10D280000000000000010101010101010101000095
+:10D290000000000000010101010101010101010183
+:10D2A000010101010101010101010101010101016E
+:10D2B0000001000001010101000101010101000064
+:10D2C000000000000000000000000000000000005E
+:10D2D000000000000000000002020202020202013F
+:10D2E0000202020202020100010101010101010129
+:10D2F0000101010101000001010101010001010121
+:10D300000101010101010001000101010000010111
+:10D3100001010101010001010100010101010101FF
+:10D3200000010100000000010101010101010101F2
+:10D3300001010100000100000101010101010000E3
+:10D3400000000000000000000101010101010000D7
+:10D3500000000000000100000101010100000000C8
+:10D3600000000000010101010101010100000000B5
+:10D3700000000000000101010101010100010000A5
+:10D380000000000001010101010101010101000093
+:10D390000000000001010101010101010101010181
+:10D3A000010101010101010101010101010101016D
+:10D3B0000001000001010101000101010101010161
+:10D3C000000000000000000000000000000000005D
+:10D3D000000000000000000002020202020202023D
+:10D3E0000202020202020100020101010101010127
+:10D3F0000101010101000001010101010001010120
+:10D400000101010101010001000101010000010110
+:10D4100001010101010001010100010101010101FE
+:10D4200000010100000000010101010101010101F1
+:10D4300001010101000100000101010101010000E1
+:10D4400000000000000000000101010101010000D6
+:10D4500000000000000100000101010100000000C7
+:10D4600000000000010101010101010100000000B4
+:10D4700000000000010101010101010101010000A2
+:10D480000000000001010101010101010101000191
+:10D490000000000001010101010101010101010180
+:10D4A000010101010101010101010101010101016C
+:10D4B000010101000101010100010101010101015E
+:10D4C000000000000000000000000000000000005C
+:10D4D000000000000000000002020202020202023C
+:10D4E0000202020202020100020101010101010126
+:10D4F000010101010101000102010101010101011C
+:10D50000010101010101000101010101000001010E
+:10D5100001010101010101010101010101010101FB
+:10D5200001010100000000010101010101010101EF
+:10D5300001010101000100000101010101010101DE
+:10D5400000000000000000000101010101010001D4
+:10D5500000000000000100000101010101010000C4
+:10D5600000000000010101010101010101010000B1
+:10D5700000000000010101010101010101010000A1
+:10D580000000000001010101010101010101000190
+:10D59000000000000101010101010101010101017F
+:10D5A000010101010101010101010101010101016B
+:10D5B000010101010101010101010101010101015B
+:10D5C000000000000000000000000000000000005B
+:10D5D000000000000000000002020202020202023B
+:10D5E0000202020202020200020201010101010123
+:10D5F000010101010101000102020101010101011A
+:10D60000010101010101000101010101000001010D
+:10D6100001010101010101010101010101010101FA
+:10D6200001010100000000010101010101010101EE
+:10D6300001010101010100000101010101010101DC
+:10D6400000000000010000000101010101010001D2
+:10D6500000000001010100000101010101010000C1
+:10D6600000000000010101010101010101010000B0
+:10D67000000000000101010101010101010100019F
+:10D68000000000000101010101010101010101018E
+:10D69000000000000101010101010101010101017E
+:10D6A000010101010101010101010101010101016A
+:10D6B000010101010101010101010101010101015A
+:10D6C000000000000000000000000000000000005A
+:10D6D000000000000000000002020202020202023A
+:10D6E0000202020202020200020202010101010121
+:10D6F0000101010101010001020201010101010119
+:10D70000010101010101000101010101010101010A
+:10D7100001010101010101010101020101010101F8
+:10D7200001010100000000010101010102020101EB
+:10D7300001010101010100010101010101010101DA
+:10D7400000000100010000000201010101010101CE
+:10D7500000000001010100010101010101010000BF
+:10D7600000000000010101010101010101010000AF
+:10D77000000000000101010101010101010100019E
+:10D78000000000000101010101010101010101018D
+:10D79000000000000101010101010101010101017D
+:10D7A0000101010101010101010101010101010169
+:10D7B0000101010101010101010101010101010159
+:10D7C0000000000000000001000000000000000058
+:10D7D0000000000000000000020202020202020239
+:10D7E000020202020202020002020201020101011F
+:10D7F0000202020201010001020201010101010114
+:10D800000101010101010001010101010101010109
+:10D8100001010101010101010101020101010101F7
+:10D8200001010100000000010201010102020101E9
+:10D8300001010101010100010201010101010101D8
+:10D8400000010100010000000202010101010101CB
+:10D8500000000001010100010101010101010000BE
+:10D8600000000000010101010101010101010000AE
+:10D87000000000000101010101010101010100019D
+:10D88000000000000101010101010101010101018C
+:10D89000000000000101010102020101010101017A
+:10D8A0000101010101010101010101010101010168
+:10D8B0000101010101010101010101010101010158
+:10D8C0000000000000000001000000000000000057
+:10D8D0000000000000000000020202020202020238
+:10D8E000020202020202020002020202020202011B
+:10D8F0000202020202010001020201010101010112
+:10D900000101010101010001010201010101010107
+:10D9100001010101010101010101020201010101F5
+:10D9200001010100000000010201010102020101E8
+:10D9300001010101010100010201010101010101D7
+:10D9400000010100010000000202010101010101CA
+:10D9500000000001010100010201010101010000BC
+:10D9600000000000010101010101010101010000AD
+:10D97000000000000101010101010101010100019C
+:10D980000001000101010101010101010101010189
+:10D990000000000101010101020202010101010177
+:10D9A0000101010101010101010101010101010167
+:10D9B0000101010101010101010101010101010157
+:10D9C0000000000000000001000000000000000056
+:10D9D0000000000000000000020202020202020237
+:10D9E0000202020202020200020202020202020219
+:10D9F000020202020201000102020101010102020F
+:10DA00000101010101010101010201010101020104
+:10DA100001010101010101010201020202020101F1
+:10DA200001010100000000010201010102020201E6
+:10DA300001010101010100010202010101010101D5
+:10DA400000010101010000000202010101010101C8
+:10DA500000010001010101010201010101010000B9
+:10DA600000000000010101010101010101010000AC
+:10DA7000000000000101010101010101010101019A
+:10DA80000001010101010101010101010101010187
+:10DA90000000000101010101020202010101010176
+:10DAA0000101010101010101020201010101010164
+:10DAB0000101010101010101010101010101010156
+:10DAC0000001000001000001000000000000000053
+:10DAD0000000000000000000020202020202020236
+:10DAE0000202020202020200020202020202020218
+:10DAF000020202020201000102020201010102020D
+:10DB000002020201010101010202020101010201FE
+:10DB100001010101010101010201020202020101F0
+:10DB200001010100000000010202010102020202E3
+:10DB300001010101010100010202010101010101D4
+:10DB400000010101010000000202020101010101C6
+:10DB500000010101010101010202010101010001B5
+:10DB600000000100010101010201010101010001A8
+:10DB70000000000001010101020101010101010198
+:10DB80000001010101010101020201010101010184
+:10DB90000001000101010101020202020201010172
+:10DBA0000101010101010101020202020101010161
+:10DBB0000101010101010101010101010101010155
+:10DBC0000001000001010001000000000000000051
+:10DBD0000000000000000000020202020202020235
+:10DBE0000202020202020200020202020202020217
+:10DBF000020202020201000102020202010102020B
+:10DC000002020202020101020202020101010202F9
+:10DC100001010101010101010201020202020201EE
+:10DC200001010100000001010202010102020202E1
+:10DC300001010101010101010202020201010101D0
+:10DC400000010101010000000202020201010101C4
+:10DC500000010101010101010202010101010001B4
+:10DC600000000101010101010201010101010001A6
+:10DC70000000000001010101020201010101010196
+:10DC80000001010101010101020201010101010183
+:10DC9000010101010101010102020202020202016D
+:10DCA000010101010101010102020202020101015F
+:10DCB0000101010101010101010101010101010154
+:10DCC000000100000101010100000000000000004F
+:10DCD0000000000000000000020202020202020234
+:10DCE0000202020202020200020202020202020216
+:10DCF000020202020201000102020202010102020A
+:10DD000002020202020101020202020201010202F7
+:10DD100001010101010101010201020202020202EC
+:10DD200001010100000001010202010102020202E0
+:10DD300001010101010101010202020201010101CF
+:10DD400001010101010000010202020201010101C1
+:10DD500001010101010101010202010201010101B0
+:10DD600000000101010101010202010101010001A4
+:10DD70000000000001010101020201010101010195
+:10DD80000001010101010101020201010101010182
+:10DD9000010101010101010102020202020202026B
+:10DDA000010101010101010102020202020201015D
+:10DDB0000101010101010101010101010101010153
+:10DDC000010101000101010100000000000000004C
+:10DDD0000000000000000000020202020202020233
+:10DDE0000202020202020200020202020202020215
+:10DDF0000202020202010102020202020102020206
+:10DE000002020202020101020202020201010202F6
+:10DE100001020202010101010202020202020202E7
+:10DE200001010100000001010202020102020202DE
+:10DE300001010101010101010202020201010101CE
+:10DE400001010101010000010202020201010101C0
+:10DE500001010101010101010202020201010101AE
+:10DE600000010101010101010202010101010001A2
+:10DE70000000000101010101020202020101010191
+:10DE8000010101010101010102020202010101017E
+:10DE9000010101010101010102020202020202026A
+:10DEA000010101010101010102020202020201015C
+:10DEB0000101010101010101010101010101010152
+:10DEC000010101010101010100000000000000004A
+:10DED0000000000000000000020202020202020232
+:10DEE0000202020202020200020202020202020214
+:10DEF0000202020202010102020202020202020204
+:10DF000002020202020101020202020201010202F5
+:10DF100002020202010101010202020202020202E5
+:10DF200001020100000001010202020202020202DB
+:10DF300001010101010101010202020202020101CB
+:10DF400001010101010000010202020201010101BF
+:10DF500001010101010101010202020201010101AD
+:10DF6000010101010101010102020101010101019F
+:10DF7000000001010101010102020202010101018F
+:10DF8000010101010101010102020202010101017D
+:10DF90000101010101010101020202020202020269
+:10DFA000010101010101010102020202020202015A
+:10DFB000010101010101010102020102010101014E
+:10DFC0000101010101010101000000000000000049
+:10DFD0000000000000000000020202020202020231
+:10DFE0000202020202020200020202020202020213
+:10DFF0000202020202010102020202020202020203
+:10E0000002020202020101020202020202010202F3
+:10E0100002020202010101010202020202020202E4
+:10E0200001020200000001010202020202020202D9
+:10E0300001010101010101010202020202020101CA
+:10E0400001010101010000010202020202010101BD
+:10E0500001010101010101010202020201010101AC
+:10E06000010101010101010102020202010101019C
+:10E07000000101010101010102020202010101018D
+:10E08000010101010101010102020202010101017C
+:10E090000101010101010101020202020202020268
+:10E0A0000101010101010101020202020202020258
+:10E0B000010101010101010102020202010101014C
+:10E0C0000101010101010101000000000000000048
+:10E0D0000000000000000000020202020202020230
+:10E0E0000202020202020200020202020202020212
+:10E0F0000202020202010102020202020202020202
+:10E1000002020202020201020202020202020202F0
+:10E1100002020202010102010202020202020202E2
+:10E1200001020200000101020202020202020202D6
+:10E1300002020201010101010202020202020101C6
+:10E1400001010101010000010202020202020101BB
+:10E1500001010101010201010202020201010101AA
+:10E16000010101010101010202020202010101019A
+:10E17000000101010101010102020202010101018C
+:10E180000101010101010101020202020202010179
+:10E190000101010101010101020202020202020267
+:10E1A0000102010101010102020202020202020255
+:10E1B000010101010101010102020202010101014B
+:10E1C0000101010101010101000000020000000045
+:10E1D000000000000000000102020202020202022E
+:10E1E0000202020202020200020202020202020211
+:10E1F0000202020202020102020202020202020200
+:10E2000002020202020201020202020202020202EF
+:10E2100002020202020102010202020202020202E0
+:10E2200002020201000101020202020202020202D3
+:10E2300002020201010101010202020202020101C5
+:10E2400001010101010001010202020202020101B9
+:10E2500001010101010201010202020202010101A8
+:10E260000101010101010102020202020101010199
+:10E270000001010101010101020202020202010189
+:10E280000101010101010101020202020202010178
+:10E290000101010101010101020202020202020266
+:10E2A0000202010101010102020202020202020253
+:10E2B0000101010101010101020202020202010148
+:10E2C0000101010101010101000000020000000044
+:10E2D000000000000000000102020202020202022D
+:10E2E0000202020202020200020202020202020210
+:10E2F00002020202020201020202020202020202FF
+:10E3000002020202020201020202020202020202EE
+:10E3100002020202020102010202020202020202DF
+:10E3200002020201000101020202020202020202D2
+:10E3300002020202010101010202020202020201C2
+:10E3400001010101010001010202020202020101B8
+:10E3500001010101010201010202020202020101A6
+:10E360000101010101010102020202020201010197
+:10E370000101010101010101020202020202010187
+:10E380000101010101010102020202020202010176
+:10E390000101010101010101020202020202020265
+:10E3A0000202020102010102020202020202020250
+:10E3B0000101010101010101020202020202010147
+:10E3C0000101010101010101000000020000000043
+:10E3D000000000000000000102020202020202022C
+:10E3E000020202020202020002020202020202020F
+:10E3F00002020202020201020202020202020202FE
+:10E4000002020202020201020202020202020202ED
+:10E4100002020202020202010202020202020202DD
+:10E4200002020201010101020202020202020202D0
+:10E4300002020202010101010202020202020202C0
+:10E4400001010101010001010202020202020202B5
+:10E4500001010101010201010202020202020101A5
+:10E460000101010101010202020202020202010194
+:10E470000101010101010102020202020202010185
+:10E480000101010101010102020202020202020273
+:10E490000101010101010102020202020202020263
+:10E4A000020202020202020202020202020202024C
+:10E4B0000102010101010101020202020202020144
+:10E4C0000101010101010101000000020000000042
+:10E4D000000000000000000102020202020202022B
+:10E4E000020202020202020002020202020202020E
+:10E4F00002020202020201020202020202020202FD
+:10E5000002020202020201020202020202020202EC
+:10E5100002020202020202020202020202020202DB
+:10E5200002020201010101020202020202020202CF
+:10E5300002020202010201010202020202020202BE
+:10E5400001010101010101010202020202020202B3
+:10E5500001010101010201010202020202020101A4
+:10E560000101010102020202020202020202010191
+:10E570000101010101010102020202020202010283
+:10E580000101010101010202020202020202020271
+:10E590000101010101010102020202020202020262
+:10E5A000020202020202020202020202020202024B
+:10E5B0000202010101010102020202020202020240
+:10E5C0000101010101010101000000010000000042
+:10E5D000000000000000000102020202020202022A
+:10E5E000020202020202020002020202020202020D
+:10E5F00002020202020201020202020202020202FC
+:10E6000002020202020201020202020202020202EB
+:10E6100002020202020202020202020202020202DA
+:10E6200002020201010101020202020202020202CE
+:10E6300002020202020201010202020202020202BC
+:10E6400001020201010101010202020202020202B0
+:10E6500001010102010201010202020202020101A2
+:10E660000101010102020202020202020202010190
+:10E670000101010101010202020202020202020280
+:10E68000010101010202020202020202020202026E
+:10E69000010101010202020202020202020202025E
+:10E6A000020202020202020202020202020202024A
+:10E6B000020202010201010202020202020202023D
+:10E6C0000101010101010101000000010000000041
+:10E6D0000000000000000001020202020202020229
+:10E6E000020202020202020002020202020202020C
+:10E6F00002020202020201020202020202020202FB
+:10E7000002020202020201020202020202020202EA
+:10E7100002020202020202020202020202020202D9
+:10E7200002020201010101020202020202020202CD
+:10E7300002020202020201010202020202020202BB
+:10E7400001020201020101010202020202020202AE
+:10E75000010201020202010102020202020202029D
+:10E76000010101010202020202020202020201018F
+:10E77000010101010202020202020202020202027D
+:10E78000010201010202020202020202020202026C
+:10E79000010101010202020202020202020202025D
+:10E7A0000202020202020202020202020202020249
+:10E7B0000202020202020202020202020202020239
+:10E7C0000101010101010101000000010000000040
+:10E7D0000000000000000001020202020202020228
+:10E7E000020202020201020002020202020202020C
+:10E7F00002020202020201020202020202020202FA
+:10E8000002020202020201020202020202020202E9
+:10E8100002020202020202020202020202020202D8
+:10E8200002020201010101020202020202020202CC
+:10E8300002020202020201010202020202020202BA
+:10E8400002020202020101010202020202020202AB
+:10E85000020202020202010102020202020202029A
+:10E86000010102010202020202020202020201028C
+:10E87000010101010202020202020202020202027C
+:10E880000102020202020202020202020202020269
+:10E890000202010202020202020202020202020259
+:10E8A0000202020202020202020202020202020248
+:10E8B0000202020202020202020202020202020238
+:10E8C000010101010101010100000001000000003F
+:10E8D0000000000002000001020202020202020225
+:10E8E000020202020101020002020202020202020C
+:10E8F00002020202020201020202020202020202F9
+:10E9000002020202020202020202020202020202E7
+:10E9100002020202020202020202020202020202D7
+:10E9200002020201010101020202020202020202CB
+:10E9300002020202020201020202020202020202B8
+:10E9400002020202020101010202020202020202AA
+:10E950000202020202020101020202020202020299
+:10E960000202020202020202020202020202020287
+:10E97000010101010202020202020202020202027B
+:10E980000202020202020202020202020202020267
+:10E990000202020202020202020202020202020257
+:10E9A0000202020202020202020202020202020247
+:10E9B0000202020202020202020202020202020237
+:10E9C000010201010101010101020001000000003A
+:10E9D0000000000002000001020202020202020224
+:10E9E000020201010101020002020202020202020D
+:10E9F00002020202020201020202020202020202F8
+:10EA000002020202020202020202020202020202E6
+:10EA100002020202020202020202020202020202D6
+:10EA200002020201010101020202020202020202CA
+:10EA300002020202020201020202020202020202B7
+:10EA400002020202020101010202020202020202A9
+:10EA50000202020202020102020202020202020297
+:10EA60000202020202020202020202020202020286
+:10EA7000010101010202020202020202020202027A
+:10EA80000202020202020202020202020202020266
+:10EA90000202020202020202020202020202020256
+:10EAA0000202020202020202020202020202020246
+:10EAB0000202020202020202020202020202020236
+:10EAC0000202010101010101010200010000000038
+:10EAD0000000000002000001020202020202020223
+:10EAE000020101010101020002020202020202020D
+:10EAF00002020202020202020202020202020202F6
+:10EB000002020202020202020202020202020202E5
+:10EB100002020202020202020202020202020202D5
+:10EB200002020202010102020202020202020202C7
+:10EB300002020202020202020202020202020202B5
+:10EB400002020202020101010202020202020202A8
+:10EB50000202020202020202020202020202020295
+:10EB60000202020202020202020202020202020285
+:10EB70000102020202020202020202020202020276
+:10EB80000202020202020202020202020202020265
+:10EB90000202020202020202020202020202020255
+:10EBA0000202020202020202020202020202020245
+:10EBB0000202020202020202020202020202020235
+:10EBC0000202020102010102020202010202020229
+:10EBD0000000000002020001020202020202020220
+:10EBE000010101010101010002020202020202020E
+:10EBF00002020202020202020202020202020202F5
+:10EC000002020202020202020202020202020202E4
+:10EC100002020202020202020202020202020202D4
+:10EC200002020202010102020202020202020202C6
+:10EC300002020202020202020202020202020202B4
+:10EC400002020202020101010202020202020202A7
+:10EC50000202020202020202020202020202020294
+:10EC60000202020202020202020202020202020284
+:10EC70000202020202020202020202020202020274
+:10EC80000202020202020202020202020202020264
+:10EC90000202020202020202020202020202020254
+:10ECA0000202020202020202020202020202020244
+:10ECB0000202020202020202020202020202020234
+:10ECC0000202020202020102020102010202020227
+:10ECD0000000000201020000020202020201010122
+:10ECE000010101010101010102020202020202020C
+:10ECF00002020202020202020202020202020202F4
+:10ED000002020202020202020202020202020202E3
+:10ED100002020202020202020202020202020202D3
+:10ED200002020202010202020202020202020202C4
+:10ED300002020202020202020202020202020202B3
+:10ED400002020202020101010202020202020202A6
+:10ED50000202020202020202020202020202020293
+:10ED60000202020202020202020202020202020283
+:10ED70000202020202020202020202020202020273
+:10ED80000202020202020202020202020202020263
+:10ED90000202020202020202020202020202020253
+:10EDA0000202020202020202020202020202020243
+:10EDB0000202020202020202020202020202020233
+:10EDC0000202020202020202020102010202020225
+:10EDD0000200020201020000020201010101010120
+:10EDE000010101010101010102020202020202020B
+:10EDF00002020202020202020202020202020202F3
+:10EE000002020202020202020202020202020202E2
+:10EE100002020202020202020202020202020202D2
+:10EE200002020202020202020202020202020202C2
+:10EE300002020202020202020202020202020202B2
+:10EE400002020202020101020202020202020202A4
+:10EE50000202020202020202020202020202020292
+:10EE60000202020202020202020202020202020282
+:10EE70000202020202020202020202020202020272
+:10EE80000202020202020202020202020202020262
+:10EE90000202020202020202020202020202020252
+:10EEA0000202020202020202020202020202020242
+:10EEB0000202020202020202020202020202020232
+:10EEC0000202020202020202020101010201020226
+:10EED000020202020101020001010101010101011E
+:10EEE000010101010101010102020202020202020A
+:10EEF00001010101010202020202020202020202F7
+:10EF000002020202020202020202020202020202E1
+:10EF100002020202020202020202020202020202D1
+:10EF200002020202020202020202020202020202C1
+:10EF300002020202020202020202020202020202B1
+:10EF400002020202020101020202020202020202A3
+:10EF50000202020202020202020202020202020291
+:10EF60000202020202020202020202020202020281
+:10EF70000202020202020202020202020202020271
+:10EF80000202020202020202020202020202020261
+:10EF90000202020202020202020202020202020251
+:10EFA0000202020202020202020202020202020241
+:10EFB0000202020202020202020202020202020231
+:10EFC0000202020202020202020101010101020127
+:10EFD000020202020101020001010101010101011D
+:10EFE000010101010101010102020202020201010B
+:10EFF00001010101010202020202020202020202F6
+:10F0000002020202020202020202020202020202E0
+:10F0100002020202020202020202020202020202D0
+:10F0200002020202020202020202020202020202C0
+:10F0300002020202020202020202020202020202B0
+:10F0400002020202020102020202020202020202A1
+:10F050000202020202020202020202020202020290
+:10F060000202020202020202020202020202020280
+:10F070000202020202020202020202020202020270
+:10F080000202020202020202020202020202020260
+:10F090000202020202020202020202020202020250
+:10F0A0000202020202020202020202020202020240
+:10F0B0000202020202020202020202020202020230
+:10F0C0000202020202020202020201020101010125
+:10F0D000020202020101010001010101010101011D
+:10F0E000010101010101010102020202010101010C
+:10F0F00001010101010102020202020202020202F6
+:10F1000002020202020202020202020202020202DF
+:10F1100002020202020202020202020202020202CF
+:10F1200002020202020202020202020202020202BF
+:10F1300002020202020202020202020202020202AF
+:10F14000020202020202020202020202020202029F
+:10F15000020202020202020202020202020202028F
+:10F16000020202020202020202020202020202027F
+:10F17000020202020202020202020202020202026F
+:10F18000020202020202020202020202020202025F
+:10F19000020202020202020202020202020202024F
+:10F1A000020202020202020202020202020202023F
+:10F1B000020202020202020202020202020202022F
+:10F1C0000202020202020202020201020101010124
+:10F1D000020202010101010001010101010101011D
+:10F1E000010101010101010101010101010101010F
+:10F1F00001010101010102010202020202020202F6
+:10F2000002020202020202020202020202020202DE
+:10F2100002020202020202020202020202020202CE
+:10F2200002020202020202020202020202020202BE
+:10F2300002020202020202020202020202020202AE
+:10F24000020202020202020202020202020202029E
+:10F25000020202020202020202020202020202028E
+:10F26000020202020202020202020202020202027E
+:10F27000020202020202020202020202020202026E
+:10F28000020202020202020202020202020202025E
+:10F29000020202020202020202020202020202024E
+:10F2A000020202020202020202020202020202023E
+:10F2B000020202020202020202020202020202022E
+:10F2C0000202020202020202020202020101010122
+:10F2D000020201010101010001010101010101011D
+:10F2E000010101010101010101010101010101010E
+:10F2F00001010101010102010202020202020101F7
+:10F3000001010101010202020202020202020202E2
+:10F3100002020202020202020202020202020202CD
+:10F3200002020202020202020202020202020202BD
+:10F3300002020202020202020202020202020202AD
+:10F34000020202020202020202020202020202029D
+:10F35000020202020202020202020202020202028D
+:10F36000020202020202020202020202020202027D
+:10F37000020202020202020202020202020202026D
+:10F38000020202020202020202020202020202025D
+:10F39000020202020202020202020202020202024D
+:10F3A000020202020202020202020202020202023D
+:10F3B000020202020202020202020202020202022D
+:10F3C0000202020202020202020202020101010121
+:10F3D000010101010101010001010101010101011E
+:10F3E000010101010101010101010101010101010D
+:10F3F00001010101010102010101010101010101FC
+:10F4000001010101010102010202020202020202E3
+:10F4100002020202020202020202020202020202CC
+:10F4200002020202020202020202020202020202BC
+:10F4300002020202020202020202020202020202AC
+:10F44000020202020202020202020202020202029C
+:10F45000020202020202020202020202020202028C
+:10F46000020202020202020202020202020202027C
+:10F47000020202020202020202020202020202026C
+:10F48000020202020202020202020202020202025C
+:10F49000020202020202020202020202020202024C
+:10F4A000020202020202020202020202020202023C
+:10F4B000020202020202020202020202020202022C
+:10F4C0000202020202020202020202020101010120
+:10F4D000010101010101010001010101010101011D
+:10F4E000010101010101010101010101010101010C
+:10F4F00001010101010101010101010101010101FC
+:10F5000001010101010102010202020202020101E4
+:10F5100001010101020202020202020202020202CF
+:10F5200002020202020202020202020202020202BB
+:10F5300002020202020202020202020202020202AB
+:10F54000020202020202020202020202020202029B
+:10F55000020202020202020202020202020202028B
+:10F56000020202020202020202020202020202027B
+:10F57000020202020202020202020202020202026B
+:10F58000020202020202020202020202020202025B
+:10F59000020202020202020202020202020202024B
+:10F5A000020202020202020202020202020202023B
+:10F5B000020202020202020202020202020202022B
+:10F5C000020202020202020202020202020201011D
+:10F5D000010101010101010001010101010101011C
+:10F5E000010101010101010101010101010101010B
+:10F5F00001010101010101010101010101010101FB
+:10F6000001010101010101010201010101010101E9
+:10F6100001010101010101020202020202020202D1
+:10F6200002020202020202020202020202020202BA
+:10F6300002020202020202020202020202020202AA
+:10F64000020202020202020202020202020202029A
+:10F65000020202020202020202020202020202028A
+:10F66000020202020202020202020202020202027A
+:10F67000020202020202020202020202020202026A
+:10F68000020202020202020202020202020202025A
+:10F69000020202020202020202020202020202024A
+:10F6A000020202020202020202020202020202023A
+:10F6B000020202020202020202020202020202022A
+:10F6C000020202020202020202020202020201011C
+:10F6D000010101010101010001010101010101011B
+:10F6E000010101010101010101010101010101010A
+:10F6F00001010101010101010101010101010101FA
+:10F7000001010101010101010101010101010101E9
+:10F7100001010101010101010202010101010101D7
+:10F7200001010102020202020202020202020202BC
+:10F7300002020202020202020202020202020202A9
+:10F740000202020202020202020202020202020299
+:10F750000202020202020202020202020202020289
+:10F760000202020202020202020202020202020279
+:10F770000202020202020202020202020202020269
+:10F780000202020202020202020202020202020259
+:10F790000202020202020202020202020202020249
+:10F7A0000202020202020202020202020202020239
+:10F7B0000202020202020202020202020202020229
+:10F7C0000202020202020202020202020202020219
+:10F7D000010101010101010001010101010101011A
+:10F7E0000101010101010101010101010101010109
+:10F7F00001010101010101010101010101010101F9
+:10F8000001010101010101010101010101010101E8
+:10F8100001010101010101010101010101010101D8
+:10F8200001010101020202010202020201010101C1
+:10F8300001010101020202020202020202020202AC
+:10F840000202020202020202020202020202020298
+:10F850000202020202020202020202020202020288
+:10F860000202020202020202020202020202020278
+:10F870000202020202020202020202020202020268
+:10F880000202020202020202020202020202020258
+:10F890000202020202020202020202020202020248
+:10F8A0000202020202020202020202020202020238
+:10F8B0000202020202020202020202020202020228
+:10F8C0000202020202020202020202020202020218
+:10F8D0000101010102010102010101010101010116
+:10F8E0000101010101010101010101010101010108
+:10F8F00001010101010101010101010101010101F8
+:10F9000001010101010101010101010101010101E7
+:10F9100001010101010101010101010101010101D7
+:10F9200001010101010101010101010101010101C7
+:10F9300001010101010102020202020202020202AD
+:10F940000202020202020202020202020202020297
+:10F950000202020202020202000000000000000097
+:10F960000000000000000000020202020202020287
+:10F970000202020202020202020202020202020267
+:10F980000202020202020202020202020202020257
+:10F990000202020202020202020202020202020247
+:10F9A0000202020202020202020202020202020237
+:10F9B0000202020202020202020202020202020227
+:10F9C0000202020202020202020202020202020217
+:10F9D0000101010102020102010101010101010114
+:10F9E0000101010101010101010101010101010107
+:10F9F00001010101010101010101010101010101F7
+:10FA000001010101010101010101010101010101E6
+:10FA100001010101010101010101010101010101D6
+:10FA200001010101010101010101010101010101C6
+:10FA300001010101010101010101010101010101B6
+:10FA4000010101010102020202020202020202029B
+:10FA50000202020202020202000000000000000096
+:10FA60000000000000000000020202020202020286
+:10FA70000202020202020202020202020202020266
+:10FA80000202020202020202020202020202020256
+:10FA90000202020202020202020202020202020246
+:10FAA0000202020202020202020202020202020236
+:10FAB0000202020202020202020202020202020226
+:10FAC0000202020202020202020202020202020216
+:10FAD000020202020202020201010101010101010E
+:10FAE0000101010101010101010101010101010106
+:10FAF00001010101010101010101010101010101F6
+:10FB000001010101010101010101010101010101E5
+:10FB100001010101010101010101010101010101D5
+:10FB200001010101010101010101010101010101C5
+:10FB300001010101010101010101010101010101B5
+:10FB400001010101010202020101010101010101A2
+:10FB5000010101010101020200000000000000009B
+:10FB60000000000000000000020202020202020285
+:10FB70000202020202020202000000000000000075
+:10FB80000000000000000000000000000000000075
+:10FB90000000000000000000020202020202020255
+:10FBA0000202020202020202020202020202020235
+:10FBB0000202020202020202020202020202020225
+:10FBC0000202020202020202020202020202020215
+:10FBD000020202020202020201010101010101010D
+:10FBE0000101010101010101010101010101010105
+:10FBF00001010101010101010101010101010101F5
+:10FC000001010101010101010101010101010101E4
+:10FC100001010101010101010101010101010101D4
+:10FC200001010101010101010101010101010101C4
+:10FC300001010101010101010101010101010101B4
+:10FC400001010101010101010101010101010101A4
+:10FC5000010101010101010100000000000000009C
+:10FC60000000000000000000000000000000000094
+:10FC70000000000000000000000000000000000084
+:10FC80000000000000000000000000000000000074
+:10FC90000000000000000000020202020202020254
+:10FCA0000202020202020202020202020202020234
+:10FCB0000202020202020202020202020202020224
+:10FCC0000202020202020202020202020202020214
+:10FCD000020202020202020201010101010101010C
+:10FCE0000101010101010101010101010101010104
+:10FCF00001010101010101010101010101010101F4
+:10FD000001010101010101010101010101010101E3
+:10FD100001010101010101010101010101010101D3
+:10FD200001010101010101010101010101010101C3
+:10FD300001010101010101010101010101010101B3
+:10FD400001010101010101010101010101010101A3
+:10FD50000101010101010101010101010101010193
+:10FD60000101010101010101010101010101010183
+:10FD7000010101010101010100000000000000007B
+:10FD80000000000000000000000000000000000073
+:10FD90000000000000000000020202020202020253
+:10FDA0000202020202020202020202020202020233
+:10FDB0000202020202020202020202020202020223
+:10FDC0000202020202020202020202020202020213
+:10FDD000020202020202020201010101010101010B
+:10FDE0000101010101010101010101010101010103
+:10FDF00001010101010101010101010101010101F3
+:10FE000001010101010101010101010101010101E2
+:10FE100001010101010101010101010101010101D2
+:10FE200001010101010101010101010101010101C2
+:10FE300001010101010101010101010101010101B2
+:10FE400001010101010101010101010101010101A2
+:10FE50000101010101010101010101010101010192
+:10FE60000101010101010101010101010101010182
+:10FE70000101010101010101010101010101010172
+:10FE8000010101010101010100000000000000006A
+:10FE90000000000000000000000000000000000062
+:10FEA0000000000000000000020202020202020242
+:10FEB0000202020202020202020202020202020222
+:10FEC0000202020202020202020202020202020212
+:10FED000020202020202020201010101010101010A
+:10FEE0000101010101010101010101010101010102
+:10FEF00001010101010101010101010101010101F2
+:10FF000001010101010101010101010101010101E1
+:10FF100001010101010101010101010101010101D1
+:10FF200001010101010101010101010101010101C1
+:10FF300001010101010101010101010101010101B1
+:10FF400001010101010101010101010101010101A1
+:10FF50000101010101010101010101010101010191
+:10FF60000101010101010101010101010101010181
+:10FF70000101010101010101010101010101010171
+:10FF80000101010101010101010101010101010161
+:10FF90000101010101010101010101010101010151
+:10FFA0000101010101010101000000000000000049
+:10FFB0000000000000000000020202020202020231
+:10FFC0000202020202020202020202020202020211
+:10FFD0000202020202020202010101010101010109
+:10FFE0000101010101010101010101010101010101
+:10FFF00001010101010101010101010101010101F1
+:0200000290006C
+:1000000001010101010101010101010101010101E0
+:1000100001010101010101010101010101010101D0
+:1000200001010101010101010101010101010101C0
+:1000300001010101010101010101010101010101B0
+:1000400001010101010101010101010101010101A0
+:100050000101010101010101010101010101010190
+:100060000101010101010101010101010101010180
+:100070000101010101010101010101010101010170
+:100080000101010101010101010101010101010160
+:100090000101010101010101010101010101010150
+:1000A0000101010101010101010101010101010140
+:1000B0000101010101010101000000000000000038
+:1000C0000000000000000000020202020202020220
+:1000D0000202020202020202010101010101010108
+:1000E0000101010101010101010101010101010100
+:1000F00001010101010101010101010101010101F0
+:1001000001010101010101010101010101010101DF
+:1001100001010101010101010101010101010101CF
+:1001200001010101010101010101010101010101BF
+:1001300001010101010101010101010101010101AF
+:10014000010101010101010101010101010101019F
+:10015000010101010101010101010101010101018F
+:10016000010101010101010101010101010101017F
+:10017000010101010101010101010101010101016F
+:10018000010101010101010101010101010101015F
+:10019000010101010101010101010101010101014F
+:1001A000010101010101010101010101010101013F
+:1001B000010101010101010101010101010101012F
+:1001C0000101010101010101020202020202020217
+:1001D0000202020202020202010101010101010107
+:1001E00001010101010101010101010101010101FF
+:1001F00001010101010101010101010101010101EF
+:1002000001010101010101010101010101010101DE
+:1002100001010101010101010101010101010101CE
+:1002200001010101010101010101010101010101BE
+:1002300001010101010101010101010101010101AE
+:10024000010101010101010101010101010101019E
+:10025000010101010101010101010101010101018E
+:10026000010101010101010101010101010101017E
+:10027000010101010101010101010101010101016E
+:10028000010101010101010101010101010101015E
+:10029000010101010101010101010101010101014E
+:1002A000010101010101010101010101010101013E
+:1002B000010101010101010101010101010101012E
+:1002C0000101010101010101020202020202020216
+:1002D000020202020202020200000000000000000E
+:1002E000000000000000000000000000000000000E
+:1002F00000000000000000000000000000000000FE
+:1003000000000000000000000000000000000000ED
+:1003100000000000000000000000000000000000DD
+:1003200000000000000000000000000000000000CD
+:1003300000000000000000000000000000000000BD
+:1003400000000000000000000000000000000000AD
+:10035000000000000000000000000000000000009D
+:10036000000000000000000000000000000000008D
+:10037000000000000000000000000000000000007D
+:10038000000000000000000000000000000000006D
+:10039000000000000000000000000000000000005D
+:1003A000000000000000000000000000000000004D
+:1003B000000000000000000000000000000000003D
+:1003C000000000000000000000000000000000002D
+:1003D00000000000000000004000000000000000DD
+:1003E000000000000000000000000000000000000D
+:1003F00000000000000000000000000000000000FD
+:1004000001000000000000000000000000000000EB
+:1004100000000000000000000000000000000000DC
+:1004200000000000000000000000000000000000CC
+:1004300000010000000000000000000000000000BB
+:1004400000000000000000000000000000000000AC
+:100450000001000001000100010000000000000098
+:10046000000000000000000000000000000000008C
+:10047000000000000000000001000000000000007B
+:10048000000000000000000000000000000000006C
+:10049000000000000000000000000000000000005C
+:1004A000000000000000000000000000000000004C
+:1004B000000000000000000000000000000000003C
+:1004C000000000000000000000000000000000002C
+:1004D000000000000000000000000000000000001C
+:1004E000000000000000000000000000000000000C
+:1004F00000000000000000000000000000000000FC
+:1005000001000000000000000000000000000000EA
+:1005100000000000000000000000000000000000DB
+:1005200000000000000000000000000000000000CB
+:1005300001010100000000000000000000000000B8
+:1005400000000000000000000000000000000000AB
+:100550000101010101010101010000000000000092
+:10056000000000000000000000000000000000008B
+:100570000000000000000001010000000000000079
+:10058000000000000000000000000000000000006B
+:10059000000000000000000000000000000000005B
+:1005A000000000000000000000000000000000004B
+:1005B000000000000000000000000000000000003B
+:1005C000000000000000000000000000000000002B
+:1005D000000000000000000000000000000000001B
+:1005E000000000000000000000000000000000000B
+:1005F00000000000000000000000000000000000FB
+:1006000001000000000000000000000000000101E7
+:1006100000000000000000000000000000000000DA
+:1006200000000000000000000000000000000000CA
+:1006300001010100010000000000000000000000B6
+:1006400000000000000000000000000000000000AA
+:100650000101010101010101010000000000000091
+:100660000000000000000000000000000000010188
+:100670000000000001000101010000000000000076
+:10068000000000000000000000000000000000006A
+:10069000000000000000000000000000000000005A
+:1006A000000000000000000000000000000000004A
+:1006B000000000000000000000000000000000003A
+:1006C000000000000000000000000000000000002A
+:1006D000000000000000000000000000000000001A
+:1006E000000000000000000000000000000000000A
+:1006F00000000000000000000000000000000101F8
+:1007000001000000000000000000000000000101E6
+:1007100000000000000000000000000000000000D9
+:1007200000000000000000000000000000000000C9
+:1007300001010101010100010000000000000000B2
+:1007400000010000000000000000000000000000A8
+:100750000101010101010101010000000000000090
+:100760000000000000000000000000000000010187
+:100770000000000101010101010000000000000073
+:100780000000000000000000000000000000000069
+:100790000000000000000000000000000000000059
+:1007A0000000000000000000000000000000000049
+:1007B0000000000000000000000000000000000039
+:1007C0000000000000000000000000000000000029
+:1007D0000000000000000000000000000000000019
+:1007E0000000000000000000000000000000000009
+:1007F00000000000000000000000000000000101F7
+:1008000001000000000000000000000000000101E5
+:1008100000000000000000000000000000000000D8
+:1008200000000000000000000000000000000000C8
+:1008300001010101010101010000000000000000B0
+:1008400001010100000000000000000000000000A5
+:10085000010101010101010101000000000000008F
+:100860000000000000000000000000000000010186
+:100870000000000101010101010000000000000072
+:100880000000000000000000000000000000000068
+:100890000000000000000000000000000000000058
+:1008A0000000000000000000000000000000000048
+:1008B0000000000000000000000000000000000038
+:1008C0000000000000000000000000000000000028
+:1008D0000000000000000000000000000000000018
+:1008E0000000010000000000000000000000000007
+:1008F00000000000000000000000000000000101F6
+:1009000001000000000000000000000000000101E4
+:1009100000000000000000000000000000000000D7
+:1009200000000000000000000000000000000000C7
+:1009300001010101010101010000000000000000AF
+:1009400001010100000000000000000000000000A4
+:10095000010101010101010101000000000000008E
+:100960000000000000000000000000000000010185
+:10097000000000010101010101000000000001016F
+:100980000000000000000000000000000000000067
+:100990000000000000000000000000000000000057
+:1009A0000000000000000000000000000000000047
+:1009B0000000000000000000000000000000000037
+:1009C0000000000000000000000000000000000027
+:1009D0000000000000000000000000000000000017
+:1009E0000000010000000000000000000000000006
+:1009F00000000000000000000000000000000101F5
+:100A000001000000000000000000000000000101E3
+:100A100001000000000000000000000000000000D5
+:100A200000000000000000000000000000000000C6
+:100A300001010101010101010100000000000000AD
+:100A400001010101000000000000000000000000A2
+:100A5000010101010101010101000000000000008D
+:100A60000000000000000000000000000000010184
+:100A7000000000010101010101000000000001016E
+:100A80000000000000000000000000000000000066
+:100A90000000000000000000000000000000000056
+:100AA0000000000000000000000000000000010144
+:100AB0000000000000000000000000000000000036
+:100AC0000000000000000000000000000000000026
+:100AD0000000000000000000000000000000000016
+:100AE0000000010100000000000000000000000004
+:100AF00000000000000000000000000000000101F4
+:100B000001000000000000000000000000000101E2
+:100B100001010000000000000000000000000000D3
+:100B200000000000000000000000000000000000C5
+:100B300001010101010101010100000000000101AA
+:100B400001010101010000000000000000000000A0
+:100B5000010101010101010101000000000000008C
+:100B60000000000000000000000000000000010183
+:100B7000000000010101010101000000000001016D
+:100B80000000000000000000000000000000000065
+:100B90000000000000000000000000000000010153
+:100BA0000000000000000000000000000000010143
+:100BB0000000000000000000000000000000000035
+:100BC0000000000000000000000000000000000025
+:100BD0000000000000000000000000000000000015
+:100BE0000000010100000000000000000000000003
+:100BF00000000000000000000000000000000101F3
+:100C000001000001000000000000000000000101E0
+:100C100001010000000000000000000000000101D0
+:100C200001000000000000000000000000000000C3
+:100C300001010101010101010100000000000101A9
+:100C4000010101010101000000000000000000009E
+:100C5000010101010101010101000000000000008B
+:100C60000000000000000000000000000000010182
+:100C7000000000010101010101000000000001016C
+:100C80000000000000000000000000000000000064
+:100C90000000000000000000000000000000010152
+:100CA0000000010000000000000000000000010141
+:100CB0000000000000000000000000000000000034
+:100CC0000000000000000000000000000000000024
+:100CD0000000000000000000000000000000000014
+:100CE0000000010100000000000000000000000002
+:100CF00001000000000000000000000000000101F1
+:100D000001000001010000000000000000000101DE
+:100D100001010000000000000000000000000101CF
+:100D200001010000000000000000000000000000C1
+:100D300001010101010101010100000000000101A8
+:100D4000010101010101010000000000000000009C
+:100D5000010101010101010101000000000000008A
+:100D60000000000000000000000000000000010181
+:100D7000000000010101010101000000000001016B
+:100D80000000000100000000000000000000000062
+:100D90000000000000000000000000000000010151
+:100DA000000101000000000000000000000001013F
+:100DB0000000000000000000000000000000000033
+:100DC0000000000000000000000000000000000023
+:100DD0000000000000000000000000000000000013
+:100DE0000000020100000000000000000000000000
+:100DF00001000000000000000000000000000101F0
+:100E000001000001010000000000000000010101DC
+:100E100001010000000000000000000000000101CE
+:100E200001010000000000000000000000000000C0
+:100E300001010101010101010100000000000101A7
+:100E4000010101010101010100000000000000009A
+:100E50000101010101010101010000000000000089
+:100E6000000000000000000000000000000101017F
+:100E7000000000010101010101000000000001016A
+:100E80000000000100000000000000000000000061
+:100E90000000000000000000000000000000010150
+:100EA000000101010000000000000000000101013C
+:100EB0000000000000000000000000000000000032
+:100EC0000000000000000000000000000000000022
+:100ED0000000000000000000000000000000000012
+:100EE00000000202000100000000000000000000FD
+:100EF00001000000000000000000000000000101EF
+:100F000001000001010000000000000000010101DB
+:100F100001010000000000000000000000000101CD
+:100F200001010000000000000000000000000000BF
+:100F300001010101010101010100000000000101A6
+:100F40000101010101010101010000000000000098
+:100F50000101010101010101010000000000000088
+:100F6000000000000000000000000000000101017E
+:100F70000000000101010101010000000000010169
+:100F80000000000100000000000000000000000060
+:100F9000000000000000000000000000000001014F
+:100FA000000101010000000000000000000101013B
+:100FB0000000000000000000000000000000000031
+:100FC0000000000000000000000000000000000021
+:100FD0000000000000000000000000000000000011
+:100FE00000000202000100000000000000000000FC
+:100FF00001010000010000000000000000000101EC
+:1010000001000001010100000000000000010101D9
+:1010100001010101000000000000000000000101CA
+:1010200001010100000000000000000000000101BB
+:1010300001010101010101010100000000000101A5
+:101040000101010101010101010000000000000097
+:101050000101010101010101010000000000000087
+:10106000000001000000000000000000000101017C
+:101070000000000101010101010000000000010168
+:10108000000000010100000000000000000000005E
+:10109000000000000000000000000000000001014E
+:1010A0000101010100000000000000000001010139
+:1010B0000000000000000000000000000000000030
+:1010C0000000000000000000000000000000000020
+:1010D0000000000000000000000000000000000010
+:1010E00000000202000200000000000000000000FA
+:1010F00001010000010000000000000000000101EB
+:1011000001000001010101000000000000010101D7
+:1011100001010101010000000000000000000101C8
+:1011200001010100000000000000000000000101BA
+:1011300001010101010101010100000000000101A4
+:101140000101010101010101010000000000000096
+:101150000101010101010101010000000000000086
+:10116000000101000000000000000000000101017A
+:101170000000000101010101010000000001010166
+:10118000000000010100000000000000000001015B
+:10119000000000000000000000000000000101014C
+:1011A0000101010101000000000000000001010137
+:1011B000000000000000000000000000000000002F
+:1011C000000000000000000000000000000000001F
+:1011D000000000000000000000000000000000000F
+:1011E00000000202000200000000000000000000F9
+:1011F00001010000010000000000000000000101EA
+:1012000002000001010101010000000000010101D4
+:1012100001010101010100000000000000000101C6
+:1012200001010100000000000000000000000101B9
+:1012300001010101010101010100000000000101A3
+:101240000101010101010101010000000000010193
+:101250000101010101010101010000000000000085
+:101260000101010000000000000000000001010178
+:101270000001000101010101010000000001010164
+:101280000000000101000100000000000000010159
+:10129000000100000000000000000000000101014A
+:1012A0000101010101000000000000010001010135
+:1012B000000000000000000000000000000000002E
+:1012C000000000000000000000000000000000001E
+:1012D000000000000000000000000000000000000E
+:1012E00001000202000200000000000000000000F7
+:1012F00001010000010000000000000000010101E8
+:1013000002010001010101010000000000010101D2
+:1013100001010101010101000000000000000101C4
+:1013200001010100000000000000000000000101B8
+:1013300001010101010101010100000000010101A1
+:101340000101010101010101010000000000010192
+:101350000101010101010101010000000000010182
+:101360000101010000000000000000000001010177
+:101370000101000101010101010000000001010162
+:101380000000000101010101000100000000010155
+:101390000101010000000000000000000001010147
+:1013A0000101010101000000000001010001010133
+:1013B000000000000000000000000000000000002D
+:1013C000000000000000000000000000000000001D
+:1013D000000000000000000000000000000000000D
+:1013E00001010202000202000200000000000000F1
+:1013F00001010000010000000000000000010101E7
+:1014000002010001010101010000000000010101D1
+:1014100001010101010101010000000000010101C1
+:1014200001010101000000000000000000000101B6
+:1014300001010101010101010100000000010101A0
+:101440000101010101010101010000000000010191
+:101450000101010101010101010000000000010181
+:101460000101010000000000000000010001010175
+:101470000101000101010101010000000001010161
+:101480000000000101010101010100000000010153
+:101490000101010000000000000000000001010146
+:1014A0000101010101000000000001010101010131
+:1014B000000000000000000000000000000000002C
+:1014C000000000000000000000000000000000001C
+:1014D000000000000000000000000000000000010B
+:1014E00001010202000202020200000000000000EE
+:1014F00001010100010000000000000000010101E5
+:1015000002010001010101010100000000010101CF
+:1015100001010101010101010100000000010101BF
+:1015200001010101010000000000000000000101B4
+:10153000020101010101010101000000000101019E
+:101540000101010101010101010000000000010190
+:101550000101010101010101010000000000010180
+:101560000101010000000000000000010001010174
+:10157000010101010101010101000000000101015F
+:101580000000000101010101010100000000010152
+:101590000101010000000000000000010001010144
+:1015A000010101010100010000000101010101012F
+:1015B000000000000000000000000000000000002B
+:1015C0000100010000000000000000000000000019
+:1015D000000000000000000000000000000000010A
+:1015E00002010202000202020200000000000000EC
+:1015F00002010100010000000000000000010101E3
+:1016000002010101010101010100000000010101CD
+:1016100001010101010101010100000000010101BE
+:1016200001010101010000000000000000000101B3
+:10163000020201010101010101000000000101019C
+:10164000010101010101010101000000000001018F
+:10165000020101010101010101000000000001017E
+:101660000101010000000000000000010101010172
+:10167000010101010101010101000000000101015E
+:101680000001000101010101010100000000010150
+:101690000101010000000000000000010001010143
+:1016A000010101010101010100010101010101012B
+:1016B0000001000000000000000000000000000029
+:1016C0000101010000000000000000000000000017
+:1016D0000000000000000000000000000000000109
+:1016E00002020202000202020202000000000000E8
+:1016F00002010100010100000000000000010101E1
+:1017000002010101010101010100000000010101CC
+:1017100002010101010101010100000000010101BC
+:1017200001010101010000000000000000000101B2
+:10173000020201010101010101000000000101019B
+:10174000020101010101010101000000000001018D
+:10175000020201010101010101000000000001017C
+:101760000101010000000000000001010101010170
+:10177000010101010101010101000001000101015C
+:10178000010101010101010101010000000101014C
+:101790000101010100000000000000010001010141
+:1017A0000101010101010101010101010101010129
+:1017B0000101010000000000000000000000010025
+:1017C0000101010000000000000000000000000016
+:1017D0000000000000000000000000000200000106
+:1017E00002020202020202020202000000000000E5
+:1017F00002010100010100000000000000010101E0
+:1018000002010101010101010100000100010101CA
+:1018100002010101010101010100000000010101BB
+:1018200002010101010100000000000000010101AE
+:101830000202020101010101010000000001010199
+:10184000020201010101010101000000000001018B
+:10185000020201010101010101000000000001017B
+:10186000010101010000000000010101010101016D
+:10187000010101010101010101000101000101015A
+:10188000010101010101010101010000000101014B
+:10189000010101010000000000000101000101013F
+:1018A0000101010101010101010101010101010128
+:1018B0000101010000000000000000000000010024
+:1018C0000101010000000000000000000000000015
+:1018D0000000000000000000000000000200000105
+:1018E00002020202020202020202000100000000E3
+:1018F00002020100010100000000000000010101DE
+:1019000002010101010101010100000100010101C9
+:1019100002020101010101010100000000010101B9
+:1019200002010101010101000000000000010101AC
+:101930000202020101010101010000000001010198
+:10194000020201010101010101000000000001018A
+:101950000202020101010101010000000000010179
+:10196000010101010100000001010101010101016A
+:101970000101010101010101010001010101010158
+:10198000010101010101010101010000000101014A
+:10199000010101010000000000000101010101013D
+:1019A0000101010101010101010101010101010127
+:1019B0000101010100000000000000000000010121
+:1019C0000101010000000000000000000000000014
+:1019D0000000000000000000000000000200000104
+:1019E00002020202020202020202000200000000E1
+:1019F00002020100010102000000000000010101DB
+:101A000002010102010101010100000101010101C6
+:101A100002020101010101010100000000010101B8
+:101A200002020101010101010000000000010101A9
+:101A30000202020202010101010000000001010195
+:101A40000202020101010101010000000001010187
+:101A50000202020202010101010000000000010176
+:101A60000101010101010001010101010101010167
+:101A70000101010202010101010001010101010155
+:101A80000101010101010101010100000001010149
+:101A9000010101010100000000000101010101013B
+:101AA0000101010101010101010101010101010126
+:101AB0000101010100000000000000000000010120
+:101AC0000101010000000000000000000000000013
+:101AD0000000000000000000000002000100000102
+:101AE00002020202020202020202000200000101DE
+:101AF00002020101020101020002000000010101D5
+:101B000002010102020101010100010101010101C3
+:101B100002020101010101010100000000010101B7
+:101B200002020101010101010100000000010101A7
+:101B30000202020202020101010000010001010192
+:101B40000202020101010101010000000001010186
+:101B50000202020202020201010000000001010172
+:101B60000101010101010101010101010101010165
+:101B7000010101020202020202010101010101014F
+:101B80000101010101010101010100000001010148
+:101B90000101010101000000000101010101010139
+:101BA0000101010101010101010101010101010125
+:101BB000010101010000000000000000000001011F
+:101BC0000101010100000000000000000000000011
+:101BD00000000002000000000002020001000001FD
+:101BE00002020202020202020202020200000101DB
+:101BF00002020101020101010201000000010101D4
+:101C000002020102020101010100010101010101C1
+:101C100002020101010101010100000100010101B5
+:101C200002020101010101010100000000010101A6
+:101C3000020202020202020201000001000101018F
+:101C40000202020201010101010000000001010184
+:101C5000020202020202020202000000000101016F
+:101C60000101010101010101010101010101010164
+:101C7000010101020202020202010101010101014E
+:101C80000101010101010101010100000001010147
+:101C90000101010101000000010101010101010137
+:101CA0000101010101010101010101010101010124
+:101CB000010101010100000000000000000001011D
+:101CC0000101010100000000000000000000000010
+:101CD00000010001000000000202010001000001FB
+:101CE00002020202020202020202020200010101D9
+:101CF00002020201020101010101000000010202D1
+:101D000002020102020201010100010101010101BF
+:101D100002020201010101010100000100010101B3
+:101D200002020201010101010100000000010101A4
+:101D3000020202020202020201000001010101018D
+:101D40000202020202010101010000000001010182
+:101D5000020202020202020202000000000101016E
+:101D60000201010101010101010101010101010162
+:101D7000020101020202020202010101010101014C
+:101D80000101010201010101010100000001010145
+:101D90000101010101010001010101010101010134
+:101DA0000202010101010101010101010101010121
+:101DB000010101010100000000000000000101011B
+:101DC000010101010000000000000000000000000F
+:101DD00000010101000000000201010001000101F9
+:101DE00002020202020202020202020200010101D8
+:101DF00002020201020101010101000000010202D0
+:101E000002020102020202010100010101010202BB
+:101E100002020202010101010100000101010101B0
+:101E200002020201010101010100000000010101A3
+:101E3000020202020202020202000101010101018A
+:101E40000202020202020101010000000001010180
+:101E5000020202020202020202000000000101016D
+:101E60000202010101010101010101010101010160
+:101E7000020201020202020202010101010101014A
+:101E80000101010201010101010100000001010144
+:101E90000201010101010101010101010101010131
+:101EA000020202010101010101010101010101011F
+:101EB000010101010100000000000000000101011A
+:101EC000020101010100000000000000000000000C
+:101ED00000010101000002000101010001000101F7
+:101EE00002020202020202020202020202020101D4
+:101EF00002020201020201010101000000010202CE
+:101F000002020202020202020100010101010202B8
+:101F100002020202020101010100010101010101AD
+:101F200002020201010101010100000000010101A2
+:101F30000202020202020202020001010101010189
+:101F4000020202020202020101000000000101017E
+:101F5000020202020202020202000000000101016C
+:101F6000020202010101010101010101010101015E
+:101F70000202010202020202020101010101010149
+:101F80000201010202010101010100010001010140
+:101F9000020201010101010101010101010101012F
+:101FA000020202010101010101010101010101011E
+:101FB0000101010101000000000000010001010118
+:101FC000020101010100000000000000000001000A
+:101FD00000000101000002000101010001000101F7
+:101FE00002020202020202020202020202020101D3
+:101FF00002020201020201010101020000010202CB
+:1020000002020202020202020101010101010202B6
+:1020100002020202020201010100010101010101AB
+:1020200002020202010101010100000000010101A0
+:102030000202020202020202020001010101010188
+:10204000020202020202020201000000000101017C
+:10205000020202020202020202000000000101016B
+:10206000020202010101010101010101010101015D
+:102070000202010202020202020101010101010148
+:10208000020201020201010101010001000101013E
+:10209000020201010101010101010101010101012E
+:1020A000020202020101010101010101010101011C
+:1020B0000201010101000100000001010001010114
+:1020C0000202010101000000000000000000010008
+:1020D00000000101020001000101010001000101F5
+:1020E00002020202020202020102020202020101D3
+:1020F00002020202020201010101010101010202C8
+:1021000002020202020202020201010101020202B3
+:1021100002020202020202010100010101010101A9
+:10212000020202020201010101000000000101019E
+:102130000202020202020202020101010101010186
+:10214000020202020202020202000000000101017A
+:102150000202020202020202020000010001010169
+:10216000020202010101010101010101010102025A
+:102170000202020202020202020101010101010146
+:10218000020201020202020101010001010101013A
+:10219000020202010101010101010101010101012C
+:1021A000020202020101010101010101010101011B
+:1021B0000202010101000101000001010001010111
+:1021C0000202020101000000000000000000010105
+:1021D00000000001010201020101010001010100F2
+:1021E00002020202020202020101020202020101D3
+:1021F00002020202020202010101010101020202C5
+:1022000002020202020202020201010101020202B2
+:1022100002020202020202020101010101010101A6
+:10222000020202020201010101000001000101019C
+:102230000202020202020202020101010101010185
+:102240000202020202020202020000010001010178
+:102250000202020202020202020000010001010168
+:102260000202020101010101010101010101020259
+:102270000202020202020202020101010101020243
+:102280000202020202020202010101010101010136
+:10229000020202010101010101010101010101012B
+:1022A0000202020202010101010101010101010119
+:1022B000020201010100010101000101000101010F
+:1022C0000202020101000100000000000000010103
+:1022D00000000000010201020101010001010100F2
+:1022E00002020202020101010101020202020201D4
+:1022F00002020202020202020101010101020202C3
+:1023000002020202020202020201010101020202B1
+:1023100002020202020202020201010101010202A2
+:10232000020202020202010101000001000101019A
+:102330000202020202020202020101010101020282
+:102340000202020202020202020000010001010177
+:102350000202020202020202020000010101010166
+:102360000202020101010101010101010101020258
+:102370000202020202020202020101010101020242
+:102380000202020202020202020201010101010133
+:10239000020202010101010101010101010101012A
+:1023A0000202020202010101010101010101010118
+:1023B000020202010101010101010101010101010A
+:1023C00002020201010101010000000100010101FE
+:1023D00000000000010101010101010001010100F3
+:1023E00002020201020101010101010102020201D6
+:1023F00002020202020202020202010101020202C0
+:1024000002020202020202020201010101020202B0
+:1024100002020202020202020201010101010202A1
+:102420000202020202020201010000010101010197
+:102430000202020202020202020101010101020281
+:102440000202020202020202020000010001010176
+:102450000202020202020202020001010101010164
+:102460000202020201010101010101010102020255
+:102470000202020202020202020101010101020241
+:102480000202020202020202020201010101010132
+:102490000202020201010101010101010101020226
+:1024A0000202020202010101010101010101020215
+:1024B0000202020101010101010101010101010109
+:1024C00002020201010101010100000100010101FC
+:1024D00001000000010101010101010001010100F1
+:1024E00002020101020101010101010102020200D7
+:1024F00002020202020202020202010101020202BF
+:1025000002020202020202020201010201020202AE
+:1025100002020202020202020201010101010202A0
+:102520000202020202020202010000010101020293
+:102530000202020202020202020101010101020280
+:102540000202020202020202020001010001010174
+:102550000202020202020202020001010101010163
+:102560000202020202010101010101010102020253
+:10257000020202020202020202010101010202023F
+:102580000202020202020202020201010101010131
+:102590000202020201010101010101010101020225
+:1025A0000202020202020201010101010102020211
+:1025B0000202020201010101010101010101010107
+:1025C00002020202010101010100000100010101FA
+:1025D00001000000000101010101010101010100F0
+:1025E00002020101010101010101010101010200D9
+:1025F00002020202020202020202010101020202BE
+:1026000002020202020202020201020202020202AB
+:10261000020202020202020202010101010202029E
+:102620000202020202020202020000010101020291
+:10263000020202020202020202010101010202027E
+:102640000202020202020202020001010101010172
+:102650000202020202020202020001010101010162
+:102660000202020202020101010101020102020250
+:10267000020202020202020202010101010202023E
+:10268000020202020202020202020101010102022E
+:102690000202020202010101010101010102020222
+:1026A000020202020202020201010202010202020D
+:1026B0000202020201010101010101010101010106
+:1026C00002020202010101010100010100010101F8
+:1026D00002000000000100010000000100010100F3
+:1026E00002020101010101010101010101010200D8
+:1026F00002020202020202020202010101020202BD
+:1027000002020202020202020201020202020202AA
+:10271000020202020202020202010101010202029D
+:10272000020202020202020202000101010102028F
+:10273000020202020202020202010101010202027D
+:10274000020202020202020202000101010102026F
+:102750000202020202020202020101010101010160
+:102760000202020202020202020202020202020249
+:10277000020202020202020202010202010202023B
+:10278000020202020202020202020101010102022D
+:102790000202020202010101010101020102020220
+:1027A0000202020202020202020202020202020209
+:1027B0000202020202010101010101010101010104
+:1027C00002020202020101010100010100010101F6
+:1027D00002000000000000010000000100010100F3
+:1027E00002020101010101010101010101010200D7
+:1027F00002020202020202020202020202020202B9
+:1028000002020202020202020202020202020202A8
+:10281000020202020202020202010101010202029C
+:10282000020202020202020202000101010202028D
+:10283000020202020202020202010101010202027C
+:10284000020202020202020202010101010102026D
+:10285000020202020202020202010101010102025D
+:102860000202020202020202020202020202020248
+:102870000202020202020202020202020202020238
+:10288000020202020202020202020101010202022B
+:10289000020202020202010101010202010202021D
+:1028A0000202020202020202020202020202020208
+:1028B0000202020202010101010101010101010103
+:1028C00002020202020101010100010100010101F5
+:1028D00002020000000000000000000100010000F2
+:1028E00002020101010101010101010101010200D6
+:1028F00002020202020202020202020202020202B8
+:1029000002020202020202020202020202020202A7
+:10291000020202020202020202010102010202029A
+:10292000020202020202020202000101010202028C
+:10293000020202020202020202010102010202027A
+:10294000020202020202020202010101010102026C
+:10295000020202020202020202010101010102025C
+:102960000202020202020202020202020202020247
+:102970000202020202020202020202020202020237
+:10298000020202020202020202020101010202022A
+:102990000202020202020202020202020202020217
+:1029A0000202020202020202020202020202020207
+:1029B0000202020202010101010101010101010102
+:1029C00002020202020101010101010101010101F2
+:1029D00002020000000000000000000100000000F2
+:1029E00002010101010101010101010101010100D7
+:1029F00002020202020202020202020202020202B7
+:102A000002020202020202020202020202020202A6
+:102A10000202020202020202020102020202020297
+:102A2000020202020202020202010101010202028A
+:102A30000202020202020202020102020202020277
+:102A4000020202020202020202010101010202026A
+:102A5000020202020202020202010101010102025B
+:102A60000202020202020202020202020202020246
+:102A70000202020202020202020202020202020236
+:102A80000202020202020202020201010102020229
+:102A90000202020202020202020202020202020216
+:102AA0000202020202020202020202020202020206
+:102AB00002020202020102010101010101010201FF
+:102AC00002020202020202010101010101010101EF
+:102AD00002020200000000000000000000000000F0
+:102AE00001010101010101010101010101010100D7
+:102AF00002020202020202020202020202020202B6
+:102B000002020202020202020202020202020202A5
+:102B10000202020202020202020202020202020295
+:102B20000202020202020202020101010102020289
+:102B30000202020202020202020202020202020275
+:102B40000202020202020202020101010102020269
+:102B50000202020202020202020101010102020259
+:102B60000202020202020202020202020202020245
+:102B70000202020202020202020202020202020235
+:102B80000202020202020202020201020102020227
+:102B90000202020202020202020202020202020215
+:102BA0000202020202020202020202020202020205
+:102BB00002020202020202020101010101010202FB
+:102BC00002020202020202020101010101010101ED
+:102BD00002020202000000000000000000000000ED
+:102BE00001010101010101010101010101010100D6
+:102BF00002020202020202020202020202020202B5
+:102C000002020202020202020202020202020202A4
+:102C10000202020202020202020202020202020294
+:102C20000202020202020202020101020102020287
+:102C30000202020202020202020202020202020274
+:102C40000202020202020202020101010102020268
+:102C50000202020202020202020101010102020258
+:102C60000202020202020202020202020202020244
+:102C70000202020202020202020202020202020234
+:102C80000202020202020202020202020202020224
+:102C90000202020202020202020202020202020214
+:102CA0000202020202020202020202020202020204
+:102CB00002020202020202020201020201020202F6
+:102CC00002020202020202020201010101010101EB
+:102CD00002020202000000000000000000000000EC
+:102CE00001010101010101010101010101010100D5
+:102CF00002020202020202020202020202020202B4
+:102D000002020202020202020202020202020202A3
+:102D10000202020202020202020202020202020293
+:102D20000202020202020202020101020202020285
+:102D30000202020202020202020202020202020273
+:102D40000202020202020202020101020102020266
+:102D50000202020202020202020101020102020256
+:102D60000202020202020202020202020202020243
+:102D70000202020202020202020202020202020233
+:102D80000202020202020202020202020202020223
+:102D90000202020202020202020202020202020213
+:102DA0000202020202020202020202020202020203
+:102DB00002020202020202020202020201020202F4
+:102DC00002020202020202020201010201010201E8
+:102DD00002020202000000000000000000000000EB
+:102DE00001010101010101010000010101010100D6
+:102DF00002020202020202020202020202020202B3
+:102E000002020202020202020202020202020202A2
+:102E10000202020202020202020202020202020292
+:102E20000202020202020202020102020202020283
+:102E30000202020202020202020202020202020272
+:102E40000202020202020202020102020102020264
+:102E50000202020202020202020102020202020253
+:102E60000202020202020202020202020202020242
+:102E70000202020202020202020202020202020232
+:102E80000202020202020202020202020202020222
+:102E90000202020202020202020202020202020212
+:102EA0000202020202020202020202020202020202
+:102EB00002020202020202020202020202020202F2
+:102EC00002020202020202020201020201020202E4
+:102ED00002020202020000000000000000000000E8
+:102EE00001010101010101010000000101010100D6
+:102EF00002020202020202020202020202020202B2
+:102F000002020202020202020202020202020202A1
+:102F10000202020202020202020202020202020291
+:102F20000202020202020202020202020202020281
+:102F30000202020202020202020202020202020271
+:102F40000202020202020202020202020202020261
+:102F50000202020202020202020202020202020251
+:102F60000202020202020202020202020202020241
+:102F70000202020202020202020202020202020231
+:102F80000202020202020202020202020202020221
+:102F90000202020202020202020202020202020211
+:102FA0000202020202020202020202020202020201
+:102FB00002020202020202020202020202020202F1
+:102FC00002020202020202020202020201020202E2
+:102FD00002020202020002000202020002000002DB
+:102FE00001010100010000000000000001010100DA
+:102FF00002020202020202020202020202020202B1
+:1030000002020202020202020202020202020202A0
+:103010000202020202020202020202020202020290
+:103020000202020202020202020202020202020280
+:103030000202020202020202020202020202020270
+:103040000202020202020202020202020202020260
+:103050000202020202020202020202020202020250
+:103060000202020202020202020202020202020240
+:103070000202020202020202020202020202020230
+:103080000202020202020202020202020202020220
+:103090000202020202020202020202020202020210
+:1030A0000202020202020202020202020202020200
+:1030B00002020202020202020202020202020202F0
+:1030C00002020202020202020202020202020202E0
+:1030D00002020202020202000202020002000002D8
+:1030E00001010000000000000000000000000100DD
+:1030F00002020202010101010101020202020202B6
+:10310000020202020202020202020202020202029F
+:10311000020202020202020202020202020202028F
+:10312000020202020202020202020202020202027F
+:10313000020202020202020202020202020202026F
+:10314000020202020202020202020202020202025F
+:10315000020202020202020202020202020202024F
+:10316000020202020202020202020202020202023F
+:10317000020202020202020202020202020202022F
+:10318000020202020202020202020202020202021F
+:10319000020202020202020202020202020202020F
+:1031A00002020202020202020202020202020202FF
+:1031B00002020202020202020202020202020202EF
+:1031C00002020202020202020202020202020202DF
+:1031D00002020202020202020202020002000202D3
+:1031E00001010000000000000000000000000100DC
+:1031F00001010101010101010101010101010101BF
+:10320000020202020202020202020202020202029E
+:10321000020202020202020202020202020202028E
+:10322000020202020202020202020202020202027E
+:10323000020202020202020202020202020202026E
+:10324000020202020202020202020202020202025E
+:10325000020202020202020202020202020202024E
+:10326000020202020202020202020202020202023E
+:10327000020202020202020202020202020202022E
+:10328000020202020202020202020202020202021E
+:10329000020202020202020202020202020202020E
+:1032A00002020202020202020202020202020202FE
+:1032B00002020202020202020202020202020202EE
+:1032C00002020202020202020202020202020202DE
+:1032D00002020202020202020202020002020202D0
+:1032E00001000000000000000000000000000000DD
+:1032F00001010101010101010101010101010101BE
+:10330000020202020202020202020202020202029D
+:10331000020202020202020202020202020202028D
+:10332000020202020202020202020202020202027D
+:10333000020202020202020202020202020202026D
+:10334000020202020202020202020202020202025D
+:10335000020202020202020202020202020202024D
+:10336000020202020202020202020202020202023D
+:10337000020202020202020202020202020202022D
+:10338000020202020202020202020202020202021D
+:10339000020202020202020202020202020202020D
+:1033A00002020202020202020202020202020202FD
+:1033B00002020202020202020202020202020202ED
+:1033C00002020202020202020202020202020202DD
+:1033D00002020202020202020202020202020202CD
+:1033E00000000000000000000000000000000000DD
+:1033F00001010101010101010101010101010101BD
+:1034000001020201010101010102020202020202A3
+:10341000020202020202020202020202020202028C
+:10342000020202020202020202020202020202027C
+:10343000020202020202020202020202020202026C
+:10344000020202020202020202020202020202025C
+:10345000020202020202020202020202020202024C
+:10346000020202020202020202020202020202023C
+:10347000020202020202020202020202020202022C
+:10348000020202020202020202020202020202021C
+:10349000020202020202020202020202020202020C
+:1034A00002020202020202020202020202020202FC
+:1034B00002020202020202020202020202020202EC
+:1034C00002020202020202020202020202020202DC
+:1034D00002020202020202020202020202020202CC
+:1034E00000000001000101010101000100000000D5
+:1034F00001010101010101010101010101010101BC
+:1035000001010101010101010101010101010101AB
+:10351000020202020202020202020202020202028B
+:10352000020202020202020202020202020202027B
+:10353000020202020202020202020202020202026B
+:10354000020202020202020202020202020202025B
+:10355000020202020202020202020202020202024B
+:10356000020202020202020202020202020202023B
+:10357000020202020202020202020202020202022B
+:10358000020202020202020202020202020202021B
+:10359000020202020202020202020202020202020B
+:1035A00002020202020202020202020202020202FB
+:1035B00002020202020202020202020202020202EB
+:1035C00002020202020202020202020202020202DB
+:1035D00002020202020202020202020202020202CB
+:1035E00000000101010101010101010101010000CF
+:1035F00001010101010101010101010101010101BB
+:1036000001010101010101010101010101010101AA
+:10361000020202020202020202020202020202028A
+:10362000020202020202020202020202020202027A
+:10363000020202020202020202020202020202026A
+:10364000020202020202020202020202020202025A
+:10365000020202020202020202020202020202024A
+:10366000020202020202020202020202020202023A
+:10367000020202020202020202020202020202022A
+:10368000020202020202020202020202020202021A
+:10369000020202020202020202020202020202020A
+:1036A00002020202020202020202020202020202FA
+:1036B00002020202020202020202020202020202EA
+:1036C00002020202020202020202020202020202DA
+:1036D00002020202020202020202020202020202CA
+:1036E00000000101010101010101010101010000CE
+:1036F00001010101010101010101010101010101BA
+:1037000001010101010101010101010101010101A9
+:103710000101010101010101010202020202020292
+:103720000101010101010101010202020202020282
+:103730000202020202020202020202020202020269
+:103740000202020202020202020202020202020259
+:103750000202020202020202020202020202020249
+:103760000202020202020202020202020202020239
+:103770000202020202020202020202020202020229
+:103780000202020202020202020202020202020219
+:103790000202020202020202020202020202020209
+:1037A00002020202020202020202020202020202F9
+:1037B00002020202020202020202020202020202E9
+:1037C00002020202020202020202020202020202D9
+:1037D00002020202020202020202020202020202C9
+:1037E00000010101010101010101010101010101CA
+:1037F00001010101010101010101010101010101B9
+:1038000001010101010101010101010101010101A8
+:103810000101010101010101010101010101010198
+:103820000101010101010101010101010101010188
+:103830000101010101010101010202020202020271
+:103840000202020202020202020202020202020258
+:103850000202020202020202020202020202020248
+:103860000202020202020202020202020202020238
+:10387000020202010101010101020202020202022E
+:10388000020202010101010101010202020202021F
+:103890000202020202020202020202020202020208
+:1038A00002020202020202020202020202020202F8
+:1038B00002020202020202020202020202020202E8
+:1038C00002020202020202020202020202020202D8
+:1038D00002020202020202020202020202020202C8
+:1038E00001010101010101010101010101010101C8
+:1038F00001010101010101010101010101010101B8
+:1039000001010101010101010101010101010101A7
+:103910000101010101010101010101010101010197
+:103920000101010101010101010101010101010187
+:103930000101010101010101010101010101010177
+:103940000101010101010101010202020202020260
+:103950000202020202020202020202020202020247
+:103960000202020202020202020202020202020237
+:103970000202020202020202020202020202020227
+:103980000202020202020202020202020202020217
+:103990000202020202020202020202020202020207
+:1039A00002020202020202020202020202020202F7
+:1039B00002020202020202020202020202020202E7
+:1039C00002020202020202020202020202020202D7
+:1039D00002020202020202020202020202020202C7
+:1039E00001010101010101010101010101010101C7
+:1039F00001010101010101010101010101010101B7
+:103A000001010101010101010101010101010101A6
+:103A10000101010101010101010101010101010196
+:103A20000101010101010101010101010101010186
+:103A30000101010101010101010101010101010176
+:103A40000101010101010101010101010101010166
+:103A5000010101010101010101020202020202024F
+:103A60000202020202020202020202020202020236
+:103A70000000000000000000000000000000000046
+:103A80000000000000000000000000000000000036
+:103A90000202020202020202020202020202020206
+:103AA00002020202020202020202020202020202F6
+:103AB00002020202020202020202020202020202E6
+:103AC00002020202020202020202020202020202D6
+:103AD00002020202020202020202020202020202C6
+:103AE00001010101010101010101010101010101C6
+:103AF00001010101010101010101010101010101B6
+:103B000001010101010101010101010101010101A5
+:103B10000101010101010101010101010101010195
+:103B20000101010101010101010101010101010185
+:103B30000101010101010101010101010101010175
+:103B40000101010101010101010101010101010165
+:103B50000101010101010101010101010101010155
+:103B60000101010101010101010101010101010145
+:103B70000000000000000000000000000000000045
+:103B80000000000000000000000000000000000035
+:103B90000202020202020202020202020202020205
+:103BA00002020202020202020202020202020202F5
+:103BB00002020202020202020202020202020202E5
+:103BC00002020202020202020202020202020202D5
+:103BD00002020202020202020202020202020202C5
+:103BE00001010101010101010101010101010101C5
+:103BF00001010101010101010101010101010101B5
+:103C000001010101010101010101010101010101A4
+:103C10000101010101010101010101010101010194
+:103C20000101010101010101010101010101010184
+:103C30000101010101010101010101010101010174
+:103C40000101010101010101010101010101010164
+:103C50000101010101010101010101010101010154
+:103C60000101010101010101010101010101010144
+:103C70000101010101010101010101010101010134
+:103C80000000000000000000000000000000000034
+:103C90000202020202020202020202020202020204
+:103CA00002020202020202020202020202020202F4
+:103CB00002020202020202020202020202020202E4
+:103CC00000000000000000000000000000000000F4
+:103CD00000000000000000000000000000000000E4
+:103CE00001010101010101010101010101010101C4
+:103CF00001010101010101010101010101010101B4
+:103D000001010101010101010101010101010101A3
+:103D10000101010101010101010101010101010193
+:103D20000101010101010101010101010101010183
+:103D30000101010101010101010101010101010173
+:103D40000101010101010101010101010101010163
+:103D50000101010101010101010101010101010153
+:103D60000101010101010101010101010101010143
+:103D70000101010101010101010101010101010133
+:103D80000101010101010101010101010101010123
+:103D90000101010101010101010101010101010113
+:103DA0000000000000000000000000000000000013
+:103DB0000000000000000000000000000000000003
+:103DC00000000000000000000000000000000000F3
+:103DD00000000000000000000000000000000000E3
+:103DE00001010101010101010101010101010101C3
+:103DF00001010101010101010101010101010101B3
+:103E000001010101010101010101010101010101A2
+:103E10000101010101010101010101010101010192
+:103E20000101010101010101010101010101010182
+:103E30000101010101010101010101010101010172
+:103E40000101010101010101010101010101010162
+:103E50000101010101010101010101010101010152
+:103E60000101010101010101010101010101010142
+:103E70000101010101010101010101010101010132
+:103E80000101010101010101010101010101010122
+:103E90000101010101010101010101010101010112
+:103EA0000101010101010101010101010101010102
+:103EB0000000000000000000000000000000000002
+:103EC00000000000000000000000000000000000F2
+:103ED00000000000000000000000000000000000E2
+:103EE00001010101010101010101010101010101C2
+:103EF00001010101010101010101010101010101B2
+:103F000001010101010101010101010101010101A1
+:103F10000101010101010101010101010101010191
+:103F20000101010101010101010101010101010181
+:103F30000101010101010101010101010101010171
+:103F40000101010101010101010101010101010161
+:103F50000101010101010101010101010101010151
+:103F60000101010101010101010101010101010141
+:103F70000101010101010101010101010101010131
+:103F80000101010101010101010101010101010121
+:103F90000101010101010101010101010101010111
+:103FA0000101010101010101010101010101010101
+:103FB00001010101010101010101010101010101F1
+:103FC00000000000000000000000000000000000F1
+:103FD00000000000000000000000000000000000E1
+:103FE00001010101010101010101010101010101C1
+:103FF00001010101010101010101010101010101B1
+:1040000001010101010101010101010101010101A0
+:104010000101010101010101010101010101010190
+:104020000101010101010101010101010101010180
+:104030000101010101010101010101010101010170
+:104040000101010101010101010101010101010160
+:104050000101010101010101010101010101010150
+:104060000101010101010101010101010101010140
+:104070000101010101010101010101010101010130
+:104080000101010101010101010101010101010120
+:104090000101010101010101010101010101010110
+:1040A0000101010101010101010101010101010100
+:1040B00001010101010101010101010101010101F0
+:1040C00001010101010101010101010101010101E0
+:1040D00000000000000000000000000000000000E0
+:1040E00001010101010101010101010101010101C0
+:1040F00001010101010101010101010101010101B0
+:10410000010101010101010101010101010101019F
+:10411000010101010101010101010101010101018F
+:10412000010101010101010101010101010101017F
+:10413000010101010101010101010101010101016F
+:10414000010101010101010101010101010101015F
+:10415000010101010101010101010101010101014F
+:10416000010101010101010101010101010101013F
+:10417000010101010101010101010101010101012F
+:10418000010101010101010101010101010101011F
+:10419000010101010101010101010101010101010F
+:1041A00001010101010101010101010101010101FF
+:1041B00001010101010101010101010101010101EF
+:1041C00001010101010101010101010101010101DF
+:1041D00000000000000000000000000000000000DF
+:1041E00000000000000000000000000000000000CF
+:1041F00000000000000000000000000000000000BF
+:1042000000000000000000000000000000000000AE
+:10421000000000000000000000000000000000009E
+:10422000020202020202020202020202020202026E
+:10423000020202020202020202020202020202025E
+:10424000020202020202020202020202020202024E
+:10425000020202020202020202020202020202023E
+:10426000020202020202020202020202020202022E
+:10427000020202020202020202020202020202021E
+:10428000020202020202020202020202020202020E
+:1042900002020202020202020202020202020202FE
+:1042A00002020202020202020202020202020202EE
+:1042B00002020202020202020202020202020202DE
+:1042C00002020202020202020202020202020202CE
+:1042D00000000000000000000000000000000000DE
+:1042E00000000000000000000000000000000000CE
+:1042F00000000000000000000000000000000000BE
+:1043000000000000000000000000000000000000AD
+:10431000000000000000000000000000000000009D
+:10432000000000000000000000000000000000008D
+:10433000000000000000000000000000000000007D
+:10434000000000000000000000000000000000006D
+:10435000000000000000000000000000000000005D
+:10436000000000000000000000000000000000004D
+:10437000000000000000000000000000000000003D
+:10438000000000000000000000000000000000002D
+:10439000000000000000000000000000000000001D
+:1043A000000000000000000000000000000000000D
+:1043B00000000000000000000000000000000000FD
+:1043C00000000000000000000000000000000000ED
+:1043D00000000000000000000000000000000000DD
+:1043E0003B00000000000000000000000000000092
+:1043F00000000000000000000000000000000000BD
+:1044000000000000000000000000000000000000AC
+:10441000000000000000000000000000000000009C
+:10442000000000000000000000000001010000008A
+:10443000000000000000000000000000000000007C
+:10444000000000000000000000000000000000006C
+:10445000000000000000000000000000000000005C
+:10446000000000000000000000000000000000004C
+:10447000000000000000000000000000000000003C
+:10448000000000000000000000000000000000002C
+:104490000000000000000000000000010101000019
+:1044A000000000000000000000000000000000000C
+:1044B00000000000000000000000000000000000FC
+:1044C00000000000000000000000000000000000EC
+:1044D00000000000000000000000000000000000DC
+:1044E00000000000000000000000000000000000CC
+:1044F00000000000000000000000000000000000BC
+:1045000000000000000000000000000000000000AB
+:10451000000000000000000000000000000000009B
+:104520000000000000000000000000010100000089
+:10453000000000000000000000010000000000007A
+:10454000000000000000000000000000000000006B
+:10455000000000000000000000000000000000005B
+:10456000000000000000000000000000000000004B
+:10457000000000000000000000000000000000003B
+:10458000000000000000000000000000000000002B
+:104590000000000000000000000000010101000018
+:1045A000000000000000000000000000000000000B
+:1045B00000000000000000000000000000000000FB
+:1045C00000000000000000000000000000000000EB
+:1045D00000000000000000000000000000000000DB
+:1045E00000000000000000000000000000000000CB
+:1045F00000000000000000000000000000000000BB
+:1046000000000000000001010000000000000000A8
+:104610000000000000000100000000000000000099
+:104620000000000000000000000000010101000186
+:104630000100000000000000010100000000000077
+:10464000000000000000000000000000000000006A
+:104650000000000000000000000000000100000059
+:10466000000000000000000000000000000000004A
+:104670000000000000000000000000000100000039
+:10468000000000000000000000000000000000002A
+:104690000000000000000000000000010101000116
+:1046A000000000000000000000000000000000000A
+:1046B00000000000000000000000000000000000FA
+:1046C00000000000000000000000000000000000EA
+:1046D00000000000000000000000000000000000DA
+:1046E00000000000000000000000000000000000CA
+:1046F00000000000000000000000000000000000BA
+:1047000000000000000001010000000000000000A7
+:104710000000000000000100000000000000000098
+:104720000000000000000000000000010101010184
+:104730000101000000000000010100000000000075
+:104740000000000000000000000001000100000067
+:104750000000000000000000000000000100000058
+:104760000000000000000000000000000000000049
+:104770000000000000000000000000000100000038
+:104780000000000000000000000000000000000029
+:104790000000000000000000000000010101010114
+:1047A0000000000000000000000000000000000009
+:1047B00000000000000000000000000000000000F9
+:1047C00000000000000000000000000000000000E9
+:1047D00000000000000000000000000000000000D9
+:1047E00000000000000000000000000000010000C8
+:1047F00000000000000000000000000000000000B9
+:1048000000000000000001010000000000000000A6
+:104810000000000000000101000001000000000095
+:104820000000000000000000000000010101010183
+:104830000101000000000000010101000000000073
+:104840000000000000000000000001000100000066
+:104850000000000000000000000000000100000057
+:104860000000000000000000000000000000000048
+:104870000000000000000000000000010100000036
+:104880000000000000000000000000000000000028
+:104890000000000000000000000000010101010113
+:1048A0000000000000000000000000000000000008
+:1048B00000000000000000000000000000000000F8
+:1048C00000000000000000000000000000000000E8
+:1048D00000000000000000000000000000000000D8
+:1048E00000000000000000000000000000010000C7
+:1048F00000000000000000000000000000000000B8
+:1049000000000000000101010000000000000000A4
+:104910000000000000000101000001000000000094
+:104920000000000000000000000000010101010182
+:104930000101000000000000010101000000000072
+:104940000000000000000000000001010101000063
+:104950000000000000000000000000000100000056
+:104960000000000000000000000000000000000047
+:104970000000000000000000000000010100000035
+:104980000000000000000000000000000000000027
+:104990000000000000000000000000010101010112
+:1049A0000000000000000000000000000000000007
+:1049B00000000000000000000000000000000000F7
+:1049C00000000000000000000000010000000000E6
+:1049D00000000000000000000000000000000000D7
+:1049E00000000000000000000000000001010000C5
+:1049F00000000000000000000100010000000000B5
+:104A000000000000000101010000000000000000A3
+:104A10000000000000000101000001000100000092
+:104A20000000000000000000000000010101010181
+:104A30000101000000000000010101000000000071
+:104A40000000000000000000000001010101010061
+:104A50000000000000000000000000010100000153
+:104A60000000000000000000000000000000000046
+:104A70000000000000000000000000010100000133
+:104A80000000000000000000000000000000000026
+:104A90000000000000000000000000010101010111
+:104AA0000000000000000000000000000000000006
+:104AB00000000000000000000000000000000000F6
+:104AC00000000000000000000000010000000000E5
+:104AD00000000000000000000000000000000000D6
+:104AE00000000000000000000000000001010000C4
+:104AF00000000000000000000100010000000000B4
+:104B000000000000000101010000000000000100A1
+:104B1000000100000000010100010100010000008F
+:104B20000000000000000000000000010101010180
+:104B30000101000000000000010101000000000070
+:104B4000000000000000000000000101010101015F
+:104B50000000000000000101000000010100000150
+:104B60000000000000000000000000000000000045
+:104B70000000000000000000000000010100010131
+:104B80000000000000000000000000000000000025
+:104B90000000000000000000000000010101010110
+:104BA0000000000000000000000000000000000005
+:104BB00000000000000000000000000000000000F5
+:104BC00000000000000000000000010001000000E3
+:104BD00000000000000000000000000000000000D5
+:104BE00000000000000000000000010001010000C2
+:104BF00000000000000000000100010001000000B2
+:104C0000000000000001010100000000000101019E
+:104C1000010101010000010101010100010000008A
+:104C2000000000000000000000000001010101017F
+:104C3000010100000000010101010100000000006D
+:104C4000000000000000010100000101010101015C
+:104C5000000000000000010100000001010100014E
+:104C60000000000000000000000000000000000044
+:104C7000000000000000000000000001010101012F
+:104C80000000000000000100000000000000000023
+:104C9000000000000000000000000001010101010F
+:104CA0000000000000000000000000000000000004
+:104CB00000000000000000000000000000000000F4
+:104CC00000000000000000000000010001000000E2
+:104CD00000000000000000000000000000000000D4
+:104CE00000000000000000000000010001020000C0
+:104CF00000000000000000000100010001000000B1
+:104D0000000000000001010100000000000101019D
+:104D10000101010101010101010101000100000087
+:104D2000000000000000000000000001010101017E
+:104D3000010100000000010101010100000000006C
+:104D4000000000000000010100000101010101015B
+:104D5000010000000000010100000001010101014B
+:104D60000000000000000000000000000000000043
+:104D7000000000000000000000000001010101012E
+:104D80000000000000000100000000000000000022
+:104D9000000000000000000000000001010101010E
+:104DA0000000000000000000000000000000000003
+:104DB00000000000000000000000000000000000F3
+:104DC00000000000000000000000010101000000E0
+:104DD00000000000000000000000000000000000D3
+:104DE00000000000000000000000010101020000BE
+:104DF00000000000000001000100010001000000AF
+:104E0000000000000001010100000100000101019B
+:104E10000101010101010101010101010100000184
+:104E2000000000000000010100000001010101017B
+:104E30000101000000000101010101010100000069
+:104E4000000000000000010100000101010101015A
+:104E50000100000000010101000000010101010149
+:104E60000000000000000101000000000000000040
+:104E7000000000000000000000000001010101012D
+:104E8000010000000000010100000000000000001F
+:104E9000000000000000000000000001010101010D
+:104EA0000000000000000000000000000000000002
+:104EB00000000000000000000000000000000000F2
+:104EC00000000000000000000000010101000000DF
+:104ED00000000000000000000000000000000000D2
+:104EE00000000000000000000000010101020000BD
+:104EF00000000000000001000101010001000000AD
+:104F0000000000000001010100000100000101019A
+:104F10000101010101010101010101010100010182
+:104F2000000000000000010100000001010101017A
+:104F30000101000000000101010101010100000068
+:104F40000000000000010101000001010101010158
+:104F50000100000000010101000000010101010148
+:104F6000000000000000010100000000000000003F
+:104F7000000000000000000000000001010101012C
+:104F8000010000000001010100000000000000001D
+:104F9000000000000000000000000001010101010C
+:104FA0000000000000000000000000000000000001
+:104FB00000000000000000000000000000000000F1
+:104FC00000000000000000000000010101000000DE
+:104FD00000000000000000000000000000000000D1
+:104FE00000000000000000000000010102020000BB
+:104FF00000000000000001000101010001000000AC
+:105000000000000000010101010001000001010198
+:105010000101010101010101010101010101010180
+:105020000000000000000101000000010101010179
+:105030000101000000000101010101010101000066
+:105040000000000000010101000001010101010157
+:105050000100000000010101000000010101010147
+:10506000010000000000010100000000000000003D
+:10507000000000000000000000000001010101012B
+:10508000010000000001010100000000000000001C
+:10509000000000000000000000000001010101010B
+:1050A0000000000000000000000000000000000000
+:1050B00000000000000000000000000000000000F0
+:1050C00000000000000000000001010101000000DC
+:1050D00000000000000000000000000000000000D0
+:1050E00000000000000000000000010202020100B8
+:1050F00000000000000001000101010001000000AB
+:105100000000000000010101010001000001010197
+:10511000010101010101010101010101010101017F
+:105120000000000000000101000000010101010178
+:105130000101000000010101010101010101010063
+:105140000000000000010101000001010101010156
+:105150000100000000010101000000010101010146
+:10516000010000000001010100000000000000003B
+:10517000000000000000000000000001010101012A
+:10518000010000000001010100000000000000001B
+:10519000000000000000000000000001010101010A
+:1051A00000000000000000000000000000000000FF
+:1051B00000000000000001010000010000000000EC
+:1051C00000000000000000000101010101010000D9
+:1051D00000000000000000000000000000000000CF
+:1051E00000020000000000000100010202020200B3
+:1051F00000000000000001000101010101000000A9
+:105200000000000000010101010001000001010196
+:10521000010101010101010101010101010101017E
+:105220000000000000000101000001010101010176
+:105230000101000000010101010101010101010161
+:105240000000000000010101000001010101010155
+:105250000100000000010101000000010101010145
+:10526000010000000001010100000000000000003A
+:105270000000000000000000000000010101010129
+:10528000010000000001010100000000000000001A
+:105290000000000000000000000000010101010109
+:1052A00000000000000000000000000000000000FE
+:1052B00000000000000101010000010000000000EA
+:1052C00000000000000000000101010101010000D8
+:1052D00000000000000000000000000000000000CE
+:1052E00000020000000000010101020202020200AF
+:1052F00000000000000001000201010101000000A7
+:105300000000000000010101010101000001010194
+:10531000010101010101010101010101010101017D
+:105320000000000000010101000001010101010174
+:105330000101000000010101010101010101010160
+:105340000000000000010101000001010101010154
+:105350000100000000010101000000010101010144
+:105360000100000000010101000000000000000039
+:105370000000000000000000000000010101010128
+:105380000100000000010101000000000000000019
+:105390000000000000000000000000010101010108
+:1053A00000000000000000000000010000000000FC
+:1053B00000000000000101010000010000000000E9
+:1053C00000000000000001000101010101010000D6
+:1053D00000000000000001000000000000000000CC
+:1053E00000020000000000010101020202020200AE
+:1053F00000000100000001000201010101000000A5
+:105400000000000000010101010101010101010191
+:10541000010101010101010101010101010101017C
+:105420000100000000010101010001010101010171
+:10543000010100000001010102010101010101015E
+:105440000100000000010101000001010101010152
+:105450000100000000010101000001010101010142
+:105460000100000000010101000000000000000038
+:105470000000000000000000000001010101010126
+:105480000100000000010101000000000000000018
+:105490000000000000000101000001010101010104
+:1054A00000000000000001010000010000000000F9
+:1054B00000000000000101010000010000000000E8
+:1054C00000000000000101000101010101010000D4
+:1054D00000000000000101000000010002000000C7
+:1054E00000010000000000010201020202020200AD
+:1054F00000000200000001000201010101000000A3
+:10550000000000000101010101010101010101018F
+:10551000010101010101010101010101010101017B
+:10552000010000000001010101010101010101016F
+:10553000010100000001010102020101010101015C
+:105540000100000000010101010001010101010150
+:105550000100000000010101000001010101010141
+:105560000100000000010101000000000000000037
+:105570000000000000000000000001010101010125
+:105580000100000000010101000000000000000017
+:105590000000000000000101000001010101010103
+:1055A00000000000000001010100010000000000F7
+:1055B00000000000000101010000010001000000E6
+:1055C00000000000000101010101010101010000D2
+:1055D00000000000000101000000010001000000C7
+:1055E00000010000000000010202020202020202A9
+:1055F000020002020000010002010101010000009E
+:10560000000000000101010101010101010101018E
+:10561000010101010101010101010101010101017A
+:10562000010000000001010101010102010101016D
+:10563000010100000001010102020101010101015B
+:10564000010000000001010101010101010101014E
+:10565000010000000001010101000101010101013F
+:105660000100000000010101000001000000000035
+:105670000000000000000000010001010101010123
+:105680000100000000010101000001000000000015
+:105690000000000000000101000001010101010102
+:1056A00000000000000001010101010000000000F5
+:1056B00000000000000101010000010001000000E5
+:1056C00000000000000101010101010101010100D0
+:1056D00000000000000101000000010001000000C6
+:1056E00000010200000000010202020202020202A6
+:1056F000020202020000010002010101010000009B
+:10570000000000000101010102010101010101018C
+:105710000101010101010101020101010101010178
+:10572000010000000001010101010102020101016B
+:10573000010100000001010102020101010101015A
+:10574000010000000001010101010101010101014D
+:10575000010000000001010101010101010101013D
+:105760000100000000010101000101000000000033
+:105770000000000000000000010101010101010121
+:105780000100000000010101000001000000000014
+:105790000000000000010101000001010101010100
+:1057A00000000000000101010101010101000000F1
+:1057B00000000000000101010100010101000000E2
+:1057C00000000000000101010101010101010101CE
+:1057D00000000000000101010000010001000000C4
+:1057E00000010200000000010202020202020202A5
+:1057F0000202020200000100020202010100000098
+:10580000000000000101010102010101010101018B
+:105810000101010101010101020201010101010176
+:105820000100000000010101010101020202010169
+:105830000101000000010101020201010101010159
+:10584000010000000001010101010101010101014C
+:10585000010000000001010101010101010101013C
+:105860000100000000010101000101000000000032
+:105870000000000000000000010101010101010120
+:105880000100000000010101010001000000000012
+:1058900000000000000101010100010101010101FE
+:1058A00000000000000101010101010101000000F0
+:1058B00000000000000101010101010101000000E0
+:1058C00000000000000101010101010101010101CD
+:1058D00000000000000101010000010101000000C2
+:1058E00000010100000001010202020202020202A4
+:1058F0000202020201000200020202010100000095
+:105900000000000001010101020101010102020188
+:105910000101010101010101020202010101010174
+:105920000100000000010101010101020202020266
+:105930000201000000010101020202010101010156
+:10594000010000000001010101010201010101014A
+:10595000010001000001010101010101010101013A
+:105960000100000000010101000101000000000031
+:10597000000000000000000001010101010101011F
+:10598000010000000101010101010100000000000F
+:1059900000000000000101010101010201010101FB
+:1059A00000000000000101010101010101000000EF
+:1059B00000000000000101010101010101000000DF
+:1059C00000000000000101010101010101010101CC
+:1059D00000000000000101010001010101000000C0
+:1059E00000010100000001010202020202020202A3
+:1059F0000202020202000201020202010200000091
+:105A00000200000001010101020202010102020282
+:105A10000202010101010101020202010101010171
+:105A20000100000000010101010101020202020265
+:105A30000202000000010101020202010101010154
+:105A40000100000000010101010102020201010147
+:105A50000100010001010101010101010201010137
+:105A60000100000000010101000101000000000030
+:105A7000000000000000010101010102020101011A
+:105A8000010001000101010101010100000000000D
+:105A900000000000000101010101010202020101F8
+:105AA00000000000000101010101010101000000EE
+:105AB00000000000000101010101010101000000DE
+:105AC00000000000000101010101010101010101CB
+:105AD00000010000000101010001010101020002BA
+:105AE00000010100000001010202020202020202A2
+:105AF0000202020202000201020202010200000090
+:105B0000020200000101020202020201010202027D
+:105B1000020202020101020102020201020101016C
+:105B20000100000001010101020101020202020262
+:105B30000202000000010101020202010101010153
+:105B40000100000001010101010102020202010144
+:105B50000100010001010101010101020201010135
+:105B6000010000000101010100010100000000002E
+:105B70000000000000000101010101020201010119
+:105B8000010101000101010101010100000000000B
+:105B900000000000000101010101010202020101F7
+:105BA00000000000000101010101010101000000ED
+:105BB00000000100000101010101010101010000DB
+:105BC00000000100000101010201020101010101C7
+:105BD00001010100000101010001010101010002B8
+:105BE00000010100000101010202020202020202A0
+:105BF000020202020200020102020202020100008D
+:105C0000010101000102020202020201010202027C
+:105C10000202020202010202020202020201010168
+:105C20000100010001010101020101020202020260
+:105C30000202000000010101020202020101010151
+:105C40000100010001010101010102020202020141
+:105C50000101010001010101010101020201010133
+:105C60000100010001010101000101010100000129
+:105C70000000000000000101010101020201010118
+:105C80000101010101010101010101000000000009
+:105C900000000000000101010101010202020202F4
+:105CA00000000000000101010101010101000000EC
+:105CB00000010100010101010101010101010000D8
+:105CC00000010100010101010202020101010101C3
+:105CD00001010100000101010000000101010001BA
+:105CE000000101000001010102020202020202029F
+:105CF000020202020201020102020202020101008A
+:105D0000010101000102020202020202010202027A
+:105D10000202020202010202020202020201010167
+:105D2000010001000101010102020102020202025E
+:105D3000020200000001010102020202020101014F
+:105D4000010001000101010102010202020202023E
+:105D5000010101010101010101010102020201022F
+:105D60000100010001010101000101010100010127
+:105D70000000000000010101010101020202020213
+:105D80000101010101010101010101000000000008
+:105D900000000000000101010101010202020202F3
+:105DA00000000000000101010201010101010000E9
+:105DB00000010100010101010101010101010001D6
+:105DC00001010101010101010202020202010101BE
+:105DD00001010100000101010000000101010201B7
+:105DE000000101000001010102020202020202029E
+:105DF0000202020202010201020202020201010188
+:105E00000101010101020202020202020202020277
+:105E10000202020202020202020202020202020262
+:105E2000010001010101010102020202020202025B
+:105E3000020200000001010102020202020201014D
+:105E4000010001010101010102010202020202023C
+:105E5000020101010101010102010102020202022B
+:105E60000100010001010101000101010101010125
+:105E70000100000000010101020101020202020210
+:105E80000101010101010101020101010100000004
+:105E900000000000000101010101010202020202F2
+:105EA00000000000000101010201010101010100E7
+:105EB00000010100010101010101010101010101D4
+:105EC00001010101010101010202020202010101BD
+:105ED00001010100010101010000000000010101B8
+:105EE000020101000001010002020202020202029C
+:105EF0000202020202020201020202020201010186
+:105F00000101010101020202020202020202020276
+:105F10000202020202020202020202020202020261
+:105F20000101010101010101020202020202020259
+:105F3000020200000001010102020202020202014B
+:105F40000101010101010101020202020202020239
+:105F5000020101010101010102010102020202022A
+:105F60000101010001010101000101010101010123
+:105F7000010000000001010102010102020202020F
+:105F80000201010101010101020101010100000002
+:105F900000000000000101010101010202020202F1
+:105FA00000000000000101010202010101010101E4
+:105FB00000010101010101010201010101010101D1
+:105FC00001010101010101010202020202010101BC
+:105FD00001010101010101010000000000010101B6
+:105FE000010101000201010002020202020101029C
+:105FF0000202010102020201020202020201010187
+:106000000101010101020202020202020202020275
+:106010000202020202020202020202020202020260
+:106020000101010101010101020202020202020258
+:106030000202000000010202020202020202020247
+:106040000101010101010101020202020202020238
+:106050000201010101010101020201020202020228
+:10606000020101010101010101020101010101011E
+:10607000010000000001010102020102020202020D
+:106080000201010101010101020201010100000000
+:1060900000000000000101010201010202020202EF
+:1060A00002000100000101010202020101010101DF
+:1060B00000010101010101010201020101010101CF
+:1060C00001010101010101010202020202020101BA
+:1060D00001010101010101010000000000010101B5
+:1060E000010001000101010002020202020101019E
+:1060F0000101010102020201020202020201010188
+:106100000101010102020202020202020202020273
+:10611000020202020202020202020202020202025F
+:106120000201010101010101020202020202020256
+:106130000202000000010202020202020202020246
+:106140000201010101010202020202020202020234
+:106150000201010101010202020202020202020224
+:10616000020101010101010101020101010101011D
+:10617000010000000001010102020202020202020B
+:1061800002010101010101010202020101000000FE
+:1061900000000000000101010201010202020202EE
+:1061A00001010100010101010202020101010101DD
+:1061B00000010101010101010202020101010101CD
+:1061C00001010101010101010202020202020101B9
+:1061D00001010101010101010100000000000101B4
+:1061E000010001000101010002020201010101019F
+:1061F0000101010101020201020202020202010187
+:106200000101010102020202020202020202020272
+:10621000020202020202020202020202020202025E
+:106220000201010101010202020202020202020253
+:106230000202000000020202020202020202020244
+:106240000201010101020202020202020202020232
+:106250000201010101020202020202020202020222
+:10626000020101010101010101020201010101011B
+:10627000010000000001010102020202020202020A
+:1062800002010101010102010202020101010000FB
+:1062900002000000000101010202020202020202E9
+:1062A00001010101010101010202020201010101DA
+:1062B00000010101010101010202020101010101CC
+:1062C00001010101010101010202020202020101B8
+:1062D00001010101010101010100000000000101B3
+:1062E000010000020101010002020201010101019D
+:1062F0000101010101020200020202020202020186
+:106300000101010102020202020202020202020271
+:10631000020202020202020202020202020202025D
+:106320000201010101010202020202020202020252
+:106330000202000000020202020202020202020243
+:106340000201010101020202020202020202020231
+:106350000201010101020202020202020202020221
+:106360000201010101010202010202010101010118
+:106370000100000000010101020202020202020209
+:1063800002010101010202020202020101010000F8
+:1063900001000000000101010202020202020202E9
+:1063A00001010101010101010202020202010101D8
+:1063B00001010101010101010202020202010101C8
+:1063C00001010101010101010202020202020201B6
+:1063D00001010101010101010200000000000000B3
+:1063E000010000010101000002020201010101019E
+:1063F0000101010101010200020202020202020285
+:10640000020202010202020202020202020202026D
+:10641000020202020202020202020202020202025C
+:106420000201010101020202020202020202020250
+:106430000202000000020202020202020202020242
+:106440000201010101020202020202020202020230
+:106450000201010101020202020202020202020220
+:106460000201010101020202020202010101010115
+:106470000100000000010101020202020202020208
+:1064800002010101010202020202020101010001F6
+:1064900001000100000101010202020202020202E7
+:1064A00001010101010101010202020202010101D7
+:1064B00001010101010202020202020202010101C4
+:1064C00001010101010101010202020202020202B4
+:1064D00001010101010101010200000000000000B2
+:1064E00000000001010000000202010101010101A0
+:1064F0000101010101010100020202020202020285
+:10650000020202020202020202020202020202026B
+:10651000020202020202020202020202020202025B
+:10652000020101010102020202020202020202024F
+:106530000202000001020202020202020202020240
+:10654000020101010102020202020202020202022F
+:10655000020101010102020202020202020202021F
+:106560000201010101020202020202020101010113
+:106570000100000001010101020202020202020206
+:1065800002010101010202020202020201010101F3
+:1065900001010100010102020202020202020202E2
+:1065A00001010101010101010202020202010101D6
+:1065B00001010101010202020202020202010101C3
+:1065C00001010101010101010202020202020202B3
+:1065D00001010101010202010202020000000000AB
+:1065E000000000010100000002020101010101019F
+:1065F0000101010101010100020202020202020284
+:10660000020202020202020202020202020202026A
+:10661000020202020202020202020202020202025A
+:10662000020101010102020202020202020202024E
+:10663000020201000102020202020202020202023E
+:10664000020101010102020202020202020202022E
+:10665000020102010102020202020202020202021D
+:106660000201010101020202020202020201010111
+:106670000100010001010101020202020202020204
+:1066800002010101010202020202020202010101F1
+:1066900001010101010202020202020202020202DF
+:1066A00001010101010101010202020202020101D4
+:1066B00001010101010202020202020202020101C1
+:1066C00001010101010202010202020202020202B0
+:1066D00002020101010202010202020000000000A8
+:1066E00000000001000000000201010101010101A0
+:1066F0000101010101010100020202020202020283
+:106700000202020202020202020202020202020269
+:106710000202020202020202020202020202020259
+:10672000020102010202020202020202020202024B
+:10673000020201000102020202020202020202023D
+:10674000020102010202020202020202020202022B
+:10675000020202010202020202020202020202021A
+:10676000020101010102020202020202020202020D
+:106770000100010001010101020202020202020203
+:1067800002020201020202020202020202010101ED
+:1067900001010101010202020202020202020202DE
+:1067A00001010101010102020202020202020201D0
+:1067B00001020201010202020202020202020101BE
+:1067C00001010101010202020202020202020202AE
+:1067D00002020201010202020202020202000000A1
+:1067E00000000000000000000101010101010101A1
+:1067F0000101010101010100020202020202020282
+:106800000202020202020202020202020202020268
+:106810000202020202020202020202020202020258
+:106820000202020202020202020202020202020248
+:10683000020201000102020202020202020202023C
+:106840000202020202020202020202020202020228
+:106850000202020202020202020202020202020218
+:10686000020102010202020202020202020202020A
+:106870000200010101010101020202020202020200
+:1068800002020202020202020202020202020101EA
+:1068900001010101010202020202020202020202DD
+:1068A00001010101010202020202020202020202CD
+:1068B00001020201020202020202020202020202BA
+:1068C00002020201010202020202020202020202AA
+:1068D00002020201010202020202020202000000A0
+:1068E00000000000000000000101010101010101A0
+:1068F0000101010101010100020202020202020281
+:106900000202020202020202020202020202020267
+:106910000202020202020202020202020202020257
+:106920000202020202020202020202020202020247
+:10693000020201000102020202020202020202023B
+:106940000202020202020202020202020202020227
+:106950000202020202020202020202020202020217
+:106960000202020102020202020202020202020208
+:1069700002010101010101010202020202020202FE
+:1069800002020202020202020202020202020101E9
+:1069900001010101010202020202020202020202DC
+:1069A00001010101010202020202020202020202CC
+:1069B00001020202020202020202020202020202B8
+:1069C00002020202020202020202020202020202A7
+:1069D000020202020202020202020202020000009D
+:1069E000000200000000000001010101010101019D
+:1069F0000101010101010100020202020202020280
+:106A00000202020202020202020202020202020266
+:106A10000202020202020202020202020202020256
+:106A20000202020202020202020202020202020246
+:106A3000020201000102020202020202020202023A
+:106A40000202020202020202020202020202020226
+:106A50000202020202020202020202020202020216
+:106A60000202020202020202020202020202020206
+:106A700002010101010102020202020202020202FB
+:106A800002020202020202020202020202020202E6
+:106A900002010101010202020202020202020202DA
+:106AA00001010101010202020202020202020202CB
+:106AB00002020202020202020202020202020202B6
+:106AC00002020202020202020202020202020202A6
+:106AD000020202020202020202020202020200009A
+:106AE000000200000000000001010101010101019C
+:106AF000010101010101010002020202020202027F
+:106B00000202020202020202020202020202020265
+:106B10000202020202020202020202020202020255
+:106B20000202020202020202020202020202020245
+:106B30000202020002020202020202020202020237
+:106B40000202020202020202020202020202020225
+:106B50000202020202020202020202020202020215
+:106B60000202020202020202020202020202020205
+:106B700002010101010202020202020202020202F9
+:106B800002020202020202020202020202020202E5
+:106B900002020201010202020202020202020202D7
+:106BA00002020201010202020202020202020202C7
+:106BB00002020202020202020202020202020202B5
+:106BC00002020202020202020202020202020202A5
+:106BD0000202020202020202020202020202000099
+:106BE000000202000000000201010101010000009A
+:106BF0000000000001010100020202020202020282
+:106C00000202020202020202020202020202020264
+:106C10000202020202020202020202020202020254
+:106C20000202020202020202020202020202020244
+:106C30000202020102020202020202020202020235
+:106C40000202020202020202020202020202020224
+:106C50000202020202020202020202020202020214
+:106C60000202020202020202020202020202020204
+:106C700002010101010202020202020202020202F8
+:106C800002020202020202020202020202020202E4
+:106C900002020202020202020202020202020202D4
+:106CA00002020202020202020202020202020202C4
+:106CB00002020202020202020202020202020202B4
+:106CC00002020202020202020202020202020202A4
+:106CD0000202020202020202020202020202020294
+:106CE0000002020000000202010101000000000099
+:106CF0000000000000010100020202020202020282
+:106D00000202020202020202020202020202020263
+:106D10000202020202020202020202020202020253
+:106D20000202020202020202020202020202020243
+:106D30000202020102020202020202020202020234
+:106D40000202020202020202020202020202020223
+:106D50000202020202020202020202020202020213
+:106D60000202020202020202020202020202020203
+:106D700002010101010202020202020202020202F7
+:106D800002020202020202020202020202020202E3
+:106D900002020202020202020202020202020202D3
+:106DA00002020202020202020202020202020202C3
+:106DB00002020202020202020202020202020202B3
+:106DC00002020202020202020202020202020202A3
+:106DD0000202020202020202020202020202020293
+:106DE0000202020000020202010100000000000095
+:106DF0000000000000000000010202020202020284
+:106E00000202020202020202020202020202020262
+:106E10000202020202020202020202020202020252
+:106E20000202020202020202020202020202020242
+:106E30000202020202020202020202020202020232
+:106E40000202020202020202020202020202020222
+:106E50000202020202020202020202020202020212
+:106E60000202020202020202020202020202020202
+:106E700002010201020202020202020202020202F4
+:106E800002020202020202020202020202020202E2
+:106E900002020202020202020202020202020202D2
+:106EA00002020202020202020202020202020202C2
+:106EB00002020202020202020202020202020202B2
+:106EC00002020202020202020202020202020202A2
+:106ED0000202020202020202020202020202020292
+:106EE0000202020000020202010000000000000095
+:106EF000000000000000000001010101010101018A
+:106F00000101010101010101020202020202020269
+:106F10000202020202020202020202020202020251
+:106F20000202020202020202020202020202020241
+:106F30000202020202020202020202020202020231
+:106F40000202020202020202020202020202020221
+:106F50000202020202020202020202020202020211
+:106F60000202020202020202020202020202020201
+:106F700002020202020202020202020202020202F1
+:106F800002020202020202020202020202020202E1
+:106F900002020202020202020202020202020202D1
+:106FA00002020202020202020202020202020202C1
+:106FB00002020202020202020202020202020202B1
+:106FC00002020202020202020202020202020202A1
+:106FD0000202020202020202020202020202020291
+:106FE0000202020002020202000000000000000093
+:106FF0000000000000000000010101010101010189
+:10700000010101010101010102020202020000006E
+:10701000000000000002020202020202020202025A
+:107020000202020202020202020202020202020240
+:107030000202020202020202020202020202020230
+:107040000202020202020202020202020202020220
+:107050000202020202020202020202020202020210
+:107060000202020202020202020202020202020200
+:1070700002020202020202020202020202020202F0
+:1070800002020202020202020202020202020202E0
+:1070900002020202020202020202020202020202D0
+:1070A00002020202020202020202020202020202C0
+:1070B00002020202020202020202020202020202B0
+:1070C00002020202020202020202020202020202A0
+:1070D0000202020202020202020202020202020290
+:1070E000020202020202020200000000000101018D
+:1070F0000101010100000000010101010101010184
+:107100000101010101010101000000000001010174
+:10711000010101010100000002020202020202025A
+:10712000020202020202020202020202020202023F
+:10713000020202020202020202020202020202022F
+:10714000020202020202020202020202020202021F
+:10715000020202020202020202020202020202020F
+:1071600002020202020202020202020202020202FF
+:1071700002020202020202020202020202020202EF
+:1071800002020202020202020202020202020202DF
+:1071900002020202020202020202020202020202CF
+:1071A00002020202020202020202020202020202BF
+:1071B00002020202020202020202020202020202AF
+:1071C000020202020202020202020202020202029F
+:1071D000020202020202020202020202020202028F
+:1071E000020202020202020200000001010101018A
+:1071F0000101010101000000010101010101010182
+:10720000010101010101010101010101010101016E
+:107210000101010101010101020202020202020256
+:10722000020202020202020202020202020202023E
+:10723000020202020202020202020202020202022E
+:10724000020202020202020202020202020202021E
+:10725000020202020202020202020202020202020E
+:1072600002020202020202020202020202020202FE
+:1072700002020202020202020202020202020202EE
+:1072800002020202020202020202020202020202DE
+:1072900002020202020202020202020202020202CE
+:1072A00002020202020202020202020202020202BE
+:1072B00002020202020202020202020202020202AE
+:1072C000020202020202020202020202020202029E
+:1072D000020202020202020202020202020202028E
+:1072E0000202020202020202000001010101010188
+:1072F000010101010101010001010101010101017F
+:10730000010101010101010101010101010101016D
+:107310000101010101010101000000000000000065
+:107320000002020202020202020202010101010144
+:107330000101020202020202020201010101010135
+:10734000010202020202020202020202020202021E
+:10735000020202020202020202020202020202020D
+:1073600002020202020202020202020202020202FD
+:1073700002020202020202020202020202020202ED
+:1073800002020202020202020202020202020202DD
+:1073900002020202020202020202020202020202CD
+:1073A00002020202020202020202020202020202BD
+:1073B00002020202020202020202020202020202AD
+:1073C000020202020202020202020202020202029D
+:1073D000020202020202020202020202020202028D
+:1073E0000202020202020202000101010101010186
+:1073F000010101010101010101010101010101017D
+:10740000010101010101010101010101010101016C
+:10741000010101010101010101010101010101015C
+:107420000100000000000000010101010101010153
+:107430000101010101010101010102020202020236
+:107440000202020202020202020201010101010122
+:10745000010202020202020202020202020202020D
+:1074600002020202020202020202020202020202FC
+:1074700002020202020202020202020202020202EC
+:1074800002020202020202020202020202020202DC
+:1074900002020202020202020202020202020202CC
+:1074A00002020202020202020202020202020202BC
+:1074B00002020202020202020202020202020202AC
+:1074C000020202020202020202020202020202029C
+:1074D000020202020202020202020202020202028C
+:1074E0000202020202020202010101010101010184
+:1074F000010101010101010101010101010101017C
+:10750000010101010101010101010101010101016B
+:10751000010101010101010101010101010101015B
+:10752000010101010101010101010101010101014B
+:10753000010101010101010101010101010101013B
+:107540000101010101010101020202020202020223
+:107550000202020202020202020202010101010110
+:1075600001020202020202020202020202020202FC
+:1075700002020202020202020202020101010101F0
+:1075800001020202020202020000000000000000EC
+:1075900000000000000000000202020202020202DB
+:1075A00002020202020202020202020202020202BB
+:1075B00002020202020202020202020202020202AB
+:1075C000020202020202020202020202020202029B
+:1075D000020202020202020202020202020202028B
+:1075E0000202020202020202010101010101010183
+:1075F000010101010101010101010101010101017B
+:10760000010101010101010101010101010101016A
+:10761000010101010101010101010101010101015A
+:10762000010101010101010101010101010101014A
+:10763000010101010101010101010101010101013A
+:10764000010101010101010101010101010101012A
+:107650000101010101010101020202020202020212
+:107660000202020202020202020101010101010101
+:1076700001020202020202020202020202020202EB
+:1076800002020202020202020000000000000000EA
+:1076900000000000000000000202020202020202DA
+:1076A00002020202020202020000000000000000CA
+:1076B00000000000000000000202020202020202BA
+:1076C000020202020202020202020202020202029A
+:1076D000020202020202020202020202020202028A
+:1076E0000202020202020202010101010101010182
+:1076F000010101010101010101010101010101017A
+:107700000101010101010101010101010101010169
+:107710000101010101010101010101010101010159
+:107720000101010101010101010101010101010149
+:107730000101010101010101010101010101010139
+:107740000101010101010101010101010101010129
+:107750000101010101010101010101010101010119
+:107760000101010101010101020202020202020201
+:1077700002020202020202020000000000000000F9
+:1077800000000000000000000000000000000000F9
+:1077900000000000000000000202020101010101DE
+:1077A00002020202020202020000000000000000C9
+:1077B00000000000000000000202020202020202B9
+:1077C0000202020202020202020202020202020299
+:1077D0000202020202020202000000000000000099
+:1077E0000000000000000000010101010101010191
+:1077F0000101010101010101010101010101010179
+:107800000101010101010101010101010101010168
+:107810000101010101010101010101010101010158
+:107820000101010101010101010101010101010148
+:107830000101010101010101010101010101010138
+:107840000101010101010101010101010101010128
+:107850000101010101010101010101010101010118
+:107860000101010101010101010101010101010108
+:1078700001010101010101010101010101010101F8
+:1078800001010101010101010000000000000000F0
+:1078900000000000000000000202020202020202D8
+:1078A00002020202020202020000000000000000C8
+:1078B00000000000000000000202020202020202B8
+:1078C00002020202020202020000000000000000A8
+:1078D00000000000000000000000000000000000A8
+:1078E0000000000000000000010101010101010190
+:1078F0000101010101010101010101010101010178
+:107900000101010101010101010101010101010167
+:107910000101010101010101010101010101010157
+:107920000101010101010101010101010101010147
+:107930000101010101010101010101010101010137
+:107940000101010101010101010101010101010127
+:107950000101010101010101010101010101010117
+:107960000101010101010101010101010101010107
+:1079700001010101010101010101010101010101F7
+:1079800001010101010101010101010101010101E7
+:1079900001010101010101010101010101010101D7
+:1079A00001010101010101010000000000000000CF
+:1079B00000000000000000000202020202020202B7
+:1079C00002020202020202020000000000000000A7
+:1079D00000000000000000000000000000000000A7
+:1079E000000000000000000001010101010101018F
+:1079F0000101010101010101010101010101010177
+:107A00000101010101010101010101010101010166
+:107A10000101010101010101010101010101010156
+:107A20000101010101010101010101010101010146
+:107A30000101010101010101010101010101010136
+:107A40000101010101010101010101010101010126
+:107A50000101010101010101010101010101010116
+:107A60000101010101010101010101010101010106
+:107A700001010101010101010101010101010101F6
+:107A800001010101010101010101010101010101E6
+:107A900001010101010101010101010101010101D6
+:107AA00001010101010101010101010101010101C6
+:107AB00001010101010101010101010101010101B6
+:107AC00001010101010101010000000000000000AE
+:107AD00000000000000000000000000000000000A6
+:107AE000000000000000000001010101010101018E
+:107AF0000101010101010101010101010101010176
+:107B00000101010101010101010101010101010165
+:107B10000101010101010101010101010101010155
+:107B20000101010101010101010101010101010145
+:107B30000101010101010101010101010101010135
+:107B40000101010101010101010101010101010125
+:107B50000101010101010101010101010101010115
+:107B60000101010101010101010101010101010105
+:107B700001010101010101010101010101010101F5
+:107B800001010101010101010101010101010101E5
+:107B900001010101010101010101010101010101D5
+:107BA00001010101010101010101010101010101C5
+:107BB00001010101010101010101010101010101B5
+:107BC00001010101010101010101010101010101A5
+:107BD000010101010101010100000000000000009D
+:107BE000000000000000000001010101010101018D
+:107BF0000101010101010101010101010101010175
+:107C00000101010101010101010101010101010164
+:107C10000101010101010101010101010101010154
+:107C20000101010101010101010101010101010144
+:107C30000101010101010101010101010101010134
+:107C40000101010101010101010101010101010124
+:107C50000101010101010101010101010101010114
+:107C60000101010101010101010101010101010104
+:107C700001010101010101010101010101010101F4
+:107C800001010101010101010101010101010101E4
+:107C900001010101010101010101010101010101D4
+:107CA00001010101010101010101010101010101C4
+:107CB00001010101010101010101010101010101B4
+:107CC00001010101010101010101010101010101A4
+:107CD000010101010101010100000000000000009C
+:107CE0000000000000000000000000000000000094
+:107CF0000000000000000000000000000000000084
+:107D00000000000000000000000000000000000073
+:107D10000000000000000000000000000000000063
+:107D20000000000000000000020202020202020243
+:107D30000202020202020202020202020202020223
+:107D40000202020202020202020202020202020213
+:107D50000202020202020202020202020202020203
+:107D600002020202020202020202020202020202F3
+:107D700002020202020202020202020202020202E3
+:107D800002020202020202020202020202020202D3
+:107D900002020202020202020202020202020202C3
+:107DA00002020202020202020202020202020202B3
+:107DB00002020202020202020202020202020202A3
+:107DC0000202020202020202020202020202020293
+:107DD0000202020202020202000000000000000093
+:107DE0000000000000000000000000000000000093
+:107DF0000000000000000000000000000000000083
+:107E00000000000000000000000000000000000072
+:107E10000000000000000000000000000000000062
+:107E20000000000000000000000000000000000052
+:107E30000000000000000000000000000000000042
+:107E40000000000000000000000000000000000032
+:107E50000000000000000000000000000000000022
+:107E60000000000000000000000000000000000012
+:107E70000000000000000000000000000000000002
+:107E800000000000000000000000000000000000F2
+:107E900000000000000000000000000000000000E2
+:107EA00000000000000000000000000000000000D2
+:107EB00000000000000000000000000000000000C2
+:107EC00000000000000000000000000000000000B2
+:107ED00000000000000000000000000000000000A2
+:107EE0000000000000000000310000000000000061
+:107EF000000001010100000000000000000000007F
+:107F00000000000000000000000000000000000071
+:107F10000100000000000000000000000000000060
+:107F20000000000000000000000000000000000051
+:107F30000000000000000000000000000000000140
+:107F40000000000000000000000000000000000031
+:107F50000000000000000000000000000000000021
+:107F60000000000000000000000000000000000011
+:107F70000000000000000000000000000000000001
+:107F800000000000000000000000000000000000F1
+:107F900000000000000000000000000000000000E1
+:107FA00000000000000000000000000000000000D1
+:107FB00000000000000000000000000000000000C1
+:107FC00000000000000000000000000000000000B1
+:107FD00000000000000000000000000000000000A1
+:107FE0000000000000000000000000000000000091
+:107FF000000001010101010100000000000000007B
+:10800000010000000000000000000000000000006F
+:10801000010000000000000000000000000000005F
+:10802000000000000000000000000000000000014F
+:10803000000000000000000000000000000000013F
+:108040000000000000000000000000000000000030
+:108050000000000000000000000000000000000020
+:108060000000000000000000000000000000000010
+:1080700000000000000000000000000000000001FF
+:1080800000000000000000000000000000000000F0
+:1080900000000000000000000000000000000000E0
+:1080A00000000000000000000000000000000000D0
+:1080B00000000000000000000000000000000000C0
+:1080C00000000000000000000000000000000000B0
+:1080D00000000000000000000000000000000000A0
+:1080E0000000000000000000000000000000000090
+:1080F000000001010101010100000000000000007A
+:10810000010000000000000000000000000000006E
+:10811000010000000000000000000000000000005E
+:10812000000000000000000000000000000000014E
+:10813000000000000000000000000000000000013E
+:10814000000000000000000000000000000000002F
+:10815000000000000000000000000000000000001F
+:10816000000000000000000000000000000000000F
+:1081700000000000000000000000000000000001FE
+:1081800000000000000000000000000000000000EF
+:1081900000000000000000000000000000000000DF
+:1081A00000000000000000000000000000000000CF
+:1081B00000000000000000000000000000000000BF
+:1081C00000000000000000000000000000000000AF
+:1081D000000000000000000000000000000000009F
+:1081E000000000000000000000000000000000008F
+:1081F0000101010101010101000000000000000077
+:10820000010000000000000000000000000000006D
+:10821000010000000000000000000000000000015C
+:10822000000000000000000000000000000000014D
+:10823000000000000000000000000000000000013D
+:10824000000000000000000000000000000000012D
+:10825000000000000000010000000000000000011C
+:10826000000000000000000000000000000000000E
+:1082700000000000000000000000000000000001FD
+:1082800000000000000000000000000000000000EE
+:1082900000000000000000000000000000000000DE
+:1082A00000000000000000000000000000000000CE
+:1082B00000000000000000000000000000000000BE
+:1082C00000000000000000000000000000000000AE
+:1082D000000000000000000000000000000000009E
+:1082E000000000000000000000000000000000008E
+:1082F0000101010101010101000000000000000076
+:10830000010000000000000000000000000000016B
+:10831000010000000000000000000000000000015B
+:10832000000000000000000000000000000001014B
+:10833000000000000000000000000000000000013C
+:10834000000000000000000000000000000000012C
+:10835000000000000000010000000000000000011B
+:10836000000000000000010000000000000000000C
+:1083700000000000000000000000000000000101FB
+:1083800000000000000000000000000000000000ED
+:1083900000000000000000000000000000000000DD
+:1083A00000000000000000000000000000000000CD
+:1083B00000000000000000000000000000000000BD
+:1083C00000000000000000000000000000000000AD
+:1083D000000000000000000000000000000000009D
+:1083E000000000000000000000000000000000008D
+:1083F0000101010101010101000000000000000075
+:10840000010000000000000000000000000000016A
+:10841000010000000000000000000000000000015A
+:10842000000000000000000000000000000001014A
+:10843000000000000000000000000000000001013A
+:10844000000000000000000000000000000000012B
+:108450000000000000000100000100010000000118
+:108460000000000100000100000000000000000109
+:1084700000000000000000000000000000000101FA
+:1084800000000000000000000000000000000000EC
+:1084900000000000000000000000000000000000DC
+:1084A00000000000000000000000000000000000CC
+:1084B00000000000000000000000000000000000BC
+:1084C00000000000000000000000000000000000AC
+:1084D000000000000000000000000000000000009C
+:1084E000000000000000000000000000000000008C
+:1084F0000101020201010101000000000000000072
+:108500000100000000000000000000000000000169
+:108510000100000000000000000000000000010158
+:108520000000000000000000000000000000010149
+:108530000000000000000000000000000000010139
+:108540000000000000000000000000000000010129
+:108550000000000000000100000100010000000117
+:108560000000000100000101000000000000000107
+:1085700000000000000001000000000000000101F8
+:1085800000000000000000000000000000000000EB
+:1085900000000000000000000000000000000000DB
+:1085A00000000000000000000000000000000000CB
+:1085B00000000000000000000000000000000000BB
+:1085C00000000000000000000000000000000000AB
+:1085D000000000000000000000000000000000009B
+:1085E0000000000000000000000002000000000089
+:1085F000020102020202010100000000000000006E
+:108600000100000000000000000000000000000168
+:108610000100000000000000000000000000010157
+:108620000000000000000000000000000001010147
+:108630000000000000000000000000000000010138
+:108640000000000000000000000000000000010128
+:108650000000000000000100000100010000000116
+:108660000000000100000101000000000000000106
+:1086700000000000000001000000000000010101F6
+:1086800000000000000000000000000000000000EA
+:1086900000000000000000000000000000000000DA
+:1086A00000000000000000000000000000000000CA
+:1086B00000000000000000000000000000000000BA
+:1086C00000000000000000000000000000000000AA
+:1086D000000000000000000000000000000000009A
+:1086E0000000000000000200000002020000000084
+:1086F000020102020202010100000000000000006D
+:108700000100000000000000000000000000000167
+:108710000100000000000000000000000000010156
+:108720000000000000000000000000000001010146
+:108730000000000000000000000000000001010136
+:108740000000000000000000000000000000010127
+:108750000000000000000100000100010000010114
+:108760000000010100000101000000000000010103
+:1087700000010000000001000000000000010101F4
+:1087800000000000000000000000000000000000E9
+:1087900000000000000000000000000000000001D8
+:1087A00000000000000000000000000000000001C8
+:1087B00000000000000000000000000000000000B9
+:1087C00000000000000000000000000000000000A9
+:1087D0000000000000000000000000000000000099
+:1087E0000000000000000200000002020000000083
+:1087F0000202020202020201010000010000000068
+:108800000201000000000000000000000000000164
+:108810000100000000000000000000000001010154
+:108820000000000000000000000000000001010145
+:108830000101000000000100000000000001010132
+:108840000000000000000000000000000001010125
+:108850000000000000000101010100010000010111
+:108860000000010100000101000000000000010102
+:1088700000010000000001000000000000010101F3
+:1088800000000000000000000000000000000000E8
+:1088900000000000000000000000000000000001D7
+:1088A00000010000000000000000000000000001C6
+:1088B00000000000000000000000000000000000B8
+:1088C00000000000000000000000000000000000A8
+:1088D0000000000000000000000000000000000098
+:1088E0000000000000000100000002020200000081
+:1088F0000202020202020202020001010000000064
+:108900000201000000000000000000000000000163
+:108910000101000000000000000000000001010152
+:108920000101000000000100000000000001010141
+:108930000101000000000100000000000001010131
+:108940000100000000000000000000000001010123
+:10895000010100000100010101010001000001010D
+:108960000000010100010101000000000000010100
+:1089700001010000000001010000000100010101EF
+:1089800000000000000000000000000000000000E7
+:1089900000000000000000000000000000000001D6
+:1089A00000010000000000000000000000000001C5
+:1089B00000000000000000000000000000000000B7
+:1089C00000000000000000000000000000000000A7
+:1089D0000000000000000000000000000000000097
+:1089E0000000000000000100000201010200000080
+:1089F0000202020202020202020002020100000060
+:108A00000201000000010000000000000000010160
+:108A10000201000000000000000000000001010150
+:108A20000101000000000100000000000001010140
+:108A30000101000000000100000000000001010130
+:108A40000100000000000000000000000001010122
+:108A5000010100000101010101010001000001010B
+:108A600000000101010101010100000100000101FC
+:108A700001010101000001010001000100010101EB
+:108A800000000000000000000000000000000000E6
+:108A900000000000000000000000000000000101D4
+:108AA00000010000000000000000000000000101C3
+:108AB00000000000000000000000000000000000B6
+:108AC00000000000000000000000000000000000A6
+:108AD0000000000000000000000000000000000096
+:108AE000000000000000010000020101020000007F
+:108AF000020202020202020202000202020000005E
+:108B0000020100000101000000000000000001015E
+:108B1000020100000000010000000000000101014E
+:108B2000010100000000010000000001000101013E
+:108B3000010101010000010000000000000101012D
+:108B4000010100000000010000000000000101011F
+:108B50000101010101010101010100010000010108
+:108B600001010101010101010101000100000101F8
+:108B700001010101000001010001000101010101E9
+:108B800000000000000000000000000000000001E4
+:108B900000000000000000000000000000000101D3
+:108BA00000010001000000000000000000000101C1
+:108BB00000000000000000000000000000000000B5
+:108BC00000010000000000000000000000000000A4
+:108BD0000000000000000000000000000000000095
+:108BE000000000000200010000010101010000017D
+:108BF000020202020202020202000202020000005D
+:108C0000020100000101010001000000000001015B
+:108C1000020101000000010000000000000101014C
+:108C2000010101010000010000000001000101013B
+:108C3000010101010000010100000001000101012A
+:108C4000010100000000010000000000000101011E
+:108C50000101010101010101010100010001010106
+:108C600001010101010101010101000100010101F6
+:108C700001010101010001010001000101010101E7
+:108C800000000000000000000000000000000001E3
+:108C900000010000000000000000000000000101D1
+:108CA00001010001000001000000000000000101BE
+:108CB00000000000000000000000000000000001B3
+:108CC00000010001000000000000000000000000A2
+:108CD0000000000000000000000000000000000094
+:108CE000000000000200010000010101010000017C
+:108CF000020202020202020202020202020000005A
+:108D00000201010001010100010100000000010158
+:108D1000020101000000010000000001000101014A
+:108D20000101010100000101000000010101010138
+:108D30000101010101000101000100010001010127
+:108D4000010100000000010100000001000101011B
+:108D50000101010101010101010101010001010104
+:108D600001010101010101010101010100010101F4
+:108D700001010101010101010101000101010101E4
+:108D800000000000000000000000000000000001E2
+:108D900000010100000000000000000000010101CE
+:108DA00001010101000001000000000000010101BB
+:108DB00000010000000000000000000000000001B1
+:108DC00001010001000000000000000000000000A0
+:108DD0000000000000000000000000000000000093
+:108DE000000000010100010000010101010000017B
+:108DF0000202020202020202020202020200000059
+:108E00000201010001010101010100000000010156
+:108E10000201010100000100000100010001010147
+:108E20000101010100000101000100010101010136
+:108E30000101010101000101000100010101010125
+:108E40000101010100000101000000010001010118
+:108E50000101010101010101010101010101010102
+:108E600001010101010101010101010101010101F2
+:108E700001010101010101010101010101010101E2
+:108E800001010000000000000000000000000101DE
+:108E900001010100000001000000000000010101CB
+:108EA00001010101000001000000000000010101BA
+:108EB00000010000000000000000000000000001B0
+:108EC000010101010000000000000000000000009E
+:108ED0000000000100000000000000000000000091
+:108EE0000001000101000102000101010100000177
+:108EF0000202020202020202020202020200000058
+:108F00000202010101010101010101000000010152
+:108F10000201010100000101000100010101010144
+:108F20000101010100010101000100010101010134
+:108F30000101010101000101000100010101010124
+:108F40000101010100000101000000010101010116
+:108F50000101010101010101010101010101010101
+:108F600001010102010101010101010101010101F0
+:108F700001010101010101010101010101010101E1
+:108F800001010000000000000000000000000101DD
+:108F900001010101000001000000000000010101C9
+:108FA00001010101000001000000000000010101B9
+:108FB00000010000000001000000000000000101AD
+:108FC000010101010000000000000000000000009D
+:108FD000000100010000000000000000000000008F
+:108FE0000001010101000101000101010100000176
+:108FF0000202020202020202020202020200000057
+:10900000020201010202010101010101000001014E
+:109010000201010100000101000100010101010143
+:109020000201010101010101000101010101010130
+:109030000201010101010101010100010101010120
+:109040000101010100000101000101010101010113
+:1090500002010101010102010102010101010101FD
+:1090600001010202010102010101010101010101ED
+:1090700001010101010101010101010101010101E0
+:1090800001010000000000000000000000000101DC
+:1090900001010101000001010000000101010101C5
+:1090A00001010101000001010000000100010101B6
+:1090B00000010101000001000000000000010101A9
+:1090C000010101010000000000000000000000019B
+:1090D000000101010000000000000000000000008D
+:1090E0000001010101020101020101010100000171
+:1090F0000202020202020202020202020200000056
+:10910000020201010202010101010101000001014D
+:109110000201010100010101000100010101010141
+:10912000020101010101010101010101010101012E
+:10913000020101010101010101010001010101011F
+:10914000020101010001010101010101010101010F
+:1091500002010101010102010102010101010101FC
+:1091600001010202010102020101010101010101EB
+:1091700001010101010101010101010101010101DF
+:1091800001010000000000000000000000010101DA
+:1091900001010101000001010001000101010101C3
+:1091A00001010101010001010001000100010101B3
+:1091B00001010101000001000000000000010101A7
+:1091C0000101010100000100000000000000010198
+:1091D000010101010000000000000000000000008B
+:1091E000000101010101010102010101010200016F
+:1091F0000202020202020202020202020200000154
+:109200000202020102020101020101010100010248
+:10921000020201010101010100010001010101013E
+:10922000020201010101010101010101010101012C
+:10923000020201010101010101010001010101011D
+:10924000020101010001010101010101010101010E
+:1092500002020101020102010102010201010101F8
+:1092600002010202020202020101010101010101E7
+:1092700002010101010101010101010101010101DD
+:1092800001010000000000000000000000010101D9
+:1092900001010101000101010001000101010101C1
+:1092A00001010101010101010001000100010101B1
+:1092B00001010101000001000001000000010101A5
+:1092C0000101010100000100000000000000010197
+:1092D000010101010000000000000000000000008A
+:1092E0000000010101010101010101010101000171
+:1092F0000202020202020202020202020200000153
+:109300000202020102020101020201010101010245
+:10931000020201010101010100010001010101013D
+:10932000020201010101010101010101010101022A
+:10933000020201010101010101010101010101021A
+:10934000020101010001010101010101010101010D
+:1093500002020201020202020202010201010101F3
+:1093600002010202020202020101010101010101E6
+:1093700002020101010101010101010101010101DB
+:1093800001010100000000000000000000010101D7
+:1093900001010101010101010001010101010101BE
+:1093A00002020101010101010001000100010101AE
+:1093B00001010101000001010001000100010101A2
+:1093C0000201010100000101000000000000010194
+:1093D0000101010100000100000000000000000088
+:1093E0000000000001010001010101010101000173
+:1093F0000202020202020202020202020200000152
+:109400000202020202020201020202010101010241
+:109410000202020101010101000101010101010239
+:109420000202020101010101010101010101020227
+:109430000202020101010101010101010101010218
+:10944000020201010101010101010101010101010A
+:1094500002020202020202020202010201010102F0
+:1094600002020202020202020201010101010101E3
+:1094700002020101010101010101010101010101DA
+:1094800002010100000000000000000000010101D5
+:1094900001010101010101010101010101010101BC
+:1094A00002020101010101010101000101010101AB
+:1094B00001010101010001010001000100010101A0
+:1094C0000202010101000101000100000000010190
+:1094D0000101010100000100000000000000000186
+:1094E0000000000000010001010101010101010172
+:1094F0000202020202020202010201010100000155
+:10950000020202020202020202020202010102023D
+:109510000202020101010101000101010101020237
+:109520000202020201010201010101010102020223
+:109530000202020201010201010101010101020214
+:109540000202010101010101010101010101010208
+:1095500002020202020202020202010201010102EF
+:1095600002020202020202020201010101010101E2
+:1095700002020201010102010101010101010102D6
+:1095800002010101000000000000000000010101D3
+:1095900002010101010101010101010101010101BA
+:1095A00002020101010101010101010101010101A9
+:1095B000010101010101010101010001010101019C
+:1095C000020201010101010100010000000001018E
+:1095D0000101010100000101000000000000010183
+:1095E0000000000000010001010000000101010075
+:1095F0000202020202020202010101010100000155
+:10960000020202020202020202020202020102023B
+:109610000202020201010201000101010102020233
+:109620000202020201010201010101010102020222
+:109630000202020202010201010101010102020211
+:109640000202020101010101010101010101020205
+:1096500002020202020202020202020201010202EC
+:1096600002020202020202020202010201010102DE
+:1096700002020202010102010101010101010202D3
+:1096800002020101000001010000000102010101CC
+:1096900002020101010101010101010101010101B8
+:1096A00002020202010101010101010101010101A6
+:1096B000010101010101010101010101010101019A
+:1096C000020202020101010100010000000101018A
+:1096D0000101010101000101000100000000010180
+:1096E0000000000000000000010000000001010077
+:1096F0000202020102010202010101010102000154
+:10970000020202020202020202020202020102023A
+:109710000202020201010201010101010102020231
+:10972000020202020202020201010102010202021D
+:10973000020202020201020201010101010202020F
+:109740000202020201010201010101010102020201
+:1097500002020202020202020202020202010202EA
+:1097600002020202020202020202020201010202DB
+:1097700002020202020102020101010101020202CF
+:1097800002020101000001010001020101010101C9
+:1097900002020201010101010101010101010101B6
+:1097A00002020202010101010101010101010101A5
+:1097B0000202010101010101010101010101010197
+:1097C0000202020201010101000100010001010188
+:1097D000020101010101010100010000000001017D
+:1097E0000100000000000000010000000001010075
+:1097F0000202010101010102010101010102000156
+:109800000202020202020202020202020201020239
+:10981000020202020202020201020102010202022B
+:10982000020202020202020201020102020202021A
+:10983000020202020202020201020102010202020B
+:1098400002020202010102020101010101020202FF
+:1098500002020202020202020200020202020202EA
+:1098600002020200020202020202020202010202DB
+:1098700002020202020202020102010201020202CB
+:1098800002020101000101010001010101010101C8
+:1098900002020201010101010101010101010101B5
+:1098A00002020202010102010101010101010102A2
+:1098B0000202010101010101010101010101010196
+:1098C0000202020201010101000100010001010187
+:1098D000020201010101010100010000000101017A
+:1098E0000100000000000000000000000001010075
+:1098F0000202010101010101010101010102000057
+:109900000202020202020202020202020202020237
+:109910000202020202020202010201020202020229
+:109920000202020202020202020202020202020217
+:109930000202020202020202020201020202020208
+:1099400002020202010202020101010201020202FC
+:1099500002020202020202020200020202020202E9
+:1099600002020000020200000202020202020202DF
+:1099700002020202020202020202010202020202C8
+:1099800002020201010101010001010101010101C5
+:1099900002020202010101010101010101010102B2
+:1099A000020202020201020101010101010102029F
+:1099B0000202020101010101010101010101010194
+:1099C0000202020201010101010100010101010184
+:1099D0000202020201010101010100010101010174
+:1099E0000200000000000000000000000000010074
+:1099F0000101010101010101010101010101020057
+:109A00000202020202020202020202020202020236
+:109A10000202020202020202010201020202020228
+:109A20000202020202020202020202020202020216
+:109A30000202020202020202020201020202020207
+:109A400002020202020202020202020202020202F6
+:109A500002020202020200020200020202020202EA
+:109A600002020000000000000202020202020202E2
+:109A700002020202020202020202020202020202C6
+:109A800002020201010101010101010101010102C2
+:109A900002020202010102010101010101010202AF
+:109AA000020202020202020201010101010202029B
+:109AB0000202020201010101010101010101010192
+:109AC0000202020202010201010101010101010180
+:109AD0000202020201010101010101010101010172
+:109AE0000200000000000000000000000000000074
+:109AF0000101010101010101010101010101010057
+:109B00000202020202020202020202020202020235
+:109B10000202020202020202010202020202020226
+:109B20000202020202020202020202020202020215
+:109B30000202020202020202020202020202020205
+:109B400002020202020202020202020202020202F5
+:109B500002020202000000000000020002020202F3
+:109B600002020000000000000002020202020202E3
+:109B700002020202020202020202020202020202C5
+:109B800002020202010101010101010101010202BF
+:109B900002020202020202020101010101020202AA
+:109BA0000202020202020202010201020102020298
+:109BB0000202020201010201010101010101010190
+:109BC000020202020202020201010101010101017D
+:109BD0000202020201010101010101010101010171
+:109BE0000202000000000000000000000000000071
+:109BF0000101010101010101010101010101010056
+:109C00000202020202020202020202020202020234
+:109C10000202020202020202020202020202020224
+:109C20000202020202020202020202020202020214
+:109C30000202020202020202020202020202020204
+:109C400002020202020202020202020202020202F4
+:109C500002020002000000000000020002020202F4
+:109C600002020000000000000002020202020202E2
+:109C700002020202020202020202020202020202C4
+:109C800002020202010101010101010101020202BD
+:109C900002020202020202020102010202020202A6
+:109CA0000202020202020202020201020102020296
+:109CB000020202020201020101010101010101028D
+:109CC0000202020202020202010201010101020279
+:109CD0000202020201010101010101010101010170
+:109CE000020202020000020000000000000000006A
+:109CF0000101010101010101010101010101010055
+:109D0000020202020101020201010101010202023A
+:109D10000202020202020202020202020202020223
+:109D20000202020202020202020202020202020213
+:109D30000202020202020202020202020202020203
+:109D400002020202020202020202020202020202F3
+:109D500002020200000002000000000000020202F5
+:109D600002020000000000000000020002020202E5
+:109D700002020202020202020202020202020202C3
+:109D800002020202020202020101010101020202B8
+:109D900002020202020202020202020202020202A3
+:109DA0000202020202020202020202020202020293
+:109DB0000202020202020202010201010102020287
+:109DC0000202020202020202010201010101020278
+:109DD000020202020201020101010101010101016D
+:109DE0000202020202000200000000000000000067
+:109DF0000101010101010101010101010101010054
+:109E00000202020202020202020202020202020232
+:109E10000202020202020202020202020202020222
+:109E20000202020202020202020202020202020212
+:109E30000202020202020202020202020202020202
+:109E400002020202020202020202020202020202F2
+:109E500002020202020202020202000200020202E6
+:109E600002020202000000000000000000020202E4
+:109E700002020202020202020202020202020202C2
+:109E800002020202020202020102010201020202B5
+:109E900002020202020202020202020202020202A2
+:109EA0000202020202020202020202020202020292
+:109EB0000202020202020202020201020102020284
+:109EC0000202020202020202020201020102020274
+:109ED000020202020202020201010101010101016A
+:109EE0000202020202000200000202020000000060
+:109EF0000101010101010101000100000001010057
+:109F0000020202020000020200000000000202023F
+:109F10000202020202020202020202020202020221
+:109F20000202020202020202020202020202020211
+:109F30000202020202020202020202020202020201
+:109F400002020202020202020202020202020202F1
+:109F500002020202020202020202000200020202E5
+:109F600002020202000002020000000000020202DF
+:109F700002020202020202020202020202020202C1
+:109F800002020202020202020202020202020202B1
+:109F900002020202020202020202020202020202A1
+:109FA0000202020202020202020202020202020291
+:109FB0000202020202020202020202020202020281
+:109FC0000202020202020202020202020202020271
+:109FD0000202020202020202010201010101010168
+:109FE0000202020202020202000202020200000059
+:109FF0000101010001000101000000000001010059
+:10A00000010202020000020200000000000202023F
+:10A010000202020202020202020202020202020220
+:10A020000202020202020202020202020202020210
+:10A030000202020202020202020202020202020200
+:10A0400002020202020202020202020202020202F0
+:10A0500002020202020202020202020202020202E0
+:10A0600002020202020202020202000200020202D4
+:10A0700002020202020202020202020202020202C0
+:10A0800002020202020202020202020202020202B0
+:10A0900002020202020202020202020202020202A0
+:10A0A0000202020202020202020202020202020290
+:10A0B0000202020202020202020202020202020280
+:10A0C0000202020202020202020202020202020270
+:10A0D0000202020202020202020201010101020264
+:10A0E0000202020202020202000202020200000256
+:10A0F000010100000000000000000000000101005C
+:10A100000201010100000101000000000001010145
+:10A11000020202020202020202020202020202021F
+:10A12000020202020202020202020202020202020F
+:10A1300002020202020202020202020202020202FF
+:10A1400002020202020202020202020202020202EF
+:10A1500002020202020202020202020202020202DF
+:10A1600002020202020202020202020202020202CF
+:10A1700002020202020202020202020202020202BF
+:10A1800002020202020202020202020202020202AF
+:10A19000020202020202020202020202020202029F
+:10A1A000020202020202020202020202020202028F
+:10A1B000020202020202020202020202020202027F
+:10A1C000020202020202020202020202020202026F
+:10A1D000020202020202020202020202020202025F
+:10A1E0000202020202020202020202020200000253
+:10A1F000000000000000000000000000000000005F
+:10A20000010202020000020200000000000202023D
+:10A21000020202020202020202020202020202021E
+:10A22000020202020202020202020202020202020E
+:10A2300002020202020202020202020202020202FE
+:10A2400002020202020202020202020202020202EE
+:10A2500002020202020202020202020202020202DE
+:10A2600002020202020202020202020202020202CE
+:10A2700002020202020202020202020202020202BE
+:10A2800002020202020202020202020202020202AE
+:10A29000020202020202020202020202020202029E
+:10A2A000020202020202020202020202020202028E
+:10A2B000020202020202020202020202020202027E
+:10A2C000020202020202020202020202020202026E
+:10A2D000020202020202020202020202020202025E
+:10A2E0000202020202020202020202020202000250
+:10A2F000000000000000000000000000000000005E
+:10A30000010101010101010101010101010101013D
+:10A31000020202020202020202020202020202021D
+:10A32000020202020202020202020202020202020D
+:10A3300002020202020202020202020202020202FD
+:10A3400002020202020202020202020202020202ED
+:10A3500002020202020202020202020202020202DD
+:10A3600002020202020202020202020202020202CD
+:10A3700002020202020202020202020202020202BD
+:10A3800002020202020202020202020202020202AD
+:10A39000020202020202020202020202020202029D
+:10A3A000020202020202020202020202020202028D
+:10A3B000020202020202020202020202020202027D
+:10A3C000020202020202020202020202020202026D
+:10A3D000020202020202020202020202020202025D
+:10A3E000020202020202020202020202020202024D
+:10A3F0000000000000000000010001010100000059
+:10A40000010101010101010101010101010101013C
+:10A41000010202020202020202020202020202021D
+:10A42000020202020202020202020202020202020C
+:10A4300002020202020202020202020202020202FC
+:10A4400002020202020202020202020202020202EC
+:10A4500002020202020202020202020202020202DC
+:10A4600002020202020202020202020202020202CC
+:10A4700002020202020202020202020202020202BC
+:10A4800002020202020202020202020202020202AC
+:10A49000020202020202020202020202020202029C
+:10A4A000020202020202020202020202020202028C
+:10A4B000020202020202020202020202020202027C
+:10A4C000020202020202020202020202020202026C
+:10A4D000020202020202020202020202020202025C
+:10A4E000020202020202020202020202020202024C
+:10A4F0000000000100010000010101010100000055
+:10A50000010101010101010101010101010101013B
+:10A51000010101010101010101010101010101012B
+:10A52000010101010101010101010101010101011B
+:10A5300002020202020202020202020202020202FB
+:10A5400002020202020202020202020202020202EB
+:10A5500002020202020202020202020202020202DB
+:10A5600002020202020202020202020202020202CB
+:10A5700002020202020202020202020202020202BB
+:10A5800002020202020202020202020202020202AB
+:10A59000020202020202020202020202020202029B
+:10A5A000020202020202020202020202020202028B
+:10A5B000020202020202020202020202020202027B
+:10A5C000020202020202020202020202020202026B
+:10A5D000020202020202020202020202020202025B
+:10A5E000020202020202020202020202020202024B
+:10A5F0000000010101010101010101010100000050
+:10A60000010101010101010101010101010101013A
+:10A61000010101010101010101010101010101012A
+:10A62000020202020202020202020202020202020A
+:10A63000010101010101010101010101010101010A
+:10A6400002020202020202020202020202020202EA
+:10A6500001010101010101010101010101010101EA
+:10A6600002020202020202020202020202020202CA
+:10A6700002020202020202020202020202020202BA
+:10A6800002020202020202020202020202020202AA
+:10A69000020202020202020202020202020202029A
+:10A6A000020202020202020202020202020202028A
+:10A6B000020202020202020202020202020202027A
+:10A6C000020202020202020202020202020202026A
+:10A6D000020202020202020202020202020202025A
+:10A6E000020202020202020202020202020202024A
+:10A6F000010101010101010101010101010101014A
+:10A700000101010101010101010101010101010139
+:10A710000101010101010101010101010101010129
+:10A720000101010101010101010101010101010119
+:10A730000101010101010101010101010101010109
+:10A7400001010101010101010101010101010101F9
+:10A7500002020202020202020202020202020202D9
+:10A7600001010101010101010101010101010101D9
+:10A7700002020202020202020202020202020202B9
+:10A7800002020202020202020202020202020202A9
+:10A790000202020202020202020202020202020299
+:10A7A0000202020202020202020202020202020289
+:10A7B0000202020202020202020202020202020279
+:10A7C0000101010101010101010101010101010179
+:10A7D0000202020202020202020202020202020259
+:10A7E0000202020202020202020202020202020249
+:10A7F0000101010101010101010101010101010149
+:10A800000101010101010101010101010101010138
+:10A810000101010101010101010101010101010128
+:10A820000101010101010101010101010101010118
+:10A830000101010101010101010101010101010108
+:10A8400001010101010101010101010101010101F8
+:10A8500001010101010101010101010101010101E8
+:10A8600002020202020202020202020202020202C8
+:10A8700002020202020202020202020202020202B8
+:10A8800001010101010101010101010101010101B8
+:10A890000202020202020202020202020202020298
+:10A8A0000101010101010101010101010101010198
+:10A8B0000202020202020202020202020202020278
+:10A8C0000202020202020202020202020202020268
+:10A8D0000202020202020202020202020202020258
+:10A8E0000202020202020202020202020202020248
+:10A8F0000101010101010101010101010101010148
+:10A900000101010101010101010101010101010137
+:10A910000101010101010101010101010101010127
+:10A920000101010101010101010101010101010117
+:10A930000101010101010101010101010101010107
+:10A9400001010101010101010101010101010101F7
+:10A9500001010101010101010101010101010101E7
+:10A9600001010101010101010101010101010101D7
+:10A9700001010101010101010101010101010101C7
+:10A9800002020202020202020202020202020202A7
+:10A990000202020202020202020202020202020297
+:10A9A0000202020202020202020202020202020287
+:10A9B0000202020202020202020202020202020277
+:10A9C0000000000000000000000000000000000087
+:10A9D0000202020202020202020202020202020257
+:10A9E0000202020202020202020202020202020247
+:10A9F0000101010101010101010101010101010147
+:10AA00000101010101010101010101010101010136
+:10AA10000101010101010101010101010101010126
+:10AA20000101010101010101010101010101010116
+:10AA30000101010101010101010101010101010106
+:10AA400001010101010101010101010101010101F6
+:10AA500001010101010101010101010101010101E6
+:10AA600001010101010101010101010101010101D6
+:10AA700001010101010101010101010101010101C6
+:10AA800001010101010101010101010101010101B6
+:10AA900001010101010101010101010101010101A6
+:10AAA00000000000000000000000000000000000A6
+:10AAB0000202020202020202020202020202020276
+:10AAC0000000000000000000000000000000000086
+:10AAD0000202020202020202020202020202020256
+:10AAE0000000000000000000000000000000000066
+:10AAF0000101010101010101010101010101010146
+:10AB00000101010101010101010101010101010135
+:10AB10000101010101010101010101010101010125
+:10AB20000101010101010101010101010101010115
+:10AB30000101010101010101010101010101010105
+:10AB400001010101010101010101010101010101F5
+:10AB500001010101010101010101010101010101E5
+:10AB600001010101010101010101010101010101D5
+:10AB700001010101010101010101010101010101C5
+:10AB800001010101010101010101010101010101B5
+:10AB900001010101010101010101010101010101A5
+:10ABA0000101010101010101010101010101010195
+:10ABB0000101010101010101010101010101010185
+:10ABC0000000000000000000000000000000000085
+:10ABD0000202020202020202020202020202020255
+:10ABE0000000000000000000000000000000000065
+:10ABF0000101010101010101010101010101010145
+:10AC00000101010101010101010101010101010134
+:10AC10000101010101010101010101010101010124
+:10AC20000101010101010101010101010101010114
+:10AC30000101010101010101010101010101010104
+:10AC400001010101010101010101010101010101F4
+:10AC500001010101010101010101010101010101E4
+:10AC600001010101010101010101010101010101D4
+:10AC700001010101010101010101010101010101C4
+:10AC800001010101010101010101010101010101B4
+:10AC900001010101010101010101010101010101A4
+:10ACA0000101010101010101010101010101010194
+:10ACB0000101010101010101010101010101010184
+:10ACC0000101010101010101010101010101010174
+:10ACD0000101010101010101010101010101010164
+:10ACE0000000000000000000000000000000000064
+:10ACF0000101010101010101010101010101010144
+:10AD00000101010101010101010101010101010133
+:10AD10000101010101010101010101010101010123
+:10AD20000101010101010101010101010101010113
+:10AD30000101010101010101010101010101010103
+:10AD400001010101010101010101010101010101F3
+:10AD500001010101010101010101010101010101E3
+:10AD600001010101010101010101010101010101D3
+:10AD700001010101010101010101010101010101C3
+:10AD800001010101010101010101010101010101B3
+:10AD900001010101010101010101010101010101A3
+:10ADA0000101010101010101010101010101010193
+:10ADB0000101010101010101010101010101010183
+:10ADC0000101010101010101010101010101010173
+:10ADD0000101010101010101010101010101010163
+:10ADE0000000000000000000000000000000000063
+:10ADF0000101010101010101010101010101010143
+:10AE00000000000000000000000000000000000042
+:10AE10000000000000000000000000000000000032
+:10AE20000000000000000000000000000000000022
+:10AE300002020202020202020202020202020202F2
+:10AE400002020202020202020202020202020202E2
+:10AE500002020202020202020202020202020202D2
+:10AE600002020202020202020202020202020202C2
+:10AE700002020202020202020202020202020202B2
+:10AE800002020202020202020202020202020202A2
+:10AE90000202020202020202020202020202020292
+:10AEA0000202020202020202020202020202020282
+:10AEB0000202020202020202020202020202020272
+:10AEC0000202020202020202020202020202020262
+:10AED0000202020202020202020202020202020252
+:10AEE0000000000000000000000000000000000062
+:10AEF0000000000000000000000000000000000052
+:10AF00000000000000000000000000000000000041
+:10AF10000000000000000000000000000000000031
+:10AF20000000000000000000000000000000000021
+:10AF30000000000000000000000000000000000011
+:10AF40000000000000000000000000000000000001
+:10AF500000000000000000000000000000000000F1
+:10AF600000000000000000000000000000000000E1
+:10AF700000000000000000000000000000000000D1
+:10AF800000000000000000000000000000000000C1
+:10AF900000000000000000000000000000000000B1
+:10AFA00000000000000000000000000000000000A1
+:10AFB0000000000000000000000000000000000091
+:10AFC0000000000000000000000000000000000081
+:10AFD0000000000000000000000000000000000071
+:10AFE0000000000000000000000000000000000061
+:10AFF000310000000000000000000000000100001F
+:10B000000000000000000000000000000000000040
+:10B010000000000000000000000000000000000030
+:10B020000000000000000000000000000000000020
+:10B030000000000000000000000000000000000010
+:10B0400000010100000000000000000000000000FE
+:10B0500000000000000000000000000000000000F0
+:10B0600000000000000000000000000000000000E0
+:10B0700000000000000000000000000000000000D0
+:10B0800000000000000000000000000000000000C0
+:10B0900000000000000000000000000000000000B0
+:10B0A000000000000000000000000000000000019F
+:10B0B0000000000000000000000000000000000090
+:10B0C0000000000000000000000000000000000080
+:10B0D0000000000000000000000000000000000070
+:10B0E000000000000000000000000000000001015E
+:10B0F000000000000000000000010000000101014C
+:10B10000010000000000000000000000000000003E
+:10B11000000000000000000000000000000000002F
+:10B12000000000000000000000000000000000001F
+:10B13000000101000100010000000000000000010A
+:10B1400000010100000000010000000000000000FC
+:10B1500000010100010000000000000000000000EC
+:10B1600000000000000000000000000000000000DF
+:10B1700000000000000000000000000000000000CF
+:10B1800000000000000000000000000000000000BF
+:10B1900000000000000000000000000000000000AF
+:10B1A000000000000000000000000000000000019E
+:10B1B000000101010000000000000000000000008C
+:10B1C000000000000000000000000000000000007F
+:10B1D000000000000000000000000000000000006F
+:10B1E000000000000000000000000000020001015B
+:10B1F0000001010102000200010101010101010140
+:10B20000010101000000010000000000000000003A
+:10B21000000000000000000000000000000000002E
+:10B22000000000000000000000000000000000011D
+:10B230000001010001000101000000000000000108
+:10B2400000010101010101010000000000000001F6
+:10B2500000010100010000010000000000000000EA
+:10B2600000000000000000000000000000000000DE
+:10B2700000000000000000000000000000000000CE
+:10B2800000000000000000000000000000000100BD
+:10B2900000000000000000000000000000000000AE
+:10B2A000000000000000000000000000000000019D
+:10B2B0000101010100000000000001000000000089
+:10B2C000000000000000000000000000000000007E
+:10B2D000000000000000000000000000000000006E
+:10B2E000000000000000000000000000010001015B
+:10B2F000010101010100020001010101010101013F
+:10B300000101010000000100000000000000000039
+:10B31000000000000000000000000000000000002D
+:10B32000000000000000000000000000000000011C
+:10B330000001010101010101000000000000000105
+:10B3400001010101010101010000000000000001F4
+:10B3500000010101010101010000000000000000E6
+:10B3600000000000000000000000000000000000DD
+:10B3700000000000000000000000000000000000CD
+:10B3800000000000000000000000000000010100BB
+:10B3900000000000000000000000000000000000AD
+:10B3A000000000000000000000000100000000019B
+:10B3B0000101010101000100000101000000000085
+:10B3C000000000000000000000000000000000007D
+:10B3D000000000000000000000000000000000006D
+:10B3E0000000000000000000000001010101010157
+:10B3F000010101010100010002010101010101013E
+:10B400000101010000000100000000000000000038
+:10B41000000000000000000000000000000000002C
+:10B42000000000000000000000000000000000011B
+:10B430000101010101010101000000000000000103
+:10B4400001010101010101010000000000000001F3
+:10B4500001010101010101010000000000000000E4
+:10B4600000000000000000000000000000000000DC
+:10B4700000000000000000000000000000000000CC
+:10B4800000000000000000000000000000010100BA
+:10B4900000000000000000000000000000000000AC
+:10B4A0000001010000000000000001000000000198
+:10B4B0000101010101000100000101000000000084
+:10B4C000000000000000000000000000000000007C
+:10B4D0000001010000000000000001000000000069
+:10B4E0000000000000000000000001010101010156
+:10B4F000010101010100010002010101010101013D
+:10B500000101010000000100000000000000000037
+:10B510000001000000010000000000000000000029
+:10B52000000000000000000000000000000000011A
+:10B530000101010101010101000000000000000102
+:10B5400001010101010101010000000000000001F2
+:10B5500001010101010101010000000000000000E3
+:10B5600000000000000000000000000000000000DB
+:10B5700000000000000000000000000000000000CB
+:10B5800000000000000000000000000100010100B8
+:10B5900000000000000000000000000000000001AA
+:10B5A0000101010000000000000001000000000196
+:10B5B0000101010101010100000101000000000082
+:10B5C000000000000000000000000000000000017A
+:10B5D0000001010000000000000101000000000067
+:10B5E0000000000000000000000001010101010155
+:10B5F000010101010102010002010101010101013A
+:10B600000101010000000100000100000000000134
+:10B610000001000000010000000000000000000028
+:10B620000000000000000000000000000000000119
+:10B630000101010101010101000000000000000101
+:10B6400001010101010101010000000000000001F1
+:10B6500001010101010101010000000000000000E2
+:10B6600000000000000000000000000000000000DA
+:10B6700000000000000000000000000000000000CA
+:10B6800000000000000000000000000100010100B7
+:10B6900000000000000000000000000000000001A9
+:10B6A0000101010101000100000001000000000192
+:10B6B000010101010101010101010101000000007E
+:10B6C0000000000000000000000000000000000179
+:10B6D0000001010001000000000101000000000065
+:10B6E0000000000000000000000001010101010154
+:10B6F000010101010101010002010101010101013A
+:10B700000101010000000100000101000000000132
+:10B710000001010000010000000000000000000026
+:10B720000000000000000000000001000000000117
+:10B7300001010101010101010000000000000101FF
+:10B7400001010101010101010000000000000001F0
+:10B7500001010101010101010000000000000000E1
+:10B7600000000000000000000000000000000000D9
+:10B7700000000000000000000000000000000000C9
+:10B7800000000000000000000000000100010100B6
+:10B7900000000000000000000000000000000001A8
+:10B7A0000101010101000100000001000000000191
+:10B7B000010101010101010101010101000000007D
+:10B7C0000000000000000000000000000000000178
+:10B7D0000101010001000000000101000000010161
+:10B7E0000000000000000000000001010101010153
+:10B7F0000101010101010100020201010201010137
+:10B800000101010000000100000101000000000131
+:10B810000101010000010000000000000000000024
+:10B820000000000000000000000001000000010115
+:10B8300001010101010101010000010000000101FD
+:10B8400001010101010101010000000000000001EF
+:10B8500001010101010101010000000000000000E0
+:10B8600000000000000000000000000000000000D8
+:10B8700000000000000000000000000000000000C8
+:10B8800000000000000000000000000100010100B5
+:10B8900000000000000000000000010000000001A6
+:10B8A000010101010101010000010100000001018D
+:10B8B000010101010101010101010101000000007C
+:10B8C0000000000000000000000000000000000177
+:10B8D000010101010100010001010100000001015D
+:10B8E0000001000000000000000001010101010151
+:10B8F0000101010101010100020201010201020135
+:10B90000010101000000010001010100000000012F
+:10B910000101010101010000000000000000000120
+:10B920000000000000000000000001000001010113
+:10B9300001010101010101010001010000000101FB
+:10B9400001010101010101010000010000000001ED
+:10B9500001010101010101010000000000000000DF
+:10B9600000000000000000000000000000000000D7
+:10B9700000000000000000000000000000000000C7
+:10B9800000000000000000000000000100010100B4
+:10B9900000000000000000000000010000000001A5
+:10B9A000010101010101010100010100000001018B
+:10B9B000010101010101010101010101000000007B
+:10B9C0000000000000000000000000000000010175
+:10B9D000010101010100010001010100000001015C
+:10B9E0000001000000000000000001010101010150
+:10B9F0000101010101010100020201020202020132
+:10BA0000010101010000020001010100000000012C
+:10BA1000010101010101000000000000000000011F
+:10BA20000001000000000000000101000001010110
+:10BA300001010101010101010001010000010101F9
+:10BA400001010101010101010001010000000101EA
+:10BA500001010101010101010000000000000000DE
+:10BA600000000000000000000000000000000000D6
+:10BA700000000000000000000000000000000000C6
+:10BA800000000000000000000000000100010100B3
+:10BA900000010100000000000000010000010001A1
+:10BAA000010101010101010100010100000001018A
+:10BAB000010101010101010101010101000000007A
+:10BAC0000000000000000000000001000000010173
+:10BAD0000101010101010100010101010000010159
+:10BAE000000100000101000000010101010101014C
+:10BAF000010101010101010102020202020202012F
+:10BB0000010101010000020001010100000000012B
+:10BB1000010101010101010000010000000000011C
+:10BB2000000100000000000000010100000101010F
+:10BB300001010101010101010001010000010101F8
+:10BB400001010101010101010001010000010101E8
+:10BB500001010101010101010000000000000000DD
+:10BB600000010100000000000000000000000000D3
+:10BB700000000000000000000000000000000000C5
+:10BB800000000000000000000000000100010101B1
+:10BB9000000101000000000000010100000101019E
+:10BBA0000101010101010101000101010001010187
+:10BBB0000101010101010101010101010100000078
+:10BBC0000000000000000000000001000000010172
+:10BBD0000101010101010100010101010000010158
+:10BBE000010100000101000000010101010101014A
+:10BBF000010101010101010102020202020202022D
+:10BC0000010101010000020001010100000000012A
+:10BC1000010101010101010100010000000000011A
+:10BC2000000101010100000000010100000101010B
+:10BC300001010101010101010001010100010101F6
+:10BC400001010101010101010001010000010101E7
+:10BC500001010101010101010000000000000001DB
+:10BC600000010100000000010001000000000000D0
+:10BC700000000000000000000000000000000000C4
+:10BC800000010100000000000000000100010101AE
+:10BC9000000101000000000000010100000101019D
+:10BCA0000101010101010101000101010001010186
+:10BCB0000101010101010101010101010100000077
+:10BCC000000000000000000000000101000101016F
+:10BCD0000101010101010100010101010001010156
+:10BCE0000101000001010000000101010101010149
+:10BCF000010101010101010102020202020202022C
+:10BD00000201020100000200020101000000000126
+:10BD10000101010101010101000100000000000119
+:10BD20000101010101000001000101010001010107
+:10BD300001010101010101010001010100010101F5
+:10BD400001010101010101010101010000010101E5
+:10BD500001010101010101010000000000000001DA
+:10BD600000010101010000010001010000000000CC
+:10BD700000010100000000000000010000000001BF
+:10BD800000010100000000010000000101010101AB
+:10BD90000101010000000001000101010001010199
+:10BDA0000101010101010101010101010001010184
+:10BDB0000101010101010101010101010100000076
+:10BDC000000000000000000000010101000101016D
+:10BDD0000101010101010101010101010001010154
+:10BDE0000101000001010000000101010101010148
+:10BDF000010101010101010102020202020202022B
+:10BE00000202020101000200020101000000000123
+:10BE10000101010101010101010100000000000117
+:10BE20000101010101010101000101010001010104
+:10BE300001010101010101010101010100010101F3
+:10BE400001010101010101010101010000010101E4
+:10BE500001010101010101010000000000000001D9
+:10BE600001010101010000010001010000000001C9
+:10BE700000010100000000010000010000000001BD
+:10BE800000010100000000010000010101010101A9
+:10BE90000101010100000001010101010001010196
+:10BEA0000101010101010101010101010101010182
+:10BEB0000101010101010101020101010100000074
+:10BEC000000000000000000000010101000101016C
+:10BED0000101010101010101010101010001010153
+:10BEE0000101010101010000000101010101010145
+:10BEF000010101010101010102020202020202022A
+:10BF00000202020101000200020201000000000121
+:10BF10000101010101010101010100000000000116
+:10BF20000101010101010101010101010101010101
+:10BF300001010101010101010101010100010101F2
+:10BF400001010101010101010101010100010101E2
+:10BF500001010101010101010000000000000001D8
+:10BF600001010101010101010101010100000001C4
+:10BF700000010101000000010001010000000001BA
+:10BF800001010100000000010001010101010101A6
+:10BF90000101010100000001010101010001010195
+:10BFA0000101010101010101010101010101010181
+:10BFB0000101010101010101020201010100000072
+:10BFC000000000000000000000010101000101016B
+:10BFD0000101010101010101010101010001010152
+:10BFE0000101010101010000000100000001000148
+:10BFF0000101010101010101020202020202020229
+:10C00000020202010100020102020100000000011F
+:10C010000101010101010101010101000000010113
+:10C020000101010101010101010101010101010100
+:10C0300001010101010101010101010101010101F0
+:10C0400001010101010101010101010100010101E1
+:10C0500001010101010101010001000000000001D6
+:10C0600001010101010101010101010100000001C3
+:10C0700001010101000000010001010100000001B7
+:10C0800001010101010001010101010101010101A1
+:10C090000101010100000001010101010001010194
+:10C0A0000101010101010101010101010101010180
+:10C0B000010101010101010102020201010100006F
+:10C0C0000000000000000000010101010001010169
+:10C0D0000101010101010101010101010101010150
+:10C0E0000101010101010000000100000000000049
+:10C0F0000101010101010101020202020202020228
+:10C10000020202020100020102020200000000011C
+:10C110000101010101010101020101000000010111
+:10C1200001010101010101010101010101010101FF
+:10C1300001010101010101010101010101010101EF
+:10C1400001010101010101010101010100010101E0
+:10C1500001010101010101010101010000000001D3
+:10C1600001010101010101010201010100010101BF
+:10C1700001010101010000010001010100000001B5
+:10C1800001010101010001010101010101010101A0
+:10C190000101010100000001010101010001010193
+:10C1A000010101010101010101010101010101017F
+:10C1B000010101010101010102020201020100006D
+:10C1C0000000000000010100010101010001010166
+:10C1D000010101010101010102010101010101014E
+:10C1E0000101010101010001000000000000000048
+:10C1F000000000000101010102020202020202022B
+:10C200000202020202000201020202000000010119
+:10C21000010101010101010102020100000001010F
+:10C2200001010101010101010101010101010101FE
+:10C2300001010101010101010101010101010101EE
+:10C2400001010101010101010201010100010101DE
+:10C2500001010101010101010101010100000001D1
+:10C2600001010101010101010202010101010101BC
+:10C2700001010101010000010101010100000101B2
+:10C28000010101010101010101010102010202019B
+:10C290000101010101000001020101010001010190
+:10C2A000010101010101010101010201010101017D
+:10C2B000010101010101010102020202020100016A
+:10C2C0000000000000010100010101010101010164
+:10C2D000010101010101010102020101010101014C
+:10C2E0000101010101010101000000000000000046
+:10C2F000000000000001010102020202020202022B
+:10C300000202020202000201020202000000010217
+:10C31000010201010102010102020101000101010A
+:10C3200001010101010101010202020101010102F9
+:10C3300001020201020102010202010101010102E6
+:10C3400001020201010101010202010100010102D9
+:10C3500001020201020101010101010100000001CD
+:10C3600001010101010101010202010201010101BA
+:10C3700001010101010000010101010100010101B0
+:10C38000010101010101010101010102010202019A
+:10C39000010101010100000102020201000101018D
+:10C3A0000101010101010101020202010101010279
+:10C3B0000101010101010101020202020201000169
+:10C3C0000001000000010100010101010101010162
+:10C3D000010101010101010102020201010101014A
+:10C3E0000101010101010101000000000000000045
+:10C3F000000000000001000102020202020202022B
+:10C400000202020202000201020202000000010216
+:10C410000202020101020101020201010001010107
+:10C4200001010101010101010202020101010102F8
+:10C4300002020202020202020202020101010102E0
+:10C4400002020202020202020202020100010102D1
+:10C4500002020202020202020201010100000001C6
+:10C4600001010101010101010202020202010101B7
+:10C4700001010101010000010101010101010101AE
+:10C480000101010101010101020101020102020198
+:10C490000101010101010101020202010101010288
+:10C4A0000202020101010101020202010101010275
+:10C4B0000202020201010101020202020201000164
+:10C4C0000001000000010100020101010101010160
+:10C4D0000101010101010101020202010101010149
+:10C4E0000101010101010101000000000000000044
+:10C4F000000000000000000102020202020202022B
+:10C500000202020202000201020202010001010213
+:10C510000202020202020101020201010001010203
+:10C5200001010101010101010202020101020202F5
+:10C5300002020202020202020202020101010202DE
+:10C5400002020202020202020202020101010102CF
+:10C5500002020202020202020201010100010001C4
+:10C5600001010101010101010202020202020101B5
+:10C5700001010101010100010201010101010101AB
+:10C580000101010101010101020101020102020197
+:10C590000101010101010101020202020102010285
+:10C5A0000202020202010201020202010101010271
+:10C5B0000202020202010201020202020201000161
+:10C5C000000101000001010002020201010101025B
+:10C5D0000102020101010101020202010101010146
+:10C5E0000101010101010101000000000000000043
+:10C5F000000000000000000102020202020202022A
+:10C600000202020202010101020202010001010212
+:10C6100002020202020202010202020200010202FE
+:10C6200001020101010101010202020201020202F2
+:10C6300002020202020202020202020201020202DB
+:10C6400002020202020202020202020101020202CC
+:10C6500002020202020202020202010101010101C0
+:10C6600001010101010101010202020202020201B3
+:10C6700001010101010101010202020101010101A7
+:10C680000101010101010101020201020202020194
+:10C690000101010101010101020202020102020283
+:10C6A000020202020202020102020202010102026D
+:10C6B000020202020202020102020202020100015F
+:10C6C0000101010000010100020202020101020257
+:10C6D0000202020102010101020202020101020141
+:10C6E0000101010101010101000000000000000042
+:10C6F000000000000000000001020202010201022D
+:10C700000202020202010100020202010001010212
+:10C7100002020202020202020202020201020202FA
+:10C7200002020202020101010202020202020202EC
+:10C7300002020202020202020202020201020202DA
+:10C7400002020202020202020202020201020202CA
+:10C7500002020202020202020202010101010101BF
+:10C7600001010101010101010202020202020202B1
+:10C7700001020201010101010202020201010101A3
+:10C780000101010101010101020202020202020192
+:10C790000101010101010101020202020102020282
+:10C7A0000202020202020202020202020202020269
+:10C7B000020202020202020202020202020100015D
+:10C7C0000101010100010100020202020102020254
+:10C7D000020202020201020102020202010102023D
+:10C7E0000101010101010101000000000000000041
+:10C7F000000000000000000001020202010201022C
+:10C800000202020201010100020202020001020210
+:10C8100002020202020202020202020202020202F8
+:10C8200002020202020202020202020202020202E8
+:10C8300002020202020202020202020202020202D8
+:10C8400002020202020202020202020201020202C9
+:10C8500002020202020202020202020201010102BB
+:10C8600001020201010101010202020202020202AE
+:10C87000020202020201010202020202010101019E
+:10C880000101010101010101020202020202020290
+:10C89000010202010101010102020202020202027E
+:10C8A0000202020202020202020202020202020268
+:10C8B000020202020202020202020202020200015B
+:10C8C0000101010100010101020202020102020252
+:10C8D000020202020202020102020202010202023A
+:10C8E0000102010101010101010002020200020036
+:10C8F000000000000000000001010201010101012F
+:10C90000020201010101010002020202010202020F
+:10C9100002020202020202020202020202020202F7
+:10C9200002020202020202020202020202020202E7
+:10C9300002020202020202020202020202020202D7
+:10C9400002020202020202020202020201020202C8
+:10C9500002020202020202020202020201010102BA
+:10C9600002020202020101020202020000020202AD
+:10C97000020202020201010202020202020101029B
+:10C98000010202010101010102020202020202028D
+:10C99000020202010101010102020202020202027C
+:10C9A0000202020202020202020202020202020267
+:10C9B000020202020202020202020202020200015A
+:10C9C000010101010102020102020202020202024D
+:10C9D0000202020202020201020202020202020238
+:10C9E000020201010202010101000202020202022E
+:10C9F000000000000000000001010101010101012F
+:10CA0000010101010102010002020202020202020E
+:10CA100002020202020202020202020202020202F6
+:10CA200002020202020202020202020202020202E6
+:10CA300002020202020202020202020202020202D6
+:10CA400002020202020202020202020202020202C6
+:10CA500002020202020202020202020202010102B8
+:10CA600002020202020202020202020000000202AC
+:10CA70000202020202020102020202020202020297
+:10CA8000020202010101010202020202020202028A
+:10CA90000202020201010102020202020202020279
+:10CAA0000202020202020202020202020202020266
+:10CAB0000202020202020202020202020202010257
+:10CAC000010101010102020102020202020202024C
+:10CAD0000202020202020202020202020202020236
+:10CAE000020201010202010102020202020202022A
+:10CAF0000202020200000000010101010101010126
+:10CB0000010101010102010002020202020202020D
+:10CB100002020202020202020202020002020002F9
+:10CB200002020202020202020202020202020202E5
+:10CB300002020202020202020202020202020202D5
+:10CB400002020202020202020202020202020202C5
+:10CB500002020202020202020202020202020102B6
+:10CB600002020202020202020202020000000002AD
+:10CB70000202020202020202020202020202020295
+:10CB80000202020202010202020202020202020286
+:10CB90000202020201010102020202020202020278
+:10CBA0000202020202020202020202020202020265
+:10CBB0000202020202020202020202020202010256
+:10CBC000010201010102020102020202020202024A
+:10CBD0000202020202020202020202020202020235
+:10CBE0000202020202020101020202020202020227
+:10CBF0000202020202000000010101010101010123
+:10CC0000010101010101010002020202020202020D
+:10CC100002020202020202020202020000000002FC
+:10CC200002020202020202020202020202020202E4
+:10CC300002020202020202020202020202020202D4
+:10CC400002020202020202020202020202020202C4
+:10CC500002020202020202020202020202020202B4
+:10CC600002020202020202020202020202000002A8
+:10CC70000202020202020202020202020202020294
+:10CC80000202020202020202020202020202020284
+:10CC90000202020202010102020202020202020276
+:10CCA0000202020202020202020202020202020264
+:10CCB0000202020202020202020202020202010255
+:10CCC0000202020101020201020202020202020247
+:10CCD0000202020202020202020202020202020234
+:10CCE0000202020202020101020202020202020226
+:10CCF0000202020202000200010101010101010120
+:10CD0000010101010101010002020202020202020C
+:10CD100002020202020202020202020000000002FB
+:10CD200002020202020202020202020202020202E3
+:10CD300002020202020202020202020202020202D3
+:10CD400002020202020202020202020202020202C3
+:10CD500002020202020202020202020202020202B3
+:10CD600002020202020202020202020202020002A5
+:10CD70000202020202020202020202020202020293
+:10CD80000202020202020202020202020202020283
+:10CD90000202020202020202020202020202020273
+:10CDA0000202020202020202020202020202020263
+:10CDB0000202020202020202020202020202020253
+:10CDC0000202020201020201020202020202020245
+:10CDD0000202020202020202020202020202020233
+:10CDE0000202020202020202020202020202020223
+:10CDF000020202020202020001010101010101011D
+:10CE0000010101010101010002020202020202020B
+:10CE100002020202020202020202020200000202F6
+:10CE200002020202020202020202020202020202E2
+:10CE300002020202020202020202020202020202D2
+:10CE400002020202020202020202020202020202C2
+:10CE500002020202020202020202020202020202B2
+:10CE600002020202020202020202020202020202A2
+:10CE70000202020202020202020202020202020292
+:10CE80000202020202020202020202020202020282
+:10CE90000202020202020202020202020202020272
+:10CEA0000202020202020202020202020202020262
+:10CEB0000202020202020202020202020102020253
+:10CEC0000202020202020202020202020202020242
+:10CED0000202020202020202020202020202020232
+:10CEE0000202020202020202020202020202020222
+:10CEF000020202020202020000010101000100011F
+:10CF0000010101010101000002020202020202020B
+:10CF100002020202020202020202020202020202F1
+:10CF200002020202020202020202020202020202E1
+:10CF300002020202020202020202020202020202D1
+:10CF400002020202020202020202020202020202C1
+:10CF500002020202020202020202020202020202B1
+:10CF600002020202020202020202020202020202A1
+:10CF70000202020202020202020202020202020291
+:10CF80000202020202020202020202020202020281
+:10CF90000202020202020202020202020202020271
+:10CFA0000202020202020202020202020202020261
+:10CFB0000202020202020202020202020102020252
+:10CFC0000202020202020202020202020202020241
+:10CFD0000202020202020202020202020202020231
+:10CFE0000202020202020202020202020202020221
+:10CFF0000202020202020202000001000000000020
+:10D00000010100000001000002020202020202020D
+:10D0100002020202020202020202020202020202F0
+:10D0200002020202020202020202020202020202E0
+:10D0300002020202020202020202020202020202D0
+:10D0400002020202020202020202020202020202C0
+:10D0500002020202020202020202020202020202B0
+:10D0600002020202020202020202020202020202A0
+:10D070000202020202020202020202020202020290
+:10D080000202020202020202020202020202020280
+:10D090000202020202020202020202020202020270
+:10D0A0000202020202020202020202020202020260
+:10D0B0000202020202020202020202020202020250
+:10D0C0000202020202020202020202020202020240
+:10D0D0000202020202020202020202020202020230
+:10D0E0000202020202020202020202020202020220
+:10D0F0000202020202020202000000000000000020
+:10D100000000000000010000000202020202020210
+:10D1100002020202020202020202020202020202EF
+:10D1200002020202020202020202020202020202DF
+:10D1300002020202020202020202020202020202CF
+:10D1400002020202020202020202020202020202BF
+:10D1500002020202020202020202020202020202AF
+:10D1600002020202020202020202020201020202A0
+:10D170000202020201010202020202020202020291
+:10D18000020202020202020202020202020202027F
+:10D19000020202020202020202020202020202026F
+:10D1A000020202020202020202020202020202025F
+:10D1B000020202020202020202020202020202024F
+:10D1C000020202020202020202020202020202023F
+:10D1D000020202020202020202020202020202022F
+:10D1E000020202020202020202020202020202021F
+:10D1F000020202020202020200000000000000001F
+:10D20000000000000000000001000000000000001D
+:10D2100000000000000000000202020202020202FE
+:10D2200002020202020202020202020202020202DE
+:10D2300002020202020202020202020202020202CE
+:10D2400002020202020202020202020202020202BE
+:10D2500002020202020202020202020202020202AE
+:10D2600002020202020202020202020102010202A0
+:10D27000020202020202010202020202020202028F
+:10D28000020202020202020202020202020202027E
+:10D29000020202020202020202020202020202026E
+:10D2A000020202020202020202020202020202025E
+:10D2B0000202020202020202020202020002020250
+:10D2C0000202020202010102020202020202020240
+:10D2D000020202020202020202020202020202022E
+:10D2E000020202020202020202020202020202021E
+:10D2F000020202020202020200000000000000001E
+:10D300000000000000000000010101010101010115
+:10D3100001010101010101010101010101010101FD
+:10D3200001010101010101010202020202020202E5
+:10D3300002020202020202020202020202020202CD
+:10D3400002020202020202020202020202020202BD
+:10D3500002020202020202020202020202020202AD
+:10D3600002020202020202020101010200020101A4
+:10D370000101010100000201020202020202020296
+:10D38000020202020202020202020202020202027D
+:10D39000020202020202020202020202020202026D
+:10D3A000020202020202020202020202020202025D
+:10D3B000020202020202020202020202000202024F
+:10D3C000020202020201010202020202020202023F
+:10D3D000020202020202020202020202020202022D
+:10D3E000020202020202020202020202020202021D
+:10D3F000020202020202020201000000010001001A
+:10D400000000000000000100010101010101010113
+:10D4100001010101010101010202020202020202F4
+:10D4200002020202020202020202020202020202DC
+:10D4300002020202020202020202020202020202CC
+:10D4400002020202020202020202020202020202BC
+:10D4500002020202020202020202020202020202AC
+:10D4600002020202020202020202020000000202A2
+:10D470000202020200000002020202020202020292
+:10D48000020202020202020202020202020202027C
+:10D49000020202020202020202020202010202026D
+:10D4A000020202020202020202020202020202025C
+:10D4B0000202020202020202020202020002010150
+:10D4C0000101010101020201020202020202020242
+:10D4D000020202020202020202020202020202022C
+:10D4E000020202020202020202020202020202021C
+:10D4F0000202020202020202010100010101010115
+:10D50000000001010100010101010101010101010E
+:10D510000101010101010101000000000000000003
+:10D5200000000000000000000101010101010101F3
+:10D5300001010101010101010202020202020202D3
+:10D5400002020202020202020202020202020202BB
+:10D5500002020202020202020202020101020202AD
+:10D5600002020202020202020000000000000000AB
+:10D57000000000000000000002020202020202029B
+:10D58000020202020202020202020202020202027B
+:10D59000020202020202020202020201020202026C
+:10D5A000020202020202020202020202020202025B
+:10D5B0000202020202020202010101010001020252
+:10D5C000020202020202020202020202020202023B
+:10D5D000020202020202020202020202020202022B
+:10D5E000020202020202020202020202020202021B
+:10D5F0000202020202020202010101010101010113
+:10D60000010101010100010101010101010101010B
+:10D6100001010101010101010101010101010101FA
+:10D6200001010101010101010202020202020202E2
+:10D6300002020202020202020101010101010101D2
+:10D6400001010101010101010000000000000000D2
+:10D6500000000000000000000101010202010101C0
+:10D6600001010101010101010000000000000000B2
+:10D67000000000000000000002020200000202029E
+:10D68000020202020202020202020202020202027A
+:10D690000202020202020202010101020001010172
+:10D6A0000101010101010101020202020202020262
+:10D6B0000202020202020202010101010001000055
+:10D6C000000000000000000002020202020202024A
+:10D6D000020202020202020202020202020202022A
+:10D6E000020202020202020202020202020202021A
+:10D6F0000202020202020202010101010101010112
+:10D700000101010101010101010101010101010109
+:10D7100001010101010101010101010101010101F9
+:10D7200001010101010101010101010101010101E9
+:10D7300001010101010101010101010101010101D9
+:10D7400001010101010101010101010101010101C9
+:10D7500001010101010101010202020000020202B5
+:10D7600002020202020202020000000000000000A9
+:10D7700000000000000000000202000000000002A3
+:10D780000202020202020202020202020202020279
+:10D79000020202020202020202020200000202026D
+:10D7A0000202020202020202020202020202020259
+:10D7B000020202020202020202020202000200004F
+:10D7C0000000000000000000000000000000000059
+:10D7D0000000000000000000020202020202020239
+:10D7E0000202020202020202020202020202020219
+:10D7F0000202020202020202010101010101010111
+:10D800000101010101010101010101010101010108
+:10D8100001010101010101010101010101010101F8
+:10D8200001010101010101010101010101010101E8
+:10D8300001010101010101010101010101010101D8
+:10D8400001010101010101010101010101010101C8
+:10D8500001010101010101010101010101010101B8
+:10D8600001010101010101010000000000000000B0
+:10D8700000000000000000000000000000000000A8
+:10D880000000000000000000020202000000000290
+:10D890000202020202020202000000000000000078
+:10D8A000000000000000000002020202000202026A
+:10D8B000020202020202020202020202000200004E
+:10D8C0000000000000000000000000000000000058
+:10D8D0000000000000000000020202020202020238
+:10D8E0000202020202020202020202020202020218
+:10D8F0000202020202020202010101010101010110
+:10D900000101010101010101010101010101010107
+:10D9100001010101010101010101010101010101F7
+:10D9200001010101010101010101010101010101E7
+:10D9300001010101010101010101010101010101D7
+:10D9400001010101010101010101010101010101C7
+:10D9500001010101010101010101010101010101B7
+:10D9600001010101010101010101010101010101A7
+:10D970000101010101010101010101010101010197
+:10D980000101010101010101010101010101010187
+:10D99000010101010101010100000000000000007F
+:10D9A0000000000000000000000000000000000077
+:10D9B0000000000000000000000000000000000067
+:10D9C0000000000000000000000000000000000057
+:10D9D000000000000000000001010101010101013F
+:10D9E000010101010101010102020202020202021F
+:10D9F000020202020202020201010101010101010F
+:10DA00000101010101010101010101010101010106
+:10DA100001010101010101010101010101010101F6
+:10DA200001010101010101010101010101010101E6
+:10DA300001010101010101010101010101010101D6
+:10DA400001010101010101010101010101010101C6
+:10DA500001010101010101010101010101010101B6
+:10DA600001010101010101010101010101010101A6
+:10DA70000101010101010101010101010101010196
+:10DA80000101010101010101010101010101010186
+:10DA90000101010101010101010101010101010176
+:10DAA0000101010101010101010101010101010166
+:10DAB000010101010101010100000000000000005E
+:10DAC0000000000000000000000000000000000056
+:10DAD000000000000000000001010101010101013E
+:10DAE000010101010101010102020202020202021E
+:10DAF000020202020202020201010101010101010E
+:10DB00000101010101010101010101010101010105
+:10DB100001010101010101010101010101010101F5
+:10DB200001010101010101010101010101010101E5
+:10DB300001010101010101010101010101010101D5
+:10DB400001010101010101010101010101010101C5
+:10DB500001010101010101010101010101010101B5
+:10DB600001010101010101010101010101010101A5
+:10DB70000101010101010101010101010101010195
+:10DB80000101010101010101010101010101010185
+:10DB90000101010101010101010101010101010175
+:10DBA0000101010101010101010101010101010165
+:10DBB0000101010101010101010101010101010155
+:10DBC0000101010101010101010101010101010145
+:10DBD0000101010101010101010101010101010135
+:10DBE000010101010101010100000000000000002D
+:10DBF000000000000000000001010101010101011D
+:10DC00000101010101010101010101010101010104
+:10DC100001010101010101010101010101010101F4
+:10DC200001010101010101010101010101010101E4
+:10DC300001010101010101010101010101010101D4
+:10DC400001010101010101010101010101010101C4
+:10DC500001010101010101010101010101010101B4
+:10DC600001010101010101010101010101010101A4
+:10DC70000101010101010101010101010101010194
+:10DC80000101010101010101010101010101010184
+:10DC90000101010101010101010101010101010174
+:10DCA0000101010101010101010101010101010164
+:10DCB0000101010101010101010101010101010154
+:10DCC0000101010101010101010101010101010144
+:10DCD0000101010101010101010101010101010134
+:10DCE000010101010101010100000000000000002C
+:10DCF0000000000000000000000000000000000024
+:10DD00000000000000000000000000000000000013
+:10DD10000000000000000000000000000000000003
+:10DD200000000000000000000000000000000000F3
+:10DD300000000000000000000202020202020202D3
+:10DD400002020202020202020202020202020202B3
+:10DD500002020202020202020202020202020202A3
+:10DD60000202020202020202020202020202020293
+:10DD70000202020202020202020202020202020283
+:10DD80000202020202020202020202020202020273
+:10DD90000202020202020202020202020202020263
+:10DDA0000202020202020202020202020202020253
+:10DDB0000202020202020202020202020202020243
+:10DDC0000202020202020202020202020202020233
+:10DDD0000202020202020202020202020202020223
+:10DDE0000202020202020202000000000000000023
+:10DDF0000000000000000000000000000000000023
+:10DE00000000000000000000000000000000000012
+:10DE10000000000000000000000000000000000002
+:10DE200000000000000000000000000000000000F2
+:10DE300000000000000000000000000000000000E2
+:10DE400000000000000000000000000000000000D2
+:10DE500000000000000000000000000000000000C2
+:10DE600000000000000000000000000000000000B2
+:10DE700000000000000000000000000000000000A2
+:10DE80000000000000000000000000000000000092
+:10DE90000000000000000000000000000000000082
+:10DEA0000000000000000000000000000000000072
+:10DEB0000000000000000000000000000000000062
+:10DEC0000000000000000000000000000000000052
+:10DED0000000000000000000020202020202020232
+:10DEE0000202020202020202000000000000000022
+:10DEF0000000000000000000000000000000000022
+:10DF00000000000000000000000000000000000011
+:10DF10000000000000000000000000000000000001
+:10DF200000000000000000000000000000000000F1
+:10DF300000000000000000000000000000000000E1
+:10DF400000000000000000000000000000000000D1
+:10DF500000000000000000000000000000000000C1
+:10DF600000000000000000000000000000000000B1
+:10DF700000000000000000000000000000000000A1
+:10DF80000000000000000000000000000000000091
+:10DF90000000000000000000000000000000000081
+:10DFA0000000000000000000000000000000000071
+:10DFB0000000000000000000000000000000000061
+:10DFC0000000000000000000000000000000000051
+:10DFD0000000000000000000020202020202020231
+:10DFE0000202020202020202000000000000000021
+:10DFF0000000000000000000000000000000000021
+:10E000000000000000000000000000000000000010
+:10E010000000000000000000000000000000000000
+:10E0200000000000000000000000000000000000F0
+:10E0300000000000000000000000000000000000E0
+:10E0400000000000000000000000000000000000D0
+:10E0500000000000000000000000000000000000C0
+:10E0600000000000000000000000000000000000B0
+:10E0700000000000000000000000000000000000A0
+:10E080000000000000000000000000000000000090
+:10E090000000000000000000000000000000000080
+:10E0A0000000000000000000000000000000000070
+:10E0B0000000000000000000000000000000000060
+:10E0C0000000000000000000000000000000000050
+:10E0D0000000000000000000000000000000000040
+:10E0E0000000000000000000000000000000000030
+:10E0F00000000000000000003100000000000000EF
+:10E10000000000000000000000000000000000000F
+:10E1100000000000000000000000000000000000FF
+:10E1200000000000000000000000000000000000EF
+:10E1300000000000000000000000000000000000DF
+:10E1400000000000000000000000000000000000CF
+:10E1500000000000000000000000000000000000BF
+:10E1600000000000000000000000000000000000AF
+:10E17000000000000000000000000000000000009F
+:10E18000000000000000000000000000000000008F
+:10E19000000000000000000000000000000000007F
+:10E1A000000000000000000000000000000000006F
+:10E1B000000000000000000000000000000000005F
+:10E1C000000000000000000000000000000000004F
+:10E1D000000000000000000000000000000000003F
+:10E1E000000000000000000000000000000000002F
+:10E1F0000000000100010101010100010000000018
+:10E20000000000000000000000000000000000000E
+:10E2100000000000000000000000000000000000FE
+:10E2200000000000000000000000000000000000EE
+:10E2300000000000000000000000000000000000DE
+:10E2400000000000000000000000000000000000CE
+:10E2500000000000000000000000000000000000BE
+:10E2600000000000000000000000000000000000AE
+:10E27000000000000000000000000000000000009E
+:10E28000000000000000000000000000000000008E
+:10E29000000000000000000000000000000000007E
+:10E2A000000000000000000000000000000000006E
+:10E2B000000000000000000000000000000000005E
+:10E2C000000000000000000000000000000001004D
+:10E2D000000000000000000000000000000000003E
+:10E2E000000000000000000000000000000000002E
+:10E2F0000000000101010101010101010101010012
+:10E30000000000000000000000000000000000000D
+:10E3100000000000000000000000000000000000FD
+:10E3200000000000000000000000000000000000ED
+:10E3300000000000000000000000000000000000DD
+:10E3400000000000000000000000000000000000CD
+:10E3500000000000000000000000000000000000BD
+:10E3600000000000000000000000000000000000AD
+:10E37000000000000000000000000000000000009D
+:10E38000000000000000000000000000000000008D
+:10E39000000000000000000000000000000000007D
+:10E3A000000000000000000000000000000000006D
+:10E3B000000000000000000000000000000000005D
+:10E3C000000000000000000000000000000001004C
+:10E3D000000000000000000000000000000000003D
+:10E3E000000000000100000000000000000000002C
+:10E3F0000000000101010101010101010101010011
+:10E40000000000000000000000000000000000000C
+:10E4100000000000000000000000000000000000FC
+:10E4200000000000000000000000000000000000EC
+:10E4300000000000000000000000000000000000DC
+:10E4400000000000000000000000000000000000CC
+:10E4500000000000000000000000000000000000BC
+:10E4600000000000000000000000000000000000AC
+:10E47000000000000000000000000000000000009C
+:10E48000000000000000000000000000000000008C
+:10E49000000000000000000000000000000000007C
+:10E4A000000000000000000000000000000000006C
+:10E4B000000000000000000000000000010001005A
+:10E4C000000000000000000000000000010001004A
+:10E4D000000000000000000000000000000000003C
+:10E4E0000000000101010000000000000000000029
+:10E4F0000000000101010101010101010101010010
+:10E50000000000000000000000000000000000000B
+:10E5100000000000000000000000000000000000FB
+:10E5200000000000000000000000000000000000EB
+:10E5300000000000000000000000000001010100D8
+:10E5400000000000000000000000000000000000CB
+:10E5500000000000000000000000000000000000BB
+:10E5600000000000000000000000000000000000AB
+:10E57000000000000000000000000000000000009B
+:10E580000000000000000000000000000101010088
+:10E59000000000000000000000000000000000007B
+:10E5A000000000000000000000000000000000006B
+:10E5B0000000000100010000000000000100010057
+:10E5C0000000000000000000000000000100010049
+:10E5D000000000000000000000000000000000003B
+:10E5E0000000000101010000000000000100000027
+:10E5F000000000010101010101010101010101000F
+:10E60000000000000000000000000000000000000A
+:10E6100000000000000000000000000000000000FA
+:10E6200000000000000000000000000000000000EA
+:10E6300000000000000000000000000101010100D6
+:10E6400000000000000000000000000001010000C8
+:10E6500000000000000000000000000000000000BA
+:10E6600000000000000000000000000000000000AA
+:10E67000000000000000000000000000000000009A
+:10E680000000000000000000000000010101010086
+:10E690000000000000000000000000000101000078
+:10E6A000000000000000000000000000000000006A
+:10E6B0000000000100010000000000000101010154
+:10E6C0000000000000000000000000000101010047
+:10E6D000000000000000000000000000000000003A
+:10E6E0000001010101010000000000010100000023
+:10E6F000000000010101010101010101010101000E
+:10E700000000000000000000000000000000000009
+:10E7100000000000000000000000000000000000F9
+:10E7200000000000000000000000000000000000E9
+:10E7300000000000000000000000000101010101D4
+:10E7400000000000000000000000000001010000C7
+:10E7500000000000000000000000000000000000B9
+:10E7600000000000000000000000000000000000A9
+:10E770000000000000000000000000000000000099
+:10E780000000000000000000000001010101010084
+:10E790000000000000000000000000010101000076
+:10E7A0000000000000000000000000000000000069
+:10E7B0000000000100010100000000000101010152
+:10E7C0000000000000010000000000010101010044
+:10E7D0000000000000000000000000000000000039
+:10E7E0000001010101010000000000010100000022
+:10E7F000000000010101010101010101010101000D
+:10E800000000000000000000000000000000000008
+:10E8100000000000000000000000000001000100F6
+:10E8200000000000000000000000000000000000E8
+:10E8300000000000000100000000000101010101D2
+:10E8400000000000000000000000010001010100C4
+:10E8500000000000000000000000000001010100B5
+:10E8600000000000000000000000000000000000A8
+:10E870000000000000000000000000000000010097
+:10E880000000000000000000000001010101010083
+:10E890000000000000000000000000010101000075
+:10E8A0000000000000000000000000000000000068
+:10E8B0000000000101010100000000000101010150
+:10E8C0000000000001010000000000010101010042
+:10E8D0000000000000000000000000000000000038
+:10E8E0000101010101010000000000010100000020
+:10E8F000000000010101010101010101010101000C
+:10E900000000000000000000000000000000000007
+:10E9100000000000000000000000000001000100F5
+:10E9200000000000000000000000000001010101E3
+:10E9300000000000000100000000010101010101D0
+:10E9400000000000000000000000010101010100C2
+:10E9500000000000000000000000000001010100B4
+:10E9600000000000000000000000000001000000A6
+:10E970000000000000000000000000000000010096
+:10E980000000000000000000000001010101010181
+:10E990000000000000000000000000010101000074
+:10E9A0000000000000000000000000000001010065
+:10E9B000000000010101010000000001010101014E
+:10E9C0000000000001010100000000010101010040
+:10E9D0000000000100010101000100010000000031
+:10E9E000010101010101000000000001010000001F
+:10E9F000000001010101010101010101010101000A
+:10EA00000000000000000001000000000000000005
+:10EA100000000000000000000000000001010100F3
+:10EA200000000000000001000000000101010101E0
+:10EA300000000000000101010000010101010101CD
+:10EA400000000000000000000000010101010101C0
+:10EA500000000000000000000000000001010100B3
+:10EA600000000000000000000000000001000000A5
+:10EA70000000000000000000000000000101010093
+:10EA8000000000000001010100000101010101017D
+:10EA90000000000001000000000000010101010170
+:10EAA0000000000000000000000000000001010064
+:10EAB000000000010101010000000101010101014C
+:10EAC000000000000101010000000001010101003F
+:10EAD000000000010001010100010101010101012B
+:10EAE000010101010101000000000001010000001E
+:10EAF0000000010101010101010101010101010009
+:10EB00000000000000000001000000000000010003
+:10EB100000000000000000000000000001010100F2
+:10EB200000000000000001000000010101010101DE
+:10EB300000000000010101010000010101010101CB
+:10EB400000000000000000000000010101010101BF
+:10EB500000000000000000000000000001010100B2
+:10EB600000000000000000000000000001010100A2
+:10EB70000000000000000000000000000101010092
+:10EB8000000000000101010100000101010101017B
+:10EB9000000000000101010100000001010101016C
+:10EBA0000000000000000000000000000101010062
+:10EBB0000000000101010101010001010101010149
+:10EBC000000001010101010000000001010101003C
+:10EBD0000101010100010101010101010101010126
+:10EBE000010101010101000000000001010000001D
+:10EBF0000000010101010101010101010101010008
+:10EC00000000000000000101000000000000010001
+:10EC100000000000000000000000000001010100F1
+:10EC200000000000000101010100010101010101DA
+:10EC300000000000010101010100010101010101C9
+:10EC400000000000000000000000010101010101BE
+:10EC500000000000000000000000000001010101B0
+:10EC600000000000000000000000000001010100A1
+:10EC70000000000000000000000000000101010091
+:10EC80000000000101010101000001010101010179
+:10EC9000000000000101010100000101010101016A
+:10ECA0000000000000000000000000010101010060
+:10ECB0000000000101010101010001010101010148
+:10ECC000000001010101010000000001010101003B
+:10ECD0000101010101010101010101010101010124
+:10ECE000010101010101000100000001010000001B
+:10ECF0000000010101010101010101010101010007
+:10ED000000000000010001020000000000010100FD
+:10ED100001000000000100000000000101010100ED
+:10ED200000000000010101010100010101010101D8
+:10ED300000000000010101010100010101010101C8
+:10ED400000000000000100010000010101010101BB
+:10ED500000000000000100000000000101010101AD
+:10ED600000000000000000000000000001010100A0
+:10ED7000000000000000000000000001010101008F
+:10ED80000000000101010101000001010101010178
+:10ED90000000000101010101010001010101010167
+:10EDA000000000000000000000000001010101005F
+:10EDB0000001000101010101010101010101010145
+:10EDC0000001010101010101000000010101010038
+:10EDD0000101010101010101010101010101010123
+:10EDE000010101010101000100000001010000001A
+:10EDF0000001010101010101010101010101010005
+:10EE000002000000010001020000000000010100FA
+:10EE100001000000010100000000000101010101EA
+:10EE200000000001010101010101010101010101D5
+:10EE300000000001010101010101010101010101C5
+:10EE400000000000010100010000010101010101B9
+:10EE500000000000000100000000000101010101AC
+:10EE6000000000000000000000000000010101009F
+:10EE7000000000000000000000000001010101018D
+:10EE80000000000101010101010101010101010175
+:10EE90000000000101010101010001010101010166
+:10EEA000000000000001010000000001010101005C
+:10EEB0000001000101010101010101010101010144
+:10EEC0000001010101010101000000010101010037
+:10EED0000101010101010101010101010101010122
+:10EEE0000101010101010001000000010100000019
+:10EEF0000001010101010101010101010101010004
+:10EF000002000000010001020000000000010100F9
+:10EF100001000000010101000000000101010101E8
+:10EF200000000001010101010101010101010101D4
+:10EF300000000001010101010101010101010101C4
+:10EF400000000000010101010001010101010101B6
+:10EF500000000000000101000000000101010101AA
+:10EF6000000000000000000000000000010101019D
+:10EF7000000000000000000000000001010101018C
+:10EF80000000000101010101010101010101010174
+:10EF90000000000101010101010101010101010164
+:10EFA0000000000001010100000001010101010158
+:10EFB0000001010101010101010101010101010142
+:10EFC0000101010101010101000000010101010035
+:10EFD0000101010101010101010101010101010121
+:10EFE0000101010101010001000000010100000018
+:10EFF0000001010101010101010101010101010003
+:10F0000002000200010001020000000000010100F6
+:10F0100001000000010101000000000101010101E7
+:10F0200000000001010101010101010101010101D3
+:10F0300000000001010101010101010101010101C3
+:10F0400000000000010101010001010101010101B5
+:10F0500000000000000101000100000101010101A8
+:10F06000000000000001000000000001010101019A
+:10F07000000000000000000000000001010101018B
+:10F080000001010101010101010101010101010171
+:10F090000000000101010101010101010101010163
+:10F0A0000000000101010101000001010101010155
+:10F0B0000001010101010101010101010101010141
+:10F0C0000101010101010101000001010101010132
+:10F0D0000101010101010101010101010101010120
+:10F0E0000201010101010001000000010100000016
+:10F0F0000001010001010101010101010101010003
+:10F1000002000200010001020000000001010100F4
+:10F1100002000000010101000000000101010101E5
+:10F1200000000001010101010101010101010101D2
+:10F1300000000001010101010101010101010101C2
+:10F1400000000001010101010001010101010101B3
+:10F1500000000000000101000100010101010101A6
+:10F160000000000000010000000000010101010199
+:10F170000000000000010100000000010101010188
+:10F180000001010101010101010101010101010170
+:10F190000001010101010101010101010101010160
+:10F1A0000000000101010101000001010101010154
+:10F1B0000001010101010101010101010101010140
+:10F1C0000101010101010101000001010101010131
+:10F1D000010101010101010101010101010101011F
+:10F1E0000201010101010001000000010100000015
+:10F1F0000001010000000000000001010101010107
+:10F2000002000200010001020000000101010100F2
+:10F2100002000000010101000000010101010101E3
+:10F2200000010101010101010101010101010101CF
+:10F2300000010101010101010101010101010101BF
+:10F2400000000001010101010001010101010101B2
+:10F2500000000000010101000101010101010101A3
+:10F260000000000000010000000000010101010198
+:10F270000000000001010100000001010101010185
+:10F28000010101010101010101010101010101016E
+:10F29000000101010101010101010101010101015F
+:10F2A0000000000101010101010001010101010152
+:10F2B000000101010101010101010101010101013F
+:10F2C0000101010101010101000001010101010130
+:10F2D000010101010101010101010101010101011E
+:10F2E0000202010101010001000000010100000013
+:10F2F0000001010000000000000000000101010108
+:10F3000002000200010002020000000101010100F0
+:10F3100002000001010101010000010101010101E0
+:10F3200000010101010101010101010101010101CE
+:10F3300000010101010101010101010101010101BE
+:10F3400001010001010101010101010101010101AE
+:10F3500000010001010101000101010101010101A0
+:10F360000000000001010000000000010101010196
+:10F370000000000101010101000001010101010182
+:10F38000010101010101010101010101010101016D
+:10F39000010101010101010101010101010101015D
+:10F3A0000000000101010101010001010101010151
+:10F3B000010101010101010101010101010101013D
+:10F3C000020101010101010100000101010101012E
+:10F3D000020101010101010101010101010101011C
+:10F3E000020202020201000100000001010000010E
+:10F3F000000100000000000000000000000000010B
+:10F4000002000200020102020000000101010201EB
+:10F4100002000001010101010000010101010101DF
+:10F4200001010101010101010101010101010101CC
+:10F4300001010101010101010101010101010101BC
+:10F4400001010001010101010101010101010101AD
+:10F45000000100010101010001010101010101019F
+:10F460000001000101010100000001010101010191
+:10F470000000000101010101000001010101010181
+:10F48000010101010101010101010101010101016C
+:10F49000010101010101010101010101010101015C
+:10F4A000000101010101010101000101010101014E
+:10F4B000010101010101010101010101010101013C
+:10F4C000020101010101010100000101010102012C
+:10F4D000020101010101010101010101010101011B
+:10F4E000020202020202000100000001010000010C
+:10F4F000000000000000000000000000000000010B
+:10F5000002000200020102020000000101020201E9
+:10F5100002010001010101010000010101010101DD
+:10F5200001010101010101010101010101010101CB
+:10F5300001010101010101010101010101010101BB
+:10F5400002010101010101010101020101010101A9
+:10F55000010100010101010101010101010101019C
+:10F560000001000101010100000001010101010190
+:10F57000000100010101010101000101010101017E
+:10F58000020101010101010101010101010101016A
+:10F59000010101010101010101010101010101015B
+:10F5A000000101010101010101000101010101014D
+:10F5B000010101010101010101010101010101013B
+:10F5C0000202020102020101000001010201020126
+:10F5D000020101010101010101010101010101011A
+:10F5E000020202020202000100000001010000010B
+:10F5F000000000000000000000000000000000010A
+:10F6000002000200020102020001000101020201E7
+:10F6100002010001010101010000010101010101DC
+:10F6200001010101010101010101010101010101CA
+:10F6300001010101010101010101010101010101BA
+:10F6400002010101010101010101020102020101A6
+:10F65000020100010101010101010101010101019A
+:10F66000010100010101010100000101010101018D
+:10F67000000100010101010101000101010101017D
+:10F680000201010101010101010102020202020164
+:10F690000201010101010101010101010101010159
+:10F6A000010101010101010101010101010101014A
+:10F6B0000101010201010101010101010101010139
+:10F6C0000202020202020201000101020202020120
+:10F6D0000202010101010101010101010101010118
+:10F6E0000202020202020001010100020200000106
+:10F6F0000000000000000000000000000000000109
+:10F7000002000200020102020002010101020201E4
+:10F7100002010101010101010100010101010101D9
+:10F7200002010101010101010101010101010101C8
+:10F7300002010101010201010101010202020201B3
+:10F7400002010101010101010101020202020201A3
+:10F750000201010101010101010101010202020195
+:10F76000020100010101010101000101010101018A
+:10F770000101010101010101010101010101010179
+:10F78000020201020202020201010202020202015D
+:10F790000201010102010101010101020202010154
+:10F7A0000101010101010101010101010101010149
+:10F7B0000101010201020101010101010101010137
+:10F7C000020202020202020101010102020202011E
+:10F7D0000202020201010101010101010101010115
+:10F7E0000202020202020001010100020200010104
+:10F7F0000000000000000000000000000000000108
+:10F8000002010201020102010002010201020201E1
+:10F8100002010101010101010100010102010201D6
+:10F8200002010101010102010101010101010101C6
+:10F8300002010101020202020101020202020202AD
+:10F84000020201010202010201020202020202029C
+:10F850000202010101020101010101010202020192
+:10F860000201010101010101010001010201010187
+:10F870000101010101010101010101010101010178
+:10F88000020202020202020201010202020202025A
+:10F89000020201020202020201010102020201014E
+:10F8A0000101010101010101010101010101010148
+:10F8B0000202010202020201010101010201020130
+:10F8C000020202020202020201010102020202011C
+:10F8D0000202020201020202010201010101010110
+:10F8E0000202020202020102010100020200010101
+:10F8F0000000000000000000000000000000000107
+:10F9000002020201020102010002010201020201DF
+:10F9100002010101020201010100010102020201D2
+:10F9200002020102020202020201020202020202B9
+:10F9300002020102020202020201020202020202A9
+:10F940000202010202020202010202020202020299
+:10F95000020201010102020102010102020202028D
+:10F960000202010101010101010001010202020183
+:10F970000201010101010101010101010101020175
+:10F980000202020202020202020202020202020257
+:10F990000202020202020202020102020202020248
+:10F9A0000201010101010101010101010101010146
+:10F9B000020201020202020101010101020202022D
+:10F9C000020202020202020201010102020202011B
+:10F9D000020202020202020202020202010101010B
+:10F9E00002020202020201020101010202010101FE
+:10F9F0000000000200000000000000000000000104
+:10FA000002020102020102010002010201020201DE
+:10FA100002020101020202010100010202020201CE
+:10FA200002020202020202020202020202020202B6
+:10FA300002020202020202020202020202020202A6
+:10FA40000202020202020202010202020202020297
+:10FA50000202010202020201020202020202020288
+:10FA60000202010101020101010001010202020181
+:10FA70000201010101010101010101010202020172
+:10FA80000202020202020202020202020202020256
+:10FA90000202020202020202020202020202020246
+:10FAA0000201010101010101010101010102020143
+:10FAB0000202020202020202020102020202020227
+:10FAC0000202020202020202010102020202020119
+:10FAD0000202020202020202020202020202020206
+:10FAE00002020202020201020101010202010101FD
+:10FAF00000000002020202020202000000000001F7
+:10FB000002020102020202010002020202020200DB
+:10FB100002020102020202010101010202020202CA
+:10FB200002020202020202020202020202020202B5
+:10FB300002020202020202020202020202020202A5
+:10FB40000202020202020202020202020202020295
+:10FB50000202020202020201020202020202020286
+:10FB6000020201020202010101010102020202027B
+:10FB7000020201010101010101010102020202016F
+:10FB80000202020202020202020202020202020255
+:10FB90000202020202020202020202020202020245
+:10FBA000020201020202020101010102020202013B
+:10FBB0000202020202020202020202020202020225
+:10FBC0000202020202020202010102020202020217
+:10FBD0000202020202020202020202020202020205
+:10FBE00002020202020201020101010202010101FC
+:10FBF00000000002020202020202020200000001F2
+:10FC000002020102020202010001020202020200DB
+:10FC100002020202020202020101020202020202C6
+:10FC200002020202020202020202020202020202B4
+:10FC300002020202020202020202020202020202A4
+:10FC40000202020202020202020202020202020294
+:10FC50000202020202020202020202020202020284
+:10FC60000202020202020201010102020202020277
+:10FC70000202010202020201010101020202020269
+:10FC80000202020202020202020202020202020254
+:10FC90000202020202020202020202020202020244
+:10FCA0000202020202020202010102020202020137
+:10FCB0000202020202020202020202020202020224
+:10FCC0000202020202020202010202020202020215
+:10FCD0000202020202020202020202020202020204
+:10FCE00002020202020201020101010202010101FB
+:10FCF00001000202020202020202020202020200E9
+:10FD000001020102020201010001020202010100DE
+:10FD100002020202020202020101020202020202C5
+:10FD200002020202020202020202020202020202B3
+:10FD300002020202020202020202020202020202A3
+:10FD40000202020202020202020202020202020293
+:10FD50000202020202020202020202020202020283
+:10FD60000202020202020202020102020202020274
+:10FD70000202020202020202010102020202020265
+:10FD80000202020202020202020202020202020253
+:10FD90000202020202020202020202020202020243
+:10FDA0000202020202020202020102020202020234
+:10FDB0000202020202020202020202020202020223
+:10FDC0000202020202020202020202020202020213
+:10FDD0000202020202020202020202020202020203
+:10FDE00002020202020201020202010202010102F7
+:10FDF00002020202020202020202020202020200E5
+:10FE000001020102010201010101020102010100DE
+:10FE100002020202020202020201020202020202C3
+:10FE200002020202020202020202020202020202B2
+:10FE300002020202020202020202020202020202A2
+:10FE40000202020202020202020202020202020292
+:10FE50000202020202020202020202020202020282
+:10FE60000202020202020202020102020202020273
+:10FE70000202020202020202020102020202020263
+:10FE80000202020202020202020202020202020252
+:10FE90000202020202020202020202020202020242
+:10FEA0000202020202020202020102020202020233
+:10FEB0000202020202020202020202020202020222
+:10FEC0000202020202020202020202020202020212
+:10FED0000202020202020202020202020202020202
+:10FEE00002020202020202020202010202010102F5
+:10FEF00002020202020202020202020202020200E4
+:10FF000001020101010201010101010102010100DF
+:10FF100002020202020202020201020202020202C2
+:10FF200002020202020202020202020202020202B1
+:10FF300002020202020202020202020202020202A1
+:10FF40000202020202020202020202020202020291
+:10FF50000202020202020202020202020202020281
+:10FF60000202020202020202020202020202020271
+:10FF70000202020202020202020202020202020261
+:10FF80000202020202020202020202020202020251
+:10FF90000202020202020202020202020202020241
+:10FFA0000202020202020202020202020202020231
+:10FFB0000202020202020202020202020202020221
+:10FFC0000202020202020202020202020202020211
+:10FFD0000202020202020202020202020202020201
+:10FFE00002020202020202020202020202010202F2
+:10FFF00002020202020202020202020202020200E3
+:02000002A0005C
+:1000000001010101010201010201010102010100DE
+:1000100002020202020202020202020202020202C0
+:1000200002020202020202020202020202020202B0
+:1000300002020202020202020202020202020202A0
+:100040000202020202020202020202020202020290
+:100050000202020202020202020202020202020280
+:100060000202020202020202020202020202020270
+:100070000202020202020202020202020202020260
+:100080000202020202020202020202020202020250
+:100090000202020202020202020202020202020240
+:1000A0000202020202020202020202020202020230
+:1000B0000202020202020202020202020202020220
+:1000C0000202020202020202020202020202020210
+:1000D0000202020202020202020202020202020200
+:1000E00002020202020202020202020202020202F0
+:1000F00002020202020202020202020202020200E2
+:1001000001010101010101010101010101010100E0
+:1001100002020202020202020202020202020202BF
+:1001200002020202020202020202020202020202AF
+:10013000020202020202020202020202020202029F
+:10014000020202020202020202020202020202028F
+:10015000020202020202020202020202020202027F
+:10016000020202020202020202020202020202026F
+:10017000020202020202020202020202020202025F
+:10018000020202020202020202020202020202024F
+:10019000020202020202020202020202020202023F
+:1001A000020202020202020202020202020202022F
+:1001B000020202020202020202020202020202021F
+:1001C000020202020202020202020202020202020F
+:1001D00002020202020202020202020202020202FF
+:1001E00002020202020202020202020202020202EF
+:1001F00002020202020202020202020202020200E1
+:1002000001010101010101000101010101010100E0
+:1002100002020202020202020202020202020202BE
+:1002200002020202020202020202020202020202AE
+:10023000020202020202020202020202020202029E
+:10024000020202020202020202020202020202028E
+:10025000020202020202020202020202020202027E
+:10026000020202020202020202020202020202026E
+:10027000020202020202020202020202020202025E
+:10028000020202020202020202020202020202024E
+:10029000020202020202020202020202020202023E
+:1002A000020202020202020202020202020202022E
+:1002B000020202020202020202020202020202021E
+:1002C000020202020202020202020202020202020E
+:1002D00002020202020202020202020202020202FE
+:1002E00002020202020202020202020202020202EE
+:1002F00002020202020202020202020202020202DE
+:1003000001010001010101000101010101010100E0
+:1003100002020202020202020202020202020202BD
+:1003200002020202020202020202020202020202AD
+:10033000020202020202020202020202020202029D
+:10034000020202020202020202020202020202028D
+:10035000020202020202020202020202020202027D
+:10036000020202020202020202020202020202026D
+:10037000020202020202020202020202020202025D
+:10038000020202020202020202020202020202024D
+:10039000020202020202020202020202020202023D
+:1003A000020202020202020202020202020202022D
+:1003B000020202020202020202020202020202021D
+:1003C000020202020202020202020202020202020D
+:1003D00002020202020202020202020202020202FD
+:1003E00002020202020202020202020202020202ED
+:1003F00002020202020202020202020202020202DD
+:1004000000010001010100000100010101000000E4
+:1004100002020202020202020202020202020202BC
+:1004200002020202020202020202020202020202AC
+:10043000020202020202020202020202020202029C
+:10044000020202020202020202020202020202028C
+:10045000020202020202020202020202020202027C
+:10046000020202020202020202020202020202026C
+:10047000020202020202020202020202020202025C
+:10048000020202020202020202020202020202024C
+:10049000020202020202020202020202020202023C
+:1004A000020202020202020202020202020202022C
+:1004B000020202020202020202020202020202021C
+:1004C000020202020202020202020202020202020C
+:1004D00002020202020202020202020202020202FC
+:1004E00002020202020202020202020202020202EC
+:1004F00002020202020202020202020202020202DC
+:1005000000010000000100000100000001000000E7
+:1005100001020202020202020202020202020202BC
+:1005200002020202020202020202020202020202AB
+:10053000020202020202020202020202020202029B
+:10054000020202020202020202010102020202028D
+:10055000020202020202020202020202020202027B
+:10056000020202020202020202020202020202026B
+:10057000020202020202020202020202020202025B
+:10058000020202020202020202020202020202024B
+:10059000020202020202020202020202020202023B
+:1005A000020202020202020202020202020202022B
+:1005B000020202020202020202020202020202021B
+:1005C000020202020202020202020202020202020B
+:1005D00002020202020202020202020202020202FB
+:1005E00002020202020202020202020202020202EB
+:1005F00002020202020202020202020202020202DB
+:1006000000000000000000000000000000000000EA
+:1006100002020202020202020202020202020202BA
+:1006200002020202020202020202020202020202AA
+:10063000020202020202020202020202020202029A
+:10064000020202020202020202020202020202028A
+:10065000020202020202020201010102020202027D
+:10066000020202020202020201010102020202026D
+:10067000020202020202020202020202020202025A
+:10068000010101010101010101010101010101015A
+:10069000020202020202020202020202020202023A
+:1006A000020202020202020202020202020202022A
+:1006B000020202020202020202020202020202021A
+:1006C000020202020202020202010202020202020B
+:1006D00002020202020202020202020202020202FA
+:1006E00002020202020202020202020202020202EA
+:1006F00002020202020202020202020202020202DA
+:1007000000000000000000010000000000000000E8
+:1007100001010101010101010101010101010101C9
+:1007200002020202020202020202020202020202A9
+:100730000202020202020202020202020202020299
+:1007400000000000000000000000000000000000A9
+:100750000101010101010101010101010101010189
+:100760000101010101010101010101010101010179
+:100770000202020202020202020202020202020259
+:100780000101010101010101010101010101010159
+:100790000101010101010101010101010101010149
+:1007A0000202020202020202020202020202020229
+:1007B0000202020202020202020202020202020219
+:1007C0000101010101010101010101010101010119
+:1007D00002020202020202020202020202020202F9
+:1007E00001010101010101010101010101010101F9
+:1007F00002020202020202020202020202020202D9
+:1008000000000100000000010000000000000000E6
+:1008100001020202020202020202020202020202B9
+:1008200001010101010101010101010101010101B8
+:100830000202020202020202020202020202020298
+:1008400000000000000000000000000000000000A8
+:100850000202020202020202020202020202020278
+:100860000202020202020202020202020202020268
+:100870000202020202020202020202020202020258
+:100880000202020202020202020202020202020248
+:100890000202020202020202020202020202020238
+:1008A0000202020202020202020202020202020228
+:1008B0000202020202020202020202020202020218
+:1008C0000202020202020202020202020202020208
+:1008D00002020202020202020202020202020202F8
+:1008E00002020202020202020202020202020202E8
+:1008F00002020202020202020202020202020202D8
+:1009000001000100000001010001000000010101DF
+:1009100001010101010101010101010101010101C7
+:1009200002020202020202020202020202020202A7
+:1009300001010101010101010101010101010101A7
+:1009400000000000000000000000000000000000A7
+:100950000000000000000000020202000000000091
+:100960000000000000000000020202000000000081
+:100970000202020202020202020202020202020257
+:100980000202020202020202020202020202020247
+:100990000000000000000000000000000000000057
+:1009A0000202020202020202020202020202020227
+:1009B0000202020202020202020202020202020217
+:1009C0000000000000000000000200000000000025
+:1009D00002020202020202020202020202020202F7
+:1009E0000000000000000000000000000000000007
+:1009F00002020202020202020202020202020202D7
+:100A000001000101010001010001010100010101DA
+:100A100001010101010101010101010101010101C6
+:100A200000000000000000000000000000000000C6
+:100A30000202020202020202020202020202020296
+:100A40000101010101010101010101010101010196
+:100A50000000000000000000000000000000000096
+:100A60000000000000000000000000000000000086
+:100A70000101010101010101010101010101010166
+:100A80000000000000000000000000000000000066
+:100A90000000000000000000000000000000000056
+:100AA0000202020202020202020202020202020226
+:100AB0000202020202020202020202020202020216
+:100AC0000000000000000000000000000000000026
+:100AD00002020202020202020202020202020202F6
+:100AE0000000000000000000000000000000000006
+:100AF00002020202020202020202020202020202D6
+:100B000001010101010101010101010101010101D5
+:100B100001010101010101010101010101010101C5
+:100B200001010101010101010101010101010101B5
+:100B300000000000000000000000000000000000B5
+:100B40000101010101010101010101010101010195
+:100B50000101010101010101010101010101010185
+:100B60000000000000000000000000000000000085
+:100B70000202020202020202020202020202020255
+:100B80000000000000000000000000000000000065
+:100B90000000000000000000000000000000000055
+:100BA0000101010101010101010101010101010135
+:100BB0000202020202020202020202020202020215
+:100BC0000000000000000000000000000000000025
+:100BD0000000000000000000000000000000000015
+:100BE0000000000000000000000000000000000005
+:100BF00002020202020202020202020202020202D5
+:100C000001010101010101010101010101010101D4
+:100C100001010101010101010101010101010101C4
+:100C200001010101010101010101010101010101B4
+:100C300001010101010101010101010101010101A4
+:100C40000101010101010101010101010101010194
+:100C50000101010101010101010101010101010184
+:100C60000101010101010101010101010101010174
+:100C70000101010101010101010101010101010164
+:100C80000000000000000000000000000000000064
+:100C90000000000000000000000000000000000054
+:100CA0000202020202020202020202020202020224
+:100CB0000202020202020202020202020202020214
+:100CC0000000000000000000000000000000000024
+:100CD0000101010101010101010101010101010104
+:100CE0000000000000000000000000000000000004
+:100CF00002020202020202020202020202020202D4
+:100D000001010101010101010101010101010101D3
+:100D100001010101010101010101010101010101C3
+:100D200001010101010101010101010101010101B3
+:100D300001010101010101010101010101010101A3
+:100D40000101010101010101010101010101010193
+:100D50000101010101010101010101010101010183
+:100D60000101010101010101010101010101010173
+:100D70000101010101010101010101010101010163
+:100D80000101010101010101010101010101010153
+:100D90000101010101010101010101010101010143
+:100DA0000101010101010101010101010101010133
+:100DB0000101010101010101010101010101010123
+:100DC0000101010101010101010101010101010113
+:100DD0000101010101010101010101010101010103
+:100DE00001010101010101010101010101010101F3
+:100DF00000000000000000000000000000000000F3
+:100E000001010101010101010101010101010101D2
+:100E100001010101010101010101010101010101C2
+:100E200001010101010101010101010101010101B2
+:100E300001010101010101010101010101010101A2
+:100E40000101010101010101010101010101010192
+:100E50000101010101010101010101010101010182
+:100E60000101010101010101010101010101010172
+:100E70000101010101010101010101010101010162
+:100E80000101010101010101010101010101010152
+:100E90000101010101010101010101010101010142
+:100EA0000101010101010101010101010101010132
+:100EB0000101010101010101010101010101010122
+:100EC0000101010101010101010101010101010112
+:100ED0000101010101010101010101010101010102
+:100EE00001010101010101010101010101010101F2
+:100EF00000000000000000000000000000000000F2
+:100F000001010101010101010101010101010101D1
+:100F100001010101010101010101010101010101C1
+:100F200001010101010101010101010101010101B1
+:100F300001010101010101010101010101010101A1
+:100F40000101010101010101010101010101010191
+:100F50000101010101010101010101010101010181
+:100F60000101010101010101010101010101010171
+:100F70000101010101010101010101010101010161
+:100F80000101010101010101010101010101010151
+:100F90000101010101010101010101010101010141
+:100FA0000101010101010101010101010101010131
+:100FB0000101010101010101010101010101010121
+:100FC0000202020202020202020202020202020201
+:100FD00002020202020202020202020202020202F1
+:100FE00002020202020202020202020202020202E1
+:100FF00000000000000000000000000000000000F1
+:1010000001010101010101010101010101010101D0
+:1010100001010101010101010101010101010101C0
+:1010200001010101010101010101010101010101B0
+:1010300001010101010101010101010101010101A0
+:101040000202020202020202020202020202020280
+:101050000202020202020202020202020202020270
+:101060000202020202020202020202020202020260
+:101070000202020202020202020202020202020250
+:101080000202020202020202020202020202020240
+:101090000202020202020202020202020202020230
+:1010A0000202020202020202020202020202020220
+:1010B0000202020202020202020202020202020210
+:1010C0000000000000000000000000000000000020
+:1010D00002020202020202020202020202020202F0
+:1010E00002020202020202020202020202020202E0
+:1010F00000000000000000000000000000000000F0
+:1011000000000000000000000000000000000000DF
+:1011100000000000000000000000000000000000CF
+:1011200000000000000000000000000000000000BF
+:1011300000000000000000000000000000000000AF
+:10114000000000000000000000000000000000009F
+:10115000000000000000000000000000000000008F
+:10116000000000000000000000000000000000007F
+:10117000000000000000000000000000000000006F
+:10118000000000000000000000000000000000005F
+:10119000000000000000000000000000000000004F
+:1011A000000000000000000000000000000000003F
+:1011B000000000000000000000000000000000002F
+:1011C000000000000000000000000000000000001F
+:1011D000000000000000000000000000000000000F
+:1011E00000000000000000000000000000000000FF
+:1011F00000000000000000000000000000000000EF
+:1012000032000000000000000000000000000000AC
+:1012100000000000000000000000000000000000CE
+:1012200000000000000000000000000000000000BE
+:1012300000000000000000000000000000000000AE
+:10124000000000000000000000000000000000009E
+:10125000000000000000000000000000000000008E
+:10126000000000000000000000000000000000007E
+:10127000000000000000000000000000000000006E
+:10128000000000000000000000000000000000005E
+:10129000000000000000000000000000000000004E
+:1012A000000000000000000000000000000000003E
+:1012B000000000000000000000000000010000002D
+:1012C000000000000000000000000000000000001E
+:1012D000000000000000000000000000000000000E
+:1012E00000000000000000000000000000000000FE
+:1012F00000000000000000000000000000000000EE
+:1013000000000000000000000000000000000000DD
+:1013100000000000000000000000000000000000CD
+:1013200000000000000000000000000000000000BD
+:1013300000000000000000000000000000000000AD
+:10134000000000000000000000000000000000009D
+:10135000000000000000000000000000000000008D
+:10136000000000000000000000000000000000007D
+:10137000000000000000000000000000000000006D
+:10138000000000000000000000000000000000005D
+:10139000000000000000000000000000000000004D
+:1013A000000000000000000000000000000000003D
+:1013B000000000000000000000000001010000002B
+:1013C000000000000000000000000000000000001D
+:1013D000000000000000000000000000000000000D
+:1013E00000000000000000000000000000000000FD
+:1013F00000000000000000000000000000000000ED
+:1014000000000000000000000000000000000000DC
+:1014100000000000000000000000000000000000CC
+:1014200000000000000000000000000000000000BC
+:1014300000000000000000000000000000000000AC
+:10144000000000000000000000000000000000009C
+:10145000000000000000000000000000000000008C
+:10146000000000000000000000000000000000007C
+:10147000000000000000000000000000000000006C
+:10148000000000000000000000000000000000005C
+:10149000000000000000000000000000000000004C
+:1014A000000000000000000000000000000000003C
+:1014B000000000000000000000000001010000002A
+:1014C000000000000000000000000000000000001C
+:1014D000000000000000000000000000000000000C
+:1014E00000000000000000000000000000000000FC
+:1014F00000000000000000000000000000010000EB
+:1015000000000000000000000000000000000000DB
+:1015100000000000000000000000000000000000CB
+:1015200000000000000000000000000000000000BB
+:1015300000000000000000000000000000000000AB
+:101540000000000001010100000000000000000098
+:10155000000000000000000000000000000000008B
+:10156000000000000000000000000000000000007B
+:10157000000000000000000000000000000000006B
+:10158000000000000000000000000000000000005B
+:10159000000000000000000000000000000000004B
+:1015A000000000000000000000000000000000003B
+:1015B0000000000000000000000000010100000029
+:1015C000000000000000000000000000000000001B
+:1015D000000000000000000000000000000000000B
+:1015E00000000000000000000000000000000000FB
+:1015F00000000000000000000000000000010000EA
+:1016000000000000000000000000000000000000DA
+:1016100000000000000000000000000000000000CA
+:1016200000000000000000000000000000000000BA
+:1016300000000000000000000000000000000000AA
+:101640000000000101010100000000000000000096
+:10165000000000000000000000000000000000008A
+:101660000000000100000000000000000000000079
+:10167000000000000000000000000000000000006A
+:101680000000000100000000000000000000000059
+:10169000000000000000000000000000000000004A
+:1016A000000000000000000000000000000000003A
+:1016B0000000000000000000000000010100000028
+:1016C000000000000000000000000000000000001A
+:1016D000000000000000000000000000000000000A
+:1016E00000000000000000000000000000000000FA
+:1016F00000000000000000000000000101010000E7
+:1017000000000000000000000000010000000000D8
+:1017100000000000000000000000000000000000C9
+:1017200000000000000000000000000000000000B9
+:1017300000000000000000000000000000000000A9
+:101740000000000101010101000000000000000094
+:101750000000000000000000000000000000000089
+:101760000000000101010101000000000000000074
+:101770000000000000000000000000000000000069
+:101780000000000101010101000000000000000054
+:101790000000000001010100000000000000000046
+:1017A0000000000000000000000000000000000039
+:1017B0000000000000000000000000010100000027
+:1017C0000000000000000000000000000000000019
+:1017D0000000000000000000000000000001000008
+:1017E00000000100010101000000000000000000F5
+:1017F00000000000000000000000010101010000E5
+:1018000000000000000101000200010100000000D2
+:1018100000000000000100000000000000000000C7
+:1018200000000000000000000000000000000000B8
+:1018300000000000000000000000000000000000A8
+:101840000000000101010101000000000000000093
+:101850000000000000000000000000000000000088
+:101860000000000101010101000000000000000073
+:101870000000000000000000000000000000010067
+:101880000000000101010101000000000000000053
+:101890000000000001010100000000000000000045
+:1018A0000000000000000000000000000000000038
+:1018B0000000000000000000000000010100000026
+:1018C0000000000000000000000000000000000018
+:1018D0000000000000000000000000000001010006
+:1018E00001000101010101000000000000000000F2
+:1018F00000000000000000000000010101010000E4
+:1019000000000000000101000200010100000100D0
+:1019100000000000000100000000000000000000C6
+:1019200000000000000000000000000000000000B7
+:1019300000000000000000000100000000000000A6
+:101940000000010101010101000000000000000091
+:101950000000000000000000000000000000000087
+:101960000000010101010101000000000000000071
+:101970000000000000000000000000000000010066
+:101980000000010101010101000000000000000051
+:101990000000000001010100000000000000000044
+:1019A0000000000000000000000000000000000037
+:1019B0000000000000000000000000010100000025
+:1019C0000000000000000000000000000000000017
+:1019D0000000000000000000000000010001010004
+:1019E00001000101010101000000000100010000EF
+:1019F00000000000010000000000010101010000E2
+:101A000000000000000101000200020100000100CE
+:101A100000000000000100000000000000000000C5
+:101A200000000000000000000000000000000000B6
+:101A300000000000000000000100000000000100A4
+:101A40000000010101010101000000000000000090
+:101A50000000000001010000000000000000010083
+:101A60000000010101010101000000000000000070
+:101A70000000000000000000000000000000010065
+:101A8000010001010101010100000000000000004F
+:101A90000000000101010100000000000000000042
+:101AA0000000000001010100000000000000000033
+:101AB0000000000000000000000000010100000024
+:101AC0000000000001010100000000000000000013
+:101AD0000000000000000000000000010001010003
+:101AE00001010101010101000000010100010000EC
+:101AF00000000001010000000000010101010101DE
+:101B000000010000000101000200020100000100CC
+:101B100000000000000100000000000000000000C4
+:101B200000000000010101000000000000000000B2
+:101B300000000000000000000100000000000100A3
+:101B4000000001010101010100000000000000008F
+:101B50000000000001010000000000000000010082
+:101B6000000001010101010100000000000000006F
+:101B70000000000001010100000000000001010060
+:101B8000010001010101010100000000000000004E
+:101B90000000000101010101000000000000000040
+:101BA0000000000001010100000000000000000032
+:101BB0000000000000000000000000010100000023
+:101BC0000000000001010100000000000000000012
+:101BD0000000000000000000000000010101010001
+:101BE00001010101010101010000010100010000EA
+:101BF00000000001010000000000010101010101DD
+:101C000000010000000101000200020200000100CA
+:101C100000000000000100000000000000000000C3
+:101C200000000000010101000000000000000000B1
+:101C3000000000000101010001000000000001019E
+:101C4000010101010101010100000000000000008C
+:101C5000000000000101010000000000000001017F
+:101C6000010101010101010100000000000000006C
+:101C7000000000000101010000000000000101015E
+:101C8000010101010101010100000000000000004C
+:101C9000000000010101010100000000000000003F
+:101CA0000000000001010100000000000000000031
+:101CB0000000000000000000000000010100000022
+:101CC0000000000001010100000000000000000011
+:101CD00000000000010101000000010101010100FC
+:101CE00001010101010101010001010100010000E8
+:101CF00000000001010000000000010101010101DC
+:101D000000010000000101000201020200000101C7
+:101D100000000000000100000100000000000000C1
+:101D200000000000010101000000000000000000B0
+:101D3000000000000101010001000000000101019C
+:101D4000010101010101010100000000000000008B
+:101D5000000000010101010000000000000101017C
+:101D6000010101010101010100000000000000006B
+:101D7000000000000101010000000000000101015D
+:101D8000010101010101010100000000000000004B
+:101D9000000000010101010100000000000000003E
+:101DA000000000010101010000000000000000002F
+:101DB0000000000000000000000000010100000021
+:101DC000000000010101010000000000000000000F
+:101DD00000000000010101000000010101010100FB
+:101DE00001010101010101010001010100010000E7
+:101DF00000000001010000000001010101010101DA
+:101E000000010000000101000201020200010101C5
+:101E100000000000000100000100000000000000C0
+:101E200000000001010101000000000000000000AE
+:101E3000000000000101010101000000000101019A
+:101E4000010101010101010100000000000000008A
+:101E5000000000010101010100000000000101017A
+:101E6000010101010101010100000000000000006A
+:101E7000000000000101010000000000000101015C
+:101E80000101010101010101000000000000010049
+:101E9000000000010101010100000000000000003D
+:101EA000000000010101010100000000000000002D
+:101EB0000000000000000000000000010100000020
+:101EC000000000010101010000000000000000000E
+:101ED00000000000010101000001010101010100F9
+:101EE00001010101010101010001010100010000E6
+:101EF00000000001010000000001010101010101D9
+:101F000000010000000101000202020200010201C2
+:101F100000000000000200000100000000000000BE
+:101F200000000001010101010000000000000000AC
+:101F30000000000101010101010000000001010198
+:101F40000101010101010101000000000000000089
+:101F50000000000101010101000000000001010179
+:101F60000101010101010101000000000000000069
+:101F70000000000001010101000000010101010158
+:101F80000101010101010101000000000000010048
+:101F9000000001010101010100000000000000003B
+:101FA000000000010101010100000000000000002C
+:101FB000000000000000000000000001010001001E
+:101FC000000000010101010000000000000000000D
+:101FD00000000000010101000001010101010100F8
+:101FE00001010101010101010101010100010000E4
+:101FF00000000001010000000001010101010101D8
+:1020000000010000000101000202020201010202BF
+:1020100000000000010200000200000000000000BB
+:1020200000000001010101010000000000000000AB
+:102030000000000101010101010000000001010197
+:102040000101010101010101000000000000000088
+:102050000000000101010101000101000001010176
+:102060000101010101010101000000000000000068
+:102070000000000101010101000001010101010155
+:102080000101010101010101000000000000010146
+:10209000000001010101010100000000000000003A
+:1020A000000000010101010100000000000000002B
+:1020B000000000000000000000000001010001001D
+:1020C000000000010101010100000000000000000B
+:1020D00000000000010101000001010101010100F7
+:1020E00001010101010101010101010100010000E3
+:1020F00000000001010000000001010101010101D7
+:1021000000010000000101000202020201010202BE
+:1021100000000000010200000200000000000000BA
+:1021200000000001010101010000000000000100A9
+:102130000000000101010101010000010101010194
+:102140000101010101010101000000000000000087
+:102150000000000101010101000101000001010175
+:102160000101010101010101000000000000000067
+:102170000000000101010101000001010101010154
+:102180000101010101010101000000000001010144
+:102190000000010101010101000000000000010137
+:1021A0000000000101010101000000000100000029
+:1021B000000000000000000000000001010001011B
+:1021C000000000010101010100000000000000000A
+:1021D00000000001010101000101010101010100F4
+:1021E00001010101010101010101010100010000E2
+:1021F00000000001010100010001010101010101D4
+:1022000000010000000101000202020201010202BD
+:1022100000000000010200000201000000000000B8
+:1022200000000001010101010000000000000100A8
+:10223000000001010101010102010101010101018F
+:102240000101010101010101000000000000000086
+:102250000000010101010101000101000001010173
+:102260000101010101010101000000000000000066
+:102270000000000101010101000101010101010152
+:102280000101010101010101000000000001010143
+:102290000100010101010101000000000001010134
+:1022A0000000010101010101000000000100000027
+:1022B0000000000001010100000000020201010114
+:1022C0000000000101010101000000000000000009
+:1022D00000000001010101000101010101010101F2
+:1022E00001010101010101010101010100010000E1
+:1022F00000000001010100010001010101010101D3
+:1023000000010000000101000202020201010202BC
+:1023100000000001010200000201000000000000B6
+:1023200000000001010101010000000000000100A7
+:10233000000001010101010102010101010101018E
+:102340000101010101010101000000000000010084
+:102350000000010101010101000101010001010171
+:102360000101010101010101000000000000000065
+:102370000000000101010101000101010101010151
+:102380000101010101010101000000000001010142
+:102390000100010101010101000000000001010133
+:1023A0000100010101010101000000000100000025
+:1023B0000000000001010100000001020201010112
+:1023C0000000000101010101000000000000000008
+:1023D00000000001010101000101010101010101F1
+:1023E00001010101010101010101010100010000E0
+:1023F00000000001010100010001010101010101D2
+:1024000000010000010101000202020202020202B8
+:1024100000000001010200000201000000000100B4
+:1024200000000001010101010000000000000100A6
+:10243000000001010101010102010101010101018D
+:102440000101010101010101000000000000010083
+:102450000000010101010101000101010001010170
+:102460000101010101010101000000000000010063
+:102470000000000101010101000101010101010150
+:10248000010101010101010100010100000101013F
+:102490000101010101010101000000000001010131
+:1024A0000100010101010101000000000100000024
+:1024B0000000000001010100000001020201010111
+:1024C0000000010101010101000000000001000005
+:1024D00000000001010101010101010101010101EF
+:1024E00001010101010101010101010100010000DF
+:1024F00000000001010100010001000000000101D5
+:1025000000010001010101000202020202020202B6
+:1025100000000001010200000201000000010100B2
+:1025200000000001010101010001010000000101A2
+:10253000010001010101010102010101010101018B
+:102540000101010101010101000000000000010181
+:10255000000001010101010101010101010101016D
+:102560000101010101010101000000000000010062
+:10257000000001010101010100010101010101014E
+:10258000010101010101010100010101000101013D
+:102590000101010101010101000000000001010130
+:1025A0000101010101010101000000000100000022
+:1025B000000000010101010000010102020101010E
+:1025C0000000010101010101000000000001010003
+:1025D00000000001010101010101010101010101EE
+:1025E00001010101010101010101010100010000DE
+:1025F00000000001010100010001000000000101D4
+:1026000000010101010101000202020202020202B4
+:1026100000000002010200010201010000010100AE
+:1026200000000001010101010001010000010101A0
+:10263000010001010101010102010101010101018A
+:10264000010101010101010100000000000101017F
+:10265000000001010101010101010101010101016C
+:102660000101010101010101000100000000010060
+:10267000000001010101010100010101010101014D
+:10268000010101010101010100010101000101013C
+:10269000010101010101010100000000000101012F
+:1026A0000101010101010101000000000100000021
+:1026B000000000010101010101010102020101010B
+:1026C0000000010101010101000100000001010001
+:1026D00000000001010101010101010101010101ED
+:1026E00001010101010101010201010100010000DC
+:1026F00000000001010100010000000000000101D4
+:1027000000010101010101000202020202020202B3
+:1027100000000002010200010201010000010100AD
+:10272000000000010101010100010100000101019F
+:102730000101010101010101020101010101010188
+:10274000010101010101010100010100000101017C
+:10275000010001010101010101010101010101016A
+:10276000010101020101010100010000000101005D
+:10277000000001010101010101010101010101014B
+:102780000101010101010101010101010101010139
+:10279000010101010101010100010100000101012C
+:1027A000010101010101010100000000010001001F
+:1027B000000000010101010101010102020101010A
+:1027C00000000101010101010101010000010100FE
+:1027D00000000001010101010201010201020101E9
+:1027E00001010101010101010202020200010000D8
+:1027F00000000001010100010000000000000101D3
+:1028000000010101010101000202020202020202B2
+:1028100000000102010200010202010000010100AA
+:10282000020000010101010100010100000101019C
+:102830000101010101010101020101010101010187
+:102840000101010202020201000101000001010177
+:102850000100010101010101020201010101020166
+:102860000101020202020202000101000001010155
+:102870000000010101010101010101010101020149
+:102880000101010201010101010101010101010137
+:102890000101010102020201000101010101010126
+:1028A000010101010101010100000000010001001E
+:1028B0000000000101010101020101020201010108
+:1028C00000000101010101010101010000010100FD
+:1028D00000000101010101010202020202020201E3
+:1028E00002010201010101010202020200020000D4
+:1028F00000010001010100010000000000000101D1
+:1029000000010101010101010202020202020202B0
+:1029100000000102010200010202010000010100A9
+:102920000100010102020201000101000001010198
+:102930000101010101010101020101010101020185
+:102940000101020202020202000101000001010174
+:102950000100010101010101020202010102020262
+:102960000202020202020202010101000001010151
+:102970000000010101010101010101010102020147
+:10298000020102020202020202010101010101012F
+:102990000101010202020201000101010101010124
+:1029A000010101010101010100000000010001001D
+:1029B0000000000101010101020101020201010107
+:1029C00002020101020202010201010101010100F2
+:1029D00000000101010101010202020202020201E2
+:1029E00002020202020202010202020200020000CE
+:1029F00000010001010101010000000000000101CF
+:102A000000010101010101010202010202020202B0
+:102A100000000102020200010202010000010101A6
+:102A20000102010202020201010101000001010193
+:102A30000101010101010101020201010102020281
+:102A4000020202020202020201010101000101016F
+:102A50000100010101010101020202010102020261
+:102A6000020202020202020202010100010101014E
+:102A7000010001010202020102020202020202023C
+:102A8000020202020202020202020101010102012B
+:102A90000101010202020202010101010101010121
+:102AA000010101010101010100000000010101001B
+:102AB0000000010101010101020202020201020102
+:102AC00001020102020202010201010101010100F1
+:102AD00000000101010101010202020202020201E1
+:102AE00002020202020202010202020200020000CD
+:102AF00001010002020101010000000000000101CB
+:102B000000010101010101010102010102020201B2
+:102B100000000102020100010202020100010101A4
+:102B20000101010202020202020201000001010190
+:102B3000010101010202020102020202020202027A
+:102B4000020202020202020201010101000101016E
+:102B5000010101010202010102020202010202025C
+:102B6000020202020202020202020101010101014B
+:102B7000010001010202020102020202020202023B
+:102B80000202020202020202020202010102020227
+:102B9000010102020202020201010101010101011F
+:102BA0000101010102020201000000000101010116
+:102BB00000000101010101010202020202020202FF
+:102BC00001010102020202010202010101010101EF
+:102BD00000000101020202010202020202020201DD
+:102BE00002020202020202020202020200020000CB
+:102BF00001010002020101010000020202020202C0
+:102C000000020101010202010102010102020101AF
+:102C100000000102020101010202020100020201A0
+:102C2000010101020202020202020201000102018C
+:102C30000101010202020202020202020202020277
+:102C4000020202020202020202010101010101016B
+:102C50000101010202020201020202020202020258
+:102C6000020202020202020202020101010101014A
+:102C70000102010202020202020202020202020236
+:102C80000202020202020202020202020102020225
+:102C9000020102020202020202010101010101011C
+:102CA0000101010202020201000000000201010113
+:102CB00000000101010101010202020202020202FE
+:102CC00001010102020202020202010101010101ED
+:102CD00000000101020202010202020202020201DC
+:102CE00002020202020202020202020200020001C9
+:102CF00001010002020101010000020202020202BF
+:102D000000020101010202010101010102020101AF
+:102D100000000101020101000202020101020201A0
+:102D2000010101020202020202020201000102018B
+:102D30000101020202020202020202020202020275
+:102D40000202020202020202020201010101010169
+:102D50000101010202020202020202020202020256
+:102D60000202020202020202020202010101020147
+:102D70000101010202020202020202020202020236
+:102D80000202020202020202020202020202020223
+:102D90000202020202020202020201010102020216
+:102DA000010101020202020200010100020101010F
+:102DB00001000101010101010202020202020202FC
+:102DC00001010202020202020202020101020101E9
+:102DD00000000102020202010202020202020202D9
+:102DE00002020202020202020202020200020001C8
+:102DF00001010002020101010102020202020202BB
+:102E000000020101010202010101010102020101AE
+:102E1000000001010201010002020202010202019E
+:102E20000101010202020202020202010102020287
+:102E30000201020202020202020202020202020273
+:102E40000202020202020202020202010101020166
+:102E50000101020202020202020202020202020254
+:102E60000202020202020202020202010202020144
+:102E70000101020202020202020202020202020234
+:102E80000202020202020202020202020202020222
+:102E90000202020202020202020202010102020214
+:102EA000020102020202020201010100020101010B
+:102EB00001000101010101010202020202020202FB
+:102EC00001010202020202020202020202020201E5
+:102ED00000000102020202010202020202020202D8
+:102EE00002020202020202020202020200020001C7
+:102EF00001010002020201020102020202020202B8
+:102F000001020101010202010101010101010101AE
+:102F10000100020102010200020202020202020298
+:102F20000201020202020202020202010102020284
+:102F30000202020202020202020202020202020271
+:102F40000202020202020202020202010102020263
+:102F50000101020202020202020202020202020253
+:102F60000202020202020202020202020202020241
+:102F70000101020202020202020202020202020233
+:102F80000202020202020202020202020202020221
+:102F90000202020202020202020202020202020211
+:102FA0000202020202020202020101000201010108
+:102FB00001000101010101010202020202020202FA
+:102FC00001010202020202020202020202020201E4
+:102FD00002000102020202020202020202020202D4
+:102FE00002020202020202020202020201020001C5
+:102FF00001010002020201020202020202020202B6
+:1030000001020101010202010101010101010101AD
+:103010000200020102010200020202020202020296
+:103020000202020202020202020202020102020281
+:103030000202020202020202020202020202020270
+:103040000202020202020202020202020102020261
+:103050000201020202020202020202020202020251
+:103060000202020202020202020202020202020240
+:103070000201020202020202020202020202020231
+:103080000202020202020202020202020202020220
+:103090000202020202020202020202020202020210
+:1030A0000202020202020202020101010201010106
+:1030B00001000101020202010202020202020202F6
+:1030C00002010202020202020202020202020201E2
+:1030D00001000202020202020202020202020202D3
+:1030E00002020202020202020202020201020101C3
+:1030F00001020002020201020202020202020202B4
+:1031000001020101010202010101010101010101AC
+:103110000201020102010100020202020202020295
+:10312000020202020202020202020202020202027F
+:10313000020202020202020202020202020202026F
+:10314000020202020202020202020202020202025F
+:103150000201020202020202020202020202020250
+:10316000020202020202020202020202020202023F
+:103170000201020202020202020202020202020230
+:10318000020202020202020202020202020202021F
+:10319000020202020202020202020202020202020F
+:1031A0000202020202020202020201010201020103
+:1031B00001010102020202010202020202020202F3
+:1031C00002020202020202020202020202020202DF
+:1031D00001020202020202020202020202020202D0
+:1031E00002020202020202020202020201020101C2
+:1031F00002020002020201020202020202020202B2
+:1032000001020202020202010101010101010101A8
+:103210000102020101010100020202020202020295
+:10322000020202020202020202020202020202027E
+:10323000020202020202020202020202020202026E
+:10324000020202020202020202020202020202025E
+:10325000020202020202020202020202020202024E
+:10326000020202020202020202020202020202023E
+:10327000020202020202020202020202020202022E
+:10328000020202020202020202020202020202021E
+:10329000020202020202020202020202020202020E
+:1032A0000202020202020202020202010202020100
+:1032B00001010102020202020202020202020202F1
+:1032C00002020202020202020202020202020202DE
+:1032D00001010202020202020202020202020202D0
+:1032E00002020202020202020202020202020102BF
+:1032F00002020002020202020202020202020202B0
+:1033000001020202020202000101010101010101A8
+:103310000101020101010100020202020202020295
+:10332000020202020202020202020202020202027D
+:10333000020202020202020202020202020202026D
+:10334000020202020202020202020202020202025D
+:10335000020202020202020202020202020202024D
+:10336000020202020202020202020202020202023D
+:10337000020202020202020202020202020202022D
+:10338000020202020202020202020202020202021D
+:10339000020202020202020202020202020202020D
+:1033A00002020202020202020202020102020202FE
+:1033B00001010202020202020202020202020202EF
+:1033C00002020202020202020202020202020202DD
+:1033D00001010202020202020202020202020202CF
+:1033E00002020202020202020202020202020102BE
+:1033F00002020002020202020202020202020202AF
+:1034000001020202020202000001000001010100AB
+:103410000101010101000100000202020202020298
+:10342000020202020202020202020202020202027C
+:10343000020202020202020202020202020202026C
+:10344000020202020202020202020202020202025C
+:10345000020202020202020202020202020202024C
+:10346000020202020202020202020202020202023C
+:10347000020202020202020202020202020202022C
+:10348000020202020202020202020202020202021C
+:10349000020202020202020202020202020202020C
+:1034A00002020202020202020202020202020202FC
+:1034B00002010202020202020202020202020202ED
+:1034C00002020202020202020202020202020202DC
+:1034D00002010202020202020202020202020202CD
+:1034E00002020202020202020202020202020202BC
+:1034F00002020002020202020202020202020202AE
+:1035000001020202020202000000000001010000AC
+:103510000101010001000100010202020202020297
+:10352000020202020202020202020202020202027B
+:10353000020202020202020202020202020202026B
+:10354000020202020202020202020202020202025B
+:10355000020202020202020202020202020202024B
+:10356000020202020202020202020202020202023B
+:10357000020202020202020202020202020202022B
+:10358000020202020202020202020202020202021B
+:10359000020202020202020202020202020202020B
+:1035A00002020202020202020202020202020202FB
+:1035B00002010202020202020202020202020202EC
+:1035C00002020202020202020202020202020202DB
+:1035D00002020202020202020202020202020202CB
+:1035E00002020202020202020202020202020202BB
+:1035F00002020002020202020202020202020202AD
+:1036000002020202020202020000000000000000AA
+:103610000101010001000100010202020202020296
+:10362000020202020202020202020202020202027A
+:10363000020202020202020202020202020202026A
+:10364000020202020202020202020202020202025A
+:10365000020202020202020202020202020202024A
+:10366000020202020202020202020202020202023A
+:10367000020202020202020202020202020202022A
+:10368000020202020202020202020202020202021A
+:10369000020202020202020202020202020202020A
+:1036A00002020202020202020202020202020202FA
+:1036B00002020202020202020202020202020202EA
+:1036C00002020202020202020202020202020202DA
+:1036D00002020202020202020202020202020202CA
+:1036E00002020202020202020202020202020202BA
+:1036F00002020002020202020202020202020202AC
+:1037000002020202020202020000000000000000A9
+:1037100001010100010000000100000000000000A4
+:103720000000000000000000020202020202020289
+:103730000202020202020202020202020202020269
+:103740000202020202020202020202020202020259
+:103750000202020202020202020202020202020249
+:103760000202020202020202020202020202020239
+:103770000202020202020202020202020202020229
+:103780000202020202020202020202020202020219
+:103790000202020202020202020202020202020209
+:1037A00002020202020202020202020202020202F9
+:1037B00002020202020202020202020102020202EA
+:1037C00002020202020202020202020202020202D9
+:1037D00002020202020202020202020202020202C9
+:1037E00002020202020202020202020202020202B9
+:1037F00002020102020202020202020202020202AA
+:1038000002020202020202020000000000000000A8
+:10381000000001000000000001010101010101019F
+:103820000101010101010101020202020202020280
+:103830000202020202020202020202020202020268
+:103840000202020202020202020202020202020258
+:103850000202020202020202020202020202020248
+:103860000202020202020202020202020102020239
+:103870000202020202020202020202020202020228
+:103880000202020202020202010101010101010120
+:103890000101010101010101020202020202020210
+:1038A00002020202020202020202020202020202F8
+:1038B00002020202020202020101010101010101F0
+:1038C00001010101010101010202020202020202E0
+:1038D00002020202020202020202020202020202C8
+:1038E00002020202020202020202020202020202B8
+:1038F00002020202020202020202020202020202A8
+:1039000002020202020202020100010100000001A3
+:10391000000000000001000001010101010101019E
+:103920000101010101010101010101010101010187
+:103930000101010101010101010202020202020270
+:103940000202020202020202020202020202020257
+:10395000020202020202020201010101010101014F
+:103960000101010101010101010101010201010146
+:10397000010101010101010102020202020202022F
+:103980000202020202020202020202020202020217
+:103990000202020202020202020202020202020207
+:1039A00002020202020202020202020202020202F7
+:1039B00002020202020202020202020201020202E8
+:1039C00002020202020202020202020202020202D7
+:1039D00002020202020202020202020202020202C7
+:1039E00002020202020202020202020202020202B7
+:1039F00002020202020202020202020202020202A7
+:103A000002020202020202020101010100000101A0
+:103A1000000000010001000001010101010101019C
+:103A2000010101010101010102020202020202027E
+:103A3000020202020202020202010101010101016D
+:103A4000010101010101010102020202020202025E
+:103A50000202020202020202020202020202020246
+:103A60000202020202020202020202020002020238
+:103A70000202020202020202020202020202020226
+:103A80000202020202020202000000000000000026
+:103A90000000000000000000020202020202020216
+:103AA00002020202020202020202020202020202F6
+:103AB00002020202020202020000000202000000F2
+:103AC00000000000000000000000020000020202EE
+:103AD00002020202020202020202020202020202C6
+:103AE00002020202020202020202020202020202B6
+:103AF00002020202020202020202020202020202A6
+:103B0000020202020202020201010101010101019D
+:103B1000000000010001000001010101010101019B
+:103B20000101010101010101010101010101010185
+:103B3000010101010101010101020202020202026E
+:103B4000020202020202020201010101010101015D
+:103B5000010101010101010100000000000000005D
+:103B60000000000000000000000000000000000055
+:103B70000000000000000000000000000000000045
+:103B80000000000000000000000000000000000035
+:103B90000000000000000000000000000000000025
+:103BA0000000000000000000020202020202020205
+:103BB00002020202020202020000000002000000F3
+:103BC00000000000000000000000000000000000F5
+:103BD00000000000000000000202020202020202D5
+:103BE00002020202020202020101010101010101BD
+:103BF00001010101010101010202020202020202AD
+:103C0000020202020202020201010101010101019C
+:103C10000000000100010101010101010101010198
+:103C20000101010101010101010101010101010184
+:103C30000101010101010101010101010101010174
+:103C40000101010101010101010101010101010164
+:103C50000101010101010101010101010101010154
+:103C6000010101010101010100000000000000004C
+:103C70000000000000000000000000000000000044
+:103C80000000000000000000000000000000000034
+:103C90000000000000000000000000000000000024
+:103CA0000000000000000000020202020202020204
+:103CB00002020202020202020000000000000000F4
+:103CC00000000000000000000000000000000000F4
+:103CD00000000000000000000000000000000000E4
+:103CE00000000000000000000202020202020202C4
+:103CF00002020202020202020202020202020202A4
+:103D0000020202020202020201010101010101019B
+:103D10000101000101010101010101010101010194
+:103D20000101010101010101010101010101010183
+:103D30000101010101010101010101010101010173
+:103D40000101010101010101010101010101010163
+:103D50000101010101010101010101010101010153
+:103D60000101010101010101010101010101010143
+:103D70000101010101010101010101010101010133
+:103D8000010101010101010100000000000000002B
+:103D90000000000000000000000000000000000023
+:103DA0000000000000000000020202020002020205
+:103DB00002020202020202020000000000000000F3
+:103DC00000000000000000000000000000000000F3
+:103DD00000000000000000000000000000000000E3
+:103DE00000000000000000000000000000000000D3
+:103DF00000000000000000000202020202020202B3
+:103E0000020202020202020201010101010101019A
+:103E10000101010101010101010101010101010192
+:103E20000101010101010101010101010101010182
+:103E30000101010101010101010101010101010172
+:103E40000101010101010101010101010101010162
+:103E50000101010101010101010101010101010152
+:103E60000101010101010101010101010101010142
+:103E70000101010101010101010101010101010132
+:103E80000101010101010101010101010101010122
+:103E90000101010101010101010101010101010112
+:103EA0000101010101010101010101010101010102
+:103EB00001010101010101010000000000000000FA
+:103EC00000000000000000000000000000000000F2
+:103ED00000000000000000000101010101010101DA
+:103EE00001010101010101010000000000000000CA
+:103EF00000000000000000000202020202020202B2
+:103F00000202020202020202010101010101010199
+:103F10000101010101010101010101010101010191
+:103F20000101010101010101010101010101010181
+:103F30000101010101010101010101010101010171
+:103F40000101010101010101010101010101010161
+:103F50000101010101010101010101010101010151
+:103F60000101010101010101010101010101010141
+:103F70000101010101010101010101010101010131
+:103F80000101010101010101010101010101010121
+:103F90000101010101010101010101010101010111
+:103FA0000101010101010101010101010101010101
+:103FB00001010101010101010101010101010101F1
+:103FC00001010101010101010101010101010101E1
+:103FD00001010101010101010101010101010101D1
+:103FE00001010101010101010101010101010101C1
+:103FF00001010101010101010000000000000000B9
+:1040000000000000000000000101010101010101A8
+:104010000101010101010101010101010101010190
+:104020000101010101010101010101010101010180
+:104030000101010101010101010101010101010170
+:104040000101010101010101010101010101010160
+:104050000101010101010101010101010101010150
+:104060000101010101010101010101010101010140
+:104070000101010101010101010101010101010130
+:104080000101010101010101010101010101010120
+:104090000101010101010101010101010101010110
+:1040A0000101010101010101010101010101010100
+:1040B00001010101010101010101010101010101F0
+:1040C00001010101010101010101010101010101E0
+:1040D00001010101010101010101010101010101D0
+:1040E00001010101010101010101010101010101C0
+:1040F00001010101010101010000000000000000B8
+:1041000000000000000000000101010101010101A7
+:104110000101010101010101000000000000000097
+:10412000000000000000000000000000000000008F
+:10413000000000000000000000000000000000007F
+:10414000000000000000000002020202020202025F
+:10415000020202020202020202020202020202023F
+:10416000020202020202020202020202020202022F
+:10417000020202020202020202020202020202021F
+:10418000020202020202020202020202020202020F
+:1041900002020202020202020202020202020202FF
+:1041A00002020202020202020202020202020202EF
+:1041B00002020202020202020202020202020202DF
+:1041C00002020202020202020202020202020202CF
+:1041D00002020202020202020202020202020202BF
+:1041E00002020202020202020202020202020202AF
+:1041F00002020202020202020000000000000000AF
+:1042000000000000000000000101010101010101A6
+:104210000101010101010101000000000000000096
+:10422000000000000000000000000000000000008E
+:10423000000000000000000000000000000000007E
+:10424000000000000000000000000000000000006E
+:10425000000000000000000000000000000000005E
+:10426000000000000000000000000000000000004E
+:10427000000000000000000000000000000000003E
+:10428000000000000000000000000000000000002E
+:10429000000000000000000000000000000000001E
+:1042A000000000000000000000000000000000000E
+:1042B00000000000000000000000000000000000FE
+:1042C00000000000000000000000000000000000EE
+:1042D00000000000000000000202020202020202CE
+:1042E00002020202020202020202020202020202AE
+:1042F00002020202020202020000000000000000AE
+:1043000000000000000000000000000000000000AD
+:10431000000000000000000000000000000000009D
+:10432000000000000000000000000000000000008D
+:10433000000000000000000000000000000000007D
+:10434000000000000000000000000000000000006D
+:10435000000000000000000000000000000000005D
+:10436000000000000000000000000000000000004D
+:10437000000000000000000000000000000000003D
+:10438000000000000000000000000000000000002D
+:10439000000000000000000000000000000000001D
+:1043A000000000000000000000000000000000000D
+:1043B00000000000000000000000000000000000FD
+:1043C00000000000000000000000000000000000ED
+:1043D00000000000000000000000000000000000DD
+:1043E00000000000000000000000000000000000CD
+:1043F00000000000000000000000000000000000BD
+:10440000000000000000000030000000000000007C
+:10441000000000000000000000000000000000009C
+:10442000000000000000000000000000000000008C
+:10443000000000000000000000000000000101007A
+:10444000000000000000000000000000000001006B
+:10445000000000000000000000000000000000005C
+:10446000000000000000000000000000000000004C
+:10447000000000000000000000000000000000003C
+:10448000000000000000000000000000000000002C
+:10449000000000000000000000000000000000001C
+:1044A000000000000000000000000000000000000C
+:1044B00000000000000000000000000000000000FC
+:1044C00000000000000000000000000000000000EC
+:1044D00000000000000000000000000000000000DC
+:1044E00000000000000000000000000000000000CC
+:1044F00000000000000000000000000000000000BC
+:1045000000000000000000000000000000000000AB
+:10451000000000010000000000000000000000009A
+:10452000000000000000000000000000000000008B
+:104530000000000000000000000000000001010079
+:10454000000000000000000000000000000001006A
+:10455000000000000000000000000000000000005B
+:10456000000000000000000000000000000000004B
+:10457000000000000000000000000000000000003B
+:10458000000000000000000000000000000000002B
+:104590000000000000000000000001000001010117
+:1045A000000000000000000000000000000000000B
+:1045B00000000000000000000000000000000000FB
+:1045C00000000000000000000000000000000000EB
+:1045D00000000000000000000000000000010100D9
+:1045E00000000000000000000000000000000000CB
+:1045F00000000000000000000000000000000000BB
+:1046000000000000000000000000000000000000AA
+:104610000000000100000000000000000001000098
+:10462000000000000000000000000000000000008A
+:104630000100000000000000000001000001010175
+:104640000000000000000000000000000001010167
+:10465000000000000000000000000000000000005A
+:104660000000000000000000000000000001010048
+:10467000000000000000000000000000000000003A
+:10468000000000000000000000000000000000002A
+:104690000000000000000001000001010101010113
+:1046A000000000000000000000000000000000000A
+:1046B00000000000000000000000000000000000FA
+:1046C00000000000000000000000000000000000EA
+:1046D00000000000000000000000000000010100D8
+:1046E00000000000000000000000010000010000C8
+:1046F00000000000000000000000000000000000BA
+:1047000000000000000000000000000000000000A9
+:104710000000000100000000000000000001000097
+:104720000000000000000000000000000000000089
+:104730000100000000000001000001010101010171
+:104740000000000000000000000000010001010165
+:104750000000000000000000000000000000000059
+:104760000000000000000000000000000001010047
+:104770000000000000000000000000000000000039
+:104780000000000000000000000000000000000029
+:104790000000000000000001000001010101010112
+:1047A0000000000000000000000000000000000009
+:1047B00000000000000000000000000000000000F9
+:1047C00000000000000000000000000000000000E9
+:1047D00000000000000000000000010000010100D6
+:1047E00000000001010001010000010001010000C2
+:1047F00000000000000000000000000000000000B9
+:1048000000000000000000000000000000000000A8
+:104810000000000100000000000000000001000096
+:104820000000000000000000000000000000000088
+:104830000100000000000001000001010101010170
+:104840000000000000000000000001010001010163
+:104850000000000000000000000000000000000058
+:104860000000000000000000000000000001010145
+:104870000000000000000000000000000000000038
+:104880000000000000000000000000000000000028
+:10489000000000000000010101000101010101010F
+:1048A0000000000000000000000000000000000008
+:1048B00000000000000000000000000000000000F8
+:1048C00000000000000000000000000000000000E8
+:1048D00000000000000000010000010101010100D2
+:1048E00000000001010001010000010001010100C0
+:1048F00000000000000000000000000000000000B8
+:1049000000000000000000000000000000000000A7
+:104910000000000100000100000000000001000094
+:104920000000000000000000000000000000000087
+:10493000010000000000010100000101010101016E
+:104940000000000000000000000001010101010161
+:104950000000000000000000000000000000010056
+:104960000000000000000000000000010101010142
+:104970000000000000000000000000000000000037
+:104980000000000000000000000000000000000027
+:10499000000000000001010101000101010101010D
+:1049A0000000000000000000000000000000010006
+:1049B00000000000000000000000000000010101F4
+:1049C00000000000000000010000000101000000E4
+:1049D00000000000000000010000010101010101D0
+:1049E00000000001010001010000010101010100BE
+:1049F00001000000000000000000000000000000B6
+:104A000000000000000000000000000000000000A6
+:104A10000000000100000100000000000001000093
+:104A20000000000000000000000000000000000086
+:104A3000010000000000010100000101010101016D
+:104A40000000000000000000000001010101010160
+:104A50000000000000000000000000000000010055
+:104A60000000000000000000000001010101010140
+:104A70000000000000000000000000000000000036
+:104A80000000000000000000000000000000000026
+:104A9000000000000101010101010101010101010A
+:104AA0000000000000000000000000000000010005
+:104AB00000000000000000000000000101010101F1
+:104AC00000000000000000010000010101010101DF
+:104AD00000000000000001010000010101010101CE
+:104AE00000000001010101010000010101010101BB
+:104AF00001000000000000000000000000000000B5
+:104B000000000000000000000000000000000000A5
+:104B10000000000100000100000000000001000092
+:104B20000000000000000000000000000001010083
+:104B3000010000000000010101010101010101016A
+:104B4000000000000000010100000101010101015D
+:104B50000000000000000000000000000001010053
+:104B6000000000000000010100000101010101013D
+:104B70000000000000000000000000000000000035
+:104B80000000000000000000000000000000000025
+:104B90000000000001010101010101010101010109
+:104BA0000000000000000000000000000001010003
+:104BB00000000000000000000000000101010101F0
+:104BC00000000000000001010000010101010101DD
+:104BD00000000000000001010000010101010101CD
+:104BE00000000001010101010000010101010101BA
+:104BF00001000000000000000000000000000000B4
+:104C000000000000000000000000000000000000A4
+:104C10000000000100000100000000000001000091
+:104C20000000000000000000000000000001010082
+:104C30000100000000010101010101010101010168
+:104C4000000000000000010100000101010101015C
+:104C50000000000000000000000000000001010052
+:104C6000000000000000010100000101010101013C
+:104C70000000000000000000000000000000000034
+:104C80000000000000000000000000000000000024
+:104C90000000000101010101010101010101010107
+:104CA0000000000000000000000000010101010000
+:104CB00000000000000001010101000101010101EB
+:104CC00000000000000001010000010101010101DC
+:104CD00000000001010001010101010101010101C8
+:104CE00000000001010101010000010101010101B9
+:104CF00001000000000000000000000000000000B3
+:104D000000000000000000000000000000000000A3
+:104D10000000000100000100000000000001000090
+:104D20000000000000000000000000000001010180
+:104D30000100000101010101010101010101010165
+:104D40000000000000000101010101010101010159
+:104D50000000000000000000000000000001010150
+:104D6000000000000000010101000101010101013A
+:104D70000000000000000000000000000000000033
+:104D80000000000000000000000000000000000023
+:104D90000000000101010101010101010101010106
+:104DA00000000000000000000000010101010101FD
+:104DB00000000000000101010101010101010101E8
+:104DC00000000000010001010000010101010101DA
+:104DD00000000001010101010101010101010101C6
+:104DE00000010001010101010000010101010101B7
+:104DF00001000000000000000000000000000001B1
+:104E000000000000000000000000000000000000A2
+:104E1000000000020001010000000000000100008D
+:104E2000000000000000000000000001010101017D
+:104E30000100010101010101010101010101010163
+:104E40000000000000010101010101010101010157
+:104E5000000000000000000000000001010101014D
+:104E60000000000000000101010001010101010139
+:104E70000000000000000000000000000001010030
+:104E80000000000000000000000000000000000022
+:104E90000000000101010101010101010101010105
+:104EA00000000000000001010000010101010101FA
+:104EB00000000000010101010101010101010101E6
+:104EC00000000000010101010000010101010101D8
+:104ED00000000001010101010101010101010101C5
+:104EE00000010101010101010000010101010101B5
+:104EF00001000000000000000000000000000001B0
+:104F000000000000000000000000000000000000A1
+:104F10000001000201010100010000000001000089
+:104F2000000000000000000000000001010101017C
+:104F30000100010101010101010101010101010162
+:104F40000001000101010101010101010101010153
+:104F5000000000000000000000000101010101014B
+:104F60000000000101000101010101010101010135
+:104F7000000000000000000000000000000101002F
+:104F80000000000000000000000000000000000021
+:104F90000000010101010101010101010101010103
+:104FA00000000000000001010000010101010101F9
+:104FB00000000000010101010101010101010101E5
+:104FC00000000001010101010101010101010101D4
+:104FD00000000101010101010101010101010101C3
+:104FE00000010101010101010001010101010101B3
+:104FF00001000000000000000000000000000001AF
+:1050000000000000000000000000000000000000A0
+:105010000101000201010100010000000001010086
+:10502000000000000000000000000001010101017B
+:105030000100010101010101010101010101010161
+:105040000001000101010101010101010101010152
+:10505000000000000000000000000101010101014A
+:105060000000000101010101010101010101010133
+:10507000000000000000000000000000000101012D
+:10508000000000000000000000000000000101001E
+:105090000001010101010101010101010101010101
+:1050A00000000000000001010100010101010101F7
+:1050B00000010000010101010101010101010101E3
+:1050C00000000001010101010101010101010101D3
+:1050D00000010101010101010101010101010101C1
+:1050E00001010101010101010001010101010101B1
+:1050F00001000000000000000000000000000001AE
+:10510000000000000000000000000000000000009F
+:105110000101000201010100010000000001010085
+:10512000000000000000000000000001010101017A
+:10513000010101010101010101010101010101015F
+:105140000001000101010101010101010101010151
+:105150000000000000000000000001010101010149
+:105160000000000101010101010101010101010132
+:10517000000000000000000000000001010101012A
+:10518000000000000000000000000000000101001D
+:105190000001010101010101010101010101010100
+:1051A00000000000000101010100010101010101F5
+:1051B00000010100010101010101010101010101E1
+:1051C00000010001010101010101010101010101D1
+:1051D00000010101010101010101010101010101C0
+:1051E00001010101010101010001010101010101B0
+:1051F00001000000000000000000000000000001AD
+:10520000000000000000000000000000000000009E
+:105210000201000201010200010000000001010082
+:105220000000000000000101000000010101010177
+:10523000020101010101010101010101010101015D
+:10524000010101010101010101010101010101014E
+:105250000000000000000101000001010101010146
+:105260000000010101010101010101010101010130
+:105270000000000000000000000000010101010129
+:10528000000000000000000000000000000101001C
+:1052900000010101010101010101010101010101FF
+:1052A00000000001010101010101010101010101F1
+:1052B00000010101010101010101010101010101DF
+:1052C00000010101010101010101010101010101CF
+:1052D00000010101010101010101010101010101BF
+:1052E00001010101010101010001010101010101AF
+:1052F00001000000000000000100000000000001AB
+:10530000000000000000000000000000000000009D
+:10531000020200020202020001000000000201007D
+:105320000100000000000101000001010101010174
+:10533000020101010101010101010101010101015C
+:10534000010101010101010101010101010101014D
+:105350000000000000000101000001010101010145
+:10536000000101010101010101010101010101012E
+:105370000000000000000000000000010101010128
+:10538000000000000000000000000000000101001B
+:1053900001010101010101010101010101010101FD
+:1053A00000000001010101010101010101010101F0
+:1053B00000010101010101010101010101010101DE
+:1053C00000010101010101010101010101010101CE
+:1053D00000010101010101010101010101010101BE
+:1053E00001010101010101010001010101010101AE
+:1053F00002000100000000000100000000000001A8
+:10540000000000000000000000000000000000009C
+:10541000020200020202020002000000000201007B
+:105420000101000000000101000001010101010172
+:10543000020101010101010101010101010101015B
+:10544000010101010101010101010101010101014C
+:105450000000000000000101000001010101010144
+:10546000010101010101010101010101010101012C
+:105470000000000000000000000001010101010126
+:105480000000000000000000000000000001010119
+:1054900001010101010101010101010101010101FC
+:1054A00000010001010101010101010101010101EE
+:1054B00000010101010101010101010101010101DD
+:1054C00001010101010101010101010101010101CC
+:1054D00000010101010101010101010101010101BD
+:1054E00001010101010101010001010101010101AD
+:1054F00002000100000000000101000100000001A5
+:10550000000000000000000000000000000000009B
+:10551000020200020202020002000000000201007A
+:105520000101000000000101000001010101010171
+:10553000020101010101010101010101010101015A
+:10554000010101010101010101010101010101014B
+:105550000000000000000101000001010101010143
+:10556000010101010101010101010101010101012B
+:105570000000000000000000000001010101010125
+:105580000000000000000000000000010101010116
+:1055900001010101010101010101010101010101FB
+:1055A00000010101010101010101010101010101EC
+:1055B00000010101010101010101010101010101DC
+:1055C00001010101010101010101010101010101CB
+:1055D00000010101010101010101010101010101BC
+:1055E00001010101010101010001010101010101AC
+:1055F00002000100000000000101000100000101A3
+:105600000000000000000000000000000001010098
+:105610000202010202020200020000000002010177
+:10562000010100000000010100010101010101016F
+:105630000201010101010101010101010101010159
+:10564000010101010101010101010101010101014A
+:10565000000100010100010101000101010101013E
+:10566000010101010101010101010101010101012A
+:105670000000000000000000000001010101010124
+:105680000000000000000000000000010101010115
+:1056900001010101010101010101010101010101FA
+:1056A00000010101010101010101010101010101EB
+:1056B00000010101010101010101010101010101DB
+:1056C00001010101010101010101010101010101CA
+:1056D00000010101010101010101010101010101BB
+:1056E00001010102020101010001010101010101A9
+:1056F00002000100000001000101000101000101A0
+:105700000000000000000000000000000001010097
+:105710000202010202020200020000010002010175
+:10572000020101000000010100010101010101016C
+:105730000201010101010102010102010102020154
+:105740000101010101010101010101010101020148
+:10575000000101010101010101000101010101013B
+:105760000101010101010101010101010101010129
+:105770000000000000000101000001010101010121
+:105780000000000000000000000000010101010114
+:1057900001010101010101020101020101010101F7
+:1057A00001010101010101010101010101010101E9
+:1057B00001010101010101010101010101010101D9
+:1057C00001010101010101020101010101010101C8
+:1057D00001010101010101010101010101010101B9
+:1057E00001010102020102020001020101010101A5
+:1057F000020001000001010001010001010001019E
+:105800000000020000000000000002000001010191
+:105810000202020202020200020000010002010173
+:10582000020101000000010100010101010101016B
+:10583000020101010101020201010202020202024F
+:105840000101010101010101010102020102020243
+:105850000001010101010101010101010101010139
+:105860000101010101010101010101010102020126
+:105870000000000000000101000001010101010120
+:105880000000000000000000000000010101010113
+:1058900001010101020202020201020202020202ED
+:1058A00001010101010101010101010101010101E8
+:1058B00001010101010101010101010101010101D8
+:1058C00001010101020102020101020202010101C2
+:1058D00001010101010101020101020101020201B4
+:1058E000020201020202020200010201020201019F
+:1058F000020001000101010001010001010001019C
+:10590000000201000000000002020101010101018A
+:105910000202020202020200020000010002010172
+:105920000201010000010101000101010102020167
+:105930000201020202020202020202020202020248
+:10594000020201010101020201010202020202023D
+:105950000101010101010101010101010101020136
+:10596000010101010101020201010202020202021F
+:10597000000000000000010101000101010101011E
+:105980000000000000000000000000010101010112
+:1059900001010102020202020202020202020202EA
+:1059A00001010101010101010101010101010101E7
+:1059B00001010101010101010101010101010101D7
+:1059C00002020102020202020101020202020202BA
+:1059D00001010102020102020101020202020201AE
+:1059E000020202020202020200010202020202019B
+:1059F000020001000101010001010001010001019B
+:105A0000000101000002000001010101010101018A
+:105A10000202020202020200020000010002020170
+:105A20000202010101010101000101020202020260
+:105A30000202020202020202020202020202020246
+:105A40000202010202020202020202020202020237
+:105A50000101010101010101010101010102020134
+:105A6000020101020201020202010202020202021A
+:105A7000010000000001010101000101010101011B
+:105A8000010000000000000000000101010101010F
+:105A900002020202020202020202020202020202E6
+:105AA00001010101010101010101010101010101E6
+:105AB00001010101010101010101010101010101D6
+:105AC00002020202020202020202020202020202B6
+:105AD00001020202020202020202020202020202A7
+:105AE0000202020202020202000102020202020299
+:105AF0000201020001010100010100010100010297
+:105B00000001010002010101010101010101010186
+:105B1000020202020202020102010001000202006E
+:105B2000020201010101020200010102020202025D
+:105B30000202020202020202020202020202020245
+:105B40000202020202020202020202020202020235
+:105B5000010101010101010101010202020202022F
+:105B60000202020202020202020202020202020215
+:105B70000101000101010101010101010101010116
+:105B8000010100000000010000000101010101010C
+:105B900002020202020202020202020202020202E5
+:105BA00001010101010101010101010101010201E4
+:105BB00001020101020202020202010202020202C9
+:105BC00002020202020202020202020202020202B5
+:105BD00001020202020202020202020202020202A6
+:105BE0000202020202020202000202020202020297
+:105BF0000201020001010100020101010100010294
+:105C00000001010001010101010101010101010186
+:105C1000020202020202020102020002000202006B
+:105C2000020202010101020200010202020202025A
+:105C30000202020202020202020202020202020244
+:105C40000202020202020202020202020202020234
+:105C5000020201010101020201010202020202022A
+:105C60000202020202020202020202020202020214
+:105C70000101010101010101010101010102020112
+:105C80000201010000000100000001010102020107
+:105C900002020202020202020202020202020202E4
+:105CA00001010101010102020101020202020201DD
+:105CB00001020201020202020202020202020202C6
+:105CC00002020202020202020202020202020202B4
+:105CD00002020202020202020202020202020202A4
+:105CE0000202020202020202000202020202020296
+:105CF0000201020001010100020201010100010292
+:105D00000001010101010101010101010101010184
+:105D10000202020202020202020200020002020069
+:105D20000202020101010202000202020202020258
+:105D30000202020202020202020202020202020243
+:105D40000202020202020202020202020202020233
+:105D50000202020202010202010102020202020226
+:105D60000202020202020202020202020202020213
+:105D7000020101010101010101010102020202020D
+:105D80000201010100000101000001010102020104
+:105D900002020202020202020202020202020202E3
+:105DA00002020102020202020201020202020202D5
+:105DB00002020202020202020202020202020202C3
+:105DC00002020202020202020202020202020202B3
+:105DD00002020202020202020202020202020202A3
+:105DE0000202020202020202000202020202020295
+:105DF000020202000202020002020102010001028C
+:105E00000000000101010101010101010101010185
+:105E10000202020202020202020200020002020068
+:105E20000202020202020202010202020202020253
+:105E30000202020202020202020202020202020242
+:105E40000202020202020202020202020202020232
+:105E50000202020202020202020102020202020223
+:105E60000202020202020202020202020202020212
+:105E7000020101010101010101010202020202020B
+:105E800002020101000101010000010202020202FE
+:105E900002020202020202020202020202020202E2
+:105EA00002020202020202020202020202020202D2
+:105EB00002020202020202020202020202020202C2
+:105EC00002020202020202020202020202020202B2
+:105ED00002020202020202020202020202020202A2
+:105EE0000202020202020202000202020202020294
+:105EF0000202020102020201020201020200020287
+:105F00000000000101010101010101010100000186
+:105F10000202020202020202020200020002020067
+:105F20000202020202020202010202020202020252
+:105F30000202020202020202020202020202020241
+:105F40000202020202020202020202020202020231
+:105F50000202020202020202020202020202020221
+:105F60000202020202020202020202020202020211
+:105F70000202010101010202010102020202020207
+:105F800002020201010101010000010202020202FB
+:105F900002020202020202020202020202020202E1
+:105FA00002020202020202020202020202020202D1
+:105FB00002020202020202020202020202020202C1
+:105FC00002020202020202020202020202020202B1
+:105FD00002020202020202020202020202020202A1
+:105FE0000202020202020202000202020202020293
+:105FF0000202020102020201020201020200020286
+:106000000000000000000000000000000000000090
+:10601000020202010101020201020002000202006A
+:106020000202020202020202010202020202020251
+:106030000202020202020202020202020202020240
+:106040000202020202020202020202020202020230
+:106050000202020202020202020202020202020220
+:106060000202020202020202020202020202020210
+:106070000202020202020202020102020202020201
+:1060800002020202010102010000020202020202F7
+:1060900002020202020202020202020202020202E0
+:1060A00002020202020202020202020202020202D0
+:1060B00002020202020202020202020202020202C0
+:1060C00002020202020202020202020202020202B0
+:1060D00002020202020202020202020202020202A0
+:1060E0000202020202020202000202020202020292
+:1060F0000202020202020201020202020200020283
+:10610000010000000000000000000000000000008E
+:10611000010102010101010201020002000202006C
+:10612000020202020202020202020202020202024F
+:10613000020202020202020202020202020202023F
+:10614000020202020202020202020202020202022F
+:10615000020202020202020202020202020202021F
+:10616000020202020202020202020202020202020F
+:1061700002020202020202020202020202020202FF
+:1061800002020202020202020100020202020202F2
+:1061900002020202020202020202020202020202DF
+:1061A00002020202020202020202020202020202CF
+:1061B00002020202020202020202020202020202BF
+:1061C00002020202020202020202020202020202AF
+:1061D000020202020202020202020202020202029F
+:1061E0000202020202020202010202020202020290
+:1061F0000202020202020202020202020201020280
+:10620000010000000000000000000000000000008D
+:10621000010101010101010201010102000102006D
+:10622000020202020202020202020202020202024E
+:10623000020202020202020202020202020202023E
+:10624000020202020202020202020202020202022E
+:10625000020202020202020202020202020202021E
+:10626000020202020202020202020202020202020E
+:1062700002020202020202020202020202020202FE
+:1062800002020202020202020100020202020202F1
+:1062900002020202020202020202020202020202DE
+:1062A00002020202020202020202020202020202CE
+:1062B00002020202020202020202020202020202BE
+:1062C00002020202020202020202020202020202AE
+:1062D000020202020202020202020202020202029E
+:1062E000020202020202020201020202020202028F
+:1062F000020202020202020202020202020102027F
+:10630000020000000000000000000000000000008B
+:10631000010101010101010101010101010102006D
+:10632000020202020202020202020202020202024D
+:10633000020202020202020202020202020202023D
+:10634000020202020202020202020202020202022D
+:10635000020202020202020202020202020202021D
+:10636000020202020202020202020202020202020D
+:1063700002020202020202020202020202020202FD
+:1063800002020202020202020201020202020202EE
+:1063900002020202020202020202020202020202DD
+:1063A00002020202020202020202020202020202CD
+:1063B00002020202020202020202020202020202BD
+:1063C00002020202020202020202020202020202AD
+:1063D000020202020202020202020202020202029D
+:1063E000020202020202020201020202020202028E
+:1063F000020202020202020202020202020102027E
+:10640000020000000000000000000000000000008A
+:10641000010101010101010101010101010101006D
+:10642000020202020202020202020202020202024C
+:10643000020202020202020202020202020202023C
+:10644000020202020202020202020202020202022C
+:10645000020202020202020202020202020202021C
+:10646000020202020202020202020202020202020C
+:1064700002020202020202020202020202020202FC
+:1064800002020202020202020202020202020202EC
+:1064900002020202020202020202020202020202DC
+:1064A00002020202020202020202020202020202CC
+:1064B00002020202020202020202020202020202BC
+:1064C00002020202020202020202020202020202AC
+:1064D000020202020202020202020202020202029C
+:1064E000020202020202020202020202020202028C
+:1064F000020202020202020202020202020202027C
+:106500000202020000000000000000000000000085
+:10651000010101010101010101010201020101006A
+:10652000020202020202020202020202020202024B
+:10653000020202020202020202020202020202023B
+:10654000020202020202020202020202020202022B
+:10655000020202020202020202020202020202021B
+:10656000020202020202020202020202020202020B
+:1065700002020202020202020202020202020202FB
+:1065800002020202020202020202020202020202EB
+:1065900002020202020202020202020202020202DB
+:1065A00002020202020202020202020202020202CB
+:1065B00002020202020202020202020202020202BB
+:1065C00002020202020202020202020202020202AB
+:1065D000020202020202020202020202020202029B
+:1065E000020202020202020202020202020202028B
+:1065F000020202020202020202020202020202027B
+:106600000202020000000000000000000002020080
+:10661000010101010101010101010201010101006A
+:10662000000202020202020202020202020202024C
+:10663000020202020202020202020202020202023A
+:10664000020202020202020202020202020202022A
+:10665000020202020202020202020202020202021A
+:10666000020202020202020202020202020202020A
+:1066700002020202020202020202020202020202FA
+:1066800002020202020202020202020202020202EA
+:1066900002020202020202020202020202020202DA
+:1066A00002020202020202020202020202020202CA
+:1066B00002020202020202020202020202020202BA
+:1066C00002020202020202020202020202020202AA
+:1066D000020202020202020202020202020202029A
+:1066E000020202020202020202020202020202028A
+:1066F000020202020202020202020202020202027A
+:106700000202020202020202020202020202020269
+:106710000000010000000001000101010101010071
+:106720000000000000000000000000000000000069
+:106730000202020202020202020202020202020239
+:106740000202020202020202020202020202020229
+:106750000202020202020202020202020202020219
+:106760000202020202020202020202020202020209
+:1067700002020202020202020202020202020202F9
+:1067800001010101010101010101010101010101F9
+:1067900002020202020202020202020202020202D9
+:1067A00002020202020202020202020202020202C9
+:1067B00002020202020202020202020202020202B9
+:1067C00002020202020202020202020202020202A9
+:1067D0000202020202020202020202020202020299
+:1067E0000202020202020202020202020202020289
+:1067F0000202020202020202020202020202020279
+:106800000202020202020202020202020202020268
+:106810000000000000000000000001000100010075
+:106820000100000000000000000000000000000067
+:106830000202020202020202020202020202020238
+:106840000202020202020202020202020202020228
+:106850000101010101010101010101010101010128
+:106860000202020202020202020202020202020208
+:1068700002020202020202020202020202020202F8
+:1068800002020202020202020202020202020202E8
+:1068900002020202020202020202020202020202D8
+:1068A00002020202020202020202020202020202C8
+:1068B00002020202020202020202020202020202B8
+:1068C00001010101010101010101010101010101B8
+:1068D0000202020202020202020202020202020298
+:1068E0000202020202020202020202020202020288
+:1068F0000000000000000000000000000000000098
+:106900000202020202020202020202020202020267
+:106910000000000000000000000001000100000075
+:106920000101010101010101010101010101010157
+:106930000102020202020202020202020202020238
+:106940000101010101010101010101010101010137
+:106950000202020202020202020202020202020217
+:106960000202020202020202020202020202020207
+:1069700002020202020202020202020202020202F7
+:106980000000000000000000000000000000000007
+:1069900002020202020202020202020202020202D7
+:1069A00002020202020202020202020202020202C7
+:1069B00002020202020202020202020202020202B7
+:1069C00002020202020202020202020202020202A7
+:1069D0000202020202020202020202020202020297
+:1069E0000202020202020202020202020202020287
+:1069F0000000000000000000000000000000000097
+:106A00000202020202020202020202020202020266
+:106A10000000000000000000000000000000000076
+:106A20000101010101010101010101010101010156
+:106A30000101010101010101010101010101010146
+:106A40000202020202020202020202020202020226
+:106A50000000000000000000000000000000000036
+:106A60000000000000000000000000000000000026
+:106A70000000000000000000000000000000000016
+:106A80000000000000000000000000000000000006
+:106A900001010101010101010101010101010101E6
+:106AA00002020202020202020202020202020202C6
+:106AB00002020202020202020202020202020202B6
+:106AC00000000000000000000000000000000000C6
+:106AD0000202020202020202020202020202020296
+:106AE0000202020202020202020202020202020286
+:106AF0000000000000000000000000000000000096
+:106B00000202020202020202020202020202020265
+:106B10000000000000000000000000000000000075
+:106B20000101010101010101010101010101010155
+:106B30000101010101010101010101010101010145
+:106B40000000000000000000000000000000000045
+:106B50000101010101010101010101010101010125
+:106B60000101010101010101010101010101010115
+:106B70000000000000000000000000000000000015
+:106B80000000000000000000000000000000000005
+:106B900002020202020202020202020202020202D5
+:106BA00002020202020202020202020202020202C5
+:106BB00002020202020202020202020202020202B5
+:106BC00000000000000000000000000000000000C5
+:106BD00000000000000000000000000000000000B5
+:106BE00000000000000000000000000000000000A5
+:106BF0000000000000000000000000000000000095
+:106C00000202020202020202020202020202020264
+:106C1000010100010101010001000000000000006D
+:106C20000101010101010101010101010101010154
+:106C30000101010101010101010101010101010144
+:106C40000101010101010101010101010101010134
+:106C50000101010101010101010101010101010124
+:106C60000101010101010101010101010101010114
+:106C70000101010101010101010101010101010104
+:106C80000000000000000000000000000000000004
+:106C900000000000000000000000000000000000F4
+:106CA00000000000000000000000000000000000E4
+:106CB00002020202020202020202020202020202B4
+:106CC00000000000000000000000000000000000C4
+:106CD00000000000000000000000000000000000B4
+:106CE00000000000000000000000000000000000A4
+:106CF0000101010101010101010101010101010184
+:106D00000202020202020202020202020202020263
+:106D10000101010101010101010100010001000067
+:106D20000101010101010101010101010101010153
+:106D30000101010101010101010101010101010143
+:106D40000101010101010101010101010101010133
+:106D50000101010101010101010101010101010123
+:106D60000101010101010101010101010101010113
+:106D70000101010101010101010101010101010103
+:106D800001010101010101010101010101010101F3
+:106D900001010101010101010101010101010101E3
+:106DA00001010101010101010101010101010101D3
+:106DB00001010101010101010101010101010101C3
+:106DC00000000000000000000000000000000000C3
+:106DD00000000000000000000000000000000000B3
+:106DE0000101010101010101010101010101010193
+:106DF0000101010101010101010101010101010183
+:106E00000202020202020202020202020202020262
+:106E10000101010101010101010100010001010164
+:106E20000101010101010101010101010101010152
+:106E30000101010101010101010101010101010142
+:106E40000101010101010101010101010101010132
+:106E50000101010101010101010101010101010122
+:106E60000101010101010101010101010101010112
+:106E70000101010101010101010101010101010102
+:106E800001010101010101010101010101010101F2
+:106E900001010101010101010101010101010101E2
+:106EA00001010101010101010101010101010101D2
+:106EB00001010101010101010101010101010101C2
+:106EC00001010101010101010101010101010101B2
+:106ED00001010101010101010101010101010101A2
+:106EE0000101010101010101010101010101010192
+:106EF0000101010101010101010101010101010182
+:106F00000000000000000000000000000000000081
+:106F10000101010101010101010101010101010161
+:106F20000101010101010101010101010101010151
+:106F30000101010101010101010101010101010141
+:106F40000101010101010101010101010101010131
+:106F50000101010101010101010101010101010121
+:106F60000101010101010101010101010101010111
+:106F70000101010101010101010101010101010101
+:106F800001010101010101010101010101010101F1
+:106F900001010101010101010101010101010101E1
+:106FA00001010101010101010101010101010101D1
+:106FB00001010101010101010101010101010101C1
+:106FC00001010101010101010101010101010101B1
+:106FD00001010101010101010101010101010101A1
+:106FE0000101010101010101010101010101010191
+:106FF0000101010101010101010101010101010181
+:107000000000000000000000000000000000000080
+:107010000101010101010101010101010101010160
+:107020000000000000000000000000000000000060
+:107030000000000000000000000000000000000050
+:107040000000000000000000000000000000000040
+:107050000202020202020202020202020202020210
+:107060000202020202020202020202020202020200
+:1070700002020202020202020202020202020202F0
+:1070800002020202020202020202020202020202E0
+:1070900002020202020202020202020202020202D0
+:1070A00002020202020202020202020202020202C0
+:1070B00002020202020202020202020202020202B0
+:1070C00002020202020202020202020202020202A0
+:1070D0000202020202020202020202020202020290
+:1070E0000202020202020202020202020202020280
+:1070F0000202020202020202020202020202020270
+:10710000000000000000000000000000000000007F
+:10711000010101010101010101010101010101015F
+:10712000000000000000000000000000000000005F
+:10713000000000000000000000000000000000004F
+:10714000000000000000000000000000000000003F
+:10715000000000000000000000000000000000002F
+:10716000000000000000000000000000000000001F
+:10717000000000000000000000000000000000000F
+:1071800000000000000000000000000000000000FF
+:1071900000000000000000000000000000000000EF
+:1071A00000000000000000000000000000000000DF
+:1071B00000000000000000000000000000000000CF
+:1071C00000000000000000000000000000000000BF
+:1071D00000000000000000000000000000000000AF
+:1071E000020202020202020202020202020202027F
+:1071F000020202020202020202020202020202026F
+:10720000000000000000000000000000000000007E
+:10721000010101010101010101010101010101015E
+:10722000000000000000000000000000000000005E
+:10723000000000000000000000000000000000004E
+:10724000000000000000000000000000000000003E
+:10725000000000000000000000000000000000002E
+:10726000000000000000000000000000000000001E
+:10727000000000000000000000000000000000000E
+:1072800000000000000000000000000000000000FE
+:1072900000000000000000000000000000000000EE
+:1072A00000000000000000000000000000000000DE
+:1072B00000000000000000000000000000000000CE
+:1072C00000000000000000000000000000000000BE
+:1072D00000000000000000000000000000000000AE
+:1072E000000000000000000000000000000000009E
+:1072F000020202020202020202020202020202026E
+:10730000000000000000000000000000000000007D
+:10731000000000000000000000000000000000006D
+:10732000000000000000000000000000000000005D
+:10733000000000000000000000000000000000004D
+:10734000000000000000000000000000000000003D
+:10735000000000000000000000000000000000002D
+:10736000000000000000000000000000000000001D
+:10737000000000000000000000000000000000000D
+:1073800000000000000000000000000000000000FD
+:1073900000000000000000000000000000000000ED
+:1073A00000000000000000000000000000000000DD
+:1073B00000000000000000000000000000000000CD
+:1073C00000000000000000000000000000000000BD
+:1073D00000000000000000000000000000000000AD
+:1073E000000000000000000000000000000000009D
+:1073F000000000000000000000000000000000008D
+:10740000000000000000000000000000000000007C
+:107410003300000000000000000000000000000039
+:10742000000000000000000000000000000000005C
+:10743000000000000000000000000000000000004C
+:10744000000000000000000000000000000000003C
+:10745000000000000000000000000000000000002C
+:10746000000000000000000000000000000000001C
+:10747000000000000000000000000000000000000C
+:1074800000000000000000000000000000000000FC
+:1074900000000000000000000000000000000000EC
+:1074A00000000000000000000000000000000000DC
+:1074B00000000000000000000000000000000000CC
+:1074C00000000000000000000000000001000000BB
+:1074D00000000000000000000000000000000000AC
+:1074E000000000000000000000000000000000009C
+:1074F000000000000000000000000000000000008C
+:10750000000000000000000000000000000000007B
+:10751000000000000000000000000000000000006B
+:10752000000000000000000000000000000000005B
+:10753000000000000000000000000000000000004B
+:10754000000000000000000000000000000000003B
+:10755000000000000000000000000000000000002B
+:10756000000000000000000000000000000000001B
+:10757000000000000000000000000000000000000B
+:1075800000000000000000000000000000000000FB
+:1075900000000000000000000000000000000000EB
+:1075A00000000000000000000000000000000000DB
+:1075B00000000000000000000000000000000000CB
+:1075C00000000000000000000000000001000000BA
+:1075D00000000000000000000000000000000000AB
+:1075E000000000000000000000000000000000009B
+:1075F000000000000000000000000000000000008B
+:10760000000000000000000000000000000000007A
+:10761000000000000000000000000000000000006A
+:10762000000000000000000000000000000000005A
+:10763000000000000000000000000000000000004A
+:10764000000000000000000000000000000000003A
+:10765000000000000000000000000000000000002A
+:10766000000000000000000000000000000000001A
+:10767000000000000000000000000000000000000A
+:1076800000000000000000000000000000000000FA
+:1076900000000000000000000000000000000000EA
+:1076A00000000000000000000000000000000000DA
+:1076B00000000000000000000000000000000000CA
+:1076C00000000000000000000000000001000000B9
+:1076D00000000000010000000000000000000000A9
+:1076E000000000000000000000000000000000009A
+:1076F000000000000000000000000000000000008A
+:107700000000000000000000000000000000000079
+:107710000000000000000000000000000000000069
+:107720000000000000000000000000000000000059
+:107730000000000000000000000000000000000049
+:107740000000000000000000000000000000000039
+:107750000000000000000000000000000000000029
+:107760000000000000000000000000000000000019
+:107770000000000000000000000000000000000009
+:1077800000000000000000000000000000000000F9
+:1077900000000000000000000000000000000000E9
+:1077A00000000000000000000000000000000000D9
+:1077B00001000000000000000000000000000000C8
+:1077C00000000000000000000000000001000000B8
+:1077D00001000000010000000000000000000000A7
+:1077E0000000000000000000000000000000000099
+:1077F0000000000000000000000000000000000089
+:107800000000000000000000000000000000000078
+:107810000000000000000000000000000000000068
+:107820000000000000000000000000000000000058
+:107830000000000000000000000000000000000048
+:107840000000000000000000000000000000000038
+:107850000000000000000000000000000000000028
+:107860000000000000000000000000000000000018
+:107870000000000000000000000000000000000008
+:1078800000000000000000000000000000000000F8
+:1078900000000000000000000000000000000000E8
+:1078A00000000000000000000000000001000000D7
+:1078B00001000000010100000000000000000000C5
+:1078C00000000000000100000000000001000000B6
+:1078D00001000000010100000000000000000000A5
+:1078E0000000000001010000000000000000000096
+:1078F0000000000000000000000000000000000088
+:107900000000000000000000000000000000000077
+:107910000000000000000000000000000000000067
+:107920000000000000000000000000000000000057
+:107930000000000000000000000000000000000047
+:107940000000000000000000000000000000000037
+:107950000000000000000000000000000000000027
+:107960000000000000000000000000000000000017
+:107970000000000000000000000000000000000007
+:1079800000000000000000000000000000000000F7
+:1079900000000000000000000000000000000000E7
+:1079A00000000000000000000000000001000000D6
+:1079B00001000000010100000000000000000000C4
+:1079C00000000000000100000000000001000001B4
+:1079D00001000000010101000000000000000000A3
+:1079E0000100000001010100000000000000000093
+:1079F0000000000000000000000000000000000087
+:107A00000000000000000000000000000000000076
+:107A10000000000000000000000000000000000066
+:107A20000000000000000000000000000000000056
+:107A30000000000000000000000000000000000046
+:107A40000000000000000000000000000000000036
+:107A50000000000000000000000000000000000026
+:107A60000000000000000000000000000000000016
+:107A70000000000000000000000000000000000006
+:107A800000000000000000000000000000000000F6
+:107A900000000000000000000000000000000000E6
+:107AA00000000000000000000000000001000000D5
+:107AB00001000000010100000000000001000000C2
+:107AC00000000000010100000000000101000001B1
+:107AD000010001010101010100000000010000009E
+:107AE000010001000101010100000000010000008F
+:107AF0000000000000000000000000000000000086
+:107B00000000000000000000000000000000000075
+:107B10000000000000000000000000000000000065
+:107B20000000000000000000000000000000000055
+:107B30000000000000000000000000000000000045
+:107B40000000000000010000000000000000000034
+:107B50000000000000000000000000000000000025
+:107B60000000000000000000000000000000000015
+:107B70000000000000000000000000000000000005
+:107B800000000000000000000000000000000000F5
+:107B900000000000000000000000000000000000E5
+:107BA00000000000000100000000000001000000D3
+:107BB00001000000010100000000000001000000C1
+:107BC00000000000010100000000000101000101AF
+:107BD000010101010101010100000000010000009C
+:107BE000010001000101010100000000010000008E
+:107BF0000000000000000000000000000000000085
+:107C00000000000001010000000000000000000072
+:107C10000000000000000000000000000000000064
+:107C20000000000000000000000000000000000054
+:107C30000000000000000000000000000000000044
+:107C40000000000000010000000000000000000033
+:107C50000000000000000000000000000000000024
+:107C60000000000000000000000000000000000014
+:107C70000000000000000000000000000000000004
+:107C800000000000000000000000000000000000F4
+:107C900000000000000000000000000000000000E4
+:107CA00000000000000100000000000101000000D1
+:107CB00001000001010100000000000001000000BF
+:107CC00000000000010100010000000101000101AD
+:107CD000010101010101010100000001010000009A
+:107CE000010001010101010100000000010000008C
+:107CF0000000000000000000000000000000000084
+:107D00000000000001010000000000000000000071
+:107D10000000000000000000000000000000000063
+:107D20000000000000000000000000000000000053
+:107D3000000000000101000100000000010000003F
+:107D40000000000001010000000000000000000031
+:107D50000000000000000000000000000000000023
+:107D60000000000000000000000000000000000013
+:107D70000000000000000000000000000000000003
+:107D800000000000000000000000000000000000F3
+:107D900000000000000100000000000000000000E2
+:107DA00000000000010100010000000101000101CC
+:107DB00001000001010100000000000001000000BE
+:107DC00001000000010101010000000101000101AA
+:107DD0000101010101010101000000010100000198
+:107DE000010001010101010100000000010000008B
+:107DF0000000000000000000000000000000000083
+:107E00000000000001010000000000000000000070
+:107E10000000000000000000000000000000000062
+:107E20000000000000000000000000000000000052
+:107E3000000000000101010100000000010000003D
+:107E4000010000000101000000000000000000002F
+:107E50000000000001010000000000000000000020
+:107E60000000000000000000000000000000000012
+:107E70000000000000000000000000000000000002
+:107E800000000000000100000000000000000000F1
+:107E900000000000000101000000000000000000E0
+:107EA00001000000010101010000000101010101C8
+:107EB00001000101010100010000000001010000BA
+:107EC00001000101010101010000010101010101A5
+:107ED0000101010101010101000000010101000196
+:107EE000010001010101010100000000010000008A
+:107EF0000000000000010000000000000000000081
+:107F0000000000000101000000000000000000006F
+:107F10000000000000000000000000000000000061
+:107F2000000000000000000001000000010000004F
+:107F3000000001010101010100000000010000003A
+:107F4000010000000101000000000000000000002E
+:107F5000000000000101000000000000000000001F
+:107F60000000000000000000000000000000000011
+:107F70000000000000000000000000000000000001
+:107F800001000000000101000000000000000000EE
+:107F900000000000010101010000000001000000DC
+:107FA00001000100010101010000000101010101C6
+:107FB00001010101010100010000000001010101B6
+:107FC00001000101010101010000010101010101A4
+:107FD0000101010101010101000000010101010194
+:107FE0000101010101010101000000000100000088
+:107FF000000000000001000000000000000100007F
+:10800000000000000101000000000000000000006E
+:108010000000000000000000000000000000000060
+:10802000000000000101000001000000010000004C
+:108030000100010101010101000000000100000038
+:10804000010000000101000000000000000000002D
+:10805000000000000101000000000000000000001E
+:108060000000000000000000000000000000000010
+:1080700000000000000000000000000001000000FF
+:1080800001000000010101010000000000000000EB
+:1080900001000000010101010000000001000000DA
+:1080A00001000100010101010000000101010101C5
+:1080B00001010101010100010000000101010101B4
+:1080C00001000101010101010001010101010101A2
+:1080D0000101010101010101000000010101010193
+:1080E0000101010101010101000000000100000087
+:1080F000000000000001000000000000000100007E
+:10810000000000000101000000000000000000006D
+:10811000000000000000000000000000000000005F
+:108120000100000001010100010000000100000049
+:108130000100010101010101000000000100000037
+:10814000010000000101000100000000000000002B
+:10815000000000000101000000000000000000001D
+:10816000000000000000000000000000000000000F
+:1081700000000000000000000000000001000000FE
+:1081800001000000010101010000000001000000E9
+:1081900001000000010101010000000101000000D8
+:1081A00001000101010101010000000101010101C3
+:1081B00001010101010101010000000101010101B2
+:1081C00001010101010101010001010101010101A0
+:1081D0000101010101010101000000010101010192
+:1081E0000101010101010101000000000100000086
+:1081F000000000000001000000000000000100007D
+:10820000000000000101000000000000000000006C
+:10821000000000000000000000000000000000005E
+:108220000100000001010100010000000100010146
+:108230000101010101010101000000000100000035
+:10824000010000000101000100000000000000002A
+:10825000000000000101000000000000000000001C
+:10826000000000000000000000000000000000000E
+:1082700000000000000000000000000001000000FD
+:1082800001000101010101010000000001000000E6
+:1082900001000000010101010000000101000101D5
+:1082A00001010101010101010000000101010101C1
+:1082B00001010101010101010000000101010101B1
+:1082C000010101010101010100010101010101019F
+:1082D000010101010101010100010101010101018F
+:1082E0000101010101010101000000000100000085
+:1082F000000000000001000000000000000100007C
+:10830000000000000101000000000000000000006B
+:10831000000000000000000000000000000000005D
+:108320000100000001010100010000010101010143
+:108330000101010101010101010000000100000033
+:108340000100000001010001000000000000000029
+:10835000000000000101000000000000000000001B
+:10836000000000000101000100000000000000000A
+:1083700000000000000000000000000001000000FC
+:1083800001000101010101010000000101000000E4
+:1083900001000101010101010000000101010101D1
+:1083A00001010101010101010000000101010101C0
+:1083B00001010101010101010000000101010101B0
+:1083C000010101010101010100010101010101019E
+:1083D000010101010101010100010101010101018E
+:1083E0000101010101010101000000000100000084
+:1083F000000000000001000000000000000100007B
+:10840000000000000101000000000000000000006A
+:10841000000000000000000000000000010000005B
+:108420000100000001010100010000010101010142
+:108430000101010101010101010000000100000032
+:108440000100000001010001000000000101000026
+:108450000000010001010001000000000000000018
+:108460000100000001010101000000000000000007
+:1084700000000000010100000000000101000000F8
+:1084800001000101010101010000000101000000E3
+:1084900001010101010101010000000101010101CF
+:1084A00001010101010101010001000101010101BE
+:1084B00001010101010101010000000101010101AF
+:1084C000010101010101010101010101010101019C
+:1084D000010101010101010100010101010101018D
+:1084E0000101010101010101000001000100000082
+:1084F0000000010001010001000000000001010076
+:108500000000000001010000000000000000000069
+:108510000000000000000000000000000100010059
+:108520000101000001010100010000010101010140
+:108530000101010101010101010000010100000030
+:108540000100000001010001000000000101000025
+:108550000100010001010001000000000000000016
+:108560000100000101010101000000000000000005
+:1085700000000000010101000000000101000101F4
+:1085800001010101010101010000000101000000E1
+:1085900001010101010101010000000101010101CE
+:1085A00001010101010101010001000101010101BD
+:1085B00001010101010101010000000101010101AE
+:1085C000010101010101010101010101010101019B
+:1085D000010101010101010100010101010101018C
+:1085E0000101010101010101000001000100000081
+:1085F0000100010001010001000000000001010074
+:108600000000000001010000000000000000000068
+:108610000000000000000000010000010101010055
+:10862000010101010101010101000001010101013C
+:10863000010101010101010101000001010000002F
+:108640000100000001010001000000000101000024
+:108650000100010001010001000000000000000015
+:108660000100000101010101000000000000000004
+:1086700000000000010101010000000101010101F1
+:1086800001010101010101010000000101000101DE
+:1086900001010101010101010000000101010101CD
+:1086A00001010101010101010001000101010101BC
+:1086B00001010101010101010001010101010101AB
+:1086C000010101010101010101010101010101019A
+:1086D000010101010101010100010101010101018B
+:1086E000010101010101010100010100010100007E
+:1086F0000100010001010001000000000001010172
+:108700000000000001010000000000000000000067
+:108710000000000000000000010000010101010153
+:10872000010101010101010101010001010101013A
+:10873000010101010101010101010101010000002C
+:108740000100000001010001000000000101000023
+:108750000100010001010001000000000000000014
+:108760000100010101010101000000000000000002
+:1087700001000000010101010000000101010101EF
+:1087800001010101010101010001000101010101DB
+:1087900001010101010101010001010101010101CA
+:1087A00001010101010101010001000101010101BB
+:1087B00001010101010101010001010101010101AA
+:1087C0000101010101010101010101010201010198
+:1087D000010101010101010100010101010101018A
+:1087E000010101010101010100010100010100017C
+:1087F0000101010001010001000000000001010170
+:108800000000000001010000000000000000000066
+:108810000000000000000000010100010101010151
+:108820000101010101010101020100010101010138
+:10883000010101010101010102010101010000002A
+:108840000100000001010001000000000101000022
+:108850000100010001010001000000000000000013
+:108860000100010101010101000000000100000000
+:1088700001000000010101010001000101010101ED
+:1088800001010101010101010001000101010101DA
+:1088900001010101010101010001010101010101C9
+:1088A00001010101010101010001010102010101B8
+:1088B00002010101010101010101010101010101A7
+:1088C0000101010101010101010101010201010197
+:1088D0000101010101010101010101010101010188
+:1088E0000101010101010101010101010101000179
+:1088F000010101000101000100000000000101016F
+:108900000000000001010000000000000000000065
+:10891000000000000000000002010001010101014F
+:108920000201010101010101020101010101010135
+:108930000101010101010101020101010200000028
+:108940000100000001020001000000000101000020
+:10895000010201000101010100000000010000000E
+:1089600001000101010101010000000001000000FF
+:1089700001000000010101010001000101010101EC
+:1089800001010101010101010001010101010101D8
+:1089900001010101010101010001010101010101C8
+:1089A00001010101010101010001010202010101B6
+:1089B00002010101020201010101010101010101A4
+:1089C0000101010101010101010101020201010294
+:1089D0000201010102010101010101010101010185
+:1089E0000101010101010101010101010101000178
+:1089F000010101000101000100000000000101016E
+:108A0000000000000101000100000000000002025F
+:108A10000002000000000200020101010102020147
+:108A20000202010102020200020101010101010131
+:108A30000101010101010101020101010200000027
+:108A4000020000000202020100000000010100001B
+:108A5000010101010101010100000000010000000D
+:108A600001010101010101010000000001000000FD
+:108A700001000001010101010001000101010101EA
+:108A800001010101010101010001010101010101D7
+:108A900001010101010101010001010101010101C7
+:108AA00001010101010101010101010202020202B1
+:108AB00002010102020201010101010101010101A2
+:108AC0000101010101010101010102020201020291
+:108AD000020202020202020101010101010101017F
+:108AE0000101010101010101010101010201000176
+:108AF000010101000101000100000000000101016D
+:108B0000000000000101000100000000000202025C
+:108B1000000202020101010002020102020202023D
+:108B2000020202020202020002010101010101012E
+:108B30000101010101010101020101010200000026
+:108B40000200000202020101000000000101010117
+:108B5000010101010101010100000000010000000C
+:108B600001010101010101010000000001000000FC
+:108B700001000001010101010001000101010101E9
+:108B800001010101010101010101010101010101D5
+:108B900001010101010101010101010101010101C5
+:108BA00001010101010101010101010202020202B0
+:108BB000020202020202010101010101010101019F
+:108BC000010101010101010101020202020202028E
+:108BD000020202020202020201010102020101017B
+:108BE0000201020102020201010101010201000170
+:108BF000010101000101000100000000010101016B
+:108C0000000000000101000100000200000201025A
+:108C1000010102010101010002020202020202023C
+:108C2000020202020202020002010101020101012C
+:108C3000010102020202020202020202020000001C
+:108C40000200000102020102000000010102010114
+:108C50000101010102020101000000000100010107
+:108C600001010101010101010000000101000000FA
+:108C700001000101010101010101010101010101E5
+:108C800001010101010101010101010101010101D4
+:108C900001010101010202010101010101010101C2
+:108CA00001010101010101010102010202020202AE
+:108CB000020202020202010201010101020101019C
+:108CC000010101010102010102020202020202028B
+:108CD0000202020202020202010101020202010278
+:108CE000020102020202020201010101020100016D
+:108CF0000101010201010001000000000102010167
+:108D00000000000002020001000002020102010155
+:108D1000010101010101010002020202020202023C
+:108D20000202020202020200020101020202020227
+:108D30000202020202020202020202020200000019
+:108D40000200000102020102000000010102010113
+:108D50000101010102020101000100010100010104
+:108D600001010101010101010000000101000100F8
+:108D700001000101010101010101010101010101E4
+:108D800001010101010101010101010202010101D1
+:108D900002010101020202020101010101010101BE
+:108DA00001010101010201010102010202020202AC
+:108DB0000202020202020202010101010202010199
+:108DC0000101010102020101020202020202020289
+:108DD0000202020202020202010202020202020274
+:108DE000020202020202020201010201020100016A
+:108DF0000101010101020001000001000102010165
+:108E00000000010002020001000002010101010155
+:108E1000010101010101010002020202020202023B
+:108E20000202020202020200020201020202020225
+:108E30000202020202020202020202020200000018
+:108E40000200000102020102000100010202010110
+:108E50000101020102020101000100010100010102
+:108E600001010101010101010001000101000100F6
+:108E700001000101010101010101010102010101E2
+:108E800002010101010202010102010202010101CC
+:108E900002020202020202020101010202010101B8
+:108EA00002010201020202020202020202020202A4
+:108EB0000202020202020202010101020202020295
+:108EC0000201020202020202020202020202020283
+:108ED0000202020202020202010202020202020273
+:108EE0000202020202020202020202010201000167
+:108EF0000101010101020001000001000102010164
+:108F00000100010002020101000202010101010150
+:108F10000101010101010101020202020202020239
+:108F20000202020202020200020202020202020223
+:108F30000202020202020202020202020200000017
+:108F4000020000010202010200010001020201010F
+:108F500002010201020201020101000101010101FD
+:108F600001010101010101010001000101000101F4
+:108F700001010101010101010101010202010101DF
+:108F800002010202020202020202020202020202C2
+:108F900002020202020202020101010202020202B4
+:108FA00002020202020202020202020202020202A1
+:108FB0000202020202020202010101020202020294
+:108FC0000202020202020202020202020202020281
+:108FD0000202020202020202020202020202020271
+:108FE0000202020202020202020202010202010164
+:108FF0000101020101020001000001000102020161
+:10900000010001010202010100020101010101014F
+:109010000101010101010101020202020202020238
+:109020000202020202020200020202020202020222
+:109030000202020202020202020202020200000016
+:10904000020000010202010201010101020202020A
+:1090500002020202020201020101000101010101FA
+:1090600002010102020202020101000101000101EC
+:1090700001010101010101010102010202020202DA
+:1090800002020202020202020202020202020202C0
+:1090900002020202020202020102020202020202B1
+:1090A00002020202020202020202020202020202A0
+:1090B0000202020202020202020202020202020290
+:1090C0000202020202020202020202020202020280
+:1090D0000202020202020202020202020202020270
+:1090E0000202020202020202020202020202010261
+:1090F000020202010202000200000100010202025B
+:10910000010101010202010100010101010101014E
+:109110000101010101010101020202020202020237
+:109120000202020202020200020202020202020221
+:109130000202020202020202020202020200000015
+:109140000200000202020202020202020202020203
+:1091500002020202020202020101010101010101F7
+:1091600002010202020202020101000101000101EA
+:1091700001010101020202010202010202020202D5
+:1091800002020202020202020202020202020202BF
+:1091900002020202020202020202020202020202AF
+:1091A000020202020202020202020202020202029F
+:1091B000020202020202020202020202020202028F
+:1091C000020202020202020202020202020202027F
+:1091D000020202020202020202020202020202026F
+:1091E0000202020202020202020202020202010260
+:1091F0000202020102020002010001010102020258
+:10920000010101010202010100010101010101014D
+:109210000101010101010101020202020202020236
+:109220000202020202020200020202020202020220
+:109230000202020202020202020202020200000014
+:109240000200000202020202020202020202020202
+:1092500002020202020202020202010102010101F3
+:1092600002020202020202020101010102010101E5
+:1092700002010101020202020202020202020202D1
+:1092800002020202020202020202020202020202BE
+:1092900002020202020202020202020202020202AE
+:1092A000020202020202020202020202020202029E
+:1092B000020202020202020202020202020202028E
+:1092C000020202020202020202020202020202027E
+:1092D000020202020202020202020202020202026E
+:1092E000020202020202020202020202020201025F
+:1092F0000202020102020002010002010102020256
+:10930000010101010202010100010100000100014F
+:10931000000001000000000102020202020202023B
+:10932000020202020202020002020202020202021F
+:109330000202020202020202020202020202000011
+:109340000200000202020202020202020202020201
+:1093500002020202020202020202010202010202EF
+:1093600002020202020202020202010202010101E1
+:1093700002010102020202020202020202020202CF
+:1093800002020202020202020202020202020202BD
+:1093900002020202020202020202020202020202AD
+:1093A000020202020202020202020202020202029D
+:1093B000020202020202020202020202020202028D
+:1093C000020202020202020202020202020202027D
+:1093D000020202020202020202020202020202026D
+:1093E000020202020202020202020202020201025E
+:1093F0000202020102020102020102010202020251
+:109400000101010102020102000000000000000051
+:10941000000000000000000102020202020101013E
+:109420000101010102020200020202020202020222
+:10943000020202020202020202020202020202020C
+:1094400002020002020202020202020202020202FE
+:1094500002020202020202020202020202020202EC
+:1094600002020202020202020202010202010201DF
+:1094700002010202020202020202020202020202CD
+:1094800002020202020202020202020202020202BC
+:1094900002020202020202020202020202020202AC
+:1094A000020202020202020202020202020202029C
+:1094B000020202020202020202020202020202028C
+:1094C000020202020202020202020202020202027C
+:1094D000020202020202020202020202020202026C
+:1094E000020202020202020202020202020202025C
+:1094F000020202020202010202010201020202024F
+:10950000010102010202010200000000000000004F
+:109510000000000000000000010101010101010143
+:109520000101010101010100020202020202020224
+:10953000020202020202020202020202020202020B
+:1095400002020202020202020202020202020202FB
+:1095500002020202020202020202020202020202EB
+:1095600002020202020202020202020202010202DC
+:1095700002020202020202020202020202020202CB
+:1095800002020202020202020202020202020202BB
+:1095900002020202020202020202020202020202AB
+:1095A000020202020202020202020202020202029B
+:1095B000020202020202020202020202020202028B
+:1095C000020202020202020202020202020202027B
+:1095D000020202020202020202020202020202026B
+:1095E000020202020202020202020202020202025B
+:1095F000020202020202010202020202020202024C
+:10960000020202020202020200000000000000004A
+:109610000000000000000000010101010101010142
+:109620000101010101010100020202020202020223
+:10963000020202020202020202020202020202020A
+:1096400002020202020202020202020202020202FA
+:1096500002020202020202020202020202020202EA
+:1096600002020202020202020202020202020202DA
+:1096700002020202020202020202020202020202CA
+:1096800002020202020202020202020202020202BA
+:1096900002020202020202020202020202020202AA
+:1096A000020202020202020202020202020202029A
+:1096B000020202020202020202020202020202028A
+:1096C000020202020202020202020202020202027A
+:1096D000020202020202020202020202020202026A
+:1096E000020202020202020202020202020202025A
+:1096F000020202020202010202020202020202024B
+:109700000202020202020202000000000000000049
+:109710000000000000000000010101010101010141
+:109720000101010101010100020202020202020222
+:10973000020202020202020200020202020202020B
+:1097400002020202020202020202020202020202F9
+:1097500002020202020202020202020202020202E9
+:1097600002020202020202020202020202020202D9
+:1097700002020202020202020202020202020202C9
+:1097800002020202020202020202020202020202B9
+:1097900002020202020202020202020202020202A9
+:1097A0000202020202020202020202020202020299
+:1097B0000202020202020202020202020202020289
+:1097C0000202020202020202020202020202020279
+:1097D0000202020202020202020202020202020269
+:1097E0000202020202020202020202020202020259
+:1097F0000202020202020202020202020202020249
+:109800000202020202020202000000000000000048
+:109810000000000000000000010101010101010140
+:109820000101010101010100020202020202020221
+:109830000202020202020202000000000000000018
+:109840000000000000000000020202020202020208
+:1098500002020202020202020202020202020202E8
+:1098600002020202020202020202020202020202D8
+:1098700002020202020202020202020202020202C8
+:1098800002020202020202020202020202020202B8
+:1098900002020202020202020202020202020202A8
+:1098A0000202020202020202020202020202020298
+:1098B0000202020202020202020202020202020288
+:1098C0000202020202020202020202020202020278
+:1098D0000202020202020202020202020202020268
+:1098E0000202020202020202020202020202020258
+:1098F0000202020202020202020202020202020248
+:109900000202020202020202000000000000000047
+:109910000000000000000000000000000000000047
+:109920000000000000000000020202020202020227
+:109930000202020202020202000000000000000017
+:10994000000000000000000002020102020101010B
+:1099500002010201020202020202020202020202E9
+:1099600002020202020202020202020202020202D7
+:1099700002020202020202020202020202020202C7
+:1099800002020202020202020202020202020202B7
+:1099900002020202020202020202020202020202A7
+:1099A0000202020202020202020202020202020297
+:1099B0000202020202020202020202020202020287
+:1099C0000202020202020202020202020202020277
+:1099D0000202020202020202020202020202020267
+:1099E0000202020202020202020202020202020257
+:1099F0000202020202020202020202020202020247
+:109A0000020202020202020202000002020002003E
+:109A1000020200020202020000000000000000003A
+:109A20000000000000000000010202020202020227
+:109A30000202020202020202010000000000000015
+:109A40000000000000000000020202020202020206
+:109A500002020202020202020202020202020202E6
+:109A600002020202020202020202020202020202D6
+:109A700002020202020202020202020202020202C6
+:109A800002020202020202020101010101010101BE
+:109A900001010101010101010202020202020202AE
+:109AA000020202020202020201010101010101019E
+:109AB000010101010101010102020202020202028E
+:109AC0000202020202020202020202020202020276
+:109AD0000202020202020202020202020202020266
+:109AE0000202020202020202020202020202020256
+:109AF0000202020202020202020202020202020246
+:109B00000202020202020202020200020202020237
+:109B10000202020202020200000000000000000037
+:109B2000000000000000000002010101010101012C
+:109B30000101010101010101010101010101010115
+:109B40000101010101010101010100010100000009
+:109B500001000100010101010202020202020202EF
+:109B600002020202020202020202020202020202D5
+:109B700002020202020202020202020202020202C5
+:109B800002020202020202020202020202020202B5
+:109B900002020202020202020202020202020202A5
+:109BA0000202020202020202020202020202020295
+:109BB0000202020202020202020202020202020285
+:109BC0000202020202020202020202020202020275
+:109BD0000202020202020202020202020202020265
+:109BE0000202020202020202020202020202020255
+:109BF0000202020202020202020202020202020245
+:109C00000202020202020202020202020202020234
+:109C10000202020202020202000000000000000034
+:109C20000000000000000000010202020202020225
+:109C3000020202020202020201010101010101010C
+:109C40000101010101010101020200020200000004
+:109C500002000200020202020202020202020202E8
+:109C600002020202020202020202020202020202D4
+:109C700002020202020202020202020202020202C4
+:109C800002020202020202020000000000000000C4
+:109C900000000000000000000202020202020202B4
+:109CA00002020202020202020000000000000000A4
+:109CB0000000000000000000020202020202020294
+:109CC000020202020202020201010101010101017C
+:109CD000010101010101010102020202020202026C
+:109CE0000202020202020202020202020202020254
+:109CF0000202020202020202020202020202020244
+:109D00000202020202020202020202020202020233
+:109D10000202020202020202000000000000000033
+:109D2000000000000000000001010101010101012B
+:109D30000101010101010101010101010101010113
+:109D40000101010101010101010101010101010103
+:109D500001010101010101010202020202020202EB
+:109D600002020202020202020101010101010101DB
+:109D700001010101010101010202020202020202CB
+:109D800002020202020202020000000000000000C3
+:109D900000000000000000000202020202020202B3
+:109DA00002020202020202020000000000000000A3
+:109DB0000000000000000000020202020202020293
+:109DC0000202020202020202020202020202020273
+:109DD0000202020202020202020202020202020263
+:109DE0000202020202020202000000000000000063
+:109DF0000000000000000000020202020202020253
+:109E00000202020202020202020202020202020232
+:109E1000020202020202020201010101010101012A
+:109E20000101010101010100010101010101010123
+:109E30000101010101010101010101010101010112
+:109E40000101010101010101010101010101010102
+:109E500001010101010101010101010101010101F2
+:109E600001010101010101010202020202020202DA
+:109E700002020202020202020000000000000000D2
+:109E800000000000000000000000000000000000D2
+:109E900000000000000000000202020202020202B2
+:109EA000020202020202020201010101010101019A
+:109EB000010101010101010102020202020202028A
+:109EC0000202020202020202000000000000000082
+:109ED0000000000000000000020202020202020272
+:109EE0000202020202020202000000000000000062
+:109EF000000000000000000001010101010101015A
+:109F00000101010101010101020202020202020239
+:109F10000202020202020202010101010101010129
+:109F20000101010101010101010101010101010121
+:109F30000101010101010101010101010101010111
+:109F40000101010101010101010101010101010101
+:109F500001010101010101010202020202020202E9
+:109F600002020202020202020101010101010101D9
+:109F700001010101010101010101010101010101D1
+:109F800001010101010101010000000000000000C9
+:109F900000000000000000000202020202020202B1
+:109FA0000202020202020202010101010101010199
+:109FB0000101010101010101020202020202020289
+:109FC0000202020202020202010101010101010179
+:109FD0000101010101010101000000000000000079
+:109FE0000000000000000000000000000000000071
+:109FF0000000000000000000010101010101010159
+:10A000000101010101010101020202020202020238
+:10A010000202020202020202010101010101010128
+:10A020000101010101010101010101010101010120
+:10A030000101010101010101010101010101010110
+:10A040000101010101010101010101010101010100
+:10A0500001010101010101010101010101010101F0
+:10A0600001010101010101010101010101010101E0
+:10A0700001010101010101010101010101010101D0
+:10A0800001010101010101010101010101010101C0
+:10A0900001010101010101010000000000000000B8
+:10A0A00000000000000000000101010101010101A8
+:10A0B0000101010101010101010101010101010190
+:10A0C0000101010101010101010101010101010180
+:10A0D0000101010101010101000000000000000078
+:10A0E0000000000000000000010101010101010168
+:10A0F0000101010101010101010101010101010150
+:10A100000101010101010101020202020202020237
+:10A110000202020202020202010101010101010127
+:10A12000010101010101010101010101010101011F
+:10A13000010101010101010101010101010101010F
+:10A1400001010101010101010101010101010101FF
+:10A1500001010101010101010101010101010101EF
+:10A1600001010101010101010101010101010101DF
+:10A1700001010101010101010101010101010101CF
+:10A1800001010101010101010101010101010101BF
+:10A1900001010101010101010101010101010101AF
+:10A1A000010101010101010101010101010101019F
+:10A1B000010101010101010101010101010101018F
+:10A1C000010101010101010101010101010101017F
+:10A1D000010101010101010101010101010101016F
+:10A1E000010101010101010101010101010101015F
+:10A1F000010101010101010101010101010101014F
+:10A200000101010101010101000000000000000046
+:10A210000000000000000000010101010101010136
+:10A22000010101010101010101010101010101011E
+:10A23000010101010101010101010101010101010E
+:10A2400001010101010101010101010101010101FE
+:10A2500001010101010101010101010101010101EE
+:10A2600001010101010101010101010101010101DE
+:10A2700001010101010101010101010101010101CE
+:10A2800001010101010101010101010101010101BE
+:10A2900001010101010101010101010101010101AE
+:10A2A000010101010101010101010101010101019E
+:10A2B000010101010101010101010101010101018E
+:10A2C000010101010101010101010101010101017E
+:10A2D000010101010101010101010101010101016E
+:10A2E000010101010101010101010101010101015E
+:10A2F000010101010101010101010101010101014E
+:10A300000101010101010101000000000000000045
+:10A31000000000000000000000000000000000003D
+:10A32000000000000000000000000000000000002D
+:10A33000000000000000000002020202020202020D
+:10A3400002020202020202020202020202020202ED
+:10A3500002020202020202020000000000000000ED
+:10A3600000000000000000000202020202020202DD
+:10A3700002020202020202020202020202020202BD
+:10A3800002020202020202020202020202020202AD
+:10A3900002020202020202020000000000000000AD
+:10A3A000000000000000000002020202020202029D
+:10A3B000020202020202020202020202020202027D
+:10A3C000020202020202020202020202020202026D
+:10A3D000020202020202020202020202020202025D
+:10A3E000020202020202020202020202020202024D
+:10A3F000020202020202020202020202020202023D
+:10A40000020202020202020200000000000000003C
+:10A41000000000000000000000000000000000003C
+:10A42000000000000000000000000000000000002C
+:10A43000000000000000000000000000000000001C
+:10A44000000000000000000000000000000000000C
+:10A4500000000000000000000000000000000000FC
+:10A4600000000000000000000000000000000000EC
+:10A4700000000000000000000000000000000000DC
+:10A4800000000000000000000000000000000000CC
+:10A4900000000000000000000000000000000000BC
+:10A4A000000000000000000002020202020202029C
+:10A4B000020202020202020200000000000000008C
+:10A4C000000000000000000002020202020202027C
+:10A4D000020202020202020200000000000000006C
+:10A4E000000000000000000002020202020202025C
+:10A4F000020202020202020202020202020202023C
+:10A50000020202020202020200000000000000003B
+:10A51000000000000000000000000000000000003B
+:10A52000000000000000000000000000000000002B
+:10A53000000000000000000000000000000000001B
+:10A54000000000000000000000000000000000000B
+:10A5500000000000000000000000000000000000FB
+:10A5600000000000000000000000000000000000EB
+:10A5700000000000000000000000000000000000DB
+:10A5800000000000000000000000000000000000CB
+:10A5900000000000000000000000000000000000BB
+:10A5A00000000000000000000000000000000000AB
+:10A5B000000000000000000000000000000000009B
+:10A5C000000000000000000000000000000000008B
+:10A5D000000000000000000000000000000000007B
+:10A5E000000000000000000000000000000000006B
+:10A5F000000000000000000002020202020202024B
+:10A60000020202020202020200000000000000003A
+:10A61000000000000000000000000000000000003A
+:10A62000000000000000000000000000000000002A
+:10A63000000000000000000000000000000000001A
+:10A64000000000000000000000000000000000000A
+:10A6500000000000000000000000000000000000FA
+:10A6600000000000000000000000000000000000EA
+:10A6700000000000000000000000000000000000DA
+:10A6800000000000000000000000000000000000CA
+:10A6900000000000000000000000000000000000BA
+:10A6A00000000000000000000000000000000000AA
+:10A6B000000000000000000000000000000000009A
+:10A6C000000000000000000000000000000000008A
+:10A6D000000000000000000000000000000000007A
+:10A6E000000000000000000000000000000000006A
+:10A6F000000000000000000000000000000000005A
+:10A700000000000000000000000000000000000049
+:10A710000000000000000000310000000000000008
+:10A720000000000000000000000000000000000029
+:10A730000000000000000000000000000000000019
+:10A740000000000000000000000000000000000009
+:10A7500000000000000000000000000000000000F9
+:10A7600000000000000000000000000000000000E9
+:10A7700000000000000000000000000000000000D9
+:10A7800000000000000000000000000000000000C9
+:10A7900000000000000000000000000000000000B9
+:10A7A00000000000000000000000000000000000A9
+:10A7B0000000000000000000000000000000000099
+:10A7C0000000000000000000000000000000000089
+:10A7D0000000000000000001000000000000000078
+:10A7E0000000000000000000000000000000000069
+:10A7F0000000000001000000000001000101000154
+:10A800000000000000000000000000000000000048
+:10A810000000000000000000000000000000000038
+:10A820000000000000000000000000000000000028
+:10A830000000000000000000000000000000000018
+:10A840000000000000000000000000000000000008
+:10A8500000000000000000000000000000000000F8
+:10A8600000000000000000000000000000000000E8
+:10A8700000000000000000000000000000000000D8
+:10A8800000000000000000000000000000000000C8
+:10A8900000000000000000000000000000000000B8
+:10A8A00000000000000000000000000000000000A8
+:10A8B0000000000000000000000000000000000098
+:10A8C0000000000000000000000000000000000088
+:10A8D0000000000000000001000000000000000077
+:10A8E0000000000000000000000000000000000068
+:10A8F000000000000101010101010101010101014C
+:10A900000000000000000000000000000000000047
+:10A910000000000000000000000000000000000037
+:10A920000000000000000000000000000000000027
+:10A930000000000000000000000000000000000017
+:10A940000000000000000000000000000000000007
+:10A9500000000000000000000000000000000000F7
+:10A9600000000000000000000000010000000000E6
+:10A9700000000000000000000000000000000000D7
+:10A9800000000000000000000000000000000000C7
+:10A9900000000000000000000000000000000000B7
+:10A9A00000000000000000000000000000000000A7
+:10A9B0000000000000000000000000000000000097
+:10A9C0000000000000000000000000000000000087
+:10A9D0000000000000010001000000000000000075
+:10A9E0000000000000000000000000000000000067
+:10A9F000000000000101010101010101010101014B
+:10AA00000000000000000000000000000000000046
+:10AA10000000000000000000000000000000000036
+:10AA20000000000000000000000000000000000026
+:10AA30000000000000000000000000000000000016
+:10AA40000000000000000000000000000000000006
+:10AA500000000000000000000000000000000000F6
+:10AA600000000000000000000000010000000000E5
+:10AA700000000000000000000000000000000000D6
+:10AA800000000000000000000000000000000000C6
+:10AA900000000000000000000000000000000000B6
+:10AAA00000000000000000000000000000000000A6
+:10AAB0000000000000000000000000000000000096
+:10AAC0000000000000000000000000000000000086
+:10AAD0000000000000010001000000000000000074
+:10AAE0000000000000000000000000000000000066
+:10AAF000000000000101010101010101010101014A
+:10AB00000000000000000000000000000000000045
+:10AB10000000000000000000000000000000000035
+:10AB20000000000000000000000000000000000025
+:10AB30000000000000000000000000000000000015
+:10AB40000000000000000000000000000000000005
+:10AB500000000000000000000000000000000000F5
+:10AB600000000000000000000000010000000000E4
+:10AB700000000000000000000000000000000000D5
+:10AB800000000000000000000000000000000000C5
+:10AB900000000000000000000000000000000000B5
+:10ABA00000000000000000000000000000000000A5
+:10ABB0000000000000000000000000000000000095
+:10ABC0000000000000000000000000000000000085
+:10ABD0000000000000010101000000000001010070
+:10ABE0000000000000000000000000000000000065
+:10ABF0000000000001010101010101010101010149
+:10AC00000000000000000000000000000000000044
+:10AC10000000000000000000000000000000000034
+:10AC20000000000000000000000000000000000024
+:10AC30000000000000000000000000000000000014
+:10AC40000000000000000000000000000000000004
+:10AC500000000000000000000000000000000000F4
+:10AC600000000000000000000000010000000000E3
+:10AC700000000000000000000000000000000000D4
+:10AC800000000000000000000000000000000000C4
+:10AC900000000000000000000000000000000000B4
+:10ACA00000000000000000000000000000000100A3
+:10ACB0000000000000000000000000000000000094
+:10ACC0000000000000000000000000000000000084
+:10ACD000000001000001010101000000000101006D
+:10ACE0000000000000000000000000000000000064
+:10ACF0000001010001010101010101010101010146
+:10AD00000000000000000000000000000000000043
+:10AD10000000000000000000000000000000000033
+:10AD20000000000000000000000000000000000023
+:10AD30000000000000000000000000000000000013
+:10AD40000000000000000000000000000000000003
+:10AD500000000000000000000000000000000000F3
+:10AD600000000000000000000000010000000000E2
+:10AD700000000000000000000000000000000000D3
+:10AD800000000000000000000000000000000000C3
+:10AD900000000000000000000000000000000000B3
+:10ADA00000000000000000000000000000000100A2
+:10ADB0000000000000010101000000000000000090
+:10ADC0000000000000000000000000000000000083
+:10ADD000000001000001010101000000000101016B
+:10ADE0000000000000000000000000000000000063
+:10ADF0000001010001010101010101010101010145
+:10AE00000000000000000000000000000000000042
+:10AE10000000000000000000000000000000000032
+:10AE20000000000000000000000000000000000022
+:10AE30000000000000000000000000000000000012
+:10AE40000000000000000000000000000000000002
+:10AE500000000000000000000000000000000000F2
+:10AE600000000000000000000101010000000000DF
+:10AE700000000000000000000000000000000000D2
+:10AE800000000000000000000000000000000000C2
+:10AE900000000000000000000000000000000000B2
+:10AEA000000000000001000100000000000101019D
+:10AEB000000000000001010100000000000000008F
+:10AEC0000000000000000000000000000000000082
+:10AED000000001000001010101000000000101016A
+:10AEE0000000000000000000000000000000000062
+:10AEF0000101010001010101010101010101010143
+:10AF00000000000000000000000000000000000041
+:10AF10000000000000000000000000000000000031
+:10AF20000000000000000000000000000000000021
+:10AF30000000000000000000000000000000000011
+:10AF400000000000000000000000000000000101FF
+:10AF500001000000000000000000000000000000F0
+:10AF600000000000000000000101010000000000DE
+:10AF700000000000000000000000000000000000D1
+:10AF800000000000000000000000000000000100C0
+:10AF900000000000000000000000000000000000B1
+:10AFA000000000000001000100000000000101019C
+:10AFB000000000000001010100000000000000008E
+:10AFC0000000000000000000000000000000000081
+:10AFD0000000010000010101010000000001010169
+:10AFE0000000000000000000000000000000000061
+:10AFF0000101010001010101010101010101010142
+:10B000000000000000000000000000000000000040
+:10B010000000000000000000000000000000000030
+:10B020000000000000000000000000000000000020
+:10B030000000000000000000000000000000000010
+:10B0400000000000000000000000000000000101FE
+:10B0500001000000000000000000000000000000EF
+:10B0600000000000000000000101010000000000DD
+:10B0700000000000000000000000000000000000D0
+:10B0800000000000000000000000000000000100BF
+:10B0900000000000000000000000000000000000B0
+:10B0A0000000000000010101000001000101010198
+:10B0B000000000000001010100000000000000008D
+:10B0C0000000000000000000000000000000000080
+:10B0D0000000010000010101010000000001010168
+:10B0E0000000000000000000000000000000000060
+:10B0F0000101010001010101010101010101010141
+:10B10000010000000000000000000000000000003E
+:10B11000000000000000000000000000000000002F
+:10B12000000000000000000000000001000000001E
+:10B13000000000000000000000000000000000000F
+:10B1400000000000000100000000000000000101FC
+:10B1500001000000000000000000000000000000EE
+:10B1600000000000000000000101010000000000DC
+:10B1700000000000000000000000000000000000CF
+:10B1800000000000000100000000000000000101BC
+:10B1900000000000000000000000000000000100AE
+:10B1A0000000010000010101000001010101010195
+:10B1B000000000000001010100000000000000008C
+:10B1C000000000000000000000000000000000007F
+:10B1D0000000010000010101010001000001010166
+:10B1E000000000000000000000000000000000005F
+:10B1F0000101010001010101010101010101010140
+:10B20000010000000000000000000000000000003D
+:10B21000000000000000000000000000000000002E
+:10B22000000000000000010000000101010000001A
+:10B23000000000000000000000000000000000000E
+:10B2400000000000000100000000000000000101FB
+:10B2500001000000000000000000000000000000ED
+:10B2600000000000000000000101010000000000DB
+:10B2700000000000000000000000000000000000CE
+:10B2800000000000000100000000000000000101BB
+:10B2900000000000000000000000000000000100AD
+:10B2A0000000010101010101000001010101010192
+:10B2B000000001000001010100000000000000008A
+:10B2C000000000000000000000000000000000007E
+:10B2D0000000010000010101010101000001010164
+:10B2E000000000000000000000000000000000005E
+:10B2F000010101000101010101010101010101013F
+:10B30000010000000000000000000000000100003B
+:10B31000000000000000000000000000000000002D
+:10B320000000000000000100000001010100000019
+:10B33000000000000000000000000000000000000D
+:10B3400000000000000101010000000000010101F7
+:10B3500001000000000000000000000000000000EC
+:10B3600001000000000000000101010000000000D9
+:10B3700000000000000000000000000000000000CD
+:10B3800000000000000101010000000000010101B7
+:10B3900000000000000000000000000000000101AB
+:10B3A000000101010101010101010101010101018E
+:10B3B0000000010000010101000000000000000188
+:10B3C000000000000000000000000000000000007D
+:10B3D0000000010100010101010101000101010161
+:10B3E000000000000000000000000000000000005D
+:10B3F000010101000101010101010101010101013E
+:10B400000100000000000000000100010001000038
+:10B41000000000000000000000000000000000002C
+:10B420000000000000000100000001010101000017
+:10B43000000000000000000000000000000000000C
+:10B4400000000100000101010000000000010101F5
+:10B4500001000000000000000000000000000000EB
+:10B4600001000000000000000101010000000000D8
+:10B4700000000000000000000000000000000000CC
+:10B4800000000100000101010000000000010101B5
+:10B4900000000000000000000000000000000101AA
+:10B4A000000101010101010101010101010101018D
+:10B4B0000000010000010101010000000000000186
+:10B4C000000000000000000000000000000000007C
+:10B4D0000000010100010101010101000101010160
+:10B4E000000000000000000000000000000001005B
+:10B4F000010101000101010101010101010101013D
+:10B500000100000000000000000100010001000136
+:10B51000000000000000000000000000000000002B
+:10B520000001010000000100010101010101000012
+:10B53000010000000000000000000000000000000A
+:10B5400000000101000101010000010001010101F1
+:10B5500001000000000000000000000000000000EA
+:10B5600001000000000000000101010000000000D7
+:10B5700000000000000000000000020000000100C8
+:10B5800000000101000101010000010001010101B1
+:10B5900000000000000100000000000000010101A7
+:10B5A000000101010101010101010101010101018C
+:10B5B0000000010000010101010000000000000185
+:10B5C000000000000000000000000000000000007B
+:10B5D000000001010001010101010100010101015F
+:10B5E000000000000000000000000000000001005A
+:10B5F000010101010101010101010101010101013B
+:10B600000100000000000000010100010001000134
+:10B61000000000000000000000000000000000002A
+:10B620000001010000000100010101010101000011
+:10B630000100000000000000000000000000000009
+:10B6400000000101000101010001010101010101EE
+:10B6500001000100000000000000000000000000E8
+:10B6600001000000000000000101010000000000D6
+:10B6700000000100000000000000010000000100C7
+:10B6800000000101000101010000010101010101AF
+:10B6900000000100000100000000000000010101A5
+:10B6A000000101010101010101010101010101018B
+:10B6B0000000010000010101010000010000000183
+:10B6C0000000000000000000000000000000010079
+:10B6D000000101010001010101010100010101015D
+:10B6E0000000000000010101000000000001010154
+:10B6F0000101010102010101010101010101010139
+:10B70000010000000000010101010101010101012E
+:10B710000000000000000000000000000000000029
+:10B720000001010000000100010101010101000010
+:10B730000100000000000000000000000000010106
+:10B7400000000101010101010001010101010101EC
+:10B7500002000100000000000000010002010000E2
+:10B7600001000000000000000101010000000000D5
+:10B7700000000100000000000000010000010100C5
+:10B7800000000101010101010000010101010101AD
+:10B79000000001010001010100000100010101019F
+:10B7A000000101010101010101010101010101018A
+:10B7B0000000010100010101010000010000000181
+:10B7C0000000000000000000000000000000010078
+:10B7D000000101010001010101010100010101015C
+:10B7E0000000000000010101000000000001010153
+:10B7F0000201010102010101020202020202010131
+:10B80000010000000000010101010101010101012D
+:10B810000000000000000000000000000000000028
+:10B82000000101000000010001010101010100000F
+:10B830000100000000000000000000000000010105
+:10B8400000010101010101010001010101010101EA
+:10B8500002000100000000000202010201010000DC
+:10B8600001000100000000000101010000000000D3
+:10B8700000000100000000000000010000010100C4
+:10B8800000010101010101010001010101010101AA
+:10B89000000001010001010100000100010101019E
+:10B8A0000001010101010101010101010101010189
+:10B8B000000101010001010101000001000000017F
+:10B8C0000000000000000000000000000200010174
+:10B8D0000001010100010102010101010101010159
+:10B8E000000000010101010100000100010101014E
+:10B8F000020201010202020202020202020201022B
+:10B90000010000000000010101010101010101012C
+:10B910000000000000000000000000000000000027
+:10B92000000101000000010001010102010100000D
+:10B930000100000000010000000000000000010103
+:10B9400000010101010101010001010101010101E9
+:10B9500002000100000000000202010201010001DA
+:10B9600001000100000000000101020000000100D0
+:10B9700000000100000000000000010002010101C0
+:10B9800000010101010101010001010101010101A9
+:10B99000000001010101010100000100010101019C
+:10B9A0000001010101010101010101010101010188
+:10B9B000000101010001010101000101000000017D
+:10B9C0000000010000000000000000000100010173
+:10B9D0000001010100020102010101010101010157
+:10B9E0000000010101010101010101010101010149
+:10B9F0000202020102020202020202020202020228
+:10BA0000010001000000010101010101010101012A
+:10BA10000000000000000000000000000000000026
+:10BA20000001010001010101010101020201010106
+:10BA30000100000000010000000000000000010102
+:10BA400000010101010101010001010101010101E8
+:10BA500002010100000000000101010201010001DA
+:10BA600001000100000000000101020100000100CE
+:10BA700000000100000000000200010201010101BC
+:10BA800000010101010101010001010101010101A8
+:10BA90000001010101010101000101010101010198
+:10BAA0000001010101010101010101010101010187
+:10BAB000000101010001010101000101000000017C
+:10BAC000000001010001010100000100010101016C
+:10BAD0000001020100020202020101010102010152
+:10BAE0000000010101010101010101010101010148
+:10BAF0000202020102020202020202020202020227
+:10BB00000200010001010101010101010101010126
+:10BB10000000000000000000000000000000000025
+:10BB20000002010001010201010102020202010101
+:10BB30000200000000010000000000000000010100
+:10BB400000010101010101010001010101010101E7
+:10BB500002010100000000000101010101010001DA
+:10BB600002000100000100000202020100000101C8
+:10BB700000000100000100000100010201010101BB
+:10BB800000010101010101010001010101010101A7
+:10BB90000001010101010101000101010101010197
+:10BBA0000001010101010101010101010101010186
+:10BBB000000101010001010101000101000000017B
+:10BBC0000000010100010101000001020101010169
+:10BBD0000001020100020202020101010102020150
+:10BBE0000001010101010101010101010101010146
+:10BBF0000202020102020202020202020202020226
+:10BC00000200010001010101010101010101010125
+:10BC10000000000000000000000000000000000024
+:10BC200002020201010102010202020202020101FA
+:10BC300002000100000100000000000000000101FE
+:10BC400000010101010101010001010101010101E6
+:10BC500002010100020000000101010101010001D7
+:10BC600002000100000100000202020100000101C7
+:10BC700000000100000100000102010101010101B9
+:10BC800000010101010101010001010101010101A6
+:10BC90000001010101010101000101010101010196
+:10BCA0000101010101010101010101010101010184
+:10BCB0000001010100020202010001010000000177
+:10BCC0000000010101010101000001010101010168
+:10BCD000000102010002020202010101010202024E
+:10BCE0000001010101010101010101010101010145
+:10BCF0000202020102020202020202020202020225
+:10BD00000200010001010101010101010101010124
+:10BD10000000000000000000000000000000000023
+:10BD200002020201010102010202020202020101F9
+:10BD300002000100000101000000000000000101FC
+:10BD400000010101010201010001010101010202E2
+:10BD500002010100010000010101010101010001D6
+:10BD600002000100000101010202020100000101C4
+:10BD700000000100000101000102010101010101B7
+:10BD800000010101010101010001010101010101A5
+:10BD90000001010101010101000101010101010195
+:10BDA000010101010102010201010101010202017F
+:10BDB0000001010100020202010001010200000174
+:10BDC0000001010101010101020201010101010162
+:10BDD000000102020002020202020201010202024A
+:10BDE0000001010101010101010101010101010144
+:10BDF0000202020202020202020202020202020223
+:10BE00000200010001010101010101010101010123
+:10BE10000000000000000000000000000000000022
+:10BE200002020201020102010202020202020100F8
+:10BE300002010100000101000000000000000101FA
+:10BE400000010202010202020001010101020202DC
+:10BE500002010200010000010101010101010001D4
+:10BE600002010100000101010202020100000101C2
+:10BE700000010200000101000101010101010101B5
+:10BE800000010101010201010001010101010201A2
+:10BE90000001010101010101010101010101010193
+:10BEA0000102020202020202010102020202020275
+:10BEB0000001020100020202010201010100000171
+:10BEC0000001010101010101010101010101010163
+:10BED0000002020200020202020202010202020247
+:10BEE0000001010101010101010101010101010143
+:10BEF0000202020202020202020202020202020222
+:10BF0000020001010101010101020102010201011E
+:10BF10000000000000000000000000000000000021
+:10BF200002020202020102010202020202020100F6
+:10BF300002010100000101000000000000000101F9
+:10BF400001020202020202020002020202020202D4
+:10BF500002020201010100010101020101020101CD
+:10BF600002010100000101010202020101000101C0
+:10BF700000010200000101010101020101020201B0
+:10BF8000010102020102020200010101010202029A
+:10BF90000001010101010101010101010101020191
+:10BFA0000102020202020202020202020202020272
+:10BFB0000001020100020202020101010100000170
+:10BFC0000001010101010101010101010101010162
+:10BFD0000102020200020202020202010202020245
+:10BFE0000001010101010101010101010101010142
+:10BFF0000202020202020202020202020202020221
+:10C00000020101010101010102020102010201011B
+:10C010000000000000000000000000000000000020
+:10C0200002020202020102020202020202020100F4
+:10C0300002010100000101000000000000000101F8
+:10C0400001020202020202020002020202020202D3
+:10C0500002020201020100010101020102020101CA
+:10C0600002010100000101010202020101000101BF
+:10C0700000010200000101010101020101020201AF
+:10C080000102020202020202000102020202020294
+:10C09000000102020102010101010101010202028B
+:10C0A0000102020202020202020202020202020271
+:10C0B000000202020102020202010102010000026A
+:10C0C0000001010101010101010101010101010161
+:10C0D0000102020200020202020202020202020243
+:10C0E0000001010101010101010101010101010141
+:10C0F0000202020202020202020202020202020220
+:10C100000201010101010202020202020202010215
+:10C11000000000000000000000000000000000001F
+:10C1200002020202020202020202020202020200F1
+:10C1300002010101010101000000000000000101F5
+:10C1400002020202020202020002020202020202D1
+:10C1500002020202020100010202020102020102C5
+:10C1600002010201020101010202020201010101B8
+:10C1700002020200000201010201020102020202A7
+:10C180000102020202020202000202020202020292
+:10C190000102020202020202010102010202020283
+:10C1A000020202020202020202020202020202026F
+:10C1B0000002020201020202020101020100000269
+:10C1C000000102020101010101010101010102015D
+:10C1D0000202020200020202020202020202020241
+:10C1E0000001010101010101010101010101010140
+:10C1F000020202020202020202020202020202021F
+:10C200000201020102010202020202020202020211
+:10C21000000001000000000000000000000000001D
+:10C2200002020202020202020202020202020200F0
+:10C2300002010101010201000000000000000202F1
+:10C2400002020202020202020002020202020202D0
+:10C2500002020202020100020202020202020102C2
+:10C2600002010201010101010202020201010101B8
+:10C2700002020200000202010201020202020202A4
+:10C280000202020202020202000202020202020290
+:10C290000102020202020202010202020202020280
+:10C2A000020202020202020202020202020202026E
+:10C2B0000002020201020202020102020100000267
+:10C2C0000102020202020202010102010202020252
+:10C2D0000202020200020202020202020202020240
+:10C2E000010101010101010101010101010101013E
+:10C2F000020202020202020202020202020202021E
+:10C30000020102010202020202020202020202020F
+:10C31000000001000000000000000000000000001C
+:10C3200002020202020202020202020202020200EF
+:10C3300002020201010201000000000000000202EE
+:10C3400002020202020202020002020202020202CF
+:10C3500002020202020200020202020202020102C0
+:10C3600002020201010201010202020201010201B4
+:10C3700002020201000202020202020202020202A0
+:10C38000020202020202020200020202020202028F
+:10C39000020202020202020201020202020202027E
+:10C3A000020202020202020202020202020202026D
+:10C3B0000002020201020202020102020100010265
+:10C3C000020202020202020201010202020202024F
+:10C3D000020202020102020202020202020202023E
+:10C3E000010101010101010101010101010101013D
+:10C3F000020202020202020202020202020202021D
+:10C40000020202020202020202020202020202020C
+:10C410000000010000000000000200000000000019
+:10C4200002020202020202020202020202020200EE
+:10C4300002020201010202000000000000000202EC
+:10C4400002020202020202020002020202020202CE
+:10C4500002020202020200020202020202020202BE
+:10C4600002020201010202020202020202010202AF
+:10C47000020202020002020202020202020202029E
+:10C48000020202020202020201020202020202028D
+:10C49000020202020202020202020202020202027C
+:10C4A000020202020202020202020202020202026C
+:10C4B0000002020202020202020102020100010263
+:10C4C000020202020202020202020202020202024C
+:10C4D000020202020102020202020202020202023D
+:10C4E0000101010202020202010101010102020135
+:10C4F000020202020202020202020202020202021C
+:10C50000020202020202020202020202020202020B
+:10C510000001010000010000000100020100000014
+:10C5200002020202020202020202020202020200ED
+:10C5300002020202020202000000000000000202E9
+:10C5400002020202020202020002020202020202CD
+:10C5500002020202020200020202020202020202BD
+:10C5600002020202010202020202020202020202AC
+:10C57000020202020202020202020202020202029B
+:10C58000020202020202020201020202020202028C
+:10C59000020202020202020202020202020202027B
+:10C5A000020202020202020202020202020202026B
+:10C5B000020202020202020202020202020001025E
+:10C5C000020202020202020202020202020202024B
+:10C5D000020202020202020202020202020202023B
+:10C5E000010202020202020202020202020202022C
+:10C5F000020202020202020202020202020202021B
+:10C60000020202020202020202020202020202020A
+:10C610000001010000010000000100010100010112
+:10C6200002020202020202020202020202020200EC
+:10C6300002020202020202000000000000000202E8
+:10C6400002020202020202020102020202020202CB
+:10C6500002020202020200020202020202020202BC
+:10C6600002020202020202020202020202020202AA
+:10C67000020202020202020202020202020202029A
+:10C68000020202020202020201020202020202028B
+:10C69000020202020202020202020202020202027A
+:10C6A000020202020202020202020202020202026A
+:10C6B000020202020202020202020202020001025D
+:10C6C000020202020202020202020202020202024A
+:10C6D000020202020202020202020202020202023A
+:10C6E000010202020202020202020202020202022B
+:10C6F000020202020202020202020202020202021A
+:10C700000202020202020202020202020202020209
+:10C71000010101000001000002010101010001010D
+:10C7200001020202020202020202020101010200EF
+:10C7300002020202020202010000000000000202E6
+:10C7400002020202020202020202020202020202C9
+:10C7500002020202010202020202020202020202BA
+:10C7600002020202020202020202020202020202A9
+:10C770000202020202020202020202020202020299
+:10C780000202020202020202020202020202020289
+:10C790000202020202020202020202020202020279
+:10C7A0000202020202020202020202020202020269
+:10C7B000020202020202020202020202020001025C
+:10C7C0000202020202020202020202020202020249
+:10C7D0000202020202020202020202020202020239
+:10C7E0000202020202020202020202020202020229
+:10C7F0000202020202020202020202020202020219
+:10C800000202020202020202020202020202020208
+:10C81000010101000101000001010101000101010C
+:10C8200001010101010201020101010101010200F6
+:10C8300002020202020202010001000000000202E4
+:10C8400002020202020202020202020202020202C8
+:10C8500002020201010202020202020202020202BA
+:10C8600002020202020202020202020202020202A8
+:10C870000202020202020202020202020202020298
+:10C880000202020202020202020202020202020288
+:10C890000202020202020202020202020202020278
+:10C8A0000202020202020202020202020202020268
+:10C8B000020202020202020202020202020002025A
+:10C8C0000202020202020202020202020202020248
+:10C8D0000202020202020202020202020202020238
+:10C8E0000202020202020202020202020202020228
+:10C8F0000202020202020202020202020202020218
+:10C900000202020202020202020202020202020207
+:10C910000200020001010101010101000001010109
+:10C9200001010101010201010101010101010100F7
+:10C9300002020202020202020002010000010202DF
+:10C9400002020202020202020202020202020202C7
+:10C9500001020201020202020202020202020202B9
+:10C9600002020202020202020202020202020202A7
+:10C970000202020202020202020202020202020297
+:10C980000202020202020202020202020202020287
+:10C990000202020202020202020202020202020277
+:10C9A0000202020202020202020202020202020267
+:10C9B0000202020202020202020202020200020259
+:10C9C0000202020202020202020202020202020247
+:10C9D0000202020202020202020202020202020237
+:10C9E0000202020202020202020202020202020227
+:10C9F0000102020202020202020202020202020218
+:10CA00000202020202020202020202020202020206
+:10CA10000202020100010101010000000001010108
+:10CA200001010101010101010101010101010100F7
+:10CA300002020202020202020202020200020202D8
+:10CA400002020202020202020202020202020202C6
+:10CA500002010102020101010101010101010101C3
+:10CA600002020202020202020202020202020202A6
+:10CA700001010101010101010101010101010101A6
+:10CA80000202020202020202020202020202020286
+:10CA90000202020202020202020202020202020276
+:10CAA0000202020202020202020202020202020266
+:10CAB0000202020202020202020202020200020258
+:10CAC0000202020202020202020202020202020246
+:10CAD0000101010101010101010101010101010146
+:10CAE0000202020202020202020202020202020226
+:10CAF0000201010101020202010101010101020121
+:10CB00000202020202020202020202020202020205
+:10CB10000202020100020101000000000000010108
+:10CB200001010101010101010101010101010100F6
+:10CB300002020202020202020202020202020202D5
+:10CB400002020202020202020202020202020202C5
+:10CB500000020202000202020202020202020202B9
+:10CB600002020202020202020101010101010202AB
+:10CB70000202020202020202020202020202020295
+:10CB80000202020202020202020202020202020285
+:10CB90000202020202020202020202020202020275
+:10CBA0000202020202020202020202020202020265
+:10CBB0000202020202020202020202020202020255
+:10CBC0000101010101010101010101010101010155
+:10CBD0000202020202020202020202020202020235
+:10CBE0000202020202020202020202020202020225
+:10CBF000000202020201010102020202020201021B
+:10CC00000202020202020202020202020202020204
+:10CC1000020202000002000000020000000000000A
+:10CC200000010101010101010101010000000100F9
+:10CC300001020202020202020202020202020202D5
+:10CC400001010101010101010101010101010101D4
+:10CC500000000000000000000000000000000000D4
+:10CC600000020202020202020202020202020202A6
+:10CC700000000000000000000000000000000000B4
+:10CC80000202020202020202020202020202020284
+:10CC90000202020202020202020202020202020274
+:10CCA0000202020202020202020202020202020264
+:10CCB0000202020202020202020202020202020254
+:10CCC0000202020202020202020202020202020244
+:10CCD0000000000000000000000000000000000054
+:10CCE0000202020202020202020202020202020224
+:10CCF000000000000002020200000000000002002C
+:10CD00000101010101010101010101010101010113
+:10CD10000202020202020000000200000000020201
+:10CD20000000000000010000000000000000000002
+:10CD300001020202020202020202020202020202D4
+:10CD400002020202020202020202020202020202C3
+:10CD500001000000000000000000000000000000D2
+:10CD600000000000000000000000000000000000C3
+:10CD700000000000000000000000000000000000B3
+:10CD80000202020202020202020202020202020283
+:10CD90000101010101010101010101010101010183
+:10CDA0000000000000000000000000000000000083
+:10CDB0000202020200020202020202020202020255
+:10CDC0000000000000000000000000000000000063
+:10CDD0000000000000000000000000000000000053
+:10CDE0000202020202020202020202020202020223
+:10CDF0000000000000000000000000000000000033
+:10CE00000202020202020202020202020202020202
+:10CE100002020202020202020202020202020202F2
+:10CE20000000000000000000000000000000000002
+:10CE300001010101010101010101010101010101E2
+:10CE400000000000000000000000000000000000E2
+:10CE500001010101010101010101010101010101C2
+:10CE600001000000000000000000000000000000C1
+:10CE700000000000000000000000000000000000B2
+:10CE800000000000000000000000000000000000A2
+:10CE90000202020202020202020202020202020272
+:10CEA0000000000000000000000000000000000082
+:10CEB0000101010101010101010101010101010162
+:10CEC0000000000000000000000000000000000062
+:10CED0000000000000000000000000000000000052
+:10CEE0000202020202020202020202020202020222
+:10CEF0000101010101010101010101010101010122
+:10CF00000000000000000000000000000000000021
+:10CF100002020202020202020202020202020202F1
+:10CF20000000000000000000000000000000000001
+:10CF300001010101010101010101010101010101E1
+:10CF400000000000000000000000000000000000E1
+:10CF500001010101010101010101010101010101C1
+:10CF600001010101010101010101010101010101B1
+:10CF700000000000000000000000000000000000B1
+:10CF800000000000000000000000000000000000A1
+:10CF90000000000000000000000000000000000091
+:10CFA0000000000000000000000000000000000081
+:10CFB0000101010101010101010101010101010161
+:10CFC0000000000000000000000000000000000061
+:10CFD0000000000000000000000000000000000051
+:10CFE0000202020202020202020202020202020221
+:10CFF0000101010101010101010101010101010121
+:10D000000000000000000000000000000000000020
+:10D0100002020202020202020202020202020202F0
+:10D020000000000000000000000000000000000000
+:10D0300001010101010101010101010101010101E0
+:10D0400001010101010101010101010101010101D0
+:10D0500001010101010101010101010101010101C0
+:10D0600001010101010101010101010101010101B0
+:10D0700001010101010101010101010101010101A0
+:10D080000101010101010101010101010101010190
+:10D090000000000000000000000000000000000090
+:10D0A0000000000000000000000000000000000080
+:10D0B0000101010101010101010101010101010160
+:10D0C0000000000000000000000000000000000060
+:10D0D0000101010101010101010101010101010140
+:10D0E0000202020202020202020202020202020220
+:10D0F0000101010101010101010101010101010120
+:10D10000000000000000000000000000000000001F
+:10D1100002020202020202020202020202020202EF
+:10D1200001000000000000000000000101010000FB
+:10D1300001010101010101010101010101010101DF
+:10D1400001010101010101010101010101010101CF
+:10D1500001010101010101010101010101010101BF
+:10D1600001010101010101010101010101010101AF
+:10D17000010101010101010101010101010101019F
+:10D18000010101010101010101010101010101018F
+:10D19000010101010101010101010101010101017F
+:10D1A000010101010101010101010101010101016F
+:10D1B000010101010101010101010101010101015F
+:10D1C000000000000000000000000000000000005F
+:10D1D000010101010101010101010101010101013F
+:10D1E000020202020202020202020202020202021F
+:10D1F000010101010101010101010101010101011F
+:10D20000000000000000000000000000000000001E
+:10D2100002020202020202020202020202020202EE
+:10D2200001010101010001010101010101010100F0
+:10D2300001010101010101010101010101010101DE
+:10D2400001010101010101010101010101010101CE
+:10D2500001010101010101010101010101010101BE
+:10D2600001010101010101010101010101010101AE
+:10D27000010101010101010101010101010101019E
+:10D28000010101010101010101010101010101018E
+:10D29000010101010101010101010101010101017E
+:10D2A000010101010101010101010101010101016E
+:10D2B000010101010101010101010101010101015E
+:10D2C000010101010101010101010101010101014E
+:10D2D000010101010101010101010101010101013E
+:10D2E000020202020202020202020202020202021E
+:10D2F000010101010101010101010101010101011E
+:10D30000010101010101010101010101010101010D
+:10D31000000000000000000000000000000000000D
+:10D3200001010101010101010101010101010101ED
+:10D3300001010101010101010101010101010101DD
+:10D3400001010101010101010101010101010101CD
+:10D3500001010101010101010101010101010101BD
+:10D3600001010101010101010101010101010101AD
+:10D37000010101010101010101010101010101019D
+:10D38000010101010101010101010101010101018D
+:10D39000010101010101010101010101010101017D
+:10D3A000010101010101010101010101010101016D
+:10D3B000010101010101010101010101010101015D
+:10D3C000010101010101010101010101010101014D
+:10D3D000010101010101010101010101010101013D
+:10D3E000010101010101010101010101010101012D
+:10D3F000010101010101010101010101010101011D
+:10D40000010101010101010101010101010101010C
+:10D41000000000000000000000000000000000000C
+:10D4200001010101010101010101010101010101EC
+:10D4300000000000000000000000000000000000EC
+:10D4400000000000000000000000000000000000DC
+:10D4500002020202020202020202020202020202AC
+:10D46000020202020202020202020202020202029C
+:10D47000020202020202020202020202020202028C
+:10D48000020202020202020202020202020202027C
+:10D49000020202020202020202020202020202026C
+:10D4A000020202020202020202020202020202025C
+:10D4B000020202020202020202020202020202024C
+:10D4C000020202020202020202020202020202023C
+:10D4D000020202020202020202020202020202022C
+:10D4E000000000000000000000000000000000003C
+:10D4F000020202020202020202020202020202020C
+:10D5000002020202020202020202020202020202FB
+:10D51000000000000000000000000000000000000B
+:10D5200001010101010101010101010101010101EB
+:10D5300000000000000000000000000000000000EB
+:10D5400000000000000000000000000000000000DB
+:10D5500000000000000000000000000000000000CB
+:10D5600000000000000000000000000000000000BB
+:10D5700000000000000000000000000000000000AB
+:10D58000000000000000000000000000000000009B
+:10D59000000000000000000000000000000000008B
+:10D5A000000000000000000000000000000000007B
+:10D5B000020202020202020202020202020202024B
+:10D5C000000000000000000000000000000000005B
+:10D5D000020202020202020202020202020202022B
+:10D5E000000000000000000000000000000000003B
+:10D5F000020202020202020202020202020202020B
+:10D6000002020202020202020202020202020202FA
+:10D61000000000000000000000000000000000000A
+:10D6200001010101010101010101010101010101EA
+:10D6300000000000000000000000000000000000EA
+:10D6400000000000000000000000000000000000DA
+:10D6500000000000000000000000000000000000CA
+:10D6600000000000000000000000000000000000BA
+:10D6700000000000000000000000000000000000AA
+:10D68000000000000000000000000000000000009A
+:10D69000000000000000000000000000000000008A
+:10D6A000000000000000000000000000000000007A
+:10D6B000000000000000000000000000000000006A
+:10D6C000000000000000000000000000000000005A
+:10D6D000000000000000000000000000000000004A
+:10D6E000000000000000000000000000000000003A
+:10D6F000020202020202020202020202020202020A
+:10D700000000000000000000000000000000000019
+:10D710000000000000000000000000000000000009
+:10D7200000000000000000000000000000000000F9
+:10D7300000000000000000000000000000000000E9
+:10D7400000000000000000000000000000000000D9
+:10D7500000000000000000000000000000000000C9
+:10D7600000000000000000000000000000000000B9
+:10D7700000000000000000000000000000000000A9
+:10D780000000000000000000000000000000000099
+:10D790000000000000000000000000000000000089
+:10D7A0000000000000000000000000000000000079
+:10D7B0000000000000000000000000000000000069
+:10D7C0000000000000000000000000000000000059
+:10D7D0000000000000000000000000000000000049
+:10D7E0000000000000000000000000000000000039
+:10D7F0000000000000000000000000000000000029
+:10D800000000000000000000000000000000000018
+:10D810000000000000000000000000000000000008
+:10D8200030000000000000000000000000000000C8
+:10D8300000000000000000000000000000000000E8
+:10D8400000000000000000000000000000000000D8
+:10D8500000000000000000000000000000000000C8
+:10D8600000000000000000000000000000000000B8
+:10D8700000000000000000000000000000000000A8
+:10D880000000000000000000000000000000000098
+:10D890000001000000000000000000000000000087
+:10D8A0000000000000000000000000000000000078
+:10D8B0000000000000000000000000000000000068
+:10D8C0000000000000000000000000000000000058
+:10D8D0000000000000000000010000000000000047
+:10D8E0000000000000000000000000000000000038
+:10D8F0000000000000000000000000000000000028
+:10D900000000000000000000000000000000000017
+:10D910000000000000000000000000000000000007
+:10D9200000000000000000000000000000000000F7
+:10D9300000000000000000000000000000000000E7
+:10D9400000000000000000000000000000000000D7
+:10D9500000000000000000000000000000000000C7
+:10D9600000000000000000000000000000000000B7
+:10D9700000000000000000000000000000000000A7
+:10D980000000000000000000000000000000000097
+:10D990000001000000000000000000000000000086
+:10D9A0000000000000000000000000000000000077
+:10D9B0000000000000000000000000000000000067
+:10D9C0000000000000000000000000000000000057
+:10D9D0000000000100000000010000000000000045
+:10D9E0000000000000000000000000000000000037
+:10D9F0000000000000000000000000000000000027
+:10DA00000000000000000000000000000000000016
+:10DA10000000000000000000000000000000000006
+:10DA200000000000000000000000000000000000F6
+:10DA300000000000000000000000000000000000E6
+:10DA400000000000000000000000000000000000D6
+:10DA500000000000000000000000000000000000C6
+:10DA600000000000000000000000000000000000B6
+:10DA700000000000000000000000000000000000A6
+:10DA80000000000000000000000000000000000096
+:10DA90000001000000000000000000000000000085
+:10DAA0000000000000000000000000000000000076
+:10DAB0000000000000000000000000000000000066
+:10DAC0000000000000000000000000000001000154
+:10DAD0000000000100000000010000000000000044
+:10DAE0000000000000000000000000000000000036
+:10DAF0000000000000000000000000000000000026
+:10DB00000000000000000000000000000000000015
+:10DB10000000000000000000000000000000000005
+:10DB200000000000000000000000000000000000F5
+:10DB300000000000000000000000000000000000E5
+:10DB400000000000000000000000000000000000D5
+:10DB500000000000000000000000000000000000C5
+:10DB600000000000000000000000000000000000B5
+:10DB700000000000000000000000000000000000A5
+:10DB80000000000000000000010000000000000094
+:10DB90000001000000000000000000000000000084
+:10DBA0000000000000000000000000000000000075
+:10DBB0000000000000000000000000000000000065
+:10DBC0000100000000010000000000000001000151
+:10DBD0000000000101000000010000000000000042
+:10DBE0000000000000000000000000000000000035
+:10DBF0000000000000000000000000000000000025
+:10DC00000000000000000000000000000000000014
+:10DC10000000000000000000000000000000000004
+:10DC200000000000000000000000000000000000F4
+:10DC300000000000000000000000000000000000E4
+:10DC400000000000000000000000000000000000D4
+:10DC500000000000000000000000000000000000C4
+:10DC600000000000000000000000000000000000B4
+:10DC700000000000000000000000000000000000A4
+:10DC80000000000000000000010000000000000093
+:10DC90000001000000000000000000000000000083
+:10DCA0000000000000000000000000000000000074
+:10DCB0000000000000000000000000000000000064
+:10DCC0000100000000010000000000000001000150
+:10DCD000000000010101010001000000000000003F
+:10DCE0000000000000000000000000000000000034
+:10DCF0000000000000000000000000000000000024
+:10DD00000000000000000000000000000000000013
+:10DD10000000010000000001000000000000000001
+:10DD200000000000000000000000000000000000F3
+:10DD300000000000000000000000000000000000E3
+:10DD400000000000000000000000000000000000D3
+:10DD500000000000000000000000000000000000C3
+:10DD600000000000000000000000000000000000B3
+:10DD700000000000000000000000000000000000A3
+:10DD80000000000000000000010000000000000092
+:10DD90000001000000000000000000000000000082
+:10DDA0000000000000000000000000000000000073
+:10DDB0000000000000000000000000000000000063
+:10DDC000010000000001000000000000000100014F
+:10DDD000000001010101010101000000000000003C
+:10DDE0000000000000000000000000000000000033
+:10DDF0000000000000000000000000000000000023
+:10DE00000001000000000000000100000000000010
+:10DE100000010100000000010000000000000100FE
+:10DE200000000000000000000100000000000000F1
+:10DE300000000000000000000000000000000000E2
+:10DE400000000000000000000000000000000000D2
+:10DE500000000000000000000000000000000000C2
+:10DE600000000000000000000000000000000000B2
+:10DE700000000000000000000000000000000000A2
+:10DE80000000000000000000010000000000000091
+:10DE90000001000000000000000000000000000081
+:10DEA0000000000000000000000000000000000072
+:10DEB0000000000000000000000000000000010061
+:10DEC000010000000001000000000000000100014E
+:10DED000000001010101010101000000000000003B
+:10DEE0000000000000000000000000000000000032
+:10DEF0000000000000000100000000000000000021
+:10DF0000000100000000000000010000000000000F
+:10DF100000010101000000010000000000000100FC
+:10DF200000000000000000000101000000000000EF
+:10DF300000000000000000000000000000000000E1
+:10DF400000000000000000000000000000000000D1
+:10DF500000000000000000000000000000000000C1
+:10DF600000000001000000000100000000000000AF
+:10DF700000000000000000000000000000000000A1
+:10DF80000000000000000000010000000000000090
+:10DF90000001000000000000000000000000000080
+:10DFA0000000000000000000000000000000000071
+:10DFB0000000000000000000000000000000010060
+:10DFC000010000000001010000000000000101014B
+:10DFD000000001010101010101000000000000003A
+:10DFE0000000000000000000000000000000000031
+:10DFF0000000000000000100000000000000000020
+:10E00000000100000000000000010000000000000E
+:10E0100000010101000000010000000000000100FB
+:10E0200000000000000000000101000000000000EE
+:10E0300000000000000000000000000000000000E0
+:10E0400000000000000000000000000000000000D0
+:10E0500000000000000000000000000000000000C0
+:10E0600000000001000100000100000000000000AD
+:10E0700000000000000000000000000000000000A0
+:10E08000000000000000000001000000000000008F
+:10E09000000100000000000000000000000000007F
+:10E0A0000000000000000000000000000000000070
+:10E0B000000000000000000000000000000001005F
+:10E0C0000100000100010101000000000001010148
+:10E0D0000100010101010101010000000000000038
+:10E0E0000000000000000000000000000000000030
+:10E0F000000000000001010000000000000000001E
+:10E10000000100000000000001010000000000000C
+:10E1100000010101010000010000000000000100F9
+:10E1200000000000000000000101000000000000ED
+:10E1300000000000000000000000000000000000DF
+:10E1400000000000000000000000000000000000CF
+:10E1500000000000000000000000000000000000BF
+:10E1600000000001000100010100000000000000AB
+:10E17000000000000000000000000000000000009F
+:10E18000000000000000000001000000000000008E
+:10E19000000100000000000000000000000000007E
+:10E1A000000000000000000000000000000000006F
+:10E1B000000000010000000000000000000001005D
+:10E1C0000100000100010101000000000001010147
+:10E1D0000100010101010101010000000000000037
+:10E1E000000000000000000000000000000000002F
+:10E1F000000000000001010000000000000000001D
+:10E20000000100000000000001010000000000000B
+:10E2100000010101010100010000000000000100F7
+:10E2200000000000000000000201000100000000EA
+:10E2300000000000000000000000000000000000DE
+:10E2400000000000000000000000000000000000CE
+:10E2500000000000000000000000000000000000BE
+:10E2600000000001000101010100000000000000A9
+:10E27000000000000000000000000000000000009E
+:10E28000000000000000000001000000000000008D
+:10E29000000100000000000000000000000000007D
+:10E2A000000000010000000000000000000000006D
+:10E2B000000000010001000000000000000001005B
+:10E2C0000100010100010101000000000001010145
+:10E2D0000100010101010101010000000000000036
+:10E2E000000000000000000000000000000000002E
+:10E2F000000000000001010000000000000000001C
+:10E30000000100000000000001010000000000000A
+:10E3100000010101010100010000000000000100F6
+:10E3200000000001000000000201000100000000E8
+:10E3300000000000000000000000000000000000DD
+:10E3400000000000000000000000000000000000CD
+:10E3500000000000000000000000000000000100BC
+:10E3600000000101010101010101000000000000A5
+:10E37000000000000000000000000000000000009D
+:10E38000000000000000000001000000000000008C
+:10E39000000100010000000000000000000000007B
+:10E3A000000000010000000000000000000000006C
+:10E3B0000000000100010001000000000000010059
+:10E3C0000100010100010101000000000001010144
+:10E3D0000100010101010101010000000000000035
+:10E3E000000000000000000000000000000000002D
+:10E3F000000000010001010000000000000000001A
+:10E400000001000000000000010100000000000009
+:10E4100001010101010101010000010000000100F2
+:10E4200000000001000000000201000100000100E6
+:10E4300000000000000000000000000000000000DC
+:10E4400000000000000000000000000000000000CC
+:10E4500000000000000100000000000001010100B8
+:10E4600000010101010101010101000000000000A3
+:10E47000000000000000000000000000000000009C
+:10E48000000000000000000001000000000000008B
+:10E49000000100010000000000000000000000007A
+:10E4A000000000010000000100000000000000006A
+:10E4B0000000000100010101000000000000010057
+:10E4C0000100010100010101000000000001010143
+:10E4D0000100010101010101020000000000000033
+:10E4E000000000000000000000000000010000002B
+:10E4F0000000000100010100000000000000000019
+:10E500000001000000000000010100000000000008
+:10E5100001010101010101010000010000000100F1
+:10E5200000000001000000000202000101010101E1
+:10E5300000000000000000000000000000000000DB
+:10E5400000000000000000000000000000000000CB
+:10E5500000000001000100010000000001010100B5
+:10E5600000010101010101010101000000000000A2
+:10E57000000000000000000000000000000000009B
+:10E580000000000100000000010000000000000089
+:10E590000001000100000000000000000000000079
+:10E5A0000001000100010101000000000000010065
+:10E5B0000000010101010101000000000000010153
+:10E5C0000100010100010101000000000001010142
+:10E5D0000100010101010101020000000000000032
+:10E5E000000000000000000000000000010000002A
+:10E5F0000000000100010101000000000000000017
+:10E600000001000000000000010100000001000105
+:10E6100001010101010101010000010000000100F0
+:10E6200000000001000000000202000101010101E0
+:10E6300000000000000000000000000000000000DA
+:10E6400000000000000000000000000000000000CA
+:10E6500000000001000100010000000001010101B3
+:10E6600001010101010101010101000000000000A0
+:10E67000000000000000000000000000000000009A
+:10E680000000000100000000010000000000000088
+:10E690000001000100000000000000000000010077
+:10E6A0000001010101010101000000000101010060
+:10E6B0000000010101010101000000000000010152
+:10E6C0000100010100010101000000000001010141
+:10E6D0000100010101010101020000000000000031
+:10E6E0000000000100000000000000000100000028
+:10E6F0000000000100010101000000000000000016
+:10E700000001000000000000010101010001010101
+:10E7100001010101010101010000010000000100EF
+:10E7200000000001000000000202000101010101DF
+:10E7300001010000000000000000000000000000D7
+:10E7400000000000000000000000000000000100C8
+:10E7500000000101010100010000010101010101AE
+:10E76000010101010101010101010000000000009F
+:10E770000000000000000000000000000000000099
+:10E780000000000100000000020000000000000086
+:10E790000002000100000000000000000101010172
+:10E7A000010101010101010100000101010101005C
+:10E7B0000000010101010101000000000000010151
+:10E7C000010101010001010101000000000101013E
+:10E7D0000100010101010101020000000000000030
+:10E7E0000000000100010000000000000100000026
+:10E7F0000000000100010101000000000000000015
+:10E8000001010000000000000101010101010101FE
+:10E8100001010101010101010000010000000100EE
+:10E8200000000001000000000202000201010101DD
+:10E8300001010101010000000100000000000000D2
+:10E8400000000001000000010000000001010100C3
+:10E8500000000101010101010001010101010101AB
+:10E86000010101010101010102010000000000009D
+:10E870000000000000000000000000000000000098
+:10E880000000000100000000020000000000000085
+:10E89000000200010001000000000100010101016F
+:10E8A0000101010101010101000101010101010159
+:10E8B000010101010101010100000000000001014E
+:10E8C000010101010001010101000000000201023B
+:10E8D000010001010101010102000000000000002F
+:10E8E0000000000100010001000000000100000024
+:10E8F0000000000100010101000000000000000014
+:10E9000001010000000000000101010101010101FD
+:10E9100001010101010101010000010000000100ED
+:10E9200000000001000000000202000201010101DC
+:10E9300001010101010000000100000000000000D1
+:10E9400000000001000100010000000001010100C1
+:10E9500000000101010101010001010101010101AA
+:10E96000010101010101010102010000000000009C
+:10E970000000000000000000000000000000000097
+:10E980000000000100000000020000000000000084
+:10E99000000201010001000100000100010101016C
+:10E9A0000101010101010101000101010101010158
+:10E9B000010101010101010100000000000001014D
+:10E9C0000201010100010101010000000002010239
+:10E9D000010001020201010102000000000000002C
+:10E9E0000000000100010101000000000100010021
+:10E9F0000000010100010101000100000000000011
+:10EA000001010000000000000101010101010101FC
+:10EA100001010101010101010000010000000000ED
+:10EA200000000001000000000202010201010102D9
+:10EA300002010101010000010100000000000100CD
+:10EA400000000001000100010000000001010100C0
+:10EA500000010101010101010001010101010101A8
+:10EA6000010101010101010102010000000000009B
+:10EA70000000000000000000000000000000000096
+:10EA80000000000100000000020000000000000083
+:10EA9000000201010001000100000101010101016A
+:10EAA0000101010101010101000101010101010157
+:10EAB000010101010101010100000100000001014B
+:10EAC0000201010101020101010000000102010235
+:10EAD0000101020202020201020000000000000027
+:10EAE0000000000100010101000000000100010020
+:10EAF0000000010100010101000100000000000010
+:10EB000001010100000000000101010101010101FA
+:10EB100001010101010101010001010000000000EB
+:10EB200000000001000000000202010201010102D8
+:10EB300002020101010000010100000001000100CA
+:10EB400000000001000100010000000001010100BF
+:10EB500000010101010101010001010101010101A7
+:10EB6000010101010101010102010000000000009A
+:10EB70000000000000000000000000000000000095
+:10EB80000000000100000000020000000000010081
+:10EB90000002010100010001000101010101010168
+:10EBA0000101010101010101000101010101010156
+:10EBB0000101010101010101000001000000020149
+:10EBC0000201010101020101020001010102020230
+:10EBD0000201020202020202020000000100000023
+:10EBE000000200010001010100000100010001001C
+:10EBF000000001010101010100010000000000000E
+:10EC000001020100000000000202010101010101F6
+:10EC100001010101010101010001010000010000E9
+:10EC200000000001000000000202010202020202D4
+:10EC300002020201010000010200000001000100C7
+:10EC400000000001010100010000000001010100BD
+:10EC500001010101010101010001010101010101A5
+:10EC60000101010101010101020200000000000098
+:10EC70000000000000000000000000000000000094
+:10EC8000000000010001000002000000010101007D
+:10EC90000002010100010001000101010101010167
+:10ECA0000101010101010101000101010101010155
+:10ECB0000101010101010101000001000000020148
+:10ECC000020101010102020102010101010202022D
+:10ECD0000201020202020202020000000100010021
+:10ECE0000002000101010101000001000100010119
+:10ECF000010001010101010100010101000000000A
+:10ED000001020100010000010202010101010101F3
+:10ED100001020201010101010001010000010000E6
+:10ED200001000001000000000202020202020202D1
+:10ED300002020201020000010200000001000100C5
+:10ED400000000001010101010000010101010100B9
+:10ED500001010101010101010101010101010101A3
+:10ED60000101010101010101020200000000000196
+:10ED7000010100000000000100000001000000008F
+:10ED8000000000010001000102000000010101007B
+:10ED90000002010101010001000101010101010165
+:10EDA0000101010101010101000101010101010154
+:10EDB0000101010101010101000001000001020146
+:10EDC0000201020201020202020101010102020229
+:10EDD0000201020202020202020000000100010020
+:10EDE0000001000101010101000001000100010119
+:10EDF0000100010101010201000101010001000007
+:10EE000001020100010000010202010101010101F2
+:10EE100001020201010101020001000000010000E5
+:10EE200001000001000000000202020202020202D0
+:10EE300002020201020000000200000001000100C5
+:10EE400000000001010101010001010101010100B7
+:10EE500001010101010101010101010101010101A2
+:10EE60000101010101010101020201000000000194
+:10EE7000010100000000000100000001000000018D
+:10EE80000101000100010001020100000101010077
+:10EE90000002010101010001000101010101010164
+:10EEA0000101010101010101000101010101010153
+:10EEB0000101010101010101020001010001020241
+:10EEC0000201020201020202020101010102020228
+:10EED000020102020202020202000100010001001E
+:10EEE0000001010101010101000001000100010117
+:10EEF0000100010101020201000101010001010004
+:10EF000001020100010000010202010101010101F1
+:10EF100001020202020101020001000000010000E2
+:10EF200001000001000000000202020202020202CF
+:10EF300002020202020000000200000001000102C1
+:10EF400000000001010101010001010101010100B6
+:10EF500001010101010101010101010101010101A1
+:10EF60000101010101010101020201000000000193
+:10EF7000010100000000000100000001000000018C
+:10EF80000101000101010001020101010101010073
+:10EF90000002010101010001000101010101010163
+:10EFA0000101010101010101000101010101010152
+:10EFB000010101010101010102000101010102023F
+:10EFC0000202020201020202020101010102020226
+:10EFD000020102020202020202000100010001001D
+:10EFE0000001010101010101000001010200010114
+:10EFF0000100010101020201000101010101010002
+:10F0000001020100010101010202010101010101EE
+:10F0100002020202020201020001000000010000DF
+:10F0200001000001000000000202020202020202CE
+:10F0300002020202020000000200000001000102C0
+:10F0400000000001010101010001010101010100B5
+:10F0500001010101010101010101010101010101A0
+:10F06000010101020102010102020101000000018F
+:10F070000101010002000101000000010100000186
+:10F080000101000101010001020101010101010072
+:10F090000002010201010001010101010101010160
+:10F0A0000101010101010101000101010101010151
+:10F0B000010101020102010102000201010102023B
+:10F0C0000202020201020202020202020202020221
+:10F0D000020202020202020202000100010001001B
+:10F0E0000001010101010101000101010200010112
+:10F0F00001000102010202010002010101010100FF
+:10F1000002020100010101010202020201020102E8
+:10F1100002020202020202020001000000010001DC
+:10F1200001000000000000000202020202020202CE
+:10F1300002020202020000000201000001000101BF
+:10F1400000000001010101010101010101010100B3
+:10F15000010101010102010101010101020202019B
+:10F160000102020202020202020201010001010187
+:10F170000101010002010101000000010100000184
+:10F18000010101020101000102010101010101006F
+:10F19000000201020101000101010101010101015F
+:10F1A0000101010101010101010202020202020149
+:10F1B0000101020202020202020102010101020235
+:10F1C000020202020202020202020202020202021F
+:10F1D0000202020202020202020101000100010019
+:10F1E000020101020102010100010101020001010D
+:10F1F00001000102010202020002010101010101FC
+:10F2000002020100010101010202020202020202E5
+:10F2100002020202020202020001000100010001DA
+:10F2200001000000000000000202020202020202CD
+:10F2300002020202020000000201000002000201BC
+:10F2400000000002010201020101010102020200AC
+:10F250000101020202020102010202020202020292
+:10F260000202020202020202020202010001010283
+:10F270000202010001010101000000020101000180
+:10F28000010101020101000102010101010101006E
+:10F29000000202020102000101010101010101015C
+:10F2A0000101010101010101010202020202020247
+:10F2B0000202020202020202020102020102020230
+:10F2C000020202020202020202020202020202021E
+:10F2D0000202020202020202020101000200010017
+:10F2E0000201010201020202000102010201020107
+:10F2F00001010202010202020002020201010101F7
+:10F3000002020200010101010202020202020202E3
+:10F3100002020202020202020001000100010001D9
+:10F3200001000000000001000202020202020202CB
+:10F3300002020202020100000201000002000201BA
+:10F3400000000002020201020101010102020200AA
+:10F35000010202020202020202020202020202028E
+:10F360000202020202020202020202020101010280
+:10F37000020201000101010102000102010100027B
+:10F380000202010201010001020201010202020067
+:10F39000000202020102000201010101010101015A
+:10F3A0000102010201010101010202020202020244
+:10F3B000020202020202020202020202020202022D
+:10F3C000020202020202020202020202020202021D
+:10F3D0000202020202020202020102000201020013
+:10F3E0000101010202020202000102010201020205
+:10F3F00002010202020202020202020201020101F1
+:10F4000002020200020101010202020202020202E1
+:10F4100002020202020202020000000100010001D9
+:10F4200001000000000001000102020202020202CB
+:10F4300002020202020100000202010002000201B7
+:10F4400000000102020202020202020202020200A3
+:10F45000020202020202020202020202020202028C
+:10F46000020202020202020202020202010201027E
+:10F470000202020101010102020101020101000276
+:10F480000202010202020101020202020202020061
+:10F490000002020202020002010102010202020253
+:10F4A000020202020202020202020202020202023C
+:10F4B000020202020202020202020202020202022C
+:10F4C000020202020202020202020202020202021C
+:10F4D0000202020202020202020202010201020010
+:10F4E0000102020202020202000202020201020200
+:10F4F00002010202020202020202020202020201EE
+:10F5000002020200020101020202020202020202DF
+:10F5100002020202020202020000000100010001D8
+:10F5200001000000000001000101020202020202CB
+:10F5300001020202020102000202010002000201B5
+:10F5400000000102020202020202020202020200A2
+:10F55000020202020202020202020202020202028B
+:10F56000020202020202020202020202020202027B
+:10F570000202020101020202020101020201000272
+:10F58000020202020202010202020202020202005E
+:10F590000002020202020002010202020202020250
+:10F5A000020202020202020202020202020202023B
+:10F5B000020202020202020202020202020202022B
+:10F5C000020202020202020202020202020202021B
+:10F5D000020202020202020202020201020102000F
+:10F5E00001020202020202020202020202010202FD
+:10F5F00002010202020202020202020202020202EC
+:10F6000002020200020202020202020202020202DC
+:10F6100002020202020202020000000100010001D7
+:10F6200001000000000001010101020102020201CB
+:10F6300001010102020102000202020002000202B4
+:10F6400000000102020202020202020202020200A1
+:10F65000020202020202020202020202020202028A
+:10F66000020202020202020202020202020202027A
+:10F67000020202010202020202020202020200026D
+:10F68000020202020202010202020202020202005D
+:10F69000000202020202010202020202020202024D
+:10F6A000020202020202020202020202020202023A
+:10F6B000020202020202020202020202020202022A
+:10F6C000020202020202020202020202020202021A
+:10F6D000020202020202020202020202020202000C
+:10F6E00001020202020202020202020202020202FB
+:10F6F00002020202020202020202020202020202EA
+:10F7000002020200020202020202020202020202DB
+:10F7100002020202020202020000000100000001D7
+:10F7200001000000000001010101010102020201CB
+:10F7300001010102010102000202020002010202B3
+:10F74000000002020202020202020202020202009F
+:10F750000202020202020202020202020202020289
+:10F760000202020202020202020202020202020279
+:10F77000020202010202020202020202020201026B
+:10F78000020202020202010202020202020202005C
+:10F79000000202020202010202020202020202024C
+:10F7A0000202020202020202020202020202020239
+:10F7B000020202020202020201020202020202022A
+:10F7C0000202020202020202020202020202020219
+:10F7D000020202020202020202020202020202000B
+:10F7E00002020202020202020202020202020202F9
+:10F7F00002020202020202020202020202020202E9
+:10F8000002020200020202020202020202020202DA
+:10F8100002020202020202020002020100020201CE
+:10F8200002010102000001010101010101010101C8
+:10F8300001010101010201000202020202020202B0
+:10F84000000002020202020202020202020202009E
+:10F850000202020202020202020202020202020288
+:10F860000202020202020202020202020202020278
+:10F870000202020202020202020202020202010269
+:10F88000020202020202020202020202020202005A
+:10F89000000202020202010202020202020202024B
+:10F8A0000202020202020202020202020202020238
+:10F8B0000202020202020202020202020202020228
+:10F8C0000202020202020202010202020202020219
+:10F8D000020202020202020202020202020202000A
+:10F8E00002020202020202020202020202020202F8
+:10F8F00002020202020202020202020202020202E8
+:10F9000002020201020202020202020202020202D8
+:10F9100002020202020202020002020101020201CC
+:10F9200002010102000001010101010101010101C7
+:10F9300001010101010201000202020202020202AF
+:10F940000202020202020202020202020202020099
+:10F950000202020202020202020202020202020287
+:10F960000202020202020202020202020202020277
+:10F970000202020202020202020202020202020267
+:10F980000202020202020202020202020202020059
+:10F990000002020202020202020202020202020249
+:10F9A0000202020202020202020202020202020237
+:10F9B0000202020202020202000202020202020229
+:10F9C0000202020202020202010202020202020218
+:10F9D0000202020202020202010202020202020208
+:10F9E00002020202020202020202020202020202F7
+:10F9F00002020202020202020202020202020202E7
+:10FA000002020201020202020202020202020202D7
+:10FA100002020202020202020102020201020202C8
+:10FA200002010102000001010101010101010101C6
+:10FA300001010101010201000202020202020202AE
+:10FA40000202020202020202020202020202020197
+:10FA50000202020202020202020202020202020286
+:10FA60000202020202020202020202020202020276
+:10FA70000202020202020202020202020202020266
+:10FA80000202020202020202020202020202020256
+:10FA90000201020202020202020202020202020247
+:10FAA0000202020202020202020202020202020236
+:10FAB0000202020202020202000202020202020228
+:10FAC000020202020202020202010101010101011D
+:10FAD000010101010101010102020202020202020E
+:10FAE00002020202020202020202020202020202F6
+:10FAF00002020202020202020202020202020202E6
+:10FB000002020202020202020202020202020202D5
+:10FB100002020202020202020102020201020202C7
+:10FB200002010102000001010000010101010101C7
+:10FB300000010101010201000002020202020202B0
+:10FB40000202020202020202020202020202020295
+:10FB50000202020202020202020202020202020285
+:10FB6000020202020202020201010101010102017C
+:10FB7000010101020101020201020201020202016D
+:10FB80000101010201020202020202020202020259
+:10FB90000202020202020202020202020202020245
+:10FBA0000202020202020202020202020202020235
+:10FBB0000202020202020202000000000000000035
+:10FBC0000000000000000000020202020202020225
+:10FBD0000202020202020202000202020202020207
+:10FBE00002020202020202020202020202020202F5
+:10FBF00002020202020202020102020202020202E6
+:10FC000002020202020202020202020202020202D4
+:10FC100002020202020202020202020201020202C5
+:10FC200002010102000002010000000001010100C8
+:10FC300000000001000101000002020202020202B3
+:10FC40000202020202020202020202020202020294
+:10FC50000202020202020202020202020202020284
+:10FC6000020202020202020202010101010101017B
+:10FC7000010101020101010101020201020202016E
+:10FC80000101010201020202020202020202020258
+:10FC90000200020202020202020202020202020246
+:10FCA0000202020202020202020202020202020234
+:10FCB0000202020202020202000000000000000034
+:10FCC0000000000000000000000000000000000034
+:10FCD0000000000000000000000202020202020216
+:10FCE00002020202020202020202020202020202F4
+:10FCF00002020202020202020201010101010101EB
+:10FD000001010101010101010202020202020202DB
+:10FD100002020202020202020202020201020202C4
+:10FD200002000102010002010000000000000000CA
+:10FD300000000000000100000100000000000000C1
+:10FD400000000000000000000202020202020202A3
+:10FD50000202020202020202020202020202020283
+:10FD60000202020202020202000202020202020275
+:10FD70000202020102020202020101020101010269
+:10FD80000202020102010101000202020202020259
+:10FD90000200020202020202020202020202020245
+:10FDA0000202020202020202020202020202020233
+:10FDB0000202020202020202000000000000000033
+:10FDC0000000000000000000000000000000000033
+:10FDD0000000000000000000000000000000000023
+:10FDE0000000000000000000000000000000000013
+:10FDF00000000000000000000002020202020202F5
+:10FE000002020202020202020101010101010101DA
+:10FE100001010101010101010202020202020202CA
+:10FE200002020202010102020000000000000000C4
+:10FE300000000000000100000100000000000000C0
+:10FE400000000000000000000202020202020202A2
+:10FE50000202020202020202020202020202020282
+:10FE60000202020202020202000202020202000276
+:10FE70000202020202020000020202020202020266
+:10FE80000202020202020202000000000000000062
+:10FE90000000000000000000020202020202020252
+:10FEA0000202020202020202000000000000000042
+:10FEB0000000000000000000000000000000000042
+:10FEC0000000000000000000000000000000000032
+:10FED0000000000000000000000000000000000022
+:10FEE0000000000000000000000000000000000012
+:10FEF0000000000000000000000000000000000002
+:10FF000000000000000000000202020202020202E1
+:10FF100002020202020202020202020202020202C1
+:10FF200002020202000102020000000000000000C4
+:10FF300000000000000000000101010101010101B9
+:10FF400001010101010101010101010101010101A1
+:10FF50000101010101010101020202020202020289
+:10FF60000202020202020202010000000000000080
+:10FF70000000000000000000000000000000000081
+:10FF80000000000000000000000000000000000071
+:10FF90000000000000000000020202020202020251
+:10FFA0000202020202020202000000000000000041
+:10FFB0000000000000000000010101010101010139
+:10FFC0000101010101010101000000000000000029
+:10FFD0000000000000000000000000000000000021
+:10FFE0000000000000000000000000000000000011
+:10FFF0000000000000000000000000000000000001
+:02000002B0004C
+:1000000000000000000000000000000000000000F0
+:1000100000000000000000000202020202020202D0
+:1000200002020202000102020101000000000000C1
+:1000300001000000000000000101010101010101B7
+:100040000101010101010101020202020202020298
+:100050000202020202020202020202020202020280
+:100060000202020202020202010101010101010178
+:100070000101010101010101000000000000000078
+:10008000000000000000000001000000000000006F
+:100090000000000000000000020202020202020250
+:1000A0000202020202020202000000000000000040
+:1000B0000000000000000000010101010101010138
+:1000C0000101010101010101010101010101010120
+:1000D0000101010101010101000000000000000018
+:1000E0000000000000000000000000000000000010
+:1000F0000000000000000000000000000000000000
+:1001000000000000000000000000000000000000EF
+:1001100000000000000000000202020202020202CF
+:1001200002020202000002020101010100000001BE
+:1001300001010100010000000101010101010101B3
+:10014000010101010101010101010101010101019F
+:10015000010101010101010101010101010101018F
+:10016000010101010101010101010101010101017F
+:10017000010101010101010101010101010101016F
+:10018000010101010101010101010101010101015F
+:100190000101010101010101020202020202020247
+:1001A000020202020202020200000000000000003F
+:1001B0000000000000000000010101010101010137
+:1001C000010101010101010101010101010101011F
+:1001D0000101010101010101000000000000000017
+:1001E0000000000000000000010101010101010107
+:1001F00001010101010101010000000000000000F7
+:1002000000000000000000000000000000000000EE
+:1002100000000000000000000202020202020202CE
+:1002200002020202020202020101010101010101B6
+:1002300001010101010001000101010101010101B0
+:10024000010101010101010101010101010101019E
+:10025000010101010101010101010101010101018E
+:10026000010101010101010101010101010101017E
+:10027000010101010101010101010101010101016E
+:10028000010101010101010101010101010101015E
+:100290000101010101010101020202020202020246
+:1002A0000202020202020202010101010101010136
+:1002B000010101010101010101010101010101012E
+:1002C000010101010101010101010101010101011E
+:1002D0000101010101010101000000000000000016
+:1002E0000000000000000000010101010101010106
+:1002F00001010101010101010101010101010101EE
+:1003000001010101010101010000000000000000E5
+:1003100000000000000000000202020202020202CD
+:1003200002020202020202020101010101010101B5
+:1003300001010101010001010101010101010101AE
+:10034000010101010101010101010101010101019D
+:10035000010101010101010101010101010101018D
+:10036000010101010101010101010101010101017D
+:10037000010101010101010101010101010101016D
+:10038000010101010101010101010101010101015D
+:10039000010101010101010101010101010101014D
+:1003A000010101010101010101010101010101013D
+:1003B000010101010101010101010101010101012D
+:1003C000010101010101010101010101010101011D
+:1003D000010101010101010101010101010101010D
+:1003E00001010101010101010101010101010101FD
+:1003F00001010101010101010101010101010101ED
+:1004000001010101010101010101010101010101DC
+:1004100001010101010101010202020202020202C4
+:1004200002020202020202020101010101010101B4
+:1004300001010101010101010101010101010101AC
+:10044000010101010101010101010101010101019C
+:10045000010101010101010101010101010101018C
+:10046000010101010101010101010101010101017C
+:10047000010101010101010101010101010101016C
+:10048000010101010101010101010101010101015C
+:10049000010101010101010101010101010101014C
+:1004A000010101010101010101010101010101013C
+:1004B000010101010101010101010101010101012C
+:1004C000010101010101010101010101010101011C
+:1004D000010101010101010101010101010101010C
+:1004E00001010101010101010101010101010101FC
+:1004F00001010101010101010101010101010101EC
+:1005000001010101010101010101010101010101DB
+:1005100001010101010101010202020202020202C3
+:1005200002020202020202020101010101010101B3
+:1005300001010101010101010000000000000000B3
+:1005400000000000000000000000000000000000AB
+:10055000000000000000000000000000000000009B
+:10056000000000000000000002020202020202027B
+:10057000020202020202020202020202020202025B
+:10058000020202020202020202020202020202024B
+:10059000020202020202020200000000000000004B
+:1005A000000000000000000002020202020202023B
+:1005B000020202020202020202020202020202021B
+:1005C000020202020202020202020202020202020B
+:1005D00002020202020202020202020202020202FB
+:1005E00002020202020202020202020202020202EB
+:1005F00002020202020202020202020202020202DB
+:1006000002020202020202020202020202020202CA
+:1006100002020202020202020000000000000000CA
+:1006200000000000000000000101010101010101C2
+:1006300001010101010101010000000000000000B2
+:1006400000000000000000000000000000000000AA
+:10065000000000000000000000000000000000009A
+:10066000000000000000000000000000000000008A
+:10067000000000000000000000000000000000007A
+:10068000000000000000000000000000000000006A
+:10069000000000000000000000000000000000005A
+:1006A000000000000000000000000000000000004A
+:1006B000000000000000000002020202020202022A
+:1006C000020202020202020202020202020202020A
+:1006D000020202020202020200000000000000000A
+:1006E00000000000000000000202020202020202FA
+:1006F00002020202020202020202020202020202DA
+:1007000002020202020202020202020202020202C9
+:1007100002020202020202020000000000000000C9
+:1007200000000000000000000000000000000000C9
+:1007300000000000000000000000000000000000B9
+:1007400000000000000000000000000000000000A9
+:100750000000000000000000000000000000000099
+:100760000000000000000000000000000000000089
+:100770000000000000000000000000000000000079
+:100780000000000000000000000000000000000069
+:100790000000000000000000000000000000000059
+:1007A0000000000000000000000000000000000049
+:1007B0000000000000000000000000000000000039
+:1007C0000000000000000000000000000000000029
+:1007D0000000000000000000000000000000000019
+:1007E0000000000000000000000000000000000009
+:1007F00000000000000000000000000000000000F9
+:1008000000000000000000000000000000000000E8
+:1008100000000000000000000000000000000000D8
+:1008200000000000000000002C000000000000009C
+:1008300000000001000000000000000000000000B7
+:1008400000000000000000000000000000000000A8
+:100850000000000000000000000000000000000098
+:100860000000000000000000000000000000000088
+:100870000000000000000000000000000000000078
+:100880000000000000000000000000000000000068
+:100890000000000000000000000000000000000058
+:1008A0000000000000000000000000000000000048
+:1008B0000000000000000000000000000000000038
+:1008C0000000000000000000000000000000000028
+:1008D0000000000000000000000000000000000018
+:1008E0000000000000000000000000000000000008
+:1008F00000000000000000000000000000000000F8
+:1009000000000000000000000000000000000000E7
+:1009100000000000000000000000010000000001D5
+:1009200000000000000000000000000000000000C7
+:1009300000000001000000000000000000000000B6
+:1009400000000000000000000000000000000000A7
+:100950000000000000000000000000000000000097
+:100960000000000000000000000000000000000087
+:100970000000000000000000000000000000000077
+:100980000000000000000000000000000000000067
+:100990000000000000000000000000000000000057
+:1009A0000000000000000000000000000000000047
+:1009B0000000000000000000000000000000000037
+:1009C0000000000000000000000000000000000027
+:1009D0000000000000000000000000000000000017
+:1009E0000000000000000000000000000000000007
+:1009F00000000000000000000000000000000000F7
+:100A000000000000000000000101000000000000E4
+:100A100000010000000000000001010000000001D2
+:100A200000000000000001000000000000000000C5
+:100A300000000001000000000000000000000000B5
+:100A400000000000000000000000000000000000A6
+:100A50000000000000000000000000000000000096
+:100A60000000000000000000000000000000000086
+:100A70000000000000000000000000000000000076
+:100A80000000000000000000000000000000000066
+:100A90000000000000000000000000000000000056
+:100AA0000000000000000000000000000000000046
+:100AB0000000000000000000000000000000000036
+:100AC0000000000000000000000000000000000026
+:100AD0000000000000000000000000000000000016
+:100AE0000000000000000000000000000000000006
+:100AF00000000000000000000000000000000100F5
+:100B000000000000000000000101000000000000E3
+:100B100000010000000000000001010000000001D1
+:100B200000000000000001000000000000000000C4
+:100B300000000001010000000000000000000000B3
+:100B400000000000000000000000000000000000A5
+:100B50000000000000000000000000000000000095
+:100B60000000000000000000000000000000000085
+:100B70000000000000000000000000000000000075
+:100B80000000000000000000000000000000000065
+:100B90000000000000000000000000000000000055
+:100BA0000000000000000000000000000000000045
+:100BB0000000000000000000000000000000000035
+:100BC0000000000000000000000000000000000025
+:100BD0000000000000000000000000000000000015
+:100BE0000000000000000000000000000000000005
+:100BF00000000000000000000000000000000100F4
+:100C000000010000000000000101000000000000E1
+:100C100000010000000000000001010000000001D0
+:100C200000000000000001000000000000000000C3
+:100C300001000001010000000000000000000000B1
+:100C400000000000000000000000000000000000A4
+:100C50000000000000000000000000000000000094
+:100C60000000000000000000000000000000000084
+:100C70000000000000000000000000000000000074
+:100C80000000000000000000000000000000000064
+:100C90000000000000000000000000000000000054
+:100CA0000000000000000000000000000000000044
+:100CB0000000000000000000000000000000000034
+:100CC0000000000000000000000000000000000024
+:100CD0000000000000010001010000000000000011
+:100CE0000000000000000000000000000000000004
+:100CF00000000000000000000000000000010100F2
+:100D000000010000000000000101010000000000DF
+:100D100001010000000000000001010001000001CD
+:100D200000000000000001000000000000000000C2
+:100D300001010001010000000000000000000000AF
+:100D400000000000000000000000000000000000A3
+:100D50000000000000000000000000000000000093
+:100D60000000000000000000000000000000000083
+:100D70000000000000000000000000000000000073
+:100D80000000000000000000000000000000000063
+:100D90000100000000000000000000000000000052
+:100DA0000000000000000000000000000000000043
+:100DB0000000000000000000000000000000000033
+:100DC0000000000000000000010000000001000021
+:100DD000000000000001000101000000010000000F
+:100DE0000000000000000000000000000000000003
+:100DF00000000000000000000000000000010100F1
+:100E000000010000000000000101010000000000DE
+:100E100001010000000000000001010001010001CB
+:100E200000000000000001000000000000000000C1
+:100E300001010001010000000000000000000000AE
+:100E400000000000000000000000000000000000A2
+:100E50000000000000000000000000000000000092
+:100E60000000000000000000000000000001000081
+:100E70000000000000000000000000000000000072
+:100E80000000000000000000000000000000000062
+:100E90000100000000000000000000000000000051
+:100EA0000000000000000000000000000000000042
+:100EB0000000000000000000000000000000000032
+:100EC0000000000000000000010000000001000020
+:100ED000000000000001000101000000010000000E
+:100EE0000000000000000000000000000000000002
+:100EF00000000000000000000000000000010100F0
+:100F000000010001000000000101010001000001DA
+:100F100001010000000000000001010001010001CA
+:100F200000000000000001000000000100000000BF
+:100F300002010001010100010000000000000000AA
+:100F400000000000000000000000000000000000A1
+:100F50000000000000000000000000000000000091
+:100F6000000000000000000000000001000100017E
+:100F70000000000000000000000000000000000071
+:100F80000000000000000000000000000000000061
+:100F90000100000000000000000000000000000050
+:100FA0000000000000000000000000000000000041
+:100FB0000000000000000000000000000000000031
+:100FC000000000000000000001000000000100001F
+:100FD000000000000001000101000000010000010C
+:100FE0000000000000000000000000000000000001
+:100FF00000000000000000000000000000010100EF
+:1010000000010001000100000101010001000001D8
+:1010100001010000000000000101010001010101C7
+:1010200000000100000001000000000100000000BD
+:1010300002010002010100010000000000000000A8
+:1010400000000000000000000000000000000000A0
+:101050000000000000000000000000000000000090
+:10106000000000000000000000000001000100017D
+:101070000000000000000000000000000000000070
+:101080000000000000000000000000000000000060
+:10109000010000000000000000000000000000004F
+:1010A000000000000000000000000001000000013E
+:1010B0000000000000000000000000000000000030
+:1010C000000000000000010001000000000100001D
+:1010D000000000000001000101000000010000010B
+:1010E0000000000000000000000000000000000000
+:1010F00000000000010000000000000000010100ED
+:1011000000010001000101000101010001000001D6
+:1011100001010000000000000101010001010101C6
+:1011200000000100000001000000000100000000BC
+:1011300002010002010100010100000000000000A6
+:10114000000000000000000000000000000000009F
+:10115000000000000000000000000000000000008F
+:101160000000000000000100000001010101000179
+:10117000000000000000000000000000000000006F
+:10118000010000000000000000000000000000005E
+:10119000010000000000000000000000000000004E
+:1011A000000000000000000000000001000101013B
+:1011B000000000000000000000000000000000002F
+:1011C000000000000000010001000000000100001C
+:1011D000000000000001000101000000010000010A
+:1011E00000000000000000000000000000000000FF
+:1011F00000000000010000000000000000010101EB
+:1012000000010001010101000101010001010101D2
+:1012100001010000000100010101010001010101C3
+:1012200000000100000001000000000100000000BB
+:1012300002020002010100010100000000000000A4
+:10124000000000000000000000000000000000009E
+:10125000000000000000000000000000000000008E
+:101260000000000001010100000101010101010174
+:10127000000000000000000000000000000000006E
+:10128000010000000000000000000000000000005D
+:10129000010000000000000000000000000000004D
+:1012A0000000000000000100000001010101010137
+:1012B000000000000000000000000000000100002D
+:1012C000000000000000010001000000000100001B
+:1012D0000000000000010001010000000100000109
+:1012E00000000000000000000000000000000000FE
+:1012F00000000000010000000000000000010101EA
+:1013000001010001010101000101010001010101D0
+:1013100001010101000101010101010001010101BF
+:1013200000000100000001000000000100000000BA
+:1013300002020002010100010100000000000000A3
+:10134000000000000000000000000000000000009D
+:10135000000000000000000000000000000000008D
+:101360000000000001010100000101010101010173
+:10137000010000000000000000000000000000006C
+:10138000010000000000000000000000000000005C
+:10139000010000000000000000000000000000004C
+:1013A0000000000001010100010101010101010132
+:1013B000000000000000000000000001000100012A
+:1013C000000000000000010001000000000100001A
+:1013D0000000000000010001010001000100000107
+:1013E00000000000000000000000000000000000FD
+:1013F00000000000010000000000000000010101E9
+:1014000001010001010101010101010001010101CE
+:1014100001010101010101010101010001010101BD
+:1014200000000100000001000000000100000000B9
+:10143000020200020201000202000000000000009F
+:10144000000000000000000000000000000000009C
+:10145000000000000000000000000000000100008B
+:101460000000000001010101010101010101010170
+:10147000010000000000000000000000000000006B
+:10148000010000000000000000000000000000005B
+:10149000010000000000000000000000000000004B
+:1014A0000000000001010100010101010101010131
+:1014B0000000000000000000000000010001010128
+:1014C0000000000000000100010000000001000019
+:1014D0000000000000010001010001000100000106
+:1014E00000000000000000000000000000000000FC
+:1014F00000000000010000000000000000010101E8
+:1015000001010001010101010101010001010101CD
+:1015100001010101010101010101010001010101BC
+:1015200000000100000001000000000100000000B8
+:10153000020200020201000202000000000000009E
+:10154000000000000000000000000000000000009B
+:101550000000000000000000000000010001000188
+:10156000000001010101010101010101010101016D
+:101570000100000000000000000000010000000069
+:10158000010000000000000000000000000000005A
+:10159000010000000000000000000000000000004A
+:1015A000000000000101010101010101010101012F
+:1015B0000000000000000100000001010101010124
+:1015C0000000000000000100010000000001000018
+:1015D0000000000000010001010001000100000105
+:1015E00000000000000000000000000000000000FB
+:1015F00000000000010001000000000100010101E5
+:1016000001010001010101010101010001010101CC
+:1016100001010101010101010101010001010101BB
+:1016200000000100000000000000000100000000B8
+:10163000020200020202000202000100000000019A
+:10164000000000000000000000000000000000009A
+:101650000000000000000000000000010001000187
+:10166000000101010101010101010101010101016B
+:101670000100000000000000000000010000000068
+:101680000100000000000000000000000000000059
+:101690000200000000000000000000000000000048
+:1016A000000001010101010101010101010101012C
+:1016B0000000000001010100000001010101010121
+:1016C0000000000000000100010000000001000116
+:1016D0000000000000010001010001000100000104
+:1016E00000000000000000000000000100000000F9
+:1016F00000000000010001000000000100010101E4
+:1017000001010001010101010101010001010101CB
+:1017100001010101010101010101010001010101BA
+:1017200000010100000000000000000100000000B6
+:101730000202000202020002020001000000000199
+:101740000000000000000000000000000000000099
+:101750000000000000000100000001010101000183
+:10176000000101010101010101010101010101016A
+:101770000100000000000000000000010000000067
+:101780000100000000000000000000010000000057
+:101790000200000000000000000000000000000047
+:1017A000000101010101010101010101010101012A
+:1017B0000000000001010100000001010101010120
+:1017C0000000000000000101020000000001000113
+:1017D00000000000000201020200010001000001FF
+:1017E00000000000000000000000000100010000F7
+:1017F00000000000010001000000000101010101E2
+:1018000001010001010101010101010001010101CA
+:1018100002020101010101010101010001010101B7
+:1018200000010100000100000000000100000001B3
+:101830000202010202020002020001000000000197
+:101840000000000000000000000000010000000196
+:10185000000000000101010000000101010101017F
+:101860000001010101010101010101010101010169
+:101870000100000000000000000000010000000066
+:101880000100000000000000000000010001000055
+:101890000200000000000000000000000000000046
+:1018A0000001010101010101010101010101010129
+:1018B000000000000101010101010101010101011C
+:1018C0000000000000000101020000000002000111
+:1018D00000000000000201020200010002000001FD
+:1018E00000000000000000000000000100010001F5
+:1018F00000000000010001010100000101010101DF
+:1019000001010001010101010101010001010101C9
+:1019100002020101010101010102020001010101B4
+:1019200000010100000100000100000100000001B1
+:101930000202010202020002020001000000000196
+:101940000000000000000000000000010001000194
+:10195000000000000101010000000101010101017E
+:101960000001010101010101010101010101010168
+:101970000200000000000000000000010000000163
+:101980000200000000000000000000010001000152
+:101990000200000000000000000000010000000044
+:1019A0000001010101010101010101010101010128
+:1019B0000000010101010101010101010101010119
+:1019C000000000000000020102000000000200010F
+:1019D00000000000000201020200010002000001FC
+:1019E00000000000000000000000000100010101F3
+:1019F00000000100010001010100000101010201DC
+:101A000001020001010101010202010001010101C5
+:101A100002020101010101010102020001010102B2
+:101A200000010000000100000100000100000001B1
+:101A30000202020202020002020002000000000094
+:101A40000000000000000100000000010001000192
+:101A5000000000000101010000010101010101017C
+:101A60000001010101010101010101010101010167
+:101A70000200000000000000000000010000000162
+:101A80000200000000000000000000010001000151
+:101A90000200000000000000000000010001000042
+:101AA0000001010101010101010101010101010127
+:101AB0000001010101010101010101010101010117
+:101AC000000000000000020102000100000200010D
+:101AD00000000000000201020200010002010002F9
+:101AE00000000000000000000000000100010101F2
+:101AF00000000100010001010100000101020201DA
+:101B000001020101010101010202010101010101C2
+:101B100002020101010101010102020002010102B0
+:101B200000010000000100000100000100000001B0
+:101B30000202020202020002020002000000000093
+:101B40000000000001000100000000010001000190
+:101B5000000000000101010000010101010101017B
+:101B60000101010101010101010101010101010165
+:101B70000200000000000000000000010000000161
+:101B80000200000000000000000000010001000150
+:101B90000200000000000000000000010001000140
+:101BA0000001010101010101010101010101010126
+:101BB0000001010101010101010101010101010116
+:101BC000000000000000020102000100000200010C
+:101BD00000000000000201020200020002010002F7
+:101BE00000000000010000000000000100010101F0
+:101BF00000000100020001010100000101020201D8
+:101C000002020102010101010202020101010101BE
+:101C100002020101010101010202020002020102AD
+:101C200000010000000100000100000100000001AF
+:101C30000202020202020002020002000000000092
+:101C4000020000000100010000000001010100018C
+:101C50000000000001010100010101010101010179
+:101C60000101010101010101010101010101010164
+:101C7000020000000000000000000001000001015F
+:101C8000020000000000000000000001000100014F
+:101C9000020000000000000000000001000100013F
+:101CA0000101010101010101010101010101010124
+:101CB0000001010101010101010101010101010115
+:101CC0000200000000000202020001000102000107
+:101CD00000000000010201020201020002010102F3
+:101CE00000000000010001000000000101010101ED
+:101CF00000000100020001010100000101020201D7
+:101D000002020102010201010202020102010101BB
+:101D100002020202010201020202020002020202A7
+:101D200000010000000100010100000000000001AE
+:101D30000202020202020002020002000000000091
+:101D4000020000000100010000000001010101018A
+:101D50000000010101010100010101010101010176
+:101D60000101010101010101010101010102010162
+:101D7000020000000000010000000101010001015B
+:101D8000020000000000000000000001000100014E
+:101D9000020000000000010000000001000100013D
+:101DA0000101010101010101010101010101010123
+:101DB0000001010101010101010101010101010114
+:101DC0000200000000000202020001000102000205
+:101DD00002000101010202020201020102010102EC
+:101DE00000000000010001000000000101010101EC
+:101DF00001000101020001010100000101020202D3
+:101E000002020102020202010202020102010102B7
+:101E100002020202020202020202020002020202A4
+:101E200000010001000100010100000000000001AC
+:101E30000202020202020002020002000000000090
+:101E40000200000001000100000000010101010189
+:101E50000001010101010100010101010101010174
+:101E60000101010102020201010202020202010259
+:101E70000200000000010101010101010101010155
+:101E8000020000000100000000000001000100014C
+:101E9000020000000100010000000001000100013B
+:101EA0000101010101010101010101010101010122
+:101EB0000001010101010101010101010102010112
+:101EC0000200000000000202020002000102000203
+:101ED00002010101010202020201020102010102EA
+:101EE00000000100010001000000010101010101E9
+:101EF00001010101020002010101000101020202CF
+:101F000002020102020202020202020102020202B3
+:101F100002020202020202020202020002020202A3
+:101F200000010001000100010100000000000101AA
+:101F3000020202020202000202000200000000008F
+:101F40000200000001000100000000010101010188
+:101F50000101010101010100010101010102010171
+:101F60000102020202020202020202020202020252
+:101F70000200010000010101010101020101010152
+:101F80000200000001000000000001010101000149
+:101F90000200000001000100000000010101000139
+:101FA0000101010101010101010101010101010121
+:101FB0000001010102020201010102020202020209
+:101FC00002020000000102020201020002020002FD
+:101FD00002020202020202020202020102020102E3
+:101FE00000000100010001000000010201020101E6
+:101FF00002010201020002020201000202020202C8
+:1020000002020102020202020202020102020202B2
+:1020100002020202020202020202020002020202A2
+:1020200000000001000100010100000000000101AA
+:102030000102020202020002010002000000000090
+:102040000200000002000200000000020102010282
+:102050000101010102020200010102020202010269
+:102060000202020202020202020202020202020250
+:102070000201010000010101010101020101010150
+:102080000200000001010001010001010101010144
+:102090000200000001000100000000010101000138
+:1020A0000101010102020201020202020202020215
+:1020B0000002020202020202020202020202020202
+:1020C00002020202000202020202020002020002F6
+:1020D00002020202020202020202020102020202E1
+:1020E00002000100020001000000010201020202E0
+:1020F00002010201020002020201000202020202C7
+:1021000002020102020202020202020102020202B1
+:1021100002020202020202020202020002020202A1
+:1021200000000001000100010100000000000101A9
+:102130000101020102020001010002000000000092
+:10214000020000000200020100000002020201027F
+:102150000201010102020200010202020202020265
+:10216000020202020202020202020202020202024F
+:10217000020101000001010101010102010101024E
+:102180000200010001010001010001020102010140
+:102190000200010001000100000000020102000134
+:1021A0000102020202020202020202020202020210
+:1021B0000102020202020202020202020202020200
+:1021C00002020202020202020202020002020102F2
+:1021D00002020202020202020202020202020202DF
+:1021E00002010200020002000000010202020202DB
+:1021F00002020202020002020201000202020202C4
+:1022000002020202020202020202020102020202AF
+:1022100002020202020202020202020002020202A0
+:1022200000000001000100010100000000000101A8
+:10223000010102010202000101000201010000008F
+:10224000020000000200020100000002020202027D
+:102250000202020202020200020202020202020260
+:10226000020202020202020202020202020202024E
+:102270000202020000020202020202020201020243
+:10228000020101000101000101000102010201023D
+:102290000200010002000200000000020102000230
+:1022A000020202020202020202020202020202020E
+:1022B00002020202020202020202020202020202FE
+:1022C00002020202020202020202020002020202F0
+:1022D00002020202020202020202020202020202DE
+:1022E00002020200020002000000020202020202D8
+:1022F00002020202020102020202000202020202C1
+:1023000002020202020202020202020102020202AE
+:10231000020202020202020202020200020202029F
+:1023200000000001000000010100000000000101A8
+:102330000101010101010001010001010100020090
+:102340000202000002000202000000020202020279
+:10235000020202020202020002020202020202025F
+:10236000020202020202020202020202020202024D
+:102370000202020100020202020202020202020240
+:10238000020101000201010101000102010201023A
+:10239000020002000200020000000002020200022D
+:1023A000020202020202020202020202020202020D
+:1023B00002020202020202020202020202020202FD
+:1023C00002020202020202020202020002020202EF
+:1023D00002020202020202020202020202020202DD
+:1023E00002020200020002000000020202020202D7
+:1023F00002020202020102020202010202020202BF
+:1024000002020202020202020202020202020202AC
+:10241000020202020202020202020200020202029E
+:10242000000202010002020102010102000001019A
+:10243000010101010101010101000101010002008E
+:102440000202020202000202000001020202020273
+:10245000020202020202020002020202020202025E
+:10246000020202020202020202020202020202024C
+:10247000020202020002020202020202020202023E
+:102480000202020002020102020002020202010232
+:102490000202020002010200000000020202000229
+:1024A000020202020202020202020202020202020C
+:1024B00002020202020202020202020202020202FC
+:1024C00002020202020202020202020202020202EC
+:1024D00002020202020202020202020202020202DC
+:1024E00002020202020002000000020202020202D4
+:1024F00002020202020202020202010202020202BD
+:1025000002020202020202020202020202020202AB
+:10251000020202020202020202020201020202029C
+:102520000002020101020201020101020000010297
+:10253000010101010101010101000101020101008C
+:10254000020202020202020202020202020202026B
+:10255000020202020202020002020202020202025D
+:10256000020202020202020202020202020202024B
+:10257000020202020002020202020202020202023D
+:102580000202020002020102020002020202020230
+:102590000202020202020200000001020202000224
+:1025A000020202020202020202020202020202020B
+:1025B00002020202020202020202020202020202FB
+:1025C000000000000000000000000000000000000B
+:1025D00002020202020202020202020202020202DB
+:1025E00002020202020202020202020202020202CB
+:1025F00002020202020202020202020202020202BB
+:1026000002020202020202020202020202020202AA
+:10261000020202020202020202020201020202029B
+:102620000002020201020202020101020000010294
+:10263000010101010101010101000101020101008B
+:10264000020202020202020202020202020202026A
+:10265000020202020202020002020202020202025C
+:10266000020202020202020202020202020202024A
+:10267000020202020202020202020202020202023A
+:10268000020202000202020202000202020202022E
+:10269000020202020202020202020202020200021C
+:1026A000020202020202020202020202020202020A
+:1026B00002020202020202020202020202020202FA
+:1026C000000000000000000000000000000000000A
+:1026D00001010101010101010101010101010101EA
+:1026E00002020202020202020202020202020202CA
+:1026F00002020202020202020202020202020202BA
+:1027000002020202020202020202020202020202A9
+:10271000020202020202020202020201020202029A
+:102720000002020201020202020101020000010293
+:10273000000001000101010000000102020101008E
+:10274000000202020202020202020202020202026B
+:10275000020202020202020002020202020202025B
+:102760000202020202020202020202020202020249
+:102770000202020202020202020202020202020239
+:10278000020202020202020202000202020202022B
+:10279000020202020202020202020202020200021B
+:1027A0000202020202020202020202020202020209
+:1027B00002020202020202020202020202020202F9
+:1027C0000000000000000000000000000000000009
+:1027D00002020202020202020202020202020202D9
+:1027E00002020202020202020202020202020202C9
+:1027F00002020202020202020202020202020202B9
+:1028000002020202020202020202020202020202A8
+:102810000202020202020202020202020202020298
+:102820000102020201020202020101020000020290
+:102830000000000000000200000000020101010091
+:10284000000202020202020202020202020202026A
+:102850000202020202020202020202020202020258
+:102860000202020202020202020202020202020248
+:102870000202020202020202020202020202020238
+:102880000202020202020202020202020202020228
+:102890000202020202020202020202020202020218
+:1028A0000202020202020202020202020202020208
+:1028B00002020202020202020202020202020202F8
+:1028C0000000000000000000000000000000000008
+:1028D00000000000000000000000000000000000F8
+:1028E00002020202020202020202020202020202C8
+:1028F00002020202020202020202020202020202B8
+:1029000002020202020202020202020202020202A7
+:102910000202020202020202020202020202020297
+:10292000020202020102020202000102010002028E
+:102930000000000000000200000100010102000090
+:102940000100000000000000000000000000000086
+:102950000202020202020202020202020202020257
+:102960000202020202020202020202020202020247
+:102970000202020202020202020202020202020237
+:102980000202020202020202020202020202020227
+:102990000002020202020202020202020202020219
+:1029A0000202020202020202020202020202020207
+:1029B00002020202020202020202020202020202F7
+:1029C0000000000000000000000000000000000007
+:1029D00000000000000000000000000000000000F7
+:1029E00000000000000000000000000000000000E7
+:1029F00000000000000000000000000000000000D7
+:102A000002020202020202020202020202020202A6
+:102A100001010101010101010101010101010101A6
+:102A20000202020202020202020202020101020288
+:102A30000000000000000100000100010101000091
+:102A40000100000000000000000000000000000085
+:102A50000202020202020202020202020202020256
+:102A60000202020202020202020202020202020246
+:102A70000102020202020202020202020202020237
+:102A80000202020202020202020202020202020226
+:102A90000000000000000000000000000000000036
+:102AA0000202020202020202020202020202020206
+:102AB0000000000000000000000000000000000016
+:102AC0000000000000000000000000000000000006
+:102AD00000000000000000000000000000000000F6
+:102AE00000000000000000000000000000000000E6
+:102AF00000000000000000000000000000000000D6
+:102B000002020202020202020202020202020202A5
+:102B10000202020202020202020202020202020295
+:102B20000202020202020202020202020001020288
+:102B30000000000000000100000000000001000093
+:102B40000101010101010101010101010101010175
+:102B50000101010101010101010101010101010165
+:102B60000202020202020202020202020202020245
+:102B70000101010101010101010101010101010145
+:102B80000102020202020202020202020202020226
+:102B90000000000000000000000000000000000035
+:102BA0000202020202020202020202020202020205
+:102BB0000000000000000000000000000000000015
+:102BC00001010101010101010101010101010101F5
+:102BD00000000000000000000000000000000000F5
+:102BE00000000000000000000000000000000000E5
+:102BF00000000000000000000000000000000000D5
+:102C000002020202020202020202020202020202A4
+:102C100000000000000000000000000000000000B4
+:102C20000202020202020202020202020001020287
+:102C3000010100010000000101000000000000008F
+:102C40000101010101010101010101010101010174
+:102C50000202020202020202020202020202020254
+:102C60000202020202020202020202020202020244
+:102C70000101010101010101010101010101010144
+:102C80000101010101010101010101010101010134
+:102C90000100000000000000000000000000000033
+:102CA0000202020202020202020202020202020204
+:102CB0000000000000000000000000000000000014
+:102CC00001010101010101010101010101010101F4
+:102CD00001010101010101010101010101010101E4
+:102CE00000000000000000000000000000000000E4
+:102CF00000000000000000000000000000000000D4
+:102D000002020202020202020202020202020202A3
+:102D100000000000000000000000000000000000B3
+:102D20000202020202020202020202020000020287
+:102D3000010101010101000101000100000000008A
+:102D40000101010101010101010101010101010173
+:102D50000101010101010101010101010101010163
+:102D60000101010101010101010101010101010153
+:102D70000101010101010101010101010101010143
+:102D80000101010101010101010101010101010133
+:102D90000101010101010101010101010101010123
+:102DA0000202020202020202020202020202020203
+:102DB0000000000000000000000000000000000013
+:102DC00001010101010101010101010101010101F3
+:102DD00001010101010101010101010101010101E3
+:102DE00000000000000000000000000000000000E3
+:102DF00001010101010101010101010101010101C3
+:102E000001010101010101010101010101010101B2
+:102E100000000000000000000000000000000000B2
+:102E20000202020202020202020202020202020282
+:102E30000101010101010001010001000000010088
+:102E40000101010101010101010101010101010172
+:102E50000101010101010101010101010101010162
+:102E60000101010101010101010101010101010152
+:102E70000101010101010101010101010101010142
+:102E80000101010101010101010101010101010132
+:102E90000101010101010101010101010101010122
+:102EA0000202020202020202020202020202020202
+:102EB0000101010101010101010101010101010102
+:102EC00001010101010101010101010101010101F2
+:102ED00001010101010101010101010101010101E2
+:102EE00000000000000000000000000000000000E2
+:102EF00001010101010101010101010101010101C2
+:102F000001010101010101010101010101010101B1
+:102F100000000000000000000000000000000000B1
+:102F20000202020202020202020202020202020281
+:102F30000101010101010001010001000000010186
+:102F40000101010101010101010101010101010171
+:102F50000101010101010101010101010101010161
+:102F60000101010101010101010101010101010151
+:102F70000101010101010101010101010101010141
+:102F80000101010101010101010101010101010131
+:102F90000101010101010101010101010101010121
+:102FA0000101010101010101010101010101010111
+:102FB0000101010101010101010101010101010101
+:102FC00001010101010101010101010101010101F1
+:102FD00001010101010101010101010101010101E1
+:102FE00001010101010101010101010101010101D1
+:102FF00001010101010101010101010101010101C1
+:1030000001010101010101010101010101010101B0
+:1030100001010101010101010101010101010101A0
+:103020000202020202020202020202020202020280
+:103030000101010101010001010101010100010182
+:103040000101010101010101010101010101010170
+:103050000101010101010101010101010101010160
+:103060000101010101010101010101010101010150
+:103070000101010101010101010101010101010140
+:103080000101010101010101010101010101010130
+:103090000101010101010101010101010101010120
+:1030A0000101010101010101010101010101010110
+:1030B0000101010101010101010101010101010100
+:1030C00001010101010101010101010101010101F0
+:1030D00001010101010101010101010101010101E0
+:1030E00001010101010101010101010101010101D0
+:1030F00001010101010101010101010101010101C0
+:1031000001010101010101010101010101010101AF
+:10311000010101010101010101010101010101019F
+:10312000020202020202020202020202020202027F
+:10313000010101010101010101010101010101017F
+:10314000000000000000000000000000000000007F
+:10315000000000000000000000000000000000006F
+:10316000000000000000000000000000000000005F
+:10317000020202020202020202020202020202022F
+:10318000020202020202020202020202020202021F
+:10319000020202020202020202020202020202020F
+:1031A000000000000000000000000000000000001F
+:1031B00002020202020202020202020202020202EF
+:1031C00002020202020202020202020202020202DF
+:1031D00002020202020202020202020202020202CF
+:1031E00002020202020202020202020202020202BF
+:1031F00002020202020202020202020202020202AF
+:10320000020202020202020202020202020202029E
+:10321000020202020202020202020202020202028E
+:10322000000000000000000000000000000000009E
+:10323000010101010101010101010101010101017E
+:10324000000000000000000000000000000000007E
+:10325000000000000000000000000000000000006E
+:10326000000000000000000000000000000000005E
+:10327000000000000000000000000000000000004E
+:10328000000000000000000000000000000000003E
+:10329000000000000000000000000000000000002E
+:1032A000000000000000000000000000000000001E
+:1032B000000000000000000000000000000000000E
+:1032C00002020202020202020202020202020202DE
+:1032D00002020202020202020202020202020202CE
+:1032E00000000000000000000000000000000000DE
+:1032F00002020202020202020202020202020202AE
+:10330000020202020202020202020202020202029D
+:10331000020202020202020202020202020202028D
+:10332000000000000000000000000000000000009D
+:10333000000000000000000000000000000000008D
+:10334000000000000000000000000000000000007D
+:10335000000000000000000000000000000000006D
+:10336000000000000000000000000000000000005D
+:10337000000000000000000000000000000000004D
+:10338000000000000000000000000000000000003D
+:10339000000000000000000000000000000000002D
+:1033A000000000000000000000000000000000001D
+:1033B000000000000000000000000000000000000D
+:1033C00000000000000000000000000000000000FD
+:1033D00000000000000000000000000000000000ED
+:1033E00000000000000000000000000000000000DD
+:1033F00000000000000000000000000000000000CD
+:1034000000000000000000000000000000000000BC
+:1034100000000000000000000000000000000000AC
+:10342000000000000000000000000000000000009C
+:1034300068340B000000000070690B000000000001
+:1034400078980B000000000080C40B000000000012
+:1034500088F00B000000000090190C000000000034
+:10346000983F0C0000000000A05D0C000000000070
+:10347000A87B0C0000000000B0990C0000000000C8
+:10348000B8B70C0000000000C0D50C000000000020
+:10349000C8F30C0000000000D0110D000000000077
+:1034A000D82F0D00000000003500000000000000D3
+:1034B0000202020002000000000100000100000002
+:1034C00000000000000000000000000000000000FC
+:1034D00000000000000000000000000000000000EC
+:1034E00000000000000000000000000000000000DC
+:1034F00000000000000000000000000000000000CC
+:1035000000000000000101010100000100000001B5
+:1035100000000000000000000000000000000000AB
+:10352000000000000000000000000000000000009B
+:10353000000000000000000000000000000000008B
+:10354000000000000000000000000000000000007B
+:103550000000000000000001010000000000000168
+:10356000000000000000000000000000000000005B
+:10357000000000000000000000000000000000004B
+:10358000000000000000000000000000000000003B
+:10359000000000000000000000000000000000002B
+:1035A0000000000000010001000000000000000118
+:1035B00002020202020202020202000001000000F6
+:1035C00000000000000000000000000000000000FB
+:1035D00000000000000000000000000000000000EB
+:1035E00000000000000000000000000000000000DB
+:1035F00000000000000000000000000000000000CB
+:1036000000000000010101010100000100000001B3
+:1036100000000000000000000000000000000000AA
+:10362000000000000000000000000000000000009A
+:10363000000000000000000000000000000000008A
+:10364000000000000000000000000000000000007A
+:103650000000000000000001010000000101000165
+:10366000000000000000000000000000000000005A
+:10367000000000000000000000000000000000004A
+:10368000000000000000000000000000000000003A
+:10369000000000000000000000000000000000002A
+:1036A0000000000001010001000000000000000116
+:1036B00002020202020202020202000002000000F4
+:1036C00000000000000000000000000000000000FA
+:1036D00000000000000000000000000000000000EA
+:1036E00000000000000000000000000000000000DA
+:1036F00000000000000000000000000000000000CA
+:1037000000000000010101010100000100000001B2
+:1037100000000000000000000000000000000000A9
+:103720000000000000000000000000000000000099
+:103730000000000000000000000000000000000089
+:103740000000000000000000000000000000000079
+:103750000000000000000001010000000101000164
+:103760000000000000000000000000000000000059
+:103770000000000000000000000000000000000049
+:103780000000000000000000000000000000000039
+:103790000000000000000000000000000000000029
+:1037A0000000000001010001000000000000000115
+:1037B00002020202020202020202020002000000F1
+:1037C00000000000000000000000000000000000F9
+:1037D00000000000000000000000000000000000E9
+:1037E00000000000000000000000000000000000D9
+:1037F00000000000000000000000000000000000C9
+:1038000000000000010101010101000100000001B0
+:1038100000000000000000000000000000000000A8
+:103820000000000000000000000000000000000098
+:103830000000000000000000000000000000000088
+:103840000000000000000000000000000000000078
+:103850000000010000000001010100000101000161
+:103860000000000000000000000000000000000058
+:103870000000000000000000000000000000000048
+:103880000000000000000000000000000000000038
+:103890000000000000000000000000000000000028
+:1038A0000000000001010001000000000000000114
+:1038B00002020202020202020202020002000000F0
+:1038C00000000000000000000000000000000000F8
+:1038D00000000000000000000000000000000000E8
+:1038E00000000000000000000000000000000000D8
+:1038F00000000000000000000000000000000000C8
+:1039000000000000010101010101010100000001AE
+:1039100000000000000000000000000000000000A7
+:103920000000000000000000000000000000000097
+:103930000000000000000000000000000000000087
+:103940000000000000000000000000000000000077
+:103950000000010000000001010100000101000160
+:103960000000000000000000000000000000000057
+:103970000000000000000000000000000000000047
+:103980000000000000000000000000000000000037
+:103990000000000000000000000000000000000027
+:1039A0000000000001010001000000000000000113
+:1039B00002020202020202020202020002000000EF
+:1039C00000000000000000000000000000000000F7
+:1039D00000000000000000000000000000000000E7
+:1039E00000000000000000000000000000000000D7
+:1039F00000000000000000000000000000000000C7
+:103A000001000100010101010101010100000001AB
+:103A100000000000000000000000000000000000A6
+:103A20000000000000000000000000000000000096
+:103A30000000000000000000000000000000000086
+:103A40000000000000000000000000000000000076
+:103A5000000001000000000101010000010100015F
+:103A60000000000000000000000000000000000056
+:103A70000000000000000000000000000000000046
+:103A80000000000000000000000000000000000036
+:103A90000000000000000000000000000000000026
+:103AA0000000000001010001000100000000000111
+:103AB00002020202020202020202020002010000ED
+:103AC00000000000000000000000000000000000F6
+:103AD00000000000000000000000000000000000E6
+:103AE00000000000000000000000000000000000D6
+:103AF00000000000000000000000000000000000C6
+:103B000001000100020101010101010100000001A9
+:103B100000000000000000000000000000000000A5
+:103B20000000000000000000000000000000000095
+:103B30000000000000000000000000000000000085
+:103B40000000000000000000000000000000000075
+:103B5000000001000001010101010100010100015B
+:103B60000000000000000000000000000000000055
+:103B70000000000000000000000000000000000045
+:103B80000000000000000000000000000000000035
+:103B90000000000000000000000000000000000025
+:103BA000000000000101000101010101000000010D
+:103BB00002020202020202020202020202010100E9
+:103BC00000000000000000000000000000000000F5
+:103BD00000000000000000000000000000000000E5
+:103BE00000000000000000000000000000000000D5
+:103BF00000000000000000000000000000000000C5
+:103C000002010100020202010101010100000001A4
+:103C100000000000000000000000000000000000A4
+:103C20000000000000000000000000000000000094
+:103C30000000000000000000000000000000000084
+:103C40000000000000000000000000000000000074
+:103C50000101010000010101010101000101000158
+:103C60000000000000000000000000000000000054
+:103C70000000000000000000000000000000000044
+:103C80000000000000000000000000000000000034
+:103C90000000000000000000000000000000000024
+:103CA000000000000101000101010101010000010B
+:103CB00002020202020202020202020202020100E7
+:103CC00000000000000000000000000000000000F4
+:103CD00000000000000000000000000000000000E4
+:103CE00000000000000000000000000000000000D4
+:103CF00000000000000000000000000000000000C4
+:103D000002010200020202010201010100000001A1
+:103D100000000000000000000000000000000000A3
+:103D20000000000000000000000000000000000093
+:103D30000000000000000000000000000000000083
+:103D40000000000000000000000000000000000073
+:103D50000101010000010101010101010101000156
+:103D60000000000000000000000000000000000053
+:103D70000000000000000000000000000000000043
+:103D80000000000000000000000000000000000033
+:103D90000000000000000000000000000000000023
+:103DA000000000000101000101010101010000010A
+:103DB00002020202020202020202020202020200E5
+:103DC00000000000000000000000000000000000F3
+:103DD00000000000000000000000000000000000E3
+:103DE00000000000000000000000000000000000D3
+:103DF00000000000000000000000000000000000C3
+:103E0000020202000202020202010101000000019E
+:103E100000000000000000000000000000000000A2
+:103E20000000000000000000000000000000000092
+:103E30000000000000000000000000000000000082
+:103E40000000000000000000000000000000000072
+:103E50000101010000010101010101010101000155
+:103E60000000000000000000000000000000000052
+:103E70000000000000000000000000000000000042
+:103E80000000000000000000000000000000000032
+:103E90000000000000000000000000000000000022
+:103EA0000000000001010001010101010101000108
+:103EB00002020202020202020202020202020200E4
+:103EC00000000000000000000000000000000000F2
+:103ED00000000000000000000000000000000000E2
+:103EE00000000000000000000000000000000000D2
+:103EF00000000000000000000000000000000000C2
+:103F0000020202010202020202010101000000019C
+:103F100000000000000000000000000000000000A1
+:103F20000000000000000000000000000000000091
+:103F30000000000000000000000000000000000081
+:103F40000000000000000000000000000000000071
+:103F50000101010100010101010101010101000153
+:103F60000000000000000000000000000000000051
+:103F70000000000000000000000000000000000041
+:103F80000000000000000000000000000000000031
+:103F90000000000000000000000000000000000021
+:103FA0000000000001010001010101010101000107
+:103FB00002020202020202020202020202020200E3
+:103FC00000000000000000000000000000000000F1
+:103FD00000000000000000000000000000000000E1
+:103FE00000000000000000000000000000000000D1
+:103FF00000000000000000000000000000000000C1
+:104000000202020102020202020201020000000199
+:1040100000000000000000000000000000000000A0
+:104020000000000000000000000000000000000090
+:104030000000000000000000000000000000000080
+:104040000000000000000000000000000000000070
+:104050000101010100010101010101010101000152
+:104060000000000000000000000000000000000050
+:104070000000000000000000000000000000000040
+:104080000000000000000000000000000000000030
+:104090000000000000000000000000000000000020
+:1040A0000000000001010001010101010101000106
+:1040B00002020202020202020202020202020200E2
+:1040C00000000000000000000000000000000000F0
+:1040D00000000000000000000000000000000000E0
+:1040E00000000000000000000000000000000000D0
+:1040F00000000000000000000000000000000000C0
+:104100000202020102020202020202020000000197
+:10411000000000000000000000000000000000009F
+:10412000000000000000000000000000000000008F
+:10413000000000000000000000000000000000007F
+:10414000000000000000000000000000000000006F
+:10415000020102010001010101010101010100014F
+:10416000000000000000000000000000000000004F
+:10417000000000000000000000000000000000003F
+:10418000000000000000000000000000000000002F
+:10419000000000000000000000000000000000001F
+:1041A0000000000001010001010101010101000105
+:1041B00002020202020202020202020202020200E1
+:1041C00000000000000000000000000000000000EF
+:1041D00000000000000000000000000000000000DF
+:1041E00000000000000000000000000000000000CF
+:1041F00000000000000000000000000000000000BF
+:104200000202020202020202020202020000000195
+:10421000000000000000000000000000000000009E
+:10422000000000000000000000000000000000008E
+:10423000000000000000000000000000000000007E
+:10424000000000000000000000000000000000006E
+:10425000020202010101010101010101010100014C
+:10426000000000000000000000000000000000004E
+:10427000000000000000000000000000000000003E
+:10428000000000000000000000000000000000002E
+:10429000000000000000000000000000000000001E
+:1042A0000000000001010001010101010101000104
+:1042B00002020202020202020202020202020200E0
+:1042C00000000000000000000000000000000000EE
+:1042D00000000000000000000000000000000000DE
+:1042E00000000000000000000000000000000000CE
+:1042F00000000000000000000000000000000000BE
+:104300000202020202020202020202020000000194
+:10431000000000000000000000000000000000009D
+:10432000000000000000000000000000000000008D
+:10433000000000000000000000000000000000007D
+:10434000000000000000000000000000000000006D
+:10435000020202010101010102010101010100014A
+:10436000000000000000000000000000000000004D
+:10437000000000000000000000000000000000003D
+:10438000000000000000000000000000000000002D
+:10439000000000000000000000000000000000001D
+:1043A0000000000002010001010101010101010101
+:1043B00002020202020202020202020202020200DF
+:1043C00000000000000000000000000000000000ED
+:1043D00000000000000000000000000000000000DD
+:1043E00000000000000000000000000000000000CD
+:1043F00000000000000000000000000000000000BD
+:104400000202020202020202020202020100000192
+:10441000000000000000000000000000000000009C
+:10442000000000000000000000000000000000008C
+:10443000000000000000000000000000000000007C
+:10444000000000000000000000000000000000006C
+:104450000202020101010102020101010101000148
+:10446000000000000000000000000000000000004C
+:10447000000000000000000000000000000000003C
+:10448000000000000000000000000000000000002C
+:10449000000000000000000000000000000000001C
+:1044A00000010000020100010101010101010101FF
+:1044B00002020202020202020202020202020200DE
+:1044C00000000000000000000000000000000000EC
+:1044D00000000000000000000000000000000000DC
+:1044E00000000000000000000000000000000000CC
+:1044F00000000000000000000000000000000000BC
+:104500000202020202020202020202020100000191
+:10451000000000000000000000000000000000009B
+:10452000000000000000000000000000000000008B
+:10453000000000000000000000000000000000007B
+:10454000000000000000000000000000000000006B
+:104550000202020101010102020101010101010146
+:10456000000000000000000000000000000000004B
+:10457000000000000000000000000000000000003B
+:10458000000000000000000000000000000000002B
+:10459000000000000000000000000000000000001B
+:1045A00000010000020200010101010101010101FD
+:1045B00002020202020202020202020201020200DE
+:1045C00000000000000000000000000000000000EB
+:1045D00000000000000000000000000000000000DB
+:1045E00000000000000000000000000000000000CB
+:1045F00000000000000000000000000000000000BB
+:104600000202020202020202020202020100000190
+:10461000000000000000000000000000000000009A
+:10462000000000000000000000000000000000008A
+:10463000000000000000000000000000000000007A
+:10464000000000000000000000000000000000006A
+:104650000202020101020102020101010101010144
+:10466000000000000000000000000000000000004A
+:10467000000000000000000000000000000000003A
+:10468000000000000000000000000000000000002A
+:10469000000000000000000000000000000000001A
+:1046A00001010000020200020101010101010101FA
+:1046B00002020202020202020201010201020200DF
+:1046C00000000000000000000000000000000000EA
+:1046D00000000000000000000000000000000000DA
+:1046E00000000000000000000000000000000000CA
+:1046F00000000000000000000000000000000000BA
+:10470000020202020202020202020202010000018F
+:104710000000000000000000000000000000000099
+:104720000000000000000000000000000000000089
+:104730000000000000000000000000000000000079
+:104740000000000000000000000000000000000069
+:10475000020202020102020202020101020101013F
+:104760000000000000000000000000000000000049
+:104770000000000000000000000000000000000039
+:104780000000000000000000000000000000000029
+:104790000000000000000000000000000000000019
+:1047A00001010001020200020101010101010101F8
+:1047B00002020202020202010101010101010100E3
+:1047C00000000000000000000000000000000000E9
+:1047D00000000000000000000000000000000000D9
+:1047E00000000000000000000000000000000000C9
+:1047F00000000000000000000000000000000000B9
+:10480000020202020202020202020202010100028C
+:104810000000000000000000000000000000000098
+:104820000000000000000000000000000000000088
+:104830000000000000000000000000000000000078
+:104840000000000000000000000000000000000068
+:10485000020202020102020202020101020201013D
+:104860000000000000000000000000000000000048
+:104870000000000000000000000000000000000038
+:104880000000000000000000000000000000000028
+:104890000000000000000000000000000000000018
+:1048A00002020101020200020101010101010101F4
+:1048B00002020202020201010101010101010100E3
+:1048C00000000000000000000000000000000000E8
+:1048D00000000000000000000000000000000000D8
+:1048E00000000000000000000000000000000000C8
+:1048F00000000000000000000000000000000000B8
+:10490000020202020202020202020202010101028A
+:104910000000000000000000000000000000000097
+:104920000000000000000000000000000000000087
+:104930000000000000000000000000000000000077
+:104940000000000000000000000000000000000067
+:10495000020202020202020202020201020201013A
+:104960000000000000000000000000000000000047
+:104970000000000000000000000000000000000037
+:104980000000000000000000000000000000000027
+:104990000000000000000000000000000000000017
+:1049A00002020101020201020201010101010101F1
+:1049B00002020202020101010101010101010100E3
+:1049C00000000000000000000000000000000000E7
+:1049D00000000000000000000000000000000000D7
+:1049E00000000000000000000000000000000000C7
+:1049F00000000000000000000000000000000000B7
+:104A00000202020202020202020202020201010288
+:104A10000000000000000000000000000000000096
+:104A20000000000000000000000000000000000086
+:104A30000000000000000000000000000000000076
+:104A40000000000000000000000000000000000066
+:104A50000202020202020202020202010202010139
+:104A60000000000000000000000000000000000046
+:104A70000000000000000000000000000000000036
+:104A80000000000000000000000000000000000026
+:104A90000000000000000000000000000000000016
+:104AA00002020101020201020202010101010101EF
+:104AB00002020202010101010101010101010100E3
+:104AC00000000000000000000000000000000000E6
+:104AD00000000000000000000000000000000000D6
+:104AE00000000000000000000000000000000000C6
+:104AF00000000000000000000000000000000000B6
+:104B00000202020202020202020202020201010287
+:104B10000000000000000000000000000000000095
+:104B20000000000000000000000000000000000085
+:104B30000000000000000000000000000000000075
+:104B40000000000000000000000000000000000065
+:104B50000202020202020202020202020202010137
+:104B60000000000000000000000000000000000045
+:104B70000000000000000000000000000000000035
+:104B80000000000000000000000000000000000025
+:104B90000000000000000000000000000000000015
+:104BA00002020201020201020202020101010101EC
+:104BB00002020201010101010101010101010101E2
+:104BC00000000000000000000000000000000000E5
+:104BD00000000000000000000000000000000000D5
+:104BE00000000000000000000000000000000000C5
+:104BF00000000000000000000000000000000000B5
+:104C00000202020202020202020202020201010286
+:104C10000000000000000000000000000000000094
+:104C20000000000000000000000000000000000084
+:104C30000000000000000000000000000000000074
+:104C40000000000000000000000000000000000064
+:104C50000202020202020202020202020202010235
+:104C60000000000000000000000000000000000044
+:104C70000000000000000000000000000000000034
+:104C80000000000000000000000000000000000024
+:104C90000000000000000000000000000000000014
+:104CA00002020202020201020202020201010101E9
+:104CB00002020101010101010101010101010101E2
+:104CC00000000000000000000000000000000000E4
+:104CD00000000000000000000000000000000000D4
+:104CE00000000000000000000000000000000000C4
+:104CF00000000000000000000000000000000000B4
+:104D00000202020202020202020202020201010285
+:104D10000000000000000000000000000000000093
+:104D20000000000000000000000000000000000083
+:104D30000000000000000000000000000000000073
+:104D40000000000000000000000000000000000063
+:104D50000202020202020202020202020202010234
+:104D60000000000000000000000000000000000043
+:104D70000000000000000000000000000000000033
+:104D80000000000000000000000000000000000023
+:104D90000000000000000000000000000000000013
+:104DA00002020202020201020202020202010102E6
+:104DB00002010101010101010101010101010101E2
+:104DC00000000000000000000000000000000000E3
+:104DD00000000000000000000000000000000000D3
+:104DE00000000000000000000000000000000000C3
+:104DF00000000000000000000000000000000000B3
+:104E00000202020202020202020202020202010283
+:104E10000000000000000000000000000000000092
+:104E20000000000000000000000000000000000082
+:104E30000000000000000000000000000000000072
+:104E40000000000000000000000000000000000062
+:104E50000202020202020202020202020202010233
+:104E60000000000000000000000000000000000042
+:104E70000000000000000000000000000000000032
+:104E80000000000000000000000000000000000022
+:104E90000000000000000000000000000000000012
+:104EA00002020202020201020202020202010102E5
+:104EB00001010101010101010101010101010101E2
+:104EC00000000000000000000000000000000000E2
+:104ED00000000000000000000000000000000000D2
+:104EE00000000000000000000000000000000000C2
+:104EF00000000000000000000000000000000000B2
+:104F00000202020202020202020202020202020281
+:104F10000000000000000000000000000000000091
+:104F20000000000000000000000000000000000081
+:104F30000000000000000000000000000000000071
+:104F40000000000000000000000000000000000061
+:104F50000202020202020202020202020202010232
+:104F60000000000000000000000000000000000041
+:104F70000000000000000000000000000000000031
+:104F80000000000000000000000000000000000021
+:104F90000000000000000000000000000000000011
+:104FA00002020202020201020202020202020102E3
+:104FB00001010101010101010101010101010101E1
+:104FC00000000000000000000000000000000000E1
+:104FD00000000000000000000000000000000000D1
+:104FE00000000000000000000000000000000000C1
+:104FF00000000000000000000000000000000000B1
+:105000000202020202020202020202020202020280
+:105010000000000000000000000000000000000090
+:105020000000000000000000000000000000000080
+:105030000000000000000000000000000000000070
+:105040000000000000000000000000000000000060
+:105050000202020202020202020202020202010231
+:105060000000000000000000000000000000000040
+:105070000000000000000000000000000000000030
+:105080000000000000000000000000000000000020
+:105090000000000000000000000000000000000010
+:1050A00002020202020202020202020202020102E1
+:1050B00001010101010101010101010101010101E0
+:1050C00000000000000000000000000000000000E0
+:1050D00000000000000000000000000000000000D0
+:1050E00000000000000000000000000000000000C0
+:1050F00000000000000000000000000000000000B0
+:10510000020202020202020202020202020202027F
+:10511000000000000000000000000000000000008F
+:10512000000000000000000000000000000000007F
+:10513000000000000000000000000000000000006F
+:10514000000000000000000000000000000000005F
+:105150000202020202020202020202020202010230
+:10516000000000000000000000000000000000003F
+:10517000000000000000000000000000000000002F
+:10518000000000000000000000000000000000001F
+:10519000000000000000000000000000000000000F
+:1051A00002020202020202020202020202020102E0
+:1051B00001010101010101010101010101010101DF
+:1051C00000000000000000000000000000000000DF
+:1051D00000000000000000000000000000000000CF
+:1051E00000000000000000000000000000000000BF
+:1051F00000000000000000000000000000000000AF
+:10520000020202020202020202020202020202027E
+:10521000000000000000000000000000000000008E
+:10522000000000000000000000000000000000007E
+:10523000000000000000000000000000000000006E
+:10524000000000000000000000000000000000005E
+:10525000020202020202020202020202020202022E
+:10526000000000000000000000000000000000003E
+:10527000000000000000000000000000000000002E
+:10528000000000000000000000000000000000001E
+:10529000000000000000000000000000000000000E
+:1052A00002020202020202020202020202020202DE
+:1052B00001010101010101010101010101010101DE
+:1052C00000000000000000000000000000000000DE
+:1052D00000000000000000000000000000000000CE
+:1052E00000000000000000000000000000000000BE
+:1052F00000000000000000000000000000000000AE
+:10530000020202020202020202020202020202027D
+:10531000000000000000000000000000000000008D
+:10532000000000000000000000000000000000007D
+:10533000000000000000000000000000000000006D
+:10534000000000000000000000000000000000005D
+:10535000020202020202020202020202020202022D
+:10536000000000000000000000000000000000003D
+:10537000000000000000000000000000000000002D
+:10538000000000000000000000000000000000001D
+:10539000000000000000000000000000000000000D
+:1053A00002020202020202020202020202020202DD
+:1053B00001010101010101010101010101010101DD
+:1053C00000000000000000000000000000000000DD
+:1053D00000000000000000000000000000000000CD
+:1053E00000000000000000000000000000000000BD
+:1053F00000000000000000000000000000000000AD
+:10540000020202020202020202020202020202027C
+:10541000000000000000000000000000000000008C
+:10542000000000000000000000000000000000007C
+:10543000000000000000000000000000000000006C
+:10544000000000000000000000000000000000005C
+:10545000020202020202020202020202020202022C
+:10546000000000000000000000000000000000003C
+:10547000000000000000000000000000000000002C
+:10548000000000000000000000000000000000001C
+:10549000000000000000000000000000000000000C
+:1054A00002020202020202020202020202020202DC
+:1054B00001010101010101010101010101010101DC
+:1054C00000000000000000000000000000000000DC
+:1054D00000000000000000000000000000000000CC
+:1054E00000000000000000000000000000000000BC
+:1054F00000000000000000000000000000000000AC
+:105500000202020202020102010101010202020280
+:10551000000000000000000000000000000000008B
+:10552000000000000000000000000000000000007B
+:10553000000000000000000000000000000000006B
+:10554000000000000000000000000000000000005B
+:10555000020202020202020202020202020202022B
+:10556000000000000000000000000000000000003B
+:10557000000000000000000000000000000000002B
+:10558000000000000000000000000000000000001B
+:10559000000000000000000000000000000000000B
+:1055A00002020202020202020202020202020202DB
+:1055B00001010101010101010101010101010101DB
+:1055C00000000000000000000000000000000000DB
+:1055D00000000000000000000000000000000000CB
+:1055E00000000000000000000000000000000000BB
+:1055F00000000000000000000000000000000000AB
+:105600000202020201010101010101010202020282
+:10561000000000000000000000000000000000008A
+:10562000000000000000000000000000000000007A
+:10563000000000000000000000000000000000006A
+:10564000000000000000000000000000000000005A
+:10565000020202020202020202020202020202022A
+:10566000000000000000000000000000000000003A
+:10567000000000000000000000000000000000002A
+:10568000000000000000000000000000000000001A
+:10569000000000000000000000000000000000000A
+:1056A00002020202020202020202020202020202DA
+:1056B00001010101010101010101010101010101DA
+:1056C00000000000000000000000000000000000DA
+:1056D00000000000000000000000000000000000CA
+:1056E00000000000000000000000000000000000BA
+:1056F00000000000000000000000000000000000AA
+:105700000202020201010101010101010102020282
+:105710000000000000000000000000000000000089
+:105720000000000000000000000000000000000079
+:105730000000000000000000000000000000000069
+:105740000000000000000000000000000000000059
+:105750000202020202020202020202020202020229
+:105760000000000000000000000000000000000039
+:105770000000000000000000000000000000000029
+:105780000000000000000000000000000000000019
+:105790000000000000000000000000000000000009
+:1057A00002020202020202020202020202020202D9
+:1057B00001010101010101010101010101010101D9
+:1057C00000000000000000000000000000000000D9
+:1057D00000000000000000000000000000000000C9
+:1057E00000000000000000000000000000000000B9
+:1057F00000000000000000000000000000000000A9
+:105800000202010201010101010101010101010284
+:105810000000000000000000000000000000000088
+:105820000000000000000000000000000000000078
+:105830000000000000000000000000000000000068
+:105840000000000000000000000000000000000058
+:105850000202020202020202020202020202020228
+:105860000000000000000000000000000000000038
+:105870000000000000000000000000000000000028
+:105880000000000000000000000000000000000018
+:105890000000000000000000000000000000000008
+:1058A00002020202020202020202020202020202D8
+:1058B00001010101010101010101010101010101D8
+:1058C00000000000000000000000000000000000D8
+:1058D00000000000000000000000000000000000C8
+:1058E00000000000000000000000000000000000B8
+:1058F00000000000000000000000000000000000A8
+:105900000101010101010101010101010101010187
+:105910000000000000000000000000000000000087
+:105920000000000000000000000000000000000077
+:105930000000000000000000000000000000000067
+:105940000000000000000000000000000000000057
+:105950000202020202020202020202020202020227
+:105960000000000000000000000000000000000037
+:105970000000000000000000000000000000000027
+:105980000000000000000000000000000000000017
+:105990000000000000000000000000000000000007
+:1059A00002020202020202020202020202020202D7
+:1059B00001010101010101010101010101010101D7
+:1059C00000000000000000000000000000000000D7
+:1059D00000000000000000000000000000000000C7
+:1059E00000000000000000000000000000000000B7
+:1059F00000000000000000000000000000000000A7
+:105A00000101010101010101010101010101010186
+:105A10000000000000000000000000000000000086
+:105A20000000000000000000000000000000000076
+:105A30000000000000000000000000000000000066
+:105A40000000000000000000000000000000000056
+:105A50000202020202020202020202020202020226
+:105A60000000000000000000000000000000000036
+:105A70000000000000000000000000000000000026
+:105A80000000000000000000000000000000000016
+:105A90000000000000000000000000000000000006
+:105AA00002020202020202020202020202020202D6
+:105AB00001010101010101010101010101010101D6
+:105AC00000000000000000000000000000000000D6
+:105AD00000000000000000000000000000000000C6
+:105AE00000000000000000000000000000000000B6
+:105AF00000000000000000000000000000000000A6
+:105B00000101010101010101010101010101010185
+:105B10000000000000000000000000000000000085
+:105B20000000000000000000000000000000000075
+:105B30000000000000000000000000000000000065
+:105B40000000000000000000000000000000000055
+:105B50000202020202020202020202020202020225
+:105B60000000000000000000000000000000000035
+:105B70000000000000000000000000000000000025
+:105B80000000000000000000000000000000000015
+:105B90000000000000000000000000000000000005
+:105BA00002020202020202020202020202020202D5
+:105BB00001010101010101010101010101010101D5
+:105BC00000000000000000000000000000000000D5
+:105BD00000000000000000000000000000000000C5
+:105BE00000000000000000000000000000000000B5
+:105BF00000000000000000000000000000000000A5
+:105C00000101010101010101010101010101010184
+:105C10000000000000000000000000000000000084
+:105C20000000000000000000000000000000000074
+:105C30000000000000000000000000000000000064
+:105C40000000000000000000000000000000000054
+:105C50000202020202020202020202020202020224
+:105C60000000000000000000000000000000000034
+:105C70000000000000000000000000000000000024
+:105C80000000000000000000000000000000000014
+:105C90000000000000000000000000000000000004
+:105CA00002020202020202020202020202020202D4
+:105CB00001010101010101010101010101010101D4
+:105CC00000000000000000000000000000000000D4
+:105CD00000000000000000000000000000000000C4
+:105CE00000000000000000000000000000000000B4
+:105CF00000000000000000000000000000000000A4
+:105D00000101010101010101010101010101010183
+:105D10000000000000000000000000000000000083
+:105D20000000000000000000000000000000000073
+:105D30000000000000000000000000000000000063
+:105D40000000000000000000000000000000000053
+:105D50000202020202020202020202020202020223
+:105D60000000000000000000000000000000000033
+:105D70000000000000000000000000000000000023
+:105D80000000000000000000000000000000000013
+:105D90000000000000000000000000000000000003
+:105DA00002020202020202020202020202020202D3
+:105DB00001010101010101010101010101010101D3
+:105DC00000000000000000000000000000000000D3
+:105DD00000000000000000000000000000000000C3
+:105DE00000000000000000000000000000000000B3
+:105DF00000000000000000000000000000000000A3
+:105E00000101010101010101010101010101010182
+:105E10000000000000000000000000000000000082
+:105E20000000000000000000000000000000000072
+:105E30000000000000000000000000000000000062
+:105E40000000000000000000000000000000000052
+:105E50000202020202020202020202020202020222
+:105E60000000000000000000000000000000000032
+:105E70000000000000000000000000000000000022
+:105E80000000000000000000000000000000000012
+:105E90000000000000000000000000000000000002
+:105EA00002020202020202020202020202020202D2
+:105EB00001010101010101010101010101010101D2
+:105EC00000000000000000000000000000000000D2
+:105ED00000000000000000000000000000000000C2
+:105EE00000000000000000000000000000000000B2
+:105EF00000000000000000000000000000000000A2
+:105F00000101010101010101010101010101010181
+:105F10000000000000000000000000000000000081
+:105F20000000000000000000000000000000000071
+:105F30000000000000000000000000000000000061
+:105F40000000000000000000000000000000000051
+:105F50000202020202020202010202020101020224
+:105F60000000000000000000000000000000000031
+:105F70000000000000000000000000000000000021
+:105F80000000000000000000000000000000000011
+:105F90000000000000000000000000000000000001
+:105FA00002020202020202020202020202020202D1
+:105FB00001010101010101010101010101010101D1
+:105FC00000000000000000000000000000000000D1
+:105FD00000000000000000000000000000000000C1
+:105FE00000000000000000000000000000000000B1
+:105FF00000000000000000000000000000000000A1
+:106000000101010101010101010101010101010180
+:106010000000000000000000000000000000000080
+:106020000000000000000000000000000000000070
+:106030000000000000000000000000000000000060
+:106040000000000000000000000000000000000050
+:106050000202020202020201010101010101020227
+:106060000000000000000000000000000000000030
+:106070000000000000000000000000000000000020
+:106080000000000000000000000000000000000010
+:106090000000000000000000000000000000000000
+:1060A00002020202020202020202020202020202D0
+:1060B00001010101010101010101010101010101D0
+:1060C00000000000000000000000000000000000D0
+:1060D00000000000000000000000000000000000C0
+:1060E00000000000000000000000000000000000B0
+:1060F00000000000000000000000000000000000A0
+:10610000010101010101010101010101010101017F
+:10611000000000000000000000000000000000007F
+:10612000000000000000000000000000000000006F
+:10613000000000000000000000000000000000005F
+:10614000000000000000000000000000000000004F
+:10615000010101020201010101010101010101012D
+:10616000000000000000000000000000000000002F
+:10617000000000000000000000000000000000001F
+:10618000000000000000000000000000000000000F
+:1061900000000000000000000000000000000000FF
+:1061A00002020202020202020202020202020202CF
+:1061B00001010101010101010101010101010101CF
+:1061C00000000000000000000000000000000000CF
+:1061D00000000000000000000000000000000000BF
+:1061E00000000000000000000000000000000000AF
+:1061F000000000000000000000000000000000009F
+:10620000010101010101010101010101010101017E
+:10621000000000000000000000000000000000007E
+:10622000000000000000000000000000000000006E
+:10623000000000000000000000000000000000005E
+:10624000000000000000000000000000000000004E
+:10625000010101010101010101010101010101012E
+:10626000000000000000000000000000000000002E
+:10627000000000000000000000000000000000001E
+:10628000000000000000000000000000000000000E
+:1062900000000000000000000000000000000000FE
+:1062A00002020202020202020202020202020202CE
+:1062B00001010101010101010101010101010101CE
+:1062C00000000000000000000000000000000000CE
+:1062D00000000000000000000000000000000000BE
+:1062E00000000000000000000000000000000000AE
+:1062F000000000000000000000000000000000009E
+:10630000010101010101010101010101010101017D
+:10631000000000000000000000000000000000007D
+:10632000000000000000000000000000000000006D
+:10633000000000000000000000000000000000005D
+:10634000000000000000000000000000000000004D
+:10635000010101010101010101010101010101012D
+:10636000000000000000000000000000000000002D
+:10637000000000000000000000000000000000001D
+:10638000000000000000000000000000000000000D
+:1063900000000000000000000000000000000000FD
+:1063A00002020202020202020202020202020202CD
+:1063B00001010101010101010101010101010101CD
+:1063C00000000000000000000000000000000000CD
+:1063D00000000000000000000000000000000000BD
+:1063E00000000000000000000000000000000000AD
+:1063F000000000000000000000000000000000009D
+:10640000010101010101010101010101010101017C
+:10641000000000000000000000000000000000007C
+:10642000000000000000000000000000000000006C
+:10643000000000000000000000000000000000005C
+:10644000000000000000000000000000000000004C
+:10645000010101010101010101010101010101012C
+:10646000000000000000000000000000000000002C
+:10647000000000000000000000000000000000001C
+:10648000000000000000000000000000000000000C
+:1064900000000000000000000000000000000000FC
+:1064A00002020202020202020202020202020202CC
+:1064B00001010101010101010101010101010101CC
+:1064C00000000000000000000000000000000000CC
+:1064D00000000000000000000000000000000000BC
+:1064E00000000000000000000000000000000000AC
+:1064F000000000000000000000000000000000009C
+:10650000010101010101010101010101010101017B
+:10651000000000000000000000000000000000007B
+:10652000000000000000000000000000000000006B
+:10653000000000000000000000000000000000005B
+:10654000000000000000000000000000000000004B
+:10655000010101010101010101010101010101012B
+:10656000000000000000000000000000000000002B
+:10657000000000000000000000000000000000001B
+:10658000000000000000000000000000000000000B
+:1065900000000000000000000000000000000000FB
+:1065A00002020202020202020202020202020202CB
+:1065B00001010101010101010101010101010101CB
+:1065C00000000000000000000000000000000000CB
+:1065D00000000000000000000000000000000000BB
+:1065E00000000000000000000000000000000000AB
+:1065F000000000000000000000000000000000009B
+:10660000010101010101010101010101010101017A
+:10661000000000000000000000000000000000007A
+:10662000000000000000000000000000000000006A
+:10663000000000000000000000000000000000005A
+:10664000000000000000000000000000000000004A
+:10665000010101010101010101010101010101012A
+:10666000000000000000000000000000000000002A
+:10667000000000000000000000000000000000001A
+:10668000000000000000000000000000000000000A
+:1066900000000000000000000000000000000000FA
+:1066A00002020202010202010101010101010101D4
+:1066B00001010101010101010101010101010101CA
+:1066C00000000000000000000000000000000000CA
+:1066D00000000000000000000000000000000000BA
+:1066E00000000000000000000000000000000000AA
+:1066F000000000000000000000000000000000009A
+:106700000101010101010101010101010101010179
+:106710000000000000000000000000000000000079
+:106720000000000000000000000000000000000069
+:106730000000000000000000000000000000000059
+:106740000000000000000000000000000000000049
+:106750000101010101010101010101010101010129
+:106760000000000000000000000000000000000029
+:106770000000000000000000000000000000000019
+:106780000000000000000000000000000000000009
+:1067900000000000000000000000000000000000F9
+:1067A00000000000000200000000000000000000E7
+:1067B00001010101010101010101010101010101C9
+:1067C00000000000000000000000000000000000C9
+:1067D00000000000000000000000000000000000B9
+:1067E00000000000000000000000000000000000A9
+:1067F0000000000000000000000000000000000099
+:106800000101010101010101010101010101010178
+:106810000000000000000000000000000000000078
+:106820000000000000000000000000000000000068
+:106830000000000000000000000000000000000058
+:106840000000000000000000000000000000000048
+:106850000101010101010101010101010101010128
+:106860000000000000000000000000000000000028
+:106870000000000000000000000000000000000018
+:106880000000000000000000000000000000000008
+:1068900000000000000000000000000000000000F8
+:1068A00000000000000100000000000000000000E7
+:1068B00000000000000000000000000000000000D8
+:1068C00000000000000000000000000000000000C8
+:1068D00000000000000000000000000000000000B8
+:1068E00000000000000000000000000000000000A8
+:1068F0000000000000000000000000000000000098
+:106900000000000000000000000000000000000087
+:106910000000000000000000000000000000000077
+:106920000000000000000000000000000000000067
+:106930000000000000000000000000000000000057
+:106940000000000000000000000000000000000047
+:106950000000000000000000000000000000000037
+:106960000000000000000000000000000000000027
+:106970000000000000000000000000000000000017
+:106980000000000000000000000000000000000007
+:1069900000000000000000000000000000000000F7
+:1069A00000000000000000000000000000000000E7
+:1069B0002F0000000000000000020000020202029E
+:1069C00002000200000000000000000000000000C3
+:1069D00000000000000000000000000000000000B7
+:1069E00000000000000000000000000000000000A7
+:1069F0000000000000000000000000000000000097
+:106A00000000000000000000000000000000000086
+:106A10000000000000000000000000000000000076
+:106A20000000000000000000000000000000000066
+:106A30000000000000000000000000000000000056
+:106A40000000000000000000000000000000000046
+:106A50000000000000000000000000000000000036
+:106A60000000000000000000000000000000000026
+:106A70000000000000000000000000000000000016
+:106A80000000000000000000000000000000000006
+:106A900000000000000000000000000000000000F6
+:106AA00000000000000000000000000001010101E2
+:106AB00000000000000000000002020202020202C8
+:106AC00002020200020000000000000000000000BE
+:106AD00000000000000000000000000000000000B6
+:106AE00000000000000000000000000000000000A6
+:106AF0000000000000000000000000000000000096
+:106B00000000000000000000000001000000000084
+:106B10000000000000000000000000000000000075
+:106B20000000000000000000000000000000000065
+:106B30000000000000000000000000000000000055
+:106B40000000000000000000000000000000000045
+:106B50000000000000000000000000000000000035
+:106B60000000000000000001000000000000000024
+:106B70000000000000000000000000000000000015
+:106B80000000000000000000000000000000000005
+:106B900000000000000000000000000000000000F5
+:106BA00000000000000000000000000001010101E1
+:106BB00000000000000000010202020202020202C4
+:106BC00002020200020000000000000000000000BD
+:106BD00000000000000000000000000000000000B5
+:106BE00000000000000000000000000000000000A5
+:106BF0000000000000000000000000000000000095
+:106C00000000000000000000000001000101000081
+:106C10000000000000000000000000000000000074
+:106C20000000000000000000000000000000000064
+:106C30000000000000000000000000000000000054
+:106C40000000000000000000000000000000000044
+:106C50000000000000000000000000000000000034
+:106C60000000000000000001000000000000000023
+:106C70000000000000000000000000000000000014
+:106C80000000000000000000000000000000000004
+:106C900000000000000000000000000000000000F4
+:106CA00000000000000000000000000001010101E0
+:106CB00001000000000000010202020202020202C2
+:106CC00002020200020000000000000000000000BC
+:106CD00000000000000000000000000000000000B4
+:106CE00000000000000000000000000000000000A4
+:106CF0000000000000000000000000000000000094
+:106D00000000000000000000000001000101000080
+:106D10000000000000000001000000000000000072
+:106D20000000000000000000000000000000000063
+:106D30000000000000000000000000000000000053
+:106D40000000000000000000000000000000000043
+:106D50000000000000000000000001000000000032
+:106D60000000000000000001000000000000000022
+:106D70000000000000000000000000000000000013
+:106D80000000000000000000000000000000000003
+:106D900000000000000000000000000000000000F3
+:106DA00000000000000000000000000001010101DF
+:106DB00001000001000000010202020202020202C0
+:106DC00002020200020000000000000000000000BB
+:106DD00000000000000000000000000000000000B3
+:106DE00000000000000000000000000000000000A3
+:106DF0000000000000000000000000000000000093
+:106E0000000000000000000001010100010101007C
+:106E10000000000000000001000000000000000071
+:106E20000000000000000000000000000000000062
+:106E30000000000000000000000000000000000052
+:106E40000000000000000000000000000000000042
+:106E50000000000000000000000001000000000031
+:106E60000100000000000001000000000000000020
+:106E70000000000000000000000000000000000012
+:106E80000000000000000000000000000000000002
+:106E900000000000000000000000000000000000F2
+:106EA00000000000000000000000000001010101DE
+:106EB00001000001000000010202020202020202BF
+:106EC00002020202020000000000000000000000B8
+:106ED00000000000000000000000000000000000B2
+:106EE00000000000000000000000000000000000A2
+:106EF0000000000000000000000000000000000092
+:106F0000000000000000000001010101010101007A
+:106F10000000000000000001000000000000000070
+:106F20000000000000000000000000000000000061
+:106F30000000000000000000000000000000000051
+:106F40000000000000000000000000000000000041
+:106F50000000000000000000000001000000000030
+:106F6000010000000000000100000000000000001F
+:106F70000000000000000000000000000000000011
+:106F80000000000000000000000000000000000001
+:106F900000000000000000000000000000000000F1
+:106FA00000000000000000000000000001010101DD
+:106FB00001010001000000010202020202020202BD
+:106FC00002020202020000000000000000000000B7
+:106FD00000000000000000000000000000000000B1
+:106FE00000000000000000000000000000000000A1
+:106FF0000000000000000000000000000000000091
+:107000000000000000000000010101010101010079
+:10701000000000000000000100000000000000006F
+:107020000000000000000000000000000000000060
+:107030000000000000000000000000000000000050
+:107040000000000000000000000000000000000040
+:10705000000000000000000000000100010000002E
+:10706000010000000000000100000000000000001E
+:107070000000000000000000000000000000000010
+:107080000000000000000000000000000000000000
+:1070900000000000000000000000000000000000F0
+:1070A00000000000000000000000000001010101DC
+:1070B00001010001000000010202020202020202BC
+:1070C00002020202020201000000000000000000B3
+:1070D00000000000000000000000000000000000B0
+:1070E00000000000000000000000000000000000A0
+:1070F0000000000000000000000000000000000090
+:107100000000000000000000020102010101010076
+:10711000000000000000000100000000000000006E
+:10712000000000000000000000000000000000005F
+:10713000000000000000000000000000000000004F
+:10714000000000000000000000000000000000003F
+:10715000000000000000000000000100010000002D
+:10716000010100010000000100000000000000001B
+:10717000000000000000000000000000000000000F
+:1071800000000000000000000000000000000000FF
+:1071900000000000000000000000000000000000EF
+:1071A00000000000000000000000000001010101DB
+:1071B00001010001000001010202020202020202BA
+:1071C00002020202020201000000000000000000B2
+:1071D00000000000000000000000000000000000AF
+:1071E000000000000000000000000000000000009F
+:1071F000000000000000000000000000000000008F
+:107200000000000000000000020202010202010171
+:10721000010000000000000100000000000000006C
+:10722000000000000000000000000000000000005E
+:10723000000000000000000000000000000000004E
+:10724000000000000000000000000000000000003E
+:10725000000000000000000000000100010001002B
+:10726000010100010000000100000000000000001A
+:10727000000000000000000000000000000000000E
+:1072800000000000000000000000000000000000FE
+:1072900000000000000000000000000000000000EE
+:1072A00000000000000000000000000001010101DA
+:1072B00001010001000001010202020202020202B9
+:1072C00002020202020202000000000000000000B0
+:1072D00000000000000000000000000000000000AE
+:1072E000000000000000000000000000000000009E
+:1072F000000000000000000000000000000000008E
+:107300000000000000000000020202010202010170
+:10731000010000000100000100000000000000006A
+:10732000000000000000000000000000000000005D
+:10733000000000000000000000000000000000004D
+:10734000000000000000000000000000000000003D
+:10735000000000000000000000000100010001002A
+:107360000101000100000001000000000000000019
+:10737000000000000000000000000000000000000D
+:1073800000000000000000000000000000000000FD
+:1073900000000000000000000000000000000000ED
+:1073A00000000000000000000000000001010101D9
+:1073B00001010001000001010202020202020202B8
+:1073C00002020202020202000000000000000000AF
+:1073D00000000000000000000000000000000000AD
+:1073E000000000000000000000000000000000009D
+:1073F000000000000000000000000000000000008D
+:10740000000000000000000002020202020201016E
+:107410000100010001000001000000000000000068
+:10742000000000000000000000000000000000005C
+:10743000000000000000000000000000000000004C
+:10744000000000000000000000000000000000003C
+:107450000000000000000000010101000100010126
+:107460000101000100000001000000000000000018
+:10747000000000000000000000000000000000000C
+:1074800000000000000000000000000000000000FC
+:1074900000000000000000000000000000000000EC
+:1074A00000000000000000000000000001010101D8
+:1074B00001010101000001010202020202020202B6
+:1074C00002020202020202000000000000000000AE
+:1074D00000000000000000000000000000000000AC
+:1074E000000000000000000000000000000000009C
+:1074F000000000000000000000000000000000008C
+:10750000000000000000000002020202020202016C
+:107510000101010101010001000000000000000064
+:10752000000000000000000000000000000000005B
+:10753000000000000000000000000000000000004B
+:10754000000000000000000000000000000000003B
+:107550000000000000000000010101000100010125
+:107560000101000100010001000000000000000016
+:10757000000000000000000000000000000000000B
+:1075800000000000000000000000000000000000FB
+:1075900000000000000000000000000000000000EB
+:1075A00000000000000000000000000001010101D7
+:1075B00001010101010101010202020202020202B3
+:1075C00002020202020202000000000000000000AD
+:1075D00000000000000000000000000000000000AB
+:1075E000000000000000000000000000000000009B
+:1075F000000000000000000000000000000000008B
+:10760000000000000000000002020202020202016B
+:107610000101010101010001000000000000000063
+:10762000000000000000000000000000000000005A
+:10763000000000000000000000000000000000004A
+:10764000000000000000000000000000000000003A
+:107650000000000000000000010102000100010123
+:107660000101000100010001000000000000000015
+:10767000000000000000000000000000000000000A
+:1076800000000000000000000000000000000000FA
+:1076900000000000000000000000000000000000EA
+:1076A00000000000000000000100000002010101D4
+:1076B00001010101010101010202020202020202B2
+:1076C00002020202020202000000000000000000AC
+:1076D00000000000000000000000000000000000AA
+:1076E000000000000000000000000000000000009A
+:1076F000000000000000000000000000000000008A
+:10770000000000000000000002020202020202016A
+:107710000201010101010001000000000000000061
+:107720000000000000000000000000000000000059
+:107730000000000000000000000000000000000049
+:107740000000000000000000000000000000000039
+:107750000000000000000000010102000100010122
+:107760000101000100010001000000000000000014
+:107770000000000000000000000000000000000009
+:1077800000000000000000000000000000000000F9
+:1077900000000000000000000000000000000000E9
+:1077A00000000000000000000100000002020101D2
+:1077B00001010101010101010202020202020202B1
+:1077C00002020202010202000000000000000000AC
+:1077D00000000000000000000000000000000000A9
+:1077E0000000000000000000000000000000000099
+:1077F0000000000000000000000000000000000089
+:107800000000000000000000020202020202020268
+:107810000201010101010001000000000000000060
+:107820000000000000000000000000000000000058
+:107830000000000000000000000000000000000048
+:107840000000000000000000000000000000000038
+:10785000000000000000000002010200010101011F
+:107860000101000100010001000000000000000013
+:107870000000000000000000000000000000000008
+:1078800000000000000000000000000000000000F8
+:1078900000000000000000000000000000000000E8
+:1078A00000000000000000000201000002020202CD
+:1078B00001010101010101010202020202020202B0
+:1078C00002020102010202000000000000000000AC
+:1078D00000000000000000000000000000000000A8
+:1078E0000000000000000000000000000000000098
+:1078F0000000000000000000000000000000000088
+:107900000000000000000000020202020202020267
+:10791000020202010101010100000000000000005C
+:107920000000000000000000000000000000000057
+:107930000000000000000000000000000000000047
+:107940000000000000000000000000000000000037
+:10795000000000000000000002020200020101011C
+:107960000101000101010001000000000000000011
+:107970000000000000000000000000000000000007
+:1079800000000000000000000000000000000000F7
+:1079900000000000000000000000000000000000E7
+:1079A00000000000000000000201010102020202CA
+:1079B00002010101010101010202020202020201AF
+:1079C00001010101010102000000000000000000AF
+:1079D00000000000000000000000000000000000A7
+:1079E0000000000000000000000000000000000097
+:1079F0000000000000000000000000000000000087
+:107A00000000000000000000020202020202020266
+:107A1000020202010201010100000000000000005A
+:107A20000000000000000000000000000000000056
+:107A30000000000000000000000000000000000046
+:107A40000000000000000000000000000000000036
+:107A5000000000000000000002020200020101011B
+:107A6000020101010101000100000000000000000E
+:107A70000000000000000000000000000000000006
+:107A800000000000000000000000000000000000F6
+:107A900000000000000000000000000000000000E6
+:107AA00000000000000000000202010102020202C8
+:107AB00002010101010101010202020202020101AF
+:107AC00001010101010101000000000000000000AF
+:107AD00000000000000000000000000000000000A6
+:107AE0000000000000000000000000000000000096
+:107AF0000000000000000000000000000000000086
+:107B00000000000000000000020202020202020265
+:107B10000202020102010101000000000000000059
+:107B20000000000000000000000000000000000055
+:107B30000000000000000000000000000000000045
+:107B40000000000000000000000000000000000035
+:107B50000000000000000000020202010201010119
+:107B6000020101010101010100000000000000000C
+:107B70000000000000000000000000000000000005
+:107B800000000000000000000000000000000000F5
+:107B900000000000000000000000000000000000E5
+:107BA00000000000000000000202010102020202C7
+:107BB00002020101010101010202020202010101AE
+:107BC00001010101010101000000000000000000AE
+:107BD00000000000000000000000000000000000A5
+:107BE0000000000000000000000000000000000095
+:107BF0000000000000000000000000000000000085
+:107C00000000000000000000020202020202020264
+:107C10000202020202010101000000000000000057
+:107C20000000000000000000000000000000000054
+:107C30000000000000000000000000000000000044
+:107C40000000000000000000000000000000000034
+:107C50000000000000000000020202010201020117
+:107C6000020201010101010100000000000000000A
+:107C70000000000000000000000000000000000004
+:107C800000000000000000000000000000000000F4
+:107C900000000000000000000000000000000000E4
+:107CA00000000000000000000202020102020202C5
+:107CB00002020102010101010202020201010101AD
+:107CC00001010101010101000000000000000000AD
+:107CD00000000000000000000000000000000000A4
+:107CE0000000000000000000000000000000000094
+:107CF0000000000000000000000000000000000084
+:107D00000000000000000000020202020202020263
+:107D10000202020202010101000000000000000056
+:107D20000000000000000000000000000000000053
+:107D30000000000000000000000000000000000043
+:107D40000000000000000000000000000000000033
+:107D50000000000000000000020202010201020116
+:107D60000202010101010101000000000000000009
+:107D70000000000000000000000000000000000003
+:107D800000000000000000000000000000000000F3
+:107D900000000000000000000000000000000000E3
+:107DA00000000000000000000202020202020202C3
+:107DB00002020102010101010202020101010101AD
+:107DC00001010101010101000000000000000000AC
+:107DD00000000000000000000000000000000000A3
+:107DE0000000000000000000000000000000000093
+:107DF0000000000000000000000000000000000083
+:107E00000000000000000000020202020202020262
+:107E10000202020202020102000000000000000053
+:107E20000000000000000000000000000000000052
+:107E30000000000000000000000000000000000042
+:107E40000000000000000000000000000000000032
+:107E50000000000000000000020202010202020213
+:107E60000202010201010101000000000000000007
+:107E70000000000000000000000000000000000002
+:107E800000000000000000000000000000000000F2
+:107E900000000000000000000000000000000000E2
+:107EA00000000000000000000202020202020202C2
+:107EB00002020202010101020202010101010101AB
+:107EC00001010101010101010000000000000000AA
+:107ED00000000000000000000000000000000000A2
+:107EE0000000000000000000000000000000000092
+:107EF0000000000000000000000000000000000082
+:107F00000000000000000000020202020202020261
+:107F10000202020202020102000000000000000052
+:107F20000000000000000000000000000000000051
+:107F30000000000000000000000000000000000041
+:107F40000000000000000000000000000000000031
+:107F50000000000000000000020202020202020211
+:107F60000202010201010102000000000000000005
+:107F70000000000000000000000000000000000001
+:107F800000000000000000000000000000000000F1
+:107F900000000000000000000000000000000000E1
+:107FA00000000000000000000202020202020202C1
+:107FB00002020202010101020201010101010101AB
+:107FC00001010101010101010000000000000000A9
+:107FD00000000000000000000000000000000000A1
+:107FE0000000000000000000000000000000000091
+:107FF0000000000000000000000000000000000081
+:108000000000000000000000020202020202020260
+:108010000202020202020102000000000000000051
+:108020000000000000000000000000000000000050
+:108030000000000000000000000000000000000040
+:108040000000000000000000000000000000000030
+:108050000000000000000000020202020202020210
+:108060000202010201010102000000000000000004
+:108070000000000000000000000000000000000000
+:1080800000000000000000000000000000000000F0
+:1080900000000000000000000000000000000000E0
+:1080A00000000000000000000202020202020202C0
+:1080B00002020202020102020201010101010101A8
+:1080C00001010101010101010000000000000000A8
+:1080D00000000000000000000000000000000000A0
+:1080E0000000000000000000000000000000000090
+:1080F0000000000000000000000000000000000080
+:10810000000000000000000002020202020202025F
+:108110000202020202020102000000000000000050
+:10812000000000000000000000000000000000004F
+:10813000000000000000000000000000000000003F
+:10814000000000000000000000000000000000002F
+:10815000000000000000000002020202020202020F
+:108160000202020201010102000000000000000002
+:1081700000000000000000000000000000000000FF
+:1081800000000000000000000000000000000000EF
+:1081900000000000000000000000000000000000DF
+:1081A00000000000000000000202020202020202BF
+:1081B00002020202020202020101010101010101A7
+:1081C00001010101010101010000000000000000A7
+:1081D000000000000000000000000000000000009F
+:1081E000000000000000000000000000000000008F
+:1081F000000000000000000000000000000000007F
+:10820000000000000000000002020202020202025E
+:10821000020202020202010200000000000000004F
+:10822000000000000000000000000000000000004E
+:10823000000000000000000000000000000000003E
+:10824000000000000000000000000000000000002E
+:10825000000000000000000002020202020202020E
+:1082600002020202020201020000000000000000FF
+:1082700000000000000000000000000000000000FE
+:1082800000000000000000000000000000000000EE
+:1082900000000000000000000000000000000000DE
+:1082A00000000000000000000202020202020202BE
+:1082B00002020202020202020101010101010101A6
+:1082C00001010101010101010000000000000000A6
+:1082D000000000000000000000000000000000009E
+:1082E000000000000000000000000000000000008E
+:1082F000000000000000000000000000000000007E
+:10830000000000000000000002020202020202025D
+:10831000020202020202020200000000000000004D
+:10832000000000000000000000000000000000004D
+:10833000000000000000000000000000000000003D
+:10834000000000000000000000000000000000002D
+:10835000000000000000000002020202020202020D
+:1083600002020202020201020000000000000000FE
+:1083700000000000000000000000000000000000FD
+:1083800000000000000000000000000000000000ED
+:1083900000000000000000000000000000000000DD
+:1083A00000000000000000000202020202020202BD
+:1083B00002020202020202020101010101010101A5
+:1083C00001010101010101010000000000000000A5
+:1083D000000000000000000000000000000000009D
+:1083E000000000000000000000000000000000008D
+:1083F000000000000000000000000000000000007D
+:10840000000000000000000002020202020202025C
+:10841000020202020202020200000000000000004C
+:10842000000000000000000000000000000000004C
+:10843000000000000000000000000000000000003C
+:10844000000000000000000000000000000000002C
+:10845000000000000000000002020202020202020C
+:1084600002020202020201020000000000000000FD
+:1084700000000000000000000000000000000000FC
+:1084800000000000000000000000000000000000EC
+:1084900000000000000000000000000000000000DC
+:1084A00000000000000000000202020202020202BC
+:1084B00002020202020202020101010101010101A4
+:1084C00001010101010101010000000000000000A4
+:1084D000000000000000000000000000000000009C
+:1084E000000000000000000000000000000000008C
+:1084F000000000000000000000000000000000007C
+:10850000000000000000000002020202020202025B
+:10851000020202020202020200000000000000004B
+:10852000000000000000000000000000000000004B
+:10853000000000000000000000000000000000003B
+:10854000000000000000000000000000000000002B
+:10855000000000000000000002020202020202020B
+:1085600002020202020201020000000000000000FC
+:1085700000000000000000000000000000000000FB
+:1085800000000000000000000000000000000000EB
+:1085900000000000000000000000000000000000DB
+:1085A00000000000000000000202020202020202BB
+:1085B00002020202020202020101010101010101A3
+:1085C00001010101010101010000000000000000A3
+:1085D000000000000000000000000000000000009B
+:1085E000000000000000000000000000000000008B
+:1085F000000000000000000000000000000000007B
+:10860000000000000000000002020202020202025A
+:10861000020202020202020200000000000000004A
+:10862000000000000000000000000000000000004A
+:10863000000000000000000000000000000000003A
+:10864000000000000000000000000000000000002A
+:10865000000000000000000002020202020202020A
+:1086600002020202020201020000000000000000FB
+:1086700000000000000000000000000000000000FA
+:1086800000000000000000000000000000000000EA
+:1086900000000000000000000000000000000000DA
+:1086A00000000000000000000202020202020202BA
+:1086B00002020202020202020101010101010101A2
+:1086C00001010101010101010000000000000000A2
+:1086D000000000000000000000000000000000009A
+:1086E000000000000000000000000000000000008A
+:1086F000000000000000000000000000000000007A
+:108700000000000000000000020202020202020259
+:108710000202020202020202000000000000000049
+:108720000000000000000000000000000000000049
+:108730000000000000000000000000000000000039
+:108740000000000000000000000000000000000029
+:108750000000000000000000020202020202020209
+:1087600002020202020201020000000000000000FA
+:1087700000000000000000000000000000000000F9
+:1087800000000000000000000000000000000000E9
+:1087900000000000000000000000000000000000D9
+:1087A00000000000000000000202020202020202B9
+:1087B00002020202020202020101010101010101A1
+:1087C00001010101010101010000000000000000A1
+:1087D0000000000000000000000000000000000099
+:1087E0000000000000000000000000000000000089
+:1087F0000000000000000000000000000000000079
+:108800000000000000000000020202020201020259
+:10881000010101020102020200000000000000004C
+:108820000000000000000000000000000000000048
+:108830000000000000000000000000000000000038
+:108840000000000000000000000000000000000028
+:108850000000000000000000020202020202020208
+:1088600002020202020202020000000000000000F8
+:1088700000000000000000000000000000000000F8
+:1088800000000000000000000000000000000000E8
+:1088900000000000000000000000000000000000D8
+:1088A00000000000000000000202020202020202B8
+:1088B00002020202020202020101010101010101A0
+:1088C00001010101010101010000000000000000A0
+:1088D0000000000000000000000000000000000098
+:1088E0000000000000000000000000000000000088
+:1088F0000000000000000000000000000000000078
+:10890000000000000000000002020202010101015B
+:10891000010101010102020200000000000000004C
+:108920000000000000000000000000000000000047
+:108930000000000000000000000000000000000037
+:108940000000000000000000000000000000000027
+:108950000000000000000000020202020202020207
+:1089600002020202020202020000000000000000F7
+:1089700000000000000000000000000000000000F7
+:1089800000000000000000000000000000000000E7
+:1089900000000000000000000000000000000000D7
+:1089A00000000000000000000202020202020202B7
+:1089B000020202020202020201010101010101019F
+:1089C000010101010101010100000000000000009F
+:1089D0000000000000000000000000000000000097
+:1089E0000000000000000000000000000000000087
+:1089F0000000000000000000000000000000000077
+:108A0000000000000000000002020101010101015C
+:108A1000010101010101020200000000000000004C
+:108A20000000000000000000000000000000000046
+:108A30000000000000000000000000000000000036
+:108A40000000000000000000000000000000000026
+:108A50000000000000000000020202020202020206
+:108A600002020202020202020000000000000000F6
+:108A700000000000000000000000000000000000F6
+:108A800000000000000000000000000000000000E6
+:108A900000000000000000000000000000000000D6
+:108AA00000000000000000000202020202020202B6
+:108AB000020202020202020201010101010101019E
+:108AC000010101010101010100000000000000009E
+:108AD0000000000000000000000000000000000096
+:108AE0000000000000000000000000000000000086
+:108AF0000000000000000000000000000000000076
+:108B0000000000000000000001010101010101015D
+:108B1000010101010101020200000000000000004B
+:108B20000000000000000000000000000000000045
+:108B30000000000000000000000000000000000035
+:108B40000000000000000000000000000000000025
+:108B50000000000000000000020202020202020205
+:108B600002020202020202020000000000000000F5
+:108B700000000000000000000000000000000000F5
+:108B800000000000000000000000000000000000E5
+:108B900000000000000000000000000000000000D5
+:108BA00000000000000000000202020202020202B5
+:108BB000020202020202020201010101010101019D
+:108BC000010101010101010100000000000000009D
+:108BD0000000000000000000000000000000000095
+:108BE0000000000000000000000000000000000085
+:108BF0000000000000000000000000000000000075
+:108C0000000000000000000001010101010101015C
+:108C1000010101010101010100000000000000004C
+:108C20000000000000000000000000000000000044
+:108C30000000000000000000000000000000000034
+:108C40000000000000000000000000000000000024
+:108C50000000000000000000020202020202020204
+:108C600002020202020202020000000000000000F4
+:108C700000000000000000000000000000000000F4
+:108C800000000000000000000000000000000000E4
+:108C900000000000000000000000000000000000D4
+:108CA00000000000000000000202020202020202B4
+:108CB000020202020202020201010101010101019C
+:108CC000010101010101010100000000000000009C
+:108CD0000000000000000000000000000000000094
+:108CE0000000000000000000000000000000000084
+:108CF0000000000000000000000000000000000074
+:108D0000000000000000000001010101010101015B
+:108D1000010101010101010100000000000000004B
+:108D20000000000000000000000000000000000043
+:108D30000000000000000000000000000000000033
+:108D40000000000000000000000000000000000023
+:108D50000000000000000000020202020202020203
+:108D600002020202020202020000000000000000F3
+:108D700000000000000000000000000000000000F3
+:108D800000000000000000000000000000000000E3
+:108D900000000000000000000000000000000000D3
+:108DA00000000000000000000202020202020202B3
+:108DB000020202020202020201010101010101019B
+:108DC000010101010101010100000000000000009B
+:108DD0000000000000000000000000000000000093
+:108DE0000000000000000000000000000000000083
+:108DF0000000000000000000000000000000000073
+:108E0000000000000000000001010101010101015A
+:108E1000010101010101010100000000000000004A
+:108E20000000000000000000000000000000000042
+:108E30000000000000000000000000000000000032
+:108E40000000000000000000000000000000000022
+:108E50000000000000000000020202020202020202
+:108E600002020202020202020000000000000000F2
+:108E700000000000000000000000000000000000F2
+:108E800000000000000000000000000000000000E2
+:108E900000000000000000000000000000000000D2
+:108EA00000000000000000000202020202020202B2
+:108EB000020202020202020201010101010101019A
+:108EC000010101010101010100000000000000009A
+:108ED0000000000000000000000000000000000092
+:108EE0000000000000000000000000000000000082
+:108EF0000000000000000000000000000000000072
+:108F00000000000000000000010101010101010159
+:108F10000101010101010101000000000000000049
+:108F20000000000000000000000000000000000041
+:108F30000000000000000000000000000000000031
+:108F40000000000000000000000000000000000021
+:108F50000000000000000000020202020202020201
+:108F600002020202020202020000000000000000F1
+:108F700000000000000000000000000000000000F1
+:108F800000000000000000000000000000000000E1
+:108F900000000000000000000000000000000000D1
+:108FA00000000000000000000202020202020202B1
+:108FB0000202020202020202010101010101010199
+:108FC0000101010101010101000000000000000099
+:108FD0000000000000000000000000000000000091
+:108FE0000000000000000000000000000000000081
+:108FF0000000000000000000000000000000000071
+:109000000000000000000000010101010101010158
+:109010000101010101010101000000000000000048
+:109020000000000000000000000000000000000040
+:109030000000000000000000000000000000000030
+:109040000000000000000000000000000000000020
+:109050000000000000000000020202020202020200
+:1090600001010101010202020000000000000000F5
+:1090700000000000000000000000000000000000F0
+:1090800000000000000000000000000000000000E0
+:1090900000000000000000000000000000000000D0
+:1090A00000000000000000000202020202020202B0
+:1090B0000202020202020202010101010101010198
+:1090C0000101010101010101000000000000000098
+:1090D0000000000000000000000000000000000090
+:1090E0000000000000000000000000000000000080
+:1090F0000000000000000000000000000000000070
+:109100000000000000000000010101010101010157
+:109110000101010101010101000000000000000047
+:10912000000000000000000000000000000000003F
+:10913000000000000000000000000000000000002F
+:10914000000000000000000000000000000000001F
+:109150000000000000000000020201020101010104
+:1091600001010101010102010000000000000000F6
+:1091700000000000000000000000000000000000EF
+:1091800000000000000000000000000000000000DF
+:1091900000000000000000000000000000000000CF
+:1091A00000000000000000000202020202020202AF
+:1091B0000202020202020202010101010101010197
+:1091C0000101010101010101000000000000000097
+:1091D000000000000000000000000000000000008F
+:1091E000000000000000000000000000000000007F
+:1091F000000000000000000000000000000000006F
+:109200000000000000000000010101010101010156
+:109210000101010101010101000000000000000046
+:10922000000000000000000000000000000000003E
+:10923000000000000000000000000000000000002E
+:10924000000000000000000000000000000000001E
+:109250000000000000000000010101010101010106
+:1092600001010101010102010000000000000000F5
+:1092700000000000000000000000000000000000EE
+:1092800000000000000000000000000000000000DE
+:1092900000000000000000000000000000000000CE
+:1092A00000000000000000000202020202020201AF
+:1092B000010101010101010101010101010101019E
+:1092C0000101010101010101000000000000000096
+:1092D000000000000000000000000000000000008E
+:1092E000000000000000000000000000000000007E
+:1092F000000000000000000000000000000000006E
+:109300000000000000000000010101010101010155
+:109310000101010101010101000000000000000045
+:10932000000000000000000000000000000000003D
+:10933000000000000000000000000000000000002D
+:10934000000000000000000000000000000000001D
+:109350000000000000000000010101010101010105
+:1093600001010101010101010000000000000000F5
+:1093700000000000000000000000000000000000ED
+:1093800000000000000000000000000000000000DD
+:1093900000000000000000000000000000000000CD
+:1093A00000000000000000000000000002020200B7
+:1093B00000000000000000000101010101010101A5
+:1093C0000101010101010101000000000000000095
+:1093D000000000000000000000000000000000008D
+:1093E000000000000000000000000000000000007D
+:1093F000000000000000000000000000000000006D
+:109400000000000000000000010101010101010154
+:109410000101010101010101000000000000000044
+:10942000000000000000000000000000000000003C
+:10943000000000000000000000000000000000002C
+:10944000000000000000000000000000000000001C
+:109450000000000000000000010101010101010104
+:1094600001010101010101010000000000000000F4
+:1094700000000000000000000000000000000000EC
+:1094800000000000000000000000000000000000DC
+:1094900000000000000000000000000000000000CC
+:1094A00000000000000000000000000001010100B9
+:1094B00000000000000000000101010101010101A4
+:1094C0000101010101010101000000000000000094
+:1094D000000000000000000000000000000000008C
+:1094E000000000000000000000000000000000007C
+:1094F000000000000000000000000000000000006C
+:109500000000000000000000010101010101010153
+:109510000101010101010101000000000000000043
+:10952000000000000000000000000000000000003B
+:10953000000000000000000000000000000000002B
+:10954000000000000000000000000000000000001B
+:109550000000000000000000010101010101010103
+:1095600001010101010101010000000000000000F3
+:1095700000000000000000000000000000000000EB
+:1095800000000000000000000000000000000000DB
+:1095900000000000000000000000000000000000CB
+:1095A00000000000000000000000000000000000BB
+:1095B00000000000000000000101010101010101A3
+:1095C0000101010101010101000000000000000093
+:1095D000000000000000000000000000000000008B
+:1095E000000000000000000000000000000000007B
+:1095F000000000000000000000000000000000006B
+:109600000000000000000000010101010101010152
+:109610000101010101010101000000000000000042
+:10962000000000000000000000000000000000003A
+:10963000000000000000000000000000000000002A
+:10964000000000000000000000000000000000001A
+:109650000000000000000000010101010101010102
+:1096600001010101010101010000000000000000F2
+:1096700000000000000000000000000000000000EA
+:1096800000000000000000000000000000000000DA
+:1096900000000000000000000000000000000000CA
+:1096A00000000000000000000000000000000000BA
+:1096B00000000000000000000101010101010101A2
+:1096C0000101010101010101000000000000000092
+:1096D000000000000000000000000000000000008A
+:1096E000000000000000000000000000000000007A
+:1096F000000000000000000000000000000000006A
+:109700000000000000000000010101010101010151
+:109710000101010101010101000000000000000041
+:109720000000000000000000000000000000000039
+:109730000000000000000000000000000000000029
+:109740000000000000000000000000000000000019
+:109750000000000000000000010101010101010101
+:1097600001010101010101010000000000000000F1
+:1097700000000000000000000000000000000000E9
+:1097800000000000000000000000000000000000D9
+:1097900000000000000000000000000000000000C9
+:1097A00000000000000000000000000000000000B9
+:1097B00000000000000000000000000000000000A9
+:1097C0000000000000000000000000000000000099
+:1097D0000000000000000000000000000000000089
+:1097E0000000000000000000000000000000000079
+:1097F0000000000000000000000000000000000069
+:109800000000000000000000000000000000000058
+:109810000000000000000000000000000000000048
+:109820000000000000000000000000000000000038
+:109830000000000000000000000000000000000028
+:109840000000000000000000000000000000000018
+:109850000000000000000000000000000000000008
+:1098600000000000000000000000000000000000F8
+:1098700000000000000000000000000000000000E8
+:1098800000000000000000000000000000000000D8
+:1098900000000000000000000000000000000000C8
+:1098A00000000000000000000000000000000000B8
+:1098B00000000000000000002C000000000000007C
+:1098C000000000000102000200020200020000008D
+:1098D0000000000000000000000000000000000088
+:1098E0000000000000000000000000000000000078
+:1098F0000000000000000000000000000000000068
+:109900000000000000000000000000000000000057
+:109910000000000000000000000000000000000047
+:109920000000000000000000000000000000000037
+:109930000000000000000000000000000000000027
+:109940000000000000000000000000000000000017
+:109950000000000000000000000000000000000007
+:1099600000010000000000000000000000000000F6
+:1099700000000000000000000000000000000000E7
+:1099800000000000000000000000000000000000D7
+:1099900000000000000000000000000000000000C7
+:1099A00000000000000000000000000000000000B7
+:1099B00000000101010100000000000000000000A3
+:1099C0000101010002020202020202000200000084
+:1099D0000000000000000000000000000000000087
+:1099E0000000000000000000000000000000000077
+:1099F0000000000000000000000000000000000067
+:109A00000000000000000000000000000000000056
+:109A10000000000000000000000000000000000046
+:109A20000000000000000000000000000000000036
+:109A30000000000000000000000000000000000026
+:109A40000000000000000000000000000000000016
+:109A50000000000000000000000000000000000006
+:109A600000010000000000000000010000000000F4
+:109A700000000000000000000000000000000000E6
+:109A800000000000000000000000000000000000D6
+:109A900000000000000000000000000000000000C6
+:109AA00000000000000000000000000000000000B6
+:109AB00000000101010100000000000000000000A2
+:109AC000010202000202020202020202020000007F
+:109AD0000000000000000000000000000000000086
+:109AE0000000000000000000000000000000000076
+:109AF0000000000000000000000000000000000066
+:109B00000000000000000000000000000000000055
+:109B10000000000000000000000000000000000144
+:109B20000000000000000000000000000000000035
+:109B30000000000000000000000000000000000025
+:109B40000000000000000000000000000000000015
+:109B50000000000000000000000000000000000005
+:109B600000010100000000000000010000000000F2
+:109B700000000000000000000000000000000000E5
+:109B800000000000000000000000000000000000D5
+:109B900000000000000000000000000000000000C5
+:109BA00000000000000000000000000000000000B5
+:109BB00000000101010100000000000000000001A0
+:109BC000020202000202020202020202020201007A
+:109BD0000000000000000000000000000000000085
+:109BE0000000000000000000000000000000000075
+:109BF0000000000000000000000000000000000065
+:109C00000000000000000000000000000000000054
+:109C10000000000000000000000000000000000143
+:109C20000000000000000000000000000000000034
+:109C30000000000000000000000000000000000024
+:109C40000000000000000000000000000000000014
+:109C50000000000000000000000000000000000004
+:109C600000010101000000010000010100000000EE
+:109C700000000000000000000000000000000000E4
+:109C800000000000000000000000000000000000D4
+:109C900000000000000000000000000000000000C4
+:109CA00000000000000000000000000000000000B4
+:109CB000000001010101000000000000000000019F
+:109CC0000202020202020202020202020202010077
+:109CD0000000000000000000000000000000000084
+:109CE0000000000000000000000000000000000074
+:109CF0000000000000000000000000000000000064
+:109D00000000000000000000000000000000000053
+:109D10000001000000000000000000000000000141
+:109D20000000000000000000000000000000000033
+:109D30000000000000000000000000000000000023
+:109D40000000000000000000000000000000000013
+:109D50000000000000000000000000000000000003
+:109D600000010101000000010000010100010000EC
+:109D700000000000000000000000000000000000E3
+:109D800000000000000000000000000000000000D3
+:109D900000000000000000000000000000000000C3
+:109DA00000000000000000000000000000000000B3
+:109DB000000001010101010000000000000000019D
+:109DC0000202020202020202020202020202020075
+:109DD0000000000000000000000000000000000083
+:109DE0000000000000000000000000000000000073
+:109DF0000000000000000000000000000000000063
+:109E00000000000000000000000000000000000052
+:109E1000000100000000000000000100000000013F
+:109E20000000000000000000000000000000000032
+:109E30000000000000000000000000000000000022
+:109E40000000000000000000000000000000000012
+:109E50000000000000000000000000000000000002
+:109E600000010101010000010000010100010000EA
+:109E700000000000000000000000000000000000E2
+:109E800000000000000000000000000000000000D2
+:109E900000000000000000000000000000000000C2
+:109EA00000000000000000000000000000000000B2
+:109EB000000001010101010100000000000000019B
+:109EC0000202020202020202020202020202020074
+:109ED0000000000000000000000000000000000082
+:109EE0000000000000000000000000000000000072
+:109EF0000000000000000000000000000000000062
+:109F00000000000000000000000000000000000051
+:109F1000000101000000000000000100000000013D
+:109F20000000000000000000000000000000000031
+:109F30000000000000000000000000000000000021
+:109F40000000000000000000000000000000000011
+:109F50000000000000000000000000000000000001
+:109F600000010101010000010100010100010100E7
+:109F700000000000000000000000000000000000E1
+:109F800000000000000000000000000000000000D1
+:109F900000000000000000000000000000000000C1
+:109FA00000000000000000000000000000000000B1
+:109FB000000001010101010100000000000000019A
+:109FC0000202020202020202020202020202020073
+:109FD0000000000000000000000000000000000081
+:109FE0000000000000000000000000000000000071
+:109FF0000000000000000000000000000000000061
+:10A000000000000000000000000000000000000050
+:10A01000000101000000000100000100000000013B
+:10A020000000000000000000000000000000000030
+:10A030000000000000000000000000000000000020
+:10A040000000000000000000000000000000000010
+:10A050000000000000000000000000000000000000
+:10A0600000010101010000010100010101010100E5
+:10A0700000000000000000000000000000000000E0
+:10A0800000000000000000000000000000000000D0
+:10A0900000000000000000000000000000000000C0
+:10A0A00000000000000000000000000000000000B0
+:10A0B0000000010101010101000000000000000199
+:10A0C0000202020202020202020202020202020072
+:10A0D0000000000000000000000000000000000080
+:10A0E0000000000000000000000000000000000070
+:10A0F0000000000000000000000000000000000060
+:10A10000000000000000000000000000000000004F
+:10A11000000101000000000100000100000000013A
+:10A12000000000000000000000000000000000002F
+:10A13000000000000000000000000000000000001F
+:10A14000000000000000000000000000000000000F
+:10A1500000000000000000000000000000000000FF
+:10A1600000010101010000010100010101010101E3
+:10A1700000000000000000000000000000000000DF
+:10A1800000000000000000000000000000000000CF
+:10A1900000000000000000000000000000000000BF
+:10A1A00000000000000000000000000000000000AF
+:10A1B0000000010101010101010000000000000197
+:10A1C0000202020202020202020202020202020071
+:10A1D000000000000000000000000000000000007F
+:10A1E000000000000000000000000000000000006F
+:10A1F000000000000000000000000000000000005F
+:10A20000000000000000000000000000000000004E
+:10A210000002010100000001000001000000000137
+:10A22000000000000000000000000000000000002E
+:10A23000000000000000000000000000000000001E
+:10A24000000000000000000000000000000000000E
+:10A2500000000000000000000000000000000000FE
+:10A2600000020101010100010101010101010101DF
+:10A2700000000000000000000000000000000000DE
+:10A2800000000000000000000000000000000000CE
+:10A2900000000000000000000000000000000000BE
+:10A2A00000000000000000000000000000000000AE
+:10A2B0000000010101010101010101010000000193
+:10A2C0000202020202020202020202020202020070
+:10A2D000000000000000000000000000000000007E
+:10A2E000000000000000000000000000000000006E
+:10A2F000000000000000000000000000000000005E
+:10A30000000000000000000000000000000000004D
+:10A310000102010100000001000001000000000135
+:10A32000000000000000000000000000000000002D
+:10A33000000000000000000000000000000000001D
+:10A34000000000000000000000000000000000000D
+:10A3500000000000000000000000000000000000FD
+:10A3600000020101010101010101010101010101DD
+:10A3700000000000000000000000000000000000DD
+:10A3800000000000000000000000000000000000CD
+:10A3900000000000000000000000000000000000BD
+:10A3A00000000000000000000000000000000000AD
+:10A3B0000000020101010101010101010000000191
+:10A3C000020202020202020202020202020202006F
+:10A3D000000000000000000000000000000000007D
+:10A3E000000000000000000000000000000000006D
+:10A3F000000000000000000000000000000000005D
+:10A40000000000000000000000000000000000004C
+:10A410000102020101000001000101000000000131
+:10A42000000000000000000000000000000000002C
+:10A43000000000000000000000000000000000001C
+:10A44000000000000000000000000000000000000C
+:10A4500000000000000000000000000000000000FC
+:10A4600000020201010101010101010101010101DB
+:10A4700000000000000000000000000000000000DC
+:10A4800000000000000000000000000000000000CC
+:10A4900000000000000000000000000000000000BC
+:10A4A00000000000000000000000000000000000AC
+:10A4B0000000020101010101010101010000000190
+:10A4C000020202020202020202020202020202006E
+:10A4D000000000000000000000000000000000007C
+:10A4E000000000000000000000000000000000006C
+:10A4F000000000000000000000000000000000005C
+:10A50000000000000000000000000000000000004B
+:10A51000020202010100010101010100000001012C
+:10A52000000000000000000000000000000000002B
+:10A53000000000000000000000000000000000001B
+:10A54000000000000000000000000000000000000B
+:10A5500000000000000000000000000000000000FB
+:10A5600001020201010101010101010101010101D9
+:10A5700000000000000000000000000000000000DB
+:10A5800000000000000000000000000000000000CB
+:10A5900000000000000000000000000000000000BB
+:10A5A00000000000000000000000000000000000AB
+:10A5B000010002010102010101010101000001018C
+:10A5C000020202020202020202020202010202006E
+:10A5D000000000000000000000000000000000007B
+:10A5E000000000000000000000000000000000006B
+:10A5F000000000000000000000000000000000005B
+:10A60000000000000000000000000000000000004A
+:10A610000202020101000102010101000100010129
+:10A62000000000000000000000000000000000002A
+:10A63000000000000000000000000000000000001A
+:10A64000000000000000000000000000000000000A
+:10A6500000000000000000000000000000000000FA
+:10A6600001020202010101010101010101010101D7
+:10A6700000000000000000000000000000000000DA
+:10A6800000000000000000000000000000000000CA
+:10A6900000000000000000000000000000000000BA
+:10A6A00000000000000000000000000000000000AA
+:10A6B0000100020201020101010101010100010189
+:10A6C0000202020202020202020201010101020070
+:10A6D000000000000000000000000000000000007A
+:10A6E000000000000000000000000000000000006A
+:10A6F000000000000000000000000000000000005A
+:10A700000000000000000000000000000000000049
+:10A710000202020201000102010102000100010126
+:10A720000000000000000000000000000000000029
+:10A730000000000000000000000000000000000019
+:10A740000000000000000000000000000000000009
+:10A7500000000000000000000000000000000000F9
+:10A7600001020202010101020101010101010101D5
+:10A7700000000000000000000000000000000000D9
+:10A7800000000000000000000000000000000000C9
+:10A7900000000000000000000000000000000000B9
+:10A7A00000000000000000000000000000000000A9
+:10A7B0000200020202020201010101010100010185
+:10A7C0000202020202020202020101010101010071
+:10A7D0000000000000000000000000000000000079
+:10A7E0000000000000000000000000000000000069
+:10A7F0000000000000000000000000000000000059
+:10A800000000000000000000000000000000000048
+:10A810000202020201000102010102010100010124
+:10A820000000000000000000000000000000000028
+:10A830000000000000000000000000000000000018
+:10A840000000000000000000000000000000000008
+:10A8500000000000000000000000000000000000F8
+:10A8600002020202020101020101020101010101D1
+:10A8700000000000000000000000000000000000D8
+:10A8800000000000000000000000000000000000C8
+:10A8900000000000000000000000000000000000B8
+:10A8A00000000000000000000000000000000000A8
+:10A8B0000200020202020202010101010100010183
+:10A8C0000202020202020201010101010101010072
+:10A8D0000000000000000000000000000000000078
+:10A8E0000000000000000000000000000000000068
+:10A8F0000000000000000000000000000000000058
+:10A900000000000000000000000000000000000047
+:10A91000020202020200020202020201010001011F
+:10A920000000000000000000000000000000000027
+:10A930000000000000000000000000000000000017
+:10A940000000000000000000000000000000000007
+:10A9500000000000000000000000000000000000F7
+:10A9600002020202020101020201020101010101CF
+:10A9700000000000000000000000000000000000D7
+:10A9800000000000000000000000000000000000C7
+:10A9900000000000000000000000000000000000B7
+:10A9A00000000000000000000000000000000000A7
+:10A9B0000201020202020202010101010101010180
+:10A9C0000202020202010101010101010101010073
+:10A9D0000000000000000000000000000000000077
+:10A9E0000000000000000000000000000000000067
+:10A9F0000000000000000000000000000000000057
+:10AA00000000000000000000000000000000000046
+:10AA1000020202020201020202020201010001011D
+:10AA20000000000000000000000000000000000026
+:10AA30000000000000000000000000000000000016
+:10AA40000000000000000000000000000000000006
+:10AA500000000000000000000000000000000000F6
+:10AA600002020202020201020201020201010101CC
+:10AA700000000000000000000000000000000000D6
+:10AA800000000000000000000000000000000000C6
+:10AA900000000000000000000000000000000000B6
+:10AAA00000000000000000000000000000000000A6
+:10AAB000020202020202020202010101010101017D
+:10AAC0000202020201010101010101010101010073
+:10AAD0000000000000000000000000000000000076
+:10AAE0000000000000000000000000000000000066
+:10AAF0000000000000000000000000000000000056
+:10AB00000000000000000000000000000000000045
+:10AB1000020202020201020202020201010101011B
+:10AB20000000000000000000000000000000000025
+:10AB30000000000000000000000000000000000015
+:10AB40000000000000000000000000000000000005
+:10AB500000000000000000000000000000000000F5
+:10AB600002020202020202020202020201020101C8
+:10AB700000000000000000000000000000000000D5
+:10AB800000000000000000000000000000000000C5
+:10AB900000000000000000000000000000000000B5
+:10ABA00000000000000000000000000000000000A5
+:10ABB000020202020202020202020101010101017B
+:10ABC0000202020201010101010101010101010072
+:10ABD0000000000000000000000000000000000075
+:10ABE0000000000000000000000000000000000065
+:10ABF0000000000000000000000000000000000055
+:10AC00000000000000000000000000000000000044
+:10AC10000202020202020202020202010101010218
+:10AC20000000000000000000000000000000000024
+:10AC30000000000000000000000000000000000014
+:10AC40000000000000000000000000000000000004
+:10AC500000000000000000000000000000000000F4
+:10AC600002020202020202020202020202020101C6
+:10AC700000000000000000000000000000000000D4
+:10AC800000000000000000000000000000000000C4
+:10AC900000000000000000000000000000000000B4
+:10ACA00000000000000000000000000000000000A4
+:10ACB0000202020202020202020202010101010278
+:10ACC0000202020101010101010101010101010072
+:10ACD0000000000000000000000000000000000074
+:10ACE0000000000000000000000000000000000064
+:10ACF0000000000000000000000000000000000054
+:10AD00000000000000000000000000000000000043
+:10AD10000202020202020202020202010201010216
+:10AD20000000000000000000000000000000000023
+:10AD30000000000000000000000000000000000013
+:10AD40000000000000000000000000000000000003
+:10AD500000000000000000000000000000000000F3
+:10AD600002020202020202020202020202020101C5
+:10AD700000000000000000000000000000000000D3
+:10AD800000000000000000000000000000000000C3
+:10AD900000000000000000000000000000000000B3
+:10ADA00000000000000000000000000000000000A3
+:10ADB0000202020202020202020202020101010276
+:10ADC0000202010101010101010101010101010171
+:10ADD0000000000000000000000000000000000073
+:10ADE0000000000000000000000000000000000063
+:10ADF0000000000000000000000000000000000053
+:10AE00000000000000000000000000000000000042
+:10AE10000202020202020202020202020201010214
+:10AE20000000000000000000000000000000000022
+:10AE30000000000000000000000000000000000012
+:10AE40000000000000000000000000000000000002
+:10AE500000000000000000000000000000000000F2
+:10AE600002020202020202020202020202020201C3
+:10AE700000000000000000000000000000000000D2
+:10AE800000000000000000000000000000000000C2
+:10AE900000000000000000000000000000000000B2
+:10AEA00000000000000000000000000000000000A2
+:10AEB0000202020202020202020202020101010275
+:10AEC0000201010101010101010101010101010171
+:10AED0000000000000000000000000000000000072
+:10AEE0000000000000000000000000000000000062
+:10AEF0000000000000000000000000000000000052
+:10AF00000000000000000000000000000000000041
+:10AF10000202020202020202020202020201010213
+:10AF20000000000000000000000000000000000021
+:10AF30000000000000000000000000000000000011
+:10AF40000000000000000000000000000000000001
+:10AF500000000000000000000000000000000000F1
+:10AF600002020202020202020202020202020201C2
+:10AF700000000000000000000000000000000000D1
+:10AF800000000000000000000000000000000000C1
+:10AF900000000000000000000000000000000000B1
+:10AFA00000000000000000000000000000000000A1
+:10AFB0000202020202020202020202020201010273
+:10AFC0000201010101010101010101010101010170
+:10AFD0000000000000000000000000000000000071
+:10AFE0000000000000000000000000000000000061
+:10AFF0000000000000000000000000000000000051
+:10B000000000000000000000000000000000000040
+:10B010000202020202020202020202020201020211
+:10B020000000000000000000000000000000000020
+:10B030000000000000000000000000000000000010
+:10B040000000000000000000000000000000000000
+:10B0500000000000000000000000000000000000F0
+:10B0600002020202020202020202020202020201C1
+:10B0700000000000000000000000000000000000D0
+:10B0800000000000000000000000000000000000C0
+:10B0900000000000000000000000000000000000B0
+:10B0A00000000000000000000000000000000000A0
+:10B0B0000202020202020202020202020201020271
+:10B0C0000101010101010101010101010101010170
+:10B0D0000000000000000000000000000000000070
+:10B0E0000000000000000000000000000000000060
+:10B0F0000000000000000000000000000000000050
+:10B10000000000000000000000000000000000003F
+:10B11000020202020202020202020202020202020F
+:10B12000000000000000000000000000000000001F
+:10B13000000000000000000000000000000000000F
+:10B1400000000000000000000000000000000000FF
+:10B1500000000000000000000000000000000000EF
+:10B1600002020202020202020202020202020202BF
+:10B1700000000000000000000000000000000000CF
+:10B1800000000000000000000000000000000000BF
+:10B1900000000000000000000000000000000000AF
+:10B1A000000000000000000000000000000000009F
+:10B1B000020202020202020202020202020202026F
+:10B1C000010101010101010101010101010101016F
+:10B1D000000000000000000000000000000000006F
+:10B1E000000000000000000000000000000000005F
+:10B1F000000000000000000000000000000000004F
+:10B20000000000000000000000000000000000003E
+:10B21000020202020202020202020202020202020E
+:10B22000000000000000000000000000000000001E
+:10B23000000000000000000000000000000000000E
+:10B2400000000000000000000000000000000000FE
+:10B2500000000000000000000000000000000000EE
+:10B2600002020202020202020202020202020202BE
+:10B2700000000000000000000000000000000000CE
+:10B2800000000000000000000000000000000000BE
+:10B2900000000000000000000000000000000000AE
+:10B2A000000000000000000000000000000000009E
+:10B2B000020202020202020202020202020202026E
+:10B2C000010101010101010101010101010101016E
+:10B2D000000000000000000000000000000000006E
+:10B2E000000000000000000000000000000000005E
+:10B2F000000000000000000000000000000000004E
+:10B30000000000000000000000000000000000003D
+:10B31000020202020202020202020202020202020D
+:10B32000000000000000000000000000000000001D
+:10B33000000000000000000000000000000000000D
+:10B3400000000000000000000000000000000000FD
+:10B3500000000000000000000000000000000000ED
+:10B3600002020202020202020202020202020202BD
+:10B3700000000000000000000000000000000000CD
+:10B3800000000000000000000000000000000000BD
+:10B3900000000000000000000000000000000000AD
+:10B3A000000000000000000000000000000000009D
+:10B3B000020202020202020202020202020202026D
+:10B3C000010101010101010101010101010101016D
+:10B3D000000000000000000000000000000000006D
+:10B3E000000000000000000000000000000000005D
+:10B3F000000000000000000000000000000000004D
+:10B40000000000000000000000000000000000003C
+:10B41000020202020202020202020202020202020C
+:10B42000000000000000000000000000000000001C
+:10B43000000000000000000000000000000000000C
+:10B4400000000000000000000000000000000000FC
+:10B4500000000000000000000000000000000000EC
+:10B4600002020202020202020202020202020202BC
+:10B4700000000000000000000000000000000000CC
+:10B4800000000000000000000000000000000000BC
+:10B4900000000000000000000000000000000000AC
+:10B4A000000000000000000000000000000000009C
+:10B4B000020202020202020202020202020202026C
+:10B4C000010101010101010101010101010101016C
+:10B4D000000000000000000000000000000000006C
+:10B4E000000000000000000000000000000000005C
+:10B4F000000000000000000000000000000000004C
+:10B50000000000000000000000000000000000003B
+:10B51000020202020202020202020202020202020B
+:10B52000000000000000000000000000000000001B
+:10B53000000000000000000000000000000000000B
+:10B5400000000000000000000000000000000000FB
+:10B5500000000000000000000000000000000000EB
+:10B5600002020202020202020202020202020202BB
+:10B5700000000000000000000000000000000000CB
+:10B5800000000000000000000000000000000000BB
+:10B5900000000000000000000000000000000000AB
+:10B5A000000000000000000000000000000000009B
+:10B5B000020202020202020202020202020202026B
+:10B5C000010101010101010101010101010101016B
+:10B5D000000000000000000000000000000000006B
+:10B5E000000000000000000000000000000000005B
+:10B5F000000000000000000000000000000000004B
+:10B60000000000000000000000000000000000003A
+:10B61000020202020202020202020202020202020A
+:10B62000000000000000000000000000000000001A
+:10B63000000000000000000000000000000000000A
+:10B6400000000000000000000000000000000000FA
+:10B6500000000000000000000000000000000000EA
+:10B6600002020202020202020202020202020202BA
+:10B6700000000000000000000000000000000000CA
+:10B6800000000000000000000000000000000000BA
+:10B6900000000000000000000000000000000000AA
+:10B6A000000000000000000000000000000000009A
+:10B6B000020202020202020202020202020202026A
+:10B6C000010101010101010101010101010101016A
+:10B6D000000000000000000000000000000000006A
+:10B6E000000000000000000000000000000000005A
+:10B6F000000000000000000000000000000000004A
+:10B700000000000000000000000000000000000039
+:10B71000020202020202020101010102020202020D
+:10B720000000000000000000000000000000000019
+:10B730000000000000000000000000000000000009
+:10B7400000000000000000000000000000000000F9
+:10B7500000000000000000000000000000000000E9
+:10B7600002020202020202020202020202020202B9
+:10B7700000000000000000000000000000000000C9
+:10B7800000000000000000000000000000000000B9
+:10B7900000000000000000000000000000000000A9
+:10B7A0000000000000000000000000000000000099
+:10B7B0000202020202020202020202020202020269
+:10B7C0000101010101010101010101010101010169
+:10B7D0000000000000000000000000000000000069
+:10B7E0000000000000000000000000000000000059
+:10B7F0000000000000000000000000000000000049
+:10B800000000000000000000000000000000000038
+:10B81000020202020202010101010101010202020F
+:10B820000000000000000000000000000000000018
+:10B830000000000000000000000000000000000008
+:10B8400000000000000000000000000000000000F8
+:10B8500000000000000000000000000000000000E8
+:10B8600002020202020202020202020202020202B8
+:10B8700000000000000000000000000000000000C8
+:10B8800000000000000000000000000000000000B8
+:10B8900000000000000000000000000000000000A8
+:10B8A0000000000000000000000000000000000098
+:10B8B0000202020202020202020202020202020268
+:10B8C0000101010101010101010101010101010168
+:10B8D0000000000000000000000000000000000068
+:10B8E0000000000000000000000000000000000058
+:10B8F0000000000000000000000000000000000048
+:10B900000000000000000000000000000000000037
+:10B910000201010101010101010101010101020214
+:10B920000000000000000000000000000000000017
+:10B930000000000000000000000000000000000007
+:10B9400000000000000000000000000000000000F7
+:10B9500000000000000000000000000000000000E7
+:10B9600002020202020202020202020202020202B7
+:10B9700000000000000000000000000000000000C7
+:10B9800000000000000000000000000000000000B7
+:10B9900000000000000000000000000000000000A7
+:10B9A0000000000000000000000000000000000097
+:10B9B0000202020202020202020202020202020267
+:10B9C0000101010101010101010101010101010167
+:10B9D0000000000000000000000000000000000067
+:10B9E0000000000000000000000000000000000057
+:10B9F0000000000000000000000000000000000047
+:10BA00000000000000000000000000000000000036
+:10BA10000101010101010101010101010101010116
+:10BA20000000000000000000000000000000000016
+:10BA30000000000000000000000000000000000006
+:10BA400000000000000000000000000000000000F6
+:10BA500000000000000000000000000000000000E6
+:10BA600002020202020202020202020202020202B6
+:10BA700000000000000000000000000000000000C6
+:10BA800000000000000000000000000000000000B6
+:10BA900000000000000000000000000000000000A6
+:10BAA0000000000000000000000000000000000096
+:10BAB0000202020202020202020202020202020266
+:10BAC0000101010101010101010101010101010166
+:10BAD0000000000000000000000000000000000066
+:10BAE0000000000000000000000000000000000056
+:10BAF0000000000000000000000000000000000046
+:10BB00000000000000000000000000000000000035
+:10BB10000101010101010101010101010101010115
+:10BB20000000000000000000000000000000000015
+:10BB30000000000000000000000000000000000005
+:10BB400000000000000000000000000000000000F5
+:10BB500000000000000000000000000000000000E5
+:10BB600002020202020202020202020202020202B5
+:10BB700000000000000000000000000000000000C5
+:10BB800000000000000000000000000000000000B5
+:10BB900000000000000000000000000000000000A5
+:10BBA0000000000000000000000000000000000095
+:10BBB0000202020202020202020202020202020265
+:10BBC0000101010101010101010101010101010165
+:10BBD0000000000000000000000000000000000065
+:10BBE0000000000000000000000000000000000055
+:10BBF0000000000000000000000000000000000045
+:10BC00000000000000000000000000000000000034
+:10BC10000101010101010101010101010101010114
+:10BC20000000000000000000000000000000000014
+:10BC30000000000000000000000000000000000004
+:10BC400000000000000000000000000000000000F4
+:10BC500000000000000000000000000000000000E4
+:10BC600002020202020202020202020202020202B4
+:10BC700000000000000000000000000000000000C4
+:10BC800000000000000000000000000000000000B4
+:10BC900000000000000000000000000000000000A4
+:10BCA0000000000000000000000000000000000094
+:10BCB0000202020202020202020202020202020264
+:10BCC0000101010101010101010101010101010164
+:10BCD0000000000000000000000000000000000064
+:10BCE0000000000000000000000000000000000054
+:10BCF0000000000000000000000000000000000044
+:10BD00000000000000000000000000000000000033
+:10BD10000101010101010101010101010101010113
+:10BD20000000000000000000000000000000000013
+:10BD30000000000000000000000000000000000003
+:10BD400000000000000000000000000000000000F3
+:10BD500000000000000000000000000000000000E3
+:10BD600002020202020202010101010101010202BA
+:10BD700000000000000000000000000000000000C3
+:10BD800000000000000000000000000000000000B3
+:10BD900000000000000000000000000000000000A3
+:10BDA0000000000000000000000000000000000093
+:10BDB0000202020202020202020202020202020263
+:10BDC0000101010101010101010101010101010163
+:10BDD0000000000000000000000000000000000063
+:10BDE0000000000000000000000000000000000053
+:10BDF0000000000000000000000000000000000043
+:10BE00000000000000000000000000000000000032
+:10BE10000101010101010101010101010101010112
+:10BE20000000000000000000000000000000000012
+:10BE30000000000000000000000000000000000002
+:10BE400000000000000000000000000000000000F2
+:10BE500000000000000000000000000000000000E2
+:10BE600002010101010101010101010101010102C0
+:10BE700000000000000000000000000000000000C2
+:10BE800000000000000000000000000000000000B2
+:10BE900000000000000000000000000000000000A2
+:10BEA0000000000000000000000000000000000092
+:10BEB000020202020202010101010101010101016C
+:10BEC0000101010101010101010101010101010162
+:10BED0000000000000000000000000000000000062
+:10BEE0000000000000000000000000000000000052
+:10BEF0000000000000000000000000000000000042
+:10BF00000000000000000000000000000000000031
+:10BF10000101010101010101010101010101010111
+:10BF20000000000000000000000000000000000011
+:10BF30000000000000000000000000000000000001
+:10BF400000000000000000000000000000000000F1
+:10BF500000000000000000000000000000000000E1
+:10BF600001010101010101010101010101010101C1
+:10BF700000000000000000000000000000000000C1
+:10BF800000000000000000000000000000000000B1
+:10BF900000000000000000000000000000000000A1
+:10BFA0000000000000000000000000000000000091
+:10BFB000000002020201000000000000000000007A
+:10BFC0000101010101010101010101010101010161
+:10BFD0000000000000000000000000000000000061
+:10BFE0000000000000000000000000000000000051
+:10BFF0000000000000000000000000000000000041
+:10C000000000000000000000000000000000000030
+:10C010000101010101010101010101010101010110
+:10C020000000000000000000000000000000000010
+:10C030000000000000000000000000000000000000
+:10C0400000000000000000000000000000000000F0
+:10C0500000000000000000000000000000000000E0
+:10C0600001010101010101010101010101010101C0
+:10C0700000000000000000000000000000000000C0
+:10C0800000000000000000000000000000000000B0
+:10C0900000000000000000000000000000000000A0
+:10C0A0000000000000000000000000000000000090
+:10C0B000000001020200000000000000000000007B
+:10C0C0000101010101010101010101010101010160
+:10C0D0000000000000000000000000000000000060
+:10C0E0000000000000000000000000000000000050
+:10C0F0000000000000000000000000000000000040
+:10C10000000000000000000000000000000000002F
+:10C11000010101010101010101010101010101010F
+:10C12000000000000000000000000000000000000F
+:10C1300000000000000000000000000000000000FF
+:10C1400000000000000000000000000000000000EF
+:10C1500000000000000000000000000000000000DF
+:10C1600001010101010101010101010101010101BF
+:10C1700000000000000000000000000000000000BF
+:10C1800000000000000000000000000000000000AF
+:10C19000000000000000000000000000000000009F
+:10C1A000000000000000000000000000000000008F
+:10C1B000000000020200000000000000000000007B
+:10C1C000010101010101010101010101010101015F
+:10C1D000000000000000000000000000000000005F
+:10C1E000000000000000000000000000000000004F
+:10C1F000000000000000000000000000000000003F
+:10C20000000000000000000000000000000000002E
+:10C21000010101010101010101010101010101010E
+:10C22000000000000000000000000000000000000E
+:10C2300000000000000000000000000000000000FE
+:10C2400000000000000000000000000000000000EE
+:10C2500000000000000000000000000000000000DE
+:10C2600001010101010101010101010101010101BE
+:10C2700000000000000000000000000000000000BE
+:10C2800000000000000000000000000000000000AE
+:10C29000000000000000000000000000000000009E
+:10C2A000000000000000000000000000000000008E
+:10C2B000000000020200000000000000000000007A
+:10C2C000010101010101010101010101010101015E
+:10C2D000000000000000000000000000000000005E
+:10C2E000000000000000000000000000000000004E
+:10C2F000000000000000000000000000000000003E
+:10C30000000000000000000000000000000000002D
+:10C31000010101010101010101010101010101010D
+:10C32000000000000000000000000000000000000D
+:10C3300000000000000000000000000000000000FD
+:10C3400000000000000000000000000000000000ED
+:10C3500000000000000000000000000000000000DD
+:10C3600001010101010101010101010101010101BD
+:10C3700000000000000000000000000000000000BD
+:10C3800000000000000000000000000000000000AD
+:10C39000000000000000000000000000000000009D
+:10C3A000000000000000000000000000000000008D
+:10C3B000000000010100000000000000000000007B
+:10C3C000000000000000000000000000000000006D
+:10C3D000000000000000000000000000000000005D
+:10C3E000000000000000000000000000000000004D
+:10C3F000000000000000000000000000000000003D
+:10C40000000000000000000000000000000000002C
+:10C41000000000000000000000000000000000001C
+:10C42000000000000000000000000000000000000C
+:10C4300000000000000000000000000000000000FC
+:10C4400000000000000000000000000000000000EC
+:10C4500000000000000000000000000000000000DC
+:10C4600000000000000000000000000000000000CC
+:10C4700000000000000000000000000000000000BC
+:10C4800000000000000000000000000000000000AC
+:10C49000000000000000000000000000000000009C
+:10C4A000000000000000000000000000000000008C
+:10C4B000000000000000000000000000000000007C
+:10C4C0002C00000000000000000000000000000040
+:10C4D0000001000101000100000000000000000058
+:10C4E000000000000000000000000000000000004C
+:10C4F000000000000000000000000000000000003C
+:10C50000000000000000000000000000000000002B
+:10C51000000000000000000000000000000000001B
+:10C52000000000000000000000000000000000000B
+:10C5300000000000000000000000000000000000FB
+:10C5400000000000000000000000000000000000EB
+:10C5500000000000000000000000000000000000DB
+:10C5600000000000000000000000000000000000CB
+:10C5700000000000000000000000000000000000BB
+:10C5800000000000000000000000000000000000AB
+:10C59000000000000000000000000000000000009B
+:10C5A000000000000000000000000000000000008B
+:10C5B000000000000000000000000000000000007B
+:10C5C0000000000000000001010101010101010162
+:10C5D0000201010101010100000000000000000053
+:10C5E000000000000000000000000000000000004B
+:10C5F000000000000000000000000000000000003B
+:10C60000000000000000000000000000000000002A
+:10C610000000000000000000000000000001000019
+:10C62000000000000000000000000000000000000A
+:10C6300000000000000000000000000000000000FA
+:10C6400000000000000000000000000000000000EA
+:10C6500000000000000000000000000000000000DA
+:10C6600000000000000000000000000100000000C9
+:10C6700000000000000000010000000000000000B9
+:10C6800000000000000000000000000000000000AA
+:10C69000000000000000000000000000000000009A
+:10C6A000000000000000000000000000000000008A
+:10C6B000000000000000000000000000000000007A
+:10C6C0000000000000000001010101010101010161
+:10C6D0000202010201010100000000000000000050
+:10C6E000000000000000000000000000000000004A
+:10C6F000000000000000000000000000000000003A
+:10C700000000000000000000000000000000000029
+:10C710000000000000000000000000000001000018
+:10C720000000000000000000000000000000000009
+:10C7300000000000000000000000000000000000F9
+:10C7400000000000000000000000000000000000E9
+:10C7500000000000000000000000000000000000D9
+:10C7600000000000000000000001000100000000C7
+:10C7700000000000000000010000000000000000B8
+:10C7800000000000000000000000000000000000A9
+:10C790000000000000000000000000000000000099
+:10C7A0000000000000000000000000000000000089
+:10C7B0000000000000000000000000000000000079
+:10C7C000000000000000000101010101010102025E
+:10C7D000020202020101010000000000000000004E
+:10C7E0000000000000000000000000000000000049
+:10C7F0000000000000000000000000000000000039
+:10C800000000000000000000000000000000000028
+:10C810000000000000000000000100000101000015
+:10C820000000000000000000000000000000000008
+:10C8300000000000000000000000000000000000F8
+:10C8400000000000000000000000000000000000E8
+:10C8500000000000000000000000000000000000D8
+:10C8600000000000000000000101010100000000C4
+:10C8700000000000000000010000000000000000B7
+:10C8800000000000000000000000000000000000A8
+:10C890000000000000000000000000000000000098
+:10C8A0000000000000000000000000000000000088
+:10C8B0000000000000000000000000000000000078
+:10C8C000000000000000000101010201020102025B
+:10C8D000020202020101010000000000000000004D
+:10C8E0000000000000000000000000000000000048
+:10C8F0000000000000000000000000000000000038
+:10C900000000000000000000000000000000000027
+:10C910000000000000000000000100000101000014
+:10C920000000000000000000000000000000000007
+:10C9300000000000000000000000000000000000F7
+:10C9400000000000000000000000000000000000E7
+:10C9500000000000000000000000000000000000D7
+:10C9600000000000000000000101010100000000C3
+:10C9700000000000000000010000000000000000B6
+:10C9800000000000000000000000000000000000A7
+:10C990000000000000000000000000000000000097
+:10C9A0000000000000000000000000000000000087
+:10C9B0000000000000000000000000000000000077
+:10C9C0000000000000000001010202010202020258
+:10C9D000020202020201010000000000000000004B
+:10C9E0000000000000000000000000000000000047
+:10C9F0000000000000000000000000000000000037
+:10CA00000000000000000000000000000000000026
+:10CA10000000000000000000010100000101000012
+:10CA20000000000000000001000000000000000005
+:10CA300000000000000000000000000000000000F6
+:10CA400000000000000000000000000000000000E6
+:10CA500000000000000000000000000000000000D6
+:10CA600000000000000000000101010101010000C0
+:10CA700000000000000000010000000000000000B5
+:10CA800000000000000000000000000000000000A6
+:10CA90000000000000000000000000000000000096
+:10CAA0000000000000000000000000000000000086
+:10CAB0000000000000000000000000000000000076
+:10CAC0000000000000000001020202020202020255
+:10CAD0000202020202020100000000000000000049
+:10CAE0000000000000000000000000000000000046
+:10CAF0000000000000000000000000000000000036
+:10CB00000000000000000000000000000000000025
+:10CB10000000000000000000010100000101000011
+:10CB20000000000000000001000000000000000004
+:10CB300000000000000000000000000000000000F5
+:10CB400000000000000000000000000000000000E5
+:10CB500000000000000000000000000000000000D5
+:10CB600000000000000000000101010101010000BF
+:10CB700000000000000001010000000000000000B3
+:10CB800000000000000000000000000000000000A5
+:10CB90000000000000000000000000000000000095
+:10CBA0000000000000000000000000000000000085
+:10CBB0000000000000000000000000000000000075
+:10CBC0000000000000000001020202020202020254
+:10CBD0000202020202020100000000000000000048
+:10CBE0000000000000000000000000000000000045
+:10CBF0000000000000000000000000000000000035
+:10CC00000000000000000000000000000000000024
+:10CC1000000000000000000001010101010100000E
+:10CC20000000000000010001000000000000000002
+:10CC300000000000000000000000000000000000F4
+:10CC400000000000000000000000000000000000E4
+:10CC500000000000000000000000000000000000D4
+:10CC600000000000000000000101010101010000BE
+:10CC700000000000000101010000000000000000B1
+:10CC800000000000000000000000000000000000A4
+:10CC90000000000000000000000000000000000094
+:10CCA0000000000000000000000000000000000084
+:10CCB0000000000000000000000000000000000074
+:10CCC0000000000000000001020202020202020253
+:10CCD0000202020202020200000000000000000046
+:10CCE0000000000000000000000000000000000044
+:10CCF0000000000000000000000000000000000034
+:10CD00000000000000000000000000000000000023
+:10CD1000000000000000000002020101010100000B
+:10CD20000000000000010001000000000000000001
+:10CD300000000000000000000000000000000000F3
+:10CD400000000000000000000000000000000000E3
+:10CD500000000000000000000000000000000000D3
+:10CD600000000000000000000101010101010000BD
+:10CD700000000000000101010000000000000000B0
+:10CD800000000000000000000000000000000000A3
+:10CD90000000000000000000000000000000000093
+:10CDA0000000000000000000000000000000000083
+:10CDB0000000000000000000000000000001000072
+:10CDC0000000000000000001020202020202020252
+:10CDD0000202020202020200000000000000000045
+:10CDE0000000000000000000000000000000000043
+:10CDF0000000000000000000000000000000000033
+:10CE00000000000000000000000000000000000022
+:10CE1000000000000000000002020101010100000A
+:10CE20000000000000010001000000000000000000
+:10CE300000000000000000000000000000000000F2
+:10CE400000000000000000000000000000000000E2
+:10CE500000000000000000000000000000000000D2
+:10CE600000000000000000000201010101010001BA
+:10CE700000000000000101010000000000000000AF
+:10CE800000000000000000000000000000000000A2
+:10CE90000000000000000000000000000000000092
+:10CEA0000000000000000000000000000000000082
+:10CEB0000000000000000000000001000001000070
+:10CEC0000000000000000001020202020202020251
+:10CED0000202020202020200000000000000000044
+:10CEE0000000000000000000000000000000000042
+:10CEF0000000000000000000000000000000000032
+:10CF00000000000000000000000000000000000021
+:10CF10000000000000000000020201010202000007
+:10CF200000000000000100010000000000000000FF
+:10CF300000000000000000000000000000000000F1
+:10CF400000000000000000000000000000000000E1
+:10CF500000000000000000000000000000000000D1
+:10CF600000000000000000000202010101010001B8
+:10CF700000000000010101010000000000000000AD
+:10CF800000000000000000000000000000000000A1
+:10CF90000000000000000000000000000000000091
+:10CFA0000000000000000000000000000000000081
+:10CFB000000000000000000000010100000100006E
+:10CFC000000000000001010102020202020202024E
+:10CFD0000202020202020200000000000000000043
+:10CFE0000000000000000000000000000000000041
+:10CFF0000000000000000000000000000000000031
+:10D000000000000000000000000000000000000020
+:10D010000000000000000000020202010202000104
+:10D0200001000000000100010000000000000000FD
+:10D0300000000000000000000000000000000000F0
+:10D0400000000000000000000000000000000000E0
+:10D0500000000000000000000000000000000000D0
+:10D0600000000000000000000202020101010101B5
+:10D0700000000000010101010000000000000000AC
+:10D0800000000000000000000000000000000000A0
+:10D090000000000000000000000000000000000090
+:10D0A0000000000000000000000000000000000080
+:10D0B000000000000000000000010100000100016C
+:10D0C000000000000101010102020202020202024C
+:10D0D0000202020202020200000000000000000042
+:10D0E0000000000000000000000000000000000040
+:10D0F0000000000000000000000000000000000030
+:10D10000000000000000000000000000000000001F
+:10D110000000000000000000020202010202000103
+:10D1200001000000000100010000000000000000FC
+:10D1300000000000000000000000000000000000EF
+:10D1400000000000000000000000000000000000DF
+:10D1500000000000000000000000000000000000CF
+:10D1600000000000000000000202020201010101B3
+:10D1700000000000010101010000000000000000AB
+:10D18000000000000000000000000000000000009F
+:10D19000000000000000000000000000000000008F
+:10D1A000000000000000000000000000000000007F
+:10D1B000000000000000000001010000010100016A
+:10D1C000000000000101010102020202020202024B
+:10D1D0000202020202020200000000000000000041
+:10D1E000000000000000000000000000000000003F
+:10D1F000000000000000000000000000000000002F
+:10D20000000000000000000000000000000000001E
+:10D210000000000000000000020202020202010100
+:10D2200001000000000100010000000000000000FB
+:10D2300000000000000000000000000000000000EE
+:10D2400000000000000000000000000000000000DE
+:10D2500000000000000000000000000000000000CE
+:10D2600000000000000000000202020201010101B2
+:10D2700000000100010101010000000000000000A9
+:10D28000000000000000000000000000000000009E
+:10D29000000000000000000000000000000000008E
+:10D2A000000000000000000000000000000000007E
+:10D2B0000000000000000000010000010101000169
+:10D2C000000000000101010002020202020202024B
+:10D2D0000202020202020200000000000000000040
+:10D2E000000000000000000000000000000000003E
+:10D2F000000000000000000000000000000000002E
+:10D30000000000000000000000000000000000001D
+:10D3100000000000000000000202020202020101FF
+:10D3200001000001010100010000000000000000F8
+:10D3300000000000000000000000000000000000ED
+:10D3400000000000000000000000000000000000DD
+:10D3500000000000000000000000000000000000CD
+:10D3600000000000000000000202020202010101B0
+:10D3700001010101010101010000000000000000A5
+:10D38000000000000000000000000000000000009D
+:10D39000000000000000000000000000000000008D
+:10D3A000000000000000000000000000000000007D
+:10D3B0000000000000000000020000010100010167
+:10D3C000000000000101010002020202020202024A
+:10D3D0000102020102020200000000000000000041
+:10D3E000000000000000000000000000000000003D
+:10D3F000000000000000000000000000000000002D
+:10D40000000000000000000000000000000000001C
+:10D4100000000000000000000202020202020101FE
+:10D4200002000001010100010000000000000000F6
+:10D4300000000000000000000000000000000000EC
+:10D4400000000000000000000000000000000000DC
+:10D4500000000000000000000000000000000000CC
+:10D4600000000000000000000202020202020101AE
+:10D4700001010101010101010000000000000000A4
+:10D48000000000000000000000000000000000009C
+:10D49000000000000000000000000000000000008C
+:10D4A000000000000000000000000000000000007C
+:10D4B0000000000000000000020000010100010166
+:10D4C0000000000001010100020202020202020249
+:10D4D0000101010102020200000000000000000042
+:10D4E000000000000000000000000000000000003C
+:10D4F000000000000000000000000000000000002C
+:10D50000000000000000000000000000000000001B
+:10D5100000000000000000000202020202020202FB
+:10D5200002010001010101010000000000000000F3
+:10D5300000000000000000000000000000000000EB
+:10D5400000000000000000000000000000000000DB
+:10D5500000000000000000000000000000000000CB
+:10D5600000000000000000000202020202020101AD
+:10D5700001010101010101010000000000000000A3
+:10D58000000000000000000000000000000000009B
+:10D59000000000000000000000000000000000008B
+:10D5A000000000000000000000000000000000007B
+:10D5B0000000000000000000020000010000010067
+:10D5C0000100000001010100020202020202020148
+:10D5D0000101010101010200000000000000000043
+:10D5E000000000000000000000000000000000003B
+:10D5F000000000000000000000000000000000002B
+:10D60000000000000000000000000000000000001A
+:10D6100000000000000000000202020202020202FA
+:10D6200002010001010101010000000000000000F2
+:10D6300000000000000000000000000000000000EA
+:10D6400000000000000000000000000000000000DA
+:10D6500000000000000000000000000000000000CA
+:10D6600000000000000000000202020202020101AC
+:10D6700001010101010101010000000000000000A2
+:10D68000000000000000000000000000000000009A
+:10D69000000000000000000000000000000000008A
+:10D6A000000000000000000000000000000000007A
+:10D6B0000000000000000000020200010000000065
+:10D6C0000101010101010100020202020202010145
+:10D6D0000101010101010200000000000000000042
+:10D6E000000000000000000000000000000000003A
+:10D6F000000000000000000000000000000000002A
+:10D700000000000000000000000000000000000019
+:10D7100000000000000000000202020202020202F9
+:10D7200002010001010201010000000000000000F0
+:10D7300000000000000000000000000000000000E9
+:10D7400000000000000000000000000000000000D9
+:10D7500000000000000000000000000000000000C9
+:10D7600000000000000000000202020202020202A9
+:10D7700001010101010101010000000000000000A1
+:10D780000000000000000000000000000000000099
+:10D790000000000000000000000000000000000089
+:10D7A0000000000000000000000000000000000079
+:10D7B0000000000000000000020200010000000064
+:10D7C0000001010101000100020202020202010146
+:10D7D0000101010101010100000000000000000042
+:10D7E0000000000000000000000000000000000039
+:10D7F0000000000000000000000000000000000029
+:10D800000000000000000000000000000000000018
+:10D8100000000000000000000202020202020202F8
+:10D8200002020102010201020000000000000000EB
+:10D8300000000000000000000000000000000000E8
+:10D8400000000000000000000000000000000000D8
+:10D8500000000000000000000000000000000000C8
+:10D8600000000000000000000202020202020202A8
+:10D87000010101010101010200000000000000009F
+:10D880000000000000000000000000000000000098
+:10D890000000000000000000000000000000000088
+:10D8A0000000000000000000000000000000000078
+:10D8B0000000000000000000020202000000000062
+:10D8C000000001010000000002020202010101014A
+:10D8D0000101010101010100000000000000000041
+:10D8E0000000000000000000000000000000000038
+:10D8F0000000000000000000000000000000000028
+:10D900000000000000000000000000000000000017
+:10D9100000000000000000000202020202020202F7
+:10D9200002020102010201020000000000000000EA
+:10D9300000000000000000000000000000000000E7
+:10D9400000000000000000000000000000000000D7
+:10D9500000000000000000000000000000000000C7
+:10D9600000000000000000000202020202020202A7
+:10D97000020101010101010200000000000000009D
+:10D980000000000000000000000000000000000097
+:10D990000000000000000000000000000000000087
+:10D9A0000000000000000000000000000000000077
+:10D9B000000000000000000002020202000000005F
+:10D9C000000000000000000002020202010101014B
+:10D9D000010101010101010100000000000000003F
+:10D9E0000000000000000000000000000000000037
+:10D9F0000000000000000000000000000000000027
+:10DA00000000000000000000000000000000000016
+:10DA100000000000000000000202020202020202F6
+:10DA200002020202020201020000000000000000E7
+:10DA300000000000000000000000000000000000E6
+:10DA400000000000000000000000000000000000D6
+:10DA500000000000000000000000000000000000C6
+:10DA600000000000000000000202020202020202A6
+:10DA70000202020101020202000000000000000098
+:10DA80000000000000000000000000000000000096
+:10DA90000000000000000000000000000000000086
+:10DAA0000000000000000000000000000000000076
+:10DAB000000000000000000002020202000000005E
+:10DAC000000000000000000002020101010101014C
+:10DAD000010101010101010100000000000000003E
+:10DAE0000000000000000000000000000000000036
+:10DAF0000000000000000000000000000000000026
+:10DB00000000000000000000000000000000000015
+:10DB100000000000000000000202020202020202F5
+:10DB200002020202020201020000000000000000E6
+:10DB300000000000000000000000000000000000E5
+:10DB400000000000000000000000000000000000D5
+:10DB500000000000000000000000000000000000C5
+:10DB600000000000000000000202020202020202A5
+:10DB70000202020202020202000000000000000095
+:10DB80000000000000000000000000000000000095
+:10DB90000000000000000000000000000000000085
+:10DBA0000000000000000000000000000000000075
+:10DBB0000000000000000000020202020202000059
+:10DBC000000000000000000002020101010101014B
+:10DBD000010101010101010100000000000000003D
+:10DBE0000000000000000000000000000000000035
+:10DBF0000000000000000000000000000000000025
+:10DC00000000000000000000000000000000000014
+:10DC100000000000000000000202020202020202F4
+:10DC200002020202020201020000000000000000E5
+:10DC300000000000000000000000000000000000E4
+:10DC400000000000000000000000000000000000D4
+:10DC500000000000000000000000000000000000C4
+:10DC600000000000000000000202020202020202A4
+:10DC70000202020202020202000000000000000094
+:10DC80000000000000000000000000000000000094
+:10DC90000000000000000000000000000000000084
+:10DCA0000000000000000000000000000000000074
+:10DCB0000000000000000000020202020202000058
+:10DCC000000000000000000002010101010101014B
+:10DCD000010101010101010100000000000000003C
+:10DCE0000000000000000000000000000000000034
+:10DCF0000000000000000000000000000000000024
+:10DD00000000000000000000000000000000000013
+:10DD100000000000000000000202020202020202F3
+:10DD200002020202020202020000000000000000E3
+:10DD300000000000000000000000000000000000E3
+:10DD400000000000000000000000000000000000D3
+:10DD500000000000000000000000000000000000C3
+:10DD600000000000000000000202020202020202A3
+:10DD70000202020202020202000000000000000093
+:10DD80000000000000000000000000000000000093
+:10DD90000000000000000000000000000000000083
+:10DDA0000000000000000000000000000000000073
+:10DDB0000000000000000000020202020202000057
+:10DDC000000000000000000002010101010101014A
+:10DDD000010101010101010100000000000000003B
+:10DDE0000000000000000000000000000000000033
+:10DDF0000000000000000000000000000000000023
+:10DE00000000000000000000000000000000000012
+:10DE100000000000000000000202020202020202F2
+:10DE200002020202020202020000000000000000E2
+:10DE300000000000000000000000000000000000E2
+:10DE400000000000000000000000000000000000D2
+:10DE500000000000000000000000000000000000C2
+:10DE600000000000000000000202020202020202A2
+:10DE70000202020202020202000000000000000092
+:10DE80000000000000000000000000000000000092
+:10DE90000000000000000000000000000000000082
+:10DEA0000000000000000000000000000000000072
+:10DEB0000000000000000000020202020202020252
+:10DEC0000000000000000002020101010101010147
+:10DED000010101010101010100000000000000003A
+:10DEE0000000000000000000000000000000000032
+:10DEF0000000000000000000000000000000000022
+:10DF00000000000000000000000000000000000011
+:10DF100000000000000000000202020202020202F1
+:10DF200002020202020202020000000000000000E1
+:10DF300000000000000000000000000000000000E1
+:10DF400000000000000000000000000000000000D1
+:10DF500000000000000000000000000000000000C1
+:10DF600000000000000000000202020202020202A1
+:10DF70000202020202020202000000000000000091
+:10DF80000000000000000000000000000000000091
+:10DF90000000000000000000000000000000000081
+:10DFA0000000000000000000000000000000000071
+:10DFB0000000000000000000020202020202020251
+:10DFC0000000000000000002010101010101010147
+:10DFD0000101010101010101000000000000000039
+:10DFE0000000000000000000000000000000000031
+:10DFF0000000000000000000000000000000000021
+:10E000000000000000000000000000000000000010
+:10E0100000000000000000000202020202020202F0
+:10E0200002020202020202020000000000000000E0
+:10E0300000000000000000000000000000000000E0
+:10E0400000000000000000000000000000000000D0
+:10E0500000000000000000000000000000000000C0
+:10E0600000000000000000000202020202020202A0
+:10E070000202020202020202000000000000000090
+:10E080000000000000000000000000000000000090
+:10E090000000000000000000000000000000000080
+:10E0A0000000000000000000000000000000000070
+:10E0B0000000000000000000020202020202020250
+:10E0C0000000000002000002010101010101010144
+:10E0D0000101010101010101000000000000000038
+:10E0E0000000000000000000000000000000000030
+:10E0F0000000000000000000000000000000000020
+:10E10000000000000000000000000000000000000F
+:10E1100000000000000000000202020202020202EF
+:10E1200000020202020202020000000000000000E1
+:10E1300000000000000000000000000000000000DF
+:10E1400000000000000000000000000000000000CF
+:10E1500000000000000000000000000000000000BF
+:10E16000000000000000000002020202020202029F
+:10E17000020202020202020200000000000000008F
+:10E18000000000000000000000000000000000008F
+:10E19000000000000000000000000000000000007F
+:10E1A000000000000000000000000000000000006F
+:10E1B000000000000000000002020202020202024F
+:10E1C000020000000202020201010101010101013D
+:10E1D0000101010101010101000000000000000037
+:10E1E000000000000000000000000000000000002F
+:10E1F000000000000000000000000000000000001F
+:10E20000000000000000000000000000000000000E
+:10E2100000000000000000000202020202020202EE
+:10E2200000020202020202020000000000000000E0
+:10E2300000000000000000000000000000000000DE
+:10E2400000000000000000000000000000000000CE
+:10E2500000000000000000000000000000000000BE
+:10E26000000000000000000002020202020202029E
+:10E27000020202020202020200000000000000008E
+:10E28000000000000000000000000000000000008E
+:10E29000000000000000000000000000000000007E
+:10E2A000000000000000000000000000000000006E
+:10E2B000000000000000000002020202020202024E
+:10E2C0000202020002020202010101010101010138
+:10E2D0000101010101010101000000000000000036
+:10E2E000000000000000000000000000000000002E
+:10E2F000000000000000000000000000000000001E
+:10E30000000000000000000000000000000000000D
+:10E3100000000000000000000202020201010101F1
+:10E3200001010101020202020000000000000000E1
+:10E3300000000000000000000000000000000000DD
+:10E3400000000000000000000000000000000000CD
+:10E3500000000000000000000000000000000000BD
+:10E36000000000000000000002020202020202029D
+:10E37000020202020202020200000000000000008D
+:10E38000000000000000000000000000000000008D
+:10E39000000000000000000000000000000000007D
+:10E3A000000000000000000000000000000000006D
+:10E3B000000000000000000002020202020202024D
+:10E3C0000202020202020202010101010101010135
+:10E3D0000101010101010101000000000000000035
+:10E3E000000000000000000000000000000000002D
+:10E3F000000000000000000000000000000000001D
+:10E40000000000000000000000000000000000000C
+:10E4100000000000000000000201010101010101F3
+:10E4200001010101010102020000000000000000E2
+:10E4300000000000000000000000000000000000DC
+:10E4400000000000000000000000000000000000CC
+:10E4500000000000000000000000000000000000BC
+:10E46000000000000000000002020202020202029C
+:10E47000020202020202020200000000000000008C
+:10E48000000000000000000000000000000000008C
+:10E49000000000000000000000000000000000007C
+:10E4A000000000000000000000000000000000006C
+:10E4B000000000000000000002020202020202024C
+:10E4C0000202020202020202010101010101010134
+:10E4D0000101010101010101000000000000000034
+:10E4E000000000000000000000000000000000002C
+:10E4F000000000000000000000000000000000001C
+:10E50000000000000000000000000000000000000B
+:10E5100000000000000000000101010101010101F3
+:10E5200001010101010101010000000000000000E3
+:10E5300000000000000000000000000000000000DB
+:10E5400000000000000000000000000000000000CB
+:10E5500000000000000000000000000000000000BB
+:10E56000000000000000000002020202020202029B
+:10E57000020202020202020200000000000000008B
+:10E58000000000000000000000000000000000008B
+:10E59000000000000000000000000000000000007B
+:10E5A000000000000000000000000000000000006B
+:10E5B000000000000000000002020202020202024B
+:10E5C0000202020202020202010101010101010133
+:10E5D0000101010101010101000000000000000033
+:10E5E000000000000000000000000000000000002B
+:10E5F000000000000000000000000000000000001B
+:10E60000000000000000000000000000000000000A
+:10E6100000000000000000000101010101010101F2
+:10E6200001010101010101010000000000000000E2
+:10E6300000000000000000000000000000000000DA
+:10E6400000000000000000000000000000000000CA
+:10E6500000000000000000000000000000000000BA
+:10E66000000000000000000002020202020202029A
+:10E67000000202020202020200000000000000008C
+:10E68000000000000000000000000000000000008A
+:10E69000000000000000000000000000000000007A
+:10E6A000000000000000000000000000000000006A
+:10E6B000000000000000000002020202020202024A
+:10E6C0000202020202020202010101010101010132
+:10E6D0000101010101010101000000000000000032
+:10E6E000000000000000000000000000000000002A
+:10E6F000000000000000000000000000000000001A
+:10E700000000000000000000000000000000000009
+:10E7100000000000000000000101010101010101F1
+:10E7200001010101010101010000000000000000E1
+:10E7300000000000000000000000000000000000D9
+:10E7400000000000000000000000000000000000C9
+:10E7500000000000000000000000000000000000B9
+:10E7600000000000000000000202000000000000A5
+:10E770000000000002020202000000000000000091
+:10E780000000000000000000000000000000000089
+:10E790000000000000000000000000000000000079
+:10E7A0000000000000000000000000000000000069
+:10E7B0000000000000000000020202020202020249
+:10E7C0000202020202020202010101010101010131
+:10E7D0000101010101010101000000000000000031
+:10E7E0000000000000000000000000000000000029
+:10E7F0000000000000000000000000000000000019
+:10E800000000000000000000000000000000000008
+:10E8100000000000000000000101010101010101F0
+:10E8200001010101010101010000000000000000E0
+:10E8300000000000000000000000000000000000D8
+:10E8400000000000000000000000000000000000C8
+:10E8500000000000000000000000000000000000B8
+:10E8600000000000000000000200000000000000A6
+:10E870000000000002020202000000000000000090
+:10E880000000000000000000000000000000000088
+:10E890000000000000000000000000000000000078
+:10E8A0000000000000000000000000000000000068
+:10E8B0000000000000000000020202020202020248
+:10E8C0000202020202020202010101010101010130
+:10E8D0000101010101010101000000000000000030
+:10E8E0000000000000000000000000000000000028
+:10E8F0000000000000000000000000000000000018
+:10E900000000000000000000000000000000000007
+:10E9100000000000000000000101010101010101EF
+:10E9200001010101010101010000000000000000DF
+:10E9300000000000000000000000000000000000D7
+:10E9400000000000000000000000000000000000C7
+:10E9500000000000000000000000000000000000B7
+:10E96000000000000000000001010101010101019F
+:10E97000010101010101010100000000000000008F
+:10E980000000000000000000000000000000000087
+:10E990000000000000000000000000000000000077
+:10E9A0000000000000000000000000000000000067
+:10E9B0000000000000000000020202020202020247
+:10E9C000020202020202020201010101010101012F
+:10E9D000010101010101010100000000000000002F
+:10E9E0000000000000000000000000000000000027
+:10E9F0000000000000000000000000000000000017
+:10EA00000000000000000000000000000000000006
+:10EA100000000000000000000101010101010101EE
+:10EA200001010101010101010000000000000000DE
+:10EA300000000000000000000000000000000000D6
+:10EA400000000000000000000000000000000000C6
+:10EA500000000000000000000000000000000000B6
+:10EA6000000000000000000001010101010101019E
+:10EA7000010101010101010100000000000000008E
+:10EA80000000000000000000000000000000000086
+:10EA90000000000000000000000000000000000076
+:10EAA0000000000000000000000000000000000066
+:10EAB0000000000000000000020202020202020246
+:10EAC000020202020202020201010101010101012E
+:10EAD000010101010101010100000000000000002E
+:10EAE0000000000000000000000000000000000026
+:10EAF0000000000000000000000000000000000016
+:10EB00000000000000000000000000000000000005
+:10EB100000000000000000000101010101010101ED
+:10EB200001010101010101010000000000000000DD
+:10EB300000000000000000000000000000000000D5
+:10EB400000000000000000000000000000000000C5
+:10EB500000000000000000000000000000000000B5
+:10EB6000000000000000000001010101010101019D
+:10EB7000010101010101010100000000000000008D
+:10EB80000000000000000000000000000000000085
+:10EB90000000000000000000000000000000000075
+:10EBA0000000000000000000000000000000000065
+:10EBB0000000000000000000000000000000000055
+:10EBC000000000000000000001010101010101013D
+:10EBD000010101010101010100000000000000002D
+:10EBE0000000000000000000000000000000000025
+:10EBF0000000000000000000000000000000000015
+:10EC00000000000000000000000000000000000004
+:10EC100000000000000000000101010101010101EC
+:10EC200001010101010101010000000000000000DC
+:10EC300000000000000000000000000000000000D4
+:10EC400000000000000000000000000000000000C4
+:10EC500000000000000000000000000000000000B4
+:10EC6000000000000000000001010101010101019C
+:10EC7000010101010101010100000000000000008C
+:10EC80000000000000000000000000000000000084
+:10EC90000000000000000000000000000000000074
+:10ECA0000000000000000000000000000000000064
+:10ECB0000000000000000000000000000000000054
+:10ECC000000000000000000001010101010101013C
+:10ECD000010101010101010100000000000000002C
+:10ECE0000000000000000000000000000000000024
+:10ECF0000000000000000000000000000000000014
+:10ED00000000000000000000000000000000000003
+:10ED100000000000000000000101010101010101EB
+:10ED200001010101010101010000000000000000DB
+:10ED300000000000000000000000000000000000D3
+:10ED400000000000000000000000000000000000C3
+:10ED500000000000000000000000000000000000B3
+:10ED6000000000000000000001010101010101019B
+:10ED7000010101010101010100000000000000008B
+:10ED80000000000000000000000000000000000083
+:10ED90000000000000000000000000000000000073
+:10EDA0000000000000000000000000000000000063
+:10EDB0000000000000000000000000000000000053
+:10EDC000000000000000000001010101010101013B
+:10EDD000010101010101010100000000000000002B
+:10EDE0000000000000000000000000000000000023
+:10EDF0000000000000000000000000000000000013
+:10EE00000000000000000000000000000000000002
+:10EE100000000000000000000101010101010101EA
+:10EE200001010101010101010000000000000000DA
+:10EE300000000000000000000000000000000000D2
+:10EE400000000000000000000000000000000000C2
+:10EE500000000000000000000000000000000000B2
+:10EE6000000000000000000001010101010101019A
+:10EE7000010101010101010100000000000000008A
+:10EE80000000000000000000000000000000000082
+:10EE90000000000000000000000000000000000072
+:10EEA0000000000000000000000000000000000062
+:10EEB0000000000000000000000000000000000052
+:10EEC000000000000000000001010101010101013A
+:10EED000010101010101010100000000000000002A
+:10EEE0000000000000000000000000000000000022
+:10EEF0000000000000000000000000000000000012
+:10EF00000000000000000000000000000000000001
+:10EF100000000000000000000202020202020202E1
+:10EF200002020202020202020000000000000000D1
+:10EF300000000000000000000000000000000000D1
+:10EF400000000000000000000000000000000000C1
+:10EF500000000000000000000000000000000000B1
+:10EF60000000000000000000020202020202020291
+:10EF70000202020202020202000000000000000081
+:10EF80000000000000000000000000000000000081
+:10EF90000000000000000000000000000000000071
+:10EFA0000000000000000000000000000000000061
+:10EFB0000000000000000000000000000000000051
+:10EFC0000000000000000000000000000000000041
+:10EFD0000000000000000000000000000000000031
+:10EFE0000000000000000000000000000000000021
+:10EFF0000000000000000000000000000000000011
+:10F000000000000000000000000000000000000000
+:10F0100000000000000000000000000000000000F0
+:10F0200000000000000000000000000000000000E0
+:10F0300000000000000000000000000000000000D0
+:10F0400000000000000000000000000000000000C0
+:10F0500000000000000000000000000000000000B0
+:10F0600000000000000000000000000000000000A0
+:10F070000000000000000000000000000000000090
+:10F080000000000000000000000000000000000080
+:10F090000000000000000000000000000000000070
+:10F0A0000000000000000000000000000000000060
+:10F0B0000000000000000000000000000000000050
+:10F0C0000000000000000000290000000000000017
+:10F0D0000000000000000000000000000000000030
+:10F0E0000000000000000000000000000000000020
+:10F0F0000000000000000000000000000000000010
+:10F1000000000000000000000000000000000000FF
+:10F1100000000000000000000000000000000000EF
+:10F1200001000000000000000000000000000000DE
+:10F1300000000000000000000000000000000000CF
+:10F1400000000000000000000000000000000000BF
+:10F1500000000000000000000000000000000000AF
+:10F16000000000000000000000000000000000009F
+:10F17000000000000000000000000000000000008F
+:10F18000000000000000000000000000000000007F
+:10F19000000000000000000000000000000000006F
+:10F1A000000000000000000000000000000000005F
+:10F1B000000000000000000000000000000000004F
+:10F1C000000000000000000000000000000000003F
+:10F1D0000100010200020002020200000000010121
+:10F1E000000000000000000000000000000000001F
+:10F1F000000000000000000000000000000000000F
+:10F2000000000000000000000000000000000000FE
+:10F2100000000000000000000000000000000000EE
+:10F2200001000000000000000000000000000000DD
+:10F2300000000000000000000000000000000000CE
+:10F2400000000000000000000000000000000000BE
+:10F2500000000000000000000000000000000000AE
+:10F26000000000000000000000000000000000009E
+:10F27000010000000000000000000000000001018B
+:10F28000000000000000000000000000000000007E
+:10F29000000000000000000000000000000000006E
+:10F2A000000000000000000000000000000000005E
+:10F2B000000000000000000000000000000000004E
+:10F2C0000001000002020000000000020202020130
+:10F2D0000101010202020202020202000000010119
+:10F2E000000000000000000000000000000000001E
+:10F2F000000000000000000000000000000000000E
+:10F3000000000000000000000000000000000000FD
+:10F3100000000000000000000000000000000000ED
+:10F3200001000000000000000000000000000000DC
+:10F3300000000000000000000000000000000000CD
+:10F3400000000000000000000000000000000000BD
+:10F3500000000000000000000000000000000000AD
+:10F36000000000000000000000000000000000009D
+:10F37000010000000000000000000000000001018A
+:10F38000000000000000000000000000000000007D
+:10F39000000000000000000000000000000000006D
+:10F3A000000000000000000000000000000000005D
+:10F3B000000000000000000000000000000000004D
+:10F3C000000101010202000000000002020201012E
+:10F3D0000201020202020202020202000200010114
+:10F3E000000000000000000000000000000000001D
+:10F3F000000000000000000000000000000000000D
+:10F4000000000000000000000000000000000000FC
+:10F4100000000000000000000000000000000000EC
+:10F4200001000000000000000000000000000000DB
+:10F4300000000000000000000000000000000000CC
+:10F4400000000000000000000000000000000000BC
+:10F4500000000000000000000000000000000000AC
+:10F46000000000000000000000000000000000009C
+:10F470000100000000000000000000000000010189
+:10F48000000000000000000000000000000000007C
+:10F49000000000000000000000000000000000006C
+:10F4A000000000000000000000000000000000005C
+:10F4B000000000000000000000000000000000004C
+:10F4C000000101010101000000000201010201012F
+:10F4D0000202020202020202020202000200010112
+:10F4E000000000000000000000000000000000001C
+:10F4F000000000000000000000000000000000000C
+:10F5000000000000000000000000000000000000FB
+:10F5100000000000000000000000000000000000EB
+:10F5200001000000000100000000000000000000D9
+:10F5300000000000000000000000000000000000CB
+:10F5400000000000000000000000000000000000BB
+:10F5500000000000000000000000000000000000AB
+:10F56000000000000000000000000000000000009B
+:10F570000100000000000000000000000000010188
+:10F58000000000000000000000000000000000007B
+:10F59000000000000000000000000000000000006B
+:10F5A000000000000000000000000000000000005B
+:10F5B000000000000000000000000000000000004B
+:10F5C000000001010101000000020101010101012F
+:10F5D000020202020202020202020202020001010F
+:10F5E000000000000000000000000000000000001B
+:10F5F000000000000000000000000000000000000B
+:10F6000000000000000000000000000000000000FA
+:10F6100000000000000000000000000000000000EA
+:10F6200001000000000100000000000000000000D8
+:10F6300000000000000000000000000000000000CA
+:10F6400000000000000000000000000000000000BA
+:10F6500000000000000000000000000000000000AA
+:10F66000000000000000000000000000000000009A
+:10F670000100000000010000000000010000010185
+:10F68000000000000000000000000000000000007A
+:10F69000000000000000000000000000000000006A
+:10F6A000000000000000000000000000000000005A
+:10F6B000000000000000000000000000000000004A
+:10F6C000000001010101000000020101010101012E
+:10F6D000020202020202020202020202020001010E
+:10F6E000000000000000000000000000000000001A
+:10F6F000000000000000000000000000000000000A
+:10F7000000000000000000000000000000000000F9
+:10F7100000000000000000000000000000000000E9
+:10F7200002000001000100000000000000000101D3
+:10F7300000000000000000000000000000000000C9
+:10F7400000000000000000000000000000000000B9
+:10F7500000000000000000000000000000000000A9
+:10F760000000000000000000000000000000000099
+:10F770000101000000010000000001010000010182
+:10F780000000000000000000000000000000000079
+:10F790000000000000000000000000000000000069
+:10F7A0000000000000000000000000000000000059
+:10F7B0000000000000000000000000000000000049
+:10F7C000000000010101000000010101010101012F
+:10F7D000020202020202020202020202020101010C
+:10F7E0000000000000000000000000000000000019
+:10F7F0000000000000000000000000000000000009
+:10F8000000000000000000000000000000000000F8
+:10F8100000000000000000000000000000000000E8
+:10F8200002000001010100000000000000000101D1
+:10F8300000000000000000000000000000000000C8
+:10F8400000000000000000000000000000000000B8
+:10F8500000000000000000000000000000000000A8
+:10F860000000000000000000000000000000000098
+:10F870000101000000010000000001010001010180
+:10F880000000000000000000000000000000000078
+:10F890000000000000000000000000000000000068
+:10F8A0000000000000000000000000000000000058
+:10F8B0000000000000000000000000000000000048
+:10F8C000000000000101020002010101010101012B
+:10F8D000020202020202020202020202020102010A
+:10F8E0000000000000000000000000000000000018
+:10F8F0000000000000000000000000000000000008
+:10F9000000000000000000000000000000000000F7
+:10F9100000000000000000000000000000000000E7
+:10F9200002000001010100000000000000000101D0
+:10F9300000000000000000000000000000000000C7
+:10F9400000000000000000000000000000000000B7
+:10F9500000000000000000000000000000000000A7
+:10F960000000000000000000000000000000000097
+:10F97000020100000001000000000101000101017E
+:10F980000000000000000000000000000000000077
+:10F990000000000000000000000000000000000067
+:10F9A0000000000000000000000000000000000057
+:10F9B0000000000000000000000000000000000047
+:10F9C0000000000001010102020101010101010129
+:10F9D0000202020202020202020202020202020108
+:10F9E0000000000000000000000000000000000017
+:10F9F0000000000000000000000000000000000007
+:10FA000000000000000000000000000000000000F6
+:10FA100000000000000000000000000000000000E6
+:10FA200002010001010101000000000000000101CD
+:10FA300000000000000000000000000000000000C6
+:10FA400000000000000000000000000000000000B6
+:10FA500000000000000000000000000000000000A6
+:10FA60000000000000000000000000000000000096
+:10FA7000020100000001000000010101010101017B
+:10FA80000000000000000000000000000000000076
+:10FA90000000000000000000000000000000000066
+:10FAA0000000000000000000000000000000000056
+:10FAB0000000000000000000000000000000000046
+:10FAC0000100000001010102010101010101010128
+:10FAD0000202020202020202020101020202020109
+:10FAE0000000000000000000000000000000000016
+:10FAF0000000000000000000000000000000000006
+:10FB000000000000000000000000000000000000F5
+:10FB100000000000000000000000000000000000E5
+:10FB200002010001010101010000000000000101CB
+:10FB300000000000000000000000000000000000C5
+:10FB400000000000000000000000000000000000B5
+:10FB500000000000000000000000000000000000A5
+:10FB60000000000000000000000000000000000095
+:10FB70000201000001010100010101010101010177
+:10FB80000000000000000000000000000000000075
+:10FB90000000000000000000000000000000000065
+:10FBA0000000000000000000000000000000000055
+:10FBB0000000000000000000000000000000000045
+:10FBC000010000000000010101010101010101012A
+:10FBD000020202020202020201010102010202000B
+:10FBE0000000000000000000000000000000000015
+:10FBF0000000000000000000000000000000000005
+:10FC000000000000000000000000000000000000F4
+:10FC100000000000000000000000000000000000E4
+:10FC200002010001010101010000000000000101CA
+:10FC300000000000000000000000000000000000C4
+:10FC400000000000000000000000000000000000B4
+:10FC500000000000000000000000000000000000A4
+:10FC60000000000000000000000000000000000094
+:10FC70000201010001010101010101010101010174
+:10FC80000000000000000000000000000000000074
+:10FC90000000000000000000000000000000000064
+:10FCA0000000000000000000000000000000000054
+:10FCB0000000000000000000000000000000000044
+:10FCC0000200000000000101010101010101010128
+:10FCD000020202020202020101010101010202000C
+:10FCE0000000000000000000000000000000000014
+:10FCF0000000000000000000000000000000000004
+:10FD000000000000000000000000000000000000F3
+:10FD100000000000000000000000000000000000E3
+:10FD200002020102010201010000000000000101C5
+:10FD300000000000000000000000000000000000C3
+:10FD400000000000000000000000000000000000B3
+:10FD500000000000000000000000000000000000A3
+:10FD60000000000000000000000000000000000093
+:10FD70000202010001010101010101010101010172
+:10FD80000000000000000000000000000000000073
+:10FD90000000000000000000000000000000000063
+:10FDA0000000000000000000000000000000000053
+:10FDB0000000000000000000000000000000000043
+:10FDC000020000000000000101010001010101002A
+:10FDD000020202020201010101010101010202000D
+:10FDE0000000000000000000000000000000000013
+:10FDF0000000000000000000000000000000000003
+:10FE000000000000000000000000000000000000F2
+:10FE100000000000000000000000000000000000E2
+:10FE200002020102020201010100000000000101C2
+:10FE300000000000000000000000000000000000C2
+:10FE400000000000000000000000000000000000B2
+:10FE500000000000000000000000000000000000A2
+:10FE60000000000000000000000000000000000092
+:10FE70000202010001010101010101010101010171
+:10FE80000000000000000000000000000000000072
+:10FE90000000000000000000000000000000000062
+:10FEA0000000000000000000000000000000000052
+:10FEB0000000000000000000000000000000000042
+:10FEC000020200000000000101000000000101002A
+:10FED000020202010101010101010101010102000F
+:10FEE0000000000000000000000000000000000012
+:10FEF0000000000000000000000000000000000002
+:10FF000000000000000000000000000000000000F1
+:10FF100000000000000000000000000000000000E1
+:10FF200002020102020201010101000000010101BF
+:10FF300000000000000000000000000000000000C1
+:10FF400000000000000000000000000000000000B1
+:10FF500000000000000000000000000000000000A1
+:10FF60000000000000000000000000000000000091
+:10FF7000020201000102010101010101010101016F
+:10FF80000000000000000000000000000000000071
+:10FF90000000000000000000000000000000000061
+:10FFA0000000000000000000000000000000000051
+:10FFB0000000000000000000000000000000000041
+:10FFC000020200000000000000000000000101002B
+:10FFD000020202010101010101010101010101000F
+:10FFE0000000000000000000000000000000000011
+:10FFF0000000000000000000000000000000000001
+:02000002C0003C
+:1000000000000000000000000000000000000000F0
+:1000100000000000000000000000000000000000E0
+:1000200002020202020202010101010000010101BB
+:1000300000000000000000000000000000000000C0
+:1000400000000000000000000000000000000000B0
+:1000500000000000000000000000000000000000A0
+:100060000000000000000000000000000000000090
+:10007000020201010102010101010101010101016D
+:100080000000000000000000000000000000000070
+:100090000000000000000000000000000000000060
+:1000A0000000000000000000000000000000000050
+:1000B0000000000000000000000000000000000040
+:1000C0000202020000000000000000000001000029
+:1000D000020202010101010101010101010101000E
+:1000E0000000000000000000000000000000000010
+:1000F0000000000000000000000000000000000000
+:1001000000000000000000000000000000000000EF
+:1001100000000000000000000000000000000000DF
+:1001200002020202020202020101010000010101B9
+:1001300000000000000000000000000000000000BF
+:1001400000000000000000000000000000000000AF
+:10015000000000000000000000000000000000009F
+:10016000000000000000000000000000000000008F
+:10017000020202010202010101010101010101016A
+:10018000000000000000000000000000000000006F
+:10019000000000000000000000000000000000005F
+:1001A000000000000000000000000000000000004F
+:1001B000000000000000000000000000000000003F
+:1001C0000202020200000000000000000001000026
+:1001D000020201010101010101010101010101000E
+:1001E000000000000000000000000000000000000F
+:1001F00000000000000000000000000000000000FF
+:1002000000000000000000000000000000000000EE
+:1002100000000000000000000000000000000000DE
+:1002200002020202020202020101010000010101B8
+:1002300000000000000000000000000000000000BE
+:1002400000000000000000000000000000000000AE
+:10025000000000000000000000000000000000009E
+:10026000000000000000000000000000000000008E
+:100270000202020102020201010102020101010166
+:10028000000000000000000000000000000000006E
+:10029000000000000000000000000000000000005E
+:1002A000000000000000000000000000000000004E
+:1002B000000000000000000000000000000000003E
+:1002C0000202020200000000000000000000000026
+:1002D000020201010101010101010101010101000D
+:1002E000000000000000000000000000000000000E
+:1002F00000000000000000000000000000000000FE
+:1003000000000000000000000000000000000000ED
+:1003100000000000000000000000000000000000DD
+:1003200002020202020202020201010102010101B3
+:1003300000000000000000000000000000000000BD
+:1003400000000000000000000000000000000000AD
+:10035000000000000000000000000000000000009D
+:10036000000000000000000000000000000000008D
+:100370000202020102020202020202020101020260
+:10038000000000000000000000000000000000006D
+:10039000000000000000000000000000000000005D
+:1003A000000000000000000000000000000000004D
+:1003B000000000000000000000000000000000003D
+:1003C0000202020200000000000000000000000025
+:1003D000020101010101010101010101010101000D
+:1003E000000000000000000000000000000000000D
+:1003F00000000000000000000000000000000000FD
+:1004000000000000000000000000000000000000EC
+:1004100000000000000000000000000000000000DC
+:1004200002020202020202020202010101010101B2
+:1004300000000000000000000000000000000000BC
+:1004400000000000000000000000000000000000AC
+:10045000000000000000000000000000000000009C
+:10046000000000000000000000000000000000008C
+:10047000020202020202020202020202020102025D
+:10048000000000000000000000000000000000006C
+:10049000000000000000000000000000000000005C
+:1004A000000000000000000000000000000000004C
+:1004B000000000000000000000000000000000003C
+:1004C0000202020202020000000000000000000020
+:1004D000010101010101010101010101010101000D
+:1004E000000000000000000000000000000000000C
+:1004F00000000000000000000000000000000000FC
+:1005000000000000000000000000000000000000EB
+:1005100000000000000000000000000000000000DB
+:1005200002020202020202020202020101010202AE
+:1005300000000000000000000000000000000000BB
+:1005400000000000000000000000000000000000AB
+:10055000000000000000000000000000000000009B
+:10056000000000000000000000000000000000008B
+:10057000020202020202020202020202020202025B
+:10058000000000000000000000000000000000006B
+:10059000000000000000000000000000000000005B
+:1005A000000000000000000000000000000000004B
+:1005B000000000000000000000000000000000003B
+:1005C000020202020202000000000000000000001F
+:1005D000010101010101010101000001010101000E
+:1005E000000000000000000000000000000000000B
+:1005F00000000000000000000000000000000000FB
+:1006000000000000000000000000000000000000EA
+:1006100000000000000000000000000000000000DA
+:1006200002020202020202020202020101010202AD
+:1006300000000000000000000000000000000000BA
+:1006400000000000000000000000000000000000AA
+:10065000000000000000000000000000000000009A
+:10066000000000000000000000000000000000008A
+:10067000020202020202020202020202020202025A
+:10068000000000000000000000000000000000006A
+:10069000000000000000000000000000000000005A
+:1006A000000000000000000000000000000000004A
+:1006B000000000000000000000000000000000003A
+:1006C000020202020202020000000200000000001A
+:1006D000010101010101010100000001010101000E
+:1006E000000000000000000000000000000000000A
+:1006F00000000000000000000000000000000000FA
+:1007000000000000000000000000000000000000E9
+:1007100000000000000000000000000000000000D9
+:1007200002020202020202020202020101010202AC
+:1007300000000000000000000000000000000000B9
+:1007400000000000000000000000000000000000A9
+:100750000000000000000000000000000000000099
+:100760000000000000000000000000000000000089
+:100770000202020202020202020202020202020259
+:100780000000000000000000000000000000000069
+:100790000000000000000000000000000000000059
+:1007A0000000000000000000000000000000000049
+:1007B0000000000000000000000000000000000039
+:1007C0000202020202020200000202020200000211
+:1007D0000101010101010100000000000001010010
+:1007E0000000000000000000000000000000000009
+:1007F00000000000000000000000000000000000F9
+:1008000000000000000000000000000000000000E8
+:1008100000000000000000000000000000000000D8
+:1008200002020202020202020202020201020202A9
+:1008300000000000000000000000000000000000B8
+:1008400000000000000000000000000000000000A8
+:100850000000000000000000000000000000000098
+:100860000000000000000000000000000000000088
+:100870000202020202020202020202020202020258
+:100880000000000000000000000000000000000068
+:100890000000000000000000000000000000000058
+:1008A0000000000000000000000000000000000048
+:1008B0000000000000000000000000000000000038
+:1008C000020202020202020202020202020000020C
+:1008D0000101010000000000000000000000010014
+:1008E0000000000000000000000000000000000008
+:1008F00000000000000000000000000000000000F8
+:1009000000000000000000000000000000000000E7
+:1009100000000000000000000000000000000000D7
+:1009200002020202020202020202020202020202A7
+:1009300000000000000000000000000000000000B7
+:1009400000000000000000000000000000000000A7
+:100950000000000000000000000000000000000097
+:100960000000000000000000000000000000000087
+:100970000202020202020202020202020202020257
+:100980000000000000000000000000000000000067
+:100990000000000000000000000000000000000057
+:1009A0000000000000000000000000000000000047
+:1009B0000000000000000000000000000000000037
+:1009C0000202020202020202020202020200020209
+:1009D0000101010000000000000000000000000014
+:1009E0000000000000000000000000000000000007
+:1009F00000000000000000000000000000000000F7
+:100A000000000000000000000000000000000000E6
+:100A100000000000000000000000000000000000D6
+:100A200002020202020202020202020202020202A6
+:100A300000000000000000000000000000000000B6
+:100A400000000000000000000000000000000000A6
+:100A50000000000000000000000000000000000096
+:100A60000000000000000000000000000000000086
+:100A70000202020202020202020202020202020256
+:100A80000000000000000000000000000000000066
+:100A90000000000000000000000000000000000056
+:100AA0000000000000000000000000000000000046
+:100AB0000000000000000000000000000000000036
+:100AC0000202020202020202020202020202020206
+:100AD0000101000000000000000000000000000014
+:100AE0000000000000000000000000000000000006
+:100AF00000000000000000000000000000000000F6
+:100B000000000000000000000000000000000000E5
+:100B100000000000000000000000000000000000D5
+:100B200002020202020202020202020202020202A5
+:100B300000000000000000000000000000000000B5
+:100B400000000000000000000000000000000000A5
+:100B50000000000000000000000000000000000095
+:100B60000000000000000000000000000000000085
+:100B70000202020202020202020202020202020255
+:100B80000000000000000000000000000000000065
+:100B90000000000000000000000000000000000055
+:100BA0000000000000000000000000000000000045
+:100BB0000000000000000000000000000000000035
+:100BC0000202020202020202020202020202020205
+:100BD0000000000000000000000000000000000015
+:100BE0000000000000000000000000000000000005
+:100BF00000000000000000000000000000000000F5
+:100C000000000000000000000000000000000000E4
+:100C100000000000000000000000000000000000D4
+:100C200002020202020202020202020202020202A4
+:100C300000000000000000000000000000000000B4
+:100C400000000000000000000000000000000000A4
+:100C50000000000000000000000000000000000094
+:100C60000000000000000000000000000000000084
+:100C70000202020202020202020202020202020254
+:100C80000000000000000000000000000000000064
+:100C90000000000000000000000000000000000054
+:100CA0000000000000000000000000000000000044
+:100CB0000000000000000000000000000000000034
+:100CC0000202020202020202020202020202020204
+:100CD000000000000000000101010101010000000E
+:100CE0000000000000000000000000000000000004
+:100CF00000000000000000000000000000000000F4
+:100D000000000000000000000000000000000000E3
+:100D100000000000000000000000000000000000D3
+:100D200002020202020202020202020202020202A3
+:100D300000000000000000000000000000000000B3
+:100D400000000000000000000000000000000000A3
+:100D50000000000000000000000000000000000093
+:100D60000000000000000000000000000000000083
+:100D70000202020202020202020202020202020253
+:100D80000000000000000000000000000000000063
+:100D90000000000000000000000000000000000053
+:100DA0000000000000000000000000000000000043
+:100DB0000000000000000000000000000000000033
+:100DC0000202020202020202020202020202020203
+:100DD0000000000101010101010101010101000008
+:100DE0000000000000000000000000000000000003
+:100DF00000000000000000000000000000000000F3
+:100E000000000000000000000000000000000000E2
+:100E100000000000000000000000000000000000D2
+:100E200002020201010101010101010202020202AA
+:100E300000000000000000000000000000000000B2
+:100E400000000000000000000000000000000000A2
+:100E50000000000000000000000000000000000092
+:100E60000000000000000000000000000000000082
+:100E70000202020202020202020202020202020252
+:100E80000000000000000000000000000000000062
+:100E90000000000000000000000000000000000052
+:100EA0000000000000000000000000000000000042
+:100EB0000000000000000000000000000000000032
+:100EC0000202020202020202020202020202020202
+:100ED0000000000101010101010101010101010105
+:100EE0000000000000000000000000000000000002
+:100EF00000000000000000000000000000000000F2
+:100F000000000000000000000000000000000000E1
+:100F100000000000000000000000000000000000D1
+:100F200001010101010101010101010101020202AE
+:100F300000000000000000000000000000000000B1
+:100F400000000000000000000000000000000000A1
+:100F50000000000000000000000000000000000091
+:100F60000000000000000000000000000000000081
+:100F70000202020202020202020202020202020251
+:100F80000000000000000000000000000000000061
+:100F90000000000000000000000000000000000051
+:100FA0000000000000000000000000000000000041
+:100FB0000000000000000000000000000000000031
+:100FC0000202020202020202020202020202020201
+:100FD0000000010101010101010101010101010103
+:100FE0000000000000000000000000000000000001
+:100FF00000000000000000000000000000000000F1
+:1010000000000000000000000000000000000000E0
+:1010100000000000000000000000000000000000D0
+:1010200001010101010101010101010101010101B0
+:1010300000000000000000000000000000000000B0
+:1010400000000000000000000000000000000000A0
+:101050000000000000000000000000000000000090
+:101060000000000000000000000000000000000080
+:101070000202020202020202020202020202020250
+:101080000000000000000000000000000000000060
+:101090000000000000000000000000000000000050
+:1010A0000000000000000000000000000000000040
+:1010B0000000000000000000000000000000000030
+:1010C0000202020202020202020202020202020200
+:1010D0000101010101010101010101010101010100
+:1010E0000000000000000000000000000000000000
+:1010F00000000000000000000000000000000000F0
+:1011000000000000000000000000000000000000DF
+:1011100000000000000000000000000000000000CF
+:1011200001010101010101010101010101010101AF
+:1011300000000000000000000000000000000000AF
+:10114000000000000000000000000000000000009F
+:10115000000000000000000000000000000000008F
+:10116000000000000000000000000000000000007F
+:101170000202020201010101010101010102020258
+:10118000000000000000000000000000000000005F
+:10119000000000000000000000000000000000004F
+:1011A000000000000000000000000000000000003F
+:1011B000000000000000000000000000000000002F
+:1011C00002020202020202020202020202020202FF
+:1011D00001010101010101010101010101010101FF
+:1011E00000000000000000000000000000000000FF
+:1011F00000000000000000000000000000000000EF
+:1012000000000000000000000000000000000000DE
+:1012100000000000000000000000000000000000CE
+:1012200001010101010101010101010101010101AE
+:1012300000000000000000000000000000000000AE
+:10124000000000000000000000000000000000009E
+:10125000000000000000000000000000000000008E
+:10126000000000000000000000000000000000007E
+:10127000020202020202020202020202020202024E
+:10128000000000000000000000000000000000005E
+:10129000000000000000000000000000000000004E
+:1012A000000000000000000000000000000000003E
+:1012B000000000000000000000000000000000002E
+:1012C0000000000002020000000000020202020012
+:1012D00001010101010101010101010101010101FE
+:1012E00000000000000000000000000000000000FE
+:1012F00000000000000000000000000000000000EE
+:1013000000000000000000000000000000000000DD
+:1013100000000000000000000000000000000000CD
+:1013200001010101010101010101010101010101AD
+:1013300000000000000000000000000000000000AD
+:10134000000000000000000000000000000000009D
+:10135000000000000000000000000000000000008D
+:10136000000000000000000000000000000000007D
+:10137000000000000000000000000000000000006D
+:10138000000000000000000000000000000000005D
+:10139000000000000000000000000000000000004D
+:1013A000000000000000000000000000000000003D
+:1013B000000000000000000000000000000000002D
+:1013C0000000000002000000000000000002020017
+:1013D00001010101010101010101010101010101FD
+:1013E00000000000000000000000000000000000FD
+:1013F00000000000000000000000000000000000ED
+:1014000000000000000000000000000000000000DC
+:1014100000000000000000000000000000000000CC
+:1014200001010101010101010101010101010101AC
+:1014300000000000000000000000000000000000AC
+:10144000000000000000000000000000000000009C
+:10145000000000000000000000000000000000008C
+:10146000000000000000000000000000000000007C
+:10147000010101010101010101010101010101015C
+:10148000000000000000000000000000000000005C
+:10149000000000000000000000000000000000004C
+:1014A000000000000000000000000000000000003C
+:1014B000000000000000000000000000000000002C
+:1014C0000000000000000000000000000002020018
+:1014D00001010101010101010101010101010101FC
+:1014E00000000000000000000000000000000000FC
+:1014F00000000000000000000000000000000000EC
+:1015000000000000000000000000000000000000DB
+:1015100000000000000000000000000000000000CB
+:1015200001010101010101010101010101010101AB
+:1015300000000000000000000000000000000000AB
+:10154000000000000000000000000000000000009B
+:10155000000000000000000000000000000000008B
+:10156000000000000000000000000000000000007B
+:10157000010101010101010101010101010101015B
+:10158000000000000000000000000000000000005B
+:10159000000000000000000000000000000000004B
+:1015A000000000000000000000000000000000003B
+:1015B000000000000000000000000000000000002B
+:1015C0000000000000000000000000000002000019
+:1015D00001010101010101010101010101010101FB
+:1015E00000000000000000000000000000000000FB
+:1015F00000000000000000000000000000000000EB
+:1016000000000000000000000000000000000000DA
+:1016100000000000000000000000000000000000CA
+:1016200001010101010101010101010101010101AA
+:1016300000000000000000000000000000000000AA
+:10164000000000000000000000000000000000009A
+:10165000000000000000000000000000000000008A
+:10166000000000000000000000000000000000007A
+:10167000010101010101010101010101010101015A
+:10168000000000000000000000000000000000005A
+:10169000000000000000000000000000000000004A
+:1016A000000000000000000000000000000000003A
+:1016B000000000000000000000000000000000002A
+:1016C000000000000000000000000000000000001A
+:1016D00001010101010101010101010101010101FA
+:1016E00000000000000000000000000000000000FA
+:1016F00000000000000000000000000000000000EA
+:1017000000000000000000000000000000000000D9
+:1017100000000000000000000000000000000000C9
+:1017200001010101010101010101010101010101A9
+:1017300000000000000000000000000000000000A9
+:101740000000000000000000000000000000000099
+:101750000000000000000000000000000000000089
+:101760000000000000000000000000000000000079
+:101770000101010101010101010101010101010159
+:101780000000000000000000000000000000000059
+:101790000000000000000000000000000000000049
+:1017A0000000000000000000000000000000000039
+:1017B0000000000000000000000000000000000029
+:1017C0000000000000000000000000000000000019
+:1017D00001010101010101010101010101010101F9
+:1017E00000000000000000000000000000000000F9
+:1017F00000000000000000000000000000000000E9
+:1018000000000000000000000000000000000000D8
+:1018100000000000000000000000000000000000C8
+:101820000202020202020202020202020202020298
+:1018300000000000000000000000000000000000A8
+:101840000000000000000000000000000000000098
+:101850000000000000000000000000000000000088
+:101860000000000000000000000000000000000078
+:101870000000000000000000000000000000000068
+:101880000000000000000000000000000000000058
+:101890000000000000000000000000000000000048
+:1018A0000000000000000000000000000000000038
+:1018B0000000000000000000000000000000000028
+:1018C0000000000000000000000000000000000018
+:1018D0000000000000000000000000000000000008
+:1018E00000000000000000000000000000000000F8
+:1018F00000000000000000000000000000000000E8
+:1019000000000000000000000000000000000000D7
+:1019100000000000000000000000000000000000C7
+:1019200000000000000000000000000000000000B7
+:1019300000000000000000000000000000000000A7
+:101940000000000000000000000000000000000097
+:101950000000000000000000000000000000000087
+:101960000000000000000000000000000000000077
+:101970000000000000000000000000000000000067
+:101980000000000000000000000000000000000057
+:101990000000000000000000000000000000000047
+:1019A0000000000000000000000000000000000037
+:1019B0000000000000000000000000000000000027
+:1019C0000000000000000000000000000000000017
+:1019D00026000000000000000000000000000000E1
+:1019E00000000000000000000000000000000000F7
+:1019F00000000000000000000000000000000000E7
+:101A000000000000000000000000000000000000D6
+:101A100000000000000000000000000000000000C6
+:101A200000000000000000000000010000000000B5
+:101A300000000000000000000000000000000000A6
+:101A40000000000000000000000000000000000096
+:101A50000000000000000000000000000000000086
+:101A60000000000000000000000000000000000076
+:101A70000000000000000000000000000000000066
+:101A80000000000000000000000000000000000056
+:101A90000000000000000000000000000000000046
+:101AA0000000000000000000000000000000000036
+:101AB0000000000000000000000000000000000026
+:101AC0000000000000000000000000000000000016
+:101AD0000000000000000000000000000000000006
+:101AE00000000000000000000000000000000000F6
+:101AF00000000000000000000000000000000000E6
+:101B000000000000000000000000000000000000D5
+:101B100000000000000000000000000000000000C5
+:101B200000000000000000000000010000000000B4
+:101B300000000000000000000000000000000000A5
+:101B40000000000000000000000000000000000095
+:101B50000000000000000000000000000000000085
+:101B60000000000000000000000000000000000075
+:101B70000000000000000000000000000000000065
+:101B80000000000000000000000000000000000055
+:101B90000000000000000000000000000000000045
+:101BA0000000000000000000000000000000000035
+:101BB0000000000000000000000000000000000025
+:101BC0000000000000000000000000000000000015
+:101BD0000000000000000001000000020000000002
+:101BE00000020000000000010000000000000000F2
+:101BF00000000000000000000000000000000000E5
+:101C000000000000000000000000000000000000D4
+:101C100000000000000000000000000000000000C4
+:101C200000000000000000000000010000000000B3
+:101C300000000000000000000000000000000000A4
+:101C40000000000000000000000000000000000094
+:101C50000000000000000000000000000000000084
+:101C60000000000000000000000000000000000074
+:101C70000000000000000000000000000000000064
+:101C80000000000000000000000000000000000054
+:101C90000000000000000000000000000000000044
+:101CA0000000000000000000000000000000000034
+:101CB0000000000000000000000000000000000024
+:101CC000000000000000000000000101020002000E
+:101CD00000000000000202010102000200000000FA
+:101CE00000020000000001010000000000000000F0
+:101CF00000000000000000000000000000000000E4
+:101D000000000000000000000000000000000000D3
+:101D100000000000000000000000000000000000C3
+:101D200000000000000000000001010000000000B1
+:101D300000000000010000000000000000000000A2
+:101D40000000000000000000000000000000000093
+:101D50000000000000000000000000000000000083
+:101D60000000000000000000000000000000000073
+:101D70000000000000000000000000000000000063
+:101D80000000000000000000000000000000000053
+:101D90000000000000000000000000000000000043
+:101DA0000000000000000000000000000000000033
+:101DB0000000000000000000000000000000000023
+:101DC000000000000000000000000101010102020B
+:101DD00000000000000101010102010200000002F8
+:101DE00002020002000001010000000000000000EB
+:101DF00000000000000000000000000000000000E3
+:101E000000000000000000000000000000000000D2
+:101E100000000000000000000000000000000000C2
+:101E200000000000000000000001010001000000AF
+:101E3000020001000100010100000000000000009C
+:101E40000000000000000000000000000000000092
+:101E50000000000000000000000000000000000082
+:101E60000000000000000000000000000000000072
+:101E70000000000000000000000000000000000062
+:101E80000000000000000000000000000000000052
+:101E90000000000000000000000000000000000042
+:101EA0000000000000000000000000000000000032
+:101EB0000000000000000000000000000000000022
+:101EC000000000000000000000010101010101020A
+:101ED00000020000020101010102010200000002F3
+:101EE00002020002020001010000000000000000E8
+:101EF00000000000000000000000000000000000E2
+:101F000000000000000000000000000000000000D1
+:101F100000000000000000000000000000000000C1
+:101F200000000000000000000001010001000100AD
+:101F3000010101000100010100000000000000009B
+:101F40000000000000000000000000000000000091
+:101F50000000000000000000000000000000000081
+:101F60000000000000000000000000000000000071
+:101F70000000000000000000000000000000000061
+:101F80000000000000000000000000000000000051
+:101F90000000000000000000000000000000000041
+:101FA0000000000000000000000000000000000031
+:101FB0000000000000000000000000000000000021
+:101FC000000000000000000000010101010101010A
+:101FD00002020000010101010202010200020002EE
+:101FE00002020002020001010000000000000000E7
+:101FF00000000000000000000000000000000000E1
+:1020000000000000000000000000000000000000D0
+:1020100000000000000000000000000000000000C0
+:1020200000000000000000000001010101010101A9
+:102030000101010101000101000000000000000099
+:102040000000000000000000000000000000000090
+:102050000000000000000000000000000000000080
+:102060000000000000000000000000000000000070
+:102070000000000000000000000000000000000060
+:102080000000000000000000000000000000000050
+:102090000000000000000000000000000000000040
+:1020A0000000000000000000000000000000000030
+:1020B0000000000000000000000000000000000020
+:1020C0000000000000000000000101010101010109
+:1020D00002010000010101010202020200020202EB
+:1020E00002020002020001010000000000000000E6
+:1020F00000000000000000000000000000000000E0
+:1021000000000000000000000000000000000000CF
+:1021100000000000000000000000000000000000BF
+:1021200000000000000000000001010101010101A8
+:102130000101010101010101000000000000000097
+:10214000000000000000000000000000000000008F
+:10215000000000000000000000000000000000007F
+:10216000000000000000000000000000000000006F
+:10217000000000000000000000000100000000005E
+:10218000000000000000000000000000000000004F
+:10219000000000000000000000000000000000003F
+:1021A000000000000000000000000000000000002F
+:1021B000000000000000000000000000000000001F
+:1021C0000000000000000000000001010101010109
+:1021D00001010100010101010202020200020202EA
+:1021E00002020002020001010000000000000000E5
+:1021F00000000000000000000000000000000000DF
+:1022000000000000000000000000000000000000CE
+:1022100000000000000000000000000000000000BE
+:1022200000000000000000000001010101010101A7
+:102230000101010101010101000000000000000096
+:10224000000000000000000000000000000000008E
+:10225000000000000000000000000000000000007E
+:10226000000000000000000000000000000000006E
+:10227000000000000000000000010100000000005C
+:10228000000000000000000000000000000000004E
+:10229000000000000000000000000000000000003E
+:1022A000000000000000000000000000000000002E
+:1022B000000000000000000000000000000000001E
+:1022C0000000000000000000000001010101010108
+:1022D00001010100010101010202020200020202E9
+:1022E00002020002020101010000000000000000E3
+:1022F00000000000000000000000000000000000DE
+:1023000000000000000000000000000000000000CD
+:1023100000000000000000000000000000000000BD
+:1023200000000000000000000002010101010101A5
+:102330000101010101010101000000000000000095
+:10234000000000000000000000000000000000008D
+:10235000000000000000000000000000000000007D
+:10236000000000000000000000000000000000006D
+:10237000000000000000000000010100000000005B
+:10238000000000000000000000000000000000004D
+:10239000000000000000000000000000000000003D
+:1023A000000000000000000000000000000000002D
+:1023B000000000000000000000000000000000001D
+:1023C0000000000000000000000000000101010109
+:1023D00001010100010101010202020202020202E6
+:1023E00002010202020101010000000000000000E1
+:1023F00000000000000000000000000000000000DD
+:1024000000000000000000000000000000000000CC
+:1024100000000000000000000000000000000000BC
+:1024200000000000000000000102020101010101A2
+:102430000101010101010101000000000000000094
+:10244000000000000000000000000000000000008C
+:10245000000000000000000000000000000000007C
+:10246000000000000000000000000000000000006C
+:10247000000000000000000000010100000000005A
+:10248000000000000000000000000000000000004C
+:10249000000000000000000000000000000000003C
+:1024A000000000000000000000000000000000002C
+:1024B000000000000000000000000000000000001C
+:1024C0000000000000000000000000000100010109
+:1024D00001010100010101010202020202020202E5
+:1024E00002010201010101000000000000000000E3
+:1024F00000000000000000000000000000000000DC
+:1025000000000000000000000000000000000000CB
+:1025100000000000000000000000000000000000BB
+:1025200000000000000000000102020101010101A1
+:102530000101010101010101000000000000000093
+:10254000000000000000000000000000000000008B
+:10255000000000000000000000000000000000007B
+:10256000000000000000000000000000000000006B
+:102570000000000000000000000101000000000059
+:102580000000000000000101000000000000000049
+:10259000000000000000000000000000000000003B
+:1025A000000000000000000000000000000000002B
+:1025B000000000000000000000000000000000001B
+:1025C0000000000000000000000000000000010109
+:1025D00001010102010101010202020202020201E3
+:1025E00001010201010101000000000000000000E3
+:1025F00000000000000000000000000000000000DB
+:1026000000000000000000000000000000000000CA
+:1026100000000000000000000000000000000000BA
+:10262000000000000000000002020201010101019F
+:102630000101010101010101000000000000000092
+:10264000000000000000000000000000000000008A
+:10265000000000000000000000000000000000007A
+:10266000000000000000000000000000000000006A
+:102670000000000000000000000201000000000057
+:102680000000000000000101000000000000000048
+:10269000000000000000000000000000000000003A
+:1026A000000000000000000000000000000000002A
+:1026B000000000000000000000000000000000001A
+:1026C0000000000000000000010000000000010107
+:1026D00001010101010101000202020102020201E5
+:1026E00001010201010201000000000000000000E1
+:1026F00000000000000000000000000000000000DA
+:1027000000000000000000000000000000000000C9
+:1027100000000000000000000000000000000000B9
+:10272000000000000000000002020202020101019C
+:102730000101010101010101000000000000000091
+:102740000000000000000000000000000000000089
+:102750000000000000000000000000000000000079
+:102760000000000000000000000000000000000069
+:102770000000000000000000010201000000000055
+:102780000000000000000101000000000000000047
+:102790000000000000000000000000000000000039
+:1027A0000000000000000000000000000000000029
+:1027B0000000000000000000000000000000000019
+:1027C0000000000000000000010000000000000008
+:1027D00001010101010101000202020102010101E6
+:1027E00001010101010201000000000000000000E1
+:1027F00000000000000000000000000000000000D9
+:1028000000000000000000000000000000000000C8
+:1028100000000000000000000000000000000000B8
+:102820000000000000000000020202020202020199
+:102830000101010101010101000000000000000090
+:102840000000000000000000000000000000000088
+:102850000000000000000000000000000000000078
+:102860000000000000000000000000000000000068
+:102870000000000000000000020202000000000052
+:102880000000000001010101000000000000000044
+:102890000000000000000000000000000000000038
+:1028A0000000000000000000000000000000000028
+:1028B0000000000000000000000000000000000018
+:1028C0000000000000000000020000000000000006
+:1028D00000000001000001000202020102010101EA
+:1028E00001010101010202000000000000000000DF
+:1028F00000000000000000000000000000000000D8
+:1029000000000000000000000000000000000000C7
+:1029100000000000000000000000000000000000B7
+:102920000000000000000000020202020202020297
+:10293000020202010201010100000000000000008B
+:102940000000000000000000000000000000000087
+:102950000000000000000000000000000000000077
+:102960000000000000000000000000000000000067
+:10297000000000000000000002020201010000004F
+:102980000000000001010101000000000000000043
+:102990000000000000000000000000000000000037
+:1029A0000000000000000000000000000000000027
+:1029B0000000000000000000000000000000000017
+:1029C0000000000000000000020000000000000005
+:1029D00000000001000000000201020101010101EC
+:1029E00001010101010102000000000000000000DF
+:1029F00000000000000000000000000000000000D7
+:102A000000000000000000000000000000000000C6
+:102A100000000000000000000000000000000000B6
+:102A20000000000000000000020202020202020296
+:102A30000202020202010101000000000000000089
+:102A40000000000000000000000000000000000086
+:102A50000000000000000000000000000000000076
+:102A60000000000000000000000000000000000066
+:102A7000000000000000000002020201010000004E
+:102A80000000000001010101000000000000000042
+:102A90000000000000000000000000000000000036
+:102AA0000000000000000000000000000000000026
+:102AB0000000000000000000000000000000000016
+:102AC0000000000000000000020200000000000002
+:102AD00000000001000000000201010101010101EC
+:102AE00001010101010102000000000000000000DE
+:102AF00000000000000000000000000000000000D6
+:102B000000000000000000000000000000000000C5
+:102B100000000000000000000000000000000000B5
+:102B20000000000000000000020202020202020295
+:102B30000202020202010101000000000000000088
+:102B40000000000000000000000000000000000085
+:102B50000000000000000000000000000000000075
+:102B60000000000000000000000000000000000065
+:102B7000000000000000000002020201010100014B
+:102B8000020001020101010100000000000000003C
+:102B90000000000000000000000000000000000035
+:102BA0000000000000000000000000000000000025
+:102BB0000000000000000000000000000000000015
+:102BC0000000000000000000020200000000000001
+:102BD00000000000000000000201010101010101EC
+:102BE00001010101010102000000000000000000DD
+:102BF00000000000000000000000000000000000D5
+:102C000000000000000000000000000000000000C4
+:102C100000000000000000000000000000000000B4
+:102C20000000000000000000020202020202020294
+:102C30000202020202010202000000000000000085
+:102C40000000000000000000000000000000000084
+:102C50000000000000000000000000000000000074
+:102C60000000000000000000000000000000000064
+:102C70000000000000000000020202020101010148
+:102C8000010101010101010100000000000000003C
+:102C90000000000000000000000000000000000034
+:102CA0000000000000000000000000000000000024
+:102CB0000000000000000000000000000000000014
+:102CC00000000000000000000202020200000000FC
+:102CD00000000000000000000201010101010101EB
+:102CE00001010101010102000000000000000000DC
+:102CF00000000000000000000000000000000000D4
+:102D000000000000000000000000000000000000C3
+:102D100000000000000000000000000000000000B3
+:102D20000000000000000000020202020202020293
+:102D30000202020202020202000000000000000083
+:102D40000000000000000000000000000000000083
+:102D50000000000000000000000000000000000073
+:102D60000000000000000000000000000000000063
+:102D70000000000000000000020202020201010146
+:102D8000010101010101010100000000000000003B
+:102D90000000000000000000000000000000000033
+:102DA0000000000000000000000000000000000023
+:102DB0000000000000000000000000000000000013
+:102DC00000000000000000000202020200020000F9
+:102DD00000000000000000000201010101010101EA
+:102DE00001000101010102000000000000000000DC
+:102DF00000000000000000000000000000000000D3
+:102E000000000000000000000000000000000000C2
+:102E100000000000000000000000000000000000B2
+:102E20000000000000000000020202020202020292
+:102E30000202020202020202000000000000000082
+:102E40000000000000000000000000000000000082
+:102E50000000000000000000000000000000000072
+:102E60000000000000000000000000000000000062
+:102E70000000000000000000020202020202010144
+:102E8000010101010101010100000000000000003A
+:102E90000000000000000000000000000000000032
+:102EA0000000000000000000000000000000000022
+:102EB0000000000000000000000000000000000012
+:102EC00000000000000000000202020202020000F6
+:102ED00000000000000000000201010101010101E9
+:102EE00001000100000102000000000000000000DD
+:102EF00000000000000000000000000000000000D2
+:102F000000000000000000000000000000000000C1
+:102F100000000000000000000000000000000000B1
+:102F20000000000000000000020202020202020291
+:102F30000202020202020202000000000000000081
+:102F40000000000000000000000000000000000081
+:102F50000000000000000000000000000000000071
+:102F60000000000000000000000000000000000061
+:102F70000000000000000000020202020202020241
+:102F80000101010102010101000000000000000038
+:102F90000000000000000000000000000000000031
+:102FA0000000000000000000000000000000000021
+:102FB0000000000000000000000000000000000011
+:102FC00000000000000000000202020202020000F5
+:102FD00000000000000000000201010001010100EA
+:102FE00000000100000102000000000000000000DD
+:102FF00000000000000000000000000000000000D1
+:1030000000000000000000000000000000000000C0
+:1030100000000000000000000000000000000000B0
+:103020000000000000000000020202020202020290
+:103030000202020202020202000000000000000080
+:103040000000000000000000000000000000000080
+:103050000000000000000000000000000000000070
+:103060000000000000000000000000000000000060
+:103070000000000000000000020202020202020240
+:103080000202020102010202000000000000000032
+:103090000000000000000000000000000000000030
+:1030A0000000000000000000000000000000000020
+:1030B0000000000000000000000000000000000010
+:1030C00000000000000000000202020202020202F0
+:1030D00000000000000000020101010001000000EA
+:1030E00000000000000101000000000000000000DE
+:1030F00000000000000000000000000000000000D0
+:1031000000000000000000000000000000000000BF
+:1031100000000000000000000000000000000000AF
+:10312000000000000000000002020202020202028F
+:10313000020202020202020200000000000000007F
+:10314000000000000000000000000000000000007F
+:10315000000000000000000000000000000000006F
+:10316000000000000000000000000000000000005F
+:10317000000000000000000002020202020202023F
+:10318000020202020202020200000000000000002F
+:10319000000000000000000000000000000000002F
+:1031A000000000000000000000000000000000001F
+:1031B000000000000000000000000000000000000F
+:1031C00000000000000000000202020202020202EF
+:1031D00002020200020200020100000000000000E2
+:1031E00000000000000001000000000000000000DE
+:1031F00000000000000000000000000000000000CF
+:1032000000000000000000000000000000000000BE
+:1032100000000000000000000000000000000000AE
+:10322000000000000000000002020202020202028E
+:10323000020202020202020200000000000000007E
+:10324000000000000000000000000000000000007E
+:10325000000000000000000000000000000000006E
+:10326000000000000000000000000000000000005E
+:10327000000000000000000002020202020202023E
+:10328000020202020202020200000000000000002E
+:10329000000000000000000000000000000000002E
+:1032A000000000000000000000000000000000001E
+:1032B000000000000000000000000000000000000E
+:1032C00000000000000000000202020202020202EE
+:1032D00002020200020202020100000000000000DF
+:1032E00000000000000001000000000000000000DD
+:1032F00000000000000000000000000000000000CE
+:1033000000000000000000000000000000000000BD
+:1033100000000000000000000000000000000000AD
+:10332000000000000000000002020202020202028D
+:10333000020202020202020200000000000000007D
+:10334000000000000000000000000000000000007D
+:10335000000000000000000000000000000000006D
+:10336000000000000000000000000000000000005D
+:10337000000000000000000002020202020202023D
+:10338000020202020202020200000000000000002D
+:10339000000000000000000000000000000000002D
+:1033A000000000000000000000000000000000001D
+:1033B000000000000000000000000000000000000D
+:1033C00000000000000000000202020202020202ED
+:1033D00002020200020202020100000000000000DE
+:1033E00000010001010001000000000000000000D9
+:1033F00000000000000000000000000000000000CD
+:1034000000000000000000000000000000000000BC
+:1034100000000000000000000000000000000000AC
+:10342000000000000000000002020202020202028C
+:10343000020202020202020200000000000000007C
+:10344000000000000000000000000000000000007C
+:10345000000000000000000000000000000000006C
+:10346000000000000000000000000000000000005C
+:10347000000000000000000002020202020202023C
+:10348000020202020202020200000000000000002C
+:10349000000000000000000000000000000000002C
+:1034A000000000000000000000000000000000001C
+:1034B000000000000000000000000000000000000C
+:1034C00000000000000000000202020202020202EC
+:1034D00002020202020202020100000100000001D9
+:1034E00001010001010001000000000000000000D7
+:1034F00000000000000000000000000000000000CC
+:1035000000000000000000000000000000000000BB
+:1035100000000000000000000000000000000000AB
+:10352000000000000000000002020202020202028B
+:10353000020202020202020200000000000000007B
+:10354000000000000000000000000000000000007B
+:10355000000000000000000000000000000000006B
+:10356000000000000000000000000000000000005B
+:10357000000000000000000002020202020202023B
+:10358000020202020202020200000000000000002B
+:10359000000000000000000000000000000000002B
+:1035A000000000000000000000000000000000001B
+:1035B000000000000000000000000000000000000B
+:1035C00000000000000000000202020202020202EB
+:1035D00002020202020202020100000100010101D6
+:1035E00001010101010001010000000000000000D4
+:1035F00000000000000000000000000000000000CB
+:1036000000000000000000000000000000000000BA
+:1036100000000000000000000000000000000000AA
+:10362000000000000000000002020202020202028A
+:10363000020202020202020200000000000000007A
+:10364000000000000000000000000000000000007A
+:10365000000000000000000000000000000000006A
+:10366000000000000000000000000000000000005A
+:10367000000000000000000002020202020202023A
+:10368000020202020202020200000000000000002A
+:10369000000000000000000000000000000000002A
+:1036A000000000000000000000000000000000001A
+:1036B000000000000000000000000000000000000A
+:1036C00000000000000000000202020202020202EA
+:1036D00002020202020202020101010101010101D2
+:1036E00001010101010101010000000000000000D2
+:1036F00000000000000000000000000000000000CA
+:1037000000000000000000000000000000000000B9
+:1037100000000000000000000000000000000000A9
+:103720000000000000000000020101010101010190
+:10373000010101010102020200000000000000007E
+:103740000000000000000000000000000000000079
+:103750000000000000000000000000000000000069
+:103760000000000000000000000000000000000059
+:103770000000000000000000020202020202020239
+:103780000202020202020202000000000000000029
+:103790000000000000000000000000000000000029
+:1037A0000000000000000000000000000000000019
+:1037B0000000000000000000000000000000000009
+:1037C00000000000000000000202020202020202E9
+:1037D00002020202020202020101010101010101D1
+:1037E00001010101010101010000000000000000D1
+:1037F00000000000000000000000000000000000C9
+:1038000000000000000000000000000000000000B8
+:1038100000000000000000000000000000000000A8
+:103820000000000000000000010101010101010190
+:103830000101010101010101000000000000000080
+:103840000000000000000000000000000000000078
+:103850000000000000000000000000000000000068
+:103860000000000000000000000000000000000058
+:10387000000000000000000002010101010101013F
+:10388000010101010102020200000000000000002D
+:103890000000000000000000000000000000000028
+:1038A0000000000000000000000000000000000018
+:1038B0000000000000000000000000000000000008
+:1038C00000000000000000000202020202020202E8
+:1038D00002020202020202020101010101010101D0
+:1038E00001010101010101010000000000000000D0
+:1038F00000000000000000000000000000000000C8
+:1039000000000000000000000000000000000000B7
+:1039100000000000000000000000000000000000A7
+:10392000000000000000000001010101010101018F
+:10393000010101010101010100000000000000007F
+:103940000000000000000000000000000000000077
+:103950000000000000000000000000000000000067
+:103960000000000000000000000000000000000057
+:103970000000000000000000020202020202020237
+:103980000202020202020202000000000000000027
+:103990000000000000000000000000000000000027
+:1039A0000000000000000000000000000000000017
+:1039B0000000000000000000000000000000000007
+:1039C00000000000000000000202020202020202E7
+:1039D00002020202020202020101010101010101CF
+:1039E00001010101010101010000000000000000CF
+:1039F00000000000000000000000000000000000C7
+:103A000000000000000000000000000000000000B6
+:103A100000000000000000000000000000000000A6
+:103A2000000000000000000001010101010101018E
+:103A3000010101010101010100000000000000007E
+:103A40000000000000000000000000000000000076
+:103A50000000000000000000000000000000000066
+:103A60000000000000000000000000000000000056
+:103A7000000000000000000001010101010101013E
+:103A8000010101010101010100000000000000002E
+:103A90000000000000000000000000000000000026
+:103AA0000000000000000000000000000000000016
+:103AB0000000000000000000000000000000000006
+:103AC00000000000000000000202020202020202E6
+:103AD00002020202020202020101010101010101CE
+:103AE00001010101010101010000000000000000CE
+:103AF00000000000000000000000000000000000C6
+:103B000000000000000000000000000000000000B5
+:103B100000000000000000000000000000000000A5
+:103B2000000000000000000001010101010101018D
+:103B3000010101010101010100000000000000007D
+:103B40000000000000000000000000000000000075
+:103B50000000000000000000000000000000000065
+:103B60000000000000000000000000000000000055
+:103B7000000000000000000001010101010101013D
+:103B8000010101010101010100000000000000002D
+:103B90000000000000000000000000000000000025
+:103BA0000000000000000000000000000000000015
+:103BB0000000000000000000000000000000000005
+:103BC00000000000000000000202020202020202E5
+:103BD00002020202020202000101010101010101CF
+:103BE00001010101010101010000000000000000CD
+:103BF00000000000000000000000000000000000C5
+:103C000000000000000000000000000000000000B4
+:103C100000000000000000000000000000000000A4
+:103C2000000000000000000001010101010101018C
+:103C3000010101010101010100000000000000007C
+:103C40000000000000000000000000000000000074
+:103C50000000000000000000000000000000000064
+:103C60000000000000000000000000000000000054
+:103C7000000000000000000001010101010101013C
+:103C8000010101010101010100000000000000002C
+:103C90000000000000000000000000000000000024
+:103CA0000000000000000000000000000000000014
+:103CB0000000000000000000000000000000000004
+:103CC00000000000000000000000020202000200EC
+:103CD00000000000000002000101010101010101DA
+:103CE00001010101010101010000000000000000CC
+:103CF00000000000000000000000000000000000C4
+:103D000000000000000000000000000000000000B3
+:103D100000000000000000000000000000000000A3
+:103D2000000000000000000001010101010101018B
+:103D3000010101010101010100000000000000007B
+:103D40000000000000000000000000000000000073
+:103D50000000000000000000000000000000000063
+:103D60000000000000000000000000000000000053
+:103D7000000000000000000001010101010101013B
+:103D8000010101010101010100000000000000002B
+:103D90000000000000000000000000000000000023
+:103DA0000000000000000000000000000000000013
+:103DB0000000000000000000000000000000000003
+:103DC00000000000000000000000000000000200F1
+:103DD00000000000000000000101010101010101DB
+:103DE00001010101010101010000000000000000CB
+:103DF00000000000000000000000000000000000C3
+:103E000000000000000000000000000000000000B2
+:103E100000000000000000000000000000000000A2
+:103E20000000000000000000000000000000000092
+:103E30000000000000000000000000000000000082
+:103E40000000000000000000000000000000000072
+:103E50000000000000000000000000000000000062
+:103E60000000000000000000000000000000000052
+:103E70000000000000000000020202020202020232
+:103E80000202020202020202000000000000000022
+:103E90000000000000000000000000000000000022
+:103EA0000000000000000000000000000000000012
+:103EB0000000000000000000000000000000000002
+:103EC00000000000000000000000000000000000F2
+:103ED00000000000000000000000000000000000E2
+:103EE00000000000000000000000000000000000D2
+:103EF00000000000000000000000000000000000C2
+:103F000000000000000000000000000000000000B1
+:103F100000000000000000000000000000000000A1
+:103F20000000000000000000000000000000000091
+:103F30000000000000000000000000000000000081
+:103F40000000000000000000000000000000000071
+:103F50000000000000000000000000000000000061
+:103F60000000000000000000000000000000000051
+:103F70000000000000000000000000000000000041
+:103F80000000000000000000000000000000000031
+:103F90000000000000000000000000000000000021
+:103FA0000000000000000000000000000000000011
+:103FB0000000000000000000000000000000000001
+:103FC00000000000000000000000000000000000F1
+:103FD00000000000000000001E00000000000000C3
+:103FE00001010000000002020200000202000101C3
+:103FF00000000000000000000000000000000000C1
+:1040000000000000000000000000000000000000B0
+:1040100000000000000000000000000000000000A0
+:104020000000000000000000000000000000000090
+:104030000000000000000000000000000000000080
+:104040000000000000000000000000000000000070
+:104050000000000000000000000000000000000060
+:104060000000000000000000000000000000000050
+:104070000000000000000000000000000000000040
+:104080000000000000000000000000000000000030
+:104090000000000000000000000000000000000020
+:1040A0000000000000000000000000000000000010
+:1040B0000000000000000000000000000000000000
+:1040C00000000000000000000000000000000000F0
+:1040D00000010101020201020202020202020200C8
+:1040E00001010102020002020202020202000101B9
+:1040F00000000000000000000000000000000000C0
+:1041000000000000000000000000000000000000AF
+:10411000000000000000000000000000000000009F
+:10412000000000000000000000000000000000008F
+:10413000000000000000000000000000000000007F
+:10414000000000000000000000000000000000006F
+:10415000000000000000000000000000000000005F
+:10416000000000000000000000000000000000004F
+:10417000000000000000000000000000000000003F
+:10418000000000000000000000000000000000002F
+:10419000000000000000000000000000000000001F
+:1041A000000000000000000000000000000000000F
+:1041B00000000000000000000000000000000000FF
+:1041C00000000000000000000000000000000000EF
+:1041D00000010101010101010201010202020100CD
+:1041E00002020202020002020202020202000201B4
+:1041F00000000000000000000000000000000000BF
+:1042000000000000000000000000000000000000AE
+:10421000000000000000000000000000000000009E
+:10422000000000000000000000000000000000008E
+:10423000000000000000000000000000000000017D
+:10424000000000000000000000000000000000006E
+:10425000000000000000000000000000000000005E
+:10426000000000000000000000000000000000004E
+:10427000000000000000000000000000000000003E
+:10428000010000000000000000000000000000002D
+:10429000000000000000000000000000000000001E
+:1042A000000000000000000000000000000000000E
+:1042B00000000000000000000000000000000000FE
+:1042C00000000000000000000000000000000000EE
+:1042D00000010101010101010101010101010100D0
+:1042E00002020202020002020202020202010201B2
+:1042F00000000000000000000000000000000000BE
+:1043000000000000000000000000000000000000AD
+:10431000000000000000000000000000000000009D
+:10432000000000000000000000000000000000008D
+:10433000010000000000000000000000000000017B
+:10434000000000000000000000000000000000006D
+:10435000000000000000000000000000000000005D
+:10436000000000000000000000000000000000004D
+:10437000000000000000000000000000000000003D
+:10438000010100000000000000000000000000002B
+:10439000000000000000000000000000000000001D
+:1043A000000000000000000000000000000000000D
+:1043B00000000000000000000000000000000000FD
+:1043C00000000000000000000000000000000000ED
+:1043D00000010101010101010101010101010100CF
+:1043E00002020202020002020202020202010201B1
+:1043F00000000000000000000000000000000000BD
+:1044000000000000000000000000000000000000AC
+:10441000000000000000000000000000000000009C
+:10442000000000000000000000000000000000008C
+:10443000010000000000000000000000000000017A
+:10444000000000000000000000000000000000006C
+:10445000000000000000000000000000000000005C
+:10446000000000000000000000000000000000004C
+:10447000000000000000000000000000000000003C
+:104480000101000000000000000000000000000129
+:10449000000000000000000000000000000000001C
+:1044A000000000000000000000000000000000000C
+:1044B00000000000000000000000000000000000FC
+:1044C00000000000000000000000000000000000EC
+:1044D00000000101010101010101010101010100CF
+:1044E00002020202020002020202020202010201B0
+:1044F00000000000000000000000000000000000BC
+:1045000000000000000000000000000000000000AB
+:10451000000000000000000000000000000000009B
+:10452000000000000000000000000000000000008B
+:104530000100000000000000000000000000010178
+:10454000000000000000000000000000000000006B
+:10455000000000000000000000000000000000005B
+:10456000000000000000000000000000000000004B
+:10457000000000000000000000000000000000003B
+:104580000201000000000000000000000000000127
+:10459000000000000000000000000000000000001B
+:1045A000000000000000000000000000000000000B
+:1045B00000000000000000000000000000000000FB
+:1045C00000000000000000000000000000000000EB
+:1045D00001000001010101010101010101010100CE
+:1045E00002020202020202020202020101010201AF
+:1045F00000000000000000000000000000000000BB
+:1046000000000000000000000000000000000000AA
+:10461000000000000000000000000000000000009A
+:10462000000000000000000000000000000000008A
+:104630000200000000000000000000000000010176
+:10464000000000000000000000000000000000006A
+:10465000000000000000000000000000000000005A
+:10466000000000000000000000000000000000004A
+:10467000000000000000000000000000000000003A
+:104680000201000000000000000000000000000126
+:10469000000000000000000000000000000000001A
+:1046A000000000000000000000000000000000000A
+:1046B00000000000000000000000000000000000FA
+:1046C00000000000000000000000000000000000EA
+:1046D00001000000010100010101010101010100CF
+:1046E00002020202020201010101010101010100B5
+:1046F00000000000000000000000000000000000BA
+:1047000000000000000000000000000000000000A9
+:104710000000000000000000000000000000000099
+:104720000000000000000000000000000000000089
+:104730000200000000000000000000000000010175
+:104740000000000000000000000000000000000069
+:104750000000000000000000000000000000000059
+:104760000000000000000000000000000000000049
+:104770000000000000000000000000000000000039
+:104780000202000000000000000000000000010123
+:104790000000000000000000000000000000000019
+:1047A0000000000000000000000000000000000009
+:1047B00000000000000000000000000000000000F9
+:1047C00000000000000000000000000000000000E9
+:1047D00002000000000000010100000101010100D1
+:1047E00002020202020201010101010101010100B4
+:1047F00000000000000000000000000000000000B9
+:1048000000000000000000000000000000000000A8
+:104810000000000000000000000000000000000098
+:104820000000000000000000000000000000000088
+:104830000200000000000000000000000000010174
+:104840000000000000000000000000000000000068
+:104850000000000000000000000000000000000058
+:104860000000000000000000000000000000000048
+:104870000000000000000000000000000000000038
+:104880000202000100000000000001000000010120
+:104890000000000000000000000000000000000018
+:1048A0000000000000000000000000000000000008
+:1048B00000000000000000000000000000000000F8
+:1048C00000000000000000000000000000000000E8
+:1048D00002000000000000000100000101010100D1
+:1048E00002020201010201010101010101020100B4
+:1048F00000000000000000000000000000000000B8
+:1049000000000000000000000000000000000000A7
+:104910000000000000000000000000000000000097
+:104920000000000000000000000000000000000087
+:104930000201000000000100000000000000010171
+:104940000000000000000000000000000000000067
+:104950000000000000000000000000000000000057
+:104960000000000000000000000000000000000047
+:104970000000000000000000000000000000000037
+:104980000202010100010101010001000100010119
+:104990000000000000000000000000000000000017
+:1049A0000000000000000000000000000000000007
+:1049B00000000000000000000000000000000000F7
+:1049C00000000000000000000000000000000000E7
+:1049D00002000000000000000000000100010000D3
+:1049E00002020201010201010101010101020100B3
+:1049F00000000000000000000000000000000000B7
+:104A000000000000000000000000000000000000A6
+:104A10000000000000000000000000000000000096
+:104A20000000000000000000000000000000000086
+:104A3000020100000000010000000000000101016F
+:104A40000000000000000000000000000000000066
+:104A50000000000000000000000000000000000056
+:104A60000000000000000000000000000000000046
+:104A70000000000000000000000000000000000036
+:104A80000202010101010101010001010101010115
+:104A90000000000000000000000000000000000016
+:104AA0000000000000000000000000000000000006
+:104AB00000000000000000000000000000000000F6
+:104AC00000000000000000000000000000000000E6
+:104AD00002000000000000000000000000010001D2
+:104AE00002020101010101010101010101020100B4
+:104AF00000000000000000000000000000000000B6
+:104B000000000000000000000000000000000000A5
+:104B10000000000000000000000000000000000095
+:104B20000000000000000000000000000000000085
+:104B3000020200000000010000000100000101016C
+:104B40000000000000000000000000000000000065
+:104B50000000000000000000000000000000000055
+:104B60000000000000000000000000000000000045
+:104B70000000000000000000000000000000000035
+:104B80000202020201010101010101010101010111
+:104B90000000000000000000000000000000000015
+:104BA0000000000000000000000000000000000005
+:104BB00000000000000000000000000000000000F5
+:104BC00000000000000000000000000000000000E5
+:104BD00002000000000000000000000000000001D2
+:104BE00002010101010101010101010101020100B4
+:104BF00000000000000000000000000000000000B5
+:104C000000000000000000000000000000000000A4
+:104C10000000000000000000000000000000000094
+:104C20000000000000000000000000000000000084
+:104C30000202010100010100000001000001010168
+:104C40000000000000000000000000000000000064
+:104C50000000000000000000000000000000000054
+:104C60000000000000000000000000000000000044
+:104C70000000000000000000000000000000000034
+:104C8000020202020202010102010201010101010C
+:104C90000000000000000000000000000000000014
+:104CA0000000000000000000000000000000000004
+:104CB00000000000000000000000000000000000F4
+:104CC00000000000000000000000000000000000E4
+:104CD00002000000000000000000000000000001D1
+:104CE00002010101010101010101010101010100B4
+:104CF00000000000000000000000000000000000B4
+:104D000000000000000000000000000000000000A3
+:104D10000000000000000000000000000000000093
+:104D20000000000000000000000000000000000083
+:104D30000202020100010100010101000101010262
+:104D40000000000000000000000000000000000063
+:104D50000000000000000000000000000000000053
+:104D60000000000000000000000000000000000043
+:104D70000000000000000000000000000000000033
+:104D80000202020202020102020102010201010109
+:104D90000000000000000000000000000000000013
+:104DA0000000000000000000000000000000000003
+:104DB00000000000000000000000000000000000F3
+:104DC00000000000000000000000000000000000E3
+:104DD00002020000000000000000000000000001CE
+:104DE00001010101010101010101010101010100B4
+:104DF00000000000000000000000000000000000B3
+:104E000000000000000000000000000000000000A2
+:104E10000000000000000000000000000000000092
+:104E20000000000000000000000000000000000082
+:104E3000020202020102020001010201010102025A
+:104E40000000000000000000000000000000000062
+:104E50000000000000000000000000000000000052
+:104E60000000000000000000000000000000000042
+:104E70000000000000000000000000000000000032
+:104E80000202020202020202020102010201010206
+:104E90000000000000000000000000000000000012
+:104EA0000000000000000000000000000000000002
+:104EB00000000000000000000000000000000000F2
+:104EC00000000000000000000000000000000000E2
+:104ED00002020200000000000000000000000001CB
+:104EE00001010101010100000000000000010000BB
+:104EF00000000000000000000000000000000000B2
+:104F000000000000000000000000000000000000A1
+:104F10000000000000000000000000000000000091
+:104F20000000000000000000000000000000000081
+:104F30000202020202020201020102010101020256
+:104F40000000000000000000000000000000000061
+:104F50000000000000000000000000000000000051
+:104F60000000000000000000000000000000000041
+:104F70000000000000000000000000000000000031
+:104F80000202020202020202020202020201020202
+:104F90000000000000000000000000000000000011
+:104FA0000000000000000000000000000000000001
+:104FB00000000000000000000000000000000000F1
+:104FC00000000000000000000000000000000000E1
+:104FD00002020202000002000000000000000001C6
+:104FE00001010100000100000000000000010000BC
+:104FF00000000000000000000000000000000000B1
+:1050000000000000000000000000000000000000A0
+:105010000000000000000000000000000000000090
+:105020000000000000000000000000000000000080
+:105030000202020202020201020202010202020252
+:105040000000000000000000000000000000000060
+:105050000000000000000000000000000000000050
+:105060000000000000000000000000000000000040
+:105070000000000000000000000000000000000030
+:105080000202020202020202020202020202020200
+:105090000000000000000000000000000000000010
+:1050A0000000000000000000000000000000000000
+:1050B00000000000000000000000000000000000F0
+:1050C00000000000000000000000000000000000E0
+:1050D00002020202020202000002020000000001BD
+:1050E00001010000000000000000000000010000BD
+:1050F00000000000000000000000000000000000B0
+:10510000000000000000000000000000000000009F
+:10511000000000000000000000000000000000008F
+:10512000000000000000000000000000000000007F
+:10513000020202020202020202020202020202024F
+:10514000000000000000000000000000000000005F
+:10515000000000000000000000000000000000004F
+:10516000000000000000000000000000000000003F
+:10517000000000000000000000000000000000002F
+:1051800002020202020202020202020202020202FF
+:10519000000000000000000000000000000000000F
+:1051A00000000000000000000000000000000000FF
+:1051B00000000000000000000000000000000000EF
+:1051C00000000000000000000000000000000000DF
+:1051D00002020202020202020002020000000002B9
+:1051E00001000000000000000000000000000000BE
+:1051F00000000000000000000000000000000000AF
+:10520000000000000000000000000000000000009E
+:10521000000000000000000000000000000000008E
+:10522000000000000000000000000000000000007E
+:10523000020202020202020202020202020202024E
+:10524000000000000000000000000000000000005E
+:10525000000000000000000000000000000000004E
+:10526000000000000000000000000000000000003E
+:10527000000000000000000000000000000000002E
+:105280000202020202020202010201020102020201
+:10529000000000000000000000000000000000000E
+:1052A00000000000000000000000000000000000FE
+:1052B00000000000000000000000000000000000EE
+:1052C00000000000000000000000000000000000DE
+:1052D00002020202020202020202020002000202B2
+:1052E00000000000000000000000000000000000BE
+:1052F00000000000000000000000000000000000AE
+:10530000000000000000000000000000000000009D
+:10531000000000000000000000000000000000008D
+:10532000000000000000000000000000000000007D
+:10533000020202020202020202020002020202024F
+:10534000000000000000000000000000000000005D
+:10535000000000000000000000000000000000004D
+:10536000000000000000000000000000000000003D
+:10537000000000000000000000000000000000002D
+:1053800002020202020202020202020202020202FD
+:10539000000000000000000000000000000000000D
+:1053A00000000000000000000000000000000000FD
+:1053B00000000000000000000000000000000000ED
+:1053C00000000000000000000000000000000000DD
+:1053D00002020202020202020202020202000202AF
+:1053E00000000000000001010101010101000100B5
+:1053F00000000000000000000000000000000000AD
+:10540000000000000000000000000000000000009C
+:10541000000000000000000000000000000000008C
+:10542000000000000000000000000000000000007C
+:105430000202020202020202000200020002020252
+:10544000000000000000000000000000000000005C
+:10545000000000000000000000000000000000004C
+:10546000000000000000000000000000000000003C
+:10547000000000000000000000000000000000002C
+:105480000201020101010201000200020002020207
+:10549000000000000000000000000000000000000C
+:1054A00000000000000000000000000000000000FC
+:1054B00000000000000000000000000000000000EC
+:1054C00000000000000000000000000000000000DC
+:1054D00002020202020202020202020202020202AC
+:1054E00000000001010001010101010101000101B1
+:1054F00000000000000000000000000000000000AC
+:10550000000000000000000000000000000000009B
+:10551000000000000000000000000000000000008B
+:10552000000000000000000000000000000000007B
+:105530000202020202000202000000000002020257
+:10554000000000000000000000000000000000005B
+:10555000000000000000000000000000000000004B
+:10556000000000000000000000000000000000003B
+:10557000000000000000000000000000000000002B
+:105580000102010202020202000100010002020205
+:10559000000000000000000000000000000000000B
+:1055A00000000000000000000000000000000000FB
+:1055B00000000000000000000000000000000000EB
+:1055C00000000000000000000000000000000000DB
+:1055D00002020202020202020202020202020202AB
+:1055E00000000101010101010101010101000101AE
+:1055F00000000000000000000000000000000000AB
+:10560000000000000000000000000000000000009A
+:10561000000000000000000000000000000000008A
+:10562000000000000000000000000000000000007A
+:10563000010101010101010101010101010101015A
+:10564000000000000000000000000000000000005A
+:10565000000000000000000000000000000000004A
+:10566000000000000000000000000000000000003A
+:10567000000000000000000000000000000000002A
+:10568000020002000000010000020002000101010E
+:10569000000000000000000000000000000000000A
+:1056A00000000000000000000000000000000000FA
+:1056B00000000000000000000000000000000000EA
+:1056C00000000000000000000000000000000000DA
+:1056D00002020202020202020202020202020202AA
+:1056E00000010101010101010101010101010101AB
+:1056F00000000000000000000000000000000000AA
+:105700000000000000000000000000000000000099
+:105710000000000000000000000000000000000089
+:105720000000000000000000000000000000000079
+:105730000101010101010101010101010101010159
+:105740000000000000000000000000000000000059
+:105750000000000000000000000000000000000049
+:105760000000000000000000000000000000000039
+:105770000000000000000000000000000000000029
+:105780000000000000000200000000000002020211
+:105790000000000000000000000000000000000009
+:1057A00000000000000000000000000000000000F9
+:1057B00000000000000000000000000000000000E9
+:1057C00000000000000000000000000000000000D9
+:1057D00002020202020202020202020202020202A9
+:1057E00001010101010101010101010101010101A9
+:1057F00000000000000000000000000000000000A9
+:105800000000000000000000000000000000000098
+:105810000000000000000000000000000000000088
+:105820000000000000000000000000000000000078
+:105830000101010101010101010101010101010158
+:105840000000000000000000000000000000000058
+:105850000000000000000000000000000000000048
+:105860000000000000000000000000000000000038
+:105870000000000000000000000000000000000028
+:105880000000000000000000000000000000000018
+:105890000000000000000000000000000000000008
+:1058A00000000000000000000000000000000000F8
+:1058B00000000000000000000000000000000000E8
+:1058C00000000000000000000000000000000000D8
+:1058D00000020202020202020202020202020200AC
+:1058E00001010101010101010101010101010101A8
+:1058F00000000000000000000000000000000000A8
+:105900000000000000000000000000000000000097
+:105910000000000000000000000000000000000087
+:105920000000000000000000000000000000000077
+:105930000101010101010101010101010101010157
+:105940000000000000000000000000000000000057
+:105950000000000000000000000000000000000047
+:105960000000000000000000000000000000000037
+:105970000000000000000000000000000000000027
+:105980000101010101010101010101010101010107
+:105990000000000000000000000000000000000007
+:1059A00000000000000000000000000000000000F7
+:1059B00000000000000000000000000000000000E7
+:1059C00000000000000000000000000000000000D7
+:1059D00000020202020202020200000202020200AF
+:1059E00001010101010101010101010101010101A7
+:1059F00000000000000000000000000000000000A7
+:105A00000000000000000000000000000000000096
+:105A10000000000000000000000000000000000086
+:105A20000000000000000000000000000000000076
+:105A30000101010101010101010101010101010156
+:105A40000000000000000000000000000000000056
+:105A50000000000000000000000000000000000046
+:105A60000000000000000000000000000000000036
+:105A70000000000000000000000000000000000026
+:105A80000101010101010101010101010101010106
+:105A90000000000000000000000000000000000006
+:105AA00000000000000000000000000000000000F6
+:105AB00000000000000000000000000000000000E6
+:105AC00000000000000000000000000000000000D6
+:105AD00000020202020200020200000200020000B4
+:105AE00001010101010101010101010101010101A6
+:105AF00000000000000000000000000000000000A6
+:105B00000000000000000000000000000000000095
+:105B10000000000000000000000000000000000085
+:105B20000000000000000000000000000000000075
+:105B30000101010101010101010101010101010155
+:105B40000000000000000000000000000000000055
+:105B50000000000000000000000000000000000045
+:105B60000000000000000000000000000000000035
+:105B70000000000000000000000000000000000025
+:105B80000101010101010101010101010101010105
+:105B90000000000000000000000000000000000005
+:105BA00000000000000000000000000000000000F5
+:105BB00000000000000000000000000000000000E5
+:105BC00000000000000000000000000000000000D5
+:105BD00000020202020200020200000200020000B3
+:105BE00001010101010101010101010101010101A5
+:105BF00000000000000000000000000000000000A5
+:105C00000000000000000000000000000000000094
+:105C10000000000000000000000000000000000084
+:105C20000000000000000000000000000000000074
+:105C30000202020202020202020202020202020244
+:105C40000000000000000000000000000000000054
+:105C50000000000000000000000000000000000044
+:105C60000000000000000000000000000000000034
+:105C70000000000000000000000000000000000024
+:105C800002020202020202020202020202020202F4
+:105C90000000000000000000000000000000000004
+:105CA00000000000000000000000000000000000F4
+:105CB00000000000000000000000000000000000E4
+:105CC00000000000000000000000000000000000D4
+:105CD00000000202020000000000000000020000BC
+:105CE00000000000000000000000000000000000B4
+:105CF00000000000000000000000000000000000A4
+:105D00000000000000000000000000000000000093
+:105D10000000000000000000000000000000000083
+:105D20000000000000000000000000000000000073
+:105D30000000000000000000000000000000000063
+:105D40000000000000000000000000000000000053
+:105D50000000000000000000000000000000000043
+:105D60000000000000000000000000000000000033
+:105D70000000000000000000000000000000000023
+:105D80000000000000000000000000000000000013
+:105D90000000000000000000000000000000000003
+:105DA00000000000000000000000000000000000F3
+:105DB00000000000000000000000000000000000E3
+:105DC00000000000000000000000000000000000D3
+:105DD00000000000000000000000000000000000C3
+:105DE0001E00000000000000000001010000000093
+:105DF000000100010101010100000000000000009D
+:105E00000000000000000000000000000000000092
+:105E10000000000000000000000000000000000082
+:105E20000000000000000000000000000000000072
+:105E30000000000000000000000000000000000161
+:105E40000000000000000001000000000000000051
+:105E50000000000000000000000000000000000042
+:105E60000000000000000000000000000000000032
+:105E70000000000000000000000000000000000022
+:105E80000000000000000000000000000000000012
+:105E90000000000000000000000000000000000002
+:105EA00000000000000000000000000000000000F2
+:105EB00000000000000000000000000000000000E2
+:105EC00000000000000000000000000000000000D2
+:105ED00000000000000000000001010101010101BB
+:105EE00001010101010101000101010100000101A5
+:105EF000010100010101010100000000000000009B
+:105F00000000000000000000000000000000000091
+:105F10000000000000000000000000000000000081
+:105F20000000000000000000000000000000000071
+:105F3000000000000000000001000000000000015F
+:105F4000000101010000000100000000000000004D
+:105F50000000000000000000000000000000000041
+:105F60000000000000000000000000000000000031
+:105F70000000000000000000000000000000000021
+:105F80000000000000000000000000000000000011
+:105F90000000000000000000000000000000000001
+:105FA00000000000000000000000000000000000F1
+:105FB00000000000000000000000000000000000E1
+:105FC00000000000000000000000000000000000D1
+:105FD00000000000000000000001010101010101BA
+:105FE00001010101010101000201010100010101A2
+:105FF0000101010101010101000000000000000099
+:106000000000000000000000000000000000000090
+:106010000000000000000000000000000000000080
+:106020000000000000000000000000000000000070
+:10603000000000000000000001010000000000015D
+:10604000010101010000000100000000000000004B
+:106050000000000000000000000000000000000040
+:106060000000000000000000000000000000000030
+:106070000000000000000000000000000000000020
+:106080000000000000000000000000000000000010
+:106090000000000000000000000000000000000000
+:1060A00000000000000000000000000000000000F0
+:1060B00000000000000000000000000000000000E0
+:1060C00000000000000000000000000000000000D0
+:1060D00000000000000000000001010101010101B9
+:1060E00001010101010101000201010200010101A0
+:1060F0000101010101010101000000000000000098
+:10610000000000000000000000000000000000008F
+:10611000000000000000000000000000000000007F
+:10612000000000000000000000000000000000006F
+:10613000000000000000000001010100000000015B
+:106140000101010101010101000000000000000047
+:10615000000000000000000000000000000000003F
+:10616000000000000000000000000000000000002F
+:10617000000000000000000000000000000000001F
+:10618000000000000000000000010000000000000E
+:1061900000000000000000000000000000000000FF
+:1061A00000000000000000000000000000000000EF
+:1061B00000000000000000000000000000000000DF
+:1061C00000000000000000000000000000000000CF
+:1061D00000000000000000000001010101010101B8
+:1061E000010101010101010002010102000101019F
+:1061F0000101010101010101000000000000000097
+:10620000000000000000000000000000000000008E
+:10621000000000000000000000000000000000007E
+:10622000000000000000000000000000000000006E
+:106230000000000000000000020101000000000159
+:106240000101010101010101000000000000000046
+:10625000000000000000000000000000000000003E
+:10626000000000000000000000000000000000002E
+:10627000000000000000000000000000000000001E
+:10628000000000000000000000010100000000000C
+:1062900000000000000000000000000000000000FE
+:1062A00000000000000000000000000000000000EE
+:1062B00000000000000000000000000000000000DE
+:1062C00000000000000000000000000000000000CE
+:1062D00000000000000000000001010101010101B7
+:1062E000010101010101010002020202000101019C
+:1062F0000101010101010101000000000000000096
+:10630000000000000000000000000000000000008D
+:10631000000000000000000000000000000000007D
+:10632000000000000000000000000000000000006D
+:106330000000000000000000020101000000000158
+:106340000101010101010101000000000000000045
+:10635000000000000000000000000000000000003D
+:10636000000000000000000000000000000000002D
+:10637000000000000000000000000000000000001D
+:106380000000000000000000010101000000000109
+:1063900000000000000000000000000000000000FD
+:1063A00000000000000000000000000000000000ED
+:1063B00000000000000000000000000000000000DD
+:1063C00000000000000000000000000000000000CD
+:1063D00000000000000000000100010101010101B6
+:1063E0000101010101010100020202020201020198
+:1063F0000101010101010101000000000000000095
+:10640000000000000000000000000000000000008C
+:10641000000000000000000000000000000000007C
+:10642000000000000000000000000000000000006C
+:106430000000000000000000020101000000000157
+:106440000101010101010101000000000000000044
+:10645000000000000000000000000000000000003C
+:10646000000000000000000000000000000000002C
+:10647000000000000000000000000000000000001C
+:106480000000000000000000020101000000000107
+:1064900000010100000000000000000000000000FA
+:1064A00000000000000000000000000000000000EC
+:1064B00000000000000000000000000000000000DC
+:1064C00000000000000000000000000000000000CC
+:1064D00000000000000000000100010000010101B7
+:1064E0000101010101010100020202020202020196
+:1064F0000101010102010100000000000000000094
+:10650000000000000000000000000000000000008B
+:10651000000000000000000000000000000000007B
+:10652000000000000000000000000000000000006B
+:106530000000000000000000020201000000000155
+:106540000101010101010101000000000000000043
+:10655000000000000000000000000000000000003B
+:10656000000000000000000000000000000000002B
+:10657000000000000000000000000000000000001B
+:106580000000000000000000020201000000000105
+:1065900000010101000000000000000000000000F8
+:1065A00000000000000000000000000000000000EB
+:1065B00000000000000000000000000000000000DB
+:1065C00000000000000000000000000000000000CB
+:1065D00000000000000000000200000000000101B7
+:1065E0000101010101010100020202020202020195
+:1065F0000101010102020100000000000000000092
+:10660000000000000000000000000000000000008A
+:10661000000000000000000000000000000000007A
+:10662000000000000000000000000000000000006A
+:106630000000000000000000020201010000010152
+:106640000101010101010101000000000000000042
+:10665000000000000000000000000000000000003A
+:10666000000000000000000000000000000000002A
+:10667000000000000000000000000000000000001A
+:106680000000000000000000020201010000000103
+:1066900000010101000101000000000000000000F5
+:1066A00000000000000000000000000000000000EA
+:1066B00000000000000000000000000000000000DA
+:1066C00000000000000000000000000000000000CA
+:1066D00000000000000000000200000000000001B7
+:1066E0000101010101010100020202020202020194
+:1066F0000101010102020100000000000000000091
+:106700000000000000000000000000000000000089
+:106710000000000000000000000000000000000079
+:106720000000000000000000000000000000000069
+:106730000000000000000000020202010000010150
+:106740000101010101010101000000000000000041
+:106750000000000000000000000000000000000039
+:106760000000000000000000000000000000000029
+:106770000000000000000000000000000000000019
+:106780000000000000000000020202010000000101
+:1067900001010101000101010000000000000000F2
+:1067A00000000000000000000000000000000000E9
+:1067B00000000000000000000000000000000000D9
+:1067C00000000000000000000000000000000000C9
+:1067D00000000000000000000200000000000001B6
+:1067E0000101010101000000020202020202020195
+:1067F000010101010202020000000000000000008F
+:106800000000000000000000000000000000000088
+:106810000000000000000000000000000000000078
+:106820000000000000000000000000000000000068
+:10683000000000000000000002020201010001024D
+:106840000101010101010101000000000000000040
+:106850000000000000000000000000000000000038
+:106860000000000000000000000000000000000028
+:106870000000000000000000000000000000000018
+:1068800000000000000000000202020200010001FE
+:1068900001010101000101010000000000000000F1
+:1068A00000000000000000000000000000000000E8
+:1068B00000000000000000000000000000000000D8
+:1068C00000000000000000000000000000000000C8
+:1068D00000000000000000000200000000000000B6
+:1068E0000001000000000001020202010102020199
+:1068F000010101020202020000000000000000008D
+:106900000000000000000000000000000000000087
+:106910000000000000000000000000000000000077
+:106920000000000000000000000000000000000067
+:10693000000000000000000002020202010101024A
+:10694000020202020101010200000000000000003A
+:106950000000000000000000000000000000000037
+:106960000000000000000000000000000000000027
+:106970000000000000000000000000000000000017
+:1069800000000000000000000202020200010001FD
+:1069900001010101010101010000000000000000EF
+:1069A00000000000000000000000000000000000E7
+:1069B00000000000000000000000000000000000D7
+:1069C00000000000000000000000000000000000C7
+:1069D00000000000000000000200000000000000B5
+:1069E000000000000000000102020201010201019A
+:1069F000010101020102020000000000000000008D
+:106A00000000000000000000000000000000000086
+:106A10000000000000000000000000000000000076
+:106A20000000000000000000000000000000000066
+:106A30000000000000000000020202020201010248
+:106A40000202020202020202000000000000000036
+:106A50000000000000000000000000000000000036
+:106A60000000000000000000000000000000000026
+:106A70000000000000000000000000000000000016
+:106A800000000000000000000202020200010002FB
+:106A900001010101010202010000000000000000EC
+:106AA00000000000000000000000000000000000E6
+:106AB00000000000000000000000000000000000D6
+:106AC00000000000000000000000000000000000C6
+:106AD00000000000000000000200020000020000B0
+:106AE000000000000000000102020101010101029A
+:106AF000020201020101020000000000000000008B
+:106B00000000000000000000000000000000000085
+:106B10000000000000000000000000000000000075
+:106B20000000000000000000000000000000000065
+:106B30000000000000000000020202020201020246
+:106B40000202020202020202000000000000000035
+:106B50000000000000000000000000000000000035
+:106B60000000000000000000000000000000000025
+:106B70000000000000000000000000000000000015
+:106B800000000000000000000202020200020102F8
+:106B900001020202010202010000000000000000E8
+:106BA00000000000000000000000000000000000E5
+:106BB00000000000000000000000000000000000D5
+:106BC00000000000000000000000000000000000C5
+:106BD00000000000000000000200020000020000AF
+:106BE000000000000000000101010101010101029B
+:106BF0000202020201010200000000000000000089
+:106C00000000000000000000000000000000000084
+:106C10000000000000000000000000000000000074
+:106C20000000000000000000000000000000000064
+:106C30000000000000000000020202020202020244
+:106C40000202020202020202000000000000000034
+:106C50000000000000000000000000000000000034
+:106C60000000000000000000000000000000000024
+:106C70000000000000000000000000000000000014
+:106C800000000000000000000202020202020102F5
+:106C900002020202010202010000000000000000E6
+:106CA00000000000000000000000000000000000E4
+:106CB00000000000000000000000000000000000D4
+:106CC00000000000000000000000000000000000C4
+:106CD00000000000000000000202020000020000AC
+:106CE000000000000000000101010101010101029A
+:106CF0000202020201010100000000000000000089
+:106D00000000000000000000000000000000000083
+:106D10000000000000000000000000000000000073
+:106D20000000000000000000000000000000000063
+:106D30000000000000000000020202020202020243
+:106D40000202020202020202000000000000000033
+:106D50000000000000000000000000000000000033
+:106D60000000000000000000000000000000000023
+:106D70000000000000000000000000000000000013
+:106D800000000000000000000202020202020202F3
+:106D900002020202020202020000000000000000E3
+:106DA00000000000000000000000000000000000E3
+:106DB00000000000000000000000000000000000D3
+:106DC00000000000000000000000000000000000C3
+:106DD00000000000000000000202020202020002A5
+:106DE0000200020000000001010101010101010295
+:106DF0000202020101010100000000000000000089
+:106E00000000000000000000000000000000000082
+:106E10000000000000000000000000000000000072
+:106E20000000000000000000000000000000000062
+:106E30000000000000000000020202020202020242
+:106E40000202020202020202000000000000000032
+:106E50000000000000000000000000000000000032
+:106E60000000000000000000000000000000000022
+:106E70000000000000000000000000000000000012
+:106E800000000000000000000202020202020202F2
+:106E900002020202020202020000000000000000E2
+:106EA00000000000000000000000000000000000E2
+:106EB00000000000000000000000000000000000D2
+:106EC00000000000000000000000000000000000C2
+:106ED00000000000000000000202020202020002A4
+:106EE000020202020202020101010100000101028C
+:106EF0000202020101010100000000000000000088
+:106F00000000000000000000000000000000000081
+:106F10000000000000000000000000000000000071
+:106F20000000000000000000000000000000000061
+:106F30000000000000000000020202020202020241
+:106F40000202020202020202000000000000000031
+:106F50000000000000000000000000000000000031
+:106F60000000000000000000000000000000000021
+:106F70000000000000000000000000000000000011
+:106F800000000000000000000202020202020202F1
+:106F900002020202020202020000000000000000E1
+:106FA00000000000000000000000000000000000E1
+:106FB00000000000000000000000000000000000D1
+:106FC00000000000000000000000000000000000C1
+:106FD00000000000000000000202020202020202A1
+:106FE000020202020202020201010000000000018E
+:106FF000010101010000010000000000000000008C
+:107000000000000000000000000000000000000080
+:107010000000000000000000000000000000000070
+:107020000000000000000000000000000000000060
+:107030000000000000000000020202020202020240
+:107040000202020202020202000000000000000030
+:107050000000000000000000000000000000000030
+:107060000000000000000000000000000000000020
+:107070000000000000000000000000000000000010
+:1070800000000000000000000202020202020202F0
+:1070900002020202020101020000000000000000E2
+:1070A00000000000000000000000000000000000E0
+:1070B00000000000000000000000000000000000D0
+:1070C00000000000000000000000000000000000C0
+:1070D00000000000000000000202020202020202A0
+:1070E000020202020202020200000000000000018F
+:1070F000010101010000000000000000000000008C
+:10710000000000000000000000000000000000007F
+:10711000000000000000000000000000000000006F
+:10712000000000000000000000000000000000005F
+:10713000000000000000000002020202020202023F
+:10714000020202020202020200000000000000002F
+:10715000000000000000000000000000000000002F
+:10716000000000000000000000000000000000001F
+:10717000000000000000000000000000000000000F
+:1071800000000000000000000202020202020202EF
+:1071900002020202020202020000000000000000DF
+:1071A00000000000000000000000000000000000DF
+:1071B00000000000000000000000000000000000CF
+:1071C00000000000000000000000000000000000BF
+:1071D000000000000000000002020202020202029F
+:1071E000020202020202020200000000000000018E
+:1071F000010101000000000000000000000000008C
+:10720000000000000000000000000000000000007E
+:10721000000000000000000000000000000000006E
+:10722000000000000000000000000000000000005E
+:10723000000000000000000002020202020202023E
+:10724000020202020202020200000000000000002E
+:10725000000000000000000000000000000000002E
+:10726000000000000000000000000000000000001E
+:10727000000000000000000000000000000000000E
+:1072800000000000000000000202020102020202EF
+:1072900002020202020000020000000000000000E2
+:1072A00000000000000000000000000000000000DE
+:1072B00000000000000000000000000000000000CE
+:1072C00000000000000000000000000000000000BE
+:1072D000000000000000000002020202020202029E
+:1072E000020202020202020200000000000000008E
+:1072F000000000000000000100000000000000008D
+:10730000000000000000000000000000000000007D
+:10731000000000000000000000000000000000006D
+:10732000000000000000000000000000000000005D
+:107330000000000000000000020202000002020241
+:10734000020202020202020200000000000000002D
+:10735000000000000000000000000000000000002D
+:10736000000000000000000000000000000000001D
+:10737000000000000000000000000000000000000D
+:1073800000000000000000000202020202020202ED
+:1073900002020201010000020000000000000000E3
+:1073A00000000000000000000000000000000000DD
+:1073B00000000000000000000000000000000000CD
+:1073C00000000000000000000000000000000000BD
+:1073D000000000000000000002020202020202029D
+:1073E000020202020202020200000001010000008B
+:1073F000000000000000000100000000000000008C
+:10740000000000000000000000000000000000007C
+:10741000000000000000000000000000000000006C
+:10742000000000000000000000000000000000005C
+:107430000000000000000000010101010101010144
+:107440000101010101010101000000000000000034
+:10745000000000000000000000000000000000002C
+:10746000000000000000000000000000000000001C
+:10747000000000000000000000000000000000000C
+:1074800000000000000000000201010001010101F4
+:1074900001010102020000010000000000000000E4
+:1074A00000000000000000000000000000000000DC
+:1074B00000000000000000000000000000000000CC
+:1074C00000000000000000000000000000000000BC
+:1074D000000000000000000002020202020202029C
+:1074E0000202020202020202010001010101010086
+:1074F0000000000001010001000000000000000089
+:10750000000000000000000000000000000000007B
+:10751000000000000000000000000000000000006B
+:10752000000000000000000000000000000000005B
+:107530000000000000000000010101010101010143
+:107540000101010101010101000000000000000033
+:10755000000000000000000000000000000000002B
+:10756000000000000000000000000000000000001B
+:10757000000000000000000000000000000000000B
+:1075800000000000000000000102020002020202EE
+:1075900002020200000000020000000000000000E3
+:1075A00000000000000000000000000000000000DB
+:1075B00000000000000000000000000000000000CB
+:1075C00000000000000000000000000000000000BB
+:1075D000000000000000000002020202020202029B
+:1075E0000202020202020202010101010101010084
+:1075F0000000000001010101000000000000000087
+:10760000000000000000000000000000000000007A
+:10761000000000000000000000000000000000006A
+:10762000000000000000000000000000000000005A
+:107630000000000000000000010101010101010142
+:107640000101010101010101000000000000000032
+:10765000000000000000000000000000000000002A
+:10766000000000000000000000000000000000001A
+:10767000000000000000000000000000000000000A
+:1076800000000000000000000200000000000000F8
+:1076900000000000000000000000000000000000EA
+:1076A00000000000000000000000000000000000DA
+:1076B00000000000000000000000000000000000CA
+:1076C00000000000000000000000000000000000BA
+:1076D000000000000000000000020202020002029E
+:1076E0000202020202020200010101010101010085
+:1076F0000000000101010101000000000000000085
+:107700000000000000000000000000000000000079
+:107710000000000000000000000000000000000069
+:107720000000000000000000000000000000000059
+:107730000000000000000000010101010101010141
+:107740000101010101010101000000000000000031
+:107750000000000000000000000000000000000029
+:107760000000000000000000000000000000000019
+:107770000000000000000000000000000000000009
+:1077800000000000000000000101010101010101F1
+:1077900001010101010101010000000000000000E1
+:1077A00000000000000000000000000000000000D9
+:1077B00000000000000000000000000000000000C9
+:1077C00000000000000000000000000000000000B9
+:1077D000000000000000000000020202020002029D
+:1077E0000202020202020200010101010101010183
+:1077F0000101010101010101000000000000000081
+:107800000000000000000000000000000000000078
+:107810000000000000000000000000000000000068
+:107820000000000000000000000000000000000058
+:107830000000000000000000010101010101010140
+:107840000101010101010101000000000000000030
+:107850000000000000000000000000000000000028
+:107860000000000000000000000000000000000018
+:107870000000000000000000000000000000000008
+:1078800000000000000000000101010101010101F0
+:1078900001010101010101010000000000000000E0
+:1078A00000000000000000000000000000000000D8
+:1078B00000000000000000000000000000000000C8
+:1078C00000000000000000000000000000000000B8
+:1078D000000000000000000000020002020002029E
+:1078E0000202000202000000010101010101010188
+:1078F0000101010101010101000000000000000080
+:107900000000000000000000000000000000000077
+:107910000000000000000000000000000000000067
+:107920000000000000000000000000000000000057
+:10793000000000000000000001010101010101013F
+:10794000010101010101010100000000000000002F
+:107950000000000000000000000000000000000027
+:107960000000000000000000000000000000000017
+:107970000000000000000000000000000000000007
+:1079800000000000000000000101010101010101EF
+:1079900001010101010101010000000000000000DF
+:1079A00000000000000000000000000000000000D7
+:1079B00000000000000000000000000000000000C7
+:1079C00000000000000000000000000000000000B7
+:1079D000000000000000000000020002020002009F
+:1079E000000200000000000001010101010101018D
+:1079F000010101010101010100000000000000007F
+:107A00000000000000000000000000000000000076
+:107A10000000000000000000000000000000000066
+:107A20000000000000000000000000000000000056
+:107A30000000000000000000020202020202020236
+:107A40000202020202020202000000000000000026
+:107A50000000000000000000000000000000000026
+:107A60000000000000000000000000000000000016
+:107A70000000000000000000000000000000000006
+:107A800000000000000000000202020202020202E6
+:107A900002020202020202020000000000000000D6
+:107AA00000000000000000000000000000000000D6
+:107AB00000000000000000000000000000000000C6
+:107AC00000000000000000000000000000000000B6
+:107AD00000000000000000000002000000000200A2
+:107AE0000000000000000000000000000000000096
+:107AF0000000000000000000000000000000000086
+:107B00000000000000000000000000000000000075
+:107B10000000000000000000000000000000000065
+:107B20000000000000000000000000000000000055
+:107B30000000000000000000000000000000000045
+:107B40000000000000000000000000000000000035
+:107B50000000000000000000000000000000000025
+:107B60000000000000000000000000000000000015
+:107B70000000000000000000000000000000000005
+:107B800000000000000000000000000000000000F5
+:107B900000000000000000000000000000000000E5
+:107BA00000000000000000000000000000000000D5
+:107BB00000000000000000000000000000000000C5
+:107BC00000000000000000000000000000000000B5
+:107BD00000000000000000000000000000000000A5
+:107BE00000000000000000001E0000000000000077
+:107BF000020101010101010100010000000000017A
+:107C00000000000000000000000000000000000074
+:107C10000000000000000000000000000000000064
+:107C20000000000000000000000000000000000054
+:107C30000000000000000000000000000000000044
+:107C40000000000000000000000000000101000032
+:107C50000000000000000000000000000000000024
+:107C60000000000000000000000000000000000014
+:107C70000000000000000000000000000000000004
+:107C800000000000000000000000000000000000F4
+:107C900000000000000000000000000000000000E4
+:107CA00000000000000000000000000000000000D4
+:107CB00000000000000000000000000000000000C4
+:107CC00000000000000000000000000000000000B4
+:107CD00000000000000000000000000000000000A4
+:107CE000000101000000000001010100000000018E
+:107CF0000201010101010101000200000101010175
+:107D00000000000000000000000000000000000073
+:107D10000000000000000000000000000000000063
+:107D20000000000000000000000000000000000053
+:107D30000000000000000000000000000000000043
+:107D40000000000000000000000000000101000031
+:107D50000000000000000000000000000000000023
+:107D60000000000000000000000000000000000013
+:107D70000000000000000000000000000000000003
+:107D800000000000000000000000000000000000F3
+:107D900000000000000000000000000001010100E0
+:107DA00000000000000000000000000000000000D3
+:107DB00000000000000000000000000000000000C3
+:107DC00000000000000000000000000000000000B3
+:107DD00000000000000000000000000000000000A3
+:107DE000000101000001000001010100000000018C
+:107DF0000202010101010101010200010101010171
+:107E00000000000000000000000000000000000072
+:107E10000000000000000000000000000000000062
+:107E20000000000000000000000000000000000052
+:107E30000000000000000000000000000000000042
+:107E40000000000000000000000000000101000030
+:107E50000000000000000000000000000000000022
+:107E60000000000000000000000000000000000012
+:107E70000000000000000000000000000000000002
+:107E800000000000000000000000000000000000F2
+:107E900000000000000000000000000001010100DF
+:107EA00000000000000000000000000000000000D2
+:107EB00000000000000000000000000000000000C2
+:107EC00000000000000000000000000000000000B2
+:107ED00000000000000000000000000000000000A2
+:107EE000000101000101000001010100000000018A
+:107EF000020202010101010101020001010101016F
+:107F00000000000000000000000000000000000071
+:107F10000000000000000000000000000000000061
+:107F20000000000000000000000000000000000051
+:107F30000000000000000000000000000000000041
+:107F4000010000000000000000000000010100002E
+:107F50000000000000000000000000000000000021
+:107F60000000000000000000000000000000000011
+:107F70000000000000000000000000000000000001
+:107F800000000000000000000000000000000000F1
+:107F900000000000000000000000000001010100DE
+:107FA00000000000000000000000000000000000D1
+:107FB00000000000000000000000000000000000C1
+:107FC00000000000000000000000000000000000B1
+:107FD00000000000000000000000000000000000A1
+:107FE0000001010101010000010101000101010185
+:107FF000020202020101010101020001010101016D
+:108000000000000000000000000000000000000070
+:108010000000000000000000000000000000000060
+:108020000000000000000000000000000000000050
+:108030000000000000000000000000000000000040
+:10804000020000000000000000000000010101002B
+:108050000000000000000000000000000000000020
+:108060000000000000000000000000000000000010
+:108070000000000000000000000000000000000000
+:1080800000000000000000000000000000000000F0
+:1080900000000000000100000000000101010100DB
+:1080A00000000000000000000000000000000000D0
+:1080B00000000000000000000000000000000000C0
+:1080C00000000000000000000000000000000000B0
+:1080D00000000000000000000000000000000000A0
+:1080E0000001010101010000010101010101010183
+:1080F000020202020101010102020101010101016A
+:10810000000000000000000000000000000000006F
+:10811000000000000000000000000000000000005F
+:10812000000000000000000000000000000000004F
+:10813000000000000000000000000000000000003F
+:108140000201000000000000000000000101010029
+:10815000000000000000000000000000000000001F
+:10816000000000000000000000000000000000000F
+:1081700000000000000000000000000000000000FF
+:1081800000000000000000000000000000000000EF
+:1081900000000000000100000000000101010101D9
+:1081A00000000000000000000000000000000000CF
+:1081B00000000000000000000000000000000000BF
+:1081C00000000000000000000000000000000000AF
+:1081D000000000000000000000000000000000009F
+:1081E0000000010101010101010101010101010181
+:1081F0000202020201010102020201010101010168
+:10820000000000000000000000000000000000006E
+:10821000000000000000000000000000000000005E
+:10822000000000000000000000000000000000004E
+:10823000000000000000000000000000000000003E
+:108240000201000001000000000000000101010126
+:10825000000000000000000000000000000000001E
+:10826000000000000000000000000000000000000E
+:1082700000000000000000000000000000000000FE
+:1082800000000000000000000000000000000000EE
+:1082900000000001000101000000000101010101D6
+:1082A00000000000000000000000000000000000CE
+:1082B00000000000000000000000000000000000BE
+:1082C00000000000000000000000000000000000AE
+:1082D000000000000000000000000000000000009E
+:1082E0000000000101010101010101010101010181
+:1082F0000202020202020102020101010101010067
+:10830000000000000000000000000000000000006D
+:10831000000000000000000000000000000000005D
+:10832000000000000000000000000000000000004D
+:10833000000000000000000000000000000000003D
+:108340000201000101010000000000000101010123
+:10835000000000000000000000000000000000001D
+:10836000000000000000000000000000000000000D
+:1083700000000000000000000000000000000000FD
+:1083800000000000000000000000000000000000ED
+:1083900000000001010101000000000101010101D4
+:1083A00000000000000000000000000000000000CD
+:1083B00000000000000000000000000000000000BD
+:1083C00000000000000000000000000000000000AD
+:1083D000000000000000000000000000000000009D
+:1083E0000000000101010101010101010101010180
+:1083F0000202020202020102020101010101010066
+:10840000000000000000000000000000000000006C
+:10841000000000000000000000000000000000005C
+:10842000000000000000000000000000000000004C
+:10843000000000000000000000000000000000003C
+:108440000202000101010000000000000101010121
+:10845000000000000000000000000000000000001C
+:10846000000000000000000000000000000000000C
+:1084700000000000000000000000000000000000FC
+:1084800000000000000000000000000000000000EC
+:1084900001010001010101010000000101010101D0
+:1084A00000000000000000000000000000000000CC
+:1084B00000000000000000000000000000000000BC
+:1084C00000000000000000000000000000000000AC
+:1084D000000000000000000000000000000000009C
+:1084E0000000000101010101000001010101010181
+:1084F0000202020202020202020101010101010064
+:10850000000000000000000000000000000000006B
+:10851000000000000000000000000000000000005B
+:10852000000000000000000000000000000000004B
+:10853000000000000000000000000000000000003B
+:10854000020201010101000000010000010101011E
+:10855000000000000000000000000000000000001B
+:10856000000000000000000000000000000000000B
+:1085700000000000000000000000000000000000FB
+:1085800000000000000000000000000000000000EB
+:1085900002010001010101010000010101010101CD
+:1085A00000000000000000000000000000000000CB
+:1085B00000000000000000000000000000000000BB
+:1085C00000000000000000000000000000000000AB
+:1085D000000000000000000000000000000000009B
+:1085E000010000010101010100000101010101017F
+:1085F0000202020202020202010101010101010064
+:10860000000000000000000000000000000000006A
+:10861000000000000000000000000000000000005A
+:10862000000000000000000000000000000000004A
+:10863000000000000000000000000000000000003A
+:10864000020201010101000000010000020201011B
+:10865000000000000000000000000000000000001A
+:10866000000000000000000000000000000000000A
+:1086700000000000000000000000000000000000FA
+:1086800000000000000000000000000000000000EA
+:1086900002010101010101010100010101010101CA
+:1086A00000000000000000000000000000000000CA
+:1086B00000000000000000000000000000000000BA
+:1086C00000000000000000000000000000000000AA
+:1086D000000000000000000000000000000000009A
+:1086E000010000010101010100000101010101017E
+:1086F0000201010102020202010101010101010066
+:108700000000000000000000000000000000000069
+:108710000000000000000000000000000000000059
+:108720000000000000000000000000000000000049
+:108730000000000000000000000000000000000039
+:108740000202020202010100000100010202010115
+:108750000000000000000000000000000000000019
+:108760000000000000000000000000000000000009
+:1087700000000000000000000000000000000000F9
+:1087800000000000000000000000000000000000E9
+:1087900002010101010101010100010101010101C9
+:1087A00000000000000000000000000000000000C9
+:1087B00000000000000000000000000000000000B9
+:1087C00000000000000000000000000000000000A9
+:1087D0000000000000000000000000000000000099
+:1087E000020000000001010100000101010101007F
+:1087F0000101010102020201010101010101010067
+:108800000000000000000000000000000000000068
+:108810000000000000000000000000000000000058
+:108820000000000000000000000000000000000048
+:108830000000000000000000000000000000000038
+:108840000202020202020100000100010202020112
+:108850000000000000000000000000000000000018
+:108860000000000000000000000000000000000008
+:1088700000000000000000000000000000000000F8
+:1088800000000000000000000000000000000000E8
+:1088900002020101010101010101010101010101C6
+:1088A00000000000000000000000000000000000C8
+:1088B00000000000000000000000000000000000B8
+:1088C00000000000000000000000000000000000A8
+:1088D0000000000000000000000000000000000098
+:1088E000020000000001010100000001010101007F
+:1088F0000101010102010201010102020101020064
+:108900000000000000000000000000000000000067
+:108910000000000000000000000000000000000057
+:108920000000000000000000000000000000000047
+:108930000000000000000000000000000000000037
+:10894000020202020202010000020001020202020F
+:108950000000000000000000000000000000000017
+:108960000000000000000000000000000000000007
+:1089700000000000000000000000000000000000F7
+:1089800000000000000000000000000000000000E7
+:1089900002020102010201010101010102020201C0
+:1089A00000000000000000000000000000000000C7
+:1089B00000000000000000000000000000000000B7
+:1089C00000000000000000000000000000000000A7
+:1089D0000000000000000000000000000000000097
+:1089E000020000000002000000000001010101007F
+:1089F0000101010101010201010102020202020062
+:108A00000000000000000000000000000000000066
+:108A10000000000000000000000000000000000056
+:108A20000000000000000000000000000000000046
+:108A30000000000000000000000000000000000036
+:108A4000020202020202020000020102020202020B
+:108A50000000000000000000000000000000000016
+:108A60000000000000000000000000000000000006
+:108A700000000000000000000000000000000000F6
+:108A800000000000000000000000000000000000E6
+:108A900002020202020202010101010202020201BB
+:108AA00000000000000000000000000000000000C6
+:108AB00000000000000000000000000000000000B6
+:108AC00000000000000000000000000000000000A6
+:108AD0000000000000000000000000000000000096
+:108AE0000202000000020000000000000000000080
+:108AF0000101010101010101010002020202020063
+:108B00000000000000000000000000000000000065
+:108B10000000000000000000000000000000000055
+:108B20000000000000000000000000000000000045
+:108B30000000000000000000000000000000000035
+:108B40000202020202020201010201020202020208
+:108B50000000000000000000000000000000000015
+:108B60000000000000000000000000000000000005
+:108B700000000000000000000000000000000000F5
+:108B800000000000000000000000000000000000E5
+:108B900002020202020202020101010202020202B8
+:108BA00000000000000000000000000000000000C5
+:108BB00000000000000000000000000000000000B5
+:108BC00000000000000000000000000000000000A5
+:108BD0000000000000000000000000000000000095
+:108BE0000202020202020000000002000000000077
+:108BF0000101010101010101010001020202020063
+:108C00000000000000000000000000000000000064
+:108C10000000000000000000000000000000000054
+:108C20000000000000000000000000000000000044
+:108C30000000000000000000000000000000000034
+:108C40000202020202020202020202020202020204
+:108C50000000000000000000000000000000000014
+:108C60000000000000000000000000000000000004
+:108C700000000000000000000000000000000000F4
+:108C800000000000000000000000000000000000E4
+:108C900002020202020202020201020202020202B5
+:108CA00000000000000000000000000000000000C4
+:108CB00000000000000000000000000000000000B4
+:108CC00000000000000000000000000000000000A4
+:108CD0000000000000000000000000000000000094
+:108CE0000202020202020000000002000000000076
+:108CF0000100000001010101000001020202020066
+:108D00000000000000000000000000000000000063
+:108D10000000000000000000000000000000000053
+:108D20000000000000000000000000000000000043
+:108D30000000000000000000000000000000000033
+:108D40000202020202020202020202020202020203
+:108D50000000000000000000000000000000000013
+:108D60000000000000000000000000000000000003
+:108D700000000000000000000000000000000000F3
+:108D800000000000000000000000000000000000E3
+:108D900002020202020202020202020202020202B3
+:108DA00000000000000000000000000000000000C3
+:108DB00000000000000000000000000000000000B3
+:108DC00000000000000000000000000000000000A3
+:108DD0000000000000000000000000000000000093
+:108DE0000202020202020202020202020202020263
+:108DF000000000000100010000000101020201006A
+:108E00000000000000000000000000000000000062
+:108E10000000000000000000000000000000000052
+:108E20000000000000000000000000000000000042
+:108E30000000000000000000000000000000000032
+:108E40000202020202020202020202020202020202
+:108E50000000000000000000000000000000000012
+:108E60000000000000000000000000000000000002
+:108E700000000000000000000000000000000000F2
+:108E800000000000000000000000000000000000E2
+:108E900002020202020202020202020202020202B2
+:108EA00000000000000000000000000000000000C2
+:108EB00000000000000000000000000000000000B2
+:108EC00000000000000000000000000000000000A2
+:108ED0000000000000000000000000000000000092
+:108EE0000202020202020202020202020202020262
+:108EF000000000000000000000000101010101006D
+:108F00000000000000000000000000000000000061
+:108F10000000000000000000000000000000000051
+:108F20000000000000000000000000000000000041
+:108F30000000000000000000000000000000000031
+:108F40000202020202020202020202010202020202
+:108F50000000000000000000000000000000000011
+:108F60000000000000000000000000000000000001
+:108F700000000000000000000000000000000000F1
+:108F800000000000000000000000000000000000E1
+:108F900002020202020202020202020202020202B1
+:108FA00000000000000000000000000000000000C1
+:108FB00000000000000000000000000000000000B1
+:108FC00000000000000000000000000000000000A1
+:108FD0000000000000000000000000000000000091
+:108FE0000202020202020202020202020202020261
+:108FF000000000000000000000010001010101006C
+:109000000000000000000000000000000000000060
+:109010000000000000000000000000000000000050
+:109020000000000000000000000000000000000040
+:109030000000000000000000000000000000000030
+:109040000202020202020202020202010202020201
+:109050000000000000000000000000000000000010
+:109060000000000000000000000000000000000000
+:1090700000000000000000000000000000000000F0
+:1090800000000000000000000000000000000000E0
+:1090900002020202020202020202020202020202B0
+:1090A00000000000000000000000000000000000C0
+:1090B00000000000000000000000000000000000B0
+:1090C00000000000000000000000000000000000A0
+:1090D0000000000000000000000000000000000090
+:1090E0000202020202020202020202020202020260
+:1090F000000000000000000000010001010101016A
+:10910000000000000000000000000000000000005F
+:10911000000000000000000000000000000000004F
+:10912000000000000000000000000000000000003F
+:10913000000000000000000000000000000000002F
+:10914000010101010101010101020202010101010C
+:10915000000000000000000000000000000000000F
+:1091600000000000000000000000000000000000FF
+:1091700000000000000000000000000000000000EF
+:1091800000000000000000000000000000000000DF
+:1091900002020202020202020202020202020202AF
+:1091A00000000000000000000000000000000000BF
+:1091B00000000000000000000000000000000000AF
+:1091C000000000000000000000000000000000009F
+:1091D000000000000000000000000000000000008F
+:1091E000020202020202020202020202020202025F
+:1091F0000001010100000000010100000000000169
+:10920000000000000000000000000000000000005E
+:10921000000000000000000000000000000000004E
+:10922000000000000000000000000000000000003E
+:10923000000000000000000000000000000000002E
+:109240000202020202020202020101020202020200
+:10925000000000000000000000000000000000000E
+:1092600000000000000000000000000000000000FE
+:1092700000000000000000000000000000000000EE
+:1092800000000000000000000000000000000000DE
+:1092900002020202020202020202020202020202AE
+:1092A00000000000000000000000000000000000BE
+:1092B00000000000000000000000000000000000AE
+:1092C000000000000000000000000000000000009E
+:1092D000000000000000000000000000000000008E
+:1092E000020202020202020202020202020202025E
+:1092F0000101010101010001010100000000000164
+:10930000000000000000000000000000000000005D
+:10931000000000000000000000000000000000004D
+:10932000000000000000000000000000000000003D
+:10933000000000000000000000000000000000002D
+:10934000010101010101010101010101010101010D
+:10935000000000000000000000000000000000000D
+:1093600000000000000000000000000000000000FD
+:1093700000000000000000000000000000000000ED
+:1093800000000000000000000000000000000000DD
+:1093900002020202020202020202020202020202AD
+:1093A00000000000000000000000000000000000BD
+:1093B00000000000000000000000000000000000AD
+:1093C000000000000000000000000000000000009D
+:1093D000000000000000000000000000000000008D
+:1093E000020202020202020202020202020202025D
+:1093F0000101010101010101010100000000000162
+:10940000000000000000000000000000000000005C
+:10941000000000000000000000000000000000004C
+:10942000000000000000000000000000000000003C
+:10943000000000000000000000000000000000002C
+:10944000010101010101010101010101010101010C
+:10945000000000000000000000000000000000000C
+:1094600000000000000000000000000000000000FC
+:1094700000000000000000000000000000000000EC
+:1094800000000000000000000000000000000000DC
+:1094900002020202020202020202020202020202AC
+:1094A00000000000000000000000000000000000BC
+:1094B00000000000000000000000000000000000AC
+:1094C000000000000000000000000000000000009C
+:1094D000000000000000000000000000000000008C
+:1094E000020202020202020202020202020202025C
+:1094F000010101010101010101010101010101015C
+:10950000000000000000000000000000000000005B
+:10951000000000000000000000000000000000004B
+:10952000000000000000000000000000000000003B
+:10953000000000000000000000000000000000002B
+:10954000010101010101010101010101010101010B
+:10955000000000000000000000000000000000000B
+:1095600000000000000000000000000000000000FB
+:1095700000000000000000000000000000000000EB
+:1095800000000000000000000000000000000000DB
+:1095900001010101010101010101010101010101BB
+:1095A00000000000000000000000000000000000BB
+:1095B00000000000000000000000000000000000AB
+:1095C000000000000000000000000000000000009B
+:1095D000000000000000000000000000000000008B
+:1095E000020202020202020202020202020202025B
+:1095F000010101010101010101010101010101015B
+:10960000000000000000000000000000000000005A
+:10961000000000000000000000000000000000004A
+:10962000000000000000000000000000000000003A
+:10963000000000000000000000000000000000002A
+:10964000010101010101010101010101010101010A
+:10965000000000000000000000000000000000000A
+:1096600000000000000000000000000000000000FA
+:1096700000000000000000000000000000000000EA
+:1096800000000000000000000000000000000000DA
+:1096900002020202020202020202020202020202AA
+:1096A00000000000000000000000000000000000BA
+:1096B00000000000000000000000000000000000AA
+:1096C000000000000000000000000000000000009A
+:1096D000000000000000000000000000000000008A
+:1096E000020202020202020202020202020202025A
+:1096F000010101010101010101010101010101015A
+:109700000000000000000000000000000000000059
+:109710000000000000000000000000000000000049
+:109720000000000000000000000000000000000039
+:109730000000000000000000000000000000000029
+:109740000101010101010101010101010101010109
+:109750000000000000000000000000000000000009
+:1097600000000000000000000000000000000000F9
+:1097700000000000000000000000000000000000E9
+:1097800000000000000000000000000000000000D9
+:1097900001010101010101010101010101010101B9
+:1097A00000000000000000000000000000000000B9
+:1097B00000000000000000000000000000000000A9
+:1097C0000000000000000000000000000000000099
+:1097D0000000000000000000000000000000000089
+:1097E0000202020202020202020202020202020259
+:1097F0000101010101010101010101010101010159
+:109800000000000000000000000000000000000058
+:109810000000000000000000000000000000000048
+:109820000000000000000000000000000000000038
+:109830000000000000000000000000000000000028
+:1098400002020202020202020202020202020202F8
+:109850000000000000000000000000000000000008
+:1098600000000000000000000000000000000000F8
+:1098700000000000000000000000000000000000E8
+:1098800000000000000000000000000000000000D8
+:1098900001010101010101010101010101010101B8
+:1098A00000000000000000000000000000000000B8
+:1098B00000000000000000000000000000000000A8
+:1098C0000000000000000000000000000000000098
+:1098D0000000000000000000000000000000000088
+:1098E0000000000000000000000002000000000076
+:1098F0000000000000000000000000000000000068
+:109900000000000000000000000000000000000057
+:109910000000000000000000000000000000000047
+:109920000000000000000000000000000000000037
+:109930000000000000000000000000000000000027
+:109940000000000000000000000000000000000017
+:109950000000000000000000000000000000000007
+:1099600000000000000000000000000000000000F7
+:1099700000000000000000000000000000000000E7
+:1099800000000000000000000000000000000000D7
+:1099900000000000000000000000000000000000C7
+:1099A00000000000000000000000000000000000B7
+:1099B00000000000000000000000000000000000A7
+:1099C0000000000000000000000000000000000097
+:1099D0000000000000000000000000000000000087
+:1099E0000000000000000000000000000000000077
+:1099F0001E00000000000000020000000200000045
+:109A00000000000001010101000000000000000052
+:109A10000000000000000000000000000000000046
+:109A20000000000000000000000000000000000036
+:109A30000000000000000000000000000000000026
+:109A40000000000000000000000000000000000016
+:109A50000000000001010100000000000000000003
+:109A600000000000000000000000000000000000F6
+:109A700000000000000000000000000000000000E6
+:109A800000000000000000000000000000000000D6
+:109A900000000000000000000000000100000000C5
+:109AA00000000000000000000000000000000000B6
+:109AB00000000000000000000000000000000000A6
+:109AC0000000000000000000000000000000000096
+:109AD0000000000000000000000000000000000086
+:109AE000000000000000000000010101010101016F
+:109AF0000100010101010100020101000200010059
+:109B00000100000001010101000000000000000050
+:109B10000000000000000000000000000000000045
+:109B20000000000000000000000000000000000035
+:109B30000000000000000000000000000000000025
+:109B40000000000000000000000000000000000015
+:109B50000000000001010100000000000000000002
+:109B600000000000000000000000000000000000F5
+:109B700000000000000000000000000000000000E5
+:109B800000000000000000000000000000000000D5
+:109B900000000000000000000000000100000000C4
+:109BA00001010000000000000000000000000000B3
+:109BB00000000000000000000000000000000000A5
+:109BC0000000000000000000000000000000000095
+:109BD0000000000000000000000000000000000085
+:109BE000000000000000000000010101010101016E
+:109BF0000101010101010100020101010201010055
+:109C0000010001000101010100000000000000004E
+:109C10000000000000000000000000000000000044
+:109C20000000000000000000000000000000000034
+:109C30000000000000000000000000000000000024
+:109C40000000000000000000000000000000000014
+:109C50000000000001010101000000000000000000
+:109C600000000000000000000000000000000000F4
+:109C700000000000000000000000000000000000E4
+:109C800000000000000000000000000000000000D4
+:109C900000000000000000000000000100000000C3
+:109CA00001010000000000000000000000000000B2
+:109CB00000000000000000000000000000000000A4
+:109CC0000000000000000000000000000000000094
+:109CD0000000000000000000000000000000000084
+:109CE000000000000000000000010101010101016D
+:109CF0000101010101010100020102010201010152
+:109D0000010201010101010100000000000000004A
+:109D10000000000000000000000000000000000043
+:109D20000000000000000000000000000000000033
+:109D30000000000000000000000000000000000023
+:109D40000000000000000000000000000000000013
+:109D500000000001010101010000000000000000FE
+:109D600000000000000000000000000000000000F3
+:109D700000000000000000000000000000000000E3
+:109D800000000000000000000000000000000000D3
+:109D900000000000000000000000000100000000C2
+:109DA00001010000000000000000000000000000B1
+:109DB00000000000000000000000000000000000A3
+:109DC0000000000000000000000000000000000093
+:109DD0000000000000000000000000000000000083
+:109DE000000000000000000000010101010101016C
+:109DF000010101010101010102020202020101014E
+:109E00000102010101010101000000000000000049
+:109E10000000000000000000000000000000000042
+:109E20000000000000000000000000000000000032
+:109E30000000000000000000000000000000000022
+:109E40000000000000000000000000000000000012
+:109E500000000001010101010000000000000000FD
+:109E600000000000000000000000000000000000F2
+:109E700000000000000000000000000000000000E2
+:109E800000000000000000000000000000000000D2
+:109E900000000000000000000000000101000000C0
+:109EA00001010001000000000000000000000000AF
+:109EB00000000000000000000000000000000000A2
+:109EC0000000000000000000000000000000000092
+:109ED0000000000000000000000000000000000082
+:109EE000000000000000000000010101010101016B
+:109EF000010101010101010102020202020101024C
+:109F00000102010201010101000000000000000047
+:109F10000000000000000000000000000000000041
+:109F20000000000000000000000000000000000031
+:109F30000000000000000000000000000000000021
+:109F40000000000000000000000000000000000011
+:109F500000000001010101010000000000000000FC
+:109F600000000000000000000000000000000000F1
+:109F700000000000000000000000000000000000E1
+:109F800000000000000000000000000000000000D1
+:109F900000000000000000000000000101000000BF
+:109FA00001010001010101010000000000000000AA
+:109FB00000000000000000000000000000000000A1
+:109FC0000000000000000000000000000000000091
+:109FD0000000000000000000000000000000000081
+:109FE000000000000000000000010101010101016A
+:109FF000010101010101010102020202020101024B
+:10A000000102010201010101000000000000000046
+:10A010000000000000000000000000000000000040
+:10A020000000000000000000000000000000000030
+:10A030000000000000000000000000000000000020
+:10A04000000000000000000001000000000000000F
+:10A0500000000001010101010000000000000000FB
+:10A0600000000000000000000000000000000000F0
+:10A0700000000000000000000000000000000000E0
+:10A0800000000000000000000000000000000000D0
+:10A0900000000000000000000000000101000100BD
+:10A0A00001010001010101010000000000000000A9
+:10A0B00000000000000000000000000000000000A0
+:10A0C0000000000000000000000000000000000090
+:10A0D0000000000000000000000000000000000080
+:10A0E0000000000000000000010101010101010168
+:10A0F0000101010101010101020202020202020248
+:10A100000202020201010100000000000000000044
+:10A11000000000000000000000000000000000003F
+:10A12000000000000000000000000000000000002F
+:10A13000000000000000000000000000000000001F
+:10A14000000000000000000002010000000101000A
+:10A1500000000101010101010000000000000000F9
+:10A1600000000000000000000000000000000000EF
+:10A1700000000000000000000000000000000000DF
+:10A1800000000000000000000000000000000000CF
+:10A1900000000000000000000000000101000100BC
+:10A1A00001010001010101010000000000000000A8
+:10A1B000000000000000000000000000000000009F
+:10A1C000000000000000000000000000000000008F
+:10A1D000000000000000000000000000000000007F
+:10A1E0000000000000000000010101010101010167
+:10A1F0000101010101010101020202020102020248
+:10A200000201020201010100000000000000000044
+:10A21000000000000000000000000000000000003E
+:10A22000000000000000000000000000000000002E
+:10A23000000000000000000000000000000000001E
+:10A240000000000000000000020100000001010009
+:10A2500000000101010101010000000000000000F8
+:10A2600000000000000000000000000000000000EE
+:10A2700000000000000000000000000000000000DE
+:10A2800000000000000000000000000000000000CE
+:10A2900000000000000000000000000101000100BB
+:10A2A00001010001010101010000000000000000A7
+:10A2B000000000000000000000000000000000009E
+:10A2C000000000000000000000000000000000008E
+:10A2D000000000000000000000000000000000007E
+:10A2E0000000000000000000020001010101010166
+:10A2F0000101010101010101020202020102020247
+:10A300000201020101010200000000000000000043
+:10A31000000000000000000000000000000000003D
+:10A32000000000000000000000000000000000002D
+:10A33000000000000000000000000000000000001D
+:10A340000000000000000000020101000001010007
+:10A3500001000101010101010000000000000000F6
+:10A3600000000000000000000000000000000000ED
+:10A3700000000000000000000000000000000000DD
+:10A3800000000000000000000000000000000000CD
+:10A3900000000000000000000000000101000100BA
+:10A3A00001010101010101010000000000000000A5
+:10A3B000000000000000000000000000000000009D
+:10A3C000000000000000000000000000000000008D
+:10A3D000000000000000000000000000000000007D
+:10A3E0000000000000000000020001010101010165
+:10A3F0000101010101010101020202020102020147
+:10A400000201020101010200000000000000000042
+:10A41000000000000000000000000000000000003C
+:10A42000000000000000000000000000000000002C
+:10A43000000000000000000000000000000000001C
+:10A440000000000000000000020201000001010005
+:10A4500001000101010101010000000000000000F5
+:10A4600000000000000000000000000000000000EC
+:10A4700000000000000000000000000000000000DC
+:10A4800000000000000000000000000000000000CC
+:10A4900000000000000000000001000201000101B6
+:10A4A00001010101010101010000000000000000A4
+:10A4B000000000000000000000000000000000009C
+:10A4C000000000000000000000000000000000008C
+:10A4D000000000000000000000000000000000007C
+:10A4E0000000000000000000020201010101010162
+:10A4F000000001010101010102020101010202014A
+:10A500000201020101010200000000000000000041
+:10A51000000000000000000000000000000000003B
+:10A52000000000000000000000000000000000002B
+:10A53000000000000000000000000000000000001B
+:10A540000000000000000000020201000101010102
+:10A5500001000101020202010000000000000000F1
+:10A5600000000000000000000000000000000000EB
+:10A5700000000000000000000000000000000000DB
+:10A5800000000000000000000000000000000000CB
+:10A5900000000000000000000101000201010101B3
+:10A5A00001010101010101010000000000000000A3
+:10A5B000000000000000000000000000000000009B
+:10A5C000000000000000000000000000000000008B
+:10A5D000000000000000000000000000000000007B
+:10A5E000000000000000000002020202020101015E
+:10A5F000000001010101010101020101010202014A
+:10A60000020101010202020000000000000000003F
+:10A61000000000000000000000000000000000003A
+:10A62000000000000000000000000000000000002A
+:10A63000000000000000000000000000000000001A
+:10A6400000000000000000000202020101020101FE
+:10A6500001000102020202020000000000000000EE
+:10A6600000000000000000000000000000000000EA
+:10A6700000000000000000000000000000000000DA
+:10A6800000000000000000000000000000000000CA
+:10A6900000000000000000000201010202010101AF
+:10A6A00002020101010101010000000000000000A0
+:10A6B000000000000000000000000000000000009A
+:10A6C000000000000000000000000000000000008A
+:10A6D000000000000000000000000000000000007A
+:10A6E000000000000000000002020202020201015C
+:10A6F0000202010101010100010101010101010149
+:10A70000010101010202020000000000000000003F
+:10A710000000000000000000000000000000000039
+:10A720000000000000000000000000000000000029
+:10A730000000000000000000000000000000000019
+:10A7400000000000000000000202020102020201FB
+:10A7500002010202020202020000000000000000EA
+:10A7600000000000000000000000000000000000E9
+:10A7700000000000000000000000000000000000D9
+:10A7800000000000000000000000000000000000C9
+:10A7900000000000000000000201010202010101AE
+:10A7A000020201010101010100000000000000009F
+:10A7B0000000000000000000000000000000000099
+:10A7C0000000000000000000000000000000000089
+:10A7D0000000000000000000000000000000000079
+:10A7E0000000000000000000020202020202020259
+:10A7F0000202020201010100010101010101010146
+:10A80000010101010202010000000000000000003F
+:10A810000000000000000000000000000000000038
+:10A820000000000000000000000000000000000028
+:10A830000000000000000000000000000000000018
+:10A8400000000000000000000202020202020201F9
+:10A8500002010202020202020000000000000000E9
+:10A8600000000000000000000000000000000000E8
+:10A8700000000000000000000000000000000000D8
+:10A8800000000000000000000000000000000000C8
+:10A8900000000000000000000202010202010101AC
+:10A8A000020201010101010100000000000000009E
+:10A8B0000000000000000000000000000000000098
+:10A8C0000000000000000000000000000000000088
+:10A8D0000000000000000000000000000000000078
+:10A8E0000000000000000000020202020202020258
+:10A8F0000202020202020000010101010101010144
+:10A90000010101010202010000000000000000003E
+:10A910000000000000000000000000000000000037
+:10A920000000000000000000000000000000000027
+:10A930000000000000000000000000000000000017
+:10A9400000000000000000000202020202020202F7
+:10A9500002020202020202020000000000000000E7
+:10A9600000000000000000000000000000000000E7
+:10A9700000000000000000000000000000000000D7
+:10A9800000000000000000000000000000000000C7
+:10A9900000000000000000000202010202010201AA
+:10A9A000020201020101010100000000000000009C
+:10A9B0000000000000000000000000000000000097
+:10A9C0000000000000000000000000000000000087
+:10A9D0000000000000000000000000000000000077
+:10A9E0000000000000000000020202020202020257
+:10A9F0000202020202020202010101010001010140
+:10AA0000010001000202010000000000000000003F
+:10AA10000000000000000000000000000000000036
+:10AA20000000000000000000000000000000000026
+:10AA30000000000000000000000000000000000016
+:10AA400000000000000000000202020202020202F6
+:10AA500002020202020202020000000000000000E6
+:10AA600000000000000000000000000000000000E6
+:10AA700000000000000000000000000000000000D6
+:10AA800000000000000000000000000000000000C6
+:10AA900000000000000000000202020202010201A8
+:10AAA0000202010202020202000000000000000097
+:10AAB0000000000000000000000000000000000096
+:10AAC0000000000000000000000000000000000086
+:10AAD0000000000000000000000000000000000076
+:10AAE0000000000000000000020202020202020256
+:10AAF0000202020202020202010100000001010042
+:10AB00000100010001010100000000000000000040
+:10AB10000000000000000000000000000000000035
+:10AB20000000000000000000000000000000000025
+:10AB30000000000000000000000000000000000015
+:10AB400000000000000000000202020202020202F5
+:10AB500002020202020202020000000000000000E5
+:10AB600000000000000000000000000000000000E5
+:10AB700000000000000000000000000000000000D5
+:10AB800000000000000000000000000000000000C5
+:10AB900000000000000000000202020202020202A5
+:10ABA0000202020202020202000000000000000095
+:10ABB0000000000000000000000000000000000095
+:10ABC0000000000000000000000000000000000085
+:10ABD0000000000000000000000000000000000075
+:10ABE0000000000000000000020202020202020255
+:10ABF0000202020202020202000000000000000045
+:10AC00000000000001010100000000000000000041
+:10AC10000000000000000000000000000000000034
+:10AC20000000000000000000000000000000000024
+:10AC30000000000000000000000000000000000014
+:10AC400000000000000000000202020202020202F4
+:10AC500002020202020202020000000000000000E4
+:10AC600000000000000000000000000000000000E4
+:10AC700000000000000000000000000000000000D4
+:10AC800000000000000000000000000000000000C4
+:10AC900000000000000000000202020202020202A4
+:10ACA0000202020202020202000000000000000094
+:10ACB0000000000000000000000000000000000094
+:10ACC0000000000000000000000000000000000084
+:10ACD0000000000000000000000000000000000074
+:10ACE0000000000000000000020202020202020254
+:10ACF0000202020202020202000000000000000044
+:10AD00000000000001010000000000000000000041
+:10AD10000000000000000000000000000000000033
+:10AD20000000000000000000000000000000000023
+:10AD30000000000000000000000000000000000013
+:10AD400000000000000000000202020202020202F3
+:10AD500002020202020202020000000000000000E3
+:10AD600000000000000000000000000000000000E3
+:10AD700000000000000000000000000000000000D3
+:10AD800000000000000000000000000000000000C3
+:10AD900000000000000000000202020202020202A3
+:10ADA0000202020202020202000000000000000093
+:10ADB0000000000000000000000000000000000093
+:10ADC0000000000000000000000000000000000083
+:10ADD0000000000000000000000000000000000073
+:10ADE0000000000000000000020202020202020253
+:10ADF0000202020202020202000000000000000043
+:10AE00000000000000000000000000000000000042
+:10AE10000000000000000000000000000000000032
+:10AE20000000000000000000000000000000000022
+:10AE30000000000000000000000000000000000012
+:10AE400000000000000000000202020202020202F2
+:10AE500000000202020202020000000000000000E6
+:10AE600000000000000000000000000000000000E2
+:10AE700000000000000000000000000000000000D2
+:10AE800000000000000000000000000000000000C2
+:10AE900000000000000000000202020202020202A2
+:10AEA0000202020202020202000000000000000092
+:10AEB0000000000000000000000000000000000092
+:10AEC0000000000000000000000000000000000082
+:10AED0000000000000000000000000000000000072
+:10AEE0000000000000000000020202020202020252
+:10AEF0000202020202020202000000000100000041
+:10AF0000000100010000000000000000000000003F
+:10AF10000000000000000000000000000000000031
+:10AF20000000000000000000000000000000000021
+:10AF30000000000000000000000000000000000011
+:10AF400000000000000000000202020200000202F5
+:10AF500000000002020202020000000000000000E7
+:10AF600000000000000000000000000000000000E1
+:10AF700000000000000000000000000000000000D1
+:10AF800000000000000000000000000000000000C1
+:10AF900000000000000000000202020202020202A1
+:10AFA0000202020202020202000000000000000091
+:10AFB0000000000000000000000000000000000091
+:10AFC0000000000000000000000000000000000081
+:10AFD0000000000000000000000000000000000071
+:10AFE0000000000000000000020202020202020251
+:10AFF000020202020202020200000101010000013D
+:10B00000000100010000000100000000000000003D
+:10B010000000000000000000000000000000000030
+:10B020000000000000000000000000000000000020
+:10B030000000000000000000000000000000000010
+:10B040000000000000000000000000000000000000
+:10B0500000000000000000000000000000000000F0
+:10B0600000000000000000000000000000000000E0
+:10B0700000000000000000000000000000000000D0
+:10B0800000000000000000000000000000000000C0
+:10B0900000000000000000000202020202020202A0
+:10B0A0000202020202020202000000000000000090
+:10B0B0000000000000000000000000000000000090
+:10B0C0000000000000000000000000000000000080
+:10B0D0000000000000000000000000000000000070
+:10B0E0000000000000000000020202020202020250
+:10B0F0000202020202020202010101010101010138
+:10B10000010101010000000100000000000000003A
+:10B11000000000000000000000000000000000002F
+:10B12000000000000000000000000000000000001F
+:10B13000000000000000000000000000000000000F
+:10B1400000000000000000000101010101010101F7
+:10B1500001010101010101010000000000000000E7
+:10B1600000000000000000000000000000000000DF
+:10B1700000000000000000000000000000000000CF
+:10B1800000000000000000000000000000000000BF
+:10B19000000000000000000002020202020202029F
+:10B1A000020202020202020200000000000000008F
+:10B1B000000000000000000000000000000000008F
+:10B1C000000000000000000000000000000000007F
+:10B1D000000000000000000000000000000000006F
+:10B1E000000000000000000002020202020202024F
+:10B1F0000202020202020202010101010101010137
+:10B200000101010100000101000000000000000038
+:10B21000000000000000000000000000000000002E
+:10B22000000000000000000000000000000000001E
+:10B23000000000000000000000000000000000000E
+:10B2400000000000000000000101010101010101F6
+:10B2500001010101010101010000000000000000E6
+:10B2600000000000000000000000000000000000DE
+:10B2700000000000000000000000000000000000CE
+:10B2800000000000000000000000000000000000BE
+:10B29000000000000000000002020202020202029E
+:10B2A000020202020202020200000000000000008E
+:10B2B000000000000000000000000000000000008E
+:10B2C000000000000000000000000000000000007E
+:10B2D000000000000000000000000000000000006E
+:10B2E0000000000000000000000202020202020250
+:10B2F000020002020202020001010101010101013A
+:10B300000101010101010101000000000000000035
+:10B31000000000000000000000000000000000002D
+:10B32000000000000000000000000000000000001D
+:10B33000000000000000000000000000000000000D
+:10B3400000000000000000000101010101010101F5
+:10B3500001010101010101010000000000000000E5
+:10B3600000000000000000000000000000000000DD
+:10B3700000000000000000000000000000000000CD
+:10B3800000000000000000000000000000000000BD
+:10B39000000000000000000002020202020202029D
+:10B3A000020202020202020200000000000000008D
+:10B3B000000000000000000000000000000000008D
+:10B3C000000000000000000000000000000000007D
+:10B3D000000000000000000000000000000000006D
+:10B3E000000000000000000000020202020202024F
+:10B3F000000002020202020001010101010101013B
+:10B400000101010101010101000000000000000034
+:10B41000000000000000000000000000000000002C
+:10B42000000000000000000000000000000000001C
+:10B43000000000000000000000000000000000000C
+:10B4400000000000000000000101010101010101F4
+:10B4500001010101010101010000000000000000E4
+:10B4600000000000000000000000000000000000DC
+:10B4700000000000000000000000000000000000CC
+:10B4800000000000000000000000000000000000BC
+:10B4900000000000000000000202020000020202A0
+:10B4A0000000020202020202000000000000000090
+:10B4B000000000000000000000000000000000008C
+:10B4C000000000000000000000000000000000007C
+:10B4D000000000000000000000000000000000006C
+:10B4E000000000000000000000020202020202024E
+:10B4F000000002020202020001010101010101013A
+:10B500000101010101010101000000000000000033
+:10B51000000000000000000000000000000000002B
+:10B52000000000000000000000000000000000001B
+:10B53000000000000000000000000000000000000B
+:10B5400000000000000000000101010101010101F3
+:10B5500001010101010101010000000000000000E3
+:10B5600000000000000000000000000000000000DB
+:10B5700000000000000000000000000000000000CB
+:10B5800000000000000000000000000000000000BB
+:10B5900000000000000000000101010101010101A3
+:10B5A0000101010101010101000000000000000093
+:10B5B000000000000000000000000000000000008B
+:10B5C000000000000000000000000000000000007B
+:10B5D000000000000000000000000000000000006B
+:10B5E000000000000000000000000202020202024F
+:10B5F000000002000202020001010101010101013B
+:10B600000101010101010101000000000000000032
+:10B61000000000000000000000000000000000002A
+:10B62000000000000000000000000000000000001A
+:10B63000000000000000000000000000000000000A
+:10B6400000000000000000000202020202020202EA
+:10B6500002020202020202020000000000000000DA
+:10B6600000000000000000000000000000000000DA
+:10B6700000000000000000000000000000000000CA
+:10B6800000000000000000000000000000000000BA
+:10B6900000000000000000000101010101010101A2
+:10B6A0000101010101010101000000000000000092
+:10B6B000000000000000000000000000000000008A
+:10B6C000000000000000000000000000000000007A
+:10B6D000000000000000000000000000000000006A
+:10B6E0000000000000000000000002000000020254
+:10B6F0000000000000000200000000000000000048
+:10B700000000000000000000000000000000000039
+:10B710000000000000000000000000000000000029
+:10B720000000000000000000000000000000000019
+:10B730000000000000000000000000000000000009
+:10B7400000000000000000000000000000000000F9
+:10B7500000000000000000000000000000000000E9
+:10B7600000000000000000000000000000000000D9
+:10B7700000000000000000000000000000000000C9
+:10B7800000000000000000000000000000000000B9
+:10B7900000000000000000000000000000000000A9
+:10B7A0000000000000000000000000000000000099
+:10B7B0000000000000000000000000000000000089
+:10B7C0000000000000000000000000000000000079
+:10B7D0000000000000000000000000000000000069
+:10B7E0000000000000000000000000000000000059
+:10B7F00000000000000000001E000000000000002B
+:10B800000100010000010000000001000001010131
+:10B810000000000000000000000000000000000028
+:10B820000000000000000000000000000000000018
+:10B830000000000000000000000000000000000008
+:10B8400000000000000000000000000000000000F8
+:10B8500000000000000000000000000000010100E6
+:10B8600000000000000000000000000000000000D8
+:10B8700000000000000000000000000000000000C8
+:10B8800000000000000000000000000000000000B8
+:10B8900000000000000000000000000000000000A8
+:10B8A0000000000000000000000000000000000098
+:10B8B0000000000000000000000000000000000088
+:10B8C0000000000000000000000000000000000078
+:10B8D0000000000000000000000000000000000068
+:10B8E0000000000000000000000000000000000058
+:10B8F0000000000000000000000000000000000048
+:10B900000101020101010101010101010101010126
+:10B910000000000000000000000000000000000027
+:10B920000000000000000000000000000000000017
+:10B930000000000000000000000000000000000007
+:10B9400000000000000000000000000000000000F7
+:10B9500000000000000000000000000000010100E5
+:10B9600000000000000000000000000000000000D7
+:10B9700000000000000000000000000000000000C7
+:10B9800000000000000000000000000000000000B7
+:10B9900000000000000000000000000000000000A7
+:10B9A0000000000000000000000000000001010194
+:10B9B0000000000000000000000000000000000087
+:10B9C0000000000000000000000000000000000077
+:10B9D0000000000000000000000000000000000067
+:10B9E0000000000000000000000000000000000057
+:10B9F0000000000000000000000000000001010045
+:10BA00000202020202020101010101010101010120
+:10BA10000000000000000000000000000000000026
+:10BA20000000000000000000000000000000000016
+:10BA30000000000000000000000000000000000006
+:10BA400000000000000000000000000000000000F6
+:10BA500000000000000000000000000000010100E4
+:10BA600000000000000000000000000000000000D6
+:10BA700000000000000000000000000000000000C6
+:10BA800000000000000000000000000000000000B6
+:10BA900000000000000000000000000000000000A6
+:10BAA0000000000000000000000000010101010191
+:10BAB0000000000000000000000000000000000086
+:10BAC0000000000000000000000000000000000076
+:10BAD0000000000000000000000000000000000066
+:10BAE0000000000000000000000000000000000056
+:10BAF0000000000000000000000000010101010141
+:10BB0000020202020202010102020201010101011C
+:10BB10000000000000000000000000000000000025
+:10BB20000000000000000000000000000000000015
+:10BB30000000000000000000000000000000000005
+:10BB400000000000000000000000000000000000F5
+:10BB500000000000000000000000000100010100E2
+:10BB600000000000000000000000000000000000D5
+:10BB700000000000000000000000000000000000C5
+:10BB800000000000000000000000000000000000B5
+:10BB900000000000000000000000000000000000A5
+:10BBA0000000000000000000000000010101010190
+:10BBB0000000000000000000000000000000000085
+:10BBC0000000000000000000000000000000000075
+:10BBD0000000000000000000000000000000000065
+:10BBE0000000000000000000000000000000000055
+:10BBF000000001000000000000000101010101013E
+:10BC00000202020202020202020202010101010119
+:10BC10000000000000000000000000000000000024
+:10BC20000000000000000000000000000000000014
+:10BC30000000000000000000000000000000000004
+:10BC400000000000000000000000000000000000F4
+:10BC500000000000000000000000000100010101E0
+:10BC600000000000000000000000000000000000D4
+:10BC700000000000000000000000000000000000C4
+:10BC800000000000000000000000000000000000B4
+:10BC900000000000000000000000000000000000A4
+:10BCA000000000000000000000000001010101018F
+:10BCB0000000000000000000000000000000000084
+:10BCC0000000000000000000000000000000000074
+:10BCD0000000000000000000000000000000000064
+:10BCE0000000000000000000000000000000000054
+:10BCF0000001010000000101010101010101010138
+:10BD00000202020202020202020202010101010019
+:10BD10000000000000000000000000000000000023
+:10BD20000000000000000000000000000000000013
+:10BD30000000000000000000000000000000000003
+:10BD400000000000000000000000000000000000F3
+:10BD500000000000000000000000000101010101DE
+:10BD600000000000000000000000000000000000D3
+:10BD700000000000000000000000000000000000C3
+:10BD800000000000000000000000000000000000B3
+:10BD900000000000000000000000000000000000A3
+:10BDA000000000000000000000000001010101018E
+:10BDB0000000000000000000000000000000000083
+:10BDC0000000000000000000000000000000000073
+:10BDD0000000000000000000000000000000000063
+:10BDE0000000000000000000000000000000000053
+:10BDF0000001010000010101010101010101010136
+:10BE00000202020202020202020202010201010017
+:10BE10000000000000000000000000000000000022
+:10BE20000000000000000000000000000000000012
+:10BE30000000000000000000000000000000000002
+:10BE400000000000000000000000000000000000F2
+:10BE500000000000000000000000010101010101DC
+:10BE600000000000000000000000000000000000D2
+:10BE700000000000000000000000000000000000C2
+:10BE800000000000000000000000000000000000B2
+:10BE900000000000000000000000000000000000A2
+:10BEA000000000000000000000000001010101018D
+:10BEB0000000000000000000000000000000000082
+:10BEC0000000000000000000000000000000000072
+:10BED0000000000000000000000000000000000062
+:10BEE0000000000000000000000000000000000052
+:10BEF0000001010101010101010101010101010133
+:10BF00000202020202020202020202020202010014
+:10BF10000000000000000000000000000000000021
+:10BF20000000000000000000000000000000000011
+:10BF30000000000000000000000000000000000001
+:10BF400000000000000000000000000000000000F1
+:10BF500000000000000000000000010101010101DB
+:10BF600000000000000000000000000000000000D1
+:10BF700000000000000000000000000000000000C1
+:10BF800000000000000000000000000000000000B1
+:10BF900000000000000000000000000000000000A1
+:10BFA000000000000000000000000101010101018B
+:10BFB0000000000000000000000000000000000081
+:10BFC0000000000000000000000000000000000071
+:10BFD0000000000000000000000000000000000061
+:10BFE0000000000000000000000000000000000051
+:10BFF0000000000101010101010101010101010134
+:10C000000202020202020202020202020202020012
+:10C010000000000000000000000000000000000020
+:10C020000000000000000000000000000000000010
+:10C030000000000000000000000000000000000000
+:10C0400000000000000000000000000000000000F0
+:10C0500001000000000000000000010101010101D9
+:10C0600000000000000000000000000000000000D0
+:10C0700000000000000000000000000000000000C0
+:10C0800000000000000000000000000000000000B0
+:10C0900000000000000000000000000000000000A0
+:10C0A0000001000000000101010101010101010185
+:10C0B0000000000000000000000000000000000080
+:10C0C0000000000000000000000000000000000070
+:10C0D0000000000000000000000000000000000060
+:10C0E0000000000000000000000000000000000050
+:10C0F0000000000101010101010101010101010133
+:10C100000202020202020202020202020202020011
+:10C11000000000000000000000000000000000001F
+:10C12000000000000000000000000000000000000F
+:10C1300000000000000000000000000000000000FF
+:10C1400000000000000000000000000000000000EF
+:10C1500001010000000000000000010101010101D7
+:10C1600000000000000000000000000000000000CF
+:10C1700000000000000000000000000000000000BF
+:10C1800000000000000000000000000000000000AF
+:10C19000000000000000000000000000000000009F
+:10C1A0000101000000010101010101010101010182
+:10C1B000000000000000000000000000000000007F
+:10C1C000000000000000000000000000000000006F
+:10C1D000000000000000000000000000000000005F
+:10C1E000000000000000000000000000000000004F
+:10C1F000000000000000000000000000000000013E
+:10C200000202020202020202020202020202020010
+:10C21000000000000000000000000000000000001E
+:10C22000000000000000000000000000000000000E
+:10C2300000000000000000000000000000000000FE
+:10C2400000000000000000000000000000000000EE
+:10C2500002010000000000000100010101010101D4
+:10C2600000000000000000000000000000000000CE
+:10C2700000000000000000000000000000000000BE
+:10C2800000000000000000000000000000000000AE
+:10C29000000000000000000000000000000000009E
+:10C2A000010100010101010101010101010101017F
+:10C2B000000000000000000000000000000000007E
+:10C2C000000000000000000000000000000000006E
+:10C2D000000000000000000000000000000000005E
+:10C2E000000000000000000000000000000000004E
+:10C2F000010000000000000000000000000000003D
+:10C300000202010101010202010101020202020016
+:10C31000000000000000000000000000000000001D
+:10C32000000000000000000000000000000000000D
+:10C3300000000000000000000000000000000000FD
+:10C3400000000000000000000000000000000000ED
+:10C3500002010000000000000100010101020201D1
+:10C3600000000000000000000000000000000000CD
+:10C3700000000000000000000000000000000000BD
+:10C3800000000000000000000000000000000000AD
+:10C39000000000000000000000000000000000009D
+:10C3A000010101010101010101010101010101017D
+:10C3B000000000000000000000000000000000007D
+:10C3C000000000000000000000000000000000006D
+:10C3D000000000000000000000000000000000005D
+:10C3E000000000000000000000000000000000004D
+:10C3F000010000000000000000000000000000003C
+:10C400000201010101010101010101020202020018
+:10C41000000000000000000000000000000000001C
+:10C42000000000000000000000000000000000000C
+:10C4300000000000000000000000000000000000FC
+:10C4400000000000000000000000000000000000EC
+:10C4500002020100000000000200020201020201CB
+:10C4600000000000000000000000000000000000CC
+:10C4700000000000000000000000000000000000BC
+:10C4800000000000000000000000000000000000AC
+:10C49000000000000000000000000000000000009C
+:10C4A000020101010101010101010101010101017B
+:10C4B000000000000000000000000000000000007C
+:10C4C000000000000000000000000000000000006C
+:10C4D000000000000000000000000000000000005C
+:10C4E000000000000000000000000000000000004C
+:10C4F000020000000000000000000000000000003A
+:10C500000201010101010101010101020102020018
+:10C51000000000000000000000000000000000001B
+:10C52000000000000000000000000000000000000B
+:10C5300000000000000000000000000000000000FB
+:10C5400000000000000000000000000000000000EB
+:10C5500002020101000100000200020202020202C6
+:10C5600000000000000000000000000000000000CB
+:10C5700000000000000000000000000000000000BB
+:10C5800000000000000000000000000000000000AB
+:10C59000000000000000000000000000000000009B
+:10C5A0000202010101010101010101020202020274
+:10C5B000000000000000000000000000000000007B
+:10C5C000000000000000000000000000000000006B
+:10C5D000000000000000000000000000000000005B
+:10C5E000000000000000000000000000000000004B
+:10C5F0000200000000000000000000000000000039
+:10C600000201010101010101010101010101020019
+:10C61000000000000000000000000000000000001A
+:10C62000000000000000000000000000000000000A
+:10C6300000000000000000000000000000000000FA
+:10C6400000000000000000000000000000000000EA
+:10C6500002020201000100000200020202020202C4
+:10C6600000000000000000000000000000000000CA
+:10C6700000000000000000000000000000000000BA
+:10C6800000000000000000000000000000000000AA
+:10C69000000000000000000000000000000000009A
+:10C6A0000202010101010101010101020202020273
+:10C6B000000000000000000000000000000000007A
+:10C6C000000000000000000000000000000000006A
+:10C6D000000000000000000000000000000000005A
+:10C6E000000000000000000000000000000000004A
+:10C6F0000202020000000000000000000000000034
+:10C700000201010101010101010101010101010019
+:10C710000000000000000000000000000000000019
+:10C720000000000000000000000000000000000009
+:10C7300000000000000000000000000000000000F9
+:10C7400000000000000000000000000000000000E9
+:10C7500002020202010201000200020202020202BF
+:10C7600000000000000000000000000000000000C9
+:10C7700000000000000000000000000000000000B9
+:10C7800000000000000000000000000000000000A9
+:10C790000000000000000000000000000000000099
+:10C7A0000202020202020202020202020202020269
+:10C7B0000000000000000000000000000000000079
+:10C7C0000000000000000000000000000000000069
+:10C7D0000000000000000000000000000000000059
+:10C7E0000000000000000000000000000000000049
+:10C7F0000202020000000000000000000000000033
+:10C800000101010101010101010101010101010019
+:10C810000000000000000000000000000000000018
+:10C820000000000000000000000000000000000008
+:10C8300000000000000000000000000000000000F8
+:10C8400000000000000000000000000000000000E8
+:10C8500002020202020201000100020202020202BE
+:10C8600000000000000000000000000000000000C8
+:10C8700000000000000000000000000000000000B8
+:10C8800000000000000000000000000000000000A8
+:10C890000000000000000000000000000000000098
+:10C8A0000202020202020202020202020202020268
+:10C8B0000000000000000000000000000000000078
+:10C8C0000000000000000000000000000000000068
+:10C8D0000000000000000000000000000000000058
+:10C8E0000000000000000000000000000000000048
+:10C8F0000202020202020202020202020202020218
+:10C90000010100000000010100000001010101001F
+:10C910000000000000000000000000000000000017
+:10C920000000000000000000000000000000000007
+:10C9300000000000000000000000000000000000F7
+:10C9400000000000000000000000000000000000E7
+:10C9500002020202020202010100020202020202BB
+:10C9600000000000000000000000000000000000C7
+:10C9700000000000000000000000000000000000B7
+:10C9800000000000000000000000000000000000A7
+:10C990000000000000000000000000000000000097
+:10C9A0000202020202020202020202020202020267
+:10C9B0000000000000000000000000000000000077
+:10C9C0000000000000000000000000000000000067
+:10C9D0000000000000000000000000000000000057
+:10C9E0000000000000000000000000000000000047
+:10C9F0000202020202020202020202020202020217
+:10CA00000100000000000000000000010001010022
+:10CA10000000000000000000000000000000000016
+:10CA20000000000000000000000000000000000006
+:10CA300000000000000000000000000000000000F6
+:10CA400000000000000000000000000000000000E6
+:10CA500002020202020202020200020202020202B8
+:10CA600000000000000000000000000000000000C6
+:10CA700000000000000000000000000000000000B6
+:10CA800000000000000000000000000000000000A6
+:10CA90000000000000000000000000000000000096
+:10CAA0000202020202020202020202020202020266
+:10CAB0000000000000000000000000000000000076
+:10CAC0000000000000000000000000000000000066
+:10CAD0000000000000000000000000000000000056
+:10CAE0000000000000000000000000000000000046
+:10CAF0000202020202020202020202020202020216
+:10CB00000100000000000000000000000000000024
+:10CB10000000000000000000000000000000000015
+:10CB20000000000000000000000000000000000005
+:10CB300000000000000000000000000000000000F5
+:10CB400000000000000000000000000000000000E5
+:10CB500002020202020202020202010202020202B6
+:10CB600000000000000000000000000000000000C5
+:10CB700000000000000000000000000000000000B5
+:10CB800000000000000000000000000000000000A5
+:10CB90000000000000000000000000000000000095
+:10CBA0000202020202020202020202020202020265
+:10CBB0000000000000000000000000000000000075
+:10CBC0000000000000000000000000000000000065
+:10CBD0000000000000000000000000000000000055
+:10CBE0000000000000000000000000000000000045
+:10CBF0000202020202020202020202020202020215
+:10CC00000100000000000000000000000000000023
+:10CC10000000000000000000000000000000000014
+:10CC20000000000000000000000000000000000004
+:10CC300000000000000000000000000000000000F4
+:10CC400000000000000000000000000000000000E4
+:10CC500002020202020102020002010202020202B8
+:10CC600000000000000000000000000000000000C4
+:10CC700000000000000000000000000000000000B4
+:10CC800000000000000000000000000000000000A4
+:10CC90000000000000000000000000000000000094
+:10CCA0000202020202020202020202020202020264
+:10CCB0000000000000000000000000000000000074
+:10CCC0000000000000000000000000000000000064
+:10CCD0000000000000000000000000000000000054
+:10CCE0000000000000000000000000000000000044
+:10CCF0000202020202020202020202020202020214
+:10CD00000100000000000000000000000000000022
+:10CD10000000000000000000000000000000000013
+:10CD20000000000000000000000000000000000003
+:10CD300000000000000000000000000000000000F3
+:10CD400000000000000000000000000000000000E3
+:10CD500001010101010201010001020101010101C2
+:10CD600000000000000000000000000000000000C3
+:10CD700000000000000000000000000000000000B3
+:10CD800000000000000000000000000000000000A3
+:10CD90000000000000000000000000000000000093
+:10CDA0000202020202020202020202020202020263
+:10CDB0000000000000000000000000000000000073
+:10CDC0000000000000000000000000000000000063
+:10CDD0000000000000000000000000000000000053
+:10CDE0000000000000000000000000000000000043
+:10CDF0000202020202020202020202020202020213
+:10CE0000000001010101000001010100000000001B
+:10CE10000000000000000000000000000000000012
+:10CE20000000000000000000000000000000000002
+:10CE300000000000000000000000000000000000F2
+:10CE400000000000000000000000000000000000E2
+:10CE500002020202020002020002020202020202B6
+:10CE600000000000000000000000000000000000C2
+:10CE700000000000000000000000000000000000B2
+:10CE800000000000000000000000000000000000A2
+:10CE90000000000000000000000000000000000092
+:10CEA0000202020202020202020202020202020262
+:10CEB0000000000000000000000000000000000072
+:10CEC0000000000000000000000000000000000062
+:10CED0000000000000000000000000000000000052
+:10CEE0000000000000000000000000000000000042
+:10CEF0000202020202020202020202020202020212
+:10CF00000101010101010101010101000100000015
+:10CF10000000000000000000000000000000000011
+:10CF20000000000000000000000000000000000001
+:10CF300000000000000000000000000000000000F1
+:10CF400000000000000000000000000000000000E1
+:10CF500000000000000000000000000000000000D1
+:10CF600000000000000000000000000000000000C1
+:10CF700000000000000000000000000000000000B1
+:10CF800000000000000000000000000000000000A1
+:10CF90000000000000000000000000000000000091
+:10CFA0000202020202020202020202020202020261
+:10CFB0000000000000000000000000000000000071
+:10CFC0000000000000000000000000000000000061
+:10CFD0000000000000000000000000000000000051
+:10CFE0000000000000000000000000000000000041
+:10CFF0000202020202020202020202020202020211
+:10D000000101010101010101010101010101010110
+:10D010000000000000000000000000000000000010
+:10D020000000000000000000000000000000000000
+:10D0300000000000000000000000000000000000F0
+:10D0400000000000000000000000000000000000E0
+:10D0500001010101010101010101010101010101C0
+:10D0600000000000000000000000000000000000C0
+:10D0700000000000000000000000000000000000B0
+:10D0800000000000000000000000000000000000A0
+:10D090000000000000000000000000000000000090
+:10D0A0000202020202020202020202020202020260
+:10D0B0000000000000000000000000000000000070
+:10D0C0000000000000000000000000000000000060
+:10D0D0000000000000000000000000000000000050
+:10D0E0000000000000000000000000000000000040
+:10D0F0000000000000000000000000000000000030
+:10D10000010101010101010101010101010101010F
+:10D11000000000000000000000000000000000000F
+:10D1200000000000000000000000000000000000FF
+:10D1300000000000000000000000000000000000EF
+:10D1400000000000000000000000000000000000DF
+:10D1500001010101010101010101010101010101BF
+:10D1600000000000000000000000000000000000BF
+:10D1700000000000000000000000000000000000AF
+:10D18000000000000000000000000000000000009F
+:10D19000000000000000000000000000000000008F
+:10D1A000010101010101010101010101010101016F
+:10D1B000000000000000000000000000000000006F
+:10D1C000000000000000000000000000000000005F
+:10D1D000000000000000000000000000000000004F
+:10D1E000000000000000000000000000000000003F
+:10D1F000000000000000000000000000000000002F
+:10D20000010101010101010101010101010101010E
+:10D21000000000000000000000000000000000000E
+:10D2200000000000000000000000000000000000FE
+:10D2300000000000000000000000000000000000EE
+:10D2400000000000000000000000000000000000DE
+:10D2500001010101010101010101010101010101BE
+:10D2600000000000000000000000000000000000BE
+:10D2700000000000000000000000000000000000AE
+:10D28000000000000000000000000000000000009E
+:10D29000000000000000000000000000000000008E
+:10D2A000010101010101010101010101010101016E
+:10D2B000000000000000000000000000000000006E
+:10D2C000000000000000000000000000000000005E
+:10D2D000000000000000000000000000000000004E
+:10D2E000000000000000000000000000000000003E
+:10D2F000000000000000000000000000000000002E
+:10D30000010101010101010101010101010101010D
+:10D31000000000000000000000000000000000000D
+:10D3200000000000000000000000000000000000FD
+:10D3300000000000000000000000000000000000ED
+:10D3400000000000000000000000000000000000DD
+:10D3500001010101010101010101010101010101BD
+:10D3600000000000000000000000000000000000BD
+:10D3700000000000000000000000000000000000AD
+:10D38000000000000000000000000000000000009D
+:10D39000000000000000000000000000000000008D
+:10D3A000010101010101010101010101010101016D
+:10D3B000000000000000000000000000000000006D
+:10D3C000000000000000000000000000000000005D
+:10D3D000000000000000000000000000000000004D
+:10D3E000000000000000000000000000000000003D
+:10D3F000000000000000000000000000000000002D
+:10D40000010101010101010101010101010101010C
+:10D41000000000000000000000000000000000000C
+:10D4200000000000000000000000000000000000FC
+:10D4300000000000000000000000000000000000EC
+:10D4400000000000000000000000000000000000DC
+:10D4500002020202020202020202020202020202AC
+:10D4600000000000000000000000000000000000BC
+:10D4700000000000000000000000000000000000AC
+:10D48000000000000000000000000000000000009C
+:10D49000000000000000000000000000000000008C
+:10D4A000020202020202020202020202020202025C
+:10D4B000000000000000000000000000000000006C
+:10D4C000000000000000000000000000000000005C
+:10D4D000000000000000000000000000000000004C
+:10D4E000000000000000000000000000000000003C
+:10D4F000000000000000000000000000000000002C
+:10D50000000000000000000000000000000000001B
+:10D51000000000000000000000000000000000000B
+:10D5200000000000000000000000000000000000FB
+:10D5300000000000000000000000000000000000EB
+:10D5400000000000000000000000000000000000DB
+:10D5500000000000000000000000000000000000CB
+:10D5600000000000000000000000000000000000BB
+:10D5700000000000000000000000000000000000AB
+:10D58000000000000000000000000000000000009B
+:10D59000000000000000000000000000000000008B
+:10D5A000000000000000000000000000000000007B
+:10D5B000000000000000000000000000000000006B
+:10D5C000000000000000000000000000000000005B
+:10D5D000000000000000000000000000000000004B
+:10D5E000000000000000000000000000000000003B
+:10D5F000000000000000000000000000000000002B
+:10D600001E000000000000000001010000000000FA
+:10D610000000000000010001000000000000000008
+:10D6200000000000000000000000000000000000FA
+:10D6300000000000000000000000000000000000EA
+:10D6400000000000000000000000000000000000DA
+:10D6500000000000000000000000000000000000CA
+:10D6600000000000000000000000000000000000BA
+:10D6700000000000000000000000000000000000AA
+:10D68000000000000000000000000000000000009A
+:10D69000000000000000000000000000000000008A
+:10D6A000000000000000000000000000000000007A
+:10D6B000000000000000000000000000000000006A
+:10D6C000000000000000000000000000000000005A
+:10D6D000000000000000000000000000000000004A
+:10D6E000000000000000000000000000000000003A
+:10D6F0000000000000000000000000000000020226
+:10D700000002000000000200000101000000010012
+:10D710000000000000010001000000000000000007
+:10D7200000000000000000000000000000000000F9
+:10D7300000000000000000000000000000000000E9
+:10D7400000000000000000000000000000000000D9
+:10D7500000000000000000000000000001000000C8
+:10D7600000000000010100010000000000000000B6
+:10D7700000000000000000000000000000000000A9
+:10D780000000000000000000000000000000000099
+:10D790000000000000000000000000000000000089
+:10D7A0000000000000000000000000000000000079
+:10D7B0000000000000000000000000000000000069
+:10D7C0000000000000000000000000000000000059
+:10D7D0000000000000000000000000000000000049
+:10D7E0000000000000000000000000000000000039
+:10D7F0000000000000000000000000000002020223
+:10D800000002020201010100010102010100010008
+:10D810000000000001010001000000000000000005
+:10D8200000000000000000000000000000000000F8
+:10D8300000000000000000000000000000000000E8
+:10D8400000000000000000000000000000000000D8
+:10D8500000000000000000000000000001000000C7
+:10D8600001000000010101010000000000000000B3
+:10D8700000000000000000000000000000000000A8
+:10D880000000000000000000000000000000000098
+:10D890000000000000000000000000000000000088
+:10D8A0000000000000000000000000000100000077
+:10D8B0000000000000000000000000000000000068
+:10D8C0000000000000000000000000000000000058
+:10D8D0000000000000000000000000000000000048
+:10D8E0000000000000000000000000000000000038
+:10D8F0000000000000000000000002000002010221
+:10D900000101020101010100010202010100010007
+:10D910000001000001010001000000000000000003
+:10D9200000000000000000000000000000000000F7
+:10D9300000000000000000000000000000000000E7
+:10D9400000000000000000000000000000000000D7
+:10D9500000000000000000000000000001000000C6
+:10D9600001000000010101010000000000000000B2
+:10D9700000000000000000000000000000000000A7
+:10D980000000000000000000000000000000000097
+:10D990000000000000000000000000000000000087
+:10D9A0000000000000000000000000000100000076
+:10D9B0000100000000000000000000000000000066
+:10D9C0000000000000000000000000000000000057
+:10D9D0000000000000000000000000000000000047
+:10D9E0000000000000000000000000000000000037
+:10D9F000000000000000000000000202010201011E
+:10DA00000101010101010100020202010100010006
+:10DA10000001010101010000000000000000000001
+:10DA200000000000000000000000000000000000F6
+:10DA300000000000000000000000000000000000E6
+:10DA400000000000000000000000000000000000D6
+:10DA500000000000000000000000000001000000C5
+:10DA600001000000010101010000000000000000B1
+:10DA700000000000000000000000000000000000A6
+:10DA80000000000000000000000000000000000096
+:10DA90000000000000000000000000000000000086
+:10DAA0000000000000000000000000000100000075
+:10DAB0000100000001010000000000000000000063
+:10DAC0000000000000000000000000000000000056
+:10DAD0000000000000000000000000000000000046
+:10DAE0000000000000000000000000000000000036
+:10DAF000000000000000000000000201010101011F
+:10DB00000101010101010100020202010100020004
+:10DB100001020101010101000000000000000000FD
+:10DB200000000000000000000000000000000000F5
+:10DB300000000000000000000000000000000000E5
+:10DB400000000000000000000000000000000000D5
+:10DB500000000000000000000000000101000000C3
+:10DB600001000101010101010000000000000000AE
+:10DB700000000000000000000000000000000000A5
+:10DB80000000000000000000000000000000000095
+:10DB90000000000000000000000000000000000085
+:10DBA0000000000000000000000000000100000074
+:10DBB0000100000001010000000000000000000062
+:10DBC0000000000000000000000000000000000055
+:10DBD0000000000000000000000000000000000045
+:10DBE0000000000000000000000000000000000035
+:10DBF000000000000000000000020201010101011C
+:10DC00000101010101010101020202020100020001
+:10DC100001020101010101000000000000000000FC
+:10DC200000000000000000000000000000000000F4
+:10DC300000000000000000000000000000000000E4
+:10DC400000000000000000000000000000000000D4
+:10DC500000000000000000000000000101000000C2
+:10DC600001000101010101010000000000000000AD
+:10DC700000000000000000000000000000000000A4
+:10DC80000000000000000000000000000000000094
+:10DC90000000000000000000000000000000000084
+:10DCA0000000000000000000000000000100000073
+:10DCB0000100000001010001000000000000000060
+:10DCC0000000000000000000000000000000000054
+:10DCD0000000000000000000000000000000000044
+:10DCE0000000000000000000000000000000000034
+:10DCF000000000000000000000020101010101011C
+:10DD000001010101010101010202020201000201FF
+:10DD100001020202010101000000000000000000F9
+:10DD200000000000000000000000000000000000F3
+:10DD300000000000000000000000000000000000E3
+:10DD400000000000000000000000000000000000D3
+:10DD500000000000000000000001000101000000C0
+:10DD600001000101010101010000000000000000AC
+:10DD700000000000000000000000000000000000A3
+:10DD80000000000000000000000000000000000093
+:10DD90000000000000000000000000000000000083
+:10DDA0000000000000000000000000000100000072
+:10DDB000010000000101010100000000000000005E
+:10DDC0000000000000000000000000000000000053
+:10DDD0000000000000000000000000000000000043
+:10DDE0000000000000000000000000000000000033
+:10DDF000000000000000000000010101010101011C
+:10DE000001010101010101010202020202020202FA
+:10DE100001020202010201000000000000000000F7
+:10DE200000000000000000000000000000000000F2
+:10DE300000000000000000000000000000000000E2
+:10DE400000000000000000000000000000000000D2
+:10DE500000000000000000000001000101000101BD
+:10DE600001010101010101010000000000000000AA
+:10DE700000000000000000000000000000000000A2
+:10DE80000000000000000000000000000000000092
+:10DE90000000000000000000000000000000000082
+:10DEA000000000000000000001010001010200006C
+:10DEB000010002000101010100000000000000005B
+:10DEC0000000000000000000000000000000000052
+:10DED0000000000000000000000000000000000042
+:10DEE0000000000000000000000000000000000032
+:10DEF000000000000000000000010101010101011B
+:10DF000001010101010101010202020202020202F9
+:10DF100001020202020201000000000000000000F5
+:10DF200000000000000000000000000000000000F1
+:10DF300000000000000000000000000000000000E1
+:10DF400000000000000000000000000000000000D1
+:10DF500000000000000000000101010101000101BA
+:10DF600001010101010101010000000000000000A9
+:10DF700000000000000000000000000000000000A1
+:10DF80000000000000000000000000000000000091
+:10DF90000000000000000000000000000000000081
+:10DFA0000000000000000000020100010201010168
+:10DFB000010101000101010100000000000000005A
+:10DFC0000000000000000000000000000000000051
+:10DFD0000000000000000000000000000000000041
+:10DFE0000000000000000000000000000000000031
+:10DFF000000000000000000000010100000100011D
+:10E0000000000100000000010202020202020202FE
+:10E0100002020202020202000000000000000000F2
+:10E0200000000000000000000000000000000000F0
+:10E0300000000000000000000000000000000000E0
+:10E0400000000000000000000000000000000000D0
+:10E0500000000000000000000101010102000101B8
+:10E0600001010101010101010000000000000000A8
+:10E0700000000000000000000000000000000000A0
+:10E080000000000000000000000000000000000090
+:10E090000000000000000000000000000000000080
+:10E0A0000000000000000000020201010201010165
+:10E0B0000201010101010101000000000000000057
+:10E0C0000000000000000000000000000000000050
+:10E0D0000000000000000000000000000000000040
+:10E0E0000000000000000000000000000000000030
+:10E0F0000000000000000000000000000000000020
+:10E1000000000000000000010202020202020202FE
+:10E1100002020202020202000000000000000000F1
+:10E1200000000000000000000000000000000000EF
+:10E1300000000000000000000000000000000000DF
+:10E1400000000000000000000000000000000000CF
+:10E1500000000000000000000202010202000101B4
+:10E1600002010101020202020000000000000000A2
+:10E17000000000000000000000000000000000009F
+:10E18000000000000000000000000000000000008F
+:10E19000000000000000000000000000000000007F
+:10E1A0000000000000000000020202020202010260
+:10E1B0000202010102020101000000000000000053
+:10E1C000000000000000000000000000000000004F
+:10E1D000000000000000000000000000000000003F
+:10E1E000000000000000000000000000000000002F
+:10E1F000000000000000000000000000000000001F
+:10E2000000000000000000000202020202020202FE
+:10E2100002020202020202000000000000000000F0
+:10E2200000000000000000000000000000000000EE
+:10E2300000000000000000000000000000000000DE
+:10E2400000000000000000000000000000000000CE
+:10E2500000000000000000000202020202000101B2
+:10E26000020102020202020200000000000000009F
+:10E27000000000000000000000000000000000009E
+:10E28000000000000000000000000000000000008E
+:10E29000000000000000000000000000000000007E
+:10E2A000000000000000000002020202020202025E
+:10E2B0000202010102020202000000000000000050
+:10E2C000000000000000000000000000000000004E
+:10E2D000000000000000000000000000000000003E
+:10E2E000000000000000000000000000000000002E
+:10E2F000000000000000000000000000000000001E
+:10E3000000000000000000000202010202020202FE
+:10E3100002010202020202000000000000000000F0
+:10E3200000000000000000000000000000000000ED
+:10E3300000000000000000000000000000000000DD
+:10E3400000000000000000000000000000000000CD
+:10E3500000000000000000000202020202010202AE
+:10E36000020202020202020200000000000000009D
+:10E37000000000000000000000000000000000009D
+:10E38000000000000000000000000000000000008D
+:10E39000000000000000000000000000000000007D
+:10E3A000000000000000000002020202020202025D
+:10E3B000020202020202020200000000000000004D
+:10E3C000000000000000000000000000000000004D
+:10E3D000000000000000000000000000000000003D
+:10E3E000000000000000000000000000000000002D
+:10E3F000000000000000000000000000000000001D
+:10E400000000000000000000020101020201010101
+:10E4100002010101020202000000000000000000F1
+:10E4200000000000000000000000000000000000EC
+:10E4300000000000000000000000000000000000DC
+:10E4400000000000000000000000000000000000CC
+:10E4500000000000000000000202020202010202AD
+:10E46000020202020202020200000000000000009C
+:10E47000000000000000000000000000000000009C
+:10E48000000000000000000000000000000000008C
+:10E49000000000000000000000000000000000007C
+:10E4A000000000000000000002020202020202025C
+:10E4B000020202020202020200000000000000004C
+:10E4C000000000000000000000000000000000004C
+:10E4D000000000000000000000000000000000003C
+:10E4E000000000000000000000000000000000002C
+:10E4F000000000000000000000000000000000001C
+:10E500000000000000000000010101010201010102
+:10E5100002010101020202000000000000000000F0
+:10E5200000000000000000000000000000000000EB
+:10E5300000000000000000000000000000000000DB
+:10E5400000000000000000000000000000000000CB
+:10E5500000000000000000000202020202020202AB
+:10E56000020202020202020200000000000000009B
+:10E57000000000000000000000000000000000009B
+:10E58000000000000000000000000000000000008B
+:10E59000000000000000000000000000000000007B
+:10E5A000000000000000000002020202020102015D
+:10E5B000020102020202020200000000000000004C
+:10E5C000000000000000000000000000000000004B
+:10E5D000000000000000000000000000000000003B
+:10E5E000000000000000000000000000000000002B
+:10E5F000000000000000000000000000000000001B
+:10E600000000000000000000010101010101010102
+:10E6100001010101010101000000000000000000F3
+:10E6200000000000000000000000000000000000EA
+:10E6300000000000000000000000000000000000DA
+:10E6400000000000000000000000000000000000CA
+:10E6500000000000000000000202020202020202AA
+:10E66000020202020202020200000000000000009A
+:10E67000000000000000000000000000000000009A
+:10E68000000000000000000000000000000000008A
+:10E69000000000000000000000000000000000007A
+:10E6A000000000000000000002020202020102015C
+:10E6B000020102020202020200000000000000004B
+:10E6C000000000000000000000000000000000004A
+:10E6D000000000000000000000000000000000003A
+:10E6E000000000000000000000000000000000002A
+:10E6F0000000000000000000020000020200020012
+:10E7000002020002020202000101010101010101F5
+:10E7100001010101010101000000000000000000F2
+:10E7200000000000000000000000000000000000E9
+:10E7300000000000000000000000000000000000D9
+:10E7400000000000000000000000000000000000C9
+:10E7500000000000000000000202020202020202A9
+:10E760000202020202020202000000000000000099
+:10E770000000000000000000000000000000000099
+:10E780000000000000000000000000000000000089
+:10E790000000000000000000000000000000000079
+:10E7A000000000000000000001010101010201025F
+:10E7B0000102010101010101000000000000000050
+:10E7C0000000000000000000000000000000000049
+:10E7D0000000000000000000000000000000000039
+:10E7E0000000000000000000000000000000000029
+:10E7F000000000000000000002020002020202020B
+:10E8000002020202020202000101000101010101F3
+:10E8100001000101010101000000000000000000F2
+:10E8200000000000000000000000000000000000E8
+:10E8300000000000000000000000000000000000D8
+:10E8400000000000000000000000000000000000C8
+:10E8500000000000000000000202020202020202A8
+:10E860000202020202020202000000000000000098
+:10E870000000000000000000000000000000000098
+:10E880000000000000000000000000000000000088
+:10E890000000000000000000000000000000000078
+:10E8A0000000000000000000020202020202020258
+:10E8B0000202020202020202000000000000000048
+:10E8C0000000000000000000000000000000000048
+:10E8D0000000000000000000000000000000000038
+:10E8E0000000000000000000000000000000000028
+:10E8F0000000000000000000020202020202020208
+:10E9000002020202020202020000000001000000F6
+:10E9100001000000010101000000000000000000F3
+:10E9200000000000000000000000000000000000E7
+:10E9300000000000000000000000000000000000D7
+:10E9400000000000000000000000000000000000C7
+:10E9500000000000000000000202020202020202A7
+:10E960000202020202020202000000000000000097
+:10E970000000000000000000000000000000000097
+:10E980000000000000000000000000000000000087
+:10E990000000000000000000000000000000000077
+:10E9A0000000000000000000000000000000000067
+:10E9B0000000000000000000000000000000000057
+:10E9C0000000000000000000000000000000000047
+:10E9D0000000000000000000000000000000000037
+:10E9E0000000000000000000000000000000000027
+:10E9F0000000000000000000020202020202020207
+:10EA000002020202020202020000000000000000F6
+:10EA100000000000000000000000000000000000F6
+:10EA200000000000000000000000000000000000E6
+:10EA300000000000000000000000000000000000D6
+:10EA400000000000000000000000000000000000C6
+:10EA500000000000000000000000000000000000B6
+:10EA600000000000000000000000000000000000A6
+:10EA70000000000000000000000000000000000096
+:10EA80000000000000000000000000000000000086
+:10EA90000000000000000000000000000000000076
+:10EAA0000000000000000000000000000000000066
+:10EAB0000000000000000000000000000000000056
+:10EAC0000000000000000000000000000000000046
+:10EAD0000000000000000000000000000000000036
+:10EAE0000000000000000000000000000000000026
+:10EAF0000000000000000000020202020202020206
+:10EB000002020202020202020000000000000000F5
+:10EB100000000000000000000000000000000000F5
+:10EB200000000000000000000000000000000000E5
+:10EB300000000000000000000000000000000000D5
+:10EB400000000000000000000000000000000000C5
+:10EB500000000000000000000000000000000000B5
+:10EB600000000000000000000000000000000000A5
+:10EB70000000000000000000000000000000000095
+:10EB80000000000000000000000000000000000085
+:10EB90000000000000000000000000000000000075
+:10EBA0000000000000000000000000000000000065
+:10EBB0000000000000000000000000000000000055
+:10EBC0000000000000000000000000000000000045
+:10EBD0000000000000000000000000000000000035
+:10EBE0000000000000000000000000000000000025
+:10EBF0000000000000000000020202020202020205
+:10EC000002020202020202020000000000000000F4
+:10EC100000000000000000000000000000000000F4
+:10EC200000000000000000000000000000000000E4
+:10EC300000000000000000000000000000000000D4
+:10EC400000000000000000000000000000000000C4
+:10EC500000000000000000000000000000000000B4
+:10EC600000000000000000000000000000000000A4
+:10EC70000000000000000000000000000000000094
+:10EC80000000000000000000000000000000000084
+:10EC90000000000000000000000000000000000074
+:10ECA0000000000000000000000000000000000064
+:10ECB0000000000000000000000000000000000054
+:10ECC0000000000000000000000000000000000044
+:10ECD0000000000000000000000000000000000034
+:10ECE0000000000000000000000000000000000024
+:10ECF0000000000000000000020202020202020204
+:10ED000002020202020202020000010000000000F2
+:10ED100000010000000000000000000000000000F2
+:10ED200000000000000000000000000000000000E3
+:10ED300000000000000000000000000000000000D3
+:10ED400000000000000000000000000000000000C3
+:10ED500000000000000000000000000000000000B3
+:10ED600000000000000000000000000000000000A3
+:10ED70000000000000000000000000000000000093
+:10ED80000000000000000000000000000000000083
+:10ED90000000000000000000000000000000000073
+:10EDA0000000000000000000000000000000000063
+:10EDB0000000000000000000000000000000000053
+:10EDC0000000000000000000000000000000000043
+:10EDD0000000000000000000000000000000000033
+:10EDE0000000000000000000000000000000000023
+:10EDF0000000000000000000020202020202020203
+:10EE000002020202020202020101010100010101EB
+:10EE100000010101000000000000000000000000EF
+:10EE200000000000000000000000000000000000E2
+:10EE300000000000000000000000000000000000D2
+:10EE400000000000000000000000000000000000C2
+:10EE500000000000000000000101010101010101AA
+:10EE6000010101010101010100000000000000009A
+:10EE70000000000000000000000000000000000092
+:10EE80000000000000000000000000000000000082
+:10EE90000000000000000000000000000000000072
+:10EEA0000000000000000000000000000000000062
+:10EEB0000000000000000000000000000000000052
+:10EEC0000000000000000000000000000000000042
+:10EED0000000000000000000000000000000000032
+:10EEE0000000000000000000000000000000000022
+:10EEF0000000000000000000000000000000000012
+:10EF000000000000000000000101010101010101F9
+:10EF100001010101010101010000000000000000E9
+:10EF200000000000000000000000000000000000E1
+:10EF300000000000000000000000000000000000D1
+:10EF400000000000000000000000000000000000C1
+:10EF500000000000000000000101010101010101A9
+:10EF60000101010101010101000000000000000099
+:10EF70000000000000000000000000000000000091
+:10EF80000000000000000000000000000000000081
+:10EF90000000000000000000000000000000000071
+:10EFA0000000000000000000000000000000000061
+:10EFB0000000000000000000000000000000000051
+:10EFC0000000000000000000000000000000000041
+:10EFD0000000000000000000000000000000000031
+:10EFE0000000000000000000000000000000000021
+:10EFF0000000000000000000000000000000000011
+:10F0000000000000000000000101010101010101F8
+:10F0100001010101010101010000000000000000E8
+:10F0200000000000000000000000000000000000E0
+:10F0300000000000000000000000000000000000D0
+:10F0400000000000000000000000000000000000C0
+:10F0500000000000000000000101010101010101A8
+:10F060000101010101010101000000000000000098
+:10F070000000000000000000000000000000000090
+:10F080000000000000000000000000000000000080
+:10F090000000000000000000000000000000000070
+:10F0A0000000000000000000010101010101010158
+:10F0B0000101010101010101000000000000000048
+:10F0C0000000000000000000000000000000000040
+:10F0D0000000000000000000000000000000000030
+:10F0E0000000000000000000000000000000000020
+:10F0F0000000000000000000000000000000000010
+:10F1000000000000000000000101010101010101F7
+:10F1100001010101010101010000000000000000E7
+:10F1200000000000000000000000000000000000DF
+:10F1300000000000000000000000000000000000CF
+:10F1400000000000000000000000000000000000BF
+:10F1500000000000000000000101010101010101A7
+:10F160000101010101010101000000000000000097
+:10F17000000000000000000000000000000000008F
+:10F18000000000000000000000000000000000007F
+:10F19000000000000000000000000000000000006F
+:10F1A0000000000000000000010101010101010157
+:10F1B0000101010101010101000000000000000047
+:10F1C000000000000000000000000000000000003F
+:10F1D000000000000000000000000000000000002F
+:10F1E000000000000000000000000000000000001F
+:10F1F000000000000000000000000000000000000F
+:10F2000000000000000000000101010101010101F6
+:10F2100001010101010101010000000000000000E6
+:10F2200000000000000000000000000000000000DE
+:10F2300000000000000000000000000000000000CE
+:10F2400000000000000000000000000000000000BE
+:10F25000000000000000000002020202020202029E
+:10F26000020202020202020200000000000000008E
+:10F27000000000000000000000000000000000008E
+:10F28000000000000000000000000000000000007E
+:10F29000000000000000000000000000000000006E
+:10F2A000000000000000000002020202020202024E
+:10F2B000020202020202020200000000000000003E
+:10F2C000000000000000000000000000000000003E
+:10F2D000000000000000000000000000000000002E
+:10F2E000000000000000000000000000000000001E
+:10F2F000000000000000000000000000000000000E
+:10F3000000000000000000000000000000000000FD
+:10F3100000000000000000000000000000000000ED
+:10F3200000000000000000000000000000000000DD
+:10F3300000000000000000000000000000000000CD
+:10F3400000000000000000000000000000000000BD
+:10F3500000000000000000000000000000000000AD
+:10F36000000000000000000000000000000000009D
+:10F37000000000000000000000000000000000008D
+:10F38000000000000000000000000000000000007D
+:10F39000000000000000000000000000000000006D
+:10F3A000000000000000000000000000000000005D
+:10F3B000000000000000000000000000000000004D
+:10F3C000000000000000000000000000000000003D
+:10F3D000000000000000000000000000000000002D
+:10F3E000000000000000000000000000000000001D
+:10F3F000000000000000000000000000000000000D
+:10F4000000000000000000001E00000000000000DE
+:10F4100000000000010001010000010000010101E5
+:10F4200000000000000000000000000000000000DC
+:10F4300000000000000000000000000000000000CC
+:10F4400000000000000000000000000000000000BC
+:10F4500000000000000000000000000000000000AC
+:10F46000000000000000000000000000000000009C
+:10F47000000000000000000000000000000000008C
+:10F48000000000000000000000000000000000007C
+:10F49000000000000000000000000000000000006C
+:10F4A000000000000000000000000000000000005C
+:10F4B000000000000000000000000000000000004C
+:10F4C000000000000000000000000000000000003C
+:10F4D000000000000000000000000000000000002C
+:10F4E000000000000000000000000000000000001C
+:10F4F000000000000000000000000000000000000C
+:10F5000000000100000000000100000001000001F7
+:10F5100000000000020001010000010100010101E2
+:10F5200000000000000000000000000000000000DB
+:10F5300000000000000000000000000000000000CB
+:10F5400000000000000000000000000000000000BB
+:10F5500000000000000000000000000000000000AB
+:10F560000000000000000000000000000000010199
+:10F57000000000000000000000000000000000008B
+:10F58000000000000000000000000000000000007B
+:10F59000000000000000000000000000000000006B
+:10F5A000000000000000000000000000000000005B
+:10F5B000000000000000000000000000000000004B
+:10F5C000000000000000000000000000000000003B
+:10F5D000000000000000000000000000000000002B
+:10F5E000000000000000000000000000000000001B
+:10F5F000000000000000000000000000000000000B
+:10F6000000000100010000000101000101000001F3
+:10F6100000000001020101010000010201020101DC
+:10F6200000000000000000000000000000000000DA
+:10F6300000000000000000000000000000000000CA
+:10F6400000000000000000000000000000000000BA
+:10F6500000000000000000000000000000000000AA
+:10F660000000000000000000000000000000010198
+:10F67000000000000000000000000000000000008A
+:10F68000000000000000000000000000000000007A
+:10F69000000000000000000000000000000000006A
+:10F6A000000000000000000000000000000000005A
+:10F6B000000000000000000000000000000000004A
+:10F6C000000000000000000000000000000000003A
+:10F6D000000000000000000000000000000000002A
+:10F6E000000000000000000000000000000000001A
+:10F6F000000000000000000000000000000000000A
+:10F7000000010100010000000101000101000001F1
+:10F7100000010101020101010000010201020101D9
+:10F7200000000000000000000000000000000000D9
+:10F7300000000000000000000000000000000000C9
+:10F7400000000000000000000000000000000000B9
+:10F7500000000000000000000000000000000000A9
+:10F760000000000000010000000000000000010196
+:10F770000000000000000000000000000000000089
+:10F780000000000000000000000000000000000079
+:10F790000000000000000000000000000000000069
+:10F7A0000000000000000000000000000000000059
+:10F7B0000000000000000000000000000000000049
+:10F7C0000000000000000000000000000000000039
+:10F7D0000000000000000000000000000000000029
+:10F7E0000000000000000000000000000000000019
+:10F7F0000000000000000000000000000000000009
+:10F8000000010100010000000101000101000001F0
+:10F8100000010101020101010000020202020100D7
+:10F8200000000000000000000000000000000000D8
+:10F8300000000000000000000000000000000000C8
+:10F8400000000000000000000000000000000000B8
+:10F8500000000000000000000000000000000000A8
+:10F860000000000000010000000000000000010195
+:10F870000000000000000000000000000000000088
+:10F880000000000000000000000000000000000078
+:10F890000000000000000000000000000000000068
+:10F8A0000000000000000000000000000000000058
+:10F8B0000000000000000000000000000000000048
+:10F8C0000000000000000000000000000000000038
+:10F8D0000000000000000000000000000000000028
+:10F8E0000000000000000000000000000000000018
+:10F8F0000000000000000000000000000000000008
+:10F9000000010100010000010101010101000001ED
+:10F9100000020102020102020201020202020100CF
+:10F9200000000000000000000000000000000000D7
+:10F9300000000000000000000000000000000000C7
+:10F9400000000000000000000000000000000000B7
+:10F9500000000000000000000000000000000000A7
+:10F960000000000000010000000001000000010193
+:10F970000000000000000000000000000000000087
+:10F980000000000000000000000000000000000077
+:10F990000000000000000000000000000000000067
+:10F9A0000000000000000000000000000000000057
+:10F9B0000000000000000000000000000000000047
+:10F9C0000000000000000000000000000000000037
+:10F9D0000000000000000000000000000000000027
+:10F9E0000000000000000000000000000000000017
+:10F9F0000000000000000000000000000000000007
+:10FA000000010100010000010101010101000001EC
+:10FA100002020102020102020202020202020100CB
+:10FA200000000000000000000000000000000000D6
+:10FA300000000000000000000000000000000000C6
+:10FA400000000000000000000000000000000000B6
+:10FA500000000000000000000000000000000000A6
+:10FA60000000010000010000000001000000010191
+:10FA70000000000000000000000000000000000086
+:10FA80000000000000000000000000000000000076
+:10FA90000000000000000000000000000000000066
+:10FAA0000000000000000000000000000000000056
+:10FAB0000000000000000000000000000000000046
+:10FAC0000000000000000000000000000000000036
+:10FAD0000000000000000000000000000000000026
+:10FAE0000000000000000000000000000000000016
+:10FAF0000000000000000000000000000000000006
+:10FB000000010100010000010101010101000001EB
+:10FB100002020202020102020202020202020100C9
+:10FB200000000000000000000000000000000000D5
+:10FB300000000000000000000000000000000000C5
+:10FB400000000000000000000000000000000000B5
+:10FB500000000000000000000000000000000000A5
+:10FB6000000001000001010100000100000001018E
+:10FB70000000000000000000000000000000000085
+:10FB80000000000000000000000000000000000075
+:10FB90000000000000000000000000000000000065
+:10FBA0000000000000000000000000000000000055
+:10FBB0000000000000000000000000000000000045
+:10FBC0000000000000000000000000000000000035
+:10FBD0000000000000000000000000000000000025
+:10FBE0000000000000000000000000000000000015
+:10FBF0000000000000000000000000000000000005
+:10FC000000010100010000010001010101000001EB
+:10FC100002020202020202020202020202020200C6
+:10FC200000000000000000000000000000000000D4
+:10FC300000000000000000000000000000000000C4
+:10FC400000000000000000000000000000000000B4
+:10FC500000000000000000000000000000000000A4
+:10FC6000000101000001010100000100000001018C
+:10FC70000000000000000000000000000000000084
+:10FC80000000000000000000000000000000000074
+:10FC90000000000000000000000000000000000064
+:10FCA0000000000000000000000000000000000054
+:10FCB0000000000000000000000000000000000044
+:10FCC0000000000000000000000000000000000034
+:10FCD0000000000000000000000000000000000024
+:10FCE0000000000000000000000000000000000014
+:10FCF0000000000000000000000000000000000004
+:10FD000000010100010101010001010001000001E9
+:10FD100002020202020202020202020202020200C5
+:10FD200000000000000000000000000000000000D3
+:10FD300000000000000000000000000000000000C3
+:10FD400000000000000000000000000000000000B3
+:10FD500000000000000000000000000000000000A3
+:10FD60000001010101010101000001000001010188
+:10FD70000000000000000000000000000000000083
+:10FD80000000000000000000000000000000000073
+:10FD90000000000000000000000000000000000063
+:10FDA0000000000000000000000000000000000053
+:10FDB0000000000000010000000000000000010140
+:10FDC0000000000000000000000000000000000033
+:10FDD0000000000000000000000000000000000023
+:10FDE0000000000000000000000000000000000013
+:10FDF0000000000000000000000000000000000003
+:10FE000000000100010101010001010001000001E9
+:10FE100002020202020202020202020202020200C4
+:10FE200000000000000000000000000000000000D2
+:10FE300000000000000000000000000000000000C2
+:10FE400000000000000000000000000000000000B2
+:10FE500000000000000000000000000000000000A2
+:10FE60000001010101010101010101010001010184
+:10FE70000000000000000000000000000000000082
+:10FE80000000000000000000000000000000000072
+:10FE90000000000000000000000000000000000062
+:10FEA0000000000000000000000000000000000052
+:10FEB000000001000001000000000000000001013E
+:10FEC0000000000000000000000000000000000032
+:10FED0000000000000000000000000000000000022
+:10FEE0000000000000000000000000000000000012
+:10FEF0000000000000000000000000000000000002
+:10FF000000000101000101010000010000010101E8
+:10FF100002020202010202020202020102010200C6
+:10FF200000000000000000000000000000000000D1
+:10FF300000000000000000000000000000000000C1
+:10FF400000000000000000000000000000000000B1
+:10FF500000000000000000000000000000000000A1
+:10FF60000101010101010101010101010101010181
+:10FF70000000000000000000000000000000000081
+:10FF80000000000000000000000000000000000071
+:10FF90000000000000000000000000000000000061
+:10FFA0000000000000000000000000000000000051
+:10FFB000000001000001000000010000000001013C
+:10FFC0000000000000000000000000000000000031
+:10FFD0000000000000000000000000000000000021
+:10FFE0000000000000000000000000000000000011
+:10FFF0000000000000000000000000000000000001
+:02000002D0002C
+:1000000000000001020101010000010000010100E7
+:1000100002020202010202020102020101010200C7
+:1000200000000000000000000000000000000000D0
+:1000300000000000000000000000000000000000C0
+:1000400000000000000000000000000000000000B0
+:1000500000000000000000000000000000000000A0
+:100060000101010101010101010101010101010180
+:100070000000000000000000000000000000000080
+:100080000000000000000000000000000000000070
+:100090000000000000000000000000000000000060
+:1000A0000000000000000000000000000000000050
+:1000B0000000010001010000000100000100010139
+:1000C0000000000000000000000000000000000030
+:1000D0000000000000000000000000000000000020
+:1000E0000000000000000000000000000000000010
+:1000F0000000000000000000000000000000000000
+:1001000001020001020101010002000000010100E2
+:1001100002020202010202020101010101010200C8
+:1001200000000000000000000000000000000000CF
+:1001300000000000000000000000000000000000BF
+:1001400000000000000000000000000000000000AF
+:10015000000000000000000000000000000000009F
+:10016000010101010102010101010101010102027C
+:10017000000000000000000000000000000000007F
+:10018000000000000000000000000000000000006F
+:10019000000000000000000000000000000000005F
+:1001A000000000000000000000000000000000004F
+:1001B0000000010101010101000100000100010135
+:1001C000000000000000000000000000000000002F
+:1001D000000000000000000000000000000000001F
+:1001E000000000000000000000000000000000000F
+:1001F00000000000000000000000000000000000FF
+:1002000001020001020101020002000000010102DE
+:1002100002010201010201010101010101010200CB
+:1002200000000000000000000000000000000000CE
+:1002300000000000000000000000000000000000BE
+:1002400000000000000000000000000000000000AE
+:10025000000000000000000000000000000000009E
+:100260000202020101020101010102010101020277
+:10027000000000000000000000000000000000007E
+:10028000000000000000000000000000000000006E
+:10029000000000000000000000000000000000005E
+:1002A000000000000000000000000000000000004E
+:1002B0000001010101010101000100010100010132
+:1002C000000000000000000000000000000000002E
+:1002D000000000000000000000000000000000001E
+:1002E000000000000000000000000000000000000E
+:1002F00000000000000000000000000000000000FE
+:1003000002020001020101020002020202010102D6
+:1003100001010101010201010101010101010200CC
+:1003200000000000000000000000000000000000CD
+:1003300000000000000000000000000000000000BD
+:1003400000000000000000000000000000000000AD
+:10035000000000000000000000000000000000009D
+:100360000202020202020202010102010101020272
+:10037000000000000000000000000000000000007D
+:10038000000000000000000000000000000000006D
+:10039000000000000000000000000000000000005D
+:1003A000000000000000000000000000000000004D
+:1003B000010101010101010101010101010101012D
+:1003C000000000000000000000000000000000002D
+:1003D000000000000000000000000000000000001D
+:1003E000000000000000000000000000000000000D
+:1003F00000000000000000000000000000000000FD
+:1004000002020202020202020002020202000102D1
+:1004100001010101010101010101010101010100CD
+:1004200000000000000000000000000000000000CC
+:1004300000000000000000000000000000000000BC
+:1004400000000000000000000000000000000000AC
+:10045000000000000000000000000000000000009C
+:10046000020202020202020202020202010202026D
+:10047000000000000000000000000000000000007C
+:10048000000000000000000000000000000000006C
+:10049000000000000000000000000000000000005C
+:1004A000000000000000000000000000000000004C
+:1004B000010101010101010101010101010101012C
+:1004C000000000000000000000000000000000002C
+:1004D000000000000000000000000000000000001C
+:1004E000000000000000000000000000000000000C
+:1004F00000000000000000000000000000000000FC
+:1005000002020202020202020002020202000102D0
+:1005100001010101000101010101010001000100CF
+:1005200000000000000000000000000000000000CB
+:1005300000000000000000000000000000000000BB
+:1005400000000000000000000000000000000000AB
+:10055000000000000000000000000000000000009B
+:10056000020202020202020202020202020202026B
+:10057000000000000000000000000000000000007B
+:10058000000000000000000000000000000000006B
+:10059000000000000000000000000000000000005B
+:1005A000000000000000000000000000000000004B
+:1005B0000201020102020101010201010101010126
+:1005C000000000000000000000000000000000002B
+:1005D000000000000000000000000000000000001B
+:1005E000000000000000000000000000000000000B
+:1005F00000000000000000000000000000000000FB
+:1006000002020202020202020202020202020202CA
+:1006100001010101000101010000000000000100D2
+:1006200000000000000000000000000000000000CA
+:1006300000000000000000000000000000000000BA
+:1006400000000000000000000000000000000000AA
+:10065000000000000000000000000000000000009A
+:10066000020202020202020202020202020202026A
+:10067000000000000000000000000000000000007A
+:10068000000000000000000000000000000000006A
+:10069000000000000000000000000000000000005A
+:1006A000000000000000000000000000000000004A
+:1006B000020202020202010101020102020102021F
+:1006C000000000000000000000000000000000002A
+:1006D000000000000000000000000000000000001A
+:1006E000000000000000000000000000000000000A
+:1006F00000000000000000000000000000000000FA
+:1007000002020202020202020202020202020202C9
+:1007100000000000000100000000000000000100D7
+:1007200000000000000000000000000000000000C9
+:1007300000000000000000000000000000000000B9
+:1007400000000000000000000000000000000000A9
+:100750000000000000000000000000000000000099
+:100760000202020202020202020202020202020269
+:100770000000000000000000000000000000000079
+:100780000000000000000000000000000000000069
+:100790000000000000000000000000000000000059
+:1007A0000000000000000000000000000000000049
+:1007B000020202020202020202020102020102021B
+:1007C0000000000000000000000000000000000029
+:1007D0000000000000000000000000000000000019
+:1007E0000000000000000000000000000000000009
+:1007F00000000000000000000000000000000000F9
+:1008000002020202020202020202020202020202C8
+:1008100000000000000000000000000000000000D8
+:1008200000000000000000000000000000000000C8
+:1008300000000000000000000000000000000000B8
+:1008400000000000000000000000000000000000A8
+:100850000000000000000000000000000000000098
+:100860000202020202020202020202020202020268
+:100870000000000000000000000000000000000078
+:100880000000000000000000000000000000000068
+:100890000000000000000000000000000000000058
+:1008A0000000000000000000000000000000000048
+:1008B0000202020202020202020202020202020218
+:1008C0000000000000000000000000000000000028
+:1008D0000000000000000000000000000000000018
+:1008E0000000000000000000000000000000000008
+:1008F00000000000000000000000000000000000F8
+:1009000002020202020202020202020202020202C7
+:1009100000000000000000000000000000000000D7
+:1009200000000000000000000000000000000000C7
+:1009300000000000000000000000000000000000B7
+:1009400000000000000000000000000000000000A7
+:100950000000000000000000000000000000000097
+:100960000202020202020202020202020202020267
+:100970000000000000000000000000000000000077
+:100980000000000000000000000000000000000067
+:100990000000000000000000000000000000000057
+:1009A0000000000000000000000000000000000047
+:1009B0000202020202020202020202020202020217
+:1009C0000000000000000000000000000000000027
+:1009D0000000000000000000000000000000000017
+:1009E0000000000000000000000000000000000007
+:1009F00000000000000000000000000000000000F7
+:100A000002020202020202020202020202020202C6
+:100A100000000000010000000000000100010000D3
+:100A200000000000000000000000000000000000C6
+:100A300000000000000000000000000000000000B6
+:100A400000000000000000000000000000000000A6
+:100A50000000000000000000000000000000000096
+:100A60000202020202020202020202020202020266
+:100A70000000000000000000000000000000000076
+:100A80000000000000000000000000000000000066
+:100A90000000000000000000000000000000000056
+:100AA0000000000000000000000000000000000046
+:100AB0000202020202020202020202020202020216
+:100AC0000000000000000000000000000000000026
+:100AD0000000000000000000000000000000000016
+:100AE0000000000000000000000000000000000006
+:100AF00000000000000000000000000000000000F6
+:100B000002020202020202020202020202020202C5
+:100B100000000000010000000101010101010000CE
+:100B200000000000000000000000000000000000C5
+:100B300000000000000000000000000000000000B5
+:100B400000000000000000000000000000000000A5
+:100B50000000000000000000000000000000000095
+:100B60000202020202020202020202020202020265
+:100B70000000000000000000000000000000000075
+:100B80000000000000000000000000000000000065
+:100B90000000000000000000000000000000000055
+:100BA0000000000000000000000000000000000045
+:100BB0000202020202020202020202020202020215
+:100BC0000000000000000000000000000000000025
+:100BD0000000000000000000000000000000000015
+:100BE0000000000000000000000000000000000005
+:100BF00000000000000000000000000000000000F5
+:100C000002020202020202020202020202020202C4
+:100C100001010101010001010101010101010000C7
+:100C200000000000000000000000000000000000C4
+:100C300000000000000000000000000000000000B4
+:100C400000000000000000000000000000000000A4
+:100C50000000000000000000000000000000000094
+:100C60000202020202020202020202020202020264
+:100C70000000000000000000000000000000000074
+:100C80000000000000000000000000000000000064
+:100C90000000000000000000000000000000000054
+:100CA0000000000000000000000000000000000044
+:100CB0000202020202020202020202010202020215
+:100CC0000000000000000000000000000000000024
+:100CD0000000000000000000000000000000000014
+:100CE0000000000000000000000000000000000004
+:100CF00000000000000000000000000000000000F4
+:100D000000000200000000000200000002000000DD
+:100D100001010101010101010101010101010101C3
+:100D200000000000000000000000000000000000C3
+:100D300000000000000000000000000000000000B3
+:100D400000000000000000000000000000000000A3
+:100D50000000000000000000000000000000000093
+:100D60000202020202020202020202020202020263
+:100D70000000000000000000000000000000000073
+:100D80000000000000000000000000000000000063
+:100D90000000000000000000000000000000000053
+:100DA0000000000000000000000000000000000043
+:100DB0000202020201020202010102020102020217
+:100DC0000000000000000000000000000000000023
+:100DD0000000000000000000000000000000000013
+:100DE0000000000000000000000000000000000003
+:100DF00000000000000000000000000000000000F3
+:100E000000000200000000000200000002000000DC
+:100E100001010101010101010101010101010101C2
+:100E200000000000000000000000000000000000C2
+:100E300000000000000000000000000000000000B2
+:100E400000000000000000000000000000000000A2
+:100E50000000000000000000000000000000000092
+:100E60000101010101010101010101010101010172
+:100E70000000000000000000000000000000000072
+:100E80000000000000000000000000000000000062
+:100E90000000000000000000000000000000000052
+:100EA0000000000000000000000000000000000042
+:100EB000010101010201010102020100020101011F
+:100EC0000000000000000000000000000000000022
+:100ED0000000000000000000000000000000000012
+:100EE0000000000000000000000000000000000002
+:100EF00000000000000000000000000000000000F2
+:100F000000000200000000000200000000000000DD
+:100F100001010101010101010101010101010101C1
+:100F200000000000000000000000000000000000C1
+:100F300000000000000000000000000000000000B1
+:100F400000000000000000000000000000000000A1
+:100F50000000000000000000000000000000000091
+:100F60000101010101010101010101010101010171
+:100F70000000000000000000000000000000000071
+:100F80000000000000000000000000000000000061
+:100F90000000000000000000000000000000000051
+:100FA0000000000000000000000000000000000041
+:100FB000020202020002020200000200000202021B
+:100FC0000000000000000000000000000000000021
+:100FD0000000000000000000000000000000000011
+:100FE0000000000000000000000000000000000001
+:100FF00000000000000000000000000000000000F1
+:1010000000000200000000000000000000000000DE
+:1010100001010101010101010101010101010101C0
+:1010200000000000000000000000000000000000C0
+:1010300000000000000000000000000000000000B0
+:1010400000000000000000000000000000000000A0
+:101050000000000000000000000000000000000090
+:101060000101010101010101010101010101010170
+:101070000000000000000000000000000000000070
+:101080000000000000000000000000000000000060
+:101090000000000000000000000000000000000050
+:1010A0000000000000000000000000000000000040
+:1010B0000101010101010101010101010101010120
+:1010C0000000000000000000000000000000000020
+:1010D0000000000000000000000000000000000010
+:1010E0000000000000000000000000000000000000
+:1010F00000000000000000000000000000000000F0
+:1011000000000200000000000000000000000000DD
+:1011100000000000000000000000000000000000CF
+:1011200000000000000000000000000000000000BF
+:1011300000000000000000000000000000000000AF
+:10114000000000000000000000000000000000009F
+:10115000000000000000000000000000000000008F
+:10116000000000000000000000000000000000007F
+:10117000000000000000000000000000000000006F
+:10118000000000000000000000000000000000005F
+:10119000000000000000000000000000000000004F
+:1011A000000000000000000000000000000000003F
+:1011B000000000000000000000000000000000002F
+:1011C000000000000000000000000000000000001F
+:1011D000000000000000000000000000000000000F
+:1011E00000000000000000000000000000000000FF
+:1011F00000000000000000000000000000000000EF
+:1012000000000000000000000000000000000000DE
+:101210001E000000000000000200020200000100A9
+:1012200000000101010000010000000000000000BA
+:1012300000000000000000000000000000000000AE
+:10124000000000000000000000000000000000009E
+:10125000000000000000000000000000000000008E
+:10126000000000000000000000000000000000007E
+:10127000000000000000000000000000000000006E
+:10128000000000000000000000000000000000005E
+:10129000000000000000000000000000000000004E
+:1012A000000000000000000000000000000000003E
+:1012B000000000000000000000000000000000002E
+:1012C000000000000000000000000000000000001E
+:1012D000000000000000000000000000000000000E
+:1012E00000000000000000000000000000000000FE
+:1012F00000000000000000000000000000000000EE
+:1013000000000000000000000001010101000100D8
+:1013100000000000000000000202020202000101C1
+:1013200001010201020101010000000000000000B3
+:1013300000000000000000000000000000000000AD
+:10134000000000000000000000000000000000009D
+:10135000000000000000000000000000000000008D
+:10136000000000000000000000000000000000007D
+:10137000000000000000000000000000000000006D
+:10138000000000000000000000000000000000005D
+:10139000000000000000000000000000000000004D
+:1013A000000000000000000000000000000000003D
+:1013B000000000000000000000000000000100002C
+:1013C000000000000000000000000000000000001D
+:1013D000000000000000000000000000000000000D
+:1013E00000000000000000000000000000000000FD
+:1013F00000000000000000000000000000000000ED
+:1014000000000000000000000001010101000100D7
+:1014100000000000000000000202020202000102BF
+:1014200002020201020102010000000000000000AF
+:1014300000000000000000000000000000000000AC
+:10144000000000000000000000000000000000009C
+:10145000000000000000000000000000000000008C
+:10146000000000000000000000000000000000007C
+:10147000000000000000000000000000000000006C
+:10148000000000000000000000000000000000005C
+:10149000000000000000000000000000000000004C
+:1014A000000000000000000000000000000000003C
+:1014B000000000000000000000000000010100002A
+:1014C000000001000000000000000000000000001B
+:1014D000000000000000000000000000000000000C
+:1014E00000000000000000000000000000000000FC
+:1014F00000000000000000000000000000000000EC
+:1015000000000000000000000001010101000100D6
+:1015100000000000000000000202020202020102BC
+:1015200002020201020102010000000000000000AE
+:1015300000000000000000000000000000000000AB
+:10154000000000000000000000000000000000009B
+:10155000000000000000000000000000000000008B
+:10156000000000000000000000000000000000007B
+:10157000000000000000000000000000000000006B
+:10158000000000000000000000000000000000005B
+:10159000000000000000000000000000000000004B
+:1015A000000000000000000000000000000000003B
+:1015B0000000000000000000000000000101010028
+:1015C000000001000000000000000000000000001A
+:1015D000000000000000000000000000000000000B
+:1015E00000000000000000000000000000000000FB
+:1015F00000000000000000000000000000000000EB
+:1016000000000000000000000001010101000100D5
+:1016100000000000000000000202020202020102BB
+:1016200002020201020102000000000000000000AE
+:1016300000000000000000000000000000000000AA
+:10164000000000000000000000000000000000009A
+:10165000000000000000000000000000000000008A
+:10166000000000000000000000000000000000007A
+:10167000000000000000000000000000000000006A
+:10168000000000000000000000000000000000005A
+:10169000000000000000000000000000000000004A
+:1016A000000000000000000000000000000000003A
+:1016B0000000000000000000000000000101010027
+:1016C0000000010000000000000000000000000019
+:1016D000000000000000000000000000000000000A
+:1016E00000000000000000000000000000000000FA
+:1016F00000000000000000000000000000000000EA
+:1017000000000000000000000001010101000100D4
+:1017100000000000000000000202020202020202B9
+:1017200002020201020202000000000000000000AC
+:1017300000000000000000000000000000000000A9
+:101740000000000000000000000000000000000099
+:101750000000000000000000000000000000000089
+:101760000000000000000000000000000000000079
+:101770000000000000000000000000000000000069
+:101780000000000000000000000000000000000059
+:101790000000000000000000000000000000000049
+:1017A0000000000000000000000000000000000039
+:1017B0000000000000000000000000000101010026
+:1017C0000000010001000000000000000000000017
+:1017D0000000000000000000000000000000000009
+:1017E00000000000000000000000000000000000F9
+:1017F00000000000000000000000000000000000E9
+:1018000000000000000000000001010101000100D3
+:1018100000000000000000000202020202020202B8
+:1018200002020201020202000000000000000000AB
+:1018300000000000000000000000000000000000A8
+:101840000000000000000000000000000000000098
+:101850000000000000000000000000000000000088
+:101860000000000000000000000000000000000078
+:101870000000000100000000000000000000000067
+:101880000000000000000000000000000000000058
+:101890000000000000000000000000000000000048
+:1018A0000000000000000000000000000000000038
+:1018B0000000000000000000000000000101010025
+:1018C0000000010001000000000000000000000016
+:1018D0000000000000000000000000000000000008
+:1018E00000000000000000000000000000000000F8
+:1018F00000000000000000000000000000000000E8
+:1019000000000000000000000001010101000100D2
+:1019100000000000000000000202020202020202B7
+:1019200002020202020202000000000000000000A9
+:1019300000000000000000000000000000000000A7
+:101940000000000000000000000000000000000097
+:101950000000000000000000000000000000000087
+:101960000000000000000000000000000000000077
+:101970000000000100000000000000000000000066
+:101980000000000000000000000000000000000057
+:101990000000000000000000000000000000000047
+:1019A0000000000000000000000000000000000037
+:1019B0000000000000000000000000000101010024
+:1019C0000000010001000000000000000000000015
+:1019D0000000000000000000000000000000000007
+:1019E00000000000000000000000000000000000F7
+:1019F00000000000000000000000000000000000E7
+:101A000000000000000000000001010101000100D1
+:101A100000000000000000000202020202020202B6
+:101A200002020202020202000000000000000000A8
+:101A300000000000000000000000000000000000A6
+:101A40000000000000000000000000000000000096
+:101A50000000000000000000000000000000000086
+:101A60000000000000000000000000000000000076
+:101A70000000000100000000000000000000000065
+:101A80000000000000000000000000000000000056
+:101A90000000000000000000000000000000000046
+:101AA0000000000000000000000000000000000036
+:101AB0000000000000000000000000000101010122
+:101AC0000100010001000000000000000000000013
+:101AD0000000000000000000000000000000000006
+:101AE00000000000000000000000000000000000F6
+:101AF00000000000000000000000000000000000E6
+:101B000000000000000000000001010101000100D0
+:101B100000000000010000010202020202020202B3
+:101B200002020202020202000000000000000000A7
+:101B300000000000000000000000000000000000A5
+:101B40000000000000000000000000000000000095
+:101B50000000000000000000000000000000000085
+:101B60000000000000000000000000000000000075
+:101B70000000000100000000000000000000000064
+:101B80000000000000000000000000000000000055
+:101B90000000000000000000000000000000000045
+:101BA0000000000000000000000000000000000035
+:101BB0000000000000000000000000000101010121
+:101BC0000100010101000000000000000000000011
+:101BD0000000000000000000000000000000000005
+:101BE00000000000000000000000000000000000F5
+:101BF00000000000000000000000000000000000E5
+:101C000000000000000000000000010101000100D0
+:101C100000000000010001010202010101020202B4
+:101C200002020102010201000000000000000000A9
+:101C300000000000000000000000000000000000A4
+:101C40000000000000000000000000000000000094
+:101C50000000000000000000000000000000000084
+:101C60000000000000000000010000000000000073
+:101C70000000000101000000000000000000000062
+:101C80000000000000000000000000000000000054
+:101C90000000000000000000000000000000000044
+:101CA0000000000000000000000000000000000034
+:101CB000000000000000000000000000020201011E
+:101CC000010101010100000000000000000000000F
+:101CD0000000000000000000000000000000000004
+:101CE00000000000000000000000000000000000F4
+:101CF00000000000000000000000000000000000E4
+:101D000000000000000000000000020201000100CD
+:101D100000000000010001010201010101010201B6
+:101D200001010102010201000000000000000000AA
+:101D300000000000000000000000000000000000A3
+:101D40000000000000000000000000000000000093
+:101D50000000000000000000000000000000000083
+:101D60000000000000000000020000000000000170
+:101D7000010100010101000000000000000000005E
+:101D80000000000000000000000000000000000053
+:101D90000000000000000000000000000000000043
+:101DA0000000000000000000000000000000000033
+:101DB000000000000000000001000000020202011B
+:101DC000010102010100000000000000000000000D
+:101DD0000000000000000000000000000000000003
+:101DE00000000000000000000000000000000000F3
+:101DF00000000000000000000000000000000000E3
+:101E000000000000000000000000020202010101C9
+:101E100001010000010001010101010101010201B4
+:101E200001010102010201000000000000000000A9
+:101E300000000000000000000000000000000000A2
+:101E40000000000000000000000000000000000092
+:101E50000000000000000000000000000000000082
+:101E6000000000000000000002000000000000016F
+:101E7000010100010101000100000000000000005C
+:101E80000000000000000000000000000000000052
+:101E90000000000000000000000000000000000042
+:101EA0000000000000000000000000000000000032
+:101EB0000000000000000000020000000202020119
+:101EC000010102010200000000000000000000000B
+:101ED0000000000000000000000000000000000002
+:101EE00000000000000000000000000000000000F2
+:101EF00000000000000000000000000000000000E2
+:101F000000000000000000000100020202010201C6
+:101F100001010001010001010101010101010201B2
+:101F200001010102010101000000000000000000A9
+:101F300000000000000000000000000000000000A1
+:101F40000000000000000000000000000000000091
+:101F50000000000000000000000000000000000081
+:101F6000000000000000000002000000000100016D
+:101F7000010100010101010100000000000000005A
+:101F80000000000000000000000000000000000051
+:101F90000000000000000000000000000000000041
+:101FA0000000000000000000000000000000000031
+:101FB0000000000000000000020001000202020216
+:101FC0000201020102000001000000000000000008
+:101FD0000000000000000000000000000000000001
+:101FE00000000000000000000000000000000000F1
+:101FF00000000000000000000000000000000000E1
+:1020000000000000000000000102020202010201C3
+:1020100001010001010101010101010101010101B1
+:1020200001010102010101000000000000000000A8
+:1020300000000000000000000000000000000000A0
+:102040000000000000000000000000000000000090
+:102050000000000000000000000000000000000080
+:102060000000000000000000020001000001010269
+:102070000202010202010101000000000000000054
+:102080000000000000000000000000000000000050
+:102090000000000000000000000000000000000040
+:1020A0000000000000000000000000000000000030
+:1020B0000000000000000000020001000202020215
+:1020C0000202020102010101000000000000000004
+:1020D0000000000000000000000000000000000000
+:1020E00000000000000000000000000000000000F0
+:1020F00000000000000000000000000000000000E0
+:1021000000000000000000000202020202010201C1
+:1021100001010101010101010101010101010101AF
+:1021200001010101010101000000000000000000A8
+:10213000000000000000000000000000000000009F
+:10214000000000000000000000000000000000008F
+:10215000000000000000000000000000000000007F
+:102160000000000000000000020101000102010265
+:102170000202010202010101000000000000000053
+:10218000000000000000000000000000000000004F
+:10219000000000000000000000000000000000003F
+:1021A000000000000000000000000000000000002F
+:1021B0000000000000000000020002010202020212
+:1021C0000202020102010101000000000000000003
+:1021D00000000000000000000000000000000000FF
+:1021E00000000000000000000000000000000000EF
+:1021F00000000000000000000000000000000000DF
+:1022000000000000000000000202020202010201C0
+:1022100000010101020101010101010101010101AE
+:1022200001010101010101000000000000000000A7
+:10223000000000000000000000000000000000009E
+:10224000000000000000000000000000000000008E
+:10225000000000000000000000000000000000007E
+:102260000000000000000000020202000102010262
+:102270000202020202020101000000000000000050
+:10228000000000000000000000000000000000004E
+:10229000000000000000000000000000000000003E
+:1022A000000000000000000000000000000000002E
+:1022B000000000000000000002010202020202020F
+:1022C0000202020202010101000000000000000001
+:1022D00000000000000000000000000000000000FE
+:1022E00000000000000000000000000000000000EE
+:1022F00000000000000000000000000000000000DE
+:1023000000000000000000000202020202020202BD
+:1023100000020101020102020100000000000100B0
+:1023200000000001000100000000000000000000AB
+:10233000000000000000000000000000000000009D
+:10234000000000000000000000000000000000008D
+:10235000000000000000000000000000000000007D
+:10236000000000000000000002020200020202025F
+:10237000020202020202020200000000000000004D
+:10238000000000000000000000000000000000004D
+:10239000000000000000000000000000000000003D
+:1023A000000000000000000000000000000000002D
+:1023B000000000000000000002020202020202020D
+:1023C0000202020202010101000000000000000000
+:1023D00000000000000000000000000000000000FD
+:1023E00000000000000000000000000000000000ED
+:1023F00000000000000000000000000000000000DD
+:1024000000000000000000000202020202020202BC
+:1024100002020001020102020000000000000100AF
+:1024200000000001000000000000000000000000AB
+:10243000000000000000000000000000000000009C
+:10244000000000000000000000000000000000008C
+:10245000000000000000000000000000000000007C
+:10246000000000000000000002020202020202025C
+:10247000020202020202020200000000000000004C
+:10248000000000000000000000000000000000004C
+:10249000000000000000000000000000000000003C
+:1024A000000000000000000000000000000000002C
+:1024B000000000000000000002020202020202020C
+:1024C00002020202020202020000000000000000FC
+:1024D00000000000000000000000000000000000FC
+:1024E00000000000000000000000000000000000EC
+:1024F00000000000000000000000000000000000DC
+:1025000000000000000000000202020202020202BB
+:1025100002020002020202020000000000000000AD
+:1025200000000000000000000000000000000000AB
+:10253000000000000000000000000000000000009B
+:10254000000000000000000000000000000000008B
+:10255000000000000000000000000000000000007B
+:10256000000000000000000002020202020202025B
+:10257000020202020202020200000000000000004B
+:10258000000000000000000000000000000000004B
+:10259000000000000000000000000000000000003B
+:1025A000000000000000000000000000000000002B
+:1025B000000000000000000002020202020202020B
+:1025C00002020202020202020000000000000000FB
+:1025D00000000000000000000000000000000000FB
+:1025E00000000000000000000000000000000000EB
+:1025F00000000000000000000000000000000000DB
+:1026000000000000000000000202020202020202BA
+:1026100002020202020202020000000000000000AA
+:1026200000000000000000000000000000000000AA
+:10263000000000000000000000000000000000009A
+:10264000000000000000000000000000000000008A
+:10265000000000000000000000000000000000007A
+:10266000000000000000000001020202020102015D
+:10267000010101020102020200000000000000004E
+:10268000000000000000000000000000000000004A
+:10269000000000000000000000000000000000003A
+:1026A000000000000000000000000000000000002A
+:1026B0000000000000000000010200000102010112
+:1026C00001010202010202020000000000000000FD
+:1026D00000000000000000000000000000000000FA
+:1026E00000000000000000000000000000000000EA
+:1026F00000000000000000000000000000000000DA
+:1027000000000000000000000202020202020202B9
+:1027100002020202020202020000000000000000A9
+:1027200000000000000000000000000000000000A9
+:102730000000000000000000000000000000000099
+:102740000000000000000000000000000000000089
+:102750000000000000000000000000000000000079
+:102760000000000000000000020202020202020259
+:102770000202020202020202000000000000000049
+:102780000000000000000000000000000000000049
+:102790000000000000000000000000000000000039
+:1027A0000000000000000000000000000000000029
+:1027B000000000000000000002020000020102020E
+:1027C00002020102020202020000000000000000FA
+:1027D00000000000000000000000000000000000F9
+:1027E00000000000000000000000000000000000E9
+:1027F00000000000000000000000000000000000D9
+:1028000000000000000000000202020202020202B8
+:1028100002020202020202020001010101010001A2
+:1028200001010100010001000000000000000000A3
+:102830000000000000000000000000000000000098
+:102840000000000000000000000000000000000088
+:102850000000000000000000000000000000000078
+:102860000000000000000000000000000000000068
+:102870000000000000000000000000000000000058
+:102880000000000000000000000000000000000048
+:102890000000000000000000000000000000000038
+:1028A0000000000000000000000000000000000028
+:1028B0000000000000000000000000000002000016
+:1028C0000000020000000000000000000000000006
+:1028D00000000000000000000000000000000000F8
+:1028E00000000000000000000000000000000000E8
+:1028F00000000000000000000000000000000000D8
+:1029000000000000000000000202020202020202B7
+:1029100002020202020202020101010101010001A0
+:1029200001010100010101000000000000000000A1
+:102930000000000000000000000000000000000097
+:102940000000000000000000000000000000000087
+:102950000000000000000000000000000000000077
+:102960000000000000000000000000000000000067
+:102970000000000000000000000000000000000057
+:102980000000000000000000000000000000000047
+:102990000000000000000000000000000000000037
+:1029A0000000000000000000000000000000000027
+:1029B0000000000000000000000000000000000017
+:1029C0000000000000000000000000000000000007
+:1029D00000000000000000000000000000000000F7
+:1029E00000000000000000000000000000000000E7
+:1029F00000000000000000000000000000000000D7
+:102A000000000000000000000202020202020202B6
+:102A1000020202020202020201010101010101019E
+:102A2000010101010101010000000000000000009F
+:102A30000000000000000000000000000000000096
+:102A40000000000000000000000000000000000086
+:102A50000000000000000000000000000000000076
+:102A6000000000000000000001010101010101015E
+:102A7000010101010101010100000000000000004E
+:102A80000000000000000000000000000000000046
+:102A90000000000000000000000000000000000036
+:102AA0000000000000000000000000000000000026
+:102AB0000000000000000000000000000000000016
+:102AC0000000000000000000000000000000000006
+:102AD00000000000000000000000000000000000F6
+:102AE00000000000000000000000000000000000E6
+:102AF00000000000000000000000000000000000D6
+:102B000000000000000000000002000002000200BF
+:102B100000000000000000000101010101010101AD
+:102B2000010101010101010100000000000000009D
+:102B30000000000000000000000000000000000095
+:102B40000000000000000000000000000000000085
+:102B50000000000000000000000000000000000075
+:102B6000000000000000000001010101010101015D
+:102B7000010101010101010100000000000000004D
+:102B80000000000000000000000000000000000045
+:102B90000000000000000000000000000000000035
+:102BA0000000000000000000000000000000000025
+:102BB0000000000000000000000000000000000015
+:102BC0000000000000000000000000000000000005
+:102BD00000000000000000000000000000000000F5
+:102BE00000000000000000000000000000000000E5
+:102BF00000000000000000000000000000000000D5
+:102C000000000000000000000002000000000200C0
+:102C100000000000000000000101010101010101AC
+:102C2000010101010101010100000000000000009C
+:102C30000000000000000000000000000000000094
+:102C40000000000000000000000000000000000084
+:102C50000000000000000000000000000000000074
+:102C6000000000000000000001010101010101015C
+:102C7000010101010101010100000000000000004C
+:102C80000000000000000000000000000000000044
+:102C90000000000000000000000000000000000034
+:102CA0000000000000000000000000000000000024
+:102CB000000000000000000001010101010101010C
+:102CC00001010101010101010000000000000000FC
+:102CD00000000000000000000000000000000000F4
+:102CE00000000000000000000000000000000000E4
+:102CF00000000000000000000000000000000000D4
+:102D000000000000000000000002000000000000C1
+:102D100000000000000000000101010101010101AB
+:102D2000010101010101010100000000000000009B
+:102D30000000000000000000000000000000000093
+:102D40000000000000000000000000000000000083
+:102D50000000000000000000000000000000000073
+:102D6000000000000000000001010101010101015B
+:102D7000010101010101010100000000000000004B
+:102D80000000000000000000000000000000000043
+:102D90000000000000000000000000000000000033
+:102DA0000000000000000000000000000000000023
+:102DB000000000000000000001010101010101010B
+:102DC00001010101010101010000000000000000FB
+:102DD00000000000000000000000000000000000F3
+:102DE00000000000000000000000000000000000E3
+:102DF00000000000000000000000000000000000D3
+:102E000000000000000000000000000000000000C2
+:102E100000000000000000000101010101010101AA
+:102E2000010101010101010100000000000000009A
+:102E30000000000000000000000000000000000092
+:102E40000000000000000000000000000000000082
+:102E50000000000000000000000000000000000072
+:102E60000000000000000000020202020202020252
+:102E70000202020202020202000000000000000042
+:102E80000000000000000000000000000000000042
+:102E90000000000000000000000000000000000032
+:102EA0000000000000000000000000000000000022
+:102EB0000000000000000000020202020202020202
+:102EC00002020202020202020000000000000000F2
+:102ED00000000000000000000000000000000000F2
+:102EE00000000000000000000000000000000000E2
+:102EF00000000000000000000000000000000000D2
+:102F000000000000000000000000000000000000C1
+:102F100000000000000000000000000000000000B1
+:102F200000000000000000000000000000000000A1
+:102F30000000000000000000000000000000000091
+:102F40000000000000000000000000000000000081
+:102F50000000000000000000000000000000000071
+:102F60000000000000000000000000000000000061
+:102F70000000000000000000000000000000000051
+:102F80000000000000000000000000000000000041
+:102F90000000000000000000000000000000000031
+:102FA0000000000000000000000000000000000021
+:102FB0000000000000000000000000000000000011
+:102FC0000000000000000000000000000000000001
+:102FD00000000000000000000000000000000000F1
+:102FE00000000000000000000000000000000000E1
+:102FF00000000000000000000000000000000000D1
+:1030000000000000000000000000000000000000C0
+:1030100000000000000000001E0000000000000092
+:10302000000001010000000000000101010000019A
+:103030000000000000000000000000000000000090
+:103040000000000000000000000000000000000080
+:103050000000000000000000000000000000000070
+:103060000000000000000000000000000000000060
+:103070000000000000000000000000000000000050
+:103080000000000000000000000000000000000040
+:103090000000000000000000000000000000000030
+:1030A0000000000000000000000000000000000020
+:1030B0000000000000000000000000000000000010
+:1030C0000000000000000000000000000000000000
+:1030D00000000000000000000000000000000000F0
+:1030E00000000000000000000000000000000000E0
+:1030F00000000000000000000000000000000000D0
+:1031000000000000000000000000000000000000BF
+:1031100000000000000000000000000000000000AF
+:103120000001020100010002010001010100000193
+:10313000000000000000000000000000000000008F
+:10314000000000000000000000000000000000007F
+:10315000000000000000000000000000000000006F
+:10316000000000000000000000000000000000005F
+:10317000000000000000000000000000000000004F
+:10318000000000000000000000000000000000003F
+:10319000000000000000000000000000000000002F
+:1031A000000000000000000000000000000000001F
+:1031B000000000000000000000000000000000000F
+:1031C00000000000000000000000000000000000FF
+:1031D00000000000000000000000000000000000EF
+:1031E00000000000000000000000000000000000DF
+:1031F00000000000000000000000000000000000CF
+:1032000000000000000000000000000000000000BE
+:1032100000010000000000000000000000000000AD
+:10322000000102020002010201000201010000018E
+:10323000000000000000000000000000000000008E
+:10324000000000000000000000000000000000007E
+:10325000000000000000000000000000000000006E
+:10326000000000000000000000000000000000005E
+:10327000000000000000000000000000000000004E
+:10328000000000000000000000000000000000003E
+:10329000000000000000000000000000000000002E
+:1032A000000000000000000000000000000000001E
+:1032B000000000000000000000000000000000000E
+:1032C00000000000000000000000000000000000FE
+:1032D00000000000000000000000000000000000EE
+:1032E00000000000000000000000000000000000DE
+:1032F00000000000000000000000000000000000CE
+:1033000000000000000000000000000000000000BD
+:1033100000010000000001000000000000000001AA
+:10332000000202020102010201000201010000018B
+:10333000000000000000000000000000000000008D
+:10334000000000000000000000000000000000007D
+:10335000000000000000000000000000000000006D
+:10336000000000000000000000000000000000005D
+:10337000000000000000000000000000000000004D
+:10338000000000000000000000000000000000003D
+:10339000000000000000000000000000000000002D
+:1033A000000000000000000000000000000000001D
+:1033B000000000000000000000000000000000000D
+:1033C00000000000000000000000000000000000FD
+:1033D00000000000000000000000000000000000ED
+:1033E00000000000000000000000000000000000DD
+:1033F00000000000000000000000000000000000CD
+:1034000000000000000000000000000000000000BC
+:1034100000010000010001000000000000000001A8
+:103420000002020201020102020002010200000089
+:10343000000000000000000000000000000000008C
+:10344000000000000000000000000000000000007C
+:10345000000000000000000000000000000000006C
+:10346000000000000000000000000000000000005C
+:10347000000000000000000000000000000000004C
+:10348000000000000000000000000000000000003C
+:10349000000000000000000000000000000000002C
+:1034A000000000000000000000000000000000001C
+:1034B000000000000000000000000000000000000C
+:1034C00000000000000000000000000000000000FC
+:1034D00000000000000000000000000000000000EC
+:1034E00000000000000000000000000000000000DC
+:1034F00000000000000000000000000000000000CC
+:1035000000000000000000000000000000000000BB
+:1035100000010101010001000000000000000001A5
+:103520000002020202020102020002010201000086
+:10353000000000000000000000000000000000008B
+:10354000000000000000000000000000000000007B
+:10355000000000000000000000000000000000006B
+:10356000000000000000000000000000000000005B
+:10357000000000000000000000000000000000004B
+:10358000000000000000000000000000000000003B
+:10359000000000000000000000000000000000002B
+:1035A000000000000000000000000000000000001B
+:1035B000000000000000000000000000000000000B
+:1035C00000000000000000000000000000000000FB
+:1035D00000000000000000000000000000000000EB
+:1035E00000000000000000000000000000000000DB
+:1035F00000000000000000000000000000000000CB
+:1036000000000000000000000000000000000000BA
+:1036100000010101010001000000000000000001A4
+:103620000102020202020102020002010201000084
+:10363000000000000000000000000000000000008A
+:10364000000000000000000000000000000000007A
+:10365000000000000000000000000000000000006A
+:10366000000000000000000000000000000000005A
+:10367000000000000000000000000000000000004A
+:10368000000000000000000000000000000000003A
+:10369000000000000000000000000000000000002A
+:1036A000000000000000000000000000000000001A
+:1036B000000000000000000000000000000000000A
+:1036C00000000000000000000000000000000000FA
+:1036D00000000000000000000000000000000000EA
+:1036E00000000000000000000000000000000000DA
+:1036F00000000000000000000000000000000000CA
+:1037000000000000000000000000000000000000B9
+:1037100000010101010001000000000000000001A3
+:10372000020202020202020202010201020101007F
+:103730000000000000000000000000000000000089
+:103740000000000000000000000000000000000079
+:103750000000000000000000000000000000000069
+:103760000000000000000000000000000000000059
+:103770000000000000000000000000000000000049
+:103780000000000000000000000000000000000039
+:103790000000000000000000000000000000000029
+:1037A0000000000000000000000000000000000019
+:1037B0000000000000000000000000000000000009
+:1037C00000000000000000000000000000000000F9
+:1037D00000000000000000000000000000000000E9
+:1037E00000000000000000000000000000000000D9
+:1037F00000000000000000000000000000000000C9
+:1038000000000000000000000000000000000000B8
+:1038100000010101010001000000000000000001A2
+:10382000020202020202020202010202020202007B
+:103830000000000000000000000000000000000088
+:103840000000000000000000000000000000000078
+:103850000000000000000000000000000000000068
+:103860000000000000000000000000000000000058
+:103870000000000000000000000000000000000048
+:103880000000000000000000000000000000000038
+:103890000000000000000000000000000000000028
+:1038A0000000000000000000000000000000000018
+:1038B0000000000000000000000000000000000008
+:1038C00000000000000000000000000000000000F8
+:1038D00000000000000000000000000000000000E8
+:1038E00000000000000000000000000000000000D8
+:1038F00000000000000000000000000000000000C8
+:1039000000000000000000000000000000000000B7
+:1039100000010101010001000000000000000001A1
+:103920000202020202020202020202020202020079
+:103930000000000000000000000000000000000087
+:103940000000000000000000000000000000000077
+:103950000000000000000000000000000000000067
+:103960000000000000000000000000000000000057
+:103970000000000000000000000000000000000047
+:103980000000000000000000000000000000000037
+:103990000000000000000000000000000000000027
+:1039A0000000000000000000000000000000000017
+:1039B0000000000000000000000000000000000007
+:1039C00000000000000000000000000100000000F6
+:1039D00000000000000000000000000000000000E7
+:1039E00000000000000000000000000000000000D7
+:1039F00000000000000000000000000000000000C7
+:103A000000000000000000000000000000000000B6
+:103A100000010101010001000000000000000001A0
+:103A20000202020202020201020202020202020079
+:103A30000000000000000000000000000000000086
+:103A40000000000000000000000000000000000076
+:103A50000000000000000000000000000000000066
+:103A60000000000000000000000000000000000056
+:103A70000100000000000100000001010000000042
+:103A80000000000000000000000000000000000036
+:103A90000000000000000000000000000000000026
+:103AA0000000000000000000000000000000000016
+:103AB0000000000000000000000000000000000006
+:103AC00000000000000000000000000100000000F5
+:103AD00000000000000000000000000000000000E6
+:103AE00000000000000000000000000000000000D6
+:103AF00000000000000000000000000000000000C6
+:103B000000000000000000000000000000000000B5
+:103B100000000101010001000000000000000001A0
+:103B2000020201020201020102020102020202007B
+:103B30000000000000000000000000000000000085
+:103B40000000000000000000000000000000000075
+:103B50000000000000000000000000000000000065
+:103B60000000000000000000000000000000000055
+:103B7000020000000100010000000101000100003E
+:103B80000000000000000000000000000000000035
+:103B90000000000000000000000000000000000025
+:103BA0000000000000000000000000000000000015
+:103BB0000000000000000000000000000000000005
+:103BC00000000000000001000000000100000000F3
+:103BD00000000000000000000000000000000000E5
+:103BE00000000000000000000000000000000000D5
+:103BF00000000000000000000000000000000000C5
+:103C000000000000000000000000000000000000B4
+:103C1000000001010100010000000000000000019F
+:103C2000020201010201020102020102020202007B
+:103C30000000000000000000000000000000000084
+:103C40000000000000000000000000000000000074
+:103C50000000000000000000000000000000000064
+:103C60000000000000000000000000000000000054
+:103C7000020000000100010000000101000100013C
+:103C80000000000000000000000000000000000034
+:103C90000000000000000000000000000000000024
+:103CA0000000000000000000000000000000000014
+:103CB0000000000000000000000000000000000004
+:103CC00000000000010001000000000100010100EF
+:103CD00000000000000000000000000000000000E4
+:103CE00000000000000000000000000000000000D4
+:103CF00000000000000000000000000000000000C4
+:103D000000000000000000000000000000000000B3
+:103D1000000001010100010000000000010000019D
+:103D2000020101010101020101020102010201007F
+:103D30000000000000000000000000000000000083
+:103D40000000000000000000000000000000000073
+:103D50000000000000000000000000000000000063
+:103D60000000000000000000000000000000000053
+:103D7000020000000100010000000101000101013A
+:103D80000000000000000000000000000000000033
+:103D90000000000000000000000000000000000023
+:103DA0000000000000000000000000000000000013
+:103DB0000000000000000000000000000000000003
+:103DC00000000000010001000000000101010101EC
+:103DD00000000000000000000000000000000000E3
+:103DE00000000000000000000000000000000000D3
+:103DF00000000000000000000000000000000000C3
+:103E000000000000000000000000000000000000B2
+:103E1000000001010100010000000000010001019B
+:103E2000020101010101020101020102010101007F
+:103E30000000000000000000000000000000000082
+:103E40000000000000000000000000000000000072
+:103E50000000000000000000000000000000000062
+:103E60000000000000000000000000000000000052
+:103E70000200010101000100000001010001010137
+:103E80000000000000000000000000000000000032
+:103E90000000000000000000000000000000000022
+:103EA0000000000000000000000000000000000012
+:103EB0000000000000000000000000000000000002
+:103EC00000000000010001000000000101010101EB
+:103ED00000000000000000000000000000000000E2
+:103EE00000000000000000000000000000000000D2
+:103EF00000000000000000000000000000000000C2
+:103F000000000000000000000000000000000000B1
+:103F10000002020202000200000000000100010194
+:103F20000201010101010101010101020101010080
+:103F30000000000000000000000000000000000081
+:103F40000000000000000000000000000000000071
+:103F50000000000000000000000000000000000061
+:103F60000000000000000000000000000000000051
+:103F7000020101010200020101010201000101012F
+:103F80000000000000000000000000000000000031
+:103F90000000000000000000000000000000000021
+:103FA0000000000000000000000000000000000011
+:103FB0000000000000000000000000000000000001
+:103FC00002000100010001000000000101010101E7
+:103FD00000000000000000000000000000000000E1
+:103FE00000000000000000000000000000000000D1
+:103FF00000000000000000000000000000000000C1
+:1040000000000000000000000000000000000000B0
+:10401000000202020201020101010000010001028E
+:104020000101010101010101010101010101010081
+:104030000000000000000000000000000000000080
+:104040000000000000000000000000000000000070
+:104050000000000000000000000000000000000060
+:104060000000000000000000000000000000000050
+:104070000202020202000201010102020102010128
+:104080000000000000000000000000000000000030
+:104090000000000000000000000000000000000020
+:1040A0000000000000000000000000000000000010
+:1040B0000000000000000000000000000000000000
+:1040C00002010100020102000000000201010101E1
+:1040D00000000000000000000000000000000000E0
+:1040E00000000000000000000000000000000000D0
+:1040F00000000000000000000000000000000000C0
+:1041000000000000000000000000000000000000AF
+:10411000000202020201020101010000010001028D
+:104120000101000101000100010100010101010084
+:10413000000000000000000000000000000000007F
+:10414000000000000000000000000000000000006F
+:10415000000000000000000000000000000000005F
+:10416000000000000000000000000000000000004F
+:104170000202020202010202020202020102020221
+:10418000000000000000000000000000000000002F
+:10419000000000000000000000000000000000001F
+:1041A000000000000000000000000000000000000F
+:1041B00000000000000000000000000000000000FF
+:1041C00002020201020102000000010202020201D9
+:1041D00000000000000000000000000000000000DF
+:1041E00000000000000000000000000000000000CF
+:1041F00000000000000000000000000000000000BF
+:1042000000000000000000000000000000000000AE
+:10421000000202020201020101010000010101028B
+:104220000100000000000100000100010001000089
+:10423000000000000000000000000000000000007E
+:10424000000000000000000000000000000000006E
+:10425000000000000000000000000000000000005E
+:10426000000000000000000000000000000000004E
+:10427000020202020202020202020202020202021E
+:10428000000000000000000000000000000000002E
+:10429000000000000000000000000000000000001E
+:1042A000000000000000000000000000000000000E
+:1042B00000000000000000000000000000000000FE
+:1042C00002020202020202000001010202020202D4
+:1042D00000000000000000000000000000000000DE
+:1042E00000000000000000000000000000000000CE
+:1042F00000000000000000000000000000000000BE
+:1043000000000000000000000000000000000000AD
+:104310000102020202010201010100000101010289
+:10432000010000000000000000000001000000008B
+:10433000000000000000000000000000000000007D
+:10434000000000000000000000000000000000006D
+:10435000000000000000000000000000000000005D
+:10436000000000000000000000000000000000004D
+:10437000020202020202020202020202020202021D
+:10438000000000000000000000000000000000002D
+:10439000000000000000000000000000000000001D
+:1043A000000000000000000000000000000000000D
+:1043B00000000000000000000000000000000000FD
+:1043C00002020202020202000002020202020202D1
+:1043D00000000000000000000000000000000000DD
+:1043E00000000000000000000000000000000000CD
+:1043F00000000000000000000000000000000000BD
+:1044000000000000000000000000000000000000AC
+:104410000202020202010201000101000201010286
+:10442000000000000000000000000000000000008C
+:10443000000000000000000000000000000000007C
+:10444000000000000000000000000000000000006C
+:10445000000000000000000000000000000000005C
+:10446000000000000000000000000000000000004C
+:10447000020202020202020202020202020202021C
+:10448000000000000000000000000000000000002C
+:10449000000000000000000000000000000000001C
+:1044A000000000000000000000000000000000000C
+:1044B00000000000000000000000000000000000FC
+:1044C00002020202020202020202020202020202CC
+:1044D00000000000000000000000000000000000DC
+:1044E00000000000000000000000000000000000CC
+:1044F00000000000000000000000000000000000BC
+:1045000000000000000000000000000000000000AB
+:104510000202020202020202000201010201020280
+:10452000000000000000000000000000000000008B
+:10453000000000000000000000000000000000007B
+:10454000000000000000000000000000000000006B
+:10455000000000000000000000000000000000005B
+:10456000000000000000000000000000000000004B
+:10457000010202020202020202020202020202021C
+:10458000000000000000000000000000000000002B
+:10459000000000000000000000000000000000001B
+:1045A000000000000000000000000000000000000B
+:1045B00000000000000000000000000000000000FB
+:1045C00002020202020202020202020202020202CB
+:1045D00000000000000000000000000000000000DB
+:1045E00000000000000000000000000000000000CB
+:1045F00000000000000000000000000000000000BB
+:1046000000000000000000000000000000000000AA
+:10461000020202020202020202020101020102027D
+:104620000000010000010001000001000000000086
+:10463000000000000000000000000000000000007A
+:10464000000000000000000000000000000000006A
+:10465000000000000000000000000000000000005A
+:10466000000000000000000000000000000000004A
+:104670000201010101010101010101010101010129
+:10468000000000000000000000000000000000002A
+:10469000000000000000000000000000000000001A
+:1046A000000000000000000000000000000000000A
+:1046B00000000000000000000000000000000000FA
+:1046C00000000000000000000000000000000000EA
+:1046D00000000000000000000000000000000000DA
+:1046E00000000000000000000000000000000000CA
+:1046F00000000000000000000000000000000000BA
+:1047000000000000000000000000000000000000A9
+:10471000020202020202020202020001020202027C
+:10472000000101010101000101000100010001007F
+:104730000000000000000000000000000000000079
+:104740000000000000000000000000000000000069
+:104750000000000000000000000000000000000059
+:104760000000000000000000000000000000000049
+:10477000010202020202020202020202020202021A
+:104780000000000000000000000000000000000029
+:104790000000000000000000000000000000000019
+:1047A0000000000000000000000000000000000009
+:1047B00000000000000000000000000000000000F9
+:1047C00000000000000000000000000000000000E9
+:1047D00000000000000000000000000000000000D9
+:1047E00000000000000000000000000000000000C9
+:1047F00000000000000000000000000000000000B9
+:1048000000000000000000000000000000000000A8
+:104810000202020202020202020202010202020279
+:10482000000101010101010101010100010101007B
+:104830000000000000000000000000000000000078
+:104840000000000000000000000000000000000068
+:104850000000000000000000000000000000000058
+:104860000000000000000000000000000000000048
+:104870000101010101010101010101010101010128
+:104880000000000000000000000000000000000028
+:104890000000000000000000000000000000000018
+:1048A0000000000000000000000000000000000008
+:1048B00000000000000000000000000000000000F8
+:1048C00000000000000000000000000000000000E8
+:1048D00000000000000000000000000000000000D8
+:1048E00000000000000000000000000000000000C8
+:1048F00000000000000000000000000000000000B8
+:1049000000000000000000000000000000000000A7
+:104910000202020202020202020202020202020277
+:104920000101010101010101010101010101010177
+:104930000000000000000000000000000000000077
+:104940000000000000000000000000000000000067
+:104950000000000000000000000000000000000057
+:104960000000000000000000000000000000000047
+:104970000101010101010101010101010101010127
+:104980000000000000000000000000000000000027
+:104990000000000000000000000000000000000017
+:1049A0000000000000000000000000000000000007
+:1049B00000000000000000000000000000000000F7
+:1049C00000000000000000000000000000000000E7
+:1049D00000000000000000000000000000000000D7
+:1049E00000000000000000000000000000000000C7
+:1049F00000000000000000000000000000000000B7
+:104A000000000000000000000000000000000000A6
+:104A10000202020202020202020202020202020276
+:104A20000101010101010101010101010101010176
+:104A30000000000000000000000000000000000076
+:104A40000000000000000000000000000000000066
+:104A50000000000000000000000000000000000056
+:104A60000000000000000000000000000000000046
+:104A70000101010101010101010101010101010126
+:104A80000000000000000000000000000000000026
+:104A90000000000000000000000000000000000016
+:104AA0000000000000000000000000000000000006
+:104AB00000000000000000000000000000000000F6
+:104AC00001010101010101010101010101010101D6
+:104AD00000000000000000000000000000000000D6
+:104AE00000000000000000000000000000000000C6
+:104AF00000000000000000000000000000000000B6
+:104B000000000000000000000000000000000000A5
+:104B10000202020202020202020202020202020275
+:104B20000101010101010101010101010101010175
+:104B30000000000000000000000000000000000075
+:104B40000000000000000000000000000000000065
+:104B50000000000000000000000000000000000055
+:104B60000000000000000000000000000000000045
+:104B70000101010101010101010101010101010125
+:104B80000000000000000000000000000000000025
+:104B90000000000000000000000000000000000015
+:104BA0000000000000000000000000000000000005
+:104BB00000000000000000000000000000000000F5
+:104BC00001010101010101010101010101010101D5
+:104BD00000000000000000000000000000000000D5
+:104BE00000000000000000000000000000000000C5
+:104BF00000000000000000000000000000000000B5
+:104C000000000000000000000000000000000000A4
+:104C10000202020202020202020202020202020274
+:104C20000101010101010101010101010101010174
+:104C30000000000000000000000000000000000074
+:104C40000000000000000000000000000000000064
+:104C50000000000000000000000000000000000054
+:104C60000000000000000000000000000000000044
+:104C70000202020202020202020202020202020214
+:104C80000000000000000000000000000000000024
+:104C90000000000000000000000000000000000014
+:104CA0000000000000000000000000000000000004
+:104CB00000000000000000000000000000000000F4
+:104CC00002020202020202020202020202020202C4
+:104CD00000000000000000000000000000000000D4
+:104CE00000000000000000000000000000000000C4
+:104CF00000000000000000000000000000000000B4
+:104D000000000000000000000000000000000000A3
+:104D10000000000000000000000000000000000093
+:104D20000000000000000000000000000000000083
+:104D30000000000000000000000000000000000073
+:104D40000000000000000000000000000000000063
+:104D50000000000000000000000000000000000053
+:104D60000000000000000000000000000000000043
+:104D70000000000000000000000000000000000033
+:104D80000000000000000000000000000000000023
+:104D90000000000000000000000000000000000013
+:104DA0000000000000000000000000000000000003
+:104DB00000000000000000000000000000000000F3
+:104DC00000000000000000000000000000000000E3
+:104DD00000000000000000000000000000000000D3
+:104DE00000000000000000000000000000000000C3
+:104DF00000000000000000000000000000000000B3
+:104E000000000000000000000000000000000000A2
+:104E10000000000000000000000000000000000092
+:00000001FF
diff --git a/firmware/imx/sdma/sdma-imx6q.bin.ihex b/firmware/imx/sdma/sdma-imx6q.bin.ihex
new file mode 100644 (file)
index 0000000..2e561f0
--- /dev/null
@@ -0,0 +1,116 @@
+:1000000053444D4101000000010000001C000000AD
+:1000100026000000B40000007A0600008202000002
+:10002000FFFFFFFF00000000FFFFFFFFFFFFFFFFDC
+:10003000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0
+:10004000FFFFFFFFFFFFFFFF6A1A0000FFFFFFFF38
+:10005000EB020000BB180000FFFFFFFF08040000D8
+:10006000FFFFFFFFC0030000FFFFFFFFFFFFFFFFD9
+:10007000FFFFFFFFAB020000FFFFFFFF7B0300005D
+:10008000FFFFFFFFFFFFFFFF4C0400006E040000B6
+:10009000FFFFFFFF00180000FFFFFFFFFFFFFFFF54
+:1000A000000000000018000062180000161A00008E
+:1000B000061B0000E3C1DB57E35FE357F352016A1D
+:1000C0008F00D500017D8D00A005EB5D7804037DD8
+:1000D00079042C7D367C79041F7CEE56000F600677
+:1000E000057D0965437E0A62417E20980A623E7E54
+:1000F00009653C7E12051205AD026007037DFB55C4
+:10010000D36D2B98FB55041DD36DC86A2F7F011F3B
+:1001100003200048E47C5398FB55D76D1500057803
+:100120000962C86A0962C86AD76D5298FB55D76DD3
+:100130001500150005780A62C86A0A62C86AD76D98
+:100140005298FB55D76D15001500150005780B6208
+:10015000C86A0B62C86AD76D097CDF6D077F000033
+:10016000EB55004D077DFAC1E35706980700CC68B0
+:100170000C6813C20AC20398D9C1E3C1DB57E35F1D
+:10018000E357F352216A8F00D500017D8D00A00551
+:10019000EB5DFB567804037D79042A7D317C79047C
+:1001A000207C700B1103EB53000F6003057D096584
+:1001B000377E0A62357E86980A62327E0965307E15
+:1001C00012051205AD026007027C065A8E98265A67
+:1001D000277F011F03200048E87C700B1103135395
+:1001E000AF98150004780962065A0962265AAE983B
+:1001F0001500150004780A62065A0A62265AAE985B
+:1002000015001500150004780B62065A0B62265A79
+:10021000077C0000EB55004D067DFAC1E357699855
+:1002200007000C6813C20AC26698700B11031353BF
+:100230006C07017CD9C1FB5E8A066B07017CD9C1C2
+:10024000F35EDB59D3588F0110010F398B003CC18D
+:100250002B7DC05AC85B4EC1277C88038906E35CAE
+:10026000FF0D1105FF1DBC053E07004D187D7008F0
+:1002700011007E07097D7D07027D2852E698F8521D
+:10028000DB54BC02CC02097C7C07027D2852EF982B
+:10029000F852D354BC02CC02097D0004DD988B00D7
+:1002A000C052C85359C1D67D0002CD98FF08BF0087
+:1002B0007F07157D8804D500017D8D00A005EB5DCD
+:1002C0008F0212021202FF3ADA05027C3E071899E9
+:1002D000A402DD02027D3E0718995E071899EB55CE
+:1002E0009805EB5DF352FB546A07267D6C07017D90
+:1002F00055996B07577C6907047D6807027D010EDD
+:100300002F999358D600017D8E009355A005935DDB
+:10031000A00602780255045D1D7C004E087C69072A
+:10032000037D0255177E3C99045D147F8906935026
+:100330000048017D2799A099150006780255045DB3
+:100340004F070255245D2F07017CA09917006F0706
+:10035000017C012093559D000700A7D9F598D36C27
+:100360006907047D6807027D010E64999358D600E1
+:10037000017D8E009355A005935DA006027802557D
+:10038000C86D0F7C004E087C6907037D0255097E0D
+:100390007199C86D067F890693500048017D5C996C
+:1003A000A0999A99C36A6907047D6807027D010EC6
+:1003B00087999358D600017D8E009355A005935DD3
+:1003C000A0060278C865045D0F7C004E087C6907B2
+:1003D000037DC865097E9499045D067F8906935064
+:1003E0000048017D7F99A09993559D000700FF6CFF
+:1003F000A7D9F5980000E354EB55004D017CF59822
+:10040000DD98E354EB55FF0A1102FF1A7F07027CC7
+:10041000A005B4999D008C05BA05A0051002BA0488
+:10042000AD0454040600E3C1DB57FB52C36AF35228
+:10043000056A8F00D500017D8D00A005EB5D780475
+:10044000037D79042B7D1E7C7904337CEE56000FEE
+:10045000FB556007027DC36DD599041DC36DC8624D
+:100460003B7E6006027D10021202096A357F12028D
+:10047000096A327F1202096A2F7F011F0320004898
+:10048000E77C099AFB55C76D150015001500057826
+:10049000C8620B6AC8620B6AC76D089AFB55C76DC4
+:1004A000150015000578C8620A6AC8620A6AC76D35
+:1004B000089AFB55C76D15000578C862096AC862BD
+:1004C000096AC76D097C286A077F0000EB55004D5B
+:1004D000057DFAC1DB57BF9977C254040AC2BA99A5
+:1004E000D9C1E3C1DB57F352056A8F00D500017D06
+:1004F0008D00A005FB567804037D7904297D1F7CBF
+:1005000079042E7CE35D700D1105ED55000F600739
+:10051000027D0652329A2652337E6005027D100219
+:100520001202096A2D7F1202096A2A7F1202096AE1
+:10053000277F011F03200048EA7CE3555D9A1500E0
+:1005400015001500047806520B6A26520B6A5C9A55
+:1005500015001500047806520A6A26520A6A5C9A47
+:10056000150004780652096A2652096A097C286A2D
+:10057000077F0000DB57004D057DFAC1DB571B9A52
+:1005800077C254040AC2189AE3C1DB57F352056AD2
+:10059000FB568E02941AC36AC8626902247D941EB7
+:1005A000C36ED36EC8624802C86A9426981EC36E92
+:1005B000D36EC8624C02C86A9826C36E981EC36E7A
+:1005C000C8629826C36E6002097CC8626E02247DF0
+:1005D000096A1E7F0125004D257D849A286A187FAF
+:1005E00004627AC2B89AE36E8F00D805017D8D004F
+:1005F000A005C8626E02107D096A0A7F0120F97C9D
+:10060000286A067F0000004D0D7DFAC1DB576E9A07
+:10061000070004620C6AB59A286AFA7F04627AC2FB
+:1006200058045404286AF47F0AC26B9AD9C1E3C102
+:10063000DB57F352056AFB568E02941A0252690286
+:100640001D7D941E06524802065A9426981E065294
+:100650004C02065A9826981E065260020A7C98267A
+:1006600006526E02237D096A1D7F0125004D247DFF
+:10067000D19A286A177F04627AC2029B8F00D8053C
+:10068000017D8D00A00506526E02107D096A0A7F69
+:100690000120F97C286A067F0000004D0D7DFAC11B
+:1006A000DB57C19A070004620C6AFF9A286AFA7F36
+:1006B00004627AC258045404286AF47F0AC2BE9ABB
+:1006C000016E0B612F7E0B622D7E0B632B7E0C0D5A
+:1006D0001704170417049D04081DCC05017C0C0D9C
+:1006E000D16A000F4207C86FDD6F1C7F8E009D002E
+:1006F00001680B67177ED56B04080278C86F120774
+:10070000117C0B670F7E04080278C86F12070A7C01
+:10071000DD6F087FD169010FC86FDD6F037F0101B5
+:0E0720000004129B0700FF680C680002129B89
+:00000001FF
diff --git a/include/linux/device_cooling.h b/include/linux/device_cooling.h
new file mode 100644 (file)
index 0000000..ae40a45
--- /dev/null
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2013 Freescale Semiconductor, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ */
+
+#ifndef __DEVICE_THERMAL_H__
+#define __DEVICE_THERMAL_H__
+
+#include <linux/thermal.h>
+
+#ifdef CONFIG_DEVICE_THERMAL
+int register_devfreq_cooling_notifier(struct notifier_block *nb);
+int unregister_devfreq_cooling_notifier(struct notifier_block *nb);
+struct thermal_cooling_device *devfreq_cooling_register(void);
+void devfreq_cooling_unregister(struct thermal_cooling_device *cdev);
+#else
+static inline
+int register_devfreq_cooling_notifier(struct notifier_block *nb)
+{
+       return 0;
+}
+
+static inline
+int unregister_devfreq_cooling_notifier(struct notifier_block *nb)
+{
+       return 0;
+}
+
+static inline
+struct thermal_cooling_device *devfreq_cooling_register(void)
+{
+       return NULL;
+}
+
+static inline
+void devfreq_cooling_unregister(struct thermal_cooling_device *cdev)
+{
+       return;
+}
+#endif
+#endif /* __DEVICE_THERMAL_H__ */
diff --git a/include/linux/ipu-v3.h b/include/linux/ipu-v3.h
new file mode 100644 (file)
index 0000000..c57d7de
--- /dev/null
@@ -0,0 +1,752 @@
+/*
+ * Copyright (c) 2010 Sascha Hauer <s.hauer@pengutronix.de>
+ * Copyright (C) 2011-2013 Freescale Semiconductor, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * for more details.
+ */
+
+#ifndef __LINUX_IPU_V3_H_
+#define __LINUX_IPU_V3_H_
+
+#include <linux/ipu.h>
+
+/* IPU Driver channels definitions.    */
+/* Note these are different from IDMA channels */
+#define IPU_MAX_CH     32
+#define _MAKE_CHAN(num, v_in, g_in, a_in, out) \
+       ((num << 24) | (v_in << 18) | (g_in << 12) | (a_in << 6) | out)
+#define _MAKE_ALT_CHAN(ch)             (ch | (IPU_MAX_CH << 24))
+#define IPU_CHAN_ID(ch)                        (ch >> 24)
+#define IPU_CHAN_ALT(ch)               (ch & 0x02000000)
+#define IPU_CHAN_ALPHA_IN_DMA(ch)      ((uint32_t) (ch >> 6) & 0x3F)
+#define IPU_CHAN_GRAPH_IN_DMA(ch)      ((uint32_t) (ch >> 12) & 0x3F)
+#define IPU_CHAN_VIDEO_IN_DMA(ch)      ((uint32_t) (ch >> 18) & 0x3F)
+#define IPU_CHAN_OUT_DMA(ch)           ((uint32_t) (ch & 0x3F))
+#define NO_DMA 0x3F
+#define ALT    1
+/*!
+ * Enumeration of IPU logical channels. An IPU logical channel is defined as a
+ * combination of an input (memory to IPU), output (IPU to memory), and/or
+ * secondary input IDMA channels and in some cases an Image Converter task.
+ * Some channels consist of only an input or output.
+ */
+typedef enum {
+       CHAN_NONE = -1,
+       MEM_ROT_ENC_MEM = _MAKE_CHAN(1, 45, NO_DMA, NO_DMA, 48),
+       MEM_ROT_VF_MEM = _MAKE_CHAN(2, 46, NO_DMA, NO_DMA, 49),
+       MEM_ROT_PP_MEM = _MAKE_CHAN(3, 47, NO_DMA, NO_DMA, 50),
+
+       MEM_PRP_ENC_MEM = _MAKE_CHAN(4, 12, 14, 17, 20),
+       MEM_PRP_VF_MEM = _MAKE_CHAN(5, 12, 14, 17, 21),
+       MEM_PP_MEM = _MAKE_CHAN(6, 11, 15, 18, 22),
+
+       MEM_DC_SYNC = _MAKE_CHAN(7, 28, NO_DMA, NO_DMA, NO_DMA),
+       MEM_DC_ASYNC = _MAKE_CHAN(8, 41, NO_DMA, NO_DMA, NO_DMA),
+       MEM_BG_SYNC = _MAKE_CHAN(9, 23, NO_DMA, 51, NO_DMA),
+       MEM_FG_SYNC = _MAKE_CHAN(10, 27, NO_DMA, 31, NO_DMA),
+
+       MEM_BG_ASYNC0 = _MAKE_CHAN(11, 24, NO_DMA, 52, NO_DMA),
+       MEM_FG_ASYNC0 = _MAKE_CHAN(12, 29, NO_DMA, 33, NO_DMA),
+       MEM_BG_ASYNC1 = _MAKE_ALT_CHAN(MEM_BG_ASYNC0),
+       MEM_FG_ASYNC1 = _MAKE_ALT_CHAN(MEM_FG_ASYNC0),
+
+       DIRECT_ASYNC0 = _MAKE_CHAN(13, NO_DMA, NO_DMA, NO_DMA, NO_DMA),
+       DIRECT_ASYNC1 = _MAKE_CHAN(14, NO_DMA, NO_DMA, NO_DMA, NO_DMA),
+
+       CSI_MEM0 = _MAKE_CHAN(15, NO_DMA, NO_DMA, NO_DMA, 0),
+       CSI_MEM1 = _MAKE_CHAN(16, NO_DMA, NO_DMA, NO_DMA, 1),
+       CSI_MEM2 = _MAKE_CHAN(17, NO_DMA, NO_DMA, NO_DMA, 2),
+       CSI_MEM3 = _MAKE_CHAN(18, NO_DMA, NO_DMA, NO_DMA, 3),
+
+       CSI_MEM = CSI_MEM0,
+
+       CSI_PRP_ENC_MEM = _MAKE_CHAN(19, NO_DMA, NO_DMA, NO_DMA, 20),
+       CSI_PRP_VF_MEM = _MAKE_CHAN(20, NO_DMA, NO_DMA, NO_DMA, 21),
+
+       /* for vdi mem->vdi->ic->mem , add graphics plane and alpha*/
+       MEM_VDI_PRP_VF_MEM_P = _MAKE_CHAN(21, 8, 14, 17, 21),
+       MEM_VDI_PRP_VF_MEM = _MAKE_CHAN(22, 9, 14, 17, 21),
+       MEM_VDI_PRP_VF_MEM_N = _MAKE_CHAN(23, 10, 14, 17, 21),
+
+       /* for vdi mem->vdi->mem */
+       MEM_VDI_MEM_P = _MAKE_CHAN(24, 8, NO_DMA, NO_DMA, 5),
+       MEM_VDI_MEM = _MAKE_CHAN(25, 9, NO_DMA, NO_DMA, 5),
+       MEM_VDI_MEM_N = _MAKE_CHAN(26, 10, NO_DMA, NO_DMA, 5),
+
+       /* fake channel for vdoa to link with IPU */
+       MEM_VDOA_MEM =  _MAKE_CHAN(27, NO_DMA, NO_DMA, NO_DMA, NO_DMA),
+
+       MEM_PP_ADC = CHAN_NONE,
+       ADC_SYS2 = CHAN_NONE,
+
+} ipu_channel_t;
+
+/*!
+ * Enumeration of types of buffers for a logical channel.
+ */
+typedef enum {
+       IPU_OUTPUT_BUFFER = 0,  /*!< Buffer for output from IPU */
+       IPU_ALPHA_IN_BUFFER = 1,        /*!< Buffer for input to IPU */
+       IPU_GRAPH_IN_BUFFER = 2,        /*!< Buffer for input to IPU */
+       IPU_VIDEO_IN_BUFFER = 3,        /*!< Buffer for input to IPU */
+       IPU_INPUT_BUFFER = IPU_VIDEO_IN_BUFFER,
+       IPU_SEC_INPUT_BUFFER = IPU_GRAPH_IN_BUFFER,
+} ipu_buffer_t;
+
+#define IPU_PANEL_SERIAL               1
+#define IPU_PANEL_PARALLEL             2
+
+/*!
+ * Enumeration of ADC channel operation mode.
+ */
+typedef enum {
+       Disable,
+       WriteTemplateNonSeq,
+       ReadTemplateNonSeq,
+       WriteTemplateUnCon,
+       ReadTemplateUnCon,
+       WriteDataWithRS,
+       WriteDataWoRS,
+       WriteCmd
+} mcu_mode_t;
+
+/*!
+ * Enumeration of ADC channel addressing mode.
+ */
+typedef enum {
+       FullWoBE,
+       FullWithBE,
+       XY
+} display_addressing_t;
+
+/*!
+ * Union of initialization parameters for a logical channel.
+ */
+typedef union {
+       struct {
+               uint32_t csi;
+               uint32_t mipi_id;
+               uint32_t mipi_vc;
+               bool mipi_en;
+               bool interlaced;
+       } csi_mem;
+       struct {
+               uint32_t in_width;
+               uint32_t in_height;
+               uint32_t in_pixel_fmt;
+               uint32_t out_width;
+               uint32_t out_height;
+               uint32_t out_pixel_fmt;
+               uint32_t outh_resize_ratio;
+               uint32_t outv_resize_ratio;
+               uint32_t csi;
+               uint32_t mipi_id;
+               uint32_t mipi_vc;
+               bool mipi_en;
+       } csi_prp_enc_mem;
+       struct {
+               uint32_t in_width;
+               uint32_t in_height;
+               uint32_t in_pixel_fmt;
+               uint32_t out_width;
+               uint32_t out_height;
+               uint32_t out_pixel_fmt;
+               uint32_t outh_resize_ratio;
+               uint32_t outv_resize_ratio;
+       } mem_prp_enc_mem;
+       struct {
+               uint32_t in_width;
+               uint32_t in_height;
+               uint32_t in_pixel_fmt;
+               uint32_t out_width;
+               uint32_t out_height;
+               uint32_t out_pixel_fmt;
+       } mem_rot_enc_mem;
+       struct {
+               uint32_t in_width;
+               uint32_t in_height;
+               uint32_t in_pixel_fmt;
+               uint32_t out_width;
+               uint32_t out_height;
+               uint32_t out_pixel_fmt;
+               uint32_t outh_resize_ratio;
+               uint32_t outv_resize_ratio;
+               bool graphics_combine_en;
+               bool global_alpha_en;
+               bool key_color_en;
+               uint32_t in_g_pixel_fmt;
+               uint8_t alpha;
+               uint32_t key_color;
+               bool alpha_chan_en;
+               ipu_motion_sel motion_sel;
+               enum v4l2_field field_fmt;
+               uint32_t csi;
+               uint32_t mipi_id;
+               uint32_t mipi_vc;
+               bool mipi_en;
+       } csi_prp_vf_mem;
+       struct {
+               uint32_t in_width;
+               uint32_t in_height;
+               uint32_t in_pixel_fmt;
+               uint32_t out_width;
+               uint32_t out_height;
+               uint32_t out_pixel_fmt;
+               bool graphics_combine_en;
+               bool global_alpha_en;
+               bool key_color_en;
+               display_port_t disp;
+               uint32_t out_left;
+               uint32_t out_top;
+       } csi_prp_vf_adc;
+       struct {
+               uint32_t in_width;
+               uint32_t in_height;
+               uint32_t in_pixel_fmt;
+               uint32_t out_width;
+               uint32_t out_height;
+               uint32_t out_pixel_fmt;
+               uint32_t outh_resize_ratio;
+               uint32_t outv_resize_ratio;
+               bool graphics_combine_en;
+               bool global_alpha_en;
+               bool key_color_en;
+               uint32_t in_g_pixel_fmt;
+               uint8_t alpha;
+               uint32_t key_color;
+               bool alpha_chan_en;
+               ipu_motion_sel motion_sel;
+               enum v4l2_field field_fmt;
+       } mem_prp_vf_mem;
+       struct {
+               uint32_t temp;
+       } mem_prp_vf_adc;
+       struct {
+               uint32_t temp;
+       } mem_rot_vf_mem;
+       struct {
+               uint32_t in_width;
+               uint32_t in_height;
+               uint32_t in_pixel_fmt;
+               uint32_t out_width;
+               uint32_t out_height;
+               uint32_t out_pixel_fmt;
+               uint32_t outh_resize_ratio;
+               uint32_t outv_resize_ratio;
+               bool graphics_combine_en;
+               bool global_alpha_en;
+               bool key_color_en;
+               uint32_t in_g_pixel_fmt;
+               uint8_t alpha;
+               uint32_t key_color;
+               bool alpha_chan_en;
+       } mem_pp_mem;
+       struct {
+               uint32_t temp;
+       } mem_rot_mem;
+       struct {
+               uint32_t in_width;
+               uint32_t in_height;
+               uint32_t in_pixel_fmt;
+               uint32_t out_width;
+               uint32_t out_height;
+               uint32_t out_pixel_fmt;
+               bool graphics_combine_en;
+               bool global_alpha_en;
+               bool key_color_en;
+               display_port_t disp;
+               uint32_t out_left;
+               uint32_t out_top;
+       } mem_pp_adc;
+       struct {
+               uint32_t di;
+               bool interlaced;
+               uint32_t in_pixel_fmt;
+               uint32_t out_pixel_fmt;
+       } mem_dc_sync;
+       struct {
+               uint32_t temp;
+       } mem_sdc_fg;
+       struct {
+               uint32_t di;
+               bool interlaced;
+               uint32_t in_pixel_fmt;
+               uint32_t out_pixel_fmt;
+               bool alpha_chan_en;
+       } mem_dp_bg_sync;
+       struct {
+               uint32_t temp;
+       } mem_sdc_bg;
+       struct {
+               uint32_t di;
+               bool interlaced;
+               uint32_t in_pixel_fmt;
+               uint32_t out_pixel_fmt;
+               bool alpha_chan_en;
+       } mem_dp_fg_sync;
+       struct {
+               uint32_t di;
+       } direct_async;
+       struct {
+               display_port_t disp;
+               mcu_mode_t ch_mode;
+               uint32_t out_left;
+               uint32_t out_top;
+       } adc_sys1;
+       struct {
+               display_port_t disp;
+               mcu_mode_t ch_mode;
+               uint32_t out_left;
+               uint32_t out_top;
+       } adc_sys2;
+} ipu_channel_params_t;
+
+/*
+ * IPU_IRQF_ONESHOT - Interrupt is not reenabled after the irq handler finished.
+ */
+#define IPU_IRQF_NONE          0x00000000
+#define IPU_IRQF_ONESHOT       0x00000001
+
+/*!
+ * Enumeration of IPU interrupt sources.
+ */
+enum ipu_irq_line {
+       IPU_IRQ_CSI0_OUT_EOF = 0,
+       IPU_IRQ_CSI1_OUT_EOF = 1,
+       IPU_IRQ_CSI2_OUT_EOF = 2,
+       IPU_IRQ_CSI3_OUT_EOF = 3,
+       IPU_IRQ_VDIC_OUT_EOF = 5,
+       IPU_IRQ_VDI_P_IN_EOF = 8,
+       IPU_IRQ_VDI_C_IN_EOF = 9,
+       IPU_IRQ_VDI_N_IN_EOF = 10,
+       IPU_IRQ_PP_IN_EOF = 11,
+       IPU_IRQ_PRP_IN_EOF = 12,
+       IPU_IRQ_PRP_GRAPH_IN_EOF = 14,
+       IPU_IRQ_PP_GRAPH_IN_EOF = 15,
+       IPU_IRQ_PRP_ALPHA_IN_EOF = 17,
+       IPU_IRQ_PP_ALPHA_IN_EOF = 18,
+       IPU_IRQ_PRP_ENC_OUT_EOF = 20,
+       IPU_IRQ_PRP_VF_OUT_EOF = 21,
+       IPU_IRQ_PP_OUT_EOF = 22,
+       IPU_IRQ_BG_SYNC_EOF = 23,
+       IPU_IRQ_BG_ASYNC_EOF = 24,
+       IPU_IRQ_FG_SYNC_EOF = 27,
+       IPU_IRQ_DC_SYNC_EOF = 28,
+       IPU_IRQ_FG_ASYNC_EOF = 29,
+       IPU_IRQ_FG_ALPHA_SYNC_EOF = 31,
+
+       IPU_IRQ_FG_ALPHA_ASYNC_EOF = 33,
+       IPU_IRQ_DC_READ_EOF = 40,
+       IPU_IRQ_DC_ASYNC_EOF = 41,
+       IPU_IRQ_DC_CMD1_EOF = 42,
+       IPU_IRQ_DC_CMD2_EOF = 43,
+       IPU_IRQ_DC_MASK_EOF = 44,
+       IPU_IRQ_PRP_ENC_ROT_IN_EOF = 45,
+       IPU_IRQ_PRP_VF_ROT_IN_EOF = 46,
+       IPU_IRQ_PP_ROT_IN_EOF = 47,
+       IPU_IRQ_PRP_ENC_ROT_OUT_EOF = 48,
+       IPU_IRQ_PRP_VF_ROT_OUT_EOF = 49,
+       IPU_IRQ_PP_ROT_OUT_EOF = 50,
+       IPU_IRQ_BG_ALPHA_SYNC_EOF = 51,
+       IPU_IRQ_BG_ALPHA_ASYNC_EOF = 52,
+
+       IPU_IRQ_BG_SYNC_NFACK = 64 + 23,
+       IPU_IRQ_FG_SYNC_NFACK = 64 + 27,
+       IPU_IRQ_DC_SYNC_NFACK = 64 + 28,
+
+       IPU_IRQ_DP_SF_START = 448 + 2,
+       IPU_IRQ_DP_SF_END = 448 + 3,
+       IPU_IRQ_BG_SF_END = IPU_IRQ_DP_SF_END,
+       IPU_IRQ_DC_FC_0 = 448 + 8,
+       IPU_IRQ_DC_FC_1 = 448 + 9,
+       IPU_IRQ_DC_FC_2 = 448 + 10,
+       IPU_IRQ_DC_FC_3 = 448 + 11,
+       IPU_IRQ_DC_FC_4 = 448 + 12,
+       IPU_IRQ_DC_FC_6 = 448 + 13,
+       IPU_IRQ_VSYNC_PRE_0 = 448 + 14,
+       IPU_IRQ_VSYNC_PRE_1 = 448 + 15,
+
+       IPU_IRQ_COUNT
+};
+
+/*!
+ * Bitfield of Display Interface signal polarities.
+ */
+typedef struct {
+       unsigned datamask_en:1;
+       unsigned int_clk:1;
+       unsigned interlaced:1;
+       unsigned odd_field_first:1;
+       unsigned clksel_en:1;
+       unsigned clkidle_en:1;
+       unsigned data_pol:1;    /* true = inverted */
+       unsigned clk_pol:1;     /* true = rising edge */
+       unsigned enable_pol:1;
+       unsigned Hsync_pol:1;   /* true = active high */
+       unsigned Vsync_pol:1;
+} ipu_di_signal_cfg_t;
+
+/*!
+ * Bitfield of CSI signal polarities and modes.
+ */
+
+typedef struct {
+       unsigned data_width:4;
+       unsigned clk_mode:3;
+       unsigned ext_vsync:1;
+       unsigned Vsync_pol:1;
+       unsigned Hsync_pol:1;
+       unsigned pixclk_pol:1;
+       unsigned data_pol:1;
+       unsigned sens_clksrc:1;
+       unsigned pack_tight:1;
+       unsigned force_eof:1;
+       unsigned data_en_pol:1;
+       unsigned data_fmt;
+       unsigned csi;
+       unsigned mclk;
+} ipu_csi_signal_cfg_t;
+
+/*!
+ * Enumeration of CSI data bus widths.
+ */
+enum {
+       IPU_CSI_DATA_WIDTH_4 = 0,
+       IPU_CSI_DATA_WIDTH_8 = 1,
+       IPU_CSI_DATA_WIDTH_10 = 3,
+       IPU_CSI_DATA_WIDTH_16 = 9,
+};
+
+/*!
+ * Enumeration of CSI clock modes.
+ */
+enum {
+       IPU_CSI_CLK_MODE_GATED_CLK,
+       IPU_CSI_CLK_MODE_NONGATED_CLK,
+       IPU_CSI_CLK_MODE_CCIR656_PROGRESSIVE,
+       IPU_CSI_CLK_MODE_CCIR656_INTERLACED,
+       IPU_CSI_CLK_MODE_CCIR1120_PROGRESSIVE_DDR,
+       IPU_CSI_CLK_MODE_CCIR1120_PROGRESSIVE_SDR,
+       IPU_CSI_CLK_MODE_CCIR1120_INTERLACED_DDR,
+       IPU_CSI_CLK_MODE_CCIR1120_INTERLACED_SDR,
+};
+
+enum {
+       IPU_CSI_MIPI_DI0,
+       IPU_CSI_MIPI_DI1,
+       IPU_CSI_MIPI_DI2,
+       IPU_CSI_MIPI_DI3,
+};
+
+typedef enum {
+       RGB,
+       YCbCr,
+       YUV
+} ipu_color_space_t;
+
+/*!
+ * Enumeration of ADC vertical sync mode.
+ */
+typedef enum {
+       VsyncNone,
+       VsyncInternal,
+       VsyncCSI,
+       VsyncExternal
+} vsync_t;
+
+typedef enum {
+       DAT,
+       CMD
+} cmddata_t;
+
+/*!
+ * Enumeration of ADC display update mode.
+ */
+typedef enum {
+       IPU_ADC_REFRESH_NONE,
+       IPU_ADC_AUTO_REFRESH,
+       IPU_ADC_AUTO_REFRESH_SNOOP,
+       IPU_ADC_SNOOPING,
+} ipu_adc_update_mode_t;
+
+/*!
+ * Enumeration of ADC display interface types (serial or parallel).
+ */
+enum {
+       IPU_ADC_IFC_MODE_SYS80_TYPE1,
+       IPU_ADC_IFC_MODE_SYS80_TYPE2,
+       IPU_ADC_IFC_MODE_SYS68K_TYPE1,
+       IPU_ADC_IFC_MODE_SYS68K_TYPE2,
+       IPU_ADC_IFC_MODE_3WIRE_SERIAL,
+       IPU_ADC_IFC_MODE_4WIRE_SERIAL,
+       IPU_ADC_IFC_MODE_5WIRE_SERIAL_CLK,
+       IPU_ADC_IFC_MODE_5WIRE_SERIAL_CS,
+};
+
+enum {
+       IPU_ADC_IFC_WIDTH_8,
+       IPU_ADC_IFC_WIDTH_16,
+};
+
+/*!
+ * Enumeration of ADC display interface burst mode.
+ */
+enum {
+       IPU_ADC_BURST_WCS,
+       IPU_ADC_BURST_WBLCK,
+       IPU_ADC_BURST_NONE,
+       IPU_ADC_BURST_SERIAL,
+};
+
+/*!
+ * Enumeration of ADC display interface RW signal timing modes.
+ */
+enum {
+       IPU_ADC_SER_NO_RW,
+       IPU_ADC_SER_RW_BEFORE_RS,
+       IPU_ADC_SER_RW_AFTER_RS,
+};
+
+/*!
+ * Bitfield of ADC signal polarities and modes.
+ */
+typedef struct {
+       unsigned data_pol:1;
+       unsigned clk_pol:1;
+       unsigned cs_pol:1;
+       unsigned rs_pol:1;
+       unsigned addr_pol:1;
+       unsigned read_pol:1;
+       unsigned write_pol:1;
+       unsigned Vsync_pol:1;
+       unsigned burst_pol:1;
+       unsigned burst_mode:2;
+       unsigned ifc_mode:3;
+       unsigned ifc_width:5;
+       unsigned ser_preamble_len:4;
+       unsigned ser_preamble:8;
+       unsigned ser_rw_mode:2;
+} ipu_adc_sig_cfg_t;
+
+/*!
+ * Enumeration of ADC template commands.
+ */
+enum {
+       RD_DATA,
+       RD_ACK,
+       RD_WAIT,
+       WR_XADDR,
+       WR_YADDR,
+       WR_ADDR,
+       WR_CMND,
+       WR_DATA,
+};
+
+/*!
+ * Enumeration of ADC template command flow control.
+ */
+enum {
+       SINGLE_STEP,
+       PAUSE,
+       STOP,
+};
+
+
+/*Define template constants*/
+#define     ATM_ADDR_RANGE      0x20   /*offset address of DISP */
+#define     TEMPLATE_BUF_SIZE   0x20   /*size of template */
+
+/*!
+ * Define to create ADC template command entry.
+ */
+#define ipu_adc_template_gen(oc, rs, fc, dat) (((rs) << 29) | ((fc) << 27) | \
+                       ((oc) << 24) | (dat))
+
+typedef struct {
+       u32 reg;
+       u32 value;
+} ipu_lpmc_reg_t;
+
+#define IPU_LPMC_REG_READ       0x80000000L
+
+#define CSI_MCLK_VF  1
+#define CSI_MCLK_ENC 2
+#define CSI_MCLK_RAW 4
+#define CSI_MCLK_I2C 8
+
+struct ipu_soc;
+/* Common IPU API */
+struct ipu_soc *ipu_get_soc(int id);
+int32_t ipu_init_channel(struct ipu_soc *ipu, ipu_channel_t channel, ipu_channel_params_t *params);
+void ipu_uninit_channel(struct ipu_soc *ipu, ipu_channel_t channel);
+void ipu_disable_hsp_clk(struct ipu_soc *ipu);
+
+static inline bool ipu_can_rotate_in_place(ipu_rotate_mode_t rot)
+{
+#ifdef CONFIG_MXC_IPU_V3D
+       return (rot < IPU_ROTATE_HORIZ_FLIP);
+#else
+       return (rot < IPU_ROTATE_90_RIGHT);
+#endif
+}
+
+int32_t ipu_init_channel_buffer(struct ipu_soc *ipu, ipu_channel_t channel, ipu_buffer_t type,
+                               uint32_t pixel_fmt,
+                               uint16_t width, uint16_t height,
+                               uint32_t stride,
+                               ipu_rotate_mode_t rot_mode,
+                               dma_addr_t phyaddr_0, dma_addr_t phyaddr_1,
+                               dma_addr_t phyaddr_2,
+                               uint32_t u_offset, uint32_t v_offset);
+
+int32_t ipu_update_channel_buffer(struct ipu_soc *ipu, ipu_channel_t channel, ipu_buffer_t type,
+                                 uint32_t bufNum, dma_addr_t phyaddr);
+
+int32_t ipu_update_channel_offset(struct ipu_soc *ipu, ipu_channel_t channel, ipu_buffer_t type,
+                               uint32_t pixel_fmt,
+                               uint16_t width, uint16_t height,
+                               uint32_t stride,
+                               uint32_t u, uint32_t v,
+                               uint32_t vertical_offset, uint32_t horizontal_offset);
+
+int32_t ipu_select_buffer(struct ipu_soc *ipu, ipu_channel_t channel,
+                         ipu_buffer_t type, uint32_t bufNum);
+int32_t ipu_select_multi_vdi_buffer(struct ipu_soc *ipu, uint32_t bufNum);
+
+int32_t ipu_link_channels(struct ipu_soc *ipu, ipu_channel_t src_ch, ipu_channel_t dest_ch);
+int32_t ipu_unlink_channels(struct ipu_soc *ipu, ipu_channel_t src_ch, ipu_channel_t dest_ch);
+
+int32_t ipu_is_channel_busy(struct ipu_soc *ipu, ipu_channel_t channel);
+int32_t ipu_check_buffer_ready(struct ipu_soc *ipu, ipu_channel_t channel, ipu_buffer_t type,
+               uint32_t bufNum);
+void ipu_clear_buffer_ready(struct ipu_soc *ipu, ipu_channel_t channel, ipu_buffer_t type,
+               uint32_t bufNum);
+uint32_t ipu_get_cur_buffer_idx(struct ipu_soc *ipu, ipu_channel_t channel, ipu_buffer_t type);
+int32_t ipu_enable_channel(struct ipu_soc *ipu, ipu_channel_t channel);
+int32_t ipu_disable_channel(struct ipu_soc *ipu, ipu_channel_t channel, bool wait_for_stop);
+int32_t ipu_swap_channel(struct ipu_soc *ipu, ipu_channel_t from_ch, ipu_channel_t to_ch);
+uint32_t ipu_channel_status(struct ipu_soc *ipu, ipu_channel_t channel);
+
+int32_t ipu_enable_csi(struct ipu_soc *ipu, uint32_t csi);
+int32_t ipu_disable_csi(struct ipu_soc *ipu, uint32_t csi);
+
+int ipu_lowpwr_display_enable(void);
+int ipu_lowpwr_display_disable(void);
+
+int ipu_enable_irq(struct ipu_soc *ipu, uint32_t irq);
+void ipu_disable_irq(struct ipu_soc *ipu, uint32_t irq);
+void ipu_clear_irq(struct ipu_soc *ipu, uint32_t irq);
+int ipu_request_irq(struct ipu_soc *ipu, uint32_t irq,
+                   irqreturn_t(*handler) (int, void *),
+                   uint32_t irq_flags, const char *devname, void *dev_id);
+void ipu_free_irq(struct ipu_soc *ipu, uint32_t irq, void *dev_id);
+bool ipu_get_irq_status(struct ipu_soc *ipu, uint32_t irq);
+void ipu_set_csc_coefficients(struct ipu_soc *ipu, ipu_channel_t channel, int32_t param[][3]);
+int32_t ipu_set_channel_bandmode(struct ipu_soc *ipu, ipu_channel_t channel,
+                                ipu_buffer_t type, uint32_t band_height);
+
+/* two stripe calculations */
+struct stripe_param{
+       unsigned int input_width; /* width of the input stripe */
+       unsigned int output_width; /* width of the output stripe */
+       unsigned int input_column; /* the first column on the input stripe */
+       unsigned int output_column; /* the first column on the output stripe */
+       unsigned int idr;
+       /* inverse downisizing ratio parameter; expressed as a power of 2 */
+       unsigned int irr;
+       /* inverse resizing ratio parameter; expressed as a multiple of 2^-13 */
+};
+int ipu_calc_stripes_sizes(const unsigned int input_frame_width,
+                               unsigned int output_frame_width,
+                               const unsigned int maximal_stripe_width,
+                               const unsigned long long cirr,
+                               const unsigned int equal_stripes,
+                               u32 input_pixelformat,
+                               u32 output_pixelformat,
+                               struct stripe_param *left,
+                               struct stripe_param *right);
+
+/* SDC API */
+int32_t ipu_init_sync_panel(struct ipu_soc *ipu, int disp,
+                           uint32_t pixel_clk,
+                           uint16_t width, uint16_t height,
+                           uint32_t pixel_fmt,
+                           uint16_t h_start_width, uint16_t h_sync_width,
+                           uint16_t h_end_width, uint16_t v_start_width,
+                           uint16_t v_sync_width, uint16_t v_end_width,
+                           uint32_t v_to_h_sync, ipu_di_signal_cfg_t sig);
+
+void ipu_uninit_sync_panel(struct ipu_soc *ipu, int disp);
+
+int32_t ipu_disp_set_window_pos(struct ipu_soc *ipu, ipu_channel_t channel, int16_t x_pos,
+                               int16_t y_pos);
+int32_t ipu_disp_get_window_pos(struct ipu_soc *ipu, ipu_channel_t channel, int16_t *x_pos,
+                               int16_t *y_pos);
+int32_t ipu_disp_set_global_alpha(struct ipu_soc *ipu, ipu_channel_t channel, bool enable,
+                                 uint8_t alpha);
+int32_t ipu_disp_set_color_key(struct ipu_soc *ipu, ipu_channel_t channel, bool enable,
+                              uint32_t colorKey);
+int32_t ipu_disp_set_gamma_correction(struct ipu_soc *ipu, ipu_channel_t channel, bool enable,
+                               int constk[], int slopek[]);
+
+int ipu_init_async_panel(struct ipu_soc *ipu, int disp, int type, uint32_t cycle_time,
+                        uint32_t pixel_fmt, ipu_adc_sig_cfg_t sig);
+void ipu_disp_direct_write(struct ipu_soc *ipu, ipu_channel_t channel, u32 value, u32 offset);
+void ipu_reset_disp_panel(struct ipu_soc *ipu);
+
+/* CMOS Sensor Interface API */
+int32_t ipu_csi_init_interface(struct ipu_soc *ipu, uint16_t width, uint16_t height,
+                              uint32_t pixel_fmt, ipu_csi_signal_cfg_t sig);
+
+int32_t ipu_csi_get_sensor_protocol(struct ipu_soc *ipu, uint32_t csi);
+
+int32_t ipu_csi_enable_mclk(struct ipu_soc *ipu, int src, bool flag, bool wait);
+
+static inline int32_t ipu_csi_enable_mclk_if(struct ipu_soc *ipu, int src, uint32_t csi,
+               bool flag, bool wait)
+{
+       return ipu_csi_enable_mclk(ipu, csi, flag, wait);
+}
+
+int ipu_csi_read_mclk_flag(void);
+
+void ipu_csi_flash_strobe(bool flag);
+
+void ipu_csi_get_window_size(struct ipu_soc *ipu, uint32_t *width, uint32_t *height, uint32_t csi);
+
+void ipu_csi_set_window_size(struct ipu_soc *ipu, uint32_t width, uint32_t height, uint32_t csi);
+
+void ipu_csi_set_window_pos(struct ipu_soc *ipu, uint32_t left, uint32_t top, uint32_t csi);
+
+uint32_t bytes_per_pixel(uint32_t fmt);
+
+bool ipu_ch_param_bad_alpha_pos(uint32_t fmt);
+
+struct ipuv3_fb_platform_data {
+       char                            disp_dev[32];
+       u32                             interface_pix_fmt;
+       char                            *mode_str;
+       int                             default_bpp;
+       bool                            int_clk;
+
+       /* reserved mem */
+       resource_size_t                 res_base[2];
+       resource_size_t                 res_size[2];
+
+       /*
+        * Late init to avoid display channel being
+        * re-initialized as we've probably setup the
+        * channel in bootloader.
+        */
+       bool                            late_init;
+};
+
+#endif /* __LINUX_IPU_V3_H_ */
diff --git a/include/linux/ipu.h b/include/linux/ipu.h
new file mode 100644 (file)
index 0000000..e516ee7
--- /dev/null
@@ -0,0 +1,38 @@
+/*
+ * Copyright 2005-2013 Freescale Semiconductor, Inc.
+ */
+
+/*
+ * The code contained herein is licensed under the GNU Lesser General
+ * Public License.  You may obtain a copy of the GNU Lesser General
+ * Public License Version 2.1 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/lgpl-license.html
+ * http://www.gnu.org/copyleft/lgpl.html
+ */
+
+/*!
+ * @defgroup IPU MXC Image Processing Unit (IPU) Driver
+ */
+/*!
+ * @file linux/ipu.h
+ *
+ * @brief This file contains the IPU driver API declarations.
+ *
+ * @ingroup IPU
+ */
+
+#ifndef __LINUX_IPU_H__
+#define __LINUX_IPU_H__
+
+#include <linux/interrupt.h>
+#include <uapi/linux/ipu.h>
+
+unsigned int fmt_to_bpp(unsigned int pixelformat);
+cs_t colorspaceofpixel(int fmt);
+int need_csc(int ifmt, int ofmt);
+
+int ipu_queue_task(struct ipu_task *task);
+int ipu_check_task(struct ipu_task *task);
+
+#endif
diff --git a/include/linux/mxc_asrc.h b/include/linux/mxc_asrc.h
new file mode 100644 (file)
index 0000000..778a175
--- /dev/null
@@ -0,0 +1,388 @@
+/*
+ * Copyright 2008-2013 Freescale Semiconductor, Inc. All Rights Reserved.
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file mxc_asrc.h
+ *
+ * @brief i.MX Asynchronous Sample Rate Converter
+ *
+ * @ingroup Audio
+ */
+
+#ifndef __MXC_ASRC_H__
+#define __MXC_ASRC_H__
+
+#include <uapi/linux/mxc_asrc.h>
+#include <linux/scatterlist.h>
+
+#define ASRC_DMA_BUFFER_NUM            2
+#define ASRC_INPUTFIFO_THRESHOLD       32
+#define ASRC_OUTPUTFIFO_THRESHOLD      32
+#define ASRC_DMA_BUFFER_SIZE           (1024 * 48 * 4)
+#define ASRC_MAX_BUFFER_SIZE           (1024 * 48)
+#define ASRC_OUTPUT_LAST_SAMPLE_DEFAULT        8
+
+
+/* Ideal Ratio mode doesn't care the outclk frequency, so be fixed */
+#define ASRC_PRESCALER_IDEAL_RATIO     5
+/* SPDIF rxclk pulse rate is 128 * samplerate, so 2 ^ 7 */
+#define ASRC_PRESCALER_SPDIF_RX                7
+/* SPDIF txclk pulse rate is 64 * samplerate, so 2 ^ 6 */
+#define ASRC_PRESCALER_SPDIF_TX                6
+/* I2S bclk is 16 * 2 = 32, so 2 ^ 5 */
+#define ASRC_PRESCALER_I2S_16BIT       5
+/* I2S bclk is 24 * 2 = 48 -> 64, so 2 ^ 6 */
+#define ASRC_PRESCALER_I2S_24BIT       6
+
+
+#define REG_ASRCTR                     0x00
+#define REG_ASRIER                     0x04
+#define REG_ASRCNCR                    0x0C
+#define REG_ASRCFG                     0x10
+#define REG_ASRCSR                     0x14
+
+#define REG_ASRCDR1                    0x18
+#define REG_ASRCDR2                    0x1C
+#define REG_ASRCDR(x)                  ((x < 2) ? REG_ASRCDR1 : REG_ASRCDR2)
+
+#define REG_ASRSTR                     0x20
+#define REG_ASRRA                      0x24
+#define REG_ASRRB                      0x28
+#define REG_ASRRC                      0x2C
+#define REG_ASRPM1                     0x40
+#define REG_ASRPM2                     0x44
+#define REG_ASRPM3                     0x48
+#define REG_ASRPM4                     0x4C
+#define REG_ASRPM5                     0x50
+#define REG_ASRTFR1                    0x54
+#define REG_ASRCCR                     0x5C
+
+#define REG_ASRDIA                     0x60
+#define REG_ASRDOA                     0x64
+#define REG_ASRDIB                     0x68
+#define REG_ASRDOB                     0x6C
+#define REG_ASRDIC                     0x70
+#define REG_ASRDOC                     0x74
+#define REG_ASRDI(x)                   (REG_ASRDIA + (x << 3))
+#define REG_ASRDO(x)                   (REG_ASRDOA + (x << 3))
+
+#define REG_ASRIDRHA                   0x80
+#define REG_ASRIDRLA                   0x84
+#define REG_ASRIDRHB                   0x88
+#define REG_ASRIDRLB                   0x8C
+#define REG_ASRIDRHC                   0x90
+#define REG_ASRIDRLC                   0x94
+#define REG_ASRIDRH(x)                 (REG_ASRIDRHA + (x << 3))
+#define REG_ASRIDRL(x)                 (REG_ASRIDRLA + (x << 3))
+
+#define REG_ASR76K                     0x98
+#define REG_ASR56K                     0x9C
+
+#define REG_ASRMCRA                    0xA0
+#define REG_ASRFSTA                    0xA4
+#define REG_ASRMCRB                    0xA8
+#define REG_ASRFSTB                    0xAC
+#define REG_ASRMCRC                    0xB0
+#define REG_ASRFSTC                    0xB4
+#define REG_ASRMCR(x)                  (REG_ASRMCRA + (x << 3))
+#define REG_ASRFST(x)                  (REG_ASRFSTA + (x << 3))
+
+#define REG_ASRMCR1A                   0xC0
+#define REG_ASRMCR1B                   0xC4
+#define REG_ASRMCR1C                   0xC8
+#define REG_ASRMCR1(x)                 (REG_ASRMCR1A + (x << 2))
+
+
+/* REG0 0x00 REG_ASRCTR */
+#define ASRCTR_ATSx_SHIFT(x)           (20 + x)
+#define ASRCTR_ATSx_MASK(x)            (1 << ASRCTR_ATSx_SHIFT(x))
+#define ASRCTR_ATS(x)                  (1 << ASRCTR_ATSx_SHIFT(x))
+#define ASRCTR_USRx_SHIFT(x)           (14 + (x << 1))
+#define ASRCTR_USRx_MASK(x)            (1 << ASRCTR_USRx_SHIFT(x))
+#define ASRCTR_USR(x)                  (1 << ASRCTR_USRx_SHIFT(x))
+#define ASRCTR_IDRx_SHIFT(x)           (13 + (x << 1))
+#define ASRCTR_IDRx_MASK(x)            (1 << ASRCTR_IDRx_SHIFT(x))
+#define ASRCTR_IDR(x)                  (1 << ASRCTR_IDRx_SHIFT(x))
+#define ASRCTR_SRST_SHIFT              4
+#define ASRCTR_SRST_MASK               (1 << ASRCTR_SRST_SHIFT)
+#define ASRCTR_SRST                    (1 << ASRCTR_SRST_SHIFT)
+#define ASRCTR_ASRCEx_SHIFT(x)         (1 + x)
+#define ASRCTR_ASRCEx_MASK(x)          (1 << ASRCTR_ASRCEx_SHIFT(x))
+#define ASRCTR_ASRCE(x)                        (1 << ASRCTR_ASRCEx_SHIFT(x))
+#define ASRCTR_ASRCEN_SHIFT            0
+#define ASRCTR_ASRCEN_MASK             (1 << ASRCTR_ASRCEN_SHIFT)
+#define ASRCTR_ASRCEN                  (1 << ASRCTR_ASRCEN_SHIFT)
+
+/* REG1 0x04 REG_ASRIER */
+#define ASRIER_AFPWE_SHIFT             7
+#define ASRIER_AFPWE_MASK              (1 << ASRIER_AFPWE_SHIFT)
+#define ASRIER_AFPWE                   (1 << ASRIER_AFPWE_SHIFT)
+#define ASRIER_AOLIE_SHIFT             6
+#define ASRIER_AOLIE_MASK              (1 << ASRIER_AOLIE_SHIFT)
+#define ASRIER_AOLIE                   (1 << ASRIER_AOLIE_SHIFT)
+#define ASRIER_ADOEx_SHIFT(x)          (3 + x)
+#define ASRIER_ADOEx_MASK(x)           (1 << ASRIER_ADOEx_SHIFT(x))
+#define ASRIER_ADOE(x)                 (1 << ASRIER_ADOEx_SHIFT(x))
+#define ASRIER_ADIEx_SHIFT(x)          (0 + x)
+#define ASRIER_ADIEx_MASK(x)           (1 << ASRIER_ADIEx_SHIFT(x))
+#define ASRIER_ADIE(x)                 (1 << ASRIER_ADIEx_SHIFT(x))
+
+/* REG2 0x0C REG_ASRCNCR */
+#define ASRCNCR_ANCA_MASK(b)           ((1 << b) - 1)
+#define ASRCNCR_ANCA_get(v, b)         (v & ASRCNCR_ANCA_MASK(b))
+#define ASRCNCR_ANCB_MASK(b)           (((1 << b) - 1) << b)
+#define ASRCNCR_ANCB_get(v, b)         ((v & ASRCNCR_ANCB_MASK(b)) >> b)
+#define ASRCNCR_ANCC_MASK(b)           (((1 << b) - 1) << (b << 1))
+#define ASRCNCR_ANCC_get(v, b)         ((v & ASRCNCR_ANCC_MASK(b)) >> (b << 1))
+
+/* REG3 0x10 REG_ASRCFG */
+#define ASRCFG_INIRQx_SHIFT(x)         (21 + x)
+#define ASRCFG_INIRQx_MASK(x)          (1 << ASRCFG_INIRQx_SHIFT(x))
+#define ASRCFG_INIRQx                  (1 << ASRCFG_INIRQx_SHIFT(x))
+#define ASRCFG_NDPRx_SHIFT(x)          (18 + x)
+#define ASRCFG_NDPRx_MASK(x)           (1 << ASRCFG_NDPRx_SHIFT(x))
+#define ASRCFG_NDPRx                   (1 << ASRCFG_NDPRx_SHIFT(x))
+#define ASRCFG_POSTMODx_SHIFT(x)       (8 + (x << 2))
+#define ASRCFG_POSTMODx_WIDTH          2
+#define ASRCFG_POSTMODx_MASK(x)                (((1 << ASRCFG_POSTMODx_WIDTH) - 1) << ASRCFG_POSTMODx_SHIFT(x))
+#define ASRCFG_POSTMOD(x, v)           ((v) << ASRCFG_POSTMODx_SHIFT(x))
+#define ASRCFG_POSTMODx_UP(x)          (0 << ASRCFG_POSTMODx_SHIFT(x))
+#define ASRCFG_POSTMODx_DCON(x)                (1 << ASRCFG_POSTMODx_SHIFT(x))
+#define ASRCFG_POSTMODx_DOWN(x)                (2 << ASRCFG_POSTMODx_SHIFT(x))
+#define ASRCFG_PREMODx_SHIFT(x)                (6 + (x << 2))
+#define ASRCFG_PREMODx_WIDTH           2
+#define ASRCFG_PREMODx_MASK(x)         (((1 << ASRCFG_PREMODx_WIDTH) - 1) << ASRCFG_PREMODx_SHIFT(x))
+#define ASRCFG_PREMOD(x, v)            ((v) << ASRCFG_PREMODx_SHIFT(x))
+#define ASRCFG_PREMODx_UP(x)           (0 << ASRCFG_PREMODx_SHIFT(x))
+#define ASRCFG_PREMODx_DCON(x)         (1 << ASRCFG_PREMODx_SHIFT(x))
+#define ASRCFG_PREMODx_DOWN(x)         (2 << ASRCFG_PREMODx_SHIFT(x))
+#define ASRCFG_PREMODx_BYPASS(x)       (3 << ASRCFG_PREMODx_SHIFT(x))
+
+/* REG4 0x14 REG_ASRCSR */
+#define ASRCSR_AxCSx_WIDTH             4
+#define ASRCSR_AxCSx_MASK              ((1 << ASRCSR_AxCSx_WIDTH) - 1)
+#define ASRCSR_AOCSx_SHIFT(x)          (12 + (x << 2))
+#define ASRCSR_AOCSx_MASK(x)           (((1 << ASRCSR_AxCSx_WIDTH) - 1) << ASRCSR_AOCSx_SHIFT(x))
+#define ASRCSR_AOCS(x, v)              ((v) << ASRCSR_AOCSx_SHIFT(x))
+#define ASRCSR_AICSx_SHIFT(x)          (x << 2)
+#define ASRCSR_AICSx_MASK(x)           (((1 << ASRCSR_AxCSx_WIDTH) - 1) << ASRCSR_AICSx_SHIFT(x))
+#define ASRCSR_AICS(x, v)              ((v) << ASRCSR_AICSx_SHIFT(x))
+
+/* REG5&6 0x18 & 0x1C REG_ASRCDR1 & ASRCDR2 */
+#define ASRCDRx_AxCPx_WIDTH            3
+#define ASRCDRx_AICPx_SHIFT(x)         (0 + (x % 2) * 6)
+#define ASRCDRx_AICPx_MASK(x)          (((1 << ASRCDRx_AxCPx_WIDTH) - 1) << ASRCDRx_AICPx_SHIFT(x))
+#define ASRCDRx_AICP(x, v)             ((v) << ASRCDRx_AICPx_SHIFT(x))
+#define ASRCDRx_AICDx_SHIFT(x)         (3 + (x % 2) * 6)
+#define ASRCDRx_AICDx_MASK(x)          (((1 << ASRCDRx_AxCPx_WIDTH) - 1) << ASRCDRx_AICDx_SHIFT(x))
+#define ASRCDRx_AICD(x, v)             ((v) << ASRCDRx_AICDx_SHIFT(x))
+#define ASRCDRx_AOCPx_SHIFT(x)         ((x < 2) ? 12 + x * 6 : 6)
+#define ASRCDRx_AOCPx_MASK(x)          (((1 << ASRCDRx_AxCPx_WIDTH) - 1) << ASRCDRx_AOCPx_SHIFT(x))
+#define ASRCDRx_AOCP(x, v)             ((v) << ASRCDRx_AOCPx_SHIFT(x))
+#define ASRCDRx_AOCDx_SHIFT(x)         ((x < 2) ? 15 + x * 6 : 9)
+#define ASRCDRx_AOCDx_MASK(x)          (((1 << ASRCDRx_AxCPx_WIDTH) - 1) << ASRCDRx_AOCDx_SHIFT(x))
+#define ASRCDRx_AOCD(x, v)             ((v) << ASRCDRx_AOCDx_SHIFT(x))
+
+/* REG7 0x20 REG_ASRSTR */
+#define ASRSTR_DSLCNT_SHIFT            21
+#define ASRSTR_DSLCNT_MASK             (1 << ASRSTR_DSLCNT_SHIFT)
+#define ASRSTR_DSLCNT                  (1 << ASRSTR_DSLCNT_SHIFT)
+#define ASRSTR_ATQOL_SHIFT             20
+#define ASRSTR_ATQOL_MASK              (1 << ASRSTR_ATQOL_SHIFT)
+#define ASRSTR_ATQOL                   (1 << ASRSTR_ATQOL_SHIFT)
+#define ASRSTR_AOOLx_SHIFT(x)          (17 + x)
+#define ASRSTR_AOOLx_MASK(x)           (1 << ASRSTR_AOOLx_SHIFT(x))
+#define ASRSTR_AOOL(x)                 (1 << ASRSTR_AOOLx_SHIFT(x))
+#define ASRSTR_AIOLx_SHIFT(x)          (14 + x)
+#define ASRSTR_AIOLx_MASK(x)           (1 << ASRSTR_AIOLx_SHIFT(x))
+#define ASRSTR_AIOL(x)                 (1 << ASRSTR_AIOLx_SHIFT(x))
+#define ASRSTR_AODOx_SHIFT(x)          (11 + x)
+#define ASRSTR_AODOx_MASK(x)           (1 << ASRSTR_AODOx_SHIFT(x))
+#define ASRSTR_AODO(x)                 (1 << ASRSTR_AODOx_SHIFT(x))
+#define ASRSTR_AIDUx_SHIFT(x)          (8 + x)
+#define ASRSTR_AIDUx_MASK(x)           (1 << ASRSTR_AIDUx_SHIFT(x))
+#define ASRSTR_AIDU(x)                 (1 << ASRSTR_AIDUx_SHIFT(x))
+#define ASRSTR_FPWT_SHIFT              7
+#define ASRSTR_FPWT_MASK               (1 << ASRSTR_FPWT_SHIFT)
+#define ASRSTR_FPWT                    (1 << ASRSTR_FPWT_SHIFT)
+#define ASRSTR_AOLE_SHIFT              6
+#define ASRSTR_AOLE_MASK               (1 << ASRSTR_AOLE_SHIFT)
+#define ASRSTR_AOLE                    (1 << ASRSTR_AOLE_SHIFT)
+#define ASRSTR_AODEx_SHIFT(x)          (3 + x)
+#define ASRSTR_AODFx_MASK(x)           (1 << ASRSTR_AODEx_SHIFT(x))
+#define ASRSTR_AODF(x)                 (1 << ASRSTR_AODEx_SHIFT(x))
+#define ASRSTR_AIDEx_SHIFT(x)          (0 + x)
+#define ASRSTR_AIDEx_MASK(x)           (1 << ASRSTR_AIDEx_SHIFT(x))
+#define ASRSTR_AIDE(x)                 (1 << ASRSTR_AIDEx_SHIFT(x))
+
+/* REG10 0x54 REG_ASRTFR1 */
+#define ASRTFR1_TF_BASE_WIDTH          7
+#define ASRTFR1_TF_BASE_SHIFT          6
+#define ASRTFR1_TF_BASE_MASK           (((1 << ASRTFR1_TF_BASE_WIDTH) - 1) << ASRTFR1_TF_BASE_SHIFT)
+#define ASRTFR1_TF_BASE(x)             ((x) << ASRTFR1_TF_BASE_SHIFT)
+
+/*
+ * REG22 0xA0 REG_ASRMCRA
+ * REG24 0xA8 REG_ASRMCRB
+ * REG26 0xB0 REG_ASRMCRC
+ */
+#define ASRMCRx_ZEROBUFx_SHIFT         23
+#define ASRMCRx_ZEROBUFxCLR_MASK       (1 << ASRMCRx_ZEROBUFx_SHIFT)
+#define ASRMCRx_ZEROBUFxCLR            (1 << ASRMCRx_ZEROBUFx_SHIFT)
+#define ASRMCRx_EXTTHRSHx_SHIFT                22
+#define ASRMCRx_EXTTHRSHx_MASK         (1 << ASRMCRx_EXTTHRSHx_SHIFT)
+#define ASRMCRx_EXTTHRSHx              (1 << ASRMCRx_EXTTHRSHx_SHIFT)
+#define ASRMCRx_BUFSTALLx_SHIFT                21
+#define ASRMCRx_BUFSTALLx_MASK         (1 << ASRMCRx_BUFSTALLx_SHIFT)
+#define ASRMCRx_BUFSTALLx              (1 << ASRMCRx_BUFSTALLx_SHIFT)
+#define ASRMCRx_BYPASSPOLYx_SHIFT      20
+#define ASRMCRx_BYPASSPOLYx_MASK       (1 << ASRMCRx_BYPASSPOLYx_SHIFT)
+#define ASRMCRx_BYPASSPOLYx            (1 << ASRMCRx_BYPASSPOLYx_SHIFT)
+#define ASRMCRx_OUTFIFO_THRESHOLD_WIDTH        6
+#define ASRMCRx_OUTFIFO_THRESHOLD_SHIFT        12
+#define ASRMCRx_OUTFIFO_THRESHOLD_MASK (((1 << ASRMCRx_OUTFIFO_THRESHOLD_WIDTH) - 1) << ASRMCRx_OUTFIFO_THRESHOLD_SHIFT)
+#define ASRMCRx_OUTFIFO_THRESHOLD(v)   (((v) << ASRMCRx_OUTFIFO_THRESHOLD_SHIFT) & ASRMCRx_OUTFIFO_THRESHOLD_MASK)
+#define ASRMCRx_RSYNIFx_SHIFT          11
+#define ASRMCRx_RSYNIFx_MASK           (1 << ASRMCRx_RSYNIFx_SHIFT)
+#define ASRMCRx_RSYNIFx                        (1 << ASRMCRx_RSYNIFx_SHIFT)
+#define ASRMCRx_RSYNOFx_SHIFT          10
+#define ASRMCRx_RSYNOFx_MASK           (1 << ASRMCRx_RSYNOFx_SHIFT)
+#define ASRMCRx_RSYNOFx                        (1 << ASRMCRx_RSYNOFx_SHIFT)
+#define ASRMCRx_INFIFO_THRESHOLD_WIDTH 6
+#define ASRMCRx_INFIFO_THRESHOLD_SHIFT 0
+#define ASRMCRx_INFIFO_THRESHOLD_MASK  (((1 << ASRMCRx_INFIFO_THRESHOLD_WIDTH) - 1) << ASRMCRx_INFIFO_THRESHOLD_SHIFT)
+#define ASRMCRx_INFIFO_THRESHOLD(v)    (((v) << ASRMCRx_INFIFO_THRESHOLD_SHIFT) & ASRMCRx_INFIFO_THRESHOLD_MASK)
+
+/*
+ * REG23 0xA4 REG_ASRFSTA
+ * REG25 0xAC REG_ASRFSTB
+ * REG27 0xB4 REG_ASRFSTC
+ */
+#define ASRFSTx_OAFx_SHIFT             23
+#define ASRFSTx_OAFx_MASK              (1 << ASRFSTx_OAFx_SHIFT)
+#define ASRFSTx_OAFx                   (1 << ASRFSTx_OAFx_SHIFT)
+#define ASRFSTx_OUTPUT_FIFO_WIDTH      7
+#define ASRFSTx_OUTPUT_FIFO_SHIFT      12
+#define ASRFSTx_OUTPUT_FIFO_MASK       (((1 << ASRFSTx_OUTPUT_FIFO_WIDTH) - 1) << ASRFSTx_OUTPUT_FIFO_SHIFT)
+#define ASRFSTx_IAEx_SHIFT             11
+#define ASRFSTx_IAEx_MASK              (1 << ASRFSTx_OAFx_SHIFT)
+#define ASRFSTx_IAEx                   (1 << ASRFSTx_OAFx_SHIFT)
+#define ASRFSTx_INPUT_FIFO_WIDTH       7
+#define ASRFSTx_INPUT_FIFO_SHIFT       0
+#define ASRFSTx_INPUT_FIFO_MASK                ((1 << ASRFSTx_INPUT_FIFO_WIDTH) - 1)
+
+/* REG28 0xC0 & 0xC4 & 0xC8 REG_ASRMCR1x */
+#define ASRMCR1x_IWD_WIDTH             3
+#define ASRMCR1x_IWD_SHIFT             9
+#define ASRMCR1x_IWD_MASK              (((1 << ASRMCR1x_IWD_WIDTH) - 1) << ASRMCR1x_IWD_SHIFT)
+#define ASRMCR1x_IWD(v)                        ((v) << ASRMCR1x_IWD_SHIFT)
+#define ASRMCR1x_IMSB_SHIFT            8
+#define ASRMCR1x_IMSB_MASK             (1 << ASRMCR1x_IMSB_SHIFT)
+#define ASRMCR1x_IMSB_MSB              (1 << ASRMCR1x_IMSB_SHIFT)
+#define ASRMCR1x_IMSB_LSB              (0 << ASRMCR1x_IMSB_SHIFT)
+#define ASRMCR1x_OMSB_SHIFT            2
+#define ASRMCR1x_OMSB_MASK             (1 << ASRMCR1x_OMSB_SHIFT)
+#define ASRMCR1x_OMSB_MSB              (1 << ASRMCR1x_OMSB_SHIFT)
+#define ASRMCR1x_OMSB_LSB              (0 << ASRMCR1x_OMSB_SHIFT)
+#define ASRMCR1x_OSGN_SHIFT            1
+#define ASRMCR1x_OSGN_MASK             (1 << ASRMCR1x_OSGN_SHIFT)
+#define ASRMCR1x_OSGN                  (1 << ASRMCR1x_OSGN_SHIFT)
+#define ASRMCR1x_OW16_SHIFT            0
+#define ASRMCR1x_OW16_MASK             (1 << ASRMCR1x_OW16_SHIFT)
+#define ASRMCR1x_OW16(v)               ((v) << ASRMCR1x_OW16_SHIFT)
+
+
+struct dma_block {
+       unsigned int index;
+       unsigned int length;
+       void *dma_vaddr;
+       dma_addr_t dma_paddr;
+       struct list_head queue;
+};
+
+struct asrc_p2p_params {
+       u32 p2p_rate;                           /* ASRC output rate for p2p */
+       enum asrc_word_width p2p_width;         /* ASRC output wordwidth for p2p */
+};
+
+struct asrc_pair_params {
+       enum asrc_pair_index index;
+       struct completion input_complete;
+       struct completion output_complete;
+       struct completion lastperiod_complete;
+       struct dma_chan *input_dma_channel;
+       struct dma_chan *output_dma_channel;
+       unsigned int input_buffer_size;
+       unsigned int output_buffer_size;
+       unsigned int buffer_num;
+       unsigned int pair_hold;
+       unsigned int asrc_active;
+       unsigned int channel_nums;
+       struct dma_block input_dma_total;
+       struct dma_block input_dma[ASRC_DMA_BUFFER_NUM];
+       struct dma_block output_dma_total;
+       struct dma_block output_dma[ASRC_DMA_BUFFER_NUM];
+       struct dma_block output_last_period;
+       struct dma_async_tx_descriptor *desc_in;
+       struct dma_async_tx_descriptor *desc_out;
+       struct work_struct task_output_work;
+       unsigned int input_sg_nodes;
+       unsigned int output_sg_nodes;
+       struct scatterlist input_sg[4], output_sg[4];
+       enum asrc_word_width input_word_width;
+       enum asrc_word_width output_word_width;
+       u32 input_sample_rate;
+       u32 output_sample_rate;
+       u32 input_wm;
+       u32 output_wm;
+       unsigned int last_period_sample;
+};
+
+struct asrc_data {
+       struct asrc_pair asrc_pair[3];
+       struct proc_dir_entry *proc_asrc;
+       struct regmap *regmap;
+       unsigned long vaddr;
+       unsigned long paddr;
+       struct class *asrc_class;
+       int asrc_major;
+       struct clk *asrc_clk;
+       unsigned int channel_bits;
+       int clk_map_ver;
+       int irq;
+       struct device *dev;
+};
+
+struct asrc_p2p_ops {
+       void (*asrc_p2p_start_conv)(enum asrc_pair_index);
+       void (*asrc_p2p_stop_conv)(enum asrc_pair_index);
+       int (*asrc_p2p_get_dma_request)(enum asrc_pair_index, bool);
+       u32 (*asrc_p2p_per_addr)(enum asrc_pair_index, bool);
+       int (*asrc_p2p_req_pair)(int, enum asrc_pair_index *index);
+       int (*asrc_p2p_config_pair)(struct asrc_config *config);
+       void (*asrc_p2p_release_pair)(enum asrc_pair_index);
+       void (*asrc_p2p_finish_conv)(enum asrc_pair_index);
+};
+
+extern void asrc_p2p_hook(struct asrc_p2p_ops *asrc_p2p_ct);
+
+extern int asrc_req_pair(int chn_num, enum asrc_pair_index *index);
+extern void asrc_release_pair(enum asrc_pair_index index);
+extern int asrc_config_pair(struct asrc_config *config);
+extern void asrc_get_status(struct asrc_status_flags *flags);
+extern void asrc_start_conv(enum asrc_pair_index index);
+extern void asrc_stop_conv(enum asrc_pair_index index);
+extern u32 asrc_get_per_addr(enum asrc_pair_index index, bool i);
+extern int asrc_get_dma_request(enum asrc_pair_index index, bool i);
+extern void asrc_finish_conv(enum asrc_pair_index index);
+extern int asrc_set_watermark(enum asrc_pair_index index,
+               u32 in_wm, u32 out_wm);
+extern void sdma_set_event_pending(struct dma_chan *chan);
+
+#endif/* __MXC_ASRC_H__ */
diff --git a/include/linux/mxc_v4l2.h b/include/linux/mxc_v4l2.h
new file mode 100644 (file)
index 0000000..e05bd04
--- /dev/null
@@ -0,0 +1,27 @@
+/*
+ * Copyright 2004-2013 Freescale Semiconductor, Inc. All Rights Reserved.
+ */
+
+/*
+ * The code contained herein is licensed under the GNU Lesser General
+ * Public License.  You may obtain a copy of the GNU Lesser General
+ * Public License Version 2.1 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/lgpl-license.html
+ * http://www.gnu.org/copyleft/lgpl.html
+ */
+
+/*!
+ * @file linux/mxc_v4l2.h
+ *
+ * @brief MXC V4L2 private header file
+ *
+ * @ingroup MXC V4L2
+ */
+
+#ifndef __LINUX_MXC_V4L2_H__
+#define __LINUX_MXC_V4L2_H__
+
+#include <uapi/linux/mxc_v4l2.h>
+
+#endif
diff --git a/include/linux/mxc_vpu.h b/include/linux/mxc_vpu.h
new file mode 100644 (file)
index 0000000..df6af92
--- /dev/null
@@ -0,0 +1,118 @@
+/*
+ * Copyright 2004-2013 Freescale Semiconductor, Inc. All Rights Reserved.
+ */
+
+/*
+ * The code contained herein is licensed under the GNU Lesser General
+ * Public License.  You may obtain a copy of the GNU Lesser General
+ * Public License Version 2.1 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/lgpl-license.html
+ * http://www.gnu.org/copyleft/lgpl.html
+ */
+
+/*!
+ * @defgroup VPU Video Processor Unit Driver
+ */
+
+/*!
+ * @file linux/mxc_vpu.h
+ *
+ * @brief VPU system initialization and file operation definition
+ *
+ * @ingroup VPU
+ */
+
+#ifndef __LINUX_MXC_VPU_H__
+#define __LINUX_MXC_VPU_H__
+
+#include <linux/fs.h>
+
+struct mxc_vpu_platform_data {
+       bool iram_enable;
+       int  iram_size;
+       void (*reset) (void);
+       void (*pg) (int);
+};
+
+struct vpu_mem_desc {
+       u32 size;
+       dma_addr_t phy_addr;
+       void *cpu_addr;         /* cpu address to free the dma mem */
+       void *virt_uaddr;               /* virtual user space address */
+};
+
+#define VPU_IOC_MAGIC  'V'
+
+#define VPU_IOC_PHYMEM_ALLOC   _IO(VPU_IOC_MAGIC, 0)
+#define VPU_IOC_PHYMEM_FREE    _IO(VPU_IOC_MAGIC, 1)
+#define VPU_IOC_WAIT4INT       _IO(VPU_IOC_MAGIC, 2)
+#define VPU_IOC_PHYMEM_DUMP    _IO(VPU_IOC_MAGIC, 3)
+#define VPU_IOC_REG_DUMP       _IO(VPU_IOC_MAGIC, 4)
+#define VPU_IOC_IRAM_SETTING   _IO(VPU_IOC_MAGIC, 6)
+#define VPU_IOC_CLKGATE_SETTING        _IO(VPU_IOC_MAGIC, 7)
+#define VPU_IOC_GET_WORK_ADDR   _IO(VPU_IOC_MAGIC, 8)
+#define VPU_IOC_REQ_VSHARE_MEM _IO(VPU_IOC_MAGIC, 9)
+#define VPU_IOC_SYS_SW_RESET   _IO(VPU_IOC_MAGIC, 11)
+#define VPU_IOC_GET_SHARE_MEM   _IO(VPU_IOC_MAGIC, 12)
+#define VPU_IOC_QUERY_BITWORK_MEM  _IO(VPU_IOC_MAGIC, 13)
+#define VPU_IOC_SET_BITWORK_MEM    _IO(VPU_IOC_MAGIC, 14)
+#define VPU_IOC_PHYMEM_CHECK   _IO(VPU_IOC_MAGIC, 15)
+#define VPU_IOC_LOCK_DEV       _IO(VPU_IOC_MAGIC, 16)
+
+#define BIT_CODE_RUN                   0x000
+#define BIT_CODE_DOWN                  0x004
+#define BIT_INT_CLEAR                  0x00C
+#define BIT_INT_STATUS                 0x010
+#define BIT_CUR_PC                     0x018
+#define BIT_INT_REASON                 0x174
+
+#define MJPEG_PIC_STATUS_REG           0x3004
+#define MBC_SET_SUBBLK_EN              0x4A0
+
+#define BIT_WORK_CTRL_BUF_BASE         0x100
+#define BIT_WORK_CTRL_BUF_REG(i)       (BIT_WORK_CTRL_BUF_BASE + i * 4)
+#define BIT_CODE_BUF_ADDR              BIT_WORK_CTRL_BUF_REG(0)
+#define BIT_WORK_BUF_ADDR              BIT_WORK_CTRL_BUF_REG(1)
+#define BIT_PARA_BUF_ADDR              BIT_WORK_CTRL_BUF_REG(2)
+#define BIT_BIT_STREAM_CTRL            BIT_WORK_CTRL_BUF_REG(3)
+#define BIT_FRAME_MEM_CTRL             BIT_WORK_CTRL_BUF_REG(4)
+#define BIT_BIT_STREAM_PARAM           BIT_WORK_CTRL_BUF_REG(5)
+
+#ifndef CONFIG_SOC_IMX6Q
+#define BIT_RESET_CTRL                 0x11C
+#else
+#define BIT_RESET_CTRL                 0x128
+#endif
+
+/* i could be 0, 1, 2, 3 */
+#define        BIT_RD_PTR_BASE                 0x120
+#define BIT_RD_PTR_REG(i)              (BIT_RD_PTR_BASE + i * 8)
+#define BIT_WR_PTR_REG(i)              (BIT_RD_PTR_BASE + i * 8 + 4)
+
+/* i could be 0, 1, 2, 3 */
+#define BIT_FRM_DIS_FLG_BASE           (cpu_is_mx51() ? 0x150 : 0x140)
+#define        BIT_FRM_DIS_FLG_REG(i)          (BIT_FRM_DIS_FLG_BASE + i * 4)
+
+#define BIT_BUSY_FLAG                  0x160
+#define BIT_RUN_COMMAND                        0x164
+#define BIT_INT_ENABLE                 0x170
+
+#define        BITVAL_PIC_RUN                  8
+
+#define        VPU_SLEEP_REG_VALUE             10
+#define        VPU_WAKE_REG_VALUE              11
+
+int vl2cc_init(u32 vl2cc_hw_base);
+void vl2cc_enable(void);
+void vl2cc_flush(void);
+void vl2cc_disable(void);
+void vl2cc_cleanup(void);
+
+int vl2cc_init(u32 vl2cc_hw_base);
+void vl2cc_enable(void);
+void vl2cc_flush(void);
+void vl2cc_disable(void);
+void vl2cc_cleanup(void);
+
+#endif
diff --git a/include/linux/mxcfb.h b/include/linux/mxcfb.h
new file mode 100644 (file)
index 0000000..67db5ee
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2004-2013 Freescale Semiconductor, Inc. All Rights Reserved.
+ */
+
+/*
+ * The code contained herein is licensed under the GNU Lesser General
+ * Public License.  You may obtain a copy of the GNU Lesser General
+ * Public License Version 2.1 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/lgpl-license.html
+ * http://www.gnu.org/copyleft/lgpl.html
+ */
+
+/*
+ * @file linux/mxcfb.h
+ *
+ * @brief Global header file for the MXC Frame buffer
+ *
+ * @ingroup Framebuffer
+ */
+#ifndef __LINUX_MXCFB_H__
+#define __LINUX_MXCFB_H__
+
+#include <uapi/linux/mxcfb.h>
+
+extern struct fb_videomode mxcfb_modedb[];
+extern int mxcfb_modedb_sz;
+
+enum {
+       MXC_DISP_SPEC_DEV = 0,
+       MXC_DISP_DDC_DEV = 1,
+};
+
+enum {
+       MXCFB_REFRESH_OFF,
+       MXCFB_REFRESH_AUTO,
+       MXCFB_REFRESH_PARTIAL,
+};
+
+int mxcfb_set_refresh_mode(struct fb_info *fbi, int mode,
+                          struct mxcfb_rect *update_region);
+int mxc_elcdif_frame_addr_setup(dma_addr_t phys);
+void mxcfb_elcdif_register_mode(const struct fb_videomode *modedb,
+               int num_modes, int dev_mode);
+
+#endif
index bcbc6c3c14c0da82547b861e7108ccee41351f71..0eff734f88c49302b789fc811093a105b85f8e7b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2004-2009 Freescale Semiconductor, Inc. All Rights Reserved.
+ * Copyright 2004-2013 Freescale Semiconductor, Inc. All Rights Reserved.
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
@@ -59,6 +59,11 @@ static inline int imx_dma_is_ipu(struct dma_chan *chan)
        return !strcmp(dev_name(chan->device->dev), "ipu-core");
 }
 
+static inline int imx_dma_is_pxp(struct dma_chan *chan)
+{
+       return strstr(dev_name(chan->device->dev), "pxp") != NULL;
+}
+
 static inline int imx_dma_is_general_purpose(struct dma_chan *chan)
 {
        return !strcmp(chan->device->dev->driver->name, "imx-sdma") ||
diff --git a/include/linux/pxp_device.h b/include/linux/pxp_device.h
new file mode 100644 (file)
index 0000000..df185c4
--- /dev/null
@@ -0,0 +1,68 @@
+/*
+ * Copyright (C) 2013-2014 Freescale Semiconductor, Inc. All Rights Reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ *
+ */
+#ifndef _PXP_DEVICE
+#define _PXP_DEVICE
+
+#include <linux/idr.h>
+#include <linux/hash.h>
+#include <uapi/linux/pxp_device.h>
+
+struct pxp_irq_info {
+       wait_queue_head_t waitq;
+       atomic_t irq_pending;
+       int hist_status;
+};
+
+struct pxp_buffer_hash {
+       struct hlist_head *hash_table;
+       u32 order;
+       spinlock_t hash_lock;
+};
+
+struct pxp_buf_obj {
+       uint32_t handle;
+
+       uint32_t size;
+       uint32_t mem_type;
+
+       unsigned long offset;
+       void *virtual;
+
+       struct hlist_node item;
+};
+
+struct pxp_chan_obj {
+       uint32_t handle;
+       struct dma_chan *chan;
+};
+
+/* File private data */
+struct pxp_file {
+       struct file *filp;
+
+       /* record allocated dma buffer */
+       struct idr buffer_idr;
+       spinlock_t buffer_lock;
+
+       /* record allocated dma channel */
+       struct idr channel_idr;
+       spinlock_t channel_lock;
+};
+
+#endif
diff --git a/include/linux/pxp_dma.h b/include/linux/pxp_dma.h
new file mode 100644 (file)
index 0000000..0961753
--- /dev/null
@@ -0,0 +1,72 @@
+/*
+ * Copyright (C) 2010-2013 Freescale Semiconductor, Inc. All Rights Reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ *
+ */
+#ifndef _PXP_DMA
+#define _PXP_DMA
+
+#include <uapi/linux/pxp_dma.h>
+
+struct pxp_tx_desc {
+       struct dma_async_tx_descriptor txd;
+       struct list_head tx_list;
+       struct list_head list;
+       int len;
+       union {
+               struct pxp_layer_param s0_param;
+               struct pxp_layer_param out_param;
+               struct pxp_layer_param ol_param;
+       } layer_param;
+       struct pxp_proc_data proc_data;
+
+       u32 hist_status;        /* Histogram output status */
+
+       struct pxp_tx_desc *next;
+};
+
+struct pxp_channel {
+       struct dma_chan dma_chan;
+       dma_cookie_t completed; /* last completed cookie */
+       enum pxp_channel_status status;
+       void *client;           /* Only one client per channel */
+       unsigned int n_tx_desc;
+       struct pxp_tx_desc *desc;       /* allocated tx-descriptors */
+       struct list_head queue; /* queued tx-descriptors */
+       struct list_head list;  /* track queued channel number */
+       spinlock_t lock;        /* protects sg[0,1], queue,
+                                * status, cookie, free_list
+                                */
+       int active_buffer;
+       unsigned int eof_irq;
+       char eof_name[16];      /* EOF IRQ name for request_irq()  */
+};
+
+#define to_tx_desc(tx) container_of(tx, struct pxp_tx_desc, txd)
+#define to_pxp_channel(d) container_of(d, struct pxp_channel, dma_chan)
+
+void pxp_txd_ack(struct dma_async_tx_descriptor *txd,
+                struct pxp_channel *pxp_chan);
+
+#ifdef CONFIG_MXC_PXP_CLIENT_DEVICE
+int register_pxp_device(void);
+void unregister_pxp_device(void);
+#else
+int register_pxp_device(void) { return 0; }
+void unregister_pxp_device(void) {}
+#endif
+
+#endif
index 14ec18d5e18b80e5adc47f0842b625e57c6918f7..48ab02c773729e628ac3dda88aa29bac5b3a5c0d 100644 (file)
@@ -2,6 +2,7 @@
  * consumer.h -- SoC Regulator consumer support.
  *
  * Copyright (C) 2007, 2008 Wolfson Microelectronics PLC.
+ * Copyright (C) 2013 Freescale Semiconductor, Inc.
  *
  * Author: Liam Girdwood <lrg@slimlogic.co.uk>
  *
@@ -105,6 +106,8 @@ struct notifier_block;
 #define REGULATOR_EVENT_FORCE_DISABLE          0x20
 #define REGULATOR_EVENT_VOLTAGE_CHANGE         0x40
 #define REGULATOR_EVENT_DISABLE                0x80
+#define REGULATOR_EVENT_PRE_DISABLE            0x100
+#define REGULATOR_EVENT_ENABLE                 0x200
 
 struct regulator;
 
index bbe779f640bed0c91869d527b67d9d797b8441b7..b9af938d65b02344748b2e35481f6b2d2862e123 100644 (file)
@@ -43,4 +43,6 @@ struct platform_device *ci_hdrc_add_device(struct device *dev,
 /* Remove ci hdrc device */
 void ci_hdrc_remove_device(struct platform_device *pdev);
 
+/* Get current available role */
+enum usb_dr_mode ci_hdrc_query_available_role(struct platform_device *pdev);
 #endif
index 353053a33f21e11af2e11a52fdebf535cfaeaab4..df1ef355c4859437ef36d5d77ac7d7aed18d9e01 100644 (file)
@@ -123,6 +123,11 @@ struct usb_phy {
                        enum usb_device_speed speed);
        int     (*notify_disconnect)(struct usb_phy *x,
                        enum usb_device_speed speed);
+       int     (*notify_suspend)(struct usb_phy *x,
+                       enum usb_device_speed speed);
+       int     (*notify_resume)(struct usb_phy *x,
+                       enum usb_device_speed speed);
+
 };
 
 /**
@@ -298,6 +303,24 @@ usb_phy_notify_disconnect(struct usb_phy *x, enum usb_device_speed speed)
                return 0;
 }
 
+static inline int usb_phy_notify_suspend
+       (struct usb_phy *x, enum usb_device_speed speed)
+{
+       if (x && x->notify_suspend)
+               return x->notify_suspend(x, speed);
+       else
+               return 0;
+}
+
+static inline int usb_phy_notify_resume
+       (struct usb_phy *x, enum usb_device_speed speed)
+{
+       if (x && x->notify_resume)
+               return x->notify_resume(x, speed);
+       else
+               return 0;
+}
+
 /* notifiers */
 static inline int
 usb_register_notifier(struct usb_phy *x, struct notifier_block *nb)
index 24e9033f8b3f9f10fde3467b9122d59c9621edcd..3d2682936d06fb7d07ebaf8149c5780abf75423b 100644 (file)
@@ -227,6 +227,7 @@ ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/uapi/asm/kvm_para.h \
 header-y += kvm_para.h
 endif
 
+header-y += ipu.h
 header-y += l2tp.h
 header-y += libc-compat.h
 header-y += limits.h
@@ -320,6 +321,8 @@ header-y += prctl.h
 header-y += psci.h
 header-y += ptp_clock.h
 header-y += ptrace.h
+header-y += pxp_dma.h
+header-y += pxp_device.h
 header-y += qnx4_fs.h
 header-y += qnxtypes.h
 header-y += quota.h
diff --git a/include/uapi/linux/ipu.h b/include/uapi/linux/ipu.h
new file mode 100644 (file)
index 0000000..b208328
--- /dev/null
@@ -0,0 +1,282 @@
+/*
+ * Copyright (C) 2013 Freescale Semiconductor, Inc. All Rights Reserved
+ */
+
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+/*!
+ * @defgroup IPU MXC Image Processing Unit (IPU) Driver
+ */
+/*!
+ * @file uapi/linux/ipu.h
+ *
+ * @brief This file contains the IPU driver API declarations.
+ *
+ * @ingroup IPU
+ */
+
+#ifndef __ASM_ARCH_IPU_H__
+#define __ASM_ARCH_IPU_H__
+
+#include <linux/types.h>
+#include <linux/videodev2.h>
+
+#ifndef __KERNEL__
+#ifndef __cplusplus
+typedef unsigned char bool;
+#endif
+#define irqreturn_t int
+#define dma_addr_t int
+#define uint32_t unsigned int
+#define uint16_t unsigned short
+#define uint8_t unsigned char
+#define u32 unsigned int
+#define u8 unsigned char
+#define __u32 u32
+#endif
+
+/*!
+ * Enumeration of IPU rotation modes
+ */
+typedef enum {
+       /* Note the enum values correspond to BAM value */
+       IPU_ROTATE_NONE = 0,
+       IPU_ROTATE_VERT_FLIP = 1,
+       IPU_ROTATE_HORIZ_FLIP = 2,
+       IPU_ROTATE_180 = 3,
+       IPU_ROTATE_90_RIGHT = 4,
+       IPU_ROTATE_90_RIGHT_VFLIP = 5,
+       IPU_ROTATE_90_RIGHT_HFLIP = 6,
+       IPU_ROTATE_90_LEFT = 7,
+} ipu_rotate_mode_t;
+
+/*!
+ * Enumeration of VDI MOTION select
+ */
+typedef enum {
+       MED_MOTION = 0,
+       LOW_MOTION = 1,
+       HIGH_MOTION = 2,
+} ipu_motion_sel;
+
+/*!
+ * Enumeration of DI ports for ADC.
+ */
+typedef enum {
+       DISP0,
+       DISP1,
+       DISP2,
+       DISP3
+} display_port_t;
+
+/*  IPU Pixel format definitions */
+/*  Four-character-code (FOURCC) */
+#define fourcc(a, b, c, d)\
+        (((__u32)(a)<<0)|((__u32)(b)<<8)|((__u32)(c)<<16)|((__u32)(d)<<24))
+
+/*!
+ * @name IPU Pixel Formats
+ *
+ * Pixel formats are defined with ASCII FOURCC code. The pixel format codes are
+ * the same used by V4L2 API.
+ */
+
+/*! @{ */
+/*! @name Generic or Raw Data Formats */
+/*! @{ */
+#define IPU_PIX_FMT_GENERIC fourcc('I', 'P', 'U', '0') /*!< IPU Generic Data */
+#define IPU_PIX_FMT_GENERIC_32 fourcc('I', 'P', 'U', '1')      /*!< IPU Generic Data */
+#define IPU_PIX_FMT_GENERIC_16 fourcc('I', 'P', 'U', '2')      /*!< IPU Generic Data */
+#define IPU_PIX_FMT_LVDS666 fourcc('L', 'V', 'D', '6') /*!< IPU Generic Data */
+#define IPU_PIX_FMT_LVDS888 fourcc('L', 'V', 'D', '8') /*!< IPU Generic Data */
+/*! @} */
+/*! @name RGB Formats */
+/*! @{ */
+#define IPU_PIX_FMT_RGB332  fourcc('R', 'G', 'B', '1') /*!<  8  RGB-3-3-2    */
+#define IPU_PIX_FMT_RGB555  fourcc('R', 'G', 'B', 'O') /*!< 16  RGB-5-5-5    */
+#define IPU_PIX_FMT_RGB565  fourcc('R', 'G', 'B', 'P') /*!< 1 6  RGB-5-6-5   */
+#define IPU_PIX_FMT_RGB666  fourcc('R', 'G', 'B', '6') /*!< 18  RGB-6-6-6    */
+#define IPU_PIX_FMT_BGR666  fourcc('B', 'G', 'R', '6') /*!< 18  BGR-6-6-6    */
+#define IPU_PIX_FMT_BGR24   fourcc('B', 'G', 'R', '3') /*!< 24  BGR-8-8-8    */
+#define IPU_PIX_FMT_RGB24   fourcc('R', 'G', 'B', '3') /*!< 24  RGB-8-8-8    */
+#define IPU_PIX_FMT_GBR24   fourcc('G', 'B', 'R', '3') /*!< 24  GBR-8-8-8    */
+#define IPU_PIX_FMT_BGR32   fourcc('B', 'G', 'R', '4') /*!< 32  BGR-8-8-8-8  */
+#define IPU_PIX_FMT_BGRA32  fourcc('B', 'G', 'R', 'A') /*!< 32  BGR-8-8-8-8  */
+#define IPU_PIX_FMT_RGB32   fourcc('R', 'G', 'B', '4') /*!< 32  RGB-8-8-8-8  */
+#define IPU_PIX_FMT_RGBA32  fourcc('R', 'G', 'B', 'A') /*!< 32  RGB-8-8-8-8  */
+#define IPU_PIX_FMT_ABGR32  fourcc('A', 'B', 'G', 'R') /*!< 32  ABGR-8-8-8-8 */
+/*! @} */
+/*! @name YUV Interleaved Formats */
+/*! @{ */
+#define IPU_PIX_FMT_YUYV    fourcc('Y', 'U', 'Y', 'V') /*!< 16 YUV 4:2:2 */
+#define IPU_PIX_FMT_UYVY    fourcc('U', 'Y', 'V', 'Y') /*!< 16 YUV 4:2:2 */
+#define IPU_PIX_FMT_YVYU    fourcc('Y', 'V', 'Y', 'U')  /*!< 16 YVYU 4:2:2 */
+#define IPU_PIX_FMT_VYUY    fourcc('V', 'Y', 'U', 'Y')  /*!< 16 VYYU 4:2:2 */
+#define IPU_PIX_FMT_Y41P    fourcc('Y', '4', '1', 'P') /*!< 12 YUV 4:1:1 */
+#define IPU_PIX_FMT_YUV444  fourcc('Y', '4', '4', '4') /*!< 24 YUV 4:4:4 */
+#define IPU_PIX_FMT_VYU444  fourcc('V', '4', '4', '4') /*!< 24 VYU 4:4:4 */
+/* two planes -- one Y, one Cb + Cr interleaved  */
+#define IPU_PIX_FMT_NV12    fourcc('N', 'V', '1', '2') /* 12  Y/CbCr 4:2:0  */
+/* two planes -- 12  tiled Y/CbCr 4:2:0  */
+#define IPU_PIX_FMT_TILED_NV12    fourcc('T', 'N', 'V', 'P')
+#define IPU_PIX_FMT_TILED_NV12F   fourcc('T', 'N', 'V', 'F')
+
+/*! @} */
+/*! @name YUV Planar Formats */
+/*! @{ */
+#define IPU_PIX_FMT_GREY    fourcc('G', 'R', 'E', 'Y') /*!< 8  Greyscale */
+#define IPU_PIX_FMT_YVU410P fourcc('Y', 'V', 'U', '9') /*!< 9  YVU 4:1:0 */
+#define IPU_PIX_FMT_YUV410P fourcc('Y', 'U', 'V', '9') /*!< 9  YUV 4:1:0 */
+#define IPU_PIX_FMT_YVU420P fourcc('Y', 'V', '1', '2') /*!< 12 YVU 4:2:0 */
+#define IPU_PIX_FMT_YUV420P fourcc('I', '4', '2', '0') /*!< 12 YUV 4:2:0 */
+#define IPU_PIX_FMT_YUV420P2 fourcc('Y', 'U', '1', '2')        /*!< 12 YUV 4:2:0 */
+#define IPU_PIX_FMT_YVU422P fourcc('Y', 'V', '1', '6') /*!< 16 YVU 4:2:2 */
+#define IPU_PIX_FMT_YUV422P fourcc('4', '2', '2', 'P') /*!< 16 YUV 4:2:2 */
+/* non-interleaved 4:4:4 */
+#define IPU_PIX_FMT_YUV444P fourcc('4', '4', '4', 'P') /*!< 24 YUV 4:4:4 */
+/*! @} */
+#define IPU_PIX_FMT_TILED_NV12_MBALIGN (16)
+#define TILED_NV12_FRAME_SIZE(w, h)    \
+               (ALIGN((w) * (h), SZ_4K) + ALIGN((w) * (h) / 2, SZ_4K))
+/* IPU device */
+typedef enum {
+       RGB_CS,
+       YUV_CS,
+       NULL_CS
+} cs_t;
+
+struct ipu_pos {
+       u32 x;
+       u32 y;
+};
+
+struct ipu_crop {
+       struct ipu_pos pos;
+       u32 w;
+       u32 h;
+};
+
+struct ipu_deinterlace {
+       bool    enable;
+       u8      motion; /*see ipu_motion_sel*/
+#define IPU_DEINTERLACE_FIELD_TOP      0
+#define IPU_DEINTERLACE_FIELD_BOTTOM   1
+#define IPU_DEINTERLACE_FIELD_MASK     \
+               (IPU_DEINTERLACE_FIELD_TOP | IPU_DEINTERLACE_FIELD_BOTTOM)
+       /* deinterlace frame rate double flags */
+#define IPU_DEINTERLACE_RATE_EN                0x80
+#define IPU_DEINTERLACE_RATE_FRAME1    0x40
+#define IPU_DEINTERLACE_RATE_MASK      \
+               (IPU_DEINTERLACE_RATE_EN | IPU_DEINTERLACE_RATE_FRAME1)
+#define IPU_DEINTERLACE_MAX_FRAME      2
+       u8      field_fmt;
+};
+
+struct ipu_input {
+       u32 width;
+       u32 height;
+       u32 format;
+       struct ipu_crop crop;
+       dma_addr_t paddr;
+
+       struct ipu_deinterlace deinterlace;
+       dma_addr_t paddr_n; /*valid when deinterlace enable*/
+};
+
+struct ipu_alpha {
+#define IPU_ALPHA_MODE_GLOBAL  0
+#define IPU_ALPHA_MODE_LOCAL   1
+       u8 mode;
+       u8 gvalue; /* 0~255 */
+       dma_addr_t loc_alp_paddr;
+};
+
+struct ipu_colorkey {
+       bool enable;
+       u32 value; /* RGB 24bit */
+};
+
+struct ipu_overlay {
+       u32     width;
+       u32     height;
+       u32     format;
+       struct ipu_crop crop;
+       struct ipu_alpha alpha;
+       struct ipu_colorkey colorkey;
+       dma_addr_t paddr;
+};
+
+struct ipu_output {
+       u32     width;
+       u32     height;
+       u32     format;
+       u8      rotate;
+       struct ipu_crop crop;
+       dma_addr_t paddr;
+};
+
+struct ipu_task {
+       struct ipu_input input;
+       struct ipu_output output;
+
+       bool overlay_en;
+       struct ipu_overlay overlay;
+
+#define IPU_TASK_PRIORITY_NORMAL 0
+#define IPU_TASK_PRIORITY_HIGH 1
+       u8      priority;
+
+#define        IPU_TASK_ID_ANY 0
+#define        IPU_TASK_ID_VF  1
+#define        IPU_TASK_ID_PP  2
+#define        IPU_TASK_ID_MAX 3
+       u8      task_id;
+
+       int     timeout;
+};
+
+enum {
+       IPU_CHECK_OK = 0,
+       IPU_CHECK_WARN_INPUT_OFFS_NOT8ALIGN = 0x1,
+       IPU_CHECK_WARN_OUTPUT_OFFS_NOT8ALIGN = 0x2,
+       IPU_CHECK_WARN_OVERLAY_OFFS_NOT8ALIGN = 0x4,
+       IPU_CHECK_ERR_MIN,
+       IPU_CHECK_ERR_INPUT_CROP,
+       IPU_CHECK_ERR_OUTPUT_CROP,
+       IPU_CHECK_ERR_OVERLAY_CROP,
+       IPU_CHECK_ERR_INPUT_OVER_LIMIT,
+       IPU_CHECK_ERR_OV_OUT_NO_FIT,
+       IPU_CHECK_ERR_OVERLAY_WITH_VDI,
+       IPU_CHECK_ERR_PROC_NO_NEED,
+       IPU_CHECK_ERR_SPLIT_INPUTW_OVER,
+       IPU_CHECK_ERR_SPLIT_INPUTH_OVER,
+       IPU_CHECK_ERR_SPLIT_OUTPUTW_OVER,
+       IPU_CHECK_ERR_SPLIT_OUTPUTH_OVER,
+       IPU_CHECK_ERR_SPLIT_WITH_ROT,
+       IPU_CHECK_ERR_NOT_SUPPORT,
+       IPU_CHECK_ERR_NOT16ALIGN,
+       IPU_CHECK_ERR_W_DOWNSIZE_OVER,
+       IPU_CHECK_ERR_H_DOWNSIZE_OVER,
+};
+
+/* IOCTL commands */
+#define IPU_CHECK_TASK         _IOWR('I', 0x1, struct ipu_task)
+#define IPU_QUEUE_TASK         _IOW('I', 0x2, struct ipu_task)
+#define IPU_ALLOC              _IOWR('I', 0x3, int)
+#define IPU_FREE               _IOW('I', 0x4, int)
+
+#endif
diff --git a/include/uapi/linux/mxc_asrc.h b/include/uapi/linux/mxc_asrc.h
new file mode 100644 (file)
index 0000000..b91a6f9
--- /dev/null
@@ -0,0 +1,143 @@
+/*
+ * Copyright 2008-2013 Freescale Semiconductor, Inc. All Rights Reserved.
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file mxc_asrc.h
+ *
+ * @brief i.MX Asynchronous Sample Rate Converter
+ *
+ * @ingroup Audio
+ */
+
+#ifndef __MXC_ASRC_UAPI_H__
+#define __MXC_ASRC_UAPI_H__
+
+#define ASRC_IOC_MAGIC         'C'
+
+#define ASRC_REQ_PAIR          _IOWR(ASRC_IOC_MAGIC, 0, struct asrc_req)
+#define ASRC_CONFIG_PAIR       _IOWR(ASRC_IOC_MAGIC, 1, struct asrc_config)
+#define ASRC_RELEASE_PAIR      _IOW(ASRC_IOC_MAGIC, 2, enum asrc_pair_index)
+#define ASRC_CONVERT           _IOW(ASRC_IOC_MAGIC, 3, struct asrc_convert_buffer)
+#define ASRC_START_CONV                _IOW(ASRC_IOC_MAGIC, 4, enum asrc_pair_index)
+#define ASRC_STOP_CONV         _IOW(ASRC_IOC_MAGIC, 5, enum asrc_pair_index)
+#define ASRC_STATUS            _IOW(ASRC_IOC_MAGIC, 6, struct asrc_status_flags)
+#define ASRC_FLUSH             _IOW(ASRC_IOC_MAGIC, 7, enum asrc_pair_index)
+
+enum asrc_pair_index {
+       ASRC_UNVALID_PAIR = -1,
+       ASRC_PAIR_A = 0,
+       ASRC_PAIR_B = 1,
+       ASRC_PAIR_C = 2,
+};
+
+#define ASRC_PAIR_MAX_NUM      (ASRC_PAIR_C + 1)
+
+enum asrc_inclk {
+       INCLK_NONE = 0x03,
+       INCLK_ESAI_RX = 0x00,
+       INCLK_SSI1_RX = 0x01,
+       INCLK_SSI2_RX = 0x02,
+       INCLK_SSI3_RX = 0x07,
+       INCLK_SPDIF_RX = 0x04,
+       INCLK_MLB_CLK = 0x05,
+       INCLK_PAD = 0x06,
+       INCLK_ESAI_TX = 0x08,
+       INCLK_SSI1_TX = 0x09,
+       INCLK_SSI2_TX = 0x0a,
+       INCLK_SSI3_TX = 0x0b,
+       INCLK_SPDIF_TX = 0x0c,
+       INCLK_ASRCK1_CLK = 0x0f,
+};
+
+enum asrc_outclk {
+       OUTCLK_NONE = 0x03,
+       OUTCLK_ESAI_TX = 0x00,
+       OUTCLK_SSI1_TX = 0x01,
+       OUTCLK_SSI2_TX = 0x02,
+       OUTCLK_SSI3_TX = 0x07,
+       OUTCLK_SPDIF_TX = 0x04,
+       OUTCLK_MLB_CLK = 0x05,
+       OUTCLK_PAD = 0x06,
+       OUTCLK_ESAI_RX = 0x08,
+       OUTCLK_SSI1_RX = 0x09,
+       OUTCLK_SSI2_RX = 0x0a,
+       OUTCLK_SSI3_RX = 0x0b,
+       OUTCLK_SPDIF_RX = 0x0c,
+       OUTCLK_ASRCK1_CLK = 0x0f,
+};
+
+enum asrc_word_width {
+       ASRC_WIDTH_24_BIT = 0,
+       ASRC_WIDTH_16_BIT = 1,
+       ASRC_WIDTH_8_BIT = 2,
+};
+
+struct asrc_config {
+       enum asrc_pair_index pair;
+       unsigned int channel_num;
+       unsigned int buffer_num;
+       unsigned int dma_buffer_size;
+       unsigned int input_sample_rate;
+       unsigned int output_sample_rate;
+       enum asrc_word_width input_word_width;
+       enum asrc_word_width output_word_width;
+       enum asrc_inclk inclk;
+       enum asrc_outclk outclk;
+};
+
+struct asrc_pair {
+       unsigned int start_channel;
+       unsigned int chn_num;
+       unsigned int chn_max;
+       unsigned int active;
+       unsigned int overload_error;
+};
+
+struct asrc_req {
+       unsigned int chn_num;
+       enum asrc_pair_index index;
+};
+
+struct asrc_querybuf {
+       unsigned int buffer_index;
+       unsigned int input_length;
+       unsigned int output_length;
+       unsigned long input_offset;
+       unsigned long output_offset;
+};
+
+struct asrc_convert_buffer {
+       void *input_buffer_vaddr;
+       void *output_buffer_vaddr;
+       unsigned int input_buffer_length;
+       unsigned int output_buffer_length;
+};
+
+struct asrc_buffer {
+       unsigned int index;
+       unsigned int length;
+       unsigned int output_last_length;
+       int buf_valid;
+};
+
+struct asrc_status_flags {
+       enum asrc_pair_index index;
+       unsigned int overload_error;
+};
+
+#define ASRC_BUF_NA    -35     /* ASRC DQ's buffer is NOT available */
+#define ASRC_BUF_AV     35     /* ASRC DQ's buffer is available */
+enum asrc_error_status {
+       ASRC_TASK_Q_OVERLOAD            = 0x01,
+       ASRC_OUTPUT_TASK_OVERLOAD       = 0x02,
+       ASRC_INPUT_TASK_OVERLOAD        = 0x04,
+       ASRC_OUTPUT_BUFFER_OVERFLOW     = 0x08,
+       ASRC_INPUT_BUFFER_UNDERRUN      = 0x10,
+};
+#endif/* __MXC_ASRC_UAPI_H__ */
diff --git a/include/uapi/linux/mxc_v4l2.h b/include/uapi/linux/mxc_v4l2.h
new file mode 100644 (file)
index 0000000..49345fe
--- /dev/null
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2013 Freescale Semiconductor, Inc. All Rights Reserved
+ */
+
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+/*!
+ * @file uapi/linux/mxc_v4l2.h
+ *
+ * @brief MXC V4L2 private header file
+ *
+ * @ingroup MXC V4L2
+ */
+
+#ifndef __ASM_ARCH_MXC_V4L2_H__
+#define __ASM_ARCH_MXC_V4L2_H__
+
+/*
+ * For IPUv1 and IPUv3, V4L2_CID_MXC_ROT means encoder ioctl ID.
+ * And V4L2_CID_MXC_VF_ROT is viewfinder ioctl ID only for IPUv1 and IPUv3.
+ */
+#define V4L2_CID_MXC_ROT               (V4L2_CID_PRIVATE_BASE + 0)
+#define V4L2_CID_MXC_FLASH             (V4L2_CID_PRIVATE_BASE + 1)
+#define V4L2_CID_MXC_VF_ROT            (V4L2_CID_PRIVATE_BASE + 2)
+#define V4L2_CID_MXC_MOTION            (V4L2_CID_PRIVATE_BASE + 3)
+#define V4L2_CID_MXC_SWITCH_CAM                (V4L2_CID_PRIVATE_BASE + 6)
+
+#define V4L2_MXC_ROTATE_NONE                   0
+#define V4L2_MXC_ROTATE_VERT_FLIP              1
+#define V4L2_MXC_ROTATE_HORIZ_FLIP             2
+#define V4L2_MXC_ROTATE_180                    3
+#define V4L2_MXC_ROTATE_90_RIGHT               4
+#define V4L2_MXC_ROTATE_90_RIGHT_VFLIP         5
+#define V4L2_MXC_ROTATE_90_RIGHT_HFLIP         6
+#define V4L2_MXC_ROTATE_90_LEFT                        7
+
+struct v4l2_mxc_offset {
+       uint32_t u_offset;
+       uint32_t v_offset;
+};
+
+#endif
diff --git a/include/uapi/linux/mxcfb.h b/include/uapi/linux/mxcfb.h
new file mode 100644 (file)
index 0000000..6726961
--- /dev/null
@@ -0,0 +1,174 @@
+/*
+ * Copyright (C) 2013 Freescale Semiconductor, Inc. All Rights Reserved
+ */
+
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+/*
+ * @file uapi/linux/mxcfb.h
+ *
+ * @brief Global header file for the MXC frame buffer
+ *
+ * @ingroup Framebuffer
+ */
+#ifndef __ASM_ARCH_MXCFB_H__
+#define __ASM_ARCH_MXCFB_H__
+
+#include <linux/fb.h>
+
+#define FB_SYNC_OE_LOW_ACT     0x80000000
+#define FB_SYNC_CLK_LAT_FALL   0x40000000
+#define FB_SYNC_DATA_INVERT    0x20000000
+#define FB_SYNC_CLK_IDLE_EN    0x10000000
+#define FB_SYNC_SHARP_MODE     0x08000000
+#define FB_SYNC_SWAP_RGB       0x04000000
+#define FB_ACCEL_TRIPLE_FLAG   0x00000000
+#define FB_ACCEL_DOUBLE_FLAG   0x00000001
+
+struct mxcfb_gbl_alpha {
+       int enable;
+       int alpha;
+};
+
+struct mxcfb_loc_alpha {
+       int enable;
+       int alpha_in_pixel;
+       unsigned long alpha_phy_addr0;
+       unsigned long alpha_phy_addr1;
+};
+
+struct mxcfb_color_key {
+       int enable;
+       __u32 color_key;
+};
+
+struct mxcfb_pos {
+       __u16 x;
+       __u16 y;
+};
+
+struct mxcfb_gamma {
+       int enable;
+       int constk[16];
+       int slopek[16];
+};
+
+struct mxcfb_rect {
+       __u32 top;
+       __u32 left;
+       __u32 width;
+       __u32 height;
+};
+
+#define GRAYSCALE_8BIT                         0x1
+#define GRAYSCALE_8BIT_INVERTED                        0x2
+#define GRAYSCALE_4BIT                          0x3
+#define GRAYSCALE_4BIT_INVERTED                 0x4
+
+#define AUTO_UPDATE_MODE_REGION_MODE           0
+#define AUTO_UPDATE_MODE_AUTOMATIC_MODE                1
+
+#define UPDATE_SCHEME_SNAPSHOT                 0
+#define UPDATE_SCHEME_QUEUE                    1
+#define UPDATE_SCHEME_QUEUE_AND_MERGE          2
+
+#define UPDATE_MODE_PARTIAL                    0x0
+#define UPDATE_MODE_FULL                       0x1
+
+#define WAVEFORM_MODE_AUTO                     257
+
+#define TEMP_USE_AMBIENT                       0x1000
+
+#define EPDC_FLAG_ENABLE_INVERSION             0x01
+#define EPDC_FLAG_FORCE_MONOCHROME             0x02
+#define EPDC_FLAG_USE_CMAP                     0x04
+#define EPDC_FLAG_USE_ALT_BUFFER               0x100
+#define EPDC_FLAG_TEST_COLLISION               0x200
+#define EPDC_FLAG_GROUP_UPDATE                 0x400
+#define EPDC_FLAG_USE_DITHERING_Y1             0x2000
+#define EPDC_FLAG_USE_DITHERING_Y4             0x4000
+
+#define FB_POWERDOWN_DISABLE                   -1
+
+struct mxcfb_alt_buffer_data {
+       __u32 phys_addr;
+       __u32 width;    /* width of entire buffer */
+       __u32 height;   /* height of entire buffer */
+       struct mxcfb_rect alt_update_region;    /* region within buffer to update */
+};
+
+struct mxcfb_update_data {
+       struct mxcfb_rect update_region;
+       __u32 waveform_mode;
+       __u32 update_mode;
+       __u32 update_marker;
+       int temp;
+       unsigned int flags;
+       struct mxcfb_alt_buffer_data alt_buffer_data;
+};
+
+struct mxcfb_update_marker_data {
+       __u32 update_marker;
+       __u32 collision_test;
+};
+
+/*
+ * Structure used to define waveform modes for driver
+ * Needed for driver to perform auto-waveform selection
+ */
+struct mxcfb_waveform_modes {
+       int mode_init;
+       int mode_du;
+       int mode_gc4;
+       int mode_gc8;
+       int mode_gc16;
+       int mode_gc32;
+};
+
+/*
+ * Structure used to define a 5*3 matrix of parameters for
+ * setting IPU DP CSC module related to this framebuffer.
+ */
+struct mxcfb_csc_matrix {
+       int param[5][3];
+};
+
+#define MXCFB_WAIT_FOR_VSYNC   _IOW('F', 0x20, u_int32_t)
+#define MXCFB_SET_GBL_ALPHA     _IOW('F', 0x21, struct mxcfb_gbl_alpha)
+#define MXCFB_SET_CLR_KEY       _IOW('F', 0x22, struct mxcfb_color_key)
+#define MXCFB_SET_OVERLAY_POS   _IOWR('F', 0x24, struct mxcfb_pos)
+#define MXCFB_GET_FB_IPU_CHAN  _IOR('F', 0x25, u_int32_t)
+#define MXCFB_SET_LOC_ALPHA     _IOWR('F', 0x26, struct mxcfb_loc_alpha)
+#define MXCFB_SET_LOC_ALP_BUF    _IOW('F', 0x27, unsigned long)
+#define MXCFB_SET_GAMMA               _IOW('F', 0x28, struct mxcfb_gamma)
+#define MXCFB_GET_FB_IPU_DI    _IOR('F', 0x29, u_int32_t)
+#define MXCFB_GET_DIFMT               _IOR('F', 0x2A, u_int32_t)
+#define MXCFB_GET_FB_BLANK     _IOR('F', 0x2B, u_int32_t)
+#define MXCFB_SET_DIFMT                _IOW('F', 0x2C, u_int32_t)
+#define MXCFB_CSC_UPDATE       _IOW('F', 0x2D, struct mxcfb_csc_matrix)
+
+/* IOCTLs for E-ink panel updates */
+#define MXCFB_SET_WAVEFORM_MODES       _IOW('F', 0x2B, struct mxcfb_waveform_modes)
+#define MXCFB_SET_TEMPERATURE          _IOW('F', 0x2C, int32_t)
+#define MXCFB_SET_AUTO_UPDATE_MODE     _IOW('F', 0x2D, __u32)
+#define MXCFB_SEND_UPDATE              _IOW('F', 0x2E, struct mxcfb_update_data)
+#define MXCFB_WAIT_FOR_UPDATE_COMPLETE _IOWR('F', 0x2F, struct mxcfb_update_marker_data)
+#define MXCFB_SET_PWRDOWN_DELAY                _IOW('F', 0x30, int32_t)
+#define MXCFB_GET_PWRDOWN_DELAY                _IOR('F', 0x31, int32_t)
+#define MXCFB_SET_UPDATE_SCHEME                _IOW('F', 0x32, __u32)
+#define MXCFB_GET_WORK_BUFFER          _IOWR('F', 0x34, unsigned long)
+#endif
diff --git a/include/uapi/linux/pxp_device.h b/include/uapi/linux/pxp_device.h
new file mode 100644 (file)
index 0000000..fce89ce
--- /dev/null
@@ -0,0 +1,63 @@
+/*
+ * Copyright (C) 2013-2014 Freescale Semiconductor, Inc. All Rights Reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ *
+ */
+#ifndef _UAPI_PXP_DEVICE
+#define _UAPI_PXP_DEVICE
+
+#include <linux/pxp_dma.h>
+
+struct pxp_chan_handle {
+       unsigned int handle;
+       int hist_status;
+};
+
+struct pxp_mem_desc {
+       unsigned int handle;
+       unsigned int size;
+       dma_addr_t phys_addr;
+       unsigned int virt_uaddr;                /* virtual user space address */
+       unsigned int mtype;
+};
+
+struct pxp_mem_flush {
+       unsigned int handle;
+       unsigned int type;
+};
+
+#define PXP_IOC_MAGIC  'P'
+
+#define PXP_IOC_GET_CHAN      _IOR(PXP_IOC_MAGIC, 0, struct pxp_mem_desc)
+#define PXP_IOC_PUT_CHAN      _IOW(PXP_IOC_MAGIC, 1, struct pxp_mem_desc)
+#define PXP_IOC_CONFIG_CHAN   _IOW(PXP_IOC_MAGIC, 2, struct pxp_mem_desc)
+#define PXP_IOC_START_CHAN    _IOW(PXP_IOC_MAGIC, 3, struct pxp_mem_desc)
+#define PXP_IOC_GET_PHYMEM    _IOWR(PXP_IOC_MAGIC, 4, struct pxp_mem_desc)
+#define PXP_IOC_PUT_PHYMEM    _IOW(PXP_IOC_MAGIC, 5, struct pxp_mem_desc)
+#define PXP_IOC_WAIT4CMPLT    _IOWR(PXP_IOC_MAGIC, 6, struct pxp_mem_desc)
+#define PXP_IOC_FLUSH_PHYMEM   _IOR(PXP_IOC_MAGIC, 7, struct pxp_mem_flush)
+
+/* Memory types supported*/
+#define MEMORY_TYPE_UNCACHED 0x0
+#define MEMORY_TYPE_WC      0x1
+#define MEMORY_TYPE_CACHED   0x2
+
+/* Cache flush operations */
+#define CACHE_CLEAN      0x1
+#define CACHE_INVALIDATE 0x2
+#define CACHE_FLUSH      0x4
+
+#endif
diff --git a/include/uapi/linux/pxp_dma.h b/include/uapi/linux/pxp_dma.h
new file mode 100644 (file)
index 0000000..1e462f4
--- /dev/null
@@ -0,0 +1,173 @@
+/*
+ * Copyright (C) 2013-2014 Freescale Semiconductor, Inc. All Rights Reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ *
+ */
+#ifndef _UAPI_PXP_DMA
+#define _UAPI_PXP_DMA
+
+#include <linux/posix_types.h>
+#include <linux/types.h>
+
+#ifndef __KERNEL__
+typedef unsigned long dma_addr_t;
+typedef unsigned char bool;
+#endif
+
+/*  PXP Pixel format definitions */
+/*  Four-character-code (FOURCC) */
+#define fourcc(a, b, c, d)\
+       (((__u32)(a)<<0)|((__u32)(b)<<8)|((__u32)(c)<<16)|((__u32)(d)<<24))
+
+/*!
+ * @name PXP Pixel Formats
+ *
+ * Pixel formats are defined with ASCII FOURCC code. The pixel format codes are
+ * the same used by V4L2 API.
+ */
+
+/*! @} */
+/*! @name RGB Formats */
+/*! @{ */
+#define PXP_PIX_FMT_RGB332  fourcc('R', 'G', 'B', '1') /*!<  8  RGB-3-3-2    */
+#define PXP_PIX_FMT_RGB555  fourcc('R', 'G', 'B', 'O') /*!< 16  RGB-5-5-5    */
+#define PXP_PIX_FMT_RGB565  fourcc('R', 'G', 'B', 'P') /*!< 1 6  RGB-5-6-5   */
+#define PXP_PIX_FMT_RGB666  fourcc('R', 'G', 'B', '6') /*!< 18  RGB-6-6-6    */
+#define PXP_PIX_FMT_BGR666  fourcc('B', 'G', 'R', '6') /*!< 18  BGR-6-6-6    */
+#define PXP_PIX_FMT_BGR24   fourcc('B', 'G', 'R', '3') /*!< 24  BGR-8-8-8    */
+#define PXP_PIX_FMT_RGB24   fourcc('R', 'G', 'B', '3') /*!< 24  RGB-8-8-8    */
+#define PXP_PIX_FMT_BGR32   fourcc('B', 'G', 'R', '4') /*!< 32  BGR-8-8-8-8  */
+#define PXP_PIX_FMT_BGRA32  fourcc('B', 'G', 'R', 'A') /*!< 32  BGR-8-8-8-8  */
+#define PXP_PIX_FMT_RGB32   fourcc('R', 'G', 'B', '4') /*!< 32  RGB-8-8-8-8  */
+#define PXP_PIX_FMT_RGBA32  fourcc('R', 'G', 'B', 'A') /*!< 32  RGB-8-8-8-8  */
+#define PXP_PIX_FMT_ABGR32  fourcc('A', 'B', 'G', 'R') /*!< 32  ABGR-8-8-8-8 */
+/*! @} */
+/*! @name YUV Interleaved Formats */
+/*! @{ */
+#define PXP_PIX_FMT_YUYV    fourcc('Y', 'U', 'Y', 'V') /*!< 16 YUV 4:2:2 */
+#define PXP_PIX_FMT_UYVY    fourcc('U', 'Y', 'V', 'Y') /*!< 16 YUV 4:2:2 */
+#define PXP_PIX_FMT_VYUY    fourcc('V', 'Y', 'U', 'Y')  /*!< 16 YVU 4:2:2 */
+#define PXP_PIX_FMT_YVYU    fourcc('Y', 'V', 'Y', 'U')  /*!< 16 YVU 4:2:2 */
+#define PXP_PIX_FMT_Y41P    fourcc('Y', '4', '1', 'P') /*!< 12 YUV 4:1:1 */
+#define PXP_PIX_FMT_YUV444  fourcc('Y', '4', '4', '4') /*!< 24 YUV 4:4:4 */
+/* two planes -- one Y, one Cb + Cr interleaved  */
+#define PXP_PIX_FMT_NV12    fourcc('N', 'V', '1', '2') /* 12  Y/CbCr 4:2:0  */
+#define PXP_PIX_FMT_NV21    fourcc('N', 'V', '2', '1') /* 12  Y/CbCr 4:2:0  */
+#define PXP_PIX_FMT_NV16    fourcc('N', 'V', '1', '6') /* 12  Y/CbCr 4:2:2  */
+#define PXP_PIX_FMT_NV61    fourcc('N', 'V', '6', '1') /* 12  Y/CbCr 4:2:2  */
+/*! @} */
+/*! @name YUV Planar Formats */
+/*! @{ */
+#define PXP_PIX_FMT_GREY    fourcc('G', 'R', 'E', 'Y') /*!< 8  Greyscale */
+#define PXP_PIX_FMT_GY04    fourcc('G', 'Y', '0', '4') /*!< 4  Greyscale */
+#define PXP_PIX_FMT_YVU410P fourcc('Y', 'V', 'U', '9') /*!< 9  YVU 4:1:0 */
+#define PXP_PIX_FMT_YUV410P fourcc('Y', 'U', 'V', '9') /*!< 9  YUV 4:1:0 */
+#define PXP_PIX_FMT_YVU420P fourcc('Y', 'V', '1', '2') /*!< 12 YVU 4:2:0 */
+#define PXP_PIX_FMT_YUV420P fourcc('I', '4', '2', '0') /*!< 12 YUV 4:2:0 */
+#define PXP_PIX_FMT_YUV420P2 fourcc('Y', 'U', '1', '2')        /*!< 12 YUV 4:2:0 */
+#define PXP_PIX_FMT_YVU422P fourcc('Y', 'V', '1', '6') /*!< 16 YVU 4:2:2 */
+#define PXP_PIX_FMT_YUV422P fourcc('4', '2', '2', 'P') /*!< 16 YUV 4:2:2 */
+/*! @} */
+
+#define PXP_LUT_NONE                   0x0
+#define PXP_LUT_INVERT                 0x1
+#define PXP_LUT_BLACK_WHITE            0x2
+#define PXP_LUT_USE_CMAP               0x4
+
+#define NR_PXP_VIRT_CHANNEL    16
+
+/* Order significant! */
+enum pxp_channel_status {
+       PXP_CHANNEL_FREE,
+       PXP_CHANNEL_INITIALIZED,
+       PXP_CHANNEL_READY,
+};
+
+struct rect {
+       int top;                /* Upper left coordinate of rectangle */
+       int left;
+       int width;
+       int height;
+};
+
+struct pxp_layer_param {
+       unsigned short width;
+       unsigned short height;
+       unsigned short stride; /* aka pitch */
+       unsigned int pixel_fmt;
+
+       /* layers combining parameters
+        * (these are ignored for S0 and output
+        * layers, and only apply for OL layer)
+        */
+       bool combine_enable;
+       unsigned int color_key_enable;
+       unsigned int color_key;
+       bool global_alpha_enable;
+       /* global alpha is either override or multiply */
+       bool global_override;
+       unsigned char global_alpha;
+       bool alpha_invert;
+       bool local_alpha_enable;
+
+       dma_addr_t paddr;
+};
+
+struct pxp_proc_data {
+       /* S0 Transformation Info */
+       int scaling;
+       int hflip;
+       int vflip;
+       int rotate;
+       int rot_pos;
+       int yuv;
+
+       /* Source rectangle (srect) defines the sub-rectangle
+        * within S0 to undergo processing.
+        */
+       struct rect srect;
+       /* Dest rect (drect) defines how to position the processed
+        * source rectangle (after resizing) within the output frame,
+        * whose dimensions are defined in pxp->pxp_conf_state.out_param
+        */
+       struct rect drect;
+
+       /* Current S0 configuration */
+       unsigned int bgcolor;
+
+       /* Output overlay support */
+       int overlay_state;
+
+       /* LUT transformation on Y data */
+       int lut_transform;
+       unsigned char *lut_map; /* 256 entries */
+       bool lut_map_updated; /* Map recently changed */
+       bool combine_enable;
+};
+
+struct pxp_config_data {
+       struct pxp_layer_param s0_param;
+       struct pxp_layer_param ol_param[8];
+       struct pxp_layer_param out_param;
+       struct pxp_proc_data proc_data;
+       int layer_nr;
+
+       /* Users don't touch */
+       int handle;
+};
+
+
+#endif
index ca2fda9d72be57ca614b1c5ce877eb24dc54f05d..f8e707c924c70afbfde6d089671893348b1d8834 100644 (file)
@@ -2947,7 +2947,8 @@ static int wm8962_mute(struct snd_soc_dai *dai, int mute)
                                   WM8962_DAC_MUTE, val);
 }
 
-#define WM8962_RATES SNDRV_PCM_RATE_8000_96000
+#define WM8962_RATES (SNDRV_PCM_RATE_8000_48000 |\
+                       SNDRV_PCM_RATE_88200 | SNDRV_PCM_RATE_96000)
 
 #define WM8962_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE |\
                        SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S32_LE)